ZGlmZiAtLWdpdCBhLy5naXRpZ25vcmUgYi8uZ2l0aWdub3JlCmluZGV4IDdkZmM1YWQuLjhlZmNkMmUgMTAwNjQ0Ci0tLSBhLy5naXRpZ25vcmUKKysrIGIvLmdpdGlnbm9yZQpAQCAtMTIsNiArMTIsNyBAQAogRG9jL3Rvb2xzL3B5Z21lbnRzLwogRG9jL3Rvb2xzL3NwaGlueC8KIExpYi9saWIydG8zLyoucGlja2xlCitMaWIvX3N5c2NvbmZpZ2RhdGEucHkKIE1ha2VmaWxlCiBNYWtlZmlsZS5wcmUKIE1pc2MvcHl0aG9uLnBjCmRpZmYgLS1naXQgYS8uaGdlb2wgYi8uaGdlb2wKaW5kZXggZWQxMzE3MS4uYWZiMWU2YiAxMDA2NDQKLS0tIGEvLmhnZW9sCisrKyBiLy5oZ2VvbApAQCAtMjgsOCArMjgsOSBAQAogCiBMaWIvZW1haWwvdGVzdC9kYXRhL21zZ18yNi50eHQgPSBCSU4KIExpYi90ZXN0L2Nqa2VuY29kaW5ncy8qID0gQklOCi1MaWIvdGVzdC9zbmRoZHJkYXRhL3NuZGhkci4qID0gQklOCiBMaWIvdGVzdC9kZWNpbWFsdGVzdGRhdGEvKi5kZWNUZXN0ID0gQklOCitMaWIvdGVzdC9zbmRoZHJkYXRhL3NuZGhkci4qID0gQklOCitMaWIvdGVzdC90ZXN0X2VtYWlsL2RhdGEvbXNnXzI2LnR4dCA9IEJJTgogCiAjIEFsbCBvdGhlciBmaWxlcyAod2hpY2ggcHJlc3VtYWJseSBhcmUgaHVtYW4tZWRpdGFibGUpIGFyZSAibmF0aXZlIi4KICMgVGhpcyBtdXN0IGJlIHRoZSBsYXN0IHJ1bGUhCmRpZmYgLS1naXQgYS8uaGdpZ25vcmUgYi8uaGdpZ25vcmUKaW5kZXggMjRkZjNiOS4uMGZkODU2MiAxMDA2NDQKLS0tIGEvLmhnaWdub3JlCisrKyBiLy5oZ2lnbm9yZQpAQCAtNSw3ICs1LDggQEAKIE1ha2VmaWxlLnByZSQKIFRBR1MkCiBhdXRvbTR0ZS5jYWNoZSQKLWJ1aWxkLworXmJ1aWxkLworXkRvYy9idWlsZC8KIGJ1aWxkbm8kCiBjb25maWcuY2FjaGUKIGNvbmZpZy5sb2cKQEAgLTMyLDYgKzMzLDcgQEAKIE1vZHVsZXMvbGRfc29fYWl4JAogUGFyc2VyL3BnZW4kCiBQYXJzZXIvcGdlbi5zdGFtcCQKK1BDYnVpbGQvYW1kNjQvCiBeY29yZQogXnB5dGhvbi1nZGIucHkKIF5weXRob24uZXhlLWdkYi5weQpAQCAtNDcsNiArNDksNyBAQAogKi5weWQKICouY292ZXIKICp+CitMaWIvX3N5c2NvbmZpZ2RhdGEucHkKIExpYi9saWIydG8zLyoucGlja2xlCiBMaWIvdGVzdC9kYXRhLyoKIE1pc2MvKi53cHUKQEAgLTYyLDcgKzY1LDEwIEBACiBQQ2J1aWxkLyoubwogUENidWlsZC8qLm5jYgogUENidWlsZC8qLmJzYworUENidWlsZC8qLnVzZXIKK1BDYnVpbGQvKi5zdW8KIFBDYnVpbGQvV2luMzItdGVtcC0qCitQQ2J1aWxkL3g2NC10ZW1wLSoKIF9fcHljYWNoZV9fCiBNb2R1bGVzL190ZXN0ZW1iZWQKIC5jb3ZlcmFnZQpkaWZmIC0tZ2l0IGEvLmhndGFncyBiLy5oZ3RhZ3MKaW5kZXggMDgzMGFhZi4uMDQxNDgyNiAxMDA2NDQKLS0tIGEvLmhndGFncworKysgYi8uaGd0YWdzCkBAIC05NSwzICs5NSw0IEBACiBjODYwZmVhYTM0OGQ2NjNlNTk4OTg2ODk0ZWU0NjgwNDgwNTc3ZTE1IHYzLjIuMnJjMQogMTM3ZTQ1ZjE1YzBiZDI2MmM5YWQ0YzAzMmQ5NzQyNWJjMDU4OTQ1NiB2My4yLjIKIDcwODU0MDNkYWY0MzlhZGIzZjllNzBlZjEzZjZiZWRiMWM0NDczNzYgdjMuMi4zcmMxCitmMWE5YTY1MDU3MzE3MTRmMGUxNTc0NTNmZjg1MGUzYjcxNjE1YzQ1IHYzLjMuMGExCmRpZmYgLS1naXQgYS9Eb2MvQUNLUy50eHQgYi9Eb2MvQUNLUy50eHQKaW5kZXggNzAwNjNjMC4uYjY0YzY1MCAxMDA2NDQKLS0tIGEvRG9jL0FDS1MudHh0CisrKyBiL0RvYy9BQ0tTLnR4dApAQCAtNjIsNiArNjIsNyBAQAogICAgKiBTdGVmYW4gRnJhbmtlCiAgICAqIEppbSBGdWx0b24KICAgICogUGV0ZXIgRnVuaworICAgKiBFdGhhbiBGdXJtYW4KICAgICogTGVsZSBHYWlmYXgKICAgICogTWF0dGhldyBHYWxsYWdoZXIKICAgICogR2FicmllbCBHZW5lbGxpbmEKQEAgLTIxMCw2ICsyMTEsNyBAQAogICAgKiBEYXZpZCBUdXJuZXIKICAgICogU2FuZHJvIFRvc2kKICAgICogVmlsbGUgVmFpbmlvCisgICAqIE5hZGVlbSBWYXdkYQogICAgKiBNYXJ0aWpuIFZyaWVzCiAgICAqIENoYXJsZXMgRy4gV2FsZG1hbgogICAgKiBHcmVnIFdhcmQKZGlmZiAtLWdpdCBhL0RvYy9jLWFwaS9hcmcucnN0IGIvRG9jL2MtYXBpL2FyZy5yc3QKaW5kZXggZDRkZGE3Yy4uMTk2YWE3NyAxMDA2NDQKLS0tIGEvRG9jL2MtYXBpL2FyZy5yc3QKKysrIGIvRG9jL2MtYXBpL2FyZy5yc3QKQEAgLTE0Niw3ICsxNDYsNyBAQAogICAgTGlrZSBgYHUjYGAsIGJ1dCB0aGUgUHl0aG9uIG9iamVjdCBtYXkgYWxzbyBiZSBgYE5vbmVgYCwgaW4gd2hpY2ggY2FzZSB0aGUKICAgIDpjOnR5cGU6YFB5X1VOSUNPREVgIHBvaW50ZXIgaXMgc2V0IHRvICpOVUxMKi4KIAotYGBVYGAgKDpjbGFzczpgc3RyYCkgW1B5VW5pY29kZU9iamVjdCBcKl0KK2BgVWBgICg6Y2xhc3M6YHN0cmApIFtQeU9iamVjdCBcKl0KICAgIFJlcXVpcmVzIHRoYXQgdGhlIFB5dGhvbiBvYmplY3QgaXMgYSBVbmljb2RlIG9iamVjdCwgd2l0aG91dCBhdHRlbXB0aW5nCiAgICBhbnkgY29udmVyc2lvbi4gIFJhaXNlcyA6ZXhjOmBUeXBlRXJyb3JgIGlmIHRoZSBvYmplY3QgaXMgbm90IGEgVW5pY29kZQogICAgb2JqZWN0LiAgVGhlIEMgdmFyaWFibGUgbWF5IGFsc28gYmUgZGVjbGFyZWQgYXMgOmM6dHlwZTpgUHlPYmplY3RcKmAuCkBAIC0yNjAsOSArMjYwLDExIEBACiBgYG5gYCAoOmNsYXNzOmBpbnRgKSBbUHlfc3NpemVfdF0KICAgIENvbnZlcnQgYSBQeXRob24gaW50ZWdlciB0byBhIEMgOmM6dHlwZTpgUHlfc3NpemVfdGAuCiAKLWBgY2BgICg6Y2xhc3M6YGJ5dGVzYCBvZiBsZW5ndGggMSkgW2NoYXJdCi0gICBDb252ZXJ0IGEgUHl0aG9uIGJ5dGUsIHJlcHJlc2VudGVkIGFzIGEgOmNsYXNzOmBieXRlc2Agb2JqZWN0IG9mIGxlbmd0aCAxLAotICAgdG8gYSBDIDpjOnR5cGU6YGNoYXJgLgorYGBjYGAgKDpjbGFzczpgYnl0ZXNgIG9yIDpjbGFzczpgYnl0ZWFycmF5YCBvZiBsZW5ndGggMSkgW2NoYXJdCisgICBDb252ZXJ0IGEgUHl0aG9uIGJ5dGUsIHJlcHJlc2VudGVkIGFzIGEgOmNsYXNzOmBieXRlc2Agb3IKKyAgIDpjbGFzczpgYnl0ZWFycmF5YCBvYmplY3Qgb2YgbGVuZ3RoIDEsIHRvIGEgQyA6Yzp0eXBlOmBjaGFyYC4KKworICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjMgQWxsb3cgOmNsYXNzOmBieXRlYXJyYXlgIG9iamVjdHMKIAogYGBDYGAgKDpjbGFzczpgc3RyYCBvZiBsZW5ndGggMSkgW2ludF0KICAgIENvbnZlcnQgYSBQeXRob24gY2hhcmFjdGVyLCByZXByZXNlbnRlZCBhcyBhIDpjbGFzczpgc3RyYCBvYmplY3Qgb2YKZGlmZiAtLWdpdCBhL0RvYy9jLWFwaS9idWZmZXIucnN0IGIvRG9jL2MtYXBpL2J1ZmZlci5yc3QKaW5kZXggZDk4ZWNlMy4uZDYzNjkzNSAxMDA2NDQKLS0tIGEvRG9jL2MtYXBpL2J1ZmZlci5yc3QKKysrIGIvRG9jL2MtYXBpL2J1ZmZlci5yc3QKQEAgLTcsNiArNyw3IEBACiAKIC4uIHNlY3Rpb25hdXRob3I6OiBHcmVnIFN0ZWluIDxnc3RlaW5AbHlyYS5vcmc+CiAuLiBzZWN0aW9uYXV0aG9yOjogQmVuamFtaW4gUGV0ZXJzb24KKy4uIHNlY3Rpb25hdXRob3I6OiBTdGVmYW4gS3JhaAogCiAKIC4uIGluZGV4OjoKQEAgLTIwLDcgKzIxLDcgQEAKIAogV2hpbGUgZWFjaCBvZiB0aGVzZSB0eXBlcyBoYXZlIHRoZWlyIG93biBzZW1hbnRpY3MsIHRoZXkgc2hhcmUgdGhlIGNvbW1vbgogY2hhcmFjdGVyaXN0aWMgb2YgYmVpbmcgYmFja2VkIGJ5IGEgcG9zc2libHkgbGFyZ2UgbWVtb3J5IGJ1ZmZlci4gIEl0IGlzCi10aGVuIGRlc2lyZWFibGUsIGluIHNvbWUgc2l0dWF0aW9ucywgdG8gYWNjZXNzIHRoYXQgYnVmZmVyIGRpcmVjdGx5IGFuZAordGhlbiBkZXNpcmFibGUsIGluIHNvbWUgc2l0dWF0aW9ucywgdG8gYWNjZXNzIHRoYXQgYnVmZmVyIGRpcmVjdGx5IGFuZAogd2l0aG91dCBpbnRlcm1lZGlhdGUgY29weWluZy4KIAogUHl0aG9uIHByb3ZpZGVzIHN1Y2ggYSBmYWNpbGl0eSBhdCB0aGUgQyBsZXZlbCBpbiB0aGUgZm9ybSBvZiB0aGUgKmJ1ZmZlcgpAQCAtNjAsOCArNjEsMTAgQEAKIHJlc291cmNlIGxlYWtzLgogCiAKLVRoZSBidWZmZXIgc3RydWN0dXJlCi09PT09PT09PT09PT09PT09PT09PQorLi4gX2J1ZmZlci1zdHJ1Y3R1cmU6CisKK0J1ZmZlciBzdHJ1Y3R1cmUKKz09PT09PT09PT09PT09PT0KIAogQnVmZmVyIHN0cnVjdHVyZXMgKG9yIHNpbXBseSAiYnVmZmVycyIpIGFyZSB1c2VmdWwgYXMgYSB3YXkgdG8gZXhwb3NlIHRoZQogYmluYXJ5IGRhdGEgZnJvbSBhbm90aGVyIG9iamVjdCB0byB0aGUgUHl0aG9uIHByb2dyYW1tZXIuICBUaGV5IGNhbiBhbHNvIGJlCkBAIC03OCw5NiArODEsMzM5IEBACiBhcm91bmQgYSBidWZmZXIgaXMgbmVlZGVkLCBhIDpyZWY6YG1lbW9yeXZpZXcgPG1lbW9yeXZpZXctb2JqZWN0cz5gIG9iamVjdAogY2FuIGJlIGNyZWF0ZWQuCiAKK0ZvciBzaG9ydCBpbnN0cnVjdGlvbnMgaG93IHRvIHdyaXRlIGFuIGV4cG9ydGluZyBvYmplY3QsIHNlZQorOnJlZjpgQnVmZmVyIE9iamVjdCBTdHJ1Y3R1cmVzIDxidWZmZXItc3RydWN0cz5gLiBGb3Igb2J0YWluaW5nCithIGJ1ZmZlciwgc2VlIDpjOmZ1bmM6YFB5T2JqZWN0X0dldEJ1ZmZlcmAuCiAKIC4uIGM6dHlwZTo6IFB5X2J1ZmZlcgogCi0gICAuLiBjOm1lbWJlcjo6IHZvaWQgKmJ1ZgorICAgLi4gYzptZW1iZXI6OiB2b2lkIFwqb2JqCiAKLSAgICAgIEEgcG9pbnRlciB0byB0aGUgc3RhcnQgb2YgdGhlIG1lbW9yeSBmb3IgdGhlIG9iamVjdC4KKyAgICAgIEEgbmV3IHJlZmVyZW5jZSB0byB0aGUgZXhwb3J0aW5nIG9iamVjdC4gVGhlIHJlZmVyZW5jZSBpcyBvd25lZCBieQorICAgICAgdGhlIGNvbnN1bWVyIGFuZCBhdXRvbWF0aWNhbGx5IGRlY3JlbWVudGVkIGFuZCBzZXQgdG8gKk5VTEwqIGJ5CisgICAgICA6YzpmdW5jOmBQeUJ1ZmZlcl9SZWxlYXNlYC4gVGhlIGZpZWxkIGlzIHRoZSBlcXVpdmFsZW50IG9mIHRoZSByZXR1cm4KKyAgICAgIHZhbHVlIG9mIGFueSBzdGFuZGFyZCBDLUFQSSBmdW5jdGlvbi4KKworICAgICAgQXMgYSBzcGVjaWFsIGNhc2UsIGZvciAqdGVtcG9yYXJ5KiBidWZmZXJzIHRoYXQgYXJlIHdyYXBwZWQgYnkKKyAgICAgIDpjOmZ1bmM6YFB5TWVtb3J5Vmlld19Gcm9tQnVmZmVyYCBvciA6YzpmdW5jOmBQeUJ1ZmZlcl9GaWxsSW5mb2AKKyAgICAgIHRoaXMgZmllbGQgaXMgKk5VTEwqLiBJbiBnZW5lcmFsLCBleHBvcnRpbmcgb2JqZWN0cyBNVVNUIE5PVAorICAgICAgdXNlIHRoaXMgc2NoZW1lLgorCisgICAuLiBjOm1lbWJlcjo6IHZvaWQgXCpidWYKKworICAgICAgQSBwb2ludGVyIHRvIHRoZSBzdGFydCBvZiB0aGUgbG9naWNhbCBzdHJ1Y3R1cmUgZGVzY3JpYmVkIGJ5IHRoZSBidWZmZXIKKyAgICAgIGZpZWxkcy4gVGhpcyBjYW4gYmUgYW55IGxvY2F0aW9uIHdpdGhpbiB0aGUgdW5kZXJseWluZyBwaHlzaWNhbCBtZW1vcnkKKyAgICAgIGJsb2NrIG9mIHRoZSBleHBvcnRlci4gRm9yIGV4YW1wbGUsIHdpdGggbmVnYXRpdmUgOmM6bWVtYmVyOmB+UHlfYnVmZmVyLnN0cmlkZXNgCisgICAgICB0aGUgdmFsdWUgbWF5IHBvaW50IHRvIHRoZSBlbmQgb2YgdGhlIG1lbW9yeSBibG9jay4KKworICAgICAgRm9yIGNvbnRpZ3VvdXMgYXJyYXlzLCB0aGUgdmFsdWUgcG9pbnRzIHRvIHRoZSBiZWdpbm5pbmcgb2YgdGhlIG1lbW9yeQorICAgICAgYmxvY2suCiAKICAgIC4uIGM6bWVtYmVyOjogUHlfc3NpemVfdCBsZW4KLSAgICAgIDpub2luZGV4OgogCi0gICAgICBUaGUgdG90YWwgbGVuZ3RoIG9mIHRoZSBtZW1vcnkgaW4gYnl0ZXMuCisgICAgICBgYHByb2R1Y3Qoc2hhcGUpICogaXRlbXNpemVgYC4gRm9yIGNvbnRpZ3VvdXMgYXJyYXlzLCB0aGlzIGlzIHRoZSBsZW5ndGgKKyAgICAgIG9mIHRoZSB1bmRlcmx5aW5nIG1lbW9yeSBibG9jay4gRm9yIG5vbi1jb250aWd1b3VzIGFycmF5cywgaXQgaXMgdGhlIGxlbmd0aAorICAgICAgdGhhdCB0aGUgbG9naWNhbCBzdHJ1Y3R1cmUgd291bGQgaGF2ZSBpZiBpdCB3ZXJlIGNvcGllZCB0byBhIGNvbnRpZ3VvdXMKKyAgICAgIHJlcHJlc2VudGF0aW9uLgorCisgICAgICBBY2Nlc3NpbmcgYGAoKGNoYXIgKilidWYpWzBdIHVwIHRvICgoY2hhciAqKWJ1ZilbbGVuLTFdYGAgaXMgb25seSB2YWxpZAorICAgICAgaWYgdGhlIGJ1ZmZlciBoYXMgYmVlbiBvYnRhaW5lZCBieSBhIHJlcXVlc3QgdGhhdCBndWFyYW50ZWVzIGNvbnRpZ3VpdHkuIEluCisgICAgICBtb3N0IGNhc2VzIHN1Y2ggYSByZXF1ZXN0IHdpbGwgYmUgOmM6bWFjcm86YFB5QlVGX1NJTVBMRWAgb3IgOmM6bWFjcm86YFB5QlVGX1dSSVRBQkxFYC4KIAogICAgLi4gYzptZW1iZXI6OiBpbnQgcmVhZG9ubHkKIAotICAgICAgQW4gaW5kaWNhdG9yIG9mIHdoZXRoZXIgdGhlIGJ1ZmZlciBpcyByZWFkIG9ubHkuCi0KLSAgIC4uIGM6bWVtYmVyOjogY29uc3QgY2hhciAqZm9ybWF0Ci0gICAgICA6bm9pbmRleDoKLQotICAgICAgQSAqTlVMTCogdGVybWluYXRlZCBzdHJpbmcgaW4gOm1vZDpgc3RydWN0YCBtb2R1bGUgc3R5bGUgc3ludGF4IGdpdmluZwotICAgICAgdGhlIGNvbnRlbnRzIG9mIHRoZSBlbGVtZW50cyBhdmFpbGFibGUgdGhyb3VnaCB0aGUgYnVmZmVyLiAgSWYgdGhpcyBpcwotICAgICAgKk5VTEwqLCBgYCJCImBgICh1bnNpZ25lZCBieXRlcykgaXMgYXNzdW1lZC4KLQotICAgLi4gYzptZW1iZXI6OiBpbnQgbmRpbQotCi0gICAgICBUaGUgbnVtYmVyIG9mIGRpbWVuc2lvbnMgdGhlIG1lbW9yeSByZXByZXNlbnRzIGFzIGEgbXVsdGktZGltZW5zaW9uYWwKLSAgICAgIGFycmF5LiAgSWYgaXQgaXMgMCwgOmM6ZGF0YTpgc3RyaWRlc2AgYW5kIDpjOmRhdGE6YHN1Ym9mZnNldHNgIG11c3QgYmUKLSAgICAgICpOVUxMKi4KLQotICAgLi4gYzptZW1iZXI6OiBQeV9zc2l6ZV90ICpzaGFwZQotCi0gICAgICBBbiBhcnJheSBvZiA6Yzp0eXBlOmBQeV9zc2l6ZV90YFxzIHRoZSBsZW5ndGggb2YgOmM6ZGF0YTpgbmRpbWAgZ2l2aW5nIHRoZQotICAgICAgc2hhcGUgb2YgdGhlIG1lbW9yeSBhcyBhIG11bHRpLWRpbWVuc2lvbmFsIGFycmF5LiAgTm90ZSB0aGF0Ci0gICAgICBgYCgoKnNoYXBlKVswXSAqIC4uLiAqICgqc2hhcGUpW25kaW1zLTFdKSppdGVtc2l6ZWBgIHNob3VsZCBiZSBlcXVhbCB0bwotICAgICAgOmM6ZGF0YTpgbGVuYC4KLQotICAgLi4gYzptZW1iZXI6OiBQeV9zc2l6ZV90ICpzdHJpZGVzCi0KLSAgICAgIEFuIGFycmF5IG9mIDpjOnR5cGU6YFB5X3NzaXplX3RgXHMgdGhlIGxlbmd0aCBvZiA6YzpkYXRhOmBuZGltYCBnaXZpbmcgdGhlCi0gICAgICBudW1iZXIgb2YgYnl0ZXMgdG8gc2tpcCB0byBnZXQgdG8gYSBuZXcgZWxlbWVudCBpbiBlYWNoIGRpbWVuc2lvbi4KLQotICAgLi4gYzptZW1iZXI6OiBQeV9zc2l6ZV90ICpzdWJvZmZzZXRzCi0KLSAgICAgIEFuIGFycmF5IG9mIDpjOnR5cGU6YFB5X3NzaXplX3RgXHMgdGhlIGxlbmd0aCBvZiA6YzpkYXRhOmBuZGltYC4gIElmIHRoZXNlCi0gICAgICBzdWJvZmZzZXQgbnVtYmVycyBhcmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIDAsIHRoZW4gdGhlIHZhbHVlIHN0b3JlZAotICAgICAgYWxvbmcgdGhlIGluZGljYXRlZCBkaW1lbnNpb24gaXMgYSBwb2ludGVyIGFuZCB0aGUgc3Vib2Zmc2V0IHZhbHVlCi0gICAgICBkaWN0YXRlcyBob3cgbWFueSBieXRlcyB0byBhZGQgdG8gdGhlIHBvaW50ZXIgYWZ0ZXIgZGUtcmVmZXJlbmNpbmcuIEEKLSAgICAgIHN1Ym9mZnNldCB2YWx1ZSB0aGF0IGl0IG5lZ2F0aXZlIGluZGljYXRlcyB0aGF0IG5vIGRlLXJlZmVyZW5jaW5nIHNob3VsZAotICAgICAgb2NjdXIgKHN0cmlkaW5nIGluIGEgY29udGlndW91cyBtZW1vcnkgYmxvY2spLgotCi0gICAgICBIZXJlIGlzIGEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgcG9pbnRlciB0byB0aGUgZWxlbWVudCBpbiBhbiBOLUQgYXJyYXkKLSAgICAgIHBvaW50ZWQgdG8gYnkgYW4gTi1kaW1lbnNpb25hbCBpbmRleCB3aGVuIHRoZXJlIGFyZSBib3RoIG5vbi1OVUxMIHN0cmlkZXMKLSAgICAgIGFuZCBzdWJvZmZzZXRzOjoKLQotICAgICAgICAgIHZvaWQgKmdldF9pdGVtX3BvaW50ZXIoaW50IG5kaW0sIHZvaWQgKmJ1ZiwgUHlfc3NpemVfdCAqc3RyaWRlcywKLSAgICAgICAgICAgICAgUHlfc3NpemVfdCAqc3Vib2Zmc2V0cywgUHlfc3NpemVfdCAqaW5kaWNlcykgewotICAgICAgICAgICAgICBjaGFyICpwb2ludGVyID0gKGNoYXIqKWJ1ZjsKLSAgICAgICAgICAgICAgaW50IGk7Ci0gICAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBuZGltOyBpKyspIHsKLSAgICAgICAgICAgICAgICAgIHBvaW50ZXIgKz0gc3RyaWRlc1tpXSAqIGluZGljZXNbaV07Ci0gICAgICAgICAgICAgICAgICBpZiAoc3Vib2Zmc2V0c1tpXSA+PTAgKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgcG9pbnRlciA9ICooKGNoYXIqKilwb2ludGVyKSArIHN1Ym9mZnNldHNbaV07Ci0gICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgcmV0dXJuICh2b2lkKilwb2ludGVyOwotICAgICAgICAgICB9Ci0KKyAgICAgIEFuIGluZGljYXRvciBvZiB3aGV0aGVyIHRoZSBidWZmZXIgaXMgcmVhZC1vbmx5LiBUaGlzIGZpZWxkIGlzIGNvbnRyb2xsZWQKKyAgICAgIGJ5IHRoZSA6YzptYWNybzpgUHlCVUZfV1JJVEFCTEVgIGZsYWcuCiAKICAgIC4uIGM6bWVtYmVyOjogUHlfc3NpemVfdCBpdGVtc2l6ZQogCi0gICAgICBUaGlzIGlzIGEgc3RvcmFnZSBmb3IgdGhlIGl0ZW1zaXplIChpbiBieXRlcykgb2YgZWFjaCBlbGVtZW50IG9mIHRoZQotICAgICAgc2hhcmVkIG1lbW9yeS4gSXQgaXMgdGVjaG5pY2FsbHkgdW4tbmVjZXNzYXJ5IGFzIGl0IGNhbiBiZSBvYnRhaW5lZAotICAgICAgdXNpbmcgOmM6ZnVuYzpgUHlCdWZmZXJfU2l6ZUZyb21Gb3JtYXRgLCBob3dldmVyIGFuIGV4cG9ydGVyIG1heSBrbm93Ci0gICAgICB0aGlzIGluZm9ybWF0aW9uIHdpdGhvdXQgcGFyc2luZyB0aGUgZm9ybWF0IHN0cmluZyBhbmQgaXQgaXMgbmVjZXNzYXJ5Ci0gICAgICB0byBrbm93IHRoZSBpdGVtc2l6ZSBmb3IgcHJvcGVyIGludGVycHJldGF0aW9uIG9mIHN0cmlkaW5nLiBUaGVyZWZvcmUsCi0gICAgICBzdG9yaW5nIGl0IGlzIG1vcmUgY29udmVuaWVudCBhbmQgZmFzdGVyLgorICAgICAgSXRlbSBzaXplIGluIGJ5dGVzIG9mIGEgc2luZ2xlIGVsZW1lbnQuIFNhbWUgYXMgdGhlIHZhbHVlIG9mIDpmdW5jOmBzdHJ1Y3QuY2FsY3NpemVgCisgICAgICBjYWxsZWQgb24gbm9uLU5VTEwgOmM6bWVtYmVyOmB+UHlfYnVmZmVyLmZvcm1hdGAgdmFsdWVzLgogCi0gICAuLiBjOm1lbWJlcjo6IHZvaWQgKmludGVybmFsCisgICAgICBJbXBvcnRhbnQgZXhjZXB0aW9uOiBJZiBhIGNvbnN1bWVyIHJlcXVlc3RzIGEgYnVmZmVyIHdpdGhvdXQgdGhlCisgICAgICA6YzptYWNybzpgUHlCVUZfRk9STUFUYCBmbGFnLCA6YzptZW1iZXI6YH5QeV9CdWZmZXIuZm9ybWF0YCB3aWxsCisgICAgICBiZSBzZXQgdG8gICpOVUxMKiwgIGJ1dCA6YzptZW1iZXI6YH5QeV9idWZmZXIuaXRlbXNpemVgIHN0aWxsIGhhcworICAgICAgdGhlIHZhbHVlIGZvciB0aGUgb3JpZ2luYWwgZm9ybWF0LgorCisgICAgICBJZiA6YzptZW1iZXI6YH5QeV9CdWZmZXIuc2hhcGVgIGlzIHByZXNlbnQsIHRoZSBlcXVhbGl0eQorICAgICAgYGBwcm9kdWN0KHNoYXBlKSAqIGl0ZW1zaXplID09IGxlbmBgIHN0aWxsIGhvbGRzIGFuZCB0aGUgY29uc3VtZXIKKyAgICAgIGNhbiB1c2UgOmM6bWVtYmVyOmB+UHlfYnVmZmVyLml0ZW1zaXplYCB0byBuYXZpZ2F0ZSB0aGUgYnVmZmVyLgorCisgICAgICBJZiA6YzptZW1iZXI6YH5QeV9CdWZmZXIuc2hhcGVgIGlzICpOVUxMKiBhcyBhIHJlc3VsdCBvZiBhIDpjOm1hY3JvOmBQeUJVRl9TSU1QTEVgCisgICAgICBvciBhIDpjOm1hY3JvOmBQeUJVRl9XUklUQUJMRWAgcmVxdWVzdCwgdGhlIGNvbnN1bWVyIG11c3QgZGlzcmVnYXJkCisgICAgICA6YzptZW1iZXI6YH5QeV9idWZmZXIuaXRlbXNpemVgIGFuZCBhc3N1bWUgYGBpdGVtc2l6ZSA9PSAxYGAuCisKKyAgIC4uIGM6bWVtYmVyOjogY29uc3QgY2hhciBcKmZvcm1hdAorCisgICAgICBBICpOVUwqIHRlcm1pbmF0ZWQgc3RyaW5nIGluIDptb2Q6YHN0cnVjdGAgbW9kdWxlIHN0eWxlIHN5bnRheCBkZXNjcmliaW5nCisgICAgICB0aGUgY29udGVudHMgb2YgYSBzaW5nbGUgaXRlbS4gSWYgdGhpcyBpcyAqTlVMTCosIGBgIkIiYGAgKHVuc2lnbmVkIGJ5dGVzKQorICAgICAgaXMgYXNzdW1lZC4KKworICAgICAgVGhpcyBmaWVsZCBpcyBjb250cm9sbGVkIGJ5IHRoZSA6YzptYWNybzpgUHlCVUZfRk9STUFUYCBmbGFnLgorCisgICAuLiBjOm1lbWJlcjo6IGludCBuZGltCisKKyAgICAgIFRoZSBudW1iZXIgb2YgZGltZW5zaW9ucyB0aGUgbWVtb3J5IHJlcHJlc2VudHMgYXMgYW4gbi1kaW1lbnNpb25hbCBhcnJheS4KKyAgICAgIElmIGl0IGlzIDAsIDpjOm1lbWJlcjpgflB5X0J1ZmZlci5idWZgIHBvaW50cyB0byBhIHNpbmdsZSBpdGVtIHJlcHJlc2VudGluZworICAgICAgYSBzY2FsYXIuIEluIHRoaXMgY2FzZSwgOmM6bWVtYmVyOmB+UHlfYnVmZmVyLnNoYXBlYCwgOmM6bWVtYmVyOmB+UHlfYnVmZmVyLnN0cmlkZXNgCisgICAgICBhbmQgOmM6bWVtYmVyOmB+UHlfYnVmZmVyLnN1Ym9mZnNldHNgIE1VU1QgYmUgKk5VTEwqLgorCisgICAgICBUaGUgbWFjcm8gOmM6bWFjcm86YFB5QlVGX01BWF9ORElNYCBsaW1pdHMgdGhlIG1heGltdW0gbnVtYmVyIG9mIGRpbWVuc2lvbnMKKyAgICAgIHRvIDY0LiBFeHBvcnRlcnMgTVVTVCByZXNwZWN0IHRoaXMgbGltaXQsIGNvbnN1bWVycyBvZiBtdWx0aS1kaW1lbnNpb25hbAorICAgICAgYnVmZmVycyBTSE9VTEQgYmUgYWJsZSB0byBoYW5kbGUgdXAgdG8gOmM6bWFjcm86YFB5QlVGX01BWF9ORElNYCBkaW1lbnNpb25zLgorCisgICAuLiBjOm1lbWJlcjo6IFB5X3NzaXplX3QgXCpzaGFwZQorCisgICAgICBBbiBhcnJheSBvZiA6Yzp0eXBlOmBQeV9zc2l6ZV90YCBvZiBsZW5ndGggOmM6bWVtYmVyOmB+UHlfYnVmZmVyLm5kaW1gCisgICAgICBpbmRpY2F0aW5nIHRoZSBzaGFwZSBvZiB0aGUgbWVtb3J5IGFzIGFuIG4tZGltZW5zaW9uYWwgYXJyYXkuIE5vdGUgdGhhdAorICAgICAgYGBzaGFwZVswXSAqIC4uLiAqIHNoYXBlW25kaW0tMV0gKiBpdGVtc2l6ZWBgIE1VU1QgYmUgZXF1YWwgdG8KKyAgICAgIDpjOm1lbWJlcjpgflB5X2J1ZmZlci5sZW5gLgorCisgICAgICBTaGFwZSB2YWx1ZXMgYXJlIHJlc3RyaWN0ZWQgdG8gYGBzaGFwZVtuXSA+PSAwYGAuIFRoZSBjYXNlCisgICAgICBgYHNoYXBlW25dID09IDBgYCByZXF1aXJlcyBzcGVjaWFsIGF0dGVudGlvbi4gU2VlIGBjb21wbGV4IGFycmF5c2BfCisgICAgICBmb3IgZnVydGhlciBpbmZvcm1hdGlvbi4KKworICAgICAgVGhlIHNoYXBlIGFycmF5IGlzIHJlYWQtb25seSBmb3IgdGhlIGNvbnN1bWVyLgorCisgICAuLiBjOm1lbWJlcjo6IFB5X3NzaXplX3QgXCpzdHJpZGVzCisKKyAgICAgIEFuIGFycmF5IG9mIDpjOnR5cGU6YFB5X3NzaXplX3RgIG9mIGxlbmd0aCA6YzptZW1iZXI6YH5QeV9idWZmZXIubmRpbWAKKyAgICAgIGdpdmluZyB0aGUgbnVtYmVyIG9mIGJ5dGVzIHRvIHNraXAgdG8gZ2V0IHRvIGEgbmV3IGVsZW1lbnQgaW4gZWFjaAorICAgICAgZGltZW5zaW9uLgorCisgICAgICBTdHJpZGUgdmFsdWVzIGNhbiBiZSBhbnkgaW50ZWdlci4gRm9yIHJlZ3VsYXIgYXJyYXlzLCBzdHJpZGVzIGFyZQorICAgICAgdXN1YWxseSBwb3NpdGl2ZSwgYnV0IGEgY29uc3VtZXIgTVVTVCBiZSBhYmxlIHRvIGhhbmRsZSB0aGUgY2FzZQorICAgICAgYGBzdHJpZGVzW25dIDw9IDBgYC4gU2VlIGBjb21wbGV4IGFycmF5c2BfIGZvciBmdXJ0aGVyIGluZm9ybWF0aW9uLgorCisgICAgICBUaGUgc3RyaWRlcyBhcnJheSBpcyByZWFkLW9ubHkgZm9yIHRoZSBjb25zdW1lci4KKworICAgLi4gYzptZW1iZXI6OiBQeV9zc2l6ZV90IFwqc3Vib2Zmc2V0cworCisgICAgICBBbiBhcnJheSBvZiA6Yzp0eXBlOmBQeV9zc2l6ZV90YCBvZiBsZW5ndGggOmM6bWVtYmVyOmB+UHlfYnVmZmVyLm5kaW1gLgorICAgICAgSWYgYGBzdWJvZmZzZXRzW25dID49IDBgYCwgdGhlIHZhbHVlcyBzdG9yZWQgYWxvbmcgdGhlIG50aCBkaW1lbnNpb24gYXJlCisgICAgICBwb2ludGVycyBhbmQgdGhlIHN1Ym9mZnNldCB2YWx1ZSBkaWN0YXRlcyBob3cgbWFueSBieXRlcyB0byBhZGQgdG8gZWFjaAorICAgICAgcG9pbnRlciBhZnRlciBkZS1yZWZlcmVuY2luZy4gQSBzdWJvZmZzZXQgdmFsdWUgdGhhdCBpcyBuZWdhdGl2ZQorICAgICAgaW5kaWNhdGVzIHRoYXQgbm8gZGUtcmVmZXJlbmNpbmcgc2hvdWxkIG9jY3VyIChzdHJpZGluZyBpbiBhIGNvbnRpZ3VvdXMKKyAgICAgIG1lbW9yeSBibG9jaykuCisKKyAgICAgIFRoaXMgdHlwZSBvZiBhcnJheSByZXByZXNlbnRhdGlvbiBpcyB1c2VkIGJ5IHRoZSBQeXRob24gSW1hZ2luZyBMaWJyYXJ5CisgICAgICAoUElMKS4gU2VlIGBjb21wbGV4IGFycmF5c2BfIGZvciBmdXJ0aGVyIGluZm9ybWF0aW9uIGhvdyB0byBhY2Nlc3MgZWxlbWVudHMKKyAgICAgIG9mIHN1Y2ggYW4gYXJyYXkuCisKKyAgICAgIFRoZSBzdWJvZmZzZXRzIGFycmF5IGlzIHJlYWQtb25seSBmb3IgdGhlIGNvbnN1bWVyLgorCisgICAuLiBjOm1lbWJlcjo6IHZvaWQgXCppbnRlcm5hbAogCiAgICAgICBUaGlzIGlzIGZvciB1c2UgaW50ZXJuYWxseSBieSB0aGUgZXhwb3J0aW5nIG9iamVjdC4gRm9yIGV4YW1wbGUsIHRoaXMKICAgICAgIG1pZ2h0IGJlIHJlLWNhc3QgYXMgYW4gaW50ZWdlciBieSB0aGUgZXhwb3J0ZXIgYW5kIHVzZWQgdG8gc3RvcmUgZmxhZ3MKICAgICAgIGFib3V0IHdoZXRoZXIgb3Igbm90IHRoZSBzaGFwZSwgc3RyaWRlcywgYW5kIHN1Ym9mZnNldHMgYXJyYXlzIG11c3QgYmUKLSAgICAgIGZyZWVkIHdoZW4gdGhlIGJ1ZmZlciBpcyByZWxlYXNlZC4gVGhlIGNvbnN1bWVyIHNob3VsZCBuZXZlciBhbHRlciB0aGlzCisgICAgICBmcmVlZCB3aGVuIHRoZSBidWZmZXIgaXMgcmVsZWFzZWQuIFRoZSBjb25zdW1lciBNVVNUIE5PVCBhbHRlciB0aGlzCiAgICAgICB2YWx1ZS4KIAorLi4gX2J1ZmZlci1yZXF1ZXN0LXR5cGVzOgorCitCdWZmZXIgcmVxdWVzdCB0eXBlcworPT09PT09PT09PT09PT09PT09PT0KKworQnVmZmVycyBhcmUgdXN1YWxseSBvYnRhaW5lZCBieSBzZW5kaW5nIGEgYnVmZmVyIHJlcXVlc3QgdG8gYW4gZXhwb3J0aW5nCitvYmplY3QgdmlhIDpjOmZ1bmM6YFB5T2JqZWN0X0dldEJ1ZmZlcmAuIFNpbmNlIHRoZSBjb21wbGV4aXR5IG9mIHRoZSBsb2dpY2FsCitzdHJ1Y3R1cmUgb2YgdGhlIG1lbW9yeSBjYW4gdmFyeSBkcmFzdGljYWxseSwgdGhlIGNvbnN1bWVyIHVzZXMgdGhlICpmbGFncyoKK2FyZ3VtZW50IHRvIHNwZWNpZnkgdGhlIGV4YWN0IGJ1ZmZlciB0eXBlIGl0IGNhbiBoYW5kbGUuCisKK0FsbCA6YzpkYXRhOmBQeV9idWZmZXJgIGZpZWxkcyBhcmUgdW5hbWJpZ3VvdXNseSBkZWZpbmVkIGJ5IHRoZSByZXF1ZXN0Cit0eXBlLgorCityZXF1ZXN0LWluZGVwZW5kZW50IGZpZWxkcworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KK1RoZSBmb2xsb3dpbmcgZmllbGRzIGFyZSBub3QgaW5mbHVlbmNlZCBieSAqZmxhZ3MqIGFuZCBtdXN0IGFsd2F5cyBiZSBmaWxsZWQgaW4KK3dpdGggdGhlIGNvcnJlY3QgdmFsdWVzOiA6YzptZW1iZXI6YH5QeV9idWZmZXIub2JqYCwgOmM6bWVtYmVyOmB+UHlfYnVmZmVyLmJ1ZmAsCis6YzptZW1iZXI6YH5QeV9idWZmZXIubGVuYCwgOmM6bWVtYmVyOmB+UHlfYnVmZmVyLml0ZW1zaXplYCwgOmM6bWVtYmVyOmB+UHlfYnVmZmVyLm5kaW1gLgorCisKK3JlYWRvbmx5LCBmb3JtYXQKK35+fn5+fn5+fn5+fn5+fn4KKworICAgLi4gYzptYWNybzo6IFB5QlVGX1dSSVRBQkxFCisKKyAgICAgIENvbnRyb2xzIHRoZSA6YzptZW1iZXI6YH5QeV9idWZmZXIucmVhZG9ubHlgIGZpZWxkLiBJZiBzZXQsIHRoZSBleHBvcnRlcgorICAgICAgTVVTVCBwcm92aWRlIGEgd3JpdGFibGUgYnVmZmVyIG9yIGVsc2UgcmVwb3J0IGZhaWx1cmUuIE90aGVyd2lzZSwgdGhlCisgICAgICBleHBvcnRlciBNQVkgcHJvdmlkZSBlaXRoZXIgYSByZWFkLW9ubHkgb3Igd3JpdGFibGUgYnVmZmVyLCBidXQgdGhlIGNob2ljZQorICAgICAgTVVTVCBiZSBjb25zaXN0ZW50IGZvciBhbGwgY29uc3VtZXJzLgorCisgICAuLiBjOm1hY3JvOjogUHlCVUZfRk9STUFUCisKKyAgICAgIENvbnRyb2xzIHRoZSA6YzptZW1iZXI6YH5QeV9idWZmZXIuZm9ybWF0YCBmaWVsZC4gSWYgc2V0LCB0aGlzIGZpZWxkIE1VU1QKKyAgICAgIGJlIGZpbGxlZCBpbiBjb3JyZWN0bHkuIE90aGVyd2lzZSwgdGhpcyBmaWVsZCBNVVNUIGJlICpOVUxMKi4KKworCis6YzptYWNybzpgUHlCVUZfV1JJVEFCTEVgIGNhbiBiZSBcfCdkIHRvIGFueSBvZiB0aGUgZmxhZ3MgaW4gdGhlIG5leHQgc2VjdGlvbi4KK1NpbmNlIDpjOm1hY3JvOmBQeUJVRl9TSU1QTEVgIGlzIGRlZmluZWQgYXMgMCwgOmM6bWFjcm86YFB5QlVGX1dSSVRBQkxFYAorY2FuIGJlIHVzZWQgYXMgYSBzdGFuZC1hbG9uZSBmbGFnIHRvIHJlcXVlc3QgYSBzaW1wbGUgd3JpdGFibGUgYnVmZmVyLgorCis6YzptYWNybzpgUHlCVUZfRk9STUFUYCBjYW4gYmUgXHwnZCB0byBhbnkgb2YgdGhlIGZsYWdzIGV4Y2VwdCA6YzptYWNybzpgUHlCVUZfU0lNUExFYC4KK1RoZSBsYXR0ZXIgYWxyZWFkeSBpbXBsaWVzIGZvcm1hdCBgYEJgYCAodW5zaWduZWQgYnl0ZXMpLgorCisKK3NoYXBlLCBzdHJpZGVzLCBzdWJvZmZzZXRzCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCitUaGUgZmxhZ3MgdGhhdCBjb250cm9sIHRoZSBsb2dpY2FsIHN0cnVjdHVyZSBvZiB0aGUgbWVtb3J5IGFyZSBsaXN0ZWQKK2luIGRlY3JlYXNpbmcgb3JkZXIgb2YgY29tcGxleGl0eS4gTm90ZSB0aGF0IGVhY2ggZmxhZyBjb250YWlucyBhbGwgYml0cworb2YgdGhlIGZsYWdzIGJlbG93IGl0LgorCisKKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0rCit8ICBSZXF1ZXN0ICAgICAgICAgICAgICAgICAgICB8IHNoYXBlIHwgc3RyaWRlcyB8IHN1Ym9mZnNldHMgfAorKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09Kz09PT09PT0rPT09PT09PT09Kz09PT09PT09PT09PSsKK3wgLi4gYzptYWNybzo6IFB5QlVGX0lORElSRUNUIHwgIHllcyAgfCAgIHllcyAgIHwgaWYgbmVlZGVkICB8CisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tKworfCAuLiBjOm1hY3JvOjogUHlCVUZfU1RSSURFUyAgfCAgeWVzICB8ICAgeWVzICAgfCAgICBOVUxMICAgIHwKKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0rCit8IC4uIGM6bWFjcm86OiBQeUJVRl9ORCAgICAgICB8ICB5ZXMgIHwgICBOVUxMICB8ICAgIE5VTEwgICAgfAorKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSsKK3wgLi4gYzptYWNybzo6IFB5QlVGX1NJTVBMRSAgIHwgIE5VTEwgfCAgIE5VTEwgIHwgICAgTlVMTCAgICB8CisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tKworCisKK2NvbnRpZ3VpdHkgcmVxdWVzdHMKK35+fn5+fn5+fn5+fn5+fn5+fn4KKworQyBvciBGb3J0cmFuIGNvbnRpZ3VpdHkgY2FuIGJlIGV4cGxpY2l0bHkgcmVxdWVzdGVkLCB3aXRoIGFuZCB3aXRob3V0IHN0cmlkZQoraW5mb3JtYXRpb24uIFdpdGhvdXQgc3RyaWRlIGluZm9ybWF0aW9uLCB0aGUgYnVmZmVyIG11c3QgYmUgQy1jb250aWd1b3VzLgorCisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tKworfCAgUmVxdWVzdCAgICAgICAgICAgICAgICAgICAgICAgICAgfCBzaGFwZSB8IHN0cmlkZXMgfCBzdWJvZmZzZXRzIHwgY29udGlnIHwKKys9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSs9PT09PT09Kz09PT09PT09PSs9PT09PT09PT09PT0rPT09PT09PT0rCit8IC4uIGM6bWFjcm86OiBQeUJVRl9DX0NPTlRJR1VPVVMgICB8ICB5ZXMgIHwgICB5ZXMgICB8ICAgIE5VTEwgICAgfCAgIEMgICAgfAorKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLSsKK3wgLi4gYzptYWNybzo6IFB5QlVGX0ZfQ09OVElHVU9VUyAgIHwgIHllcyAgfCAgIHllcyAgIHwgICAgTlVMTCAgICB8ICAgRiAgICB8CisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tKworfCAuLiBjOm1hY3JvOjogUHlCVUZfQU5ZX0NPTlRJR1VPVVMgfCAgeWVzICB8ICAgeWVzICAgfCAgICBOVUxMICAgIHwgQyBvciBGIHwKKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0rCit8IC4uIGM6bWFjcm86OiBQeUJVRl9ORCAgICAgICAgICAgICB8ICB5ZXMgIHwgICBOVUxMICB8ICAgIE5VTEwgICAgfCAgIEMgICAgfAorKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLSsKKworCitjb21wb3VuZCByZXF1ZXN0cworfn5+fn5+fn5+fn5+fn5+fn4KKworQWxsIHBvc3NpYmxlIHJlcXVlc3RzIGFyZSBmdWxseSBkZWZpbmVkIGJ5IHNvbWUgY29tYmluYXRpb24gb2YgdGhlIGZsYWdzIGluCit0aGUgcHJldmlvdXMgc2VjdGlvbi4gRm9yIGNvbnZlbmllbmNlLCB0aGUgYnVmZmVyIHByb3RvY29sIHByb3ZpZGVzIGZyZXF1ZW50bHkKK3VzZWQgY29tYmluYXRpb25zIGFzIHNpbmdsZSBmbGFncy4KKworSW4gdGhlIGZvbGxvd2luZyB0YWJsZSAqVSogc3RhbmRzIGZvciB1bmRlZmluZWQgY29udGlndWl0eS4gVGhlIGNvbnN1bWVyIHdvdWxkCitoYXZlIHRvIGNhbGwgOmM6ZnVuYzpgUHlCdWZmZXJfSXNDb250aWd1b3VzYCB0byBkZXRlcm1pbmUgY29udGlndWl0eS4KKworCisKKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tKworfCAgUmVxdWVzdCAgICAgICAgICAgICAgICAgICAgICB8IHNoYXBlIHwgc3RyaWRlcyB8IHN1Ym9mZnNldHMgfCBjb250aWcgfCByZWFkb25seSB8IGZvcm1hdCB8CisrPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSs9PT09PT09Kz09PT09PT09PSs9PT09PT09PT09PT0rPT09PT09PT0rPT09PT09PT09PSs9PT09PT09PSsKK3wgLi4gYzptYWNybzo6IFB5QlVGX0ZVTEwgICAgICAgfCAgeWVzICB8ICAgeWVzICAgfCBpZiBuZWVkZWQgIHwgICBVICAgIHwgICAgIDAgICAgfCAgeWVzICAgfAorKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0rCit8IC4uIGM6bWFjcm86OiBQeUJVRl9GVUxMX1JPICAgIHwgIHllcyAgfCAgIHllcyAgIHwgaWYgbmVlZGVkICB8ICAgVSAgICB8ICAxIG9yIDAgIHwgIHllcyAgIHwKKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tKworfCAuLiBjOm1hY3JvOjogUHlCVUZfUkVDT1JEUyAgICB8ICB5ZXMgIHwgICB5ZXMgICB8ICAgIE5VTEwgICAgfCAgIFUgICAgfCAgICAgMCAgICB8ICB5ZXMgICB8CisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLSsKK3wgLi4gYzptYWNybzo6IFB5QlVGX1JFQ09SRFNfUk8gfCAgeWVzICB8ICAgeWVzICAgfCAgICBOVUxMICAgIHwgICBVICAgIHwgIDEgb3IgMCAgfCAgeWVzICAgfAorKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0rCit8IC4uIGM6bWFjcm86OiBQeUJVRl9TVFJJREVEICAgIHwgIHllcyAgfCAgIHllcyAgIHwgICAgTlVMTCAgICB8ICAgVSAgICB8ICAgICAwICAgIHwgIE5VTEwgIHwKKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tKworfCAuLiBjOm1hY3JvOjogUHlCVUZfU1RSSURFRF9STyB8ICB5ZXMgIHwgICB5ZXMgICB8ICAgIE5VTEwgICAgfCAgIFUgICAgfCAgMSBvciAwICB8ICBOVUxMICB8CisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLSsKK3wgLi4gYzptYWNybzo6IFB5QlVGX0NPTlRJRyAgICAgfCAgeWVzICB8ICAgTlVMTCAgfCAgICBOVUxMICAgIHwgICBDICAgIHwgICAgIDAgICAgfCAgTlVMTCAgfAorKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0rCit8IC4uIGM6bWFjcm86OiBQeUJVRl9DT05USUdfUk8gIHwgIHllcyAgfCAgIE5VTEwgIHwgICAgTlVMTCAgICB8ICAgQyAgICB8ICAxIG9yIDAgIHwgIE5VTEwgIHwKKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tKworCisKK0NvbXBsZXggYXJyYXlzCis9PT09PT09PT09PT09PQorCitOdW1QeS1zdHlsZTogc2hhcGUgYW5kIHN0cmlkZXMKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCitUaGUgbG9naWNhbCBzdHJ1Y3R1cmUgb2YgTnVtUHktc3R5bGUgYXJyYXlzIGlzIGRlZmluZWQgYnkgOmM6bWVtYmVyOmB+UHlfYnVmZmVyLml0ZW1zaXplYCwKKzpjOm1lbWJlcjpgflB5X2J1ZmZlci5uZGltYCwgOmM6bWVtYmVyOmB+UHlfYnVmZmVyLnNoYXBlYCBhbmQgOmM6bWVtYmVyOmB+UHlfYnVmZmVyLnN0cmlkZXNgLgorCitJZiBgYG5kaW0gPT0gMGBgLCB0aGUgbWVtb3J5IGxvY2F0aW9uIHBvaW50ZWQgdG8gYnkgOmM6bWVtYmVyOmB+UHlfYnVmZmVyLmJ1ZmAgaXMKK2ludGVycHJldGVkIGFzIGEgc2NhbGFyIG9mIHNpemUgOmM6bWVtYmVyOmB+UHlfYnVmZmVyLml0ZW1zaXplYC4gSW4gdGhhdCBjYXNlLAorYm90aCA6YzptZW1iZXI6YH5QeV9idWZmZXIuc2hhcGVgIGFuZCA6YzptZW1iZXI6YH5QeV9idWZmZXIuc3RyaWRlc2AgYXJlICpOVUxMKi4KKworSWYgOmM6bWVtYmVyOmB+UHlfYnVmZmVyLnN0cmlkZXNgIGlzICpOVUxMKiwgdGhlIGFycmF5IGlzIGludGVycHJldGVkIGFzCithIHN0YW5kYXJkIG4tZGltZW5zaW9uYWwgQy1hcnJheS4gT3RoZXJ3aXNlLCB0aGUgY29uc3VtZXIgbXVzdCBhY2Nlc3MgYW4KK24tZGltZW5zaW9uYWwgYXJyYXkgYXMgZm9sbG93czoKKworICAgYGBwdHIgPSAoY2hhciAqKWJ1ZiArIGluZGljZXNbMF0gKiBzdHJpZGVzWzBdICsgLi4uICsgaW5kaWNlc1tuLTFdICogc3RyaWRlc1tuLTFdYGAKKyAgIGBgaXRlbSA9ICooKHR5cGVvZihpdGVtKSAqKXB0cik7YGAKKworCitBcyBub3RlZCBhYm92ZSwgOmM6bWVtYmVyOmB+UHlfYnVmZmVyLmJ1ZmAgY2FuIHBvaW50IHRvIGFueSBsb2NhdGlvbiB3aXRoaW4KK3RoZSBhY3R1YWwgbWVtb3J5IGJsb2NrLiBBbiBleHBvcnRlciBjYW4gY2hlY2sgdGhlIHZhbGlkaXR5IG9mIGEgYnVmZmVyIHdpdGgKK3RoaXMgZnVuY3Rpb246CisKKy4uIGNvZGUtYmxvY2s6OiBweXRob24KKworICAgZGVmIHZlcmlmeV9zdHJ1Y3R1cmUobWVtbGVuLCBpdGVtc2l6ZSwgbmRpbSwgc2hhcGUsIHN0cmlkZXMsIG9mZnNldCk6CisgICAgICAgIiIiVmVyaWZ5IHRoYXQgdGhlIHBhcmFtZXRlcnMgcmVwcmVzZW50IGEgdmFsaWQgYXJyYXkgd2l0aGluCisgICAgICAgICAgdGhlIGJvdW5kcyBvZiB0aGUgYWxsb2NhdGVkIG1lbW9yeToKKyAgICAgICAgICAgICAgY2hhciAqbWVtOiBzdGFydCBvZiB0aGUgcGh5c2ljYWwgbWVtb3J5IGJsb2NrCisgICAgICAgICAgICAgIG1lbWxlbjogbGVuZ3RoIG9mIHRoZSBwaHlzaWNhbCBtZW1vcnkgYmxvY2sKKyAgICAgICAgICAgICAgb2Zmc2V0OiAoY2hhciAqKWJ1ZiAtIG1lbQorICAgICAgICIiIgorICAgICAgIGlmIG9mZnNldCAlIGl0ZW1zaXplOgorICAgICAgICAgICByZXR1cm4gRmFsc2UKKyAgICAgICBpZiBvZmZzZXQgPCAwIG9yIG9mZnNldCtpdGVtc2l6ZSA+IG1lbWxlbjoKKyAgICAgICAgICAgcmV0dXJuIEZhbHNlCisgICAgICAgaWYgYW55KHYgJSBpdGVtc2l6ZSBmb3IgdiBpbiBzdHJpZGVzKToKKyAgICAgICAgICAgcmV0dXJuIEZhbHNlCisKKyAgICAgICBpZiBuZGltIDw9IDA6CisgICAgICAgICAgIHJldHVybiBuZGltID09IDAgYW5kIG5vdCBzaGFwZSBhbmQgbm90IHN0cmlkZXMKKyAgICAgICBpZiAwIGluIHNoYXBlOgorICAgICAgICAgICByZXR1cm4gVHJ1ZQorCisgICAgICAgaW1pbiA9IHN1bShzdHJpZGVzW2pdKihzaGFwZVtqXS0xKSBmb3IgaiBpbiByYW5nZShuZGltKQorICAgICAgICAgICAgICAgICAgaWYgc3RyaWRlc1tqXSA8PSAwKQorICAgICAgIGltYXggPSBzdW0oc3RyaWRlc1tqXSooc2hhcGVbal0tMSkgZm9yIGogaW4gcmFuZ2UobmRpbSkKKyAgICAgICAgICAgICAgICAgIGlmIHN0cmlkZXNbal0gPiAwKQorCisgICAgICAgcmV0dXJuIDAgPD0gb2Zmc2V0K2ltaW4gYW5kIG9mZnNldCtpbWF4K2l0ZW1zaXplIDw9IG1lbWxlbgorCisKK1BJTC1zdHlsZTogc2hhcGUsIHN0cmlkZXMgYW5kIHN1Ym9mZnNldHMKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKworSW4gYWRkaXRpb24gdG8gdGhlIHJlZ3VsYXIgaXRlbXMsIFBJTC1zdHlsZSBhcnJheXMgY2FuIGNvbnRhaW4gcG9pbnRlcnMKK3RoYXQgbXVzdCBiZSBmb2xsb3dlZCBpbiBvcmRlciB0byBnZXQgdG8gdGhlIG5leHQgZWxlbWVudCBpbiBhIGRpbWVuc2lvbi4KK0ZvciBleGFtcGxlLCB0aGUgcmVndWxhciB0aHJlZS1kaW1lbnNpb25hbCBDLWFycmF5IGBgY2hhciB2WzJdWzJdWzNdYGAgY2FuCithbHNvIGJlIHZpZXdlZCBhcyBhbiBhcnJheSBvZiAyIHBvaW50ZXJzIHRvIDIgdHdvLWRpbWVuc2lvbmFsIGFycmF5czoKK2BgY2hhciAoKnZbMl0pWzJdWzNdYGAuIEluIHN1Ym9mZnNldHMgcmVwcmVzZW50YXRpb24sIHRob3NlIHR3byBwb2ludGVycworY2FuIGJlIGVtYmVkZGVkIGF0IHRoZSBzdGFydCBvZiA6YzptZW1iZXI6YH5QeV9idWZmZXIuYnVmYCwgcG9pbnRpbmcKK3RvIHR3byBgYGNoYXIgeFsyXVszXWBgIGFycmF5cyB0aGF0IGNhbiBiZSBsb2NhdGVkIGFueXdoZXJlIGluIG1lbW9yeS4KKworCitIZXJlIGlzIGEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgcG9pbnRlciB0byB0aGUgZWxlbWVudCBpbiBhbiBOLUQgYXJyYXkKK3BvaW50ZWQgdG8gYnkgYW4gTi1kaW1lbnNpb25hbCBpbmRleCB3aGVuIHRoZXJlIGFyZSBib3RoIG5vbi1OVUxMIHN0cmlkZXMKK2FuZCBzdWJvZmZzZXRzOjoKKworICAgdm9pZCAqZ2V0X2l0ZW1fcG9pbnRlcihpbnQgbmRpbSwgdm9pZCAqYnVmLCBQeV9zc2l6ZV90ICpzdHJpZGVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90ICpzdWJvZmZzZXRzLCBQeV9zc2l6ZV90ICppbmRpY2VzKSB7CisgICAgICAgY2hhciAqcG9pbnRlciA9IChjaGFyKilidWY7CisgICAgICAgaW50IGk7CisgICAgICAgZm9yIChpID0gMDsgaSA8IG5kaW07IGkrKykgeworICAgICAgICAgICBwb2ludGVyICs9IHN0cmlkZXNbaV0gKiBpbmRpY2VzW2ldOworICAgICAgICAgICBpZiAoc3Vib2Zmc2V0c1tpXSA+PTAgKSB7CisgICAgICAgICAgICAgICBwb2ludGVyID0gKigoY2hhcioqKXBvaW50ZXIpICsgc3Vib2Zmc2V0c1tpXTsKKyAgICAgICAgICAgfQorICAgICAgIH0KKyAgICAgICByZXR1cm4gKHZvaWQqKXBvaW50ZXI7CisgICB9CisKIAogQnVmZmVyLXJlbGF0ZWQgZnVuY3Rpb25zCiA9PT09PT09PT09PT09PT09PT09PT09PT0KIAotCiAuLiBjOmZ1bmN0aW9uOjogaW50IFB5T2JqZWN0X0NoZWNrQnVmZmVyKFB5T2JqZWN0ICpvYmopCiAKICAgIFJldHVybiAxIGlmICpvYmoqIHN1cHBvcnRzIHRoZSBidWZmZXIgaW50ZXJmYWNlIG90aGVyd2lzZSAwLiAgV2hlbiAxIGlzCkBAIC0xNzUsMTUyICs0MjEsNzEgQEAKICAgIHN1Y2NlZWQuCiAKIAotLi4gYzpmdW5jdGlvbjo6IGludCBQeU9iamVjdF9HZXRCdWZmZXIoUHlPYmplY3QgKm9iaiwgUHlfYnVmZmVyICp2aWV3LCBpbnQgZmxhZ3MpCisuLiBjOmZ1bmN0aW9uOjogaW50IFB5T2JqZWN0X0dldEJ1ZmZlcihQeU9iamVjdCAqZXhwb3J0ZXIsIFB5X2J1ZmZlciAqdmlldywgaW50IGZsYWdzKQogCi0gICAgICBFeHBvcnQgYSB2aWV3IG92ZXIgc29tZSBpbnRlcm5hbCBkYXRhIGZyb20gdGhlIHRhcmdldCBvYmplY3QgKm9iaiouCi0gICAgICAqb2JqKiBtdXN0IG5vdCBiZSBOVUxMLCBhbmQgKnZpZXcqIG11c3QgcG9pbnQgdG8gYW4gZXhpc3RpbmcKLSAgICAgIDpjOnR5cGU6YFB5X2J1ZmZlcmAgc3RydWN0dXJlIGFsbG9jYXRlZCBieSB0aGUgY2FsbGVyIChtb3N0IHVzZXMgb2YKLSAgICAgIHRoaXMgZnVuY3Rpb24gd2lsbCBzaW1wbHkgZGVjbGFyZSBhIGxvY2FsIHZhcmlhYmxlIG9mIHR5cGUKLSAgICAgIDpjOnR5cGU6YFB5X2J1ZmZlcmApLiAgVGhlICpmbGFncyogYXJndW1lbnQgaXMgYSBiaXQgZmllbGQgaW5kaWNhdGluZwotICAgICAgd2hhdCBraW5kIG9mIGJ1ZmZlciBpcyByZXF1ZXN0ZWQuICBUaGUgYnVmZmVyIGludGVyZmFjZSBhbGxvd3MKLSAgICAgIGZvciBjb21wbGljYXRlZCBtZW1vcnkgbGF5b3V0IHBvc3NpYmlsaXRpZXM7IGhvd2V2ZXIsIHNvbWUgY2FsbGVycwotICAgICAgd29uJ3Qgd2FudCB0byBoYW5kbGUgYWxsIHRoZSBjb21wbGV4aXR5IGFuZCBpbnN0ZWFkIHJlcXVlc3QgYSBzaW1wbGUKLSAgICAgIHZpZXcgb2YgdGhlIHRhcmdldCBvYmplY3QgKHVzaW5nIDpjOm1hY3JvOmBQeUJVRl9TSU1QTEVgIGZvciBhIHJlYWQtb25seQotICAgICAgdmlldyBhbmQgOmM6bWFjcm86YFB5QlVGX1dSSVRBQkxFYCBmb3IgYSByZWFkLXdyaXRlIHZpZXcpLgorICAgU2VuZCBhIHJlcXVlc3QgdG8gKmV4cG9ydGVyKiB0byBmaWxsIGluICp2aWV3KiBhcyBzcGVjaWZpZWQgYnkgICpmbGFncyouCisgICBJZiB0aGUgZXhwb3J0ZXIgY2Fubm90IHByb3ZpZGUgYSBidWZmZXIgb2YgdGhlIGV4YWN0IHR5cGUsIGl0IE1VU1QgcmFpc2UKKyAgIDpjOmRhdGE6YFB5RXhjX0J1ZmZlckVycm9yYCwgc2V0IDpjOm1lbWJlcjpgdmlldy0+b2JqYCB0byAqTlVMTCogYW5kCisgICByZXR1cm4gLTEuCiAKLSAgICAgIFNvbWUgZXhwb3J0ZXJzIG1heSBub3QgYmUgYWJsZSB0byBzaGFyZSBtZW1vcnkgaW4gZXZlcnkgcG9zc2libGUgd2F5IGFuZAotICAgICAgbWF5IG5lZWQgdG8gcmFpc2UgZXJyb3JzIHRvIHNpZ25hbCB0byBzb21lIGNvbnN1bWVycyB0aGF0IHNvbWV0aGluZyBpcwotICAgICAganVzdCBub3QgcG9zc2libGUuIFRoZXNlIGVycm9ycyBzaG91bGQgYmUgYSA6ZXhjOmBCdWZmZXJFcnJvcmAgdW5sZXNzCi0gICAgICB0aGVyZSBpcyBhbm90aGVyIGVycm9yIHRoYXQgaXMgYWN0dWFsbHkgY2F1c2luZyB0aGUgcHJvYmxlbS4gVGhlCi0gICAgICBleHBvcnRlciBjYW4gdXNlIGZsYWdzIGluZm9ybWF0aW9uIHRvIHNpbXBsaWZ5IGhvdyBtdWNoIG9mIHRoZQotICAgICAgOmM6ZGF0YTpgUHlfYnVmZmVyYCBzdHJ1Y3R1cmUgaXMgZmlsbGVkIGluIHdpdGggbm9uLWRlZmF1bHQgdmFsdWVzIGFuZC9vcgotICAgICAgcmFpc2UgYW4gZXJyb3IgaWYgdGhlIG9iamVjdCBjYW4ndCBzdXBwb3J0IGEgc2ltcGxlciB2aWV3IG9mIGl0cyBtZW1vcnkuCisgICBPbiBzdWNjZXNzLCBmaWxsIGluICp2aWV3Kiwgc2V0IDpjOm1lbWJlcjpgdmlldy0+b2JqYCB0byBhIG5ldyByZWZlcmVuY2UKKyAgIHRvICpleHBvcnRlciogYW5kIHJldHVybiAwLiBJbiB0aGUgY2FzZSBvZiBjaGFpbmVkIGJ1ZmZlciBwcm92aWRlcnMKKyAgIHRoYXQgcmVkaXJlY3QgcmVxdWVzdHMgdG8gYSBzaW5nbGUgb2JqZWN0LCA6YzptZW1iZXI6YHZpZXctPm9iamAgTUFZCisgICByZWZlciB0byB0aGlzIG9iamVjdCBpbnN0ZWFkIG9mICpleHBvcnRlciogKFNlZSA6cmVmOmBCdWZmZXIgT2JqZWN0IFN0cnVjdHVyZXMgPGJ1ZmZlci1zdHJ1Y3RzPmApLgogCi0gICAgICBPbiBzdWNjZXNzLCAwIGlzIHJldHVybmVkIGFuZCB0aGUgKnZpZXcqIHN0cnVjdHVyZSBpcyBmaWxsZWQgd2l0aCB1c2VmdWwKLSAgICAgIHZhbHVlcy4gIE9uIGVycm9yLCAtMSBpcyByZXR1cm5lZCBhbmQgYW4gZXhjZXB0aW9uIGlzIHJhaXNlZDsgdGhlICp2aWV3KgotICAgICAgaXMgbGVmdCBpbiBhbiB1bmRlZmluZWQgc3RhdGUuCi0KLSAgICAgIFRoZSBmb2xsb3dpbmcgYXJlIHRoZSBwb3NzaWJsZSB2YWx1ZXMgdG8gdGhlICpmbGFncyogYXJndW1lbnRzLgotCi0gICAgICAuLiBjOm1hY3JvOjogUHlCVUZfU0lNUExFCi0KLSAgICAgICAgIFRoaXMgaXMgdGhlIGRlZmF1bHQgZmxhZy4gIFRoZSByZXR1cm5lZCBidWZmZXIgZXhwb3NlcyBhIHJlYWQtb25seQotICAgICAgICAgbWVtb3J5IGFyZWEuICBUaGUgZm9ybWF0IG9mIGRhdGEgaXMgYXNzdW1lZCB0byBiZSByYXcgdW5zaWduZWQgYnl0ZXMsCi0gICAgICAgICB3aXRob3V0IGFueSBwYXJ0aWN1bGFyIHN0cnVjdHVyZS4gIFRoaXMgaXMgYSAic3RhbmQtYWxvbmUiIGZsYWcKLSAgICAgICAgIGNvbnN0YW50LiAgSXQgbmV2ZXIgbmVlZHMgdG8gYmUgJ3wnZCB0byB0aGUgb3RoZXJzLiAgVGhlIGV4cG9ydGVyIHdpbGwKLSAgICAgICAgIHJhaXNlIGFuIGVycm9yIGlmIGl0IGNhbm5vdCBwcm92aWRlIHN1Y2ggYSBjb250aWd1b3VzIGJ1ZmZlciBvZiBieXRlcy4KLQotICAgICAgLi4gYzptYWNybzo6IFB5QlVGX1dSSVRBQkxFCi0KLSAgICAgICAgIExpa2UgOmM6bWFjcm86YFB5QlVGX1NJTVBMRWAsIGJ1dCB0aGUgcmV0dXJuZWQgYnVmZmVyIGlzIHdyaXRhYmxlLiAgSWYKLSAgICAgICAgIHRoZSBleHBvcnRlciBkb2Vzbid0IHN1cHBvcnQgd3JpdGFibGUgYnVmZmVycywgYW4gZXJyb3IgaXMgcmFpc2VkLgotCi0gICAgICAuLiBjOm1hY3JvOjogUHlCVUZfU1RSSURFUwotCi0gICAgICAgICBUaGlzIGltcGxpZXMgOmM6bWFjcm86YFB5QlVGX05EYC4gIFRoZSByZXR1cm5lZCBidWZmZXIgbXVzdCBwcm92aWRlCi0gICAgICAgICBzdHJpZGVzIGluZm9ybWF0aW9uIChpLmUuIHRoZSBzdHJpZGVzIGNhbm5vdCBiZSBOVUxMKS4gIFRoaXMgd291bGQgYmUKLSAgICAgICAgIHVzZWQgd2hlbiB0aGUgY29uc3VtZXIgY2FuIGhhbmRsZSBzdHJpZGVkLCBkaXNjb250aWd1b3VzIGFycmF5cy4KLSAgICAgICAgIEhhbmRsaW5nIHN0cmlkZXMgYXV0b21hdGljYWxseSBhc3N1bWVzIHlvdSBjYW4gaGFuZGxlIHNoYXBlLiAgVGhlCi0gICAgICAgICBleHBvcnRlciBjYW4gcmFpc2UgYW4gZXJyb3IgaWYgYSBzdHJpZGVkIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBkYXRhIGlzCi0gICAgICAgICBub3QgcG9zc2libGUgKGkuZS4gd2l0aG91dCB0aGUgc3Vib2Zmc2V0cykuCi0KLSAgICAgIC4uIGM6bWFjcm86OiBQeUJVRl9ORAotCi0gICAgICAgICBUaGUgcmV0dXJuZWQgYnVmZmVyIG11c3QgcHJvdmlkZSBzaGFwZSBpbmZvcm1hdGlvbi4gIFRoZSBtZW1vcnkgd2lsbCBiZQotICAgICAgICAgYXNzdW1lZCBDLXN0eWxlIGNvbnRpZ3VvdXMgKGxhc3QgZGltZW5zaW9uIHZhcmllcyB0aGUgZmFzdGVzdCkuICBUaGUKLSAgICAgICAgIGV4cG9ydGVyIG1heSByYWlzZSBhbiBlcnJvciBpZiBpdCBjYW5ub3QgcHJvdmlkZSB0aGlzIGtpbmQgb2YKLSAgICAgICAgIGNvbnRpZ3VvdXMgYnVmZmVyLiAgSWYgdGhpcyBpcyBub3QgZ2l2ZW4gdGhlbiBzaGFwZSB3aWxsIGJlICpOVUxMKi4KLQotICAgICAgLi4gYzptYWNybzo6IFB5QlVGX0NfQ09OVElHVU9VUwotICAgICAgICAgICAgICAgICAgUHlCVUZfRl9DT05USUdVT1VTCi0gICAgICAgICAgICAgICAgICBQeUJVRl9BTllfQ09OVElHVU9VUwotCi0gICAgICAgICBUaGVzZSBmbGFncyBpbmRpY2F0ZSB0aGF0IHRoZSBjb250aWd1aXR5IHJldHVybmVkIGJ1ZmZlciBtdXN0IGJlCi0gICAgICAgICByZXNwZWN0aXZlbHksIEMtY29udGlndW91cyAobGFzdCBkaW1lbnNpb24gdmFyaWVzIHRoZSBmYXN0ZXN0KSwgRm9ydHJhbgotICAgICAgICAgY29udGlndW91cyAoZmlyc3QgZGltZW5zaW9uIHZhcmllcyB0aGUgZmFzdGVzdCkgb3IgZWl0aGVyIG9uZS4gIEFsbCBvZgotICAgICAgICAgdGhlc2UgZmxhZ3MgaW1wbHkgOmM6bWFjcm86YFB5QlVGX1NUUklERVNgIGFuZCBndWFyYW50ZWUgdGhhdCB0aGUKLSAgICAgICAgIHN0cmlkZXMgYnVmZmVyIGluZm8gc3RydWN0dXJlIHdpbGwgYmUgZmlsbGVkIGluIGNvcnJlY3RseS4KLQotICAgICAgLi4gYzptYWNybzo6IFB5QlVGX0lORElSRUNUCi0KLSAgICAgICAgIFRoaXMgZmxhZyBpbmRpY2F0ZXMgdGhlIHJldHVybmVkIGJ1ZmZlciBtdXN0IGhhdmUgc3Vib2Zmc2V0cwotICAgICAgICAgaW5mb3JtYXRpb24gKHdoaWNoIGNhbiBiZSBOVUxMIGlmIG5vIHN1Ym9mZnNldHMgYXJlIG5lZWRlZCkuICBUaGlzIGNhbgotICAgICAgICAgYmUgdXNlZCB3aGVuIHRoZSBjb25zdW1lciBjYW4gaGFuZGxlIGluZGlyZWN0IGFycmF5IHJlZmVyZW5jaW5nIGltcGxpZWQKLSAgICAgICAgIGJ5IHRoZXNlIHN1Ym9mZnNldHMuIFRoaXMgaW1wbGllcyA6YzptYWNybzpgUHlCVUZfU1RSSURFU2AuCi0KLSAgICAgIC4uIGM6bWFjcm86OiBQeUJVRl9GT1JNQVQKLQotICAgICAgICAgVGhlIHJldHVybmVkIGJ1ZmZlciBtdXN0IGhhdmUgdHJ1ZSBmb3JtYXQgaW5mb3JtYXRpb24gaWYgdGhpcyBmbGFnIGlzCi0gICAgICAgICBwcm92aWRlZC4gIFRoaXMgd291bGQgYmUgdXNlZCB3aGVuIHRoZSBjb25zdW1lciBpcyBnb2luZyB0byBiZSBjaGVja2luZwotICAgICAgICAgZm9yIHdoYXQgJ2tpbmQnIG9mIGRhdGEgaXMgYWN0dWFsbHkgc3RvcmVkLiAgQW4gZXhwb3J0ZXIgc2hvdWxkIGFsd2F5cwotICAgICAgICAgYmUgYWJsZSB0byBwcm92aWRlIHRoaXMgaW5mb3JtYXRpb24gaWYgcmVxdWVzdGVkLiAgSWYgZm9ybWF0IGlzIG5vdAotICAgICAgICAgZXhwbGljaXRseSByZXF1ZXN0ZWQgdGhlbiB0aGUgZm9ybWF0IG11c3QgYmUgcmV0dXJuZWQgYXMgKk5VTEwqICh3aGljaAotICAgICAgICAgbWVhbnMgYGAnQidgYCwgb3IgdW5zaWduZWQgYnl0ZXMpLgotCi0gICAgICAuLiBjOm1hY3JvOjogUHlCVUZfU1RSSURFRAotCi0gICAgICAgICBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGAoUHlCVUZfU1RSSURFUyB8IFB5QlVGX1dSSVRBQkxFKWBgLgotCi0gICAgICAuLiBjOm1hY3JvOjogUHlCVUZfU1RSSURFRF9STwotCi0gICAgICAgICBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGAoUHlCVUZfU1RSSURFUylgYC4KLQotICAgICAgLi4gYzptYWNybzo6IFB5QlVGX1JFQ09SRFMKLQotICAgICAgICAgVGhpcyBpcyBlcXVpdmFsZW50IHRvIGBgKFB5QlVGX1NUUklERVMgfCBQeUJVRl9GT1JNQVQgfAotICAgICAgICAgUHlCVUZfV1JJVEFCTEUpYGAuCi0KLSAgICAgIC4uIGM6bWFjcm86OiBQeUJVRl9SRUNPUkRTX1JPCi0KLSAgICAgICAgIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYChQeUJVRl9TVFJJREVTIHwgUHlCVUZfRk9STUFUKWBgLgotCi0gICAgICAuLiBjOm1hY3JvOjogUHlCVUZfRlVMTAotCi0gICAgICAgICBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGAoUHlCVUZfSU5ESVJFQ1QgfCBQeUJVRl9GT1JNQVQgfAotICAgICAgICAgUHlCVUZfV1JJVEFCTEUpYGAuCi0KLSAgICAgIC4uIGM6bWFjcm86OiBQeUJVRl9GVUxMX1JPCi0KLSAgICAgICAgIFRoaXMgaXMgZXF1aXZhbGVudCB0byBgYChQeUJVRl9JTkRJUkVDVCB8IFB5QlVGX0ZPUk1BVClgYC4KLQotICAgICAgLi4gYzptYWNybzo6IFB5QlVGX0NPTlRJRwotCi0gICAgICAgICBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGAoUHlCVUZfTkQgfCBQeUJVRl9XUklUQUJMRSlgYC4KLQotICAgICAgLi4gYzptYWNybzo6IFB5QlVGX0NPTlRJR19STwotCi0gICAgICAgICBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gYGAoUHlCVUZfTkQpYGAuCisgICBTdWNjZXNzZnVsIGNhbGxzIHRvIDpjOmZ1bmM6YFB5T2JqZWN0X0dldEJ1ZmZlcmAgbXVzdCBiZSBwYWlyZWQgd2l0aCBjYWxscworICAgdG8gOmM6ZnVuYzpgUHlCdWZmZXJfUmVsZWFzZWAsIHNpbWlsYXIgdG8gOmM6ZnVuYzpgbWFsbG9jYCBhbmQgOmM6ZnVuYzpgZnJlZWAuCisgICBUaHVzLCBhZnRlciB0aGUgY29uc3VtZXIgaXMgZG9uZSB3aXRoIHRoZSBidWZmZXIsIDpjOmZ1bmM6YFB5QnVmZmVyX1JlbGVhc2VgCisgICBtdXN0IGJlIGNhbGxlZCBleGFjdGx5IG9uY2UuCiAKIAogLi4gYzpmdW5jdGlvbjo6IHZvaWQgUHlCdWZmZXJfUmVsZWFzZShQeV9idWZmZXIgKnZpZXcpCiAKLSAgIFJlbGVhc2UgdGhlIGJ1ZmZlciAqdmlldyouICBUaGlzIHNob3VsZCBiZSBjYWxsZWQgd2hlbiB0aGUgYnVmZmVyIGlzIG5vCi0gICBsb25nZXIgYmVpbmcgdXNlZCBhcyBpdCBtYXkgZnJlZSBtZW1vcnkgZnJvbSBpdC4KKyAgIFJlbGVhc2UgdGhlIGJ1ZmZlciAqdmlldyogYW5kIGRlY3JlbWVudCB0aGUgcmVmZXJlbmNlIGNvdW50IGZvcgorICAgOmM6bWVtYmVyOmB2aWV3LT5vYmpgLiBUaGlzIGZ1bmN0aW9uIE1VU1QgYmUgY2FsbGVkIHdoZW4gdGhlIGJ1ZmZlcgorICAgaXMgbm8gbG9uZ2VyIGJlaW5nIHVzZWQsIG90aGVyd2lzZSByZWZlcmVuY2UgbGVha3MgbWF5IG9jY3VyLgorCisgICBJdCBpcyBhbiBlcnJvciB0byBjYWxsIHRoaXMgZnVuY3Rpb24gb24gYSBidWZmZXIgdGhhdCB3YXMgbm90IG9idGFpbmVkIHZpYQorICAgOmM6ZnVuYzpgUHlPYmplY3RfR2V0QnVmZmVyYC4KIAogCiAuLiBjOmZ1bmN0aW9uOjogUHlfc3NpemVfdCBQeUJ1ZmZlcl9TaXplRnJvbUZvcm1hdChjb25zdCBjaGFyICopCiAKLSAgIFJldHVybiB0aGUgaW1wbGllZCA6YzpkYXRhOmB+UHlfYnVmZmVyLml0ZW1zaXplYCBmcm9tIHRoZSBzdHJ1Y3Qtc3R5cGUKLSAgIDpjOmRhdGE6YH5QeV9idWZmZXIuZm9ybWF0YC4KKyAgIFJldHVybiB0aGUgaW1wbGllZCA6YzpkYXRhOmB+UHlfYnVmZmVyLml0ZW1zaXplYCBmcm9tIDpjOmRhdGE6YH5QeV9idWZmZXIuZm9ybWF0YC4KKyAgIFRoaXMgZnVuY3Rpb24gaXMgbm90IHlldCBpbXBsZW1lbnRlZC4KIAogCi0uLiBjOmZ1bmN0aW9uOjogaW50IFB5QnVmZmVyX0lzQ29udGlndW91cyhQeV9idWZmZXIgKnZpZXcsIGNoYXIgZm9ydHJhbikKKy4uIGM6ZnVuY3Rpb246OiBpbnQgUHlCdWZmZXJfSXNDb250aWd1b3VzKFB5X2J1ZmZlciAqdmlldywgY2hhciBvcmRlcikKIAotICAgUmV0dXJuIDEgaWYgdGhlIG1lbW9yeSBkZWZpbmVkIGJ5IHRoZSAqdmlldyogaXMgQy1zdHlsZSAoKmZvcnRyYW4qIGlzCi0gICBgYCdDJ2BgKSBvciBGb3J0cmFuLXN0eWxlICgqZm9ydHJhbiogaXMgYGAnRidgYCkgY29udGlndW91cyBvciBlaXRoZXIgb25lCi0gICAoKmZvcnRyYW4qIGlzIGBgJ0EnYGApLiAgUmV0dXJuIDAgb3RoZXJ3aXNlLgorICAgUmV0dXJuIDEgaWYgdGhlIG1lbW9yeSBkZWZpbmVkIGJ5IHRoZSAqdmlldyogaXMgQy1zdHlsZSAoKm9yZGVyKiBpcworICAgYGAnQydgYCkgb3IgRm9ydHJhbi1zdHlsZSAoKm9yZGVyKiBpcyBgYCdGJ2BgKSBjb250aWd1b3VzIG9yIGVpdGhlciBvbmUKKyAgICgqb3JkZXIqIGlzIGBgJ0EnYGApLiAgUmV0dXJuIDAgb3RoZXJ3aXNlLgogCiAKLS4uIGM6ZnVuY3Rpb246OiB2b2lkIFB5QnVmZmVyX0ZpbGxDb250aWd1b3VzU3RyaWRlcyhpbnQgbmRpbSwgUHlfc3NpemVfdCAqc2hhcGUsIFB5X3NzaXplX3QgKnN0cmlkZXMsIFB5X3NzaXplX3QgaXRlbXNpemUsIGNoYXIgZm9ydHJhbikKKy4uIGM6ZnVuY3Rpb246OiB2b2lkIFB5QnVmZmVyX0ZpbGxDb250aWd1b3VzU3RyaWRlcyhpbnQgbmRpbSwgUHlfc3NpemVfdCAqc2hhcGUsIFB5X3NzaXplX3QgKnN0cmlkZXMsIFB5X3NzaXplX3QgaXRlbXNpemUsIGNoYXIgb3JkZXIpCiAKICAgIEZpbGwgdGhlICpzdHJpZGVzKiBhcnJheSB3aXRoIGJ5dGUtc3RyaWRlcyBvZiBhIGNvbnRpZ3VvdXMgKEMtc3R5bGUgaWYKLSAgICpmb3J0cmFuKiBpcyBgYCdDJ2BgIG9yIEZvcnRyYW4tc3R5bGUgaWYgKmZvcnRyYW4qIGlzIGBgJ0YnYGApIGFycmF5IG9mIHRoZQorICAgKm9yZGVyKiBpcyBgYCdDJ2BgIG9yIEZvcnRyYW4tc3R5bGUgaWYgKm9yZGVyKiBpcyBgYCdGJ2BgKSBhcnJheSBvZiB0aGUKICAgIGdpdmVuIHNoYXBlIHdpdGggdGhlIGdpdmVuIG51bWJlciBvZiBieXRlcyBwZXIgZWxlbWVudC4KIAogCi0uLiBjOmZ1bmN0aW9uOjogaW50IFB5QnVmZmVyX0ZpbGxJbmZvKFB5X2J1ZmZlciAqdmlldywgUHlPYmplY3QgKm9iaiwgdm9pZCAqYnVmLCBQeV9zc2l6ZV90IGxlbiwgaW50IHJlYWRvbmx5LCBpbnQgaW5mb2ZsYWdzKQorLi4gYzpmdW5jdGlvbjo6IGludCBQeUJ1ZmZlcl9GaWxsSW5mbyhQeV9idWZmZXIgKnZpZXcsIFB5T2JqZWN0ICpleHBvcnRlciwgdm9pZCAqYnVmLCBQeV9zc2l6ZV90IGxlbiwgaW50IHJlYWRvbmx5LCBpbnQgZmxhZ3MpCiAKLSAgIEZpbGwgaW4gYSBidWZmZXItaW5mbyBzdHJ1Y3R1cmUsICp2aWV3KiwgY29ycmVjdGx5IGZvciBhbiBleHBvcnRlciB0aGF0IGNhbgotICAgb25seSBzaGFyZSBhIGNvbnRpZ3VvdXMgY2h1bmsgb2YgbWVtb3J5IG9mICJ1bnNpZ25lZCBieXRlcyIgb2YgdGhlIGdpdmVuCi0gICBsZW5ndGguICBSZXR1cm4gMCBvbiBzdWNjZXNzIGFuZCAtMSAod2l0aCByYWlzaW5nIGFuIGVycm9yKSBvbiBlcnJvci4KKyAgIEhhbmRsZSBidWZmZXIgcmVxdWVzdHMgZm9yIGFuIGV4cG9ydGVyIHRoYXQgd2FudHMgdG8gZXhwb3NlICpidWYqIG9mIHNpemUgKmxlbioKKyAgIHdpdGggd3JpdGFiaWxpdHkgc2V0IGFjY29yZGluZyB0byAqcmVhZG9ubHkqLiAqYnVmKiBpcyBpbnRlcnByZXRlZCBhcyBhIHNlcXVlbmNlCisgICBvZiB1bnNpZ25lZCBieXRlcy4KKworICAgVGhlICpmbGFncyogYXJndW1lbnQgaW5kaWNhdGVzIHRoZSByZXF1ZXN0IHR5cGUuIFRoaXMgZnVuY3Rpb24gYWx3YXlzIGZpbGxzIGluCisgICAqdmlldyogYXMgc3BlY2lmaWVkIGJ5IGZsYWdzLCB1bmxlc3MgKmJ1ZiogaGFzIGJlZW4gZGVzaWduYXRlZCBhcyByZWFkLW9ubHkKKyAgIGFuZCA6YzptYWNybzpgUHlCVUZfV1JJVEFCTEVgIGlzIHNldCBpbiAqZmxhZ3MqLgorCisgICBPbiBzdWNjZXNzLCBzZXQgOmM6bWVtYmVyOmB2aWV3LT5vYmpgIHRvIGEgbmV3IHJlZmVyZW5jZSB0byAqZXhwb3J0ZXIqIGFuZAorICAgcmV0dXJuIDAuIE90aGVyd2lzZSwgcmFpc2UgOmM6ZGF0YTpgUHlFeGNfQnVmZmVyRXJyb3JgLCBzZXQKKyAgIDpjOm1lbWJlcjpgdmlldy0+b2JqYCB0byAqTlVMTCogYW5kIHJldHVybiAtMTsKKworICAgSWYgdGhpcyBmdW5jdGlvbiBpcyB1c2VkIGFzIHBhcnQgb2YgYSA6cmVmOmBnZXRidWZmZXJwcm9jIDxidWZmZXItc3RydWN0cz5gLAorICAgKmV4cG9ydGVyKiBNVVNUIGJlIHNldCB0byB0aGUgZXhwb3J0aW5nIG9iamVjdC4gT3RoZXJ3aXNlLCAqZXhwb3J0ZXIqIE1VU1QKKyAgIGJlIE5VTEwuCisKKwogCmRpZmYgLS1naXQgYS9Eb2MvYy1hcGkvZGF0ZXRpbWUucnN0IGIvRG9jL2MtYXBpL2RhdGV0aW1lLnJzdAppbmRleCBmY2QxMzk1Li4zOTU0MmJkIDEwMDY0NAotLS0gYS9Eb2MvYy1hcGkvZGF0ZXRpbWUucnN0CisrKyBiL0RvYy9jLWFwaS9kYXRldGltZS5yc3QKQEAgLTE3MCw2ICsxNzAsMzEgQEAKICAgIFJldHVybiB0aGUgbWljcm9zZWNvbmQsIGFzIGFuIGludCBmcm9tIDAgdGhyb3VnaCA5OTk5OTkuCiAKIAorTWFjcm9zIHRvIGV4dHJhY3QgZmllbGRzIGZyb20gdGltZSBkZWx0YSBvYmplY3RzLiAgVGhlIGFyZ3VtZW50IG11c3QgYmUgYW4KK2luc3RhbmNlIG9mIDpjOmRhdGE6YFB5RGF0ZVRpbWVfRGVsdGFgLCBpbmNsdWRpbmcgc3ViY2xhc3Nlcy4gVGhlIGFyZ3VtZW50IG11c3QKK25vdCBiZSAqTlVMTCosIGFuZCB0aGUgdHlwZSBpcyBub3QgY2hlY2tlZDoKKworLi4gYzpmdW5jdGlvbjo6IGludCBQeURhdGVUaW1lX0RFTFRBX0dFVF9EQVlTKFB5RGF0ZVRpbWVfRGVsdGEgKm8pCisKKyAgIFJldHVybiB0aGUgbnVtYmVyIG9mIGRheXMsIGFzIGFuIGludCBmcm9tIC05OTk5OTk5OTkgdG8gOTk5OTk5OTk5LgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKKworCisuLiBjOmZ1bmN0aW9uOjogaW50IFB5RGF0ZVRpbWVfREVMVEFfR0VUX1NFQ09ORFMoUHlEYXRlVGltZV9EZWx0YSAqbykKKworICAgUmV0dXJuIHRoZSBudW1iZXIgb2Ygc2Vjb25kcywgYXMgYW4gaW50IGZyb20gMCB0aHJvdWdoIDg2Mzk5LgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKKworCisuLiBjOmZ1bmN0aW9uOjogaW50IFB5RGF0ZVRpbWVfREVMVEFfR0VUX01JQ1JPU0VDT05EKFB5RGF0ZVRpbWVfRGVsdGEgKm8pCisKKyAgIFJldHVybiB0aGUgbnVtYmVyIG9mIG1pY3Jvc2Vjb25kcywgYXMgYW4gaW50IGZyb20gMCB0aHJvdWdoIDk5OTk5OS4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy4zCisKKwogTWFjcm9zIGZvciB0aGUgY29udmVuaWVuY2Ugb2YgbW9kdWxlcyBpbXBsZW1lbnRpbmcgdGhlIERCIEFQSToKIAogLi4gYzpmdW5jdGlvbjo6IFB5T2JqZWN0KiBQeURhdGVUaW1lX0Zyb21UaW1lc3RhbXAoUHlPYmplY3QgKmFyZ3MpCmRpZmYgLS1naXQgYS9Eb2MvYy1hcGkvZGljdC5yc3QgYi9Eb2MvYy1hcGkvZGljdC5yc3QKaW5kZXggNmRmODRlMC4uYWM3MTRhNiAxMDA2NDQKLS0tIGEvRG9jL2MtYXBpL2RpY3QucnN0CisrKyBiL0RvYy9jLWFwaS9kaWN0LnJzdApAQCAtMjA5LDMgKzIwOSwxMCBAQAogICAgICAgICAgIGZvciBrZXksIHZhbHVlIGluIHNlcTI6CiAgICAgICAgICAgICAgIGlmIG92ZXJyaWRlIG9yIGtleSBub3QgaW4gYToKICAgICAgICAgICAgICAgICAgIGFba2V5XSA9IHZhbHVlCisKKworLi4gYzpmdW5jdGlvbjo6IGludCBQeURpY3RfQ2xlYXJGcmVlTGlzdCgpCisKKyAgIENsZWFyIHRoZSBmcmVlIGxpc3QuIFJldHVybiB0aGUgdG90YWwgbnVtYmVyIG9mIGZyZWVkIGl0ZW1zLgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKZGlmZiAtLWdpdCBhL0RvYy9jLWFwaS9leGNlcHRpb25zLnJzdCBiL0RvYy9jLWFwaS9leGNlcHRpb25zLnJzdAppbmRleCA2ZjEzYzgwLi5mZDdhZWU3IDEwMDY0NAotLS0gYS9Eb2MvYy1hcGkvZXhjZXB0aW9ucy5yc3QKKysrIGIvRG9jL2MtYXBpL2V4Y2VwdGlvbnMucnN0CkBAIC00MjEsMTcgKzQyMSwyNCBAQAogCiAuLiBjOmZ1bmN0aW9uOjogUHlPYmplY3QqIFB5RXhjZXB0aW9uX0dldENhdXNlKFB5T2JqZWN0ICpleCkKIAotICAgUmV0dXJuIHRoZSBjYXVzZSAoYW5vdGhlciBleGNlcHRpb24gaW5zdGFuY2Ugc2V0IGJ5IGBgcmFpc2UgLi4uIGZyb20gLi4uYGApCi0gICBhc3NvY2lhdGVkIHdpdGggdGhlIGV4Y2VwdGlvbiBhcyBhIG5ldyByZWZlcmVuY2UsIGFzIGFjY2Vzc2libGUgZnJvbSBQeXRob24KLSAgIHRocm91Z2ggOmF0dHI6YF9fY2F1c2VfX2AuICBJZiB0aGVyZSBpcyBubyBjYXVzZSBhc3NvY2lhdGVkLCB0aGlzIHJldHVybnMKLSAgICpOVUxMKi4KKyAgIFJldHVybiB0aGUgY2F1c2UgKGVpdGhlciBhbiBleGNlcHRpb24gaW5zdGFuY2UsIG9yIDpjb25zdDpgTm9uZWAsCisgICBzZXQgYnkgYGByYWlzZSAuLi4gZnJvbSAuLi5gYCkgYXNzb2NpYXRlZCB3aXRoIHRoZSBleGNlcHRpb24gYXMgYSBuZXcKKyAgIHJlZmVyZW5jZSwgYXMgYWNjZXNzaWJsZSBmcm9tIFB5dGhvbiB0aHJvdWdoIDphdHRyOmBfX2NhdXNlX19gLgorCisgICBJZiB0aGVyZSBpcyBubyBjYXVzZSBhc3NvY2lhdGVkLCB0aGlzIHJldHVybnMgKk5VTEwqIChmcm9tIFB5dGhvbgorICAgYGBfX2NhdXNlX18gaXMgRWxsaXBzaXNgYCkuICBJZiB0aGUgY2F1c2UgaXMgOmNvbnN0OmBOb25lYCwgdGhlIGRlZmF1bHQKKyAgIGV4Y2VwdGlvbiBkaXNwbGF5IHJvdXRpbmVzIHN0b3Agc2hvd2luZyB0aGUgY29udGV4dCBjaGFpbi4KIAogCiAuLiBjOmZ1bmN0aW9uOjogdm9pZCBQeUV4Y2VwdGlvbl9TZXRDYXVzZShQeU9iamVjdCAqZXgsIFB5T2JqZWN0ICpjdHgpCiAKICAgIFNldCB0aGUgY2F1c2UgYXNzb2NpYXRlZCB3aXRoIHRoZSBleGNlcHRpb24gdG8gKmN0eCouICBVc2UgKk5VTEwqIHRvIGNsZWFyCi0gICBpdC4gIFRoZXJlIGlzIG5vIHR5cGUgY2hlY2sgdG8gbWFrZSBzdXJlIHRoYXQgKmN0eCogaXMgYW4gZXhjZXB0aW9uIGluc3RhbmNlLgotICAgVGhpcyBzdGVhbHMgYSByZWZlcmVuY2UgdG8gKmN0eCouCisgICBpdC4gIFRoZXJlIGlzIG5vIHR5cGUgY2hlY2sgdG8gbWFrZSBzdXJlIHRoYXQgKmN0eCogaXMgZWl0aGVyIGFuIGV4Y2VwdGlvbgorICAgaW5zdGFuY2Ugb3IgOmNvbnN0OmBOb25lYC4gIFRoaXMgc3RlYWxzIGEgcmVmZXJlbmNlIHRvICpjdHgqLgorCisgICBJZiB0aGUgY2F1c2UgaXMgc2V0IHRvIDpjb25zdDpgTm9uZWAgdGhlIGRlZmF1bHQgZXhjZXB0aW9uIGRpc3BsYXkKKyAgIHJvdXRpbmVzIHdpbGwgbm90IGRpc3BsYXkgdGhpcyBleGNlcHRpb24ncyBjb250ZXh0LCBhbmQgd2lsbCBub3QgZm9sbG93IHRoZQorICAgY2hhaW4gYW55IGZ1cnRoZXIuCiAKIAogLi4gX3VuaWNvZGVleGNlcHRpb25zOgpAQCAtNTI1LDcgKzUzMiw3IEBACiAKICAgIE1hcmtzIGEgcG9pbnQgd2hlcmUgYSByZWN1cnNpdmUgQy1sZXZlbCBjYWxsIGlzIGFib3V0IHRvIGJlIHBlcmZvcm1lZC4KIAotICAgSWYgOmNvbnN0OmBVU0VfU1RBQ0tDSEVDS2AgaXMgZGVmaW5lZCwgdGhpcyBmdW5jdGlvbiBjaGVja3MgaWYgdGhlIHRoZSBPUworICAgSWYgOmNvbnN0OmBVU0VfU1RBQ0tDSEVDS2AgaXMgZGVmaW5lZCwgdGhpcyBmdW5jdGlvbiBjaGVja3MgaWYgdGhlIE9TCiAgICBzdGFjayBvdmVyZmxvd2VkIHVzaW5nIDpjOmZ1bmM6YFB5T1NfQ2hlY2tTdGFja2AuICBJbiB0aGlzIGlzIHRoZSBjYXNlLCBpdAogICAgc2V0cyBhIDpleGM6YE1lbW9yeUVycm9yYCBhbmQgcmV0dXJucyBhIG5vbnplcm8gdmFsdWUuCiAKQEAgLTU4Miw2NSArNTg5LDExNiBAQAogOmM6dHlwZTpgUHlPYmplY3RcKmA7IHRoZXkgYXJlIGFsbCBjbGFzcyBvYmplY3RzLiAgRm9yIGNvbXBsZXRlbmVzcywgaGVyZSBhcmUgYWxsCiB0aGUgdmFyaWFibGVzOgogCi0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rCi18IEMgTmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgUHl0aG9uIE5hbWUgICAgICAgICAgICAgICAgfCBOb3RlcyAgICB8Ci0rPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSs9PT09PT09PT09PT09PT09PT09PT09PT09PT09Kz09PT09PT09PT0rCi18IDpjOmRhdGE6YFB5RXhjX0Jhc2VFeGNlcHRpb25gICAgICAgIHwgOmV4YzpgQmFzZUV4Y2VwdGlvbmAgICAgICAgfCBcKDEpICAgICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rCi18IDpjOmRhdGE6YFB5RXhjX0V4Y2VwdGlvbmAgICAgICAgICAgIHwgOmV4YzpgRXhjZXB0aW9uYCAgICAgICAgICAgfCBcKDEpICAgICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rCi18IDpjOmRhdGE6YFB5RXhjX0FyaXRobWV0aWNFcnJvcmAgICAgIHwgOmV4YzpgQXJpdGhtZXRpY0Vycm9yYCAgICAgfCBcKDEpICAgICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rCi18IDpjOmRhdGE6YFB5RXhjX0xvb2t1cEVycm9yYCAgICAgICAgIHwgOmV4YzpgTG9va3VwRXJyb3JgICAgICAgICAgfCBcKDEpICAgICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rCi18IDpjOmRhdGE6YFB5RXhjX0Fzc2VydGlvbkVycm9yYCAgICAgIHwgOmV4YzpgQXNzZXJ0aW9uRXJyb3JgICAgICAgfCAgICAgICAgICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rCi18IDpjOmRhdGE6YFB5RXhjX0F0dHJpYnV0ZUVycm9yYCAgICAgIHwgOmV4YzpgQXR0cmlidXRlRXJyb3JgICAgICAgfCAgICAgICAgICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rCi18IDpjOmRhdGE6YFB5RXhjX0VPRkVycm9yYCAgICAgICAgICAgIHwgOmV4YzpgRU9GRXJyb3JgICAgICAgICAgICAgfCAgICAgICAgICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rCi18IDpjOmRhdGE6YFB5RXhjX0Vudmlyb25tZW50RXJyb3JgICAgIHwgOmV4YzpgRW52aXJvbm1lbnRFcnJvcmAgICAgfCBcKDEpICAgICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rCi18IDpjOmRhdGE6YFB5RXhjX0Zsb2F0aW5nUG9pbnRFcnJvcmAgIHwgOmV4YzpgRmxvYXRpbmdQb2ludEVycm9yYCAgfCAgICAgICAgICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rCi18IDpjOmRhdGE6YFB5RXhjX0lPRXJyb3JgICAgICAgICAgICAgIHwgOmV4YzpgSU9FcnJvcmAgICAgICAgICAgICAgfCAgICAgICAgICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rCi18IDpjOmRhdGE6YFB5RXhjX0ltcG9ydEVycm9yYCAgICAgICAgIHwgOmV4YzpgSW1wb3J0RXJyb3JgICAgICAgICAgfCAgICAgICAgICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rCi18IDpjOmRhdGE6YFB5RXhjX0luZGV4RXJyb3JgICAgICAgICAgIHwgOmV4YzpgSW5kZXhFcnJvcmAgICAgICAgICAgfCAgICAgICAgICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rCi18IDpjOmRhdGE6YFB5RXhjX0tleUVycm9yYCAgICAgICAgICAgIHwgOmV4YzpgS2V5RXJyb3JgICAgICAgICAgICAgfCAgICAgICAgICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rCi18IDpjOmRhdGE6YFB5RXhjX0tleWJvYXJkSW50ZXJydXB0YCAgIHwgOmV4YzpgS2V5Ym9hcmRJbnRlcnJ1cHRgICAgfCAgICAgICAgICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rCi18IDpjOmRhdGE6YFB5RXhjX01lbW9yeUVycm9yYCAgICAgICAgIHwgOmV4YzpgTWVtb3J5RXJyb3JgICAgICAgICAgfCAgICAgICAgICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rCi18IDpjOmRhdGE6YFB5RXhjX05hbWVFcnJvcmAgICAgICAgICAgIHwgOmV4YzpgTmFtZUVycm9yYCAgICAgICAgICAgfCAgICAgICAgICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rCi18IDpjOmRhdGE6YFB5RXhjX05vdEltcGxlbWVudGVkRXJyb3JgIHwgOmV4YzpgTm90SW1wbGVtZW50ZWRFcnJvcmAgfCAgICAgICAgICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rCi18IDpjOmRhdGE6YFB5RXhjX09TRXJyb3JgICAgICAgICAgICAgIHwgOmV4YzpgT1NFcnJvcmAgICAgICAgICAgICAgfCAgICAgICAgICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rCi18IDpjOmRhdGE6YFB5RXhjX092ZXJmbG93RXJyb3JgICAgICAgIHwgOmV4YzpgT3ZlcmZsb3dFcnJvcmAgICAgICAgfCAgICAgICAgICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rCi18IDpjOmRhdGE6YFB5RXhjX1JlZmVyZW5jZUVycm9yYCAgICAgIHwgOmV4YzpgUmVmZXJlbmNlRXJyb3JgICAgICAgfCBcKDIpICAgICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rCi18IDpjOmRhdGE6YFB5RXhjX1J1bnRpbWVFcnJvcmAgICAgICAgIHwgOmV4YzpgUnVudGltZUVycm9yYCAgICAgICAgfCAgICAgICAgICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rCi18IDpjOmRhdGE6YFB5RXhjX1N5bnRheEVycm9yYCAgICAgICAgIHwgOmV4YzpgU3ludGF4RXJyb3JgICAgICAgICAgfCAgICAgICAgICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rCi18IDpjOmRhdGE6YFB5RXhjX1N5c3RlbUVycm9yYCAgICAgICAgIHwgOmV4YzpgU3lzdGVtRXJyb3JgICAgICAgICAgfCAgICAgICAgICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rCi18IDpjOmRhdGE6YFB5RXhjX1N5c3RlbUV4aXRgICAgICAgICAgIHwgOmV4YzpgU3lzdGVtRXhpdGAgICAgICAgICAgfCAgICAgICAgICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rCi18IDpjOmRhdGE6YFB5RXhjX1R5cGVFcnJvcmAgICAgICAgICAgIHwgOmV4YzpgVHlwZUVycm9yYCAgICAgICAgICAgfCAgICAgICAgICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rCi18IDpjOmRhdGE6YFB5RXhjX1ZhbHVlRXJyb3JgICAgICAgICAgIHwgOmV4YzpgVmFsdWVFcnJvcmAgICAgICAgICAgfCAgICAgICAgICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rCi18IDpjOmRhdGE6YFB5RXhjX1dpbmRvd3NFcnJvcmAgICAgICAgIHwgOmV4YzpgV2luZG93c0Vycm9yYCAgICAgICAgfCBcKDMpICAgICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rCi18IDpjOmRhdGE6YFB5RXhjX1plcm9EaXZpc2lvbkVycm9yYCAgIHwgOmV4YzpgWmVyb0RpdmlzaW9uRXJyb3JgICAgfCAgICAgICAgICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rCisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rCit8IEMgTmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFB5dGhvbiBOYW1lICAgICAgICAgICAgICAgICAgICAgfCBOb3RlcyAgICB8CisrPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0rPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Kz09PT09PT09PT0rCit8IDpjOmRhdGE6YFB5RXhjX0Jhc2VFeGNlcHRpb25gICAgICAgICAgICB8IDpleGM6YEJhc2VFeGNlcHRpb25gICAgICAgICAgICAgfCBcKDEpICAgICB8CisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rCit8IDpjOmRhdGE6YFB5RXhjX0V4Y2VwdGlvbmAgICAgICAgICAgICAgICB8IDpleGM6YEV4Y2VwdGlvbmAgICAgICAgICAgICAgICAgfCBcKDEpICAgICB8CisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rCit8IDpjOmRhdGE6YFB5RXhjX0FyaXRobWV0aWNFcnJvcmAgICAgICAgICB8IDpleGM6YEFyaXRobWV0aWNFcnJvcmAgICAgICAgICAgfCBcKDEpICAgICB8CisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rCit8IDpjOmRhdGE6YFB5RXhjX0xvb2t1cEVycm9yYCAgICAgICAgICAgICB8IDpleGM6YExvb2t1cEVycm9yYCAgICAgICAgICAgICAgfCBcKDEpICAgICB8CisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rCit8IDpjOmRhdGE6YFB5RXhjX0Fzc2VydGlvbkVycm9yYCAgICAgICAgICB8IDpleGM6YEFzc2VydGlvbkVycm9yYCAgICAgICAgICAgfCAgICAgICAgICB8CisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rCit8IDpjOmRhdGE6YFB5RXhjX0F0dHJpYnV0ZUVycm9yYCAgICAgICAgICB8IDpleGM6YEF0dHJpYnV0ZUVycm9yYCAgICAgICAgICAgfCAgICAgICAgICB8CisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rCit8IDpjOmRhdGE6YFB5RXhjX0Jsb2NraW5nSU9FcnJvcmAgICAgICAgICB8IDpleGM6YEJsb2NraW5nSU9FcnJvcmAgICAgICAgICAgfCAgICAgICAgICB8CisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rCit8IDpjOmRhdGE6YFB5RXhjX0Jyb2tlblBpcGVFcnJvcmAgICAgICAgICB8IDpleGM6YEJyb2tlblBpcGVFcnJvcmAgICAgICAgICAgfCAgICAgICAgICB8CisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rCit8IDpjOmRhdGE6YFB5RXhjX0NoaWxkUHJvY2Vzc0Vycm9yYCAgICAgICB8IDpleGM6YENoaWxkUHJvY2Vzc0Vycm9yYCAgICAgICAgfCAgICAgICAgICB8CisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rCit8IDpjOmRhdGE6YFB5RXhjX0Nvbm5lY3Rpb25FcnJvcmAgICAgICAgICB8IDpleGM6YENvbm5lY3Rpb25FcnJvcmAgICAgICAgICAgfCAgICAgICAgICB8CisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rCit8IDpjOmRhdGE6YFB5RXhjX0Nvbm5lY3Rpb25BYm9ydGVkRXJyb3JgICB8IDpleGM6YENvbm5lY3Rpb25BYm9ydGVkRXJyb3JgICAgfCAgICAgICAgICB8CisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rCit8IDpjOmRhdGE6YFB5RXhjX0Nvbm5lY3Rpb25SZWZ1c2VkRXJyb3JgICB8IDpleGM6YENvbm5lY3Rpb25SZWZ1c2VkRXJyb3JgICAgfCAgICAgICAgICB8CisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rCit8IDpjOmRhdGE6YFB5RXhjX0Nvbm5lY3Rpb25SZXNldEVycm9yYCAgICB8IDpleGM6YENvbm5lY3Rpb25SZXNldEVycm9yYCAgICAgfCAgICAgICAgICB8CisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rCit8IDpjOmRhdGE6YFB5RXhjX0ZpbGVFeGlzdHNFcnJvcmAgICAgICAgICB8IDpleGM6YEZpbGVFeGlzdHNFcnJvcmAgICAgICAgICAgfCAgICAgICAgICB8CisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rCit8IDpjOmRhdGE6YFB5RXhjX0ZpbGVOb3RGb3VuZEVycm9yYCAgICAgICB8IDpleGM6YEZpbGVOb3RGb3VuZEVycm9yYCAgICAgICAgfCAgICAgICAgICB8CisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rCit8IDpjOmRhdGE6YFB5RXhjX0VPRkVycm9yYCAgICAgICAgICAgICAgICB8IDpleGM6YEVPRkVycm9yYCAgICAgICAgICAgICAgICAgfCAgICAgICAgICB8CisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rCit8IDpjOmRhdGE6YFB5RXhjX0Zsb2F0aW5nUG9pbnRFcnJvcmAgICAgICB8IDpleGM6YEZsb2F0aW5nUG9pbnRFcnJvcmAgICAgICAgfCAgICAgICAgICB8CisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rCit8IDpjOmRhdGE6YFB5RXhjX0ltcG9ydEVycm9yYCAgICAgICAgICAgICB8IDpleGM6YEltcG9ydEVycm9yYCAgICAgICAgICAgICAgfCAgICAgICAgICB8CisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rCit8IDpjOmRhdGE6YFB5RXhjX0luZGV4RXJyb3JgICAgICAgICAgICAgICB8IDpleGM6YEluZGV4RXJyb3JgICAgICAgICAgICAgICAgfCAgICAgICAgICB8CisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rCit8IDpjOmRhdGE6YFB5RXhjX0ludGVycnVwdGVkRXJyb3JgICAgICAgICB8IDpleGM6YEludGVycnVwdGVkRXJyb3JgICAgICAgICAgfCAgICAgICAgICB8CisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rCit8IDpjOmRhdGE6YFB5RXhjX0lzQURpcmVjdG9yeUVycm9yYCAgICAgICB8IDpleGM6YElzQURpcmVjdG9yeUVycm9yYCAgICAgICAgfCAgICAgICAgICB8CisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rCit8IDpjOmRhdGE6YFB5RXhjX0tleUVycm9yYCAgICAgICAgICAgICAgICB8IDpleGM6YEtleUVycm9yYCAgICAgICAgICAgICAgICAgfCAgICAgICAgICB8CisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rCit8IDpjOmRhdGE6YFB5RXhjX0tleWJvYXJkSW50ZXJydXB0YCAgICAgICB8IDpleGM6YEtleWJvYXJkSW50ZXJydXB0YCAgICAgICAgfCAgICAgICAgICB8CisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rCit8IDpjOmRhdGE6YFB5RXhjX01lbW9yeUVycm9yYCAgICAgICAgICAgICB8IDpleGM6YE1lbW9yeUVycm9yYCAgICAgICAgICAgICAgfCAgICAgICAgICB8CisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rCit8IDpjOmRhdGE6YFB5RXhjX05hbWVFcnJvcmAgICAgICAgICAgICAgICB8IDpleGM6YE5hbWVFcnJvcmAgICAgICAgICAgICAgICAgfCAgICAgICAgICB8CisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rCit8IDpjOmRhdGE6YFB5RXhjX05vdEFEaXJlY3RvcnlFcnJvcmAgICAgICB8IDpleGM6YE5vdEFEaXJlY3RvcnlFcnJvcmAgICAgICAgfCAgICAgICAgICB8CisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rCit8IDpjOmRhdGE6YFB5RXhjX05vdEltcGxlbWVudGVkRXJyb3JgICAgICB8IDpleGM6YE5vdEltcGxlbWVudGVkRXJyb3JgICAgICAgfCAgICAgICAgICB8CisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rCit8IDpjOmRhdGE6YFB5RXhjX09TRXJyb3JgICAgICAgICAgICAgICAgICB8IDpleGM6YE9TRXJyb3JgICAgICAgICAgICAgICAgICAgfCBcKDEpICAgICB8CisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rCit8IDpjOmRhdGE6YFB5RXhjX092ZXJmbG93RXJyb3JgICAgICAgICAgICB8IDpleGM6YE92ZXJmbG93RXJyb3JgICAgICAgICAgICAgfCAgICAgICAgICB8CisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rCit8IDpjOmRhdGE6YFB5RXhjX1Blcm1pc3Npb25FcnJvcmAgICAgICAgICB8IDpleGM6YFBlcm1pc3Npb25FcnJvcmAgICAgICAgICAgfCAgICAgICAgICB8CisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rCit8IDpjOmRhdGE6YFB5RXhjX1Byb2Nlc3NMb29rdXBFcnJvcmAgICAgICB8IDpleGM6YFByb2Nlc3NMb29rdXBFcnJvcmAgICAgICAgfCAgICAgICAgICB8CisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rCit8IDpjOmRhdGE6YFB5RXhjX1JlZmVyZW5jZUVycm9yYCAgICAgICAgICB8IDpleGM6YFJlZmVyZW5jZUVycm9yYCAgICAgICAgICAgfCBcKDIpICAgICB8CisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rCit8IDpjOmRhdGE6YFB5RXhjX1J1bnRpbWVFcnJvcmAgICAgICAgICAgICB8IDpleGM6YFJ1bnRpbWVFcnJvcmAgICAgICAgICAgICAgfCAgICAgICAgICB8CisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rCit8IDpjOmRhdGE6YFB5RXhjX1N5bnRheEVycm9yYCAgICAgICAgICAgICB8IDpleGM6YFN5bnRheEVycm9yYCAgICAgICAgICAgICAgfCAgICAgICAgICB8CisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rCit8IDpjOmRhdGE6YFB5RXhjX1N5c3RlbUVycm9yYCAgICAgICAgICAgICB8IDpleGM6YFN5c3RlbUVycm9yYCAgICAgICAgICAgICAgfCAgICAgICAgICB8CisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rCit8IDpjOmRhdGE6YFB5RXhjX1RpbWVvdXRFcnJvcmAgICAgICAgICAgICB8IDpleGM6YFRpbWVvdXRFcnJvcmAgICAgICAgICAgICAgfCAgICAgICAgICB8CisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rCit8IDpjOmRhdGE6YFB5RXhjX1N5c3RlbUV4aXRgICAgICAgICAgICAgICB8IDpleGM6YFN5c3RlbUV4aXRgICAgICAgICAgICAgICAgfCAgICAgICAgICB8CisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rCit8IDpjOmRhdGE6YFB5RXhjX1R5cGVFcnJvcmAgICAgICAgICAgICAgICB8IDpleGM6YFR5cGVFcnJvcmAgICAgICAgICAgICAgICAgfCAgICAgICAgICB8CisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rCit8IDpjOmRhdGE6YFB5RXhjX1ZhbHVlRXJyb3JgICAgICAgICAgICAgICB8IDpleGM6YFZhbHVlRXJyb3JgICAgICAgICAgICAgICAgfCAgICAgICAgICB8CisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rCit8IDpjOmRhdGE6YFB5RXhjX1plcm9EaXZpc2lvbkVycm9yYCAgICAgICB8IDpleGM6YFplcm9EaXZpc2lvbkVycm9yYCAgICAgICAgfCAgICAgICAgICB8CisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rCisKKy4uIHZlcnNpb25hZGRlZDo6IDMuMworICAgOmM6ZGF0YTpgUHlFeGNfQmxvY2tpbmdJT0Vycm9yYCwgOmM6ZGF0YTpgUHlFeGNfQnJva2VuUGlwZUVycm9yYCwKKyAgIDpjOmRhdGE6YFB5RXhjX0NoaWxkUHJvY2Vzc0Vycm9yYCwgOmM6ZGF0YTpgUHlFeGNfQ29ubmVjdGlvbkVycm9yYCwKKyAgIDpjOmRhdGE6YFB5RXhjX0Nvbm5lY3Rpb25BYm9ydGVkRXJyb3JgLCA6YzpkYXRhOmBQeUV4Y19Db25uZWN0aW9uUmVmdXNlZEVycm9yYCwKKyAgIDpjOmRhdGE6YFB5RXhjX0Nvbm5lY3Rpb25SZXNldEVycm9yYCwgOmM6ZGF0YTpgUHlFeGNfRmlsZUV4aXN0c0Vycm9yYCwKKyAgIDpjOmRhdGE6YFB5RXhjX0ZpbGVOb3RGb3VuZEVycm9yYCwgOmM6ZGF0YTpgUHlFeGNfSW50ZXJydXB0ZWRFcnJvcmAsCisgICA6YzpkYXRhOmBQeUV4Y19Jc0FEaXJlY3RvcnlFcnJvcmAsIDpjOmRhdGE6YFB5RXhjX05vdEFEaXJlY3RvcnlFcnJvcmAsCisgICA6YzpkYXRhOmBQeUV4Y19QZXJtaXNzaW9uRXJyb3JgLCA6YzpkYXRhOmBQeUV4Y19Qcm9jZXNzTG9va3VwRXJyb3JgCisgICBhbmQgOmM6ZGF0YTpgUHlFeGNfVGltZW91dEVycm9yYCB3ZXJlIGludHJvZHVjZWQgZm9sbG93aW5nIDpwZXA6YDMxNTFgLgorCisKK1RoZXNlIGFyZSBjb21wYXRpYmlsaXR5IGFsaWFzZXMgdG8gOmM6ZGF0YTpgUHlFeGNfT1NFcnJvcmA6CisKKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rCit8IEMgTmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgTm90ZXMgICAgfAorKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0rPT09PT09PT09PSsKK3wgOmM6ZGF0YTpgUHlFeGNfRW52aXJvbm1lbnRFcnJvcmAgICAgfCAgICAgICAgICB8CisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKworfCA6YzpkYXRhOmBQeUV4Y19JT0Vycm9yYCAgICAgICAgICAgICB8ICAgICAgICAgIHwKKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rCit8IDpjOmRhdGE6YFB5RXhjX1dpbmRvd3NFcnJvcmAgICAgICAgIHwgXCgzKSAgICAgfAorKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSsKKworLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjMKKyAgIFRoZXNlIGFsaWFzZXMgdXNlZCB0byBiZSBzZXBhcmF0ZSBleGNlcHRpb24gdHlwZXMuCisKIAogLi4gaW5kZXg6OgogICAgc2luZ2xlOiBQeUV4Y19CYXNlRXhjZXB0aW9uCkBAIC02NDksMjggKzcwNyw0MiBAQAogICAgc2luZ2xlOiBQeUV4Y19Mb29rdXBFcnJvcgogICAgc2luZ2xlOiBQeUV4Y19Bc3NlcnRpb25FcnJvcgogICAgc2luZ2xlOiBQeUV4Y19BdHRyaWJ1dGVFcnJvcgorICAgc2luZ2xlOiBQeUV4Y19CbG9ja2luZ0lPRXJyb3IKKyAgIHNpbmdsZTogUHlFeGNfQnJva2VuUGlwZUVycm9yCisgICBzaW5nbGU6IFB5RXhjX0Nvbm5lY3Rpb25FcnJvcgorICAgc2luZ2xlOiBQeUV4Y19Db25uZWN0aW9uQWJvcnRlZEVycm9yCisgICBzaW5nbGU6IFB5RXhjX0Nvbm5lY3Rpb25SZWZ1c2VkRXJyb3IKKyAgIHNpbmdsZTogUHlFeGNfQ29ubmVjdGlvblJlc2V0RXJyb3IKICAgIHNpbmdsZTogUHlFeGNfRU9GRXJyb3IKLSAgIHNpbmdsZTogUHlFeGNfRW52aXJvbm1lbnRFcnJvcgorICAgc2luZ2xlOiBQeUV4Y19GaWxlRXhpc3RzRXJyb3IKKyAgIHNpbmdsZTogUHlFeGNfRmlsZU5vdEZvdW5kRXJyb3IKICAgIHNpbmdsZTogUHlFeGNfRmxvYXRpbmdQb2ludEVycm9yCi0gICBzaW5nbGU6IFB5RXhjX0lPRXJyb3IKICAgIHNpbmdsZTogUHlFeGNfSW1wb3J0RXJyb3IKICAgIHNpbmdsZTogUHlFeGNfSW5kZXhFcnJvcgorICAgc2luZ2xlOiBQeUV4Y19JbnRlcnJ1cHRlZEVycm9yCisgICBzaW5nbGU6IFB5RXhjX0lzQURpcmVjdG9yeUVycm9yCiAgICBzaW5nbGU6IFB5RXhjX0tleUVycm9yCiAgICBzaW5nbGU6IFB5RXhjX0tleWJvYXJkSW50ZXJydXB0CiAgICBzaW5nbGU6IFB5RXhjX01lbW9yeUVycm9yCiAgICBzaW5nbGU6IFB5RXhjX05hbWVFcnJvcgorICAgc2luZ2xlOiBQeUV4Y19Ob3RBRGlyZWN0b3J5RXJyb3IKICAgIHNpbmdsZTogUHlFeGNfTm90SW1wbGVtZW50ZWRFcnJvcgogICAgc2luZ2xlOiBQeUV4Y19PU0Vycm9yCiAgICBzaW5nbGU6IFB5RXhjX092ZXJmbG93RXJyb3IKKyAgIHNpbmdsZTogUHlFeGNfUGVybWlzc2lvbkVycm9yCisgICBzaW5nbGU6IFB5RXhjX1Byb2Nlc3NMb29rdXBFcnJvcgogICAgc2luZ2xlOiBQeUV4Y19SZWZlcmVuY2VFcnJvcgogICAgc2luZ2xlOiBQeUV4Y19SdW50aW1lRXJyb3IKICAgIHNpbmdsZTogUHlFeGNfU3ludGF4RXJyb3IKICAgIHNpbmdsZTogUHlFeGNfU3lzdGVtRXJyb3IKICAgIHNpbmdsZTogUHlFeGNfU3lzdGVtRXhpdAorICAgc2luZ2xlOiBQeUV4Y19UaW1lb3V0RXJyb3IKICAgIHNpbmdsZTogUHlFeGNfVHlwZUVycm9yCiAgICBzaW5nbGU6IFB5RXhjX1ZhbHVlRXJyb3IKLSAgIHNpbmdsZTogUHlFeGNfV2luZG93c0Vycm9yCiAgICBzaW5nbGU6IFB5RXhjX1plcm9EaXZpc2lvbkVycm9yCisgICBzaW5nbGU6IFB5RXhjX0Vudmlyb25tZW50RXJyb3IKKyAgIHNpbmdsZTogUHlFeGNfSU9FcnJvcgorICAgc2luZ2xlOiBQeUV4Y19XaW5kb3dzRXJyb3IKIAogTm90ZXM6CiAKZGlmZiAtLWdpdCBhL0RvYy9jLWFwaS9mdW5jdGlvbi5yc3QgYi9Eb2MvYy1hcGkvZnVuY3Rpb24ucnN0CmluZGV4IDMxODA1ZmQuLmFkOTgzMjIgMTAwNjQ0Ci0tLSBhL0RvYy9jLWFwaS9mdW5jdGlvbi5yc3QKKysrIGIvRG9jL2MtYXBpL2Z1bmN0aW9uLnJzdApAQCAtMzgsNiArMzgsMTYgQEAKICAgIG9iamVjdCwgdGhlIGFyZ3VtZW50IGRlZmF1bHRzIGFuZCBjbG9zdXJlIGFyZSBzZXQgdG8gKk5VTEwqLgogCiAKKy4uIGM6ZnVuY3Rpb246OiBQeU9iamVjdCogUHlGdW5jdGlvbl9OZXdXaXRoUXVhbE5hbWUoUHlPYmplY3QgKmNvZGUsIFB5T2JqZWN0ICpnbG9iYWxzLCBQeU9iamVjdCAqcXVhbG5hbWUpCisKKyAgIEFzIDpjOmZ1bmM6YFB5RnVuY3Rpb25fTmV3YCwgYnV0IGFsc28gYWxsb3dzIHRvIHNldCB0aGUgZnVuY3Rpb24gb2JqZWN0J3MKKyAgIGBgX19xdWFsbmFtZV9fYGAgYXR0cmlidXRlLiAgKnF1YWxuYW1lKiBzaG91bGQgYmUgYSB1bmljb2RlIG9iamVjdCBvciBOVUxMOworICAgaWYgTlVMTCwgdGhlIGBgX19xdWFsbmFtZV9fYGAgYXR0cmlidXRlIGlzIHNldCB0byB0aGUgc2FtZSB2YWx1ZSBhcyBpdHMKKyAgIGBgX19uYW1lX19gYCBhdHRyaWJ1dGUuCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMworCisKIC4uIGM6ZnVuY3Rpb246OiBQeU9iamVjdCogUHlGdW5jdGlvbl9HZXRDb2RlKFB5T2JqZWN0ICpvcCkKIAogICAgUmV0dXJuIHRoZSBjb2RlIG9iamVjdCBhc3NvY2lhdGVkIHdpdGggdGhlIGZ1bmN0aW9uIG9iamVjdCAqb3AqLgpkaWZmIC0tZ2l0IGEvRG9jL2MtYXBpL2ltcG9ydC5yc3QgYi9Eb2MvYy1hcGkvaW1wb3J0LnJzdAppbmRleCBjZjQ4MzYzLi5iMTY4NzUxIDEwMDY0NAotLS0gYS9Eb2MvYy1hcGkvaW1wb3J0LnJzdAorKysgYi9Eb2MvYy1hcGkvaW1wb3J0LnJzdApAQCAtNTcsNyArNTcsNyBAQAogICAgOmM6ZnVuYzpgUHlJbXBvcnRfSW1wb3J0TW9kdWxlYC4KIAogCi0uLiBjOmZ1bmN0aW9uOjogUHlPYmplY3QqIFB5SW1wb3J0X0ltcG9ydE1vZHVsZUxldmVsKGNoYXIgKm5hbWUsIFB5T2JqZWN0ICpnbG9iYWxzLCBQeU9iamVjdCAqbG9jYWxzLCBQeU9iamVjdCAqZnJvbWxpc3QsIGludCBsZXZlbCkKKy4uIGM6ZnVuY3Rpb246OiBQeU9iamVjdCogUHlJbXBvcnRfSW1wb3J0TW9kdWxlTGV2ZWxPYmplY3QoUHlPYmplY3QgKm5hbWUsIFB5T2JqZWN0ICpnbG9iYWxzLCBQeU9iamVjdCAqbG9jYWxzLCBQeU9iamVjdCAqZnJvbWxpc3QsIGludCBsZXZlbCkKIAogICAgSW1wb3J0IGEgbW9kdWxlLiAgVGhpcyBpcyBiZXN0IGRlc2NyaWJlZCBieSByZWZlcnJpbmcgdG8gdGhlIGJ1aWx0LWluIFB5dGhvbgogICAgZnVuY3Rpb24gOmZ1bmM6YF9faW1wb3J0X19gLCBhcyB0aGUgc3RhbmRhcmQgOmZ1bmM6YF9faW1wb3J0X19gIGZ1bmN0aW9uIGNhbGxzCkBAIC02OCw2ICs2OCwxMyBAQAogICAgdGhlIHJldHVybiB2YWx1ZSB3aGVuIGEgc3VibW9kdWxlIG9mIGEgcGFja2FnZSB3YXMgcmVxdWVzdGVkIGlzIG5vcm1hbGx5IHRoZQogICAgdG9wLWxldmVsIHBhY2thZ2UsIHVubGVzcyBhIG5vbi1lbXB0eSAqZnJvbWxpc3QqIHdhcyBnaXZlbi4KIAorICAgLi4gdmVyc2lvbmFkZGVkOjogMy4zCisKKworLi4gYzpmdW5jdGlvbjo6IFB5T2JqZWN0KiBQeUltcG9ydF9JbXBvcnRNb2R1bGVMZXZlbChjaGFyICpuYW1lLCBQeU9iamVjdCAqZ2xvYmFscywgUHlPYmplY3QgKmxvY2FscywgUHlPYmplY3QgKmZyb21saXN0LCBpbnQgbGV2ZWwpCisKKyAgIFNpbWlsYXIgdG8gOmM6ZnVuYzpgUHlJbXBvcnRfSW1wb3J0TW9kdWxlTGV2ZWxPYmplY3RgLCBidXQgdGhlIG5hbWUgaXMgYW4KKyAgIFVURi04IGVuY29kZWQgc3RyaW5nIGluc3RlYWQgb2YgYSBVbmljb2RlIG9iamVjdC4KIAogLi4gYzpmdW5jdGlvbjo6IFB5T2JqZWN0KiBQeUltcG9ydF9JbXBvcnQoUHlPYmplY3QgKm5hbWUpCiAKQEAgLTg2LDcgKzkzLDcgQEAKICAgIGFuIGV4Y2VwdGlvbiBzZXQgb24gZmFpbHVyZSAodGhlIG1vZHVsZSBzdGlsbCBleGlzdHMgaW4gdGhpcyBjYXNlKS4KIAogCi0uLiBjOmZ1bmN0aW9uOjogUHlPYmplY3QqIFB5SW1wb3J0X0FkZE1vZHVsZShjb25zdCBjaGFyICpuYW1lKQorLi4gYzpmdW5jdGlvbjo6IFB5T2JqZWN0KiBQeUltcG9ydF9BZGRNb2R1bGVPYmplY3QoUHlPYmplY3QgKm5hbWUpCiAKICAgIFJldHVybiB0aGUgbW9kdWxlIG9iamVjdCBjb3JyZXNwb25kaW5nIHRvIGEgbW9kdWxlIG5hbWUuICBUaGUgKm5hbWUqIGFyZ3VtZW50CiAgICBtYXkgYmUgb2YgdGhlIGZvcm0gYGBwYWNrYWdlLm1vZHVsZWBgLiBGaXJzdCBjaGVjayB0aGUgbW9kdWxlcyBkaWN0aW9uYXJ5IGlmCkBAIC0xMDAsNiArMTA3LDE0IEBACiAgICAgICBvciBvbmUgb2YgaXRzIHZhcmlhbnRzIHRvIGltcG9ydCBhIG1vZHVsZS4gIFBhY2thZ2Ugc3RydWN0dXJlcyBpbXBsaWVkIGJ5IGEKICAgICAgIGRvdHRlZCBuYW1lIGZvciAqbmFtZSogYXJlIG5vdCBjcmVhdGVkIGlmIG5vdCBhbHJlYWR5IHByZXNlbnQuCiAKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMworCisKKy4uIGM6ZnVuY3Rpb246OiBQeU9iamVjdCogUHlJbXBvcnRfQWRkTW9kdWxlKGNvbnN0IGNoYXIgKm5hbWUpCisKKyAgIFNpbWlsYXIgdG8gOmM6ZnVuYzpgUHlJbXBvcnRfQWRkTW9kdWxlT2JqZWN0YCwgYnV0IHRoZSBuYW1lIGlzIGEgVVRGLTgKKyAgIGVuY29kZWQgc3RyaW5nIGluc3RlYWQgb2YgYSBVbmljb2RlIG9iamVjdC4KKwogCiAuLiBjOmZ1bmN0aW9uOjogUHlPYmplY3QqIFB5SW1wb3J0X0V4ZWNDb2RlTW9kdWxlKGNoYXIgKm5hbWUsIFB5T2JqZWN0ICpjbykKIApAQCAtMTM2LDE0ICsxNTEsMjMgQEAKICAgIFNlZSBhbHNvIDpjOmZ1bmM6YFB5SW1wb3J0X0V4ZWNDb2RlTW9kdWxlV2l0aFBhdGhuYW1lc2AuCiAKIAotLi4gYzpmdW5jdGlvbjo6IFB5T2JqZWN0KiBQeUltcG9ydF9FeGVjQ29kZU1vZHVsZVdpdGhQYXRobmFtZXMoY2hhciAqbmFtZSwgUHlPYmplY3QgKmNvLCBjaGFyICpwYXRobmFtZSwgY2hhciAqY3BhdGhuYW1lKQorLi4gYzpmdW5jdGlvbjo6IFB5T2JqZWN0KiBQeUltcG9ydF9FeGVjQ29kZU1vZHVsZU9iamVjdChQeU9iamVjdCAqbmFtZSwgUHlPYmplY3QgKmNvLCBQeU9iamVjdCAqcGF0aG5hbWUsIFB5T2JqZWN0ICpjcGF0aG5hbWUpCiAKICAgIExpa2UgOmM6ZnVuYzpgUHlJbXBvcnRfRXhlY0NvZGVNb2R1bGVFeGAsIGJ1dCB0aGUgOmF0dHI6YF9fY2FjaGVkX19gCiAgICBhdHRyaWJ1dGUgb2YgdGhlIG1vZHVsZSBvYmplY3QgaXMgc2V0IHRvICpjcGF0aG5hbWUqIGlmIGl0IGlzCiAgICBub24tYGBOVUxMYGAuICBPZiB0aGUgdGhyZWUgZnVuY3Rpb25zLCB0aGlzIGlzIHRoZSBwcmVmZXJyZWQgb25lIHRvIHVzZS4KIAorICAgLi4gdmVyc2lvbmFkZGVkOjogMy4zCisKKworLi4gYzpmdW5jdGlvbjo6IFB5T2JqZWN0KiBQeUltcG9ydF9FeGVjQ29kZU1vZHVsZVdpdGhQYXRobmFtZXMoY2hhciAqbmFtZSwgUHlPYmplY3QgKmNvLCBjaGFyICpwYXRobmFtZSwgY2hhciAqY3BhdGhuYW1lKQorCisgICBMaWtlIDpjOmZ1bmM6YFB5SW1wb3J0X0V4ZWNDb2RlTW9kdWxlT2JqZWN0YCwgYnV0ICpuYW1lKiwgKnBhdGhuYW1lKiBhbmQKKyAgICpjcGF0aG5hbWUqIGFyZSBVVEYtOCBlbmNvZGVkIHN0cmluZ3MuCisKICAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMgogCisKIC4uIGM6ZnVuY3Rpb246OiBsb25nIFB5SW1wb3J0X0dldE1hZ2ljTnVtYmVyKCkKIAogICAgUmV0dXJuIHRoZSBtYWdpYyBudW1iZXIgZm9yIFB5dGhvbiBieXRlY29kZSBmaWxlcyAoYS5rLmEuIDpmaWxlOmAucHljYCBhbmQKQEAgLTIwMCw3ICsyMjQsNyBAQAogICAgRm9yIGludGVybmFsIHVzZSBvbmx5LgogCiAKLS4uIGM6ZnVuY3Rpb246OiBpbnQgUHlJbXBvcnRfSW1wb3J0RnJvemVuTW9kdWxlKGNoYXIgKm5hbWUpCisuLiBjOmZ1bmN0aW9uOjogaW50IFB5SW1wb3J0X0ltcG9ydEZyb3plbk1vZHVsZU9iamVjdChQeU9iamVjdCAqbmFtZSkKIAogICAgTG9hZCBhIGZyb3plbiBtb2R1bGUgbmFtZWQgKm5hbWUqLiAgUmV0dXJuIGBgMWBgIGZvciBzdWNjZXNzLCBgYDBgYCBpZiB0aGUKICAgIG1vZHVsZSBpcyBub3QgZm91bmQsIGFuZCBgYC0xYGAgd2l0aCBhbiBleGNlcHRpb24gc2V0IGlmIHRoZSBpbml0aWFsaXphdGlvbgpAQCAtMjA4LDYgKzIzMiwxNCBAQAogICAgOmM6ZnVuYzpgUHlJbXBvcnRfSW1wb3J0TW9kdWxlYC4gIChOb3RlIHRoZSBtaXNub21lciAtLS0gdGhpcyBmdW5jdGlvbiB3b3VsZAogICAgcmVsb2FkIHRoZSBtb2R1bGUgaWYgaXQgd2FzIGFscmVhZHkgaW1wb3J0ZWQuKQogCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKKworCisuLiBjOmZ1bmN0aW9uOjogaW50IFB5SW1wb3J0X0ltcG9ydEZyb3plbk1vZHVsZShjaGFyICpuYW1lKQorCisgICBTaW1pbGFyIHRvIDpjOmZ1bmM6YFB5SW1wb3J0X0ltcG9ydEZyb3plbk1vZHVsZU9iamVjdGAsIGJ1dCB0aGUgbmFtZSBpcyBhCisgICBVVEYtOCBlbmNvZGVkIHN0cmluZyBpbnN0ZWFkIG9mIGEgVW5pY29kZSBvYmplY3QuCisKIAogLi4gYzp0eXBlOjogc3RydWN0IF9mcm96ZW4KIApAQCAtMjQ3LDEzICsyNzksMTMgQEAKIAogICAgU3RydWN0dXJlIGRlc2NyaWJpbmcgYSBzaW5nbGUgZW50cnkgaW4gdGhlIGxpc3Qgb2YgYnVpbHQtaW4gbW9kdWxlcy4gIEVhY2ggb2YKICAgIHRoZXNlIHN0cnVjdHVyZXMgZ2l2ZXMgdGhlIG5hbWUgYW5kIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9uIGZvciBhIG1vZHVsZSBidWlsdAotICAgaW50byB0aGUgaW50ZXJwcmV0ZXIuICBQcm9ncmFtcyB3aGljaCBlbWJlZCBQeXRob24gbWF5IHVzZSBhbiBhcnJheSBvZiB0aGVzZQotICAgc3RydWN0dXJlcyBpbiBjb25qdW5jdGlvbiB3aXRoIDpjOmZ1bmM6YFB5SW1wb3J0X0V4dGVuZEluaXR0YWJgIHRvIHByb3ZpZGUKLSAgIGFkZGl0aW9uYWwgYnVpbHQtaW4gbW9kdWxlcy4gIFRoZSBzdHJ1Y3R1cmUgaXMgZGVmaW5lZCBpbgotICAgOmZpbGU6YEluY2x1ZGUvaW1wb3J0LmhgIGFzOjoKKyAgIGludG8gdGhlIGludGVycHJldGVyLiAgVGhlIG5hbWUgaXMgYW4gQVNDSUkgZW5jb2RlZCBzdHJpbmcuICBQcm9ncmFtcyB3aGljaAorICAgZW1iZWQgUHl0aG9uIG1heSB1c2UgYW4gYXJyYXkgb2YgdGhlc2Ugc3RydWN0dXJlcyBpbiBjb25qdW5jdGlvbiB3aXRoCisgICA6YzpmdW5jOmBQeUltcG9ydF9FeHRlbmRJbml0dGFiYCB0byBwcm92aWRlIGFkZGl0aW9uYWwgYnVpbHQtaW4gbW9kdWxlcy4KKyAgIFRoZSBzdHJ1Y3R1cmUgaXMgZGVmaW5lZCBpbiA6ZmlsZTpgSW5jbHVkZS9pbXBvcnQuaGAgYXM6OgogCiAgICAgICBzdHJ1Y3QgX2luaXR0YWIgewotICAgICAgICAgIGNoYXIgKm5hbWU7CisgICAgICAgICAgY2hhciAqbmFtZTsgICAgICAgICAgICAgICAgIC8qIEFTQ0lJIGVuY29kZWQgc3RyaW5nICovCiAgICAgICAgICAgUHlPYmplY3QqICgqaW5pdGZ1bmMpKHZvaWQpOwogICAgICAgfTsKIApkaWZmIC0tZ2l0IGEvRG9jL2MtYXBpL2xpc3QucnN0IGIvRG9jL2MtYXBpL2xpc3QucnN0CmluZGV4IGZlYjkwMTUuLjViMjYzYTcgMTAwNjQ0Ci0tLSBhL0RvYy9jLWFwaS9saXN0LnJzdAorKysgYi9Eb2MvYy1hcGkvbGlzdC5yc3QKQEAgLTE0MiwzICsxNDIsMTAgQEAKIAogICAgUmV0dXJuIGEgbmV3IHR1cGxlIG9iamVjdCBjb250YWluaW5nIHRoZSBjb250ZW50cyBvZiAqbGlzdCo7IGVxdWl2YWxlbnQgdG8KICAgIGBgdHVwbGUobGlzdClgYC4KKworCisuLiBjOmZ1bmN0aW9uOjogaW50IFB5TGlzdF9DbGVhckZyZWVMaXN0KCkKKworICAgQ2xlYXIgdGhlIGZyZWUgbGlzdC4gUmV0dXJuIHRoZSB0b3RhbCBudW1iZXIgb2YgZnJlZWQgaXRlbXMuCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMwpkaWZmIC0tZ2l0IGEvRG9jL2MtYXBpL2xvbmcucnN0IGIvRG9jL2MtYXBpL2xvbmcucnN0CmluZGV4IGIyMjk1ZTAuLjRjMjk1ZmEgMTAwNjQ0Ci0tLSBhL0RvYy9jLWFwaS9sb25nLnJzdAorKysgYi9Eb2MvYy1hcGkvbG9uZy5yc3QKQEAgLTEwMCw2ICsxMDAsMjAgQEAKICAgIHN0cmluZyBpcyBmaXJzdCBlbmNvZGVkIHRvIGEgYnl0ZSBzdHJpbmcgdXNpbmcgOmM6ZnVuYzpgUHlVbmljb2RlX0VuY29kZURlY2ltYWxgCiAgICBhbmQgdGhlbiBjb252ZXJ0ZWQgdXNpbmcgOmM6ZnVuYzpgUHlMb25nX0Zyb21TdHJpbmdgLgogCisgICAuLiBkZXByZWNhdGVkLXJlbW92ZWQ6OiAzLjMgNC4wCisgICAgICBQYXJ0IG9mIHRoZSBvbGQtc3R5bGUgOmM6dHlwZTpgUHlfVU5JQ09ERWAgQVBJOyBwbGVhc2UgbWlncmF0ZSB0byB1c2luZworICAgICAgOmM6ZnVuYzpgUHlMb25nX0Zyb21Vbmljb2RlT2JqZWN0YC4KKworCisuLiBjOmZ1bmN0aW9uOjogUHlPYmplY3QqIFB5TG9uZ19Gcm9tVW5pY29kZU9iamVjdChQeU9iamVjdCAqdSwgaW50IGJhc2UpCisKKyAgIENvbnZlcnQgYSBzZXF1ZW5jZSBvZiBVbmljb2RlIGRpZ2l0cyBpbiB0aGUgc3RyaW5nICp1KiB0byBhIFB5dGhvbiBpbnRlZ2VyCisgICB2YWx1ZS4gIFRoZSBVbmljb2RlIHN0cmluZyBpcyBmaXJzdCBlbmNvZGVkIHRvIGEgYnl0ZSBzdHJpbmcgdXNpbmcKKyAgIDpjOmZ1bmM6YFB5VW5pY29kZV9FbmNvZGVEZWNpbWFsYCBhbmQgdGhlbiBjb252ZXJ0ZWQgdXNpbmcKKyAgIDpjOmZ1bmM6YFB5TG9uZ19Gcm9tU3RyaW5nYC4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy4zCisKIAogLi4gYzpmdW5jdGlvbjo6IFB5T2JqZWN0KiBQeUxvbmdfRnJvbVZvaWRQdHIodm9pZCAqcCkKIApkaWZmIC0tZ2l0IGEvRG9jL2MtYXBpL21lbW9yeXZpZXcucnN0IGIvRG9jL2MtYXBpL21lbW9yeXZpZXcucnN0CmluZGV4IDZiNDljZGYuLjVlNTA5NzcgMTAwNjQ0Ci0tLSBhL0RvYy9jLWFwaS9tZW1vcnl2aWV3LnJzdAorKysgYi9Eb2MvYy1hcGkvbWVtb3J5dmlldy5yc3QKQEAgLTE3LDE2ICsxNywyMSBAQAogCiAgICBDcmVhdGUgYSBtZW1vcnl2aWV3IG9iamVjdCBmcm9tIGFuIG9iamVjdCB0aGF0IHByb3ZpZGVzIHRoZSBidWZmZXIgaW50ZXJmYWNlLgogICAgSWYgKm9iaiogc3VwcG9ydHMgd3JpdGFibGUgYnVmZmVyIGV4cG9ydHMsIHRoZSBtZW1vcnl2aWV3IG9iamVjdCB3aWxsIGJlCi0gICByZWFkYWJsZSBhbmQgd3JpdGFibGUsIG90aGVyd2lzZSBpdCB3aWxsIGJlIHJlYWQtb25seS4KKyAgIHJlYWQvd3JpdGUsIG90aGVyd2lzZSBpdCBtYXkgYmUgZWl0aGVyIHJlYWQtb25seSBvciByZWFkL3dyaXRlIGF0IHRoZQorICAgZGlzY3JldGlvbiBvZiB0aGUgZXhwb3J0ZXIuCiAKKy4uIGM6ZnVuY3Rpb246OiBQeU9iamVjdCAqUHlNZW1vcnlWaWV3X0Zyb21NZW1vcnkoY2hhciAqbWVtLCBQeV9zc2l6ZV90IHNpemUsIGludCBmbGFncykKKworICAgQ3JlYXRlIGEgbWVtb3J5dmlldyBvYmplY3QgdXNpbmcgKm1lbSogYXMgdGhlIHVuZGVybHlpbmcgYnVmZmVyLgorICAgKmZsYWdzKiBjYW4gYmUgb25lIG9mIDpjOm1hY3JvOmBQeUJVRl9SRUFEYCBvciA6YzptYWNybzpgUHlCVUZfV1JJVEVgLgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKIAogLi4gYzpmdW5jdGlvbjo6IFB5T2JqZWN0ICpQeU1lbW9yeVZpZXdfRnJvbUJ1ZmZlcihQeV9idWZmZXIgKnZpZXcpCiAKICAgIENyZWF0ZSBhIG1lbW9yeXZpZXcgb2JqZWN0IHdyYXBwaW5nIHRoZSBnaXZlbiBidWZmZXIgc3RydWN0dXJlICp2aWV3Ki4KLSAgIFRoZSBtZW1vcnl2aWV3IG9iamVjdCB0aGVuIG93bnMgdGhlIGJ1ZmZlciByZXByZXNlbnRlZCBieSAqdmlldyosIHdoaWNoCi0gICBtZWFucyB5b3Ugc2hvdWxkbid0IHRyeSB0byBjYWxsIDpjOmZ1bmM6YFB5QnVmZmVyX1JlbGVhc2VgIHlvdXJzZWxmOiBpdAotICAgd2lsbCBiZSBkb25lIG9uIGRlYWxsb2NhdGlvbiBvZiB0aGUgbWVtb3J5dmlldyBvYmplY3QuCi0KKyAgIEZvciBzaW1wbGUgYnl0ZSBidWZmZXJzLCA6YzpmdW5jOmBQeU1lbW9yeVZpZXdfRnJvbU1lbW9yeWAgaXMgdGhlIHByZWZlcnJlZAorICAgZnVuY3Rpb24uCiAKIC4uIGM6ZnVuY3Rpb246OiBQeU9iamVjdCAqUHlNZW1vcnlWaWV3X0dldENvbnRpZ3VvdXMoUHlPYmplY3QgKm9iaiwgaW50IGJ1ZmZlcnR5cGUsIGNoYXIgb3JkZXIpCiAKQEAgLTQzLDEwICs0OCwxNiBAQAogICAgY3VycmVudGx5IGFsbG93ZWQgdG8gY3JlYXRlIHN1YmNsYXNzZXMgb2YgOmNsYXNzOmBtZW1vcnl2aWV3YC4KIAogCi0uLiBjOmZ1bmN0aW9uOjogUHlfYnVmZmVyICpQeU1lbW9yeVZpZXdfR0VUX0JVRkZFUihQeU9iamVjdCAqb2JqKQorLi4gYzpmdW5jdGlvbjo6IFB5X2J1ZmZlciAqUHlNZW1vcnlWaWV3X0dFVF9CVUZGRVIoUHlPYmplY3QgKm12aWV3KQogCi0gICBSZXR1cm4gYSBwb2ludGVyIHRvIHRoZSBidWZmZXIgc3RydWN0dXJlIHdyYXBwZWQgYnkgdGhlIGdpdmVuCi0gICBtZW1vcnl2aWV3IG9iamVjdC4gIFRoZSBvYmplY3QgKiptdXN0KiogYmUgYSBtZW1vcnl2aWV3IGluc3RhbmNlOwotICAgdGhpcyBtYWNybyBkb2Vzbid0IGNoZWNrIGl0cyB0eXBlLCB5b3UgbXVzdCBkbyBpdCB5b3Vyc2VsZiBvciB5b3UKLSAgIHdpbGwgcmlzayBjcmFzaGVzLgorICAgUmV0dXJuIGEgcG9pbnRlciB0byB0aGUgbWVtb3J5dmlldydzIHByaXZhdGUgY29weSBvZiB0aGUgZXhwb3J0ZXIncyBidWZmZXIuCisgICAqbXZpZXcqICoqbXVzdCoqIGJlIGEgbWVtb3J5dmlldyBpbnN0YW5jZTsgdGhpcyBtYWNybyBkb2Vzbid0IGNoZWNrIGl0cyB0eXBlLAorICAgeW91IG11c3QgZG8gaXQgeW91cnNlbGYgb3IgeW91IHdpbGwgcmlzayBjcmFzaGVzLgorCisuLiBjOmZ1bmN0aW9uOjogUHlfYnVmZmVyICpQeU1lbW9yeVZpZXdfR0VUX0JBU0UoUHlPYmplY3QgKm12aWV3KQorCisgICBSZXR1cm4gZWl0aGVyIGEgcG9pbnRlciB0byB0aGUgZXhwb3J0aW5nIG9iamVjdCB0aGF0IHRoZSBtZW1vcnl2aWV3IGlzIGJhc2VkCisgICBvbiBvciAqTlVMTCogaWYgdGhlIG1lbW9yeXZpZXcgaGFzIGJlZW4gY3JlYXRlZCBieSBvbmUgb2YgdGhlIGZ1bmN0aW9ucworICAgOmM6ZnVuYzpgUHlNZW1vcnlWaWV3X0Zyb21NZW1vcnlgIG9yIDpjOmZ1bmM6YFB5TWVtb3J5Vmlld19Gcm9tQnVmZmVyYC4KKyAgICptdmlldyogKiptdXN0KiogYmUgYSBtZW1vcnl2aWV3IGluc3RhbmNlLgogCmRpZmYgLS1naXQgYS9Eb2MvYy1hcGkvbW9kdWxlLnJzdCBiL0RvYy9jLWFwaS9tb2R1bGUucnN0CmluZGV4IGZmZDY4ZTMuLjMyNTg3YmUgMTAwNjQ0Ci0tLSBhL0RvYy9jLWFwaS9tb2R1bGUucnN0CisrKyBiL0RvYy9jLWFwaS9tb2R1bGUucnN0CkBAIC0yOSw3ICsyOSw3IEBACiAgICA6YzpkYXRhOmBQeU1vZHVsZV9UeXBlYC4KIAogCi0uLiBjOmZ1bmN0aW9uOjogUHlPYmplY3QqIFB5TW9kdWxlX05ldyhjb25zdCBjaGFyICpuYW1lKQorLi4gYzpmdW5jdGlvbjo6IFB5T2JqZWN0KiBQeU1vZHVsZV9OZXdPYmplY3QoUHlPYmplY3QgKm5hbWUpCiAKICAgIC4uIGluZGV4OjoKICAgICAgIHNpbmdsZTogX19uYW1lX18gKG1vZHVsZSBhdHRyaWJ1dGUpCkBAIC00MCw2ICs0MCwxNCBAQAogICAgT25seSB0aGUgbW9kdWxlJ3MgOmF0dHI6YF9fZG9jX19gIGFuZCA6YXR0cjpgX19uYW1lX19gIGF0dHJpYnV0ZXMgYXJlIGZpbGxlZCBpbjsKICAgIHRoZSBjYWxsZXIgaXMgcmVzcG9uc2libGUgZm9yIHByb3ZpZGluZyBhIDphdHRyOmBfX2ZpbGVfX2AgYXR0cmlidXRlLgogCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKKworCisuLiBjOmZ1bmN0aW9uOjogUHlPYmplY3QqIFB5TW9kdWxlX05ldyhjb25zdCBjaGFyICpuYW1lKQorCisgICBTaW1pbGFyIHRvIDpjOmZ1bmM6YFB5SW1wb3J0X05ld09iamVjdGAsIGJ1dCB0aGUgbmFtZSBpcyBhbiBVVEYtOCBlbmNvZGVkCisgICBzdHJpbmcgaW5zdGVhZCBvZiBhIFVuaWNvZGUgb2JqZWN0LgorCiAKIC4uIGM6ZnVuY3Rpb246OiBQeU9iamVjdCogUHlNb2R1bGVfR2V0RGljdChQeU9iamVjdCAqbW9kdWxlKQogCkBAIC01Miw3ICs2MCw3IEBACiAgICBtYW5pcHVsYXRlIGEgbW9kdWxlJ3MgOmF0dHI6YF9fZGljdF9fYC4KIAogCi0uLiBjOmZ1bmN0aW9uOjogY2hhciogUHlNb2R1bGVfR2V0TmFtZShQeU9iamVjdCAqbW9kdWxlKQorLi4gYzpmdW5jdGlvbjo6IFB5T2JqZWN0KiBQeU1vZHVsZV9HZXROYW1lT2JqZWN0KFB5T2JqZWN0ICptb2R1bGUpCiAKICAgIC4uIGluZGV4OjoKICAgICAgIHNpbmdsZTogX19uYW1lX18gKG1vZHVsZSBhdHRyaWJ1dGUpCkBAIC02MSwxNSArNjksMTMgQEAKICAgIFJldHVybiAqbW9kdWxlKidzIDphdHRyOmBfX25hbWVfX2AgdmFsdWUuICBJZiB0aGUgbW9kdWxlIGRvZXMgbm90IHByb3ZpZGUgb25lLAogICAgb3IgaWYgaXQgaXMgbm90IGEgc3RyaW5nLCA6ZXhjOmBTeXN0ZW1FcnJvcmAgaXMgcmFpc2VkIGFuZCAqTlVMTCogaXMgcmV0dXJuZWQuCiAKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMwogCi0uLiBjOmZ1bmN0aW9uOjogY2hhciogUHlNb2R1bGVfR2V0RmlsZW5hbWUoUHlPYmplY3QgKm1vZHVsZSkKIAotICAgU2ltaWxhciB0byA6YzpmdW5jOmBQeU1vZHVsZV9HZXRGaWxlbmFtZU9iamVjdGAgYnV0IHJldHVybiB0aGUgZmlsZW5hbWUKLSAgIGVuY29kZWQgdG8gJ3V0Zi04Jy4KKy4uIGM6ZnVuY3Rpb246OiBjaGFyKiBQeU1vZHVsZV9HZXROYW1lKFB5T2JqZWN0ICptb2R1bGUpCiAKLSAgIC4uIGRlcHJlY2F0ZWQ6OiAzLjIKLSAgICAgIDpjOmZ1bmM6YFB5TW9kdWxlX0dldEZpbGVuYW1lYCByYWlzZXMgOmM6dHlwZTpgVW5pY29kZUVuY29kZUVycm9yYCBvbgotICAgICAgdW5lbmNvZGFibGUgZmlsZW5hbWVzLCB1c2UgOmM6ZnVuYzpgUHlNb2R1bGVfR2V0RmlsZW5hbWVPYmplY3RgIGluc3RlYWQuCisgICBTaW1pbGFyIHRvIDpjOmZ1bmM6YFB5TW9kdWxlX0dldE5hbWVPYmplY3RgIGJ1dCByZXR1cm4gdGhlIG5hbWUgZW5jb2RlZCB0bworICAgYGAndXRmLTgnYGAuCiAKIAogLi4gYzpmdW5jdGlvbjo6IFB5T2JqZWN0KiBQeU1vZHVsZV9HZXRGaWxlbmFtZU9iamVjdChQeU9iamVjdCAqbW9kdWxlKQpAQCAtODEsMTEgKzg3LDIxIEBACiAgICBSZXR1cm4gdGhlIG5hbWUgb2YgdGhlIGZpbGUgZnJvbSB3aGljaCAqbW9kdWxlKiB3YXMgbG9hZGVkIHVzaW5nICptb2R1bGUqJ3MKICAgIDphdHRyOmBfX2ZpbGVfX2AgYXR0cmlidXRlLiAgSWYgdGhpcyBpcyBub3QgZGVmaW5lZCwgb3IgaWYgaXQgaXMgbm90IGEKICAgIHVuaWNvZGUgc3RyaW5nLCByYWlzZSA6ZXhjOmBTeXN0ZW1FcnJvcmAgYW5kIHJldHVybiAqTlVMTCo7IG90aGVyd2lzZSByZXR1cm4KLSAgIGEgcmVmZXJlbmNlIHRvIGEgOmM6dHlwZTpgUHlVbmljb2RlT2JqZWN0YC4KKyAgIGEgcmVmZXJlbmNlIHRvIGEgVW5pY29kZSBvYmplY3QuCiAKICAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMgogCiAKKy4uIGM6ZnVuY3Rpb246OiBjaGFyKiBQeU1vZHVsZV9HZXRGaWxlbmFtZShQeU9iamVjdCAqbW9kdWxlKQorCisgICBTaW1pbGFyIHRvIDpjOmZ1bmM6YFB5TW9kdWxlX0dldEZpbGVuYW1lT2JqZWN0YCBidXQgcmV0dXJuIHRoZSBmaWxlbmFtZQorICAgZW5jb2RlZCB0byAndXRmLTgnLgorCisgICAuLiBkZXByZWNhdGVkOjogMy4yCisgICAgICA6YzpmdW5jOmBQeU1vZHVsZV9HZXRGaWxlbmFtZWAgcmFpc2VzIDpjOnR5cGU6YFVuaWNvZGVFbmNvZGVFcnJvcmAgb24KKyAgICAgIHVuZW5jb2RhYmxlIGZpbGVuYW1lcywgdXNlIDpjOmZ1bmM6YFB5TW9kdWxlX0dldEZpbGVuYW1lT2JqZWN0YCBpbnN0ZWFkLgorCisKIC4uIGM6ZnVuY3Rpb246OiB2b2lkKiBQeU1vZHVsZV9HZXRTdGF0ZShQeU9iamVjdCAqbW9kdWxlKQogCiAgICBSZXR1cm4gdGhlICJzdGF0ZSIgb2YgdGhlIG1vZHVsZSwgdGhhdCBpcywgYSBwb2ludGVyIHRvIHRoZSBibG9jayBvZiBtZW1vcnkKZGlmZiAtLWdpdCBhL0RvYy9jLWFwaS9vYmplY3QucnN0IGIvRG9jL2MtYXBpL29iamVjdC5yc3QKaW5kZXggZDBkNDVhZC4uZDg5NTU0NyAxMDA2NDQKLS0tIGEvRG9jL2MtYXBpL29iamVjdC5yc3QKKysrIGIvRG9jL2MtYXBpL29iamVjdC5yc3QKQEAgLTYsNiArNiwxOSBAQAogPT09PT09PT09PT09PT09CiAKIAorLi4gYzp2YXI6OiBQeU9iamVjdCogUHlfTm90SW1wbGVtZW50ZWQKKworICAgVGhlIGBgTm90SW1wbGVtZW50ZWRgYCBzaW5nbGV0b24sIHVzZWQgdG8gc2lnbmFsIHRoYXQgYW4gb3BlcmF0aW9uIGlzCisgICBub3QgaW1wbGVtZW50ZWQgZm9yIHRoZSBnaXZlbiB0eXBlIGNvbWJpbmF0aW9uLgorCisKKy4uIGM6bWFjcm86OiBQeV9SRVRVUk5fTk9USU1QTEVNRU5URUQKKworICAgUHJvcGVybHkgaGFuZGxlIHJldHVybmluZyA6YzpkYXRhOmBQeV9Ob3RJbXBsZW1lbnRlZGAgZnJvbSB3aXRoaW4gYSBDCisgICBmdW5jdGlvbiAodGhhdCBpcywgaW5jcmVtZW50IHRoZSByZWZlcmVuY2UgY291bnQgb2YgTm90SW1wbGVtZW50ZWQgYW5kCisgICByZXR1cm4gaXQpLgorCisKIC4uIGM6ZnVuY3Rpb246OiBpbnQgUHlPYmplY3RfUHJpbnQoUHlPYmplY3QgKm8sIEZJTEUgKmZwLCBpbnQgZmxhZ3MpCiAKICAgIFByaW50IGFuIG9iamVjdCAqbyosIG9uIGZpbGUgKmZwKi4gIFJldHVybnMgYGAtMWBgIG9uIGVycm9yLiAgVGhlIGZsYWdzIGFyZ3VtZW50CkBAIC04OCw2ICsxMDEsMjIgQEAKICAgIFRoaXMgaXMgdGhlIGVxdWl2YWxlbnQgb2YgdGhlIFB5dGhvbiBzdGF0ZW1lbnQgYGBkZWwgby5hdHRyX25hbWVgYC4KIAogCisuLiBjOmZ1bmN0aW9uOjogUHlPYmplY3QqIFB5VHlwZV9HZW5lcmljR2V0RGljdChQeU9iamVjdCAqbywgdm9pZCAqY29udGV4dCkKKworICAgQSBnZW5lcmljIGltcGxlbWVudGF0aW9uIGZvciB0aGUgZ2V0dGVyIG9mIGEgYGBfX2RpY3RfX2BgIGRlc2NyaXB0b3IuIEl0CisgICBjcmVhdGVzIHRoZSBkaWN0aW9uYXJ5IGlmIG5lY2Vzc2FyeS4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy4zCisKKworLi4gYzpmdW5jdGlvbjo6IGludCBQeVR5cGVfR2VuZXJpY1NldERpY3QoUHlPYmplY3QgKm8sIHZvaWQgKmNvbnRleHQpCisKKyAgIEEgZ2VuZXJpYyBpbXBsZW1lbnRhdGlvbiBmb3IgdGhlIHNldHRlciBvZiBhIGBgX19kaWN0X19gYCBkZXNjcmlwdG9yLiBUaGlzCisgICBpbXBsZW1lbnRhdGlvbiBkb2VzIG5vdCBhbGxvdyB0aGUgZGljdGlvbmFyeSB0byBiZSBkZWxldGVkLgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKKworCiAuLiBjOmZ1bmN0aW9uOjogUHlPYmplY3QqIFB5T2JqZWN0X1JpY2hDb21wYXJlKFB5T2JqZWN0ICpvMSwgUHlPYmplY3QgKm8yLCBpbnQgb3BpZCkKIAogICAgQ29tcGFyZSB0aGUgdmFsdWVzIG9mICpvMSogYW5kICpvMiogdXNpbmcgdGhlIG9wZXJhdGlvbiBzcGVjaWZpZWQgYnkgKm9waWQqLApkaWZmIC0tZ2l0IGEvRG9jL2MtYXBpL3NldC5yc3QgYi9Eb2MvYy1hcGkvc2V0LnJzdAppbmRleCA2NmI0N2M0Li41ZjBlZjkwIDEwMDY0NAotLS0gYS9Eb2MvYy1hcGkvc2V0LnJzdAorKysgYi9Eb2MvYy1hcGkvc2V0LnJzdApAQCAtMTU3LDMgKzE1NywxMCBAQAogLi4gYzpmdW5jdGlvbjo6IGludCBQeVNldF9DbGVhcihQeU9iamVjdCAqc2V0KQogCiAgICBFbXB0eSBhbiBleGlzdGluZyBzZXQgb2YgYWxsIGVsZW1lbnRzLgorCisKKy4uIGM6ZnVuY3Rpb246OiBpbnQgUHlTZXRfQ2xlYXJGcmVlTGlzdCgpCisKKyAgIENsZWFyIHRoZSBmcmVlIGxpc3QuIFJldHVybiB0aGUgdG90YWwgbnVtYmVyIG9mIGZyZWVkIGl0ZW1zLgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKZGlmZiAtLWdpdCBhL0RvYy9jLWFwaS90eXBlLnJzdCBiL0RvYy9jLWFwaS90eXBlLnJzdAppbmRleCBiMzM4NmVhLi5jZmQwZDc4IDEwMDY0NAotLS0gYS9Eb2MvYy1hcGkvdHlwZS5yc3QKKysrIGIvRG9jL2MtYXBpL3R5cGUucnN0CkBAIC03NSw4ICs3NSw4IEBACiAKIC4uIGM6ZnVuY3Rpb246OiBQeU9iamVjdCogUHlUeXBlX0dlbmVyaWNOZXcoUHlUeXBlT2JqZWN0ICp0eXBlLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3ZHMpCiAKLSAgIFhYWDogRG9jdW1lbnQuCi0KKyAgIEdlbmVyaWMgaGFuZGxlciBmb3IgdGhlIDphdHRyOmB0cF9uZXdgIHNsb3Qgb2YgYSB0eXBlIG9iamVjdC4gIEluaXRpYWxpemUKKyAgIGFsbCBpbnN0YW5jZSB2YXJpYWJsZXMgdG8gKk5VTEwqLgogCiAuLiBjOmZ1bmN0aW9uOjogaW50IFB5VHlwZV9SZWFkeShQeVR5cGVPYmplY3QgKnR5cGUpCiAKZGlmZiAtLWdpdCBhL0RvYy9jLWFwaS90eXBlb2JqLnJzdCBiL0RvYy9jLWFwaS90eXBlb2JqLnJzdAppbmRleCA2OGNhOWFkLi5lYTFhMGFkIDEwMDY0NAotLS0gYS9Eb2MvYy1hcGkvdHlwZW9iai5yc3QKKysrIGIvRG9jL2MtYXBpL3R5cGVvYmoucnN0CkBAIC0xMTk4LDQ2ICsxMTk4LDg4IEBACiAKIC4uIHNlY3Rpb25hdXRob3I6OiBHcmVnIEouIFN0ZWluIDxncmVnQGx5cmEub3JnPgogLi4gc2VjdGlvbmF1dGhvcjo6IEJlbmphbWluIFBldGVyc29uCi0KLQotVGhlIDpyZWY6YGJ1ZmZlciBpbnRlcmZhY2UgPGJ1ZmZlcm9iamVjdHM+YCBleHBvcnRzIGEgbW9kZWwgd2hlcmUgYW4gb2JqZWN0IGNhbiBleHBvc2UgaXRzIGludGVybmFsCi1kYXRhLgotCi1JZiBhbiBvYmplY3QgZG9lcyBub3QgZXhwb3J0IHRoZSBidWZmZXIgaW50ZXJmYWNlLCB0aGVuIGl0cyA6YXR0cjpgdHBfYXNfYnVmZmVyYAotbWVtYmVyIGluIHRoZSA6Yzp0eXBlOmBQeVR5cGVPYmplY3RgIHN0cnVjdHVyZSBzaG91bGQgYmUgKk5VTEwqLiAgT3RoZXJ3aXNlLCB0aGUKLTphdHRyOmB0cF9hc19idWZmZXJgIHdpbGwgcG9pbnQgdG8gYSA6Yzp0eXBlOmBQeUJ1ZmZlclByb2NzYCBzdHJ1Y3R1cmUuCi0KKy4uIHNlY3Rpb25hdXRob3I6OiBTdGVmYW4gS3JhaAogCiAuLiBjOnR5cGU6OiBQeUJ1ZmZlclByb2NzCiAKLSAgIFN0cnVjdHVyZSB1c2VkIHRvIGhvbGQgdGhlIGZ1bmN0aW9uIHBvaW50ZXJzIHdoaWNoIGRlZmluZSBhbiBpbXBsZW1lbnRhdGlvbiBvZgotICAgdGhlIGJ1ZmZlciBwcm90b2NvbC4KKyAgIFRoaXMgc3RydWN0dXJlIGhvbGRzIHBvaW50ZXJzIHRvIHRoZSBmdW5jdGlvbnMgcmVxdWlyZWQgYnkgdGhlCisgICA6cmVmOmBCdWZmZXIgcHJvdG9jb2wgPGJ1ZmZlcm9iamVjdHM+YC4gVGhlIHByb3RvY29sIGRlZmluZXMgaG93CisgICBhbiBleHBvcnRlciBvYmplY3QgY2FuIGV4cG9zZSBpdHMgaW50ZXJuYWwgZGF0YSB0byBjb25zdW1lciBvYmplY3RzLgogCi0gICAuLiBjOm1lbWJlcjo6IGdldGJ1ZmZlcnByb2MgYmZfZ2V0YnVmZmVyCisuLiBjOm1lbWJlcjo6IGdldGJ1ZmZlcnByb2MgUHlCdWZmZXJQcm9jcy5iZl9nZXRidWZmZXIKIAotICAgICAgVGhpcyBzaG91bGQgZmlsbCBhIDpjOnR5cGU6YFB5X2J1ZmZlcmAgd2l0aCB0aGUgbmVjZXNzYXJ5IGRhdGEgZm9yCi0gICAgICBleHBvcnRpbmcgdGhlIHR5cGUuICBUaGUgc2lnbmF0dXJlIG9mIDpkYXRhOmBnZXRidWZmZXJwcm9jYCBpcyBgYGludAotICAgICAgKFB5T2JqZWN0ICpvYmosIFB5X2J1ZmZlciAqdmlldywgaW50IGZsYWdzKWBgLiAgKm9iaiogaXMgdGhlIG9iamVjdCB0bwotICAgICAgZXhwb3J0LCAqdmlldyogaXMgdGhlIDpjOnR5cGU6YFB5X2J1ZmZlcmAgc3RydWN0IHRvIGZpbGwsIGFuZCAqZmxhZ3MqIGdpdmVzCi0gICAgICB0aGUgY29uZGl0aW9ucyB0aGUgY2FsbGVyIHdhbnRzIHRoZSBtZW1vcnkgdW5kZXIuICAoU2VlCi0gICAgICA6YzpmdW5jOmBQeU9iamVjdF9HZXRCdWZmZXJgIGZvciBhbGwgZmxhZ3MuKSAgOmM6bWVtYmVyOmBiZl9nZXRidWZmZXJgIGlzCi0gICAgICByZXNwb25zaWJsZSBmb3IgZmlsbGluZyAqdmlldyogd2l0aCB0aGUgYXBwcm9wcmlhdGUgaW5mb3JtYXRpb24uCi0gICAgICAoOmM6ZnVuYzpgUHlCdWZmZXJfRmlsbFZpZXdgIGNhbiBiZSB1c2VkIGluIHNpbXBsZSBjYXNlcy4pICBTZWUKLSAgICAgIDpjOnR5cGU6YFB5X2J1ZmZlcmBccyBkb2NzIGZvciB3aGF0IG5lZWRzIHRvIGJlIGZpbGxlZCBpbi4KKyAgIFRoZSBzaWduYXR1cmUgb2YgdGhpcyBmdW5jdGlvbiBpczo6CisKKyAgICAgICBpbnQgKFB5T2JqZWN0ICpleHBvcnRlciwgUHlfYnVmZmVyICp2aWV3LCBpbnQgZmxhZ3MpOworCisgICBIYW5kbGUgYSByZXF1ZXN0IHRvICpleHBvcnRlciogdG8gZmlsbCBpbiAqdmlldyogYXMgc3BlY2lmaWVkIGJ5ICpmbGFncyouCisgICBFeGNlcHQgZm9yIHBvaW50ICgzKSwgYW4gaW1wbGVtZW50YXRpb24gb2YgdGhpcyBmdW5jdGlvbiBNVVNUIHRha2UgdGhlc2UKKyAgIHN0ZXBzOgorCisgICAoMSkgQ2hlY2sgaWYgdGhlIHJlcXVlc3QgY2FuIGJlIG1ldC4gSWYgbm90LCByYWlzZSA6YzpkYXRhOmBQeUV4Y19CdWZmZXJFcnJvcmAsCisgICAgICAgc2V0IDpjOmRhdGE6YHZpZXctPm9iamAgdG8gKk5VTEwqIGFuZCByZXR1cm4gLTEuCisKKyAgICgyKSBGaWxsIGluIHRoZSByZXF1ZXN0ZWQgZmllbGRzLgorCisgICAoMykgSW5jcmVtZW50IGFuIGludGVybmFsIGNvdW50ZXIgZm9yIHRoZSBudW1iZXIgb2YgZXhwb3J0cy4KKworICAgKDQpIFNldCA6YzpkYXRhOmB2aWV3LT5vYmpgIHRvICpleHBvcnRlciogYW5kIGluY3JlbWVudCA6YzpkYXRhOmB2aWV3LT5vYmpgLgorCisgICAoNSkgUmV0dXJuIDAuCisKKyAgIElmICpleHBvcnRlciogaXMgcGFydCBvZiBhIGNoYWluIG9yIHRyZWUgb2YgYnVmZmVyIHByb3ZpZGVycywgdHdvIG1haW4KKyAgIHNjaGVtZXMgY2FuIGJlIHVzZWQ6CisKKyAgICogUmUtZXhwb3J0OiBFYWNoIG1lbWJlciBvZiB0aGUgdHJlZSBhY3RzIGFzIHRoZSBleHBvcnRpbmcgb2JqZWN0IGFuZAorICAgICBzZXRzIDpjOmRhdGE6YHZpZXctPm9iamAgdG8gYSBuZXcgcmVmZXJlbmNlIHRvIGl0c2VsZi4KKworICAgKiBSZWRpcmVjdDogVGhlIGJ1ZmZlciByZXF1ZXN0IGlzIHJlZGlyZWN0ZWQgdG8gdGhlIHJvb3Qgb2JqZWN0IG9mIHRoZQorICAgICB0cmVlLiBIZXJlLCA6YzpkYXRhOmB2aWV3LT5vYmpgIHdpbGwgYmUgYSBuZXcgcmVmZXJlbmNlIHRvIHRoZSByb290CisgICAgIG9iamVjdC4KKworICAgVGhlIGluZGl2aWR1YWwgZmllbGRzIG9mICp2aWV3KiBhcmUgZGVzY3JpYmVkIGluIHNlY3Rpb24KKyAgIDpyZWY6YEJ1ZmZlciBzdHJ1Y3R1cmUgPGJ1ZmZlci1zdHJ1Y3R1cmU+YCwgdGhlIHJ1bGVzIGhvdyBhbiBleHBvcnRlcgorICAgbXVzdCByZWFjdCB0byBzcGVjaWZpYyByZXF1ZXN0cyBhcmUgaW4gc2VjdGlvbgorICAgOnJlZjpgQnVmZmVyIHJlcXVlc3QgdHlwZXMgPGJ1ZmZlci1yZXF1ZXN0LXR5cGVzPmAuCisKKyAgIEFsbCBtZW1vcnkgcG9pbnRlZCB0byBpbiB0aGUgOmM6dHlwZTpgUHlfYnVmZmVyYCBzdHJ1Y3R1cmUgYmVsb25ncyB0bworICAgdGhlIGV4cG9ydGVyIGFuZCBtdXN0IHJlbWFpbiB2YWxpZCB1bnRpbCB0aGVyZSBhcmUgbm8gY29uc3VtZXJzIGxlZnQuCisgICA6YzptZW1iZXI6YH5QeV9idWZmZXIuZm9ybWF0YCwgOmM6bWVtYmVyOmB+UHlfYnVmZmVyLnNoYXBlYCwKKyAgIDpjOm1lbWJlcjpgflB5X2J1ZmZlci5zdHJpZGVzYCwgOmM6bWVtYmVyOmB+UHlfYnVmZmVyLnN1Ym9mZnNldHNgCisgICBhbmQgOmM6bWVtYmVyOmB+UHlfYnVmZmVyLmludGVybmFsYAorICAgYXJlIHJlYWQtb25seSBmb3IgdGhlIGNvbnN1bWVyLgorCisgICA6YzpmdW5jOmBQeUJ1ZmZlcl9GaWxsSW5mb2AgcHJvdmlkZXMgYW4gZWFzeSB3YXkgb2YgZXhwb3NpbmcgYSBzaW1wbGUKKyAgIGJ5dGVzIGJ1ZmZlciB3aGlsZSBkZWFsaW5nIGNvcnJlY3RseSB3aXRoIGFsbCByZXF1ZXN0IHR5cGVzLgorCisgICA6YzpmdW5jOmBQeU9iamVjdF9HZXRCdWZmZXJgIGlzIHRoZSBpbnRlcmZhY2UgZm9yIHRoZSBjb25zdW1lciB0aGF0CisgICB3cmFwcyB0aGlzIGZ1bmN0aW9uLgorCisuLiBjOm1lbWJlcjo6IHJlbGVhc2VidWZmZXJwcm9jIFB5QnVmZmVyUHJvY3MuYmZfcmVsZWFzZWJ1ZmZlcgorCisgICBUaGUgc2lnbmF0dXJlIG9mIHRoaXMgZnVuY3Rpb24gaXM6OgorCisgICAgICAgdm9pZCAoUHlPYmplY3QgKmV4cG9ydGVyLCBQeV9idWZmZXIgKnZpZXcpOworCisgICBIYW5kbGUgYSByZXF1ZXN0IHRvIHJlbGVhc2UgdGhlIHJlc291cmNlcyBvZiB0aGUgYnVmZmVyLiBJZiBubyByZXNvdXJjZXMKKyAgIG5lZWQgdG8gYmUgcmVsZWFzZWQsIDpjOm1lbWJlcjpgUHlCdWZmZXJQcm9jcy5iZl9yZWxlYXNlYnVmZmVyYCBtYXkgYmUKKyAgICpOVUxMKi4gT3RoZXJ3aXNlLCBhIHN0YW5kYXJkIGltcGxlbWVudGF0aW9uIG9mIHRoaXMgZnVuY3Rpb24gd2lsbCB0YWtlCisgICB0aGVzZSBvcHRpb25hbCBzdGVwczoKKworICAgKDEpIERlY3JlbWVudCBhbiBpbnRlcm5hbCBjb3VudGVyIGZvciB0aGUgbnVtYmVyIG9mIGV4cG9ydHMuCisKKyAgICgyKSBJZiB0aGUgY291bnRlciBpcyAwLCBmcmVlIGFsbCBtZW1vcnkgYXNzb2NpYXRlZCB3aXRoICp2aWV3Ki4KKworICAgVGhlIGV4cG9ydGVyIE1VU1QgdXNlIHRoZSA6YzptZW1iZXI6YH5QeV9idWZmZXIuaW50ZXJuYWxgIGZpZWxkIHRvIGtlZXAKKyAgIHRyYWNrIG9mIGJ1ZmZlci1zcGVjaWZpYyByZXNvdXJjZXMuIFRoaXMgZmllbGQgaXMgZ3VhcmFudGVlZCB0byByZW1haW4KKyAgIGNvbnN0YW50LCB3aGlsZSBhIGNvbnN1bWVyIE1BWSBwYXNzIGEgY29weSBvZiB0aGUgb3JpZ2luYWwgYnVmZmVyIGFzIHRoZQorICAgKnZpZXcqIGFyZ3VtZW50LgogCiAKLSAgIC4uIGM6bWVtYmVyOjogcmVsZWFzZWJ1ZmZlcnByb2MgYmZfcmVsZWFzZWJ1ZmZlcgorICAgVGhpcyBmdW5jdGlvbiBNVVNUIE5PVCBkZWNyZW1lbnQgOmM6ZGF0YTpgdmlldy0+b2JqYCwgc2luY2UgdGhhdCBpcworICAgZG9uZSBhdXRvbWF0aWNhbGx5IGluIDpjOmZ1bmM6YFB5QnVmZmVyX1JlbGVhc2VgICh0aGlzIHNjaGVtZSBpcworICAgdXNlZnVsIGZvciBicmVha2luZyByZWZlcmVuY2UgY3ljbGVzKS4KIAotICAgICAgVGhpcyBzaG91bGQgcmVsZWFzZSB0aGUgcmVzb3VyY2VzIG9mIHRoZSBidWZmZXIuICBUaGUgc2lnbmF0dXJlIG9mCi0gICAgICA6YzpkYXRhOmByZWxlYXNlYnVmZmVycHJvY2AgaXMgYGB2b2lkIChQeU9iamVjdCAqb2JqLCBQeV9idWZmZXIgKnZpZXcpYGAuCi0gICAgICBJZiB0aGUgOmM6ZGF0YTpgYmZfcmVsZWFzZWJ1ZmZlcmAgZnVuY3Rpb24gaXMgbm90IHByb3ZpZGVkIChpLmUuIGl0IGlzCi0gICAgICAqTlVMTCopLCB0aGVuIGl0IGRvZXMgbm90IGV2ZXIgbmVlZCB0byBiZSBjYWxsZWQuCiAKLSAgICAgIFRoZSBleHBvcnRlciBvZiB0aGUgYnVmZmVyIGludGVyZmFjZSBtdXN0IG1ha2Ugc3VyZSB0aGF0IGFueSBtZW1vcnkKLSAgICAgIHBvaW50ZWQgdG8gaW4gdGhlIDpjOnR5cGU6YFB5X2J1ZmZlcmAgc3RydWN0dXJlIHJlbWFpbnMgdmFsaWQgdW50aWwKLSAgICAgIHJlbGVhc2VidWZmZXIgaXMgY2FsbGVkLiAgRXhwb3J0ZXJzIHdpbGwgbmVlZCB0byBkZWZpbmUgYQotICAgICAgOmM6ZGF0YTpgYmZfcmVsZWFzZWJ1ZmZlcmAgZnVuY3Rpb24gaWYgdGhleSBjYW4gcmUtYWxsb2NhdGUgdGhlaXIgbWVtb3J5LAotICAgICAgc3RyaWRlcywgc2hhcGUsIHN1Ym9mZnNldHMsIG9yIGZvcm1hdCB2YXJpYWJsZXMgd2hpY2ggdGhleSBtaWdodCBzaGFyZQotICAgICAgdGhyb3VnaCB0aGUgc3RydWN0IGJ1ZmZlcmluZm8uCi0KLSAgICAgIFNlZSA6YzpmdW5jOmBQeUJ1ZmZlcl9SZWxlYXNlYC4KKyAgIDpjOmZ1bmM6YFB5QnVmZmVyX1JlbGVhc2VgIGlzIHRoZSBpbnRlcmZhY2UgZm9yIHRoZSBjb25zdW1lciB0aGF0CisgICB3cmFwcyB0aGlzIGZ1bmN0aW9uLgpkaWZmIC0tZ2l0IGEvRG9jL2MtYXBpL3VuaWNvZGUucnN0IGIvRG9jL2MtYXBpL3VuaWNvZGUucnN0CmluZGV4IDM1MDA2NTQuLmE3NGE3M2QgMTAwNjQ0Ci0tLSBhL0RvYy9jLWFwaS91bmljb2RlLnJzdAorKysgYi9Eb2MvYy1hcGkvdW5pY29kZS5yc3QKQEAgLTYsMzggKzYsNzIgQEAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKIC4uIHNlY3Rpb25hdXRob3I6OiBNYXJjLUFuZHJlIExlbWJ1cmcgPG1hbEBsZW1idXJnLmNvbT4KKy4uIHNlY3Rpb25hdXRob3I6OiBHZW9yZyBCcmFuZGwgPGdlb3JnQHB5dGhvbi5vcmc+CiAKIFVuaWNvZGUgT2JqZWN0cwogXl5eXl5eXl5eXl5eXl5eCiAKK1NpbmNlIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiA6cGVwOmAzOTNgIGluIFB5dGhvbiAzLjMsIFVuaWNvZGUgb2JqZWN0cyBpbnRlcm5hbGx5Cit1c2UgYSB2YXJpZXR5IG9mIHJlcHJlc2VudGF0aW9ucywgaW4gb3JkZXIgdG8gYWxsb3cgaGFuZGxpbmcgdGhlIGNvbXBsZXRlIHJhbmdlCitvZiBVbmljb2RlIGNoYXJhY3RlcnMgd2hpbGUgc3RheWluZyBtZW1vcnkgZWZmaWNpZW50LiAgVGhlcmUgYXJlIHNwZWNpYWwgY2FzZXMKK2ZvciBzdHJpbmdzIHdoZXJlIGFsbCBjb2RlIHBvaW50cyBhcmUgYmVsb3cgMTI4LCAyNTYsIG9yIDY1NTM2OyBvdGhlcndpc2UsIGNvZGUKK3BvaW50cyBtdXN0IGJlIGJlbG93IDExMTQxMTIgKHdoaWNoIGlzIHRoZSBmdWxsIFVuaWNvZGUgcmFuZ2UpLgorCis6Yzp0eXBlOmBQeV9VTklDT0RFKmAgYW5kIFVURi04IHJlcHJlc2VudGF0aW9ucyBhcmUgY3JlYXRlZCBvbiBkZW1hbmQgYW5kIGNhY2hlZAoraW4gdGhlIFVuaWNvZGUgb2JqZWN0LiAgVGhlIDpjOnR5cGU6YFB5X1VOSUNPREUqYCByZXByZXNlbnRhdGlvbiBpcyBkZXByZWNhdGVkCithbmQgaW5lZmZpY2llbnQ7IGl0IHNob3VsZCBiZSBhdm9pZGVkIGluIHBlcmZvcm1hbmNlLSBvciBtZW1vcnktc2Vuc2l0aXZlCitzaXR1YXRpb25zLgorCitEdWUgdG8gdGhlIHRyYW5zaXRpb24gYmV0d2VlbiB0aGUgb2xkIEFQSXMgYW5kIHRoZSBuZXcgQVBJcywgdW5pY29kZSBvYmplY3RzCitjYW4gaW50ZXJuYWxseSBiZSBpbiB0d28gc3RhdGVzIGRlcGVuZGluZyBvbiBob3cgdGhleSB3ZXJlIGNyZWF0ZWQ6CisKKyogImNhbm9uaWNhbCIgdW5pY29kZSBvYmplY3RzIGFyZSBhbGwgb2JqZWN0cyBjcmVhdGVkIGJ5IGEgbm9uLWRlcHJlY2F0ZWQKKyAgdW5pY29kZSBBUEkuICBUaGV5IHVzZSB0aGUgbW9zdCBlZmZpY2llbnQgcmVwcmVzZW50YXRpb24gYWxsb3dlZCBieSB0aGUKKyAgaW1wbGVtZW50YXRpb24uCisKKyogImxlZ2FjeSIgdW5pY29kZSBvYmplY3RzIGhhdmUgYmVlbiBjcmVhdGVkIHRocm91Z2ggb25lIG9mIHRoZSBkZXByZWNhdGVkCisgIEFQSXMgKHR5cGljYWxseSA6YzpmdW5jOmBQeVVuaWNvZGVfRnJvbVVuaWNvZGVgKSBhbmQgb25seSBiZWFyIHRoZQorICA6Yzp0eXBlOmBQeV9VTklDT0RFKmAgcmVwcmVzZW50YXRpb247IHlvdSB3aWxsIGhhdmUgdG8gY2FsbAorICA6YzpmdW5jOmBQeVVuaWNvZGVfUkVBRFlgIG9uIHRoZW0gYmVmb3JlIGNhbGxpbmcgYW55IG90aGVyIEFQSS4KKworCiBVbmljb2RlIFR5cGUKICIiIiIiIiIiIiIiIgogCiBUaGVzZSBhcmUgdGhlIGJhc2ljIFVuaWNvZGUgb2JqZWN0IHR5cGVzIHVzZWQgZm9yIHRoZSBVbmljb2RlIGltcGxlbWVudGF0aW9uIGluCiBQeXRob246CiAKKy4uIGM6dHlwZTo6IFB5X1VDUzQKKyAgICAgICAgICAgIFB5X1VDUzIKKyAgICAgICAgICAgIFB5X1VDUzEKKworICAgVGhlc2UgdHlwZXMgYXJlIHR5cGVkZWZzIGZvciB1bnNpZ25lZCBpbnRlZ2VyIHR5cGVzIHdpZGUgZW5vdWdoIHRvIGNvbnRhaW4KKyAgIGNoYXJhY3RlcnMgb2YgMzIgYml0cywgMTYgYml0cyBhbmQgOCBiaXRzLCByZXNwZWN0aXZlbHkuICBXaGVuIGRlYWxpbmcgd2l0aAorICAgc2luZ2xlIFVuaWNvZGUgY2hhcmFjdGVycywgdXNlIDpjOnR5cGU6YFB5X1VDUzRgLgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKKwogCiAuLiBjOnR5cGU6OiBQeV9VTklDT0RFCiAKLSAgIFRoaXMgdHlwZSByZXByZXNlbnRzIHRoZSBzdG9yYWdlIHR5cGUgd2hpY2ggaXMgdXNlZCBieSBQeXRob24gaW50ZXJuYWxseSBhcwotICAgYmFzaXMgZm9yIGhvbGRpbmcgVW5pY29kZSBvcmRpbmFscy4gIFB5dGhvbidzIGRlZmF1bHQgYnVpbGRzIHVzZSBhIDE2LWJpdCB0eXBlCi0gICBmb3IgOmM6dHlwZTpgUHlfVU5JQ09ERWAgYW5kIHN0b3JlIFVuaWNvZGUgdmFsdWVzIGludGVybmFsbHkgYXMgVUNTMi4gSXQgaXMgYWxzbwotICAgcG9zc2libGUgdG8gYnVpbGQgYSBVQ1M0IHZlcnNpb24gb2YgUHl0aG9uIChtb3N0IHJlY2VudCBMaW51eCBkaXN0cmlidXRpb25zIGNvbWUKLSAgIHdpdGggVUNTNCBidWlsZHMgb2YgUHl0aG9uKS4gVGhlc2UgYnVpbGRzIHRoZW4gdXNlIGEgMzItYml0IHR5cGUgZm9yCi0gICA6Yzp0eXBlOmBQeV9VTklDT0RFYCBhbmQgc3RvcmUgVW5pY29kZSBkYXRhIGludGVybmFsbHkgYXMgVUNTNC4gT24gcGxhdGZvcm1zCi0gICB3aGVyZSA6Yzp0eXBlOmB3Y2hhcl90YCBpcyBhdmFpbGFibGUgYW5kIGNvbXBhdGlibGUgd2l0aCB0aGUgY2hvc2VuIFB5dGhvbgotICAgVW5pY29kZSBidWlsZCB2YXJpYW50LCA6Yzp0eXBlOmBQeV9VTklDT0RFYCBpcyBhIHR5cGVkZWYgYWxpYXMgZm9yCi0gICA6Yzp0eXBlOmB3Y2hhcl90YCB0byBlbmhhbmNlIG5hdGl2ZSBwbGF0Zm9ybSBjb21wYXRpYmlsaXR5LiBPbiBhbGwgb3RoZXIKLSAgIHBsYXRmb3JtcywgOmM6dHlwZTpgUHlfVU5JQ09ERWAgaXMgYSB0eXBlZGVmIGFsaWFzIGZvciBlaXRoZXIgOmM6dHlwZTpgdW5zaWduZWQKLSAgIHNob3J0YCAoVUNTMikgb3IgOmM6dHlwZTpgdW5zaWduZWQgbG9uZ2AgKFVDUzQpLgorICAgVGhpcyBpcyBhIHR5cGVkZWYgb2YgOmM6dHlwZTpgd2NoYXJfdGAsIHdoaWNoIGlzIGEgMTYtYml0IHR5cGUgb3IgMzItYml0IHR5cGUKKyAgIGRlcGVuZGluZyBvbiB0aGUgcGxhdGZvcm0uCiAKLU5vdGUgdGhhdCBVQ1MyIGFuZCBVQ1M0IFB5dGhvbiBidWlsZHMgYXJlIG5vdCBiaW5hcnkgY29tcGF0aWJsZS4gUGxlYXNlIGtlZXAKLXRoaXMgaW4gbWluZCB3aGVuIHdyaXRpbmcgZXh0ZW5zaW9ucyBvciBpbnRlcmZhY2VzLgorICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjMKKyAgICAgIEluIHByZXZpb3VzIHZlcnNpb25zLCB0aGlzIHdhcyBhIDE2LWJpdCB0eXBlIG9yIGEgMzItYml0IHR5cGUgZGVwZW5kaW5nIG9uCisgICAgICB3aGV0aGVyIHlvdSBzZWxlY3RlZCBhICJuYXJyb3ciIG9yICJ3aWRlIiBVbmljb2RlIHZlcnNpb24gb2YgUHl0aG9uIGF0CisgICAgICBidWlsZCB0aW1lLgogCiAKLS4uIGM6dHlwZTo6IFB5VW5pY29kZU9iamVjdAorLi4gYzp0eXBlOjogUHlBU0NJSU9iamVjdAorICAgICAgICAgICAgUHlDb21wYWN0VW5pY29kZU9iamVjdAorICAgICAgICAgICAgUHlVbmljb2RlT2JqZWN0CiAKLSAgIFRoaXMgc3VidHlwZSBvZiA6Yzp0eXBlOmBQeU9iamVjdGAgcmVwcmVzZW50cyBhIFB5dGhvbiBVbmljb2RlIG9iamVjdC4KKyAgIFRoZXNlIHN1YnR5cGVzIG9mIDpjOnR5cGU6YFB5T2JqZWN0YCByZXByZXNlbnQgYSBQeXRob24gVW5pY29kZSBvYmplY3QuICBJbgorICAgYWxtb3N0IGFsbCBjYXNlcywgdGhleSBzaG91bGRuJ3QgYmUgdXNlZCBkaXJlY3RseSwgc2luY2UgYWxsIEFQSSBmdW5jdGlvbnMKKyAgIHRoYXQgZGVhbCB3aXRoIFVuaWNvZGUgb2JqZWN0cyB0YWtlIGFuZCByZXR1cm4gOmM6dHlwZTpgUHlPYmplY3RgIHBvaW50ZXJzLgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKIAogCiAuLiBjOnZhcjo6IFB5VHlwZU9iamVjdCBQeVVuaWNvZGVfVHlwZQpAQCAtNDUsMTAgKzc5LDEwIEBACiAgICBUaGlzIGluc3RhbmNlIG9mIDpjOnR5cGU6YFB5VHlwZU9iamVjdGAgcmVwcmVzZW50cyB0aGUgUHl0aG9uIFVuaWNvZGUgdHlwZS4gIEl0CiAgICBpcyBleHBvc2VkIHRvIFB5dGhvbiBjb2RlIGFzIGBgc3RyYGAuCiAKKwogVGhlIGZvbGxvd2luZyBBUElzIGFyZSByZWFsbHkgQyBtYWNyb3MgYW5kIGNhbiBiZSB1c2VkIHRvIGRvIGZhc3QgY2hlY2tzIGFuZCB0bwogYWNjZXNzIGludGVybmFsIHJlYWQtb25seSBkYXRhIG9mIFVuaWNvZGUgb2JqZWN0czoKIAotCiAuLiBjOmZ1bmN0aW9uOjogaW50IFB5VW5pY29kZV9DaGVjayhQeU9iamVjdCAqbykKIAogICAgUmV0dXJuIHRydWUgaWYgdGhlIG9iamVjdCAqbyogaXMgYSBVbmljb2RlIG9iamVjdCBvciBhbiBpbnN0YW5jZSBvZiBhIFVuaWNvZGUKQEAgLTYxLDI4ICs5NSwxMDYgQEAKICAgIHN1YnR5cGUuCiAKIAotLi4gYzpmdW5jdGlvbjo6IFB5X3NzaXplX3QgUHlVbmljb2RlX0dFVF9TSVpFKFB5T2JqZWN0ICpvKQorLi4gYzpmdW5jdGlvbjo6IGludCBQeVVuaWNvZGVfUkVBRFkoUHlPYmplY3QgKm8pCiAKLSAgIFJldHVybiB0aGUgc2l6ZSBvZiB0aGUgb2JqZWN0LiAgKm8qIGhhcyB0byBiZSBhIDpjOnR5cGU6YFB5VW5pY29kZU9iamVjdGAgKG5vdAotICAgY2hlY2tlZCkuCisgICBFbnN1cmUgdGhlIHN0cmluZyBvYmplY3QgKm8qIGlzIGluIHRoZSAiY2Fub25pY2FsIiByZXByZXNlbnRhdGlvbi4gIFRoaXMgaXMKKyAgIHJlcXVpcmVkIGJlZm9yZSB1c2luZyBhbnkgb2YgdGhlIGFjY2VzcyBtYWNyb3MgZGVzY3JpYmVkIGJlbG93LgorCisgICAuLiBYWFggZXhwYW5kIG9uIHdoZW4gaXQgaXMgbm90IHJlcXVpcmVkCisKKyAgIFJldHVybnMgMCBvbiBzdWNjZXNzIGFuZCAtMSB3aXRoIGFuIGV4Y2VwdGlvbiBzZXQgb24gZmFpbHVyZSwgd2hpY2ggaW4KKyAgIHBhcnRpY3VsYXIgaGFwcGVucyBpZiBtZW1vcnkgYWxsb2NhdGlvbiBmYWlscy4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy4zCiAKIAotLi4gYzpmdW5jdGlvbjo6IFB5X3NzaXplX3QgUHlVbmljb2RlX0dFVF9EQVRBX1NJWkUoUHlPYmplY3QgKm8pCisuLiBjOmZ1bmN0aW9uOjogUHlfc3NpemVfdCBQeVVuaWNvZGVfR0VUX0xFTkdUSChQeU9iamVjdCAqbykKIAotICAgUmV0dXJuIHRoZSBzaXplIG9mIHRoZSBvYmplY3QncyBpbnRlcm5hbCBidWZmZXIgaW4gYnl0ZXMuICAqbyogaGFzIHRvIGJlIGEKLSAgIDpjOnR5cGU6YFB5VW5pY29kZU9iamVjdGAgKG5vdCBjaGVja2VkKS4KKyAgIFJldHVybiB0aGUgbGVuZ3RoIG9mIHRoZSBVbmljb2RlIHN0cmluZywgaW4gY29kZSBwb2ludHMuICAqbyogaGFzIHRvIGJlIGEKKyAgIFVuaWNvZGUgb2JqZWN0IGluIHRoZSAiY2Fub25pY2FsIiByZXByZXNlbnRhdGlvbiAobm90IGNoZWNrZWQpLgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKIAogCi0uLiBjOmZ1bmN0aW9uOjogUHlfVU5JQ09ERSogUHlVbmljb2RlX0FTX1VOSUNPREUoUHlPYmplY3QgKm8pCisuLiBjOmZ1bmN0aW9uOjogUHlfVUNTMSogUHlVbmljb2RlXzFCWVRFX0RBVEEoUHlPYmplY3QgKm8pCisgICAgICAgICAgICAgICAgUHlfVUNTMiogUHlVbmljb2RlXzJCWVRFX0RBVEEoUHlPYmplY3QgKm8pCisgICAgICAgICAgICAgICAgUHlfVUNTNCogUHlVbmljb2RlXzRCWVRFX0RBVEEoUHlPYmplY3QgKm8pCiAKLSAgIFJldHVybiBhIHBvaW50ZXIgdG8gdGhlIGludGVybmFsIDpjOnR5cGU6YFB5X1VOSUNPREVgIGJ1ZmZlciBvZiB0aGUgb2JqZWN0LiAgKm8qCi0gICBoYXMgdG8gYmUgYSA6Yzp0eXBlOmBQeVVuaWNvZGVPYmplY3RgIChub3QgY2hlY2tlZCkuCisgICBSZXR1cm4gYSBwb2ludGVyIHRvIHRoZSBjYW5vbmljYWwgcmVwcmVzZW50YXRpb24gY2FzdCB0byBVQ1MxLCBVQ1MyIG9yIFVDUzQKKyAgIGludGVnZXIgdHlwZXMgZm9yIGRpcmVjdCBjaGFyYWN0ZXIgYWNjZXNzLiAgTm8gY2hlY2tzIGFyZSBwZXJmb3JtZWQgaWYgdGhlCisgICBjYW5vbmljYWwgcmVwcmVzZW50YXRpb24gaGFzIHRoZSBjb3JyZWN0IGNoYXJhY3RlciBzaXplOyB1c2UKKyAgIDpjOmZ1bmM6YFB5VW5pY29kZV9LSU5EYCB0byBzZWxlY3QgdGhlIHJpZ2h0IG1hY3JvLiAgTWFrZSBzdXJlCisgICA6YzpmdW5jOmBQeVVuaWNvZGVfUkVBRFlgIGhhcyBiZWVuIGNhbGxlZCBiZWZvcmUgYWNjZXNzaW5nIHRoaXMuCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMwogCiAKLS4uIGM6ZnVuY3Rpb246OiBjb25zdCBjaGFyKiBQeVVuaWNvZGVfQVNfREFUQShQeU9iamVjdCAqbykKKy4uIGM6bWFjcm86OiBQeVVuaWNvZGVfV0NIQVJfS0lORAorICAgICAgICAgICAgIFB5VW5pY29kZV8xQllURV9LSU5ECisgICAgICAgICAgICAgUHlVbmljb2RlXzJCWVRFX0tJTkQKKyAgICAgICAgICAgICBQeVVuaWNvZGVfNEJZVEVfS0lORAogCi0gICBSZXR1cm4gYSBwb2ludGVyIHRvIHRoZSBpbnRlcm5hbCBidWZmZXIgb2YgdGhlIG9iamVjdC4gKm8qIGhhcyB0byBiZSBhCi0gICA6Yzp0eXBlOmBQeVVuaWNvZGVPYmplY3RgIChub3QgY2hlY2tlZCkuCisgICBSZXR1cm4gdmFsdWVzIG9mIHRoZSA6YzpmdW5jOmBQeVVuaWNvZGVfS0lORGAgbWFjcm8uCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMworCisKKy4uIGM6ZnVuY3Rpb246OiBpbnQgUHlVbmljb2RlX0tJTkQoUHlPYmplY3QgKm8pCisKKyAgIFJldHVybiBvbmUgb2YgdGhlIFB5VW5pY29kZSBraW5kIGNvbnN0YW50cyAoc2VlIGFib3ZlKSB0aGF0IGluZGljYXRlIGhvdyBtYW55CisgICBieXRlcyBwZXIgY2hhcmFjdGVyIHRoaXMgVW5pY29kZSBvYmplY3QgdXNlcyB0byBzdG9yZSBpdHMgZGF0YS4gICpvKiBoYXMgdG8KKyAgIGJlIGEgVW5pY29kZSBvYmplY3QgaW4gdGhlICJjYW5vbmljYWwiIHJlcHJlc2VudGF0aW9uIChub3QgY2hlY2tlZCkuCisKKyAgIC4uIFhYWCBkb2N1bWVudCAiMCIgcmV0dXJuIHZhbHVlPworCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKKworCisuLiBjOmZ1bmN0aW9uOjogdm9pZCogUHlVbmljb2RlX0RBVEEoUHlPYmplY3QgKm8pCisKKyAgIFJldHVybiBhIHZvaWQgcG9pbnRlciB0byB0aGUgcmF3IHVuaWNvZGUgYnVmZmVyLiAgKm8qIGhhcyB0byBiZSBhIFVuaWNvZGUKKyAgIG9iamVjdCBpbiB0aGUgImNhbm9uaWNhbCIgcmVwcmVzZW50YXRpb24gKG5vdCBjaGVja2VkKS4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy4zCisKKworLi4gYzpmdW5jdGlvbjo6IHZvaWQgUHlVbmljb2RlX1dSSVRFKGludCBraW5kLCB2b2lkICpkYXRhLCBQeV9zc2l6ZV90IGluZGV4LCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlfVUNTNCB2YWx1ZSkKKworICAgV3JpdGUgaW50byBhIGNhbm9uaWNhbCByZXByZXNlbnRhdGlvbiAqZGF0YSogKGFzIG9idGFpbmVkIHdpdGgKKyAgIDpjOmZ1bmM6YFB5VW5pY29kZV9EQVRBYCkuICBUaGlzIG1hY3JvIGRvZXMgbm90IGRvIGFueSBzYW5pdHkgY2hlY2tzIGFuZCBpcworICAgaW50ZW5kZWQgZm9yIHVzYWdlIGluIGxvb3BzLiAgVGhlIGNhbGxlciBzaG91bGQgY2FjaGUgdGhlICpraW5kKiB2YWx1ZSBhbmQKKyAgICpkYXRhKiBwb2ludGVyIGFzIG9idGFpbmVkIGZyb20gb3RoZXIgbWFjcm8gY2FsbHMuICAqaW5kZXgqIGlzIHRoZSBpbmRleCBpbgorICAgdGhlIHN0cmluZyAoc3RhcnRzIGF0IDApIGFuZCAqdmFsdWUqIGlzIHRoZSBuZXcgY29kZSBwb2ludCB2YWx1ZSB3aGljaCBzaG91bGQKKyAgIGJlIHdyaXR0ZW4gdG8gdGhhdCBsb2NhdGlvbi4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy4zCisKKworLi4gYzpmdW5jdGlvbjo6IFB5X1VDUzQgUHlVbmljb2RlX1JFQUQoaW50IGtpbmQsIHZvaWQgKmRhdGEsIFB5X3NzaXplX3QgaW5kZXgpCisKKyAgIFJlYWQgYSBjb2RlIHBvaW50IGZyb20gYSBjYW5vbmljYWwgcmVwcmVzZW50YXRpb24gKmRhdGEqIChhcyBvYnRhaW5lZCB3aXRoCisgICA6YzpmdW5jOmBQeVVuaWNvZGVfREFUQWApLiAgTm8gY2hlY2tzIG9yIHJlYWR5IGNhbGxzIGFyZSBwZXJmb3JtZWQuCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMworCisKKy4uIGM6ZnVuY3Rpb246OiBQeV9VQ1M0IFB5VW5pY29kZV9SRUFEX0NIQVIoUHlPYmplY3QgKm8sIFB5X3NzaXplX3QgaW5kZXgpCisKKyAgIFJlYWQgYSBjaGFyYWN0ZXIgZnJvbSBhIFVuaWNvZGUgb2JqZWN0ICpvKiwgd2hpY2ggbXVzdCBiZSBpbiB0aGUgImNhbm9uaWNhbCIKKyAgIHJlcHJlc2VudGF0aW9uLiAgVGhpcyBpcyBsZXNzIGVmZmljaWVudCB0aGFuIDpjOmZ1bmM6YFB5VW5pY29kZV9SRUFEYCBpZiB5b3UKKyAgIGRvIG11bHRpcGxlIGNvbnNlY3V0aXZlIHJlYWRzLgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKKworCisuLiBjOmZ1bmN0aW9uOjogUHlVbmljb2RlX01BWF9DSEFSX1ZBTFVFKFB5T2JqZWN0ICpvKQorCisgICBSZXR1cm4gdGhlIG1heGltdW0gY29kZSBwb2ludCB0aGF0IGlzIHN1aXRhYmxlIGZvciBjcmVhdGluZyBhbm90aGVyIHN0cmluZworICAgYmFzZWQgb24gKm8qLCB3aGljaCBtdXN0IGJlIGluIHRoZSAiY2Fub25pY2FsIiByZXByZXNlbnRhdGlvbi4gIFRoaXMgaXMKKyAgIGFsd2F5cyBhbiBhcHByb3hpbWF0aW9uIGJ1dCBtb3JlIGVmZmljaWVudCB0aGFuIGl0ZXJhdGluZyBvdmVyIHRoZSBzdHJpbmcuCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMwogCiAKIC4uIGM6ZnVuY3Rpb246OiBpbnQgUHlVbmljb2RlX0NsZWFyRnJlZUxpc3QoKQpAQCAtOTAsNiArMjAyLDQ2IEBACiAgICBDbGVhciB0aGUgZnJlZSBsaXN0LiBSZXR1cm4gdGhlIHRvdGFsIG51bWJlciBvZiBmcmVlZCBpdGVtcy4KIAogCisuLiBjOmZ1bmN0aW9uOjogUHlfc3NpemVfdCBQeVVuaWNvZGVfR0VUX1NJWkUoUHlPYmplY3QgKm8pCisKKyAgIFJldHVybiB0aGUgc2l6ZSBvZiB0aGUgZGVwcmVjYXRlZCA6Yzp0eXBlOmBQeV9VTklDT0RFYCByZXByZXNlbnRhdGlvbiwgaW4KKyAgIGNvZGUgdW5pdHMgKHRoaXMgaW5jbHVkZXMgc3Vycm9nYXRlIHBhaXJzIGFzIDIgdW5pdHMpLiAgKm8qIGhhcyB0byBiZSBhCisgICBVbmljb2RlIG9iamVjdCAobm90IGNoZWNrZWQpLgorCisgICAuLiBkZXByZWNhdGVkLXJlbW92ZWQ6OiAzLjMgNC4wCisgICAgICBQYXJ0IG9mIHRoZSBvbGQtc3R5bGUgVW5pY29kZSBBUEksIHBsZWFzZSBtaWdyYXRlIHRvIHVzaW5nCisgICAgICA6YzpmdW5jOmBQeVVuaWNvZGVfR0VUX0xFTkdUSGAuCisKKworLi4gYzpmdW5jdGlvbjo6IFB5X3NzaXplX3QgUHlVbmljb2RlX0dFVF9EQVRBX1NJWkUoUHlPYmplY3QgKm8pCisKKyAgIFJldHVybiB0aGUgc2l6ZSBvZiB0aGUgZGVwcmVjYXRlZCA6Yzp0eXBlOmBQeV9VTklDT0RFYCByZXByZXNlbnRhdGlvbiBpbgorICAgYnl0ZXMuICAqbyogaGFzIHRvIGJlIGEgVW5pY29kZSBvYmplY3QgKG5vdCBjaGVja2VkKS4KKworICAgLi4gZGVwcmVjYXRlZC1yZW1vdmVkOjogMy4zIDQuMAorICAgICAgUGFydCBvZiB0aGUgb2xkLXN0eWxlIFVuaWNvZGUgQVBJLCBwbGVhc2UgbWlncmF0ZSB0byB1c2luZworICAgICAgOmM6ZnVuYzpgUHlVbmljb2RlX0dFVF9MRU5HVEhgLgorCisKKy4uIGM6ZnVuY3Rpb246OiBQeV9VTklDT0RFKiBQeVVuaWNvZGVfQVNfVU5JQ09ERShQeU9iamVjdCAqbykKKyAgICAgICAgICAgICAgICBjb25zdCBjaGFyKiBQeVVuaWNvZGVfQVNfREFUQShQeU9iamVjdCAqbykKKworICAgUmV0dXJuIGEgcG9pbnRlciB0byBhIDpjOnR5cGU6YFB5X1VOSUNPREVgIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBvYmplY3QuICBUaGUKKyAgIGBgQVNfREFUQWBgIGZvcm0gY2FzdHMgdGhlIHBvaW50ZXIgdG8gOmM6dHlwZTpgY29uc3QgY2hhciAqYC4gICpvKiBoYXMgdG8gYmUKKyAgIGEgVW5pY29kZSBvYmplY3QgKG5vdCBjaGVja2VkKS4KKworICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjMKKyAgICAgIFRoaXMgbWFjcm8gaXMgbm93IGluZWZmaWNpZW50IC0tIGJlY2F1c2UgaW4gbWFueSBjYXNlcyB0aGUKKyAgICAgIDpjOnR5cGU6YFB5X1VOSUNPREVgIHJlcHJlc2VudGF0aW9uIGRvZXMgbm90IGV4aXN0IGFuZCBuZWVkcyB0byBiZSBjcmVhdGVkCisgICAgICAtLSBhbmQgY2FuIGZhaWwgKHJldHVybiAqTlVMTCogd2l0aCBhbiBleGNlcHRpb24gc2V0KS4gIFRyeSB0byBwb3J0IHRoZQorICAgICAgY29kZSB0byB1c2UgdGhlIG5ldyA6YzpmdW5jOmBQeVVuaWNvZGVfbkJZVEVfREFUQWAgbWFjcm9zIG9yIHVzZQorICAgICAgOmM6ZnVuYzpgUHlVbmljb2RlX1dSSVRFYCBvciA6YzpmdW5jOmBQeVVuaWNvZGVfUkVBRGAuCisKKyAgIC4uIGRlcHJlY2F0ZWQtcmVtb3ZlZDo6IDMuMyA0LjAKKyAgICAgIFBhcnQgb2YgdGhlIG9sZC1zdHlsZSBVbmljb2RlIEFQSSwgcGxlYXNlIG1pZ3JhdGUgdG8gdXNpbmcgdGhlCisgICAgICA6YzpmdW5jOmBQeVVuaWNvZGVfbkJZVEVfREFUQWAgZmFtaWx5IG9mIG1hY3Jvcy4KKworCiBVbmljb2RlIENoYXJhY3RlciBQcm9wZXJ0aWVzCiAiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiCiAKQEAgLTE2NiwxNiArMzE4LDI1IEBACiAKICAgIFJldHVybiB0aGUgY2hhcmFjdGVyICpjaCogY29udmVydGVkIHRvIGxvd2VyIGNhc2UuCiAKKyAgIC4uIGRlcHJlY2F0ZWQ6OiAzLjMKKyAgICAgIFRoaXMgZnVuY3Rpb24gdXNlcyBzaW1wbGUgY2FzZSBtYXBwaW5ncy4KKwogCiAuLiBjOmZ1bmN0aW9uOjogUHlfVU5JQ09ERSBQeV9VTklDT0RFX1RPVVBQRVIoUHlfVU5JQ09ERSBjaCkKIAogICAgUmV0dXJuIHRoZSBjaGFyYWN0ZXIgKmNoKiBjb252ZXJ0ZWQgdG8gdXBwZXIgY2FzZS4KIAorICAgLi4gZGVwcmVjYXRlZDo6IDMuMworICAgICAgVGhpcyBmdW5jdGlvbiB1c2VzIHNpbXBsZSBjYXNlIG1hcHBpbmdzLgorCiAKIC4uIGM6ZnVuY3Rpb246OiBQeV9VTklDT0RFIFB5X1VOSUNPREVfVE9USVRMRShQeV9VTklDT0RFIGNoKQogCiAgICBSZXR1cm4gdGhlIGNoYXJhY3RlciAqY2gqIGNvbnZlcnRlZCB0byB0aXRsZSBjYXNlLgogCisgICAuLiBkZXByZWNhdGVkOjogMy4zCisgICAgICBUaGlzIGZ1bmN0aW9uIHVzZXMgc2ltcGxlIGNhc2UgbWFwcGluZ3MuCisKIAogLi4gYzpmdW5jdGlvbjo6IGludCBQeV9VTklDT0RFX1RPREVDSU1BTChQeV9VTklDT0RFIGNoKQogCkBAIC0xOTUsMzEgKzM1Niw2NiBAQAogICAgcG9zc2libGUuICBUaGlzIG1hY3JvIGRvZXMgbm90IHJhaXNlIGV4Y2VwdGlvbnMuCiAKIAotUGxhaW4gUHlfVU5JQ09ERQotIiIiIiIiIiIiIiIiIiIiIgorVGhlc2UgQVBJcyBjYW4gYmUgdXNlZCB0byB3b3JrIHdpdGggc3Vycm9nYXRlczoKKworLi4gYzptYWNybzo6IFB5X1VOSUNPREVfSVNfU1VSUk9HQVRFKGNoKQorCisgICBDaGVjayBpZiAqY2gqIGlzIGEgc3Vycm9nYXRlIChgYDB4RDgwMCA8PSBjaCA8PSAweERGRkZgYCkuCisKKy4uIGM6bWFjcm86OiBQeV9VTklDT0RFX0lTX0hJR0hfU1VSUk9HQVRFKGNoKQorCisgICBDaGVjayBpZiAqY2gqIGlzIGFuIGhpZ2ggc3Vycm9nYXRlIChgYDB4RDgwMCA8PSBjaCA8PSAweERCRkZgYCkuCisKKy4uIGM6bWFjcm86OiBQeV9VTklDT0RFX0lTX0xPV19TVVJST0dBVEUoY2gpCisKKyAgIENoZWNrIGlmICpjaCogaXMgYSBsb3cgc3Vycm9nYXRlIChgYDB4REMwMCA8PSBjaCA8PSAweERGRkZgYCkuCisKKy4uIGM6bWFjcm86OiBQeV9VTklDT0RFX0pPSU5fU1VSUk9HQVRFUyhoaWdoLCBsb3cpCisKKyAgIEpvaW4gdHdvIHN1cnJvZ2F0ZSBjaGFyYWN0ZXJzIGFuZCByZXR1cm4gYSBzaW5nbGUgUHlfVUNTNCB2YWx1ZS4KKyAgICpoaWdoKiBhbmQgKmxvdyogYXJlIHJlc3BlY3RpdmVseSB0aGUgbGVhZGluZyBhbmQgdHJhaWxpbmcgc3Vycm9nYXRlcyBpbiBhCisgICBzdXJyb2dhdGUgcGFpci4KKworCitDcmVhdGluZyBhbmQgYWNjZXNzaW5nIFVuaWNvZGUgc3RyaW5ncworIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIKIAogVG8gY3JlYXRlIFVuaWNvZGUgb2JqZWN0cyBhbmQgYWNjZXNzIHRoZWlyIGJhc2ljIHNlcXVlbmNlIHByb3BlcnRpZXMsIHVzZSB0aGVzZQogQVBJczoKIAorLi4gYzpmdW5jdGlvbjo6IFB5T2JqZWN0KiBQeVVuaWNvZGVfTmV3KFB5X3NzaXplX3Qgc2l6ZSwgUHlfVUNTNCBtYXhjaGFyKQogCi0uLiBjOmZ1bmN0aW9uOjogUHlPYmplY3QqIFB5VW5pY29kZV9Gcm9tVW5pY29kZShjb25zdCBQeV9VTklDT0RFICp1LCBQeV9zc2l6ZV90IHNpemUpCisgICBDcmVhdGUgYSBuZXcgVW5pY29kZSBvYmplY3QuICAqbWF4Y2hhciogc2hvdWxkIGJlIHRoZSB0cnVlIG1heGltdW0gY29kZSBwb2ludAorICAgdG8gYmUgcGxhY2VkIGluIHRoZSBzdHJpbmcuICBBcyBhbiBhcHByb3hpbWF0aW9uLCBpdCBjYW4gYmUgcm91bmRlZCB1cCB0byB0aGUKKyAgIG5lYXJlc3QgdmFsdWUgaW4gdGhlIHNlcXVlbmNlIDEyNywgMjU1LCA2NTUzNSwgMTExNDExMS4KIAotICAgQ3JlYXRlIGEgVW5pY29kZSBvYmplY3QgZnJvbSB0aGUgUHlfVU5JQ09ERSBidWZmZXIgKnUqIG9mIHRoZSBnaXZlbiBzaXplLiAqdSoKLSAgIG1heSBiZSAqTlVMTCogd2hpY2ggY2F1c2VzIHRoZSBjb250ZW50cyB0byBiZSB1bmRlZmluZWQuIEl0IGlzIHRoZSB1c2VyJ3MKLSAgIHJlc3BvbnNpYmlsaXR5IHRvIGZpbGwgaW4gdGhlIG5lZWRlZCBkYXRhLiAgVGhlIGJ1ZmZlciBpcyBjb3BpZWQgaW50byB0aGUgbmV3Ci0gICBvYmplY3QuIElmIHRoZSBidWZmZXIgaXMgbm90ICpOVUxMKiwgdGhlIHJldHVybiB2YWx1ZSBtaWdodCBiZSBhIHNoYXJlZCBvYmplY3QuCi0gICBUaGVyZWZvcmUsIG1vZGlmaWNhdGlvbiBvZiB0aGUgcmVzdWx0aW5nIFVuaWNvZGUgb2JqZWN0IGlzIG9ubHkgYWxsb3dlZCB3aGVuICp1KgotICAgaXMgKk5VTEwqLgorICAgVGhpcyBpcyB0aGUgcmVjb21tZW5kZWQgd2F5IHRvIGFsbG9jYXRlIGEgbmV3IFVuaWNvZGUgb2JqZWN0LiAgT2JqZWN0cworICAgY3JlYXRlZCB1c2luZyB0aGlzIGZ1bmN0aW9uIGFyZSBub3QgcmVzaXphYmxlLgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKKworCisuLiBjOmZ1bmN0aW9uOjogUHlPYmplY3QqIFB5VW5pY29kZV9Gcm9tS2luZEFuZERhdGEoaW50IGtpbmQsIGNvbnN0IHZvaWQgKmJ1ZmZlciwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3Qgc2l6ZSkKKworICAgQ3JlYXRlIGEgbmV3IFVuaWNvZGUgb2JqZWN0IHdpdGggdGhlIGdpdmVuICpraW5kKiAocG9zc2libGUgdmFsdWVzIGFyZQorICAgOmM6bWFjcm86YFB5VW5pY29kZV8xQllURV9LSU5EYCBldGMuLCBhcyByZXR1cm5lZCBieQorICAgOmM6ZnVuYzpgUHlVbmljb2RlX0tJTkRgKS4gIFRoZSAqYnVmZmVyKiBtdXN0IHBvaW50IHRvIGFuIGFycmF5IG9mICpzaXplKgorICAgdW5pdHMgb2YgMSwgMiBvciA0IGJ5dGVzIHBlciBjaGFyYWN0ZXIsIGFzIGdpdmVuIGJ5IHRoZSBraW5kLgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKIAogCiAuLiBjOmZ1bmN0aW9uOjogUHlPYmplY3QqIFB5VW5pY29kZV9Gcm9tU3RyaW5nQW5kU2l6ZShjb25zdCBjaGFyICp1LCBQeV9zc2l6ZV90IHNpemUpCiAKLSAgIENyZWF0ZSBhIFVuaWNvZGUgb2JqZWN0IGZyb20gdGhlIGNoYXIgYnVmZmVyICp1Ki4gIFRoZSBieXRlcyB3aWxsIGJlIGludGVycHJldGVkCi0gICBhcyBiZWluZyBVVEYtOCBlbmNvZGVkLiAgKnUqIG1heSBhbHNvIGJlICpOVUxMKiB3aGljaAotICAgY2F1c2VzIHRoZSBjb250ZW50cyB0byBiZSB1bmRlZmluZWQuIEl0IGlzIHRoZSB1c2VyJ3MgcmVzcG9uc2liaWxpdHkgdG8gZmlsbCBpbgotICAgdGhlIG5lZWRlZCBkYXRhLiAgVGhlIGJ1ZmZlciBpcyBjb3BpZWQgaW50byB0aGUgbmV3IG9iamVjdC4gSWYgdGhlIGJ1ZmZlciBpcyBub3QKLSAgICpOVUxMKiwgdGhlIHJldHVybiB2YWx1ZSBtaWdodCBiZSBhIHNoYXJlZCBvYmplY3QuIFRoZXJlZm9yZSwgbW9kaWZpY2F0aW9uIG9mCi0gICB0aGUgcmVzdWx0aW5nIFVuaWNvZGUgb2JqZWN0IGlzIG9ubHkgYWxsb3dlZCB3aGVuICp1KiBpcyAqTlVMTCouCisgICBDcmVhdGUgYSBVbmljb2RlIG9iamVjdCBmcm9tIHRoZSBjaGFyIGJ1ZmZlciAqdSouICBUaGUgYnl0ZXMgd2lsbCBiZQorICAgaW50ZXJwcmV0ZWQgYXMgYmVpbmcgVVRGLTggZW5jb2RlZC4gIFRoZSBidWZmZXIgaXMgY29waWVkIGludG8gdGhlIG5ldworICAgb2JqZWN0LiBJZiB0aGUgYnVmZmVyIGlzIG5vdCAqTlVMTCosIHRoZSByZXR1cm4gdmFsdWUgbWlnaHQgYmUgYSBzaGFyZWQKKyAgIG9iamVjdCwgaS5lLiBtb2RpZmljYXRpb24gb2YgdGhlIGRhdGEgaXMgbm90IGFsbG93ZWQuCisKKyAgIElmICp1KiBpcyAqTlVMTCosIHRoaXMgZnVuY3Rpb24gYmVoYXZlcyBsaWtlIDpjOmZ1bmM6YFB5VW5pY29kZV9Gcm9tVW5pY29kZWAKKyAgIHdpdGggdGhlIGJ1ZmZlciBzZXQgdG8gKk5VTEwqLiAgVGhpcyB1c2FnZSBpcyBkZXByZWNhdGVkIGluIGZhdm9yIG9mCisgICA6YzpmdW5jOmBQeVVuaWNvZGVfTmV3YC4KIAogCiAuLiBjOmZ1bmN0aW9uOjogUHlPYmplY3QgKlB5VW5pY29kZV9Gcm9tU3RyaW5nKGNvbnN0IGNoYXIgKnUpCkBAIC0yNjAsMTggKzQ1NiwyNyBAQAogICAgfCA6YXR0cjpgJWxkYCAgICAgICB8IGxvbmcgICAgICAgICAgICAgICAgfCBFeGFjdGx5IGVxdWl2YWxlbnQgdG8gICAgICAgICAgfAogICAgfCAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgfCBgYHByaW50ZigiJWxkIilgYC4gICAgICAgICAgICAgfAogICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworICAgfCA6YXR0cjpgJWxpYCAgICAgICB8IGxvbmcgICAgICAgICAgICAgICAgfCBFeGFjdGx5IGVxdWl2YWxlbnQgdG8gICAgICAgICAgfAorICAgfCAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgfCBgYHByaW50ZigiJWxpIilgYC4gICAgICAgICAgICAgfAorICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwogICAgfCA6YXR0cjpgJWx1YCAgICAgICB8IHVuc2lnbmVkIGxvbmcgICAgICAgfCBFeGFjdGx5IGVxdWl2YWxlbnQgdG8gICAgICAgICAgfAogICAgfCAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgfCBgYHByaW50ZigiJWx1IilgYC4gICAgICAgICAgICAgfAogICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwogICAgfCA6YXR0cjpgJWxsZGAgICAgICB8IGxvbmcgbG9uZyAgICAgICAgICAgfCBFeGFjdGx5IGVxdWl2YWxlbnQgdG8gICAgICAgICAgfAogICAgfCAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgfCBgYHByaW50ZigiJWxsZCIpYGAuICAgICAgICAgICAgfAogICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworICAgfCA6YXR0cjpgJWxsaWAgICAgICB8IGxvbmcgbG9uZyAgICAgICAgICAgfCBFeGFjdGx5IGVxdWl2YWxlbnQgdG8gICAgICAgICAgfAorICAgfCAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgfCBgYHByaW50ZigiJWxsaSIpYGAuICAgICAgICAgICAgfAorICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwogICAgfCA6YXR0cjpgJWxsdWAgICAgICB8IHVuc2lnbmVkIGxvbmcgbG9uZyAgfCBFeGFjdGx5IGVxdWl2YWxlbnQgdG8gICAgICAgICAgfAogICAgfCAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgfCBgYHByaW50ZigiJWxsdSIpYGAuICAgICAgICAgICAgfAogICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwogICAgfCA6YXR0cjpgJXpkYCAgICAgICB8IFB5X3NzaXplX3QgICAgICAgICAgfCBFeGFjdGx5IGVxdWl2YWxlbnQgdG8gICAgICAgICAgfAogICAgfCAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgfCBgYHByaW50ZigiJXpkIilgYC4gICAgICAgICAgICAgfAogICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworICAgfCA6YXR0cjpgJXppYCAgICAgICB8IFB5X3NzaXplX3QgICAgICAgICAgfCBFeGFjdGx5IGVxdWl2YWxlbnQgdG8gICAgICAgICAgfAorICAgfCAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgfCBgYHByaW50ZigiJXppIilgYC4gICAgICAgICAgICAgfAorICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwogICAgfCA6YXR0cjpgJXp1YCAgICAgICB8IHNpemVfdCAgICAgICAgICAgICAgfCBFeGFjdGx5IGVxdWl2YWxlbnQgdG8gICAgICAgICAgfAogICAgfCAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgfCBgYHByaW50ZigiJXp1IilgYC4gICAgICAgICAgICAgfAogICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwpAQCAtMzIyLDQ3ICs1MjcsMTggQEAKICAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy4yCiAgICAgICBTdXBwb3J0IGZvciBgYCIlbGxkImBgIGFuZCBgYCIlbGx1ImBgIGFkZGVkLgogCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMworICAgICAgU3VwcG9ydCBmb3IgYGAiJWxpImBgLCBgYCIlbGxpImBgIGFuZCBgYCIlemkiYGAgYWRkZWQuCisKIAogLi4gYzpmdW5jdGlvbjo6IFB5T2JqZWN0KiBQeVVuaWNvZGVfRnJvbUZvcm1hdFYoY29uc3QgY2hhciAqZm9ybWF0LCB2YV9saXN0IHZhcmdzKQogCiAgICBJZGVudGljYWwgdG8gOmM6ZnVuYzpgUHlVbmljb2RlX0Zyb21Gb3JtYXRgIGV4Y2VwdCB0aGF0IGl0IHRha2VzIGV4YWN0bHkgdHdvCiAgICBhcmd1bWVudHMuCiAKLS4uIGM6ZnVuY3Rpb246OiBQeU9iamVjdCogUHlVbmljb2RlX1RyYW5zZm9ybURlY2ltYWxUb0FTQ0lJKFB5X1VOSUNPREUgKnMsIFB5X3NzaXplX3Qgc2l6ZSkKIAotICAgQ3JlYXRlIGEgVW5pY29kZSBvYmplY3QgYnkgcmVwbGFjaW5nIGFsbCBkZWNpbWFsIGRpZ2l0cyBpbgotICAgOmM6dHlwZTpgUHlfVU5JQ09ERWAgYnVmZmVyIG9mIHRoZSBnaXZlbiAqc2l6ZSogYnkgQVNDSUkgZGlnaXRzIDAtLTkKLSAgIGFjY29yZGluZyB0byB0aGVpciBkZWNpbWFsIHZhbHVlLiAgUmV0dXJuICpOVUxMKiBpZiBhbiBleGNlcHRpb24KLSAgIG9jY3Vycy4KLQotCi0uLiBjOmZ1bmN0aW9uOjogUHlfVU5JQ09ERSogUHlVbmljb2RlX0FzVW5pY29kZShQeU9iamVjdCAqdW5pY29kZSkKLQotICAgUmV0dXJuIGEgcmVhZC1vbmx5IHBvaW50ZXIgdG8gdGhlIFVuaWNvZGUgb2JqZWN0J3MgaW50ZXJuYWwKLSAgIDpjOnR5cGU6YFB5X1VOSUNPREVgIGJ1ZmZlciwgKk5VTEwqIGlmICp1bmljb2RlKiBpcyBub3QgYSBVbmljb2RlIG9iamVjdC4KLSAgIE5vdGUgdGhhdCB0aGUgcmVzdWx0aW5nIDpjOnR5cGU6YFB5X1VOSUNPREUqYCBzdHJpbmcgbWF5IGNvbnRhaW4gZW1iZWRkZWQKLSAgIG51bGwgY2hhcmFjdGVycywgd2hpY2ggd291bGQgY2F1c2UgdGhlIHN0cmluZyB0byBiZSB0cnVuY2F0ZWQgd2hlbiB1c2VkIGluCi0gICBtb3N0IEMgZnVuY3Rpb25zLgotCi0KLS4uIGM6ZnVuY3Rpb246OiBQeV9VTklDT0RFKiBQeVVuaWNvZGVfQXNVbmljb2RlQ29weShQeU9iamVjdCAqdW5pY29kZSkKLQotICAgQ3JlYXRlIGEgY29weSBvZiBhIFVuaWNvZGUgc3RyaW5nIGVuZGluZyB3aXRoIGEgbnVsIGNoYXJhY3Rlci4gUmV0dXJuICpOVUxMKgotICAgYW5kIHJhaXNlIGEgOmV4YzpgTWVtb3J5RXJyb3JgIGV4Y2VwdGlvbiBvbiBtZW1vcnkgYWxsb2NhdGlvbiBmYWlsdXJlLAotICAgb3RoZXJ3aXNlIHJldHVybiBhIG5ldyBhbGxvY2F0ZWQgYnVmZmVyICh1c2UgOmM6ZnVuYzpgUHlNZW1fRnJlZWAgdG8gZnJlZQotICAgdGhlIGJ1ZmZlcikuIE5vdGUgdGhhdCB0aGUgcmVzdWx0aW5nIDpjOnR5cGU6YFB5X1VOSUNPREUqYCBzdHJpbmcgbWF5IGNvbnRhaW4KLSAgIGVtYmVkZGVkIG51bGwgY2hhcmFjdGVycywgd2hpY2ggd291bGQgY2F1c2UgdGhlIHN0cmluZyB0byBiZSB0cnVuY2F0ZWQgd2hlbgotICAgdXNlZCBpbiBtb3N0IEMgZnVuY3Rpb25zLgotCi0gICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjIKLQotCi0uLiBjOmZ1bmN0aW9uOjogUHlfc3NpemVfdCBQeVVuaWNvZGVfR2V0U2l6ZShQeU9iamVjdCAqdW5pY29kZSkKLQotICAgUmV0dXJuIHRoZSBsZW5ndGggb2YgdGhlIFVuaWNvZGUgb2JqZWN0LgotCi0KLS4uIGM6ZnVuY3Rpb246OiBQeU9iamVjdCogUHlVbmljb2RlX0Zyb21FbmNvZGVkT2JqZWN0KFB5T2JqZWN0ICpvYmosIGNvbnN0IGNoYXIgKmVuY29kaW5nLCBjb25zdCBjaGFyICplcnJvcnMpCisuLiBjOmZ1bmN0aW9uOjogUHlPYmplY3QqIFB5VW5pY29kZV9Gcm9tRW5jb2RlZE9iamVjdChQeU9iamVjdCAqb2JqLCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZW5jb2RpbmcsIGNvbnN0IGNoYXIgKmVycm9ycykKIAogICAgQ29lcmNlIGFuIGVuY29kZWQgb2JqZWN0ICpvYmoqIHRvIGFuIFVuaWNvZGUgb2JqZWN0IGFuZCByZXR1cm4gYSByZWZlcmVuY2Ugd2l0aAogICAgaW5jcmVtZW50ZWQgcmVmY291bnQuCkBAIC0zNzksMTUgKzU1NSwyMjcgQEAKICAgIGRlY3JlZidpbmcgdGhlIHJldHVybmVkIG9iamVjdHMuCiAKIAorLi4gYzpmdW5jdGlvbjo6IFB5X3NzaXplX3QgUHlVbmljb2RlX0dldExlbmd0aChQeU9iamVjdCAqdW5pY29kZSkKKworICAgUmV0dXJuIHRoZSBsZW5ndGggb2YgdGhlIFVuaWNvZGUgb2JqZWN0LCBpbiBjb2RlIHBvaW50cy4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy4zCisKKworLi4gYzpmdW5jdGlvbjo6IGludCBQeVVuaWNvZGVfQ29weUNoYXJhY3RlcnMoUHlPYmplY3QgKnRvLCBQeV9zc2l6ZV90IHRvX3N0YXJ0LCBcCisgICAgICAgICAgICAgICAgICAgICAgICBQeU9iamVjdCAqdG8sIFB5X3NzaXplX3QgZnJvbV9zdGFydCwgUHlfc3NpemVfdCBob3dfbWFueSkKKworICAgQ29weSBjaGFyYWN0ZXJzIGZyb20gb25lIFVuaWNvZGUgb2JqZWN0IGludG8gYW5vdGhlci4gIFRoaXMgZnVuY3Rpb24gcGVyZm9ybXMKKyAgIGNoYXJhY3RlciBjb252ZXJzaW9uIHdoZW4gbmVjZXNzYXJ5IGFuZCBmYWxscyBiYWNrIHRvIDpjOmZ1bmM6YG1lbWNweWAgaWYKKyAgIHBvc3NpYmxlLiAgUmV0dXJucyBgYC0xYGAgYW5kIHNldHMgYW4gZXhjZXB0aW9uIG9uIGVycm9yLCBvdGhlcndpc2UgcmV0dXJucworICAgYGAwYGAuCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMworCisKKy4uIGM6ZnVuY3Rpb246OiBQeV9zc2l6ZV90IFB5VW5pY29kZV9GaWxsKFB5T2JqZWN0ICp1bmljb2RlLCBQeV9zc2l6ZV90IHN0YXJ0LCBcCisgICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IGxlbmd0aCwgUHlfVUNTNCBmaWxsX2NoYXIpCisKKyAgIEZpbGwgYSBzdHJpbmcgd2l0aCBhIGNoYXJhY3Rlcjogd3JpdGUgKmZpbGxfY2hhciogaW50bworICAgYGB1bmljb2RlW3N0YXJ0OnN0YXJ0K2xlbmd0aF1gYC4KKworICAgRmFpbCBpZiAqZmlsbF9jaGFyKiBpcyBiaWdnZXIgdGhhbiB0aGUgc3RyaW5nIG1heGltdW0gY2hhcmFjdGVyLCBvciBpZiB0aGUKKyAgIHN0cmluZyBoYXMgbW9yZSB0aGFuIDEgcmVmZXJlbmNlLgorCisgICBSZXR1cm4gdGhlIG51bWJlciBvZiB3cml0dGVuIGNoYXJhY3Rlciwgb3IgcmV0dXJuIGBgLTFgYCBhbmQgcmFpc2UgYW4KKyAgIGV4Y2VwdGlvbiBvbiBlcnJvci4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy4zCisKKworLi4gYzpmdW5jdGlvbjo6IGludCBQeVVuaWNvZGVfV3JpdGVDaGFyKFB5T2JqZWN0ICp1bmljb2RlLCBQeV9zc2l6ZV90IGluZGV4LCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlfVUNTNCBjaGFyYWN0ZXIpCisKKyAgIFdyaXRlIGEgY2hhcmFjdGVyIHRvIGEgc3RyaW5nLiAgVGhlIHN0cmluZyBtdXN0IGhhdmUgYmVlbiBjcmVhdGVkIHRocm91Z2gKKyAgIDpjOmZ1bmM6YFB5VW5pY29kZV9OZXdgLiAgU2luY2UgVW5pY29kZSBzdHJpbmdzIGFyZSBzdXBwb3NlZCB0byBiZSBpbW11dGFibGUsCisgICB0aGUgc3RyaW5nIG11c3Qgbm90IGJlIHNoYXJlZCwgb3IgaGF2ZSBiZWVuIGhhc2hlZCB5ZXQuCisKKyAgIFRoaXMgZnVuY3Rpb24gY2hlY2tzIHRoYXQgKnVuaWNvZGUqIGlzIGEgVW5pY29kZSBvYmplY3QsIHRoYXQgdGhlIGluZGV4IGlzCisgICBub3Qgb3V0IG9mIGJvdW5kcywgYW5kIHRoYXQgdGhlIG9iamVjdCBjYW4gYmUgbW9kaWZpZWQgc2FmZWx5IChpLmUuIHRoYXQgaXQKKyAgIGl0cyByZWZlcmVuY2UgY291bnQgaXMgb25lKSwgaW4gY29udHJhc3QgdG8gdGhlIG1hY3JvIHZlcnNpb24KKyAgIDpjOmZ1bmM6YFB5VW5pY29kZV9XUklURV9DSEFSYC4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy4zCisKKworLi4gYzpmdW5jdGlvbjo6IFB5X1VDUzQgUHlVbmljb2RlX1JlYWRDaGFyKFB5T2JqZWN0ICp1bmljb2RlLCBQeV9zc2l6ZV90IGluZGV4KQorCisgICBSZWFkIGEgY2hhcmFjdGVyIGZyb20gYSBzdHJpbmcuICBUaGlzIGZ1bmN0aW9uIGNoZWNrcyB0aGF0ICp1bmljb2RlKiBpcyBhCisgICBVbmljb2RlIG9iamVjdCBhbmQgdGhlIGluZGV4IGlzIG5vdCBvdXQgb2YgYm91bmRzLCBpbiBjb250cmFzdCB0byB0aGUgbWFjcm8KKyAgIHZlcnNpb24gOmM6ZnVuYzpgUHlVbmljb2RlX1JFQURfQ0hBUmAuCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMworCisKKy4uIGM6ZnVuY3Rpb246OiBQeU9iamVjdCogUHlVbmljb2RlX1N1YnN0cmluZyhQeU9iamVjdCAqc3RyLCBQeV9zc2l6ZV90IHN0YXJ0LCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBlbmQpCisKKyAgIFJldHVybiBhIHN1YnN0cmluZyBvZiAqc3RyKiwgZnJvbSBjaGFyYWN0ZXIgaW5kZXggKnN0YXJ0KiAoaW5jbHVkZWQpIHRvCisgICBjaGFyYWN0ZXIgaW5kZXggKmVuZCogKGV4Y2x1ZGVkKS4gIE5lZ2F0aXZlIGluZGljZXMgYXJlIG5vdCBzdXBwb3J0ZWQuCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMworCisKKy4uIGM6ZnVuY3Rpb246OiBQeV9VQ1M0KiBQeVVuaWNvZGVfQXNVQ1M0KFB5T2JqZWN0ICp1LCBQeV9VQ1M0ICpidWZmZXIsIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3QgYnVmbGVuLCBpbnQgY29weV9udWxsKQorCisgICBDb3B5IHRoZSBzdHJpbmcgKnUqIGludG8gYSBVQ1M0IGJ1ZmZlciwgaW5jbHVkaW5nIGEgbnVsbCBjaGFyYWN0ZXIsIGlmCisgICAqY29weV9udWxsKiBpcyBzZXQuICBSZXR1cm5zICpOVUxMKiBhbmQgc2V0cyBhbiBleGNlcHRpb24gb24gZXJyb3IgKGluCisgICBwYXJ0aWN1bGFyLCBhIDpleGM6YFZhbHVlRXJyb3JgIGlmICpidWZsZW4qIGlzIHNtYWxsZXIgdGhhbiB0aGUgbGVuZ3RoIG9mCisgICAqdSopLiAgKmJ1ZmZlciogaXMgcmV0dXJuZWQgb24gc3VjY2Vzcy4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy4zCisKKworLi4gYzpmdW5jdGlvbjo6IFB5X1VDUzQqIFB5VW5pY29kZV9Bc1VDUzRDb3B5KFB5T2JqZWN0ICp1KQorCisgICBDb3B5IHRoZSBzdHJpbmcgKnUqIGludG8gYSBuZXcgVUNTNCBidWZmZXIgdGhhdCBpcyBhbGxvY2F0ZWQgdXNpbmcKKyAgIDpjOmZ1bmM6YFB5TWVtX01hbGxvY2AuICBJZiB0aGlzIGZhaWxzLCAqTlVMTCogaXMgcmV0dXJuZWQgd2l0aCBhCisgICA6ZXhjOmBNZW1vcnlFcnJvcmAgc2V0LgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKKworCitEZXByZWNhdGVkIFB5X1VOSUNPREUgQVBJcworIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIKKworLi4gZGVwcmVjYXRlZC1yZW1vdmVkOjogMy4zIDQuMAorCitUaGVzZSBBUEkgZnVuY3Rpb25zIGFyZSBkZXByZWNhdGVkIHdpdGggdGhlIGltcGxlbWVudGF0aW9uIG9mIDpwZXA6YDM5M2AuCitFeHRlbnNpb24gbW9kdWxlcyBjYW4gY29udGludWUgdXNpbmcgdGhlbSwgYXMgdGhleSB3aWxsIG5vdCBiZSByZW1vdmVkIGluIFB5dGhvbgorMy54LCBidXQgbmVlZCB0byBiZSBhd2FyZSB0aGF0IHRoZWlyIHVzZSBjYW4gbm93IGNhdXNlIHBlcmZvcm1hbmNlIGFuZCBtZW1vcnkgaGl0cy4KKworCisuLiBjOmZ1bmN0aW9uOjogUHlPYmplY3QqIFB5VW5pY29kZV9Gcm9tVW5pY29kZShjb25zdCBQeV9VTklDT0RFICp1LCBQeV9zc2l6ZV90IHNpemUpCisKKyAgIENyZWF0ZSBhIFVuaWNvZGUgb2JqZWN0IGZyb20gdGhlIFB5X1VOSUNPREUgYnVmZmVyICp1KiBvZiB0aGUgZ2l2ZW4gc2l6ZS4gKnUqCisgICBtYXkgYmUgKk5VTEwqIHdoaWNoIGNhdXNlcyB0aGUgY29udGVudHMgdG8gYmUgdW5kZWZpbmVkLiBJdCBpcyB0aGUgdXNlcidzCisgICByZXNwb25zaWJpbGl0eSB0byBmaWxsIGluIHRoZSBuZWVkZWQgZGF0YS4gIFRoZSBidWZmZXIgaXMgY29waWVkIGludG8gdGhlIG5ldworICAgb2JqZWN0LgorCisgICBJZiB0aGUgYnVmZmVyIGlzIG5vdCAqTlVMTCosIHRoZSByZXR1cm4gdmFsdWUgbWlnaHQgYmUgYSBzaGFyZWQgb2JqZWN0LgorICAgVGhlcmVmb3JlLCBtb2RpZmljYXRpb24gb2YgdGhlIHJlc3VsdGluZyBVbmljb2RlIG9iamVjdCBpcyBvbmx5IGFsbG93ZWQgd2hlbgorICAgKnUqIGlzICpOVUxMKi4KKworICAgSWYgdGhlIGJ1ZmZlciBpcyAqTlVMTCosIDpjOmZ1bmM6YFB5VW5pY29kZV9SRUFEWWAgbXVzdCBiZSBjYWxsZWQgb25jZSB0aGUKKyAgIHN0cmluZyBjb250ZW50IGhhcyBiZWVuIGZpbGxlZCBiZWZvcmUgdXNpbmcgYW55IG9mIHRoZSBhY2Nlc3MgbWFjcm9zIHN1Y2ggYXMKKyAgIDpjOmZ1bmM6YFB5VW5pY29kZV9LSU5EYC4KKworICAgUGxlYXNlIG1pZ3JhdGUgdG8gdXNpbmcgOmM6ZnVuYzpgUHlVbmljb2RlX0Zyb21LaW5kQW5kRGF0YWAgb3IKKyAgIDpjOmZ1bmM6YFB5VW5pY29kZV9OZXdgLgorCisKKy4uIGM6ZnVuY3Rpb246OiBQeV9VTklDT0RFKiBQeVVuaWNvZGVfQXNVbmljb2RlKFB5T2JqZWN0ICp1bmljb2RlKQorCisgICBSZXR1cm4gYSByZWFkLW9ubHkgcG9pbnRlciB0byB0aGUgVW5pY29kZSBvYmplY3QncyBpbnRlcm5hbAorICAgOmM6dHlwZTpgUHlfVU5JQ09ERWAgYnVmZmVyLCBvciAqTlVMTCogb24gZXJyb3IuIFRoaXMgd2lsbCBjcmVhdGUgdGhlCisgICA6Yzp0eXBlOmBQeV9VTklDT0RFKmAgcmVwcmVzZW50YXRpb24gb2YgdGhlIG9iamVjdCBpZiBpdCBpcyBub3QgeWV0CisgICBhdmFpbGFibGUuIE5vdGUgdGhhdCB0aGUgcmVzdWx0aW5nIDpjOnR5cGU6YFB5X1VOSUNPREVgIHN0cmluZyBtYXkgY29udGFpbgorICAgZW1iZWRkZWQgbnVsbCBjaGFyYWN0ZXJzLCB3aGljaCB3b3VsZCBjYXVzZSB0aGUgc3RyaW5nIHRvIGJlIHRydW5jYXRlZCB3aGVuCisgICB1c2VkIGluIG1vc3QgQyBmdW5jdGlvbnMuCisKKyAgIFBsZWFzZSBtaWdyYXRlIHRvIHVzaW5nIDpjOmZ1bmM6YFB5VW5pY29kZV9Bc1VDUzRgLAorICAgOmM6ZnVuYzpgUHlVbmljb2RlX1N1YnN0cmluZ2AsIDpjOmZ1bmM6YFB5VW5pY29kZV9SZWFkQ2hhcmAgb3Igc2ltaWxhciBuZXcKKyAgIEFQSXMuCisKKworLi4gYzpmdW5jdGlvbjo6IFB5T2JqZWN0KiBQeVVuaWNvZGVfVHJhbnNmb3JtRGVjaW1hbFRvQVNDSUkoUHlfVU5JQ09ERSAqcywgUHlfc3NpemVfdCBzaXplKQorCisgICBDcmVhdGUgYSBVbmljb2RlIG9iamVjdCBieSByZXBsYWNpbmcgYWxsIGRlY2ltYWwgZGlnaXRzIGluCisgICA6Yzp0eXBlOmBQeV9VTklDT0RFYCBidWZmZXIgb2YgdGhlIGdpdmVuICpzaXplKiBieSBBU0NJSSBkaWdpdHMgMC0tOQorICAgYWNjb3JkaW5nIHRvIHRoZWlyIGRlY2ltYWwgdmFsdWUuICBSZXR1cm4gKk5VTEwqIGlmIGFuIGV4Y2VwdGlvbiBvY2N1cnMuCisKKworLi4gYzpmdW5jdGlvbjo6IFB5X1VOSUNPREUqIFB5VW5pY29kZV9Bc1VuaWNvZGVBbmRTaXplKFB5T2JqZWN0ICp1bmljb2RlLCBQeV9zc2l6ZV90ICpzaXplKQorCisgICBMaWtlIDpjOmZ1bmM6YFB5VW5pY29kZV9Bc1VuaWNvZGVgLCBidXQgYWxzbyBzYXZlcyB0aGUgOmM6ZnVuYzpgUHlfVU5JQ09ERWAKKyAgIGFycmF5IGxlbmd0aCBpbiAqc2l6ZSouIE5vdGUgdGhhdCB0aGUgcmVzdWx0aW5nIDpjOnR5cGU6YFB5X1VOSUNPREUqYCBzdHJpbmcKKyAgIG1heSBjb250YWluIGVtYmVkZGVkIG51bGwgY2hhcmFjdGVycywgd2hpY2ggd291bGQgY2F1c2UgdGhlIHN0cmluZyB0byBiZQorICAgdHJ1bmNhdGVkIHdoZW4gdXNlZCBpbiBtb3N0IEMgZnVuY3Rpb25zLgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKKworCisuLiBjOmZ1bmN0aW9uOjogUHlfVU5JQ09ERSogUHlVbmljb2RlX0FzVW5pY29kZUNvcHkoUHlPYmplY3QgKnVuaWNvZGUpCisKKyAgIENyZWF0ZSBhIGNvcHkgb2YgYSBVbmljb2RlIHN0cmluZyBlbmRpbmcgd2l0aCBhIG51bCBjaGFyYWN0ZXIuIFJldHVybiAqTlVMTCoKKyAgIGFuZCByYWlzZSBhIDpleGM6YE1lbW9yeUVycm9yYCBleGNlcHRpb24gb24gbWVtb3J5IGFsbG9jYXRpb24gZmFpbHVyZSwKKyAgIG90aGVyd2lzZSByZXR1cm4gYSBuZXcgYWxsb2NhdGVkIGJ1ZmZlciAodXNlIDpjOmZ1bmM6YFB5TWVtX0ZyZWVgIHRvIGZyZWUKKyAgIHRoZSBidWZmZXIpLiBOb3RlIHRoYXQgdGhlIHJlc3VsdGluZyA6Yzp0eXBlOmBQeV9VTklDT0RFKmAgc3RyaW5nIG1heQorICAgY29udGFpbiBlbWJlZGRlZCBudWxsIGNoYXJhY3RlcnMsIHdoaWNoIHdvdWxkIGNhdXNlIHRoZSBzdHJpbmcgdG8gYmUKKyAgIHRydW5jYXRlZCB3aGVuIHVzZWQgaW4gbW9zdCBDIGZ1bmN0aW9ucy4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy4yCisKKyAgIFBsZWFzZSBtaWdyYXRlIHRvIHVzaW5nIDpjOmZ1bmM6YFB5VW5pY29kZV9Bc1VDUzRDb3B5YCBvciBzaW1pbGFyIG5ldyBBUElzLgorCisKKy4uIGM6ZnVuY3Rpb246OiBQeV9zc2l6ZV90IFB5VW5pY29kZV9HZXRTaXplKFB5T2JqZWN0ICp1bmljb2RlKQorCisgICBSZXR1cm4gdGhlIHNpemUgb2YgdGhlIGRlcHJlY2F0ZWQgOmM6dHlwZTpgUHlfVU5JQ09ERWAgcmVwcmVzZW50YXRpb24sIGluCisgICBjb2RlIHVuaXRzICh0aGlzIGluY2x1ZGVzIHN1cnJvZ2F0ZSBwYWlycyBhcyAyIHVuaXRzKS4KKworICAgUGxlYXNlIG1pZ3JhdGUgdG8gdXNpbmcgOmM6ZnVuYzpgUHlVbmljb2RlX0dldExlbmd0aGAuCisKKwogLi4gYzpmdW5jdGlvbjo6IFB5T2JqZWN0KiBQeVVuaWNvZGVfRnJvbU9iamVjdChQeU9iamVjdCAqb2JqKQogCiAgICBTaG9ydGN1dCBmb3IgYGBQeVVuaWNvZGVfRnJvbUVuY29kZWRPYmplY3Qob2JqLCBOVUxMLCAic3RyaWN0IilgYCB3aGljaCBpcyB1c2VkCiAgICB0aHJvdWdob3V0IHRoZSBpbnRlcnByZXRlciB3aGVuZXZlciBjb2VyY2lvbiB0byBVbmljb2RlIGlzIG5lZWRlZC4KIAotSWYgdGhlIHBsYXRmb3JtIHN1cHBvcnRzIDpjOnR5cGU6YHdjaGFyX3RgIGFuZCBwcm92aWRlcyBhIGhlYWRlciBmaWxlIHdjaGFyLmgsCi1QeXRob24gY2FuIGludGVyZmFjZSBkaXJlY3RseSB0byB0aGlzIHR5cGUgdXNpbmcgdGhlIGZvbGxvd2luZyBmdW5jdGlvbnMuCi1TdXBwb3J0IGlzIG9wdGltaXplZCBpZiBQeXRob24ncyBvd24gOmM6dHlwZTpgUHlfVU5JQ09ERWAgdHlwZSBpcyBpZGVudGljYWwgdG8KLXRoZSBzeXN0ZW0ncyA6Yzp0eXBlOmB3Y2hhcl90YC4KKworTG9jYWxlIEVuY29kaW5nCisiIiIiIiIiIiIiIiIiIiIKKworVGhlIGN1cnJlbnQgbG9jYWxlIGVuY29kaW5nIGNhbiBiZSB1c2VkIHRvIGRlY29kZSB0ZXh0IGZyb20gdGhlIG9wZXJhdGluZworc3lzdGVtLgorCisuLiBjOmZ1bmN0aW9uOjogUHlPYmplY3QqIFB5VW5pY29kZV9EZWNvZGVMb2NhbGVBbmRTaXplKGNvbnN0IGNoYXIgKnN0ciwgUHlfc3NpemVfdCBsZW4sIGludCBzdXJyb2dhdGVlc2NhcGUpCisKKyAgIERlY29kZSBhIHN0cmluZyBmcm9tIHRoZSBjdXJyZW50IGxvY2FsZSBlbmNvZGluZy4gVGhlIGRlY29kZXIgaXMgc3RyaWN0IGlmCisgICAqc3Vycm9nYXRlZXNjYXBlKiBpcyBlcXVhbCB0byB6ZXJvLCBvdGhlcndpc2UgaXQgdXNlcyB0aGUKKyAgIGBgJ3N1cnJvZ2F0ZWVzY2FwZSdgYCBlcnJvciBoYW5kbGVyICg6cGVwOmAzODNgKSB0byBlc2NhcGUgdW5kZWNvZGFibGUKKyAgIGJ5dGVzLiBJZiBhIGJ5dGUgc2VxdWVuY2UgY2FuIGJlIGRlY29kZWQgYXMgYSBzdXJyb2dhdGUgY2hhcmFjdGVyIGFuZAorICAgKnN1cnJvZ2F0ZWVzY2FwZSogaXMgbm90IGVxdWFsIHRvIHplcm8sIHRoZSBieXRlIHNlcXVlbmNlIGlzIGVzY2FwZWQgdXNpbmcKKyAgIHRoZSBgYCdzdXJyb2dhdGVlc2NhcGUnYGAgZXJyb3IgaGFuZGxlciBpbnN0ZWFkIG9mIGJlaW5nIGRlY29kZWQuICAqc3RyKgorICAgbXVzdCBlbmQgd2l0aCBhIG51bGwgY2hhcmFjdGVyIGJ1dCBjYW5ub3QgY29udGFpbiBlbWJlZGRlZCBudWxsIGNoYXJhY3RlcnMuCisKKyAgIC4uIHNlZWFsc286OgorCisgICAgICBVc2UgOmM6ZnVuYzpgUHlVbmljb2RlX0RlY29kZUZTRGVmYXVsdEFuZFNpemVgIHRvIGRlY29kZSBhIHN0cmluZyBmcm9tCisgICAgICA6YzpkYXRhOmBQeV9GaWxlU3lzdGVtRGVmYXVsdEVuY29kaW5nYCAodGhlIGxvY2FsZSBlbmNvZGluZyByZWFkIGF0CisgICAgICBQeXRob24gc3RhcnR1cCkuCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMworCisKKy4uIGM6ZnVuY3Rpb246OiBQeU9iamVjdCogUHlVbmljb2RlX0RlY29kZUxvY2FsZShjb25zdCBjaGFyICpzdHIsIGludCBzdXJyb2dhdGVlc2NhcGUpCisKKyAgIFNpbWlsYXIgdG8gOmM6ZnVuYzpgUHlVbmljb2RlX0RlY29kZUxvY2FsZUFuZFNpemVgLCBidXQgY29tcHV0ZSB0aGUgc3RyaW5nCisgICBsZW5ndGggdXNpbmcgOmM6ZnVuYzpgc3RybGVuYC4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy4zCisKKworLi4gYzpmdW5jdGlvbjo6IFB5T2JqZWN0KiBQeVVuaWNvZGVfRW5jb2RlTG9jYWxlKFB5T2JqZWN0ICp1bmljb2RlLCBpbnQgc3Vycm9nYXRlZXNjYXBlKQorCisgICBFbmNvZGUgYSBVbmljb2RlIG9iamVjdCB0byB0aGUgY3VycmVudCBsb2NhbGUgZW5jb2RpbmcuIFRoZSBlbmNvZGVyIGlzCisgICBzdHJpY3QgaWYgKnN1cnJvZ2F0ZWVzY2FwZSogaXMgZXF1YWwgdG8gemVybywgb3RoZXJ3aXNlIGl0IHVzZXMgdGhlCisgICBgYCdzdXJyb2dhdGVlc2NhcGUnYGAgZXJyb3IgaGFuZGxlciAoOnBlcDpgMzgzYCkuIFJldHVybiBhIDpjbGFzczpgYnl0ZXNgCisgICBvYmplY3QuICpzdHIqIGNhbm5vdCBjb250YWluIGVtYmVkZGVkIG51bGwgY2hhcmFjdGVycy4KKworICAgLi4gc2VlYWxzbzo6CisKKyAgICAgIFVzZSA6YzpmdW5jOmBQeVVuaWNvZGVfRW5jb2RlRlNEZWZhdWx0YCB0byBlbmNvZGUgYSBzdHJpbmcgdG8KKyAgICAgIDpjOmRhdGE6YFB5X0ZpbGVTeXN0ZW1EZWZhdWx0RW5jb2RpbmdgICh0aGUgbG9jYWxlIGVuY29kaW5nIHJlYWQgYXQKKyAgICAgIFB5dGhvbiBzdGFydHVwKS4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy4zCiAKIAogRmlsZSBTeXN0ZW0gRW5jb2RpbmcKQEAgLTQzMCw2ICs4MTgsMTMgQEAKICAgIElmIDpjOmRhdGE6YFB5X0ZpbGVTeXN0ZW1EZWZhdWx0RW5jb2RpbmdgIGlzIG5vdCBzZXQsIGZhbGwgYmFjayB0byB0aGUKICAgIGxvY2FsZSBlbmNvZGluZy4KIAorICAgLi4gc2VlYWxzbzo6CisKKyAgICAgIDpjOmRhdGE6YFB5X0ZpbGVTeXN0ZW1EZWZhdWx0RW5jb2RpbmdgIGlzIGluaXRpYWxpemVkIGF0IHN0YXJ0dXAgZnJvbSB0aGUKKyAgICAgIGxvY2FsZSBlbmNvZGluZyBhbmQgY2Fubm90IGJlIG1vZGlmaWVkIGxhdGVyLiBJZiB5b3UgbmVlZCB0byBkZWNvZGUgYQorICAgICAgc3RyaW5nIGZyb20gdGhlIGN1cnJlbnQgbG9jYWxlIGVuY29kaW5nLCB1c2UKKyAgICAgIDpjOmZ1bmM6YFB5VW5pY29kZV9EZWNvZGVMb2NhbGVBbmRTaXplYC4KKwogICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjIKICAgICAgIFVzZSBgYCdzdHJpY3QnYGAgZXJyb3IgaGFuZGxlciBvbiBXaW5kb3dzLgogCkBAIC00NTgsNiArODUzLDEzIEBACiAgICBJZiA6YzpkYXRhOmBQeV9GaWxlU3lzdGVtRGVmYXVsdEVuY29kaW5nYCBpcyBub3Qgc2V0LCBmYWxsIGJhY2sgdG8gdGhlCiAgICBsb2NhbGUgZW5jb2RpbmcuCiAKKyAgIC4uIHNlZWFsc286OgorCisgICAgICA6YzpkYXRhOmBQeV9GaWxlU3lzdGVtRGVmYXVsdEVuY29kaW5nYCBpcyBpbml0aWFsaXplZCBhdCBzdGFydHVwIGZyb20gdGhlCisgICAgICBsb2NhbGUgZW5jb2RpbmcgYW5kIGNhbm5vdCBiZSBtb2RpZmllZCBsYXRlci4gSWYgeW91IG5lZWQgdG8gZW5jb2RlIGEKKyAgICAgIHN0cmluZyB0byB0aGUgY3VycmVudCBsb2NhbGUgZW5jb2RpbmcsIHVzZQorICAgICAgOmM6ZnVuYzpgUHlVbmljb2RlX0VuY29kZUxvY2FsZWAuCisKICAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMgogCiAKQEAgLTQ3OSw5ICs4ODEsOSBAQAogICAgQ29weSB0aGUgVW5pY29kZSBvYmplY3QgY29udGVudHMgaW50byB0aGUgOmM6dHlwZTpgd2NoYXJfdGAgYnVmZmVyICp3Ki4gIEF0IG1vc3QKICAgICpzaXplKiA6Yzp0eXBlOmB3Y2hhcl90YCBjaGFyYWN0ZXJzIGFyZSBjb3BpZWQgKGV4Y2x1ZGluZyBhIHBvc3NpYmx5IHRyYWlsaW5nCiAgICAwLXRlcm1pbmF0aW9uIGNoYXJhY3RlcikuICBSZXR1cm4gdGhlIG51bWJlciBvZiA6Yzp0eXBlOmB3Y2hhcl90YCBjaGFyYWN0ZXJzCi0gICBjb3BpZWQgb3IgLTEgaW4gY2FzZSBvZiBhbiBlcnJvci4gIE5vdGUgdGhhdCB0aGUgcmVzdWx0aW5nIDpjOnR5cGU6YHdjaGFyX3RgCisgICBjb3BpZWQgb3IgLTEgaW4gY2FzZSBvZiBhbiBlcnJvci4gIE5vdGUgdGhhdCB0aGUgcmVzdWx0aW5nIDpjOnR5cGU6YHdjaGFyX3QqYAogICAgc3RyaW5nIG1heSBvciBtYXkgbm90IGJlIDAtdGVybWluYXRlZC4gIEl0IGlzIHRoZSByZXNwb25zaWJpbGl0eSBvZiB0aGUgY2FsbGVyCi0gICB0byBtYWtlIHN1cmUgdGhhdCB0aGUgOmM6dHlwZTpgd2NoYXJfdGAgc3RyaW5nIGlzIDAtdGVybWluYXRlZCBpbiBjYXNlIHRoaXMgaXMKKyAgIHRvIG1ha2Ugc3VyZSB0aGF0IHRoZSA6Yzp0eXBlOmB3Y2hhcl90KmAgc3RyaW5nIGlzIDAtdGVybWluYXRlZCBpbiBjYXNlIHRoaXMgaXMKICAgIHJlcXVpcmVkIGJ5IHRoZSBhcHBsaWNhdGlvbi4gQWxzbywgbm90ZSB0aGF0IHRoZSA6Yzp0eXBlOmB3Y2hhcl90KmAgc3RyaW5nCiAgICBtaWdodCBjb250YWluIG51bGwgY2hhcmFjdGVycywgd2hpY2ggd291bGQgY2F1c2UgdGhlIHN0cmluZyB0byBiZSB0cnVuY2F0ZWQKICAgIHdoZW4gdXNlZCB3aXRoIG1vc3QgQyBmdW5jdGlvbnMuCkBAIC00OTcsMTIgKzg5OSwzMiBAQAogICAgUmV0dXJucyBhIGJ1ZmZlciBhbGxvY2F0ZWQgYnkgOmM6ZnVuYzpgUHlNZW1fQWxsb2NgICh1c2UKICAgIDpjOmZ1bmM6YFB5TWVtX0ZyZWVgIHRvIGZyZWUgaXQpIG9uIHN1Y2Nlc3MuIE9uIGVycm9yLCByZXR1cm5zICpOVUxMKiwKICAgICpcKnNpemUqIGlzIHVuZGVmaW5lZCBhbmQgcmFpc2VzIGEgOmV4YzpgTWVtb3J5RXJyb3JgLiBOb3RlIHRoYXQgdGhlCi0gICByZXN1bHRpbmcgOmM6dHlwZTpgd2NoYXJfdCpgIHN0cmluZyBtaWdodCBjb250YWluIG51bGwgY2hhcmFjdGVycywgd2hpY2gKKyAgIHJlc3VsdGluZyA6Yzp0eXBlOmB3Y2hhcl90YCBzdHJpbmcgbWlnaHQgY29udGFpbiBudWxsIGNoYXJhY3RlcnMsIHdoaWNoCiAgICB3b3VsZCBjYXVzZSB0aGUgc3RyaW5nIHRvIGJlIHRydW5jYXRlZCB3aGVuIHVzZWQgd2l0aCBtb3N0IEMgZnVuY3Rpb25zLgogCiAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjIKIAogCitVQ1M0IFN1cHBvcnQKKyIiIiIiIiIiIiIiIgorCisuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKKworLi4gWFhYIGFyZSB0aGVzZSBtZWFudCB0byBiZSBwdWJsaWM/CisKKy4uIGM6ZnVuY3Rpb246OiBzaXplX3QgUHlfVUNTNF9zdHJsZW4oY29uc3QgUHlfVUNTNCAqdSkKKyAgICAgICAgICAgICAgICBQeV9VQ1M0KiBQeV9VQ1M0X3N0cmNweShQeV9VQ1M0ICpzMSwgY29uc3QgUHlfVUNTNCAqczIpCisgICAgICAgICAgICAgICAgUHlfVUNTNCogUHlfVUNTNF9zdHJuY3B5KFB5X1VDUzQgKnMxLCBjb25zdCBQeV9VQ1M0ICpzMiwgc2l6ZV90IG4pCisgICAgICAgICAgICAgICAgUHlfVUNTNCogUHlfVUNTNF9zdHJjYXQoUHlfVUNTNCAqczEsIGNvbnN0IFB5X1VDUzQgKnMyKQorICAgICAgICAgICAgICAgIGludCBQeV9VQ1M0X3N0cmNtcChjb25zdCBQeV9VQ1M0ICpzMSwgY29uc3QgUHlfVUNTNCAqczIpCisgICAgICAgICAgICAgICAgaW50IFB5X1VDUzRfc3RybmNtcChjb25zdCBQeV9VQ1M0ICpzMSwgY29uc3QgUHlfVUNTNCAqczIsIHNpemVfdCBuKQorICAgICAgICAgICAgICAgIFB5X1VDUzQqIFB5X1VDUzRfc3RyY2hyKGNvbnN0IFB5X1VDUzQgKnMsIFB5X1VDUzQgYykKKyAgICAgICAgICAgICAgICBQeV9VQ1M0KiBQeV9VQ1M0X3N0cnJjaHIoY29uc3QgUHlfVUNTNCAqcywgUHlfVUNTNCBjKQorCisgICBUaGVzZSB1dGlsaXR5IGZ1bmN0aW9ucyB3b3JrIG9uIHN0cmluZ3Mgb2YgOmM6dHlwZTpgUHlfVUNTNGAgY2hhcmFjdGVycyBhbmQKKyAgIG90aGVyd2lzZSBiZWhhdmUgbGlrZSB0aGUgQyBzdGFuZGFyZCBsaWJyYXJ5IGZ1bmN0aW9ucyB3aXRoIHRoZSBzYW1lIG5hbWUuCisKKwogLi4gX2J1aWx0aW5jb2RlY3M6CiAKIEJ1aWx0LWluIENvZGVjcwpAQCAtNTM3LDcgKzk1OSw4IEBACiBUaGVzZSBhcmUgdGhlIGdlbmVyaWMgY29kZWMgQVBJczoKIAogCi0uLiBjOmZ1bmN0aW9uOjogUHlPYmplY3QqIFB5VW5pY29kZV9EZWNvZGUoY29uc3QgY2hhciAqcywgUHlfc3NpemVfdCBzaXplLCBjb25zdCBjaGFyICplbmNvZGluZywgY29uc3QgY2hhciAqZXJyb3JzKQorLi4gYzpmdW5jdGlvbjo6IFB5T2JqZWN0KiBQeVVuaWNvZGVfRGVjb2RlKGNvbnN0IGNoYXIgKnMsIFB5X3NzaXplX3Qgc2l6ZSwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZW5jb2RpbmcsIGNvbnN0IGNoYXIgKmVycm9ycykKIAogICAgQ3JlYXRlIGEgVW5pY29kZSBvYmplY3QgYnkgZGVjb2RpbmcgKnNpemUqIGJ5dGVzIG9mIHRoZSBlbmNvZGVkIHN0cmluZyAqcyouCiAgICAqZW5jb2RpbmcqIGFuZCAqZXJyb3JzKiBoYXZlIHRoZSBzYW1lIG1lYW5pbmcgYXMgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIHNhbWUgbmFtZQpAQCAtNTQ2LDcgKzk2OSwxOCBAQAogICAgdGhlIGNvZGVjLgogCiAKLS4uIGM6ZnVuY3Rpb246OiBQeU9iamVjdCogUHlVbmljb2RlX0VuY29kZShjb25zdCBQeV9VTklDT0RFICpzLCBQeV9zc2l6ZV90IHNpemUsIGNvbnN0IGNoYXIgKmVuY29kaW5nLCBjb25zdCBjaGFyICplcnJvcnMpCisuLiBjOmZ1bmN0aW9uOjogUHlPYmplY3QqIFB5VW5pY29kZV9Bc0VuY29kZWRTdHJpbmcoUHlPYmplY3QgKnVuaWNvZGUsIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmVuY29kaW5nLCBjb25zdCBjaGFyICplcnJvcnMpCisKKyAgIEVuY29kZSBhIFVuaWNvZGUgb2JqZWN0IGFuZCByZXR1cm4gdGhlIHJlc3VsdCBhcyBQeXRob24gYnl0ZXMgb2JqZWN0LgorICAgKmVuY29kaW5nKiBhbmQgKmVycm9ycyogaGF2ZSB0aGUgc2FtZSBtZWFuaW5nIGFzIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBzYW1lCisgICBuYW1lIGluIHRoZSBVbmljb2RlIDptZXRoOmBlbmNvZGVgIG1ldGhvZC4gVGhlIGNvZGVjIHRvIGJlIHVzZWQgaXMgbG9va2VkIHVwCisgICB1c2luZyB0aGUgUHl0aG9uIGNvZGVjIHJlZ2lzdHJ5LiBSZXR1cm4gKk5VTEwqIGlmIGFuIGV4Y2VwdGlvbiB3YXMgcmFpc2VkIGJ5CisgICB0aGUgY29kZWMuCisKKworLi4gYzpmdW5jdGlvbjo6IFB5T2JqZWN0KiBQeVVuaWNvZGVfRW5jb2RlKGNvbnN0IFB5X1VOSUNPREUgKnMsIFB5X3NzaXplX3Qgc2l6ZSwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZW5jb2RpbmcsIGNvbnN0IGNoYXIgKmVycm9ycykKIAogICAgRW5jb2RlIHRoZSA6Yzp0eXBlOmBQeV9VTklDT0RFYCBidWZmZXIgKnMqIG9mIHRoZSBnaXZlbiAqc2l6ZSogYW5kIHJldHVybiBhIFB5dGhvbgogICAgYnl0ZXMgb2JqZWN0LiAgKmVuY29kaW5nKiBhbmQgKmVycm9ycyogaGF2ZSB0aGUgc2FtZSBtZWFuaW5nIGFzIHRoZQpAQCAtNTU0LDE0ICs5ODgsOSBAQAogICAgdG8gYmUgdXNlZCBpcyBsb29rZWQgdXAgdXNpbmcgdGhlIFB5dGhvbiBjb2RlYyByZWdpc3RyeS4gIFJldHVybiAqTlVMTCogaWYgYW4KICAgIGV4Y2VwdGlvbiB3YXMgcmFpc2VkIGJ5IHRoZSBjb2RlYy4KIAotCi0uLiBjOmZ1bmN0aW9uOjogUHlPYmplY3QqIFB5VW5pY29kZV9Bc0VuY29kZWRTdHJpbmcoUHlPYmplY3QgKnVuaWNvZGUsIGNvbnN0IGNoYXIgKmVuY29kaW5nLCBjb25zdCBjaGFyICplcnJvcnMpCi0KLSAgIEVuY29kZSBhIFVuaWNvZGUgb2JqZWN0IGFuZCByZXR1cm4gdGhlIHJlc3VsdCBhcyBQeXRob24gYnl0ZXMgb2JqZWN0LgotICAgKmVuY29kaW5nKiBhbmQgKmVycm9ycyogaGF2ZSB0aGUgc2FtZSBtZWFuaW5nIGFzIHRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBzYW1lCi0gICBuYW1lIGluIHRoZSBVbmljb2RlIDptZXRoOmBlbmNvZGVgIG1ldGhvZC4gVGhlIGNvZGVjIHRvIGJlIHVzZWQgaXMgbG9va2VkIHVwCi0gICB1c2luZyB0aGUgUHl0aG9uIGNvZGVjIHJlZ2lzdHJ5LiBSZXR1cm4gKk5VTEwqIGlmIGFuIGV4Y2VwdGlvbiB3YXMgcmFpc2VkIGJ5Ci0gICB0aGUgY29kZWMuCisgICAuLiBkZXByZWNhdGVkLXJlbW92ZWQ6OiAzLjMgNC4wCisgICAgICBQYXJ0IG9mIHRoZSBvbGQtc3R5bGUgOmM6dHlwZTpgUHlfVU5JQ09ERWAgQVBJOyBwbGVhc2UgbWlncmF0ZSB0byB1c2luZworICAgICAgOmM6ZnVuYzpgUHlVbmljb2RlX0FzRW5jb2RlZFN0cmluZ2AuCiAKIAogVVRGLTggQ29kZWNzCkBAIC01NzYsNyArMTAwNSw4IEBACiAgICAqcyouIFJldHVybiAqTlVMTCogaWYgYW4gZXhjZXB0aW9uIHdhcyByYWlzZWQgYnkgdGhlIGNvZGVjLgogCiAKLS4uIGM6ZnVuY3Rpb246OiBQeU9iamVjdCogUHlVbmljb2RlX0RlY29kZVVURjhTdGF0ZWZ1bChjb25zdCBjaGFyICpzLCBQeV9zc2l6ZV90IHNpemUsIGNvbnN0IGNoYXIgKmVycm9ycywgUHlfc3NpemVfdCAqY29uc3VtZWQpCisuLiBjOmZ1bmN0aW9uOjogUHlPYmplY3QqIFB5VW5pY29kZV9EZWNvZGVVVEY4U3RhdGVmdWwoY29uc3QgY2hhciAqcywgUHlfc3NpemVfdCBzaXplLCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICplcnJvcnMsIFB5X3NzaXplX3QgKmNvbnN1bWVkKQogCiAgICBJZiAqY29uc3VtZWQqIGlzICpOVUxMKiwgYmVoYXZlIGxpa2UgOmM6ZnVuYzpgUHlVbmljb2RlX0RlY29kZVVURjhgLiBJZgogICAgKmNvbnN1bWVkKiBpcyBub3QgKk5VTEwqLCB0cmFpbGluZyBpbmNvbXBsZXRlIFVURi04IGJ5dGUgc2VxdWVuY2VzIHdpbGwgbm90IGJlCkBAIC01ODQsMTMgKzEwMTQsNiBAQAogICAgdGhhdCBoYXZlIGJlZW4gZGVjb2RlZCB3aWxsIGJlIHN0b3JlZCBpbiAqY29uc3VtZWQqLgogCiAKLS4uIGM6ZnVuY3Rpb246OiBQeU9iamVjdCogUHlVbmljb2RlX0VuY29kZVVURjgoY29uc3QgUHlfVU5JQ09ERSAqcywgUHlfc3NpemVfdCBzaXplLCBjb25zdCBjaGFyICplcnJvcnMpCi0KLSAgIEVuY29kZSB0aGUgOmM6dHlwZTpgUHlfVU5JQ09ERWAgYnVmZmVyICpzKiBvZiB0aGUgZ2l2ZW4gKnNpemUqIHVzaW5nIFVURi04IGFuZAotICAgcmV0dXJuIGEgUHl0aG9uIGJ5dGVzIG9iamVjdC4gIFJldHVybiAqTlVMTCogaWYgYW4gZXhjZXB0aW9uIHdhcyByYWlzZWQgYnkKLSAgIHRoZSBjb2RlYy4KLQotCiAuLiBjOmZ1bmN0aW9uOjogUHlPYmplY3QqIFB5VW5pY29kZV9Bc1VURjhTdHJpbmcoUHlPYmplY3QgKnVuaWNvZGUpCiAKICAgIEVuY29kZSBhIFVuaWNvZGUgb2JqZWN0IHVzaW5nIFVURi04IGFuZCByZXR1cm4gdGhlIHJlc3VsdCBhcyBQeXRob24gYnl0ZXMKQEAgLTU5OCwxMyArMTAyMSw0OCBAQAogICAgcmFpc2VkIGJ5IHRoZSBjb2RlYy4KIAogCisuLiBjOmZ1bmN0aW9uOjogY2hhciogUHlVbmljb2RlX0FzVVRGOEFuZFNpemUoUHlPYmplY3QgKnVuaWNvZGUsIFB5X3NzaXplX3QgKnNpemUpCisKKyAgIFJldHVybiBhIHBvaW50ZXIgdG8gdGhlIGRlZmF1bHQgZW5jb2RpbmcgKFVURi04KSBvZiB0aGUgVW5pY29kZSBvYmplY3QsIGFuZAorICAgc3RvcmUgdGhlIHNpemUgb2YgdGhlIGVuY29kZWQgcmVwcmVzZW50YXRpb24gKGluIGJ5dGVzKSBpbiAqc2l6ZSouICAqc2l6ZSoKKyAgIGNhbiBiZSAqTlVMTCosIGluIHRoaXMgY2FzZSBubyBzaXplIHdpbGwgYmUgc3RvcmVkLgorCisgICBJbiB0aGUgY2FzZSBvZiBhbiBlcnJvciwgKk5VTEwqIGlzIHJldHVybmVkIHdpdGggYW4gZXhjZXB0aW9uIHNldCBhbmQgbm8KKyAgICpzaXplKiBpcyBzdG9yZWQuCisKKyAgIFRoaXMgY2FjaGVzIHRoZSBVVEYtOCByZXByZXNlbnRhdGlvbiBvZiB0aGUgc3RyaW5nIGluIHRoZSBVbmljb2RlIG9iamVjdCwgYW5kCisgICBzdWJzZXF1ZW50IGNhbGxzIHdpbGwgcmV0dXJuIGEgcG9pbnRlciB0byB0aGUgc2FtZSBidWZmZXIuICBUaGUgY2FsbGVyIGlzIG5vdAorICAgcmVzcG9uc2libGUgZm9yIGRlYWxsb2NhdGluZyB0aGUgYnVmZmVyLgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKKworCisuLiBjOmZ1bmN0aW9uOjogY2hhciogUHlVbmljb2RlX0FzVVRGOChQeU9iamVjdCAqdW5pY29kZSkKKworICAgQXMgOmM6ZnVuYzpgUHlVbmljb2RlX0FzVVRGOEFuZFNpemVgLCBidXQgZG9lcyBub3Qgc3RvcmUgdGhlIHNpemUuCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMworCisKKy4uIGM6ZnVuY3Rpb246OiBQeU9iamVjdCogUHlVbmljb2RlX0VuY29kZVVURjgoY29uc3QgUHlfVU5JQ09ERSAqcywgUHlfc3NpemVfdCBzaXplLCBjb25zdCBjaGFyICplcnJvcnMpCisKKyAgIEVuY29kZSB0aGUgOmM6dHlwZTpgUHlfVU5JQ09ERWAgYnVmZmVyICpzKiBvZiB0aGUgZ2l2ZW4gKnNpemUqIHVzaW5nIFVURi04IGFuZAorICAgcmV0dXJuIGEgUHl0aG9uIGJ5dGVzIG9iamVjdC4gIFJldHVybiAqTlVMTCogaWYgYW4gZXhjZXB0aW9uIHdhcyByYWlzZWQgYnkKKyAgIHRoZSBjb2RlYy4KKworICAgLi4gZGVwcmVjYXRlZC1yZW1vdmVkOjogMy4zIDQuMAorICAgICAgUGFydCBvZiB0aGUgb2xkLXN0eWxlIDpjOnR5cGU6YFB5X1VOSUNPREVgIEFQSTsgcGxlYXNlIG1pZ3JhdGUgdG8gdXNpbmcKKyAgICAgIDpjOmZ1bmM6YFB5VW5pY29kZV9Bc1VURjhTdHJpbmdgIG9yIDpjOmZ1bmM6YFB5VW5pY29kZV9Bc1VURjhBbmRTaXplYC4KKworCiBVVEYtMzIgQ29kZWNzCiAiIiIiIiIiIiIiIiIiCiAKIFRoZXNlIGFyZSB0aGUgVVRGLTMyIGNvZGVjIEFQSXM6CiAKIAotLi4gYzpmdW5jdGlvbjo6IFB5T2JqZWN0KiBQeVVuaWNvZGVfRGVjb2RlVVRGMzIoY29uc3QgY2hhciAqcywgUHlfc3NpemVfdCBzaXplLCBjb25zdCBjaGFyICplcnJvcnMsIGludCAqYnl0ZW9yZGVyKQorLi4gYzpmdW5jdGlvbjo6IFB5T2JqZWN0KiBQeVVuaWNvZGVfRGVjb2RlVVRGMzIoY29uc3QgY2hhciAqcywgUHlfc3NpemVfdCBzaXplLCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICplcnJvcnMsIGludCAqYnl0ZW9yZGVyKQogCiAgICBEZWNvZGUgKnNpemUqIGJ5dGVzIGZyb20gYSBVVEYtMzIgZW5jb2RlZCBidWZmZXIgc3RyaW5nIGFuZCByZXR1cm4gdGhlCiAgICBjb3JyZXNwb25kaW5nIFVuaWNvZGUgb2JqZWN0LiAgKmVycm9ycyogKGlmIG5vbi0qTlVMTCopIGRlZmluZXMgdGhlIGVycm9yCkBAIC02MzIsNyArMTA5MCw4IEBACiAgICBSZXR1cm4gKk5VTEwqIGlmIGFuIGV4Y2VwdGlvbiB3YXMgcmFpc2VkIGJ5IHRoZSBjb2RlYy4KIAogCi0uLiBjOmZ1bmN0aW9uOjogUHlPYmplY3QqIFB5VW5pY29kZV9EZWNvZGVVVEYzMlN0YXRlZnVsKGNvbnN0IGNoYXIgKnMsIFB5X3NzaXplX3Qgc2l6ZSwgY29uc3QgY2hhciAqZXJyb3JzLCBpbnQgKmJ5dGVvcmRlciwgUHlfc3NpemVfdCAqY29uc3VtZWQpCisuLiBjOmZ1bmN0aW9uOjogUHlPYmplY3QqIFB5VW5pY29kZV9EZWNvZGVVVEYzMlN0YXRlZnVsKGNvbnN0IGNoYXIgKnMsIFB5X3NzaXplX3Qgc2l6ZSwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZXJyb3JzLCBpbnQgKmJ5dGVvcmRlciwgUHlfc3NpemVfdCAqY29uc3VtZWQpCiAKICAgIElmICpjb25zdW1lZCogaXMgKk5VTEwqLCBiZWhhdmUgbGlrZSA6YzpmdW5jOmBQeVVuaWNvZGVfRGVjb2RlVVRGMzJgLiBJZgogICAgKmNvbnN1bWVkKiBpcyBub3QgKk5VTEwqLCA6YzpmdW5jOmBQeVVuaWNvZGVfRGVjb2RlVVRGMzJTdGF0ZWZ1bGAgd2lsbCBub3QgdHJlYXQKQEAgLTY0MSw3ICsxMTAwLDE1IEBACiAgICB0aGF0IGhhdmUgYmVlbiBkZWNvZGVkIHdpbGwgYmUgc3RvcmVkIGluICpjb25zdW1lZCouCiAKIAotLi4gYzpmdW5jdGlvbjo6IFB5T2JqZWN0KiBQeVVuaWNvZGVfRW5jb2RlVVRGMzIoY29uc3QgUHlfVU5JQ09ERSAqcywgUHlfc3NpemVfdCBzaXplLCBjb25zdCBjaGFyICplcnJvcnMsIGludCBieXRlb3JkZXIpCisuLiBjOmZ1bmN0aW9uOjogUHlPYmplY3QqIFB5VW5pY29kZV9Bc1VURjMyU3RyaW5nKFB5T2JqZWN0ICp1bmljb2RlKQorCisgICBSZXR1cm4gYSBQeXRob24gYnl0ZSBzdHJpbmcgdXNpbmcgdGhlIFVURi0zMiBlbmNvZGluZyBpbiBuYXRpdmUgYnl0ZQorICAgb3JkZXIuIFRoZSBzdHJpbmcgYWx3YXlzIHN0YXJ0cyB3aXRoIGEgQk9NIG1hcmsuICBFcnJvciBoYW5kbGluZyBpcyAic3RyaWN0Ii4KKyAgIFJldHVybiAqTlVMTCogaWYgYW4gZXhjZXB0aW9uIHdhcyByYWlzZWQgYnkgdGhlIGNvZGVjLgorCisKKy4uIGM6ZnVuY3Rpb246OiBQeU9iamVjdCogUHlVbmljb2RlX0VuY29kZVVURjMyKGNvbnN0IFB5X1VOSUNPREUgKnMsIFB5X3NzaXplX3Qgc2l6ZSwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZXJyb3JzLCBpbnQgYnl0ZW9yZGVyKQogCiAgICBSZXR1cm4gYSBQeXRob24gYnl0ZXMgb2JqZWN0IGhvbGRpbmcgdGhlIFVURi0zMiBlbmNvZGVkIHZhbHVlIG9mIHRoZSBVbmljb2RlCiAgICBkYXRhIGluICpzKi4gIE91dHB1dCBpcyB3cml0dGVuIGFjY29yZGluZyB0byB0aGUgZm9sbG93aW5nIGJ5dGUgb3JkZXI6OgpAQCAtNjU4LDEyICsxMTI1LDkgQEAKIAogICAgUmV0dXJuICpOVUxMKiBpZiBhbiBleGNlcHRpb24gd2FzIHJhaXNlZCBieSB0aGUgY29kZWMuCiAKLQotLi4gYzpmdW5jdGlvbjo6IFB5T2JqZWN0KiBQeVVuaWNvZGVfQXNVVEYzMlN0cmluZyhQeU9iamVjdCAqdW5pY29kZSkKLQotICAgUmV0dXJuIGEgUHl0aG9uIGJ5dGUgc3RyaW5nIHVzaW5nIHRoZSBVVEYtMzIgZW5jb2RpbmcgaW4gbmF0aXZlIGJ5dGUKLSAgIG9yZGVyLiBUaGUgc3RyaW5nIGFsd2F5cyBzdGFydHMgd2l0aCBhIEJPTSBtYXJrLiAgRXJyb3IgaGFuZGxpbmcgaXMgInN0cmljdCIuCi0gICBSZXR1cm4gKk5VTEwqIGlmIGFuIGV4Y2VwdGlvbiB3YXMgcmFpc2VkIGJ5IHRoZSBjb2RlYy4KKyAgIC4uIGRlcHJlY2F0ZWQtcmVtb3ZlZDo6IDMuMyA0LjAKKyAgICAgIFBhcnQgb2YgdGhlIG9sZC1zdHlsZSA6Yzp0eXBlOmBQeV9VTklDT0RFYCBBUEk7IHBsZWFzZSBtaWdyYXRlIHRvIHVzaW5nCisgICAgICA6YzpmdW5jOmBQeVVuaWNvZGVfQXNVVEYzMlN0cmluZ2AuCiAKIAogVVRGLTE2IENvZGVjcwpAQCAtNjcyLDcgKzExMzYsOCBAQAogVGhlc2UgYXJlIHRoZSBVVEYtMTYgY29kZWMgQVBJczoKIAogCi0uLiBjOmZ1bmN0aW9uOjogUHlPYmplY3QqIFB5VW5pY29kZV9EZWNvZGVVVEYxNihjb25zdCBjaGFyICpzLCBQeV9zc2l6ZV90IHNpemUsIGNvbnN0IGNoYXIgKmVycm9ycywgaW50ICpieXRlb3JkZXIpCisuLiBjOmZ1bmN0aW9uOjogUHlPYmplY3QqIFB5VW5pY29kZV9EZWNvZGVVVEYxNihjb25zdCBjaGFyICpzLCBQeV9zc2l6ZV90IHNpemUsIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmVycm9ycywgaW50ICpieXRlb3JkZXIpCiAKICAgIERlY29kZSAqc2l6ZSogYnl0ZXMgZnJvbSBhIFVURi0xNiBlbmNvZGVkIGJ1ZmZlciBzdHJpbmcgYW5kIHJldHVybiB0aGUKICAgIGNvcnJlc3BvbmRpbmcgVW5pY29kZSBvYmplY3QuICAqZXJyb3JzKiAoaWYgbm9uLSpOVUxMKikgZGVmaW5lcyB0aGUgZXJyb3IKQEAgLTY5OSw3ICsxMTY0LDggQEAKICAgIFJldHVybiAqTlVMTCogaWYgYW4gZXhjZXB0aW9uIHdhcyByYWlzZWQgYnkgdGhlIGNvZGVjLgogCiAKLS4uIGM6ZnVuY3Rpb246OiBQeU9iamVjdCogUHlVbmljb2RlX0RlY29kZVVURjE2U3RhdGVmdWwoY29uc3QgY2hhciAqcywgUHlfc3NpemVfdCBzaXplLCBjb25zdCBjaGFyICplcnJvcnMsIGludCAqYnl0ZW9yZGVyLCBQeV9zc2l6ZV90ICpjb25zdW1lZCkKKy4uIGM6ZnVuY3Rpb246OiBQeU9iamVjdCogUHlVbmljb2RlX0RlY29kZVVURjE2U3RhdGVmdWwoY29uc3QgY2hhciAqcywgUHlfc3NpemVfdCBzaXplLCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICplcnJvcnMsIGludCAqYnl0ZW9yZGVyLCBQeV9zc2l6ZV90ICpjb25zdW1lZCkKIAogICAgSWYgKmNvbnN1bWVkKiBpcyAqTlVMTCosIGJlaGF2ZSBsaWtlIDpjOmZ1bmM6YFB5VW5pY29kZV9EZWNvZGVVVEYxNmAuIElmCiAgICAqY29uc3VtZWQqIGlzIG5vdCAqTlVMTCosIDpjOmZ1bmM6YFB5VW5pY29kZV9EZWNvZGVVVEYxNlN0YXRlZnVsYCB3aWxsIG5vdCB0cmVhdApAQCAtNzA4LDcgKzExNzQsMTUgQEAKICAgIG51bWJlciBvZiBieXRlcyB0aGF0IGhhdmUgYmVlbiBkZWNvZGVkIHdpbGwgYmUgc3RvcmVkIGluICpjb25zdW1lZCouCiAKIAotLi4gYzpmdW5jdGlvbjo6IFB5T2JqZWN0KiBQeVVuaWNvZGVfRW5jb2RlVVRGMTYoY29uc3QgUHlfVU5JQ09ERSAqcywgUHlfc3NpemVfdCBzaXplLCBjb25zdCBjaGFyICplcnJvcnMsIGludCBieXRlb3JkZXIpCisuLiBjOmZ1bmN0aW9uOjogUHlPYmplY3QqIFB5VW5pY29kZV9Bc1VURjE2U3RyaW5nKFB5T2JqZWN0ICp1bmljb2RlKQorCisgICBSZXR1cm4gYSBQeXRob24gYnl0ZSBzdHJpbmcgdXNpbmcgdGhlIFVURi0xNiBlbmNvZGluZyBpbiBuYXRpdmUgYnl0ZQorICAgb3JkZXIuIFRoZSBzdHJpbmcgYWx3YXlzIHN0YXJ0cyB3aXRoIGEgQk9NIG1hcmsuICBFcnJvciBoYW5kbGluZyBpcyAic3RyaWN0Ii4KKyAgIFJldHVybiAqTlVMTCogaWYgYW4gZXhjZXB0aW9uIHdhcyByYWlzZWQgYnkgdGhlIGNvZGVjLgorCisKKy4uIGM6ZnVuY3Rpb246OiBQeU9iamVjdCogUHlVbmljb2RlX0VuY29kZVVURjE2KGNvbnN0IFB5X1VOSUNPREUgKnMsIFB5X3NzaXplX3Qgc2l6ZSwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZXJyb3JzLCBpbnQgYnl0ZW9yZGVyKQogCiAgICBSZXR1cm4gYSBQeXRob24gYnl0ZXMgb2JqZWN0IGhvbGRpbmcgdGhlIFVURi0xNiBlbmNvZGVkIHZhbHVlIG9mIHRoZSBVbmljb2RlCiAgICBkYXRhIGluICpzKi4gIE91dHB1dCBpcyB3cml0dGVuIGFjY29yZGluZyB0byB0aGUgZm9sbG93aW5nIGJ5dGUgb3JkZXI6OgpAQCAtNzI2LDEyICsxMjAwLDkgQEAKIAogICAgUmV0dXJuICpOVUxMKiBpZiBhbiBleGNlcHRpb24gd2FzIHJhaXNlZCBieSB0aGUgY29kZWMuCiAKLQotLi4gYzpmdW5jdGlvbjo6IFB5T2JqZWN0KiBQeVVuaWNvZGVfQXNVVEYxNlN0cmluZyhQeU9iamVjdCAqdW5pY29kZSkKLQotICAgUmV0dXJuIGEgUHl0aG9uIGJ5dGUgc3RyaW5nIHVzaW5nIHRoZSBVVEYtMTYgZW5jb2RpbmcgaW4gbmF0aXZlIGJ5dGUKLSAgIG9yZGVyLiBUaGUgc3RyaW5nIGFsd2F5cyBzdGFydHMgd2l0aCBhIEJPTSBtYXJrLiAgRXJyb3IgaGFuZGxpbmcgaXMgInN0cmljdCIuCi0gICBSZXR1cm4gKk5VTEwqIGlmIGFuIGV4Y2VwdGlvbiB3YXMgcmFpc2VkIGJ5IHRoZSBjb2RlYy4KKyAgIC4uIGRlcHJlY2F0ZWQtcmVtb3ZlZDo6IDMuMyA0LjAKKyAgICAgIFBhcnQgb2YgdGhlIG9sZC1zdHlsZSA6Yzp0eXBlOmBQeV9VTklDT0RFYCBBUEk7IHBsZWFzZSBtaWdyYXRlIHRvIHVzaW5nCisgICAgICA6YzpmdW5jOmBQeVVuaWNvZGVfQXNVVEYxNlN0cmluZ2AuCiAKIAogVVRGLTcgQ29kZWNzCkBAIC03NDYsNyArMTIxNyw4IEBACiAgICAqcyouICBSZXR1cm4gKk5VTEwqIGlmIGFuIGV4Y2VwdGlvbiB3YXMgcmFpc2VkIGJ5IHRoZSBjb2RlYy4KIAogCi0uLiBjOmZ1bmN0aW9uOjogUHlPYmplY3QqIFB5VW5pY29kZV9EZWNvZGVVVEY3U3RhdGVmdWwoY29uc3QgY2hhciAqcywgUHlfc3NpemVfdCBzaXplLCBjb25zdCBjaGFyICplcnJvcnMsIFB5X3NzaXplX3QgKmNvbnN1bWVkKQorLi4gYzpmdW5jdGlvbjo6IFB5T2JqZWN0KiBQeVVuaWNvZGVfRGVjb2RlVVRGN1N0YXRlZnVsKGNvbnN0IGNoYXIgKnMsIFB5X3NzaXplX3Qgc2l6ZSwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZXJyb3JzLCBQeV9zc2l6ZV90ICpjb25zdW1lZCkKIAogICAgSWYgKmNvbnN1bWVkKiBpcyAqTlVMTCosIGJlaGF2ZSBsaWtlIDpjOmZ1bmM6YFB5VW5pY29kZV9EZWNvZGVVVEY3YC4gIElmCiAgICAqY29uc3VtZWQqIGlzIG5vdCAqTlVMTCosIHRyYWlsaW5nIGluY29tcGxldGUgVVRGLTcgYmFzZS02NCBzZWN0aW9ucyB3aWxsIG5vdApAQCAtNzU0LDcgKzEyMjYsOCBAQAogICAgYnl0ZXMgdGhhdCBoYXZlIGJlZW4gZGVjb2RlZCB3aWxsIGJlIHN0b3JlZCBpbiAqY29uc3VtZWQqLgogCiAKLS4uIGM6ZnVuY3Rpb246OiBQeU9iamVjdCogUHlVbmljb2RlX0VuY29kZVVURjcoY29uc3QgUHlfVU5JQ09ERSAqcywgUHlfc3NpemVfdCBzaXplLCBpbnQgYmFzZTY0U2V0TywgaW50IGJhc2U2NFdoaXRlU3BhY2UsIGNvbnN0IGNoYXIgKmVycm9ycykKKy4uIGM6ZnVuY3Rpb246OiBQeU9iamVjdCogUHlVbmljb2RlX0VuY29kZVVURjcoY29uc3QgUHlfVU5JQ09ERSAqcywgUHlfc3NpemVfdCBzaXplLCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgYmFzZTY0U2V0TywgaW50IGJhc2U2NFdoaXRlU3BhY2UsIGNvbnN0IGNoYXIgKmVycm9ycykKIAogICAgRW5jb2RlIHRoZSA6Yzp0eXBlOmBQeV9VTklDT0RFYCBidWZmZXIgb2YgdGhlIGdpdmVuIHNpemUgdXNpbmcgVVRGLTcgYW5kCiAgICByZXR1cm4gYSBQeXRob24gYnl0ZXMgb2JqZWN0LiAgUmV0dXJuICpOVUxMKiBpZiBhbiBleGNlcHRpb24gd2FzIHJhaXNlZCBieQpAQCAtNzY1LDYgKzEyMzgsMTEgQEAKICAgIG5vbnplcm8sIHdoaXRlc3BhY2Ugd2lsbCBiZSBlbmNvZGVkIGluIGJhc2UtNjQuICBCb3RoIGFyZSBzZXQgdG8gemVybyBmb3IgdGhlCiAgICBQeXRob24gInV0Zi03IiBjb2RlYy4KIAorICAgLi4gZGVwcmVjYXRlZC1yZW1vdmVkOjogMy4zIDQuMAorICAgICAgUGFydCBvZiB0aGUgb2xkLXN0eWxlIDpjOnR5cGU6YFB5X1VOSUNPREVgIEFQSS4KKworICAgLi4gWFhYIHJlcGxhY2Ugd2l0aCB3aGF0PworCiAKIFVuaWNvZGUtRXNjYXBlIENvZGVjcwogIiIiIiIiIiIiIiIiIiIiIiIiIiIiCkBAIC03NzIsMTkgKzEyNTAsMTMgQEAKIFRoZXNlIGFyZSB0aGUgIlVuaWNvZGUgRXNjYXBlIiBjb2RlYyBBUElzOgogCiAKLS4uIGM6ZnVuY3Rpb246OiBQeU9iamVjdCogUHlVbmljb2RlX0RlY29kZVVuaWNvZGVFc2NhcGUoY29uc3QgY2hhciAqcywgUHlfc3NpemVfdCBzaXplLCBjb25zdCBjaGFyICplcnJvcnMpCisuLiBjOmZ1bmN0aW9uOjogUHlPYmplY3QqIFB5VW5pY29kZV9EZWNvZGVVbmljb2RlRXNjYXBlKGNvbnN0IGNoYXIgKnMsIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3Qgc2l6ZSwgY29uc3QgY2hhciAqZXJyb3JzKQogCiAgICBDcmVhdGUgYSBVbmljb2RlIG9iamVjdCBieSBkZWNvZGluZyAqc2l6ZSogYnl0ZXMgb2YgdGhlIFVuaWNvZGUtRXNjYXBlIGVuY29kZWQKICAgIHN0cmluZyAqcyouICBSZXR1cm4gKk5VTEwqIGlmIGFuIGV4Y2VwdGlvbiB3YXMgcmFpc2VkIGJ5IHRoZSBjb2RlYy4KIAogCi0uLiBjOmZ1bmN0aW9uOjogUHlPYmplY3QqIFB5VW5pY29kZV9FbmNvZGVVbmljb2RlRXNjYXBlKGNvbnN0IFB5X1VOSUNPREUgKnMsIFB5X3NzaXplX3Qgc2l6ZSkKLQotICAgRW5jb2RlIHRoZSA6Yzp0eXBlOmBQeV9VTklDT0RFYCBidWZmZXIgb2YgdGhlIGdpdmVuICpzaXplKiB1c2luZyBVbmljb2RlLUVzY2FwZSBhbmQKLSAgIHJldHVybiBhIFB5dGhvbiBzdHJpbmcgb2JqZWN0LiAgUmV0dXJuICpOVUxMKiBpZiBhbiBleGNlcHRpb24gd2FzIHJhaXNlZCBieSB0aGUKLSAgIGNvZGVjLgotCi0KIC4uIGM6ZnVuY3Rpb246OiBQeU9iamVjdCogUHlVbmljb2RlX0FzVW5pY29kZUVzY2FwZVN0cmluZyhQeU9iamVjdCAqdW5pY29kZSkKIAogICAgRW5jb2RlIGEgVW5pY29kZSBvYmplY3QgdXNpbmcgVW5pY29kZS1Fc2NhcGUgYW5kIHJldHVybiB0aGUgcmVzdWx0IGFzIFB5dGhvbgpAQCAtNzkyLDI1ICsxMjY0LDMwIEBACiAgICByYWlzZWQgYnkgdGhlIGNvZGVjLgogCiAKKy4uIGM6ZnVuY3Rpb246OiBQeU9iamVjdCogUHlVbmljb2RlX0VuY29kZVVuaWNvZGVFc2NhcGUoY29uc3QgUHlfVU5JQ09ERSAqcywgUHlfc3NpemVfdCBzaXplKQorCisgICBFbmNvZGUgdGhlIDpjOnR5cGU6YFB5X1VOSUNPREVgIGJ1ZmZlciBvZiB0aGUgZ2l2ZW4gKnNpemUqIHVzaW5nIFVuaWNvZGUtRXNjYXBlIGFuZAorICAgcmV0dXJuIGEgUHl0aG9uIHN0cmluZyBvYmplY3QuICBSZXR1cm4gKk5VTEwqIGlmIGFuIGV4Y2VwdGlvbiB3YXMgcmFpc2VkIGJ5IHRoZQorICAgY29kZWMuCisKKyAgIC4uIGRlcHJlY2F0ZWQtcmVtb3ZlZDo6IDMuMyA0LjAKKyAgICAgIFBhcnQgb2YgdGhlIG9sZC1zdHlsZSA6Yzp0eXBlOmBQeV9VTklDT0RFYCBBUEk7IHBsZWFzZSBtaWdyYXRlIHRvIHVzaW5nCisgICAgICA6YzpmdW5jOmBQeVVuaWNvZGVfQXNVbmljb2RlRXNjYXBlU3RyaW5nYC4KKworCiBSYXctVW5pY29kZS1Fc2NhcGUgQ29kZWNzCiAiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiCiAKIFRoZXNlIGFyZSB0aGUgIlJhdyBVbmljb2RlIEVzY2FwZSIgY29kZWMgQVBJczoKIAogCi0uLiBjOmZ1bmN0aW9uOjogUHlPYmplY3QqIFB5VW5pY29kZV9EZWNvZGVSYXdVbmljb2RlRXNjYXBlKGNvbnN0IGNoYXIgKnMsIFB5X3NzaXplX3Qgc2l6ZSwgY29uc3QgY2hhciAqZXJyb3JzKQorLi4gYzpmdW5jdGlvbjo6IFB5T2JqZWN0KiBQeVVuaWNvZGVfRGVjb2RlUmF3VW5pY29kZUVzY2FwZShjb25zdCBjaGFyICpzLCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IHNpemUsIGNvbnN0IGNoYXIgKmVycm9ycykKIAogICAgQ3JlYXRlIGEgVW5pY29kZSBvYmplY3QgYnkgZGVjb2RpbmcgKnNpemUqIGJ5dGVzIG9mIHRoZSBSYXctVW5pY29kZS1Fc2NhcGUKICAgIGVuY29kZWQgc3RyaW5nICpzKi4gIFJldHVybiAqTlVMTCogaWYgYW4gZXhjZXB0aW9uIHdhcyByYWlzZWQgYnkgdGhlIGNvZGVjLgogCiAKLS4uIGM6ZnVuY3Rpb246OiBQeU9iamVjdCogUHlVbmljb2RlX0VuY29kZVJhd1VuaWNvZGVFc2NhcGUoY29uc3QgUHlfVU5JQ09ERSAqcywgUHlfc3NpemVfdCBzaXplLCBjb25zdCBjaGFyICplcnJvcnMpCi0KLSAgIEVuY29kZSB0aGUgOmM6dHlwZTpgUHlfVU5JQ09ERWAgYnVmZmVyIG9mIHRoZSBnaXZlbiAqc2l6ZSogdXNpbmcgUmF3LVVuaWNvZGUtRXNjYXBlCi0gICBhbmQgcmV0dXJuIGEgUHl0aG9uIHN0cmluZyBvYmplY3QuICBSZXR1cm4gKk5VTEwqIGlmIGFuIGV4Y2VwdGlvbiB3YXMgcmFpc2VkIGJ5Ci0gICB0aGUgY29kZWMuCi0KLQogLi4gYzpmdW5jdGlvbjo6IFB5T2JqZWN0KiBQeVVuaWNvZGVfQXNSYXdVbmljb2RlRXNjYXBlU3RyaW5nKFB5T2JqZWN0ICp1bmljb2RlKQogCiAgICBFbmNvZGUgYSBVbmljb2RlIG9iamVjdCB1c2luZyBSYXctVW5pY29kZS1Fc2NhcGUgYW5kIHJldHVybiB0aGUgcmVzdWx0IGFzCkBAIC04MTgsNiArMTI5NSwxOCBAQAogICAgd2FzIHJhaXNlZCBieSB0aGUgY29kZWMuCiAKIAorLi4gYzpmdW5jdGlvbjo6IFB5T2JqZWN0KiBQeVVuaWNvZGVfRW5jb2RlUmF3VW5pY29kZUVzY2FwZShjb25zdCBQeV9VTklDT0RFICpzLCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IHNpemUsIGNvbnN0IGNoYXIgKmVycm9ycykKKworICAgRW5jb2RlIHRoZSA6Yzp0eXBlOmBQeV9VTklDT0RFYCBidWZmZXIgb2YgdGhlIGdpdmVuICpzaXplKiB1c2luZyBSYXctVW5pY29kZS1Fc2NhcGUKKyAgIGFuZCByZXR1cm4gYSBQeXRob24gc3RyaW5nIG9iamVjdC4gIFJldHVybiAqTlVMTCogaWYgYW4gZXhjZXB0aW9uIHdhcyByYWlzZWQgYnkKKyAgIHRoZSBjb2RlYy4KKworICAgLi4gZGVwcmVjYXRlZC1yZW1vdmVkOjogMy4zIDQuMAorICAgICAgUGFydCBvZiB0aGUgb2xkLXN0eWxlIDpjOnR5cGU6YFB5X1VOSUNPREVgIEFQSTsgcGxlYXNlIG1pZ3JhdGUgdG8gdXNpbmcKKyAgICAgIDpjOmZ1bmM6YFB5VW5pY29kZV9Bc1Jhd1VuaWNvZGVFc2NhcGVTdHJpbmdgLgorCisKIExhdGluLTEgQ29kZWNzCiAiIiIiIiIiIiIiIiIiIgogCkBAIC04MzEsMTggKzEzMjAsMjIgQEAKICAgICpzKi4gIFJldHVybiAqTlVMTCogaWYgYW4gZXhjZXB0aW9uIHdhcyByYWlzZWQgYnkgdGhlIGNvZGVjLgogCiAKKy4uIGM6ZnVuY3Rpb246OiBQeU9iamVjdCogUHlVbmljb2RlX0FzTGF0aW4xU3RyaW5nKFB5T2JqZWN0ICp1bmljb2RlKQorCisgICBFbmNvZGUgYSBVbmljb2RlIG9iamVjdCB1c2luZyBMYXRpbi0xIGFuZCByZXR1cm4gdGhlIHJlc3VsdCBhcyBQeXRob24gYnl0ZXMKKyAgIG9iamVjdC4gIEVycm9yIGhhbmRsaW5nIGlzICJzdHJpY3QiLiAgUmV0dXJuICpOVUxMKiBpZiBhbiBleGNlcHRpb24gd2FzCisgICByYWlzZWQgYnkgdGhlIGNvZGVjLgorCisKIC4uIGM6ZnVuY3Rpb246OiBQeU9iamVjdCogUHlVbmljb2RlX0VuY29kZUxhdGluMShjb25zdCBQeV9VTklDT0RFICpzLCBQeV9zc2l6ZV90IHNpemUsIGNvbnN0IGNoYXIgKmVycm9ycykKIAogICAgRW5jb2RlIHRoZSA6Yzp0eXBlOmBQeV9VTklDT0RFYCBidWZmZXIgb2YgdGhlIGdpdmVuICpzaXplKiB1c2luZyBMYXRpbi0xIGFuZAogICAgcmV0dXJuIGEgUHl0aG9uIGJ5dGVzIG9iamVjdC4gIFJldHVybiAqTlVMTCogaWYgYW4gZXhjZXB0aW9uIHdhcyByYWlzZWQgYnkKICAgIHRoZSBjb2RlYy4KIAotCi0uLiBjOmZ1bmN0aW9uOjogUHlPYmplY3QqIFB5VW5pY29kZV9Bc0xhdGluMVN0cmluZyhQeU9iamVjdCAqdW5pY29kZSkKLQotICAgRW5jb2RlIGEgVW5pY29kZSBvYmplY3QgdXNpbmcgTGF0aW4tMSBhbmQgcmV0dXJuIHRoZSByZXN1bHQgYXMgUHl0aG9uIGJ5dGVzCi0gICBvYmplY3QuICBFcnJvciBoYW5kbGluZyBpcyAic3RyaWN0Ii4gIFJldHVybiAqTlVMTCogaWYgYW4gZXhjZXB0aW9uIHdhcwotICAgcmFpc2VkIGJ5IHRoZSBjb2RlYy4KKyAgIC4uIGRlcHJlY2F0ZWQtcmVtb3ZlZDo6IDMuMyA0LjAKKyAgICAgIFBhcnQgb2YgdGhlIG9sZC1zdHlsZSA6Yzp0eXBlOmBQeV9VTklDT0RFYCBBUEk7IHBsZWFzZSBtaWdyYXRlIHRvIHVzaW5nCisgICAgICA6YzpmdW5jOmBQeVVuaWNvZGVfQXNMYXRpbjFTdHJpbmdgLgogCiAKIEFTQ0lJIENvZGVjcwpAQCAtODU4LDE4ICsxMzUxLDIyIEBACiAgICAqcyouICBSZXR1cm4gKk5VTEwqIGlmIGFuIGV4Y2VwdGlvbiB3YXMgcmFpc2VkIGJ5IHRoZSBjb2RlYy4KIAogCisuLiBjOmZ1bmN0aW9uOjogUHlPYmplY3QqIFB5VW5pY29kZV9Bc0FTQ0lJU3RyaW5nKFB5T2JqZWN0ICp1bmljb2RlKQorCisgICBFbmNvZGUgYSBVbmljb2RlIG9iamVjdCB1c2luZyBBU0NJSSBhbmQgcmV0dXJuIHRoZSByZXN1bHQgYXMgUHl0aG9uIGJ5dGVzCisgICBvYmplY3QuICBFcnJvciBoYW5kbGluZyBpcyAic3RyaWN0Ii4gIFJldHVybiAqTlVMTCogaWYgYW4gZXhjZXB0aW9uIHdhcworICAgcmFpc2VkIGJ5IHRoZSBjb2RlYy4KKworCiAuLiBjOmZ1bmN0aW9uOjogUHlPYmplY3QqIFB5VW5pY29kZV9FbmNvZGVBU0NJSShjb25zdCBQeV9VTklDT0RFICpzLCBQeV9zc2l6ZV90IHNpemUsIGNvbnN0IGNoYXIgKmVycm9ycykKIAogICAgRW5jb2RlIHRoZSA6Yzp0eXBlOmBQeV9VTklDT0RFYCBidWZmZXIgb2YgdGhlIGdpdmVuICpzaXplKiB1c2luZyBBU0NJSSBhbmQKICAgIHJldHVybiBhIFB5dGhvbiBieXRlcyBvYmplY3QuICBSZXR1cm4gKk5VTEwqIGlmIGFuIGV4Y2VwdGlvbiB3YXMgcmFpc2VkIGJ5CiAgICB0aGUgY29kZWMuCiAKLQotLi4gYzpmdW5jdGlvbjo6IFB5T2JqZWN0KiBQeVVuaWNvZGVfQXNBU0NJSVN0cmluZyhQeU9iamVjdCAqdW5pY29kZSkKLQotICAgRW5jb2RlIGEgVW5pY29kZSBvYmplY3QgdXNpbmcgQVNDSUkgYW5kIHJldHVybiB0aGUgcmVzdWx0IGFzIFB5dGhvbiBieXRlcwotICAgb2JqZWN0LiAgRXJyb3IgaGFuZGxpbmcgaXMgInN0cmljdCIuICBSZXR1cm4gKk5VTEwqIGlmIGFuIGV4Y2VwdGlvbiB3YXMKLSAgIHJhaXNlZCBieSB0aGUgY29kZWMuCisgICAuLiBkZXByZWNhdGVkLXJlbW92ZWQ6OiAzLjMgNC4wCisgICAgICBQYXJ0IG9mIHRoZSBvbGQtc3R5bGUgOmM6dHlwZTpgUHlfVU5JQ09ERWAgQVBJOyBwbGVhc2UgbWlncmF0ZSB0byB1c2luZworICAgICAgOmM6ZnVuYzpgUHlVbmljb2RlX0FzQVNDSUlTdHJpbmdgLgogCiAKIENoYXJhY3RlciBNYXAgQ29kZWNzCkBAIC04OTgsNyArMTM5NSw4IEBACiAKIFRoZXNlIGFyZSB0aGUgbWFwcGluZyBjb2RlYyBBUElzOgogCi0uLiBjOmZ1bmN0aW9uOjogUHlPYmplY3QqIFB5VW5pY29kZV9EZWNvZGVDaGFybWFwKGNvbnN0IGNoYXIgKnMsIFB5X3NzaXplX3Qgc2l6ZSwgUHlPYmplY3QgKm1hcHBpbmcsIGNvbnN0IGNoYXIgKmVycm9ycykKKy4uIGM6ZnVuY3Rpb246OiBQeU9iamVjdCogUHlVbmljb2RlX0RlY29kZUNoYXJtYXAoY29uc3QgY2hhciAqcywgUHlfc3NpemVfdCBzaXplLCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeU9iamVjdCAqbWFwcGluZywgY29uc3QgY2hhciAqZXJyb3JzKQogCiAgICBDcmVhdGUgYSBVbmljb2RlIG9iamVjdCBieSBkZWNvZGluZyAqc2l6ZSogYnl0ZXMgb2YgdGhlIGVuY29kZWQgc3RyaW5nICpzKiB1c2luZwogICAgdGhlIGdpdmVuICptYXBwaW5nKiBvYmplY3QuICBSZXR1cm4gKk5VTEwqIGlmIGFuIGV4Y2VwdGlvbiB3YXMgcmFpc2VkIGJ5IHRoZQpAQCAtOTA4LDEzICsxNDA2LDYgQEAKICAgIHRyZWF0ZWQgYXMgInVuZGVmaW5lZCBtYXBwaW5nIi4KIAogCi0uLiBjOmZ1bmN0aW9uOjogUHlPYmplY3QqIFB5VW5pY29kZV9FbmNvZGVDaGFybWFwKGNvbnN0IFB5X1VOSUNPREUgKnMsIFB5X3NzaXplX3Qgc2l6ZSwgUHlPYmplY3QgKm1hcHBpbmcsIGNvbnN0IGNoYXIgKmVycm9ycykKLQotICAgRW5jb2RlIHRoZSA6Yzp0eXBlOmBQeV9VTklDT0RFYCBidWZmZXIgb2YgdGhlIGdpdmVuICpzaXplKiB1c2luZyB0aGUgZ2l2ZW4KLSAgICptYXBwaW5nKiBvYmplY3QgYW5kIHJldHVybiBhIFB5dGhvbiBzdHJpbmcgb2JqZWN0LiBSZXR1cm4gKk5VTEwqIGlmIGFuCi0gICBleGNlcHRpb24gd2FzIHJhaXNlZCBieSB0aGUgY29kZWMuCi0KLQogLi4gYzpmdW5jdGlvbjo6IFB5T2JqZWN0KiBQeVVuaWNvZGVfQXNDaGFybWFwU3RyaW5nKFB5T2JqZWN0ICp1bmljb2RlLCBQeU9iamVjdCAqbWFwcGluZykKIAogICAgRW5jb2RlIGEgVW5pY29kZSBvYmplY3QgdXNpbmcgdGhlIGdpdmVuICptYXBwaW5nKiBvYmplY3QgYW5kIHJldHVybiB0aGUgcmVzdWx0CkBAIC05MjQsNyArMTQxNSw4IEBACiBUaGUgZm9sbG93aW5nIGNvZGVjIEFQSSBpcyBzcGVjaWFsIGluIHRoYXQgbWFwcyBVbmljb2RlIHRvIFVuaWNvZGUuCiAKIAotLi4gYzpmdW5jdGlvbjo6IFB5T2JqZWN0KiBQeVVuaWNvZGVfVHJhbnNsYXRlQ2hhcm1hcChjb25zdCBQeV9VTklDT0RFICpzLCBQeV9zc2l6ZV90IHNpemUsIFB5T2JqZWN0ICp0YWJsZSwgY29uc3QgY2hhciAqZXJyb3JzKQorLi4gYzpmdW5jdGlvbjo6IFB5T2JqZWN0KiBQeVVuaWNvZGVfVHJhbnNsYXRlQ2hhcm1hcChjb25zdCBQeV9VTklDT0RFICpzLCBQeV9zc2l6ZV90IHNpemUsIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5T2JqZWN0ICp0YWJsZSwgY29uc3QgY2hhciAqZXJyb3JzKQogCiAgICBUcmFuc2xhdGUgYSA6Yzp0eXBlOmBQeV9VTklDT0RFYCBidWZmZXIgb2YgdGhlIGdpdmVuICpzaXplKiBieSBhcHBseWluZyBhCiAgICBjaGFyYWN0ZXIgbWFwcGluZyAqdGFibGUqIHRvIGl0IGFuZCByZXR1cm4gdGhlIHJlc3VsdGluZyBVbmljb2RlIG9iamVjdC4gIFJldHVybgpAQCAtOTM3LDYgKzE0MjksMjIgQEAKICAgIGFuZCBzZXF1ZW5jZXMgd29yayB3ZWxsLiAgVW5tYXBwZWQgY2hhcmFjdGVyIG9yZGluYWxzIChvbmVzIHdoaWNoIGNhdXNlIGEKICAgIDpleGM6YExvb2t1cEVycm9yYCkgYXJlIGxlZnQgdW50b3VjaGVkIGFuZCBhcmUgY29waWVkIGFzLWlzLgogCisgICAuLiBkZXByZWNhdGVkLXJlbW92ZWQ6OiAzLjMgNC4wCisgICAgICBQYXJ0IG9mIHRoZSBvbGQtc3R5bGUgOmM6dHlwZTpgUHlfVU5JQ09ERWAgQVBJLgorCisgICAuLiBYWFggcmVwbGFjZSB3aXRoIHdoYXQ/CisKKworLi4gYzpmdW5jdGlvbjo6IFB5T2JqZWN0KiBQeVVuaWNvZGVfRW5jb2RlQ2hhcm1hcChjb25zdCBQeV9VTklDT0RFICpzLCBQeV9zc2l6ZV90IHNpemUsIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5T2JqZWN0ICptYXBwaW5nLCBjb25zdCBjaGFyICplcnJvcnMpCisKKyAgIEVuY29kZSB0aGUgOmM6dHlwZTpgUHlfVU5JQ09ERWAgYnVmZmVyIG9mIHRoZSBnaXZlbiAqc2l6ZSogdXNpbmcgdGhlIGdpdmVuCisgICAqbWFwcGluZyogb2JqZWN0IGFuZCByZXR1cm4gYSBQeXRob24gc3RyaW5nIG9iamVjdC4gUmV0dXJuICpOVUxMKiBpZiBhbgorICAgZXhjZXB0aW9uIHdhcyByYWlzZWQgYnkgdGhlIGNvZGVjLgorCisgICAuLiBkZXByZWNhdGVkLXJlbW92ZWQ6OiAzLjMgNC4wCisgICAgICBQYXJ0IG9mIHRoZSBvbGQtc3R5bGUgOmM6dHlwZTpgUHlfVU5JQ09ERWAgQVBJOyBwbGVhc2UgbWlncmF0ZSB0byB1c2luZworICAgICAgOmM6ZnVuYzpgUHlVbmljb2RlX0FzQ2hhcm1hcFN0cmluZ2AuCiAKIAogTUJDUyBjb2RlY3MgZm9yIFdpbmRvd3MKQEAgLTk1Myw3ICsxNDYxLDggQEAKICAgIFJldHVybiAqTlVMTCogaWYgYW4gZXhjZXB0aW9uIHdhcyByYWlzZWQgYnkgdGhlIGNvZGVjLgogCiAKLS4uIGM6ZnVuY3Rpb246OiBQeU9iamVjdCogUHlVbmljb2RlX0RlY29kZU1CQ1NTdGF0ZWZ1bChjb25zdCBjaGFyICpzLCBpbnQgc2l6ZSwgY29uc3QgY2hhciAqZXJyb3JzLCBpbnQgKmNvbnN1bWVkKQorLi4gYzpmdW5jdGlvbjo6IFB5T2JqZWN0KiBQeVVuaWNvZGVfRGVjb2RlTUJDU1N0YXRlZnVsKGNvbnN0IGNoYXIgKnMsIGludCBzaXplLCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICplcnJvcnMsIGludCAqY29uc3VtZWQpCiAKICAgIElmICpjb25zdW1lZCogaXMgKk5VTEwqLCBiZWhhdmUgbGlrZSA6YzpmdW5jOmBQeVVuaWNvZGVfRGVjb2RlTUJDU2AuIElmCiAgICAqY29uc3VtZWQqIGlzIG5vdCAqTlVMTCosIDpjOmZ1bmM6YFB5VW5pY29kZV9EZWNvZGVNQkNTU3RhdGVmdWxgIHdpbGwgbm90IGRlY29kZQpAQCAtOTYxLDE4ICsxNDcwLDMxIEBACiAgICBpbiAqY29uc3VtZWQqLgogCiAKKy4uIGM6ZnVuY3Rpb246OiBQeU9iamVjdCogUHlVbmljb2RlX0FzTUJDU1N0cmluZyhQeU9iamVjdCAqdW5pY29kZSkKKworICAgRW5jb2RlIGEgVW5pY29kZSBvYmplY3QgdXNpbmcgTUJDUyBhbmQgcmV0dXJuIHRoZSByZXN1bHQgYXMgUHl0aG9uIGJ5dGVzCisgICBvYmplY3QuICBFcnJvciBoYW5kbGluZyBpcyAic3RyaWN0Ii4gIFJldHVybiAqTlVMTCogaWYgYW4gZXhjZXB0aW9uIHdhcworICAgcmFpc2VkIGJ5IHRoZSBjb2RlYy4KKworCisuLiBjOmZ1bmN0aW9uOjogUHlPYmplY3QqIFB5VW5pY29kZV9FbmNvZGVDb2RlUGFnZShpbnQgY29kZV9wYWdlLCBQeU9iamVjdCAqdW5pY29kZSwgY29uc3QgY2hhciAqZXJyb3JzKQorCisgICBFbmNvZGUgdGhlIFVuaWNvZGUgb2JqZWN0IHVzaW5nIHRoZSBzcGVjaWZpZWQgY29kZSBwYWdlIGFuZCByZXR1cm4gYSBQeXRob24KKyAgIGJ5dGVzIG9iamVjdC4gIFJldHVybiAqTlVMTCogaWYgYW4gZXhjZXB0aW9uIHdhcyByYWlzZWQgYnkgdGhlIGNvZGVjLiBVc2UKKyAgIDpjOmRhdGE6YENQX0FDUGAgY29kZSBwYWdlIHRvIGdldCB0aGUgTUJDUyBlbmNvZGVyLgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKKworCiAuLiBjOmZ1bmN0aW9uOjogUHlPYmplY3QqIFB5VW5pY29kZV9FbmNvZGVNQkNTKGNvbnN0IFB5X1VOSUNPREUgKnMsIFB5X3NzaXplX3Qgc2l6ZSwgY29uc3QgY2hhciAqZXJyb3JzKQogCiAgICBFbmNvZGUgdGhlIDpjOnR5cGU6YFB5X1VOSUNPREVgIGJ1ZmZlciBvZiB0aGUgZ2l2ZW4gKnNpemUqIHVzaW5nIE1CQ1MgYW5kIHJldHVybgogICAgYSBQeXRob24gYnl0ZXMgb2JqZWN0LiAgUmV0dXJuICpOVUxMKiBpZiBhbiBleGNlcHRpb24gd2FzIHJhaXNlZCBieSB0aGUKICAgIGNvZGVjLgogCi0KLS4uIGM6ZnVuY3Rpb246OiBQeU9iamVjdCogUHlVbmljb2RlX0FzTUJDU1N0cmluZyhQeU9iamVjdCAqdW5pY29kZSkKLQotICAgRW5jb2RlIGEgVW5pY29kZSBvYmplY3QgdXNpbmcgTUJDUyBhbmQgcmV0dXJuIHRoZSByZXN1bHQgYXMgUHl0aG9uIGJ5dGVzCi0gICBvYmplY3QuICBFcnJvciBoYW5kbGluZyBpcyAic3RyaWN0Ii4gIFJldHVybiAqTlVMTCogaWYgYW4gZXhjZXB0aW9uIHdhcwotICAgcmFpc2VkIGJ5IHRoZSBjb2RlYy4KKyAgIC4uIGRlcHJlY2F0ZWQtcmVtb3ZlZDo6IDMuMyA0LjAKKyAgICAgIFBhcnQgb2YgdGhlIG9sZC1zdHlsZSA6Yzp0eXBlOmBQeV9VTklDT0RFYCBBUEk7IHBsZWFzZSBtaWdyYXRlIHRvIHVzaW5nCisgICAgICA6YzpmdW5jOmBQeVVuaWNvZGVfQXNNQkNTU3RyaW5nYCBvciA6YzpmdW5jOmBQeVVuaWNvZGVfRW5jb2RlQ29kZVBhZ2VgLgogCiAKIE1ldGhvZHMgJiBTbG90cwpAQCAtMTAxMSw3ICsxNTMzLDggQEAKICAgIGNoYXJhY3RlcnMgYXJlIG5vdCBpbmNsdWRlZCBpbiB0aGUgcmVzdWx0aW5nIHN0cmluZ3MuCiAKIAotLi4gYzpmdW5jdGlvbjo6IFB5T2JqZWN0KiBQeVVuaWNvZGVfVHJhbnNsYXRlKFB5T2JqZWN0ICpzdHIsIFB5T2JqZWN0ICp0YWJsZSwgY29uc3QgY2hhciAqZXJyb3JzKQorLi4gYzpmdW5jdGlvbjo6IFB5T2JqZWN0KiBQeVVuaWNvZGVfVHJhbnNsYXRlKFB5T2JqZWN0ICpzdHIsIFB5T2JqZWN0ICp0YWJsZSwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZXJyb3JzKQogCiAgICBUcmFuc2xhdGUgYSBzdHJpbmcgYnkgYXBwbHlpbmcgYSBjaGFyYWN0ZXIgbWFwcGluZyB0YWJsZSB0byBpdCBhbmQgcmV0dXJuIHRoZQogICAgcmVzdWx0aW5nIFVuaWNvZGUgb2JqZWN0LgpAQCAtMTAzMywxNCArMTU1NiwxNiBAQAogICAgVW5pY29kZSBzdHJpbmcuCiAKIAotLi4gYzpmdW5jdGlvbjo6IGludCBQeVVuaWNvZGVfVGFpbG1hdGNoKFB5T2JqZWN0ICpzdHIsIFB5T2JqZWN0ICpzdWJzdHIsIFB5X3NzaXplX3Qgc3RhcnQsIFB5X3NzaXplX3QgZW5kLCBpbnQgZGlyZWN0aW9uKQorLi4gYzpmdW5jdGlvbjo6IGludCBQeVVuaWNvZGVfVGFpbG1hdGNoKFB5T2JqZWN0ICpzdHIsIFB5T2JqZWN0ICpzdWJzdHIsIFwKKyAgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3Qgc3RhcnQsIFB5X3NzaXplX3QgZW5kLCBpbnQgZGlyZWN0aW9uKQogCiAgICBSZXR1cm4gMSBpZiAqc3Vic3RyKiBtYXRjaGVzIGBgc3RyW3N0YXJ0OmVuZF1gYCBhdCB0aGUgZ2l2ZW4gdGFpbCBlbmQKICAgICgqZGlyZWN0aW9uKiA9PSAtMSBtZWFucyB0byBkbyBhIHByZWZpeCBtYXRjaCwgKmRpcmVjdGlvbiogPT0gMSBhIHN1ZmZpeCBtYXRjaCksCiAgICAwIG90aGVyd2lzZS4gUmV0dXJuIGBgLTFgYCBpZiBhbiBlcnJvciBvY2N1cnJlZC4KIAogCi0uLiBjOmZ1bmN0aW9uOjogUHlfc3NpemVfdCBQeVVuaWNvZGVfRmluZChQeU9iamVjdCAqc3RyLCBQeU9iamVjdCAqc3Vic3RyLCBQeV9zc2l6ZV90IHN0YXJ0LCBQeV9zc2l6ZV90IGVuZCwgaW50IGRpcmVjdGlvbikKKy4uIGM6ZnVuY3Rpb246OiBQeV9zc2l6ZV90IFB5VW5pY29kZV9GaW5kKFB5T2JqZWN0ICpzdHIsIFB5T2JqZWN0ICpzdWJzdHIsIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IHN0YXJ0LCBQeV9zc2l6ZV90IGVuZCwgaW50IGRpcmVjdGlvbikKIAogICAgUmV0dXJuIHRoZSBmaXJzdCBwb3NpdGlvbiBvZiAqc3Vic3RyKiBpbiBgYHN0cltzdGFydDplbmRdYGAgdXNpbmcgdGhlIGdpdmVuCiAgICAqZGlyZWN0aW9uKiAoKmRpcmVjdGlvbiogPT0gMSBtZWFucyB0byBkbyBhIGZvcndhcmQgc2VhcmNoLCAqZGlyZWN0aW9uKiA9PSAtMSBhCkBAIC0xMDQ5LDEzICsxNTc0LDI3IEBACiAgICBvY2N1cnJlZCBhbmQgYW4gZXhjZXB0aW9uIGhhcyBiZWVuIHNldC4KIAogCi0uLiBjOmZ1bmN0aW9uOjogUHlfc3NpemVfdCBQeVVuaWNvZGVfQ291bnQoUHlPYmplY3QgKnN0ciwgUHlPYmplY3QgKnN1YnN0ciwgUHlfc3NpemVfdCBzdGFydCwgUHlfc3NpemVfdCBlbmQpCisuLiBjOmZ1bmN0aW9uOjogUHlfc3NpemVfdCBQeVVuaWNvZGVfRmluZENoYXIoUHlPYmplY3QgKnN0ciwgUHlfVUNTNCBjaCwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3Qgc3RhcnQsIFB5X3NzaXplX3QgZW5kLCBpbnQgZGlyZWN0aW9uKQorCisgICBSZXR1cm4gdGhlIGZpcnN0IHBvc2l0aW9uIG9mIHRoZSBjaGFyYWN0ZXIgKmNoKiBpbiBgYHN0cltzdGFydDplbmRdYGAgdXNpbmcKKyAgIHRoZSBnaXZlbiAqZGlyZWN0aW9uKiAoKmRpcmVjdGlvbiogPT0gMSBtZWFucyB0byBkbyBhIGZvcndhcmQgc2VhcmNoLAorICAgKmRpcmVjdGlvbiogPT0gLTEgYSBiYWNrd2FyZCBzZWFyY2gpLiAgVGhlIHJldHVybiB2YWx1ZSBpcyB0aGUgaW5kZXggb2YgdGhlCisgICBmaXJzdCBtYXRjaDsgYSB2YWx1ZSBvZiBgYC0xYGAgaW5kaWNhdGVzIHRoYXQgbm8gbWF0Y2ggd2FzIGZvdW5kLCBhbmQgYGAtMmBgCisgICBpbmRpY2F0ZXMgdGhhdCBhbiBlcnJvciBvY2N1cnJlZCBhbmQgYW4gZXhjZXB0aW9uIGhhcyBiZWVuIHNldC4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy4zCisKKworLi4gYzpmdW5jdGlvbjo6IFB5X3NzaXplX3QgUHlVbmljb2RlX0NvdW50KFB5T2JqZWN0ICpzdHIsIFB5T2JqZWN0ICpzdWJzdHIsIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IHN0YXJ0LCBQeV9zc2l6ZV90IGVuZCkKIAogICAgUmV0dXJuIHRoZSBudW1iZXIgb2Ygbm9uLW92ZXJsYXBwaW5nIG9jY3VycmVuY2VzIG9mICpzdWJzdHIqIGluCiAgICBgYHN0cltzdGFydDplbmRdYGAuICBSZXR1cm4gYGAtMWBgIGlmIGFuIGVycm9yIG9jY3VycmVkLgogCiAKLS4uIGM6ZnVuY3Rpb246OiBQeU9iamVjdCogUHlVbmljb2RlX1JlcGxhY2UoUHlPYmplY3QgKnN0ciwgUHlPYmplY3QgKnN1YnN0ciwgUHlPYmplY3QgKnJlcGxzdHIsIFB5X3NzaXplX3QgbWF4Y291bnQpCisuLiBjOmZ1bmN0aW9uOjogUHlPYmplY3QqIFB5VW5pY29kZV9SZXBsYWNlKFB5T2JqZWN0ICpzdHIsIFB5T2JqZWN0ICpzdWJzdHIsIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5T2JqZWN0ICpyZXBsc3RyLCBQeV9zc2l6ZV90IG1heGNvdW50KQogCiAgICBSZXBsYWNlIGF0IG1vc3QgKm1heGNvdW50KiBvY2N1cnJlbmNlcyBvZiAqc3Vic3RyKiBpbiAqc3RyKiB3aXRoICpyZXBsc3RyKiBhbmQKICAgIHJldHVybiB0aGUgcmVzdWx0aW5nIFVuaWNvZGUgb2JqZWN0LiAqbWF4Y291bnQqID09IC0xIG1lYW5zIHJlcGxhY2UgYWxsCkBAIC0xMTAzLDggKzE2NDIsOCBAQAogICAgQ2hlY2sgd2hldGhlciAqZWxlbWVudCogaXMgY29udGFpbmVkIGluICpjb250YWluZXIqIGFuZCByZXR1cm4gdHJ1ZSBvciBmYWxzZQogICAgYWNjb3JkaW5nbHkuCiAKLSAgICplbGVtZW50KiBoYXMgdG8gY29lcmNlIHRvIGEgb25lIGVsZW1lbnQgVW5pY29kZSBzdHJpbmcuIGBgLTFgYCBpcyByZXR1cm5lZCBpZgotICAgdGhlcmUgd2FzIGFuIGVycm9yLgorICAgKmVsZW1lbnQqIGhhcyB0byBjb2VyY2UgdG8gYSBvbmUgZWxlbWVudCBVbmljb2RlIHN0cmluZy4gYGAtMWBgIGlzIHJldHVybmVkCisgICBpZiB0aGVyZSB3YXMgYW4gZXJyb3IuCiAKIAogLi4gYzpmdW5jdGlvbjo6IHZvaWQgUHlVbmljb2RlX0ludGVybkluUGxhY2UoUHlPYmplY3QgKipzdHJpbmcpCkBAIC0xMTIzLDcgKzE2NjIsNiBAQAogLi4gYzpmdW5jdGlvbjo6IFB5T2JqZWN0KiBQeVVuaWNvZGVfSW50ZXJuRnJvbVN0cmluZyhjb25zdCBjaGFyICp2KQogCiAgICBBIGNvbWJpbmF0aW9uIG9mIDpjOmZ1bmM6YFB5VW5pY29kZV9Gcm9tU3RyaW5nYCBhbmQKLSAgIDpjOmZ1bmM6YFB5VW5pY29kZV9JbnRlcm5JblBsYWNlYCwgcmV0dXJuaW5nIGVpdGhlciBhIG5ldyB1bmljb2RlIHN0cmluZyBvYmplY3QKLSAgIHRoYXQgaGFzIGJlZW4gaW50ZXJuZWQsIG9yIGEgbmV3ICgib3duZWQiKSByZWZlcmVuY2UgdG8gYW4gZWFybGllciBpbnRlcm5lZAotICAgc3RyaW5nIG9iamVjdCB3aXRoIHRoZSBzYW1lIHZhbHVlLgotCisgICA6YzpmdW5jOmBQeVVuaWNvZGVfSW50ZXJuSW5QbGFjZWAsIHJldHVybmluZyBlaXRoZXIgYSBuZXcgdW5pY29kZSBzdHJpbmcKKyAgIG9iamVjdCB0aGF0IGhhcyBiZWVuIGludGVybmVkLCBvciBhIG5ldyAoIm93bmVkIikgcmVmZXJlbmNlIHRvIGFuIGVhcmxpZXIKKyAgIGludGVybmVkIHN0cmluZyBvYmplY3Qgd2l0aCB0aGUgc2FtZSB2YWx1ZS4KZGlmZiAtLWdpdCBhL0RvYy9jb250ZW50cy5yc3QgYi9Eb2MvY29udGVudHMucnN0CmluZGV4IGMwYzZhZjMuLmNjNWM4ZTMgMTAwNjQ0Ci0tLSBhL0RvYy9jb250ZW50cy5yc3QKKysrIGIvRG9jL2NvbnRlbnRzLnJzdApAQCAtMTEsNyArMTEsNyBAQAogICAgbGlicmFyeS9pbmRleC5yc3QKICAgIGV4dGVuZGluZy9pbmRleC5yc3QKICAgIGMtYXBpL2luZGV4LnJzdAotICAgZGlzdHV0aWxzL2luZGV4LnJzdAorICAgcGFja2FnaW5nL2luZGV4LnJzdAogICAgaW5zdGFsbC9pbmRleC5yc3QKICAgIGhvd3RvL2luZGV4LnJzdAogICAgZmFxL2luZGV4LnJzdApkaWZmIC0tZ2l0IGEvRG9jL2RhdGEvcmVmY291bnRzLmRhdCBiL0RvYy9kYXRhL3JlZmNvdW50cy5kYXQKaW5kZXggYzdkN2JkMS4uYTEwMDRhZCAxMDA2NDQKLS0tIGEvRG9jL2RhdGEvcmVmY291bnRzLmRhdAorKysgYi9Eb2MvZGF0YS9yZWZjb3VudHMuZGF0CkBAIC00NjUsNiArNDY1LDExIEBACiBQeUZ1bmN0aW9uX05ldzpQeU9iamVjdCo6Y29kZTorMToKIFB5RnVuY3Rpb25fTmV3OlB5T2JqZWN0KjpnbG9iYWxzOisxOgogCitQeUZ1bmN0aW9uX05ld1dpdGhRdWFsTmFtZTpQeU9iamVjdCo6OisxOgorUHlGdW5jdGlvbl9OZXdXaXRoUXVhbE5hbWU6UHlPYmplY3QqOmNvZGU6KzE6CitQeUZ1bmN0aW9uX05ld1dpdGhRdWFsTmFtZTpQeU9iamVjdCo6Z2xvYmFsczorMToKK1B5RnVuY3Rpb25fTmV3V2l0aFF1YWxOYW1lOlB5T2JqZWN0KjpxdWFsbmFtZTorMToKKwogUHlGdW5jdGlvbl9TZXRDbG9zdXJlOmludDo6OgogUHlGdW5jdGlvbl9TZXRDbG9zdXJlOlB5T2JqZWN0KjpvcDowOgogUHlGdW5jdGlvbl9TZXRDbG9zdXJlOlB5T2JqZWN0KjpjbG9zdXJlOisxOgpkaWZmIC0tZ2l0IGEvRG9jL2Rpc3R1dGlscy9hcGlyZWYucnN0IGIvRG9jL2Rpc3R1dGlscy9hcGlyZWYucnN0CmluZGV4IGUxNWRjNzYuLjcxNzAyZTUgMTAwNjQ0Ci0tLSBhL0RvYy9kaXN0dXRpbHMvYXBpcmVmLnJzdAorKysgYi9Eb2MvZGlzdHV0aWxzL2FwaXJlZi5yc3QKQEAgLTE2MCw3ICsxNjAsNyBAQAogLi4gY2xhc3M6OiBFeHRlbnNpb24KIAogICAgVGhlIEV4dGVuc2lvbiBjbGFzcyBkZXNjcmliZXMgYSBzaW5nbGUgQyBvciBDKytleHRlbnNpb24gbW9kdWxlIGluIGEgc2V0dXAKLSAgIHNjcmlwdC4gSXQgYWNjZXB0cyB0aGUgZm9sbG93aW5nIGtleXdvcmQgYXJndW1lbnRzIGluIGl0cyBjb25zdHJ1Y3RvcgorICAgc2NyaXB0LiBJdCBhY2NlcHRzIHRoZSBmb2xsb3dpbmcga2V5d29yZCBhcmd1bWVudHMgaW4gaXRzIGNvbnN0cnVjdG9yOgogCiAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKICAgIHwgYXJndW1lbnQgbmFtZSAgICAgICAgICB8IHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICB8IHR5cGUgICAgICAgICAgICAgICAgICAgICAgfApAQCAtMTE1NywxMiArMTE1NywxMSBAQAogCiAuLiBmdW5jdGlvbjo6IGdyb2tfZW52aXJvbm1lbnRfZXJyb3IoZXhjWywgcHJlZml4PSdlcnJvcjogJ10pCiAKLSAgIEdlbmVyYXRlIGEgdXNlZnVsIGVycm9yIG1lc3NhZ2UgZnJvbSBhbiA6ZXhjOmBFbnZpcm9ubWVudEVycm9yYCAgKDpleGM6YElPRXJyb3JgCi0gICBvciA6ZXhjOmBPU0Vycm9yYCkgZXhjZXB0aW9uIG9iamVjdC4gICBIYW5kbGVzIFB5dGhvbiAxLjUuMSBhbmQgbGF0ZXIgc3R5bGVzLAotICAgYW5kIGRvZXMgd2hhdCBpdCBjYW4gdG8gZGVhbCB3aXRoICBleGNlcHRpb24gb2JqZWN0cyB0aGF0IGRvbid0IGhhdmUgYSBmaWxlbmFtZQotICAgKHdoaWNoIGhhcHBlbnMgd2hlbiB0aGUgZXJyb3IgIGlzIGR1ZSB0byBhIHR3by1maWxlIG9wZXJhdGlvbiwgc3VjaCBhcwotICAgOmZ1bmM6YHJlbmFtZWAgb3IgIDpmdW5jOmBsaW5rYCkuICBSZXR1cm5zIHRoZSBlcnJvciBtZXNzYWdlIGFzIGEgc3RyaW5nCi0gICBwcmVmaXhlZCAgd2l0aCAqcHJlZml4Ki4KKyAgIEdlbmVyYXRlIGEgdXNlZnVsIGVycm9yIG1lc3NhZ2UgZnJvbSBhbiA6ZXhjOmBPU0Vycm9yYCBleGNlcHRpb24gb2JqZWN0LgorICAgSGFuZGxlcyBQeXRob24gMS41LjEgYW5kIGxhdGVyIHN0eWxlcywgYW5kIGRvZXMgd2hhdCBpdCBjYW4gdG8gZGVhbCB3aXRoCisgICBleGNlcHRpb24gb2JqZWN0cyB0aGF0IGRvbid0IGhhdmUgYSBmaWxlbmFtZSAod2hpY2ggaGFwcGVucyB3aGVuIHRoZSBlcnJvcgorICAgaXMgZHVlIHRvIGEgdHdvLWZpbGUgb3BlcmF0aW9uLCBzdWNoIGFzIDpmdW5jOmByZW5hbWVgIG9yIDpmdW5jOmBsaW5rYCkuCisgICBSZXR1cm5zIHRoZSBlcnJvciBtZXNzYWdlIGFzIGEgc3RyaW5nIHByZWZpeGVkIHdpdGggKnByZWZpeCouCiAKIAogLi4gZnVuY3Rpb246OiBzcGxpdF9xdW90ZWQocykKZGlmZiAtLWdpdCBhL0RvYy9kaXN0dXRpbHMvaW5kZXgucnN0IGIvRG9jL2Rpc3R1dGlscy9pbmRleC5yc3QKaW5kZXggYWNlODI4MC4uYzhkZDlmNCAxMDA2NDQKLS0tIGEvRG9jL2Rpc3R1dGlscy9pbmRleC5yc3QKKysrIGIvRG9jL2Rpc3R1dGlscy9pbmRleC5yc3QKQEAgLTE0LDkgKzE0LDEyIEBACiBtYWtlIFB5dGhvbiBtb2R1bGVzIGFuZCBleHRlbnNpb25zIGVhc2lseSBhdmFpbGFibGUgdG8gYSB3aWRlciBhdWRpZW5jZSB3aXRoCiB2ZXJ5IGxpdHRsZSBvdmVyaGVhZCBmb3IgYnVpbGQvcmVsZWFzZS9pbnN0YWxsIG1lY2hhbmljcy4KIAorLi4gZGVwcmVjYXRlZDo6IDMuMworICAgOm1vZDpgcGFja2FnaW5nYCByZXBsYWNlcyBEaXN0dXRpbHMuICBTZWUgOnJlZjpgcGFja2FnaW5nLWluZGV4YCBhbmQKKyAgIDpyZWY6YHBhY2thZ2luZy1pbnN0YWxsLWluZGV4YC4KKwogLi4gdG9jdHJlZTo6CiAgICA6bWF4ZGVwdGg6IDIKLSAgIDpudW1iZXJlZDoKIAogICAgaW50cm9kdWN0aW9uLnJzdAogICAgc2V0dXBzY3JpcHQucnN0CkBAIC0yOSwzICszMiwxMCBAQAogICAgZXh0ZW5kaW5nLnJzdAogICAgY29tbWFuZHJlZi5yc3QKICAgIGFwaXJlZi5yc3QKKworQW5vdGhlciBkb2N1bWVudCBkZXNjcmliZXMgaG93IHRvIGluc3RhbGwgbW9kdWxlcyBhbmQgZXh0ZW5zaW9ucyBwYWNrYWdlZAorZm9sbG93aW5nIHRoZSBhYm92ZSBndWlkZWxpbmVzOgorCisuLiB0b2N0cmVlOjoKKworICAgaW5zdGFsbC5yc3QKZGlmZiAtLWdpdCBhL0RvYy9kaXN0dXRpbHMvaW5zdGFsbC5yc3QgYi9Eb2MvZGlzdHV0aWxzL2luc3RhbGwucnN0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIyMGYxZmIKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2MvZGlzdHV0aWxzL2luc3RhbGwucnN0CkBAIC0wLDAgKzEsMTA4NiBAQAorLi4gaGlnaGxpZ2h0bGFuZzo6IG5vbmUKKworLi4gX2luc3RhbGwtaW5kZXg6CisKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgIEluc3RhbGxpbmcgUHl0aG9uIE1vZHVsZXMKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisKKzpBdXRob3I6IEdyZWcgV2FyZAorOlJlbGVhc2U6IHx2ZXJzaW9ufAorOkRhdGU6IHx0b2RheXwKKworLi4gVE9ETzogRmlsbCBpbiBYWFggY29tbWVudHMKKworLi4gVGhlIGF1ZGllbmNlIGZvciB0aGlzIGRvY3VtZW50IGluY2x1ZGVzIHBlb3BsZSB3aG8gZG9uJ3Qga25vdyBhbnl0aGluZworICAgYWJvdXQgUHl0aG9uIGFuZCBhcmVuJ3QgYWJvdXQgdG8gbGVhcm4gdGhlIGxhbmd1YWdlIGp1c3QgaW4gb3JkZXIgdG8KKyAgIGluc3RhbGwgYW5kIG1haW50YWluIGl0IGZvciB0aGVpciB1c2VycywgaS5lLiBzeXN0ZW0gYWRtaW5pc3RyYXRvcnMuCisgICBUaHVzLCBJIGhhdmUgdG8gYmUgc3VyZSB0byBleHBsYWluIHRoZSBiYXNpY3MgYXQgc29tZSBwb2ludDoKKyAgIHN5cy5wYXRoIGFuZCBQWVRIT05QQVRIIGF0IGxlYXN0LiAgU2hvdWxkIHByb2JhYmx5IGdpdmUgcG9pbnRlcnMgdG8KKyAgIG90aGVyIGRvY3Mgb24gImltcG9ydCBzaXRlIiwgUFlUSE9OU1RBUlRVUCwgUFlUSE9OSE9NRSwgZXRjLgorCisgICBGaW5hbGx5LCBpdCBtaWdodCBiZSB1c2VmdWwgdG8gaW5jbHVkZSBhbGwgdGhlIG1hdGVyaWFsIGZyb20gbXkgIkNhcmUKKyAgIGFuZCBGZWVkaW5nIG9mIGEgUHl0aG9uIEluc3RhbGxhdGlvbiIgdGFsayBpbiBoZXJlIHNvbWV3aGVyZS4gIFlvdyEKKworLi4gdG9waWM6OiBBYnN0cmFjdAorCisgICBUaGlzIGRvY3VtZW50IGRlc2NyaWJlcyB0aGUgUHl0aG9uIERpc3RyaWJ1dGlvbiBVdGlsaXRpZXMgKCJEaXN0dXRpbHMiKSBmcm9tIHRoZQorICAgZW5kLXVzZXIncyBwb2ludC1vZi12aWV3LCBkZXNjcmliaW5nIGhvdyB0byBleHRlbmQgdGhlIGNhcGFiaWxpdGllcyBvZiBhCisgICBzdGFuZGFyZCBQeXRob24gaW5zdGFsbGF0aW9uIGJ5IGJ1aWxkaW5nIGFuZCBpbnN0YWxsaW5nIHRoaXJkLXBhcnR5IFB5dGhvbgorICAgbW9kdWxlcyBhbmQgZXh0ZW5zaW9ucy4KKworCisuLiBfaW5zdC1pbnRybzoKKworSW50cm9kdWN0aW9uCis9PT09PT09PT09PT0KKworQWx0aG91Z2ggUHl0aG9uJ3MgZXh0ZW5zaXZlIHN0YW5kYXJkIGxpYnJhcnkgY292ZXJzIG1hbnkgcHJvZ3JhbW1pbmcgbmVlZHMsCit0aGVyZSBvZnRlbiBjb21lcyBhIHRpbWUgd2hlbiB5b3UgbmVlZCB0byBhZGQgc29tZSBuZXcgZnVuY3Rpb25hbGl0eSB0byB5b3VyCitQeXRob24gaW5zdGFsbGF0aW9uIGluIHRoZSBmb3JtIG9mIHRoaXJkLXBhcnR5IG1vZHVsZXMuICBUaGlzIG1pZ2h0IGJlIG5lY2Vzc2FyeQordG8gc3VwcG9ydCB5b3VyIG93biBwcm9ncmFtbWluZywgb3IgdG8gc3VwcG9ydCBhbiBhcHBsaWNhdGlvbiB0aGF0IHlvdSB3YW50IHRvCit1c2UgYW5kIHRoYXQgaGFwcGVucyB0byBiZSB3cml0dGVuIGluIFB5dGhvbi4KKworSW4gdGhlIHBhc3QsIHRoZXJlIGhhcyBiZWVuIGxpdHRsZSBzdXBwb3J0IGZvciBhZGRpbmcgdGhpcmQtcGFydHkgbW9kdWxlcyB0byBhbgorZXhpc3RpbmcgUHl0aG9uIGluc3RhbGxhdGlvbi4gIFdpdGggdGhlIGludHJvZHVjdGlvbiBvZiB0aGUgUHl0aG9uIERpc3RyaWJ1dGlvbgorVXRpbGl0aWVzIChEaXN0dXRpbHMgZm9yIHNob3J0KSBpbiBQeXRob24gMi4wLCB0aGlzIGNoYW5nZWQuCisKK1RoaXMgZG9jdW1lbnQgaXMgYWltZWQgcHJpbWFyaWx5IGF0IHRoZSBwZW9wbGUgd2hvIG5lZWQgdG8gaW5zdGFsbCB0aGlyZC1wYXJ0eQorUHl0aG9uIG1vZHVsZXM6IGVuZC11c2VycyBhbmQgc3lzdGVtIGFkbWluaXN0cmF0b3JzIHdobyBqdXN0IG5lZWQgdG8gZ2V0IHNvbWUKK1B5dGhvbiBhcHBsaWNhdGlvbiBydW5uaW5nLCBhbmQgZXhpc3RpbmcgUHl0aG9uIHByb2dyYW1tZXJzIHdobyB3YW50IHRvIGFkZCBzb21lCituZXcgZ29vZGllcyB0byB0aGVpciB0b29sYm94LiAgWW91IGRvbid0IG5lZWQgdG8ga25vdyBQeXRob24gdG8gcmVhZCB0aGlzCitkb2N1bWVudDsgdGhlcmUgd2lsbCBiZSBzb21lIGJyaWVmIGZvcmF5cyBpbnRvIHVzaW5nIFB5dGhvbidzIGludGVyYWN0aXZlIG1vZGUKK3RvIGV4cGxvcmUgeW91ciBpbnN0YWxsYXRpb24sIGJ1dCB0aGF0J3MgaXQuICBJZiB5b3UncmUgbG9va2luZyBmb3IgaW5mb3JtYXRpb24KK29uIGhvdyB0byBkaXN0cmlidXRlIHlvdXIgb3duIFB5dGhvbiBtb2R1bGVzIHNvIHRoYXQgb3RoZXJzIG1heSB1c2UgdGhlbSwgc2VlCit0aGUgOnJlZjpgZGlzdHV0aWxzLWluZGV4YCBtYW51YWwuCisKKworLi4gX2luc3QtdHJpdmlhbC1pbnN0YWxsOgorCitCZXN0IGNhc2U6IHRyaXZpYWwgaW5zdGFsbGF0aW9uCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK0luIHRoZSBiZXN0IGNhc2UsIHNvbWVvbmUgd2lsbCBoYXZlIHByZXBhcmVkIGEgc3BlY2lhbCB2ZXJzaW9uIG9mIHRoZSBtb2R1bGUKK2Rpc3RyaWJ1dGlvbiB5b3Ugd2FudCB0byBpbnN0YWxsIHRoYXQgaXMgdGFyZ2V0ZWQgc3BlY2lmaWNhbGx5IGF0IHlvdXIgcGxhdGZvcm0KK2FuZCBpcyBpbnN0YWxsZWQganVzdCBsaWtlIGFueSBvdGhlciBzb2Z0d2FyZSBvbiB5b3VyIHBsYXRmb3JtLiAgRm9yIGV4YW1wbGUsCit0aGUgbW9kdWxlIGRldmVsb3BlciBtaWdodCBtYWtlIGFuIGV4ZWN1dGFibGUgaW5zdGFsbGVyIGF2YWlsYWJsZSBmb3IgV2luZG93cwordXNlcnMsIGFuIFJQTSBwYWNrYWdlIGZvciB1c2VycyBvZiBSUE0tYmFzZWQgTGludXggc3lzdGVtcyAoUmVkIEhhdCwgU3VTRSwKK01hbmRyYWtlLCBhbmQgbWFueSBvdGhlcnMpLCBhIERlYmlhbiBwYWNrYWdlIGZvciB1c2VycyBvZiBEZWJpYW4tYmFzZWQgTGludXgKK3N5c3RlbXMsIGFuZCBzbyBmb3J0aC4KKworSW4gdGhhdCBjYXNlLCB5b3Ugd291bGQgZG93bmxvYWQgdGhlIGluc3RhbGxlciBhcHByb3ByaWF0ZSB0byB5b3VyIHBsYXRmb3JtIGFuZAorZG8gdGhlIG9idmlvdXMgdGhpbmcgd2l0aCBpdDogcnVuIGl0IGlmIGl0J3MgYW4gZXhlY3V0YWJsZSBpbnN0YWxsZXIsIGBgcnBtCistLWluc3RhbGxgYCBpdCBpZiBpdCdzIGFuIFJQTSwgZXRjLiAgWW91IGRvbid0IG5lZWQgdG8gcnVuIFB5dGhvbiBvciBhIHNldHVwCitzY3JpcHQsIHlvdSBkb24ndCBuZWVkIHRvIGNvbXBpbGUgYW55dGhpbmctLS15b3UgbWlnaHQgbm90IGV2ZW4gbmVlZCB0byByZWFkIGFueQoraW5zdHJ1Y3Rpb25zIChhbHRob3VnaCBpdCdzIGFsd2F5cyBhIGdvb2QgaWRlYSB0byBkbyBzbyBhbnl3YXkpLgorCitPZiBjb3Vyc2UsIHRoaW5ncyB3aWxsIG5vdCBhbHdheXMgYmUgdGhhdCBlYXN5LiAgWW91IG1pZ2h0IGJlIGludGVyZXN0ZWQgaW4gYQorbW9kdWxlIGRpc3RyaWJ1dGlvbiB0aGF0IGRvZXNuJ3QgaGF2ZSBhbiBlYXN5LXRvLXVzZSBpbnN0YWxsZXIgZm9yIHlvdXIKK3BsYXRmb3JtLiAgSW4gdGhhdCBjYXNlLCB5b3UnbGwgaGF2ZSB0byBzdGFydCB3aXRoIHRoZSBzb3VyY2UgZGlzdHJpYnV0aW9uCityZWxlYXNlZCBieSB0aGUgbW9kdWxlJ3MgYXV0aG9yL21haW50YWluZXIuICBJbnN0YWxsaW5nIGZyb20gYSBzb3VyY2UKK2Rpc3RyaWJ1dGlvbiBpcyBub3QgdG9vIGhhcmQsIGFzIGxvbmcgYXMgdGhlIG1vZHVsZXMgYXJlIHBhY2thZ2VkIGluIHRoZQorc3RhbmRhcmQgd2F5LiAgVGhlIGJ1bGsgb2YgdGhpcyBkb2N1bWVudCBpcyBhYm91dCBidWlsZGluZyBhbmQgaW5zdGFsbGluZworbW9kdWxlcyBmcm9tIHN0YW5kYXJkIHNvdXJjZSBkaXN0cmlidXRpb25zLgorCisKKy4uIF9pbnN0LW5ldy1zdGFuZGFyZDoKKworVGhlIG5ldyBzdGFuZGFyZDogRGlzdHV0aWxzCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworSWYgeW91IGRvd25sb2FkIGEgbW9kdWxlIHNvdXJjZSBkaXN0cmlidXRpb24sIHlvdSBjYW4gdGVsbCBwcmV0dHkgcXVpY2tseSBpZiBpdAord2FzIHBhY2thZ2VkIGFuZCBkaXN0cmlidXRlZCBpbiB0aGUgc3RhbmRhcmQgd2F5LCBpLmUuIHVzaW5nIHRoZSBEaXN0dXRpbHMuCitGaXJzdCwgdGhlIGRpc3RyaWJ1dGlvbidzIG5hbWUgYW5kIHZlcnNpb24gbnVtYmVyIHdpbGwgYmUgZmVhdHVyZWQgcHJvbWluZW50bHkKK2luIHRoZSBuYW1lIG9mIHRoZSBkb3dubG9hZGVkIGFyY2hpdmUsIGUuZy4gOmZpbGU6YGZvby0xLjAudGFyLmd6YCBvcgorOmZpbGU6YHdpZGdldC0wLjkuNy56aXBgLiAgTmV4dCwgdGhlIGFyY2hpdmUgd2lsbCB1bnBhY2sgaW50byBhIHNpbWlsYXJseS1uYW1lZAorZGlyZWN0b3J5OiA6ZmlsZTpgZm9vLTEuMGAgb3IgOmZpbGU6YHdpZGdldC0wLjkuN2AuICBBZGRpdGlvbmFsbHksIHRoZQorZGlzdHJpYnV0aW9uIHdpbGwgY29udGFpbiBhIHNldHVwIHNjcmlwdCA6ZmlsZTpgc2V0dXAucHlgLCBhbmQgYSBmaWxlIG5hbWVkCis6ZmlsZTpgUkVBRE1FLnR4dGAgb3IgcG9zc2libHkganVzdCA6ZmlsZTpgUkVBRE1FYCwgd2hpY2ggc2hvdWxkIGV4cGxhaW4gdGhhdAorYnVpbGRpbmcgYW5kIGluc3RhbGxpbmcgdGhlIG1vZHVsZSBkaXN0cmlidXRpb24gaXMgYSBzaW1wbGUgbWF0dGVyIG9mIHJ1bm5pbmcKK29uZSBjb21tYW5kIGZyb20gYSB0ZXJtaW5hbDo6CisKKyAgIHB5dGhvbiBzZXR1cC5weSBpbnN0YWxsCisKK0ZvciBXaW5kb3dzLCB0aGlzIGNvbW1hbmQgc2hvdWxkIGJlIHJ1biBmcm9tIGEgY29tbWFuZCBwcm9tcHQgd2luZG93CisoOm1lbnVzZWxlY3Rpb246YFN0YXJ0IC0tPiBBY2Nlc3Nvcmllc2ApOjoKKworICAgc2V0dXAucHkgaW5zdGFsbAorCitJZiBhbGwgdGhlc2UgdGhpbmdzIGFyZSB0cnVlLCB0aGVuIHlvdSBhbHJlYWR5IGtub3cgaG93IHRvIGJ1aWxkIGFuZCBpbnN0YWxsIHRoZQorbW9kdWxlcyB5b3UndmUganVzdCBkb3dubG9hZGVkOiAgUnVuIHRoZSBjb21tYW5kIGFib3ZlLiBVbmxlc3MgeW91IG5lZWQgdG8KK2luc3RhbGwgdGhpbmdzIGluIGEgbm9uLXN0YW5kYXJkIHdheSBvciBjdXN0b21pemUgdGhlIGJ1aWxkIHByb2Nlc3MsIHlvdSBkb24ndAorcmVhbGx5IG5lZWQgdGhpcyBtYW51YWwuICBPciByYXRoZXIsIHRoZSBhYm92ZSBjb21tYW5kIGlzIGV2ZXJ5dGhpbmcgeW91IG5lZWQgdG8KK2dldCBvdXQgb2YgdGhpcyBtYW51YWwuCisKKworLi4gX2luc3Qtc3RhbmRhcmQtaW5zdGFsbDoKKworU3RhbmRhcmQgQnVpbGQgYW5kIEluc3RhbGwKKz09PT09PT09PT09PT09PT09PT09PT09PT09CisKK0FzIGRlc2NyaWJlZCBpbiBzZWN0aW9uIDpyZWY6YGluc3QtbmV3LXN0YW5kYXJkYCwgYnVpbGRpbmcgYW5kIGluc3RhbGxpbmcgYSBtb2R1bGUKK2Rpc3RyaWJ1dGlvbiB1c2luZyB0aGUgRGlzdHV0aWxzIGlzIHVzdWFsbHkgb25lIHNpbXBsZSBjb21tYW5kIHRvIHJ1biBmcm9tIGEKK3Rlcm1pbmFsOjoKKworICAgcHl0aG9uIHNldHVwLnB5IGluc3RhbGwKKworCisuLiBfaW5zdC1wbGF0Zm9ybS12YXJpYXRpb25zOgorCitQbGF0Zm9ybSB2YXJpYXRpb25zCistLS0tLS0tLS0tLS0tLS0tLS0tCisKK1lvdSBzaG91bGQgYWx3YXlzIHJ1biB0aGUgc2V0dXAgY29tbWFuZCBmcm9tIHRoZSBkaXN0cmlidXRpb24gcm9vdCBkaXJlY3RvcnksCitpLmUuIHRoZSB0b3AtbGV2ZWwgc3ViZGlyZWN0b3J5IHRoYXQgdGhlIG1vZHVsZSBzb3VyY2UgZGlzdHJpYnV0aW9uIHVucGFja3MKK2ludG8uICBGb3IgZXhhbXBsZSwgaWYgeW91J3ZlIGp1c3QgZG93bmxvYWRlZCBhIG1vZHVsZSBzb3VyY2UgZGlzdHJpYnV0aW9uCis6ZmlsZTpgZm9vLTEuMC50YXIuZ3pgIG9udG8gYSBVbml4IHN5c3RlbSwgdGhlIG5vcm1hbCB0aGluZyB0byBkbyBpczo6CisKKyAgIGd1bnppcCAtYyBmb28tMS4wLnRhci5neiB8IHRhciB4ZiAtICAgICMgdW5wYWNrcyBpbnRvIGRpcmVjdG9yeSBmb28tMS4wCisgICBjZCBmb28tMS4wCisgICBweXRob24gc2V0dXAucHkgaW5zdGFsbAorCitPbiBXaW5kb3dzLCB5b3UnZCBwcm9iYWJseSBkb3dubG9hZCA6ZmlsZTpgZm9vLTEuMC56aXBgLiAgSWYgeW91IGRvd25sb2FkZWQgdGhlCithcmNoaXZlIGZpbGUgdG8gOmZpbGU6YEM6XFxUZW1wYCwgdGhlbiBpdCB3b3VsZCB1bnBhY2sgaW50bworOmZpbGU6YEM6XFxUZW1wXFxmb28tMS4wYDsgeW91IGNhbiB1c2UgZWl0aGVyIGEgYXJjaGl2ZSBtYW5pcHVsYXRvciB3aXRoIGEKK2dyYXBoaWNhbCB1c2VyIGludGVyZmFjZSAoc3VjaCBhcyBXaW5aaXApIG9yIGEgY29tbWFuZC1saW5lIHRvb2wgKHN1Y2ggYXMKKzpwcm9ncmFtOmB1bnppcGAgb3IgOnByb2dyYW06YHBrdW56aXBgKSB0byB1bnBhY2sgdGhlIGFyY2hpdmUuICBUaGVuLCBvcGVuIGEKK2NvbW1hbmQgcHJvbXB0IHdpbmRvdyBhbmQgcnVuOjoKKworICAgY2QgYzpcVGVtcFxmb28tMS4wCisgICBweXRob24gc2V0dXAucHkgaW5zdGFsbAorCisKKy4uIF9pbnN0LXNwbGl0dGluZy11cDoKKworU3BsaXR0aW5nIHRoZSBqb2IgdXAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK1J1bm5pbmcgYGBzZXR1cC5weSBpbnN0YWxsYGAgYnVpbGRzIGFuZCBpbnN0YWxscyBhbGwgbW9kdWxlcyBpbiBvbmUgcnVuLiAgSWYgeW91CitwcmVmZXIgdG8gd29yayBpbmNyZW1lbnRhbGx5LS0tZXNwZWNpYWxseSB1c2VmdWwgaWYgeW91IHdhbnQgdG8gY3VzdG9taXplIHRoZQorYnVpbGQgcHJvY2Vzcywgb3IgaWYgdGhpbmdzIGFyZSBnb2luZyB3cm9uZy0tLXlvdSBjYW4gdXNlIHRoZSBzZXR1cCBzY3JpcHQgdG8gZG8KK29uZSB0aGluZyBhdCBhIHRpbWUuICBUaGlzIGlzIHBhcnRpY3VsYXJseSBoZWxwZnVsIHdoZW4gdGhlIGJ1aWxkIGFuZCBpbnN0YWxsCit3aWxsIGJlIGRvbmUgYnkgZGlmZmVyZW50IHVzZXJzLS0tZm9yIGV4YW1wbGUsIHlvdSBtaWdodCB3YW50IHRvIGJ1aWxkIGEgbW9kdWxlCitkaXN0cmlidXRpb24gYW5kIGhhbmQgaXQgb2ZmIHRvIGEgc3lzdGVtIGFkbWluaXN0cmF0b3IgZm9yIGluc3RhbGxhdGlvbiAob3IgZG8KK2l0IHlvdXJzZWxmLCB3aXRoIHN1cGVyLXVzZXIgcHJpdmlsZWdlcykuCisKK0ZvciBleGFtcGxlLCB5b3UgY2FuIGJ1aWxkIGV2ZXJ5dGhpbmcgaW4gb25lIHN0ZXAsIGFuZCB0aGVuIGluc3RhbGwgZXZlcnl0aGluZworaW4gYSBzZWNvbmQgc3RlcCwgYnkgaW52b2tpbmcgdGhlIHNldHVwIHNjcmlwdCB0d2ljZTo6CisKKyAgIHB5dGhvbiBzZXR1cC5weSBidWlsZAorICAgcHl0aG9uIHNldHVwLnB5IGluc3RhbGwKKworSWYgeW91IGRvIHRoaXMsIHlvdSB3aWxsIG5vdGljZSB0aGF0IHJ1bm5pbmcgdGhlIDpjb21tYW5kOmBpbnN0YWxsYCBjb21tYW5kCitmaXJzdCBydW5zIHRoZSA6Y29tbWFuZDpgYnVpbGRgIGNvbW1hbmQsIHdoaWNoLS0taW4gdGhpcyBjYXNlLS0tcXVpY2tseSBub3RpY2VzCit0aGF0IGl0IGhhcyBub3RoaW5nIHRvIGRvLCBzaW5jZSBldmVyeXRoaW5nIGluIHRoZSA6ZmlsZTpgYnVpbGRgIGRpcmVjdG9yeSBpcwordXAtdG8tZGF0ZS4KKworWW91IG1heSBub3QgbmVlZCB0aGlzIGFiaWxpdHkgdG8gYnJlYWsgdGhpbmdzIGRvd24gb2Z0ZW4gaWYgYWxsIHlvdSBkbyBpcworaW5zdGFsbCBtb2R1bGVzIGRvd25sb2FkZWQgb2ZmIHRoZSAnbmV0LCBidXQgaXQncyB2ZXJ5IGhhbmR5IGZvciBtb3JlIGFkdmFuY2VkCit0YXNrcy4gIElmIHlvdSBnZXQgaW50byBkaXN0cmlidXRpbmcgeW91ciBvd24gUHl0aG9uIG1vZHVsZXMgYW5kIGV4dGVuc2lvbnMsCit5b3UnbGwgcnVuIGxvdHMgb2YgaW5kaXZpZHVhbCBEaXN0dXRpbHMgY29tbWFuZHMgb24gdGhlaXIgb3duLgorCisKKy4uIF9pbnN0LWhvdy1idWlsZC13b3JrczoKKworSG93IGJ1aWxkaW5nIHdvcmtzCistLS0tLS0tLS0tLS0tLS0tLS0KKworQXMgaW1wbGllZCBhYm92ZSwgdGhlIDpjb21tYW5kOmBidWlsZGAgY29tbWFuZCBpcyByZXNwb25zaWJsZSBmb3IgcHV0dGluZyB0aGUKK2ZpbGVzIHRvIGluc3RhbGwgaW50byBhICpidWlsZCBkaXJlY3RvcnkqLiAgQnkgZGVmYXVsdCwgdGhpcyBpcyA6ZmlsZTpgYnVpbGRgCit1bmRlciB0aGUgZGlzdHJpYnV0aW9uIHJvb3Q7IGlmIHlvdSdyZSBleGNlc3NpdmVseSBjb25jZXJuZWQgd2l0aCBzcGVlZCwgb3Igd2FudAordG8ga2VlcCB0aGUgc291cmNlIHRyZWUgcHJpc3RpbmUsIHlvdSBjYW4gY2hhbmdlIHRoZSBidWlsZCBkaXJlY3Rvcnkgd2l0aCB0aGUKKzpvcHRpb246YC0tYnVpbGQtYmFzZWAgb3B0aW9uLiBGb3IgZXhhbXBsZTo6CisKKyAgIHB5dGhvbiBzZXR1cC5weSBidWlsZCAtLWJ1aWxkLWJhc2U9L3RtcC9weWJ1aWxkL2Zvby0xLjAKKworKE9yIHlvdSBjb3VsZCBkbyB0aGlzIHBlcm1hbmVudGx5IHdpdGggYSBkaXJlY3RpdmUgaW4geW91ciBzeXN0ZW0gb3IgcGVyc29uYWwKK0Rpc3R1dGlscyBjb25maWd1cmF0aW9uIGZpbGU7IHNlZSBzZWN0aW9uIDpyZWY6YGluc3QtY29uZmlnLWZpbGVzYC4pICBOb3JtYWxseSwgdGhpcworaXNuJ3QgbmVjZXNzYXJ5LgorCitUaGUgZGVmYXVsdCBsYXlvdXQgZm9yIHRoZSBidWlsZCB0cmVlIGlzIGFzIGZvbGxvd3M6OgorCisgICAtLS0gYnVpbGQvIC0tLSBsaWIvCisgICBvcgorICAgLS0tIGJ1aWxkLyAtLS0gbGliLjxwbGF0Pi8KKyAgICAgICAgICAgICAgICAgIHRlbXAuPHBsYXQ+LworCit3aGVyZSBgYDxwbGF0PmBgIGV4cGFuZHMgdG8gYSBicmllZiBkZXNjcmlwdGlvbiBvZiB0aGUgY3VycmVudCBPUy9oYXJkd2FyZQorcGxhdGZvcm0gYW5kIFB5dGhvbiB2ZXJzaW9uLiAgVGhlIGZpcnN0IGZvcm0sIHdpdGgganVzdCBhIDpmaWxlOmBsaWJgIGRpcmVjdG9yeSwKK2lzIHVzZWQgZm9yICJwdXJlIG1vZHVsZSBkaXN0cmlidXRpb25zIi0tLXRoYXQgaXMsIG1vZHVsZSBkaXN0cmlidXRpb25zIHRoYXQKK2luY2x1ZGUgb25seSBwdXJlIFB5dGhvbiBtb2R1bGVzLiAgSWYgYSBtb2R1bGUgZGlzdHJpYnV0aW9uIGNvbnRhaW5zIGFueQorZXh0ZW5zaW9ucyAobW9kdWxlcyB3cml0dGVuIGluIEMvQysrKSwgdGhlbiB0aGUgc2Vjb25kIGZvcm0sIHdpdGggdHdvIGBgPHBsYXQ+YGAKK2RpcmVjdG9yaWVzLCBpcyB1c2VkLiAgSW4gdGhhdCBjYXNlLCB0aGUgOmZpbGU6YHRlbXAue3BsYXR9YCBkaXJlY3RvcnkgaG9sZHMKK3RlbXBvcmFyeSBmaWxlcyBnZW5lcmF0ZWQgYnkgdGhlIGNvbXBpbGUvbGluayBwcm9jZXNzIHRoYXQgZG9uJ3QgYWN0dWFsbHkgZ2V0CitpbnN0YWxsZWQuICBJbiBlaXRoZXIgY2FzZSwgdGhlIDpmaWxlOmBsaWJgIChvciA6ZmlsZTpgbGliLntwbGF0fWApIGRpcmVjdG9yeQorY29udGFpbnMgYWxsIFB5dGhvbiBtb2R1bGVzIChwdXJlIFB5dGhvbiBhbmQgZXh0ZW5zaW9ucykgdGhhdCB3aWxsIGJlIGluc3RhbGxlZC4KKworSW4gdGhlIGZ1dHVyZSwgbW9yZSBkaXJlY3RvcmllcyB3aWxsIGJlIGFkZGVkIHRvIGhhbmRsZSBQeXRob24gc2NyaXB0cywKK2RvY3VtZW50YXRpb24sIGJpbmFyeSBleGVjdXRhYmxlcywgYW5kIHdoYXRldmVyIGVsc2UgaXMgbmVlZGVkIHRvIGhhbmRsZSB0aGUgam9iCitvZiBpbnN0YWxsaW5nIFB5dGhvbiBtb2R1bGVzIGFuZCBhcHBsaWNhdGlvbnMuCisKKworLi4gX2luc3QtaG93LWluc3RhbGwtd29ya3M6CisKK0hvdyBpbnN0YWxsYXRpb24gd29ya3MKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworQWZ0ZXIgdGhlIDpjb21tYW5kOmBidWlsZGAgY29tbWFuZCBydW5zICh3aGV0aGVyIHlvdSBydW4gaXQgZXhwbGljaXRseSwgb3IgdGhlCis6Y29tbWFuZDpgaW5zdGFsbGAgY29tbWFuZCBkb2VzIGl0IGZvciB5b3UpLCB0aGUgd29yayBvZiB0aGUgOmNvbW1hbmQ6YGluc3RhbGxgCitjb21tYW5kIGlzIHJlbGF0aXZlbHkgc2ltcGxlOiBhbGwgaXQgaGFzIHRvIGRvIGlzIGNvcHkgZXZlcnl0aGluZyB1bmRlcgorOmZpbGU6YGJ1aWxkL2xpYmAgKG9yIDpmaWxlOmBidWlsZC9saWIue3BsYXR9YCkgdG8geW91ciBjaG9zZW4gaW5zdGFsbGF0aW9uCitkaXJlY3RvcnkuCisKK0lmIHlvdSBkb24ndCBjaG9vc2UgYW4gaW5zdGFsbGF0aW9uIGRpcmVjdG9yeS0tLWkuZS4sIGlmIHlvdSBqdXN0IHJ1biBgYHNldHVwLnB5CitpbnN0YWxsYGBcIC0tLXRoZW4gdGhlIDpjb21tYW5kOmBpbnN0YWxsYCBjb21tYW5kIGluc3RhbGxzIHRvIHRoZSBzdGFuZGFyZAorbG9jYXRpb24gZm9yIHRoaXJkLXBhcnR5IFB5dGhvbiBtb2R1bGVzLiAgVGhpcyBsb2NhdGlvbiB2YXJpZXMgYnkgcGxhdGZvcm0gYW5kCitieSBob3cgeW91IGJ1aWx0L2luc3RhbGxlZCBQeXRob24gaXRzZWxmLiAgT24gVW5peCAoYW5kIE1hYyBPUyBYLCB3aGljaCBpcyBhbHNvCitVbml4LWJhc2VkKSwgaXQgYWxzbyBkZXBlbmRzIG9uIHdoZXRoZXIgdGhlIG1vZHVsZSBkaXN0cmlidXRpb24gYmVpbmcgaW5zdGFsbGVkCitpcyBwdXJlIFB5dGhvbiBvciBjb250YWlucyBleHRlbnNpb25zICgibm9uLXB1cmUiKToKKworKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0rCit8IFBsYXRmb3JtICAgICAgICB8IFN0YW5kYXJkIGluc3RhbGxhdGlvbiBsb2NhdGlvbiAgICAgICAgICAgICAgICAgICAgICB8IERlZmF1bHQgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IE5vdGVzIHwKKys9PT09PT09PT09PT09PT09PSs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSs9PT09PT09KworfCBVbml4IChwdXJlKSAgICAgfCA6ZmlsZTpge3ByZWZpeH0vbGliL3B5dGhvbntYLll9L3NpdGUtcGFja2FnZXNgICAgICAgfCA6ZmlsZTpgL3Vzci9sb2NhbC9saWIvcHl0aG9ue1guWX0vc2l0ZS1wYWNrYWdlc2AgfCBcKDEpICB8CisrLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLSsKK3wgVW5peCAobm9uLXB1cmUpIHwgOmZpbGU6YHtleGVjLXByZWZpeH0vbGliL3B5dGhvbntYLll9L3NpdGUtcGFja2FnZXNgIHwgOmZpbGU6YC91c3IvbG9jYWwvbGliL3B5dGhvbntYLll9L3NpdGUtcGFja2FnZXNgIHwgXCgxKSAgfAorKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0rCit8IFdpbmRvd3MgICAgICAgICB8IDpmaWxlOmB7cHJlZml4fVxcTGliXFxzaXRlLXBhY2thZ2VzYCAgICAgICAgICAgICAgICB8IDpmaWxlOmBDOlxcUHl0aG9ue1hZfVxcTGliXFxzaXRlLXBhY2thZ2VzYCAgICAgICB8IFwoMikgIHwKKystLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tKworCitOb3RlczoKKworKDEpCisgICBNb3N0IExpbnV4IGRpc3RyaWJ1dGlvbnMgaW5jbHVkZSBQeXRob24gYXMgYSBzdGFuZGFyZCBwYXJ0IG9mIHRoZSBzeXN0ZW0sIHNvCisgICA6ZmlsZTpge3ByZWZpeH1gIGFuZCA6ZmlsZTpge2V4ZWMtcHJlZml4fWAgYXJlIHVzdWFsbHkgYm90aCA6ZmlsZTpgL3VzcmAgb24KKyAgIExpbnV4LiAgSWYgeW91IGJ1aWxkIFB5dGhvbiB5b3Vyc2VsZiBvbiBMaW51eCAob3IgYW55IFVuaXgtbGlrZSBzeXN0ZW0pLCB0aGUKKyAgIGRlZmF1bHQgOmZpbGU6YHtwcmVmaXh9YCBhbmQgOmZpbGU6YHtleGVjLXByZWZpeH1gIGFyZSA6ZmlsZTpgL3Vzci9sb2NhbGAuCisKKygyKQorICAgVGhlIGRlZmF1bHQgaW5zdGFsbGF0aW9uIGRpcmVjdG9yeSBvbiBXaW5kb3dzIHdhcyA6ZmlsZTpgQzpcXFByb2dyYW0KKyAgIEZpbGVzXFxQeXRob25gIHVuZGVyIFB5dGhvbiAxLjZhMSwgMS41LjIsIGFuZCBlYXJsaWVyLgorCis6ZmlsZTpge3ByZWZpeH1gIGFuZCA6ZmlsZTpge2V4ZWMtcHJlZml4fWAgc3RhbmQgZm9yIHRoZSBkaXJlY3RvcmllcyB0aGF0IFB5dGhvbgoraXMgaW5zdGFsbGVkIHRvLCBhbmQgd2hlcmUgaXQgZmluZHMgaXRzIGxpYnJhcmllcyBhdCBydW4tdGltZS4gIFRoZXkgYXJlIGFsd2F5cwordGhlIHNhbWUgdW5kZXIgV2luZG93cywgYW5kIHZlcnkgb2Z0ZW4gdGhlIHNhbWUgdW5kZXIgVW5peCBhbmQgTWFjIE9TIFguICBZb3UKK2NhbiBmaW5kIG91dCB3aGF0IHlvdXIgUHl0aG9uIGluc3RhbGxhdGlvbiB1c2VzIGZvciA6ZmlsZTpge3ByZWZpeH1gIGFuZAorOmZpbGU6YHtleGVjLXByZWZpeH1gIGJ5IHJ1bm5pbmcgUHl0aG9uIGluIGludGVyYWN0aXZlIG1vZGUgYW5kIHR5cGluZyBhIGZldworc2ltcGxlIGNvbW1hbmRzLiBVbmRlciBVbml4LCBqdXN0IHR5cGUgYGBweXRob25gYCBhdCB0aGUgc2hlbGwgcHJvbXB0LiAgVW5kZXIKK1dpbmRvd3MsIGNob29zZSA6bWVudXNlbGVjdGlvbjpgU3RhcnQgLS0+IFByb2dyYW1zIC0tPiBQeXRob24gWC5ZIC0tPgorUHl0aG9uIChjb21tYW5kIGxpbmUpYC4gICBPbmNlIHRoZSBpbnRlcnByZXRlciBpcyBzdGFydGVkLCB5b3UgdHlwZSBQeXRob24gY29kZQorYXQgdGhlIHByb21wdC4gIEZvciBleGFtcGxlLCBvbiBteSBMaW51eCBzeXN0ZW0sIEkgdHlwZSB0aGUgdGhyZWUgUHl0aG9uCitzdGF0ZW1lbnRzIHNob3duIGJlbG93LCBhbmQgZ2V0IHRoZSBvdXRwdXQgYXMgc2hvd24sIHRvIGZpbmQgb3V0IG15Cis6ZmlsZTpge3ByZWZpeH1gIGFuZCA6ZmlsZTpge2V4ZWMtcHJlZml4fWA6OgorCisgICBQeXRob24gMi40ICgjMjYsIEF1ZyAgNyAyMDA0LCAxNzoxOTowMikKKyAgIFR5cGUgImhlbHAiLCAiY29weXJpZ2h0IiwgImNyZWRpdHMiIG9yICJsaWNlbnNlIiBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KKyAgID4+PiBpbXBvcnQgc3lzCisgICA+Pj4gc3lzLnByZWZpeAorICAgJy91c3InCisgICA+Pj4gc3lzLmV4ZWNfcHJlZml4CisgICAnL3VzcicKKworQSBmZXcgb3RoZXIgcGxhY2Vob2xkZXJzIGFyZSB1c2VkIGluIHRoaXMgZG9jdW1lbnQ6IDpmaWxlOmB7WC5ZfWAgc3RhbmRzIGZvciB0aGUKK3ZlcnNpb24gb2YgUHl0aG9uLCBmb3IgZXhhbXBsZSBgYDMuMmBgOyA6ZmlsZTpge2FiaWZsYWdzfWAgd2lsbCBiZSByZXBsYWNlZCBieQordGhlIHZhbHVlIG9mIDpkYXRhOmBzeXMuYWJpZmxhZ3NgIG9yIHRoZSBlbXB0eSBzdHJpbmcgZm9yIHBsYXRmb3JtcyB3aGljaCBkb24ndAorZGVmaW5lIEFCSSBmbGFnczsgOmZpbGU6YHtkaXN0bmFtZX1gIHdpbGwgYmUgcmVwbGFjZWQgYnkgdGhlIG5hbWUgb2YgdGhlIG1vZHVsZQorZGlzdHJpYnV0aW9uIGJlaW5nIGluc3RhbGxlZC4gIERvdHMgYW5kIGNhcGl0YWxpemF0aW9uIGFyZSBpbXBvcnRhbnQgaW4gdGhlCitwYXRoczsgZm9yIGV4YW1wbGUsIGEgdmFsdWUgdGhhdCB1c2VzIGBgcHl0aG9uMy4yYGAgb24gVU5JWCB3aWxsIHR5cGljYWxseSB1c2UKK2BgUHl0aG9uMzJgYCBvbiBXaW5kb3dzLgorCitJZiB5b3UgZG9uJ3Qgd2FudCB0byBpbnN0YWxsIG1vZHVsZXMgdG8gdGhlIHN0YW5kYXJkIGxvY2F0aW9uLCBvciBpZiB5b3UgZG9uJ3QKK2hhdmUgcGVybWlzc2lvbiB0byB3cml0ZSB0aGVyZSwgdGhlbiB5b3UgbmVlZCB0byByZWFkIGFib3V0IGFsdGVybmF0ZQoraW5zdGFsbGF0aW9ucyBpbiBzZWN0aW9uIDpyZWY6YGluc3QtYWx0LWluc3RhbGxgLiAgSWYgeW91IHdhbnQgdG8gY3VzdG9taXplIHlvdXIKK2luc3RhbGxhdGlvbiBkaXJlY3RvcmllcyBtb3JlIGhlYXZpbHksIHNlZSBzZWN0aW9uIDpyZWY6YGluc3QtY3VzdG9tLWluc3RhbGxgIG9uCitjdXN0b20gaW5zdGFsbGF0aW9ucy4KKworCisuLiBfaW5zdC1hbHQtaW5zdGFsbDoKKworQWx0ZXJuYXRlIEluc3RhbGxhdGlvbgorPT09PT09PT09PT09PT09PT09PT09PQorCitPZnRlbiwgaXQgaXMgbmVjZXNzYXJ5IG9yIGRlc2lyYWJsZSB0byBpbnN0YWxsIG1vZHVsZXMgdG8gYSBsb2NhdGlvbiBvdGhlciB0aGFuCit0aGUgc3RhbmRhcmQgbG9jYXRpb24gZm9yIHRoaXJkLXBhcnR5IFB5dGhvbiBtb2R1bGVzLiAgRm9yIGV4YW1wbGUsIG9uIGEgVW5peAorc3lzdGVtIHlvdSBtaWdodCBub3QgaGF2ZSBwZXJtaXNzaW9uIHRvIHdyaXRlIHRvIHRoZSBzdGFuZGFyZCB0aGlyZC1wYXJ0eSBtb2R1bGUKK2RpcmVjdG9yeS4gIE9yIHlvdSBtaWdodCB3aXNoIHRvIHRyeSBvdXQgYSBtb2R1bGUgYmVmb3JlIG1ha2luZyBpdCBhIHN0YW5kYXJkCitwYXJ0IG9mIHlvdXIgbG9jYWwgUHl0aG9uIGluc3RhbGxhdGlvbi4gIFRoaXMgaXMgZXNwZWNpYWxseSB0cnVlIHdoZW4gdXBncmFkaW5nCithIGRpc3RyaWJ1dGlvbiBhbHJlYWR5IHByZXNlbnQ6IHlvdSB3YW50IHRvIG1ha2Ugc3VyZSB5b3VyIGV4aXN0aW5nIGJhc2Ugb2YKK3NjcmlwdHMgc3RpbGwgd29ya3Mgd2l0aCB0aGUgbmV3IHZlcnNpb24gYmVmb3JlIGFjdHVhbGx5IHVwZ3JhZGluZy4KKworVGhlIERpc3R1dGlscyA6Y29tbWFuZDpgaW5zdGFsbGAgY29tbWFuZCBpcyBkZXNpZ25lZCB0byBtYWtlIGluc3RhbGxpbmcgbW9kdWxlCitkaXN0cmlidXRpb25zIHRvIGFuIGFsdGVybmF0ZSBsb2NhdGlvbiBzaW1wbGUgYW5kIHBhaW5sZXNzLiAgVGhlIGJhc2ljIGlkZWEgaXMKK3RoYXQgeW91IHN1cHBseSBhIGJhc2UgZGlyZWN0b3J5IGZvciB0aGUgaW5zdGFsbGF0aW9uLCBhbmQgdGhlCis6Y29tbWFuZDpgaW5zdGFsbGAgY29tbWFuZCBwaWNrcyBhIHNldCBvZiBkaXJlY3RvcmllcyAoY2FsbGVkIGFuICppbnN0YWxsYXRpb24KK3NjaGVtZSopIHVuZGVyIHRoaXMgYmFzZSBkaXJlY3RvcnkgaW4gd2hpY2ggdG8gaW5zdGFsbCBmaWxlcy4gIFRoZSBkZXRhaWxzCitkaWZmZXIgYWNyb3NzIHBsYXRmb3Jtcywgc28gcmVhZCB3aGljaGV2ZXIgb2YgdGhlIGZvbGxvd2luZyBzZWN0aW9ucyBhcHBsaWVzIHRvCit5b3UuCisKK05vdGUgdGhhdCB0aGUgdmFyaW91cyBhbHRlcm5hdGUgaW5zdGFsbGF0aW9uIHNjaGVtZXMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZTogeW91CitjYW4gcGFzcyBgYC0tdXNlcmBgLCBvciBgYC0taG9tZWBgLCBvciBgYC0tcHJlZml4YGAgYW5kIGBgLS1leGVjLXByZWZpeGBgLCBvcgorYGAtLWluc3RhbGwtYmFzZWBgIGFuZCBgYC0taW5zdGFsbC1wbGF0YmFzZWBgLCBidXQgeW91IGNhbid0IG1peCBmcm9tIHRoZXNlCitncm91cHMuCisKKworLi4gX2luc3QtYWx0LWluc3RhbGwtdXNlcjoKKworQWx0ZXJuYXRlIGluc3RhbGxhdGlvbjogdGhlIHVzZXIgc2NoZW1lCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworVGhpcyBzY2hlbWUgaXMgZGVzaWduZWQgdG8gYmUgdGhlIG1vc3QgY29udmVuaWVudCBzb2x1dGlvbiBmb3IgdXNlcnMgdGhhdCBkb24ndAoraGF2ZSB3cml0ZSBwZXJtaXNzaW9uIHRvIHRoZSBnbG9iYWwgc2l0ZS1wYWNrYWdlcyBkaXJlY3Rvcnkgb3IgZG9uJ3Qgd2FudCB0bworaW5zdGFsbCBpbnRvIGl0LiAgSXQgaXMgZW5hYmxlZCB3aXRoIGEgc2ltcGxlIG9wdGlvbjo6CisKKyAgIHB5dGhvbiBzZXR1cC5weSBpbnN0YWxsIC0tdXNlcgorCitGaWxlcyB3aWxsIGJlIGluc3RhbGxlZCBpbnRvIHN1YmRpcmVjdG9yaWVzIG9mIDpkYXRhOmBzaXRlLlVTRVJfQkFTRWAgKHdyaXR0ZW4KK2FzIDpmaWxlOmB7dXNlcmJhc2V9YCBoZXJlYWZ0ZXIpLiAgVGhpcyBzY2hlbWUgaW5zdGFsbHMgcHVyZSBQeXRob24gbW9kdWxlcyBhbmQKK2V4dGVuc2lvbiBtb2R1bGVzIGluIHRoZSBzYW1lIGxvY2F0aW9uIChhbHNvIGtub3duIGFzIDpkYXRhOmBzaXRlLlVTRVJfU0lURWApLgorSGVyZSBhcmUgdGhlIHZhbHVlcyBmb3IgVU5JWCwgaW5jbHVkaW5nIE1hYyBPUyBYOgorCis9PT09PT09PT09PT09PT0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KK1R5cGUgb2YgZmlsZSAgICBJbnN0YWxsYXRpb24gZGlyZWN0b3J5Cis9PT09PT09PT09PT09PT0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KK21vZHVsZXMgICAgICAgICA6ZmlsZTpge3VzZXJiYXNlfS9saWIvcHl0aG9ue1guWX0vc2l0ZS1wYWNrYWdlc2AKK3NjcmlwdHMgICAgICAgICA6ZmlsZTpge3VzZXJiYXNlfS9iaW5gCitkYXRhICAgICAgICAgICAgOmZpbGU6YHt1c2VyYmFzZX1gCitDIGhlYWRlcnMgICAgICAgOmZpbGU6YHt1c2VyYmFzZX0vaW5jbHVkZS9weXRob257WC5ZfXthYmlmbGFnc30ve2Rpc3RuYW1lfWAKKz09PT09PT09PT09PT09PSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCitBbmQgaGVyZSBhcmUgdGhlIHZhbHVlcyB1c2VkIG9uIFdpbmRvd3M6CisKKz09PT09PT09PT09PT09PSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorVHlwZSBvZiBmaWxlICAgIEluc3RhbGxhdGlvbiBkaXJlY3RvcnkKKz09PT09PT09PT09PT09PSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorbW9kdWxlcyAgICAgICAgIDpmaWxlOmB7dXNlcmJhc2V9XFxQeXRob257WFl9XFxzaXRlLXBhY2thZ2VzYAorc2NyaXB0cyAgICAgICAgIDpmaWxlOmB7dXNlcmJhc2V9XFxTY3JpcHRzYAorZGF0YSAgICAgICAgICAgIDpmaWxlOmB7dXNlcmJhc2V9YAorQyBoZWFkZXJzICAgICAgIDpmaWxlOmB7dXNlcmJhc2V9XFxQeXRob257WFl9XFxJbmNsdWRlXFx7ZGlzdG5hbWV9YAorPT09PT09PT09PT09PT09ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKK1RoZSBhZHZhbnRhZ2Ugb2YgdXNpbmcgdGhpcyBzY2hlbWUgY29tcGFyZWQgdG8gdGhlIG90aGVyIG9uZXMgZGVzY3JpYmVkIGJlbG93IGlzCit0aGF0IHRoZSB1c2VyIHNpdGUtcGFja2FnZXMgZGlyZWN0b3J5IGlzIHVuZGVyIG5vcm1hbCBjb25kaXRpb25zIGFsd2F5cyBpbmNsdWRlZAoraW4gOmRhdGE6YHN5cy5wYXRoYCAoc2VlIDptb2Q6YHNpdGVgIGZvciBtb3JlIGluZm9ybWF0aW9uKSwgd2hpY2ggbWVhbnMgdGhhdAordGhlcmUgaXMgbm8gYWRkaXRpb25hbCBzdGVwIHRvIHBlcmZvcm0gYWZ0ZXIgcnVubmluZyB0aGUgOmZpbGU6YHNldHVwLnB5YCBzY3JpcHQKK3RvIGZpbmFsaXplIHRoZSBpbnN0YWxsYXRpb24uCisKK1RoZSA6Y29tbWFuZDpgYnVpbGRfZXh0YCBjb21tYW5kIGFsc28gaGFzIGEgYGAtLXVzZXJgYCBvcHRpb24gdG8gYWRkCis6ZmlsZTpge3VzZXJiYXNlfS9pbmNsdWRlYCB0byB0aGUgY29tcGlsZXIgc2VhcmNoIHBhdGggZm9yIGhlYWRlciBmaWxlcyBhbmQKKzpmaWxlOmB7dXNlcmJhc2V9L2xpYmAgdG8gdGhlIGNvbXBpbGVyIHNlYXJjaCBwYXRoIGZvciBsaWJyYXJpZXMgYXMgd2VsbCBhcyB0bwordGhlIHJ1bnRpbWUgc2VhcmNoIHBhdGggZm9yIHNoYXJlZCBDIGxpYnJhcmllcyAocnBhdGgpLgorCisKKy4uIF9pbnN0LWFsdC1pbnN0YWxsLWhvbWU6CisKK0FsdGVybmF0ZSBpbnN0YWxsYXRpb246IHRoZSBob21lIHNjaGVtZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK1RoZSBpZGVhIGJlaGluZCB0aGUgImhvbWUgc2NoZW1lIiBpcyB0aGF0IHlvdSBidWlsZCBhbmQgbWFpbnRhaW4gYSBwZXJzb25hbAorc3Rhc2ggb2YgUHl0aG9uIG1vZHVsZXMuICBUaGlzIHNjaGVtZSdzIG5hbWUgaXMgZGVyaXZlZCBmcm9tIHRoZSBpZGVhIG9mIGEKKyJob21lIiBkaXJlY3Rvcnkgb24gVW5peCwgc2luY2UgaXQncyBub3QgdW51c3VhbCBmb3IgYSBVbml4IHVzZXIgdG8gbWFrZSB0aGVpcgoraG9tZSBkaXJlY3RvcnkgaGF2ZSBhIGxheW91dCBzaW1pbGFyIHRvIDpmaWxlOmAvdXNyL2Agb3IgOmZpbGU6YC91c3IvbG9jYWwvYC4KK1RoaXMgc2NoZW1lIGNhbiBiZSB1c2VkIGJ5IGFueW9uZSwgcmVnYXJkbGVzcyBvZiB0aGUgb3BlcmF0aW5nIHN5c3RlbSB0aGV5CithcmUgaW5zdGFsbGluZyBmb3IuCisKK0luc3RhbGxpbmcgYSBuZXcgbW9kdWxlIGRpc3RyaWJ1dGlvbiBpcyBhcyBzaW1wbGUgYXMgOjoKKworICAgcHl0aG9uIHNldHVwLnB5IGluc3RhbGwgLS1ob21lPTxkaXI+CisKK3doZXJlIHlvdSBjYW4gc3VwcGx5IGFueSBkaXJlY3RvcnkgeW91IGxpa2UgZm9yIHRoZSA6b3B0aW9uOmAtLWhvbWVgIG9wdGlvbi4gIE9uCitVbml4LCBsYXp5IHR5cGlzdHMgY2FuIGp1c3QgdHlwZSBhIHRpbGRlIChgYH5gYCk7IHRoZSA6Y29tbWFuZDpgaW5zdGFsbGAgY29tbWFuZAord2lsbCBleHBhbmQgdGhpcyB0byB5b3VyIGhvbWUgZGlyZWN0b3J5OjoKKworICAgcHl0aG9uIHNldHVwLnB5IGluc3RhbGwgLS1ob21lPX4KKworVG8gbWFrZSBQeXRob24gZmluZCB0aGUgZGlzdHJpYnV0aW9ucyBpbnN0YWxsZWQgd2l0aCB0aGlzIHNjaGVtZSwgeW91IG1heSBoYXZlCit0byA6cmVmOmBtb2RpZnkgUHl0aG9uJ3Mgc2VhcmNoIHBhdGggPGluc3Qtc2VhcmNoLXBhdGg+YCBvciBlZGl0Cis6bW9kOmBzaXRlY3VzdG9taXplYCAoc2VlIDptb2Q6YHNpdGVgKSB0byBjYWxsIDpmdW5jOmBzaXRlLmFkZHNpdGVkaXJgIG9yIGVkaXQKKzpkYXRhOmBzeXMucGF0aGAuCisKK1RoZSA6b3B0aW9uOmAtLWhvbWVgIG9wdGlvbiBkZWZpbmVzIHRoZSBpbnN0YWxsYXRpb24gYmFzZSBkaXJlY3RvcnkuICBGaWxlcyBhcmUKK2luc3RhbGxlZCB0byB0aGUgZm9sbG93aW5nIGRpcmVjdG9yaWVzIHVuZGVyIHRoZSBpbnN0YWxsYXRpb24gYmFzZSBhcyBmb2xsb3dzOgorCis9PT09PT09PT09PT09PT0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KK1R5cGUgb2YgZmlsZSAgICBJbnN0YWxsYXRpb24gZGlyZWN0b3J5Cis9PT09PT09PT09PT09PT0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KK21vZHVsZXMgICAgICAgICA6ZmlsZTpge2hvbWV9L2xpYi9weXRob25gCitzY3JpcHRzICAgICAgICAgOmZpbGU6YHtob21lfS9iaW5gCitkYXRhICAgICAgICAgICAgOmZpbGU6YHtob21lfWAKK0MgaGVhZGVycyAgICAgICA6ZmlsZTpge2hvbWV9L2luY2x1ZGUvcHl0aG9uL3tkaXN0bmFtZX1gCis9PT09PT09PT09PT09PT0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworKE1lbnRhbGx5IHJlcGxhY2Ugc2xhc2hlcyB3aXRoIGJhY2tzbGFzaGVzIGlmIHlvdSdyZSBvbiBXaW5kb3dzLikKKworCisuLiBfaW5zdC1hbHQtaW5zdGFsbC1wcmVmaXgtdW5peDoKKworQWx0ZXJuYXRlIGluc3RhbGxhdGlvbjogVW5peCAodGhlIHByZWZpeCBzY2hlbWUpCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworVGhlICJwcmVmaXggc2NoZW1lIiBpcyB1c2VmdWwgd2hlbiB5b3Ugd2lzaCB0byB1c2Ugb25lIFB5dGhvbiBpbnN0YWxsYXRpb24gdG8KK3BlcmZvcm0gdGhlIGJ1aWxkL2luc3RhbGwgKGkuZS4sIHRvIHJ1biB0aGUgc2V0dXAgc2NyaXB0KSwgYnV0IGluc3RhbGwgbW9kdWxlcworaW50byB0aGUgdGhpcmQtcGFydHkgbW9kdWxlIGRpcmVjdG9yeSBvZiBhIGRpZmZlcmVudCBQeXRob24gaW5zdGFsbGF0aW9uIChvcgorc29tZXRoaW5nIHRoYXQgbG9va3MgbGlrZSBhIGRpZmZlcmVudCBQeXRob24gaW5zdGFsbGF0aW9uKS4gIElmIHRoaXMgc291bmRzIGEKK3RyaWZsZSB1bnVzdWFsLCBpdCBpcy0tLXRoYXQncyB3aHkgdGhlIHVzZXIgYW5kIGhvbWUgc2NoZW1lcyBjb21lIGJlZm9yZS4gIEhvd2V2ZXIsCit0aGVyZSBhcmUgYXQgbGVhc3QgdHdvIGtub3duIGNhc2VzIHdoZXJlIHRoZSBwcmVmaXggc2NoZW1lIHdpbGwgYmUgdXNlZnVsLgorCitGaXJzdCwgY29uc2lkZXIgdGhhdCBtYW55IExpbnV4IGRpc3RyaWJ1dGlvbnMgcHV0IFB5dGhvbiBpbiA6ZmlsZTpgL3VzcmAsIHJhdGhlcgordGhhbiB0aGUgbW9yZSB0cmFkaXRpb25hbCA6ZmlsZTpgL3Vzci9sb2NhbGAuICBUaGlzIGlzIGVudGlyZWx5IGFwcHJvcHJpYXRlLAorc2luY2UgaW4gdGhvc2UgY2FzZXMgUHl0aG9uIGlzIHBhcnQgb2YgInRoZSBzeXN0ZW0iIHJhdGhlciB0aGFuIGEgbG9jYWwgYWRkLW9uLgorSG93ZXZlciwgaWYgeW91IGFyZSBpbnN0YWxsaW5nIFB5dGhvbiBtb2R1bGVzIGZyb20gc291cmNlLCB5b3UgcHJvYmFibHkgd2FudAordGhlbSB0byBnbyBpbiA6ZmlsZTpgL3Vzci9sb2NhbC9saWIvcHl0aG9uMi57WH1gIHJhdGhlciB0aGFuCis6ZmlsZTpgL3Vzci9saWIvcHl0aG9uMi57WH1gLiAgVGhpcyBjYW4gYmUgZG9uZSB3aXRoIDo6CisKKyAgIC91c3IvYmluL3B5dGhvbiBzZXR1cC5weSBpbnN0YWxsIC0tcHJlZml4PS91c3IvbG9jYWwKKworQW5vdGhlciBwb3NzaWJpbGl0eSBpcyBhIG5ldHdvcmsgZmlsZXN5c3RlbSB3aGVyZSB0aGUgbmFtZSB1c2VkIHRvIHdyaXRlIHRvIGEKK3JlbW90ZSBkaXJlY3RvcnkgaXMgZGlmZmVyZW50IGZyb20gdGhlIG5hbWUgdXNlZCB0byByZWFkIGl0OiBmb3IgZXhhbXBsZSwgdGhlCitQeXRob24gaW50ZXJwcmV0ZXIgYWNjZXNzZWQgYXMgOmZpbGU6YC91c3IvbG9jYWwvYmluL3B5dGhvbmAgbWlnaHQgc2VhcmNoIGZvcgorbW9kdWxlcyBpbiA6ZmlsZTpgL3Vzci9sb2NhbC9saWIvcHl0aG9uMi57WH1gLCBidXQgdGhvc2UgbW9kdWxlcyB3b3VsZCBoYXZlIHRvCitiZSBpbnN0YWxsZWQgdG8sIHNheSwgOmZpbGU6YC9tbnQve0BzZXJ2ZXJ9L2V4cG9ydC9saWIvcHl0aG9uMi57WH1gLiAgVGhpcyBjb3VsZAorYmUgZG9uZSB3aXRoIDo6CisKKyAgIC91c3IvbG9jYWwvYmluL3B5dGhvbiBzZXR1cC5weSBpbnN0YWxsIC0tcHJlZml4PS9tbnQvQHNlcnZlci9leHBvcnQKKworSW4gZWl0aGVyIGNhc2UsIHRoZSA6b3B0aW9uOmAtLXByZWZpeGAgb3B0aW9uIGRlZmluZXMgdGhlIGluc3RhbGxhdGlvbiBiYXNlLCBhbmQKK3RoZSA6b3B0aW9uOmAtLWV4ZWMtcHJlZml4YCBvcHRpb24gZGVmaW5lcyB0aGUgcGxhdGZvcm0tc3BlY2lmaWMgaW5zdGFsbGF0aW9uCitiYXNlLCB3aGljaCBpcyB1c2VkIGZvciBwbGF0Zm9ybS1zcGVjaWZpYyBmaWxlcy4gIChDdXJyZW50bHksIHRoaXMganVzdCBtZWFucworbm9uLXB1cmUgbW9kdWxlIGRpc3RyaWJ1dGlvbnMsIGJ1dCBjb3VsZCBiZSBleHBhbmRlZCB0byBDIGxpYnJhcmllcywgYmluYXJ5CitleGVjdXRhYmxlcywgZXRjLikgIElmIDpvcHRpb246YC0tZXhlYy1wcmVmaXhgIGlzIG5vdCBzdXBwbGllZCwgaXQgZGVmYXVsdHMgdG8KKzpvcHRpb246YC0tcHJlZml4YC4gIEZpbGVzIGFyZSBpbnN0YWxsZWQgYXMgZm9sbG93czoKKworPT09PT09PT09PT09PT09PT0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorVHlwZSBvZiBmaWxlICAgICAgSW5zdGFsbGF0aW9uIGRpcmVjdG9yeQorPT09PT09PT09PT09PT09PT0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorUHl0aG9uIG1vZHVsZXMgICAgOmZpbGU6YHtwcmVmaXh9L2xpYi9weXRob257WC5ZfS9zaXRlLXBhY2thZ2VzYAorZXh0ZW5zaW9uIG1vZHVsZXMgOmZpbGU6YHtleGVjLXByZWZpeH0vbGliL3B5dGhvbntYLll9L3NpdGUtcGFja2FnZXNgCitzY3JpcHRzICAgICAgICAgICA6ZmlsZTpge3ByZWZpeH0vYmluYAorZGF0YSAgICAgICAgICAgICAgOmZpbGU6YHtwcmVmaXh9YAorQyBoZWFkZXJzICAgICAgICAgOmZpbGU6YHtwcmVmaXh9L2luY2x1ZGUvcHl0aG9ue1guWX17YWJpZmxhZ3N9L3tkaXN0bmFtZX1gCis9PT09PT09PT09PT09PT09PSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKK1RoZXJlIGlzIG5vIHJlcXVpcmVtZW50IHRoYXQgOm9wdGlvbjpgLS1wcmVmaXhgIG9yIDpvcHRpb246YC0tZXhlYy1wcmVmaXhgCithY3R1YWxseSBwb2ludCB0byBhbiBhbHRlcm5hdGUgUHl0aG9uIGluc3RhbGxhdGlvbjsgaWYgdGhlIGRpcmVjdG9yaWVzIGxpc3RlZAorYWJvdmUgZG8gbm90IGFscmVhZHkgZXhpc3QsIHRoZXkgYXJlIGNyZWF0ZWQgYXQgaW5zdGFsbGF0aW9uIHRpbWUuCisKK0luY2lkZW50YWxseSwgdGhlIHJlYWwgcmVhc29uIHRoZSBwcmVmaXggc2NoZW1lIGlzIGltcG9ydGFudCBpcyBzaW1wbHkgdGhhdCBhCitzdGFuZGFyZCBVbml4IGluc3RhbGxhdGlvbiB1c2VzIHRoZSBwcmVmaXggc2NoZW1lLCBidXQgd2l0aCA6b3B0aW9uOmAtLXByZWZpeGAKK2FuZCA6b3B0aW9uOmAtLWV4ZWMtcHJlZml4YCBzdXBwbGllZCBieSBQeXRob24gaXRzZWxmIGFzIGBgc3lzLnByZWZpeGBgIGFuZAorYGBzeXMuZXhlY19wcmVmaXhgYC4gIFRodXMsIHlvdSBtaWdodCB0aGluayB5b3UnbGwgbmV2ZXIgdXNlIHRoZSBwcmVmaXggc2NoZW1lLAorYnV0IGV2ZXJ5IHRpbWUgeW91IHJ1biBgYHB5dGhvbiBzZXR1cC5weSBpbnN0YWxsYGAgd2l0aG91dCBhbnkgb3RoZXIgb3B0aW9ucywKK3lvdSdyZSB1c2luZyBpdC4KKworTm90ZSB0aGF0IGluc3RhbGxpbmcgZXh0ZW5zaW9ucyB0byBhbiBhbHRlcm5hdGUgUHl0aG9uIGluc3RhbGxhdGlvbiBoYXMgbm8KK2VmZmVjdCBvbiBob3cgdGhvc2UgZXh0ZW5zaW9ucyBhcmUgYnVpbHQ6IGluIHBhcnRpY3VsYXIsIHRoZSBQeXRob24gaGVhZGVyIGZpbGVzCisoOmZpbGU6YFB5dGhvbi5oYCBhbmQgZnJpZW5kcykgaW5zdGFsbGVkIHdpdGggdGhlIFB5dGhvbiBpbnRlcnByZXRlciB1c2VkIHRvIHJ1bgordGhlIHNldHVwIHNjcmlwdCB3aWxsIGJlIHVzZWQgaW4gY29tcGlsaW5nIGV4dGVuc2lvbnMuICBJdCBpcyB5b3VyCityZXNwb25zaWJpbGl0eSB0byBlbnN1cmUgdGhhdCB0aGUgaW50ZXJwcmV0ZXIgdXNlZCB0byBydW4gZXh0ZW5zaW9ucyBpbnN0YWxsZWQKK2luIHRoaXMgd2F5IGlzIGNvbXBhdGlibGUgd2l0aCB0aGUgaW50ZXJwcmV0ZXIgdXNlZCB0byBidWlsZCB0aGVtLiAgVGhlIGJlc3Qgd2F5Cit0byBkbyB0aGlzIGlzIHRvIGVuc3VyZSB0aGF0IHRoZSB0d28gaW50ZXJwcmV0ZXJzIGFyZSB0aGUgc2FtZSB2ZXJzaW9uIG9mIFB5dGhvbgorKHBvc3NpYmx5IGRpZmZlcmVudCBidWlsZHMsIG9yIHBvc3NpYmx5IGNvcGllcyBvZiB0aGUgc2FtZSBidWlsZCkuICAoT2YgY291cnNlLAoraWYgeW91ciA6b3B0aW9uOmAtLXByZWZpeGAgYW5kIDpvcHRpb246YC0tZXhlYy1wcmVmaXhgIGRvbid0IGV2ZW4gcG9pbnQgdG8gYW4KK2FsdGVybmF0ZSBQeXRob24gaW5zdGFsbGF0aW9uLCB0aGlzIGlzIGltbWF0ZXJpYWwuKQorCisKKy4uIF9pbnN0LWFsdC1pbnN0YWxsLXByZWZpeC13aW5kb3dzOgorCitBbHRlcm5hdGUgaW5zdGFsbGF0aW9uOiBXaW5kb3dzICh0aGUgcHJlZml4IHNjaGVtZSkKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitXaW5kb3dzIGhhcyBubyBjb25jZXB0IG9mIGEgdXNlcidzIGhvbWUgZGlyZWN0b3J5LCBhbmQgc2luY2UgdGhlIHN0YW5kYXJkIFB5dGhvbgoraW5zdGFsbGF0aW9uIHVuZGVyIFdpbmRvd3MgaXMgc2ltcGxlciB0aGFuIHVuZGVyIFVuaXgsIHRoZSA6b3B0aW9uOmAtLXByZWZpeGAKK29wdGlvbiBoYXMgdHJhZGl0aW9uYWxseSBiZWVuIHVzZWQgdG8gaW5zdGFsbCBhZGRpdGlvbmFsIHBhY2thZ2VzIGluIHNlcGFyYXRlCitsb2NhdGlvbnMgb24gV2luZG93cy4gOjoKKworICAgcHl0aG9uIHNldHVwLnB5IGluc3RhbGwgLS1wcmVmaXg9IlxUZW1wXFB5dGhvbiIKKwordG8gaW5zdGFsbCBtb2R1bGVzIHRvIHRoZSA6ZmlsZTpgXFxUZW1wXFxQeXRob25gIGRpcmVjdG9yeSBvbiB0aGUgY3VycmVudCBkcml2ZS4KKworVGhlIGluc3RhbGxhdGlvbiBiYXNlIGlzIGRlZmluZWQgYnkgdGhlIDpvcHRpb246YC0tcHJlZml4YCBvcHRpb247IHRoZQorOm9wdGlvbjpgLS1leGVjLXByZWZpeGAgb3B0aW9uIGlzIG5vdCBzdXBwb3J0ZWQgdW5kZXIgV2luZG93cywgd2hpY2ggbWVhbnMgdGhhdAorcHVyZSBQeXRob24gbW9kdWxlcyBhbmQgZXh0ZW5zaW9uIG1vZHVsZXMgYXJlIGluc3RhbGxlZCBpbnRvIHRoZSBzYW1lIGxvY2F0aW9uLgorRmlsZXMgYXJlIGluc3RhbGxlZCBhcyBmb2xsb3dzOgorCis9PT09PT09PT09PT09PT0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorVHlwZSBvZiBmaWxlICAgIEluc3RhbGxhdGlvbiBkaXJlY3RvcnkKKz09PT09PT09PT09PT09PSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cittb2R1bGVzICAgICAgICAgOmZpbGU6YHtwcmVmaXh9XFxMaWJcXHNpdGUtcGFja2FnZXNgCitzY3JpcHRzICAgICAgICAgOmZpbGU6YHtwcmVmaXh9XFxTY3JpcHRzYAorZGF0YSAgICAgICAgICAgIDpmaWxlOmB7cHJlZml4fWAKK0MgaGVhZGVycyAgICAgICA6ZmlsZTpge3ByZWZpeH1cXEluY2x1ZGVcXHtkaXN0bmFtZX1gCis9PT09PT09PT09PT09PT0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCisKKy4uIF9pbnN0LWN1c3RvbS1pbnN0YWxsOgorCitDdXN0b20gSW5zdGFsbGF0aW9uCis9PT09PT09PT09PT09PT09PT09CisKK1NvbWV0aW1lcywgdGhlIGFsdGVybmF0ZSBpbnN0YWxsYXRpb24gc2NoZW1lcyBkZXNjcmliZWQgaW4gc2VjdGlvbgorOnJlZjpgaW5zdC1hbHQtaW5zdGFsbGAganVzdCBkb24ndCBkbyB3aGF0IHlvdSB3YW50LiAgWW91IG1pZ2h0IHdhbnQgdG8gdHdlYWsganVzdAorb25lIG9yIHR3byBkaXJlY3RvcmllcyB3aGlsZSBrZWVwaW5nIGV2ZXJ5dGhpbmcgdW5kZXIgdGhlIHNhbWUgYmFzZSBkaXJlY3RvcnksCitvciB5b3UgbWlnaHQgd2FudCB0byBjb21wbGV0ZWx5IHJlZGVmaW5lIHRoZSBpbnN0YWxsYXRpb24gc2NoZW1lLiAgSW4gZWl0aGVyCitjYXNlLCB5b3UncmUgY3JlYXRpbmcgYSAqY3VzdG9tIGluc3RhbGxhdGlvbiBzY2hlbWUqLgorCitUbyBjcmVhdGUgYSBjdXN0b20gaW5zdGFsbGF0aW9uIHNjaGVtZSwgeW91IHN0YXJ0IHdpdGggb25lIG9mIHRoZSBhbHRlcm5hdGUKK3NjaGVtZXMgYW5kIG92ZXJyaWRlIHNvbWUgb2YgdGhlIGluc3RhbGxhdGlvbiBkaXJlY3RvcmllcyB1c2VkIGZvciB0aGUgdmFyaW91cwordHlwZXMgb2YgZmlsZXMsIHVzaW5nIHRoZXNlIG9wdGlvbnM6CisKKz09PT09PT09PT09PT09PT09PT09PT0gPT09PT09PT09PT09PT09PT09PT09PT0KK1R5cGUgb2YgZmlsZSAgICAgICAgICAgT3ZlcnJpZGUgb3B0aW9uCis9PT09PT09PT09PT09PT09PT09PT09ID09PT09PT09PT09PT09PT09PT09PT09CitQeXRob24gbW9kdWxlcyAgICAgICAgIGBgLS1pbnN0YWxsLXB1cmVsaWJgYAorZXh0ZW5zaW9uIG1vZHVsZXMgICAgICBgYC0taW5zdGFsbC1wbGF0bGliYGAKK2FsbCBtb2R1bGVzICAgICAgICAgICAgYGAtLWluc3RhbGwtbGliYGAKK3NjcmlwdHMgICAgICAgICAgICAgICAgYGAtLWluc3RhbGwtc2NyaXB0c2BgCitkYXRhICAgICAgICAgICAgICAgICAgIGBgLS1pbnN0YWxsLWRhdGFgYAorQyBoZWFkZXJzICAgICAgICAgICAgICBgYC0taW5zdGFsbC1oZWFkZXJzYGAKKz09PT09PT09PT09PT09PT09PT09PT0gPT09PT09PT09PT09PT09PT09PT09PT0KKworVGhlc2Ugb3ZlcnJpZGUgb3B0aW9ucyBjYW4gYmUgcmVsYXRpdmUsIGFic29sdXRlLAorb3IgZXhwbGljaXRseSBkZWZpbmVkIGluIHRlcm1zIG9mIG9uZSBvZiB0aGUgaW5zdGFsbGF0aW9uIGJhc2UgZGlyZWN0b3JpZXMuCisoVGhlcmUgYXJlIHR3byBpbnN0YWxsYXRpb24gYmFzZSBkaXJlY3RvcmllcywgYW5kIHRoZXkgYXJlIG5vcm1hbGx5IHRoZSBzYW1lLS0tCit0aGV5IG9ubHkgZGlmZmVyIHdoZW4geW91IHVzZSB0aGUgVW5peCAicHJlZml4IHNjaGVtZSIgYW5kIHN1cHBseSBkaWZmZXJlbnQKK2BgLS1wcmVmaXhgYCBhbmQgYGAtLWV4ZWMtcHJlZml4YGAgb3B0aW9uczsgdXNpbmcgYGAtLWluc3RhbGwtbGliYGAgd2lsbAorb3ZlcnJpZGUgdmFsdWVzIGNvbXB1dGVkIG9yIGdpdmVuIGZvciBgYC0taW5zdGFsbC1wdXJlbGliYGAgYW5kCitgYC0taW5zdGFsbC1wbGF0bGliYGAsIGFuZCBpcyByZWNvbW1lbmRlZCBmb3Igc2NoZW1lcyB0aGF0IGRvbid0IG1ha2UgYQorZGlmZmVyZW5jZSBiZXR3ZWVuIFB5dGhvbiBhbmQgZXh0ZW5zaW9uIG1vZHVsZXMuKQorCitGb3IgZXhhbXBsZSwgc2F5IHlvdSdyZSBpbnN0YWxsaW5nIGEgbW9kdWxlIGRpc3RyaWJ1dGlvbiB0byB5b3VyIGhvbWUgZGlyZWN0b3J5Cit1bmRlciBVbml4LS0tYnV0IHlvdSB3YW50IHNjcmlwdHMgdG8gZ28gaW4gOmZpbGU6YH4vc2NyaXB0c2AgcmF0aGVyIHRoYW4KKzpmaWxlOmB+L2JpbmAuIEFzIHlvdSBtaWdodCBleHBlY3QsIHlvdSBjYW4gb3ZlcnJpZGUgdGhpcyBkaXJlY3Rvcnkgd2l0aCB0aGUKKzpvcHRpb246YC0taW5zdGFsbC1zY3JpcHRzYCBvcHRpb247IGluIHRoaXMgY2FzZSwgaXQgbWFrZXMgbW9zdCBzZW5zZSB0byBzdXBwbHkKK2EgcmVsYXRpdmUgcGF0aCwgd2hpY2ggd2lsbCBiZSBpbnRlcnByZXRlZCByZWxhdGl2ZSB0byB0aGUgaW5zdGFsbGF0aW9uIGJhc2UKK2RpcmVjdG9yeSAoeW91ciBob21lIGRpcmVjdG9yeSwgaW4gdGhpcyBjYXNlKTo6CisKKyAgIHB5dGhvbiBzZXR1cC5weSBpbnN0YWxsIC0taG9tZT1+IC0taW5zdGFsbC1zY3JpcHRzPXNjcmlwdHMKKworQW5vdGhlciBVbml4IGV4YW1wbGU6IHN1cHBvc2UgeW91ciBQeXRob24gaW5zdGFsbGF0aW9uIHdhcyBidWlsdCBhbmQgaW5zdGFsbGVkCit3aXRoIGEgcHJlZml4IG9mIDpmaWxlOmAvdXNyL2xvY2FsL3B5dGhvbmAsIHNvIHVuZGVyIGEgc3RhbmRhcmQgIGluc3RhbGxhdGlvbgorc2NyaXB0cyB3aWxsIHdpbmQgdXAgaW4gOmZpbGU6YC91c3IvbG9jYWwvcHl0aG9uL2JpbmAuICBJZiB5b3Ugd2FudCB0aGVtIGluCis6ZmlsZTpgL3Vzci9sb2NhbC9iaW5gIGluc3RlYWQsIHlvdSB3b3VsZCBzdXBwbHkgdGhpcyBhYnNvbHV0ZSBkaXJlY3RvcnkgZm9yIHRoZQorOm9wdGlvbjpgLS1pbnN0YWxsLXNjcmlwdHNgIG9wdGlvbjo6CisKKyAgIHB5dGhvbiBzZXR1cC5weSBpbnN0YWxsIC0taW5zdGFsbC1zY3JpcHRzPS91c3IvbG9jYWwvYmluCisKKyhUaGlzIHBlcmZvcm1zIGFuIGluc3RhbGxhdGlvbiB1c2luZyB0aGUgInByZWZpeCBzY2hlbWUsIiB3aGVyZSB0aGUgcHJlZml4IGlzCit3aGF0ZXZlciB5b3VyIFB5dGhvbiBpbnRlcnByZXRlciB3YXMgaW5zdGFsbGVkIHdpdGgtLS0gOmZpbGU6YC91c3IvbG9jYWwvcHl0aG9uYAoraW4gdGhpcyBjYXNlLikKKworSWYgeW91IG1haW50YWluIFB5dGhvbiBvbiBXaW5kb3dzLCB5b3UgbWlnaHQgd2FudCB0aGlyZC1wYXJ0eSBtb2R1bGVzIHRvIGxpdmUgaW4KK2Egc3ViZGlyZWN0b3J5IG9mIDpmaWxlOmB7cHJlZml4fWAsIHJhdGhlciB0aGFuIHJpZ2h0IGluIDpmaWxlOmB7cHJlZml4fWAKK2l0c2VsZi4gIFRoaXMgaXMgYWxtb3N0IGFzIGVhc3kgYXMgY3VzdG9taXppbmcgdGhlIHNjcmlwdCBpbnN0YWxsYXRpb24gZGlyZWN0b3J5CistLS15b3UganVzdCBoYXZlIHRvIHJlbWVtYmVyIHRoYXQgdGhlcmUgYXJlIHR3byB0eXBlcyBvZiBtb2R1bGVzIHRvIHdvcnJ5IGFib3V0LAorUHl0aG9uIGFuZCBleHRlbnNpb24gbW9kdWxlcywgd2hpY2ggY2FuIGNvbnZlbmllbnRseSBiZSBib3RoIGNvbnRyb2xsZWQgYnkgb25lCitvcHRpb246OgorCisgICBweXRob24gc2V0dXAucHkgaW5zdGFsbCAtLWluc3RhbGwtbGliPVNpdGUKKworVGhlIHNwZWNpZmllZCBpbnN0YWxsYXRpb24gZGlyZWN0b3J5IGlzIHJlbGF0aXZlIHRvIDpmaWxlOmB7cHJlZml4fWAuICBPZgorY291cnNlLCB5b3UgYWxzbyBoYXZlIHRvIGVuc3VyZSB0aGF0IHRoaXMgZGlyZWN0b3J5IGlzIGluIFB5dGhvbidzIG1vZHVsZQorc2VhcmNoIHBhdGgsIHN1Y2ggYXMgYnkgcHV0dGluZyBhIDpmaWxlOmAucHRoYCBmaWxlIGluIGEgc2l0ZSBkaXJlY3RvcnkgKHNlZQorOm1vZDpgc2l0ZWApLiAgU2VlIHNlY3Rpb24gOnJlZjpgaW5zdC1zZWFyY2gtcGF0aGAgdG8gZmluZCBvdXQgaG93IHRvIG1vZGlmeQorUHl0aG9uJ3Mgc2VhcmNoIHBhdGguCisKK0lmIHlvdSB3YW50IHRvIGRlZmluZSBhbiBlbnRpcmUgaW5zdGFsbGF0aW9uIHNjaGVtZSwgeW91IGp1c3QgaGF2ZSB0byBzdXBwbHkgYWxsCitvZiB0aGUgaW5zdGFsbGF0aW9uIGRpcmVjdG9yeSBvcHRpb25zLiAgVGhlIHJlY29tbWVuZGVkIHdheSB0byBkbyB0aGlzIGlzIHRvCitzdXBwbHkgcmVsYXRpdmUgcGF0aHM7IGZvciBleGFtcGxlLCBpZiB5b3Ugd2FudCB0byBtYWludGFpbiBhbGwgUHl0aG9uCittb2R1bGUtcmVsYXRlZCBmaWxlcyB1bmRlciA6ZmlsZTpgcHl0aG9uYCBpbiB5b3VyIGhvbWUgZGlyZWN0b3J5LCBhbmQgeW91IHdhbnQgYQorc2VwYXJhdGUgZGlyZWN0b3J5IGZvciBlYWNoIHBsYXRmb3JtIHRoYXQgeW91IHVzZSB5b3VyIGhvbWUgZGlyZWN0b3J5IGZyb20sIHlvdQorbWlnaHQgZGVmaW5lIHRoZSBmb2xsb3dpbmcgaW5zdGFsbGF0aW9uIHNjaGVtZTo6CisKKyAgIHB5dGhvbiBzZXR1cC5weSBpbnN0YWxsIC0taG9tZT1+IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIC0taW5zdGFsbC1wdXJlbGliPXB5dGhvbi9saWIgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgLS1pbnN0YWxsLXBsYXRsaWI9cHl0aG9uL2xpYi4kUExBVCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAtLWluc3RhbGwtc2NyaXB0cz1weXRob24vc2NyaXB0cworICAgICAgICAgICAgICAgICAgICAgICAgICAgLS1pbnN0YWxsLWRhdGE9cHl0aG9uL2RhdGEKKworb3IsIGVxdWl2YWxlbnRseSwgOjoKKworICAgcHl0aG9uIHNldHVwLnB5IGluc3RhbGwgLS1ob21lPX4vcHl0aG9uIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIC0taW5zdGFsbC1wdXJlbGliPWxpYiBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAtLWluc3RhbGwtcGxhdGxpYj0nbGliLiRQTEFUJyBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAtLWluc3RhbGwtc2NyaXB0cz1zY3JpcHRzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAtLWluc3RhbGwtZGF0YT1kYXRhCisKK2BgJFBMQVRgYCBpcyBub3QgKG5lY2Vzc2FyaWx5KSBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZS0tLWl0IHdpbGwgYmUgZXhwYW5kZWQgYnkKK3RoZSBEaXN0dXRpbHMgYXMgaXQgcGFyc2VzIHlvdXIgY29tbWFuZCBsaW5lIG9wdGlvbnMsIGp1c3QgYXMgaXQgZG9lcyB3aGVuCitwYXJzaW5nIHlvdXIgY29uZmlndXJhdGlvbiBmaWxlKHMpLgorCitPYnZpb3VzbHksIHNwZWNpZnlpbmcgdGhlIGVudGlyZSBpbnN0YWxsYXRpb24gc2NoZW1lIGV2ZXJ5IHRpbWUgeW91IGluc3RhbGwgYQorbmV3IG1vZHVsZSBkaXN0cmlidXRpb24gd291bGQgYmUgdmVyeSB0ZWRpb3VzLiAgVGh1cywgeW91IGNhbiBwdXQgdGhlc2Ugb3B0aW9ucworaW50byB5b3VyIERpc3R1dGlscyBjb25maWcgZmlsZSAoc2VlIHNlY3Rpb24gOnJlZjpgaW5zdC1jb25maWctZmlsZXNgKTo6CisKKyAgIFtpbnN0YWxsXQorICAgaW5zdGFsbC1iYXNlPSRIT01FCisgICBpbnN0YWxsLXB1cmVsaWI9cHl0aG9uL2xpYgorICAgaW5zdGFsbC1wbGF0bGliPXB5dGhvbi9saWIuJFBMQVQKKyAgIGluc3RhbGwtc2NyaXB0cz1weXRob24vc2NyaXB0cworICAgaW5zdGFsbC1kYXRhPXB5dGhvbi9kYXRhCisKK29yLCBlcXVpdmFsZW50bHksIDo6CisKKyAgIFtpbnN0YWxsXQorICAgaW5zdGFsbC1iYXNlPSRIT01FL3B5dGhvbgorICAgaW5zdGFsbC1wdXJlbGliPWxpYgorICAgaW5zdGFsbC1wbGF0bGliPWxpYi4kUExBVAorICAgaW5zdGFsbC1zY3JpcHRzPXNjcmlwdHMKKyAgIGluc3RhbGwtZGF0YT1kYXRhCisKK05vdGUgdGhhdCB0aGVzZSB0d28gYXJlICpub3QqIGVxdWl2YWxlbnQgaWYgeW91IHN1cHBseSBhIGRpZmZlcmVudCBpbnN0YWxsYXRpb24KK2Jhc2UgZGlyZWN0b3J5IHdoZW4geW91IHJ1biB0aGUgc2V0dXAgc2NyaXB0LiAgRm9yIGV4YW1wbGUsIDo6CisKKyAgIHB5dGhvbiBzZXR1cC5weSBpbnN0YWxsIC0taW5zdGFsbC1iYXNlPS90bXAKKword291bGQgaW5zdGFsbCBwdXJlIG1vZHVsZXMgdG8gOmZpbGU6YC90bXAvcHl0aG9uL2xpYmAgaW4gdGhlIGZpcnN0IGNhc2UsIGFuZAordG8gOmZpbGU6YC90bXAvbGliYCBpbiB0aGUgc2Vjb25kIGNhc2UuICAoRm9yIHRoZSBzZWNvbmQgY2FzZSwgeW91IHByb2JhYmx5Cit3YW50IHRvIHN1cHBseSBhbiBpbnN0YWxsYXRpb24gYmFzZSBvZiA6ZmlsZTpgL3RtcC9weXRob25gLikKKworWW91IHByb2JhYmx5IG5vdGljZWQgdGhlIHVzZSBvZiBgYCRIT01FYGAgYW5kIGBgJFBMQVRgYCBpbiB0aGUgc2FtcGxlCitjb25maWd1cmF0aW9uIGZpbGUgaW5wdXQuICBUaGVzZSBhcmUgRGlzdHV0aWxzIGNvbmZpZ3VyYXRpb24gdmFyaWFibGVzLCB3aGljaAorYmVhciBhIHN0cm9uZyByZXNlbWJsYW5jZSB0byBlbnZpcm9ubWVudCB2YXJpYWJsZXMuIEluIGZhY3QsIHlvdSBjYW4gdXNlCitlbnZpcm9ubWVudCB2YXJpYWJsZXMgaW4gY29uZmlnIGZpbGVzIG9uIHBsYXRmb3JtcyB0aGF0IGhhdmUgc3VjaCBhIG5vdGlvbiBidXQKK3RoZSBEaXN0dXRpbHMgYWRkaXRpb25hbGx5IGRlZmluZSBhIGZldyBleHRyYSB2YXJpYWJsZXMgdGhhdCBtYXkgbm90IGJlIGluIHlvdXIKK2Vudmlyb25tZW50LCBzdWNoIGFzIGBgJFBMQVRgYC4gIChBbmQgb2YgY291cnNlLCBvbiBzeXN0ZW1zIHRoYXQgZG9uJ3QgaGF2ZQorZW52aXJvbm1lbnQgdmFyaWFibGVzLCBzdWNoIGFzIE1hYyBPUyA5LCB0aGUgY29uZmlndXJhdGlvbiB2YXJpYWJsZXMgc3VwcGxpZWQgYnkKK3RoZSBEaXN0dXRpbHMgYXJlIHRoZSBvbmx5IG9uZXMgeW91IGNhbiB1c2UuKSBTZWUgc2VjdGlvbiA6cmVmOmBpbnN0LWNvbmZpZy1maWxlc2AKK2ZvciBkZXRhaWxzLgorCisuLiBYWFggbmVlZCBzb21lIFdpbmRvd3MgZXhhbXBsZXMtLS13aGVuIHdvdWxkIGN1c3RvbSBpbnN0YWxsYXRpb24gc2NoZW1lcyBiZQorICAgbmVlZGVkIG9uIHRob3NlIHBsYXRmb3Jtcz8KKworCisuLiBYWFggTW92ZSB0aGlzIHRvIERvYy91c2luZworCisuLiBfaW5zdC1zZWFyY2gtcGF0aDoKKworTW9kaWZ5aW5nIFB5dGhvbidzIFNlYXJjaCBQYXRoCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworV2hlbiB0aGUgUHl0aG9uIGludGVycHJldGVyIGV4ZWN1dGVzIGFuIDprZXl3b3JkOmBpbXBvcnRgIHN0YXRlbWVudCwgaXQgc2VhcmNoZXMKK2ZvciBib3RoIFB5dGhvbiBjb2RlIGFuZCBleHRlbnNpb24gbW9kdWxlcyBhbG9uZyBhIHNlYXJjaCBwYXRoLiAgQSBkZWZhdWx0IHZhbHVlCitmb3IgdGhlIHBhdGggaXMgY29uZmlndXJlZCBpbnRvIHRoZSBQeXRob24gYmluYXJ5IHdoZW4gdGhlIGludGVycHJldGVyIGlzIGJ1aWx0LgorWW91IGNhbiBkZXRlcm1pbmUgdGhlIHBhdGggYnkgaW1wb3J0aW5nIHRoZSA6bW9kOmBzeXNgIG1vZHVsZSBhbmQgcHJpbnRpbmcgdGhlCit2YWx1ZSBvZiBgYHN5cy5wYXRoYGAuICAgOjoKKworICAgJCBweXRob24KKyAgIFB5dGhvbiAyLjIgKCMxMSwgT2N0ICAzIDIwMDIsIDEzOjMxOjI3KQorICAgW0dDQyAyLjk2IDIwMDAwNzMxIChSZWQgSGF0IExpbnV4IDcuMyAyLjk2LTExMildIG9uIGxpbnV4MgorICAgVHlwZSAiaGVscCIsICJjb3B5cmlnaHQiLCAiY3JlZGl0cyIgb3IgImxpY2Vuc2UiIGZvciBtb3JlIGluZm9ybWF0aW9uLgorICAgPj4+IGltcG9ydCBzeXMKKyAgID4+PiBzeXMucGF0aAorICAgWycnLCAnL3Vzci9sb2NhbC9saWIvcHl0aG9uMi4zJywgJy91c3IvbG9jYWwvbGliL3B5dGhvbjIuMy9wbGF0LWxpbnV4MicsCisgICAgJy91c3IvbG9jYWwvbGliL3B5dGhvbjIuMy9saWItdGsnLCAnL3Vzci9sb2NhbC9saWIvcHl0aG9uMi4zL2xpYi1keW5sb2FkJywKKyAgICAnL3Vzci9sb2NhbC9saWIvcHl0aG9uMi4zL3NpdGUtcGFja2FnZXMnXQorICAgPj4+CisKK1RoZSBudWxsIHN0cmluZyBpbiBgYHN5cy5wYXRoYGAgcmVwcmVzZW50cyB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeS4KKworVGhlIGV4cGVjdGVkIGNvbnZlbnRpb24gZm9yIGxvY2FsbHkgaW5zdGFsbGVkIHBhY2thZ2VzIGlzIHRvIHB1dCB0aGVtIGluIHRoZQorOmZpbGU6YHsuLi59L3NpdGUtcGFja2FnZXMvYCBkaXJlY3RvcnksIGJ1dCB5b3UgbWF5IHdhbnQgdG8gaW5zdGFsbCBQeXRob24KK21vZHVsZXMgaW50byBzb21lIGFyYml0cmFyeSBkaXJlY3RvcnkuICBGb3IgZXhhbXBsZSwgeW91ciBzaXRlIG1heSBoYXZlIGEKK2NvbnZlbnRpb24gb2Yga2VlcGluZyBhbGwgc29mdHdhcmUgcmVsYXRlZCB0byB0aGUgd2ViIHNlcnZlciB1bmRlciA6ZmlsZTpgL3d3d2AuCitBZGQtb24gUHl0aG9uIG1vZHVsZXMgbWlnaHQgdGhlbiBiZWxvbmcgaW4gOmZpbGU6YC93d3cvcHl0aG9uYCwgYW5kIGluIG9yZGVyIHRvCitpbXBvcnQgdGhlbSwgdGhpcyBkaXJlY3RvcnkgbXVzdCBiZSBhZGRlZCB0byBgYHN5cy5wYXRoYGAuICBUaGVyZSBhcmUgc2V2ZXJhbAorZGlmZmVyZW50IHdheXMgdG8gYWRkIHRoZSBkaXJlY3RvcnkuCisKK1RoZSBtb3N0IGNvbnZlbmllbnQgd2F5IGlzIHRvIGFkZCBhIHBhdGggY29uZmlndXJhdGlvbiBmaWxlIHRvIGEgZGlyZWN0b3J5Cit0aGF0J3MgYWxyZWFkeSBvbiBQeXRob24ncyBwYXRoLCB1c3VhbGx5IHRvIHRoZSA6ZmlsZTpgLi4uL3NpdGUtcGFja2FnZXMvYAorZGlyZWN0b3J5LiAgUGF0aCBjb25maWd1cmF0aW9uIGZpbGVzIGhhdmUgYW4gZXh0ZW5zaW9uIG9mIDpmaWxlOmAucHRoYCwgYW5kIGVhY2gKK2xpbmUgbXVzdCBjb250YWluIGEgc2luZ2xlIHBhdGggdGhhdCB3aWxsIGJlIGFwcGVuZGVkIHRvIGBgc3lzLnBhdGhgYC4gIChCZWNhdXNlCit0aGUgbmV3IHBhdGhzIGFyZSBhcHBlbmRlZCB0byBgYHN5cy5wYXRoYGAsIG1vZHVsZXMgaW4gdGhlIGFkZGVkIGRpcmVjdG9yaWVzCit3aWxsIG5vdCBvdmVycmlkZSBzdGFuZGFyZCBtb2R1bGVzLiAgVGhpcyBtZWFucyB5b3UgY2FuJ3QgdXNlIHRoaXMgbWVjaGFuaXNtIGZvcgoraW5zdGFsbGluZyBmaXhlZCB2ZXJzaW9ucyBvZiBzdGFuZGFyZCBtb2R1bGVzLikKKworUGF0aHMgY2FuIGJlIGFic29sdXRlIG9yIHJlbGF0aXZlLCBpbiB3aGljaCBjYXNlIHRoZXkncmUgcmVsYXRpdmUgdG8gdGhlCitkaXJlY3RvcnkgY29udGFpbmluZyB0aGUgOmZpbGU6YC5wdGhgIGZpbGUuICBTZWUgdGhlIGRvY3VtZW50YXRpb24gb2YKK3RoZSA6bW9kOmBzaXRlYCBtb2R1bGUgZm9yIG1vcmUgaW5mb3JtYXRpb24uCisKK0Egc2xpZ2h0bHkgbGVzcyBjb252ZW5pZW50IHdheSBpcyB0byBlZGl0IHRoZSA6ZmlsZTpgc2l0ZS5weWAgZmlsZSBpbiBQeXRob24ncworc3RhbmRhcmQgbGlicmFyeSwgYW5kIG1vZGlmeSBgYHN5cy5wYXRoYGAuICA6ZmlsZTpgc2l0ZS5weWAgaXMgYXV0b21hdGljYWxseQoraW1wb3J0ZWQgd2hlbiB0aGUgUHl0aG9uIGludGVycHJldGVyIGlzIGV4ZWN1dGVkLCB1bmxlc3MgdGhlIDpvcHRpb246YC1TYCBzd2l0Y2gKK2lzIHN1cHBsaWVkIHRvIHN1cHByZXNzIHRoaXMgYmVoYXZpb3VyLiAgU28geW91IGNvdWxkIHNpbXBseSBlZGl0Cis6ZmlsZTpgc2l0ZS5weWAgYW5kIGFkZCB0d28gbGluZXMgdG8gaXQ6OgorCisgICBpbXBvcnQgc3lzCisgICBzeXMucGF0aC5hcHBlbmQoJy93d3cvcHl0aG9uLycpCisKK0hvd2V2ZXIsIGlmIHlvdSByZWluc3RhbGwgdGhlIHNhbWUgbWFqb3IgdmVyc2lvbiBvZiBQeXRob24gKHBlcmhhcHMgd2hlbgordXBncmFkaW5nIGZyb20gMi4yIHRvIDIuMi4yLCBmb3IgZXhhbXBsZSkgOmZpbGU6YHNpdGUucHlgIHdpbGwgYmUgb3ZlcndyaXR0ZW4gYnkKK3RoZSBzdG9jayB2ZXJzaW9uLiAgWW91J2QgaGF2ZSB0byByZW1lbWJlciB0aGF0IGl0IHdhcyBtb2RpZmllZCBhbmQgc2F2ZSBhIGNvcHkKK2JlZm9yZSBkb2luZyB0aGUgaW5zdGFsbGF0aW9uLgorCitUaGVyZSBhcmUgdHdvIGVudmlyb25tZW50IHZhcmlhYmxlcyB0aGF0IGNhbiBtb2RpZnkgYGBzeXMucGF0aGBgLgorOmVudnZhcjpgUFlUSE9OSE9NRWAgc2V0cyBhbiBhbHRlcm5hdGUgdmFsdWUgZm9yIHRoZSBwcmVmaXggb2YgdGhlIFB5dGhvbgoraW5zdGFsbGF0aW9uLiAgRm9yIGV4YW1wbGUsIGlmIDplbnZ2YXI6YFBZVEhPTkhPTUVgIGlzIHNldCB0byBgYC93d3cvcHl0aG9uYGAsCit0aGUgc2VhcmNoIHBhdGggd2lsbCBiZSBzZXQgdG8gYGBbJycsICcvd3d3L3B5dGhvbi9saWIvcHl0aG9uWC5ZLycsCisnL3d3dy9weXRob24vbGliL3B5dGhvblguWS9wbGF0LWxpbnV4MicsIC4uLl1gYC4KKworVGhlIDplbnZ2YXI6YFBZVEhPTlBBVEhgIHZhcmlhYmxlIGNhbiBiZSBzZXQgdG8gYSBsaXN0IG9mIHBhdGhzIHRoYXQgd2lsbCBiZQorYWRkZWQgdG8gdGhlIGJlZ2lubmluZyBvZiBgYHN5cy5wYXRoYGAuICBGb3IgZXhhbXBsZSwgaWYgOmVudnZhcjpgUFlUSE9OUEFUSGAgaXMKK3NldCB0byBgYC93d3cvcHl0aG9uOi9vcHQvcHlgYCwgdGhlIHNlYXJjaCBwYXRoIHdpbGwgYmVnaW4gd2l0aAorYGBbJy93d3cvcHl0aG9uJywgJy9vcHQvcHknXWBgLiAgKE5vdGUgdGhhdCBkaXJlY3RvcmllcyBtdXN0IGV4aXN0IGluIG9yZGVyIHRvCitiZSBhZGRlZCB0byBgYHN5cy5wYXRoYGA7IHRoZSA6bW9kOmBzaXRlYCBtb2R1bGUgcmVtb3ZlcyBwYXRocyB0aGF0IGRvbid0CitleGlzdC4pCisKK0ZpbmFsbHksIGBgc3lzLnBhdGhgYCBpcyBqdXN0IGEgcmVndWxhciBQeXRob24gbGlzdCwgc28gYW55IFB5dGhvbiBhcHBsaWNhdGlvbgorY2FuIG1vZGlmeSBpdCBieSBhZGRpbmcgb3IgcmVtb3ZpbmcgZW50cmllcy4KKworCisuLiBfaW5zdC1jb25maWctZmlsZXM6CisKK0Rpc3R1dGlscyBDb25maWd1cmF0aW9uIEZpbGVzCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCitBcyBtZW50aW9uZWQgYWJvdmUsIHlvdSBjYW4gdXNlIERpc3R1dGlscyBjb25maWd1cmF0aW9uIGZpbGVzIHRvIHJlY29yZCBwZXJzb25hbAorb3Igc2l0ZSBwcmVmZXJlbmNlcyBmb3IgYW55IERpc3R1dGlscyBvcHRpb25zLiAgVGhhdCBpcywgYW55IG9wdGlvbiB0byBhbnkKK2NvbW1hbmQgY2FuIGJlIHN0b3JlZCBpbiBvbmUgb2YgdHdvIG9yIHRocmVlIChkZXBlbmRpbmcgb24geW91ciBwbGF0Zm9ybSkKK2NvbmZpZ3VyYXRpb24gZmlsZXMsIHdoaWNoIHdpbGwgYmUgY29uc3VsdGVkIGJlZm9yZSB0aGUgY29tbWFuZC1saW5lIGlzIHBhcnNlZC4KK1RoaXMgbWVhbnMgdGhhdCBjb25maWd1cmF0aW9uIGZpbGVzIHdpbGwgb3ZlcnJpZGUgZGVmYXVsdCB2YWx1ZXMsIGFuZCB0aGUKK2NvbW1hbmQtbGluZSB3aWxsIGluIHR1cm4gb3ZlcnJpZGUgY29uZmlndXJhdGlvbiBmaWxlcy4gIEZ1cnRoZXJtb3JlLCBpZgorbXVsdGlwbGUgY29uZmlndXJhdGlvbiBmaWxlcyBhcHBseSwgdmFsdWVzIGZyb20gImVhcmxpZXIiIGZpbGVzIGFyZSBvdmVycmlkZGVuCitieSAibGF0ZXIiIGZpbGVzLgorCisKKy4uIF9pbnN0LWNvbmZpZy1maWxlbmFtZXM6CisKK0xvY2F0aW9uIGFuZCBuYW1lcyBvZiBjb25maWcgZmlsZXMKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworVGhlIG5hbWVzIGFuZCBsb2NhdGlvbnMgb2YgdGhlIGNvbmZpZ3VyYXRpb24gZmlsZXMgdmFyeSBzbGlnaHRseSBhY3Jvc3MKK3BsYXRmb3Jtcy4gIE9uIFVuaXggYW5kIE1hYyBPUyBYLCB0aGUgdGhyZWUgY29uZmlndXJhdGlvbiBmaWxlcyAoaW4gdGhlIG9yZGVyCit0aGV5IGFyZSBwcm9jZXNzZWQpIGFyZToKKworKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLSsKK3wgVHlwZSBvZiBmaWxlIHwgTG9jYXRpb24gYW5kIGZpbGVuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBOb3RlcyB8CisrPT09PT09PT09PT09PT0rPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSs9PT09PT09KworfCBzeXN0ZW0gICAgICAgfCA6ZmlsZTpge3ByZWZpeH0vbGliL3B5dGhvbnt2ZXJ9L2Rpc3R1dGlscy9kaXN0dXRpbHMuY2ZnYCB8IFwoMSkgIHwKKystLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0rCit8IHBlcnNvbmFsICAgICB8IDpmaWxlOmAkSE9NRS8ucHlkaXN0dXRpbHMuY2ZnYCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgXCgyKSAgfAorKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLSsKK3wgbG9jYWwgICAgICAgIHwgOmZpbGU6YHNldHVwLmNmZ2AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBcKDMpICB8CisrLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tKworCitBbmQgb24gV2luZG93cywgdGhlIGNvbmZpZ3VyYXRpb24gZmlsZXMgYXJlOgorCisrLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tKworfCBUeXBlIG9mIGZpbGUgfCBMb2NhdGlvbiBhbmQgZmlsZW5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICB8IE5vdGVzIHwKKys9PT09PT09PT09PT09PSs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Kz09PT09PT0rCit8IHN5c3RlbSAgICAgICB8IDpmaWxlOmB7cHJlZml4fVxcTGliXFxkaXN0dXRpbHNcXGRpc3R1dGlscy5jZmdgIHwgXCg0KSAgfAorKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLSsKK3wgcGVyc29uYWwgICAgIHwgOmZpbGU6YCVIT01FJVxccHlkaXN0dXRpbHMuY2ZnYCAgICAgICAgICAgICAgICAgfCBcKDUpICB8CisrLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tKworfCBsb2NhbCAgICAgICAgfCA6ZmlsZTpgc2V0dXAuY2ZnYCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFwoMykgIHwKKystLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0rCisKK09uIGFsbCBwbGF0Zm9ybXMsIHRoZSAicGVyc29uYWwiIGZpbGUgY2FuIGJlIHRlbXBvcmFyaWx5IGRpc2FibGVkIGJ5CitwYXNzaW5nIHRoZSBgLS1uby11c2VyLWNmZ2Agb3B0aW9uLgorCitOb3RlczoKKworKDEpCisgICBTdHJpY3RseSBzcGVha2luZywgdGhlIHN5c3RlbS13aWRlIGNvbmZpZ3VyYXRpb24gZmlsZSBsaXZlcyBpbiB0aGUgZGlyZWN0b3J5CisgICB3aGVyZSB0aGUgRGlzdHV0aWxzIGFyZSBpbnN0YWxsZWQ7IHVuZGVyIFB5dGhvbiAxLjYgYW5kIGxhdGVyIG9uIFVuaXgsIHRoaXMgaXMKKyAgIGFzIHNob3duLiBGb3IgUHl0aG9uIDEuNS4yLCB0aGUgRGlzdHV0aWxzIHdpbGwgbm9ybWFsbHkgYmUgaW5zdGFsbGVkIHRvCisgICA6ZmlsZTpge3ByZWZpeH0vbGliL3B5dGhvbjEuNS9zaXRlLXBhY2thZ2VzL2Rpc3R1dGlsc2AsIHNvIHRoZSBzeXN0ZW0KKyAgIGNvbmZpZ3VyYXRpb24gZmlsZSBzaG91bGQgYmUgcHV0IHRoZXJlIHVuZGVyIFB5dGhvbiAxLjUuMi4KKworKDIpCisgICBPbiBVbml4LCBpZiB0aGUgOmVudnZhcjpgSE9NRWAgZW52aXJvbm1lbnQgdmFyaWFibGUgaXMgbm90IGRlZmluZWQsIHRoZSB1c2VyJ3MKKyAgIGhvbWUgZGlyZWN0b3J5IHdpbGwgYmUgZGV0ZXJtaW5lZCB3aXRoIHRoZSA6ZnVuYzpgZ2V0cHd1aWRgIGZ1bmN0aW9uIGZyb20gdGhlCisgICBzdGFuZGFyZCA6bW9kOmBwd2RgIG1vZHVsZS4gVGhpcyBpcyBkb25lIGJ5IHRoZSA6ZnVuYzpgb3MucGF0aC5leHBhbmR1c2VyYAorICAgZnVuY3Rpb24gdXNlZCBieSBEaXN0dXRpbHMuCisKKygzKQorICAgSS5lLiwgaW4gdGhlIGN1cnJlbnQgZGlyZWN0b3J5ICh1c3VhbGx5IHRoZSBsb2NhdGlvbiBvZiB0aGUgc2V0dXAgc2NyaXB0KS4KKworKDQpCisgICAoU2VlIGFsc28gbm90ZSAoMSkuKSAgVW5kZXIgUHl0aG9uIDEuNiBhbmQgbGF0ZXIsIFB5dGhvbidzIGRlZmF1bHQgImluc3RhbGxhdGlvbgorICAgcHJlZml4IiBpcyA6ZmlsZTpgQzpcXFB5dGhvbmAsIHNvIHRoZSBzeXN0ZW0gY29uZmlndXJhdGlvbiBmaWxlIGlzIG5vcm1hbGx5CisgICA6ZmlsZTpgQzpcXFB5dGhvblxcTGliXFxkaXN0dXRpbHNcXGRpc3R1dGlscy5jZmdgLiBVbmRlciBQeXRob24gMS41LjIsIHRoZQorICAgZGVmYXVsdCBwcmVmaXggd2FzIDpmaWxlOmBDOlxcUHJvZ3JhbSBGaWxlc1xcUHl0aG9uYCwgYW5kIHRoZSBEaXN0dXRpbHMgd2VyZSBub3QKKyAgIHBhcnQgb2YgdGhlIHN0YW5kYXJkIGxpYnJhcnktLS1zbyB0aGUgc3lzdGVtIGNvbmZpZ3VyYXRpb24gZmlsZSB3b3VsZCBiZQorICAgOmZpbGU6YEM6XFxQcm9ncmFtIEZpbGVzXFxQeXRob25cXGRpc3R1dGlsc1xcZGlzdHV0aWxzLmNmZ2AgaW4gYSBzdGFuZGFyZCBQeXRob24KKyAgIDEuNS4yIGluc3RhbGxhdGlvbiB1bmRlciBXaW5kb3dzLgorCisoNSkKKyAgIE9uIFdpbmRvd3MsIGlmIHRoZSA6ZW52dmFyOmBIT01FYCBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBub3QgZGVmaW5lZCwKKyAgIDplbnZ2YXI6YFVTRVJQUk9GSUxFYCB0aGVuIDplbnZ2YXI6YEhPTUVEUklWRWAgYW5kIDplbnZ2YXI6YEhPTUVQQVRIYCB3aWxsCisgICBiZSB0cmllZC4gVGhpcyBpcyBkb25lIGJ5IHRoZSA6ZnVuYzpgb3MucGF0aC5leHBhbmR1c2VyYCBmdW5jdGlvbiB1c2VkCisgICBieSBEaXN0dXRpbHMuCisKKworLi4gX2luc3QtY29uZmlnLXN5bnRheDoKKworU3ludGF4IG9mIGNvbmZpZyBmaWxlcworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitUaGUgRGlzdHV0aWxzIGNvbmZpZ3VyYXRpb24gZmlsZXMgYWxsIGhhdmUgdGhlIHNhbWUgc3ludGF4LiAgVGhlIGNvbmZpZyBmaWxlcworYXJlIGdyb3VwZWQgaW50byBzZWN0aW9ucy4gIFRoZXJlIGlzIG9uZSBzZWN0aW9uIGZvciBlYWNoIERpc3R1dGlscyBjb21tYW5kLAorcGx1cyBhIGBgZ2xvYmFsYGAgc2VjdGlvbiBmb3IgZ2xvYmFsIG9wdGlvbnMgdGhhdCBhZmZlY3QgZXZlcnkgY29tbWFuZC4gIEVhY2gKK3NlY3Rpb24gY29uc2lzdHMgb2Ygb25lIG9wdGlvbiBwZXIgbGluZSwgc3BlY2lmaWVkIGFzIGBgb3B0aW9uPXZhbHVlYGAuCisKK0ZvciBleGFtcGxlLCB0aGUgZm9sbG93aW5nIGlzIGEgY29tcGxldGUgY29uZmlnIGZpbGUgdGhhdCBqdXN0IGZvcmNlcyBhbGwKK2NvbW1hbmRzIHRvIHJ1biBxdWlldGx5IGJ5IGRlZmF1bHQ6OgorCisgICBbZ2xvYmFsXQorICAgdmVyYm9zZT0wCisKK0lmIHRoaXMgaXMgaW5zdGFsbGVkIGFzIHRoZSBzeXN0ZW0gY29uZmlnIGZpbGUsIGl0IHdpbGwgYWZmZWN0IGFsbCBwcm9jZXNzaW5nIG9mCithbnkgUHl0aG9uIG1vZHVsZSBkaXN0cmlidXRpb24gYnkgYW55IHVzZXIgb24gdGhlIGN1cnJlbnQgc3lzdGVtLiAgSWYgaXQgaXMKK2luc3RhbGxlZCBhcyB5b3VyIHBlcnNvbmFsIGNvbmZpZyBmaWxlIChvbiBzeXN0ZW1zIHRoYXQgc3VwcG9ydCB0aGVtKSwgaXQgd2lsbAorYWZmZWN0IG9ubHkgbW9kdWxlIGRpc3RyaWJ1dGlvbnMgcHJvY2Vzc2VkIGJ5IHlvdS4gIEFuZCBpZiBpdCBpcyB1c2VkIGFzIHRoZQorOmZpbGU6YHNldHVwLmNmZ2AgZm9yIGEgcGFydGljdWxhciBtb2R1bGUgZGlzdHJpYnV0aW9uLCBpdCBhZmZlY3RzIG9ubHkgdGhhdAorZGlzdHJpYnV0aW9uLgorCitZb3UgY291bGQgb3ZlcnJpZGUgdGhlIGRlZmF1bHQgImJ1aWxkIGJhc2UiIGRpcmVjdG9yeSBhbmQgbWFrZSB0aGUKKzpjb21tYW5kOmBidWlsZFwqYCBjb21tYW5kcyBhbHdheXMgZm9yY2libHkgcmVidWlsZCBhbGwgZmlsZXMgd2l0aCB0aGUKK2ZvbGxvd2luZzo6CisKKyAgIFtidWlsZF0KKyAgIGJ1aWxkLWJhc2U9YmxpYgorICAgZm9yY2U9MQorCit3aGljaCBjb3JyZXNwb25kcyB0byB0aGUgY29tbWFuZC1saW5lIGFyZ3VtZW50cyA6OgorCisgICBweXRob24gc2V0dXAucHkgYnVpbGQgLS1idWlsZC1iYXNlPWJsaWIgLS1mb3JjZQorCitleGNlcHQgdGhhdCBpbmNsdWRpbmcgdGhlIDpjb21tYW5kOmBidWlsZGAgY29tbWFuZCBvbiB0aGUgY29tbWFuZC1saW5lIG1lYW5zCit0aGF0IGNvbW1hbmQgd2lsbCBiZSBydW4uICBJbmNsdWRpbmcgYSBwYXJ0aWN1bGFyIGNvbW1hbmQgaW4gY29uZmlnIGZpbGVzIGhhcyBubworc3VjaCBpbXBsaWNhdGlvbjsgaXQgb25seSBtZWFucyB0aGF0IGlmIHRoZSBjb21tYW5kIGlzIHJ1biwgdGhlIG9wdGlvbnMgaW4gdGhlCitjb25maWcgZmlsZSB3aWxsIGFwcGx5LiAgKE9yIGlmIG90aGVyIGNvbW1hbmRzIHRoYXQgZGVyaXZlIHZhbHVlcyBmcm9tIGl0IGFyZQorcnVuLCB0aGV5IHdpbGwgdXNlIHRoZSB2YWx1ZXMgaW4gdGhlIGNvbmZpZyBmaWxlLikKKworWW91IGNhbiBmaW5kIG91dCB0aGUgY29tcGxldGUgbGlzdCBvZiBvcHRpb25zIGZvciBhbnkgY29tbWFuZCB1c2luZyB0aGUKKzpvcHRpb246YC0taGVscGAgb3B0aW9uLCBlLmcuOjoKKworICAgcHl0aG9uIHNldHVwLnB5IGJ1aWxkIC0taGVscAorCithbmQgeW91IGNhbiBmaW5kIG91dCB0aGUgY29tcGxldGUgbGlzdCBvZiBnbG9iYWwgb3B0aW9ucyBieSB1c2luZworOm9wdGlvbjpgLS1oZWxwYCB3aXRob3V0IGEgY29tbWFuZDo6CisKKyAgIHB5dGhvbiBzZXR1cC5weSAtLWhlbHAKKworU2VlIGFsc28gdGhlICJSZWZlcmVuY2UiIHNlY3Rpb24gb2YgdGhlICJEaXN0cmlidXRpbmcgUHl0aG9uIE1vZHVsZXMiIG1hbnVhbC4KKworCisuLiBfaW5zdC1idWlsZGluZy1leHQ6CisKK0J1aWxkaW5nIEV4dGVuc2lvbnM6IFRpcHMgYW5kIFRyaWNrcworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKK1doZW5ldmVyIHBvc3NpYmxlLCB0aGUgRGlzdHV0aWxzIHRyeSB0byB1c2UgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gbWFkZQorYXZhaWxhYmxlIGJ5IHRoZSBQeXRob24gaW50ZXJwcmV0ZXIgdXNlZCB0byBydW4gdGhlIDpmaWxlOmBzZXR1cC5weWAgc2NyaXB0LgorRm9yIGV4YW1wbGUsIHRoZSBzYW1lIGNvbXBpbGVyIGFuZCBsaW5rZXIgZmxhZ3MgdXNlZCB0byBjb21waWxlIFB5dGhvbiB3aWxsIGFsc28KK2JlIHVzZWQgZm9yIGNvbXBpbGluZyBleHRlbnNpb25zLiAgVXN1YWxseSB0aGlzIHdpbGwgd29yayB3ZWxsLCBidXQgaW4KK2NvbXBsaWNhdGVkIHNpdHVhdGlvbnMgdGhpcyBtaWdodCBiZSBpbmFwcHJvcHJpYXRlLiAgVGhpcyBzZWN0aW9uIGRpc2N1c3NlcyBob3cKK3RvIG92ZXJyaWRlIHRoZSB1c3VhbCBEaXN0dXRpbHMgYmVoYXZpb3VyLgorCisKKy4uIF9pbnN0LXR3ZWFrLWZsYWdzOgorCitUd2Vha2luZyBjb21waWxlci9saW5rZXIgZmxhZ3MKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitDb21waWxpbmcgYSBQeXRob24gZXh0ZW5zaW9uIHdyaXR0ZW4gaW4gQyBvciBDKysgd2lsbCBzb21ldGltZXMgcmVxdWlyZQorc3BlY2lmeWluZyBjdXN0b20gZmxhZ3MgZm9yIHRoZSBjb21waWxlciBhbmQgbGlua2VyIGluIG9yZGVyIHRvIHVzZSBhIHBhcnRpY3VsYXIKK2xpYnJhcnkgb3IgcHJvZHVjZSBhIHNwZWNpYWwga2luZCBvZiBvYmplY3QgY29kZS4gVGhpcyBpcyBlc3BlY2lhbGx5IHRydWUgaWYgdGhlCitleHRlbnNpb24gaGFzbid0IGJlZW4gdGVzdGVkIG9uIHlvdXIgcGxhdGZvcm0sIG9yIGlmIHlvdSdyZSB0cnlpbmcgdG8KK2Nyb3NzLWNvbXBpbGUgUHl0aG9uLgorCitJbiB0aGUgbW9zdCBnZW5lcmFsIGNhc2UsIHRoZSBleHRlbnNpb24gYXV0aG9yIG1pZ2h0IGhhdmUgZm9yZXNlZW4gdGhhdAorY29tcGlsaW5nIHRoZSBleHRlbnNpb25zIHdvdWxkIGJlIGNvbXBsaWNhdGVkLCBhbmQgcHJvdmlkZWQgYSA6ZmlsZTpgU2V0dXBgIGZpbGUKK2ZvciB5b3UgdG8gZWRpdC4gIFRoaXMgd2lsbCBsaWtlbHkgb25seSBiZSBkb25lIGlmIHRoZSBtb2R1bGUgZGlzdHJpYnV0aW9uCitjb250YWlucyBtYW55IHNlcGFyYXRlIGV4dGVuc2lvbiBtb2R1bGVzLCBvciBpZiB0aGV5IG9mdGVuIHJlcXVpcmUgZWxhYm9yYXRlCitzZXRzIG9mIGNvbXBpbGVyIGZsYWdzIGluIG9yZGVyIHRvIHdvcmsuCisKK0EgOmZpbGU6YFNldHVwYCBmaWxlLCBpZiBwcmVzZW50LCBpcyBwYXJzZWQgaW4gb3JkZXIgdG8gZ2V0IGEgbGlzdCBvZiBleHRlbnNpb25zCit0byBidWlsZC4gIEVhY2ggbGluZSBpbiBhIDpmaWxlOmBTZXR1cGAgZGVzY3JpYmVzIGEgc2luZ2xlIG1vZHVsZS4gIExpbmVzIGhhdmUKK3RoZSBmb2xsb3dpbmcgc3RydWN0dXJlOjoKKworICAgbW9kdWxlIC4uLiBbc291cmNlZmlsZSAuLi5dIFtjcHBhcmcgLi4uXSBbbGlicmFyeSAuLi5dCisKKworTGV0J3MgZXhhbWluZSBlYWNoIG9mIHRoZSBmaWVsZHMgaW4gdHVybi4KKworKiAqbW9kdWxlKiBpcyB0aGUgbmFtZSBvZiB0aGUgZXh0ZW5zaW9uIG1vZHVsZSB0byBiZSBidWlsdCwgYW5kIHNob3VsZCBiZSBhCisgIHZhbGlkIFB5dGhvbiBpZGVudGlmaWVyLiAgWW91IGNhbid0IGp1c3QgY2hhbmdlIHRoaXMgaW4gb3JkZXIgdG8gcmVuYW1lIGEgbW9kdWxlCisgIChlZGl0cyB0byB0aGUgc291cmNlIGNvZGUgd291bGQgYWxzbyBiZSBuZWVkZWQpLCBzbyB0aGlzIHNob3VsZCBiZSBsZWZ0IGFsb25lLgorCisqICpzb3VyY2VmaWxlKiBpcyBhbnl0aGluZyB0aGF0J3MgbGlrZWx5IHRvIGJlIGEgc291cmNlIGNvZGUgZmlsZSwgYXQgbGVhc3QKKyAganVkZ2luZyBieSB0aGUgZmlsZW5hbWUuICBGaWxlbmFtZXMgZW5kaW5nIGluIDpmaWxlOmAuY2AgYXJlIGFzc3VtZWQgdG8gYmUKKyAgd3JpdHRlbiBpbiBDLCBmaWxlbmFtZXMgZW5kaW5nIGluIDpmaWxlOmAuQ2AsIDpmaWxlOmAuY2NgLCBhbmQgOmZpbGU6YC5jKytgIGFyZQorICBhc3N1bWVkIHRvIGJlIEMrKywgYW5kIGZpbGVuYW1lcyBlbmRpbmcgaW4gOmZpbGU6YC5tYCBvciA6ZmlsZTpgLm1tYCBhcmUgYXNzdW1lZAorICB0byBiZSBpbiBPYmplY3RpdmUgQy4KKworKiAqY3BwYXJnKiBpcyBhbiBhcmd1bWVudCBmb3IgdGhlIEMgcHJlcHJvY2Vzc29yLCAgYW5kIGlzIGFueXRoaW5nIHN0YXJ0aW5nIHdpdGgKKyAgOm9wdGlvbjpgLUlgLCA6b3B0aW9uOmAtRGAsIDpvcHRpb246YC1VYCBvciA6b3B0aW9uOmAtQ2AuCisKKyogKmxpYnJhcnkqIGlzIGFueXRoaW5nIGVuZGluZyBpbiA6ZmlsZTpgLmFgIG9yIGJlZ2lubmluZyB3aXRoIDpvcHRpb246YC1sYCBvcgorICA6b3B0aW9uOmAtTGAuCisKK0lmIGEgcGFydGljdWxhciBwbGF0Zm9ybSByZXF1aXJlcyBhIHNwZWNpYWwgbGlicmFyeSBvbiB5b3VyIHBsYXRmb3JtLCB5b3UgY2FuCithZGQgaXQgYnkgZWRpdGluZyB0aGUgOmZpbGU6YFNldHVwYCBmaWxlIGFuZCBydW5uaW5nIGBgcHl0aG9uIHNldHVwLnB5IGJ1aWxkYGAuCitGb3IgZXhhbXBsZSwgaWYgdGhlIG1vZHVsZSBkZWZpbmVkIGJ5IHRoZSBsaW5lIDo6CisKKyAgIGZvbyBmb29tb2R1bGUuYworCittdXN0IGJlIGxpbmtlZCB3aXRoIHRoZSBtYXRoIGxpYnJhcnkgOmZpbGU6YGxpYm0uYWAgb24geW91ciBwbGF0Zm9ybSwgc2ltcGx5IGFkZAorOm9wdGlvbjpgLWxtYCB0byB0aGUgbGluZTo6CisKKyAgIGZvbyBmb29tb2R1bGUuYyAtbG0KKworQXJiaXRyYXJ5IHN3aXRjaGVzIGludGVuZGVkIGZvciB0aGUgY29tcGlsZXIgb3IgdGhlIGxpbmtlciBjYW4gYmUgc3VwcGxpZWQgd2l0aAordGhlIDpvcHRpb246YC1YY29tcGlsZXJgICphcmcqIGFuZCA6b3B0aW9uOmAtWGxpbmtlcmAgKmFyZyogb3B0aW9uczo6CisKKyAgIGZvbyBmb29tb2R1bGUuYyAtWGNvbXBpbGVyIC1vMzIgLVhsaW5rZXIgLXNoYXJlZCAtbG0KKworVGhlIG5leHQgb3B0aW9uIGFmdGVyIDpvcHRpb246YC1YY29tcGlsZXJgIGFuZCA6b3B0aW9uOmAtWGxpbmtlcmAgd2lsbCBiZQorYXBwZW5kZWQgdG8gdGhlIHByb3BlciBjb21tYW5kIGxpbmUsIHNvIGluIHRoZSBhYm92ZSBleGFtcGxlIHRoZSBjb21waWxlciB3aWxsCitiZSBwYXNzZWQgdGhlIDpvcHRpb246YC1vMzJgIG9wdGlvbiwgYW5kIHRoZSBsaW5rZXIgd2lsbCBiZSBwYXNzZWQKKzpvcHRpb246YC1zaGFyZWRgLiAgSWYgYSBjb21waWxlciBvcHRpb24gcmVxdWlyZXMgYW4gYXJndW1lbnQsIHlvdSdsbCBoYXZlIHRvCitzdXBwbHkgbXVsdGlwbGUgOm9wdGlvbjpgLVhjb21waWxlcmAgb3B0aW9uczsgZm9yIGV4YW1wbGUsIHRvIHBhc3MgYGAteCBjKytgYAordGhlIDpmaWxlOmBTZXR1cGAgZmlsZSB3b3VsZCBoYXZlIHRvIGNvbnRhaW4gYGAtWGNvbXBpbGVyIC14IC1YY29tcGlsZXIgYysrYGAuCisKK0NvbXBpbGVyIGZsYWdzIGNhbiBhbHNvIGJlIHN1cHBsaWVkIHRocm91Z2ggc2V0dGluZyB0aGUgOmVudnZhcjpgQ0ZMQUdTYAorZW52aXJvbm1lbnQgdmFyaWFibGUuICBJZiBzZXQsIHRoZSBjb250ZW50cyBvZiA6ZW52dmFyOmBDRkxBR1NgIHdpbGwgYmUgYWRkZWQgdG8KK3RoZSBjb21waWxlciBmbGFncyBzcGVjaWZpZWQgaW4gdGhlICA6ZmlsZTpgU2V0dXBgIGZpbGUuCisKKworLi4gX2luc3Qtbm9uLW1zLWNvbXBpbGVyczoKKworVXNpbmcgbm9uLU1pY3Jvc29mdCBjb21waWxlcnMgb24gV2luZG93cworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisuLiBzZWN0aW9uYXV0aG9yOjogUmVuZSBMaWVic2NoZXIgPFIuTGllYnNjaGVyQGdteC5kZT4KKworCisKK0JvcmxhbmQvQ29kZUdlYXIgQysrCiteXl5eXl5eXl5eXl5eXl5eXl5eXgorCitUaGlzIHN1YnNlY3Rpb24gZGVzY3JpYmVzIHRoZSBuZWNlc3Nhcnkgc3RlcHMgdG8gdXNlIERpc3R1dGlscyB3aXRoIHRoZSBCb3JsYW5kCitDKysgY29tcGlsZXIgdmVyc2lvbiA1LjUuICBGaXJzdCB5b3UgaGF2ZSB0byBrbm93IHRoYXQgQm9ybGFuZCdzIG9iamVjdCBmaWxlCitmb3JtYXQgKE9NRikgaXMgZGlmZmVyZW50IGZyb20gdGhlIGZvcm1hdCB1c2VkIGJ5IHRoZSBQeXRob24gdmVyc2lvbiB5b3UgY2FuCitkb3dubG9hZCBmcm9tIHRoZSBQeXRob24gb3IgQWN0aXZlU3RhdGUgV2ViIHNpdGUuICAoUHl0aG9uIGlzIGJ1aWx0IHdpdGgKK01pY3Jvc29mdCBWaXN1YWwgQysrLCB3aGljaCB1c2VzIENPRkYgYXMgdGhlIG9iamVjdCBmaWxlIGZvcm1hdC4pIEZvciB0aGlzCityZWFzb24geW91IGhhdmUgdG8gY29udmVydCBQeXRob24ncyBsaWJyYXJ5IDpmaWxlOmBweXRob24yNS5saWJgIGludG8gdGhlCitCb3JsYW5kIGZvcm1hdC4gIFlvdSBjYW4gZG8gdGhpcyBhcyBmb2xsb3dzOgorCisuLiBTaG91bGQgd2UgbWVudGlvbiB0aGF0IHVzZXJzIGhhdmUgdG8gY3JlYXRlIGNmZy1maWxlcyBmb3IgdGhlIGNvbXBpbGVyPworLi4gc2VlIGFsc28gaHR0cDovL2NvbW11bml0eS5ib3JsYW5kLmNvbS9hcnRpY2xlLzAsMTQxMCwyMTIwNSwwMC5odG1sCisKKzo6CisKKyAgIGNvZmYyb21mIHB5dGhvbjI1LmxpYiBweXRob24yNV9iY3BwLmxpYgorCitUaGUgOmZpbGU6YGNvZmYyb21mYCBwcm9ncmFtIGNvbWVzIHdpdGggdGhlIEJvcmxhbmQgY29tcGlsZXIuICBUaGUgZmlsZQorOmZpbGU6YHB5dGhvbjI1LmxpYmAgaXMgaW4gdGhlIDpmaWxlOmBMaWJzYCBkaXJlY3Rvcnkgb2YgeW91ciBQeXRob24KK2luc3RhbGxhdGlvbi4gIElmIHlvdXIgZXh0ZW5zaW9uIHVzZXMgb3RoZXIgbGlicmFyaWVzICh6bGliLCAuLi4pIHlvdSBoYXZlIHRvCitjb252ZXJ0IHRoZW0gdG9vLgorCitUaGUgY29udmVydGVkIGZpbGVzIGhhdmUgdG8gcmVzaWRlIGluIHRoZSBzYW1lIGRpcmVjdG9yaWVzIGFzIHRoZSBub3JtYWwKK2xpYnJhcmllcy4KKworSG93IGRvZXMgRGlzdHV0aWxzIG1hbmFnZSB0byB1c2UgdGhlc2UgbGlicmFyaWVzIHdpdGggdGhlaXIgY2hhbmdlZCBuYW1lcz8gIElmCit0aGUgZXh0ZW5zaW9uIG5lZWRzIGEgbGlicmFyeSAoZWcuIDpmaWxlOmBmb29gKSBEaXN0dXRpbHMgY2hlY2tzIGZpcnN0IGlmIGl0CitmaW5kcyBhIGxpYnJhcnkgd2l0aCBzdWZmaXggOmZpbGU6YF9iY3BwYCAoZWcuIDpmaWxlOmBmb29fYmNwcC5saWJgKSBhbmQgdGhlbgordXNlcyB0aGlzIGxpYnJhcnkuICBJbiB0aGUgY2FzZSBpdCBkb2Vzbid0IGZpbmQgc3VjaCBhIHNwZWNpYWwgbGlicmFyeSBpdCB1c2VzCit0aGUgZGVmYXVsdCBuYW1lICg6ZmlsZTpgZm9vLmxpYmAuKSBbI11fCisKK1RvIGxldCBEaXN0dXRpbHMgY29tcGlsZSB5b3VyIGV4dGVuc2lvbiB3aXRoIEJvcmxhbmQgQysrIHlvdSBub3cgaGF2ZSB0byB0eXBlOjoKKworICAgcHl0aG9uIHNldHVwLnB5IGJ1aWxkIC0tY29tcGlsZXI9YmNwcAorCitJZiB5b3Ugd2FudCB0byB1c2UgdGhlIEJvcmxhbmQgQysrIGNvbXBpbGVyIGFzIHRoZSBkZWZhdWx0LCB5b3UgY291bGQgc3BlY2lmeQordGhpcyBpbiB5b3VyIHBlcnNvbmFsIG9yIHN5c3RlbS13aWRlIGNvbmZpZ3VyYXRpb24gZmlsZSBmb3IgRGlzdHV0aWxzIChzZWUKK3NlY3Rpb24gOnJlZjpgaW5zdC1jb25maWctZmlsZXNgLikKKworCisuLiBzZWVhbHNvOjoKKworICAgYEMrK0J1aWxkZXIgQ29tcGlsZXIgPGh0dHA6Ly93d3cuY29kZWdlYXIuY29tL2Rvd25sb2Fkcy9mcmVlL2NwcGJ1aWxkZXI+YF8KKyAgICAgIEluZm9ybWF0aW9uIGFib3V0IHRoZSBmcmVlIEMrKyBjb21waWxlciBmcm9tIEJvcmxhbmQsIGluY2x1ZGluZyBsaW5rcyB0byB0aGUKKyAgICAgIGRvd25sb2FkIHBhZ2VzLgorCisgICBgQ3JlYXRpbmcgUHl0aG9uIEV4dGVuc2lvbnMgVXNpbmcgQm9ybGFuZCdzIEZyZWUgQ29tcGlsZXIgPGh0dHA6Ly93d3cuY3liZXJ1cy5jYS9+Z193aWxsL3B5RXh0ZW5ETC5zaHRtbD5gXworICAgICAgRG9jdW1lbnQgZGVzY3JpYmluZyBob3cgdG8gdXNlIEJvcmxhbmQncyBmcmVlIGNvbW1hbmQtbGluZSBDKysgY29tcGlsZXIgdG8gYnVpbGQKKyAgICAgIFB5dGhvbi4KKworCitHTlUgQyAvIEN5Z3dpbiAvIE1pbkdXCiteXl5eXl5eXl5eXl5eXl5eXl5eXl5eCisKK1RoaXMgc2VjdGlvbiBkZXNjcmliZXMgdGhlIG5lY2Vzc2FyeSBzdGVwcyB0byB1c2UgRGlzdHV0aWxzIHdpdGggdGhlIEdOVSBDL0MrKworY29tcGlsZXJzIGluIHRoZWlyIEN5Z3dpbiBhbmQgTWluR1cgZGlzdHJpYnV0aW9ucy4gWyNdXyBGb3IgYSBQeXRob24gaW50ZXJwcmV0ZXIKK3RoYXQgd2FzIGJ1aWx0IHdpdGggQ3lnd2luLCBldmVyeXRoaW5nIHNob3VsZCB3b3JrIHdpdGhvdXQgYW55IG9mIHRoZXNlCitmb2xsb3dpbmcgc3RlcHMuCisKK05vdCBhbGwgZXh0ZW5zaW9ucyBjYW4gYmUgYnVpbHQgd2l0aCBNaW5HVyBvciBDeWd3aW4sIGJ1dCBtYW55IGNhbi4gIEV4dGVuc2lvbnMKK21vc3QgbGlrZWx5IHRvIG5vdCB3b3JrIGFyZSB0aG9zZSB0aGF0IHVzZSBDKysgb3IgZGVwZW5kIG9uIE1pY3Jvc29mdCBWaXN1YWwgQworZXh0ZW5zaW9ucy4KKworVG8gbGV0IERpc3R1dGlscyBjb21waWxlIHlvdXIgZXh0ZW5zaW9uIHdpdGggQ3lnd2luIHlvdSBoYXZlIHRvIHR5cGU6OgorCisgICBweXRob24gc2V0dXAucHkgYnVpbGQgLS1jb21waWxlcj1jeWd3aW4KKworYW5kIGZvciBDeWd3aW4gaW4gbm8tY3lnd2luIG1vZGUgWyNdXyBvciBmb3IgTWluR1cgdHlwZTo6CisKKyAgIHB5dGhvbiBzZXR1cC5weSBidWlsZCAtLWNvbXBpbGVyPW1pbmd3MzIKKworSWYgeW91IHdhbnQgdG8gdXNlIGFueSBvZiB0aGVzZSBvcHRpb25zL2NvbXBpbGVycyBhcyBkZWZhdWx0LCB5b3Ugc2hvdWxkCitjb25zaWRlciB3cml0aW5nIGl0IGluIHlvdXIgcGVyc29uYWwgb3Igc3lzdGVtLXdpZGUgY29uZmlndXJhdGlvbiBmaWxlIGZvcgorRGlzdHV0aWxzIChzZWUgc2VjdGlvbiA6cmVmOmBpbnN0LWNvbmZpZy1maWxlc2AuKQorCitPbGRlciBWZXJzaW9ucyBvZiBQeXRob24gYW5kIE1pbkdXCisiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiCitUaGUgZm9sbG93aW5nIGluc3RydWN0aW9ucyBvbmx5IGFwcGx5IGlmIHlvdSdyZSB1c2luZyBhIHZlcnNpb24gb2YgUHl0aG9uCitpbmZlcmlvciB0byAyLjQuMSB3aXRoIGEgTWluR1cgaW5mZXJpb3IgdG8gMy4wLjAgKHdpdGgKK2JpbnV0aWxzLTIuMTMuOTAtMjAwMzAxMTEtMSkuCisKK1RoZXNlIGNvbXBpbGVycyByZXF1aXJlIHNvbWUgc3BlY2lhbCBsaWJyYXJpZXMuICBUaGlzIHRhc2sgaXMgbW9yZSBjb21wbGV4IHRoYW4KK2ZvciBCb3JsYW5kJ3MgQysrLCBiZWNhdXNlIHRoZXJlIGlzIG5vIHByb2dyYW0gdG8gY29udmVydCB0aGUgbGlicmFyeS4gIEZpcnN0Cit5b3UgaGF2ZSB0byBjcmVhdGUgYSBsaXN0IG9mIHN5bWJvbHMgd2hpY2ggdGhlIFB5dGhvbiBETEwgZXhwb3J0cy4gKFlvdSBjYW4gZmluZAorYSBnb29kIHByb2dyYW0gZm9yIHRoaXMgdGFzayBhdAoraHR0cDovL3d3dy5lbW1lc3RlY2guY29tL3NvZnR3YXJlL3BleHBvcnRzLTAuNDMvZG93bmxvYWRfcGV4cG9ydHMuaHRtbCkuCisKKy4uIEkgZG9uJ3QgdW5kZXJzdGFuZCB3aGF0IHRoZSBuZXh0IGxpbmUgbWVhbnMuIC0tYW1rCisuLiAoaW5jbHVzaXZlIHRoZSByZWZlcmVuY2VzIG9uIGRhdGEgc3RydWN0dXJlcy4pCisKKzo6CisKKyAgIHBleHBvcnRzIHB5dGhvbjI1LmRsbCA+cHl0aG9uMjUuZGVmCisKK1RoZSBsb2NhdGlvbiBvZiBhbiBpbnN0YWxsZWQgOmZpbGU6YHB5dGhvbjI1LmRsbGAgd2lsbCBkZXBlbmQgb24gdGhlCitpbnN0YWxsYXRpb24gb3B0aW9ucyBhbmQgdGhlIHZlcnNpb24gYW5kIGxhbmd1YWdlIG9mIFdpbmRvd3MuICBJbiBhICJqdXN0IGZvcgorbWUiIGluc3RhbGxhdGlvbiwgaXQgd2lsbCBhcHBlYXIgaW4gdGhlIHJvb3Qgb2YgdGhlIGluc3RhbGxhdGlvbiBkaXJlY3RvcnkuICBJbgorYSBzaGFyZWQgaW5zdGFsbGF0aW9uLCBpdCB3aWxsIGJlIGxvY2F0ZWQgaW4gdGhlIHN5c3RlbSBkaXJlY3RvcnkuCisKK1RoZW4geW91IGNhbiBjcmVhdGUgZnJvbSB0aGVzZSBpbmZvcm1hdGlvbiBhbiBpbXBvcnQgbGlicmFyeSBmb3IgZ2NjLiA6OgorCisgICAvY3lnd2luL2Jpbi9kbGx0b29sIC0tZGxsbmFtZSBweXRob24yNS5kbGwgLS1kZWYgcHl0aG9uMjUuZGVmIC0tb3V0cHV0LWxpYiBsaWJweXRob24yNS5hCisKK1RoZSByZXN1bHRpbmcgbGlicmFyeSBoYXMgdG8gYmUgcGxhY2VkIGluIHRoZSBzYW1lIGRpcmVjdG9yeSBhcworOmZpbGU6YHB5dGhvbjI1LmxpYmAuIChTaG91bGQgYmUgdGhlIDpmaWxlOmBsaWJzYCBkaXJlY3RvcnkgdW5kZXIgeW91ciBQeXRob24KK2luc3RhbGxhdGlvbiBkaXJlY3RvcnkuKQorCitJZiB5b3VyIGV4dGVuc2lvbiB1c2VzIG90aGVyIGxpYnJhcmllcyAoemxpYiwuLi4pIHlvdSBtaWdodCAgaGF2ZSB0byBjb252ZXJ0Cit0aGVtIHRvby4gVGhlIGNvbnZlcnRlZCBmaWxlcyBoYXZlIHRvIHJlc2lkZSBpbiB0aGUgc2FtZSBkaXJlY3RvcmllcyBhcyB0aGUKK25vcm1hbCBsaWJyYXJpZXMgZG8uCisKKworLi4gc2VlYWxzbzo6CisKKyAgIGBCdWlsZGluZyBQeXRob24gbW9kdWxlcyBvbiBNUyBXaW5kb3dzIHBsYXRmb3JtIHdpdGggTWluR1cgPGh0dHA6Ly93d3cuem9wZS5vcmcvTWVtYmVycy9hbHMvdGlwcy93aW4zMl9taW5nd19tb2R1bGVzPmBfCisgICAgICBJbmZvcm1hdGlvbiBhYm91dCBidWlsZGluZyB0aGUgcmVxdWlyZWQgbGlicmFyaWVzIGZvciB0aGUgTWluR1cgZW52aXJvbm1lbnQuCisKKworLi4gcnVicmljOjogRm9vdG5vdGVzCisKKy4uIFsjXSBUaGlzIGFsc28gbWVhbnMgeW91IGNvdWxkIHJlcGxhY2UgYWxsIGV4aXN0aW5nIENPRkYtbGlicmFyaWVzIHdpdGggT01GLWxpYnJhcmllcworICAgb2YgdGhlIHNhbWUgbmFtZS4KKworLi4gWyNdIENoZWNrIGh0dHA6Ly9zb3VyY2VzLnJlZGhhdC5jb20vY3lnd2luLyBhbmQgaHR0cDovL3d3dy5taW5ndy5vcmcvIGZvciBtb3JlCisgICBpbmZvcm1hdGlvbgorCisuLiBbI10gVGhlbiB5b3UgaGF2ZSBubyBQT1NJWCBlbXVsYXRpb24gYXZhaWxhYmxlLCBidXQgeW91IGFsc28gZG9uJ3QgbmVlZAorICAgOmZpbGU6YGN5Z3dpbjEuZGxsYC4KZGlmZiAtLWdpdCBhL0RvYy9leHRlbmRpbmcvZXh0ZW5kaW5nLnJzdCBiL0RvYy9leHRlbmRpbmcvZXh0ZW5kaW5nLnJzdAppbmRleCBjNGNlZDFhLi4zMjYxNTgwIDEwMDY0NAotLS0gYS9Eb2MvZXh0ZW5kaW5nL2V4dGVuZGluZy5yc3QKKysrIGIvRG9jL2V4dGVuZGluZy9leHRlbmRpbmcucnN0CkBAIC0zMjEsNyArMzIxLDcgQEAKIAogVGhlIDpjb25zdDpgTUVUSF9LRVlXT1JEU2AgYml0IG1heSBiZSBzZXQgaW4gdGhlIHRoaXJkIGZpZWxkIGlmIGtleXdvcmQKIGFyZ3VtZW50cyBzaG91bGQgYmUgcGFzc2VkIHRvIHRoZSBmdW5jdGlvbi4gIEluIHRoaXMgY2FzZSwgdGhlIEMgZnVuY3Rpb24gc2hvdWxkCi1hY2NlcHQgYSB0aGlyZCBgYFB5T2JqZWN0IFwqYGAgcGFyYW1ldGVyIHdoaWNoIHdpbGwgYmUgYSBkaWN0aW9uYXJ5IG9mIGtleXdvcmRzLgorYWNjZXB0IGEgdGhpcmQgYGBQeU9iamVjdCAqYGAgcGFyYW1ldGVyIHdoaWNoIHdpbGwgYmUgYSBkaWN0aW9uYXJ5IG9mIGtleXdvcmRzLgogVXNlIDpjOmZ1bmM6YFB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3Jkc2AgdG8gcGFyc2UgdGhlIGFyZ3VtZW50cyB0byBzdWNoIGEKIGZ1bmN0aW9uLgogCkBAIC0zODQsOSArMzg0LDYgQEAKICAgICAgICAgICBpbXBvcnRzIGl0LiAqLwogICAgICAgIFB5SW1wb3J0X0ltcG9ydE1vZHVsZSgic3BhbSIpOwogCi1BbiBleGFtcGxlIG1heSBiZSBmb3VuZCBpbiB0aGUgZmlsZSA6ZmlsZTpgRGVtby9lbWJlZC9kZW1vLmNgIGluIHRoZSBQeXRob24KLXNvdXJjZSBkaXN0cmlidXRpb24uCi0KIC4uIG5vdGU6OgogCiAgICBSZW1vdmluZyBlbnRyaWVzIGZyb20gYGBzeXMubW9kdWxlc2BgIG9yIGltcG9ydGluZyBjb21waWxlZCBtb2R1bGVzIGludG8KZGlmZiAtLWdpdCBhL0RvYy9leHRlbmRpbmcvbmV3dHlwZXMucnN0IGIvRG9jL2V4dGVuZGluZy9uZXd0eXBlcy5yc3QKaW5kZXggMmJhMDFiYy4uNzZjNTVmYyAxMDA2NDQKLS0tIGEvRG9jL2V4dGVuZGluZy9uZXd0eXBlcy5yc3QKKysrIGIvRG9jL2V4dGVuZGluZy9uZXd0eXBlcy5yc3QKQEAgLTI2LDExICsyNiwxMiBAQAogPT09PT09PT09PQogCiBUaGUgUHl0aG9uIHJ1bnRpbWUgc2VlcyBhbGwgUHl0aG9uIG9iamVjdHMgYXMgdmFyaWFibGVzIG9mIHR5cGUKLTpjOnR5cGU6YFB5T2JqZWN0XCpgLiAgQSA6Yzp0eXBlOmBQeU9iamVjdGAgaXMgbm90IGEgdmVyeSBtYWduaWZpY2VudCBvYmplY3QgLSBpdAotanVzdCBjb250YWlucyB0aGUgcmVmY291bnQgYW5kIGEgcG9pbnRlciB0byB0aGUgb2JqZWN0J3MgInR5cGUgb2JqZWN0Ii4gIFRoaXMgaXMKLXdoZXJlIHRoZSBhY3Rpb24gaXM7IHRoZSB0eXBlIG9iamVjdCBkZXRlcm1pbmVzIHdoaWNoIChDKSBmdW5jdGlvbnMgZ2V0IGNhbGxlZAotd2hlbiwgZm9yIGluc3RhbmNlLCBhbiBhdHRyaWJ1dGUgZ2V0cyBsb29rZWQgdXAgb24gYW4gb2JqZWN0IG9yIGl0IGlzIG11bHRpcGxpZWQKLWJ5IGFub3RoZXIgb2JqZWN0LiAgVGhlc2UgQyBmdW5jdGlvbnMgYXJlIGNhbGxlZCAidHlwZSBtZXRob2RzIi4KKzpjOnR5cGU6YFB5T2JqZWN0XCpgLCB3aGljaCBzZXJ2ZXMgYXMgYSAiYmFzZSB0eXBlIiBmb3IgYWxsIFB5dGhvbiBvYmplY3RzLgorOmM6dHlwZTpgUHlPYmplY3RgIGl0c2VsZiBvbmx5IGNvbnRhaW5zIHRoZSByZWZjb3VudCBhbmQgYSBwb2ludGVyIHRvIHRoZQorb2JqZWN0J3MgInR5cGUgb2JqZWN0Ii4gIFRoaXMgaXMgd2hlcmUgdGhlIGFjdGlvbiBpczsgdGhlIHR5cGUgb2JqZWN0IGRldGVybWluZXMKK3doaWNoIChDKSBmdW5jdGlvbnMgZ2V0IGNhbGxlZCB3aGVuLCBmb3IgaW5zdGFuY2UsIGFuIGF0dHJpYnV0ZSBnZXRzIGxvb2tlZAordXAgb24gYW4gb2JqZWN0IG9yIGl0IGlzIG11bHRpcGxpZWQgYnkgYW5vdGhlciBvYmplY3QuICBUaGVzZSBDIGZ1bmN0aW9ucworYXJlIGNhbGxlZCAidHlwZSBtZXRob2RzIi4KIAogU28sIGlmIHlvdSB3YW50IHRvIGRlZmluZSBhIG5ldyBvYmplY3QgdHlwZSwgeW91IG5lZWQgdG8gY3JlYXRlIGEgbmV3IHR5cGUKIG9iamVjdC4KQEAgLTUwLDE1ICs1MSwxNSBAQAogICAgICAgIFB5T2JqZWN0X0hFQUQKICAgIH0gbm9kZHlfTm9kZHlPYmplY3Q7CiAKLVRoaXMgaXMgd2hhdCBhIE5vZGR5IG9iamVjdCB3aWxsIGNvbnRhaW4tLS1pbiB0aGlzIGNhc2UsIG5vdGhpbmcgbW9yZSB0aGFuIGV2ZXJ5Ci1QeXRob24gb2JqZWN0IGNvbnRhaW5zLCBuYW1lbHkgYSByZWZjb3VudCBhbmQgYSBwb2ludGVyIHRvIGEgdHlwZSBvYmplY3QuICBUaGVzZQotYXJlIHRoZSBmaWVsZHMgdGhlIGBgUHlPYmplY3RfSEVBRGBgIG1hY3JvIGJyaW5ncyBpbi4gIFRoZSByZWFzb24gZm9yIHRoZSBtYWNybwotaXMgdG8gc3RhbmRhcmRpemUgdGhlIGxheW91dCBhbmQgdG8gZW5hYmxlIHNwZWNpYWwgZGVidWdnaW5nIGZpZWxkcyBpbiBkZWJ1ZwotYnVpbGRzLiAgTm90ZSB0aGF0IHRoZXJlIGlzIG5vIHNlbWljb2xvbiBhZnRlciB0aGUgYGBQeU9iamVjdF9IRUFEYGAgbWFjcm87IG9uZQotaXMgaW5jbHVkZWQgaW4gdGhlIG1hY3JvIGRlZmluaXRpb24uICBCZSB3YXJ5IG9mIGFkZGluZyBvbmUgYnkgYWNjaWRlbnQ7IGl0J3MKLWVhc3kgdG8gZG8gZnJvbSBoYWJpdCwgYW5kIHlvdXIgY29tcGlsZXIgbWlnaHQgbm90IGNvbXBsYWluLCBidXQgc29tZW9uZSBlbHNlJ3MKLXByb2JhYmx5IHdpbGwhICAoT24gV2luZG93cywgTVNWQyBpcyBrbm93biB0byBjYWxsIHRoaXMgYW4gZXJyb3IgYW5kIHJlZnVzZSB0bwotY29tcGlsZSB0aGUgY29kZS4pCitUaGlzIGlzIHdoYXQgYSBOb2RkeSBvYmplY3Qgd2lsbCBjb250YWluLS0taW4gdGhpcyBjYXNlLCBub3RoaW5nIG1vcmUgdGhhbiB3aGF0CitldmVyeSBQeXRob24gb2JqZWN0IGNvbnRhaW5zLS0tYSByZWZjb3VudCBhbmQgYSBwb2ludGVyIHRvIGEgdHlwZSBvYmplY3QuCitUaGVzZSBhcmUgdGhlIGZpZWxkcyB0aGUgYGBQeU9iamVjdF9IRUFEYGAgbWFjcm8gYnJpbmdzIGluLiAgVGhlIHJlYXNvbiBmb3IgdGhlCittYWNybyBpcyB0byBzdGFuZGFyZGl6ZSB0aGUgbGF5b3V0IGFuZCB0byBlbmFibGUgc3BlY2lhbCBkZWJ1Z2dpbmcgZmllbGRzIGluCitkZWJ1ZyBidWlsZHMuICBOb3RlIHRoYXQgdGhlcmUgaXMgbm8gc2VtaWNvbG9uIGFmdGVyIHRoZSBgYFB5T2JqZWN0X0hFQURgYAorbWFjcm87IG9uZSBpcyBpbmNsdWRlZCBpbiB0aGUgbWFjcm8gZGVmaW5pdGlvbi4gIEJlIHdhcnkgb2YgYWRkaW5nIG9uZSBieQorYWNjaWRlbnQ7IGl0J3MgZWFzeSB0byBkbyBmcm9tIGhhYml0LCBhbmQgeW91ciBjb21waWxlciBtaWdodCBub3QgY29tcGxhaW4sCitidXQgc29tZW9uZSBlbHNlJ3MgcHJvYmFibHkgd2lsbCEgIChPbiBXaW5kb3dzLCBNU1ZDIGlzIGtub3duIHRvIGNhbGwgdGhpcyBhbgorZXJyb3IgYW5kIHJlZnVzZSB0byBjb21waWxlIHRoZSBjb2RlLikKIAogRm9yIGNvbnRyYXN0LCBsZXQncyB0YWtlIGEgbG9vayBhdCB0aGUgY29ycmVzcG9uZGluZyBkZWZpbml0aW9uIGZvciBzdGFuZGFyZAogUHl0aG9uIGZsb2F0czo6CkBAIC0yMjQsNyArMjI1LDcgQEAKIEFkZGluZyBkYXRhIGFuZCBtZXRob2RzIHRvIHRoZSBCYXNpYyBleGFtcGxlCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCi1MZXQncyBleHBlbmQgdGhlIGJhc2ljIGV4YW1wbGUgdG8gYWRkIHNvbWUgZGF0YSBhbmQgbWV0aG9kcy4gIExldCdzIGFsc28gbWFrZQorTGV0J3MgZXh0ZW5kIHRoZSBiYXNpYyBleGFtcGxlIHRvIGFkZCBzb21lIGRhdGEgYW5kIG1ldGhvZHMuICBMZXQncyBhbHNvIG1ha2UKIHRoZSB0eXBlIHVzYWJsZSBhcyBhIGJhc2UgY2xhc3MuIFdlJ2xsIGNyZWF0ZSBhIG5ldyBtb2R1bGUsIDptb2Q6YG5vZGR5MmAgdGhhdAogYWRkcyB0aGVzZSBjYXBhYmlsaXRpZXM6CiAKQEAgLTI4OCwxOCArMjg5LDE2IEBACiAgICAgICAgc2VsZiA9IChOb2RkeSAqKXR5cGUtPnRwX2FsbG9jKHR5cGUsIDApOwogICAgICAgIGlmIChzZWxmICE9IE5VTEwpIHsKICAgICAgICAgICAgc2VsZi0+Zmlyc3QgPSBQeVN0cmluZ19Gcm9tU3RyaW5nKCIiKTsKLSAgICAgICAgICAgaWYgKHNlbGYtPmZpcnN0ID09IE5VTEwpCi0gICAgICAgICAgICAgeworICAgICAgICAgICBpZiAoc2VsZi0+Zmlyc3QgPT0gTlVMTCkgewogICAgICAgICAgICAgICAgUHlfREVDUkVGKHNlbGYpOwogICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgICAgICAgfQorICAgICAgICAgICB9CiAKICAgICAgICAgICAgc2VsZi0+bGFzdCA9IFB5U3RyaW5nX0Zyb21TdHJpbmcoIiIpOwotICAgICAgICAgICBpZiAoc2VsZi0+bGFzdCA9PSBOVUxMKQotICAgICAgICAgICAgIHsKKyAgICAgICAgICAgaWYgKHNlbGYtPmxhc3QgPT0gTlVMTCkgewogICAgICAgICAgICAgICAgUHlfREVDUkVGKHNlbGYpOwogICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgICAgICAgfQorICAgICAgICAgICB9CiAKICAgICAgICAgICAgc2VsZi0+bnVtYmVyID0gMDsKICAgICAgICB9CkBAIC0zMjcsOCArMzI2LDggQEAKIGNyZWF0ZWQuIE5ldyBtZXRob2RzIGFsd2F5cyBhY2NlcHQgcG9zaXRpb25hbCBhbmQga2V5d29yZCBhcmd1bWVudHMsIGJ1dCB0aGV5CiBvZnRlbiBpZ25vcmUgdGhlIGFyZ3VtZW50cywgbGVhdmluZyB0aGUgYXJndW1lbnQgaGFuZGxpbmcgdG8gaW5pdGlhbGl6ZXIKIG1ldGhvZHMuIE5vdGUgdGhhdCBpZiB0aGUgdHlwZSBzdXBwb3J0cyBzdWJjbGFzc2luZywgdGhlIHR5cGUgcGFzc2VkIG1heSBub3QgYmUKLXRoZSB0eXBlIGJlaW5nIGRlZmluZWQuICBUaGUgbmV3IG1ldGhvZCBjYWxscyB0aGUgdHBfYWxsb2Mgc2xvdCB0byBhbGxvY2F0ZQotbWVtb3J5LiBXZSBkb24ndCBmaWxsIHRoZSA6YXR0cjpgdHBfYWxsb2NgIHNsb3Qgb3Vyc2VsdmVzLiBSYXRoZXIKK3RoZSB0eXBlIGJlaW5nIGRlZmluZWQuICBUaGUgbmV3IG1ldGhvZCBjYWxscyB0aGUgOmF0dHI6YHRwX2FsbG9jYCBzbG90IHRvCithbGxvY2F0ZSBtZW1vcnkuIFdlIGRvbid0IGZpbGwgdGhlIDphdHRyOmB0cF9hbGxvY2Agc2xvdCBvdXJzZWx2ZXMuIFJhdGhlcgogOmM6ZnVuYzpgUHlUeXBlX1JlYWR5YCBmaWxscyBpdCBmb3IgdXMgYnkgaW5oZXJpdGluZyBpdCBmcm9tIG91ciBiYXNlIGNsYXNzLAogd2hpY2ggaXMgOmNsYXNzOmBvYmplY3RgIGJ5IGRlZmF1bHQuICBNb3N0IHR5cGVzIHVzZSB0aGUgZGVmYXVsdCBhbGxvY2F0aW9uLgogCkBAIC00NDUsMTUgKzQ0NCw2IEBACiAgICBzdGF0aWMgUHlPYmplY3QgKgogICAgTm9kZHlfbmFtZShOb2RkeSogc2VsZikKICAgIHsKLSAgICAgICBzdGF0aWMgUHlPYmplY3QgKmZvcm1hdCA9IE5VTEw7Ci0gICAgICAgUHlPYmplY3QgKmFyZ3MsICpyZXN1bHQ7Ci0KLSAgICAgICBpZiAoZm9ybWF0ID09IE5VTEwpIHsKLSAgICAgICAgICAgZm9ybWF0ID0gUHlTdHJpbmdfRnJvbVN0cmluZygiJXMgJXMiKTsKLSAgICAgICAgICAgaWYgKGZvcm1hdCA9PSBOVUxMKQotICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgfQotCiAgICAgICAgaWYgKHNlbGYtPmZpcnN0ID09IE5VTEwpIHsKICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX0F0dHJpYnV0ZUVycm9yLCAiZmlyc3QiKTsKICAgICAgICAgICAgcmV0dXJuIE5VTEw7CkBAIC00NjQsMjAgKzQ1NCwxMyBAQAogICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICAgICB9CiAKLSAgICAgICBhcmdzID0gUHlfQnVpbGRWYWx1ZSgiT08iLCBzZWxmLT5maXJzdCwgc2VsZi0+bGFzdCk7Ci0gICAgICAgaWYgKGFyZ3MgPT0gTlVMTCkKLSAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0KLSAgICAgICByZXN1bHQgPSBQeVN0cmluZ19Gb3JtYXQoZm9ybWF0LCBhcmdzKTsKLSAgICAgICBQeV9ERUNSRUYoYXJncyk7Ci0KLSAgICAgICByZXR1cm4gcmVzdWx0OworICAgICAgIHJldHVybiBQeVVuaWNvZGVfRnJvbUZvcm1hdCgiJVMgJVMiLCBzZWxmLT5maXJzdCwgc2VsZi0+bGFzdCk7CiAgICB9CiAKIFRoZSBtZXRob2QgaXMgaW1wbGVtZW50ZWQgYXMgYSBDIGZ1bmN0aW9uIHRoYXQgdGFrZXMgYSA6Y2xhc3M6YE5vZGR5YCAob3IKIDpjbGFzczpgTm9kZHlgIHN1YmNsYXNzKSBpbnN0YW5jZSBhcyB0aGUgZmlyc3QgYXJndW1lbnQuICBNZXRob2RzIGFsd2F5cyB0YWtlIGFuCiBpbnN0YW5jZSBhcyB0aGUgZmlyc3QgYXJndW1lbnQuIE1ldGhvZHMgb2Z0ZW4gdGFrZSBwb3NpdGlvbmFsIGFuZCBrZXl3b3JkCi1hcmd1bWVudHMgYXMgd2VsbCwgYnV0IGluIHRoaXMgY2FzZWQgd2UgZG9uJ3QgdGFrZSBhbnkgYW5kIGRvbid0IG5lZWQgdG8gYWNjZXB0Cithcmd1bWVudHMgYXMgd2VsbCwgYnV0IGluIHRoaXMgY2FzZSB3ZSBkb24ndCB0YWtlIGFueSBhbmQgZG9uJ3QgbmVlZCB0byBhY2NlcHQKIGEgcG9zaXRpb25hbCBhcmd1bWVudCB0dXBsZSBvciBrZXl3b3JkIGFyZ3VtZW50IGRpY3Rpb25hcnkuIFRoaXMgbWV0aG9kIGlzCiBlcXVpdmFsZW50IHRvIHRoZSBQeXRob24gbWV0aG9kOjoKIApAQCAtMTEyNCw5ICsxMTA3LDYgQEAKIGF0IHRoZSBlbmQ7IGl0IGlzIGEgc2VudGluZWwgdGhhdCBtYXJrcyB0aGUgZW5kIG9mIHRoZSBhcnJheS4gIFRoZQogOmF0dHI6YG1sX25hbWVgIGZpZWxkIG9mIHRoZSBzZW50aW5lbCBtdXN0IGJlICpOVUxMKi4KIAotWFhYIE5lZWQgdG8gcmVmZXIgdG8gc29tZSB1bmlmaWVkIGRpc2N1c3Npb24gb2YgdGhlIHN0cnVjdHVyZSBmaWVsZHMsIHNoYXJlZAotd2l0aCB0aGUgbmV4dCBzZWN0aW9uLgotCiBUaGUgc2Vjb25kIHRhYmxlIGlzIHVzZWQgdG8gZGVmaW5lIGF0dHJpYnV0ZXMgd2hpY2ggbWFwIGRpcmVjdGx5IHRvIGRhdGEgc3RvcmVkCiBpbiB0aGUgaW5zdGFuY2UuICBBIHZhcmlldHkgb2YgcHJpbWl0aXZlIEMgdHlwZXMgYXJlIHN1cHBvcnRlZCwgYW5kIGFjY2VzcyBtYXkKIGJlIHJlYWQtb25seSBvciByZWFkLXdyaXRlLiAgVGhlIHN0cnVjdHVyZXMgaW4gdGhlIHRhYmxlIGFyZSBkZWZpbmVkIGFzOjoKQEAgLTExNDYsOCArMTEyNiw2IEBACiBjb252ZXJ0IFB5dGhvbiB2YWx1ZXMgdG8gYW5kIGZyb20gQyB2YWx1ZXMuICBUaGUgOmF0dHI6YGZsYWdzYCBmaWVsZCBpcyB1c2VkIHRvCiBzdG9yZSBmbGFncyB3aGljaCBjb250cm9sIGhvdyB0aGUgYXR0cmlidXRlIGNhbiBiZSBhY2Nlc3NlZC4KIAotWFhYIE5lZWQgdG8gbW92ZSBzb21lIG9mIHRoaXMgdG8gYSBzaGFyZWQgc2VjdGlvbiEKLQogVGhlIGZvbGxvd2luZyBmbGFnIGNvbnN0YW50cyBhcmUgZGVmaW5lZCBpbiA6ZmlsZTpgc3RydWN0bWVtYmVyLmhgOyB0aGV5IG1heSBiZQogY29tYmluZWQgdXNpbmcgYml0d2lzZS1PUi4KIApAQCAtMTM3Miw3ICsxMzUwLDcgQEAKICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgfQogCi1YWFggc29tZSBmaWVsZHMgbmVlZCB0byBiZSBhZGRlZCBoZXJlLi4uIDo6Cis6OgogCiAgICAvKiBJdGVyYXRvcnMgKi8KICAgIGdldGl0ZXJmdW5jIHRwX2l0ZXI7CmRpZmYgLS1naXQgYS9Eb2MvZmFxL2Rlc2lnbi5yc3QgYi9Eb2MvZmFxL2Rlc2lnbi5yc3QKaW5kZXggODdjYzk0Mi4uNDNlYzY5MiAxMDA2NDQKLS0tIGEvRG9jL2ZhcS9kZXNpZ24ucnN0CisrKyBiL0RvYy9mYXEvZGVzaWduLnJzdApAQCAtNTI2LDE0ICs1MjYsMTYgQEAKIAogRGljdGlvbmFyaWVzIHdvcmsgYnkgY29tcHV0aW5nIGEgaGFzaCBjb2RlIGZvciBlYWNoIGtleSBzdG9yZWQgaW4gdGhlIGRpY3Rpb25hcnkKIHVzaW5nIHRoZSA6ZnVuYzpgaGFzaGAgYnVpbHQtaW4gZnVuY3Rpb24uICBUaGUgaGFzaCBjb2RlIHZhcmllcyB3aWRlbHkgZGVwZW5kaW5nCi1vbiB0aGUga2V5OyBmb3IgZXhhbXBsZSwgIlB5dGhvbiIgaGFzaGVzIHRvIC01MzkyOTQyOTYgd2hpbGUgInB5dGhvbiIsIGEgc3RyaW5nCi10aGF0IGRpZmZlcnMgYnkgYSBzaW5nbGUgYml0LCBoYXNoZXMgdG8gMTE0MjMzMTk3Ni4gIFRoZSBoYXNoIGNvZGUgaXMgdGhlbiB1c2VkCi10byBjYWxjdWxhdGUgYSBsb2NhdGlvbiBpbiBhbiBpbnRlcm5hbCBhcnJheSB3aGVyZSB0aGUgdmFsdWUgd2lsbCBiZSBzdG9yZWQuCi1Bc3N1bWluZyB0aGF0IHlvdSdyZSBzdG9yaW5nIGtleXMgdGhhdCBhbGwgaGF2ZSBkaWZmZXJlbnQgaGFzaCB2YWx1ZXMsIHRoaXMKLW1lYW5zIHRoYXQgZGljdGlvbmFyaWVzIHRha2UgY29uc3RhbnQgdGltZSAtLSBPKDEpLCBpbiBjb21wdXRlciBzY2llbmNlIG5vdGF0aW9uCi0tLSB0byByZXRyaWV2ZSBhIGtleS4gIEl0IGFsc28gbWVhbnMgdGhhdCBubyBzb3J0ZWQgb3JkZXIgb2YgdGhlIGtleXMgaXMKLW1haW50YWluZWQsIGFuZCB0cmF2ZXJzaW5nIHRoZSBhcnJheSBhcyB0aGUgYGAua2V5cygpYGAgYW5kIGBgLml0ZW1zKClgYCBkbyB3aWxsCi1vdXRwdXQgdGhlIGRpY3Rpb25hcnkncyBjb250ZW50IGluIHNvbWUgYXJiaXRyYXJ5IGp1bWJsZWQgb3JkZXIuCitvbiB0aGUga2V5IGFuZCBhIHBlci1wcm9jZXNzIHNlZWQ7IGZvciBleGFtcGxlLCAiUHl0aG9uIiBjb3VsZCBoYXNoIHRvCistNTM5Mjk0Mjk2IHdoaWxlICJweXRob24iLCBhIHN0cmluZyB0aGF0IGRpZmZlcnMgYnkgYSBzaW5nbGUgYml0LCBjb3VsZCBoYXNoCit0byAxMTQyMzMxOTc2LiAgVGhlIGhhc2ggY29kZSBpcyB0aGVuIHVzZWQgdG8gY2FsY3VsYXRlIGEgbG9jYXRpb24gaW4gYW4KK2ludGVybmFsIGFycmF5IHdoZXJlIHRoZSB2YWx1ZSB3aWxsIGJlIHN0b3JlZC4gIEFzc3VtaW5nIHRoYXQgeW91J3JlIHN0b3JpbmcKK2tleXMgdGhhdCBhbGwgaGF2ZSBkaWZmZXJlbnQgaGFzaCB2YWx1ZXMsIHRoaXMgbWVhbnMgdGhhdCBkaWN0aW9uYXJpZXMgdGFrZQorY29uc3RhbnQgdGltZSAtLSBPKDEpLCBpbiBjb21wdXRlciBzY2llbmNlIG5vdGF0aW9uIC0tIHRvIHJldHJpZXZlIGEga2V5LiAgSXQKK2Fsc28gbWVhbnMgdGhhdCBubyBzb3J0ZWQgb3JkZXIgb2YgdGhlIGtleXMgaXMgbWFpbnRhaW5lZCwgYW5kIHRyYXZlcnNpbmcgdGhlCithcnJheSBhcyB0aGUgYGAua2V5cygpYGAgYW5kIGBgLml0ZW1zKClgYCBkbyB3aWxsIG91dHB1dCB0aGUgZGljdGlvbmFyeSdzCitjb250ZW50IGluIHNvbWUgYXJiaXRyYXJ5IGp1bWJsZWQgb3JkZXIgdGhhdCBjYW4gY2hhbmdlIHdpdGggZXZlcnkgaW52b2NhdGlvbiBvZgorYSBwcm9ncmFtLgogCiAKIFdoeSBtdXN0IGRpY3Rpb25hcnkga2V5cyBiZSBpbW11dGFibGU/CkBAIC02NDUsNyArNjQ3LDcgQEAKIFB5dGhvbiAyLjYgYWRkcyBhbiA6bW9kOmBhYmNgIG1vZHVsZSB0aGF0IGxldHMgeW91IGRlZmluZSBBYnN0cmFjdCBCYXNlIENsYXNzZXMKIChBQkNzKS4gIFlvdSBjYW4gdGhlbiB1c2UgOmZ1bmM6YGlzaW5zdGFuY2VgIGFuZCA6ZnVuYzpgaXNzdWJjbGFzc2AgdG8gY2hlY2sKIHdoZXRoZXIgYW4gaW5zdGFuY2Ugb3IgYSBjbGFzcyBpbXBsZW1lbnRzIGEgcGFydGljdWxhciBBQkMuICBUaGUKLTptb2Q6YGNvbGxlY3Rpb25zYCBtb2R1bGUgZGVmaW5lcyBhIHNldCBvZiB1c2VmdWwgQUJDcyBzdWNoIGFzCis6bW9kOmBjb2xsZWN0aW9ucy5hYmNgIG1vZHVsZSBkZWZpbmVzIGEgc2V0IG9mIHVzZWZ1bCBBQkNzIHN1Y2ggYXMKIDpjbGFzczpgSXRlcmFibGVgLCA6Y2xhc3M6YENvbnRhaW5lcmAsIGFuZCA6Y2xhc3M6YE11dGFibGVNYXBwaW5nYC4KIAogRm9yIFB5dGhvbiwgbWFueSBvZiB0aGUgYWR2YW50YWdlcyBvZiBpbnRlcmZhY2Ugc3BlY2lmaWNhdGlvbnMgY2FuIGJlIG9idGFpbmVkCmRpZmYgLS1naXQgYS9Eb2MvZmFxL2V4dGVuZGluZy5yc3QgYi9Eb2MvZmFxL2V4dGVuZGluZy5yc3QKaW5kZXggN2M2ODRhMC4uZmEyNDVjNyAxMDA2NDQKLS0tIGEvRG9jL2ZhcS9leHRlbmRpbmcucnN0CisrKyBiL0RvYy9mYXEvZXh0ZW5kaW5nLnJzdApAQCAtNDQ1LDM0ICs0NDUsMyBAQAogVGhlIEJvb3N0IFB5dGhvbiBMaWJyYXJ5IChCUEwsIGh0dHA6Ly93d3cuYm9vc3Qub3JnL2xpYnMvcHl0aG9uL2RvYy9pbmRleC5odG1sKQogcHJvdmlkZXMgYSB3YXkgb2YgZG9pbmcgdGhpcyBmcm9tIEMrKyAoaS5lLiB5b3UgY2FuIGluaGVyaXQgZnJvbSBhbiBleHRlbnNpb24KIGNsYXNzIHdyaXR0ZW4gaW4gQysrIHVzaW5nIHRoZSBCUEwpLgotCi0KLVdoZW4gaW1wb3J0aW5nIG1vZHVsZSBYLCB3aHkgZG8gSSBnZXQgInVuZGVmaW5lZCBzeW1ib2w6IFB5VW5pY29kZVVDUzIqIj8KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLQotWW91IGFyZSB1c2luZyBhIHZlcnNpb24gb2YgUHl0aG9uIHRoYXQgdXNlcyBhIDQtYnl0ZSByZXByZXNlbnRhdGlvbiBmb3IgVW5pY29kZQotY2hhcmFjdGVycywgYnV0IHNvbWUgQyBleHRlbnNpb24gbW9kdWxlIHlvdSBhcmUgaW1wb3J0aW5nIHdhcyBjb21waWxlZCB1c2luZyBhCi1QeXRob24gdGhhdCB1c2VzIGEgMi1ieXRlIHJlcHJlc2VudGF0aW9uIGZvciBVbmljb2RlIGNoYXJhY3RlcnMgKHRoZSBkZWZhdWx0KS4KLQotSWYgaW5zdGVhZCB0aGUgbmFtZSBvZiB0aGUgdW5kZWZpbmVkIHN5bWJvbCBzdGFydHMgd2l0aCBgYFB5VW5pY29kZVVDUzRgYCwgdGhlCi1wcm9ibGVtIGlzIHRoZSByZXZlcnNlOiBQeXRob24gd2FzIGJ1aWx0IHVzaW5nIDItYnl0ZSBVbmljb2RlIGNoYXJhY3RlcnMsIGFuZAotdGhlIGV4dGVuc2lvbiBtb2R1bGUgd2FzIGNvbXBpbGVkIHVzaW5nIGEgUHl0aG9uIHdpdGggNC1ieXRlIFVuaWNvZGUgY2hhcmFjdGVycy4KLQotVGhpcyBjYW4gZWFzaWx5IG9jY3VyIHdoZW4gdXNpbmcgcHJlLWJ1aWx0IGV4dGVuc2lvbiBwYWNrYWdlcy4gIFJlZEhhdCBMaW51eAotNy54LCBpbiBwYXJ0aWN1bGFyLCBwcm92aWRlZCBhICJweXRob24yIiBiaW5hcnkgdGhhdCBpcyBjb21waWxlZCB3aXRoIDQtYnl0ZQotVW5pY29kZS4gIFRoaXMgb25seSBjYXVzZXMgdGhlIGxpbmsgZmFpbHVyZSBpZiB0aGUgZXh0ZW5zaW9uIHVzZXMgYW55IG9mIHRoZQotYGBQeVVuaWNvZGVfKigpYGAgZnVuY3Rpb25zLiAgSXQgaXMgYWxzbyBhIHByb2JsZW0gaWYgYW4gZXh0ZW5zaW9uIHVzZXMgYW55IG9mCi10aGUgVW5pY29kZS1yZWxhdGVkIGZvcm1hdCBzcGVjaWZpZXJzIGZvciA6YzpmdW5jOmBQeV9CdWlsZFZhbHVlYCAob3Igc2ltaWxhcikgb3IKLXBhcmFtZXRlciBzcGVjaWZpY2F0aW9ucyBmb3IgOmM6ZnVuYzpgUHlBcmdfUGFyc2VUdXBsZWAuCi0KLVlvdSBjYW4gY2hlY2sgdGhlIHNpemUgb2YgdGhlIFVuaWNvZGUgY2hhcmFjdGVyIGEgUHl0aG9uIGludGVycHJldGVyIGlzIHVzaW5nIGJ5Ci1jaGVja2luZyB0aGUgdmFsdWUgb2Ygc3lzLm1heHVuaWNvZGU6Ci0KLSAgID4+PiBpbXBvcnQgc3lzCi0gICA+Pj4gaWYgc3lzLm1heHVuaWNvZGUgPiA2NTUzNToKLSAgIC4uLiAgICAgcHJpbnQoJ1VDUzQgYnVpbGQnKQotICAgLi4uIGVsc2U6Ci0gICAuLi4gICAgIHByaW50KCdVQ1MyIGJ1aWxkJykKLQotVGhlIG9ubHkgd2F5IHRvIHNvbHZlIHRoaXMgcHJvYmxlbSBpcyB0byB1c2UgZXh0ZW5zaW9uIG1vZHVsZXMgY29tcGlsZWQgd2l0aCBhCi1QeXRob24gYmluYXJ5IGJ1aWx0IHVzaW5nIHRoZSBzYW1lIHNpemUgZm9yIFVuaWNvZGUgY2hhcmFjdGVycy4KZGlmZiAtLWdpdCBhL0RvYy9nbG9zc2FyeS5yc3QgYi9Eb2MvZ2xvc3NhcnkucnN0CmluZGV4IDJmMTI3N2MuLjA2MjkxOGEgMTAwNjQ0Ci0tLSBhL0RvYy9nbG9zc2FyeS5yc3QKKysrIGIvRG9jL2dsb3NzYXJ5LnJzdApAQCAtMzQsNyArMzQsNyBAQAogICAgICAgc3ViY2xhc3Nlcywgd2hpY2ggYXJlIGNsYXNzZXMgdGhhdCBkb24ndCBpbmhlcml0IGZyb20gYSBjbGFzcyBidXQgYXJlCiAgICAgICBzdGlsbCByZWNvZ25pemVkIGJ5IDpmdW5jOmBpc2luc3RhbmNlYCBhbmQgOmZ1bmM6YGlzc3ViY2xhc3NgOyBzZWUgdGhlCiAgICAgICA6bW9kOmBhYmNgIG1vZHVsZSBkb2N1bWVudGF0aW9uLiAgUHl0aG9uIGNvbWVzIHdpdGggbWFueSBidWlsdC1pbiBBQkNzIGZvcgotICAgICAgZGF0YSBzdHJ1Y3R1cmVzIChpbiB0aGUgOm1vZDpgY29sbGVjdGlvbnNgIG1vZHVsZSksIG51bWJlcnMgKGluIHRoZQorICAgICAgZGF0YSBzdHJ1Y3R1cmVzIChpbiB0aGUgOm1vZDpgY29sbGVjdGlvbnMuYWJjYCBtb2R1bGUpLCBudW1iZXJzIChpbiB0aGUKICAgICAgIDptb2Q6YG51bWJlcnNgIG1vZHVsZSksIHN0cmVhbXMgKGluIHRoZSA6bW9kOmBpb2AgbW9kdWxlKSwgaW1wb3J0IGZpbmRlcnMKICAgICAgIGFuZCBsb2FkZXJzIChpbiB0aGUgOm1vZDpgaW1wb3J0bGliLmFiY2AgbW9kdWxlKS4gIFlvdSBjYW4gY3JlYXRlIHlvdXIgb3duCiAgICAgICBBQkNzIHdpdGggdGhlIDptb2Q6YGFiY2AgbW9kdWxlLgpAQCAtNDM0LDggKzQzNCw4IEBACiAKICAgIG1hcHBpbmcKICAgICAgIEEgY29udGFpbmVyIG9iamVjdCB0aGF0IHN1cHBvcnRzIGFyYml0cmFyeSBrZXkgbG9va3VwcyBhbmQgaW1wbGVtZW50cyB0aGUKLSAgICAgIG1ldGhvZHMgc3BlY2lmaWVkIGluIHRoZSA6Y2xhc3M6YH5jb2xsZWN0aW9ucy5NYXBwaW5nYCBvcgotICAgICAgOmNsYXNzOmB+Y29sbGVjdGlvbnMuTXV0YWJsZU1hcHBpbmdgCisgICAgICBtZXRob2RzIHNwZWNpZmllZCBpbiB0aGUgOmNsYXNzOmB+Y29sbGVjdGlvbnMuYWJjLk1hcHBpbmdgIG9yCisgICAgICA6Y2xhc3M6YH5jb2xsZWN0aW9ucy5hYmMuTXV0YWJsZU1hcHBpbmdgCiAgICAgICA6cmVmOmBhYnN0cmFjdCBiYXNlIGNsYXNzZXMgPGNvbGxlY3Rpb25zLWFic3RyYWN0LWJhc2UtY2xhc3Nlcz5gLiAgRXhhbXBsZXMKICAgICAgIGluY2x1ZGUgOmNsYXNzOmBkaWN0YCwgOmNsYXNzOmBjb2xsZWN0aW9ucy5kZWZhdWx0ZGljdGAsCiAgICAgICA6Y2xhc3M6YGNvbGxlY3Rpb25zLk9yZGVyZWREaWN0YCBhbmQgOmNsYXNzOmBjb2xsZWN0aW9ucy5Db3VudGVyYC4KQEAgLTU0NCw2ICs1NDQsMjQgQEAKICAgICAgICAgIGZvciBwaWVjZSBpbiBmb29kOgogICAgICAgICAgICAgIHByaW50KHBpZWNlKQogCisgICBxdWFsaWZpZWQgbmFtZQorICAgICAgQSBkb3R0ZWQgbmFtZSBzaG93aW5nIHRoZSAicGF0aCIgZnJvbSBhIG1vZHVsZSdzIGdsb2JhbCBzY29wZSB0byBhCisgICAgICBjbGFzcywgZnVuY3Rpb24gb3IgbWV0aG9kIGRlZmluZWQgaW4gdGhhdCBtb2R1bGUsIGFzIGRlZmluZWQgaW4KKyAgICAgIDpwZXA6YDMxNTVgLiAgRm9yIHRvcC1sZXZlbCBmdW5jdGlvbnMgYW5kIGNsYXNzZXMsIHRoZSBxdWFsaWZpZWQgbmFtZQorICAgICAgaXMgdGhlIHNhbWUgYXMgdGhlIG9iamVjdCdzIG5hbWU6OgorCisgICAgICAgICA+Pj4gY2xhc3MgQzoKKyAgICAgICAgIC4uLiAgICAgY2xhc3MgRDoKKyAgICAgICAgIC4uLiAgICAgICAgIGRlZiBtZXRoKHNlbGYpOgorICAgICAgICAgLi4uICAgICAgICAgICAgIHBhc3MKKyAgICAgICAgIC4uLgorICAgICAgICAgPj4+IEMuX19xdWFsbmFtZV9fCisgICAgICAgICAnQycKKyAgICAgICAgID4+PiBDLkQuX19xdWFsbmFtZV9fCisgICAgICAgICAnQy5EJworICAgICAgICAgPj4+IEMuRC5tZXRoLl9fcXVhbG5hbWVfXworICAgICAgICAgJ0MuRC5tZXRoJworCiAgICByZWZlcmVuY2UgY291bnQKICAgICAgIFRoZSBudW1iZXIgb2YgcmVmZXJlbmNlcyB0byBhbiBvYmplY3QuICBXaGVuIHRoZSByZWZlcmVuY2UgY291bnQgb2YgYW4KICAgICAgIG9iamVjdCBkcm9wcyB0byB6ZXJvLCBpdCBpcyBkZWFsbG9jYXRlZC4gIFJlZmVyZW5jZSBjb3VudGluZyBpcwpAQCAtNTg2LDYgKzYwNCwxNCBAQAogICAgICAgYW4gOnRlcm06YGV4cHJlc3Npb25gIG9yIGEgb25lIG9mIHNldmVyYWwgY29uc3RydWN0cyB3aXRoIGEga2V5d29yZCwgc3VjaAogICAgICAgYXMgOmtleXdvcmQ6YGlmYCwgOmtleXdvcmQ6YHdoaWxlYCBvciA6a2V5d29yZDpgZm9yYC4KIAorICAgc3RydWN0IHNlcXVlbmNlCisgICAgICBBIHR1cGxlIHdpdGggbmFtZWQgZWxlbWVudHMuIFN0cnVjdCBzZXF1ZW5jZXMgZXhwb3NlIGFuIGludGVyZmFjZSBzaW1pbGFyCisgICAgICB0byA6dGVybTpgbmFtZWQgdHVwbGVgIGluIHRoYXQgZWxlbWVudHMgY2FuIGVpdGhlciBiZSBhY2Nlc3NlZCBlaXRoZXIgYnkKKyAgICAgIGluZGV4IG9yIGFzIGFuIGF0dHJpYnV0ZS4gSG93ZXZlciwgdGhleSBkbyBub3QgaGF2ZSBhbnkgb2YgdGhlIG5hbWVkIHR1cGxlCisgICAgICBtZXRob2RzIGxpa2UgOm1ldGg6YH5jb2xsZWN0aW9ucy5zb21lbmFtZWR0dXBsZS5fbWFrZWAgb3IKKyAgICAgIDptZXRoOmB+Y29sbGVjdGlvbnMuc29tZW5hbWVkdHVwbGUuX2FzZGljdGAuIEV4YW1wbGVzIG9mIHN0cnVjdCBzZXF1ZW5jZXMKKyAgICAgIGluY2x1ZGUgOmRhdGE6YHN5cy5mbG9hdF9pbmZvYCBhbmQgdGhlIHJldHVybiB2YWx1ZSBvZiA6ZnVuYzpgb3Muc3RhdGAuCisKICAgIHRyaXBsZS1xdW90ZWQgc3RyaW5nCiAgICAgICBBIHN0cmluZyB3aGljaCBpcyBib3VuZCBieSB0aHJlZSBpbnN0YW5jZXMgb2YgZWl0aGVyIGEgcXVvdGF0aW9uIG1hcmsKICAgICAgICgiKSBvciBhbiBhcG9zdHJvcGhlICgnKS4gIFdoaWxlIHRoZXkgZG9uJ3QgcHJvdmlkZSBhbnkgZnVuY3Rpb25hbGl0eQpkaWZmIC0tZ2l0IGEvRG9jL2hvd3RvL2Rlc2NyaXB0b3IucnN0IGIvRG9jL2hvd3RvL2Rlc2NyaXB0b3IucnN0CmluZGV4IDE2MTZmNjcuLjBiNTEzZjkgMTAwNjQ0Ci0tLSBhL0RvYy9ob3d0by9kZXNjcmlwdG9yLnJzdAorKysgYi9Eb2MvaG93dG8vZGVzY3JpcHRvci5yc3QKQEAgLTM2LDkgKzM2LDcgQEAKIGxvb2tlZC11cCB2YWx1ZSBpcyBhbiBvYmplY3QgZGVmaW5pbmcgb25lIG9mIHRoZSBkZXNjcmlwdG9yIG1ldGhvZHMsIHRoZW4gUHl0aG9uCiBtYXkgb3ZlcnJpZGUgdGhlIGRlZmF1bHQgYmVoYXZpb3IgYW5kIGludm9rZSB0aGUgZGVzY3JpcHRvciBtZXRob2QgaW5zdGVhZC4KIFdoZXJlIHRoaXMgb2NjdXJzIGluIHRoZSBwcmVjZWRlbmNlIGNoYWluIGRlcGVuZHMgb24gd2hpY2ggZGVzY3JpcHRvciBtZXRob2RzCi13ZXJlIGRlZmluZWQuICBOb3RlIHRoYXQgZGVzY3JpcHRvcnMgYXJlIG9ubHkgaW52b2tlZCBmb3IgbmV3IHN0eWxlIG9iamVjdHMgb3IKLWNsYXNzZXMgKGEgY2xhc3MgaXMgbmV3IHN0eWxlIGlmIGl0IGluaGVyaXRzIGZyb20gOmNsYXNzOmBvYmplY3RgIG9yCi06Y2xhc3M6YHR5cGVgKS4KK3dlcmUgZGVmaW5lZC4KIAogRGVzY3JpcHRvcnMgYXJlIGEgcG93ZXJmdWwsIGdlbmVyYWwgcHVycG9zZSBwcm90b2NvbC4gIFRoZXkgYXJlIHRoZSBtZWNoYW5pc20KIGJlaGluZCBwcm9wZXJ0aWVzLCBtZXRob2RzLCBzdGF0aWMgbWV0aG9kcywgY2xhc3MgbWV0aG9kcywgYW5kIDpmdW5jOmBzdXBlcigpYC4KQEAgLTg5LDggKzg3LDYgQEAKIGlzIGludm9rZWQgYWNjb3JkaW5nIHRvIHRoZSBwcmVjZWRlbmNlIHJ1bGVzIGxpc3RlZCBiZWxvdy4KIAogVGhlIGRldGFpbHMgb2YgaW52b2NhdGlvbiBkZXBlbmQgb24gd2hldGhlciBgYG9iamBgIGlzIGFuIG9iamVjdCBvciBhIGNsYXNzLgotRWl0aGVyIHdheSwgZGVzY3JpcHRvcnMgb25seSB3b3JrIGZvciBuZXcgc3R5bGUgb2JqZWN0cyBhbmQgY2xhc3Nlcy4gIEEgY2xhc3MgaXMKLW5ldyBzdHlsZSBpZiBpdCBpcyBhIHN1YmNsYXNzIG9mIDpjbGFzczpgb2JqZWN0YC4KIAogRm9yIG9iamVjdHMsIHRoZSBtYWNoaW5lcnkgaXMgaW4gOm1ldGg6YG9iamVjdC5fX2dldGF0dHJpYnV0ZV9fYCB3aGljaAogdHJhbnNmb3JtcyBgYGIueGBgIGludG8gYGB0eXBlKGIpLl9fZGljdF9fWyd4J10uX19nZXRfXyhiLCB0eXBlKGIpKWBgLiAgVGhlCkBAIC0xMTUsNyArMTExLDYgQEAKIAogKiBkZXNjcmlwdG9ycyBhcmUgaW52b2tlZCBieSB0aGUgOm1ldGg6YF9fZ2V0YXR0cmlidXRlX19gIG1ldGhvZAogKiBvdmVycmlkaW5nIDptZXRoOmBfX2dldGF0dHJpYnV0ZV9fYCBwcmV2ZW50cyBhdXRvbWF0aWMgZGVzY3JpcHRvciBjYWxscwotKiA6bWV0aDpgX19nZXRhdHRyaWJ1dGVfX2AgaXMgb25seSBhdmFpbGFibGUgd2l0aCBuZXcgc3R5bGUgY2xhc3NlcyBhbmQgb2JqZWN0cwogKiA6bWV0aDpgb2JqZWN0Ll9fZ2V0YXR0cmlidXRlX19gIGFuZCA6bWV0aDpgdHlwZS5fX2dldGF0dHJpYnV0ZV9fYCBtYWtlCiAgIGRpZmZlcmVudCBjYWxscyB0byA6bWV0aDpgX19nZXRfX2AuCiAqIGRhdGEgZGVzY3JpcHRvcnMgYWx3YXlzIG92ZXJyaWRlIGluc3RhbmNlIGRpY3Rpb25hcmllcy4KQEAgLTEyOCwxMCArMTIzLDcgQEAKIGBgbWBgIGlzIHJldHVybmVkIHVuY2hhbmdlZC4gIElmIG5vdCBpbiB0aGUgZGljdGlvbmFyeSwgYGBtYGAgcmV2ZXJ0cyB0byBhCiBzZWFyY2ggdXNpbmcgOm1ldGg6YG9iamVjdC5fX2dldGF0dHJpYnV0ZV9fYC4KIAotTm90ZSwgaW4gUHl0aG9uIDIuMiwgYGBzdXBlcihCLCBvYmopLm0oKWBgIHdvdWxkIG9ubHkgaW52b2tlIDptZXRoOmBfX2dldF9fYCBpZgotYGBtYGAgd2FzIGEgZGF0YSBkZXNjcmlwdG9yLiAgSW4gUHl0aG9uIDIuMywgbm9uLWRhdGEgZGVzY3JpcHRvcnMgYWxzbyBnZXQKLWludm9rZWQgdW5sZXNzIGFuIG9sZC1zdHlsZSBjbGFzcyBpcyBpbnZvbHZlZC4gIFRoZSBpbXBsZW1lbnRhdGlvbiBkZXRhaWxzIGFyZQotaW4gOmM6ZnVuYzpgc3VwZXJfZ2V0YXR0cm8oKWAgaW4KK1RoZSBpbXBsZW1lbnRhdGlvbiBkZXRhaWxzIGFyZSBpbiA6YzpmdW5jOmBzdXBlcl9nZXRhdHRybygpYCBpbgogYE9iamVjdHMvdHlwZW9iamVjdC5jIDxodHRwOi8vc3ZuLnB5dGhvbi5vcmcvdmlldy9weXRob24vdHJ1bmsvT2JqZWN0cy90eXBlb2JqZWN0LmM/dmlldz1tYXJrdXA+YF8KIGFuZCBhIHB1cmUgUHl0aG9uIGVxdWl2YWxlbnQgY2FuIGJlIGZvdW5kIGluIGBHdWlkbydzIFR1dG9yaWFsYF8uCiAKZGlmZiAtLWdpdCBhL0RvYy9ob3d0by9sb2dnaW5nLWNvb2tib29rLnJzdCBiL0RvYy9ob3d0by9sb2dnaW5nLWNvb2tib29rLnJzdAppbmRleCBhYTRhN2RmLi4xZjViZDM3IDEwMDY0NAotLS0gYS9Eb2MvaG93dG8vbG9nZ2luZy1jb29rYm9vay5yc3QKKysrIGIvRG9jL2hvd3RvL2xvZ2dpbmctY29va2Jvb2sucnN0CkBAIC0xMzE1LDMgKzEzMTUsMzEgQEAKIEZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHRoaXMgY29uZmlndXJhdGlvbiwgeW91IGNhbiBzZWUgdGhlIGByZWxldmFudAogc2VjdGlvbiA8aHR0cHM6Ly9kb2NzLmRqYW5nb3Byb2plY3QuY29tL2VuLzEuMy90b3BpY3MvbG9nZ2luZy8jY29uZmlndXJpbmctbG9nZ2luZz5gXwogb2YgdGhlIERqYW5nbyBkb2N1bWVudGF0aW9uLgorCisuLiBfY29va2Jvb2stcm90YXRvci1uYW1lcjoKKworVXNpbmcgYSByb3RhdG9yIGFuZCBuYW1lciB0byBjdXN0b21pc2UgbG9nIHJvdGF0aW9uIHByb2Nlc3NpbmcKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK0FuIGV4YW1wbGUgb2YgaG93IHlvdSBjYW4gZGVmaW5lIGEgbmFtZXIgYW5kIHJvdGF0b3IgaXMgZ2l2ZW4gaW4gdGhlIGZvbGxvd2luZworc25pcHBldCwgd2hpY2ggc2hvd3MgemxpYi1iYXNlZCBjb21wcmVzc2lvbiBvZiB0aGUgbG9nIGZpbGU6OgorCisgICAgZGVmIG5hbWVyKG5hbWUpOgorICAgICAgICByZXR1cm4gbmFtZSArICIuZ3oiCisKKyAgICBkZWYgcm90YXRvcihzb3VyY2UsIGRlc3QpOgorICAgICAgICB3aXRoIG9wZW4oc291cmNlLCAicmIiKSBhcyBzZjoKKyAgICAgICAgICAgIGRhdGEgPSBzZi5yZWFkKCkKKyAgICAgICAgICAgIGNvbXByZXNzZWQgPSB6bGliLmNvbXByZXNzKGRhdGEsIDkpCisgICAgICAgICAgICB3aXRoIG9wZW4oZGVzdCwgIndiIikgYXMgZGY6CisgICAgICAgICAgICAgICAgZGYud3JpdGUoY29tcHJlc3NlZCkKKyAgICAgICAgb3MucmVtb3ZlKHNvdXJjZSkKKworICAgIHJoID0gbG9nZ2luZy5oYW5kbGVycy5Sb3RhdGluZ0ZpbGVIYW5kbGVyKC4uLikKKyAgICByaC5yb3RhdG9yID0gcm90YXRvcgorICAgIHJoLm5hbWVyID0gbmFtZXIKKworVGhlc2UgYXJlIG5vdCAidHJ1ZSIgLmd6IGZpbGVzLCBhcyB0aGV5IGFyZSBiYXJlIGNvbXByZXNzZWQgZGF0YSwgd2l0aCBubworImNvbnRhaW5lciIgc3VjaCBhcyB5b3XigJlkIGZpbmQgaW4gYW4gYWN0dWFsIGd6aXAgZmlsZS4gVGhpcyBzbmlwcGV0IGlzIGp1c3QKK2ZvciBpbGx1c3RyYXRpb24gcHVycG9zZXMuCisKZGlmZiAtLWdpdCBhL0RvYy9ob3d0by9zb2NrZXRzLnJzdCBiL0RvYy9ob3d0by9zb2NrZXRzLnJzdAppbmRleCBhNGFlOWMwLi5kMjQwMDA4IDEwMDY0NAotLS0gYS9Eb2MvaG93dG8vc29ja2V0cy5yc3QKKysrIGIvRG9jL2hvd3RvL3NvY2tldHMucnN0CkBAIC0yNSw4ICsyNSw4IEBACiB3b3JraW5nLiBJdCBkb2Vzbid0IGNvdmVyIHRoZSBmaW5lIHBvaW50cyAoYW5kIHRoZXJlIGFyZSBhIGxvdCBvZiB0aGVtKSwgYnV0IEkKIGhvcGUgaXQgd2lsbCBnaXZlIHlvdSBlbm91Z2ggYmFja2dyb3VuZCB0byBiZWdpbiB1c2luZyB0aGVtIGRlY2VudGx5LgogCi1JJ20gb25seSBnb2luZyB0byB0YWxrIGFib3V0IElORVQgc29ja2V0cywgYnV0IHRoZXkgYWNjb3VudCBmb3IgYXQgbGVhc3QgOTklIG9mCi10aGUgc29ja2V0cyBpbiB1c2UuIEFuZCBJJ2xsIG9ubHkgdGFsayBhYm91dCBTVFJFQU0gc29ja2V0cyAtIHVubGVzcyB5b3UgcmVhbGx5CitJJ20gb25seSBnb2luZyB0byB0YWxrIGFib3V0IElORVQgKGkuZS4gSVB2NCkgc29ja2V0cywgYnV0IHRoZXkgYWNjb3VudCBmb3IgYXQgbGVhc3QgOTklIG9mCit0aGUgc29ja2V0cyBpbiB1c2UuIEFuZCBJJ2xsIG9ubHkgdGFsayBhYm91dCBTVFJFQU0gKGkuZS4gVENQKSBzb2NrZXRzIC0gdW5sZXNzIHlvdSByZWFsbHkKIGtub3cgd2hhdCB5b3UncmUgZG9pbmcgKGluIHdoaWNoIGNhc2UgdGhpcyBIT1dUTyBpc24ndCBmb3IgeW91ISksIHlvdSdsbCBnZXQKIGJldHRlciBiZWhhdmlvciBhbmQgcGVyZm9ybWFuY2UgZnJvbSBhIFNUUkVBTSBzb2NrZXQgdGhhbiBhbnl0aGluZyBlbHNlLiBJIHdpbGwKIHRyeSB0byBjbGVhciB1cCB0aGUgbXlzdGVyeSBvZiB3aGF0IGEgc29ja2V0IGlzLCBhcyB3ZWxsIGFzIHNvbWUgaGludHMgb24gaG93IHRvCkBAIC0yMDgsMTAgKzIwOCwxMCBAQAogICAgICAgICAgICAgICAgdG90YWxzZW50ID0gdG90YWxzZW50ICsgc2VudAogCiAgICAgICAgZGVmIG15cmVjZWl2ZShzZWxmKToKLSAgICAgICAgICAgbXNnID0gJycKKyAgICAgICAgICAgbXNnID0gYicnCiAgICAgICAgICAgIHdoaWxlIGxlbihtc2cpIDwgTVNHTEVOOgogICAgICAgICAgICAgICAgY2h1bmsgPSBzZWxmLnNvY2sucmVjdihNU0dMRU4tbGVuKG1zZykpCi0gICAgICAgICAgICAgICBpZiBjaHVuayA9PSAnJzoKKyAgICAgICAgICAgICAgIGlmIGNodW5rID09IGInJzoKICAgICAgICAgICAgICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IoInNvY2tldCBjb25uZWN0aW9uIGJyb2tlbiIpCiAgICAgICAgICAgICAgICBtc2cgPSBtc2cgKyBjaHVuawogICAgICAgICAgICByZXR1cm4gbXNnCkBAIC0zNzEsMTIgKzM3MSw2IEBACiBwb3RlbnRpYWxfd3JpdGVycyBsaXN0LiBJZiBpdCBzaG93cyB1cCBpbiB0aGUgd3JpdGFibGUgbGlzdCwgeW91IGhhdmUgYSBkZWNlbnQKIGNoYW5jZSB0aGF0IGl0IGhhcyBjb25uZWN0ZWQuCiAKLU9uZSB2ZXJ5IG5hc3R5IHByb2JsZW0gd2l0aCBgYHNlbGVjdGBgOiBpZiBzb21ld2hlcmUgaW4gdGhvc2UgaW5wdXQgbGlzdHMgb2YKLXNvY2tldHMgaXMgb25lIHdoaWNoIGhhcyBkaWVkIGEgbmFzdHkgZGVhdGgsIHRoZSBgYHNlbGVjdGBgIHdpbGwgZmFpbC4gWW91IHRoZW4KLW5lZWQgdG8gbG9vcCB0aHJvdWdoIGV2ZXJ5IHNpbmdsZSBkYW1uIHNvY2tldCBpbiBhbGwgdGhvc2UgbGlzdHMgYW5kIGRvIGEKLWBgc2VsZWN0KFtzb2NrXSxbXSxbXSwwKWBgIHVudGlsIHlvdSBmaW5kIHRoZSBiYWQgb25lLiBUaGF0IHRpbWVvdXQgb2YgMCBtZWFucwotaXQgd29uJ3QgdGFrZSBsb25nLCBidXQgaXQncyB1Z2x5LgotCiBBY3R1YWxseSwgYGBzZWxlY3RgYCBjYW4gYmUgaGFuZHkgZXZlbiB3aXRoIGJsb2NraW5nIHNvY2tldHMuIEl0J3Mgb25lIHdheSBvZgogZGV0ZXJtaW5pbmcgd2hldGhlciB5b3Ugd2lsbCBibG9jayAtIHRoZSBzb2NrZXQgcmV0dXJucyBhcyByZWFkYWJsZSB3aGVuIHRoZXJlJ3MKIHNvbWV0aGluZyBpbiB0aGUgYnVmZmVycy4gIEhvd2V2ZXIsIHRoaXMgc3RpbGwgZG9lc24ndCBoZWxwIHdpdGggdGhlIHByb2JsZW0gb2YKQEAgLTM4NiwyNiArMzgwLDYgQEAKIGZpbGVzLiBEb24ndCB0cnkgdGhpcyBvbiBXaW5kb3dzLiBPbiBXaW5kb3dzLCBgYHNlbGVjdGBgIHdvcmtzIHdpdGggc29ja2V0cwogb25seS4gQWxzbyBub3RlIHRoYXQgaW4gQywgbWFueSBvZiB0aGUgbW9yZSBhZHZhbmNlZCBzb2NrZXQgb3B0aW9ucyBhcmUgZG9uZQogZGlmZmVyZW50bHkgb24gV2luZG93cy4gSW4gZmFjdCwgb24gV2luZG93cyBJIHVzdWFsbHkgdXNlIHRocmVhZHMgKHdoaWNoIHdvcmsKLXZlcnksIHZlcnkgd2VsbCkgd2l0aCBteSBzb2NrZXRzLiBGYWNlIGl0LCBpZiB5b3Ugd2FudCBhbnkga2luZCBvZiBwZXJmb3JtYW5jZSwKLXlvdXIgY29kZSB3aWxsIGxvb2sgdmVyeSBkaWZmZXJlbnQgb24gV2luZG93cyB0aGFuIG9uIFVuaXguCit2ZXJ5LCB2ZXJ5IHdlbGwpIHdpdGggbXkgc29ja2V0cy4KIAogCi1QZXJmb3JtYW5jZQotLS0tLS0tLS0tLS0KLQotVGhlcmUncyBubyBxdWVzdGlvbiB0aGF0IHRoZSBmYXN0ZXN0IHNvY2tldHMgY29kZSB1c2VzIG5vbi1ibG9ja2luZyBzb2NrZXRzIGFuZAotc2VsZWN0IHRvIG11bHRpcGxleCB0aGVtLiBZb3UgY2FuIHB1dCB0b2dldGhlciBzb21ldGhpbmcgdGhhdCB3aWxsIHNhdHVyYXRlIGEKLUxBTiBjb25uZWN0aW9uIHdpdGhvdXQgcHV0dGluZyBhbnkgc3RyYWluIG9uIHRoZSBDUFUuCi0KLVRoZSB0cm91YmxlIGlzIHRoYXQgYW4gYXBwIHdyaXR0ZW4gdGhpcyB3YXkgY2FuJ3QgZG8gbXVjaCBvZiBhbnl0aGluZyBlbHNlIC0KLWl0IG5lZWRzIHRvIGJlIHJlYWR5IHRvIHNodWZmbGUgYnl0ZXMgYXJvdW5kIGF0IGFsbCB0aW1lcy4gQXNzdW1pbmcgdGhhdCB5b3VyCi1hcHAgaXMgYWN0dWFsbHkgc3VwcG9zZWQgdG8gZG8gc29tZXRoaW5nIG1vcmUgdGhhbiB0aGF0LCB0aHJlYWRpbmcgaXMgdGhlCi1vcHRpbWFsIHNvbHV0aW9uLCAoYW5kIHVzaW5nIG5vbi1ibG9ja2luZyBzb2NrZXRzIHdpbGwgYmUgZmFzdGVyIHRoYW4gdXNpbmcKLWJsb2NraW5nIHNvY2tldHMpLgotCi1GaW5hbGx5LCByZW1lbWJlciB0aGF0IGV2ZW4gdGhvdWdoIGJsb2NraW5nIHNvY2tldHMgYXJlIHNvbWV3aGF0IHNsb3dlciB0aGFuCi1ub24tYmxvY2tpbmcsIGluIG1hbnkgY2FzZXMgdGhleSBhcmUgdGhlICJyaWdodCIgc29sdXRpb24uIEFmdGVyIGFsbCwgaWYgeW91cgotYXBwIGlzIGRyaXZlbiBieSB0aGUgZGF0YSBpdCByZWNlaXZlcyBvdmVyIGEgc29ja2V0LCB0aGVyZSdzIG5vdCBtdWNoIHNlbnNlIGluCi1jb21wbGljYXRpbmcgdGhlIGxvZ2ljIGp1c3Qgc28geW91ciBhcHAgY2FuIHdhaXQgb24gYGBzZWxlY3RgYCBpbnN0ZWFkIG9mCi1gYHJlY3ZgYC4KLQpkaWZmIC0tZ2l0IGEvRG9jL2hvd3RvL3VybGxpYjIucnN0IGIvRG9jL2hvd3RvL3VybGxpYjIucnN0CmluZGV4IDU2N2MxYjEuLjNhYzgzMTIgMTAwNjQ0Ci0tLSBhL0RvYy9ob3d0by91cmxsaWIyLnJzdAorKysgYi9Eb2MvaG93dG8vdXJsbGliMi5yc3QKQEAgLTU2LDYgKzU2LDEzIEBACiAgICAgcmVzcG9uc2UgPSB1cmxsaWIucmVxdWVzdC51cmxvcGVuKCdodHRwOi8vcHl0aG9uLm9yZy8nKQogICAgIGh0bWwgPSByZXNwb25zZS5yZWFkKCkKIAorSWYgeW91IHdpc2ggdG8gcmV0cmlldmUgYSByZXNvdXJjZSB2aWEgVVJMIGFuZCBzdG9yZSBpdCBpbiBhIHRlbXBvcmFyeSBsb2NhdGlvbiwKK3lvdSBjYW4gZG8gc28gdmlhIHRoZSA6ZnVuYzpgdXJscmV0cmlldmVgIGZ1bmN0aW9uOjoKKworICAgIGltcG9ydCB1cmxsaWIucmVxdWVzdAorICAgIGxvY2FsX2ZpbGVuYW1lLCBoZWFkZXJzID0gdXJsbGliLnJlcXVlc3QudXJscmV0cmlldmUoJ2h0dHA6Ly9weXRob24ub3JnLycpCisgICAgaHRtbCA9IG9wZW4obG9jYWxfZmlsZW5hbWUpCisKIE1hbnkgdXNlcyBvZiB1cmxsaWIgd2lsbCBiZSB0aGF0IHNpbXBsZSAobm90ZSB0aGF0IGluc3RlYWQgb2YgYW4gJ2h0dHA6JyBVUkwgd2UKIGNvdWxkIGhhdmUgdXNlZCBhbiBVUkwgc3RhcnRpbmcgd2l0aCAnZnRwOicsICdmaWxlOicsIGV0Yy4pLiAgSG93ZXZlciwgaXQncyB0aGUKIHB1cnBvc2Ugb2YgdGhpcyB0dXRvcmlhbCB0byBleHBsYWluIHRoZSBtb3JlIGNvbXBsaWNhdGVkIGNhc2VzLCBjb25jZW50cmF0aW5nIG9uCmRpZmYgLS1naXQgYS9Eb2MvaW5jbHVkZXMvbm9kZHkyLmMgYi9Eb2MvaW5jbHVkZXMvbm9kZHkyLmMKaW5kZXggOWI4ZWFmYi4uOTY0MTU1OCAxMDA2NDQKLS0tIGEvRG9jL2luY2x1ZGVzL25vZGR5Mi5jCisrKyBiL0RvYy9pbmNsdWRlcy9ub2RkeTIuYwpAQCAtMjQsMTggKzI0LDE2IEBACiAgICAgc2VsZiA9IChOb2RkeSAqKXR5cGUtPnRwX2FsbG9jKHR5cGUsIDApOwogICAgIGlmIChzZWxmICE9IE5VTEwpIHsKICAgICAgICAgc2VsZi0+Zmlyc3QgPSBQeVVuaWNvZGVfRnJvbVN0cmluZygiIik7Ci0gICAgICAgIGlmIChzZWxmLT5maXJzdCA9PSBOVUxMKQotICAgICAgICAgIHsKKyAgICAgICAgaWYgKHNlbGYtPmZpcnN0ID09IE5VTEwpIHsKICAgICAgICAgICAgIFB5X0RFQ1JFRihzZWxmKTsKICAgICAgICAgICAgIHJldHVybiBOVUxMOwotICAgICAgICAgIH0KLSAgICAgICAgCisgICAgICAgIH0KKwogICAgICAgICBzZWxmLT5sYXN0ID0gUHlVbmljb2RlX0Zyb21TdHJpbmcoIiIpOwotICAgICAgICBpZiAoc2VsZi0+bGFzdCA9PSBOVUxMKQotICAgICAgICAgIHsKKyAgICAgICAgaWYgKHNlbGYtPmxhc3QgPT0gTlVMTCkgewogICAgICAgICAgICAgUHlfREVDUkVGKHNlbGYpOwogICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgICAgfQorICAgICAgICB9CiAKICAgICAgICAgc2VsZi0+bnVtYmVyID0gMDsKICAgICB9CkBAIC01MCwxMCArNDgsMTAgQEAKIAogICAgIHN0YXRpYyBjaGFyICprd2xpc3RbXSA9IHsiZmlyc3QiLCAibGFzdCIsICJudW1iZXIiLCBOVUxMfTsKIAotICAgIGlmICghIFB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2RzLCAifE9PaSIsIGt3bGlzdCwgCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZmaXJzdCwgJmxhc3QsIAorICAgIGlmICghIFB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2RzLCAifE9PaSIsIGt3bGlzdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmZpcnN0LCAmbGFzdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnNlbGYtPm51bWJlcikpCi0gICAgICAgIHJldHVybiAtMTsgCisgICAgICAgIHJldHVybiAtMTsKIAogICAgIGlmIChmaXJzdCkgewogICAgICAgICB0bXAgPSBzZWxmLT5maXJzdDsKQEAgLTg2LDE1ICs4NCw2IEBACiBzdGF0aWMgUHlPYmplY3QgKgogTm9kZHlfbmFtZShOb2RkeSogc2VsZikKIHsKLSAgICBzdGF0aWMgUHlPYmplY3QgKmZvcm1hdCA9IE5VTEw7Ci0gICAgUHlPYmplY3QgKmFyZ3MsICpyZXN1bHQ7Ci0KLSAgICBpZiAoZm9ybWF0ID09IE5VTEwpIHsKLSAgICAgICAgZm9ybWF0ID0gUHlVbmljb2RlX0Zyb21TdHJpbmcoIiVzICVzIik7Ci0gICAgICAgIGlmIChmb3JtYXQgPT0gTlVMTCkKLSAgICAgICAgICAgIHJldHVybiBOVUxMOwotICAgIH0KLQogICAgIGlmIChzZWxmLT5maXJzdCA9PSBOVUxMKSB7CiAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19BdHRyaWJ1dGVFcnJvciwgImZpcnN0Iik7CiAgICAgICAgIHJldHVybiBOVUxMOwpAQCAtMTA1LDE0ICs5NCw3IEBACiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KIAotICAgIGFyZ3MgPSBQeV9CdWlsZFZhbHVlKCJPTyIsIHNlbGYtPmZpcnN0LCBzZWxmLT5sYXN0KTsKLSAgICBpZiAoYXJncyA9PSBOVUxMKQotICAgICAgICByZXR1cm4gTlVMTDsKLQotICAgIHJlc3VsdCA9IFB5VW5pY29kZV9Gb3JtYXQoZm9ybWF0LCBhcmdzKTsKLSAgICBQeV9ERUNSRUYoYXJncyk7Ci0gICAgCi0gICAgcmV0dXJuIHJlc3VsdDsKKyAgICByZXR1cm4gUHlVbmljb2RlX0Zyb21Gb3JtYXQoIiVTICVTIiwgc2VsZi0+Zmlyc3QsIHNlbGYtPmxhc3QpOwogfQogCiBzdGF0aWMgUHlNZXRob2REZWYgTm9kZHlfbWV0aG9kc1tdID0gewpAQCAtMTQ1LDEyICsxMjcsMTIgQEAKICAgICBQeV9UUEZMQUdTX0RFRkFVTFQgfAogICAgICAgICBQeV9UUEZMQUdTX0JBU0VUWVBFLCAgIC8qIHRwX2ZsYWdzICovCiAgICAgIk5vZGR5IG9iamVjdHMiLCAgICAgICAgICAgLyogdHBfZG9jICovCi0gICAgMCwJCSAgICAgICAgICAgICAgIC8qIHRwX3RyYXZlcnNlICovCi0gICAgMCwJCSAgICAgICAgICAgICAgIC8qIHRwX2NsZWFyICovCi0gICAgMCwJCSAgICAgICAgICAgICAgIC8qIHRwX3JpY2hjb21wYXJlICovCi0gICAgMCwJCSAgICAgICAgICAgICAgIC8qIHRwX3dlYWtsaXN0b2Zmc2V0ICovCi0gICAgMCwJCSAgICAgICAgICAgICAgIC8qIHRwX2l0ZXIgKi8KLSAgICAwLAkJICAgICAgICAgICAgICAgLyogdHBfaXRlcm5leHQgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF90cmF2ZXJzZSAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2NsZWFyICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfcmljaGNvbXBhcmUgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF93ZWFrbGlzdG9mZnNldCAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2l0ZXIgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9pdGVybmV4dCAqLwogICAgIE5vZGR5X21ldGhvZHMsICAgICAgICAgICAgIC8qIHRwX21ldGhvZHMgKi8KICAgICBOb2RkeV9tZW1iZXJzLCAgICAgICAgICAgICAvKiB0cF9tZW1iZXJzICovCiAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfZ2V0c2V0ICovCkBAIC0xNzMsNyArMTU1LDcgQEAKIH07CiAKIFB5TU9ESU5JVF9GVU5DCi1QeUluaXRfbm9kZHkyKHZvaWQpIAorUHlJbml0X25vZGR5Mih2b2lkKQogewogICAgIFB5T2JqZWN0KiBtOwogCmRpZmYgLS1naXQgYS9Eb2MvaW5jbHVkZXMvbm9kZHkzLmMgYi9Eb2MvaW5jbHVkZXMvbm9kZHkzLmMKaW5kZXggODlmM2E3Ny4uOGE1YTc1MyAxMDA2NDQKLS0tIGEvRG9jL2luY2x1ZGVzL25vZGR5My5jCisrKyBiL0RvYy9pbmNsdWRlcy9ub2RkeTMuYwpAQCAtMjQsMTggKzI0LDE2IEBACiAgICAgc2VsZiA9IChOb2RkeSAqKXR5cGUtPnRwX2FsbG9jKHR5cGUsIDApOwogICAgIGlmIChzZWxmICE9IE5VTEwpIHsKICAgICAgICAgc2VsZi0+Zmlyc3QgPSBQeVVuaWNvZGVfRnJvbVN0cmluZygiIik7Ci0gICAgICAgIGlmIChzZWxmLT5maXJzdCA9PSBOVUxMKQotICAgICAgICAgIHsKKyAgICAgICAgaWYgKHNlbGYtPmZpcnN0ID09IE5VTEwpIHsKICAgICAgICAgICAgIFB5X0RFQ1JFRihzZWxmKTsKICAgICAgICAgICAgIHJldHVybiBOVUxMOwotICAgICAgICAgIH0KLSAgICAgICAgCisgICAgICAgIH0KKwogICAgICAgICBzZWxmLT5sYXN0ID0gUHlVbmljb2RlX0Zyb21TdHJpbmcoIiIpOwotICAgICAgICBpZiAoc2VsZi0+bGFzdCA9PSBOVUxMKQotICAgICAgICAgIHsKKyAgICAgICAgaWYgKHNlbGYtPmxhc3QgPT0gTlVMTCkgewogICAgICAgICAgICAgUHlfREVDUkVGKHNlbGYpOwogICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgICAgfQorICAgICAgICB9CiAKICAgICAgICAgc2VsZi0+bnVtYmVyID0gMDsKICAgICB9CkBAIC01MCwxMCArNDgsMTAgQEAKIAogICAgIHN0YXRpYyBjaGFyICprd2xpc3RbXSA9IHsiZmlyc3QiLCAibGFzdCIsICJudW1iZXIiLCBOVUxMfTsKIAotICAgIGlmICghIFB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2RzLCAifFNTaSIsIGt3bGlzdCwgCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZmaXJzdCwgJmxhc3QsIAorICAgIGlmICghIFB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2RzLCAifFNTaSIsIGt3bGlzdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmZpcnN0LCAmbGFzdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnNlbGYtPm51bWJlcikpCi0gICAgICAgIHJldHVybiAtMTsgCisgICAgICAgIHJldHVybiAtMTsKIAogICAgIGlmIChmaXJzdCkgewogICAgICAgICB0bXAgPSBzZWxmLT5maXJzdDsKQEAgLTg4LDIyICs4NiwyMiBAQAogc3RhdGljIGludAogTm9kZHlfc2V0Zmlyc3QoTm9kZHkgKnNlbGYsIFB5T2JqZWN0ICp2YWx1ZSwgdm9pZCAqY2xvc3VyZSkKIHsKLSAgaWYgKHZhbHVlID09IE5VTEwpIHsKLSAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCAiQ2Fubm90IGRlbGV0ZSB0aGUgZmlyc3QgYXR0cmlidXRlIik7Ci0gICAgcmV0dXJuIC0xOwotICB9Ci0gIAotICBpZiAoISBQeVVuaWNvZGVfQ2hlY2sodmFsdWUpKSB7Ci0gICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgCi0gICAgICAgICAgICAgICAgICAgICJUaGUgZmlyc3QgYXR0cmlidXRlIHZhbHVlIG11c3QgYmUgYSBzdHJpbmciKTsKLSAgICByZXR1cm4gLTE7Ci0gIH0KLSAgICAgIAotICBQeV9ERUNSRUYoc2VsZi0+Zmlyc3QpOwotICBQeV9JTkNSRUYodmFsdWUpOwotICBzZWxmLT5maXJzdCA9IHZhbHVlOyAgICAKKyAgICBpZiAodmFsdWUgPT0gTlVMTCkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCAiQ2Fubm90IGRlbGV0ZSB0aGUgZmlyc3QgYXR0cmlidXRlIik7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CiAKLSAgcmV0dXJuIDA7CisgICAgaWYgKCEgUHlVbmljb2RlX0NoZWNrKHZhbHVlKSkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgIlRoZSBmaXJzdCBhdHRyaWJ1dGUgdmFsdWUgbXVzdCBiZSBhIHN0cmluZyIpOworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorCisgICAgUHlfREVDUkVGKHNlbGYtPmZpcnN0KTsKKyAgICBQeV9JTkNSRUYodmFsdWUpOworICAgIHNlbGYtPmZpcnN0ID0gdmFsdWU7CisKKyAgICByZXR1cm4gMDsKIH0KIAogc3RhdGljIFB5T2JqZWN0ICoKQEAgLTExNiwzMCArMTE0LDMwIEBACiBzdGF0aWMgaW50CiBOb2RkeV9zZXRsYXN0KE5vZGR5ICpzZWxmLCBQeU9iamVjdCAqdmFsdWUsIHZvaWQgKmNsb3N1cmUpCiB7Ci0gIGlmICh2YWx1ZSA9PSBOVUxMKSB7Ci0gICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgIkNhbm5vdCBkZWxldGUgdGhlIGxhc3QgYXR0cmlidXRlIik7Ci0gICAgcmV0dXJuIC0xOwotICB9Ci0gIAotICBpZiAoISBQeVVuaWNvZGVfQ2hlY2sodmFsdWUpKSB7Ci0gICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgCi0gICAgICAgICAgICAgICAgICAgICJUaGUgbGFzdCBhdHRyaWJ1dGUgdmFsdWUgbXVzdCBiZSBhIHN0cmluZyIpOwotICAgIHJldHVybiAtMTsKLSAgfQotICAgICAgCi0gIFB5X0RFQ1JFRihzZWxmLT5sYXN0KTsKLSAgUHlfSU5DUkVGKHZhbHVlKTsKLSAgc2VsZi0+bGFzdCA9IHZhbHVlOyAgICAKKyAgICBpZiAodmFsdWUgPT0gTlVMTCkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCAiQ2Fubm90IGRlbGV0ZSB0aGUgbGFzdCBhdHRyaWJ1dGUiKTsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KIAotICByZXR1cm4gMDsKKyAgICBpZiAoISBQeVVuaWNvZGVfQ2hlY2sodmFsdWUpKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAiVGhlIGxhc3QgYXR0cmlidXRlIHZhbHVlIG11c3QgYmUgYSBzdHJpbmciKTsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKworICAgIFB5X0RFQ1JFRihzZWxmLT5sYXN0KTsKKyAgICBQeV9JTkNSRUYodmFsdWUpOworICAgIHNlbGYtPmxhc3QgPSB2YWx1ZTsKKworICAgIHJldHVybiAwOwogfQogCiBzdGF0aWMgUHlHZXRTZXREZWYgTm9kZHlfZ2V0c2V0ZXJzW10gPSB7Ci0gICAgeyJmaXJzdCIsIAorICAgIHsiZmlyc3QiLAogICAgICAoZ2V0dGVyKU5vZGR5X2dldGZpcnN0LCAoc2V0dGVyKU5vZGR5X3NldGZpcnN0LAogICAgICAiZmlyc3QgbmFtZSIsCiAgICAgIE5VTEx9LAotICAgIHsibGFzdCIsIAorICAgIHsibGFzdCIsCiAgICAgIChnZXR0ZXIpTm9kZHlfZ2V0bGFzdCwgKHNldHRlcilOb2RkeV9zZXRsYXN0LAogICAgICAibGFzdCBuYW1lIiwKICAgICAgTlVMTH0sCkBAIC0xNDksMjMgKzE0Nyw3IEBACiBzdGF0aWMgUHlPYmplY3QgKgogTm9kZHlfbmFtZShOb2RkeSogc2VsZikKIHsKLSAgICBzdGF0aWMgUHlPYmplY3QgKmZvcm1hdCA9IE5VTEw7Ci0gICAgUHlPYmplY3QgKmFyZ3MsICpyZXN1bHQ7Ci0KLSAgICBpZiAoZm9ybWF0ID09IE5VTEwpIHsKLSAgICAgICAgZm9ybWF0ID0gUHlVbmljb2RlX0Zyb21TdHJpbmcoIiVzICVzIik7Ci0gICAgICAgIGlmIChmb3JtYXQgPT0gTlVMTCkKLSAgICAgICAgICAgIHJldHVybiBOVUxMOwotICAgIH0KLQotICAgIGFyZ3MgPSBQeV9CdWlsZFZhbHVlKCJPTyIsIHNlbGYtPmZpcnN0LCBzZWxmLT5sYXN0KTsKLSAgICBpZiAoYXJncyA9PSBOVUxMKQotICAgICAgICByZXR1cm4gTlVMTDsKLQotICAgIHJlc3VsdCA9IFB5VW5pY29kZV9Gb3JtYXQoZm9ybWF0LCBhcmdzKTsKLSAgICBQeV9ERUNSRUYoYXJncyk7Ci0gICAgCi0gICAgcmV0dXJuIHJlc3VsdDsKKyAgICByZXR1cm4gUHlVbmljb2RlX0Zyb21Gb3JtYXQoIiVTICVTIiwgc2VsZi0+Zmlyc3QsIHNlbGYtPmxhc3QpOwogfQogCiBzdGF0aWMgUHlNZXRob2REZWYgTm9kZHlfbWV0aG9kc1tdID0gewpAQCAtMTk4LDEyICsxODAsMTIgQEAKICAgICBQeV9UUEZMQUdTX0RFRkFVTFQgfAogICAgICAgICBQeV9UUEZMQUdTX0JBU0VUWVBFLCAgIC8qIHRwX2ZsYWdzICovCiAgICAgIk5vZGR5IG9iamVjdHMiLCAgICAgICAgICAgLyogdHBfZG9jICovCi0gICAgMCwJCSAgICAgICAgICAgICAgIC8qIHRwX3RyYXZlcnNlICovCi0gICAgMCwJCSAgICAgICAgICAgICAgIC8qIHRwX2NsZWFyICovCi0gICAgMCwJCSAgICAgICAgICAgICAgIC8qIHRwX3JpY2hjb21wYXJlICovCi0gICAgMCwJCSAgICAgICAgICAgICAgIC8qIHRwX3dlYWtsaXN0b2Zmc2V0ICovCi0gICAgMCwJCSAgICAgICAgICAgICAgIC8qIHRwX2l0ZXIgKi8KLSAgICAwLAkJICAgICAgICAgICAgICAgLyogdHBfaXRlcm5leHQgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF90cmF2ZXJzZSAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2NsZWFyICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfcmljaGNvbXBhcmUgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF93ZWFrbGlzdG9mZnNldCAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2l0ZXIgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9pdGVybmV4dCAqLwogICAgIE5vZGR5X21ldGhvZHMsICAgICAgICAgICAgIC8qIHRwX21ldGhvZHMgKi8KICAgICBOb2RkeV9tZW1iZXJzLCAgICAgICAgICAgICAvKiB0cF9tZW1iZXJzICovCiAgICAgTm9kZHlfZ2V0c2V0ZXJzLCAgICAgICAgICAgLyogdHBfZ2V0c2V0ICovCkBAIC0yMjYsNyArMjA4LDcgQEAKIH07CiAKIFB5TU9ESU5JVF9GVU5DCi1QeUluaXRfbm9kZHkzKHZvaWQpIAorUHlJbml0X25vZGR5Myh2b2lkKQogewogICAgIFB5T2JqZWN0KiBtOwogCmRpZmYgLS1naXQgYS9Eb2MvaW5jbHVkZXMvbm9kZHk0LmMgYi9Eb2MvaW5jbHVkZXMvbm9kZHk0LmMKaW5kZXggNmE5NmZhYy4uZWI5NjIyYSAxMDA2NDQKLS0tIGEvRG9jL2luY2x1ZGVzL25vZGR5NC5jCisrKyBiL0RvYy9pbmNsdWRlcy9ub2RkeTQuYwpAQCAtMjcsNyArMjcsNyBAQAogICAgIHJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IAorc3RhdGljIGludAogTm9kZHlfY2xlYXIoTm9kZHkgKnNlbGYpCiB7CiAgICAgUHlPYmplY3QgKnRtcDsKQEAgLTU4LDE4ICs1OCwxNiBAQAogICAgIHNlbGYgPSAoTm9kZHkgKil0eXBlLT50cF9hbGxvYyh0eXBlLCAwKTsKICAgICBpZiAoc2VsZiAhPSBOVUxMKSB7CiAgICAgICAgIHNlbGYtPmZpcnN0ID0gUHlVbmljb2RlX0Zyb21TdHJpbmcoIiIpOwotICAgICAgICBpZiAoc2VsZi0+Zmlyc3QgPT0gTlVMTCkKLSAgICAgICAgICB7CisgICAgICAgIGlmIChzZWxmLT5maXJzdCA9PSBOVUxMKSB7CiAgICAgICAgICAgICBQeV9ERUNSRUYoc2VsZik7CiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgICB9Ci0gICAgICAgIAorICAgICAgICB9CisKICAgICAgICAgc2VsZi0+bGFzdCA9IFB5VW5pY29kZV9Gcm9tU3RyaW5nKCIiKTsKLSAgICAgICAgaWYgKHNlbGYtPmxhc3QgPT0gTlVMTCkKLSAgICAgICAgICB7CisgICAgICAgIGlmIChzZWxmLT5sYXN0ID09IE5VTEwpIHsKICAgICAgICAgICAgIFB5X0RFQ1JFRihzZWxmKTsKICAgICAgICAgICAgIHJldHVybiBOVUxMOwotICAgICAgICAgIH0KKyAgICAgICAgfQogCiAgICAgICAgIHNlbGYtPm51bWJlciA9IDA7CiAgICAgfQpAQCAtODQsMTAgKzgyLDEwIEBACiAKICAgICBzdGF0aWMgY2hhciAqa3dsaXN0W10gPSB7ImZpcnN0IiwgImxhc3QiLCAibnVtYmVyIiwgTlVMTH07CiAKLSAgICBpZiAoISBQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dkcywgInxPT2kiLCBrd2xpc3QsIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZmlyc3QsICZsYXN0LCAKKyAgICBpZiAoISBQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dkcywgInxPT2kiLCBrd2xpc3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZmaXJzdCwgJmxhc3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZzZWxmLT5udW1iZXIpKQotICAgICAgICByZXR1cm4gLTE7IAorICAgICAgICByZXR1cm4gLTE7CiAKICAgICBpZiAoZmlyc3QpIHsKICAgICAgICAgdG1wID0gc2VsZi0+Zmlyc3Q7CkBAIC0xMjAsMTUgKzExOCw2IEBACiBzdGF0aWMgUHlPYmplY3QgKgogTm9kZHlfbmFtZShOb2RkeSogc2VsZikKIHsKLSAgICBzdGF0aWMgUHlPYmplY3QgKmZvcm1hdCA9IE5VTEw7Ci0gICAgUHlPYmplY3QgKmFyZ3MsICpyZXN1bHQ7Ci0KLSAgICBpZiAoZm9ybWF0ID09IE5VTEwpIHsKLSAgICAgICAgZm9ybWF0ID0gUHlVbmljb2RlX0Zyb21TdHJpbmcoIiVzICVzIik7Ci0gICAgICAgIGlmIChmb3JtYXQgPT0gTlVMTCkKLSAgICAgICAgICAgIHJldHVybiBOVUxMOwotICAgIH0KLQogICAgIGlmIChzZWxmLT5maXJzdCA9PSBOVUxMKSB7CiAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19BdHRyaWJ1dGVFcnJvciwgImZpcnN0Iik7CiAgICAgICAgIHJldHVybiBOVUxMOwpAQCAtMTM5LDE0ICsxMjgsNyBAQAogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAKLSAgICBhcmdzID0gUHlfQnVpbGRWYWx1ZSgiT08iLCBzZWxmLT5maXJzdCwgc2VsZi0+bGFzdCk7Ci0gICAgaWYgKGFyZ3MgPT0gTlVMTCkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0KLSAgICByZXN1bHQgPSBQeVVuaWNvZGVfRm9ybWF0KGZvcm1hdCwgYXJncyk7Ci0gICAgUHlfREVDUkVGKGFyZ3MpOwotICAgIAotICAgIHJldHVybiByZXN1bHQ7CisgICAgcmV0dXJuIFB5VW5pY29kZV9Gcm9tRm9ybWF0KCIlUyAlUyIsIHNlbGYtPmZpcnN0LCBzZWxmLT5sYXN0KTsKIH0KIAogc3RhdGljIFB5TWV0aG9kRGVmIE5vZGR5X21ldGhvZHNbXSA9IHsKQEAgLTE4MiwxMCArMTY0LDEwIEBACiAgICAgIk5vZGR5IG9iamVjdHMiLCAgICAgICAgICAgLyogdHBfZG9jICovCiAgICAgKHRyYXZlcnNlcHJvYylOb2RkeV90cmF2ZXJzZSwgICAvKiB0cF90cmF2ZXJzZSAqLwogICAgIChpbnF1aXJ5KU5vZGR5X2NsZWFyLCAgICAgICAgICAgLyogdHBfY2xlYXIgKi8KLSAgICAwLAkJICAgICAgICAgICAgICAgLyogdHBfcmljaGNvbXBhcmUgKi8KLSAgICAwLAkJICAgICAgICAgICAgICAgLyogdHBfd2Vha2xpc3RvZmZzZXQgKi8KLSAgICAwLAkJICAgICAgICAgICAgICAgLyogdHBfaXRlciAqLwotICAgIDAsCQkgICAgICAgICAgICAgICAvKiB0cF9pdGVybmV4dCAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX3JpY2hjb21wYXJlICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfd2Vha2xpc3RvZmZzZXQgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9pdGVyICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfaXRlcm5leHQgKi8KICAgICBOb2RkeV9tZXRob2RzLCAgICAgICAgICAgICAvKiB0cF9tZXRob2RzICovCiAgICAgTm9kZHlfbWVtYmVycywgICAgICAgICAgICAgLyogdHBfbWVtYmVycyAqLwogICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2dldHNldCAqLwpAQCAtMjA4LDcgKzE5MCw3IEBACiB9OwogCiBQeU1PRElOSVRfRlVOQwotUHlJbml0X25vZGR5NCh2b2lkKSAKK1B5SW5pdF9ub2RkeTQodm9pZCkKIHsKICAgICBQeU9iamVjdCogbTsKIApkaWZmIC0tZ2l0IGEvRG9jL2luc3RhbGwvaW5kZXgucnN0IGIvRG9jL2luc3RhbGwvaW5kZXgucnN0CmluZGV4IGIyMGYxZmIuLmJiMmU5YzUgMTAwNjQ0Ci0tLSBhL0RvYy9pbnN0YWxsL2luZGV4LnJzdAorKysgYi9Eb2MvaW5zdGFsbC9pbmRleC5yc3QKQEAgLTEsMTIgKzEsMTAgQEAKLS4uIGhpZ2hsaWdodGxhbmc6OiBub25lCisuLiBfcGFja2FnaW5nLWluc3RhbGwtaW5kZXg6CiAKLS4uIF9pbnN0YWxsLWluZGV4OgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgIEluc3RhbGxpbmcgUHl0aG9uIFByb2plY3RzCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIAotKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSAgSW5zdGFsbGluZyBQeXRob24gTW9kdWxlcwotKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLQotOkF1dGhvcjogR3JlZyBXYXJkCis6QXV0aG9yOiBUaGUgRmVsbG93c2hpcCBvZiB0aGUgUGFja2FnaW5nCiA6UmVsZWFzZTogfHZlcnNpb258CiA6RGF0ZTogfHRvZGF5fAogCkBAIC0xNiwxMDcxICsxNCw0MyBAQAogICAgYWJvdXQgUHl0aG9uIGFuZCBhcmVuJ3QgYWJvdXQgdG8gbGVhcm4gdGhlIGxhbmd1YWdlIGp1c3QgaW4gb3JkZXIgdG8KICAgIGluc3RhbGwgYW5kIG1haW50YWluIGl0IGZvciB0aGVpciB1c2VycywgaS5lLiBzeXN0ZW0gYWRtaW5pc3RyYXRvcnMuCiAgICBUaHVzLCBJIGhhdmUgdG8gYmUgc3VyZSB0byBleHBsYWluIHRoZSBiYXNpY3MgYXQgc29tZSBwb2ludDoKLSAgIHN5cy5wYXRoIGFuZCBQWVRIT05QQVRIIGF0IGxlYXN0LiAgU2hvdWxkIHByb2JhYmx5IGdpdmUgcG9pbnRlcnMgdG8KKyAgIHN5cy5wYXRoIGFuZCBQWVRIT05QQVRIIGF0IGxlYXN0LiBTaG91bGQgcHJvYmFibHkgZ2l2ZSBwb2ludGVycyB0bwogICAgb3RoZXIgZG9jcyBvbiAiaW1wb3J0IHNpdGUiLCBQWVRIT05TVEFSVFVQLCBQWVRIT05IT01FLCBldGMuCiAKICAgIEZpbmFsbHksIGl0IG1pZ2h0IGJlIHVzZWZ1bCB0byBpbmNsdWRlIGFsbCB0aGUgbWF0ZXJpYWwgZnJvbSBteSAiQ2FyZQotICAgYW5kIEZlZWRpbmcgb2YgYSBQeXRob24gSW5zdGFsbGF0aW9uIiB0YWxrIGluIGhlcmUgc29tZXdoZXJlLiAgWW93IQorICAgYW5kIEZlZWRpbmcgb2YgYSBQeXRob24gSW5zdGFsbGF0aW9uIiB0YWxrIGluIGhlcmUgc29tZXdoZXJlLiBZb3chCiAKIC4uIHRvcGljOjogQWJzdHJhY3QKIAotICAgVGhpcyBkb2N1bWVudCBkZXNjcmliZXMgdGhlIFB5dGhvbiBEaXN0cmlidXRpb24gVXRpbGl0aWVzICgiRGlzdHV0aWxzIikgZnJvbSB0aGUKLSAgIGVuZC11c2VyJ3MgcG9pbnQtb2YtdmlldywgZGVzY3JpYmluZyBob3cgdG8gZXh0ZW5kIHRoZSBjYXBhYmlsaXRpZXMgb2YgYQotICAgc3RhbmRhcmQgUHl0aG9uIGluc3RhbGxhdGlvbiBieSBidWlsZGluZyBhbmQgaW5zdGFsbGluZyB0aGlyZC1wYXJ0eSBQeXRob24KLSAgIG1vZHVsZXMgYW5kIGV4dGVuc2lvbnMuCisgICBUaGlzIGRvY3VtZW50IGRlc2NyaWJlcyBQYWNrYWdpbmcgZnJvbSB0aGUgZW5kLXVzZXIncyBwb2ludCBvZiB2aWV3OiBpdAorICAgZXhwbGFpbnMgaG93IHRvIGV4dGVuZCB0aGUgZnVuY3Rpb25hbGl0eSBvZiBhIHN0YW5kYXJkIFB5dGhvbiBpbnN0YWxsYXRpb24gYnkKKyAgIGJ1aWxkaW5nIGFuZCBpbnN0YWxsaW5nIHRoaXJkLXBhcnR5IFB5dGhvbiBtb2R1bGVzIGFuZCBhcHBsaWNhdGlvbnMuCiAKIAotLi4gX2luc3QtaW50cm86CitUaGlzIGd1aWRlIGlzIHNwbGl0IGludG8gYSBzaW1wbGUgb3ZlcnZpZXcgIGZvbGxvd2VkIGJ5IGEgbG9uZ2VyIHByZXNlbnRhdGlvbiBvZgordGhlIDpwcm9ncmFtOmBweXNldHVwYCBzY3JpcHQsIHRoZSBQeXRob24gcGFja2FnZSBtYW5hZ2VtZW50IHRvb2wgdXNlZCB0bworYnVpbGQsIGRpc3RyaWJ1dGUsIHNlYXJjaCBmb3IsIGluc3RhbGwsIHJlbW92ZSBhbmQgbGlzdCBQeXRob24gZGlzdHJpYnV0aW9ucy4KIAotSW50cm9kdWN0aW9uCi09PT09PT09PT09PT0KKy4uIFRPRE8gaW50ZWdyYXRlIGluc3RhbGwgYW5kIHB5c2V0dXAgaW5zdGVhZCBvZiBkdXBsaWNhdGluZwogCi1BbHRob3VnaCBQeXRob24ncyBleHRlbnNpdmUgc3RhbmRhcmQgbGlicmFyeSBjb3ZlcnMgbWFueSBwcm9ncmFtbWluZyBuZWVkcywKLXRoZXJlIG9mdGVuIGNvbWVzIGEgdGltZSB3aGVuIHlvdSBuZWVkIHRvIGFkZCBzb21lIG5ldyBmdW5jdGlvbmFsaXR5IHRvIHlvdXIKLVB5dGhvbiBpbnN0YWxsYXRpb24gaW4gdGhlIGZvcm0gb2YgdGhpcmQtcGFydHkgbW9kdWxlcy4gIFRoaXMgbWlnaHQgYmUgbmVjZXNzYXJ5Ci10byBzdXBwb3J0IHlvdXIgb3duIHByb2dyYW1taW5nLCBvciB0byBzdXBwb3J0IGFuIGFwcGxpY2F0aW9uIHRoYXQgeW91IHdhbnQgdG8KLXVzZSBhbmQgdGhhdCBoYXBwZW5zIHRvIGJlIHdyaXR0ZW4gaW4gUHl0aG9uLgorLi4gdG9jdHJlZTo6CisgICA6bWF4ZGVwdGg6IDIKKyAgIDpudW1iZXJlZDoKIAotSW4gdGhlIHBhc3QsIHRoZXJlIGhhcyBiZWVuIGxpdHRsZSBzdXBwb3J0IGZvciBhZGRpbmcgdGhpcmQtcGFydHkgbW9kdWxlcyB0byBhbgotZXhpc3RpbmcgUHl0aG9uIGluc3RhbGxhdGlvbi4gIFdpdGggdGhlIGludHJvZHVjdGlvbiBvZiB0aGUgUHl0aG9uIERpc3RyaWJ1dGlvbgotVXRpbGl0aWVzIChEaXN0dXRpbHMgZm9yIHNob3J0KSBpbiBQeXRob24gMi4wLCB0aGlzIGNoYW5nZWQuCi0KLVRoaXMgZG9jdW1lbnQgaXMgYWltZWQgcHJpbWFyaWx5IGF0IHRoZSBwZW9wbGUgd2hvIG5lZWQgdG8gaW5zdGFsbCB0aGlyZC1wYXJ0eQotUHl0aG9uIG1vZHVsZXM6IGVuZC11c2VycyBhbmQgc3lzdGVtIGFkbWluaXN0cmF0b3JzIHdobyBqdXN0IG5lZWQgdG8gZ2V0IHNvbWUKLVB5dGhvbiBhcHBsaWNhdGlvbiBydW5uaW5nLCBhbmQgZXhpc3RpbmcgUHl0aG9uIHByb2dyYW1tZXJzIHdobyB3YW50IHRvIGFkZCBzb21lCi1uZXcgZ29vZGllcyB0byB0aGVpciB0b29sYm94LiAgWW91IGRvbid0IG5lZWQgdG8ga25vdyBQeXRob24gdG8gcmVhZCB0aGlzCi1kb2N1bWVudDsgdGhlcmUgd2lsbCBiZSBzb21lIGJyaWVmIGZvcmF5cyBpbnRvIHVzaW5nIFB5dGhvbidzIGludGVyYWN0aXZlIG1vZGUKLXRvIGV4cGxvcmUgeW91ciBpbnN0YWxsYXRpb24sIGJ1dCB0aGF0J3MgaXQuICBJZiB5b3UncmUgbG9va2luZyBmb3IgaW5mb3JtYXRpb24KLW9uIGhvdyB0byBkaXN0cmlidXRlIHlvdXIgb3duIFB5dGhvbiBtb2R1bGVzIHNvIHRoYXQgb3RoZXJzIG1heSB1c2UgdGhlbSwgc2VlCi10aGUgOnJlZjpgZGlzdHV0aWxzLWluZGV4YCBtYW51YWwuCi0KLQotLi4gX2luc3QtdHJpdmlhbC1pbnN0YWxsOgotCi1CZXN0IGNhc2U6IHRyaXZpYWwgaW5zdGFsbGF0aW9uCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLUluIHRoZSBiZXN0IGNhc2UsIHNvbWVvbmUgd2lsbCBoYXZlIHByZXBhcmVkIGEgc3BlY2lhbCB2ZXJzaW9uIG9mIHRoZSBtb2R1bGUKLWRpc3RyaWJ1dGlvbiB5b3Ugd2FudCB0byBpbnN0YWxsIHRoYXQgaXMgdGFyZ2V0ZWQgc3BlY2lmaWNhbGx5IGF0IHlvdXIgcGxhdGZvcm0KLWFuZCBpcyBpbnN0YWxsZWQganVzdCBsaWtlIGFueSBvdGhlciBzb2Z0d2FyZSBvbiB5b3VyIHBsYXRmb3JtLiAgRm9yIGV4YW1wbGUsCi10aGUgbW9kdWxlIGRldmVsb3BlciBtaWdodCBtYWtlIGFuIGV4ZWN1dGFibGUgaW5zdGFsbGVyIGF2YWlsYWJsZSBmb3IgV2luZG93cwotdXNlcnMsIGFuIFJQTSBwYWNrYWdlIGZvciB1c2VycyBvZiBSUE0tYmFzZWQgTGludXggc3lzdGVtcyAoUmVkIEhhdCwgU3VTRSwKLU1hbmRyYWtlLCBhbmQgbWFueSBvdGhlcnMpLCBhIERlYmlhbiBwYWNrYWdlIGZvciB1c2VycyBvZiBEZWJpYW4tYmFzZWQgTGludXgKLXN5c3RlbXMsIGFuZCBzbyBmb3J0aC4KLQotSW4gdGhhdCBjYXNlLCB5b3Ugd291bGQgZG93bmxvYWQgdGhlIGluc3RhbGxlciBhcHByb3ByaWF0ZSB0byB5b3VyIHBsYXRmb3JtIGFuZAotZG8gdGhlIG9idmlvdXMgdGhpbmcgd2l0aCBpdDogcnVuIGl0IGlmIGl0J3MgYW4gZXhlY3V0YWJsZSBpbnN0YWxsZXIsIGBgcnBtCi0tLWluc3RhbGxgYCBpdCBpZiBpdCdzIGFuIFJQTSwgZXRjLiAgWW91IGRvbid0IG5lZWQgdG8gcnVuIFB5dGhvbiBvciBhIHNldHVwCi1zY3JpcHQsIHlvdSBkb24ndCBuZWVkIHRvIGNvbXBpbGUgYW55dGhpbmctLS15b3UgbWlnaHQgbm90IGV2ZW4gbmVlZCB0byByZWFkIGFueQotaW5zdHJ1Y3Rpb25zIChhbHRob3VnaCBpdCdzIGFsd2F5cyBhIGdvb2QgaWRlYSB0byBkbyBzbyBhbnl3YXkpLgotCi1PZiBjb3Vyc2UsIHRoaW5ncyB3aWxsIG5vdCBhbHdheXMgYmUgdGhhdCBlYXN5LiAgWW91IG1pZ2h0IGJlIGludGVyZXN0ZWQgaW4gYQotbW9kdWxlIGRpc3RyaWJ1dGlvbiB0aGF0IGRvZXNuJ3QgaGF2ZSBhbiBlYXN5LXRvLXVzZSBpbnN0YWxsZXIgZm9yIHlvdXIKLXBsYXRmb3JtLiAgSW4gdGhhdCBjYXNlLCB5b3UnbGwgaGF2ZSB0byBzdGFydCB3aXRoIHRoZSBzb3VyY2UgZGlzdHJpYnV0aW9uCi1yZWxlYXNlZCBieSB0aGUgbW9kdWxlJ3MgYXV0aG9yL21haW50YWluZXIuICBJbnN0YWxsaW5nIGZyb20gYSBzb3VyY2UKLWRpc3RyaWJ1dGlvbiBpcyBub3QgdG9vIGhhcmQsIGFzIGxvbmcgYXMgdGhlIG1vZHVsZXMgYXJlIHBhY2thZ2VkIGluIHRoZQotc3RhbmRhcmQgd2F5LiAgVGhlIGJ1bGsgb2YgdGhpcyBkb2N1bWVudCBpcyBhYm91dCBidWlsZGluZyBhbmQgaW5zdGFsbGluZwotbW9kdWxlcyBmcm9tIHN0YW5kYXJkIHNvdXJjZSBkaXN0cmlidXRpb25zLgotCi0KLS4uIF9pbnN0LW5ldy1zdGFuZGFyZDoKLQotVGhlIG5ldyBzdGFuZGFyZDogRGlzdHV0aWxzCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLQotSWYgeW91IGRvd25sb2FkIGEgbW9kdWxlIHNvdXJjZSBkaXN0cmlidXRpb24sIHlvdSBjYW4gdGVsbCBwcmV0dHkgcXVpY2tseSBpZiBpdAotd2FzIHBhY2thZ2VkIGFuZCBkaXN0cmlidXRlZCBpbiB0aGUgc3RhbmRhcmQgd2F5LCBpLmUuIHVzaW5nIHRoZSBEaXN0dXRpbHMuCi1GaXJzdCwgdGhlIGRpc3RyaWJ1dGlvbidzIG5hbWUgYW5kIHZlcnNpb24gbnVtYmVyIHdpbGwgYmUgZmVhdHVyZWQgcHJvbWluZW50bHkKLWluIHRoZSBuYW1lIG9mIHRoZSBkb3dubG9hZGVkIGFyY2hpdmUsIGUuZy4gOmZpbGU6YGZvby0xLjAudGFyLmd6YCBvcgotOmZpbGU6YHdpZGdldC0wLjkuNy56aXBgLiAgTmV4dCwgdGhlIGFyY2hpdmUgd2lsbCB1bnBhY2sgaW50byBhIHNpbWlsYXJseS1uYW1lZAotZGlyZWN0b3J5OiA6ZmlsZTpgZm9vLTEuMGAgb3IgOmZpbGU6YHdpZGdldC0wLjkuN2AuICBBZGRpdGlvbmFsbHksIHRoZQotZGlzdHJpYnV0aW9uIHdpbGwgY29udGFpbiBhIHNldHVwIHNjcmlwdCA6ZmlsZTpgc2V0dXAucHlgLCBhbmQgYSBmaWxlIG5hbWVkCi06ZmlsZTpgUkVBRE1FLnR4dGAgb3IgcG9zc2libHkganVzdCA6ZmlsZTpgUkVBRE1FYCwgd2hpY2ggc2hvdWxkIGV4cGxhaW4gdGhhdAotYnVpbGRpbmcgYW5kIGluc3RhbGxpbmcgdGhlIG1vZHVsZSBkaXN0cmlidXRpb24gaXMgYSBzaW1wbGUgbWF0dGVyIG9mIHJ1bm5pbmcKLW9uZSBjb21tYW5kIGZyb20gYSB0ZXJtaW5hbDo6Ci0KLSAgIHB5dGhvbiBzZXR1cC5weSBpbnN0YWxsCi0KLUZvciBXaW5kb3dzLCB0aGlzIGNvbW1hbmQgc2hvdWxkIGJlIHJ1biBmcm9tIGEgY29tbWFuZCBwcm9tcHQgd2luZG93Ci0oOm1lbnVzZWxlY3Rpb246YFN0YXJ0IC0tPiBBY2Nlc3Nvcmllc2ApOjoKLQotICAgc2V0dXAucHkgaW5zdGFsbAotCi1JZiBhbGwgdGhlc2UgdGhpbmdzIGFyZSB0cnVlLCB0aGVuIHlvdSBhbHJlYWR5IGtub3cgaG93IHRvIGJ1aWxkIGFuZCBpbnN0YWxsIHRoZQotbW9kdWxlcyB5b3UndmUganVzdCBkb3dubG9hZGVkOiAgUnVuIHRoZSBjb21tYW5kIGFib3ZlLiBVbmxlc3MgeW91IG5lZWQgdG8KLWluc3RhbGwgdGhpbmdzIGluIGEgbm9uLXN0YW5kYXJkIHdheSBvciBjdXN0b21pemUgdGhlIGJ1aWxkIHByb2Nlc3MsIHlvdSBkb24ndAotcmVhbGx5IG5lZWQgdGhpcyBtYW51YWwuICBPciByYXRoZXIsIHRoZSBhYm92ZSBjb21tYW5kIGlzIGV2ZXJ5dGhpbmcgeW91IG5lZWQgdG8KLWdldCBvdXQgb2YgdGhpcyBtYW51YWwuCi0KLQotLi4gX2luc3Qtc3RhbmRhcmQtaW5zdGFsbDoKLQotU3RhbmRhcmQgQnVpbGQgYW5kIEluc3RhbGwKLT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0KLUFzIGRlc2NyaWJlZCBpbiBzZWN0aW9uIDpyZWY6YGluc3QtbmV3LXN0YW5kYXJkYCwgYnVpbGRpbmcgYW5kIGluc3RhbGxpbmcgYSBtb2R1bGUKLWRpc3RyaWJ1dGlvbiB1c2luZyB0aGUgRGlzdHV0aWxzIGlzIHVzdWFsbHkgb25lIHNpbXBsZSBjb21tYW5kIHRvIHJ1biBmcm9tIGEKLXRlcm1pbmFsOjoKLQotICAgcHl0aG9uIHNldHVwLnB5IGluc3RhbGwKLQotCi0uLiBfaW5zdC1wbGF0Zm9ybS12YXJpYXRpb25zOgotCi1QbGF0Zm9ybSB2YXJpYXRpb25zCi0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLVlvdSBzaG91bGQgYWx3YXlzIHJ1biB0aGUgc2V0dXAgY29tbWFuZCBmcm9tIHRoZSBkaXN0cmlidXRpb24gcm9vdCBkaXJlY3RvcnksCi1pLmUuIHRoZSB0b3AtbGV2ZWwgc3ViZGlyZWN0b3J5IHRoYXQgdGhlIG1vZHVsZSBzb3VyY2UgZGlzdHJpYnV0aW9uIHVucGFja3MKLWludG8uICBGb3IgZXhhbXBsZSwgaWYgeW91J3ZlIGp1c3QgZG93bmxvYWRlZCBhIG1vZHVsZSBzb3VyY2UgZGlzdHJpYnV0aW9uCi06ZmlsZTpgZm9vLTEuMC50YXIuZ3pgIG9udG8gYSBVbml4IHN5c3RlbSwgdGhlIG5vcm1hbCB0aGluZyB0byBkbyBpczo6Ci0KLSAgIGd1bnppcCAtYyBmb28tMS4wLnRhci5neiB8IHRhciB4ZiAtICAgICMgdW5wYWNrcyBpbnRvIGRpcmVjdG9yeSBmb28tMS4wCi0gICBjZCBmb28tMS4wCi0gICBweXRob24gc2V0dXAucHkgaW5zdGFsbAotCi1PbiBXaW5kb3dzLCB5b3UnZCBwcm9iYWJseSBkb3dubG9hZCA6ZmlsZTpgZm9vLTEuMC56aXBgLiAgSWYgeW91IGRvd25sb2FkZWQgdGhlCi1hcmNoaXZlIGZpbGUgdG8gOmZpbGU6YEM6XFxUZW1wYCwgdGhlbiBpdCB3b3VsZCB1bnBhY2sgaW50bwotOmZpbGU6YEM6XFxUZW1wXFxmb28tMS4wYDsgeW91IGNhbiB1c2UgZWl0aGVyIGEgYXJjaGl2ZSBtYW5pcHVsYXRvciB3aXRoIGEKLWdyYXBoaWNhbCB1c2VyIGludGVyZmFjZSAoc3VjaCBhcyBXaW5aaXApIG9yIGEgY29tbWFuZC1saW5lIHRvb2wgKHN1Y2ggYXMKLTpwcm9ncmFtOmB1bnppcGAgb3IgOnByb2dyYW06YHBrdW56aXBgKSB0byB1bnBhY2sgdGhlIGFyY2hpdmUuICBUaGVuLCBvcGVuIGEKLWNvbW1hbmQgcHJvbXB0IHdpbmRvdyBhbmQgcnVuOjoKLQotICAgY2QgYzpcVGVtcFxmb28tMS4wCi0gICBweXRob24gc2V0dXAucHkgaW5zdGFsbAotCi0KLS4uIF9pbnN0LXNwbGl0dGluZy11cDoKLQotU3BsaXR0aW5nIHRoZSBqb2IgdXAKLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLVJ1bm5pbmcgYGBzZXR1cC5weSBpbnN0YWxsYGAgYnVpbGRzIGFuZCBpbnN0YWxscyBhbGwgbW9kdWxlcyBpbiBvbmUgcnVuLiAgSWYgeW91Ci1wcmVmZXIgdG8gd29yayBpbmNyZW1lbnRhbGx5LS0tZXNwZWNpYWxseSB1c2VmdWwgaWYgeW91IHdhbnQgdG8gY3VzdG9taXplIHRoZQotYnVpbGQgcHJvY2Vzcywgb3IgaWYgdGhpbmdzIGFyZSBnb2luZyB3cm9uZy0tLXlvdSBjYW4gdXNlIHRoZSBzZXR1cCBzY3JpcHQgdG8gZG8KLW9uZSB0aGluZyBhdCBhIHRpbWUuICBUaGlzIGlzIHBhcnRpY3VsYXJseSBoZWxwZnVsIHdoZW4gdGhlIGJ1aWxkIGFuZCBpbnN0YWxsCi13aWxsIGJlIGRvbmUgYnkgZGlmZmVyZW50IHVzZXJzLS0tZm9yIGV4YW1wbGUsIHlvdSBtaWdodCB3YW50IHRvIGJ1aWxkIGEgbW9kdWxlCi1kaXN0cmlidXRpb24gYW5kIGhhbmQgaXQgb2ZmIHRvIGEgc3lzdGVtIGFkbWluaXN0cmF0b3IgZm9yIGluc3RhbGxhdGlvbiAob3IgZG8KLWl0IHlvdXJzZWxmLCB3aXRoIHN1cGVyLXVzZXIgcHJpdmlsZWdlcykuCi0KLUZvciBleGFtcGxlLCB5b3UgY2FuIGJ1aWxkIGV2ZXJ5dGhpbmcgaW4gb25lIHN0ZXAsIGFuZCB0aGVuIGluc3RhbGwgZXZlcnl0aGluZwotaW4gYSBzZWNvbmQgc3RlcCwgYnkgaW52b2tpbmcgdGhlIHNldHVwIHNjcmlwdCB0d2ljZTo6Ci0KLSAgIHB5dGhvbiBzZXR1cC5weSBidWlsZAotICAgcHl0aG9uIHNldHVwLnB5IGluc3RhbGwKLQotSWYgeW91IGRvIHRoaXMsIHlvdSB3aWxsIG5vdGljZSB0aGF0IHJ1bm5pbmcgdGhlIDpjb21tYW5kOmBpbnN0YWxsYCBjb21tYW5kCi1maXJzdCBydW5zIHRoZSA6Y29tbWFuZDpgYnVpbGRgIGNvbW1hbmQsIHdoaWNoLS0taW4gdGhpcyBjYXNlLS0tcXVpY2tseSBub3RpY2VzCi10aGF0IGl0IGhhcyBub3RoaW5nIHRvIGRvLCBzaW5jZSBldmVyeXRoaW5nIGluIHRoZSA6ZmlsZTpgYnVpbGRgIGRpcmVjdG9yeSBpcwotdXAtdG8tZGF0ZS4KLQotWW91IG1heSBub3QgbmVlZCB0aGlzIGFiaWxpdHkgdG8gYnJlYWsgdGhpbmdzIGRvd24gb2Z0ZW4gaWYgYWxsIHlvdSBkbyBpcwotaW5zdGFsbCBtb2R1bGVzIGRvd25sb2FkZWQgb2ZmIHRoZSAnbmV0LCBidXQgaXQncyB2ZXJ5IGhhbmR5IGZvciBtb3JlIGFkdmFuY2VkCi10YXNrcy4gIElmIHlvdSBnZXQgaW50byBkaXN0cmlidXRpbmcgeW91ciBvd24gUHl0aG9uIG1vZHVsZXMgYW5kIGV4dGVuc2lvbnMsCi15b3UnbGwgcnVuIGxvdHMgb2YgaW5kaXZpZHVhbCBEaXN0dXRpbHMgY29tbWFuZHMgb24gdGhlaXIgb3duLgotCi0KLS4uIF9pbnN0LWhvdy1idWlsZC13b3JrczoKLQotSG93IGJ1aWxkaW5nIHdvcmtzCi0tLS0tLS0tLS0tLS0tLS0tLS0KLQotQXMgaW1wbGllZCBhYm92ZSwgdGhlIDpjb21tYW5kOmBidWlsZGAgY29tbWFuZCBpcyByZXNwb25zaWJsZSBmb3IgcHV0dGluZyB0aGUKLWZpbGVzIHRvIGluc3RhbGwgaW50byBhICpidWlsZCBkaXJlY3RvcnkqLiAgQnkgZGVmYXVsdCwgdGhpcyBpcyA6ZmlsZTpgYnVpbGRgCi11bmRlciB0aGUgZGlzdHJpYnV0aW9uIHJvb3Q7IGlmIHlvdSdyZSBleGNlc3NpdmVseSBjb25jZXJuZWQgd2l0aCBzcGVlZCwgb3Igd2FudAotdG8ga2VlcCB0aGUgc291cmNlIHRyZWUgcHJpc3RpbmUsIHlvdSBjYW4gY2hhbmdlIHRoZSBidWlsZCBkaXJlY3Rvcnkgd2l0aCB0aGUKLTpvcHRpb246YC0tYnVpbGQtYmFzZWAgb3B0aW9uLiBGb3IgZXhhbXBsZTo6Ci0KLSAgIHB5dGhvbiBzZXR1cC5weSBidWlsZCAtLWJ1aWxkLWJhc2U9L3RtcC9weWJ1aWxkL2Zvby0xLjAKLQotKE9yIHlvdSBjb3VsZCBkbyB0aGlzIHBlcm1hbmVudGx5IHdpdGggYSBkaXJlY3RpdmUgaW4geW91ciBzeXN0ZW0gb3IgcGVyc29uYWwKLURpc3R1dGlscyBjb25maWd1cmF0aW9uIGZpbGU7IHNlZSBzZWN0aW9uIDpyZWY6YGluc3QtY29uZmlnLWZpbGVzYC4pICBOb3JtYWxseSwgdGhpcwotaXNuJ3QgbmVjZXNzYXJ5LgotCi1UaGUgZGVmYXVsdCBsYXlvdXQgZm9yIHRoZSBidWlsZCB0cmVlIGlzIGFzIGZvbGxvd3M6OgotCi0gICAtLS0gYnVpbGQvIC0tLSBsaWIvCi0gICBvcgotICAgLS0tIGJ1aWxkLyAtLS0gbGliLjxwbGF0Pi8KLSAgICAgICAgICAgICAgICAgIHRlbXAuPHBsYXQ+LwotCi13aGVyZSBgYDxwbGF0PmBgIGV4cGFuZHMgdG8gYSBicmllZiBkZXNjcmlwdGlvbiBvZiB0aGUgY3VycmVudCBPUy9oYXJkd2FyZQotcGxhdGZvcm0gYW5kIFB5dGhvbiB2ZXJzaW9uLiAgVGhlIGZpcnN0IGZvcm0sIHdpdGgganVzdCBhIDpmaWxlOmBsaWJgIGRpcmVjdG9yeSwKLWlzIHVzZWQgZm9yICJwdXJlIG1vZHVsZSBkaXN0cmlidXRpb25zIi0tLXRoYXQgaXMsIG1vZHVsZSBkaXN0cmlidXRpb25zIHRoYXQKLWluY2x1ZGUgb25seSBwdXJlIFB5dGhvbiBtb2R1bGVzLiAgSWYgYSBtb2R1bGUgZGlzdHJpYnV0aW9uIGNvbnRhaW5zIGFueQotZXh0ZW5zaW9ucyAobW9kdWxlcyB3cml0dGVuIGluIEMvQysrKSwgdGhlbiB0aGUgc2Vjb25kIGZvcm0sIHdpdGggdHdvIGBgPHBsYXQ+YGAKLWRpcmVjdG9yaWVzLCBpcyB1c2VkLiAgSW4gdGhhdCBjYXNlLCB0aGUgOmZpbGU6YHRlbXAue3BsYXR9YCBkaXJlY3RvcnkgaG9sZHMKLXRlbXBvcmFyeSBmaWxlcyBnZW5lcmF0ZWQgYnkgdGhlIGNvbXBpbGUvbGluayBwcm9jZXNzIHRoYXQgZG9uJ3QgYWN0dWFsbHkgZ2V0Ci1pbnN0YWxsZWQuICBJbiBlaXRoZXIgY2FzZSwgdGhlIDpmaWxlOmBsaWJgIChvciA6ZmlsZTpgbGliLntwbGF0fWApIGRpcmVjdG9yeQotY29udGFpbnMgYWxsIFB5dGhvbiBtb2R1bGVzIChwdXJlIFB5dGhvbiBhbmQgZXh0ZW5zaW9ucykgdGhhdCB3aWxsIGJlIGluc3RhbGxlZC4KLQotSW4gdGhlIGZ1dHVyZSwgbW9yZSBkaXJlY3RvcmllcyB3aWxsIGJlIGFkZGVkIHRvIGhhbmRsZSBQeXRob24gc2NyaXB0cywKLWRvY3VtZW50YXRpb24sIGJpbmFyeSBleGVjdXRhYmxlcywgYW5kIHdoYXRldmVyIGVsc2UgaXMgbmVlZGVkIHRvIGhhbmRsZSB0aGUgam9iCi1vZiBpbnN0YWxsaW5nIFB5dGhvbiBtb2R1bGVzIGFuZCBhcHBsaWNhdGlvbnMuCi0KLQotLi4gX2luc3QtaG93LWluc3RhbGwtd29ya3M6Ci0KLUhvdyBpbnN0YWxsYXRpb24gd29ya3MKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLQotQWZ0ZXIgdGhlIDpjb21tYW5kOmBidWlsZGAgY29tbWFuZCBydW5zICh3aGV0aGVyIHlvdSBydW4gaXQgZXhwbGljaXRseSwgb3IgdGhlCi06Y29tbWFuZDpgaW5zdGFsbGAgY29tbWFuZCBkb2VzIGl0IGZvciB5b3UpLCB0aGUgd29yayBvZiB0aGUgOmNvbW1hbmQ6YGluc3RhbGxgCi1jb21tYW5kIGlzIHJlbGF0aXZlbHkgc2ltcGxlOiBhbGwgaXQgaGFzIHRvIGRvIGlzIGNvcHkgZXZlcnl0aGluZyB1bmRlcgotOmZpbGU6YGJ1aWxkL2xpYmAgKG9yIDpmaWxlOmBidWlsZC9saWIue3BsYXR9YCkgdG8geW91ciBjaG9zZW4gaW5zdGFsbGF0aW9uCi1kaXJlY3RvcnkuCi0KLUlmIHlvdSBkb24ndCBjaG9vc2UgYW4gaW5zdGFsbGF0aW9uIGRpcmVjdG9yeS0tLWkuZS4sIGlmIHlvdSBqdXN0IHJ1biBgYHNldHVwLnB5Ci1pbnN0YWxsYGBcIC0tLXRoZW4gdGhlIDpjb21tYW5kOmBpbnN0YWxsYCBjb21tYW5kIGluc3RhbGxzIHRvIHRoZSBzdGFuZGFyZAotbG9jYXRpb24gZm9yIHRoaXJkLXBhcnR5IFB5dGhvbiBtb2R1bGVzLiAgVGhpcyBsb2NhdGlvbiB2YXJpZXMgYnkgcGxhdGZvcm0gYW5kCi1ieSBob3cgeW91IGJ1aWx0L2luc3RhbGxlZCBQeXRob24gaXRzZWxmLiAgT24gVW5peCAoYW5kIE1hYyBPUyBYLCB3aGljaCBpcyBhbHNvCi1Vbml4LWJhc2VkKSwgaXQgYWxzbyBkZXBlbmRzIG9uIHdoZXRoZXIgdGhlIG1vZHVsZSBkaXN0cmlidXRpb24gYmVpbmcgaW5zdGFsbGVkCi1pcyBwdXJlIFB5dGhvbiBvciBjb250YWlucyBleHRlbnNpb25zICgibm9uLXB1cmUiKToKLQotKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0rCi18IFBsYXRmb3JtICAgICAgICB8IFN0YW5kYXJkIGluc3RhbGxhdGlvbiBsb2NhdGlvbiAgICAgICAgICAgICAgICAgICAgICB8IERlZmF1bHQgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IE5vdGVzIHwKLSs9PT09PT09PT09PT09PT09PSs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSs9PT09PT09KwotfCBVbml4IChwdXJlKSAgICAgfCA6ZmlsZTpge3ByZWZpeH0vbGliL3B5dGhvbntYLll9L3NpdGUtcGFja2FnZXNgICAgICAgfCA6ZmlsZTpgL3Vzci9sb2NhbC9saWIvcHl0aG9ue1guWX0vc2l0ZS1wYWNrYWdlc2AgfCBcKDEpICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLSsKLXwgVW5peCAobm9uLXB1cmUpIHwgOmZpbGU6YHtleGVjLXByZWZpeH0vbGliL3B5dGhvbntYLll9L3NpdGUtcGFja2FnZXNgIHwgOmZpbGU6YC91c3IvbG9jYWwvbGliL3B5dGhvbntYLll9L3NpdGUtcGFja2FnZXNgIHwgXCgxKSAgfAotKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0rCi18IFdpbmRvd3MgICAgICAgICB8IDpmaWxlOmB7cHJlZml4fVxcTGliXFxzaXRlLXBhY2thZ2VzYCAgICAgICAgICAgICAgICB8IDpmaWxlOmBDOlxcUHl0aG9ue1hZfVxcTGliXFxzaXRlLXBhY2thZ2VzYCAgICAgICB8IFwoMikgIHwKLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tKwotCi1Ob3RlczoKLQotKDEpCi0gICBNb3N0IExpbnV4IGRpc3RyaWJ1dGlvbnMgaW5jbHVkZSBQeXRob24gYXMgYSBzdGFuZGFyZCBwYXJ0IG9mIHRoZSBzeXN0ZW0sIHNvCi0gICA6ZmlsZTpge3ByZWZpeH1gIGFuZCA6ZmlsZTpge2V4ZWMtcHJlZml4fWAgYXJlIHVzdWFsbHkgYm90aCA6ZmlsZTpgL3VzcmAgb24KLSAgIExpbnV4LiAgSWYgeW91IGJ1aWxkIFB5dGhvbiB5b3Vyc2VsZiBvbiBMaW51eCAob3IgYW55IFVuaXgtbGlrZSBzeXN0ZW0pLCB0aGUKLSAgIGRlZmF1bHQgOmZpbGU6YHtwcmVmaXh9YCBhbmQgOmZpbGU6YHtleGVjLXByZWZpeH1gIGFyZSA6ZmlsZTpgL3Vzci9sb2NhbGAuCi0KLSgyKQotICAgVGhlIGRlZmF1bHQgaW5zdGFsbGF0aW9uIGRpcmVjdG9yeSBvbiBXaW5kb3dzIHdhcyA6ZmlsZTpgQzpcXFByb2dyYW0KLSAgIEZpbGVzXFxQeXRob25gIHVuZGVyIFB5dGhvbiAxLjZhMSwgMS41LjIsIGFuZCBlYXJsaWVyLgotCi06ZmlsZTpge3ByZWZpeH1gIGFuZCA6ZmlsZTpge2V4ZWMtcHJlZml4fWAgc3RhbmQgZm9yIHRoZSBkaXJlY3RvcmllcyB0aGF0IFB5dGhvbgotaXMgaW5zdGFsbGVkIHRvLCBhbmQgd2hlcmUgaXQgZmluZHMgaXRzIGxpYnJhcmllcyBhdCBydW4tdGltZS4gIFRoZXkgYXJlIGFsd2F5cwotdGhlIHNhbWUgdW5kZXIgV2luZG93cywgYW5kIHZlcnkgb2Z0ZW4gdGhlIHNhbWUgdW5kZXIgVW5peCBhbmQgTWFjIE9TIFguICBZb3UKLWNhbiBmaW5kIG91dCB3aGF0IHlvdXIgUHl0aG9uIGluc3RhbGxhdGlvbiB1c2VzIGZvciA6ZmlsZTpge3ByZWZpeH1gIGFuZAotOmZpbGU6YHtleGVjLXByZWZpeH1gIGJ5IHJ1bm5pbmcgUHl0aG9uIGluIGludGVyYWN0aXZlIG1vZGUgYW5kIHR5cGluZyBhIGZldwotc2ltcGxlIGNvbW1hbmRzLiBVbmRlciBVbml4LCBqdXN0IHR5cGUgYGBweXRob25gYCBhdCB0aGUgc2hlbGwgcHJvbXB0LiAgVW5kZXIKLVdpbmRvd3MsIGNob29zZSA6bWVudXNlbGVjdGlvbjpgU3RhcnQgLS0+IFByb2dyYW1zIC0tPiBQeXRob24gWC5ZIC0tPgotUHl0aG9uIChjb21tYW5kIGxpbmUpYC4gICBPbmNlIHRoZSBpbnRlcnByZXRlciBpcyBzdGFydGVkLCB5b3UgdHlwZSBQeXRob24gY29kZQotYXQgdGhlIHByb21wdC4gIEZvciBleGFtcGxlLCBvbiBteSBMaW51eCBzeXN0ZW0sIEkgdHlwZSB0aGUgdGhyZWUgUHl0aG9uCi1zdGF0ZW1lbnRzIHNob3duIGJlbG93LCBhbmQgZ2V0IHRoZSBvdXRwdXQgYXMgc2hvd24sIHRvIGZpbmQgb3V0IG15Ci06ZmlsZTpge3ByZWZpeH1gIGFuZCA6ZmlsZTpge2V4ZWMtcHJlZml4fWA6OgotCi0gICBQeXRob24gMi40ICgjMjYsIEF1ZyAgNyAyMDA0LCAxNzoxOTowMikKLSAgIFR5cGUgImhlbHAiLCAiY29weXJpZ2h0IiwgImNyZWRpdHMiIG9yICJsaWNlbnNlIiBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KLSAgID4+PiBpbXBvcnQgc3lzCi0gICA+Pj4gc3lzLnByZWZpeAotICAgJy91c3InCi0gICA+Pj4gc3lzLmV4ZWNfcHJlZml4Ci0gICAnL3VzcicKLQotQSBmZXcgb3RoZXIgcGxhY2Vob2xkZXJzIGFyZSB1c2VkIGluIHRoaXMgZG9jdW1lbnQ6IDpmaWxlOmB7WC5ZfWAgc3RhbmRzIGZvciB0aGUKLXZlcnNpb24gb2YgUHl0aG9uLCBmb3IgZXhhbXBsZSBgYDMuMmBgOyA6ZmlsZTpge2FiaWZsYWdzfWAgd2lsbCBiZSByZXBsYWNlZCBieQotdGhlIHZhbHVlIG9mIDpkYXRhOmBzeXMuYWJpZmxhZ3NgIG9yIHRoZSBlbXB0eSBzdHJpbmcgZm9yIHBsYXRmb3JtcyB3aGljaCBkb24ndAotZGVmaW5lIEFCSSBmbGFnczsgOmZpbGU6YHtkaXN0bmFtZX1gIHdpbGwgYmUgcmVwbGFjZWQgYnkgdGhlIG5hbWUgb2YgdGhlIG1vZHVsZQotZGlzdHJpYnV0aW9uIGJlaW5nIGluc3RhbGxlZC4gIERvdHMgYW5kIGNhcGl0YWxpemF0aW9uIGFyZSBpbXBvcnRhbnQgaW4gdGhlCi1wYXRoczsgZm9yIGV4YW1wbGUsIGEgdmFsdWUgdGhhdCB1c2VzIGBgcHl0aG9uMy4yYGAgb24gVU5JWCB3aWxsIHR5cGljYWxseSB1c2UKLWBgUHl0aG9uMzJgYCBvbiBXaW5kb3dzLgotCi1JZiB5b3UgZG9uJ3Qgd2FudCB0byBpbnN0YWxsIG1vZHVsZXMgdG8gdGhlIHN0YW5kYXJkIGxvY2F0aW9uLCBvciBpZiB5b3UgZG9uJ3QKLWhhdmUgcGVybWlzc2lvbiB0byB3cml0ZSB0aGVyZSwgdGhlbiB5b3UgbmVlZCB0byByZWFkIGFib3V0IGFsdGVybmF0ZQotaW5zdGFsbGF0aW9ucyBpbiBzZWN0aW9uIDpyZWY6YGluc3QtYWx0LWluc3RhbGxgLiAgSWYgeW91IHdhbnQgdG8gY3VzdG9taXplIHlvdXIKLWluc3RhbGxhdGlvbiBkaXJlY3RvcmllcyBtb3JlIGhlYXZpbHksIHNlZSBzZWN0aW9uIDpyZWY6YGluc3QtY3VzdG9tLWluc3RhbGxgIG9uCi1jdXN0b20gaW5zdGFsbGF0aW9ucy4KLQotCi0uLiBfaW5zdC1hbHQtaW5zdGFsbDoKLQotQWx0ZXJuYXRlIEluc3RhbGxhdGlvbgotPT09PT09PT09PT09PT09PT09PT09PQotCi1PZnRlbiwgaXQgaXMgbmVjZXNzYXJ5IG9yIGRlc2lyYWJsZSB0byBpbnN0YWxsIG1vZHVsZXMgdG8gYSBsb2NhdGlvbiBvdGhlciB0aGFuCi10aGUgc3RhbmRhcmQgbG9jYXRpb24gZm9yIHRoaXJkLXBhcnR5IFB5dGhvbiBtb2R1bGVzLiAgRm9yIGV4YW1wbGUsIG9uIGEgVW5peAotc3lzdGVtIHlvdSBtaWdodCBub3QgaGF2ZSBwZXJtaXNzaW9uIHRvIHdyaXRlIHRvIHRoZSBzdGFuZGFyZCB0aGlyZC1wYXJ0eSBtb2R1bGUKLWRpcmVjdG9yeS4gIE9yIHlvdSBtaWdodCB3aXNoIHRvIHRyeSBvdXQgYSBtb2R1bGUgYmVmb3JlIG1ha2luZyBpdCBhIHN0YW5kYXJkCi1wYXJ0IG9mIHlvdXIgbG9jYWwgUHl0aG9uIGluc3RhbGxhdGlvbi4gIFRoaXMgaXMgZXNwZWNpYWxseSB0cnVlIHdoZW4gdXBncmFkaW5nCi1hIGRpc3RyaWJ1dGlvbiBhbHJlYWR5IHByZXNlbnQ6IHlvdSB3YW50IHRvIG1ha2Ugc3VyZSB5b3VyIGV4aXN0aW5nIGJhc2Ugb2YKLXNjcmlwdHMgc3RpbGwgd29ya3Mgd2l0aCB0aGUgbmV3IHZlcnNpb24gYmVmb3JlIGFjdHVhbGx5IHVwZ3JhZGluZy4KLQotVGhlIERpc3R1dGlscyA6Y29tbWFuZDpgaW5zdGFsbGAgY29tbWFuZCBpcyBkZXNpZ25lZCB0byBtYWtlIGluc3RhbGxpbmcgbW9kdWxlCi1kaXN0cmlidXRpb25zIHRvIGFuIGFsdGVybmF0ZSBsb2NhdGlvbiBzaW1wbGUgYW5kIHBhaW5sZXNzLiAgVGhlIGJhc2ljIGlkZWEgaXMKLXRoYXQgeW91IHN1cHBseSBhIGJhc2UgZGlyZWN0b3J5IGZvciB0aGUgaW5zdGFsbGF0aW9uLCBhbmQgdGhlCi06Y29tbWFuZDpgaW5zdGFsbGAgY29tbWFuZCBwaWNrcyBhIHNldCBvZiBkaXJlY3RvcmllcyAoY2FsbGVkIGFuICppbnN0YWxsYXRpb24KLXNjaGVtZSopIHVuZGVyIHRoaXMgYmFzZSBkaXJlY3RvcnkgaW4gd2hpY2ggdG8gaW5zdGFsbCBmaWxlcy4gIFRoZSBkZXRhaWxzCi1kaWZmZXIgYWNyb3NzIHBsYXRmb3Jtcywgc28gcmVhZCB3aGljaGV2ZXIgb2YgdGhlIGZvbGxvd2luZyBzZWN0aW9ucyBhcHBsaWVzIHRvCi15b3UuCi0KLU5vdGUgdGhhdCB0aGUgdmFyaW91cyBhbHRlcm5hdGUgaW5zdGFsbGF0aW9uIHNjaGVtZXMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZTogeW91Ci1jYW4gcGFzcyBgYC0tdXNlcmBgLCBvciBgYC0taG9tZWBgLCBvciBgYC0tcHJlZml4YGAgYW5kIGBgLS1leGVjLXByZWZpeGBgLCBvcgotYGAtLWluc3RhbGwtYmFzZWBgIGFuZCBgYC0taW5zdGFsbC1wbGF0YmFzZWBgLCBidXQgeW91IGNhbid0IG1peCBmcm9tIHRoZXNlCi1ncm91cHMuCi0KLQotLi4gX2luc3QtYWx0LWluc3RhbGwtdXNlcjoKLQotQWx0ZXJuYXRlIGluc3RhbGxhdGlvbjogdGhlIHVzZXIgc2NoZW1lCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLQotVGhpcyBzY2hlbWUgaXMgZGVzaWduZWQgdG8gYmUgdGhlIG1vc3QgY29udmVuaWVudCBzb2x1dGlvbiBmb3IgdXNlcnMgdGhhdCBkb24ndAotaGF2ZSB3cml0ZSBwZXJtaXNzaW9uIHRvIHRoZSBnbG9iYWwgc2l0ZS1wYWNrYWdlcyBkaXJlY3Rvcnkgb3IgZG9uJ3Qgd2FudCB0bwotaW5zdGFsbCBpbnRvIGl0LiAgSXQgaXMgZW5hYmxlZCB3aXRoIGEgc2ltcGxlIG9wdGlvbjo6Ci0KLSAgIHB5dGhvbiBzZXR1cC5weSBpbnN0YWxsIC0tdXNlcgotCi1GaWxlcyB3aWxsIGJlIGluc3RhbGxlZCBpbnRvIHN1YmRpcmVjdG9yaWVzIG9mIDpkYXRhOmBzaXRlLlVTRVJfQkFTRWAgKHdyaXR0ZW4KLWFzIDpmaWxlOmB7dXNlcmJhc2V9YCBoZXJlYWZ0ZXIpLiAgVGhpcyBzY2hlbWUgaW5zdGFsbHMgcHVyZSBQeXRob24gbW9kdWxlcyBhbmQKLWV4dGVuc2lvbiBtb2R1bGVzIGluIHRoZSBzYW1lIGxvY2F0aW9uIChhbHNvIGtub3duIGFzIDpkYXRhOmBzaXRlLlVTRVJfU0lURWApLgotSGVyZSBhcmUgdGhlIHZhbHVlcyBmb3IgVU5JWCwgaW5jbHVkaW5nIE1hYyBPUyBYOgotCi09PT09PT09PT09PT09PT0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLVR5cGUgb2YgZmlsZSAgICBJbnN0YWxsYXRpb24gZGlyZWN0b3J5Ci09PT09PT09PT09PT09PT0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLW1vZHVsZXMgICAgICAgICA6ZmlsZTpge3VzZXJiYXNlfS9saWIvcHl0aG9ue1guWX0vc2l0ZS1wYWNrYWdlc2AKLXNjcmlwdHMgICAgICAgICA6ZmlsZTpge3VzZXJiYXNlfS9iaW5gCi1kYXRhICAgICAgICAgICAgOmZpbGU6YHt1c2VyYmFzZX1gCi1DIGhlYWRlcnMgICAgICAgOmZpbGU6YHt1c2VyYmFzZX0vaW5jbHVkZS9weXRob257WC5ZfXthYmlmbGFnc30ve2Rpc3RuYW1lfWAKLT09PT09PT09PT09PT09PSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotCi1BbmQgaGVyZSBhcmUgdGhlIHZhbHVlcyB1c2VkIG9uIFdpbmRvd3M6Ci0KLT09PT09PT09PT09PT09PSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotVHlwZSBvZiBmaWxlICAgIEluc3RhbGxhdGlvbiBkaXJlY3RvcnkKLT09PT09PT09PT09PT09PSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotbW9kdWxlcyAgICAgICAgIDpmaWxlOmB7dXNlcmJhc2V9XFxQeXRob257WFl9XFxzaXRlLXBhY2thZ2VzYAotc2NyaXB0cyAgICAgICAgIDpmaWxlOmB7dXNlcmJhc2V9XFxTY3JpcHRzYAotZGF0YSAgICAgICAgICAgIDpmaWxlOmB7dXNlcmJhc2V9YAotQyBoZWFkZXJzICAgICAgIDpmaWxlOmB7dXNlcmJhc2V9XFxQeXRob257WFl9XFxJbmNsdWRlXFx7ZGlzdG5hbWV9YAotPT09PT09PT09PT09PT09ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0KLVRoZSBhZHZhbnRhZ2Ugb2YgdXNpbmcgdGhpcyBzY2hlbWUgY29tcGFyZWQgdG8gdGhlIG90aGVyIG9uZXMgZGVzY3JpYmVkIGJlbG93IGlzCi10aGF0IHRoZSB1c2VyIHNpdGUtcGFja2FnZXMgZGlyZWN0b3J5IGlzIHVuZGVyIG5vcm1hbCBjb25kaXRpb25zIGFsd2F5cyBpbmNsdWRlZAotaW4gOmRhdGE6YHN5cy5wYXRoYCAoc2VlIDptb2Q6YHNpdGVgIGZvciBtb3JlIGluZm9ybWF0aW9uKSwgd2hpY2ggbWVhbnMgdGhhdAotdGhlcmUgaXMgbm8gYWRkaXRpb25hbCBzdGVwIHRvIHBlcmZvcm0gYWZ0ZXIgcnVubmluZyB0aGUgOmZpbGU6YHNldHVwLnB5YCBzY3JpcHQKLXRvIGZpbmFsaXplIHRoZSBpbnN0YWxsYXRpb24uCi0KLVRoZSA6Y29tbWFuZDpgYnVpbGRfZXh0YCBjb21tYW5kIGFsc28gaGFzIGEgYGAtLXVzZXJgYCBvcHRpb24gdG8gYWRkCi06ZmlsZTpge3VzZXJiYXNlfS9pbmNsdWRlYCB0byB0aGUgY29tcGlsZXIgc2VhcmNoIHBhdGggZm9yIGhlYWRlciBmaWxlcyBhbmQKLTpmaWxlOmB7dXNlcmJhc2V9L2xpYmAgdG8gdGhlIGNvbXBpbGVyIHNlYXJjaCBwYXRoIGZvciBsaWJyYXJpZXMgYXMgd2VsbCBhcyB0bwotdGhlIHJ1bnRpbWUgc2VhcmNoIHBhdGggZm9yIHNoYXJlZCBDIGxpYnJhcmllcyAocnBhdGgpLgotCi0KLS4uIF9pbnN0LWFsdC1pbnN0YWxsLWhvbWU6Ci0KLUFsdGVybmF0ZSBpbnN0YWxsYXRpb246IHRoZSBob21lIHNjaGVtZQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLVRoZSBpZGVhIGJlaGluZCB0aGUgImhvbWUgc2NoZW1lIiBpcyB0aGF0IHlvdSBidWlsZCBhbmQgbWFpbnRhaW4gYSBwZXJzb25hbAotc3Rhc2ggb2YgUHl0aG9uIG1vZHVsZXMuICBUaGlzIHNjaGVtZSdzIG5hbWUgaXMgZGVyaXZlZCBmcm9tIHRoZSBpZGVhIG9mIGEKLSJob21lIiBkaXJlY3Rvcnkgb24gVW5peCwgc2luY2UgaXQncyBub3QgdW51c3VhbCBmb3IgYSBVbml4IHVzZXIgdG8gbWFrZSB0aGVpcgotaG9tZSBkaXJlY3RvcnkgaGF2ZSBhIGxheW91dCBzaW1pbGFyIHRvIDpmaWxlOmAvdXNyL2Agb3IgOmZpbGU6YC91c3IvbG9jYWwvYC4KLVRoaXMgc2NoZW1lIGNhbiBiZSB1c2VkIGJ5IGFueW9uZSwgcmVnYXJkbGVzcyBvZiB0aGUgb3BlcmF0aW5nIHN5c3RlbSB0aGV5Ci1hcmUgaW5zdGFsbGluZyBmb3IuCi0KLUluc3RhbGxpbmcgYSBuZXcgbW9kdWxlIGRpc3RyaWJ1dGlvbiBpcyBhcyBzaW1wbGUgYXMgOjoKLQotICAgcHl0aG9uIHNldHVwLnB5IGluc3RhbGwgLS1ob21lPTxkaXI+Ci0KLXdoZXJlIHlvdSBjYW4gc3VwcGx5IGFueSBkaXJlY3RvcnkgeW91IGxpa2UgZm9yIHRoZSA6b3B0aW9uOmAtLWhvbWVgIG9wdGlvbi4gIE9uCi1Vbml4LCBsYXp5IHR5cGlzdHMgY2FuIGp1c3QgdHlwZSBhIHRpbGRlIChgYH5gYCk7IHRoZSA6Y29tbWFuZDpgaW5zdGFsbGAgY29tbWFuZAotd2lsbCBleHBhbmQgdGhpcyB0byB5b3VyIGhvbWUgZGlyZWN0b3J5OjoKLQotICAgcHl0aG9uIHNldHVwLnB5IGluc3RhbGwgLS1ob21lPX4KLQotVG8gbWFrZSBQeXRob24gZmluZCB0aGUgZGlzdHJpYnV0aW9ucyBpbnN0YWxsZWQgd2l0aCB0aGlzIHNjaGVtZSwgeW91IG1heSBoYXZlCi10byA6cmVmOmBtb2RpZnkgUHl0aG9uJ3Mgc2VhcmNoIHBhdGggPGluc3Qtc2VhcmNoLXBhdGg+YCBvciBlZGl0Ci06bW9kOmBzaXRlY3VzdG9taXplYCAoc2VlIDptb2Q6YHNpdGVgKSB0byBjYWxsIDpmdW5jOmBzaXRlLmFkZHNpdGVkaXJgIG9yIGVkaXQKLTpkYXRhOmBzeXMucGF0aGAuCi0KLVRoZSA6b3B0aW9uOmAtLWhvbWVgIG9wdGlvbiBkZWZpbmVzIHRoZSBpbnN0YWxsYXRpb24gYmFzZSBkaXJlY3RvcnkuICBGaWxlcyBhcmUKLWluc3RhbGxlZCB0byB0aGUgZm9sbG93aW5nIGRpcmVjdG9yaWVzIHVuZGVyIHRoZSBpbnN0YWxsYXRpb24gYmFzZSBhcyBmb2xsb3dzOgotCi09PT09PT09PT09PT09PT0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLVR5cGUgb2YgZmlsZSAgICBJbnN0YWxsYXRpb24gZGlyZWN0b3J5Ci09PT09PT09PT09PT09PT0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLW1vZHVsZXMgICAgICAgICA6ZmlsZTpge2hvbWV9L2xpYi9weXRob25gCi1zY3JpcHRzICAgICAgICAgOmZpbGU6YHtob21lfS9iaW5gCi1kYXRhICAgICAgICAgICAgOmZpbGU6YHtob21lfWAKLUMgaGVhZGVycyAgICAgICA6ZmlsZTpge2hvbWV9L2luY2x1ZGUvcHl0aG9uL3tkaXN0bmFtZX1gCi09PT09PT09PT09PT09PT0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLQotKE1lbnRhbGx5IHJlcGxhY2Ugc2xhc2hlcyB3aXRoIGJhY2tzbGFzaGVzIGlmIHlvdSdyZSBvbiBXaW5kb3dzLikKLQotCi0uLiBfaW5zdC1hbHQtaW5zdGFsbC1wcmVmaXgtdW5peDoKLQotQWx0ZXJuYXRlIGluc3RhbGxhdGlvbjogVW5peCAodGhlIHByZWZpeCBzY2hlbWUpCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLQotVGhlICJwcmVmaXggc2NoZW1lIiBpcyB1c2VmdWwgd2hlbiB5b3Ugd2lzaCB0byB1c2Ugb25lIFB5dGhvbiBpbnN0YWxsYXRpb24gdG8KLXBlcmZvcm0gdGhlIGJ1aWxkL2luc3RhbGwgKGkuZS4sIHRvIHJ1biB0aGUgc2V0dXAgc2NyaXB0KSwgYnV0IGluc3RhbGwgbW9kdWxlcwotaW50byB0aGUgdGhpcmQtcGFydHkgbW9kdWxlIGRpcmVjdG9yeSBvZiBhIGRpZmZlcmVudCBQeXRob24gaW5zdGFsbGF0aW9uIChvcgotc29tZXRoaW5nIHRoYXQgbG9va3MgbGlrZSBhIGRpZmZlcmVudCBQeXRob24gaW5zdGFsbGF0aW9uKS4gIElmIHRoaXMgc291bmRzIGEKLXRyaWZsZSB1bnVzdWFsLCBpdCBpcy0tLXRoYXQncyB3aHkgdGhlIHVzZXIgYW5kIGhvbWUgc2NoZW1lcyBjb21lIGJlZm9yZS4gIEhvd2V2ZXIsCi10aGVyZSBhcmUgYXQgbGVhc3QgdHdvIGtub3duIGNhc2VzIHdoZXJlIHRoZSBwcmVmaXggc2NoZW1lIHdpbGwgYmUgdXNlZnVsLgotCi1GaXJzdCwgY29uc2lkZXIgdGhhdCBtYW55IExpbnV4IGRpc3RyaWJ1dGlvbnMgcHV0IFB5dGhvbiBpbiA6ZmlsZTpgL3VzcmAsIHJhdGhlcgotdGhhbiB0aGUgbW9yZSB0cmFkaXRpb25hbCA6ZmlsZTpgL3Vzci9sb2NhbGAuICBUaGlzIGlzIGVudGlyZWx5IGFwcHJvcHJpYXRlLAotc2luY2UgaW4gdGhvc2UgY2FzZXMgUHl0aG9uIGlzIHBhcnQgb2YgInRoZSBzeXN0ZW0iIHJhdGhlciB0aGFuIGEgbG9jYWwgYWRkLW9uLgotSG93ZXZlciwgaWYgeW91IGFyZSBpbnN0YWxsaW5nIFB5dGhvbiBtb2R1bGVzIGZyb20gc291cmNlLCB5b3UgcHJvYmFibHkgd2FudAotdGhlbSB0byBnbyBpbiA6ZmlsZTpgL3Vzci9sb2NhbC9saWIvcHl0aG9uMi57WH1gIHJhdGhlciB0aGFuCi06ZmlsZTpgL3Vzci9saWIvcHl0aG9uMi57WH1gLiAgVGhpcyBjYW4gYmUgZG9uZSB3aXRoIDo6Ci0KLSAgIC91c3IvYmluL3B5dGhvbiBzZXR1cC5weSBpbnN0YWxsIC0tcHJlZml4PS91c3IvbG9jYWwKLQotQW5vdGhlciBwb3NzaWJpbGl0eSBpcyBhIG5ldHdvcmsgZmlsZXN5c3RlbSB3aGVyZSB0aGUgbmFtZSB1c2VkIHRvIHdyaXRlIHRvIGEKLXJlbW90ZSBkaXJlY3RvcnkgaXMgZGlmZmVyZW50IGZyb20gdGhlIG5hbWUgdXNlZCB0byByZWFkIGl0OiBmb3IgZXhhbXBsZSwgdGhlCi1QeXRob24gaW50ZXJwcmV0ZXIgYWNjZXNzZWQgYXMgOmZpbGU6YC91c3IvbG9jYWwvYmluL3B5dGhvbmAgbWlnaHQgc2VhcmNoIGZvcgotbW9kdWxlcyBpbiA6ZmlsZTpgL3Vzci9sb2NhbC9saWIvcHl0aG9uMi57WH1gLCBidXQgdGhvc2UgbW9kdWxlcyB3b3VsZCBoYXZlIHRvCi1iZSBpbnN0YWxsZWQgdG8sIHNheSwgOmZpbGU6YC9tbnQve0BzZXJ2ZXJ9L2V4cG9ydC9saWIvcHl0aG9uMi57WH1gLiAgVGhpcyBjb3VsZAotYmUgZG9uZSB3aXRoIDo6Ci0KLSAgIC91c3IvbG9jYWwvYmluL3B5dGhvbiBzZXR1cC5weSBpbnN0YWxsIC0tcHJlZml4PS9tbnQvQHNlcnZlci9leHBvcnQKLQotSW4gZWl0aGVyIGNhc2UsIHRoZSA6b3B0aW9uOmAtLXByZWZpeGAgb3B0aW9uIGRlZmluZXMgdGhlIGluc3RhbGxhdGlvbiBiYXNlLCBhbmQKLXRoZSA6b3B0aW9uOmAtLWV4ZWMtcHJlZml4YCBvcHRpb24gZGVmaW5lcyB0aGUgcGxhdGZvcm0tc3BlY2lmaWMgaW5zdGFsbGF0aW9uCi1iYXNlLCB3aGljaCBpcyB1c2VkIGZvciBwbGF0Zm9ybS1zcGVjaWZpYyBmaWxlcy4gIChDdXJyZW50bHksIHRoaXMganVzdCBtZWFucwotbm9uLXB1cmUgbW9kdWxlIGRpc3RyaWJ1dGlvbnMsIGJ1dCBjb3VsZCBiZSBleHBhbmRlZCB0byBDIGxpYnJhcmllcywgYmluYXJ5Ci1leGVjdXRhYmxlcywgZXRjLikgIElmIDpvcHRpb246YC0tZXhlYy1wcmVmaXhgIGlzIG5vdCBzdXBwbGllZCwgaXQgZGVmYXVsdHMgdG8KLTpvcHRpb246YC0tcHJlZml4YC4gIEZpbGVzIGFyZSBpbnN0YWxsZWQgYXMgZm9sbG93czoKLQotPT09PT09PT09PT09PT09PT0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotVHlwZSBvZiBmaWxlICAgICAgSW5zdGFsbGF0aW9uIGRpcmVjdG9yeQotPT09PT09PT09PT09PT09PT0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotUHl0aG9uIG1vZHVsZXMgICAgOmZpbGU6YHtwcmVmaXh9L2xpYi9weXRob257WC5ZfS9zaXRlLXBhY2thZ2VzYAotZXh0ZW5zaW9uIG1vZHVsZXMgOmZpbGU6YHtleGVjLXByZWZpeH0vbGliL3B5dGhvbntYLll9L3NpdGUtcGFja2FnZXNgCi1zY3JpcHRzICAgICAgICAgICA6ZmlsZTpge3ByZWZpeH0vYmluYAotZGF0YSAgICAgICAgICAgICAgOmZpbGU6YHtwcmVmaXh9YAotQyBoZWFkZXJzICAgICAgICAgOmZpbGU6YHtwcmVmaXh9L2luY2x1ZGUvcHl0aG9ue1guWX17YWJpZmxhZ3N9L3tkaXN0bmFtZX1gCi09PT09PT09PT09PT09PT09PSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0KLVRoZXJlIGlzIG5vIHJlcXVpcmVtZW50IHRoYXQgOm9wdGlvbjpgLS1wcmVmaXhgIG9yIDpvcHRpb246YC0tZXhlYy1wcmVmaXhgCi1hY3R1YWxseSBwb2ludCB0byBhbiBhbHRlcm5hdGUgUHl0aG9uIGluc3RhbGxhdGlvbjsgaWYgdGhlIGRpcmVjdG9yaWVzIGxpc3RlZAotYWJvdmUgZG8gbm90IGFscmVhZHkgZXhpc3QsIHRoZXkgYXJlIGNyZWF0ZWQgYXQgaW5zdGFsbGF0aW9uIHRpbWUuCi0KLUluY2lkZW50YWxseSwgdGhlIHJlYWwgcmVhc29uIHRoZSBwcmVmaXggc2NoZW1lIGlzIGltcG9ydGFudCBpcyBzaW1wbHkgdGhhdCBhCi1zdGFuZGFyZCBVbml4IGluc3RhbGxhdGlvbiB1c2VzIHRoZSBwcmVmaXggc2NoZW1lLCBidXQgd2l0aCA6b3B0aW9uOmAtLXByZWZpeGAKLWFuZCA6b3B0aW9uOmAtLWV4ZWMtcHJlZml4YCBzdXBwbGllZCBieSBQeXRob24gaXRzZWxmIGFzIGBgc3lzLnByZWZpeGBgIGFuZAotYGBzeXMuZXhlY19wcmVmaXhgYC4gIFRodXMsIHlvdSBtaWdodCB0aGluayB5b3UnbGwgbmV2ZXIgdXNlIHRoZSBwcmVmaXggc2NoZW1lLAotYnV0IGV2ZXJ5IHRpbWUgeW91IHJ1biBgYHB5dGhvbiBzZXR1cC5weSBpbnN0YWxsYGAgd2l0aG91dCBhbnkgb3RoZXIgb3B0aW9ucywKLXlvdSdyZSB1c2luZyBpdC4KLQotTm90ZSB0aGF0IGluc3RhbGxpbmcgZXh0ZW5zaW9ucyB0byBhbiBhbHRlcm5hdGUgUHl0aG9uIGluc3RhbGxhdGlvbiBoYXMgbm8KLWVmZmVjdCBvbiBob3cgdGhvc2UgZXh0ZW5zaW9ucyBhcmUgYnVpbHQ6IGluIHBhcnRpY3VsYXIsIHRoZSBQeXRob24gaGVhZGVyIGZpbGVzCi0oOmZpbGU6YFB5dGhvbi5oYCBhbmQgZnJpZW5kcykgaW5zdGFsbGVkIHdpdGggdGhlIFB5dGhvbiBpbnRlcnByZXRlciB1c2VkIHRvIHJ1bgotdGhlIHNldHVwIHNjcmlwdCB3aWxsIGJlIHVzZWQgaW4gY29tcGlsaW5nIGV4dGVuc2lvbnMuICBJdCBpcyB5b3VyCi1yZXNwb25zaWJpbGl0eSB0byBlbnN1cmUgdGhhdCB0aGUgaW50ZXJwcmV0ZXIgdXNlZCB0byBydW4gZXh0ZW5zaW9ucyBpbnN0YWxsZWQKLWluIHRoaXMgd2F5IGlzIGNvbXBhdGlibGUgd2l0aCB0aGUgaW50ZXJwcmV0ZXIgdXNlZCB0byBidWlsZCB0aGVtLiAgVGhlIGJlc3Qgd2F5Ci10byBkbyB0aGlzIGlzIHRvIGVuc3VyZSB0aGF0IHRoZSB0d28gaW50ZXJwcmV0ZXJzIGFyZSB0aGUgc2FtZSB2ZXJzaW9uIG9mIFB5dGhvbgotKHBvc3NpYmx5IGRpZmZlcmVudCBidWlsZHMsIG9yIHBvc3NpYmx5IGNvcGllcyBvZiB0aGUgc2FtZSBidWlsZCkuICAoT2YgY291cnNlLAotaWYgeW91ciA6b3B0aW9uOmAtLXByZWZpeGAgYW5kIDpvcHRpb246YC0tZXhlYy1wcmVmaXhgIGRvbid0IGV2ZW4gcG9pbnQgdG8gYW4KLWFsdGVybmF0ZSBQeXRob24gaW5zdGFsbGF0aW9uLCB0aGlzIGlzIGltbWF0ZXJpYWwuKQotCi0KLS4uIF9pbnN0LWFsdC1pbnN0YWxsLXByZWZpeC13aW5kb3dzOgotCi1BbHRlcm5hdGUgaW5zdGFsbGF0aW9uOiBXaW5kb3dzICh0aGUgcHJlZml4IHNjaGVtZSkKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotCi1XaW5kb3dzIGhhcyBubyBjb25jZXB0IG9mIGEgdXNlcidzIGhvbWUgZGlyZWN0b3J5LCBhbmQgc2luY2UgdGhlIHN0YW5kYXJkIFB5dGhvbgotaW5zdGFsbGF0aW9uIHVuZGVyIFdpbmRvd3MgaXMgc2ltcGxlciB0aGFuIHVuZGVyIFVuaXgsIHRoZSA6b3B0aW9uOmAtLXByZWZpeGAKLW9wdGlvbiBoYXMgdHJhZGl0aW9uYWxseSBiZWVuIHVzZWQgdG8gaW5zdGFsbCBhZGRpdGlvbmFsIHBhY2thZ2VzIGluIHNlcGFyYXRlCi1sb2NhdGlvbnMgb24gV2luZG93cy4gOjoKLQotICAgcHl0aG9uIHNldHVwLnB5IGluc3RhbGwgLS1wcmVmaXg9IlxUZW1wXFB5dGhvbiIKLQotdG8gaW5zdGFsbCBtb2R1bGVzIHRvIHRoZSA6ZmlsZTpgXFxUZW1wXFxQeXRob25gIGRpcmVjdG9yeSBvbiB0aGUgY3VycmVudCBkcml2ZS4KLQotVGhlIGluc3RhbGxhdGlvbiBiYXNlIGlzIGRlZmluZWQgYnkgdGhlIDpvcHRpb246YC0tcHJlZml4YCBvcHRpb247IHRoZQotOm9wdGlvbjpgLS1leGVjLXByZWZpeGAgb3B0aW9uIGlzIG5vdCBzdXBwb3J0ZWQgdW5kZXIgV2luZG93cywgd2hpY2ggbWVhbnMgdGhhdAotcHVyZSBQeXRob24gbW9kdWxlcyBhbmQgZXh0ZW5zaW9uIG1vZHVsZXMgYXJlIGluc3RhbGxlZCBpbnRvIHRoZSBzYW1lIGxvY2F0aW9uLgotRmlsZXMgYXJlIGluc3RhbGxlZCBhcyBmb2xsb3dzOgotCi09PT09PT09PT09PT09PT0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotVHlwZSBvZiBmaWxlICAgIEluc3RhbGxhdGlvbiBkaXJlY3RvcnkKLT09PT09PT09PT09PT09PSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci1tb2R1bGVzICAgICAgICAgOmZpbGU6YHtwcmVmaXh9XFxMaWJcXHNpdGUtcGFja2FnZXNgCi1zY3JpcHRzICAgICAgICAgOmZpbGU6YHtwcmVmaXh9XFxTY3JpcHRzYAotZGF0YSAgICAgICAgICAgIDpmaWxlOmB7cHJlZml4fWAKLUMgaGVhZGVycyAgICAgICA6ZmlsZTpge3ByZWZpeH1cXEluY2x1ZGVcXHtkaXN0bmFtZX1gCi09PT09PT09PT09PT09PT0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotCi0KLS4uIF9pbnN0LWN1c3RvbS1pbnN0YWxsOgotCi1DdXN0b20gSW5zdGFsbGF0aW9uCi09PT09PT09PT09PT09PT09PT09Ci0KLVNvbWV0aW1lcywgdGhlIGFsdGVybmF0ZSBpbnN0YWxsYXRpb24gc2NoZW1lcyBkZXNjcmliZWQgaW4gc2VjdGlvbgotOnJlZjpgaW5zdC1hbHQtaW5zdGFsbGAganVzdCBkb24ndCBkbyB3aGF0IHlvdSB3YW50LiAgWW91IG1pZ2h0IHdhbnQgdG8gdHdlYWsganVzdAotb25lIG9yIHR3byBkaXJlY3RvcmllcyB3aGlsZSBrZWVwaW5nIGV2ZXJ5dGhpbmcgdW5kZXIgdGhlIHNhbWUgYmFzZSBkaXJlY3RvcnksCi1vciB5b3UgbWlnaHQgd2FudCB0byBjb21wbGV0ZWx5IHJlZGVmaW5lIHRoZSBpbnN0YWxsYXRpb24gc2NoZW1lLiAgSW4gZWl0aGVyCi1jYXNlLCB5b3UncmUgY3JlYXRpbmcgYSAqY3VzdG9tIGluc3RhbGxhdGlvbiBzY2hlbWUqLgotCi1UbyBjcmVhdGUgYSBjdXN0b20gaW5zdGFsbGF0aW9uIHNjaGVtZSwgeW91IHN0YXJ0IHdpdGggb25lIG9mIHRoZSBhbHRlcm5hdGUKLXNjaGVtZXMgYW5kIG92ZXJyaWRlIHNvbWUgb2YgdGhlIGluc3RhbGxhdGlvbiBkaXJlY3RvcmllcyB1c2VkIGZvciB0aGUgdmFyaW91cwotdHlwZXMgb2YgZmlsZXMsIHVzaW5nIHRoZXNlIG9wdGlvbnM6Ci0KLT09PT09PT09PT09PT09PT09PT09PT0gPT09PT09PT09PT09PT09PT09PT09PT0KLVR5cGUgb2YgZmlsZSAgICAgICAgICAgT3ZlcnJpZGUgb3B0aW9uCi09PT09PT09PT09PT09PT09PT09PT09ID09PT09PT09PT09PT09PT09PT09PT09Ci1QeXRob24gbW9kdWxlcyAgICAgICAgIGBgLS1pbnN0YWxsLXB1cmVsaWJgYAotZXh0ZW5zaW9uIG1vZHVsZXMgICAgICBgYC0taW5zdGFsbC1wbGF0bGliYGAKLWFsbCBtb2R1bGVzICAgICAgICAgICAgYGAtLWluc3RhbGwtbGliYGAKLXNjcmlwdHMgICAgICAgICAgICAgICAgYGAtLWluc3RhbGwtc2NyaXB0c2BgCi1kYXRhICAgICAgICAgICAgICAgICAgIGBgLS1pbnN0YWxsLWRhdGFgYAotQyBoZWFkZXJzICAgICAgICAgICAgICBgYC0taW5zdGFsbC1oZWFkZXJzYGAKLT09PT09PT09PT09PT09PT09PT09PT0gPT09PT09PT09PT09PT09PT09PT09PT0KLQotVGhlc2Ugb3ZlcnJpZGUgb3B0aW9ucyBjYW4gYmUgcmVsYXRpdmUsIGFic29sdXRlLAotb3IgZXhwbGljaXRseSBkZWZpbmVkIGluIHRlcm1zIG9mIG9uZSBvZiB0aGUgaW5zdGFsbGF0aW9uIGJhc2UgZGlyZWN0b3JpZXMuCi0oVGhlcmUgYXJlIHR3byBpbnN0YWxsYXRpb24gYmFzZSBkaXJlY3RvcmllcywgYW5kIHRoZXkgYXJlIG5vcm1hbGx5IHRoZSBzYW1lLS0tCi10aGV5IG9ubHkgZGlmZmVyIHdoZW4geW91IHVzZSB0aGUgVW5peCAicHJlZml4IHNjaGVtZSIgYW5kIHN1cHBseSBkaWZmZXJlbnQKLWBgLS1wcmVmaXhgYCBhbmQgYGAtLWV4ZWMtcHJlZml4YGAgb3B0aW9uczsgdXNpbmcgYGAtLWluc3RhbGwtbGliYGAgd2lsbAotb3ZlcnJpZGUgdmFsdWVzIGNvbXB1dGVkIG9yIGdpdmVuIGZvciBgYC0taW5zdGFsbC1wdXJlbGliYGAgYW5kCi1gYC0taW5zdGFsbC1wbGF0bGliYGAsIGFuZCBpcyByZWNvbW1lbmRlZCBmb3Igc2NoZW1lcyB0aGF0IGRvbid0IG1ha2UgYQotZGlmZmVyZW5jZSBiZXR3ZWVuIFB5dGhvbiBhbmQgZXh0ZW5zaW9uIG1vZHVsZXMuKQotCi1Gb3IgZXhhbXBsZSwgc2F5IHlvdSdyZSBpbnN0YWxsaW5nIGEgbW9kdWxlIGRpc3RyaWJ1dGlvbiB0byB5b3VyIGhvbWUgZGlyZWN0b3J5Ci11bmRlciBVbml4LS0tYnV0IHlvdSB3YW50IHNjcmlwdHMgdG8gZ28gaW4gOmZpbGU6YH4vc2NyaXB0c2AgcmF0aGVyIHRoYW4KLTpmaWxlOmB+L2JpbmAuIEFzIHlvdSBtaWdodCBleHBlY3QsIHlvdSBjYW4gb3ZlcnJpZGUgdGhpcyBkaXJlY3Rvcnkgd2l0aCB0aGUKLTpvcHRpb246YC0taW5zdGFsbC1zY3JpcHRzYCBvcHRpb247IGluIHRoaXMgY2FzZSwgaXQgbWFrZXMgbW9zdCBzZW5zZSB0byBzdXBwbHkKLWEgcmVsYXRpdmUgcGF0aCwgd2hpY2ggd2lsbCBiZSBpbnRlcnByZXRlZCByZWxhdGl2ZSB0byB0aGUgaW5zdGFsbGF0aW9uIGJhc2UKLWRpcmVjdG9yeSAoeW91ciBob21lIGRpcmVjdG9yeSwgaW4gdGhpcyBjYXNlKTo6Ci0KLSAgIHB5dGhvbiBzZXR1cC5weSBpbnN0YWxsIC0taG9tZT1+IC0taW5zdGFsbC1zY3JpcHRzPXNjcmlwdHMKLQotQW5vdGhlciBVbml4IGV4YW1wbGU6IHN1cHBvc2UgeW91ciBQeXRob24gaW5zdGFsbGF0aW9uIHdhcyBidWlsdCBhbmQgaW5zdGFsbGVkCi13aXRoIGEgcHJlZml4IG9mIDpmaWxlOmAvdXNyL2xvY2FsL3B5dGhvbmAsIHNvIHVuZGVyIGEgc3RhbmRhcmQgIGluc3RhbGxhdGlvbgotc2NyaXB0cyB3aWxsIHdpbmQgdXAgaW4gOmZpbGU6YC91c3IvbG9jYWwvcHl0aG9uL2JpbmAuICBJZiB5b3Ugd2FudCB0aGVtIGluCi06ZmlsZTpgL3Vzci9sb2NhbC9iaW5gIGluc3RlYWQsIHlvdSB3b3VsZCBzdXBwbHkgdGhpcyBhYnNvbHV0ZSBkaXJlY3RvcnkgZm9yIHRoZQotOm9wdGlvbjpgLS1pbnN0YWxsLXNjcmlwdHNgIG9wdGlvbjo6Ci0KLSAgIHB5dGhvbiBzZXR1cC5weSBpbnN0YWxsIC0taW5zdGFsbC1zY3JpcHRzPS91c3IvbG9jYWwvYmluCi0KLShUaGlzIHBlcmZvcm1zIGFuIGluc3RhbGxhdGlvbiB1c2luZyB0aGUgInByZWZpeCBzY2hlbWUsIiB3aGVyZSB0aGUgcHJlZml4IGlzCi13aGF0ZXZlciB5b3VyIFB5dGhvbiBpbnRlcnByZXRlciB3YXMgaW5zdGFsbGVkIHdpdGgtLS0gOmZpbGU6YC91c3IvbG9jYWwvcHl0aG9uYAotaW4gdGhpcyBjYXNlLikKLQotSWYgeW91IG1haW50YWluIFB5dGhvbiBvbiBXaW5kb3dzLCB5b3UgbWlnaHQgd2FudCB0aGlyZC1wYXJ0eSBtb2R1bGVzIHRvIGxpdmUgaW4KLWEgc3ViZGlyZWN0b3J5IG9mIDpmaWxlOmB7cHJlZml4fWAsIHJhdGhlciB0aGFuIHJpZ2h0IGluIDpmaWxlOmB7cHJlZml4fWAKLWl0c2VsZi4gIFRoaXMgaXMgYWxtb3N0IGFzIGVhc3kgYXMgY3VzdG9taXppbmcgdGhlIHNjcmlwdCBpbnN0YWxsYXRpb24gZGlyZWN0b3J5Ci0tLS15b3UganVzdCBoYXZlIHRvIHJlbWVtYmVyIHRoYXQgdGhlcmUgYXJlIHR3byB0eXBlcyBvZiBtb2R1bGVzIHRvIHdvcnJ5IGFib3V0LAotUHl0aG9uIGFuZCBleHRlbnNpb24gbW9kdWxlcywgd2hpY2ggY2FuIGNvbnZlbmllbnRseSBiZSBib3RoIGNvbnRyb2xsZWQgYnkgb25lCi1vcHRpb246OgotCi0gICBweXRob24gc2V0dXAucHkgaW5zdGFsbCAtLWluc3RhbGwtbGliPVNpdGUKLQotVGhlIHNwZWNpZmllZCBpbnN0YWxsYXRpb24gZGlyZWN0b3J5IGlzIHJlbGF0aXZlIHRvIDpmaWxlOmB7cHJlZml4fWAuICBPZgotY291cnNlLCB5b3UgYWxzbyBoYXZlIHRvIGVuc3VyZSB0aGF0IHRoaXMgZGlyZWN0b3J5IGlzIGluIFB5dGhvbidzIG1vZHVsZQotc2VhcmNoIHBhdGgsIHN1Y2ggYXMgYnkgcHV0dGluZyBhIDpmaWxlOmAucHRoYCBmaWxlIGluIGEgc2l0ZSBkaXJlY3RvcnkgKHNlZQotOm1vZDpgc2l0ZWApLiAgU2VlIHNlY3Rpb24gOnJlZjpgaW5zdC1zZWFyY2gtcGF0aGAgdG8gZmluZCBvdXQgaG93IHRvIG1vZGlmeQotUHl0aG9uJ3Mgc2VhcmNoIHBhdGguCi0KLUlmIHlvdSB3YW50IHRvIGRlZmluZSBhbiBlbnRpcmUgaW5zdGFsbGF0aW9uIHNjaGVtZSwgeW91IGp1c3QgaGF2ZSB0byBzdXBwbHkgYWxsCi1vZiB0aGUgaW5zdGFsbGF0aW9uIGRpcmVjdG9yeSBvcHRpb25zLiAgVGhlIHJlY29tbWVuZGVkIHdheSB0byBkbyB0aGlzIGlzIHRvCi1zdXBwbHkgcmVsYXRpdmUgcGF0aHM7IGZvciBleGFtcGxlLCBpZiB5b3Ugd2FudCB0byBtYWludGFpbiBhbGwgUHl0aG9uCi1tb2R1bGUtcmVsYXRlZCBmaWxlcyB1bmRlciA6ZmlsZTpgcHl0aG9uYCBpbiB5b3VyIGhvbWUgZGlyZWN0b3J5LCBhbmQgeW91IHdhbnQgYQotc2VwYXJhdGUgZGlyZWN0b3J5IGZvciBlYWNoIHBsYXRmb3JtIHRoYXQgeW91IHVzZSB5b3VyIGhvbWUgZGlyZWN0b3J5IGZyb20sIHlvdQotbWlnaHQgZGVmaW5lIHRoZSBmb2xsb3dpbmcgaW5zdGFsbGF0aW9uIHNjaGVtZTo6Ci0KLSAgIHB5dGhvbiBzZXR1cC5weSBpbnN0YWxsIC0taG9tZT1+IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIC0taW5zdGFsbC1wdXJlbGliPXB5dGhvbi9saWIgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgLS1pbnN0YWxsLXBsYXRsaWI9cHl0aG9uL2xpYi4kUExBVCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAtLWluc3RhbGwtc2NyaXB0cz1weXRob24vc2NyaXB0cwotICAgICAgICAgICAgICAgICAgICAgICAgICAgLS1pbnN0YWxsLWRhdGE9cHl0aG9uL2RhdGEKLQotb3IsIGVxdWl2YWxlbnRseSwgOjoKLQotICAgcHl0aG9uIHNldHVwLnB5IGluc3RhbGwgLS1ob21lPX4vcHl0aG9uIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIC0taW5zdGFsbC1wdXJlbGliPWxpYiBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAtLWluc3RhbGwtcGxhdGxpYj0nbGliLiRQTEFUJyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAtLWluc3RhbGwtc2NyaXB0cz1zY3JpcHRzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAtLWluc3RhbGwtZGF0YT1kYXRhCi0KLWBgJFBMQVRgYCBpcyBub3QgKG5lY2Vzc2FyaWx5KSBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZS0tLWl0IHdpbGwgYmUgZXhwYW5kZWQgYnkKLXRoZSBEaXN0dXRpbHMgYXMgaXQgcGFyc2VzIHlvdXIgY29tbWFuZCBsaW5lIG9wdGlvbnMsIGp1c3QgYXMgaXQgZG9lcyB3aGVuCi1wYXJzaW5nIHlvdXIgY29uZmlndXJhdGlvbiBmaWxlKHMpLgotCi1PYnZpb3VzbHksIHNwZWNpZnlpbmcgdGhlIGVudGlyZSBpbnN0YWxsYXRpb24gc2NoZW1lIGV2ZXJ5IHRpbWUgeW91IGluc3RhbGwgYQotbmV3IG1vZHVsZSBkaXN0cmlidXRpb24gd291bGQgYmUgdmVyeSB0ZWRpb3VzLiAgVGh1cywgeW91IGNhbiBwdXQgdGhlc2Ugb3B0aW9ucwotaW50byB5b3VyIERpc3R1dGlscyBjb25maWcgZmlsZSAoc2VlIHNlY3Rpb24gOnJlZjpgaW5zdC1jb25maWctZmlsZXNgKTo6Ci0KLSAgIFtpbnN0YWxsXQotICAgaW5zdGFsbC1iYXNlPSRIT01FCi0gICBpbnN0YWxsLXB1cmVsaWI9cHl0aG9uL2xpYgotICAgaW5zdGFsbC1wbGF0bGliPXB5dGhvbi9saWIuJFBMQVQKLSAgIGluc3RhbGwtc2NyaXB0cz1weXRob24vc2NyaXB0cwotICAgaW5zdGFsbC1kYXRhPXB5dGhvbi9kYXRhCi0KLW9yLCBlcXVpdmFsZW50bHksIDo6Ci0KLSAgIFtpbnN0YWxsXQotICAgaW5zdGFsbC1iYXNlPSRIT01FL3B5dGhvbgotICAgaW5zdGFsbC1wdXJlbGliPWxpYgotICAgaW5zdGFsbC1wbGF0bGliPWxpYi4kUExBVAotICAgaW5zdGFsbC1zY3JpcHRzPXNjcmlwdHMKLSAgIGluc3RhbGwtZGF0YT1kYXRhCi0KLU5vdGUgdGhhdCB0aGVzZSB0d28gYXJlICpub3QqIGVxdWl2YWxlbnQgaWYgeW91IHN1cHBseSBhIGRpZmZlcmVudCBpbnN0YWxsYXRpb24KLWJhc2UgZGlyZWN0b3J5IHdoZW4geW91IHJ1biB0aGUgc2V0dXAgc2NyaXB0LiAgRm9yIGV4YW1wbGUsIDo6Ci0KLSAgIHB5dGhvbiBzZXR1cC5weSBpbnN0YWxsIC0taW5zdGFsbC1iYXNlPS90bXAKLQotd291bGQgaW5zdGFsbCBwdXJlIG1vZHVsZXMgdG8gOmZpbGU6YC90bXAvcHl0aG9uL2xpYmAgaW4gdGhlIGZpcnN0IGNhc2UsIGFuZAotdG8gOmZpbGU6YC90bXAvbGliYCBpbiB0aGUgc2Vjb25kIGNhc2UuICAoRm9yIHRoZSBzZWNvbmQgY2FzZSwgeW91IHByb2JhYmx5Ci13YW50IHRvIHN1cHBseSBhbiBpbnN0YWxsYXRpb24gYmFzZSBvZiA6ZmlsZTpgL3RtcC9weXRob25gLikKLQotWW91IHByb2JhYmx5IG5vdGljZWQgdGhlIHVzZSBvZiBgYCRIT01FYGAgYW5kIGBgJFBMQVRgYCBpbiB0aGUgc2FtcGxlCi1jb25maWd1cmF0aW9uIGZpbGUgaW5wdXQuICBUaGVzZSBhcmUgRGlzdHV0aWxzIGNvbmZpZ3VyYXRpb24gdmFyaWFibGVzLCB3aGljaAotYmVhciBhIHN0cm9uZyByZXNlbWJsYW5jZSB0byBlbnZpcm9ubWVudCB2YXJpYWJsZXMuIEluIGZhY3QsIHlvdSBjYW4gdXNlCi1lbnZpcm9ubWVudCB2YXJpYWJsZXMgaW4gY29uZmlnIGZpbGVzIG9uIHBsYXRmb3JtcyB0aGF0IGhhdmUgc3VjaCBhIG5vdGlvbiBidXQKLXRoZSBEaXN0dXRpbHMgYWRkaXRpb25hbGx5IGRlZmluZSBhIGZldyBleHRyYSB2YXJpYWJsZXMgdGhhdCBtYXkgbm90IGJlIGluIHlvdXIKLWVudmlyb25tZW50LCBzdWNoIGFzIGBgJFBMQVRgYC4gIChBbmQgb2YgY291cnNlLCBvbiBzeXN0ZW1zIHRoYXQgZG9uJ3QgaGF2ZQotZW52aXJvbm1lbnQgdmFyaWFibGVzLCBzdWNoIGFzIE1hYyBPUyA5LCB0aGUgY29uZmlndXJhdGlvbiB2YXJpYWJsZXMgc3VwcGxpZWQgYnkKLXRoZSBEaXN0dXRpbHMgYXJlIHRoZSBvbmx5IG9uZXMgeW91IGNhbiB1c2UuKSBTZWUgc2VjdGlvbiA6cmVmOmBpbnN0LWNvbmZpZy1maWxlc2AKLWZvciBkZXRhaWxzLgotCi0uLiBYWFggbmVlZCBzb21lIFdpbmRvd3MgZXhhbXBsZXMtLS13aGVuIHdvdWxkIGN1c3RvbSBpbnN0YWxsYXRpb24gc2NoZW1lcyBiZQotICAgbmVlZGVkIG9uIHRob3NlIHBsYXRmb3Jtcz8KLQotCi0uLiBYWFggTW92ZSB0aGlzIHRvIERvYy91c2luZwotCi0uLiBfaW5zdC1zZWFyY2gtcGF0aDoKLQotTW9kaWZ5aW5nIFB5dGhvbidzIFNlYXJjaCBQYXRoCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLQotV2hlbiB0aGUgUHl0aG9uIGludGVycHJldGVyIGV4ZWN1dGVzIGFuIDprZXl3b3JkOmBpbXBvcnRgIHN0YXRlbWVudCwgaXQgc2VhcmNoZXMKLWZvciBib3RoIFB5dGhvbiBjb2RlIGFuZCBleHRlbnNpb24gbW9kdWxlcyBhbG9uZyBhIHNlYXJjaCBwYXRoLiAgQSBkZWZhdWx0IHZhbHVlCi1mb3IgdGhlIHBhdGggaXMgY29uZmlndXJlZCBpbnRvIHRoZSBQeXRob24gYmluYXJ5IHdoZW4gdGhlIGludGVycHJldGVyIGlzIGJ1aWx0LgotWW91IGNhbiBkZXRlcm1pbmUgdGhlIHBhdGggYnkgaW1wb3J0aW5nIHRoZSA6bW9kOmBzeXNgIG1vZHVsZSBhbmQgcHJpbnRpbmcgdGhlCi12YWx1ZSBvZiBgYHN5cy5wYXRoYGAuICAgOjoKLQotICAgJCBweXRob24KLSAgIFB5dGhvbiAyLjIgKCMxMSwgT2N0ICAzIDIwMDIsIDEzOjMxOjI3KQotICAgW0dDQyAyLjk2IDIwMDAwNzMxIChSZWQgSGF0IExpbnV4IDcuMyAyLjk2LTExMildIG9uIGxpbnV4MgotICAgVHlwZSAiaGVscCIsICJjb3B5cmlnaHQiLCAiY3JlZGl0cyIgb3IgImxpY2Vuc2UiIGZvciBtb3JlIGluZm9ybWF0aW9uLgotICAgPj4+IGltcG9ydCBzeXMKLSAgID4+PiBzeXMucGF0aAotICAgWycnLCAnL3Vzci9sb2NhbC9saWIvcHl0aG9uMi4zJywgJy91c3IvbG9jYWwvbGliL3B5dGhvbjIuMy9wbGF0LWxpbnV4MicsCi0gICAgJy91c3IvbG9jYWwvbGliL3B5dGhvbjIuMy9saWItdGsnLCAnL3Vzci9sb2NhbC9saWIvcHl0aG9uMi4zL2xpYi1keW5sb2FkJywKLSAgICAnL3Vzci9sb2NhbC9saWIvcHl0aG9uMi4zL3NpdGUtcGFja2FnZXMnXQotICAgPj4+Ci0KLVRoZSBudWxsIHN0cmluZyBpbiBgYHN5cy5wYXRoYGAgcmVwcmVzZW50cyB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeS4KLQotVGhlIGV4cGVjdGVkIGNvbnZlbnRpb24gZm9yIGxvY2FsbHkgaW5zdGFsbGVkIHBhY2thZ2VzIGlzIHRvIHB1dCB0aGVtIGluIHRoZQotOmZpbGU6YHsuLi59L3NpdGUtcGFja2FnZXMvYCBkaXJlY3RvcnksIGJ1dCB5b3UgbWF5IHdhbnQgdG8gaW5zdGFsbCBQeXRob24KLW1vZHVsZXMgaW50byBzb21lIGFyYml0cmFyeSBkaXJlY3RvcnkuICBGb3IgZXhhbXBsZSwgeW91ciBzaXRlIG1heSBoYXZlIGEKLWNvbnZlbnRpb24gb2Yga2VlcGluZyBhbGwgc29mdHdhcmUgcmVsYXRlZCB0byB0aGUgd2ViIHNlcnZlciB1bmRlciA6ZmlsZTpgL3d3d2AuCi1BZGQtb24gUHl0aG9uIG1vZHVsZXMgbWlnaHQgdGhlbiBiZWxvbmcgaW4gOmZpbGU6YC93d3cvcHl0aG9uYCwgYW5kIGluIG9yZGVyIHRvCi1pbXBvcnQgdGhlbSwgdGhpcyBkaXJlY3RvcnkgbXVzdCBiZSBhZGRlZCB0byBgYHN5cy5wYXRoYGAuICBUaGVyZSBhcmUgc2V2ZXJhbAotZGlmZmVyZW50IHdheXMgdG8gYWRkIHRoZSBkaXJlY3RvcnkuCi0KLVRoZSBtb3N0IGNvbnZlbmllbnQgd2F5IGlzIHRvIGFkZCBhIHBhdGggY29uZmlndXJhdGlvbiBmaWxlIHRvIGEgZGlyZWN0b3J5Ci10aGF0J3MgYWxyZWFkeSBvbiBQeXRob24ncyBwYXRoLCB1c3VhbGx5IHRvIHRoZSA6ZmlsZTpgLi4uL3NpdGUtcGFja2FnZXMvYAotZGlyZWN0b3J5LiAgUGF0aCBjb25maWd1cmF0aW9uIGZpbGVzIGhhdmUgYW4gZXh0ZW5zaW9uIG9mIDpmaWxlOmAucHRoYCwgYW5kIGVhY2gKLWxpbmUgbXVzdCBjb250YWluIGEgc2luZ2xlIHBhdGggdGhhdCB3aWxsIGJlIGFwcGVuZGVkIHRvIGBgc3lzLnBhdGhgYC4gIChCZWNhdXNlCi10aGUgbmV3IHBhdGhzIGFyZSBhcHBlbmRlZCB0byBgYHN5cy5wYXRoYGAsIG1vZHVsZXMgaW4gdGhlIGFkZGVkIGRpcmVjdG9yaWVzCi13aWxsIG5vdCBvdmVycmlkZSBzdGFuZGFyZCBtb2R1bGVzLiAgVGhpcyBtZWFucyB5b3UgY2FuJ3QgdXNlIHRoaXMgbWVjaGFuaXNtIGZvcgotaW5zdGFsbGluZyBmaXhlZCB2ZXJzaW9ucyBvZiBzdGFuZGFyZCBtb2R1bGVzLikKLQotUGF0aHMgY2FuIGJlIGFic29sdXRlIG9yIHJlbGF0aXZlLCBpbiB3aGljaCBjYXNlIHRoZXkncmUgcmVsYXRpdmUgdG8gdGhlCi1kaXJlY3RvcnkgY29udGFpbmluZyB0aGUgOmZpbGU6YC5wdGhgIGZpbGUuICBTZWUgdGhlIGRvY3VtZW50YXRpb24gb2YKLXRoZSA6bW9kOmBzaXRlYCBtb2R1bGUgZm9yIG1vcmUgaW5mb3JtYXRpb24uCi0KLUEgc2xpZ2h0bHkgbGVzcyBjb252ZW5pZW50IHdheSBpcyB0byBlZGl0IHRoZSA6ZmlsZTpgc2l0ZS5weWAgZmlsZSBpbiBQeXRob24ncwotc3RhbmRhcmQgbGlicmFyeSwgYW5kIG1vZGlmeSBgYHN5cy5wYXRoYGAuICA6ZmlsZTpgc2l0ZS5weWAgaXMgYXV0b21hdGljYWxseQotaW1wb3J0ZWQgd2hlbiB0aGUgUHl0aG9uIGludGVycHJldGVyIGlzIGV4ZWN1dGVkLCB1bmxlc3MgdGhlIDpvcHRpb246YC1TYCBzd2l0Y2gKLWlzIHN1cHBsaWVkIHRvIHN1cHByZXNzIHRoaXMgYmVoYXZpb3VyLiAgU28geW91IGNvdWxkIHNpbXBseSBlZGl0Ci06ZmlsZTpgc2l0ZS5weWAgYW5kIGFkZCB0d28gbGluZXMgdG8gaXQ6OgotCi0gICBpbXBvcnQgc3lzCi0gICBzeXMucGF0aC5hcHBlbmQoJy93d3cvcHl0aG9uLycpCi0KLUhvd2V2ZXIsIGlmIHlvdSByZWluc3RhbGwgdGhlIHNhbWUgbWFqb3IgdmVyc2lvbiBvZiBQeXRob24gKHBlcmhhcHMgd2hlbgotdXBncmFkaW5nIGZyb20gMi4yIHRvIDIuMi4yLCBmb3IgZXhhbXBsZSkgOmZpbGU6YHNpdGUucHlgIHdpbGwgYmUgb3ZlcndyaXR0ZW4gYnkKLXRoZSBzdG9jayB2ZXJzaW9uLiAgWW91J2QgaGF2ZSB0byByZW1lbWJlciB0aGF0IGl0IHdhcyBtb2RpZmllZCBhbmQgc2F2ZSBhIGNvcHkKLWJlZm9yZSBkb2luZyB0aGUgaW5zdGFsbGF0aW9uLgotCi1UaGVyZSBhcmUgdHdvIGVudmlyb25tZW50IHZhcmlhYmxlcyB0aGF0IGNhbiBtb2RpZnkgYGBzeXMucGF0aGBgLgotOmVudnZhcjpgUFlUSE9OSE9NRWAgc2V0cyBhbiBhbHRlcm5hdGUgdmFsdWUgZm9yIHRoZSBwcmVmaXggb2YgdGhlIFB5dGhvbgotaW5zdGFsbGF0aW9uLiAgRm9yIGV4YW1wbGUsIGlmIDplbnZ2YXI6YFBZVEhPTkhPTUVgIGlzIHNldCB0byBgYC93d3cvcHl0aG9uYGAsCi10aGUgc2VhcmNoIHBhdGggd2lsbCBiZSBzZXQgdG8gYGBbJycsICcvd3d3L3B5dGhvbi9saWIvcHl0aG9uWC5ZLycsCi0nL3d3dy9weXRob24vbGliL3B5dGhvblguWS9wbGF0LWxpbnV4MicsIC4uLl1gYC4KLQotVGhlIDplbnZ2YXI6YFBZVEhPTlBBVEhgIHZhcmlhYmxlIGNhbiBiZSBzZXQgdG8gYSBsaXN0IG9mIHBhdGhzIHRoYXQgd2lsbCBiZQotYWRkZWQgdG8gdGhlIGJlZ2lubmluZyBvZiBgYHN5cy5wYXRoYGAuICBGb3IgZXhhbXBsZSwgaWYgOmVudnZhcjpgUFlUSE9OUEFUSGAgaXMKLXNldCB0byBgYC93d3cvcHl0aG9uOi9vcHQvcHlgYCwgdGhlIHNlYXJjaCBwYXRoIHdpbGwgYmVnaW4gd2l0aAotYGBbJy93d3cvcHl0aG9uJywgJy9vcHQvcHknXWBgLiAgKE5vdGUgdGhhdCBkaXJlY3RvcmllcyBtdXN0IGV4aXN0IGluIG9yZGVyIHRvCi1iZSBhZGRlZCB0byBgYHN5cy5wYXRoYGA7IHRoZSA6bW9kOmBzaXRlYCBtb2R1bGUgcmVtb3ZlcyBwYXRocyB0aGF0IGRvbid0Ci1leGlzdC4pCi0KLUZpbmFsbHksIGBgc3lzLnBhdGhgYCBpcyBqdXN0IGEgcmVndWxhciBQeXRob24gbGlzdCwgc28gYW55IFB5dGhvbiBhcHBsaWNhdGlvbgotY2FuIG1vZGlmeSBpdCBieSBhZGRpbmcgb3IgcmVtb3ZpbmcgZW50cmllcy4KLQotCi0uLiBfaW5zdC1jb25maWctZmlsZXM6Ci0KLURpc3R1dGlscyBDb25maWd1cmF0aW9uIEZpbGVzCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotCi1BcyBtZW50aW9uZWQgYWJvdmUsIHlvdSBjYW4gdXNlIERpc3R1dGlscyBjb25maWd1cmF0aW9uIGZpbGVzIHRvIHJlY29yZCBwZXJzb25hbAotb3Igc2l0ZSBwcmVmZXJlbmNlcyBmb3IgYW55IERpc3R1dGlscyBvcHRpb25zLiAgVGhhdCBpcywgYW55IG9wdGlvbiB0byBhbnkKLWNvbW1hbmQgY2FuIGJlIHN0b3JlZCBpbiBvbmUgb2YgdHdvIG9yIHRocmVlIChkZXBlbmRpbmcgb24geW91ciBwbGF0Zm9ybSkKLWNvbmZpZ3VyYXRpb24gZmlsZXMsIHdoaWNoIHdpbGwgYmUgY29uc3VsdGVkIGJlZm9yZSB0aGUgY29tbWFuZC1saW5lIGlzIHBhcnNlZC4KLVRoaXMgbWVhbnMgdGhhdCBjb25maWd1cmF0aW9uIGZpbGVzIHdpbGwgb3ZlcnJpZGUgZGVmYXVsdCB2YWx1ZXMsIGFuZCB0aGUKLWNvbW1hbmQtbGluZSB3aWxsIGluIHR1cm4gb3ZlcnJpZGUgY29uZmlndXJhdGlvbiBmaWxlcy4gIEZ1cnRoZXJtb3JlLCBpZgotbXVsdGlwbGUgY29uZmlndXJhdGlvbiBmaWxlcyBhcHBseSwgdmFsdWVzIGZyb20gImVhcmxpZXIiIGZpbGVzIGFyZSBvdmVycmlkZGVuCi1ieSAibGF0ZXIiIGZpbGVzLgotCi0KLS4uIF9pbnN0LWNvbmZpZy1maWxlbmFtZXM6Ci0KLUxvY2F0aW9uIGFuZCBuYW1lcyBvZiBjb25maWcgZmlsZXMKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLQotVGhlIG5hbWVzIGFuZCBsb2NhdGlvbnMgb2YgdGhlIGNvbmZpZ3VyYXRpb24gZmlsZXMgdmFyeSBzbGlnaHRseSBhY3Jvc3MKLXBsYXRmb3Jtcy4gIE9uIFVuaXggYW5kIE1hYyBPUyBYLCB0aGUgdGhyZWUgY29uZmlndXJhdGlvbiBmaWxlcyAoaW4gdGhlIG9yZGVyCi10aGV5IGFyZSBwcm9jZXNzZWQpIGFyZToKLQotKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLSsKLXwgVHlwZSBvZiBmaWxlIHwgTG9jYXRpb24gYW5kIGZpbGVuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBOb3RlcyB8Ci0rPT09PT09PT09PT09PT0rPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSs9PT09PT09KwotfCBzeXN0ZW0gICAgICAgfCA6ZmlsZTpge3ByZWZpeH0vbGliL3B5dGhvbnt2ZXJ9L2Rpc3R1dGlscy9kaXN0dXRpbHMuY2ZnYCB8IFwoMSkgIHwKLSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0rCi18IHBlcnNvbmFsICAgICB8IDpmaWxlOmAkSE9NRS8ucHlkaXN0dXRpbHMuY2ZnYCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgXCgyKSAgfAotKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLSsKLXwgbG9jYWwgICAgICAgIHwgOmZpbGU6YHNldHVwLmNmZ2AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBcKDMpICB8Ci0rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tKwotCi1BbmQgb24gV2luZG93cywgdGhlIGNvbmZpZ3VyYXRpb24gZmlsZXMgYXJlOgotCi0rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tKwotfCBUeXBlIG9mIGZpbGUgfCBMb2NhdGlvbiBhbmQgZmlsZW5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICB8IE5vdGVzIHwKLSs9PT09PT09PT09PT09PSs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Kz09PT09PT0rCi18IHN5c3RlbSAgICAgICB8IDpmaWxlOmB7cHJlZml4fVxcTGliXFxkaXN0dXRpbHNcXGRpc3R1dGlscy5jZmdgIHwgXCg0KSAgfAotKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLSsKLXwgcGVyc29uYWwgICAgIHwgOmZpbGU6YCVIT01FJVxccHlkaXN0dXRpbHMuY2ZnYCAgICAgICAgICAgICAgICAgfCBcKDUpICB8Ci0rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tKwotfCBsb2NhbCAgICAgICAgfCA6ZmlsZTpgc2V0dXAuY2ZnYCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFwoMykgIHwKLSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0rCi0KLU9uIGFsbCBwbGF0Zm9ybXMsIHRoZSAicGVyc29uYWwiIGZpbGUgY2FuIGJlIHRlbXBvcmFyaWx5IGRpc2FibGVkIGJ5Ci1wYXNzaW5nIHRoZSBgLS1uby11c2VyLWNmZ2Agb3B0aW9uLgotCi1Ob3RlczoKLQotKDEpCi0gICBTdHJpY3RseSBzcGVha2luZywgdGhlIHN5c3RlbS13aWRlIGNvbmZpZ3VyYXRpb24gZmlsZSBsaXZlcyBpbiB0aGUgZGlyZWN0b3J5Ci0gICB3aGVyZSB0aGUgRGlzdHV0aWxzIGFyZSBpbnN0YWxsZWQ7IHVuZGVyIFB5dGhvbiAxLjYgYW5kIGxhdGVyIG9uIFVuaXgsIHRoaXMgaXMKLSAgIGFzIHNob3duLiBGb3IgUHl0aG9uIDEuNS4yLCB0aGUgRGlzdHV0aWxzIHdpbGwgbm9ybWFsbHkgYmUgaW5zdGFsbGVkIHRvCi0gICA6ZmlsZTpge3ByZWZpeH0vbGliL3B5dGhvbjEuNS9zaXRlLXBhY2thZ2VzL2Rpc3R1dGlsc2AsIHNvIHRoZSBzeXN0ZW0KLSAgIGNvbmZpZ3VyYXRpb24gZmlsZSBzaG91bGQgYmUgcHV0IHRoZXJlIHVuZGVyIFB5dGhvbiAxLjUuMi4KLQotKDIpCi0gICBPbiBVbml4LCBpZiB0aGUgOmVudnZhcjpgSE9NRWAgZW52aXJvbm1lbnQgdmFyaWFibGUgaXMgbm90IGRlZmluZWQsIHRoZSB1c2VyJ3MKLSAgIGhvbWUgZGlyZWN0b3J5IHdpbGwgYmUgZGV0ZXJtaW5lZCB3aXRoIHRoZSA6ZnVuYzpgZ2V0cHd1aWRgIGZ1bmN0aW9uIGZyb20gdGhlCi0gICBzdGFuZGFyZCA6bW9kOmBwd2RgIG1vZHVsZS4gVGhpcyBpcyBkb25lIGJ5IHRoZSA6ZnVuYzpgb3MucGF0aC5leHBhbmR1c2VyYAotICAgZnVuY3Rpb24gdXNlZCBieSBEaXN0dXRpbHMuCi0KLSgzKQotICAgSS5lLiwgaW4gdGhlIGN1cnJlbnQgZGlyZWN0b3J5ICh1c3VhbGx5IHRoZSBsb2NhdGlvbiBvZiB0aGUgc2V0dXAgc2NyaXB0KS4KLQotKDQpCi0gICAoU2VlIGFsc28gbm90ZSAoMSkuKSAgVW5kZXIgUHl0aG9uIDEuNiBhbmQgbGF0ZXIsIFB5dGhvbidzIGRlZmF1bHQgImluc3RhbGxhdGlvbgotICAgcHJlZml4IiBpcyA6ZmlsZTpgQzpcXFB5dGhvbmAsIHNvIHRoZSBzeXN0ZW0gY29uZmlndXJhdGlvbiBmaWxlIGlzIG5vcm1hbGx5Ci0gICA6ZmlsZTpgQzpcXFB5dGhvblxcTGliXFxkaXN0dXRpbHNcXGRpc3R1dGlscy5jZmdgLiBVbmRlciBQeXRob24gMS41LjIsIHRoZQotICAgZGVmYXVsdCBwcmVmaXggd2FzIDpmaWxlOmBDOlxcUHJvZ3JhbSBGaWxlc1xcUHl0aG9uYCwgYW5kIHRoZSBEaXN0dXRpbHMgd2VyZSBub3QKLSAgIHBhcnQgb2YgdGhlIHN0YW5kYXJkIGxpYnJhcnktLS1zbyB0aGUgc3lzdGVtIGNvbmZpZ3VyYXRpb24gZmlsZSB3b3VsZCBiZQotICAgOmZpbGU6YEM6XFxQcm9ncmFtIEZpbGVzXFxQeXRob25cXGRpc3R1dGlsc1xcZGlzdHV0aWxzLmNmZ2AgaW4gYSBzdGFuZGFyZCBQeXRob24KLSAgIDEuNS4yIGluc3RhbGxhdGlvbiB1bmRlciBXaW5kb3dzLgotCi0oNSkKLSAgIE9uIFdpbmRvd3MsIGlmIHRoZSA6ZW52dmFyOmBIT01FYCBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBub3QgZGVmaW5lZCwKLSAgIDplbnZ2YXI6YFVTRVJQUk9GSUxFYCB0aGVuIDplbnZ2YXI6YEhPTUVEUklWRWAgYW5kIDplbnZ2YXI6YEhPTUVQQVRIYCB3aWxsCi0gICBiZSB0cmllZC4gVGhpcyBpcyBkb25lIGJ5IHRoZSA6ZnVuYzpgb3MucGF0aC5leHBhbmR1c2VyYCBmdW5jdGlvbiB1c2VkCi0gICBieSBEaXN0dXRpbHMuCi0KLQotLi4gX2luc3QtY29uZmlnLXN5bnRheDoKLQotU3ludGF4IG9mIGNvbmZpZyBmaWxlcwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotCi1UaGUgRGlzdHV0aWxzIGNvbmZpZ3VyYXRpb24gZmlsZXMgYWxsIGhhdmUgdGhlIHNhbWUgc3ludGF4LiAgVGhlIGNvbmZpZyBmaWxlcwotYXJlIGdyb3VwZWQgaW50byBzZWN0aW9ucy4gIFRoZXJlIGlzIG9uZSBzZWN0aW9uIGZvciBlYWNoIERpc3R1dGlscyBjb21tYW5kLAotcGx1cyBhIGBgZ2xvYmFsYGAgc2VjdGlvbiBmb3IgZ2xvYmFsIG9wdGlvbnMgdGhhdCBhZmZlY3QgZXZlcnkgY29tbWFuZC4gIEVhY2gKLXNlY3Rpb24gY29uc2lzdHMgb2Ygb25lIG9wdGlvbiBwZXIgbGluZSwgc3BlY2lmaWVkIGFzIGBgb3B0aW9uPXZhbHVlYGAuCi0KLUZvciBleGFtcGxlLCB0aGUgZm9sbG93aW5nIGlzIGEgY29tcGxldGUgY29uZmlnIGZpbGUgdGhhdCBqdXN0IGZvcmNlcyBhbGwKLWNvbW1hbmRzIHRvIHJ1biBxdWlldGx5IGJ5IGRlZmF1bHQ6OgotCi0gICBbZ2xvYmFsXQotICAgdmVyYm9zZT0wCi0KLUlmIHRoaXMgaXMgaW5zdGFsbGVkIGFzIHRoZSBzeXN0ZW0gY29uZmlnIGZpbGUsIGl0IHdpbGwgYWZmZWN0IGFsbCBwcm9jZXNzaW5nIG9mCi1hbnkgUHl0aG9uIG1vZHVsZSBkaXN0cmlidXRpb24gYnkgYW55IHVzZXIgb24gdGhlIGN1cnJlbnQgc3lzdGVtLiAgSWYgaXQgaXMKLWluc3RhbGxlZCBhcyB5b3VyIHBlcnNvbmFsIGNvbmZpZyBmaWxlIChvbiBzeXN0ZW1zIHRoYXQgc3VwcG9ydCB0aGVtKSwgaXQgd2lsbAotYWZmZWN0IG9ubHkgbW9kdWxlIGRpc3RyaWJ1dGlvbnMgcHJvY2Vzc2VkIGJ5IHlvdS4gIEFuZCBpZiBpdCBpcyB1c2VkIGFzIHRoZQotOmZpbGU6YHNldHVwLmNmZ2AgZm9yIGEgcGFydGljdWxhciBtb2R1bGUgZGlzdHJpYnV0aW9uLCBpdCBhZmZlY3RzIG9ubHkgdGhhdAotZGlzdHJpYnV0aW9uLgotCi1Zb3UgY291bGQgb3ZlcnJpZGUgdGhlIGRlZmF1bHQgImJ1aWxkIGJhc2UiIGRpcmVjdG9yeSBhbmQgbWFrZSB0aGUKLTpjb21tYW5kOmBidWlsZFwqYCBjb21tYW5kcyBhbHdheXMgZm9yY2libHkgcmVidWlsZCBhbGwgZmlsZXMgd2l0aCB0aGUKLWZvbGxvd2luZzo6Ci0KLSAgIFtidWlsZF0KLSAgIGJ1aWxkLWJhc2U9YmxpYgotICAgZm9yY2U9MQotCi13aGljaCBjb3JyZXNwb25kcyB0byB0aGUgY29tbWFuZC1saW5lIGFyZ3VtZW50cyA6OgotCi0gICBweXRob24gc2V0dXAucHkgYnVpbGQgLS1idWlsZC1iYXNlPWJsaWIgLS1mb3JjZQotCi1leGNlcHQgdGhhdCBpbmNsdWRpbmcgdGhlIDpjb21tYW5kOmBidWlsZGAgY29tbWFuZCBvbiB0aGUgY29tbWFuZC1saW5lIG1lYW5zCi10aGF0IGNvbW1hbmQgd2lsbCBiZSBydW4uICBJbmNsdWRpbmcgYSBwYXJ0aWN1bGFyIGNvbW1hbmQgaW4gY29uZmlnIGZpbGVzIGhhcyBubwotc3VjaCBpbXBsaWNhdGlvbjsgaXQgb25seSBtZWFucyB0aGF0IGlmIHRoZSBjb21tYW5kIGlzIHJ1biwgdGhlIG9wdGlvbnMgaW4gdGhlCi1jb25maWcgZmlsZSB3aWxsIGFwcGx5LiAgKE9yIGlmIG90aGVyIGNvbW1hbmRzIHRoYXQgZGVyaXZlIHZhbHVlcyBmcm9tIGl0IGFyZQotcnVuLCB0aGV5IHdpbGwgdXNlIHRoZSB2YWx1ZXMgaW4gdGhlIGNvbmZpZyBmaWxlLikKLQotWW91IGNhbiBmaW5kIG91dCB0aGUgY29tcGxldGUgbGlzdCBvZiBvcHRpb25zIGZvciBhbnkgY29tbWFuZCB1c2luZyB0aGUKLTpvcHRpb246YC0taGVscGAgb3B0aW9uLCBlLmcuOjoKLQotICAgcHl0aG9uIHNldHVwLnB5IGJ1aWxkIC0taGVscAotCi1hbmQgeW91IGNhbiBmaW5kIG91dCB0aGUgY29tcGxldGUgbGlzdCBvZiBnbG9iYWwgb3B0aW9ucyBieSB1c2luZwotOm9wdGlvbjpgLS1oZWxwYCB3aXRob3V0IGEgY29tbWFuZDo6Ci0KLSAgIHB5dGhvbiBzZXR1cC5weSAtLWhlbHAKLQotU2VlIGFsc28gdGhlICJSZWZlcmVuY2UiIHNlY3Rpb24gb2YgdGhlICJEaXN0cmlidXRpbmcgUHl0aG9uIE1vZHVsZXMiIG1hbnVhbC4KLQotCi0uLiBfaW5zdC1idWlsZGluZy1leHQ6Ci0KLUJ1aWxkaW5nIEV4dGVuc2lvbnM6IFRpcHMgYW5kIFRyaWNrcwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0KLVdoZW5ldmVyIHBvc3NpYmxlLCB0aGUgRGlzdHV0aWxzIHRyeSB0byB1c2UgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gbWFkZQotYXZhaWxhYmxlIGJ5IHRoZSBQeXRob24gaW50ZXJwcmV0ZXIgdXNlZCB0byBydW4gdGhlIDpmaWxlOmBzZXR1cC5weWAgc2NyaXB0LgotRm9yIGV4YW1wbGUsIHRoZSBzYW1lIGNvbXBpbGVyIGFuZCBsaW5rZXIgZmxhZ3MgdXNlZCB0byBjb21waWxlIFB5dGhvbiB3aWxsIGFsc28KLWJlIHVzZWQgZm9yIGNvbXBpbGluZyBleHRlbnNpb25zLiAgVXN1YWxseSB0aGlzIHdpbGwgd29yayB3ZWxsLCBidXQgaW4KLWNvbXBsaWNhdGVkIHNpdHVhdGlvbnMgdGhpcyBtaWdodCBiZSBpbmFwcHJvcHJpYXRlLiAgVGhpcyBzZWN0aW9uIGRpc2N1c3NlcyBob3cKLXRvIG92ZXJyaWRlIHRoZSB1c3VhbCBEaXN0dXRpbHMgYmVoYXZpb3VyLgotCi0KLS4uIF9pbnN0LXR3ZWFrLWZsYWdzOgotCi1Ud2Vha2luZyBjb21waWxlci9saW5rZXIgZmxhZ3MKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotCi1Db21waWxpbmcgYSBQeXRob24gZXh0ZW5zaW9uIHdyaXR0ZW4gaW4gQyBvciBDKysgd2lsbCBzb21ldGltZXMgcmVxdWlyZQotc3BlY2lmeWluZyBjdXN0b20gZmxhZ3MgZm9yIHRoZSBjb21waWxlciBhbmQgbGlua2VyIGluIG9yZGVyIHRvIHVzZSBhIHBhcnRpY3VsYXIKLWxpYnJhcnkgb3IgcHJvZHVjZSBhIHNwZWNpYWwga2luZCBvZiBvYmplY3QgY29kZS4gVGhpcyBpcyBlc3BlY2lhbGx5IHRydWUgaWYgdGhlCi1leHRlbnNpb24gaGFzbid0IGJlZW4gdGVzdGVkIG9uIHlvdXIgcGxhdGZvcm0sIG9yIGlmIHlvdSdyZSB0cnlpbmcgdG8KLWNyb3NzLWNvbXBpbGUgUHl0aG9uLgotCi1JbiB0aGUgbW9zdCBnZW5lcmFsIGNhc2UsIHRoZSBleHRlbnNpb24gYXV0aG9yIG1pZ2h0IGhhdmUgZm9yZXNlZW4gdGhhdAotY29tcGlsaW5nIHRoZSBleHRlbnNpb25zIHdvdWxkIGJlIGNvbXBsaWNhdGVkLCBhbmQgcHJvdmlkZWQgYSA6ZmlsZTpgU2V0dXBgIGZpbGUKLWZvciB5b3UgdG8gZWRpdC4gIFRoaXMgd2lsbCBsaWtlbHkgb25seSBiZSBkb25lIGlmIHRoZSBtb2R1bGUgZGlzdHJpYnV0aW9uCi1jb250YWlucyBtYW55IHNlcGFyYXRlIGV4dGVuc2lvbiBtb2R1bGVzLCBvciBpZiB0aGV5IG9mdGVuIHJlcXVpcmUgZWxhYm9yYXRlCi1zZXRzIG9mIGNvbXBpbGVyIGZsYWdzIGluIG9yZGVyIHRvIHdvcmsuCi0KLUEgOmZpbGU6YFNldHVwYCBmaWxlLCBpZiBwcmVzZW50LCBpcyBwYXJzZWQgaW4gb3JkZXIgdG8gZ2V0IGEgbGlzdCBvZiBleHRlbnNpb25zCi10byBidWlsZC4gIEVhY2ggbGluZSBpbiBhIDpmaWxlOmBTZXR1cGAgZGVzY3JpYmVzIGEgc2luZ2xlIG1vZHVsZS4gIExpbmVzIGhhdmUKLXRoZSBmb2xsb3dpbmcgc3RydWN0dXJlOjoKLQotICAgbW9kdWxlIC4uLiBbc291cmNlZmlsZSAuLi5dIFtjcHBhcmcgLi4uXSBbbGlicmFyeSAuLi5dCi0KLQotTGV0J3MgZXhhbWluZSBlYWNoIG9mIHRoZSBmaWVsZHMgaW4gdHVybi4KLQotKiAqbW9kdWxlKiBpcyB0aGUgbmFtZSBvZiB0aGUgZXh0ZW5zaW9uIG1vZHVsZSB0byBiZSBidWlsdCwgYW5kIHNob3VsZCBiZSBhCi0gIHZhbGlkIFB5dGhvbiBpZGVudGlmaWVyLiAgWW91IGNhbid0IGp1c3QgY2hhbmdlIHRoaXMgaW4gb3JkZXIgdG8gcmVuYW1lIGEgbW9kdWxlCi0gIChlZGl0cyB0byB0aGUgc291cmNlIGNvZGUgd291bGQgYWxzbyBiZSBuZWVkZWQpLCBzbyB0aGlzIHNob3VsZCBiZSBsZWZ0IGFsb25lLgotCi0qICpzb3VyY2VmaWxlKiBpcyBhbnl0aGluZyB0aGF0J3MgbGlrZWx5IHRvIGJlIGEgc291cmNlIGNvZGUgZmlsZSwgYXQgbGVhc3QKLSAganVkZ2luZyBieSB0aGUgZmlsZW5hbWUuICBGaWxlbmFtZXMgZW5kaW5nIGluIDpmaWxlOmAuY2AgYXJlIGFzc3VtZWQgdG8gYmUKLSAgd3JpdHRlbiBpbiBDLCBmaWxlbmFtZXMgZW5kaW5nIGluIDpmaWxlOmAuQ2AsIDpmaWxlOmAuY2NgLCBhbmQgOmZpbGU6YC5jKytgIGFyZQotICBhc3N1bWVkIHRvIGJlIEMrKywgYW5kIGZpbGVuYW1lcyBlbmRpbmcgaW4gOmZpbGU6YC5tYCBvciA6ZmlsZTpgLm1tYCBhcmUgYXNzdW1lZAotICB0byBiZSBpbiBPYmplY3RpdmUgQy4KLQotKiAqY3BwYXJnKiBpcyBhbiBhcmd1bWVudCBmb3IgdGhlIEMgcHJlcHJvY2Vzc29yLCAgYW5kIGlzIGFueXRoaW5nIHN0YXJ0aW5nIHdpdGgKLSAgOm9wdGlvbjpgLUlgLCA6b3B0aW9uOmAtRGAsIDpvcHRpb246YC1VYCBvciA6b3B0aW9uOmAtQ2AuCi0KLSogKmxpYnJhcnkqIGlzIGFueXRoaW5nIGVuZGluZyBpbiA6ZmlsZTpgLmFgIG9yIGJlZ2lubmluZyB3aXRoIDpvcHRpb246YC1sYCBvcgotICA6b3B0aW9uOmAtTGAuCi0KLUlmIGEgcGFydGljdWxhciBwbGF0Zm9ybSByZXF1aXJlcyBhIHNwZWNpYWwgbGlicmFyeSBvbiB5b3VyIHBsYXRmb3JtLCB5b3UgY2FuCi1hZGQgaXQgYnkgZWRpdGluZyB0aGUgOmZpbGU6YFNldHVwYCBmaWxlIGFuZCBydW5uaW5nIGBgcHl0aG9uIHNldHVwLnB5IGJ1aWxkYGAuCi1Gb3IgZXhhbXBsZSwgaWYgdGhlIG1vZHVsZSBkZWZpbmVkIGJ5IHRoZSBsaW5lIDo6Ci0KLSAgIGZvbyBmb29tb2R1bGUuYwotCi1tdXN0IGJlIGxpbmtlZCB3aXRoIHRoZSBtYXRoIGxpYnJhcnkgOmZpbGU6YGxpYm0uYWAgb24geW91ciBwbGF0Zm9ybSwgc2ltcGx5IGFkZAotOm9wdGlvbjpgLWxtYCB0byB0aGUgbGluZTo6Ci0KLSAgIGZvbyBmb29tb2R1bGUuYyAtbG0KLQotQXJiaXRyYXJ5IHN3aXRjaGVzIGludGVuZGVkIGZvciB0aGUgY29tcGlsZXIgb3IgdGhlIGxpbmtlciBjYW4gYmUgc3VwcGxpZWQgd2l0aAotdGhlIDpvcHRpb246YC1YY29tcGlsZXJgICphcmcqIGFuZCA6b3B0aW9uOmAtWGxpbmtlcmAgKmFyZyogb3B0aW9uczo6Ci0KLSAgIGZvbyBmb29tb2R1bGUuYyAtWGNvbXBpbGVyIC1vMzIgLVhsaW5rZXIgLXNoYXJlZCAtbG0KLQotVGhlIG5leHQgb3B0aW9uIGFmdGVyIDpvcHRpb246YC1YY29tcGlsZXJgIGFuZCA6b3B0aW9uOmAtWGxpbmtlcmAgd2lsbCBiZQotYXBwZW5kZWQgdG8gdGhlIHByb3BlciBjb21tYW5kIGxpbmUsIHNvIGluIHRoZSBhYm92ZSBleGFtcGxlIHRoZSBjb21waWxlciB3aWxsCi1iZSBwYXNzZWQgdGhlIDpvcHRpb246YC1vMzJgIG9wdGlvbiwgYW5kIHRoZSBsaW5rZXIgd2lsbCBiZSBwYXNzZWQKLTpvcHRpb246YC1zaGFyZWRgLiAgSWYgYSBjb21waWxlciBvcHRpb24gcmVxdWlyZXMgYW4gYXJndW1lbnQsIHlvdSdsbCBoYXZlIHRvCi1zdXBwbHkgbXVsdGlwbGUgOm9wdGlvbjpgLVhjb21waWxlcmAgb3B0aW9uczsgZm9yIGV4YW1wbGUsIHRvIHBhc3MgYGAteCBjKytgYAotdGhlIDpmaWxlOmBTZXR1cGAgZmlsZSB3b3VsZCBoYXZlIHRvIGNvbnRhaW4gYGAtWGNvbXBpbGVyIC14IC1YY29tcGlsZXIgYysrYGAuCi0KLUNvbXBpbGVyIGZsYWdzIGNhbiBhbHNvIGJlIHN1cHBsaWVkIHRocm91Z2ggc2V0dGluZyB0aGUgOmVudnZhcjpgQ0ZMQUdTYAotZW52aXJvbm1lbnQgdmFyaWFibGUuICBJZiBzZXQsIHRoZSBjb250ZW50cyBvZiA6ZW52dmFyOmBDRkxBR1NgIHdpbGwgYmUgYWRkZWQgdG8KLXRoZSBjb21waWxlciBmbGFncyBzcGVjaWZpZWQgaW4gdGhlICA6ZmlsZTpgU2V0dXBgIGZpbGUuCi0KLQotLi4gX2luc3Qtbm9uLW1zLWNvbXBpbGVyczoKLQotVXNpbmcgbm9uLU1pY3Jvc29mdCBjb21waWxlcnMgb24gV2luZG93cwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotCi0uLiBzZWN0aW9uYXV0aG9yOjogUmVuZSBMaWVic2NoZXIgPFIuTGllYnNjaGVyQGdteC5kZT4KLQotCi0KLUJvcmxhbmQvQ29kZUdlYXIgQysrCi1eXl5eXl5eXl5eXl5eXl5eXl5eXgotCi1UaGlzIHN1YnNlY3Rpb24gZGVzY3JpYmVzIHRoZSBuZWNlc3Nhcnkgc3RlcHMgdG8gdXNlIERpc3R1dGlscyB3aXRoIHRoZSBCb3JsYW5kCi1DKysgY29tcGlsZXIgdmVyc2lvbiA1LjUuICBGaXJzdCB5b3UgaGF2ZSB0byBrbm93IHRoYXQgQm9ybGFuZCdzIG9iamVjdCBmaWxlCi1mb3JtYXQgKE9NRikgaXMgZGlmZmVyZW50IGZyb20gdGhlIGZvcm1hdCB1c2VkIGJ5IHRoZSBQeXRob24gdmVyc2lvbiB5b3UgY2FuCi1kb3dubG9hZCBmcm9tIHRoZSBQeXRob24gb3IgQWN0aXZlU3RhdGUgV2ViIHNpdGUuICAoUHl0aG9uIGlzIGJ1aWx0IHdpdGgKLU1pY3Jvc29mdCBWaXN1YWwgQysrLCB3aGljaCB1c2VzIENPRkYgYXMgdGhlIG9iamVjdCBmaWxlIGZvcm1hdC4pIEZvciB0aGlzCi1yZWFzb24geW91IGhhdmUgdG8gY29udmVydCBQeXRob24ncyBsaWJyYXJ5IDpmaWxlOmBweXRob24yNS5saWJgIGludG8gdGhlCi1Cb3JsYW5kIGZvcm1hdC4gIFlvdSBjYW4gZG8gdGhpcyBhcyBmb2xsb3dzOgotCi0uLiBTaG91bGQgd2UgbWVudGlvbiB0aGF0IHVzZXJzIGhhdmUgdG8gY3JlYXRlIGNmZy1maWxlcyBmb3IgdGhlIGNvbXBpbGVyPwotLi4gc2VlIGFsc28gaHR0cDovL2NvbW11bml0eS5ib3JsYW5kLmNvbS9hcnRpY2xlLzAsMTQxMCwyMTIwNSwwMC5odG1sCi0KLTo6Ci0KLSAgIGNvZmYyb21mIHB5dGhvbjI1LmxpYiBweXRob24yNV9iY3BwLmxpYgotCi1UaGUgOmZpbGU6YGNvZmYyb21mYCBwcm9ncmFtIGNvbWVzIHdpdGggdGhlIEJvcmxhbmQgY29tcGlsZXIuICBUaGUgZmlsZQotOmZpbGU6YHB5dGhvbjI1LmxpYmAgaXMgaW4gdGhlIDpmaWxlOmBMaWJzYCBkaXJlY3Rvcnkgb2YgeW91ciBQeXRob24KLWluc3RhbGxhdGlvbi4gIElmIHlvdXIgZXh0ZW5zaW9uIHVzZXMgb3RoZXIgbGlicmFyaWVzICh6bGliLCAuLi4pIHlvdSBoYXZlIHRvCi1jb252ZXJ0IHRoZW0gdG9vLgotCi1UaGUgY29udmVydGVkIGZpbGVzIGhhdmUgdG8gcmVzaWRlIGluIHRoZSBzYW1lIGRpcmVjdG9yaWVzIGFzIHRoZSBub3JtYWwKLWxpYnJhcmllcy4KLQotSG93IGRvZXMgRGlzdHV0aWxzIG1hbmFnZSB0byB1c2UgdGhlc2UgbGlicmFyaWVzIHdpdGggdGhlaXIgY2hhbmdlZCBuYW1lcz8gIElmCi10aGUgZXh0ZW5zaW9uIG5lZWRzIGEgbGlicmFyeSAoZWcuIDpmaWxlOmBmb29gKSBEaXN0dXRpbHMgY2hlY2tzIGZpcnN0IGlmIGl0Ci1maW5kcyBhIGxpYnJhcnkgd2l0aCBzdWZmaXggOmZpbGU6YF9iY3BwYCAoZWcuIDpmaWxlOmBmb29fYmNwcC5saWJgKSBhbmQgdGhlbgotdXNlcyB0aGlzIGxpYnJhcnkuICBJbiB0aGUgY2FzZSBpdCBkb2Vzbid0IGZpbmQgc3VjaCBhIHNwZWNpYWwgbGlicmFyeSBpdCB1c2VzCi10aGUgZGVmYXVsdCBuYW1lICg6ZmlsZTpgZm9vLmxpYmAuKSBbI11fCi0KLVRvIGxldCBEaXN0dXRpbHMgY29tcGlsZSB5b3VyIGV4dGVuc2lvbiB3aXRoIEJvcmxhbmQgQysrIHlvdSBub3cgaGF2ZSB0byB0eXBlOjoKLQotICAgcHl0aG9uIHNldHVwLnB5IGJ1aWxkIC0tY29tcGlsZXI9YmNwcAotCi1JZiB5b3Ugd2FudCB0byB1c2UgdGhlIEJvcmxhbmQgQysrIGNvbXBpbGVyIGFzIHRoZSBkZWZhdWx0LCB5b3UgY291bGQgc3BlY2lmeQotdGhpcyBpbiB5b3VyIHBlcnNvbmFsIG9yIHN5c3RlbS13aWRlIGNvbmZpZ3VyYXRpb24gZmlsZSBmb3IgRGlzdHV0aWxzIChzZWUKLXNlY3Rpb24gOnJlZjpgaW5zdC1jb25maWctZmlsZXNgLikKKyAgIGluc3RhbGwKKyAgIHB5c2V0dXAKKyAgIHB5c2V0dXAtY29uZmlnCisgICBweXNldHVwLXNlcnZlcnMKIAogCiAuLiBzZWVhbHNvOjoKIAotICAgYEMrK0J1aWxkZXIgQ29tcGlsZXIgPGh0dHA6Ly93d3cuY29kZWdlYXIuY29tL2Rvd25sb2Fkcy9mcmVlL2NwcGJ1aWxkZXI+YF8KLSAgICAgIEluZm9ybWF0aW9uIGFib3V0IHRoZSBmcmVlIEMrKyBjb21waWxlciBmcm9tIEJvcmxhbmQsIGluY2x1ZGluZyBsaW5rcyB0byB0aGUKLSAgICAgIGRvd25sb2FkIHBhZ2VzLgorICAgOnJlZjpgcGFja2FnaW5nLWluZGV4YAorICAgICAgVGhlIG1hbnVhbCBmb3IgZGV2ZWxvcGVycyBvZiBQeXRob24gcHJvamVjdHMgd2hvIHdhbnQgdG8gcGFja2FnZSBhbmQKKyAgICAgIGRpc3RyaWJ1dGUgdGhlbS4gVGhpcyBkZXNjcmliZXMgaG93IHRvIHVzZSA6bW9kOmBwYWNrYWdpbmdgIHRvIG1ha2UKKyAgICAgIHByb2plY3RzIGVhc2lseSBmb3VuZCBhbmQgYWRkZWQgdG8gYW4gZXhpc3RpbmcgUHl0aG9uIGluc3RhbGxhdGlvbi4KIAotICAgYENyZWF0aW5nIFB5dGhvbiBFeHRlbnNpb25zIFVzaW5nIEJvcmxhbmQncyBGcmVlIENvbXBpbGVyIDxodHRwOi8vd3d3LmN5YmVydXMuY2Evfmdfd2lsbC9weUV4dGVuREwuc2h0bWw+YF8KLSAgICAgIERvY3VtZW50IGRlc2NyaWJpbmcgaG93IHRvIHVzZSBCb3JsYW5kJ3MgZnJlZSBjb21tYW5kLWxpbmUgQysrIGNvbXBpbGVyIHRvIGJ1aWxkCi0gICAgICBQeXRob24uCi0KLQotR05VIEMgLyBDeWd3aW4gLyBNaW5HVwotXl5eXl5eXl5eXl5eXl5eXl5eXl5eXgotCi1UaGlzIHNlY3Rpb24gZGVzY3JpYmVzIHRoZSBuZWNlc3Nhcnkgc3RlcHMgdG8gdXNlIERpc3R1dGlscyB3aXRoIHRoZSBHTlUgQy9DKysKLWNvbXBpbGVycyBpbiB0aGVpciBDeWd3aW4gYW5kIE1pbkdXIGRpc3RyaWJ1dGlvbnMuIFsjXV8gRm9yIGEgUHl0aG9uIGludGVycHJldGVyCi10aGF0IHdhcyBidWlsdCB3aXRoIEN5Z3dpbiwgZXZlcnl0aGluZyBzaG91bGQgd29yayB3aXRob3V0IGFueSBvZiB0aGVzZQotZm9sbG93aW5nIHN0ZXBzLgotCi1Ob3QgYWxsIGV4dGVuc2lvbnMgY2FuIGJlIGJ1aWx0IHdpdGggTWluR1cgb3IgQ3lnd2luLCBidXQgbWFueSBjYW4uICBFeHRlbnNpb25zCi1tb3N0IGxpa2VseSB0byBub3Qgd29yayBhcmUgdGhvc2UgdGhhdCB1c2UgQysrIG9yIGRlcGVuZCBvbiBNaWNyb3NvZnQgVmlzdWFsIEMKLWV4dGVuc2lvbnMuCi0KLVRvIGxldCBEaXN0dXRpbHMgY29tcGlsZSB5b3VyIGV4dGVuc2lvbiB3aXRoIEN5Z3dpbiB5b3UgaGF2ZSB0byB0eXBlOjoKLQotICAgcHl0aG9uIHNldHVwLnB5IGJ1aWxkIC0tY29tcGlsZXI9Y3lnd2luCi0KLWFuZCBmb3IgQ3lnd2luIGluIG5vLWN5Z3dpbiBtb2RlIFsjXV8gb3IgZm9yIE1pbkdXIHR5cGU6OgotCi0gICBweXRob24gc2V0dXAucHkgYnVpbGQgLS1jb21waWxlcj1taW5ndzMyCi0KLUlmIHlvdSB3YW50IHRvIHVzZSBhbnkgb2YgdGhlc2Ugb3B0aW9ucy9jb21waWxlcnMgYXMgZGVmYXVsdCwgeW91IHNob3VsZAotY29uc2lkZXIgd3JpdGluZyBpdCBpbiB5b3VyIHBlcnNvbmFsIG9yIHN5c3RlbS13aWRlIGNvbmZpZ3VyYXRpb24gZmlsZSBmb3IKLURpc3R1dGlscyAoc2VlIHNlY3Rpb24gOnJlZjpgaW5zdC1jb25maWctZmlsZXNgLikKLQotT2xkZXIgVmVyc2lvbnMgb2YgUHl0aG9uIGFuZCBNaW5HVwotIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIgotVGhlIGZvbGxvd2luZyBpbnN0cnVjdGlvbnMgb25seSBhcHBseSBpZiB5b3UncmUgdXNpbmcgYSB2ZXJzaW9uIG9mIFB5dGhvbgotaW5mZXJpb3IgdG8gMi40LjEgd2l0aCBhIE1pbkdXIGluZmVyaW9yIHRvIDMuMC4wICh3aXRoCi1iaW51dGlscy0yLjEzLjkwLTIwMDMwMTExLTEpLgotCi1UaGVzZSBjb21waWxlcnMgcmVxdWlyZSBzb21lIHNwZWNpYWwgbGlicmFyaWVzLiAgVGhpcyB0YXNrIGlzIG1vcmUgY29tcGxleCB0aGFuCi1mb3IgQm9ybGFuZCdzIEMrKywgYmVjYXVzZSB0aGVyZSBpcyBubyBwcm9ncmFtIHRvIGNvbnZlcnQgdGhlIGxpYnJhcnkuICBGaXJzdAoteW91IGhhdmUgdG8gY3JlYXRlIGEgbGlzdCBvZiBzeW1ib2xzIHdoaWNoIHRoZSBQeXRob24gRExMIGV4cG9ydHMuIChZb3UgY2FuIGZpbmQKLWEgZ29vZCBwcm9ncmFtIGZvciB0aGlzIHRhc2sgYXQKLWh0dHA6Ly93d3cuZW1tZXN0ZWNoLmNvbS9zb2Z0d2FyZS9wZXhwb3J0cy0wLjQzL2Rvd25sb2FkX3BleHBvcnRzLmh0bWwpLgotCi0uLiBJIGRvbid0IHVuZGVyc3RhbmQgd2hhdCB0aGUgbmV4dCBsaW5lIG1lYW5zLiAtLWFtawotLi4gKGluY2x1c2l2ZSB0aGUgcmVmZXJlbmNlcyBvbiBkYXRhIHN0cnVjdHVyZXMuKQotCi06OgotCi0gICBwZXhwb3J0cyBweXRob24yNS5kbGwgPnB5dGhvbjI1LmRlZgotCi1UaGUgbG9jYXRpb24gb2YgYW4gaW5zdGFsbGVkIDpmaWxlOmBweXRob24yNS5kbGxgIHdpbGwgZGVwZW5kIG9uIHRoZQotaW5zdGFsbGF0aW9uIG9wdGlvbnMgYW5kIHRoZSB2ZXJzaW9uIGFuZCBsYW5ndWFnZSBvZiBXaW5kb3dzLiAgSW4gYSAianVzdCBmb3IKLW1lIiBpbnN0YWxsYXRpb24sIGl0IHdpbGwgYXBwZWFyIGluIHRoZSByb290IG9mIHRoZSBpbnN0YWxsYXRpb24gZGlyZWN0b3J5LiAgSW4KLWEgc2hhcmVkIGluc3RhbGxhdGlvbiwgaXQgd2lsbCBiZSBsb2NhdGVkIGluIHRoZSBzeXN0ZW0gZGlyZWN0b3J5LgotCi1UaGVuIHlvdSBjYW4gY3JlYXRlIGZyb20gdGhlc2UgaW5mb3JtYXRpb24gYW4gaW1wb3J0IGxpYnJhcnkgZm9yIGdjYy4gOjoKLQotICAgL2N5Z3dpbi9iaW4vZGxsdG9vbCAtLWRsbG5hbWUgcHl0aG9uMjUuZGxsIC0tZGVmIHB5dGhvbjI1LmRlZiAtLW91dHB1dC1saWIgbGlicHl0aG9uMjUuYQotCi1UaGUgcmVzdWx0aW5nIGxpYnJhcnkgaGFzIHRvIGJlIHBsYWNlZCBpbiB0aGUgc2FtZSBkaXJlY3RvcnkgYXMKLTpmaWxlOmBweXRob24yNS5saWJgLiAoU2hvdWxkIGJlIHRoZSA6ZmlsZTpgbGlic2AgZGlyZWN0b3J5IHVuZGVyIHlvdXIgUHl0aG9uCi1pbnN0YWxsYXRpb24gZGlyZWN0b3J5LikKLQotSWYgeW91ciBleHRlbnNpb24gdXNlcyBvdGhlciBsaWJyYXJpZXMgKHpsaWIsLi4uKSB5b3UgbWlnaHQgIGhhdmUgdG8gY29udmVydAotdGhlbSB0b28uIFRoZSBjb252ZXJ0ZWQgZmlsZXMgaGF2ZSB0byByZXNpZGUgaW4gdGhlIHNhbWUgZGlyZWN0b3JpZXMgYXMgdGhlCi1ub3JtYWwgbGlicmFyaWVzIGRvLgotCi0KLS4uIHNlZWFsc286OgotCi0gICBgQnVpbGRpbmcgUHl0aG9uIG1vZHVsZXMgb24gTVMgV2luZG93cyBwbGF0Zm9ybSB3aXRoIE1pbkdXIDxodHRwOi8vd3d3LnpvcGUub3JnL01lbWJlcnMvYWxzL3RpcHMvd2luMzJfbWluZ3dfbW9kdWxlcz5gXwotICAgICAgSW5mb3JtYXRpb24gYWJvdXQgYnVpbGRpbmcgdGhlIHJlcXVpcmVkIGxpYnJhcmllcyBmb3IgdGhlIE1pbkdXIGVudmlyb25tZW50LgotCi0KLS4uIHJ1YnJpYzo6IEZvb3Rub3RlcwotCi0uLiBbI10gVGhpcyBhbHNvIG1lYW5zIHlvdSBjb3VsZCByZXBsYWNlIGFsbCBleGlzdGluZyBDT0ZGLWxpYnJhcmllcyB3aXRoIE9NRi1saWJyYXJpZXMKLSAgIG9mIHRoZSBzYW1lIG5hbWUuCi0KLS4uIFsjXSBDaGVjayBodHRwOi8vc291cmNlcy5yZWRoYXQuY29tL2N5Z3dpbi8gYW5kIGh0dHA6Ly93d3cubWluZ3cub3JnLyBmb3IgbW9yZQotICAgaW5mb3JtYXRpb24KLQotLi4gWyNdIFRoZW4geW91IGhhdmUgbm8gUE9TSVggZW11bGF0aW9uIGF2YWlsYWJsZSwgYnV0IHlvdSBhbHNvIGRvbid0IG5lZWQKLSAgIDpmaWxlOmBjeWd3aW4xLmRsbGAuCisgICA6bW9kOmBwYWNrYWdpbmdgCisgICAgICBBIGxpYnJhcnkgcmVmZXJlbmNlIGZvciBkZXZlbG9wZXJzIG9mIHBhY2thZ2luZyB0b29scyB3YW50aW5nIHRvIHVzZQorICAgICAgc3RhbmRhbG9uZSBidWlsZGluZyBibG9ja3MgbGlrZSA6bW9kOmB+cGFja2FnaW5nLnZlcnNpb25gIG9yCisgICAgICA6bW9kOmB+cGFja2FnaW5nLm1ldGFkYXRhYCwgb3IgZXh0ZW5kIFBhY2thZ2luZyBpdHNlbGYuCmRpZmYgLS1naXQgYS9Eb2MvaW5zdGFsbC9pbnN0YWxsLnJzdCBiL0RvYy9pbnN0YWxsL2luc3RhbGwucnN0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIzZTY1NWIKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2MvaW5zdGFsbC9pbnN0YWxsLnJzdApAQCAtMCwwICsxLDExMTkgQEAKKy4uIGhpZ2hsaWdodGxhbmc6OiBub25lCisKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorSW5zdGFsbGluZyBQeXRob24gcHJvamVjdHM6IG92ZXJ2aWV3Cis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworLi4gX3BhY2thZ2luZy1pbnN0YWxsLWludHJvOgorCitJbnRyb2R1Y3Rpb24KKz09PT09PT09PT09PQorCitBbHRob3VnaCBQeXRob24ncyBleHRlbnNpdmUgc3RhbmRhcmQgbGlicmFyeSBjb3ZlcnMgbWFueSBwcm9ncmFtbWluZyBuZWVkcywKK3RoZXJlIG9mdGVuIGNvbWVzIGEgdGltZSB3aGVuIHlvdSBuZWVkIHRvIGFkZCBuZXcgZnVuY3Rpb25hbGl0eSB0byB5b3VyIFB5dGhvbgoraW5zdGFsbGF0aW9uIGluIHRoZSBmb3JtIG9mIHRoaXJkLXBhcnR5IG1vZHVsZXMuIFRoaXMgbWlnaHQgYmUgbmVjZXNzYXJ5IHRvCitzdXBwb3J0IHlvdXIgb3duIHByb2dyYW1taW5nLCBvciB0byBzdXBwb3J0IGFuIGFwcGxpY2F0aW9uIHRoYXQgeW91IHdhbnQgdG8gdXNlCithbmQgdGhhdCBoYXBwZW5zIHRvIGJlIHdyaXR0ZW4gaW4gUHl0aG9uLgorCitJbiB0aGUgcGFzdCwgdGhlcmUgd2FzIGxpdHRsZSBzdXBwb3J0IGZvciBhZGRpbmcgdGhpcmQtcGFydHkgbW9kdWxlcyB0byBhbgorZXhpc3RpbmcgUHl0aG9uIGluc3RhbGxhdGlvbi4gIFdpdGggdGhlIGludHJvZHVjdGlvbiBvZiB0aGUgUHl0aG9uIERpc3RyaWJ1dGlvbgorVXRpbGl0aWVzIChEaXN0dXRpbHMgZm9yIHNob3J0KSBpbiBQeXRob24gMi4wLCB0aGlzIGNoYW5nZWQuICBIb3dldmVyLCBub3QgYWxsCitwcm9ibGVtcyB3ZXJlIHNvbHZlZDsgZW5kLXVzZXJzIGhhZCB0byByZWx5IG9uIGBgZWFzeV9pbnN0YWxsYGAgb3IKK2BgcGlwYGAgdG8gZG93bmxvYWQgdGhpcmQtcGFydHkgbW9kdWxlcyBmcm9tIFB5UEksIHVuaW5zdGFsbCBkaXN0cmlidXRpb25zIG9yIGRvCitvdGhlciBtYWludGVuYW5jZSBvcGVyYXRpb25zLiAgUGFja2FnaW5nIGlzIGEgbW9yZSBjb21wbGV0ZSByZXBsYWNlbWVudCBmb3IKK0Rpc3R1dGlscywgaW4gdGhlIHN0YW5kYXJkIGxpYnJhcnksIHdpdGggYSBiYWNrcG9ydCBuYW1lZCBEaXN0dXRpbHMyIGF2YWlsYWJsZQorZm9yIG9sZGVyIFB5dGhvbiB2ZXJzaW9ucy4KKworVGhpcyBkb2N1bWVudCBpcyBhaW1lZCBwcmltYXJpbHkgYXQgcGVvcGxlIHdobyBuZWVkIHRvIGluc3RhbGwgdGhpcmQtcGFydHkKK1B5dGhvbiBtb2R1bGVzOiBlbmQtdXNlcnMgYW5kIHN5c3RlbSBhZG1pbmlzdHJhdG9ycyB3aG8ganVzdCBuZWVkIHRvIGdldCBzb21lCitQeXRob24gYXBwbGljYXRpb24gcnVubmluZywgYW5kIGV4aXN0aW5nIFB5dGhvbiBwcm9ncmFtbWVycyB3aG8gd2FudCB0byBhZGQKK25ldyBnb29kaWVzIHRvIHRoZWlyIHRvb2xib3guIFlvdSBkb24ndCBuZWVkIHRvIGtub3cgUHl0aG9uIHRvIHJlYWQgdGhpcworZG9jdW1lbnQ7IHRoZXJlIHdpbGwgYmUgc29tZSBicmllZiBmb3JheXMgaW50byB1c2luZyBQeXRob24ncyBpbnRlcmFjdGl2ZSBtb2RlCit0byBleHBsb3JlIHlvdXIgaW5zdGFsbGF0aW9uLCBidXQgdGhhdCdzIGl0LiBJZiB5b3UncmUgbG9va2luZyBmb3IgaW5mb3JtYXRpb24KK29uIGhvdyB0byBkaXN0cmlidXRlIHlvdXIgb3duIFB5dGhvbiBtb2R1bGVzIHNvIHRoYXQgb3RoZXJzIG1heSB1c2UgdGhlbSwgc2VlCit0aGUgOnJlZjpgcGFja2FnaW5nLWluZGV4YCBtYW51YWwuCisKKworLi4gX3BhY2thZ2luZy10cml2aWFsLWluc3RhbGw6CisKK0Jlc3QgY2FzZTogdHJpdmlhbCBpbnN0YWxsYXRpb24KKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworSW4gdGhlIGJlc3QgY2FzZSwgc29tZW9uZSB3aWxsIGhhdmUgcHJlcGFyZWQgYSBzcGVjaWFsIHZlcnNpb24gb2YgdGhlIG1vZHVsZQorZGlzdHJpYnV0aW9uIHlvdSB3YW50IHRvIGluc3RhbGwgdGhhdCBpcyB0YXJnZXRlZCBzcGVjaWZpY2FsbHkgYXQgeW91ciBwbGF0Zm9ybQorYW5kIGNhbiBiZSBpbnN0YWxsZWQganVzdCBsaWtlIGFueSBvdGhlciBzb2Z0d2FyZSBvbiB5b3VyIHBsYXRmb3JtLiBGb3IgZXhhbXBsZSwKK3RoZSBtb2R1bGUncyBkZXZlbG9wZXIgbWlnaHQgbWFrZSBhbiBleGVjdXRhYmxlIGluc3RhbGxlciBhdmFpbGFibGUgZm9yIFdpbmRvd3MKK3VzZXJzLCBhbiBSUE0gcGFja2FnZSBmb3IgdXNlcnMgb2YgUlBNLWJhc2VkIExpbnV4IHN5c3RlbXMgKFJlZCBIYXQsIFN1U0UsCitNYW5kcmFrZSwgYW5kIG1hbnkgb3RoZXJzKSwgYSBEZWJpYW4gcGFja2FnZSBmb3IgdXNlcnMgb2YgRGViaWFuIGFuZCBkZXJpdmF0aXZlCitzeXN0ZW1zLCBhbmQgc28gZm9ydGguCisKK0luIHRoYXQgY2FzZSwgeW91IHdvdWxkIHVzZSB0aGUgc3RhbmRhcmQgc3lzdGVtIHRvb2xzIHRvIGRvd25sb2FkIGFuZCBpbnN0YWxsCit0aGUgc3BlY2lmaWMgaW5zdGFsbGVyIGZvciB5b3VyIHBsYXRmb3JtIGFuZCBpdHMgZGVwZW5kZW5jaWVzLgorCitPZiBjb3Vyc2UsIHRoaW5ncyB3aWxsIG5vdCBhbHdheXMgYmUgdGhhdCBlYXN5LiBZb3UgbWlnaHQgYmUgaW50ZXJlc3RlZCBpbiBhCittb2R1bGUgd2hvc2UgZGlzdHJpYnV0aW9uIGRvZXNuJ3QgaGF2ZSBhbiBlYXN5LXRvLXVzZSBpbnN0YWxsZXIgZm9yIHlvdXIKK3BsYXRmb3JtLiBJbiB0aGF0IGNhc2UsIHlvdSdsbCBoYXZlIHRvIHN0YXJ0IHdpdGggdGhlIHNvdXJjZSBkaXN0cmlidXRpb24KK3JlbGVhc2VkIGJ5IHRoZSBtb2R1bGUncyBhdXRob3IvbWFpbnRhaW5lci4gSW5zdGFsbGluZyBmcm9tIGEgc291cmNlCitkaXN0cmlidXRpb24gaXMgbm90IHRvbyBoYXJkLCBhcyBsb25nIGFzIHRoZSBtb2R1bGVzIGFyZSBwYWNrYWdlZCBpbiB0aGUKK3N0YW5kYXJkIHdheS4gVGhlIGJ1bGsgb2YgdGhpcyBkb2N1bWVudCBhZGRyZXNzZXMgdGhlIGJ1aWxkaW5nIGFuZCBpbnN0YWxsaW5nCitvZiBtb2R1bGVzIGZyb20gc3RhbmRhcmQgc291cmNlIGRpc3RyaWJ1dGlvbnMuCisKKworLi4gX3BhY2thZ2luZy1kaXN0dXRpbHM6CisKK1RoZSBQeXRob24gc3RhbmRhcmQ6IERpc3R1dGlscworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK0lmIHlvdSBkb3dubG9hZCBhIHNvdXJjZSBkaXN0cmlidXRpb24gb2YgYSBtb2R1bGUsIGl0IHdpbGwgYmUgb2J2aW91cyB3aGV0aGVyCitpdCB3YXMgcGFja2FnZWQgYW5kIGRpc3RyaWJ1dGVkIHVzaW5nIERpc3R1dGlscy4gIEZpcnN0LCB0aGUgZGlzdHJpYnV0aW9uJ3MgbmFtZQorYW5kIHZlcnNpb24gbnVtYmVyIHdpbGwgYmUgZmVhdHVyZWQgcHJvbWluZW50bHkgaW4gdGhlIG5hbWUgb2YgdGhlIGRvd25sb2FkZWQKK2FyY2hpdmUsIGUuZy4gOmZpbGU6YGZvby0xLjAudGFyLmd6YCBvciA6ZmlsZTpgd2lkZ2V0LTAuOS43LnppcGAuICBOZXh0LCB0aGUKK2FyY2hpdmUgd2lsbCB1bnBhY2sgaW50byBhIHNpbWlsYXJseS1uYW1lZCBkaXJlY3Rvcnk6IDpmaWxlOmBmb28tMS4wYCBvcgorOmZpbGU6YHdpZGdldC0wLjkuN2AuICBBZGRpdGlvbmFsbHksIHRoZSBkaXN0cmlidXRpb24gbWF5IGNvbnRhaW4gYQorOmZpbGU6YHNldHVwLmNmZ2AgZmlsZSBhbmQgYSBmaWxlIG5hbWVkIDpmaWxlOmBSRUFETUUudHh0YCAtLS1vciBwb3NzaWJseSBqdXN0Cis6ZmlsZTpgUkVBRE1FYC0tLSBleHBsYWluaW5nIHRoYXQgYnVpbGRpbmcgYW5kIGluc3RhbGxpbmcgdGhlIG1vZHVsZQorZGlzdHJpYnV0aW9uIGlzIGEgc2ltcGxlIG1hdHRlciBvZiBpc3N1aW5nIHRoZSBmb2xsb3dpbmcgY29tbWFuZCBhdCB5b3VyIHNoZWxsJ3MKK3Byb21wdDo6CisKKyAgIHB5dGhvbiBzZXR1cC5weSBpbnN0YWxsCisKK1RoaXJkLXBhcnR5IHByb2plY3RzIGhhdmUgZXh0ZW5kZWQgRGlzdHV0aWxzIHRvIHdvcmsgYXJvdW5kIGl0cyBsaW1pdGF0aW9ucyBvcgorYWRkIGZ1bmN0aW9uYWxpdHkuICBBZnRlciBzb21lIHllYXJzIG9mIG5lYXItaW5hY3Rpdml0eSBpbiBEaXN0dXRpbHMsIGEgbmV3CittYWludGFpbmVyIGhhcyBzdGFydGVkIHRvIHN0YW5kYXJkaXplIGdvb2QgaWRlYXMgaW4gUEVQcyBhbmQgaW1wbGVtZW50IHRoZW0gaW4gYQorbmV3LCBpbXByb3ZlZCB2ZXJzaW9uIG9mIERpc3R1dGlscywgY2FsbGVkIERpc3R1dGlsczIgb3IgUGFja2FnaW5nLgorCisKKy4uIF9wYWNrYWdpbmctbmV3LXN0YW5kYXJkOgorCitUaGUgbmV3IHN0YW5kYXJkOiBQYWNrYWdpbmcKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitUaGUgcnVsZXMgZGVzY3JpYmVkIGluIHRoZSBmaXJzdCBwYXJhZ3JhcGggYWJvdmUgYXBwbHkgdG8gUGFja2FnaW5nLWJhc2VkCitwcm9qZWN0cyB0b286IGEgc291cmNlIGRpc3RyaWJ1dGlvbiB3aWxsIGhhdmUgYSBuYW1lIGxpa2UKKzpmaWxlOmB3aWRnZXQtMC45LjcuemlwYC4gIE9uZSBvZiB0aGUgbWFpbiBkaWZmZXJlbmNlcyB3aXRoIERpc3R1dGlscyBpcyB0aGF0CitkaXN0cmlidXRpb25zIG5vIGxvbmdlciBoYXZlIGEgOmZpbGU6YHNldHVwLnB5YCBzY3JpcHQ7IGl0IHVzZWQgdG8gY2F1c2UgYQorbnVtYmVyIG9mIGlzc3Vlcy4gIE5vdyB0aGVyZSBpcyBhIHVuaXF1ZSBzY3JpcHQgaW5zdGFsbGVkIHdpdGggUHl0aG9uIGl0c2VsZjo6CisKKyAgIHB5c2V0dXAgaW5zdGFsbCB3aWRnZXQtMC45LjcuemlwCisKK1J1bm5pbmcgdGhpcyBjb21tYW5kIGlzIGVub3VnaCB0byBidWlsZCBhbmQgaW5zdGFsbCBwcm9qZWN0cyAoUHl0aG9uIG1vZHVsZXMgb3IKK3BhY2thZ2VzLCBzY3JpcHRzIG9yIHdob2xlIGFwcGxpY2F0aW9ucyksIHdpdGhvdXQgZXZlbiBoYXZpbmcgdG8gdW5wYWNrIHRoZQorYXJjaGl2ZS4gIEl0IGlzIGFsc28gY29tcGF0aWJsZSB3aXRoIERpc3R1dGlscy1iYXNlZCBkaXN0cmlidXRpb25zLgorCitVbmxlc3MgeW91IGhhdmUgdG8gcGVyZm9ybSBub24tc3RhbmRhcmQgaW5zdGFsbGF0aW9ucyBvciBjdXN0b21pemUgdGhlIGJ1aWxkCitwcm9jZXNzLCB5b3UgY2FuIHN0b3AgcmVhZGluZyB0aGlzIG1hbnVhbCAtLS10aGUgYWJvdmUgY29tbWFuZCBpcyBldmVyeXRoaW5nIHlvdQorbmVlZCB0byBnZXQgb3V0IG9mIGl0LgorCitXaXRoIDpwcm9ncmFtOmBweXNldHVwYCwgeW91IHdvbid0IGV2ZW4gaGF2ZSB0byBtYW51YWxseSBkb3dubG9hZCBhIGRpc3RyaWJ1dGlvbgorYmVmb3JlIGluc3RhbGxpbmcgaXQ7IHNlZSA6cmVmOmBwYWNrYWdpbmctcHlzZXR1cGAuCisKKworLi4gX3BhY2thZ2luZy1zdGFuZGFyZC1pbnN0YWxsOgorCitTdGFuZGFyZCBidWlsZCBhbmQgaW5zdGFsbAorPT09PT09PT09PT09PT09PT09PT09PT09PT0KKworQXMgZGVzY3JpYmVkIGluIHNlY3Rpb24gOnJlZjpgcGFja2FnaW5nLW5ldy1zdGFuZGFyZGAsIGJ1aWxkaW5nIGFuZCBpbnN0YWxsaW5nCithIG1vZHVsZSBkaXN0cmlidXRpb24gdXNpbmcgUGFja2FnaW5nIHVzdWFsbHkgY29tZXMgZG93biB0byBvbmUgc2ltcGxlCitjb21tYW5kOjoKKworICAgcHlzZXR1cCBydW4gaW5zdGFsbF9kaXN0CisKK1RoaXMgaXMgYSBjb21tYW5kIHRoYXQgc2hvdWxkIGJlIHJ1biBpbiBhIHRlcm1pbmFsLiAgT24gV2luZG93cywgaXQgaXMgY2FsbGVkIGEKK2NvbW1hbmQgcHJvbXB0IGFuZCBmb3VuZCBpbiA6bWVudXNlbGVjdGlvbjpgU3RhcnQgLS0+IEFjY2Vzc29yaWVzYDsgUG93ZXJzaGVsbAoraXMgYSBwb3B1bGFyIGFsdGVybmF0aXZlLgorCisKKy4uIF9wYWNrYWdpbmctcGxhdGZvcm0tdmFyaWF0aW9uczoKKworUGxhdGZvcm0gdmFyaWF0aW9ucworLS0tLS0tLS0tLS0tLS0tLS0tLQorCitUaGUgc2V0dXAgY29tbWFuZCBpcyBtZWFudCB0byBiZSBydW4gZnJvbSB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhlIHNvdXJjZQorZGlzdHJpYnV0aW9uLCBpLmUuIHRoZSB0b3AtbGV2ZWwgc3ViZGlyZWN0b3J5IHRoYXQgdGhlIG1vZHVsZSBzb3VyY2UKK2Rpc3RyaWJ1dGlvbiB1bnBhY2tzIGludG8uIEZvciBleGFtcGxlLCBpZiB5b3UndmUganVzdCBkb3dubG9hZGVkIGEgbW9kdWxlCitzb3VyY2UgZGlzdHJpYnV0aW9uIDpmaWxlOmBmb28tMS4wLnRhci5nemAgb250byBhIFVuaXggc3lzdGVtLCB0aGUgbm9ybWFsCitzdGVwcyB0byBmb2xsb3cgYXJlIHRoZXNlOjoKKworICAgZ3VuemlwIC1jIGZvby0xLjAudGFyLmd6IHwgdGFyIHhmIC0gICAgIyB1bnBhY2tzIGludG8gZGlyZWN0b3J5IGZvby0xLjAKKyAgIGNkIGZvby0xLjAKKyAgIHB5c2V0dXAgcnVuIGluc3RhbGxfZGlzdAorCitPbiBXaW5kb3dzLCB5b3UnZCBwcm9iYWJseSBkb3dubG9hZCA6ZmlsZTpgZm9vLTEuMC56aXBgLiBJZiB5b3UgZG93bmxvYWRlZCB0aGUKK2FyY2hpdmUgZmlsZSB0byA6ZmlsZTpgQzpcXFRlbXBgLCB0aGVuIGl0IHdvdWxkIHVucGFjayBpbnRvCis6ZmlsZTpgQzpcXFRlbXBcXGZvby0xLjBgLiBUbyBhY3R1YWxseSB1bnBhY2sgdGhlIGFyY2hpdmUsIHlvdSBjYW4gdXNlIGVpdGhlcgorYW4gYXJjaGl2ZSBtYW5pcHVsYXRvciB3aXRoIGEgZ3JhcGhpY2FsIHVzZXIgaW50ZXJmYWNlIChzdWNoIGFzIFdpblppcCBvciA3LVppcCkKK29yIGEgY29tbWFuZC1saW5lIHRvb2wgKHN1Y2ggYXMgOnByb2dyYW06YHVuemlwYCwgOnByb2dyYW06YHBrdW56aXBgIG9yLCBhZ2FpbiwKKzpwcm9ncmFtOmA3emApLiBUaGVuLCBvcGVuIGEgY29tbWFuZCBwcm9tcHQgd2luZG93IGFuZCBydW46OgorCisgICBjZCBjOlxUZW1wXGZvby0xLjAKKyAgIHB5c2V0dXAgcnVuIGluc3RhbGxfZGlzdAorCisKKy4uIF9wYWNrYWdpbmctc3BsaXR0aW5nLXVwOgorCitTcGxpdHRpbmcgdGhlIGpvYiB1cAorLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworUnVubmluZyBgYHB5c2V0dXAgcnVuIGluc3RhbGxfZGlzdGBgIGJ1aWxkcyBhbmQgaW5zdGFsbHMgYWxsIG1vZHVsZXMgaW4gb25lIGdvLiBJZiB5b3UKK3ByZWZlciB0byB3b3JrIGluY3JlbWVudGFsbHkgLS0tZXNwZWNpYWxseSB1c2VmdWwgaWYgeW91IHdhbnQgdG8gY3VzdG9taXplIHRoZQorYnVpbGQgcHJvY2Vzcywgb3IgaWYgdGhpbmdzIGFyZSBnb2luZyB3cm9uZy0tLSB5b3UgY2FuIHVzZSB0aGUgc2V0dXAgc2NyaXB0IHRvCitkbyBvbmUgdGhpbmcgYXQgYSB0aW1lLiBUaGlzIGlzIGEgdmFsdWFibGUgdG9vbCB3aGVuIGRpZmZlcmVudCB1c2VycyB3aWxsIHBlcmZvcm0KK3NlcGFyYXRlbHkgdGhlIGJ1aWxkIGFuZCBpbnN0YWxsIHN0ZXBzLiBGb3IgZXhhbXBsZSwgeW91IG1pZ2h0IHdhbnQgdG8gYnVpbGQgYQorbW9kdWxlIGRpc3RyaWJ1dGlvbiBhbmQgaGFuZCBpdCBvZmYgdG8gYSBzeXN0ZW0gYWRtaW5pc3RyYXRvciBmb3IgaW5zdGFsbGF0aW9uCisob3IgZG8gaXQgeW91cnNlbGYsIGJ1dCB3aXRoIHN1cGVyLXVzZXIgb3IgYWRtaW4gcHJpdmlsZWdlcykuCisKK0ZvciBleGFtcGxlLCB0byBidWlsZCBldmVyeXRoaW5nIGluIG9uZSBzdGVwIGFuZCB0aGVuIGluc3RhbGwgZXZlcnl0aGluZworaW4gYSBzZWNvbmQgc3RlcCwgeW91IGFwdGx5IGludm9rZSB0d28gZGlzdGluY3QgUGFja2FnaW5nIGNvbW1hbmRzOjoKKworICAgcHlzZXR1cCBydW4gYnVpbGQKKyAgIHB5c2V0dXAgcnVuIGluc3RhbGxfZGlzdAorCitJZiB5b3UgZG8gdGhpcywgeW91IHdpbGwgbm90aWNlIHRoYXQgaW52b2tpbmcgdGhlIDpjb21tYW5kOmBpbnN0YWxsX2Rpc3RgIGNvbW1hbmQKK2ZpcnN0IHJ1bnMgdGhlIDpjb21tYW5kOmBidWlsZGAgY29tbWFuZCwgd2hpY2ggLS0taW4gdGhpcyBjYXNlLS0tIHF1aWNrbHkKK25vdGljZXMgaXQgY2FuIHNwYXJlIGl0c2VsZiB0aGUgd29yaywgc2luY2UgZXZlcnl0aGluZyBpbiB0aGUgOmZpbGU6YGJ1aWxkYAorZGlyZWN0b3J5IGlzIHVwLXRvLWRhdGUuCisKK1lvdSBtYXkgb2Z0ZW4gaWdub3JlIHRoaXMgYWJpbGl0eSB0byBkaXZpZGUgdGhlIHByb2Nlc3MgaW4gc3RlcHMgaWYgYWxsIHlvdSBkbworaXMgaW5zdGFsbGluZyBtb2R1bGVzIGRvd25sb2FkZWQgZnJvbSB0aGUgSW50ZXJuZXQsIGJ1dCBpdCdzIHZlcnkgaGFuZHkgZm9yCittb3JlIGFkdmFuY2VkIHRhc2tzLiBJZiB5b3UgZmluZCB5b3Vyc2VsZiBpbiB0aGUgbmVlZCBmb3IgZGlzdHJpYnV0aW5nIHlvdXIgb3duCitQeXRob24gbW9kdWxlcyBhbmQgZXh0ZW5zaW9ucywgdGhvdWdoLCB5b3UnbGwgbW9zdCBsaWtlbHkgcnVuIG1hbnkgaW5kaXZpZHVhbAorUGFja2FnaW5nIGNvbW1hbmRzLgorCisKKy4uIF9wYWNrYWdpbmctaG93LWJ1aWxkLXdvcmtzOgorCitIb3cgYnVpbGRpbmcgd29ya3MKKy0tLS0tLS0tLS0tLS0tLS0tLQorCitBcyBpbXBsaWVkIGFib3ZlLCB0aGUgOmNvbW1hbmQ6YGJ1aWxkYCBjb21tYW5kIGlzIHJlc3BvbnNpYmxlIGZvciBjb2xsZWN0aW5nCithbmQgcGxhY2luZyB0aGUgZmlsZXMgdG8gYmUgaW5zdGFsbGVkIGludG8gYSAqYnVpbGQgZGlyZWN0b3J5Ki4gQnkgZGVmYXVsdCwKK3RoaXMgaXMgOmZpbGU6YGJ1aWxkYCwgdW5kZXIgdGhlIGRpc3RyaWJ1dGlvbiByb290LiBJZiB5b3UncmUgZXhjZXNzaXZlbHkKK2NvbmNlcm5lZCB3aXRoIHNwZWVkLCBvciB3YW50IHRvIGtlZXAgdGhlIHNvdXJjZSB0cmVlIHByaXN0aW5lLCB5b3UgY2FuIHNwZWNpZnkKK2EgZGlmZmVyZW50IGJ1aWxkIGRpcmVjdG9yeSB3aXRoIHRoZSA6b3B0aW9uOmAtLWJ1aWxkLWJhc2VgIG9wdGlvbi4gRm9yIGV4YW1wbGU6OgorCisgICBweXNldHVwIHJ1biBidWlsZCAtLWJ1aWxkLWJhc2UgL3RtcC9weWJ1aWxkL2Zvby0xLjAKKworKE9yIHlvdSBjb3VsZCBkbyB0aGlzIHBlcm1hbmVudGx5IHdpdGggYSBkaXJlY3RpdmUgaW4geW91ciBzeXN0ZW0gb3IgcGVyc29uYWwKK1BhY2thZ2luZyBjb25maWd1cmF0aW9uIGZpbGU7IHNlZSBzZWN0aW9uIDpyZWY6YHBhY2thZ2luZy1jb25maWctZmlsZXNgLikKK0luIHRoZSB1c3VhbCBjYXNlLCBob3dldmVyLCBhbGwgdGhpcyBpcyB1bm5lY2Vzc2FyeS4KKworVGhlIGJ1aWxkIHRyZWUncyBkZWZhdWx0IGxheW91dCBsb29rcyBsaWtlIHNvOjoKKworICAgLS0tIGJ1aWxkLyAtLS0gbGliLworICAgb3IKKyAgIC0tLSBidWlsZC8gLS0tIGxpYi48cGxhdD4vCisgICAgICAgICAgICAgICAgICB0ZW1wLjxwbGF0Pi8KKword2hlcmUgYGA8cGxhdD5gYCBleHBhbmRzIHRvIGEgYnJpZWYgZGVzY3JpcHRpb24gb2YgdGhlIGN1cnJlbnQgT1MvaGFyZHdhcmUKK3BsYXRmb3JtIGFuZCBQeXRob24gdmVyc2lvbi4gVGhlIGZpcnN0IGZvcm0sIHdpdGgganVzdCBhIDpmaWxlOmBsaWJgIGRpcmVjdG9yeSwKK2lzIHVzZWQgZm9yIHB1cmUgbW9kdWxlIGRpc3RyaWJ1dGlvbnMgKG1vZHVsZSBkaXN0cmlidXRpb25zIHRoYXQKK2luY2x1ZGUgb25seSBwdXJlIFB5dGhvbiBtb2R1bGVzKS4gSWYgYSBtb2R1bGUgZGlzdHJpYnV0aW9uIGNvbnRhaW5zIGFueQorZXh0ZW5zaW9ucyAobW9kdWxlcyB3cml0dGVuIGluIEMvQysrKSwgdGhlbiB0aGUgc2Vjb25kIGZvcm0sIHdpdGggdHdvIGBgPHBsYXQ+YGAKK2RpcmVjdG9yaWVzLCBpcyB1c2VkLiBJbiB0aGF0IGNhc2UsIHRoZSA6ZmlsZTpgdGVtcC57cGxhdH1gIGRpcmVjdG9yeSBob2xkcwordGVtcG9yYXJ5IGZpbGVzIGdlbmVyYXRlZCBkdXJpbmcgdGhlIGNvbXBpbGUvbGluayBwcm9jZXNzIHdoaWNoIGFyZSBub3QgaW50ZW5kZWQKK3RvIGJlIGluc3RhbGxlZC4gSW4gZWl0aGVyIGNhc2UsIHRoZSA6ZmlsZTpgbGliYCAob3IgOmZpbGU6YGxpYi57cGxhdH1gKSBkaXJlY3RvcnkKK2NvbnRhaW5zIGFsbCBQeXRob24gbW9kdWxlcyAocHVyZSBQeXRob24gYW5kIGV4dGVuc2lvbnMpIHRvIGJlIGluc3RhbGxlZC4KKworSW4gdGhlIGZ1dHVyZSwgbW9yZSBkaXJlY3RvcmllcyB3aWxsIGJlIGFkZGVkIHRvIGhhbmRsZSBQeXRob24gc2NyaXB0cywKK2RvY3VtZW50YXRpb24sIGJpbmFyeSBleGVjdXRhYmxlcywgYW5kIHdoYXRldmVyIGVsc2UgaXMgcmVxdWlyZWQgdG8gaW5zdGFsbAorUHl0aG9uIG1vZHVsZXMgYW5kIGFwcGxpY2F0aW9ucy4KKworCisuLiBfcGFja2FnaW5nLWhvdy1pbnN0YWxsLXdvcmtzOgorCitIb3cgaW5zdGFsbGF0aW9uIHdvcmtzCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK0FmdGVyIHRoZSA6Y29tbWFuZDpgYnVpbGRgIGNvbW1hbmQgaXMgcnVuICh3aGV0aGVyIGV4cGxpY2l0bHkgb3IgYnkgdGhlCis6Y29tbWFuZDpgaW5zdGFsbF9kaXN0YCBjb21tYW5kIG9uIHlvdXIgYmVoYWxmKSwgdGhlIHdvcmsgb2YgdGhlIDpjb21tYW5kOmBpbnN0YWxsX2Rpc3RgCitjb21tYW5kIGlzIHJlbGF0aXZlbHkgc2ltcGxlOiBhbGwgaXQgaGFzIHRvIGRvIGlzIGNvcHkgdGhlIGNvbnRlbnRzIG9mCis6ZmlsZTpgYnVpbGQvbGliYCAob3IgOmZpbGU6YGJ1aWxkL2xpYi57cGxhdH1gKSB0byB0aGUgaW5zdGFsbGF0aW9uIGRpcmVjdG9yeQorb2YgeW91ciBjaG9pY2UuCisKK0lmIHlvdSBkb24ndCBjaG9vc2UgYW4gaW5zdGFsbGF0aW9uIGRpcmVjdG9yeSAtLS1pLmUuLCBpZiB5b3UganVzdCBydW4KK2BgcHlzZXR1cCBydW4gaW5zdGFsbF9kaXN0YGBcIC0tLSB0aGVuIHRoZSA6Y29tbWFuZDpgaW5zdGFsbF9kaXN0YCBjb21tYW5kCitpbnN0YWxscyB0byB0aGUgc3RhbmRhcmQgbG9jYXRpb24gZm9yIHRoaXJkLXBhcnR5IFB5dGhvbiBtb2R1bGVzLiBUaGlzIGxvY2F0aW9uCit2YXJpZXMgYnkgcGxhdGZvcm0gYW5kIGRlcGVuZGluZyBvbiBob3cgeW91IGJ1aWx0L2luc3RhbGxlZCBQeXRob24gaXRzZWxmLiBPbgorVW5peCAoYW5kIE1hYyBPUyBYLCB3aGljaCBpcyBhbHNvIFVuaXgtYmFzZWQpLCBpdCBhbHNvIGRlcGVuZHMgb24gd2hldGhlciB0aGUKK21vZHVsZSBkaXN0cmlidXRpb24gYmVpbmcgaW5zdGFsbGVkIGlzIHB1cmUgUHl0aG9uIG9yIGNvbnRhaW5zIGV4dGVuc2lvbnMKKygibm9uLXB1cmUiKToKKworKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0rCit8IFBsYXRmb3JtICAgICAgICB8IFN0YW5kYXJkIGluc3RhbGxhdGlvbiBsb2NhdGlvbiAgICAgICAgICAgICAgICAgICAgICB8IERlZmF1bHQgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IE5vdGVzIHwKKys9PT09PT09PT09PT09PT09PSs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSs9PT09PT09KworfCBVbml4IChwdXJlKSAgICAgfCA6ZmlsZTpge3ByZWZpeH0vbGliL3B5dGhvbntYLll9L3NpdGUtcGFja2FnZXNgICAgICAgfCA6ZmlsZTpgL3Vzci9sb2NhbC9saWIvcHl0aG9ue1guWX0vc2l0ZS1wYWNrYWdlc2AgfCBcKDEpICB8CisrLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLSsKK3wgVW5peCAobm9uLXB1cmUpIHwgOmZpbGU6YHtleGVjLXByZWZpeH0vbGliL3B5dGhvbntYLll9L3NpdGUtcGFja2FnZXNgIHwgOmZpbGU6YC91c3IvbG9jYWwvbGliL3B5dGhvbntYLll9L3NpdGUtcGFja2FnZXNgIHwgXCgxKSAgfAorKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0rCit8IFdpbmRvd3MgICAgICAgICB8IDpmaWxlOmB7cHJlZml4fVxcTGliXFxzaXRlLXBhY2thZ2VzYCAgICAgICAgICAgICAgICB8IDpmaWxlOmBDOlxcUHl0aG9ue1hZfVxcTGliXFxzaXRlLXBhY2thZ2VzYCAgICAgICB8IFwoMikgIHwKKystLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tKworCitOb3RlczoKKworKDEpCisgICBNb3N0IExpbnV4IGRpc3RyaWJ1dGlvbnMgaW5jbHVkZSBQeXRob24gYXMgYSBzdGFuZGFyZCBwYXJ0IG9mIHRoZSBzeXN0ZW0sIHNvCisgICA6ZmlsZTpge3ByZWZpeH1gIGFuZCA6ZmlsZTpge2V4ZWMtcHJlZml4fWAgYXJlIHVzdWFsbHkgYm90aCA6ZmlsZTpgL3VzcmAgb24KKyAgIExpbnV4LiBJZiB5b3UgYnVpbGQgUHl0aG9uIHlvdXJzZWxmIG9uIExpbnV4IChvciBhbnkgVW5peC1saWtlIHN5c3RlbSksIHRoZQorICAgZGVmYXVsdCA6ZmlsZTpge3ByZWZpeH1gIGFuZCA6ZmlsZTpge2V4ZWMtcHJlZml4fWAgYXJlIDpmaWxlOmAvdXNyL2xvY2FsYC4KKworKDIpCisgICBUaGUgZGVmYXVsdCBpbnN0YWxsYXRpb24gZGlyZWN0b3J5IG9uIFdpbmRvd3Mgd2FzIDpmaWxlOmBDOlxcUHJvZ3JhbQorICAgRmlsZXNcXFB5dGhvbmAgdW5kZXIgUHl0aG9uIDEuNmExLCAxLjUuMiwgYW5kIGVhcmxpZXIuCisKKzpmaWxlOmB7cHJlZml4fWAgYW5kIDpmaWxlOmB7ZXhlYy1wcmVmaXh9YCBzdGFuZCBmb3IgdGhlIGRpcmVjdG9yaWVzIHRoYXQgUHl0aG9uCitpcyBpbnN0YWxsZWQgdG8sIGFuZCB3aGVyZSBpdCBmaW5kcyBpdHMgbGlicmFyaWVzIGF0IHJ1bi10aW1lLiBUaGV5IGFyZSBhbHdheXMKK3RoZSBzYW1lIHVuZGVyIFdpbmRvd3MsIGFuZCB2ZXJ5IG9mdGVuIHRoZSBzYW1lIHVuZGVyIFVuaXggYW5kIE1hYyBPUyBYLiBZb3UKK2NhbiBmaW5kIG91dCB3aGF0IHlvdXIgUHl0aG9uIGluc3RhbGxhdGlvbiB1c2VzIGZvciA6ZmlsZTpge3ByZWZpeH1gIGFuZAorOmZpbGU6YHtleGVjLXByZWZpeH1gIGJ5IHJ1bm5pbmcgUHl0aG9uIGluIGludGVyYWN0aXZlIG1vZGUgYW5kIHR5cGluZyBhIGZldworc2ltcGxlIGNvbW1hbmRzLgorCisuLiBUT0RPIGxpbmsgdG8gRG9jL3VzaW5nIGluc3RlYWQgb2YgZHVwbGljYXRpbmcKKworVG8gc3RhcnQgdGhlIGludGVyYWN0aXZlIFB5dGhvbiBpbnRlcnByZXRlciwgeW91IG5lZWQgdG8gZm9sbG93IGEgc2xpZ2h0bHkKK2RpZmZlcmVudCByZWNpcGUgZm9yIGVhY2ggcGxhdGZvcm0uIFVuZGVyIFVuaXgsIGp1c3QgdHlwZSA6Y29tbWFuZDpgcHl0aG9uYCBhdAordGhlIHNoZWxsIHByb21wdC4gVW5kZXIgV2luZG93cyAoYXNzdW1pbmcgdGhlIFB5dGhvbiBleGVjdXRhYmxlIGlzIG9uIHlvdXIKKzplbnZ2YXI6YFBBVEhgLCB3aGljaCBpcyB0aGUgdXN1YWwgY2FzZSksIHlvdSBjYW4gY2hvb3NlIDptZW51c2VsZWN0aW9uOmBTdGFydCAtLT4gUnVuYCwKK3R5cGUgYGBweXRob25gYCBhbmQgcHJlc3MgYGBlbnRlcmBgLiBBbHRlcm5hdGl2ZWx5LCB5b3UgY2FuIHNpbXBseSBleGVjdXRlCis6Y29tbWFuZDpgcHl0aG9uYCBhdCBhIGNvbW1hbmQgcHJvbXB0ICg6bWVudXNlbGVjdGlvbjpgU3RhcnQgLS0+IEFjY2Vzc29yaWVzYCkKK29yIGluIFBvd2Vyc2hlbGwuCisKK09uY2UgdGhlIGludGVycHJldGVyIGlzIHN0YXJ0ZWQsIHlvdSB0eXBlIFB5dGhvbiBjb2RlIGF0IHRoZSBwcm9tcHQuIEZvcgorZXhhbXBsZSwgb24gbXkgTGludXggc3lzdGVtLCBJIHR5cGUgdGhlIHRocmVlIFB5dGhvbiBzdGF0ZW1lbnRzIHNob3duIGJlbG93LAorYW5kIGdldCB0aGUgb3V0cHV0IGFzIHNob3duLCB0byBmaW5kIG91dCBteSA6ZmlsZTpge3ByZWZpeH1gIGFuZCA6ZmlsZTpge2V4ZWMtcHJlZml4fWA6OgorCisgICBQeXRob24gMy4zIChyMzI6ODg0NDUsIEFwciAgMiAyMDExLCAxMDo0Mzo1NCkKKyAgIFR5cGUgImhlbHAiLCAiY29weXJpZ2h0IiwgImNyZWRpdHMiIG9yICJsaWNlbnNlIiBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KKyAgID4+PiBpbXBvcnQgc3lzCisgICA+Pj4gc3lzLnByZWZpeAorICAgJy91c3InCisgICA+Pj4gc3lzLmV4ZWNfcHJlZml4CisgICAnL3VzcicKKworQSBmZXcgb3RoZXIgcGxhY2Vob2xkZXJzIGFyZSB1c2VkIGluIHRoaXMgZG9jdW1lbnQ6IDpmaWxlOmB7WC5ZfWAgc3RhbmRzIGZvciB0aGUKK3ZlcnNpb24gb2YgUHl0aG9uLCBmb3IgZXhhbXBsZSBgYDMuMmBgOyA6ZmlsZTpge2FiaWZsYWdzfWAgd2lsbCBiZSByZXBsYWNlZCBieQordGhlIHZhbHVlIG9mIDpkYXRhOmBzeXMuYWJpZmxhZ3NgIG9yIHRoZSBlbXB0eSBzdHJpbmcgZm9yIHBsYXRmb3JtcyB3aGljaCBkb24ndAorZGVmaW5lIEFCSSBmbGFnczsgOmZpbGU6YHtkaXN0bmFtZX1gIHdpbGwgYmUgcmVwbGFjZWQgYnkgdGhlIG5hbWUgb2YgdGhlIG1vZHVsZQorZGlzdHJpYnV0aW9uIGJlaW5nIGluc3RhbGxlZC4gIERvdHMgYW5kIGNhcGl0YWxpemF0aW9uIGFyZSBpbXBvcnRhbnQgaW4gdGhlCitwYXRoczsgZm9yIGV4YW1wbGUsIGEgdmFsdWUgdGhhdCB1c2VzIGBgcHl0aG9uMy4yYGAgb24gVU5JWCB3aWxsIHR5cGljYWxseSB1c2UKK2BgUHl0aG9uMzJgYCBvbiBXaW5kb3dzLgorCitJZiB5b3UgZG9uJ3Qgd2FudCB0byBpbnN0YWxsIG1vZHVsZXMgdG8gdGhlIHN0YW5kYXJkIGxvY2F0aW9uLCBvciBpZiB5b3UgZG9uJ3QKK2hhdmUgcGVybWlzc2lvbiB0byB3cml0ZSB0aGVyZSwgdGhlbiB5b3UgbmVlZCB0byByZWFkIGFib3V0IGFsdGVybmF0ZQoraW5zdGFsbGF0aW9ucyBpbiBzZWN0aW9uIDpyZWY6YHBhY2thZ2luZy1hbHQtaW5zdGFsbGAuIElmIHlvdSB3YW50IHRvIGN1c3RvbWl6ZSB5b3VyCitpbnN0YWxsYXRpb24gZGlyZWN0b3JpZXMgbW9yZSBoZWF2aWx5LCBzZWUgc2VjdGlvbiA6cmVmOmBwYWNrYWdpbmctY3VzdG9tLWluc3RhbGxgLgorCisKKy4uIF9wYWNrYWdpbmctYWx0LWluc3RhbGw6CisKK0FsdGVybmF0ZSBpbnN0YWxsYXRpb24KKz09PT09PT09PT09PT09PT09PT09PT0KKworT2Z0ZW4sIGl0IGlzIG5lY2Vzc2FyeSBvciBkZXNpcmFibGUgdG8gaW5zdGFsbCBtb2R1bGVzIHRvIGEgbG9jYXRpb24gb3RoZXIgdGhhbgordGhlIHN0YW5kYXJkIGxvY2F0aW9uIGZvciB0aGlyZC1wYXJ0eSBQeXRob24gbW9kdWxlcy4gRm9yIGV4YW1wbGUsIG9uIGEgVW5peAorc3lzdGVtIHlvdSBtaWdodCBub3QgaGF2ZSBwZXJtaXNzaW9uIHRvIHdyaXRlIHRvIHRoZSBzdGFuZGFyZCB0aGlyZC1wYXJ0eSBtb2R1bGUKK2RpcmVjdG9yeS4gT3IgeW91IG1pZ2h0IHdpc2ggdG8gdHJ5IG91dCBhIG1vZHVsZSBiZWZvcmUgbWFraW5nIGl0IGEgc3RhbmRhcmQKK3BhcnQgb2YgeW91ciBsb2NhbCBQeXRob24gaW5zdGFsbGF0aW9uLiBUaGlzIGlzIGVzcGVjaWFsbHkgdHJ1ZSB3aGVuIHVwZ3JhZGluZworYSBkaXN0cmlidXRpb24gYWxyZWFkeSBwcmVzZW50OiB5b3Ugd2FudCB0byBtYWtlIHN1cmUgeW91ciBleGlzdGluZyBiYXNlIG9mCitzY3JpcHRzIHN0aWxsIHdvcmtzIHdpdGggdGhlIG5ldyB2ZXJzaW9uIGJlZm9yZSBhY3R1YWxseSB1cGdyYWRpbmcuCisKK1RoZSBQYWNrYWdpbmcgOmNvbW1hbmQ6YGluc3RhbGxfZGlzdGAgY29tbWFuZCBpcyBkZXNpZ25lZCB0byBtYWtlIGluc3RhbGxpbmcgbW9kdWxlCitkaXN0cmlidXRpb25zIHRvIGFuIGFsdGVybmF0ZSBsb2NhdGlvbiBzaW1wbGUgYW5kIHBhaW5sZXNzLiBUaGUgYmFzaWMgaWRlYSBpcwordGhhdCB5b3Ugc3VwcGx5IGEgYmFzZSBkaXJlY3RvcnkgZm9yIHRoZSBpbnN0YWxsYXRpb24sIGFuZCB0aGUKKzpjb21tYW5kOmBpbnN0YWxsX2Rpc3RgIGNvbW1hbmQgcGlja3MgYSBzZXQgb2YgZGlyZWN0b3JpZXMgKGNhbGxlZCBhbiAqaW5zdGFsbGF0aW9uCitzY2hlbWUqKSB1bmRlciB0aGlzIGJhc2UgZGlyZWN0b3J5IGluIHdoaWNoIHRvIGluc3RhbGwgZmlsZXMuIFRoZSBkZXRhaWxzCitkaWZmZXIgYWNyb3NzIHBsYXRmb3Jtcywgc28gcmVhZCB3aGljaGV2ZXIgb2YgdGhlIGZvbGxvd2luZyBzZWN0aW9ucyBhcHBsaWVzIHRvCit5b3UuCisKK05vdGUgdGhhdCB0aGUgdmFyaW91cyBhbHRlcm5hdGUgaW5zdGFsbGF0aW9uIHNjaGVtZXMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZTogeW91CitjYW4gcGFzcyBgYC0tdXNlcmBgLCBvciBgYC0taG9tZWBgLCBvciBgYC0tcHJlZml4YGAgYW5kIGBgLS1leGVjLXByZWZpeGBgLCBvcgorYGAtLWluc3RhbGwtYmFzZWBgIGFuZCBgYC0taW5zdGFsbC1wbGF0YmFzZWBgLCBidXQgeW91IGNhbid0IG1peCBmcm9tIHRoZXNlCitncm91cHMuCisKKworLi4gX3BhY2thZ2luZy1hbHQtaW5zdGFsbC11c2VyOgorCitBbHRlcm5hdGUgaW5zdGFsbGF0aW9uOiB0aGUgdXNlciBzY2hlbWUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitUaGlzIHNjaGVtZSBpcyBkZXNpZ25lZCB0byBiZSB0aGUgbW9zdCBjb252ZW5pZW50IHNvbHV0aW9uIGZvciB1c2VycyB0aGF0IGRvbid0CitoYXZlIHdyaXRlIHBlcm1pc3Npb24gdG8gdGhlIGdsb2JhbCBzaXRlLXBhY2thZ2VzIGRpcmVjdG9yeSBvciBkb24ndCB3YW50IHRvCitpbnN0YWxsIGludG8gaXQuICBJdCBpcyBlbmFibGVkIHdpdGggYSBzaW1wbGUgb3B0aW9uOjoKKworICAgcHlzZXR1cCBydW4gaW5zdGFsbF9kaXN0IC0tdXNlcgorCitGaWxlcyB3aWxsIGJlIGluc3RhbGxlZCBpbnRvIHN1YmRpcmVjdG9yaWVzIG9mIDpkYXRhOmBzaXRlLlVTRVJfQkFTRWAgKHdyaXR0ZW4KK2FzIDpmaWxlOmB7dXNlcmJhc2V9YCBoZXJlYWZ0ZXIpLiAgVGhpcyBzY2hlbWUgaW5zdGFsbHMgcHVyZSBQeXRob24gbW9kdWxlcyBhbmQKK2V4dGVuc2lvbiBtb2R1bGVzIGluIHRoZSBzYW1lIGxvY2F0aW9uIChhbHNvIGtub3duIGFzIDpkYXRhOmBzaXRlLlVTRVJfU0lURWApLgorSGVyZSBhcmUgdGhlIHZhbHVlcyBmb3IgVU5JWCwgaW5jbHVkaW5nIG5vbi1mcmFtZXdvcmsgYnVpbGRzIG9uIE1hYyBPUyBYOgorCis9PT09PT09PT09PT09PT0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KK1R5cGUgb2YgZmlsZSAgICBJbnN0YWxsYXRpb24gZGlyZWN0b3J5Cis9PT09PT09PT09PT09PT0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KK21vZHVsZXMgICAgICAgICA6ZmlsZTpge3VzZXJiYXNlfS9saWIvcHl0aG9ue1guWX0vc2l0ZS1wYWNrYWdlc2AKK3NjcmlwdHMgICAgICAgICA6ZmlsZTpge3VzZXJiYXNlfS9iaW5gCitkYXRhICAgICAgICAgICAgOmZpbGU6YHt1c2VyYmFzZX1gCitDIGhlYWRlcnMgICAgICAgOmZpbGU6YHt1c2VyYmFzZX0vaW5jbHVkZS9weXRob257WC5ZfWAKKz09PT09PT09PT09PT09PSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCitGcmFtZXdvcmsgYnVpbGRzIG9uIE1hYyBPUyBYIHVzZSB0aGVzZSBwYXRoczoKKworPT09PT09PT09PT09PT09ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CitUeXBlIG9mIGZpbGUgICAgSW5zdGFsbGF0aW9uIGRpcmVjdG9yeQorPT09PT09PT09PT09PT09ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cittb2R1bGVzICAgICAgICAgOmZpbGU6YHt1c2VyYmFzZX0vbGliL3B5dGhvbi9zaXRlLXBhY2thZ2VzYAorc2NyaXB0cyAgICAgICAgIDpmaWxlOmB7dXNlcmJhc2V9L2JpbmAKK2RhdGEgICAgICAgICAgICA6ZmlsZTpge3VzZXJiYXNlfWAKK0MgaGVhZGVycyAgICAgICA6ZmlsZTpge3VzZXJiYXNlfS9pbmNsdWRlL3B5dGhvbmAKKz09PT09PT09PT09PT09PSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCitBbmQgaGVyZSBhcmUgdGhlIHZhbHVlcyB1c2VkIG9uIFdpbmRvd3M6CisKKz09PT09PT09PT09PT09PSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorVHlwZSBvZiBmaWxlICAgIEluc3RhbGxhdGlvbiBkaXJlY3RvcnkKKz09PT09PT09PT09PT09PSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorbW9kdWxlcyAgICAgICAgIDpmaWxlOmB7dXNlcmJhc2V9XFxQeXRob257WFl9XFxzaXRlLXBhY2thZ2VzYAorc2NyaXB0cyAgICAgICAgIDpmaWxlOmB7dXNlcmJhc2V9XFxTY3JpcHRzYAorZGF0YSAgICAgICAgICAgIDpmaWxlOmB7dXNlcmJhc2V9YAorQyBoZWFkZXJzICAgICAgIDpmaWxlOmB7dXNlcmJhc2V9XFxQeXRob257WFl9XFxJbmNsdWRlYAorPT09PT09PT09PT09PT09ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKK1RoZSBhZHZhbnRhZ2Ugb2YgdXNpbmcgdGhpcyBzY2hlbWUgY29tcGFyZWQgdG8gdGhlIG90aGVyIG9uZXMgZGVzY3JpYmVkIGJlbG93IGlzCit0aGF0IHRoZSB1c2VyIHNpdGUtcGFja2FnZXMgZGlyZWN0b3J5IGlzIHVuZGVyIG5vcm1hbCBjb25kaXRpb25zIGFsd2F5cyBpbmNsdWRlZAoraW4gOmRhdGE6YHN5cy5wYXRoYCAoc2VlIDptb2Q6YHNpdGVgIGZvciBtb3JlIGluZm9ybWF0aW9uKSwgd2hpY2ggbWVhbnMgdGhhdAordGhlcmUgaXMgbm8gYWRkaXRpb25hbCBzdGVwIHRvIHBlcmZvcm0gYWZ0ZXIgcnVubmluZyBgYHB5c2V0dXBgYCB0byBmaW5hbGl6ZSB0aGUKK2luc3RhbGxhdGlvbi4KKworVGhlIDpjb21tYW5kOmBidWlsZF9leHRgIGNvbW1hbmQgYWxzbyBoYXMgYSBgYC0tdXNlcmBgIG9wdGlvbiB0byBhZGQKKzpmaWxlOmB7dXNlcmJhc2V9L2luY2x1ZGVgIHRvIHRoZSBjb21waWxlciBzZWFyY2ggcGF0aCBmb3IgaGVhZGVyIGZpbGVzIGFuZAorOmZpbGU6YHt1c2VyYmFzZX0vbGliYCB0byB0aGUgY29tcGlsZXIgc2VhcmNoIHBhdGggZm9yIGxpYnJhcmllcyBhcyB3ZWxsIGFzIHRvCit0aGUgcnVudGltZSBzZWFyY2ggcGF0aCBmb3Igc2hhcmVkIEMgbGlicmFyaWVzIChycGF0aCkuCisKKworLi4gX3BhY2thZ2luZy1hbHQtaW5zdGFsbC1ob21lOgorCitBbHRlcm5hdGUgaW5zdGFsbGF0aW9uOiB0aGUgaG9tZSBzY2hlbWUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitUaGUgaWRlYSBiZWhpbmQgdGhlICJob21lIHNjaGVtZSIgaXMgdGhhdCB5b3UgYnVpbGQgYW5kIG1haW50YWluIGEgcGVyc29uYWwKK3N0YXNoIG9mIFB5dGhvbiBtb2R1bGVzLiBUaGlzIHNjaGVtZSdzIG5hbWUgaXMgZGVyaXZlZCBmcm9tIHRoZSBjb25jZXB0IG9mIGEKKyJob21lIiBkaXJlY3Rvcnkgb24gVW5peCwgc2luY2UgaXQncyBub3QgdW51c3VhbCBmb3IgYSBVbml4IHVzZXIgdG8gbWFrZSB0aGVpcgoraG9tZSBkaXJlY3RvcnkgaGF2ZSBhIGxheW91dCBzaW1pbGFyIHRvIDpmaWxlOmAvdXNyL2Agb3IgOmZpbGU6YC91c3IvbG9jYWwvYC4KK0luIHNwaXRlIG9mIGl0cyBuYW1lJ3Mgb3JpZ2luLCB0aGlzIHNjaGVtZSBjYW4gYmUgdXNlZCBieSBhbnlvbmUsIHJlZ2FyZGxlc3MKK29mIHRoZSBvcGVyYXRpbmcgc3lzdGVtLgorCitJbnN0YWxsaW5nIGEgbmV3IG1vZHVsZSBkaXN0cmlidXRpb24gaW4gdGhpcyB3YXkgaXMgYXMgc2ltcGxlIGFzIDo6CisKKyAgIHB5c2V0dXAgcnVuIGluc3RhbGxfZGlzdCAtLWhvbWUgPGRpcj4KKword2hlcmUgeW91IGNhbiBzdXBwbHkgYW55IGRpcmVjdG9yeSB5b3UgbGlrZSBmb3IgdGhlIDpvcHRpb246YC0taG9tZWAgb3B0aW9uLiBPbgorVW5peCwgbGF6eSB0eXBpc3RzIGNhbiBqdXN0IHR5cGUgYSB0aWxkZSAoYGB+YGApOyB0aGUgOmNvbW1hbmQ6YGluc3RhbGxfZGlzdGAgY29tbWFuZAord2lsbCBleHBhbmQgdGhpcyB0byB5b3VyIGhvbWUgZGlyZWN0b3J5OjoKKworICAgcHlzZXR1cCBydW4gaW5zdGFsbF9kaXN0IC0taG9tZSB+CisKK1RvIG1ha2UgUHl0aG9uIGZpbmQgdGhlIGRpc3RyaWJ1dGlvbnMgaW5zdGFsbGVkIHdpdGggdGhpcyBzY2hlbWUsIHlvdSBtYXkgaGF2ZQordG8gOnJlZjpgbW9kaWZ5IFB5dGhvbidzIHNlYXJjaCBwYXRoIDxpbnN0LXNlYXJjaC1wYXRoPmAgb3IgZWRpdAorOm1vZDpgc2l0ZWN1c3RvbWl6ZWAgKHNlZSA6bW9kOmBzaXRlYCkgdG8gY2FsbCA6ZnVuYzpgc2l0ZS5hZGRzaXRlZGlyYCBvciBlZGl0Cis6ZGF0YTpgc3lzLnBhdGhgLgorCitUaGUgOm9wdGlvbjpgLS1ob21lYCBvcHRpb24gZGVmaW5lcyB0aGUgYmFzZSBkaXJlY3RvcnkgZm9yIHRoZSBpbnN0YWxsYXRpb24uCitVbmRlciBpdCwgZmlsZXMgYXJlIGluc3RhbGxlZCB0byB0aGUgZm9sbG93aW5nIGRpcmVjdG9yaWVzOgorCis9PT09PT09PT09PT09PT0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KK1R5cGUgb2YgZmlsZSAgICBJbnN0YWxsYXRpb24gZGlyZWN0b3J5Cis9PT09PT09PT09PT09PT0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KK21vZHVsZXMgICAgICAgICA6ZmlsZTpge2hvbWV9L2xpYi9weXRob25gCitzY3JpcHRzICAgICAgICAgOmZpbGU6YHtob21lfS9iaW5gCitkYXRhICAgICAgICAgICAgOmZpbGU6YHtob21lfWAKK0MgaGVhZGVycyAgICAgICA6ZmlsZTpge2hvbWV9L2luY2x1ZGUvcHl0aG9uYAorPT09PT09PT09PT09PT09ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKKyhNZW50YWxseSByZXBsYWNlIHNsYXNoZXMgd2l0aCBiYWNrc2xhc2hlcyBpZiB5b3UncmUgb24gV2luZG93cy4pCisKKworLi4gX3BhY2thZ2luZy1hbHQtaW5zdGFsbC1wcmVmaXgtdW5peDoKKworQWx0ZXJuYXRlIGluc3RhbGxhdGlvbjogVW5peCAodGhlIHByZWZpeCBzY2hlbWUpCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworVGhlICJwcmVmaXggc2NoZW1lIiBpcyB1c2VmdWwgd2hlbiB5b3Ugd2lzaCB0byB1c2Ugb25lIFB5dGhvbiBpbnN0YWxsYXRpb24gdG8KK3J1biB0aGUgYnVpbGQgY29tbWFuZCwgYnV0IGluc3RhbGwgbW9kdWxlcyBpbnRvIHRoZSB0aGlyZC1wYXJ0eSBtb2R1bGUgZGlyZWN0b3J5CitvZiBhIGRpZmZlcmVudCBQeXRob24gaW5zdGFsbGF0aW9uIChvciBzb21ldGhpbmcgdGhhdCBsb29rcyBsaWtlIGEgZGlmZmVyZW50CitQeXRob24gaW5zdGFsbGF0aW9uKS4gSWYgdGhpcyBzb3VuZHMgYSB0cmlmbGUgdW51c3VhbCwgaXQgaXMgLS0tdGhhdCdzIHdoeSB0aGUKK3VzZXIgYW5kIGhvbWUgc2NoZW1lcyBjb21lIGJlZm9yZS4gSG93ZXZlciwgdGhlcmUgYXJlIGF0IGxlYXN0IHR3byBrbm93biBjYXNlcword2hlcmUgdGhlIHByZWZpeCBzY2hlbWUgd2lsbCBiZSB1c2VmdWwuCisKK0ZpcnN0LCBjb25zaWRlciB0aGF0IG1hbnkgTGludXggZGlzdHJpYnV0aW9ucyBwdXQgUHl0aG9uIGluIDpmaWxlOmAvdXNyYCwgcmF0aGVyCit0aGFuIHRoZSBtb3JlIHRyYWRpdGlvbmFsIDpmaWxlOmAvdXNyL2xvY2FsYC4gVGhpcyBpcyBlbnRpcmVseSBhcHByb3ByaWF0ZSwKK3NpbmNlIGluIHRob3NlIGNhc2VzIFB5dGhvbiBpcyBwYXJ0IG9mICJ0aGUgc3lzdGVtIiByYXRoZXIgdGhhbiBhIGxvY2FsIGFkZC1vbi4KK0hvd2V2ZXIsIGlmIHlvdSBhcmUgaW5zdGFsbGluZyBQeXRob24gbW9kdWxlcyBmcm9tIHNvdXJjZSwgeW91IHByb2JhYmx5IHdhbnQKK3RoZW0gdG8gZ28gaW4gOmZpbGU6YC91c3IvbG9jYWwvbGliL3B5dGhvbjIue1h9YCByYXRoZXIgdGhhbgorOmZpbGU6YC91c3IvbGliL3B5dGhvbjIue1h9YC4gVGhpcyBjYW4gYmUgZG9uZSB3aXRoIDo6CisKKyAgIHB5c2V0dXAgcnVuIGluc3RhbGxfZGlzdCAtLXByZWZpeCAvdXNyL2xvY2FsCisKK0Fub3RoZXIgcG9zc2liaWxpdHkgaXMgYSBuZXR3b3JrIGZpbGVzeXN0ZW0gd2hlcmUgdGhlIG5hbWUgdXNlZCB0byB3cml0ZSB0byBhCityZW1vdGUgZGlyZWN0b3J5IGlzIGRpZmZlcmVudCBmcm9tIHRoZSBuYW1lIHVzZWQgdG8gcmVhZCBpdDogZm9yIGV4YW1wbGUsIHRoZQorUHl0aG9uIGludGVycHJldGVyIGFjY2Vzc2VkIGFzIDpmaWxlOmAvdXNyL2xvY2FsL2Jpbi9weXRob25gIG1pZ2h0IHNlYXJjaCBmb3IKK21vZHVsZXMgaW4gOmZpbGU6YC91c3IvbG9jYWwvbGliL3B5dGhvbjIue1h9YCwgYnV0IHRob3NlIG1vZHVsZXMgd291bGQgaGF2ZSB0bworYmUgaW5zdGFsbGVkIHRvLCBzYXksIDpmaWxlOmAvbW50L3tAc2VydmVyfS9leHBvcnQvbGliL3B5dGhvbjIue1h9YC4gVGhpcyBjb3VsZAorYmUgZG9uZSB3aXRoIDo6CisKKyAgIHB5c2V0dXAgcnVuIGluc3RhbGxfZGlzdCAtLXByZWZpeD0vbW50L0BzZXJ2ZXIvZXhwb3J0CisKK0luIGVpdGhlciBjYXNlLCB0aGUgOm9wdGlvbjpgLS1wcmVmaXhgIG9wdGlvbiBkZWZpbmVzIHRoZSBpbnN0YWxsYXRpb24gYmFzZSwgYW5kCit0aGUgOm9wdGlvbjpgLS1leGVjLXByZWZpeGAgb3B0aW9uIGRlZmluZXMgdGhlIHBsYXRmb3JtLXNwZWNpZmljIGluc3RhbGxhdGlvbgorYmFzZSwgd2hpY2ggaXMgdXNlZCBmb3IgcGxhdGZvcm0tc3BlY2lmaWMgZmlsZXMuIChDdXJyZW50bHksIHRoaXMganVzdCBtZWFucworbm9uLXB1cmUgbW9kdWxlIGRpc3RyaWJ1dGlvbnMsIGJ1dCBjb3VsZCBiZSBleHBhbmRlZCB0byBDIGxpYnJhcmllcywgYmluYXJ5CitleGVjdXRhYmxlcywgZXRjLikgSWYgOm9wdGlvbjpgLS1leGVjLXByZWZpeGAgaXMgbm90IHN1cHBsaWVkLCBpdCBkZWZhdWx0cyB0bworOm9wdGlvbjpgLS1wcmVmaXhgLiBGaWxlcyBhcmUgaW5zdGFsbGVkIGFzIGZvbGxvd3M6CisKKz09PT09PT09PT09PT09PT09ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KK1R5cGUgb2YgZmlsZSAgICAgIEluc3RhbGxhdGlvbiBkaXJlY3RvcnkKKz09PT09PT09PT09PT09PT09ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KK1B5dGhvbiBtb2R1bGVzICAgIDpmaWxlOmB7cHJlZml4fS9saWIvcHl0aG9ue1guWX0vc2l0ZS1wYWNrYWdlc2AKK2V4dGVuc2lvbiBtb2R1bGVzIDpmaWxlOmB7ZXhlYy1wcmVmaXh9L2xpYi9weXRob257WC5ZfS9zaXRlLXBhY2thZ2VzYAorc2NyaXB0cyAgICAgICAgICAgOmZpbGU6YHtwcmVmaXh9L2JpbmAKK2RhdGEgICAgICAgICAgICAgIDpmaWxlOmB7cHJlZml4fWAKK0MgaGVhZGVycyAgICAgICAgIDpmaWxlOmB7cHJlZml4fS9pbmNsdWRlL3B5dGhvbntYLll9e2FiaWZsYWdzfWAKKz09PT09PT09PT09PT09PT09ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworLi4gWFhYIG1pc3NlcyBhbiBlbnRyeSBmb3IgcGxhdGluY2x1ZGUKKworVGhlcmUgaXMgbm8gcmVxdWlyZW1lbnQgdGhhdCA6b3B0aW9uOmAtLXByZWZpeGAgb3IgOm9wdGlvbjpgLS1leGVjLXByZWZpeGAKK2FjdHVhbGx5IHBvaW50IHRvIGFuIGFsdGVybmF0ZSBQeXRob24gaW5zdGFsbGF0aW9uOyBpZiB0aGUgZGlyZWN0b3JpZXMgbGlzdGVkCithYm92ZSBkbyBub3QgYWxyZWFkeSBleGlzdCwgdGhleSBhcmUgY3JlYXRlZCBhdCBpbnN0YWxsYXRpb24gdGltZS4KKworSW5jaWRlbnRhbGx5LCB0aGUgcmVhbCByZWFzb24gdGhlIHByZWZpeCBzY2hlbWUgaXMgaW1wb3J0YW50IGlzIHNpbXBseSB0aGF0IGEKK3N0YW5kYXJkIFVuaXggaW5zdGFsbGF0aW9uIHVzZXMgdGhlIHByZWZpeCBzY2hlbWUsIGJ1dCB3aXRoIDpvcHRpb246YC0tcHJlZml4YAorYW5kIDpvcHRpb246YC0tZXhlYy1wcmVmaXhgIHN1cHBsaWVkIGJ5IFB5dGhvbiBpdHNlbGYgYXMgYGBzeXMucHJlZml4YGAgYW5kCitgYHN5cy5leGVjX3ByZWZpeGBgLiBUaHVzLCB5b3UgbWlnaHQgdGhpbmsgeW91J2xsIG5ldmVyIHVzZSB0aGUgcHJlZml4IHNjaGVtZSwKK2J1dCBldmVyeSB0aW1lIHlvdSBydW4gYGBweXNldHVwIHJ1biBpbnN0YWxsX2Rpc3RgYCB3aXRob3V0IGFueSBvdGhlcgorb3B0aW9ucywgeW91J3JlIHVzaW5nIGl0LgorCitOb3RlIHRoYXQgaW5zdGFsbGluZyBleHRlbnNpb25zIHRvIGFuIGFsdGVybmF0ZSBQeXRob24gaW5zdGFsbGF0aW9uIGRvZXNuJ3QgaGF2ZQorYW55dGhpbmcgdG8gZG8gd2l0aCBob3cgdGhvc2UgZXh0ZW5zaW9ucyBhcmUgYnVpbHQ6IGluIHBhcnRpY3VsYXIsIGV4dGVuc2lvbnMKK3dpbGwgYmUgY29tcGlsZWQgdXNpbmcgdGhlIFB5dGhvbiBoZWFkZXIgZmlsZXMgKDpmaWxlOmBQeXRob24uaGAgYW5kIGZyaWVuZHMpCitpbnN0YWxsZWQgd2l0aCB0aGUgUHl0aG9uIGludGVycHJldGVyIHVzZWQgdG8gcnVuIHRoZSBidWlsZCBjb21tYW5kLiBJdCBpcwordGhlcmVmb3JlIHlvdXIgcmVzcG9uc2liaWxpdHkgdG8gZW5zdXJlIGNvbXBhdGliaWxpdHkgYmV0d2VlbiB0aGUgaW50ZXJwcmV0ZXIKK2ludGVuZGVkIHRvIHJ1biBleHRlbnNpb25zIGluc3RhbGxlZCBpbiB0aGlzIHdheSBhbmQgdGhlIGludGVycHJldGVyIHVzZWQgdG8KK2J1aWxkIHRoZXNlIHNhbWUgZXh0ZW5zaW9ucy4gVG8gYXZvaWQgcHJvYmxlbXMsIGl0IGlzIGJlc3QgdG8gbWFrZSBzdXJlIHRoYXQKK3RoZSB0d28gaW50ZXJwcmV0ZXJzIGFyZSB0aGUgc2FtZSB2ZXJzaW9uIG9mIFB5dGhvbiAocG9zc2libHkgZGlmZmVyZW50IGJ1aWxkcywKK29yIHBvc3NpYmx5IGNvcGllcyBvZiB0aGUgc2FtZSBidWlsZCkuIChPZiBjb3Vyc2UsIGlmIHlvdXIgOm9wdGlvbjpgLS1wcmVmaXhgCithbmQgOm9wdGlvbjpgLS1leGVjLXByZWZpeGAgZG9uJ3QgZXZlbiBwb2ludCB0byBhbiBhbHRlcm5hdGUgUHl0aG9uIGluc3RhbGxhdGlvbiwKK3RoaXMgaXMgaW1tYXRlcmlhbC4pCisKKworLi4gX3BhY2thZ2luZy1hbHQtaW5zdGFsbC1wcmVmaXgtd2luZG93czoKKworQWx0ZXJuYXRlIGluc3RhbGxhdGlvbjogV2luZG93cyAodGhlIHByZWZpeCBzY2hlbWUpCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworV2luZG93cyBoYXMgYSBkaWZmZXJlbnQgYW5kIHZhZ3VlciBub3Rpb24gb2YgaG9tZSBkaXJlY3RvcmllcyB0aGFuIFVuaXgsIGFuZAorc2luY2UgaXRzIHN0YW5kYXJkIFB5dGhvbiBpbnN0YWxsYXRpb24gaXMgc2ltcGxlciwgdGhlIDpvcHRpb246YC0tcHJlZml4YCBvcHRpb24KK2hhcyB0cmFkaXRpb25hbGx5IGJlZW4gdXNlZCB0byBpbnN0YWxsIGFkZGl0aW9uYWwgcGFja2FnZXMgdG8gYXJiaXRyYXJ5Citsb2NhdGlvbnMuIDo6CisKKyAgIHB5c2V0dXAgcnVuIGluc3RhbGxfZGlzdCAtLXByZWZpeCAiXFRlbXBcUHl0aG9uIgorCit0byBpbnN0YWxsIG1vZHVsZXMgdG8gdGhlIDpmaWxlOmBcXFRlbXBcXFB5dGhvbmAgZGlyZWN0b3J5IG9uIHRoZSBjdXJyZW50IGRyaXZlLgorCitUaGUgaW5zdGFsbGF0aW9uIGJhc2UgaXMgZGVmaW5lZCBieSB0aGUgOm9wdGlvbjpgLS1wcmVmaXhgIG9wdGlvbjsgdGhlCis6b3B0aW9uOmAtLWV4ZWMtcHJlZml4YCBvcHRpb24gaXMgbm90IHN1cHBvcnRlZCB1bmRlciBXaW5kb3dzLCB3aGljaCBtZWFucyB0aGF0CitwdXJlIFB5dGhvbiBtb2R1bGVzIGFuZCBleHRlbnNpb24gbW9kdWxlcyBhcmUgaW5zdGFsbGVkIGludG8gdGhlIHNhbWUgbG9jYXRpb24uCitGaWxlcyBhcmUgaW5zdGFsbGVkIGFzIGZvbGxvd3M6CisKKz09PT09PT09PT09PT09PSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CitUeXBlIG9mIGZpbGUgICAgSW5zdGFsbGF0aW9uIGRpcmVjdG9yeQorPT09PT09PT09PT09PT09ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KK21vZHVsZXMgICAgICAgICA6ZmlsZTpge3ByZWZpeH1cXExpYlxcc2l0ZS1wYWNrYWdlc2AKK3NjcmlwdHMgICAgICAgICA6ZmlsZTpge3ByZWZpeH1cXFNjcmlwdHNgCitkYXRhICAgICAgICAgICAgOmZpbGU6YHtwcmVmaXh9YAorQyBoZWFkZXJzICAgICAgIDpmaWxlOmB7cHJlZml4fVxcSW5jbHVkZWAKKz09PT09PT09PT09PT09PSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKKworLi4gX3BhY2thZ2luZy1jdXN0b20taW5zdGFsbDoKKworQ3VzdG9tIGluc3RhbGxhdGlvbgorPT09PT09PT09PT09PT09PT09PQorCitTb21ldGltZXMsIHRoZSBhbHRlcm5hdGUgaW5zdGFsbGF0aW9uIHNjaGVtZXMgZGVzY3JpYmVkIGluIHNlY3Rpb24KKzpyZWY6YHBhY2thZ2luZy1hbHQtaW5zdGFsbGAganVzdCBkb24ndCBkbyB3aGF0IHlvdSB3YW50LiBZb3UgbWlnaHQgd2FudCB0byB0d2VhaworanVzdCBvbmUgb3IgdHdvIGRpcmVjdG9yaWVzIHdoaWxlIGtlZXBpbmcgZXZlcnl0aGluZyB1bmRlciB0aGUgc2FtZSBiYXNlCitkaXJlY3RvcnksIG9yIHlvdSBtaWdodCB3YW50IHRvIGNvbXBsZXRlbHkgcmVkZWZpbmUgdGhlIGluc3RhbGxhdGlvbiBzY2hlbWUuCitJbiBlaXRoZXIgY2FzZSwgeW91J3JlIGNyZWF0aW5nIGEgKmN1c3RvbSBpbnN0YWxsYXRpb24gc2NoZW1lKi4KKworVG8gY3JlYXRlIGEgY3VzdG9tIGluc3RhbGxhdGlvbiBzY2hlbWUsIHlvdSBzdGFydCB3aXRoIG9uZSBvZiB0aGUgYWx0ZXJuYXRlCitzY2hlbWVzIGFuZCBvdmVycmlkZSBzb21lIG9mIHRoZSBpbnN0YWxsYXRpb24gZGlyZWN0b3JpZXMgdXNlZCBmb3IgdGhlIHZhcmlvdXMKK3R5cGVzIG9mIGZpbGVzLCB1c2luZyB0aGVzZSBvcHRpb25zOgorCis9PT09PT09PT09PT09PT09PT09PT09ID09PT09PT09PT09PT09PT09PT09PT09CitUeXBlIG9mIGZpbGUgICAgICAgICAgIE92ZXJyaWRlIG9wdGlvbgorPT09PT09PT09PT09PT09PT09PT09PSA9PT09PT09PT09PT09PT09PT09PT09PQorUHl0aG9uIG1vZHVsZXMgICAgICAgICBgYC0taW5zdGFsbC1wdXJlbGliYGAKK2V4dGVuc2lvbiBtb2R1bGVzICAgICAgYGAtLWluc3RhbGwtcGxhdGxpYmBgCithbGwgbW9kdWxlcyAgICAgICAgICAgIGBgLS1pbnN0YWxsLWxpYmBgCitzY3JpcHRzICAgICAgICAgICAgICAgIGBgLS1pbnN0YWxsLXNjcmlwdHNgYAorZGF0YSAgICAgICAgICAgICAgICAgICBgYC0taW5zdGFsbC1kYXRhYGAKK0MgaGVhZGVycyAgICAgICAgICAgICAgYGAtLWluc3RhbGwtaGVhZGVyc2BgCis9PT09PT09PT09PT09PT09PT09PT09ID09PT09PT09PT09PT09PT09PT09PT09CisKK1RoZXNlIG92ZXJyaWRlIG9wdGlvbnMgY2FuIGJlIHJlbGF0aXZlLCBhYnNvbHV0ZSwKK29yIGV4cGxpY2l0bHkgZGVmaW5lZCBpbiB0ZXJtcyBvZiBvbmUgb2YgdGhlIGluc3RhbGxhdGlvbiBiYXNlIGRpcmVjdG9yaWVzLgorKFRoZXJlIGFyZSB0d28gaW5zdGFsbGF0aW9uIGJhc2UgZGlyZWN0b3JpZXMsIGFuZCB0aGV5IGFyZSBub3JtYWxseSB0aGUgc2FtZQorLS0tdGhleSBvbmx5IGRpZmZlciB3aGVuIHlvdSB1c2UgdGhlIFVuaXggInByZWZpeCBzY2hlbWUiIGFuZCBzdXBwbHkgZGlmZmVyZW50CitgYC0tcHJlZml4YGAgYW5kIGBgLS1leGVjLXByZWZpeGBgIG9wdGlvbnM7IHVzaW5nIGBgLS1pbnN0YWxsLWxpYmBgIHdpbGwKK292ZXJyaWRlIHZhbHVlcyBjb21wdXRlZCBvciBnaXZlbiBmb3IgYGAtLWluc3RhbGwtcHVyZWxpYmBgIGFuZAorYGAtLWluc3RhbGwtcGxhdGxpYmBgLCBhbmQgaXMgcmVjb21tZW5kZWQgZm9yIHNjaGVtZXMgdGhhdCBkb24ndCBtYWtlIGEKK2RpZmZlcmVuY2UgYmV0d2VlbiBQeXRob24gYW5kIGV4dGVuc2lvbiBtb2R1bGVzLikKKworRm9yIGV4YW1wbGUsIHNheSB5b3UncmUgaW5zdGFsbGluZyBhIG1vZHVsZSBkaXN0cmlidXRpb24gdG8geW91ciBob21lIGRpcmVjdG9yeQordW5kZXIgVW5peCwgYnV0IHlvdSB3YW50IHNjcmlwdHMgdG8gZ28gaW4gOmZpbGU6YH4vc2NyaXB0c2AgcmF0aGVyIHRoYW4KKzpmaWxlOmB+L2JpbmAuIEFzIHlvdSBtaWdodCBleHBlY3QsIHlvdSBjYW4gb3ZlcnJpZGUgdGhpcyBkaXJlY3Rvcnkgd2l0aCB0aGUKKzpvcHRpb246YC0taW5zdGFsbC1zY3JpcHRzYCBvcHRpb24gYW5kLCBpbiB0aGlzIGNhc2UsIGl0IG1ha2VzIG1vc3Qgc2Vuc2UgdG8gc3VwcGx5CithIHJlbGF0aXZlIHBhdGgsIHdoaWNoIHdpbGwgYmUgaW50ZXJwcmV0ZWQgcmVsYXRpdmUgdG8gdGhlIGluc3RhbGxhdGlvbiBiYXNlCitkaXJlY3RvcnkgKGluIG91ciBleGFtcGxlLCB5b3VyIGhvbWUgZGlyZWN0b3J5KTo6CisKKyAgIHB5c2V0dXAgcnVuIGluc3RhbGxfZGlzdCAtLWhvbWUgfiAtLWluc3RhbGwtc2NyaXB0cyBzY3JpcHRzCisKK0Fub3RoZXIgVW5peCBleGFtcGxlOiBzdXBwb3NlIHlvdXIgUHl0aG9uIGluc3RhbGxhdGlvbiB3YXMgYnVpbHQgYW5kIGluc3RhbGxlZAord2l0aCBhIHByZWZpeCBvZiA6ZmlsZTpgL3Vzci9sb2NhbC9weXRob25gLiBUaHVzLCBpbiBhIHN0YW5kYXJkIGluc3RhbGxhdGlvbiwKK3NjcmlwdHMgd2lsbCB3aW5kIHVwIGluIDpmaWxlOmAvdXNyL2xvY2FsL3B5dGhvbi9iaW5gLiBJZiB5b3Ugd2FudCB0aGVtIGluCis6ZmlsZTpgL3Vzci9sb2NhbC9iaW5gIGluc3RlYWQsIHlvdSB3b3VsZCBzdXBwbHkgdGhpcyBhYnNvbHV0ZSBkaXJlY3RvcnkgZm9yCit0aGUgOm9wdGlvbjpgLS1pbnN0YWxsLXNjcmlwdHNgIG9wdGlvbjo6CisKKyAgIHB5c2V0dXAgcnVuIGluc3RhbGxfZGlzdCAtLWluc3RhbGwtc2NyaXB0cyAvdXNyL2xvY2FsL2JpbgorCitUaGlzIGNvbW1hbmQgcGVyZm9ybXMgYW4gaW5zdGFsbGF0aW9uIHVzaW5nIHRoZSAicHJlZml4IHNjaGVtZSIsIHdoZXJlIHRoZQorcHJlZml4IGlzIHdoYXRldmVyIHlvdXIgUHl0aG9uIGludGVycHJldGVyIHdhcyBpbnN0YWxsZWQgd2l0aCAtLS1pbiB0aGlzIGNhc2UsCis6ZmlsZTpgL3Vzci9sb2NhbC9weXRob25gLgorCitJZiB5b3UgbWFpbnRhaW4gUHl0aG9uIG9uIFdpbmRvd3MsIHlvdSBtaWdodCB3YW50IHRoaXJkLXBhcnR5IG1vZHVsZXMgdG8gbGl2ZSBpbgorYSBzdWJkaXJlY3Rvcnkgb2YgOmZpbGU6YHtwcmVmaXh9YCwgcmF0aGVyIHRoYW4gcmlnaHQgaW4gOmZpbGU6YHtwcmVmaXh9YAoraXRzZWxmLiBUaGlzIGlzIGFsbW9zdCBhcyBlYXN5IGFzIGN1c3RvbWl6aW5nIHRoZSBzY3JpcHQgaW5zdGFsbGF0aW9uIGRpcmVjdG9yeQorLS0teW91IGp1c3QgaGF2ZSB0byByZW1lbWJlciB0aGF0IHRoZXJlIGFyZSB0d28gdHlwZXMgb2YgbW9kdWxlcyB0byB3b3JyeSBhYm91dCwKK1B5dGhvbiBhbmQgZXh0ZW5zaW9uIG1vZHVsZXMsIHdoaWNoIGNhbiBjb252ZW5pZW50bHkgYmUgYm90aCBjb250cm9sbGVkIGJ5IG9uZQorb3B0aW9uOjoKKworICAgcHlzZXR1cCBydW4gaW5zdGFsbF9kaXN0IC0taW5zdGFsbC1saWIgU2l0ZQorCisuLiBYWFggTm90aGluZyBpcyBpbnN0YWxsZWQgcmlnaHQgdW5kZXIgcHJlZml4IGluIHdpbmRvd3MsIGlzIGl0Pz8KKworVGhlIHNwZWNpZmllZCBpbnN0YWxsYXRpb24gZGlyZWN0b3J5IGlzIHJlbGF0aXZlIHRvIDpmaWxlOmB7cHJlZml4fWAuICBPZgorY291cnNlLCB5b3UgYWxzbyBoYXZlIHRvIGVuc3VyZSB0aGF0IHRoaXMgZGlyZWN0b3J5IGlzIGluIFB5dGhvbidzIG1vZHVsZQorc2VhcmNoIHBhdGgsIHN1Y2ggYXMgYnkgcHV0dGluZyBhIDpmaWxlOmAucHRoYCBmaWxlIGluIGEgc2l0ZSBkaXJlY3RvcnkgKHNlZQorOm1vZDpgc2l0ZWApLiAgU2VlIHNlY3Rpb24gOnJlZjpgcGFja2FnaW5nLXNlYXJjaC1wYXRoYCB0byBmaW5kIG91dCBob3cgdG8gbW9kaWZ5CitQeXRob24ncyBzZWFyY2ggcGF0aC4KKworSWYgeW91IHdhbnQgdG8gZGVmaW5lIGFuIGVudGlyZSBpbnN0YWxsYXRpb24gc2NoZW1lLCB5b3UganVzdCBoYXZlIHRvIHN1cHBseSBhbGwKK29mIHRoZSBpbnN0YWxsYXRpb24gZGlyZWN0b3J5IG9wdGlvbnMuIFVzaW5nIHJlbGF0aXZlIHBhdGhzIGlzIHJlY29tbWVuZGVkIGhlcmUuCitGb3IgZXhhbXBsZSwgaWYgeW91IHdhbnQgdG8gbWFpbnRhaW4gYWxsIFB5dGhvbiBtb2R1bGUtcmVsYXRlZCBmaWxlcyB1bmRlcgorOmZpbGU6YHB5dGhvbmAgaW4geW91ciBob21lIGRpcmVjdG9yeSwgYW5kIHlvdSB3YW50IGEgc2VwYXJhdGUgZGlyZWN0b3J5IGZvcgorZWFjaCBwbGF0Zm9ybSB0aGF0IHlvdSB1c2UgeW91ciBob21lIGRpcmVjdG9yeSBmcm9tLCB5b3UgbWlnaHQgZGVmaW5lIHRoZQorZm9sbG93aW5nIGluc3RhbGxhdGlvbiBzY2hlbWU6OgorCisgICBweXNldHVwIHJ1biBpbnN0YWxsX2Rpc3QgLS1ob21lIH4gXAorICAgICAgIC0taW5zdGFsbC1wdXJlbGliIHB5dGhvbi9saWIgXAorICAgICAgIC0taW5zdGFsbC1wbGF0bGliIHB5dGhvbi8nbGliLiRQTEFUJyBcCisgICAgICAgLS1pbnN0YWxsLXNjcmlwdHMgcHl0aG9uL3NjcmlwdHMgXAorICAgICAgIC0taW5zdGFsbC1kYXRhIHB5dGhvbi9kYXRhCisKK29yLCBlcXVpdmFsZW50bHksIDo6CisKKyAgIHB5c2V0dXAgcnVuIGluc3RhbGxfZGlzdCAtLWhvbWUgfi9weXRob24gXAorICAgICAgIC0taW5zdGFsbC1wdXJlbGliIGxpYiBcCisgICAgICAgLS1pbnN0YWxsLXBsYXRsaWIgJ2xpYi4kUExBVCcgXAorICAgICAgIC0taW5zdGFsbC1zY3JpcHRzIHNjcmlwdHMgXAorICAgICAgIC0taW5zdGFsbC1kYXRhIGRhdGEKKworYGAkUExBVGBgIGRvZXNuJ3QgbmVlZCB0byBiZSBkZWZpbmVkIGFzIGFuIGVudmlyb25tZW50IHZhcmlhYmxlIC0tLWl0IHdpbGwgYWxzbworYmUgZXhwYW5kZWQgYnkgUGFja2FnaW5nIGFzIGl0IHBhcnNlcyB5b3VyIGNvbW1hbmQgbGluZSBvcHRpb25zLCBqdXN0IGFzIGl0Citkb2VzIHdoZW4gcGFyc2luZyB5b3VyIGNvbmZpZ3VyYXRpb24gZmlsZShzKS4gKE1vcmUgb24gdGhhdCBsYXRlci4pCisKK09idmlvdXNseSwgc3BlY2lmeWluZyB0aGUgZW50aXJlIGluc3RhbGxhdGlvbiBzY2hlbWUgZXZlcnkgdGltZSB5b3UgaW5zdGFsbCBhCituZXcgbW9kdWxlIGRpc3RyaWJ1dGlvbiB3b3VsZCBiZSB2ZXJ5IHRlZGlvdXMuIFRvIHNwYXJlIHlvdSBhbGwgdGhhdCB3b3JrLCB5b3UKK2NhbiBzdG9yZSBpdCBpbiBhIFBhY2thZ2luZyBjb25maWd1cmF0aW9uIGZpbGUgaW5zdGVhZCAoc2VlIHNlY3Rpb24KKzpyZWY6YHBhY2thZ2luZy1jb25maWctZmlsZXNgKSwgbGlrZSBzbzo6CisKKyAgIFtpbnN0YWxsX2Rpc3RdCisgICBpbnN0YWxsLWJhc2UgPSAkSE9NRQorICAgaW5zdGFsbC1wdXJlbGliID0gcHl0aG9uL2xpYgorICAgaW5zdGFsbC1wbGF0bGliID0gcHl0aG9uL2xpYi4kUExBVAorICAgaW5zdGFsbC1zY3JpcHRzID0gcHl0aG9uL3NjcmlwdHMKKyAgIGluc3RhbGwtZGF0YSA9IHB5dGhvbi9kYXRhCisKK29yLCBlcXVpdmFsZW50bHksIDo6CisKKyAgIFtpbnN0YWxsX2Rpc3RdCisgICBpbnN0YWxsLWJhc2UgPSAkSE9NRS9weXRob24KKyAgIGluc3RhbGwtcHVyZWxpYiA9IGxpYgorICAgaW5zdGFsbC1wbGF0bGliID0gbGliLiRQTEFUCisgICBpbnN0YWxsLXNjcmlwdHMgPSBzY3JpcHRzCisgICBpbnN0YWxsLWRhdGEgPSBkYXRhCisKK05vdGUgdGhhdCB0aGVzZSB0d28gYXJlICpub3QqIGVxdWl2YWxlbnQgaWYgeW91IG92ZXJyaWRlIHRoZWlyIGluc3RhbGxhdGlvbgorYmFzZSBkaXJlY3Rvcnkgd2hlbiBydW5uaW5nIHRoZSBzZXR1cCBzY3JpcHQuIEZvciBleGFtcGxlLCA6OgorCisgICBweXNldHVwIHJ1biBpbnN0YWxsX2Rpc3QgLS1pbnN0YWxsLWJhc2UgL3RtcAorCit3b3VsZCBpbnN0YWxsIHB1cmUgbW9kdWxlcyB0byA6ZmlsZTpgL3RtcC9weXRob24vbGliYCBpbiB0aGUgZmlyc3QgY2FzZSwgYW5kCit0byA6ZmlsZTpgL3RtcC9saWJgIGluIHRoZSBzZWNvbmQgY2FzZS4gKEZvciB0aGUgc2Vjb25kIGNhc2UsIHlvdSdkIHByb2JhYmx5Cit3YW50IHRvIHN1cHBseSBhbiBpbnN0YWxsYXRpb24gYmFzZSBvZiA6ZmlsZTpgL3RtcC9weXRob25gLikKKworWW91IG1heSBoYXZlIG5vdGljZWQgdGhlIHVzZSBvZiBgYCRIT01FYGAgYW5kIGBgJFBMQVRgYCBpbiB0aGUgc2FtcGxlCitjb25maWd1cmF0aW9uIGZpbGUuIFRoZXNlIGFyZSBQYWNrYWdpbmcgY29uZmlndXJhdGlvbiB2YXJpYWJsZXMsIHdoaWNoCitiZWFyIGEgc3Ryb25nIHJlc2VtYmxhbmNlIHRvIGVudmlyb25tZW50IHZhcmlhYmxlcy4gSW4gZmFjdCwgeW91IGNhbiB1c2UKK2Vudmlyb25tZW50IHZhcmlhYmxlcyBpbiBjb25maWd1cmF0aW9uIGZpbGVzIG9uIHBsYXRmb3JtcyB0aGF0IGhhdmUgc3VjaCBhIG5vdGlvbiwgYnV0CitQYWNrYWdpbmcgYWRkaXRpb25hbGx5IGRlZmluZXMgYSBmZXcgZXh0cmEgdmFyaWFibGVzIHRoYXQgbWF5IG5vdCBiZSBpbiB5b3VyCitlbnZpcm9ubWVudCwgc3VjaCBhcyBgYCRQTEFUYGAuIE9mIGNvdXJzZSwgb24gc3lzdGVtcyB0aGF0IGRvbid0IGhhdmUKK2Vudmlyb25tZW50IHZhcmlhYmxlcywgc3VjaCBhcyBNYWMgT1MgOSwgdGhlIGNvbmZpZ3VyYXRpb24gdmFyaWFibGVzIHN1cHBsaWVkIGJ5Cit0aGUgUGFja2FnaW5nIGFyZSB0aGUgb25seSBvbmVzIHlvdSBjYW4gdXNlLiBTZWUgc2VjdGlvbiA6cmVmOmBwYWNrYWdpbmctY29uZmlnLWZpbGVzYAorZm9yIGRldGFpbHMuCisKKy4uIFhYWCB3aGljaCB2YXJzIHdpbiBvdXQgZXZlbnR1YWxseSBpbiBjYXNlIG9mIGNsYXNoIGVudiBvciBQYWNrYWdpbmc/CisKKy4uIFhYWCBuZWVkIHNvbWUgV2luZG93cyBleGFtcGxlcy0tLXdoZW4gd291bGQgY3VzdG9tIGluc3RhbGxhdGlvbiBzY2hlbWVzIGJlCisgICBuZWVkZWQgb24gdGhvc2UgcGxhdGZvcm1zPworCisKKy4uIFhYWCBNb3ZlIHRoaXMgc2VjdGlvbiB0byBEb2MvdXNpbmcKKworLi4gX3BhY2thZ2luZy1zZWFyY2gtcGF0aDoKKworTW9kaWZ5aW5nIFB5dGhvbidzIHNlYXJjaCBwYXRoCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworV2hlbiB0aGUgUHl0aG9uIGludGVycHJldGVyIGV4ZWN1dGVzIGFuIDprZXl3b3JkOmBpbXBvcnRgIHN0YXRlbWVudCwgaXQgc2VhcmNoZXMKK2ZvciBib3RoIFB5dGhvbiBjb2RlIGFuZCBleHRlbnNpb24gbW9kdWxlcyBhbG9uZyBhIHNlYXJjaCBwYXRoLiBBIGRlZmF1bHQgdmFsdWUKK2ZvciB0aGlzIHBhdGggaXMgY29uZmlndXJlZCBpbnRvIHRoZSBQeXRob24gYmluYXJ5IHdoZW4gdGhlIGludGVycHJldGVyIGlzIGJ1aWx0LgorWW91IGNhbiBvYnRhaW4gdGhlIHNlYXJjaCBwYXRoIGJ5IGltcG9ydGluZyB0aGUgOm1vZDpgc3lzYCBtb2R1bGUgYW5kIHByaW50aW5nCit0aGUgdmFsdWUgb2YgYGBzeXMucGF0aGBgLiA6OgorCisgICAkIHB5dGhvbgorICAgUHl0aG9uIDIuMiAoIzExLCBPY3QgIDMgMjAwMiwgMTM6MzE6MjcpCisgICBbR0NDIDIuOTYgMjAwMDA3MzEgKFJlZCBIYXQgTGludXggNy4zIDIuOTYtMTEyKV0gb24gbGludXgyCisgICBUeXBlICJoZWxwIiwgImNvcHlyaWdodCIsICJjcmVkaXRzIiBvciAibGljZW5zZSIgZm9yIG1vcmUgaW5mb3JtYXRpb24uCisgICA+Pj4gaW1wb3J0IHN5cworICAgPj4+IHN5cy5wYXRoCisgICBbJycsICcvdXNyL2xvY2FsL2xpYi9weXRob24yLjMnLCAnL3Vzci9sb2NhbC9saWIvcHl0aG9uMi4zL3BsYXQtbGludXgyJywKKyAgICAnL3Vzci9sb2NhbC9saWIvcHl0aG9uMi4zL2xpYi10aycsICcvdXNyL2xvY2FsL2xpYi9weXRob24yLjMvbGliLWR5bmxvYWQnLAorICAgICcvdXNyL2xvY2FsL2xpYi9weXRob24yLjMvc2l0ZS1wYWNrYWdlcyddCisgICA+Pj4KKworVGhlIG51bGwgc3RyaW5nIGluIGBgc3lzLnBhdGhgYCByZXByZXNlbnRzIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5LgorCitUaGUgZXhwZWN0ZWQgY29udmVudGlvbiBmb3IgbG9jYWxseSBpbnN0YWxsZWQgcGFja2FnZXMgaXMgdG8gcHV0IHRoZW0gaW4gdGhlCis6ZmlsZTpgey4uLn0vc2l0ZS1wYWNrYWdlcy9gIGRpcmVjdG9yeSwgYnV0IHlvdSBtYXkgd2FudCB0byBjaG9vc2UgYSBkaWZmZXJlbnQKK2xvY2F0aW9uIGZvciBzb21lIHJlYXNvbi4gRm9yIGV4YW1wbGUsIGlmIHlvdXIgc2l0ZSBrZXB0IGJ5IGNvbnZlbnRpb24gYWxsIHdlYgorc2VydmVyLXJlbGF0ZWQgc29mdHdhcmUgdW5kZXIgOmZpbGU6YC93d3dgLiBBZGQtb24gUHl0aG9uIG1vZHVsZXMgbWlnaHQgdGhlbgorYmVsb25nIGluIDpmaWxlOmAvd3d3L3B5dGhvbmAsIGFuZCBpbiBvcmRlciB0byBpbXBvcnQgdGhlbSwgdGhpcyBkaXJlY3Rvcnkgd291bGQKK2hhdmUgdG8gYmUgYWRkZWQgdG8gYGBzeXMucGF0aGBgLiBUaGVyZSBhcmUgc2V2ZXJhbCB3YXlzIHRvIHNvbHZlIHRoaXMgcHJvYmxlbS4KKworVGhlIG1vc3QgY29udmVuaWVudCB3YXkgaXMgdG8gYWRkIGEgcGF0aCBjb25maWd1cmF0aW9uIGZpbGUgdG8gYSBkaXJlY3RvcnkKK3RoYXQncyBhbHJlYWR5IG9uIFB5dGhvbidzIHBhdGgsIHVzdWFsbHkgdG8gdGhlIDpmaWxlOmAuLi4vc2l0ZS1wYWNrYWdlcy9gCitkaXJlY3RvcnkuIFBhdGggY29uZmlndXJhdGlvbiBmaWxlcyBoYXZlIGFuIGV4dGVuc2lvbiBvZiA6ZmlsZTpgLnB0aGAsIGFuZCBlYWNoCitsaW5lIG11c3QgY29udGFpbiBhIHNpbmdsZSBwYXRoIHRoYXQgd2lsbCBiZSBhcHBlbmRlZCB0byBgYHN5cy5wYXRoYGAuIChCZWNhdXNlCit0aGUgbmV3IHBhdGhzIGFyZSBhcHBlbmRlZCB0byBgYHN5cy5wYXRoYGAsIG1vZHVsZXMgaW4gdGhlIGFkZGVkIGRpcmVjdG9yaWVzCit3aWxsIG5vdCBvdmVycmlkZSBzdGFuZGFyZCBtb2R1bGVzLiBUaGlzIG1lYW5zIHlvdSBjYW4ndCB1c2UgdGhpcyBtZWNoYW5pc20gZm9yCitpbnN0YWxsaW5nIGZpeGVkIHZlcnNpb25zIG9mIHN0YW5kYXJkIG1vZHVsZXMuKQorCitQYXRocyBjYW4gYmUgYWJzb2x1dGUgb3IgcmVsYXRpdmUsIGluIHdoaWNoIGNhc2UgdGhleSdyZSByZWxhdGl2ZSB0byB0aGUKK2RpcmVjdG9yeSBjb250YWluaW5nIHRoZSA6ZmlsZTpgLnB0aGAgZmlsZS4gU2VlIHRoZSBkb2N1bWVudGF0aW9uIG9mCit0aGUgOm1vZDpgc2l0ZWAgbW9kdWxlIGZvciBtb3JlIGluZm9ybWF0aW9uLgorCitBIHNsaWdodGx5IGxlc3MgY29udmVuaWVudCB3YXkgaXMgdG8gZWRpdCB0aGUgOmZpbGU6YHNpdGUucHlgIGZpbGUgaW4gUHl0aG9uJ3MKK3N0YW5kYXJkIGxpYnJhcnksIGFuZCBtb2RpZnkgYGBzeXMucGF0aGBgLiA6ZmlsZTpgc2l0ZS5weWAgaXMgYXV0b21hdGljYWxseQoraW1wb3J0ZWQgd2hlbiB0aGUgUHl0aG9uIGludGVycHJldGVyIGlzIGV4ZWN1dGVkLCB1bmxlc3MgdGhlIDpvcHRpb246YC1TYCBzd2l0Y2gKK2lzIHN1cHBsaWVkIHRvIHN1cHByZXNzIHRoaXMgYmVoYXZpb3VyLiBTbyB5b3UgY291bGQgc2ltcGx5IGVkaXQKKzpmaWxlOmBzaXRlLnB5YCBhbmQgYWRkIHR3byBsaW5lcyB0byBpdDo6CisKKyAgIGltcG9ydCBzeXMKKyAgIHN5cy5wYXRoLmFwcGVuZCgnL3d3dy9weXRob24vJykKKworSG93ZXZlciwgaWYgeW91IHJlaW5zdGFsbCB0aGUgc2FtZSBtYWpvciB2ZXJzaW9uIG9mIFB5dGhvbiAocGVyaGFwcyB3aGVuCit1cGdyYWRpbmcgZnJvbSAzLjMgdG8gMy4zLjEsIGZvciBleGFtcGxlKSA6ZmlsZTpgc2l0ZS5weWAgd2lsbCBiZSBvdmVyd3JpdHRlbiBieQordGhlIHN0b2NrIHZlcnNpb24uIFlvdSdkIGhhdmUgdG8gcmVtZW1iZXIgdGhhdCBpdCB3YXMgbW9kaWZpZWQgYW5kIHNhdmUgYSBjb3B5CitiZWZvcmUgZG9pbmcgdGhlIGluc3RhbGxhdGlvbi4KKworQWx0ZXJuYXRpdmVseSwgdGhlcmUgYXJlIHR3byBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdGhhdCBjYW4gbW9kaWZ5IGBgc3lzLnBhdGhgYC4KKzplbnZ2YXI6YFBZVEhPTkhPTUVgIHNldHMgYW4gYWx0ZXJuYXRlIHZhbHVlIGZvciB0aGUgcHJlZml4IG9mIHRoZSBQeXRob24KK2luc3RhbGxhdGlvbi4gRm9yIGV4YW1wbGUsIGlmIDplbnZ2YXI6YFBZVEhPTkhPTUVgIGlzIHNldCB0byBgYC93d3cvcHl0aG9uYGAsCit0aGUgc2VhcmNoIHBhdGggd2lsbCBiZSBzZXQgdG8gYGBbJycsICcvd3d3L3B5dGhvbi9saWIvcHl0aG9uWC5ZLycsCisnL3d3dy9weXRob24vbGliL3B5dGhvblguWS9wbGF0LWxpbnV4MicsIC4uLl1gYC4KKworVGhlIDplbnZ2YXI6YFBZVEhPTlBBVEhgIHZhcmlhYmxlIGNhbiBiZSBzZXQgdG8gYSBsaXN0IG9mIHBhdGhzIHRoYXQgd2lsbCBiZQorYWRkZWQgdG8gdGhlIGJlZ2lubmluZyBvZiBgYHN5cy5wYXRoYGAuIEZvciBleGFtcGxlLCBpZiA6ZW52dmFyOmBQWVRIT05QQVRIYCBpcworc2V0IHRvIGBgL3d3dy9weXRob246L29wdC9weWBgLCB0aGUgc2VhcmNoIHBhdGggd2lsbCBiZWdpbiB3aXRoCitgYFsnL3d3dy9weXRob24nLCAnL29wdC9weSddYGAuIChOb3RlIHRoYXQgZGlyZWN0b3JpZXMgbXVzdCBleGlzdCBpbiBvcmRlciB0bworYmUgYWRkZWQgdG8gYGBzeXMucGF0aGBgOyB0aGUgOm1vZDpgc2l0ZWAgbW9kdWxlIHJlbW92ZXMgbm9uLWV4aXN0ZW50IHBhdGhzLikKKworRmluYWxseSwgYGBzeXMucGF0aGBgIGlzIGp1c3QgYSByZWd1bGFyIFB5dGhvbiBsaXN0LCBzbyBhbnkgUHl0aG9uIGFwcGxpY2F0aW9uCitjYW4gbW9kaWZ5IGl0IGJ5IGFkZGluZyBvciByZW1vdmluZyBlbnRyaWVzLgorCisKKy4uIF9wYWNrYWdpbmctY29uZmlnLWZpbGVzOgorCitDb25maWd1cmF0aW9uIGZpbGVzIGZvciBQYWNrYWdpbmcKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCitBcyBtZW50aW9uZWQgYWJvdmUsIHlvdSBjYW4gdXNlIGNvbmZpZ3VyYXRpb24gZmlsZXMgdG8gc3RvcmUgcGVyc29uYWwgb3Igc2l0ZQorcHJlZmVyZW5jZXMgZm9yIGFueSBvcHRpb24gc3VwcG9ydGVkIGJ5IGFueSBQYWNrYWdpbmcgY29tbWFuZC4gRGVwZW5kaW5nIG9uIHlvdXIKK3BsYXRmb3JtLCB5b3UgY2FuIHVzZSBvbmUgb2YgdHdvIG9yIHRocmVlIHBvc3NpYmxlIGNvbmZpZ3VyYXRpb24gZmlsZXMuIFRoZXNlCitmaWxlcyB3aWxsIGJlIHJlYWQgYmVmb3JlIHBhcnNpbmcgdGhlIGNvbW1hbmQtbGluZSwgc28gdGhleSB0YWtlIHByZWNlZGVuY2Ugb3ZlcgorZGVmYXVsdCB2YWx1ZXMuIEluIHR1cm4sIHRoZSBjb21tYW5kLWxpbmUgd2lsbCBvdmVycmlkZSBjb25maWd1cmF0aW9uIGZpbGVzLgorTGFzdGx5LCBpZiB0aGVyZSBhcmUgbXVsdGlwbGUgY29uZmlndXJhdGlvbiBmaWxlcywgdmFsdWVzIGZyb20gZmlsZXMgcmVhZAorZWFybGllciB3aWxsIGJlIG92ZXJyaWRkZW4gYnkgdmFsdWVzIGZyb20gZmlsZXMgcmVhZCBsYXRlci4KKworLi4gWFhYICJvbmUgb2YgdHdvIG9yIHRocmVlIHBvc3NpYmxlLi4uIiBzZWVtcyB3cm9uZyBpbmZvLiBCZWxvdyBhbHdheXMgMyBmaWxlcworICAgYXJlIGluZGljYXRlZCBpbiB0aGUgdGFibGVzLgorCisKKy4uIF9wYWNrYWdpbmctY29uZmlnLWZpbGVuYW1lczoKKworTG9jYXRpb24gYW5kIG5hbWVzIG9mIGNvbmZpZ3VyYXRpb24gZmlsZXMKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK1RoZSBuYW1lIGFuZCBsb2NhdGlvbiBvZiB0aGUgY29uZmlndXJhdGlvbiBmaWxlcyB2YXJ5IHNsaWdodGx5IGFjcm9zcworcGxhdGZvcm1zLiBPbiBVbml4IGFuZCBNYWMgT1MgWCwgdGhlc2UgYXJlIHRoZSB0aHJlZSBjb25maWd1cmF0aW9uIGZpbGVzIGxpc3RlZAoraW4gdGhlIG9yZGVyIHRoZXkgYXJlIHByb2Nlc3NlZDoKKworKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLSsKK3wgVHlwZSBvZiBmaWxlIHwgTG9jYXRpb24gYW5kIGZpbGVuYW1lICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBOb3RlcyB8CisrPT09PT09PT09PT09PT0rPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSs9PT09PT09KworfCBzeXN0ZW0gICAgICAgfCA6ZmlsZTpge3ByZWZpeH0vbGliL3B5dGhvbnt2ZXJ9L3BhY2thZ2luZy9wYWNrYWdpbmcuY2ZnYCB8IFwoMSkgIHwKKystLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0rCit8IHBlcnNvbmFsICAgICB8IDpmaWxlOmAkSE9NRS8ucHlkaXN0dXRpbHMuY2ZnYCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgXCgyKSAgfAorKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLSsKK3wgbG9jYWwgICAgICAgIHwgOmZpbGU6YHNldHVwLmNmZ2AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBcKDMpICB8CisrLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tKworCitTaW1pbGFybHksIHRoZSBjb25maWd1cmF0aW9uIGZpbGVzIG9uIFdpbmRvd3MgLS0tYWxzbyBsaXN0ZWQgaW4gdGhlIG9yZGVyIHRoZXkKK2FyZSBwcm9jZXNzZWQtLS0gYXJlIHRoZXNlOgorCisrLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tKworfCBUeXBlIG9mIGZpbGUgfCBMb2NhdGlvbiBhbmQgZmlsZW5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICB8IE5vdGVzIHwKKys9PT09PT09PT09PT09PSs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Kz09PT09PT0rCit8IHN5c3RlbSAgICAgICB8IDpmaWxlOmB7cHJlZml4fVxcTGliXFxwYWNrYWdpbmdcXHBhY2thZ2luZy5jZmdgIHwgXCg0KSAgfAorKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLSsKK3wgcGVyc29uYWwgICAgIHwgOmZpbGU6YCVIT01FJVxccHlkaXN0dXRpbHMuY2ZnYCAgICAgICAgICAgICAgICAgfCBcKDUpICB8CisrLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tKworfCBsb2NhbCAgICAgICAgfCA6ZmlsZTpgc2V0dXAuY2ZnYCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFwoMykgIHwKKystLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0rCisKK09uIGFsbCBwbGF0Zm9ybXMsIHRoZSAqcGVyc29uYWwqIGZpbGUgY2FuIGJlIHRlbXBvcmFyaWx5IGRpc2FibGVkIGJ5CittZWFucyBvZiB0aGUgYC0tbm8tdXNlci1jZmdgIG9wdGlvbi4KKworTm90ZXM6CisKKygxKQorICAgU3RyaWN0bHkgc3BlYWtpbmcsIHRoZSBzeXN0ZW0td2lkZSBjb25maWd1cmF0aW9uIGZpbGUgbGl2ZXMgaW4gdGhlIGRpcmVjdG9yeQorICAgd2hlcmUgUGFja2FnaW5nIGlzIGluc3RhbGxlZC4KKworKDIpCisgICBPbiBVbml4LCBpZiB0aGUgOmVudnZhcjpgSE9NRWAgZW52aXJvbm1lbnQgdmFyaWFibGUgaXMgbm90IGRlZmluZWQsIHRoZQorICAgdXNlcidzIGhvbWUgZGlyZWN0b3J5IHdpbGwgYmUgZGV0ZXJtaW5lZCB3aXRoIHRoZSA6ZnVuYzpgZ2V0cHd1aWRgIGZ1bmN0aW9uCisgICBmcm9tIHRoZSBzdGFuZGFyZCA6bW9kOmBwd2RgIG1vZHVsZS4gUGFja2FnaW5nIHVzZXMgdGhlCisgICA6ZnVuYzpgb3MucGF0aC5leHBhbmR1c2VyYCBmdW5jdGlvbiB0byBkbyB0aGlzLgorCisoMykKKyAgIEkuZS4sIGluIHRoZSBjdXJyZW50IGRpcmVjdG9yeSAodXN1YWxseSB0aGUgbG9jYXRpb24gb2YgdGhlIHNldHVwIHNjcmlwdCkuCisKKyg0KQorICAgKFNlZSBhbHNvIG5vdGUgKDEpLikgUHl0aG9uJ3MgZGVmYXVsdCBpbnN0YWxsYXRpb24gcHJlZml4IGlzCisgICA6ZmlsZTpgQzpcXFB5dGhvbmAsIHNvIHRoZSBzeXN0ZW0gY29uZmlndXJhdGlvbiBmaWxlIGlzIG5vcm1hbGx5CisgICA6ZmlsZTpgQzpcXFB5dGhvblxcTGliXFxwYWNrYWdpbmdcXHBhY2thZ2luZy5jZmdgLgorCisoNSkKKyAgIE9uIFdpbmRvd3MsIGlmIHRoZSA6ZW52dmFyOmBIT01FYCBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBub3QgZGVmaW5lZCwKKyAgIDplbnZ2YXI6YFVTRVJQUk9GSUxFYCB0aGVuIDplbnZ2YXI6YEhPTUVEUklWRWAgYW5kIDplbnZ2YXI6YEhPTUVQQVRIYCB3aWxsCisgICBiZSB0cmllZC4gUGFja2FnaW5nIHVzZXMgdGhlIDpmdW5jOmBvcy5wYXRoLmV4cGFuZHVzZXJgIGZ1bmN0aW9uIHRvIGRvIHRoaXMuCisKKworLi4gX3BhY2thZ2luZy1jb25maWctc3ludGF4OgorCitTeW50YXggb2YgY29uZmlndXJhdGlvbiBmaWxlcworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworQWxsIFBhY2thZ2luZyBjb25maWd1cmF0aW9uIGZpbGVzIHNoYXJlIHRoZSBzYW1lIHN5bnRheC4gT3B0aW9ucyBkZWZpbmVkIGluCit0aGVtIGFyZSBncm91cGVkIGludG8gc2VjdGlvbnMsIGFuZCBlYWNoIFBhY2thZ2luZyBjb21tYW5kIGdldHMgaXRzIG93biBzZWN0aW9uLgorQWRkaXRpb25hbGx5LCB0aGVyZSdzIGEgYGBnbG9iYWxgYCBzZWN0aW9uIGZvciBvcHRpb25zIHRoYXQgYWZmZWN0IGV2ZXJ5IGNvbW1hbmQuCitTZWN0aW9ucyBjb25zaXN0IG9mIG9uZSBvciBtb3JlIGxpbmVzIGNvbnRhaW5pbmcgYSBzaW5nbGUgb3B0aW9uIHNwZWNpZmllZCBhcworYGBvcHRpb24gPSB2YWx1ZWBgLgorCisuLiBYWFggdXNlIGRyeS1ydW4gaW4gdGhlIG5leHQgZXhhbXBsZSBvciB1c2UgYSBweXNldHVwIG9wdGlvbiBhcyBleGFtcGxlCisKK0ZvciBleGFtcGxlLCBoZXJlJ3MgYSBjb21wbGV0ZSBjb25maWd1cmF0aW9uIGZpbGUgdGhhdCBmb3JjZXMgYWxsIGNvbW1hbmRzIHRvCitydW4gcXVpZXRseSBieSBkZWZhdWx0OjoKKworICAgW2dsb2JhbF0KKyAgIHZlcmJvc2UgPSAwCisKK0lmIHRoaXMgd2FzIHRoZSBzeXN0ZW0gY29uZmlndXJhdGlvbiBmaWxlLCBpdCB3b3VsZCBhZmZlY3QgYWxsIHByb2Nlc3NpbmcKK29mIGFueSBQeXRob24gbW9kdWxlIGRpc3RyaWJ1dGlvbiBieSBhbnkgdXNlciBvbiB0aGUgY3VycmVudCBzeXN0ZW0uIElmIGl0IHdhcworaW5zdGFsbGVkIGFzIHlvdXIgcGVyc29uYWwgY29uZmlndXJhdGlvbiBmaWxlIChvbiBzeXN0ZW1zIHRoYXQgc3VwcG9ydCB0aGVtKSwKK2l0IHdvdWxkIGFmZmVjdCBvbmx5IG1vZHVsZSBkaXN0cmlidXRpb25zIHByb2Nlc3NlZCBieSB5b3UuIExhc3RseSwgaWYgaXQgd2FzCit1c2VkIGFzIHRoZSA6ZmlsZTpgc2V0dXAuY2ZnYCBmb3IgYSBwYXJ0aWN1bGFyIG1vZHVsZSBkaXN0cmlidXRpb24sIGl0IHdvdWxkCithZmZlY3QgdGhhdCBkaXN0cmlidXRpb24gb25seS4KKworLi4gWFhYICIob24gc3lzdGVtcyB0aGF0IHN1cHBvcnQgdGhlbSkiIHNlZW1zIHdyb25nIGluZm8KKworSWYgeW91IHdhbnRlZCB0bywgeW91IGNvdWxkIG92ZXJyaWRlIHRoZSBkZWZhdWx0ICJidWlsZCBiYXNlIiBkaXJlY3RvcnkgYW5kCittYWtlIHRoZSA6Y29tbWFuZDpgYnVpbGRcKmAgY29tbWFuZHMgYWx3YXlzIGZvcmNpYmx5IHJlYnVpbGQgYWxsIGZpbGVzIHdpdGgKK3RoZSBmb2xsb3dpbmc6OgorCisgICBbYnVpbGRdCisgICBidWlsZC1iYXNlID0gYmxpYgorICAgZm9yY2UgPSAxCisKK3doaWNoIGNvcnJlc3BvbmRzIHRvIHRoZSBjb21tYW5kLWxpbmUgYXJndW1lbnRzOjoKKworICAgcHlzZXR1cCBydW4gYnVpbGQgLS1idWlsZC1iYXNlIGJsaWIgLS1mb3JjZQorCitleGNlcHQgdGhhdCBpbmNsdWRpbmcgdGhlIDpjb21tYW5kOmBidWlsZGAgY29tbWFuZCBvbiB0aGUgY29tbWFuZC1saW5lIG1lYW5zCit0aGF0IGNvbW1hbmQgd2lsbCBiZSBydW4uIEluY2x1ZGluZyBhIHBhcnRpY3VsYXIgY29tbWFuZCBpbiBjb25maWd1cmF0aW9uIGZpbGVzCitoYXMgbm8gc3VjaCBpbXBsaWNhdGlvbjsgaXQgb25seSBtZWFucyB0aGF0IGlmIHRoZSBjb21tYW5kIGlzIHJ1biwgdGhlIG9wdGlvbnMKK2ZvciBpdCBpbiB0aGUgY29uZmlndXJhdGlvbiBmaWxlIHdpbGwgYXBwbHkuIChUaGlzIGlzIGFsc28gdHJ1ZSBpZiB5b3UgcnVuCitvdGhlciBjb21tYW5kcyB0aGF0IGRlcml2ZSB2YWx1ZXMgZnJvbSBpdC4pCisKK1lvdSBjYW4gZmluZCBvdXQgdGhlIGNvbXBsZXRlIGxpc3Qgb2Ygb3B0aW9ucyBmb3IgYW55IGNvbW1hbmQgdXNpbmcgdGhlCis6b3B0aW9uOmAtLWhlbHBgIG9wdGlvbiwgZS5nLjo6CisKKyAgIHB5c2V0dXAgcnVuIGJ1aWxkIC0taGVscAorCithbmQgeW91IGNhbiBmaW5kIG91dCB0aGUgY29tcGxldGUgbGlzdCBvZiBnbG9iYWwgb3B0aW9ucyBieSB1c2luZworOm9wdGlvbjpgLS1oZWxwYCB3aXRob3V0IGEgY29tbWFuZDo6CisKKyAgIHB5c2V0dXAgcnVuIC0taGVscAorCitTZWUgYWxzbyB0aGUgIlJlZmVyZW5jZSIgc2VjdGlvbiBvZiB0aGUgIkRpc3RyaWJ1dGluZyBQeXRob24gTW9kdWxlcyIgbWFudWFsLgorCisuLiBYWFggbm8gbGlua3MgdG8gdGhlIHJlbGV2YW50IHNlY3Rpb24gZXhpc3QuCisKKworLi4gX3BhY2thZ2luZy1idWlsZGluZy1leHQ6CisKK0J1aWxkaW5nIGV4dGVuc2lvbnM6IHRpcHMgYW5kIHRyaWNrcworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKK1doZW5ldmVyIHBvc3NpYmxlLCBQYWNrYWdpbmcgdHJpZXMgdG8gdXNlIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIG1hZGUKK2F2YWlsYWJsZSBieSB0aGUgUHl0aG9uIGludGVycHJldGVyIHVzZWQgdG8gcnVuIGBweXNldHVwYC4KK0ZvciBleGFtcGxlLCB0aGUgc2FtZSBjb21waWxlciBhbmQgbGlua2VyIGZsYWdzIHVzZWQgdG8gY29tcGlsZSBQeXRob24gd2lsbCBhbHNvCitiZSB1c2VkIGZvciBjb21waWxpbmcgZXh0ZW5zaW9ucy4gVXN1YWxseSB0aGlzIHdpbGwgd29yayB3ZWxsLCBidXQgaW4KK2NvbXBsaWNhdGVkIHNpdHVhdGlvbnMgdGhpcyBtaWdodCBiZSBpbmFwcHJvcHJpYXRlLiBUaGlzIHNlY3Rpb24gZGlzY3Vzc2VzIGhvdwordG8gb3ZlcnJpZGUgdGhlIHVzdWFsIFBhY2thZ2luZyBiZWhhdmlvdXIuCisKKworLi4gX3BhY2thZ2luZy10d2Vhay1mbGFnczoKKworVHdlYWtpbmcgY29tcGlsZXIvbGlua2VyIGZsYWdzCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworQ29tcGlsaW5nIGEgUHl0aG9uIGV4dGVuc2lvbiB3cml0dGVuIGluIEMgb3IgQysrIHdpbGwgc29tZXRpbWVzIHJlcXVpcmUKK3NwZWNpZnlpbmcgY3VzdG9tIGZsYWdzIGZvciB0aGUgY29tcGlsZXIgYW5kIGxpbmtlciBpbiBvcmRlciB0byB1c2UgYSBwYXJ0aWN1bGFyCitsaWJyYXJ5IG9yIHByb2R1Y2UgYSBzcGVjaWFsIGtpbmQgb2Ygb2JqZWN0IGNvZGUuIFRoaXMgaXMgZXNwZWNpYWxseSB0cnVlIGlmIHRoZQorZXh0ZW5zaW9uIGhhc24ndCBiZWVuIHRlc3RlZCBvbiB5b3VyIHBsYXRmb3JtLCBvciBpZiB5b3UncmUgdHJ5aW5nIHRvCitjcm9zcy1jb21waWxlIFB5dGhvbi4KKworLi4gVE9ETyB1cGRhdGUgdG8gbmV3IHNldHVwLmNmZworCitJbiB0aGUgbW9zdCBnZW5lcmFsIGNhc2UsIHRoZSBleHRlbnNpb24gYXV0aG9yIG1pZ2h0IGhhdmUgZm9yZXNlZW4gdGhhdAorY29tcGlsaW5nIHRoZSBleHRlbnNpb25zIHdvdWxkIGJlIGNvbXBsaWNhdGVkLCBhbmQgcHJvdmlkZWQgYSA6ZmlsZTpgU2V0dXBgIGZpbGUKK2ZvciB5b3UgdG8gZWRpdC4gVGhpcyB3aWxsIGxpa2VseSBvbmx5IGJlIGRvbmUgaWYgdGhlIG1vZHVsZSBkaXN0cmlidXRpb24KK2NvbnRhaW5zIG1hbnkgc2VwYXJhdGUgZXh0ZW5zaW9uIG1vZHVsZXMsIG9yIGlmIHRoZXkgb2Z0ZW4gcmVxdWlyZSBlbGFib3JhdGUKK3NldHMgb2YgY29tcGlsZXIgZmxhZ3MgaW4gb3JkZXIgdG8gd29yay4KKworQSA6ZmlsZTpgU2V0dXBgIGZpbGUsIGlmIHByZXNlbnQsIGlzIHBhcnNlZCBpbiBvcmRlciB0byBnZXQgYSBsaXN0IG9mIGV4dGVuc2lvbnMKK3RvIGJ1aWxkLiBFYWNoIGxpbmUgaW4gYSA6ZmlsZTpgU2V0dXBgIGRlc2NyaWJlcyBhIHNpbmdsZSBtb2R1bGUuIExpbmVzIGhhdmUKK3RoZSBmb2xsb3dpbmcgc3RydWN0dXJlOjoKKworICAgbW9kdWxlIC4uLiBbc291cmNlZmlsZSAuLi5dIFtjcHBhcmcgLi4uXSBbbGlicmFyeSAuLi5dCisKKworTGV0J3MgZXhhbWluZSBlYWNoIG9mIHRoZSBmaWVsZHMgaW4gdHVybi4KKworKiAqbW9kdWxlKiBpcyB0aGUgbmFtZSBvZiB0aGUgZXh0ZW5zaW9uIG1vZHVsZSB0byBiZSBidWlsdCwgYW5kIHNob3VsZCBiZSBhCisgIHZhbGlkIFB5dGhvbiBpZGVudGlmaWVyLiBZb3UgY2FuJ3QganVzdCBjaGFuZ2UgdGhpcyBpbiBvcmRlciB0byByZW5hbWUgYSBtb2R1bGUKKyAgKGVkaXRzIHRvIHRoZSBzb3VyY2UgY29kZSB3b3VsZCBhbHNvIGJlIG5lZWRlZCksIHNvIHRoaXMgc2hvdWxkIGJlIGxlZnQgYWxvbmUuCisKKyogKnNvdXJjZWZpbGUqIGlzIGFueXRoaW5nIHRoYXQncyBsaWtlbHkgdG8gYmUgYSBzb3VyY2UgY29kZSBmaWxlLCBhdCBsZWFzdAorICBqdWRnaW5nIGJ5IHRoZSBmaWxlbmFtZS4gRmlsZW5hbWVzIGVuZGluZyBpbiA6ZmlsZTpgLmNgIGFyZSBhc3N1bWVkIHRvIGJlCisgIHdyaXR0ZW4gaW4gQywgZmlsZW5hbWVzIGVuZGluZyBpbiA6ZmlsZTpgLkNgLCA6ZmlsZTpgLmNjYCwgYW5kIDpmaWxlOmAuYysrYCBhcmUKKyAgYXNzdW1lZCB0byBiZSBDKyssIGFuZCBmaWxlbmFtZXMgZW5kaW5nIGluIDpmaWxlOmAubWAgb3IgOmZpbGU6YC5tbWAgYXJlIGFzc3VtZWQKKyAgdG8gYmUgaW4gT2JqZWN0aXZlIEMuCisKKyogKmNwcGFyZyogaXMgYW4gYXJndW1lbnQgZm9yIHRoZSBDIHByZXByb2Nlc3NvciwgIGFuZCBpcyBhbnl0aGluZyBzdGFydGluZyB3aXRoCisgIDpvcHRpb246YC1JYCwgOm9wdGlvbjpgLURgLCA6b3B0aW9uOmAtVWAgb3IgOm9wdGlvbjpgLUNgLgorCisqICpsaWJyYXJ5KiBpcyBhbnl0aGluZyBlbmRpbmcgaW4gOmZpbGU6YC5hYCBvciBiZWdpbm5pbmcgd2l0aCA6b3B0aW9uOmAtbGAgb3IKKyAgOm9wdGlvbjpgLUxgLgorCitJZiBhIHBhcnRpY3VsYXIgcGxhdGZvcm0gcmVxdWlyZXMgYSBzcGVjaWFsIGxpYnJhcnkgb24geW91ciBwbGF0Zm9ybSwgeW91IGNhbgorYWRkIGl0IGJ5IGVkaXRpbmcgdGhlIDpmaWxlOmBTZXR1cGAgZmlsZSBhbmQgcnVubmluZyBgYHB5c2V0dXAgcnVuIGJ1aWxkYGAuCitGb3IgZXhhbXBsZSwgaWYgdGhlIG1vZHVsZSBkZWZpbmVkIGJ5IHRoZSBsaW5lIDo6CisKKyAgIGZvbyBmb29tb2R1bGUuYworCittdXN0IGJlIGxpbmtlZCB3aXRoIHRoZSBtYXRoIGxpYnJhcnkgOmZpbGU6YGxpYm0uYWAgb24geW91ciBwbGF0Zm9ybSwgc2ltcGx5IGFkZAorOm9wdGlvbjpgLWxtYCB0byB0aGUgbGluZTo6CisKKyAgIGZvbyBmb29tb2R1bGUuYyAtbG0KKworQXJiaXRyYXJ5IHN3aXRjaGVzIGludGVuZGVkIGZvciB0aGUgY29tcGlsZXIgb3IgdGhlIGxpbmtlciBjYW4gYmUgc3VwcGxpZWQgd2l0aAordGhlIDpvcHRpb246YC1YY29tcGlsZXJgICphcmcqIGFuZCA6b3B0aW9uOmAtWGxpbmtlcmAgKmFyZyogb3B0aW9uczo6CisKKyAgIGZvbyBmb29tb2R1bGUuYyAtWGNvbXBpbGVyIC1vMzIgLVhsaW5rZXIgLXNoYXJlZCAtbG0KKworVGhlIG5leHQgb3B0aW9uIGFmdGVyIDpvcHRpb246YC1YY29tcGlsZXJgIGFuZCA6b3B0aW9uOmAtWGxpbmtlcmAgd2lsbCBiZQorYXBwZW5kZWQgdG8gdGhlIHByb3BlciBjb21tYW5kIGxpbmUsIHNvIGluIHRoZSBhYm92ZSBleGFtcGxlIHRoZSBjb21waWxlciB3aWxsCitiZSBwYXNzZWQgdGhlIDpvcHRpb246YC1vMzJgIG9wdGlvbiwgYW5kIHRoZSBsaW5rZXIgd2lsbCBiZSBwYXNzZWQKKzpvcHRpb246YC1zaGFyZWRgLiBJZiBhIGNvbXBpbGVyIG9wdGlvbiByZXF1aXJlcyBhbiBhcmd1bWVudCwgeW91J2xsIGhhdmUgdG8KK3N1cHBseSBtdWx0aXBsZSA6b3B0aW9uOmAtWGNvbXBpbGVyYCBvcHRpb25zOyBmb3IgZXhhbXBsZSwgdG8gcGFzcyBgYC14IGMrK2BgCit0aGUgOmZpbGU6YFNldHVwYCBmaWxlIHdvdWxkIGhhdmUgdG8gY29udGFpbiBgYC1YY29tcGlsZXIgLXggLVhjb21waWxlciBjKytgYC4KKworQ29tcGlsZXIgZmxhZ3MgY2FuIGFsc28gYmUgc3VwcGxpZWQgdGhyb3VnaCBzZXR0aW5nIHRoZSA6ZW52dmFyOmBDRkxBR1NgCitlbnZpcm9ubWVudCB2YXJpYWJsZS4gSWYgc2V0LCB0aGUgY29udGVudHMgb2YgOmVudnZhcjpgQ0ZMQUdTYCB3aWxsIGJlIGFkZGVkIHRvCit0aGUgY29tcGlsZXIgZmxhZ3Mgc3BlY2lmaWVkIGluIHRoZSAgOmZpbGU6YFNldHVwYCBmaWxlLgorCisKKy4uIF9wYWNrYWdpbmctbm9uLW1zLWNvbXBpbGVyczoKKworVXNpbmcgbm9uLU1pY3Jvc29mdCBjb21waWxlcnMgb24gV2luZG93cworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisuLiBzZWN0aW9uYXV0aG9yOjogUmVuZSBMaWVic2NoZXIgPFIuTGllYnNjaGVyQGdteC5kZT4KKworCisKK0JvcmxhbmQvQ29kZUdlYXIgQysrCiteXl5eXl5eXl5eXl5eXl5eXl5eXgorCitUaGlzIHN1YnNlY3Rpb24gZGVzY3JpYmVzIHRoZSBuZWNlc3Nhcnkgc3RlcHMgdG8gdXNlIFBhY2thZ2luZyB3aXRoIHRoZSBCb3JsYW5kCitDKysgY29tcGlsZXIgdmVyc2lvbiA1LjUuIEZpcnN0IHlvdSBoYXZlIHRvIGtub3cgdGhhdCBCb3JsYW5kJ3Mgb2JqZWN0IGZpbGUKK2Zvcm1hdCAoT01GKSBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgZm9ybWF0IHVzZWQgYnkgdGhlIFB5dGhvbiB2ZXJzaW9uIHlvdSBjYW4KK2Rvd25sb2FkIGZyb20gdGhlIFB5dGhvbiBvciBBY3RpdmVTdGF0ZSBXZWIgc2l0ZS4gKFB5dGhvbiBpcyBidWlsdCB3aXRoCitNaWNyb3NvZnQgVmlzdWFsIEMrKywgd2hpY2ggdXNlcyBDT0ZGIGFzIHRoZSBvYmplY3QgZmlsZSBmb3JtYXQuKSBGb3IgdGhpcworcmVhc29uLCB5b3UgaGF2ZSB0byBjb252ZXJ0IFB5dGhvbidzIGxpYnJhcnkgOmZpbGU6YHB5dGhvbjI1LmxpYmAgaW50byB0aGUKK0JvcmxhbmQgZm9ybWF0LiBZb3UgY2FuIGRvIHRoaXMgYXMgZm9sbG93czoKKworLi4gU2hvdWxkIHdlIG1lbnRpb24gdGhhdCB1c2VycyBoYXZlIHRvIGNyZWF0ZSBjZmctZmlsZXMgZm9yIHRoZSBjb21waWxlcj8KKy4uIHNlZSBhbHNvIGh0dHA6Ly9jb21tdW5pdHkuYm9ybGFuZC5jb20vYXJ0aWNsZS8wLDE0MTAsMjEyMDUsMDAuaHRtbAorCis6OgorCisgICBjb2ZmMm9tZiBweXRob24yNS5saWIgcHl0aG9uMjVfYmNwcC5saWIKKworVGhlIDpmaWxlOmBjb2ZmMm9tZmAgcHJvZ3JhbSBjb21lcyB3aXRoIHRoZSBCb3JsYW5kIGNvbXBpbGVyLiBUaGUgZmlsZQorOmZpbGU6YHB5dGhvbjI1LmxpYmAgaXMgaW4gdGhlIDpmaWxlOmBMaWJzYCBkaXJlY3Rvcnkgb2YgeW91ciBQeXRob24KK2luc3RhbGxhdGlvbi4gSWYgeW91ciBleHRlbnNpb24gdXNlcyBvdGhlciBsaWJyYXJpZXMgKHpsaWIsIC4uLikgeW91IGhhdmUgdG8KK2NvbnZlcnQgdGhlbSB0b28uCisKK1RoZSBjb252ZXJ0ZWQgZmlsZXMgaGF2ZSB0byByZXNpZGUgaW4gdGhlIHNhbWUgZGlyZWN0b3JpZXMgYXMgdGhlIG5vcm1hbAorbGlicmFyaWVzLgorCitIb3cgZG9lcyBQYWNrYWdpbmcgbWFuYWdlIHRvIHVzZSB0aGVzZSBsaWJyYXJpZXMgd2l0aCB0aGVpciBjaGFuZ2VkIG5hbWVzPyAgSWYKK3RoZSBleHRlbnNpb24gbmVlZHMgYSBsaWJyYXJ5IChlZy4gOmZpbGU6YGZvb2ApIFBhY2thZ2luZyBjaGVja3MgZmlyc3QgaWYgaXQKK2ZpbmRzIGEgbGlicmFyeSB3aXRoIHN1ZmZpeCA6ZmlsZTpgX2JjcHBgIChlZy4gOmZpbGU6YGZvb19iY3BwLmxpYmApIGFuZCB0aGVuCit1c2VzIHRoaXMgbGlicmFyeS4gSW4gdGhlIGNhc2UgaXQgZG9lc24ndCBmaW5kIHN1Y2ggYSBzcGVjaWFsIGxpYnJhcnkgaXQgdXNlcwordGhlIGRlZmF1bHQgbmFtZSAoOmZpbGU6YGZvby5saWJgLikgWyNdXworCitUbyBsZXQgUGFja2FnaW5nIGNvbXBpbGUgeW91ciBleHRlbnNpb24gd2l0aCBCb3JsYW5kLCBDKysgeW91IG5vdyBoYXZlIHRvCit0eXBlOjoKKworICAgcHlzZXR1cCBydW4gYnVpbGQgLS1jb21waWxlciBiY3BwCisKK0lmIHlvdSB3YW50IHRvIHVzZSB0aGUgQm9ybGFuZCBDKysgY29tcGlsZXIgYXMgdGhlIGRlZmF1bHQsIHlvdSBjb3VsZCBzcGVjaWZ5Cit0aGlzIGluIHlvdXIgcGVyc29uYWwgb3Igc3lzdGVtLXdpZGUgY29uZmlndXJhdGlvbiBmaWxlIGZvciBQYWNrYWdpbmcgKHNlZQorc2VjdGlvbiA6cmVmOmBwYWNrYWdpbmctY29uZmlnLWZpbGVzYC4pCisKKworLi4gc2VlYWxzbzo6CisKKyAgIGBDKytCdWlsZGVyIENvbXBpbGVyIDxodHRwOi8vd3d3LmNvZGVnZWFyLmNvbS9kb3dubG9hZHMvZnJlZS9jcHBidWlsZGVyPmBfCisgICAgICBJbmZvcm1hdGlvbiBhYm91dCB0aGUgZnJlZSBDKysgY29tcGlsZXIgZnJvbSBCb3JsYW5kLCBpbmNsdWRpbmcgbGlua3MgdG8gdGhlCisgICAgICBkb3dubG9hZCBwYWdlcy4KKworICAgYENyZWF0aW5nIFB5dGhvbiBFeHRlbnNpb25zIFVzaW5nIEJvcmxhbmQncyBGcmVlIENvbXBpbGVyIDxodHRwOi8vd3d3LmN5YmVydXMuY2Evfmdfd2lsbC9weUV4dGVuREwuc2h0bWw+YF8KKyAgICAgIERvY3VtZW50IGRlc2NyaWJpbmcgaG93IHRvIHVzZSBCb3JsYW5kJ3MgZnJlZSBjb21tYW5kLWxpbmUgQysrIGNvbXBpbGVyIHRvIGJ1aWxkCisgICAgICBQeXRob24uCisKKworR05VIEMgLyBDeWd3aW4gLyBNaW5HVworXl5eXl5eXl5eXl5eXl5eXl5eXl5eXgorCitUaGlzIHNlY3Rpb24gZGVzY3JpYmVzIHRoZSBuZWNlc3Nhcnkgc3RlcHMgdG8gdXNlIFBhY2thZ2luZyB3aXRoIHRoZSBHTlUgQy9DKysKK2NvbXBpbGVycyBpbiB0aGVpciBDeWd3aW4gYW5kIE1pbkdXIGRpc3RyaWJ1dGlvbnMuIFsjXV8gRm9yIGEgUHl0aG9uIGludGVycHJldGVyCit0aGF0IHdhcyBidWlsdCB3aXRoIEN5Z3dpbiwgZXZlcnl0aGluZyBzaG91bGQgd29yayB3aXRob3V0IGFueSBvZiB0aGVzZQorZm9sbG93aW5nIHN0ZXBzLgorCitOb3QgYWxsIGV4dGVuc2lvbnMgY2FuIGJlIGJ1aWx0IHdpdGggTWluR1cgb3IgQ3lnd2luLCBidXQgbWFueSBjYW4uIEV4dGVuc2lvbnMKK21vc3QgbGlrZWx5IHRvIG5vdCB3b3JrIGFyZSB0aG9zZSB0aGF0IHVzZSBDKysgb3IgZGVwZW5kIG9uIE1pY3Jvc29mdCBWaXN1YWwgQworZXh0ZW5zaW9ucy4KKworVG8gbGV0IFBhY2thZ2luZyBjb21waWxlIHlvdXIgZXh0ZW5zaW9uIHdpdGggQ3lnd2luLCB5b3UgaGF2ZSB0byB0eXBlOjoKKworICAgcHlzZXR1cCBydW4gYnVpbGQgLS1jb21waWxlcj1jeWd3aW4KKworYW5kIGZvciBDeWd3aW4gaW4gbm8tY3lnd2luIG1vZGUgWyNdXyBvciBmb3IgTWluR1csIHR5cGU6OgorCisgICBweXNldHVwIHJ1biBidWlsZCAtLWNvbXBpbGVyPW1pbmd3MzIKKworSWYgeW91IHdhbnQgdG8gdXNlIGFueSBvZiB0aGVzZSBvcHRpb25zL2NvbXBpbGVycyBhcyBkZWZhdWx0LCB5b3Ugc2hvdWxkCitjb25zaWRlciB3cml0aW5nIGl0IGluIHlvdXIgcGVyc29uYWwgb3Igc3lzdGVtLXdpZGUgY29uZmlndXJhdGlvbiBmaWxlIGZvcgorUGFja2FnaW5nIChzZWUgc2VjdGlvbiA6cmVmOmBwYWNrYWdpbmctY29uZmlnLWZpbGVzYC4pCisKK09sZGVyIFZlcnNpb25zIG9mIFB5dGhvbiBhbmQgTWluR1cKKyIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIKK1RoZSBmb2xsb3dpbmcgaW5zdHJ1Y3Rpb25zIG9ubHkgYXBwbHkgaWYgeW91J3JlIHVzaW5nIGEgdmVyc2lvbiBvZiBQeXRob24KK2luZmVyaW9yIHRvIDIuNC4xIHdpdGggYSBNaW5HVyBpbmZlcmlvciB0byAzLjAuMCAod2l0aAorOmZpbGU6YGJpbnV0aWxzLTIuMTMuOTAtMjAwMzAxMTEtMWApLgorCitUaGVzZSBjb21waWxlcnMgcmVxdWlyZSBzb21lIHNwZWNpYWwgbGlicmFyaWVzLiBUaGlzIHRhc2sgaXMgbW9yZSBjb21wbGV4IHRoYW4KK2ZvciBCb3JsYW5kJ3MgQysrLCBiZWNhdXNlIHRoZXJlIGlzIG5vIHByb2dyYW0gdG8gY29udmVydCB0aGUgbGlicmFyeS4gRmlyc3QKK3lvdSBoYXZlIHRvIGNyZWF0ZSBhIGxpc3Qgb2Ygc3ltYm9scyB3aGljaCB0aGUgUHl0aG9uIERMTCBleHBvcnRzLiAoWW91IGNhbiBmaW5kCithIGdvb2QgcHJvZ3JhbSBmb3IgdGhpcyB0YXNrIGF0CitodHRwOi8vd3d3LmVtbWVzdGVjaC5jb20vc29mdHdhcmUvcGV4cG9ydHMtMC40My9kb3dubG9hZF9wZXhwb3J0cy5odG1sKS4KKworLi4gSSBkb24ndCB1bmRlcnN0YW5kIHdoYXQgdGhlIG5leHQgbGluZSBtZWFucy4gLS1hbWsKKyAgIChpbmNsdXNpdmUgdGhlIHJlZmVyZW5jZXMgb24gZGF0YSBzdHJ1Y3R1cmVzLikKKworOjoKKworICAgcGV4cG9ydHMgcHl0aG9uMjUuZGxsID4gcHl0aG9uMjUuZGVmCisKK1RoZSBsb2NhdGlvbiBvZiBhbiBpbnN0YWxsZWQgOmZpbGU6YHB5dGhvbjI1LmRsbGAgd2lsbCBkZXBlbmQgb24gdGhlCitpbnN0YWxsYXRpb24gb3B0aW9ucyBhbmQgdGhlIHZlcnNpb24gYW5kIGxhbmd1YWdlIG9mIFdpbmRvd3MuIEluIGEgImp1c3QgZm9yCittZSIgaW5zdGFsbGF0aW9uLCBpdCB3aWxsIGFwcGVhciBpbiB0aGUgcm9vdCBvZiB0aGUgaW5zdGFsbGF0aW9uIGRpcmVjdG9yeS4gSW4KK2Egc2hhcmVkIGluc3RhbGxhdGlvbiwgaXQgd2lsbCBiZSBsb2NhdGVkIGluIHRoZSBzeXN0ZW0gZGlyZWN0b3J5LgorCitUaGVuIHlvdSBjYW4gY3JlYXRlIGZyb20gdGhlc2UgaW5mb3JtYXRpb24gYW4gaW1wb3J0IGxpYnJhcnkgZm9yIGdjYy4gOjoKKworICAgL2N5Z3dpbi9iaW4vZGxsdG9vbCAtLWRsbG5hbWUgcHl0aG9uMjUuZGxsIC0tZGVmIHB5dGhvbjI1LmRlZiAtLW91dHB1dC1saWIgbGlicHl0aG9uMjUuYQorCitUaGUgcmVzdWx0aW5nIGxpYnJhcnkgaGFzIHRvIGJlIHBsYWNlZCBpbiB0aGUgc2FtZSBkaXJlY3RvcnkgYXMKKzpmaWxlOmBweXRob24yNS5saWJgLiAoU2hvdWxkIGJlIHRoZSA6ZmlsZTpgbGlic2AgZGlyZWN0b3J5IHVuZGVyIHlvdXIgUHl0aG9uCitpbnN0YWxsYXRpb24gZGlyZWN0b3J5LikKKworSWYgeW91ciBleHRlbnNpb24gdXNlcyBvdGhlciBsaWJyYXJpZXMgKHpsaWIsLi4uKSB5b3UgbWlnaHQgaGF2ZSB0byBjb252ZXJ0Cit0aGVtIHRvby4gVGhlIGNvbnZlcnRlZCBmaWxlcyBoYXZlIHRvIHJlc2lkZSBpbiB0aGUgc2FtZSBkaXJlY3RvcmllcyBhcyB0aGUKK25vcm1hbCBsaWJyYXJpZXMgZG8uCisKKworLi4gc2VlYWxzbzo6CisKKyAgIGBCdWlsZGluZyBQeXRob24gbW9kdWxlcyBvbiBNUyBXaW5kb3dzIHBsYXRmb3JtIHdpdGggTWluR1cgPGh0dHA6Ly93d3cuem9wZS5vcmcvTWVtYmVycy9hbHMvdGlwcy93aW4zMl9taW5nd19tb2R1bGVzPmBfCisgICAgICBJbmZvcm1hdGlvbiBhYm91dCBidWlsZGluZyB0aGUgcmVxdWlyZWQgbGlicmFyaWVzIGZvciB0aGUgTWluR1cKKyAgICAgIGVudmlyb25tZW50LgorCisKKy4uIHJ1YnJpYzo6IEZvb3Rub3RlcworCisuLiBbI10gVGhpcyBhbHNvIG1lYW5zIHlvdSBjb3VsZCByZXBsYWNlIGFsbCBleGlzdGluZyBDT0ZGLWxpYnJhcmllcyB3aXRoCisgICBPTUYtbGlicmFyaWVzIG9mIHRoZSBzYW1lIG5hbWUuCisKKy4uIFsjXSBDaGVjayBodHRwOi8vc291cmNlcy5yZWRoYXQuY29tL2N5Z3dpbi8gYW5kIGh0dHA6Ly93d3cubWluZ3cub3JnLyBmb3IKKyAgIG1vcmUgaW5mb3JtYXRpb24uCisKKy4uIFsjXSBUaGVuIHlvdSBoYXZlIG5vIFBPU0lYIGVtdWxhdGlvbiBhdmFpbGFibGUsIGJ1dCB5b3UgYWxzbyBkb24ndCBuZWVkCisgICA6ZmlsZTpgY3lnd2luMS5kbGxgLgpkaWZmIC0tZ2l0IGEvRG9jL2luc3RhbGwvcHlzZXR1cC1jb25maWcucnN0IGIvRG9jL2luc3RhbGwvcHlzZXR1cC1jb25maWcucnN0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE0NzNiZmUKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2MvaW5zdGFsbC9weXNldHVwLWNvbmZpZy5yc3QKQEAgLTAsMCArMSw0NCBAQAorLi4gX3BhY2thZ2luZy1weXNldHVwLWNvbmZpZzoKKworPT09PT09PT09PT09PT09PT09PT09CitQeXNldHVwIENvbmZpZ3VyYXRpb24KKz09PT09PT09PT09PT09PT09PT09PQorCitQeXNldHVwIHN1cHBvcnRzIHR3byBjb25maWd1cmF0aW9uIGZpbGVzOiA6ZmlsZTpgLnB5cGlyY2AgYW5kIDpmaWxlOmBwYWNrYWdpbmcuY2ZnYC4KKworLi4gRklYTUUgaW50ZWdyYXRlIHdpdGggY29uZmlnZmlsZSBpbnN0ZWFkIG9mIGR1cGxpY2F0aW5nCisKK0NvbmZpZ3VyaW5nIGluZGV4ZXMKKy0tLS0tLS0tLS0tLS0tLS0tLS0KKworWW91IGNhbiBjb25maWd1cmUgYWRkaXRpb25hbCBpbmRleGVzIGluIDpmaWxlOmAucHlwaXJjYCB0byBiZSB1c2VkIGZvciBpbmRleC1yZWxhdGVkCitvcGVyYXRpb25zLiBCeSBkZWZhdWx0LCBhbGwgY29uZmlndXJlZCBpbmRleC1zZXJ2ZXJzIGFuZCBwYWNrYWdlLXNlcnZlcnMgd2lsbCBiZSB1c2VkCitpbiBhbiBhZGRpdGl2ZSBmYXNoaW9uLiBUbyBsaW1pdCBvcGVyYXRpb25zIHRvIHNwZWNpZmljIGluZGV4ZXMsIHVzZSB0aGUgOm9wdGlvbjpgLS1pbmRleGAKK2FuZCA6b3B0aW9uOmAtLXBhY2thZ2Utc2VydmVyIG9wdGlvbnNgOjoKKworICAkIHB5c2V0dXAgaW5zdGFsbCAtLWluZGV4IHB5cGkgLS1wYWNrYWdlLXNlcnZlciBkamFuZ28gc29tZS5wcm9qZWN0CisKK0FkZGluZyBpbmRleGVzIHRvIDpmaWxlOmAucHlwaXJjYDo6CisKKyAgW3BhY2thZ2luZ10KKyAgaW5kZXgtc2VydmVycyA9CisgICAgICBweXBpCisgICAgICBvdGhlcgorCisgIHBhY2thZ2Utc2VydmVycyA9CisgICAgICBkamFuZ28KKworICBbcHlwaV0KKyAgICAgIHJlcG9zaXRvcnk6IDxyZXBvc2l0b3J5LXVybD4KKyAgICAgIHVzZXJuYW1lOiA8dXNlcm5hbWU+CisgICAgICBwYXNzd29yZDogPHBhc3N3b3JkPgorCisgIFtvdGhlcl0KKyAgICAgIHJlcG9zaXRvcnk6IDxyZXBvc2l0b3J5LXVybD4KKyAgICAgIHVzZXJuYW1lOiA8dXNlcm5hbWU+CisgICAgICBwYXNzd29yZDogPHBhc3N3b3JkPgorCisgIFtkamFuZ29dCisgICAgICByZXBvc2l0b3J5OiA8cmVwb3NpdG9yeS11cmw+CisgICAgICB1c2VybmFtZTogPHVzZXJuYW1lPgorICAgICAgcGFzc3dvcmQ6IDxwYXNzd29yZD4KZGlmZiAtLWdpdCBhL0RvYy9pbnN0YWxsL3B5c2V0dXAtc2VydmVycy5yc3QgYi9Eb2MvaW5zdGFsbC9weXNldHVwLXNlcnZlcnMucnN0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM2MTA2ZGUKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2MvaW5zdGFsbC9weXNldHVwLXNlcnZlcnMucnN0CkBAIC0wLDAgKzEsNjEgQEAKKy4uIF9wYWNrYWdpbmctcHlzZXR1cC1zZXJ2ZXJzOgorCis9PT09PT09PT09PT09PT0KK1BhY2thZ2UgU2VydmVycworPT09PT09PT09PT09PT09CisKK1B5c2V0dXAgc3VwcG9ydHMgaW5zdGFsbGluZyBQeXRob24gcGFja2FnZXMgZnJvbSAqUGFja2FnZSBTZXJ2ZXJzKiBpbiBhZGRpdGlvbgordG8gUHlQSSBpbmRleGVzIGFuZCBtaXJyb3JzLgorCitQYWNrYWdlIFNlcnZlcnMgYXJlIHNpbXBsZSBkaXJlY3RvcnkgbGlzdGluZ3Mgb2YgUHl0aG9uIGRpc3RyaWJ1dGlvbnMuIERpcmVjdG9yaWVzCitjYW4gYmUgc2VydmVkIHZpYSBIVFRQIG9yIGEgbG9jYWwgZmlsZSBzeXN0ZW0uIFRoaXMgaXMgdXNlZnVsIHdoZW4geW91IHdhbnQgdG8KK2R1bXAgc291cmNlIGRpc3RyaWJ1dGlvbnMgaW4gYSBkaXJlY3RvcnkgYW5kIG5vdCB3b3JyeSBhYm91dCB0aGUgZnVsbCBpbmRleCBzdHJ1Y3R1cmUuCisKK1NlcnZpbmcgZGlzdHJpYnV0aW9ucyBmcm9tIEFwYWNoZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCis6OgorCisgICAkIG1rZGlyIC1wIC92YXIvd3d3L2h0bWwvcHl0aG9uL2Rpc3RyaWJ1dGlvbnMKKyAgICQgY3AgKi50YXIuZ3ogL3Zhci93d3cvaHRtbC9weXRob24vZGlzdHJpYnV0aW9ucy8KKworICAgPFZpcnR1YWxIb3N0IHB5dGhvbi5leGFtcGxlLm9yZzo4MD4KKyAgICAgICBTZXJ2ZXJBZG1pbiB3ZWJtYXN0ZXJAZG9tYWluLmNvbQorICAgICAgIERvY3VtZW50Um9vdCAiL3Zhci93d3cvaHRtbC9weXRob24iCisgICAgICAgU2VydmVyTmFtZSBweXRob24uZXhhbXBsZS5vcmcKKyAgICAgICBFcnJvckxvZyBsb2dzL3B5dGhvbi5leGFtcGxlLm9yZy1lcnJvci5sb2cKKyAgICAgICBDdXN0b21Mb2cgbG9ncy9weXRob24uZXhhbXBsZS5vcmctYWNjZXNzLmxvZyBjb21tb24KKyAgICAgICBPcHRpb25zIEluZGV4ZXMgRm9sbG93U3ltTGlua3MgTXVsdGlWaWV3cworICAgICAgIERpcmVjdG9yeUluZGV4IGluZGV4Lmh0bWwgaW5kZXguaHRtCisKKyAgICAgICA8RGlyZWN0b3J5ICIvdmFyL3d3dy9odG1sL3B5dGhvbi9kaXN0cmlidXRpb25zIj4KKyAgICAgICAgICAgT3B0aW9ucyBJbmRleGVzIEZvbGxvd1N5bUxpbmtzIE11bHRpVmlld3MKKyAgICAgICAgICAgT3JkZXIgYWxsb3csZGVueQorICAgICAgICAgICBBbGxvdyBmcm9tIGFsbAorICAgICAgIDwvRGlyZWN0b3J5PgorICAgPC9WaXJ0dWFsSG9zdD4KKworQWRkIHRoZSBBcGFjaGUgYmFzZWQgZGlzdHJpYnV0aW9uIHNlcnZlciB0byA6ZmlsZTpgLnB5cGlyY2A6OgorCisgICBbcGFja2FnaW5nXQorICAgcGFja2FnZS1zZXJ2ZXJzID0KKyAgICAgICBhcGFjaGUKKworICAgW2FwYWNoZV0KKyAgIHJlcG9zaXRvcnk6IGh0dHA6Ly9weXRob24uZXhhbXBsZS5vcmcvZGlzdHJpYnV0aW9ucy8KKworCitTZXJ2aW5nIGRpc3RyaWJ1dGlvbnMgZnJvbSBhIGZpbGUgc3lzdGVtCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCis6OgorCisgICAkIG1rZGlyIC1wIC9kYXRhL3B5dGhvbi9kaXN0cmlidXRpb25zCisgICAkIGNwICoudGFyLmd6IC9kYXRhL3B5dGhvbi9kaXN0cmlidXRpb25zLworCitBZGQgdGhlIGRpcmVjdG9yeSB0byA6ZmlsZTpgLnB5cGlyY2A6OgorCisgICBbcGFja2FnaW5nXQorICAgcGFja2FnZS1zZXJ2ZXJzID0KKyAgICAgICBsb2NhbAorCisgICBbbG9jYWxdCisgICByZXBvc2l0b3J5OiBmaWxlOi8vL2RhdGEvcHl0aG9uL2Rpc3RyaWJ1dGlvbnMvCmRpZmYgLS1naXQgYS9Eb2MvaW5zdGFsbC9weXNldHVwLnJzdCBiL0RvYy9pbnN0YWxsL3B5c2V0dXAucnN0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ0NzJjMjQKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2MvaW5zdGFsbC9weXNldHVwLnJzdApAQCAtMCwwICsxLDE2NCBAQAorLi4gX3BhY2thZ2luZy1weXNldHVwOgorCis9PT09PT09PT09PT09PT09CitQeXNldHVwIFR1dG9yaWFsCis9PT09PT09PT09PT09PT09CisKK0dldHRpbmcgc3RhcnRlZAorLS0tLS0tLS0tLS0tLS0tCisKK1B5c2V0dXAgaXMgYSBzaW1wbGUgc2NyaXB0IHRoYXQgc3VwcG9ydHMgdGhlIGZvbGxvd2luZyBmZWF0dXJlczoKKworLSBpbnN0YWxsLCByZW1vdmUsIGxpc3QsIGFuZCB2ZXJpZnkgUHl0aG9uIHBhY2thZ2VzOworLSBzZWFyY2ggZm9yIGF2YWlsYWJsZSBwYWNrYWdlcyBvbiBQeVBJIG9yIGFueSAqU2ltcGxlIEluZGV4KjsKKy0gdmVyaWZ5IGluc3RhbGxlZCBwYWNrYWdlcyAobWQ1c3VtLCBpbnN0YWxsZWQgZmlsZXMsIHZlcnNpb24pLgorCisKK0ZpbmRpbmcgb3V0IHdoYXQncyBpbnN0YWxsZWQKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworUHlzZXR1cCBtYWtlcyBpdCBlYXN5IHRvIGZpbmQgb3V0IHdoYXQgUHl0aG9uIHBhY2thZ2VzIGFyZSBpbnN0YWxsZWQ6OgorCisgICAkIHB5c2V0dXAgbGlzdCB2aXJ0dWFsZW52CisgICAndmlydHVhbGVudicgMS42IGF0ICcvb3B0L3B5dGhvbjMuMy9saWIvcHl0aG9uMy4zL3NpdGUtcGFja2FnZXMvdmlydHVhbGVudi0xLjYtcHkzLjMuZWdnLWluZm8nCisKKyAgICQgcHlzZXR1cCBsaXN0CisgICAncHl2ZXJpZnknIDAuOC4xIGF0ICcvb3B0L3B5dGhvbjMuMy9saWIvcHl0aG9uMy4zL3NpdGUtcGFja2FnZXMvcHl2ZXJpZnktMC44LjEuZGlzdC1pbmZvJworICAgJ3ZpcnR1YWxlbnYnIDEuNiBhdCAnL29wdC9weXRob24zLjMvbGliL3B5dGhvbjMuMy9zaXRlLXBhY2thZ2VzL3ZpcnR1YWxlbnYtMS42LXB5My4zLmVnZy1pbmZvJworICAgLi4uCisKKworSW5zdGFsbGluZyBhIGRpc3RyaWJ1dGlvbgorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitQeXNldHVwIGNhbiBpbnN0YWxsIGEgUHl0aG9uIHByb2plY3QgZnJvbSB0aGUgZm9sbG93aW5nIHNvdXJjZXM6CisKKy0gUHlQSSBhbmQgU2ltcGxlIEluZGV4ZXM7CistIHNvdXJjZSBkaXJlY3RvcmllcyBjb250YWluaW5nIGEgdmFsaWQgOmZpbGU6YHNldHVwLnB5YCBvciA6ZmlsZTpgc2V0dXAuY2ZnYDsKKy0gZGlzdHJpYnV0aW9uIHNvdXJjZSBhcmNoaXZlcyAoOmZpbGU6YHByb2plY3QtMS4wLnRhci5nemAsIDpmaWxlOmBwcm9qZWN0LTEuMC56aXBgKTsKKy0gSFRUUCAoaHR0cDovL2hvc3QvcGFja2FnZXMvcHJvamVjdC0xLjAudGFyLmd6KS4KKworCitJbnN0YWxsaW5nIGZyb20gUHlQSSBhbmQgU2ltcGxlIEluZGV4ZXM6OgorCisgICAkIHB5c2V0dXAgaW5zdGFsbCBwcm9qZWN0CisgICAkIHB5c2V0dXAgaW5zdGFsbCBwcm9qZWN0PT0xLjAKKworSW5zdGFsbGluZyBmcm9tIGEgZGlzdHJpYnV0aW9uIHNvdXJjZSBhcmNoaXZlOjoKKworICAgJCBweXNldHVwIGluc3RhbGwgcHJvamVjdC0xLjAudGFyLmd6CisKK0luc3RhbGxpbmcgZnJvbSBhIHNvdXJjZSBkaXJlY3RvcnkgY29udGFpbmluZyBhIHZhbGlkIDpmaWxlOmBzZXR1cC5weWAgb3IKKzpmaWxlOmBzZXR1cC5jZmdgOjoKKworICAgJCBjZCBwYXRoL3RvL3NvdXJjZS9kaXJlY3RvcnkKKyAgICQgcHlzZXR1cCBpbnN0YWxsCisKKyAgICQgcHlzZXR1cCBpbnN0YWxsIHBhdGgvdG8vc291cmNlL2RpcmVjdG9yeQorCitJbnN0YWxsaW5nIGZyb20gSFRUUDo6CisKKyAgICQgcHlzZXR1cCBpbnN0YWxsIGh0dHA6Ly9ob3N0L3BhY2thZ2VzL3Byb2plY3QtMS4wLnRhci5negorCisKK1JldHJpZXZpbmcgbWV0YWRhdGEKKy0tLS0tLS0tLS0tLS0tLS0tLS0KKworWW91IGNhbiBnYXRoZXIgbWV0YWRhdGEgZnJvbSB0d28gc291cmNlcywgYSBwcm9qZWN0J3Mgc291cmNlIGRpcmVjdG9yeSBvciBhbgoraW5zdGFsbGVkIGRpc3RyaWJ1dGlvbi4gVGhlIGBweXNldHVwIG1ldGFkYXRhYCBjb21tYW5kIGNhbiByZXRyaWV2ZSBvbmUgb3IKK21vcmUgbWV0YWRhdGEgZmllbGRzIHVzaW5nIHRoZSBgLWZgIG9wdGlvbiBhbmQgYSBtZXRhZGF0YSBmaWVsZCBhcyB0aGUKK2FyZ3VtZW50LiA6OgorCisgICAkIHB5c2V0dXAgbWV0YWRhdGEgdmlydHVhbGVudiAtZiB2ZXJzaW9uIC1mIG5hbWUKKyAgIFZlcnNpb246CisgICAgICAgMS42CisgICBOYW1lOgorICAgICAgIHZpcnR1YWxlbnYKKworICAgJCBweXNldHVwIG1ldGFkYXRhIHZpcnR1YWxlbnYKKyAgIE1ldGFkYXRhLVZlcnNpb246CisgICAgICAgMS4wCisgICBOYW1lOgorICAgICAgIHZpcnR1YWxlbnYKKyAgIFZlcnNpb246CisgICAgICAgMS42CisgICBQbGF0Zm9ybToKKyAgICAgICBVTktOT1dOCisgICBTdW1tYXJ5OgorICAgICAgIFZpcnR1YWwgUHl0aG9uIEVudmlyb25tZW50IGJ1aWxkZXIKKyAgIC4uLgorCisuLiBzZWVhbHNvOjoKKworICAgVGhlcmUgYXJlIHRocmVlIG1ldGFkYXRhIHZlcnNpb25zLCAxLjAsIDEuMSwgYW5kIDEuMi4gVGhlIGZvbGxvd2luZyBQRVBzCisgICBkZXNjcmliZSBzcGVjaWZpY3Mgb2YgdGhlIGZpZWxkIG5hbWVzLCBhbmQgdGhlaXIgc2VtYW50aWNzIGFuZCB1c2FnZS4gIDEuMAorICAgOlBFUDpgMjQxYCwgMS4xIDpQRVA6YDMxNGAsIGFuZCAxLjIgOlBFUDpgMzQ1YAorCisKK1JlbW92aW5nIGEgZGlzdHJpYnV0aW9uCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitZb3UgY2FuIHJlbW92ZSBvbmUgb3IgbW9yZSBpbnN0YWxsZWQgZGlzdHJpYnV0aW9ucyB1c2luZyB0aGUgYHB5c2V0dXAgcmVtb3ZlYAorY29tbWFuZDo6CisKKyAgICQgcHlzZXR1cCByZW1vdmUgdmlydHVhbGVudgorICAgcmVtb3ZpbmcgJ3ZpcnR1YWxlbnYnOgorICAgICAvb3B0L3B5dGhvbjMuMy9saWIvcHl0aG9uMy4zL3NpdGUtcGFja2FnZXMvdmlydHVhbGVudi0xLjYtcHkzLjMuZWdnLWluZm8vZGVwZW5kZW5jeV9saW5rcy50eHQKKyAgICAgL29wdC9weXRob24zLjMvbGliL3B5dGhvbjMuMy9zaXRlLXBhY2thZ2VzL3ZpcnR1YWxlbnYtMS42LXB5My4zLmVnZy1pbmZvL2VudHJ5X3BvaW50cy50eHQKKyAgICAgL29wdC9weXRob24zLjMvbGliL3B5dGhvbjMuMy9zaXRlLXBhY2thZ2VzL3ZpcnR1YWxlbnYtMS42LXB5My4zLmVnZy1pbmZvL25vdC16aXAtc2FmZQorICAgICAvb3B0L3B5dGhvbjMuMy9saWIvcHl0aG9uMy4zL3NpdGUtcGFja2FnZXMvdmlydHVhbGVudi0xLjYtcHkzLjMuZWdnLWluZm8vUEtHLUlORk8KKyAgICAgL29wdC9weXRob24zLjMvbGliL3B5dGhvbjMuMy9zaXRlLXBhY2thZ2VzL3ZpcnR1YWxlbnYtMS42LXB5My4zLmVnZy1pbmZvL1NPVVJDRVMudHh0CisgICAgIC9vcHQvcHl0aG9uMy4zL2xpYi9weXRob24zLjMvc2l0ZS1wYWNrYWdlcy92aXJ0dWFsZW52LTEuNi1weTMuMy5lZ2ctaW5mby90b3BfbGV2ZWwudHh0CisgICBQcm9jZWVkICh5L24pPyB5CisgICBzdWNjZXNzOiByZW1vdmVkIDYgZmlsZXMgYW5kIDEgZGlycworCitUaGUgb3B0aW9uYWwgJy15JyBhcmd1bWVudCBhdXRvIGNvbmZpcm1zLCBza2lwcGluZyB0aGUgY29uZm9ybWF0aW9uIHByb21wdDo6CisKKyAgJCBweXNldHVwIHJlbW92ZSB2aXJ0dWFsZW52IC15CisKKworR2V0dGluZyBoZWxwCistLS0tLS0tLS0tLS0KKworQWxsIHB5c2V0dXAgYWN0aW9ucyB0YWtlIHRoZSBgLWhgIGFuZCBgLS1oZWxwYCBvcHRpb25zIHdoaWNoIHByaW50cyB0aGUgY29tbWFuZHMKK2hlbHAgc3RyaW5nIHRvIHN0ZG91dC4gOjoKKworICAgJCBweXNldHVwIHJlbW92ZSAtaAorICAgVXNhZ2U6IHB5c2V0dXAgcmVtb3ZlIGRpc3QgWy15XQorICAgICAgb3I6IHB5c2V0dXAgcmVtb3ZlIC0taGVscAorCisgICBVbmluc3RhbGwgYSBQeXRob24gcGFja2FnZS4KKworICAgcG9zaXRpb25hbCBhcmd1bWVudHM6CisgICAgICBkaXN0ICBpbnN0YWxsZWQgZGlzdHJpYnV0aW9uIG5hbWUKKworICAgb3B0aW9uYWwgYXJndW1lbnRzOgorICAgICAgLXkgIGF1dG8gY29uZmlybSBwYWNrYWdlIHJlbW92YWwKKworR2V0dGluZyBhIGxpc3Qgb2YgYWxsIHB5c2V0dXAgYWN0aW9ucyBhbmQgZ2xvYmFsIG9wdGlvbnM6OgorCisgICAkIHB5c2V0dXAgLS1oZWxwCisgICBVc2FnZTogcHlzZXR1cCBbb3B0aW9uc10gYWN0aW9uIFthY3Rpb25fb3B0aW9uc10KKworICAgQWN0aW9uczoKKyAgICAgICBydW46IFJ1biBvbmUgb3Igc2V2ZXJhbCBjb21tYW5kcworICAgICAgIG1ldGFkYXRhOiBEaXNwbGF5IHRoZSBtZXRhZGF0YSBvZiBhIHByb2plY3QKKyAgICAgICBpbnN0YWxsOiBJbnN0YWxsIGEgcHJvamVjdAorICAgICAgIHJlbW92ZTogUmVtb3ZlIGEgcHJvamVjdAorICAgICAgIHNlYXJjaDogU2VhcmNoIGZvciBhIHByb2plY3QgaW4gdGhlIGluZGV4ZXMKKyAgICAgICBsaXN0OiBMaXN0IGluc3RhbGxlZCBwcm9qZWN0cworICAgICAgIGdyYXBoOiBEaXNwbGF5IGEgZ3JhcGgKKyAgICAgICBjcmVhdGU6IENyZWF0ZSBhIHByb2plY3QKKyAgICAgICBnZW5lcmF0ZS1zZXR1cDogR2VuZXJhdGUgYSBiYWNrd2FyZC1jb21wYXRpYmxlIHNldHVwLnB5CisKKyAgIFRvIGdldCBtb3JlIGhlbHAgb24gYW4gYWN0aW9uLCB1c2U6CisKKyAgICAgICBweXNldHVwIGFjdGlvbiAtLWhlbHAKKworICAgR2xvYmFsIG9wdGlvbnM6CisgICAgICAgLS12ZXJib3NlICgtdikgIHJ1biB2ZXJib3NlbHkgKGRlZmF1bHQpCisgICAgICAgLS1xdWlldCAoLXEpICAgIHJ1biBxdWlldGx5ICh0dXJucyB2ZXJib3NpdHkgb2ZmKQorICAgICAgIC0tZHJ5LXJ1biAoLW4pICBkb24ndCBhY3R1YWxseSBkbyBhbnl0aGluZworICAgICAgIC0taGVscCAoLWgpICAgICBzaG93IGRldGFpbGVkIGhlbHAgbWVzc2FnZQorICAgICAgIC0tbm8tdXNlci1jZmcgICBpZ25vcmUgcHlkaXN0dXRpbHMuY2ZnIGluIHlvdXIgaG9tZSBkaXJlY3RvcnkKKyAgICAgICAtLXZlcnNpb24gICAgICAgRGlzcGxheSB0aGUgdmVyc2lvbgpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvX3RocmVhZC5yc3QgYi9Eb2MvbGlicmFyeS9fdGhyZWFkLnJzdAppbmRleCAzNjllOWNkLi5lN2U3NTA0IDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9fdGhyZWFkLnJzdAorKysgYi9Eb2MvbGlicmFyeS9fdGhyZWFkLnJzdApAQCAtMzUsNiArMzUsOSBAQAogCiAgICBSYWlzZWQgb24gdGhyZWFkLXNwZWNpZmljIGVycm9ycy4KIAorICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjMKKyAgICAgIFRoaXMgaXMgbm93IGEgc3lub255bSBvZiB0aGUgYnVpbHQtaW4gOmV4YzpgUnVudGltZUVycm9yYC4KKwogCiAuLiBkYXRhOjogTG9ja1R5cGUKIApkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvYWJjLnJzdCBiL0RvYy9saWJyYXJ5L2FiYy5yc3QKaW5kZXggMTA0OGIyNC4uNmY0MjIyMiAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvYWJjLnJzdAorKysgYi9Eb2MvbGlicmFyeS9hYmMucnN0CkBAIC0xOCw3ICsxOCw3IEBACiAKIFRoZSA6bW9kOmBjb2xsZWN0aW9uc2AgbW9kdWxlIGhhcyBzb21lIGNvbmNyZXRlIGNsYXNzZXMgdGhhdCBkZXJpdmUgZnJvbQogQUJDczsgdGhlc2UgY2FuLCBvZiBjb3Vyc2UsIGJlIGZ1cnRoZXIgZGVyaXZlZC4gSW4gYWRkaXRpb24gdGhlCi06bW9kOmBjb2xsZWN0aW9uc2AgbW9kdWxlIGhhcyBzb21lIEFCQ3MgdGhhdCBjYW4gYmUgdXNlZCB0byB0ZXN0IHdoZXRoZXIKKzptb2Q6YGNvbGxlY3Rpb25zLmFiY2Agc3VibW9kdWxlIGhhcyBzb21lIEFCQ3MgdGhhdCBjYW4gYmUgdXNlZCB0byB0ZXN0IHdoZXRoZXIKIGEgY2xhc3Mgb3IgaW5zdGFuY2UgcHJvdmlkZXMgYSBwYXJ0aWN1bGFyIGludGVyZmFjZSwgZm9yIGV4YW1wbGUsIGlzIGl0CiBoYXNoYWJsZSBvciBhIG1hcHBpbmcuCiAKQEAgLTU1LDYgKzU1LDkgQEAKICAgICAgICAgYXNzZXJ0IGlzc3ViY2xhc3ModHVwbGUsIE15QUJDKQogICAgICAgICBhc3NlcnQgaXNpbnN0YW5jZSgoKSwgTXlBQkMpCiAKKyAgICAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy4zCisgICAgICAgICBSZXR1cm5zIHRoZSByZWdpc3RlcmVkIHN1YmNsYXNzLCB0byBhbGxvdyB1c2FnZSBhcyBhIGNsYXNzIGRlY29yYXRvci4KKwogICAgWW91IGNhbiBhbHNvIG92ZXJyaWRlIHRoaXMgbWV0aG9kIGluIGFuIGFic3RyYWN0IGJhc2UgY2xhc3M6CiAKICAgIC4uIG1ldGhvZDo6IF9fc3ViY2xhc3Nob29rX18oc3ViY2xhc3MpCkBAIC0xMjQsMTkgKzEyNywxOCBAQAogICAgYXZhaWxhYmxlIGFzIGEgbWV0aG9kIG9mIGBgRm9vYGAsIHNvIGl0IGlzIHByb3ZpZGVkIHNlcGFyYXRlbHkuCiAKIAotSXQgYWxzbyBwcm92aWRlcyB0aGUgZm9sbG93aW5nIGRlY29yYXRvcnM6CitUaGUgOm1vZDpgYWJjYCBtb2R1bGUgYWxzbyBwcm92aWRlcyB0aGUgZm9sbG93aW5nIGRlY29yYXRvcnM6CiAKIC4uIGRlY29yYXRvcjo6IGFic3RyYWN0bWV0aG9kKGZ1bmN0aW9uKQogCiAgICBBIGRlY29yYXRvciBpbmRpY2F0aW5nIGFic3RyYWN0IG1ldGhvZHMuCiAKLSAgIFVzaW5nIHRoaXMgZGVjb3JhdG9yIHJlcXVpcmVzIHRoYXQgdGhlIGNsYXNzJ3MgbWV0YWNsYXNzIGlzIDpjbGFzczpgQUJDTWV0YWAgb3IKLSAgIGlzIGRlcml2ZWQgZnJvbSBpdC4KLSAgIEEgY2xhc3MgdGhhdCBoYXMgYSBtZXRhY2xhc3MgZGVyaXZlZCBmcm9tIDpjbGFzczpgQUJDTWV0YWAKLSAgIGNhbm5vdCBiZSBpbnN0YW50aWF0ZWQgdW5sZXNzIGFsbCBvZiBpdHMgYWJzdHJhY3QgbWV0aG9kcyBhbmQKLSAgIHByb3BlcnRpZXMgYXJlIG92ZXJyaWRkZW4uCi0gICBUaGUgYWJzdHJhY3QgbWV0aG9kcyBjYW4gYmUgY2FsbGVkIHVzaW5nIGFueSBvZiB0aGUgbm9ybWFsICdzdXBlcicgY2FsbAotICAgbWVjaGFuaXNtcy4KKyAgIFVzaW5nIHRoaXMgZGVjb3JhdG9yIHJlcXVpcmVzIHRoYXQgdGhlIGNsYXNzJ3MgbWV0YWNsYXNzIGlzIDpjbGFzczpgQUJDTWV0YWAKKyAgIG9yIGlzIGRlcml2ZWQgZnJvbSBpdC4gIEEgY2xhc3MgdGhhdCBoYXMgYSBtZXRhY2xhc3MgZGVyaXZlZCBmcm9tCisgICA6Y2xhc3M6YEFCQ01ldGFgIGNhbm5vdCBiZSBpbnN0YW50aWF0ZWQgdW5sZXNzIGFsbCBvZiBpdHMgYWJzdHJhY3QgbWV0aG9kcworICAgYW5kIHByb3BlcnRpZXMgYXJlIG92ZXJyaWRkZW4uICBUaGUgYWJzdHJhY3QgbWV0aG9kcyBjYW4gYmUgY2FsbGVkIHVzaW5nIGFueQorICAgb2YgdGhlIG5vcm1hbCAnc3VwZXInIGNhbGwgbWVjaGFuaXNtcy4gIDpmdW5jOmBhYnN0cmFjdG1ldGhvZGAgbWF5IGJlIHVzZWQKKyAgIHRvIGRlY2xhcmUgYWJzdHJhY3QgbWV0aG9kcyBmb3IgcHJvcGVydGllcyBhbmQgZGVzY3JpcHRvcnMuCiAKICAgIER5bmFtaWNhbGx5IGFkZGluZyBhYnN0cmFjdCBtZXRob2RzIHRvIGEgY2xhc3MsIG9yIGF0dGVtcHRpbmcgdG8gbW9kaWZ5IHRoZQogICAgYWJzdHJhY3Rpb24gc3RhdHVzIG9mIGEgbWV0aG9kIG9yIGNsYXNzIG9uY2UgaXQgaXMgY3JlYXRlZCwgYXJlIG5vdApAQCAtMTQ0LDEyICsxNDYsNTIgQEAKICAgIHJlZ3VsYXIgaW5oZXJpdGFuY2U7ICJ2aXJ0dWFsIHN1YmNsYXNzZXMiIHJlZ2lzdGVyZWQgd2l0aCB0aGUgQUJDJ3MKICAgIDptZXRoOmByZWdpc3RlcmAgbWV0aG9kIGFyZSBub3QgYWZmZWN0ZWQuCiAKLSAgIFVzYWdlOjoKKyAgIFdoZW4gOmZ1bmM6YGFic3RyYWN0bWV0aG9kYCBpcyBhcHBsaWVkIGluIGNvbWJpbmF0aW9uIHdpdGggb3RoZXIgbWV0aG9kCisgICBkZXNjcmlwdG9ycywgaXQgc2hvdWxkIGJlIGFwcGxpZWQgYXMgdGhlIGlubmVybW9zdCBkZWNvcmF0b3IsIGFzIHNob3duIGluCisgICB0aGUgZm9sbG93aW5nIHVzYWdlIGV4YW1wbGVzOjoKIAogICAgICAgY2xhc3MgQyhtZXRhY2xhc3M9QUJDTWV0YSk6CiAgICAgICAgICAgQGFic3RyYWN0bWV0aG9kCiAgICAgICAgICAgZGVmIG15X2Fic3RyYWN0X21ldGhvZChzZWxmLCAuLi4pOgogICAgICAgICAgICAgICAuLi4KKyAgICAgICAgICBAY2xhc3NtZXRob2QKKyAgICAgICAgICBAYWJzdHJhY3RtZXRob2QKKyAgICAgICAgICBkZWYgbXlfYWJzdHJhY3RfY2xhc3NtZXRob2QoY2xzLCAuLi4pOgorICAgICAgICAgICAgICAuLi4KKyAgICAgICAgICBAc3RhdGljbWV0aG9kCisgICAgICAgICAgQGFic3RyYWN0bWV0aG9kCisgICAgICAgICAgZGVmIG15X2Fic3RyYWN0X3N0YXRpY21ldGhvZCguLi4pOgorICAgICAgICAgICAgICAuLi4KKworICAgICAgICAgIEBwcm9wZXJ0eQorICAgICAgICAgIEBhYnN0cmFjdG1ldGhvZAorICAgICAgICAgIGRlZiBteV9hYnN0cmFjdF9wcm9wZXJ0eShzZWxmKToKKyAgICAgICAgICAgICAgLi4uCisgICAgICAgICAgQG15X2Fic3RyYWN0X3Byb3BlcnR5LnNldHRlcgorICAgICAgICAgIEBhYnN0cmFjdG1ldGhvZAorICAgICAgICAgIGRlZiBteV9hYnN0cmFjdF9wcm9wZXJ0eShzZWxmLCB2YWwpOgorICAgICAgICAgICAgICAuLi4KKworICAgICAgICAgIEBhYnN0cmFjdG1ldGhvZAorICAgICAgICAgIGRlZiBfZ2V0X3goc2VsZik6CisgICAgICAgICAgICAgIC4uLgorICAgICAgICAgIEBhYnN0cmFjdG1ldGhvZAorICAgICAgICAgIGRlZiBfc2V0X3goc2VsZiwgdmFsKToKKyAgICAgICAgICAgICAgLi4uCisgICAgICAgICAgeCA9IHByb3BlcnR5KF9nZXRfeCwgX3NldF94KQorCisgICBJbiBvcmRlciB0byBjb3JyZWN0bHkgaW50ZXJvcGVyYXRlIHdpdGggdGhlIGFic3RyYWN0IGJhc2UgY2xhc3MgbWFjaGluZXJ5LAorICAgdGhlIGRlc2NyaXB0b3IgbXVzdCBpZGVudGlmeSBpdHNlbGYgYXMgYWJzdHJhY3QgdXNpbmcKKyAgIDphdHRyOmBfX2lzYWJzdHJhY3RtZXRob2RfX2AuIEluIGdlbmVyYWwsIHRoaXMgYXR0cmlidXRlIHNob3VsZCBiZSBgYFRydWVgYAorICAgaWYgYW55IG9mIHRoZSBtZXRob2RzIHVzZWQgdG8gY29tcG9zZSB0aGUgZGVzY3JpcHRvciBhcmUgYWJzdHJhY3QuIEZvcgorICAgZXhhbXBsZSwgUHl0aG9uJ3MgYnVpbHQtaW4gcHJvcGVydHkgZG9lcyB0aGUgZXF1aXZhbGVudCBvZjo6CisKKyAgICAgIGNsYXNzIERlc2NyaXB0b3I6CisgICAgICAgICAgLi4uCisgICAgICAgICAgQHByb3BlcnR5CisgICAgICAgICAgZGVmIF9faXNhYnN0cmFjdG1ldGhvZF9fKHNlbGYpOgorICAgICAgICAgICAgICByZXR1cm4gYW55KGdldGF0dHIoZiwgJ19faXNhYnN0cmFjdG1ldGhvZF9fJywgRmFsc2UpIGZvcgorICAgICAgICAgICAgICAgICAgICAgICAgIGYgaW4gKHNlbGYuX2ZnZXQsIHNlbGYuX2ZzZXQsIHNlbGYuX2ZkZWwpKQogCiAgICAuLiBub3RlOjoKIApAQCAtMTc0LDYgKzIxNiw4IEBACiAgICAgICAgICAgICAgIC4uLgogCiAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjIKKyAgIC4uIGRlcHJlY2F0ZWQ6OiAzLjMKKyAgICAgICBVc2UgOmNsYXNzOmBjbGFzc21ldGhvZGAgd2l0aCA6ZnVuYzpgYWJzdHJhY3RtZXRob2RgIGluc3RlYWQKIAogCiAuLiBkZWNvcmF0b3I6OiBhYnN0cmFjdHN0YXRpY21ldGhvZChmdW5jdGlvbikKQEAgLTE4OSwxOCArMjMzLDE5IEBACiAgICAgICAgICAgICAgIC4uLgogCiAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjIKKyAgIC4uIGRlcHJlY2F0ZWQ6OiAzLjMKKyAgICAgICBVc2UgOmNsYXNzOmBzdGF0aWNtZXRob2RgIHdpdGggOmZ1bmM6YGFic3RyYWN0bWV0aG9kYCBpbnN0ZWFkCiAKIAotLi4gZnVuY3Rpb246OiBhYnN0cmFjdHByb3BlcnR5KGZnZXQ9Tm9uZSwgZnNldD1Ob25lLCBmZGVsPU5vbmUsIGRvYz1Ob25lKQorLi4gZGVjb3JhdG9yOjogYWJzdHJhY3Rwcm9wZXJ0eShmZ2V0PU5vbmUsIGZzZXQ9Tm9uZSwgZmRlbD1Ob25lLCBkb2M9Tm9uZSkKIAogICAgQSBzdWJjbGFzcyBvZiB0aGUgYnVpbHQtaW4gOmZ1bmM6YHByb3BlcnR5YCwgaW5kaWNhdGluZyBhbiBhYnN0cmFjdCBwcm9wZXJ0eS4KIAotICAgVXNpbmcgdGhpcyBmdW5jdGlvbiByZXF1aXJlcyB0aGF0IHRoZSBjbGFzcydzIG1ldGFjbGFzcyBpcyA6Y2xhc3M6YEFCQ01ldGFgIG9yCi0gICBpcyBkZXJpdmVkIGZyb20gaXQuCi0gICBBIGNsYXNzIHRoYXQgaGFzIGEgbWV0YWNsYXNzIGRlcml2ZWQgZnJvbSA6Y2xhc3M6YEFCQ01ldGFgIGNhbm5vdCBiZQotICAgaW5zdGFudGlhdGVkIHVubGVzcyBhbGwgb2YgaXRzIGFic3RyYWN0IG1ldGhvZHMgYW5kIHByb3BlcnRpZXMgYXJlIG92ZXJyaWRkZW4uCi0gICBUaGUgYWJzdHJhY3QgcHJvcGVydGllcyBjYW4gYmUgY2FsbGVkIHVzaW5nIGFueSBvZiB0aGUgbm9ybWFsCi0gICAnc3VwZXInIGNhbGwgbWVjaGFuaXNtcy4KKyAgIFVzaW5nIHRoaXMgZnVuY3Rpb24gcmVxdWlyZXMgdGhhdCB0aGUgY2xhc3MncyBtZXRhY2xhc3MgaXMgOmNsYXNzOmBBQkNNZXRhYAorICAgb3IgaXMgZGVyaXZlZCBmcm9tIGl0LiBBIGNsYXNzIHRoYXQgaGFzIGEgbWV0YWNsYXNzIGRlcml2ZWQgZnJvbQorICAgOmNsYXNzOmBBQkNNZXRhYCBjYW5ub3QgYmUgaW5zdGFudGlhdGVkIHVubGVzcyBhbGwgb2YgaXRzIGFic3RyYWN0IG1ldGhvZHMKKyAgIGFuZCBwcm9wZXJ0aWVzIGFyZSBvdmVycmlkZGVuLiBUaGUgYWJzdHJhY3QgcHJvcGVydGllcyBjYW4gYmUgY2FsbGVkIHVzaW5nCisgICBhbnkgb2YgdGhlIG5vcm1hbCAnc3VwZXInIGNhbGwgbWVjaGFuaXNtcy4KIAogICAgVXNhZ2U6OgogCkBAIC0yMTcsNiArMjYyLDkgQEAKICAgICAgICAgICBkZWYgc2V0eChzZWxmLCB2YWx1ZSk6IC4uLgogICAgICAgICAgIHggPSBhYnN0cmFjdHByb3BlcnR5KGdldHgsIHNldHgpCiAKKyAgIC4uIGRlcHJlY2F0ZWQ6OiAzLjMKKyAgICAgICBVc2UgOmNsYXNzOmBwcm9wZXJ0eWAgd2l0aCA6ZnVuYzpgYWJzdHJhY3RtZXRob2RgIGluc3RlYWQKKwogCiAuLiBydWJyaWM6OiBGb290bm90ZXMKIApkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvYXJjaGl2aW5nLnJzdCBiL0RvYy9saWJyYXJ5L2FyY2hpdmluZy5yc3QKaW5kZXggNzVkMTM3Yy4uYzkyODQ5NCAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvYXJjaGl2aW5nLnJzdAorKysgYi9Eb2MvbGlicmFyeS9hcmNoaXZpbmcucnN0CkBAIC01LDggKzUsOSBAQAogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAKIFRoZSBtb2R1bGVzIGRlc2NyaWJlZCBpbiB0aGlzIGNoYXB0ZXIgc3VwcG9ydCBkYXRhIGNvbXByZXNzaW9uIHdpdGggdGhlIHpsaWIsCi1nemlwLCBhbmQgYnppcDIgYWxnb3JpdGhtcywgYW5kICB0aGUgY3JlYXRpb24gb2YgWklQLSBhbmQgdGFyLWZvcm1hdCBhcmNoaXZlcy4KLVNlZSBhbHNvIDpyZWY6YGFyY2hpdmluZy1vcGVyYXRpb25zYCBwcm92aWRlZCBieSB0aGUgOm1vZDpgc2h1dGlsYCBtb2R1bGUuCitnemlwLCBiemlwMiBhbmQgbHptYSBhbGdvcml0aG1zLCBhbmQgdGhlIGNyZWF0aW9uIG9mIFpJUC0gYW5kIHRhci1mb3JtYXQKK2FyY2hpdmVzLiAgU2VlIGFsc28gOnJlZjpgYXJjaGl2aW5nLW9wZXJhdGlvbnNgIHByb3ZpZGVkIGJ5IHRoZSA6bW9kOmBzaHV0aWxgCittb2R1bGUuCiAKIAogLi4gdG9jdHJlZTo6CkBAIC0xNCw1ICsxNSw2IEBACiAgICB6bGliLnJzdAogICAgZ3ppcC5yc3QKICAgIGJ6Mi5yc3QKKyAgIGx6bWEucnN0CiAgICB6aXBmaWxlLnJzdAogICAgdGFyZmlsZS5yc3QKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L2FyZ3BhcnNlLnJzdCBiL0RvYy9saWJyYXJ5L2FyZ3BhcnNlLnJzdAppbmRleCA3OWE5OGNiLi5hM2E2N2I1IDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9hcmdwYXJzZS5yc3QKKysrIGIvRG9jL2xpYnJhcnkvYXJncGFyc2UucnN0CkBAIC0zNjIsMTYgKzM2MiwxNiBAQAogXl5eXl5eXl5eXl5eXl5eCiAKIDpjbGFzczpgQXJndW1lbnRQYXJzZXJgIG9iamVjdHMgYWxsb3cgdGhlIGhlbHAgZm9ybWF0dGluZyB0byBiZSBjdXN0b21pemVkIGJ5Ci1zcGVjaWZ5aW5nIGFuIGFsdGVybmF0ZSBmb3JtYXR0aW5nIGNsYXNzLiAgQ3VycmVudGx5LCB0aGVyZSBhcmUgdGhyZWUgc3VjaAorc3BlY2lmeWluZyBhbiBhbHRlcm5hdGUgZm9ybWF0dGluZyBjbGFzcy4gIEN1cnJlbnRseSwgdGhlcmUgYXJlIGZvdXIgc3VjaAogY2xhc3NlczoKIAogLi4gY2xhc3M6OiBSYXdEZXNjcmlwdGlvbkhlbHBGb3JtYXR0ZXIKICAgICAgICAgICAgUmF3VGV4dEhlbHBGb3JtYXR0ZXIKICAgICAgICAgICAgQXJndW1lbnREZWZhdWx0c0hlbHBGb3JtYXR0ZXIKKyAgICAgICAgICAgTWV0YXZhclR5cGVIZWxwRm9ybWF0dGVyCiAKLVRoZSBmaXJzdCB0d28gYWxsb3cgbW9yZSBjb250cm9sIG92ZXIgaG93IHRleHR1YWwgZGVzY3JpcHRpb25zIGFyZSBkaXNwbGF5ZWQsCi13aGlsZSB0aGUgbGFzdCBhdXRvbWF0aWNhbGx5IGFkZHMgaW5mb3JtYXRpb24gYWJvdXQgYXJndW1lbnQgZGVmYXVsdCB2YWx1ZXMuCi0KKzpjbGFzczpgUmF3RGVzY3JpcHRpb25IZWxwRm9ybWF0dGVyYCBhbmQgOmNsYXNzOmBSYXdUZXh0SGVscEZvcm1hdHRlcmAgZ2l2ZQorbW9yZSBjb250cm9sIG92ZXIgaG93IHRleHR1YWwgZGVzY3JpcHRpb25zIGFyZSBkaXNwbGF5ZWQuCiBCeSBkZWZhdWx0LCA6Y2xhc3M6YEFyZ3VtZW50UGFyc2VyYCBvYmplY3RzIGxpbmUtd3JhcCB0aGUgZGVzY3JpcHRpb25fIGFuZAogZXBpbG9nXyB0ZXh0cyBpbiBjb21tYW5kLWxpbmUgaGVscCBtZXNzYWdlczo6CiAKQEAgLTQyNCw4ICs0MjQsOCBAQAogOmNsYXNzOmBSYXdUZXh0SGVscEZvcm1hdHRlcmAgbWFpbnRhaW5zIHdoaXRlc3BhY2UgZm9yIGFsbCBzb3J0cyBvZiBoZWxwIHRleHQsCiBpbmNsdWRpbmcgYXJndW1lbnQgZGVzY3JpcHRpb25zLgogCi1UaGUgb3RoZXIgZm9ybWF0dGVyIGNsYXNzIGF2YWlsYWJsZSwgOmNsYXNzOmBBcmd1bWVudERlZmF1bHRzSGVscEZvcm1hdHRlcmAsCi13aWxsIGFkZCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgZGVmYXVsdCB2YWx1ZSBvZiBlYWNoIG9mIHRoZSBhcmd1bWVudHM6OgorOmNsYXNzOmBBcmd1bWVudERlZmF1bHRzSGVscEZvcm1hdHRlcmAgYXV0b21hdGljYWxseSBhZGRzIGluZm9ybWF0aW9uIGFib3V0CitkZWZhdWx0IHZhbHVlcyB0byBlYWNoIG9mIHRoZSBhcmd1bWVudCBoZWxwIG1lc3NhZ2VzOjoKIAogICAgPj4+IHBhcnNlciA9IGFyZ3BhcnNlLkFyZ3VtZW50UGFyc2VyKAogICAgLi4uICAgICBwcm9nPSdQUk9HJywKQEAgLTQ0Miw2ICs0NDIsMjUgQEAKICAgICAtaCwgLS1oZWxwICBzaG93IHRoaXMgaGVscCBtZXNzYWdlIGFuZCBleGl0CiAgICAgLS1mb28gRk9PICAgRk9PISAoZGVmYXVsdDogNDIpCiAKKzpjbGFzczpgTWV0YXZhclR5cGVIZWxwRm9ybWF0dGVyYCB1c2VzIHRoZSBuYW1lIG9mIHRoZSB0eXBlXyBhcmd1bWVudCBmb3IgZWFjaAorYXJndW1lbnQgYXMgdGhlIGRpc3BsYXkgbmFtZSBmb3IgaXRzIHZhbHVlcyAocmF0aGVyIHRoYW4gdXNpbmcgdGhlIGRlc3RfCithcyB0aGUgcmVndWxhciBmb3JtYXR0ZXIgZG9lcyk6OgorCisgICA+Pj4gcGFyc2VyID0gYXJncGFyc2UuQXJndW1lbnRQYXJzZXIoCisgICAuLi4gICAgIHByb2c9J1BST0cnLAorICAgLi4uICAgICBmb3JtYXR0ZXJfY2xhc3M9YXJncGFyc2UuTWV0YXZhclR5cGVIZWxwRm9ybWF0dGVyKQorICAgPj4+IHBhcnNlci5hZGRfYXJndW1lbnQoJy0tZm9vJywgdHlwZT1pbnQpCisgICA+Pj4gcGFyc2VyLmFkZF9hcmd1bWVudCgnYmFyJywgdHlwZT1mbG9hdCkKKyAgID4+PiBwYXJzZXIucHJpbnRfaGVscCgpCisgICB1c2FnZTogUFJPRyBbLWhdIFstLWZvbyBpbnRdIGZsb2F0CisKKyAgIHBvc2l0aW9uYWwgYXJndW1lbnRzOgorICAgICBmbG9hdAorCisgICBvcHRpb25hbCBhcmd1bWVudHM6CisgICAgIC1oLCAtLWhlbHAgIHNob3cgdGhpcyBoZWxwIG1lc3NhZ2UgYW5kIGV4aXQKKyAgICAgLS1mb28gaW50CisKIAogY29uZmxpY3RfaGFuZGxlcgogXl5eXl5eXl5eXl5eXl5eXgpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvYXJyYXkucnN0IGIvRG9jL2xpYnJhcnkvYXJyYXkucnN0CmluZGV4IGQ1NjNjY2UuLjNlMjc1YTIgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L2FycmF5LnJzdAorKysgYi9Eb2MvbGlicmFyeS9hcnJheS5yc3QKQEAgLTE0LDM2ICsxNCw0NCBAQAogOmRmbjpgdHlwZSBjb2RlYCwgd2hpY2ggaXMgYSBzaW5nbGUgY2hhcmFjdGVyLiAgVGhlIGZvbGxvd2luZyB0eXBlIGNvZGVzIGFyZQogZGVmaW5lZDoKIAotKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLXwgVHlwZSBjb2RlIHwgQyBUeXBlICAgICAgICAgfCBQeXRob24gVHlwZSAgICAgICB8IE1pbmltdW0gc2l6ZSBpbiBieXRlcyB8Ci0rPT09PT09PT09PT0rPT09PT09PT09PT09PT09PSs9PT09PT09PT09PT09PT09PT09Kz09PT09PT09PT09PT09PT09PT09PT09KwotfCBgYCdiJ2BgICAgfCBzaWduZWQgY2hhciAgICB8IGludCAgICAgICAgICAgICAgIHwgMSAgICAgICAgICAgICAgICAgICAgIHwKLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCi18IGBgJ0InYGAgICB8IHVuc2lnbmVkIGNoYXIgIHwgaW50ICAgICAgICAgICAgICAgfCAxICAgICAgICAgICAgICAgICAgICAgfAotKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLXwgYGAndSdgYCAgIHwgUHlfVU5JQ09ERSAgICAgfCBVbmljb2RlIGNoYXJhY3RlciB8IDIgKHNlZSBub3RlKSAgICAgICAgICB8Ci0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwotfCBgYCdoJ2BgICAgfCBzaWduZWQgc2hvcnQgICB8IGludCAgICAgICAgICAgICAgIHwgMiAgICAgICAgICAgICAgICAgICAgIHwKLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCi18IGBgJ0gnYGAgICB8IHVuc2lnbmVkIHNob3J0IHwgaW50ICAgICAgICAgICAgICAgfCAyICAgICAgICAgICAgICAgICAgICAgfAotKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLXwgYGAnaSdgYCAgIHwgc2lnbmVkIGludCAgICAgfCBpbnQgICAgICAgICAgICAgICB8IDIgICAgICAgICAgICAgICAgICAgICB8Ci0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwotfCBgYCdJJ2BgICAgfCB1bnNpZ25lZCBpbnQgICB8IGludCAgICAgICAgICAgICAgIHwgMiAgICAgICAgICAgICAgICAgICAgIHwKLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCi18IGBgJ2wnYGAgICB8IHNpZ25lZCBsb25nICAgIHwgaW50ICAgICAgICAgICAgICAgfCA0ICAgICAgICAgICAgICAgICAgICAgfAotKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKLXwgYGAnTCdgYCAgIHwgdW5zaWduZWQgbG9uZyAgfCBpbnQgICAgICAgICAgICAgICB8IDQgICAgICAgICAgICAgICAgICAgICB8Ci0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwotfCBgYCdmJ2BgICAgfCBmbG9hdCAgICAgICAgICB8IGZsb2F0ICAgICAgICAgICAgIHwgNCAgICAgICAgICAgICAgICAgICAgIHwKLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCi18IGBgJ2QnYGAgICB8IGRvdWJsZSAgICAgICAgIHwgZmxvYXQgICAgICAgICAgICAgfCA4ICAgICAgICAgICAgICAgICAgICAgfAotKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKKystLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0rCit8IFR5cGUgY29kZSB8IEMgVHlwZSAgICAgICAgICAgICB8IFB5dGhvbiBUeXBlICAgICAgIHwgTWluaW11bSBzaXplIGluIGJ5dGVzIHwgTm90ZXMgfAorKz09PT09PT09PT09Kz09PT09PT09PT09PT09PT09PT09Kz09PT09PT09PT09PT09PT09PT0rPT09PT09PT09PT09PT09PT09PT09PT0rPT09PT09PSsKK3wgYGAnYidgYCAgIHwgc2lnbmVkIGNoYXIgICAgICAgIHwgaW50ICAgICAgICAgICAgICAgfCAxICAgICAgICAgICAgICAgICAgICAgfCAgICAgICB8CisrLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tKworfCBgYCdCJ2BgICAgfCB1bnNpZ25lZCBjaGFyICAgICAgfCBpbnQgICAgICAgICAgICAgICB8IDEgICAgICAgICAgICAgICAgICAgICB8ICAgICAgIHwKKystLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0rCit8IGBgJ3UnYGAgICB8IFB5X1VDUzQgICAgICAgICAgICB8IFVuaWNvZGUgY2hhcmFjdGVyIHwgNCAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgfAorKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLSsKK3wgYGAnaCdgYCAgIHwgc2lnbmVkIHNob3J0ICAgICAgIHwgaW50ICAgICAgICAgICAgICAgfCAyICAgICAgICAgICAgICAgICAgICAgfCAgICAgICB8CisrLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tKworfCBgYCdIJ2BgICAgfCB1bnNpZ25lZCBzaG9ydCAgICAgfCBpbnQgICAgICAgICAgICAgICB8IDIgICAgICAgICAgICAgICAgICAgICB8ICAgICAgIHwKKystLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0rCit8IGBgJ2knYGAgICB8IHNpZ25lZCBpbnQgICAgICAgICB8IGludCAgICAgICAgICAgICAgIHwgMiAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgfAorKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLSsKK3wgYGAnSSdgYCAgIHwgdW5zaWduZWQgaW50ICAgICAgIHwgaW50ICAgICAgICAgICAgICAgfCAyICAgICAgICAgICAgICAgICAgICAgfCAgICAgICB8CisrLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tKworfCBgYCdsJ2BgICAgfCBzaWduZWQgbG9uZyAgICAgICAgfCBpbnQgICAgICAgICAgICAgICB8IDQgICAgICAgICAgICAgICAgICAgICB8ICAgICAgIHwKKystLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0rCit8IGBgJ0wnYGAgICB8IHVuc2lnbmVkIGxvbmcgICAgICB8IGludCAgICAgICAgICAgICAgIHwgNCAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgfAorKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLSsKK3wgYGAncSdgYCAgIHwgc2lnbmVkIGxvbmcgbG9uZyAgIHwgaW50ICAgICAgICAgICAgICAgfCA4ICAgICAgICAgICAgICAgICAgICAgfCBcKDEpICB8CisrLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tKworfCBgYCdRJ2BgICAgfCB1bnNpZ25lZCBsb25nIGxvbmcgfCBpbnQgICAgICAgICAgICAgICB8IDggICAgICAgICAgICAgICAgICAgICB8IFwoMSkgIHwKKystLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0rCit8IGBgJ2YnYGAgICB8IGZsb2F0ICAgICAgICAgICAgICB8IGZsb2F0ICAgICAgICAgICAgIHwgNCAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgfAorKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLSsKK3wgYGAnZCdgYCAgIHwgZG91YmxlICAgICAgICAgICAgIHwgZmxvYXQgICAgICAgICAgICAgfCA4ICAgICAgICAgICAgICAgICAgICAgfCAgICAgICB8CisrLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tKwogCi0uLiBub3RlOjoKK05vdGVzOgogCi0gICBUaGUgYGAndSdgYCB0eXBlY29kZSBjb3JyZXNwb25kcyB0byBQeXRob24ncyB1bmljb2RlIGNoYXJhY3Rlci4gIE9uIG5hcnJvdwotICAgVW5pY29kZSBidWlsZHMgdGhpcyBpcyAyLWJ5dGVzLCBvbiB3aWRlIGJ1aWxkcyB0aGlzIGlzIDQtYnl0ZXMuCisoMSkKKyAgIFRoZSBgYCdxJ2BgIGFuZCBgYCdRJ2BgIHR5cGUgY29kZXMgYXJlIGF2YWlsYWJsZSBvbmx5IGlmCisgICB0aGUgcGxhdGZvcm0gQyBjb21waWxlciB1c2VkIHRvIGJ1aWxkIFB5dGhvbiBzdXBwb3J0cyBDIDpjOnR5cGU6YGxvbmcgbG9uZ2AsCisgICBvciwgb24gV2luZG93cywgOmM6dHlwZTpgX19pbnQ2NGAuCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMwogCiBUaGUgYWN0dWFsIHJlcHJlc2VudGF0aW9uIG9mIHZhbHVlcyBpcyBkZXRlcm1pbmVkIGJ5IHRoZSBtYWNoaW5lIGFyY2hpdGVjdHVyZQogKHN0cmljdGx5IHNwZWFraW5nLCBieSB0aGUgQyBpbXBsZW1lbnRhdGlvbikuICBUaGUgYWN0dWFsIHNpemUgY2FuIGJlIGFjY2Vzc2VkCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9hc3QucnN0IGIvRG9jL2xpYnJhcnkvYXN0LnJzdAppbmRleCBlMmMwYjZkLi4xNmRlM2NhIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9hc3QucnN0CisrKyBiL0RvYy9saWJyYXJ5L2FzdC5yc3QKQEAgLTk2LDkgKzk2LDYgQEAKIEFic3RyYWN0IEdyYW1tYXIKIC0tLS0tLS0tLS0tLS0tLS0KIAotVGhlIG1vZHVsZSBkZWZpbmVzIGEgc3RyaW5nIGNvbnN0YW50IGBgX192ZXJzaW9uX19gYCB3aGljaCBpcyB0aGUgZGVjaW1hbAotU3VidmVyc2lvbiByZXZpc2lvbiBudW1iZXIgb2YgdGhlIGZpbGUgc2hvd24gYmVsb3cuCi0KIFRoZSBhYnN0cmFjdCBncmFtbWFyIGlzIGN1cnJlbnRseSBkZWZpbmVkIGFzIGZvbGxvd3M6CiAKIC4uIGxpdGVyYWxpbmNsdWRlOjogLi4vLi4vUGFyc2VyL1B5dGhvbi5hc2RsCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9hc3luY29yZS5yc3QgYi9Eb2MvbGlicmFyeS9hc3luY29yZS5yc3QKaW5kZXggNjE5YjdiYi4uODc1MDY1OSAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvYXN5bmNvcmUucnN0CisrKyBiL0RvYy9saWJyYXJ5L2FzeW5jb3JlLnJzdApAQCAtMTg0LDEyICsxODQsMTUgQEAKICAgIE1vc3Qgb2YgdGhlc2UgYXJlIG5lYXJseSBpZGVudGljYWwgdG8gdGhlaXIgc29ja2V0IHBhcnRuZXJzLgogCiAKLSAgIC4uIG1ldGhvZDo6IGNyZWF0ZV9zb2NrZXQoZmFtaWx5LCB0eXBlKQorICAgLi4gbWV0aG9kOjogY3JlYXRlX3NvY2tldChmYW1pbHk9c29ja2V0LkFGX0lORVQsIHR5cGU9c29ja2V0LlNPQ0tfU1RSRUFNKQogCiAgICAgICBUaGlzIGlzIGlkZW50aWNhbCB0byB0aGUgY3JlYXRpb24gb2YgYSBub3JtYWwgc29ja2V0LCBhbmQgd2lsbCB1c2UgdGhlCiAgICAgICBzYW1lIG9wdGlvbnMgZm9yIGNyZWF0aW9uLiAgUmVmZXIgdG8gdGhlIDptb2Q6YHNvY2tldGAgZG9jdW1lbnRhdGlvbiBmb3IKICAgICAgIGluZm9ybWF0aW9uIG9uIGNyZWF0aW5nIHNvY2tldHMuCiAKKyAgICAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy4zCisgICAgICAgICAqZmFtaWx5KiBhbmQgKnR5cGUqIGFyZ3VtZW50cyBjYW4gYmUgb21pdHRlZC4KKwogCiAgICAuLiBtZXRob2Q6OiBjb25uZWN0KGFkZHJlc3MpCiAKQEAgLTI4MCw3ICsyODMsNyBAQAogCiAgICAgICAgZGVmIF9faW5pdF9fKHNlbGYsIGhvc3QsIHBhdGgpOgogICAgICAgICAgICBhc3luY29yZS5kaXNwYXRjaGVyLl9faW5pdF9fKHNlbGYpCi0gICAgICAgICAgIHNlbGYuY3JlYXRlX3NvY2tldChzb2NrZXQuQUZfSU5FVCwgc29ja2V0LlNPQ0tfU1RSRUFNKQorICAgICAgICAgICBzZWxmLmNyZWF0ZV9zb2NrZXQoKQogICAgICAgICAgICBzZWxmLmNvbm5lY3QoIChob3N0LCA4MCkgKQogICAgICAgICAgICBzZWxmLmJ1ZmZlciA9IGJ5dGVzKCdHRVQgJXMgSFRUUC8xLjBcclxuSG9zdDogJXNcclxuXHJcbicgJQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwYXRoLCBob3N0KSwgJ2FzY2lpJykKQEAgLTMyNyw3ICszMzAsNyBAQAogCiAgICAgICAgIGRlZiBfX2luaXRfXyhzZWxmLCBob3N0LCBwb3J0KToKICAgICAgICAgICAgIGFzeW5jb3JlLmRpc3BhdGNoZXIuX19pbml0X18oc2VsZikKLSAgICAgICAgICAgIHNlbGYuY3JlYXRlX3NvY2tldChzb2NrZXQuQUZfSU5FVCwgc29ja2V0LlNPQ0tfU1RSRUFNKQorICAgICAgICAgICAgc2VsZi5jcmVhdGVfc29ja2V0KCkKICAgICAgICAgICAgIHNlbGYuc2V0X3JldXNlX2FkZHIoKQogICAgICAgICAgICAgc2VsZi5iaW5kKChob3N0LCBwb3J0KSkKICAgICAgICAgICAgIHNlbGYubGlzdGVuKDUpCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9hdGV4aXQucnN0IGIvRG9jL2xpYnJhcnkvYXRleGl0LnJzdAppbmRleCA3Yzc2YmFiLi4zZDVjMDE0IDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9hdGV4aXQucnN0CisrKyBiL0RvYy9saWJyYXJ5L2F0ZXhpdC5yc3QKQEAgLTY3LDggKzY3LDkgQEAKIG1ha2luZyBhbiBleHBsaWNpdCBjYWxsIGludG8gdGhpcyBtb2R1bGUgYXQgdGVybWluYXRpb24uIDo6CiAKICAgIHRyeToKLSAgICAgICBfY291bnQgPSBpbnQob3BlbigiL3RtcC9jb3VudGVyIikucmVhZCgpKQotICAgZXhjZXB0IElPRXJyb3I6CisgICAgICAgd2l0aCBvcGVuKCIvdG1wL2NvdW50ZXIiKSBhcyBpbmZpbGU6CisgICAgICAgICAgIF9jb3VudCA9IGludChpbmZpbGUucmVhZCgpKQorICAgZXhjZXB0IEZpbGVOb3RGb3VuZEVycm9yOgogICAgICAgIF9jb3VudCA9IDAKIAogICAgZGVmIGluY3Jjb3VudGVyKG4pOgpAQCAtNzYsNyArNzcsOCBAQAogICAgICAgIF9jb3VudCA9IF9jb3VudCArIG4KIAogICAgZGVmIHNhdmVjb3VudGVyKCk6Ci0gICAgICAgb3BlbigiL3RtcC9jb3VudGVyIiwgInciKS53cml0ZSgiJWQiICUgX2NvdW50KQorICAgICAgIHdpdGggb3BlbigiL3RtcC9jb3VudGVyIiwgInciKSBhcyBvdXRmaWxlOgorICAgICAgICAgICBvdXRmaWxlLndyaXRlKCIlZCIgJSBfY291bnQpCiAKICAgIGltcG9ydCBhdGV4aXQKICAgIGF0ZXhpdC5yZWdpc3RlcihzYXZlY291bnRlcikKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L2Jhc2U2NC5yc3QgYi9Eb2MvbGlicmFyeS9iYXNlNjQucnN0CmluZGV4IDA2ZjNhYjEuLmFmYmVkY2UgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L2Jhc2U2NC5yc3QKKysrIGIvRG9jL2xpYnJhcnkvYmFzZTY0LnJzdApAQCAtMTgsOSArMTgsMTQgQEAKIAogVGhlcmUgYXJlIHR3byBpbnRlcmZhY2VzIHByb3ZpZGVkIGJ5IHRoaXMgbW9kdWxlLiAgVGhlIG1vZGVybiBpbnRlcmZhY2UKIHN1cHBvcnRzIGVuY29kaW5nIGFuZCBkZWNvZGluZyBBU0NJSSBieXRlIHN0cmluZyBvYmplY3RzIHVzaW5nIGFsbCB0aHJlZQotYWxwaGFiZXRzLiAgVGhlIGxlZ2FjeSBpbnRlcmZhY2UgcHJvdmlkZXMgZm9yIGVuY29kaW5nIGFuZCBkZWNvZGluZyB0byBhbmQgZnJvbQotZmlsZS1saWtlIG9iamVjdHMgYXMgd2VsbCBhcyBieXRlIHN0cmluZ3MsIGJ1dCBvbmx5IHVzaW5nIHRoZSBCYXNlNjQgc3RhbmRhcmQKLWFscGhhYmV0LgorYWxwaGFiZXRzLiBBZGRpdGlvbmFsbHksIHRoZSBkZWNvZGluZyBmdW5jdGlvbnMgb2YgdGhlIG1vZGVybiBpbnRlcmZhY2UgYWxzbworYWNjZXB0IFVuaWNvZGUgc3RyaW5ncyBjb250YWluaW5nIG9ubHkgQVNDSUkgY2hhcmFjdGVycy4gVGhlIGxlZ2FjeSBpbnRlcmZhY2UKK3Byb3ZpZGVzIGZvciBlbmNvZGluZyBhbmQgZGVjb2RpbmcgdG8gYW5kIGZyb20gZmlsZS1saWtlIG9iamVjdHMgYXMgd2VsbCBhcworYnl0ZSBzdHJpbmdzLCBidXQgb25seSB1c2luZyB0aGUgQmFzZTY0IHN0YW5kYXJkIGFscGhhYmV0LgorCisuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMworICAgQVNDSUktb25seSBVbmljb2RlIHN0cmluZ3MgYXJlIG5vdyBhY2NlcHRlZCBieSB0aGUgZGVjb2RpbmcgZnVuY3Rpb25zIG9mCisgICB0aGUgbW9kZXJuIGludGVyZmFjZS4KIAogVGhlIG1vZGVybiBpbnRlcmZhY2UgcHJvdmlkZXM6CiAKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L2JpbmFzY2lpLnJzdCBiL0RvYy9saWJyYXJ5L2JpbmFzY2lpLnJzdAppbmRleCAyYWEzNzAyLi5iYWY0MzBkIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9iaW5hc2NpaS5yc3QKKysrIGIvRG9jL2xpYnJhcnkvYmluYXNjaWkucnN0CkBAIC0yMCw4ICsyMCwxMyBAQAogCiAuLiBub3RlOjoKIAotICAgRW5jb2RpbmcgYW5kIGRlY29kaW5nIGZ1bmN0aW9ucyBkbyBub3QgYWNjZXB0IFVuaWNvZGUgc3RyaW5ncy4gIE9ubHkgYnl0ZXN0cmluZwotICAgYW5kIGJ5dGVhcnJheSBvYmplY3RzIGNhbiBiZSBwcm9jZXNzZWQuCisgICBgYGEyYl8qYGAgZnVuY3Rpb25zIGFjY2VwdCBVbmljb2RlIHN0cmluZ3MgY29udGFpbmluZyBvbmx5IEFTQ0lJIGNoYXJhY3RlcnMuCisgICBPdGhlciBmdW5jdGlvbnMgb25seSBhY2NlcHQgYnl0ZXMgYW5kIGJ5dGVzLWNvbXBhdGlibGUgb2JqZWN0cyAoc3VjaCBhcworICAgYnl0ZWFycmF5IG9iamVjdHMgYW5kIG90aGVyIG9iamVjdHMgaW1wbGVtZW50aW5nIHRoZSBidWZmZXIgQVBJKS4KKworICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjMKKyAgICAgIEFTQ0lJLW9ubHkgdW5pY29kZSBzdHJpbmdzIGFyZSBub3cgYWNjZXB0ZWQgYnkgdGhlIGBgYTJiXypgYCBmdW5jdGlvbnMuCisKIAogVGhlIDptb2Q6YGJpbmFzY2lpYCBtb2R1bGUgZGVmaW5lcyB0aGUgZm9sbG93aW5nIGZ1bmN0aW9uczoKIApkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvYnoyLnJzdCBiL0RvYy9saWJyYXJ5L2J6Mi5yc3QKaW5kZXggZDEzZjZlMC4uOTU3N2YzMSAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvYnoyLnJzdAorKysgYi9Eb2MvbGlicmFyeS9iejIucnN0CkBAIC0xLDE5OCArMSwxNjkgQEAKLTptb2Q6YGJ6MmAgLS0tIENvbXByZXNzaW9uIGNvbXBhdGlibGUgd2l0aCA6cHJvZ3JhbTpgYnppcDJgCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorOm1vZDpgYnoyYCAtLS0gU3VwcG9ydCBmb3IgOnByb2dyYW06YGJ6aXAyYCBjb21wcmVzc2lvbgorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogCiAuLiBtb2R1bGU6OiBiejIKLSAgIDpzeW5vcHNpczogSW50ZXJmYWNlIHRvIGNvbXByZXNzaW9uIGFuZCBkZWNvbXByZXNzaW9uIHJvdXRpbmVzCi0gICAgICAgICAgICAgIGNvbXBhdGlibGUgd2l0aCBiemlwMi4KKyAgIDpzeW5vcHNpczogSW50ZXJmYWNlcyBmb3IgYnppcDIgY29tcHJlc3Npb24gYW5kIGRlY29tcHJlc3Npb24uCiAuLiBtb2R1bGVhdXRob3I6OiBHdXN0YXZvIE5pZW1leWVyIDxuaWVtZXllckBjb25lY3RpdmEuY29tPgorLi4gbW9kdWxlYXV0aG9yOjogTmFkZWVtIFZhd2RhIDxuYWRlZW0udmF3ZGFAZ21haWwuY29tPgogLi4gc2VjdGlvbmF1dGhvcjo6IEd1c3Rhdm8gTmllbWV5ZXIgPG5pZW1leWVyQGNvbmVjdGl2YS5jb20+CisuLiBzZWN0aW9uYXV0aG9yOjogTmFkZWVtIFZhd2RhIDxuYWRlZW0udmF3ZGFAZ21haWwuY29tPgogCiAKLVRoaXMgbW9kdWxlIHByb3ZpZGVzIGEgY29tcHJlaGVuc2l2ZSBpbnRlcmZhY2UgZm9yIHRoZSBiejIgY29tcHJlc3Npb24gbGlicmFyeS4KLUl0IGltcGxlbWVudHMgYSBjb21wbGV0ZSBmaWxlIGludGVyZmFjZSwgb25lLXNob3QgKGRlKWNvbXByZXNzaW9uIGZ1bmN0aW9ucywgYW5kCi10eXBlcyBmb3Igc2VxdWVudGlhbCAoZGUpY29tcHJlc3Npb24uCitUaGlzIG1vZHVsZSBwcm92aWRlcyBhIGNvbXByZWhlbnNpdmUgaW50ZXJmYWNlIGZvciBjb21wcmVzc2luZyBhbmQKK2RlY29tcHJlc3NpbmcgZGF0YSB1c2luZyB0aGUgYnppcDIgY29tcHJlc3Npb24gYWxnb3JpdGhtLgogCi1IZXJlIGlzIGEgc3VtbWFyeSBvZiB0aGUgZmVhdHVyZXMgb2ZmZXJlZCBieSB0aGUgYnoyIG1vZHVsZToKK1RoZSA6bW9kOmBiejJgIG1vZHVsZSBjb250YWluczoKIAotKiA6Y2xhc3M6YEJaMkZpbGVgIGNsYXNzIGltcGxlbWVudHMgYSBjb21wbGV0ZSBmaWxlIGludGVyZmFjZSwgaW5jbHVkaW5nCi0gIDptZXRoOmB+QloyRmlsZS5yZWFkbGluZWAsIDptZXRoOmB+QloyRmlsZS5yZWFkbGluZXNgLAotICA6bWV0aDpgfkJaMkZpbGUud3JpdGVsaW5lc2AsIDptZXRoOmB+QloyRmlsZS5zZWVrYCwgZXRjOworKiBUaGUgOmNsYXNzOmBCWjJGaWxlYCBjbGFzcyBmb3IgcmVhZGluZyBhbmQgd3JpdGluZyBjb21wcmVzc2VkIGZpbGVzLgorKiBUaGUgOmNsYXNzOmBCWjJDb21wcmVzc29yYCBhbmQgOmNsYXNzOmBCWjJEZWNvbXByZXNzb3JgIGNsYXNzZXMgZm9yCisgIGluY3JlbWVudGFsIChkZSljb21wcmVzc2lvbi4KKyogVGhlIDpmdW5jOmBjb21wcmVzc2AgYW5kIDpmdW5jOmBkZWNvbXByZXNzYCBmdW5jdGlvbnMgZm9yIG9uZS1zaG90CisgIChkZSljb21wcmVzc2lvbi4KIAotKiA6Y2xhc3M6YEJaMkZpbGVgIGNsYXNzIGltcGxlbWVudHMgZW11bGF0ZWQgOm1ldGg6YH5CWjJGaWxlLnNlZWtgIHN1cHBvcnQ7Ci0KLSogOmNsYXNzOmBCWjJGaWxlYCBjbGFzcyBpbXBsZW1lbnRzIHVuaXZlcnNhbCBuZXdsaW5lIHN1cHBvcnQ7Ci0KLSogOmNsYXNzOmBCWjJGaWxlYCBjbGFzcyBvZmZlcnMgYW4gb3B0aW1pemVkIGxpbmUgaXRlcmF0aW9uIHVzaW5nIGEgcmVhZGFoZWFkCi0gIGFsZ29yaXRobTsKLQotKiBTZXF1ZW50aWFsIChkZSljb21wcmVzc2lvbiBzdXBwb3J0ZWQgYnkgOmNsYXNzOmBCWjJDb21wcmVzc29yYCBhbmQKLSAgOmNsYXNzOmBCWjJEZWNvbXByZXNzb3JgIGNsYXNzZXM7Ci0KLSogT25lLXNob3QgKGRlKWNvbXByZXNzaW9uIHN1cHBvcnRlZCBieSA6ZnVuYzpgY29tcHJlc3NgIGFuZCA6ZnVuYzpgZGVjb21wcmVzc2AKLSAgZnVuY3Rpb25zOwotCi0qIFRocmVhZCBzYWZldHkgdXNlcyBpbmRpdmlkdWFsIGxvY2tpbmcgbWVjaGFuaXNtLgorQWxsIG9mIHRoZSBjbGFzc2VzIGluIHRoaXMgbW9kdWxlIG1heSBzYWZlbHkgYmUgYWNjZXNzZWQgZnJvbSBtdWx0aXBsZSB0aHJlYWRzLgogCiAKIChEZSljb21wcmVzc2lvbiBvZiBmaWxlcwogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKLUhhbmRsaW5nIG9mIGNvbXByZXNzZWQgZmlsZXMgaXMgb2ZmZXJlZCBieSB0aGUgOmNsYXNzOmBCWjJGaWxlYCBjbGFzcy4KKy4uIGNsYXNzOjogQloyRmlsZShmaWxlbmFtZT1Ob25lLCBtb2RlPSdyJywgYnVmZmVyaW5nPU5vbmUsIGNvbXByZXNzbGV2ZWw9OSwgXCosIGZpbGVvYmo9Tm9uZSkKIAorICAgT3BlbiBhIGJ6aXAyLWNvbXByZXNzZWQgZmlsZS4KIAotLi4gY2xhc3M6OiBCWjJGaWxlKGZpbGVuYW1lLCBtb2RlPSdyJywgYnVmZmVyaW5nPTAsIGNvbXByZXNzbGV2ZWw9OSkKKyAgIFRoZSA6Y2xhc3M6YEJaMkZpbGVgIGNhbiB3cmFwIGFuIGV4aXN0aW5nIDp0ZXJtOmBmaWxlIG9iamVjdGAgKGdpdmVuIGJ5CisgICAqZmlsZW9iaiopLCBvciBvcGVyYXRlIGRpcmVjdGx5IG9uIGEgbmFtZWQgZmlsZSAobmFtZWQgYnkgKmZpbGVuYW1lKikuCisgICBFeGFjdGx5IG9uZSBvZiB0aGVzZSB0d28gcGFyYW1ldGVycyBzaG91bGQgYmUgcHJvdmlkZWQuCiAKLSAgIE9wZW4gYSBiejIgZmlsZS4gTW9kZSBjYW4gYmUgZWl0aGVyIGBgJ3InYGAgb3IgYGAndydgYCwgZm9yIHJlYWRpbmcgKGRlZmF1bHQpCi0gICBvciB3cml0aW5nLiBXaGVuIG9wZW5lZCBmb3Igd3JpdGluZywgdGhlIGZpbGUgd2lsbCBiZSBjcmVhdGVkIGlmIGl0IGRvZXNuJ3QKLSAgIGV4aXN0LCBhbmQgdHJ1bmNhdGVkIG90aGVyd2lzZS4gSWYgKmJ1ZmZlcmluZyogaXMgZ2l2ZW4sIGBgMGBgIG1lYW5zCi0gICB1bmJ1ZmZlcmVkLCBhbmQgbGFyZ2VyIG51bWJlcnMgc3BlY2lmeSB0aGUgYnVmZmVyIHNpemU7IHRoZSBkZWZhdWx0IGlzCi0gICBgYDBgYC4gSWYgKmNvbXByZXNzbGV2ZWwqIGlzIGdpdmVuLCBpdCBtdXN0IGJlIGEgbnVtYmVyIGJldHdlZW4gYGAxYGAgYW5kCi0gICBgYDlgYDsgdGhlIGRlZmF1bHQgaXMgYGA5YGAuIEFkZCBhIGBgJ1UnYGAgdG8gbW9kZSB0byBvcGVuIHRoZSBmaWxlIGZvciBpbnB1dAotICAgd2l0aCB1bml2ZXJzYWwgbmV3bGluZSBzdXBwb3J0LiBBbnkgbGluZSBlbmRpbmcgaW4gdGhlIGlucHV0IGZpbGUgd2lsbCBiZQotICAgc2VlbiBhcyBhIGBgJ1xuJ2BgIGluIFB5dGhvbi4gIEFsc28sIGEgZmlsZSBzbyBvcGVuZWQgZ2FpbnMgdGhlIGF0dHJpYnV0ZQotICAgOmF0dHI6YG5ld2xpbmVzYDsgdGhlIHZhbHVlIGZvciB0aGlzIGF0dHJpYnV0ZSBpcyBvbmUgb2YgYGBOb25lYGAgKG5vIG5ld2xpbmUKLSAgIHJlYWQgeWV0KSwgYGAnXHInYGAsIGBgJ1xuJ2BgLCBgYCdcclxuJ2BgIG9yIGEgdHVwbGUgY29udGFpbmluZyBhbGwgdGhlCi0gICBuZXdsaW5lIHR5cGVzIHNlZW4uIFVuaXZlcnNhbCBuZXdsaW5lcyBhcmUgYXZhaWxhYmxlIG9ubHkgd2hlbgotICAgcmVhZGluZy4gSW5zdGFuY2VzIHN1cHBvcnQgaXRlcmF0aW9uIGluIHRoZSBzYW1lIHdheSBhcyBub3JtYWwgOmNsYXNzOmBmaWxlYAotICAgaW5zdGFuY2VzLgorICAgVGhlICptb2RlKiBhcmd1bWVudCBjYW4gYmUgZWl0aGVyIGBgJ3InYGAgZm9yIHJlYWRpbmcgKGRlZmF1bHQpLCBgYCd3J2BgIGZvcgorICAgb3ZlcndyaXRpbmcsIG9yIGBgJ2EnYGAgZm9yIGFwcGVuZGluZy4gSWYgKmZpbGVvYmoqIGlzIHByb3ZpZGVkLCBhIG1vZGUgb2YKKyAgIGBgJ3cnYGAgZG9lcyBub3QgdHJ1bmNhdGUgdGhlIGZpbGUsIGFuZCBpcyBpbnN0ZWFkIGVxdWl2YWxlbnQgdG8gYGAnYSdgYC4KIAotICAgOmNsYXNzOmBCWjJGaWxlYCBzdXBwb3J0cyB0aGUgOmtleXdvcmQ6YHdpdGhgIHN0YXRlbWVudC4KKyAgIFRoZSAqYnVmZmVyaW5nKiBhcmd1bWVudCBpcyBpZ25vcmVkLiBJdHMgdXNlIGlzIGRlcHJlY2F0ZWQuCisKKyAgIElmICptb2RlKiBpcyBgYCd3J2BgIG9yIGBgJ2EnYGAsICpjb21wcmVzc2xldmVsKiBjYW4gYmUgYSBudW1iZXIgYmV0d2VlbgorICAgYGAxYGAgYW5kIGBgOWBgIHNwZWNpZnlpbmcgdGhlIGxldmVsIG9mIGNvbXByZXNzaW9uOiBgYDFgYCBwcm9kdWNlcyB0aGUKKyAgIGxlYXN0IGNvbXByZXNzaW9uLCBhbmQgYGA5YGAgKGRlZmF1bHQpIHByb2R1Y2VzIHRoZSBtb3N0IGNvbXByZXNzaW9uLgorCisgICBJZiAqbW9kZSogaXMgYGAncidgYCwgdGhlIGlucHV0IGZpbGUgbWF5IGJlIHRoZSBjb25jYXRlbmF0aW9uIG9mIG11bHRpcGxlCisgICBjb21wcmVzc2VkIHN0cmVhbXMuCisKKyAgIDpjbGFzczpgQloyRmlsZWAgcHJvdmlkZXMgYWxsIG9mIHRoZSBtZW1iZXJzIHNwZWNpZmllZCBieSB0aGUKKyAgIDpjbGFzczpgaW8uQnVmZmVyZWRJT0Jhc2VgLCBleGNlcHQgZm9yIDptZXRoOmBkZXRhY2hgIGFuZCA6bWV0aDpgdHJ1bmNhdGVgLgorICAgSXRlcmF0aW9uIGFuZCB0aGUgOmtleXdvcmQ6YHdpdGhgIHN0YXRlbWVudCBhcmUgc3VwcG9ydGVkLgorCisgICA6Y2xhc3M6YEJaMkZpbGVgIGFsc28gcHJvdmlkZXMgdGhlIGZvbGxvd2luZyBtZXRob2Q6CisKKyAgIC4uIG1ldGhvZDo6IHBlZWsoW25dKQorCisgICAgICBSZXR1cm4gYnVmZmVyZWQgZGF0YSB3aXRob3V0IGFkdmFuY2luZyB0aGUgZmlsZSBwb3NpdGlvbi4gQXQgbGVhc3Qgb25lCisgICAgICBieXRlIG9mIGRhdGEgd2lsbCBiZSByZXR1cm5lZCAodW5sZXNzIGF0IEVPRikuIFRoZSBleGFjdCBudW1iZXIgb2YgYnl0ZXMKKyAgICAgIHJldHVybmVkIGlzIHVuc3BlY2lmaWVkLgorCisgICAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKIAogICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjEKICAgICAgIFN1cHBvcnQgZm9yIHRoZSA6a2V5d29yZDpgd2l0aGAgc3RhdGVtZW50IHdhcyBhZGRlZC4KIAorICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjMKKyAgICAgIFRoZSA6bWV0aDpgZmlsZW5vYCwgOm1ldGg6YHJlYWRhYmxlYCwgOm1ldGg6YHNlZWthYmxlYCwgOm1ldGg6YHdyaXRhYmxlYCwKKyAgICAgIDptZXRoOmByZWFkMWAgYW5kIDptZXRoOmByZWFkaW50b2AgbWV0aG9kcyB3ZXJlIGFkZGVkLgogCi0gICAuLiBub3RlOjoKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy4zCisgICAgICBUaGUgKmZpbGVvYmoqIGFyZ3VtZW50IHRvIHRoZSBjb25zdHJ1Y3RvciB3YXMgYWRkZWQuCiAKLSAgICAgIFRoaXMgY2xhc3MgZG9lcyBub3Qgc3VwcG9ydCBpbnB1dCBmaWxlcyBjb250YWluaW5nIG11bHRpcGxlIHN0cmVhbXMgKHN1Y2gKLSAgICAgIGFzIHRob3NlIHByb2R1Y2VkIGJ5IHRoZSA6cHJvZ3JhbTpgcGJ6aXAyYCB0b29sKS4gV2hlbiByZWFkaW5nIHN1Y2ggYW4KLSAgICAgIGlucHV0IGZpbGUsIG9ubHkgdGhlIGZpcnN0IHN0cmVhbSB3aWxsIGJlIGFjY2Vzc2libGUuIElmIHlvdSByZXF1aXJlCi0gICAgICBzdXBwb3J0IGZvciBtdWx0aS1zdHJlYW0gZmlsZXMsIGNvbnNpZGVyIHVzaW5nIHRoZSB0aGlyZC1wYXJ0eQotICAgICAgOm1vZDpgYnoyZmlsZWAgbW9kdWxlIChhdmFpbGFibGUgZnJvbQotICAgICAgYFB5UEkgPGh0dHA6Ly9weXBpLnB5dGhvbi5vcmcvcHlwaS9iejJmaWxlPmBfKS4gVGhpcyBtb2R1bGUgcHJvdmlkZXMgYQotICAgICAgYmFja3BvcnQgb2YgUHl0aG9uIDMuMydzIDpjbGFzczpgQloyRmlsZWAgY2xhc3MsIHdoaWNoIGRvZXMgc3VwcG9ydAorICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjMKKyAgICAgIFRoZSBgYCdhJ2BgIChhcHBlbmQpIG1vZGUgd2FzIGFkZGVkLCBhbG9uZyB3aXRoIHN1cHBvcnQgZm9yIHJlYWRpbmcKICAgICAgIG11bHRpLXN0cmVhbSBmaWxlcy4KIAogCi0gICAuLiBtZXRob2Q6OiBjbG9zZSgpCi0KLSAgICAgIENsb3NlIHRoZSBmaWxlLiBTZXRzIGRhdGEgYXR0cmlidXRlIDphdHRyOmBjbG9zZWRgIHRvIHRydWUuIEEgY2xvc2VkIGZpbGUKLSAgICAgIGNhbm5vdCBiZSB1c2VkIGZvciBmdXJ0aGVyIEkvTyBvcGVyYXRpb25zLiA6bWV0aDpgY2xvc2VgIG1heSBiZSBjYWxsZWQKLSAgICAgIG1vcmUgdGhhbiBvbmNlIHdpdGhvdXQgZXJyb3IuCi0KLQotICAgLi4gbWV0aG9kOjogcmVhZChbc2l6ZV0pCi0KLSAgICAgIFJlYWQgYXQgbW9zdCAqc2l6ZSogdW5jb21wcmVzc2VkIGJ5dGVzLCByZXR1cm5lZCBhcyBhIGJ5dGUgc3RyaW5nLiBJZiB0aGUKLSAgICAgICpzaXplKiBhcmd1bWVudCBpcyBuZWdhdGl2ZSBvciBvbWl0dGVkLCByZWFkIHVudGlsIEVPRiBpcyByZWFjaGVkLgotCi0KLSAgIC4uIG1ldGhvZDo6IHJlYWRsaW5lKFtzaXplXSkKLQotICAgICAgUmV0dXJuIHRoZSBuZXh0IGxpbmUgZnJvbSB0aGUgZmlsZSwgYXMgYSBieXRlIHN0cmluZywgcmV0YWluaW5nIG5ld2xpbmUuCi0gICAgICBBIG5vbi1uZWdhdGl2ZSAqc2l6ZSogYXJndW1lbnQgbGltaXRzIHRoZSBtYXhpbXVtIG51bWJlciBvZiBieXRlcyB0bwotICAgICAgcmV0dXJuIChhbiBpbmNvbXBsZXRlIGxpbmUgbWF5IGJlIHJldHVybmVkIHRoZW4pLiBSZXR1cm4gYW4gZW1wdHkgYnl0ZQotICAgICAgc3RyaW5nIGF0IEVPRi4KLQotCi0gICAuLiBtZXRob2Q6OiByZWFkbGluZXMoW3NpemVdKQotCi0gICAgICBSZXR1cm4gYSBsaXN0IG9mIGxpbmVzIHJlYWQuIFRoZSBvcHRpb25hbCAqc2l6ZSogYXJndW1lbnQsIGlmIGdpdmVuLCBpcyBhbgotICAgICAgYXBwcm94aW1hdGUgYm91bmQgb24gdGhlIHRvdGFsIG51bWJlciBvZiBieXRlcyBpbiB0aGUgbGluZXMgcmV0dXJuZWQuCi0KLQotICAgLi4gbWV0aG9kOjogc2VlayhvZmZzZXRbLCB3aGVuY2VdKQotCi0gICAgICBNb3ZlIHRvIG5ldyBmaWxlIHBvc2l0aW9uLiBBcmd1bWVudCAqb2Zmc2V0KiBpcyBhIGJ5dGUgY291bnQuIE9wdGlvbmFsCi0gICAgICBhcmd1bWVudCAqd2hlbmNlKiBkZWZhdWx0cyB0byBgYG9zLlNFRUtfU0VUYGAgb3IgYGAwYGAgKG9mZnNldCBmcm9tIHN0YXJ0Ci0gICAgICBvZiBmaWxlOyBvZmZzZXQgc2hvdWxkIGJlIGBgPj0gMGBgKTsgb3RoZXIgdmFsdWVzIGFyZSBgYG9zLlNFRUtfQ1VSYGAgb3IKLSAgICAgIGBgMWBgIChtb3ZlIHJlbGF0aXZlIHRvIGN1cnJlbnQgcG9zaXRpb247IG9mZnNldCBjYW4gYmUgcG9zaXRpdmUgb3IKLSAgICAgIG5lZ2F0aXZlKSwgYW5kIGBgb3MuU0VFS19FTkRgYCBvciBgYDJgYCAobW92ZSByZWxhdGl2ZSB0byBlbmQgb2YgZmlsZTsKLSAgICAgIG9mZnNldCBpcyB1c3VhbGx5IG5lZ2F0aXZlLCBhbHRob3VnaCBtYW55IHBsYXRmb3JtcyBhbGxvdyBzZWVraW5nIGJleW9uZAotICAgICAgdGhlIGVuZCBvZiBhIGZpbGUpLgotCi0gICAgICBOb3RlIHRoYXQgc2Vla2luZyBvZiBiejIgZmlsZXMgaXMgZW11bGF0ZWQsIGFuZCBkZXBlbmRpbmcgb24gdGhlCi0gICAgICBwYXJhbWV0ZXJzIHRoZSBvcGVyYXRpb24gbWF5IGJlIGV4dHJlbWVseSBzbG93LgotCi0KLSAgIC4uIG1ldGhvZDo6IHRlbGwoKQotCi0gICAgICBSZXR1cm4gdGhlIGN1cnJlbnQgZmlsZSBwb3NpdGlvbiwgYW4gaW50ZWdlci4KLQotCi0gICAuLiBtZXRob2Q6OiB3cml0ZShkYXRhKQotCi0gICAgICBXcml0ZSB0aGUgYnl0ZSBzdHJpbmcgKmRhdGEqIHRvIGZpbGUuIE5vdGUgdGhhdCBkdWUgdG8gYnVmZmVyaW5nLAotICAgICAgOm1ldGg6YGNsb3NlYCBtYXkgYmUgbmVlZGVkIGJlZm9yZSB0aGUgZmlsZSBvbiBkaXNrIHJlZmxlY3RzIHRoZSBkYXRhCi0gICAgICB3cml0dGVuLgotCi0KLSAgIC4uIG1ldGhvZDo6IHdyaXRlbGluZXMoc2VxdWVuY2Vfb2ZfYnl0ZV9zdHJpbmdzKQotCi0gICAgICBXcml0ZSB0aGUgc2VxdWVuY2Ugb2YgYnl0ZSBzdHJpbmdzIHRvIHRoZSBmaWxlLiBOb3RlIHRoYXQgbmV3bGluZXMgYXJlIG5vdAotICAgICAgYWRkZWQuIFRoZSBzZXF1ZW5jZSBjYW4gYmUgYW55IGl0ZXJhYmxlIG9iamVjdCBwcm9kdWNpbmcgYnl0ZSBzdHJpbmdzLgotICAgICAgVGhpcyBpcyBlcXVpdmFsZW50IHRvIGNhbGxpbmcgd3JpdGUoKSBmb3IgZWFjaCBieXRlIHN0cmluZy4KLQotCi1TZXF1ZW50aWFsIChkZSljb21wcmVzc2lvbgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLQotU2VxdWVudGlhbCBjb21wcmVzc2lvbiBhbmQgZGVjb21wcmVzc2lvbiBpcyBkb25lIHVzaW5nIHRoZSBjbGFzc2VzCi06Y2xhc3M6YEJaMkNvbXByZXNzb3JgIGFuZCA6Y2xhc3M6YEJaMkRlY29tcHJlc3NvcmAuCi0KK0luY3JlbWVudGFsIChkZSljb21wcmVzc2lvbgorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKIC4uIGNsYXNzOjogQloyQ29tcHJlc3Nvcihjb21wcmVzc2xldmVsPTkpCiAKICAgIENyZWF0ZSBhIG5ldyBjb21wcmVzc29yIG9iamVjdC4gVGhpcyBvYmplY3QgbWF5IGJlIHVzZWQgdG8gY29tcHJlc3MgZGF0YQotICAgc2VxdWVudGlhbGx5LiBJZiB5b3Ugd2FudCB0byBjb21wcmVzcyBkYXRhIGluIG9uZSBzaG90LCB1c2UgdGhlCi0gICA6ZnVuYzpgY29tcHJlc3NgIGZ1bmN0aW9uIGluc3RlYWQuIFRoZSAqY29tcHJlc3NsZXZlbCogcGFyYW1ldGVyLCBpZiBnaXZlbiwKLSAgIG11c3QgYmUgYSBudW1iZXIgYmV0d2VlbiBgYDFgYCBhbmQgYGA5YGA7IHRoZSBkZWZhdWx0IGlzIGBgOWBgLgorICAgaW5jcmVtZW50YWxseS4gRm9yIG9uZS1zaG90IGNvbXByZXNzaW9uLCB1c2UgdGhlIDpmdW5jOmBjb21wcmVzc2AgZnVuY3Rpb24KKyAgIGluc3RlYWQuCisKKyAgICpjb21wcmVzc2xldmVsKiwgaWYgZ2l2ZW4sIG11c3QgYmUgYSBudW1iZXIgYmV0d2VlbiBgYDFgYCBhbmQgYGA5YGAuIFRoZQorICAgZGVmYXVsdCBpcyBgYDlgYC4KIAogICAgLi4gbWV0aG9kOjogY29tcHJlc3MoZGF0YSkKIAotICAgICAgUHJvdmlkZSBtb3JlIGRhdGEgdG8gdGhlIGNvbXByZXNzb3Igb2JqZWN0LiBJdCB3aWxsIHJldHVybiBjaHVua3Mgb2YKLSAgICAgIGNvbXByZXNzZWQgZGF0YSB3aGVuZXZlciBwb3NzaWJsZS4gV2hlbiB5b3UndmUgZmluaXNoZWQgcHJvdmlkaW5nIGRhdGEgdG8KLSAgICAgIGNvbXByZXNzLCBjYWxsIHRoZSA6bWV0aDpgZmx1c2hgIG1ldGhvZCB0byBmaW5pc2ggdGhlIGNvbXByZXNzaW9uIHByb2Nlc3MsCi0gICAgICBhbmQgcmV0dXJuIHdoYXQgaXMgbGVmdCBpbiBpbnRlcm5hbCBidWZmZXJzLgorICAgICAgUHJvdmlkZSBkYXRhIHRvIHRoZSBjb21wcmVzc29yIG9iamVjdC4gUmV0dXJucyBhIGNodW5rIG9mIGNvbXByZXNzZWQgZGF0YQorICAgICAgaWYgcG9zc2libGUsIG9yIGFuIGVtcHR5IGJ5dGUgc3RyaW5nIG90aGVyd2lzZS4KKworICAgICAgV2hlbiB5b3UgaGF2ZSBmaW5pc2hlZCBwcm92aWRpbmcgZGF0YSB0byB0aGUgY29tcHJlc3NvciwgY2FsbCB0aGUKKyAgICAgIDptZXRoOmBmbHVzaGAgbWV0aG9kIHRvIGZpbmlzaCB0aGUgY29tcHJlc3Npb24gcHJvY2Vzcy4KIAogCiAgICAuLiBtZXRob2Q6OiBmbHVzaCgpCiAKLSAgICAgIEZpbmlzaCB0aGUgY29tcHJlc3Npb24gcHJvY2VzcyBhbmQgcmV0dXJuIHdoYXQgaXMgbGVmdCBpbiBpbnRlcm5hbAotICAgICAgYnVmZmVycy4gWW91IG11c3Qgbm90IHVzZSB0aGUgY29tcHJlc3NvciBvYmplY3QgYWZ0ZXIgY2FsbGluZyB0aGlzIG1ldGhvZC4KKyAgICAgIEZpbmlzaCB0aGUgY29tcHJlc3Npb24gcHJvY2Vzcy4gUmV0dXJucyB0aGUgY29tcHJlc3NlZCBkYXRhIGxlZnQgaW4KKyAgICAgIGludGVybmFsIGJ1ZmZlcnMuCisKKyAgICAgIFRoZSBjb21wcmVzc29yIG9iamVjdCBtYXkgbm90IGJlIHVzZWQgYWZ0ZXIgdGhpcyBtZXRob2QgaGFzIGJlZW4gY2FsbGVkLgogCiAKIC4uIGNsYXNzOjogQloyRGVjb21wcmVzc29yKCkKIAogICAgQ3JlYXRlIGEgbmV3IGRlY29tcHJlc3NvciBvYmplY3QuIFRoaXMgb2JqZWN0IG1heSBiZSB1c2VkIHRvIGRlY29tcHJlc3MgZGF0YQotICAgc2VxdWVudGlhbGx5LiBJZiB5b3Ugd2FudCB0byBkZWNvbXByZXNzIGRhdGEgaW4gb25lIHNob3QsIHVzZSB0aGUKLSAgIDpmdW5jOmBkZWNvbXByZXNzYCBmdW5jdGlvbiBpbnN0ZWFkLgorICAgaW5jcmVtZW50YWxseS4gRm9yIG9uZS1zaG90IGNvbXByZXNzaW9uLCB1c2UgdGhlIDpmdW5jOmBkZWNvbXByZXNzYCBmdW5jdGlvbgorICAgaW5zdGVhZC4KKworICAgLi4gbm90ZTo6CisgICAgICBUaGlzIGNsYXNzIGRvZXMgbm90IHRyYW5zcGFyZW50bHkgaGFuZGxlIGlucHV0cyBjb250YWluaW5nIG11bHRpcGxlCisgICAgICBjb21wcmVzc2VkIHN0cmVhbXMsIHVubGlrZSA6ZnVuYzpgZGVjb21wcmVzc2AgYW5kIDpjbGFzczpgQloyRmlsZWAuIElmCisgICAgICB5b3UgbmVlZCB0byBkZWNvbXByZXNzIGEgbXVsdGktc3RyZWFtIGlucHV0IHdpdGggOmNsYXNzOmBCWjJEZWNvbXByZXNzb3JgLAorICAgICAgeW91IG11c3QgdXNlIGEgbmV3IGRlY29tcHJlc3NvciBmb3IgZWFjaCBzdHJlYW0uCiAKICAgIC4uIG1ldGhvZDo6IGRlY29tcHJlc3MoZGF0YSkKIAotICAgICAgUHJvdmlkZSBtb3JlIGRhdGEgdG8gdGhlIGRlY29tcHJlc3NvciBvYmplY3QuIEl0IHdpbGwgcmV0dXJuIGNodW5rcyBvZgotICAgICAgZGVjb21wcmVzc2VkIGRhdGEgd2hlbmV2ZXIgcG9zc2libGUuIElmIHlvdSB0cnkgdG8gZGVjb21wcmVzcyBkYXRhIGFmdGVyCi0gICAgICB0aGUgZW5kIG9mIHN0cmVhbSBpcyBmb3VuZCwgOmV4YzpgRU9GRXJyb3JgIHdpbGwgYmUgcmFpc2VkLiBJZiBhbnkgZGF0YQotICAgICAgd2FzIGZvdW5kIGFmdGVyIHRoZSBlbmQgb2Ygc3RyZWFtLCBpdCdsbCBiZSBpZ25vcmVkIGFuZCBzYXZlZCBpbgotICAgICAgOmF0dHI6YHVudXNlZF9kYXRhYCBhdHRyaWJ1dGUuCisgICAgICBQcm92aWRlIGRhdGEgdG8gdGhlIGRlY29tcHJlc3NvciBvYmplY3QuIFJldHVybnMgYSBjaHVuayBvZiBkZWNvbXByZXNzZWQKKyAgICAgIGRhdGEgaWYgcG9zc2libGUsIG9yIGFuIGVtcHR5IGJ5dGUgc3RyaW5nIG90aGVyd2lzZS4KKworICAgICAgQXR0ZW1wdGluZyB0byBkZWNvbXByZXNzIGRhdGEgYWZ0ZXIgdGhlIGVuZCBvZiB0aGUgY3VycmVudCBzdHJlYW0gaXMKKyAgICAgIHJlYWNoZWQgcmFpc2VzIGFuIDpleGM6YEVPRkVycm9yYC4gSWYgYW55IGRhdGEgaXMgZm91bmQgYWZ0ZXIgdGhlIGVuZCBvZgorICAgICAgdGhlIHN0cmVhbSwgaXQgaXMgaWdub3JlZCBhbmQgc2F2ZWQgaW4gdGhlIDphdHRyOmB1bnVzZWRfZGF0YWAgYXR0cmlidXRlLgorCisKKyAgIC4uIGF0dHJpYnV0ZTo6IGVvZgorCisgICAgICBUcnVlIGlmIHRoZSBlbmQtb2Ytc3RyZWFtIG1hcmtlciBoYXMgYmVlbiByZWFjaGVkLgorCisgICAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKKworCisgICAuLiBhdHRyaWJ1dGU6OiB1bnVzZWRfZGF0YQorCisgICAgICBEYXRhIGZvdW5kIGFmdGVyIHRoZSBlbmQgb2YgdGhlIGNvbXByZXNzZWQgc3RyZWFtLgorCisgICAgICBJZiB0aGlzIGF0dHJpYnV0ZSBpcyBhY2Nlc3NlZCBiZWZvcmUgdGhlIGVuZCBvZiB0aGUgc3RyZWFtIGhhcyBiZWVuCisgICAgICByZWFjaGVkLCBpdHMgdmFsdWUgd2lsbCBiZSBgYGInJ2BgLgogCiAKIE9uZS1zaG90IChkZSljb21wcmVzc2lvbgogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKLU9uZS1zaG90IGNvbXByZXNzaW9uIGFuZCBkZWNvbXByZXNzaW9uIGlzIHByb3ZpZGVkIHRocm91Z2ggdGhlIDpmdW5jOmBjb21wcmVzc2AKLWFuZCA6ZnVuYzpgZGVjb21wcmVzc2AgZnVuY3Rpb25zLgotCi0KIC4uIGZ1bmN0aW9uOjogY29tcHJlc3MoZGF0YSwgY29tcHJlc3NsZXZlbD05KQogCi0gICBDb21wcmVzcyAqZGF0YSogaW4gb25lIHNob3QuIElmIHlvdSB3YW50IHRvIGNvbXByZXNzIGRhdGEgc2VxdWVudGlhbGx5LCB1c2UKLSAgIGFuIGluc3RhbmNlIG9mIDpjbGFzczpgQloyQ29tcHJlc3NvcmAgaW5zdGVhZC4gVGhlICpjb21wcmVzc2xldmVsKiBwYXJhbWV0ZXIsCi0gICBpZiBnaXZlbiwgbXVzdCBiZSBhIG51bWJlciBiZXR3ZWVuIGBgMWBgIGFuZCBgYDlgYDsgdGhlIGRlZmF1bHQgaXMgYGA5YGAuCisgICBDb21wcmVzcyAqZGF0YSouCisKKyAgICpjb21wcmVzc2xldmVsKiwgaWYgZ2l2ZW4sIG11c3QgYmUgYSBudW1iZXIgYmV0d2VlbiBgYDFgYCBhbmQgYGA5YGAuIFRoZQorICAgZGVmYXVsdCBpcyBgYDlgYC4KKworICAgRm9yIGluY3JlbWVudGFsIGNvbXByZXNzaW9uLCB1c2UgYSA6Y2xhc3M6YEJaMkNvbXByZXNzb3JgIGluc3RlYWQuCiAKIAogLi4gZnVuY3Rpb246OiBkZWNvbXByZXNzKGRhdGEpCiAKLSAgIERlY29tcHJlc3MgKmRhdGEqIGluIG9uZSBzaG90LiBJZiB5b3Ugd2FudCB0byBkZWNvbXByZXNzIGRhdGEgc2VxdWVudGlhbGx5LAotICAgdXNlIGFuIGluc3RhbmNlIG9mIDpjbGFzczpgQloyRGVjb21wcmVzc29yYCBpbnN0ZWFkLgorICAgRGVjb21wcmVzcyAqZGF0YSouCisKKyAgIElmICpkYXRhKiBpcyB0aGUgY29uY2F0ZW5hdGlvbiBvZiBtdWx0aXBsZSBjb21wcmVzc2VkIHN0cmVhbXMsIGRlY29tcHJlc3MKKyAgIGFsbCBvZiB0aGUgc3RyZWFtcy4KKworICAgRm9yIGluY3JlbWVudGFsIGRlY29tcHJlc3Npb24sIHVzZSBhIDpjbGFzczpgQloyRGVjb21wcmVzc29yYCBpbnN0ZWFkLgorCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMworICAgICAgU3VwcG9ydCBmb3IgbXVsdGktc3RyZWFtIGlucHV0cyB3YXMgYWRkZWQuCiAKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L2NodW5rLnJzdCBiL0RvYy9saWJyYXJ5L2NodW5rLnJzdAppbmRleCBkMzU1OGE0Li5jMWJhNDk3IDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9jaHVuay5yc3QKKysrIGIvRG9jL2xpYnJhcnkvY2h1bmsucnN0CkBAIC04NCw4ICs4NCw5IEBACiAgICAgICBDbG9zZSBhbmQgc2tpcCB0byB0aGUgZW5kIG9mIHRoZSBjaHVuay4gIFRoaXMgZG9lcyBub3QgY2xvc2UgdGhlCiAgICAgICB1bmRlcmx5aW5nIGZpbGUuCiAKLSAgIFRoZSByZW1haW5pbmcgbWV0aG9kcyB3aWxsIHJhaXNlIDpleGM6YElPRXJyb3JgIGlmIGNhbGxlZCBhZnRlciB0aGUKLSAgIDptZXRoOmBjbG9zZWAgbWV0aG9kIGhhcyBiZWVuIGNhbGxlZC4KKyAgIFRoZSByZW1haW5pbmcgbWV0aG9kcyB3aWxsIHJhaXNlIDpleGM6YE9TRXJyb3JgIGlmIGNhbGxlZCBhZnRlciB0aGUKKyAgIDptZXRoOmBjbG9zZWAgbWV0aG9kIGhhcyBiZWVuIGNhbGxlZC4gIEJlZm9yZSBQeXRob24gMy4zLCB0aGV5IHVzZWQgdG8KKyAgIHJhaXNlIDpleGM6YElPRXJyb3JgLCBub3cgYW4gYWxpYXMgb2YgOmV4YzpgT1NFcnJvcmAuCiAKIAogICAgLi4gbWV0aG9kOjogaXNhdHR5KCkKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L2NtZC5yc3QgYi9Eb2MvbGlicmFyeS9jbWQucnN0CmluZGV4IGZkN2Y0NTMuLjBjNDNiYjggMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L2NtZC5yc3QKKysrIGIvRG9jL2xpYnJhcnkvY21kLnJzdApAQCAtMjg1LDggKzI4NSw4IEBACiAgICAgICAgIGRlZiBkb19wbGF5YmFjayhzZWxmLCBhcmcpOgogICAgICAgICAgICAgJ1BsYXliYWNrIGNvbW1hbmRzIGZyb20gYSBmaWxlOiAgUExBWUJBQ0sgcm9zZS5jbWQnCiAgICAgICAgICAgICBzZWxmLmNsb3NlKCkKLSAgICAgICAgICAgIGNtZHMgPSBvcGVuKGFyZykucmVhZCgpLnNwbGl0bGluZXMoKQotICAgICAgICAgICAgc2VsZi5jbWRxdWV1ZS5leHRlbmQoY21kcykKKyAgICAgICAgICAgIHdpdGggb3BlbihhcmcpIGFzIGY6CisgICAgICAgICAgICAgICAgc2VsZi5jbWRxdWV1ZS5leHRlbmQoZi5yZWFkKCkuc3BsaXRsaW5lcygpKQogICAgICAgICBkZWYgcHJlY21kKHNlbGYsIGxpbmUpOgogICAgICAgICAgICAgbGluZSA9IGxpbmUubG93ZXIoKQogICAgICAgICAgICAgaWYgc2VsZi5maWxlIGFuZCAncGxheWJhY2snIG5vdCBpbiBsaW5lOgpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvY29kZWNzLnJzdCBiL0RvYy9saWJyYXJ5L2NvZGVjcy5yc3QKaW5kZXggNzc0Nzc5NC4uYTlmYWU5NSAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvY29kZWNzLnJzdAorKysgYi9Eb2MvbGlicmFyeS9jb2RlY3MucnN0CkBAIC00NTgsNyArNDU4LDggQEAKIAogICAgLi4gbWV0aG9kOjogcmVzZXQoKQogCi0gICAgICBSZXNldCB0aGUgZW5jb2RlciB0byB0aGUgaW5pdGlhbCBzdGF0ZS4KKyAgICAgIFJlc2V0IHRoZSBlbmNvZGVyIHRvIHRoZSBpbml0aWFsIHN0YXRlLiBUaGUgb3V0cHV0IGlzIGRpc2NhcmRlZDogY2FsbAorICAgICAgYGAuZW5jb2RlKCcnLCBmaW5hbD1UcnVlKWBgIHRvIHJlc2V0IHRoZSBlbmNvZGVyIGFuZCB0byBnZXQgdGhlIG91dHB1dC4KIAogCiAuLiBtZXRob2Q6OiBJbmNyZW1lbnRhbEVuY29kZXIuZ2V0c3RhdGUoKQpAQCAtNzg2LDExICs3ODcsOSBAQAogRW5jb2RpbmdzIGFuZCBVbmljb2RlCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAotU3RyaW5ncyBhcmUgc3RvcmVkIGludGVybmFsbHkgYXMgc2VxdWVuY2VzIG9mIGNvZGVwb2ludHMgKHRvIGJlIHByZWNpc2UKLWFzIDpjOnR5cGU6YFB5X1VOSUNPREVgIGFycmF5cykuIERlcGVuZGluZyBvbiB0aGUgd2F5IFB5dGhvbiBpcyBjb21waWxlZCAoZWl0aGVyCi12aWEgYGAtLXdpdGhvdXQtd2lkZS11bmljb2RlYGAgb3IgYGAtLXdpdGgtd2lkZS11bmljb2RlYGAsIHdpdGggdGhlCi1mb3JtZXIgYmVpbmcgdGhlIGRlZmF1bHQpIDpjOnR5cGU6YFB5X1VOSUNPREVgIGlzIGVpdGhlciBhIDE2LWJpdCBvciAzMi1iaXQgZGF0YQotdHlwZS4gT25jZSBhIHN0cmluZyBvYmplY3QgaXMgdXNlZCBvdXRzaWRlIG9mIENQVSBhbmQgbWVtb3J5LCBDUFUgZW5kaWFubmVzcworU3RyaW5ncyBhcmUgc3RvcmVkIGludGVybmFsbHkgYXMgc2VxdWVuY2VzIG9mIGNvZGVwb2ludHMgaW4gcmFuZ2UgYGAwIC0gMTBGRkZGYGAKKyhzZWUgOnBlcDpgMzkzYCBmb3IgbW9yZSBkZXRhaWxzIGFib3V0IHRoZSBpbXBsZW1lbnRhdGlvbikuCitPbmNlIGEgc3RyaW5nIG9iamVjdCBpcyB1c2VkIG91dHNpZGUgb2YgQ1BVIGFuZCBtZW1vcnksIENQVSBlbmRpYW5uZXNzCiBhbmQgaG93IHRoZXNlIGFycmF5cyBhcmUgc3RvcmVkIGFzIGJ5dGVzIGJlY29tZSBhbiBpc3N1ZS4gIFRyYW5zZm9ybWluZyBhCiBzdHJpbmcgb2JqZWN0IGludG8gYSBzZXF1ZW5jZSBvZiBieXRlcyBpcyBjYWxsZWQgZW5jb2RpbmcgYW5kIHJlY3JlYXRpbmcgdGhlCiBzdHJpbmcgb2JqZWN0IGZyb20gdGhlIHNlcXVlbmNlIG9mIGJ5dGVzIGlzIGtub3duIGFzIGRlY29kaW5nLiAgVGhlcmUgYXJlIG1hbnkKQEAgLTkwMSw2ICs5MDAsMTUgQEAKIGNhc2Ugb3IgdXNlIGEgaHlwaGVuIGluc3RlYWQgb2YgYW4gdW5kZXJzY29yZSBhcmUgYWxzbyB2YWxpZCBhbGlhc2VzOyB0aGVyZWZvcmUsCiBlLmcuIGBgJ3V0Zi04J2BgIGlzIGEgdmFsaWQgYWxpYXMgZm9yIHRoZSBgYCd1dGZfOCdgYCBjb2RlYy4KIAorLi4gaW1wbC1kZXRhaWw6OgorCisgICBTb21lIGNvbW1vbiBlbmNvZGluZ3MgY2FuIGJ5cGFzcyB0aGUgY29kZWNzIGxvb2t1cCBtYWNoaW5lcnkgdG8KKyAgIGltcHJvdmUgcGVyZm9ybWFuY2UuICBUaGVzZSBvcHRpbWl6YXRpb24gb3Bwb3J0dW5pdGllcyBhcmUgb25seQorICAgcmVjb2duaXplZCBieSBDUHl0aG9uIGZvciBhIGxpbWl0ZWQgc2V0IG9mIGFsaWFzZXM6IHV0Zi04LCB1dGY4LAorICAgbGF0aW4tMSwgbGF0aW4xLCBpc28tODg1OS0xLCBtYmNzIChXaW5kb3dzIG9ubHkpLCBhc2NpaSwgdXRmLTE2LAorICAgYW5kIHV0Zi0zMi4gIFVzaW5nIGFsdGVybmF0aXZlIHNwZWxsaW5ncyBmb3IgdGhlc2UgZW5jb2RpbmdzIG1heQorICAgcmVzdWx0IGluIHNsb3dlciBleGVjdXRpb24uCisKIE1hbnkgb2YgdGhlIGNoYXJhY3RlciBzZXRzIHN1cHBvcnQgdGhlIHNhbWUgbGFuZ3VhZ2VzLiBUaGV5IHZhcnkgaW4gaW5kaXZpZHVhbAogY2hhcmFjdGVycyAoZS5nLiB3aGV0aGVyIHRoZSBFVVJPIFNJR04gaXMgc3VwcG9ydGVkIG9yIG5vdCksIGFuZCBpbiB0aGUKIGFzc2lnbm1lbnQgb2YgY2hhcmFjdGVycyB0byBjb2RlIHBvc2l0aW9ucy4gRm9yIHRoZSBFdXJvcGVhbiBsYW5ndWFnZXMgaW4KQEAgLTEwMDMsNiArMTAxMSwxMSBAQAogKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwogfCBjcDEyNTggICAgICAgICAgfCB3aW5kb3dzLTEyNTggICAgICAgICAgICAgICAgICAgfCBWaWV0bmFtZXNlICAgICAgICAgICAgICAgICAgICAgfAogKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworfCBjcDY1MDAxICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBXaW5kb3dzIG9ubHk6IFdpbmRvd3MgVVRGLTggICAgfAorfCAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAoYGBDUF9VVEY4YGApICAgICAgICAgICAgICAgICAgfAorfCAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorfCAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMgICAgICAgICAgfAorKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwogfCBldWNfanAgICAgICAgICAgfCBldWNqcCwgdWppcywgdS1qaXMgICAgICAgICAgICAgfCBKYXBhbmVzZSAgICAgICAgICAgICAgICAgICAgICAgfAogKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwogfCBldWNfamlzXzIwMDQgICAgfCBqaXN4MDIxMywgZXVjamlzMjAwNCAgICAgICAgICAgfCBKYXBhbmVzZSAgICAgICAgICAgICAgICAgICAgICAgfApAQCAtMTE2MCw2ICsxMTczLDggQEAKIHwgdW5pY29kZV9pbnRlcm5hbCAgIHwgICAgICAgICB8IFJldHVybiB0aGUgaW50ZXJuYWwgICAgICAgfAogfCAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgcmVwcmVzZW50YXRpb24gb2YgdGhlICAgICB8CiB8ICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfCBvcGVyYW5kICAgICAgICAgICAgICAgICAgIHwKK3wgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorfCAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHwgLi4gZGVwcmVjYXRlZDo6IDMuMyAgICAgICB8CiArLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKIAogVGhlIGZvbGxvd2luZyBjb2RlY3MgcHJvdmlkZSBieXRlcy10by1ieXRlcyBtYXBwaW5ncy4KQEAgLTEyNzIsMTIgKzEyODcsMTMgQEAKIC4uIG1vZHVsZTo6IGVuY29kaW5ncy5tYmNzCiAgICA6c3lub3BzaXM6IFdpbmRvd3MgQU5TSSBjb2RlcGFnZQogCi1FbmNvZGUgb3BlcmFuZCBhY2NvcmRpbmcgdG8gdGhlIEFOU0kgY29kZXBhZ2UgKENQX0FDUCkuIFRoaXMgY29kZWMgb25seQotc3VwcG9ydHMgYGAnc3RyaWN0J2BgIGFuZCBgYCdyZXBsYWNlJ2BgIGVycm9yIGhhbmRsZXJzIHRvIGVuY29kZSwgYW5kCi1gYCdzdHJpY3QnYGAgYW5kIGBgJ2lnbm9yZSdgYCBlcnJvciBoYW5kbGVycyB0byBkZWNvZGUuCitFbmNvZGUgb3BlcmFuZCBhY2NvcmRpbmcgdG8gdGhlIEFOU0kgY29kZXBhZ2UgKENQX0FDUCkuCiAKIEF2YWlsYWJpbGl0eTogV2luZG93cyBvbmx5LgogCisuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMworICAgU3VwcG9ydCBhbnkgZXJyb3IgaGFuZGxlci4KKwogLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjIKICAgIEJlZm9yZSAzLjIsIHRoZSAqZXJyb3JzKiBhcmd1bWVudCB3YXMgaWdub3JlZDsgYGAncmVwbGFjZSdgYCB3YXMgYWx3YXlzIHVzZWQKICAgIHRvIGVuY29kZSwgYW5kIGBgJ2lnbm9yZSdgYCB0byBkZWNvZGUuCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9jb2xsZWN0aW9ucy5hYmMucnN0IGIvRG9jL2xpYnJhcnkvY29sbGVjdGlvbnMuYWJjLnJzdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ODczNDg5Ci0tLSAvZGV2L251bGwKKysrIGIvRG9jL2xpYnJhcnkvY29sbGVjdGlvbnMuYWJjLnJzdApAQCAtMCwwICsxLDE4MiBAQAorOm1vZDpgY29sbGVjdGlvbnMuYWJjYCAtLS0gQWJzdHJhY3QgQmFzZSBDbGFzc2VzIGZvciBDb250YWluZXJzCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworLi4gbW9kdWxlOjogY29sbGVjdGlvbnMuYWJjCisgICA6c3lub3BzaXM6IEFic3RyYWN0IGJhc2UgY2xhc3NlcyBmb3IgY29udGFpbmVycworLi4gbW9kdWxlYXV0aG9yOjogUmF5bW9uZCBIZXR0aW5nZXIgPHB5dGhvbiBhdCByY24uY29tPgorLi4gc2VjdGlvbmF1dGhvcjo6IFJheW1vbmQgSGV0dGluZ2VyIDxweXRob24gYXQgcmNuLmNvbT4KKworLi4gdmVyc2lvbmFkZGVkOjogMy4zCisgICBGb3JtZXJseSwgdGhpcyBtb2R1bGUgd2FzIHBhcnQgb2YgdGhlIDptb2Q6YGNvbGxlY3Rpb25zYCBtb2R1bGUuCisKKy4uIHRlc3RzZXR1cDo6ICoKKworICAgZnJvbSBjb2xsZWN0aW9ucyBpbXBvcnQgKgorICAgaW1wb3J0IGl0ZXJ0b29scworICAgX19uYW1lX18gPSAnPGRvY3Rlc3Q+JworCisqKlNvdXJjZSBjb2RlOioqIDpzb3VyY2U6YExpYi9jb2xsZWN0aW9ucy9hYmMucHlgCisKKy0tLS0tLS0tLS0tLS0tCisKK1RoaXMgbW9kdWxlIHByb3ZpZGVzIDp0ZXJtOmBhYnN0cmFjdCBiYXNlIGNsYXNzZXMgPGFic3RyYWN0IGJhc2UgY2xhc3M+YCB0aGF0CitjYW4gYmUgdXNlZCB0byB0ZXN0IHdoZXRoZXIgYSBjbGFzcyBwcm92aWRlcyBhIHBhcnRpY3VsYXIgaW50ZXJmYWNlOyBmb3IKK2V4YW1wbGUsIHdoZXRoZXIgaXQgaXMgaGFzaGFibGUgb3Igd2hldGhlciBpdCBpcyBhIG1hcHBpbmcuCisKKworLi4gX2NvbGxlY3Rpb25zLWFic3RyYWN0LWJhc2UtY2xhc3NlczoKKworQ29sbGVjdGlvbnMgQWJzdHJhY3QgQmFzZSBDbGFzc2VzCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworVGhlIGNvbGxlY3Rpb25zIG1vZHVsZSBvZmZlcnMgdGhlIGZvbGxvd2luZyA6dGVybTpgQUJDcyA8YWJzdHJhY3QgYmFzZSBjbGFzcz5gOgorCis9PT09PT09PT09PT09PT09PT09PT09PT09ICA9PT09PT09PT09PT09PT09PT09PT0gID09PT09PT09PT09PT09PT09PT09PT0gID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KK0FCQyAgICAgICAgICAgICAgICAgICAgICAgIEluaGVyaXRzIGZyb20gICAgICAgICAgQWJzdHJhY3QgTWV0aG9kcyAgICAgICAgTWl4aW4gTWV0aG9kcworPT09PT09PT09PT09PT09PT09PT09PT09PSAgPT09PT09PT09PT09PT09PT09PT09ICA9PT09PT09PT09PT09PT09PT09PT09ICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cis6Y2xhc3M6YENvbnRhaW5lcmAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBgX19jb250YWluc19fYGAKKzpjbGFzczpgSGFzaGFibGVgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYGBfX2hhc2hfX2BgCis6Y2xhc3M6YEl0ZXJhYmxlYCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBgX19pdGVyX19gYAorOmNsYXNzOmBJdGVyYXRvcmAgICAgICAgICAgOmNsYXNzOmBJdGVyYWJsZWAgICAgICBgYF9fbmV4dF9fYGAgICAgICAgICAgICBgYF9faXRlcl9fYGAKKzpjbGFzczpgU2l6ZWRgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYGBfX2xlbl9fYGAKKzpjbGFzczpgQ2FsbGFibGVgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYGBfX2NhbGxfX2BgCisKKzpjbGFzczpgU2VxdWVuY2VgICAgICAgICAgIDpjbGFzczpgU2l6ZWRgLCAgICAgICAgYGBfX2dldGl0ZW1fX2BgICAgICAgICAgYGBfX2NvbnRhaW5zX19gYCwgYGBfX2l0ZXJfX2BgLCBgYF9fcmV2ZXJzZWRfX2BgLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgOmNsYXNzOmBJdGVyYWJsZWAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgYGluZGV4YGAsIGFuZCBgYGNvdW50YGAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIDpjbGFzczpgQ29udGFpbmVyYAorCis6Y2xhc3M6YE11dGFibGVTZXF1ZW5jZWAgICA6Y2xhc3M6YFNlcXVlbmNlYCAgICAgIGBgX19zZXRpdGVtX19gYCwgICAgICAgIEluaGVyaXRlZCA6Y2xhc3M6YFNlcXVlbmNlYCBtZXRob2RzIGFuZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgYF9fZGVsaXRlbV9fYGAsICAgICAgICBgYGFwcGVuZGBgLCBgYHJldmVyc2VgYCwgYGBleHRlbmRgYCwgYGBwb3BgYCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYGBpbnNlcnRgYCAgICAgICAgICAgICAgYGByZW1vdmVgYCwgYGBjbGVhcmBgLCBhbmQgYGBfX2lhZGRfX2BgCisKKzpjbGFzczpgU2V0YCAgICAgICAgICAgICAgIDpjbGFzczpgU2l6ZWRgLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYGBfX2xlX19gYCwgYGBfX2x0X19gYCwgYGBfX2VxX19gYCwgYGBfX25lX19gYCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIDpjbGFzczpgSXRlcmFibGVgLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYGBfX2d0X19gYCwgYGBfX2dlX19gYCwgYGBfX2FuZF9fYGAsIGBgX19vcl9fYGAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICA6Y2xhc3M6YENvbnRhaW5lcmAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBgX19zdWJfX2BgLCBgYF9feG9yX19gYCwgYW5kIGBgaXNkaXNqb2ludGBgCisKKzpjbGFzczpgTXV0YWJsZVNldGAgICAgICAgIDpjbGFzczpgU2V0YCAgICAgICAgICAgYGBhZGRgYCwgICAgICAgICAgICAgICAgSW5oZXJpdGVkIDpjbGFzczpgU2V0YCBtZXRob2RzIGFuZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgYGRpc2NhcmRgYCAgICAgICAgICAgICBgYGNsZWFyYGAsIGBgcG9wYGAsIGBgcmVtb3ZlYGAsIGBgX19pb3JfX2BgLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgYF9faWFuZF9fYGAsIGBgX19peG9yX19gYCwgYW5kIGBgX19pc3ViX19gYAorCis6Y2xhc3M6YE1hcHBpbmdgICAgICAgICAgICA6Y2xhc3M6YFNpemVkYCwgICAgICAgIGBgX19nZXRpdGVtX19gYCAgICAgICAgIGBgX19jb250YWluc19fYGAsIGBga2V5c2BgLCBgYGl0ZW1zYGAsIGBgdmFsdWVzYGAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICA6Y2xhc3M6YEl0ZXJhYmxlYCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBgZ2V0YGAsIGBgX19lcV9fYGAsIGFuZCBgYF9fbmVfX2BgCisgICAgICAgICAgICAgICAgICAgICAgICAgICA6Y2xhc3M6YENvbnRhaW5lcmAKKworOmNsYXNzOmBNdXRhYmxlTWFwcGluZ2AgICAgOmNsYXNzOmBNYXBwaW5nYCAgICAgICBgYF9fc2V0aXRlbV9fYGAsICAgICAgICBJbmhlcml0ZWQgOmNsYXNzOmBNYXBwaW5nYCBtZXRob2RzIGFuZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgYF9fZGVsaXRlbV9fYGAgICAgICAgICBgYHBvcGBgLCBgYHBvcGl0ZW1gYCwgYGBjbGVhcmBgLCBgYHVwZGF0ZWBgLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgYGBzZXRkZWZhdWx0YGAKKworCis6Y2xhc3M6YE1hcHBpbmdWaWV3YCAgICAgICA6Y2xhc3M6YFNpemVkYCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBgX19sZW5fX2BgCis6Y2xhc3M6YEl0ZW1zVmlld2AgICAgICAgICA6Y2xhc3M6YE1hcHBpbmdWaWV3YCwgICAgICAgICAgICAgICAgICAgICAgICAgIGBgX19jb250YWluc19fYGAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICA6Y2xhc3M6YFNldGAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBgX19pdGVyX19gYAorOmNsYXNzOmBLZXlzVmlld2AgICAgICAgICAgOmNsYXNzOmBNYXBwaW5nVmlld2AsICAgICAgICAgICAgICAgICAgICAgICAgICBgYF9fY29udGFpbnNfX2BgLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgOmNsYXNzOmBTZXRgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgYF9faXRlcl9fYGAKKzpjbGFzczpgVmFsdWVzVmlld2AgICAgICAgIDpjbGFzczpgTWFwcGluZ1ZpZXdgICAgICAgICAgICAgICAgICAgICAgICAgICAgYGBfX2NvbnRhaW5zX19gYCwgYGBfX2l0ZXJfX2BgCis9PT09PT09PT09PT09PT09PT09PT09PT09ICA9PT09PT09PT09PT09PT09PT09PT0gID09PT09PT09PT09PT09PT09PT09PT0gID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworCisuLiBjbGFzczo6IENvbnRhaW5lcgorICAgICAgICAgICBIYXNoYWJsZQorICAgICAgICAgICBTaXplZAorICAgICAgICAgICBDYWxsYWJsZQorCisgICBBQkNzIGZvciBjbGFzc2VzIHRoYXQgcHJvdmlkZSByZXNwZWN0aXZlbHkgdGhlIG1ldGhvZHMgOm1ldGg6YF9fY29udGFpbnNfX2AsCisgICA6bWV0aDpgX19oYXNoX19gLCA6bWV0aDpgX19sZW5fX2AsIGFuZCA6bWV0aDpgX19jYWxsX19gLgorCisuLiBjbGFzczo6IEl0ZXJhYmxlCisKKyAgIEFCQyBmb3IgY2xhc3NlcyB0aGF0IHByb3ZpZGUgdGhlIDptZXRoOmBfX2l0ZXJfX2AgbWV0aG9kLgorICAgU2VlIGFsc28gdGhlIGRlZmluaXRpb24gb2YgOnRlcm06YGl0ZXJhYmxlYC4KKworLi4gY2xhc3M6OiBJdGVyYXRvcgorCisgICBBQkMgZm9yIGNsYXNzZXMgdGhhdCBwcm92aWRlIHRoZSA6bWV0aDpgX19pdGVyX19gIGFuZCA6bWV0aDpgbmV4dGAgbWV0aG9kcy4KKyAgIFNlZSBhbHNvIHRoZSBkZWZpbml0aW9uIG9mIDp0ZXJtOmBpdGVyYXRvcmAuCisKKy4uIGNsYXNzOjogU2VxdWVuY2UKKyAgICAgICAgICAgTXV0YWJsZVNlcXVlbmNlCisKKyAgIEFCQ3MgZm9yIHJlYWQtb25seSBhbmQgbXV0YWJsZSA6dGVybTpgc2VxdWVuY2VzIDxzZXF1ZW5jZT5gLgorCisuLiBjbGFzczo6IFNldAorICAgICAgICAgICBNdXRhYmxlU2V0CisKKyAgIEFCQ3MgZm9yIHJlYWQtb25seSBhbmQgbXV0YWJsZSBzZXRzLgorCisuLiBjbGFzczo6IE1hcHBpbmcKKyAgICAgICAgICAgTXV0YWJsZU1hcHBpbmcKKworICAgQUJDcyBmb3IgcmVhZC1vbmx5IGFuZCBtdXRhYmxlIDp0ZXJtOmBtYXBwaW5ncyA8bWFwcGluZz5gLgorCisuLiBjbGFzczo6IE1hcHBpbmdWaWV3CisgICAgICAgICAgIEl0ZW1zVmlldworICAgICAgICAgICBLZXlzVmlldworICAgICAgICAgICBWYWx1ZXNWaWV3CisKKyAgIEFCQ3MgZm9yIG1hcHBpbmcsIGl0ZW1zLCBrZXlzLCBhbmQgdmFsdWVzIDp0ZXJtOmB2aWV3cyA8dmlldz5gLgorCisKK1RoZXNlIEFCQ3MgYWxsb3cgdXMgdG8gYXNrIGNsYXNzZXMgb3IgaW5zdGFuY2VzIGlmIHRoZXkgcHJvdmlkZQorcGFydGljdWxhciBmdW5jdGlvbmFsaXR5LCBmb3IgZXhhbXBsZTo6CisKKyAgICBzaXplID0gTm9uZQorICAgIGlmIGlzaW5zdGFuY2UobXl2YXIsIGNvbGxlY3Rpb25zLlNpemVkKToKKyAgICAgICAgc2l6ZSA9IGxlbihteXZhcikKKworU2V2ZXJhbCBvZiB0aGUgQUJDcyBhcmUgYWxzbyB1c2VmdWwgYXMgbWl4aW5zIHRoYXQgbWFrZSBpdCBlYXNpZXIgdG8gZGV2ZWxvcAorY2xhc3NlcyBzdXBwb3J0aW5nIGNvbnRhaW5lciBBUElzLiAgRm9yIGV4YW1wbGUsIHRvIHdyaXRlIGEgY2xhc3Mgc3VwcG9ydGluZwordGhlIGZ1bGwgOmNsYXNzOmBTZXRgIEFQSSwgaXQgb25seSBuZWNlc3NhcnkgdG8gc3VwcGx5IHRoZSB0aHJlZSB1bmRlcmx5aW5nCithYnN0cmFjdCBtZXRob2RzOiA6bWV0aDpgX19jb250YWluc19fYCwgOm1ldGg6YF9faXRlcl9fYCwgYW5kIDptZXRoOmBfX2xlbl9fYC4KK1RoZSBBQkMgc3VwcGxpZXMgdGhlIHJlbWFpbmluZyBtZXRob2RzIHN1Y2ggYXMgOm1ldGg6YF9fYW5kX19gIGFuZAorOm1ldGg6YGlzZGlzam9pbnRgIDo6CisKKyAgICBjbGFzcyBMaXN0QmFzZWRTZXQoY29sbGVjdGlvbnMuU2V0KToKKyAgICAgICAgICcnJyBBbHRlcm5hdGUgc2V0IGltcGxlbWVudGF0aW9uIGZhdm9yaW5nIHNwYWNlIG92ZXIgc3BlZWQKKyAgICAgICAgICAgICBhbmQgbm90IHJlcXVpcmluZyB0aGUgc2V0IGVsZW1lbnRzIHRvIGJlIGhhc2hhYmxlLiAnJycKKyAgICAgICAgIGRlZiBfX2luaXRfXyhzZWxmLCBpdGVyYWJsZSk6CisgICAgICAgICAgICAgc2VsZi5lbGVtZW50cyA9IGxzdCA9IFtdCisgICAgICAgICAgICAgZm9yIHZhbHVlIGluIGl0ZXJhYmxlOgorICAgICAgICAgICAgICAgICBpZiB2YWx1ZSBub3QgaW4gbHN0OgorICAgICAgICAgICAgICAgICAgICAgbHN0LmFwcGVuZCh2YWx1ZSkKKyAgICAgICAgIGRlZiBfX2l0ZXJfXyhzZWxmKToKKyAgICAgICAgICAgICByZXR1cm4gaXRlcihzZWxmLmVsZW1lbnRzKQorICAgICAgICAgZGVmIF9fY29udGFpbnNfXyhzZWxmLCB2YWx1ZSk6CisgICAgICAgICAgICAgcmV0dXJuIHZhbHVlIGluIHNlbGYuZWxlbWVudHMKKyAgICAgICAgIGRlZiBfX2xlbl9fKHNlbGYpOgorICAgICAgICAgICAgIHJldHVybiBsZW4oc2VsZi5lbGVtZW50cykKKworICAgIHMxID0gTGlzdEJhc2VkU2V0KCdhYmNkZWYnKQorICAgIHMyID0gTGlzdEJhc2VkU2V0KCdkZWZnaGknKQorICAgIG92ZXJsYXAgPSBzMSAmIHMyICAgICAgICAgICAgIyBUaGUgX19hbmRfXygpIG1ldGhvZCBpcyBzdXBwb3J0ZWQgYXV0b21hdGljYWxseQorCitOb3RlcyBvbiB1c2luZyA6Y2xhc3M6YFNldGAgYW5kIDpjbGFzczpgTXV0YWJsZVNldGAgYXMgYSBtaXhpbjoKKworKDEpCisgICBTaW5jZSBzb21lIHNldCBvcGVyYXRpb25zIGNyZWF0ZSBuZXcgc2V0cywgdGhlIGRlZmF1bHQgbWl4aW4gbWV0aG9kcyBuZWVkCisgICBhIHdheSB0byBjcmVhdGUgbmV3IGluc3RhbmNlcyBmcm9tIGFuIGl0ZXJhYmxlLiBUaGUgY2xhc3MgY29uc3RydWN0b3IgaXMKKyAgIGFzc3VtZWQgdG8gaGF2ZSBhIHNpZ25hdHVyZSBpbiB0aGUgZm9ybSBgYENsYXNzTmFtZShpdGVyYWJsZSlgYC4KKyAgIFRoYXQgYXNzdW1wdGlvbiBpcyBmYWN0b3JlZC1vdXQgdG8gYW4gaW50ZXJuYWwgY2xhc3NtZXRob2QgY2FsbGVkCisgICA6bWV0aDpgX2Zyb21faXRlcmFibGVgIHdoaWNoIGNhbGxzIGBgY2xzKGl0ZXJhYmxlKWBgIHRvIHByb2R1Y2UgYSBuZXcgc2V0LgorICAgSWYgdGhlIDpjbGFzczpgU2V0YCBtaXhpbiBpcyBiZWluZyB1c2VkIGluIGEgY2xhc3Mgd2l0aCBhIGRpZmZlcmVudAorICAgY29uc3RydWN0b3Igc2lnbmF0dXJlLCB5b3Ugd2lsbCBuZWVkIHRvIG92ZXJyaWRlIDptZXRoOmBfZnJvbV9pdGVyYWJsZWAKKyAgIHdpdGggYSBjbGFzc21ldGhvZCB0aGF0IGNhbiBjb25zdHJ1Y3QgbmV3IGluc3RhbmNlcyBmcm9tCisgICBhbiBpdGVyYWJsZSBhcmd1bWVudC4KKworKDIpCisgICBUbyBvdmVycmlkZSB0aGUgY29tcGFyaXNvbnMgKHByZXN1bWFibHkgZm9yIHNwZWVkLCBhcyB0aGUKKyAgIHNlbWFudGljcyBhcmUgZml4ZWQpLCByZWRlZmluZSA6bWV0aDpgX19sZV9fYCBhbmQKKyAgIHRoZW4gdGhlIG90aGVyIG9wZXJhdGlvbnMgd2lsbCBhdXRvbWF0aWNhbGx5IGZvbGxvdyBzdWl0LgorCisoMykKKyAgIFRoZSA6Y2xhc3M6YFNldGAgbWl4aW4gcHJvdmlkZXMgYSA6bWV0aDpgX2hhc2hgIG1ldGhvZCB0byBjb21wdXRlIGEgaGFzaCB2YWx1ZQorICAgZm9yIHRoZSBzZXQ7IGhvd2V2ZXIsIDptZXRoOmBfX2hhc2hfX2AgaXMgbm90IGRlZmluZWQgYmVjYXVzZSBub3QgYWxsIHNldHMKKyAgIGFyZSBoYXNoYWJsZSBvciBpbW11dGFibGUuICBUbyBhZGQgc2V0IGhhc2hhYmlsdHkgdXNpbmcgbWl4aW5zLAorICAgaW5oZXJpdCBmcm9tIGJvdGggOm1ldGg6YFNldGAgYW5kIDptZXRoOmBIYXNoYWJsZWAsIHRoZW4gZGVmaW5lCisgICBgYF9faGFzaF9fID0gU2V0Ll9oYXNoYGAuCisKKy4uIHNlZWFsc286OgorCisgICAqIGBPcmRlcmVkU2V0IHJlY2lwZSA8aHR0cDovL2NvZGUuYWN0aXZlc3RhdGUuY29tL3JlY2lwZXMvNTc2Njk0Lz5gXyBmb3IgYW4KKyAgICAgZXhhbXBsZSBidWlsdCBvbiA6Y2xhc3M6YE11dGFibGVTZXRgLgorCisgICAqIEZvciBtb3JlIGFib3V0IEFCQ3MsIHNlZSB0aGUgOm1vZDpgYWJjYCBtb2R1bGUgYW5kIDpwZXA6YDMxMTlgLgpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvY29sbGVjdGlvbnMucnN0IGIvRG9jL2xpYnJhcnkvY29sbGVjdGlvbnMucnN0CmluZGV4IGU5MGIyNWUuLjUyOThkYmMgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L2NvbGxlY3Rpb25zLnJzdAorKysgYi9Eb2MvbGlicmFyeS9jb2xsZWN0aW9ucy5yc3QKQEAgLTEyLDcgKzEyLDcgQEAKICAgIGltcG9ydCBpdGVydG9vbHMKICAgIF9fbmFtZV9fID0gJzxkb2N0ZXN0PicKIAotKipTb3VyY2UgY29kZToqKiA6c291cmNlOmBMaWIvY29sbGVjdGlvbnMucHlgIGFuZCA6c291cmNlOmBMaWIvX2FiY29sbC5weWAKKyoqU291cmNlIGNvZGU6KiogOnNvdXJjZTpgTGliL2NvbGxlY3Rpb25zL19faW5pdF9fLnB5YAogCiAtLS0tLS0tLS0tLS0tLQogCkBAIC0yMyw2ICsyMyw3IEBACiA9PT09PT09PT09PT09PT09PT09PT0gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogOmZ1bmM6YG5hbWVkdHVwbGVgICAgICAgZmFjdG9yeSBmdW5jdGlvbiBmb3IgY3JlYXRpbmcgdHVwbGUgc3ViY2xhc3NlcyB3aXRoIG5hbWVkIGZpZWxkcwogOmNsYXNzOmBkZXF1ZWAgICAgICAgICAgbGlzdC1saWtlIGNvbnRhaW5lciB3aXRoIGZhc3QgYXBwZW5kcyBhbmQgcG9wcyBvbiBlaXRoZXIgZW5kCis6Y2xhc3M6YENoYWluTWFwYCAgICAgICBkaWN0LWxpa2UgY2xhc3MgZm9yIGNyZWF0aW5nIGEgc2luZ2xlIHZpZXcgb2YgbXVsdGlwbGUgbWFwcGluZ3MKIDpjbGFzczpgQ291bnRlcmAgICAgICAgIGRpY3Qgc3ViY2xhc3MgZm9yIGNvdW50aW5nIGhhc2hhYmxlIG9iamVjdHMKIDpjbGFzczpgT3JkZXJlZERpY3RgICAgIGRpY3Qgc3ViY2xhc3MgdGhhdCByZW1lbWJlcnMgdGhlIG9yZGVyIGVudHJpZXMgd2VyZSBhZGRlZAogOmNsYXNzOmBkZWZhdWx0ZGljdGAgICAgZGljdCBzdWJjbGFzcyB0aGF0IGNhbGxzIGEgZmFjdG9yeSBmdW5jdGlvbiB0byBzdXBwbHkgbWlzc2luZyB2YWx1ZXMKQEAgLTMxLDEwICszMiwxMjQgQEAKIDpjbGFzczpgVXNlclN0cmluZ2AgICAgIHdyYXBwZXIgYXJvdW5kIHN0cmluZyBvYmplY3RzIGZvciBlYXNpZXIgc3RyaW5nIHN1YmNsYXNzaW5nCiA9PT09PT09PT09PT09PT09PT09PT0gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogCi1JbiBhZGRpdGlvbiB0byB0aGUgY29uY3JldGUgY29udGFpbmVyIGNsYXNzZXMsIHRoZSBjb2xsZWN0aW9ucyBtb2R1bGUgcHJvdmlkZXMKLTpyZWY6YGFic3RyYWN0IGJhc2UgY2xhc3NlcyA8Y29sbGVjdGlvbnMtYWJzdHJhY3QtYmFzZS1jbGFzc2VzPmAgdGhhdCBjYW4gYmUKLXVzZWQgdG8gdGVzdCB3aGV0aGVyIGEgY2xhc3MgcHJvdmlkZXMgYSBwYXJ0aWN1bGFyIGludGVyZmFjZSwgZm9yIGV4YW1wbGUsCi13aGV0aGVyIGl0IGlzIGhhc2hhYmxlIG9yIGEgbWFwcGluZy4KKy4uIHZlcnNpb25jaGFuZ2VkOjogMy4zCisgICBNb3ZlZCA6cmVmOmBjb2xsZWN0aW9ucy1hYnN0cmFjdC1iYXNlLWNsYXNzZXNgIHRvIHRoZSA6bW9kOmBjb2xsZWN0aW9ucy5hYmNgIG1vZHVsZS4KKyAgIEZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSwgdGhleSBjb250aW51ZSB0byBiZSB2aXNpYmxlIGluIHRoaXMgbW9kdWxlCisgICBhcyB3ZWxsLgorCisKKzpjbGFzczpgQ2hhaW5NYXBgIG9iamVjdHMKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworQSA6Y2xhc3M6YENoYWluTWFwYCBjbGFzcyBpcyBwcm92aWRlZCBmb3IgcXVpY2tseSBsaW5raW5nIGEgbnVtYmVyIG9mIG1hcHBpbmdzCitzbyB0aGV5IGNhbiBiZSB0cmVhdGVkIGFzIGEgc2luZ2xlIHVuaXQuICBJdCBpcyBvZnRlbiBtdWNoIGZhc3RlciB0aGFuIGNyZWF0aW5nCithIG5ldyBkaWN0aW9uYXJ5IGFuZCBydW5uaW5nIG11bHRpcGxlIDptZXRoOmB+ZGljdC51cGRhdGVgIGNhbGxzLgorCitUaGUgY2xhc3MgY2FuIGJlIHVzZWQgdG8gc2ltdWxhdGUgbmVzdGVkIHNjb3BlcyBhbmQgaXMgdXNlZnVsIGluIHRlbXBsYXRpbmcuCisKKy4uIGNsYXNzOjogQ2hhaW5NYXAoKm1hcHMpCisKKyAgIEEgOmNsYXNzOmBDaGFpbk1hcGAgZ3JvdXBzIG11bHRpcGxlIGRpY3RzIG9yIG90aGVyIG1hcHBpbmdzIHRvZ2V0aGVyIHRvCisgICBjcmVhdGUgYSBzaW5nbGUsIHVwZGF0ZWFibGUgdmlldy4gIElmIG5vICptYXBzKiBhcmUgc3BlY2lmaWVkLCBhIHNpbmdsZSBlbXB0eQorICAgZGljdGlvbmFyeSBpcyBwcm92aWRlZCBzbyB0aGF0IGEgbmV3IGNoYWluIGFsd2F5cyBoYXMgYXQgbGVhc3Qgb25lIG1hcHBpbmcuCisKKyAgIFRoZSB1bmRlcmx5aW5nIG1hcHBpbmdzIGFyZSBzdG9yZWQgaW4gYSBsaXN0LiAgVGhhdCBsaXN0IGlzIHB1YmxpYyBhbmQgY2FuCisgICBhY2Nlc3NlZCBvciB1cGRhdGVkIHVzaW5nIHRoZSAqbWFwcyogYXR0cmlidXRlLiAgVGhlcmUgaXMgbm8gb3RoZXIgc3RhdGUuCisKKyAgIExvb2t1cHMgc2VhcmNoIHRoZSB1bmRlcmx5aW5nIG1hcHBpbmdzIHN1Y2Nlc3NpdmVseSB1bnRpbCBhIGtleSBpcyBmb3VuZC4gIEluCisgICBjb250cmFzdCwgd3JpdGVzLCB1cGRhdGVzLCBhbmQgZGVsZXRpb25zIG9ubHkgb3BlcmF0ZSBvbiB0aGUgZmlyc3QgbWFwcGluZy4KKworICAgQSA6Y2xhc3M6YENoYWluTWFwYCBpbmNvcnBvcmF0ZXMgdGhlIHVuZGVybHlpbmcgbWFwcGluZ3MgYnkgcmVmZXJlbmNlLiAgU28sIGlmCisgICBvbmUgb2YgdGhlIHVuZGVybHlpbmcgbWFwcGluZ3MgZ2V0cyB1cGRhdGVkLCB0aG9zZSBjaGFuZ2VzIHdpbGwgYmUgcmVmbGVjdGVkCisgICBpbiA6Y2xhc3M6YENoYWluTWFwYC4KKworICAgQWxsIG9mIHRoZSB1c3VhbCBkaWN0aW9uYXJ5IG1ldGhvZHMgYXJlIHN1cHBvcnRlZC4gIEluIGFkZGl0aW9uLCB0aGVyZSBpcyBhCisgICAqbWFwcyogYXR0cmlidXRlLCBhIG1ldGhvZCBmb3IgY3JlYXRpbmcgbmV3IHN1YmNvbnRleHRzLCBhbmQgYSBwcm9wZXJ0eSBmb3IKKyAgIGFjY2Vzc2luZyBhbGwgYnV0IHRoZSBmaXJzdCBtYXBwaW5nOgorCisgICAuLiBhdHRyaWJ1dGU6OiBtYXBzCisKKyAgICAgIEEgdXNlciB1cGRhdGVhYmxlIGxpc3Qgb2YgbWFwcGluZ3MuICBUaGUgbGlzdCBpcyBvcmRlcmVkIGZyb20KKyAgICAgIGZpcnN0LXNlYXJjaGVkIHRvIGxhc3Qtc2VhcmNoZWQuICBJdCBpcyB0aGUgb25seSBzdG9yZWQgc3RhdGUgYW5kIGNhbgorICAgICAgYmUgbW9kaWZpZWQgdG8gY2hhbmdlIHdoaWNoIG1hcHBpbmdzIGFyZSBzZWFyY2hlZC4gIFRoZSBsaXN0IHNob3VsZAorICAgICAgYWx3YXlzIGNvbnRhaW4gYXQgbGVhc3Qgb25lIG1hcHBpbmcuCisKKyAgIC4uIG1ldGhvZDo6IG5ld19jaGlsZCgpCisKKyAgICAgIFJldHVybnMgYSBuZXcgOmNsYXNzOmBDaGFpbk1hcGAgY29udGFpbmluZyBhIG5ldyA6Y2xhc3M6YGRpY3RgIGZvbGxvd2VkIGJ5CisgICAgICBhbGwgb2YgdGhlIG1hcHMgaW4gdGhlIGN1cnJlbnQgaW5zdGFuY2UuICBBIGNhbGwgdG8gYGBkLm5ld19jaGlsZCgpYGAgaXMKKyAgICAgIGVxdWl2YWxlbnQgdG86IGBgQ2hhaW5NYXAoe30sICpkLm1hcHMpYGAuICBUaGlzIG1ldGhvZCBpcyB1c2VkIGZvcgorICAgICAgY3JlYXRpbmcgc3ViY29udGV4dHMgdGhhdCBjYW4gYmUgdXBkYXRlZCB3aXRob3V0IGFsdGVyaW5nIHZhbHVlcyBpbiBhbnkKKyAgICAgIG9mIHRoZSBwYXJlbnQgbWFwcGluZ3MuCisKKyAgIC4uIG1ldGhvZDo6IHBhcmVudHMoKQorCisgICAgICBSZXR1cm5zIGEgbmV3IDpjbGFzczpgQ2hhaW5NYXBgIGNvbnRhaW5pbmcgYWxsIG9mIHRoZSBtYXBzIGluIHRoZSBjdXJyZW50CisgICAgICBpbnN0YW5jZSBleGNlcHQgdGhlIGZpcnN0IG9uZS4gIFRoaXMgaXMgdXNlZnVsIGZvciBza2lwcGluZyB0aGUgZmlyc3QgbWFwCisgICAgICBpbiB0aGUgc2VhcmNoLiAgVGhlIHVzZS1jYXNlcyBhcmUgc2ltaWxhciB0byB0aG9zZSBmb3IgdGhlCisgICAgICA6a2V5d29yZDpgbm9ubG9jYWxgIGtleXdvcmQgdXNlZCBpbiA6dGVybTpgbmVzdGVkIHNjb3BlcyA8bmVzdGVkIHNjb3BlPmAuCisgICAgICBUaGUgdXNlLWNhc2VzIGFsc28gcGFyYWxsZWwgdGhvc2UgZm9yIHRoZSBidWlsdGluIDpmdW5jOmBzdXBlcmAgZnVuY3Rpb24uCisgICAgICBBIHJlZmVyZW5jZSB0byAgYGBkLnBhcmVudHNgYCBpcyBlcXVpdmFsZW50IHRvOiBgYENoYWluTWFwKCpkLm1hcHNbMTpdKWBgLgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKKworICAgRXhhbXBsZSBvZiBzaW11bGF0aW5nIFB5dGhvbidzIGludGVybmFsIGxvb2t1cCBjaGFpbjo6CisKKyAgICAgIGltcG9ydCBidWlsdGlucworICAgICAgcHlsb29rdXAgPSBDaGFpbk1hcChsb2NhbHMoKSwgZ2xvYmFscygpLCB2YXJzKGJ1aWx0aW5zKSkKKworICAgRXhhbXBsZSBvZiBsZXR0aW5nIHVzZXIgc3BlY2lmaWVkIHZhbHVlcyB0YWtlIHByZWNlZGVuY2Ugb3ZlciBlbnZpcm9ubWVudAorICAgdmFyaWFibGVzIHdoaWNoIGluIHR1cm4gdGFrZSBwcmVjZWRlbmNlIG92ZXIgZGVmYXVsdCB2YWx1ZXM6OgorCisgICAgICBpbXBvcnQgb3MsIGFyZ3BhcnNlCisgICAgICBkZWZhdWx0cyA9IHsnY29sb3InOiAncmVkJywgJ3VzZXInOiBndWVzdH0KKyAgICAgIHBhcnNlciA9IGFyZ3BhcnNlLkFyZ3VtZW50UGFyc2VyKCkKKyAgICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJy11JywgJy0tdXNlcicpCisgICAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctYycsICctLWNvbG9yJykKKyAgICAgIHVzZXJfc3BlY2lmaWVkID0gdmFycyhwYXJzZXIucGFyc2VfYXJncygpKQorICAgICAgY29tYmluZWQgPSBDaGFpbk1hcCh1c2VyX3NwZWNpZmllZCwgb3MuZW52aXJvbiwgZGVmYXVsdHMpCisKKyAgIEV4YW1wbGUgcGF0dGVybnMgZm9yIHVzaW5nIHRoZSA6Y2xhc3M6YENoYWluTWFwYCBjbGFzcyB0byBzaW11bGF0ZSBuZXN0ZWQKKyAgIGNvbnRleHRzOjoKKworICAgICAgYyA9IENoYWluTWFwKCkgICAgICAgICMgQ3JlYXRlIHJvb3QgY29udGV4dAorICAgICAgZCA9IGMubmV3X2NoaWxkKCkgICAgICMgQ3JlYXRlIG5lc3RlZCBjaGlsZCBjb250ZXh0CisgICAgICBlID0gYy5uZXdfY2hpbGQoKSAgICAgIyBDaGlsZCBvZiBjLCBpbmRlcGVuZGVudCBmcm9tIGQKKyAgICAgIGUubWFwc1swXSAgICAgICAgICAgICAjIEN1cnJlbnQgY29udGV4dCBkaWN0aW9uYXJ5IC0tIGxpa2UgUHl0aG9uJ3MgbG9jYWxzKCkKKyAgICAgIGUubWFwc1stMV0gICAgICAgICAgICAjIFJvb3QgY29udGV4dCAtLSBsaWtlIFB5dGhvbidzIGdsb2JhbHMoKQorICAgICAgZS5wYXJlbnRzICAgICAgICAgICAgICMgRW5jbG9zaW5nIGNvbnRleHQgY2hhaW4gLS0gbGlrZSBQeXRob24ncyBub25sb2NhbHMKKworICAgICAgZFsneCddICAgICAgICAgICAgICAgICMgR2V0IGZpcnN0IGtleSBpbiB0aGUgY2hhaW4gb2YgY29udGV4dHMKKyAgICAgIGRbJ3gnXSA9IDEgICAgICAgICAgICAjIFNldCB2YWx1ZSBpbiBjdXJyZW50IGNvbnRleHQKKyAgICAgIGRlbFsneCddICAgICAgICAgICAgICAjIERlbGV0ZSBmcm9tIGN1cnJlbnQgY29udGV4dAorICAgICAgbGlzdChkKSAgICAgICAgICAgICAgICMgQWxsIG5lc3RlZCB2YWx1ZXMKKyAgICAgIGsgaW4gZCAgICAgICAgICAgICAgICAjIENoZWNrIGFsbCBuZXN0ZWQgdmFsdWVzCisgICAgICBsZW4oZCkgICAgICAgICAgICAgICAgIyBOdW1iZXIgb2YgbmVzdGVkIHZhbHVlcworICAgICAgZC5pdGVtcygpICAgICAgICAgICAgICMgQWxsIG5lc3RlZCBpdGVtcworICAgICAgZGljdChkKSAgICAgICAgICAgICAgICMgRmxhdHRlbiBpbnRvIGEgcmVndWxhciBkaWN0aW9uYXJ5CisKKyAgIC4uIHNlZWFsc286OgorCisgICAgICAqIFRoZSBgTXVsdGlDb250ZXh0IGNsYXNzCisgICAgICAgIDxodHRwOi8vc3ZuLmVudGhvdWdodC5jb20vc3ZuL2VudGhvdWdodC9Db2RlVG9vbHMvdHJ1bmsvZW50aG91Z2h0L2NvbnRleHRzL211bHRpX2NvbnRleHQucHk+YF8KKyAgICAgICAgaW4gdGhlIEVudGhvdWdodCBgQ29kZVRvb2xzIHBhY2thZ2UKKyAgICAgICAgPGh0dHBzOi8vZ2l0aHViLmNvbS9lbnRob3VnaHQvY29kZXRvb2xzPmBfIGhhcyBvcHRpb25zIHRvIHN1cHBvcnQKKyAgICAgICAgd3JpdGluZyB0byBhbnkgbWFwcGluZyBpbiB0aGUgY2hhaW4uCisKKyAgICAgICogRGphbmdvJ3MgYENvbnRleHQgY2xhc3MKKyAgICAgICAgPGh0dHA6Ly9jb2RlLmRqYW5nb3Byb2plY3QuY29tL2Jyb3dzZXIvZGphbmdvL3RydW5rL2RqYW5nby90ZW1wbGF0ZS9jb250ZXh0LnB5PmBfCisgICAgICAgIGZvciB0ZW1wbGF0aW5nIGlzIGEgcmVhZC1vbmx5IGNoYWluIG9mIG1hcHBpbmdzLiAgSXQgYWxzbyBmZWF0dXJlcworICAgICAgICBwdXNoaW5nIGFuZCBwb3BwaW5nIG9mIGNvbnRleHRzIHNpbWlsYXIgdG8gdGhlCisgICAgICAgIDptZXRoOmB+Y29sbGVjdGlvbnMuQ2hhaW5NYXAubmV3X2NoaWxkYCBtZXRob2QgYW5kIHRoZQorICAgICAgICA6bWV0aDpgfmNvbGxlY3Rpb25zLkNoYWluTWFwLnBhcmVudHNgIHByb3BlcnR5LgorCisgICAgICAqIFRoZSBgTmVzdGVkIENvbnRleHRzIHJlY2lwZQorICAgICAgICA8aHR0cDovL2NvZGUuYWN0aXZlc3RhdGUuY29tL3JlY2lwZXMvNTc3NDM0Lz5gXyBoYXMgb3B0aW9ucyB0byBjb250cm9sCisgICAgICAgIHdoZXRoZXIgd3JpdGVzIGFuZCBvdGhlciBtdXRhdGlvbnMgYXBwbHkgb25seSB0byB0aGUgZmlyc3QgbWFwcGluZyBvciB0bworICAgICAgICBhbnkgbWFwcGluZyBpbiB0aGUgY2hhaW4uCisKKyAgICAgICogQSBgZ3JlYXRseSBzaW1wbGlmaWVkIHJlYWQtb25seSB2ZXJzaW9uIG9mIENoYWlubWFwCisgICAgICAgIDxodHRwOi8vY29kZS5hY3RpdmVzdGF0ZS5jb20vcmVjaXBlcy8zMDUyNjgvPmBfLgogCiAKIDpjbGFzczpgQ291bnRlcmAgb2JqZWN0cwpAQCAtMTQ5LDcgKzI2NCw3IEBACiAgICAgYy5pdGVtcygpICAgICAgICAgICAgICAgICAgICAgICAjIGNvbnZlcnQgdG8gYSBsaXN0IG9mIChlbGVtLCBjbnQpIHBhaXJzCiAgICAgQ291bnRlcihkaWN0KGxpc3Rfb2ZfcGFpcnMpKSAgICAjIGNvbnZlcnQgZnJvbSBhIGxpc3Qgb2YgKGVsZW0sIGNudCkgcGFpcnMKICAgICBjLm1vc3RfY29tbW9uKClbOi1uOi0xXSAgICAgICAgICMgbiBsZWFzdCBjb21tb24gZWxlbWVudHMKLSAgICBjICs9IENvdW50ZXIoKSAgICAgICAgICAgICAgICAgICMgcmVtb3ZlIHplcm8gYW5kIG5lZ2F0aXZlIGNvdW50cworICAgICtjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyByZW1vdmUgemVybyBhbmQgbmVnYXRpdmUgY291bnRzCiAKIFNldmVyYWwgbWF0aGVtYXRpY2FsIG9wZXJhdGlvbnMgYXJlIHByb3ZpZGVkIGZvciBjb21iaW5pbmcgOmNsYXNzOmBDb3VudGVyYAogb2JqZWN0cyB0byBwcm9kdWNlIG11bHRpc2V0cyAoY291bnRlcnMgdGhhdCBoYXZlIGNvdW50cyBncmVhdGVyIHRoYW4gemVybykuCkBAIC0xNjksNiArMjg0LDE4IEBACiAgICAgPj4+IGMgfCBkICAgICAgICAgICAgICAgICAgICAgICAjIHVuaW9uOiAgbWF4KGNbeF0sIGRbeF0pCiAgICAgQ291bnRlcih7J2EnOiAzLCAnYic6IDJ9KQogCitVbmFyeSBhZGRpdGlvbiBhbmQgc3Vic3RyYWN0aW9uIGFyZSBzaG9ydGN1dHMgZm9yIGFkZGluZyBhbiBlbXB0eSBjb3VudGVyCitvciBzdWJ0cmFjdGluZyBmcm9tIGFuIGVtcHR5IGNvdW50ZXIuCisKKyAgICA+Pj4gYyA9IENvdW50ZXIoYT0yLCBiPS00KQorICAgID4+PiArYworICAgIENvdW50ZXIoeydhJzogMn0pCisgICAgPj4+IC1jCisgICAgQ291bnRlcih7J2InOiA0fSkKKworLi4gdmVyc2lvbmFkZGVkOjogMy4zCisgICBBZGRlZCBzdXBwb3J0IGZvciB1bmFyeSBwbHVzLCB1bmFyeSBtaW51cywgYW5kIGluLXBsYWNlIG11bHRpc2V0IG9wZXJhdGlvbnMuCisKIC4uIG5vdGU6OgogCiAgICBDb3VudGVycyB3ZXJlIHByaW1hcmlseSBkZXNpZ25lZCB0byB3b3JrIHdpdGggcG9zaXRpdmUgaW50ZWdlcnMgdG8gcmVwcmVzZW50CkBAIC0zOTgsNyArNTI1LDggQEAKIAogICAgZGVmIHRhaWwoZmlsZW5hbWUsIG49MTApOgogICAgICAgICdSZXR1cm4gdGhlIGxhc3QgbiBsaW5lcyBvZiBhIGZpbGUnCi0gICAgICAgcmV0dXJuIGRlcXVlKG9wZW4oZmlsZW5hbWUpLCBuKQorICAgICAgIHdpdGggb3BlbihmaWxlbmFtZSkgYXMgZjoKKyAgICAgICAgICAgcmV0dXJuIGRlcXVlKGYsIG4pCiAKIEFub3RoZXIgYXBwcm9hY2ggdG8gdXNpbmcgZGVxdWVzIGlzIHRvIG1haW50YWluIGEgc2VxdWVuY2Ugb2YgcmVjZW50bHkKIGFkZGVkIGVsZW1lbnRzIGJ5IGFwcGVuZGluZyB0byB0aGUgcmlnaHQgYW5kIHBvcHBpbmcgdG8gdGhlIGxlZnQ6OgpAQCAtNTUwLDcgKzY3OCw3IEBACiAgICAuLi4gICAgIGRba10uYWRkKHYpCiAgICAuLi4KICAgID4+PiBsaXN0KGQuaXRlbXMoKSkKLSAgIFsoJ2JsdWUnLCBzZXQoWzIsIDRdKSksICgncmVkJywgc2V0KFsxLCAzXSkpXQorICAgWygnYmx1ZScsIHsyLCA0fSksICgncmVkJywgezEsIDN9KV0KIAogCiA6ZnVuYzpgbmFtZWR0dXBsZWAgRmFjdG9yeSBGdW5jdGlvbiBmb3IgVHVwbGVzIHdpdGggTmFtZWQgRmllbGRzCkBAIC01ODMsNyArNzExLDkgQEAKICAgIGNvbnZlcnRlZCB0byBgYFsnYWJjJywgJ18xJywgJ2doaScsICdfMyddYGAsIGVsaW1pbmF0aW5nIHRoZSBrZXl3b3JkCiAgICBgYGRlZmBgIGFuZCB0aGUgZHVwbGljYXRlIGZpZWxkbmFtZSBgYGFiY2BgLgogCi0gICBJZiAqdmVyYm9zZSogaXMgdHJ1ZSwgdGhlIGNsYXNzIGRlZmluaXRpb24gaXMgcHJpbnRlZCBqdXN0IGJlZm9yZSBiZWluZyBidWlsdC4KKyAgIElmICp2ZXJib3NlKiBpcyB0cnVlLCB0aGUgY2xhc3MgZGVmaW5pdGlvbiBpcyBwcmludGVkIGFmdGVyIGl0IGlzCisgICBidWlsdC4gIFRoaXMgb3B0aW9uIGlzIG91dGRhdGVkOyBpbnN0ZWFkLCBpdCBpcyBzaW1wbGVyIHRvIHByaW50IHRoZQorICAgOmF0dHI6YF9zb3VyY2VgIGF0dHJpYnV0ZS4KIAogICAgTmFtZWQgdHVwbGUgaW5zdGFuY2VzIGRvIG5vdCBoYXZlIHBlci1pbnN0YW5jZSBkaWN0aW9uYXJpZXMsIHNvIHRoZXkgYXJlCiAgICBsaWdodHdlaWdodCBhbmQgcmVxdWlyZSBubyBtb3JlIG1lbW9yeSB0aGFuIHJlZ3VsYXIgdHVwbGVzLgpAQCAtNTk3LDUzICs3MjcsNiBAQAogCiAgICA+Pj4gIyBCYXNpYyBleGFtcGxlCiAgICA+Pj4gUG9pbnQgPSBuYW1lZHR1cGxlKCdQb2ludCcsIFsneCcsICd5J10pCi0gICA+Pj4gcCA9IFBvaW50KHg9MTAsIHk9MTEpCi0KLSAgID4+PiAjIEV4YW1wbGUgdXNpbmcgdGhlIHZlcmJvc2Ugb3B0aW9uIHRvIHByaW50IHRoZSBjbGFzcyBkZWZpbml0aW9uCi0gICA+Pj4gUG9pbnQgPSBuYW1lZHR1cGxlKCdQb2ludCcsICd4IHknLCB2ZXJib3NlPVRydWUpCi0gICBjbGFzcyBQb2ludCh0dXBsZSk6Ci0gICAgICAgICAgICdQb2ludCh4LCB5KScKLSAgIDxCTEFOS0xJTkU+Ci0gICAgICAgICAgIF9fc2xvdHNfXyA9ICgpCi0gICA8QkxBTktMSU5FPgotICAgICAgICAgICBfZmllbGRzID0gKCd4JywgJ3knKQotICAgPEJMQU5LTElORT4KLSAgICAgICAgICAgZGVmIF9fbmV3X18oX2NscywgeCwgeSk6Ci0gICAgICAgICAgICAgICAnQ3JlYXRlIGEgbmV3IGluc3RhbmNlIG9mIFBvaW50KHgsIHkpJwotICAgICAgICAgICAgICAgcmV0dXJuIF90dXBsZS5fX25ld19fKF9jbHMsICh4LCB5KSkKLSAgIDxCTEFOS0xJTkU+Ci0gICAgICAgICAgIEBjbGFzc21ldGhvZAotICAgICAgICAgICBkZWYgX21ha2UoY2xzLCBpdGVyYWJsZSwgbmV3PXR1cGxlLl9fbmV3X18sIGxlbj1sZW4pOgotICAgICAgICAgICAgICAgJ01ha2UgYSBuZXcgUG9pbnQgb2JqZWN0IGZyb20gYSBzZXF1ZW5jZSBvciBpdGVyYWJsZScKLSAgICAgICAgICAgICAgIHJlc3VsdCA9IG5ldyhjbHMsIGl0ZXJhYmxlKQotICAgICAgICAgICAgICAgaWYgbGVuKHJlc3VsdCkgIT0gMjoKLSAgICAgICAgICAgICAgICAgICByYWlzZSBUeXBlRXJyb3IoJ0V4cGVjdGVkIDIgYXJndW1lbnRzLCBnb3QgJWQnICUgbGVuKHJlc3VsdCkpCi0gICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0Ci0gICA8QkxBTktMSU5FPgotICAgICAgICAgICBkZWYgX19yZXByX18oc2VsZik6Ci0gICAgICAgICAgICAgICAnUmV0dXJuIGEgbmljZWx5IGZvcm1hdHRlZCByZXByZXNlbnRhdGlvbiBzdHJpbmcnCi0gICAgICAgICAgICAgICByZXR1cm4gc2VsZi5fX2NsYXNzX18uX19uYW1lX18gKyAnKHg9JXIsIHk9JXIpJyAlIHNlbGYKLSAgIDxCTEFOS0xJTkU+Ci0gICAgICAgICAgIGRlZiBfYXNkaWN0KHNlbGYpOgotICAgICAgICAgICAgICAgJ1JldHVybiBhIG5ldyBPcmRlcmVkRGljdCB3aGljaCBtYXBzIGZpZWxkIG5hbWVzIHRvIHRoZWlyIHZhbHVlcycKLSAgICAgICAgICAgICAgIHJldHVybiBPcmRlcmVkRGljdCh6aXAoc2VsZi5fZmllbGRzLCBzZWxmKSkKLSAgIDxCTEFOS0xJTkU+Ci0gICAgICAgICAgIF9fZGljdF9fID0gcHJvcGVydHkoX2FzZGljdCkKLSAgIDxCTEFOS0xJTkU+Ci0gICAgICAgICAgIGRlZiBfcmVwbGFjZShfc2VsZiwgKiprd2RzKToKLSAgICAgICAgICAgICAgICdSZXR1cm4gYSBuZXcgUG9pbnQgb2JqZWN0IHJlcGxhY2luZyBzcGVjaWZpZWQgZmllbGRzIHdpdGggbmV3IHZhbHVlcycKLSAgICAgICAgICAgICAgIHJlc3VsdCA9IF9zZWxmLl9tYWtlKG1hcChrd2RzLnBvcCwgKCd4JywgJ3knKSwgX3NlbGYpKQotICAgICAgICAgICAgICAgaWYga3dkczoKLSAgICAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCdHb3QgdW5leHBlY3RlZCBmaWVsZCBuYW1lczogJXInICUgbGlzdChrd2RzLmtleXMoKSkpCi0gICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0Ci0gICA8QkxBTktMSU5FPgotICAgICAgICAgICBkZWYgX19nZXRuZXdhcmdzX18oc2VsZik6Ci0gICAgICAgICAgICAgICAnUmV0dXJuIHNlbGYgYXMgYSBwbGFpbiB0dXBsZS4gICBVc2VkIGJ5IGNvcHkgYW5kIHBpY2tsZS4nCi0gICAgICAgICAgICAgICByZXR1cm4gdHVwbGUoc2VsZikKLSAgIDxCTEFOS0xJTkU+Ci0gICAgICAgICAgIHggPSBfcHJvcGVydHkoX2l0ZW1nZXR0ZXIoMCksIGRvYz0nQWxpYXMgZm9yIGZpZWxkIG51bWJlciAwJykKLSAgICAgICAgICAgeSA9IF9wcm9wZXJ0eShfaXRlbWdldHRlcigxKSwgZG9jPSdBbGlhcyBmb3IgZmllbGQgbnVtYmVyIDEnKQotCiAgICA+Pj4gcCA9IFBvaW50KDExLCB5PTIyKSAgICAgIyBpbnN0YW50aWF0ZSB3aXRoIHBvc2l0aW9uYWwgb3Iga2V5d29yZCBhcmd1bWVudHMKICAgID4+PiBwWzBdICsgcFsxXSAgICAgICAgICAgICAjIGluZGV4YWJsZSBsaWtlIHRoZSBwbGFpbiB0dXBsZSAoMTEsIDIyKQogICAgMzMKQEAgLTY3Miw3ICs3NTUsNyBAQAogICAgICAgIHByaW50KGVtcC5uYW1lLCBlbXAudGl0bGUpCiAKIEluIGFkZGl0aW9uIHRvIHRoZSBtZXRob2RzIGluaGVyaXRlZCBmcm9tIHR1cGxlcywgbmFtZWQgdHVwbGVzIHN1cHBvcnQKLXRocmVlIGFkZGl0aW9uYWwgbWV0aG9kcyBhbmQgb25lIGF0dHJpYnV0ZS4gIFRvIHByZXZlbnQgY29uZmxpY3RzIHdpdGgKK3RocmVlIGFkZGl0aW9uYWwgbWV0aG9kcyBhbmQgdHdvIGF0dHJpYnV0ZXMuICBUbyBwcmV2ZW50IGNvbmZsaWN0cyB3aXRoCiBmaWVsZCBuYW1lcywgdGhlIG1ldGhvZCBhbmQgYXR0cmlidXRlIG5hbWVzIHN0YXJ0IHdpdGggYW4gdW5kZXJzY29yZS4KIAogLi4gY2xhc3NtZXRob2Q6OiBzb21lbmFtZWR0dXBsZS5fbWFrZShpdGVyYWJsZSkKQEAgLTcxMCw2ICs3OTMsMTUgQEAKICAgICAgID4+PiBmb3IgcGFydG51bSwgcmVjb3JkIGluIGludmVudG9yeS5pdGVtcygpOgogICAgICAgLi4uICAgICBpbnZlbnRvcnlbcGFydG51bV0gPSByZWNvcmQuX3JlcGxhY2UocHJpY2U9bmV3cHJpY2VzW3BhcnRudW1dLCB0aW1lc3RhbXA9dGltZS5ub3coKSkKIAorLi4gYXR0cmlidXRlOjogc29tZW5hbWVkdHVwbGUuX3NvdXJjZQorCisgICBBIHN0cmluZyB3aXRoIHRoZSBwdXJlIFB5dGhvbiBzb3VyY2UgY29kZSB1c2VkIHRvIGNyZWF0ZSB0aGUgbmFtZWQKKyAgIHR1cGxlIGNsYXNzLiAgVGhlIHNvdXJjZSBtYWtlcyB0aGUgbmFtZWQgdHVwbGUgc2VsZi1kb2N1bWVudGluZy4KKyAgIEl0IGNhbiBiZSBwcmludGVkLCBleGVjdXRlZCB1c2luZyA6ZnVuYzpgZXhlY2AsIG9yIHNhdmVkIHRvIGEgZmlsZQorICAgYW5kIGltcG9ydGVkLgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKKwogLi4gYXR0cmlidXRlOjogc29tZW5hbWVkdHVwbGUuX2ZpZWxkcwogCiAgICBUdXBsZSBvZiBzdHJpbmdzIGxpc3RpbmcgdGhlIGZpZWxkIG5hbWVzLiAgVXNlZnVsIGZvciBpbnRyb3NwZWN0aW9uCkBAIC03NTgsNyArODUwLDYgQEAKIFRoZSBzdWJjbGFzcyBzaG93biBhYm92ZSBzZXRzIGBgX19zbG90c19fYGAgdG8gYW4gZW1wdHkgdHVwbGUuICBUaGlzIGhlbHBzCiBrZWVwIG1lbW9yeSByZXF1aXJlbWVudHMgbG93IGJ5IHByZXZlbnRpbmcgdGhlIGNyZWF0aW9uIG9mIGluc3RhbmNlIGRpY3Rpb25hcmllcy4KIAotCiBTdWJjbGFzc2luZyBpcyBub3QgdXNlZnVsIGZvciBhZGRpbmcgbmV3LCBzdG9yZWQgZmllbGRzLiAgSW5zdGVhZCwgc2ltcGx5CiBjcmVhdGUgYSBuZXcgbmFtZWQgdHVwbGUgdHlwZSBmcm9tIHRoZSA6YXR0cjpgX2ZpZWxkc2AgYXR0cmlidXRlOgogCkBAIC03NzAsNiArODYxLDcgQEAKICAgICA+Pj4gQWNjb3VudCA9IG5hbWVkdHVwbGUoJ0FjY291bnQnLCAnb3duZXIgYmFsYW5jZSB0cmFuc2FjdGlvbl9jb3VudCcpCiAgICAgPj4+IGRlZmF1bHRfYWNjb3VudCA9IEFjY291bnQoJzxvd25lciBuYW1lPicsIDAuMCwgMCkKICAgICA+Pj4gam9obnNfYWNjb3VudCA9IGRlZmF1bHRfYWNjb3VudC5fcmVwbGFjZShvd25lcj0nSm9obicpCisgICAgPj4+IGphbmVzX2FjY291bnQgPSBkZWZhdWx0X2FjY291bnQuX3JlcGxhY2Uob3duZXI9J0phbmUnKQogCiBFbnVtZXJhdGVkIGNvbnN0YW50cyBjYW4gYmUgaW1wbGVtZW50ZWQgd2l0aCBuYW1lZCB0dXBsZXMsIGJ1dCBpdCBpcyBzaW1wbGVyCiBhbmQgbW9yZSBlZmZpY2llbnQgdG8gdXNlIGEgc2ltcGxlIGNsYXNzIGRlY2xhcmF0aW9uOgpAQCAtOTg4LDE2MSArMTA4MCwzIEBACiAgICBiZSBhbiBpbnN0YW5jZSBvZiA6Y2xhc3M6YGJ5dGVzYCwgOmNsYXNzOmBzdHJgLCA6Y2xhc3M6YFVzZXJTdHJpbmdgIChvciBhCiAgICBzdWJjbGFzcykgb3IgYW4gYXJiaXRyYXJ5IHNlcXVlbmNlIHdoaWNoIGNhbiBiZSBjb252ZXJ0ZWQgaW50byBhIHN0cmluZyB1c2luZwogICAgdGhlIGJ1aWx0LWluIDpmdW5jOmBzdHJgIGZ1bmN0aW9uLgotCi0KLS4uIF9jb2xsZWN0aW9ucy1hYnN0cmFjdC1iYXNlLWNsYXNzZXM6Ci0KLUFCQ3MgLSBhYnN0cmFjdCBiYXNlIGNsYXNzZXMKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLQotVGhlIGNvbGxlY3Rpb25zIG1vZHVsZSBvZmZlcnMgdGhlIGZvbGxvd2luZyA6dGVybTpgQUJDcyA8YWJzdHJhY3QgYmFzZSBjbGFzcz5gOgotCi09PT09PT09PT09PT09PT09PT09PT09PT09ICA9PT09PT09PT09PT09PT09PT09PT0gID09PT09PT09PT09PT09PT09PT09PT0gID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLUFCQyAgICAgICAgICAgICAgICAgICAgICAgIEluaGVyaXRzIGZyb20gICAgICAgICAgQWJzdHJhY3QgTWV0aG9kcyAgICAgICAgTWl4aW4gTWV0aG9kcwotPT09PT09PT09PT09PT09PT09PT09PT09PSAgPT09PT09PT09PT09PT09PT09PT09ICA9PT09PT09PT09PT09PT09PT09PT09ICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci06Y2xhc3M6YENvbnRhaW5lcmAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBgX19jb250YWluc19fYGAKLTpjbGFzczpgSGFzaGFibGVgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYGBfX2hhc2hfX2BgCi06Y2xhc3M6YEl0ZXJhYmxlYCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBgX19pdGVyX19gYAotOmNsYXNzOmBJdGVyYXRvcmAgICAgICAgICAgOmNsYXNzOmBJdGVyYWJsZWAgICAgICBgYF9fbmV4dF9fYGAgICAgICAgICAgICBgYF9faXRlcl9fYGAKLTpjbGFzczpgU2l6ZWRgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYGBfX2xlbl9fYGAKLTpjbGFzczpgQ2FsbGFibGVgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYGBfX2NhbGxfX2BgCi0KLTpjbGFzczpgU2VxdWVuY2VgICAgICAgICAgIDpjbGFzczpgU2l6ZWRgLCAgICAgICAgYGBfX2dldGl0ZW1fX2BgICAgICAgICAgYGBfX2NvbnRhaW5zX19gYCwgYGBfX2l0ZXJfX2BgLCBgYF9fcmV2ZXJzZWRfX2BgLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgOmNsYXNzOmBJdGVyYWJsZWAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgYGluZGV4YGAsIGFuZCBgYGNvdW50YGAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIDpjbGFzczpgQ29udGFpbmVyYAotCi06Y2xhc3M6YE11dGFibGVTZXF1ZW5jZWAgICA6Y2xhc3M6YFNlcXVlbmNlYCAgICAgIGBgX19zZXRpdGVtX19gYCwgICAgICAgIEluaGVyaXRlZCA6Y2xhc3M6YFNlcXVlbmNlYCBtZXRob2RzIGFuZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgYF9fZGVsaXRlbV9fYGAsICAgICAgICBgYGFwcGVuZGBgLCBgYHJldmVyc2VgYCwgYGBleHRlbmRgYCwgYGBwb3BgYCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYGBpbnNlcnRgYCAgICAgICAgICAgICAgYGByZW1vdmVgYCwgYW5kIGBgX19pYWRkX19gYAotCi06Y2xhc3M6YFNldGAgICAgICAgICAgICAgICA6Y2xhc3M6YFNpemVkYCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBgX19sZV9fYGAsIGBgX19sdF9fYGAsIGBgX19lcV9fYGAsIGBgX19uZV9fYGAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICA6Y2xhc3M6YEl0ZXJhYmxlYCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBgX19ndF9fYGAsIGBgX19nZV9fYGAsIGBgX19hbmRfX2BgLCBgYF9fb3JfX2BgLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgOmNsYXNzOmBDb250YWluZXJgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgYF9fc3ViX19gYCwgYGBfX3hvcl9fYGAsIGFuZCBgYGlzZGlzam9pbnRgYAotCi06Y2xhc3M6YE11dGFibGVTZXRgICAgICAgICA6Y2xhc3M6YFNldGAgICAgICAgICAgIGBgYWRkYGAsICAgICAgICAgICAgICAgIEluaGVyaXRlZCA6Y2xhc3M6YFNldGAgbWV0aG9kcyBhbmQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYGBkaXNjYXJkYGAgICAgICAgICAgICAgYGBjbGVhcmBgLCBgYHBvcGBgLCBgYHJlbW92ZWBgLCBgYF9faW9yX19gYCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYGBfX2lhbmRfX2BgLCBgYF9faXhvcl9fYGAsIGFuZCBgYF9faXN1Yl9fYGAKLQotOmNsYXNzOmBNYXBwaW5nYCAgICAgICAgICAgOmNsYXNzOmBTaXplZGAsICAgICAgICBgYF9fZ2V0aXRlbV9fYGAgICAgICAgICBgYF9fY29udGFpbnNfX2BgLCBgYGtleXNgYCwgYGBpdGVtc2BgLCBgYHZhbHVlc2BgLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgOmNsYXNzOmBJdGVyYWJsZWAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgYGdldGBgLCBgYF9fZXFfX2BgLCBhbmQgYGBfX25lX19gYAotICAgICAgICAgICAgICAgICAgICAgICAgICAgOmNsYXNzOmBDb250YWluZXJgCi0KLTpjbGFzczpgTXV0YWJsZU1hcHBpbmdgICAgIDpjbGFzczpgTWFwcGluZ2AgICAgICAgYGBfX3NldGl0ZW1fX2BgLCAgICAgICAgSW5oZXJpdGVkIDpjbGFzczpgTWFwcGluZ2AgbWV0aG9kcyBhbmQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYGBfX2RlbGl0ZW1fX2BgICAgICAgICAgYGBwb3BgYCwgYGBwb3BpdGVtYGAsIGBgY2xlYXJgYCwgYGB1cGRhdGVgYCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIGBgc2V0ZGVmYXVsdGBgCi0KLQotOmNsYXNzOmBNYXBwaW5nVmlld2AgICAgICAgOmNsYXNzOmBTaXplZGAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgYF9fbGVuX19gYAotOmNsYXNzOmBJdGVtc1ZpZXdgICAgICAgICAgOmNsYXNzOmBNYXBwaW5nVmlld2AsICAgICAgICAgICAgICAgICAgICAgICAgICBgYF9fY29udGFpbnNfX2BgLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgOmNsYXNzOmBTZXRgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgYF9faXRlcl9fYGAKLTpjbGFzczpgS2V5c1ZpZXdgICAgICAgICAgIDpjbGFzczpgTWFwcGluZ1ZpZXdgLCAgICAgICAgICAgICAgICAgICAgICAgICAgYGBfX2NvbnRhaW5zX19gYCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIDpjbGFzczpgU2V0YCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYGBfX2l0ZXJfX2BgCi06Y2xhc3M6YFZhbHVlc1ZpZXdgICAgICAgICA6Y2xhc3M6YE1hcHBpbmdWaWV3YCAgICAgICAgICAgICAgICAgICAgICAgICAgIGBgX19jb250YWluc19fYGAsIGBgX19pdGVyX19gYAotPT09PT09PT09PT09PT09PT09PT09PT09PSAgPT09PT09PT09PT09PT09PT09PT09ICA9PT09PT09PT09PT09PT09PT09PT09ICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0KLQotLi4gY2xhc3M6OiBDb250YWluZXIKLSAgICAgICAgICAgSGFzaGFibGUKLSAgICAgICAgICAgU2l6ZWQKLSAgICAgICAgICAgQ2FsbGFibGUKLQotICAgQUJDcyBmb3IgY2xhc3NlcyB0aGF0IHByb3ZpZGUgcmVzcGVjdGl2ZWx5IHRoZSBtZXRob2RzIDptZXRoOmBfX2NvbnRhaW5zX19gLAotICAgOm1ldGg6YF9faGFzaF9fYCwgOm1ldGg6YF9fbGVuX19gLCBhbmQgOm1ldGg6YF9fY2FsbF9fYC4KLQotLi4gY2xhc3M6OiBJdGVyYWJsZQotCi0gICBBQkMgZm9yIGNsYXNzZXMgdGhhdCBwcm92aWRlIHRoZSA6bWV0aDpgX19pdGVyX19gIG1ldGhvZC4KLSAgIFNlZSBhbHNvIHRoZSBkZWZpbml0aW9uIG9mIDp0ZXJtOmBpdGVyYWJsZWAuCi0KLS4uIGNsYXNzOjogSXRlcmF0b3IKLQotICAgQUJDIGZvciBjbGFzc2VzIHRoYXQgcHJvdmlkZSB0aGUgOm1ldGg6YF9faXRlcl9fYCBhbmQgOm1ldGg6YG5leHRgIG1ldGhvZHMuCi0gICBTZWUgYWxzbyB0aGUgZGVmaW5pdGlvbiBvZiA6dGVybTpgaXRlcmF0b3JgLgotCi0uLiBjbGFzczo6IFNlcXVlbmNlCi0gICAgICAgICAgIE11dGFibGVTZXF1ZW5jZQotCi0gICBBQkNzIGZvciByZWFkLW9ubHkgYW5kIG11dGFibGUgOnRlcm06YHNlcXVlbmNlcyA8c2VxdWVuY2U+YC4KLQotLi4gY2xhc3M6OiBTZXQKLSAgICAgICAgICAgTXV0YWJsZVNldAotCi0gICBBQkNzIGZvciByZWFkLW9ubHkgYW5kIG11dGFibGUgc2V0cy4KLQotLi4gY2xhc3M6OiBNYXBwaW5nCi0gICAgICAgICAgIE11dGFibGVNYXBwaW5nCi0KLSAgIEFCQ3MgZm9yIHJlYWQtb25seSBhbmQgbXV0YWJsZSA6dGVybTpgbWFwcGluZ3MgPG1hcHBpbmc+YC4KLQotLi4gY2xhc3M6OiBNYXBwaW5nVmlldwotICAgICAgICAgICBJdGVtc1ZpZXcKLSAgICAgICAgICAgS2V5c1ZpZXcKLSAgICAgICAgICAgVmFsdWVzVmlldwotCi0gICBBQkNzIGZvciBtYXBwaW5nLCBpdGVtcywga2V5cywgYW5kIHZhbHVlcyA6dGVybTpgdmlld3MgPHZpZXc+YC4KLQotCi1UaGVzZSBBQkNzIGFsbG93IHVzIHRvIGFzayBjbGFzc2VzIG9yIGluc3RhbmNlcyBpZiB0aGV5IHByb3ZpZGUKLXBhcnRpY3VsYXIgZnVuY3Rpb25hbGl0eSwgZm9yIGV4YW1wbGU6OgotCi0gICAgc2l6ZSA9IE5vbmUKLSAgICBpZiBpc2luc3RhbmNlKG15dmFyLCBjb2xsZWN0aW9ucy5TaXplZCk6Ci0gICAgICAgIHNpemUgPSBsZW4obXl2YXIpCi0KLVNldmVyYWwgb2YgdGhlIEFCQ3MgYXJlIGFsc28gdXNlZnVsIGFzIG1peGlucyB0aGF0IG1ha2UgaXQgZWFzaWVyIHRvIGRldmVsb3AKLWNsYXNzZXMgc3VwcG9ydGluZyBjb250YWluZXIgQVBJcy4gIEZvciBleGFtcGxlLCB0byB3cml0ZSBhIGNsYXNzIHN1cHBvcnRpbmcKLXRoZSBmdWxsIDpjbGFzczpgU2V0YCBBUEksIGl0IG9ubHkgbmVjZXNzYXJ5IHRvIHN1cHBseSB0aGUgdGhyZWUgdW5kZXJseWluZwotYWJzdHJhY3QgbWV0aG9kczogOm1ldGg6YF9fY29udGFpbnNfX2AsIDptZXRoOmBfX2l0ZXJfX2AsIGFuZCA6bWV0aDpgX19sZW5fX2AuCi1UaGUgQUJDIHN1cHBsaWVzIHRoZSByZW1haW5pbmcgbWV0aG9kcyBzdWNoIGFzIDptZXRoOmBfX2FuZF9fYCBhbmQKLTptZXRoOmBpc2Rpc2pvaW50YCA6OgotCi0gICAgY2xhc3MgTGlzdEJhc2VkU2V0KGNvbGxlY3Rpb25zLlNldCk6Ci0gICAgICAgICAnJycgQWx0ZXJuYXRlIHNldCBpbXBsZW1lbnRhdGlvbiBmYXZvcmluZyBzcGFjZSBvdmVyIHNwZWVkCi0gICAgICAgICAgICAgYW5kIG5vdCByZXF1aXJpbmcgdGhlIHNldCBlbGVtZW50cyB0byBiZSBoYXNoYWJsZS4gJycnCi0gICAgICAgICBkZWYgX19pbml0X18oc2VsZiwgaXRlcmFibGUpOgotICAgICAgICAgICAgIHNlbGYuZWxlbWVudHMgPSBsc3QgPSBbXQotICAgICAgICAgICAgIGZvciB2YWx1ZSBpbiBpdGVyYWJsZToKLSAgICAgICAgICAgICAgICAgaWYgdmFsdWUgbm90IGluIGxzdDoKLSAgICAgICAgICAgICAgICAgICAgIGxzdC5hcHBlbmQodmFsdWUpCi0gICAgICAgICBkZWYgX19pdGVyX18oc2VsZik6Ci0gICAgICAgICAgICAgcmV0dXJuIGl0ZXIoc2VsZi5lbGVtZW50cykKLSAgICAgICAgIGRlZiBfX2NvbnRhaW5zX18oc2VsZiwgdmFsdWUpOgotICAgICAgICAgICAgIHJldHVybiB2YWx1ZSBpbiBzZWxmLmVsZW1lbnRzCi0gICAgICAgICBkZWYgX19sZW5fXyhzZWxmKToKLSAgICAgICAgICAgICByZXR1cm4gbGVuKHNlbGYuZWxlbWVudHMpCi0KLSAgICBzMSA9IExpc3RCYXNlZFNldCgnYWJjZGVmJykKLSAgICBzMiA9IExpc3RCYXNlZFNldCgnZGVmZ2hpJykKLSAgICBvdmVybGFwID0gczEgJiBzMiAgICAgICAgICAgICMgVGhlIF9fYW5kX18oKSBtZXRob2QgaXMgc3VwcG9ydGVkIGF1dG9tYXRpY2FsbHkKLQotTm90ZXMgb24gdXNpbmcgOmNsYXNzOmBTZXRgIGFuZCA6Y2xhc3M6YE11dGFibGVTZXRgIGFzIGEgbWl4aW46Ci0KLSgxKQotICAgU2luY2Ugc29tZSBzZXQgb3BlcmF0aW9ucyBjcmVhdGUgbmV3IHNldHMsIHRoZSBkZWZhdWx0IG1peGluIG1ldGhvZHMgbmVlZAotICAgYSB3YXkgdG8gY3JlYXRlIG5ldyBpbnN0YW5jZXMgZnJvbSBhbiBpdGVyYWJsZS4gVGhlIGNsYXNzIGNvbnN0cnVjdG9yIGlzCi0gICBhc3N1bWVkIHRvIGhhdmUgYSBzaWduYXR1cmUgaW4gdGhlIGZvcm0gYGBDbGFzc05hbWUoaXRlcmFibGUpYGAuCi0gICBUaGF0IGFzc3VtcHRpb24gaXMgZmFjdG9yZWQtb3V0IHRvIGFuIGludGVybmFsIGNsYXNzbWV0aG9kIGNhbGxlZAotICAgOm1ldGg6YF9mcm9tX2l0ZXJhYmxlYCB3aGljaCBjYWxscyBgYGNscyhpdGVyYWJsZSlgYCB0byBwcm9kdWNlIGEgbmV3IHNldC4KLSAgIElmIHRoZSA6Y2xhc3M6YFNldGAgbWl4aW4gaXMgYmVpbmcgdXNlZCBpbiBhIGNsYXNzIHdpdGggYSBkaWZmZXJlbnQKLSAgIGNvbnN0cnVjdG9yIHNpZ25hdHVyZSwgeW91IHdpbGwgbmVlZCB0byBvdmVycmlkZSA6bWV0aDpgX2Zyb21faXRlcmFibGVgCi0gICB3aXRoIGEgY2xhc3NtZXRob2QgdGhhdCBjYW4gY29uc3RydWN0IG5ldyBpbnN0YW5jZXMgZnJvbQotICAgYW4gaXRlcmFibGUgYXJndW1lbnQuCi0KLSgyKQotICAgVG8gb3ZlcnJpZGUgdGhlIGNvbXBhcmlzb25zIChwcmVzdW1hYmx5IGZvciBzcGVlZCwgYXMgdGhlCi0gICBzZW1hbnRpY3MgYXJlIGZpeGVkKSwgcmVkZWZpbmUgOm1ldGg6YF9fbGVfX2AgYW5kCi0gICB0aGVuIHRoZSBvdGhlciBvcGVyYXRpb25zIHdpbGwgYXV0b21hdGljYWxseSBmb2xsb3cgc3VpdC4KLQotKDMpCi0gICBUaGUgOmNsYXNzOmBTZXRgIG1peGluIHByb3ZpZGVzIGEgOm1ldGg6YF9oYXNoYCBtZXRob2QgdG8gY29tcHV0ZSBhIGhhc2ggdmFsdWUKLSAgIGZvciB0aGUgc2V0OyBob3dldmVyLCA6bWV0aDpgX19oYXNoX19gIGlzIG5vdCBkZWZpbmVkIGJlY2F1c2Ugbm90IGFsbCBzZXRzCi0gICBhcmUgaGFzaGFibGUgb3IgaW1tdXRhYmxlLiAgVG8gYWRkIHNldCBoYXNoYWJpbHR5IHVzaW5nIG1peGlucywKLSAgIGluaGVyaXQgZnJvbSBib3RoIDptZXRoOmBTZXRgIGFuZCA6bWV0aDpgSGFzaGFibGVgLCB0aGVuIGRlZmluZQotICAgYGBfX2hhc2hfXyA9IFNldC5faGFzaGBgLgotCi0uLiBzZWVhbHNvOjoKLQotICAgKiBgT3JkZXJlZFNldCByZWNpcGUgPGh0dHA6Ly9jb2RlLmFjdGl2ZXN0YXRlLmNvbS9yZWNpcGVzLzU3NjY5NC8+YF8gZm9yIGFuCi0gICAgIGV4YW1wbGUgYnVpbHQgb24gOmNsYXNzOmBNdXRhYmxlU2V0YC4KLQotICAgKiBGb3IgbW9yZSBhYm91dCBBQkNzLCBzZWUgdGhlIDptb2Q6YGFiY2AgbW9kdWxlIGFuZCA6cGVwOmAzMTE5YC4KZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L2NvbmN1cnJlbnQuZnV0dXJlcy5yc3QgYi9Eb2MvbGlicmFyeS9jb25jdXJyZW50LmZ1dHVyZXMucnN0CmluZGV4IDI5ZmZjMGQuLmE4OGYxMGMgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L2NvbmN1cnJlbnQuZnV0dXJlcy5yc3QKKysrIGIvRG9jL2xpYnJhcnkvY29uY3VycmVudC5mdXR1cmVzLnJzdApAQCAtMTY5LDYgKzE2OSwxMiBAQAogICAgb2YgYXQgbW9zdCAqbWF4X3dvcmtlcnMqIHByb2Nlc3Nlcy4gIElmICptYXhfd29ya2VycyogaXMgYGBOb25lYGAgb3Igbm90CiAgICBnaXZlbiwgaXQgd2lsbCBkZWZhdWx0IHRvIHRoZSBudW1iZXIgb2YgcHJvY2Vzc29ycyBvbiB0aGUgbWFjaGluZS4KIAorICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjMKKyAgICAgIFdoZW4gb25lIG9mIHRoZSB3b3JrZXIgcHJvY2Vzc2VzIHRlcm1pbmF0ZXMgYWJydXB0bHksIGEKKyAgICAgIDpleGM6YEJyb2tlblByb2Nlc3NQb29sYCBlcnJvciBpcyBub3cgcmFpc2VkLiAgUHJldmlvdXNseSwgYmVoYXZpb3VyCisgICAgICB3YXMgdW5kZWZpbmVkIGJ1dCBvcGVyYXRpb25zIG9uIHRoZSBleGVjdXRvciBvciBpdHMgZnV0dXJlcyB3b3VsZCBvZnRlbgorICAgICAgZnJlZXplIG9yIGRlYWRsb2NrLgorCiAKIC4uIF9wcm9jZXNzcG9vbGV4ZWN1dG9yLWV4YW1wbGU6CiAKQEAgLTM2OSwzICszNzUsMTYgQEAKICAgIDpwZXA6YDMxNDhgIC0tIGZ1dHVyZXMgLSBleGVjdXRlIGNvbXB1dGF0aW9ucyBhc3luY2hyb25vdXNseQogICAgICAgVGhlIHByb3Bvc2FsIHdoaWNoIGRlc2NyaWJlZCB0aGlzIGZlYXR1cmUgZm9yIGluY2x1c2lvbiBpbiB0aGUgUHl0aG9uCiAgICAgICBzdGFuZGFyZCBsaWJyYXJ5LgorCisKK0V4Y2VwdGlvbiBjbGFzc2VzCistLS0tLS0tLS0tLS0tLS0tLQorCisuLiBleGNlcHRpb246OiBCcm9rZW5Qcm9jZXNzUG9vbAorCisgICBEZXJpdmVkIGZyb20gOmV4YzpgUnVudGltZUVycm9yYCwgdGhpcyBleGNlcHRpb24gY2xhc3MgaXMgcmFpc2VkIHdoZW4KKyAgIG9uZSBvZiB0aGUgd29ya2VycyBvZiBhIDpjbGFzczpgUHJvY2Vzc1Bvb2xFeGVjdXRvcmAgaGFzIHRlcm1pbmF0ZWQKKyAgIGluIGEgbm9uLWNsZWFuIGZhc2hpb24gKGZvciBleGFtcGxlLCBpZiBpdCB3YXMga2lsbGVkIGZyb20gdGhlIG91dHNpZGUpLgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKKwpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvY29weXJlZy5yc3QgYi9Eb2MvbGlicmFyeS9jb3B5cmVnLnJzdAppbmRleCBhMmQzMTZlLi40MTA2MWU1IDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9jb3B5cmVnLnJzdAorKysgYi9Eb2MvbGlicmFyeS9jb3B5cmVnLnJzdApAQCAtMzIsNiArMzIsOCBAQAogICAgcmV0dXJuZWQgYnkgKmZ1bmN0aW9uKiBhdCBwaWNrbGluZyB0aW1lLiAgOmV4YzpgVHlwZUVycm9yYCB3aWxsIGJlIHJhaXNlZCBpZgogICAgKm9iamVjdCogaXMgYSBjbGFzcyBvciAqY29uc3RydWN0b3IqIGlzIG5vdCBjYWxsYWJsZS4KIAotICAgU2VlIHRoZSA6bW9kOmBwaWNrbGVgIG1vZHVsZSBmb3IgbW9yZSBkZXRhaWxzIG9uIHRoZSBpbnRlcmZhY2UgZXhwZWN0ZWQgb2YKLSAgICpmdW5jdGlvbiogYW5kICpjb25zdHJ1Y3RvciouCi0KKyAgIFNlZSB0aGUgOm1vZDpgcGlja2xlYCBtb2R1bGUgZm9yIG1vcmUgZGV0YWlscyBvbiB0aGUgaW50ZXJmYWNlCisgICBleHBlY3RlZCBvZiAqZnVuY3Rpb24qIGFuZCAqY29uc3RydWN0b3IqLiAgTm90ZSB0aGF0IHRoZQorICAgOmF0dHI6YH5waWNrbGUuUGlja2xlci5kaXNwYXRjaF90YWJsZWAgYXR0cmlidXRlIG9mIGEgcGlja2xlcgorICAgb2JqZWN0IG9yIHN1YmNsYXNzIG9mIDpjbGFzczpgcGlja2xlLlBpY2tsZXJgIGNhbiBhbHNvIGJlIHVzZWQgZm9yCisgICBkZWNsYXJpbmcgcmVkdWN0aW9uIGZ1bmN0aW9ucy4KZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L2NyeXB0LnJzdCBiL0RvYy9saWJyYXJ5L2NyeXB0LnJzdAppbmRleCAwYmU1NzFlLi4xYmEyZWQzIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9jcnlwdC5yc3QKKysrIGIvRG9jL2xpYnJhcnkvY3J5cHQucnN0CkBAIC0xNSw5ICsxNSw5IEBACiAKIFRoaXMgbW9kdWxlIGltcGxlbWVudHMgYW4gaW50ZXJmYWNlIHRvIHRoZSA6bWFucGFnZTpgY3J5cHQoMylgIHJvdXRpbmUsIHdoaWNoIGlzCiBhIG9uZS13YXkgaGFzaCBmdW5jdGlvbiBiYXNlZCB1cG9uIGEgbW9kaWZpZWQgREVTIGFsZ29yaXRobTsgc2VlIHRoZSBVbml4IG1hbgotcGFnZSBmb3IgZnVydGhlciBkZXRhaWxzLiAgUG9zc2libGUgdXNlcyBpbmNsdWRlIGFsbG93aW5nIFB5dGhvbiBzY3JpcHRzIHRvCi1hY2NlcHQgdHlwZWQgcGFzc3dvcmRzIGZyb20gdGhlIHVzZXIsIG9yIGF0dGVtcHRpbmcgdG8gY3JhY2sgVW5peCBwYXNzd29yZHMgd2l0aAotYSBkaWN0aW9uYXJ5LgorcGFnZSBmb3IgZnVydGhlciBkZXRhaWxzLiAgUG9zc2libGUgdXNlcyBpbmNsdWRlIHN0b3JpbmcgaGFzaGVkIHBhc3N3b3Jkcworc28geW91IGNhbiBjaGVjayBwYXNzd29yZHMgd2l0aG91dCBzdG9yaW5nIHRoZSBhY3R1YWwgcGFzc3dvcmQsIG9yIGF0dGVtcHRpbmcKK3RvIGNyYWNrIFVuaXggcGFzc3dvcmRzIHdpdGggYSBkaWN0aW9uYXJ5LgogCiAuLiBpbmRleDo6IHNpbmdsZTogY3J5cHQoMykKIApAQCAtMjYsMTUgKzI2LDc0IEBACiBleHRlbnNpb25zIGF2YWlsYWJsZSBvbiB0aGUgY3VycmVudCBpbXBsZW1lbnRhdGlvbiB3aWxsIGFsc28gIGJlIGF2YWlsYWJsZSBvbgogdGhpcyBtb2R1bGUuCiAKK0hhc2hpbmcgTWV0aG9kcworLS0tLS0tLS0tLS0tLS0tCiAKLS4uIGZ1bmN0aW9uOjogY3J5cHQod29yZCwgc2FsdCkKKy4uIHZlcnNpb25hZGRlZDo6IDMuMworCitUaGUgOm1vZDpgY3J5cHRgIG1vZHVsZSBkZWZpbmVzIHRoZSBsaXN0IG9mIGhhc2hpbmcgbWV0aG9kcyAobm90IGFsbCBtZXRob2RzCithcmUgYXZhaWxhYmxlIG9uIGFsbCBwbGF0Zm9ybXMpOgorCisuLiBkYXRhOjogTUVUSE9EX1NIQTUxMgorCisgICBBIE1vZHVsYXIgQ3J5cHQgRm9ybWF0IG1ldGhvZCB3aXRoIDE2IGNoYXJhY3RlciBzYWx0IGFuZCA4NiBjaGFyYWN0ZXIKKyAgIGhhc2guICBUaGlzIGlzIHRoZSBzdHJvbmdlc3QgbWV0aG9kLgorCisuLiBkYXRhOjogTUVUSE9EX1NIQTI1NgorCisgICBBbm90aGVyIE1vZHVsYXIgQ3J5cHQgRm9ybWF0IG1ldGhvZCB3aXRoIDE2IGNoYXJhY3RlciBzYWx0IGFuZCA0MworICAgY2hhcmFjdGVyIGhhc2guCisKKy4uIGRhdGE6OiBNRVRIT0RfTUQ1CisKKyAgIEFub3RoZXIgTW9kdWxhciBDcnlwdCBGb3JtYXQgbWV0aG9kIHdpdGggOCBjaGFyYWN0ZXIgc2FsdCBhbmQgMjIKKyAgIGNoYXJhY3RlciBoYXNoLgorCisuLiBkYXRhOjogTUVUSE9EX0NSWVBUCisKKyAgIFRoZSB0cmFkaXRpb25hbCBtZXRob2Qgd2l0aCBhIDIgY2hhcmFjdGVyIHNhbHQgYW5kIDEzIGNoYXJhY3RlcnMgb2YKKyAgIGhhc2guICBUaGlzIGlzIHRoZSB3ZWFrZXN0IG1ldGhvZC4KKworCitNb2R1bGUgQXR0cmlidXRlcworLS0tLS0tLS0tLS0tLS0tLS0KKworLi4gdmVyc2lvbmFkZGVkOjogMy4zCisKKy4uIGF0dHJpYnV0ZTo6IG1ldGhvZHMKKworICAgQSBsaXN0IG9mIGF2YWlsYWJsZSBwYXNzd29yZCBoYXNoaW5nIGFsZ29yaXRobXMsIGFzCisgICBgYGNyeXB0Lk1FVEhPRF8qYGAgb2JqZWN0cy4gIFRoaXMgbGlzdCBpcyBzb3J0ZWQgZnJvbSBzdHJvbmdlc3QgdG8KKyAgIHdlYWtlc3QsIGFuZCBpcyBndWFyYW50ZWVkIHRvIGhhdmUgYXQgbGVhc3QgYGBjcnlwdC5NRVRIT0RfQ1JZUFRgYC4KKworCitNb2R1bGUgRnVuY3Rpb25zCistLS0tLS0tLS0tLS0tLS0tCisKK1RoZSA6bW9kOmBjcnlwdGAgbW9kdWxlIGRlZmluZXMgdGhlIGZvbGxvd2luZyBmdW5jdGlvbnM6CisKKy4uIGZ1bmN0aW9uOjogY3J5cHQod29yZCwgc2FsdD1Ob25lKQogCiAgICAqd29yZCogd2lsbCB1c3VhbGx5IGJlIGEgdXNlcidzIHBhc3N3b3JkIGFzIHR5cGVkIGF0IGEgcHJvbXB0IG9yICBpbiBhIGdyYXBoaWNhbAotICAgaW50ZXJmYWNlLiAgKnNhbHQqIGlzIHVzdWFsbHkgYSByYW5kb20gdHdvLWNoYXJhY3RlciBzdHJpbmcgd2hpY2ggd2lsbCBiZSB1c2VkCi0gICB0byBwZXJ0dXJiIHRoZSBERVMgYWxnb3JpdGhtIGluIG9uZSBvZiA0MDk2IHdheXMuICBUaGUgY2hhcmFjdGVycyBpbiAqc2FsdCogbXVzdAotICAgYmUgaW4gdGhlIHNldCBgYFsuL2EtekEtWjAtOV1gYC4gIFJldHVybnMgdGhlIGhhc2hlZCBwYXNzd29yZCBhcyBhIHN0cmluZywgd2hpY2gKLSAgIHdpbGwgYmUgY29tcG9zZWQgb2YgY2hhcmFjdGVycyBmcm9tIHRoZSBzYW1lIGFscGhhYmV0IGFzIHRoZSBzYWx0ICh0aGUgZmlyc3QgdHdvCi0gICBjaGFyYWN0ZXJzIHJlcHJlc2VudCB0aGUgc2FsdCBpdHNlbGYpLgorICAgaW50ZXJmYWNlLiAgVGhlIG9wdGlvbmFsICpzYWx0KiBpcyBlaXRoZXIgYSBzdHJpbmcgYXMgcmV0dXJuZWQgZnJvbQorICAgOmZ1bmM6YG1rc2FsdGAsIG9uZSBvZiB0aGUgYGBjcnlwdC5NRVRIT0RfKmBgIHZhbHVlcyAodGhvdWdoIG5vdCBhbGwKKyAgIG1heSBiZSBhdmFpbGFibGUgb24gYWxsIHBsYXRmb3JtcyksIG9yIGEgZnVsbCBlbmNyeXB0ZWQgcGFzc3dvcmQKKyAgIGluY2x1ZGluZyBzYWx0LCBhcyByZXR1cm5lZCBieSB0aGlzIGZ1bmN0aW9uLiAgSWYgKnNhbHQqIGlzIG5vdAorICAgcHJvdmlkZWQsIHRoZSBzdHJvbmdlc3QgbWV0aG9kIHdpbGwgYmUgdXNlZCAoYXMgcmV0dXJuZWQgYnkKKyAgIDpmdW5jOmBtZXRob2RzYC4KKworICAgQ2hlY2tpbmcgYSBwYXNzd29yZCBpcyB1c3VhbGx5IGRvbmUgYnkgcGFzc2luZyB0aGUgcGxhaW4tdGV4dCBwYXNzd29yZAorICAgYXMgKndvcmQqIGFuZCB0aGUgZnVsbCByZXN1bHRzIG9mIGEgcHJldmlvdXMgOmZ1bmM6YGNyeXB0YCBjYWxsLAorICAgd2hpY2ggc2hvdWxkIGJlIHRoZSBzYW1lIGFzIHRoZSByZXN1bHRzIG9mIHRoaXMgY2FsbC4KKworICAgKnNhbHQqIChlaXRoZXIgYSByYW5kb20gMiBvciAxNiBjaGFyYWN0ZXIgc3RyaW5nLCBwb3NzaWJseSBwcmVmaXhlZCB3aXRoCisgICBgYCRkaWdpdCRgYCB0byBpbmRpY2F0ZSB0aGUgbWV0aG9kKSB3aGljaCB3aWxsIGJlIHVzZWQgdG8gcGVydHVyYiB0aGUKKyAgIGVuY3J5cHRpb24gYWxnb3JpdGhtLiAgVGhlIGNoYXJhY3RlcnMgaW4gKnNhbHQqIG11c3QgYmUgaW4gdGhlIHNldAorICAgYGBbLi9hLXpBLVowLTldYGAsIHdpdGggdGhlIGV4Y2VwdGlvbiBvZiBNb2R1bGFyIENyeXB0IEZvcm1hdCB3aGljaAorICAgcHJlZml4ZXMgYSBgYCRkaWdpdCRgYC4KKworICAgUmV0dXJucyB0aGUgaGFzaGVkIHBhc3N3b3JkIGFzIGEgc3RyaW5nLCB3aGljaCB3aWxsIGJlIGNvbXBvc2VkIG9mCisgICBjaGFyYWN0ZXJzIGZyb20gdGhlIHNhbWUgYWxwaGFiZXQgYXMgdGhlIHNhbHQuCiAKICAgIC4uIGluZGV4Ojogc2luZ2xlOiBjcnlwdCgzKQogCkBAIC00MiwxOCArMTAxLDQ4IEBACiAgICBkaWZmZXJlbnQgc2l6ZXMgaW4gdGhlICpzYWx0KiwgaXQgaXMgcmVjb21tZW5kZWQgdG8gdXNlICB0aGUgZnVsbCBjcnlwdGVkCiAgICBwYXNzd29yZCBhcyBzYWx0IHdoZW4gY2hlY2tpbmcgZm9yIGEgcGFzc3dvcmQuCiAKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy4zCisgICAgICBBY2NlcHQgYGBjcnlwdC5NRVRIT0RfKmBgIHZhbHVlcyBpbiBhZGRpdGlvbiB0byBzdHJpbmdzIGZvciAqc2FsdCouCisKKworLi4gZnVuY3Rpb246OiBta3NhbHQobWV0aG9kPU5vbmUpCisKKyAgIFJldHVybiBhIHJhbmRvbWx5IGdlbmVyYXRlZCBzYWx0IG9mIHRoZSBzcGVjaWZpZWQgbWV0aG9kLiAgSWYgbm8KKyAgICptZXRob2QqIGlzIGdpdmVuLCB0aGUgc3Ryb25nZXN0IG1ldGhvZCBhdmFpbGFibGUgYXMgcmV0dXJuZWQgYnkKKyAgIDpmdW5jOmBtZXRob2RzYCBpcyB1c2VkLgorCisgICBUaGUgcmV0dXJuIHZhbHVlIGlzIGEgc3RyaW5nIGVpdGhlciBvZiAyIGNoYXJhY3RlcnMgaW4gbGVuZ3RoIGZvcgorICAgYGBjcnlwdC5NRVRIT0RfQ1JZUFRgYCwgb3IgMTkgY2hhcmFjdGVycyBzdGFydGluZyB3aXRoIGBgJGRpZ2l0JGBgIGFuZAorICAgMTYgcmFuZG9tIGNoYXJhY3RlcnMgZnJvbSB0aGUgc2V0IGBgWy4vYS16QS1aMC05XWBgLCBzdWl0YWJsZSBmb3IKKyAgIHBhc3NpbmcgYXMgdGhlICpzYWx0KiBhcmd1bWVudCB0byA6ZnVuYzpgY3J5cHRgLgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKKworRXhhbXBsZXMKKy0tLS0tLS0tCisKIEEgc2ltcGxlIGV4YW1wbGUgaWxsdXN0cmF0aW5nIHR5cGljYWwgdXNlOjoKIAotICAgaW1wb3J0IGNyeXB0LCBnZXRwYXNzLCBwd2QKKyAgIGltcG9ydCBwd2QKKyAgIGltcG9ydCBjcnlwdAorICAgaW1wb3J0IGdldHBhc3MKIAogICAgZGVmIGxvZ2luKCk6Ci0gICAgICAgdXNlcm5hbWUgPSBpbnB1dCgnUHl0aG9uIGxvZ2luOicpCisgICAgICAgdXNlcm5hbWUgPSBpbnB1dCgnUHl0aG9uIGxvZ2luOiAnKQogICAgICAgIGNyeXB0ZWRwYXNzd2QgPSBwd2QuZ2V0cHduYW0odXNlcm5hbWUpWzFdCiAgICAgICAgaWYgY3J5cHRlZHBhc3N3ZDoKICAgICAgICAgICAgaWYgY3J5cHRlZHBhc3N3ZCA9PSAneCcgb3IgY3J5cHRlZHBhc3N3ZCA9PSAnKic6Ci0gICAgICAgICAgICAgICByYWlzZSAiU29ycnksIGN1cnJlbnRseSBubyBzdXBwb3J0IGZvciBzaGFkb3cgcGFzc3dvcmRzIgorICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcignbm8gc3VwcG9ydCBmb3Igc2hhZG93IHBhc3N3b3JkcycpCiAgICAgICAgICAgIGNsZWFydGV4dCA9IGdldHBhc3MuZ2V0cGFzcygpCiAgICAgICAgICAgIHJldHVybiBjcnlwdC5jcnlwdChjbGVhcnRleHQsIGNyeXB0ZWRwYXNzd2QpID09IGNyeXB0ZWRwYXNzd2QKICAgICAgICBlbHNlOgotICAgICAgICAgICByZXR1cm4gMQorICAgICAgICAgICByZXR1cm4gVHJ1ZQogCitUbyBnZW5lcmF0ZSBhIGhhc2ggb2YgYSBwYXNzd29yZCB1c2luZyB0aGUgc3Ryb25nZXN0IGF2YWlsYWJsZSBtZXRob2QgYW5kCitjaGVjayBpdCBhZ2FpbnN0IHRoZSBvcmlnaW5hbDo6CisKKyAgIGltcG9ydCBjcnlwdAorCisgICBoYXNoZWQgPSBjcnlwdC5jcnlwdChwbGFpbnRleHQpCisgICBpZiBoYXNoZWQgIT0gY3J5cHQuY3J5cHQocGxhaW50ZXh0LCBoYXNoZWQpOgorICAgICAgcmFpc2UgVmFsdWVFcnJvcigiaGFzaGVkIHZlcnNpb24gZG9lc24ndCB2YWxpZGF0ZSBhZ2FpbnN0IG9yaWdpbmFsIikKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L2Nzdi5yc3QgYi9Eb2MvbGlicmFyeS9jc3YucnN0CmluZGV4IGVkYmU3MjYuLmVjMGRmY2MgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L2Nzdi5yc3QKKysrIGIvRG9jL2xpYnJhcnkvY3N2LnJzdApAQCAtMTEsMTUgKzExLDE1IEBACiAgICBwYWlyOiBkYXRhOyB0YWJ1bGFyCiAKIFRoZSBzby1jYWxsZWQgQ1NWIChDb21tYSBTZXBhcmF0ZWQgVmFsdWVzKSBmb3JtYXQgaXMgdGhlIG1vc3QgY29tbW9uIGltcG9ydCBhbmQKLWV4cG9ydCBmb3JtYXQgZm9yIHNwcmVhZHNoZWV0cyBhbmQgZGF0YWJhc2VzLiAgVGhlcmUgaXMgbm8gIkNTViBzdGFuZGFyZCIsIHNvCi10aGUgZm9ybWF0IGlzIG9wZXJhdGlvbmFsbHkgZGVmaW5lZCBieSB0aGUgbWFueSBhcHBsaWNhdGlvbnMgd2hpY2ggcmVhZCBhbmQKLXdyaXRlIGl0LiAgVGhlIGxhY2sgb2YgYSBzdGFuZGFyZCBtZWFucyB0aGF0IHN1YnRsZSBkaWZmZXJlbmNlcyBvZnRlbiBleGlzdCBpbgotdGhlIGRhdGEgcHJvZHVjZWQgYW5kIGNvbnN1bWVkIGJ5IGRpZmZlcmVudCBhcHBsaWNhdGlvbnMuICBUaGVzZSBkaWZmZXJlbmNlcyBjYW4KLW1ha2UgaXQgYW5ub3lpbmcgdG8gcHJvY2VzcyBDU1YgZmlsZXMgZnJvbSBtdWx0aXBsZSBzb3VyY2VzLiAgU3RpbGwsIHdoaWxlIHRoZQotZGVsaW1pdGVycyBhbmQgcXVvdGluZyBjaGFyYWN0ZXJzIHZhcnksIHRoZSBvdmVyYWxsIGZvcm1hdCBpcyBzaW1pbGFyIGVub3VnaAotdGhhdCBpdCBpcyBwb3NzaWJsZSB0byB3cml0ZSBhIHNpbmdsZSBtb2R1bGUgd2hpY2ggY2FuIGVmZmljaWVudGx5IG1hbmlwdWxhdGUKLXN1Y2ggZGF0YSwgaGlkaW5nIHRoZSBkZXRhaWxzIG9mIHJlYWRpbmcgYW5kIHdyaXRpbmcgdGhlIGRhdGEgZnJvbSB0aGUKLXByb2dyYW1tZXIuCitleHBvcnQgZm9ybWF0IGZvciBzcHJlYWRzaGVldHMgYW5kIGRhdGFiYXNlcy4gIENTViBmb3JtYXQgd2FzIHVzZWQgZm9yIG1hbnkKK3llYXJzIHByaW9yIHRvIGF0dGVtcHRzIHRvIGRlc2NyaWJlIHRoZSBmb3JtYXQgaW4gYSBzdGFuZGFyZGl6ZWQgd2F5IGluCis6cmZjOmA0MTgwYC4gIFRoZSBsYWNrIG9mIGEgd2VsbC1kZWZpbmVkIHN0YW5kYXJkIG1lYW5zIHRoYXQgc3VidGxlIGRpZmZlcmVuY2VzCitvZnRlbiBleGlzdCBpbiB0aGUgZGF0YSBwcm9kdWNlZCBhbmQgY29uc3VtZWQgYnkgZGlmZmVyZW50IGFwcGxpY2F0aW9ucy4gIFRoZXNlCitkaWZmZXJlbmNlcyBjYW4gbWFrZSBpdCBhbm5veWluZyB0byBwcm9jZXNzIENTViBmaWxlcyBmcm9tIG11bHRpcGxlIHNvdXJjZXMuCitTdGlsbCwgd2hpbGUgdGhlIGRlbGltaXRlcnMgYW5kIHF1b3RpbmcgY2hhcmFjdGVycyB2YXJ5LCB0aGUgb3ZlcmFsbCBmb3JtYXQgaXMKK3NpbWlsYXIgZW5vdWdoIHRoYXQgaXQgaXMgcG9zc2libGUgdG8gd3JpdGUgYSBzaW5nbGUgbW9kdWxlIHdoaWNoIGNhbgorZWZmaWNpZW50bHkgbWFuaXB1bGF0ZSBzdWNoIGRhdGEsIGhpZGluZyB0aGUgZGV0YWlscyBvZiByZWFkaW5nIGFuZCB3cml0aW5nIHRoZQorZGF0YSBmcm9tIHRoZSBwcm9ncmFtbWVyLgogCiBUaGUgOm1vZDpgY3N2YCBtb2R1bGUgaW1wbGVtZW50cyBjbGFzc2VzIHRvIHJlYWQgYW5kIHdyaXRlIHRhYnVsYXIgZGF0YSBpbiBDU1YKIGZvcm1hdC4gIEl0IGFsbG93cyBwcm9ncmFtbWVycyB0byBzYXksICJ3cml0ZSB0aGlzIGRhdGEgaW4gdGhlIGZvcm1hdCBwcmVmZXJyZWQKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L2N0eXBlcy5yc3QgYi9Eb2MvbGlicmFyeS9jdHlwZXMucnN0CmluZGV4IGRmMzljMjguLjhhMmIxOTYgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L2N0eXBlcy5yc3QKKysrIGIvRG9jL2xpYnJhcnkvY3R5cGVzLnJzdApAQCAtMzksOSArMzksMTQgQEAKIGNvbnZlbnRpb24sIHdoaWxlICp3aW5kbGwqIGxpYnJhcmllcyBjYWxsIGZ1bmN0aW9ucyB1c2luZyB0aGUgYGBzdGRjYWxsYGAKIGNhbGxpbmcgY29udmVudGlvbi4gKm9sZWRsbCogYWxzbyB1c2VzIHRoZSBgYHN0ZGNhbGxgYCBjYWxsaW5nIGNvbnZlbnRpb24sIGFuZAogYXNzdW1lcyB0aGUgZnVuY3Rpb25zIHJldHVybiBhIFdpbmRvd3MgOmM6dHlwZTpgSFJFU1VMVGAgZXJyb3IgY29kZS4gVGhlIGVycm9yCi1jb2RlIGlzIHVzZWQgdG8gYXV0b21hdGljYWxseSByYWlzZSBhIDpjbGFzczpgV2luZG93c0Vycm9yYCBleGNlcHRpb24gd2hlbiB0aGUKK2NvZGUgaXMgdXNlZCB0byBhdXRvbWF0aWNhbGx5IHJhaXNlIGEgOmNsYXNzOmBPU0Vycm9yYCBleGNlcHRpb24gd2hlbiB0aGUKIGZ1bmN0aW9uIGNhbGwgZmFpbHMuCiAKKy4uIHZlcnNpb25jaGFuZ2VkOjogMy4zCisgICBXaW5kb3dzIGVycm9ycyB1c2VkIHRvIHJhaXNlIDpleGM6YFdpbmRvd3NFcnJvcmAsIHdoaWNoIGlzIG5vdyBhbiBhbGlhcworICAgb2YgOmV4YzpgT1NFcnJvcmAuCisKKwogSGVyZSBhcmUgc29tZSBleGFtcGxlcyBmb3IgV2luZG93cy4gTm90ZSB0aGF0IGBgbXN2Y3J0YGAgaXMgdGhlIE1TIHN0YW5kYXJkIEMKIGxpYnJhcnkgY29udGFpbmluZyBtb3N0IHN0YW5kYXJkIEMgZnVuY3Rpb25zLCBhbmQgdXNlcyB0aGUgY2RlY2wgY2FsbGluZwogY29udmVudGlvbjo6CkBAIC0xODksNyArMTk0LDcgQEAKICAgID4+PiB3aW5kbGwua2VybmVsMzIuR2V0TW9kdWxlSGFuZGxlQSgzMikgIyBkb2N0ZXN0OiArV0lORE9XUwogICAgVHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOgogICAgICBGaWxlICI8c3RkaW4+IiwgbGluZSAxLCBpbiA/Ci0gICBXaW5kb3dzRXJyb3I6IGV4Y2VwdGlvbjogYWNjZXNzIHZpb2xhdGlvbiByZWFkaW5nIDB4MDAwMDAwMjAKKyAgIE9TRXJyb3I6IGV4Y2VwdGlvbjogYWNjZXNzIHZpb2xhdGlvbiByZWFkaW5nIDB4MDAwMDAwMjAKICAgID4+PgogCiBUaGVyZSBhcmUsIGhvd2V2ZXIsIGVub3VnaCB3YXlzIHRvIGNyYXNoIFB5dGhvbiB3aXRoIDptb2Q6YGN0eXBlc2AsIHNvIHlvdQpAQCAtNDkxLDcgKzQ5Niw3IEBACiAgICBUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgICAgIEZpbGUgIjxzdGRpbj4iLCBsaW5lIDEsIGluID8KICAgICAgRmlsZSAiPHN0ZGluPiIsIGxpbmUgMywgaW4gVmFsaWRIYW5kbGUKLSAgIFdpbmRvd3NFcnJvcjogW0Vycm5vIDEyNl0gVGhlIHNwZWNpZmllZCBtb2R1bGUgY291bGQgbm90IGJlIGZvdW5kLgorICAgT1NFcnJvcjogW0Vycm5vIDEyNl0gVGhlIHNwZWNpZmllZCBtb2R1bGUgY291bGQgbm90IGJlIGZvdW5kLgogICAgPj4+CiAKIGBgV2luRXJyb3JgYCBpcyBhIGZ1bmN0aW9uIHdoaWNoIHdpbGwgY2FsbCBXaW5kb3dzIGBgRm9ybWF0TWVzc2FnZSgpYGAgYXBpIHRvCkBAIC05MjEsMjEgKzkyNiwyMSBAQAogOm1vZDpgY3R5cGVzYCBhbGxvd3MgdG8gY3JlYXRlIEMgY2FsbGFibGUgZnVuY3Rpb24gcG9pbnRlcnMgZnJvbSBQeXRob24gY2FsbGFibGVzLgogVGhlc2UgYXJlIHNvbWV0aW1lcyBjYWxsZWQgKmNhbGxiYWNrIGZ1bmN0aW9ucyouCiAKLUZpcnN0LCB5b3UgbXVzdCBjcmVhdGUgYSBjbGFzcyBmb3IgdGhlIGNhbGxiYWNrIGZ1bmN0aW9uLCB0aGUgY2xhc3Mga25vd3MgdGhlCitGaXJzdCwgeW91IG11c3QgY3JlYXRlIGEgY2xhc3MgZm9yIHRoZSBjYWxsYmFjayBmdW5jdGlvbi4gVGhlIGNsYXNzIGtub3dzIHRoZQogY2FsbGluZyBjb252ZW50aW9uLCB0aGUgcmV0dXJuIHR5cGUsIGFuZCB0aGUgbnVtYmVyIGFuZCB0eXBlcyBvZiBhcmd1bWVudHMgdGhpcwogZnVuY3Rpb24gd2lsbCByZWNlaXZlLgogCi1UaGUgQ0ZVTkNUWVBFIGZhY3RvcnkgZnVuY3Rpb24gY3JlYXRlcyB0eXBlcyBmb3IgY2FsbGJhY2sgZnVuY3Rpb25zIHVzaW5nIHRoZQotbm9ybWFsIGNkZWNsIGNhbGxpbmcgY29udmVudGlvbiwgYW5kLCBvbiBXaW5kb3dzLCB0aGUgV0lORlVOQ1RZUEUgZmFjdG9yeQotZnVuY3Rpb24gY3JlYXRlcyB0eXBlcyBmb3IgY2FsbGJhY2sgZnVuY3Rpb25zIHVzaW5nIHRoZSBzdGRjYWxsIGNhbGxpbmcKLWNvbnZlbnRpb24uCitUaGUgOmZ1bmM6YENGVU5DVFlQRWAgZmFjdG9yeSBmdW5jdGlvbiBjcmVhdGVzIHR5cGVzIGZvciBjYWxsYmFjayBmdW5jdGlvbnMKK3VzaW5nIHRoZSBgYGNkZWNsYGAgY2FsbGluZyBjb252ZW50aW9uLiBPbiBXaW5kb3dzLCB0aGUgOmZ1bmM6YFdJTkZVTkNUWVBFYAorZmFjdG9yeSBmdW5jdGlvbiBjcmVhdGVzIHR5cGVzIGZvciBjYWxsYmFjayBmdW5jdGlvbnMgdXNpbmcgdGhlIGBgc3RkY2FsbGBgCitjYWxsaW5nIGNvbnZlbnRpb24uCiAKIEJvdGggb2YgdGhlc2UgZmFjdG9yeSBmdW5jdGlvbnMgYXJlIGNhbGxlZCB3aXRoIHRoZSByZXN1bHQgdHlwZSBhcyBmaXJzdAogYXJndW1lbnQsIGFuZCB0aGUgY2FsbGJhY2sgZnVuY3Rpb25zIGV4cGVjdGVkIGFyZ3VtZW50IHR5cGVzIGFzIHRoZSByZW1haW5pbmcKIGFyZ3VtZW50cy4KIAogSSB3aWxsIHByZXNlbnQgYW4gZXhhbXBsZSBoZXJlIHdoaWNoIHVzZXMgdGhlIHN0YW5kYXJkIEMgbGlicmFyeSdzCi06YzpmdW5jOmBxc29ydGAgZnVuY3Rpb24sIHRoaXMgaXMgdXNlZCB0byBzb3J0IGl0ZW1zIHdpdGggdGhlIGhlbHAgb2YgYSBjYWxsYmFjaworOmM6ZnVuYzpgcXNvcnRgIGZ1bmN0aW9uLCB0aGF0IGlzIHVzZWQgdG8gc29ydCBpdGVtcyB3aXRoIHRoZSBoZWxwIG9mIGEgY2FsbGJhY2sKIGZ1bmN0aW9uLiAgOmM6ZnVuYzpgcXNvcnRgIHdpbGwgYmUgdXNlZCB0byBzb3J0IGFuIGFycmF5IG9mIGludGVnZXJzOjoKIAogICAgPj4+IEludEFycmF5NSA9IGNfaW50ICogNQpAQCAtOTQ4LDcgKzk1Myw3IEBACiBpdGVtcyBpbiB0aGUgZGF0YSBhcnJheSwgdGhlIHNpemUgb2Ygb25lIGl0ZW0sIGFuZCBhIHBvaW50ZXIgdG8gdGhlIGNvbXBhcmlzb24KIGZ1bmN0aW9uLCB0aGUgY2FsbGJhY2suIFRoZSBjYWxsYmFjayB3aWxsIHRoZW4gYmUgY2FsbGVkIHdpdGggdHdvIHBvaW50ZXJzIHRvCiBpdGVtcywgYW5kIGl0IG11c3QgcmV0dXJuIGEgbmVnYXRpdmUgaW50ZWdlciBpZiB0aGUgZmlyc3QgaXRlbSBpcyBzbWFsbGVyIHRoYW4KLXRoZSBzZWNvbmQsIGEgemVybyBpZiB0aGV5IGFyZSBlcXVhbCwgYW5kIGEgcG9zaXRpdmUgaW50ZWdlciBlbHNlLgordGhlIHNlY29uZCwgYSB6ZXJvIGlmIHRoZXkgYXJlIGVxdWFsLCBhbmQgYSBwb3NpdGl2ZSBpbnRlZ2VyIG90aGVyd2lzZS4KIAogU28gb3VyIGNhbGxiYWNrIGZ1bmN0aW9uIHJlY2VpdmVzIHBvaW50ZXJzIHRvIGludGVnZXJzLCBhbmQgbXVzdCByZXR1cm4gYW4KIGludGVnZXIuIEZpcnN0IHdlIGNyZWF0ZSB0aGUgYGB0eXBlYGAgZm9yIHRoZSBjYWxsYmFjayBmdW5jdGlvbjo6CkBAIC05NTYsMzYgKzk2MSw4IEBACiAgICA+Pj4gQ01QRlVOQyA9IENGVU5DVFlQRShjX2ludCwgUE9JTlRFUihjX2ludCksIFBPSU5URVIoY19pbnQpKQogICAgPj4+CiAKLUZvciB0aGUgZmlyc3QgaW1wbGVtZW50YXRpb24gb2YgdGhlIGNhbGxiYWNrIGZ1bmN0aW9uLCB3ZSBzaW1wbHkgcHJpbnQgdGhlCi1hcmd1bWVudHMgd2UgZ2V0LCBhbmQgcmV0dXJuIDAgKGluY3JlbWVudGFsIGRldmVsb3BtZW50IDstKTo6Ci0KLSAgID4+PiBkZWYgcHlfY21wX2Z1bmMoYSwgYik6Ci0gICAuLi4gICAgIHByaW50KCJweV9jbXBfZnVuYyIsIGEsIGIpCi0gICAuLi4gICAgIHJldHVybiAwCi0gICAuLi4KLSAgID4+PgotCi1DcmVhdGUgdGhlIEMgY2FsbGFibGUgY2FsbGJhY2s6OgotCi0gICA+Pj4gY21wX2Z1bmMgPSBDTVBGVU5DKHB5X2NtcF9mdW5jKQotICAgPj4+Ci0KLUFuZCB3ZSdyZSByZWFkeSB0byBnbzo6Ci0KLSAgID4+PiBxc29ydChpYSwgbGVuKGlhKSwgc2l6ZW9mKGNfaW50KSwgY21wX2Z1bmMpICMgZG9jdGVzdDogK1dJTkRPV1MKLSAgIHB5X2NtcF9mdW5jIDxjdHlwZXMuTFBfY19sb25nIG9iamVjdCBhdCAweDAwLi4uPiA8Y3R5cGVzLkxQX2NfbG9uZyBvYmplY3QgYXQgMHgwMC4uLj4KLSAgIHB5X2NtcF9mdW5jIDxjdHlwZXMuTFBfY19sb25nIG9iamVjdCBhdCAweDAwLi4uPiA8Y3R5cGVzLkxQX2NfbG9uZyBvYmplY3QgYXQgMHgwMC4uLj4KLSAgIHB5X2NtcF9mdW5jIDxjdHlwZXMuTFBfY19sb25nIG9iamVjdCBhdCAweDAwLi4uPiA8Y3R5cGVzLkxQX2NfbG9uZyBvYmplY3QgYXQgMHgwMC4uLj4KLSAgIHB5X2NtcF9mdW5jIDxjdHlwZXMuTFBfY19sb25nIG9iamVjdCBhdCAweDAwLi4uPiA8Y3R5cGVzLkxQX2NfbG9uZyBvYmplY3QgYXQgMHgwMC4uLj4KLSAgIHB5X2NtcF9mdW5jIDxjdHlwZXMuTFBfY19sb25nIG9iamVjdCBhdCAweDAwLi4uPiA8Y3R5cGVzLkxQX2NfbG9uZyBvYmplY3QgYXQgMHgwMC4uLj4KLSAgIHB5X2NtcF9mdW5jIDxjdHlwZXMuTFBfY19sb25nIG9iamVjdCBhdCAweDAwLi4uPiA8Y3R5cGVzLkxQX2NfbG9uZyBvYmplY3QgYXQgMHgwMC4uLj4KLSAgIHB5X2NtcF9mdW5jIDxjdHlwZXMuTFBfY19sb25nIG9iamVjdCBhdCAweDAwLi4uPiA8Y3R5cGVzLkxQX2NfbG9uZyBvYmplY3QgYXQgMHgwMC4uLj4KLSAgIHB5X2NtcF9mdW5jIDxjdHlwZXMuTFBfY19sb25nIG9iamVjdCBhdCAweDAwLi4uPiA8Y3R5cGVzLkxQX2NfbG9uZyBvYmplY3QgYXQgMHgwMC4uLj4KLSAgIHB5X2NtcF9mdW5jIDxjdHlwZXMuTFBfY19sb25nIG9iamVjdCBhdCAweDAwLi4uPiA8Y3R5cGVzLkxQX2NfbG9uZyBvYmplY3QgYXQgMHgwMC4uLj4KLSAgIHB5X2NtcF9mdW5jIDxjdHlwZXMuTFBfY19sb25nIG9iamVjdCBhdCAweDAwLi4uPiA8Y3R5cGVzLkxQX2NfbG9uZyBvYmplY3QgYXQgMHgwMC4uLj4KLSAgID4+PgotCi1XZSBrbm93IGhvdyB0byBhY2Nlc3MgdGhlIGNvbnRlbnRzIG9mIGEgcG9pbnRlciwgc28gbGV0cyByZWRlZmluZSBvdXIgY2FsbGJhY2s6OgorVG8gZ2V0IHN0YXJ0ZWQsIGhlcmUgaXMgYSBzaW1wbGUgY2FsbGJhY2sgdGhhdCBzaG93cyB0aGUgdmFsdWVzIGl0IGdldHMKK3Bhc3NlZDo6CiAKICAgID4+PiBkZWYgcHlfY21wX2Z1bmMoYSwgYik6CiAgICAuLi4gICAgIHByaW50KCJweV9jbXBfZnVuYyIsIGFbMF0sIGJbMF0pCkBAIC05OTQsMjMgKzk3MSw3IEBACiAgICA+Pj4gY21wX2Z1bmMgPSBDTVBGVU5DKHB5X2NtcF9mdW5jKQogICAgPj4+CiAKLUhlcmUgaXMgd2hhdCB3ZSBnZXQgb24gV2luZG93czo6Ci0KLSAgID4+PiBxc29ydChpYSwgbGVuKGlhKSwgc2l6ZW9mKGNfaW50KSwgY21wX2Z1bmMpICMgZG9jdGVzdDogK1dJTkRPV1MKLSAgIHB5X2NtcF9mdW5jIDcgMQotICAgcHlfY21wX2Z1bmMgMzMgMQotICAgcHlfY21wX2Z1bmMgOTkgMQotICAgcHlfY21wX2Z1bmMgNSAxCi0gICBweV9jbXBfZnVuYyA3IDUKLSAgIHB5X2NtcF9mdW5jIDMzIDUKLSAgIHB5X2NtcF9mdW5jIDk5IDUKLSAgIHB5X2NtcF9mdW5jIDcgOTkKLSAgIHB5X2NtcF9mdW5jIDMzIDk5Ci0gICBweV9jbXBfZnVuYyA3IDMzCi0gICA+Pj4KLQotSXQgaXMgZnVubnkgdG8gc2VlIHRoYXQgb24gbGludXggdGhlIHNvcnQgZnVuY3Rpb24gc2VlbXMgdG8gd29yayBtdWNoIG1vcmUKLWVmZmljaWVudGx5LCBpdCBpcyBkb2luZyBsZXNzIGNvbXBhcmlzb25zOjoKK1RoZSByZXN1bHQ6OgogCiAgICA+Pj4gcXNvcnQoaWEsIGxlbihpYSksIHNpemVvZihjX2ludCksIGNtcF9mdW5jKSAjIGRvY3Rlc3Q6ICtMSU5VWAogICAgcHlfY21wX2Z1bmMgNSAxCkBAIC0xMDIwLDMyICs5ODEsMTMgQEAKICAgIHB5X2NtcF9mdW5jIDEgNwogICAgPj4+CiAKLUFoLCB3ZSdyZSBuZWFybHkgZG9uZSEgVGhlIGxhc3Qgc3RlcCBpcyB0byBhY3R1YWxseSBjb21wYXJlIHRoZSB0d28gaXRlbXMgYW5kCi1yZXR1cm4gYSB1c2VmdWwgcmVzdWx0OjoKK05vdyB3ZSBjYW4gYWN0dWFsbHkgY29tcGFyZSB0aGUgdHdvIGl0ZW1zIGFuZCByZXR1cm4gYSB1c2VmdWwgcmVzdWx0OjoKIAogICAgPj4+IGRlZiBweV9jbXBfZnVuYyhhLCBiKToKICAgIC4uLiAgICAgcHJpbnQoInB5X2NtcF9mdW5jIiwgYVswXSwgYlswXSkKICAgIC4uLiAgICAgcmV0dXJuIGFbMF0gLSBiWzBdCiAgICAuLi4KICAgID4+PgotCi1GaW5hbCBydW4gb24gV2luZG93czo6Ci0KLSAgID4+PiBxc29ydChpYSwgbGVuKGlhKSwgc2l6ZW9mKGNfaW50KSwgQ01QRlVOQyhweV9jbXBfZnVuYykpICMgZG9jdGVzdDogK1dJTkRPV1MKLSAgIHB5X2NtcF9mdW5jIDMzIDcKLSAgIHB5X2NtcF9mdW5jIDk5IDMzCi0gICBweV9jbXBfZnVuYyA1IDk5Ci0gICBweV9jbXBfZnVuYyAxIDk5Ci0gICBweV9jbXBfZnVuYyAzMyA3Ci0gICBweV9jbXBfZnVuYyAxIDMzCi0gICBweV9jbXBfZnVuYyA1IDMzCi0gICBweV9jbXBfZnVuYyA1IDcKLSAgIHB5X2NtcF9mdW5jIDEgNwotICAgcHlfY21wX2Z1bmMgNSAxCi0gICA+Pj4KLQotYW5kIG9uIExpbnV4OjoKLQogICAgPj4+IHFzb3J0KGlhLCBsZW4oaWEpLCBzaXplb2YoY19pbnQpLCBDTVBGVU5DKHB5X2NtcF9mdW5jKSkgIyBkb2N0ZXN0OiArTElOVVgKICAgIHB5X2NtcF9mdW5jIDUgMQogICAgcHlfY21wX2Z1bmMgMzMgOTkKQEAgLTEwNTQsOSArOTk2LDYgQEAKICAgIHB5X2NtcF9mdW5jIDUgNwogICAgPj4+CiAKLUl0IGlzIHF1aXRlIGludGVyZXN0aW5nIHRvIHNlZSB0aGF0IHRoZSBXaW5kb3dzIDpmdW5jOmBxc29ydGAgZnVuY3Rpb24gbmVlZHMKLW1vcmUgY29tcGFyaXNvbnMgdGhhbiB0aGUgbGludXggdmVyc2lvbiEKLQogQXMgd2UgY2FuIGVhc2lseSBjaGVjaywgb3VyIGFycmF5IGlzIHNvcnRlZCBub3c6OgogCiAgICA+Pj4gZm9yIGkgaW4gaWE6IHByaW50KGksIGVuZD0iICIpCkBAIC0xMDY2LDkgKzEwMDUsOSBAQAogCiAqKkltcG9ydGFudCBub3RlIGZvciBjYWxsYmFjayBmdW5jdGlvbnM6KioKIAotTWFrZSBzdXJlIHlvdSBrZWVwIHJlZmVyZW5jZXMgdG8gQ0ZVTkNUWVBFIG9iamVjdHMgYXMgbG9uZyBhcyB0aGV5IGFyZSB1c2VkIGZyb20KLUMgY29kZS4gOm1vZDpgY3R5cGVzYCBkb2Vzbid0LCBhbmQgaWYgeW91IGRvbid0LCB0aGV5IG1heSBiZSBnYXJiYWdlIGNvbGxlY3RlZCwKLWNyYXNoaW5nIHlvdXIgcHJvZ3JhbSB3aGVuIGEgY2FsbGJhY2sgaXMgbWFkZS4KK01ha2Ugc3VyZSB5b3Uga2VlcCByZWZlcmVuY2VzIHRvIDpmdW5jOmBDRlVOQ1RZUEVgIG9iamVjdHMgYXMgbG9uZyBhcyB0aGV5IGFyZQordXNlZCBmcm9tIEMgY29kZS4gOm1vZDpgY3R5cGVzYCBkb2Vzbid0LCBhbmQgaWYgeW91IGRvbid0LCB0aGV5IG1heSBiZSBnYXJiYWdlCitjb2xsZWN0ZWQsIGNyYXNoaW5nIHlvdXIgcHJvZ3JhbSB3aGVuIGEgY2FsbGJhY2sgaXMgbWFkZS4KIAogCiAuLiBfY3R5cGVzLWFjY2Vzc2luZy12YWx1ZXMtZXhwb3J0ZWQtZnJvbS1kbGxzOgpAQCAtMTM0NSw3ICsxMjg0LDEwIEBACiAgICBhc3N1bWVkIHRvIHJldHVybiB0aGUgd2luZG93cyBzcGVjaWZpYyA6Y2xhc3M6YEhSRVNVTFRgIGNvZGUuICA6Y2xhc3M6YEhSRVNVTFRgCiAgICB2YWx1ZXMgY29udGFpbiBpbmZvcm1hdGlvbiBzcGVjaWZ5aW5nIHdoZXRoZXIgdGhlIGZ1bmN0aW9uIGNhbGwgZmFpbGVkIG9yCiAgICBzdWNjZWVkZWQsIHRvZ2V0aGVyIHdpdGggYWRkaXRpb25hbCBlcnJvciBjb2RlLiAgSWYgdGhlIHJldHVybiB2YWx1ZSBzaWduYWxzIGEKLSAgIGZhaWx1cmUsIGFuIDpjbGFzczpgV2luZG93c0Vycm9yYCBpcyBhdXRvbWF0aWNhbGx5IHJhaXNlZC4KKyAgIGZhaWx1cmUsIGFuIDpjbGFzczpgT1NFcnJvcmAgaXMgYXV0b21hdGljYWxseSByYWlzZWQuCisKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy4zCisgICAgICA6ZXhjOmBXaW5kb3dzRXJyb3JgIHVzZWQgdG8gYmUgcmFpc2VkLgogCiAKIC4uIGNsYXNzOjogV2luRExMKG5hbWUsIG1vZGU9REVGQVVMVF9NT0RFLCBoYW5kbGU9Tm9uZSwgdXNlX2Vycm5vPUZhbHNlLCB1c2VfbGFzdF9lcnJvcj1GYWxzZSkKQEAgLTE5NjIsMTEgKzE5MDQsMTQgQEAKIC4uIGZ1bmN0aW9uOjogV2luRXJyb3IoY29kZT1Ob25lLCBkZXNjcj1Ob25lKQogCiAgICBXaW5kb3dzIG9ubHk6IHRoaXMgZnVuY3Rpb24gaXMgcHJvYmFibHkgdGhlIHdvcnN0LW5hbWVkIHRoaW5nIGluIGN0eXBlcy4gSXQKLSAgIGNyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgV2luZG93c0Vycm9yLiAgSWYgKmNvZGUqIGlzIG5vdCBzcGVjaWZpZWQsCisgICBjcmVhdGVzIGFuIGluc3RhbmNlIG9mIE9TRXJyb3IuICBJZiAqY29kZSogaXMgbm90IHNwZWNpZmllZCwKICAgIGBgR2V0TGFzdEVycm9yYGAgaXMgY2FsbGVkIHRvIGRldGVybWluZSB0aGUgZXJyb3IgY29kZS4gSWYgKmRlc2NyKiBpcyBub3QKICAgIHNwZWNpZmllZCwgOmZ1bmM6YEZvcm1hdEVycm9yYCBpcyBjYWxsZWQgdG8gZ2V0IGEgdGV4dHVhbCBkZXNjcmlwdGlvbiBvZiB0aGUKICAgIGVycm9yLgogCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMworICAgICAgQW4gaW5zdGFuY2Ugb2YgOmV4YzpgV2luZG93c0Vycm9yYCB1c2VkIHRvIGJlIGNyZWF0ZWQuCisKIAogLi4gZnVuY3Rpb246OiB3c3RyaW5nX2F0KGFkZHJlc3MsIHNpemU9LTEpCiAKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L2N1cnNlcy5yc3QgYi9Eb2MvbGlicmFyeS9jdXJzZXMucnN0CmluZGV4IGYzMWI5YzUuLmZmM2E3OTMgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L2N1cnNlcy5yc3QKKysrIGIvRG9jL2xpYnJhcnkvY3Vyc2VzLnJzdApAQCAtNTk4LDYgKzU5OCwxNyBAQAogICAgICAgT25seSBvbmUgKmNoKiBjYW4gYmUgcHVzaGVkIGJlZm9yZSA6bWV0aDpgZ2V0Y2hgIGlzIGNhbGxlZC4KIAogCisuLiBmdW5jdGlvbjo6IHVuZ2V0X3djaChjaCkKKworICAgUHVzaCAqY2gqIHNvIHRoZSBuZXh0IDptZXRoOmBnZXRfd2NoYCB3aWxsIHJldHVybiBpdC4KKworICAgLi4gbm90ZTo6CisKKyAgICAgIE9ubHkgb25lICpjaCogY2FuIGJlIHB1c2hlZCBiZWZvcmUgOm1ldGg6YGdldF93Y2hgIGlzIGNhbGxlZC4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy4zCisKKwogLi4gZnVuY3Rpb246OiB1bmdldG1vdXNlKGlkLCB4LCB5LCB6LCBic3RhdGUpCiAKICAgIFB1c2ggYSA6Y29uc3Q6YEtFWV9NT1VTRWAgZXZlbnQgb250byB0aGUgaW5wdXQgcXVldWUsIGFzc29jaWF0aW5nIHRoZSBnaXZlbgpAQCAtNjQyLDcgKzY1Myw3IEBACiAtLS0tLS0tLS0tLS0tLQogCiBXaW5kb3cgb2JqZWN0cywgYXMgcmV0dXJuZWQgYnkgOmZ1bmM6YGluaXRzY3JgIGFuZCA6ZnVuYzpgbmV3d2luYCBhYm92ZSwgaGF2ZQotdGhlIGZvbGxvd2luZyBtZXRob2RzOgordGhlIGZvbGxvd2luZyBtZXRob2RzIGFuZCBhdHRyaWJ1dGVzOgogCiAKIC4uIG1ldGhvZDo6IHdpbmRvdy5hZGRjaChbeSwgeCxdIGNoWywgYXR0cl0pCkBAIC04MjMsNiArODM0LDE2IEBACiAgICBldmVudC4KIAogCisuLiBhdHRyaWJ1dGU6OiB3aW5kb3cuZW5jb2RpbmcKKworICAgRW5jb2RpbmcgdXNlZCB0byBlbmNvZGUgbWV0aG9kIGFyZ3VtZW50cyAoVW5pY29kZSBzdHJpbmdzIGFuZCBjaGFyYWN0ZXJzKS4KKyAgIFRoZSBlbmNvZGluZyBhdHRyaWJ1dGUgaXMgaW5oZXJpdGVkIGZyb20gYnkgcGFyZW50IHdpbmRvdyB3aGVuIGEgc3Vid2luZG93CisgICBpcyBjcmVhdGVkLCBmb3IgZXhhbXBsZSB3aXRoIDptZXRoOmB3aW5kb3cuc3Vid2luYC4gQnkgZGVmYXVsdCwgdGhlIGxvY2FsZQorICAgZW5jb2RpbmcgaXMgdXNlZCAoc2VlIDpmdW5jOmBsb2NhbGUuZ2V0cHJlZmVycmVkZW5jb2RpbmdgKS4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy4zCisKKwogLi4gbWV0aG9kOjogd2luZG93LmVyYXNlKCkKIAogICAgQ2xlYXIgdGhlIHdpbmRvdy4KQEAgLTg0Niw2ICs4NjcsMTQgQEAKICAgIHVudGlsIGEga2V5IGlzIHByZXNzZWQuCiAKIAorLi4gbWV0aG9kOjogd2luZG93LmdldF93Y2goW3ksIHhdKQorCisgICBHZXQgYSB3aWRlIGNoYXJhY3Rlci4gTGlrZSA6bWV0aDpgZ2V0Y2hgLCBidXQgdGhlIGludGVnZXIgcmV0dXJuZWQgaXMgdGhlCisgICBVbmljb2RlIGNvZGUgcG9pbnQgZm9yIHRoZSBrZXkgcHJlc3NlZCwgc28gaXQgY2FuIGJlIHBhc3NlZCB0byA6ZnVuYzpgY2hyYC4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy4zCisKKwogLi4gbWV0aG9kOjogd2luZG93LmdldGtleShbeSwgeF0pCiAKICAgIEdldCBhIGNoYXJhY3RlciwgcmV0dXJuaW5nIGEgc3RyaW5nIGluc3RlYWQgb2YgYW4gaW50ZWdlciwgYXMgOm1ldGg6YGdldGNoYApkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvZGF0YXR5cGVzLnJzdCBiL0RvYy9saWJyYXJ5L2RhdGF0eXBlcy5yc3QKaW5kZXggNmI0YTcxYS4uOGUzM2MxZiAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvZGF0YXR5cGVzLnJzdAorKysgYi9Eb2MvbGlicmFyeS9kYXRhdHlwZXMucnN0CkBAIC0yMSw2ICsyMSw3IEBACiAgICBkYXRldGltZS5yc3QKICAgIGNhbGVuZGFyLnJzdAogICAgY29sbGVjdGlvbnMucnN0CisgICBjb2xsZWN0aW9ucy5hYmMucnN0CiAgICBoZWFwcS5yc3QKICAgIGJpc2VjdC5yc3QKICAgIGFycmF5LnJzdApkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvZGF0ZXRpbWUucnN0IGIvRG9jL2xpYnJhcnkvZGF0ZXRpbWUucnN0CmluZGV4IDFmNGNmYmEuLjQwMWE2NDcgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L2RhdGV0aW1lLnJzdAorKysgYi9Eb2MvbGlicmFyeS9kYXRldGltZS5yc3QKQEAgLTM5NSwxMiArMzk1LDE5IEBACiAuLiBjbGFzc21ldGhvZDo6IGRhdGUuZnJvbXRpbWVzdGFtcCh0aW1lc3RhbXApCiAKICAgIFJldHVybiB0aGUgbG9jYWwgZGF0ZSBjb3JyZXNwb25kaW5nIHRvIHRoZSBQT1NJWCB0aW1lc3RhbXAsIHN1Y2ggYXMgaXMgcmV0dXJuZWQKLSAgIGJ5IDpmdW5jOmB0aW1lLnRpbWVgLiAgVGhpcyBtYXkgcmFpc2UgOmV4YzpgVmFsdWVFcnJvcmAsIGlmIHRoZSB0aW1lc3RhbXAgaXMgb3V0Ci0gICBvZiB0aGUgcmFuZ2Ugb2YgdmFsdWVzIHN1cHBvcnRlZCBieSB0aGUgcGxhdGZvcm0gQyA6YzpmdW5jOmBsb2NhbHRpbWVgIGZ1bmN0aW9uLgorICAgYnkgOmZ1bmM6YHRpbWUudGltZWAuICBUaGlzIG1heSByYWlzZSA6ZXhjOmBPdmVyZmxvd0Vycm9yYCwgaWYgdGhlIHRpbWVzdGFtcCBpcyBvdXQKKyAgIG9mIHRoZSByYW5nZSBvZiB2YWx1ZXMgc3VwcG9ydGVkIGJ5IHRoZSBwbGF0Zm9ybSBDIDpjOmZ1bmM6YGxvY2FsdGltZWAgZnVuY3Rpb24sCisgICBhbmQgOmV4YzpgT1NFcnJvcmAgb24gOmM6ZnVuYzpgbG9jYWx0aW1lYCBmYWlsdXJlLgogICAgSXQncyBjb21tb24gZm9yIHRoaXMgdG8gYmUgcmVzdHJpY3RlZCB0byB5ZWFycyBmcm9tIDE5NzAgdGhyb3VnaCAyMDM4LiAgTm90ZQogICAgdGhhdCBvbiBub24tUE9TSVggc3lzdGVtcyB0aGF0IGluY2x1ZGUgbGVhcCBzZWNvbmRzIGluIHRoZWlyIG5vdGlvbiBvZiBhCiAgICB0aW1lc3RhbXAsIGxlYXAgc2Vjb25kcyBhcmUgaWdub3JlZCBieSA6bWV0aDpgZnJvbXRpbWVzdGFtcGAuCiAKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy4zCisgICAgICBSYWlzZSA6ZXhjOmBPdmVyZmxvd0Vycm9yYCBpbnN0ZWFkIG9mIDpleGM6YFZhbHVlRXJyb3JgIGlmIHRoZSB0aW1lc3RhbXAKKyAgICAgIGlzIG91dCBvZiB0aGUgcmFuZ2Ugb2YgdmFsdWVzIHN1cHBvcnRlZCBieSB0aGUgcGxhdGZvcm0gQworICAgICAgOmM6ZnVuYzpgbG9jYWx0aW1lYCBmdW5jdGlvbi4gUmFpc2UgOmV4YzpgT1NFcnJvcmAgaW5zdGVhZCBvZgorICAgICAgOmV4YzpgVmFsdWVFcnJvcmAgb24gOmM6ZnVuYzpgbG9jYWx0aW1lYCBmYWlsdXJlLgorCiAKIC4uIGNsYXNzbWV0aG9kOjogZGF0ZS5mcm9tb3JkaW5hbChvcmRpbmFsKQogCkBAIC03MDQsMjMgKzcxMSw1NSBAQAogICAgZXF1aXZhbGVudCB0bwogICAgYGB0ei5mcm9tdXRjKGRhdGV0aW1lLnV0Y2Zyb210aW1lc3RhbXAodGltZXN0YW1wKS5yZXBsYWNlKHR6aW5mbz10eikpYGAuCiAKLSAgIDptZXRoOmBmcm9tdGltZXN0YW1wYCBtYXkgcmFpc2UgOmV4YzpgVmFsdWVFcnJvcmAsIGlmIHRoZSB0aW1lc3RhbXAgaXMgb3V0IG9mCisgICA6bWV0aDpgZnJvbXRpbWVzdGFtcGAgbWF5IHJhaXNlIDpleGM6YE92ZXJmbG93RXJyb3JgLCBpZiB0aGUgdGltZXN0YW1wIGlzIG91dCBvZgogICAgdGhlIHJhbmdlIG9mIHZhbHVlcyBzdXBwb3J0ZWQgYnkgdGhlIHBsYXRmb3JtIEMgOmM6ZnVuYzpgbG9jYWx0aW1lYCBvcgotICAgOmM6ZnVuYzpgZ210aW1lYCBmdW5jdGlvbnMuICBJdCdzIGNvbW1vbiBmb3IgdGhpcyB0byBiZSByZXN0cmljdGVkIHRvIHllYXJzIGluCisgICA6YzpmdW5jOmBnbXRpbWVgIGZ1bmN0aW9ucywgYW5kIDpleGM6YE9TRXJyb3JgIG9uIDpjOmZ1bmM6YGxvY2FsdGltZWAgb3IKKyAgIDpjOmZ1bmM6YGdtdGltZWAgZmFpbHVyZS4KKyAgIEl0J3MgY29tbW9uIGZvciB0aGlzIHRvIGJlIHJlc3RyaWN0ZWQgdG8geWVhcnMgaW4KICAgIDE5NzAgdGhyb3VnaCAyMDM4LiBOb3RlIHRoYXQgb24gbm9uLVBPU0lYIHN5c3RlbXMgdGhhdCBpbmNsdWRlIGxlYXAgc2Vjb25kcyBpbgogICAgdGhlaXIgbm90aW9uIG9mIGEgdGltZXN0YW1wLCBsZWFwIHNlY29uZHMgYXJlIGlnbm9yZWQgYnkgOm1ldGg6YGZyb210aW1lc3RhbXBgLAogICAgYW5kIHRoZW4gaXQncyBwb3NzaWJsZSB0byBoYXZlIHR3byB0aW1lc3RhbXBzIGRpZmZlcmluZyBieSBhIHNlY29uZCB0aGF0IHlpZWxkCiAgICBpZGVudGljYWwgOmNsYXNzOmAuZGF0ZXRpbWVgIG9iamVjdHMuIFNlZSBhbHNvIDptZXRoOmB1dGNmcm9tdGltZXN0YW1wYC4KIAorICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjMKKyAgICAgIFJhaXNlIDpleGM6YE92ZXJmbG93RXJyb3JgIGluc3RlYWQgb2YgOmV4YzpgVmFsdWVFcnJvcmAgaWYgdGhlIHRpbWVzdGFtcAorICAgICAgaXMgb3V0IG9mIHRoZSByYW5nZSBvZiB2YWx1ZXMgc3VwcG9ydGVkIGJ5IHRoZSBwbGF0Zm9ybSBDCisgICAgICA6YzpmdW5jOmBsb2NhbHRpbWVgIG9yIDpjOmZ1bmM6YGdtdGltZWAgZnVuY3Rpb25zLiBSYWlzZSA6ZXhjOmBPU0Vycm9yYAorICAgICAgaW5zdGVhZCBvZiA6ZXhjOmBWYWx1ZUVycm9yYCBvbiA6YzpmdW5jOmBsb2NhbHRpbWVgIG9yIDpjOmZ1bmM6YGdtdGltZWAKKyAgICAgIGZhaWx1cmUuCisKIAogLi4gY2xhc3NtZXRob2Q6OiBkYXRldGltZS51dGNmcm9tdGltZXN0YW1wKHRpbWVzdGFtcCkKIAogICAgUmV0dXJuIHRoZSBVVEMgOmNsYXNzOmAuZGF0ZXRpbWVgIGNvcnJlc3BvbmRpbmcgdG8gdGhlIFBPU0lYIHRpbWVzdGFtcCwgd2l0aAotICAgOmF0dHI6YHR6aW5mb2AgYGBOb25lYGAuIFRoaXMgbWF5IHJhaXNlIDpleGM6YFZhbHVlRXJyb3JgLCBpZiB0aGUgdGltZXN0YW1wIGlzCi0gICBvdXQgb2YgdGhlIHJhbmdlIG9mIHZhbHVlcyBzdXBwb3J0ZWQgYnkgdGhlIHBsYXRmb3JtIEMgOmM6ZnVuYzpgZ210aW1lYCBmdW5jdGlvbi4KKyAgIDphdHRyOmB0emluZm9gIGBgTm9uZWBgLiBUaGlzIG1heSByYWlzZSA6ZXhjOmBPdmVyZmxvd0Vycm9yYCwgaWYgdGhlIHRpbWVzdGFtcCBpcworICAgb3V0IG9mIHRoZSByYW5nZSBvZiB2YWx1ZXMgc3VwcG9ydGVkIGJ5IHRoZSBwbGF0Zm9ybSBDIDpjOmZ1bmM6YGdtdGltZWAgZnVuY3Rpb24sCisgICBhbmQgOmV4YzpgT1NFcnJvcmAgb24gOmM6ZnVuYzpgZ210aW1lYCBmYWlsdXJlLgogICAgSXQncyBjb21tb24gZm9yIHRoaXMgdG8gYmUgcmVzdHJpY3RlZCB0byB5ZWFycyBpbiAxOTcwIHRocm91Z2ggMjAzOC4gU2VlIGFsc28KICAgIDptZXRoOmBmcm9tdGltZXN0YW1wYC4KIAorICAgT24gdGhlIFBPU0lYIGNvbXBsaWFudCBwbGF0Zm9ybXMsIGBgdXRjZnJvbXRpbWVzdGFtcCh0aW1lc3RhbXApYGAKKyAgIGlzIGVxdWl2YWxlbnQgdG8gdGhlIGZvbGxvd2luZyBleHByZXNzaW9uOjoKKworICAgICBkYXRldGltZSgxOTcwLCAxLCAxKSArIHRpbWVkZWx0YShzZWNvbmRzPXRpbWVzdGFtcCkKKworICAgVGhlcmUgaXMgbm8gbWV0aG9kIHRvIG9idGFpbiB0aGUgdGltZXN0YW1wIGZyb20gYSA6Y2xhc3M6YGRhdGV0aW1lYAorICAgaW5zdGFuY2UsIGJ1dCBQT1NJWCB0aW1lc3RhbXAgY29ycmVzcG9uZGluZyB0byBhIDpjbGFzczpgZGF0ZXRpbWVgCisgICBpbnN0YW5jZSBgYGR0YGAgY2FuIGJlIGVhc2lseSBjYWxjdWxhdGVkIGFzIGZvbGxvd3MuICBGb3IgYSBuYWl2ZQorICAgYGBkdGBgOjoKKworICAgICAgdGltZXN0YW1wID0gKGR0IC0gZGF0ZXRpbWUoMTk3MCwgMSwgMSkpIC8gdGltZWRlbHRhKHNlY29uZHM9MSkKKworICAgQW5kIGZvciBhbiBhd2FyZSBgYGR0YGA6OgorCisgICAgICB0aW1lc3RhbXAgPSAoZHQgLSBkYXRldGltZSgxOTcwLCAxLCAxLCB0emluZm89dGltZXpvbmUudXRjKSkgLyB0aW1lZGVsdGEoc2Vjb25kcz0xKQorCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMworICAgICAgUmFpc2UgOmV4YzpgT3ZlcmZsb3dFcnJvcmAgaW5zdGVhZCBvZiA6ZXhjOmBWYWx1ZUVycm9yYCBpZiB0aGUgdGltZXN0YW1wCisgICAgICBpcyBvdXQgb2YgdGhlIHJhbmdlIG9mIHZhbHVlcyBzdXBwb3J0ZWQgYnkgdGhlIHBsYXRmb3JtIEMKKyAgICAgIDpjOmZ1bmM6YGdtdGltZWAgZnVuY3Rpb24uIFJhaXNlIDpleGM6YE9TRXJyb3JgIGluc3RlYWQgb2YKKyAgICAgIDpleGM6YFZhbHVlRXJyb3JgIG9uIDpjOmZ1bmM6YGdtdGltZWAgZmFpbHVyZS4KKwogCiAuLiBjbGFzc21ldGhvZDo6IGRhdGV0aW1lLmZyb21vcmRpbmFsKG9yZGluYWwpCiAKQEAgLTE1NjQsMTEgKzE2MDMsMTIgQEAKIDpjbGFzczpgdGltZXpvbmVgIE9iamVjdHMKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKLUEgOmNsYXNzOmB0aW1lem9uZWAgb2JqZWN0IHJlcHJlc2VudHMgYSB0aW1lem9uZSB0aGF0IGlzIGRlZmluZWQgYnkgYQotZml4ZWQgb2Zmc2V0IGZyb20gVVRDLiAgTm90ZSB0aGF0IG9iamVjdHMgb2YgdGhpcyBjbGFzcyBjYW5ub3QgYmUgdXNlZAotdG8gcmVwcmVzZW50IHRpbWV6b25lIGluZm9ybWF0aW9uIGluIHRoZSBsb2NhdGlvbnMgd2hlcmUgZGlmZmVyZW50Ci1vZmZzZXRzIGFyZSB1c2VkIGluIGRpZmZlcmVudCBkYXlzIG9mIHRoZSB5ZWFyIG9yIHdoZXJlIGhpc3RvcmljYWwKLWNoYW5nZXMgaGF2ZSBiZWVuIG1hZGUgdG8gY2l2aWwgdGltZS4KK1RoZSA6Y2xhc3M6YHRpbWV6b25lYCBjbGFzcyBpcyBhIHN1YmNsYXNzIG9mIDpjbGFzczpgdHppbmZvYCwgZWFjaAoraW5zdGFuY2Ugb2Ygd2hpY2ggcmVwcmVzZW50cyBhIHRpbWV6b25lIGRlZmluZWQgYnkgYSBmaXhlZCBvZmZzZXQgZnJvbQorVVRDLiAgTm90ZSB0aGF0IG9iamVjdHMgb2YgdGhpcyBjbGFzcyBjYW5ub3QgYmUgdXNlZCB0byByZXByZXNlbnQKK3RpbWV6b25lIGluZm9ybWF0aW9uIGluIHRoZSBsb2NhdGlvbnMgd2hlcmUgZGlmZmVyZW50IG9mZnNldHMgYXJlIHVzZWQKK2luIGRpZmZlcmVudCBkYXlzIG9mIHRoZSB5ZWFyIG9yIHdoZXJlIGhpc3RvcmljYWwgY2hhbmdlcyBoYXZlIGJlZW4KK21hZGUgdG8gY2l2aWwgdGltZS4KIAogCiAuLiBjbGFzczo6IHRpbWV6b25lKG9mZnNldFssIG5hbWVdKQpAQCAtMTczNyw4ICsxNzc3LDcgQEAKIHwgICAgICAgICAgIHwgZGVjaW1hbCBudW1iZXIgWzAwLDk5XS4gICAgICAgIHwgICAgICAgfAogKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0rCiB8IGBgJVlgYCAgICB8IFllYXIgd2l0aCBjZW50dXJ5IGFzIGEgZGVjaW1hbCB8IFwoNSkgIHwKLXwgICAgICAgICAgIHwgbnVtYmVyIFswMDAxLDk5OTldIChzdHJwdGltZSksIHwgICAgICAgfAotfCAgICAgICAgICAgfCBbMTAwMCw5OTk5XSAoc3RyZnRpbWUpLiAgICAgICAgfCAgICAgICB8Cit8ICAgICAgICAgICB8IG51bWJlciBbMDAwMSw5OTk5XS4gICAgICAgICAgICB8ICAgICAgIHwKICstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tKwogfCBgYCV6YGAgICAgfCBVVEMgb2Zmc2V0IGluIHRoZSBmb3JtICtISE1NICAgfCBcKDYpICB8CiB8ICAgICAgICAgICB8IG9yIC1ISE1NIChlbXB0eSBzdHJpbmcgaWYgdGhlICB8ICAgICAgIHwKQEAgLTE3NzIsMTAgKzE4MTEsNyBAQAogICAgY2FsY3VsYXRpb25zIHdoZW4gdGhlIGRheSBvZiB0aGUgd2VlayBhbmQgdGhlIHllYXIgYXJlIHNwZWNpZmllZC4KIAogKDUpCi0gICBGb3IgdGVjaG5pY2FsIHJlYXNvbnMsIDptZXRoOmBzdHJmdGltZWAgbWV0aG9kIGRvZXMgbm90IHN1cHBvcnQKLSAgIGRhdGVzIGJlZm9yZSB5ZWFyIDEwMDA6IGBgdC5zdHJmdGltZShmb3JtYXQpYGAgd2lsbCByYWlzZSBhCi0gICA6ZXhjOmBWYWx1ZUVycm9yYCB3aGVuIGBgdC55ZWFyIDwgMTAwMGBgIGV2ZW4gaWYgYGBmb3JtYXRgYCBkb2VzCi0gICBub3QgY29udGFpbiBgYCVZYGAgZGlyZWN0aXZlLiAgVGhlIDptZXRoOmBzdHJwdGltZWAgbWV0aG9kIGNhbgorICAgVGhlIDptZXRoOmBzdHJwdGltZWAgbWV0aG9kIGNhbgogICAgcGFyc2UgeWVhcnMgaW4gdGhlIGZ1bGwgWzEsIDk5OTldIHJhbmdlLCBidXQgeWVhcnMgPCAxMDAwIG11c3QgYmUKICAgIHplcm8tZmlsbGVkIHRvIDQtZGlnaXQgd2lkdGguCiAKQEAgLTE3ODMsNiArMTgxOSwxMCBAQAogICAgICAgSW4gcHJldmlvdXMgdmVyc2lvbnMsIDptZXRoOmBzdHJmdGltZWAgbWV0aG9kIHdhcyByZXN0cmljdGVkIHRvCiAgICAgICB5ZWFycyA+PSAxOTAwLgogCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMworICAgICAgSW4gdmVyc2lvbiAzLjIsIDptZXRoOmBzdHJmdGltZWAgbWV0aG9kIHdhcyByZXN0cmljdGVkIHRvCisgICAgICB5ZWFycyA+PSAxMDAwLgorCiAoNikKICAgIEZvciBleGFtcGxlLCBpZiA6bWV0aDpgdXRjb2Zmc2V0YCByZXR1cm5zIGBgdGltZWRlbHRhKGhvdXJzPS0zLCBtaW51dGVzPS0zMClgYCwKICAgIGBgJXpgYCBpcyByZXBsYWNlZCB3aXRoIHRoZSBzdHJpbmcgYGAnLTAzMzAnYGAuCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9kZWJ1Zy5yc3QgYi9Eb2MvbGlicmFyeS9kZWJ1Zy5yc3QKaW5kZXggYjJlZTRmYS4uYzY5ZmIxYyAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvZGVidWcucnN0CisrKyBiL0RvYy9saWJyYXJ5L2RlYnVnLnJzdApAQCAtMTAsNyArMTAsOCBAQAogLi4gdG9jdHJlZTo6CiAKICAgIGJkYi5yc3QKKyAgIGZhdWx0aGFuZGxlci5yc3QKICAgIHBkYi5yc3QKICAgIHByb2ZpbGUucnN0CiAgICB0aW1laXQucnN0Ci0gICB0cmFjZS5yc3QKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCisgICB0cmFjZS5yc3QKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L2RlcGdyYXBoLW91dHB1dC5wbmcgYi9Eb2MvbGlicmFyeS9kZXBncmFwaC1vdXRwdXQucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk2MGJiMWIKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2MvbGlicmFyeS9kZXBncmFwaC1vdXRwdXQucG5nCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L2RpZmZsaWIucnN0IGIvRG9jL2xpYnJhcnkvZGlmZmxpYi5yc3QKaW5kZXggYmRjMzdiMy4uODM2ZTI0MCAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvZGlmZmxpYi5yc3QKKysrIGIvRG9jL2xpYnJhcnkvZGlmZmxpYi5yc3QKQEAgLTc1Miw4ICs3NTIsOCBAQAogICAgICAgICMgd2UncmUgcGFzc2luZyB0aGVzZSBhcyBhcmd1bWVudHMgdG8gdGhlIGRpZmYgZnVuY3Rpb24KICAgICAgICBmcm9tZGF0ZSA9IHRpbWUuY3RpbWUob3Muc3RhdChmcm9tZmlsZSkuc3RfbXRpbWUpCiAgICAgICAgdG9kYXRlID0gdGltZS5jdGltZShvcy5zdGF0KHRvZmlsZSkuc3RfbXRpbWUpCi0gICAgICAgZnJvbWxpbmVzID0gb3Blbihmcm9tZmlsZSwgJ1UnKS5yZWFkbGluZXMoKQotICAgICAgIHRvbGluZXMgPSBvcGVuKHRvZmlsZSwgJ1UnKS5yZWFkbGluZXMoKQorICAgICAgIHdpdGggb3Blbihmcm9tbGluZXMpIGFzIGZyb21mLCBvcGVuKHRvZmlsZSkgYXMgdG9mOgorICAgICAgICAgICBmcm9tbGluZXMsIHRvbGluZXMgPSBsaXN0KGZyb21mKSwgbGlzdCh0b2YpCiAKICAgICAgICBpZiBvcHRpb25zLnU6CiAgICAgICAgICAgIGRpZmYgPSBkaWZmbGliLnVuaWZpZWRfZGlmZihmcm9tbGluZXMsIHRvbGluZXMsIGZyb21maWxlLCB0b2ZpbGUsCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9kaXMucnN0IGIvRG9jL2xpYnJhcnkvZGlzLnJzdAppbmRleCA3OWNjNTgzLi41YmE2NmNiIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9kaXMucnN0CisrKyBiL0RvYy9saWJyYXJ5L2Rpcy5yc3QKQEAgLTE3MSwxMSArMTcxLDYgQEAKIAogKipHZW5lcmFsIGluc3RydWN0aW9ucyoqCiAKLS4uIG9wY29kZTo6IFNUT1BfQ09ERQotCi0gICBJbmRpY2F0ZXMgZW5kLW9mLWNvZGUgdG8gdGhlIGNvbXBpbGVyLCBub3QgdXNlZCBieSB0aGUgaW50ZXJwcmV0ZXIuCi0KLQogLi4gb3Bjb2RlOjogTk9QCiAKICAgIERvIG5vdGhpbmcgY29kZS4gIFVzZWQgYXMgYSBwbGFjZWhvbGRlciBieSB0aGUgYnl0ZWNvZGUgb3B0aW1pemVyLgpAQCAtNDM2LDYgKzQzMSwxMyBAQAogICAgUG9wcyBgYFRPU2BgIGFuZCB5aWVsZHMgaXQgZnJvbSBhIDp0ZXJtOmBnZW5lcmF0b3JgLgogCiAKKy4uIG9wY29kZTo6IFlJRUxEX0ZST00KKworICAgUG9wcyBgYFRPU2BgIGFuZCBkZWxlZ2F0ZXMgdG8gaXQgYXMgYSBzdWJpdGVyYXRvciBmcm9tIGEgOnRlcm06YGdlbmVyYXRvcmAuCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMworCisKIC4uIG9wY29kZTo6IElNUE9SVF9TVEFSCiAKICAgIExvYWRzIGFsbCBzeW1ib2xzIG5vdCBzdGFydGluZyB3aXRoIGBgJ18nYGAgZGlyZWN0bHkgZnJvbSB0aGUgbW9kdWxlIFRPUyB0byB0aGUKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L2Rpc3R1dGlscy5yc3QgYi9Eb2MvbGlicmFyeS9kaXN0dXRpbHMucnN0CmluZGV4IDIzOGI3OWQuLjUzYTY5YWUgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L2Rpc3R1dGlscy5yc3QKKysrIGIvRG9jL2xpYnJhcnkvZGlzdHV0aWxzLnJzdApAQCAtMTIsMTggKzEyLDI2IEBACiAxMDAlLXB1cmUgUHl0aG9uLCBvciBtYXkgYmUgZXh0ZW5zaW9uIG1vZHVsZXMgd3JpdHRlbiBpbiBDLCBvciBtYXkgYmUKIGNvbGxlY3Rpb25zIG9mIFB5dGhvbiBwYWNrYWdlcyB3aGljaCBpbmNsdWRlIG1vZHVsZXMgY29kZWQgaW4gYm90aCBQeXRob24gYW5kIEMuCiAKLVRoaXMgcGFja2FnZSBpcyBkaXNjdXNzZWQgaW4gdHdvIHNlcGFyYXRlIGNoYXB0ZXJzOgorLi4gZGVwcmVjYXRlZDo6IDMuMworICAgOm1vZDpgcGFja2FnaW5nYCByZXBsYWNlcyBEaXN0dXRpbHMuICBTZWUgOnJlZjpgcGFja2FnaW5nLWluZGV4YCBhbmQKKyAgIDpyZWY6YHBhY2thZ2luZy1pbnN0YWxsLWluZGV4YC4KIAogCitVc2VyIGRvY3VtZW50YXRpb24gYW5kIEFQSSByZWZlcmVuY2UgYXJlIHByb3ZpZGVkIGluIGFub3RoZXIgZG9jdW1lbnQ6CisKIC4uIHNlZWFsc286OgogCiAgICA6cmVmOmBkaXN0dXRpbHMtaW5kZXhgCiAgICAgICBUaGUgbWFudWFsIGZvciBkZXZlbG9wZXJzIGFuZCBwYWNrYWdlcnMgb2YgUHl0aG9uIG1vZHVsZXMuICBUaGlzIGRlc2NyaWJlcwogICAgICAgaG93IHRvIHByZXBhcmUgOm1vZDpgZGlzdHV0aWxzYFwgLWJhc2VkIHBhY2thZ2VzIHNvIHRoYXQgdGhleSBtYXkgYmUKLSAgICAgIGVhc2lseSBpbnN0YWxsZWQgaW50byBhbiBleGlzdGluZyBQeXRob24gaW5zdGFsbGF0aW9uLgorICAgICAgZWFzaWx5IGluc3RhbGxlZCBpbnRvIGFuIGV4aXN0aW5nIFB5dGhvbiBpbnN0YWxsYXRpb24uICBJZiBhbHNvIGNvbnRhaW5zCisgICAgICBpbnN0cnVjdGlvbnMgZm9yIGVuZC11c2VycyB3YW50aW5nIHRvIGluc3RhbGwgYSBkaXN0dXRpbHMtYmFzZWQgcGFja2FnZSwKKyAgICAgIDpyZWY6YGluc3RhbGwtaW5kZXhgLgogCi0gICA6cmVmOmBpbnN0YWxsLWluZGV4YAotICAgICAgQW4gImFkbWluaXN0cmF0b3JzIiBtYW51YWwgd2hpY2ggaW5jbHVkZXMgaW5mb3JtYXRpb24gb24gaW5zdGFsbGluZwotICAgICAgbW9kdWxlcyBpbnRvIGFuIGV4aXN0aW5nIFB5dGhvbiBpbnN0YWxsYXRpb24uICBZb3UgZG8gbm90IG5lZWQgdG8gYmUgYQotICAgICAgUHl0aG9uIHByb2dyYW1tZXIgdG8gcmVhZCB0aGlzIG1hbnVhbC4KIAorLi4gdHJpY2sgdG8gc2lsZW5jZSBhIFNwaGlueCB3YXJuaW5nCisKKy4uIHRvY3RyZWU6OgorICAgOmhpZGRlbjoKKworICAgLi4vZGlzdHV0aWxzL2luZGV4CmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9lbWFpbC5nZW5lcmF0b3IucnN0IGIvRG9jL2xpYnJhcnkvZW1haWwuZ2VuZXJhdG9yLnJzdAppbmRleCA4NWIzMmZlLi44NDdkN2U0IDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9lbWFpbC5nZW5lcmF0b3IucnN0CisrKyBiL0RvYy9saWJyYXJ5L2VtYWlsLmdlbmVyYXRvci5yc3QKQEAgLTMyLDcgKzMyLDggQEAKIDptb2Q6YGVtYWlsLmdlbmVyYXRvcmAgbW9kdWxlOgogCiAKLS4uIGNsYXNzOjogR2VuZXJhdG9yKG91dGZwLCBtYW5nbGVfZnJvbV89VHJ1ZSwgbWF4aGVhZGVybGVuPTc4KQorLi4gY2xhc3M6OiBHZW5lcmF0b3Iob3V0ZnAsIG1hbmdsZV9mcm9tXz1UcnVlLCBtYXhoZWFkZXJsZW49NzgsICosIFwKKyAgICAgICAgICAgICAgICAgICAgIHBvbGljeT1wb2xpY3kuZGVmYXVsdCkKIAogICAgVGhlIGNvbnN0cnVjdG9yIGZvciB0aGUgOmNsYXNzOmBHZW5lcmF0b3JgIGNsYXNzIHRha2VzIGEgOnRlcm06YGZpbGUtbGlrZSBvYmplY3RgCiAgICBjYWxsZWQgKm91dGZwKiBmb3IgYW4gYXJndW1lbnQuICAqb3V0ZnAqIG11c3Qgc3VwcG9ydCB0aGUgOm1ldGg6YHdyaXRlYCBtZXRob2QKQEAgLTUzLDEwICs1NCwxNiBAQAogICAgOmNsYXNzOmB+ZW1haWwuaGVhZGVyLkhlYWRlcmAgY2xhc3MuICBTZXQgdG8gemVybyB0byBkaXNhYmxlIGhlYWRlciB3cmFwcGluZy4KICAgIFRoZSBkZWZhdWx0IGlzIDc4LCBhcyByZWNvbW1lbmRlZCAoYnV0IG5vdCByZXF1aXJlZCkgYnkgOnJmYzpgMjgyMmAuCiAKKyAgIFRoZSAqcG9saWN5KiBrZXl3b3JkIHNwZWNpZmllcyBhIDptb2Q6YH5lbWFpbC5wb2xpY3lgIG9iamVjdCB0aGF0IGNvbnRyb2xzIGEKKyAgIG51bWJlciBvZiBhc3BlY3RzIG9mIHRoZSBnZW5lcmF0b3IncyBvcGVyYXRpb24uICBUaGUgZGVmYXVsdCBwb2xpY3kKKyAgIG1haW50YWlucyBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LgorCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMyBBZGRlZCB0aGUgKnBvbGljeSoga2V5d29yZC4KKwogICAgVGhlIG90aGVyIHB1YmxpYyA6Y2xhc3M6YEdlbmVyYXRvcmAgbWV0aG9kcyBhcmU6CiAKIAotICAgLi4gbWV0aG9kOjogZmxhdHRlbihtc2csIHVuaXhmcm9tPUZhbHNlLCBsaW5lc2VwPSdcXG4nKQorICAgLi4gbWV0aG9kOjogZmxhdHRlbihtc2csIHVuaXhmcm9tPUZhbHNlLCBsaW5lc2VwPU5vbmUpCiAKICAgICAgIFByaW50IHRoZSB0ZXh0dWFsIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBtZXNzYWdlIG9iamVjdCBzdHJ1Y3R1cmUgcm9vdGVkIGF0CiAgICAgICAqbXNnKiB0byB0aGUgb3V0cHV0IGZpbGUgc3BlY2lmaWVkIHdoZW4gdGhlIDpjbGFzczpgR2VuZXJhdG9yYCBpbnN0YW5jZQpAQCAtNzIsMTIgKzc5LDEzIEBACiAgICAgICBOb3RlIHRoYXQgZm9yIHN1YnBhcnRzLCBubyBlbnZlbG9wZSBoZWFkZXIgaXMgZXZlciBwcmludGVkLgogCiAgICAgICBPcHRpb25hbCAqbGluZXNlcCogc3BlY2lmaWVzIHRoZSBsaW5lIHNlcGFyYXRvciBjaGFyYWN0ZXIgdXNlZCB0bwotICAgICAgdGVybWluYXRlIGxpbmVzIGluIHRoZSBvdXRwdXQuICBJdCBkZWZhdWx0cyB0byBgYFxuYGAgYmVjYXVzZSB0aGF0IGlzCi0gICAgICB0aGUgbW9zdCB1c2VmdWwgdmFsdWUgZm9yIFB5dGhvbiBhcHBsaWNhdGlvbiBjb2RlIChvdGhlciBsaWJyYXJ5IHBhY2thZ2VzCi0gICAgICBleHBlY3QgYGBcbmBgIHNlcGFyYXRlZCBsaW5lcykuICBgYGxpbmVzZXA9XHJcbmBgIGNhbiBiZSB1c2VkIHRvCi0gICAgICBnZW5lcmF0ZSBvdXRwdXQgd2l0aCBSRkMtY29tcGxpYW50IGxpbmUgc2VwYXJhdG9ycy4KKyAgICAgIHRlcm1pbmF0ZSBsaW5lcyBpbiB0aGUgb3V0cHV0LiAgSWYgc3BlY2lmaWVkIGl0IG92ZXJyaWRlcyB0aGUgdmFsdWUKKyAgICAgIHNwZWNpZmllZCBieSB0aGUgYGBHZW5lcmF0b3JgYFwncyBgYHBvbGljeWBgLgogCi0gICAgICBNZXNzYWdlcyBwYXJzZWQgd2l0aCBhIEJ5dGVzIHBhcnNlciB0aGF0IGhhdmUgYQorICAgICAgQmVjYXVzZSBzdHJpbmdzIGNhbm5vdCByZXByZXNlbnQgbm9uLUFTQ0lJIGJ5dGVzLCBgYEdlbmVyYXRvcmBgIGlnbm9yZXMKKyAgICAgIHRoZSB2YWx1ZSBvZiB0aGUgOmF0dHI6YH5lbWFpbC5wb2xpY3kuUG9saWN5Lm11c3RfYmVfN2JpdGAKKyAgICAgIDptb2Q6YH5lbWFpbC5wb2xpY3lgIHNldHRpbmcgYW5kIG9wZXJhdGVzIGFzIGlmIGl0IHdlcmUgc2V0IGBgVHJ1ZWBgLgorICAgICAgVGhpcyBtZWFucyB0aGF0IG1lc3NhZ2VzIHBhcnNlZCB3aXRoIGEgQnl0ZXMgcGFyc2VyIHRoYXQgaGF2ZSBhCiAgICAgICA6bWFpbGhlYWRlcjpgQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZ2Agb2YgOGJpdCB3aWxsIGJlIGNvbnZlcnRlZCB0byBhCiAgICAgICB1c2UgYSA3Yml0IENvbnRlbnQtVHJhbnNmZXItRW5jb2RpbmcuICBOb24tQVNDSUkgYnl0ZXMgaW4gdGhlIGhlYWRlcnMKICAgICAgIHdpbGwgYmUgOnJmYzpgMjA0N2AgZW5jb2RlZCB3aXRoIGEgY2hhcnNldCBvZiBgdW5rbm93bi04Yml0YC4KQEAgLTEwMyw3ICsxMTEsOCBAQAogZm9ybWF0dGVkIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBhIG1lc3NhZ2Ugb2JqZWN0LiAgRm9yIG1vcmUgZGV0YWlsLCBzZWUKIDptb2Q6YGVtYWlsLm1lc3NhZ2VgLgogCi0uLiBjbGFzczo6IEJ5dGVzR2VuZXJhdG9yKG91dGZwLCBtYW5nbGVfZnJvbV89VHJ1ZSwgbWF4aGVhZGVybGVuPTc4KQorLi4gY2xhc3M6OiBCeXRlc0dlbmVyYXRvcihvdXRmcCwgbWFuZ2xlX2Zyb21fPVRydWUsIG1heGhlYWRlcmxlbj03OCwgKiwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICBwb2xpY3k9cG9saWN5LmRlZmF1bHQpCiAKICAgIFRoZSBjb25zdHJ1Y3RvciBmb3IgdGhlIDpjbGFzczpgQnl0ZXNHZW5lcmF0b3JgIGNsYXNzIHRha2VzIGEgYmluYXJ5CiAgICA6dGVybTpgZmlsZS1saWtlIG9iamVjdGAgY2FsbGVkICpvdXRmcCogZm9yIGFuIGFyZ3VtZW50LiAgKm91dGZwKiBtdXN0CkBAIC0xMjUsMTkgKzEzNCwzMSBAQAogICAgd3JhcHBpbmcuICBUaGUgZGVmYXVsdCBpcyA3OCwgYXMgcmVjb21tZW5kZWQgKGJ1dCBub3QgcmVxdWlyZWQpIGJ5CiAgICA6cmZjOmAyODIyYC4KIAorICAgVGhlICpwb2xpY3kqIGtleXdvcmQgc3BlY2lmaWVzIGEgOm1vZDpgfmVtYWlsLnBvbGljeWAgb2JqZWN0IHRoYXQgY29udHJvbHMgYQorICAgbnVtYmVyIG9mIGFzcGVjdHMgb2YgdGhlIGdlbmVyYXRvcidzIG9wZXJhdGlvbi4gIFRoZSBkZWZhdWx0IHBvbGljeQorICAgbWFpbnRhaW5zIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkuCisKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy4zIEFkZGVkIHRoZSAqcG9saWN5KiBrZXl3b3JkLgorCiAgICBUaGUgb3RoZXIgcHVibGljIDpjbGFzczpgQnl0ZXNHZW5lcmF0b3JgIG1ldGhvZHMgYXJlOgogCiAKLSAgIC4uIG1ldGhvZDo6IGZsYXR0ZW4obXNnLCB1bml4ZnJvbT1GYWxzZSwgbGluZXNlcD0nXG4nKQorICAgLi4gbWV0aG9kOjogZmxhdHRlbihtc2csIHVuaXhmcm9tPUZhbHNlLCBsaW5lc2VwPU5vbmUpCiAKICAgICAgIFByaW50IHRoZSB0ZXh0dWFsIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBtZXNzYWdlIG9iamVjdCBzdHJ1Y3R1cmUgcm9vdGVkCiAgICAgICBhdCAqbXNnKiB0byB0aGUgb3V0cHV0IGZpbGUgc3BlY2lmaWVkIHdoZW4gdGhlIDpjbGFzczpgQnl0ZXNHZW5lcmF0b3JgCiAgICAgICBpbnN0YW5jZSB3YXMgY3JlYXRlZC4gIFN1YnBhcnRzIGFyZSB2aXNpdGVkIGRlcHRoLWZpcnN0IGFuZCB0aGUgcmVzdWx0aW5nCi0gICAgICB0ZXh0IHdpbGwgYmUgcHJvcGVybHkgTUlNRSBlbmNvZGVkLiAgSWYgdGhlIGlucHV0IHRoYXQgY3JlYXRlZCB0aGUgKm1zZyoKLSAgICAgIGNvbnRhaW5lZCBieXRlcyB3aXRoIHRoZSBoaWdoIGJpdCBzZXQgYW5kIHRob3NlIGJ5dGVzIGhhdmUgbm90IGJlZW4KLSAgICAgIG1vZGlmaWVkLCB0aGV5IHdpbGwgYmUgY29waWVkIGZhaXRoZnVsbHkgdG8gdGhlIG91dHB1dCwgZXZlbiBpZiBkb2luZyBzbwotICAgICAgaXMgbm90IHN0cmljdGx5IFJGQyBjb21wbGlhbnQuICAoVG8gcHJvZHVjZSBzdHJpY3RseSBSRkMgY29tcGxpYW50Ci0gICAgICBvdXRwdXQsIHVzZSB0aGUgOmNsYXNzOmBHZW5lcmF0b3JgIGNsYXNzLikKKyAgICAgIHRleHQgd2lsbCBiZSBwcm9wZXJseSBNSU1FIGVuY29kZWQuICBJZiB0aGUgOm1vZDpgfmVtYWlsLnBvbGljeWAgb3B0aW9uCisgICAgICA6YXR0cjpgfmVtYWlsLnBvbGljeS5Qb2xpY3kubXVzdF9iZV83Yml0YCBpcyBgYEZhbHNlYGAgKHRoZSBkZWZhdWx0KSwKKyAgICAgIHRoZW4gYW55IGJ5dGVzIHdpdGggdGhlIGhpZ2ggYml0IHNldCBpbiB0aGUgb3JpZ2luYWwgcGFyc2VkIG1lc3NhZ2UgdGhhdAorICAgICAgaGF2ZSBub3QgYmVlbiBtb2RpZmllZCB3aWxsIGJlIGNvcGllZCBmYWl0aGZ1bGx5IHRvIHRoZSBvdXRwdXQuICBJZgorICAgICAgYGBtdXN0X2JlXzdiaXRgYCBpcyB0cnVlLCB0aGUgYnl0ZXMgd2lsbCBiZSBjb252ZXJ0ZWQgYXMgbmVlZGVkIHVzaW5nIGFuCisgICAgICBBU0NJSSBjb250ZW50LXRyYW5zZmVyLWVuY29kaW5nLiAgSW4gcGFydGljdWxhciwgUkZDLWludmFsaWQgbm9uLUFTQ0lJCisgICAgICBieXRlcyBpbiBoZWFkZXJzIHdpbGwgYmUgZW5jb2RlZCB1c2luZyB0aGUgTUlNRSBgYHVua25vd24tOGJpdGBgCisgICAgICBjaGFyYWN0ZXIgc2V0LCB0aHVzIHJlbmRlcmluZyB0aGVtIFJGQy1jb21wbGlhbnQuCisKKyAgICAgIC4uIFhYWDogVGhlcmUgc2hvdWxkIGJlIGEgY29tcGxlbWVudGFyeSBvcHRpb24gdGhhdCBqdXN0IGRvZXMgdGhlIFJGQworICAgICAgICAgY29tcGxpYW5jZSB0cmFuc2Zvcm1hdGlvbiBidXQgbGVhdmVzIENURSA4Yml0IHBhcnRzIGFsb25lLgogCiAgICAgICBNZXNzYWdlcyBwYXJzZWQgd2l0aCBhIEJ5dGVzIHBhcnNlciB0aGF0IGhhdmUgYQogICAgICAgOm1haWxoZWFkZXI6YENvbnRlbnQtVHJhbnNmZXItRW5jb2RpbmdgIG9mIDhiaXQgd2lsbCBiZSByZWNvbnN0cnVjdGVkCkBAIC0xNTIsMTAgKzE3Myw4IEBACiAgICAgICBOb3RlIHRoYXQgZm9yIHN1YnBhcnRzLCBubyBlbnZlbG9wZSBoZWFkZXIgaXMgZXZlciBwcmludGVkLgogCiAgICAgICBPcHRpb25hbCAqbGluZXNlcCogc3BlY2lmaWVzIHRoZSBsaW5lIHNlcGFyYXRvciBjaGFyYWN0ZXIgdXNlZCB0bwotICAgICAgdGVybWluYXRlIGxpbmVzIGluIHRoZSBvdXRwdXQuICBJdCBkZWZhdWx0cyB0byBgYFxuYGAgYmVjYXVzZSB0aGF0IGlzCi0gICAgICB0aGUgbW9zdCB1c2VmdWwgdmFsdWUgZm9yIFB5dGhvbiBhcHBsaWNhdGlvbiBjb2RlIChvdGhlciBsaWJyYXJ5IHBhY2thZ2VzCi0gICAgICBleHBlY3QgYGBcbmBgIHNlcGFyYXRlZCBsaW5lcykuICBgYGxpbmVzZXA9XHJcbmBgIGNhbiBiZSB1c2VkIHRvCi0gICAgICBnZW5lcmF0ZSBvdXRwdXQgd2l0aCBSRkMtY29tcGxpYW50IGxpbmUgc2VwYXJhdG9ycy4KKyAgICAgIHRlcm1pbmF0ZSBsaW5lcyBpbiB0aGUgb3V0cHV0LiAgSWYgc3BlY2lmaWVkIGl0IG92ZXJyaWRlcyB0aGUgdmFsdWUKKyAgICAgIHNwZWNpZmllZCBieSB0aGUgYGBHZW5lcmF0b3JgYFwgJ3MgYGBwb2xpY3lgYC4KIAogICAgLi4gbWV0aG9kOjogY2xvbmUoZnApCiAKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L2VtYWlsLnBhcnNlci5yc3QgYi9Eb2MvbGlicmFyeS9lbWFpbC5wYXJzZXIucnN0CmluZGV4IDM4NGM1YzkuLmEwMzAzYTQgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L2VtYWlsLnBhcnNlci5yc3QKKysrIGIvRG9jL2xpYnJhcnkvZW1haWwucGFyc2VyLnJzdApAQCAtNTgsMTIgKzU4LDE4IEBACiBIZXJlIGlzIHRoZSBBUEkgZm9yIHRoZSA6Y2xhc3M6YEZlZWRQYXJzZXJgOgogCiAKLS4uIGNsYXNzOjogRmVlZFBhcnNlcihfZmFjdG9yeT1lbWFpbC5tZXNzYWdlLk1lc3NhZ2UpCisuLiBjbGFzczo6IEZlZWRQYXJzZXIoX2ZhY3Rvcnk9ZW1haWwubWVzc2FnZS5NZXNzYWdlLCAqLCBwb2xpY3k9cG9saWN5LmRlZmF1bHQpCiAKICAgIENyZWF0ZSBhIDpjbGFzczpgRmVlZFBhcnNlcmAgaW5zdGFuY2UuICBPcHRpb25hbCAqX2ZhY3RvcnkqIGlzIGEgbm8tYXJndW1lbnQKICAgIGNhbGxhYmxlIHRoYXQgd2lsbCBiZSBjYWxsZWQgd2hlbmV2ZXIgYSBuZXcgbWVzc2FnZSBvYmplY3QgaXMgbmVlZGVkLiAgSXQKICAgIGRlZmF1bHRzIHRvIHRoZSA6Y2xhc3M6YGVtYWlsLm1lc3NhZ2UuTWVzc2FnZWAgY2xhc3MuCiAKKyAgIFRoZSAqcG9saWN5KiBrZXl3b3JkIHNwZWNpZmllcyBhIDptb2Q6YH5lbWFpbC5wb2xpY3lgIG9iamVjdCB0aGF0IGNvbnRyb2xzIGEKKyAgIG51bWJlciBvZiBhc3BlY3RzIG9mIHRoZSBwYXJzZXIncyBvcGVyYXRpb24uICBUaGUgZGVmYXVsdCBwb2xpY3kgbWFpbnRhaW5zCisgICBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LgorCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMyBBZGRlZCB0aGUgKnBvbGljeSoga2V5d29yZC4KKwogICAgLi4gbWV0aG9kOjogZmVlZChkYXRhKQogCiAgICAgICBGZWVkIHRoZSA6Y2xhc3M6YEZlZWRQYXJzZXJgIHNvbWUgbW9yZSBkYXRhLiAgKmRhdGEqIHNob3VsZCBiZSBhIHN0cmluZwpAQCAtOTQsMTUgKzEwMCwxNyBAQAogVGhlIDpjbGFzczpgUGFyc2VyYCBjbGFzcywgaW1wb3J0ZWQgZnJvbSB0aGUgOm1vZDpgZW1haWwucGFyc2VyYCBtb2R1bGUsCiBwcm92aWRlcyBhbiBBUEkgdGhhdCBjYW4gYmUgdXNlZCB0byBwYXJzZSBhIG1lc3NhZ2Ugd2hlbiB0aGUgY29tcGxldGUgY29udGVudHMKIG9mIHRoZSBtZXNzYWdlIGFyZSBhdmFpbGFibGUgaW4gYSBzdHJpbmcgb3IgZmlsZS4gIFRoZSA6bW9kOmBlbWFpbC5wYXJzZXJgCi1tb2R1bGUgYWxzbyBwcm92aWRlcyBhIHNlY29uZCBjbGFzcywgY2FsbGVkIDpjbGFzczpgSGVhZGVyUGFyc2VyYCB3aGljaCBjYW4gYmUKLXVzZWQgaWYgeW91J3JlIG9ubHkgaW50ZXJlc3RlZCBpbiB0aGUgaGVhZGVycyBvZiB0aGUgbWVzc2FnZS4KLTpjbGFzczpgSGVhZGVyUGFyc2VyYCBjYW4gYmUgbXVjaCBmYXN0ZXIgaW4gdGhlc2Ugc2l0dWF0aW9ucywgc2luY2UgaXQgZG9lcyBub3QKLWF0dGVtcHQgdG8gcGFyc2UgdGhlIG1lc3NhZ2UgYm9keSwgaW5zdGVhZCBzZXR0aW5nIHRoZSBwYXlsb2FkIHRvIHRoZSByYXcgYm9keQotYXMgYSBzdHJpbmcuIDpjbGFzczpgSGVhZGVyUGFyc2VyYCBoYXMgdGhlIHNhbWUgQVBJIGFzIHRoZSA6Y2xhc3M6YFBhcnNlcmAKLWNsYXNzLgorbW9kdWxlIGFsc28gcHJvdmlkZXMgaGVhZGVyLW9ubHkgcGFyc2VycywgY2FsbGVkIDpjbGFzczpgSGVhZGVyUGFyc2VyYCBhbmQKKzpjbGFzczpgQnl0ZXNIZWFkZXJQYXJzZXJgLCB3aGljaCBjYW4gYmUgdXNlZCBpZiB5b3UncmUgb25seSBpbnRlcmVzdGVkIGluIHRoZQoraGVhZGVycyBvZiB0aGUgbWVzc2FnZS4gIDpjbGFzczpgSGVhZGVyUGFyc2VyYCBhbmQgOmNsYXNzOmBCeXRlc0hlYWRlclBhcnNlcmAKK2NhbiBiZSBtdWNoIGZhc3RlciBpbiB0aGVzZSBzaXR1YXRpb25zLCBzaW5jZSB0aGV5IGRvIG5vdCBhdHRlbXB0IHRvIHBhcnNlIHRoZQorbWVzc2FnZSBib2R5LCBpbnN0ZWFkIHNldHRpbmcgdGhlIHBheWxvYWQgdG8gdGhlIHJhdyBib2R5IGFzIGEgc3RyaW5nLiAgVGhleQoraGF2ZSB0aGUgc2FtZSBBUEkgYXMgdGhlIDpjbGFzczpgUGFyc2VyYCBhbmQgOmNsYXNzOmBCeXRlc1BhcnNlcmAgY2xhc3Nlcy4KKworLi4gdmVyc2lvbmFkZGVkOjogMy4zIEJ5dGVzSGVhZGVyUGFyc2VyCiAKIAotLi4gY2xhc3M6OiBQYXJzZXIoX2NsYXNzPWVtYWlsLm1lc3NhZ2UuTWVzc2FnZSwgc3RyaWN0PU5vbmUpCisuLiBjbGFzczo6IFBhcnNlcihfY2xhc3M9ZW1haWwubWVzc2FnZS5NZXNzYWdlLCAqLCBwb2xpY3k9cG9saWN5LmRlZmF1bHQpCiAKICAgIFRoZSBjb25zdHJ1Y3RvciBmb3IgdGhlIDpjbGFzczpgUGFyc2VyYCBjbGFzcyB0YWtlcyBhbiBvcHRpb25hbCBhcmd1bWVudAogICAgKl9jbGFzcyouICBUaGlzIG11c3QgYmUgYSBjYWxsYWJsZSBmYWN0b3J5IChzdWNoIGFzIGEgZnVuY3Rpb24gb3IgYSBjbGFzcyksIGFuZApAQCAtMTEwLDEzICsxMTgsMTMgQEAKICAgIDpjbGFzczpgfmVtYWlsLm1lc3NhZ2UuTWVzc2FnZWAgKHNlZSA6bW9kOmBlbWFpbC5tZXNzYWdlYCkuICBUaGUgZmFjdG9yeSB3aWxsCiAgICBiZSBjYWxsZWQgd2l0aG91dCBhcmd1bWVudHMuCiAKLSAgIFRoZSBvcHRpb25hbCAqc3RyaWN0KiBmbGFnIGlzIGlnbm9yZWQuCisgICBUaGUgKnBvbGljeSoga2V5d29yZCBzcGVjaWZpZXMgYSA6bW9kOmB+ZW1haWwucG9saWN5YCBvYmplY3QgdGhhdCBjb250cm9scyBhCisgICBudW1iZXIgb2YgYXNwZWN0cyBvZiB0aGUgcGFyc2VyJ3Mgb3BlcmF0aW9uLiAgVGhlIGRlZmF1bHQgcG9saWN5IG1haW50YWlucworICAgYmFja3dhcmQgY29tcGF0aWJpbGl0eS4KIAotICAgLi4gZGVwcmVjYXRlZDo6IDIuNAotICAgICAgQmVjYXVzZSB0aGUgOmNsYXNzOmBQYXJzZXJgIGNsYXNzIGlzIGEgYmFja3dhcmQgY29tcGF0aWJsZSBBUEkgd3JhcHBlcgotICAgICAgYXJvdW5kIHRoZSBuZXctaW4tUHl0aG9uIDIuNCA6Y2xhc3M6YEZlZWRQYXJzZXJgLCAqYWxsKiBwYXJzaW5nIGlzCi0gICAgICBlZmZlY3RpdmVseSBub24tc3RyaWN0LiAgWW91IHNob3VsZCBzaW1wbHkgc3RvcCBwYXNzaW5nIGEgKnN0cmljdCogZmxhZyB0bwotICAgICAgdGhlIDpjbGFzczpgUGFyc2VyYCBjb25zdHJ1Y3Rvci4KKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy4zCisgICAgICBSZW1vdmVkIHRoZSAqc3RyaWN0KiBhcmd1bWVudCB0aGF0IHdhcyBkZXByZWNhdGVkIGluIDIuNC4gIEFkZGVkIHRoZQorICAgICAgKnBvbGljeSoga2V5d29yZC4KIAogICAgVGhlIG90aGVyIHB1YmxpYyA6Y2xhc3M6YFBhcnNlcmAgbWV0aG9kcyBhcmU6CiAKQEAgLTE0NywxMiArMTU1LDE4IEBACiAgICAgICBPcHRpb25hbCAqaGVhZGVyc29ubHkqIGlzIGFzIHdpdGggdGhlIDptZXRoOmBwYXJzZWAgbWV0aG9kLgogCiAKLS4uIGNsYXNzOjogQnl0ZXNQYXJzZXIoX2NsYXNzPWVtYWlsLm1lc3NhZ2UuTWVzc2FnZSwgc3RyaWN0PU5vbmUpCisuLiBjbGFzczo6IEJ5dGVzUGFyc2VyKF9jbGFzcz1lbWFpbC5tZXNzYWdlLk1lc3NhZ2UsICosIHBvbGljeT1wb2xpY3kuZGVmYXVsdCkKIAogICAgVGhpcyBjbGFzcyBpcyBleGFjdGx5IHBhcmFsbGVsIHRvIDpjbGFzczpgUGFyc2VyYCwgYnV0IGhhbmRsZXMgYnl0ZXMgaW5wdXQuCiAgICBUaGUgKl9jbGFzcyogYW5kICpzdHJpY3QqIGFyZ3VtZW50cyBhcmUgaW50ZXJwcmV0ZWQgaW4gdGhlIHNhbWUgd2F5IGFzIGZvcgotICAgdGhlIDpjbGFzczpgUGFyc2VyYCBjb25zdHJ1Y3Rvci4gICpzdHJpY3QqIGlzIHN1cHBvcnRlZCBvbmx5IHRvIG1ha2UgcG9ydGluZwotICAgY29kZSBlYXNpZXI7IGl0IGlzIGRlcHJlY2F0ZWQuCisgICB0aGUgOmNsYXNzOmBQYXJzZXJgIGNvbnN0cnVjdG9yLgorCisgICBUaGUgKnBvbGljeSoga2V5d29yZCBzcGVjaWZpZXMgYSA6bW9kOmB+ZW1haWwucG9saWN5YCBvYmplY3QgdGhhdAorICAgY29udHJvbHMgYSBudW1iZXIgb2YgYXNwZWN0cyBvZiB0aGUgcGFyc2VyJ3Mgb3BlcmF0aW9uLiAgVGhlIGRlZmF1bHQKKyAgIHBvbGljeSBtYWludGFpbnMgYmFja3dhcmQgY29tcGF0aWJpbGl0eS4KKworICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjMKKyAgICAgIFJlbW92ZWQgdGhlICpzdHJpY3QqIGFyZ3VtZW50LiAgQWRkZWQgdGhlICpwb2xpY3kqIGtleXdvcmQuCiAKICAgIC4uIG1ldGhvZDo6IHBhcnNlKGZwLCBoZWFkZXJvbmx5PUZhbHNlKQogCkBAIC0xOTAsMzQgKzIwNCw0OCBAQAogCiAuLiBjdXJyZW50bW9kdWxlOjogZW1haWwKIAotLi4gZnVuY3Rpb246OiBtZXNzYWdlX2Zyb21fc3RyaW5nKHMsIF9jbGFzcz1lbWFpbC5tZXNzYWdlLk1lc3NhZ2UsIHN0cmljdD1Ob25lKQorLi4gZnVuY3Rpb246OiBtZXNzYWdlX2Zyb21fc3RyaW5nKHMsIF9jbGFzcz1lbWFpbC5tZXNzYWdlLk1lc3NhZ2UsICosIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb2xpY3k9cG9saWN5LmRlZmF1bHQpCiAKICAgIFJldHVybiBhIG1lc3NhZ2Ugb2JqZWN0IHN0cnVjdHVyZSBmcm9tIGEgc3RyaW5nLiAgVGhpcyBpcyBleGFjdGx5IGVxdWl2YWxlbnQgdG8KLSAgIGBgUGFyc2VyKCkucGFyc2VzdHIocylgYC4gIE9wdGlvbmFsICpfY2xhc3MqIGFuZCAqc3RyaWN0KiBhcmUgaW50ZXJwcmV0ZWQgYXMKKyAgIGBgUGFyc2VyKCkucGFyc2VzdHIocylgYC4gICpfY2xhc3MqIGFuZCAqcG9saWN5KiBhcmUgaW50ZXJwcmV0ZWQgYXMKICAgIHdpdGggdGhlIDpjbGFzczpgUGFyc2VyYCBjbGFzcyBjb25zdHJ1Y3Rvci4KIAotLi4gZnVuY3Rpb246OiBtZXNzYWdlX2Zyb21fYnl0ZXMocywgX2NsYXNzPWVtYWlsLm1lc3NhZ2UuTWVzc2FnZSwgc3RyaWN0PU5vbmUpCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMworICAgICAgUmVtb3ZlZCB0aGUgKnN0cmljdCogYXJndW1lbnQuICBBZGRlZCB0aGUgKnBvbGljeSoga2V5d29yZC4KKworLi4gZnVuY3Rpb246OiBtZXNzYWdlX2Zyb21fYnl0ZXMocywgX2NsYXNzPWVtYWlsLm1lc3NhZ2UuTWVzc2FnZSwgKiwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9saWN5PXBvbGljeS5kZWZhdWx0KQogCiAgICBSZXR1cm4gYSBtZXNzYWdlIG9iamVjdCBzdHJ1Y3R1cmUgZnJvbSBhIGJ5dGUgc3RyaW5nLiAgVGhpcyBpcyBleGFjdGx5CiAgICBlcXVpdmFsZW50IHRvIGBgQnl0ZXNQYXJzZXIoKS5wYXJzZWJ5dGVzKHMpYGAuICBPcHRpb25hbCAqX2NsYXNzKiBhbmQKICAgICpzdHJpY3QqIGFyZSBpbnRlcnByZXRlZCBhcyB3aXRoIHRoZSA6Y2xhc3M6YFBhcnNlcmAgY2xhc3MgY29uc3RydWN0b3IuCiAKICAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMgorICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjMKKyAgICAgIFJlbW92ZWQgdGhlICpzdHJpY3QqIGFyZ3VtZW50LiAgQWRkZWQgdGhlICpwb2xpY3kqIGtleXdvcmQuCiAKLS4uIGZ1bmN0aW9uOjogbWVzc2FnZV9mcm9tX2ZpbGUoZnAsIF9jbGFzcz1lbWFpbC5tZXNzYWdlLk1lc3NhZ2UsIHN0cmljdD1Ob25lKQorLi4gZnVuY3Rpb246OiBtZXNzYWdlX2Zyb21fZmlsZShmcCwgX2NsYXNzPWVtYWlsLm1lc3NhZ2UuTWVzc2FnZSwgKiwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb2xpY3k9cG9saWN5LmRlZmF1bHQpCiAKICAgIFJldHVybiBhIG1lc3NhZ2Ugb2JqZWN0IHN0cnVjdHVyZSB0cmVlIGZyb20gYW4gb3BlbiA6dGVybTpgZmlsZSBvYmplY3RgLgotICAgVGhpcyBpcyBleGFjdGx5IGVxdWl2YWxlbnQgdG8gYGBQYXJzZXIoKS5wYXJzZShmcClgYC4gIE9wdGlvbmFsICpfY2xhc3MqCi0gICBhbmQgKnN0cmljdCogYXJlIGludGVycHJldGVkIGFzIHdpdGggdGhlIDpjbGFzczpgUGFyc2VyYCBjbGFzcyBjb25zdHJ1Y3Rvci4KKyAgIFRoaXMgaXMgZXhhY3RseSBlcXVpdmFsZW50IHRvIGBgUGFyc2VyKCkucGFyc2UoZnApYGAuICAqX2NsYXNzKgorICAgYW5kICpwb2xpY3kqIGFyZSBpbnRlcnByZXRlZCBhcyB3aXRoIHRoZSA6Y2xhc3M6YFBhcnNlcmAgY2xhc3MgY29uc3RydWN0b3IuCiAKLS4uIGZ1bmN0aW9uOjogbWVzc2FnZV9mcm9tX2JpbmFyeV9maWxlKGZwLCBfY2xhc3M9ZW1haWwubWVzc2FnZS5NZXNzYWdlLCBzdHJpY3Q9Tm9uZSkKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjoKKyAgICAgIFJlbW92ZWQgdGhlICpzdHJpY3QqIGFyZ3VtZW50LiAgQWRkZWQgdGhlICpwb2xpY3kqIGtleXdvcmQuCisKKy4uIGZ1bmN0aW9uOjogbWVzc2FnZV9mcm9tX2JpbmFyeV9maWxlKGZwLCBfY2xhc3M9ZW1haWwubWVzc2FnZS5NZXNzYWdlLCAqLCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb2xpY3k9cG9saWN5LmRlZmF1bHQpCiAKICAgIFJldHVybiBhIG1lc3NhZ2Ugb2JqZWN0IHN0cnVjdHVyZSB0cmVlIGZyb20gYW4gb3BlbiBiaW5hcnkgOnRlcm06YGZpbGUKICAgIG9iamVjdGAuICBUaGlzIGlzIGV4YWN0bHkgZXF1aXZhbGVudCB0byBgYEJ5dGVzUGFyc2VyKCkucGFyc2UoZnApYGAuCi0gICBPcHRpb25hbCAqX2NsYXNzKiBhbmQgKnN0cmljdCogYXJlIGludGVycHJldGVkIGFzIHdpdGggdGhlIDpjbGFzczpgUGFyc2VyYAorICAgKl9jbGFzcyogYW5kICpwb2xpY3kqIGFyZSBpbnRlcnByZXRlZCBhcyB3aXRoIHRoZSA6Y2xhc3M6YFBhcnNlcmAKICAgIGNsYXNzIGNvbnN0cnVjdG9yLgogCiAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjIKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy4zCisgICAgICBSZW1vdmVkIHRoZSAqc3RyaWN0KiBhcmd1bWVudC4gIEFkZGVkIHRoZSAqcG9saWN5KiBrZXl3b3JkLgogCiBIZXJlJ3MgYW4gZXhhbXBsZSBvZiBob3cgeW91IG1pZ2h0IHVzZSB0aGlzIGF0IGFuIGludGVyYWN0aXZlIFB5dGhvbiBwcm9tcHQ6OgogCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9lbWFpbC5wb2xpY3kucnN0IGIvRG9jL2xpYnJhcnkvZW1haWwucG9saWN5LnJzdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kOWEyOTJjCi0tLSAvZGV2L251bGwKKysrIGIvRG9jL2xpYnJhcnkvZW1haWwucG9saWN5LnJzdApAQCAtMCwwICsxLDE4NCBAQAorOm1vZDpgZW1haWxgOiBQb2xpY3kgT2JqZWN0cworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisuLiBtb2R1bGU6OiBlbWFpbC5wb2xpY3kKKyAgIDpzeW5vcHNpczogQ29udHJvbGxpbmcgdGhlIHBhcnNpbmcgYW5kIGdlbmVyYXRpbmcgb2YgbWVzc2FnZXMKKworLi4gdmVyc2lvbmFkZGVkOjogMy4zCisKKworVGhlIDptb2Q6YGVtYWlsYCBwYWNrYWdlJ3MgcHJpbWUgZm9jdXMgaXMgdGhlIGhhbmRsaW5nIG9mIGVtYWlsIG1lc3NhZ2VzIGFzCitkZXNjcmliZWQgYnkgdGhlIHZhcmlvdXMgZW1haWwgYW5kIE1JTUUgUkZDcy4gIEhvd2V2ZXIsIHRoZSBnZW5lcmFsIGZvcm1hdCBvZgorZW1haWwgbWVzc2FnZXMgKGEgYmxvY2sgb2YgaGVhZGVyIGZpZWxkcyBlYWNoIGNvbnNpc3Rpbmcgb2YgYSBuYW1lIGZvbGxvd2VkIGJ5CithIGNvbG9uIGZvbGxvd2VkIGJ5IGEgdmFsdWUsIHRoZSB3aG9sZSBibG9jayBmb2xsb3dlZCBieSBhIGJsYW5rIGxpbmUgYW5kIGFuCithcmJpdHJhcnkgJ2JvZHknKSwgaXMgYSBmb3JtYXQgdGhhdCBoYXMgZm91bmQgdXRpbGl0eSBvdXRzaWRlIG9mIHRoZSByZWFsbSBvZgorZW1haWwuICBTb21lIG9mIHRoZXNlIHVzZXMgY29uZm9ybSBmYWlybHkgY2xvc2VseSB0byB0aGUgbWFpbiBSRkNzLCBzb21lIGRvCitub3QuICBBbmQgZXZlbiB3aGVuIHdvcmtpbmcgd2l0aCBlbWFpbCwgdGhlcmUgYXJlIHRpbWVzIHdoZW4gaXQgaXMgZGVzaXJhYmxlIHRvCiticmVhayBzdHJpY3QgY29tcGxpYW5jZSB3aXRoIHRoZSBSRkNzLgorCitQb2xpY3kgb2JqZWN0cyBnaXZlIHRoZSBlbWFpbCBwYWNrYWdlIHRoZSBmbGV4aWJpbGl0eSB0byBoYW5kbGUgYWxsIHRoZXNlCitkaXNwYXJhdGUgdXNlIGNhc2VzLgorCitBIDpjbGFzczpgUG9saWN5YCBvYmplY3QgZW5jYXBzdWxhdGVzIGEgc2V0IG9mIGF0dHJpYnV0ZXMgYW5kIG1ldGhvZHMgdGhhdAorY29udHJvbCB0aGUgYmVoYXZpb3Igb2YgdmFyaW91cyBjb21wb25lbnRzIG9mIHRoZSBlbWFpbCBwYWNrYWdlIGR1cmluZyB1c2UuCis6Y2xhc3M6YFBvbGljeWAgaW5zdGFuY2VzIGNhbiBiZSBwYXNzZWQgdG8gdmFyaW91cyBjbGFzc2VzIGFuZCBtZXRob2RzIGluIHRoZQorZW1haWwgcGFja2FnZSB0byBhbHRlciB0aGUgZGVmYXVsdCBiZWhhdmlvci4gIFRoZSBzZXR0YWJsZSB2YWx1ZXMgYW5kIHRoZWlyCitkZWZhdWx0cyBhcmUgZGVzY3JpYmVkIGJlbG93LiAgVGhlIDptb2Q6YHBvbGljeWAgbW9kdWxlIGFsc28gcHJvdmlkZXMgc29tZQorcHJlLWNyZWF0ZWQgOmNsYXNzOmBQb2xpY3lgIGluc3RhbmNlcy4gIEluIGFkZGl0aW9uIHRvIGEgOmNvbnN0OmBkZWZhdWx0YAoraW5zdGFuY2UsIHRoZXJlIGFyZSBpbnN0YW5jZXMgdGFpbG9yZWQgZm9yIGNlcnRhaW4gYXBwbGljYXRpb25zLiAgRm9yIGV4YW1wbGUKK3RoZXJlIGlzIGFuIDpjb25zdDpgU01UUGAgOmNsYXNzOmBQb2xpY3lgIHdpdGggZGVmYXVsdHMgYXBwcm9wcmlhdGUgZm9yCitnZW5lcmF0aW5nIG91dHB1dCB0byBiZSBzZW50IHRvIGFuIFNNVFAgc2VydmVyLiAgVGhlc2UgYXJlIGxpc3RlZCBgYmVsb3cKKzxQb2xpY3kgSW5zdGFuY2VzPmAuCisKK0luIGdlbmVyYWwgYW4gYXBwbGljYXRpb24gd2lsbCBvbmx5IG5lZWQgdG8gZGVhbCB3aXRoIHNldHRpbmcgdGhlIHBvbGljeSBhdCB0aGUKK2lucHV0IGFuZCBvdXRwdXQgYm91bmRhcmllcy4gIE9uY2UgcGFyc2VkLCBhIG1lc3NhZ2UgaXMgcmVwcmVzZW50ZWQgYnkgYQorOmNsYXNzOmB+ZW1haWwubWVzc2FnZS5NZXNzYWdlYCBvYmplY3QsIHdoaWNoIGlzIGRlc2lnbmVkIHRvIGJlIGluZGVwZW5kZW50IG9mCit0aGUgZm9ybWF0IHRoYXQgdGhlIG1lc3NhZ2UgaGFzICJvbiB0aGUgd2lyZSIgd2hlbiBpdCBpcyByZWNlaXZlZCwgdHJhbnNtaXR0ZWQsCitvciBkaXNwbGF5ZWQuICBUaHVzLCBhIDpjbGFzczpgUG9saWN5YCBjYW4gYmUgc3BlY2lmaWVkIHdoZW4gcGFyc2luZyBhIG1lc3NhZ2UKK3RvIGNyZWF0ZSBhIDpjbGFzczpgfmVtYWlsLm1lc3NhZ2UuTWVzc2FnZWAsIGFuZCBhZ2FpbiB3aGVuIHR1cm5pbmcgdGhlCis6Y2xhc3M6YH5lbWFpbC5tZXNzYWdlLk1lc3NhZ2VgIGludG8gc29tZSBvdGhlciByZXByZXNlbnRhdGlvbi4gIFdoaWxlIG9mdGVuIGEKK3Byb2dyYW0gd2lsbCB1c2UgdGhlIHNhbWUgOmNsYXNzOmBQb2xpY3lgIGZvciBib3RoIGlucHV0IGFuZCBvdXRwdXQsIHRoZSB0d28KK2NhbiBiZSBkaWZmZXJlbnQuCisKK0FzIGFuIGV4YW1wbGUsIHRoZSBmb2xsb3dpbmcgY29kZSBjb3VsZCBiZSB1c2VkIHRvIHJlYWQgYW4gZW1haWwgbWVzc2FnZSBmcm9tIGEKK2ZpbGUgb24gZGlzayBhbmQgcGFzcyBpdCB0byB0aGUgc3lzdGVtIGBgc2VuZG1haWxgYCBwcm9ncmFtIG9uIGEgVW5peCBzeXN0ZW06OgorCisgICA+Pj4gZnJvbSBlbWFpbCBpbXBvcnQgbXNnX2Zyb21fYmluYXJ5X2ZpbGUKKyAgID4+PiBmcm9tIGVtYWlsLmdlbmVyYXRvciBpbXBvcnQgQnl0ZXNHZW5lcmF0b3IKKyAgID4+PiBpbXBvcnQgZW1haWwucG9saWN5CisgICA+Pj4gZnJvbSBzdWJwcm9jZXNzIGltcG9ydCBQb3BlbiwgUElQRQorICAgPj4+IHdpdGggb3BlbignbXltc2cudHh0JywgJ2InKSBhcyBmOgorICAgLi4uICAgICBtc2cgPSBtc2dfZnJvbV9iaW5hcnlfZmlsZShmLCBwb2xpY3k9ZW1haWwucG9saWN5Lm1ib3gpCisgICA+Pj4gcCA9IFBvcGVuKFsnc2VuZG1haWwnLCBtc2dbJ1RvJ11bMF0uYWRkcmVzc10sIHN0ZGluPVBJUEUpCisgICA+Pj4gZyA9IEJ5dGVzR2VuZXJhdG9yKHAuc3RkaW4sIHBvbGljeT1lbWFpbC5wb2xpY3kuU01UUCkKKyAgID4+PiBnLmZsYXR0ZW4obXNnKQorICAgPj4+IHAuc3RkaW4uY2xvc2UoKQorICAgPj4+IHJjID0gcC53YWl0KCkKKworLi4gWFhYIGVtYWlsLnBvbGljeS5tYm94L01CT1ggZG9lcyBub3QgZXhpc3QgeWV0CisKK1NvbWUgZW1haWwgcGFja2FnZSBtZXRob2RzIGFjY2VwdCBhICpwb2xpY3kqIGtleXdvcmQgYXJndW1lbnQsIGFsbG93aW5nIHRoZQorcG9saWN5IHRvIGJlIG92ZXJyaWRkZW4gZm9yIHRoYXQgbWV0aG9kLiAgRm9yIGV4YW1wbGUsIHRoZSBmb2xsb3dpbmcgY29kZSB1c2VzCit0aGUgOm1ldGg6YH5lbWFpbC5tZXNzYWdlLk1lc3NhZ2UuYXNfc3RyaW5nYCBtZXRob2Qgb2YgdGhlICptc2cqIG9iamVjdCBmcm9tIHRoZQorcHJldmlvdXMgZXhhbXBsZSBhbmQgcmUtd3JpdGUgaXQgdG8gYSBmaWxlIHVzaW5nIHRoZSBuYXRpdmUgbGluZSBzZXBhcmF0b3JzIGZvcgordGhlIHBsYXRmb3JtIG9uIHdoaWNoIGl0IGlzIHJ1bm5pbmc6OgorCisgICA+Pj4gaW1wb3J0IG9zCisgICA+Pj4gbXlwb2xpY3kgPSBlbWFpbC5wb2xpY3kuUG9saWN5KGxpbmVzZXA9b3MubGluZXNlcCkKKyAgID4+PiB3aXRoIG9wZW4oJ2NvbnZlcnRlZC50eHQnLCAnd2InKSBhcyBmOgorICAgLi4uICAgICBmLndyaXRlKG1zZy5hc19zdHJpbmcocG9saWN5PW15cG9saWN5KSkKKworUG9saWN5IGluc3RhbmNlcyBhcmUgaW1tdXRhYmxlLCBidXQgdGhleSBjYW4gYmUgY2xvbmVkLCBhY2NlcHRpbmcgdGhlIHNhbWUKK2tleXdvcmQgYXJndW1lbnRzIGFzIHRoZSBjbGFzcyBjb25zdHJ1Y3RvciBhbmQgcmV0dXJuaW5nIGEgbmV3IDpjbGFzczpgUG9saWN5YAoraW5zdGFuY2UgdGhhdCBpcyBhIGNvcHkgb2YgdGhlIG9yaWdpbmFsIGJ1dCB3aXRoIHRoZSBzcGVjaWZpZWQgYXR0cmlidXRlcwordmFsdWVzIGNoYW5nZWQuICBGb3IgZXhhbXBsZSwgdGhlIGZvbGxvd2luZyBjcmVhdGVzIGFuIFNNVFAgcG9saWN5IHRoYXQgd2lsbAorcmFpc2UgYW55IGRlZmVjdHMgZGV0ZWN0ZWQgYXMgZXJyb3JzOjoKKworICAgPj4+IHN0cmljdF9TTVRQID0gZW1haWwucG9saWN5LlNNVFAuY2xvbmUocmFpc2Vfb25fZGVmZWN0PVRydWUpCisKK1BvbGljeSBvYmplY3RzIGNhbiBhbHNvIGJlIGNvbWJpbmVkIHVzaW5nIHRoZSBhZGRpdGlvbiBvcGVyYXRvciwgcHJvZHVjaW5nIGEKK3BvbGljeSBvYmplY3Qgd2hvc2Ugc2V0dGluZ3MgYXJlIGEgY29tYmluYXRpb24gb2YgdGhlIG5vbi1kZWZhdWx0IHZhbHVlcyBvZiB0aGUKK3N1bW1lZCBvYmplY3RzOjoKKworICAgPj4+IHN0cmljdF9TTVRQID0gZW1haWwucG9saWN5LlNNVFAgKyBlbWFpbC5wb2xpY3kuc3RyaWN0CisKK1RoaXMgb3BlcmF0aW9uIGlzIG5vdCBjb21tdXRhdGl2ZTsgdGhhdCBpcywgdGhlIG9yZGVyIGluIHdoaWNoIHRoZSBvYmplY3RzIGFyZQorYWRkZWQgbWF0dGVycy4gIFRvIGlsbHVzdHJhdGU6OgorCisgICA+Pj4gUG9saWN5ID0gZW1haWwucG9saWN5LlBvbGljeQorICAgPj4+IGFwb2xpY3kgPSBQb2xpY3kobWF4X2xpbmVfbGVuZ3RoPTEwMCkgKyBQb2xpY3kobWF4X2xpbmVfbGVuZ3RoPTgwKQorICAgPj4+IGFwb2xpY3kubWF4X2xpbmVfbGVuZ3RoCisgICA4MAorICAgPj4+IGFwb2xpY3kgPSBQb2xpY3kobWF4X2xpbmVfbGVuZ3RoPTgwKSArIFBvbGljeShtYXhfbGluZV9sZW5ndGg9MTAwKQorICAgPj4+IGFwb2xpY3kubWF4X2xpbmVfbGVuZ3RoCisgICAxMDAKKworCisuLiBjbGFzczo6IFBvbGljeSgqKmt3KQorCisgICBUaGUgdmFsaWQgY29uc3RydWN0b3Iga2V5d29yZCBhcmd1bWVudHMgYXJlIGFueSBvZiB0aGUgYXR0cmlidXRlcyBsaXN0ZWQKKyAgIGJlbG93LgorCisgICAuLiBhdHRyaWJ1dGU6OiBtYXhfbGluZV9sZW5ndGgKKworICAgICAgVGhlIG1heGltdW0gbGVuZ3RoIG9mIGFueSBsaW5lIGluIHRoZSBzZXJpYWxpemVkIG91dHB1dCwgbm90IGNvdW50aW5nIHRoZQorICAgICAgZW5kIG9mIGxpbmUgY2hhcmFjdGVyKHMpLiAgRGVmYXVsdCBpcyA3OCwgcGVyIDpyZmM6YDUzMjJgLiAgQSB2YWx1ZSBvZgorICAgICAgYGAwYGAgb3IgOmNvbnN0OmBOb25lYCBpbmRpY2F0ZXMgdGhhdCBubyBsaW5lIHdyYXBwaW5nIHNob3VsZCBiZQorICAgICAgZG9uZSBhdCBhbGwuCisKKyAgIC4uIGF0dHJpYnV0ZTo6IGxpbmVzZXAKKworICAgICAgVGhlIHN0cmluZyB0byBiZSB1c2VkIHRvIHRlcm1pbmF0ZSBsaW5lcyBpbiBzZXJpYWxpemVkIG91dHB1dC4gIFRoZQorICAgICAgZGVmYXVsdCBpcyBgYFxuYGAgYmVjYXVzZSB0aGF0J3MgdGhlIGludGVybmFsIGVuZC1vZi1saW5lIGRpc2NpcGxpbmUgdXNlZAorICAgICAgYnkgUHl0aG9uLCB0aG91Z2ggYGBcclxuYGAgaXMgcmVxdWlyZWQgYnkgdGhlIFJGQ3MuICBTZWUgYFBvbGljeQorICAgICAgSW5zdGFuY2VzYF8gZm9yIHBvbGljaWVzIHRoYXQgdXNlIGFuIFJGQyBjb25mb3JtYW50IGxpbmVzZXAuICBTZXR0aW5nIGl0CisgICAgICB0byA6YXR0cjpgb3MubGluZXNlcGAgbWF5IGFsc28gYmUgdXNlZnVsLgorCisgICAuLiBhdHRyaWJ1dGU6OiBtdXN0X2JlXzdiaXQKKworICAgICAgSWYgYGBUcnVlYGAsIGRhdGEgb3V0cHV0IGJ5IGEgYnl0ZXMgZ2VuZXJhdG9yIGlzIGxpbWl0ZWQgdG8gQVNDSUkKKyAgICAgIGNoYXJhY3RlcnMuICBJZiA6Y29uc3Q6YEZhbHNlYCAodGhlIGRlZmF1bHQpLCB0aGVuIGJ5dGVzIHdpdGggdGhlIGhpZ2gKKyAgICAgIGJpdCBzZXQgYXJlIHByZXNlcnZlZCBhbmQvb3IgYWxsb3dlZCBpbiBjZXJ0YWluIGNvbnRleHRzIChmb3IgZXhhbXBsZSwKKyAgICAgIHdoZXJlIHBvc3NpYmxlIGEgY29udGVudCB0cmFuc2ZlciBlbmNvZGluZyBvZiBgYDhiaXRgYCB3aWxsIGJlIHVzZWQpLgorICAgICAgU3RyaW5nIGdlbmVyYXRvcnMgYWN0IGFzIGlmIGBgbXVzdF9iZV83Yml0YGAgaXMgYGBUcnVlYGAgcmVnYXJkbGVzcyBvZgorICAgICAgdGhlIHBvbGljeSBpbiBlZmZlY3QsIHNpbmNlIGEgc3RyaW5nIGNhbm5vdCByZXByZXNlbnQgbm9uLUFTQ0lJIGJ5dGVzLgorCisgICAuLiBhdHRyaWJ1dGU6OiByYWlzZV9vbl9kZWZlY3QKKworICAgICAgSWYgOmNvbnN0OmBUcnVlYCwgYW55IGRlZmVjdHMgZW5jb3VudGVyZWQgd2lsbCBiZSByYWlzZWQgYXMgZXJyb3JzLiAgSWYKKyAgICAgIDpjb25zdDpgRmFsc2VgICh0aGUgZGVmYXVsdCksIGRlZmVjdHMgd2lsbCBiZSBwYXNzZWQgdG8gdGhlCisgICAgICA6bWV0aDpgcmVnaXN0ZXJfZGVmZWN0YCBtZXRob2QuCisKKyAgIDptb2Q6YFBvbGljeWAgb2JqZWN0IGFsc28gaGF2ZSB0aGUgZm9sbG93aW5nIG1ldGhvZHM6CisKKyAgIC4uIG1ldGhvZDo6IGhhbmRsZV9kZWZlY3Qob2JqLCBkZWZlY3QpCisKKyAgICAgICpvYmoqIGlzIHRoZSBvYmplY3Qgb24gd2hpY2ggdG8gcmVnaXN0ZXIgdGhlIGRlZmVjdC4gICpkZWZlY3QqIHNob3VsZCBiZQorICAgICAgYW4gaW5zdGFuY2Ugb2YgYSAgc3ViY2xhc3Mgb2YgOmNsYXNzOmB+ZW1haWwuZXJyb3JzLkRlZmVjdGAuCisgICAgICBJZiA6YXR0cjpgcmFpc2Vfb25fZGVmZWN0YAorICAgICAgaXMgYGBUcnVlYGAgdGhlIGRlZmVjdCBpcyByYWlzZWQgYXMgYW4gZXhjZXB0aW9uLiAgT3RoZXJ3aXNlICpvYmoqIGFuZAorICAgICAgKmRlZmVjdCogYXJlIHBhc3NlZCB0byA6bWV0aDpgcmVnaXN0ZXJfZGVmZWN0YC4gIFRoaXMgbWV0aG9kIGlzIGludGVuZGVkCisgICAgICB0byBiZSBjYWxsZWQgYnkgcGFyc2VycyB3aGVuIHRoZXkgZW5jb3VudGVyIGRlZmVjdHMsIGFuZCB3aWxsIG5vdCBiZQorICAgICAgY2FsbGVkIGJ5IGNvZGUgdGhhdCB1c2VzIHRoZSBlbWFpbCBsaWJyYXJ5IHVubGVzcyB0aGF0IGNvZGUgaXMKKyAgICAgIGltcGxlbWVudGluZyBhbiBhbHRlcm5hdGUgcGFyc2VyLgorCisgICAuLiBtZXRob2Q6OiByZWdpc3Rlcl9kZWZlY3Qob2JqLCBkZWZlY3QpCisKKyAgICAgICpvYmoqIGlzIHRoZSBvYmplY3Qgb24gd2hpY2ggdG8gcmVnaXN0ZXIgdGhlIGRlZmVjdC4gICpkZWZlY3QqIHNob3VsZCBiZQorICAgICAgYSBzdWJjbGFzcyBvZiA6Y2xhc3M6YH5lbWFpbC5lcnJvcnMuRGVmZWN0YC4gIFRoaXMgbWV0aG9kIGlzIHBhcnQgb2YgdGhlCisgICAgICBwdWJsaWMgQVBJIHNvIHRoYXQgY3VzdG9tIGBgUG9saWN5YGAgc3ViY2xhc3NlcyBjYW4gaW1wbGVtZW50IGFsdGVybmF0ZQorICAgICAgaGFuZGxpbmcgb2YgZGVmZWN0cy4gIFRoZSBkZWZhdWx0IGltcGxlbWVudGF0aW9uIGNhbGxzIHRoZSBgYGFwcGVuZGBgCisgICAgICBtZXRob2Qgb2YgdGhlIGBgZGVmZWN0c2BgIGF0dHJpYnV0ZSBvZiAqb2JqKi4KKworICAgLi4gbWV0aG9kOjogY2xvbmUob2JqLCAqa3cpCisKKyAgICAgIFJldHVybiBhIG5ldyA6Y2xhc3M6YFBvbGljeWAgaW5zdGFuY2Ugd2hvc2UgYXR0cmlidXRlcyBoYXZlIHRoZSBzYW1lCisgICAgICB2YWx1ZXMgYXMgdGhlIGN1cnJlbnQgaW5zdGFuY2UsIGV4Y2VwdCB3aGVyZSB0aG9zZSBhdHRyaWJ1dGVzIGFyZQorICAgICAgZ2l2ZW4gbmV3IHZhbHVlcyBieSB0aGUga2V5d29yZCBhcmd1bWVudHMuCisKKworUG9saWN5IEluc3RhbmNlcworXl5eXl5eXl5eXl5eXl5eXgorCitUaGUgZm9sbG93aW5nIGluc3RhbmNlcyBvZiA6Y2xhc3M6YFBvbGljeWAgcHJvdmlkZSBkZWZhdWx0cyBzdWl0YWJsZSBmb3IKK3NwZWNpZmljIGNvbW1vbiBhcHBsaWNhdGlvbiBkb21haW5zLgorCisuLiBkYXRhOjogZGVmYXVsdAorCisgICBBbiBpbnN0YW5jZSBvZiA6Y2xhc3M6YFBvbGljeWAgd2l0aCBhbGwgZGVmYXVsdHMgdW5jaGFuZ2VkLgorCisuLiBkYXRhOjogU01UUAorCisgICBPdXRwdXQgc2VyaWFsaXplZCBmcm9tIGEgbWVzc2FnZSB3aWxsIGNvbmZvcm0gdG8gdGhlIGVtYWlsIGFuZCBTTVRQCisgICBSRkNzLiAgVGhlIG9ubHkgY2hhbmdlZCBhdHRyaWJ1dGUgaXMgOmF0dHI6YGxpbmVzZXBgLCB3aGljaCBpcyBzZXQgdG8KKyAgIGBgXHJcbmBgLgorCisuLiBkYXRhOjogSFRUUAorCisgICBTdWl0YWJsZSBmb3IgdXNlIHdoZW4gc2VyaWFsaXppbmcgaGVhZGVycyBmb3IgdXNlIGluIEhUVFAgdHJhZmZpYy4KKyAgIDphdHRyOmBsaW5lc2VwYCBpcyBzZXQgdG8gYGBcclxuYGAsIGFuZCA6YXR0cjpgbWF4X2xpbmVfbGVuZ3RoYCBpcyBzZXQgdG8KKyAgIDpjb25zdDpgTm9uZWAgKHVubGltaXRlZCkuCisKKy4uIGRhdGE6OiBzdHJpY3QKKworICAgOmF0dHI6YHJhaXNlX29uX2RlZmVjdGAgaXMgc2V0IHRvIDpjb25zdDpgVHJ1ZWAuCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9lbWFpbC5yc3QgYi9Eb2MvbGlicmFyeS9lbWFpbC5yc3QKaW5kZXggNDUzMGI5NS4uZmMyMDZmNCAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvZW1haWwucnN0CisrKyBiL0RvYy9saWJyYXJ5L2VtYWlsLnJzdApAQCAtNTEsNiArNTEsNyBAQAogICAgZW1haWwubWVzc2FnZS5yc3QKICAgIGVtYWlsLnBhcnNlci5yc3QKICAgIGVtYWlsLmdlbmVyYXRvci5yc3QKKyAgIGVtYWlsLnBvbGljeS5yc3QKICAgIGVtYWlsLm1pbWUucnN0CiAgICBlbWFpbC5oZWFkZXIucnN0CiAgICBlbWFpbC5jaGFyc2V0LnJzdApkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvZW1haWwudXRpbC5yc3QgYi9Eb2MvbGlicmFyeS9lbWFpbC51dGlsLnJzdAppbmRleCBmN2I3NzdhLi4yZjllZjg5IDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9lbWFpbC51dGlsLnJzdAorKysgYi9Eb2MvbGlicmFyeS9lbWFpbC51dGlsLnJzdApAQCAtMjksMTMgKzI5LDIwIEBACiAgICBmYWlscywgaW4gd2hpY2ggY2FzZSBhIDItdHVwbGUgb2YgYGAoJycsICcnKWBgIGlzIHJldHVybmVkLgogCiAKLS4uIGZ1bmN0aW9uOjogZm9ybWF0YWRkcihwYWlyKQorLi4gZnVuY3Rpb246OiBmb3JtYXRhZGRyKHBhaXIsIGNoYXJzZXQ9J3V0Zi04JykKIAogICAgVGhlIGludmVyc2Ugb2YgOm1ldGg6YHBhcnNlYWRkcmAsIHRoaXMgdGFrZXMgYSAyLXR1cGxlIG9mIHRoZSBmb3JtIGBgKHJlYWxuYW1lLAogICAgZW1haWxfYWRkcmVzcylgYCBhbmQgcmV0dXJucyB0aGUgc3RyaW5nIHZhbHVlIHN1aXRhYmxlIGZvciBhIDptYWlsaGVhZGVyOmBUb2Agb3IKICAgIDptYWlsaGVhZGVyOmBDY2AgaGVhZGVyLiAgSWYgdGhlIGZpcnN0IGVsZW1lbnQgb2YgKnBhaXIqIGlzIGZhbHNlLCB0aGVuIHRoZQogICAgc2Vjb25kIGVsZW1lbnQgaXMgcmV0dXJuZWQgdW5tb2RpZmllZC4KIAorICAgT3B0aW9uYWwgKmNoYXJzZXQqIGlzIHRoZSBjaGFyYWN0ZXIgc2V0IHRoYXQgd2lsbCBiZSB1c2VkIGluIHRoZSA6cmZjOmAyMDQ3YAorICAgZW5jb2Rpbmcgb2YgdGhlIGBgcmVhbG5hbWVgYCBpZiB0aGUgYGByZWFsbmFtZWBgIGNvbnRhaW5zIG5vbi1BU0NJSQorICAgY2hhcmFjdGVycy4gIENhbiBiZSBhbiBpbnN0YW5jZSBvZiA6Y2xhc3M6YHN0cmAgb3IgYQorICAgOmNsYXNzOmB+ZW1haWwuY2hhcnNldC5DaGFyc2V0YC4gIERlZmF1bHRzIHRvIGBgdXRmLThgYC4KKworICAgLi4gdmVyc2lvbmNoYW5nZWQ6IDMuMyBhZGRlZCB0aGUgKmNoYXJzZXQqIG9wdGlvbgorCiAKIC4uIGZ1bmN0aW9uOjogZ2V0YWRkcmVzc2VzKGZpZWxkdmFsdWVzKQogCkBAIC03NCw2ICs4MSwyMCBAQAogICAgaW5kZXhlcyA2LCA3LCBhbmQgOCBvZiB0aGUgcmVzdWx0IHR1cGxlIGFyZSBub3QgdXNhYmxlLgogCiAKKy4uIGZ1bmN0aW9uOjogcGFyc2VkYXRlX3RvX2RhdGV0aW1lKGRhdGUpCisKKyAgIFRoZSBpbnZlcnNlIG9mIDpmdW5jOmBmb3JtYXRfZGF0ZXRpbWVgLiAgUGVyZm9ybXMgdGhlIHNhbWUgZnVuY3Rpb24gYXMKKyAgIDpmdW5jOmBwYXJzZWRhdGVgLCBidXQgb24gc3VjY2VzcyByZXR1cm5zIGEgOm1vZDpgfmRhdGV0aW1lLmRhdGV0aW1lYC4gIElmCisgICB0aGUgaW5wdXQgZGF0ZSBoYXMgYSB0aW1lem9uZSBvZiBgYC0wMDAwYGAsIHRoZSBgYGRhdGV0aW1lYGAgd2lsbCBiZSBhIG5haXZlCisgICBgYGRhdGV0aW1lYGAsIGFuZCBpZiB0aGUgZGF0ZSBpcyBjb25mb3JtaW5nIHRvIHRoZSBSRkNzIGl0IHdpbGwgcmVwcmVzZW50IGEKKyAgIHRpbWUgaW4gVVRDIGJ1dCB3aXRoIG5vIGluZGljYXRpb24gb2YgdGhlIGFjdHVhbCBzb3VyY2UgdGltZXpvbmUgb2YgdGhlCisgICBtZXNzYWdlIHRoZSBkYXRlIGNvbWVzIGZyb20uICBJZiB0aGUgaW5wdXQgZGF0ZSBoYXMgYW55IG90aGVyIHZhbGlkIHRpbWV6b25lCisgICBvZmZzZXQsIHRoZSBgYGRhdGV0aW1lYGAgd2lsbCBiZSBhbiBhd2FyZSBgYGRhdGV0aW1lYGAgd2l0aCB0aGUKKyAgIGNvcnJlc3BvbmRpbmcgYSA6Y2xhc3M6YH5kYXRldGltZS50aW1lem9uZWAgOmNsYXNzOmB+ZGF0ZXRpbWUudHppbmZvYC4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy4zCisKKwogLi4gZnVuY3Rpb246OiBta3RpbWVfdHoodHVwbGUpCiAKICAgIFR1cm4gYSAxMC10dXBsZSBhcyByZXR1cm5lZCBieSA6ZnVuYzpgcGFyc2VkYXRlX3R6YCBpbnRvIGEgVVRDIHRpbWVzdGFtcC4gIEl0CkBAIC0xMDUsNiArMTI2LDIwIEBACiAgICBgYEZhbHNlYGAuICBUaGUgZGVmYXVsdCBpcyBgYEZhbHNlYGAuCiAKIAorLi4gZnVuY3Rpb246OiBmb3JtYXRfZGF0ZXRpbWUoZHQsIHVzZWdtdD1GYWxzZSkKKworICAgTGlrZSBgYGZvcm1hdGRhdGVgYCwgYnV0IHRoZSBpbnB1dCBpcyBhIDptb2Q6YGRhdGV0aW1lYCBpbnN0YW5jZS4gIElmIGl0IGlzCisgICBhIG5haXZlIGRhdGV0aW1lLCBpdCBpcyBhc3N1bWVkIHRvIGJlICJVVEMgd2l0aCBubyBpbmZvcm1hdGlvbiBhYm91dCB0aGUKKyAgIHNvdXJjZSB0aW1lem9uZSIsIGFuZCB0aGUgY29udmVudGlvbmFsIGBgLTAwMDBgYCBpcyB1c2VkIGZvciB0aGUgdGltZXpvbmUuCisgICBJZiBpdCBpcyBhbiBhd2FyZSBgYGRhdGV0aW1lYGAsIHRoZW4gdGhlIG51bWVyaWMgdGltZXpvbmUgb2Zmc2V0IGlzIHVzZWQuCisgICBJZiBpdCBpcyBhbiBhd2FyZSB0aW1lem9uZSB3aXRoIG9mZnNldCB6ZXJvLCB0aGVuICp1c2VnbXQqIG1heSBiZSBzZXQgdG8KKyAgIGBgVHJ1ZWBgLCBpbiB3aGljaCBjYXNlIHRoZSBzdHJpbmcgYGBHTVRgYCBpcyB1c2VkIGluc3RlYWQgb2YgdGhlIG51bWVyaWMKKyAgIHRpbWV6b25lIG9mZnNldC4gIFRoaXMgcHJvdmlkZXMgYSB3YXkgdG8gZ2VuZXJhdGUgc3RhbmRhcmRzIGNvbmZvcm1hbnQgSFRUUAorICAgZGF0ZSBoZWFkZXJzLgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKKworCiAuLiBmdW5jdGlvbjo6IG1ha2VfbXNnaWQoaWRzdHJpbmc9Tm9uZSwgZG9tYWluPU5vbmUpCiAKICAgIFJldHVybnMgYSBzdHJpbmcgc3VpdGFibGUgZm9yIGFuIDpyZmM6YDI4MjJgXCAtY29tcGxpYW50CmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9leGNlcHRpb25zLnJzdCBiL0RvYy9saWJyYXJ5L2V4Y2VwdGlvbnMucnN0CmluZGV4IGNhM2FkM2UuLjhjNWE5NjAgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L2V4Y2VwdGlvbnMucnN0CisrKyBiL0RvYy9saWJyYXJ5L2V4Y2VwdGlvbnMucnN0CkBAIC0zNCw2ICszNCwyOCBAQAogZGVmaW5pbmcgZXhjZXB0aW9ucyBpcyBhdmFpbGFibGUgaW4gdGhlIFB5dGhvbiBUdXRvcmlhbCB1bmRlcgogOnJlZjpgdHV0LXVzZXJleGNlcHRpb25zYC4KIAorV2hlbiByYWlzaW5nIChvciByZS1yYWlzaW5nKSBhbiBleGNlcHRpb24gaW4gYW4gOmtleXdvcmQ6YGV4Y2VwdGAgY2xhdXNlCis6YXR0cjpgX19jb250ZXh0X19gIGlzIGF1dG9tYXRpY2FsbHkgc2V0IHRvIHRoZSBsYXN0IGV4Y2VwdGlvbiBjYXVnaHQ7IGlmIHRoZQorbmV3IGV4Y2VwdGlvbiBpcyBub3QgaGFuZGxlZCB0aGUgdHJhY2ViYWNrIHRoYXQgaXMgZXZlbnR1YWxseSBkaXNwbGF5ZWQgd2lsbAoraW5jbHVkZSB0aGUgb3JpZ2luYXRpbmcgZXhjZXB0aW9uKHMpIGFuZCB0aGUgZmluYWwgZXhjZXB0aW9uLgorCitUaGlzIGltcGxpY2l0IGV4Y2VwdGlvbiBjaGFpbiBjYW4gYmUgbWFkZSBleHBsaWNpdCBieSB1c2luZyA6a2V5d29yZDpgZnJvbWAKK3dpdGggOmtleXdvcmQ6YHJhaXNlYC4gIFRoZSBzaW5nbGUgYXJndW1lbnQgdG8gOmtleXdvcmQ6YGZyb21gIG11c3QgYmUgYW4KK2V4Y2VwdGlvbiBvciA6Y29uc3Q6YE5vbmVgLCBhbmQgaXQgd2lsbCBiZSBzZXQgYXMgOmF0dHI6YF9fY2F1c2VfX2Agb24gdGhlCityYWlzZWQgZXhjZXB0aW9uLiAgSWYgOmF0dHI6YF9fY2F1c2VfX2AgaXMgYW4gZXhjZXB0aW9uIGl0IHdpbGwgYmUgZGlzcGxheWVkCitpbnN0ZWFkIG9mIDphdHRyOmBfX2NvbnRleHRfX2A7IGlmIDphdHRyOmBfX2NhdXNlX19gIGlzIE5vbmUsCis6YXR0cjpgX19jb250ZXh0X19gIHdpbGwgbm90IGJlIGRpc3BsYXllZCBieSB0aGUgZGVmYXVsdCBleGNlcHRpb24gaGFuZGxpbmcKK2NvZGUuICAoTm90ZTogIHRoZSBkZWZhdWx0IHZhbHVlIGZvciA6YXR0cjpgX19jb250ZXh0X19gIGlzIDpjb25zdDpgTm9uZWAsCit3aGlsZSB0aGUgZGVmYXVsdCB2YWx1ZSBmb3IgOmF0dHI6YF9fY2F1c2VfX2AgaXMgOmNvbnN0OmBFbGxpcHNpc2AuKQorCitJbiBlaXRoZXIgY2FzZSwgdGhlIGRlZmF1bHQgZXhjZXB0aW9uIGhhbmRsaW5nIGNvZGUgd2lsbCBub3QgZGlzcGxheQorYW55IG9mIHRoZSByZW1haW5pbmcgbGlua3MgaW4gdGhlIDphdHRyOmBfX2NvbnRleHRfX2AgY2hhaW4gaWYKKzphdHRyOmBfX2NhdXNlX19gIGhhcyBiZWVuIHNldC4KKworCitCYXNlIGNsYXNzZXMKKy0tLS0tLS0tLS0tLQorCiBUaGUgZm9sbG93aW5nIGV4Y2VwdGlvbnMgYXJlIHVzZWQgbW9zdGx5IGFzIGJhc2UgY2xhc3NlcyBmb3Igb3RoZXIgZXhjZXB0aW9ucy4KIAogLi4gZXhjZXB0aW9uOjogQmFzZUV4Y2VwdGlvbgpAQCAtOTAsMjcgKzExMiw4IEBACiAgICBjYW4gYmUgcmFpc2VkIGRpcmVjdGx5IGJ5IDpmdW5jOmBjb2RlY3MubG9va3VwYC4KIAogCi0uLiBleGNlcHRpb246OiBFbnZpcm9ubWVudEVycm9yCi0KLSAgIFRoZSBiYXNlIGNsYXNzIGZvciBleGNlcHRpb25zIHRoYXQgY2FuIG9jY3VyIG91dHNpZGUgdGhlIFB5dGhvbiBzeXN0ZW06Ci0gICA6ZXhjOmBJT0Vycm9yYCwgOmV4YzpgT1NFcnJvcmAuICBXaGVuIGV4Y2VwdGlvbnMgb2YgdGhpcyB0eXBlIGFyZSBjcmVhdGVkIHdpdGggYQotICAgMi10dXBsZSwgdGhlIGZpcnN0IGl0ZW0gaXMgYXZhaWxhYmxlIG9uIHRoZSBpbnN0YW5jZSdzIDphdHRyOmBlcnJub2AgYXR0cmlidXRlCi0gICAoaXQgaXMgYXNzdW1lZCB0byBiZSBhbiBlcnJvciBudW1iZXIpLCBhbmQgdGhlIHNlY29uZCBpdGVtIGlzIGF2YWlsYWJsZSBvbiB0aGUKLSAgIDphdHRyOmBzdHJlcnJvcmAgYXR0cmlidXRlIChpdCBpcyB1c3VhbGx5IHRoZSBhc3NvY2lhdGVkIGVycm9yIG1lc3NhZ2UpLiAgVGhlCi0gICB0dXBsZSBpdHNlbGYgaXMgYWxzbyBhdmFpbGFibGUgb24gdGhlIDphdHRyOmBhcmdzYCBhdHRyaWJ1dGUuCi0KLSAgIFdoZW4gYW4gOmV4YzpgRW52aXJvbm1lbnRFcnJvcmAgZXhjZXB0aW9uIGlzIGluc3RhbnRpYXRlZCB3aXRoIGEgMy10dXBsZSwgdGhlCi0gICBmaXJzdCB0d28gaXRlbXMgYXJlIGF2YWlsYWJsZSBhcyBhYm92ZSwgd2hpbGUgdGhlIHRoaXJkIGl0ZW0gaXMgYXZhaWxhYmxlIG9uIHRoZQotICAgOmF0dHI6YGZpbGVuYW1lYCBhdHRyaWJ1dGUuICBIb3dldmVyLCBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHksIHRoZQotICAgOmF0dHI6YGFyZ3NgIGF0dHJpYnV0ZSBjb250YWlucyBvbmx5IGEgMi10dXBsZSBvZiB0aGUgZmlyc3QgdHdvIGNvbnN0cnVjdG9yCi0gICBhcmd1bWVudHMuCi0KLSAgIFRoZSA6YXR0cjpgZmlsZW5hbWVgIGF0dHJpYnV0ZSBpcyBgYE5vbmVgYCB3aGVuIHRoaXMgZXhjZXB0aW9uIGlzIGNyZWF0ZWQgd2l0aAotICAgb3RoZXIgdGhhbiAzIGFyZ3VtZW50cy4gIFRoZSA6YXR0cjpgZXJybm9gIGFuZCA6YXR0cjpgc3RyZXJyb3JgIGF0dHJpYnV0ZXMgYXJlCi0gICBhbHNvIGBgTm9uZWBgIHdoZW4gdGhlIGluc3RhbmNlIHdhcyBjcmVhdGVkIHdpdGggb3RoZXIgdGhhbiAyIG9yIDMgYXJndW1lbnRzLgotICAgSW4gdGhpcyBsYXN0IGNhc2UsIDphdHRyOmBhcmdzYCBjb250YWlucyB0aGUgdmVyYmF0aW0gY29uc3RydWN0b3IgYXJndW1lbnRzIGFzIGEKLSAgIHR1cGxlLgotCitDb25jcmV0ZSBleGNlcHRpb25zCistLS0tLS0tLS0tLS0tLS0tLS0tCiAKIFRoZSBmb2xsb3dpbmcgZXhjZXB0aW9ucyBhcmUgdGhlIGV4Y2VwdGlvbnMgdGhhdCBhcmUgdXN1YWxseSByYWlzZWQuCiAKQEAgLTE1MSwxNiArMTU0LDYgQEAKICAgIGl0IGlzIHRlY2huaWNhbGx5IG5vdCBhbiBlcnJvci4KIAogCi0uLiBleGNlcHRpb246OiBJT0Vycm9yCi0KLSAgIFJhaXNlZCB3aGVuIGFuIEkvTyBvcGVyYXRpb24gKHN1Y2ggYXMgdGhlIGJ1aWx0LWluIDpmdW5jOmBwcmludGAgb3IKLSAgIDpmdW5jOmBvcGVuYCBmdW5jdGlvbnMgb3IgYSBtZXRob2Qgb2YgYSA6dGVybTpgZmlsZSBvYmplY3RgKSBmYWlscyBmb3IgYW4KLSAgIEkvTy1yZWxhdGVkIHJlYXNvbiwgZS5nLiwgImZpbGUgbm90IGZvdW5kIiBvciAiZGlzayBmdWxsIi4KLQotICAgVGhpcyBjbGFzcyBpcyBkZXJpdmVkIGZyb20gOmV4YzpgRW52aXJvbm1lbnRFcnJvcmAuICBTZWUgdGhlIGRpc2N1c3Npb24gYWJvdmUKLSAgIGZvciBtb3JlIGluZm9ybWF0aW9uIG9uIGV4Y2VwdGlvbiBpbnN0YW5jZSBhdHRyaWJ1dGVzLgotCi0KIC4uIGV4Y2VwdGlvbjo6IEltcG9ydEVycm9yCiAKICAgIFJhaXNlZCB3aGVuIGFuIDprZXl3b3JkOmBpbXBvcnRgIHN0YXRlbWVudCBmYWlscyB0byBmaW5kIHRoZSBtb2R1bGUgZGVmaW5pdGlvbgpAQCAtMjIxLDE3ICsyMTQsMzAgQEAKIAogICAgLi4gaW5kZXg6OiBtb2R1bGU6IGVycm5vCiAKLSAgIFRoaXMgZXhjZXB0aW9uIGlzIGRlcml2ZWQgZnJvbSA6ZXhjOmBFbnZpcm9ubWVudEVycm9yYC4gIEl0IGlzIHJhaXNlZCB3aGVuIGEKLSAgIGZ1bmN0aW9uIHJldHVybnMgYSBzeXN0ZW0tcmVsYXRlZCBlcnJvciAobm90IGZvciBpbGxlZ2FsIGFyZ3VtZW50IHR5cGVzIG9yCi0gICBvdGhlciBpbmNpZGVudGFsIGVycm9ycykuICBUaGUgOmF0dHI6YGVycm5vYCBhdHRyaWJ1dGUgaXMgYSBudW1lcmljIGVycm9yCi0gICBjb2RlIGZyb20gOmM6ZGF0YTpgZXJybm9gLCBhbmQgdGhlIDphdHRyOmBzdHJlcnJvcmAgYXR0cmlidXRlIGlzIHRoZQotICAgY29ycmVzcG9uZGluZyBzdHJpbmcsIGFzIHdvdWxkIGJlIHByaW50ZWQgYnkgdGhlIEMgZnVuY3Rpb24gOmM6ZnVuYzpgcGVycm9yYC4KLSAgIFNlZSB0aGUgbW9kdWxlIDptb2Q6YGVycm5vYCwgd2hpY2ggY29udGFpbnMgbmFtZXMgZm9yIHRoZSBlcnJvciBjb2RlcyBkZWZpbmVkCi0gICBieSB0aGUgdW5kZXJseWluZyBvcGVyYXRpbmcgc3lzdGVtLgorICAgVGhpcyBleGNlcHRpb24gaXMgcmFpc2VkIHdoZW4gYSBzeXN0ZW0gZnVuY3Rpb24gcmV0dXJucyBhIHN5c3RlbS1yZWxhdGVkCisgICBlcnJvciwgaW5jbHVkaW5nIEkvTyBmYWlsdXJlcyBzdWNoIGFzICJmaWxlIG5vdCBmb3VuZCIgb3IgImRpc2sgZnVsbCIKKyAgIChub3QgZm9yIGlsbGVnYWwgYXJndW1lbnQgdHlwZXMgb3Igb3RoZXIgaW5jaWRlbnRhbCBlcnJvcnMpLiAgT2Z0ZW4gYQorICAgc3ViY2xhc3Mgb2YgOmV4YzpgT1NFcnJvcmAgd2lsbCBhY3R1YWxseSBiZSByYWlzZWQgYXMgZGVzY3JpYmVkIGluCisgICBgT1MgZXhjZXB0aW9uc2BfIGJlbG93LiAgVGhlIDphdHRyOmBlcnJub2AgYXR0cmlidXRlIGlzIGEgbnVtZXJpYyBlcnJvcgorICAgY29kZSBmcm9tIHRoZSBDIHZhcmlhYmxlIDpjOmRhdGE6YGVycm5vYC4KIAotICAgRm9yIGV4Y2VwdGlvbnMgdGhhdCBpbnZvbHZlIGEgZmlsZSBzeXN0ZW0gcGF0aCAoc3VjaCBhcyA6ZnVuYzpgY2hkaXJgIG9yCi0gICA6ZnVuYzpgdW5saW5rYCksIHRoZSBleGNlcHRpb24gaW5zdGFuY2Ugd2lsbCBjb250YWluIGEgdGhpcmQgYXR0cmlidXRlLAotICAgOmF0dHI6YGZpbGVuYW1lYCwgd2hpY2ggaXMgdGhlIGZpbGUgbmFtZSBwYXNzZWQgdG8gdGhlIGZ1bmN0aW9uLgorICAgVW5kZXIgV2luZG93cywgdGhlIDphdHRyOmB3aW5lcnJvcmAgYXR0cmlidXRlIGdpdmVzIHlvdSB0aGUgbmF0aXZlCisgICBXaW5kb3dzIGVycm9yIGNvZGUuICBUaGUgOmF0dHI6YGVycm5vYCBhdHRyaWJ1dGUgaXMgdGhlbiBhbiBhcHByb3hpbWF0ZQorICAgdHJhbnNsYXRpb24sIGluIFBPU0lYIHRlcm1zLCBvZiB0aGF0IG5hdGl2ZSBlcnJvciBjb2RlLgorCisgICBVbmRlciBhbGwgcGxhdGZvcm1zLCB0aGUgOmF0dHI6YHN0cmVycm9yYCBhdHRyaWJ1dGUgaXMgdGhlIGNvcnJlc3BvbmRpbmcKKyAgIGVycm9yIG1lc3NhZ2UgYXMgcHJvdmlkZWQgYnkgdGhlIG9wZXJhdGluZyBzeXN0ZW0gKGFzIGZvcm1hdHRlZCBieSB0aGUgQworICAgZnVuY3Rpb25zIDpjOmZ1bmM6YHBlcnJvcmAgdW5kZXIgUE9TSVgsIGFuZCA6YzpmdW5jOmBGb3JtYXRNZXNzYWdlYAorICAgV2luZG93cykuCisKKyAgIEZvciBleGNlcHRpb25zIHRoYXQgaW52b2x2ZSBhIGZpbGUgc3lzdGVtIHBhdGggKHN1Y2ggYXMgOmZ1bmM6YG9wZW5gIG9yCisgICA6ZnVuYzpgb3MudW5saW5rYCksIHRoZSBleGNlcHRpb24gaW5zdGFuY2Ugd2lsbCBjb250YWluIGFuIGFkZGl0aW9uYWwKKyAgIGF0dHJpYnV0ZSwgOmF0dHI6YGZpbGVuYW1lYCwgd2hpY2ggaXMgdGhlIGZpbGUgbmFtZSBwYXNzZWQgdG8gdGhlIGZ1bmN0aW9uLgorCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMworICAgICAgOmV4YzpgRW52aXJvbm1lbnRFcnJvcmAsIDpleGM6YElPRXJyb3JgLCA6ZXhjOmBXaW5kb3dzRXJyb3JgLAorICAgICAgOmV4YzpgVk1TRXJyb3JgLCA6ZXhjOmBzb2NrZXQuZXJyb3JgLCA6ZXhjOmBzZWxlY3QuZXJyb3JgIGFuZAorICAgICAgOmV4YzpgbW1hcC5lcnJvcmAgaGF2ZSBiZWVuIG1lcmdlZCBpbnRvIDpleGM6YE9TRXJyb3JgLgogCiAKIC4uIGV4Y2VwdGlvbjo6IE92ZXJmbG93RXJyb3IKQEAgLTI2Miw4ICsyNjgsMjAgQEAKIC4uIGV4Y2VwdGlvbjo6IFN0b3BJdGVyYXRpb24KIAogICAgUmFpc2VkIGJ5IGJ1aWx0LWluIGZ1bmN0aW9uIDpmdW5jOmBuZXh0YCBhbmQgYW4gOnRlcm06YGl0ZXJhdG9yYFwncwotICAgOm1ldGg6YF9fbmV4dF9fYCBtZXRob2QgdG8gc2lnbmFsIHRoYXQgdGhlcmUgYXJlIG5vIGZ1cnRoZXIgdmFsdWVzLgorICAgOm1ldGg6YF9fbmV4dF9fYCBtZXRob2QgdG8gc2lnbmFsIHRoYXQgdGhlcmUgYXJlIG5vIGZ1cnRoZXIgaXRlbXMgdG8gYmUKKyAgIHByb2R1Y2VkIGJ5IHRoZSBpdGVyYXRvci4KIAorICAgVGhlIGV4Y2VwdGlvbiBvYmplY3QgaGFzIGEgc2luZ2xlIGF0dHJpYnV0ZSA6YXR0cjpgdmFsdWVgLCB3aGljaCBpcworICAgZ2l2ZW4gYXMgYW4gYXJndW1lbnQgd2hlbiBjb25zdHJ1Y3RpbmcgdGhlIGV4Y2VwdGlvbiwgYW5kIGRlZmF1bHRzCisgICB0byA6Y29uc3Q6YE5vbmVgLgorCisgICBXaGVuIGEgZ2VuZXJhdG9yIGZ1bmN0aW9uIHJldHVybnMsIGEgbmV3IDpleGM6YFN0b3BJdGVyYXRpb25gIGluc3RhbmNlIGlzCisgICByYWlzZWQsIGFuZCB0aGUgdmFsdWUgcmV0dXJuZWQgYnkgdGhlIGZ1bmN0aW9uIGlzIHVzZWQgYXMgdGhlCisgICA6YXR0cjpgdmFsdWVgIHBhcmFtZXRlciB0byB0aGUgY29uc3RydWN0b3Igb2YgdGhlIGV4Y2VwdGlvbi4KKworICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjMKKyAgICAgIEFkZGVkIGBgdmFsdWVgYCBhdHRyaWJ1dGUgYW5kIHRoZSBhYmlsaXR5IGZvciBnZW5lcmF0b3IgZnVuY3Rpb25zIHRvCisgICAgICB1c2UgaXQgdG8gcmV0dXJuIGEgdmFsdWUuCiAKIC4uIGV4Y2VwdGlvbjo6IFN5bnRheEVycm9yCiAKQEAgLTM3MiwyMSArMzkwLDYgQEAKICAgIG1vcmUgcHJlY2lzZSBleGNlcHRpb24gc3VjaCBhcyA6ZXhjOmBJbmRleEVycm9yYC4KIAogCi0uLiBleGNlcHRpb246OiBWTVNFcnJvcgotCi0gICBPbmx5IGF2YWlsYWJsZSBvbiBWTVMuICBSYWlzZWQgd2hlbiBhIFZNUy1zcGVjaWZpYyBlcnJvciBvY2N1cnMuCi0KLQotLi4gZXhjZXB0aW9uOjogV2luZG93c0Vycm9yCi0KLSAgIFJhaXNlZCB3aGVuIGEgV2luZG93cy1zcGVjaWZpYyBlcnJvciBvY2N1cnMgb3Igd2hlbiB0aGUgZXJyb3IgbnVtYmVyIGRvZXMgbm90Ci0gICBjb3JyZXNwb25kIHRvIGFuIDpjOmRhdGE6YGVycm5vYCB2YWx1ZS4gIFRoZSA6YXR0cjpgd2luZXJyb3JgIGFuZAotICAgOmF0dHI6YHN0cmVycm9yYCB2YWx1ZXMgYXJlIGNyZWF0ZWQgZnJvbSB0aGUgcmV0dXJuIHZhbHVlcyBvZiB0aGUKLSAgIDpjOmZ1bmM6YEdldExhc3RFcnJvcmAgYW5kIDpjOmZ1bmM6YEZvcm1hdE1lc3NhZ2VgIGZ1bmN0aW9ucyBmcm9tIHRoZSBXaW5kb3dzCi0gICBQbGF0Zm9ybSBBUEkuIFRoZSA6YXR0cjpgZXJybm9gIHZhbHVlIG1hcHMgdGhlIDphdHRyOmB3aW5lcnJvcmAgdmFsdWUgdG8KLSAgIGNvcnJlc3BvbmRpbmcgYGBlcnJuby5oYGAgdmFsdWVzLiBUaGlzIGlzIGEgc3ViY2xhc3Mgb2YgOmV4YzpgT1NFcnJvcmAuCi0KLQogLi4gZXhjZXB0aW9uOjogWmVyb0RpdmlzaW9uRXJyb3IKIAogICAgUmFpc2VkIHdoZW4gdGhlIHNlY29uZCBhcmd1bWVudCBvZiBhIGRpdmlzaW9uIG9yIG1vZHVsbyBvcGVyYXRpb24gaXMgemVyby4gIFRoZQpAQCAtMzk0LDYgKzM5NywxMzYgQEAKICAgIG9wZXJhdGlvbi4KIAogCitUaGUgZm9sbG93aW5nIGV4Y2VwdGlvbnMgYXJlIGtlcHQgZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBwcmV2aW91cyB2ZXJzaW9uczsKK3N0YXJ0aW5nIGZyb20gUHl0aG9uIDMuMywgdGhleSBhcmUgYWxpYXNlcyBvZiA6ZXhjOmBPU0Vycm9yYC4KKworLi4gZXhjZXB0aW9uOjogRW52aXJvbm1lbnRFcnJvcgorCisuLiBleGNlcHRpb246OiBJT0Vycm9yCisKKy4uIGV4Y2VwdGlvbjo6IFZNU0Vycm9yCisKKyAgIE9ubHkgYXZhaWxhYmxlIG9uIFZNUy4KKworLi4gZXhjZXB0aW9uOjogV2luZG93c0Vycm9yCisKKyAgIE9ubHkgYXZhaWxhYmxlIG9uIFdpbmRvd3MuCisKKworT1MgZXhjZXB0aW9ucworXl5eXl5eXl5eXl5eXgorCitUaGUgZm9sbG93aW5nIGV4Y2VwdGlvbnMgYXJlIHN1YmNsYXNzZXMgb2YgOmV4YzpgT1NFcnJvcmAsIHRoZXkgZ2V0IHJhaXNlZAorZGVwZW5kaW5nIG9uIHRoZSBzeXN0ZW0gZXJyb3IgY29kZS4KKworLi4gZXhjZXB0aW9uOjogQmxvY2tpbmdJT0Vycm9yCisKKyAgIFJhaXNlZCB3aGVuIGFuIG9wZXJhdGlvbiB3b3VsZCBibG9jayBvbiBhbiBvYmplY3QgKGUuZy4gc29ja2V0KSBzZXQKKyAgIGZvciBub24tYmxvY2tpbmcgb3BlcmF0aW9uLgorICAgQ29ycmVzcG9uZHMgdG8gOmM6ZGF0YTpgZXJybm9gIGBgRUFHQUlOYGAsIGBgRUFMUkVBRFlgYCwKKyAgIGBgRVdPVUxEQkxPQ0tgYCBhbmQgYGBFSU5QUk9HUkVTU2BgLgorCisgICBJbiBhZGRpdGlvbiB0byB0aG9zZSBvZiA6ZXhjOmBPU0Vycm9yYCwgOmV4YzpgQmxvY2tpbmdJT0Vycm9yYCBjYW4gaGF2ZQorICAgb25lIG1vcmUgYXR0cmlidXRlOgorCisgICAuLiBhdHRyaWJ1dGU6OiBjaGFyYWN0ZXJzX3dyaXR0ZW4KKworICAgICAgQW4gaW50ZWdlciBjb250YWluaW5nIHRoZSBudW1iZXIgb2YgY2hhcmFjdGVycyB3cml0dGVuIHRvIHRoZSBzdHJlYW0KKyAgICAgIGJlZm9yZSBpdCBibG9ja2VkLiAgVGhpcyBhdHRyaWJ1dGUgaXMgYXZhaWxhYmxlIHdoZW4gdXNpbmcgdGhlCisgICAgICBidWZmZXJlZCBJL08gY2xhc3NlcyBmcm9tIHRoZSA6bW9kOmBpb2AgbW9kdWxlLgorCisuLiBleGNlcHRpb246OiBDaGlsZFByb2Nlc3NFcnJvcgorCisgICBSYWlzZWQgd2hlbiBhbiBvcGVyYXRpb24gb24gYSBjaGlsZCBwcm9jZXNzIGZhaWxlZC4KKyAgIENvcnJlc3BvbmRzIHRvIDpjOmRhdGE6YGVycm5vYCBgYEVDSElMRGBgLgorCisuLiBleGNlcHRpb246OiBDb25uZWN0aW9uRXJyb3IKKworICAgQSBiYXNlIGNsYXNzIGZvciBjb25uZWN0aW9uLXJlbGF0ZWQgaXNzdWVzLiAgU3ViY2xhc3NlcyBhcmUKKyAgIDpleGM6YEJyb2tlblBpcGVFcnJvcmAsIDpleGM6YENvbm5lY3Rpb25BYm9ydGVkRXJyb3JgLAorICAgOmV4YzpgQ29ubmVjdGlvblJlZnVzZWRFcnJvcmAgYW5kIDpleGM6YENvbm5lY3Rpb25SZXNldEVycm9yYC4KKworICAgLi4gZXhjZXB0aW9uOjogQnJva2VuUGlwZUVycm9yCisKKyAgICAgIEEgc3ViY2xhc3Mgb2YgOmV4YzpgQ29ubmVjdGlvbkVycm9yYCwgcmFpc2VkIHdoZW4gdHJ5aW5nIHRvIHdyaXRlIG9uIGEKKyAgICAgIHBpcGUgd2hpbGUgdGhlIG90aGVyIGVuZCBoYXMgYmVlbiBjbG9zZWQsIG9yIHRyeWluZyB0byB3cml0ZSBvbiBhIHNvY2tldAorICAgICAgd2hpY2ggaGFzIGJlZW4gc2h1dGRvd24gZm9yIHdyaXRpbmcuCisgICAgICBDb3JyZXNwb25kcyB0byA6YzpkYXRhOmBlcnJub2AgYGBFUElQRWBgIGFuZCBgYEVTSFVURE9XTmBgLgorCisgICAuLiBleGNlcHRpb246OiBDb25uZWN0aW9uQWJvcnRlZEVycm9yCisKKyAgICAgIEEgc3ViY2xhc3Mgb2YgOmV4YzpgQ29ubmVjdGlvbkVycm9yYCwgcmFpc2VkIHdoZW4gYSBjb25uZWN0aW9uIGF0dGVtcHQKKyAgICAgIGlzIGFib3J0ZWQgYnkgdGhlIHBlZXIuCisgICAgICBDb3JyZXNwb25kcyB0byA6YzpkYXRhOmBlcnJub2AgYGBFQ09OTkFCT1JURURgYC4KKworICAgLi4gZXhjZXB0aW9uOjogQ29ubmVjdGlvblJlZnVzZWRFcnJvcgorCisgICAgICBBIHN1YmNsYXNzIG9mIDpleGM6YENvbm5lY3Rpb25FcnJvcmAsIHJhaXNlZCB3aGVuIGEgY29ubmVjdGlvbiBhdHRlbXB0CisgICAgICBpcyByZWZ1c2VkIGJ5IHRoZSBwZWVyLgorICAgICAgQ29ycmVzcG9uZHMgdG8gOmM6ZGF0YTpgZXJybm9gIGBgRUNPTk5SRUZVU0VEYGAuCisKKyAgIC4uIGV4Y2VwdGlvbjo6IENvbm5lY3Rpb25SZXNldEVycm9yCisKKyAgICAgIEEgc3ViY2xhc3Mgb2YgOmV4YzpgQ29ubmVjdGlvbkVycm9yYCwgcmFpc2VkIHdoZW4gYSBjb25uZWN0aW9uIGlzCisgICAgICByZXNldCBieSB0aGUgcGVlci4KKyAgICAgIENvcnJlc3BvbmRzIHRvIDpjOmRhdGE6YGVycm5vYCBgYEVDT05OUkVTRVRgYC4KKworLi4gZXhjZXB0aW9uOjogRmlsZUV4aXN0c0Vycm9yCisKKyAgIFJhaXNlZCB3aGVuIHRyeWluZyB0byBjcmVhdGUgYSBmaWxlIG9yIGRpcmVjdG9yeSB3aGljaCBhbHJlYWR5IGV4aXN0cy4KKyAgIENvcnJlc3BvbmRzIHRvIDpjOmRhdGE6YGVycm5vYCBgYEVFWElTVGBgLgorCisuLiBleGNlcHRpb246OiBGaWxlTm90Rm91bmRFcnJvcgorCisgICBSYWlzZWQgd2hlbiBhIGZpbGUgb3IgZGlyZWN0b3J5IGlzIHJlcXVlc3RlZCBidXQgZG9lc24ndCBleGlzdC4KKyAgIENvcnJlc3BvbmRzIHRvIDpjOmRhdGE6YGVycm5vYCBgYEVOT0VOVGBgLgorCisuLiBleGNlcHRpb246OiBJbnRlcnJ1cHRlZEVycm9yCisKKyAgIFJhaXNlZCB3aGVuIGEgc3lzdGVtIGNhbGwgaXMgaW50ZXJydXB0ZWQgYnkgYW4gaW5jb21pbmcgc2lnbmFsLgorICAgQ29ycmVzcG9uZHMgdG8gOmM6ZGF0YTpgZXJybm9gIGBgRUVJTlRSYGAuCisKKy4uIGV4Y2VwdGlvbjo6IElzQURpcmVjdG9yeUVycm9yCisKKyAgIFJhaXNlZCB3aGVuIGEgZmlsZSBvcGVyYXRpb24gKHN1Y2ggYXMgOmZ1bmM6YG9zLnJlbW92ZWApIGlzIHJlcXVlc3RlZAorICAgb24gYSBkaXJlY3RvcnkuCisgICBDb3JyZXNwb25kcyB0byA6YzpkYXRhOmBlcnJub2AgYGBFSVNESVJgYC4KKworLi4gZXhjZXB0aW9uOjogTm90QURpcmVjdG9yeUVycm9yCisKKyAgIFJhaXNlZCB3aGVuIGEgZGlyZWN0b3J5IG9wZXJhdGlvbiAoc3VjaCBhcyA6ZnVuYzpgb3MubGlzdGRpcmApIGlzIHJlcXVlc3RlZAorICAgb24gc29tZXRoaW5nIHdoaWNoIGlzIG5vdCBhIGRpcmVjdG9yeS4KKyAgIENvcnJlc3BvbmRzIHRvIDpjOmRhdGE6YGVycm5vYCBgYEVOT1RESVJgYC4KKworLi4gZXhjZXB0aW9uOjogUGVybWlzc2lvbkVycm9yCisKKyAgIFJhaXNlZCB3aGVuIHRyeWluZyB0byBydW4gYW4gb3BlcmF0aW9uIHdpdGhvdXQgdGhlIGFkZXF1YXRlIGFjY2VzcworICAgcmlnaHRzIC0gZm9yIGV4YW1wbGUgZmlsZXN5c3RlbSBwZXJtaXNzaW9ucy4KKyAgIENvcnJlc3BvbmRzIHRvIDpjOmRhdGE6YGVycm5vYCBgYEVBQ0NFU2BgIGFuZCBgYEVQRVJNYGAuCisKKy4uIGV4Y2VwdGlvbjo6IFByb2Nlc3NMb29rdXBFcnJvcgorCisgICBSYWlzZWQgd2hlbiBhIGdpdmVuIHByb2Nlc3MgZG9lc24ndCBleGlzdC4KKyAgIENvcnJlc3BvbmRzIHRvIDpjOmRhdGE6YGVycm5vYCBgYEVTUkNIYGAuCisKKy4uIGV4Y2VwdGlvbjo6IFRpbWVvdXRFcnJvcgorCisgICBSYWlzZWQgd2hlbiBhIHN5c3RlbSBmdW5jdGlvbiB0aW1lZCBvdXQgYXQgdGhlIHN5c3RlbSBsZXZlbC4KKyAgIENvcnJlc3BvbmRzIHRvIDpjOmRhdGE6YGVycm5vYCBgYEVUSU1FRE9VVGBgLgorCisuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKKyAgIEFsbCB0aGUgYWJvdmUgOmV4YzpgT1NFcnJvcmAgc3ViY2xhc3NlcyB3ZXJlIGFkZGVkLgorCisKKy4uIHNlZWFsc286OgorCisgICA6cGVwOmAzMTUxYCAtIFJld29ya2luZyB0aGUgT1MgYW5kIElPIGV4Y2VwdGlvbiBoaWVyYXJjaHkKKyAgICAgIFBFUCB3cml0dGVuIGFuZCBpbXBsZW1lbnRlZCBieSBBbnRvaW5lIFBpdHJvdS4KKworCitXYXJuaW5ncworLS0tLS0tLS0KKwogVGhlIGZvbGxvd2luZyBleGNlcHRpb25zIGFyZSB1c2VkIGFzIHdhcm5pbmcgY2F0ZWdvcmllczsgc2VlIHRoZSA6bW9kOmB3YXJuaW5nc2AKIG1vZHVsZSBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KIApkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvZmF1bHRoYW5kbGVyLnJzdCBiL0RvYy9saWJyYXJ5L2ZhdWx0aGFuZGxlci5yc3QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzliOTU0NgotLS0gL2Rldi9udWxsCisrKyBiL0RvYy9saWJyYXJ5L2ZhdWx0aGFuZGxlci5yc3QKQEAgLTAsMCArMSwxMzYgQEAKKzptb2Q6YGZhdWx0aGFuZGxlcmAgLS0tIER1bXAgdGhlIFB5dGhvbiB0cmFjZWJhY2sKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworLi4gbW9kdWxlOjogZmF1bHRoYW5kbGVyCisgICA6c3lub3BzaXM6IER1bXAgdGhlIFB5dGhvbiB0cmFjZWJhY2suCisKK1RoaXMgbW9kdWxlIGNvbnRhaW5zIGZ1bmN0aW9ucyB0byBkdW1wIFB5dGhvbiB0cmFjZWJhY2tzIGV4cGxpY2l0bHksIG9uIGEgZmF1bHQsCithZnRlciBhIHRpbWVvdXQsIG9yIG9uIGEgdXNlciBzaWduYWwuIENhbGwgOmZ1bmM6YGZhdWx0aGFuZGxlci5lbmFibGVgIHRvCitpbnN0YWxsIGZhdWx0IGhhbmRsZXJzIGZvciB0aGUgOmNvbnN0OmBTSUdTRUdWYCwgOmNvbnN0OmBTSUdGUEVgLAorOmNvbnN0OmBTSUdBQlJUYCwgOmNvbnN0OmBTSUdCVVNgLCBhbmQgOmNvbnN0OmBTSUdJTExgIHNpZ25hbHMuIFlvdSBjYW4gYWxzbworZW5hYmxlIHRoZW0gYXQgc3RhcnR1cCBieSBzZXR0aW5nIHRoZSA6ZW52dmFyOmBQWVRIT05GQVVMVEhBTkRMRVJgIGVudmlyb25tZW50Cit2YXJpYWJsZSBvciBieSB1c2luZyA6b3B0aW9uOmAtWGAgYGBmYXVsdGhhbmRsZXJgYCBjb21tYW5kIGxpbmUgb3B0aW9uLgorCitUaGUgZmF1bHQgaGFuZGxlciBpcyBjb21wYXRpYmxlIHdpdGggc3lzdGVtIGZhdWx0IGhhbmRsZXJzIGxpa2UgQXBwb3J0IG9yIHRoZQorV2luZG93cyBmYXVsdCBoYW5kbGVyLiBUaGUgbW9kdWxlIHVzZXMgYW4gYWx0ZXJuYXRpdmUgc3RhY2sgZm9yIHNpZ25hbCBoYW5kbGVycworaWYgdGhlIDpjOmZ1bmM6YHNpZ2FsdHN0YWNrYCBmdW5jdGlvbiBpcyBhdmFpbGFibGUuIFRoaXMgYWxsb3dzIGl0IHRvIGR1bXAgdGhlCit0cmFjZWJhY2sgZXZlbiBvbiBhIHN0YWNrIG92ZXJmbG93LgorCitUaGUgZmF1bHQgaGFuZGxlciBpcyBjYWxsZWQgb24gY2F0YXN0cm9waGljIGNhc2VzIGFuZCB0aGVyZWZvcmUgY2FuIG9ubHkgdXNlCitzaWduYWwtc2FmZSBmdW5jdGlvbnMgKGUuZy4gaXQgY2Fubm90IGFsbG9jYXRlIG1lbW9yeSBvbiB0aGUgaGVhcCkuIEJlY2F1c2Ugb2YKK3RoaXMgbGltaXRhdGlvbiB0cmFjZWJhY2sgZHVtcGluZyBpcyBtaW5pbWFsIGNvbXBhcmVkIHRvIG5vcm1hbCBQeXRob24KK3RyYWNlYmFja3M6CisKKyogT25seSBBU0NJSSBpcyBzdXBwb3J0ZWQuIFRoZSBgYGJhY2tzbGFzaHJlcGxhY2VgYCBlcnJvciBoYW5kbGVyIGlzIHVzZWQgb24KKyAgZW5jb2RpbmcuCisqIEVhY2ggc3RyaW5nIGlzIGxpbWl0ZWQgdG8gMTAwIGNoYXJhY3RlcnMuCisqIE9ubHkgdGhlIGZpbGVuYW1lLCB0aGUgZnVuY3Rpb24gbmFtZSBhbmQgdGhlIGxpbmUgbnVtYmVyIGFyZQorICBkaXNwbGF5ZWQuIChubyBzb3VyY2UgY29kZSkKKyogSXQgaXMgbGltaXRlZCB0byAxMDAgZnJhbWVzIGFuZCAxMDAgdGhyZWFkcy4KKworQnkgZGVmYXVsdCwgdGhlIFB5dGhvbiB0cmFjZWJhY2sgaXMgd3JpdHRlbiB0byA6ZGF0YTpgc3lzLnN0ZGVycmAuIFRvIHNlZQordHJhY2ViYWNrcywgYXBwbGljYXRpb25zIG11c3QgYmUgcnVuIGluIHRoZSB0ZXJtaW5hbC4gQSBsb2cgZmlsZSBjYW4KK2FsdGVybmF0aXZlbHkgYmUgcGFzc2VkIHRvIDpmdW5jOmBmYXVsdGhhbmRsZXIuZW5hYmxlYC4KKworVGhlIG1vZHVsZSBpcyBpbXBsZW1lbnRlZCBpbiBDLCBzbyB0cmFjZWJhY2tzIGNhbiBiZSBkdW1wZWQgb24gYSBjcmFzaCBvciB3aGVuCitQeXRob24gaXMgZGVhZGxvY2tlZC4KKworLi4gdmVyc2lvbmFkZGVkOjogMy4zCisKKworRHVtcCB0aGUgdHJhY2ViYWNrCistLS0tLS0tLS0tLS0tLS0tLS0KKworLi4gZnVuY3Rpb246OiBkdW1wX3RyYWNlYmFjayhmaWxlPXN5cy5zdGRlcnIsIGFsbF90aHJlYWRzPVRydWUpCisKKyAgIER1bXAgdGhlIHRyYWNlYmFja3Mgb2YgYWxsIHRocmVhZHMgaW50byAqZmlsZSouIElmICphbGxfdGhyZWFkcyogaXMKKyAgIGBgRmFsc2VgYCwgZHVtcCBvbmx5IHRoZSBjdXJyZW50IHRocmVhZC4KKworCitGYXVsdCBoYW5kbGVyIHN0YXRlCistLS0tLS0tLS0tLS0tLS0tLS0tCisKKy4uIGZ1bmN0aW9uOjogZW5hYmxlKGZpbGU9c3lzLnN0ZGVyciwgYWxsX3RocmVhZHM9VHJ1ZSkKKworICAgRW5hYmxlIHRoZSBmYXVsdCBoYW5kbGVyOiBpbnN0YWxsIGhhbmRsZXJzIGZvciB0aGUgOmNvbnN0OmBTSUdTRUdWYCwKKyAgIDpjb25zdDpgU0lHRlBFYCwgOmNvbnN0OmBTSUdBQlJUYCwgOmNvbnN0OmBTSUdCVVNgIGFuZCA6Y29uc3Q6YFNJR0lMTGAKKyAgIHNpZ25hbHMgdG8gZHVtcCB0aGUgUHl0aG9uIHRyYWNlYmFjay4gSWYgKmFsbF90aHJlYWRzKiBpcyBgYFRydWVgYCwKKyAgIHByb2R1Y2UgdHJhY2ViYWNrcyBmb3IgZXZlcnkgcnVubmluZyB0aHJlYWQuIE90aGVyd2lzZSwgZHVtcCBvbmx5IHRoZSBjdXJyZW50CisgICB0aHJlYWQuCisKKy4uIGZ1bmN0aW9uOjogZGlzYWJsZSgpCisKKyAgIERpc2FibGUgdGhlIGZhdWx0IGhhbmRsZXI6IHVuaW5zdGFsbCB0aGUgc2lnbmFsIGhhbmRsZXJzIGluc3RhbGxlZCBieQorICAgOmZ1bmM6YGVuYWJsZWAuCisKKy4uIGZ1bmN0aW9uOjogaXNfZW5hYmxlZCgpCisKKyAgIENoZWNrIGlmIHRoZSBmYXVsdCBoYW5kbGVyIGlzIGVuYWJsZWQuCisKKworRHVtcCB0aGUgdHJhY2ViYWNrcyBhZnRlciBhIHRpbWVvdXQKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKy4uIGZ1bmN0aW9uOjogZHVtcF90cmFjZWJhY2tzX2xhdGVyKHRpbWVvdXQsIHJlcGVhdD1GYWxzZSwgZmlsZT1zeXMuc3RkZXJyLCBleGl0PUZhbHNlKQorCisgICBEdW1wIHRoZSB0cmFjZWJhY2tzIG9mIGFsbCB0aHJlYWRzLCBhZnRlciBhIHRpbWVvdXQgb2YgKnRpbWVvdXQqIHNlY29uZHMsIG9yCisgICBldmVyeSAqdGltZW91dCogc2Vjb25kcyBpZiAqcmVwZWF0KiBpcyBgYFRydWVgYC4gIElmICpleGl0KiBpcyBgYFRydWVgYCwgY2FsbAorICAgOmM6ZnVuYzpgX2V4aXRgIHdpdGggc3RhdHVzPTEgYWZ0ZXIgZHVtcGluZyB0aGUgdHJhY2ViYWNrcy4gIChOb3RlCisgICA6YzpmdW5jOmBfZXhpdGAgZXhpdHMgdGhlIHByb2Nlc3MgaW1tZWRpYXRlbHksIHdoaWNoIG1lYW5zIGl0IGRvZXNuJ3QgZG8gYW55CisgICBjbGVhbnVwIGxpa2UgZmx1c2hpbmcgZmlsZSBidWZmZXJzLikgSWYgdGhlIGZ1bmN0aW9uIGlzIGNhbGxlZCB0d2ljZSwgdGhlIG5ldworICAgY2FsbCByZXBsYWNlcyBwcmV2aW91cyBwYXJhbWV0ZXJzIGFuZCByZXNldHMgdGhlIHRpbWVvdXQuIFRoZSB0aW1lciBoYXMgYQorICAgc3ViLXNlY29uZCByZXNvbHV0aW9uLgorCisgICBUaGlzIGZ1bmN0aW9uIGlzIGltcGxlbWVudGVkIHVzaW5nIGEgd2F0Y2hkb2cgdGhyZWFkIGFuZCB0aGVyZWZvcmUgaXMgbm90CisgICBhdmFpbGFibGUgaWYgUHl0aG9uIGlzIGNvbXBpbGVkIHdpdGggdGhyZWFkcyBkaXNhYmxlZC4KKworLi4gZnVuY3Rpb246OiBjYW5jZWxfZHVtcF90cmFjZWJhY2tzX2xhdGVyKCkKKworICAgQ2FuY2VsIHRoZSBsYXN0IGNhbGwgdG8gOmZ1bmM6YGR1bXBfdHJhY2ViYWNrc19sYXRlcmAuCisKKworRHVtcCB0aGUgdHJhY2ViYWNrIG9uIGEgdXNlciBzaWduYWwKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKy4uIGZ1bmN0aW9uOjogcmVnaXN0ZXIoc2lnbnVtLCBmaWxlPXN5cy5zdGRlcnIsIGFsbF90aHJlYWRzPVRydWUsIGNoYWluPUZhbHNlKQorCisgICBSZWdpc3RlciBhIHVzZXIgc2lnbmFsOiBpbnN0YWxsIGEgaGFuZGxlciBmb3IgdGhlICpzaWdudW0qIHNpZ25hbCB0byBkdW1wCisgICB0aGUgdHJhY2ViYWNrIG9mIGFsbCB0aHJlYWRzLCBvciBvZiB0aGUgY3VycmVudCB0aHJlYWQgaWYgKmFsbF90aHJlYWRzKiBpcworICAgYGBGYWxzZWBgLCBpbnRvICpmaWxlKi4gQ2FsbCB0aGUgcHJldmlvdXMgaGFuZGxlciBpZiBjaGFpbiBpcyBgYFRydWVgYC4KKworICAgTm90IGF2YWlsYWJsZSBvbiBXaW5kb3dzLgorCisuLiBmdW5jdGlvbjo6IHVucmVnaXN0ZXIoc2lnbnVtKQorCisgICBVbnJlZ2lzdGVyIGEgdXNlciBzaWduYWw6IHVuaW5zdGFsbCB0aGUgaGFuZGxlciBvZiB0aGUgKnNpZ251bSogc2lnbmFsCisgICBpbnN0YWxsZWQgYnkgOmZ1bmM6YHJlZ2lzdGVyYC4gUmV0dXJuIGBgVHJ1ZWBgIGlmIHRoZSBzaWduYWwgd2FzIHJlZ2lzdGVyZWQsCisgICBgYEZhbHNlYGAgb3RoZXJ3aXNlLgorCisgICBOb3QgYXZhaWxhYmxlIG9uIFdpbmRvd3MuCisKKworRmlsZSBkZXNjcmlwdG9yIGlzc3VlCistLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworOmZ1bmM6YGVuYWJsZWAsIDpmdW5jOmBkdW1wX3RyYWNlYmFja3NfbGF0ZXJgIGFuZCA6ZnVuYzpgcmVnaXN0ZXJgIGtlZXAgdGhlCitmaWxlIGRlc2NyaXB0b3Igb2YgdGhlaXIgKmZpbGUqIGFyZ3VtZW50LiBJZiB0aGUgZmlsZSBpcyBjbG9zZWQgYW5kIGl0cyBmaWxlCitkZXNjcmlwdG9yIGlzIHJldXNlZCBieSBhIG5ldyBmaWxlLCBvciBpZiA6ZnVuYzpgb3MuZHVwMmAgaXMgdXNlZCB0byByZXBsYWNlCit0aGUgZmlsZSBkZXNjcmlwdG9yLCB0aGUgdHJhY2ViYWNrIHdpbGwgYmUgd3JpdHRlbiBpbnRvIGEgZGlmZmVyZW50IGZpbGUuIENhbGwKK3RoZXNlIGZ1bmN0aW9ucyBhZ2FpbiBlYWNoIHRpbWUgdGhhdCB0aGUgZmlsZSBpcyByZXBsYWNlZC4KKworCitFeGFtcGxlCistLS0tLS0tCisKK0V4YW1wbGUgb2YgYSBzZWdtZW50YXRpb24gZmF1bHQgb24gTGludXg6IDo6CisKKyAgICAkIHB5dGhvbiAtcSAtWCBmYXVsdGhhbmRsZXIKKyAgICA+Pj4gaW1wb3J0IGN0eXBlcworICAgID4+PiBjdHlwZXMuc3RyaW5nX2F0KDApCisgICAgRmF0YWwgUHl0aG9uIGVycm9yOiBTZWdtZW50YXRpb24gZmF1bHQKKworICAgIEN1cnJlbnQgdGhyZWFkIDB4MDAwMDdmYjg5OWYzOTcwMDoKKyAgICAgIEZpbGUgIi9ob21lL3B5dGhvbi9jcHl0aG9uL0xpYi9jdHlwZXMvX19pbml0X18ucHkiLCBsaW5lIDQ4NiBpbiBzdHJpbmdfYXQKKyAgICAgIEZpbGUgIjxzdGRpbj4iLCBsaW5lIDEgaW4gPG1vZHVsZT4KKyAgICBTZWdtZW50YXRpb24gZmF1bHQKKwpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvZmNudGwucnN0IGIvRG9jL2xpYnJhcnkvZmNudGwucnN0CmluZGV4IDYxOTI0MDAuLjlhOWNkYzEgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L2ZjbnRsLnJzdAorKysgYi9Eb2MvbGlicmFyeS9mY250bC5yc3QKQEAgLTE5LDYgKzE5LDExIEBACiBgYHN5cy5zdGRpbi5maWxlbm8oKWBgLCBvciBhIDpjbGFzczpgaW8uSU9CYXNlYCBvYmplY3QsIHN1Y2ggYXMgYGBzeXMuc3RkaW5gYAogaXRzZWxmLCB3aGljaCBwcm92aWRlcyBhIDptZXRoOmBmaWxlbm9gIHRoYXQgcmV0dXJucyBhIGdlbnVpbmUgZmlsZSBkZXNjcmlwdG9yLgogCisuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMworICAgT3BlcmF0aW9ucyBpbiB0aGlzIG1vZHVsZSB1c2VkIHRvIHJhaXNlIGEgOmV4YzpgSU9FcnJvcmAgd2hlcmUgdGhleSBub3cKKyAgIHJhaXNlIGEgOmV4YzpgT1NFcnJvcmAuCisKKwogVGhlIG1vZHVsZSBkZWZpbmVzIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb25zOgogCiAKQEAgLTQwLDcgKzQ1LDcgQEAKICAgIGxhcmdlciB0aGFuIDEwMjQgYnl0ZXMsIHRoaXMgaXMgbW9zdCBsaWtlbHkgdG8gcmVzdWx0IGluIGEgc2VnbWVudGF0aW9uCiAgICB2aW9sYXRpb24gb3IgYSBtb3JlIHN1YnRsZSBkYXRhIGNvcnJ1cHRpb24uCiAKLSAgIElmIHRoZSA6YzpmdW5jOmBmY250bGAgZmFpbHMsIGFuIDpleGM6YElPRXJyb3JgIGlzIHJhaXNlZC4KKyAgIElmIHRoZSA6YzpmdW5jOmBmY250bGAgZmFpbHMsIGFuIDpleGM6YE9TRXJyb3JgIGlzIHJhaXNlZC4KIAogCiAuLiBmdW5jdGlvbjo6IGlvY3RsKGZkLCBvcFssIGFyZ1ssIG11dGF0ZV9mbGFnXV0pCkBAIC0xMDcsNyArMTEyLDcgQEAKICAgIFdoZW4gKm9wZXJhdGlvbiogaXMgOmNvbnN0OmBMT0NLX1NIYCBvciA6Y29uc3Q6YExPQ0tfRVhgLCBpdCBjYW4gYWxzbyBiZQogICAgYml0d2lzZSBPUmVkIHdpdGggOmNvbnN0OmBMT0NLX05CYCB0byBhdm9pZCBibG9ja2luZyBvbiBsb2NrIGFjcXVpc2l0aW9uLgogICAgSWYgOmNvbnN0OmBMT0NLX05CYCBpcyB1c2VkIGFuZCB0aGUgbG9jayBjYW5ub3QgYmUgYWNxdWlyZWQsIGFuCi0gICA6ZXhjOmBJT0Vycm9yYCB3aWxsIGJlIHJhaXNlZCBhbmQgdGhlIGV4Y2VwdGlvbiB3aWxsIGhhdmUgYW4gKmVycm5vKgorICAgOmV4YzpgT1NFcnJvcmAgd2lsbCBiZSByYWlzZWQgYW5kIHRoZSBleGNlcHRpb24gd2lsbCBoYXZlIGFuICplcnJubyoKICAgIGF0dHJpYnV0ZSBzZXQgdG8gOmNvbnN0OmBFQUNDRVNgIG9yIDpjb25zdDpgRUFHQUlOYCAoZGVwZW5kaW5nIG9uIHRoZQogICAgb3BlcmF0aW5nIHN5c3RlbTsgZm9yIHBvcnRhYmlsaXR5LCBjaGVjayBmb3IgYm90aCB2YWx1ZXMpLiAgT24gYXQgbGVhc3Qgc29tZQogICAgc3lzdGVtcywgOmNvbnN0OmBMT0NLX0VYYCBjYW4gb25seSBiZSB1c2VkIGlmIHRoZSBmaWxlIGRlc2NyaXB0b3IgcmVmZXJzIHRvIGEKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L2ZpbGVpbnB1dC5yc3QgYi9Eb2MvbGlicmFyeS9maWxlaW5wdXQucnN0CmluZGV4IGFjNDQzMTEuLmY4ZWM0MzYgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L2ZpbGVpbnB1dC5yc3QKKysrIGIvRG9jL2xpYnJhcnkvZmlsZWlucHV0LnJzdApAQCAtMjgsNyArMjgsMTAgQEAKIEFsbCBmaWxlcyBhcmUgb3BlbmVkIGluIHRleHQgbW9kZSBieSBkZWZhdWx0LCBidXQgeW91IGNhbiBvdmVycmlkZSB0aGlzIGJ5CiBzcGVjaWZ5aW5nIHRoZSAqbW9kZSogcGFyYW1ldGVyIGluIHRoZSBjYWxsIHRvIDpmdW5jOmAuaW5wdXRgIG9yCiA6Y2xhc3M6YEZpbGVJbnB1dGAuICBJZiBhbiBJL08gZXJyb3Igb2NjdXJzIGR1cmluZyBvcGVuaW5nIG9yIHJlYWRpbmcgYSBmaWxlLAotOmV4YzpgSU9FcnJvcmAgaXMgcmFpc2VkLgorOmV4YzpgT1NFcnJvcmAgaXMgcmFpc2VkLgorCisuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMworICAgOmV4YzpgSU9FcnJvcmAgdXNlZCB0byBiZSByYWlzZWQ7IGl0IGlzIG5vdyBhbiBhbGlhcyBvZiA6ZXhjOmBPU0Vycm9yYC4KIAogSWYgYGBzeXMuc3RkaW5gYCBpcyB1c2VkIG1vcmUgdGhhbiBvbmNlLCB0aGUgc2Vjb25kIGFuZCBmdXJ0aGVyIHVzZSB3aWxsIHJldHVybgogbm8gbGluZXMsIGV4Y2VwdCBwZXJoYXBzIGZvciBpbnRlcmFjdGl2ZSB1c2UsIG9yIGlmIGl0IGhhcyBiZWVuIGV4cGxpY2l0bHkgcmVzZXQKQEAgLTE2OCwxMCArMTcxLDYgQEAKIGl0IGlzIGRlbGV0ZWQgd2hlbiB0aGUgb3V0cHV0IGZpbGUgaXMgY2xvc2VkLiAgSW4tcGxhY2UgZmlsdGVyaW5nIGlzIGRpc2FibGVkCiB3aGVuIHN0YW5kYXJkIGlucHV0IGlzIHJlYWQuCiAKLS4uIG5vdGU6OgotCi0gICBUaGUgY3VycmVudCBpbXBsZW1lbnRhdGlvbiBkb2VzIG5vdCB3b3JrIGZvciBNUy1ET1MgOCszIGZpbGVzeXN0ZW1zLgotCiAKIFRoZSB0d28gZm9sbG93aW5nIG9wZW5pbmcgaG9va3MgYXJlIHByb3ZpZGVkIGJ5IHRoaXMgbW9kdWxlOgogCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9mdHBsaWIucnN0IGIvRG9jL2xpYnJhcnkvZnRwbGliLnJzdAppbmRleCA1YmJlZjRmLi4zY2MyOTVhIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9mdHBsaWIucnN0CisrKyBiL0RvYy9saWJyYXJ5L2Z0cGxpYi5yc3QKQEAgLTQwLDcgKzQwLDcgQEAKIAogVGhlIG1vZHVsZSBkZWZpbmVzIHRoZSBmb2xsb3dpbmcgaXRlbXM6CiAKLS4uIGNsYXNzOjogRlRQKGhvc3Q9JycsIHVzZXI9JycsIHBhc3N3ZD0nJywgYWNjdD0nJ1ssIHRpbWVvdXRdKQorLi4gY2xhc3M6OiBGVFAoaG9zdD0nJywgdXNlcj0nJywgcGFzc3dkPScnLCBhY2N0PScnLCB0aW1lb3V0PU5vbmUsIHNvdXJjZV9hZGRyZXNzPU5vbmUpCiAKICAgIFJldHVybiBhIG5ldyBpbnN0YW5jZSBvZiB0aGUgOmNsYXNzOmBGVFBgIGNsYXNzLiAgV2hlbiAqaG9zdCogaXMgZ2l2ZW4sIHRoZQogICAgbWV0aG9kIGNhbGwgYGBjb25uZWN0KGhvc3QpYGAgaXMgbWFkZS4gIFdoZW4gKnVzZXIqIGlzIGdpdmVuLCBhZGRpdGlvbmFsbHkKQEAgLTQ4LDcgKzQ4LDggQEAKICAgICphY2N0KiBkZWZhdWx0IHRvIHRoZSBlbXB0eSBzdHJpbmcgd2hlbiBub3QgZ2l2ZW4pLiAgVGhlIG9wdGlvbmFsICp0aW1lb3V0KgogICAgcGFyYW1ldGVyIHNwZWNpZmllcyBhIHRpbWVvdXQgaW4gc2Vjb25kcyBmb3IgYmxvY2tpbmcgb3BlcmF0aW9ucyBsaWtlIHRoZQogICAgY29ubmVjdGlvbiBhdHRlbXB0IChpZiBpcyBub3Qgc3BlY2lmaWVkLCB0aGUgZ2xvYmFsIGRlZmF1bHQgdGltZW91dCBzZXR0aW5nCi0gICB3aWxsIGJlIHVzZWQpLgorICAgd2lsbCBiZSB1c2VkKS4gKnNvdXJjZV9hZGRyZXNzKiBpcyBhIDItdHVwbGUgYGAoaG9zdCwgcG9ydClgYCBmb3IgdGhlIHNvY2tldAorICAgdG8gYmluZCB0byBhcyBpdHMgc291cmNlIGFkZHJlc3MgYmVmb3JlIGNvbm5lY3RpbmcuCiAKICAgIDpjbGFzczpgRlRQYCBjbGFzcyBzdXBwb3J0cyB0aGUgOmtleXdvcmQ6YHdpdGhgIHN0YXRlbWVudC4gSGVyZSBpcyBhIHNhbXBsZQogICAgb24gaG93IHVzaW5nIGl0OgpAQCAtNjgsOCArNjksMTEgQEAKICAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy4yCiAgICAgICBTdXBwb3J0IGZvciB0aGUgOmtleXdvcmQ6YHdpdGhgIHN0YXRlbWVudCB3YXMgYWRkZWQuCiAKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy4zCisgICAgICAqc291cmNlX2FkZHJlc3MqIHBhcmFtZXRlciB3YXMgYWRkZWQuCiAKLS4uIGNsYXNzOjogRlRQX1RMUyhob3N0PScnLCB1c2VyPScnLCBwYXNzd2Q9JycsIGFjY3Q9JycsIFtrZXlmaWxlWywgY2VydGZpbGVbLCBjb250ZXh0WywgdGltZW91dF1dXV0pCisKKy4uIGNsYXNzOjogRlRQX1RMUyhob3N0PScnLCB1c2VyPScnLCBwYXNzd2Q9JycsIGFjY3Q9JycsIGtleWZpbGU9Tm9uZSwgY2VydGZpbGU9Tm9uZSwgY29udGV4dD1Ob25lLCB0aW1lb3V0PU5vbmUsIHNvdXJjZV9hZGRyZXNzPU5vbmUpCiAKICAgIEEgOmNsYXNzOmBGVFBgIHN1YmNsYXNzIHdoaWNoIGFkZHMgVExTIHN1cHBvcnQgdG8gRlRQIGFzIGRlc2NyaWJlZCBpbgogICAgOnJmYzpgNDIxN2AuCkBAIC04MCwxMCArODQsMTUgQEAKICAgIHByaXZhdGUga2V5IGFuZCBjZXJ0aWZpY2F0ZSBjaGFpbiBmaWxlIG5hbWUgZm9yIHRoZSBTU0wgY29ubmVjdGlvbi4KICAgICpjb250ZXh0KiBwYXJhbWV0ZXIgaXMgYSA6Y2xhc3M6YHNzbC5TU0xDb250ZXh0YCBvYmplY3Qgd2hpY2ggYWxsb3dzCiAgICBidW5kbGluZyBTU0wgY29uZmlndXJhdGlvbiBvcHRpb25zLCBjZXJ0aWZpY2F0ZXMgYW5kIHByaXZhdGUga2V5cyBpbnRvIGEKLSAgIHNpbmdsZSAocG90ZW50aWFsbHkgbG9uZy1saXZlZCkgc3RydWN0dXJlLgorICAgc2luZ2xlIChwb3RlbnRpYWxseSBsb25nLWxpdmVkKSBzdHJ1Y3R1cmUuICpzb3VyY2VfYWRkcmVzcyogaXMgYSAyLXR1cGxlCisgICBgYChob3N0LCBwb3J0KWBgIGZvciB0aGUgc29ja2V0IHRvIGJpbmQgdG8gYXMgaXRzIHNvdXJjZSBhZGRyZXNzIGJlZm9yZQorICAgY29ubmVjdGluZy4KIAogICAgLi4gdmVyc2lvbmFkZGVkOjogMy4yCiAKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy4zCisgICAgICAqc291cmNlX2FkZHJlc3MqIHBhcmFtZXRlciB3YXMgYWRkZWQuCisKICAgIEhlcmUncyBhIHNhbXBsZSBzZXNzaW9uIHVzaW5nIHRoZSA6Y2xhc3M6YEZUUF9UTFNgIGNsYXNzOgogCiAgICA+Pj4gZnJvbSBmdHBsaWIgaW1wb3J0IEZUUF9UTFMKQEAgLTEzNSw4ICsxNDQsNyBAQAogICAgVGhlIHNldCBvZiBhbGwgZXhjZXB0aW9ucyAoYXMgYSB0dXBsZSkgdGhhdCBtZXRob2RzIG9mIDpjbGFzczpgRlRQYAogICAgaW5zdGFuY2VzIG1heSByYWlzZSBhcyBhIHJlc3VsdCBvZiBwcm9ibGVtcyB3aXRoIHRoZSBGVFAgY29ubmVjdGlvbiAoYXMKICAgIG9wcG9zZWQgdG8gcHJvZ3JhbW1pbmcgZXJyb3JzIG1hZGUgYnkgdGhlIGNhbGxlcikuICBUaGlzIHNldCBpbmNsdWRlcyB0aGUKLSAgIGZvdXIgZXhjZXB0aW9ucyBsaXN0ZWQgYWJvdmUgYXMgd2VsbCBhcyA6ZXhjOmBzb2NrZXQuZXJyb3JgIGFuZAotICAgOmV4YzpgSU9FcnJvcmAuCisgICBmb3VyIGV4Y2VwdGlvbnMgbGlzdGVkIGFib3ZlIGFzIHdlbGwgYXMgOmV4YzpgT1NFcnJvcmAuCiAKIAogLi4gc2VlYWxzbzo6CkBAIC0xNzQsNyArMTgyLDcgQEAKICAgIGRlYnVnZ2luZyBvdXRwdXQsIGxvZ2dpbmcgZWFjaCBsaW5lIHNlbnQgYW5kIHJlY2VpdmVkIG9uIHRoZSBjb250cm9sIGNvbm5lY3Rpb24uCiAKIAotLi4gbWV0aG9kOjogRlRQLmNvbm5lY3QoaG9zdD0nJywgcG9ydD0wWywgdGltZW91dF0pCisuLiBtZXRob2Q6OiBGVFAuY29ubmVjdChob3N0PScnLCBwb3J0PTAsIHRpbWVvdXQ9Tm9uZSwgc291cmNlX2FkZHJlc3M9Tm9uZSkKIAogICAgQ29ubmVjdCB0byB0aGUgZ2l2ZW4gaG9zdCBhbmQgcG9ydC4gIFRoZSBkZWZhdWx0IHBvcnQgbnVtYmVyIGlzIGBgMjFgYCwgYXMKICAgIHNwZWNpZmllZCBieSB0aGUgRlRQIHByb3RvY29sIHNwZWNpZmljYXRpb24uICBJdCBpcyByYXJlbHkgbmVlZGVkIHRvIHNwZWNpZnkgYQpAQCAtMTgyLDEwICsxOTAsMTQgQEAKICAgIGluc3RhbmNlOyBpdCBzaG91bGQgbm90IGJlIGNhbGxlZCBhdCBhbGwgaWYgYSBob3N0IHdhcyBnaXZlbiB3aGVuIHRoZSBpbnN0YW5jZQogICAgd2FzIGNyZWF0ZWQuICBBbGwgb3RoZXIgbWV0aG9kcyBjYW4gb25seSBiZSB1c2VkIGFmdGVyIGEgY29ubmVjdGlvbiBoYXMgYmVlbgogICAgbWFkZS4KLQogICAgVGhlIG9wdGlvbmFsICp0aW1lb3V0KiBwYXJhbWV0ZXIgc3BlY2lmaWVzIGEgdGltZW91dCBpbiBzZWNvbmRzIGZvciB0aGUKICAgIGNvbm5lY3Rpb24gYXR0ZW1wdC4gSWYgbm8gKnRpbWVvdXQqIGlzIHBhc3NlZCwgdGhlIGdsb2JhbCBkZWZhdWx0IHRpbWVvdXQKICAgIHNldHRpbmcgd2lsbCBiZSB1c2VkLgorICAgKnNvdXJjZV9hZGRyZXNzKiBpcyBhIDItdHVwbGUgYGAoaG9zdCwgcG9ydClgYCBmb3IgdGhlIHNvY2tldCB0byBiaW5kIHRvIGFzCisgICBpdHMgc291cmNlIGFkZHJlc3MgYmVmb3JlIGNvbm5lY3RpbmcuCisKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy4zCisgICAgICAqc291cmNlX2FkZHJlc3MqIHBhcmFtZXRlciB3YXMgYWRkZWQuCiAKIAogLi4gbWV0aG9kOjogRlRQLmdldHdlbGNvbWUoKQpAQCAtMjQxLDEzICsyNTMsMTIgQEAKIAogICAgUmV0cmlldmUgYSBmaWxlIG9yIGRpcmVjdG9yeSBsaXN0aW5nIGluIEFTQ0lJIHRyYW5zZmVyIG1vZGUuICAqY21kKiBzaG91bGQgYmUKICAgIGFuIGFwcHJvcHJpYXRlIGBgUkVUUmBgIGNvbW1hbmQgKHNlZSA6bWV0aDpgcmV0cmJpbmFyeWApIG9yIGEgY29tbWFuZCBzdWNoIGFzCi0gICBgYExJU1RgYCwgYGBOTFNUYGAgb3IgYGBNTFNEYGAgKHVzdWFsbHkganVzdCB0aGUgc3RyaW5nIGBgJ0xJU1QnYGApLgorICAgYGBMSVNUYGAgb3IgYGBOTFNUYGAgKHVzdWFsbHkganVzdCB0aGUgc3RyaW5nIGBgJ0xJU1QnYGApLgogICAgYGBMSVNUYGAgcmV0cmlldmVzIGEgbGlzdCBvZiBmaWxlcyBhbmQgaW5mb3JtYXRpb24gYWJvdXQgdGhvc2UgZmlsZXMuCi0gICBgYE5MU1RgYCByZXRyaWV2ZXMgYSBsaXN0IG9mIGZpbGUgbmFtZXMuICBPbiBzb21lIHNlcnZlcnMsIGBgTUxTRGBgIHJldHJpZXZlcwotICAgYSBtYWNoaW5lIHJlYWRhYmxlIGxpc3Qgb2YgZmlsZXMgYW5kIGluZm9ybWF0aW9uIGFib3V0IHRob3NlIGZpbGVzLiAgVGhlCi0gICAqY2FsbGJhY2sqIGZ1bmN0aW9uIGlzIGNhbGxlZCBmb3IgZWFjaCBsaW5lIHdpdGggYSBzdHJpbmcgYXJndW1lbnQgY29udGFpbmluZwotICAgdGhlIGxpbmUgd2l0aCB0aGUgdHJhaWxpbmcgQ1JMRiBzdHJpcHBlZC4gIFRoZSBkZWZhdWx0ICpjYWxsYmFjayogcHJpbnRzIHRoZQotICAgbGluZSB0byBgYHN5cy5zdGRvdXRgYC4KKyAgIGBgTkxTVGBgIHJldHJpZXZlcyBhIGxpc3Qgb2YgZmlsZSBuYW1lcy4KKyAgIFRoZSAqY2FsbGJhY2sqIGZ1bmN0aW9uIGlzIGNhbGxlZCBmb3IgZWFjaCBsaW5lIHdpdGggYSBzdHJpbmcgYXJndW1lbnQKKyAgIGNvbnRhaW5pbmcgdGhlIGxpbmUgd2l0aCB0aGUgdHJhaWxpbmcgQ1JMRiBzdHJpcHBlZC4gIFRoZSBkZWZhdWx0ICpjYWxsYmFjayoKKyAgIHByaW50cyB0aGUgbGluZSB0byBgYHN5cy5zdGRvdXRgYC4KIAogCiAuLiBtZXRob2Q6OiBGVFAuc2V0X3Bhc3YoYm9vbGVhbikKQEAgLTMwNyw2ICszMTgsMjAgQEAKICAgIGluIDptZXRoOmB0cmFuc2ZlcmNtZGAuCiAKIAorLi4gbWV0aG9kOjogRlRQLm1sc2QocGF0aD0iIiwgZmFjdHM9W10pCisKKyAgIExpc3QgYSBkaXJlY3RvcnkgaW4gYSBzdGFuZGFyZGl6ZWQgZm9ybWF0IGJ5IHVzaW5nIE1MU0QgY29tbWFuZAorICAgKDpyZmM6YDM2NTlgKS4gIElmICpwYXRoKiBpcyBvbWl0dGVkIHRoZSBjdXJyZW50IGRpcmVjdG9yeSBpcyBhc3N1bWVkLgorICAgKmZhY3RzKiBpcyBhIGxpc3Qgb2Ygc3RyaW5ncyByZXByZXNlbnRpbmcgdGhlIHR5cGUgb2YgaW5mb3JtYXRpb24gZGVzaXJlZAorICAgKGUuZy4gYGBbInR5cGUiLCAic2l6ZSIsICJwZXJtIl1gYCkuICBSZXR1cm4gYSBnZW5lcmF0b3Igb2JqZWN0IHlpZWxkaW5nIGEKKyAgIHR1cGxlIG9mIHR3byBlbGVtZW50cyBmb3IgZXZlcnkgZmlsZSBmb3VuZCBpbiBwYXRoLiAgRmlyc3QgZWxlbWVudCBpcyB0aGUKKyAgIGZpbGUgbmFtZSwgdGhlIHNlY29uZCBvbmUgaXMgYSBkaWN0aW9uYXJ5IGNvbnRhaW5pbmcgZmFjdHMgYWJvdXQgdGhlIGZpbGUKKyAgIG5hbWUuICBDb250ZW50IG9mIHRoaXMgZGljdGlvbmFyeSBtaWdodCBiZSBsaW1pdGVkIGJ5IHRoZSAqZmFjdHMqIGFyZ3VtZW50CisgICBidXQgc2VydmVyIGlzIG5vdCBndWFyYW50ZWVkIHRvIHJldHVybiBhbGwgcmVxdWVzdGVkIGZhY3RzLgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKKworCiAuLiBtZXRob2Q6OiBGVFAubmxzdChhcmd1bWVudFssIC4uLl0pCiAKICAgIFJldHVybiBhIGxpc3Qgb2YgZmlsZSBuYW1lcyBhcyByZXR1cm5lZCBieSB0aGUgYGBOTFNUYGAgY29tbWFuZC4gIFRoZQpAQCAtMzE0LDYgKzMzOSw4IEBACiAgICBkaXJlY3RvcnkpLiAgTXVsdGlwbGUgYXJndW1lbnRzIGNhbiBiZSB1c2VkIHRvIHBhc3Mgbm9uLXN0YW5kYXJkIG9wdGlvbnMgdG8KICAgIHRoZSBgYE5MU1RgYCBjb21tYW5kLgogCisgICAuLiBkZXByZWNhdGVkOjogMy4zIHVzZSA6bWV0aDpgbWxzZGAgaW5zdGVhZC4KKwogCiAuLiBtZXRob2Q6OiBGVFAuZGlyKGFyZ3VtZW50WywgLi4uXSkKIApAQCAtMzI0LDYgKzM1MSw4IEBACiAgICBhcyBhICpjYWxsYmFjayogZnVuY3Rpb24gYXMgZm9yIDptZXRoOmByZXRybGluZXNgOyB0aGUgZGVmYXVsdCBwcmludHMgdG8KICAgIGBgc3lzLnN0ZG91dGBgLiAgVGhpcyBtZXRob2QgcmV0dXJucyBgYE5vbmVgYC4KIAorICAgLi4gZGVwcmVjYXRlZDo6IDMuMyB1c2UgOm1ldGg6YG1sc2RgIGluc3RlYWQuCisKIAogLi4gbWV0aG9kOjogRlRQLnJlbmFtZShmcm9tbmFtZSwgdG9uYW1lKQogCkBAIC0zOTYsNiArNDI1LDE0IEBACiAKICAgIFNldCB1cCBzZWN1cmUgY29udHJvbCBjb25uZWN0aW9uIGJ5IHVzaW5nIFRMUyBvciBTU0wsIGRlcGVuZGluZyBvbiB3aGF0IHNwZWNpZmllZCBpbiA6bWV0aDpgc3NsX3ZlcnNpb25gIGF0dHJpYnV0ZS4KIAorLi4gbWV0aG9kOjogRlRQX1RMUy5jY2MoKQorCisgICBSZXZlcnQgY29udHJvbCBjaGFubmVsIGJhY2sgdG8gcGxhaW50ZXh0LiAgVGhpcyBjYW4gYmUgdXNlZnVsIHRvIHRha2UKKyAgIGFkdmFudGFnZSBvZiBmaXJld2FsbHMgdGhhdCBrbm93IGhvdyB0byBoYW5kbGUgTkFUIHdpdGggbm9uLXNlY3VyZSBGVFAKKyAgIHdpdGhvdXQgb3BlbmluZyBmaXhlZCBwb3J0cy4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy4zCisKIC4uIG1ldGhvZDo6IEZUUF9UTFMucHJvdF9wKCkKIAogICAgU2V0IHVwIHNlY3VyZSBkYXRhIGNvbm5lY3Rpb24uCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9mdW5jdGlvbnMucnN0IGIvRG9jL2xpYnJhcnkvZnVuY3Rpb25zLnJzdAppbmRleCAzZmNkNjk0Li4yNjc0ZWY5IDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9mdW5jdGlvbnMucnN0CisrKyBiL0RvYy9saWJyYXJ5L2Z1bmN0aW9ucy5yc3QKQEAgLTE1MiwxMCArMTUyLDYgQEAKICAgIDEsMTE0LDExMSAoMHgxMEZGRkYgaW4gYmFzZSAxNikuICA6ZXhjOmBWYWx1ZUVycm9yYCB3aWxsIGJlIHJhaXNlZCBpZiAqaSogaXMKICAgIG91dHNpZGUgdGhhdCByYW5nZS4KIAotICAgTm90ZSB0aGF0IG9uIG5hcnJvdyBVbmljb2RlIGJ1aWxkcywgdGhlIHJlc3VsdCBpcyBhIHN0cmluZyBvZgotICAgbGVuZ3RoIHR3byBmb3IgKmkqIGdyZWF0ZXIgdGhhbiA2NSw1MzUgKDB4RkZGRiBpbiBoZXhhZGVjaW1hbCkuCi0KLQogCiAuLiBmdW5jdGlvbjo6IGNsYXNzbWV0aG9kKGZ1bmN0aW9uKQogCkBAIC03ODcsMTAgKzc4MywxMCBAQAogICAgOm1ldGg6YF9faW5kZXhfX2AgbWV0aG9kIHRoYXQgcmV0dXJucyBhbiBpbnRlZ2VyLgogCiAKLS4uIGZ1bmN0aW9uOjogb3BlbihmaWxlLCBtb2RlPSdyJywgYnVmZmVyaW5nPS0xLCBlbmNvZGluZz1Ob25lLCBlcnJvcnM9Tm9uZSwgbmV3bGluZT1Ob25lLCBjbG9zZWZkPVRydWUpCisuLiBmdW5jdGlvbjo6IG9wZW4oZmlsZSwgbW9kZT0ncicsIGJ1ZmZlcmluZz0tMSwgZW5jb2Rpbmc9Tm9uZSwgZXJyb3JzPU5vbmUsIG5ld2xpbmU9Tm9uZSwgY2xvc2VmZD1UcnVlLCBvcGVuZXI9Tm9uZSkKIAogICAgT3BlbiAqZmlsZSogYW5kIHJldHVybiBhIGNvcnJlc3BvbmRpbmcgc3RyZWFtLiAgSWYgdGhlIGZpbGUgY2Fubm90IGJlIG9wZW5lZCwKLSAgIGFuIDpleGM6YElPRXJyb3JgIGlzIHJhaXNlZC4KKyAgIGFuIDpleGM6YE9TRXJyb3JgIGlzIHJhaXNlZC4KIAogICAgKmZpbGUqIGlzIGVpdGhlciBhIHN0cmluZyBvciBieXRlcyBvYmplY3QgZ2l2aW5nIHRoZSBwYXRobmFtZSAoYWJzb2x1dGUgb3IKICAgIHJlbGF0aXZlIHRvIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5KSBvZiB0aGUgZmlsZSB0byBiZSBvcGVuZWQgb3IKQEAgLTg5NCw2ICs4OTAsMTUgQEAKICAgIGNsb3NlZC4gIElmIGEgZmlsZW5hbWUgaXMgZ2l2ZW4gKmNsb3NlZmQqIGhhcyBubyBlZmZlY3QgYW5kIG11c3QgYmUgYGBUcnVlYGAKICAgICh0aGUgZGVmYXVsdCkuCiAKKyAgIEEgY3VzdG9tIG9wZW5lciBjYW4gYmUgdXNlZCBieSBwYXNzaW5nIGEgY2FsbGFibGUgYXMgKm9wZW5lciouIFRoZSB1bmRlcmx5aW5nCisgICBmaWxlIGRlc2NyaXB0b3IgZm9yIHRoZSBmaWxlIG9iamVjdCBpcyB0aGVuIG9idGFpbmVkIGJ5IGNhbGxpbmcgKm9wZW5lciogd2l0aAorICAgKCpmaWxlKiwgKmZsYWdzKikuICpvcGVuZXIqIG11c3QgcmV0dXJuIGFuIG9wZW4gZmlsZSBkZXNjcmlwdG9yIChwYXNzaW5nCisgICA6bW9kOmBvcy5vcGVuYCBhcyAqb3BlbmVyKiByZXN1bHRzIGluIGZ1bmN0aW9uYWxpdHkgc2ltaWxhciB0byBwYXNzaW5nCisgICBgYE5vbmVgYCkuCisKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy4zCisgICAgICBUaGUgKm9wZW5lciogcGFyYW1ldGVyIHdhcyBhZGRlZC4KKwogICAgVGhlIHR5cGUgb2YgZmlsZSBvYmplY3QgcmV0dXJuZWQgYnkgdGhlIDpmdW5jOmBvcGVuYCBmdW5jdGlvbiBkZXBlbmRzIG9uIHRoZQogICAgbW9kZS4gIFdoZW4gOmZ1bmM6YG9wZW5gIGlzIHVzZWQgdG8gb3BlbiBhIGZpbGUgaW4gYSB0ZXh0IG1vZGUgKGBgJ3cnYGAsCiAgICBgYCdyJ2BgLCBgYCd3dCdgYCwgYGAncnQnYGAsIGV0Yy4pLCBpdCByZXR1cm5zIGEgc3ViY2xhc3Mgb2YKQEAgLTkxOSw2ICs5MjQsOSBAQAogICAgKHdoZXJlIDpmdW5jOmBvcGVuYCBpcyBkZWNsYXJlZCksIDptb2Q6YG9zYCwgOm1vZDpgb3MucGF0aGAsIDptb2Q6YHRlbXBmaWxlYCwKICAgIGFuZCA6bW9kOmBzaHV0aWxgLgogCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMworICAgICAgOmV4YzpgSU9FcnJvcmAgdXNlZCB0byBiZSByYWlzZWQsIGl0IGlzIG5vdyBhbiBhbGlhcyBvZiA6ZXhjOmBPU0Vycm9yYC4KKwogCiAuLiBYWFggd29ya3MgZm9yIGJ5dGVzIHRvbywgYnV0IHNob3VsZCBpdD8KIC4uIGZ1bmN0aW9uOjogb3JkKGMpCkBAIC05MjgsOSArOTM2LDYgQEAKICAgIHBvaW50IG9mIHRoYXQgY2hhcmFjdGVyLiAgRm9yIGV4YW1wbGUsIGBgb3JkKCdhJylgYCByZXR1cm5zIHRoZSBpbnRlZ2VyIGBgOTdgYAogICAgYW5kIGBgb3JkKCdcdTIwMjAnKWBgIHJldHVybnMgYGA4MjI0YGAuICBUaGlzIGlzIHRoZSBpbnZlcnNlIG9mIDpmdW5jOmBjaHJgLgogCi0gICBPbiB3aWRlIFVuaWNvZGUgYnVpbGRzLCBpZiB0aGUgYXJndW1lbnQgbGVuZ3RoIGlzIG5vdCBvbmUsIGEKLSAgIDpleGM6YFR5cGVFcnJvcmAgd2lsbCBiZSByYWlzZWQuICBPbiBuYXJyb3cgVW5pY29kZSBidWlsZHMsIHN0cmluZ3MKLSAgIG9mIGxlbmd0aCB0d28gYXJlIGFjY2VwdGVkIHdoZW4gdGhleSBmb3JtIGEgVVRGLTE2IHN1cnJvZ2F0ZSBwYWlyLgogCiAuLiBmdW5jdGlvbjo6IHBvdyh4LCB5Wywgel0pCiAKQEAgLTk0OCw3ICs5NTMsNyBAQAogICAgbXVzdCBiZSBvZiBpbnRlZ2VyIHR5cGVzLCBhbmQgKnkqIG11c3QgYmUgbm9uLW5lZ2F0aXZlLgogCiAKLS4uIGZ1bmN0aW9uOjogcHJpbnQoW29iamVjdCwgLi4uXSwgKiwgc2VwPScgJywgZW5kPSdcXG4nLCBmaWxlPXN5cy5zdGRvdXQpCisuLiBmdW5jdGlvbjo6IHByaW50KFtvYmplY3QsIC4uLl0sICosIHNlcD0nICcsIGVuZD0nXFxuJywgZmlsZT1zeXMuc3Rkb3V0LCBmbHVzaD1GYWxzZSkKIAogICAgUHJpbnQgKm9iamVjdCpcKHMpIHRvIHRoZSBzdHJlYW0gKmZpbGUqLCBzZXBhcmF0ZWQgYnkgKnNlcCogYW5kIGZvbGxvd2VkIGJ5CiAgICAqZW5kKi4gICpzZXAqLCAqZW5kKiBhbmQgKmZpbGUqLCBpZiBwcmVzZW50LCBtdXN0IGJlIGdpdmVuIGFzIGtleXdvcmQKQEAgLTk2MSw5ICs5NjYsMTIgQEAKICAgICplbmQqLgogCiAgICBUaGUgKmZpbGUqIGFyZ3VtZW50IG11c3QgYmUgYW4gb2JqZWN0IHdpdGggYSBgYHdyaXRlKHN0cmluZylgYCBtZXRob2Q7IGlmIGl0Ci0gICBpcyBub3QgcHJlc2VudCBvciBgYE5vbmVgYCwgOmRhdGE6YHN5cy5zdGRvdXRgIHdpbGwgYmUgdXNlZC4gT3V0cHV0IGJ1ZmZlcmluZwotICAgaXMgZGV0ZXJtaW5lZCBieSAqZmlsZSouIFVzZSBgYGZpbGUuZmx1c2goKWBgIHRvIGVuc3VyZSwgZm9yIGluc3RhbmNlLAotICAgaW1tZWRpYXRlIGFwcGVhcmFuY2Ugb24gYSBzY3JlZW4uCisgICBpcyBub3QgcHJlc2VudCBvciBgYE5vbmVgYCwgOmRhdGE6YHN5cy5zdGRvdXRgIHdpbGwgYmUgdXNlZC4gIFdoZXRoZXIgb3V0cHV0CisgICBpcyBidWZmZXJlZCBpcyB1c3VhbGx5IGRldGVybWluZWQgYnkgKmZpbGUqLCBidXQgaWYgdGhlICAqZmx1c2gqIGtleXdvcmQKKyAgIGFyZ3VtZW50IGlzIHRydWUsIHRoZSBzdHJlYW0gaXMgZm9yY2libHkgZmx1c2hlZC4KKworICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjMKKyAgICAgIEFkZGVkIHRoZSAqZmx1c2gqIGtleXdvcmQgYXJndW1lbnQuCiAKIAogLi4gZnVuY3Rpb246OiBwcm9wZXJ0eShmZ2V0PU5vbmUsIGZzZXQ9Tm9uZSwgZmRlbD1Ob25lLCBkb2M9Tm9uZSkKQEAgLTEwNDYsNyArMTA1NCw5IEBACiAgICAuLi5dYGAuICBJZiAqc3RlcCogaXMgcG9zaXRpdmUsIHRoZSBsYXN0IGVsZW1lbnQgaXMgdGhlIGxhcmdlc3QgYGBzdGFydCArIGkgKgogICAgc3RlcGBgIGxlc3MgdGhhbiAqc3RvcCo7IGlmICpzdGVwKiBpcyBuZWdhdGl2ZSwgdGhlIGxhc3QgZWxlbWVudCBpcyB0aGUKICAgIHNtYWxsZXN0IGBgc3RhcnQgKyBpICogc3RlcGBgIGdyZWF0ZXIgdGhhbiAqc3RvcCouICAqc3RlcCogbXVzdCBub3QgYmUgemVybwotICAgKG9yIGVsc2UgOmV4YzpgVmFsdWVFcnJvcmAgaXMgcmFpc2VkKS4gIEV4YW1wbGU6CisgICAob3IgZWxzZSA6ZXhjOmBWYWx1ZUVycm9yYCBpcyByYWlzZWQpLiAgUmFuZ2Ugb2JqZWN0cyBoYXZlIHJlYWQtb25seSBkYXRhCisgICBhdHRyaWJ1dGVzIDphdHRyOmBzdGFydGAsIDphdHRyOmBzdG9wYCBhbmQgOmF0dHI6YHN0ZXBgIHdoaWNoIHJldHVybiB0aGUKKyAgIGFyZ3VtZW50IHZhbHVlcyAob3IgdGhlaXIgZGVmYXVsdCkuICBFeGFtcGxlOgogCiAgICAgICA+Pj4gbGlzdChyYW5nZSgxMCkpCiAgICAgICBbMCwgMSwgMiwgMywgNCwgNSwgNiwgNywgOCwgOV0KQEAgLTEwODMsNiArMTA5MywxMyBAQAogICAgICAgPj4+IHJbLTFdCiAgICAgICAxOAogCisgICBUZXN0aW5nIHJhbmdlIG9iamVjdHMgZm9yIGVxdWFsaXR5IHdpdGggYGA9PWBgIGFuZCBgYCE9YGAgY29tcGFyZXMKKyAgIHRoZW0gYXMgc2VxdWVuY2VzLiAgVGhhdCBpcywgdHdvIHJhbmdlIG9iamVjdHMgYXJlIGNvbnNpZGVyZWQgZXF1YWwgaWYKKyAgIHRoZXkgcmVwcmVzZW50IHRoZSBzYW1lIHNlcXVlbmNlIG9mIHZhbHVlcy4gIChOb3RlIHRoYXQgdHdvIHJhbmdlCisgICBvYmplY3RzIHRoYXQgY29tcGFyZSBlcXVhbCBtaWdodCBoYXZlIGRpZmZlcmVudCA6YXR0cjpgc3RhcnRgLAorICAgOmF0dHI6YHN0b3BgIGFuZCA6YXR0cjpgc3RlcGAgYXR0cmlidXRlcywgZm9yIGV4YW1wbGUgYGByYW5nZSgwKSA9PQorICAgcmFuZ2UoMiwgMSwgMylgYCBvciBgYHJhbmdlKDAsIDMsIDIpID09IHJhbmdlKDAsIDQsIDIpYGAuKQorCiAgICBSYW5nZXMgY29udGFpbmluZyBhYnNvbHV0ZSB2YWx1ZXMgbGFyZ2VyIHRoYW4gOmRhdGE6YHN5cy5tYXhzaXplYCBhcmUgcGVybWl0dGVkCiAgICBidXQgc29tZSBmZWF0dXJlcyAoc3VjaCBhcyA6ZnVuYzpgbGVuYCkgd2lsbCByYWlzZSA6ZXhjOmBPdmVyZmxvd0Vycm9yYC4KIApAQCAtMTA5Miw2ICsxMTA5LDE0IEBACiAgICAgICBUZXN0IGludGVnZXJzIGZvciBtZW1iZXJzaGlwIGluIGNvbnN0YW50IHRpbWUgaW5zdGVhZCBvZiBpdGVyYXRpbmcKICAgICAgIHRocm91Z2ggYWxsIGl0ZW1zLgogCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMworICAgICAgRGVmaW5lICc9PScgYW5kICchPScgdG8gY29tcGFyZSByYW5nZSBvYmplY3RzIGJhc2VkIG9uIHRoZQorICAgICAgc2VxdWVuY2Ugb2YgdmFsdWVzIHRoZXkgZGVmaW5lIChpbnN0ZWFkIG9mIGNvbXBhcmluZyBiYXNlZCBvbgorICAgICAgb2JqZWN0IGlkZW50aXR5KS4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy4zCisgICAgICBUaGUgOmF0dHI6YHN0YXJ0YCwgOmF0dHI6YHN0b3BgIGFuZCA6YXR0cjpgc3RlcGAgYXR0cmlidXRlcy4KKwogCiAuLiBmdW5jdGlvbjo6IHJlcHIob2JqZWN0KQogCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9mdW5jdG9vbHMucnN0IGIvRG9jL2xpYnJhcnkvZnVuY3Rvb2xzLnJzdAppbmRleCAwNDc0M2QzLi4wNWY5N2IxIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9mdW5jdG9vbHMucnN0CisrKyBiL0RvYy9saWJyYXJ5L2Z1bmN0b29scy5yc3QKQEAgLTQwLDcgKzQwLDcgQEAKICAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMgogCiAKLS4uIGRlY29yYXRvcjo6IGxydV9jYWNoZShtYXhzaXplPTEwMCkKKy4uIGRlY29yYXRvcjo6IGxydV9jYWNoZShtYXhzaXplPTEwMCwgdHlwZWQ9RmFsc2UpCiAKICAgIERlY29yYXRvciB0byB3cmFwIGEgZnVuY3Rpb24gd2l0aCBhIG1lbW9pemluZyBjYWxsYWJsZSB0aGF0IHNhdmVzIHVwIHRvIHRoZQogICAgKm1heHNpemUqIG1vc3QgcmVjZW50IGNhbGxzLiAgSXQgY2FuIHNhdmUgdGltZSB3aGVuIGFuIGV4cGVuc2l2ZSBvciBJL08gYm91bmQKQEAgLTUyLDYgKzUyLDEwIEBACiAgICBJZiAqbWF4c2l6ZSogaXMgc2V0IHRvIE5vbmUsIHRoZSBMUlUgZmVhdHVyZSBpcyBkaXNhYmxlZCBhbmQgdGhlIGNhY2hlCiAgICBjYW4gZ3JvdyB3aXRob3V0IGJvdW5kLgogCisgICBJZiAqdHlwZWQqIGlzIHNldCB0byBUcnVlLCBmdW5jdGlvbiBhcmd1bWVudHMgb2YgZGlmZmVyZW50IHR5cGVzIHdpbGwgYmUKKyAgIGNhY2hlZCBzZXBhcmF0ZWx5LiAgRm9yIGV4YW1wbGUsIGBgZigzKWBgIGFuZCBgYGYoMy4wKWBgIHdpbGwgYmUgdHJlYXRlZAorICAgYXMgZGlzdGluY3QgY2FsbHMgd2l0aCBkaXN0aW5jdCByZXN1bHRzLgorCiAgICBUbyBoZWxwIG1lYXN1cmUgdGhlIGVmZmVjdGl2ZW5lc3Mgb2YgdGhlIGNhY2hlIGFuZCB0dW5lIHRoZSAqbWF4c2l6ZSoKICAgIHBhcmFtZXRlciwgdGhlIHdyYXBwZWQgZnVuY3Rpb24gaXMgaW5zdHJ1bWVudGVkIHdpdGggYSA6ZnVuYzpgY2FjaGVfaW5mb2AKICAgIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIDp0ZXJtOmBuYW1lZCB0dXBsZWAgc2hvd2luZyAqaGl0cyosICptaXNzZXMqLApAQCAtNjcsOCArNzEsOCBAQAogCiAgICBBbiBgTFJVIChsZWFzdCByZWNlbnRseSB1c2VkKSBjYWNoZQogICAgPGh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvQ2FjaGVfYWxnb3JpdGhtcyNMZWFzdF9SZWNlbnRseV9Vc2VkPmBfIHdvcmtzCi0gICBiZXN0IHdoZW4gbW9yZSByZWNlbnQgY2FsbHMgYXJlIHRoZSBiZXN0IHByZWRpY3RvcnMgb2YgdXBjb21pbmcgY2FsbHMgKGZvcgotICAgZXhhbXBsZSwgdGhlIG1vc3QgcG9wdWxhciBhcnRpY2xlcyBvbiBhIG5ld3Mgc2VydmVyIHRlbmQgdG8gY2hhbmdlIGRhaWx5KS4KKyAgIGJlc3Qgd2hlbiB0aGUgbW9zdCByZWNlbnQgY2FsbHMgYXJlIHRoZSBiZXN0IHByZWRpY3RvcnMgb2YgdXBjb21pbmcgY2FsbHMgKGZvcgorICAgZXhhbXBsZSwgdGhlIG1vc3QgcG9wdWxhciBhcnRpY2xlcyBvbiBhIG5ld3Mgc2VydmVyIHRlbmQgdG8gY2hhbmdlIGVhY2ggZGF5KS4KICAgIFRoZSBjYWNoZSdzIHNpemUgbGltaXQgYXNzdXJlcyB0aGF0IHRoZSBjYWNoZSBkb2VzIG5vdCBncm93IHdpdGhvdXQgYm91bmQgb24KICAgIGxvbmctcnVubmluZyBwcm9jZXNzZXMgc3VjaCBhcyB3ZWIgc2VydmVycy4KIApAQCAtMTExLDYgKzExNSw5IEBACiAKICAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMgogCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMworICAgICAgQWRkZWQgdGhlICp0eXBlZCogb3B0aW9uLgorCiAuLiBkZWNvcmF0b3I6OiB0b3RhbF9vcmRlcmluZwogCiAgICBHaXZlbiBhIGNsYXNzIGRlZmluaW5nIG9uZSBvciBtb3JlIHJpY2ggY29tcGFyaXNvbiBvcmRlcmluZyBtZXRob2RzLCB0aGlzCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9nZXR0ZXh0LnJzdCBiL0RvYy9saWJyYXJ5L2dldHRleHQucnN0CmluZGV4IDBmYTAyMmMuLjgyNTMxMWIgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L2dldHRleHQucnN0CisrKyBiL0RvYy9saWJyYXJ5L2dldHRleHQucnN0CkBAIC0xODUsMTAgKzE4NSwxMyBAQAogICAgdHJhbnNsYXRpb24gb2JqZWN0IGZyb20gdGhlIGNhY2hlOyB0aGUgYWN0dWFsIGluc3RhbmNlIGRhdGEgaXMgc3RpbGwgc2hhcmVkIHdpdGgKICAgIHRoZSBjYWNoZS4KIAotICAgSWYgbm8gOmZpbGU6YC5tb2AgZmlsZSBpcyBmb3VuZCwgdGhpcyBmdW5jdGlvbiByYWlzZXMgOmV4YzpgSU9FcnJvcmAgaWYKKyAgIElmIG5vIDpmaWxlOmAubW9gIGZpbGUgaXMgZm91bmQsIHRoaXMgZnVuY3Rpb24gcmFpc2VzIDpleGM6YE9TRXJyb3JgIGlmCiAgICAqZmFsbGJhY2sqIGlzIGZhbHNlICh3aGljaCBpcyB0aGUgZGVmYXVsdCksIGFuZCByZXR1cm5zIGEKICAgIDpjbGFzczpgTnVsbFRyYW5zbGF0aW9uc2AgaW5zdGFuY2UgaWYgKmZhbGxiYWNrKiBpcyB0cnVlLgogCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMworICAgICAgOmV4YzpgSU9FcnJvcmAgdXNlZCB0byBiZSByYWlzZWQgaW5zdGVhZCBvZiA6ZXhjOmBPU0Vycm9yYC4KKwogCiAuLiBmdW5jdGlvbjo6IGluc3RhbGwoZG9tYWluLCBsb2NhbGVkaXI9Tm9uZSwgY29kZXNldD1Ob25lLCBuYW1lcz1Ob25lKQogCkBAIC0zNDIsNyArMzQ1LDcgQEAKIAogSWYgdGhlIDpmaWxlOmAubW9gIGZpbGUncyBtYWdpYyBudW1iZXIgaXMgaW52YWxpZCwgb3IgaWYgb3RoZXIgcHJvYmxlbXMgb2NjdXIKIHdoaWxlIHJlYWRpbmcgdGhlIGZpbGUsIGluc3RhbnRpYXRpbmcgYSA6Y2xhc3M6YEdOVVRyYW5zbGF0aW9uc2AgY2xhc3MgY2FuIHJhaXNlCi06ZXhjOmBJT0Vycm9yYC4KKzpleGM6YE9TRXJyb3JgLgogCiBUaGUgZm9sbG93aW5nIG1ldGhvZHMgYXJlIG92ZXJyaWRkZW4gZnJvbSB0aGUgYmFzZSBjbGFzcyBpbXBsZW1lbnRhdGlvbjoKIApkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvZ3ppcC5yc3QgYi9Eb2MvbGlicmFyeS9nemlwLnJzdAppbmRleCA5NDIyZWE5Li45ZTU3OTkwIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9nemlwLnJzdAorKysgYi9Eb2MvbGlicmFyeS9nemlwLnJzdApAQCAtNzEsNyArNzEsNyBAQAogCiAgICA6Y2xhc3M6YEd6aXBGaWxlYCBzdXBwb3J0cyB0aGUgOmNsYXNzOmBpby5CdWZmZXJlZElPQmFzZWAgaW50ZXJmYWNlLAogICAgaW5jbHVkaW5nIGl0ZXJhdGlvbiBhbmQgdGhlIDprZXl3b3JkOmB3aXRoYCBzdGF0ZW1lbnQuICBPbmx5IHRoZQotICAgOm1ldGg6YHJlYWQxYCBhbmQgOm1ldGg6YHRydW5jYXRlYCBtZXRob2RzIGFyZW4ndCBpbXBsZW1lbnRlZC4KKyAgIDptZXRoOmB0cnVuY2F0ZWAgbWV0aG9kIGlzbid0IGltcGxlbWVudGVkLgogCiAgICA6Y2xhc3M6YEd6aXBGaWxlYCBhbHNvIHByb3ZpZGVzIHRoZSBmb2xsb3dpbmcgbWV0aG9kOgogCkBAIC05Myw2ICs5Myw5IEBACiAgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMgogICAgICAgU3VwcG9ydCBmb3IgdW5zZWVrYWJsZSBmaWxlcyB3YXMgYWRkZWQuCiAKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy4zCisgICAgICBUaGUgOm1ldGg6YGlvLkJ1ZmZlcmVkSU9CYXNlLnJlYWQxYCBtZXRob2QgaXMgbm93IGltcGxlbWVudGVkLgorCiAKIC4uIGZ1bmN0aW9uOjogb3BlbihmaWxlbmFtZSwgbW9kZT0ncmInLCBjb21wcmVzc2xldmVsPTkpCiAKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L2h0dHAuY2xpZW50LnJzdCBiL0RvYy9saWJyYXJ5L2h0dHAuY2xpZW50LnJzdAppbmRleCA1MmZiZTU3Li5mMGRhOGVlIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9odHRwLmNsaWVudC5yc3QKKysrIGIvRG9jL2xpYnJhcnkvaHR0cC5jbGllbnQucnN0CkBAIC01MDIsNiArNTAyLDEyIEBACiAKICAgIFJlYWRzIGFuZCByZXR1cm5zIHRoZSByZXNwb25zZSBib2R5LCBvciB1cCB0byB0aGUgbmV4dCAqYW10KiBieXRlcy4KIAorLi4gbWV0aG9kOjogSFRUUFJlc3BvbnNlLnJlYWRpbnRvKGIpCisKKyAgIFJlYWRzIHVwIHRvIHRoZSBuZXh0IGxlbihiKSBieXRlcyBvZiB0aGUgcmVzcG9uc2UgYm9keSBpbnRvIHRoZSBidWZmZXIgKmIqLgorICAgUmV0dXJucyB0aGUgbnVtYmVyIG9mIGJ5dGVzIHJlYWQuCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMwogCiAuLiBtZXRob2Q6OiBIVFRQUmVzcG9uc2UuZ2V0aGVhZGVyKG5hbWUsIGRlZmF1bHQ9Tm9uZSkKIApkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvaHR0cC5jb29raWVqYXIucnN0IGIvRG9jL2xpYnJhcnkvaHR0cC5jb29raWVqYXIucnN0CmluZGV4IDk3NzE0OTYuLjFmZTc3NWYgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L2h0dHAuY29va2llamFyLnJzdAorKysgYi9Eb2MvbGlicmFyeS9odHRwLmNvb2tpZWphci5yc3QKQEAgLTQwLDcgKzQwLDExIEBACiAuLiBleGNlcHRpb246OiBMb2FkRXJyb3IKIAogICAgSW5zdGFuY2VzIG9mIDpjbGFzczpgRmlsZUNvb2tpZUphcmAgcmFpc2UgdGhpcyBleGNlcHRpb24gb24gZmFpbHVyZSB0byBsb2FkCi0gICBjb29raWVzIGZyb20gYSBmaWxlLiAgOmV4YzpgTG9hZEVycm9yYCBpcyBhIHN1YmNsYXNzIG9mIDpleGM6YElPRXJyb3JgLgorICAgY29va2llcyBmcm9tIGEgZmlsZS4gIDpleGM6YExvYWRFcnJvcmAgaXMgYSBzdWJjbGFzcyBvZiA6ZXhjOmBPU0Vycm9yYC4KKworICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjMKKyAgICAgIExvYWRFcnJvciB3YXMgbWFkZSBhIHN1YmNsYXNzIG9mIDpleGM6YE9TRXJyb3JgIGluc3RlYWQgb2YKKyAgICAgIDpleGM6YElPRXJyb3JgLgogCiAKIFRoZSBmb2xsb3dpbmcgY2xhc3NlcyBhcmUgcHJvdmlkZWQ6CkBAIC0yNTcsOSArMjYxLDEyIEBACiAgICBBcmd1bWVudHMgYXJlIGFzIGZvciA6bWV0aDpgc2F2ZWAuCiAKICAgIFRoZSBuYW1lZCBmaWxlIG11c3QgYmUgaW4gdGhlIGZvcm1hdCB1bmRlcnN0b29kIGJ5IHRoZSBjbGFzcywgb3IKLSAgIDpleGM6YExvYWRFcnJvcmAgd2lsbCBiZSByYWlzZWQuICBBbHNvLCA6ZXhjOmBJT0Vycm9yYCBtYXkgYmUgcmFpc2VkLCBmb3IKKyAgIDpleGM6YExvYWRFcnJvcmAgd2lsbCBiZSByYWlzZWQuICBBbHNvLCA6ZXhjOmBPU0Vycm9yYCBtYXkgYmUgcmFpc2VkLCBmb3IKICAgIGV4YW1wbGUgaWYgdGhlIGZpbGUgZG9lcyBub3QgZXhpc3QuCiAKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy4zCisgICAgICA6ZXhjOmBJT0Vycm9yYCB1c2VkIHRvIGJlIHJhaXNlZCwgaXQgaXMgbm93IGFuIGFsaWFzIG9mIDpleGM6YE9TRXJyb3JgLgorCiAKIC4uIG1ldGhvZDo6IEZpbGVDb29raWVKYXIucmV2ZXJ0KGZpbGVuYW1lPU5vbmUsIGlnbm9yZV9kaXNjYXJkPUZhbHNlLCBpZ25vcmVfZXhwaXJlcz1GYWxzZSkKIApkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvaHR0cC5zZXJ2ZXIucnN0IGIvRG9jL2xpYnJhcnkvaHR0cC5zZXJ2ZXIucnN0CmluZGV4IGUzYTNhMTAuLmQ5YWFhNzIgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L2h0dHAuc2VydmVyLnJzdAorKysgYi9Eb2MvbGlicmFyeS9odHRwLnNlcnZlci5yc3QKQEAgLTE3OSwxOSArMTc5LDI5IEBACiAKICAgIC4uIG1ldGhvZDo6IHNlbmRfcmVzcG9uc2UoY29kZSwgbWVzc2FnZT1Ob25lKQogCi0gICAgICBTZW5kcyBhIHJlc3BvbnNlIGhlYWRlciBhbmQgbG9ncyB0aGUgYWNjZXB0ZWQgcmVxdWVzdC4gVGhlIEhUVFAgcmVzcG9uc2UKLSAgICAgIGxpbmUgaXMgc2VudCwgZm9sbG93ZWQgYnkgKlNlcnZlciogYW5kICpEYXRlKiBoZWFkZXJzLiBUaGUgdmFsdWVzIGZvcgotICAgICAgdGhlc2UgdHdvIGhlYWRlcnMgYXJlIHBpY2tlZCB1cCBmcm9tIHRoZSA6bWV0aDpgdmVyc2lvbl9zdHJpbmdgIGFuZAotICAgICAgOm1ldGg6YGRhdGVfdGltZV9zdHJpbmdgIG1ldGhvZHMsIHJlc3BlY3RpdmVseS4KKyAgICAgIEFkZHMgYSByZXNwb25zZSBoZWFkZXIgdG8gdGhlIGhlYWRlcnMgYnVmZmVyIGFuZCBsb2dzIHRoZSBhY2NlcHRlZAorICAgICAgcmVxdWVzdC4gVGhlIEhUVFAgcmVzcG9uc2UgbGluZSBpcyB3cml0dGVuIHRvIHRoZSBpbnRlcm5hbCBidWZmZXIsCisgICAgICBmb2xsb3dlZCBieSAqU2VydmVyKiBhbmQgKkRhdGUqIGhlYWRlcnMuIFRoZSB2YWx1ZXMgZm9yIHRoZXNlIHR3byBoZWFkZXJzCisgICAgICBhcmUgcGlja2VkIHVwIGZyb20gdGhlIDptZXRoOmB2ZXJzaW9uX3N0cmluZ2AgYW5kCisgICAgICA6bWV0aDpgZGF0ZV90aW1lX3N0cmluZ2AgbWV0aG9kcywgcmVzcGVjdGl2ZWx5LiBJZiB0aGUgc2VydmVyIGRvZXMgbm90CisgICAgICBpbnRlbmQgdG8gc2VuZCBhbnkgb3RoZXIgaGVhZGVycyB1c2luZyB0aGUgOm1ldGg6YHNlbmRfaGVhZGVyYCBtZXRob2QsCisgICAgICB0aGVuIDptZXRoOmBzZW5kX3Jlc3BvbnNlYCBzaG91bGQgYmUgZm9sbG93ZWQgYnkgYSA6bWV0aDpgZW5kX2hlYWRlcnNgCisgICAgICBjYWxsLgorCisgICAgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMworICAgICAgICAgSGVhZGVycyBhcmUgc3RvcmVkIHRvIGFuIGludGVybmFsIGJ1ZmZlciBhbmQgOm1ldGg6YGVuZF9oZWFkZXJzYAorICAgICAgICAgbmVlZHMgdG8gYmUgY2FsbGVkIGV4cGxpY2l0bHkuCisKIAogICAgLi4gbWV0aG9kOjogc2VuZF9oZWFkZXIoa2V5d29yZCwgdmFsdWUpCiAKLSAgICAgIFN0b3JlcyB0aGUgSFRUUCBoZWFkZXIgdG8gYW4gaW50ZXJuYWwgYnVmZmVyIHdoaWNoIHdpbGwgYmUgd3JpdHRlbiB0byB0aGUKLSAgICAgIG91dHB1dCBzdHJlYW0gd2hlbiA6bWV0aDpgZW5kX2hlYWRlcnNgIG1ldGhvZCBpcyBpbnZva2VkLgotICAgICAgKmtleXdvcmQqIHNob3VsZCBzcGVjaWZ5IHRoZSBoZWFkZXIga2V5d29yZCwgd2l0aCAqdmFsdWUqCi0gICAgICBzcGVjaWZ5aW5nIGl0cyB2YWx1ZS4KKyAgICAgIEFkZHMgdGhlIEhUVFAgaGVhZGVyIHRvIGFuIGludGVybmFsIGJ1ZmZlciB3aGljaCB3aWxsIGJlIHdyaXR0ZW4gdG8gdGhlCisgICAgICBvdXRwdXQgc3RyZWFtIHdoZW4gZWl0aGVyIDptZXRoOmBlbmRfaGVhZGVyc2Agb3IgOm1ldGg6YGZsdXNoX2hlYWRlcnNgIGlzCisgICAgICBpbnZva2VkLiAqa2V5d29yZCogc2hvdWxkIHNwZWNpZnkgdGhlIGhlYWRlciBrZXl3b3JkLCB3aXRoICp2YWx1ZSoKKyAgICAgIHNwZWNpZnlpbmcgaXRzIHZhbHVlLiBOb3RlIHRoYXQsIGFmdGVyIHRoZSBzZW5kX2hlYWRlciBjYWxscyBhcmUgZG9uZSwKKyAgICAgIDptZXRoOmBlbmRfaGVhZGVyc2AgTVVTVCBCRSBjYWxsZWQgaW4gb3JkZXIgdG8gY29tcGxldGUgdGhlIG9wZXJhdGlvbi4KIAotICAgICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjIgU3RvcmluZyB0aGUgaGVhZGVycyBpbiBhbiBpbnRlcm5hbCBidWZmZXIKKyAgICAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy4yIEhlYWRlcnMgYXJlIHN0b3JlZCBpbiBhbiBpbnRlcm5hbCBidWZmZXIuCiAKIAogICAgLi4gbWV0aG9kOjogc2VuZF9yZXNwb25zZV9vbmx5KGNvZGUsIG1lc3NhZ2U9Tm9uZSkKQEAgLTIwNSwxMCArMjE1LDE5IEBACiAKICAgIC4uIG1ldGhvZDo6IGVuZF9oZWFkZXJzKCkKIAotICAgICAgV3JpdGUgdGhlIGJ1ZmZlcmVkIEhUVFAgaGVhZGVycyB0byB0aGUgb3V0cHV0IHN0cmVhbSBhbmQgc2VuZCBhIGJsYW5rCi0gICAgICBsaW5lLCBpbmRpY2F0aW5nIHRoZSBlbmQgb2YgdGhlIEhUVFAgaGVhZGVycyBpbiB0aGUgcmVzcG9uc2UuCisgICAgICBBZGRzIGEgYmxhbmsgbGluZQorICAgICAgKGluZGljYXRpbmcgdGhlIGVuZCBvZiB0aGUgSFRUUCBoZWFkZXJzIGluIHRoZSByZXNwb25zZSkKKyAgICAgIHRvIHRoZSBoZWFkZXJzIGJ1ZmZlciBhbmQgY2FsbHMgOm1ldGg6YGZsdXNoX2hlYWRlcnMoKWAuCiAKLSAgICAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy4yIFdyaXRpbmcgdGhlIGJ1ZmZlcmVkIGhlYWRlcnMgdG8gdGhlIG91dHB1dCBzdHJlYW0uCisgICAgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMgorICAgICAgICAgVGhlIGJ1ZmZlcmVkIGhlYWRlcnMgYXJlIHdyaXR0ZW4gdG8gdGhlIG91dHB1dCBzdHJlYW0uCisKKyAgIC4uIG1ldGhvZDo6IGZsdXNoX2hlYWRlcnMoKQorCisgICAgICBGaW5hbGx5IHNlbmQgdGhlIGhlYWRlcnMgdG8gdGhlIG91dHB1dCBzdHJlYW0gYW5kIGZsdXNoIHRoZSBpbnRlcm5hbAorICAgICAgaGVhZGVycyBidWZmZXIuCisKKyAgICAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMwogCiAgICAuLiBtZXRob2Q6OiBsb2dfcmVxdWVzdChjb2RlPSctJywgc2l6ZT0nLScpCiAKQEAgLTI5OSw3ICszMTgsNyBAQAogICAgICAgcmVzcG9uc2UgaWYgdGhlIDpmdW5jOmBsaXN0ZGlyYCBmYWlscy4KIAogICAgICAgSWYgdGhlIHJlcXVlc3Qgd2FzIG1hcHBlZCB0byBhIGZpbGUsIGl0IGlzIG9wZW5lZCBhbmQgdGhlIGNvbnRlbnRzIGFyZQotICAgICAgcmV0dXJuZWQuICBBbnkgOmV4YzpgSU9FcnJvcmAgZXhjZXB0aW9uIGluIG9wZW5pbmcgdGhlIHJlcXVlc3RlZCBmaWxlIGlzCisgICAgICByZXR1cm5lZC4gIEFueSA6ZXhjOmBPU0Vycm9yYCBleGNlcHRpb24gaW4gb3BlbmluZyB0aGUgcmVxdWVzdGVkIGZpbGUgaXMKICAgICAgIG1hcHBlZCB0byBhIGBgNDA0YGAsIGBgJ0ZpbGUgbm90IGZvdW5kJ2BgIGVycm9yLiBPdGhlcndpc2UsIHRoZSBjb250ZW50CiAgICAgICB0eXBlIGlzIGd1ZXNzZWQgYnkgY2FsbGluZyB0aGUgOm1ldGg6YGd1ZXNzX3R5cGVgIG1ldGhvZCwgd2hpY2ggaW4gdHVybgogICAgICAgdXNlcyB0aGUgKmV4dGVuc2lvbnNfbWFwKiB2YXJpYWJsZS4KZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L2ltYXBsaWIucnN0IGIvRG9jL2xpYnJhcnkvaW1hcGxpYi5yc3QKaW5kZXggM2Y0NWM5NS4uMDM4MzU1YyAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvaW1hcGxpYi5yc3QKKysrIGIvRG9jL2xpYnJhcnkvaW1hcGxpYi5yc3QKQEAgLTY0LDE0ICs2NCwyMSBAQAogVGhlcmUncyBhbHNvIGEgc3ViY2xhc3MgZm9yIHNlY3VyZSBjb25uZWN0aW9uczoKIAogCi0uLiBjbGFzczo6IElNQVA0X1NTTChob3N0PScnLCBwb3J0PUlNQVA0X1NTTF9QT1JULCBrZXlmaWxlPU5vbmUsIGNlcnRmaWxlPU5vbmUpCisuLiBjbGFzczo6IElNQVA0X1NTTChob3N0PScnLCBwb3J0PUlNQVA0X1NTTF9QT1JULCBrZXlmaWxlPU5vbmUsIGNlcnRmaWxlPU5vbmUsIHNzbF9jb250ZXh0PU5vbmUpCiAKICAgIFRoaXMgaXMgYSBzdWJjbGFzcyBkZXJpdmVkIGZyb20gOmNsYXNzOmBJTUFQNGAgdGhhdCBjb25uZWN0cyBvdmVyIGFuIFNTTAogICAgZW5jcnlwdGVkIHNvY2tldCAodG8gdXNlIHRoaXMgY2xhc3MgeW91IG5lZWQgYSBzb2NrZXQgbW9kdWxlIHRoYXQgd2FzIGNvbXBpbGVkCiAgICB3aXRoIFNTTCBzdXBwb3J0KS4gIElmICpob3N0KiBpcyBub3Qgc3BlY2lmaWVkLCBgYCcnYGAgKHRoZSBsb2NhbCBob3N0KSBpcyB1c2VkLgogICAgSWYgKnBvcnQqIGlzIG9taXR0ZWQsIHRoZSBzdGFuZGFyZCBJTUFQNC1vdmVyLVNTTCBwb3J0ICg5OTMpIGlzIHVzZWQuICAqa2V5ZmlsZSoKICAgIGFuZCAqY2VydGZpbGUqIGFyZSBhbHNvIG9wdGlvbmFsIC0gdGhleSBjYW4gY29udGFpbiBhIFBFTSBmb3JtYXR0ZWQgcHJpdmF0ZSBrZXkKLSAgIGFuZCBjZXJ0aWZpY2F0ZSBjaGFpbiBmaWxlIGZvciB0aGUgU1NMIGNvbm5lY3Rpb24uCisgICBhbmQgY2VydGlmaWNhdGUgY2hhaW4gZmlsZSBmb3IgdGhlIFNTTCBjb25uZWN0aW9uLiAqc3NsX2NvbnRleHQqIHBhcmFtZXRlciBpcyBhCisgICA6Y2xhc3M6YHNzbC5TU0xDb250ZXh0YCBvYmplY3Qgd2hpY2ggYWxsb3dzIGJ1bmRsaW5nIFNTTCBjb25maWd1cmF0aW9uCisgICBvcHRpb25zLCBjZXJ0aWZpY2F0ZXMgYW5kIHByaXZhdGUga2V5cyBpbnRvIGEgc2luZ2xlIChwb3RlbnRpYWxseSBsb25nLWxpdmVkKQorICAgc3RydWN0dXJlLiBOb3RlIHRoYXQgdGhlICprZXlmaWxlKi8qY2VydGZpbGUqIHBhcmFtZXRlcnMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoICpzc2xfY29udGV4dCosCisgICBhIDpjbGFzczpgVmFsdWVFcnJvcmAgaXMgdGhyb3duIGlmICprZXlmaWxlKi8qY2VydGZpbGUqIGlzIHByb3ZpZGVkIGFsb25nIHdpdGggKnNzbF9jb250ZXh0Ki4KKworICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjMKKyAgICAgICpzc2xfY29udGV4dCogcGFyYW1ldGVyIGFkZGVkLgogCiAKIFRoZSBzZWNvbmQgc3ViY2xhc3MgYWxsb3dzIGZvciBjb25uZWN0aW9ucyBjcmVhdGVkIGJ5IGEgY2hpbGQgcHJvY2VzczoKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L2ltcG9ydGxpYi5yc3QgYi9Eb2MvbGlicmFyeS9pbXBvcnRsaWIucnN0CmluZGV4IGM5Zjc0MmEuLmU1Y2MyN2YgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L2ltcG9ydGxpYi5yc3QKKysrIGIvRG9jL2xpYnJhcnkvaW1wb3J0bGliLnJzdApAQCAtODYsNiArODYsMTcgQEAKICAgICB0aGF0IHdhcyBpbXBvcnRlZCAoZS5nLiBgYHBrZy5tb2RgYCksIHdoaWxlIDpmdW5jOmBfX2ltcG9ydF9fYCByZXR1cm5zIHRoZQogICAgIHRvcC1sZXZlbCBwYWNrYWdlIG9yIG1vZHVsZSAoZS5nLiBgYHBrZ2BgKS4KIAorLi4gZnVuY3Rpb246OiBpbnZhbGlkYXRlX2NhY2hlcygpCisKKyAgIEludmFsaWRhdGUgdGhlIGludGVybmFsIGNhY2hlcyBvZiB0aGUgZmluZGVycyBzdG9yZWQgYXQKKyAgIDpkYXRhOmBzeXMucGF0aF9pbXBvcnRlcl9jYWNoZWAuIElmIGEgZmluZGVyIGltcGxlbWVudHMKKyAgIDptZXRoOmBhYmMuRmluZGVyLmludmFsaWRhdGVfY2FjaGVzKClgIHRoZW4gaXQgd2lsbCBiZSBjYWxsZWQgdG8gcGVyZm9ybSB0aGUKKyAgIGludmFsaWRhdGlvbi4gIFRoaXMgZnVuY3Rpb24gbWF5IGJlIG5lZWRlZCBpZiBzb21lIG1vZHVsZXMgYXJlIGluc3RhbGxlZAorICAgd2hpbGUgeW91ciBwcm9ncmFtIGlzIHJ1bm5pbmcgYW5kIHlvdSBleHBlY3QgdGhlIHByb2dyYW0gdG8gbm90aWNlIHRoZQorICAgY2hhbmdlcy4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy4zCisKIAogOm1vZDpgaW1wb3J0bGliLmFiY2AgLS0gQWJzdHJhY3QgYmFzZSBjbGFzc2VzIHJlbGF0ZWQgdG8gaW1wb3J0CiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQEAgLTExMSw2ICsxMjIsMTIgQEAKICAgICAgICAgYmUgdGhlIHZhbHVlIG9mIDphdHRyOmBfX3BhdGhfX2AgZnJvbSB0aGUgcGFyZW50IHBhY2thZ2UuIElmIGEgbG9hZGVyCiAgICAgICAgIGNhbm5vdCBiZSBmb3VuZCwgYGBOb25lYGAgaXMgcmV0dXJuZWQuCiAKKyAgIC4uIG1ldGhvZDo6IGludmFsaWRhdGVfY2FjaGVzKCkKKworICAgICAgICBBbiBvcHRpb25hbCBtZXRob2Qgd2hpY2gsIHdoZW4gY2FsbGVkLCBzaG91bGQgaW52YWxpZGF0ZSBhbnkgaW50ZXJuYWwKKyAgICAgICAgY2FjaGUgdXNlZCBieSB0aGUgZmluZGVyLiBVc2VkIGJ5IDpmdW5jOmBpbnZhbGlkYXRlX2NhY2hlcygpYCB3aGVuCisgICAgICAgIGludmFsaWRhdGluZyB0aGUgY2FjaGVzIG9mIGFsbCBjYWNoZWQgZmluZGVycy4KKwogCiAuLiBjbGFzczo6IExvYWRlcgogCkBAIC0yMzksMTEgKzI1NiwzMCBAQAogICAgIG9wdGltaXphdGlvbiB0byBzcGVlZCB1cCBsb2FkaW5nIGJ5IHJlbW92aW5nIHRoZSBwYXJzaW5nIHN0ZXAgb2YgUHl0aG9uJ3MKICAgICBjb21waWxlciwgYW5kIHNvIG5vIGJ5dGVjb2RlLXNwZWNpZmljIEFQSSBpcyBleHBvc2VkLgogCisgICAgLi4gbWV0aG9kOjogcGF0aF9zdGF0cyhzZWxmLCBwYXRoKQorCisgICAgICAgIE9wdGlvbmFsIGFic3RyYWN0IG1ldGhvZCB3aGljaCByZXR1cm5zIGEgOmNsYXNzOmBkaWN0YCBjb250YWluaW5nCisgICAgICAgIG1ldGFkYXRhIGFib3V0IHRoZSBzcGVjaWZlZCBwYXRoLiAgU3VwcG9ydGVkIGRpY3Rpb25hcnkga2V5cyBhcmU6CisKKyAgICAgICAgLSBgYCdtdGltZSdgYCAobWFuZGF0b3J5KTogYW4gaW50ZWdlciBvciBmbG9hdGluZy1wb2ludCBudW1iZXIKKyAgICAgICAgICByZXByZXNlbnRpbmcgdGhlIG1vZGlmaWNhdGlvbiB0aW1lIG9mIHRoZSBzb3VyY2UgY29kZTsKKyAgICAgICAgLSBgYCdzaXplJ2BgIChvcHRpb25hbCk6IHRoZSBzaXplIGluIGJ5dGVzIG9mIHRoZSBzb3VyY2UgY29kZS4KKworICAgICAgICBBbnkgb3RoZXIga2V5cyBpbiB0aGUgZGljdGlvbmFyeSBhcmUgaWdub3JlZCwgdG8gYWxsb3cgZm9yIGZ1dHVyZQorICAgICAgICBleHRlbnNpb25zLgorCisgICAgICAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMworCiAgICAgLi4gbWV0aG9kOjogcGF0aF9tdGltZShzZWxmLCBwYXRoKQogCiAgICAgICAgIE9wdGlvbmFsIGFic3RyYWN0IG1ldGhvZCB3aGljaCByZXR1cm5zIHRoZSBtb2RpZmljYXRpb24gdGltZSBmb3IgdGhlCiAgICAgICAgIHNwZWNpZmllZCBwYXRoLgogCisgICAgICAgIC4uIGRlcHJlY2F0ZWQ6OiAzLjMKKyAgICAgICAgICAgVGhpcyBtZXRob2QgaXMgZGVwcmVjYXRlZCBpbiBmYXZvdXIgb2YgOm1ldGg6YHBhdGhfc3RhdHNgLiAgWW91IGRvbid0CisgICAgICAgICAgIGhhdmUgdG8gaW1wbGVtZW50IGl0LCBidXQgaXQgaXMgc3RpbGwgYXZhaWxhYmxlIGZvciBjb21wYXRpYmlsaXR5CisgICAgICAgICAgIHB1cnBvc2VzLgorCiAgICAgLi4gbWV0aG9kOjogc2V0X2RhdGEoc2VsZiwgcGF0aCwgZGF0YSkKIAogICAgICAgICBPcHRpb25hbCBhYnN0cmFjdCBtZXRob2Qgd2hpY2ggd3JpdGVzIHRoZSBzcGVjaWZpZWQgYnl0ZXMgdG8gYSBmaWxlCkBAIC00NDEsNyArNDc3LDkgQEAKIAogICAgIFRoaXMgY2xhc3MgZG9lcyBub3QgcGVyZmVjdGx5IG1pcnJvciB0aGUgc2VtYW50aWNzIG9mIDprZXl3b3JkOmBpbXBvcnRgIGluCiAgICAgdGVybXMgb2YgOmRhdGE6YHN5cy5wYXRoYC4gTm8gaW1wbGljaXQgcGF0aCBob29rcyBhcmUgYXNzdW1lZCBmb3IKLSAgICBzaW1wbGlmaWNhdGlvbiBvZiB0aGUgY2xhc3MgYW5kIGl0cyBzZW1hbnRpY3MuCisgICAgc2ltcGxpZmljYXRpb24gb2YgdGhlIGNsYXNzIGFuZCBpdHMgc2VtYW50aWNzLiBUaGlzIGltcGxpZXMgdGhhdCB3aGVuCisgICAgYGBOb25lYGAgaXMgZm91bmQgaW4gOmRhdGE6YHN5cy5wYXRoX2ltcG9ydGVyX2NhY2hlYCB0aGF0IGl0IGlzIHNpbXBseQorICAgIGlnbm9yZWQgaW5zdGVhZCBvZiBpbXBseWluZyBhIGRlZmF1bHQgZmluZGVyLgogCiAgICAgT25seSBjbGFzcyBtZXRob2RzIGFyZSBkZWZpbmVkIGJ5IHRoaXMgY2xhc3MgdG8gYWxsZXZpYXRlIHRoZSBuZWVkIGZvcgogICAgIGluc3RhbnRpYXRpb24uCkBAIC00NTEsNyArNDg5LDcgQEAKICAgICAgICAgQ2xhc3MgbWV0aG9kIHRoYXQgYXR0ZW1wdHMgdG8gZmluZCBhIDp0ZXJtOmBsb2FkZXJgIGZvciB0aGUgbW9kdWxlCiAgICAgICAgIHNwZWNpZmllZCBieSAqZnVsbG5hbWUqIG9uIDpkYXRhOmBzeXMucGF0aGAgb3IsIGlmIGRlZmluZWQsIG9uCiAgICAgICAgICpwYXRoKi4gRm9yIGVhY2ggcGF0aCBlbnRyeSB0aGF0IGlzIHNlYXJjaGVkLAotICAgICAgICA6ZGF0YTpgc3lzLnBhdGhfaW1wb3J0ZXJfY2FjaGVgIGlzIGNoZWNrZWQuIElmIGFuIG5vbi1mYWxzZSBvYmplY3QgaXMKKyAgICAgICAgOmRhdGE6YHN5cy5wYXRoX2ltcG9ydGVyX2NhY2hlYCBpcyBjaGVja2VkLiBJZiBhIG5vbi1mYWxzZSBvYmplY3QgaXMKICAgICAgICAgZm91bmQgdGhlbiBpdCBpcyB1c2VkIGFzIHRoZSA6dGVybTpgZmluZGVyYCB0byBsb29rIGZvciB0aGUgbW9kdWxlCiAgICAgICAgIGJlaW5nIHNlYXJjaGVkIGZvci4gSWYgbm8gZW50cnkgaXMgZm91bmQgaW4KICAgICAgICAgOmRhdGE6YHN5cy5wYXRoX2ltcG9ydGVyX2NhY2hlYCwgdGhlbiA6ZGF0YTpgc3lzLnBhdGhfaG9va3NgIGlzCkBAIC00NjQsNyArNTAyLDcgQEAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiAuLiBtb2R1bGU6OiBpbXBvcnRsaWIudXRpbAotICAgIDpzeW5vcHNpczogSW1wb3J0ZXJzIGFuZCBwYXRoIGhvb2tzCisgICAgOnN5bm9wc2lzOiBVdGlsaXR5IGNvZGUgZm9yIGltcG9ydGVycwogCiBUaGlzIG1vZHVsZSBjb250YWlucyB0aGUgdmFyaW91cyBvYmplY3RzIHRoYXQgaGVscCBpbiB0aGUgY29uc3RydWN0aW9uIG9mCiBhbiA6dGVybTpgaW1wb3J0ZXJgLgpAQCAtNTAwLDcgKzUzOCw3IEBACiAgICAgdG8gc2V0IHRoZSA6YXR0cjpgX19sb2FkZXJfX2AKICAgICBhdHRyaWJ1dGUgb24gbG9hZGVkIG1vZHVsZXMuIElmIHRoZSBhdHRyaWJ1dGUgaXMgYWxyZWFkeSBzZXQgdGhlIGRlY29yYXRvcgogICAgIGRvZXMgbm90aGluZy4gSXQgaXMgYXNzdW1lZCB0aGF0IHRoZSBmaXJzdCBwb3NpdGlvbmFsIGFyZ3VtZW50IHRvIHRoZQotICAgIHdyYXBwZWQgbWV0aG9kIGlzIHdoYXQgOmF0dHI6YF9fbG9hZGVyX19gIHNob3VsZCBiZSBzZXQgdG8uCisgICAgd3JhcHBlZCBtZXRob2QgKGkuZS4gYGBzZWxmYGApIGlzIHdoYXQgOmF0dHI6YF9fbG9hZGVyX19gIHNob3VsZCBiZSBzZXQgdG8uCiAKIC4uIGRlY29yYXRvcjo6IHNldF9wYWNrYWdlCiAKQEAgLTUxMSw4ICs1NDksOCBAQAogICAgIHNldCBvbiBhbmQgbm90IHRoZSBtb2R1bGUgZm91bmQgaW4gOmRhdGE6YHN5cy5tb2R1bGVzYC4KIAogICAgIFJlbGlhbmNlIG9uIHRoaXMgZGVjb3JhdG9yIGlzIGRpc2NvdXJhZ2VkIHdoZW4gaXQgaXMgcG9zc2libGUgdG8gc2V0Ci0gICAgOmF0dHI6YF9fcGFja2FnZV9fYCBiZWZvcmUgdGhlIGV4ZWN1dGlvbiBvZiB0aGUgY29kZSBpcyBwb3NzaWJsZS4gQnkKLSAgICBzZXR0aW5nIGl0IGJlZm9yZSB0aGUgY29kZSBmb3IgdGhlIG1vZHVsZSBpcyBleGVjdXRlZCBpdCBhbGxvd3MgdGhlCi0gICAgYXR0cmlidXRlIHRvIGJlIHVzZWQgYXQgdGhlIGdsb2JhbCBsZXZlbCBvZiB0aGUgbW9kdWxlIGR1cmluZworICAgIDphdHRyOmBfX3BhY2thZ2VfX2AgYmVmb3JlIGltcG9ydGluZy4gQnkKKyAgICBzZXR0aW5nIGl0IGJlZm9yZWhhbmQgdGhlIGNvZGUgZm9yIHRoZSBtb2R1bGUgaXMgZXhlY3V0ZWQgd2l0aCB0aGUKKyAgICBhdHRyaWJ1dGUgc2V0IGFuZCB0aHVzIGNhbiBiZSB1c2VkIGJ5IGdsb2JhbCBsZXZlbCBjb2RlIGR1cmluZwogICAgIGluaXRpYWxpemF0aW9uLgogCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9pbnNwZWN0LnJzdCBiL0RvYy9saWJyYXJ5L2luc3BlY3QucnN0CmluZGV4IGQxMjdjZTguLmFjNmFlOTkgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L2luc3BlY3QucnN0CisrKyBiL0RvYy9saWJyYXJ5L2luc3BlY3QucnN0CkBAIC0zNTUsMTcgKzM1NSwyNSBAQAogICAgYXJndW1lbnQgbWF5IGJlIGEgbW9kdWxlLCBjbGFzcywgbWV0aG9kLCBmdW5jdGlvbiwgdHJhY2ViYWNrLCBmcmFtZSwgb3IgY29kZQogICAgb2JqZWN0LiAgVGhlIHNvdXJjZSBjb2RlIGlzIHJldHVybmVkIGFzIGEgbGlzdCBvZiB0aGUgbGluZXMgY29ycmVzcG9uZGluZyB0byB0aGUKICAgIG9iamVjdCBhbmQgdGhlIGxpbmUgbnVtYmVyIGluZGljYXRlcyB3aGVyZSBpbiB0aGUgb3JpZ2luYWwgc291cmNlIGZpbGUgdGhlIGZpcnN0Ci0gICBsaW5lIG9mIGNvZGUgd2FzIGZvdW5kLiAgQW4gOmV4YzpgSU9FcnJvcmAgaXMgcmFpc2VkIGlmIHRoZSBzb3VyY2UgY29kZSBjYW5ub3QKKyAgIGxpbmUgb2YgY29kZSB3YXMgZm91bmQuICBBbiA6ZXhjOmBPU0Vycm9yYCBpcyByYWlzZWQgaWYgdGhlIHNvdXJjZSBjb2RlIGNhbm5vdAogICAgYmUgcmV0cmlldmVkLgogCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMworICAgICAgOmV4YzpgT1NFcnJvcmAgaXMgcmFpc2VkIGluc3RlYWQgb2YgOmV4YzpgSU9FcnJvcmAsIG5vdyBhbiBhbGlhcyBvZiB0aGUKKyAgICAgIGZvcm1lci4KKwogCiAuLiBmdW5jdGlvbjo6IGdldHNvdXJjZShvYmplY3QpCiAKICAgIFJldHVybiB0aGUgdGV4dCBvZiB0aGUgc291cmNlIGNvZGUgZm9yIGFuIG9iamVjdC4gVGhlIGFyZ3VtZW50IG1heSBiZSBhIG1vZHVsZSwKICAgIGNsYXNzLCBtZXRob2QsIGZ1bmN0aW9uLCB0cmFjZWJhY2ssIGZyYW1lLCBvciBjb2RlIG9iamVjdC4gIFRoZSBzb3VyY2UgY29kZSBpcwotICAgcmV0dXJuZWQgYXMgYSBzaW5nbGUgc3RyaW5nLiAgQW4gOmV4YzpgSU9FcnJvcmAgaXMgcmFpc2VkIGlmIHRoZSBzb3VyY2UgY29kZQorICAgcmV0dXJuZWQgYXMgYSBzaW5nbGUgc3RyaW5nLiAgQW4gOmV4YzpgT1NFcnJvcmAgaXMgcmFpc2VkIGlmIHRoZSBzb3VyY2UgY29kZQogICAgY2Fubm90IGJlIHJldHJpZXZlZC4KIAorICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjMKKyAgICAgIDpleGM6YE9TRXJyb3JgIGlzIHJhaXNlZCBpbnN0ZWFkIG9mIDpleGM6YElPRXJyb3JgLCBub3cgYW4gYWxpYXMgb2YgdGhlCisgICAgICBmb3JtZXIuCisKIAogLi4gZnVuY3Rpb246OiBjbGVhbmRvYyhkb2MpCiAKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L2lvLnJzdCBiL0RvYy9saWJyYXJ5L2lvLnJzdAppbmRleCBiZWNjNGEyLi40ZDU2NGJiIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9pby5yc3QKKysrIGIvRG9jL2xpYnJhcnkvaW8ucnN0CkBAIC0zMyw2ICszMywxMCBAQAogd2lsbCByYWlzZSBhIGBgVHlwZUVycm9yYGAuICBTbyB3aWxsIGdpdmluZyBhIDpjbGFzczpgYnl0ZXNgIG9iamVjdCB0byB0aGUKIGBgd3JpdGUoKWBgIG1ldGhvZCBvZiBhIHRleHQgc3RyZWFtLgogCisuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMworICAgT3BlcmF0aW9ucyBkZWZpbmVkIGluIHRoaXMgbW9kdWxlIHVzZWQgdG8gcmFpc2UgOmV4YzpgSU9FcnJvcmAsIHdoaWNoIGlzCisgICBub3cgYW4gYWxpYXMgb2YgOmV4YzpgT1NFcnJvcmAuCisKIAogVGV4dCBJL08KIF5eXl5eXl5eCkBAIC0xMDksMjEgKzExMywxMyBAQAogCiAuLiBleGNlcHRpb246OiBCbG9ja2luZ0lPRXJyb3IKIAotICAgRXJyb3IgcmFpc2VkIHdoZW4gYmxvY2tpbmcgd291bGQgb2NjdXIgb24gYSBub24tYmxvY2tpbmcgc3RyZWFtLiAgSXQgaW5oZXJpdHMKLSAgIDpleGM6YElPRXJyb3JgLgotCi0gICBJbiBhZGRpdGlvbiB0byB0aG9zZSBvZiA6ZXhjOmBJT0Vycm9yYCwgOmV4YzpgQmxvY2tpbmdJT0Vycm9yYCBoYXMgb25lCi0gICBhdHRyaWJ1dGU6Ci0KLSAgIC4uIGF0dHJpYnV0ZTo6IGNoYXJhY3RlcnNfd3JpdHRlbgotCi0gICAgICBBbiBpbnRlZ2VyIGNvbnRhaW5pbmcgdGhlIG51bWJlciBvZiBjaGFyYWN0ZXJzIHdyaXR0ZW4gdG8gdGhlIHN0cmVhbQotICAgICAgYmVmb3JlIGl0IGJsb2NrZWQuCisgICBUaGlzIGlzIGEgY29tcGF0aWJpbGl0eSBhbGlhcyBmb3IgdGhlIGJ1aWx0aW4gOmV4YzpgQmxvY2tpbmdJT0Vycm9yYAorICAgZXhjZXB0aW9uLgogCiAKIC4uIGV4Y2VwdGlvbjo6IFVuc3VwcG9ydGVkT3BlcmF0aW9uCiAKLSAgIEFuIGV4Y2VwdGlvbiBpbmhlcml0aW5nIDpleGM6YElPRXJyb3JgIGFuZCA6ZXhjOmBWYWx1ZUVycm9yYCB0aGF0IGlzIHJhaXNlZAorICAgQW4gZXhjZXB0aW9uIGluaGVyaXRpbmcgOmV4YzpgT1NFcnJvcmAgYW5kIDpleGM6YFZhbHVlRXJyb3JgIHRoYXQgaXMgcmFpc2VkCiAgICB3aGVuIGFuIHVuc3VwcG9ydGVkIG9wZXJhdGlvbiBpcyBjYWxsZWQgb24gYSBzdHJlYW0uCiAKIApAQCAtMjAyLDggKzE5OCw4IEBACiAgICBFdmVuIHRob3VnaCA6Y2xhc3M6YElPQmFzZWAgZG9lcyBub3QgZGVjbGFyZSA6bWV0aDpgcmVhZGAsIDptZXRoOmByZWFkaW50b2AsCiAgICBvciA6bWV0aDpgd3JpdGVgIGJlY2F1c2UgdGhlaXIgc2lnbmF0dXJlcyB3aWxsIHZhcnksIGltcGxlbWVudGF0aW9ucyBhbmQKICAgIGNsaWVudHMgc2hvdWxkIGNvbnNpZGVyIHRob3NlIG1ldGhvZHMgcGFydCBvZiB0aGUgaW50ZXJmYWNlLiAgQWxzbywKLSAgIGltcGxlbWVudGF0aW9ucyBtYXkgcmFpc2UgYSA6ZXhjOmBJT0Vycm9yYCB3aGVuIG9wZXJhdGlvbnMgdGhleSBkbyBub3QKLSAgIHN1cHBvcnQgYXJlIGNhbGxlZC4KKyAgIGltcGxlbWVudGF0aW9ucyBtYXkgcmFpc2UgYSA6ZXhjOmBWYWx1ZUVycm9yYCAob3IgOmV4YzpgVW5zdXBwb3J0ZWRPcGVyYXRpb25gKQorICAgd2hlbiBvcGVyYXRpb25zIHRoZXkgZG8gbm90IHN1cHBvcnQgYXJlIGNhbGxlZC4KIAogICAgVGhlIGJhc2ljIHR5cGUgdXNlZCBmb3IgYmluYXJ5IGRhdGEgcmVhZCBmcm9tIG9yIHdyaXR0ZW4gdG8gYSBmaWxlIGlzCiAgICA6Y2xhc3M6YGJ5dGVzYC4gIDpjbGFzczpgYnl0ZWFycmF5YFxzIGFyZSBhY2NlcHRlZCB0b28sIGFuZCBpbiBzb21lIGNhc2VzCkBAIC0yMTEsNyArMjA3LDcgQEAKICAgIDpjbGFzczpgc3RyYCBkYXRhLgogCiAgICBOb3RlIHRoYXQgY2FsbGluZyBhbnkgbWV0aG9kIChldmVuIGlucXVpcmllcykgb24gYSBjbG9zZWQgc3RyZWFtIGlzCi0gICB1bmRlZmluZWQuICBJbXBsZW1lbnRhdGlvbnMgbWF5IHJhaXNlIDpleGM6YElPRXJyb3JgIGluIHRoaXMgY2FzZS4KKyAgIHVuZGVmaW5lZC4gIEltcGxlbWVudGF0aW9ucyBtYXkgcmFpc2UgOmV4YzpgVmFsdWVFcnJvcmAgaW4gdGhpcyBjYXNlLgogCiAgICBJT0Jhc2UgKGFuZCBpdHMgc3ViY2xhc3Nlcykgc3VwcG9ydCB0aGUgaXRlcmF0b3IgcHJvdG9jb2wsIG1lYW5pbmcgdGhhdCBhbgogICAgOmNsYXNzOmBJT0Jhc2VgIG9iamVjdCBjYW4gYmUgaXRlcmF0ZWQgb3ZlciB5aWVsZGluZyB0aGUgbGluZXMgaW4gYSBzdHJlYW0uCkBAIC0yNDQsNyArMjQwLDcgQEAKICAgIC4uIG1ldGhvZDo6IGZpbGVubygpCiAKICAgICAgIFJldHVybiB0aGUgdW5kZXJseWluZyBmaWxlIGRlc2NyaXB0b3IgKGFuIGludGVnZXIpIG9mIHRoZSBzdHJlYW0gaWYgaXQKLSAgICAgIGV4aXN0cy4gIEFuIDpleGM6YElPRXJyb3JgIGlzIHJhaXNlZCBpZiB0aGUgSU8gb2JqZWN0IGRvZXMgbm90IHVzZSBhIGZpbGUKKyAgICAgIGV4aXN0cy4gIEFuIDpleGM6YE9TRXJyb3JgIGlzIHJhaXNlZCBpZiB0aGUgSU8gb2JqZWN0IGRvZXMgbm90IHVzZSBhIGZpbGUKICAgICAgIGRlc2NyaXB0b3IuCiAKICAgIC4uIG1ldGhvZDo6IGZsdXNoKCkKQEAgLTI2MCw3ICsyNTYsNyBAQAogICAgLi4gbWV0aG9kOjogcmVhZGFibGUoKQogCiAgICAgICBSZXR1cm4gYGBUcnVlYGAgaWYgdGhlIHN0cmVhbSBjYW4gYmUgcmVhZCBmcm9tLiAgSWYgRmFsc2UsIDptZXRoOmByZWFkYAotICAgICAgd2lsbCByYWlzZSA6ZXhjOmBJT0Vycm9yYC4KKyAgICAgIHdpbGwgcmFpc2UgOmV4YzpgT1NFcnJvcmAuCiAKICAgIC4uIG1ldGhvZDo6IHJlYWRsaW5lKGxpbWl0PS0xKQogCkBAIC0yOTgsNyArMjk0LDcgQEAKICAgIC4uIG1ldGhvZDo6IHNlZWthYmxlKCkKIAogICAgICAgUmV0dXJuIGBgVHJ1ZWBgIGlmIHRoZSBzdHJlYW0gc3VwcG9ydHMgcmFuZG9tIGFjY2Vzcy4gIElmIGBgRmFsc2VgYCwKLSAgICAgIDptZXRoOmBzZWVrYCwgOm1ldGg6YHRlbGxgIGFuZCA6bWV0aDpgdHJ1bmNhdGVgIHdpbGwgcmFpc2UgOmV4YzpgSU9FcnJvcmAuCisgICAgICA6bWV0aDpgc2Vla2AsIDptZXRoOmB0ZWxsYCBhbmQgOm1ldGg6YHRydW5jYXRlYCB3aWxsIHJhaXNlIDpleGM6YE9TRXJyb3JgLgogCiAgICAuLiBtZXRob2Q6OiB0ZWxsKCkKIApAQCAtMzE2LDcgKzMxMiw3IEBACiAgICAuLiBtZXRob2Q6OiB3cml0YWJsZSgpCiAKICAgICAgIFJldHVybiBgYFRydWVgYCBpZiB0aGUgc3RyZWFtIHN1cHBvcnRzIHdyaXRpbmcuICBJZiBgYEZhbHNlYGAsCi0gICAgICA6bWV0aDpgd3JpdGVgIGFuZCA6bWV0aDpgdHJ1bmNhdGVgIHdpbGwgcmFpc2UgOmV4YzpgSU9FcnJvcmAuCisgICAgICA6bWV0aDpgd3JpdGVgIGFuZCA6bWV0aDpgdHJ1bmNhdGVgIHdpbGwgcmFpc2UgOmV4YzpgT1NFcnJvcmAuCiAKICAgIC4uIG1ldGhvZDo6IHdyaXRlbGluZXMobGluZXMpCiAKQEAgLTQ1MCw3ICs0NDYsNyBAQAogCiAgICAgICBXcml0ZSB0aGUgZ2l2ZW4gYnl0ZXMgb3IgYnl0ZWFycmF5IG9iamVjdCwgKmIqIGFuZCByZXR1cm4gdGhlIG51bWJlcgogICAgICAgb2YgYnl0ZXMgd3JpdHRlbiAobmV2ZXIgbGVzcyB0aGFuIGBgbGVuKGIpYGAsIHNpbmNlIGlmIHRoZSB3cml0ZSBmYWlscwotICAgICAgYW4gOmV4YzpgSU9FcnJvcmAgd2lsbCBiZSByYWlzZWQpLiAgRGVwZW5kaW5nIG9uIHRoZSBhY3R1YWwKKyAgICAgIGFuIDpleGM6YE9TRXJyb3JgIHdpbGwgYmUgcmFpc2VkKS4gIERlcGVuZGluZyBvbiB0aGUgYWN0dWFsCiAgICAgICBpbXBsZW1lbnRhdGlvbiwgdGhlc2UgYnl0ZXMgbWF5IGJlIHJlYWRpbHkgd3JpdHRlbiB0byB0aGUgdW5kZXJseWluZwogICAgICAgc3RyZWFtLCBvciBoZWxkIGluIGEgYnVmZmVyIGZvciBwZXJmb3JtYW5jZSBhbmQgbGF0ZW5jeSByZWFzb25zLgogCkBAIC00NjIsNyArNDU4LDcgQEAKIFJhdyBGaWxlIEkvTwogXl5eXl5eXl5eXl5eCiAKLS4uIGNsYXNzOjogRmlsZUlPKG5hbWUsIG1vZGU9J3InLCBjbG9zZWZkPVRydWUpCisuLiBjbGFzczo6IEZpbGVJTyhuYW1lLCBtb2RlPSdyJywgY2xvc2VmZD1UcnVlLCBvcGVuZXI9Tm9uZSkKIAogICAgOmNsYXNzOmBGaWxlSU9gIHJlcHJlc2VudHMgYW4gT1MtbGV2ZWwgZmlsZSBjb250YWluaW5nIGJ5dGVzIGRhdGEuCiAgICBJdCBpbXBsZW1lbnRzIHRoZSA6Y2xhc3M6YFJhd0lPQmFzZWAgaW50ZXJmYWNlIChhbmQgdGhlcmVmb3JlIHRoZQpAQCAtNDc1LDE0ICs0NzEsMjcgQEAKICAgICogYW4gaW50ZWdlciByZXByZXNlbnRpbmcgdGhlIG51bWJlciBvZiBhbiBleGlzdGluZyBPUy1sZXZlbCBmaWxlIGRlc2NyaXB0b3IKICAgICAgdG8gd2hpY2ggdGhlIHJlc3VsdGluZyA6Y2xhc3M6YEZpbGVJT2Agb2JqZWN0IHdpbGwgZ2l2ZSBhY2Nlc3MuCiAKLSAgIFRoZSAqbW9kZSogY2FuIGJlIGBgJ3InYGAsIGBgJ3cnYGAgb3IgYGAnYSdgYCBmb3IgcmVhZGluZyAoZGVmYXVsdCksIHdyaXRpbmcsCi0gICBvciBhcHBlbmRpbmcuICBUaGUgZmlsZSB3aWxsIGJlIGNyZWF0ZWQgaWYgaXQgZG9lc24ndCBleGlzdCB3aGVuIG9wZW5lZCBmb3IKLSAgIHdyaXRpbmcgb3IgYXBwZW5kaW5nOyBpdCB3aWxsIGJlIHRydW5jYXRlZCB3aGVuIG9wZW5lZCBmb3Igd3JpdGluZy4gIEFkZCBhCisgICBUaGUgKm1vZGUqIGNhbiBiZSBgYCdyJ2BgLCBgYCd3J2BgLCBgYCd4J2BgIG9yIGBgJ2EnYGAgZm9yIHJlYWRpbmcKKyAgIChkZWZhdWx0KSwgd3JpdGluZywgZXhjbHVzaXZlIGNyZWF0aW9uIG9yIGFwcGVuZGluZy4gVGhlIGZpbGUgd2lsbCBiZQorICAgY3JlYXRlZCBpZiBpdCBkb2Vzbid0IGV4aXN0IHdoZW4gb3BlbmVkIGZvciB3cml0aW5nIG9yIGFwcGVuZGluZzsgaXQgd2lsbCBiZQorICAgdHJ1bmNhdGVkIHdoZW4gb3BlbmVkIGZvciB3cml0aW5nLiA6ZXhjOmBGaWxlRXhpc3RzRXJyb3JgIHdpbGwgYmUgcmFpc2VkIGlmCisgICBpdCBhbHJlYWR5IGV4aXN0cyB3aGVuIG9wZW5lZCBmb3IgY3JlYXRpbmcuIE9wZW5pbmcgYSBmaWxlIGZvciBjcmVhdGluZworICAgaW1wbGllcyB3cml0aW5nLCBzbyB0aGlzIG1vZGUgYmVoYXZlcyBpbiBhIHNpbWlsYXIgd2F5IHRvIGBgJ3cnYGAuIEFkZCBhCiAgICBgYCcrJ2BgIHRvIHRoZSBtb2RlIHRvIGFsbG93IHNpbXVsdGFuZW91cyByZWFkaW5nIGFuZCB3cml0aW5nLgogCiAgICBUaGUgOm1ldGg6YHJlYWRgICh3aGVuIGNhbGxlZCB3aXRoIGEgcG9zaXRpdmUgYXJndW1lbnQpLCA6bWV0aDpgcmVhZGludG9gCiAgICBhbmQgOm1ldGg6YHdyaXRlYCBtZXRob2RzIG9uIHRoaXMgY2xhc3Mgd2lsbCBvbmx5IG1ha2Ugb25lIHN5c3RlbSBjYWxsLgogCisgICBBIGN1c3RvbSBvcGVuZXIgY2FuIGJlIHVzZWQgYnkgcGFzc2luZyBhIGNhbGxhYmxlIGFzICpvcGVuZXIqLiBUaGUgdW5kZXJseWluZworICAgZmlsZSBkZXNjcmlwdG9yIGZvciB0aGUgZmlsZSBvYmplY3QgaXMgdGhlbiBvYnRhaW5lZCBieSBjYWxsaW5nICpvcGVuZXIqIHdpdGgKKyAgICgqbmFtZSosICpmbGFncyopLiAqb3BlbmVyKiBtdXN0IHJldHVybiBhbiBvcGVuIGZpbGUgZGVzY3JpcHRvciAocGFzc2luZworICAgOm1vZDpgb3Mub3BlbmAgYXMgKm9wZW5lciogcmVzdWx0cyBpbiBmdW5jdGlvbmFsaXR5IHNpbWlsYXIgdG8gcGFzc2luZworICAgYGBOb25lYGApLgorCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMworICAgICAgVGhlICpvcGVuZXIqIHBhcmFtZXRlciB3YXMgYWRkZWQuCisgICAgICBUaGUgYGAneCdgYCBtb2RlIHdhcyBhZGRlZC4KKwogICAgSW4gYWRkaXRpb24gdG8gdGhlIGF0dHJpYnV0ZXMgYW5kIG1ldGhvZHMgZnJvbSA6Y2xhc3M6YElPQmFzZWAgYW5kCiAgICA6Y2xhc3M6YFJhd0lPQmFzZWAsIDpjbGFzczpgRmlsZUlPYCBwcm92aWRlcyB0aGUgZm9sbG93aW5nIGRhdGEKICAgIGF0dHJpYnV0ZXMgYW5kIG1ldGhvZHM6CkBAIC03MzYsNyArNzQ1LDggQEAKICAgICAgIHdyaXR0ZW4uCiAKIAotLi4gY2xhc3M6OiBUZXh0SU9XcmFwcGVyKGJ1ZmZlciwgZW5jb2Rpbmc9Tm9uZSwgZXJyb3JzPU5vbmUsIG5ld2xpbmU9Tm9uZSwgbGluZV9idWZmZXJpbmc9RmFsc2UpCisuLiBjbGFzczo6IFRleHRJT1dyYXBwZXIoYnVmZmVyLCBlbmNvZGluZz1Ob25lLCBlcnJvcnM9Tm9uZSwgbmV3bGluZT1Ob25lLCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgbGluZV9idWZmZXJpbmc9RmFsc2UsIHdyaXRlX3Rocm91Z2g9RmFsc2UpCiAKICAgIEEgYnVmZmVyZWQgdGV4dCBzdHJlYW0gb3ZlciBhIDpjbGFzczpgQnVmZmVyZWRJT0Jhc2VgIGJpbmFyeSBzdHJlYW0uCiAgICBJdCBpbmhlcml0cyA6Y2xhc3M6YFRleHRJT0Jhc2VgLgpAQCAtNzY3LDYgKzc3NywxMyBAQAogICAgSWYgKmxpbmVfYnVmZmVyaW5nKiBpcyBgYFRydWVgYCwgOm1ldGg6YGZsdXNoYCBpcyBpbXBsaWVkIHdoZW4gYSBjYWxsIHRvCiAgICB3cml0ZSBjb250YWlucyBhIG5ld2xpbmUgY2hhcmFjdGVyLgogCisgICBJZiAqd3JpdGVfdGhyb3VnaCogaXMgYGBUcnVlYGAsIGNhbGxzIHRvIDptZXRoOmB3cml0ZWAgYXJlIGd1YXJhbnRlZWQKKyAgIG5vdCB0byBiZSBidWZmZXJlZDogYW55IGRhdGEgd3JpdHRlbiBvbiB0aGUgOmNsYXNzOmBUZXh0SU9XcmFwcGVyYAorICAgb2JqZWN0IGlzIGltbWVkaWF0ZWx5IGhhbmRsZWQgdG8gaXRzIHVuZGVybHlpbmcgYmluYXJ5ICpidWZmZXIqLgorCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMworICAgICAgVGhlICp3cml0ZV90aHJvdWdoKiBhcmd1bWVudCBoYXMgYmVlbiBhZGRlZC4KKwogICAgOmNsYXNzOmBUZXh0SU9XcmFwcGVyYCBwcm92aWRlcyBvbmUgYXR0cmlidXRlIGluIGFkZGl0aW9uIHRvIHRob3NlIG9mCiAgICA6Y2xhc3M6YFRleHRJT0Jhc2VgIGFuZCBpdHMgcGFyZW50czoKIApkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvaXRlcnRvb2xzLnJzdCBiL0RvYy9saWJyYXJ5L2l0ZXJ0b29scy5yc3QKaW5kZXggZDFkMTE4OC4uOTk0YTI1YSAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvaXRlcnRvb2xzLnJzdAorKysgYi9Eb2MvbGlicmFyeS9pdGVydG9vbHMucnN0CkBAIC00Niw3ICs0Niw3IEBACiA9PT09PT09PT09PT09PT09PT09PSAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09ICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiBJdGVyYXRvciAgICAgICAgICAgICAgICBBcmd1bWVudHMgICAgICAgICAgICAgICAgICAgICAgIFJlc3VsdHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFeGFtcGxlCiA9PT09PT09PT09PT09PT09PT09PSAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09ICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci06ZnVuYzpgYWNjdW11bGF0ZWAgICAgICBwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHAwLCBwMCtwMSwgcDArcDErcDIsIC4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICBgYGFjY3VtdWxhdGUoWzEsMiwzLDQsNV0pIC0tPiAxIDMgNiAxMCAxNWBgCis6ZnVuYzpgYWNjdW11bGF0ZWAgICAgICBwIFssZnVuY10gICAgICAgICAgICAgICAgICAgICAgIHAwLCBwMCtwMSwgcDArcDErcDIsIC4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICBgYGFjY3VtdWxhdGUoWzEsMiwzLDQsNV0pIC0tPiAxIDMgNiAxMCAxNWBgCiA6ZnVuYzpgY2hhaW5gICAgICAgICAgICBwLCBxLCAuLi4gICAgICAgICAgICAgICAgICAgICAgIHAwLCBwMSwgLi4uIHBsYXN0LCBxMCwgcTEsIC4uLiAgICAgICAgICAgICAgICAgICAgICBgYGNoYWluKCdBQkMnLCAnREVGJykgLS0+IEEgQiBDIEQgRSBGYGAKIDpmdW5jOmBjb21wcmVzc2AgICAgICAgIGRhdGEsIHNlbGVjdG9ycyAgICAgICAgICAgICAgICAgKGRbMF0gaWYgc1swXSksIChkWzFdIGlmIHNbMV0pLCAuLi4gICAgICAgICAgICAgICAgIGBgY29tcHJlc3MoJ0FCQ0RFRicsIFsxLDAsMSwwLDEsMV0pIC0tPiBBIEMgRSBGYGAKIDpmdW5jOmBkcm9wd2hpbGVgICAgICAgIHByZWQsIHNlcSAgICAgICAgICAgICAgICAgICAgICAgc2VxW25dLCBzZXFbbisxXSwgc3RhcnRpbmcgd2hlbiBwcmVkIGZhaWxzICAgICAgICAgIGBgZHJvcHdoaWxlKGxhbWJkYSB4OiB4PDUsIFsxLDQsNiw0LDFdKSAtLT4gNiA0IDFgYApAQCAtODQsMjMgKzg0LDYxIEBACiBzdHJlYW1zIG9mIGluZmluaXRlIGxlbmd0aCwgc28gdGhleSBzaG91bGQgb25seSBiZSBhY2Nlc3NlZCBieSBmdW5jdGlvbnMgb3IKIGxvb3BzIHRoYXQgdHJ1bmNhdGUgdGhlIHN0cmVhbS4KIAotLi4gZnVuY3Rpb246OiBhY2N1bXVsYXRlKGl0ZXJhYmxlKQorLi4gZnVuY3Rpb246OiBhY2N1bXVsYXRlKGl0ZXJhYmxlWywgZnVuY10pCiAKICAgICBNYWtlIGFuIGl0ZXJhdG9yIHRoYXQgcmV0dXJucyBhY2N1bXVsYXRlZCBzdW1zLiBFbGVtZW50cyBtYXkgYmUgYW55IGFkZGFibGUKLSAgICB0eXBlIGluY2x1ZGluZyA6Y2xhc3M6YERlY2ltYWxgIG9yIDpjbGFzczpgRnJhY3Rpb25gLiAgRXF1aXZhbGVudCB0bzo6CisgICAgdHlwZSBpbmNsdWRpbmcgOmNsYXNzOmBEZWNpbWFsYCBvciA6Y2xhc3M6YEZyYWN0aW9uYC4gIElmIHRoZSBvcHRpb25hbAorICAgICpmdW5jKiBhcmd1bWVudCBpcyBzdXBwbGllZCwgaXQgc2hvdWxkIGJlIGEgZnVuY3Rpb24gb2YgdHdvIGFyZ3VtZW50cworICAgIGFuZCBpdCB3aWxsIGJlIHVzZWQgaW5zdGVhZCBvZiBhZGRpdGlvbi4KIAotICAgICAgICBkZWYgYWNjdW11bGF0ZShpdGVyYWJsZSk6CisgICAgRXF1aXZhbGVudCB0bzo6CisKKyAgICAgICAgZGVmIGFjY3VtdWxhdGUoaXRlcmFibGUsIGZ1bmM9b3BlcmF0b3IuYWRkKToKICAgICAgICAgICAgICdSZXR1cm4gcnVubmluZyB0b3RhbHMnCiAgICAgICAgICAgICAjIGFjY3VtdWxhdGUoWzEsMiwzLDQsNV0pIC0tPiAxIDMgNiAxMCAxNQorICAgICAgICAgICAgIyBhY2N1bXVsYXRlKFsxLDIsMyw0LDVdLCBvcGVyYXRvci5tdWwpIC0tPiAxIDIgNiAyNCAxMjAKICAgICAgICAgICAgIGl0ID0gaXRlcihpdGVyYWJsZSkKICAgICAgICAgICAgIHRvdGFsID0gbmV4dChpdCkKICAgICAgICAgICAgIHlpZWxkIHRvdGFsCiAgICAgICAgICAgICBmb3IgZWxlbWVudCBpbiBpdDoKLSAgICAgICAgICAgICAgICB0b3RhbCA9IHRvdGFsICsgZWxlbWVudAorICAgICAgICAgICAgICAgIHRvdGFsID0gZnVuYyh0b3RhbCwgZWxlbWVudCkKICAgICAgICAgICAgICAgICB5aWVsZCB0b3RhbAogCisgICAgVGhlcmUgYXJlIGEgbnVtYmVyIG9mIHVzZXMgZm9yIHRoZSAqZnVuYyogYXJndW1lbnQuICBJdCBjYW4gYmUgc2V0IHRvCisgICAgOmZ1bmM6YG1pbmAgZm9yIGEgcnVubmluZyBtaW5pbXVtLCA6ZnVuYzpgbWF4YCBmb3IgYSBydW5uaW5nIG1heGltdW0sIG9yCisgICAgOmZ1bmM6YG9wZXJhdG9yLm11bGAgZm9yIGEgcnVubmluZyBwcm9kdWN0LiAgQW1vcnRpemF0aW9uIHRhYmxlcyBjYW4gYmUKKyAgICBidWlsdCBieSBhY2N1bXVsYXRpbmcgaW50ZXJlc3QgYW5kIGFwcGx5aW5nIHBheW1lbnRzLiAgRmlyc3Qtb3JkZXIKKyAgICBgcmVjdXJyZW5jZSByZWxhdGlvbnMgPGh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvUmVjdXJyZW5jZV9yZWxhdGlvbj5gXworICAgIGNhbiBiZSBtb2RlbGVkIGJ5IHN1cHBseWluZyB0aGUgaW5pdGlhbCB2YWx1ZSBpbiB0aGUgaXRlcmFibGUgYW5kIHVzaW5nIG9ubHkKKyAgICB0aGUgYWNjdW11bGF0ZWQgdG90YWwgaW4gKmZ1bmMqIGFyZ3VtZW50OjoKKworICAgICAgPj4+IGRhdGEgPSBbMywgNCwgNiwgMiwgMSwgOSwgMCwgNywgNSwgOF0KKyAgICAgID4+PiBsaXN0KGFjY3VtdWxhdGUoZGF0YSwgb3BlcmF0b3IubXVsKSkgICAgICMgcnVubmluZyBwcm9kdWN0CisgICAgICBbMywgMTIsIDcyLCAxNDQsIDE0NCwgMTI5NiwgMCwgMCwgMCwgMF0KKyAgICAgID4+PiBsaXN0KGFjY3VtdWxhdGUoZGF0YSwgbWF4KSkgICAgICAgICAgICAgICMgcnVubmluZyBtYXhpbXVtCisgICAgICBbMywgNCwgNiwgNiwgNiwgOSwgOSwgOSwgOSwgOV0KKworICAgICAgIyBBbW9ydGl6ZSBhIDUlIGxvYW4gb2YgMTAwMCB3aXRoIDQgYW5udWFsIHBheW1lbnRzIG9mIDkwCisgICAgICA+Pj4gY2FzaGZsb3dzID0gWzEwMDAsIC05MCwgLTkwLCAtOTAsIC05MF0KKyAgICAgID4+PiBsaXN0KGFjY3VtdWxhdGUoY2FzaGZsb3dzLCBsYW1iZGEgYmFsLCBwbXQ6IGJhbCoxLjA1ICsgcG10KSkKKyAgICAgIFsxMDAwLCA5NjAuMCwgOTE4LjAsIDg3My45MDAwMDAwMDAwMDAxLCA4MjcuNTk1MDAwMDAwMDAwMV0KKworICAgICAgIyBDaGFvdGljIHJlY3VycmVuY2UgcmVsYXRpb24gaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9Mb2dpc3RpY19tYXAKKyAgICAgID4+PiBsb2dpc3RpY19tYXAgPSBsYW1iZGEgeCwgXzogIHIgKiB4ICogKDEgLSB4KQorICAgICAgPj4+IHIgPSAzLjgKKyAgICAgID4+PiB4MCA9IDAuNAorICAgICAgPj4+IGlucHV0cyA9IHJlcGVhdCh4MCwgMzYpICAgICAjIG9ubHkgdGhlIGluaXRpYWwgdmFsdWUgaXMgdXNlZAorICAgICAgPj4+IFtmb3JtYXQoeCwgJy4yZicpIGZvciB4IGluIGFjY3VtdWxhdGUoaW5wdXRzLCBsb2dpc3RpY19tYXApXQorICAgICAgWycwLjQwJywgJzAuOTEnLCAnMC4zMCcsICcwLjgxJywgJzAuNjAnLCAnMC45MicsICcwLjI5JywgJzAuNzknLCAnMC42MycsCisgICAgICAgJzAuODgnICwnMC4zOScsICcwLjkwJywgJzAuMzMnLCAnMC44NCcsICcwLjUyJywgJzAuOTUnLCAnMC4xOCcsICcwLjU3JywKKyAgICAgICAnMC45MycsICcwLjI1JywgJzAuNzEnLCAnMC43OScsICcwLjYzJywgJzAuODgnLCAnMC4zOScsICcwLjkxJywgJzAuMzInLAorICAgICAgICcwLjgzJywgJzAuNTQnLCAnMC45NScsICcwLjIwJywgJzAuNjAnLCAnMC45MScsICcwLjMwJywgJzAuODAnLCAnMC42MCddCisKICAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjIKIAorICAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy4zCisgICAgICAgQWRkZWQgdGhlIG9wdGlvbmFsICpmdW5jKiBwYXJhbWV0ZXIuCisKIC4uIGZ1bmN0aW9uOjogY2hhaW4oKml0ZXJhYmxlcykKIAogICAgTWFrZSBhbiBpdGVyYXRvciB0aGF0IHJldHVybnMgZWxlbWVudHMgZnJvbSB0aGUgZmlyc3QgaXRlcmFibGUgdW50aWwgaXQgaXMKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L2xvZ2dpbmcuaGFuZGxlcnMucnN0IGIvRG9jL2xpYnJhcnkvbG9nZ2luZy5oYW5kbGVycy5yc3QKaW5kZXggYzRkZDQzOC4uNTFlNDc2YiAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvbG9nZ2luZy5oYW5kbGVycy5yc3QKKysrIGIvRG9jL2xpYnJhcnkvbG9nZ2luZy5oYW5kbGVycy5yc3QKQEAgLTE2NCw2ICsxNjQsODcgQEAKICAgICAgIGNoYW5nZWQuICBJZiBpdCBoYXMsIHRoZSBleGlzdGluZyBzdHJlYW0gaXMgZmx1c2hlZCBhbmQgY2xvc2VkIGFuZCB0aGUKICAgICAgIGZpbGUgb3BlbmVkIGFnYWluLCBiZWZvcmUgb3V0cHV0dGluZyB0aGUgcmVjb3JkIHRvIHRoZSBmaWxlLgogCisuLiBfYmFzZS1yb3RhdGluZy1oYW5kbGVyOgorCitCYXNlUm90YXRpbmdIYW5kbGVyCiteXl5eXl5eXl5eXl5eXl5eXl5eCisKK1RoZSA6Y2xhc3M6YEJhc2VSb3RhdGluZ0hhbmRsZXJgIGNsYXNzLCBsb2NhdGVkIGluIHRoZSA6bW9kOmBsb2dnaW5nLmhhbmRsZXJzYAorbW9kdWxlLCBpcyB0aGUgYmFzZSBjbGFzcyBmb3IgdGhlIHJvdGF0aW5nIGZpbGUgaGFuZGxlcnMsCis6Y2xhc3M6YFJvdGF0aW5nRmlsZUhhbmRsZXJgIGFuZCA6Y2xhc3M6YFRpbWVkUm90YXRpbmdGaWxlSGFuZGxlcmAuIFlvdSBzaG91bGQKK25vdCBuZWVkIHRvIGluc3RhbnRpYXRlIHRoaXMgY2xhc3MsIGJ1dCBpdCBoYXMgYXR0cmlidXRlcyBhbmQgbWV0aG9kcyB5b3UgbWF5CituZWVkIHRvIG92ZXJyaWRlLgorCisuLiBjbGFzczo6IEJhc2VSb3RhdGluZ0hhbmRsZXIoZmlsZW5hbWUsIG1vZGUsIGVuY29kaW5nPU5vbmUsIGRlbGF5PUZhbHNlKQorCisgICBUaGUgcGFyYW1ldGVycyBhcmUgYXMgZm9yIDpjbGFzczpgRmlsZUhhbmRsZXJgLiBUaGUgYXR0cmlidXRlcyBhcmU6CisKKyAgIC4uIGF0dHJpYnV0ZTo6IG5hbWVyCisKKyAgICAgIElmIHRoaXMgYXR0cmlidXRlIGlzIHNldCB0byBhIGNhbGxhYmxlLCB0aGUgOm1ldGg6YHJvdGF0aW9uX2ZpbGVuYW1lYAorICAgICAgbWV0aG9kIGRlbGVnYXRlcyB0byB0aGlzIGNhbGxhYmxlLiBUaGUgcGFyYW1ldGVycyBwYXNzZWQgdG8gdGhlIGNhbGxhYmxlCisgICAgICBhcmUgdGhvc2UgcGFzc2VkIHRvIDptZXRoOmByb3RhdGlvbl9maWxlbmFtZWAuCisKKyAgICAgIC4uIG5vdGU6OiBUaGUgbmFtZXIgZnVuY3Rpb24gaXMgY2FsbGVkIHF1aXRlIGEgZmV3IHRpbWVzIGR1cmluZyByb2xsb3ZlciwKKyAgICAgICAgIHNvIGl0IHNob3VsZCBiZSBhcyBzaW1wbGUgYW5kIGFzIGZhc3QgYXMgcG9zc2libGUuIEl0IHNob3VsZCBhbHNvCisgICAgICAgICByZXR1cm4gdGhlIHNhbWUgb3V0cHV0IGV2ZXJ5IHRpbWUgZm9yIGEgZ2l2ZW4gaW5wdXQsIG90aGVyd2lzZSB0aGUKKyAgICAgICAgIHJvbGxvdmVyIGJlaGF2aW91ciBtYXkgbm90IHdvcmsgYXMgZXhwZWN0ZWQuCisKKyAgICAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMworCisKKyAgIC4uIGF0dHJpYnV0ZTo6IEJhc2VSb3RhdGluZ0hhbmRsZXIucm90YXRvcgorCisgICAgICBJZiB0aGlzIGF0dHJpYnV0ZSBpcyBzZXQgdG8gYSBjYWxsYWJsZSwgdGhlIDptZXRoOmByb3RhdGVgIG1ldGhvZAorICAgICAgZGVsZWdhdGVzIHRvIHRoaXMgY2FsbGFibGUuICBUaGUgcGFyYW1ldGVycyBwYXNzZWQgdG8gdGhlIGNhbGxhYmxlIGFyZQorICAgICAgdGhvc2UgcGFzc2VkIHRvIDptZXRoOmByb3RhdGVgLgorCisgICAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKKworICAgLi4gbWV0aG9kOjogQmFzZVJvdGF0aW5nSGFuZGxlci5yb3RhdGlvbl9maWxlbmFtZShkZWZhdWx0X25hbWUpCisKKyAgICAgIE1vZGlmeSB0aGUgZmlsZW5hbWUgb2YgYSBsb2cgZmlsZSB3aGVuIHJvdGF0aW5nLgorCisgICAgICBUaGlzIGlzIHByb3ZpZGVkIHNvIHRoYXQgYSBjdXN0b20gZmlsZW5hbWUgY2FuIGJlIHByb3ZpZGVkLgorCisgICAgICBUaGUgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiBjYWxscyB0aGUgJ25hbWVyJyBhdHRyaWJ1dGUgb2YgdGhlIGhhbmRsZXIsCisgICAgICBpZiBpdCdzIGNhbGxhYmxlLCBwYXNzaW5nIHRoZSBkZWZhdWx0IG5hbWUgdG8gaXQuIElmIHRoZSBhdHRyaWJ1dGUgaXNuJ3QKKyAgICAgIGNhbGxhYmxlICh0aGUgZGVmYXVsdCBpcyBgYE5vbmVgYCksIHRoZSBuYW1lIGlzIHJldHVybmVkIHVuY2hhbmdlZC4KKworICAgICAgOnBhcmFtIGRlZmF1bHRfbmFtZTogVGhlIGRlZmF1bHQgbmFtZSBmb3IgdGhlIGxvZyBmaWxlLgorCisgICAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKKworCisgICAuLiBtZXRob2Q6OiBCYXNlUm90YXRpbmdIYW5kbGVyLnJvdGF0ZShzb3VyY2UsIGRlc3QpCisKKyAgICAgIFdoZW4gcm90YXRpbmcsIHJvdGF0ZSB0aGUgY3VycmVudCBsb2cuCisKKyAgICAgIFRoZSBkZWZhdWx0IGltcGxlbWVudGF0aW9uIGNhbGxzIHRoZSAncm90YXRvcicgYXR0cmlidXRlIG9mIHRoZSBoYW5kbGVyLAorICAgICAgaWYgaXQncyBjYWxsYWJsZSwgcGFzc2luZyB0aGUgc291cmNlIGFuZCBkZXN0IGFyZ3VtZW50cyB0byBpdC4gSWYgdGhlCisgICAgICBhdHRyaWJ1dGUgaXNuJ3QgY2FsbGFibGUgKHRoZSBkZWZhdWx0IGlzIGBgTm9uZWBgKSwgdGhlIHNvdXJjZSBpcyBzaW1wbHkKKyAgICAgIHJlbmFtZWQgdG8gdGhlIGRlc3RpbmF0aW9uLgorCisgICAgICA6cGFyYW0gc291cmNlOiBUaGUgc291cmNlIGZpbGVuYW1lLiBUaGlzIGlzIG5vcm1hbGx5IHRoZSBiYXNlCisgICAgICAgICAgICAgICAgICAgICBmaWxlbmFtZSwgZS5nLiAndGVzdC5sb2cnCisgICAgICA6cGFyYW0gZGVzdDogICBUaGUgZGVzdGluYXRpb24gZmlsZW5hbWUuIFRoaXMgaXMgbm9ybWFsbHkKKyAgICAgICAgICAgICAgICAgICAgIHdoYXQgdGhlIHNvdXJjZSBpcyByb3RhdGVkIHRvLCBlLmcuICd0ZXN0LmxvZy4xJy4KKworICAgICAgLi4gdmVyc2lvbmFkZGVkOjogMy4zCisKK1RoZSByZWFzb24gdGhlIGF0dHJpYnV0ZXMgZXhpc3QgaXMgdG8gc2F2ZSB5b3UgaGF2aW5nIHRvIHN1YmNsYXNzIC0geW91IGNhbiB1c2UKK3RoZSBzYW1lIGNhbGxhYmxlcyBmb3IgaW5zdGFuY2VzIG9mIDpjbGFzczpgUm90YXRpbmdGaWxlSGFuZGxlcmAgYW5kCis6Y2xhc3M6YFRpbWVkUm90YXRpbmdGaWxlSGFuZGxlcmAuIElmIGVpdGhlciB0aGUgbmFtZXIgb3Igcm90YXRvciBjYWxsYWJsZQorcmFpc2VzIGFuIGV4Y2VwdGlvbiwgdGhpcyB3aWxsIGJlIGhhbmRsZWQgaW4gdGhlIHNhbWUgd2F5IGFzIGFueSBvdGhlcgorZXhjZXB0aW9uIGR1cmluZyBhbiA6bWV0aDpgZW1pdGAgY2FsbCwgaS5lLiB2aWEgdGhlIDptZXRoOmBoYW5kbGVFcnJvcmAgbWV0aG9kCitvZiB0aGUgaGFuZGxlci4KKworSWYgeW91IG5lZWQgdG8gbWFrZSBtb3JlIHNpZ25pZmljYW50IGNoYW5nZXMgdG8gcm90YXRpb24gcHJvY2Vzc2luZywgeW91IGNhbgorb3ZlcnJpZGUgdGhlIG1ldGhvZHMuCisKK0ZvciBhbiBleGFtcGxlLCBzZWUgOnJlZjpgY29va2Jvb2stcm90YXRvci1uYW1lcmAuCisKKwogLi4gX3JvdGF0aW5nLWZpbGUtaGFuZGxlcjoKIAogUm90YXRpbmdGaWxlSGFuZGxlcgpAQCAtNDUyLDYgKzUzMywxNSBAQAogICAgICAgICAgYmVoYXZpb3VyKSBidXQgY2FuIGJlIHNldCB0byBgYEZhbHNlYGAgb24gYSBgYFN5c0xvZ0hhbmRsZXJgYCBpbnN0YW5jZQogICAgICAgICAgaW4gb3JkZXIgZm9yIHRoYXQgaW5zdGFuY2UgdG8gKm5vdCogYXBwZW5kIHRoZSBOVUwgdGVybWluYXRvci4KIAorICAgICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjMKKyAgICAgICAgIChTZWU6IDppc3N1ZTpgMTI0MTlgLikgSW4gZWFybGllciB2ZXJzaW9ucywgdGhlcmUgd2FzIG5vIGZhY2lsaXR5IGZvcgorICAgICAgICAgYW4gImlkZW50IiBvciAidGFnIiBwcmVmaXggdG8gaWRlbnRpZnkgdGhlIHNvdXJjZSBvZiB0aGUgbWVzc2FnZS4gVGhpcworICAgICAgICAgY2FuIG5vdyBiZSBzcGVjaWZpZWQgdXNpbmcgYSBjbGFzcy1sZXZlbCBhdHRyaWJ1dGUsIGRlZmF1bHRpbmcgdG8KKyAgICAgICAgIGBgIiJgYCB0byBwcmVzZXJ2ZSBleGlzdGluZyBiZWhhdmlvdXIsIGJ1dCB3aGljaCBjYW4gYmUgb3ZlcnJpZGRlbiBvbgorICAgICAgICAgYSBgYFN5c0xvZ0hhbmRsZXJgYCBpbnN0YW5jZSBpbiBvcmRlciBmb3IgdGhhdCBpbnN0YW5jZSB0byBwcmVwZW5kCisgICAgICAgICB0aGUgaWRlbnQgdG8gZXZlcnkgbWVzc2FnZSBoYW5kbGVkLiBOb3RlIHRoYXQgdGhlIHByb3ZpZGVkIGlkZW50IG11c3QKKyAgICAgICAgIGJlIHRleHQsIG5vdCBieXRlcywgYW5kIGlzIHByZXBlbmRlZCB0byB0aGUgbWVzc2FnZSBleGFjdGx5IGFzIGlzLgorCiAgICAuLiBtZXRob2Q6OiBlbmNvZGVQcmlvcml0eShmYWNpbGl0eSwgcHJpb3JpdHkpCiAKICAgICAgIEVuY29kZXMgdGhlIGZhY2lsaXR5IGFuZCBwcmlvcml0eSBpbnRvIGFuIGludGVnZXIuIFlvdSBjYW4gcGFzcyBpbiBzdHJpbmdzCkBAIC02OTAsNyArNzgwLDcgQEAKIAogICAgLi4gbWV0aG9kOjogY2xvc2UoKQogCi0gICAgICBDYWxscyA6bWV0aDpgZmx1c2hgLCBzZXRzIHRoZSB0YXJnZXQgdG8gOmNvbnN0OmBOb25lYCBhbmQgY2xlYXJzIHRoZQorICAgICAgQ2FsbHMgOm1ldGg6YGZsdXNoYCwgc2V0cyB0aGUgdGFyZ2V0IHRvIGBgTm9uZWBgIGFuZCBjbGVhcnMgdGhlCiAgICAgICBidWZmZXIuCiAKIApAQCAtODU5LDYgKzk0OSwxNSBAQAogICAgICAgTm90ZSB0aGF0IGlmIHlvdSBkb24ndCBjYWxsIHRoaXMgYmVmb3JlIHlvdXIgYXBwbGljYXRpb24gZXhpdHMsIHRoZXJlCiAgICAgICBtYXkgYmUgc29tZSByZWNvcmRzIHN0aWxsIGxlZnQgb24gdGhlIHF1ZXVlLCB3aGljaCB3b24ndCBiZSBwcm9jZXNzZWQuCiAKKyAgIC4uIG1ldGhvZDo6IGVucXVldWVfc2VudGluZWwoKQorCisgICAgICBXcml0ZXMgYSBzZW50aW5lbCB0byB0aGUgcXVldWUgdG8gdGVsbCB0aGUgbGlzdGVuZXIgdG8gcXVpdC4gVGhpcworICAgICAgaW1wbGVtZW50YXRpb24gdXNlcyBgYHB1dF9ub3dhaXQoKWBgLiAgWW91IG1heSB3YW50IHRvIG92ZXJyaWRlIHRoaXMKKyAgICAgIG1ldGhvZCBpZiB5b3Ugd2FudCB0byB1c2UgdGltZW91dHMgb3Igd29yayB3aXRoIGN1c3RvbSBxdWV1ZQorICAgICAgaW1wbGVtZW50YXRpb25zLgorCisgICAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKKwogCiAuLiBzZWVhbHNvOjoKIApkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvbG9nZ2luZy5yc3QgYi9Eb2MvbGlicmFyeS9sb2dnaW5nLnJzdAppbmRleCAxMDA1Yjc5Li5jMmM2YTZmIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9sb2dnaW5nLnJzdAorKysgYi9Eb2MvbGlicmFyeS9sb2dnaW5nLnJzdApAQCAtMjAwLDYgKzIwMCw5IEBACiAgICBMb2dzIGEgbWVzc2FnZSB3aXRoIGxldmVsIDpjb25zdDpgV0FSTklOR2Agb24gdGhpcyBsb2dnZXIuIFRoZSBhcmd1bWVudHMgYXJlCiAgICBpbnRlcnByZXRlZCBhcyBmb3IgOm1ldGg6YGRlYnVnYC4KIAorICAgLi4gbm90ZTo6IFRoZXJlIGlzIGFuIG9ic29sZXRlIG1ldGhvZCBgYHdhcm5gYCB3aGljaCBpcyBmdW5jdGlvbmFsbHkKKyAgICAgIGlkZW50aWNhbCB0byBgYHdhcm5pbmdgYC4gQXMgYGB3YXJuYGAgaXMgZGVwcmVjYXRlZCwgcGxlYXNlIGRvIG5vdCB1c2UKKyAgICAgIGl0IC0gdXNlIGBgd2FybmluZ2BgIGluc3RlYWQuCiAKIC4uIG1ldGhvZDo6IExvZ2dlci5lcnJvcihtc2csICphcmdzLCAqKmt3YXJncykKIApAQCAtNDc5LDYgKzQ4MiwxOSBAQAogICAgICAgd2FudCBhbGwgbG9nZ2luZyB0aW1lcyB0byBiZSBzaG93biBpbiBHTVQsIHNldCB0aGUgYGBjb252ZXJ0ZXJgYAogICAgICAgYXR0cmlidXRlIGluIHRoZSBgYEZvcm1hdHRlcmBgIGNsYXNzLgogCisgICAgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMworICAgICAgICAgUHJldmlvdXNseSwgdGhlIGRlZmF1bHQgSVNPIDg2MDEgZm9ybWF0IHdhcyBoYXJkLWNvZGVkIGFzIGluIHRoaXMKKyAgICAgICAgIGV4YW1wbGU6IGBgMjAxMC0wOS0wNiAyMjozODoxNSwyOTJgYCB3aGVyZSB0aGUgcGFydCBiZWZvcmUgdGhlIGNvbW1hIGlzCisgICAgICAgICBoYW5kbGVkIGJ5IGEgc3RycHRpbWUgZm9ybWF0IHN0cmluZyAoYGAnJVktJW0tJWQgJUg6JU06JVMnYGApLCBhbmQgdGhlCisgICAgICAgICBwYXJ0IGFmdGVyIHRoZSBjb21tYSBpcyBhIG1pbGxpc2Vjb25kIHZhbHVlLiBCZWNhdXNlIHN0cnB0aW1lIGRvZXMgbm90CisgICAgICAgICBoYXZlIGEgZm9ybWF0IHBsYWNlaG9sZGVyIGZvciBtaWxsaXNlY29uZHMsIHRoZSBtaWxsaXNlY29uZCB2YWx1ZSBpcworICAgICAgICAgYXBwZW5kZWQgdXNpbmcgYW5vdGhlciBmb3JtYXQgc3RyaW5nLCBgYCclcywlMDNkJ2BgIOKAkyBhbmQgYm90aCBvZiB0aGVzZQorICAgICAgICAgZm9ybWF0IHN0cmluZ3MgaGF2ZSBiZWVuIGhhcmRjb2RlZCBpbnRvIHRoaXMgbWV0aG9kLiBXaXRoIHRoZSBjaGFuZ2UsCisgICAgICAgICB0aGVzZSBzdHJpbmdzIGFyZSBkZWZpbmVkIGFzIGNsYXNzLWxldmVsIGF0dHJpYnV0ZXMgd2hpY2ggY2FuIGJlCisgICAgICAgICBvdmVycmlkZGVuIGF0IHRoZSBpbnN0YW5jZSBsZXZlbCB3aGVuIGRlc2lyZWQuIFRoZSBuYW1lcyBvZiB0aGUKKyAgICAgICAgIGF0dHJpYnV0ZXMgYXJlIGBgZGVmYXVsdF90aW1lX2Zvcm1hdGBgIChmb3IgdGhlIHN0cnB0aW1lIGZvcm1hdCBzdHJpbmcpCisgICAgICAgICBhbmQgYGBkZWZhdWx0X21zZWNfZm9ybWF0YGAgKGZvciBhcHBlbmRpbmcgdGhlIG1pbGxpc2Vjb25kIHZhbHVlKS4KKwogICAgLi4gbWV0aG9kOjogZm9ybWF0RXhjZXB0aW9uKGV4Y19pbmZvKQogCiAgICAgICBGb3JtYXRzIHRoZSBzcGVjaWZpZWQgZXhjZXB0aW9uIGluZm9ybWF0aW9uIChhIHN0YW5kYXJkIGV4Y2VwdGlvbiB0dXBsZSBhcwpAQCAtODg1LDggKzkwMSwxMiBAQAogCiAuLiBmdW5jdGlvbjo6IHdhcm5pbmcobXNnLCAqYXJncywgKiprd2FyZ3MpCiAKLSAgIExvZ3MgYSBtZXNzYWdlIHdpdGggbGV2ZWwgOmNvbnN0OmBXQVJOSU5HYCBvbiB0aGUgcm9vdCBsb2dnZXIuIFRoZSBhcmd1bWVudHMgYXJlCi0gICBpbnRlcnByZXRlZCBhcyBmb3IgOmZ1bmM6YGRlYnVnYC4KKyAgIExvZ3MgYSBtZXNzYWdlIHdpdGggbGV2ZWwgOmNvbnN0OmBXQVJOSU5HYCBvbiB0aGUgcm9vdCBsb2dnZXIuIFRoZSBhcmd1bWVudHMKKyAgIGFyZSBpbnRlcnByZXRlZCBhcyBmb3IgOmZ1bmM6YGRlYnVnYC4KKworICAgLi4gbm90ZTo6IFRoZXJlIGlzIGFuIG9ic29sZXRlIGZ1bmN0aW9uIGBgd2FybmBgIHdoaWNoIGlzIGZ1bmN0aW9uYWxseQorICAgICAgaWRlbnRpY2FsIHRvIGBgd2FybmluZ2BgLiBBcyBgYHdhcm5gYCBpcyBkZXByZWNhdGVkLCBwbGVhc2UgZG8gbm90IHVzZQorICAgICAgaXQgLSB1c2UgYGB3YXJuaW5nYGAgaW5zdGVhZC4KIAogCiAuLiBmdW5jdGlvbjo6IGVycm9yKG1zZywgKmFyZ3MsICoqa3dhcmdzKQpAQCAtMTAxMSwxMiArMTAzMSwyNyBAQAogICAgfCBgYHN0cmVhbWBgICAgfCBVc2UgdGhlIHNwZWNpZmllZCBzdHJlYW0gdG8gaW5pdGlhbGl6ZSB0aGUgIHwKICAgIHwgICAgICAgICAgICAgIHwgU3RyZWFtSGFuZGxlci4gTm90ZSB0aGF0IHRoaXMgYXJndW1lbnQgaXMgICB8CiAgICB8ICAgICAgICAgICAgICB8IGluY29tcGF0aWJsZSB3aXRoICdmaWxlbmFtZScgLSBpZiBib3RoIGFyZSAgfAotICAgfCAgICAgICAgICAgICAgfCBwcmVzZW50LCAnc3RyZWFtJyBpcyBpZ25vcmVkLiAgICAgICAgICAgICAgIHwKKyAgIHwgICAgICAgICAgICAgIHwgcHJlc2VudCwgYSBgYFZhbHVlRXJyb3JgYCBpcyByYWlzZWQuICAgICAgICB8CisgICArLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworICAgfCBgYGhhbmRsZXJzYGAgfCBJZiBzcGVjaWZpZWQsIHRoaXMgc2hvdWxkIGJlIGFuIGl0ZXJhYmxlIG9mIHwKKyAgIHwgICAgICAgICAgICAgIHwgYWxyZWFkeSBjcmVhdGVkIGhhbmRsZXJzIHRvIGFkZCB0byB0aGUgcm9vdCB8CisgICB8ICAgICAgICAgICAgICB8IGxvZ2dlci4gQW55IGhhbmRsZXJzIHdoaWNoIGRvbid0IGFscmVhZHkgICAgfAorICAgfCAgICAgICAgICAgICAgfCBoYXZlIGEgZm9ybWF0dGVyIHNldCB3aWxsIGJlIGFzc2lnbmVkIHRoZSAgIHwKKyAgIHwgICAgICAgICAgICAgIHwgZGVmYXVsdCBmb3JtYXR0ZXIgY3JlYXRlZCBpbiB0aGlzIGZ1bmN0aW9uLiB8CisgICB8ICAgICAgICAgICAgICB8IE5vdGUgdGhhdCB0aGlzIGFyZ3VtZW50IGlzIGluY29tcGF0aWJsZSAgICAgfAorICAgfCAgICAgICAgICAgICAgfCB3aXRoICdmaWxlbmFtZScgb3IgJ3N0cmVhbScgLSBpZiBib3RoIGFyZSAgIHwKKyAgIHwgICAgICAgICAgICAgIHwgcHJlc2VudCwgYSBgYFZhbHVlRXJyb3JgYCBpcyByYWlzZWQuICAgICAgICB8CiAgICArLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwogCiAgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMgogICAgICAgVGhlIGBgc3R5bGVgYCBhcmd1bWVudCB3YXMgYWRkZWQuCiAKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy4zCisgICAgICBUaGUgYGBoYW5kbGVyc2BgIGFyZ3VtZW50IHdhcyBhZGRlZC4gQWRkaXRpb25hbCBjaGVja3Mgd2VyZSBhZGRlZCB0bworICAgICAgY2F0Y2ggc2l0dWF0aW9ucyB3aGVyZSBpbmNvbXBhdGlibGUgYXJndW1lbnRzIGFyZSBzcGVjaWZpZWQgKGUuZy4KKyAgICAgIGBgaGFuZGxlcnNgYCB0b2dldGhlciB3aXRoIGBgc3RyZWFtYGAgb3IgYGBmaWxlbmFtZWBgLCBvciBgYHN0cmVhbWBgCisgICAgICB0b2dldGhlciB3aXRoIGBgZmlsZW5hbWVgYCkuCisKIAogLi4gZnVuY3Rpb246OiBzaHV0ZG93bigpCiAKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L2x6bWEucnN0IGIvRG9jL2xpYnJhcnkvbHptYS5yc3QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2FlMDViNgotLS0gL2Rldi9udWxsCisrKyBiL0RvYy9saWJyYXJ5L2x6bWEucnN0CkBAIC0wLDAgKzEsMzQ5IEBACis6bW9kOmBsem1hYCAtLS0gQ29tcHJlc3Npb24gdXNpbmcgdGhlIExaTUEgYWxnb3JpdGhtCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKKy4uIG1vZHVsZTo6IGx6bWEKKyAgIDpzeW5vcHNpczogQSBQeXRob24gd3JhcHBlciBmb3IgdGhlIGxpYmx6bWEgY29tcHJlc3Npb24gbGlicmFyeS4KKy4uIG1vZHVsZWF1dGhvcjo6IE5hZGVlbSBWYXdkYSA8bmFkZWVtLnZhd2RhQGdtYWlsLmNvbT4KKy4uIHNlY3Rpb25hdXRob3I6OiBOYWRlZW0gVmF3ZGEgPG5hZGVlbS52YXdkYUBnbWFpbC5jb20+CisKKy4uIHZlcnNpb25hZGRlZDo6IDMuMworCisKK1RoaXMgbW9kdWxlIHByb3ZpZGVzIGNsYXNzZXMgYW5kIGNvbnZlbmllbmNlIGZ1bmN0aW9ucyBmb3IgY29tcHJlc3NpbmcgYW5kCitkZWNvbXByZXNzaW5nIGRhdGEgdXNpbmcgdGhlIExaTUEgY29tcHJlc3Npb24gYWxnb3JpdGhtLiBBbHNvIGluY2x1ZGVkIGlzIGEgZmlsZQoraW50ZXJmYWNlIHN1cHBvcnRpbmcgdGhlIGBgLnh6YGAgYW5kIGxlZ2FjeSBgYC5sem1hYGAgZmlsZSBmb3JtYXRzIHVzZWQgYnkgdGhlCis6cHJvZ3JhbTpgeHpgIHV0aWxpdHksIGFzIHdlbGwgYXMgcmF3IGNvbXByZXNzZWQgc3RyZWFtcy4KKworVGhlIGludGVyZmFjZSBwcm92aWRlZCBieSB0aGlzIG1vZHVsZSBpcyB2ZXJ5IHNpbWlsYXIgdG8gdGhhdCBvZiB0aGUgOm1vZDpgYnoyYAorbW9kdWxlLiBIb3dldmVyLCBub3RlIHRoYXQgOmNsYXNzOmBMWk1BRmlsZWAgaXMgKm5vdCogdGhyZWFkLXNhZmUsIHVubGlrZQorOmNsYXNzOmBiejIuQloyRmlsZWAsIHNvIGlmIHlvdSBuZWVkIHRvIHVzZSBhIHNpbmdsZSA6Y2xhc3M6YExaTUFGaWxlYCBpbnN0YW5jZQorZnJvbSBtdWx0aXBsZSB0aHJlYWRzLCBpdCBpcyBuZWNlc3NhcnkgdG8gcHJvdGVjdCBpdCB3aXRoIGEgbG9jay4KKworCisuLiBleGNlcHRpb246OiBMWk1BRXJyb3IKKworICAgVGhpcyBleGNlcHRpb24gaXMgcmFpc2VkIHdoZW4gYW4gZXJyb3Igb2NjdXJzIGR1cmluZyBjb21wcmVzc2lvbiBvcgorICAgZGVjb21wcmVzc2lvbiwgb3Igd2hpbGUgaW5pdGlhbGl6aW5nIHRoZSBjb21wcmVzc29yL2RlY29tcHJlc3NvciBzdGF0ZS4KKworCitSZWFkaW5nIGFuZCB3cml0aW5nIGNvbXByZXNzZWQgZmlsZXMKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisuLiBjbGFzczo6IExaTUFGaWxlKGZpbGVuYW1lPU5vbmUsIG1vZGU9InIiLCBcKiwgZmlsZW9iaj1Ob25lLCBmb3JtYXQ9Tm9uZSwgY2hlY2s9LTEsIHByZXNldD1Ob25lLCBmaWx0ZXJzPU5vbmUpCisKKyAgIE9wZW4gYW4gTFpNQS1jb21wcmVzc2VkIGZpbGUuCisKKyAgIEFuIDpjbGFzczpgTFpNQUZpbGVgIGNhbiB3cmFwIGFuIGV4aXN0aW5nIDp0ZXJtOmBmaWxlIG9iamVjdGAgKGdpdmVuIGJ5CisgICAqZmlsZW9iaiopLCBvciBvcGVyYXRlIGRpcmVjdGx5IG9uIGEgbmFtZWQgZmlsZSAobmFtZWQgYnkgKmZpbGVuYW1lKikuCisgICBFeGFjdGx5IG9uZSBvZiB0aGVzZSB0d28gcGFyYW1ldGVycyBzaG91bGQgYmUgcHJvdmlkZWQuIElmICpmaWxlb2JqKiBpcworICAgcHJvdmlkZWQsIGl0IGlzIG5vdCBjbG9zZWQgd2hlbiB0aGUgOmNsYXNzOmBMWk1BRmlsZWAgaXMgY2xvc2VkLgorCisgICBUaGUgKm1vZGUqIGFyZ3VtZW50IGNhbiBiZSBlaXRoZXIgYGAiciJgYCBmb3IgcmVhZGluZyAoZGVmYXVsdCksIGBgInciYGAgZm9yCisgICBvdmVyd3JpdGluZywgb3IgYGAiYSJgYCBmb3IgYXBwZW5kaW5nLiBJZiAqZmlsZW9iaiogaXMgcHJvdmlkZWQsIGEgbW9kZSBvZgorICAgYGAidyJgYCBkb2VzIG5vdCB0cnVuY2F0ZSB0aGUgZmlsZSwgYW5kIGlzIGluc3RlYWQgZXF1aXZhbGVudCB0byBgYCJhImBgLgorCisgICBXaGVuIG9wZW5pbmcgYSBmaWxlIGZvciByZWFkaW5nLCB0aGUgaW5wdXQgZmlsZSBtYXkgYmUgdGhlIGNvbmNhdGVuYXRpb24gb2YKKyAgIG11bHRpcGxlIHNlcGFyYXRlIGNvbXByZXNzZWQgc3RyZWFtcy4gVGhlc2UgYXJlIHRyYW5zcGFyZW50bHkgZGVjb2RlZCBhcyBhCisgICBzaW5nbGUgbG9naWNhbCBzdHJlYW0uCisKKyAgIFdoZW4gb3BlbmluZyBhIGZpbGUgZm9yIHJlYWRpbmcsIHRoZSAqZm9ybWF0KiBhbmQgKmZpbHRlcnMqIGFyZ3VtZW50cyBoYXZlCisgICB0aGUgc2FtZSBtZWFuaW5ncyBhcyBmb3IgOmNsYXNzOmBMWk1BRGVjb21wcmVzc29yYC4gSW4gdGhpcyBjYXNlLCB0aGUgKmNoZWNrKgorICAgYW5kICpwcmVzZXQqIGFyZ3VtZW50cyBzaG91bGQgbm90IGJlIHVzZWQuCisKKyAgIFdoZW4gb3BlbmluZyBhIGZpbGUgZm9yIHdyaXRpbmcsIHRoZSAqZm9ybWF0KiwgKmNoZWNrKiwgKnByZXNldCogYW5kCisgICAqZmlsdGVycyogYXJndW1lbnRzIGhhdmUgdGhlIHNhbWUgbWVhbmluZ3MgYXMgZm9yIDpjbGFzczpgTFpNQUNvbXByZXNzb3JgLgorCisgICA6Y2xhc3M6YExaTUFGaWxlYCBzdXBwb3J0cyBhbGwgdGhlIG1lbWJlcnMgc3BlY2lmaWVkIGJ5CisgICA6Y2xhc3M6YGlvLkJ1ZmZlcmVkSU9CYXNlYCwgZXhjZXB0IGZvciA6bWV0aDpgZGV0YWNoYCBhbmQgOm1ldGg6YHRydW5jYXRlYC4KKyAgIEl0ZXJhdGlvbiBhbmQgdGhlIDprZXl3b3JkOmB3aXRoYCBzdGF0ZW1lbnQgYXJlIHN1cHBvcnRlZC4KKworICAgVGhlIGZvbGxvd2luZyBtZXRob2QgaXMgYWxzbyBwcm92aWRlZDoKKworICAgLi4gbWV0aG9kOjogcGVlayhzaXplPS0xKQorCisgICAgICBSZXR1cm4gYnVmZmVyZWQgZGF0YSB3aXRob3V0IGFkdmFuY2luZyB0aGUgZmlsZSBwb3NpdGlvbi4gQXQgbGVhc3Qgb25lCisgICAgICBieXRlIG9mIGRhdGEgd2lsbCBiZSByZXR1cm5lZCwgdW5sZXNzIEVPRiBoYXMgYmVlbiByZWFjaGVkLiBUaGUgZXhhY3QKKyAgICAgIG51bWJlciBvZiBieXRlcyByZXR1cm5lZCBpcyB1bnNwZWNpZmllZCAodGhlICpzaXplKiBhcmd1bWVudCBpcyBpZ25vcmVkKS4KKworCitDb21wcmVzc2luZyBhbmQgZGVjb21wcmVzc2luZyBkYXRhIGluIG1lbW9yeQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworLi4gY2xhc3M6OiBMWk1BQ29tcHJlc3Nvcihmb3JtYXQ9Rk9STUFUX1haLCBjaGVjaz0tMSwgcHJlc2V0PU5vbmUsIGZpbHRlcnM9Tm9uZSkKKworICAgQ3JlYXRlIGEgY29tcHJlc3NvciBvYmplY3QsIHdoaWNoIGNhbiBiZSB1c2VkIHRvIGNvbXByZXNzIGRhdGEgaW5jcmVtZW50YWxseS4KKworICAgRm9yIGEgbW9yZSBjb252ZW5pZW50IHdheSBvZiBjb21wcmVzc2luZyBhIHNpbmdsZSBjaHVuayBvZiBkYXRhLCBzZWUKKyAgIDpmdW5jOmBjb21wcmVzc2AuCisKKyAgIFRoZSAqZm9ybWF0KiBhcmd1bWVudCBzcGVjaWZpZXMgd2hhdCBjb250YWluZXIgZm9ybWF0IHNob3VsZCBiZSB1c2VkLgorICAgUG9zc2libGUgdmFsdWVzIGFyZToKKworICAgKiA6Y29uc3Q6YEZPUk1BVF9YWmA6IFRoZSBgYC54emBgIGNvbnRhaW5lciBmb3JtYXQuCisgICAgICBUaGlzIGlzIHRoZSBkZWZhdWx0IGZvcm1hdC4KKworICAgKiA6Y29uc3Q6YEZPUk1BVF9BTE9ORWA6IFRoZSBsZWdhY3kgYGAubHptYWBgIGNvbnRhaW5lciBmb3JtYXQuCisgICAgICBUaGlzIGZvcm1hdCBpcyBtb3JlIGxpbWl0ZWQgdGhhbiBgYC54emBgIC0tIGl0IGRvZXMgbm90IHN1cHBvcnQgaW50ZWdyaXR5CisgICAgICBjaGVja3Mgb3IgbXVsdGlwbGUgZmlsdGVycy4KKworICAgKiA6Y29uc3Q6YEZPUk1BVF9SQVdgOiBBIHJhdyBkYXRhIHN0cmVhbSwgbm90IHVzaW5nIGFueSBjb250YWluZXIgZm9ybWF0LgorICAgICAgVGhpcyBmb3JtYXQgc3BlY2lmaWVyIGRvZXMgbm90IHN1cHBvcnQgaW50ZWdyaXR5IGNoZWNrcywgYW5kIHJlcXVpcmVzIHRoYXQKKyAgICAgIHlvdSBhbHdheXMgc3BlY2lmeSBhIGN1c3RvbSBmaWx0ZXIgY2hhaW4gKGZvciBib3RoIGNvbXByZXNzaW9uIGFuZAorICAgICAgZGVjb21wcmVzc2lvbikuIEFkZGl0aW9uYWxseSwgZGF0YSBjb21wcmVzc2VkIGluIHRoaXMgbWFubmVyIGNhbm5vdCBiZQorICAgICAgZGVjb21wcmVzc2VkIHVzaW5nIDpjb25zdDpgRk9STUFUX0FVVE9gIChzZWUgOmNsYXNzOmBMWk1BRGVjb21wcmVzc29yYCkuCisKKyAgIFRoZSAqY2hlY2sqIGFyZ3VtZW50IHNwZWNpZmllcyB0aGUgdHlwZSBvZiBpbnRlZ3JpdHkgY2hlY2sgdG8gaW5jbHVkZSBpbiB0aGUKKyAgIGNvbXByZXNzZWQgZGF0YS4gVGhpcyBjaGVjayBpcyB1c2VkIHdoZW4gZGVjb21wcmVzc2luZywgdG8gZW5zdXJlIHRoYXQgdGhlCisgICBkYXRhIGhhcyBub3QgYmVlbiBjb3JydXB0ZWQuIFBvc3NpYmxlIHZhbHVlcyBhcmU6CisKKyAgICogOmNvbnN0OmBDSEVDS19OT05FYDogTm8gaW50ZWdyaXR5IGNoZWNrLgorICAgICBUaGlzIGlzIHRoZSBkZWZhdWx0IChhbmQgdGhlIG9ubHkgYWNjZXB0YWJsZSB2YWx1ZSkgZm9yCisgICAgIDpjb25zdDpgRk9STUFUX0FMT05FYCBhbmQgOmNvbnN0OmBGT1JNQVRfUkFXYC4KKworICAgKiA6Y29uc3Q6YENIRUNLX0NSQzMyYDogMzItYml0IEN5Y2xpYyBSZWR1bmRhbmN5IENoZWNrLgorCisgICAqIDpjb25zdDpgQ0hFQ0tfQ1JDNjRgOiA2NC1iaXQgQ3ljbGljIFJlZHVuZGFuY3kgQ2hlY2suCisgICAgIFRoaXMgaXMgdGhlIGRlZmF1bHQgZm9yIDpjb25zdDpgRk9STUFUX1haYC4KKworICAgKiA6Y29uc3Q6YENIRUNLX1NIQTI1NmA6IDI1Ni1iaXQgU2VjdXJlIEhhc2ggQWxnb3JpdGhtLgorCisgICBJZiB0aGUgc3BlY2lmaWVkIGNoZWNrIGlzIG5vdCBzdXBwb3J0ZWQsIGFuIDpjbGFzczpgTFpNQUVycm9yYCBpcyByYWlzZWQuCisKKyAgIFRoZSBjb21wcmVzc2lvbiBzZXR0aW5ncyBjYW4gYmUgc3BlY2lmaWVkIGVpdGhlciBhcyBhIHByZXNldCBjb21wcmVzc2lvbgorICAgbGV2ZWwgKHdpdGggdGhlICpwcmVzZXQqIGFyZ3VtZW50KSwgb3IgaW4gZGV0YWlsIGFzIGEgY3VzdG9tIGZpbHRlciBjaGFpbgorICAgKHdpdGggdGhlICpmaWx0ZXJzKiBhcmd1bWVudCkuCisKKyAgIFRoZSAqcHJlc2V0KiBhcmd1bWVudCAoaWYgcHJvdmlkZWQpIHNob3VsZCBiZSBhbiBpbnRlZ2VyIGJldHdlZW4gYGAwYGAgYW5kCisgICBgYDlgYCAoaW5jbHVzaXZlKSwgb3B0aW9uYWxseSBPUi1lZCB3aXRoIHRoZSBjb25zdGFudAorICAgOmNvbnN0OmBQUkVTRVRfRVhUUkVNRWAuIElmIG5laXRoZXIgKnByZXNldCogbm9yICpmaWx0ZXJzKiBhcmUgZ2l2ZW4sIHRoZQorICAgZGVmYXVsdCBiZWhhdmlvciBpcyB0byB1c2UgOmNvbnN0OmBQUkVTRVRfREVGQVVMVGAgKHByZXNldCBsZXZlbCBgYDZgYCkuCisgICBIaWdoZXIgcHJlc2V0cyBwcm9kdWNlIHNtYWxsZXIgb3V0cHV0LCBidXQgbWFrZSB0aGUgY29tcHJlc3Npb24gcHJvY2VzcworICAgc2xvd2VyLgorCisgICAuLiBub3RlOjoKKworICAgICAgSW4gYWRkaXRpb24gdG8gYmVpbmcgbW9yZSBDUFUtaW50ZW5zaXZlLCBjb21wcmVzc2lvbiB3aXRoIGhpZ2hlciBwcmVzZXRzCisgICAgICBhbHNvIHJlcXVpcmVzIG11Y2ggbW9yZSBtZW1vcnkgKGFuZCBwcm9kdWNlcyBvdXRwdXQgdGhhdCBuZWVkcyBtb3JlIG1lbW9yeQorICAgICAgdG8gZGVjb21wcmVzcykuIFdpdGggcHJlc2V0IGBgOWBgIGZvciBleGFtcGxlLCB0aGUgb3ZlcmhlYWQgZm9yIGFuCisgICAgICA6Y2xhc3M6YExaTUFDb21wcmVzc29yYCBvYmplY3QgY2FuIGJlIGFzIGhpZ2ggYXMgODAwTWlCLiBGb3IgdGhpcyByZWFzb24sCisgICAgICBpdCBpcyBnZW5lcmFsbHkgYmVzdCB0byBzdGljayB3aXRoIHRoZSBkZWZhdWx0IHByZXNldC4KKworICAgVGhlICpmaWx0ZXJzKiBhcmd1bWVudCAoaWYgcHJvdmlkZWQpIHNob3VsZCBiZSBhIGZpbHRlciBjaGFpbiBzcGVjaWZpZXIuCisgICBTZWUgOnJlZjpgZmlsdGVyLWNoYWluLXNwZWNzYCBmb3IgZGV0YWlscy4KKworICAgLi4gbWV0aG9kOjogY29tcHJlc3MoZGF0YSkKKworICAgICAgQ29tcHJlc3MgKmRhdGEqIChhIDpjbGFzczpgYnl0ZXNgIG9iamVjdCksIHJldHVybmluZyBhIDpjbGFzczpgYnl0ZXNgCisgICAgICBvYmplY3QgY29udGFpbmluZyBjb21wcmVzc2VkIGRhdGEgZm9yIGF0IGxlYXN0IHBhcnQgb2YgdGhlIGlucHV0LiBTb21lIG9mCisgICAgICAqZGF0YSogbWF5IGJlIGJ1ZmZlcmVkIGludGVybmFsbHksIGZvciB1c2UgaW4gbGF0ZXIgY2FsbHMgdG8KKyAgICAgIDptZXRoOmBjb21wcmVzc2AgYW5kIDptZXRoOmBmbHVzaGAuIFRoZSByZXR1cm5lZCBkYXRhIHNob3VsZCBiZQorICAgICAgY29uY2F0ZW5hdGVkIHdpdGggdGhlIG91dHB1dCBvZiBhbnkgcHJldmlvdXMgY2FsbHMgdG8gOm1ldGg6YGNvbXByZXNzYC4KKworICAgLi4gbWV0aG9kOjogZmx1c2goKQorCisgICAgICBGaW5pc2ggdGhlIGNvbXByZXNzaW9uIHByb2Nlc3MsIHJldHVybmluZyBhIDpjbGFzczpgYnl0ZXNgIG9iamVjdAorICAgICAgY29udGFpbmluZyBhbnkgZGF0YSBzdG9yZWQgaW4gdGhlIGNvbXByZXNzb3IncyBpbnRlcm5hbCBidWZmZXJzLgorCisgICAgICBUaGUgY29tcHJlc3NvciBjYW5ub3QgYmUgdXNlZCBhZnRlciB0aGlzIG1ldGhvZCBoYXMgYmVlbiBjYWxsZWQuCisKKworLi4gY2xhc3M6OiBMWk1BRGVjb21wcmVzc29yKGZvcm1hdD1GT1JNQVRfQVVUTywgbWVtbGltaXQ9Tm9uZSwgZmlsdGVycz1Ob25lKQorCisgICBDcmVhdGUgYSBkZWNvbXByZXNzb3Igb2JqZWN0LCB3aGljaCBjYW4gYmUgdXNlZCB0byBkZWNvbXByZXNzIGRhdGEKKyAgIGluY3JlbWVudGFsbHkuCisKKyAgIEZvciBhIG1vcmUgY29udmVuaWVudCB3YXkgb2YgZGVjb21wcmVzc2luZyBhbiBlbnRpcmUgY29tcHJlc3NlZCBzdHJlYW0gYXQKKyAgIG9uY2UsIHNlZSA6ZnVuYzpgZGVjb21wcmVzc2AuCisKKyAgIFRoZSAqZm9ybWF0KiBhcmd1bWVudCBzcGVjaWZpZXMgdGhlIGNvbnRhaW5lciBmb3JtYXQgdGhhdCBzaG91bGQgYmUgdXNlZC4gVGhlCisgICBkZWZhdWx0IGlzIDpjb25zdDpgRk9STUFUX0FVVE9gLCB3aGljaCBjYW4gZGVjb21wcmVzcyBib3RoIGBgLnh6YGAgYW5kCisgICBgYC5sem1hYGAgZmlsZXMuIE90aGVyIHBvc3NpYmxlIHZhbHVlcyBhcmUgOmNvbnN0OmBGT1JNQVRfWFpgLAorICAgOmNvbnN0OmBGT1JNQVRfQUxPTkVgLCBhbmQgOmNvbnN0OmBGT1JNQVRfUkFXYC4KKworICAgVGhlICptZW1saW1pdCogYXJndW1lbnQgc3BlY2lmaWVzIGEgbGltaXQgKGluIGJ5dGVzKSBvbiB0aGUgYW1vdW50IG9mIG1lbW9yeQorICAgdGhhdCB0aGUgZGVjb21wcmVzc29yIGNhbiB1c2UuIFdoZW4gdGhpcyBhcmd1bWVudCBpcyB1c2VkLCBkZWNvbXByZXNzaW9uIHdpbGwKKyAgIGZhaWwgd2l0aCBhbiA6Y2xhc3M6YExaTUFFcnJvcmAgaWYgaXQgaXMgbm90IHBvc3NpYmxlIHRvIGRlY29tcHJlc3MgdGhlIGlucHV0CisgICB3aXRoaW4gdGhlIGdpdmVuIG1lbW9yeSBsaW1pdC4KKworICAgVGhlICpmaWx0ZXJzKiBhcmd1bWVudCBzcGVjaWZpZXMgdGhlIGZpbHRlciBjaGFpbiB0aGF0IHdhcyB1c2VkIHRvIGNyZWF0ZQorICAgdGhlIHN0cmVhbSBiZWluZyBkZWNvbXByZXNzZWQuIFRoaXMgYXJndW1lbnQgaXMgcmVxdWlyZWQgaWYgKmZvcm1hdCogaXMKKyAgIDpjb25zdDpgRk9STUFUX1JBV2AsIGJ1dCBzaG91bGQgbm90IGJlIHVzZWQgZm9yIG90aGVyIGZvcm1hdHMuCisgICBTZWUgOnJlZjpgZmlsdGVyLWNoYWluLXNwZWNzYCBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCBmaWx0ZXIgY2hhaW5zLgorCisgICAuLiBub3RlOjoKKyAgICAgIFRoaXMgY2xhc3MgZG9lcyBub3QgdHJhbnNwYXJlbnRseSBoYW5kbGUgaW5wdXRzIGNvbnRhaW5pbmcgbXVsdGlwbGUKKyAgICAgIGNvbXByZXNzZWQgc3RyZWFtcywgdW5saWtlIDpmdW5jOmBkZWNvbXByZXNzYCBhbmQgOmNsYXNzOmBMWk1BRmlsZWAuIFRvCisgICAgICBkZWNvbXByZXNzIGEgbXVsdGktc3RyZWFtIGlucHV0IHdpdGggOmNsYXNzOmBMWk1BRGVjb21wcmVzc29yYCwgeW91IG11c3QKKyAgICAgIGNyZWF0ZSBhIG5ldyBkZWNvbXByZXNzb3IgZm9yIGVhY2ggc3RyZWFtLgorCisgICAuLiBtZXRob2Q6OiBkZWNvbXByZXNzKGRhdGEpCisKKyAgICAgIERlY29tcHJlc3MgKmRhdGEqIChhIDpjbGFzczpgYnl0ZXNgIG9iamVjdCksIHJldHVybmluZyBhIDpjbGFzczpgYnl0ZXNgCisgICAgICBvYmplY3QgY29udGFpbmluZyB0aGUgZGVjb21wcmVzc2VkIGRhdGEgZm9yIGF0IGxlYXN0IHBhcnQgb2YgdGhlIGlucHV0LgorICAgICAgU29tZSBvZiAqZGF0YSogbWF5IGJlIGJ1ZmZlcmVkIGludGVybmFsbHksIGZvciB1c2UgaW4gbGF0ZXIgY2FsbHMgdG8KKyAgICAgIDptZXRoOmBkZWNvbXByZXNzYC4gVGhlIHJldHVybmVkIGRhdGEgc2hvdWxkIGJlIGNvbmNhdGVuYXRlZCB3aXRoIHRoZQorICAgICAgb3V0cHV0IG9mIGFueSBwcmV2aW91cyBjYWxscyB0byA6bWV0aDpgZGVjb21wcmVzc2AuCisKKyAgIC4uIGF0dHJpYnV0ZTo6IGNoZWNrCisKKyAgICAgIFRoZSBJRCBvZiB0aGUgaW50ZWdyaXR5IGNoZWNrIHVzZWQgYnkgdGhlIGlucHV0IHN0cmVhbS4gVGhpcyBtYXkgYmUKKyAgICAgIDpjb25zdDpgQ0hFQ0tfVU5LTk9XTmAgdW50aWwgZW5vdWdoIG9mIHRoZSBpbnB1dCBoYXMgYmVlbiBkZWNvZGVkIHRvCisgICAgICBkZXRlcm1pbmUgd2hhdCBpbnRlZ3JpdHkgY2hlY2sgaXQgdXNlcy4KKworICAgLi4gYXR0cmlidXRlOjogZW9mCisKKyAgICAgIFRydWUgaWYgdGhlIGVuZC1vZi1zdHJlYW0gbWFya2VyIGhhcyBiZWVuIHJlYWNoZWQuCisKKyAgIC4uIGF0dHJpYnV0ZTo6IHVudXNlZF9kYXRhCisKKyAgICAgIERhdGEgZm91bmQgYWZ0ZXIgdGhlIGVuZCBvZiB0aGUgY29tcHJlc3NlZCBzdHJlYW0uCisKKyAgICAgIEJlZm9yZSB0aGUgZW5kIG9mIHRoZSBzdHJlYW0gaXMgcmVhY2hlZCwgdGhpcyB3aWxsIGJlIGBgYiIiYGAuCisKKworLi4gZnVuY3Rpb246OiBjb21wcmVzcyhkYXRhLCBmb3JtYXQ9Rk9STUFUX1haLCBjaGVjaz0tMSwgcHJlc2V0PU5vbmUsIGZpbHRlcnM9Tm9uZSkKKworICAgQ29tcHJlc3MgKmRhdGEqIChhIDpjbGFzczpgYnl0ZXNgIG9iamVjdCksIHJldHVybmluZyB0aGUgY29tcHJlc3NlZCBkYXRhIGFzIGEKKyAgIDpjbGFzczpgYnl0ZXNgIG9iamVjdC4KKworICAgU2VlIDpjbGFzczpgTFpNQUNvbXByZXNzb3JgIGFib3ZlIGZvciBhIGRlc2NyaXB0aW9uIG9mIHRoZSAqZm9ybWF0KiwgKmNoZWNrKiwKKyAgICpwcmVzZXQqIGFuZCAqZmlsdGVycyogYXJndW1lbnRzLgorCisKKy4uIGZ1bmN0aW9uOjogZGVjb21wcmVzcyhkYXRhLCBmb3JtYXQ9Rk9STUFUX0FVVE8sIG1lbWxpbWl0PU5vbmUsIGZpbHRlcnM9Tm9uZSkKKworICAgRGVjb21wcmVzcyAqZGF0YSogKGEgOmNsYXNzOmBieXRlc2Agb2JqZWN0KSwgcmV0dXJuaW5nIHRoZSB1bmNvbXByZXNzZWQgZGF0YQorICAgYXMgYSA6Y2xhc3M6YGJ5dGVzYCBvYmplY3QuCisKKyAgIElmICpkYXRhKiBpcyB0aGUgY29uY2F0ZW5hdGlvbiBvZiBtdWx0aXBsZSBkaXN0aW5jdCBjb21wcmVzc2VkIHN0cmVhbXMsCisgICBkZWNvbXByZXNzIGFsbCBvZiB0aGVzZSBzdHJlYW1zLCBhbmQgcmV0dXJuIHRoZSBjb25jYXRlbmF0aW9uIG9mIHRoZSByZXN1bHRzLgorCisgICBTZWUgOmNsYXNzOmBMWk1BRGVjb21wcmVzc29yYCBhYm92ZSBmb3IgYSBkZXNjcmlwdGlvbiBvZiB0aGUgKmZvcm1hdCosCisgICAqbWVtbGltaXQqIGFuZCAqZmlsdGVycyogYXJndW1lbnRzLgorCisKK01pc2NlbGxhbmVvdXMKKy0tLS0tLS0tLS0tLS0KKworLi4gZnVuY3Rpb246OiBjaGVja19pc19zdXBwb3J0ZWQoY2hlY2spCisKKyAgIFJldHVybnMgdHJ1ZSBpZiB0aGUgZ2l2ZW4gaW50ZWdyaXR5IGNoZWNrIGlzIHN1cHBvcnRlZCBvbiB0aGlzIHN5c3RlbS4KKworICAgOmNvbnN0OmBDSEVDS19OT05FYCBhbmQgOmNvbnN0OmBDSEVDS19DUkMzMmAgYXJlIGFsd2F5cyBzdXBwb3J0ZWQuCisgICA6Y29uc3Q6YENIRUNLX0NSQzY0YCBhbmQgOmNvbnN0OmBDSEVDS19TSEEyNTZgIG1heSBiZSB1bmF2YWlsYWJsZSBpZiB5b3UgYXJlCisgICB1c2luZyBhIHZlcnNpb24gb2YgOnByb2dyYW06YGxpYmx6bWFgIHRoYXQgd2FzIGNvbXBpbGVkIHdpdGggYSBsaW1pdGVkCisgICBmZWF0dXJlIHNldC4KKworCisuLiBfZmlsdGVyLWNoYWluLXNwZWNzOgorCitTcGVjaWZ5aW5nIGN1c3RvbSBmaWx0ZXIgY2hhaW5zCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK0EgZmlsdGVyIGNoYWluIHNwZWNpZmllciBpcyBhIHNlcXVlbmNlIG9mIGRpY3Rpb25hcmllcywgd2hlcmUgZWFjaCBkaWN0aW9uYXJ5Citjb250YWlucyB0aGUgSUQgYW5kIG9wdGlvbnMgZm9yIGEgc2luZ2xlIGZpbHRlci4gRWFjaCBkaWN0aW9uYXJ5IG11c3QgY29udGFpbgordGhlIGtleSBgYCJpZCJgYCwgYW5kIG1heSBjb250YWluIGFkZGl0aW9uYWwga2V5cyB0byBzcGVjaWZ5IGZpbHRlci1kZXBlbmRlbnQKK29wdGlvbnMuIFZhbGlkIGZpbHRlciBJRHMgYXJlIGFzIGZvbGxvd3M6CisKKyogQ29tcHJlc3Npb24gZmlsdGVyczoKKyAgICogOmNvbnN0OmBGSUxURVJfTFpNQTFgIChmb3IgdXNlIHdpdGggOmNvbnN0OmBGT1JNQVRfQUxPTkVgKQorICAgKiA6Y29uc3Q6YEZJTFRFUl9MWk1BMmAgKGZvciB1c2Ugd2l0aCA6Y29uc3Q6YEZPUk1BVF9YWmAgYW5kIDpjb25zdDpgRk9STUFUX1JBV2ApCisKKyogRGVsdGEgZmlsdGVyOgorICAgKiA6Y29uc3Q6YEZJTFRFUl9ERUxUQWAKKworKiBCcmFuY2gtQ2FsbC1KdW1wIChCQ0opIGZpbHRlcnM6CisgICAqIDpjb25zdDpgRklMVEVSX1g4NmAKKyAgICogOmNvbnN0OmBGSUxURVJfSUE2NGAKKyAgICogOmNvbnN0OmBGSUxURVJfQVJNYAorICAgKiA6Y29uc3Q6YEZJTFRFUl9BUk1USFVNQmAKKyAgICogOmNvbnN0OmBGSUxURVJfUE9XRVJQQ2AKKyAgICogOmNvbnN0OmBGSUxURVJfU1BBUkNgCisKK0EgZmlsdGVyIGNoYWluIGNhbiBjb25zaXN0IG9mIHVwIHRvIDQgZmlsdGVycywgYW5kIGNhbm5vdCBiZSBlbXB0eS4gVGhlIGxhc3QKK2ZpbHRlciBpbiB0aGUgY2hhaW4gbXVzdCBiZSBhIGNvbXByZXNzaW9uIGZpbHRlciwgYW5kIGFueSBvdGhlciBmaWx0ZXJzIG11c3QgYmUKK2RlbHRhIG9yIEJDSiBmaWx0ZXJzLgorCitDb21wcmVzc2lvbiBmaWx0ZXJzIHN1cHBvcnQgdGhlIGZvbGxvd2luZyBvcHRpb25zIChzcGVjaWZpZWQgYXMgYWRkaXRpb25hbAorZW50cmllcyBpbiB0aGUgZGljdGlvbmFyeSByZXByZXNlbnRpbmcgdGhlIGZpbHRlcik6CisKKyAgICogYGBwcmVzZXRgYDogQSBjb21wcmVzc2lvbiBwcmVzZXQgdG8gdXNlIGFzIGEgc291cmNlIG9mIGRlZmF1bHQgdmFsdWVzIGZvcgorICAgICBvcHRpb25zIHRoYXQgYXJlIG5vdCBzcGVjaWZpZWQgZXhwbGljaXRseS4KKyAgICogYGBkaWN0X3NpemVgYDogRGljdGlvbmFyeSBzaXplIGluIGJ5dGVzLiBUaGlzIHNob3VsZCBiZSBiZXR3ZWVuIDRLaUIgYW5kCisgICAgIDEuNUdpQiAoaW5jbHVzaXZlKS4KKyAgICogYGBsY2BgOiBOdW1iZXIgb2YgbGl0ZXJhbCBjb250ZXh0IGJpdHMuCisgICAqIGBgbHBgYDogTnVtYmVyIG9mIGxpdGVyYWwgcG9zaXRpb24gYml0cy4gVGhlIHN1bSBgYGxjICsgbHBgYCBtdXN0IGJlIGF0CisgICAgIG1vc3QgNC4KKyAgICogYGBwYmBgOiBOdW1iZXIgb2YgcG9zaXRpb24gYml0czsgbXVzdCBiZSBhdCBtb3N0IDQuCisgICAqIGBgbW9kZWBgOiA6Y29uc3Q6YE1PREVfRkFTVGAgb3IgOmNvbnN0OmBNT0RFX05PUk1BTGAuCisgICAqIGBgbmljZV9sZW5gYDogV2hhdCBzaG91bGQgYmUgY29uc2lkZXJlZCBhICJuaWNlIGxlbmd0aCIgZm9yIGEgbWF0Y2guCisgICAgIFRoaXMgc2hvdWxkIGJlIDI3MyBvciBsZXNzLgorICAgKiBgYG1mYGA6IFdoYXQgbWF0Y2ggZmluZGVyIHRvIHVzZSAtLSA6Y29uc3Q6YE1GX0hDM2AsIDpjb25zdDpgTUZfSEM0YCwKKyAgICAgOmNvbnN0OmBNRl9CVDJgLCA6Y29uc3Q6YE1GX0JUM2AsIG9yIDpjb25zdDpgTUZfQlQ0YC4KKyAgICogYGBkZXB0aGBgOiBNYXhpbXVtIHNlYXJjaCBkZXB0aCB1c2VkIGJ5IG1hdGNoIGZpbmRlci4gMCAoZGVmYXVsdCkgbWVhbnMgdG8KKyAgICAgc2VsZWN0IGF1dG9tYXRpY2FsbHkgYmFzZWQgb24gb3RoZXIgZmlsdGVyIG9wdGlvbnMuCisKK1RoZSBkZWx0YSBmaWx0ZXIgc3RvcmVzIHRoZSBkaWZmZXJlbmNlcyBiZXR3ZWVuIGJ5dGVzLCBwcm9kdWNpbmcgbW9yZSByZXBldGl0aXZlCitpbnB1dCBmb3IgdGhlIGNvbXByZXNzb3IgaW4gY2VydGFpbiBjaXJjdW1zdGFuY2VzLiBJdCBvbmx5IHN1cHBvcnRzIGEgc2luZ2xlCitUaGUgZGVsdGEgZmlsdGVyIHN1cHBvcnRzIG9ubHkgb25lIG9wdGlvbiwgYGBkaXN0YGAuIFRoaXMgaW5kaWNhdGVzIHRoZSBkaXN0YW5jZQorYmV0d2VlbiBieXRlcyB0byBiZSBzdWJ0cmFjdGVkLiBUaGUgZGVmYXVsdCBpcyAxLCBpLmUuIHRha2UgdGhlIGRpZmZlcmVuY2VzCitiZXR3ZWVuIGFkamFjZW50IGJ5dGVzLgorCitUaGUgQkNKIGZpbHRlcnMgYXJlIGludGVuZGVkIHRvIGJlIGFwcGxpZWQgdG8gbWFjaGluZSBjb2RlLiBUaGV5IGNvbnZlcnQKK3JlbGF0aXZlIGJyYW5jaGVzLCBjYWxscyBhbmQganVtcHMgaW4gdGhlIGNvZGUgdG8gdXNlIGFic29sdXRlIGFkZHJlc3NpbmcsIHdpdGgKK3RoZSBhaW0gb2YgaW5jcmVhc2luZyB0aGUgcmVkdW5kYW5jeSB0aGF0IGNhbiBiZSBleHBsb2l0ZWQgYnkgdGhlIGNvbXByZXNzb3IuCitUaGVzZSBmaWx0ZXJzIHN1cHBvcnQgb25lIG9wdGlvbiwgYGBzdGFydF9vZmZzZXRgYC4gVGhpcyBzcGVjaWZpZXMgdGhlIGFkZHJlc3MKK3RoYXQgc2hvdWxkIGJlIG1hcHBlZCB0byB0aGUgYmVnaW5uaW5nIG9mIHRoZSBpbnB1dCBkYXRhLiBUaGUgZGVmYXVsdCBpcyAwLgorCisKK0V4YW1wbGVzCistLS0tLS0tLQorCitSZWFkaW5nIGluIGEgY29tcHJlc3NlZCBmaWxlOjoKKworICAgaW1wb3J0IGx6bWEKKyAgIHdpdGggbHptYS5MWk1BRmlsZSgiZmlsZS54eiIpIGFzIGY6CisgICAgICBmaWxlX2NvbnRlbnQgPSBmLnJlYWQoKQorCitDcmVhdGluZyBhIGNvbXByZXNzZWQgZmlsZTo6CisKKyAgIGltcG9ydCBsem1hCisgICBkYXRhID0gYiJJbnNlcnQgRGF0YSBIZXJlIgorICAgd2l0aCBsem1hLkxaTUFGaWxlKCJmaWxlLnh6IiwgInciKSBhcyBmOgorICAgICAgZi53cml0ZShkYXRhKQorCitDb21wcmVzc2luZyBkYXRhIGluIG1lbW9yeTo6CisKKyAgIGltcG9ydCBsem1hCisgICBkYXRhX2luID0gYiJJbnNlcnQgRGF0YSBIZXJlIgorICAgZGF0YV9vdXQgPSBsem1hLmNvbXByZXNzKGRhdGFfaW4pCisKK0luY3JlbWVudGFsIGNvbXByZXNzaW9uOjoKKworICAgaW1wb3J0IGx6bWEKKyAgIGx6YyA9IGx6bWEuTFpNQUNvbXByZXNzb3IoKQorICAgb3V0MSA9IGx6Yy5jb21wcmVzcyhiIlNvbWUgZGF0YVxuIikKKyAgIG91dDIgPSBsemMuY29tcHJlc3MoYiJBbm90aGVyIHBpZWNlIG9mIGRhdGFcbiIpCisgICBvdXQzID0gbHpjLmNvbXByZXNzKGIiRXZlbiBtb3JlIGRhdGFcbiIpCisgICBvdXQ0ID0gbHpjLmZsdXNoKCkKKyAgICMgQ29uY2F0ZW5hdGUgYWxsIHRoZSBwYXJ0aWFsIHJlc3VsdHM6CisgICByZXN1bHQgPSBiIiIuam9pbihbb3V0MSwgb3V0Miwgb3V0Mywgb3V0NF0pCisKK1dyaXRpbmcgY29tcHJlc3NlZCBkYXRhIHRvIGFuIGFscmVhZHktb3BlbiBmaWxlOjoKKworICAgaW1wb3J0IGx6bWEKKyAgIHdpdGggb3BlbigiZmlsZS54eiIsICJ3YiIpIGFzIGY6CisgICAgICAgZi53cml0ZShiIlRoaXMgZGF0YSB3aWxsIG5vdCBiZSBjb21wcmVzc2VkXG4iKQorICAgICAgIHdpdGggbHptYS5MWk1BRmlsZShmaWxlb2JqPWYsIG1vZGU9InciKSBhcyBsemY6CisgICAgICAgICAgIGx6Zi53cml0ZShiIlRoaXMgKndpbGwqIGJlIGNvbXByZXNzZWRcbiIpCisgICAgICAgZi53cml0ZShiIk5vdCBjb21wcmVzc2VkXG4iKQorCitDcmVhdGluZyBhIGNvbXByZXNzZWQgZmlsZSB1c2luZyBhIGN1c3RvbSBmaWx0ZXIgY2hhaW46OgorCisgICBpbXBvcnQgbHptYQorICAgbXlfZmlsdGVycyA9IFsKKyAgICAgICB7ImlkIjogbHptYS5GSUxURVJfREVMVEEsICJkaXN0IjogNX0sCisgICAgICAgeyJpZCI6IGx6bWEuRklMVEVSX0xaTUEyLCAicHJlc2V0IjogNyB8IGx6bWEuUFJFU0VUX0VYVFJFTUV9LAorICAgXQorICAgd2l0aCBsem1hLkxaTUFGaWxlKCJmaWxlLnh6IiwgInciLCBmaWx0ZXJzPW15X2ZpbHRlcnMpIGFzIGY6CisgICAgICAgZi53cml0ZShiImJsYWggYmxhaCBibGFoIikKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L21hdGgucnN0IGIvRG9jL2xpYnJhcnkvbWF0aC5yc3QKaW5kZXggOThjNWIzMy4uNjJjMGYzNCAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvbWF0aC5yc3QKKysrIGIvRG9jL2xpYnJhcnkvbWF0aC5yc3QKQEAgLTE4NCw2ICsxODQsMTkgQEAKICAgIHJlc3VsdCBpcyBjYWxjdWxhdGVkIGluIGEgd2F5IHdoaWNoIGlzIGFjY3VyYXRlIGZvciAqeCogbmVhciB6ZXJvLgogCiAKKy4uIGZ1bmN0aW9uOjogbG9nMih4KQorCisgICBSZXR1cm4gdGhlIGJhc2UtMiBsb2dhcml0aG0gb2YgKngqLiBUaGlzIGlzIHVzdWFsbHkgbW9yZSBhY2N1cmF0ZSB0aGFuCisgICBgYGxvZyh4LCAyKWBgLgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKKworICAgLi4gc2VlYWxzbzo6CisKKyAgICAgIDptZXRoOmBpbnQuYml0X2xlbmd0aGAgcmV0dXJucyB0aGUgbnVtYmVyIG9mIGJpdHMgbmVjZXNzYXJ5IHRvIHJlcHJlc2VudAorICAgICAgYW4gaW50ZWdlciBpbiBiaW5hcnksIGV4Y2x1ZGluZyB0aGUgc2lnbiBhbmQgbGVhZGluZyB6ZXJvcy4KKworCiAuLiBmdW5jdGlvbjo6IGxvZzEwKHgpCiAKICAgIFJldHVybiB0aGUgYmFzZS0xMCBsb2dhcml0aG0gb2YgKngqLiAgVGhpcyBpcyB1c3VhbGx5IG1vcmUgYWNjdXJhdGUKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L21tYXAucnN0IGIvRG9jL2xpYnJhcnkvbW1hcC5yc3QKaW5kZXggNWYwZjAwNC4uMWExOWE3ZSAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvbW1hcC5yc3QKKysrIGIvRG9jL2xpYnJhcnkvbW1hcC5yc3QKQEAgLTE5NiwxMiArMTk2LDE2IEBACiAgICAgICBtb3ZlIHdpbGwgcmFpc2UgYSA6ZXhjOmBUeXBlRXJyb3JgIGV4Y2VwdGlvbi4KIAogCi0gICAuLiBtZXRob2Q6OiByZWFkKG51bSkKKyAgIC4uIG1ldGhvZDo6IHJlYWQoW25dKQogCi0gICAgICBSZXR1cm4gYSA6Y2xhc3M6YGJ5dGVzYCBjb250YWluaW5nIHVwIHRvICpudW0qIGJ5dGVzIHN0YXJ0aW5nIGZyb20gdGhlCi0gICAgICBjdXJyZW50IGZpbGUgcG9zaXRpb247IHRoZSBmaWxlIHBvc2l0aW9uIGlzIHVwZGF0ZWQgdG8gcG9pbnQgYWZ0ZXIgdGhlCi0gICAgICBieXRlcyB0aGF0IHdlcmUgcmV0dXJuZWQuCisgICAgICBSZXR1cm4gYSA6Y2xhc3M6YGJ5dGVzYCBjb250YWluaW5nIHVwIHRvICpuKiBieXRlcyBzdGFydGluZyBmcm9tIHRoZQorICAgICAgY3VycmVudCBmaWxlIHBvc2l0aW9uLiBJZiB0aGUgYXJndW1lbnQgaXMgb21pdHRlZCwgKk5vbmUqIG9yIG5lZ2F0aXZlLAorICAgICAgcmV0dXJuIGFsbCBieXRlcyBmcm9tIHRoZSBjdXJyZW50IGZpbGUgcG9zaXRpb24gdG8gdGhlIGVuZCBvZiB0aGUKKyAgICAgIG1hcHBpbmcuIFRoZSBmaWxlIHBvc2l0aW9uIGlzIHVwZGF0ZWQgdG8gcG9pbnQgYWZ0ZXIgdGhlIGJ5dGVzIHRoYXQgd2VyZQorICAgICAgcmV0dXJuZWQuCiAKKyAgICAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy4zCisgICAgICAgICBBcmd1bWVudCBjYW4gYmUgb21pdHRlZCBvciAqTm9uZSouCiAKICAgIC4uIG1ldGhvZDo6IHJlYWRfYnl0ZSgpCiAKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L21zdmNydC5yc3QgYi9Eb2MvbGlicmFyeS9tc3ZjcnQucnN0CmluZGV4IDg4OWEwYzUuLjlkMjM3MjAgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L21zdmNydC5yc3QKKysrIGIvRG9jL2xpYnJhcnkvbXN2Y3J0LnJzdApAQCAtMjAsNiArMjAsMTEgQEAKIGZvciBpbnRlcm5hdGlvbmFsaXplZCBhcHBsaWNhdGlvbnMuIFRoZSB3aWRlIGNoYXIgQVBJIHNob3VsZCBiZSB1c2VkIHdoZXJlCiBldmVyIHBvc3NpYmxlCiAKKy4uIHZlcnNpb25jaGFuZ2VkOjogMy4zCisgICBPcGVyYXRpb25zIGluIHRoaXMgbW9kdWxlIG5vdyByYWlzZSA6ZXhjOmBPU0Vycm9yYCB3aGVyZSA6ZXhjOmBJT0Vycm9yYAorICAgd2FzIHJhaXNlZC4KKworCiAuLiBfbXN2Y3J0LWZpbGVzOgogCiBGaWxlIE9wZXJhdGlvbnMKQEAgLTI5LDcgKzM0LDcgQEAKIC4uIGZ1bmN0aW9uOjogbG9ja2luZyhmZCwgbW9kZSwgbmJ5dGVzKQogCiAgICBMb2NrIHBhcnQgb2YgYSBmaWxlIGJhc2VkIG9uIGZpbGUgZGVzY3JpcHRvciAqZmQqIGZyb20gdGhlIEMgcnVudGltZS4gIFJhaXNlcwotICAgOmV4YzpgSU9FcnJvcmAgb24gZmFpbHVyZS4gIFRoZSBsb2NrZWQgcmVnaW9uIG9mIHRoZSBmaWxlIGV4dGVuZHMgZnJvbSB0aGUKKyAgIDpleGM6YE9TRXJyb3JgIG9uIGZhaWx1cmUuICBUaGUgbG9ja2VkIHJlZ2lvbiBvZiB0aGUgZmlsZSBleHRlbmRzIGZyb20gdGhlCiAgICBjdXJyZW50IGZpbGUgcG9zaXRpb24gZm9yICpuYnl0ZXMqIGJ5dGVzLCBhbmQgbWF5IGNvbnRpbnVlIGJleW9uZCB0aGUgZW5kIG9mIHRoZQogICAgZmlsZS4gICptb2RlKiBtdXN0IGJlIG9uZSBvZiB0aGUgOmNvbnN0OmBMS19cKmAgY29uc3RhbnRzIGxpc3RlZCBiZWxvdy4gTXVsdGlwbGUKICAgIHJlZ2lvbnMgaW4gYSBmaWxlIG1heSBiZSBsb2NrZWQgYXQgdGhlIHNhbWUgdGltZSwgYnV0IG1heSBub3Qgb3ZlcmxhcC4gIEFkamFjZW50CkBAIC00MSwxMyArNDYsMTMgQEAKIAogICAgTG9ja3MgdGhlIHNwZWNpZmllZCBieXRlcy4gSWYgdGhlIGJ5dGVzIGNhbm5vdCBiZSBsb2NrZWQsIHRoZSBwcm9ncmFtCiAgICBpbW1lZGlhdGVseSB0cmllcyBhZ2FpbiBhZnRlciAxIHNlY29uZC4gIElmLCBhZnRlciAxMCBhdHRlbXB0cywgdGhlIGJ5dGVzIGNhbm5vdAotICAgYmUgbG9ja2VkLCA6ZXhjOmBJT0Vycm9yYCBpcyByYWlzZWQuCisgICBiZSBsb2NrZWQsIDpleGM6YE9TRXJyb3JgIGlzIHJhaXNlZC4KIAogCiAuLiBkYXRhOjogTEtfTkJMQ0sKICAgICAgICAgICBMS19OQlJMQ0sKIAotICAgTG9ja3MgdGhlIHNwZWNpZmllZCBieXRlcy4gSWYgdGhlIGJ5dGVzIGNhbm5vdCBiZSBsb2NrZWQsIDpleGM6YElPRXJyb3JgIGlzCisgICBMb2NrcyB0aGUgc3BlY2lmaWVkIGJ5dGVzLiBJZiB0aGUgYnl0ZXMgY2Fubm90IGJlIGxvY2tlZCwgOmV4YzpgT1NFcnJvcmAgaXMKICAgIHJhaXNlZC4KIAogCkBAIC03Myw3ICs3OCw3IEBACiAKIC4uIGZ1bmN0aW9uOjogZ2V0X29zZmhhbmRsZShmZCkKIAotICAgUmV0dXJuIHRoZSBmaWxlIGhhbmRsZSBmb3IgdGhlIGZpbGUgZGVzY3JpcHRvciAqZmQqLiAgUmFpc2VzIDpleGM6YElPRXJyb3JgIGlmCisgICBSZXR1cm4gdGhlIGZpbGUgaGFuZGxlIGZvciB0aGUgZmlsZSBkZXNjcmlwdG9yICpmZCouICBSYWlzZXMgOmV4YzpgT1NFcnJvcmAgaWYKICAgICpmZCogaXMgbm90IHJlY29nbml6ZWQuCiAKIApAQCAtMTQ0LDQgKzE0OSw0IEBACiAuLiBmdW5jdGlvbjo6IGhlYXBtaW4oKQogCiAgICBGb3JjZSB0aGUgOmM6ZnVuYzpgbWFsbG9jYCBoZWFwIHRvIGNsZWFuIGl0c2VsZiB1cCBhbmQgcmV0dXJuIHVudXNlZCBibG9ja3MgdG8KLSAgIHRoZSBvcGVyYXRpbmcgc3lzdGVtLiAgT24gZmFpbHVyZSwgdGhpcyByYWlzZXMgOmV4YzpgSU9FcnJvcmAuCisgICB0aGUgb3BlcmF0aW5nIHN5c3RlbS4gIE9uIGZhaWx1cmUsIHRoaXMgcmFpc2VzIDpleGM6YE9TRXJyb3JgLgpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvbXVsdGlwcm9jZXNzaW5nLnJzdCBiL0RvYy9saWJyYXJ5L211bHRpcHJvY2Vzc2luZy5yc3QKaW5kZXggN2RiMmFlZC4uZDhlMWQ5MiAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvbXVsdGlwcm9jZXNzaW5nLnJzdAorKysgYi9Eb2MvbGlicmFyeS9tdWx0aXByb2Nlc3NpbmcucnN0CkBAIC0yOTcsNyArMjk3LDcgQEAKIDpjbGFzczpgUHJvY2Vzc2AgYW5kIGV4Y2VwdGlvbnMKIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KIAotLi4gY2xhc3M6OiBQcm9jZXNzKFtncm91cFssIHRhcmdldFssIG5hbWVbLCBhcmdzWywga3dhcmdzXV1dXV0pCisuLiBjbGFzczo6IFByb2Nlc3MoW2dyb3VwWywgdGFyZ2V0WywgbmFtZVssIGFyZ3NbLCBrd2FyZ3NdXV1dXSwgKiwgZGFlbW9uPU5vbmUpCiAKICAgIFByb2Nlc3Mgb2JqZWN0cyByZXByZXNlbnQgYWN0aXZpdHkgdGhhdCBpcyBydW4gaW4gYSBzZXBhcmF0ZSBwcm9jZXNzLiBUaGUKICAgIDpjbGFzczpgUHJvY2Vzc2AgY2xhc3MgaGFzIGVxdWl2YWxlbnRzIG9mIGFsbCB0aGUgbWV0aG9kcyBvZgpAQCAtMzEyLDEzICszMTIsMTkgQEAKICAgIDpzdWI6YDFgLE5cIDpzdWI6YDJgLC4uLixOXCA6c3ViOmBrYCBpcyBhIHNlcXVlbmNlIG9mIGludGVnZXJzIHdob3NlIGxlbmd0aAogICAgaXMgZGV0ZXJtaW5lZCBieSB0aGUgKmdlbmVyYXRpb24qIG9mIHRoZSBwcm9jZXNzLiAgKmFyZ3MqIGlzIHRoZSBhcmd1bWVudAogICAgdHVwbGUgZm9yIHRoZSB0YXJnZXQgaW52b2NhdGlvbi4gICprd2FyZ3MqIGlzIGEgZGljdGlvbmFyeSBvZiBrZXl3b3JkCi0gICBhcmd1bWVudHMgZm9yIHRoZSB0YXJnZXQgaW52b2NhdGlvbi4gIEJ5IGRlZmF1bHQsIG5vIGFyZ3VtZW50cyBhcmUgcGFzc2VkIHRvCi0gICAqdGFyZ2V0Ki4KKyAgIGFyZ3VtZW50cyBmb3IgdGhlIHRhcmdldCBpbnZvY2F0aW9uLiAgSWYgcHJvdmlkZWQsIHRoZSBrZXl3b3JkLW9ubHkgKmRhZW1vbiogYXJndW1lbnQKKyAgIHNldHMgdGhlIHByb2Nlc3MgOmF0dHI6YGRhZW1vbmAgZmxhZyB0byBgYFRydWVgYCBvciBgYEZhbHNlYGAuICBJZiBgYE5vbmVgYAorICAgKHRoZSBkZWZhdWx0KSwgdGhpcyBmbGFnIHdpbGwgYmUgaW5oZXJpdGVkIGZyb20gdGhlIGNyZWF0aW5nIHByb2Nlc3MuCisKKyAgIEJ5IGRlZmF1bHQsIG5vIGFyZ3VtZW50cyBhcmUgcGFzc2VkIHRvICp0YXJnZXQqLgogCiAgICBJZiBhIHN1YmNsYXNzIG92ZXJyaWRlcyB0aGUgY29uc3RydWN0b3IsIGl0IG11c3QgbWFrZSBzdXJlIGl0IGludm9rZXMgdGhlCiAgICBiYXNlIGNsYXNzIGNvbnN0cnVjdG9yICg6bWV0aDpgUHJvY2Vzcy5fX2luaXRfX2ApIGJlZm9yZSBkb2luZyBhbnl0aGluZyBlbHNlCiAgICB0byB0aGUgcHJvY2Vzcy4KIAorICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjMKKyAgICAgIEFkZGVkIHRoZSAqZGFlbW9uKiBhcmd1bWVudC4KKwogICAgLi4gbWV0aG9kOjogcnVuKCkKIAogICAgICAgTWV0aG9kIHJlcHJlc2VudGluZyB0aGUgcHJvY2VzcydzIGFjdGl2aXR5LgpAQCAtMzM3LDEwICszNDMsOSBAQAogCiAgICAuLiBtZXRob2Q6OiBqb2luKFt0aW1lb3V0XSkKIAotICAgICAgQmxvY2sgdGhlIGNhbGxpbmcgdGhyZWFkIHVudGlsIHRoZSBwcm9jZXNzIHdob3NlIDptZXRoOmBqb2luYCBtZXRob2QgaXMKLSAgICAgIGNhbGxlZCB0ZXJtaW5hdGVzIG9yIHVudGlsIHRoZSBvcHRpb25hbCB0aW1lb3V0IG9jY3Vycy4KLQotICAgICAgSWYgKnRpbWVvdXQqIGlzIGBgTm9uZWBgIHRoZW4gdGhlcmUgaXMgbm8gdGltZW91dC4KKyAgICAgIElmIHRoZSBvcHRpb25hbCBhcmd1bWVudCAqdGltZW91dCogaXMgYGBOb25lYGAgKHRoZSBkZWZhdWx0KSwgdGhlIG1ldGhvZAorICAgICAgYmxvY2tzIHVudGlsIHRoZSBwcm9jZXNzIHdob3NlIDptZXRoOmBqb2luYCBtZXRob2QgaXMgY2FsbGVkIHRlcm1pbmF0ZXMuCisgICAgICBJZiAqdGltZW91dCogaXMgYSBwb3NpdGl2ZSBudW1iZXIsIGl0IGJsb2NrcyBhdCBtb3N0ICp0aW1lb3V0KiBzZWNvbmRzLgogCiAgICAgICBBIHByb2Nlc3MgY2FuIGJlIGpvaW5lZCBtYW55IHRpbWVzLgogCkBAIC00MDUsNiArNDEwLDIxIEBACiAKICAgICAgIFNlZSA6cmVmOmBtdWx0aXByb2Nlc3NpbmctYXV0aC1rZXlzYC4KIAorICAgLi4gYXR0cmlidXRlOjogc2VudGluZWwKKworICAgICAgQSBudW1lcmljIGhhbmRsZSBvZiBhIHN5c3RlbSBvYmplY3Qgd2hpY2ggd2lsbCBiZWNvbWUgInJlYWR5IiB3aGVuCisgICAgICB0aGUgcHJvY2VzcyBlbmRzLgorCisgICAgICBZb3UgY2FuIHVzZSB0aGlzIHZhbHVlIGlmIHlvdSB3YW50IHRvIHdhaXQgb24gc2V2ZXJhbCBldmVudHMgYXQKKyAgICAgIG9uY2UgdXNpbmcgOmZ1bmM6YG11bHRpcHJvY2Vzc2luZy5jb25uZWN0aW9uLndhaXRgLiAgT3RoZXJ3aXNlCisgICAgICBjYWxsaW5nIDptZXRoOmBqb2luKClgIGlzIHNpbXBsZXIuCisKKyAgICAgIE9uIFdpbmRvd3MsIHRoaXMgaXMgYW4gT1MgaGFuZGxlIHVzYWJsZSB3aXRoIHRoZSBgYFdhaXRGb3JTaW5nbGVPYmplY3RgYAorICAgICAgYW5kIGBgV2FpdEZvck11bHRpcGxlT2JqZWN0c2BgIGZhbWlseSBvZiBBUEkgY2FsbHMuICBPbiBVbml4LCB0aGlzIGlzCisgICAgICBhIGZpbGUgZGVzY3JpcHRvciB1c2FibGUgd2l0aCBwcmltaXRpdmVzIGZyb20gdGhlIDptb2Q6YHNlbGVjdGAgbW9kdWxlLgorCisgICAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKKwogICAgLi4gbWV0aG9kOjogdGVybWluYXRlKCkKIAogICAgICAgVGVybWluYXRlIHRoZSBwcm9jZXNzLiAgT24gVW5peCB0aGlzIGlzIGRvbmUgdXNpbmcgdGhlIGBgU0lHVEVSTWBgIHNpZ25hbDsKQEAgLTQ2NCw3ICs0ODQsNyBAQAogRm9yIHBhc3NpbmcgbWVzc2FnZXMgb25lIGNhbiB1c2UgOmZ1bmM6YFBpcGVgIChmb3IgYSBjb25uZWN0aW9uIGJldHdlZW4gdHdvCiBwcm9jZXNzZXMpIG9yIGEgcXVldWUgKHdoaWNoIGFsbG93cyBtdWx0aXBsZSBwcm9kdWNlcnMgYW5kIGNvbnN1bWVycykuCiAKLVRoZSA6Y2xhc3M6YFF1ZXVlYCwgOmNsYXNzOmBtdWx0aXByb2Nlc3NpbmcucXVldWVzLlNpbXBsZVF1ZXVlYCBhbmQgOmNsYXNzOmBKb2luYWJsZVF1ZXVlYCB0eXBlcyBhcmUgbXVsdGktcHJvZHVjZXIsCitUaGUgOmNsYXNzOmBRdWV1ZWAsIDpjbGFzczpgU2ltcGxlUXVldWVgIGFuZCA6Y2xhc3M6YEpvaW5hYmxlUXVldWVgIHR5cGVzIGFyZSBtdWx0aS1wcm9kdWNlciwKIG11bHRpLWNvbnN1bWVyIEZJRk8gcXVldWVzIG1vZGVsbGVkIG9uIHRoZSA6Y2xhc3M6YHF1ZXVlLlF1ZXVlYCBjbGFzcyBpbiB0aGUKIHN0YW5kYXJkIGxpYnJhcnkuICBUaGV5IGRpZmZlciBpbiB0aGF0IDpjbGFzczpgUXVldWVgIGxhY2tzIHRoZQogOm1ldGg6YH5xdWV1ZS5RdWV1ZS50YXNrX2RvbmVgIGFuZCA6bWV0aDpgfnF1ZXVlLlF1ZXVlLmpvaW5gIG1ldGhvZHMgaW50cm9kdWNlZApAQCAtNjEwLDcgKzYzMCw3IEBACiAgICAgICBleGl0cyAtLSBzZWUgOm1ldGg6YGpvaW5fdGhyZWFkYC4KIAogCi0uLiBjbGFzczo6IG11bHRpcHJvY2Vzc2luZy5xdWV1ZXMuU2ltcGxlUXVldWUoKQorLi4gY2xhc3M6OiBTaW1wbGVRdWV1ZSgpCiAKICAgIEl0IGlzIGEgc2ltcGxpZmllZCA6Y2xhc3M6YFF1ZXVlYCB0eXBlLCB2ZXJ5IGNsb3NlIHRvIGEgbG9ja2VkIDpjbGFzczpgUGlwZWAuCiAKQEAgLTc2Niw2ICs3ODYsOSBAQAogICAgICAgKnRpbWVvdXQqIGlzIGEgbnVtYmVyIHRoZW4gdGhpcyBzcGVjaWZpZXMgdGhlIG1heGltdW0gdGltZSBpbiBzZWNvbmRzIHRvCiAgICAgICBibG9jay4gIElmICp0aW1lb3V0KiBpcyBgYE5vbmVgYCB0aGVuIGFuIGluZmluaXRlIHRpbWVvdXQgaXMgdXNlZC4KIAorICAgICAgTm90ZSB0aGF0IG11bHRpcGxlIGNvbm5lY3Rpb24gb2JqZWN0cyBtYXkgYmUgcG9sbGVkIGF0IG9uY2UgYnkKKyAgICAgIHVzaW5nIDpmdW5jOmBtdWx0aXByb2Nlc3NpbmcuY29ubmVjdGlvbi53YWl0YC4KKwogICAgLi4gbWV0aG9kOjogc2VuZF9ieXRlcyhidWZmZXJbLCBvZmZzZXRbLCBzaXplXV0pCiAKICAgICAgIFNlbmQgYnl0ZSBkYXRhIGZyb20gYW4gb2JqZWN0IHN1cHBvcnRpbmcgdGhlIGJ1ZmZlciBpbnRlcmZhY2UgYXMgYQpAQCAtNzg0LDkgKzgwNywxNCBAQAogICAgICAgdG8gcmVjZWl2ZSBhbmQgdGhlIG90aGVyIGVuZCBoYXMgY2xvc2VkLgogCiAgICAgICBJZiAqbWF4bGVuZ3RoKiBpcyBzcGVjaWZpZWQgYW5kIHRoZSBtZXNzYWdlIGlzIGxvbmdlciB0aGFuICptYXhsZW5ndGgqCi0gICAgICB0aGVuIDpleGM6YElPRXJyb3JgIGlzIHJhaXNlZCBhbmQgdGhlIGNvbm5lY3Rpb24gd2lsbCBubyBsb25nZXIgYmUKKyAgICAgIHRoZW4gOmV4YzpgT1NFcnJvcmAgaXMgcmFpc2VkIGFuZCB0aGUgY29ubmVjdGlvbiB3aWxsIG5vIGxvbmdlciBiZQogICAgICAgcmVhZGFibGUuCiAKKyAgICAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy4zCisgICAgICAgICBUaGlzIGZ1bmN0aW9uIHVzZWQgdG8gcmFpc2UgYSA6ZXhjOmBJT0Vycm9yYCwgd2hpY2ggaXMgbm93IGFuCisgICAgICAgICBhbGlhcyBvZiA6ZXhjOmBPU0Vycm9yYC4KKworCiAgICAuLiBtZXRob2Q6OiByZWN2X2J5dGVzX2ludG8oYnVmZmVyWywgb2Zmc2V0XSkKIAogICAgICAgUmVhZCBpbnRvICpidWZmZXIqIGEgY29tcGxldGUgbWVzc2FnZSBvZiBieXRlIGRhdGEgc2VudCBmcm9tIHRoZSBvdGhlciBlbmQKQEAgLTE2NTcsNiArMTY4NSwyNCBAQAogICAgICAgcmV0dXJuZWQgaXRlcmF0b3Igc2hvdWxkIGJlIGNvbnNpZGVyZWQgYXJiaXRyYXJ5LiAgKE9ubHkgd2hlbiB0aGVyZSBpcwogICAgICAgb25seSBvbmUgd29ya2VyIHByb2Nlc3MgaXMgdGhlIG9yZGVyIGd1YXJhbnRlZWQgdG8gYmUgImNvcnJlY3QiLikKIAorICAgLi4gbWV0aG9kOjogc3Rhcm1hcChmdW5jLCBpdGVyYWJsZVssIGNodW5rc2l6ZV0pCisKKyAgICAgIExpa2UgOm1ldGg6YG1hcGAgZXhjZXB0IHRoYXQgdGhlIGVsZW1lbnRzIG9mIHRoZSBgaXRlcmFibGVgIGFyZSBleHBlY3RlZAorICAgICAgdG8gYmUgaXRlcmFibGVzIHRoYXQgYXJlIHVucGFja2VkIGFzIGFyZ3VtZW50cy4KKworICAgICAgSGVuY2UgYW4gYGl0ZXJhYmxlYCBvZiBgWygxLDIpLCAoMywgNCldYCByZXN1bHRzIGluIGBbZnVuYygxLDIpLAorICAgICAgZnVuYygzLDQpXWAuCisKKyAgICAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMworCisgICAuLiBtZXRob2Q6OiBzdGFybWFwX2FzeW5jKGZ1bmMsIGl0ZXJhYmxlWywgY2h1bmtzaXplWywgY2FsbGJhY2tbLCBlcnJvcl9iYWNrXV1dKQorCisgICAgICBBIGNvbWJpbmF0aW9uIG9mIDptZXRoOmBzdGFybWFwYCBhbmQgOm1ldGg6YG1hcF9hc3luY2AgdGhhdCBpdGVyYXRlcyBvdmVyCisgICAgICBgaXRlcmFibGVgIG9mIGl0ZXJhYmxlcyBhbmQgY2FsbHMgYGZ1bmNgIHdpdGggdGhlIGl0ZXJhYmxlcyB1bnBhY2tlZC4KKyAgICAgIFJldHVybnMgYSByZXN1bHQgb2JqZWN0LgorCisgICAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKKwogICAgLi4gbWV0aG9kOjogY2xvc2UoKQogCiAgICAgICBQcmV2ZW50cyBhbnkgbW9yZSB0YXNrcyBmcm9tIGJlaW5nIHN1Ym1pdHRlZCB0byB0aGUgcG9vbC4gIE9uY2UgYWxsIHRoZQpAQCAtMTczNyw4ICsxNzgzLDkgQEAKIAogSG93ZXZlciwgdGhlIDptb2Q6YG11bHRpcHJvY2Vzc2luZy5jb25uZWN0aW9uYCBtb2R1bGUgYWxsb3dzIHNvbWUgZXh0cmEKIGZsZXhpYmlsaXR5LiAgSXQgYmFzaWNhbGx5IGdpdmVzIGEgaGlnaCBsZXZlbCBtZXNzYWdlIG9yaWVudGVkIEFQSSBmb3IgZGVhbGluZwotd2l0aCBzb2NrZXRzIG9yIFdpbmRvd3MgbmFtZWQgcGlwZXMsIGFuZCBhbHNvIGhhcyBzdXBwb3J0IGZvciAqZGlnZXN0Ci1hdXRoZW50aWNhdGlvbiogdXNpbmcgdGhlIDptb2Q6YGhtYWNgIG1vZHVsZS4KK3dpdGggc29ja2V0cyBvciBXaW5kb3dzIG5hbWVkIHBpcGVzLiAgSXQgYWxzbyBoYXMgc3VwcG9ydCBmb3IgKmRpZ2VzdAorYXV0aGVudGljYXRpb24qIHVzaW5nIHRoZSA6bW9kOmBobWFjYCBtb2R1bGUsIGFuZCBmb3IgcG9sbGluZworbXVsdGlwbGUgY29ubmVjdGlvbnMgYXQgdGhlIHNhbWUgdGltZS4KIAogCiAuLiBmdW5jdGlvbjo6IGRlbGl2ZXJfY2hhbGxlbmdlKGNvbm5lY3Rpb24sIGF1dGhrZXkpCkBAIC0xODM2LDYgKzE4ODMsMzggQEAKICAgICAgIFRoZSBhZGRyZXNzIGZyb20gd2hpY2ggdGhlIGxhc3QgYWNjZXB0ZWQgY29ubmVjdGlvbiBjYW1lLiAgSWYgdGhpcyBpcwogICAgICAgdW5hdmFpbGFibGUgdGhlbiBpdCBpcyBgYE5vbmVgYC4KIAorLi4gZnVuY3Rpb246OiB3YWl0KG9iamVjdF9saXN0LCB0aW1lb3V0PU5vbmUpCisKKyAgIFdhaXQgdGlsbCBhbiBvYmplY3QgaW4gKm9iamVjdF9saXN0KiBpcyByZWFkeS4gIFJldHVybnMgdGhlIGxpc3Qgb2YKKyAgIHRob3NlIG9iamVjdHMgaW4gKm9iamVjdF9saXN0KiB3aGljaCBhcmUgcmVhZHkuICBJZiAqdGltZW91dCogaXMgYQorICAgZmxvYXQgdGhlbiB0aGUgY2FsbCBibG9ja3MgZm9yIGF0IG1vc3QgdGhhdCBtYW55IHNlY29uZHMuICBJZgorICAgKnRpbWVvdXQqIGlzIGBgTm9uZWBgIHRoZW4gaXQgd2lsbCBibG9jayBmb3IgYW4gdW5saW1pdGVkIHBlcmlvZC4KKworICAgRm9yIGJvdGggVW5peCBhbmQgV2luZG93cywgYW4gb2JqZWN0IGNhbiBhcHBlYXIgaW4gKm9iamVjdF9saXN0KiBpZgorICAgaXQgaXMKKworICAgKiBhIHJlYWRhYmxlIDpjbGFzczpgfm11bHRpcHJvY2Vzc2luZy5Db25uZWN0aW9uYCBvYmplY3Q7CisgICAqIGEgY29ubmVjdGVkIGFuZCByZWFkYWJsZSA6Y2xhc3M6YHNvY2tldC5zb2NrZXRgIG9iamVjdDsgb3IKKyAgICogdGhlIDphdHRyOmB+bXVsdGlwcm9jZXNzaW5nLlByb2Nlc3Muc2VudGluZWxgIGF0dHJpYnV0ZSBvZiBhCisgICAgIDpjbGFzczpgfm11bHRpcHJvY2Vzc2luZy5Qcm9jZXNzYCBvYmplY3QuCisKKyAgIEEgY29ubmVjdGlvbiBvciBzb2NrZXQgb2JqZWN0IGlzIHJlYWR5IHdoZW4gdGhlcmUgaXMgZGF0YSBhdmFpbGFibGUKKyAgIHRvIGJlIHJlYWQgZnJvbSBpdCwgb3IgdGhlIG90aGVyIGVuZCBoYXMgYmVlbiBjbG9zZWQuCisKKyAgICoqVW5peCoqOiBgYHdhaXQob2JqZWN0X2xpc3QsIHRpbWVvdXQpYGAgYWxtb3N0IGVxdWl2YWxlbnQKKyAgIGBgc2VsZWN0LnNlbGVjdChvYmplY3RfbGlzdCwgW10sIFtdLCB0aW1lb3V0KWBgLiAgVGhlIGRpZmZlcmVuY2UgaXMKKyAgIHRoYXQsIGlmIDpmdW5jOmBzZWxlY3Quc2VsZWN0YCBpcyBpbnRlcnJ1cHRlZCBieSBhIHNpZ25hbCwgaXQgY2FuCisgICByYWlzZSA6ZXhjOmBPU0Vycm9yYCB3aXRoIGFuIGVycm9yIG51bWJlciBvZiBgYEVJTlRSYGAsIHdoZXJlYXMKKyAgIDpmdW5jOmB3YWl0YCB3aWxsIG5vdC4KKworICAgKipXaW5kb3dzKio6IEFuIGl0ZW0gaW4gKm9iamVjdF9saXN0KiBtdXN0IGVpdGhlciBiZSBhbiBpbnRlZ2VyCisgICBoYW5kbGUgd2hpY2ggaXMgd2FpdGFibGUgKGFjY29yZGluZyB0byB0aGUgZGVmaW5pdGlvbiB1c2VkIGJ5IHRoZQorICAgZG9jdW1lbnRhdGlvbiBvZiB0aGUgV2luMzIgZnVuY3Rpb24gYGBXYWl0Rm9yTXVsdGlwbGVPYmplY3RzKClgYCkKKyAgIG9yIGl0IGNhbiBiZSBhbiBvYmplY3Qgd2l0aCBhIDptZXRoOmBmaWxlbm9gIG1ldGhvZCB3aGljaCByZXR1cm5zIGEKKyAgIHNvY2tldCBoYW5kbGUgb3IgcGlwZSBoYW5kbGUuICAoTm90ZSB0aGF0IHBpcGUgaGFuZGxlcyBhbmQgc29ja2V0CisgICBoYW5kbGVzIGFyZSAqKm5vdCoqIHdhaXRhYmxlIGhhbmRsZXMuKQorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKIAogVGhlIG1vZHVsZSBkZWZpbmVzIHR3byBleGNlcHRpb25zOgogCkBAIC0xODg3LDYgKzE5NjYsNDEgQEAKIAogICAgY29ubi5jbG9zZSgpCiAKK1RoZSBmb2xsb3dpbmcgY29kZSB1c2VzIDpmdW5jOmB+bXVsdGlwcm9jZXNzaW5nLmNvbm5lY3Rpb24ud2FpdGAgdG8KK3dhaXQgZm9yIG1lc3NhZ2VzIGZyb20gbXVsdGlwbGUgcHJvY2Vzc2VzIGF0IG9uY2U6OgorCisgICBpbXBvcnQgdGltZSwgcmFuZG9tCisgICBmcm9tIG11bHRpcHJvY2Vzc2luZyBpbXBvcnQgUHJvY2VzcywgUGlwZSwgY3VycmVudF9wcm9jZXNzCisgICBmcm9tIG11bHRpcHJvY2Vzc2luZy5jb25uZWN0aW9uIGltcG9ydCB3YWl0CisKKyAgIGRlZiBmb28odyk6CisgICAgICAgZm9yIGkgaW4gcmFuZ2UoMTApOgorICAgICAgICAgICB3LnNlbmQoKGksIGN1cnJlbnRfcHJvY2VzcygpLm5hbWUpKQorICAgICAgIHcuY2xvc2UoKQorCisgICBpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgorICAgICAgIHJlYWRlcnMgPSBbXQorCisgICAgICAgZm9yIGkgaW4gcmFuZ2UoNCk6CisgICAgICAgICAgIHIsIHcgPSBQaXBlKGR1cGxleD1GYWxzZSkKKyAgICAgICAgICAgcmVhZGVycy5hcHBlbmQocikKKyAgICAgICAgICAgcCA9IFByb2Nlc3ModGFyZ2V0PWZvbywgYXJncz0odywpKQorICAgICAgICAgICBwLnN0YXJ0KCkKKyAgICAgICAgICAgIyBXZSBjbG9zZSB0aGUgd3JpdGFibGUgZW5kIG9mIHRoZSBwaXBlIG5vdyB0byBiZSBzdXJlIHRoYXQKKyAgICAgICAgICAgIyBwIGlzIHRoZSBvbmx5IHByb2Nlc3Mgd2hpY2ggb3ducyBhIGhhbmRsZSBmb3IgaXQuICBUaGlzCisgICAgICAgICAgICMgZW5zdXJlcyB0aGF0IHdoZW4gcCBjbG9zZXMgaXRzIGhhbmRsZSBmb3IgdGhlIHdyaXRhYmxlIGVuZCwKKyAgICAgICAgICAgIyB3YWl0KCkgd2lsbCBwcm9tcHRseSByZXBvcnQgdGhlIHJlYWRhYmxlIGVuZCBhcyBiZWluZyByZWFkeS4KKyAgICAgICAgICAgdy5jbG9zZSgpCisKKyAgICAgICB3aGlsZSByZWFkZXJzOgorICAgICAgICAgICBmb3IgciBpbiB3YWl0KHJlYWRlcnMpOgorICAgICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgICAgIG1zZyA9IHIucmVjdigpCisgICAgICAgICAgICAgICBleGNlcHQgRU9GRXJyb3I6CisgICAgICAgICAgICAgICAgICAgcmVhZGVycy5yZW1vdmUocikKKyAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgcHJpbnQobXNnKQorCiAKIC4uIF9tdWx0aXByb2Nlc3NpbmctYWRkcmVzcy1mb3JtYXRzOgogCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9ubnRwbGliLnJzdCBiL0RvYy9saWJyYXJ5L25udHBsaWIucnN0CmluZGV4IGVmNTA3ZTEuLjYyZGE3MmMgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L25udHBsaWIucnN0CisrKyBiL0RvYy9saWJyYXJ5L25udHBsaWIucnN0CkBAIC03MCwxMCArNzAsMjMgQEAKICAgIGNvbm5lY3RpbmcgdG8gYW4gTk5UUCBzZXJ2ZXIgb24gdGhlIGxvY2FsIG1hY2hpbmUgYW5kIGludGVuZCB0byBjYWxsCiAgICByZWFkZXItc3BlY2lmaWMgY29tbWFuZHMsIHN1Y2ggYXMgYGBncm91cGBgLiAgSWYgeW91IGdldCB1bmV4cGVjdGVkCiAgICA6ZXhjOmBOTlRQUGVybWFuZW50RXJyb3JgXCBzLCB5b3UgbWlnaHQgbmVlZCB0byBzZXQgKnJlYWRlcm1vZGUqLgorICAgOmNsYXNzOmBOTlRQYCBjbGFzcyBzdXBwb3J0cyB0aGUgOmtleXdvcmQ6YHdpdGhgIHN0YXRlbWVudCB0bworICAgdW5jb25kaXRpb25hbGx5IGNvbnN1bWUgOmV4Yzpgc29ja2V0LmVycm9yYCBleGNlcHRpb25zIGFuZCB0byBjbG9zZSB0aGUgTk5UUAorICAgY29ubmVjdGlvbiB3aGVuIGRvbmUuIEhlcmUgaXMgYSBzYW1wbGUgb24gaG93IHVzaW5nIGl0OgorCisgICAgPj4+IGZyb20gbm50cGxpYiBpbXBvcnQgTk5UUAorICAgID4+PiB3aXRoIE5OVFAoJ25ld3MuZ21hbmUub3JnJykgYXMgbjoKKyAgICAuLi4gICAgIG4uZ3JvdXAoJ2dtYW5lLmNvbXAucHl0aG9uLmNvbW1pdHRlcnMnKQorICAgIC4uLgorICAgICgnMjExIDE3NTUgMSAxNzU1IGdtYW5lLmNvbXAucHl0aG9uLmNvbW1pdHRlcnMnLCAxNzU1LCAxLCAxNzU1LCAnZ21hbmUuY29tcC5weXRob24uY29tbWl0dGVycycpCisgICAgPj4+CisKIAogICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjIKICAgICAgICp1c2VuZXRyYyogaXMgbm93IEZhbHNlIGJ5IGRlZmF1bHQuCiAKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy4zCisgICAgICBTdXBwb3J0IGZvciB0aGUgOmtleXdvcmQ6YHdpdGhgIHN0YXRlbWVudCB3YXMgYWRkZWQuCiAKIC4uIGNsYXNzOjogTk5UUF9TU0woaG9zdCwgcG9ydD01NjMsIHVzZXI9Tm9uZSwgcGFzc3dvcmQ9Tm9uZSwgc3NsX2NvbnRleHQ9Tm9uZSwgcmVhZGVybW9kZT1Ob25lLCB1c2VuZXRyYz1GYWxzZSwgW3RpbWVvdXRdKQogCkBAIC01MDQsNiArNTE3LDkgQEAKICAgIGFydGljbGUgd2l0aCBtZXNzYWdlIElEICppZCouICBNb3N0IG9mIHRoZSB0aW1lLCB0aGlzIGV4dGVuc2lvbiBpcyBub3QKICAgIGVuYWJsZWQgYnkgTk5UUCBzZXJ2ZXIgYWRtaW5pc3RyYXRvcnMuCiAKKyAgIC4uIGRlcHJlY2F0ZWQ6OiAzLjMKKyAgICAgIFRoZSBYUEFUSCBleHRlbnNpb24gaXMgbm90IGFjdGl2ZWx5IHVzZWQuCisKIAogLi4gWFhYIGRlcHJlY2F0ZWQ6CiAKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L29zLnJzdCBiL0RvYy9saWJyYXJ5L29zLnJzdAppbmRleCBiZTMyMmEwLi43NGI4OWI4IDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9vcy5yc3QKKysrIGIvRG9jL2xpYnJhcnkvb3MucnN0CkBAIC0yMjEsNiArMjIxLDE3IEBACiAgICBBdmFpbGFiaWxpdHk6IFVuaXguCiAKIAorLi4gZnVuY3Rpb246OiBnZXRncm91cGxpc3QodXNlciwgZ3JvdXApCisKKyAgIFJldHVybiBsaXN0IG9mIGdyb3VwIGlkcyB0aGF0ICp1c2VyKiBiZWxvbmdzIHRvLiBJZiAqZ3JvdXAqIGlzIG5vdCBpbiB0aGUKKyAgIGxpc3QsIGl0IGlzIGluY2x1ZGVkOyB0eXBpY2FsbHksICpncm91cCogaXMgc3BlY2lmaWVkIGFzIHRoZSBncm91cCBJRAorICAgZmllbGQgZnJvbSB0aGUgcGFzc3dvcmQgcmVjb3JkIGZvciAqdXNlciouCisKKyAgIEF2YWlsYWJpbGl0eTogVW5peC4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy4zCisKKwogLi4gZnVuY3Rpb246OiBnZXRncm91cHMoKQogCiAgICBSZXR1cm4gbGlzdCBvZiBzdXBwbGVtZW50YWwgZ3JvdXAgaWRzIGFzc29jaWF0ZWQgd2l0aCB0aGUgY3VycmVudCBwcm9jZXNzLgpAQCAtMjg4LDYgKzI5OSwyMiBAQAogICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjIKICAgICAgIEFkZGVkIHN1cHBvcnQgZm9yIFdpbmRvd3MuCiAKKy4uIGZ1bmN0aW9uOjogZ2V0cHJpb3JpdHkod2hpY2gsIHdobykKKworICAgLi4gaW5kZXg6OiBzaW5nbGU6IHByb2Nlc3M7IHNjaGVkdWxpbmcgcHJpb3JpdHkKKworICAgR2V0IHByb2dyYW0gc2NoZWR1bGluZyBwcmlvcml0eS4gVGhlIHZhbHVlICp3aGljaCogaXMgb25lIG9mCisgICA6Y29uc3Q6YFBSSU9fUFJPQ0VTU2AsIDpjb25zdDpgUFJJT19QR1JQYCwgb3IgOmNvbnN0OmBQUklPX1VTRVJgLCBhbmQgKndobyoKKyAgIGlzIGludGVycHJldGVkIHJlbGF0aXZlIHRvICp3aGljaCogKGEgcHJvY2VzcyBpZGVudGlmaWVyIGZvcgorICAgOmNvbnN0OmBQUklPX1BST0NFU1NgLCBwcm9jZXNzIGdyb3VwIGlkZW50aWZpZXIgZm9yIDpjb25zdDpgUFJJT19QR1JQYCwgYW5kIGEKKyAgIHVzZXIgSUQgZm9yIDpjb25zdDpgUFJJT19VU0VSYCkuIEEgemVybyB2YWx1ZSBmb3IgKndobyogZGVub3RlcworICAgKHJlc3BlY3RpdmVseSkgdGhlIGNhbGxpbmcgcHJvY2VzcywgdGhlIHByb2Nlc3MgZ3JvdXAgb2YgdGhlIGNhbGxpbmcgcHJvY2VzcywKKyAgIG9yIHRoZSByZWFsIHVzZXIgSUQgb2YgdGhlIGNhbGxpbmcgcHJvY2Vzcy4KKworICAgQXZhaWxhYmlsaXR5OiBVbml4CisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMworCiAuLiBmdW5jdGlvbjo6IGdldHJlc3VpZCgpCiAKICAgIFJldHVybiBhIHR1cGxlIChydWlkLCBldWlkLCBzdWlkKSBkZW5vdGluZyB0aGUgY3VycmVudCBwcm9jZXNzJ3MKQEAgLTMzOCw2ICszNjUsMTUgQEAKIAogICAgLi4gdmVyc2lvbmFkZGVkOjogMy4yCiAKKy4uIGRhdGE6OiBQUklPX1BST0NFU1MKKyAgICAgICAgICBQUklPX1BHUlAKKyAgICAgICAgICBQUklPX1VTRVIKKworICAgUGFyYW1ldGVycyBmb3IgOmZ1bmM6YGdldHByaW9yaXR5YCBhbmQgOmZ1bmM6YHNldHByaW9yaXR5YCBmdW5jdGlvbnMuCisKKyAgIEF2YWlsYWJpbGl0eTogVW5peC4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy4zCiAKIC4uIGZ1bmN0aW9uOjogcHV0ZW52KGtleSwgdmFsdWUpCiAKQEAgLTQwNyw2ICs0NDMsMjUgQEAKICAgIEF2YWlsYWJpbGl0eTogVW5peC4KIAogCisuLiBmdW5jdGlvbjo6IHNldHByaW9yaXR5KHdoaWNoLCB3aG8sIHByaW9yaXR5KQorCisgICAuLiBpbmRleDo6IHNpbmdsZTogcHJvY2Vzczsgc2NoZWR1bGluZyBwcmlvcml0eQorCisgICBTZXQgcHJvZ3JhbSBzY2hlZHVsaW5nIHByaW9yaXR5LiBUaGUgdmFsdWUgKndoaWNoKiBpcyBvbmUgb2YKKyAgIDpjb25zdDpgUFJJT19QUk9DRVNTYCwgOmNvbnN0OmBQUklPX1BHUlBgLCBvciA6Y29uc3Q6YFBSSU9fVVNFUmAsIGFuZCAqd2hvKgorICAgaXMgaW50ZXJwcmV0ZWQgcmVsYXRpdmUgdG8gKndoaWNoKiAoYSBwcm9jZXNzIGlkZW50aWZpZXIgZm9yCisgICA6Y29uc3Q6YFBSSU9fUFJPQ0VTU2AsIHByb2Nlc3MgZ3JvdXAgaWRlbnRpZmllciBmb3IgOmNvbnN0OmBQUklPX1BHUlBgLCBhbmQgYQorICAgdXNlciBJRCBmb3IgOmNvbnN0OmBQUklPX1VTRVJgKS4gQSB6ZXJvIHZhbHVlIGZvciAqd2hvKiBkZW5vdGVzCisgICAocmVzcGVjdGl2ZWx5KSB0aGUgY2FsbGluZyBwcm9jZXNzLCB0aGUgcHJvY2VzcyBncm91cCBvZiB0aGUgY2FsbGluZyBwcm9jZXNzLAorICAgb3IgdGhlIHJlYWwgdXNlciBJRCBvZiB0aGUgY2FsbGluZyBwcm9jZXNzLgorICAgKnByaW9yaXR5KiBpcyBhIHZhbHVlIGluIHRoZSByYW5nZSAtMjAgdG8gMTkuIFRoZSBkZWZhdWx0IHByaW9yaXR5IGlzIDA7CisgICBsb3dlciBwcmlvcml0aWVzIGNhdXNlIG1vcmUgZmF2b3JhYmxlIHNjaGVkdWxpbmcuCisKKyAgIEF2YWlsYWJpbGl0eTogVW5peAorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKKworCiAuLiBmdW5jdGlvbjo6IHNldHJlZ2lkKHJnaWQsIGVnaWQpCiAKICAgIFNldCB0aGUgY3VycmVudCBwcm9jZXNzJ3MgcmVhbCBhbmQgZWZmZWN0aXZlIGdyb3VwIGlkcy4KQEAgLTUzNiw3ICs1OTEsOCBAQAogICAgdGhlIGJ1aWx0LWluIDpmdW5jOmBvcGVuYCBmdW5jdGlvbi4KIAogICAgV2hlbiBzcGVjaWZpZWQsIHRoZSAqbW9kZSogYXJndW1lbnQgbXVzdCBzdGFydCB3aXRoIG9uZSBvZiB0aGUgbGV0dGVycwotICAgYGAncidgYCwgYGAndydgYCwgb3IgYGAnYSdgYCwgb3RoZXJ3aXNlIGEgOmV4YzpgVmFsdWVFcnJvcmAgaXMgcmFpc2VkLgorICAgYGAncidgYCwgYGAndydgYCwgYGAneCdgYCBvciBgYCdhJ2BgLCBvdGhlcndpc2UgYSA6ZXhjOmBWYWx1ZUVycm9yYCBpcworICAgcmFpc2VkLgogCiAgICBPbiBVbml4LCB3aGVuIHRoZSAqbW9kZSogYXJndW1lbnQgc3RhcnRzIHdpdGggYGAnYSdgYCwgdGhlICpPX0FQUEVORCogZmxhZyBpcwogICAgc2V0IG9uIHRoZSBmaWxlIGRlc2NyaXB0b3IgKHdoaWNoIHRoZSA6YzpmdW5jOmBmZG9wZW5gIGltcGxlbWVudGF0aW9uIGFscmVhZHkKQEAgLTU0NCw2ICs2MDAsOCBAQAogCiAgICBBdmFpbGFiaWxpdHk6IFVuaXgsIFdpbmRvd3MuCiAKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy4zCisgICAgICBUaGUgYGAneCdgYCBtb2RlIHdhcyBhZGRlZC4KIAogLi4gX29zLWZkLW9wczoKIApAQCAtNTY0LDYgKzYyMiwyMSBAQAogZGVzY3JpcHRvciBkaXJlY3RseSB3aWxsIGJ5cGFzcyB0aGUgZmlsZSBvYmplY3QgbWV0aG9kcywgaWdub3JpbmcgYXNwZWN0cyBzdWNoCiBhcyBpbnRlcm5hbCBidWZmZXJpbmcgb2YgZGF0YS4KIAorLi4gZGF0YTo6IEFUX1NZTUxJTktfTk9GT0xMT1cKKyAgICAgICAgICBBVF9FQUNDRVNTCisgICAgICAgICAgQVRfRkRDV0QKKyAgICAgICAgICBBVF9SRU1PVkVESVIKKyAgICAgICAgICBBVF9TWU1MSU5LX0ZPTExPVworICAgICAgICAgIFVUSU1FX05PVworICAgICAgICAgIFVUSU1FX09NSVQKKworICAgVGhlc2UgcGFyYW1ldGVycyBhcmUgdXNlZCBhcyBmbGFncyB0byB0aGUgXCphdCBmYW1pbHkgb2YgZnVuY3Rpb25zLgorCisgICBBdmFpbGFiaWxpdHk6IFVuaXguCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMworCisKIC4uIGZ1bmN0aW9uOjogY2xvc2UoZmQpCiAKICAgIENsb3NlIGZpbGUgZGVzY3JpcHRvciAqZmQqLgpAQCAtNjEyLDYgKzY4NSwxOSBAQAogICAgQXZhaWxhYmlsaXR5OiBVbml4LCBXaW5kb3dzLgogCiAKKy4uIGZ1bmN0aW9uOjogZmFjY2Vzc2F0KGRpcmZkLCBwYXRoLCBtb2RlLCBmbGFncz0wKQorCisgICBMaWtlIDpmdW5jOmBhY2Nlc3NgIGJ1dCBpZiAqcGF0aCogaXMgcmVsYXRpdmUsIGl0IGlzIHRha2VuIGFzIHJlbGF0aXZlIHRvICpkaXJmZCouCisgICAqZmxhZ3MqIGlzIG9wdGlvbmFsIGFuZCBjYW4gYmUgY29uc3RydWN0ZWQgYnkgT1JpbmcgdG9nZXRoZXIgemVybyBvciBtb3JlCisgICBvZiB0aGVzZSB2YWx1ZXM6IDpkYXRhOmBBVF9TWU1MSU5LX05PRk9MTE9XYCwgOmRhdGE6YEFUX0VBQ0NFU1NgLgorICAgSWYgKnBhdGgqIGlzIHJlbGF0aXZlIGFuZCAqZGlyZmQqIGlzIHRoZSBzcGVjaWFsIHZhbHVlIDpkYXRhOmBBVF9GRENXRGAsIHRoZW4gKnBhdGgqCisgICBpcyBpbnRlcnByZXRlZCByZWxhdGl2ZSB0byB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeS4KKworICAgQXZhaWxhYmlsaXR5OiBVbml4LgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKKworCiAuLiBmdW5jdGlvbjo6IGZjaG1vZChmZCwgbW9kZSkKIAogICAgQ2hhbmdlIHRoZSBtb2RlIG9mIHRoZSBmaWxlIGdpdmVuIGJ5ICpmZCogdG8gdGhlIG51bWVyaWMgKm1vZGUqLiAgU2VlIHRoZSBkb2NzCkBAIC02MjAsNiArNzA2LDE4IEBACiAgICBBdmFpbGFiaWxpdHk6IFVuaXguCiAKIAorLi4gZnVuY3Rpb246OiBmY2htb2RhdChkaXJmZCwgcGF0aCwgbW9kZSwgZmxhZ3M9MCkKKworICAgTGlrZSA6ZnVuYzpgY2htb2RgIGJ1dCBpZiAqcGF0aCogaXMgcmVsYXRpdmUsIGl0IGlzIHRha2VuIGFzIHJlbGF0aXZlIHRvICpkaXJmZCouCisgICAqZmxhZ3MqIGlzIG9wdGlvbmFsIGFuZCBtYXkgYmUgMCBvciA6ZGF0YTpgQVRfU1lNTElOS19OT0ZPTExPV2AuCisgICBJZiAqcGF0aCogaXMgcmVsYXRpdmUgYW5kICpkaXJmZCogaXMgdGhlIHNwZWNpYWwgdmFsdWUgOmRhdGE6YEFUX0ZEQ1dEYCwgdGhlbiAqcGF0aCoKKyAgIGlzIGludGVycHJldGVkIHJlbGF0aXZlIHRvIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5LgorCisgICBBdmFpbGFiaWxpdHk6IFVuaXguCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMworCisKIC4uIGZ1bmN0aW9uOjogZmNob3duKGZkLCB1aWQsIGdpZCkKIAogICAgQ2hhbmdlIHRoZSBvd25lciBhbmQgZ3JvdXAgaWQgb2YgdGhlIGZpbGUgZ2l2ZW4gYnkgKmZkKiB0byB0aGUgbnVtZXJpYyAqdWlkKgpAQCAtNjI4LDYgKzcyNiwxOCBAQAogICAgQXZhaWxhYmlsaXR5OiBVbml4LgogCiAKKy4uIGZ1bmN0aW9uOjogZmNob3duYXQoZGlyZmQsIHBhdGgsIHVpZCwgZ2lkLCBmbGFncz0wKQorCisgICBMaWtlIDpmdW5jOmBjaG93bmAgYnV0IGlmICpwYXRoKiBpcyByZWxhdGl2ZSwgaXQgaXMgdGFrZW4gYXMgcmVsYXRpdmUgdG8gKmRpcmZkKi4KKyAgICpmbGFncyogaXMgb3B0aW9uYWwgYW5kIG1heSBiZSAwIG9yIDpkYXRhOmBBVF9TWU1MSU5LX05PRk9MTE9XYC4KKyAgIElmICpwYXRoKiBpcyByZWxhdGl2ZSBhbmQgKmRpcmZkKiBpcyB0aGUgc3BlY2lhbCB2YWx1ZSA6ZGF0YTpgQVRfRkRDV0RgLCB0aGVuICpwYXRoKgorICAgaXMgaW50ZXJwcmV0ZWQgcmVsYXRpdmUgdG8gdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkuCisKKyAgIEF2YWlsYWJpbGl0eTogVW5peC4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy4zCisKKwogLi4gZnVuY3Rpb246OiBmZGF0YXN5bmMoZmQpCiAKICAgIEZvcmNlIHdyaXRlIG9mIGZpbGUgd2l0aCBmaWxlZGVzY3JpcHRvciAqZmQqIHRvIGRpc2suIERvZXMgbm90IGZvcmNlIHVwZGF0ZSBvZgpAQCAtNjM5LDYgKzc0OSw0NyBAQAogICAgICAgVGhpcyBmdW5jdGlvbiBpcyBub3QgYXZhaWxhYmxlIG9uIE1hY09TLgogCiAKKy4uIGZ1bmN0aW9uOjogZmdldHhhdHRyKGZkLCBhdHRyKQorCisgICBUaGlzIHdvcmtzIGV4YWN0bHkgbGlrZSA6ZnVuYzpgZ2V0eGF0dHJgIGJ1dCBvcGVyYXRlcyBvbiBhIGZpbGUgZGVzY3JpcHRvciwKKyAgICpmZCosIGluc3RlYWQgb2YgYSBwYXRoLgorCisgICBBdmFpbGFiaWxpdHk6IExpbnV4CisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMworCisKKy4uIGZ1bmN0aW9uOjogZmxpc3R4YXR0cihmZCkKKworICAgVGhpcyBpcyBleGFjdGx5IGxpa2UgOmZ1bmM6YGxpc3R4YXR0cmAgYnV0IG9wZXJhdGVzIG9uIGEgZmlsZSBkZXNjcmlwdG9yLAorICAgKmZkKiwgaW5zdGVhZCBvZiBhIHBhdGguCisKKyAgIEF2YWlsYWJpbGl0eTogTGludXgKKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy4zCisKKworLi4gZnVuY3Rpb246OiBmbGlzdGRpcihmZCkKKworICAgTGlrZSA6ZnVuYzpgbGlzdGRpcmAsIGJ1dCB1c2VzIGEgZmlsZSBkZXNjcmlwdG9yIGluc3RlYWQgYW5kIGFsd2F5cyByZXR1cm5zCisgICBzdHJpbmdzLgorCisgICBBdmFpbGFiaWxpdHk6IFVuaXguCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMworCisKKy4uIGZ1bmN0aW9uOjogZmV4ZWN2ZShmZCwgYXJncywgZW52KQorCisgICBFeGVjdXRlIHRoZSBwcm9ncmFtIHNwZWNpZmllZCBieSBhIGZpbGUgZGVzY3JpcHRvciAqZmQqIHdpdGggYXJndW1lbnRzIGdpdmVuCisgICBieSAqYXJncyogYW5kIGVudmlyb25tZW50IGdpdmVuIGJ5ICplbnYqLCByZXBsYWNpbmcgdGhlIGN1cnJlbnQgcHJvY2Vzcy4KKyAgICphcmdzKiBhbmQgKmVudiogYXJlIGdpdmVuIGFzIGluIDpmdW5jOmBleGVjdmVgLgorCisgICBBdmFpbGFiaWxpdHk6IFVuaXguCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMworCisKIC4uIGZ1bmN0aW9uOjogZnBhdGhjb25mKGZkLCBuYW1lKQogCiAgICBSZXR1cm4gc3lzdGVtIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gcmVsZXZhbnQgdG8gYW4gb3BlbiBmaWxlLiAqbmFtZSoKQEAgLTY2Myw2ICs4MTQsMTcgQEAKIAogICAgQXZhaWxhYmlsaXR5OiBVbml4LCBXaW5kb3dzLgogCisuLiBmdW5jdGlvbjo6IGZzdGF0YXQoZGlyZmQsIHBhdGgsIGZsYWdzPTApCisKKyAgIExpa2UgOmZ1bmM6YHN0YXRgIGJ1dCBpZiAqcGF0aCogaXMgcmVsYXRpdmUsIGl0IGlzIHRha2VuIGFzIHJlbGF0aXZlIHRvICpkaXJmZCouCisgICAqZmxhZ3MqIGlzIG9wdGlvbmFsIGFuZCBtYXkgYmUgMCBvciA6ZGF0YTpgQVRfU1lNTElOS19OT0ZPTExPV2AuCisgICBJZiAqcGF0aCogaXMgcmVsYXRpdmUgYW5kICpkaXJmZCogaXMgdGhlIHNwZWNpYWwgdmFsdWUgOmRhdGE6YEFUX0ZEQ1dEYCwgdGhlbiAqcGF0aCoKKyAgIGlzIGludGVycHJldGVkIHJlbGF0aXZlIHRvIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5LgorCisgICBBdmFpbGFiaWxpdHk6IFVuaXguCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMworCiAKIC4uIGZ1bmN0aW9uOjogZnN0YXR2ZnMoZmQpCiAKQEAgLTY5Miw2ICs4NTQsODAgQEAKICAgIEF2YWlsYWJpbGl0eTogVW5peC4KIAogCisuLiBmdW5jdGlvbjo6IGZyZW1vdmV4YXR0cihmZCwgYXR0cikKKworICAgVGhpcyB3b3JrcyBleGFjdGx5IGxpa2UgOmZ1bmM6YHJlbW92ZXhhdHRyYCBidXQgb3BlcmF0ZXMgb24gYSBmaWxlCisgICBkZXNjcmlwdG9yLCAqZmQqLCBpbnN0ZWFkIG9mIGEgcGF0aC4KKworICAgQXZhaWxhYmlsaXR5OiBMaW51eAorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKKworCisuLiBmdW5jdGlvbjo6IGZzZXR4YXR0cihmZCwgYXR0ciwgdmFsdWUsIGZsYWdzPTApCisKKyAgIFRoaXMgd29ya3MgZXhhY3RseSBsaWtlIDpmdW5jOmBzZXR4YXR0cmAgYnV0IG9uIGEgZmlsZSBkZXNjcmlwdG9yLCAqZmQqLAorICAgaW5zdGVhZCBvZiBhIHBhdGguCisKKworICAgQXZhaWxhYmlsaXR5OiBMaW51eAorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKKworCisuLiBmdW5jdGlvbjo6IGZ1dGltZXNhdChkaXJmZCwgcGF0aFssIHRpbWVzXSkKKworICAgTGlrZSA6ZnVuYzpgdXRpbWVgIGJ1dCBpZiAqcGF0aCogaXMgcmVsYXRpdmUsIGl0IGlzIHRha2VuIGFzIHJlbGF0aXZlIHRvICpkaXJmZCouCisgICBJZiAqcGF0aCogaXMgcmVsYXRpdmUgYW5kICpkaXJmZCogaXMgdGhlIHNwZWNpYWwgdmFsdWUgOmRhdGE6YEFUX0ZEQ1dEYCwgdGhlbiAqcGF0aCoKKyAgIGlzIGludGVycHJldGVkIHJlbGF0aXZlIHRvIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5LiAgKnRpbWVzKiBtdXN0IGJlIGEKKyAgIDItdHVwbGUgb2YgbnVtYmVycywgb2YgdGhlIGZvcm0gYGAoYXRpbWUsIG10aW1lKWBgLCBvciBOb25lLgorCisgICBBdmFpbGFiaWxpdHk6IFVuaXguCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMworCisKKy4uIGZ1bmN0aW9uOjogZnV0aW1lbnMoZmRbLCBhdGltZXMsIG10aW1lc10pCisKKyAgIFVwZGF0ZXMgdGhlIHRpbWVzdGFtcHMgb2YgYSBmaWxlIHNwZWNpZmllZCBieSB0aGUgZmlsZSBkZXNjcmlwdG9yICpmZCosIHdpdGgKKyAgIG5hbm9zZWNvbmQgcHJlY2lzaW9uLgorICAgSWYgbm8gc2Vjb25kIGFyZ3VtZW50IGlzIGdpdmVuLCBzZXQgKmF0aW1lKiBhbmQgKm10aW1lKiB0byB0aGUgY3VycmVudCB0aW1lLgorICAgKmF0aW1lcyogYW5kICptdGltZXMqIG11c3QgYmUgMi10dXBsZXMgb2YgbnVtYmVycywgb2YgdGhlIGZvcm0KKyAgIGBgKGF0aW1lX3NlYywgYXRpbWVfbnNlYylgYCBhbmQgYGAobXRpbWVfc2VjLCBtdGltZV9uc2VjKWBgIHJlc3BlY3RpdmVseSwKKyAgIG9yIGBgTm9uZWBgLgorICAgSWYgKmF0aW1lX25zZWMqIG9yICptdGltZV9uc2VjKiBpcyBzcGVjaWZpZWQgYXMgOmRhdGE6YFVUSU1FX05PV2AsIHRoZSBjb3JyZXNwb25kaW5nCisgICB0aW1lc3RhbXAgaXMgdXBkYXRlZCB0byB0aGUgY3VycmVudCB0aW1lLgorICAgSWYgKmF0aW1lX25zZWMqIG9yICptdGltZV9uc2VjKiBpcyBzcGVjaWZpZWQgYXMgOmRhdGE6YFVUSU1FX09NSVRgLCB0aGUgY29ycmVzcG9uZGluZworICAgdGltZXN0YW1wIGlzIG5vdCB1cGRhdGVkLgorCisgICBBdmFpbGFiaWxpdHk6IFVuaXguCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMworCisKKy4uIGRhdGE6OiBVVElNRV9OT1cKKyAgICAgICAgICBVVElNRV9PTUlUCisKKyAgIEZsYWdzIHVzZWQgd2l0aCA6ZnVuYzpgZnV0aW1lbnNgIHRvIHNwZWNpZnkgdGhhdCB0aGUgdGltZXN0YW1wIG11c3QgYmUKKyAgIHVwZGF0ZWQgZWl0aGVyIHRvIHRoZSBjdXJyZW50IHRpbWUgb3Igbm90IHVwZGF0ZWQgYXQgYWxsLgorCisgICBBdmFpbGFiaWxpdHk6IFVuaXguCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMworCisKKy4uIGZ1bmN0aW9uOjogZnV0aW1lcyhmZFssIHRpbWVzXSkKKworICAgU2V0IHRoZSBhY2Nlc3MgYW5kIG1vZGlmaWVkIHRpbWUgb2YgdGhlIGZpbGUgc3BlY2lmaWVkIGJ5IHRoZSBmaWxlCisgICBkZXNjcmlwdG9yICpmZCogdG8gdGhlIGdpdmVuIHZhbHVlcy4gICphdGltZXMqIG11c3QgYmUgYSAyLXR1cGxlIG9mIG51bWJlcnMsCisgICBvZiB0aGUgZm9ybSBgYChhdGltZSwgbXRpbWUpYGAsIG9yIE5vbmUuICBJZiBubyBzZWNvbmQgYXJndW1lbnQgaXMgdXNlZCwKKyAgIHNldCB0aGUgYWNjZXNzIGFuZCBtb2RpZmllZCB0aW1lcyB0byB0aGUgY3VycmVudCB0aW1lLgorCisgICBBdmFpbGFiaWxpdHk6IFVuaXguCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMworCisKIC4uIGZ1bmN0aW9uOjogaXNhdHR5KGZkKQogCiAgICBSZXR1cm4gYGBUcnVlYGAgaWYgdGhlIGZpbGUgZGVzY3JpcHRvciAqZmQqIGlzIG9wZW4gYW5kIGNvbm5lY3RlZCB0byBhCkBAIC03MDAsNiArOTM2LDQ0IEBACiAgICBBdmFpbGFiaWxpdHk6IFVuaXguCiAKIAorLi4gZnVuY3Rpb246OiBsaW5rYXQoc3JjZmQsIHNyY3BhdGgsIGRzdGZkLCBkc3RwYXRoLCBmbGFncz0wKQorCisgICBMaWtlIDpmdW5jOmBsaW5rYCBidXQgaWYgKnNyY3BhdGgqIGlzIHJlbGF0aXZlLCBpdCBpcyB0YWtlbiBhcyByZWxhdGl2ZSB0byAqc3JjZmQqCisgICBhbmQgaWYgKmRzdHBhdGgqIGlzIHJlbGF0aXZlLCBpdCBpcyB0YWtlbiBhcyByZWxhdGl2ZSB0byAqZHN0ZmQqLgorICAgKmZsYWdzKiBpcyBvcHRpb25hbCBhbmQgbWF5IGJlIDAgb3IgOmRhdGE6YEFUX1NZTUxJTktfRk9MTE9XYC4KKyAgIElmICpzcmNwYXRoKiBpcyByZWxhdGl2ZSBhbmQgKnNyY2ZkKiBpcyB0aGUgc3BlY2lhbCB2YWx1ZSA6ZGF0YTpgQVRfRkRDV0RgLCB0aGVuCisgICAqc3JjcGF0aCogaXMgaW50ZXJwcmV0ZWQgcmVsYXRpdmUgdG8gdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkuIFRoaXMKKyAgIGFsc28gYXBwbGllcyBmb3IgKmRzdHBhdGgqLgorCisgICBBdmFpbGFiaWxpdHk6IFVuaXguCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMworCisKKy4uIGZ1bmN0aW9uOjogbG9ja2YoZmQsIGNtZCwgbGVuKQorCisgICBBcHBseSwgdGVzdCBvciByZW1vdmUgYSBQT1NJWCBsb2NrIG9uIGFuIG9wZW4gZmlsZSBkZXNjcmlwdG9yLgorICAgKmZkKiBpcyBhbiBvcGVuIGZpbGUgZGVzY3JpcHRvci4KKyAgICpjbWQqIHNwZWNpZmllcyB0aGUgY29tbWFuZCB0byB1c2UgLSBvbmUgb2YgOmRhdGE6YEZfTE9DS2AsIDpkYXRhOmBGX1RMT0NLYCwKKyAgIDpkYXRhOmBGX1VMT0NLYCBvciA6ZGF0YTpgRl9URVNUYC4KKyAgICpsZW4qIHNwZWNpZmllcyB0aGUgc2VjdGlvbiBvZiB0aGUgZmlsZSB0byBsb2NrLgorCisgICBBdmFpbGFiaWxpdHk6IFVuaXguCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMworCisKKy4uIGRhdGE6OiBGX0xPQ0sKKyAgICAgICAgICBGX1RMT0NLCisgICAgICAgICAgRl9VTE9DSworICAgICAgICAgIEZfVEVTVAorCisgICBGbGFncyB0aGF0IHNwZWNpZnkgd2hhdCBhY3Rpb24gOmZ1bmM6YGxvY2tmYCB3aWxsIHRha2UuCisKKyAgIEF2YWlsYWJpbGl0eTogVW5peC4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy4zCisKIC4uIGZ1bmN0aW9uOjogbHNlZWsoZmQsIHBvcywgaG93KQogCiAgICBTZXQgdGhlIGN1cnJlbnQgcG9zaXRpb24gb2YgZmlsZSBkZXNjcmlwdG9yICpmZCogdG8gcG9zaXRpb24gKnBvcyosIG1vZGlmaWVkCkBAIC03MTksNiArOTkzLDM5IEBACiAgICByZXNwZWN0aXZlbHkuIEF2YWlsYWJpbGl0eTogV2luZG93cywgVW5peC4KIAogCisuLiBmdW5jdGlvbjo6IG1rZGlyYXQoZGlyZmQsIHBhdGgsIG1vZGU9MG83NzcpCisKKyAgIExpa2UgOmZ1bmM6YG1rZGlyYCBidXQgaWYgKnBhdGgqIGlzIHJlbGF0aXZlLCBpdCBpcyB0YWtlbiBhcyByZWxhdGl2ZSB0byAqZGlyZmQqLgorICAgSWYgKnBhdGgqIGlzIHJlbGF0aXZlIGFuZCAqZGlyZmQqIGlzIHRoZSBzcGVjaWFsIHZhbHVlIDpkYXRhOmBBVF9GRENXRGAsIHRoZW4gKnBhdGgqCisgICBpcyBpbnRlcnByZXRlZCByZWxhdGl2ZSB0byB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeS4KKworICAgQXZhaWxhYmlsaXR5OiBVbml4LgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKKworCisuLiBmdW5jdGlvbjo6IG1rZmlmb2F0KGRpcmZkLCBwYXRoLCBtb2RlPTBvNjY2KQorCisgICBMaWtlIDpmdW5jOmBta2ZpZm9gIGJ1dCBpZiAqcGF0aCogaXMgcmVsYXRpdmUsIGl0IGlzIHRha2VuIGFzIHJlbGF0aXZlIHRvICpkaXJmZCouCisgICBJZiAqcGF0aCogaXMgcmVsYXRpdmUgYW5kICpkaXJmZCogaXMgdGhlIHNwZWNpYWwgdmFsdWUgOmRhdGE6YEFUX0ZEQ1dEYCwgdGhlbiAqcGF0aCoKKyAgIGlzIGludGVycHJldGVkIHJlbGF0aXZlIHRvIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5LgorCisgICBBdmFpbGFiaWxpdHk6IFVuaXguCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMworCisKKy4uIGZ1bmN0aW9uOjogbWtub2RhdChkaXJmZCwgcGF0aCwgbW9kZT0wbzYwMCwgZGV2aWNlPTApCisKKyAgIExpa2UgOmZ1bmM6YG1rbm9kYCBidXQgaWYgKnBhdGgqIGlzIHJlbGF0aXZlLCBpdCBpcyB0YWtlbiBhcyByZWxhdGl2ZSB0byAqZGlyZmQqLgorICAgSWYgKnBhdGgqIGlzIHJlbGF0aXZlIGFuZCAqZGlyZmQqIGlzIHRoZSBzcGVjaWFsIHZhbHVlIDpkYXRhOmBBVF9GRENXRGAsIHRoZW4gKnBhdGgqCisgICBpcyBpbnRlcnByZXRlZCByZWxhdGl2ZSB0byB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeS4KKworICAgQXZhaWxhYmlsaXR5OiBVbml4LgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKKworCiAuLiBmdW5jdGlvbjo6IG9wZW4oZmlsZSwgZmxhZ3NbLCBtb2RlXSkKIAogICAgT3BlbiB0aGUgZmlsZSAqZmlsZSogYW5kIHNldCB2YXJpb3VzIGZsYWdzIGFjY29yZGluZyB0byAqZmxhZ3MqIGFuZCBwb3NzaWJseQpAQCAtNzQxLDYgKzEwNDgsMTcgQEAKICAgICAgIHdyYXAgYSBmaWxlIGRlc2NyaXB0b3IgaW4gYSBmaWxlIG9iamVjdCwgdXNlIDpmdW5jOmBmZG9wZW5gLgogCiAKKy4uIGZ1bmN0aW9uOjogb3BlbmF0KGRpcmZkLCBwYXRoLCBmbGFncywgbW9kZT0wbzc3NykKKworICAgTGlrZSA6ZnVuYzpgb3BlbmAgYnV0IGlmICpwYXRoKiBpcyByZWxhdGl2ZSwgaXQgaXMgdGFrZW4gYXMgcmVsYXRpdmUgdG8gKmRpcmZkKi4KKyAgIElmICpwYXRoKiBpcyByZWxhdGl2ZSBhbmQgKmRpcmZkKiBpcyB0aGUgc3BlY2lhbCB2YWx1ZSA6ZGF0YTpgQVRfRkRDV0RgLCB0aGVuICpwYXRoKgorICAgaXMgaW50ZXJwcmV0ZWQgcmVsYXRpdmUgdG8gdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkuCisKKyAgIEF2YWlsYWJpbGl0eTogVW5peC4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy4zCisKKwogLi4gZnVuY3Rpb246OiBvcGVucHR5KCkKIAogICAgLi4gaW5kZXg6OiBtb2R1bGU6IHB0eQpAQCAtNzYwLDYgKzEwNzgsNzkgQEAKICAgIEF2YWlsYWJpbGl0eTogVW5peCwgV2luZG93cy4KIAogCisuLiBmdW5jdGlvbjo6IHBpcGUyKGZsYWdzKQorCisgICBDcmVhdGUgYSBwaXBlIHdpdGggKmZsYWdzKiBzZXQgYXRvbWljYWxseS4KKyAgICpmbGFncyogY2FuIGJlIGNvbnN0cnVjdGVkIGJ5IE9SaW5nIHRvZ2V0aGVyIG9uZSBvciBtb3JlIG9mIHRoZXNlIHZhbHVlczoKKyAgIDpkYXRhOmBPX05PTkJMT0NLYCwgOmRhdGE6YE9fQ0xPRVhFQ2AuCisgICBSZXR1cm4gYSBwYWlyIG9mIGZpbGUgZGVzY3JpcHRvcnMgYGAociwgdylgYCB1c2FibGUgZm9yIHJlYWRpbmcgYW5kIHdyaXRpbmcsCisgICByZXNwZWN0aXZlbHkuCisKKyAgIEF2YWlsYWJpbGl0eTogc29tZSBmbGF2b3JzIG9mIFVuaXguCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMworCisKKy4uIGZ1bmN0aW9uOjogcG9zaXhfZmFsbG9jYXRlKGZkLCBvZmZzZXQsIGxlbikKKworICAgRW5zdXJlcyB0aGF0IGVub3VnaCBkaXNrIHNwYWNlIGlzIGFsbG9jYXRlZCBmb3IgdGhlIGZpbGUgc3BlY2lmaWVkIGJ5ICpmZCoKKyAgIHN0YXJ0aW5nIGZyb20gKm9mZnNldCogYW5kIGNvbnRpbnVpbmcgZm9yICpsZW4qIGJ5dGVzLgorCisgICBBdmFpbGFiaWxpdHk6IFVuaXguCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMworCisKKy4uIGZ1bmN0aW9uOjogcG9zaXhfZmFkdmlzZShmZCwgb2Zmc2V0LCBsZW4sIGFkdmljZSkKKworICAgQW5ub3VuY2VzIGFuIGludGVudGlvbiB0byBhY2Nlc3MgZGF0YSBpbiBhIHNwZWNpZmljIHBhdHRlcm4gdGh1cyBhbGxvd2luZworICAgdGhlIGtlcm5lbCB0byBtYWtlIG9wdGltaXphdGlvbnMuCisgICBUaGUgYWR2aWNlIGFwcGxpZXMgdG8gdGhlIHJlZ2lvbiBvZiB0aGUgZmlsZSBzcGVjaWZpZWQgYnkgKmZkKiBzdGFydGluZyBhdAorICAgKm9mZnNldCogYW5kIGNvbnRpbnVpbmcgZm9yICpsZW4qIGJ5dGVzLgorICAgKmFkdmljZSogaXMgb25lIG9mIDpkYXRhOmBQT1NJWF9GQURWX05PUk1BTGAsIDpkYXRhOmBQT1NJWF9GQURWX1NFUVVFTlRJQUxgLAorICAgOmRhdGE6YFBPU0lYX0ZBRFZfUkFORE9NYCwgOmRhdGE6YFBPU0lYX0ZBRFZfTk9SRVVTRWAsCisgICA6ZGF0YTpgUE9TSVhfRkFEVl9XSUxMTkVFRGAgb3IgOmRhdGE6YFBPU0lYX0ZBRFZfRE9OVE5FRURgLgorCisgICBBdmFpbGFiaWxpdHk6IFVuaXguCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMworCisKKy4uIGRhdGE6OiBQT1NJWF9GQURWX05PUk1BTAorICAgICAgICAgIFBPU0lYX0ZBRFZfU0VRVUVOVElBTAorICAgICAgICAgIFBPU0lYX0ZBRFZfUkFORE9NCisgICAgICAgICAgUE9TSVhfRkFEVl9OT1JFVVNFCisgICAgICAgICAgUE9TSVhfRkFEVl9XSUxMTkVFRAorICAgICAgICAgIFBPU0lYX0ZBRFZfRE9OVE5FRUQKKworICAgRmxhZ3MgdGhhdCBjYW4gYmUgdXNlZCBpbiAqYWR2aWNlKiBpbiA6ZnVuYzpgcG9zaXhfZmFkdmlzZWAgdGhhdCBzcGVjaWZ5CisgICB0aGUgYWNjZXNzIHBhdHRlcm4gdGhhdCBpcyBsaWtlbHkgdG8gYmUgdXNlZC4KKworICAgQXZhaWxhYmlsaXR5OiBVbml4LgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKKworCisuLiBmdW5jdGlvbjo6IHByZWFkKGZkLCBidWZmZXJzaXplLCBvZmZzZXQpCisKKyAgIFJlYWQgZnJvbSBhIGZpbGUgZGVzY3JpcHRvciwgKmZkKiwgYXQgYSBwb3NpdGlvbiBvZiAqb2Zmc2V0Ki4gSXQgd2lsbCByZWFkIHVwCisgICB0byAqYnVmZmVyc2l6ZSogbnVtYmVyIG9mIGJ5dGVzLiBUaGUgZmlsZSBvZmZzZXQgcmVtYWlucyB1bmNoYW5nZWQuCisKKyAgIEF2YWlsYWJpbGl0eTogVW5peC4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy4zCisKKworLi4gZnVuY3Rpb246OiBwd3JpdGUoZmQsIHN0cmluZywgb2Zmc2V0KQorCisgICBXcml0ZSAqc3RyaW5nKiB0byBhIGZpbGUgZGVzY3JpcHRvciwgKmZkKiwgZnJvbSAqb2Zmc2V0KiwgbGVhdmluZyB0aGUgZmlsZQorICAgb2Zmc2V0IHVuY2hhbmdlZC4KKworICAgQXZhaWxhYmlsaXR5OiBVbml4LgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKKworCiAuLiBmdW5jdGlvbjo6IHJlYWQoZmQsIG4pCiAKICAgIFJlYWQgYXQgbW9zdCAqbiogYnl0ZXMgZnJvbSBmaWxlIGRlc2NyaXB0b3IgKmZkKi4gUmV0dXJuIGEgYnl0ZXN0cmluZyBjb250YWluaW5nIHRoZQpAQCAtNzc3LDYgKzExNjgsOTMgQEAKICAgICAgIDptZXRoOmB+ZmlsZS5yZWFkbGluZWAgbWV0aG9kcy4KIAogCisuLiBmdW5jdGlvbjo6IHNlbmRmaWxlKG91dCwgaW4sIG9mZnNldCwgbmJ5dGVzKQorICAgICAgICAgICAgICBzZW5kZmlsZShvdXQsIGluLCBvZmZzZXQsIG5ieXRlcywgaGVhZGVycz1Ob25lLCB0cmFpbGVycz1Ob25lLCBmbGFncz0wKQorCisgICBDb3B5ICpuYnl0ZXMqIGJ5dGVzIGZyb20gZmlsZSBkZXNjcmlwdG9yICppbiogdG8gZmlsZSBkZXNjcmlwdG9yICpvdXQqCisgICBzdGFydGluZyBhdCAqb2Zmc2V0Ki4KKyAgIFJldHVybiB0aGUgbnVtYmVyIG9mIGJ5dGVzIHNlbnQuIFdoZW4gRU9GIGlzIHJlYWNoZWQgcmV0dXJuIDAuCisKKyAgIFRoZSBmaXJzdCBmdW5jdGlvbiBub3RhdGlvbiBpcyBzdXBwb3J0ZWQgYnkgYWxsIHBsYXRmb3JtcyB0aGF0IGRlZmluZQorICAgOmZ1bmM6YHNlbmRmaWxlYC4KKworICAgT24gTGludXgsIGlmICpvZmZzZXQqIGlzIGdpdmVuIGFzIGBgTm9uZWBgLCB0aGUgYnl0ZXMgYXJlIHJlYWQgZnJvbSB0aGUKKyAgIGN1cnJlbnQgcG9zaXRpb24gb2YgKmluKiBhbmQgdGhlIHBvc2l0aW9uIG9mICppbiogaXMgdXBkYXRlZC4KKworICAgVGhlIHNlY29uZCBjYXNlIG1heSBiZSB1c2VkIG9uIE1hYyBPUyBYIGFuZCBGcmVlQlNEIHdoZXJlICpoZWFkZXJzKiBhbmQKKyAgICp0cmFpbGVycyogYXJlIGFyYml0cmFyeSBzZXF1ZW5jZXMgb2YgYnVmZmVycyB0aGF0IGFyZSB3cml0dGVuIGJlZm9yZSBhbmQKKyAgIGFmdGVyIHRoZSBkYXRhIGZyb20gKmluKiBpcyB3cml0dGVuLiBJdCByZXR1cm5zIHRoZSBzYW1lIGFzIHRoZSBmaXJzdCBjYXNlLgorCisgICBPbiBNYWMgT1MgWCBhbmQgRnJlZUJTRCwgYSB2YWx1ZSBvZiAwIGZvciAqbmJ5dGVzKiBzcGVjaWZpZXMgdG8gc2VuZCB1bnRpbAorICAgdGhlIGVuZCBvZiAqaW4qIGlzIHJlYWNoZWQuCisKKyAgIE9uIFNvbGFyaXMsICpvdXQqIG1heSBiZSB0aGUgZmlsZSBkZXNjcmlwdG9yIG9mIGEgcmVndWxhciBmaWxlIG9yIHRoZSBmaWxlCisgICBkZXNjcmlwdG9yIG9mIGEgc29ja2V0LiBPbiBhbGwgb3RoZXIgcGxhdGZvcm1zLCAqb3V0KiBtdXN0IGJlIHRoZSBmaWxlCisgICBkZXNjcmlwdG9yIG9mIGFuIG9wZW4gc29ja2V0LgorCisgICBBdmFpbGFiaWxpdHk6IFVuaXguCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMworCisKKy4uIGRhdGE6OiBTRl9OT0RJU0tJTworICAgICAgICAgIFNGX01OT1dBSVQKKyAgICAgICAgICBTRl9TWU5DCisKKyAgIFBhcmFtZXRlcnMgdG8gdGhlIDpmdW5jOmBzZW5kZmlsZWAgZnVuY3Rpb24sIGlmIHRoZSBpbXBsZW1lbnRhdGlvbiBzdXBwb3J0cworICAgdGhlbS4KKworICAgQXZhaWxhYmlsaXR5OiBVbml4LgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKKworCisuLiBmdW5jdGlvbjo6IHJlYWRsaW5rYXQoZGlyZmQsIHBhdGgpCisKKyAgIExpa2UgOmZ1bmM6YHJlYWRsaW5rYCBidXQgaWYgKnBhdGgqIGlzIHJlbGF0aXZlLCBpdCBpcyB0YWtlbiBhcyByZWxhdGl2ZSB0byAqZGlyZmQqLgorICAgSWYgKnBhdGgqIGlzIHJlbGF0aXZlIGFuZCAqZGlyZmQqIGlzIHRoZSBzcGVjaWFsIHZhbHVlIDpkYXRhOmBBVF9GRENXRGAsIHRoZW4gKnBhdGgqCisgICBpcyBpbnRlcnByZXRlZCByZWxhdGl2ZSB0byB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeS4KKworICAgQXZhaWxhYmlsaXR5OiBVbml4LgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKKworCisuLiBmdW5jdGlvbjo6IHJlbmFtZWF0KG9sZGRpcmZkLCBvbGRwYXRoLCBuZXdkaXJmZCwgbmV3cGF0aCkKKworICAgTGlrZSA6ZnVuYzpgcmVuYW1lYCBidXQgaWYgKm9sZHBhdGgqIGlzIHJlbGF0aXZlLCBpdCBpcyB0YWtlbiBhcyByZWxhdGl2ZSB0bworICAgKm9sZGRpcmZkKiBhbmQgaWYgKm5ld3BhdGgqIGlzIHJlbGF0aXZlLCBpdCBpcyB0YWtlbiBhcyByZWxhdGl2ZSB0byAqbmV3ZGlyZmQqLgorICAgSWYgKm9sZHBhdGgqIGlzIHJlbGF0aXZlIGFuZCAqb2xkZGlyZmQqIGlzIHRoZSBzcGVjaWFsIHZhbHVlIDpkYXRhOmBBVF9GRENXRGAsIHRoZW4KKyAgICpvbGRwYXRoKiBpcyBpbnRlcnByZXRlZCByZWxhdGl2ZSB0byB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeS4gVGhpcworICAgYWxzbyBhcHBsaWVzIGZvciAqbmV3cGF0aCouCisKKyAgIEF2YWlsYWJpbGl0eTogVW5peC4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy4zCisKKworLi4gZnVuY3Rpb246OiBzeW1saW5rYXQoc3JjLCBkc3RmZCwgZHN0KQorCisgICBMaWtlIDpmdW5jOmBzeW1saW5rYCBidXQgaWYgKmRzdCogaXMgcmVsYXRpdmUsIGl0IGlzIHRha2VuIGFzIHJlbGF0aXZlIHRvICpkc3RmZCouCisgICBJZiAqZHN0KiBpcyByZWxhdGl2ZSBhbmQgKmRzdGZkKiBpcyB0aGUgc3BlY2lhbCB2YWx1ZSA6ZGF0YTpgQVRfRkRDV0RgLCB0aGVuICpkc3QqCisgICBpcyBpbnRlcnByZXRlZCByZWxhdGl2ZSB0byB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeS4KKworICAgQXZhaWxhYmlsaXR5OiBVbml4LgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKKworCisuLiBmdW5jdGlvbjo6IHJlYWR2KGZkLCBidWZmZXJzKQorCisgICBSZWFkIGZyb20gYSBmaWxlIGRlc2NyaXB0b3IgaW50byBhIG51bWJlciBvZiB3cml0YWJsZSBidWZmZXJzLiAqYnVmZmVycyogaXMKKyAgIGFuIGFyYml0cmFyeSBzZXF1ZW5jZSBvZiB3cml0YWJsZSBidWZmZXJzLiBSZXR1cm5zIHRoZSB0b3RhbCBudW1iZXIgb2YgYnl0ZXMKKyAgIHJlYWQuCisKKyAgIEF2YWlsYWJpbGl0eTogVW5peC4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy4zCisKKwogLi4gZnVuY3Rpb246OiB0Y2dldHBncnAoZmQpCiAKICAgIFJldHVybiB0aGUgcHJvY2VzcyBncm91cCBhc3NvY2lhdGVkIHdpdGggdGhlIHRlcm1pbmFsIGdpdmVuIGJ5ICpmZCogKGFuIG9wZW4KQEAgLTgwMiw2ICsxMjgwLDM4IEBACiAgICBBdmFpbGFiaWxpdHk6IFVuaXguCiAKIAorLi4gZnVuY3Rpb246OiB1bmxpbmthdChkaXJmZCwgcGF0aCwgZmxhZ3M9MCkKKworICAgTGlrZSA6ZnVuYzpgdW5saW5rYCBidXQgaWYgKnBhdGgqIGlzIHJlbGF0aXZlLCBpdCBpcyB0YWtlbiBhcyByZWxhdGl2ZSB0byAqZGlyZmQqLgorICAgKmZsYWdzKiBpcyBvcHRpb25hbCBhbmQgbWF5IGJlIDAgb3IgOmRhdGE6YEFUX1JFTU9WRURJUmAuIElmIDpkYXRhOmBBVF9SRU1PVkVESVJgIGlzCisgICBzcGVjaWZpZWQsIDpmdW5jOmB1bmxpbmthdGAgYmVoYXZlcyBsaWtlIDpmdW5jOmBybWRpcmAuCisgICBJZiAqcGF0aCogaXMgcmVsYXRpdmUgYW5kICpkaXJmZCogaXMgdGhlIHNwZWNpYWwgdmFsdWUgOmRhdGE6YEFUX0ZEQ1dEYCwgdGhlbiAqcGF0aCoKKyAgIGlzIGludGVycHJldGVkIHJlbGF0aXZlIHRvIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5LgorCisgICBBdmFpbGFiaWxpdHk6IFVuaXguCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMworCisKKy4uIGZ1bmN0aW9uOjogdXRpbWVuc2F0KGRpcmZkLCBwYXRoWywgYXRpbWU9KGF0aW1lX3NlYywgYXRpbWVfbnNlYyksIG10aW1lPShtdGltZV9zZWMsIG10aW1lX25zZWMpLCBmbGFncz0wXSkKKworICAgVXBkYXRlcyB0aGUgdGltZXN0YW1wcyBvZiBhIGZpbGUgd2l0aCBuYW5vc2Vjb25kIHByZWNpc2lvbi4KKyAgIFRoZSAqYXRpbWUqIGFuZCAqbXRpbWUqIHR1cGxlcyBkZWZhdWx0IHRvIGBgTm9uZWBgLCB3aGljaCBzZXRzIHRob3NlCisgICB2YWx1ZXMgdG8gdGhlIGN1cnJlbnQgdGltZS4KKyAgIElmICphdGltZV9uc2VjKiBvciAqbXRpbWVfbnNlYyogaXMgc3BlY2lmaWVkIGFzIDpkYXRhOmBVVElNRV9OT1dgLCB0aGUgY29ycmVzcG9uZGluZworICAgdGltZXN0YW1wIGlzIHVwZGF0ZWQgdG8gdGhlIGN1cnJlbnQgdGltZS4KKyAgIElmICphdGltZV9uc2VjKiBvciAqbXRpbWVfbnNlYyogaXMgc3BlY2lmaWVkIGFzIDpkYXRhOmBVVElNRV9PTUlUYCwgdGhlIGNvcnJlc3BvbmRpbmcKKyAgIHRpbWVzdGFtcCBpcyBub3QgdXBkYXRlZC4KKyAgIElmICpwYXRoKiBpcyByZWxhdGl2ZSwgaXQgaXMgdGFrZW4gYXMgcmVsYXRpdmUgdG8gKmRpcmZkKi4KKyAgICpmbGFncyogaXMgb3B0aW9uYWwgYW5kIG1heSBiZSAwICh0aGUgZGVmYXVsdCkgb3IgOmRhdGE6YEFUX1NZTUxJTktfTk9GT0xMT1dgLgorICAgSWYgKnBhdGgqIGlzIHJlbGF0aXZlIGFuZCAqZGlyZmQqIGlzIHRoZSBzcGVjaWFsIHZhbHVlIDpkYXRhOmBBVF9GRENXRGAsIHRoZW4gKnBhdGgqCisgICBpcyBpbnRlcnByZXRlZCByZWxhdGl2ZSB0byB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeS4KKworICAgQXZhaWxhYmlsaXR5OiBVbml4LgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKKworCiAuLiBmdW5jdGlvbjo6IHdyaXRlKGZkLCBzdHIpCiAKICAgIFdyaXRlIHRoZSBieXRlc3RyaW5nIGluICpzdHIqIHRvIGZpbGUgZGVzY3JpcHRvciAqZmQqLiBSZXR1cm4gdGhlIG51bWJlciBvZgpAQCAtODE4LDYgKzEzMjgsMTcgQEAKICAgICAgIDptZXRoOmB+ZmlsZS53cml0ZWAgbWV0aG9kLgogCiAKKy4uIGZ1bmN0aW9uOjogd3JpdGV2KGZkLCBidWZmZXJzKQorCisgICBXcml0ZSB0aGUgY29udGVudHMgb2YgKmJ1ZmZlcnMqIHRvIGZpbGUgZGVzY3JpcHRvciAqZmQqLCB3aGVyZSAqYnVmZmVycyoKKyAgIGlzIGFuIGFyYml0cmFyeSBzZXF1ZW5jZSBvZiBidWZmZXJzLgorICAgUmV0dXJucyB0aGUgdG90YWwgbnVtYmVyIG9mIGJ5dGVzIHdyaXR0ZW4uCisKKyAgIEF2YWlsYWJpbGl0eTogVW5peC4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy4zCisKKwogLi4gX29wZW4tY29uc3RhbnRzOgogCiBgYG9wZW4oKWBgIGZsYWcgY29uc3RhbnRzCkBAIC04NDksOSArMTM3MCwxMiBAQAogICAgICAgICAgIE9fTk9DVFRZCiAgICAgICAgICAgT19TSExPQ0sKICAgICAgICAgICBPX0VYTE9DSworICAgICAgICAgIE9fQ0xPRVhFQwogCiAgICBUaGVzZSBjb25zdGFudHMgYXJlIG9ubHkgYXZhaWxhYmxlIG9uIFVuaXguCiAKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy4zCisgICAgICBBZGQgOmRhdGE6YE9fQ0xPRVhFQ2AgY29uc3RhbnQuCiAKIC4uIGRhdGE6OiBPX0JJTkFSWQogICAgICAgICAgIE9fTk9JTkhFUklUCkBAIC04NzQsNiArMTM5OCw1NiBAQAogICAgdGhlIEMgbGlicmFyeS4KIAogCisuLiBkYXRhOjogUlRMRF9MQVpZCisgICAgICAgICAgUlRMRF9OT1cKKyAgICAgICAgICBSVExEX0dMT0JBTAorICAgICAgICAgIFJUTERfTE9DQUwKKyAgICAgICAgICBSVExEX05PREVMRVRFCisgICAgICAgICAgUlRMRF9OT0xPQUQKKyAgICAgICAgICBSVExEX0RFRVBCSU5ECisKKyAgIFNlZSB0aGUgVW5peCBtYW51YWwgcGFnZSA6bWFucGFnZTpgZGxvcGVuKDMpYC4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy4zCisKKworLi4gX3Rlcm1pbmFsLXNpemU6CisKK1F1ZXJ5aW5nIHRoZSBzaXplIG9mIGEgdGVybWluYWwKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKworLi4gdmVyc2lvbmFkZGVkOjogMy4zCisKKy4uIGZ1bmN0aW9uOjogZ2V0X3Rlcm1pbmFsX3NpemUoZmQ9U1RET1VUX0ZJTEVOTykKKworICAgUmV0dXJuIHRoZSBzaXplIG9mIHRoZSB0ZXJtaW5hbCB3aW5kb3cgYXMgYGAoY29sdW1ucywgbGluZXMpYGAsCisgICB0dXBsZSBvZiB0eXBlIDpjbGFzczpgdGVybWluYWxfc2l6ZWAuCisKKyAgIFRoZSBvcHRpb25hbCBhcmd1bWVudCBgYGZkYGAgKGRlZmF1bHQgYGBTVERPVVRfRklMRU5PYGAsIG9yIHN0YW5kYXJkCisgICBvdXRwdXQpIHNwZWNpZmllcyB3aGljaCBmaWxlIGRlc2NyaXB0b3Igc2hvdWxkIGJlIHF1ZXJpZWQuCisKKyAgIElmIHRoZSBmaWxlIGRlc2NyaXB0b3IgaXMgbm90IGNvbm5lY3RlZCB0byBhIHRlcm1pbmFsLCBhbiA6ZXhjOmBPU0Vycm9yYAorICAgaXMgdGhyb3duLgorCisgICA6ZnVuYzpgc2h1dGlsLmdldF90ZXJtaW5hbF9zaXplYCBpcyB0aGUgaGlnaC1sZXZlbCBmdW5jdGlvbiB3aGljaAorICAgc2hvdWxkIG5vcm1hbGx5IGJlIHVzZWQsIGBgb3MuZ2V0X3Rlcm1pbmFsX3NpemVgYCBpcyB0aGUgbG93LWxldmVsCisgICBpbXBsZW1lbnRhdGlvbi4KKworICAgQXZhaWxhYmlsaXR5OiBVbml4LCBXaW5kb3dzLgorCisuLiBjbGFzczo6IHRlcm1pbmFsX3NpemUodHVwbGUpCisKKyAgIEEgdHVwbGUgb2YgYGAoY29sdW1ucywgbGluZXMpYGAgZm9yIGhvbGRpbmcgdGVybWluYWwgd2luZG93IHNpemUuCisKKyAgIC4uIGF0dHJpYnV0ZTo6IGNvbHVtbnMKKworICAgICAgV2lkdGggb2YgdGhlIHRlcm1pbmFsIHdpbmRvdyBpbiBjaGFyYWN0ZXJzLgorCisgICAuLiBhdHRyaWJ1dGU6OiBsaW5lcworCisgICAgICBIZWlnaHQgb2YgdGhlIHRlcm1pbmFsIHdpbmRvdyBpbiBjaGFyYWN0ZXJzLgorCisKIC4uIF9vcy1maWxlLWRpcjoKIAogRmlsZXMgYW5kIERpcmVjdG9yaWVzCkBAIC05MDksMTEgKzE0ODMsOCBAQAogCiAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgZnAgPSBvcGVuKCJteWZpbGUiKQotICAgICAgICAgZXhjZXB0IElPRXJyb3IgYXMgZToKLSAgICAgICAgICAgICBpZiBlLmVycm5vID09IGVycm5vLkVBQ0NFUzoKLSAgICAgICAgICAgICAgICAgcmV0dXJuICJzb21lIGRlZmF1bHQgZGF0YSIKLSAgICAgICAgICAgICAjIE5vdCBhIHBlcm1pc3Npb24gZXJyb3IuCi0gICAgICAgICAgICAgcmFpc2UKKyAgICAgICAgIGV4Y2VwdCBQZXJtaXNzaW9uRXJyb3I6CisgICAgICAgICAgICAgcmV0dXJuICJzb21lIGRlZmF1bHQgZGF0YSIKICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgd2l0aCBmcDoKICAgICAgICAgICAgICAgICAgcmV0dXJuIGZwLnJlYWQoKQpAQCAtMTA0OSw5ICsxNjIwLDIzIEBACiAgICBDaGFuZ2UgdGhlIG93bmVyIGFuZCBncm91cCBpZCBvZiAqcGF0aCogdG8gdGhlIG51bWVyaWMgKnVpZCogYW5kICpnaWQqLiBUbyBsZWF2ZQogICAgb25lIG9mIHRoZSBpZHMgdW5jaGFuZ2VkLCBzZXQgaXQgdG8gLTEuCiAKKyAgIFNlZSA6ZnVuYzpgc2h1dGlsLmNob3duYCBmb3IgYSBoaWdoZXItbGV2ZWwgZnVuY3Rpb24gdGhhdCBhY2NlcHRzIG5hbWVzIGluCisgICBhZGRpdGlvbiB0byBudW1lcmljIGlkcy4KKwogICAgQXZhaWxhYmlsaXR5OiBVbml4LgogCiAKKy4uIGZ1bmN0aW9uOjogZ2V0eGF0dHIocGF0aCwgYXR0cikKKworICAgUmV0dXJuIHRoZSB2YWx1ZSBvZiB0aGUgZXh0ZW5kZWQgZmlsZXN5c3RlbSBhdHRyaWJ1dGUgKmF0dHIqIGZvcgorICAgKnBhdGgqLiAqYXR0ciogY2FuIGJlIGJ5dGVzIG9yIHN0ci4gSWYgaXQgaXMgc3RyLCBpdCBpcyBlbmNvZGVkIHdpdGggdGhlCisgICBmaWxlc3lzdGVtIGVuY29kaW5nLgorCisgICBBdmFpbGFiaWxpdHk6IExpbnV4CisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMworCisKIC4uIGZ1bmN0aW9uOjogbGNoZmxhZ3MocGF0aCwgZmxhZ3MpCiAKICAgIFNldCB0aGUgZmxhZ3Mgb2YgKnBhdGgqIHRvIHRoZSBudW1lcmljICpmbGFncyosIGxpa2UgOmZ1bmM6YGNoZmxhZ3NgLCBidXQgZG8gbm90CkBAIC0xMDc3LDYgKzE2NjIsMTUgQEAKICAgIEF2YWlsYWJpbGl0eTogVW5peC4KIAogCisuLiBmdW5jdGlvbjo6IGxnZXR4YXR0cihwYXRoLCBhdHRyKQorCisgICBUaGlzIHdvcmtzIGV4YWN0bHkgbGlrZSA6ZnVuYzpgZ2V0eGF0dHJgIGJ1dCBkb2Vzbid0IGZvbGxvdyBzeW1saW5rcy4KKworICAgQXZhaWxhYmlsaXR5OiBMaW51eAorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKKworCiAuLiBmdW5jdGlvbjo6IGxpbmsoc291cmNlLCBsaW5rX25hbWUpCiAKICAgIENyZWF0ZSBhIGhhcmQgbGluayBwb2ludGluZyB0byAqc291cmNlKiBuYW1lZCAqbGlua19uYW1lKi4KQEAgLTExMDEsNiArMTY5NSw0NCBAQAogICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjIKICAgICAgIFRoZSAqcGF0aCogcGFyYW1ldGVyIGJlY2FtZSBvcHRpb25hbC4KIAorCisuLiBmdW5jdGlvbjo6IGxpc3R4YXR0cihwYXRoKQorCisgICBSZXR1cm4gYSBsaXN0IG9mIHRoZSBleHRlbmRlZCBmaWxlc3lzdGVtIGF0dHJpYnV0ZXMgb24gKnBhdGgqLiBBdHRyaWJ1dGVzIGFyZQorICAgcmV0dXJuZWQgYXMgc3RyaW5nIGRlY29kZWQgd2l0aCB0aGUgZmlsZXN5c3RlbSBlbmNvZGluZy4KKworICAgQXZhaWxhYmlsaXR5OiBMaW51eAorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKKworCisuLiBmdW5jdGlvbjo6IGxsaXN0eGF0dHIocGF0aCkKKworICAgVGhpcyB3b3JrcyBleGFjdGx5IGxpa2UgOmZ1bmM6YGxpc3R4YXR0cmAgYnV0IGRvZXNuJ3QgZm9sbG93IHN5bWxpbmtzLgorCisgICBBdmFpbGFiaWxpdHk6IExpbnV4CisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMworCisKKy4uIGZ1bmN0aW9uOjogbHJlbW92ZXhhdHRyKHBhdGgsIGF0dHIpCisKKyAgIFRoaXMgd29ya3MgZXhhY3RseSBsaWtlIDpmdW5jOmByZW1vdmV4YXR0cmAgYnV0IGRvZXNuJ3QgZm9sbG93IHN5bWxpbmtzLgorCisgICBBdmFpbGFiaWxpdHk6IExpbnV4CisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMworCisKKy4uIGZ1bmN0aW9uOjogbHNldHhhdHRyKHBhdGgsIGF0dHIsIHZhbHVlLCBmbGFncz0wKQorCisgICBUaGlzIHdvcmtzIGV4YWN0bHkgbGlrZSA6ZnVuYzpgc2V0eGF0dHJgIGJ1dCBkb2Vzbid0IGZvbGxvdyBzeW1saW5rcy4KKworICAgQXZhaWxhYmlsaXR5OiBMaW51eAorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKKworCiAuLiBmdW5jdGlvbjo6IGxzdGF0KHBhdGgpCiAKICAgIFBlcmZvcm0gdGhlIGVxdWl2YWxlbnQgb2YgYW4gOmM6ZnVuYzpgbHN0YXRgIHN5c3RlbSBjYWxsIG9uIHRoZSBnaXZlbiBwYXRoLgpAQCAtMTExMiw2ICsxNzQ0LDE4IEBACiAgICAgICBBZGRlZCBzdXBwb3J0IGZvciBXaW5kb3dzIDYuMCAoVmlzdGEpIHN5bWJvbGljIGxpbmtzLgogCiAKKy4uIGZ1bmN0aW9uOjogbHV0aW1lcyhwYXRoWywgdGltZXNdKQorCisgICBMaWtlIDpmdW5jOmB1dGltZWAsIGJ1dCBpZiAqcGF0aCogaXMgYSBzeW1ib2xpYyBsaW5rLCBpdCBpcyBub3QKKyAgIGRlcmVmZXJlbmNlZC4gICp0aW1lcyogbXVzdCBiZSBhIDItdHVwbGUgb2YgbnVtYmVycywgb2YgdGhlIGZvcm0KKyAgIGBgKGF0aW1lLCBtdGltZSlgYCwgb3IgTm9uZS4KKworCisgICBBdmFpbGFiaWxpdHk6IFVuaXguCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMworCisKIC4uIGZ1bmN0aW9uOjogbWtmaWZvKHBhdGhbLCBtb2RlXSkKIAogICAgQ3JlYXRlIGEgRklGTyAoYSBuYW1lZCBwaXBlKSBuYW1lZCAqcGF0aCogd2l0aCBudW1lcmljIG1vZGUgKm1vZGUqLiAgVGhlCkBAIC0xMjYzLDYgKzE5MDcsMTcgQEAKICAgIHN1Y2Nlc3NmdWxseSByZW1vdmVkLgogCiAKKy4uIGZ1bmN0aW9uOjogcmVtb3ZleGF0dHIocGF0aCwgYXR0cikKKworICAgUmVtb3ZlcyB0aGUgZXh0ZW5kZWQgZmlsZXN5c3RlbSBhdHRyaWJ1dGUgKmF0dHIqIGZyb20gKnBhdGgqLiAqYXR0ciogc2hvdWxkCisgICBiZSBieXRlcyBvciBzdHIuIElmIGl0IGlzIGEgc3RyaW5nLCBpdCBpcyBlbmNvZGVkIHdpdGggdGhlIGZpbGVzeXN0ZW0KKyAgIGVuY29kaW5nLgorCisgICBBdmFpbGFiaWxpdHk6IExpbnV4CisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMworCisKIC4uIGZ1bmN0aW9uOjogcmVuYW1lKHNyYywgZHN0KQogCiAgICBSZW5hbWUgdGhlIGZpbGUgb3IgZGlyZWN0b3J5ICpzcmMqIHRvICpkc3QqLiAgSWYgKmRzdCogaXMgYSBkaXJlY3RvcnksCkBAIC0xMjcxLDggKzE5MjYsOSBAQAogICAgVW5peCBmbGF2b3JzIGlmICpzcmMqIGFuZCAqZHN0KiBhcmUgb24gZGlmZmVyZW50IGZpbGVzeXN0ZW1zLiAgSWYgc3VjY2Vzc2Z1bCwKICAgIHRoZSByZW5hbWluZyB3aWxsIGJlIGFuIGF0b21pYyBvcGVyYXRpb24gKHRoaXMgaXMgYSBQT1NJWCByZXF1aXJlbWVudCkuICBPbgogICAgV2luZG93cywgaWYgKmRzdCogYWxyZWFkeSBleGlzdHMsIDpleGM6YE9TRXJyb3JgIHdpbGwgYmUgcmFpc2VkIGV2ZW4gaWYgaXQgaXMgYQotICAgZmlsZTsgdGhlcmUgbWF5IGJlIG5vIHdheSB0byBpbXBsZW1lbnQgYW4gYXRvbWljIHJlbmFtZSB3aGVuICpkc3QqIG5hbWVzIGFuCi0gICBleGlzdGluZyBmaWxlLgorICAgZmlsZS4KKworICAgSWYgeW91IHdhbnQgY3Jvc3MtcGxhdGZvcm0gb3ZlcndyaXRpbmcgb2YgdGhlIGRlc3RpbmF0aW9uLCB1c2UgOmZ1bmM6YHJlcGxhY2VgLgogCiAgICBBdmFpbGFiaWxpdHk6IFVuaXgsIFdpbmRvd3MuCiAKQEAgLTEyOTAsNiArMTk0NiwxOSBAQAogICAgICAgcGVybWlzc2lvbnMgbmVlZGVkIHRvIHJlbW92ZSB0aGUgbGVhZiBkaXJlY3Rvcnkgb3IgZmlsZS4KIAogCisuLiBmdW5jdGlvbjo6IHJlcGxhY2Uoc3JjLCBkc3QpCisKKyAgIFJlbmFtZSB0aGUgZmlsZSBvciBkaXJlY3RvcnkgKnNyYyogdG8gKmRzdCouICBJZiAqZHN0KiBpcyBhIGRpcmVjdG9yeSwKKyAgIDpleGM6YE9TRXJyb3JgIHdpbGwgYmUgcmFpc2VkLiAgSWYgKmRzdCogZXhpc3RzIGFuZCBpcyBhIGZpbGUsIGl0IHdpbGwKKyAgIGJlIHJlcGxhY2VkIHNpbGVudGx5IGlmIHRoZSB1c2VyIGhhcyBwZXJtaXNzaW9uLiAgVGhlIG9wZXJhdGlvbiBtYXkgZmFpbAorICAgaWYgKnNyYyogYW5kICpkc3QqIGFyZSBvbiBkaWZmZXJlbnQgZmlsZXN5c3RlbXMuICBJZiBzdWNjZXNzZnVsLAorICAgdGhlIHJlbmFtaW5nIHdpbGwgYmUgYW4gYXRvbWljIG9wZXJhdGlvbiAodGhpcyBpcyBhIFBPU0lYIHJlcXVpcmVtZW50KS4KKworICAgQXZhaWxhYmlsaXR5OiBVbml4LCBXaW5kb3dzCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMworCisKIC4uIGZ1bmN0aW9uOjogcm1kaXIocGF0aCkKIAogICAgUmVtb3ZlIChkZWxldGUpIHRoZSBkaXJlY3RvcnkgKnBhdGgqLiAgT25seSB3b3JrcyB3aGVuIHRoZSBkaXJlY3RvcnkgaXMKQEAgLTEyOTksNiArMTk2OCw0NCBAQAogICAgQXZhaWxhYmlsaXR5OiBVbml4LCBXaW5kb3dzLgogCiAKKy4uIGRhdGE6OiBYQVRUUl9TSVpFX01BWAorCisgICBUaGUgbWF4aW11bSBzaXplIHRoZSB2YWx1ZSBvZiBhbiBleHRlbmRlZCBhdHRyaWJ1dGUgY2FuIGJlLiBDdXJyZW50bHksIHRoaXMKKyAgIGlzIDY0IGtpbG9ieXRlcyBvbiBMaW51eC4KKworCisuLiBkYXRhOjogWEFUVFJfQ1JFQVRFCisKKyAgIFRoaXMgaXMgYSBwb3NzaWJsZSB2YWx1ZSBmb3IgdGhlIGZsYWdzIGFyZ3VtZW50IGluIDpmdW5jOmBzZXR4YXR0cmAuIEl0CisgICBpbmRpY2F0ZXMgdGhlIG9wZXJhdGlvbiBtdXN0IGNyZWF0ZSBhbiBhdHRyaWJ1dGUuCisKKworLi4gZGF0YTo6IFhBVFRSX1JFUExBQ0UKKworICAgVGhpcyBpcyBhIHBvc3NpYmxlIHZhbHVlIGZvciB0aGUgZmxhZ3MgYXJndW1lbnQgaW4gOmZ1bmM6YHNldHhhdHRyYC4gSXQKKyAgIGluZGljYXRlcyB0aGUgb3BlcmF0aW9uIG11c3QgcmVwbGFjZSBhbiBleGlzdGluZyBhdHRyaWJ1dGUuCisKKworLi4gZnVuY3Rpb246OiBzZXR4YXR0cihwYXRoLCBhdHRyLCB2YWx1ZSwgZmxhZ3M9MCkKKworICAgU2V0IHRoZSBleHRlbmRlZCBmaWxlc3lzdGVtIGF0dHJpYnV0ZSAqYXR0ciogb24gKnBhdGgqIHRvICp2YWx1ZSouICphdHRyKgorICAgbXVzdCBiZSBhIGJ5dGVzIG9yIHN0ciB3aXRoIG5vIGVtYmVkZGVkIE5VTHMuIElmIGl0IGlzIHN0ciwgaXQgaXMgZW5jb2RlZAorICAgd2l0aCB0aGUgZmlsZXN5c3RlbSBlbmNvZGluZy4gKmZsYWdzKiBtYXkgYmUgOmRhdGE6YFhBVFRSX1JFUExBQ0VgIG9yCisgICA6ZGF0YTpgWEFUVFJfQ1JFQVRFYC4gSWYgOmRhdGE6YFhBVFRSX1JFUExBQ0VgIGlzIGdpdmVuIGFuZCB0aGUgYXR0cmlidXRlCisgICBkb2VzIG5vdCBleGlzdCwgYGBFRVhJU1RTYGAgd2lsbCBiZSByYWlzZWQuIElmIDpkYXRhOmBYQVRUUl9DUkVBVEVgIGlzIGdpdmVuCisgICBhbmQgdGhlIGF0dHJpYnV0ZSBhbHJlYWR5IGV4aXN0cywgdGhlIGF0dHJpYnV0ZSB3aWxsIG5vdCBiZSBjcmVhdGVkIGFuZAorICAgYGBFTk9EQVRBYGAgd2lsbCBiZSByYWlzZWQuCisKKyAgIEF2YWlsYWJpbGl0eTogTGludXgKKworICAgLi4gbm90ZTo6CisKKyAgICAgIEEgYnVnIGluIExpbnV4IGtlcm5lbCB2ZXJzaW9ucyBsZXNzIHRoYW4gMi42LjM5IGNhdXNlZCB0aGUgZmxhZ3MgYXJndW1lbnQKKyAgICAgIHRvIGJlIGlnbm9yZWQgb24gc29tZSBmaWxlc3lzdGVtcy4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy4zCisKKwogLi4gZnVuY3Rpb246OiBzdGF0KHBhdGgpCiAKICAgIFBlcmZvcm0gdGhlIGVxdWl2YWxlbnQgb2YgYSA6YzpmdW5jOmBzdGF0YCBzeXN0ZW0gY2FsbCBvbiB0aGUgZ2l2ZW4gcGF0aC4KQEAgLTE0NTMsNiArMjE2MCwyNSBAQAogICAgICAgQWRkZWQgc3VwcG9ydCBmb3IgV2luZG93cyA2LjAgKFZpc3RhKSBzeW1ib2xpYyBsaW5rcy4KIAogCisuLiBmdW5jdGlvbjo6IHN5bmMoKQorCisgICBGb3JjZSB3cml0ZSBvZiBldmVyeXRoaW5nIHRvIGRpc2suCisKKyAgIEF2YWlsYWJpbGl0eTogVW5peC4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy4zCisKKworLi4gZnVuY3Rpb246OiB0cnVuY2F0ZShwYXRoLCBsZW5ndGgpCisKKyAgIFRydW5jYXRlIHRoZSBmaWxlIGNvcnJlc3BvbmRpbmcgdG8gKnBhdGgqLCBzbyB0aGF0IGl0IGlzIGF0IG1vc3QKKyAgICpsZW5ndGgqIGJ5dGVzIGluIHNpemUuCisKKyAgIEF2YWlsYWJpbGl0eTogVW5peC4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy4zCisKKwogLi4gZnVuY3Rpb246OiB1bmxpbmsocGF0aCkKIAogICAgUmVtb3ZlIChkZWxldGUpIHRoZSBmaWxlICpwYXRoKi4gIFRoaXMgaXMgdGhlIHNhbWUgZnVuY3Rpb24gYXMKQEAgLTE0NjIsMTggKzIxODgsMTkgQEAKICAgIEF2YWlsYWJpbGl0eTogVW5peCwgV2luZG93cy4KIAogCi0uLiBmdW5jdGlvbjo6IHV0aW1lKHBhdGgsIHRpbWVzKQorLi4gZnVuY3Rpb246OiB1dGltZShwYXRoWywgdGltZXNdKQogCiAgICBTZXQgdGhlIGFjY2VzcyBhbmQgbW9kaWZpZWQgdGltZXMgb2YgdGhlIGZpbGUgc3BlY2lmaWVkIGJ5ICpwYXRoKi4gSWYgKnRpbWVzKgotICAgaXMgYGBOb25lYGAsIHRoZW4gdGhlIGZpbGUncyBhY2Nlc3MgYW5kIG1vZGlmaWVkIHRpbWVzIGFyZSBzZXQgdG8gdGhlIGN1cnJlbnQKLSAgIHRpbWUuIChUaGUgZWZmZWN0IGlzIHNpbWlsYXIgdG8gcnVubmluZyB0aGUgVW5peCBwcm9ncmFtIDpwcm9ncmFtOmB0b3VjaGAgb24KLSAgIHRoZSBwYXRoLikgIE90aGVyd2lzZSwgKnRpbWVzKiBtdXN0IGJlIGEgMi10dXBsZSBvZiBudW1iZXJzLCBvZiB0aGUgZm9ybQotICAgYGAoYXRpbWUsIG10aW1lKWBgIHdoaWNoIGlzIHVzZWQgdG8gc2V0IHRoZSBhY2Nlc3MgYW5kIG1vZGlmaWVkIHRpbWVzLAotICAgcmVzcGVjdGl2ZWx5LiBXaGV0aGVyIGEgZGlyZWN0b3J5IGNhbiBiZSBnaXZlbiBmb3IgKnBhdGgqIGRlcGVuZHMgb24gd2hldGhlcgotICAgdGhlIG9wZXJhdGluZyBzeXN0ZW0gaW1wbGVtZW50cyBkaXJlY3RvcmllcyBhcyBmaWxlcyAoZm9yIGV4YW1wbGUsIFdpbmRvd3MKLSAgIGRvZXMgbm90KS4gIE5vdGUgdGhhdCB0aGUgZXhhY3QgdGltZXMgeW91IHNldCBoZXJlIG1heSBub3QgYmUgcmV0dXJuZWQgYnkgYQotICAgc3Vic2VxdWVudCA6ZnVuYzpgfm9zLnN0YXRgIGNhbGwsIGRlcGVuZGluZyBvbiB0aGUgcmVzb2x1dGlvbiB3aXRoIHdoaWNoIHlvdXIKLSAgIG9wZXJhdGluZyBzeXN0ZW0gcmVjb3JkcyBhY2Nlc3MgYW5kIG1vZGlmaWNhdGlvbiB0aW1lczsgc2VlIDpmdW5jOmB+b3Muc3RhdGAuCisgICBpcyBgYE5vbmVgYCBvciBub3Qgc3BlY2lmaWVkLCB0aGVuIHRoZSBmaWxlJ3MgYWNjZXNzIGFuZCBtb2RpZmllZCB0aW1lcyBhcmUKKyAgIHNldCB0byB0aGUgY3VycmVudCB0aW1lLiAoVGhlIGVmZmVjdCBpcyBzaW1pbGFyIHRvIHJ1bm5pbmcgdGhlIFVuaXggcHJvZ3JhbQorICAgOnByb2dyYW06YHRvdWNoYCBvbiB0aGUgcGF0aC4pICBPdGhlcndpc2UsICp0aW1lcyogbXVzdCBiZSBhIDItdHVwbGUgb2YKKyAgIG51bWJlcnMsIG9mIHRoZSBmb3JtIGBgKGF0aW1lLCBtdGltZSlgYCB3aGljaCBpcyB1c2VkIHRvIHNldCB0aGUgYWNjZXNzIGFuZAorICAgbW9kaWZpZWQgdGltZXMsIHJlc3BlY3RpdmVseS4gV2hldGhlciBhIGRpcmVjdG9yeSBjYW4gYmUgZ2l2ZW4gZm9yICpwYXRoKgorICAgZGVwZW5kcyBvbiB3aGV0aGVyIHRoZSBvcGVyYXRpbmcgc3lzdGVtIGltcGxlbWVudHMgZGlyZWN0b3JpZXMgYXMgZmlsZXMKKyAgIChmb3IgZXhhbXBsZSwgV2luZG93cyBkb2VzIG5vdCkuICBOb3RlIHRoYXQgdGhlIGV4YWN0IHRpbWVzIHlvdSBzZXQgaGVyZSBtYXkKKyAgIG5vdCBiZSByZXR1cm5lZCBieSBhIHN1YnNlcXVlbnQgOmZ1bmM6YH5vcy5zdGF0YCBjYWxsLCBkZXBlbmRpbmcgb24gdGhlCisgICByZXNvbHV0aW9uIHdpdGggd2hpY2ggeW91ciBvcGVyYXRpbmcgc3lzdGVtIHJlY29yZHMgYWNjZXNzIGFuZCBtb2RpZmljYXRpb24KKyAgIHRpbWVzOyBzZWUgOmZ1bmM6YH5vcy5zdGF0YC4KIAogICAgQXZhaWxhYmlsaXR5OiBVbml4LCBXaW5kb3dzLgogCkBAIC0xNTYxLDYgKzIyODgsNTcgQEAKICAgICAgICAgICAgICAgb3Mucm1kaXIob3MucGF0aC5qb2luKHJvb3QsIG5hbWUpKQogCiAKKy4uIGZ1bmN0aW9uOjogZndhbGsodG9wLCB0b3Bkb3duPVRydWUsIG9uZXJyb3I9Tm9uZSwgZm9sbG93bGlua3M9RmFsc2UpCisKKyAgIC4uIGluZGV4OjoKKyAgICAgIHNpbmdsZTogZGlyZWN0b3J5OyB3YWxraW5nCisgICAgICBzaW5nbGU6IGRpcmVjdG9yeTsgdHJhdmVyc2FsCisKKyAgIFRoaXMgYmVoYXZlcyBleGFjdGx5IGxpa2UgOmZ1bmM6YHdhbGtgLCBleGNlcHQgdGhhdCBpdCB5aWVsZHMgYSA0LXR1cGxlCisgICBgYChkaXJwYXRoLCBkaXJuYW1lcywgZmlsZW5hbWVzLCBkaXJmZClgYC4KKworICAgKmRpcnBhdGgqLCAqZGlybmFtZXMqIGFuZCAqZmlsZW5hbWVzKiBhcmUgaWRlbnRpY2FsIHRvIDpmdW5jOmB3YWxrYCBvdXRwdXQsCisgICBhbmQgKmRpcmZkKiBpcyBhIGZpbGUgZGVzY3JpcHRvciByZWZlcnJpbmcgdG8gdGhlIGRpcmVjdG9yeSAqZGlycGF0aCouCisKKyAgIC4uIG5vdGU6OgorCisgICAgICBTaW5jZSA6ZnVuYzpgZndhbGtgIHlpZWxkcyBmaWxlIGRlc2NyaXB0b3JzLCB0aG9zZSBhcmUgb25seSB2YWxpZCB1bnRpbAorICAgICAgdGhlIG5leHQgaXRlcmF0aW9uIHN0ZXAsIHNvIHlvdSBzaG91bGQgZHVwbGljYXRlIHRoZW0gKGUuZy4gd2l0aAorICAgICAgOmZ1bmM6YGR1cGApIGlmIHlvdSB3YW50IHRvIGtlZXAgdGhlbSBsb25nZXIuCisKKyAgIFRoaXMgZXhhbXBsZSBkaXNwbGF5cyB0aGUgbnVtYmVyIG9mIGJ5dGVzIHRha2VuIGJ5IG5vbi1kaXJlY3RvcnkgZmlsZXMgaW4gZWFjaAorICAgZGlyZWN0b3J5IHVuZGVyIHRoZSBzdGFydGluZyBkaXJlY3RvcnksIGV4Y2VwdCB0aGF0IGl0IGRvZXNuJ3QgbG9vayB1bmRlciBhbnkKKyAgIENWUyBzdWJkaXJlY3Rvcnk6OgorCisgICAgICBpbXBvcnQgb3MKKyAgICAgIGZvciByb290LCBkaXJzLCBmaWxlcywgcm9vdGZkIGluIG9zLmZ3YWxrKCdweXRob24vTGliL2VtYWlsJyk6CisgICAgICAgICAgcHJpbnQocm9vdCwgImNvbnN1bWVzIiwgZW5kPSIiKQorICAgICAgICAgIHByaW50KHN1bShbb3MuZnN0YXRhdChyb290ZmQsIG5hbWUpLnN0X3NpemUgZm9yIG5hbWUgaW4gZmlsZXNdKSwKKyAgICAgICAgICAgICAgICBlbmQ9IiIpCisgICAgICAgICAgcHJpbnQoImJ5dGVzIGluIiwgbGVuKGZpbGVzKSwgIm5vbi1kaXJlY3RvcnkgZmlsZXMiKQorICAgICAgICAgIGlmICdDVlMnIGluIGRpcnM6CisgICAgICAgICAgICAgIGRpcnMucmVtb3ZlKCdDVlMnKSAgIyBkb24ndCB2aXNpdCBDVlMgZGlyZWN0b3JpZXMKKworICAgSW4gdGhlIG5leHQgZXhhbXBsZSwgd2Fsa2luZyB0aGUgdHJlZSBib3R0b20tdXAgaXMgZXNzZW50aWFsOgorICAgOmZ1bmM6YHVubGlua2F0YCBkb2Vzbid0IGFsbG93IGRlbGV0aW5nIGEgZGlyZWN0b3J5IGJlZm9yZSB0aGUgZGlyZWN0b3J5IGlzCisgICBlbXB0eTo6CisKKyAgICAgICMgRGVsZXRlIGV2ZXJ5dGhpbmcgcmVhY2hhYmxlIGZyb20gdGhlIGRpcmVjdG9yeSBuYW1lZCBpbiAidG9wIiwKKyAgICAgICMgYXNzdW1pbmcgdGhlcmUgYXJlIG5vIHN5bWJvbGljIGxpbmtzLgorICAgICAgIyBDQVVUSU9OOiAgVGhpcyBpcyBkYW5nZXJvdXMhICBGb3IgZXhhbXBsZSwgaWYgdG9wID09ICcvJywgaXQKKyAgICAgICMgY291bGQgZGVsZXRlIGFsbCB5b3VyIGRpc2sgZmlsZXMuCisgICAgICBpbXBvcnQgb3MKKyAgICAgIGZvciByb290LCBkaXJzLCBmaWxlcywgcm9vdGZkIGluIG9zLmZ3YWxrKHRvcCwgdG9wZG93bj1GYWxzZSk6CisgICAgICAgICAgZm9yIG5hbWUgaW4gZmlsZXM6CisgICAgICAgICAgICAgIG9zLnVubGlua2F0KHJvb3RmZCwgbmFtZSkKKyAgICAgICAgICBmb3IgbmFtZSBpbiBkaXJzOgorICAgICAgICAgICAgICBvcy51bmxpbmthdChyb290ZmQsIG5hbWUsIG9zLkFUX1JFTU9WRURJUikKKworICAgQXZhaWxhYmlsaXR5OiBVbml4LgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKKworCiAuLiBfb3MtcHJvY2VzczoKIAogUHJvY2VzcyBNYW5hZ2VtZW50CkBAIC0xODI1LDYgKzI2MDMsOCBAQAogICAgd2lsbCBiZSBzZXQgdG8gKnNpZyouIFRoZSBXaW5kb3dzIHZlcnNpb24gb2YgOmZ1bmM6YGtpbGxgIGFkZGl0aW9uYWxseSB0YWtlcwogICAgcHJvY2VzcyBoYW5kbGVzIHRvIGJlIGtpbGxlZC4KIAorICAgU2VlIGFsc28gOmZ1bmM6YHNpZ25hbC5wdGhyZWFkX2tpbGxgLgorCiAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjIKICAgICAgIFdpbmRvd3Mgc3VwcG9ydC4KIApAQCAtMjAzNSw2ICsyODE1LDU4IEBACiAKICAgIEF2YWlsYWJpbGl0eTogVW5peC4KIAorLi4gZnVuY3Rpb246OiB3YWl0aWQoaWR0eXBlLCBpZCwgb3B0aW9ucykKKworICAgV2FpdCBmb3IgdGhlIGNvbXBsZXRpb24gb2Ygb25lIG9yIG1vcmUgY2hpbGQgcHJvY2Vzc2VzLgorICAgKmlkdHlwZSogY2FuIGJlIDpkYXRhOmBQX1BJRGAsIDpkYXRhOmBQX1BHSURgIG9yIDpkYXRhOmBQX0FMTGAuCisgICAqaWQqIHNwZWNpZmllcyB0aGUgcGlkIHRvIHdhaXQgb24uCisgICAqb3B0aW9ucyogaXMgY29uc3RydWN0ZWQgZnJvbSB0aGUgT1Jpbmcgb2Ygb25lIG9yIG1vcmUgb2YgOmRhdGE6YFdFWElURURgLAorICAgOmRhdGE6YFdTVE9QUEVEYCBvciA6ZGF0YTpgV0NPTlRJTlVFRGAgYW5kIGFkZGl0aW9uYWxseSBtYXkgYmUgT1JlZCB3aXRoCisgICA6ZGF0YTpgV05PSEFOR2Agb3IgOmRhdGE6YFdOT1dBSVRgLiBUaGUgcmV0dXJuIHZhbHVlIGlzIGFuIG9iamVjdAorICAgcmVwcmVzZW50aW5nIHRoZSBkYXRhIGNvbnRhaW5lZCBpbiB0aGUgOmM6dHlwZTpgc2lnaW5mb190YCBzdHJ1Y3R1cmUsIG5hbWVseToKKyAgIDphdHRyOmBzaV9waWRgLCA6YXR0cjpgc2lfdWlkYCwgOmF0dHI6YHNpX3NpZ25vYCwgOmF0dHI6YHNpX3N0YXR1c2AsCisgICA6YXR0cjpgc2lfY29kZWAgb3IgYGBOb25lYGAgaWYgOmRhdGE6YFdOT0hBTkdgIGlzIHNwZWNpZmllZCBhbmQgdGhlcmUgYXJlIG5vCisgICBjaGlsZHJlbiBpbiBhIHdhaXRhYmxlIHN0YXRlLgorCisgICBBdmFpbGFiaWxpdHk6IFVuaXguCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMworCisuLiBkYXRhOjogUF9QSUQKKyAgICAgICAgICBQX1BHSUQKKyAgICAgICAgICBQX0FMTAorCisgICBUaGVzZSBhcmUgdGhlIHBvc3NpYmxlIHZhbHVlcyBmb3IgKmlkdHlwZSogaW4gOmZ1bmM6YHdhaXRpZGAuIFRoZXkgYWZmZWN0CisgICBob3cgKmlkKiBpcyBpbnRlcnByZXRlZC4KKworICAgQXZhaWxhYmlsaXR5OiBVbml4LgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKKworLi4gZGF0YTo6IFdFWElURUQKKyAgICAgICAgICBXU1RPUFBFRAorICAgICAgICAgIFdOT1dBSVQKKworICAgRmxhZ3MgdGhhdCBjYW4gYmUgdXNlZCBpbiAqb3B0aW9ucyogaW4gOmZ1bmM6YHdhaXRpZGAgdGhhdCBzcGVjaWZ5IHdoYXQKKyAgIGNoaWxkIHNpZ25hbCB0byB3YWl0IGZvci4KKworICAgQXZhaWxhYmlsaXR5OiBVbml4LgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKKworCisuLiBkYXRhOjogQ0xEX0VYSVRFRAorICAgICAgICAgIENMRF9EVU1QRUQKKyAgICAgICAgICBDTERfVFJBUFBFRAorICAgICAgICAgIENMRF9DT05USU5VRUQKKworICAgVGhlc2UgYXJlIHRoZSBwb3NzaWJsZSB2YWx1ZXMgZm9yIDphdHRyOmBzaV9jb2RlYCBpbiB0aGUgcmVzdWx0IHJldHVybmVkIGJ5CisgICA6ZnVuYzpgd2FpdGlkYC4KKworICAgQXZhaWxhYmlsaXR5OiBVbml4LgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKKwogCiAuLiBmdW5jdGlvbjo6IHdhaXRwaWQocGlkLCBvcHRpb25zKQogCkBAIC0yMTc2LDYgKzMwMDgsMTU1IEBACiAgICBBdmFpbGFiaWxpdHk6IFVuaXguCiAKIAorSW50ZXJmYWNlIHRvIHRoZSBzY2hlZHVsZXIKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK1RoZXNlIGZ1bmN0aW9ucyBjb250cm9sIGhvdyBhIHByb2Nlc3MgaXMgYWxsb2NhdGVkIENQVSB0aW1lIGJ5IHRoZSBvcGVyYXRpbmcKK3N5c3RlbS4gVGhleSBhcmUgb25seSBhdmFpbGFibGUgb24gc29tZSBVbml4IHBsYXRmb3Jtcy4gRm9yIG1vcmUgZGV0YWlsZWQKK2luZm9ybWF0aW9uLCBjb25zdWx0IHlvdXIgVW5peCBtYW5wYWdlcy4KKworLi4gdmVyc2lvbmFkZGVkOjogMy4zCisKK1RoZSBmb2xsb3dpbmcgc2NoZWR1bGluZyBwb2xpY2llcyBhcmUgZXhwb3NlZCBpZiB0aGV5IGFyZSBhIHN1cHBvcnRlZCBieSB0aGUKK29wZXJhdGluZyBzeXN0ZW0uCisKKy4uIGRhdGE6OiBTQ0hFRF9PVEhFUgorCisgICBUaGUgZGVmYXVsdCBzY2hlZHVsaW5nIHBvbGljeS4KKworLi4gZGF0YTo6IFNDSEVEX0JBVENICisKKyAgIFNjaGVkdWxpbmcgcG9saWN5IGZvciBDUFUtaW50ZW5zaXZlIHByb2Nlc3NlcyB0aGF0IHRyaWVzIHRvIHByZXNlcnZlCisgICBpbnRlcmFjdGl2aXR5IG9uIHRoZSByZXN0IG9mIHRoZSBjb21wdXRlci4KKworLi4gZGF0YTo6IFNDSEVEX0lETEUKKworICAgU2NoZWR1bGluZyBwb2xpY3kgZm9yIGV4dHJlbWVseSBsb3cgcHJpb3JpdHkgYmFja2dyb3VuZCB0YXNrcy4KKworLi4gZGF0YTo6IFNDSEVEX1NQT1JBRElDCisKKyAgIFNjaGVkdWxpbmcgcG9saWN5IGZvciBzcG9yYWRpYyBzZXJ2ZXIgcHJvZ3JhbXMuCisKKy4uIGRhdGE6OiBTQ0hFRF9GSUZPCisKKyAgIEEgRmlyc3QgSW4gRmlyc3QgT3V0IHNjaGVkdWxpbmcgcG9saWN5LgorCisuLiBkYXRhOjogU0NIRURfUlIKKworICAgQSByb3VuZC1yb2JpbiBzY2hlZHVsaW5nIHBvbGljeS4KKworLi4gZGF0YTo6IFNDSEVEX1JFU0VUX09OX0ZPUksKKworICAgVGhpcyBmbGFnIGNhbiBPUidlZCB3aXRoIGFueSBvdGhlciBzY2hlZHVsaW5nIHBvbGljeS4gV2hlbiBhIHByb2Nlc3Mgd2l0aAorICAgdGhpcyBmbGFnIHNldCBmb3JrcywgaXRzIGNoaWxkJ3Mgc2NoZWR1bGluZyBwb2xpY3kgYW5kIHByaW9yaXR5IGFyZSByZXNldCB0bworICAgdGhlIGRlZmF1bHQuCisKKworLi4gY2xhc3M6OiBzY2hlZF9wYXJhbShzY2hlZF9wcmlvcml0eSkKKworICAgVGhpcyBjbGFzcyByZXByZXNlbnRzIHR1bmFibGUgc2NoZWR1bGluZyBwYXJhbWV0ZXJzIHVzZWQgaW4KKyAgIDpmdW5jOmBzY2hlZF9zZXRwYXJhbWAsIDpmdW5jOmBzY2hlZF9zZXRzY2hlZHVsZXJgLCBhbmQKKyAgIDpmdW5jOmBzY2hlZF9nZXRwYXJhbWAuIEl0IGlzIGltbXV0YWJsZS4KKworICAgQXQgdGhlIG1vbWVudCwgdGhlcmUgaXMgb25seSBvbmUgcG9zc2libGUgcGFyYW1ldGVyOgorCisgICAuLiBhdHRyaWJ1dGU6OiBzY2hlZF9wcmlvcml0eQorCisgICAgICBUaGUgc2NoZWR1bGluZyBwcmlvcml0eSBmb3IgYSBzY2hlZHVsaW5nIHBvbGljeS4KKworCisuLiBmdW5jdGlvbjo6IHNjaGVkX2dldF9wcmlvcml0eV9taW4ocG9saWN5KQorCisgICBHZXQgdGhlIG1pbmltdW0gcHJpb3JpdHkgdmFsdWUgZm9yICpwb2xpY3kqLiAqcG9saWN5KiBpcyBvbmUgb2YgdGhlCisgICBzY2hlZHVsaW5nIHBvbGljeSBjb25zdGFudHMgYWJvdmUuCisKKworLi4gZnVuY3Rpb246OiBzY2hlZF9nZXRfcHJpb3JpdHlfbWF4KHBvbGljeSkKKworICAgR2V0IHRoZSBtYXhpbXVtIHByaW9yaXR5IHZhbHVlIGZvciAqcG9saWN5Ki4gKnBvbGljeSogaXMgb25lIG9mIHRoZQorICAgc2NoZWR1bGluZyBwb2xpY3kgY29uc3RhbnRzIGFib3ZlLgorCisKKy4uIGZ1bmN0aW9uOjogc2NoZWRfc2V0c2NoZWR1bGVyKHBpZCwgcG9saWN5LCBwYXJhbSkKKworICAgU2V0IHRoZSBzY2hlZHVsaW5nIHBvbGljeSBmb3IgdGhlIHByb2Nlc3Mgd2l0aCBQSUQgKnBpZCouIEEgKnBpZCogb2YgMCBtZWFucworICAgdGhlIGNhbGxpbmcgcHJvY2Vzcy4gKnBvbGljeSogaXMgb25lIG9mIHRoZSBzY2hlZHVsaW5nIHBvbGljeSBjb25zdGFudHMKKyAgIGFib3ZlLiAqcGFyYW0qIGlzIGEgOmNsYXNzOmBzY2hlZF9wYXJhbWAgaW5zdGFuY2UuCisKKworLi4gZnVuY3Rpb246OiBzY2hlZF9nZXRzY2hlZHVsZXIocGlkKQorCisgICBSZXR1cm4gdGhlIHNjaGVkdWxpbmcgcG9saWN5IGZvciB0aGUgcHJvY2VzcyB3aXRoIFBJRCAqcGlkKi4gQSAqcGlkKiBvZiAwCisgICBtZWFucyB0aGUgY2FsbGluZyBwcm9jZXNzLiBUaGUgcmVzdWx0IGlzIG9uZSBvZiB0aGUgc2NoZWR1bGluZyBwb2xpY3kKKyAgIGNvbnN0YW50cyBhYm92ZS4KKworCisuLiBmdW5jdGlvbjo6IHNjaGVkX3NldHBhcmFtKHBpZCwgcGFyYW0pCisKKyAgIFNldCBhIHNjaGVkdWxpbmcgcGFyYW1ldGVycyBmb3IgdGhlIHByb2Nlc3Mgd2l0aCBQSUQgKnBpZCouIEEgKnBpZCogb2YgMCBtZWFucworICAgdGhlIGNhbGxpbmcgcHJvY2Vzcy4gKnBhcmFtKiBpcyBhIDpjbGFzczpgc2NoZWRfcGFyYW1gIGluc3RhbmNlLgorCisKKy4uIGZ1bmN0aW9uOjogc2NoZWRfZ2V0cGFyYW0ocGlkKQorCisgICBSZXR1cm4gdGhlIHNjaGVkdWxpbmcgcGFyYW1ldGVycyBhcyBhIDpjbGFzczpgc2NoZWRfcGFyYW1gIGluc3RhbmNlIGZvciB0aGUKKyAgIHByb2Nlc3Mgd2l0aCBQSUQgKnBpZCouIEEgKnBpZCogb2YgMCBtZWFucyB0aGUgY2FsbGluZyBwcm9jZXNzLgorCisKKy4uIGZ1bmN0aW9uOjogc2NoZWRfcnJfZ2V0X2ludGVydmFsKHBpZCkKKworICAgUmV0dXJuIHRoZSByb3VuZC1yb2JpbiBxdWFudHVtIGluIHNlY29uZHMgZm9yIHRoZSBwcm9jZXNzIHdpdGggUElEICpwaWQqLiBBCisgICAqcGlkKiBvZiAwIG1lYW5zIHRoZSBjYWxsaW5nIHByb2Nlc3MuCisKKworLi4gZnVuY3Rpb246OiBzY2hlZF95aWVsZCgpCisKKyAgIFZvbHVudGFyaWx5IHJlbGlucXVpc2ggdGhlIENQVS4KKworCisuLiBjbGFzczo6IGNwdV9zZXQobmNwdXMpCisKKyAgIDpjbGFzczpgY3B1X3NldGAgcmVwcmVzZW50cyBhIHNldCBvZiBDUFVzIG9uIHdoaWNoIGEgcHJvY2VzcyBpcyBlbGlnaWJsZSB0bworICAgcnVuLiAqbmNwdXMqIGlzIHRoZSBudW1iZXIgb2YgQ1BVcyB0aGUgc2V0IHNob3VsZCBkZXNjcmliZS4gTWV0aG9kcyBvbgorICAgOmNsYXNzOmBjcHVfc2V0YCBhbGxvdyBDUFVzIHRvIGJlIGFkZCBvciByZW1vdmVkLgorCisgICA6Y2xhc3M6YGNwdV9zZXRgIHN1cHBvcnRzIHRoZSBBTkQsIE9SLCBhbmQgWE9SIGJpdHdpc2Ugb3BlcmF0aW9ucy4gRm9yCisgICBleGFtcGxlLCBnaXZlbiB0d28gY3B1X3NldHMsIGBgb25lYGAgYW5kIGBgdHdvYGAsIGBgb25lIHwgdHdvYGAgcmV0dXJucyBhCisgICA6Y2xhc3M6YGNwdV9zZXRgIGNvbnRhaW5pbmcgdGhlIGNwdXMgZW5hYmxlZCBib3RoIGluIGBgb25lYGAgYW5kIGBgdHdvYGAuCisKKyAgIC4uIG1ldGhvZDo6IHNldChpKQorCisgICAgICBFbmFibGUgQ1BVICppKi4KKworICAgLi4gbWV0aG9kOjogY2xlYXIoaSkKKworICAgICAgUmVtb3ZlIENQVSAqaSouCisKKyAgIC4uIG1ldGhvZDo6IGlzc2V0KGkpCisKKyAgICAgIFJldHVybiBgYFRydWVgYCBpZiBDUFUgKmkqIGlzIGVuYWJsZWQgaW4gdGhlIHNldC4KKworICAgLi4gbWV0aG9kOjogY291bnQoKQorCisgICAgICBSZXR1cm4gdGhlIG51bWJlciBvZiBlbmFibGVkIENQVXMgaW4gdGhlIHNldC4KKworICAgLi4gbWV0aG9kOjogemVybygpCisKKyAgICAgIENsZWFyIHRoZSBzZXQgY29tcGxldGVseS4KKworCisuLiBmdW5jdGlvbjo6IHNjaGVkX3NldGFmZmluaXR5KHBpZCwgbWFzaykKKworICAgUmVzdHJpY3QgdGhlIHByb2Nlc3Mgd2l0aCBQSUQgKnBpZCogdG8gYSBzZXQgb2YgQ1BVcy4gKm1hc2sqIGlzIGEKKyAgIDpjbGFzczpgY3B1X3NldGAgaW5zdGFuY2UuCisKKworLi4gZnVuY3Rpb246OiBzY2hlZF9nZXRhZmZpbml0eShwaWQsIHNpemUpCisKKyAgIFJldHVybiB0aGUgOmNsYXNzOmBjcHVfc2V0YCB0aGUgcHJvY2VzcyB3aXRoIFBJRCAqcGlkKiBpcyByZXN0cmljdGVkIHRvLiBUaGUKKyAgIHJlc3VsdCB3aWxsIGNvbnRhaW4gKnNpemUqIENQVXMuCisKKwogLi4gX29zLXBhdGg6CiAKIE1pc2NlbGxhbmVvdXMgU3lzdGVtIEluZm9ybWF0aW9uCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9vc3NhdWRpb2Rldi5yc3QgYi9Eb2MvbGlicmFyeS9vc3NhdWRpb2Rldi5yc3QKaW5kZXggMGEwODQyOC4uNTFjNTg1NyAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvb3NzYXVkaW9kZXYucnN0CisrKyBiL0RvYy9saWJyYXJ5L29zc2F1ZGlvZGV2LnJzdApAQCAtMzgsNiArMzgsMTAgQEAKICAgIFRoaXMgcHJvYmFibHkgYWxsIHdhcnJhbnRzIGEgZm9vdG5vdGUgb3IgdHdvLCBidXQgSSBkb24ndCB1bmRlcnN0YW5kCiAgICB0aGluZ3Mgd2VsbCBlbm91Z2ggcmlnaHQgbm93IHRvIHdyaXRlIGl0ISAgIC0tR1BXCiAKKy4uIHZlcnNpb25jaGFuZ2VkOjogMy4zCisgICBPcGVyYXRpb25zIGluIHRoaXMgbW9kdWxlIG5vdyByYWlzZSA6ZXhjOmBPU0Vycm9yYCB3aGVyZSA6ZXhjOmBJT0Vycm9yYAorICAgd2FzIHJhaXNlZC4KKwogCiAuLiBzZWVhbHNvOjoKIApAQCAtNTYsNyArNjAsNyBAQAogICAgd2hhdCB3ZW50IHdyb25nLgogCiAgICAoSWYgOm1vZDpgb3NzYXVkaW9kZXZgIHJlY2VpdmVzIGFuIGVycm9yIGZyb20gYSBzeXN0ZW0gY2FsbCBzdWNoIGFzCi0gICA6YzpmdW5jOmBvcGVuYCwgOmM6ZnVuYzpgd3JpdGVgLCBvciA6YzpmdW5jOmBpb2N0bGAsIGl0IHJhaXNlcyA6ZXhjOmBJT0Vycm9yYC4KKyAgIDpjOmZ1bmM6YG9wZW5gLCA6YzpmdW5jOmB3cml0ZWAsIG9yIDpjOmZ1bmM6YGlvY3RsYCwgaXQgcmFpc2VzIDpleGM6YE9TRXJyb3JgLgogICAgRXJyb3JzIGRldGVjdGVkIGRpcmVjdGx5IGJ5IDptb2Q6YG9zc2F1ZGlvZGV2YCByZXN1bHQgaW4gOmV4YzpgT1NTQXVkaW9FcnJvcmAuKQogCiAgICAoRm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LCB0aGUgZXhjZXB0aW9uIGNsYXNzIGlzIGFsc28gYXZhaWxhYmxlIGFzCkBAIC0xNjgsNyArMTcyLDcgQEAKIGNvcnJlc3BvbmRlbmNlIGlzIG9idmlvdXM6IGZvciBleGFtcGxlLCA6bWV0aDpgc2V0Zm10YCBjb3JyZXNwb25kcyB0byB0aGUKIGBgU05EQ1RMX0RTUF9TRVRGTVRgYCBpb2N0bCwgYW5kIDptZXRoOmBzeW5jYCB0byBgYFNORENUTF9EU1BfU1lOQ2BgICh0aGlzIGNhbgogYmUgdXNlZnVsIHdoZW4gY29uc3VsdGluZyB0aGUgT1NTIGRvY3VtZW50YXRpb24pLiAgSWYgdGhlIHVuZGVybHlpbmcKLTpmdW5jOmBpb2N0bGAgZmFpbHMsIHRoZXkgYWxsIHJhaXNlIDpleGM6YElPRXJyb3JgLgorOmZ1bmM6YGlvY3RsYCBmYWlscywgdGhleSBhbGwgcmFpc2UgOmV4YzpgT1NFcnJvcmAuCiAKIAogLi4gbWV0aG9kOjogb3NzX2F1ZGlvX2RldmljZS5ub25ibG9jaygpCkBAIC0zNDQsNyArMzQ4LDcgQEAKIC4uIG1ldGhvZDo6IG9zc19taXhlcl9kZXZpY2UuY2xvc2UoKQogCiAgICBUaGlzIG1ldGhvZCBjbG9zZXMgdGhlIG9wZW4gbWl4ZXIgZGV2aWNlIGZpbGUuICBBbnkgZnVydGhlciBhdHRlbXB0cyB0byB1c2UgdGhlCi0gICBtaXhlciBhZnRlciB0aGlzIGZpbGUgaXMgY2xvc2VkIHdpbGwgcmFpc2UgYW4gOmV4YzpgSU9FcnJvcmAuCisgICBtaXhlciBhZnRlciB0aGlzIGZpbGUgaXMgY2xvc2VkIHdpbGwgcmFpc2UgYW4gOmV4YzpgT1NFcnJvcmAuCiAKIAogLi4gbWV0aG9kOjogb3NzX21peGVyX2RldmljZS5maWxlbm8oKQpAQCAtNDAzLDcgKzQwNyw3IEBACiAgICByZXR1cm5lZCwgYnV0IGJvdGggdm9sdW1lcyBhcmUgdGhlIHNhbWUuCiAKICAgIFJhaXNlcyA6ZXhjOmBPU1NBdWRpb0Vycm9yYCBpZiBhbiBpbnZhbGlkIGNvbnRyb2wgd2FzIGlzIHNwZWNpZmllZCwgb3IKLSAgIDpleGM6YElPRXJyb3JgIGlmIGFuIHVuc3VwcG9ydGVkIGNvbnRyb2wgaXMgc3BlY2lmaWVkLgorICAgOmV4YzpgT1NFcnJvcmAgaWYgYW4gdW5zdXBwb3J0ZWQgY29udHJvbCBpcyBzcGVjaWZpZWQuCiAKIAogLi4gbWV0aG9kOjogb3NzX21peGVyX2RldmljZS5zZXQoY29udHJvbCwgKGxlZnQsIHJpZ2h0KSkKQEAgLTQyNyw3ICs0MzEsNyBAQAogLi4gbWV0aG9kOjogb3NzX21peGVyX2RldmljZS5zZXRfcmVjc3JjKGJpdG1hc2spCiAKICAgIENhbGwgdGhpcyBmdW5jdGlvbiB0byBzcGVjaWZ5IGEgcmVjb3JkaW5nIHNvdXJjZS4gIFJldHVybnMgYSBiaXRtYXNrIGluZGljYXRpbmcKLSAgIHRoZSBuZXcgcmVjb3JkaW5nIHNvdXJjZSAob3Igc291cmNlcykgaWYgc3VjY2Vzc2Z1bDsgcmFpc2VzIDpleGM6YElPRXJyb3JgIGlmIGFuCisgICB0aGUgbmV3IHJlY29yZGluZyBzb3VyY2UgKG9yIHNvdXJjZXMpIGlmIHN1Y2Nlc3NmdWw7IHJhaXNlcyA6ZXhjOmBPU0Vycm9yYCBpZiBhbgogICAgaW52YWxpZCBzb3VyY2Ugd2FzIHNwZWNpZmllZC4gIFRvIHNldCB0aGUgY3VycmVudCByZWNvcmRpbmcgc291cmNlIHRvIHRoZQogICAgbWljcm9waG9uZSBpbnB1dDo6CiAKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L3BhY2thZ2luZy1taXNjLnJzdCBiL0RvYy9saWJyYXJ5L3BhY2thZ2luZy1taXNjLnJzdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZTU2MjQ3Ci0tLSAvZGV2L251bGwKKysrIGIvRG9jL2xpYnJhcnkvcGFja2FnaW5nLW1pc2MucnN0CkBAIC0wLDAgKzEsMjcgQEAKKy4uIHRlbXBvcmFyeSBmaWxlIGZvciBtb2R1bGVzIHRoYXQgZG9uJ3QgbmVlZCBhIGRlZGljYXRlZCBmaWxlIHlldAorCis6bW9kOmBwYWNrYWdpbmcuZXJyb3JzYCAtLS0gUGFja2FnaW5nIGV4Y2VwdGlvbnMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCisuLiBtb2R1bGU6OiBwYWNrYWdpbmcuZXJyb3JzCisgICA6c3lub3BzaXM6IFBhY2thZ2luZyBleGNlcHRpb25zLgorCisKK1Byb3ZpZGVzIGV4Y2VwdGlvbnMgdXNlZCBieSB0aGUgUGFja2FnaW5nIG1vZHVsZXMuICBOb3RlIHRoYXQgUGFja2FnaW5nIG1vZHVsZXMKK21heSByYWlzZSBzdGFuZGFyZCBleGNlcHRpb25zOyBpbiBwYXJ0aWN1bGFyLCBTeXN0ZW1FeGl0IGlzIHVzdWFsbHkgcmFpc2VkIGZvcgorZXJyb3JzIHRoYXQgYXJlIG9idmlvdXNseSB0aGUgZW5kLXVzZXIncyBmYXVsdCAoZS5nLiBiYWQgY29tbWFuZC1saW5lIGFyZ3VtZW50cykuCisKK1RoaXMgbW9kdWxlIGlzIHNhZmUgdG8gdXNlIGluIGBgZnJvbSAuLi4gaW1wb3J0ICpgYCBtb2RlOyBpdCBvbmx5IGV4cG9ydHMKK3N5bWJvbHMgd2hvc2UgbmFtZXMgc3RhcnQgd2l0aCBgYFBhY2thZ2luZ2BgIGFuZCBlbmQgd2l0aCBgYEVycm9yYGAuCisKKworOm1vZDpgcGFja2FnaW5nLm1hbmlmZXN0YCAtLS0gVGhlIE1hbmlmZXN0IGNsYXNzCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworLi4gbW9kdWxlOjogcGFja2FnaW5nLm1hbmlmZXN0CisgICA6c3lub3BzaXM6IFRoZSBNYW5pZmVzdCBjbGFzcywgdXNlZCBmb3IgcG9raW5nIGFib3V0IHRoZSBmaWxlIHN5c3RlbSBhbmQKKyAgICAgICAgICAgICAgYnVpbGRpbmcgbGlzdHMgb2YgZmlsZXMuCisKKworVGhpcyBtb2R1bGUgcHJvdmlkZXMgdGhlIDpjbGFzczpgTWFuaWZlc3RgIGNsYXNzLCB1c2VkIGZvciBwb2tpbmcgYWJvdXQgdGhlCitmaWxlc3lzdGVtIGFuZCBidWlsZGluZyBsaXN0cyBvZiBmaWxlcy4KZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L3BhY2thZ2luZy5jb21tYW5kLnJzdCBiL0RvYy9saWJyYXJ5L3BhY2thZ2luZy5jb21tYW5kLnJzdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YTg1MzUxCi0tLSAvZGV2L251bGwKKysrIGIvRG9jL2xpYnJhcnkvcGFja2FnaW5nLmNvbW1hbmQucnN0CkBAIC0wLDAgKzEsMTExIEBACis6bW9kOmBwYWNrYWdpbmcuY29tbWFuZGAgLS0tIFN0YW5kYXJkIFBhY2thZ2luZyBjb21tYW5kcworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworLi4gbW9kdWxlOjogcGFja2FnaW5nLmNvbW1hbmQKKyAgIDpzeW5vcHNpczogU3RhbmRhcmQgcGFja2FnaW5nIGNvbW1hbmRzLgorCisKK1RoaXMgc3VicGFja2FnZSBjb250YWlucyBvbmUgbW9kdWxlIGZvciBlYWNoIHN0YW5kYXJkIFBhY2thZ2luZyBjb21tYW5kLCBzdWNoIGFzCis6Y29tbWFuZDpgYnVpbGRgICBvciA6Y29tbWFuZDpgdXBsb2FkYC4gIEVhY2ggY29tbWFuZCBpcyBpbXBsZW1lbnRlZCBhcyBhCitzZXBhcmF0ZSBtb2R1bGUsIHdpdGggdGhlIGNvbW1hbmQgbmFtZSBhcyB0aGUgbmFtZSBvZiB0aGUgbW9kdWxlIGFuZCBvZiB0aGUKK2NsYXNzIGRlZmluZWQgdGhlcmVpbi4KKworCisKKzptb2Q6YHBhY2thZ2luZy5jb21tYW5kLmNtZGAgLS0tIEFic3RyYWN0IGJhc2UgY2xhc3MgZm9yIFBhY2thZ2luZyBjb21tYW5kcworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKKy4uIG1vZHVsZTo6IHBhY2thZ2luZy5jb21tYW5kLmNtZAorICAgOnN5bm9wc2lzOiBBYnN0cmFjdCBiYXNlIGNsYXNzIGZvciBjb21tYW5kcy4KKworCitUaGlzIG1vZHVsZSBzdXBwbGllcyB0aGUgYWJzdHJhY3QgYmFzZSBjbGFzcyA6Y2xhc3M6YENvbW1hbmRgLiAgVGhpcyBjbGFzcyBpcworc3ViY2xhc3NlZCBieSB0aGUgbW9kdWxlcyBpbiB0aGUgcGFja2FnaW5nLmNvbW1hbmQgc3VicGFja2FnZS4KKworCisuLiBjbGFzczo6IENvbW1hbmQoZGlzdCkKKworICAgQWJzdHJhY3QgYmFzZSBjbGFzcyBmb3IgZGVmaW5pbmcgY29tbWFuZCBjbGFzc2VzLCB0aGUgIndvcmtlciBiZWVzIiBvZiB0aGUKKyAgIFBhY2thZ2luZy4gIEEgdXNlZnVsIGFuYWxvZ3kgZm9yIGNvbW1hbmQgY2xhc3NlcyBpcyB0byB0aGluayBvZiB0aGVtIGFzCisgICBzdWJyb3V0aW5lcyB3aXRoIGxvY2FsIHZhcmlhYmxlcyBjYWxsZWQgKm9wdGlvbnMqLiAgVGhlIG9wdGlvbnMgYXJlIGRlY2xhcmVkCisgICBpbiA6bWV0aDpgaW5pdGlhbGl6ZV9vcHRpb25zYCBhbmQgZGVmaW5lZCAoZ2l2ZW4gdGhlaXIgZmluYWwgdmFsdWVzKSBpbgorICAgOm1ldGg6YGZpbmFsaXplX29wdGlvbnNgLCBib3RoIG9mIHdoaWNoIG11c3QgYmUgZGVmaW5lZCBieSBldmVyeSBjb21tYW5kCisgICBjbGFzcy4gIFRoZSBkaXN0aW5jdGlvbiBiZXR3ZWVuIHRoZSB0d28gaXMgbmVjZXNzYXJ5IGJlY2F1c2Ugb3B0aW9uIHZhbHVlcworICAgbWlnaHQgY29tZSBmcm9tIHRoZSBvdXRzaWRlIHdvcmxkIChjb21tYW5kIGxpbmUsIGNvbmZpZyBmaWxlLCAuLi4pLCBhbmQgYW55CisgICBvcHRpb25zIGRlcGVuZGVudCBvbiBvdGhlciBvcHRpb25zIG11c3QgYmUgY29tcHV0ZWQgYWZ0ZXIgdGhlc2Ugb3V0c2lkZQorICAgaW5mbHVlbmNlcyBoYXZlIGJlZW4gcHJvY2Vzc2VkIC0tLSBoZW5jZSA6bWV0aDpgZmluYWxpemVfb3B0aW9uc2AuICBUaGUgYm9keQorICAgb2YgdGhlIHN1YnJvdXRpbmUsIHdoZXJlIGl0IGRvZXMgYWxsIGl0cyB3b3JrIGJhc2VkIG9uIHRoZSB2YWx1ZXMgb2YgaXRzCisgICBvcHRpb25zLCBpcyB0aGUgOm1ldGg6YHJ1bmAgbWV0aG9kLCB3aGljaCBtdXN0IGFsc28gYmUgaW1wbGVtZW50ZWQgYnkgZXZlcnkKKyAgIGNvbW1hbmQgY2xhc3MuCisKKyAgIFRoZSBjbGFzcyBjb25zdHJ1Y3RvciB0YWtlcyBhIHNpbmdsZSBhcmd1bWVudCAqZGlzdCosIGEKKyAgIDpjbGFzczpgfnBhY2thZ2luZy5kaXN0LkRpc3RyaWJ1dGlvbmAgaW5zdGFuY2UuCisKKworQ3JlYXRpbmcgYSBuZXcgUGFja2FnaW5nIGNvbW1hbmQKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK1RoaXMgc2VjdGlvbiBvdXRsaW5lcyB0aGUgc3RlcHMgdG8gY3JlYXRlIGEgbmV3IFBhY2thZ2luZyBjb21tYW5kLgorCisuLiBYWFggdGhlIGZvbGxvd2luZyBwYXJhZ3JhcGggaXMgZm9jdXNlZCBvbiB0aGUgc3RkbGliOyBleHBhbmQgaXQgdG8gZG9jdW1lbnQKKyAgIGhvdyB0byB3cml0ZSBhbmQgcmVnaXN0ZXIgYSBjb21tYW5kIGluIHRoaXJkLXBhcnR5IHByb2plY3RzCisKK0EgbmV3IGNvbW1hbmQgbGl2ZXMgaW4gYSBtb2R1bGUgaW4gdGhlIDptb2Q6YHBhY2thZ2luZy5jb21tYW5kYCBwYWNrYWdlLiBUaGVyZQoraXMgYSBzYW1wbGUgdGVtcGxhdGUgaW4gdGhhdCBkaXJlY3RvcnkgY2FsbGVkIDpmaWxlOmBjb21tYW5kX3RlbXBsYXRlYC4gIENvcHkKK3RoaXMgZmlsZSB0byBhIG5ldyBtb2R1bGUgd2l0aCB0aGUgc2FtZSBuYW1lIGFzIHRoZSBuZXcgY29tbWFuZCB5b3UncmUKK2ltcGxlbWVudGluZy4gIFRoaXMgbW9kdWxlIHNob3VsZCBpbXBsZW1lbnQgYSBjbGFzcyB3aXRoIHRoZSBzYW1lIG5hbWUgYXMgdGhlCittb2R1bGUgKGFuZCB0aGUgY29tbWFuZCkuICBTbywgZm9yIGluc3RhbmNlLCB0byBjcmVhdGUgdGhlIGNvbW1hbmQKK2BgcGVlbF9iYW5hbmFgYCAoc28gdGhhdCB1c2VycyBjYW4gcnVuIGBgc2V0dXAucHkgcGVlbF9iYW5hbmFgYCksIHlvdSdkIGNvcHkKKzpmaWxlOmBjb21tYW5kX3RlbXBsYXRlYCB0byA6ZmlsZTpgcGFja2FnaW5nL2NvbW1hbmQvcGVlbF9iYW5hbmEucHlgLCB0aGVuIGVkaXQKK2l0IHNvIHRoYXQgaXQncyBpbXBsZW1lbnRpbmcgdGhlIGNsYXNzIDpjbGFzczpgcGVlbF9iYW5hbmFgLCBhIHN1YmNsYXNzIG9mCis6Y2xhc3M6YENvbW1hbmRgLiAgSXQgbXVzdCBkZWZpbmUgdGhlIGZvbGxvd2luZyBtZXRob2RzOgorCisuLiBtZXRob2Q6OiBDb21tYW5kLmluaXRpYWxpemVfb3B0aW9ucygpCisKKyAgIFNldCBkZWZhdWx0IHZhbHVlcyBmb3IgYWxsIHRoZSBvcHRpb25zIHRoYXQgdGhpcyBjb21tYW5kIHN1cHBvcnRzLiAgTm90ZSB0aGF0CisgICB0aGVzZSBkZWZhdWx0cyBtYXkgYmUgb3ZlcnJpZGRlbiBieSBvdGhlciBjb21tYW5kcywgYnkgdGhlIHNldHVwIHNjcmlwdCwgYnkKKyAgIGNvbmZpZyBmaWxlcywgb3IgYnkgdGhlIGNvbW1hbmQgbGluZS4gIFRodXMsIHRoaXMgaXMgbm90IHRoZSBwbGFjZSB0byBjb2RlCisgICBkZXBlbmRlbmNpZXMgYmV0d2VlbiBvcHRpb25zOyBnZW5lcmFsbHksIDptZXRoOmBpbml0aWFsaXplX29wdGlvbnNgCisgICBpbXBsZW1lbnRhdGlvbnMgYXJlIGp1c3QgYSBidW5jaCBvZiBgYHNlbGYuZm9vID0gTm9uZWBgIGFzc2lnbm1lbnRzLgorCisKKy4uIG1ldGhvZDo6IENvbW1hbmQuZmluYWxpemVfb3B0aW9ucygpCisKKyAgIFNldCBmaW5hbCB2YWx1ZXMgZm9yIGFsbCB0aGUgb3B0aW9ucyB0aGF0IHRoaXMgY29tbWFuZCBzdXBwb3J0cy4gVGhpcyBpcworICAgYWx3YXlzIGNhbGxlZCBhcyBsYXRlIGFzIHBvc3NpYmxlLCBpLmUuIGFmdGVyIGFueSBvcHRpb24gYXNzaWdubWVudHMgZnJvbSB0aGUKKyAgIGNvbW1hbmQgbGluZSBvciBmcm9tIG90aGVyIGNvbW1hbmRzIGhhdmUgYmVlbiBkb25lLiAgVGh1cywgdGhpcyBpcyB0aGUgcGxhY2UKKyAgIHRvIGNvZGUgb3B0aW9uIGRlcGVuZGVuY2llczogaWYgKmZvbyogZGVwZW5kcyBvbiAqYmFyKiwgdGhlbiBpdCBpcyBzYWZlIHRvCisgICBzZXQgKmZvbyogZnJvbSAqYmFyKiBhcyBsb25nIGFzICpmb28qIHN0aWxsIGhhcyB0aGUgc2FtZSB2YWx1ZSBpdCB3YXMKKyAgIGFzc2lnbmVkIGluIDptZXRoOmBpbml0aWFsaXplX29wdGlvbnNgLgorCisKKy4uIG1ldGhvZDo6IENvbW1hbmQucnVuKCkKKworICAgQSBjb21tYW5kJ3MgcmFpc29uIGQnZXRyZTogY2Fycnkgb3V0IHRoZSBhY3Rpb24gaXQgZXhpc3RzIHRvIHBlcmZvcm0sCisgICBjb250cm9sbGVkIGJ5IHRoZSBvcHRpb25zIGluaXRpYWxpemVkIGluIDptZXRoOmBpbml0aWFsaXplX29wdGlvbnNgLAorICAgY3VzdG9taXplZCBieSBvdGhlciBjb21tYW5kcywgdGhlIHNldHVwIHNjcmlwdCwgdGhlIGNvbW1hbmQgbGluZSwgYW5kIGNvbmZpZworICAgZmlsZXMsIGFuZCBmaW5hbGl6ZWQgaW4gOm1ldGg6YGZpbmFsaXplX29wdGlvbnNgLiAgQWxsIHRlcm1pbmFsIG91dHB1dCBhbmQKKyAgIGZpbGVzeXN0ZW0gaW50ZXJhY3Rpb24gc2hvdWxkIGJlIGRvbmUgYnkgOm1ldGg6YHJ1bmAuCisKKworQ29tbWFuZCBjbGFzc2VzIG1heSBkZWZpbmUgdGhpcyBhdHRyaWJ1dGU6CisKKworLi4gYXR0cmlidXRlOjogQ29tbWFuZC5zdWJfY29tbWFuZHMKKworICAgKnN1Yl9jb21tYW5kcyogZm9ybWFsaXplcyB0aGUgbm90aW9uIG9mIGEgImZhbWlseSIgb2YgY29tbWFuZHMsCisgICBlLmcuIGBgaW5zdGFsbF9kaXN0YGAgYXMgdGhlIHBhcmVudCB3aXRoIHN1Yi1jb21tYW5kcyBgYGluc3RhbGxfbGliYGAsCisgICBgYGluc3RhbGxfaGVhZGVyc2BgLCBldGMuICBUaGUgcGFyZW50IG9mIGEgZmFtaWx5IG9mIGNvbW1hbmRzIGRlZmluZXMKKyAgICpzdWJfY29tbWFuZHMqIGFzIGEgY2xhc3MgYXR0cmlidXRlOyBpdCdzIGEgbGlzdCBvZiAyLXR1cGxlcyBgYChjb21tYW5kX25hbWUsCisgICBwcmVkaWNhdGUpYGAsIHdpdGggKmNvbW1hbmRfbmFtZSogYSBzdHJpbmcgYW5kICpwcmVkaWNhdGUqIGEgZnVuY3Rpb24sIGEKKyAgIHN0cmluZyBvciBgYE5vbmVgYC4gICpwcmVkaWNhdGUqIGlzIGEgbWV0aG9kIG9mIHRoZSBwYXJlbnQgY29tbWFuZCB0aGF0CisgICBkZXRlcm1pbmVzIHdoZXRoZXIgdGhlIGNvcnJlc3BvbmRpbmcgY29tbWFuZCBpcyBhcHBsaWNhYmxlIGluIHRoZSBjdXJyZW50CisgICBzaXR1YXRpb24uICAoRS5nLiBgYGluc3RhbGxfaGVhZGVyc2BgIGlzIG9ubHkgYXBwbGljYWJsZSBpZiB3ZSBoYXZlIGFueSBDCisgICBoZWFkZXIgZmlsZXMgdG8gaW5zdGFsbC4pICBJZiAqcHJlZGljYXRlKiBpcyBgYE5vbmVgYCwgdGhhdCBjb21tYW5kIGlzIGFsd2F5cworICAgYXBwbGljYWJsZS4KKworICAgKnN1Yl9jb21tYW5kcyogaXMgdXN1YWxseSBkZWZpbmVkIGF0IHRoZSAqZW5kKiBvZiBhIGNsYXNzLCBiZWNhdXNlCisgICBwcmVkaWNhdGVzIGNhbiBiZSBtZXRob2RzIG9mIHRoZSBjbGFzcywgc28gdGhleSBtdXN0IGFscmVhZHkgaGF2ZSBiZWVuCisgICBkZWZpbmVkLiAgVGhlIGNhbm9uaWNhbCBleGFtcGxlIGlzIHRoZSA6Y29tbWFuZDpgaW5zdGFsbF9kaXN0YCBjb21tYW5kLgorCisuLiBYWFggZG9jdW1lbnQgaG93IHRvIGFkZCBhIGN1c3RvbSBjb21tYW5kIHRvIGFub3RoZXIgb25lJ3Mgc3ViY29tbWFuZHMKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L3BhY2thZ2luZy5jb21waWxlci5yc3QgYi9Eb2MvbGlicmFyeS9wYWNrYWdpbmcuY29tcGlsZXIucnN0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYyM2M1NTEKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2MvbGlicmFyeS9wYWNrYWdpbmcuY29tcGlsZXIucnN0CkBAIC0wLDAgKzEsNjgxIEBACis6bW9kOmBwYWNrYWdpbmcuY29tcGlsZXJgIC0tLSBDb21waWxlciBjbGFzc2VzCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKKy4uIG1vZHVsZTo6IHBhY2thZ2luZy5jb21waWxlcgorICAgOnN5bm9wc2lzOiBDb21waWxlciBjbGFzc2VzIHRvIGJ1aWxkIEMvQysrIGV4dGVuc2lvbnMgb3IgbGlicmFyaWVzLgorCisKK1RoaXMgc3VicGFja2FnZSBjb250YWlucyBhbiBhYnN0cmFjdCBiYXNlIGNsYXNzIHJlcHJlc2VudGluZyBhIGNvbXBpbGVyIGFuZAorY29uY3JldGUgaW1wbGVtZW50YXRpb25zIGZvciBjb21tb24gY29tcGlsZXJzLiAgVGhlIGNvbXBpbGVyIGNsYXNzZXMgc2hvdWxkIG5vdAorYmUgaW5zdGFudGlhdGVkIGRpcmVjdGx5LCBidXQgY3JlYXRlZCB1c2luZyB0aGUgOmZ1bmM6YG5ld19jb21waWxlcmAgZmFjdG9yeQorZnVuY3Rpb24uICBDb21waWxlciB0eXBlcyBwcm92aWRlZCBieSBQYWNrYWdpbmcgYXJlIGxpc3RlZCBpbgorOnJlZjpgcGFja2FnaW5nLXN0YW5kYXJkLWNvbXBpbGVyc2AuCisKKworUHVibGljIGZ1bmN0aW9ucworLS0tLS0tLS0tLS0tLS0tLQorCisuLiBmdW5jdGlvbjo6IG5ld19jb21waWxlcihwbGF0PU5vbmUsIGNvbXBpbGVyPU5vbmUsIGRyeV9ydW49RmFsc2UsIGZvcmNlPUZhbHNlKQorCisgICBGYWN0b3J5IGZ1bmN0aW9uIHRvIGdlbmVyYXRlIGFuIGluc3RhbmNlIG9mIHNvbWUKKyAgIDpjbGFzczpgfi5jY29tcGlsZXIuQ0NvbXBpbGVyYCBzdWJjbGFzcyBmb3IgdGhlIHJlcXVlc3RlZCBwbGF0Zm9ybSBvcgorICAgY29tcGlsZXIgdHlwZS4KKworICAgSWYgbm8gYXJndW1lbnQgaXMgZ2l2ZW4gZm9yICpwbGF0KiBhbmQgKmNvbXBpbGVyKiwgdGhlIGRlZmF1bHQgY29tcGlsZXIgdHlwZQorICAgZm9yIHRoZSBwbGF0Zm9ybSAoOmF0dHI6YG9zLm5hbWVgKSB3aWxsIGJlIHVzZWQ6IGBgJ3VuaXgnYGAgZm9yIFVuaXggYW5kCisgICBNYWMgT1MgWCwgYGAnbXN2YydgYCBmb3IgV2luZG93cy4KKworICAgSWYgKnBsYXQqIGlzIGdpdmVuLCBpdCBtdXN0IGJlIG9uZSBvZiBgYCdwb3NpeCdgYCwgYGAnZGFyd2luJ2BgIG9yIGBgJ250J2BgLgorICAgQW4gaW52YWxpZCB2YWx1ZSB3aWxsIG5vdCByYWlzZSBhbiBleGNlcHRpb24gYnV0IHVzZSB0aGUgZGVmYXVsdCBjb21waWxlcgorICAgdHlwZSBmb3IgdGhlIGN1cnJlbnQgcGxhdGZvcm0uCisKKyAgIC4uIFhYWCBlcnJvcnMgc2hvdWxkIG5ldmVyIHBhc3Mgc2lsZW50bHk7IHRoaXMgYmVoYXZpb3IgaXMgcGFydGljdWxhcmx5CisgICAgICBoYXJtZnVsIHdoZW4gYSBjb21waWxlciB0eXBlIGlzIGdpdmVuIGFzIGZpcnN0IGFyZ3VtZW50CisKKyAgIElmICpjb21waWxlciogaXMgZ2l2ZW4sICpwbGF0KiB3aWxsIGJlIGlnbm9yZWQsIGFsbG93aW5nIHlvdSB0byBnZXQgZm9yCisgICBleGFtcGxlIGEgYGAndW5peCdgYCBjb21waWxlciBvYmplY3QgdW5kZXIgV2luZG93cyBvciBhbiBgYCdtc3ZjJ2BgIGNvbXBpbGVyCisgICB1bmRlciBVbml4LiAgSG93ZXZlciwgbm90IGFsbCBjb21waWxlciB0eXBlcyBjYW4gYmUgaW5zdGFudGlhdGVkIG9uIGV2ZXJ5CisgICBwbGF0Zm9ybS4KKworCisuLiBmdW5jdGlvbjo6IGN1c3RvbWl6ZV9jb21waWxlcihjb21waWxlcikKKworICAgRG8gYW55IHBsYXRmb3JtLXNwZWNpZmljIGN1c3RvbWl6YXRpb24gb2YgYSBDQ29tcGlsZXIgaW5zdGFuY2UuICBNYWlubHkKKyAgIG5lZWRlZCBvbiBVbml4IHRvIHBsdWcgaW4gdGhlIGluZm9ybWF0aW9uIHRoYXQgdmFyaWVzIGFjcm9zcyBVbmljZXMgYW5kIGlzCisgICBzdG9yZWQgaW4gQ1B5dGhvbidzIE1ha2VmaWxlLgorCisKKy4uIGZ1bmN0aW9uOjogZ2VuX2xpYl9vcHRpb25zKGNvbXBpbGVyLCBsaWJyYXJ5X2RpcnMsIHJ1bnRpbWVfbGlicmFyeV9kaXJzLCBsaWJyYXJpZXMpCisKKyAgIEdlbmVyYXRlIGxpbmtlciBvcHRpb25zIGZvciBzZWFyY2hpbmcgbGlicmFyeSBkaXJlY3RvcmllcyBhbmQgbGlua2luZyB3aXRoCisgICBzcGVjaWZpYyBsaWJyYXJpZXMuICAqbGlicmFyaWVzKiBhbmQgKmxpYnJhcnlfZGlycyogYXJlLCByZXNwZWN0aXZlbHksIGxpc3RzCisgICBvZiBsaWJyYXJ5IG5hbWVzIChub3QgZmlsZW5hbWVzISkgYW5kIHNlYXJjaCBkaXJlY3Rvcmllcy4gIFJldHVybnMgYSBsaXN0IG9mCisgICBjb21tYW5kLWxpbmUgb3B0aW9ucyBzdWl0YWJsZSBmb3IgdXNlIHdpdGggc29tZSBjb21waWxlciAoZGVwZW5kaW5nIG9uIHRoZQorICAgdHdvIGZvcm1hdCBzdHJpbmdzIHBhc3NlZCBpbikuCisKKworLi4gZnVuY3Rpb246OiBnZW5fcHJlcHJvY2Vzc19vcHRpb25zKG1hY3JvcywgaW5jbHVkZV9kaXJzKQorCisgICBHZW5lcmF0ZSBDIHByZXByb2Nlc3NvciBvcHRpb25zICg6b3B0aW9uOmAtRGAsIDpvcHRpb246YC1VYCwgOm9wdGlvbjpgLUlgKSBhcworICAgdXNlZCBieSBhdCBsZWFzdCB0d28gdHlwZXMgb2YgY29tcGlsZXJzOiB0aGUgdHlwaWNhbCBVbml4IGNvbXBpbGVyIGFuZCBWaXN1YWwKKyAgIEMrKy4gKm1hY3JvcyogaXMgdGhlIHVzdWFsIHRoaW5nLCBhIGxpc3Qgb2YgMS0gb3IgMi10dXBsZXMsIHdoZXJlIGBgKG5hbWUsKWBgCisgICBtZWFucyB1bmRlZmluZSAoOm9wdGlvbjpgLVVgKSBtYWNybyAqbmFtZSosIGFuZCBgYChuYW1lLCB2YWx1ZSlgYCBtZWFucworICAgZGVmaW5lICg6b3B0aW9uOmAtRGApIG1hY3JvICpuYW1lKiB0byAqdmFsdWUqLiAgKmluY2x1ZGVfZGlycyogaXMganVzdCBhIGxpc3QKKyAgIG9mIGRpcmVjdG9yeSBuYW1lcyB0byBiZSBhZGRlZCB0byB0aGUgaGVhZGVyIGZpbGUgc2VhcmNoIHBhdGggKDpvcHRpb246YC1JYCkuCisgICBSZXR1cm5zIGEgbGlzdCBvZiBjb21tYW5kLWxpbmUgb3B0aW9ucyBzdWl0YWJsZSBmb3IgZWl0aGVyIFVuaXggY29tcGlsZXJzIG9yCisgICBWaXN1YWwgQysrLgorCisKKy4uIGZ1bmN0aW9uOjogZ2V0X2RlZmF1bHRfY29tcGlsZXIob3NuYW1lLCBwbGF0Zm9ybSkKKworICAgRGV0ZXJtaW5lIHRoZSBkZWZhdWx0IGNvbXBpbGVyIHRvIHVzZSBmb3IgdGhlIGdpdmVuIHBsYXRmb3JtLgorCisgICAqb3NuYW1lKiBzaG91bGQgYmUgb25lIG9mIHRoZSBzdGFuZGFyZCBQeXRob24gT1MgbmFtZXMgKGkuZS4gdGhlIG9uZXMKKyAgIHJldHVybmVkIGJ5IGBgb3MubmFtZWBgKSBhbmQgKnBsYXRmb3JtKiB0aGUgY29tbW9uIHZhbHVlIHJldHVybmVkIGJ5CisgICBgYHN5cy5wbGF0Zm9ybWBgIGZvciB0aGUgcGxhdGZvcm0gaW4gcXVlc3Rpb24uCisKKyAgIFRoZSBkZWZhdWx0IHZhbHVlcyBhcmUgYGBvcy5uYW1lYGAgYW5kIGBgc3lzLnBsYXRmb3JtYGAuCisKKworLi4gZnVuY3Rpb246OiBzZXRfY29tcGlsZXIobG9jYXRpb24pCisKKyAgIEFkZCBvciBjaGFuZ2UgYSBjb21waWxlcgorCisKKy4uIGZ1bmN0aW9uOjogc2hvd19jb21waWxlcnMoKQorCisgICBQcmludCBsaXN0IG9mIGF2YWlsYWJsZSBjb21waWxlcnMgKHVzZWQgYnkgdGhlIDpvcHRpb246YC0taGVscC1jb21waWxlcmAKKyAgIG9wdGlvbnMgdG8gOmNvbW1hbmQ6YGJ1aWxkYCwgOmNvbW1hbmQ6YGJ1aWxkX2V4dGAsIDpjb21tYW5kOmBidWlsZF9jbGliYCkuCisKKworLi4gX3BhY2thZ2luZy1zdGFuZGFyZC1jb21waWxlcnM6CisKK1N0YW5kYXJkIGNvbXBpbGVycworLS0tLS0tLS0tLS0tLS0tLS0tCisKK0NvbmNyZXRlIHN1YmNsYXNzZXMgb2YgOmNsYXNzOmB+LmNjb21waWxlci5DQ29tcGlsZXJgIGFyZSBwcm92aWRlZCBpbiBzdWJtb2R1bGVzCitvZiB0aGUgOm1vZDpgcGFja2FnaW5nLmNvbXBpbGVyYCBwYWNrYWdlLiAgWW91IGRvIG5vdCBuZWVkIHRvIGltcG9ydCB0aGVtLCB1c2luZworOmZ1bmM6YG5ld19jb21waWxlcmAgaXMgdGhlIHB1YmxpYyBBUEkgdG8gdXNlLiAgVGhpcyB0YWJsZSBkb2N1bWVudHMgdGhlCitzdGFuZGFyZCBjb21waWxlcnM7IGJlIGF3YXJlIHRoYXQgdGhleSBjYW4gYmUgcmVwbGFjZWQgYnkgb3RoZXIgY2xhc3NlcyBvbiB5b3VyCitwbGF0Zm9ybS4KKworPT09PT09PT09PT09PT09ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ID09PT09PT0KK25hbWUgICAgICAgICAgICBkZXNjcmlwdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub3RlcworPT09PT09PT09PT09PT09ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ID09PT09PT0KK2BgJ3VuaXgnYGAgICAgICB0eXBpY2FsIFVuaXgtc3R5bGUgY29tbWFuZC1saW5lIEMgY29tcGlsZXIgICAgICAgICAgICAgICBbI11fCitgYCdtc3ZjJ2BgICAgICAgTWljcm9zb2Z0IGNvbXBpbGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyNdXworYGAnYmNwcCdgYCAgICAgIEJvcmxhbmQgQysrIGNvbXBpbGVyCitgYCdjeWd3aW4nYGAgICAgQ3lnd2luIGNvbXBpbGVyIChXaW5kb3dzIHBvcnQgb2YgR0NDKQorYGAnbWluZ3czMidgYCAgIE1pbmd3MzIgcG9ydCBvZiBHQ0MgKHNhbWUgYXMgQ3lnd2luIGluIG5vLUN5Z3dpbiBtb2RlKQorPT09PT09PT09PT09PT09ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ID09PT09PT0KKworCisuLiBbI10gVGhlIFVuaXggY29tcGlsZXIgY2xhc3MgYXNzdW1lcyB0aGlzIGJlaGF2aW9yOgorCisgICAgICAgKiBtYWNyb3MgZGVmaW5lZCB3aXRoIDpvcHRpb246YC1EbmFtZVs9dmFsdWVdYAorCisgICAgICAgKiBtYWNyb3MgdW5kZWZpbmVkIHdpdGggOm9wdGlvbjpgLVVuYW1lYAorCisgICAgICAgKiBpbmNsdWRlIHNlYXJjaCBkaXJlY3RvcmllcyBzcGVjaWZpZWQgd2l0aCA6b3B0aW9uOmAtSWRpcmAKKworICAgICAgICogbGlicmFyaWVzIHNwZWNpZmllZCB3aXRoIDpvcHRpb246YC1sbGliYAorCisgICAgICAgKiBsaWJyYXJ5IHNlYXJjaCBkaXJlY3RvcmllcyBzcGVjaWZpZWQgd2l0aCA6b3B0aW9uOmAtTGRpcmAKKworICAgICAgICogY29tcGlsZSBoYW5kbGVkIGJ5IDpwcm9ncmFtOmBjY2AgKG9yIHNpbWlsYXIpIGV4ZWN1dGFibGUgd2l0aAorICAgICAgICAgOm9wdGlvbjpgLWNgIG9wdGlvbjogY29tcGlsZXMgOmZpbGU6YC5jYCB0byA6ZmlsZTpgLm9gCisKKyAgICAgICAqIGxpbmsgc3RhdGljIGxpYnJhcnkgaGFuZGxlZCBieSA6cHJvZ3JhbTpgYXJgIGNvbW1hbmQgKHBvc3NpYmx5IHdpdGgKKyAgICAgICAgIDpwcm9ncmFtOmByYW5saWJgKQorCisgICAgICAgKiBsaW5rIHNoYXJlZCBsaWJyYXJ5IGhhbmRsZWQgYnkgOnByb2dyYW06YGNjYCA6b3B0aW9uOmAtc2hhcmVkYAorCisKKy4uIFsjXSBPbiBXaW5kb3dzLCBleHRlbnNpb24gbW9kdWxlcyB0eXBpY2FsbHkgbmVlZCB0byBiZSBjb21waWxlZCB3aXRoIHRoZSBzYW1lCisgICAgICAgY29tcGlsZXIgdGhhdCB3YXMgdXNlZCB0byBjb21waWxlIENQeXRob24gKGZvciBleGFtcGxlIE1pY3Jvc29mdCBWaXN1YWwKKyAgICAgICBTdHVkaW8gLk5FVCAyMDAzIGZvciBDUHl0aG9uIDIuNCBhbmQgMi41KS4gIFRoZSBBTUQ2NCBhbmQgSXRhbml1bQorICAgICAgIGJpbmFyaWVzIGFyZSBjcmVhdGVkIHVzaW5nIHRoZSBQbGF0Zm9ybSBTREsuCisKKyAgICAgICBVbmRlciB0aGUgaG9vZCwgdGhlcmUgYXJlIGFjdHVhbGx5IHR3byBkaWZmZXJlbnQgc3ViY2xhc3NlcyBvZgorICAgICAgIDpjbGFzczpgfi5jY29tcGlsZXIuQ0NvbXBpbGVyYCBkZWZpbmVkOiBvbmUgaXMgY29tcGF0aWJsZSB3aXRoIE1TVkMgMjAwNQorICAgICAgIGFuZCAyMDA4LCB0aGUgb3RoZXIgd29ya3Mgd2l0aCBvbGRlciB2ZXJzaW9ucy4gIFRoaXMgc2hvdWxkIG5vdCBiZSBhCisgICAgICAgY29uY2VybiBmb3IgcmVndWxhciB1c2Ugb2YgdGhlIGZ1bmN0aW9ucyBpbiB0aGlzIG1vZHVsZS4KKworICAgICAgIFBhY2thZ2luZyB3aWxsIG5vcm1hbGx5IGNob29zZSB0aGUgcmlnaHQgY29tcGlsZXIsIGxpbmtlciBldGMuIG9uIGl0cworICAgICAgIG93bi4gIFRvIG92ZXJyaWRlIHRoaXMgY2hvaWNlLCB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGVzCisgICAgICAgKkRJU1RVVElMU19VU0VfU0RLKiBhbmQgKk1TU2RrKiBtdXN0IGJlIGJvdGggc2V0LiAgKk1TU2RrKiBpbmRpY2F0ZXMgdGhhdAorICAgICAgIHRoZSBjdXJyZW50IGVudmlyb25tZW50IGhhcyBiZWVuIHNldHVwIGJ5IHRoZSBTREsncyBgYFNldEVudi5DbWRgYAorICAgICAgIHNjcmlwdCwgb3IgdGhhdCB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGVzIGhhZCBiZWVuIHJlZ2lzdGVyZWQgd2hlbiB0aGUKKyAgICAgICBTREsgd2FzIGluc3RhbGxlZDsgKkRJU1RVVElMU19VU0VfU0RLKiBpbmRpY2F0ZXMgdGhhdCB0aGUgdXNlciBoYXMgbWFkZQorICAgICAgIGFuIGV4cGxpY2l0IGNob2ljZSB0byBvdmVycmlkZSB0aGUgY29tcGlsZXIgc2VsZWN0aW9uIGRvbmUgYnkgUGFja2FnaW5nLgorCisgICAgICAgLi4gVE9ETyBkb2N1bWVudCB0aGUgZW52dmFycyBpbiBEb2MvdXNpbmcgYW5kIHRoZSBtYW4gcGFnZQorCisKKzptb2Q6YHBhY2thZ2luZy5jb21waWxlci5jY29tcGlsZXJgIC0tLSBDQ29tcGlsZXIgYmFzZSBjbGFzcworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKKy4uIG1vZHVsZTo6IHBhY2thZ2luZy5jb21waWxlci5jY29tcGlsZXIKKyAgIDpzeW5vcHNpczogQWJzdHJhY3QgQ0NvbXBpbGVyIGNsYXNzLgorCisKK1RoaXMgbW9kdWxlIHByb3ZpZGVzIHRoZSBhYnN0cmFjdCBiYXNlIGNsYXNzIGZvciB0aGUgOmNsYXNzOmBDQ29tcGlsZXJgCitjbGFzc2VzLiAgQSA6Y2xhc3M6YENDb21waWxlcmAgaW5zdGFuY2UgY2FuIGJlIHVzZWQgZm9yIGFsbCB0aGUgY29tcGlsZSBhbmQKK2xpbmsgc3RlcHMgbmVlZGVkIHRvIGJ1aWxkIGEgc2luZ2xlIHByb2plY3QuIE1ldGhvZHMgYXJlIHByb3ZpZGVkIHRvIHNldAorb3B0aW9ucyBmb3IgdGhlIGNvbXBpbGVyIC0tLSBtYWNybyBkZWZpbml0aW9ucywgaW5jbHVkZSBkaXJlY3RvcmllcywgbGluayBwYXRoLAorbGlicmFyaWVzIGFuZCB0aGUgbGlrZS4KKworLi4gY2xhc3M6OiBDQ29tcGlsZXIoZHJ5X3J1bj1GYWxzZSwgZm9yY2U9RmFsc2UpCisKKyAgIFRoZSBhYnN0cmFjdCBiYXNlIGNsYXNzIDpjbGFzczpgQ0NvbXBpbGVyYCBkZWZpbmVzIHRoZSBpbnRlcmZhY2UgdGhhdCBtdXN0IGJlCisgICBpbXBsZW1lbnRlZCBieSByZWFsIGNvbXBpbGVyIGNsYXNzZXMuICBUaGUgY2xhc3MgYWxzbyBoYXMgc29tZSB1dGlsaXR5CisgICBtZXRob2RzIHVzZWQgYnkgc2V2ZXJhbCBjb21waWxlciBjbGFzc2VzLgorCisgICBUaGUgYmFzaWMgaWRlYSBiZWhpbmQgYSBjb21waWxlciBhYnN0cmFjdGlvbiBjbGFzcyBpcyB0aGF0IGVhY2ggaW5zdGFuY2UgY2FuCisgICBiZSB1c2VkIGZvciBhbGwgdGhlIGNvbXBpbGUvbGluayBzdGVwcyBpbiBidWlsZGluZyBhIHNpbmdsZSBwcm9qZWN0LiAgVGh1cywKKyAgIGF0dHJpYnV0ZXMgY29tbW9uIHRvIGFsbCBvZiB0aG9zZSBjb21waWxlIGFuZCBsaW5rIHN0ZXBzIC0tLSBpbmNsdWRlCisgICBkaXJlY3RvcmllcywgbWFjcm9zIHRvIGRlZmluZSwgbGlicmFyaWVzIHRvIGxpbmsgYWdhaW5zdCwgZXRjLiAtLS0gYXJlCisgICBhdHRyaWJ1dGVzIG9mIHRoZSBjb21waWxlciBpbnN0YW5jZS4gIFRvIGFsbG93IGZvciB2YXJpYWJpbGl0eSBpbiBob3cKKyAgIGluZGl2aWR1YWwgZmlsZXMgYXJlIHRyZWF0ZWQsIG1vc3Qgb2YgdGhvc2UgYXR0cmlidXRlcyBtYXkgYmUgdmFyaWVkIG9uIGEKKyAgIHBlci1jb21waWxhdGlvbiBvciBwZXItbGluayBiYXNpcy4KKworICAgVGhlIGNvbnN0cnVjdG9yIGZvciBlYWNoIHN1YmNsYXNzIGNyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgdGhlIENvbXBpbGVyIG9iamVjdC4KKyAgIEZsYWdzIGFyZSAqZHJ5X3J1biogKGRvbid0IGFjdHVhbGx5IGV4ZWN1dGUKKyAgIHRoZSBzdGVwcykgYW5kICpmb3JjZSogKHJlYnVpbGQgZXZlcnl0aGluZywgcmVnYXJkbGVzcyBvZiBkZXBlbmRlbmNpZXMpLiAgQWxsCisgICBvZiB0aGVzZSBmbGFncyBkZWZhdWx0IHRvIGBgRmFsc2VgYCAob2ZmKS4gTm90ZSB0aGF0IHlvdSBwcm9iYWJseSBkb24ndCB3YW50IHRvCisgICBpbnN0YW50aWF0ZSA6Y2xhc3M6YENDb21waWxlcmAgb3Igb25lIG9mIGl0cyBzdWJjbGFzc2VzIGRpcmVjdGx5IC0gdXNlIHRoZQorICAgOmZ1bmM6YG5ld19jb21waWxlcmAgZmFjdG9yeSBmdW5jdGlvbiBpbnN0ZWFkLgorCisgICBUaGUgZm9sbG93aW5nIG1ldGhvZHMgYWxsb3cgeW91IHRvIG1hbnVhbGx5IGFsdGVyIGNvbXBpbGVyIG9wdGlvbnMgZm9yIHRoZQorICAgaW5zdGFuY2Ugb2YgdGhlIENvbXBpbGVyIGNsYXNzLgorCisKKyAgIC4uIG1ldGhvZDo6IENDb21waWxlci5hZGRfaW5jbHVkZV9kaXIoZGlyKQorCisgICAgICBBZGQgKmRpciogdG8gdGhlIGxpc3Qgb2YgZGlyZWN0b3JpZXMgdGhhdCB3aWxsIGJlIHNlYXJjaGVkIGZvciBoZWFkZXIKKyAgICAgIGZpbGVzLiAgVGhlIGNvbXBpbGVyIGlzIGluc3RydWN0ZWQgdG8gc2VhcmNoIGRpcmVjdG9yaWVzIGluIHRoZSBvcmRlciBpbgorICAgICAgd2hpY2ggdGhleSBhcmUgc3VwcGxpZWQgYnkgc3VjY2Vzc2l2ZSBjYWxscyB0byA6bWV0aDpgYWRkX2luY2x1ZGVfZGlyYC4KKworCisgICAuLiBtZXRob2Q6OiBDQ29tcGlsZXIuc2V0X2luY2x1ZGVfZGlycyhkaXJzKQorCisgICAgICBTZXQgdGhlIGxpc3Qgb2YgZGlyZWN0b3JpZXMgdGhhdCB3aWxsIGJlIHNlYXJjaGVkIHRvICpkaXJzKiAoYSBsaXN0IG9mCisgICAgICBzdHJpbmdzKS4gT3ZlcnJpZGVzIGFueSBwcmVjZWRpbmcgY2FsbHMgdG8gOm1ldGg6YGFkZF9pbmNsdWRlX2RpcmA7CisgICAgICBzdWJzZXF1ZW50IGNhbGxzIHRvIDptZXRoOmBhZGRfaW5jbHVkZV9kaXJgIGFkZCB0byB0aGUgbGlzdCBwYXNzZWQgdG8KKyAgICAgIDptZXRoOmBzZXRfaW5jbHVkZV9kaXJzYC4gVGhpcyBkb2VzIG5vdCBhZmZlY3QgYW55IGxpc3Qgb2Ygc3RhbmRhcmQKKyAgICAgIGluY2x1ZGUgZGlyZWN0b3JpZXMgdGhhdCB0aGUgY29tcGlsZXIgbWF5IHNlYXJjaCBieSBkZWZhdWx0LgorCisKKyAgIC4uIG1ldGhvZDo6IENDb21waWxlci5hZGRfbGlicmFyeShsaWJuYW1lKQorCisgICAgICBBZGQgKmxpYm5hbWUqIHRvIHRoZSBsaXN0IG9mIGxpYnJhcmllcyB0aGF0IHdpbGwgYmUgaW5jbHVkZWQgaW4gYWxsIGxpbmtzCisgICAgICBkcml2ZW4gYnkgdGhpcyBjb21waWxlciBvYmplY3QuICBOb3RlIHRoYXQgKmxpYm5hbWUqIHNob3VsZCAqbm90KiBiZSB0aGUKKyAgICAgIG5hbWUgb2YgYSBmaWxlIGNvbnRhaW5pbmcgYSBsaWJyYXJ5LCBidXQgdGhlIG5hbWUgb2YgdGhlIGxpYnJhcnkgaXRzZWxmOgorICAgICAgdGhlIGFjdHVhbCBmaWxlbmFtZSB3aWxsIGJlIGluZmVycmVkIGJ5IHRoZSBsaW5rZXIsIHRoZSBjb21waWxlciwgb3IgdGhlCisgICAgICBjb21waWxlciBjbGFzcyAoZGVwZW5kaW5nIG9uIHRoZSBwbGF0Zm9ybSkuCisKKyAgICAgIFRoZSBsaW5rZXIgd2lsbCBiZSBpbnN0cnVjdGVkIHRvIGxpbmsgYWdhaW5zdCBsaWJyYXJpZXMgaW4gdGhlIG9yZGVyIHRoZXkKKyAgICAgIHdlcmUgc3VwcGxpZWQgdG8gOm1ldGg6YGFkZF9saWJyYXJ5YCBhbmQvb3IgOm1ldGg6YHNldF9saWJyYXJpZXNgLiAgSXQgaXMKKyAgICAgIHBlcmZlY3RseSB2YWxpZCB0byBkdXBsaWNhdGUgbGlicmFyeSBuYW1lczsgdGhlIGxpbmtlciB3aWxsIGJlIGluc3RydWN0ZWQKKyAgICAgIHRvIGxpbmsgYWdhaW5zdCBsaWJyYXJpZXMgYXMgbWFueSB0aW1lcyBhcyB0aGV5IGFyZSBtZW50aW9uZWQuCisKKworICAgLi4gbWV0aG9kOjogQ0NvbXBpbGVyLnNldF9saWJyYXJpZXMobGlibmFtZXMpCisKKyAgICAgIFNldCB0aGUgbGlzdCBvZiBsaWJyYXJpZXMgdG8gYmUgaW5jbHVkZWQgaW4gYWxsIGxpbmtzIGRyaXZlbiBieSB0aGlzCisgICAgICBjb21waWxlciBvYmplY3QgdG8gKmxpYm5hbWVzKiAoYSBsaXN0IG9mIHN0cmluZ3MpLiAgVGhpcyBkb2VzIG5vdCBhZmZlY3QKKyAgICAgIGFueSBzdGFuZGFyZCBzeXN0ZW0gbGlicmFyaWVzIHRoYXQgdGhlIGxpbmtlciBtYXkgaW5jbHVkZSBieSBkZWZhdWx0LgorCisKKyAgIC4uIG1ldGhvZDo6IENDb21waWxlci5hZGRfbGlicmFyeV9kaXIoZGlyKQorCisgICAgICBBZGQgKmRpciogdG8gdGhlIGxpc3Qgb2YgZGlyZWN0b3JpZXMgdGhhdCB3aWxsIGJlIHNlYXJjaGVkIGZvciBsaWJyYXJpZXMKKyAgICAgIHNwZWNpZmllZCB0byA6bWV0aDpgYWRkX2xpYnJhcnlgIGFuZCA6bWV0aDpgc2V0X2xpYnJhcmllc2AuICBUaGUgbGlua2VyCisgICAgICB3aWxsIGJlIGluc3RydWN0ZWQgdG8gc2VhcmNoIGZvciBsaWJyYXJpZXMgaW4gdGhlIG9yZGVyIHRoZXkgYXJlIHN1cHBsaWVkCisgICAgICB0byA6bWV0aDpgYWRkX2xpYnJhcnlfZGlyYCBhbmQvb3IgOm1ldGg6YHNldF9saWJyYXJ5X2RpcnNgLgorCisKKyAgIC4uIG1ldGhvZDo6IENDb21waWxlci5zZXRfbGlicmFyeV9kaXJzKGRpcnMpCisKKyAgICAgIFNldCB0aGUgbGlzdCBvZiBsaWJyYXJ5IHNlYXJjaCBkaXJlY3RvcmllcyB0byAqZGlycyogKGEgbGlzdCBvZiBzdHJpbmdzKS4KKyAgICAgIFRoaXMgZG9lcyBub3QgYWZmZWN0IGFueSBzdGFuZGFyZCBsaWJyYXJ5IHNlYXJjaCBwYXRoIHRoYXQgdGhlIGxpbmtlciBtYXkKKyAgICAgIHNlYXJjaCBieSBkZWZhdWx0LgorCisKKyAgIC4uIG1ldGhvZDo6IENDb21waWxlci5hZGRfcnVudGltZV9saWJyYXJ5X2RpcihkaXIpCisKKyAgICAgIEFkZCAqZGlyKiB0byB0aGUgbGlzdCBvZiBkaXJlY3RvcmllcyB0aGF0IHdpbGwgYmUgc2VhcmNoZWQgZm9yIHNoYXJlZAorICAgICAgbGlicmFyaWVzIGF0IHJ1bnRpbWUuCisKKworICAgLi4gbWV0aG9kOjogQ0NvbXBpbGVyLnNldF9ydW50aW1lX2xpYnJhcnlfZGlycyhkaXJzKQorCisgICAgICBTZXQgdGhlIGxpc3Qgb2YgZGlyZWN0b3JpZXMgdG8gc2VhcmNoIGZvciBzaGFyZWQgbGlicmFyaWVzIGF0IHJ1bnRpbWUgdG8KKyAgICAgICpkaXJzKiAoYSBsaXN0IG9mIHN0cmluZ3MpLiAgVGhpcyBkb2VzIG5vdCBhZmZlY3QgYW55IHN0YW5kYXJkIHNlYXJjaCBwYXRoCisgICAgICB0aGF0IHRoZSBydW50aW1lIGxpbmtlciBtYXkgc2VhcmNoIGJ5IGRlZmF1bHQuCisKKworICAgLi4gbWV0aG9kOjogQ0NvbXBpbGVyLmRlZmluZV9tYWNybyhuYW1lWywgdmFsdWU9Tm9uZV0pCisKKyAgICAgIERlZmluZSBhIHByZXByb2Nlc3NvciBtYWNybyBmb3IgYWxsIGNvbXBpbGF0aW9ucyBkcml2ZW4gYnkgdGhpcyBjb21waWxlcgorICAgICAgb2JqZWN0LiBUaGUgb3B0aW9uYWwgcGFyYW1ldGVyICp2YWx1ZSogc2hvdWxkIGJlIGEgc3RyaW5nOyBpZiBpdCBpcyBub3QKKyAgICAgIHN1cHBsaWVkLCB0aGVuIHRoZSBtYWNybyB3aWxsIGJlIGRlZmluZWQgd2l0aG91dCBhbiBleHBsaWNpdCB2YWx1ZSBhbmQgdGhlCisgICAgICBleGFjdCBvdXRjb21lIGRlcGVuZHMgb24gdGhlIGNvbXBpbGVyIHVzZWQgKFhYWCB0cnVlPyBkb2VzIEFOU0kgc2F5CisgICAgICBhbnl0aGluZyBhYm91dCB0aGlzPykKKworCisgICAuLiBtZXRob2Q6OiBDQ29tcGlsZXIudW5kZWZpbmVfbWFjcm8obmFtZSkKKworICAgICAgVW5kZWZpbmUgYSBwcmVwcm9jZXNzb3IgbWFjcm8gZm9yIGFsbCBjb21waWxhdGlvbnMgZHJpdmVuIGJ5IHRoaXMgY29tcGlsZXIKKyAgICAgIG9iamVjdC4gIElmIHRoZSBzYW1lIG1hY3JvIGlzIGRlZmluZWQgYnkgOm1ldGg6YGRlZmluZV9tYWNyb2AgYW5kCisgICAgICB1bmRlZmluZWQgYnkgOm1ldGg6YHVuZGVmaW5lX21hY3JvYCB0aGUgbGFzdCBjYWxsIHRha2VzIHByZWNlZGVuY2UKKyAgICAgIChpbmNsdWRpbmcgbXVsdGlwbGUgcmVkZWZpbml0aW9ucyBvciB1bmRlZmluaXRpb25zKS4gIElmIHRoZSBtYWNybyBpcworICAgICAgcmVkZWZpbmVkL3VuZGVmaW5lZCBvbiBhIHBlci1jb21waWxhdGlvbiBiYXNpcyAoaS5lLiBpbiB0aGUgY2FsbCB0bworICAgICAgOm1ldGg6YGNvbXBpbGVgKSwgdGhlbiB0aGF0IHRha2VzIHByZWNlZGVuY2UuCisKKworICAgLi4gbWV0aG9kOjogQ0NvbXBpbGVyLmFkZF9saW5rX29iamVjdChvYmplY3QpCisKKyAgICAgIEFkZCAqb2JqZWN0KiB0byB0aGUgbGlzdCBvZiBvYmplY3QgZmlsZXMgKG9yIGFuYWxvZ3Vlcywgc3VjaCBhcyBleHBsaWNpdGx5CisgICAgICBuYW1lZCBsaWJyYXJ5IGZpbGVzIG9yIHRoZSBvdXRwdXQgb2YgInJlc291cmNlIGNvbXBpbGVycyIpIHRvIGJlIGluY2x1ZGVkCisgICAgICBpbiBldmVyeSBsaW5rIGRyaXZlbiBieSB0aGlzIGNvbXBpbGVyIG9iamVjdC4KKworCisgICAuLiBtZXRob2Q6OiBDQ29tcGlsZXIuc2V0X2xpbmtfb2JqZWN0cyhvYmplY3RzKQorCisgICAgICBTZXQgdGhlIGxpc3Qgb2Ygb2JqZWN0IGZpbGVzIChvciBhbmFsb2d1ZXMpIHRvIGJlIGluY2x1ZGVkIGluIGV2ZXJ5IGxpbmsKKyAgICAgIHRvICpvYmplY3RzKi4gIFRoaXMgZG9lcyBub3QgYWZmZWN0IGFueSBzdGFuZGFyZCBvYmplY3QgZmlsZXMgdGhhdCB0aGUKKyAgICAgIGxpbmtlciBtYXkgaW5jbHVkZSBieSBkZWZhdWx0IChzdWNoIGFzIHN5c3RlbSBsaWJyYXJpZXMpLgorCisgICBUaGUgZm9sbG93aW5nIG1ldGhvZHMgaW1wbGVtZW50IG1ldGhvZHMgZm9yIGF1dG9kZXRlY3Rpb24gb2YgY29tcGlsZXIKKyAgIG9wdGlvbnMsIHByb3ZpZGluZyBzb21lIGZ1bmN0aW9uYWxpdHkgc2ltaWxhciB0byBHTlUgOnByb2dyYW06YGF1dG9jb25mYC4KKworCisgICAuLiBtZXRob2Q6OiBDQ29tcGlsZXIuZGV0ZWN0X2xhbmd1YWdlKHNvdXJjZXMpCisKKyAgICAgIERldGVjdCB0aGUgbGFuZ3VhZ2Ugb2YgYSBnaXZlbiBmaWxlLCBvciBsaXN0IG9mIGZpbGVzLiBVc2VzIHRoZSBpbnN0YW5jZQorICAgICAgYXR0cmlidXRlcyA6YXR0cjpgbGFuZ3VhZ2VfbWFwYCAoYSBkaWN0aW9uYXJ5KSwgYW5kIDphdHRyOmBsYW5ndWFnZV9vcmRlcmAKKyAgICAgIChhIGxpc3QpIHRvIGRvIHRoZSBqb2IuCisKKworICAgLi4gbWV0aG9kOjogQ0NvbXBpbGVyLmZpbmRfbGlicmFyeV9maWxlKGRpcnMsIGxpYlssIGRlYnVnPTBdKQorCisgICAgICBTZWFyY2ggdGhlIHNwZWNpZmllZCBsaXN0IG9mIGRpcmVjdG9yaWVzIGZvciBhIHN0YXRpYyBvciBzaGFyZWQgbGlicmFyeSBmaWxlCisgICAgICAqbGliKiBhbmQgcmV0dXJuIHRoZSBmdWxsIHBhdGggdG8gdGhhdCBmaWxlLiAgSWYgKmRlYnVnKiBpcyB0cnVlLCBsb29rIGZvciBhCisgICAgICBkZWJ1Z2dpbmcgdmVyc2lvbiAoaWYgdGhhdCBtYWtlcyBzZW5zZSBvbiB0aGUgY3VycmVudCBwbGF0Zm9ybSkuICBSZXR1cm4KKyAgICAgIGBgTm9uZWBgIGlmICpsaWIqIHdhc24ndCBmb3VuZCBpbiBhbnkgb2YgdGhlIHNwZWNpZmllZCBkaXJlY3Rvcmllcy4KKworCisgICAuLiBtZXRob2Q6OiBDQ29tcGlsZXIuaGFzX2Z1bmN0aW9uKGZ1bmNuYW1lIFssIGluY2x1ZGVzPU5vbmUsIGluY2x1ZGVfZGlycz1Ob25lLCBsaWJyYXJpZXM9Tm9uZSwgbGlicmFyeV9kaXJzPU5vbmVdKQorCisgICAgICBSZXR1cm4gYSBib29sZWFuIGluZGljYXRpbmcgd2hldGhlciAqZnVuY25hbWUqIGlzIHN1cHBvcnRlZCBvbiB0aGUgY3VycmVudAorICAgICAgcGxhdGZvcm0uICBUaGUgb3B0aW9uYWwgYXJndW1lbnRzIGNhbiBiZSB1c2VkIHRvIGF1Z21lbnQgdGhlIGNvbXBpbGF0aW9uCisgICAgICBlbnZpcm9ubWVudCBieSBwcm92aWRpbmcgYWRkaXRpb25hbCBpbmNsdWRlIGZpbGVzIGFuZCBwYXRocyBhbmQgbGlicmFyaWVzIGFuZAorICAgICAgcGF0aHMuCisKKworICAgLi4gbWV0aG9kOjogQ0NvbXBpbGVyLmxpYnJhcnlfZGlyX29wdGlvbihkaXIpCisKKyAgICAgIFJldHVybiB0aGUgY29tcGlsZXIgb3B0aW9uIHRvIGFkZCAqZGlyKiB0byB0aGUgbGlzdCBvZiBkaXJlY3RvcmllcyBzZWFyY2hlZCBmb3IKKyAgICAgIGxpYnJhcmllcy4KKworCisgICAuLiBtZXRob2Q6OiBDQ29tcGlsZXIubGlicmFyeV9vcHRpb24obGliKQorCisgICAgICBSZXR1cm4gdGhlIGNvbXBpbGVyIG9wdGlvbiB0byBhZGQgKmRpciogdG8gdGhlIGxpc3Qgb2YgbGlicmFyaWVzIGxpbmtlZCBpbnRvIHRoZQorICAgICAgc2hhcmVkIGxpYnJhcnkgb3IgZXhlY3V0YWJsZS4KKworCisgICAuLiBtZXRob2Q6OiBDQ29tcGlsZXIucnVudGltZV9saWJyYXJ5X2Rpcl9vcHRpb24oZGlyKQorCisgICAgICBSZXR1cm4gdGhlIGNvbXBpbGVyIG9wdGlvbiB0byBhZGQgKmRpciogdG8gdGhlIGxpc3Qgb2YgZGlyZWN0b3JpZXMgc2VhcmNoZWQgZm9yCisgICAgICBydW50aW1lIGxpYnJhcmllcy4KKworCisgICAuLiBtZXRob2Q6OiBDQ29tcGlsZXIuc2V0X2V4ZWN1dGFibGVzKCoqYXJncykKKworICAgICAgRGVmaW5lIHRoZSBleGVjdXRhYmxlcyAoYW5kIG9wdGlvbnMgZm9yIHRoZW0pIHRoYXQgd2lsbCBiZSBydW4gdG8gcGVyZm9ybSB0aGUKKyAgICAgIHZhcmlvdXMgc3RhZ2VzIG9mIGNvbXBpbGF0aW9uLiAgVGhlIGV4YWN0IHNldCBvZiBleGVjdXRhYmxlcyB0aGF0IG1heSBiZQorICAgICAgc3BlY2lmaWVkIGhlcmUgZGVwZW5kcyBvbiB0aGUgY29tcGlsZXIgY2xhc3MgKHZpYSB0aGUgJ2V4ZWN1dGFibGVzJyBjbGFzcworICAgICAgYXR0cmlidXRlKSwgYnV0IG1vc3Qgd2lsbCBoYXZlOgorCisgICAgICArLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworICAgICAgfCBhdHRyaWJ1dGUgICAgfCBkZXNjcmlwdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICAgICs9PT09PT09PT09PT09PSs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0rCisgICAgICB8ICpjb21waWxlciogICB8IHRoZSBDL0MrKyBjb21waWxlciAgICAgICAgICAgICAgICAgICAgICAgfAorICAgICAgKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKKyAgICAgIHwgKmxpbmtlcl9zbyogIHwgbGlua2VyIHVzZWQgdG8gY3JlYXRlIHNoYXJlZCBvYmplY3RzIGFuZCB8CisgICAgICB8ICAgICAgICAgICAgICB8IGxpYnJhcmllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgICAgKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKKyAgICAgIHwgKmxpbmtlcl9leGUqIHwgbGlua2VyIHVzZWQgdG8gY3JlYXRlIGJpbmFyeSBleGVjdXRhYmxlcyB8CisgICAgICArLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworICAgICAgfCAqYXJjaGl2ZXIqICAgfCBzdGF0aWMgbGlicmFyeSBjcmVhdG9yICAgICAgICAgICAgICAgICAgIHwKKyAgICAgICstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCisKKyAgICAgIE9uIHBsYXRmb3JtcyB3aXRoIGEgY29tbWFuZCBsaW5lIChVbml4LCBET1MvV2luZG93cyksIGVhY2ggb2YgdGhlc2UgaXMgYSBzdHJpbmcKKyAgICAgIHRoYXQgd2lsbCBiZSBzcGxpdCBpbnRvIGV4ZWN1dGFibGUgbmFtZSBhbmQgKG9wdGlvbmFsKSBsaXN0IG9mIGFyZ3VtZW50cy4KKyAgICAgIChTcGxpdHRpbmcgdGhlIHN0cmluZyBpcyBkb25lIHNpbWlsYXJseSB0byBob3cgVW5peCBzaGVsbHMgb3BlcmF0ZTogd29yZHMgYXJlCisgICAgICBkZWxpbWl0ZWQgYnkgc3BhY2VzLCBidXQgcXVvdGVzIGFuZCBiYWNrc2xhc2hlcyBjYW4gb3ZlcnJpZGUgdGhpcy4gIFNlZQorICAgICAgOmZ1bmM6YHBhY2thZ2luZy51dGlsLnNwbGl0X3F1b3RlZGAuKQorCisgICBUaGUgZm9sbG93aW5nIG1ldGhvZHMgaW52b2tlIHN0YWdlcyBpbiB0aGUgYnVpbGQgcHJvY2Vzcy4KKworCisgICAuLiBtZXRob2Q6OiBDQ29tcGlsZXIuY29tcGlsZShzb3VyY2VzWywgb3V0cHV0X2Rpcj1Ob25lLCBtYWNyb3M9Tm9uZSwgaW5jbHVkZV9kaXJzPU5vbmUsIGRlYnVnPTAsIGV4dHJhX3ByZWFyZ3M9Tm9uZSwgZXh0cmFfcG9zdGFyZ3M9Tm9uZSwgZGVwZW5kcz1Ob25lXSkKKworICAgICAgQ29tcGlsZSBvbmUgb3IgbW9yZSBzb3VyY2UgZmlsZXMuIEdlbmVyYXRlcyBvYmplY3QgZmlsZXMgKGUuZy4gdHJhbnNmb3JtcyBhCisgICAgICA6ZmlsZTpgLmNgIGZpbGUgdG8gYSA6ZmlsZTpgLm9gIGZpbGUuKQorCisgICAgICAqc291cmNlcyogbXVzdCBiZSBhIGxpc3Qgb2YgZmlsZW5hbWVzLCBtb3N0IGxpa2VseSBDL0MrKyBmaWxlcywgYnV0IGluIHJlYWxpdHkKKyAgICAgIGFueXRoaW5nIHRoYXQgY2FuIGJlIGhhbmRsZWQgYnkgYSBwYXJ0aWN1bGFyIGNvbXBpbGVyIGFuZCBjb21waWxlciBjbGFzcyAoZS5nLgorICAgICAgYW4gYGAnbXN2YydgYCBjb21waWxlciBjYW4gaGFuZGxlIHJlc291cmNlIGZpbGVzIGluICpzb3VyY2VzKikuICBSZXR1cm4gYSBsaXN0IG9mCisgICAgICBvYmplY3QgZmlsZW5hbWVzLCBvbmUgcGVyIHNvdXJjZSBmaWxlbmFtZSBpbiAqc291cmNlcyouICBEZXBlbmRpbmcgb24gdGhlCisgICAgICBpbXBsZW1lbnRhdGlvbiwgbm90IGFsbCBzb3VyY2UgZmlsZXMgd2lsbCBuZWNlc3NhcmlseSBiZSBjb21waWxlZCwgYnV0IGFsbAorICAgICAgY29ycmVzcG9uZGluZyBvYmplY3QgZmlsZW5hbWVzIHdpbGwgYmUgcmV0dXJuZWQuCisKKyAgICAgIElmICpvdXRwdXRfZGlyKiBpcyBnaXZlbiwgb2JqZWN0IGZpbGVzIHdpbGwgYmUgcHV0IHVuZGVyIGl0LCB3aGlsZSByZXRhaW5pbmcKKyAgICAgIHRoZWlyIG9yaWdpbmFsIHBhdGggY29tcG9uZW50LiAgVGhhdCBpcywgOmZpbGU6YGZvby9iYXIuY2Agbm9ybWFsbHkgY29tcGlsZXMgdG8KKyAgICAgIDpmaWxlOmBmb28vYmFyLm9gIChmb3IgYSBVbml4IGltcGxlbWVudGF0aW9uKTsgaWYgKm91dHB1dF9kaXIqIGlzICpidWlsZCosIHRoZW4KKyAgICAgIGl0IHdvdWxkIGNvbXBpbGUgdG8gOmZpbGU6YGJ1aWxkL2Zvby9iYXIub2AuCisKKyAgICAgICptYWNyb3MqLCBpZiBnaXZlbiwgbXVzdCBiZSBhIGxpc3Qgb2YgbWFjcm8gZGVmaW5pdGlvbnMuICBBIG1hY3JvIGRlZmluaXRpb24gaXMKKyAgICAgIGVpdGhlciBhIGBgKG5hbWUsIHZhbHVlKWBgIDItdHVwbGUgb3IgYSBgYChuYW1lLClgYCAxLXR1cGxlLiBUaGUgZm9ybWVyIGRlZmluZXMKKyAgICAgIGEgbWFjcm87IGlmIHRoZSB2YWx1ZSBpcyBgYE5vbmVgYCwgdGhlIG1hY3JvIGlzIGRlZmluZWQgd2l0aG91dCBhbiBleHBsaWNpdAorICAgICAgdmFsdWUuICBUaGUgMS10dXBsZSBjYXNlIHVuZGVmaW5lcyBhIG1hY3JvLiAgTGF0ZXIKKyAgICAgIGRlZmluaXRpb25zL3JlZGVmaW5pdGlvbnMvdW5kZWZpbml0aW9ucyB0YWtlIHByZWNlZGVuY2UuCisKKyAgICAgICppbmNsdWRlX2RpcnMqLCBpZiBnaXZlbiwgbXVzdCBiZSBhIGxpc3Qgb2Ygc3RyaW5ncywgdGhlIGRpcmVjdG9yaWVzIHRvIGFkZCB0bworICAgICAgdGhlIGRlZmF1bHQgaW5jbHVkZSBmaWxlIHNlYXJjaCBwYXRoIGZvciB0aGlzIGNvbXBpbGF0aW9uIG9ubHkuCisKKyAgICAgICpkZWJ1ZyogaXMgYSBib29sZWFuOyBpZiB0cnVlLCB0aGUgY29tcGlsZXIgd2lsbCBiZSBpbnN0cnVjdGVkIHRvIG91dHB1dCBkZWJ1ZworICAgICAgc3ltYm9scyBpbiAob3IgYWxvbmdzaWRlKSB0aGUgb2JqZWN0IGZpbGUocykuCisKKyAgICAgICpleHRyYV9wcmVhcmdzKiBhbmQgKmV4dHJhX3Bvc3RhcmdzKiBhcmUgaW1wbGVtZW50YXRpb24tZGVwZW5kZW50LiBPbiBwbGF0Zm9ybXMKKyAgICAgIHRoYXQgaGF2ZSB0aGUgbm90aW9uIG9mIGEgY29tbWFuZCBsaW5lIChlLmcuIFVuaXgsIERPUy9XaW5kb3dzKSwgdGhleSBhcmUgbW9zdAorICAgICAgbGlrZWx5IGxpc3RzIG9mIHN0cmluZ3M6IGV4dHJhIGNvbW1hbmQtbGluZSBhcmd1bWVudHMgdG8gcHJlcGVuZC9hcHBlbmQgdG8gdGhlCisgICAgICBjb21waWxlciBjb21tYW5kIGxpbmUuICBPbiBvdGhlciBwbGF0Zm9ybXMsIGNvbnN1bHQgdGhlIGltcGxlbWVudGF0aW9uIGNsYXNzCisgICAgICBkb2N1bWVudGF0aW9uLiAgSW4gYW55IGV2ZW50LCB0aGV5IGFyZSBpbnRlbmRlZCBhcyBhbiBlc2NhcGUgaGF0Y2ggZm9yIHRob3NlCisgICAgICBvY2Nhc2lvbnMgd2hlbiB0aGUgYWJzdHJhY3QgY29tcGlsZXIgZnJhbWV3b3JrIGRvZXNuJ3QgY3V0IHRoZSBtdXN0YXJkLgorCisgICAgICAqZGVwZW5kcyosIGlmIGdpdmVuLCBpcyBhIGxpc3Qgb2YgZmlsZW5hbWVzIHRoYXQgYWxsIHRhcmdldHMgZGVwZW5kIG9uLiAgSWYgYQorICAgICAgc291cmNlIGZpbGUgaXMgb2xkZXIgdGhhbiBhbnkgZmlsZSBpbiBkZXBlbmRzLCB0aGVuIHRoZSBzb3VyY2UgZmlsZSB3aWxsIGJlCisgICAgICByZWNvbXBpbGVkLiAgVGhpcyBzdXBwb3J0cyBkZXBlbmRlbmN5IHRyYWNraW5nLCBidXQgb25seSBhdCBhIGNvYXJzZQorICAgICAgZ3JhbnVsYXJpdHkuCisKKyAgICAgIFJhaXNlcyA6ZXhjOmBDb21waWxlRXJyb3JgIG9uIGZhaWx1cmUuCisKKworICAgLi4gbWV0aG9kOjogQ0NvbXBpbGVyLmNyZWF0ZV9zdGF0aWNfbGliKG9iamVjdHMsIG91dHB1dF9saWJuYW1lWywgb3V0cHV0X2Rpcj1Ob25lLCBkZWJ1Zz0wLCB0YXJnZXRfbGFuZz1Ob25lXSkKKworICAgICAgTGluayBhIGJ1bmNoIG9mIHN0dWZmIHRvZ2V0aGVyIHRvIGNyZWF0ZSBhIHN0YXRpYyBsaWJyYXJ5IGZpbGUuIFRoZSAiYnVuY2ggb2YKKyAgICAgIHN0dWZmIiBjb25zaXN0cyBvZiB0aGUgbGlzdCBvZiBvYmplY3QgZmlsZXMgc3VwcGxpZWQgYXMgKm9iamVjdHMqLCB0aGUgZXh0cmEKKyAgICAgIG9iamVjdCBmaWxlcyBzdXBwbGllZCB0byA6bWV0aDpgYWRkX2xpbmtfb2JqZWN0YCBhbmQvb3IKKyAgICAgIDptZXRoOmBzZXRfbGlua19vYmplY3RzYCwgdGhlIGxpYnJhcmllcyBzdXBwbGllZCB0byA6bWV0aDpgYWRkX2xpYnJhcnlgIGFuZC9vcgorICAgICAgOm1ldGg6YHNldF9saWJyYXJpZXNgLCBhbmQgdGhlIGxpYnJhcmllcyBzdXBwbGllZCBhcyAqbGlicmFyaWVzKiAoaWYgYW55KS4KKworICAgICAgKm91dHB1dF9saWJuYW1lKiBzaG91bGQgYmUgYSBsaWJyYXJ5IG5hbWUsIG5vdCBhIGZpbGVuYW1lOyB0aGUgZmlsZW5hbWUgd2lsbCBiZQorICAgICAgaW5mZXJyZWQgZnJvbSB0aGUgbGlicmFyeSBuYW1lLiAgKm91dHB1dF9kaXIqIGlzIHRoZSBkaXJlY3Rvcnkgd2hlcmUgdGhlIGxpYnJhcnkKKyAgICAgIGZpbGUgd2lsbCBiZSBwdXQuIFhYWCBkZWZhdWx0cyB0byB3aGF0PworCisgICAgICAqZGVidWcqIGlzIGEgYm9vbGVhbjsgaWYgdHJ1ZSwgZGVidWdnaW5nIGluZm9ybWF0aW9uIHdpbGwgYmUgaW5jbHVkZWQgaW4gdGhlCisgICAgICBsaWJyYXJ5IChub3RlIHRoYXQgb24gbW9zdCBwbGF0Zm9ybXMsIGl0IGlzIHRoZSBjb21waWxlIHN0ZXAgd2hlcmUgdGhpcyBtYXR0ZXJzOgorICAgICAgdGhlICpkZWJ1ZyogZmxhZyBpcyBpbmNsdWRlZCBoZXJlIGp1c3QgZm9yIGNvbnNpc3RlbmN5KS4KKworICAgICAgKnRhcmdldF9sYW5nKiBpcyB0aGUgdGFyZ2V0IGxhbmd1YWdlIGZvciB3aGljaCB0aGUgZ2l2ZW4gb2JqZWN0cyBhcmUgYmVpbmcKKyAgICAgIGNvbXBpbGVkLiBUaGlzIGFsbG93cyBzcGVjaWZpYyBsaW5rYWdlIHRpbWUgdHJlYXRtZW50IG9mIGNlcnRhaW4gbGFuZ3VhZ2VzLgorCisgICAgICBSYWlzZXMgOmV4YzpgTGliRXJyb3JgIG9uIGZhaWx1cmUuCisKKworICAgLi4gbWV0aG9kOjogQ0NvbXBpbGVyLmxpbmsodGFyZ2V0X2Rlc2MsIG9iamVjdHMsIG91dHB1dF9maWxlbmFtZVssIG91dHB1dF9kaXI9Tm9uZSwgbGlicmFyaWVzPU5vbmUsIGxpYnJhcnlfZGlycz1Ob25lLCBydW50aW1lX2xpYnJhcnlfZGlycz1Ob25lLCBleHBvcnRfc3ltYm9scz1Ob25lLCBkZWJ1Zz0wLCBleHRyYV9wcmVhcmdzPU5vbmUsIGV4dHJhX3Bvc3RhcmdzPU5vbmUsIGJ1aWxkX3RlbXA9Tm9uZSwgdGFyZ2V0X2xhbmc9Tm9uZV0pCisKKyAgICAgIExpbmsgYSBidW5jaCBvZiBzdHVmZiB0b2dldGhlciB0byBjcmVhdGUgYW4gZXhlY3V0YWJsZSBvciBzaGFyZWQgbGlicmFyeSBmaWxlLgorCisgICAgICBUaGUgImJ1bmNoIG9mIHN0dWZmIiBjb25zaXN0cyBvZiB0aGUgbGlzdCBvZiBvYmplY3QgZmlsZXMgc3VwcGxpZWQgYXMgKm9iamVjdHMqLgorICAgICAgKm91dHB1dF9maWxlbmFtZSogc2hvdWxkIGJlIGEgZmlsZW5hbWUuICBJZiAqb3V0cHV0X2RpciogaXMgc3VwcGxpZWQsCisgICAgICAqb3V0cHV0X2ZpbGVuYW1lKiBpcyByZWxhdGl2ZSB0byBpdCAoaS5lLiAqb3V0cHV0X2ZpbGVuYW1lKiBjYW4gcHJvdmlkZQorICAgICAgZGlyZWN0b3J5IGNvbXBvbmVudHMgaWYgbmVlZGVkKS4KKworICAgICAgKmxpYnJhcmllcyogaXMgYSBsaXN0IG9mIGxpYnJhcmllcyB0byBsaW5rIGFnYWluc3QuICBUaGVzZSBhcmUgbGlicmFyeSBuYW1lcywKKyAgICAgIG5vdCBmaWxlbmFtZXMsIHNpbmNlIHRoZXkncmUgdHJhbnNsYXRlZCBpbnRvIGZpbGVuYW1lcyBpbiBhIHBsYXRmb3JtLXNwZWNpZmljCisgICAgICB3YXkgKGUuZy4gKmZvbyogYmVjb21lcyA6ZmlsZTpgbGliZm9vLmFgIG9uIFVuaXggYW5kIDpmaWxlOmBmb28ubGliYCBvbgorICAgICAgRE9TL1dpbmRvd3MpLiAgSG93ZXZlciwgdGhleSBjYW4gaW5jbHVkZSBhIGRpcmVjdG9yeSBjb21wb25lbnQsIHdoaWNoIG1lYW5zIHRoZQorICAgICAgbGlua2VyIHdpbGwgbG9vayBpbiB0aGF0IHNwZWNpZmljIGRpcmVjdG9yeSByYXRoZXIgdGhhbiBzZWFyY2hpbmcgYWxsIHRoZSBub3JtYWwKKyAgICAgIGxvY2F0aW9ucy4KKworICAgICAgKmxpYnJhcnlfZGlycyosIGlmIHN1cHBsaWVkLCBzaG91bGQgYmUgYSBsaXN0IG9mIGRpcmVjdG9yaWVzIHRvIHNlYXJjaCBmb3IKKyAgICAgIGxpYnJhcmllcyB0aGF0IHdlcmUgc3BlY2lmaWVkIGFzIGJhcmUgbGlicmFyeSBuYW1lcyAoaS5lLiBubyBkaXJlY3RvcnkKKyAgICAgIGNvbXBvbmVudCkuICBUaGVzZSBhcmUgb24gdG9wIG9mIHRoZSBzeXN0ZW0gZGVmYXVsdCBhbmQgdGhvc2Ugc3VwcGxpZWQgdG8KKyAgICAgIDptZXRoOmBhZGRfbGlicmFyeV9kaXJgIGFuZC9vciA6bWV0aDpgc2V0X2xpYnJhcnlfZGlyc2AuICAqcnVudGltZV9saWJyYXJ5X2RpcnMqCisgICAgICBpcyBhIGxpc3Qgb2YgZGlyZWN0b3JpZXMgdGhhdCB3aWxsIGJlIGVtYmVkZGVkIGludG8gdGhlIHNoYXJlZCBsaWJyYXJ5IGFuZCB1c2VkCisgICAgICB0byBzZWFyY2ggZm9yIG90aGVyIHNoYXJlZCBsaWJyYXJpZXMgdGhhdCBcKml0XCogZGVwZW5kcyBvbiBhdCBydW4tdGltZS4gIChUaGlzCisgICAgICBtYXkgb25seSBiZSByZWxldmFudCBvbiBVbml4LikKKworICAgICAgKmV4cG9ydF9zeW1ib2xzKiBpcyBhIGxpc3Qgb2Ygc3ltYm9scyB0aGF0IHRoZSBzaGFyZWQgbGlicmFyeSB3aWxsIGV4cG9ydC4KKyAgICAgIChUaGlzIGFwcGVhcnMgdG8gYmUgcmVsZXZhbnQgb25seSBvbiBXaW5kb3dzLikKKworICAgICAgKmRlYnVnKiBpcyBhcyBmb3IgOm1ldGg6YGNvbXBpbGVgIGFuZCA6bWV0aDpgY3JlYXRlX3N0YXRpY19saWJgLCB3aXRoIHRoZQorICAgICAgc2xpZ2h0IGRpc3RpbmN0aW9uIHRoYXQgaXQgYWN0dWFsbHkgbWF0dGVycyBvbiBtb3N0IHBsYXRmb3JtcyAoYXMgb3Bwb3NlZCB0bworICAgICAgOm1ldGg6YGNyZWF0ZV9zdGF0aWNfbGliYCwgd2hpY2ggaW5jbHVkZXMgYSAqZGVidWcqIGZsYWcgbW9zdGx5IGZvciBmb3JtJ3MKKyAgICAgIHNha2UpLgorCisgICAgICAqZXh0cmFfcHJlYXJncyogYW5kICpleHRyYV9wb3N0YXJncyogYXJlIGFzIGZvciA6bWV0aDpgY29tcGlsZWAgKGV4Y2VwdCBvZgorICAgICAgY291cnNlIHRoYXQgdGhleSBzdXBwbHkgY29tbWFuZC1saW5lIGFyZ3VtZW50cyBmb3IgdGhlIHBhcnRpY3VsYXIgbGlua2VyIGJlaW5nCisgICAgICB1c2VkKS4KKworICAgICAgKnRhcmdldF9sYW5nKiBpcyB0aGUgdGFyZ2V0IGxhbmd1YWdlIGZvciB3aGljaCB0aGUgZ2l2ZW4gb2JqZWN0cyBhcmUgYmVpbmcKKyAgICAgIGNvbXBpbGVkLiBUaGlzIGFsbG93cyBzcGVjaWZpYyBsaW5rYWdlIHRpbWUgdHJlYXRtZW50IG9mIGNlcnRhaW4gbGFuZ3VhZ2VzLgorCisgICAgICBSYWlzZXMgOmV4YzpgTGlua0Vycm9yYCBvbiBmYWlsdXJlLgorCisKKyAgIC4uIG1ldGhvZDo6IENDb21waWxlci5saW5rX2V4ZWN1dGFibGUob2JqZWN0cywgb3V0cHV0X3Byb2duYW1lWywgb3V0cHV0X2Rpcj1Ob25lLCBsaWJyYXJpZXM9Tm9uZSwgbGlicmFyeV9kaXJzPU5vbmUsIHJ1bnRpbWVfbGlicmFyeV9kaXJzPU5vbmUsIGRlYnVnPTAsIGV4dHJhX3ByZWFyZ3M9Tm9uZSwgZXh0cmFfcG9zdGFyZ3M9Tm9uZSwgdGFyZ2V0X2xhbmc9Tm9uZV0pCisKKyAgICAgIExpbmsgYW4gZXhlY3V0YWJsZS4gICpvdXRwdXRfcHJvZ25hbWUqIGlzIHRoZSBuYW1lIG9mIHRoZSBmaWxlIGV4ZWN1dGFibGUsIHdoaWxlCisgICAgICAqb2JqZWN0cyogYXJlIGEgbGlzdCBvZiBvYmplY3QgZmlsZW5hbWVzIHRvIGxpbmsgaW4uIE90aGVyIGFyZ3VtZW50cyBhcmUgYXMgZm9yCisgICAgICB0aGUgOm1ldGg6YGxpbmtgIG1ldGhvZC4KKworCisgICAuLiBtZXRob2Q6OiBDQ29tcGlsZXIubGlua19zaGFyZWRfbGliKG9iamVjdHMsIG91dHB1dF9saWJuYW1lWywgb3V0cHV0X2Rpcj1Ob25lLCBsaWJyYXJpZXM9Tm9uZSwgbGlicmFyeV9kaXJzPU5vbmUsIHJ1bnRpbWVfbGlicmFyeV9kaXJzPU5vbmUsIGV4cG9ydF9zeW1ib2xzPU5vbmUsIGRlYnVnPTAsIGV4dHJhX3ByZWFyZ3M9Tm9uZSwgZXh0cmFfcG9zdGFyZ3M9Tm9uZSwgYnVpbGRfdGVtcD1Ob25lLCB0YXJnZXRfbGFuZz1Ob25lXSkKKworICAgICAgTGluayBhIHNoYXJlZCBsaWJyYXJ5LiAqb3V0cHV0X2xpYm5hbWUqIGlzIHRoZSBuYW1lIG9mIHRoZSBvdXRwdXQgbGlicmFyeSwKKyAgICAgIHdoaWxlICpvYmplY3RzKiBpcyBhIGxpc3Qgb2Ygb2JqZWN0IGZpbGVuYW1lcyB0byBsaW5rIGluLiBPdGhlciBhcmd1bWVudHMgYXJlCisgICAgICBhcyBmb3IgdGhlIDptZXRoOmBsaW5rYCBtZXRob2QuCisKKworICAgLi4gbWV0aG9kOjogQ0NvbXBpbGVyLmxpbmtfc2hhcmVkX29iamVjdChvYmplY3RzLCBvdXRwdXRfZmlsZW5hbWVbLCBvdXRwdXRfZGlyPU5vbmUsIGxpYnJhcmllcz1Ob25lLCBsaWJyYXJ5X2RpcnM9Tm9uZSwgcnVudGltZV9saWJyYXJ5X2RpcnM9Tm9uZSwgZXhwb3J0X3N5bWJvbHM9Tm9uZSwgZGVidWc9MCwgZXh0cmFfcHJlYXJncz1Ob25lLCBleHRyYV9wb3N0YXJncz1Ob25lLCBidWlsZF90ZW1wPU5vbmUsIHRhcmdldF9sYW5nPU5vbmVdKQorCisgICAgICBMaW5rIGEgc2hhcmVkIG9iamVjdC4gKm91dHB1dF9maWxlbmFtZSogaXMgdGhlIG5hbWUgb2YgdGhlIHNoYXJlZCBvYmplY3QgdGhhdAorICAgICAgd2lsbCBiZSBjcmVhdGVkLCB3aGlsZSAqb2JqZWN0cyogaXMgYSBsaXN0IG9mIG9iamVjdCBmaWxlbmFtZXMgdG8gbGluayBpbi4KKyAgICAgIE90aGVyIGFyZ3VtZW50cyBhcmUgYXMgZm9yIHRoZSA6bWV0aDpgbGlua2AgbWV0aG9kLgorCisKKyAgIC4uIG1ldGhvZDo6IENDb21waWxlci5wcmVwcm9jZXNzKHNvdXJjZVssIG91dHB1dF9maWxlPU5vbmUsIG1hY3Jvcz1Ob25lLCBpbmNsdWRlX2RpcnM9Tm9uZSwgZXh0cmFfcHJlYXJncz1Ob25lLCBleHRyYV9wb3N0YXJncz1Ob25lXSkKKworICAgICAgUHJlcHJvY2VzcyBhIHNpbmdsZSBDL0MrKyBzb3VyY2UgZmlsZSwgbmFtZWQgaW4gKnNvdXJjZSouIE91dHB1dCB3aWxsIGJlIHdyaXR0ZW4KKyAgICAgIHRvIGZpbGUgbmFtZWQgKm91dHB1dF9maWxlKiwgb3IgKnN0ZG91dCogaWYgKm91dHB1dF9maWxlKiBub3Qgc3VwcGxpZWQuCisgICAgICAqbWFjcm9zKiBpcyBhIGxpc3Qgb2YgbWFjcm8gZGVmaW5pdGlvbnMgYXMgZm9yIDptZXRoOmBjb21waWxlYCwgd2hpY2ggd2lsbAorICAgICAgYXVnbWVudCB0aGUgbWFjcm9zIHNldCB3aXRoIDptZXRoOmBkZWZpbmVfbWFjcm9gIGFuZCA6bWV0aDpgdW5kZWZpbmVfbWFjcm9gLgorICAgICAgKmluY2x1ZGVfZGlycyogaXMgYSBsaXN0IG9mIGRpcmVjdG9yeSBuYW1lcyB0aGF0IHdpbGwgYmUgYWRkZWQgdG8gdGhlIGRlZmF1bHQKKyAgICAgIGxpc3QsIGluIHRoZSBzYW1lIHdheSBhcyA6bWV0aDpgYWRkX2luY2x1ZGVfZGlyYC4KKworICAgICAgUmFpc2VzIDpleGM6YFByZXByb2Nlc3NFcnJvcmAgb24gZmFpbHVyZS4KKworICAgVGhlIGZvbGxvd2luZyB1dGlsaXR5IG1ldGhvZHMgYXJlIGRlZmluZWQgYnkgdGhlIDpjbGFzczpgQ0NvbXBpbGVyYCBjbGFzcywgZm9yCisgICB1c2UgYnkgdGhlIHZhcmlvdXMgY29uY3JldGUgc3ViY2xhc3Nlcy4KKworCisgICAuLiBtZXRob2Q6OiBDQ29tcGlsZXIuZXhlY3V0YWJsZV9maWxlbmFtZShiYXNlbmFtZVssIHN0cmlwX2Rpcj0wLCBvdXRwdXRfZGlyPScnXSkKKworICAgICAgUmV0dXJucyB0aGUgZmlsZW5hbWUgb2YgdGhlIGV4ZWN1dGFibGUgZm9yIHRoZSBnaXZlbiAqYmFzZW5hbWUqLiAgVHlwaWNhbGx5IGZvcgorICAgICAgbm9uLVdpbmRvd3MgcGxhdGZvcm1zIHRoaXMgaXMgdGhlIHNhbWUgYXMgdGhlIGJhc2VuYW1lLCB3aGlsZSBXaW5kb3dzIHdpbGwgZ2V0CisgICAgICBhIDpmaWxlOmAuZXhlYCBhZGRlZC4KKworCisgICAuLiBtZXRob2Q6OiBDQ29tcGlsZXIubGlicmFyeV9maWxlbmFtZShsaWJuYW1lWywgbGliX3R5cGU9J3N0YXRpYycsIHN0cmlwX2Rpcj0wLCBvdXRwdXRfZGlyPScnXSkKKworICAgICAgUmV0dXJucyB0aGUgZmlsZW5hbWUgZm9yIHRoZSBnaXZlbiBsaWJyYXJ5IG5hbWUgb24gdGhlIGN1cnJlbnQgcGxhdGZvcm0uIE9uIFVuaXgKKyAgICAgIGEgbGlicmFyeSB3aXRoICpsaWJfdHlwZSogb2YgYGAnc3RhdGljJ2BgIHdpbGwgdHlwaWNhbGx5IGJlIG9mIHRoZSBmb3JtCisgICAgICA6ZmlsZTpgbGlibGlibmFtZS5hYCwgd2hpbGUgYSAqbGliX3R5cGUqIG9mIGBgJ2R5bmFtaWMnYGAgd2lsbCBiZSBvZiB0aGUgZm9ybQorICAgICAgOmZpbGU6YGxpYmxpYm5hbWUuc29gLgorCisKKyAgIC4uIG1ldGhvZDo6IENDb21waWxlci5vYmplY3RfZmlsZW5hbWVzKHNvdXJjZV9maWxlbmFtZXNbLCBzdHJpcF9kaXI9MCwgb3V0cHV0X2Rpcj0nJ10pCisKKyAgICAgIFJldHVybnMgdGhlIG5hbWUgb2YgdGhlIG9iamVjdCBmaWxlcyBmb3IgdGhlIGdpdmVuIHNvdXJjZSBmaWxlcy4KKyAgICAgICpzb3VyY2VfZmlsZW5hbWVzKiBzaG91bGQgYmUgYSBsaXN0IG9mIGZpbGVuYW1lcy4KKworCisgICAuLiBtZXRob2Q6OiBDQ29tcGlsZXIuc2hhcmVkX29iamVjdF9maWxlbmFtZShiYXNlbmFtZVssIHN0cmlwX2Rpcj0wLCBvdXRwdXRfZGlyPScnXSkKKworICAgICAgUmV0dXJucyB0aGUgbmFtZSBvZiBhIHNoYXJlZCBvYmplY3QgZmlsZSBmb3IgdGhlIGdpdmVuIGZpbGUgbmFtZSAqYmFzZW5hbWUqLgorCisKKyAgIC4uIG1ldGhvZDo6IENDb21waWxlci5leGVjdXRlKGZ1bmMsIGFyZ3NbLCBtc2c9Tm9uZSwgbGV2ZWw9MV0pCisKKyAgICAgIEludm9rZXMgOmZ1bmM6YHBhY2thZ2luZy51dGlsLmV4ZWN1dGVgIFRoaXMgbWV0aG9kIGludm9rZXMgYSBQeXRob24gZnVuY3Rpb24KKyAgICAgICpmdW5jKiB3aXRoIHRoZSBnaXZlbiBhcmd1bWVudHMgKmFyZ3MqLCBhZnRlciBsb2dnaW5nIGFuZCB0YWtpbmcgaW50byBhY2NvdW50CisgICAgICB0aGUgKmRyeV9ydW4qIGZsYWcuIFhYWCBzZWUgYWxzby4KKworCisgICAuLiBtZXRob2Q6OiBDQ29tcGlsZXIuc3Bhd24oY21kKQorCisgICAgICBJbnZva2VzIDpmdW5jOmBwYWNrYWdpbmcudXRpbC5zcGF3bmAuIFRoaXMgaW52b2tlcyBhbiBleHRlcm5hbCBwcm9jZXNzIHRvIHJ1bgorICAgICAgdGhlIGdpdmVuIGNvbW1hbmQuIFhYWCBzZWUgYWxzby4KKworCisgICAuLiBtZXRob2Q6OiBDQ29tcGlsZXIubWtwYXRoKG5hbWVbLCBtb2RlPTUxMV0pCisKKyAgICAgIEludm9rZXMgOmZ1bmM6YHBhY2thZ2luZy5kaXJfdXRpbC5ta3BhdGhgLiBUaGlzIGNyZWF0ZXMgYSBkaXJlY3RvcnkgYW5kIGFueQorICAgICAgbWlzc2luZyBhbmNlc3RvciBkaXJlY3Rvcmllcy4gWFhYIHNlZSBhbHNvLgorCisKKyAgIC4uIG1ldGhvZDo6IENDb21waWxlci5tb3ZlX2ZpbGUoc3JjLCBkc3QpCisKKyAgICAgIEludm9rZXMgOm1ldGg6YHBhY2thZ2luZy5maWxlX3V0aWwubW92ZV9maWxlYC4gUmVuYW1lcyAqc3JjKiB0byAqZHN0Ki4gIFhYWCBzZWUKKyAgICAgIGFsc28uCisKKworOm1vZDpgcGFja2FnaW5nLmNvbXBpbGVyLmV4dGVuc2lvbmAgLS0tIFRoZSBFeHRlbnNpb24gY2xhc3MKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKKy4uIG1vZHVsZTo6IHBhY2thZ2luZy5jb21waWxlci5leHRlbnNpb24KKyAgIDpzeW5vcHNpczogQ2xhc3MgdXNlZCB0byByZXByZXNlbnQgQy9DKysgZXh0ZW5zaW9uIG1vZHVsZXMuCisKKworVGhpcyBtb2R1bGUgcHJvdmlkZXMgdGhlIDpjbGFzczpgRXh0ZW5zaW9uYCBjbGFzcywgdXNlZCB0byByZXByZXNlbnQgQy9DKysKK2V4dGVuc2lvbiBtb2R1bGVzLgorCisuLiBjbGFzczo6IEV4dGVuc2lvbgorCisgICBUaGUgRXh0ZW5zaW9uIGNsYXNzIGRlc2NyaWJlcyBhIHNpbmdsZSBDIG9yIEMrKyBleHRlbnNpb24gbW9kdWxlLiAgSXQgYWNjZXB0cworICAgdGhlIGZvbGxvd2luZyBrZXl3b3JkIGFyZ3VtZW50cyBpbiBpdHMgY29uc3RydWN0b3I6CisKKyAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworICAgfCBhcmd1bWVudCBuYW1lICAgICAgICAgIHwgdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgIHwgdHlwZSAgICAgICAgICAgICAgICAgICAgICB8CisgICArPT09PT09PT09PT09PT09PT09PT09PT09Kz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Kz09PT09PT09PT09PT09PT09PT09PT09PT09PSsKKyAgIHwgKm5hbWUqICAgICAgICAgICAgICAgICB8IHRoZSBmdWxsIG5hbWUgb2YgdGhlICAgICAgICAgICB8IHN0cmluZyAgICAgICAgICAgICAgICAgICAgfAorICAgfCAgICAgICAgICAgICAgICAgICAgICAgIHwgZXh0ZW5zaW9uLCBpbmNsdWRpbmcgYW55ICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICB8ICAgICAgICAgICAgICAgICAgICAgICAgfCBwYWNrYWdlcyAtLS0gaS5lLiAqbm90KiBhICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgIHwgICAgICAgICAgICAgICAgICAgICAgICB8IGZpbGVuYW1lIG9yIHBhdGhuYW1lLCBidXQgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgfCAgICAgICAgICAgICAgICAgICAgICAgIHwgUHl0aG9uIGRvdHRlZCBuYW1lICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKKyAgIHwgKnNvdXJjZXMqICAgICAgICAgICAgICB8IGxpc3Qgb2Ygc291cmNlIGZpbGVuYW1lcywgICAgICB8IGxpc3Qgb2Ygc3RyaW5ncyAgICAgICAgICAgfAorICAgfCAgICAgICAgICAgICAgICAgICAgICAgIHwgcmVsYXRpdmUgdG8gdGhlIGRpc3RyaWJ1dGlvbiAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICB8ICAgICAgICAgICAgICAgICAgICAgICAgfCByb290ICh3aGVyZSB0aGUgc2V0dXAgc2NyaXB0ICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgIHwgICAgICAgICAgICAgICAgICAgICAgICB8IGxpdmVzKSwgaW4gVW5peCBmb3JtIChzbGFzaC0gICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgfCAgICAgICAgICAgICAgICAgICAgICAgIHwgc2VwYXJhdGVkKSBmb3IgcG9ydGFiaWxpdHkuICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICB8ICAgICAgICAgICAgICAgICAgICAgICAgfCBTb3VyY2UgZmlsZXMgbWF5IGJlIEMsIEMrKywgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgIHwgICAgICAgICAgICAgICAgICAgICAgICB8IFNXSUcgKC5pKSwgcGxhdGZvcm0tc3BlY2lmaWMgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgfCAgICAgICAgICAgICAgICAgICAgICAgIHwgcmVzb3VyY2UgZmlsZXMsIG9yIHdoYXRldmVyICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICB8ICAgICAgICAgICAgICAgICAgICAgICAgfCBlbHNlIGlzIHJlY29nbml6ZWQgYnkgdGhlICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgIHwgICAgICAgICAgICAgICAgICAgICAgICB8IDpjb21tYW5kOmBidWlsZF9leHRgIGNvbW1hbmQgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgfCAgICAgICAgICAgICAgICAgICAgICAgIHwgYXMgc291cmNlIGZvciBhIFB5dGhvbiAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICB8ICAgICAgICAgICAgICAgICAgICAgICAgfCBleHRlbnNpb24uICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworICAgfCAqaW5jbHVkZV9kaXJzKiAgICAgICAgIHwgbGlzdCBvZiBkaXJlY3RvcmllcyB0byBzZWFyY2ggIHwgbGlzdCBvZiBzdHJpbmdzICAgICAgICAgICB8CisgICB8ICAgICAgICAgICAgICAgICAgICAgICAgfCBmb3IgQy9DKysgaGVhZGVyIGZpbGVzIChpbiAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgIHwgICAgICAgICAgICAgICAgICAgICAgICB8IFVuaXggZm9ybSBmb3IgcG9ydGFiaWxpdHkpICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCisgICB8ICpkZWZpbmVfbWFjcm9zKiAgICAgICAgfCBsaXN0IG9mIG1hY3JvcyB0byBkZWZpbmU7IGVhY2ggfCBsaXN0IG9mIHR1cGxlcyAgICAgICAgICAgIHwKKyAgIHwgICAgICAgICAgICAgICAgICAgICAgICB8IG1hY3JvIGlzIGRlZmluZWQgdXNpbmcgYSAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgfCAgICAgICAgICAgICAgICAgICAgICAgIHwgMi10dXBsZSBgYChuYW1lLCB2YWx1ZSlgYCwgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICB8ICAgICAgICAgICAgICAgICAgICAgICAgfCB3aGVyZSAqdmFsdWUqIGlzICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgIHwgICAgICAgICAgICAgICAgICAgICAgICB8IGVpdGhlciB0aGUgc3RyaW5nIHRvIGRlZmluZSBpdCB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgfCAgICAgICAgICAgICAgICAgICAgICAgIHwgdG8gb3IgYGBOb25lYGAgdG8gZGVmaW5lIGl0ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICB8ICAgICAgICAgICAgICAgICAgICAgICAgfCB3aXRob3V0IGEgcGFydGljdWxhciB2YWx1ZSAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgIHwgICAgICAgICAgICAgICAgICAgICAgICB8IChlcXVpdmFsZW50IG9mIGBgI2RlZmluZSBGT09gYCB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgfCAgICAgICAgICAgICAgICAgICAgICAgIHwgaW4gc291cmNlIG9yIDpvcHRpb246YC1ERk9PYCAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICB8ICAgICAgICAgICAgICAgICAgICAgICAgfCBvbiBVbml4IEMgY29tcGlsZXIgY29tbWFuZCAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgIHwgICAgICAgICAgICAgICAgICAgICAgICB8IGxpbmUpICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCisgICB8ICp1bmRlZl9tYWNyb3MqICAgICAgICAgfCBsaXN0IG9mIG1hY3JvcyB0byB1bmRlZmluZSAgICAgfCBsaXN0IG9mIHN0cmluZ3MgICAgICAgICAgIHwKKyAgIHwgICAgICAgICAgICAgICAgICAgICAgICB8IGV4cGxpY2l0bHkgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCisgICB8ICpsaWJyYXJ5X2RpcnMqICAgICAgICAgfCBsaXN0IG9mIGRpcmVjdG9yaWVzIHRvIHNlYXJjaCAgfCBsaXN0IG9mIHN0cmluZ3MgICAgICAgICAgIHwKKyAgIHwgICAgICAgICAgICAgICAgICAgICAgICB8IGZvciBDL0MrKyBsaWJyYXJpZXMgYXQgbGluayAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgfCAgICAgICAgICAgICAgICAgICAgICAgIHwgdGltZSAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKKyAgIHwgKmxpYnJhcmllcyogICAgICAgICAgICB8IGxpc3Qgb2YgbGlicmFyeSBuYW1lcyAobm90ICAgICB8IGxpc3Qgb2Ygc3RyaW5ncyAgICAgICAgICAgfAorICAgfCAgICAgICAgICAgICAgICAgICAgICAgIHwgZmlsZW5hbWVzIG9yIHBhdGhzKSB0byBsaW5rICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICB8ICAgICAgICAgICAgICAgICAgICAgICAgfCBhZ2FpbnN0ICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworICAgfCAqcnVudGltZV9saWJyYXJ5X2RpcnMqIHwgbGlzdCBvZiBkaXJlY3RvcmllcyB0byBzZWFyY2ggIHwgbGlzdCBvZiBzdHJpbmdzICAgICAgICAgICB8CisgICB8ICAgICAgICAgICAgICAgICAgICAgICAgfCBmb3IgQy9DKysgbGlicmFyaWVzIGF0IHJ1biAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgIHwgICAgICAgICAgICAgICAgICAgICAgICB8IHRpbWUgKGZvciBzaGFyZWQgZXh0ZW5zaW9ucywgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgfCAgICAgICAgICAgICAgICAgICAgICAgIHwgdGhpcyBpcyB3aGVuIHRoZSBleHRlbnNpb24gaXMgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICB8ICAgICAgICAgICAgICAgICAgICAgICAgfCBsb2FkZWQpICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworICAgfCAqZXh0cmFfb2JqZWN0cyogICAgICAgIHwgbGlzdCBvZiBleHRyYSBmaWxlcyB0byBsaW5rICAgIHwgbGlzdCBvZiBzdHJpbmdzICAgICAgICAgICB8CisgICB8ICAgICAgICAgICAgICAgICAgICAgICAgfCB3aXRoIChlLmcuIG9iamVjdCBmaWxlcyBub3QgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgIHwgICAgICAgICAgICAgICAgICAgICAgICB8IGltcGxpZWQgYnkgJ3NvdXJjZXMnLCBzdGF0aWMgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgfCAgICAgICAgICAgICAgICAgICAgICAgIHwgbGlicmFyeSB0aGF0IG11c3QgYmUgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICB8ICAgICAgICAgICAgICAgICAgICAgICAgfCBleHBsaWNpdGx5IHNwZWNpZmllZCwgYmluYXJ5ICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgIHwgICAgICAgICAgICAgICAgICAgICAgICB8IHJlc291cmNlIGZpbGVzLCBldGMuKSAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCisgICB8ICpleHRyYV9jb21waWxlX2FyZ3MqICAgfCBhbnkgZXh0cmEgcGxhdGZvcm0tIGFuZCAgICAgICAgfCBsaXN0IG9mIHN0cmluZ3MgICAgICAgICAgIHwKKyAgIHwgICAgICAgICAgICAgICAgICAgICAgICB8IGNvbXBpbGVyLXNwZWNpZmljIGluZm9ybWF0aW9uICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgfCAgICAgICAgICAgICAgICAgICAgICAgIHwgdG8gdXNlIHdoZW4gY29tcGlsaW5nIHRoZSAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICB8ICAgICAgICAgICAgICAgICAgICAgICAgfCBzb3VyY2UgZmlsZXMgaW4gJ3NvdXJjZXMnLiBGb3IgfCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgIHwgICAgICAgICAgICAgICAgICAgICAgICB8IHBsYXRmb3JtcyBhbmQgY29tcGlsZXJzIHdoZXJlICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgfCAgICAgICAgICAgICAgICAgICAgICAgIHwgYSBjb21tYW5kIGxpbmUgbWFrZXMgc2Vuc2UsICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICB8ICAgICAgICAgICAgICAgICAgICAgICAgfCB0aGlzIGlzIHR5cGljYWxseSBhIGxpc3Qgb2YgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgIHwgICAgICAgICAgICAgICAgICAgICAgICB8IGNvbW1hbmQtbGluZSBhcmd1bWVudHMsIGJ1dCAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgfCAgICAgICAgICAgICAgICAgICAgICAgIHwgZm9yIG90aGVyIHBsYXRmb3JtcyBpdCBjb3VsZCAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICB8ICAgICAgICAgICAgICAgICAgICAgICAgfCBiZSBhbnl0aGluZy4gICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworICAgfCAqZXh0cmFfbGlua19hcmdzKiAgICAgIHwgYW55IGV4dHJhIHBsYXRmb3JtLSBhbmQgICAgICAgIHwgbGlzdCBvZiBzdHJpbmdzICAgICAgICAgICB8CisgICB8ICAgICAgICAgICAgICAgICAgICAgICAgfCBjb21waWxlci1zcGVjaWZpYyBpbmZvcm1hdGlvbiAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgIHwgICAgICAgICAgICAgICAgICAgICAgICB8IHRvIHVzZSB3aGVuIGxpbmtpbmcgb2JqZWN0ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgfCAgICAgICAgICAgICAgICAgICAgICAgIHwgZmlsZXMgdG9nZXRoZXIgdG8gY3JlYXRlIHRoZSAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICB8ICAgICAgICAgICAgICAgICAgICAgICAgfCBleHRlbnNpb24gKG9yIHRvIGNyZWF0ZSBhIG5ldyAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgIHwgICAgICAgICAgICAgICAgICAgICAgICB8IHN0YXRpYyBQeXRob24gaW50ZXJwcmV0ZXIpLiAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgfCAgICAgICAgICAgICAgICAgICAgICAgIHwgU2ltaWxhciBpbnRlcnByZXRhdGlvbiBhcyBmb3IgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICB8ICAgICAgICAgICAgICAgICAgICAgICAgfCAnZXh0cmFfY29tcGlsZV9hcmdzJy4gICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworICAgfCAqZXhwb3J0X3N5bWJvbHMqICAgICAgIHwgbGlzdCBvZiBzeW1ib2xzIHRvIGJlIGV4cG9ydGVkIHwgbGlzdCBvZiBzdHJpbmdzICAgICAgICAgICB8CisgICB8ICAgICAgICAgICAgICAgICAgICAgICAgfCBmcm9tIGEgc2hhcmVkIGV4dGVuc2lvbi4gTm90ICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgIHwgICAgICAgICAgICAgICAgICAgICAgICB8IHVzZWQgb24gYWxsIHBsYXRmb3JtcywgYW5kIG5vdCB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgfCAgICAgICAgICAgICAgICAgICAgICAgIHwgZ2VuZXJhbGx5IG5lY2Vzc2FyeSBmb3IgUHl0aG9uIHwgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICB8ICAgICAgICAgICAgICAgICAgICAgICAgfCBleHRlbnNpb25zLCB3aGljaCB0eXBpY2FsbHkgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgIHwgICAgICAgICAgICAgICAgICAgICAgICB8IGV4cG9ydCBleGFjdGx5IG9uZSBzeW1ib2w6ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgfCAgICAgICAgICAgICAgICAgICAgICAgIHwgYGBpbml0YGAgKyBleHRlbnNpb25fbmFtZS4gICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKKyAgIHwgKmRlcGVuZHMqICAgICAgICAgICAgICB8IGxpc3Qgb2YgZmlsZXMgdGhhdCB0aGUgICAgICAgICB8IGxpc3Qgb2Ygc3RyaW5ncyAgICAgICAgICAgfAorICAgfCAgICAgICAgICAgICAgICAgICAgICAgIHwgZXh0ZW5zaW9uIGRlcGVuZHMgb24gICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKKyAgIHwgKmxhbmd1YWdlKiAgICAgICAgICAgICB8IGV4dGVuc2lvbiBsYW5ndWFnZSAoaS5lLiAgICAgICB8IHN0cmluZyAgICAgICAgICAgICAgICAgICAgfAorICAgfCAgICAgICAgICAgICAgICAgICAgICAgIHwgYGAnYydgYCwgYGAnYysrJ2BgLCAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICB8ICAgICAgICAgICAgICAgICAgICAgICAgfCBgYCdvYmpjJ2BgKS4gV2lsbCBiZSBkZXRlY3RlZCAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgIHwgICAgICAgICAgICAgICAgICAgICAgICB8IGZyb20gdGhlIHNvdXJjZSBleHRlbnNpb25zIGlmICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgfCAgICAgICAgICAgICAgICAgICAgICAgIHwgbm90IHByb3ZpZGVkLiAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKKyAgIHwgKm9wdGlvbmFsKiAgICAgICAgICAgICB8IHNwZWNpZmllcyB0aGF0IGEgYnVpbGQgZmFpbHVyZSB8IGJvb2xlYW4gICAgICAgICAgICAgICAgICAgfAorICAgfCAgICAgICAgICAgICAgICAgICAgICAgIHwgaW4gdGhlIGV4dGVuc2lvbiBzaG91bGQgbm90ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICB8ICAgICAgICAgICAgICAgICAgICAgICAgfCBhYm9ydCB0aGUgYnVpbGQgcHJvY2VzcywgYnV0ICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgIHwgICAgICAgICAgICAgICAgICAgICAgICB8IHNpbXBseSBza2lwIHRoZSBleHRlbnNpb24uICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCisKK1RvIGRpc3RyaWJ1dGUgZXh0ZW5zaW9uIG1vZHVsZXMgdGhhdCBsaXZlIGluIGEgcGFja2FnZSAoZS5nLiBgYHBhY2thZ2UuZXh0YGApLAoreW91IG5lZWQgdG8gY3JlYXRlIGEgOmZpbGU6YHtwYWNrYWdlfS9fX2luaXRfXy5weWAgZmlsZSB0byBsZXQgUHl0aG9uIHJlY29nbml6ZQorYW5kIGltcG9ydCB5b3VyIG1vZHVsZS4KZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L3BhY2thZ2luZy5kYXRhYmFzZS5yc3QgYi9Eb2MvbGlicmFyeS9wYWNrYWdpbmcuZGF0YWJhc2UucnN0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlkNzUwZjAKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2MvbGlicmFyeS9wYWNrYWdpbmcuZGF0YWJhc2UucnN0CkBAIC0wLDAgKzEsMzQ1IEBACis6bW9kOmBwYWNrYWdpbmcuZGF0YWJhc2VgIC0tLSBEYXRhYmFzZSBvZiBpbnN0YWxsZWQgZGlzdHJpYnV0aW9ucworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworLi4gbW9kdWxlOjogcGFja2FnaW5nLmRhdGFiYXNlCisgICA6c3lub3BzaXM6IEZ1bmN0aW9ucyB0byBxdWVyeSBhbmQgbWFuaXB1bGF0ZSBpbnN0YWxsZWQgZGlzdHJpYnV0aW9ucy4KKworCitUaGlzIG1vZHVsZSBwcm92aWRlcyBhbiBpbXBsZW1lbnRhdGlvbiBvZiA6UEVQOmAzNzZgLiAgSXQgd2FzIG9yaWdpbmFsbHkKK2ludGVuZGVkIHRvIGxhbmQgaW4gOm1vZDpgcGtndXRpbGAsIGJ1dCB3aXRoIHRoZSBpbmNsdXNpb24gb2YgUGFja2FnaW5nIGluIHRoZQorc3RhbmRhcmQgbGlicmFyeSwgaXQgd2FzIHRob3VnaHQgYmVzdCB0byBpbmNsdWRlIGl0IGluIGEgc3VibW9kdWxlIG9mCis6bW9kOmBwYWNrYWdpbmdgLCBsZWF2aW5nIDptb2Q6YHBrZ3V0aWxgIHRvIGRlYWwgd2l0aCBpbXBvcnRzLgorCitJbnN0YWxsZWQgUHl0aG9uIGRpc3RyaWJ1dGlvbnMgYXJlIHJlcHJlc2VudGVkIGJ5IGluc3RhbmNlcyBvZgorOmNsYXNzOmBEaXN0cmlidXRpb25gLCBvciA6Y2xhc3M6YEVnZ0luZm9EaXN0cmlidXRpb25gIGZvciBsZWdhY3kgZWdnIGZvcm1hdHMuCitNb3N0IGZ1bmN0aW9ucyBhbHNvIHByb3ZpZGUgYW4gZXh0cmEgYXJndW1lbnQgYGB1c2VfZWdnX2luZm9gYCB0byB0YWtlIGxlZ2FjeQorZGlzdHJpYnV0aW9ucyBpbnRvIGFjY291bnQuCisKK0ZvciB0aGUgcHVycG9zZSBvZiB0aGlzIG1vZHVsZSwgImluc3RhbGxlZCIgbWVhbnMgdGhhdCB0aGUgZGlzdHJpYnV0aW9uJ3MKKzpmaWxlOmAuZGlzdC1pbmZvYCwgOmZpbGU6YC5lZ2ctaW5mb2Agb3IgOmZpbGU6YGVnZ2AgZGlyZWN0b3J5IG9yIGZpbGUgaXMgZm91bmQKK29uIDpkYXRhOmBzeXMucGF0aGAuICBGb3IgZXhhbXBsZSwgaWYgdGhlIHBhcmVudCBkaXJlY3Rvcnkgb2YgYQorOmZpbGU6YGRpc3QtaW5mb2AgZGlyZWN0b3J5ICBpcyBhZGRlZCB0byA6ZW52dmFyOmBQWVRIT05QQVRIYCwgdGhlbiBpdCB3aWxsIGJlCithdmFpbGFibGUgaW4gdGhlIGRhdGFiYXNlLgorCitDbGFzc2VzIHJlcHJlc2VudGluZyBpbnN0YWxsZWQgZGlzdHJpYnV0aW9ucworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworLi4gY2xhc3M6OiBEaXN0cmlidXRpb24ocGF0aCkKKworICAgQ2xhc3MgcmVwcmVzZW50aW5nIGFuIGluc3RhbGxlZCBkaXN0cmlidXRpb24uICBJdCBpcyBkaWZmZXJlbnQgZnJvbQorICAgOmNsYXNzOmBwYWNrYWdpbmcuZGlzdC5EaXN0cmlidXRpb25gIHdoaWNoIGhvbGRzIHRoZSBsaXN0IG9mIGZpbGVzLCB0aGUKKyAgIG1ldGFkYXRhIGFuZCBvcHRpb25zIGR1cmluZyB0aGUgcnVuIG9mIGEgUGFja2FnaW5nIGNvbW1hbmQuCisKKyAgIEluc3RhbnRpYXRlIHdpdGggdGhlICpwYXRoKiB0byBhIGBgLmRpc3QtaW5mb2BgIGRpcmVjdG9yeS4gIEluc3RhbmNlcyBjYW4gYmUKKyAgIGNvbXBhcmVkIGFuZCBzb3J0ZWQuICBPdGhlciBhdmFpbGFibGUgbWV0aG9kcyBhcmU6CisKKyAgIC4uIFhYWCBkZXNjcmliZSBob3cgY29tcGFyaXNvbiB3b3JrcworCisgICAuLiBtZXRob2Q6OiBnZXRfZGlzdGluZm9fZmlsZShwYXRoLCBiaW5hcnk9RmFsc2UpCisKKyAgICAgIFJldHVybiBhIHJlYWQtb25seSBmaWxlIG9iamVjdCBmb3IgYSBmaWxlIGxvY2F0ZWQgYXQKKyAgICAgIDpmaWxlOmB7cHJvamVjdH0te3ZlcnNpb259LmRpc3QtaW5mby97cGF0aH1gLiAgKnBhdGgqIHNob3VsZCBiZSBhCisgICAgICBgYCcvJ2BgLXNlcGFyYXRlZCBwYXRoIHJlbGF0aXZlIHRvIHRoZSBgYC5kaXN0LWluZm9gYCBkaXJlY3Rvcnkgb3IgYW4KKyAgICAgIGFic29sdXRlIHBhdGg7IGlmIGl0IGlzIGFuIGFic29sdXRlIHBhdGggYW5kIGRvZXNuJ3Qgc3RhcnQgd2l0aCB0aGUgcGF0aAorICAgICAgdG8gdGhlIDpmaWxlOmAuZGlzdC1pbmZvYCBkaXJlY3RvcnksIGEgOmNsYXNzOmBQYWNrYWdpbmdFcnJvcmAgaXMgcmFpc2VkLgorCisgICAgICBJZiAqYmluYXJ5KiBpcyBgYFRydWVgYCwgdGhlIGZpbGUgaXMgb3BlbmVkIGluIGJpbmFyeSBtb2RlLgorCisgICAuLiBtZXRob2Q6OiBnZXRfcmVzb3VyY2VfcGF0aChyZWxhdGl2ZV9wYXRoKQorCisgICAgICAuLiBUT0RPCisKKyAgIC4uIG1ldGhvZDo6IGxpc3RfZGlzdGluZm9fZmlsZXMobG9jYWw9RmFsc2UpCisKKyAgICAgIFJldHVybiBhbiBpdGVyYXRvciBvdmVyIGFsbCBmaWxlcyBsb2NhdGVkIGluIHRoZSA6ZmlsZTpgLmRpc3QtaW5mb2AKKyAgICAgIGRpcmVjdG9yeS4gIElmICpsb2NhbCogaXMgYGBUcnVlYGAsIGVhY2ggcmV0dXJuZWQgcGF0aCBpcyB0cmFuc2Zvcm1lZCBpbnRvCisgICAgICBhIGxvY2FsIGFic29sdXRlIHBhdGgsIG90aGVyd2lzZSB0aGUgcmF3IHZhbHVlIGZvdW5kIGluIHRoZSA6ZmlsZTpgUkVDT1JEYAorICAgICAgZmlsZSBpcyByZXR1cm5lZC4KKworICAgLi4gbWV0aG9kOjogIGxpc3RfaW5zdGFsbGVkX2ZpbGVzKGxvY2FsPUZhbHNlKQorCisgICAgICBJdGVyYXRlIG92ZXIgdGhlIGZpbGVzIGluc3RhbGxlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24gYW5kIHJlZ2lzdGVyZWQgaW4KKyAgICAgIHRoZSA6ZmlsZTpgUkVDT1JEYCBmaWxlIGFuZCB5aWVsZCBhIHR1cGxlIGBgKHBhdGgsIG1kNSwgc2l6ZSlgYCBmb3IgZWFjaAorICAgICAgbGluZS4gIElmICpsb2NhbCogaXMgYGBUcnVlYGAsIHRoZSByZXR1cm5lZCBwYXRoIGlzIHRyYW5zZm9ybWVkIGludG8gYQorICAgICAgbG9jYWwgYWJzb2x1dGUgcGF0aCwgb3RoZXJ3aXNlIHRoZSByYXcgdmFsdWUgaXMgcmV0dXJuZWQuCisKKyAgICAgIEEgbG9jYWwgYWJzb2x1dGUgcGF0aCBpcyBhbiBhYnNvbHV0ZSBwYXRoIGluIHdoaWNoIG9jY3VycmVuY2VzIG9mIGBgJy8nYGAKKyAgICAgIGhhdmUgYmVlbiByZXBsYWNlZCBieSA6ZGF0YTpgb3Muc2VwYC4KKworICAgLi4gbWV0aG9kOjogdXNlcyhwYXRoKQorCisgICAgICBDaGVjayB3aGV0aGVyICpwYXRoKiB3YXMgaW5zdGFsbGVkIGJ5IHRoaXMgZGlzdHJpYnV0aW9uIChpLmUuIGlmIHRoZSBwYXRoCisgICAgICBpcyBwcmVzZW50IGluIHRoZSA6ZmlsZTpgUkVDT1JEYCBmaWxlKS4gICpwYXRoKiBjYW4gYmUgYSBsb2NhbCBhYnNvbHV0ZQorICAgICAgcGF0aCBvciBhIHJlbGF0aXZlIGBgJy8nYGAtc2VwYXJhdGVkIHBhdGguICBSZXR1cm5zIGEgYm9vbGVhbi4KKworICAgQXZhaWxhYmxlIGF0dHJpYnV0ZXM6CisKKyAgIC4uIGF0dHJpYnV0ZTo6IG1ldGFkYXRhCisKKyAgICAgIEluc3RhbmNlIG9mIDpjbGFzczpgcGFja2FnaW5nLm1ldGFkYXRhLk1ldGFkYXRhYCBmaWxsZWQgd2l0aCB0aGUgY29udGVudHMKKyAgICAgIG9mIHRoZSA6ZmlsZTpge3Byb2plY3R9LXt2ZXJzaW9ufS5kaXN0LWluZm8vTUVUQURBVEFgIGZpbGUuCisKKyAgIC4uIGF0dHJpYnV0ZTo6IG5hbWUKKworICAgICAgU2hvcnRjdXQgZm9yIGBgbWV0YWRhdGFbJ05hbWUnXWBgLgorCisgICAuLiBhdHRyaWJ1dGU6OiB2ZXJzaW9uCisKKyAgICAgIFNob3J0Y3V0IGZvciBgYG1ldGFkYXRhWydWZXJzaW9uJ11gYC4KKworICAgLi4gYXR0cmlidXRlOjogcmVxdWVzdGVkCisKKyAgICAgIEJvb2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIHRoaXMgZGlzdHJpYnV0aW9uIHdhcyByZXF1ZXN0ZWQgYnkgdGhlIHVzZXIgb2YKKyAgICAgIGF1dG9tYXRpY2FsbHkgaW5zdGFsbGVkIGFzIGEgZGVwZW5kZW5jeS4KKworCisuLiBjbGFzczo6IEVnZ0luZm9EaXN0cmlidXRpb24ocGF0aCkKKworICAgQ2xhc3MgcmVwcmVzZW50aW5nIGEgbGVnYWN5IGRpc3RyaWJ1dGlvbi4gIEl0IGlzIGNvbXBhdGlibGUgd2l0aCBkaXN0dXRpbHMnCisgICBhbmQgc2V0dXB0b29scycgOmZpbGU6YC5lZ2ctaW5mb2AgYW5kIDpmaWxlOmAuZWdnYCBmaWxlcyBhbmQgZGlyZWN0b3JpZXMuCisKKyAgIC4uIEZJWE1FIHNob3VsZCBiZSBuYW1lZCBFZ2dEaXN0cmlidXRpb24KKworICAgSW5zdGFudGlhdGUgd2l0aCB0aGUgKnBhdGgqIHRvIGFuIGVnZyBmaWxlIG9yIGRpcmVjdG9yeS4gIEluc3RhbmNlcyBjYW4gYmUKKyAgIGNvbXBhcmVkIGFuZCBzb3J0ZWQuICBPdGhlciBhdmFpbGFibGUgbWV0aG9kcyBhcmU6CisKKyAgIC4uIG1ldGhvZDo6IGxpc3RfaW5zdGFsbGVkX2ZpbGVzKGxvY2FsPUZhbHNlKQorCisgICAuLiBtZXRob2Q6OiB1c2VzKHBhdGgpCisKKyAgIEF2YWlsYWJsZSBhdHRyaWJ1dGVzOgorCisgICAuLiBhdHRyaWJ1dGU6OiBtZXRhZGF0YQorCisgICAgICBJbnN0YW5jZSBvZiA6Y2xhc3M6YHBhY2thZ2luZy5tZXRhZGF0YS5NZXRhZGF0YWAgZmlsbGVkIHdpdGggdGhlIGNvbnRlbnRzCisgICAgICBvZiB0aGUgOmZpbGU6YHtwcm9qZWN0LXZlcnNpb259LmVnZy1pbmZvL1BLRy1JTkZPYCBvcgorICAgICAgOmZpbGU6YHtwcm9qZWN0LXZlcnNpb259LmVnZ2AgZmlsZS4KKworICAgLi4gYXR0cmlidXRlOjogbmFtZQorCisgICAgICBTaG9ydGN1dCBmb3IgYGBtZXRhZGF0YVsnTmFtZSddYGAuCisKKyAgIC4uIGF0dHJpYnV0ZTo6IHZlcnNpb24KKworICAgICAgU2hvcnRjdXQgZm9yIGBgbWV0YWRhdGFbJ1ZlcnNpb24nXWBgLgorCisKK0Z1bmN0aW9ucyB0byB3b3JrIHdpdGggdGhlIGRhdGFiYXNlCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisuLiBmdW5jdGlvbjo6IGdldF9kaXN0cmlidXRpb24obmFtZSwgdXNlX2VnZ19pbmZvPUZhbHNlLCBwYXRocz1Ob25lKQorCisgICBSZXR1cm4gYW4gaW5zdGFuY2Ugb2YgOmNsYXNzOmBEaXN0cmlidXRpb25gIG9yIDpjbGFzczpgRWdnSW5mb0Rpc3RyaWJ1dGlvbmAKKyAgIGZvciB0aGUgZmlyc3QgaW5zdGFsbGVkIGRpc3RyaWJ1dGlvbiBtYXRjaGluZyAqbmFtZSouICBFZ2cgZGlzdHJpYnV0aW9ucyBhcmUKKyAgIGNvbnNpZGVyZWQgb25seSBpZiAqdXNlX2VnZ19pbmZvKiBpcyB0cnVlOyBpZiBib3RoIGEgZGlzdC1pbmZvIGFuZCBhbiBlZ2cKKyAgIGZpbGUgYXJlIGZvdW5kLCB0aGUgZGlzdC1pbmZvIHByZXZhaWxzLiAgVGhlIGRpcmVjdG9yaWVzIHRvIGJlIHNlYXJjaGVkIGFyZQorICAgZ2l2ZW4gaW4gKnBhdGhzKiwgd2hpY2ggZGVmYXVsdHMgdG8gOmRhdGE6YHN5cy5wYXRoYC4gIFJldHVybnMgYGBOb25lYGAgaWYgbm8KKyAgIG1hdGNoaW5nIGRpc3RyaWJ1dGlvbiBpcyBmb3VuZC4KKworICAgLi4gRklYTUUgcGFyYW0gc2hvdWxkIGJlIG5hbWVkIHVzZV9lZ2cKKworCisuLiBmdW5jdGlvbjo6IGdldF9kaXN0cmlidXRpb25zKHVzZV9lZ2dfaW5mbz1GYWxzZSwgcGF0aHM9Tm9uZSkKKworICAgUmV0dXJuIGFuIGl0ZXJhdG9yIG9mIDpjbGFzczpgRGlzdHJpYnV0aW9uYCBpbnN0YW5jZXMgZm9yIGFsbCBpbnN0YWxsZWQKKyAgIGRpc3RyaWJ1dGlvbnMgZm91bmQgaW4gKnBhdGhzKiAoZGVmYXVsdHMgdG8gOmRhdGE6YHN5cy5wYXRoYCkuICBJZgorICAgKnVzZV9lZ2dfaW5mbyogaXMgdHJ1ZSwgYWxzbyByZXR1cm4gaW5zdGFuY2VzIG9mIDpjbGFzczpgRWdnSW5mb0Rpc3RyaWJ1dGlvbmAKKyAgIGZvciBsZWdhY3kgZGlzdHJpYnV0aW9ucyBmb3VuZC4KKworCisuLiBmdW5jdGlvbjo6IGdldF9maWxlX3VzZXJzKHBhdGgpCisKKyAgIFJldHVybiBhbiBpdGVyYXRvciBvdmVyIGFsbCBkaXN0cmlidXRpb25zIHVzaW5nICpwYXRoKiwgYSBsb2NhbCBhYnNvbHV0ZSBwYXRoCisgICBvciBhIHJlbGF0aXZlIGBgJy8nYGAtc2VwYXJhdGVkIHBhdGguCisKKyAgIC4uIFhYWCBkb2VzIHRoaXMgd29yayB3aXRoIHByZWZpeGVzIG9yIGZ1bGwgZmlsZSBwYXRoIG9ubHk/CisKKworLi4gZnVuY3Rpb246OiBvYnNvbGV0ZXNfZGlzdHJpYnV0aW9uKG5hbWUsIHZlcnNpb249Tm9uZSwgdXNlX2VnZ19pbmZvPUZhbHNlKQorCisgICBSZXR1cm4gYW4gaXRlcmF0b3Igb3ZlciBhbGwgZGlzdHJpYnV0aW9ucyB0aGF0IGRlY2xhcmUgdGhleSBvYnNvbGV0ZSAqbmFtZSouCisgICAqdmVyc2lvbiogaXMgYW4gb3B0aW9uYWwgYXJndW1lbnQgdG8gbWF0Y2ggb25seSBzcGVjaWZpYyByZWxlYXNlcyAoc2VlCisgICA6bW9kOmBwYWNrYWdpbmcudmVyc2lvbmApLiAgSWYgKnVzZV9lZ2dfaW5mbyogaXMgdHJ1ZSwgbGVnYWN5IGVnZworICAgZGlzdHJpYnV0aW9ucyB3aWxsIGJlIGNvbnNpZGVyZWQgYXMgd2VsbC4KKworCisuLiBmdW5jdGlvbjo6IHByb3ZpZGVzX2Rpc3RyaWJ1dGlvbihuYW1lLCB2ZXJzaW9uPU5vbmUsIHVzZV9lZ2dfaW5mbz1GYWxzZSkKKworICAgUmV0dXJuIGFuIGl0ZXJhdG9yIG92ZXIgYWxsIGRpc3RyaWJ1dGlvbnMgdGhhdCBkZWNsYXJlIHRoZXkgcHJvdmlkZSAqbmFtZSouCisgICAqdmVyc2lvbiogaXMgYW4gb3B0aW9uYWwgYXJndW1lbnQgdG8gbWF0Y2ggb25seSBzcGVjaWZpYyByZWxlYXNlcyAoc2VlCisgICA6bW9kOmBwYWNrYWdpbmcudmVyc2lvbmApLiAgSWYgKnVzZV9lZ2dfaW5mbyogaXMgdHJ1ZSwgbGVnYWN5IGVnZworICAgZGlzdHJpYnV0aW9ucyB3aWxsIGJlIGNvbnNpZGVyZWQgYXMgd2VsbC4KKworCitVdGlsaXR5IGZ1bmN0aW9ucworLS0tLS0tLS0tLS0tLS0tLS0KKworLi4gZnVuY3Rpb246OiBkaXN0aW5mb19kaXJuYW1lKG5hbWUsIHZlcnNpb24pCisKKyAgIEVzY2FwZSAqbmFtZSogYW5kICp2ZXJzaW9uKiBpbnRvIGEgZmlsZW5hbWUtc2FmZSBmb3JtIGFuZCByZXR1cm4gdGhlCisgICBkaXJlY3RvcnkgbmFtZSBidWlsdCBmcm9tIHRoZW0sIGZvciBleGFtcGxlCisgICA6ZmlsZTpge3NhZmVuYW1lfS17c2FmZXZlcnNpb259LmRpc3QtaW5mby5gICBJbiAqbmFtZSosIHJ1bnMgb2YKKyAgIG5vbi1hbHBoYW51bWVyaWMgY2hhcmFjdGVycyBhcmUgcmVwbGFjZWQgd2l0aCBvbmUgYGAnXydgYDsgaW4gKnZlcnNpb24qLAorICAgc3BhY2VzIGJlY29tZSBkb3RzLCBhbmQgcnVucyBvZiBvdGhlciBub24tYWxwaGFudW1lcmljIGNoYXJhY3RlcnMgKGV4Y2VwdAorICAgZG90cykgYSByZXBsYWNlZCBieSBvbmUgYGAnLSdgYC4KKworICAgLi4gWFhYIHd0aCBzcGFjZXMgaW4gdmVyc2lvbiBudW1iZXJzPworCitGb3IgcGVyZm9ybWFuY2UgcHVycG9zZXMsIHRoZSBsaXN0IG9mIGRpc3RyaWJ1dGlvbnMgaXMgYmVpbmcgaW50ZXJuYWxseQorY2FjaGVkLiAgIENhY2hpbmcgaXMgZW5hYmxlZCBieSBkZWZhdWx0LCBidXQgeW91IGNhbiBjb250cm9sIGl0IHdpdGggdGhlc2UKK2Z1bmN0aW9uczoKKworLi4gZnVuY3Rpb246OiBjbGVhcl9jYWNoZSgpCisKKyAgIENsZWFyIHRoZSBjYWNoZS4KKworLi4gZnVuY3Rpb246OiBkaXNhYmxlX2NhY2hlKCkKKworICAgRGlzYWJsZSB0aGUgY2FjaGUsIHdpdGhvdXQgY2xlYXJpbmcgaXQuCisKKy4uIGZ1bmN0aW9uOjogZW5hYmxlX2NhY2hlKCkKKworICAgRW5hYmxlIHRoZSBpbnRlcm5hbCBjYWNoZSwgd2l0aG91dCBjbGVhcmluZyBpdC4KKworCitFeGFtcGxlcworLS0tLS0tLS0KKworUHJpbnRpbmcgYWxsIGluZm9ybWF0aW9uIGFib3V0IGEgZGlzdHJpYnV0aW9uCiteXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl4KKworR2l2ZW4gdGhlIG5hbWUgb2YgYW4gaW5zdGFsbGVkIGRpc3RyaWJ1dGlvbiwgd2Ugc2hhbGwgcHJpbnQgb3V0IGFsbAoraW5mb3JtYXRpb24gdGhhdCBjYW4gYmUgb2J0YWluZWQgdXNpbmcgZnVuY3Rpb25zIHByb3ZpZGVkIGluIHRoaXMgbW9kdWxlOjoKKworICAgaW1wb3J0IHN5cworICAgaW1wb3J0IHBhY2thZ2luZy5kYXRhYmFzZQorCisgICB0cnk6CisgICAgICAgbmFtZSA9IHN5cy5hcmd2WzFdCisgICBleGNlcHQgVmFsdWVFcnJvcjoKKyAgICAgICBzeXMuZXhpdCgnTm90IGVub3VnaCBhcmd1bWVudHMnKQorCisgICAjIGZpcnN0IGNyZWF0ZSB0aGUgRGlzdHJpYnV0aW9uIGluc3RhbmNlCisgICBkaXN0ID0gcGFja2FnaW5nLmRhdGFiYXNlLkRpc3RyaWJ1dGlvbihwYXRoKQorICAgaWYgZGlzdCBpcyBOb25lOgorICAgICAgIHN5cy5leGl0KCdObyBzdWNoIGRpc3RyaWJ1dGlvbicpCisKKyAgIHByaW50KCdJbmZvcm1hdGlvbiBhYm91dCAlcicgJSBkaXN0Lm5hbWUpCisgICBwcmludCgpCisKKyAgIHByaW50KCdGaWxlcycpCisgICBwcmludCgnPT09PT0nKQorICAgZm9yIHBhdGgsIG1kNSwgc2l6ZSBpbiBkaXN0Lmxpc3RfaW5zdGFsbGVkX2ZpbGVzKCk6CisgICAgICAgcHJpbnQoJyogUGF0aDogJXMnICUgcGF0aCkKKyAgICAgICBwcmludCgnICBIYXNoICVzLCBTaXplOiAlcyBieXRlcycgJSAobWQ1LCBzaXplKSkKKyAgIHByaW50KCkKKworICAgcHJpbnQoJ01ldGFkYXRhJykKKyAgIHByaW50KCc9PT09PT09PScpCisgICBmb3Iga2V5LCB2YWx1ZSBpbiBkaXN0Lm1ldGFkYXRhLml0ZW1zKCk6CisgICAgICAgcHJpbnQoJyUyMHM6ICVzJyAlIChrZXksIHZhbHVlKSkKKyAgIHByaW50KCkKKworICAgcHJpbnQoJ0V4dHJhJykKKyAgIHByaW50KCc9PT09PScpCisgICBpZiBkaXN0LnJlcXVlc3RlZDoKKyAgICAgICBwcmludCgnKiBJdCB3YXMgaW5zdGFsbGVkIGJ5IHVzZXIgcmVxdWVzdCcpCisgICBlbHNlOgorICAgICAgIHByaW50KCcqIEl0IHdhcyBpbnN0YWxsZWQgYXMgYSBkZXBlbmRlbmN5JykKKworSWYgd2Ugc2F2ZSB0aGUgc2NyaXB0IGFib3ZlIGFzIGBgcHJpbnRfaW5mby5weWBgLCB3ZSBjYW4gdXNlIGl0IHRvIGV4dHJhY3QKK2luZm9ybWF0aW9uIGZyb20gYSA6ZmlsZTpgLmRpc3QtaW5mb2AgZGlyZWN0b3J5LiAgQnkgdHlwaW5nIGluIHRoZSBjb25zb2xlOgorCisuLiBjb2RlLWJsb2NrOjogc2gKKworICAgcHl0aG9uIHByaW50X2luZm8ucHkgY2hveGllCisKK3dlIGdldCB0aGUgZm9sbG93aW5nIG91dHB1dDoKKworLi4gY29kZS1ibG9jazo6IG5vbmUKKworICAgSW5mb3JtYXRpb24gYWJvdXQgJ2Nob3hpZScKKworICAgRmlsZXMKKyAgID09PT09CisgICAqIFBhdGg6IC4uL3RtcC9kaXN0dXRpbHMyL3Rlc3RzL2Zha2VfZGlzdHMvY2hveGllLTIuMC4wLjkvdHJ1ZmZsZXMucHkKKyAgICAgSGFzaCA1ZTA1MmRiNmE0NzhkMDZiYWQ5YWUwMzNlNmJjMDhhZiwgU2l6ZTogMTExIGJ5dGVzCisgICAqIFBhdGg6IC4uL3RtcC9kaXN0dXRpbHMyL3Rlc3RzL2Zha2VfZGlzdHMvY2hveGllLTIuMC4wLjkvY2hveGllL2Nob2NvbGF0ZS5weQorICAgICBIYXNoIGFjNTZiZjQ5NmQ4ZDFkMjZmODY2MjM1Yjk1ZjMxMDMwLCBTaXplOiAyMTQgYnl0ZXMKKyAgICogUGF0aDogLi4vdG1wL2Rpc3R1dGlsczIvdGVzdHMvZmFrZV9kaXN0cy9jaG94aWUtMi4wLjAuOS9jaG94aWUvX19pbml0X18ucHkKKyAgICAgSGFzaCA0MTZhYWIwOGRmYTg0NmY0NzMxMjllODlhNzYyNWJiYywgU2l6ZTogMjUgYnl0ZXMKKyAgICogUGF0aDogLi4vdG1wL2Rpc3R1dGlsczIvdGVzdHMvZmFrZV9kaXN0cy9jaG94aWUtMi4wLjAuOS5kaXN0LWluZm8vSU5TVEFMTEVSCisgICAgIEhhc2ggZDQxZDhjZDk4ZjAwYjIwNGU5ODAwOTk4ZWNmODQyN2UsIFNpemU6IDAgYnl0ZXMKKyAgICogUGF0aDogLi4vdG1wL2Rpc3R1dGlsczIvdGVzdHMvZmFrZV9kaXN0cy9jaG94aWUtMi4wLjAuOS5kaXN0LWluZm8vTUVUQURBVEEKKyAgICAgSGFzaCA2OTZhMjA5OTY3ZmVmM2M4YjhmNWE3YmIxMDM4NjM4NSwgU2l6ZTogMjI1IGJ5dGVzCisgICAqIFBhdGg6IC4uL3RtcC9kaXN0dXRpbHMyL3Rlc3RzL2Zha2VfZGlzdHMvY2hveGllLTIuMC4wLjkuZGlzdC1pbmZvL1JFUVVFU1RFRAorICAgICBIYXNoIGQ0MWQ4Y2Q5OGYwMGIyMDRlOTgwMDk5OGVjZjg0MjdlLCBTaXplOiAwIGJ5dGVzCisgICAqIFBhdGg6IC4uL3RtcC9kaXN0dXRpbHMyL3Rlc3RzL2Zha2VfZGlzdHMvY2hveGllLTIuMC4wLjkuZGlzdC1pbmZvL1JFQ09SRAorICAgICBIYXNoIE5vbmUsIFNpemU6IE5vbmUgYnl0ZXMKKworICAgTWV0YWRhdGEKKyAgID09PT09PT09CisgICAgICAgTWV0YWRhdGEtVmVyc2lvbjogMS4yCisgICAgICAgICAgICAgICAgICAgTmFtZTogY2hveGllCisgICAgICAgICAgICAgICAgVmVyc2lvbjogMi4wLjAuOQorICAgICAgICAgICAgICAgUGxhdGZvcm06IFtdCisgICAgIFN1cHBvcnRlZC1QbGF0Zm9ybTogVU5LTk9XTgorICAgICAgICAgICAgICAgIFN1bW1hcnk6IENob2NvbGF0ZSB3aXRoIGEga2ljayEKKyAgICAgICAgICAgIERlc2NyaXB0aW9uOiBVTktOT1dOCisgICAgICAgICAgICAgICBLZXl3b3JkczogW10KKyAgICAgICAgICAgICAgSG9tZS1wYWdlOiBVTktOT1dOCisgICAgICAgICAgICAgICAgIEF1dGhvcjogVU5LTk9XTgorICAgICAgICAgICBBdXRob3ItZW1haWw6IFVOS05PV04KKyAgICAgICAgICAgICBNYWludGFpbmVyOiBVTktOT1dOCisgICAgICAgTWFpbnRhaW5lci1lbWFpbDogVU5LTk9XTgorICAgICAgICAgICAgICAgIExpY2Vuc2U6IFVOS05PV04KKyAgICAgICAgICAgICBDbGFzc2lmaWVyOiBbXQorICAgICAgICAgICBEb3dubG9hZC1VUkw6IFVOS05PV04KKyAgICAgICAgIE9ic29sZXRlcy1EaXN0OiBbJ3RydWZmbGVzICg8PTAuOCw+PTAuNSknLCAndHJ1ZmZsZXMgKDw9MC45LD49MC42KSddCisgICAgICAgICAgICBQcm9qZWN0LVVSTDogW10KKyAgICAgICAgICBQcm92aWRlcy1EaXN0OiBbJ3RydWZmbGVzICgxLjApJ10KKyAgICAgICAgICBSZXF1aXJlcy1EaXN0OiBbJ3Rvd2VsLXN0dWZmICgwLjEpJ10KKyAgICAgICAgUmVxdWlyZXMtUHl0aG9uOiBVTktOT1dOCisgICAgICBSZXF1aXJlcy1FeHRlcm5hbDogW10KKworICBFeHRyYQorICA9PT09PQorICAqIEl0IHdhcyBpbnN0YWxsZWQgYXMgYSBkZXBlbmRlbmN5CisKKworR2V0dGluZyBtZXRhZGF0YSBhYm91dCBhIGRpc3RyaWJ1dGlvbgorXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXgorCitTb21ldGltZXMgeW91J3JlIG5vdCBpbnRlcmVzdGVkIGFib3V0IHRoZSBwYWNrYWdpbmcgaW5mb3JtYXRpb24gY29udGFpbmVkIGluIGEKK2Z1bGwgOmNsYXNzOmBEaXN0cmlidXRpb25gIG9iamVjdCBidXQganVzdCB3YW50IHRvIGRvIHNvbWV0aGluZyB3aXRoIGl0cworOmF0dHI6YH5EaXN0cmlidXRpb24ubWV0YWRhdGFgOjoKKworICAgPj4+IGZyb20gcGFja2FnaW5nLmRhdGFiYXNlIGltcG9ydCBnZXRfZGlzdHJpYnV0aW9uCisgICA+Pj4gaW5mbyA9IGdldF9kaXN0cmlidXRpb24oJ2Nob2NvbGF0ZScpLm1ldGFkYXRhCisgICA+Pj4gaW5mb1snS2V5d29yZHMnXQorICAgWydjb29raW5nJywgJ2hhcHBpbmVzcyddCisKKworRmluZGluZyBvdXQgb2Jzb2xldGVkIGRpc3RyaWJ1dGlvbnMKK15eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eCisKK05vdywgd2UgdGFja2xlIGEgZGlmZmVyZW50IHByb2JsZW0sIHdlIGFyZSBpbnRlcmVzdGVkIGluIGZpbmRpbmcgb3V0Cit3aGljaCBkaXN0cmlidXRpb25zIGhhdmUgYmVlbiBvYnNvbGV0ZWQuIFRoaXMgY2FuIGJlIGVhc2lseSBkb25lIGFzIGZvbGxvd3M6OgorCisgIGltcG9ydCBwYWNrYWdpbmcuZGF0YWJhc2UKKworICAjIGl0ZXJhdGUgb3ZlciBhbGwgZGlzdHJpYnV0aW9ucyBpbiB0aGUgc3lzdGVtCisgIGZvciBkaXN0IGluIHBhY2thZ2luZy5kYXRhYmFzZS5nZXRfZGlzdHJpYnV0aW9ucygpOgorICAgICAgbmFtZSwgdmVyc2lvbiA9IGRpc3QubmFtZSwgZGlzdC52ZXJzaW9uCisgICAgICAjIGZpbmQgb3V0IHdoaWNoIGRpc3RyaWJ1dGlvbnMgb2Jzb2xldGUgdGhpcyBuYW1lL3ZlcnNpb24gY29tYmluYXRpb24KKyAgICAgIHJlcGxhY2VtZW50cyA9IHBhY2thZ2luZy5kYXRhYmFzZS5vYnNvbGV0ZXNfZGlzdHJpYnV0aW9uKG5hbWUsIHZlcnNpb24pCisgICAgICBpZiByZXBsYWNlbWVudHM6CisgICAgICAgICAgcHJpbnQoJyVyICVzIGlzIG9ic29sZXRlZCBieScgJSAobmFtZSwgdmVyc2lvbiksCisgICAgICAgICAgICAgICAgJywgJy5qb2luKHJlcHIoci5uYW1lKSBmb3IgciBpbiByZXBsYWNlbWVudHMpKQorCitUaGlzIGlzIGhvdyB0aGUgb3V0cHV0IG1pZ2h0IGxvb2sgbGlrZToKKworLi4gY29kZS1ibG9jazo6IG5vbmUKKworICAnc3RyYXdiZXJyeScgMC42IGlzIG9ic29sZXRlZCBieSAnY2hveGllJworICAnZ3JhbW1hcicgMS4wYTQgaXMgb2Jzb2xldGVkIGJ5ICd0b3dlbC1zdHVmZicKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L3BhY2thZ2luZy5kZXBncmFwaC5yc3QgYi9Eb2MvbGlicmFyeS9wYWNrYWdpbmcuZGVwZ3JhcGgucnN0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMzODQ3ODgKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2MvbGlicmFyeS9wYWNrYWdpbmcuZGVwZ3JhcGgucnN0CkBAIC0wLDAgKzEsMTk5IEBACis6bW9kOmBwYWNrYWdpbmcuZGVwZ3JhcGhgIC0tLSBEZXBlbmRlbmN5IGdyYXBoIGJ1aWxkZXIKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCisuLiBtb2R1bGU6OiBwYWNrYWdpbmcuZGVwZ3JhcGgKKyAgIDpzeW5vcHNpczogR3JhcGggYnVpbGRlciBmb3IgZGVwZW5kZW5jaWVzIGJldHdlZW4gcmVsZWFzZXMuCisKKworVGhpcyBtb2R1bGUgcHJvdmlkZXMgdGhlIG1lYW5zIHRvIGFuYWx5c2UgdGhlIGRlcGVuZGVuY2llcyBiZXR3ZWVuIHZhcmlvdXMKK2Rpc3RyaWJ1dGlvbnMgYW5kIHRvIGNyZWF0ZSBhIGdyYXBoIHJlcHJlc2VudGluZyB0aGVzZSBkZXBlbmRlbmN5IHJlbGF0aW9uc2hpcHMuCitJbiB0aGlzIGRvY3VtZW50LCAiZGlzdHJpYnV0aW9uIiByZWZlcnMgdG8gYW4gaW5zdGFuY2Ugb2YKKzpjbGFzczpgcGFja2FnaW5nLmRhdGFiYXNlLkRpc3RyaWJ1dGlvbmAgb3IKKzpjbGFzczpgcGFja2FnaW5nLmRhdGFiYXNlLkVnZ0luZm9EaXN0cmlidXRpb25gLgorCisuLiBYWFggdGVybWlub2xvZ3kgcHJvYmxlbSB3aXRoIGRpc3QgdnMuIHJlbGVhc2U6IGRpc3RzIGFyZSBpbnN0YWxsZWQsIGJ1dCBkZXBzCisgICB1c2UgcmVsZWFzZXMKKworLi4gWFhYIGV4cGxhaW4gaG93IHRvIHVzZSBpdCB3aXRoIGRpc3RzIG5vdCBpbnN0YWxsZWQ6IERpc3RyaWJ1dGlvbiBjYW4gb25seSBiZQorICAgaW5zdGFudGlhdGVkIHdpdGggYSBwYXRoLCBidXQgdGhpcyBtb2R1bGUgaXMgdXNlZnVsIGZvciByZW1vdGUgZGlzdCB0b28KKworLi4gWFhYIGZ1bmN0aW9ucyBzaG91bGQgYWNjZXB0IGFuZCByZXR1cm4gaXRlcmF0b3JzLCBub3QgbGlzdHMKKworCitUaGUgOmNsYXNzOmBEZXBlbmRlbmN5R3JhcGhgIGNsYXNzCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKy4uIGNsYXNzOjogRGVwZW5kZW5jeUdyYXBoCisKKyAgIFJlcHJlc2VudCBhIGRlcGVuZGVuY3kgZ3JhcGggYmV0d2VlbiByZWxlYXNlcy4gIFRoZSBub2RlcyBhcmUgZGlzdHJpYnV0aW9uCisgICBpbnN0YW5jZXM7IHRoZSBlZGdlIG1vZGVsIGRlcGVuZGVuY2llcy4gIEFuIGVkZ2UgZnJvbSBgYGFgYCB0byBgYGJgYCBtZWFucworICAgdGhhdCBgYGFgYCBkZXBlbmRzIG9uIGBgYmBgLgorCisgICAuLiBtZXRob2Q6OiBhZGRfZGlzdHJpYnV0aW9uKGRpc3RyaWJ1dGlvbikKKworICAgICAgQWRkICpkaXN0cmlidXRpb24qIHRvIHRoZSBncmFwaC4KKworICAgLi4gbWV0aG9kOjogYWRkX2VkZ2UoeCwgeSwgbGFiZWw9Tm9uZSkKKworICAgICAgQWRkIGFuIGVkZ2UgZnJvbSBkaXN0cmlidXRpb24gKngqIHRvIGRpc3RyaWJ1dGlvbiAqeSogd2l0aCB0aGUgZ2l2ZW4KKyAgICAgICpsYWJlbCogKHN0cmluZykuCisKKyAgIC4uIG1ldGhvZDo6IGFkZF9taXNzaW5nKGRpc3RyaWJ1dGlvbiwgcmVxdWlyZW1lbnQpCisKKyAgICAgIEFkZCBhIG1pc3NpbmcgKnJlcXVpcmVtZW50KiAoc3RyaW5nKSBmb3IgdGhlIGdpdmVuICpkaXN0cmlidXRpb24qLgorCisgICAuLiBtZXRob2Q6OiByZXByX25vZGUoZGlzdCwgbGV2ZWw9MSkKKworICAgICAgUHJpbnQgYSBzdWJncmFwaCBzdGFydGluZyBmcm9tICpkaXN0Ki4gICpsZXZlbCogZ2l2ZXMgdGhlIGRlcHRoIG9mIHRoZQorICAgICAgc3ViZ3JhcGguCisKKyAgIERpcmVjdCBhY2Nlc3MgdG8gdGhlIGdyYXBoIG5vZGVzIGFuZCBlZGdlcyBpcyBwcm92aWRlZCB0aHJvdWdoIHRoZXNlCisgICBhdHRyaWJ1dGVzOgorCisgICAuLiBhdHRyaWJ1dGU6OiBhZGphY2VuY3lfbGlzdAorCisgICAgICBEaWN0aW9uYXJ5IG1hcHBpbmcgZGlzdHJpYnV0aW9ucyB0byBhIGxpc3Qgb2YgYGAob3RoZXIsIGxhYmVsKWBgIHR1cGxlcworICAgICAgd2hlcmUgIGBgb3RoZXJgYCBpcyBhIGRpc3RyaWJ1dGlvbiBhbmQgdGhlIGVkZ2UgaXMgbGFiZWxlZCB3aXRoIGBgbGFiZWxgYAorICAgICAgKGkuZS4gdGhlIHZlcnNpb24gc3BlY2lmaWVyLCBpZiBzdWNoIHdhcyBwcm92aWRlZCkuCisKKyAgIC4uIGF0dHJpYnV0ZTo6IHJldmVyc2VfbGlzdAorCisgICAgICBEaWN0aW9uYXJ5IG1hcHBpbmcgZGlzdHJpYnV0aW9ucyB0byBhIGxpc3Qgb2YgcHJlZGVjZXNzb3JzLiAgVGhpcyBhbGxvd3MKKyAgICAgIGVmZmljaWVudCB0cmF2ZXJzYWwuCisKKyAgIC4uIGF0dHJpYnV0ZTo6IG1pc3NpbmcKKworICAgICAgRGljdGlvbmFyeSBtYXBwaW5nIGRpc3RyaWJ1dGlvbnMgdG8gYSBsaXN0IG9mIHJlcXVpcmVtZW50cyB0aGF0IHdlcmUgbm90CisgICAgICBwcm92aWRlZCBieSBhbnkgZGlzdHJpYnV0aW9uLgorCisKK0F1eGlsaWFyeSBmdW5jdGlvbnMKKy0tLS0tLS0tLS0tLS0tLS0tLS0KKworLi4gZnVuY3Rpb246OiBkZXBlbmRlbnRfZGlzdHMoZGlzdHMsIGRpc3QpCisKKyAgIFJlY3Vyc2l2ZWx5IGdlbmVyYXRlIGEgbGlzdCBvZiBkaXN0cmlidXRpb25zIGZyb20gKmRpc3RzKiB0aGF0IGFyZSBkZXBlbmRlbnQKKyAgIG9uICpkaXN0Ki4KKworICAgLi4gWFhYIHdoYXQgZG9lcyBtZW1iZXIgbWVhbiBoZXJlOiAiZGlzdCBpcyBhIG1lbWJlciBvZiAqZGlzdHMqIGZvciB3aGljaCB3ZQorICAgICAgYXJlIGludGVyZXN0ZWQiCisKKy4uIGZ1bmN0aW9uOjogZ2VuZXJhdGVfZ3JhcGgoZGlzdHMpCisKKyAgIEdlbmVyYXRlIGEgOmNsYXNzOmBEZXBlbmRlbmN5R3JhcGhgIGZyb20gdGhlIGdpdmVuIGxpc3Qgb2YgZGlzdHJpYnV0aW9ucy4KKworICAgLi4gWFhYIG1ha2UgdGhpcyBhbHRlcm5hdGUgY29uc3RydWN0b3IgYSBEZXBHcmFwaCBjbGFzc21ldGhvZCBvciByZW5hbWU7CisgICAgICAnZ2VuZXJhdGUnIGNhbiBzdWdnZXN0IGl0IGNyZWF0ZXMgYSBmaWxlIG9yIGFuIGltYWdlLCB1c2UgJ21ha2UnCisKKy4uIGZ1bmN0aW9uOjogZ3JhcGhfdG9fZG90KGdyYXBoLCBmLCBza2lwX2Rpc2Nvbm5lY3RlZD1UcnVlKQorCisgICBXcml0ZSBhIERPVCBvdXRwdXQgZm9yIHRoZSBncmFwaCB0byB0aGUgZmlsZS1saWtlIG9iamVjdCAqZiouCisKKyAgIElmICpza2lwX2Rpc2Nvbm5lY3RlZCogaXMgdHJ1ZSwgYWxsIGRpc3RyaWJ1dGlvbnMgdGhhdCBhcmUgbm90IGRlcGVuZGVudCBvbgorICAgYW55IG90aGVyIGRpc3RyaWJ1dGlvbiBhcmUgc2tpcHBlZC4KKworICAgLi4gWFhYIHdoeSBpcyB0aGlzIG5vdCBhIERlcEdyYXBoIG1ldGhvZD8KKworCitFeGFtcGxlIFVzYWdlCistLS0tLS0tLS0tLS0tCisKK0RlcGljdCBhbGwgZGVwZW5kZW5jaWVzcyBpbiB0aGUgc3lzdGVtCiteXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXgorCitGaXJzdCwgd2Ugc2hhbGwgZ2VuZXJhdGUgYSBncmFwaCBvZiBhbGwgdGhlIGRpc3RyaWJ1dGlvbnMgb24gdGhlIHN5c3RlbQorYW5kIHRoZW4gY3JlYXRlIGFuIGltYWdlIG91dCBvZiBpdCB1c2luZyB0aGUgdG9vbHMgcHJvdmlkZWQgYnkKK2BHcmFwaHZpeiA8aHR0cDovL3d3dy5ncmFwaHZpei5vcmcvPmBfOjoKKworICAgZnJvbSBwYWNrYWdpbmcuZGF0YWJhc2UgaW1wb3J0IGdldF9kaXN0cmlidXRpb25zCisgICBmcm9tIHBhY2thZ2luZy5kZXBncmFwaCBpbXBvcnQgZ2VuZXJhdGVfZ3JhcGgKKworICAgZGlzdHMgPSBsaXN0KGdldF9kaXN0cmlidXRpb25zKCkpCisgICBncmFwaCA9IGdlbmVyYXRlX2dyYXBoKGRpc3RzKQorCitJdCB3b3VsZCBiZSBpbnRlcmVzdGluZyB0byBwcmludCBvdXQgdGhlIG1pc3NpbmcgcmVxdWlyZW1lbnRzLiAgVGhpcyBjYW4gYmUgZG9uZQorYXMgZm9sbG93czo6CisKKyAgIGZvciBkaXN0LCByZXFzIGluIGdyYXBoLm1pc3NpbmcuaXRlbXMoKToKKyAgICAgICBpZiByZXFzOgorICAgICAgICAgICByZXFzID0gJyAsJy5qb2luKHJlcHIocmVxKSBmb3IgcmVxIGluIHJlcXMpCisgICAgICAgICAgIHByaW50KCdNaXNzaW5nIGRlcGVuZGVuY2llcyBmb3IgJXI6ICVzJyAlIChkaXN0Lm5hbWUsIHJlcXMpKQorCitFeGFtcGxlIG91dHB1dCBpczoKKworLi4gY29kZS1ibG9jazo6IG5vbmUKKworICAgTWlzc2luZyBkZXBlbmRlbmNpZXMgZm9yICdUdXJib0NoZWV0YWgnOiAnQ2hlZXRhaCcKKyAgIE1pc3NpbmcgZGVwZW5kZW5jaWVzIGZvciAnVHVyYm9HZWFycyc6ICdDb25maWdPYmonLCAnRGVjb3JhdG9yVG9vbHMnLCAnUnVsZURpc3BhdGNoJworICAgTWlzc2luZyBkZXBlbmRlbmNpZXMgZm9yICdqb2NrZXknOiAnUHlLREU0LmtkZWNvcmUnLCAnUHlLREU0LmtkZXVpJywgJ1B5UXQ0LlF0Q29yZScsICdQeVF0NC5RdEd1aScKKyAgIE1pc3NpbmcgZGVwZW5kZW5jaWVzIGZvciAnVHVyYm9LaWQnOiAna2lkJworICAgTWlzc2luZyBkZXBlbmRlbmNpZXMgZm9yICdUdXJib0pzb246ICdEZWNvcmF0b3JUb29scycsICdSdWxlRGlzcGF0Y2gnCisKK05vdywgd2UgcHJvY2VlZCB3aXRoIGdlbmVyYXRpbmcgYSBncmFwaGljYWwgcmVwcmVzZW50YXRpb24gb2YgdGhlIGdyYXBoLiBGaXJzdAord2Ugd3JpdGUgaXQgdG8gYSBmaWxlLCBhbmQgdGhlbiB3ZSBnZW5lcmF0ZSBhIFBORyBpbWFnZSB1c2luZyB0aGUKKzpwcm9ncmFtOmBkb3RgIGNvbW1hbmQtbGluZSB0b29sOjoKKworICAgZnJvbSBwYWNrYWdpbmcuZGVwZ3JhcGggaW1wb3J0IGdyYXBoX3RvX2RvdAorICAgd2l0aCBvcGVuKCdvdXRwdXQuZG90JywgJ3cnKSBhcyBmOgorICAgICAgIyBvbmx5IHNob3cgdGhlIGludGVyZXN0aW5nIGRpc3RyaWJ1dGlvbnMsIHNraXBwaW5nIHRoZSBkaXNjb25uZWN0ZWQgb25lcworICAgICAgZ3JhcGhfdG9fZG90KGdyYXBoLCBmLCBza2lwX2Rpc2Nvbm5lY3RlZD1UcnVlKQorCitXZSBjYW4gY3JlYXRlIHRoZSBmaW5hbCBwaWN0dXJlIHVzaW5nOgorCisuLiBjb2RlLWJsb2NrOjogc2gKKworICAgJCBkb3QgLVRwbmcgb3V0cHV0LmRvdCA+IG91dHB1dC5wbmcKKworQW4gZXhhbXBsZSByZXN1bHQgaXM6CisKKy4uIGZpZ3VyZTo6IGRlcGdyYXBoLW91dHB1dC5wbmcKKyAgIDphbHQ6IEV4YW1wbGUgUE5HIG91dHB1dCBmcm9tIHBhY2thZ2luZy5kZXBncmFwaCBhbmQgZG90CisKK0lmIHlvdSB3YW50IHRvIGluY2x1ZGUgZWdnIGRpc3RyaWJ1dGlvbnMgYXMgd2VsbCwgdGhlbiB0aGUgY29kZSByZXF1aXJlcyBvbmx5CitvbmUgY2hhbmdlLCBuYW1lbHkgdGhlIGxpbmU6OgorCisgICBkaXN0cyA9IGxpc3QocGFja2FnaW5nLmRhdGFiYXNlLmdldF9kaXN0cmlidXRpb25zKCkpCisKK2hhcyB0byBiZSByZXBsYWNlZCB3aXRoOjoKKworICAgZGlzdHMgPSBsaXN0KHBhY2thZ2luZy5kYXRhYmFzZS5nZXRfZGlzdHJpYnV0aW9ucyh1c2VfZWdnX2luZm89VHJ1ZSkpCisKK09uIG1hbnkgcGxhdGZvcm1zLCBhIHJpY2hlciBncmFwaCBpcyBvYnRhaW5lZCBiZWNhdXNlIGF0IHRoZSBtb21lbnQgbW9zdAorZGlzdHJpYnV0aW9ucyBhcmUgcHJvdmlkZWQgaW4gdGhlIGVnZyByYXRoZXIgdGhhbiB0aGUgbmV3IHN0YW5kYXJkCitgYC5kaXN0LWluZm9gYCBmb3JtYXQuCisKKy4uIFhYWCBtaXNzaW5nIGltYWdlCisKKyAgIEFuIGV4YW1wbGUgb2YgYSBtb3JlIGludm9sdmVkIGdyYXBoIGZvciBpbGx1c3RyYXRpdmUgcmVhc29ucyBjYW4gYmUgc2VlbgorICAgaGVyZToKKworICAgLi4gaW1hZ2U6OiBkZXBncmFwaF9iaWcucG5nCisKKworTGlzdCBhbGwgZGVwZW5kZW50IGRpc3RyaWJ1dGlvbnMKK15eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eCisKK1dlIHdpbGwgbGlzdCBhbGwgZGlzdHJpYnV0aW9ucyB0aGF0IGFyZSBkZXBlbmRlbnQgb24gc29tZSBnaXZlbiBkaXN0aWJ1dGlvbi4KK1RoaXMgdGltZSwgZWdnIGRpc3RyaWJ1dGlvbnMgd2lsbCBiZSBjb25zaWRlcmVkIGFzIHdlbGw6OgorCisgICBpbXBvcnQgc3lzCisgICBmcm9tIHBhY2thZ2luZy5kYXRhYmFzZSBpbXBvcnQgZ2V0X2Rpc3RyaWJ1dGlvbiwgZ2V0X2Rpc3RyaWJ1dGlvbnMKKyAgIGZyb20gcGFja2FnaW5nLmRlcGdyYXBoIGltcG9ydCBkZXBlbmRlbnRfZGlzdHMKKworICAgZGlzdHMgPSBsaXN0KGdldF9kaXN0cmlidXRpb25zKHVzZV9lZ2dfaW5mbz1UcnVlKSkKKyAgIGRpc3QgPSBnZXRfZGlzdHJpYnV0aW9uKCdiYWNvbicsIHVzZV9lZ2dfaW5mbz1UcnVlKQorICAgaWYgZGlzdCBpcyBOb25lOgorICAgICAgIHN5cy5leGl0KCdObyBzdWNoIGRpc3RyaWJ1dGlvbiBpbiB0aGUgc3lzdGVtJykKKworICAgZGVwcyA9IGRlcGVuZGVudF9kaXN0cyhkaXN0cywgZGlzdCkKKyAgIGRlcHMgPSAnLCAnLmpvaW4ocmVwcih4Lm5hbWUpIGZvciB4IGluIGRlcHMpCisgICBwcmludCgnRGlzdHJpYnV0aW9ucyBkZXBlbmRpbmcgb24gJXI6ICVzJyAlIChkaXN0Lm5hbWUsIGRlcHMpKQorCitBbmQgdGhpcyBpcyBleGFtcGxlIG91dHB1dDoKKworLi4gd2l0aCB0aGUgZGVwZW5kZW5jeSByZWxhdGlvbnNoaXBzIGFzIGluIHRoZSBwcmV2aW91cyBzZWN0aW9uCisgICAoZGVwZ3JhcGhfYmlnKQorCisuLiBjb2RlLWJsb2NrOjogbm9uZQorCisgICBEaXN0cmlidXRpb25zIGRlcGVuZGluZyBvbiAnYmFjb24nOiAndG93ZWwtc3R1ZmYnLCAnY2hveGllJywgJ2dyYW1tYXInCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9wYWNrYWdpbmcuZGlzdC5yc3QgYi9Eb2MvbGlicmFyeS9wYWNrYWdpbmcuZGlzdC5yc3QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjVjYjYyYgotLS0gL2Rldi9udWxsCisrKyBiL0RvYy9saWJyYXJ5L3BhY2thZ2luZy5kaXN0LnJzdApAQCAtMCwwICsxLDEwOCBAQAorOm1vZDpgcGFja2FnaW5nLmRpc3RgIC0tLSBUaGUgRGlzdHJpYnV0aW9uIGNsYXNzCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworLi4gbW9kdWxlOjogcGFja2FnaW5nLmRpc3QKKyAgIDpzeW5vcHNpczogQ29yZSBEaXN0cmlidXRpb24gY2xhc3MuCisKKworVGhpcyBtb2R1bGUgcHJvdmlkZXMgdGhlIDpjbGFzczpgRGlzdHJpYnV0aW9uYCBjbGFzcywgd2hpY2ggcmVwcmVzZW50cyB0aGUKK21vZHVsZSBkaXN0cmlidXRpb24gYmVpbmcgYnVpbHQvcGFja2FnZWQvZGlzdHJpYnV0ZWQvaW5zdGFsbGVkLgorCisuLiBjbGFzczo6IERpc3RyaWJ1dGlvbihhcmd1bWVudHMpCisKKyAgIEEgOmNsYXNzOmBEaXN0cmlidXRpb25gIGRlc2NyaWJlcyBob3cgdG8gYnVpbGQsIHBhY2thZ2UsIGRpc3RyaWJ1dGUgYW5kCisgICBpbnN0YWxsIGEgUHl0aG9uIHByb2plY3QuCisKKyAgIFRoZSBhcmd1bWVudHMgYWNjZXB0ZWQgYnkgdGhlIGNvbnN0cnVjdG9yIGFyZSBsYWlkIG91dCBpbiB0aGUgZm9sbG93aW5nCisgICB0YWJsZS4gIFNvbWUgb2YgdGhlbSB3aWxsIGVuZCB1cCBpbiBhIG1ldGFkYXRhIG9iamVjdCwgdGhlIHJlc3Qgd2lsbCBiZWNvbWUKKyAgIGRhdGEgYXR0cmlidXRlcyBvZiB0aGUgOmNsYXNzOmBEaXN0cmlidXRpb25gIGluc3RhbmNlLgorCisgICAuLiBUT0RPIGltcHJvdmUgY29uc3RydWN0b3IgdG8gdGFrZSBhIE1ldGFkYXRhIG9iamVjdCArIG5hbWVkIHBhcmFtcz8KKyAgICAgIChpLmUuIERpc3RyaWJ1dGlvbihtZXRhZGF0YSwgY21kY2xhc3MsIHB5X21vZHVsZXMsIGV0YykKKyAgIC4uIFRPRE8gYWxzbyByZW1vdmUgb2Jzb2xldGUoPykgc2NyaXB0X25hbWUsIGV0Yy4gcGFyYW1ldGVycz8gIHNlZSB3aGF0CisgICAgICBweTJleGUgYW5kIG90aGVyIHRvb2xzIG5lZWQKKworICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCisgICB8IGFyZ3VtZW50IG5hbWUgICAgICB8IHZhbHVlICAgICAgICAgICAgICAgICAgICAgICAgICB8IHR5cGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICs9PT09PT09PT09PT09PT09PT09PSs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09KworICAgfCAqbmFtZSogICAgICAgICAgICAgfCBUaGUgbmFtZSBvZiB0aGUgcHJvamVjdCAgICAgICAgfCBhIHN0cmluZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKKyAgIHwgKnZlcnNpb24qICAgICAgICAgIHwgVGhlIHZlcnNpb24gbnVtYmVyIG9mIHRoZSAgICAgIHwgYSBzdHJpbmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgfCAgICAgICAgICAgICAgICAgICAgfCByZWxlYXNlOyBzZWUgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICB8ICAgICAgICAgICAgICAgICAgICB8IDptb2Q6YHBhY2thZ2luZy52ZXJzaW9uYCAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworICAgfCAqc3VtbWFyeSogICAgICAgICAgfCBBIHNpbmdsZSBsaW5lIGRlc2NyaWJpbmcgdGhlICAgfCBhIHN0cmluZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICB8ICAgICAgICAgICAgICAgICAgICB8IHByb2plY3QgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworICAgfCAqZGVzY3JpcHRpb24qICAgICAgfCBMb25nZXIgZGVzY3JpcHRpb24gb2YgdGhlICAgICAgfCBhIHN0cmluZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICB8ICAgICAgICAgICAgICAgICAgICB8IHByb2plY3QgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworICAgfCAqYXV0aG9yKiAgICAgICAgICAgfCBUaGUgbmFtZSBvZiB0aGUgcHJvamVjdCBhdXRob3IgfCBhIHN0cmluZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKKyAgIHwgKmF1dGhvcl9lbWFpbCogICAgIHwgVGhlIGVtYWlsIGFkZHJlc3Mgb2YgdGhlICAgICAgIHwgYSBzdHJpbmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgfCAgICAgICAgICAgICAgICAgICAgfCBwcm9qZWN0IGF1dGhvciAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKKyAgIHwgKm1haW50YWluZXIqICAgICAgIHwgVGhlIG5hbWUgb2YgdGhlIGN1cnJlbnQgICAgICAgIHwgYSBzdHJpbmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgfCAgICAgICAgICAgICAgICAgICAgfCBtYWludGFpbmVyLCBpZiBkaWZmZXJlbnQgZnJvbSAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICB8ICAgICAgICAgICAgICAgICAgICB8IHRoZSBhdXRob3IgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworICAgfCAqbWFpbnRhaW5lcl9lbWFpbCogfCBUaGUgZW1haWwgYWRkcmVzcyBvZiB0aGUgICAgICAgfCBhIHN0cmluZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICB8ICAgICAgICAgICAgICAgICAgICB8IGN1cnJlbnQgbWFpbnRhaW5lciwgaWYgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgIHwgICAgICAgICAgICAgICAgICAgIHwgZGlmZmVyZW50IGZyb20gdGhlIGF1dGhvciAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCisgICB8ICpob21lX3BhZ2UqICAgICAgICB8IEEgVVJMIGZvciB0aGUgcHJvZWpjdCAgICAgICAgICB8IGEgc3RyaW5nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgIHwgICAgICAgICAgICAgICAgICAgIHwgKGhvbWVwYWdlKSAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCisgICB8ICpkb3dubG9hZF91cmwqICAgICB8IEEgVVJMIHRvIGRvd25sb2FkIHRoZSBwcm9qZWN0ICB8IGEgc3RyaW5nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworICAgfCAqcGFja2FnZXMqICAgICAgICAgfCBBIGxpc3Qgb2YgUHl0aG9uIHBhY2thZ2VzIHRoYXQgfCBhIGxpc3Qgb2Ygc3RyaW5ncyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICB8ICAgICAgICAgICAgICAgICAgICB8IHBhY2thZ2luZyB3aWxsIG1hbmlwdWxhdGUgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworICAgfCAqcHlfbW9kdWxlcyogICAgICAgfCBBIGxpc3Qgb2YgUHl0aG9uIG1vZHVsZXMgdGhhdCAgfCBhIGxpc3Qgb2Ygc3RyaW5ncyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICB8ICAgICAgICAgICAgICAgICAgICB8IHBhY2thZ2luZyB3aWxsIG1hbmlwdWxhdGUgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworICAgfCAqc2NyaXB0cyogICAgICAgICAgfCBBIGxpc3Qgb2Ygc3RhbmRhbG9uZSBzY3JpcHRzICAgfCBhIGxpc3Qgb2Ygc3RyaW5ncyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICB8ICAgICAgICAgICAgICAgICAgICB8IHRvIGJlIGJ1aWx0IGFuZCBpbnN0YWxsZWQgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworICAgfCAqZXh0X21vZHVsZXMqICAgICAgfCBBIGxpc3Qgb2YgUHl0aG9uIGV4dGVuc2lvbnMgdG8gfCBhIGxpc3Qgb2YgaW5zdGFuY2VzIG9mICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICB8ICAgICAgICAgICAgICAgICAgICB8IGJlIGJ1aWx0ICAgICAgICAgICAgICAgICAgICAgICB8IDpjbGFzczpgcGFja2FnaW5nLmNvbXBpbGVyLmV4dGVuc2lvbi5FeHRlbnNpb25gICAgICAgICAgICAgIHwKKyAgICstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworICAgfCAqY2xhc3NpZmllcnMqICAgICAgfCBBIGxpc3Qgb2YgY2F0ZWdvcmllcyBmb3IgdGhlICAgfCBhIGxpc3Qgb2Ygc3RyaW5nczsgdmFsaWQgY2xhc3NpZmllcnMgYXJlIGxpc3RlZCBvbiBgUHlQaSAgICB8CisgICB8ICAgICAgICAgICAgICAgICAgICB8IGRpc3RyaWJ1dGlvbiAgICAgICAgICAgICAgICAgICB8IDxodHRwOi8vcHlwaS5weXRob24ub3JnL3B5cGk/OmFjdGlvbj1saXN0X2NsYXNzaWZpZXJzPmBfLiAgIHwKKyAgICstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworICAgfCAqZGlzdGNsYXNzKiAgICAgICAgfCB0aGUgOmNsYXNzOmBEaXN0cmlidXRpb25gICAgICAgfCBhIHN1YmNsYXNzIG9mICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICB8ICAgICAgICAgICAgICAgICAgICB8IGNsYXNzIHRvIHVzZSAgICAgICAgICAgICAgICAgICB8IDpjbGFzczpgcGFja2FnaW5nLmRpc3QuRGlzdHJpYnV0aW9uYCAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworICAgfCAqc2NyaXB0X25hbWUqICAgICAgfCBUaGUgbmFtZSBvZiB0aGUgc2V0dXAucHkgICAgICAgfCBhIHN0cmluZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICB8ICAgICAgICAgICAgICAgICAgICB8IHNjcmlwdCAtIGRlZmF1bHRzIHRvICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgIHwgICAgICAgICAgICAgICAgICAgIHwgYGBzeXMuYXJndlswXWBgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCisgICB8ICpzY3JpcHRfYXJncyogICAgICB8IEFyZ3VtZW50cyB0byBzdXBwbHkgdG8gdGhlICAgICB8IGEgbGlzdCBvZiBzdHJpbmdzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgIHwgICAgICAgICAgICAgICAgICAgIHwgc2V0dXAgc2NyaXB0ICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCisgICB8ICpvcHRpb25zKiAgICAgICAgICB8IGRlZmF1bHQgb3B0aW9ucyBmb3IgdGhlIHNldHVwICB8IGEgc3RyaW5nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgIHwgICAgICAgICAgICAgICAgICAgIHwgc2NyaXB0ICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCisgICB8ICpsaWNlbnNlKiAgICAgICAgICB8IFRoZSBsaWNlbnNlIGZvciB0aGUgICAgICAgICAgICB8IGEgc3RyaW5nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgIHwgICAgICAgICAgICAgICAgICAgIHwgZGlzdHJpYnV0aW9uOyBzaG91bGQgYmUgdXNlZCAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgfCAgICAgICAgICAgICAgICAgICAgfCB3aGVuIHRoZXJlIGlzIG5vIHN1aXRhYmxlICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICB8ICAgICAgICAgICAgICAgICAgICB8IExpY2Vuc2UgY2xhc3NpZmllciwgb3IgdG8gICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgIHwgICAgICAgICAgICAgICAgICAgIHwgcmVmaW5lIGEgY2xhc3NpZmllciAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCisgICB8ICprZXl3b3JkcyogICAgICAgICB8IERlc2NyaXB0aXZlIGtleXdvcmRzOyB1c2VkIGJ5ICB8IGEgbGlzdCBvZiBzdHJpbmdzIG9yIGEgY29tbWEtc2VwYXJhdGVkIHN0cmluZyAgICAgICAgICAgICAgIHwKKyAgIHwgICAgICAgICAgICAgICAgICAgIHwgY2F0YWxvZ3Mgc3VjaCBhcyBQeVBJICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCisgICB8ICpwbGF0Zm9ybXMqICAgICAgICB8IFBsYXRmb3JtcyBjb21wYXRpYmxlIHdpdGggdGhpcyB8IGEgbGlzdCBvZiBzdHJpbmdzIG9yIGEgY29tbWEtc2VwYXJhdGVkIHN0cmluZyAgICAgICAgICAgICAgIHwKKyAgIHwgICAgICAgICAgICAgICAgICAgIHwgZGlzdHJpYnV0aW9uOyBzaG91bGQgYmUgdXNlZCAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgfCAgICAgICAgICAgICAgICAgICAgfCB3aGVuIHRoZXJlIGlzIG5vIHN1aXRhYmxlICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICB8ICAgICAgICAgICAgICAgICAgICB8IFBsYXRmb3JtIGNsYXNzaWZpZXIgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworICAgfCAqY21kY2xhc3MqICAgICAgICAgfCBBIG1hcHBpbmcgb2YgY29tbWFuZCBuYW1lcyB0byAgfCBhIGRpY3Rpb25hcnkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICB8ICAgICAgICAgICAgICAgICAgICB8IDpjbGFzczpgQ29tbWFuZGAgc3ViY2xhc3NlcyAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworICAgfCAqZGF0YV9maWxlcyogICAgICAgfCBBIGxpc3Qgb2YgZGF0YSBmaWxlcyB0byAgICAgICAgfCBhIGxpc3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICB8ICAgICAgICAgICAgICAgICAgICB8IGluc3RhbGwgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworICAgfCAqcGFja2FnZV9kaXIqICAgICAgfCBBIG1hcHBpbmcgb2YgUHl0aG9uIHBhY2thZ2VzICAgfCBhIGRpY3Rpb25hcnkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICB8ICAgICAgICAgICAgICAgICAgICB8IHRvIGRpcmVjdG9yeSBuYW1lcyAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvcGFja2FnaW5nLmZhbmN5X2dldG9wdC5yc3QgYi9Eb2MvbGlicmFyeS9wYWNrYWdpbmcuZmFuY3lfZ2V0b3B0LnJzdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYzY5MzQxCi0tLSAvZGV2L251bGwKKysrIGIvRG9jL2xpYnJhcnkvcGFja2FnaW5nLmZhbmN5X2dldG9wdC5yc3QKQEAgLTAsMCArMSw3NSBAQAorOm1vZDpgcGFja2FnaW5nLmZhbmN5X2dldG9wdGAgLS0tIFdyYXBwZXIgYXJvdW5kIHRoZSBnZXRvcHQgbW9kdWxlCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworLi4gbW9kdWxlOjogcGFja2FnaW5nLmZhbmN5X2dldG9wdAorICAgOnN5bm9wc2lzOiBBZGRpdGlvbmFsIGdldG9wdCBmdW5jdGlvbmFsaXR5LgorCisKKy4uIHdhcm5pbmc6OgorICAgVGhpcyBtb2R1bGUgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZXBsYWNlZCB3aXRoIDptb2Q6YG9wdHBhcnNlYC4KKworVGhpcyBtb2R1bGUgcHJvdmlkZXMgYSB3cmFwcGVyIGFyb3VuZCB0aGUgc3RhbmRhcmQgOm1vZDpgZ2V0b3B0YCBtb2R1bGUgdGhhdAorcHJvdmlkZXMgdGhlIGZvbGxvd2luZyBhZGRpdGlvbmFsIGZlYXR1cmVzOgorCisqIHNob3J0IGFuZCBsb25nIG9wdGlvbnMgYXJlIHRpZWQgdG9nZXRoZXIKKworKiBvcHRpb25zIGhhdmUgaGVscCBzdHJpbmdzLCBzbyA6ZnVuYzpgZmFuY3lfZ2V0b3B0YCBjb3VsZCBwb3RlbnRpYWxseSBjcmVhdGUgYQorICBjb21wbGV0ZSB1c2FnZSBzdW1tYXJ5CisKKyogb3B0aW9ucyBzZXQgYXR0cmlidXRlcyBvZiBhIHBhc3NlZC1pbiBvYmplY3QKKworKiBib29sZWFuIG9wdGlvbnMgY2FuIGhhdmUgIm5lZ2F0aXZlIGFsaWFzZXMiIC0tLSBlLmcuIGlmIDpvcHRpb246YC0tcXVpZXRgIGlzCisgIHRoZSAibmVnYXRpdmUgYWxpYXMiIG9mIDpvcHRpb246YC0tdmVyYm9zZWAsIHRoZW4gOm9wdGlvbjpgLS1xdWlldGAgb24gdGhlCisgIGNvbW1hbmQgbGluZSBzZXRzICp2ZXJib3NlKiB0byBmYWxzZS4KKworLi4gZnVuY3Rpb246OiBmYW5jeV9nZXRvcHQob3B0aW9ucywgbmVnYXRpdmVfb3B0LCBvYmplY3QsIGFyZ3MpCisKKyAgIFdyYXBwZXIgZnVuY3Rpb24uICpvcHRpb25zKiBpcyBhIGxpc3Qgb2YgYGAobG9uZ19vcHRpb24sIHNob3J0X29wdGlvbiwKKyAgIGhlbHBfc3RyaW5nKWBgIDMtdHVwbGVzIGFzIGRlc2NyaWJlZCBpbiB0aGUgY29uc3RydWN0b3IgZm9yCisgICA6Y2xhc3M6YEZhbmN5R2V0b3B0YC4gKm5lZ2F0aXZlX29wdCogc2hvdWxkIGJlIGEgZGljdGlvbmFyeSBtYXBwaW5nIG9wdGlvbiBuYW1lcworICAgdG8gb3B0aW9uIG5hbWVzLCBib3RoIHRoZSBrZXkgYW5kIHZhbHVlIHNob3VsZCBiZSBpbiB0aGUgKm9wdGlvbnMqIGxpc3QuCisgICAqb2JqZWN0KiBpcyBhbiBvYmplY3Qgd2hpY2ggd2lsbCBiZSB1c2VkIHRvIHN0b3JlIHZhbHVlcyAoc2VlIHRoZSA6bWV0aDpgZ2V0b3B0YAorICAgbWV0aG9kIG9mIHRoZSA6Y2xhc3M6YEZhbmN5R2V0b3B0YCBjbGFzcykuICphcmdzKiBpcyB0aGUgYXJndW1lbnQgbGlzdC4gV2lsbCB1c2UKKyAgIGBgc3lzLmFyZ3ZbMTpdYGAgaWYgeW91IHBhc3MgYGBOb25lYGAgYXMgKmFyZ3MqLgorCisKKy4uIGNsYXNzOjogRmFuY3lHZXRvcHQoW29wdGlvbl90YWJsZT1Ob25lXSkKKworICAgVGhlIG9wdGlvbl90YWJsZSBpcyBhIGxpc3Qgb2YgMy10dXBsZXM6IGBgKGxvbmdfb3B0aW9uLCBzaG9ydF9vcHRpb24sCisgICBoZWxwX3N0cmluZylgYAorCisgICBJZiBhbiBvcHRpb24gdGFrZXMgYW4gYXJndW1lbnQsIGl0cyAqbG9uZ19vcHRpb24qIHNob3VsZCBoYXZlIGBgJz0nYGAgYXBwZW5kZWQ7CisgICAqc2hvcnRfb3B0aW9uKiBzaG91bGQganVzdCBiZSBhIHNpbmdsZSBjaGFyYWN0ZXIsIG5vIGBgJzonYGAgaW4gYW55IGNhc2UuCisgICAqc2hvcnRfb3B0aW9uKiBzaG91bGQgYmUgYGBOb25lYGAgaWYgYSAqbG9uZ19vcHRpb24qIGRvZXNuJ3QgaGF2ZSBhCisgICBjb3JyZXNwb25kaW5nICpzaG9ydF9vcHRpb24qLiBBbGwgb3B0aW9uIHR1cGxlcyBtdXN0IGhhdmUgbG9uZyBvcHRpb25zLgorCitUaGUgOmNsYXNzOmBGYW5jeUdldG9wdGAgY2xhc3MgcHJvdmlkZXMgdGhlIGZvbGxvd2luZyBtZXRob2RzOgorCisKKy4uIG1ldGhvZDo6IEZhbmN5R2V0b3B0LmdldG9wdChbYXJncz1Ob25lLCBvYmplY3Q9Tm9uZV0pCisKKyAgIFBhcnNlIGNvbW1hbmQtbGluZSBvcHRpb25zIGluIGFyZ3MuIFN0b3JlIGFzIGF0dHJpYnV0ZXMgb24gKm9iamVjdCouCisKKyAgIElmICphcmdzKiBpcyBgYE5vbmVgYCBvciBub3Qgc3VwcGxpZWQsIHVzZXMgYGBzeXMuYXJndlsxOl1gYC4gIElmICpvYmplY3QqIGlzCisgICBgYE5vbmVgYCBvciBub3Qgc3VwcGxpZWQsIGNyZWF0ZXMgYSBuZXcgOmNsYXNzOmBPcHRpb25EdW1teWAgaW5zdGFuY2UsIHN0b3JlcworICAgb3B0aW9uIHZhbHVlcyB0aGVyZSwgYW5kIHJldHVybnMgYSB0dXBsZSBgYChhcmdzLCBvYmplY3QpYGAuICBJZiAqb2JqZWN0KiBpcworICAgc3VwcGxpZWQsIGl0IGlzIG1vZGlmaWVkIGluIHBsYWNlIGFuZCA6ZnVuYzpgZ2V0b3B0YCBqdXN0IHJldHVybnMgKmFyZ3MqOyBpbgorICAgYm90aCBjYXNlcywgdGhlIHJldHVybmVkICphcmdzKiBpcyBhIG1vZGlmaWVkIGNvcHkgb2YgdGhlIHBhc3NlZC1pbiAqYXJncyogbGlzdCwKKyAgIHdoaWNoIGlzIGxlZnQgdW50b3VjaGVkLgorCisgICAuLiBUT0RPIGFuZCBhcmdzIHJldHVybmVkIGFyZT8KKworCisuLiBtZXRob2Q6OiBGYW5jeUdldG9wdC5nZXRfb3B0aW9uX29yZGVyKCkKKworICAgUmV0dXJucyB0aGUgbGlzdCBvZiBgYChvcHRpb24sIHZhbHVlKWBgIHR1cGxlcyBwcm9jZXNzZWQgYnkgdGhlIHByZXZpb3VzIHJ1biBvZgorICAgOm1ldGg6YGdldG9wdGAgIFJhaXNlcyA6ZXhjOmBSdW50aW1lRXJyb3JgIGlmIDptZXRoOmBnZXRvcHRgIGhhc24ndCBiZWVuIGNhbGxlZAorICAgeWV0LgorCisKKy4uIG1ldGhvZDo6IEZhbmN5R2V0b3B0LmdlbmVyYXRlX2hlbHAoW2hlYWRlcj1Ob25lXSkKKworICAgR2VuZXJhdGUgaGVscCB0ZXh0IChhIGxpc3Qgb2Ygc3RyaW5ncywgb25lIHBlciBzdWdnZXN0ZWQgbGluZSBvZiBvdXRwdXQpIGZyb20KKyAgIHRoZSBvcHRpb24gdGFibGUgZm9yIHRoaXMgOmNsYXNzOmBGYW5jeUdldG9wdGAgb2JqZWN0LgorCisgICBJZiBzdXBwbGllZCwgcHJpbnRzIHRoZSBzdXBwbGllZCAqaGVhZGVyKiBhdCB0aGUgdG9wIG9mIHRoZSBoZWxwLgpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvcGFja2FnaW5nLmluc3RhbGwucnN0IGIvRG9jL2xpYnJhcnkvcGFja2FnaW5nLmluc3RhbGwucnN0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNlMDA3NTAKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2MvbGlicmFyeS9wYWNrYWdpbmcuaW5zdGFsbC5yc3QKQEAgLTAsMCArMSwxMTIgQEAKKzptb2Q6YHBhY2thZ2luZy5pbnN0YWxsYCAtLS0gSW5zdGFsbGF0aW9uIHRvb2xzCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCisuLiBtb2R1bGU6OiBwYWNrYWdpbmcuaW5zdGFsbAorICAgOnN5bm9wc2lzOiBEb3dubG9hZCBhbmQgaW5zdGFsbGF0aW9uIGJ1aWxkaW5nIGJsb2NrcworCisKK1BhY2thZ2luZyBwcm92aWRlcyBhIHNldCBvZiB0b29scyB0byBkZWFsIHdpdGggZG93bmxvYWRzIGFuZCBpbnN0YWxsYXRpb24gb2YKK2Rpc3RyaWJ1dGlvbnMuICBUaGVpciByb2xlIGlzIHRvIGRvd25sb2FkIHRoZSBkaXN0cmlidXRpb24gZnJvbSBpbmRleGVzLCByZXNvbHZlCit0aGUgZGVwZW5kZW5jaWVzLCBhbmQgcHJvdmlkZSBhIHNhZmUgd2F5IHRvIGluc3RhbGwgZGlzdHJpYnV0aW9ucy4gIEFuIG9wZXJhdGlvbgordGhhdCBmYWlscyB3aWxsIGNsZWFubHkgcm9sbCBiYWNrLCBub3QgbGVhdmUgaGFsZi1pbnN0YWxsZWQgZGlzdHJpYnV0aW9ucyBvbiB0aGUKK3N5c3RlbS4gIEhlcmUncyB0aGUgYmFzaWMgcHJvY2VzcyBmb2xsb3dlZDoKKworIy4gTW92ZSBhbGwgZGlzdHJpYnV0aW9ucyB0aGF0IHdpbGwgYmUgcmVtb3ZlZCB0byBhIHRlbXBvcmFyeSBsb2NhdGlvbi4KKworIy4gSW5zdGFsbCBhbGwgdGhlIGRpc3RyaWJ1dGlvbnMgdGhhdCB3aWxsIGJlIGluc3RhbGxlZCBpbiBhIHRlbXBvcmFyeSBsb2NhdGlvbi4KKworIy4gSWYgdGhlIGluc3RhbGxhdGlvbiBmYWlscywgbW92ZSB0aGUgc2F2ZWQgZGlzdHJpYnV0aW9ucyBiYWNrIHRvIHRoZWlyCisgICBsb2NhdGlvbiBhbmQgZGVsZXRlIHRoZSBpbnN0YWxsZWQgZGlzdHJpYnV0aW9ucy4KKworIy4gT3RoZXJ3aXNlLCBtb3ZlIHRoZSBpbnN0YWxsZWQgZGlzdHJpYnV0aW9ucyB0byB0aGUgcmlnaHQgbG9jYXRpb24gYW5kIGRlbGV0ZQorICAgdGhlIHRlbXBvcmFyeSBsb2NhdGlvbnMuCisKK1RoaXMgaXMgYSBoaWdoZXItbGV2ZWwgbW9kdWxlIGJ1aWx0IG9uIDptb2Q6YHBhY2thZ2luZy5kYXRhYmFzZWAgYW5kCis6bW9kOmBwYWNrYWdpbmcucHlwaWAuCisKKworUHVibGljIGZ1bmN0aW9ucworLS0tLS0tLS0tLS0tLS0tLQorCisuLiBmdW5jdGlvbjo6IGdldF9pbmZvcyhyZXF1aXJlbWVudHMsIGluZGV4PU5vbmUsIGluc3RhbGxlZD1Ob25lLCBcCisgICAgICAgICAgICAgICAgICAgICAgICBwcmVmZXJfZmluYWw9VHJ1ZSkKKworICAgUmV0dXJuIGluZm9ybWF0aW9uIGFib3V0IHdoYXQncyBnb2luZyB0byBiZSBpbnN0YWxsZWQgYW5kIHVwZ3JhZGVkLgorICAgKnJlcXVpcmVtZW50cyogaXMgYSBzdHJpbmcgY29udGFpbmluZyB0aGUgcmVxdWlyZW1lbnRzIGZvciB0aGlzCisgICBwcm9qZWN0LCBmb3IgZXhhbXBsZSBgYCdGb29CYXIgMS4xJ2BgIG9yIGBgJ0JhckJheiAoPDEuMiknYGAuCisKKyAgIC4uIFhYWCBhcmUgcmVxdWlyZW1lbnRzIGNvbW1hLXNlcGFyYXRlZD8KKworICAgSWYgeW91IHdhbnQgdG8gdXNlIGFub3RoZXIgaW5kZXggdGhhbiB0aGUgbWFpbiBQeVBJLCBnaXZlIGl0cyBVUkkgYXMgKmluZGV4KgorICAgYXJndW1lbnQuCisKKyAgICppbnN0YWxsZWQqIGlzIGEgbGlzdCBvZiBhbHJlYWR5IGluc3RhbGxlZCBkaXN0cmlidXRpb25zIHVzZWQgdG8gZmluZAorICAgc2F0aXNmaWVkIGRlcGVuZGVuY2llcywgb2Jzb2xldGVkIGRpc3RyaWJ1dGlvbnMgYW5kIGV2ZW50dWFsIGNvbmZsaWN0cy4KKworICAgQnkgZGVmYXVsdCwgYWxwaGEsIGJldGEgYW5kIGNhbmRpZGF0ZSB2ZXJzaW9ucyBhcmUgbm90IHBpY2tlZCB1cC4gIFNldAorICAgKnByZWZlcl9maW5hbCogdG8gZmFsc2UgdG8gYWNjZXB0IHRoZW0gdG9vLgorCisgICBUaGUgcmVzdWx0cyBhcmUgcmV0dXJuZWQgaW4gYSBkaWN0aW9uYXJ5IGNvbnRhaW5pbmcgYWxsIHRoZSBpbmZvcm1hdGlvbgorICAgbmVlZGVkIHRvIHBlcmZvcm0gaW5zdGFsbGF0aW9uIG9mIHRoZSByZXF1aXJlbWVudHMgd2l0aCB0aGUKKyAgIDpmdW5jOmBpbnN0YWxsX2Zyb21faW5mb3NgIGZ1bmN0aW9uOgorCisgICA+Pj4gZ2V0X2luc3RhbGxfaW5mbygiRm9vQmFyICg8PTEuMikiKQorICAgeydpbnN0YWxsJzogWzxGb29CYXIgMS4xPl0sICdyZW1vdmUnOiBbXSwgJ2NvbmZsaWN0JzogW119CisKKyAgIC4uIFRPRE8gc2hvdWxkIHJldHVybiB0dXBsZSBvciBuYW1lZCB0dXBsZSwgbm90IGRpY3QKKyAgIC4uIFRPRE8gdXNlICJwcmVkaWNhdGUiIG9yICJyZXF1aXJlbWVudCIgY29uc2lzdGVudGx5IGluIHZlcnNpb24gYW5kIGhlcmUKKyAgIC4uIEZJWE1FICJpbmZvIiBjYW5ub3QgYmUgcGx1cmFsIGluIEVuZ2xpc2gsIHMvaW5mb3MvaW5mby8KKworCisuLiBmdW5jdGlvbjo6IGluc3RhbGwocHJvamVjdCkKKworCisuLiBmdW5jdGlvbjo6IGluc3RhbGxfZGlzdHMoZGlzdHMsIHBhdGgsIHBhdGhzPU5vbmUpCisKKyAgIFNhZmVseSBpbnN0YWxsIGFsbCBkaXN0cmlidXRpb25zIHByb3ZpZGVkIGluICpkaXN0cyogaW50byAqcGF0aCouICAqcGF0aHMqIGlzCisgICBhIGxpc3Qgb2YgcGF0aHMgd2hlcmUgYWxyZWFkeS1pbnN0YWxsZWQgZGlzdHJpYnV0aW9ucyB3aWxsIGJlIGxvb2tlZCBmb3IgdG8KKyAgIGZpbmQgc2F0aXNmaWVkIGRlcGVuZGVuY2llcyBhbmQgY29uZmxpY3RzIChkZWZhdWx0OiA6ZGF0YTpgc3lzLnBhdGhgKS4KKyAgIFJldHVybnMgYSBsaXN0IG9mIGluc3RhbGxlZCBkaXN0cy4KKworICAgLi4gRklYTUUgZGlzdHMgYXJlIGluc3RhbmNlcyBvZiB3aGF0PworCisKKy4uIGZ1bmN0aW9uOjogaW5zdGFsbF9mcm9tX2luZm9zKGluc3RhbGxfcGF0aD1Ob25lLCBpbnN0YWxsPVtdLCByZW1vdmU9W10sIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZsaWN0cz1bXSwgcGF0aHM9Tm9uZSkKKworICAgU2FmZWx5IGluc3RhbGwgYW5kIHJlbW92ZSBnaXZlbiBkaXN0cmlidXRpb25zLiAgVGhpcyBmdW5jdGlvbiBpcyBkZXNpZ25lZCB0bworICAgd29yayB3aXRoIHRoZSByZXR1cm4gdmFsdWUgb2YgOmZ1bmM6YGdldF9pbmZvc2A6ICppbnN0YWxsKiwgKnJlbW92ZSogYW5kCisgICAqY29uZmxpY3RzKiBzaG91bGQgYmUgbGlzdCBvZiBkaXN0cmlidXRpb25zIHJldHVybmVkIGJ5IDpmdW5jOmBnZXRfaW5mb3NgLgorICAgSWYgKmluc3RhbGwqIGlzIG5vdCBlbXB0eSwgKmluc3RhbGxfcGF0aCogbXVzdCBiZSBnaXZlbiB0byBzcGVjaWZ5IHRoZSBwYXRoCisgICB3aGVyZSB0aGUgZGlzdHJpYnV0aW9ucyBzaG91bGQgYmUgaW5zdGFsbGVkLiAgKnBhdGhzKiBpcyBhIGxpc3Qgb2YgcGF0aHMKKyAgIHdoZXJlIGFscmVhZHktaW5zdGFsbGVkIGRpc3RyaWJ1dGlvbnMgd2lsbCBiZSBsb29rZWQgZm9yIChkZWZhdWx0OgorICAgOmRhdGE6YHN5cy5wYXRoYCkuCisKKyAgIFRoaXMgZnVuY3Rpb24gaXMgYSB2ZXJ5IGJhc2ljIGluc3RhbGxlcjsgaWYgKmNvbmZsaWN0cyogaXMgbm90IGVtcHR5LCB0aGUKKyAgIHN5c3RlbSB3aWxsIGJlIGluIGEgY29uZmxpY3Rpbmcgc3RhdGUgYWZ0ZXIgdGhlIGZ1bmN0aW9uIGNvbXBsZXRlcy4gIEl0IGlzIGEKKyAgIGJ1aWxkaW5nIGJsb2NrIGZvciBtb3JlIHNvcGhpc3RpY2F0ZWQgaW5zdGFsbGVycyB3aXRoIGNvbmZsaWN0IHJlc29sdXRpb24KKyAgIHN5c3RlbXMuCisKKyAgIC4uIFRPRE8gZG9jdW1lbnQgdHlwaWNhbCB2YWx1ZSBmb3IgaW5zdGFsbF9wYXRoCisgICAuLiBUT0RPIGRvY3VtZW50IGludGVncmF0aW9uIHdpdGggZGVmYXVsdCBzY2hlbWVzLCBlc3AuIHVzZXIgc2l0ZS1wYWNrYWdlcworCisKKy4uIGZ1bmN0aW9uOjogaW5zdGFsbF9sb2NhbF9wcm9qZWN0KHBhdGgpCisKKyAgIEluc3RhbGwgYSBkaXN0cmlidXRpb24gZnJvbSBhIHNvdXJjZSBkaXJlY3RvcnksIHdoaWNoIG11c3QgY29udGFpbiBlaXRoZXIgYQorICAgUGFja2FnaW5nLWNvbXBsaWFudCA6ZmlsZTpgc2V0dXAuY2ZnYCBmaWxlIG9yIGEgbGVnYWN5IERpc3R1dGlscworICAgOmZpbGU6YHNldHVwLnB5YCBzY3JpcHQgKGluIHdoaWNoIGNhc2UgRGlzdHV0aWxzIHdpbGwgYmUgdXNlZCB1bmRlciB0aGUgaG9vZAorICAgdG8gcGVyZm9ybSB0aGUgaW5zdGFsbGF0aW9uKS4KKworCisuLiBmdW5jdGlvbjo6ICByZW1vdmUocHJvamVjdF9uYW1lLCBwYXRocz1Ob25lLCBhdXRvX2NvbmZpcm09VHJ1ZSkKKworICAgUmVtb3ZlIG9uZSBkaXN0cmlidXRpb24gZnJvbSB0aGUgc3lzdGVtLgorCisgICAuLiBGSVhNRSB0aGlzIGlzIHRoZSBvbmx5IGZ1bmN0aW9uIHVzaW5nICJwcm9qZWN0IiBpbnN0ZWFkIG9mIGRpc3QvcmVsZWFzZQorCisuLgorICAgRXhhbXBsZSB1c2FnZQorICAgLS0tLS0tLS0tLS0tLS0KKworICAgR2V0IHRoZSBzY2hlbWUgb2Ygd2hhdCdzIGdvbm5hIGJlIGluc3RhbGxlZCBpZiB3ZSBpbnN0YWxsICJmb29iYXIiOgpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvcGFja2FnaW5nLm1ldGFkYXRhLnJzdCBiL0RvYy9saWJyYXJ5L3BhY2thZ2luZy5tZXRhZGF0YS5yc3QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzMyZDY5ZAotLS0gL2Rldi9udWxsCisrKyBiL0RvYy9saWJyYXJ5L3BhY2thZ2luZy5tZXRhZGF0YS5yc3QKQEAgLTAsMCArMSwxMjIgQEAKKzptb2Q6YHBhY2thZ2luZy5tZXRhZGF0YWAgLS0tIE1ldGFkYXRhIGhhbmRsaW5nCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCisuLiBtb2R1bGU6OiBwYWNrYWdpbmcubWV0YWRhdGEKKyAgIDpzeW5vcHNpczogQ2xhc3MgaG9sZGluZyB0aGUgbWV0YWRhdGEgb2YgYSByZWxlYXNlLgorCisKKy4uIFRPRE8gdXNlIHNwaGlueC1hdXRvZ2VuIHRvIGdlbmVyYXRlIGJhc2ljIGRvYyBmcm9tIHRoZSBkb2NzdHJpbmdzCisKKy4uIGNsYXNzOjogTWV0YWRhdGEKKworICAgVGhpcyBjbGFzcyBjYW4gcmVhZCBhbmQgd3JpdGUgbWV0YWRhdGEgZmlsZXMgY29tcGx5aW5nIHdpdGggYW55IG9mIHRoZQorICAgZGVmaW5lZCB2ZXJzaW9uczogMS4wICg6UEVQOmAyNDFgKSwgMS4xICg6UEVQOmAzMTRgKSBhbmQgMS4yICg6UEVQOmAzNDVgKS4gIEl0CisgICBpbXBsZW1lbnRzIG1ldGhvZHMgdG8gcGFyc2UgTWV0YWRhdGEgZmlsZXMgYW5kIHdyaXRlIHRoZW0sIGFuZCBhIG1hcHBpbmcKKyAgIGludGVyZmFjZSB0byBpdHMgY29udGVudHMuCisKKyAgIFRoZSA6UEVQOmAzNDVgIGltcGxlbWVudGF0aW9uIHN1cHBvcnRzIHRoZSBtaWNyby1sYW5ndWFnZSBmb3IgdGhlIGVudmlyb25tZW50CisgICBtYXJrZXJzLCBhbmQgZGlzcGxheXMgd2FybmluZ3Mgd2hlbiB2ZXJzaW9ucyB0aGF0IGFyZSBzdXBwb3NlZCB0byBiZQorICAgOlBFUDpgMzg2YC1jb21wbGlhbnQgYXJlIHZpb2xhdGluZyB0aGUgc3BlY2lmaWNhdGlvbi4KKworCitSZWFkaW5nIG1ldGFkYXRhCistLS0tLS0tLS0tLS0tLS0tCisKK1RoZSA6Y2xhc3M6YE1ldGFkYXRhYCBjbGFzcyBjYW4gYmUgaW5zdGFudGlhdGVkCit3aXRoIHRoZSBwYXRoIG9mIHRoZSBtZXRhZGF0YSBmaWxlLCBhbmQgcHJvdmlkZXMgYSBkaWN0LWxpa2UgaW50ZXJmYWNlIHRvIHRoZQordmFsdWVzOjoKKworICAgPj4+IGZyb20gcGFja2FnaW5nLm1ldGFkYXRhIGltcG9ydCBNZXRhZGF0YQorICAgPj4+IG1ldGFkYXRhID0gTWV0YWRhdGEoJ1BLRy1JTkZPJykKKyAgID4+PiBtZXRhZGF0YS5rZXlzKClbOjVdCisgICAoJ01ldGFkYXRhLVZlcnNpb24nLCAnTmFtZScsICdWZXJzaW9uJywgJ1BsYXRmb3JtJywgJ1N1cHBvcnRlZC1QbGF0Zm9ybScpCisgICA+Pj4gbWV0YWRhdGFbJ05hbWUnXQorICAgJ0NMVmF1bHQnCisgICA+Pj4gbWV0YWRhdGFbJ1ZlcnNpb24nXQorICAgJzAuNScKKyAgID4+PiBtZXRhZGF0YVsnUmVxdWlyZXMtRGlzdCddCisgICBbInB5d2luMzI7IHN5cy5wbGF0Zm9ybSA9PSAnd2luMzInIiwgIlNwaGlueCJdCisKKworVGhlIGZpZWxkcyB0aGF0IHN1cHBvcnQgZW52aXJvbm1lbnQgbWFya2VycyBjYW4gYmUgYXV0b21hdGljYWxseSBpZ25vcmVkIGlmCit0aGUgb2JqZWN0IGlzIGluc3RhbnRpYXRlZCB1c2luZyB0aGUgYGBwbGF0Zm9ybV9kZXBlbmRlbnRgYCBvcHRpb24uCis6Y2xhc3M6YE1ldGFkYXRhYCB3aWxsIGludGVycHJldCBpbiB0aGlzIGNhc2UKK3RoZSBtYXJrZXJzIGFuZCB3aWxsIGF1dG9tYXRpY2FsbHkgcmVtb3ZlIHRoZSBmaWVsZHMgdGhhdCBhcmUgbm90IGNvbXBsaWFudAord2l0aCB0aGUgcnVubmluZyBlbnZpcm9ubWVudC4gSGVyZSdzIGFuIGV4YW1wbGUgdW5kZXIgTWFjIE9TIFguIFRoZSB3aW4zMgorZGVwZW5kZW5jeSB3ZSBzYXcgZWFybGllciBpcyBpZ25vcmVkOjoKKworICAgPj4+IGZyb20gcGFja2FnaW5nLm1ldGFkYXRhIGltcG9ydCBNZXRhZGF0YQorICAgPj4+IG1ldGFkYXRhID0gTWV0YWRhdGEoJ1BLRy1JTkZPJywgcGxhdGZvcm1fZGVwZW5kZW50PVRydWUpCisgICA+Pj4gbWV0YWRhdGFbJ1JlcXVpcmVzLURpc3QnXQorICAgWydTcGhpbngnXQorCisKK0lmIHlvdSB3YW50IHRvIHByb3ZpZGUgeW91ciBvd24gZXhlY3V0aW9uIGNvbnRleHQsIGxldCdzIHNheSB0byB0ZXN0IHRoZQorbWV0YWRhdGEgdW5kZXIgYSBwYXJ0aWN1bGFyIGVudmlyb25tZW50IHRoYXQgaXMgbm90IHRoZSBjdXJyZW50IGVudmlyb25tZW50LAoreW91IGNhbiBwcm92aWRlIHlvdXIgb3duIHZhbHVlcyBpbiB0aGUgYGBleGVjdXRpb25fY29udGV4dGBgIG9wdGlvbiwgd2hpY2gKK2lzIHRoZSBkaWN0IHRoYXQgbWF5IGNvbnRhaW4gb25lIG9yIG1vcmUga2V5cyBvZiB0aGUgY29udGV4dCB0aGUgbWljcm8tbGFuZ3VhZ2UKK2V4cGVjdHMuCisKK0hlcmUncyBhbiBleGFtcGxlLCBzaW11bGF0aW5nIGEgd2luMzIgZW52aXJvbm1lbnQ6OgorCisgICA+Pj4gZnJvbSBwYWNrYWdpbmcubWV0YWRhdGEgaW1wb3J0IE1ldGFkYXRhCisgICA+Pj4gY29udGV4dCA9IHsnc3lzLnBsYXRmb3JtJzogJ3dpbjMyJ30KKyAgID4+PiBtZXRhZGF0YSA9IE1ldGFkYXRhKCdQS0ctSU5GTycsIHBsYXRmb3JtX2RlcGVuZGVudD1UcnVlLAorICAgLi4uICAgICAgICAgICAgICAgICAgICAgZXhlY3V0aW9uX2NvbnRleHQ9Y29udGV4dCkKKyAgIC4uLgorICAgPj4+IG1ldGFkYXRhWydSZXF1aXJlcy1EaXN0J10gPSBbInB5d2luMzI7IHN5cy5wbGF0Zm9ybSA9PSAnd2luMzInIiwKKyAgIC4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJTcGhpbngiXQorICAgLi4uCisgICA+Pj4gbWV0YWRhdGFbJ1JlcXVpcmVzLURpc3QnXQorICAgWydweXdpbjMyJywgJ1NwaGlueCddCisKKworV3JpdGluZyBtZXRhZGF0YQorLS0tLS0tLS0tLS0tLS0tLQorCitXcml0aW5nIG1ldGFkYXRhIGNhbiBiZSBkb25lIHVzaW5nIHRoZSBgYHdyaXRlYGAgbWV0aG9kOjoKKworICAgPj4+IG1ldGFkYXRhLndyaXRlKCcvdG8vbXkvUEtHLUlORk8nKQorCitUaGUgY2xhc3Mgd2lsbCBwaWNrIHRoZSBiZXN0IHZlcnNpb24gZm9yIHRoZSBtZXRhZGF0YSwgZGVwZW5kaW5nIG9uIHRoZSB2YWx1ZXMKK3Byb3ZpZGVkLiBJZiBhbGwgdGhlIHZhbHVlcyBwcm92aWRlZCBleGlzdCBpbiBhbGwgdmVyc2lvbnMsIHRoZSBjbGFzcyB3aWxsCit1c2UgOmF0dHI6YFBLR19JTkZPX1BSRUZFUlJFRF9WRVJTSU9OYC4gIEl0IGlzIHNldCBieSBkZWZhdWx0IHRvIDEuMCwgdGhlIG1vc3QKK3dpZGVzcHJlYWQgdmVyc2lvbi4KKworCitDb25mbGljdCBjaGVja2luZyBhbmQgYmVzdCB2ZXJzaW9uCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK1NvbWUgZmllbGRzIGluIDpQRVA6YDM0NWAgaGF2ZSB0byBjb21wbHkgd2l0aCB0aGUgdmVyc2lvbiBudW1iZXIgc3BlY2lmaWNhdGlvbgorZGVmaW5lZCBpbiA6UEVQOmAzODZgLiAgV2hlbiB0aGV5IGRvbid0IGNvbXBseSwgYSB3YXJuaW5nIGlzIGVtaXR0ZWQ6OgorCisgICA+Pj4gZnJvbSBwYWNrYWdpbmcubWV0YWRhdGEgaW1wb3J0IE1ldGFkYXRhCisgICA+Pj4gbWV0YWRhdGEgPSBNZXRhZGF0YSgpCisgICA+Pj4gbWV0YWRhdGFbJ1JlcXVpcmVzLURpc3QnXSA9IFsnRnVua3kgKEdyb292aWUpJ10KKyAgICJGdW5reSAoR3Jvb3ZpZSkiIGlzIG5vdCBhIHZhbGlkIHByZWRpY2F0ZQorICAgPj4+IG1ldGFkYXRhWydSZXF1aXJlcy1EaXN0J10gPSBbJ0Z1bmt5ICgxLjIpJ10KKworU2VlIGFsc28gOm1vZDpgcGFja2FnaW5nLnZlcnNpb25gLgorCisKKy4uIFRPRE8gdGFsayBhYm91dCBjaGVjaygpCisKKworOm1vZDpgcGFja2FnaW5nLm1hcmtlcnNgIC0tLSBFbnZpcm9ubWVudCBtYXJrZXJzCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworLi4gbW9kdWxlOjogcGFja2FnaW5nLm1hcmtlcnMKKyAgIDpzeW5vcHNpczogTWljcm8tbGFuZ3VhZ2UgZm9yIGVudmlyb25tZW50IG1hcmtlcnMKKworCitUaGlzIGlzIGFuIGltcGxlbWVudGF0aW9uIG9mIGVudmlyb25tZW50IG1hcmtlcnMgYGFzIGRlZmluZWQgaW4gUEVQIDM0NQorPGh0dHA6Ly93d3cucHl0aG9uLm9yZy9kZXYvcGVwcy9wZXAtMDM0NS8jZW52aXJvbm1lbnQtbWFya2Vycz5gXy4gIEl0IGlzIHVzZWQKK2ZvciBzb21lIG1ldGFkYXRhIGZpZWxkcy4KKworLi4gZnVuY3Rpb246OiBpbnRlcnByZXQobWFya2VyLCBleGVjdXRpb25fY29udGV4dD1Ob25lKQorCisgICBJbnRlcnByZXQgYSBtYXJrZXIgYW5kIHJldHVybiBhIGJvb2xlYW4gcmVzdWx0IGRlcGVuZGluZyBvbiB0aGUgZW52aXJvbm1lbnQuCisgICBFeGFtcGxlOgorCisgICAgICA+Pj4gaW50ZXJwcmV0KCJweXRob25fdmVyc2lvbiA+ICcxLjAnIikKKyAgICAgIFRydWUKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L3BhY2thZ2luZy5weXBpLmRpc3QucnN0IGIvRG9jL2xpYnJhcnkvcGFja2FnaW5nLnB5cGkuZGlzdC5yc3QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWFhYWFiNwotLS0gL2Rldi9udWxsCisrKyBiL0RvYy9saWJyYXJ5L3BhY2thZ2luZy5weXBpLmRpc3QucnN0CkBAIC0wLDAgKzEsMTE0IEBACis6bW9kOmBwYWNrYWdpbmcucHlwaS5kaXN0YCAtLS0gQ2xhc3NlcyByZXByZXNlbnRpbmcgcXVlcnkgcmVzdWx0cworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworLi4gbW9kdWxlOjogcGFja2FnaW5nLnB5cGkuZGlzdAorICAgOnN5bm9wc2lzOiBDbGFzc2VzIHJlcHJlc2VudGluZyB0aGUgcmVzdWx0cyBvZiBxdWVyaWVzIHRvIGluZGV4ZXMuCisKKworSW5mb3JtYXRpb24gY29taW5nIGZyb20gdGhlIGluZGV4ZXMgaXMgaGVsZCBpbiBpbnN0YW5jZXMgb2YgdGhlIGNsYXNzZXMgZGVmaW5lZAoraW4gdGhpcyBtb2R1bGUuCisKK0tlZXAgaW4gbWluZCB0aGF0IGVhY2ggcHJvamVjdCAoZWcuIEZvb0JhcikgY2FuIGhhdmUgc2V2ZXJhbCByZWxlYXNlcworKGVnLiAxLjEsIDEuMiwgMS4zKSwgYW5kIGVhY2ggb2YgdGhlc2UgcmVsZWFzZXMgY2FuIGJlIHByb3ZpZGVkIGluIG11bHRpcGxlCitkaXN0cmlidXRpb25zIChlZy4gYSBzb3VyY2UgZGlzdHJpYnV0aW9uLCBhIGJpbmFyeSBvbmUsIGV0YykuCisKKworUmVsZWFzZUluZm8KKy0tLS0tLS0tLS0tCisKK0VhY2ggcmVsZWFzZSBoYXMgYSBwcm9qZWN0IG5hbWUsIHZlcnNpb24sIG1ldGFkYXRhLCBhbmQgcmVsYXRlZCBkaXN0cmlidXRpb25zLgorCitUaGlzIGluZm9ybWF0aW9uIGlzIHN0b3JlZCBpbiA6Y2xhc3M6YFJlbGVhc2VJbmZvYAorb2JqZWN0cy4KKworLi4gY2xhc3M6OiBSZWxlYXNlSW5mbworCisKK0Rpc3RJbmZvCistLS0tLS0tLS0KKworOmNsYXNzOmBEaXN0SW5mb2AgaXMgYSBzaW1wbGUgY2xhc3MgdGhhdCBjb250YWlucworaW5mb3JtYXRpb24gcmVsYXRlZCB0byBkaXN0cmlidXRpb25zOyBtYWlubHkgdGhlIFVSTHMgd2hlcmUgZGlzdHJpYnV0aW9ucworY2FuIGJlIGZvdW5kLgorCisuLiBjbGFzczo6IERpc3RJbmZvCisKKworUmVsZWFzZXNMaXN0CistLS0tLS0tLS0tLS0KKworVGhlIDptb2Q6YH5wYWNrYWdpbmcucHlwaS5kaXN0YCBtb2R1bGUgcHJvdmlkZXMgYSBjbGFzcyB3aGljaCB3b3Jrcword2l0aCBsaXN0cyBvZiA6Y2xhc3M6YFJlbGVhc2VJbmZvYCBjbGFzc2VzOwordXNlZCB0byBmaWx0ZXIgYW5kIG9yZGVyIHJlc3VsdHMuCisKKy4uIGNsYXNzOjogUmVsZWFzZXNMaXN0CisKKworRXhhbXBsZSB1c2FnZQorLS0tLS0tLS0tLS0tLQorCitCdWlsZCBhIGxpc3Qgb2YgcmVsZWFzZXMgYW5kIG9yZGVyIHRoZW0KK15eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXgorCitBc3N1bWluZyB3ZSBoYXZlIGEgbGlzdCBvZiByZWxlYXNlczo6CisKKyAgID4+PiBmcm9tIHBhY2thZ2luZy5weXBpLmRpc3QgaW1wb3J0IFJlbGVhc2VzTGlzdCwgUmVsZWFzZUluZm8KKyAgID4+PiBmYjEwID0gUmVsZWFzZUluZm8oIkZvb0JhciIsICIxLjAiKQorICAgPj4+IGZiMTEgPSBSZWxlYXNlSW5mbygiRm9vQmFyIiwgIjEuMSIpCisgICA+Pj4gZmIxMWEgPSBSZWxlYXNlSW5mbygiRm9vQmFyIiwgIjEuMWExIikKKyAgID4+PiBSZWxlYXNlc0xpc3QoIkZvb0JhciIsIFtmYjExLCBmYjExYSwgZmIxMF0pCisgICA+Pj4gcmVsZWFzZXMuc29ydF9yZWxlYXNlcygpCisgICA+Pj4gcmVsZWFzZXMuZ2V0X3ZlcnNpb25zKCkKKyAgIFsnMS4xJywgJzEuMWExJywgJzEuMCddCisgICA+Pj4gcmVsZWFzZXMuYWRkX3JlbGVhc2UoIjEuMmExIikKKyAgID4+PiByZWxlYXNlcy5nZXRfdmVyc2lvbnMoKQorICAgWycxLjEnLCAnMS4xYTEnLCAnMS4wJywgJzEuMmExJ10KKyAgID4+PiByZWxlYXNlcy5zb3J0X3JlbGVhc2VzKCkKKyAgIFsnMS4yYTEnLCAnMS4xJywgJzEuMWExJywgJzEuMCddCisgICA+Pj4gcmVsZWFzZXMuc29ydF9yZWxlYXNlcyhwcmVmZXJfZmluYWw9VHJ1ZSkKKyAgID4+PiByZWxlYXNlcy5nZXRfdmVyc2lvbnMoKQorICAgWycxLjEnLCAnMS4wJywgJzEuMmExJywgJzEuMWExJ10KKworCitBZGQgZGlzdHJpYnV0aW9uIHJlbGF0ZWQgaW5mb3JtYXRpb24gdG8gcmVsZWFzZXMKK15eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXgorCitJdCdzIGVhc3kgdG8gYWRkIGRpc3RyaWJ1dGlvbiBpbmZvcm1hdGlvbiB0byByZWxlYXNlczo6CisKKyAgID4+PiBmcm9tIHBhY2thZ2luZy5weXBpLmRpc3QgaW1wb3J0IFJlbGVhc2VzTGlzdCwgUmVsZWFzZUluZm8KKyAgID4+PiByID0gUmVsZWFzZUluZm8oIkZvb0JhciIsICIxLjAiKQorICAgPj4+IHIuYWRkX2Rpc3RyaWJ1dGlvbigic2Rpc3QiLCB1cmw9Imh0dHA6Ly9leGFtcGxlLm9yZy9mb29iYXItMS4wLnRhci5neiIpCisgICA+Pj4gci5kaXN0cworICAgeydzZGlzdCc6IEZvb0JhciAxLjAgc2Rpc3R9CisgICA+Pj4gclsnc2Rpc3QnXS51cmwKKyAgIHsndXJsJzogJ2h0dHA6Ly9leGFtcGxlLm9yZy9mb29iYXItMS4wLnRhci5neicsICdoYXNobmFtZSc6IE5vbmUsICdoYXNodmFsJzoKKyAgIE5vbmUsICdpc19leHRlcm5hbCc6IFRydWV9CisKKworR2V0dGluZyBhdHRyaWJ1dGVzIGZyb20gdGhlIGRpc3Qgb2JqZWN0cworXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXgorCitUbyBhYnN0cmFjdCBxdWVyeWluZyBpbmZvcm1hdGlvbiByZXR1cm5lZCBmcm9tIHRoZSBpbmRleGVzLCBhdHRyaWJ1dGVzIGFuZAorcmVsZWFzZSBpbmZvcm1hdGlvbiBjYW4gYmUgcmV0cmlldmVkIGRpcmVjdGx5IGZyb20gZGlzdCBvYmplY3RzLgorCitGb3IgaW5zdGFuY2UsIGlmIHlvdSBoYXZlIGEgcmVsZWFzZSBpbnN0YW5jZSB0aGF0IGRvZXMgbm90IGNvbnRhaW4gdGhlIG1ldGFkYXRhCithdHRyaWJ1dGUsIGl0IGNhbiBiZSBmZXRjaGVkIGJ5IHVzaW5nIHRoZSAiZmV0Y2hfbWV0YWRhdGEiIG1ldGhvZDo6CisKKyAgID4+PiByID0gUmVsZWFzZSgiRm9vQmFyIiwgIjEuMSIpCisgICA+Pj4gcHJpbnQgci5tZXRhZGF0YQorICAgTm9uZSAjIG1ldGFkYXRhIGZpZWxkIGlzIGFjdHVhbGx5IHNldCB0byAiTm9uZSIKKyAgID4+PiByLmZldGNoX21ldGFkYXRhKCkKKyAgIDxNZXRhZGF0YSBmb3IgRm9vQmFyIDEuMT4KKworLi4gWFhYIGFkZCBwcm9wZXIgcm9sZXMgdG8gdGhlc2UgY29uc3RydWN0cworCisKK0l0J3MgcG9zc2libGUgdG8gcmV0cmlldmUgYSBwcm9qZWN0J3MgcmVsZWFzZXMgKGBmZXRjaF9yZWxlYXNlc2ApLAorbWV0YWRhdGEgKGBmZXRjaF9tZXRhZGF0YWApIGFuZCBkaXN0cmlidXRpb25zIChgZmV0Y2hfZGlzdHJpYnV0aW9uc2ApIHVzaW5nCithIHNpbWlsYXIgd29yayBmbG93LgorCisuLiBYWFggd2hhdCBpcyBwb3NzaWJsZT8KKworSW50ZXJuYWxseSwgdGhpcyBpcyBwb3NzaWJsZSBiZWNhdXNlIHdoaWxlIHJldHJpZXZpbmcgaW5mb3JtYXRpb24gYWJvdXQKK3Byb2plY3RzLCByZWxlYXNlcyBvciBkaXN0cmlidXRpb25zLCBhIHJlZmVyZW5jZSB0byB0aGUgY2xpZW50IHVzZWQgaXMKK3N0b3JlZCB3aGljaCBjYW4gYmUgYWNjZXNzZWQgdXNpbmcgdGhlIG9iamVjdHMgYF9pbmRleGAgYXR0cmlidXRlLgpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvcGFja2FnaW5nLnB5cGkucnN0IGIvRG9jL2xpYnJhcnkvcGFja2FnaW5nLnB5cGkucnN0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE0NjAyY2UKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2MvbGlicmFyeS9wYWNrYWdpbmcucHlwaS5yc3QKQEAgLTAsMCArMSw3NCBAQAorOm1vZDpgcGFja2FnaW5nLnB5cGlgIC0tLSBJbnRlcmZhY2UgdG8gcHJvamVjdHMgaW5kZXhlcworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCisuLiBtb2R1bGU6OiBwYWNrYWdpbmcucHlwaQorICAgOnN5bm9wc2lzOiBMb3ctbGV2ZWwgYW5kIGhpZ2gtbGV2ZWwgQVBJcyB0byBxdWVyeSBwcm9qZWN0cyBpbmRleGVzLgorCisKK1BhY2thZ2luZyBxdWVyaWVzIFB5UEkgdG8gZ2V0IGluZm9ybWF0aW9uIGFib3V0IHByb2plY3RzIG9yIGRvd25sb2FkIHRoZW0uICBUaGUKK2xvdy1sZXZlbCBmYWNpbGl0aWVzIHVzZWQgaW50ZXJuYWxseSBhcmUgYWxzbyBwYXJ0IG9mIHRoZSBwdWJsaWMgQVBJIGRlc2lnbmVkIHRvCitiZSB1c2VkIGJ5IG90aGVyIHRvb2xzLgorCitUaGUgOm1vZDpgcGFja2FnaW5nLnB5cGlgIHBhY2thZ2UgcHJvdmlkZXMgdGhvc2UgZmFjaWxpdGllcywgd2hpY2ggY2FuIGJlCit1c2VkIHRvIGFjY2VzcyBpbmZvcm1hdGlvbiBhYm91dCBQeXRob24gcHJvamVjdHMgcmVnaXN0ZXJlZCBhdCBpbmRleGVzLCB0aGUKK21haW4gb25lIGJlaW5nIFB5UEksIGxvY2F0ZWQgYWQgaHR0cDovL3B5cGkucHl0aG9uLm9yZy8uCisKK1RoZXJlIGlzIHR3byB3YXlzIHRvIHJldHJpZXZlIGRhdGEgZnJvbSB0aGVzZSBpbmRleGVzOiBhIHNjcmVlbi1zY3JhcGluZworaW50ZXJmYWNlIGNhbGxlZCB0aGUgInNpbXBsZSBBUEkiLCBhbmQgWE1MLVJQQy4gIFRoZSBmaXJzdCBvbmUgdXNlcyBIVE1MIHBhZ2VzCitsb2NhdGVkIHVuZGVyIGh0dHA6Ly9weXBpLnB5dGhvbi5vcmcvc2ltcGxlLywgdGhlIHNlY29uZCBvbmUgbWFrZXMgWE1MLVJQQworcmVxdWVzdHMgdG8gaHR0cDovL3B5cGkucHl0aG9uLm9yZy9weXBpLy4gIEFsbCBmdW5jdGlvbnMgYW5kIGNsYXNzZXMgYWxzbyB3b3JrCit3aXRoIG90aGVyIGluZGV4ZXMgc3VjaCBhcyBtaXJyb3JzLCB3aGljaCB0eXBpY2FsbHkgaW1wbGVtZW50IG9ubHkgdGhlIHNpbXBsZQoraW50ZXJmYWNlLgorCitQYWNrYWdpbmcgcHJvdmlkZXMgYSBjbGFzcyB0aGF0IHdyYXBzIGJvdGggQVBJcyB0byBwcm92aWRlIGZ1bGwgcXVlcnkgYW5kCitkb3dubG9hZCBmdW5jdGlvbmFsaXR5OiA6Y2xhc3M6YHBhY2thZ2luZy5weXBpLmNsaWVudC5DbGllbnRXcmFwcGVyYC4gIElmIHlvdQord2FudCBtb3JlIGNvbnRyb2wsIHlvdSBjYW4gdXNlIHRoZSB1bmRlcmx5aW5nIGNsYXNzZXMKKzpjbGFzczpgcGFja2FnaW5nLnB5cGkuc2ltcGxlLkNyYXdsZXJgIGFuZCA6Y2xhc3M6YHBhY2thZ2luZy5weXBpLnhtbHJwYy5DbGllbnRgCit0byBjb25uZWN0IHRvIG9uZSBzcGVjaWZpYyBpbnRlcmZhY2UuCisKKworOm1vZDpgcGFja2FnaW5nLnB5cGkuY2xpZW50YCAtLS0gSGlnaC1sZXZlbCBxdWVyeSBBUEkKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKKy4uIG1vZHVsZTo6IHBhY2thZ2luZy5weXBpLmNsaWVudAorICAgOnN5bm9wc2lzOiBXcmFwcGVyIGFyb3VuZCA6bW9kO2BwYWNrYWdpbmcucHlwaS54bWxycGNgIGFuZAorICAgICAgICAgICAgICA6bW9kOmBwYWNrYWdpbmcucHlwaS5zaW1wbGVgIHRvIHF1ZXJ5IGluZGV4ZXMuCisKKworVGhpcyBtb2R1bGUgcHJvdmlkZXMgYSBoaWdoLWxldmVsIEFQSSB0byBxdWVyeSBpbmRleGVzIGFuZCBzZWFyY2gKK2ZvciByZWxlYXNlcyBhbmQgZGlzdHJpYnV0aW9ucy4gVGhlIGFpbSBvZiB0aGlzIG1vZHVsZSBpcyB0byBjaG9vc2UgdGhlIGJlc3QKK3dheSB0byBxdWVyeSB0aGUgQVBJIGF1dG9tYXRpY2FsbHksIGVpdGhlciB1c2luZyBYTUwtUlBDIG9yIHRoZSBzaW1wbGUgaW5kZXgsCit3aXRoIGEgcHJlZmVyZW5jZSB0b3dhcmQgdGhlIGxhdHRlci4KKworLi4gY2xhc3M6OiBDbGllbnRXcmFwcGVyCisKKyAgIEluc3RhbmNlcyBvZiB0aGlzIGNsYXNzIHdpbGwgdXNlIHRoZSBzaW1wbGUgaW50ZXJmYWNlIG9yIFhNTC1SUEMgcmVxdWVzdHMgdG8KKyAgIHF1ZXJ5IGluZGV4ZXMgYW5kIHJldHVybiA6Y2xhc3M6YHBhY2thZ2luZy5weXBpLmRpc3QuUmVsZWFzZUluZm9gIGFuZAorICAgOmNsYXNzOmBwYWNrYWdpbmcucHlwaS5kaXN0LlJlbGVhc2VzTGlzdGAgb2JqZWN0cy4KKworICAgLi4gbWV0aG9kOjogZmluZF9wcm9qZWN0cworCisgICAuLiBtZXRob2Q6OiBnZXRfcmVsZWFzZQorCisgICAuLiBtZXRob2Q6OiBnZXRfcmVsZWFzZXMKKworCis6bW9kOmBwYWNrYWdpbmcucHlwaS5iYXNlYCAtLS0gQmFzZSBjbGFzcyBmb3IgaW5kZXggY3Jhd2xlcnMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCisuLiBtb2R1bGU6OiBwYWNrYWdpbmcucHlwaS5iYXNlCisgICA6c3lub3BzaXM6IEJhc2UgY2xhc3MgdXNlZCB0byBpbXBsZW1lbnQgY3Jhd2xlcnMuCisKKworLi4gY2xhc3M6OiBCYXNlQ2xpZW50KHByZWZlcl9maW5hbCwgcHJlZmVyX3NvdXJjZSkKKworICAgQmFzZSBjbGFzcyBjb250YWluaW5nIGNvbW1vbiBtZXRob2RzIGZvciB0aGUgaW5kZXggY3Jhd2xlcnMgb3IgY2xpZW50cy4gIE9uZQorICAgbWV0aG9kIGlzIGN1cnJlbnRseSBkZWZpbmVkOgorCisgICAuLiBtZXRob2Q6OiBkb3dubG9hZF9kaXN0cmlidXRpb24ocmVxdWlyZW1lbnRzLCB0ZW1wX3BhdGg9Tm9uZSwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZWZlcl9zb3VyY2U9Tm9uZSwgcHJlZmVyX2ZpbmFsPU5vbmUpCisKKyAgICAgIERvd25sb2FkIGEgZGlzdHJpYnV0aW9uIGZyb20gdGhlIGxhc3QgcmVsZWFzZSBhY2NvcmRpbmcgdG8gdGhlCisgICAgICByZXF1aXJlbWVudHMuICBJZiAqdGVtcF9wYXRoKiBpcyBwcm92aWRlZCwgZG93bmxvYWQgdG8gdGhpcyBwYXRoLAorICAgICAgb3RoZXJ3aXNlLCBjcmVhdGUgYSB0ZW1wb3JhcnkgZGlyZWN0b3J5IGZvciB0aGUgZG93bmxvYWQuICBJZiBhIHJlbGVhc2UgaXMKKyAgICAgIGZvdW5kLCB0aGUgZnVsbCBwYXRoIHRvIHRoZSBkb3dubG9hZGVkIGZpbGUgaXMgcmV0dXJuZWQuCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9wYWNrYWdpbmcucHlwaS5zaW1wbGUucnN0IGIvRG9jL2xpYnJhcnkvcGFja2FnaW5nLnB5cGkuc2ltcGxlLnJzdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNTc5YjE4Ci0tLSAvZGV2L251bGwKKysrIGIvRG9jL2xpYnJhcnkvcGFja2FnaW5nLnB5cGkuc2ltcGxlLnJzdApAQCAtMCwwICsxLDIxOCBAQAorOm1vZDpgcGFja2FnaW5nLnB5cGkuc2ltcGxlYCAtLS0gQ3Jhd2xlciB1c2luZyB0aGUgUHlQSSAic2ltcGxlIiBpbnRlcmZhY2UKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKKy4uIG1vZHVsZTo6IHBhY2thZ2luZy5weXBpLnNpbXBsZQorICAgOnN5bm9wc2lzOiBDcmF3bGVyIHVzaW5nIHRoZSBzY3JlZW4tc2NyYXBpbmcgInNpbXBsZSIgaW50ZXJmYWNlIHRvIGZldGNoIGluZm8KKyAgICAgICAgICAgICAgYW5kIGRpc3RyaWJ1dGlvbnMuCisKKworVGhlIGNsYXNzIHByb3ZpZGVkIGJ5IDptb2Q6YHBhY2thZ2luZy5weXBpLnNpbXBsZWAgY2FuIGFjY2VzcyBwcm9qZWN0IGluZGV4ZXMKK2FuZCBwcm92aWRlIHVzZWZ1bCBpbmZvcm1hdGlvbiBhYm91dCBkaXN0cmlidXRpb25zLiAgUHlQSSwgb3RoZXIgaW5kZXhlcyBhbmQKK2xvY2FsIGluZGV4ZXMgYXJlIHN1cHBvcnRlZC4KKworWW91IHNob3VsZCB1c2UgdGhpcyBtb2R1bGUgdG8gc2VhcmNoIGRpc3RyaWJ1dGlvbnMgYnkgbmFtZSBhbmQgdmVyc2lvbnMsIHByb2Nlc3MKK2luZGV4IGV4dGVybmFsIHBhZ2VzIGFuZCBkb3dubG9hZCBkaXN0cmlidXRpb25zLiAgSXQgaXMgbm90IHN1aXRlZCBmb3IgdGhpbmdzCit0aGF0IHdpbGwgZW5kIHVwIGluIHRvbyBsb25nIGluZGV4IHByb2Nlc3NpbmcgKGxpa2UgImZpbmRpbmcgYWxsIGRpc3RyaWJ1dGlvbnMKK3dpdGggYSBzcGVjaWZpYyB2ZXJzaW9uLCBubyBtYXR0ZXIgdGhlIG5hbWUiKTsgdXNlIDptb2Q6YHBhY2thZ2luZy5weXBpLnhtbHJwY2AKK2ZvciB0aGF0LgorCisKK0FQSQorLS0tCisKKy4uIGNsYXNzOjogQ3Jhd2xlcihpbmRleF91cmw9REVGQVVMVF9TSU1QTEVfSU5ERVhfVVJMLCBcCisgICAgICAgICAgICAgICAgICAgcHJlZmVyX2ZpbmFsPUZhbHNlLCBwcmVmZXJfc291cmNlPVRydWUsIFwKKyAgICAgICAgICAgICAgICAgICBob3N0cz0oJyonLCksIGZvbGxvd19leHRlcm5hbHM9RmFsc2UsIFwKKyAgICAgICAgICAgICAgICAgICBtaXJyb3JzX3VybD1Ob25lLCBtaXJyb3JzPU5vbmUsIHRpbWVvdXQ9MTUsIFwKKyAgICAgICAgICAgICAgICAgICBtaXJyb3JzX21heF90cmllcz0wKQorCisgICAgICAqaW5kZXhfdXJsKiBpcyB0aGUgYWRkcmVzcyBvZiB0aGUgaW5kZXggdG8gdXNlIGZvciByZXF1ZXN0cy4KKworICAgICAgVGhlIGZpcnN0IHR3byBwYXJhbWV0ZXJzIGNvbnRyb2wgdGhlIHF1ZXJ5IHJlc3VsdHMuICAqcHJlZmVyX2ZpbmFsKgorICAgICAgaW5kaWNhdGVzIHdoZXRoZXIgYSBmaW5hbCB2ZXJzaW9uIChub3QgYWxwaGEsIGJldGEgb3IgY2FuZGlkYXRlKSBpcyB0byBiZQorICAgICAgcHJlZmVycmVkIG92ZXIgYSBuZXdlciBidXQgbm9uLWZpbmFsIHZlcnNpb24gKGZvciBleGFtcGxlLCB3aGV0aGVyIHRvIHBpY2sKKyAgICAgIHVwIDEuMCBvdmVyIDIuMGEzKS4gIEl0IGlzIHVzZWQgb25seSBmb3IgcXVlcmllcyB0aGF0IGRvbid0IGdpdmUgYSB2ZXJzaW9uCisgICAgICBhcmd1bWVudC4gIExpa2V3aXNlLCAqcHJlZmVyX3NvdXJjZSogdGVsbHMgd2hldGhlciB0byBwcmVmZXIgYSBzb3VyY2UKKyAgICAgIGRpc3RyaWJ1dGlvbiBvdmVyIGEgYmluYXJ5IG9uZSwgaWYgbm8gZGlzdHJpYnV0aW9uIGFyZ3VtZW50IHdhcyBwcm9kaXZlZC4KKworICAgICAgT3RoZXIgcGFyYW1ldGVycyBhcmUgcmVsYXRlZCB0byBleHRlcm5hbCBsaW5rcyAodGhhdCBpcyBsaW5rcyB0aGF0IGdvCisgICAgICBvdXRzaWRlIHRoZSBzaW1wbGUgaW5kZXgpOiAqaG9zdHMqIGlzIGEgbGlzdCBvZiBob3N0cyBhbGxvd2VkIHRvIGJlCisgICAgICBwcm9jZXNzZWQgaWYgKmZvbGxvd19leHRlcm5hbHMqIGlzIHRydWUgKGRlZmF1bHQgYmVoYXZpb3IgaXMgdG8gZm9sbG93IGFsbAorICAgICAgaG9zdHMpLCAqZm9sbG93X2V4dGVybmFscyogZW5hYmxlcyBvciBkaXNhYmxlcyBmb2xsb3dpbmcgZXh0ZXJuYWwgbGlua3MKKyAgICAgIChkZWZhdWx0IGlzIGZhbHNlLCBtZWFuaW5nIGRpc2FibGVkKS4KKworICAgICAgVGhlIHJlbWFpbmluZyBwYXJhbWV0ZXJzIGFyZSByZWxhdGVkIHRvIHRoZSBtaXJyb3JpbmcgaW5mcmFzdHJ1Y3R1cmUKKyAgICAgIGRlZmluZWQgaW4gOlBFUDpgMzgxYC4gICptaXJyb3JzX3VybCogZ2l2ZXMgYSBVUkwgdG8gbG9vayBvbiBmb3IgRE5TCisgICAgICByZWNvcmRzIGdpdmluZyBtaXJyb3IgYWRyZXNzZXM7ICptaXJyb3JzKiBpcyBhIGxpc3Qgb2YgbWlycm9yIFVSTHMgKHNlZQorICAgICAgdGhlIFBFUCkuICBJZiBib3RoICptaXJyb3JzKiBhbmQgKm1pcnJvcnNfdXJsKiBhcmUgZ2l2ZW4sICptaXJyb3JzX3VybCoKKyAgICAgIHdpbGwgb25seSBiZSB1c2VkIGlmICptaXJyb3JzKiBpcyBzZXQgdG8gYGBOb25lYGAuICAqdGltZW91dCogaXMgdGhlIHRpbWUKKyAgICAgIChpbiBzZWNvbmRzKSB0byB3YWl0IGJlZm9yZSBjb25zaWRlcmluZyBhIFVSTCBoYXMgdGltZWQgb3V0OworICAgICAgKm1pcnJvcnNfbWF4X3RyaWVzIiogaXMgdGhlIG51bWJlciBvZiB0aW1lcyB0byB0cnkgcmVxdWVzdGluZyBpbmZvcm1hdGlvbnMKKyAgICAgIG9uIG1pcnJvcnMgYmVmb3JlIHN3aXRjaGluZy4KKworICAgICAgVGhlIGZvbGxvd2luZyBtZXRob2RzIGFyZSBkZWZpbmVkOgorCisgICAgICAuLiBtZXRob2Q6OiBnZXRfZGlzdHJpYnV0aW9ucyhwcm9qZWN0X25hbWUsIHZlcnNpb24pCisKKyAgICAgICAgIFJldHVybiB0aGUgZGlzdHJpYnV0aW9ucyBmb3VuZCBpbiB0aGUgaW5kZXggZm9yIHRoZSBnaXZlbiByZWxlYXNlLgorCisgICAgICAuLiBtZXRob2Q6OiBnZXRfbWV0YWRhdGEocHJvamVjdF9uYW1lLCB2ZXJzaW9uKQorCisgICAgICAgICBSZXR1cm4gdGhlIG1ldGFkYXRhIGZvdW5kIG9uIHRoZSBpbmRleCBmb3IgdGhpcyBwcm9qZWN0IG5hbWUgYW5kCisgICAgICAgICB2ZXJzaW9uLiAgQ3VycmVudGx5IGRvd25sb2FkcyBhbmQgdW5wYWNrcyBhIGRpc3RyaWJ1dGlvbiB0byByZWFkIHRoZQorICAgICAgICAgUEtHLUlORk8gZmlsZS4KKworICAgICAgLi4gbWV0aG9kOjogZ2V0X3JlbGVhc2UocmVxdWlyZW1lbnRzLCBwcmVmZXJfZmluYWw9Tm9uZSkKKworICAgICAgICAgUmV0dXJuIG9uZSByZWxlYXNlIHRoYXQgZnVsZmlsbHMgdGhlIGdpdmVuIHJlcXVpcmVtZW50cy4KKworICAgICAgLi4gbWV0aG9kOjogZ2V0X3JlbGVhc2VzKHJlcXVpcmVtZW50cywgcHJlZmVyX2ZpbmFsPU5vbmUsIGZvcmNlX3VwZGF0ZT1GYWxzZSkKKworICAgICAgICAgU2VhcmNoIGZvciByZWxlYXNlcyBhbmQgcmV0dXJuIGEKKyAgICAgICAgIDpjbGFzczpgfnBhY2thZ2luZy5weXBpLmRpc3QuUmVsZWFzZXNMaXN0YCBvYmplY3QgY29udGFpbmluZyB0aGUKKyAgICAgICAgIHJlc3VsdHMuCisKKyAgICAgIC4uIG1ldGhvZDo6IHNlYXJjaF9wcm9qZWN0cyhuYW1lPU5vbmUpCisKKyAgICAgICAgIFNlYXJjaCB0aGUgaW5kZXggZm9yIHByb2plY3RzIGNvbnRhaW5pbmcgdGhlIGdpdmVuIG5hbWUgYW5kIHJldHVybiBhCisgICAgICAgICBsaXN0IG9mIG1hdGNoaW5nIG5hbWVzLgorCisgICBTZWUgYWxzbyB0aGUgYmFzZSBjbGFzcyA6Y2xhc3M6YHBhY2thZ2luZy5weXBpLmJhc2UuQmFzZUNsaWVudGAgZm9yIGluaGVyaXRlZAorICAgbWV0aG9kcy4KKworCisuLiBkYXRhOjogREVGQVVMVF9TSU1QTEVfSU5ERVhfVVJMCisKKyAgIFRoZSBhZGRyZXNzIHVzZWQgYnkgZGVmYXVsdCBieSB0aGUgY3Jhd2xlciBjbGFzcy4gIEl0IGlzIGN1cnJlbnRseQorICAgYGAnaHR0cDovL2EucHlwaS5weXRob24ub3JnL3NpbXBsZS8nYGAsIHRoZSBtYWluIFB5UEkgaW5zdGFsbGF0aW9uLgorCisKKworCitVc2FnZSBFeGFtcGxlcworLS0tLS0tLS0tLS0tLS0tCisKK1RvIGhlbHAgeW91IHVuZGVyc3RhbmQgaG93IHVzaW5nIHRoZSBgQ3Jhd2xlcmAgY2xhc3MsIGhlcmUgYXJlIHNvbWUgYmFzaWMKK3VzYWdlcy4KKworUmVxdWVzdCB0aGUgc2ltcGxlIGluZGV4IHRvIGdldCBhIHNwZWNpZmljIGRpc3RyaWJ1dGlvbgorXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXgorCitTdXBwb3NpbmcgeW91IHdhbnQgdG8gc2NhbiBhbiBpbmRleCB0byBnZXQgYSBsaXN0IG9mIGRpc3RyaWJ1dGlvbnMgZm9yCit0aGUgImZvb2JhciIgcHJvamVjdC4gWW91IGNhbiB1c2UgdGhlICJnZXRfcmVsZWFzZXMiIG1ldGhvZCBmb3IgdGhhdC4KK1RoZSBnZXRfcmVsZWFzZXMgbWV0aG9kIHdpbGwgYnJvd3NlIHRoZSBwcm9qZWN0IHBhZ2UsIGFuZCByZXR1cm4KKzpjbGFzczpgUmVsZWFzZUluZm9gICBvYmplY3RzIGZvciBlYWNoIGZvdW5kIGxpbmsgdGhhdCByZWx5IG9uIGRvd25sb2Fkcy4gOjoKKworICAgPj4+IGZyb20gcGFja2FnaW5nLnB5cGkuc2ltcGxlIGltcG9ydCBDcmF3bGVyCisgICA+Pj4gY3Jhd2xlciA9IENyYXdsZXIoKQorICAgPj4+IGNyYXdsZXIuZ2V0X3JlbGVhc2VzKCJGb29CYXIiKQorICAgWzxSZWxlYXNlSW5mbyAiRm9vYmFyIDEuMSI+LCA8UmVsZWFzZUluZm8gIkZvb2JhciAxLjIiPl0KKworCitOb3RlIHRoYXQgeW91IGFsc28gY2FuIHJlcXVlc3QgdGhlIGNsaWVudCBhYm91dCBzcGVjaWZpYyB2ZXJzaW9ucywgdXNpbmcgdmVyc2lvbgorc3BlY2lmaWVycyAoZGVzY3JpYmVkIGluIGBQRVAgMzQ1Cis8aHR0cDovL3d3dy5weXRob24ub3JnL2Rldi9wZXBzL3BlcC0wMzQ1LyN2ZXJzaW9uLXNwZWNpZmllcnM+YF8pOjoKKworICAgPj4+IGNsaWVudC5nZXRfcmVsZWFzZXMoIkZvb0JhciA8IDEuMiIpCisgICBbPFJlbGVhc2VJbmZvICJGb29CYXIgMS4xIj4sIF0KKworCitgZ2V0X3JlbGVhc2VzYCByZXR1cm5zIGEgbGlzdCBvZiA6Y2xhc3M6YFJlbGVhc2VJbmZvYCwgYnV0IHlvdSBhbHNvIGNhbiBnZXQgdGhlCitiZXN0IGRpc3RyaWJ1dGlvbiB0aGF0IGZ1bGxmaWwgeW91ciByZXF1aXJlbWVudHMsIHVzaW5nICJnZXRfcmVsZWFzZSI6OgorCisgICA+Pj4gY2xpZW50LmdldF9yZWxlYXNlKCJGb29CYXIgPCAxLjIiKQorICAgPFJlbGVhc2VJbmZvICJGb29CYXIgMS4xIj4KKworCitEb3dubG9hZCBkaXN0cmlidXRpb25zCiteXl5eXl5eXl5eXl5eXl5eXl5eXl5eCisKK0FzIGl0IGNhbiBnZXQgdGhlIHVybHMgb2YgZGlzdHJpYnV0aW9ucyBwcm92aWRlZCBieSBQeVBJLCB0aGUgYENyYXdsZXJgCitjbGllbnQgYWxzbyBjYW4gZG93bmxvYWQgdGhlIGRpc3RyaWJ1dGlvbnMgYW5kIHB1dCBpdCBmb3IgeW91IGluIGEgdGVtcG9yYXJ5CitkZXN0aW5hdGlvbjo6CisKKyAgID4+PiBjbGllbnQuZG93bmxvYWQoImZvb2JhciIpCisgICAvdG1wL3RlbXBfZGlyL2Zvb2Jhci0xLjIudGFyLmd6CisKKworWW91IGFsc28gY2FuIHNwZWNpZnkgdGhlIGRpcmVjdG9yeSB5b3Ugd2FudCB0byBkb3dubG9hZCB0bzo6CisKKyAgID4+PiBjbGllbnQuZG93bmxvYWQoImZvb2JhciIsICIvcGF0aC90by9teS9kaXIiKQorICAgL3BhdGgvdG8vbXkvZGlyL2Zvb2Jhci0xLjIudGFyLmd6CisKKworV2hpbGUgZG93bmxvYWRpbmcsIHRoZSBtZDUgb2YgdGhlIGFyY2hpdmUgd2lsbCBiZSBjaGVja2VkLCBpZiBub3QgbWF0Y2hlcywgaXQKK3dpbGwgdHJ5IGFub3RoZXIgdGltZSwgdGhlbiBpZiBmYWlscyBhZ2FpbiwgcmFpc2UgYE1ENUhhc2hEb2VzTm90TWF0Y2hFcnJvcmAuCisKK0ludGVybmFsbHksIHRoYXQncyBub3QgdGhlIENyYXdsZXIgd2hpY2ggZG93bmxvYWQgdGhlIGRpc3RyaWJ1dGlvbnMsIGJ1dCB0aGUKK2BEaXN0cmlidXRpb25JbmZvYCBjbGFzcy4gUGxlYXNlIHJlZmVyIHRvIHRoaXMgZG9jdW1lbnRhdGlvbiBmb3IgbW9yZSBkZXRhaWxzLgorCisKK0ZvbGxvd2luZyBQeVBJIGV4dGVybmFsIGxpbmtzCiteXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXgorCitUaGUgZGVmYXVsdCBiZWhhdmlvciBmb3IgcGFja2FnaW5nIGlzIHRvICpub3QqIGZvbGxvdyB0aGUgbGlua3MgcHJvdmlkZWQKK2J5IEhUTUwgcGFnZXMgaW4gdGhlICJzaW1wbGUgaW5kZXgiLCB0byBmaW5kIGRpc3RyaWJ1dGlvbnMgcmVsYXRlZAorZG93bmxvYWRzLgorCitJdCdzIHBvc3NpYmxlIHRvIHRlbGwgdGhlIFB5UElDbGllbnQgdG8gZm9sbG93IGV4dGVybmFsIGxpbmtzIGJ5IHNldHRpbmcgdGhlCitgZm9sbG93X2V4dGVybmFsc2AgYXR0cmlidXRlLCBvbiBpbnN0YW50aWF0aW9uIG9yIGFmdGVyOjoKKworICAgPj4+IGNsaWVudCA9IENyYXdsZXIoZm9sbG93X2V4dGVybmFscz1UcnVlKQorCitvciA6OgorCisgICA+Pj4gY2xpZW50ID0gQ3Jhd2xlcigpCisgICA+Pj4gY2xpZW50LmZvbGxvd19leHRlcm5hbHMgPSBUcnVlCisKKworV29ya2luZyB3aXRoIGV4dGVybmFsIGluZGV4ZXMsIGFuZCBtaXJyb3JzCiteXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl4KKworVGhlIGRlZmF1bHQgYENyYXdsZXJgIGJlaGF2aW9yIGlzIHRvIHJlbHkgb24gdGhlIFB5dGhvbiBQYWNrYWdlIGluZGV4IHN0b3JlZAorb24gUHlQSSAoaHR0cDovL3B5cGkucHl0aG9uLm9yZy9zaW1wbGUpLgorCitBcyB5b3UgY2FuIG5lZWQgdG8gd29yayB3aXRoIGEgbG9jYWwgaW5kZXgsIG9yIHByaXZhdGUgaW5kZXhlcywgeW91IGNhbiBzcGVjaWZ5CitpdCB1c2luZyB0aGUgaW5kZXhfdXJsIHBhcmFtZXRlcjo6CisKKyAgID4+PiBjbGllbnQgPSBDcmF3bGVyKGluZGV4X3VybD0iZmlsZTovL2ZpbGVzeXN0ZW0vcGF0aC8iKQorCitvciA6OgorCisgICA+Pj4gY2xpZW50ID0gQ3Jhd2xlcihpbmRleF91cmw9Imh0dHA6Ly9zb21lLnNwZWNpZmljLnVybC8iKQorCisKK1lvdSBhbHNvIGNhbiBzcGVjaWZ5IG1pcnJvcnMgdG8gZmFsbGJhY2sgb24gaW4gY2FzZSB0aGUgZmlyc3QgaW5kZXhfdXJsIHlvdQorcHJvdmlkZWQgZG9lc250IHJlc3BvbmQsIG9yIG5vdCBjb3JyZWN0bHkuIFRoZSBkZWZhdWx0IGJlaGF2aW9yIGZvcgorYENyYXdsZXJgIGlzIHRvIHVzZSB0aGUgbGlzdCBwcm92aWRlZCBieSBQeXRob24ub3JnIEROUyByZWNvcmRzLCBhcworZGVzY3JpYmVkIGluIHRoZSA6UEVQOmAzODFgIGFib3V0IG1pcnJvcmluZyBpbmZyYXN0cnVjdHVyZS4KKworSWYgeW91IGRvbid0IHdhbnQgdG8gcmVseSBvbiB0aGVzZSwgeW91IGNvdWxkIHNwZWNpZnkgdGhlIGxpc3Qgb2YgbWlycm9ycyB5b3UKK3dhbnQgdG8gdHJ5IGJ5IHNwZWNpZnlpbmcgdGhlIGBtaXJyb3JzYCBhdHRyaWJ1dGUuIEl0J3MgYSBzaW1wbGUgaXRlcmFibGU6OgorCisgICA+Pj4gbWlycm9ycyA9IFsiaHR0cDovL2ZpcnN0Lm1pcnJvciIsImh0dHA6Ly9zZWNvbmQubWlycm9yIl0KKyAgID4+PiBjbGllbnQgPSBDcmF3bGVyKG1pcnJvcnM9bWlycm9ycykKKworCitTZWFyY2hpbmcgaW4gdGhlIHNpbXBsZSBpbmRleAorXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl4KKworSXQncyBwb3NzaWJsZSB0byBzZWFyY2ggZm9yIHByb2plY3RzIHdpdGggc3BlY2lmaWMgbmFtZXMgaW4gdGhlIHBhY2thZ2UgaW5kZXguCitBc3N1bWluZyB5b3Ugd2FudCB0byBmaW5kIGFsbCBwcm9qZWN0cyBjb250YWluaW5nIHRoZSAiZGlzdHV0aWxzIiBrZXl3b3JkOjoKKworICAgPj4+IGMuc2VhcmNoX3Byb2plY3RzKCJkaXN0dXRpbHMiKQorICAgWzxQcm9qZWN0ICJjb2xsZWN0aXZlLnJlY2lwZS5kaXN0dXRpbHMiPiwgPFByb2plY3QgIkRpc3R1dGlscyI+LCA8UHJvamVjdAorICAgIlBhY2thZ2luZyI+LCA8UHJvamVjdCAiZGlzdHV0aWxzY3Jvc3MiPiwgPFByb2plY3QgImxwZGlzdHV0aWxzIj4sIDxQcm9qZWN0CisgICAidGFyYXMucmVjaXBlLmRpc3R1dGlscyI+LCA8UHJvamVjdCAiemVyb2tzcG90LnJlY2lwZS5kaXN0dXRpbHMiPl0KKworCitZb3UgY2FuIGFsc28gc2VhcmNoIHRoZSBwcm9qZWN0cyBzdGFydGluZyB3aXRoIGEgc3BlY2lmaWMgdGV4dCwgb3IgZW5kaW5nIHdpdGgKK3RoYXQgdGV4dCwgdXNpbmcgYSB3aWxkY2FyZDo6CisKKyAgID4+PiBjLnNlYXJjaF9wcm9qZWN0cygiZGlzdHV0aWxzKiIpCisgICBbPFByb2plY3QgIkRpc3R1dGlscyI+LCA8UHJvamVjdCAiUGFja2FnaW5nIj4sIDxQcm9qZWN0ICJkaXN0dXRpbHNjcm9zcyI+XQorCisgICA+Pj4gYy5zZWFyY2hfcHJvamVjdHMoIipkaXN0dXRpbHMiKQorICAgWzxQcm9qZWN0ICJjb2xsZWN0aXZlLnJlY2lwZS5kaXN0dXRpbHMiPiwgPFByb2plY3QgIkRpc3R1dGlscyI+LCA8UHJvamVjdAorICAgImxwZGlzdHV0aWxzIj4sIDxQcm9qZWN0ICJ0YXJhcy5yZWNpcGUuZGlzdHV0aWxzIj4sIDxQcm9qZWN0CisgICAiemVyb2tzcG90LnJlY2lwZS5kaXN0dXRpbHMiPl0KZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L3BhY2thZ2luZy5weXBpLnhtbHJwYy5yc3QgYi9Eb2MvbGlicmFyeS9wYWNrYWdpbmcucHlwaS54bWxycGMucnN0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUyNDJlNGMKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2MvbGlicmFyeS9wYWNrYWdpbmcucHlwaS54bWxycGMucnN0CkBAIC0wLDAgKzEsMTQzIEBACis6bW9kOmBwYWNrYWdpbmcucHlwaS54bWxycGNgIC0tLSBDcmF3bGVyIHVzaW5nIHRoZSBQeVBJIFhNTC1SUEMgaW50ZXJmYWNlCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKKy4uIG1vZHVsZTo6IHBhY2thZ2luZy5weXBpLnhtbHJwYworICAgOnN5bm9wc2lzOiBDbGllbnQgdXNpbmcgWE1MLVJQQyByZXF1ZXN0cyB0byBmZXRjaCBpbmZvIGFuZCBkaXN0cmlidXRpb25zLgorCisKK0luZGV4ZXMgY2FuIGJlIHF1ZXJpZWQgdXNpbmcgWE1MLVJQQyBjYWxscywgYW5kIFBhY2thZ2luZyBwcm92aWRlcyBhIHNpbXBsZQord2F5IHRvIGludGVyZmFjZSB3aXRoIFhNTC1SUEMuCisKK1lvdSBzaG91bGQgKip1c2UqKiBYTUwtUlBDIHdoZW46CisKKyogU2VhcmNoaW5nIHRoZSBpbmRleCBmb3IgcHJvamVjdHMgKipvbiBvdGhlciBmaWVsZHMgdGhhbiBwcm9qZWN0CisgIG5hbWVzKiouIEZvciBpbnN0YW5jZSwgeW91IGNhbiBzZWFyY2ggZm9yIHByb2plY3RzIGJhc2VkIG9uIHRoZQorICBhdXRob3JfZW1haWwgZmllbGQuCisqIFNlYXJjaGluZyBhbGwgdGhlIHZlcnNpb25zIHRoYXQgaGF2ZSBleGlzdGVkIGZvciBhIHByb2plY3QuCisqIHlvdSB3YW50IHRvIHJldHJpZXZlIE1FVEFEQVRBcyBpbmZvcm1hdGlvbiBmcm9tIHJlbGVhc2VzIG9yCisgIGRpc3RyaWJ1dGlvbnMuCisKKworWW91IHNob3VsZCAqKmF2b2lkIHVzaW5nKiogWE1MLVJQQyBtZXRob2QgY2FsbHMgd2hlbjoKKworKiBSZXRyaWV2aW5nIHRoZSBsYXN0IHZlcnNpb24gb2YgYSBwcm9qZWN0CisqIEdldHRpbmcgdGhlIHByb2plY3RzIHdpdGggYSBzcGVjaWZpYyBuYW1lIGFuZCB2ZXJzaW9uLgorKiBUaGUgc2ltcGxlIGluZGV4IGNhbiBtYXRjaCB5b3VyIG5lZWRzCisKKworV2hlbiBkZWFsaW5nIHdpdGggaW5kZXhlcywga2VlcCBpbiBtaW5kIHRoYXQgdGhlIGluZGV4IHF1ZXJpZXMgd2lsbCBhbHdheXMKK3JldHVybiB5b3UgOmNsYXNzOmBwYWNrYWdpbmcucHlwaS5kaXN0LlJlbGVhc2VJbmZvYCBhbmQKKzpjbGFzczpgcGFja2FnaW5nLnB5cGkuZGlzdC5SZWxlYXNlc0xpc3RgIG9iamVjdHMuCisKK1NvbWUgbWV0aG9kcyBoZXJlIHNoYXJlIGNvbW1vbiBBUElzIHdpdGggdGhlIG9uZSB5b3UgY2FuIGZpbmQgb24KKzpjbGFzczpgcGFja2FnaW5nLnB5cGkuc2ltcGxlYCwgaW50ZXJuYWxseSwgOmNsYXNzOmBwYWNrYWdpbmcucHlwaS5jbGllbnRgCitpcyBpbmhlcml0ZWQgYnkgOmNsYXNzOmBDbGllbnRgCisKKworQVBJCistLS0KKworLi4gY2xhc3M6OiBDbGllbnQKKworCitVc2FnZSBleGFtcGxlcworLS0tLS0tLS0tLS0tLS0KKworVXNlIGNhc2UgZGVzY3JpYmVkIGhlcmUgYXJlIHVzZSBjYXNlIHRoYXQgYXJlIG5vdCBjb21tb24gdG8gdGhlIG90aGVyIGNsaWVudHMuCitJZiB5b3Ugd2FudCB0byBzZWUgYWxsIHRoZSBtZXRob2RzLCBwbGVhc2UgcmVmZXIgdG8gQVBJIG9yIHRvIHVzYWdlIGV4YW1wbGVzCitkZXNjcmliZWQgaW4gOmNsYXNzOmBwYWNrYWdpbmcucHlwaS5jbGllbnQuQ2xpZW50YAorCisKK0ZpbmRpbmcgcmVsZWFzZXMKK15eXl5eXl5eXl5eXl5eXl4KKworSXQncyBhIGNvbW1vbiB1c2UgY2FzZSB0byBzZWFyY2ggZm9yICJ0aGluZ3MiIHdpdGhpbiB0aGUgaW5kZXguIFdlIGNhbgorYmFzaWNhbGx5IHNlYXJjaCBmb3IgcHJvamVjdHMgYnkgdGhlaXIgbmFtZSwgd2hpY2ggaXMgdGhlIG1vc3QgdXNlZCB3YXkgZm9yCit1c2VycyAoZWcuICJnaXZlIG1lIHRoZSBsYXN0IHZlcnNpb24gb2YgdGhlIEZvb0JhciBwcm9qZWN0IikuCisKK1RoaXMgY2FuIGJlIGFjY29tcGxpc2hlZCB1c2luZyB0aGUgZm9sbG93aW5nIHN5bnRheDo6CisKKyAgID4+PiBjbGllbnQgPSB4bWxycGMuQ2xpZW50KCkKKyAgID4+PiBjbGllbnQuZ2V0X3JlbGVhc2UoIkZvb2JhciAoPD0gMS4zKSkKKyAgIDxGb29CYXIgMS4yLjE+CisgICA+Pj4gY2xpZW50LmdldF9yZWxlYXNlcygiRm9vQmFyICg8PSAxLjMpIikKKyAgIFtGb29CYXIgMS4xLCBGb29CYXIgMS4xLjEsIEZvb0JhciAxLjIsIEZvb0JhciAxLjIuMV0KKworCitBbmQgd2UgYWxzbyBjYW4gZmluZCBmb3Igc3BlY2lmaWMgZmllbGRzOjoKKworICAgPj4+IGNsaWVudC5zZWFyY2hfcHJvamVjdHMoZmllbGQ9dmFsdWUpCisKKworWW91IGNvdWxkIHNwZWNpZnkgdGhlIG9wZXJhdG9yIHRvIHVzZSwgZGVmYXVsdCBpcyAib3IiOjoKKworICAgPj4+IGNsaWVudC5zZWFyY2hfcHJvamVjdHMoZmllbGQ9dmFsdWUsIG9wZXJhdG9yPSJhbmQiKQorCisKK1RoZSBzcGVjaWZpYyBmaWVsZHMgeW91IGNhbiBzZWFyY2ggYXJlOgorCisqIG5hbWUKKyogdmVyc2lvbgorKiBhdXRob3IKKyogYXV0aG9yX2VtYWlsCisqIG1haW50YWluZXIKKyogbWFpbnRhaW5lcl9lbWFpbAorKiBob21lX3BhZ2UKKyogbGljZW5zZQorKiBzdW1tYXJ5CisqIGRlc2NyaXB0aW9uCisqIGtleXdvcmRzCisqIHBsYXRmb3JtCisqIGRvd25sb2FkX3VybAorCisKK0dldHRpbmcgbWV0YWRhdGEgaW5mb3JtYXRpb24KK15eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl4KKworWE1MLVJQQyBpcyBhIHByZWZlcnJlZCB3YXkgdG8gcmV0cmlldmUgbWV0YWRhdGEgaW5mb3JtYXRpb24gZnJvbSBpbmRleGVzLgorSXQncyByZWFsbHkgc2ltcGxlIHRvIGRvIHNvOjoKKworICAgPj4+IGNsaWVudCA9IHhtbHJwYy5DbGllbnQoKQorICAgPj4+IGNsaWVudC5nZXRfbWV0YWRhdGEoIkZvb0JhciIsICIxLjEiKQorICAgPFJlbGVhc2VJbmZvIEZvb0JhciAxLjE+CisKKworQXNzdW1pbmcgd2UgYWxyZWFkeSBoYXZlIGEgOmNsYXNzOmBwYWNrYWdpbmcucHlwaS5SZWxlYXNlSW5mb2Agb2JqZWN0IGRlZmluZWQsCitpdCdzIHBvc3NpYmxlIHRvIHBhc3MgaXQgdG8gdGhlIHhtbHJwYyBjbGllbnQgdG8gcmV0cmlldmUgYW5kIGNvbXBsZXRlIGl0cworbWV0YWRhdGE6OgorCisgICA+Pj4gZm9vYmFyMTEgPSBSZWxlYXNlSW5mbygiRm9vQmFyIiwgIjEuMSIpCisgICA+Pj4gY2xpZW50ID0geG1scnBjLkNsaWVudCgpCisgICA+Pj4gcmV0dXJuZWRfcmVsZWFzZSA9IGNsaWVudC5nZXRfbWV0YWRhdGEocmVsZWFzZT1mb29iYXIxMSkKKyAgID4+PiByZXR1cm5lZF9yZWxlYXNlCisgICA8UmVsZWFzZUluZm8gRm9vQmFyIDEuMT4KKworCitHZXQgYWxsIHRoZSByZWxlYXNlcyBvZiBhIHByb2plY3QKK15eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXgorCitUbyByZXRyaWV2ZSBhbGwgdGhlIHJlbGVhc2VzIGZvciBhIHByb2plY3QsIHlvdSBjYW4gYnVpbGQgdGhlbSB1c2luZworYGdldF9yZWxlYXNlc2A6OgorCisgICA+Pj4gY2xpZW50ID0geG1scnBjLkNsaWVudCgpCisgICA+Pj4gY2xpZW50LmdldF9yZWxlYXNlcygiRm9vQmFyIikKKyAgIFs8UmVsZWFzZUluZm8gRm9vQmFyIDAuOT4sIDxSZWxlYXNlSW5mbyBGb29CYXIgMS4wPiwgPFJlbGVhc2VJbmZvIDEuMT5dCisKKworR2V0IGluZm9ybWF0aW9uIGFib3V0IGRpc3RyaWJ1dGlvbnMKK15eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXgorCitJbmRleGVzIGhhdmUgaW5mb3JtYXRpb24gYWJvdXQgcHJvamVjdHMsIHJlbGVhc2VzICoqYW5kKiogZGlzdHJpYnV0aW9ucy4KK0lmIHlvdSdyZSBub3QgZmFtaWxpYXIgd2l0aCB0aG9zZSwgcGxlYXNlIHJlZmVyIHRvIHRoZSBkb2N1bWVudGF0aW9uIG9mCis6bW9kOmBwYWNrYWdpbmcucHlwaS5kaXN0YC4KKworSXQncyBwb3NzaWJsZSB0byByZXRyaWV2ZSBpbmZvcm1hdGlvbiBhYm91dCBkaXN0cmlidXRpb25zLCBlLmcgIndoYXQgYXJlIHRoZQorZXhpc3RpbmcgZGlzdHJpYnV0aW9ucyBmb3IgdGhpcyByZWxlYXNlID8gSG93IHRvIHJldHJpZXZlIHRoZW0gPyI6OgorCisgICA+Pj4gY2xpZW50ID0geG1scnBjLkNsaWVudCgpCisgICA+Pj4gcmVsZWFzZSA9IGNsaWVudC5nZXRfZGlzdHJpYnV0aW9ucygiRm9vQmFyIiwgIjEuMSIpCisgICA+Pj4gcmVsZWFzZS5kaXN0cworICAgeydzZGlzdCc6IDxGb29CYXIgMS4xIHNkaXN0PiwgJ2JkaXN0JzogPEZvb0JhciAxLjEgYmRpc3Q+fQorCitBcyB5b3Ugc2VlLCB0aGlzIGRvZXMgbm90IHJldHVybiBhIGxpc3Qgb2YgZGlzdHJpYnV0aW9ucywgYnV0IGEgcmVsZWFzZSwKK2JlY2F1c2UgYSByZWxlYXNlIGNhbiBiZSB1c2VkIGxpa2UgYSBsaXN0IG9mIGRpc3RyaWJ1dGlvbnMuCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9wYWNrYWdpbmcucnN0IGIvRG9jL2xpYnJhcnkvcGFja2FnaW5nLnJzdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNmJmZjQ3Ci0tLSAvZGV2L251bGwKKysrIGIvRG9jL2xpYnJhcnkvcGFja2FnaW5nLnJzdApAQCAtMCwwICsxLDc1IEBACis6bW9kOmBwYWNrYWdpbmdgIC0tLSBQYWNrYWdpbmcgc3VwcG9ydAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworLi4gbW9kdWxlOjogcGFja2FnaW5nCisgICA6c3lub3BzaXM6IFBhY2thZ2luZyBzeXN0ZW0gYW5kIGJ1aWxkaW5nIGJsb2NrcyBmb3Igb3RoZXIgcGFja2FnaW5nIHN5c3RlbXMuCisuLiBzZWN0aW9uYXV0aG9yOjogRnJlZCBMLiBEcmFrZSwgSnIuIDxmZHJha2VAYWNtLm9yZz4sIGRpc3R1dGlscyBhbmQgcGFja2FnaW5nCisgICAgICAgICAgICAgICAgICAgY29udHJpYnV0b3JzCisKKworVGhlIDptb2Q6YHBhY2thZ2luZ2AgcGFja2FnZSBwcm92aWRlcyBzdXBwb3J0IGZvciBidWlsZGluZywgcGFja2FnaW5nLAorZGlzdHJpYnV0aW5nIGFuZCBpbnN0YWxsaW5nIGFkZGl0aW9uYWwgcHJvamVjdHMgaW50byBhIFB5dGhvbiBpbnN0YWxsYXRpb24uCitQcm9qZWN0cyBtYXkgaW5jbHVkZSBQeXRob24gbW9kdWxlcywgZXh0ZW5zaW9uIG1vZHVsZXMsIHBhY2thZ2VzIGFuZCBzY3JpcHRzLgorOm1vZDpgcGFja2FnaW5nYCBhbHNvIHByb3ZpZGVzIGJ1aWxkaW5nIGJsb2NrcyBmb3Igb3RoZXIgcGFja2FnaW5nIHN5c3RlbXMKK3RoYXQgYXJlIG5vdCB0aWVkIHRvIHRoZSBjb21tYW5kIHN5c3RlbS4KKworVGhpcyBtYW51YWwgaXMgdGhlIHJlZmVyZW5jZSBkb2N1bWVudGF0aW9uIGZvciB0aG9zZSBzdGFuZGFsb25lIGJ1aWxkaW5nCitibG9ja3MgYW5kIGZvciBleHRlbmRpbmcgUGFja2FnaW5nLiBJZiB5b3UncmUgbG9va2luZyBmb3IgdGhlIHVzZXItY2VudHJpYworZ3VpZGVzIHRvIGluc3RhbGwgYSBwcm9qZWN0IG9yIHBhY2thZ2UgeW91ciBvd24gY29kZSwgaGVhZCB0byBgU2VlIGFsc29gX18uCisKKworQnVpbGRpbmcgYmxvY2tzCistLS0tLS0tLS0tLS0tLS0KKworLi4gdG9jdHJlZTo6CisgICA6bWF4ZGVwdGg6IDIKKworICAgcGFja2FnaW5nLW1pc2MKKyAgIHBhY2thZ2luZy52ZXJzaW9uCisgICBwYWNrYWdpbmcubWV0YWRhdGEKKyAgIHBhY2thZ2luZy5kYXRhYmFzZQorICAgcGFja2FnaW5nLmRlcGdyYXBoCisgICBwYWNrYWdpbmcucHlwaQorICAgcGFja2FnaW5nLnB5cGkuZGlzdAorICAgcGFja2FnaW5nLnB5cGkuc2ltcGxlCisgICBwYWNrYWdpbmcucHlwaS54bWxycGMKKyAgIHBhY2thZ2luZy5pbnN0YWxsCisKKworVGhlIGNvbW1hbmQgbWFjaGluZXJ5CistLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworLi4gdG9jdHJlZTo6CisgICA6bWF4ZGVwdGg6IDIKKworICAgcGFja2FnaW5nLmRpc3QKKyAgIHBhY2thZ2luZy5jb21tYW5kCisgICBwYWNrYWdpbmcuY29tcGlsZXIKKyAgIHBhY2thZ2luZy5mYW5jeV9nZXRvcHQKKworCitPdGhlciB1dGlsaXRpZXMKKy0tLS0tLS0tLS0tLS0tLS0KKworLi4gdG9jdHJlZTo6CisgICA6bWF4ZGVwdGg6IDIKKworICAgcGFja2FnaW5nLnV0aWwKKyAgIHBhY2thZ2luZy50ZXN0cy5weXBpX3NlcnZlcgorCisuLiBYWFggbWlzc2luZzogY29tcGF0IGNvbmZpZyBjcmVhdGUgKGRpcl91dGlsKSBydW4gcHlwaS57YmFzZSxtaXJyb3JzfQorCisKKy4uIF9fOgorCisuLiBzZWVhbHNvOjoKKworICAgOnJlZjpgcGFja2FnaW5nLWluZGV4YAorICAgICAgVGhlIG1hbnVhbCBmb3IgZGV2ZWxvcGVycyBvZiBQeXRob24gcHJvamVjdHMgd2hvIHdhbnQgdG8gcGFja2FnZSBhbmQKKyAgICAgIGRpc3RyaWJ1dGUgdGhlbS4gVGhpcyBkZXNjcmliZXMgaG93IHRvIHVzZSA6bW9kOmBwYWNrYWdpbmdgIHRvIG1ha2UKKyAgICAgIHByb2plY3RzIGVhc2lseSBmb3VuZCBhbmQgYWRkZWQgdG8gYW4gZXhpc3RpbmcgUHl0aG9uIGluc3RhbGxhdGlvbi4KKworICAgOnJlZjpgcGFja2FnaW5nLWluc3RhbGwtaW5kZXhgCisgICAgICBBIHVzZXItY2VudGVyZWQgbWFudWFsIHdoaWNoIGluY2x1ZGVzIGluZm9ybWF0aW9uIG9uIGFkZGluZyBwcm9qZWN0cworICAgICAgaW50byBhbiBleGlzdGluZyBQeXRob24gaW5zdGFsbGF0aW9uLiAgWW91IGRvIG5vdCBuZWVkIHRvIGJlIGEgUHl0aG9uCisgICAgICBwcm9ncmFtbWVyIHRvIHJlYWQgdGhpcyBtYW51YWwuCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9wYWNrYWdpbmcudGVzdHMucHlwaV9zZXJ2ZXIucnN0IGIvRG9jL2xpYnJhcnkvcGFja2FnaW5nLnRlc3RzLnB5cGlfc2VydmVyLnJzdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mM2I3NzIwCi0tLSAvZGV2L251bGwKKysrIGIvRG9jL2xpYnJhcnkvcGFja2FnaW5nLnRlc3RzLnB5cGlfc2VydmVyLnJzdApAQCAtMCwwICsxLDEwNSBAQAorOm1vZDpgcGFja2FnaW5nLnRlc3RzLnB5cGlfc2VydmVyYCAtLS0gUHlQSSBtb2NrIHNlcnZlcgorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCisuLiBtb2R1bGU6OiBwYWNrYWdpbmcudGVzdHMucHlwaV9zZXJ2ZXIKKyAgIDpzeW5vcHNpczogTW9jayBzZXJ2ZXIgdXNlZCB0byB0ZXN0IFB5UEktcmVsYXRlZCBtb2R1bGVzIGFuZCBjb21tYW5kcy4KKworCitXaGVuIHlvdSBhcmUgdGVzdGluZyBjb2RlIHRoYXQgd29ya3Mgd2l0aCBQYWNrYWdpbmcsIHlvdSBtaWdodCBmaW5kIHRoZXNlIHRvb2xzCit1c2VmdWwuCisKKworVGhlIG1vY2sgc2VydmVyCistLS0tLS0tLS0tLS0tLS0KKworLi4gY2xhc3M6OiBQeVBJU2VydmVyCisKKyAgIFB5UElTZXJ2ZXIgaXMgYSBjbGFzcyB0aGF0IGltcGxlbWVudHMgYW4gSFRUUCBzZXJ2ZXIgcnVubmluZyBpbiBhIHNlcGFyYXRlCisgICB0aHJlYWQuIEFsbCBpdCBkb2VzIGlzIHJlY29yZCB0aGUgcmVxdWVzdHMgZm9yIGZ1cnRoZXIgaW5zcGVjdGlvbi4gVGhlIHJlY29yZGVkCisgICBkYXRhIGlzIGF2YWlsYWJsZSB1bmRlciBgYHJlcXVlc3RzYGAgYXR0cmlidXRlLiBUaGUgZGVmYXVsdAorICAgSFRUUCByZXNwb25zZSBjYW4gYmUgb3ZlcnJpZGRlbiB3aXRoIHRoZSBgYGRlZmF1bHRfcmVzcG9uc2Vfc3RhdHVzYGAsCisgICBgYGRlZmF1bHRfcmVzcG9uc2VfaGVhZGVyc2BgIGFuZCBgYGRlZmF1bHRfcmVzcG9uc2VfZGF0YWBgIGF0dHJpYnV0ZXMuCisKKyAgIEJ5IGRlZmF1bHQsIHdoZW4gYWNjZXNzaW5nIHRoZSBzZXJ2ZXIgd2l0aCB1cmxzIGJlZ2lubmluZyB3aXRoIGAvc2ltcGxlL2AsCisgICB0aGUgc2VydmVyIGFsc28gcmVjb3JkIHlvdXIgcmVxdWVzdHMsIGJ1dCB3aWxsIGxvb2sgZm9yIGZpbGVzIHVuZGVyCisgICB0aGUgYC90ZXN0cy9weXBpc2VydmVyL3NpbXBsZS9gIHBhdGguCisKKyAgIFlvdSBjYW4gdGVsbCB0aGUgc2V2ZXIgdG8gc2VydmUgc3RhdGljIGZpbGVzIGZvciBvdGhlciBwYXRocy4gVGhpcyBjb3VsZCBiZQorICAgYWNjb21wbGlzaGVkIGJ5IHVzaW5nIHRoZSBgc3RhdGljX3VyaV9wYXRoc2AgcGFyYW1ldGVyLCBhcyBiZWxvdzo6CisKKyAgICAgIHNlcnZlciA9IFB5UElTZXJ2ZXIoc3RhdGljX3VyaV9wYXRocz1bImZpcnN0X3BhdGgiLCAic2Vjb25kX3BhdGgiXSkKKworCisgICBZb3UgbmVlZCB0byBjcmVhdGUgdGhlIGNvbnRlbnQgdGhhdCB3aWxsIGJlIHNlcnZlZCB1bmRlciB0aGUKKyAgIGAvdGVzdHMvcHlwaXNlcnZlci9kZWZhdWx0YCBwYXRoLiBJZiB5b3Ugd2FudCB0byBzZXJ2ZSBjb250ZW50IGZyb20gYW5vdGhlcgorICAgcGxhY2UsIHlvdSBhbHNvIGNhbiBzcGVjaWZ5IGFub3RoZXIgZmlsZXN5c3RlbSBwYXRoICh3aGljaCBuZWVkcyB0byBiZSB1bmRlcgorICAgYHRlc3RzL3B5cGlzZXJ2ZXIvYC4gVGhpcyB3aWxsIHJlcGxhY2UgdGhlIGRlZmF1bHQgYmVoYXZpb3Igb2YgdGhlIHNlcnZlciwgYW5kCisgICBpdCB3aWxsIG5vdCBzZXJ2ZSBjb250ZW50IGZyb20gdGhlIGBkZWZhdWx0YCBkaXIgOjoKKworICAgICAgc2VydmVyID0gUHlQSVNlcnZlcihzdGF0aWNfZmlsZXN5c3RlbV9wYXRocz1bInBhdGgvdG8veW91ci9kaXIiXSkKKworCisgICBJZiB5b3UganVzdCBuZWVkIHRvIGFkZCBzb21lIHBhdGhzIHRvIHRoZSBleGlzdGluZyBvbmVzLCB5b3UgY2FuIGRvIGFzIHNob3duLAorICAga2VlcGluZyBpbiBtaW5kIHRoYXQgdGhlIHNlcnZlciB3aWxsIGFsd2F5cyB0cnkgdG8gbG9hZCBwYXRocyBpbiByZXZlcnNlIG9yZGVyCisgICAoZS5nIGhlcmUsIHRyeSAiYW5vdGhlci9zdXBlci9wYXRoIiB0aGVuIHRoZSBkZWZhdWx0IG9uZSkgOjoKKworICAgICAgc2VydmVyID0gUHlQSVNlcnZlcih0ZXN0X3N0YXRpY19wYXRoPSJhbm90aGVyL3N1cGVyL3BhdGgiKQorICAgICAgc2VydmVyID0gUHlQSVNlcnZlcigiYW5vdGhlci9zdXBlci9wYXRoIikKKyAgICAgICMgb3IKKyAgICAgIHNlcnZlci5zdGF0aWNfZmlsZXN5c3RlbV9wYXRocy5hcHBlbmQoImFub3RoZXIvc3VwZXIvcGF0aCIpCisKKworICAgQXMgYSByZXN1bHQgb2Ygd2hhdCwgaW4geW91ciB0ZXN0cywgd2hpbGUgeW91IG5lZWQgdG8gdXNlIHRoZSBQeVBJU2VydmVyLCBpbgorICAgb3JkZXIgdG8gaXNvbGF0ZXMgdGhlIHRlc3QgY2FzZXMsIHRoZSBiZXN0IHByYWN0aWNlIGlzIHRvIHBsYWNlIHRoZSBjb21tb24gZmlsZXMKKyAgIGluIHRoZSBgZGVmYXVsdGAgZm9sZGVyLCBhbmQgdG8gY3JlYXRlIGEgZGlyZWN0b3J5IGZvciBlYWNoIHNwZWNpZmljIHRlc3QgY2FzZTo6CisKKyAgICAgIHNlcnZlciA9IFB5UElTZXJ2ZXIoc3RhdGljX2ZpbGVzeXN0ZW1fcGF0aHMgPSBbImRlZmF1bHQiLCAidGVzdF9weXBpX3NlcnZlciJdLAorICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNfdXJpX3BhdGhzPVsic2ltcGxlIiwgImV4dGVybmFsIl0pCisKKworQmFzZSBjbGFzcyBhbmQgZGVjb3JhdG9yIGZvciB0ZXN0cworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisuLiBjbGFzczo6IFB5UElTZXJ2ZXJUZXN0Q2FzZQorCisgICBgYFB5UElTZXJ2ZXJUZXN0Q2FzZWBgIGlzIGEgdGVzdCBjYXNlIGNsYXNzIHdpdGggc2V0VXAgYW5kIHRlYXJEb3duIG1ldGhvZHMgdGhhdAorICAgdGFrZSBjYXJlIG9mIGEgc2luZ2xlIFB5UElTZXJ2ZXIgaW5zdGFuY2UgYXR0YWNoZWQgYXMgYSBgYHB5cGlgYCBhdHRyaWJ1dGUgb24KKyAgIHRoZSB0ZXN0IGNsYXNzLiBVc2UgaXQgYXMgb25lIG9mIHRoZSBiYXNlIGNsYXNzZXMgaW4geW91ciB0ZXN0IGNhc2U6OgorCisKKyAgICAgIGNsYXNzIFVwbG9hZFRlc3RDYXNlKFB5UElTZXJ2ZXJUZXN0Q2FzZSk6CisKKyAgICAgICAgICBkZWYgdGVzdF9zb21ldGhpbmcoc2VsZik6CisgICAgICAgICAgICAgIGNtZCA9IHNlbGYucHJlcGFyZV9jb21tYW5kKCkKKyAgICAgICAgICAgICAgY21kLmVuc3VyZV9maW5hbGl6ZWQoKQorICAgICAgICAgICAgICBjbWQucmVwb3NpdG9yeSA9IHNlbGYucHlwaS5mdWxsX2FkZHJlc3MKKyAgICAgICAgICAgICAgY21kLnJ1bigpCisKKyAgICAgICAgICAgICAgZW52aXJvbiwgcmVxdWVzdF9kYXRhID0gc2VsZi5weXBpLnJlcXVlc3RzWy0xXQorICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlcXVlc3RfZGF0YSwgRVhQRUNURURfUkVRVUVTVF9EQVRBKQorCisKKy4uIGRlY29yYXRvcjo6IHVzZV9weXBpX3NlcnZlcgorCisgICBZb3UgYWxzbyBjYW4gdXNlIGEgZGVjb3JhdG9yIGZvciB5b3VyIHRlc3RzLCBpZiB5b3UgZG8gbm90IG5lZWQgdGhlIHNhbWUgc2VydmVyCisgICBpbnN0YW5jZSBhbG9uZyBhbGwgeW91IHRlc3QgY2FzZS4gU28sIHlvdSBjYW4gc3BlY2lmeSwgZm9yIGVhY2ggdGVzdCBtZXRob2QsCisgICBzb21lIGluaXRpYWxpc2F0aW9uIHBhcmFtZXRlcnMgZm9yIHRoZSBzZXJ2ZXIuCisKKyAgIEZvciB0aGlzLCB5b3UgbmVlZCB0byBhZGQgYSBgc2VydmVyYCBwYXJhbWV0ZXIgdG8geW91ciBtZXRob2QsIGxpa2UgdGhpczo6CisKKyAgICAgIGNsYXNzIFNhbXBsZVRlc3RDYXNlKFRlc3RDYXNlKToKKworICAgICAgICAgIEB1c2VfcHlwaV9zZXJ2ZXIoKQorICAgICAgICAgIGRlZiB0ZXN0X3NvbWV0aGluZyhzZWxmLCBzZXJ2ZXIpOgorICAgICAgICAgICAgICAuLi4KKworCisgICBUaGUgZGVjb3JhdG9yIHdpbGwgaW5zdGFudGlhdGUgdGhlIHNlcnZlciBmb3IgeW91LCBhbmQgcnVuIGFuZCBzdG9wIGl0IGp1c3QKKyAgIGJlZm9yZSBhbmQgYWZ0ZXIgeW91ciBtZXRob2QgY2FsbC4gWW91IGFsc28gY2FuIHBhc3MgdGhlIHNlcnZlciBpbml0aWFsaXplciwKKyAgIGp1c3QgbGlrZSB0aGlzOjoKKworICAgICAgY2xhc3MgU2FtcGxlVGVzdENhc2UoVGVzdENhc2UpOgorCisgICAgICAgICAgQHVzZV9weXBpX3NlcnZlcigidGVzdF9jYXNlX25hbWUiKQorICAgICAgICAgIGRlZiB0ZXN0X3NvbWV0aGluZyhzZWxmLCBzZXJ2ZXIpOgorICAgICAgICAgICAgICAuLi4KZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L3BhY2thZ2luZy51dGlsLnJzdCBiL0RvYy9saWJyYXJ5L3BhY2thZ2luZy51dGlsLnJzdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjI4YzMyCi0tLSAvZGV2L251bGwKKysrIGIvRG9jL2xpYnJhcnkvcGFja2FnaW5nLnV0aWwucnN0CkBAIC0wLDAgKzEsMTU1IEBACis6bW9kOmBwYWNrYWdpbmcudXRpbGAgLS0tIE1pc2NlbGxhbmVvdXMgdXRpbGl0eSBmdW5jdGlvbnMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCisuLiBtb2R1bGU6OiBwYWNrYWdpbmcudXRpbAorICAgOnN5bm9wc2lzOiBNaXNjZWxsYW5lb3VzIHV0aWxpdHkgZnVuY3Rpb25zLgorCisKK1RoaXMgbW9kdWxlIGNvbnRhaW5zIHZhcmlvdXMgaGVscGVycyBmb3IgdGhlIG90aGVyIG1vZHVsZXMuCisKKy4uIFhYWCBhIG51bWJlciBvZiBmdW5jdGlvbnMgYXJlIG1pc3NpbmcsIGJ1dCB0aGUgbW9kdWxlIG1heSBiZSBzcGxpdCBmaXJzdAorICAgKGl0J3MgZ2lub3Jtb3VzIHJpZ2h0IG5vdywgc29tZSB0aGluZ3MgY291bGQgZ28gdG8gY29tcGF0IGZvciBleGFtcGxlKQorCisuLiBmdW5jdGlvbjo6IGdldF9wbGF0Zm9ybSgpCisKKyAgIFJldHVybiBhIHN0cmluZyB0aGF0IGlkZW50aWZpZXMgdGhlIGN1cnJlbnQgcGxhdGZvcm0uICBUaGlzIGlzIHVzZWQgbWFpbmx5IHRvCisgICBkaXN0aW5ndWlzaCBwbGF0Zm9ybS1zcGVjaWZpYyBidWlsZCBkaXJlY3RvcmllcyBhbmQgcGxhdGZvcm0tc3BlY2lmaWMgYnVpbHQKKyAgIGRpc3RyaWJ1dGlvbnMuICBUeXBpY2FsbHkgaW5jbHVkZXMgdGhlIE9TIG5hbWUgYW5kIHZlcnNpb24gYW5kIHRoZQorICAgYXJjaGl0ZWN0dXJlIChhcyBzdXBwbGllZCBieSAnb3MudW5hbWUoKScpLCBhbHRob3VnaCB0aGUgZXhhY3QgaW5mb3JtYXRpb24KKyAgIGluY2x1ZGVkIGRlcGVuZHMgb24gdGhlIE9TOyBlLmcuIGZvciBJUklYIHRoZSBhcmNoaXRlY3R1cmUgaXNuJ3QgcGFydGljdWxhcmx5CisgICBpbXBvcnRhbnQgKElSSVggb25seSBydW5zIG9uIFNHSSBoYXJkd2FyZSksIGJ1dCBmb3IgTGludXggdGhlIGtlcm5lbCB2ZXJzaW9uCisgICBpc24ndCBwYXJ0aWN1bGFybHkgaW1wb3J0YW50LgorCisgICBFeGFtcGxlcyBvZiByZXR1cm5lZCB2YWx1ZXM6CisKKyAgICogYGBsaW51eC1pNTg2YGAKKyAgICogYGBsaW51eC1hbHBoYWBgCisgICAqIGBgc29sYXJpcy0yLjYtc3VuNHVgYAorICAgKiBgYGlyaXgtNS4zYGAKKyAgICogYGBpcml4NjQtNi4yYGAKKworICAgRm9yIG5vbi1QT1NJWCBwbGF0Zm9ybXMsIGN1cnJlbnRseSBqdXN0IHJldHVybnMgYGBzeXMucGxhdGZvcm1gYC4KKworICAgRm9yIE1hYyBPUyBYIHN5c3RlbXMgdGhlIE9TIHZlcnNpb24gcmVmbGVjdHMgdGhlIG1pbmltYWwgdmVyc2lvbiBvbiB3aGljaAorICAgYmluYXJpZXMgd2lsbCBydW4gKHRoYXQgaXMsIHRoZSB2YWx1ZSBvZiBgYE1BQ09TWF9ERVBMT1lNRU5UX1RBUkdFVGBgCisgICBkdXJpbmcgdGhlIGJ1aWxkIG9mIFB5dGhvbiksIG5vdCB0aGUgT1MgdmVyc2lvbiBvZiB0aGUgY3VycmVudCBzeXN0ZW0uCisKKyAgIEZvciB1bml2ZXJzYWwgYmluYXJ5IGJ1aWxkcyBvbiBNYWMgT1MgWCB0aGUgYXJjaGl0ZWN0dXJlIHZhbHVlIHJlZmxlY3RzCisgICB0aGUgdW5pdmVyYWwgYmluYXJ5IHN0YXR1cyBpbnN0ZWFkIG9mIHRoZSBhcmNoaXRlY3R1cmUgb2YgdGhlIGN1cnJlbnQKKyAgIHByb2Nlc3Nvci4gRm9yIDMyLWJpdCB1bml2ZXJzYWwgYmluYXJpZXMgdGhlIGFyY2hpdGVjdHVyZSBpcyBgYGZhdGBgLAorICAgZm9yIDY0LWJpdCB1bml2ZXJzYWwgYmluYXJpZXMgdGhlIGFyY2hpdGVjdHVyZSBpcyBgYGZhdDY0YGAsIGFuZAorICAgZm9yIDQtd2F5IHVuaXZlcnNhbCBiaW5hcmllcyB0aGUgYXJjaGl0ZWN0dXJlIGlzIGBgdW5pdmVyc2FsYGAuIFN0YXJ0aW5nCisgICBmcm9tIFB5dGhvbiAyLjcgYW5kIFB5dGhvbiAzLjIgdGhlIGFyY2hpdGVjdHVyZSBgYGZhdDNgYCBpcyB1c2VkIGZvcgorICAgYSAzLXdheSB1bml2ZXJzYWwgYnVpbGQgKHBwYywgaTM4NiwgeDg2XzY0KSBhbmQgYGBpbnRlbGBgIGlzIHVzZWQgZm9yCisgICBhIHVuaXZlcmFsIGJ1aWxkIHdpdGggdGhlIGkzODYgYW5kIHg4Nl82NCBhcmNoaXRlY3R1cmVzCisKKyAgIEV4YW1wbGVzIG9mIHJldHVybmVkIHZhbHVlcyBvbiBNYWMgT1MgWDoKKworICAgKiBgYG1hY29zeC0xMC4zLXBwY2BgCisKKyAgICogYGBtYWNvc3gtMTAuMy1mYXRgYAorCisgICAqIGBgbWFjb3N4LTEwLjUtdW5pdmVyc2FsYGAKKworICAgKiBgYG1hY29zeC0xMC42LWludGVsYGAKKworICAgLi4gWFhYIHJlaW52ZW50aW9uIG9mIHBsYXRmb3JtIG1vZHVsZT8KKworCisuLiBmdW5jdGlvbjo6IGNvbnZlcnRfcGF0aChwYXRobmFtZSkKKworICAgUmV0dXJuICdwYXRobmFtZScgYXMgYSBuYW1lIHRoYXQgd2lsbCB3b3JrIG9uIHRoZSBuYXRpdmUgZmlsZXN5c3RlbSwgaS5lLgorICAgc3BsaXQgaXQgb24gJy8nIGFuZCBwdXQgaXQgYmFjayB0b2dldGhlciBhZ2FpbiB1c2luZyB0aGUgY3VycmVudCBkaXJlY3RvcnkKKyAgIHNlcGFyYXRvci4gTmVlZGVkIGJlY2F1c2UgZmlsZW5hbWVzIGluIHRoZSBzZXR1cCBzY3JpcHQgYXJlIGFsd2F5cyBzdXBwbGllZAorICAgaW4gVW5peCBzdHlsZSwgYW5kIGhhdmUgdG8gYmUgY29udmVydGVkIHRvIHRoZSBsb2NhbCBjb252ZW50aW9uIGJlZm9yZSB3ZQorICAgY2FuIGFjdHVhbGx5IHVzZSB0aGVtIGluIHRoZSBmaWxlc3lzdGVtLiAgUmFpc2VzIDpleGM6YFZhbHVlRXJyb3JgIG9uCisgICBub24tVW5peC1pc2ggc3lzdGVtcyBpZiAqcGF0aG5hbWUqIGVpdGhlciBzdGFydHMgb3IgZW5kcyB3aXRoIGEgc2xhc2guCisKKworLi4gZnVuY3Rpb246OiBjaGFuZ2Vfcm9vdChuZXdfcm9vdCwgcGF0aG5hbWUpCisKKyAgIFJldHVybiAqcGF0aG5hbWUqIHdpdGggKm5ld19yb290KiBwcmVwZW5kZWQuICBJZiAqcGF0aG5hbWUqIGlzIHJlbGF0aXZlLCB0aGlzCisgICBpcyBlcXVpdmFsZW50IHRvIGBgb3MucGF0aC5qb2luKG5ld19yb290LHBhdGhuYW1lKWBgIE90aGVyd2lzZSwgaXQgcmVxdWlyZXMKKyAgIG1ha2luZyAqcGF0aG5hbWUqIHJlbGF0aXZlIGFuZCB0aGVuIGpvaW5pbmcgdGhlIHR3bywgd2hpY2ggaXMgdHJpY2t5IG9uCisgICBET1MvV2luZG93cy4KKworCisuLiBmdW5jdGlvbjo6IGNoZWNrX2Vudmlyb24oKQorCisgICBFbnN1cmUgdGhhdCAnb3MuZW52aXJvbicgaGFzIGFsbCB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGVzIHdlIGd1YXJhbnRlZSB0aGF0CisgICB1c2VycyBjYW4gdXNlIGluIGNvbmZpZyBmaWxlcywgY29tbWFuZC1saW5lIG9wdGlvbnMsIGV0Yy4gIEN1cnJlbnRseSB0aGlzCisgICBpbmNsdWRlczoKKworICAgKiA6ZW52dmFyOmBIT01FYCAtIHVzZXIncyBob21lIGRpcmVjdG9yeSAoVW5peCBvbmx5KQorICAgKiA6ZW52dmFyOmBQTEFUYCAtIGRlc2NyaXB0aW9uIG9mIHRoZSBjdXJyZW50IHBsYXRmb3JtLCBpbmNsdWRpbmcgaGFyZHdhcmUKKyAgICAgYW5kIE9TIChzZWUgOmZ1bmM6YGdldF9wbGF0Zm9ybWApCisKKworLi4gZnVuY3Rpb246OiBmaW5kX2V4ZWN1dGFibGUoZXhlY3V0YWJsZSwgcGF0aD1Ob25lKQorCisgICBTZWFyY2ggdGhlIHBhdGggZm9yIGEgZ2l2ZW4gZXhlY3V0YWJsZSBuYW1lLgorCisKKy4uIGZ1bmN0aW9uOjogZXhlY3V0ZShmdW5jLCBhcmdzLCBtc2c9Tm9uZSwgZHJ5X3J1bj1GYWxzZSkKKworICAgUGVyZm9ybSBzb21lIGFjdGlvbiB0aGF0IGFmZmVjdHMgdGhlIG91dHNpZGUgd29ybGQgKGZvciBpbnN0YW5jZSwgd3JpdGluZyB0bworICAgdGhlIGZpbGVzeXN0ZW0pLiAgU3VjaCBhY3Rpb25zIGFyZSBzcGVjaWFsIGJlY2F1c2UgdGhleSBhcmUgZGlzYWJsZWQgYnkgdGhlCisgICAqZHJ5X3J1biogZmxhZy4gIFRoaXMgbWV0aG9kIHRha2VzIGNhcmUgb2YgYWxsIHRoYXQgYnVyZWF1Y3JhY3kgZm9yIHlvdTsKKyAgIGFsbCB5b3UgaGF2ZSB0byBkbyBpcyBzdXBwbHkgdGhlIGZ1bmN0aW9uIHRvIGNhbGwgYW5kIGFuIGFyZ3VtZW50IHR1cGxlIGZvcgorICAgaXQgKHRvIGVtYm9keSB0aGUgImV4dGVybmFsIGFjdGlvbiIgYmVpbmcgcGVyZm9ybWVkKSwgYW5kIGFuIG9wdGlvbmFsIG1lc3NhZ2UKKyAgIHRvIHByaW50LgorCisKKy4uIGZ1bmN0aW9uOjogbmV3ZXIoc291cmNlLCB0YXJnZXQpCisKKyAgIFJldHVybiB0cnVlIGlmICpzb3VyY2UqIGV4aXN0cyBhbmQgaXMgbW9yZSByZWNlbnRseSBtb2RpZmllZCB0aGFuICp0YXJnZXQqLAorICAgb3IgaWYgKnNvdXJjZSogZXhpc3RzIGFuZCAqdGFyZ2V0KiBkb2Vzbid0LiBSZXR1cm4gZmFsc2UgaWYgYm90aCBleGlzdCBhbmQKKyAgICp0YXJnZXQqIGlzIHRoZSBzYW1lIGFnZSBvciBuZXdlciB0aGFuICpzb3VyY2UqLiBSYWlzZQorICAgOmV4YzpgUGFja2FnaW5nRmlsZUVycm9yYCBpZiAqc291cmNlKiBkb2VzIG5vdCBleGlzdC4KKworCisuLiBmdW5jdGlvbjo6IHN0cnRvYm9vbCh2YWwpCisKKyAgIENvbnZlcnQgYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdHJ1dGggdG8gdHJ1ZSAoMSkgb3IgZmFsc2UgKDApLgorCisgICBUcnVlIHZhbHVlcyBhcmUgYGB5YGAsIGBgeWVzYGAsIGBgdGBgLCBgYHRydWVgYCwgYGBvbmBgIGFuZCBgYDFgYDsgZmFsc2UKKyAgIHZhbHVlcyBhcmUgYGBuYGAsIGBgbm9gYCwgYGBmYGAsIGBgZmFsc2VgYCwgYGBvZmZgYCBhbmQgYGAwYGAuICBSYWlzZXMKKyAgIDpleGM6YFZhbHVlRXJyb3JgIGlmICp2YWwqIGlzIGFueXRoaW5nIGVsc2UuCisKKworLi4gZnVuY3Rpb246OiBieXRlX2NvbXBpbGUocHlfZmlsZXMsIG9wdGltaXplPTAsIGZvcmNlPTAsIHByZWZpeD1Ob25lLCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICBiYXNlX2Rpcj1Ob25lLCBkcnlfcnVuPTAsIGRpcmVjdD1Ob25lKQorCisgICBCeXRlLWNvbXBpbGUgYSBjb2xsZWN0aW9uIG9mIFB5dGhvbiBzb3VyY2UgZmlsZXMgdG8gZWl0aGVyIDpmaWxlOmAucHljYCBvcgorICAgOmZpbGU6YC5weW9gIGZpbGVzIGluIGEgOmZpbGU6YF9fcHljYWNoZV9fYCBzdWJkaXJlY3RvcnkgKHNlZSA6cGVwOmAzMTQ3YCksCisgICBvciB0byB0aGUgc2FtZSBkaXJlY3Rvcnkgd2hlbiB1c2luZyB0aGUgZGlzdHV0aWxzMiBiYWNrcG9ydCBvbiBQeXRob24KKyAgIHZlcnNpb25zIG9sZGVyIHRoYW4gMy4yLgorCisgICAqcHlfZmlsZXMqIGlzIGEgbGlzdCBvZiBmaWxlcyB0byBjb21waWxlOyBhbnkgZmlsZXMgdGhhdCBkb24ndCBlbmQgaW4KKyAgIDpmaWxlOmAucHlgIGFyZSBzaWxlbnRseSBza2lwcGVkLiAgKm9wdGltaXplKiBtdXN0IGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nOgorCisgICAqIGBgMGBgIC0gZG9uJ3Qgb3B0aW1pemUgKGdlbmVyYXRlIDpmaWxlOmAucHljYCkKKyAgICogYGAxYGAgLSBub3JtYWwgb3B0aW1pemF0aW9uIChsaWtlIGBgcHl0aG9uIC1PYGApCisgICAqIGBgMmBgIC0gZXh0cmEgb3B0aW1pemF0aW9uIChsaWtlIGBgcHl0aG9uIC1PT2BgKQorCisgICBUaGlzIGZ1bmN0aW9uIGlzIGluZGVwZW5kZW50IGZyb20gdGhlIHJ1bm5pbmcgUHl0aG9uJ3MgOm9wdGlvbjpgLU9gIG9yCisgICA6b3B0aW9uOmAtQmAgb3B0aW9uczsgaXQgaXMgZnVsbHkgY29udHJvbGxlZCBieSB0aGUgcGFyYW1ldGVycyBwYXNzZWQgaW4uCisKKyAgIElmICpmb3JjZSogaXMgdHJ1ZSwgYWxsIGZpbGVzIGFyZSByZWNvbXBpbGVkIHJlZ2FyZGxlc3Mgb2YgdGltZXN0YW1wcy4KKworICAgVGhlIHNvdXJjZSBmaWxlbmFtZSBlbmNvZGVkIGluIGVhY2ggOnRlcm06YGJ5dGVjb2RlYCBmaWxlIGRlZmF1bHRzIHRvIHRoZSBmaWxlbmFtZXMKKyAgIGxpc3RlZCBpbiAqcHlfZmlsZXMqOyB5b3UgY2FuIG1vZGlmeSB0aGVzZSB3aXRoICpwcmVmaXgqIGFuZCAqYmFzZWRpciouCisgICAqcHJlZml4KiBpcyBhIHN0cmluZyB0aGF0IHdpbGwgYmUgc3RyaXBwZWQgb2ZmIG9mIGVhY2ggc291cmNlIGZpbGVuYW1lLCBhbmQKKyAgICpiYXNlX2RpciogaXMgYSBkaXJlY3RvcnkgbmFtZSB0aGF0IHdpbGwgYmUgcHJlcGVuZGVkIChhZnRlciAqcHJlZml4KiBpcworICAgc3RyaXBwZWQpLiAgWW91IGNhbiBzdXBwbHkgZWl0aGVyIG9yIGJvdGggKG9yIG5laXRoZXIpIG9mICpwcmVmaXgqIGFuZAorICAgKmJhc2VfZGlyKiwgYXMgeW91IHdpc2guCisKKyAgIElmICpkcnlfcnVuKiBpcyB0cnVlLCBkb2Vzbid0IGFjdHVhbGx5IGRvIGFueXRoaW5nIHRoYXQgd291bGQgYWZmZWN0IHRoZQorICAgZmlsZXN5c3RlbS4KKworICAgQnl0ZS1jb21waWxhdGlvbiBpcyBlaXRoZXIgZG9uZSBkaXJlY3RseSBpbiB0aGlzIGludGVycHJldGVyIHByb2Nlc3Mgd2l0aCB0aGUKKyAgIHN0YW5kYXJkIDptb2Q6YHB5X2NvbXBpbGVgIG1vZHVsZSwgb3IgaW5kaXJlY3RseSBieSB3cml0aW5nIGEgdGVtcG9yYXJ5CisgICBzY3JpcHQgYW5kIGV4ZWN1dGluZyBpdC4gIE5vcm1hbGx5LCB5b3Ugc2hvdWxkIGxldCA6ZnVuYzpgYnl0ZV9jb21waWxlYAorICAgZmlndXJlIG91dCB0byB1c2UgZGlyZWN0IGNvbXBpbGF0aW9uIG9yIG5vdCAoc2VlIHRoZSBzb3VyY2UgZm9yIGRldGFpbHMpLgorICAgVGhlICpkaXJlY3QqIGZsYWcgaXMgdXNlZCBieSB0aGUgc2NyaXB0IGdlbmVyYXRlZCBpbiBpbmRpcmVjdCBtb2RlOyB1bmxlc3MKKyAgIHlvdSBrbm93IHdoYXQgeW91J3JlIGRvaW5nLCBsZWF2ZSBpdCBzZXQgdG8gYGBOb25lYGAuCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9wYWNrYWdpbmcudmVyc2lvbi5yc3QgYi9Eb2MvbGlicmFyeS9wYWNrYWdpbmcudmVyc2lvbi5yc3QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjM2Y2RhYgotLS0gL2Rldi9udWxsCisrKyBiL0RvYy9saWJyYXJ5L3BhY2thZ2luZy52ZXJzaW9uLnJzdApAQCAtMCwwICsxLDEwNCBAQAorOm1vZDpgcGFja2FnaW5nLnZlcnNpb25gIC0tLSBWZXJzaW9uIG51bWJlciBjbGFzc2VzCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworLi4gbW9kdWxlOjogcGFja2FnaW5nLnZlcnNpb24KKyAgIDpzeW5vcHNpczogQ2xhc3NlcyB0aGF0IHJlcHJlc2VudCBwcm9qZWN0IHZlcnNpb24gbnVtYmVycy4KKworCitUaGlzIG1vZHVsZSBjb250YWlucyBjbGFzc2VzIGFuZCBmdW5jdGlvbnMgdXNlZnVsIHRvIGRlYWwgd2l0aCB2ZXJzaW9uIG51bWJlcnMuCitJdCdzIGFuIGltcGxlbWVudGF0aW9uIG9mIHZlcnNpb24gc3BlY2lmaWVycyBgYXMgZGVmaW5lZCBpbiBQRVAgMzQ1Cis8aHR0cDovL3d3dy5weXRob24ub3JnL2Rldi9wZXBzL3BlcC0wMzQ1LyN2ZXJzaW9uLXNwZWNpZmllcnM+YF8uCisKKworVmVyc2lvbiBudW1iZXJzCistLS0tLS0tLS0tLS0tLS0KKworLi4gY2xhc3M6OiBOb3JtYWxpemVkVmVyc2lvbihzZWxmLCBzLCBlcnJvcl9vbl9odWdlX21ham9yX251bT1UcnVlKQorCisgICBBIHNwZWNpZmljIHZlcnNpb24gb2YgYSBkaXN0cmlidXRpb24sIGFzIGRlc2NyaWJlZCBpbiBQRVAgMzQ1LiAgKnMqIGlzIGEKKyAgIHN0cmluZyBvYmplY3QgY29udGFpbmluZyB0aGUgdmVyc2lvbiBudW1iZXIgKGZvciBleGFtcGxlIGBgJzEuMmIxJ2BgKSwKKyAgICplcnJvcl9vbl9odWdlX21ham9yX251bSogYSBib29sZWFuIHNwZWNpZnlpbmcgd2hldGhlciB0byBjb25zaWRlciBhbgorICAgYXBwYXJlbnQgdXNlIG9mIGEgeWVhciBvciBmdWxsIGRhdGUgYXMgdGhlIG1ham9yIHZlcnNpb24gbnVtYmVyIGFuIGVycm9yLgorCisgICBUaGUgcmF0aW9uYWxlIGZvciB0aGUgc2Vjb25kIGFyZ3VtZW50IGlzIHRoYXQgdGhlcmUgd2VyZSBwcm9qZWN0cyB1c2luZyB5ZWFycworICAgb3IgZnVsbCBkYXRlcyBhcyB2ZXJzaW9uIG51bWJlcnMsIHdoaWNoIGNvdWxkIGNhdXNlIHByb2JsZW1zIHdpdGggc29tZQorICAgcGFja2FnaW5nIHN5c3RlbXMgc29ydGluZy4KKworICAgSW5zdGFuY2VzIG9mIHRoaXMgY2xhc3MgY2FuIGJlIGNvbXBhcmVkIGFuZCBzb3J0ZWQ6OgorCisgICAgICA+Pj4gTm9ybWFsaXplZFZlcnNpb24oJzEuMmIxJykgPCBOb3JtYWxpemVkVmVyc2lvbignMS4yJykKKyAgICAgIFRydWUKKworICAgOmNsYXNzOmBOb3JtYWxpemVkVmVyc2lvbmAgaXMgdXNlZCBpbnRlcm5hbGx5IGJ5IDpjbGFzczpgVmVyc2lvblByZWRpY2F0ZWAgdG8KKyAgIGRvIGl0cyB3b3JrLgorCisKKy4uIGNsYXNzOjogSXJyYXRpb25hbFZlcnNpb25FcnJvcgorCisgICBFeGNlcHRpb24gcmFpc2VkIHdoZW4gYW4gaW52YWxpZCBzdHJpbmcgaXMgZ2l2ZW4gdG8KKyAgIDpjbGFzczpgTm9ybWFsaXplZFZlcnNpb25gLgorCisgICAgICA+Pj4gTm9ybWFsaXplZFZlcnNpb24oImlycmF0aW9uYWxfdmVyc2lvbl9udW1iZXIiKQorICAgICAgLi4uCisgICAgICBJcnJhdGlvbmFsVmVyc2lvbkVycm9yOiBpcnJhdGlvbmFsX3ZlcnNpb25fbnVtYmVyCisKKworLi4gZnVuY3Rpb246OiBzdWdnZXN0X25vcm1hbGl6ZWRfdmVyc2lvbihzKQorCisgICBCZWZvcmUgc3RhbmRhcmRpemF0aW9uIGluIFBFUCAzODYsIHZhcmlvdXMgc2NoZW1lcyB3ZXJlIGluIHVzZS4gIFBhY2thZ2luZworICAgcHJvdmlkZXMgYSBmdW5jdGlvbiB0byB0cnkgdG8gY29udmVydCBhbnkgc3RyaW5nIHRvIGEgdmFsaWQsIG5vcm1hbGl6ZWQKKyAgIHZlcnNpb246OgorCisgICAgICA+Pj4gc3VnZ2VzdF9ub3JtYWxpemVkX3ZlcnNpb24oJzIuMS1yYzEnKQorICAgICAgMi4xYzEKKworCisgICBJZiA6ZnVuYzpgc3VnZ2VzdF9ub3JtYWxpemVkX3ZlcnNpb25gIGNhbid0IG1ha2Ugc2Vuc2Ugb2YgdGhlIGdpdmVuIHN0cmluZywKKyAgIGl0IHdpbGwgcmV0dXJuIGBgTm9uZWBgOjoKKworICAgICAgPj4+IHByaW50KHN1Z2dlc3Rfbm9ybWFsaXplZF92ZXJzaW9uKCdub3QgYSB2ZXJzaW9uJykpCisgICAgICBOb25lCisKKworVmVyc2lvbiBwcmVkaWNhdGVzCistLS0tLS0tLS0tLS0tLS0tLS0KKworLi4gY2xhc3M6OiBWZXJzaW9uUHJlZGljYXRlKHByZWRpY2F0ZSkKKworICAgVGhpcyBjbGFzcyBkZWFscyB3aXRoIHRoZSBwYXJzaW5nIG9mIGZpZWxkIHZhbHVlcyBsaWtlCisgICBgYFByb2plY3ROYW1lICg+PXZlcnNpb24pYGAuCisKKyAgIC4uIG1ldGhvZDo6IG1hdGNoKHZlcnNpb24pCisKKyAgICAgIFRlc3QgaWYgYSB2ZXJzaW9uIG51bWJlciBtYXRjaGVzIHRoZSBwcmVkaWNhdGU6CisKKyAgICAgICAgID4+PiB2ZXJzaW9uID0gVmVyc2lvblByZWRpY2F0ZSgiUHJvamVjdE5hbWUgKDwxLjIsID4xLjApIikKKyAgICAgICAgID4+PiB2ZXJzaW9uLm1hdGNoKCIxLjIuMSIpCisgICAgICAgICBGYWxzZQorICAgICAgICAgPj4+IHZlcnNpb24ubWF0Y2goIjEuMS4xIikKKyAgICAgICAgIFRydWUKKworCitWYWxpZGF0aW9uIGhlbHBlcnMKKy0tLS0tLS0tLS0tLS0tLS0tLQorCitJZiB5b3Ugd2FudCB0byB1c2UgOnRlcm06YExCWUxgLXN0eWxlIGNoZWNrcyBpbnN0ZWFkIG9mIGluc3RhbnRpYXRpbmcgdGhlCitjbGFzc2VzIGFuZCBjYXRjaGluZyA6Y2xhc3M6YElycmF0aW9uYWxWZXJzaW9uRXJyb3JgIGFuZCA6Y2xhc3M6YFZhbHVlRXJyb3JgLAoreW91IGNhbiB1c2UgdGhlc2UgZnVuY3Rpb25zOgorCisuLiBmdW5jdGlvbjo6IGlzX3ZhbGlkX3ZlcnNpb24ocHJlZGljYXRlKQorCisgICBDaGVjayB3aGV0aGVyIHRoZSBnaXZlbiBzdHJpbmcgaXMgYSB2YWxpZCB2ZXJzaW9uIG51bWJlci4gIEV4YW1wbGUgb2YgdmFsaWQKKyAgIHN0cmluZ3M6IGBgJzEuMidgYCwgIGBgJzQuMi4wLmRldjQnYGAsIGBgJzIuNS40LnBvc3QyJ2BgLgorCisKKy4uIGZ1bmN0aW9uOjogaXNfdmFsaWRfdmVyc2lvbnMocHJlZGljYXRlKQorCisgICBDaGVjayB3aGV0aGVyIHRoZSBnaXZlbiBzdHJpbmcgaXMgYSB2YWxpZCB2YWx1ZSBmb3Igc3BlY2lmeWluZyBtdWx0aXBsZQorICAgdmVyc2lvbnMsIHN1Y2ggYXMgaW4gdGhlIFJlcXVpcmVzLVB5dGhvbiBmaWVsZC4gIEV4YW1wbGU6IGBgJzIuNywgPj0zLjInYGAuCisKKworLi4gZnVuY3Rpb246OiBpc192YWxpZF9wcmVkaWNhdGUocHJlZGljYXRlKQorCisgICBDaGVjayB3aGV0aGVyIHRoZSBnaXZlbiBzdHJpbmcgaXMgYSB2YWxpZCB2ZXJzaW9uIHByZWRpY2F0ZS4gIEV4YW1wbGVzOgorICAgYGAnc29tZS5wcm9qZWN0ID09IDQuNSwgPD0gNC43J2BgLCBgYCdzcGVjaWFsbGliICg+IDEuMCwgIT0gMS40LjIsIDwgMi4wKSdgYC4KZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L3BkYi5yc3QgYi9Eb2MvbGlicmFyeS9wZGIucnN0CmluZGV4IDFlOWRlNjMuLmY0ZTM3YWMgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L3BkYi5yc3QKKysrIGIvRG9jL2xpYnJhcnkvcGRiLnJzdApAQCAtMzgsNiArMzgsMTEgQEAKICAgID4gPHN0cmluZz4oMSk/KCkKICAgIChQZGIpCiAKKy4uIHZlcnNpb25jaGFuZ2VkOjogMy4zCisgICBUYWItY29tcGxldGlvbiB2aWEgdGhlIDptb2Q6YHJlYWRsaW5lYCBtb2R1bGUgaXMgYXZhaWxhYmxlIGZvciBjb21tYW5kcyBhbmQKKyAgIGNvbW1hbmQgYXJndW1lbnRzLCBlLmcuIHRoZSBjdXJyZW50IGdsb2JhbCBhbmQgbG9jYWwgbmFtZXMgYXJlIG9mZmVyZWQgYXMKKyAgIGFyZ3VtZW50cyBvZiB0aGUgYGBwcmludGBgIGNvbW1hbmQuCisKIDpmaWxlOmBwZGIucHlgIGNhbiBhbHNvIGJlIGludm9rZWQgYXMgYSBzY3JpcHQgdG8gZGVidWcgb3RoZXIgc2NyaXB0cy4gIEZvcgogZXhhbXBsZTo6CiAKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L3BpY2tsZS5yc3QgYi9Eb2MvbGlicmFyeS9waWNrbGUucnN0CmluZGV4IGJmMGE3MmUuLjFiODViZmEgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L3BpY2tsZS5yc3QKKysrIGIvRG9jL2xpYnJhcnkvcGlja2xlLnJzdApAQCAtMjg1LDYgKzI4NSwyOSBAQAogCiAgICAgICBTZWUgOnJlZjpgcGlja2xlLXBlcnNpc3RlbnRgIGZvciBkZXRhaWxzIGFuZCBleGFtcGxlcyBvZiB1c2VzLgogCisgICAuLiBhdHRyaWJ1dGU6OiBkaXNwYXRjaF90YWJsZQorCisgICAgICBBIHBpY2tsZXIgb2JqZWN0J3MgZGlzcGF0Y2ggdGFibGUgaXMgYSByZWdpc3RyeSBvZiAqcmVkdWN0aW9uCisgICAgICBmdW5jdGlvbnMqIG9mIHRoZSBraW5kIHdoaWNoIGNhbiBiZSBkZWNsYXJlZCB1c2luZworICAgICAgOmZ1bmM6YGNvcHlyZWcucGlja2xlYC4gIEl0IGlzIGEgbWFwcGluZyB3aG9zZSBrZXlzIGFyZSBjbGFzc2VzCisgICAgICBhbmQgd2hvc2UgdmFsdWVzIGFyZSByZWR1Y3Rpb24gZnVuY3Rpb25zLiAgQSByZWR1Y3Rpb24gZnVuY3Rpb24KKyAgICAgIHRha2VzIGEgc2luZ2xlIGFyZ3VtZW50IG9mIHRoZSBhc3NvY2lhdGVkIGNsYXNzIGFuZCBzaG91bGQKKyAgICAgIGNvbmZvcm0gdG8gdGhlIHNhbWUgaW50ZXJmYWNlIGFzIGEgOm1ldGg6YH5vYmplY3QuX19yZWR1Y2VfX2AKKyAgICAgIG1ldGhvZC4KKworICAgICAgQnkgZGVmYXVsdCwgYSBwaWNrbGVyIG9iamVjdCB3aWxsIG5vdCBoYXZlIGEKKyAgICAgIDphdHRyOmBkaXNwYXRjaF90YWJsZWAgYXR0cmlidXRlLCBhbmQgaXQgd2lsbCBpbnN0ZWFkIHVzZSB0aGUKKyAgICAgIGdsb2JhbCBkaXNwYXRjaCB0YWJsZSBtYW5hZ2VkIGJ5IHRoZSA6bW9kOmBjb3B5cmVnYCBtb2R1bGUuCisgICAgICBIb3dldmVyLCB0byBjdXN0b21pemUgdGhlIHBpY2tsaW5nIGZvciBhIHNwZWNpZmljIHBpY2tsZXIgb2JqZWN0CisgICAgICBvbmUgY2FuIHNldCB0aGUgOmF0dHI6YGRpc3BhdGNoX3RhYmxlYCBhdHRyaWJ1dGUgdG8gYSBkaWN0LWxpa2UKKyAgICAgIG9iamVjdC4gIEFsdGVybmF0aXZlbHksIGlmIGEgc3ViY2xhc3Mgb2YgOmNsYXNzOmBQaWNrbGVyYCBoYXMgYQorICAgICAgOmF0dHI6YGRpc3BhdGNoX3RhYmxlYCBhdHRyaWJ1dGUgdGhlbiB0aGlzIHdpbGwgYmUgdXNlZCBhcyB0aGUKKyAgICAgIGRlZmF1bHQgZGlzcGF0Y2ggdGFibGUgZm9yIGluc3RhbmNlcyBvZiB0aGF0IGNsYXNzLgorCisgICAgICBTZWUgOnJlZjpgcGlja2xlLWRpc3BhdGNoYCBmb3IgdXNhZ2UgZXhhbXBsZXMuCisKKyAgICAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMworCiAgICAuLiBhdHRyaWJ1dGU6OiBmYXN0CiAKICAgICAgIERlcHJlY2F0ZWQuIEVuYWJsZSBmYXN0IG1vZGUgaWYgc2V0IHRvIGEgdHJ1ZSB2YWx1ZS4gIFRoZSBmYXN0IG1vZGUKQEAgLTU3NSw2ICs1OTgsNDQgQEAKIAogLi4gbGl0ZXJhbGluY2x1ZGU6OiAuLi9pbmNsdWRlcy9kYnBpY2tsZS5weQogCisuLiBfcGlja2xlLWRpc3BhdGNoOgorCitEaXNwYXRjaCBUYWJsZXMKK15eXl5eXl5eXl5eXl5eXgorCitJZiBvbmUgd2FudHMgdG8gY3VzdG9taXplIHBpY2tsaW5nIG9mIHNvbWUgY2xhc3NlcyB3aXRob3V0IGRpc3R1cmJpbmcKK2FueSBvdGhlciBjb2RlIHdoaWNoIGRlcGVuZHMgb24gcGlja2xpbmcsIHRoZW4gb25lIGNhbiBjcmVhdGUgYQorcGlja2xlciB3aXRoIGEgcHJpdmF0ZSBkaXNwYXRjaCB0YWJsZS4KKworVGhlIGdsb2JhbCBkaXNwYXRjaCB0YWJsZSBtYW5hZ2VkIGJ5IHRoZSA6bW9kOmBjb3B5cmVnYCBtb2R1bGUgaXMKK2F2YWlsYWJsZSBhcyA6ZGF0YTpgY29weXJlZy5kaXNwYXRjaF90YWJsZWAuICBUaGVyZWZvcmUsIG9uZSBtYXkKK2Nob29zZSB0byB1c2UgYSBtb2RpZmllZCBjb3B5IG9mIDpkYXRhOmBjb3B5cmVnLmRpc3BhdGNoX3RhYmxlYCBhcyBhCitwcml2YXRlIGRpc3BhdGNoIHRhYmxlLgorCitGb3IgZXhhbXBsZSA6OgorCisgICBmID0gaW8uQnl0ZXNJTygpCisgICBwID0gcGlja2xlLlBpY2tsZXIoZikKKyAgIHAuZGlzcGF0Y2hfdGFibGUgPSBjb3B5cmVnLmRpc3BhdGNoX3RhYmxlLmNvcHkoKQorICAgcC5kaXNwYXRjaF90YWJsZVtTb21lQ2xhc3NdID0gcmVkdWNlX1NvbWVDbGFzcworCitjcmVhdGVzIGFuIGluc3RhbmNlIG9mIDpjbGFzczpgcGlja2xlLlBpY2tsZXJgIHdpdGggYSBwcml2YXRlIGRpc3BhdGNoCit0YWJsZSB3aGljaCBoYW5kbGVzIHRoZSBgYFNvbWVDbGFzc2BgIGNsYXNzIHNwZWNpYWxseS4gIEFsdGVybmF0aXZlbHksCit0aGUgY29kZSA6OgorCisgICBjbGFzcyBNeVBpY2tsZXIocGlja2xlLlBpY2tsZXIpOgorICAgICAgIGRpc3BhdGNoX3RhYmxlID0gY29weXJlZy5kaXNwYXRjaF90YWJsZS5jb3B5KCkKKyAgICAgICBkaXNwYXRjaF90YWJsZVtTb21lQ2xhc3NdID0gcmVkdWNlX1NvbWVDbGFzcworICAgZiA9IGlvLkJ5dGVzSU8oKQorICAgcCA9IE15UGlja2xlcihmKQorCitkb2VzIHRoZSBzYW1lLCBidXQgYWxsIGluc3RhbmNlcyBvZiBgYE15UGlja2xlcmBgIHdpbGwgYnkgZGVmYXVsdAorc2hhcmUgdGhlIHNhbWUgZGlzcGF0Y2ggdGFibGUuICBUaGUgZXF1aXZhbGVudCBjb2RlIHVzaW5nIHRoZQorOm1vZDpgY29weXJlZ2AgbW9kdWxlIGlzIDo6CisKKyAgIGNvcHlyZWcucGlja2xlKFNvbWVDbGFzcywgcmVkdWNlX1NvbWVDbGFzcykKKyAgIGYgPSBpby5CeXRlc0lPKCkKKyAgIHAgPSBwaWNrbGUuUGlja2xlcihmKQogCiAuLiBfcGlja2xlLXN0YXRlOgogCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9wbGF0Zm9ybS5yc3QgYi9Eb2MvbGlicmFyeS9wbGF0Zm9ybS5yc3QKaW5kZXggODVlY2E5YS4uOTM4YzI3MCAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvcGxhdGZvcm0ucnN0CisrKyBiL0RvYy9saWJyYXJ5L3BsYXRmb3JtLnJzdApAQCAtMjE0LDYgKzIxNCwxMCBAQAogICAgcHJlZmVycmluZyA6ZnVuYzpgd2luMzJwaXBlLnBvcGVuYC4gIE9uIFdpbmRvd3MgTlQsIDpmdW5jOmB3aW4zMnBpcGUucG9wZW5gCiAgICBzaG91bGQgd29yazsgb24gV2luZG93cyA5eCBpdCBoYW5ncyBkdWUgdG8gYnVncyBpbiB0aGUgTVMgQyBsaWJyYXJ5LgogCisgICAuLiBkZXByZWNhdGVkOjogMy4zCisgICAgICBUaGlzIGZ1bmN0aW9uIGlzIG9ic29sZXRlLiAgVXNlIHRoZSA6bW9kOmBzdWJwcm9jZXNzYCBtb2R1bGUuICBDaGVjaworICAgICAgZXNwZWNpYWxseSB0aGUgOnJlZjpgc3VicHJvY2Vzcy1yZXBsYWNlbWVudHNgIHNlY3Rpb24uCisKIAogTWFjIE9TIFBsYXRmb3JtCiAtLS0tLS0tLS0tLS0tLS0KZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L3B5dGhvbi5yc3QgYi9Eb2MvbGlicmFyeS9weXRob24ucnN0CmluZGV4IGI2N2ZiZmMuLjA3ZWFkYjQgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L3B5dGhvbi5yc3QKKysrIGIvRG9jL2xpYnJhcnkvcHl0aG9uLnJzdApAQCAtMjUsNCArMjUsNSBAQAogICAgaW5zcGVjdC5yc3QKICAgIHNpdGUucnN0CiAgICBmcGVjdGwucnN0CisgICBwYWNrYWdpbmcucnN0CiAgICBkaXN0dXRpbHMucnN0CmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9yYW5kb20ucnN0IGIvRG9jL2xpYnJhcnkvcmFuZG9tLnJzdAppbmRleCAzMWNiOTQ1Li4yYjEwZTZlIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9yYW5kb20ucnN0CisrKyBiL0RvYy9saWJyYXJ5L3JhbmRvbS5yc3QKQEAgLTQzLDYgKzQzLDEyIEBACiB1c2VzIHRoZSBzeXN0ZW0gZnVuY3Rpb24gOmZ1bmM6YG9zLnVyYW5kb21gIHRvIGdlbmVyYXRlIHJhbmRvbSBudW1iZXJzCiBmcm9tIHNvdXJjZXMgcHJvdmlkZWQgYnkgdGhlIG9wZXJhdGluZyBzeXN0ZW0uCiAKKy4uIHdhcm5pbmc6OgorCisgICBUaGUgZ2VuZXJhdG9ycyBvZiB0aGUgOm1vZDpgcmFuZG9tYCBtb2R1bGUgc2hvdWxkIG5vdCBiZSB1c2VkIGZvciBzZWN1cml0eQorICAgcHVycG9zZXMuIFVzZSA6ZnVuYzpgc3NsLlJBTkRfYnl0ZXNgIGlmIHlvdSByZXF1aXJlIGEgY3J5cHRvZ3JhcGhpY2FsbHkKKyAgIHNlY3VyZSBwc2V1ZG9yYW5kb20gbnVtYmVyIGdlbmVyYXRvci4KKwogCiBCb29ra2VlcGluZyBmdW5jdGlvbnM6CiAKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L3JlLnJzdCBiL0RvYy9saWJyYXJ5L3JlLnJzdAppbmRleCBiNGUwNTU3Li43OWI4ZDNiIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9yZS5yc3QKKysrIGIvRG9jL2xpYnJhcnkvcmUucnN0CkBAIC02ODEsOSArNjgxLDEyIEBACiAKIC4uIGZ1bmN0aW9uOjogZXNjYXBlKHN0cmluZykKIAotICAgUmV0dXJuICpzdHJpbmcqIHdpdGggYWxsIG5vbi1hbHBoYW51bWVyaWNzIGJhY2tzbGFzaGVkOyB0aGlzIGlzIHVzZWZ1bCBpZiB5b3UKLSAgIHdhbnQgdG8gbWF0Y2ggYW4gYXJiaXRyYXJ5IGxpdGVyYWwgc3RyaW5nIHRoYXQgbWF5IGhhdmUgcmVndWxhciBleHByZXNzaW9uCi0gICBtZXRhY2hhcmFjdGVycyBpbiBpdC4KKyAgIEVzY2FwZSBhbGwgdGhlIGNoYXJhY3RlcnMgaW4gcGF0dGVybiBleGNlcHQgQVNDSUkgbGV0dGVycywgbnVtYmVycyBhbmQgYGAnXydgYC4KKyAgIFRoaXMgaXMgdXNlZnVsIGlmIHlvdSB3YW50IHRvIG1hdGNoIGFuIGFyYml0cmFyeSBsaXRlcmFsIHN0cmluZyB0aGF0IG1heQorICAgaGF2ZSByZWd1bGFyIGV4cHJlc3Npb24gbWV0YWNoYXJhY3RlcnMgaW4gaXQuCisKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy4zCisgICAgICBUaGUgYGAnXydgYCBjaGFyYWN0ZXIgaXMgbm8gbG9uZ2VyIGVzY2FwZWQuCiAKIAogLi4gZnVuY3Rpb246OiBwdXJnZSgpCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9yZWFkbGluZS5yc3QgYi9Eb2MvbGlicmFyeS9yZWFkbGluZS5yc3QKaW5kZXggYWI1NTE5Ny4uMTEzNDYxOSAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvcmVhZGxpbmUucnN0CisrKyBiL0RvYy9saWJyYXJ5L3JlYWRsaW5lLnJzdApAQCAtMTk5LDcgKzE5OSw3IEBACiAgICBoaXN0ZmlsZSA9IG9zLnBhdGguam9pbihvcy5wYXRoLmV4cGFuZHVzZXIoIn4iKSwgIi5weWhpc3QiKQogICAgdHJ5OgogICAgICAgIHJlYWRsaW5lLnJlYWRfaGlzdG9yeV9maWxlKGhpc3RmaWxlKQotICAgZXhjZXB0IElPRXJyb3I6CisgICBleGNlcHQgRmlsZU5vdEZvdW5kRXJyb3I6CiAgICAgICAgcGFzcwogICAgaW1wb3J0IGF0ZXhpdAogICAgYXRleGl0LnJlZ2lzdGVyKHJlYWRsaW5lLndyaXRlX2hpc3RvcnlfZmlsZSwgaGlzdGZpbGUpCkBAIC0yMjQsNyArMjI0LDcgQEAKICAgICAgICAgICAgaWYgaGFzYXR0cihyZWFkbGluZSwgInJlYWRfaGlzdG9yeV9maWxlIik6CiAgICAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgICAgcmVhZGxpbmUucmVhZF9oaXN0b3J5X2ZpbGUoaGlzdGZpbGUpCi0gICAgICAgICAgICAgICBleGNlcHQgSU9FcnJvcjoKKyAgICAgICAgICAgICAgIGV4Y2VwdCBGaWxlTm90Rm91bmRFcnJvcjoKICAgICAgICAgICAgICAgICAgICBwYXNzCiAgICAgICAgICAgICAgICBhdGV4aXQucmVnaXN0ZXIoc2VsZi5zYXZlX2hpc3RvcnksIGhpc3RmaWxlKQogCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9yZXNvdXJjZS5yc3QgYi9Eb2MvbGlicmFyeS9yZXNvdXJjZS5yc3QKaW5kZXggYzE2YjAxMy4uMDNhN2NiNSAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvcmVzb3VyY2UucnN0CisrKyBiL0RvYy9saWJyYXJ5L3Jlc291cmNlLnJzdApAQCAtMTQsMTMgKzE0LDE1IEBACiBTeW1ib2xpYyBjb25zdGFudHMgYXJlIHVzZWQgdG8gc3BlY2lmeSBwYXJ0aWN1bGFyIHN5c3RlbSByZXNvdXJjZXMgYW5kIHRvCiByZXF1ZXN0IHVzYWdlIGluZm9ybWF0aW9uIGFib3V0IGVpdGhlciB0aGUgY3VycmVudCBwcm9jZXNzIG9yIGl0cyBjaGlsZHJlbi4KIAotQSBzaW5nbGUgZXhjZXB0aW9uIGlzIGRlZmluZWQgZm9yIGVycm9yczoKK0FuIDpleGM6YE9TRXJyb3JgIGlzIHJhaXNlZCBvbiBzeXNjYWxsIGZhaWx1cmUuCiAKIAogLi4gZXhjZXB0aW9uOjogZXJyb3IKIAotICAgVGhlIGZ1bmN0aW9ucyBkZXNjcmliZWQgYmVsb3cgbWF5IHJhaXNlIHRoaXMgZXJyb3IgaWYgdGhlIHVuZGVybHlpbmcgc3lzdGVtIGNhbGwKLSAgIGZhaWx1cmVzIHVuZXhwZWN0ZWRseS4KKyAgIEEgZGVwcmVjYXRlZCBhbGlhcyBvZiA6ZXhjOmBPU0Vycm9yYC4KKworICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjMKKyAgICAgIEZvbGxvd2luZyA6cGVwOmAzMTUxYCwgdGhpcyBjbGFzcyB3YXMgbWFkZSBhbiBhbGlhcyBvZiA6ZXhjOmBPU0Vycm9yYC4KIAogCiBSZXNvdXJjZSBMaW1pdHMKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L3NjaGVkLnJzdCBiL0RvYy9saWJyYXJ5L3NjaGVkLnJzdAppbmRleCAwMDBkYmEwLi5kNmM4NmM3IDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9zY2hlZC5yc3QKKysrIGIvRG9jL2xpYnJhcnkvc2NoZWQucnN0CkBAIC0xNCw3ICsxNCw3IEBACiBUaGUgOm1vZDpgc2NoZWRgIG1vZHVsZSBkZWZpbmVzIGEgY2xhc3Mgd2hpY2ggaW1wbGVtZW50cyBhIGdlbmVyYWwgcHVycG9zZSBldmVudAogc2NoZWR1bGVyOgogCi0uLiBjbGFzczo6IHNjaGVkdWxlcih0aW1lZnVuYywgZGVsYXlmdW5jKQorLi4gY2xhc3M6OiBzY2hlZHVsZXIodGltZWZ1bmM9dGltZS50aW1lLCBkZWxheWZ1bmM9dGltZS5zbGVlcCkKIAogICAgVGhlIDpjbGFzczpgc2NoZWR1bGVyYCBjbGFzcyBkZWZpbmVzIGEgZ2VuZXJpYyBpbnRlcmZhY2UgdG8gc2NoZWR1bGluZyBldmVudHMuCiAgICBJdCBuZWVkcyB0d28gZnVuY3Rpb25zIHRvIGFjdHVhbGx5IGRlYWwgd2l0aCB0aGUgIm91dHNpZGUgd29ybGQiIC0tLSAqdGltZWZ1bmMqCkBAIC0yNSw2ICsyNSwxMiBAQAogICAgZXZlbnQgaXMgcnVuIHRvIGFsbG93IG90aGVyIHRocmVhZHMgYW4gb3Bwb3J0dW5pdHkgdG8gcnVuIGluIG11bHRpLXRocmVhZGVkCiAgICBhcHBsaWNhdGlvbnMuCiAKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy4zCisgICAgICAqdGltZWZ1bmMqIGFuZCAqZGVsYXlmdW5jKiBwYXJhbWV0ZXJzIGFyZSBvcHRpb25hbC4KKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy4zCisgICAgICA6Y2xhc3M6YHNjaGVkdWxlcmAgY2xhc3MgY2FuIGJlIHNhZmVseSB1c2VkIGluIG11bHRpLXRocmVhZGVkCisgICAgICBlbnZpcm9ubWVudHMuCisKIEV4YW1wbGU6OgogCiAgICA+Pj4gaW1wb3J0IHNjaGVkLCB0aW1lCkBAIC00NCwzMyArNTAsNiBAQAogICAgRnJvbSBwcmludF90aW1lIDkzMDM0MzcwMC4yNzMKICAgIDkzMDM0MzcwMC4yNzYKIAotSW4gbXVsdGktdGhyZWFkZWQgZW52aXJvbm1lbnRzLCB0aGUgOmNsYXNzOmBzY2hlZHVsZXJgIGNsYXNzIGhhcyBsaW1pdGF0aW9ucwotd2l0aCByZXNwZWN0IHRvIHRocmVhZC1zYWZldHksIGluYWJpbGl0eSB0byBpbnNlcnQgYSBuZXcgdGFzayBiZWZvcmUKLXRoZSBvbmUgY3VycmVudGx5IHBlbmRpbmcgaW4gYSBydW5uaW5nIHNjaGVkdWxlciwgYW5kIGhvbGRpbmcgdXAgdGhlIG1haW4KLXRocmVhZCB1bnRpbCB0aGUgZXZlbnQgcXVldWUgaXMgZW1wdHkuICBJbnN0ZWFkLCB0aGUgcHJlZmVycmVkIGFwcHJvYWNoCi1pcyB0byB1c2UgdGhlIDpjbGFzczpgdGhyZWFkaW5nLlRpbWVyYCBjbGFzcyBpbnN0ZWFkLgotCi1FeGFtcGxlOjoKLQotICAgID4+PiBpbXBvcnQgdGltZQotICAgID4+PiBmcm9tIHRocmVhZGluZyBpbXBvcnQgVGltZXIKLSAgICA+Pj4gZGVmIHByaW50X3RpbWUoKToKLSAgICAuLi4gICAgIHByaW50KCJGcm9tIHByaW50X3RpbWUiLCB0aW1lLnRpbWUoKSkKLSAgICAuLi4KLSAgICA+Pj4gZGVmIHByaW50X3NvbWVfdGltZXMoKToKLSAgICAuLi4gICAgIHByaW50KHRpbWUudGltZSgpKQotICAgIC4uLiAgICAgVGltZXIoNSwgcHJpbnRfdGltZSwgKCkpLnN0YXJ0KCkKLSAgICAuLi4gICAgIFRpbWVyKDEwLCBwcmludF90aW1lLCAoKSkuc3RhcnQoKQotICAgIC4uLiAgICAgdGltZS5zbGVlcCgxMSkgICMgc2xlZXAgd2hpbGUgdGltZS1kZWxheSBldmVudHMgZXhlY3V0ZQotICAgIC4uLiAgICAgcHJpbnQodGltZS50aW1lKCkpCi0gICAgLi4uCi0gICAgPj4+IHByaW50X3NvbWVfdGltZXMoKQotICAgIDkzMDM0MzY5MC4yNTcKLSAgICBGcm9tIHByaW50X3RpbWUgOTMwMzQzNjk1LjI3NAotICAgIEZyb20gcHJpbnRfdGltZSA5MzAzNDM3MDAuMjczCi0gICAgOTMwMzQzNzAxLjMwMQotCi0KIC4uIF9zY2hlZHVsZXItb2JqZWN0czoKIAogU2NoZWR1bGVyIE9iamVjdHMKQEAgLTc5LDI2ICs1OCwzOCBAQAogOmNsYXNzOmBzY2hlZHVsZXJgIGluc3RhbmNlcyBoYXZlIHRoZSBmb2xsb3dpbmcgbWV0aG9kcyBhbmQgYXR0cmlidXRlczoKIAogCi0uLiBtZXRob2Q6OiBzY2hlZHVsZXIuZW50ZXJhYnModGltZSwgcHJpb3JpdHksIGFjdGlvbiwgYXJndW1lbnQpCisuLiBtZXRob2Q6OiBzY2hlZHVsZXIuZW50ZXJhYnModGltZSwgcHJpb3JpdHksIGFjdGlvbiwgYXJndW1lbnQ9W10sIGt3YXJncz17fSkKIAogICAgU2NoZWR1bGUgYSBuZXcgZXZlbnQuIFRoZSAqdGltZSogYXJndW1lbnQgc2hvdWxkIGJlIGEgbnVtZXJpYyB0eXBlIGNvbXBhdGlibGUKICAgIHdpdGggdGhlIHJldHVybiB2YWx1ZSBvZiB0aGUgKnRpbWVmdW5jKiBmdW5jdGlvbiBwYXNzZWQgIHRvIHRoZSBjb25zdHJ1Y3Rvci4KICAgIEV2ZW50cyBzY2hlZHVsZWQgZm9yIHRoZSBzYW1lICp0aW1lKiB3aWxsIGJlIGV4ZWN1dGVkIGluIHRoZSBvcmRlciBvZiB0aGVpcgogICAgKnByaW9yaXR5Ki4KIAotICAgRXhlY3V0aW5nIHRoZSBldmVudCBtZWFucyBleGVjdXRpbmcgYGBhY3Rpb24oKmFyZ3VtZW50KWBgLiAgKmFyZ3VtZW50KiBtdXN0IGJlIGEKLSAgIHNlcXVlbmNlIGhvbGRpbmcgdGhlIHBhcmFtZXRlcnMgZm9yICphY3Rpb24qLgorICAgRXhlY3V0aW5nIHRoZSBldmVudCBtZWFucyBleGVjdXRpbmcgYGBhY3Rpb24oKmFyZ3VtZW50LCAqKmt3YXJncylgYC4KKyAgICphcmd1bWVudCogbXVzdCBiZSBhIHNlcXVlbmNlIGhvbGRpbmcgdGhlIHBhcmFtZXRlcnMgZm9yICphY3Rpb24qLgorICAgKmt3YXJncyogbXVzdCBiZSBhIGRpY3Rpb25hcnkgaG9sZGluZyB0aGUga2V5d29yZCBwYXJhbWV0ZXJzIGZvciAqYWN0aW9uKi4KIAogICAgUmV0dXJuIHZhbHVlIGlzIGFuIGV2ZW50IHdoaWNoIG1heSBiZSB1c2VkIGZvciBsYXRlciBjYW5jZWxsYXRpb24gb2YgdGhlIGV2ZW50CiAgICAoc2VlIDptZXRoOmBjYW5jZWxgKS4KIAorICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjMKKyAgICAgICphcmd1bWVudCogcGFyYW1ldGVyIGlzIG9wdGlvbmFsLgogCi0uLiBtZXRob2Q6OiBzY2hlZHVsZXIuZW50ZXIoZGVsYXksIHByaW9yaXR5LCBhY3Rpb24sIGFyZ3VtZW50KQorICAgLi4gdmVyc2lvbmFkZGVkOjogMy4zCisgICAgICAqa3dhcmdzKiBwYXJhbWV0ZXIgd2FzIGFkZGVkLgorCisKKy4uIG1ldGhvZDo6IHNjaGVkdWxlci5lbnRlcihkZWxheSwgcHJpb3JpdHksIGFjdGlvbiwgYXJndW1lbnQ9W10sIGt3YXJncz17fSkKIAogICAgU2NoZWR1bGUgYW4gZXZlbnQgZm9yICpkZWxheSogbW9yZSB0aW1lIHVuaXRzLiBPdGhlciB0aGFuIHRoZSByZWxhdGl2ZSB0aW1lLCB0aGUKICAgIG90aGVyIGFyZ3VtZW50cywgdGhlIGVmZmVjdCBhbmQgdGhlIHJldHVybiB2YWx1ZSBhcmUgdGhlIHNhbWUgYXMgdGhvc2UgZm9yCiAgICA6bWV0aDpgZW50ZXJhYnNgLgogCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMworICAgICAgKmFyZ3VtZW50KiBwYXJhbWV0ZXIgaXMgb3B0aW9uYWwuCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMworICAgICAgKmt3YXJncyogcGFyYW1ldGVyIHdhcyBhZGRlZC4KIAogLi4gbWV0aG9kOjogc2NoZWR1bGVyLmNhbmNlbChldmVudCkKIApAQCAtMTExLDEyICsxMDIsMTYgQEAKICAgIFJldHVybiB0cnVlIGlmIHRoZSBldmVudCBxdWV1ZSBpcyBlbXB0eS4KIAogCi0uLiBtZXRob2Q6OiBzY2hlZHVsZXIucnVuKCkKKy4uIG1ldGhvZDo6IHNjaGVkdWxlci5ydW4oYmxvY2tpbmc9VHJ1ZSkKIAotICAgUnVuIGFsbCBzY2hlZHVsZWQgZXZlbnRzLiBUaGlzIGZ1bmN0aW9uIHdpbGwgd2FpdCAgKHVzaW5nIHRoZSA6ZnVuYzpgZGVsYXlmdW5jYAorICAgUnVuIGFsbCBzY2hlZHVsZWQgZXZlbnRzLiBUaGlzIG1ldGhvZCB3aWxsIHdhaXQgICh1c2luZyB0aGUgOmZ1bmM6YGRlbGF5ZnVuY2AKICAgIGZ1bmN0aW9uIHBhc3NlZCB0byB0aGUgY29uc3RydWN0b3IpIGZvciB0aGUgbmV4dCBldmVudCwgdGhlbiBleGVjdXRlIGl0IGFuZCBzbwogICAgb24gdW50aWwgdGhlcmUgYXJlIG5vIG1vcmUgc2NoZWR1bGVkIGV2ZW50cy4KIAorICAgSWYgKmJsb2NraW5nKiBpcyBGYWxzZSBleGVjdXRlcyB0aGUgc2NoZWR1bGVkIGV2ZW50cyBkdWUgdG8gZXhwaXJlIHNvb25lc3QKKyAgIChpZiBhbnkpIGFuZCB0aGVuIHJldHVybiB0aGUgZGVhZGxpbmUgb2YgdGhlIG5leHQgc2NoZWR1bGVkIGNhbGwgaW4gdGhlCisgICBzY2hlZHVsZXIgKGlmIGFueSkuCisKICAgIEVpdGhlciAqYWN0aW9uKiBvciAqZGVsYXlmdW5jKiBjYW4gcmFpc2UgYW4gZXhjZXB0aW9uLiAgSW4gZWl0aGVyIGNhc2UsIHRoZQogICAgc2NoZWR1bGVyIHdpbGwgbWFpbnRhaW4gYSBjb25zaXN0ZW50IHN0YXRlIGFuZCBwcm9wYWdhdGUgdGhlIGV4Y2VwdGlvbi4gIElmIGFuCiAgICBleGNlcHRpb24gaXMgcmFpc2VkIGJ5ICphY3Rpb24qLCB0aGUgZXZlbnQgd2lsbCBub3QgYmUgYXR0ZW1wdGVkIGluIGZ1dHVyZSBjYWxscwpAQCAtMTI3LDYgKzEyMiw5IEBACiAgICB0aGUgY2FsbGluZyBjb2RlIGlzIHJlc3BvbnNpYmxlIGZvciBjYW5jZWxpbmcgIGV2ZW50cyB3aGljaCBhcmUgbm8gbG9uZ2VyCiAgICBwZXJ0aW5lbnQuCiAKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMworICAgICAgKmJsb2NraW5nKiBwYXJhbWV0ZXIgd2FzIGFkZGVkLgorCiAuLiBhdHRyaWJ1dGU6OiBzY2hlZHVsZXIucXVldWUKIAogICAgUmVhZC1vbmx5IGF0dHJpYnV0ZSByZXR1cm5pbmcgYSBsaXN0IG9mIHVwY29taW5nIGV2ZW50cyBpbiB0aGUgb3JkZXIgdGhleQpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvc2VsZWN0LnJzdCBiL0RvYy9saWJyYXJ5L3NlbGVjdC5yc3QKaW5kZXggZjFmZDEyNi4uZDlkODAyYiAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvc2VsZWN0LnJzdAorKysgYi9Eb2MvbGlicmFyeS9zZWxlY3QucnN0CkBAIC02LDcgKzYsOCBAQAogCiAKIFRoaXMgbW9kdWxlIHByb3ZpZGVzIGFjY2VzcyB0byB0aGUgOmM6ZnVuYzpgc2VsZWN0YCBhbmQgOmM6ZnVuYzpgcG9sbGAgZnVuY3Rpb25zCi1hdmFpbGFibGUgaW4gbW9zdCBvcGVyYXRpbmcgc3lzdGVtcywgOmM6ZnVuYzpgZXBvbGxgIGF2YWlsYWJsZSBvbiBMaW51eCAyLjUrIGFuZAorYXZhaWxhYmxlIGluIG1vc3Qgb3BlcmF0aW5nIHN5c3RlbXMsIDpjOmZ1bmM6YGRldnBvbGxgIGF2YWlsYWJsZSBvbgorU29sYXJpcyBhbmQgZGVyaXZhdGl2ZXMsIDpjOmZ1bmM6YGVwb2xsYCBhdmFpbGFibGUgb24gTGludXggMi41KyBhbmQKIDpjOmZ1bmM6YGtxdWV1ZWAgYXZhaWxhYmxlIG9uIG1vc3QgQlNELgogTm90ZSB0aGF0IG9uIFdpbmRvd3MsIGl0IG9ubHkgd29ya3MgZm9yIHNvY2tldHM7IG9uIG90aGVyIG9wZXJhdGluZyBzeXN0ZW1zLAogaXQgYWxzbyB3b3JrcyBmb3Igb3RoZXIgZmlsZSB0eXBlcyAoaW4gcGFydGljdWxhciwgb24gVW5peCwgaXQgd29ya3Mgb24gcGlwZXMpLgpAQCAtMTgsMTcgKzE5LDM5IEBACiAKIC4uIGV4Y2VwdGlvbjo6IGVycm9yCiAKLSAgIFRoZSBleGNlcHRpb24gcmFpc2VkIHdoZW4gYW4gZXJyb3Igb2NjdXJzLiAgVGhlIGFjY29tcGFueWluZyB2YWx1ZSBpcyBhIHBhaXIKLSAgIGNvbnRhaW5pbmcgdGhlIG51bWVyaWMgZXJyb3IgY29kZSBmcm9tIDpjOmRhdGE6YGVycm5vYCBhbmQgdGhlIGNvcnJlc3BvbmRpbmcKLSAgIHN0cmluZywgYXMgd291bGQgYmUgcHJpbnRlZCBieSB0aGUgQyBmdW5jdGlvbiA6YzpmdW5jOmBwZXJyb3JgLgorICAgQSBkZXByZWNhdGVkIGFsaWFzIG9mIDpleGM6YE9TRXJyb3JgLgorCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMworICAgICAgRm9sbG93aW5nIDpwZXA6YDMxNTFgLCB0aGlzIGNsYXNzIHdhcyBtYWRlIGFuIGFsaWFzIG9mIDpleGM6YE9TRXJyb3JgLgogCiAKLS4uIGZ1bmN0aW9uOjogZXBvbGwoc2l6ZWhpbnQ9LTEpCisuLiBmdW5jdGlvbjo6IGRldnBvbGwoKQogCi0gICAoT25seSBzdXBwb3J0ZWQgb24gTGludXggMi41LjQ0IGFuZCBuZXdlci4pICBSZXR1cm5zIGFuIGVkZ2UgcG9sbGluZyBvYmplY3QsCi0gICB3aGljaCBjYW4gYmUgdXNlZCBhcyBFZGdlIG9yIExldmVsIFRyaWdnZXJlZCBpbnRlcmZhY2UgZm9yIEkvTyBldmVudHM7IHNlZQotICAgc2VjdGlvbiA6cmVmOmBlcG9sbC1vYmplY3RzYCBiZWxvdyBmb3IgdGhlIG1ldGhvZHMgc3VwcG9ydGVkIGJ5IGVwb2xsaW5nCi0gICBvYmplY3RzLgorICAgKE9ubHkgc3VwcG9ydGVkIG9uIFNvbGFyaXMgYW5kIGRlcml2YXRpdmVzLikgIFJldHVybnMgYSBgYC9kZXYvcG9sbGBgCisgICBwb2xsaW5nIG9iamVjdDsgc2VlIHNlY3Rpb24gOnJlZjpgZGV2cG9sbC1vYmplY3RzYCBiZWxvdyBmb3IgdGhlCisgICBtZXRob2RzIHN1cHBvcnRlZCBieSBkZXZwb2xsIG9iamVjdHMuCisKKyAgIDpjOmZ1bmM6YGRldnBvbGxgIG9iamVjdHMgYXJlIGxpbmtlZCB0byB0aGUgbnVtYmVyIG9mIGZpbGUKKyAgIGRlc2NyaXB0b3JzIGFsbG93ZWQgYXQgdGhlIHRpbWUgb2YgaW5zdGFudGlhdGlvbi4gSWYgeW91ciBwcm9ncmFtCisgICByZWR1Y2VzIHRoaXMgdmFsdWUsIDpjOmZ1bmM6YGRldnBvbGxgIHdpbGwgZmFpbC4gSWYgeW91ciBwcm9ncmFtCisgICBpbmNyZWFzZXMgdGhpcyB2YWx1ZSwgOmM6ZnVuYzpgZGV2cG9sbGAgbWF5IHJldHVybiBhbgorICAgaW5jb21wbGV0ZSBsaXN0IG9mIGFjdGl2ZSBmaWxlIGRlc2NyaXB0b3JzLgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKKworLi4gZnVuY3Rpb246OiBlcG9sbChzaXplaGludD0tMSwgZmxhZ3M9MCkKKworICAgKE9ubHkgc3VwcG9ydGVkIG9uIExpbnV4IDIuNS40NCBhbmQgbmV3ZXIuKSBSZXR1cm4gYW4gZWRnZSBwb2xsaW5nIG9iamVjdCwKKyAgIHdoaWNoIGNhbiBiZSB1c2VkIGFzIEVkZ2Ugb3IgTGV2ZWwgVHJpZ2dlcmVkIGludGVyZmFjZSBmb3IgSS9PCisgICBldmVudHMuICpzaXplaGludCogaXMgZGVwcmVjYXRlZCBhbmQgY29tcGxldGVseSBpZ25vcmVkLiAqZmxhZ3MqIGNhbiBiZSBzZXQKKyAgIHRvIDpjb25zdDpgRVBPTExfQ0xPRVhFQ2AsIHdoaWNoIGNhdXNlcyB0aGUgZXBvbGwgZGVzY3JpcHRvciB0byBiZSBjbG9zZWQKKyAgIGF1dG9tYXRpY2FsbHkgd2hlbiA6ZnVuYzpgb3MuZXhlY3ZlYCBpcyBjYWxsZWQuIFNlZSBzZWN0aW9uCisgICA6cmVmOmBlcG9sbC1vYmplY3RzYCBiZWxvdyBmb3IgdGhlIG1ldGhvZHMgc3VwcG9ydGVkIGJ5IGVwb2xsaW5nIG9iamVjdHMuCisKKworICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjMKKworICAgICAgQWRkZWQgdGhlICpmbGFncyogcGFyYW1ldGVyLgogCiAKIC4uIGZ1bmN0aW9uOjogcG9sbCgpCkBAIC0xMDYsNiArMTI5LDc0IEBACiAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjIKIAogCisuLiBfZGV2cG9sbC1vYmplY3RzOgorCitgYC9kZXYvcG9sbGBgIFBvbGxpbmcgT2JqZWN0cworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisgICBodHRwOi8vZGV2ZWxvcGVycy5zdW4uY29tL3NvbGFyaXMvYXJ0aWNsZXMvdXNpbmdfZGV2cG9sbC5odG1sCisgICBodHRwOi8vZGV2ZWxvcGVycy5zdW4uY29tL3NvbGFyaXMvYXJ0aWNsZXMvcG9sbGluZ19lZmZpY2llbnQuaHRtbAorCitTb2xhcmlzIGFuZCBkZXJpdmF0aXZlcyBoYXZlIGBgL2Rldi9wb2xsYGAuIFdoaWxlIDpjOmZ1bmM6YHNlbGVjdGAgaXMKK08oaGlnaGVzdCBmaWxlIGRlc2NyaXB0b3IpIGFuZCA6YzpmdW5jOmBwb2xsYCBpcyBPKG51bWJlciBvZiBmaWxlCitkZXNjcmlwdG9ycyksIGBgL2Rldi9wb2xsYGAgaXMgTyhhY3RpdmUgZmlsZSBkZXNjcmlwdG9ycykuCisKK2BgL2Rldi9wb2xsYGAgYmVoYXZpb3VyIGlzIHZlcnkgY2xvc2UgdG8gdGhlIHN0YW5kYXJkIDpjOmZ1bmM6YHBvbGxgCitvYmplY3QuCisKKworLi4gbWV0aG9kOjogZGV2cG9sbC5yZWdpc3RlcihmZFssIGV2ZW50bWFza10pCisKKyAgIFJlZ2lzdGVyIGEgZmlsZSBkZXNjcmlwdG9yIHdpdGggdGhlIHBvbGxpbmcgb2JqZWN0LiAgRnV0dXJlIGNhbGxzIHRvIHRoZQorICAgOm1ldGg6YHBvbGxgIG1ldGhvZCB3aWxsIHRoZW4gY2hlY2sgd2hldGhlciB0aGUgZmlsZSBkZXNjcmlwdG9yIGhhcyBhbnkgcGVuZGluZworICAgSS9PIGV2ZW50cy4gICpmZCogY2FuIGJlIGVpdGhlciBhbiBpbnRlZ2VyLCBvciBhbiBvYmplY3Qgd2l0aCBhIDptZXRoOmBmaWxlbm9gCisgICBtZXRob2QgdGhhdCByZXR1cm5zIGFuIGludGVnZXIuICBGaWxlIG9iamVjdHMgaW1wbGVtZW50IDptZXRoOmBmaWxlbm9gLCBzbyB0aGV5CisgICBjYW4gYWxzbyBiZSB1c2VkIGFzIHRoZSBhcmd1bWVudC4KKworICAgKmV2ZW50bWFzayogaXMgYW4gb3B0aW9uYWwgYml0bWFzayBkZXNjcmliaW5nIHRoZSB0eXBlIG9mIGV2ZW50cyB5b3Ugd2FudCB0bworICAgY2hlY2sgZm9yLiBUaGUgY29uc3RhbnRzIGFyZSB0aGUgc2FtZSB0aGF0IHdpdGggOmM6ZnVuYzpgcG9sbGAKKyAgIG9iamVjdC4gVGhlIGRlZmF1bHQgdmFsdWUgaXMgYSBjb21iaW5hdGlvbiBvZiB0aGUgY29uc3RhbnRzIDpjb25zdDpgUE9MTElOYCwKKyAgIDpjb25zdDpgUE9MTFBSSWAsIGFuZCA6Y29uc3Q6YFBPTExPVVRgLgorCisgICAuLiB3YXJuaW5nOjoKKworICAgICAgUmVnaXN0ZXJpbmcgYSBmaWxlIGRlc2NyaXB0b3IgdGhhdCdzIGFscmVhZHkgcmVnaXN0ZXJlZCBpcyBub3QgYW4KKyAgICAgIGVycm9yLCBidXQgdGhlIHJlc3VsdCBpcyB1bmRlZmluZWQuIFRoZSBhcHByb3BpYXRlIGFjdGlvbiBpcyB0bworICAgICAgdW5yZWdpc3RlciBvciBtb2RpZnkgaXQgZmlyc3QuIFRoaXMgaXMgYW4gaW1wb3J0YW50IGRpZmZlcmVuY2UKKyAgICAgIGNvbXBhcmVkIHdpdGggOmM6ZnVuYzpgcG9sbGAuCisKKworLi4gbWV0aG9kOjogZGV2cG9sbC5tb2RpZnkoZmRbLCBldmVudG1hc2tdKQorCisgICBUaGlzIG1ldGhvZCBkb2VzIGFuIDptZXRoOmB1bnJlZ2lzdGVyYCBmb2xsb3dlZCBieSBhCisgICA6bWV0aDpgcmVnaXN0ZXJgLiBJdCBpcyAoYSBiaXQpIG1vcmUgZWZmaWNpZW50IHRoYXQgZG9pbmcgdGhlIHNhbWUKKyAgIGV4cGxpY2l0bHkuCisKKworLi4gbWV0aG9kOjogZGV2cG9sbC51bnJlZ2lzdGVyKGZkKQorCisgICBSZW1vdmUgYSBmaWxlIGRlc2NyaXB0b3IgYmVpbmcgdHJhY2tlZCBieSBhIHBvbGxpbmcgb2JqZWN0LiAgSnVzdCBsaWtlIHRoZQorICAgOm1ldGg6YHJlZ2lzdGVyYCBtZXRob2QsICpmZCogY2FuIGJlIGFuIGludGVnZXIgb3IgYW4gb2JqZWN0IHdpdGggYQorICAgOm1ldGg6YGZpbGVub2AgbWV0aG9kIHRoYXQgcmV0dXJucyBhbiBpbnRlZ2VyLgorCisgICBBdHRlbXB0aW5nIHRvIHJlbW92ZSBhIGZpbGUgZGVzY3JpcHRvciB0aGF0IHdhcyBuZXZlciByZWdpc3RlcmVkIGlzCisgICBzYWZlbHkgaWdub3JlZC4KKworCisuLiBtZXRob2Q6OiBkZXZwb2xsLnBvbGwoW3RpbWVvdXRdKQorCisgICBQb2xscyB0aGUgc2V0IG9mIHJlZ2lzdGVyZWQgZmlsZSBkZXNjcmlwdG9ycywgYW5kIHJldHVybnMgYSBwb3NzaWJseS1lbXB0eSBsaXN0CisgICBjb250YWluaW5nIGBgKGZkLCBldmVudClgYCAyLXR1cGxlcyBmb3IgdGhlIGRlc2NyaXB0b3JzIHRoYXQgaGF2ZSBldmVudHMgb3IKKyAgIGVycm9ycyB0byByZXBvcnQuICpmZCogaXMgdGhlIGZpbGUgZGVzY3JpcHRvciwgYW5kICpldmVudCogaXMgYSBiaXRtYXNrIHdpdGgKKyAgIGJpdHMgc2V0IGZvciB0aGUgcmVwb3J0ZWQgZXZlbnRzIGZvciB0aGF0IGRlc2NyaXB0b3IgLS0tIDpjb25zdDpgUE9MTElOYCBmb3IKKyAgIHdhaXRpbmcgaW5wdXQsIDpjb25zdDpgUE9MTE9VVGAgdG8gaW5kaWNhdGUgdGhhdCB0aGUgZGVzY3JpcHRvciBjYW4gYmUgd3JpdHRlbgorICAgdG8sIGFuZCBzbyBmb3J0aC4gQW4gZW1wdHkgbGlzdCBpbmRpY2F0ZXMgdGhhdCB0aGUgY2FsbCB0aW1lZCBvdXQgYW5kIG5vIGZpbGUKKyAgIGRlc2NyaXB0b3JzIGhhZCBhbnkgZXZlbnRzIHRvIHJlcG9ydC4gSWYgKnRpbWVvdXQqIGlzIGdpdmVuLCBpdCBzcGVjaWZpZXMgdGhlCisgICBsZW5ndGggb2YgdGltZSBpbiBtaWxsaXNlY29uZHMgd2hpY2ggdGhlIHN5c3RlbSB3aWxsIHdhaXQgZm9yIGV2ZW50cyBiZWZvcmUKKyAgIHJldHVybmluZy4gSWYgKnRpbWVvdXQqIGlzIG9taXR0ZWQsIC0xLCBvciA6Y29uc3Q6YE5vbmVgLCB0aGUgY2FsbCB3aWxsCisgICBibG9jayB1bnRpbCB0aGVyZSBpcyBhbiBldmVudCBmb3IgdGhpcyBwb2xsIG9iamVjdC4KKworCiAuLiBfZXBvbGwtb2JqZWN0czoKIAogRWRnZSBhbmQgTGV2ZWwgVHJpZ2dlciBQb2xsaW5nIChlcG9sbCkgT2JqZWN0cwpAQCAtMTY1LDExICsyNTYsNiBAQAogCiAgICBSZWdpc3RlciBhIGZkIGRlc2NyaXB0b3Igd2l0aCB0aGUgZXBvbGwgb2JqZWN0LgogCi0gICAuLiBub3RlOjoKLQotICAgICBSZWdpc3RlcmluZyBhIGZpbGUgZGVzY3JpcHRvciB0aGF0J3MgYWxyZWFkeSByZWdpc3RlcmVkIHJhaXNlcyBhbgotICAgICBJT0Vycm9yIC0tIGNvbnRyYXJ5IHRvIDpyZWY6YHBvbGwtb2JqZWN0c2AncyByZWdpc3Rlci4KLQogCiAuLiBtZXRob2Q6OiBlcG9sbC5tb2RpZnkoZmQsIGV2ZW50bWFzaykKIApkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvc2hsZXgucnN0IGIvRG9jL2xpYnJhcnkvc2hsZXgucnN0CmluZGV4IDAxMTNmYjcuLjk0MWUwOTAgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L3NobGV4LnJzdAorKysgYi9Eb2MvbGlicmFyeS9zaGxleC5yc3QKQEAgLTM0LDYgKzM0LDQwIEBACiAgICAgICBwYXNzaW5nIGBgTm9uZWBgIGZvciAqcyogd2lsbCByZWFkIHRoZSBzdHJpbmcgdG8gc3BsaXQgZnJvbSBzdGFuZGFyZAogICAgICAgaW5wdXQuCiAKKworLi4gZnVuY3Rpb246OiBxdW90ZShzKQorCisgICBSZXR1cm4gYSBzaGVsbC1lc2NhcGVkIHZlcnNpb24gb2YgdGhlIHN0cmluZyAqcyouICBUaGUgcmV0dXJuZWQgdmFsdWUgaXMgYQorICAgc3RyaW5nIHRoYXQgY2FuIHNhZmVseSBiZSB1c2VkIGFzIG9uZSB0b2tlbiBpbiBhIHNoZWxsIGNvbW1hbmQgbGluZSwgZm9yCisgICBjYXNlcyB3aGVyZSB5b3UgY2Fubm90IHVzZSBhIGxpc3QuCisKKyAgIFRoaXMgaWRpb20gd291bGQgYmUgdW5zYWZlOjoKKworICAgICAgPj4+IGZpbGVuYW1lID0gJ3NvbWVmaWxlOyBybSAtcmYgficKKyAgICAgID4+PiBjb21tYW5kID0gJ2xzIC1sIHt9Jy5mb3JtYXQoZmlsZW5hbWUpCisgICAgICA+Pj4gcHJpbnQoY29tbWFuZCkgICMgZXhlY3V0ZWQgYnkgYSBzaGVsbDogYm9vbSEKKyAgICAgIGxzIC1sIHNvbWVmaWxlOyBybSAtcmYgfgorCisgICA6ZnVuYzpgcXVvdGVgIGxldHMgeW91IHBsdWcgdGhlIHNlY3VyaXR5IGhvbGU6OgorCisgICAgICA+Pj4gY29tbWFuZCA9ICdscyAtbCB7fScuZm9ybWF0KHF1b3RlKGZpbGVuYW1lKSkKKyAgICAgID4+PiBwcmludChjb21tYW5kKQorICAgICAgbHMgLWwgJ3NvbWVmaWxlOyBybSAtcmYgficKKyAgICAgID4+PiByZW1vdGVfY29tbWFuZCA9ICdzc2ggaG9tZSB7fScuZm9ybWF0KHF1b3RlKGNvbW1hbmQpKQorICAgICAgPj4+IHByaW50KHJlbW90ZV9jb21tYW5kKQorICAgICAgc3NoIGhvbWUgJ2xzIC1sICciJyInc29tZWZpbGU7IHJtIC1yZiB+JyInIicnCisKKyAgIFRoZSBxdW90aW5nIGlzIGNvbXBhdGlibGUgd2l0aCBVTklYIHNoZWxscyBhbmQgd2l0aCA6ZnVuYzpgc3BsaXRgOgorCisgICAgICA+Pj4gcmVtb3RlX2NvbW1hbmQgPSBzcGxpdChyZW1vdGVfY29tbWFuZCkKKyAgICAgID4+PiByZW1vdGVfY29tbWFuZAorICAgICAgWydzc2gnLCAnaG9tZScsICJscyAtbCAnc29tZWZpbGU7IHJtIC1yZiB+JyJdCisgICAgICA+Pj4gY29tbWFuZCA9IHNwbGl0KHJlbW90ZV9jb21tYW5kWy0xXSkKKyAgICAgID4+PiBjb21tYW5kCisgICAgICBbJ2xzJywgJy1sJywgJ3NvbWVmaWxlOyBybSAtcmYgfiddCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMworCiBUaGUgOm1vZDpgc2hsZXhgIG1vZHVsZSBkZWZpbmVzIHRoZSBmb2xsb3dpbmcgY2xhc3M6CiAKIApAQCAtMjgyLDUgKzMxNiw0IEBACiAKICogRU9GIGlzIHNpZ25hbGVkIHdpdGggYSA6Y29uc3Q6YE5vbmVgIHZhbHVlOwogCi0qIFF1b3RlZCBlbXB0eSBzdHJpbmdzIChgYCcnYGApIGFyZSBhbGxvd2VkOwotCisqIFF1b3RlZCBlbXB0eSBzdHJpbmdzIChgYCcnYGApIGFyZSBhbGxvd2VkLgpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvc2h1dGlsLnJzdCBiL0RvYy9saWJyYXJ5L3NodXRpbC5yc3QKaW5kZXggMThmNjQ4NS4uMjFlZTk0ZiAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvc2h1dGlsLnJzdAorKysgYi9Eb2MvbGlicmFyeS9zaHV0aWwucnN0CkBAIC00Nyw0NSArNDcsNjkgQEAKICAgIGJlIGNvcGllZC4KIAogCi0uLiBmdW5jdGlvbjo6IGNvcHlmaWxlKHNyYywgZHN0KQorLi4gZnVuY3Rpb246OiBjb3B5ZmlsZShzcmMsIGRzdFssIHN5bWxpbmtzPUZhbHNlXSkKIAogICAgQ29weSB0aGUgY29udGVudHMgKG5vIG1ldGFkYXRhKSBvZiB0aGUgZmlsZSBuYW1lZCAqc3JjKiB0byBhIGZpbGUgbmFtZWQKICAgICpkc3QqLiAgKmRzdCogbXVzdCBiZSB0aGUgY29tcGxldGUgdGFyZ2V0IGZpbGUgbmFtZTsgbG9vayBhdAogICAgOmZ1bmM6YHNodXRpbC5jb3B5YCBmb3IgYSBjb3B5IHRoYXQgYWNjZXB0cyBhIHRhcmdldCBkaXJlY3RvcnkgcGF0aC4gIElmCiAgICAqc3JjKiBhbmQgKmRzdCogYXJlIHRoZSBzYW1lIGZpbGVzLCA6ZXhjOmBFcnJvcmAgaXMgcmFpc2VkLgotICAgVGhlIGRlc3RpbmF0aW9uIGxvY2F0aW9uIG11c3QgYmUgd3JpdGFibGU7IG90aGVyd2lzZSwgIGFuIDpleGM6YElPRXJyb3JgIGV4Y2VwdGlvbgorCisgICBUaGUgZGVzdGluYXRpb24gbG9jYXRpb24gbXVzdCBiZSB3cml0YWJsZTsgb3RoZXJ3aXNlLCAgYW4gOmV4YzpgT1NFcnJvcmAgZXhjZXB0aW9uCiAgICB3aWxsIGJlIHJhaXNlZC4gSWYgKmRzdCogYWxyZWFkeSBleGlzdHMsIGl0IHdpbGwgYmUgcmVwbGFjZWQuICAgU3BlY2lhbCBmaWxlcwogICAgc3VjaCBhcyBjaGFyYWN0ZXIgb3IgYmxvY2sgZGV2aWNlcyBhbmQgcGlwZXMgY2Fubm90IGJlIGNvcGllZCB3aXRoIHRoaXMKICAgIGZ1bmN0aW9uLiAgKnNyYyogYW5kICpkc3QqIGFyZSBwYXRoIG5hbWVzIGdpdmVuIGFzIHN0cmluZ3MuCiAKKyAgIElmICpzeW1saW5rcyogaXMgdHJ1ZSBhbmQgKnNyYyogaXMgYSBzeW1ib2xpYyBsaW5rLCBhIG5ldyBzeW1ib2xpYyBsaW5rIHdpbGwKKyAgIGJlIGNyZWF0ZWQgaW5zdGVhZCBvZiBjb3B5aW5nIHRoZSBmaWxlICpzcmMqIHBvaW50cyB0by4KIAotLi4gZnVuY3Rpb246OiBjb3B5bW9kZShzcmMsIGRzdCkKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy4zCisgICAgICA6ZXhjOmBJT0Vycm9yYCB1c2VkIHRvIGJlIHJhaXNlZCBpbnN0ZWFkIG9mIDpleGM6YE9TRXJyb3JgLgorICAgICAgQWRkZWQgKnN5bWxpbmtzKiBhcmd1bWVudC4KKworCisuLiBmdW5jdGlvbjo6IGNvcHltb2RlKHNyYywgZHN0Wywgc3ltbGlua3M9RmFsc2VdKQogCiAgICBDb3B5IHRoZSBwZXJtaXNzaW9uIGJpdHMgZnJvbSAqc3JjKiB0byAqZHN0Ki4gIFRoZSBmaWxlIGNvbnRlbnRzLCBvd25lciwgYW5kCi0gICBncm91cCBhcmUgdW5hZmZlY3RlZC4gICpzcmMqIGFuZCAqZHN0KiBhcmUgcGF0aCBuYW1lcyBnaXZlbiBhcyBzdHJpbmdzLgorICAgZ3JvdXAgYXJlIHVuYWZmZWN0ZWQuICAqc3JjKiBhbmQgKmRzdCogYXJlIHBhdGggbmFtZXMgZ2l2ZW4gYXMgc3RyaW5ncy4gIElmCisgICAqc3ltbGlua3MqIGlzIHRydWUsICpzcmMqIGEgc3ltYm9saWMgbGluayBhbmQgdGhlIG9wZXJhdGluZyBzeXN0ZW0gc3VwcG9ydHMKKyAgIG1vZGVzIGZvciBzeW1ib2xpYyBsaW5rcyAoZm9yIGV4YW1wbGUgQlNELWJhc2VkIG9uZXMpLCB0aGUgbW9kZSBvZiB0aGUgbGluaworICAgd2lsbCBiZSBjb3BpZWQuCiAKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy4zCisgICAgICBBZGRlZCAqc3ltbGlua3MqIGFyZ3VtZW50LgogCi0uLiBmdW5jdGlvbjo6IGNvcHlzdGF0KHNyYywgZHN0KQorLi4gZnVuY3Rpb246OiBjb3B5c3RhdChzcmMsIGRzdFssIHN5bWxpbmtzPUZhbHNlXSkKIAogICAgQ29weSB0aGUgcGVybWlzc2lvbiBiaXRzLCBsYXN0IGFjY2VzcyB0aW1lLCBsYXN0IG1vZGlmaWNhdGlvbiB0aW1lLCBhbmQgZmxhZ3MKICAgIGZyb20gKnNyYyogdG8gKmRzdCouICBUaGUgZmlsZSBjb250ZW50cywgb3duZXIsIGFuZCBncm91cCBhcmUgdW5hZmZlY3RlZC4gICpzcmMqCi0gICBhbmQgKmRzdCogYXJlIHBhdGggbmFtZXMgZ2l2ZW4gYXMgc3RyaW5ncy4KKyAgIGFuZCAqZHN0KiBhcmUgcGF0aCBuYW1lcyBnaXZlbiBhcyBzdHJpbmdzLiAgSWYgKnNyYyogYW5kICpkc3QqIGFyZSBib3RoCisgICBzeW1ib2xpYyBsaW5rcyBhbmQgKnN5bWxpbmtzKiB0cnVlLCB0aGUgc3RhdHMgb2YgdGhlIGxpbmsgd2lsbCBiZSBjb3BpZWQgYXMKKyAgIGZhciBhcyB0aGUgcGxhdGZvcm0gYWxsb3dzLgogCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMworICAgICAgQWRkZWQgKnN5bWxpbmtzKiBhcmd1bWVudC4KIAotLi4gZnVuY3Rpb246OiBjb3B5KHNyYywgZHN0KQorLi4gZnVuY3Rpb246OiBjb3B5KHNyYywgZHN0Wywgc3ltbGlua3M9RmFsc2VdKSkKIAogICAgQ29weSB0aGUgZmlsZSAqc3JjKiB0byB0aGUgZmlsZSBvciBkaXJlY3RvcnkgKmRzdCouICBJZiAqZHN0KiBpcyBhIGRpcmVjdG9yeSwgYQogICAgZmlsZSB3aXRoIHRoZSBzYW1lIGJhc2VuYW1lIGFzICpzcmMqICBpcyBjcmVhdGVkIChvciBvdmVyd3JpdHRlbikgaW4gdGhlCiAgICBkaXJlY3Rvcnkgc3BlY2lmaWVkLiAgUGVybWlzc2lvbiBiaXRzIGFyZSBjb3BpZWQuICAqc3JjKiBhbmQgKmRzdCogYXJlIHBhdGgKLSAgIG5hbWVzIGdpdmVuIGFzIHN0cmluZ3MuCisgICBuYW1lcyBnaXZlbiBhcyBzdHJpbmdzLiAgSWYgKnN5bWxpbmtzKiBpcyB0cnVlLCBzeW1ib2xpYyBsaW5rcyB3b24ndCBiZQorICAgZm9sbG93ZWQgYnV0IHJlY3JlYXRlZCBpbnN0ZWFkIC0tIHRoaXMgcmVzZW1ibGVzIEdOVSdzIDpwcm9ncmFtOmBjcCAtUGAuCiAKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy4zCisgICAgICBBZGRlZCAqc3ltbGlua3MqIGFyZ3VtZW50LgogCi0uLiBmdW5jdGlvbjo6IGNvcHkyKHNyYywgZHN0KQorLi4gZnVuY3Rpb246OiBjb3B5MihzcmMsIGRzdFssIHN5bWxpbmtzPUZhbHNlXSkKIAogICAgU2ltaWxhciB0byA6ZnVuYzpgc2h1dGlsLmNvcHlgLCBidXQgbWV0YWRhdGEgaXMgY29waWVkIGFzIHdlbGwgLS0gaW4gZmFjdCwKICAgIHRoaXMgaXMganVzdCA6ZnVuYzpgc2h1dGlsLmNvcHlgIGZvbGxvd2VkIGJ5IDpmdW5jOmBjb3B5c3RhdGAuICBUaGlzIGlzCi0gICBzaW1pbGFyIHRvIHRoZSBVbml4IGNvbW1hbmQgOnByb2dyYW06YGNwIC1wYC4KKyAgIHNpbWlsYXIgdG8gdGhlIFVuaXggY29tbWFuZCA6cHJvZ3JhbTpgY3AgLXBgLiAgSWYgKnN5bWxpbmtzKiBpcyB0cnVlLAorICAgc3ltYm9saWMgbGlua3Mgd29uJ3QgYmUgZm9sbG93ZWQgYnV0IHJlY3JlYXRlZCBpbnN0ZWFkIC0tIHRoaXMgcmVzZW1ibGVzCisgICBHTlUncyA6cHJvZ3JhbTpgY3AgLVBgLgogCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMworICAgICAgQWRkZWQgKnN5bWxpbmtzKiBhcmd1bWVudC4KIAogLi4gZnVuY3Rpb246OiBpZ25vcmVfcGF0dGVybnMoXCpwYXR0ZXJucykKIApAQCAtMTAzLDkgKzEyNyw5IEBACiAgICA6ZnVuYzpgc2h1dGlsLmNvcHkyYC4KIAogICAgSWYgKnN5bWxpbmtzKiBpcyB0cnVlLCBzeW1ib2xpYyBsaW5rcyBpbiB0aGUgc291cmNlIHRyZWUgYXJlIHJlcHJlc2VudGVkIGFzCi0gICBzeW1ib2xpYyBsaW5rcyBpbiB0aGUgbmV3IHRyZWUsIGJ1dCB0aGUgbWV0YWRhdGEgb2YgdGhlIG9yaWdpbmFsIGxpbmtzIGlzIE5PVAotICAgY29waWVkOyBpZiBmYWxzZSBvciBvbWl0dGVkLCB0aGUgY29udGVudHMgYW5kIG1ldGFkYXRhIG9mIHRoZSBsaW5rZWQgZmlsZXMKLSAgIGFyZSBjb3BpZWQgdG8gdGhlIG5ldyB0cmVlLgorICAgc3ltYm9saWMgbGlua3MgaW4gdGhlIG5ldyB0cmVlIGFuZCB0aGUgbWV0YWRhdGEgb2YgdGhlIG9yaWdpbmFsIGxpbmtzIHdpbGwKKyAgIGJlIGNvcGllZCBhcyBmYXIgYXMgdGhlIHBsYXRmb3JtIGFsbG93czsgaWYgZmFsc2Ugb3Igb21pdHRlZCwgdGhlIGNvbnRlbnRzCisgICBhbmQgbWV0YWRhdGEgb2YgdGhlIGxpbmtlZCBmaWxlcyBhcmUgY29waWVkIHRvIHRoZSBuZXcgdHJlZS4KIAogICAgV2hlbiAqc3ltbGlua3MqIGlzIGZhbHNlLCBpZiB0aGUgZmlsZSBwb2ludGVkIGJ5IHRoZSBzeW1saW5rIGRvZXNuJ3QKICAgIGV4aXN0LCBhIGV4Y2VwdGlvbiB3aWxsIGJlIGFkZGVkIGluIHRoZSBsaXN0IG9mIGVycm9ycyByYWlzZWQgaW4KQEAgLTEyOSw3ICsxNTMsNyBAQAogICAgSWYgKmNvcHlfZnVuY3Rpb24qIGlzIGdpdmVuLCBpdCBtdXN0IGJlIGEgY2FsbGFibGUgdGhhdCB3aWxsIGJlIHVzZWQgdG8gY29weQogICAgZWFjaCBmaWxlLiBJdCB3aWxsIGJlIGNhbGxlZCB3aXRoIHRoZSBzb3VyY2UgcGF0aCBhbmQgdGhlIGRlc3RpbmF0aW9uIHBhdGgKICAgIGFzIGFyZ3VtZW50cy4gQnkgZGVmYXVsdCwgOmZ1bmM6YHNodXRpbC5jb3B5MmAgaXMgdXNlZCwgYnV0IGFueSBmdW5jdGlvbgotICAgdGhhdCBzdXBwb3J0cyB0aGUgc2FtZSBzaWduYXR1cmUgKGxpa2UgOmZ1bmM6YGNvcHlgKSBjYW4gYmUgdXNlZC4KKyAgIHRoYXQgc3VwcG9ydHMgdGhlIHNhbWUgc2lnbmF0dXJlIChsaWtlIDpmdW5jOmBzaHV0aWwuY29weWApIGNhbiBiZSB1c2VkLgogCiAgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMgogICAgICAgQWRkZWQgdGhlICpjb3B5X2Z1bmN0aW9uKiBhcmd1bWVudCB0byBiZSBhYmxlIHRvIHByb3ZpZGUgYSBjdXN0b20gY29weQpAQCAtMTM5LDYgKzE2Myw5IEBACiAgICAgICBBZGRlZCB0aGUgKmlnbm9yZV9kYW5nbGluZ19zeW1saW5rcyogYXJndW1lbnQgdG8gc2lsZW50IGRhbmdsaW5nIHN5bWxpbmtzCiAgICAgICBlcnJvcnMgd2hlbiAqc3ltbGlua3MqIGlzIGZhbHNlLgogCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMworICAgICAgQ29weSBtZXRhZGF0YSB3aGVuICpzeW1saW5rcyogaXMgZmFsc2UuCisKIAogLi4gZnVuY3Rpb246OiBybXRyZWUocGF0aCwgaWdub3JlX2Vycm9ycz1GYWxzZSwgb25lcnJvcj1Ob25lKQogCkBAIC0xNzMsNyArMjAwLDM1IEBACiAKICAgIElmIHRoZSBkZXN0aW5hdGlvbiBpcyBvbiB0aGUgY3VycmVudCBmaWxlc3lzdGVtLCB0aGVuIDpmdW5jOmBvcy5yZW5hbWVgIGlzCiAgICB1c2VkLiAgT3RoZXJ3aXNlLCAqc3JjKiBpcyBjb3BpZWQgKHVzaW5nIDpmdW5jOmBzaHV0aWwuY29weTJgKSB0byAqZHN0KiBhbmQKLSAgIHRoZW4gcmVtb3ZlZC4KKyAgIHRoZW4gcmVtb3ZlZC4gSW4gY2FzZSBvZiBzeW1saW5rcywgYSBuZXcgc3ltbGluayBwb2ludGluZyB0byB0aGUgdGFyZ2V0IG9mCisgICAqc3JjKiB3aWxsIGJlIGNyZWF0ZWQgaW4gb3IgYXMgKmRzdCogYW5kICpzcmMqIHdpbGwgYmUgcmVtb3ZlZC4KKworICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjMKKyAgICAgIEFkZGVkIGV4cGxpY2l0IHN5bWxpbmsgaGFuZGxpbmcgZm9yIGZvcmVpZ24gZmlsZXN5c3RlbXMsIHRodXMgYWRhcHRpbmcKKyAgICAgIGl0IHRvIHRoZSBiZWhhdmlvciBvZiBHTlUncyA6cHJvZ3JhbTpgbXZgLgorCisuLiBmdW5jdGlvbjo6IGRpc2tfdXNhZ2UocGF0aCkKKworICAgUmV0dXJuIGRpc2sgdXNhZ2Ugc3RhdGlzdGljcyBhYm91dCB0aGUgZ2l2ZW4gcGF0aCBhcyBhIDp0ZXJtOmBuYW1lZCB0dXBsZWAKKyAgIHdpdGggdGhlIGF0dHJpYnV0ZXMgKnRvdGFsKiwgKnVzZWQqIGFuZCAqZnJlZSosIHdoaWNoIGFyZSB0aGUgYW1vdW50IG9mCisgICB0b3RhbCwgdXNlZCBhbmQgZnJlZSBzcGFjZSwgaW4gYnl0ZXMuCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMworCisgICBBdmFpbGFiaWxpdHk6IFVuaXgsIFdpbmRvd3MuCisKKy4uIGZ1bmN0aW9uOjogY2hvd24ocGF0aCwgdXNlcj1Ob25lLCBncm91cD1Ob25lKQorCisgICBDaGFuZ2Ugb3duZXIgKnVzZXIqIGFuZC9vciAqZ3JvdXAqIG9mIHRoZSBnaXZlbiAqcGF0aCouCisKKyAgICp1c2VyKiBjYW4gYmUgYSBzeXN0ZW0gdXNlciBuYW1lIG9yIGEgdWlkOyB0aGUgc2FtZSBhcHBsaWVzIHRvICpncm91cCouIEF0CisgICBsZWFzdCBvbmUgYXJndW1lbnQgaXMgcmVxdWlyZWQuCisKKyAgIFNlZSBhbHNvIDpmdW5jOmBvcy5jaG93bmAsIHRoZSB1bmRlcmx5aW5nIGZ1bmN0aW9uLgorCisgICBBdmFpbGFiaWxpdHk6IFVuaXguCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMwogCiAKIC4uIGV4Y2VwdGlvbjo6IEVycm9yCkBAIC00MDYsMyArNDYxLDM2IEBACiAgICAgLXJ3LS0tLS0tLSB0YXJlay9zdGFmZiAgICAxNjc1IDIwMDgtMDYtMDkgMTM6MjY6NTQgLi9pZF9yc2EKICAgICAtcnctci0tci0tIHRhcmVrL3N0YWZmICAgICAzOTcgMjAwOC0wNi0wOSAxMzoyNjo1NCAuL2lkX3JzYS5wdWIKICAgICAtcnctci0tci0tIHRhcmVrL3N0YWZmICAgMzcxOTIgMjAxMC0wMi0wNiAxODoyMzoxMCAuL2tub3duX2hvc3RzCisKKworUXVlcnlpbmcgdGhlIHNpemUgb2YgdGhlIG91dHB1dCB0ZXJtaW5hbAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKKworLi4gZnVuY3Rpb246OiBnZXRfdGVybWluYWxfc2l6ZShmYWxsYmFjaz0oY29sdW1ucywgbGluZXMpKQorCisgICBHZXQgdGhlIHNpemUgb2YgdGhlIHRlcm1pbmFsIHdpbmRvdy4KKworICAgRm9yIGVhY2ggb2YgdGhlIHR3byBkaW1lbnNpb25zLCB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUsIGBgQ09MVU1OU2BgCisgICBhbmQgYGBMSU5FU2BgIHJlc3BlY3RpdmVseSwgaXMgY2hlY2tlZC4gSWYgdGhlIHZhcmlhYmxlIGlzIGRlZmluZWQgYW5kCisgICB0aGUgdmFsdWUgaXMgYSBwb3NpdGl2ZSBpbnRlZ2VyLCBpdCBpcyB1c2VkLgorCisgICBXaGVuIGBgQ09MVU1OU2BgIG9yIGBgTElORVNgYCBpcyBub3QgZGVmaW5lZCwgd2hpY2ggaXMgdGhlIGNvbW1vbiBjYXNlLAorICAgdGhlIHRlcm1pbmFsIGNvbm5lY3RlZCB0byA6ZGF0YTpgc3lzLl9fc3Rkb3V0X19gIGlzIHF1ZXJpZWQKKyAgIGJ5IGludm9raW5nIDpmdW5jOmBvcy5nZXRfdGVybWluYWxfc2l6ZWAuCisKKyAgIElmIHRoZSB0ZXJtaW5hbCBzaXplIGNhbm5vdCBiZSBzdWNjZXNzZnVsbHkgcXVlcmllZCwgZWl0aGVyIGJlY2F1c2UKKyAgIHRoZSBzeXN0ZW0gZG9lc24ndCBzdXBwb3J0IHF1ZXJ5aW5nLCBvciBiZWNhdXNlIHdlIGFyZSBub3QKKyAgIGNvbm5lY3RlZCB0byBhIHRlcm1pbmFsLCB0aGUgdmFsdWUgZ2l2ZW4gaW4gYGBmYWxsYmFja2BgIHBhcmFtZXRlcgorICAgaXMgdXNlZC4gYGBmYWxsYmFja2BgIGRlZmF1bHRzIHRvIGBgKDgwLCAyNClgYCB3aGljaCBpcyB0aGUgZGVmYXVsdAorICAgc2l6ZSB1c2VkIGJ5IG1hbnkgdGVybWluYWwgZW11bGF0b3JzLgorCisgICBUaGUgdmFsdWUgcmV0dXJuZWQgaXMgYSBuYW1lZCB0dXBsZSBvZiB0eXBlIDpjbGFzczpgb3MudGVybWluYWxfc2l6ZWAuCisKKyAgIFNlZSBhbHNvOiBUaGUgU2luZ2xlIFVOSVggU3BlY2lmaWNhdGlvbiwgVmVyc2lvbiAyLAorICAgYE90aGVyIEVudmlyb25tZW50IFZhcmlhYmxlc2BfLgorCisuLiBfYE90aGVyIEVudmlyb25tZW50IFZhcmlhYmxlc2A6CisgICBodHRwOi8vcHVicy5vcGVuZ3JvdXAub3JnL29ubGluZXB1YnMvNzkwODc5OS94YmQvZW52dmFyLmh0bWwjdGFnXzAwMl8wMDMKKwpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvc2lnbmFsLnJzdCBiL0RvYy9saWJyYXJ5L3NpZ25hbC5yc3QKaW5kZXggNjk4YjFlNy4uMDRhZmQ5ZSAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvc2lnbmFsLnJzdAorKysgYi9Eb2MvbGlicmFyeS9zaWduYWwucnN0CkBAIC0xMyw5ICsxMyw2IEBACiAgIHVuZGVybHlpbmcgaW1wbGVtZW50YXRpb24pLCB3aXRoIHRoZSBleGNlcHRpb24gb2YgdGhlIGhhbmRsZXIgZm9yCiAgIDpjb25zdDpgU0lHQ0hMRGAsIHdoaWNoIGZvbGxvd3MgdGhlIHVuZGVybHlpbmcgaW1wbGVtZW50YXRpb24uCiAKLSogVGhlcmUgaXMgbm8gd2F5IHRvICJibG9jayIgc2lnbmFscyB0ZW1wb3JhcmlseSBmcm9tIGNyaXRpY2FsIHNlY3Rpb25zIChzaW5jZQotICB0aGlzIGlzIG5vdCBzdXBwb3J0ZWQgYnkgYWxsIFVuaXggZmxhdm9ycykuCi0KICogQWx0aG91Z2ggUHl0aG9uIHNpZ25hbCBoYW5kbGVycyBhcmUgY2FsbGVkIGFzeW5jaHJvbm91c2x5IGFzIGZhciBhcyB0aGUgUHl0aG9uCiAgIHVzZXIgaXMgY29uY2VybmVkLCB0aGV5IGNhbiBvbmx5IG9jY3VyIGJldHdlZW4gdGhlICJhdG9taWMiIGluc3RydWN0aW9ucyBvZiB0aGUKICAgUHl0aG9uIGludGVycHJldGVyLiAgVGhpcyBtZWFucyB0aGF0IHNpZ25hbHMgYXJyaXZpbmcgZHVyaW5nIGxvbmcgY2FsY3VsYXRpb25zCkBAIC0xMTksNiArMTE2LDI4IEBACiAgICBpbiB1c2VyIGFuZCBrZXJuZWwgc3BhY2UuIFNJR1BST0YgaXMgZGVsaXZlcmVkIHVwb24gZXhwaXJhdGlvbi4KIAogCisuLiBkYXRhOjogU0lHX0JMT0NLCisKKyAgIEEgcG9zc2libGUgdmFsdWUgZm9yIHRoZSAqaG93KiBwYXJhbWV0ZXIgdG8gOmZ1bmM6YHB0aHJlYWRfc2lnbWFza2AKKyAgIGluZGljYXRpbmcgdGhhdCBzaWduYWxzIGFyZSB0byBiZSBibG9ja2VkLgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKKworLi4gZGF0YTo6IFNJR19VTkJMT0NLCisKKyAgIEEgcG9zc2libGUgdmFsdWUgZm9yIHRoZSAqaG93KiBwYXJhbWV0ZXIgdG8gOmZ1bmM6YHB0aHJlYWRfc2lnbWFza2AKKyAgIGluZGljYXRpbmcgdGhhdCBzaWduYWxzIGFyZSB0byBiZSB1bmJsb2NrZWQuCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMworCisuLiBkYXRhOjogU0lHX1NFVE1BU0sKKworICAgQSBwb3NzaWJsZSB2YWx1ZSBmb3IgdGhlICpob3cqIHBhcmFtZXRlciB0byA6ZnVuYzpgcHRocmVhZF9zaWdtYXNrYAorICAgaW5kaWNhdGluZyB0aGF0IHRoZSBzaWduYWwgbWFzayBpcyB0byBiZSByZXBsYWNlZC4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy4zCisKKwogVGhlIDptb2Q6YHNpZ25hbGAgbW9kdWxlIGRlZmluZXMgb25lIGV4Y2VwdGlvbjoKIAogLi4gZXhjZXB0aW9uOjogSXRpbWVyRXJyb3IKQEAgLTEyNiw3ICsxNDUsMTEgQEAKICAgIFJhaXNlZCB0byBzaWduYWwgYW4gZXJyb3IgZnJvbSB0aGUgdW5kZXJseWluZyA6ZnVuYzpgc2V0aXRpbWVyYCBvcgogICAgOmZ1bmM6YGdldGl0aW1lcmAgaW1wbGVtZW50YXRpb24uIEV4cGVjdCB0aGlzIGVycm9yIGlmIGFuIGludmFsaWQKICAgIGludGVydmFsIHRpbWVyIG9yIGEgbmVnYXRpdmUgdGltZSBpcyBwYXNzZWQgdG8gOmZ1bmM6YHNldGl0aW1lcmAuCi0gICBUaGlzIGVycm9yIGlzIGEgc3VidHlwZSBvZiA6ZXhjOmBJT0Vycm9yYC4KKyAgIFRoaXMgZXJyb3IgaXMgYSBzdWJ0eXBlIG9mIDpleGM6YE9TRXJyb3JgLgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKKyAgICAgIFRoaXMgZXJyb3IgdXNlZCB0byBiZSBhIHN1YnR5cGUgb2YgOmV4YzpgSU9FcnJvcmAsIHdoaWNoIGlzIG5vdyBhbgorICAgICAgYWxpYXMgb2YgOmV4YzpgT1NFcnJvcmAuCiAKIAogVGhlIDptb2Q6YHNpZ25hbGAgbW9kdWxlIGRlZmluZXMgdGhlIGZvbGxvd2luZyBmdW5jdGlvbnM6CkBAIC0xNjAsNiArMTgzLDYwIEBACiAgICB3aWxsIHRoZW4gYmUgY2FsbGVkLiAgUmV0dXJucyBub3RoaW5nLiAgTm90IG9uIFdpbmRvd3MuIChTZWUgdGhlIFVuaXggbWFuIHBhZ2UKICAgIDptYW5wYWdlOmBzaWduYWwoMilgLikKIAorICAgU2VlIGFsc28gOmZ1bmM6YHNpZ3dhaXRgLCA6ZnVuYzpgc2lnd2FpdGluZm9gLCA6ZnVuYzpgc2lndGltZWR3YWl0YCBhbmQKKyAgIDpmdW5jOmBzaWdwZW5kaW5nYC4KKworCisuLiBmdW5jdGlvbjo6IHB0aHJlYWRfa2lsbCh0aHJlYWRfaWQsIHNpZ251bSkKKworICAgU2VuZCB0aGUgc2lnbmFsICpzaWdudW0qIHRvIHRoZSB0aHJlYWQgKnRocmVhZF9pZCosIGFub3RoZXIgdGhyZWFkIGluIHRoZSBzYW1lCisgICBwcm9jZXNzIGFzIHRoZSBjYWxsZXIuICBUaGUgc2lnbmFsIGlzIGFzeW5jaHJvbm91c2x5IGRpcmVjdGVkIHRvIHRocmVhZC4KKworICAgVXNlIDpmdW5jOmB0aHJlYWRpbmcuZ2V0X2lkZW50KClgIG9yIHRoZSA6YXR0cjpgfnRocmVhZGluZy5UaHJlYWQuaWRlbnRgCisgICBhdHRyaWJ1dGUgb2YgOmF0dHI6YHRocmVhZGluZy5UaHJlYWRgIHRvIGdldCBhICd0aHJlYWQgaWRlbnRpZmllcicgZm9yCisgICAqdGhyZWFkX2lkKi4KKworICAgSWYgKnNpZ251bSogaXMgMCwgdGhlbiBubyBzaWduYWwgaXMgc2VudCwgYnV0IGVycm9yIGNoZWNraW5nIGlzIHN0aWxsCisgICBwZXJmb3JtZWQ7IHRoaXMgY2FuIGJlIHVzZWQgdG8gY2hlY2sgaWYgYSB0aHJlYWQgaXMgc3RpbGwgcnVubmluZy4KKworICAgQXZhaWxhYmlsaXR5OiBVbml4IChzZWUgdGhlIG1hbiBwYWdlIDptYW5wYWdlOmBwdGhyZWFkX2tpbGwoMylgIGZvciBmdXJ0aGVyCisgICBpbmZvcm1hdGlvbikuCisKKyAgIFNlZSBhbHNvIDpmdW5jOmBvcy5raWxsYC4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy4zCisKKworLi4gZnVuY3Rpb246OiBwdGhyZWFkX3NpZ21hc2soaG93LCBtYXNrKQorCisgICBGZXRjaCBhbmQvb3IgY2hhbmdlIHRoZSBzaWduYWwgbWFzayBvZiB0aGUgY2FsbGluZyB0aHJlYWQuICBUaGUgc2lnbmFsIG1hc2sKKyAgIGlzIHRoZSBzZXQgb2Ygc2lnbmFscyB3aG9zZSBkZWxpdmVyeSBpcyBjdXJyZW50bHkgYmxvY2tlZCBmb3IgdGhlIGNhbGxlci4KKyAgIFJldHVybiB0aGUgb2xkIHNpZ25hbCBtYXNrIGFzIGEgc2V0IG9mIHNpZ25hbHMuCisKKyAgIFRoZSBiZWhhdmlvciBvZiB0aGUgY2FsbCBpcyBkZXBlbmRlbnQgb24gdGhlIHZhbHVlIG9mICpob3cqLCBhcyBmb2xsb3dzLgorCisgICAgKiA6ZGF0YTpgU0lHX0JMT0NLYDogVGhlIHNldCBvZiBibG9ja2VkIHNpZ25hbHMgaXMgdGhlIHVuaW9uIG9mIHRoZSBjdXJyZW50CisgICAgICBzZXQgYW5kIHRoZSAqbWFzayogYXJndW1lbnQuCisgICAgKiA6ZGF0YTpgU0lHX1VOQkxPQ0tgOiBUaGUgc2lnbmFscyBpbiAqbWFzayogYXJlIHJlbW92ZWQgZnJvbSB0aGUgY3VycmVudAorICAgICAgc2V0IG9mIGJsb2NrZWQgc2lnbmFscy4gIEl0IGlzIHBlcm1pc3NpYmxlIHRvIGF0dGVtcHQgdG8gdW5ibG9jayBhCisgICAgICBzaWduYWwgd2hpY2ggaXMgbm90IGJsb2NrZWQuCisgICAgKiA6ZGF0YTpgU0lHX1NFVE1BU0tgOiBUaGUgc2V0IG9mIGJsb2NrZWQgc2lnbmFscyBpcyBzZXQgdG8gdGhlICptYXNrKgorICAgICAgYXJndW1lbnQuCisKKyAgICptYXNrKiBpcyBhIHNldCBvZiBzaWduYWwgbnVtYmVycyAoZS5nLiB7OmNvbnN0OmBzaWduYWwuU0lHSU5UYCwKKyAgIDpjb25zdDpgc2lnbmFsLlNJR1RFUk1gfSkuIFVzZSBgYHJhbmdlKDEsIHNpZ25hbC5OU0lHKWBgIGZvciBhIGZ1bGwgbWFzaworICAgaW5jbHVkaW5nIGFsbCBzaWduYWxzLgorCisgICBGb3IgZXhhbXBsZSwgYGBzaWduYWwucHRocmVhZF9zaWdtYXNrKHNpZ25hbC5TSUdfQkxPQ0ssIFtdKWBgIHJlYWRzIHRoZQorICAgc2lnbmFsIG1hc2sgb2YgdGhlIGNhbGxpbmcgdGhyZWFkLgorCisgICBBdmFpbGFiaWxpdHk6IFVuaXguIFNlZSB0aGUgbWFuIHBhZ2UgOm1hbnBhZ2U6YHNpZ3Byb2NtYXNrKDMpYCBhbmQKKyAgIDptYW5wYWdlOmBwdGhyZWFkX3NpZ21hc2soMylgIGZvciBmdXJ0aGVyIGluZm9ybWF0aW9uLgorCisgICBTZWUgYWxzbyA6ZnVuYzpgcGF1c2VgLCA6ZnVuYzpgc2lncGVuZGluZ2AgYW5kIDpmdW5jOmBzaWd3YWl0YC4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy4zCisKIAogLi4gZnVuY3Rpb246OiBzZXRpdGltZXIod2hpY2gsIHNlY29uZHNbLCBpbnRlcnZhbF0pCiAKQEAgLTE4OSwxMyArMjY2LDE3IEBACiAKIC4uIGZ1bmN0aW9uOjogc2V0X3dha2V1cF9mZChmZCkKIAotICAgU2V0IHRoZSB3YWtldXAgZmQgdG8gKmZkKi4gIFdoZW4gYSBzaWduYWwgaXMgcmVjZWl2ZWQsIGEgYGAnXDAnYGAgYnl0ZSBpcwotICAgd3JpdHRlbiB0byB0aGUgZmQuICBUaGlzIGNhbiBiZSB1c2VkIGJ5IGEgbGlicmFyeSB0byB3YWtldXAgYSBwb2xsIG9yIHNlbGVjdAotICAgY2FsbCwgYWxsb3dpbmcgdGhlIHNpZ25hbCB0byBiZSBmdWxseSBwcm9jZXNzZWQuCisgICBTZXQgdGhlIHdha2V1cCBmaWxlIGRlc2NyaXB0b3IgdG8gKmZkKi4gIFdoZW4gYSBzaWduYWwgaXMgcmVjZWl2ZWQsIHRoZQorICAgc2lnbmFsIG51bWJlciBpcyB3cml0dGVuIGFzIGEgc2luZ2xlIGJ5dGUgaW50byB0aGUgZmQuICBUaGlzIGNhbiBiZSB1c2VkIGJ5CisgICBhIGxpYnJhcnkgdG8gd2FrZXVwIGEgcG9sbCBvciBzZWxlY3QgY2FsbCwgYWxsb3dpbmcgdGhlIHNpZ25hbCB0byBiZSBmdWxseQorICAgcHJvY2Vzc2VkLgogCiAgICBUaGUgb2xkIHdha2V1cCBmZCBpcyByZXR1cm5lZC4gICpmZCogbXVzdCBiZSBub24tYmxvY2tpbmcuICBJdCBpcyB1cCB0byB0aGUKICAgIGxpYnJhcnkgdG8gcmVtb3ZlIGFueSBieXRlcyBiZWZvcmUgY2FsbGluZyBwb2xsIG9yIHNlbGVjdCBhZ2Fpbi4KIAorICAgVXNlIGZvciBleGFtcGxlIGBgc3RydWN0LnVucGFjaygnJXVCJyAlIGxlbihkYXRhKSwgZGF0YSlgYCB0byBkZWNvZGUgdGhlCisgICBzaWduYWwgbnVtYmVycyBsaXN0LgorCiAgICBXaGVuIHRocmVhZHMgYXJlIGVuYWJsZWQsIHRoaXMgZnVuY3Rpb24gY2FuIG9ubHkgYmUgY2FsbGVkIGZyb20gdGhlIG1haW4gdGhyZWFkOwogICAgYXR0ZW1wdGluZyB0byBjYWxsIGl0IGZyb20gb3RoZXIgdGhyZWFkcyB3aWxsIGNhdXNlIGEgOmV4YzpgVmFsdWVFcnJvcmAKICAgIGV4Y2VwdGlvbiB0byBiZSByYWlzZWQuCkBAIC0yMzUsNiArMzE2LDczIEBACiAgICA6Y29uc3Q6YFNJR1RFUk1gLiBBIDpleGM6YFZhbHVlRXJyb3JgIHdpbGwgYmUgcmFpc2VkIGluIGFueSBvdGhlciBjYXNlLgogCiAKKy4uIGZ1bmN0aW9uOjogc2lncGVuZGluZygpCisKKyAgIEV4YW1pbmUgdGhlIHNldCBvZiBzaWduYWxzIHRoYXQgYXJlIHBlbmRpbmcgZm9yIGRlbGl2ZXJ5IHRvIHRoZSBjYWxsaW5nCisgICB0aHJlYWQgKGkuZS4sIHRoZSBzaWduYWxzIHdoaWNoIGhhdmUgYmVlbiByYWlzZWQgd2hpbGUgYmxvY2tlZCkuICBSZXR1cm4gdGhlCisgICBzZXQgb2YgdGhlIHBlbmRpbmcgc2lnbmFscy4KKworICAgQXZhaWxhYmlsaXR5OiBVbml4IChzZWUgdGhlIG1hbiBwYWdlIDptYW5wYWdlOmBzaWdwZW5kaW5nKDIpYCBmb3IgZnVydGhlcgorICAgaW5mb3JtYXRpb24pLgorCisgICBTZWUgYWxzbyA6ZnVuYzpgcGF1c2VgLCA6ZnVuYzpgcHRocmVhZF9zaWdtYXNrYCBhbmQgOmZ1bmM6YHNpZ3dhaXRgLgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKKworCisuLiBmdW5jdGlvbjo6IHNpZ3dhaXQoc2lnc2V0KQorCisgICBTdXNwZW5kIGV4ZWN1dGlvbiBvZiB0aGUgY2FsbGluZyB0aHJlYWQgdW50aWwgdGhlIGRlbGl2ZXJ5IG9mIG9uZSBvZiB0aGUKKyAgIHNpZ25hbHMgc3BlY2lmaWVkIGluIHRoZSBzaWduYWwgc2V0ICpzaWdzZXQqLiAgVGhlIGZ1bmN0aW9uIGFjY2VwdHMgdGhlIHNpZ25hbAorICAgKHJlbW92ZXMgaXQgZnJvbSB0aGUgcGVuZGluZyBsaXN0IG9mIHNpZ25hbHMpLCBhbmQgcmV0dXJucyB0aGUgc2lnbmFsIG51bWJlci4KKworICAgQXZhaWxhYmlsaXR5OiBVbml4IChzZWUgdGhlIG1hbiBwYWdlIDptYW5wYWdlOmBzaWd3YWl0KDMpYCBmb3IgZnVydGhlcgorICAgaW5mb3JtYXRpb24pLgorCisgICBTZWUgYWxzbyA6ZnVuYzpgcGF1c2VgLCA6ZnVuYzpgcHRocmVhZF9zaWdtYXNrYCwgOmZ1bmM6YHNpZ3BlbmRpbmdgLAorICAgOmZ1bmM6YHNpZ3dhaXRpbmZvYCBhbmQgOmZ1bmM6YHNpZ3RpbWVkd2FpdGAuCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMworCisKKy4uIGZ1bmN0aW9uOjogc2lnd2FpdGluZm8oc2lnc2V0KQorCisgICBTdXNwZW5kIGV4ZWN1dGlvbiBvZiB0aGUgY2FsbGluZyB0aHJlYWQgdW50aWwgdGhlIGRlbGl2ZXJ5IG9mIG9uZSBvZiB0aGUKKyAgIHNpZ25hbHMgc3BlY2lmaWVkIGluIHRoZSBzaWduYWwgc2V0ICpzaWdzZXQqLiAgVGhlIGZ1bmN0aW9uIGFjY2VwdHMgdGhlCisgICBzaWduYWwgYW5kIHJlbW92ZXMgaXQgZnJvbSB0aGUgcGVuZGluZyBsaXN0IG9mIHNpZ25hbHMuIElmIG9uZSBvZiB0aGUKKyAgIHNpZ25hbHMgaW4gKnNpZ3NldCogaXMgYWxyZWFkeSBwZW5kaW5nIGZvciB0aGUgY2FsbGluZyB0aHJlYWQsIHRoZSBmdW5jdGlvbgorICAgd2lsbCByZXR1cm4gaW1tZWRpYXRlbHkgd2l0aCBpbmZvcm1hdGlvbiBhYm91dCB0aGF0IHNpZ25hbC4gVGhlIHNpZ25hbAorICAgaGFuZGxlciBpcyBub3QgY2FsbGVkIGZvciB0aGUgZGVsaXZlcmVkIHNpZ25hbC4gVGhlIGZ1bmN0aW9uIHJhaXNlcyBhbgorICAgOmV4YzpgSW50ZXJydXB0ZWRFcnJvcmAgaWYgaXQgaXMgaW50ZXJydXB0ZWQgYnkgYSBzaWduYWwgdGhhdCBpcyBub3QgaW4KKyAgICpzaWdzZXQqLgorCisgICBUaGUgcmV0dXJuIHZhbHVlIGlzIGFuIG9iamVjdCByZXByZXNlbnRpbmcgdGhlIGRhdGEgY29udGFpbmVkIGluIHRoZQorICAgOmM6dHlwZTpgc2lnaW5mb190YCBzdHJ1Y3R1cmUsIG5hbWVseTogOmF0dHI6YHNpX3NpZ25vYCwgOmF0dHI6YHNpX2NvZGVgLAorICAgOmF0dHI6YHNpX2Vycm5vYCwgOmF0dHI6YHNpX3BpZGAsIDphdHRyOmBzaV91aWRgLCA6YXR0cjpgc2lfc3RhdHVzYCwKKyAgIDphdHRyOmBzaV9iYW5kYC4KKworICAgQXZhaWxhYmlsaXR5OiBVbml4IChzZWUgdGhlIG1hbiBwYWdlIDptYW5wYWdlOmBzaWd3YWl0aW5mbygyKWAgZm9yIGZ1cnRoZXIKKyAgIGluZm9ybWF0aW9uKS4KKworICAgU2VlIGFsc28gOmZ1bmM6YHBhdXNlYCwgOmZ1bmM6YHNpZ3dhaXRgIGFuZCA6ZnVuYzpgc2lndGltZWR3YWl0YC4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy4zCisKKworLi4gZnVuY3Rpb246OiBzaWd0aW1lZHdhaXQoc2lnc2V0LCB0aW1lb3V0KQorCisgICBMaWtlIDpmdW5jOmBzaWd3YWl0aW5mb2AsIGJ1dCB0YWtlcyBhbiBhZGRpdGlvbmFsICp0aW1lb3V0KiBhcmd1bWVudAorICAgc3BlY2lmeWluZyBhIHRpbWVvdXQuIElmICp0aW1lb3V0KiBpcyBzcGVjaWZpZWQgYXMgOmNvbnN0OmAwYCwgYSBwb2xsIGlzCisgICBwZXJmb3JtZWQuIFJldHVybnMgOmNvbnN0OmBOb25lYCBpZiBhIHRpbWVvdXQgb2NjdXJzLgorCisgICBBdmFpbGFiaWxpdHk6IFVuaXggKHNlZSB0aGUgbWFuIHBhZ2UgOm1hbnBhZ2U6YHNpZ3RpbWVkd2FpdCgyKWAgZm9yIGZ1cnRoZXIKKyAgIGluZm9ybWF0aW9uKS4KKworICAgU2VlIGFsc28gOmZ1bmM6YHBhdXNlYCwgOmZ1bmM6YHNpZ3dhaXRgIGFuZCA6ZnVuYzpgc2lnd2FpdGluZm9gLgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKKworCiAuLiBfc2lnbmFsLWV4YW1wbGU6CiAKIEV4YW1wbGUKQEAgLTI1MSw3ICszOTksNyBAQAogCiAgICBkZWYgaGFuZGxlcihzaWdudW0sIGZyYW1lKToKICAgICAgICBwcmludCgnU2lnbmFsIGhhbmRsZXIgY2FsbGVkIHdpdGggc2lnbmFsJywgc2lnbnVtKQotICAgICAgIHJhaXNlIElPRXJyb3IoIkNvdWxkbid0IG9wZW4gZGV2aWNlISIpCisgICAgICAgcmFpc2UgT1NFcnJvcigiQ291bGRuJ3Qgb3BlbiBkZXZpY2UhIikKIAogICAgIyBTZXQgdGhlIHNpZ25hbCBoYW5kbGVyIGFuZCBhIDUtc2Vjb25kIGFsYXJtCiAgICBzaWduYWwuc2lnbmFsKHNpZ25hbC5TSUdBTFJNLCBoYW5kbGVyKQpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvc2l0ZS5yc3QgYi9Eb2MvbGlicmFyeS9zaXRlLnJzdAppbmRleCBkYjk2YWRkLi5iOTg3ODk3IDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9zaXRlLnJzdAorKysgYi9Eb2MvbGlicmFyeS9zaXRlLnJzdApAQCAtMTYsNyArMTYsMTQgQEAKIC4uIGluZGV4OjogdHJpcGxlOiBtb2R1bGU7IHNlYXJjaDsgcGF0aAogCiBJbXBvcnRpbmcgdGhpcyBtb2R1bGUgd2lsbCBhcHBlbmQgc2l0ZS1zcGVjaWZpYyBwYXRocyB0byB0aGUgbW9kdWxlIHNlYXJjaCBwYXRoCi1hbmQgYWRkIGEgZmV3IGJ1aWx0aW5zLgorYW5kIGFkZCBhIGZldyBidWlsdGlucywgdW5sZXNzIDpvcHRpb246YC1TYCB3YXMgdXNlZC4gIEluIHRoYXQgY2FzZSwgdGhpcyBtb2R1bGUKK2NhbiBiZSBzYWZlbHkgaW1wb3J0ZWQgd2l0aCBubyBhdXRvbWF0aWMgbW9kaWZpY2F0aW9ucyB0byB0aGUgbW9kdWxlIHNlYXJjaCBwYXRoCitvciBhZGRpdGlvbnMgdG8gdGhlIGJ1aWx0aW5zLiAgVG8gZXhwbGljaXRseSB0cmlnZ2VyIHRoZSB1c3VhbCBzaXRlLXNwZWNpZmljCithZGRpdGlvbnMsIGNhbGwgdGhlIDpmdW5jOmBzaXRlLm1haW5gIGZ1bmN0aW9uLgorCisuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMworICAgSW1wb3J0aW5nIHRoZSBtb2R1bGUgdXNlZCB0byB0cmlnZ2VyIHBhdGhzIG1hbmlwdWxhdGlvbiBldmVuIHdoZW4gdXNpbmcKKyAgIDpvcHRpb246YC1TYC4KIAogLi4gaW5kZXg6OgogICAgcGFpcjogc2l0ZS1weXRob247IGRpcmVjdG9yeQpAQCAtMTI3LDEwICsxMzQsMjEgQEAKICAgIDpmdW5jOmBnZXR1c2VyYmFzZWAgaGFzbid0IGJlZW4gY2FsbGVkIHlldC4gIERlZmF1bHQgdmFsdWUgaXMKICAgIDpmaWxlOmB+Ly5sb2NhbGAgZm9yIFVOSVggYW5kIE1hYyBPUyBYIG5vbi1mcmFtZXdvcmsgYnVpbGRzLAogICAgOmZpbGU6YH4vTGlicmFyeS9QeXRob24ve1guWX1gIGZvciBNYWMgZnJhbWV3b3JrIGJ1aWxkcywgYW5kCi0gICA6ZmlsZTpgeyVBUFBEQVRBJX1cXFB5dGhvbmAgZm9yIFdpbmRvd3MuICBUaGlzIHZhbHVlIGlzIHVzZWQgYnkgRGlzdHV0aWxzIHRvCisgICA6ZmlsZTpgeyVBUFBEQVRBJX1cXFB5dGhvbmAgZm9yIFdpbmRvd3MuICBUaGlzIHZhbHVlIGlzIHVzZWQgYnkgUGFja2FnaW5nIHRvCiAgICBjb21wdXRlIHRoZSBpbnN0YWxsYXRpb24gZGlyZWN0b3JpZXMgZm9yIHNjcmlwdHMsIGRhdGEgZmlsZXMsIFB5dGhvbiBtb2R1bGVzLAotICAgZXRjLiBmb3IgdGhlIDpyZWY6YHVzZXIgaW5zdGFsbGF0aW9uIHNjaGVtZSA8aW5zdC1hbHQtaW5zdGFsbC11c2VyPmAuICBTZWUKLSAgIGFsc28gOmVudnZhcjpgUFlUSE9OVVNFUkJBU0VgLgorICAgZXRjLiBmb3IgdGhlIDpyZWY6YHVzZXIgaW5zdGFsbGF0aW9uIHNjaGVtZSA8cGFja2FnaW5nLWFsdC1pbnN0YWxsLXVzZXI+YC4KKyAgIFNlZSBhbHNvIDplbnZ2YXI6YFBZVEhPTlVTRVJCQVNFYC4KKworCisuLiBmdW5jdGlvbjo6IG1haW4oKQorCisgICBBZGRzIGFsbCB0aGUgc3RhbmRhcmQgc2l0ZS1zcGVjaWZpYyBkaXJlY3RvcmllcyB0byB0aGUgbW9kdWxlIHNlYXJjaAorICAgcGF0aC4gIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIGF1dG9tYXRpY2FsbHkgd2hlbiB0aGlzIG1vZHVsZSBpcyBpbXBvcnRlZCwKKyAgIHVubGVzcyB0aGUgOnByb2dyYW06YHB5dGhvbmAgaW50ZXJwcmV0ZXIgd2FzIHN0YXJ0ZWQgd2l0aCB0aGUgOm9wdGlvbjpgLVNgCisgICBmbGFnLgorCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMworICAgICAgVGhpcyBmdW5jdGlvbiB1c2VkIHRvIGJlIGNhbGxlZCB1bmNvbmRpdGlvbm5hbGx5LgogCiAKIC4uIGZ1bmN0aW9uOjogYWRkc2l0ZWRpcihzaXRlZGlyLCBrbm93bl9wYXRocz1Ob25lKQpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvc210cGxpYi5yc3QgYi9Eb2MvbGlicmFyeS9zbXRwbGliLnJzdAppbmRleCAzMTAxYWI3Li40NWM1ZDZkIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9zbXRwbGliLnJzdAorKysgYi9Eb2MvbGlicmFyeS9zbXRwbGliLnJzdApAQCAtMjAsNyArMjAsNyBAQAogUHJvdG9jb2wpIGFuZCA6cmZjOmAxODY5YCAoU01UUCBTZXJ2aWNlIEV4dGVuc2lvbnMpLgogCiAKLS4uIGNsYXNzOjogU01UUChob3N0PScnLCBwb3J0PTAsIGxvY2FsX2hvc3RuYW1lPU5vbmVbLCB0aW1lb3V0XSkKKy4uIGNsYXNzOjogU01UUChob3N0PScnLCBwb3J0PTAsIGxvY2FsX2hvc3RuYW1lPU5vbmVbLCB0aW1lb3V0XSwgc291cmNlX2FkZHJlc3M9Tm9uZSkKIAogICAgQSA6Y2xhc3M6YFNNVFBgIGluc3RhbmNlIGVuY2Fwc3VsYXRlcyBhbiBTTVRQIGNvbm5lY3Rpb24uICBJdCBoYXMgbWV0aG9kcwogICAgdGhhdCBzdXBwb3J0IGEgZnVsbCByZXBlcnRvaXJlIG9mIFNNVFAgYW5kIEVTTVRQIG9wZXJhdGlvbnMuIElmIHRoZSBvcHRpb25hbApAQCAtMjksMTMgKzI5LDM0IEBACiAgICByYWlzZWQgaWYgdGhlIHNwZWNpZmllZCBob3N0IGRvZXNuJ3QgcmVzcG9uZCBjb3JyZWN0bHkuIFRoZSBvcHRpb25hbAogICAgKnRpbWVvdXQqIHBhcmFtZXRlciBzcGVjaWZpZXMgYSB0aW1lb3V0IGluIHNlY29uZHMgZm9yIGJsb2NraW5nIG9wZXJhdGlvbnMKICAgIGxpa2UgdGhlIGNvbm5lY3Rpb24gYXR0ZW1wdCAoaWYgbm90IHNwZWNpZmllZCwgdGhlIGdsb2JhbCBkZWZhdWx0IHRpbWVvdXQKLSAgIHNldHRpbmcgd2lsbCBiZSB1c2VkKS4KKyAgIHNldHRpbmcgd2lsbCBiZSB1c2VkKS4gVGhlIG9wdGlvbmFsIHNvdXJjZV9hZGRyZXNzIHBhcmFtZXRlciBhbGxvd3MgdG8gYmluZCB0byBzb21lCisgICBzcGVjaWZpYyBzb3VyY2UgYWRkcmVzcyBpbiBhIG1hY2hpbmUgd2l0aCBtdWx0aXBsZSBuZXR3b3JrIGludGVyZmFjZXMsCisgICBhbmQvb3IgdG8gc29tZSBzcGVjaWZpYyBzb3VyY2UgVENQIHBvcnQuIEl0IHRha2VzIGEgMi10dXBsZSAoaG9zdCwgcG9ydCksCisgICBmb3IgdGhlIHNvY2tldCB0byBiaW5kIHRvIGFzIGl0cyBzb3VyY2UgYWRkcmVzcyBiZWZvcmUgY29ubmVjdGluZy4gSWYKKyAgIG9taXR0ZWQgKG9yIGlmIGhvc3Qgb3IgcG9ydCBhcmUgYGAnJ2BgIGFuZC9vciAwIHJlc3BlY3RpdmVseSkgdGhlIE9TIGRlZmF1bHQKKyAgIGJlaGF2aW9yIHdpbGwgYmUgdXNlZC4KIAogICAgRm9yIG5vcm1hbCB1c2UsIHlvdSBzaG91bGQgb25seSByZXF1aXJlIHRoZSBpbml0aWFsaXphdGlvbi9jb25uZWN0LAogICAgOm1ldGg6YHNlbmRtYWlsYCwgYW5kIDptZXRoOmBxdWl0YCBtZXRob2RzLiAgQW4gZXhhbXBsZSBpcyBpbmNsdWRlZCBiZWxvdy4KIAorICAgVGhlIDpjbGFzczpgU01UUGAgY2xhc3Mgc3VwcG9ydHMgdGhlIDprZXl3b3JkOmB3aXRoYCBzdGF0ZW1lbnQuICBXaGVuIHVzZWQKKyAgIGxpa2UgdGhpcywgdGhlIFNNVFAgYGBRVUlUYGAgY29tbWFuZCBpcyBpc3N1ZWQgYXV0b21hdGljYWxseSB3aGVuIHRoZQorICAgOmtleXdvcmQ6YHdpdGhgIHN0YXRlbWVudCBleGl0cy4gIEUuZy46OgogCi0uLiBjbGFzczo6IFNNVFBfU1NMKGhvc3Q9JycsIHBvcnQ9MCwgbG9jYWxfaG9zdG5hbWU9Tm9uZSwga2V5ZmlsZT1Ob25lLCBjZXJ0ZmlsZT1Ob25lWywgdGltZW91dF0pCisgICAgPj4+IGZyb20gc210cGxpYiBpbXBvcnQgU01UUAorICAgID4+PiB3aXRoIFNNVFAoImRvbWFpbi5vcmciKSBhcyBzbXRwOgorICAgIC4uLiAgICAgc210cC5ub29wKCkKKyAgICAuLi4KKyAgICAoMjUwLCBiJ09rJykKKyAgICA+Pj4KKworICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjMKKyAgICAgIFN1cHBvcnQgZm9yIHRoZSA6a2V5d29yZDpgd2l0aGAgc3RhdGVtZW50IHdhcyBhZGRlZC4KKworICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjMKKyAgICAgIHNvdXJjZV9hZGRyZXNzIGFyZ3VtZW50IHdhcyBhZGRlZC4KKworLi4gY2xhc3M6OiBTTVRQX1NTTChob3N0PScnLCBwb3J0PTAsIGxvY2FsX2hvc3RuYW1lPU5vbmUsIGtleWZpbGU9Tm9uZSwgY2VydGZpbGU9Tm9uZVssIHRpbWVvdXRdLCBjb250ZXh0PU5vbmUsIHNvdXJjZV9hZGRyZXNzPU5vbmUpCiAKICAgIEEgOmNsYXNzOmBTTVRQX1NTTGAgaW5zdGFuY2UgYmVoYXZlcyBleGFjdGx5IHRoZSBzYW1lIGFzIGluc3RhbmNlcyBvZgogICAgOmNsYXNzOmBTTVRQYC4gOmNsYXNzOmBTTVRQX1NTTGAgc2hvdWxkIGJlIHVzZWQgZm9yIHNpdHVhdGlvbnMgd2hlcmUgU1NMIGlzCkBAIC00MywxOCArNjQsMzMgQEAKICAgIG5vdCBhcHByb3ByaWF0ZS4gSWYgKmhvc3QqIGlzIG5vdCBzcGVjaWZpZWQsIHRoZSBsb2NhbCBob3N0IGlzIHVzZWQuIElmCiAgICAqcG9ydCogaXMgemVybywgdGhlIHN0YW5kYXJkIFNNVFAtb3Zlci1TU0wgcG9ydCAoNDY1KSBpcyB1c2VkLiAqa2V5ZmlsZSoKICAgIGFuZCAqY2VydGZpbGUqIGFyZSBhbHNvIG9wdGlvbmFsLCBhbmQgY2FuIGNvbnRhaW4gYSBQRU0gZm9ybWF0dGVkIHByaXZhdGUga2V5Ci0gICBhbmQgY2VydGlmaWNhdGUgY2hhaW4gZmlsZSBmb3IgdGhlIFNTTCBjb25uZWN0aW9uLiBUaGUgb3B0aW9uYWwgKnRpbWVvdXQqCisgICBhbmQgY2VydGlmaWNhdGUgY2hhaW4gZmlsZSBmb3IgdGhlIFNTTCBjb25uZWN0aW9uLiAqY29udGV4dCogYWxzbyBvcHRpb25hbCwgY2FuIGNvbnRhaW4KKyAgIGEgU1NMQ29udGV4dCwgYW5kIGlzIGFuIGFsdGVybmF0aXZlIHRvIGtleWZpbGUgYW5kIGNlcnRmaWxlOyBJZiBpdCBpcyBzcGVjaWZpZWQgYm90aAorICAga2V5ZmlsZSBhbmQgY2VydGZpbGUgbXVzdCBiZSBOb25lLiAgVGhlIG9wdGlvbmFsICp0aW1lb3V0KgogICAgcGFyYW1ldGVyIHNwZWNpZmllcyBhIHRpbWVvdXQgaW4gc2Vjb25kcyBmb3IgYmxvY2tpbmcgb3BlcmF0aW9ucyBsaWtlIHRoZQogICAgY29ubmVjdGlvbiBhdHRlbXB0IChpZiBub3Qgc3BlY2lmaWVkLCB0aGUgZ2xvYmFsIGRlZmF1bHQgdGltZW91dCBzZXR0aW5nCi0gICB3aWxsIGJlIHVzZWQpLgorICAgd2lsbCBiZSB1c2VkKS4gVGhlIG9wdGlvbmFsIHNvdXJjZV9hZGRyZXNzIHBhcmFtZXRlciBhbGxvd3MgdG8gYmluZCB0byBzb21lCisgICBzcGVjaWZpYyBzb3VyY2UgYWRkcmVzcyBpbiBhIG1hY2hpbmUgd2l0aCBtdWx0aXBsZSBuZXR3b3JrIGludGVyZmFjZXMsCisgICBhbmQvb3IgdG8gc29tZSBzcGVjaWZpYyBzb3VyY2UgdGNwIHBvcnQuIEl0IHRha2VzIGEgMi10dXBsZSAoaG9zdCwgcG9ydCksCisgICBmb3IgdGhlIHNvY2tldCB0byBiaW5kIHRvIGFzIGl0cyBzb3VyY2UgYWRkcmVzcyBiZWZvcmUgY29ubmVjdGluZy4gSWYKKyAgIG9taXR0ZWQgKG9yIGlmIGhvc3Qgb3IgcG9ydCBhcmUgYGAnJ2BgIGFuZC9vciAwIHJlc3BlY3RpdmVseSkgdGhlIE9TIGRlZmF1bHQKKyAgIGJlaGF2aW9yIHdpbGwgYmUgdXNlZC4KKworICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjMKKyAgICAgICpjb250ZXh0KiB3YXMgYWRkZWQuCisKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy4zCisgICAgICBzb3VyY2VfYWRkcmVzcyBhcmd1bWVudCB3YXMgYWRkZWQuCiAKIAotLi4gY2xhc3M6OiBMTVRQKGhvc3Q9JycsIHBvcnQ9TE1UUF9QT1JULCBsb2NhbF9ob3N0bmFtZT1Ob25lKQorLi4gY2xhc3M6OiBMTVRQKGhvc3Q9JycsIHBvcnQ9TE1UUF9QT1JULCBsb2NhbF9ob3N0bmFtZT1Ob25lLCBzb3VyY2VfYWRkcmVzcz1Ob25lKQogCiAgICBUaGUgTE1UUCBwcm90b2NvbCwgd2hpY2ggaXMgdmVyeSBzaW1pbGFyIHRvIEVTTVRQLCBpcyBoZWF2aWx5IGJhc2VkIG9uIHRoZQotICAgc3RhbmRhcmQgU01UUCBjbGllbnQuIEl0J3MgY29tbW9uIHRvIHVzZSBVbml4IHNvY2tldHMgZm9yIExNVFAsIHNvIG91ciA6bWV0aDpgY29ubmVjdGAKLSAgIG1ldGhvZCBtdXN0IHN1cHBvcnQgdGhhdCBhcyB3ZWxsIGFzIGEgcmVndWxhciBob3N0OnBvcnQgc2VydmVyLiBUbyBzcGVjaWZ5IGEKLSAgIFVuaXggc29ja2V0LCB5b3UgbXVzdCB1c2UgYW4gYWJzb2x1dGUgcGF0aCBmb3IgKmhvc3QqLCBzdGFydGluZyB3aXRoIGEgJy8nLgorICAgc3RhbmRhcmQgU01UUCBjbGllbnQuIEl0J3MgY29tbW9uIHRvIHVzZSBVbml4IHNvY2tldHMgZm9yIExNVFAsIHNvIG91cgorICAgOm1ldGg6YGNvbm5lY3RgIG1ldGhvZCBtdXN0IHN1cHBvcnQgdGhhdCBhcyB3ZWxsIGFzIGEgcmVndWxhciBob3N0OnBvcnQKKyAgIHNlcnZlci4gVGhlIG9wdGlvbmFsIGFyZ3VtZW50cyBsb2NhbF9ob3N0bmFtZSBhbmQgc291cmNlX2FkZHJlc3MgaGF2ZSB0aGUKKyAgIHNhbWUgbWVhbmluZyBhcyB0aGF0IG9mIFNNVFAgY2xpZW50LiBUbyBzcGVjaWZ5IGEgVW5peCBzb2NrZXQsIHlvdSBtdXN0IHVzZQorICAgYW4gYWJzb2x1dGUgcGF0aCBmb3IgKmhvc3QqLCBzdGFydGluZyB3aXRoIGEgJy8nLgogCiAgICBBdXRoZW50aWNhdGlvbiBpcyBzdXBwb3J0ZWQsIHVzaW5nIHRoZSByZWd1bGFyIFNNVFAgbWVjaGFuaXNtLiBXaGVuIHVzaW5nIGEgVW5peAogICAgc29ja2V0LCBMTVRQIGdlbmVyYWxseSBkb24ndCBzdXBwb3J0IG9yIHJlcXVpcmUgYW55IGF1dGhlbnRpY2F0aW9uLCBidXQgeW91cgpAQCAtMjQyLDcgKzI3OCw3IEBACiAgICAgICBObyBzdWl0YWJsZSBhdXRoZW50aWNhdGlvbiBtZXRob2Qgd2FzIGZvdW5kLgogCiAKLS4uIG1ldGhvZDo6IFNNVFAuc3RhcnR0bHMoa2V5ZmlsZT1Ob25lLCBjZXJ0ZmlsZT1Ob25lKQorLi4gbWV0aG9kOjogU01UUC5zdGFydHRscyhrZXlmaWxlPU5vbmUsIGNlcnRmaWxlPU5vbmUsIGNvbnRleHQ9Tm9uZSkKIAogICAgUHV0IHRoZSBTTVRQIGNvbm5lY3Rpb24gaW4gVExTIChUcmFuc3BvcnQgTGF5ZXIgU2VjdXJpdHkpIG1vZGUuICBBbGwgU01UUAogICAgY29tbWFuZHMgdGhhdCBmb2xsb3cgd2lsbCBiZSBlbmNyeXB0ZWQuICBZb3Ugc2hvdWxkIHRoZW4gY2FsbCA6bWV0aDpgZWhsb2AKQEAgLTI1MSw2ICsyODcsOSBAQAogICAgSWYgKmtleWZpbGUqIGFuZCAqY2VydGZpbGUqIGFyZSBwcm92aWRlZCwgdGhlc2UgYXJlIHBhc3NlZCB0byB0aGUgOm1vZDpgc29ja2V0YAogICAgbW9kdWxlJ3MgOmZ1bmM6YHNzbGAgZnVuY3Rpb24uCiAKKyAgIE9wdGlvbmFsICpjb250ZXh0KiBwYXJhbWV0ZXIgaXMgYSA6Y2xhc3M6YHNzbC5TU0xDb250ZXh0YCBvYmplY3Q7IFRoaXMgaXMgYW4gYWx0ZXJuYXRpdmUgdG8KKyAgIHVzaW5nIGEga2V5ZmlsZSBhbmQgYSBjZXJ0ZmlsZSBhbmQgaWYgc3BlY2lmaWVkIGJvdGggKmtleWZpbGUqIGFuZCAqY2VydGZpbGUqIHNob3VsZCBiZSBOb25lLgorCiAgICBJZiB0aGVyZSBoYXMgYmVlbiBubyBwcmV2aW91cyBgYEVITE9gYCBvciBgYEhFTE9gYCBjb21tYW5kIHRoaXMgc2Vzc2lvbiwKICAgIHRoaXMgbWV0aG9kIHRyaWVzIEVTTVRQIGBgRUhMT2BgIGZpcnN0LgogCkBAIC0yNjMsNiArMzAyLDkgQEAKICAgIDpleGM6YFJ1bnRpbWVFcnJvcmAKICAgICAgU1NML1RMUyBzdXBwb3J0IGlzIG5vdCBhdmFpbGFibGUgdG8geW91ciBQeXRob24gaW50ZXJwcmV0ZXIuCiAKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy4zCisgICAgICAqY29udGV4dCogd2FzIGFkZGVkLgorCiAKIC4uIG1ldGhvZDo6IFNNVFAuc2VuZG1haWwoZnJvbV9hZGRyLCB0b19hZGRycywgbXNnLCBtYWlsX29wdGlvbnM9W10sIHJjcHRfb3B0aW9ucz1bXSkKIApkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvc29ja2V0LnJzdCBiL0RvYy9saWJyYXJ5L3NvY2tldC5yc3QKaW5kZXggZjIzNmQzMC4uNjlmYTM3OCAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvc29ja2V0LnJzdAorKysgYi9Eb2MvbGlicmFyeS9zb2NrZXQucnN0CkBAIC00MCw5ICs0MCwyMyBAQAogRGVwZW5kaW5nIG9uIHRoZSBzeXN0ZW0gYW5kIHRoZSBidWlsZCBvcHRpb25zLCB2YXJpb3VzIHNvY2tldCBmYW1pbGllcwogYXJlIHN1cHBvcnRlZCBieSB0aGlzIG1vZHVsZS4KIAotU29ja2V0IGFkZHJlc3NlcyBhcmUgcmVwcmVzZW50ZWQgYXMgZm9sbG93czoKK1RoZSBhZGRyZXNzIGZvcm1hdCByZXF1aXJlZCBieSBhIHBhcnRpY3VsYXIgc29ja2V0IG9iamVjdCBpcyBhdXRvbWF0aWNhbGx5CitzZWxlY3RlZCBiYXNlZCBvbiB0aGUgYWRkcmVzcyBmYW1pbHkgc3BlY2lmaWVkIHdoZW4gdGhlIHNvY2tldCBvYmplY3Qgd2FzCitjcmVhdGVkLiAgU29ja2V0IGFkZHJlc3NlcyBhcmUgcmVwcmVzZW50ZWQgYXMgZm9sbG93czoKIAotLSBBIHNpbmdsZSBzdHJpbmcgaXMgdXNlZCBmb3IgdGhlIDpjb25zdDpgQUZfVU5JWGAgYWRkcmVzcyBmYW1pbHkuCistIFRoZSBhZGRyZXNzIG9mIGFuIDpjb25zdDpgQUZfVU5JWGAgc29ja2V0IGJvdW5kIHRvIGEgZmlsZSBzeXN0ZW0gbm9kZQorICBpcyByZXByZXNlbnRlZCBhcyBhIHN0cmluZywgdXNpbmcgdGhlIGZpbGUgc3lzdGVtIGVuY29kaW5nIGFuZCB0aGUKKyAgYGAnc3Vycm9nYXRlZXNjYXBlJ2BgIGVycm9yIGhhbmRsZXIgKHNlZSA6cGVwOmAzODNgKS4gIEFuIGFkZHJlc3MgaW4KKyAgTGludXgncyBhYnN0cmFjdCBuYW1lc3BhY2UgaXMgcmV0dXJuZWQgYXMgYSA6Y2xhc3M6YGJ5dGVzYCBvYmplY3Qgd2l0aAorICBhbiBpbml0aWFsIG51bGwgYnl0ZTsgbm90ZSB0aGF0IHNvY2tldHMgaW4gdGhpcyBuYW1lc3BhY2UgY2FuCisgIGNvbW11bmljYXRlIHdpdGggbm9ybWFsIGZpbGUgc3lzdGVtIHNvY2tldHMsIHNvIHByb2dyYW1zIGludGVuZGVkIHRvCisgIHJ1biBvbiBMaW51eCBtYXkgbmVlZCB0byBkZWFsIHdpdGggYm90aCB0eXBlcyBvZiBhZGRyZXNzLiAgQSBzdHJpbmcgb3IKKyAgOmNsYXNzOmBieXRlc2Agb2JqZWN0IGNhbiBiZSB1c2VkIGZvciBlaXRoZXIgdHlwZSBvZiBhZGRyZXNzIHdoZW4KKyAgcGFzc2luZyBpdCBhcyBhbiBhcmd1bWVudC4KKworICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjMKKyAgICAgIFByZXZpb3VzbHksIDpjb25zdDpgQUZfVU5JWGAgc29ja2V0IHBhdGhzIHdlcmUgYXNzdW1lZCB0byB1c2UgVVRGLTgKKyAgICAgIGVuY29kaW5nLgogCiAtIEEgcGFpciBgYChob3N0LCBwb3J0KWBgIGlzIHVzZWQgZm9yIHRoZSA6Y29uc3Q6YEFGX0lORVRgIGFkZHJlc3MgZmFtaWx5LAogICB3aGVyZSAqaG9zdCogaXMgYSBzdHJpbmcgcmVwcmVzZW50aW5nIGVpdGhlciBhIGhvc3RuYW1lIGluIEludGVybmV0IGRvbWFpbgpAQCAtODAsNiArOTQsMTkgQEAKICAgICBJZiAqYWRkcl90eXBlKiBpcyA6Y29uc3Q6YFRJUENfQUREUl9JRGAsIHRoZW4gKnYxKiBpcyB0aGUgbm9kZSwgKnYyKiBpcyB0aGUKICAgICByZWZlcmVuY2UsIGFuZCAqdjMqIHNob3VsZCBiZSBzZXQgdG8gMC4KIAorLSBBIHR1cGxlIGBgKGludGVyZmFjZSwgKWBgIGlzIHVzZWQgZm9yIHRoZSA6Y29uc3Q6YEFGX0NBTmAgYWRkcmVzcyBmYW1pbHksCisgIHdoZXJlICppbnRlcmZhY2UqIGlzIGEgc3RyaW5nIHJlcHJlc2VudGluZyBhIG5ldHdvcmsgaW50ZXJmYWNlIG5hbWUgbGlrZQorICBgYCdjYW4wJ2BgLiBUaGUgbmV0d29yayBpbnRlcmZhY2UgbmFtZSBgYCcnYGAgY2FuIGJlIHVzZWQgdG8gcmVjZWl2ZSBwYWNrZXRzCisgIGZyb20gYWxsIG5ldHdvcmsgaW50ZXJmYWNlcyBvZiB0aGlzIGZhbWlseS4KKworLSBBIHN0cmluZyBvciBhIHR1cGxlIGBgKGlkLCB1bml0KWBgIGlzIHVzZWQgZm9yIHRoZSA6Y29uc3Q6YFNZU1BST1RPX0NPTlRST0xgCisgIHByb3RvY29sIG9mIHRoZSA6Y29uc3Q6YFBGX1NZU1RFTWAgZmFtaWx5LiBUaGUgc3RyaW5nIGlzIHRoZSBuYW1lIG9mIGEKKyAga2VybmVsIGNvbnRyb2wgdXNpbmcgYSBkeW5hbWljYWxseS1hc3NpZ25lZCBJRC4gVGhlIHR1cGxlIGNhbiBiZSB1c2VkIGlmIElECisgIGFuZCB1bml0IG51bWJlciBvZiB0aGUga2VybmVsIGNvbnRyb2wgYXJlIGtub3duIG9yIGlmIGEgcmVnaXN0ZXJlZCBJRCBpcworICB1c2VkLgorCisgIC4uIHZlcnNpb25hZGRlZDo6IDMuMworCiAtIENlcnRhaW4gb3RoZXIgYWRkcmVzcyBmYW1pbGllcyAoOmNvbnN0OmBBRl9CTFVFVE9PVEhgLCA6Y29uc3Q6YEFGX1BBQ0tFVGApCiAgIHN1cHBvcnQgc3BlY2lmaWMgcmVwcmVzZW50YXRpb25zLgogCkBAIC05OSw4ICsxMjYsOSBAQAogbnVtZXJpYyBhZGRyZXNzIGluICpob3N0KiBwb3J0aW9uLgogCiBBbGwgZXJyb3JzIHJhaXNlIGV4Y2VwdGlvbnMuICBUaGUgbm9ybWFsIGV4Y2VwdGlvbnMgZm9yIGludmFsaWQgYXJndW1lbnQgdHlwZXMKLWFuZCBvdXQtb2YtbWVtb3J5IGNvbmRpdGlvbnMgY2FuIGJlIHJhaXNlZDsgZXJyb3JzIHJlbGF0ZWQgdG8gc29ja2V0IG9yIGFkZHJlc3MKLXNlbWFudGljcyByYWlzZSA6ZXhjOmBzb2NrZXQuZXJyb3JgIG9yIG9uZSBvZiBpdHMgc3ViY2xhc3Nlcy4KK2FuZCBvdXQtb2YtbWVtb3J5IGNvbmRpdGlvbnMgY2FuIGJlIHJhaXNlZDsgc3RhcnRpbmcgZnJvbSBQeXRob24gMy4zLCBlcnJvcnMKK3JlbGF0ZWQgdG8gc29ja2V0IG9yIGFkZHJlc3Mgc2VtYW50aWNzIHJhaXNlIDpleGM6YE9TRXJyb3JgIG9yIG9uZSBvZiBpdHMKK3N1YmNsYXNzZXMgKHRoZXkgdXNlZCB0byByYWlzZSA6ZXhjOmBzb2NrZXQuZXJyb3JgKS4KIAogTm9uLWJsb2NraW5nIG1vZGUgaXMgc3VwcG9ydGVkIHRocm91Z2ggOm1ldGg6YH5zb2NrZXQuc2V0YmxvY2tpbmdgLiAgQQogZ2VuZXJhbGl6YXRpb24gb2YgdGhpcyBiYXNlZCBvbiB0aW1lb3V0cyBpcyBzdXBwb3J0ZWQgdGhyb3VnaApAQCAtMTE1LDIwICsxNDMsMTUgQEAKIAogLi4gZXhjZXB0aW9uOjogZXJyb3IKIAotICAgLi4gaW5kZXg6OiBtb2R1bGU6IGVycm5vCisgICBBIGRlcHJlY2F0ZWQgYWxpYXMgb2YgOmV4YzpgT1NFcnJvcmAuCiAKLSAgIEEgc3ViY2xhc3Mgb2YgOmV4YzpgSU9FcnJvcmAsIHRoaXMgZXhjZXB0aW9uIGlzIHJhaXNlZCBmb3Igc29ja2V0LXJlbGF0ZWQKLSAgIGVycm9ycy4gIEl0IGlzIHJlY29tbWVuZGVkIHRoYXQgeW91IGluc3BlY3QgaXRzIGBgZXJybm9gYCBhdHRyaWJ1dGUgdG8KLSAgIGRpc2NyaW1pbmF0ZSBiZXR3ZWVuIGRpZmZlcmVudCBraW5kcyBvZiBlcnJvcnMuCi0KLSAgIC4uIHNlZWFsc286OgotICAgICAgVGhlIDptb2Q6YGVycm5vYCBtb2R1bGUgY29udGFpbnMgc3ltYm9saWMgbmFtZXMgZm9yIHRoZSBlcnJvciBjb2RlcwotICAgICAgZGVmaW5lZCBieSB0aGUgdW5kZXJseWluZyBvcGVyYXRpbmcgc3lzdGVtLgorICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjMKKyAgICAgIEZvbGxvd2luZyA6cGVwOmAzMTUxYCwgdGhpcyBjbGFzcyB3YXMgbWFkZSBhbiBhbGlhcyBvZiA6ZXhjOmBPU0Vycm9yYC4KIAogCiAuLiBleGNlcHRpb246OiBoZXJyb3IKIAotICAgQSBzdWJjbGFzcyBvZiA6ZXhjOmBzb2NrZXQuZXJyb3JgLCB0aGlzIGV4Y2VwdGlvbiBpcyByYWlzZWQgZm9yCisgICBBIHN1YmNsYXNzIG9mIDpleGM6YE9TRXJyb3JgLCB0aGlzIGV4Y2VwdGlvbiBpcyByYWlzZWQgZm9yCiAgICBhZGRyZXNzLXJlbGF0ZWQgZXJyb3JzLCBpLmUuIGZvciBmdW5jdGlvbnMgdGhhdCB1c2UgKmhfZXJybm8qIGluIHRoZSBQT1NJWAogICAgQyBBUEksIGluY2x1ZGluZyA6ZnVuYzpgZ2V0aG9zdGJ5bmFtZV9leGAgYW5kIDpmdW5jOmBnZXRob3N0YnlhZGRyYC4KICAgIFRoZSBhY2NvbXBhbnlpbmcgdmFsdWUgaXMgYSBwYWlyIGBgKGhfZXJybm8sIHN0cmluZylgYCByZXByZXNlbnRpbmcgYW4KQEAgLTEzNiwxMCArMTU5LDEyIEBACiAgICAqc3RyaW5nKiByZXByZXNlbnRzIHRoZSBkZXNjcmlwdGlvbiBvZiAqaF9lcnJubyosIGFzIHJldHVybmVkIGJ5IHRoZQogICAgOmM6ZnVuYzpgaHN0cmVycm9yYCBDIGZ1bmN0aW9uLgogCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMworICAgICAgVGhpcyBjbGFzcyB3YXMgbWFkZSBhIHN1YmNsYXNzIG9mIDpleGM6YE9TRXJyb3JgLgogCiAuLiBleGNlcHRpb246OiBnYWllcnJvcgogCi0gICBBIHN1YmNsYXNzIG9mIDpleGM6YHNvY2tldC5lcnJvcmAsIHRoaXMgZXhjZXB0aW9uIGlzIHJhaXNlZCBmb3IKKyAgIEEgc3ViY2xhc3Mgb2YgOmV4YzpgT1NFcnJvcmAsIHRoaXMgZXhjZXB0aW9uIGlzIHJhaXNlZCBmb3IKICAgIGFkZHJlc3MtcmVsYXRlZCBlcnJvcnMgYnkgOmZ1bmM6YGdldGFkZHJpbmZvYCBhbmQgOmZ1bmM6YGdldG5hbWVpbmZvYC4KICAgIFRoZSBhY2NvbXBhbnlpbmcgdmFsdWUgaXMgYSBwYWlyIGBgKGVycm9yLCBzdHJpbmcpYGAgcmVwcmVzZW50aW5nIGFuIGVycm9yCiAgICByZXR1cm5lZCBieSBhIGxpYnJhcnkgY2FsbC4gICpzdHJpbmcqIHJlcHJlc2VudHMgdGhlIGRlc2NyaXB0aW9uIG9mCkBAIC0xNDcsMTUgKzE3MiwxOSBAQAogICAgbnVtZXJpYyAqZXJyb3IqIHZhbHVlIHdpbGwgbWF0Y2ggb25lIG9mIHRoZSA6Y29uc3Q6YEVBSV9cKmAgY29uc3RhbnRzCiAgICBkZWZpbmVkIGluIHRoaXMgbW9kdWxlLgogCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMworICAgICAgVGhpcyBjbGFzcyB3YXMgbWFkZSBhIHN1YmNsYXNzIG9mIDpleGM6YE9TRXJyb3JgLgogCiAuLiBleGNlcHRpb246OiB0aW1lb3V0CiAKLSAgIEEgc3ViY2xhc3Mgb2YgOmV4Yzpgc29ja2V0LmVycm9yYCwgdGhpcyBleGNlcHRpb24gaXMgcmFpc2VkIHdoZW4gYSB0aW1lb3V0CisgICBBIHN1YmNsYXNzIG9mIDpleGM6YE9TRXJyb3JgLCB0aGlzIGV4Y2VwdGlvbiBpcyByYWlzZWQgd2hlbiBhIHRpbWVvdXQKICAgIG9jY3VycyBvbiBhIHNvY2tldCB3aGljaCBoYXMgaGFkIHRpbWVvdXRzIGVuYWJsZWQgdmlhIGEgcHJpb3IgY2FsbCB0bwogICAgOm1ldGg6YH5zb2NrZXQuc2V0dGltZW91dGAgKG9yIGltcGxpY2l0bHkgdGhyb3VnaAogICAgOmZ1bmM6YH5zb2NrZXQuc2V0ZGVmYXVsdHRpbWVvdXRgKS4gIFRoZSBhY2NvbXBhbnlpbmcgdmFsdWUgaXMgYSBzdHJpbmcKICAgIHdob3NlIHZhbHVlIGlzIGN1cnJlbnRseSBhbHdheXMgInRpbWVkIG91dCIuCiAKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy4zCisgICAgICBUaGlzIGNsYXNzIHdhcyBtYWRlIGEgc3ViY2xhc3Mgb2YgOmV4YzpgT1NFcnJvcmAuCiAKIC4uIGRhdGE6OiBBRl9VTklYCiAgICAgICAgICAgQUZfSU5FVApAQCAtMTk4LDYgKzIyNyw3IEBACiAgICAgICAgICAgU09NQVhDT05OCiAgICAgICAgICAgTVNHXyoKICAgICAgICAgICBTT0xfKgorICAgICAgICAgIFNDTV8qCiAgICAgICAgICAgSVBQUk9UT18qCiAgICAgICAgICAgSVBQT1JUXyoKICAgICAgICAgICBJTkFERFJfKgpAQCAtMjE1LDYgKzI0NSwzMiBAQAogICAgaW4gdGhlIFVuaXggaGVhZGVyIGZpbGVzIGFyZSBkZWZpbmVkOyBmb3IgYSBmZXcgc3ltYm9scywgZGVmYXVsdCB2YWx1ZXMgYXJlCiAgICBwcm92aWRlZC4KIAorLi4gZGF0YTo6IEFGX0NBTgorICAgICAgICAgIFBGX0NBTgorICAgICAgICAgIFNPTF9DQU5fKgorICAgICAgICAgIENBTl8qCisKKyAgIE1hbnkgY29uc3RhbnRzIG9mIHRoZXNlIGZvcm1zLCBkb2N1bWVudGVkIGluIHRoZSBMaW51eCBkb2N1bWVudGF0aW9uLCBhcmUKKyAgIGFsc28gZGVmaW5lZCBpbiB0aGUgc29ja2V0IG1vZHVsZS4KKworICAgQXZhaWxhYmlsaXR5OiBMaW51eCA+PSAyLjYuMjUuCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMworCisKKy4uIGRhdGE6OiBBRl9SRFMKKyAgICAgICAgICBQRl9SRFMKKyAgICAgICAgICBTT0xfUkRTCisgICAgICAgICAgUkRTXyoKKworICAgTWFueSBjb25zdGFudHMgb2YgdGhlc2UgZm9ybXMsIGRvY3VtZW50ZWQgaW4gdGhlIExpbnV4IGRvY3VtZW50YXRpb24sIGFyZQorICAgYWxzbyBkZWZpbmVkIGluIHRoZSBzb2NrZXQgbW9kdWxlLgorCisgICBBdmFpbGFiaWxpdHk6IExpbnV4ID49IDIuNi4zMC4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy4zCisKKwogLi4gZGF0YTo6IFNJT18qCiAgICAgICAgICAgUkNWQUxMXyoKIApAQCAtMzkzLDEwICs0NDksMTUgQEAKIAogICAgQ3JlYXRlIGEgbmV3IHNvY2tldCB1c2luZyB0aGUgZ2l2ZW4gYWRkcmVzcyBmYW1pbHksIHNvY2tldCB0eXBlIGFuZCBwcm90b2NvbAogICAgbnVtYmVyLiAgVGhlIGFkZHJlc3MgZmFtaWx5IHNob3VsZCBiZSA6Y29uc3Q6YEFGX0lORVRgICh0aGUgZGVmYXVsdCksCi0gICA6Y29uc3Q6YEFGX0lORVQ2YCBvciA6Y29uc3Q6YEFGX1VOSVhgLiAgVGhlIHNvY2tldCB0eXBlIHNob3VsZCBiZQotICAgOmNvbnN0OmBTT0NLX1NUUkVBTWAgKHRoZSBkZWZhdWx0KSwgOmNvbnN0OmBTT0NLX0RHUkFNYCBvciBwZXJoYXBzIG9uZSBvZiB0aGUKLSAgIG90aGVyIGBgU09DS19gYCBjb25zdGFudHMuICBUaGUgcHJvdG9jb2wgbnVtYmVyIGlzIHVzdWFsbHkgemVybyBhbmQgbWF5IGJlCi0gICBvbWl0dGVkIGluIHRoYXQgY2FzZS4KKyAgIDpjb25zdDpgQUZfSU5FVDZgLCA6Y29uc3Q6YEFGX1VOSVhgLCA6Y29uc3Q6YEFGX0NBTmAgb3IgOmNvbnN0OmBBRl9SRFNgLiBUaGUKKyAgIHNvY2tldCB0eXBlIHNob3VsZCBiZSA6Y29uc3Q6YFNPQ0tfU1RSRUFNYCAodGhlIGRlZmF1bHQpLAorICAgOmNvbnN0OmBTT0NLX0RHUkFNYCwgOmNvbnN0OmBTT0NLX1JBV2Agb3IgcGVyaGFwcyBvbmUgb2YgdGhlIG90aGVyIGBgU09DS19gYAorICAgY29uc3RhbnRzLiBUaGUgcHJvdG9jb2wgbnVtYmVyIGlzIHVzdWFsbHkgemVybyBhbmQgbWF5IGJlIG9taXR0ZWQgaW4gdGhhdAorICAgY2FzZSBvciA6Y29uc3Q6YENBTl9SQVdgIGluIGNhc2UgdGhlIGFkZHJlc3MgZmFtaWx5IGlzIDpjb25zdDpgQUZfQ0FOYC4KKworICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjMKKyAgICAgIFRoZSBBRl9DQU4gZmFtaWx5IHdhcyBhZGRlZC4KKyAgICAgIFRoZSBBRl9SRFMgZmFtaWx5IHdhcyBhZGRlZC4KIAogCiAuLiBmdW5jdGlvbjo6IHNvY2tldHBhaXIoW2ZhbWlseVssIHR5cGVbLCBwcm90b11dXSkKQEAgLTQ2NCw3ICs1MjUsNyBAQAogICAgVW5peCBtYW51YWwgcGFnZSA6bWFucGFnZTpgaW5ldCgzKWAgZm9yIGRldGFpbHMuCiAKICAgIElmIHRoZSBJUHY0IGFkZHJlc3Mgc3RyaW5nIHBhc3NlZCB0byB0aGlzIGZ1bmN0aW9uIGlzIGludmFsaWQsCi0gICA6ZXhjOmBzb2NrZXQuZXJyb3JgIHdpbGwgYmUgcmFpc2VkLiBOb3RlIHRoYXQgZXhhY3RseSB3aGF0IGlzIHZhbGlkIGRlcGVuZHMgb24KKyAgIDpleGM6YE9TRXJyb3JgIHdpbGwgYmUgcmFpc2VkLiBOb3RlIHRoYXQgZXhhY3RseSB3aGF0IGlzIHZhbGlkIGRlcGVuZHMgb24KICAgIHRoZSB1bmRlcmx5aW5nIEMgaW1wbGVtZW50YXRpb24gb2YgOmM6ZnVuYzpgaW5ldF9hdG9uYC4KIAogICAgOmZ1bmM6YGluZXRfYXRvbmAgZG9lcyBub3Qgc3VwcG9ydCBJUHY2LCBhbmQgOmZ1bmM6YGluZXRfcHRvbmAgc2hvdWxkIGJlIHVzZWQKQEAgLTQ4MSw3ICs1NDIsNyBAQAogICAgYXJndW1lbnQuCiAKICAgIElmIHRoZSBieXRlIHNlcXVlbmNlIHBhc3NlZCB0byB0aGlzIGZ1bmN0aW9uIGlzIG5vdCBleGFjdGx5IDQgYnl0ZXMgaW4KLSAgIGxlbmd0aCwgOmV4Yzpgc29ja2V0LmVycm9yYCB3aWxsIGJlIHJhaXNlZC4gOmZ1bmM6YGluZXRfbnRvYWAgZG9lcyBub3QKKyAgIGxlbmd0aCwgOmV4YzpgT1NFcnJvcmAgd2lsbCBiZSByYWlzZWQuIDpmdW5jOmBpbmV0X250b2FgIGRvZXMgbm90CiAgICBzdXBwb3J0IElQdjYsIGFuZCA6ZnVuYzpgaW5ldF9udG9wYCBzaG91bGQgYmUgdXNlZCBpbnN0ZWFkIGZvciBJUHY0L3Y2IGR1YWwKICAgIHN0YWNrIHN1cHBvcnQuCiAKQEAgLTQ5NSw3ICs1NTYsNyBAQAogCiAgICBTdXBwb3J0ZWQgdmFsdWVzIGZvciAqYWRkcmVzc19mYW1pbHkqIGFyZSBjdXJyZW50bHkgOmNvbnN0OmBBRl9JTkVUYCBhbmQKICAgIDpjb25zdDpgQUZfSU5FVDZgLiBJZiB0aGUgSVAgYWRkcmVzcyBzdHJpbmcgKmlwX3N0cmluZyogaXMgaW52YWxpZCwKLSAgIDpleGM6YHNvY2tldC5lcnJvcmAgd2lsbCBiZSByYWlzZWQuIE5vdGUgdGhhdCBleGFjdGx5IHdoYXQgaXMgdmFsaWQgZGVwZW5kcyBvbgorICAgOmV4YzpgT1NFcnJvcmAgd2lsbCBiZSByYWlzZWQuIE5vdGUgdGhhdCBleGFjdGx5IHdoYXQgaXMgdmFsaWQgZGVwZW5kcyBvbgogICAgYm90aCB0aGUgdmFsdWUgb2YgKmFkZHJlc3NfZmFtaWx5KiBhbmQgdGhlIHVuZGVybHlpbmcgaW1wbGVtZW50YXRpb24gb2YKICAgIDpjOmZ1bmM6YGluZXRfcHRvbmAuCiAKQEAgLTUxMywxMSArNTc0LDU0IEBACiAgICBTdXBwb3J0ZWQgdmFsdWVzIGZvciAqYWRkcmVzc19mYW1pbHkqIGFyZSBjdXJyZW50bHkgOmNvbnN0OmBBRl9JTkVUYCBhbmQKICAgIDpjb25zdDpgQUZfSU5FVDZgLiBJZiB0aGUgc3RyaW5nICpwYWNrZWRfaXAqIGlzIG5vdCB0aGUgY29ycmVjdCBsZW5ndGggZm9yIHRoZQogICAgc3BlY2lmaWVkIGFkZHJlc3MgZmFtaWx5LCA6ZXhjOmBWYWx1ZUVycm9yYCB3aWxsIGJlIHJhaXNlZC4gIEEKLSAgIDpleGM6YHNvY2tldC5lcnJvcmAgaXMgcmFpc2VkIGZvciBlcnJvcnMgZnJvbSB0aGUgY2FsbCB0byA6ZnVuYzpgaW5ldF9udG9wYC4KKyAgIDpleGM6YE9TRXJyb3JgIGlzIHJhaXNlZCBmb3IgZXJyb3JzIGZyb20gdGhlIGNhbGwgdG8gOmZ1bmM6YGluZXRfbnRvcGAuCiAKICAgIEF2YWlsYWJpbGl0eTogVW5peCAobWF5YmUgbm90IGFsbCBwbGF0Zm9ybXMpLgogCiAKKy4uCisgICBYWFg6IEFyZSBzZW5kbXNnKCksIHJlY3Ztc2coKSBhbmQgQ01TR18qKCkgYXZhaWxhYmxlIG9uIGFueQorICAgbm9uLVVuaXggcGxhdGZvcm1zPyAgVGhlIG9sZCAob2Jzb2xldGU/KSA0LjJCU0QgZm9ybSBvZiB0aGUKKyAgIGludGVyZmFjZSwgaW4gd2hpY2ggc3RydWN0IG1zZ2hkciBoYXMgbm8gbXNnX2NvbnRyb2wgb3IKKyAgIG1zZ19jb250cm9sbGVuIG1lbWJlcnMsIGlzIG5vdCBjdXJyZW50bHkgc3VwcG9ydGVkLgorCisuLiBmdW5jdGlvbjo6IENNU0dfTEVOKGxlbmd0aCkKKworICAgUmV0dXJuIHRoZSB0b3RhbCBsZW5ndGgsIHdpdGhvdXQgdHJhaWxpbmcgcGFkZGluZywgb2YgYW4gYW5jaWxsYXJ5CisgICBkYXRhIGl0ZW0gd2l0aCBhc3NvY2lhdGVkIGRhdGEgb2YgdGhlIGdpdmVuICpsZW5ndGgqLiAgVGhpcyB2YWx1ZQorICAgY2FuIG9mdGVuIGJlIHVzZWQgYXMgdGhlIGJ1ZmZlciBzaXplIGZvciA6bWV0aDpgfnNvY2tldC5yZWN2bXNnYCB0bworICAgcmVjZWl2ZSBhIHNpbmdsZSBpdGVtIG9mIGFuY2lsbGFyeSBkYXRhLCBidXQgOnJmYzpgMzU0MmAgcmVxdWlyZXMKKyAgIHBvcnRhYmxlIGFwcGxpY2F0aW9ucyB0byB1c2UgOmZ1bmM6YENNU0dfU1BBQ0VgIGFuZCB0aHVzIGluY2x1ZGUKKyAgIHNwYWNlIGZvciBwYWRkaW5nLCBldmVuIHdoZW4gdGhlIGl0ZW0gd2lsbCBiZSB0aGUgbGFzdCBpbiB0aGUKKyAgIGJ1ZmZlci4gIFJhaXNlcyA6ZXhjOmBPdmVyZmxvd0Vycm9yYCBpZiAqbGVuZ3RoKiBpcyBvdXRzaWRlIHRoZQorICAgcGVybWlzc2libGUgcmFuZ2Ugb2YgdmFsdWVzLgorCisgICBBdmFpbGFiaWxpdHk6IG1vc3QgVW5peCBwbGF0Zm9ybXMsIHBvc3NpYmx5IG90aGVycy4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy4zCisKKworLi4gZnVuY3Rpb246OiBDTVNHX1NQQUNFKGxlbmd0aCkKKworICAgUmV0dXJuIHRoZSBidWZmZXIgc2l6ZSBuZWVkZWQgZm9yIDptZXRoOmB+c29ja2V0LnJlY3Ztc2dgIHRvCisgICByZWNlaXZlIGFuIGFuY2lsbGFyeSBkYXRhIGl0ZW0gd2l0aCBhc3NvY2lhdGVkIGRhdGEgb2YgdGhlIGdpdmVuCisgICAqbGVuZ3RoKiwgYWxvbmcgd2l0aCBhbnkgdHJhaWxpbmcgcGFkZGluZy4gIFRoZSBidWZmZXIgc3BhY2UgbmVlZGVkCisgICB0byByZWNlaXZlIG11bHRpcGxlIGl0ZW1zIGlzIHRoZSBzdW0gb2YgdGhlIDpmdW5jOmBDTVNHX1NQQUNFYAorICAgdmFsdWVzIGZvciB0aGVpciBhc3NvY2lhdGVkIGRhdGEgbGVuZ3Rocy4gIFJhaXNlcworICAgOmV4YzpgT3ZlcmZsb3dFcnJvcmAgaWYgKmxlbmd0aCogaXMgb3V0c2lkZSB0aGUgcGVybWlzc2libGUgcmFuZ2UKKyAgIG9mIHZhbHVlcy4KKworICAgTm90ZSB0aGF0IHNvbWUgc3lzdGVtcyBtaWdodCBzdXBwb3J0IGFuY2lsbGFyeSBkYXRhIHdpdGhvdXQKKyAgIHByb3ZpZGluZyB0aGlzIGZ1bmN0aW9uLiAgQWxzbyBub3RlIHRoYXQgc2V0dGluZyB0aGUgYnVmZmVyIHNpemUKKyAgIHVzaW5nIHRoZSByZXN1bHRzIG9mIHRoaXMgZnVuY3Rpb24gbWF5IG5vdCBwcmVjaXNlbHkgbGltaXQgdGhlCisgICBhbW91bnQgb2YgYW5jaWxsYXJ5IGRhdGEgdGhhdCBjYW4gYmUgcmVjZWl2ZWQsIHNpbmNlIGFkZGl0aW9uYWwKKyAgIGRhdGEgbWF5IGJlIGFibGUgdG8gZml0IGludG8gdGhlIHBhZGRpbmcgYXJlYS4KKworICAgQXZhaWxhYmlsaXR5OiBtb3N0IFVuaXggcGxhdGZvcm1zLCBwb3NzaWJseSBvdGhlcnMuCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMworCisKIC4uIGZ1bmN0aW9uOjogZ2V0ZGVmYXVsdHRpbWVvdXQoKQogCiAgICBSZXR1cm4gdGhlIGRlZmF1bHQgdGltZW91dCBpbiBzZWNvbmRzIChmbG9hdCkgZm9yIG5ldyBzb2NrZXQgb2JqZWN0cy4gQSB2YWx1ZQpAQCAtNTMzLDYgKzYzNyw0OSBAQAogICAgbWVhbmluZ3MuCiAKIAorLi4gZnVuY3Rpb246OiBzZXRob3N0bmFtZShuYW1lKQorCisgICBTZXQgdGhlIG1hY2hpbmUncyBob3N0bmFtZSB0byAqbmFtZSouICBUaGlzIHdpbGwgcmFpc2UgYQorICAgOmV4YzpgT1NFcnJvcmAgaWYgeW91IGRvbid0IGhhdmUgZW5vdWdoIHJpZ2h0cy4KKworICAgQXZhaWxhYmlsaXR5OiBVbml4LgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKKworCisuLiBmdW5jdGlvbjo6IGlmX25hbWVpbmRleCgpCisKKyAgIFJldHVybiBhIGxpc3Qgb2YgbmV0d29yayBpbnRlcmZhY2UgaW5mb3JtYXRpb24KKyAgIChpbmRleCBpbnQsIG5hbWUgc3RyaW5nKSB0dXBsZXMuCisgICA6ZXhjOmBPU0Vycm9yYCBpZiB0aGUgc3lzdGVtIGNhbGwgZmFpbHMuCisKKyAgIEF2YWlsYWJpbGl0eTogVW5peC4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy4zCisKKworLi4gZnVuY3Rpb246OiBpZl9uYW1ldG9pbmRleChpZl9uYW1lKQorCisgICBSZXR1cm4gYSBuZXR3b3JrIGludGVyZmFjZSBpbmRleCBudW1iZXIgY29ycmVzcG9uZGluZyB0byBhbgorICAgaW50ZXJmYWNlIG5hbWUuCisgICA6ZXhjOmBPU0Vycm9yYCBpZiBubyBpbnRlcmZhY2Ugd2l0aCB0aGUgZ2l2ZW4gbmFtZSBleGlzdHMuCisKKyAgIEF2YWlsYWJpbGl0eTogVW5peC4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy4zCisKKworLi4gZnVuY3Rpb246OiBpZl9pbmRleHRvbmFtZShpZl9pbmRleCkKKworICAgUmV0dXJuIGEgbmV0d29yayBpbnRlcmZhY2UgbmFtZSBjb3JyZXNwb25kaW5nIHRvIGEKKyAgIGludGVyZmFjZSBpbmRleCBudW1iZXIuCisgICA6ZXhjOmBPU0Vycm9yYCBpZiBubyBpbnRlcmZhY2Ugd2l0aCB0aGUgZ2l2ZW4gaW5kZXggZXhpc3RzLgorCisgICBBdmFpbGFiaWxpdHk6IFVuaXguCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMworCisKIC4uIGRhdGE6OiBTb2NrZXRUeXBlCiAKICAgIFRoaXMgaXMgYSBQeXRob24gdHlwZSBvYmplY3QgdGhhdCByZXByZXNlbnRzIHRoZSBzb2NrZXQgb2JqZWN0IHR5cGUuIEl0IGlzIHRoZQpAQCAtNzA2LDYgKzg1MywxMDkgQEAKICAgIHRvIHplcm8uIChUaGUgZm9ybWF0IG9mICphZGRyZXNzKiBkZXBlbmRzIG9uIHRoZSBhZGRyZXNzIGZhbWlseSAtLS0gc2VlIGFib3ZlLikKIAogCisuLiBtZXRob2Q6OiBzb2NrZXQucmVjdm1zZyhidWZzaXplWywgYW5jYnVmc2l6ZVssIGZsYWdzXV0pCisKKyAgIFJlY2VpdmUgbm9ybWFsIGRhdGEgKHVwIHRvICpidWZzaXplKiBieXRlcykgYW5kIGFuY2lsbGFyeSBkYXRhIGZyb20KKyAgIHRoZSBzb2NrZXQuICBUaGUgKmFuY2J1ZnNpemUqIGFyZ3VtZW50IHNldHMgdGhlIHNpemUgaW4gYnl0ZXMgb2YKKyAgIHRoZSBpbnRlcm5hbCBidWZmZXIgdXNlZCB0byByZWNlaXZlIHRoZSBhbmNpbGxhcnkgZGF0YTsgaXQgZGVmYXVsdHMKKyAgIHRvIDAsIG1lYW5pbmcgdGhhdCBubyBhbmNpbGxhcnkgZGF0YSB3aWxsIGJlIHJlY2VpdmVkLiAgQXBwcm9wcmlhdGUKKyAgIGJ1ZmZlciBzaXplcyBmb3IgYW5jaWxsYXJ5IGRhdGEgY2FuIGJlIGNhbGN1bGF0ZWQgdXNpbmcKKyAgIDpmdW5jOmBDTVNHX1NQQUNFYCBvciA6ZnVuYzpgQ01TR19MRU5gLCBhbmQgaXRlbXMgd2hpY2ggZG8gbm90IGZpdAorICAgaW50byB0aGUgYnVmZmVyIG1pZ2h0IGJlIHRydW5jYXRlZCBvciBkaXNjYXJkZWQuICBUaGUgKmZsYWdzKgorICAgYXJndW1lbnQgZGVmYXVsdHMgdG8gMCBhbmQgaGFzIHRoZSBzYW1lIG1lYW5pbmcgYXMgZm9yCisgICA6bWV0aDpgcmVjdmAuCisKKyAgIFRoZSByZXR1cm4gdmFsdWUgaXMgYSA0LXR1cGxlOiBgYChkYXRhLCBhbmNkYXRhLCBtc2dfZmxhZ3MsCisgICBhZGRyZXNzKWBgLiAgVGhlICpkYXRhKiBpdGVtIGlzIGEgOmNsYXNzOmBieXRlc2Agb2JqZWN0IGhvbGRpbmcgdGhlCisgICBub24tYW5jaWxsYXJ5IGRhdGEgcmVjZWl2ZWQuICBUaGUgKmFuY2RhdGEqIGl0ZW0gaXMgYSBsaXN0IG9mIHplcm8KKyAgIG9yIG1vcmUgdHVwbGVzIGBgKGNtc2dfbGV2ZWwsIGNtc2dfdHlwZSwgY21zZ19kYXRhKWBgIHJlcHJlc2VudGluZworICAgdGhlIGFuY2lsbGFyeSBkYXRhIChjb250cm9sIG1lc3NhZ2VzKSByZWNlaXZlZDogKmNtc2dfbGV2ZWwqIGFuZAorICAgKmNtc2dfdHlwZSogYXJlIGludGVnZXJzIHNwZWNpZnlpbmcgdGhlIHByb3RvY29sIGxldmVsIGFuZAorICAgcHJvdG9jb2wtc3BlY2lmaWMgdHlwZSByZXNwZWN0aXZlbHksIGFuZCAqY21zZ19kYXRhKiBpcyBhCisgICA6Y2xhc3M6YGJ5dGVzYCBvYmplY3QgaG9sZGluZyB0aGUgYXNzb2NpYXRlZCBkYXRhLiAgVGhlICptc2dfZmxhZ3MqCisgICBpdGVtIGlzIHRoZSBiaXR3aXNlIE9SIG9mIHZhcmlvdXMgZmxhZ3MgaW5kaWNhdGluZyBjb25kaXRpb25zIG9uCisgICB0aGUgcmVjZWl2ZWQgbWVzc2FnZTsgc2VlIHlvdXIgc3lzdGVtIGRvY3VtZW50YXRpb24gZm9yIGRldGFpbHMuCisgICBJZiB0aGUgcmVjZWl2aW5nIHNvY2tldCBpcyB1bmNvbm5lY3RlZCwgKmFkZHJlc3MqIGlzIHRoZSBhZGRyZXNzIG9mCisgICB0aGUgc2VuZGluZyBzb2NrZXQsIGlmIGF2YWlsYWJsZTsgb3RoZXJ3aXNlLCBpdHMgdmFsdWUgaXMKKyAgIHVuc3BlY2lmaWVkLgorCisgICBPbiBzb21lIHN5c3RlbXMsIDptZXRoOmBzZW5kbXNnYCBhbmQgOm1ldGg6YHJlY3Ztc2dgIGNhbiBiZSB1c2VkIHRvCisgICBwYXNzIGZpbGUgZGVzY3JpcHRvcnMgYmV0d2VlbiBwcm9jZXNzZXMgb3ZlciBhbiA6Y29uc3Q6YEFGX1VOSVhgCisgICBzb2NrZXQuICBXaGVuIHRoaXMgZmFjaWxpdHkgaXMgdXNlZCAoaXQgaXMgb2Z0ZW4gcmVzdHJpY3RlZCB0bworICAgOmNvbnN0OmBTT0NLX1NUUkVBTWAgc29ja2V0cyksIDptZXRoOmByZWN2bXNnYCB3aWxsIHJldHVybiwgaW4gaXRzCisgICBhbmNpbGxhcnkgZGF0YSwgaXRlbXMgb2YgdGhlIGZvcm0gYGAoc29ja2V0LlNPTF9TT0NLRVQsCisgICBzb2NrZXQuU0NNX1JJR0hUUywgZmRzKWBgLCB3aGVyZSAqZmRzKiBpcyBhIDpjbGFzczpgYnl0ZXNgIG9iamVjdAorICAgcmVwcmVzZW50aW5nIHRoZSBuZXcgZmlsZSBkZXNjcmlwdG9ycyBhcyBhIGJpbmFyeSBhcnJheSBvZiB0aGUKKyAgIG5hdGl2ZSBDIDpjOnR5cGU6YGludGAgdHlwZS4gIElmIDptZXRoOmByZWN2bXNnYCByYWlzZXMgYW4KKyAgIGV4Y2VwdGlvbiBhZnRlciB0aGUgc3lzdGVtIGNhbGwgcmV0dXJucywgaXQgd2lsbCBmaXJzdCBhdHRlbXB0IHRvCisgICBjbG9zZSBhbnkgZmlsZSBkZXNjcmlwdG9ycyByZWNlaXZlZCB2aWEgdGhpcyBtZWNoYW5pc20uCisKKyAgIFNvbWUgc3lzdGVtcyBkbyBub3QgaW5kaWNhdGUgdGhlIHRydW5jYXRlZCBsZW5ndGggb2YgYW5jaWxsYXJ5IGRhdGEKKyAgIGl0ZW1zIHdoaWNoIGhhdmUgYmVlbiBvbmx5IHBhcnRpYWxseSByZWNlaXZlZC4gIElmIGFuIGl0ZW0gYXBwZWFycworICAgdG8gZXh0ZW5kIGJleW9uZCB0aGUgZW5kIG9mIHRoZSBidWZmZXIsIDptZXRoOmByZWN2bXNnYCB3aWxsIGlzc3VlCisgICBhIDpleGM6YFJ1bnRpbWVXYXJuaW5nYCwgYW5kIHdpbGwgcmV0dXJuIHRoZSBwYXJ0IG9mIGl0IHdoaWNoIGlzCisgICBpbnNpZGUgdGhlIGJ1ZmZlciBwcm92aWRlZCBpdCBoYXMgbm90IGJlZW4gdHJ1bmNhdGVkIGJlZm9yZSB0aGUKKyAgIHN0YXJ0IG9mIGl0cyBhc3NvY2lhdGVkIGRhdGEuCisKKyAgIE9uIHN5c3RlbXMgd2hpY2ggc3VwcG9ydCB0aGUgOmNvbnN0OmBTQ01fUklHSFRTYCBtZWNoYW5pc20sIHRoZQorICAgZm9sbG93aW5nIGZ1bmN0aW9uIHdpbGwgcmVjZWl2ZSB1cCB0byAqbWF4ZmRzKiBmaWxlIGRlc2NyaXB0b3JzLAorICAgcmV0dXJuaW5nIHRoZSBtZXNzYWdlIGRhdGEgYW5kIGEgbGlzdCBjb250YWluaW5nIHRoZSBkZXNjcmlwdG9ycworICAgKHdoaWxlIGlnbm9yaW5nIHVuZXhwZWN0ZWQgY29uZGl0aW9ucyBzdWNoIGFzIHVucmVsYXRlZCBjb250cm9sCisgICBtZXNzYWdlcyBiZWluZyByZWNlaXZlZCkuICBTZWUgYWxzbyA6bWV0aDpgc2VuZG1zZ2AuIDo6CisKKyAgICAgIGltcG9ydCBzb2NrZXQsIGFycmF5CisKKyAgICAgIGRlZiByZWN2X2Zkcyhzb2NrLCBtc2dsZW4sIG1heGZkcyk6CisgICAgICAgICAgZmRzID0gYXJyYXkuYXJyYXkoImkiKSAgICMgQXJyYXkgb2YgaW50cworICAgICAgICAgIG1zZywgYW5jZGF0YSwgZmxhZ3MsIGFkZHIgPSBzb2NrLnJlY3Ztc2cobXNnbGVuLCBzb2NrZXQuQ01TR19MRU4obWF4ZmRzICogZmRzLml0ZW1zaXplKSkKKyAgICAgICAgICBmb3IgY21zZ19sZXZlbCwgY21zZ190eXBlLCBjbXNnX2RhdGEgaW4gYW5jZGF0YToKKyAgICAgICAgICAgICAgaWYgKGNtc2dfbGV2ZWwgPT0gc29ja2V0LlNPTF9TT0NLRVQgYW5kIGNtc2dfdHlwZSA9PSBzb2NrZXQuU0NNX1JJR0hUUyk6CisgICAgICAgICAgICAgICAgICAjIEFwcGVuZCBkYXRhLCBpZ25vcmluZyBhbnkgdHJ1bmNhdGVkIGludGVnZXJzIGF0IHRoZSBlbmQuCisgICAgICAgICAgICAgICAgICBmZHMuZnJvbXN0cmluZyhjbXNnX2RhdGFbOmxlbihjbXNnX2RhdGEpIC0gKGxlbihjbXNnX2RhdGEpICUgZmRzLml0ZW1zaXplKV0pCisgICAgICAgICAgcmV0dXJuIG1zZywgbGlzdChmZHMpCisKKyAgIEF2YWlsYWJpbGl0eTogbW9zdCBVbml4IHBsYXRmb3JtcywgcG9zc2libHkgb3RoZXJzLgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKKworCisuLiBtZXRob2Q6OiBzb2NrZXQucmVjdm1zZ19pbnRvKGJ1ZmZlcnNbLCBhbmNidWZzaXplWywgZmxhZ3NdXSkKKworICAgUmVjZWl2ZSBub3JtYWwgZGF0YSBhbmQgYW5jaWxsYXJ5IGRhdGEgZnJvbSB0aGUgc29ja2V0LCBiZWhhdmluZyBhcworICAgOm1ldGg6YHJlY3Ztc2dgIHdvdWxkLCBidXQgc2NhdHRlciB0aGUgbm9uLWFuY2lsbGFyeSBkYXRhIGludG8gYQorICAgc2VyaWVzIG9mIGJ1ZmZlcnMgaW5zdGVhZCBvZiByZXR1cm5pbmcgYSBuZXcgYnl0ZXMgb2JqZWN0LiAgVGhlCisgICAqYnVmZmVycyogYXJndW1lbnQgbXVzdCBiZSBhbiBpdGVyYWJsZSBvZiBvYmplY3RzIHRoYXQgZXhwb3J0CisgICB3cml0YWJsZSBidWZmZXJzIChlLmcuIDpjbGFzczpgYnl0ZWFycmF5YCBvYmplY3RzKTsgdGhlc2Ugd2lsbCBiZQorICAgZmlsbGVkIHdpdGggc3VjY2Vzc2l2ZSBjaHVua3Mgb2YgdGhlIG5vbi1hbmNpbGxhcnkgZGF0YSB1bnRpbCBpdAorICAgaGFzIGFsbCBiZWVuIHdyaXR0ZW4gb3IgdGhlcmUgYXJlIG5vIG1vcmUgYnVmZmVycy4gIFRoZSBvcGVyYXRpbmcKKyAgIHN5c3RlbSBtYXkgc2V0IGEgbGltaXQgKDpmdW5jOmB+b3Muc3lzY29uZmAgdmFsdWUgYGBTQ19JT1ZfTUFYYGApCisgICBvbiB0aGUgbnVtYmVyIG9mIGJ1ZmZlcnMgdGhhdCBjYW4gYmUgdXNlZC4gIFRoZSAqYW5jYnVmc2l6ZSogYW5kCisgICAqZmxhZ3MqIGFyZ3VtZW50cyBoYXZlIHRoZSBzYW1lIG1lYW5pbmcgYXMgZm9yIDptZXRoOmByZWN2bXNnYC4KKworICAgVGhlIHJldHVybiB2YWx1ZSBpcyBhIDQtdHVwbGU6IGBgKG5ieXRlcywgYW5jZGF0YSwgbXNnX2ZsYWdzLAorICAgYWRkcmVzcylgYCwgd2hlcmUgKm5ieXRlcyogaXMgdGhlIHRvdGFsIG51bWJlciBvZiBieXRlcyBvZgorICAgbm9uLWFuY2lsbGFyeSBkYXRhIHdyaXR0ZW4gaW50byB0aGUgYnVmZmVycywgYW5kICphbmNkYXRhKiwKKyAgICptc2dfZmxhZ3MqIGFuZCAqYWRkcmVzcyogYXJlIHRoZSBzYW1lIGFzIGZvciA6bWV0aDpgcmVjdm1zZ2AuCisKKyAgIEV4YW1wbGU6OgorCisgICAgICA+Pj4gaW1wb3J0IHNvY2tldAorICAgICAgPj4+IHMxLCBzMiA9IHNvY2tldC5zb2NrZXRwYWlyKCkKKyAgICAgID4+PiBiMSA9IGJ5dGVhcnJheShiJy0tLS0nKQorICAgICAgPj4+IGIyID0gYnl0ZWFycmF5KGInMDEyMzQ1Njc4OScpCisgICAgICA+Pj4gYjMgPSBieXRlYXJyYXkoYictLS0tLS0tLS0tLS0tLScpCisgICAgICA+Pj4gczEuc2VuZChiJ01hcnkgaGFkIGEgbGl0dGxlIGxhbWInKQorICAgICAgMjIKKyAgICAgID4+PiBzMi5yZWN2bXNnX2ludG8oW2IxLCBtZW1vcnl2aWV3KGIyKVsyOjldLCBiM10pCisgICAgICAoMjIsIFtdLCAwLCBOb25lKQorICAgICAgPj4+IFtiMSwgYjIsIGIzXQorICAgICAgW2J5dGVhcnJheShiJ01hcnknKSwgYnl0ZWFycmF5KGInMDEgaGFkIGEgOScpLCBieXRlYXJyYXkoYidsaXR0bGUgbGFtYi0tLScpXQorCisgICBBdmFpbGFiaWxpdHk6IG1vc3QgVW5peCBwbGF0Zm9ybXMsIHBvc3NpYmx5IG90aGVycy4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy4zCisKKwogLi4gbWV0aG9kOjogc29ja2V0LnJlY3Zmcm9tX2ludG8oYnVmZmVyWywgbmJ5dGVzWywgZmxhZ3NdXSkKIAogICAgUmVjZWl2ZSBkYXRhIGZyb20gdGhlIHNvY2tldCwgd3JpdGluZyBpdCBpbnRvICpidWZmZXIqIGluc3RlYWQgb2YgY3JlYXRpbmcgYQpAQCAtNzU0LDYgKzEwMDQsNDEgQEAKICAgIGFib3ZlLikKIAogCisuLiBtZXRob2Q6OiBzb2NrZXQuc2VuZG1zZyhidWZmZXJzWywgYW5jZGF0YVssIGZsYWdzWywgYWRkcmVzc11dXSkKKworICAgU2VuZCBub3JtYWwgYW5kIGFuY2lsbGFyeSBkYXRhIHRvIHRoZSBzb2NrZXQsIGdhdGhlcmluZyB0aGUKKyAgIG5vbi1hbmNpbGxhcnkgZGF0YSBmcm9tIGEgc2VyaWVzIG9mIGJ1ZmZlcnMgYW5kIGNvbmNhdGVuYXRpbmcgaXQKKyAgIGludG8gYSBzaW5nbGUgbWVzc2FnZS4gIFRoZSAqYnVmZmVycyogYXJndW1lbnQgc3BlY2lmaWVzIHRoZQorICAgbm9uLWFuY2lsbGFyeSBkYXRhIGFzIGFuIGl0ZXJhYmxlIG9mIGJ1ZmZlci1jb21wYXRpYmxlIG9iamVjdHMKKyAgIChlLmcuIDpjbGFzczpgYnl0ZXNgIG9iamVjdHMpOyB0aGUgb3BlcmF0aW5nIHN5c3RlbSBtYXkgc2V0IGEgbGltaXQKKyAgICg6ZnVuYzpgfm9zLnN5c2NvbmZgIHZhbHVlIGBgU0NfSU9WX01BWGBgKSBvbiB0aGUgbnVtYmVyIG9mIGJ1ZmZlcnMKKyAgIHRoYXQgY2FuIGJlIHVzZWQuICBUaGUgKmFuY2RhdGEqIGFyZ3VtZW50IHNwZWNpZmllcyB0aGUgYW5jaWxsYXJ5CisgICBkYXRhIChjb250cm9sIG1lc3NhZ2VzKSBhcyBhbiBpdGVyYWJsZSBvZiB6ZXJvIG9yIG1vcmUgdHVwbGVzCisgICBgYChjbXNnX2xldmVsLCBjbXNnX3R5cGUsIGNtc2dfZGF0YSlgYCwgd2hlcmUgKmNtc2dfbGV2ZWwqIGFuZAorICAgKmNtc2dfdHlwZSogYXJlIGludGVnZXJzIHNwZWNpZnlpbmcgdGhlIHByb3RvY29sIGxldmVsIGFuZAorICAgcHJvdG9jb2wtc3BlY2lmaWMgdHlwZSByZXNwZWN0aXZlbHksIGFuZCAqY21zZ19kYXRhKiBpcyBhCisgICBidWZmZXItY29tcGF0aWJsZSBvYmplY3QgaG9sZGluZyB0aGUgYXNzb2NpYXRlZCBkYXRhLiAgTm90ZSB0aGF0CisgICBzb21lIHN5c3RlbXMgKGluIHBhcnRpY3VsYXIsIHN5c3RlbXMgd2l0aG91dCA6ZnVuYzpgQ01TR19TUEFDRWApCisgICBtaWdodCBzdXBwb3J0IHNlbmRpbmcgb25seSBvbmUgY29udHJvbCBtZXNzYWdlIHBlciBjYWxsLiAgVGhlCisgICAqZmxhZ3MqIGFyZ3VtZW50IGRlZmF1bHRzIHRvIDAgYW5kIGhhcyB0aGUgc2FtZSBtZWFuaW5nIGFzIGZvcgorICAgOm1ldGg6YHNlbmRgLiAgSWYgKmFkZHJlc3MqIGlzIHN1cHBsaWVkIGFuZCBub3QgYGBOb25lYGAsIGl0IHNldHMgYQorICAgZGVzdGluYXRpb24gYWRkcmVzcyBmb3IgdGhlIG1lc3NhZ2UuICBUaGUgcmV0dXJuIHZhbHVlIGlzIHRoZQorICAgbnVtYmVyIG9mIGJ5dGVzIG9mIG5vbi1hbmNpbGxhcnkgZGF0YSBzZW50LgorCisgICBUaGUgZm9sbG93aW5nIGZ1bmN0aW9uIHNlbmRzIHRoZSBsaXN0IG9mIGZpbGUgZGVzY3JpcHRvcnMgKmZkcyoKKyAgIG92ZXIgYW4gOmNvbnN0OmBBRl9VTklYYCBzb2NrZXQsIG9uIHN5c3RlbXMgd2hpY2ggc3VwcG9ydCB0aGUKKyAgIDpjb25zdDpgU0NNX1JJR0hUU2AgbWVjaGFuaXNtLiAgU2VlIGFsc28gOm1ldGg6YHJlY3Ztc2dgLiA6OgorCisgICAgICBpbXBvcnQgc29ja2V0LCBhcnJheQorCisgICAgICBkZWYgc2VuZF9mZHMoc29jaywgbXNnLCBmZHMpOgorICAgICAgICAgIHJldHVybiBzb2NrLnNlbmRtc2coW21zZ10sIFsoc29ja2V0LlNPTF9TT0NLRVQsIHNvY2tldC5TQ01fUklHSFRTLCBhcnJheS5hcnJheSgiaSIsIGZkcykpXSkKKworICAgQXZhaWxhYmlsaXR5OiBtb3N0IFVuaXggcGxhdGZvcm1zLCBwb3NzaWJseSBvdGhlcnMuCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMworCisKIC4uIG1ldGhvZDo6IHNvY2tldC5zZXRibG9ja2luZyhmbGFnKQogCiAgICBTZXQgYmxvY2tpbmcgb3Igbm9uLWJsb2NraW5nIG1vZGUgb2YgdGhlIHNvY2tldDogaWYgKmZsYWcqIGlzIGZhbHNlLCB0aGUKQEAgLTc5NSw5ICsxMDgwLDcgQEAKICAgIFNodXQgZG93biBvbmUgb3IgYm90aCBoYWx2ZXMgb2YgdGhlIGNvbm5lY3Rpb24uICBJZiAqaG93KiBpcyA6Y29uc3Q6YFNIVVRfUkRgLAogICAgZnVydGhlciByZWNlaXZlcyBhcmUgZGlzYWxsb3dlZC4gIElmICpob3cqIGlzIDpjb25zdDpgU0hVVF9XUmAsIGZ1cnRoZXIgc2VuZHMKICAgIGFyZSBkaXNhbGxvd2VkLiAgSWYgKmhvdyogaXMgOmNvbnN0OmBTSFVUX1JEV1JgLCBmdXJ0aGVyIHNlbmRzIGFuZCByZWNlaXZlcyBhcmUKLSAgIGRpc2FsbG93ZWQuICBEZXBlbmRpbmcgb24gdGhlIHBsYXRmb3JtLCBzaHV0dGluZyBkb3duIG9uZSBoYWxmIG9mIHRoZSBjb25uZWN0aW9uCi0gICBjYW4gYWxzbyBjbG9zZSB0aGUgb3Bwb3NpdGUgaGFsZiAoZS5nLiBvbiBNYWMgT1MgWCwgYGBzaHV0ZG93bihTSFVUX1dSKWBgIGRvZXMKLSAgIG5vdCBhbGxvdyBmdXJ0aGVyIHJlYWRzIG9uIHRoZSBvdGhlciBlbmQgb2YgdGhlIGNvbm5lY3Rpb24pLgorICAgZGlzYWxsb3dlZC4KIAogTm90ZSB0aGF0IHRoZXJlIGFyZSBubyBtZXRob2RzIDptZXRoOmByZWFkYCBvciA6bWV0aDpgd3JpdGVgOyB1c2UKIDptZXRoOmB+c29ja2V0LnJlY3ZgIGFuZCA6bWV0aDpgfnNvY2tldC5zZW5kYCB3aXRob3V0ICpmbGFncyogYXJndW1lbnQgaW5zdGVhZC4KQEAgLTk0MiwxMyArMTIyNSwxMyBAQAogICAgICAgIGFmLCBzb2NrdHlwZSwgcHJvdG8sIGNhbm9ubmFtZSwgc2EgPSByZXMKICAgICAgICB0cnk6CiAgICAgICAgICAgIHMgPSBzb2NrZXQuc29ja2V0KGFmLCBzb2NrdHlwZSwgcHJvdG8pCi0gICAgICAgZXhjZXB0IHNvY2tldC5lcnJvciBhcyBtc2c6CisgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgbXNnOgogICAgICAgICAgICBzID0gTm9uZQogICAgICAgICAgICBjb250aW51ZQogICAgICAgIHRyeToKICAgICAgICAgICAgcy5iaW5kKHNhKQogICAgICAgICAgICBzLmxpc3RlbigxKQotICAgICAgIGV4Y2VwdCBzb2NrZXQuZXJyb3IgYXMgbXNnOgorICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIG1zZzoKICAgICAgICAgICAgcy5jbG9zZSgpCiAgICAgICAgICAgIHMgPSBOb25lCiAgICAgICAgICAgIGNvbnRpbnVlCkBAIC05NzcsMTIgKzEyNjAsMTIgQEAKICAgICAgICBhZiwgc29ja3R5cGUsIHByb3RvLCBjYW5vbm5hbWUsIHNhID0gcmVzCiAgICAgICAgdHJ5OgogICAgICAgICAgICBzID0gc29ja2V0LnNvY2tldChhZiwgc29ja3R5cGUsIHByb3RvKQotICAgICAgIGV4Y2VwdCBzb2NrZXQuZXJyb3IgYXMgbXNnOgorICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIG1zZzoKICAgICAgICAgICAgcyA9IE5vbmUKICAgICAgICAgICAgY29udGludWUKICAgICAgICB0cnk6CiAgICAgICAgICAgIHMuY29ubmVjdChzYSkKLSAgICAgICBleGNlcHQgc29ja2V0LmVycm9yIGFzIG1zZzoKKyAgICAgICBleGNlcHQgT1NFcnJvciBhcyBtc2c6CiAgICAgICAgICAgIHMuY2xvc2UoKQogICAgICAgICAgICBzID0gTm9uZQogICAgICAgICAgICBjb250aW51ZQpAQCAtOTk2LDcgKzEyNzksNyBAQAogICAgcHJpbnQoJ1JlY2VpdmVkJywgcmVwcihkYXRhKSkKIAogCi1UaGUgbGFzdCBleGFtcGxlIHNob3dzIGhvdyB0byB3cml0ZSBhIHZlcnkgc2ltcGxlIG5ldHdvcmsgc25pZmZlciB3aXRoIHJhdworVGhlIG5leHQgZXhhbXBsZSBzaG93cyBob3cgdG8gd3JpdGUgYSB2ZXJ5IHNpbXBsZSBuZXR3b3JrIHNuaWZmZXIgd2l0aCByYXcKIHNvY2tldHMgb24gV2luZG93cy4gVGhlIGV4YW1wbGUgcmVxdWlyZXMgYWRtaW5pc3RyYXRvciBwcml2aWxlZ2VzIHRvIG1vZGlmeQogdGhlIGludGVyZmFjZTo6CiAKQEAgLTEwMjEsMTEgKzEzMDQsNTEgQEAKICAgICMgZGlzYWJsZWQgcHJvbWlzY3VvdXMgbW9kZQogICAgcy5pb2N0bChzb2NrZXQuU0lPX1JDVkFMTCwgc29ja2V0LlJDVkFMTF9PRkYpCiAKK1RoZSBsYXN0IGV4YW1wbGUgc2hvd3MgaG93IHRvIHVzZSB0aGUgc29ja2V0IGludGVyZmFjZSB0byBjb21tdW5pY2F0ZSB0byBhIENBTgorbmV0d29yay4gVGhpcyBleGFtcGxlIG1pZ2h0IHJlcXVpcmUgc3BlY2lhbCBwcml2aWxlZGdlOjoKKworICAgaW1wb3J0IHNvY2tldAorICAgaW1wb3J0IHN0cnVjdAorCisKKyAgICMgQ0FOIGZyYW1lIHBhY2tpbmcvdW5wYWNraW5nIChzZWUgJ3N0cnVjdCBjYW5fZnJhbWUnIGluIDxsaW51eC9jYW4uaD4pCisKKyAgIGNhbl9mcmFtZV9mbXQgPSAiPUlCM3g4cyIKKyAgIGNhbl9mcmFtZV9zaXplID0gc3RydWN0LmNhbGNzaXplKGNhbl9mcmFtZV9mbXQpCisKKyAgIGRlZiBidWlsZF9jYW5fZnJhbWUoY2FuX2lkLCBkYXRhKToKKyAgICAgICBjYW5fZGxjID0gbGVuKGRhdGEpCisgICAgICAgZGF0YSA9IGRhdGEubGp1c3QoOCwgYidceDAwJykKKyAgICAgICByZXR1cm4gc3RydWN0LnBhY2soY2FuX2ZyYW1lX2ZtdCwgY2FuX2lkLCBjYW5fZGxjLCBkYXRhKQorCisgICBkZWYgZGlzc2VjdF9jYW5fZnJhbWUoZnJhbWUpOgorICAgICAgIGNhbl9pZCwgY2FuX2RsYywgZGF0YSA9IHN0cnVjdC51bnBhY2soY2FuX2ZyYW1lX2ZtdCwgZnJhbWUpCisgICAgICAgcmV0dXJuIChjYW5faWQsIGNhbl9kbGMsIGRhdGFbOmNhbl9kbGNdKQorCisKKyAgICMgY3JlYXRlIGEgcmF3IHNvY2tldCBhbmQgYmluZCBpdCB0byB0aGUgJ3ZjYW4wJyBpbnRlcmZhY2UKKyAgIHMgPSBzb2NrZXQuc29ja2V0KHNvY2tldC5BRl9DQU4sIHNvY2tldC5TT0NLX1JBVywgc29ja2V0LkNBTl9SQVcpCisgICBzLmJpbmQoKCd2Y2FuMCcsKSkKKworICAgd2hpbGUgVHJ1ZToKKyAgICAgICBjZiwgYWRkciA9IHMucmVjdmZyb20oY2FuX2ZyYW1lX3NpemUpCisKKyAgICAgICBwcmludCgnUmVjZWl2ZWQ6IGNhbl9pZD0leCwgY2FuX2RsYz0leCwgZGF0YT0lcycgJSBkaXNzZWN0X2Nhbl9mcmFtZShjZikpCisKKyAgICAgICB0cnk6CisgICAgICAgICAgIHMuc2VuZChjZikKKyAgICAgICBleGNlcHQgT1NFcnJvcjoKKyAgICAgICAgICAgcHJpbnQoJ0Vycm9yIHNlbmRpbmcgQ0FOIGZyYW1lJykKKworICAgICAgIHRyeToKKyAgICAgICAgICAgcy5zZW5kKGJ1aWxkX2Nhbl9mcmFtZSgweDAxLCBiJ1x4MDFceDAyXHgwMycpKQorICAgICAgIGV4Y2VwdCBPU0Vycm9yOgorICAgICAgICAgICBwcmludCgnRXJyb3Igc2VuZGluZyBDQU4gZnJhbWUnKQogCiBSdW5uaW5nIGFuIGV4YW1wbGUgc2V2ZXJhbCB0aW1lcyB3aXRoIHRvbyBzbWFsbCBkZWxheSBiZXR3ZWVuIGV4ZWN1dGlvbnMsIGNvdWxkCiBsZWFkIHRvIHRoaXMgZXJyb3I6OgogCi0gICBzb2NrZXQuZXJyb3I6IFtFcnJubyA5OF0gQWRkcmVzcyBhbHJlYWR5IGluIHVzZQorICAgT1NFcnJvcjogW0Vycm5vIDk4XSBBZGRyZXNzIGFscmVhZHkgaW4gdXNlCiAKIFRoaXMgaXMgYmVjYXVzZSB0aGUgcHJldmlvdXMgZXhlY3V0aW9uIGhhcyBsZWZ0IHRoZSBzb2NrZXQgaW4gYSBgYFRJTUVfV0FJVGBgCiBzdGF0ZSwgYW5kIGNhbid0IGJlIGltbWVkaWF0ZWx5IHJldXNlZC4KZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L3NvY2tldHNlcnZlci5yc3QgYi9Eb2MvbGlicmFyeS9zb2NrZXRzZXJ2ZXIucnN0CmluZGV4IDUyODdmMTcuLjdkYzBjYzcgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L3NvY2tldHNlcnZlci5yc3QKKysrIGIvRG9jL2xpYnJhcnkvc29ja2V0c2VydmVyLnJzdApAQCAtMTU0LDkgKzE1NCwyMSBAQAogLi4gbWV0aG9kOjogQmFzZVNlcnZlci5zZXJ2ZV9mb3JldmVyKHBvbGxfaW50ZXJ2YWw9MC41KQogCiAgICBIYW5kbGUgcmVxdWVzdHMgdW50aWwgYW4gZXhwbGljaXQgOm1ldGg6YHNodXRkb3duYCByZXF1ZXN0LgotICAgUG9sbCBmb3Igc2h1dGRvd24gZXZlcnkgKnBvbGxfaW50ZXJ2YWwqIHNlY29uZHMuIElnbm9yZXMgOmF0dHI6YHNlbGYudGltZW91dGAuCi0gICBJZiB5b3UgbmVlZCB0byBkbyBwZXJpb2RpYyB0YXNrcywgZG8gdGhlbSBpbiBhbm90aGVyIHRocmVhZC4KKyAgIFBvbGwgZm9yIHNodXRkb3duIGV2ZXJ5ICpwb2xsX2ludGVydmFsKiBzZWNvbmRzLiBJZ25vcmVzIDphdHRyOmBzZWxmLnRpbWVvdXRgLiAgSXQgYWxzbyBjYWxscworICAgOm1ldGg6YHNlcnZpY2VfYWN0aW9uc2Agd2hpY2ggbWF5IGJlIHVzZWQgYnkgYSBzdWJjbGFzcyBvciBNaXhpbiB0byBwcm92aWRlCisgICB2YXJpb3VzIGNsZWFudXAgYWN0aW9ucy4gIEZvciBlLmcuIEZvcmtpbmdNaXhpbiBjbGFzcyB1c2VzCisgICA6bWV0aDpgc2VydmljZV9hY3Rpb25zYCB0byBjbGVhbnVwIHRoZSB6b21iaWUgY2hpbGQgcHJvY2Vzc2VzLgogCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMworICAgICAgIEFkZGVkIHNlcnZpY2VfYWN0aW9ucyBjYWxsIHRvIHRoZSBzZXJ2ZV9mb3JldmVyIG1ldGhvZC4KKworCisuLiBtZXRob2Q6OiBCYXNlU2VydmVyLnNlcnZpY2VfYWN0aW9ucygpCisKKyAgIFRoaXMgaXMgY2FsbGVkIGJ5IHRoZSBzZXJ2ZV9mb3JldmVyIGxvb3AuIFRoaXMgbWV0aG9kIGlzIGNhbiBiZSBvdmVycmlkZGVuCisgICBieSBNaXhpbidzIHRvIGFkZCBjbGVhbnVwIG9yIHNlcnZpY2Ugc3BlY2lmaWMgYWN0aW9ucy4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy4zCiAKIC4uIG1ldGhvZDo6IEJhc2VTZXJ2ZXIuc2h1dGRvd24oKQogCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9zcWxpdGUzLnJzdCBiL0RvYy9saWJyYXJ5L3NxbGl0ZTMucnN0CmluZGV4IDQxZGI1YzMuLmVhOTIwMzIgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L3NxbGl0ZTMucnN0CisrKyBiL0RvYy9saWJyYXJ5L3NxbGl0ZTMucnN0CkBAIC0zNjksNiArMzY5LDIyIEBACiAgICBtZXRob2Qgd2l0aCA6Y29uc3Q6YE5vbmVgIGZvciAqaGFuZGxlciouCiAKIAorLi4gbWV0aG9kOjogQ29ubmVjdGlvbi5zZXRfdHJhY2VfY2FsbGJhY2sodHJhY2VfY2FsbGJhY2spCisKKyAgIFJlZ2lzdGVycyAqdHJhY2VfY2FsbGJhY2sqIHRvIGJlIGNhbGxlZCBmb3IgZWFjaCBTUUwgc3RhdGVtZW50IHRoYXQgaXMKKyAgIGFjdHVhbGx5IGV4ZWN1dGVkIGJ5IHRoZSBTUUxpdGUgYmFja2VuZC4KKworICAgVGhlIG9ubHkgYXJndW1lbnQgcGFzc2VkIHRvIHRoZSBjYWxsYmFjayBpcyB0aGUgc3RhdGVtZW50IChhcyBzdHJpbmcpIHRoYXQKKyAgIGlzIGJlaW5nIGV4ZWN1dGVkLiBUaGUgcmV0dXJuIHZhbHVlIG9mIHRoZSBjYWxsYmFjayBpcyBpZ25vcmVkLiBOb3RlIHRoYXQKKyAgIHRoZSBiYWNrZW5kIGRvZXMgbm90IG9ubHkgcnVuIHN0YXRlbWVudHMgcGFzc2VkIHRvIHRoZSA6bWV0aDpgQ3Vyc29yLmV4ZWN1dGVgCisgICBtZXRob2RzLiAgT3RoZXIgc291cmNlcyBpbmNsdWRlIHRoZSB0cmFuc2FjdGlvbiBtYW5hZ2VtZW50IG9mIHRoZSBQeXRob24KKyAgIG1vZHVsZSBhbmQgdGhlIGV4ZWN1dGlvbiBvZiB0cmlnZ2VycyBkZWZpbmVkIGluIHRoZSBjdXJyZW50IGRhdGFiYXNlLgorCisgICBQYXNzaW5nIDpjb25zdDpgTm9uZWAgYXMgKnRyYWNlX2NhbGxiYWNrKiB3aWxsIGRpc2FibGUgdGhlIHRyYWNlIGNhbGxiYWNrLgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKKworCiAuLiBtZXRob2Q6OiBDb25uZWN0aW9uLmVuYWJsZV9sb2FkX2V4dGVuc2lvbihlbmFibGVkKQogCiAgICBUaGlzIHJvdXRpbmUgYWxsb3dzL2Rpc2FsbG93cyB0aGUgU1FMaXRlIGVuZ2luZSB0byBsb2FkIFNRTGl0ZSBleHRlbnNpb25zCkBAIC00MjAsMTAgKzQzNiw2IEBACiAgICA6bW9kOmBzcWxpdGUzYCBtb2R1bGUgd2lsbCByZXR1cm4gVW5pY29kZSBvYmplY3RzIGZvciBgYFRFWFRgYC4gSWYgeW91IHdhbnQgdG8KICAgIHJldHVybiBieXRlc3RyaW5ncyBpbnN0ZWFkLCB5b3UgY2FuIHNldCBpdCB0byA6Y2xhc3M6YGJ5dGVzYC4KIAotICAgRm9yIGVmZmljaWVuY3kgcmVhc29ucywgdGhlcmUncyBhbHNvIGEgd2F5IHRvIHJldHVybiA6Y2xhc3M6YHN0cmAgb2JqZWN0cwotICAgb25seSBmb3Igbm9uLUFTQ0lJIGRhdGEsIGFuZCA6Y2xhc3M6YGJ5dGVzYCBvdGhlcndpc2UuIFRvIGFjdGl2YXRlIGl0LCBzZXQKLSAgIHRoaXMgYXR0cmlidXRlIHRvIDpjb25zdDpgc3FsaXRlMy5PcHRpbWl6ZWRVbmljb2RlYC4KLQogICAgWW91IGNhbiBhbHNvIHNldCBpdCB0byBhbnkgb3RoZXIgY2FsbGFibGUgdGhhdCBhY2NlcHRzIGEgc2luZ2xlIGJ5dGVzdHJpbmcKICAgIHBhcmFtZXRlciBhbmQgcmV0dXJucyB0aGUgcmVzdWx0aW5nIG9iamVjdC4KIApkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvc3NsLnJzdCBiL0RvYy9saWJyYXJ5L3NzbC5yc3QKaW5kZXggOGNkMDdkNy4uNzY5MTk5NiAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvc3NsLnJzdAorKysgYi9Eb2MvbGlicmFyeS9zc2wucnN0CkBAIC01Myw5ICs1Myw1MyBAQAogICAgKGN1cnJlbnRseSBwcm92aWRlZCBieSB0aGUgT3BlblNTTCBsaWJyYXJ5KS4gIFRoaXMgc2lnbmlmaWVzIHNvbWUKICAgIHByb2JsZW0gaW4gdGhlIGhpZ2hlci1sZXZlbCBlbmNyeXB0aW9uIGFuZCBhdXRoZW50aWNhdGlvbiBsYXllciB0aGF0J3MKICAgIHN1cGVyaW1wb3NlZCBvbiB0aGUgdW5kZXJseWluZyBuZXR3b3JrIGNvbm5lY3Rpb24uICBUaGlzIGVycm9yCi0gICBpcyBhIHN1YnR5cGUgb2YgOmV4Yzpgc29ja2V0LmVycm9yYCwgd2hpY2ggaW4gdHVybiBpcyBhIHN1YnR5cGUgb2YKLSAgIDpleGM6YElPRXJyb3JgLiAgVGhlIGVycm9yIGNvZGUgYW5kIG1lc3NhZ2Ugb2YgOmV4YzpgU1NMRXJyb3JgIGluc3RhbmNlcwotICAgYXJlIHByb3ZpZGVkIGJ5IHRoZSBPcGVuU1NMIGxpYnJhcnkuCisgICBpcyBhIHN1YnR5cGUgb2YgOmV4YzpgT1NFcnJvcmAuICBUaGUgZXJyb3IgY29kZSBhbmQgbWVzc2FnZSBvZgorICAgOmV4YzpgU1NMRXJyb3JgIGluc3RhbmNlcyBhcmUgcHJvdmlkZWQgYnkgdGhlIE9wZW5TU0wgbGlicmFyeS4KKworICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjMKKyAgICAgIDpleGM6YFNTTEVycm9yYCB1c2VkIHRvIGJlIGEgc3VidHlwZSBvZiA6ZXhjOmBzb2NrZXQuZXJyb3JgLgorCisuLiBleGNlcHRpb246OiBTU0xaZXJvUmV0dXJuRXJyb3IKKworICAgQSBzdWJjbGFzcyBvZiA6ZXhjOmBTU0xFcnJvcmAgcmFpc2VkIHdoZW4gdHJ5aW5nIHRvIHJlYWQgb3Igd3JpdGUgYW5kCisgICB0aGUgU1NMIGNvbm5lY3Rpb24gaGFzIGJlZW4gY2xvc2VkIGNsZWFubHkuICBOb3RlIHRoYXQgdGhpcyBkb2Vzbid0CisgICBtZWFuIHRoYXQgdGhlIHVuZGVybHlpbmcgdHJhbnNwb3J0IChyZWFkIFRDUCkgaGFzIGJlZW4gY2xvc2VkLgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKKworLi4gZXhjZXB0aW9uOjogU1NMV2FudFJlYWRFcnJvcgorCisgICBBIHN1YmNsYXNzIG9mIDpleGM6YFNTTEVycm9yYCByYWlzZWQgYnkgYSA6cmVmOmBub24tYmxvY2tpbmcgU1NMIHNvY2tldAorICAgPHNzbC1ub25ibG9ja2luZz5gIHdoZW4gdHJ5aW5nIHRvIHJlYWQgb3Igd3JpdGUgZGF0YSwgYnV0IG1vcmUgZGF0YSBuZWVkcworICAgdG8gYmUgcmVjZWl2ZWQgb24gdGhlIHVuZGVybHlpbmcgVENQIHRyYW5zcG9ydCBiZWZvcmUgdGhlIHJlcXVlc3QgY2FuIGJlCisgICBmdWxmaWxsZWQuCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMworCisuLiBleGNlcHRpb246OiBTU0xXYW50V3JpdGVFcnJvcgorCisgICBBIHN1YmNsYXNzIG9mIDpleGM6YFNTTEVycm9yYCByYWlzZWQgYnkgYSA6cmVmOmBub24tYmxvY2tpbmcgU1NMIHNvY2tldAorICAgPHNzbC1ub25ibG9ja2luZz5gIHdoZW4gdHJ5aW5nIHRvIHJlYWQgb3Igd3JpdGUgZGF0YSwgYnV0IG1vcmUgZGF0YSBuZWVkcworICAgdG8gYmUgc2VudCBvbiB0aGUgdW5kZXJseWluZyBUQ1AgdHJhbnNwb3J0IGJlZm9yZSB0aGUgcmVxdWVzdCBjYW4gYmUKKyAgIGZ1bGZpbGxlZC4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy4zCisKKy4uIGV4Y2VwdGlvbjo6IFNTTFN5c2NhbGxFcnJvcgorCisgICBBIHN1YmNsYXNzIG9mIDpleGM6YFNTTEVycm9yYCByYWlzZWQgd2hlbiBhIHN5c3RlbSBlcnJvciB3YXMgZW5jb3VudGVyZWQKKyAgIHdoaWxlIHRyeWluZyB0byBmdWxmaWxsIGFuIG9wZXJhdGlvbiBvbiBhIFNTTCBzb2NrZXQuICBVbmZvcnR1bmF0ZWx5LAorICAgdGhlcmUgaXMgbm8gZWFzeSB3YXkgdG8gaW5zcGVjdCB0aGUgb3JpZ2luYWwgZXJybm8gbnVtYmVyLgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKKworLi4gZXhjZXB0aW9uOjogU1NMRU9GRXJyb3IKKworICAgQSBzdWJjbGFzcyBvZiA6ZXhjOmBTU0xFcnJvcmAgcmFpc2VkIHdoZW4gdGhlIFNTTCBjb25uZWN0aW9uIGhhcyBiZWVuCisgICB0ZXJtaW5hdGVkIGFicnVwdGx5LiAgR2VuZXJhbGx5LCB5b3Ugc2hvdWxkbid0IHRyeSB0byByZXVzZSB0aGUgdW5kZXJseWluZworICAgdHJhbnNwb3J0IHdoZW4gdGhpcyBlcnJvciBpcyBlbmNvdW50ZXJlZC4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy4zCiAKIC4uIGV4Y2VwdGlvbjo6IENlcnRpZmljYXRlRXJyb3IKIApAQCAtMTYxLDYgKzIwNSwzNSBAQAogUmFuZG9tIGdlbmVyYXRpb24KIF5eXl5eXl5eXl5eXl5eXl5eCiAKKy4uIGZ1bmN0aW9uOjogUkFORF9ieXRlcyhudW0pCisKKyAgIFJldHVybnMgKm51bSogY3J5cHRvZ3JhcGhpY2FsbHkgc3Ryb25nIHBzZXVkby1yYW5kb20gYnl0ZXMuIFJhaXNlcyBhbgorICAgOmNsYXNzOmBTU0xFcnJvcmAgaWYgdGhlIFBSTkcgaGFzIG5vdCBiZWVuIHNlZWRlZCB3aXRoIGVub3VnaCBkYXRhIG9yIGlmIHRoZQorICAgb3BlcmF0aW9uIGlzIG5vdCBzdXBwb3J0ZWQgYnkgdGhlIGN1cnJlbnQgUkFORCBtZXRob2QuIDpmdW5jOmBSQU5EX3N0YXR1c2AKKyAgIGNhbiBiZSB1c2VkIHRvIGNoZWNrIHRoZSBzdGF0dXMgb2YgdGhlIFBSTkcgYW5kIDpmdW5jOmBSQU5EX2FkZGAgY2FuIGJlIHVzZWQKKyAgIHRvIHNlZWQgdGhlIFBSTkcuCisKKyAgIFJlYWQgdGhlIFdpa2lwZWRpYSBhcnRpY2xlLCBgQ3J5cHRvZ3JhcGhpY2FsbHkgc2VjdXJlIHBzZXVkb3JhbmRvbSBudW1iZXIKKyAgIGdlbmVyYXRvciAoQ1NQUk5HKQorICAgPGh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvQ3J5cHRvZ3JhcGhpY2FsbHlfc2VjdXJlX3BzZXVkb3JhbmRvbV9udW1iZXJfZ2VuZXJhdG9yPmBfLAorICAgdG8gZ2V0IHRoZSByZXF1aXJlbWVudHMgb2YgYSBjcnlwdG9ncmFwaGljYWxseSBnZW5lcmF0b3IuCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMworCisuLiBmdW5jdGlvbjo6IFJBTkRfcHNldWRvX2J5dGVzKG51bSkKKworICAgUmV0dXJucyAoYnl0ZXMsIGlzX2NyeXB0b2dyYXBoaWMpOiBieXRlcyBhcmUgKm51bSogcHNldWRvLXJhbmRvbSBieXRlcywKKyAgIGlzX2NyeXB0b2dyYXBoaWMgaXMgVHJ1ZSBpZiB0aGUgYnl0ZXMgZ2VuZXJhdGVkIGFyZSBjcnlwdG9ncmFwaGljYWxseQorICAgc3Ryb25nLiBSYWlzZXMgYW4gOmNsYXNzOmBTU0xFcnJvcmAgaWYgdGhlIG9wZXJhdGlvbiBpcyBub3Qgc3VwcG9ydGVkIGJ5IHRoZQorICAgY3VycmVudCBSQU5EIG1ldGhvZC4KKworICAgR2VuZXJhdGVkIHBzZXVkby1yYW5kb20gYnl0ZSBzZXF1ZW5jZXMgd2lsbCBiZSB1bmlxdWUgaWYgdGhleSBhcmUgb2YKKyAgIHN1ZmZpY2llbnQgbGVuZ3RoLCBidXQgYXJlIG5vdCBuZWNlc3NhcmlseSB1bnByZWRpY3RhYmxlLiBUaGV5IGNhbiBiZSB1c2VkCisgICBmb3Igbm9uLWNyeXB0b2dyYXBoaWMgcHVycG9zZXMgYW5kIGZvciBjZXJ0YWluIHB1cnBvc2VzIGluIGNyeXB0b2dyYXBoaWMKKyAgIHByb3RvY29scywgYnV0IHVzdWFsbHkgbm90IGZvciBrZXkgZ2VuZXJhdGlvbiBldGMuCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMworCiAuLiBmdW5jdGlvbjo6IFJBTkRfc3RhdHVzKCkKIAogICAgUmV0dXJucyBUcnVlIGlmIHRoZSBTU0wgcHNldWRvLXJhbmRvbSBudW1iZXIgZ2VuZXJhdG9yIGhhcyBiZWVuIHNlZWRlZCB3aXRoCkBAIC0xNzAsNyArMjQzLDcgQEAKIAogLi4gZnVuY3Rpb246OiBSQU5EX2VnZChwYXRoKQogCi0gICBJZiB5b3UgYXJlIHJ1bm5pbmcgYW4gZW50cm9weS1nYXRoZXJpbmcgZGFlbW9uIChFR0QpIHNvbWV3aGVyZSwgYW5kIGBgcGF0aGBgCisgICBJZiB5b3UgYXJlIHJ1bm5pbmcgYW4gZW50cm9weS1nYXRoZXJpbmcgZGFlbW9uIChFR0QpIHNvbWV3aGVyZSwgYW5kICpwYXRoKgogICAgaXMgdGhlIHBhdGhuYW1lIG9mIGEgc29ja2V0IGNvbm5lY3Rpb24gb3BlbiB0byBpdCwgdGhpcyB3aWxsIHJlYWQgMjU2IGJ5dGVzCiAgICBvZiByYW5kb21uZXNzIGZyb20gdGhlIHNvY2tldCwgYW5kIGFkZCBpdCB0byB0aGUgU1NMIHBzZXVkby1yYW5kb20gbnVtYmVyCiAgICBnZW5lcmF0b3IgdG8gaW5jcmVhc2UgdGhlIHNlY3VyaXR5IG9mIGdlbmVyYXRlZCBzZWNyZXQga2V5cy4gIFRoaXMgaXMKQEAgLTE4MSw4ICsyNTQsOCBAQAogCiAuLiBmdW5jdGlvbjo6IFJBTkRfYWRkKGJ5dGVzLCBlbnRyb3B5KQogCi0gICBNaXhlcyB0aGUgZ2l2ZW4gYGBieXRlc2BgIGludG8gdGhlIFNTTCBwc2V1ZG8tcmFuZG9tIG51bWJlciBnZW5lcmF0b3IuICBUaGUKLSAgIHBhcmFtZXRlciBgYGVudHJvcHlgYCAoYSBmbG9hdCkgaXMgYSBsb3dlciBib3VuZCBvbiB0aGUgZW50cm9weSBjb250YWluZWQgaW4KKyAgIE1peGVzIHRoZSBnaXZlbiAqYnl0ZXMqIGludG8gdGhlIFNTTCBwc2V1ZG8tcmFuZG9tIG51bWJlciBnZW5lcmF0b3IuICBUaGUKKyAgIHBhcmFtZXRlciAqZW50cm9weSogKGEgZmxvYXQpIGlzIGEgbG93ZXIgYm91bmQgb24gdGhlIGVudHJvcHkgY29udGFpbmVkIGluCiAgICBzdHJpbmcgKHNvIHlvdSBjYW4gYWx3YXlzIHVzZSA6Y29uc3Q6YDAuMGApLiAgU2VlIDpyZmM6YDE3NTBgIGZvciBtb3JlCiAgICBpbmZvcm1hdGlvbiBvbiBzb3VyY2VzIG9mIGVudHJvcHkuCiAKQEAgLTIzOCw2ICszMTEsOSBAQAogICAgd2lsbCBhdHRlbXB0IHRvIHZhbGlkYXRlIHRoZSBzZXJ2ZXIgY2VydGlmaWNhdGUgYWdhaW5zdCB0aGF0IHNldCBvZiByb290CiAgICBjZXJ0aWZpY2F0ZXMsIGFuZCB3aWxsIGZhaWwgaWYgdGhlIHZhbGlkYXRpb24gYXR0ZW1wdCBmYWlscy4KIAorICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjMKKyAgICAgIFRoaXMgZnVuY3Rpb24gaXMgbm93IElQdjYtY29tcGF0aWJsZS4KKwogLi4gZnVuY3Rpb246OiBERVJfY2VydF90b19QRU1fY2VydChERVJfY2VydF9ieXRlcykKIAogICAgR2l2ZW4gYSBjZXJ0aWZpY2F0ZSBhcyBhIERFUi1lbmNvZGVkIGJsb2Igb2YgYnl0ZXMsIHJldHVybnMgYSBQRU0tZW5jb2RlZApAQCAtMzQ1LDYgKzQyMSw0NiBAQAogCiAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjIKIAorLi4gZGF0YTo6IE9QX0NJUEhFUl9TRVJWRVJfUFJFRkVSRU5DRQorCisgICBVc2UgdGhlIHNlcnZlcidzIGNpcGhlciBvcmRlcmluZyBwcmVmZXJlbmNlLCByYXRoZXIgdGhhbiB0aGUgY2xpZW50J3MuCisgICBUaGlzIG9wdGlvbiBoYXMgbm8gZWZmZWN0IG9uIGNsaWVudCBzb2NrZXRzIGFuZCBTU0x2MiBzZXJ2ZXIgc29ja2V0cy4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy4zCisKKy4uIGRhdGE6OiBPUF9TSU5HTEVfREhfVVNFCisKKyAgIFByZXZlbnRzIHJlLXVzZSBvZiB0aGUgc2FtZSBESCBrZXkgZm9yIGRpc3RpbmN0IFNTTCBzZXNzaW9ucy4gIFRoaXMKKyAgIGltcHJvdmVzIGZvcndhcmQgc2VjcmVjeSBidXQgcmVxdWlyZXMgbW9yZSBjb21wdXRhdGlvbmFsIHJlc291cmNlcy4KKyAgIFRoaXMgb3B0aW9uIG9ubHkgYXBwbGllcyB0byBzZXJ2ZXIgc29ja2V0cy4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy4zCisKKy4uIGRhdGE6OiBPUF9TSU5HTEVfRUNESF9VU0UKKworICAgUHJldmVudHMgcmUtdXNlIG9mIHRoZSBzYW1lIEVDREgga2V5IGZvciBkaXN0aW5jdCBTU0wgc2Vzc2lvbnMuICBUaGlzCisgICBpbXByb3ZlcyBmb3J3YXJkIHNlY3JlY3kgYnV0IHJlcXVpcmVzIG1vcmUgY29tcHV0YXRpb25hbCByZXNvdXJjZXMuCisgICBUaGlzIG9wdGlvbiBvbmx5IGFwcGxpZXMgdG8gc2VydmVyIHNvY2tldHMuCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMworCisuLiBkYXRhOjogT1BfTk9fQ09NUFJFU1NJT04KKworICAgRGlzYWJsZSBjb21wcmVzc2lvbiBvbiB0aGUgU1NMIGNoYW5uZWwuICBUaGlzIGlzIHVzZWZ1bCBpZiB0aGUgYXBwbGljYXRpb24KKyAgIHByb3RvY29sIHN1cHBvcnRzIGl0cyBvd24gY29tcHJlc3Npb24gc2NoZW1lLgorCisgICBUaGlzIG9wdGlvbiBpcyBvbmx5IGF2YWlsYWJsZSB3aXRoIE9wZW5TU0wgMS4wLjAgYW5kIGxhdGVyLgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKKworLi4gZGF0YTo6IEhBU19FQ0RICisKKyAgIFdoZXRoZXIgdGhlIE9wZW5TU0wgbGlicmFyeSBoYXMgYnVpbHQtaW4gc3VwcG9ydCBmb3IgRWxsaXB0aWMgQ3VydmUtYmFzZWQKKyAgIERpZmZpZS1IZWxsbWFuIGtleSBleGNoYW5nZS4gIFRoaXMgc2hvdWxkIGJlIHRydWUgdW5sZXNzIHRoZSBmZWF0dXJlIHdhcworICAgZXhwbGljaXRseSBkaXNhYmxlZCBieSB0aGUgZGlzdHJpYnV0b3IuCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMworCiAuLiBkYXRhOjogSEFTX1NOSQogCiAgICBXaGV0aGVyIHRoZSBPcGVuU1NMIGxpYnJhcnkgaGFzIGJ1aWx0LWluIHN1cHBvcnQgZm9yIHRoZSAqU2VydmVyIE5hbWUKQEAgLTM1NCw2ICs0NzAsMTMgQEAKIAogICAgLi4gdmVyc2lvbmFkZGVkOjogMy4yCiAKKy4uIGRhdGE6OiBDSEFOTkVMX0JJTkRJTkdfVFlQRVMKKworICAgTGlzdCBvZiBzdXBwb3J0ZWQgVExTIGNoYW5uZWwgYmluZGluZyB0eXBlcy4gIFN0cmluZ3MgaW4gdGhpcyBsaXN0CisgICBjYW4gYmUgdXNlZCBhcyBhcmd1bWVudHMgdG8gOm1ldGg6YFNTTFNvY2tldC5nZXRfY2hhbm5lbF9iaW5kaW5nYC4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy4zCisKIC4uIGRhdGE6OiBPUEVOU1NMX1ZFUlNJT04KIAogICAgVGhlIHZlcnNpb24gc3RyaW5nIG9mIHRoZSBPcGVuU1NMIGxpYnJhcnkgbG9hZGVkIGJ5IHRoZSBpbnRlcnByZXRlcjo6CkBAIC00NjMsNiArNTg2LDI4IEBACiAgICB2ZXJzaW9uIG9mIHRoZSBTU0wgcHJvdG9jb2wgdGhhdCBkZWZpbmVzIGl0cyB1c2UsIGFuZCB0aGUgbnVtYmVyIG9mIHNlY3JldAogICAgYml0cyBiZWluZyB1c2VkLiAgSWYgbm8gY29ubmVjdGlvbiBoYXMgYmVlbiBlc3RhYmxpc2hlZCwgcmV0dXJucyBgYE5vbmVgYC4KIAorLi4gbWV0aG9kOjogU1NMU29ja2V0LmNvbXByZXNzaW9uKCkKKworICAgUmV0dXJuIHRoZSBjb21wcmVzc2lvbiBhbGdvcml0aG0gYmVpbmcgdXNlZCBhcyBhIHN0cmluZywgb3IgYGBOb25lYGAKKyAgIGlmIHRoZSBjb25uZWN0aW9uIGlzbid0IGNvbXByZXNzZWQuCisKKyAgIElmIHRoZSBoaWdoZXItbGV2ZWwgcHJvdG9jb2wgc3VwcG9ydHMgaXRzIG93biBjb21wcmVzc2lvbiBtZWNoYW5pc20sCisgICB5b3UgY2FuIHVzZSA6ZGF0YTpgT1BfTk9fQ09NUFJFU1NJT05gIHRvIGRpc2FibGUgU1NMLWxldmVsIGNvbXByZXNzaW9uLgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKKworLi4gbWV0aG9kOjogU1NMU29ja2V0LmdldF9jaGFubmVsX2JpbmRpbmcoY2JfdHlwZT0idGxzLXVuaXF1ZSIpCisKKyAgIEdldCBjaGFubmVsIGJpbmRpbmcgZGF0YSBmb3IgY3VycmVudCBjb25uZWN0aW9uLCBhcyBhIGJ5dGVzIG9iamVjdC4gIFJldHVybnMKKyAgIGBgTm9uZWBgIGlmIG5vdCBjb25uZWN0ZWQgb3IgdGhlIGhhbmRzaGFrZSBoYXMgbm90IGJlZW4gY29tcGxldGVkLgorCisgICBUaGUgKmNiX3R5cGUqIHBhcmFtZXRlciBhbGxvdyBzZWxlY3Rpb24gb2YgdGhlIGRlc2lyZWQgY2hhbm5lbCBiaW5kaW5nCisgICB0eXBlLiBWYWxpZCBjaGFubmVsIGJpbmRpbmcgdHlwZXMgYXJlIGxpc3RlZCBpbiB0aGUKKyAgIDpkYXRhOmBDSEFOTkVMX0JJTkRJTkdfVFlQRVNgIGxpc3QuICBDdXJyZW50bHkgb25seSB0aGUgJ3Rscy11bmlxdWUnIGNoYW5uZWwKKyAgIGJpbmRpbmcsIGRlZmluZWQgYnkgOnJmYzpgNTkyOWAsIGlzIHN1cHBvcnRlZC4gIDpleGM6YFZhbHVlRXJyb3JgIHdpbGwgYmUKKyAgIHJhaXNlZCBpZiBhbiB1bnN1cHBvcnRlZCBjaGFubmVsIGJpbmRpbmcgdHlwZSBpcyByZXF1ZXN0ZWQuCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMwogCiAuLiBtZXRob2Q6OiBTU0xTb2NrZXQudW53cmFwKCkKIApAQCAtNTAyLDcgKzY0Nyw3IEBACiAKIDpjbGFzczpgU1NMQ29udGV4dGAgb2JqZWN0cyBoYXZlIHRoZSBmb2xsb3dpbmcgbWV0aG9kcyBhbmQgYXR0cmlidXRlczoKIAotLi4gbWV0aG9kOjogU1NMQ29udGV4dC5sb2FkX2NlcnRfY2hhaW4oY2VydGZpbGUsIGtleWZpbGU9Tm9uZSkKKy4uIG1ldGhvZDo6IFNTTENvbnRleHQubG9hZF9jZXJ0X2NoYWluKGNlcnRmaWxlLCBrZXlmaWxlPU5vbmUsIHBhc3N3b3JkPU5vbmUpCiAKICAgIExvYWQgYSBwcml2YXRlIGtleSBhbmQgdGhlIGNvcnJlc3BvbmRpbmcgY2VydGlmaWNhdGUuICBUaGUgKmNlcnRmaWxlKgogICAgc3RyaW5nIG11c3QgYmUgdGhlIHBhdGggdG8gYSBzaW5nbGUgZmlsZSBpbiBQRU0gZm9ybWF0IGNvbnRhaW5pbmcgdGhlCkBAIC01MTMsOSArNjU4LDI1IEBACiAgICA6cmVmOmBzc2wtY2VydGlmaWNhdGVzYCBmb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiBob3cgdGhlIGNlcnRpZmljYXRlCiAgICBpcyBzdG9yZWQgaW4gdGhlICpjZXJ0ZmlsZSouCiAKKyAgIFRoZSAqcGFzc3dvcmQqIGFyZ3VtZW50IG1heSBiZSBhIGZ1bmN0aW9uIHRvIGNhbGwgdG8gZ2V0IHRoZSBwYXNzd29yZCBmb3IKKyAgIGRlY3J5cHRpbmcgdGhlIHByaXZhdGUga2V5LiAgSXQgd2lsbCBvbmx5IGJlIGNhbGxlZCBpZiB0aGUgcHJpdmF0ZSBrZXkgaXMKKyAgIGVuY3J5cHRlZCBhbmQgYSBwYXNzd29yZCBpcyBuZWNlc3NhcnkuICBJdCB3aWxsIGJlIGNhbGxlZCB3aXRoIG5vIGFyZ3VtZW50cywKKyAgIGFuZCBpdCBzaG91bGQgcmV0dXJuIGEgc3RyaW5nLCBieXRlcywgb3IgYnl0ZWFycmF5LiAgSWYgdGhlIHJldHVybiB2YWx1ZSBpcworICAgYSBzdHJpbmcgaXQgd2lsbCBiZSBlbmNvZGVkIGFzIFVURi04IGJlZm9yZSB1c2luZyBpdCB0byBkZWNyeXB0IHRoZSBrZXkuCisgICBBbHRlcm5hdGl2ZWx5IGEgc3RyaW5nLCBieXRlcywgb3IgYnl0ZWFycmF5IHZhbHVlIG1heSBiZSBzdXBwbGllZCBkaXJlY3RseQorICAgYXMgdGhlICpwYXNzd29yZCogYXJndW1lbnQuICBJdCB3aWxsIGJlIGlnbm9yZWQgaWYgdGhlIHByaXZhdGUga2V5IGlzIG5vdAorICAgZW5jcnlwdGVkIGFuZCBubyBwYXNzd29yZCBpcyBuZWVkZWQuCisKKyAgIElmIHRoZSAqcGFzc3dvcmQqIGFyZ3VtZW50IGlzIG5vdCBzcGVjaWZpZWQgYW5kIGEgcGFzc3dvcmQgaXMgcmVxdWlyZWQsCisgICBPcGVuU1NMJ3MgYnVpbHQtaW4gcGFzc3dvcmQgcHJvbXB0aW5nIG1lY2hhbmlzbSB3aWxsIGJlIHVzZWQgdG8KKyAgIGludGVyYWN0aXZlbHkgcHJvbXB0IHRoZSB1c2VyIGZvciBhIHBhc3N3b3JkLgorCiAgICBBbiA6Y2xhc3M6YFNTTEVycm9yYCBpcyByYWlzZWQgaWYgdGhlIHByaXZhdGUga2V5IGRvZXNuJ3QKICAgIG1hdGNoIHdpdGggdGhlIGNlcnRpZmljYXRlLgogCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMworICAgICAgTmV3IG9wdGlvbmFsIGFyZ3VtZW50ICpwYXNzd29yZCouCisKIC4uIG1ldGhvZDo6IFNTTENvbnRleHQubG9hZF92ZXJpZnlfbG9jYXRpb25zKGNhZmlsZT1Ob25lLCBjYXBhdGg9Tm9uZSkKIAogICAgTG9hZCBhIHNldCBvZiAiY2VydGlmaWNhdGlvbiBhdXRob3JpdHkiIChDQSkgY2VydGlmaWNhdGVzIHVzZWQgdG8gdmFsaWRhdGUKQEAgLTU1NCw2ICs3MTUsMzggQEAKICAgICAgIHdoZW4gY29ubmVjdGVkLCB0aGUgOm1ldGg6YFNTTFNvY2tldC5jaXBoZXJgIG1ldGhvZCBvZiBTU0wgc29ja2V0cyB3aWxsCiAgICAgICBnaXZlIHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgY2lwaGVyLgogCisuLiBtZXRob2Q6OiBTU0xDb250ZXh0LmxvYWRfZGhfcGFyYW1zKGRoZmlsZSkKKworICAgTG9hZCB0aGUga2V5IGdlbmVyYXRpb24gcGFyYW1ldGVycyBmb3IgRGlmZmllLUhlbG1hbiAoREgpIGtleSBleGNoYW5nZS4KKyAgIFVzaW5nIERIIGtleSBleGNoYW5nZSBpbXByb3ZlcyBmb3J3YXJkIHNlY3JlY3kgYXQgdGhlIGV4cGVuc2Ugb2YKKyAgIGNvbXB1dGF0aW9uYWwgcmVzb3VyY2VzIChib3RoIG9uIHRoZSBzZXJ2ZXIgYW5kIG9uIHRoZSBjbGllbnQpLgorICAgVGhlICpkaGZpbGUqIHBhcmFtZXRlciBzaG91bGQgYmUgdGhlIHBhdGggdG8gYSBmaWxlIGNvbnRhaW5pbmcgREgKKyAgIHBhcmFtZXRlcnMgaW4gUEVNIGZvcm1hdC4KKworICAgVGhpcyBzZXR0aW5nIGRvZXNuJ3QgYXBwbHkgdG8gY2xpZW50IHNvY2tldHMuICBZb3UgY2FuIGFsc28gdXNlIHRoZQorICAgOmRhdGE6YE9QX1NJTkdMRV9ESF9VU0VgIG9wdGlvbiB0byBmdXJ0aGVyIGltcHJvdmUgc2VjdXJpdHkuCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMworCisuLiBtZXRob2Q6OiBTU0xDb250ZXh0LnNldF9lY2RoX2N1cnZlKGN1cnZlX25hbWUpCisKKyAgIFNldCB0aGUgY3VydmUgbmFtZSBmb3IgRWxsaXB0aWMgQ3VydmUtYmFzZWQgRGlmZmllLUhlbGxtYW4gKEVDREgpIGtleQorICAgZXhjaGFuZ2UuICBFQ0RIIGlzIHNpZ25pZmljYW50bHkgZmFzdGVyIHRoYW4gcmVndWxhciBESCB3aGlsZSBhcmd1YWJseQorICAgYXMgc2VjdXJlLiAgVGhlICpjdXJ2ZV9uYW1lKiBwYXJhbWV0ZXIgc2hvdWxkIGJlIGEgc3RyaW5nIGRlc2NyaWJpbmcKKyAgIGEgd2VsbC1rbm93biBlbGxpcHRpYyBjdXJ2ZSwgZm9yIGV4YW1wbGUgYGBwcmltZTI1NnYxYGAgZm9yIGEgd2lkZWx5CisgICBzdXBwb3J0ZWQgY3VydmUuCisKKyAgIFRoaXMgc2V0dGluZyBkb2Vzbid0IGFwcGx5IHRvIGNsaWVudCBzb2NrZXRzLiAgWW91IGNhbiBhbHNvIHVzZSB0aGUKKyAgIDpkYXRhOmBPUF9TSU5HTEVfRUNESF9VU0VgIG9wdGlvbiB0byBmdXJ0aGVyIGltcHJvdmUgc2VjdXJpdHkuCisKKyAgIFRoaXMgbWV0aG9kIGlzIG5vdCBhdmFpbGFibGUgaWYgOmRhdGE6YEhBU19FQ0RIYCBpcyBGYWxzZS4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy4zCisKKyAgIC4uIHNlZWFsc286OgorICAgICAgYFNTTC9UTFMgJiBQZXJmZWN0IEZvcndhcmQgU2VjcmVjeSA8aHR0cDovL3ZpbmNlbnQuYmVybmF0LmltL2VuL2Jsb2cvMjAxMS1zc2wtcGVyZmVjdC1mb3J3YXJkLXNlY3JlY3kuaHRtbD5gXworICAgICAgICAgVmluY2VudCBCZXJuYXQuCisKIC4uIG1ldGhvZDo6IFNTTENvbnRleHQud3JhcF9zb2NrZXQoc29jaywgc2VydmVyX3NpZGU9RmFsc2UsIFwKICAgICAgIGRvX2hhbmRzaGFrZV9vbl9jb25uZWN0PVRydWUsIHN1cHByZXNzX3JhZ2dlZF9lb2ZzPVRydWUsIFwKICAgICAgIHNlcnZlcl9ob3N0bmFtZT1Ob25lKQpAQCAtOTY4LDEzICsxMTYxLDEwIEBACiAgICAgICAgIHRyeToKICAgICAgICAgICAgIHNvY2suZG9faGFuZHNoYWtlKCkKICAgICAgICAgICAgIGJyZWFrCi0gICAgICAgIGV4Y2VwdCBzc2wuU1NMRXJyb3IgYXMgZXJyOgotICAgICAgICAgICAgaWYgZXJyLmFyZ3NbMF0gPT0gc3NsLlNTTF9FUlJPUl9XQU5UX1JFQUQ6Ci0gICAgICAgICAgICAgICAgc2VsZWN0LnNlbGVjdChbc29ja10sIFtdLCBbXSkKLSAgICAgICAgICAgIGVsaWYgZXJyLmFyZ3NbMF0gPT0gc3NsLlNTTF9FUlJPUl9XQU5UX1dSSVRFOgotICAgICAgICAgICAgICAgIHNlbGVjdC5zZWxlY3QoW10sIFtzb2NrXSwgW10pCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHJhaXNlCisgICAgICAgIGV4Y2VwdCBzc2wuU1NMV2FudFJlYWRFcnJvcjoKKyAgICAgICAgICAgIHNlbGVjdC5zZWxlY3QoW3NvY2tdLCBbXSwgW10pCisgICAgICAgIGV4Y2VwdCBzc2wuU1NMV2FudFdyaXRlRXJyb3I6CisgICAgICAgICAgICBzZWxlY3Quc2VsZWN0KFtdLCBbc29ja10sIFtdKQogCiAKIC4uIF9zc2wtc2VjdXJpdHk6CmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9zdGR0eXBlcy5yc3QgYi9Eb2MvbGlicmFyeS9zdGR0eXBlcy5yc3QKaW5kZXggMTUzZWU0NC4uYTUxM2Q0MCAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvc3RkdHlwZXMucnN0CisrKyBiL0RvYy9saWJyYXJ5L3N0ZHR5cGVzLnJzdApAQCAtMTUsNiArMTUsMTAgQEAKIFRoZSBwcmluY2lwYWwgYnVpbHQtaW4gdHlwZXMgYXJlIG51bWVyaWNzLCBzZXF1ZW5jZXMsIG1hcHBpbmdzLCBjbGFzc2VzLAogaW5zdGFuY2VzIGFuZCBleGNlcHRpb25zLgogCitTb21lIGNvbGxlY3Rpb24gY2xhc3NlcyBhcmUgbXV0YWJsZS4gIFRoZSBtZXRob2RzIHRoYXQgYWRkLCBzdWJ0cmFjdCwgb3IKK3JlYXJyYW5nZSB0aGVpciBtZW1iZXJzIGluIHBsYWNlLCBhbmQgZG9uJ3QgcmV0dXJuIGEgc3BlY2lmaWMgaXRlbSwgbmV2ZXIgcmV0dXJuCit0aGUgY29sbGVjdGlvbiBpbnN0YW5jZSBpdHNlbGYgYnV0IGBgTm9uZWBgLgorCiBTb21lIG9wZXJhdGlvbnMgYXJlIHN1cHBvcnRlZCBieSBzZXZlcmFsIG9iamVjdCB0eXBlczsgaW4gcGFydGljdWxhciwKIHByYWN0aWNhbGx5IGFsbCBvYmplY3RzIGNhbiBiZSBjb21wYXJlZCwgdGVzdGVkIGZvciB0cnV0aCB2YWx1ZSwgYW5kIGNvbnZlcnRlZAogdG8gYSBzdHJpbmcgKHdpdGggdGhlIDpmdW5jOmByZXByYCBmdW5jdGlvbiBvciB0aGUgc2xpZ2h0bHkgZGlmZmVyZW50CkBAIC05OTgsNiArMTAwMiwyMyBAQAogICAgcmVzdCBsb3dlcmNhc2VkLgogCiAKKy4uIG1ldGhvZDo6IHN0ci5jYXNlZm9sZCgpCisKKyAgIFJldHVybiBhIGNhc2Vmb2xkZWQgY29weSBvZiB0aGUgc3RyaW5nLiBDYXNlZm9sZGVkIHN0cmluZ3MgbWF5IGJlIHVzZWQgZm9yCisgICBjYXNlbGVzcyBtYXRjaGluZy4KKworICAgQ2FzZWZvbGRpbmcgaXMgc2ltaWxhciB0byBsb3dlcmNhc2luZyBidXQgbW9yZSBhZ2dyZXNzaXZlIGJlY2F1c2UgaXQgaXMKKyAgIGludGVuZGVkIHRvIHJlbW92ZSBhbGwgY2FzZSBkaXN0aW5jdGlvbnMgaW4gYSBzdHJpbmcuIEZvciBleGFtcGxlLCB0aGUgR2VybWFuCisgICBsb3dlcmNhc2UgbGV0dGVyIGBgJ8OfJ2BgIGlzIGVxdWl2YWxlbnQgdG8gYGAic3MiYGAuIFNpbmNlIGl0IGlzIGFscmVhZHkKKyAgIGxvd2VyY2FzZSwgOm1ldGg6YGxvd2VyYCB3b3VsZCBkbyBub3RoaW5nIHRvIGBgJ8OfJ2BgOyA6bWV0aDpgY2FzZWZvbGRgCisgICBjb252ZXJ0cyBpdCB0byBgYCJzcyJgYC4KKworICAgVGhlIGNhc2Vmb2xkaW5nIGFsZ29yaXRobSBpcyBkZXNjcmliZWQgaW4gc2VjdGlvbiAzLjEzIG9mIHRoZSBVbmljb2RlCisgICBTdGFuZGFyZC4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy4zCisKKwogLi4gbWV0aG9kOjogc3RyLmNlbnRlcih3aWR0aFssIGZpbGxjaGFyXSkKIAogICAgUmV0dXJuIGNlbnRlcmVkIGluIGEgc3RyaW5nIG9mIGxlbmd0aCAqd2lkdGgqLiBQYWRkaW5nIGlzIGRvbmUgdXNpbmcgdGhlCkBAIC0xMjA1LDYgKzEyMjYsOSBAQAogICAgUmV0dXJuIGEgY29weSBvZiB0aGUgc3RyaW5nIHdpdGggYWxsIHRoZSBjYXNlZCBjaGFyYWN0ZXJzIFs0XV8gY29udmVydGVkIHRvCiAgICBsb3dlcmNhc2UuCiAKKyAgIFRoZSBsb3dlcmNhc2luZyBhbGdvcml0aG0gdXNlZCBpcyBkZXNjcmliZWQgaW4gc2VjdGlvbiAzLjEzIG9mIHRoZSBVbmljb2RlCisgICBTdGFuZGFyZC4KKwogCiAuLiBtZXRob2Q6OiBzdHIubHN0cmlwKFtjaGFyc10pCiAKQEAgLTEyNzcsNyArMTMwMSw3IEBACiAgICB0d28gZW1wdHkgc3RyaW5ncywgZm9sbG93ZWQgYnkgdGhlIHN0cmluZyBpdHNlbGYuCiAKIAotLi4gbWV0aG9kOjogc3RyLnJzcGxpdChbc2VwWywgbWF4c3BsaXRdXSkKKy4uIG1ldGhvZDo6IHN0ci5yc3BsaXQoc2VwPU5vbmUsIG1heHNwbGl0PS0xKQogCiAgICBSZXR1cm4gYSBsaXN0IG9mIHRoZSB3b3JkcyBpbiB0aGUgc3RyaW5nLCB1c2luZyAqc2VwKiBhcyB0aGUgZGVsaW1pdGVyIHN0cmluZy4KICAgIElmICptYXhzcGxpdCogaXMgZ2l2ZW4sIGF0IG1vc3QgKm1heHNwbGl0KiBzcGxpdHMgYXJlIGRvbmUsIHRoZSAqcmlnaHRtb3N0KgpAQCAtMTI5OSw3ICsxMzIzLDcgQEAKICAgICAgICdtaXNzaXNzJwogCiAKLS4uIG1ldGhvZDo6IHN0ci5zcGxpdChbc2VwWywgbWF4c3BsaXRdXSkKKy4uIG1ldGhvZDo6IHN0ci5zcGxpdChzZXA9Tm9uZSwgbWF4c3BsaXQ9LTEpCiAKICAgIFJldHVybiBhIGxpc3Qgb2YgdGhlIHdvcmRzIGluIHRoZSBzdHJpbmcsIHVzaW5nICpzZXAqIGFzIHRoZSBkZWxpbWl0ZXIKICAgIHN0cmluZy4gIElmICptYXhzcGxpdCogaXMgZ2l2ZW4sIGF0IG1vc3QgKm1heHNwbGl0KiBzcGxpdHMgYXJlIGRvbmUgKHRodXMsCkBAIC0xMzU2LDcgKzEzODAsOCBAQAogLi4gbWV0aG9kOjogc3RyLnN3YXBjYXNlKCkKIAogICAgUmV0dXJuIGEgY29weSBvZiB0aGUgc3RyaW5nIHdpdGggdXBwZXJjYXNlIGNoYXJhY3RlcnMgY29udmVydGVkIHRvIGxvd2VyY2FzZSBhbmQKLSAgIHZpY2UgdmVyc2EuCisgICB2aWNlIHZlcnNhLiBOb3RlIHRoYXQgaXQgaXMgbm90IG5lY2Vzc2FyaWx5IHRydWUgdGhhdAorICAgYGBzLnN3YXBjYXNlKCkuc3dhcGNhc2UoKSA9PSBzYGAuCiAKIAogLi4gbWV0aG9kOjogc3RyLnRpdGxlKCkKQEAgLTE0MDcsNyArMTQzMiwxMSBAQAogICAgUmV0dXJuIGEgY29weSBvZiB0aGUgc3RyaW5nIHdpdGggYWxsIHRoZSBjYXNlZCBjaGFyYWN0ZXJzIFs0XV8gY29udmVydGVkIHRvCiAgICB1cHBlcmNhc2UuICBOb3RlIHRoYXQgYGBzdHIudXBwZXIoKS5pc3VwcGVyKClgYCBtaWdodCBiZSBgYEZhbHNlYGAgaWYgYGBzYGAKICAgIGNvbnRhaW5zIHVuY2FzZWQgY2hhcmFjdGVycyBvciBpZiB0aGUgVW5pY29kZSBjYXRlZ29yeSBvZiB0aGUgcmVzdWx0aW5nCi0gICBjaGFyYWN0ZXIocykgaXMgbm90ICJMdSIgKExldHRlciwgdXBwZXJjYXNlKSwgYnV0IGUuZy4gIkx0IiAoTGV0dGVyLCB0aXRsZWNhc2UpLgorICAgY2hhcmFjdGVyKHMpIGlzIG5vdCAiTHUiIChMZXR0ZXIsIHVwcGVyY2FzZSksIGJ1dCBlLmcuICJMdCIgKExldHRlciwKKyAgIHRpdGxlY2FzZSkuCisKKyAgIFRoZSB1cHBlcmNhc2luZyBhbGdvcml0aG0gdXNlZCBpcyBkZXNjcmliZWQgaW4gc2VjdGlvbiAzLjEzIG9mIHRoZSBVbmljb2RlCisgICBTdGFuZGFyZC4KIAogCiAuLiBtZXRob2Q6OiBzdHIuemZpbGwod2lkdGgpCkBAIC0xNjcyLDYgKzE3MDEsOCBAQAogICAgc2luZ2xlOiBhcHBlbmQoKSAoc2VxdWVuY2UgbWV0aG9kKQogICAgc2luZ2xlOiBleHRlbmQoKSAoc2VxdWVuY2UgbWV0aG9kKQogICAgc2luZ2xlOiBjb3VudCgpIChzZXF1ZW5jZSBtZXRob2QpCisgICBzaW5nbGU6IGNsZWFyKCkgKHNlcXVlbmNlIG1ldGhvZCkKKyAgIHNpbmdsZTogY29weSgpIChzZXF1ZW5jZSBtZXRob2QpCiAgICBzaW5nbGU6IGluZGV4KCkgKHNlcXVlbmNlIG1ldGhvZCkKICAgIHNpbmdsZTogaW5zZXJ0KCkgKHNlcXVlbmNlIG1ldGhvZCkKICAgIHNpbmdsZTogcG9wKCkgKHNlcXVlbmNlIG1ldGhvZCkKQEAgLTE3MDMsNiArMTczNCwxMiBAQAogfCBgYHMuZXh0ZW5kKHgpYGAgICAgICAgICAgICAgIHwgc2FtZSBhcyBgYHNbbGVuKHMpOmxlbihzKV0gPSAgIHwgXCgyKSAgICAgICAgICAgICAgICB8CiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCB4YGAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgIHwKICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworfCBgYHMuY2xlYXIoKWBgICAgICAgICAgICAgICAgIHwgcmVtb3ZlIGFsbCBpdGVtcyBmcm9tIGBgc2BgICAgIHwgICAgICAgICAgICAgICAgICAgICB8Cit8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgIHwKKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworfCBgYHMuY29weSgpYGAgICAgICAgICAgICAgICAgIHwgcmV0dXJuIGEgc2hhbGxvdyBjb3B5IG9mIGBgc2BgIHwgICAgICAgICAgICAgICAgICAgICB8Cit8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgIHwKKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwogfCBgYHMuY291bnQoeClgYCAgICAgICAgICAgICAgIHwgcmV0dXJuIG51bWJlciBvZiAqaSoncyBmb3IgICAgIHwgICAgICAgICAgICAgICAgICAgICB8CiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCB3aGljaCBgYHNbaV0gPT0geGBgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgIHwKICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwpAQCAtMTc4MSw2ICsxODE4LDkgQEAKICg4KQogICAgOm1ldGg6YHNvcnRgIGlzIG5vdCBzdXBwb3J0ZWQgYnkgOmNsYXNzOmBieXRlYXJyYXlgIG9iamVjdHMuCiAKKyAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKKyAgICAgICA6bWV0aDpgY2xlYXJgIGFuZCA6bWV0aDpgIWNvcHlgIG1ldGhvZHMuCisKIAogLi4gX2J5dGVzLW1ldGhvZHM6CiAKQEAgLTE3OTgsNiArMTgzOCwxMiBAQAogV2hlcmV2ZXIgb25lIG9mIHRoZXNlIG1ldGhvZHMgbmVlZHMgdG8gaW50ZXJwcmV0IHRoZSBieXRlcyBhcyBjaGFyYWN0ZXJzCiAoZS5nLiB0aGUgOmZ1bmM6YGlzLi4uYCBtZXRob2RzKSwgdGhlIEFTQ0lJIGNoYXJhY3RlciBzZXQgaXMgYXNzdW1lZC4KIAorLi4gdmVyc2lvbmFkZGVkOjogMy4zCisgICBUaGUgZnVuY3Rpb25zIDpmdW5jOmBjb3VudGAsIDpmdW5jOmBmaW5kYCwgOmZ1bmM6YGluZGV4YCwKKyAgIDpmdW5jOmByZmluZGAgYW5kIDpmdW5jOmByaW5kZXhgIGhhdmUgYWRkaXRpb25hbCBzZW1hbnRpY3MgY29tcGFyZWQgdG8KKyAgIHRoZSBjb3JyZXNwb25kaW5nIHN0cmluZyBmdW5jdGlvbnM6IFRoZXkgYWxzbyBhY2NlcHQgYW4gaW50ZWdlciBpbgorICAgcmFuZ2UgMCB0byAyNTUgKGEgYnl0ZSkgYXMgdGhlaXIgZmlyc3QgYXJndW1lbnQuCisKIC4uIG5vdGU6OgogCiAgICBUaGUgbWV0aG9kcyBvbiBieXRlcyBhbmQgYnl0ZWFycmF5IG9iamVjdHMgZG9uJ3QgYWNjZXB0IHN0cmluZ3MgYXMgdGhlaXIKQEAgLTIxNjIsNiArMjIwOCwxMCBAQAogICAgICAgU2VlIDpjbGFzczpgY29sbGVjdGlvbnMuQ291bnRlcmAgZm9yIGEgY29tcGxldGUgaW1wbGVtZW50YXRpb24gaW5jbHVkaW5nCiAgICAgICBvdGhlciBtZXRob2RzIGhlbHBmdWwgZm9yIGFjY3VtdWxhdGluZyBhbmQgbWFuYWdpbmcgdGFsbGllcy4KIAorICAgICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjMKKyAgICAgICAgIElmIHRoZSBkaWN0IGlzIG1vZGlmaWVkIGR1cmluZyB0aGUgbG9va3VwLCBhIDpleGM6YFJ1bnRpbWVFcnJvcmAKKyAgICAgICAgIGV4Y2VwdGlvbiBpcyBub3cgcmFpc2VkLgorCiAgICAuLiBkZXNjcmliZTo6IGRba2V5XSA9IHZhbHVlCiAKICAgICAgIFNldCBgYGRba2V5XWBgIHRvICp2YWx1ZSouCkBAIC0yMzM2LDcgKzIzODYsNyBAQAogCiA6Y2xhc3M6YG1lbW9yeXZpZXdgIG9iamVjdHMgYWxsb3cgUHl0aG9uIGNvZGUgdG8gYWNjZXNzIHRoZSBpbnRlcm5hbCBkYXRhCiBvZiBhbiBvYmplY3QgdGhhdCBzdXBwb3J0cyB0aGUgOnJlZjpgYnVmZmVyIHByb3RvY29sIDxidWZmZXJvYmplY3RzPmAgd2l0aG91dAotY29weWluZy4gIE1lbW9yeSBpcyBnZW5lcmFsbHkgaW50ZXJwcmV0ZWQgYXMgc2ltcGxlIGJ5dGVzLgorY29weWluZy4KIAogLi4gY2xhc3M6OiBtZW1vcnl2aWV3KG9iaikKIApAQCAtMjM1MCw0MyArMjQwMCw5MiBAQAogICAgaXMgYSBzaW5nbGUgYnl0ZSwgYnV0IG90aGVyIHR5cGVzIHN1Y2ggYXMgOmNsYXNzOmBhcnJheS5hcnJheWAgbWF5IGhhdmUKICAgIGJpZ2dlciBlbGVtZW50cy4KIAotICAgYGBsZW4odmlldylgYCByZXR1cm5zIHRoZSB0b3RhbCBudW1iZXIgb2YgZWxlbWVudHMgaW4gdGhlIG1lbW9yeXZpZXcsCi0gICAqdmlldyouICBUaGUgOmNsYXNzOmB+bWVtb3J5dmlldy5pdGVtc2l6ZWAgYXR0cmlidXRlIHdpbGwgZ2l2ZSB5b3UgdGhlCisgICBgYGxlbih2aWV3KWBgIGlzIGVxdWFsIHRvIHRoZSBsZW5ndGggb2YgOmNsYXNzOmB+bWVtb3J5dmlldy50b2xpc3RgLgorICAgSWYgYGB2aWV3Lm5kaW0gPSAwYGAsIHRoZSBsZW5ndGggaXMgMS4gSWYgYGB2aWV3Lm5kaW0gPSAxYGAsIHRoZSBsZW5ndGgKKyAgIGlzIGVxdWFsIHRvIHRoZSBudW1iZXIgb2YgZWxlbWVudHMgaW4gdGhlIHZpZXcuIEZvciBoaWdoZXIgZGltZW5zaW9ucywKKyAgIHRoZSBsZW5ndGggaXMgZXF1YWwgdG8gdGhlIGxlbmd0aCBvZiB0aGUgbmVzdGVkIGxpc3QgcmVwcmVzZW50YXRpb24gb2YKKyAgIHRoZSB2aWV3LiBUaGUgOmNsYXNzOmB+bWVtb3J5dmlldy5pdGVtc2l6ZWAgYXR0cmlidXRlIHdpbGwgZ2l2ZSB5b3UgdGhlCiAgICBudW1iZXIgb2YgYnl0ZXMgaW4gYSBzaW5nbGUgZWxlbWVudC4KIAotICAgQSA6Y2xhc3M6YG1lbW9yeXZpZXdgIHN1cHBvcnRzIHNsaWNpbmcgdG8gZXhwb3NlIGl0cyBkYXRhLiAgVGFraW5nIGEgc2luZ2xlCi0gICBpbmRleCB3aWxsIHJldHVybiBhIHNpbmdsZSBlbGVtZW50IGFzIGEgOmNsYXNzOmBieXRlc2Agb2JqZWN0LiAgRnVsbAotICAgc2xpY2luZyB3aWxsIHJlc3VsdCBpbiBhIHN1YnZpZXc6OgorICAgQSA6Y2xhc3M6YG1lbW9yeXZpZXdgIHN1cHBvcnRzIHNsaWNpbmcgdG8gZXhwb3NlIGl0cyBkYXRhLiBJZgorICAgOmNsYXNzOmB+bWVtb3J5dmlldy5mb3JtYXRgIGlzIG9uZSBvZiB0aGUgbmF0aXZlIGZvcm1hdCBzcGVjaWZpZXJzCisgICBmcm9tIHRoZSA6bW9kOmBzdHJ1Y3RgIG1vZHVsZSwgaW5kZXhpbmcgd2lsbCByZXR1cm4gYSBzaW5nbGUgZWxlbWVudAorICAgd2l0aCB0aGUgY29ycmVjdCB0eXBlLiBGdWxsIHNsaWNpbmcgd2lsbCByZXN1bHQgaW4gYSBzdWJ2aWV3OjoKIAotICAgICAgPj4+IHYgPSBtZW1vcnl2aWV3KGInYWJjZWZnJykKLSAgICAgID4+PiB2WzFdCi0gICAgICBiJ2InCi0gICAgICA+Pj4gdlstMV0KLSAgICAgIGInZycKLSAgICAgID4+PiB2WzE6NF0KLSAgICAgIDxtZW1vcnkgYXQgMHg3N2FiMjg+Ci0gICAgICA+Pj4gYnl0ZXModlsxOjRdKQotICAgICAgYidiY2UnCisgICAgPj4+IHYgPSBtZW1vcnl2aWV3KGInYWJjZWZnJykKKyAgICA+Pj4gdlsxXQorICAgIDk4CisgICAgPj4+IHZbLTFdCisgICAgMTAzCisgICAgPj4+IHZbMTo0XQorICAgIDxtZW1vcnkgYXQgMHg3ZjNkZGM5ZjQzNTA+CisgICAgPj4+IGJ5dGVzKHZbMTo0XSkKKyAgICBiJ2JjZScKIAotICAgSWYgdGhlIG9iamVjdCB0aGUgbWVtb3J5dmlldyBpcyBvdmVyIHN1cHBvcnRzIGNoYW5naW5nIGl0cyBkYXRhLCB0aGUKLSAgIG1lbW9yeXZpZXcgc3VwcG9ydHMgc2xpY2UgYXNzaWdubWVudDo6CisgICBPdGhlciBuYXRpdmUgZm9ybWF0czo6CisKKyAgICAgID4+PiBpbXBvcnQgYXJyYXkKKyAgICAgID4+PiBhID0gYXJyYXkuYXJyYXkoJ2wnLCBbLTExMTExMTExLCAyMjIyMjIyMiwgLTMzMzMzMzMzLCA0NDQ0NDQ0NF0pCisgICAgICA+Pj4gYVswXQorICAgICAgLTExMTExMTExCisgICAgICA+Pj4gYVstMV0KKyAgICAgIDQ0NDQ0NDQ0CisgICAgICA+Pj4gYVsyOjNdLnRvbGlzdCgpCisgICAgICBbLTMzMzMzMzMzXQorICAgICAgPj4+IGFbOjoyXS50b2xpc3QoKQorICAgICAgWy0xMTExMTExMSwgLTMzMzMzMzMzXQorICAgICAgPj4+IGFbOjotMV0udG9saXN0KCkKKyAgICAgIFs0NDQ0NDQ0NCwgLTMzMzMzMzMzLCAyMjIyMjIyMiwgLTExMTExMTExXQorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKKworICAgSWYgdGhlIHVuZGVybHlpbmcgb2JqZWN0IGlzIHdyaXRhYmxlLCB0aGUgbWVtb3J5dmlldyBzdXBwb3J0cyBzbGljZQorICAgYXNzaWdubWVudC4gUmVzaXppbmcgaXMgbm90IGFsbG93ZWQ6OgogCiAgICAgICA+Pj4gZGF0YSA9IGJ5dGVhcnJheShiJ2FiY2VmZycpCiAgICAgICA+Pj4gdiA9IG1lbW9yeXZpZXcoZGF0YSkKICAgICAgID4+PiB2LnJlYWRvbmx5CiAgICAgICBGYWxzZQotICAgICAgPj4+IHZbMF0gPSBiJ3onCisgICAgICA+Pj4gdlswXSA9IG9yZChiJ3onKQogICAgICAgPj4+IGRhdGEKICAgICAgIGJ5dGVhcnJheShiJ3piY2VmZycpCiAgICAgICA+Pj4gdlsxOjRdID0gYicxMjMnCiAgICAgICA+Pj4gZGF0YQogICAgICAgYnl0ZWFycmF5KGInejEyM2ZnJykKLSAgICAgID4+PiB2WzJdID0gYidzcGFtJworICAgICAgPj4+IHZbMjozXSA9IGInc3BhbScKICAgICAgIFRyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KToKLSAgICAgICAgRmlsZSAiPHN0ZGluPiIsIGxpbmUgMSwgaW4gPG1vZHVsZT4KLSAgICAgIFZhbHVlRXJyb3I6IGNhbm5vdCBtb2RpZnkgc2l6ZSBvZiBtZW1vcnl2aWV3IG9iamVjdAorICAgICAgRmlsZSAiPHN0ZGluPiIsIGxpbmUgMSwgaW4gPG1vZHVsZT4KKyAgICAgIFZhbHVlRXJyb3I6IG1lbW9yeXZpZXcgYXNzaWdubWVudDogbHZhbHVlIGFuZCBydmFsdWUgaGF2ZSBkaWZmZXJlbnQgc3RydWN0dXJlcworICAgICAgPj4+IHZbMjo2XSA9IGInc3BhbScKKyAgICAgID4+PiBkYXRhCisgICAgICBieXRlYXJyYXkoYid6MXNwYW0nKQogCi0gICBOb3RpY2UgaG93IHRoZSBzaXplIG9mIHRoZSBtZW1vcnl2aWV3IG9iamVjdCBjYW5ub3QgYmUgY2hhbmdlZC4KKyAgIE1lbW9yeXZpZXdzIG9mIGhhc2hhYmxlIChyZWFkLW9ubHkpIHR5cGVzIGFyZSBhbHNvIGhhc2hhYmxlLiBUaGUgaGFzaAorICAgaXMgZGVmaW5lZCBhcyBgYGhhc2gobSkgPT0gaGFzaChtLnRvYnl0ZXMoKSlgYDo6CisKKyAgICAgID4+PiB2ID0gbWVtb3J5dmlldyhiJ2FiY2VmZycpCisgICAgICA+Pj4gaGFzaCh2KSA9PSBoYXNoKGInYWJjZWZnJykKKyAgICAgIFRydWUKKyAgICAgID4+PiBoYXNoKHZbMjo0XSkgPT0gaGFzaChiJ2NlJykKKyAgICAgIFRydWUKKyAgICAgID4+PiBoYXNoKHZbOjotMl0pID09IGhhc2goYidhYmNlZmcnWzo6LTJdKQorICAgICAgVHJ1ZQorCisgICBIYXNoaW5nIG9mIG11bHRpLWRpbWVuc2lvbmFsIG9iamVjdHMgaXMgc3VwcG9ydGVkOjoKKworICAgICAgPj4+IGJ1ZiA9IGJ5dGVzKGxpc3QocmFuZ2UoMTIpKSkKKyAgICAgID4+PiB4ID0gbWVtb3J5dmlldyhidWYpCisgICAgICA+Pj4geSA9IHguY2FzdCgnQicsIHNoYXBlPVsyLDIsM10pCisgICAgICA+Pj4geC50b2xpc3QoKQorICAgICAgWzAsIDEsIDIsIDMsIDQsIDUsIDYsIDcsIDgsIDksIDEwLCAxMV0KKyAgICAgID4+PiB5LnRvbGlzdCgpCisgICAgICBbW1swLCAxLCAyXSwgWzMsIDQsIDVdXSwgW1s2LCA3LCA4XSwgWzksIDEwLCAxMV1dXQorICAgICAgPj4+IGhhc2goeCkgPT0gaGFzaCh5KSA9PSBoYXNoKHkudG9ieXRlcygpKQorICAgICAgVHJ1ZQorCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMworICAgICAgTWVtb3J5dmlldyBvYmplY3RzIGFyZSBub3cgaGFzaGFibGUuCisKIAogICAgOmNsYXNzOmBtZW1vcnl2aWV3YCBoYXMgc2V2ZXJhbCBtZXRob2RzOgogCkBAIC0yNDAxLDEyICsyNTAwLDIwIEBACiAgICAgICAgICA+Pj4gYnl0ZXMobSkKICAgICAgICAgIGInYWJjJwogCisgICAgICBGb3Igbm9uLWNvbnRpZ3VvdXMgYXJyYXlzIHRoZSByZXN1bHQgaXMgZXF1YWwgdG8gdGhlIGZsYXR0ZW5lZCBsaXN0CisgICAgICByZXByZXNlbnRhdGlvbiB3aXRoIGFsbCBlbGVtZW50cyBjb252ZXJ0ZWQgdG8gYnl0ZXMuCisKICAgIC4uIG1ldGhvZDo6IHRvbGlzdCgpCiAKLSAgICAgIFJldHVybiB0aGUgZGF0YSBpbiB0aGUgYnVmZmVyIGFzIGEgbGlzdCBvZiBpbnRlZ2Vycy4gOjoKKyAgICAgIFJldHVybiB0aGUgZGF0YSBpbiB0aGUgYnVmZmVyIGFzIGEgbGlzdCBvZiBlbGVtZW50cy4gOjoKIAogICAgICAgICAgPj4+IG1lbW9yeXZpZXcoYidhYmMnKS50b2xpc3QoKQogICAgICAgICAgWzk3LCA5OCwgOTldCisgICAgICAgICA+Pj4gaW1wb3J0IGFycmF5CisgICAgICAgICA+Pj4gYSA9IGFycmF5LmFycmF5KCdkJywgWzEuMSwgMi4yLCAzLjNdKQorICAgICAgICAgPj4+IG0gPSBtZW1vcnl2aWV3KGEpCisgICAgICAgICA+Pj4gbS50b2xpc3QoKQorICAgICAgICAgWzEuMSwgMi4yLCAzLjNdCiAKICAgIC4uIG1ldGhvZDo6IHJlbGVhc2UoKQogCkBAIC0yNDMzLDcgKzI1NDAsNyBAQAogICAgICAgICAgPj4+IHdpdGggbWVtb3J5dmlldyhiJ2FiYycpIGFzIG06CiAgICAgICAgICAuLi4gICAgIG1bMF0KICAgICAgICAgIC4uLgotICAgICAgICAgYidhJworICAgICAgICAgOTcKICAgICAgICAgID4+PiBtWzBdCiAgICAgICAgICBUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgICAgICAgICAgIEZpbGUgIjxzdGRpbj4iLCBsaW5lIDEsIGluIDxtb2R1bGU+CkBAIC0yNDQxLDQ1ICsyNTQ4LDIxOSBAQAogCiAgICAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjIKIAorICAgLi4gbWV0aG9kOjogY2FzdChmb3JtYXRbLCBzaGFwZV0pCisKKyAgICAgIENhc3QgYSBtZW1vcnl2aWV3IHRvIGEgbmV3IGZvcm1hdCBvciBzaGFwZS4gKnNoYXBlKiBkZWZhdWx0cyB0bworICAgICAgYGBbYnl0ZV9sZW5ndGgvL25ld19pdGVtc2l6ZV1gYCwgd2hpY2ggbWVhbnMgdGhhdCB0aGUgcmVzdWx0IHZpZXcKKyAgICAgIHdpbGwgYmUgb25lLWRpbWVuc2lvbmFsLiBUaGUgcmV0dXJuIHZhbHVlIGlzIGEgbmV3IG1lbW9yeXZpZXcsIGJ1dAorICAgICAgdGhlIGJ1ZmZlciBpdHNlbGYgaXMgbm90IGNvcGllZC4gU3VwcG9ydGVkIGNhc3RzIGFyZSAxRCAtPiBDLWNvbnRpZ3VvdXMKKyAgICAgIGFuZCBDLWNvbnRpZ3VvdXMgLT4gMUQuIE9uZSBvZiB0aGUgZm9ybWF0cyBtdXN0IGJlIGEgYnl0ZSBmb3JtYXQKKyAgICAgICgnQicsICdiJyBvciAnYycpLiBUaGUgYnl0ZSBsZW5ndGggb2YgdGhlIHJlc3VsdCBtdXN0IGJlIHRoZSBzYW1lCisgICAgICBhcyB0aGUgb3JpZ2luYWwgbGVuZ3RoLgorCisgICAgICBDYXN0IDFEL2xvbmcgdG8gMUQvdW5zaWduZWQgYnl0ZXM6OgorCisgICAgICAgICA+Pj4gaW1wb3J0IGFycmF5CisgICAgICAgICA+Pj4gYSA9IGFycmF5LmFycmF5KCdsJywgWzEsMiwzXSkKKyAgICAgICAgID4+PiB4ID0gbWVtb3J5dmlldyhhKQorICAgICAgICAgPj4+IHguZm9ybWF0CisgICAgICAgICAnbCcKKyAgICAgICAgID4+PiB4Lml0ZW1zaXplCisgICAgICAgICA4CisgICAgICAgICA+Pj4gbGVuKHgpCisgICAgICAgICAzCisgICAgICAgICA+Pj4geC5uYnl0ZXMKKyAgICAgICAgIDI0CisgICAgICAgICA+Pj4geSA9IHguY2FzdCgnQicpCisgICAgICAgICA+Pj4geS5mb3JtYXQKKyAgICAgICAgICdCJworICAgICAgICAgPj4+IHkuaXRlbXNpemUKKyAgICAgICAgIDEKKyAgICAgICAgID4+PiBsZW4oeSkKKyAgICAgICAgIDI0CisgICAgICAgICA+Pj4geS5uYnl0ZXMKKyAgICAgICAgIDI0CisKKyAgICAgIENhc3QgMUQvdW5zaWduZWQgYnl0ZXMgdG8gMUQvY2hhcjo6CisKKyAgICAgICAgID4+PiBiID0gYnl0ZWFycmF5KGInenl6JykKKyAgICAgICAgID4+PiB4ID0gbWVtb3J5dmlldyhiKQorICAgICAgICAgPj4+IHhbMF0gPSBiJ2EnCisgICAgICAgICBUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CisgICAgICAgICAgIEZpbGUgIjxzdGRpbj4iLCBsaW5lIDEsIGluIDxtb2R1bGU+CisgICAgICAgICBWYWx1ZUVycm9yOiBtZW1vcnl2aWV3OiBpbnZhbGlkIHZhbHVlIGZvciBmb3JtYXQgIkIiCisgICAgICAgICA+Pj4geSA9IHguY2FzdCgnYycpCisgICAgICAgICA+Pj4geVswXSA9IGInYScKKyAgICAgICAgID4+PiBiCisgICAgICAgICBieXRlYXJyYXkoYidheXonKQorCisgICAgICBDYXN0IDFEL2J5dGVzIHRvIDNEL2ludHMgdG8gMUQvc2lnbmVkIGNoYXI6OgorCisgICAgICAgICA+Pj4gaW1wb3J0IHN0cnVjdAorICAgICAgICAgPj4+IGJ1ZiA9IHN0cnVjdC5wYWNrKCJpIioxMiwgKmxpc3QocmFuZ2UoMTIpKSkKKyAgICAgICAgID4+PiB4ID0gbWVtb3J5dmlldyhidWYpCisgICAgICAgICA+Pj4geSA9IHguY2FzdCgnaScsIHNoYXBlPVsyLDIsM10pCisgICAgICAgICA+Pj4geS50b2xpc3QoKQorICAgICAgICAgW1tbMCwgMSwgMl0sIFszLCA0LCA1XV0sIFtbNiwgNywgOF0sIFs5LCAxMCwgMTFdXV0KKyAgICAgICAgID4+PiB5LmZvcm1hdAorICAgICAgICAgJ2knCisgICAgICAgICA+Pj4geS5pdGVtc2l6ZQorICAgICAgICAgNAorICAgICAgICAgPj4+IGxlbih5KQorICAgICAgICAgMgorICAgICAgICAgPj4+IHkubmJ5dGVzCisgICAgICAgICA0OAorICAgICAgICAgPj4+IHogPSB5LmNhc3QoJ2InKQorICAgICAgICAgPj4+IHouZm9ybWF0CisgICAgICAgICAnYicKKyAgICAgICAgID4+PiB6Lml0ZW1zaXplCisgICAgICAgICAxCisgICAgICAgICA+Pj4gbGVuKHopCisgICAgICAgICA0OAorICAgICAgICAgPj4+IHoubmJ5dGVzCisgICAgICAgICA0OAorCisgICAgICBDYXN0IDFEL3Vuc2lnbmVkIGNoYXIgdG8gdG8gMkQvdW5zaWduZWQgbG9uZzo6CisKKyAgICAgICAgID4+PiBidWYgPSBzdHJ1Y3QucGFjaygiTCIqNiwgKmxpc3QocmFuZ2UoNikpKQorICAgICAgICAgPj4+IHggPSBtZW1vcnl2aWV3KGJ1ZikKKyAgICAgICAgID4+PiB5ID0geC5jYXN0KCdMJywgc2hhcGU9WzIsM10pCisgICAgICAgICA+Pj4gbGVuKHkpCisgICAgICAgICAyCisgICAgICAgICA+Pj4geS5uYnl0ZXMKKyAgICAgICAgIDQ4CisgICAgICAgICA+Pj4geS50b2xpc3QoKQorICAgICAgICAgW1swLCAxLCAyXSwgWzMsIDQsIDVdXQorCisgICAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKKwogICAgVGhlcmUgYXJlIGFsc28gc2V2ZXJhbCByZWFkb25seSBhdHRyaWJ1dGVzIGF2YWlsYWJsZToKIAorICAgLi4gYXR0cmlidXRlOjogb2JqCisKKyAgICAgIFRoZSB1bmRlcmx5aW5nIG9iamVjdCBvZiB0aGUgbWVtb3J5dmlldzo6CisKKyAgICAgICAgID4+PiBiICA9IGJ5dGVhcnJheShiJ3h5eicpCisgICAgICAgICA+Pj4gbSA9IG1lbW9yeXZpZXcoYikKKyAgICAgICAgID4+PiBtLm9iaiBpcyBiCisgICAgICAgICBUcnVlCisKKyAgICAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMworCisgICAuLiBhdHRyaWJ1dGU6OiBuYnl0ZXMKKworICAgICAgYGBuYnl0ZXMgPT0gcHJvZHVjdChzaGFwZSkgKiBpdGVtc2l6ZSA9PSBsZW4obS50b2J5dGVzKCkpYGAuIFRoaXMgaXMKKyAgICAgIHRoZSBhbW91bnQgb2Ygc3BhY2UgaW4gYnl0ZXMgdGhhdCB0aGUgYXJyYXkgd291bGQgdXNlIGluIGEgY29udGlndW91cworICAgICAgcmVwcmVzZW50YXRpb24uIEl0IGlzIG5vdCBuZWNlc3NhcmlseSBlcXVhbCB0byBsZW4obSk6OgorCisgICAgICAgICA+Pj4gaW1wb3J0IGFycmF5CisgICAgICAgICA+Pj4gYSA9IGFycmF5LmFycmF5KCdpJywgWzEsMiwzLDQsNV0pCisgICAgICAgICA+Pj4gbSA9IG1lbW9yeXZpZXcoYSkKKyAgICAgICAgID4+PiBsZW4obSkKKyAgICAgICAgIDUKKyAgICAgICAgID4+PiBtLm5ieXRlcworICAgICAgICAgMjAKKyAgICAgICAgID4+PiB5ID0gbVs6OjJdCisgICAgICAgICA+Pj4gbGVuKHkpCisgICAgICAgICAzCisgICAgICAgICA+Pj4geS5uYnl0ZXMKKyAgICAgICAgIDEyCisgICAgICAgICA+Pj4gbGVuKHkudG9ieXRlcygpKQorICAgICAgICAgMTIKKworICAgICAgTXVsdGktZGltZW5zaW9uYWwgYXJyYXlzOjoKKworICAgICAgICAgPj4+IGltcG9ydCBzdHJ1Y3QKKyAgICAgICAgID4+PiBidWYgPSBzdHJ1Y3QucGFjaygiZCIqMTIsICpbMS41KnggZm9yIHggaW4gcmFuZ2UoMTIpXSkKKyAgICAgICAgID4+PiB4ID0gbWVtb3J5dmlldyhidWYpCisgICAgICAgICA+Pj4geSA9IHguY2FzdCgnZCcsIHNoYXBlPVszLDRdKQorICAgICAgICAgPj4+IHkudG9saXN0KCkKKyAgICAgICAgIFtbMC4wLCAxLjUsIDMuMCwgNC41XSwgWzYuMCwgNy41LCA5LjAsIDEwLjVdLCBbMTIuMCwgMTMuNSwgMTUuMCwgMTYuNV1dCisgICAgICAgICA+Pj4gbGVuKHkpCisgICAgICAgICAzCisgICAgICAgICA+Pj4geS5uYnl0ZXMKKyAgICAgICAgIDk2CisKKyAgICAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMworCisgICAuLiBhdHRyaWJ1dGU6OiByZWFkb25seQorCisgICAgICBBIGJvb2wgaW5kaWNhdGluZyB3aGV0aGVyIHRoZSBtZW1vcnkgaXMgcmVhZCBvbmx5LgorCiAgICAuLiBhdHRyaWJ1dGU6OiBmb3JtYXQKIAogICAgICAgQSBzdHJpbmcgY29udGFpbmluZyB0aGUgZm9ybWF0IChpbiA6bW9kOmBzdHJ1Y3RgIG1vZHVsZSBzdHlsZSkgZm9yIGVhY2gKLSAgICAgIGVsZW1lbnQgaW4gdGhlIHZpZXcuICBUaGlzIGRlZmF1bHRzIHRvIGBgJ0InYGAsIGEgc2ltcGxlIGJ5dGVzdHJpbmcuCisgICAgICBlbGVtZW50IGluIHRoZSB2aWV3LiBBIG1lbW9yeXZpZXcgY2FuIGJlIGNyZWF0ZWQgZnJvbSBleHBvcnRlcnMgd2l0aAorICAgICAgYXJiaXRyYXJ5IGZvcm1hdCBzdHJpbmdzLCBidXQgc29tZSBtZXRob2RzIChlLmcuIDptZXRoOmB0b2xpc3RgKSBhcmUKKyAgICAgIHJlc3RyaWN0ZWQgdG8gbmF0aXZlIHNpbmdsZSBlbGVtZW50IGZvcm1hdHMuIFNwZWNpYWwgY2FyZSBtdXN0IGJlIHRha2VuCisgICAgICB3aGVuIGNvbXBhcmluZyBtZW1vcnl2aWV3cy4gU2luY2UgY29tcGFyaXNvbnMgYXJlIHJlcXVpcmVkIHRvIHJldHVybiBhCisgICAgICB2YWx1ZSBmb3IgYGA9PWBgIGFuZCBgYCE9YGAsIHR3byBtZW1vcnl2aWV3cyByZWZlcmVuY2luZyB0aGUgc2FtZQorICAgICAgZXhwb3J0ZXIgY2FuIGNvbXBhcmUgYXMgbm90LWVxdWFsIGlmIHRoZSBleHBvcnRlcidzIGZvcm1hdCBpcyBub3QKKyAgICAgIHVuZGVyc3Rvb2Q6OgorCisgICAgICAgICA+Pj4gZnJvbSBjdHlwZXMgaW1wb3J0IEJpZ0VuZGlhblN0cnVjdHVyZSwgY19sb25nCisgICAgICAgICA+Pj4gY2xhc3MgQkVQb2ludChCaWdFbmRpYW5TdHJ1Y3R1cmUpOgorICAgICAgICAgLi4uICAgICBfZmllbGRzXyA9IFsoIngiLCBjX2xvbmcpLCAoInkiLCBjX2xvbmcpXQorICAgICAgICAgLi4uCisgICAgICAgICA+Pj4gcG9pbnQgPSBCRVBvaW50KDEwMCwgMjAwKQorICAgICAgICAgPj4+IGEgPSBtZW1vcnl2aWV3KHBvaW50KQorICAgICAgICAgPj4+IGIgPSBtZW1vcnl2aWV3KHBvaW50KQorICAgICAgICAgPj4+IGEgPT0gYgorICAgICAgICAgRmFsc2UKKyAgICAgICAgID4+PiBhLnRvbGlzdCgpCisgICAgICAgICBUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CisgICAgICAgICAgIEZpbGUgIjxzdGRpbj4iLCBsaW5lIDEsIGluIDxtb2R1bGU+CisgICAgICAgICBOb3RJbXBsZW1lbnRlZEVycm9yOiBtZW1vcnl2aWV3OiB1bnN1cHBvcnRlZCBmb3JtYXQgVHs+bDp4Oj5sOnk6fQogCiAgICAuLiBhdHRyaWJ1dGU6OiBpdGVtc2l6ZQogCiAgICAgICBUaGUgc2l6ZSBpbiBieXRlcyBvZiBlYWNoIGVsZW1lbnQgb2YgdGhlIG1lbW9yeXZpZXc6OgogCi0gICAgICAgICA+Pj4gbSA9IG1lbW9yeXZpZXcoYXJyYXkuYXJyYXkoJ0gnLCBbMSwyLDNdKSkKKyAgICAgICAgID4+PiBpbXBvcnQgYXJyYXksIHN0cnVjdAorICAgICAgICAgPj4+IG0gPSBtZW1vcnl2aWV3KGFycmF5LmFycmF5KCdIJywgWzMyMDAwLCAzMjAwMSwgMzIwMDJdKSkKICAgICAgICAgID4+PiBtLml0ZW1zaXplCiAgICAgICAgICAyCiAgICAgICAgICA+Pj4gbVswXQotICAgICAgICAgYidceDAxXHgwMCcKLSAgICAgICAgID4+PiBsZW4obVswXSkgPT0gbS5pdGVtc2l6ZQorICAgICAgICAgMzIwMDAKKyAgICAgICAgID4+PiBzdHJ1Y3QuY2FsY3NpemUoJ0gnKSA9PSBtLml0ZW1zaXplCiAgICAgICAgICBUcnVlCiAKLSAgIC4uIGF0dHJpYnV0ZTo6IHNoYXBlCi0KLSAgICAgIEEgdHVwbGUgb2YgaW50ZWdlcnMgdGhlIGxlbmd0aCBvZiA6YXR0cjpgbmRpbWAgZ2l2aW5nIHRoZSBzaGFwZSBvZiB0aGUKLSAgICAgIG1lbW9yeSBhcyBhIE4tZGltZW5zaW9uYWwgYXJyYXkuCi0KICAgIC4uIGF0dHJpYnV0ZTo6IG5kaW0KIAogICAgICAgQW4gaW50ZWdlciBpbmRpY2F0aW5nIGhvdyBtYW55IGRpbWVuc2lvbnMgb2YgYSBtdWx0aS1kaW1lbnNpb25hbCBhcnJheSB0aGUKICAgICAgIG1lbW9yeSByZXByZXNlbnRzLgogCisgICAuLiBhdHRyaWJ1dGU6OiBzaGFwZQorCisgICAgICBBIHR1cGxlIG9mIGludGVnZXJzIHRoZSBsZW5ndGggb2YgOmF0dHI6YG5kaW1gIGdpdmluZyB0aGUgc2hhcGUgb2YgdGhlCisgICAgICBtZW1vcnkgYXMgYSBOLWRpbWVuc2lvbmFsIGFycmF5LgorCiAgICAuLiBhdHRyaWJ1dGU6OiBzdHJpZGVzCiAKICAgICAgIEEgdHVwbGUgb2YgaW50ZWdlcnMgdGhlIGxlbmd0aCBvZiA6YXR0cjpgbmRpbWAgZ2l2aW5nIHRoZSBzaXplIGluIGJ5dGVzIHRvCiAgICAgICBhY2Nlc3MgZWFjaCBlbGVtZW50IGZvciBlYWNoIGRpbWVuc2lvbiBvZiB0aGUgYXJyYXkuCiAKLSAgIC4uIGF0dHJpYnV0ZTo6IHJlYWRvbmx5CisgICAuLiBhdHRyaWJ1dGU6OiBzdWJvZmZzZXRzCiAKLSAgICAgIEEgYm9vbCBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIG1lbW9yeSBpcyByZWFkIG9ubHkuCisgICAgICBVc2VkIGludGVybmFsbHkgZm9yIFBJTC1zdHlsZSBhcnJheXMuIFRoZSB2YWx1ZSBpcyBpbmZvcm1hdGlvbmFsIG9ubHkuCiAKLSAgIC4uIG1lbW9yeXZpZXcuc3Vib2Zmc2V0cyBpc24ndCBkb2N1bWVudGVkIGJlY2F1c2UgaXQgb25seSBzZWVtcyB1c2VmdWwgZm9yIEMKKyAgIC4uIGF0dHJpYnV0ZTo6IGNfY29udGlndW91cworCisgICAgICBBIGJvb2wgaW5kaWNhdGluZyB3aGV0aGVyIHRoZSBtZW1vcnkgaXMgQy1jb250aWd1b3VzLgorCisgICAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKKworICAgLi4gYXR0cmlidXRlOjogZl9jb250aWd1b3VzCisKKyAgICAgIEEgYm9vbCBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIG1lbW9yeSBpcyBGb3J0cmFuIGNvbnRpZ3VvdXMuCisKKyAgICAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMworCisgICAuLiBhdHRyaWJ1dGU6OiBjb250aWd1b3VzCisKKyAgICAgIEEgYm9vbCBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIG1lbW9yeSBpcyBjb250aWd1b3VzLgorCisgICAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKIAogCiAuLiBfdHlwZWNvbnRleHRtYW5hZ2VyOgpAQCAtMjcwMyw3ICsyOTg0LDcgQEAKIAogVGhpcyBvYmplY3QgaXMgcmV0dXJuZWQgYnkgZnVuY3Rpb25zIHRoYXQgZG9uJ3QgZXhwbGljaXRseSByZXR1cm4gYSB2YWx1ZS4gIEl0CiBzdXBwb3J0cyBubyBzcGVjaWFsIG9wZXJhdGlvbnMuICBUaGVyZSBpcyBleGFjdGx5IG9uZSBudWxsIG9iamVjdCwgbmFtZWQKLWBgTm9uZWBgIChhIGJ1aWx0LWluIG5hbWUpLgorYGBOb25lYGAgKGEgYnVpbHQtaW4gbmFtZSkuICBgYHR5cGUoTm9uZSkoKWBgIHByb2R1Y2VzIHRoZSBzYW1lIHNpbmdsZXRvbi4KIAogSXQgaXMgd3JpdHRlbiBhcyBgYE5vbmVgYC4KIApAQCAtMjcxMyw5ICsyOTk0LDExIEBACiBUaGUgRWxsaXBzaXMgT2JqZWN0CiAtLS0tLS0tLS0tLS0tLS0tLS0tCiAKLVRoaXMgb2JqZWN0IGlzIGNvbW1vbmx5IHVzZWQgYnkgc2xpY2luZyAoc2VlIDpyZWY6YHNsaWNpbmdzYCkuICBJdCBzdXBwb3J0cyBubwotc3BlY2lhbCBvcGVyYXRpb25zLiAgVGhlcmUgaXMgZXhhY3RseSBvbmUgZWxsaXBzaXMgb2JqZWN0LCBuYW1lZAotOmNvbnN0OmBFbGxpcHNpc2AgKGEgYnVpbHQtaW4gbmFtZSkuCitUaGlzIG9iamVjdCBpcyBjb21tb25seSB1c2VkIGJ5IHNsaWNpbmcgKHNlZSA6cmVmOmBzbGljaW5nc2ApLCBidXQgbWF5IGFsc28KK2JlIHVzZWQgaW4gb3RoZXIgc2l0dWF0aW9ucyB3aGVyZSBhIHNlbnRpbmVsIHZhbHVlIG90aGVyIHRoYW4gOmNvbnN0OmBOb25lYAoraXMgbmVlZGVkLiAgSXQgc3VwcG9ydHMgbm8gc3BlY2lhbCBvcGVyYXRpb25zLiAgVGhlcmUgaXMgZXhhY3RseSBvbmUgZWxsaXBzaXMKK29iamVjdCwgbmFtZWQgOmNvbnN0OmBFbGxpcHNpc2AgKGEgYnVpbHQtaW4gbmFtZSkuICBgYHR5cGUoRWxsaXBzaXMpKClgYAorcHJvZHVjZXMgdGhlIDpjb25zdDpgRWxsaXBzaXNgIHNpbmdsZXRvbi4KIAogSXQgaXMgd3JpdHRlbiBhcyBgYEVsbGlwc2lzYGAgb3IgYGAuLi5gYC4KIApAQCAtMjcyNyw3ICszMDEwLDggQEAKIAogVGhpcyBvYmplY3QgaXMgcmV0dXJuZWQgZnJvbSBjb21wYXJpc29ucyBhbmQgYmluYXJ5IG9wZXJhdGlvbnMgd2hlbiB0aGV5IGFyZQogYXNrZWQgdG8gb3BlcmF0ZSBvbiB0eXBlcyB0aGV5IGRvbid0IHN1cHBvcnQuIFNlZSA6cmVmOmBjb21wYXJpc29uc2AgZm9yIG1vcmUKLWluZm9ybWF0aW9uLgoraW5mb3JtYXRpb24uICBUaGVyZSBpcyBleGFjdGx5IG9uZSBgYE5vdEltcGxlbWVudGVkYGAgb2JqZWN0LgorYGB0eXBlKE5vdEltcGxlbWVudGVkKSgpYGAgcHJvZHVjZXMgdGhlIHNpbmdsZXRvbiBpbnN0YW5jZS4KIAogSXQgaXMgd3JpdHRlbiBhcyBgYE5vdEltcGxlbWVudGVkYGAuCiAKQEAgLTI3OTMsNiArMzA3NywxMyBAQAogICAgVGhlIG5hbWUgb2YgdGhlIGNsYXNzIG9yIHR5cGUuCiAKIAorLi4gYXR0cmlidXRlOjogY2xhc3MuX19xdWFsbmFtZV9fCisKKyAgIFRoZSA6dGVybTpgcXVhbGlmaWVkIG5hbWVgIG9mIHRoZSBjbGFzcyBvciB0eXBlLgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKKworCiAuLiBhdHRyaWJ1dGU6OiBjbGFzcy5fX21yb19fCiAKICAgIFRoaXMgYXR0cmlidXRlIGlzIGEgdHVwbGUgb2YgY2xhc3NlcyB0aGF0IGFyZSBjb25zaWRlcmVkIHdoZW4gbG9va2luZyBmb3IKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L3N0cnVjdC5yc3QgYi9Eb2MvbGlicmFyeS9zdHJ1Y3QucnN0CmluZGV4IDEyODIwZTAuLjk5NDUwNmMgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L3N0cnVjdC5yc3QKKysrIGIvRG9jL2xpYnJhcnkvc3RydWN0LnJzdApAQCAtMTg3LDE3ICsxODcsMjQgQEAKIHwgYGBRYGAgIHwgOmM6dHlwZTpgdW5zaWduZWQgbG9uZyAgIHwgaW50ZWdlciAgICAgICAgICAgIHwgOCAgICAgICAgICAgICAgfCBcKDIpLCBcKDMpIHwKIHwgICAgICAgIHwgbG9uZ2AgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgfCAgICAgICAgICAgIHwKICstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSsKLXwgYGBmYGAgIHwgOmM6dHlwZTpgZmxvYXRgICAgICAgICAgIHwgZmxvYXQgICAgICAgICAgICAgIHwgNCAgICAgICAgICAgICAgfCBcKDQpICAgICAgIHwKK3wgYGBuYGAgIHwgOmM6dHlwZTpgc3NpemVfdGAgICAgICAgIHwgaW50ZWdlciAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgfCBcKDQpICAgICAgIHwKICstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSsKLXwgYGBkYGAgIHwgOmM6dHlwZTpgZG91YmxlYCAgICAgICAgIHwgZmxvYXQgICAgICAgICAgICAgIHwgOCAgICAgICAgICAgICAgfCBcKDQpICAgICAgIHwKK3wgYGBOYGAgIHwgOmM6dHlwZTpgc2l6ZV90YCAgICAgICAgIHwgaW50ZWdlciAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgfCBcKDQpICAgICAgIHwKKystLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSsKK3wgYGBmYGAgIHwgOmM6dHlwZTpgZmxvYXRgICAgICAgICAgIHwgZmxvYXQgICAgICAgICAgICAgIHwgNCAgICAgICAgICAgICAgfCBcKDUpICAgICAgIHwKKystLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSsKK3wgYGBkYGAgIHwgOmM6dHlwZTpgZG91YmxlYCAgICAgICAgIHwgZmxvYXQgICAgICAgICAgICAgIHwgOCAgICAgICAgICAgICAgfCBcKDUpICAgICAgIHwKICstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSsKIHwgYGBzYGAgIHwgOmM6dHlwZTpgY2hhcltdYCAgICAgICAgIHwgYnl0ZXMgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgfCAgICAgICAgICAgIHwKICstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSsKIHwgYGBwYGAgIHwgOmM6dHlwZTpgY2hhcltdYCAgICAgICAgIHwgYnl0ZXMgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgfCAgICAgICAgICAgIHwKICstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSsKLXwgYGBQYGAgIHwgOmM6dHlwZTpgdm9pZCBcKmAgICAgICAgIHwgaW50ZWdlciAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgfCBcKDUpICAgICAgIHwKK3wgYGBQYGAgIHwgOmM6dHlwZTpgdm9pZCBcKmAgICAgICAgIHwgaW50ZWdlciAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgfCBcKDYpICAgICAgIHwKICstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSsKIAorLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjMKKyAgIEFkZGVkIHN1cHBvcnQgZm9yIHRoZSBgYCduJ2BgIGFuZCBgYCdOJ2BgIGZvcm1hdHMuCisKIE5vdGVzOgogCiAoMSkKQEAgLTIxOSwxMSArMjI2LDE3IEBACiAgICAgICBVc2Ugb2YgdGhlIDptZXRoOmBfX2luZGV4X19gIG1ldGhvZCBmb3Igbm9uLWludGVnZXJzIGlzIG5ldyBpbiAzLjIuCiAKICg0KQorICAgVGhlIGBgJ24nYGAgYW5kIGBgJ04nYGAgY29udmVyc2lvbiBjb2RlcyBhcmUgb25seSBhdmFpbGFibGUgZm9yIHRoZSBuYXRpdmUKKyAgIHNpemUgKHNlbGVjdGVkIGFzIHRoZSBkZWZhdWx0IG9yIHdpdGggdGhlIGBgJ0AnYGAgYnl0ZSBvcmRlciBjaGFyYWN0ZXIpLgorICAgRm9yIHRoZSBzdGFuZGFyZCBzaXplLCB5b3UgY2FuIHVzZSB3aGljaGV2ZXIgb2YgdGhlIG90aGVyIGludGVnZXIgZm9ybWF0cworICAgZml0cyB5b3VyIGFwcGxpY2F0aW9uLgorCisoNSkKICAgIEZvciB0aGUgYGAnZidgYCBhbmQgYGAnZCdgYCBjb252ZXJzaW9uIGNvZGVzLCB0aGUgcGFja2VkIHJlcHJlc2VudGF0aW9uIHVzZXMKICAgIHRoZSBJRUVFIDc1NCBiaW5hcnkzMiAoZm9yIGBgJ2YnYGApIG9yIGJpbmFyeTY0IChmb3IgYGAnZCdgYCkgZm9ybWF0LAogICAgcmVnYXJkbGVzcyBvZiB0aGUgZmxvYXRpbmctcG9pbnQgZm9ybWF0IHVzZWQgYnkgdGhlIHBsYXRmb3JtLgogCi0oNSkKKyg2KQogICAgVGhlIGBgJ1AnYGAgZm9ybWF0IGNoYXJhY3RlciBpcyBvbmx5IGF2YWlsYWJsZSBmb3IgdGhlIG5hdGl2ZSBieXRlIG9yZGVyaW5nCiAgICAoc2VsZWN0ZWQgYXMgdGhlIGRlZmF1bHQgb3Igd2l0aCB0aGUgYGAnQCdgYCBieXRlIG9yZGVyIGNoYXJhY3RlcikuIFRoZSBieXRlCiAgICBvcmRlciBjaGFyYWN0ZXIgYGAnPSdgYCBjaG9vc2VzIHRvIHVzZSBsaXR0bGUtIG9yIGJpZy1lbmRpYW4gb3JkZXJpbmcgYmFzZWQKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L3N1YnByb2Nlc3MucnN0IGIvRG9jL2xpYnJhcnkvc3VicHJvY2Vzcy5yc3QKaW5kZXggYjdlODdhYi4uZWU4ODM3OSAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvc3VicHJvY2Vzcy5yc3QKKysrIGIvRG9jL2xpYnJhcnkvc3VicHJvY2Vzcy5yc3QKQEAgLTMwLDE2ICszMCwyMSBAQAogdXNlIGNhc2VzLCB0aGUgdW5kZXJseWluZyA6Y2xhc3M6YFBvcGVuYCBpbnRlcmZhY2UgY2FuIGJlIHVzZWQgZGlyZWN0bHkuCiAKIAotLi4gZnVuY3Rpb246OiBjYWxsKGFyZ3MsICosIHN0ZGluPU5vbmUsIHN0ZG91dD1Ob25lLCBzdGRlcnI9Tm9uZSwgc2hlbGw9RmFsc2UpCisuLiBmdW5jdGlvbjo6IGNhbGwoYXJncywgKiwgc3RkaW49Tm9uZSwgc3Rkb3V0PU5vbmUsIHN0ZGVycj1Ob25lLCBzaGVsbD1GYWxzZSwgdGltZW91dD1Ob25lKQogCiAgICBSdW4gdGhlIGNvbW1hbmQgZGVzY3JpYmVkIGJ5ICphcmdzKi4gIFdhaXQgZm9yIGNvbW1hbmQgdG8gY29tcGxldGUsIHRoZW4KICAgIHJldHVybiB0aGUgOmF0dHI6YHJldHVybmNvZGVgIGF0dHJpYnV0ZS4KIAogICAgVGhlIGFyZ3VtZW50cyBzaG93biBhYm92ZSBhcmUgbWVyZWx5IHRoZSBtb3N0IGNvbW1vbiBvbmVzLCBkZXNjcmliZWQgYmVsb3cKLSAgIGluIDpyZWY6YGZyZXF1ZW50bHktdXNlZC1hcmd1bWVudHNgIChoZW5jZSB0aGUgc2xpZ2h0bHkgb2RkIG5vdGF0aW9uIGluCi0gICB0aGUgYWJicmV2aWF0ZWQgc2lnbmF0dXJlKS4gVGhlIGZ1bGwgZnVuY3Rpb24gc2lnbmF0dXJlIGlzIHRoZSBzYW1lIGFzCi0gICB0aGF0IG9mIHRoZSA6Y2xhc3M6YFBvcGVuYCBjb25zdHJ1Y3RvciAtIHRoaXMgZnVuY3Rpb25zIHBhc3NlcyBhbGwKLSAgIHN1cHBsaWVkIGFyZ3VtZW50cyBkaXJlY3RseSB0aHJvdWdoIHRvIHRoYXQgaW50ZXJmYWNlLgorICAgaW4gOnJlZjpgZnJlcXVlbnRseS11c2VkLWFyZ3VtZW50c2AgKGhlbmNlIHRoZSB1c2Ugb2Yga2V5d29yZC1vbmx5IG5vdGF0aW9uCisgICBpbiB0aGUgYWJicmV2aWF0ZWQgc2lnbmF0dXJlKS4gVGhlIGZ1bGwgZnVuY3Rpb24gc2lnbmF0dXJlIGlzIGxhcmdlbHkgdGhlCisgICBzYW1lIGFzIHRoYXQgb2YgdGhlIDpjbGFzczpgUG9wZW5gIGNvbnN0cnVjdG9yIC0gdGhpcyBmdW5jdGlvbiBwYXNzZXMgYWxsCisgICBzdXBwbGllZCBhcmd1bWVudHMgb3RoZXIgdGhhbiAqdGltZW91dCogZGlyZWN0bHkgdGhyb3VnaCB0byB0aGF0IGludGVyZmFjZS4KKworICAgVGhlICp0aW1lb3V0KiBhcmd1bWVudCBpcyBwYXNzZWQgdG8gOm1ldGg6YFBvcGVuLndhaXRgLiBJZiB0aGUgdGltZW91dAorICAgZXhwaXJlcywgdGhlIGNoaWxkIHByb2Nlc3Mgd2lsbCBiZSBraWxsZWQgYW5kIHRoZW4gd2FpdGVkIGZvciBhZ2Fpbi4gIFRoZQorICAgOmV4YzpgVGltZW91dEV4cGlyZWRgIGV4Y2VwdGlvbiB3aWxsIGJlIHJlLXJhaXNlZCBhZnRlciB0aGUgY2hpbGQgcHJvY2VzcworICAgaGFzIHRlcm1pbmF0ZWQuCiAKICAgIEV4YW1wbGVzOjoKIApAQCAtNjIsOCArNjcsMTEgQEAKICAgICAgIHByb2Nlc3MgbWF5IGJsb2NrIGlmIGl0IGdlbmVyYXRlcyBlbm91Z2ggb3V0cHV0IHRvIGEgcGlwZSB0byBmaWxsIHVwCiAgICAgICB0aGUgT1MgcGlwZSBidWZmZXIuCiAKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy4zCisgICAgICAqdGltZW91dCogd2FzIGFkZGVkLgogCi0uLiBmdW5jdGlvbjo6IGNoZWNrX2NhbGwoYXJncywgKiwgc3RkaW49Tm9uZSwgc3Rkb3V0PU5vbmUsIHN0ZGVycj1Ob25lLCBzaGVsbD1GYWxzZSkKKworLi4gZnVuY3Rpb246OiBjaGVja19jYWxsKGFyZ3MsICosIHN0ZGluPU5vbmUsIHN0ZG91dD1Ob25lLCBzdGRlcnI9Tm9uZSwgc2hlbGw9RmFsc2UsIHRpbWVvdXQ9Tm9uZSkKIAogICAgUnVuIGNvbW1hbmQgd2l0aCBhcmd1bWVudHMuICBXYWl0IGZvciBjb21tYW5kIHRvIGNvbXBsZXRlLiBJZiB0aGUgcmV0dXJuCiAgICBjb2RlIHdhcyB6ZXJvIHRoZW4gcmV0dXJuLCBvdGhlcndpc2UgcmFpc2UgOmV4YzpgQ2FsbGVkUHJvY2Vzc0Vycm9yYC4gVGhlCkBAIC03MSwxMCArNzksMTUgQEAKICAgIDphdHRyOmByZXR1cm5jb2RlYCBhdHRyaWJ1dGUuCiAKICAgIFRoZSBhcmd1bWVudHMgc2hvd24gYWJvdmUgYXJlIG1lcmVseSB0aGUgbW9zdCBjb21tb24gb25lcywgZGVzY3JpYmVkIGJlbG93Ci0gICBpbiA6cmVmOmBmcmVxdWVudGx5LXVzZWQtYXJndW1lbnRzYCAoaGVuY2UgdGhlIHNsaWdodGx5IG9kZCBub3RhdGlvbiBpbgotICAgdGhlIGFiYnJldmlhdGVkIHNpZ25hdHVyZSkuIFRoZSBmdWxsIGZ1bmN0aW9uIHNpZ25hdHVyZSBpcyB0aGUgc2FtZSBhcwotICAgdGhhdCBvZiB0aGUgOmNsYXNzOmBQb3BlbmAgY29uc3RydWN0b3IgLSB0aGlzIGZ1bmN0aW9ucyBwYXNzZXMgYWxsCi0gICBzdXBwbGllZCBhcmd1bWVudHMgZGlyZWN0bHkgdGhyb3VnaCB0byB0aGF0IGludGVyZmFjZS4KKyAgIGluIDpyZWY6YGZyZXF1ZW50bHktdXNlZC1hcmd1bWVudHNgIChoZW5jZSB0aGUgdXNlIG9mIGtleXdvcmQtb25seSBub3RhdGlvbgorICAgaW4gdGhlIGFiYnJldmlhdGVkIHNpZ25hdHVyZSkuIFRoZSBmdWxsIGZ1bmN0aW9uIHNpZ25hdHVyZSBpcyBsYXJnZWx5IHRoZQorICAgc2FtZSBhcyB0aGF0IG9mIHRoZSA6Y2xhc3M6YFBvcGVuYCBjb25zdHJ1Y3RvciAtIHRoaXMgZnVuY3Rpb24gcGFzc2VzIGFsbAorICAgc3VwcGxpZWQgYXJndW1lbnRzIG90aGVyIHRoYW4gKnRpbWVvdXQqIGRpcmVjdGx5IHRocm91Z2ggdG8gdGhhdCBpbnRlcmZhY2UuCisKKyAgIFRoZSAqdGltZW91dCogYXJndW1lbnQgaXMgcGFzc2VkIHRvIDptZXRoOmBQb3Blbi53YWl0YC4gSWYgdGhlIHRpbWVvdXQKKyAgIGV4cGlyZXMsIHRoZSBjaGlsZCBwcm9jZXNzIHdpbGwgYmUga2lsbGVkIGFuZCB0aGVuIHdhaXRlZCBmb3IgYWdhaW4uICBUaGUKKyAgIDpleGM6YFRpbWVvdXRFeHBpcmVkYCBleGNlcHRpb24gd2lsbCBiZSByZS1yYWlzZWQgYWZ0ZXIgdGhlIGNoaWxkIHByb2Nlc3MKKyAgIGhhcyB0ZXJtaW5hdGVkLgogCiAgICBFeGFtcGxlczo6CiAKQEAgLTg2LDggKzk5LDYgQEAKICAgICAgICAgIC4uLgogICAgICAgc3VicHJvY2Vzcy5DYWxsZWRQcm9jZXNzRXJyb3I6IENvbW1hbmQgJ2V4aXQgMScgcmV0dXJuZWQgbm9uLXplcm8gZXhpdCBzdGF0dXMgMQogCi0gICAuLiB2ZXJzaW9uYWRkZWQ6OiAyLjUKLQogICAgLi4gd2FybmluZzo6CiAKICAgICAgIEludm9raW5nIHRoZSBzeXN0ZW0gc2hlbGwgd2l0aCBgYHNoZWxsPVRydWVgYCBjYW4gYmUgYSBzZWN1cml0eSBoYXphcmQKQEAgLTEwMSw4ICsxMTIsMTEgQEAKICAgICAgIHByb2Nlc3MgbWF5IGJsb2NrIGlmIGl0IGdlbmVyYXRlcyBlbm91Z2ggb3V0cHV0IHRvIGEgcGlwZSB0byBmaWxsIHVwCiAgICAgICB0aGUgT1MgcGlwZSBidWZmZXIuCiAKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy4zCisgICAgICAqdGltZW91dCogd2FzIGFkZGVkLgogCi0uLiBmdW5jdGlvbjo6IGNoZWNrX291dHB1dChhcmdzLCAqLCBzdGRpbj1Ob25lLCBzdGRlcnI9Tm9uZSwgc2hlbGw9RmFsc2UsIHVuaXZlcnNhbF9uZXdsaW5lcz1GYWxzZSkKKworLi4gZnVuY3Rpb246OiBjaGVja19vdXRwdXQoYXJncywgKiwgc3RkaW49Tm9uZSwgc3RkZXJyPU5vbmUsIHNoZWxsPUZhbHNlLCB1bml2ZXJzYWxfbmV3bGluZXM9RmFsc2UsIHRpbWVvdXQ9Tm9uZSkKIAogICAgUnVuIGNvbW1hbmQgd2l0aCBhcmd1bWVudHMgYW5kIHJldHVybiBpdHMgb3V0cHV0IGFzIGEgYnl0ZSBzdHJpbmcuCiAKQEAgLTExMiwxMSArMTI2LDE3IEBACiAgICBhdHRyaWJ1dGUuCiAKICAgIFRoZSBhcmd1bWVudHMgc2hvd24gYWJvdmUgYXJlIG1lcmVseSB0aGUgbW9zdCBjb21tb24gb25lcywgZGVzY3JpYmVkIGJlbG93Ci0gICBpbiA6cmVmOmBmcmVxdWVudGx5LXVzZWQtYXJndW1lbnRzYCAoaGVuY2UgdGhlIHNsaWdodGx5IG9kZCBub3RhdGlvbiBpbgotICAgdGhlIGFiYnJldmlhdGVkIHNpZ25hdHVyZSkuIFRoZSBmdWxsIGZ1bmN0aW9uIHNpZ25hdHVyZSBpcyBsYXJnZWx5IHRoZQotICAgc2FtZSBhcyB0aGF0IG9mIHRoZSA6Y2xhc3M6YFBvcGVuYCBjb25zdHJ1Y3RvciwgZXhjZXB0IHRoYXQgKnN0ZG91dCogaXMKLSAgIG5vdCBwZXJtaXR0ZWQgYXMgaXQgaXMgdXNlZCBpbnRlcm5hbGx5LiBBbGwgb3RoZXIgc3VwcGxpZWQgYXJndW1lbnRzIGFyZQotICAgcGFzc2VkIGRpcmVjdGx5IHRocm91Z2ggdG8gdGhlIDpjbGFzczpgUG9wZW5gIGNvbnN0cnVjdG9yLgorICAgaW4gOnJlZjpgZnJlcXVlbnRseS11c2VkLWFyZ3VtZW50c2AgKGhlbmNlIHRoZSB1c2Ugb2Yga2V5d29yZC1vbmx5IG5vdGF0aW9uCisgICBpbiB0aGUgYWJicmV2aWF0ZWQgc2lnbmF0dXJlKS4gVGhlIGZ1bGwgZnVuY3Rpb24gc2lnbmF0dXJlIGlzIGxhcmdlbHkgdGhlCisgICBzYW1lIGFzIHRoYXQgb2YgdGhlIDpjbGFzczpgUG9wZW5gIGNvbnN0cnVjdG9yIC0gdGhpcyBmdW5jdGlvbnMgcGFzc2VzIGFsbAorICAgc3VwcGxpZWQgYXJndW1lbnRzIG90aGVyIHRoYW4gKnRpbWVvdXQqIGRpcmVjdGx5IHRocm91Z2ggdG8gdGhhdCBpbnRlcmZhY2UuCisgICBJbiBhZGRpdGlvbiwgKnN0ZG91dCogaXMgbm90IHBlcm1pdHRlZCBhcyBhbiBhcmd1bWVudCwgYXMgaXQgaXMgdXNlZAorICAgaW50ZXJuYWxseSB0byBjb2xsZWN0IHRoZSBvdXRwdXQgZnJvbSB0aGUgc3VicHJvY2Vzcy4KKworICAgVGhlICp0aW1lb3V0KiBhcmd1bWVudCBpcyBwYXNzZWQgdG8gOm1ldGg6YFBvcGVuLndhaXRgLiBJZiB0aGUgdGltZW91dAorICAgZXhwaXJlcywgdGhlIGNoaWxkIHByb2Nlc3Mgd2lsbCBiZSBraWxsZWQgYW5kIHRoZW4gd2FpdGVkIGZvciBhZ2Fpbi4gIFRoZQorICAgOmV4YzpgVGltZW91dEV4cGlyZWRgIGV4Y2VwdGlvbiB3aWxsIGJlIHJlLXJhaXNlZCBhZnRlciB0aGUgY2hpbGQgcHJvY2VzcworICAgaGFzIHRlcm1pbmF0ZWQuCiAKICAgIEV4YW1wbGVzOjoKIApAQCAtMTQ3LDcgKzE2Nyw3IEBACiAgICAgICAuLi4gICAgIHNoZWxsPVRydWUpCiAgICAgICAnbHM6IG5vbl9leGlzdGVudF9maWxlOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5XG4nCiAKLSAgIC4uIHZlcnNpb25hZGRlZDo6IDIuNworICAgLi4gdmVyc2lvbmFkZGVkOjogMy4xCiAKICAgIC4uIHdhcm5pbmc6OgogCkBAIC0xNjEsNiArMTgxLDE4IEBACiAgICAgICByZWFkIGluIHRoZSBjdXJyZW50IHByb2Nlc3MsIHRoZSBjaGlsZCBwcm9jZXNzIG1heSBibG9jayBpZiBpdAogICAgICAgZ2VuZXJhdGVzIGVub3VnaCBvdXRwdXQgdG8gdGhlIHBpcGUgdG8gZmlsbCB1cCB0aGUgT1MgcGlwZSBidWZmZXIuCiAKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy4zCisgICAgICAqdGltZW91dCogd2FzIGFkZGVkLgorCisKKy4uIGRhdGE6OiBERVZOVUxMCisKKyAgIFNwZWNpYWwgdmFsdWUgdGhhdCBjYW4gYmUgdXNlZCBhcyB0aGUgKnN0ZGluKiwgKnN0ZG91dCogb3IgKnN0ZGVyciogYXJndW1lbnQKKyAgIHRvIDpjbGFzczpgUG9wZW5gIGFuZCBpbmRpY2F0ZXMgdGhhdCB0aGUgc3BlY2lhbCBmaWxlIDpkYXRhOmBvcy5kZXZudWxsYAorICAgd2lsbCBiZSB1c2VkLgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKKwogCiAuLiBkYXRhOjogUElQRQogCkBAIC0xOTYsMTMgKzIyOCwxNCBAQAogCiAgICAqc3RkaW4qLCAqc3Rkb3V0KiBhbmQgKnN0ZGVyciogc3BlY2lmeSB0aGUgZXhlY3V0ZWQgcHJvZ3JhbSdzIHN0YW5kYXJkIGlucHV0LAogICAgc3RhbmRhcmQgb3V0cHV0IGFuZCBzdGFuZGFyZCBlcnJvciBmaWxlIGhhbmRsZXMsIHJlc3BlY3RpdmVseS4gIFZhbGlkIHZhbHVlcwotICAgYXJlIDpkYXRhOmBQSVBFYCwgYW4gZXhpc3RpbmcgZmlsZSBkZXNjcmlwdG9yIChhIHBvc2l0aXZlIGludGVnZXIpLCBhbgotICAgZXhpc3RpbmcgZmlsZSBvYmplY3QsIGFuZCBgYE5vbmVgYC4gIDpkYXRhOmBQSVBFYCBpbmRpY2F0ZXMgdGhhdCBhIG5ldyBwaXBlCi0gICB0byB0aGUgY2hpbGQgc2hvdWxkIGJlIGNyZWF0ZWQuICBXaXRoIHRoZSBkZWZhdWx0IHNldHRpbmdzIG9mIGBgTm9uZWBgLCBubwotICAgcmVkaXJlY3Rpb24gd2lsbCBvY2N1cjsgdGhlIGNoaWxkJ3MgZmlsZSBoYW5kbGVzIHdpbGwgYmUgaW5oZXJpdGVkIGZyb20gdGhlCi0gICBwYXJlbnQuICBBZGRpdGlvbmFsbHksICpzdGRlcnIqIGNhbiBiZSA6ZGF0YTpgU1RET1VUYCwgd2hpY2ggaW5kaWNhdGVzIHRoYXQKLSAgIHRoZSBzdGRlcnIgZGF0YSBmcm9tIHRoZSBjaGlsZCBwcm9jZXNzIHNob3VsZCBiZSBjYXB0dXJlZCBpbnRvIHRoZSBzYW1lIGZpbGUKLSAgIGhhbmRsZSBhcyBmb3Igc3Rkb3V0LgorICAgYXJlIDpkYXRhOmBQSVBFYCwgOmRhdGE6YERFVk5VTExgLCBhbiBleGlzdGluZyBmaWxlIGRlc2NyaXB0b3IgKGEgcG9zaXRpdmUKKyAgIGludGVnZXIpLCBhbiBleGlzdGluZyBmaWxlIG9iamVjdCwgYW5kIGBgTm9uZWBgLiAgOmRhdGE6YFBJUEVgIGluZGljYXRlcworICAgdGhhdCBhIG5ldyBwaXBlIHRvIHRoZSBjaGlsZCBzaG91bGQgYmUgY3JlYXRlZC4gIDpkYXRhOmBERVZOVUxMYCBpbmRpY2F0ZXMKKyAgIHRoYXQgdGhlIHNwZWNpYWwgZmlsZSA6ZGF0YTpgb3MuZGV2bnVsbGAgd2lsbCBiZSB1c2VkLiAgV2l0aCB0aGUgZGVmYXVsdAorICAgc2V0dGluZ3Mgb2YgYGBOb25lYGAsIG5vIHJlZGlyZWN0aW9uIHdpbGwgb2NjdXI7IHRoZSBjaGlsZCdzIGZpbGUgaGFuZGxlcworICAgd2lsbCBiZSBpbmhlcml0ZWQgZnJvbSB0aGUgcGFyZW50LiAgQWRkaXRpb25hbGx5LCAqc3RkZXJyKiBjYW4gYmUKKyAgIDpkYXRhOmBTVERPVVRgLCB3aGljaCBpbmRpY2F0ZXMgdGhhdCB0aGUgc3RkZXJyIGRhdGEgZnJvbSB0aGUgY2hpbGQKKyAgIHByb2Nlc3Mgc2hvdWxkIGJlIGNhcHR1cmVkIGludG8gdGhlIHNhbWUgZmlsZSBoYW5kbGUgYXMgZm9yICpzdGRvdXQqLgogCiAgICBXaGVuICpzdGRvdXQqIG9yICpzdGRlcnIqIGFyZSBwaXBlcyBhbmQgKnVuaXZlcnNhbF9uZXdsaW5lcyogaXMKICAgIDpjb25zdDpgVHJ1ZWAgdGhlbiB0aGUgb3V0cHV0IGRhdGEgaXMgYXNzdW1lZCB0byBiZSBlbmNvZGVkIGFzIFVURi04IGFuZApAQCAtMzMxLDEzICszNjQsMTQgQEAKIAogICAgKnN0ZGluKiwgKnN0ZG91dCogYW5kICpzdGRlcnIqIHNwZWNpZnkgdGhlIGV4ZWN1dGVkIHByb2dyYW0ncyBzdGFuZGFyZCBpbnB1dCwKICAgIHN0YW5kYXJkIG91dHB1dCBhbmQgc3RhbmRhcmQgZXJyb3IgZmlsZSBoYW5kbGVzLCByZXNwZWN0aXZlbHkuICBWYWxpZCB2YWx1ZXMKLSAgIGFyZSA6ZGF0YTpgUElQRWAsIGFuIGV4aXN0aW5nIGZpbGUgZGVzY3JpcHRvciAoYSBwb3NpdGl2ZSBpbnRlZ2VyKSwgYW4KLSAgIGV4aXN0aW5nIDp0ZXJtOmBmaWxlIG9iamVjdGAsIGFuZCBgYE5vbmVgYC4gIDpkYXRhOmBQSVBFYCBpbmRpY2F0ZXMgdGhhdCBhCi0gICBuZXcgcGlwZSB0byB0aGUgY2hpbGQgc2hvdWxkIGJlIGNyZWF0ZWQuICBXaXRoIHRoZSBkZWZhdWx0IHNldHRpbmdzIG9mCi0gICBgYE5vbmVgYCwgbm8gcmVkaXJlY3Rpb24gd2lsbCBvY2N1cjsgdGhlIGNoaWxkJ3MgZmlsZSBoYW5kbGVzIHdpbGwgYmUKLSAgIGluaGVyaXRlZCBmcm9tIHRoZSBwYXJlbnQuICBBZGRpdGlvbmFsbHksICpzdGRlcnIqIGNhbiBiZSA6ZGF0YTpgU1RET1VUYCwKLSAgIHdoaWNoIGluZGljYXRlcyB0aGF0IHRoZSBzdGRlcnIgZGF0YSBmcm9tIHRoZSBhcHBsaWNhdGlvbnMgc2hvdWxkIGJlCi0gICBjYXB0dXJlZCBpbnRvIHRoZSBzYW1lIGZpbGUgaGFuZGxlIGFzIGZvciBzdGRvdXQuCisgICBhcmUgOmRhdGE6YFBJUEVgLCA6ZGF0YTpgREVWTlVMTGAsIGFuIGV4aXN0aW5nIGZpbGUgZGVzY3JpcHRvciAoYSBwb3NpdGl2ZQorICAgaW50ZWdlciksIGFuIGV4aXN0aW5nIDp0ZXJtOmBmaWxlIG9iamVjdGAsIGFuZCBgYE5vbmVgYC4gIDpkYXRhOmBQSVBFYAorICAgaW5kaWNhdGVzIHRoYXQgYSBuZXcgcGlwZSB0byB0aGUgY2hpbGQgc2hvdWxkIGJlIGNyZWF0ZWQuICA6ZGF0YTpgREVWTlVMTGAKKyAgIGluZGljYXRlcyB0aGF0IHRoZSBzcGVjaWFsIGZpbGUgOmRhdGE6YG9zLmRldm51bGxgIHdpbGwgYmUgdXNlZC4gV2l0aCB0aGUKKyAgIGRlZmF1bHQgc2V0dGluZ3Mgb2YgYGBOb25lYGAsIG5vIHJlZGlyZWN0aW9uIHdpbGwgb2NjdXI7IHRoZSBjaGlsZCdzIGZpbGUKKyAgIGhhbmRsZXMgd2lsbCBiZSBpbmhlcml0ZWQgZnJvbSB0aGUgcGFyZW50LiAgQWRkaXRpb25hbGx5LCAqc3RkZXJyKiBjYW4gYmUKKyAgIDpkYXRhOmBTVERPVVRgLCB3aGljaCBpbmRpY2F0ZXMgdGhhdCB0aGUgc3RkZXJyIGRhdGEgZnJvbSB0aGUgYXBwbGljYXRpb25zCisgICBzaG91bGQgYmUgY2FwdHVyZWQgaW50byB0aGUgc2FtZSBmaWxlIGhhbmRsZSBhcyBmb3Igc3Rkb3V0LgogCiAgICBJZiAqcHJlZXhlY19mbiogaXMgc2V0IHRvIGEgY2FsbGFibGUgb2JqZWN0LCB0aGlzIG9iamVjdCB3aWxsIGJlIGNhbGxlZCBpbiB0aGUKICAgIGNoaWxkIHByb2Nlc3MganVzdCBiZWZvcmUgdGhlIGNoaWxkIGlzIGV4ZWN1dGVkLgpAQCAtNDU2LDYgKzQ5MCwxNSBAQAogOmV4YzpgQ2FsbGVkUHJvY2Vzc0Vycm9yYCBpZiB0aGUgY2FsbGVkIHByb2Nlc3MgcmV0dXJucyBhIG5vbi16ZXJvIHJldHVybgogY29kZS4KIAorQWxsIG9mIHRoZSBmdW5jdGlvbnMgYW5kIG1ldGhvZHMgdGhhdCBhY2NlcHQgYSAqdGltZW91dCogcGFyYW1ldGVyLCBzdWNoIGFzCis6ZnVuYzpgY2FsbGAgYW5kIDptZXRoOmBQb3Blbi5jb21tdW5pY2F0ZWAgd2lsbCByYWlzZSA6ZXhjOmBUaW1lb3V0RXhwaXJlZGAgaWYKK3RoZSB0aW1lb3V0IGV4cGlyZXMgYmVmb3JlIHRoZSBwcm9jZXNzIGV4aXRzLgorCitFeGNlcHRpb25zIGRlZmluZWQgaW4gdGhpcyBtb2R1bGUgYWxsIGluaGVyaXQgZnJvbSA6ZXhjOmBTdWJwcm9jZXNzRXJyb3JgLgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKKyAgICAgIFRoZSA6ZXhjOmBTdWJwcm9jZXNzRXJyb3JgIGJhc2UgY2xhc3Mgd2FzIGFkZGVkLgorCiAKIFNlY3VyaXR5CiBeXl5eXl5eXgpAQCAtNDc5LDExICs1MjIsMTUgQEAKICAgIGF0dHJpYnV0ZS4KIAogCi0uLiBtZXRob2Q6OiBQb3Blbi53YWl0KCkKKy4uIG1ldGhvZDo6IFBvcGVuLndhaXQodGltZW91dD1Ob25lKQogCiAgICBXYWl0IGZvciBjaGlsZCBwcm9jZXNzIHRvIHRlcm1pbmF0ZS4gIFNldCBhbmQgcmV0dXJuIDphdHRyOmByZXR1cm5jb2RlYAogICAgYXR0cmlidXRlLgogCisgICBJZiB0aGUgcHJvY2VzcyBkb2VzIG5vdCB0ZXJtaW5hdGUgYWZ0ZXIgKnRpbWVvdXQqIHNlY29uZHMsIHJhaXNlIGEKKyAgIDpleGM6YFRpbWVvdXRFeHBpcmVkYCBleGNlcHRpb24uICBJdCBpcyBzYWZlIHRvIGNhdGNoIHRoaXMgZXhjZXB0aW9uIGFuZAorICAgcmV0cnkgdGhlIHdhaXQuCisKICAgIC4uIHdhcm5pbmc6OgogCiAgICAgICBUaGlzIHdpbGwgZGVhZGxvY2sgd2hlbiB1c2luZyBgYHN0ZG91dD1QSVBFYGAgYW5kL29yCkBAIC00OTEsMTMgKzUzOCwxNyBAQAogICAgICAgYSBwaXBlIHN1Y2ggdGhhdCBpdCBibG9ja3Mgd2FpdGluZyBmb3IgdGhlIE9TIHBpcGUgYnVmZmVyIHRvCiAgICAgICBhY2NlcHQgbW9yZSBkYXRhLiAgVXNlIDptZXRoOmBjb21tdW5pY2F0ZWAgdG8gYXZvaWQgdGhhdC4KIAorICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjMKKyAgICAgICp0aW1lb3V0KiB3YXMgYWRkZWQuCiAKLS4uIG1ldGhvZDo6IFBvcGVuLmNvbW11bmljYXRlKGlucHV0PU5vbmUpCisKKy4uIG1ldGhvZDo6IFBvcGVuLmNvbW11bmljYXRlKGlucHV0PU5vbmUsIHRpbWVvdXQ9Tm9uZSkKIAogICAgSW50ZXJhY3Qgd2l0aCBwcm9jZXNzOiBTZW5kIGRhdGEgdG8gc3RkaW4uICBSZWFkIGRhdGEgZnJvbSBzdGRvdXQgYW5kIHN0ZGVyciwKLSAgIHVudGlsIGVuZC1vZi1maWxlIGlzIHJlYWNoZWQuICBXYWl0IGZvciBwcm9jZXNzIHRvIHRlcm1pbmF0ZS4gVGhlIG9wdGlvbmFsCi0gICAqaW5wdXQqIGFyZ3VtZW50IHNob3VsZCBiZSBhIGJ5dGUgc3RyaW5nIHRvIGJlIHNlbnQgdG8gdGhlIGNoaWxkIHByb2Nlc3MsIG9yCi0gICBgYE5vbmVgYCwgaWYgbm8gZGF0YSBzaG91bGQgYmUgc2VudCB0byB0aGUgY2hpbGQuCisgICB1bnRpbCBlbmQtb2YtZmlsZSBpcyByZWFjaGVkLiAgV2FpdCBmb3IgcHJvY2VzcyB0byB0ZXJtaW5hdGUuICBUaGUgb3B0aW9uYWwKKyAgICppbnB1dCogYXJndW1lbnQgc2hvdWxkIGJlIGRhdGEgdG8gYmUgc2VudCB0byB0aGUgY2hpbGQgcHJvY2Vzcywgb3IKKyAgIGBgTm9uZWBgLCBpZiBubyBkYXRhIHNob3VsZCBiZSBzZW50IHRvIHRoZSBjaGlsZC4gIFRoZSB0eXBlIG9mICppbnB1dCoKKyAgIG11c3QgYmUgYnl0ZXMgb3IsIGlmICp1bml2ZXJzYWxfbmV3bGluZXMqIHdhcyBgYFRydWVgYCwgYSBzdHJpbmcuCiAKICAgIDptZXRoOmBjb21tdW5pY2F0ZWAgcmV0dXJucyBhIHR1cGxlIGBgKHN0ZG91dGRhdGEsIHN0ZGVycmRhdGEpYGAuCiAKQEAgLTUwNiwxMSArNTU3LDI5IEBACiAgICBgYE5vbmVgYCBpbiB0aGUgcmVzdWx0IHR1cGxlLCB5b3UgbmVlZCB0byBnaXZlIGBgc3Rkb3V0PVBJUEVgYCBhbmQvb3IKICAgIGBgc3RkZXJyPVBJUEVgYCB0b28uCiAKKyAgIElmIHRoZSBwcm9jZXNzIGRvZXMgbm90IHRlcm1pbmF0ZSBhZnRlciAqdGltZW91dCogc2Vjb25kcywgYQorICAgOmV4YzpgVGltZW91dEV4cGlyZWRgIGV4Y2VwdGlvbiB3aWxsIGJlIHJhaXNlZC4gIENhdGNoaW5nIHRoaXMgZXhjZXB0aW9uIGFuZAorICAgcmV0cnlpbmcgY29tbXVuaWNhdGlvbiB3aWxsIG5vdCBsb3NlIGFueSBvdXRwdXQuCisKKyAgIFRoZSBjaGlsZCBwcm9jZXNzIGlzIG5vdCBraWxsZWQgaWYgdGhlIHRpbWVvdXQgZXhwaXJlcywgc28gaW4gb3JkZXIgdG8KKyAgIGNsZWFudXAgcHJvcGVybHkgYSB3ZWxsLWJlaGF2ZWQgYXBwbGljYXRpb24gc2hvdWxkIGtpbGwgdGhlIGNoaWxkIHByb2Nlc3MgYW5kCisgICBmaW5pc2ggY29tbXVuaWNhdGlvbjo6CisKKyAgICAgIHByb2MgPSBzdWJwcm9jZXNzLlBvcGVuKC4uLikKKyAgICAgIHRyeToKKyAgICAgICAgICBvdXRzLCBlcnJzID0gcHJvYy5jb21tdW5pY2F0ZSh0aW1lb3V0PTE1KQorICAgICAgZXhjZXB0IFRpbWVvdXRFeHBpcmVkOgorICAgICAgICAgIHByb2Mua2lsbCgpCisgICAgICAgICAgb3V0cywgZXJycyA9IHByb2MuY29tbXVuaWNhdGUoKQorCiAgICAuLiBub3RlOjoKIAogICAgICAgVGhlIGRhdGEgcmVhZCBpcyBidWZmZXJlZCBpbiBtZW1vcnksIHNvIGRvIG5vdCB1c2UgdGhpcyBtZXRob2QgaWYgdGhlIGRhdGEKICAgICAgIHNpemUgaXMgbGFyZ2Ugb3IgdW5saW1pdGVkLgogCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMworICAgICAgKnRpbWVvdXQqIHdhcyBhZGRlZC4KKwogCiAuLiBtZXRob2Q6OiBQb3Blbi5zZW5kX3NpZ25hbChzaWduYWwpCiAKQEAgLTk1MiwzICsxMDIxLDkgQEAKICAgIGJhY2tzbGFzaC4gIElmIHRoZSBudW1iZXIgb2YgYmFja3NsYXNoZXMgaXMgb2RkLCB0aGUgbGFzdAogICAgYmFja3NsYXNoIGVzY2FwZXMgdGhlIG5leHQgZG91YmxlIHF1b3RhdGlvbiBtYXJrIGFzCiAgICBkZXNjcmliZWQgaW4gcnVsZSAzLgorCisKKy4uIHNlZWFsc286OgorCisgICA6bW9kOmBzaGxleGAKKyAgICAgIE1vZHVsZSB3aGljaCBwcm92aWRlcyBmdW5jdGlvbiB0byBwYXJzZSBhbmQgZXNjYXBlIGNvbW1hbmQgbGluZXMuCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS9zeXMucnN0IGIvRG9jL2xpYnJhcnkvc3lzLnJzdAppbmRleCAwZTRhZGVjLi45NjQ1MGM1IDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS9zeXMucnN0CisrKyBiL0RvYy9saWJyYXJ5L3N5cy5yc3QKQEAgLTIzNSwxNCArMjM1LDEzIEBACiAKIC4uIGRhdGE6OiBmbGFncwogCi0gICBUaGUgc3RydWN0IHNlcXVlbmNlICpmbGFncyogZXhwb3NlcyB0aGUgc3RhdHVzIG9mIGNvbW1hbmQgbGluZSBmbGFncy4gVGhlCi0gICBhdHRyaWJ1dGVzIGFyZSByZWFkIG9ubHkuCisgICBUaGUgOnRlcm06YHN0cnVjdCBzZXF1ZW5jZWAgKmZsYWdzKiBleHBvc2VzIHRoZSBzdGF0dXMgb2YgY29tbWFuZCBsaW5lCisgICBmbGFncy4gVGhlIGF0dHJpYnV0ZXMgYXJlIHJlYWQgb25seS4KIAogICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgIGF0dHJpYnV0ZSAgICAgICAgICAgICAgICAgICAgIGZsYWcKICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICA6Y29uc3Q6YGRlYnVnYCAgICAgICAgICAgICAgICA6b3B0aW9uOmAtZGAKLSAgIDpjb25zdDpgZGl2aXNpb25fd2FybmluZ2AgICAgIDpvcHRpb246YC1RYAogICAgOmNvbnN0OmBpbnNwZWN0YCAgICAgICAgICAgICAgOm9wdGlvbjpgLWlgCiAgICA6Y29uc3Q6YGludGVyYWN0aXZlYCAgICAgICAgICA6b3B0aW9uOmAtaWAKICAgIDpjb25zdDpgb3B0aW1pemVgICAgICAgICAgICAgIDpvcHRpb246YC1PYCBvciA6b3B0aW9uOmAtT09gCkBAIC0yNjIsMTUgKzI2MSwxOCBAQAogICAgLi4gdmVyc2lvbmFkZGVkOjogMy4yLjMKICAgICAgIFRoZSBgYGhhc2hfcmFuZG9taXphdGlvbmBgIGF0dHJpYnV0ZS4KIAorICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjMKKyAgICAgIFJlbW92ZWQgb2Jzb2xldGUgYGBkaXZpc2lvbl93YXJuaW5nYGAgYXR0cmlidXRlLgorCiAKIC4uIGRhdGE6OiBmbG9hdF9pbmZvCiAKLSAgIEEgc3RydWN0c2VxIGhvbGRpbmcgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGZsb2F0IHR5cGUuIEl0IGNvbnRhaW5zIGxvdyBsZXZlbAotICAgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHByZWNpc2lvbiBhbmQgaW50ZXJuYWwgcmVwcmVzZW50YXRpb24uICBUaGUgdmFsdWVzCi0gICBjb3JyZXNwb25kIHRvIHRoZSB2YXJpb3VzIGZsb2F0aW5nLXBvaW50IGNvbnN0YW50cyBkZWZpbmVkIGluIHRoZSBzdGFuZGFyZAotICAgaGVhZGVyIGZpbGUgOmZpbGU6YGZsb2F0LmhgIGZvciB0aGUgJ0MnIHByb2dyYW1taW5nIGxhbmd1YWdlOyBzZWUgc2VjdGlvbgotICAgNS4yLjQuMi4yIG9mIHRoZSAxOTk5IElTTy9JRUMgQyBzdGFuZGFyZCBbQzk5XV8sICdDaGFyYWN0ZXJpc3RpY3Mgb2YKLSAgIGZsb2F0aW5nIHR5cGVzJywgZm9yIGRldGFpbHMuCisgICBBIDp0ZXJtOmBzdHJ1Y3Qgc2VxdWVuY2VgIGhvbGRpbmcgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGZsb2F0IHR5cGUuIEl0CisgICBjb250YWlucyBsb3cgbGV2ZWwgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHByZWNpc2lvbiBhbmQgaW50ZXJuYWwKKyAgIHJlcHJlc2VudGF0aW9uLiAgVGhlIHZhbHVlcyBjb3JyZXNwb25kIHRvIHRoZSB2YXJpb3VzIGZsb2F0aW5nLXBvaW50CisgICBjb25zdGFudHMgZGVmaW5lZCBpbiB0aGUgc3RhbmRhcmQgaGVhZGVyIGZpbGUgOmZpbGU6YGZsb2F0LmhgIGZvciB0aGUgJ0MnCisgICBwcm9ncmFtbWluZyBsYW5ndWFnZTsgc2VlIHNlY3Rpb24gNS4yLjQuMi4yIG9mIHRoZSAxOTk5IElTTy9JRUMgQyBzdGFuZGFyZAorICAgW0M5OV1fLCAnQ2hhcmFjdGVyaXN0aWNzIG9mIGZsb2F0aW5nIHR5cGVzJywgZm9yIGRldGFpbHMuCiAKICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKICAgIHwgYXR0cmlidXRlICAgICAgICAgICB8IGZsb2F0LmggbWFjcm8gIHwgZXhwbGFuYXRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKQEAgLTUyMCw4ICs1MjIsOSBAQAogCiAuLiBkYXRhOjogaGFzaF9pbmZvCiAKLSAgIEEgc3RydWN0c2VxIGdpdmluZyBwYXJhbWV0ZXJzIG9mIHRoZSBudW1lcmljIGhhc2ggaW1wbGVtZW50YXRpb24uICBGb3IKLSAgIG1vcmUgZGV0YWlscyBhYm91dCBoYXNoaW5nIG9mIG51bWVyaWMgdHlwZXMsIHNlZSA6cmVmOmBudW1lcmljLWhhc2hgLgorICAgQSA6dGVybTpgc3RydWN0IHNlcXVlbmNlYCBnaXZpbmcgcGFyYW1ldGVycyBvZiB0aGUgbnVtZXJpYyBoYXNoCisgICBpbXBsZW1lbnRhdGlvbi4gIEZvciBtb3JlIGRldGFpbHMgYWJvdXQgaGFzaGluZyBvZiBudW1lcmljIHR5cGVzLCBzZWUKKyAgIDpyZWY6YG51bWVyaWMtaGFzaGAuCiAKICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCiAgICB8IGF0dHJpYnV0ZSAgICAgICAgICAgfCBleHBsYW5hdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfApAQCAtNTU2LDggKzU1OSw4IEBACiAKICAgIFRoaXMgaXMgY2FsbGVkIGBgaGV4dmVyc2lvbmBgIHNpbmNlIGl0IG9ubHkgcmVhbGx5IGxvb2tzIG1lYW5pbmdmdWwgd2hlbiB2aWV3ZWQKICAgIGFzIHRoZSByZXN1bHQgb2YgcGFzc2luZyBpdCB0byB0aGUgYnVpbHQtaW4gOmZ1bmM6YGhleGAgZnVuY3Rpb24uICBUaGUKLSAgIHN0cnVjdCBzZXF1ZW5jZSAgOmRhdGE6YHN5cy52ZXJzaW9uX2luZm9gIG1heSBiZSB1c2VkIGZvciBhIG1vcmUgaHVtYW4tZnJpZW5kbHkKLSAgIGVuY29kaW5nIG9mIHRoZSBzYW1lIGluZm9ybWF0aW9uLgorICAgOnRlcm06YHN0cnVjdCBzZXF1ZW5jZWAgIDpkYXRhOmBzeXMudmVyc2lvbl9pbmZvYCBtYXkgYmUgdXNlZCBmb3IgYSBtb3JlCisgICBodW1hbi1mcmllbmRseSBlbmNvZGluZyBvZiB0aGUgc2FtZSBpbmZvcm1hdGlvbi4KIAogICAgVGhlIGBgaGV4dmVyc2lvbmBgIGlzIGEgMzItYml0IG51bWJlciB3aXRoIHRoZSBmb2xsb3dpbmcgbGF5b3V0OgogCkBAIC01ODUsOCArNTg4LDggQEAKIAogLi4gZGF0YTo6IGludF9pbmZvCiAKLSAgIEEgc3RydWN0IHNlcXVlbmNlIHRoYXQgaG9sZHMgaW5mb3JtYXRpb24gYWJvdXQgUHl0aG9uJ3MKLSAgIGludGVybmFsIHJlcHJlc2VudGF0aW9uIG9mIGludGVnZXJzLiAgVGhlIGF0dHJpYnV0ZXMgYXJlIHJlYWQgb25seS4KKyAgIEEgOnRlcm06YHN0cnVjdCBzZXF1ZW5jZWAgdGhhdCBob2xkcyBpbmZvcm1hdGlvbiBhYm91dCBQeXRob24ncyBpbnRlcm5hbAorICAgcmVwcmVzZW50YXRpb24gb2YgaW50ZWdlcnMuICBUaGUgYXR0cmlidXRlcyBhcmUgcmVhZCBvbmx5LgogCiAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwogICAgfCBBdHRyaWJ1dGUgICAgICAgICAgICAgICB8IEV4cGxhbmF0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKQEAgLTY0MSw5ICs2NDQsMTMgQEAKIAogLi4gZGF0YTo6IG1heHVuaWNvZGUKIAotICAgQW4gaW50ZWdlciBnaXZpbmcgdGhlIGxhcmdlc3Qgc3VwcG9ydGVkIGNvZGUgcG9pbnQgZm9yIGEgVW5pY29kZSBjaGFyYWN0ZXIuICBUaGUKLSAgIHZhbHVlIG9mIHRoaXMgZGVwZW5kcyBvbiB0aGUgY29uZmlndXJhdGlvbiBvcHRpb24gdGhhdCBzcGVjaWZpZXMgd2hldGhlciBVbmljb2RlCi0gICBjaGFyYWN0ZXJzIGFyZSBzdG9yZWQgYXMgVUNTLTIgb3IgVUNTLTQuCisgICBBbiBpbnRlZ2VyIGdpdmluZyB0aGUgdmFsdWUgb2YgdGhlIGxhcmdlc3QgVW5pY29kZSBjb2RlIHBvaW50LAorICAgaS5lLiBgYDExMTQxMTFgYCAoYGAweDEwRkZGRmBgIGluIGhleGFkZWNpbWFsKS4KKworICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjMKKyAgICAgIEJlZm9yZSA6cGVwOmAzOTNgLCBgYHN5cy5tYXh1bmljb2RlYGAgdXNlZCB0byBiZSBlaXRoZXIgYGAweEZGRkZgYAorICAgICAgb3IgYGAweDEwRkZGRmBgLCBkZXBlbmRpbmcgb24gdGhlIGNvbmZpZ3VyYXRpb24gb3B0aW9uIHRoYXQgc3BlY2lmaWVkCisgICAgICB3aGV0aGVyIFVuaWNvZGUgY2hhcmFjdGVycyB3ZXJlIHN0b3JlZCBhcyBVQ1MtMiBvciBVQ1MtNC4KIAogCiAuLiBkYXRhOjogbWV0YV9wYXRoCkBAIC03MTgsMzYgKzcyNSwzNSBAQAogICAgVGhpcyBzdHJpbmcgY29udGFpbnMgYSBwbGF0Zm9ybSBpZGVudGlmaWVyIHRoYXQgY2FuIGJlIHVzZWQgdG8gYXBwZW5kCiAgICBwbGF0Zm9ybS1zcGVjaWZpYyBjb21wb25lbnRzIHRvIDpkYXRhOmBzeXMucGF0aGAsIGZvciBpbnN0YW5jZS4KIAotICAgRm9yIG1vc3QgVW5peCBzeXN0ZW1zLCB0aGlzIGlzIHRoZSBsb3dlcmNhc2VkIE9TIG5hbWUgYXMgcmV0dXJuZWQgYnkgYGB1bmFtZQotICAgLXNgYCB3aXRoIHRoZSBmaXJzdCBwYXJ0IG9mIHRoZSB2ZXJzaW9uIGFzIHJldHVybmVkIGJ5IGBgdW5hbWUgLXJgYCBhcHBlbmRlZCwKLSAgIGUuZy4gYGAnc3Vub3M1J2BgLCAqYXQgdGhlIHRpbWUgd2hlbiBQeXRob24gd2FzIGJ1aWx0Ki4gIFVubGVzcyB5b3Ugd2FudCB0bwotICAgdGVzdCBmb3IgYSBzcGVjaWZpYyBzeXN0ZW0gdmVyc2lvbiwgaXQgaXMgdGhlcmVmb3JlIHJlY29tbWVuZGVkIHRvIHVzZSB0aGUKLSAgIGZvbGxvd2luZyBpZGlvbTo6CisgICBGb3IgVW5peCBzeXN0ZW1zLCBleGNlcHQgb24gTGludXgsIHRoaXMgaXMgdGhlIGxvd2VyY2FzZWQgT1MgbmFtZSBhcworICAgcmV0dXJuZWQgYnkgYGB1bmFtZSAtc2BgIHdpdGggdGhlIGZpcnN0IHBhcnQgb2YgdGhlIHZlcnNpb24gYXMgcmV0dXJuZWQgYnkKKyAgIGBgdW5hbWUgLXJgYCBhcHBlbmRlZCwgZS5nLiBgYCdzdW5vczUnYGAgb3IgYGAnZnJlZWJzZDgnYGAsICphdCB0aGUgdGltZQorICAgd2hlbiBQeXRob24gd2FzIGJ1aWx0Ki4gIFVubGVzcyB5b3Ugd2FudCB0byB0ZXN0IGZvciBhIHNwZWNpZmljIHN5c3RlbQorICAgdmVyc2lvbiwgaXQgaXMgdGhlcmVmb3JlIHJlY29tbWVuZGVkIHRvIHVzZSB0aGUgZm9sbG93aW5nIGlkaW9tOjoKIAogICAgICAgaWYgc3lzLnBsYXRmb3JtLnN0YXJ0c3dpdGgoJ2ZyZWVic2QnKToKICAgICAgICAgICAjIEZyZWVCU0Qtc3BlY2lmaWMgY29kZSBoZXJlLi4uCiAgICAgICBlbGlmIHN5cy5wbGF0Zm9ybS5zdGFydHN3aXRoKCdsaW51eCcpOgogICAgICAgICAgICMgTGludXgtc3BlY2lmaWMgY29kZSBoZXJlLi4uCiAKLSAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy4yLjIKLSAgICAgIFNpbmNlIGxvdHMgb2YgY29kZSBjaGVjayBmb3IgYGBzeXMucGxhdGZvcm0gPT0gJ2xpbnV4MidgYCwgYW5kIHRoZXJlIGlzCi0gICAgICBubyBlc3NlbnRpYWwgY2hhbmdlIGJldHdlZW4gTGludXggMi54IGFuZCAzLngsIGBgc3lzLnBsYXRmb3JtYGAgaXMgYWx3YXlzCi0gICAgICBzZXQgdG8gYGAnbGludXgyJ2BgLCBldmVuIG9uIExpbnV4IDMueC4gIEluIFB5dGhvbiAzLjMgYW5kIGxhdGVyLCB0aGUKLSAgICAgIHZhbHVlIHdpbGwgYWx3YXlzIGJlIHNldCB0byBgYCdsaW51eCdgYCwgc28gaXQgaXMgcmVjb21tZW5kZWQgdG8gYWx3YXlzCi0gICAgICB1c2UgdGhlIGBgc3RhcnRzd2l0aGBgIGlkaW9tIHByZXNlbnRlZCBhYm92ZS4KLQogICAgRm9yIG90aGVyIHN5c3RlbXMsIHRoZSB2YWx1ZXMgYXJlOgogCi0gICA9PT09PT09PT09PT09PT09PT09PT09ID09PT09PT09PT09PT09PT09PT09PT09PT09PQotICAgU3lzdGVtICAgICAgICAgICAgICAgICA6ZGF0YTpgcGxhdGZvcm1gIHZhbHVlCi0gICA9PT09PT09PT09PT09PT09PT09PT09ID09PT09PT09PT09PT09PT09PT09PT09PT09PQotICAgTGludXggKDIueCAqYW5kKiAzLngpICBgYCdsaW51eDInYGAKLSAgIFdpbmRvd3MgICAgICAgICAgICAgICAgYGAnd2luMzInYGAKLSAgIFdpbmRvd3MvQ3lnd2luICAgICAgICAgYGAnY3lnd2luJ2BgCi0gICBNYWMgT1MgWCAgICAgICAgICAgICAgIGBgJ2RhcndpbidgYAotICAgT1MvMiAgICAgICAgICAgICAgICAgICBgYCdvczInYGAKLSAgIE9TLzIgRU1YICAgICAgICAgICAgICAgYGAnb3MyZW14J2BgCi0gICA9PT09PT09PT09PT09PT09PT09PT09ID09PT09PT09PT09PT09PT09PT09PT09PT09PQorICAgPT09PT09PT09PT09PT09PSA9PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAgIFN5c3RlbSAgICAgICAgICAgOmRhdGE6YHBsYXRmb3JtYCB2YWx1ZQorICAgPT09PT09PT09PT09PT09PSA9PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAgIExpbnV4ICAgICAgICAgICAgYGAnbGludXgnYGAKKyAgIFdpbmRvd3MgICAgICAgICAgYGAnd2luMzInYGAKKyAgIFdpbmRvd3MvQ3lnd2luICAgYGAnY3lnd2luJ2BgCisgICBNYWMgT1MgWCAgICAgICAgIGBgJ2RhcndpbidgYAorICAgT1MvMiAgICAgICAgICAgICBgYCdvczInYGAKKyAgIE9TLzIgRU1YICAgICAgICAgYGAnb3MyZW14J2BgCisgICA9PT09PT09PT09PT09PT09ID09PT09PT09PT09PT09PT09PT09PT09PT09PQorCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMworICAgICAgT24gTGludXgsIDphdHRyOmBzeXMucGxhdGZvcm1gIGRvZXNuJ3QgY29udGFpbiB0aGUgbWFqb3IgdmVyc2lvbiBhbnltb3JlLgorICAgICAgSXQgaXMgYWx3YXlzIGBgJ2xpbnV4J2BgLCBpbnN0ZWFkIG9mIGBgJ2xpbnV4MidgYCBvciBgYCdsaW51eDMnYGAuICBTaW5jZQorICAgICAgb2xkZXIgUHl0aG9uIHZlcnNpb25zIGluY2x1ZGUgdGhlIHZlcnNpb24gbnVtYmVyLCBpdCBpcyByZWNvbW1lbmRlZCB0bworICAgICAgYWx3YXlzIHVzZSB0aGUgYGBzdGFydHN3aXRoYGAgaWRpb20gcHJlc2VudGVkIGFib3ZlLgogCiAgICAuLiBzZWVhbHNvOjoKIApAQCAtNzY0LDcgKzc3MCw3IEBACiAgICBpbmRlcGVuZGVudCBQeXRob24gZmlsZXMgYXJlIGluc3RhbGxlZDsgYnkgZGVmYXVsdCwgdGhpcyBpcyB0aGUgc3RyaW5nCiAgICBgYCcvdXNyL2xvY2FsJ2BgLiAgVGhpcyBjYW4gYmUgc2V0IGF0IGJ1aWxkIHRpbWUgd2l0aCB0aGUgYGAtLXByZWZpeGBgCiAgICBhcmd1bWVudCB0byB0aGUgOnByb2dyYW06YGNvbmZpZ3VyZWAgc2NyaXB0LiAgVGhlIG1haW4gY29sbGVjdGlvbiBvZiBQeXRob24KLSAgIGxpYnJhcnkgbW9kdWxlcyBpcyBpbnN0YWxsZWQgaW4gdGhlIGRpcmVjdG9yeSA6ZmlsZTpge3ByZWZpeH0vbGliL3B5dGhvbntYLll9YGAKKyAgIGxpYnJhcnkgbW9kdWxlcyBpcyBpbnN0YWxsZWQgaW4gdGhlIGRpcmVjdG9yeSA6ZmlsZTpge3ByZWZpeH0vbGliL3B5dGhvbntYLll9YAogICAgd2hpbGUgdGhlIHBsYXRmb3JtIGluZGVwZW5kZW50IGhlYWRlciBmaWxlcyAoYWxsIGV4Y2VwdCA6ZmlsZTpgcHljb25maWcuaGApIGFyZQogICAgc3RvcmVkIGluIDpmaWxlOmB7cHJlZml4fS9pbmNsdWRlL3B5dGhvbntYLll9YCwgd2hlcmUgKlguWSogaXMgdGhlIHZlcnNpb24KICAgIG51bWJlciBvZiBQeXRob24sIGZvciBleGFtcGxlIGBgMy4yYGAuCkBAIC04MDYsMTEgKzgxMiwxMSBAQAogICAgdGhlIGludGVycHJldGVyIGxvYWRzIGV4dGVuc2lvbiBtb2R1bGVzLiAgQW1vbmcgb3RoZXIgdGhpbmdzLCB0aGlzIHdpbGwgZW5hYmxlIGEKICAgIGxhenkgcmVzb2x2aW5nIG9mIHN5bWJvbHMgd2hlbiBpbXBvcnRpbmcgYSBtb2R1bGUsIGlmIGNhbGxlZCBhcwogICAgYGBzeXMuc2V0ZGxvcGVuZmxhZ3MoMClgYC4gIFRvIHNoYXJlIHN5bWJvbHMgYWNyb3NzIGV4dGVuc2lvbiBtb2R1bGVzLCBjYWxsIGFzCi0gICBgYHN5cy5zZXRkbG9wZW5mbGFncyhjdHlwZXMuUlRMRF9HTE9CQUwpYGAuICBTeW1ib2xpYyBuYW1lcyBmb3IgdGhlCi0gICBmbGFnIG1vZHVsZXMgY2FuIGJlIGVpdGhlciBmb3VuZCBpbiB0aGUgOm1vZDpgY3R5cGVzYCBtb2R1bGUsIG9yIGluIHRoZSA6bW9kOmBETEZDTmAKLSAgIG1vZHVsZS4gSWYgOm1vZDpgRExGQ05gIGlzIG5vdCBhdmFpbGFibGUsIGl0IGNhbiBiZSBnZW5lcmF0ZWQgZnJvbQotICAgOmZpbGU6YC91c3IvaW5jbHVkZS9kbGZjbi5oYCB1c2luZyB0aGUgOnByb2dyYW06YGgycHlgIHNjcmlwdC4gQXZhaWxhYmlsaXR5OgotICAgVW5peC4KKyAgIGBgc3lzLnNldGRsb3BlbmZsYWdzKG9zLlJUTERfR0xPQkFMKWBgLiAgU3ltYm9saWMgbmFtZXMgZm9yIHRoZSBmbGFnIG1vZHVsZXMKKyAgIGNhbiBiZSBmb3VuZCBpbiB0aGUgOm1vZDpgb3NgIG1vZHVsZSAoYGBSVExEX3h4eGBgIGNvbnN0YW50cywgZS5nLgorICAgOmRhdGE6YG9zLlJUTERfTEFaWWApLgorCisgICBBdmFpbGFiaWxpdHk6IFVuaXguCiAKIC4uIGZ1bmN0aW9uOjogc2V0cHJvZmlsZShwcm9maWxlZnVuYykKIApAQCAtMTAwMywyMiArMTAwOSwzMyBAQAogICAgICAgIHRvIGEgY29uc29sZSBhbmQgUHl0aG9uIGFwcHMgc3RhcnRlZCB3aXRoIDpwcm9ncmFtOmBweXRob253YC4KIAogCi0uLiBkYXRhOjogc3VidmVyc2lvbgorLi4gZGF0YTo6IHRocmVhZF9pbmZvCiAKLSAgIEEgdHJpcGxlIChyZXBvLCBicmFuY2gsIHZlcnNpb24pIHJlcHJlc2VudGluZyB0aGUgU3VidmVyc2lvbiBpbmZvcm1hdGlvbiBvZiB0aGUKLSAgIFB5dGhvbiBpbnRlcnByZXRlci4gKnJlcG8qIGlzIHRoZSBuYW1lIG9mIHRoZSByZXBvc2l0b3J5LCBgYCdDUHl0aG9uJ2BgLgotICAgKmJyYW5jaCogaXMgYSBzdHJpbmcgb2Ygb25lIG9mIHRoZSBmb3JtcyBgYCd0cnVuaydgYCwgYGAnYnJhbmNoZXMvbmFtZSdgYCBvcgotICAgYGAndGFncy9uYW1lJ2BgLiAqdmVyc2lvbiogaXMgdGhlIG91dHB1dCBvZiBgYHN2bnZlcnNpb25gYCwgaWYgdGhlIGludGVycHJldGVyCi0gICB3YXMgYnVpbHQgZnJvbSBhIFN1YnZlcnNpb24gY2hlY2tvdXQ7IGl0IGNvbnRhaW5zIHRoZSByZXZpc2lvbiBudW1iZXIgKHJhbmdlKQotICAgYW5kIHBvc3NpYmx5IGEgdHJhaWxpbmcgJ00nIGlmIHRoZXJlIHdlcmUgbG9jYWwgbW9kaWZpY2F0aW9ucy4gSWYgdGhlIHRyZWUgd2FzCi0gICBleHBvcnRlZCAob3Igc3ZudmVyc2lvbiB3YXMgbm90IGF2YWlsYWJsZSksIGl0IGlzIHRoZSByZXZpc2lvbiBvZgotICAgYGBJbmNsdWRlL3BhdGNobGV2ZWwuaGBgIGlmIHRoZSBicmFuY2ggaXMgYSB0YWcuIE90aGVyd2lzZSwgaXQgaXMgYGBOb25lYGAuCisgICBBIDp0ZXJtOmBzdHJ1Y3Qgc2VxdWVuY2VgIGhvbGRpbmcgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHRocmVhZAorICAgaW1wbGVtZW50YXRpb24uCiAKLSAgIC4uIGRlcHJlY2F0ZWQ6OiAzLjIuMQotICAgICAgUHl0aG9uIGlzIG5vdyBgZGV2ZWxvcGVkIDxodHRwOi8vZG9jcy5weXRob24ub3JnL2Rldmd1aWRlLz5gXyB1c2luZwotICAgICAgTWVyY3VyaWFsLiAgSW4gcmVjZW50IFB5dGhvbiAzLjIgYnVnZml4IHJlbGVhc2VzLCA6ZGF0YTpgc3VidmVyc2lvbmAKLSAgICAgIHRoZXJlZm9yZSBjb250YWlucyBwbGFjZWhvbGRlciBpbmZvcm1hdGlvbi4gIEl0IGlzIHJlbW92ZWQgaW4gUHl0aG9uCi0gICAgICAzLjMuCisgICArLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKKyAgIHwgQXR0cmlidXRlICAgICAgICB8IEV4cGxhbmF0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgKz09PT09PT09PT09PT09PT09PSs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0rCisgICB8IDpjb25zdDpgbmFtZWAgICAgfCBOYW1lIG9mIHRoZSB0aHJlYWQgaW1wbGVtZW50YXRpb246ICAgICAgICAgICAgICAgICAgICAgIHwKKyAgIHwgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgfCAgICAgICAgICAgICAgICAgIHwgICogYGAnbnQnYGA6IFdpbmRvd3MgdGhyZWFkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICB8ICAgICAgICAgICAgICAgICAgfCAgKiBgYCdvczInYGA6IE9TLzIgdGhyZWFkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAgIHwgICAgICAgICAgICAgICAgICB8ICAqIGBgJ3B0aHJlYWQnYGA6IFBPU0lYIHRocmVhZHMgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgfCAgICAgICAgICAgICAgICAgIHwgICogYGAnc29sYXJpcydgYDogU29sYXJpcyB0aHJlYWRzICAgICAgICAgICAgICAgICAgICAgICB8CisgICArLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKKyAgIHwgOmNvbnN0OmBsb2NrYCAgICB8IE5hbWUgb2YgdGhlIGxvY2sgaW1wbGVtZW50YXRpb246ICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgfCAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICB8ICAgICAgICAgICAgICAgICAgfCAgKiBgYCdzZW1hcGhvcmUnYGA6IGEgbG9jayB1c2VzIGEgc2VtYXBob3JlICAgICAgICAgICAgIHwKKyAgIHwgICAgICAgICAgICAgICAgICB8ICAqIGBgJ211dGV4K2NvbmQnYGA6IGEgbG9jayB1c2VzIGEgbXV0ZXggICAgICAgICAgICAgICAgfAorICAgfCAgICAgICAgICAgICAgICAgIHwgICAgYW5kIGEgY29uZGl0aW9uIHZhcmlhYmxlICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICB8ICAgICAgICAgICAgICAgICAgfCAgKiBgYE5vbmVgYCBpZiB0aGlzIGluZm9ybWF0aW9uIGlzIHVua25vd24gICAgICAgICAgICAgIHwKKyAgICstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworICAgfCA6Y29uc3Q6YHZlcnNpb25gIHwgTmFtZSBhbmQgdmVyc2lvbiBvZiB0aGUgdGhyZWFkIGxpYnJhcnkuIEl0IGlzIGEgc3RyaW5nLCB8CisgICB8ICAgICAgICAgICAgICAgICAgfCBvciBgYE5vbmVgYCBpZiB0aGVzZSBpbmZvcm1hdGlvbnMgYXJlIHVua25vd24uICAgICAgICAgIHwKKyAgICstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKIAogCiAuLiBkYXRhOjogdHJhY2ViYWNrbGltaXQKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L3RhcmZpbGUucnN0IGIvRG9jL2xpYnJhcnkvdGFyZmlsZS5yc3QKaW5kZXggNDZlNDkwMC4uOTJlOWRmNyAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvdGFyZmlsZS5yc3QKKysrIGIvRG9jL2xpYnJhcnkvdGFyZmlsZS5yc3QKQEAgLTEzLDEzICsxMywxMyBAQAogLS0tLS0tLS0tLS0tLS0KIAogVGhlIDptb2Q6YHRhcmZpbGVgIG1vZHVsZSBtYWtlcyBpdCBwb3NzaWJsZSB0byByZWFkIGFuZCB3cml0ZSB0YXIKLWFyY2hpdmVzLCBpbmNsdWRpbmcgdGhvc2UgdXNpbmcgZ3ppcCBvciBiejIgY29tcHJlc3Npb24uCithcmNoaXZlcywgaW5jbHVkaW5nIHRob3NlIHVzaW5nIGd6aXAsIGJ6MiBhbmQgbHptYSBjb21wcmVzc2lvbi4KIFVzZSB0aGUgOm1vZDpgemlwZmlsZWAgbW9kdWxlIHRvIHJlYWQgb3Igd3JpdGUgOmZpbGU6YC56aXBgIGZpbGVzLCBvciB0aGUKIGhpZ2hlci1sZXZlbCBmdW5jdGlvbnMgaW4gOnJlZjpgc2h1dGlsIDxhcmNoaXZpbmctb3BlcmF0aW9ucz5gLgogCiBTb21lIGZhY3RzIGFuZCBmaWd1cmVzOgogCi0qIHJlYWRzIGFuZCB3cml0ZXMgOm1vZDpgZ3ppcGAgYW5kIDptb2Q6YGJ6MmAgY29tcHJlc3NlZCBhcmNoaXZlcy4KKyogcmVhZHMgYW5kIHdyaXRlcyA6bW9kOmBnemlwYCwgOm1vZDpgYnoyYCBhbmQgOm1vZDpgbHptYWAgY29tcHJlc3NlZCBhcmNoaXZlcy4KIAogKiByZWFkL3dyaXRlIHN1cHBvcnQgZm9yIHRoZSBQT1NJWC4xLTE5ODggKHVzdGFyKSBmb3JtYXQuCiAKQEAgLTMzLDYgKzMzLDkgQEAKICAgY2hhcmFjdGVyIGRldmljZXMgYW5kIGJsb2NrIGRldmljZXMgYW5kIGlzIGFibGUgdG8gYWNxdWlyZSBhbmQgcmVzdG9yZSBmaWxlCiAgIGluZm9ybWF0aW9uIGxpa2UgdGltZXN0YW1wLCBhY2Nlc3MgcGVybWlzc2lvbnMgYW5kIG93bmVyLgogCisuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMworICAgQWRkZWQgc3VwcG9ydCBmb3IgOm1vZDpgbHptYWAgY29tcHJlc3Npb24uCisKIAogLi4gZnVuY3Rpb246OiBvcGVuKG5hbWU9Tm9uZSwgbW9kZT0ncicsIGZpbGVvYmo9Tm9uZSwgYnVmc2l6ZT0xMDI0MCwgXCpcKmt3YXJncykKIApAQCAtNTYsNiArNTksOCBAQAogICAgKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCiAgICB8IGBgJ3I6YnoyJ2BgICAgICAgfCBPcGVuIGZvciByZWFkaW5nIHdpdGggYnppcDIgY29tcHJlc3Npb24uICAgIHwKICAgICstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworICAgfCBgYCdyOnh6J2BgICAgICAgIHwgT3BlbiBmb3IgcmVhZGluZyB3aXRoIGx6bWEgY29tcHJlc3Npb24uICAgICB8CisgICArLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKICAgIHwgYGAnYScgb3IgJ2E6J2BgICB8IE9wZW4gZm9yIGFwcGVuZGluZyB3aXRoIG5vIGNvbXByZXNzaW9uLiBUaGUgfAogICAgfCAgICAgICAgICAgICAgICAgIHwgZmlsZSBpcyBjcmVhdGVkIGlmIGl0IGRvZXMgbm90IGV4aXN0LiAgICAgICB8CiAgICArLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKQEAgLTY1LDExICs3MCwxMyBAQAogICAgKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCiAgICB8IGBgJ3c6YnoyJ2BgICAgICAgfCBPcGVuIGZvciBiemlwMiBjb21wcmVzc2VkIHdyaXRpbmcuICAgICAgICAgIHwKICAgICstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworICAgfCBgYCd3Onh6J2BgICAgICAgIHwgT3BlbiBmb3IgbHptYSBjb21wcmVzc2VkIHdyaXRpbmcuICAgICAgICAgICB8CisgICArLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKIAotICAgTm90ZSB0aGF0IGBgJ2E6Z3onYGAgb3IgYGAnYTpiejInYGAgaXMgbm90IHBvc3NpYmxlLiBJZiAqbW9kZSogaXMgbm90IHN1aXRhYmxlCi0gICB0byBvcGVuIGEgY2VydGFpbiAoY29tcHJlc3NlZCkgZmlsZSBmb3IgcmVhZGluZywgOmV4YzpgUmVhZEVycm9yYCBpcyByYWlzZWQuIFVzZQotICAgKm1vZGUqIGBgJ3InYGAgdG8gYXZvaWQgdGhpcy4gIElmIGEgY29tcHJlc3Npb24gbWV0aG9kIGlzIG5vdCBzdXBwb3J0ZWQsCi0gICA6ZXhjOmBDb21wcmVzc2lvbkVycm9yYCBpcyByYWlzZWQuCisgICBOb3RlIHRoYXQgYGAnYTpneidgYCwgYGAnYTpiejInYGAgb3IgYGAnYTp4eidgYCBpcyBub3QgcG9zc2libGUuIElmICptb2RlKgorICAgaXMgbm90IHN1aXRhYmxlIHRvIG9wZW4gYSBjZXJ0YWluIChjb21wcmVzc2VkKSBmaWxlIGZvciByZWFkaW5nLAorICAgOmV4YzpgUmVhZEVycm9yYCBpcyByYWlzZWQuIFVzZSAqbW9kZSogYGAncidgYCB0byBhdm9pZCB0aGlzLiAgSWYgYQorICAgY29tcHJlc3Npb24gbWV0aG9kIGlzIG5vdCBzdXBwb3J0ZWQsIDpleGM6YENvbXByZXNzaW9uRXJyb3JgIGlzIHJhaXNlZC4KIAogICAgSWYgKmZpbGVvYmoqIGlzIHNwZWNpZmllZCwgaXQgaXMgdXNlZCBhcyBhbiBhbHRlcm5hdGl2ZSB0byBhIDp0ZXJtOmBmaWxlIG9iamVjdGAKICAgIG9wZW5lZCBpbiBiaW5hcnkgbW9kZSBmb3IgKm5hbWUqLiBJdCBpcyBzdXBwb3NlZCB0byBiZSBhdCBwb3NpdGlvbiAwLgpAQCAtMTAwLDYgKzEwNyw5IEBACiAgICB8IGBgJ3J8YnoyJ2BgIHwgT3BlbiBhIGJ6aXAyIGNvbXByZXNzZWQgKnN0cmVhbSogZm9yICAgICAgIHwKICAgIHwgICAgICAgICAgICAgfCByZWFkaW5nLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAogICAgKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCisgICB8IGBgJ3J8eHonYGAgIHwgT3BlbiBhIGx6bWEgY29tcHJlc3NlZCAqc3RyZWFtKiBmb3IgICAgICAgIHwKKyAgIHwgICAgICAgICAgICAgfCByZWFkaW5nLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCiAgICB8IGBgJ3d8J2BgICAgIHwgT3BlbiBhbiB1bmNvbXByZXNzZWQgKnN0cmVhbSogZm9yIHdyaXRpbmcuIHwKICAgICstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwogICAgfCBgYCd3fGd6J2BgICB8IE9wZW4gYSBnemlwIGNvbXByZXNzZWQgKnN0cmVhbSogZm9yICAgICAgICB8CkBAIC0xMDgsNiArMTE4LDkgQEAKICAgIHwgYGAnd3xiejInYGAgfCBPcGVuIGEgYnppcDIgY29tcHJlc3NlZCAqc3RyZWFtKiBmb3IgICAgICAgfAogICAgfCAgICAgICAgICAgICB8IHdyaXRpbmcuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CiAgICArLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKKyAgIHwgYGAnd3x4eidgYCAgfCBPcGVuIGFuIGx6bWEgY29tcHJlc3NlZCAqc3RyZWFtKiBmb3IgICAgICAgfAorICAgfCAgICAgICAgICAgICB8IHdyaXRpbmcuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICArLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKIAogCiAuLiBjbGFzczo6IFRhckZpbGUKQEAgLTI2Myw5ICsyNzYsOSBAQAogCiAgICBJZiAqZXJyb3JsZXZlbCogaXMgYGAwYGAsIGFsbCBlcnJvcnMgYXJlIGlnbm9yZWQgd2hlbiB1c2luZyA6bWV0aDpgVGFyRmlsZS5leHRyYWN0YC4KICAgIE5ldmVydGhlbGVzcywgdGhleSBhcHBlYXIgYXMgZXJyb3IgbWVzc2FnZXMgaW4gdGhlIGRlYnVnIG91dHB1dCwgd2hlbiBkZWJ1Z2dpbmcKLSAgIGlzIGVuYWJsZWQuICBJZiBgYDFgYCwgYWxsICpmYXRhbCogZXJyb3JzIGFyZSByYWlzZWQgYXMgOmV4YzpgT1NFcnJvcmAgb3IKLSAgIDpleGM6YElPRXJyb3JgIGV4Y2VwdGlvbnMuIElmIGBgMmBgLCBhbGwgKm5vbi1mYXRhbCogZXJyb3JzIGFyZSByYWlzZWQgYXMKLSAgIDpleGM6YFRhckVycm9yYCBleGNlcHRpb25zIGFzIHdlbGwuCisgICBpcyBlbmFibGVkLiAgSWYgYGAxYGAsIGFsbCAqZmF0YWwqIGVycm9ycyBhcmUgcmFpc2VkIGFzIDpleGM6YE9TRXJyb3JgCisgICBleGNlcHRpb25zLiBJZiBgYDJgYCwgYWxsICpub24tZmF0YWwqIGVycm9ycyBhcmUgcmFpc2VkIGFzIDpleGM6YFRhckVycm9yYAorICAgZXhjZXB0aW9ucyBhcyB3ZWxsLgogCiAgICBUaGUgKmVuY29kaW5nKiBhbmQgKmVycm9ycyogYXJndW1lbnRzIGRlZmluZSB0aGUgY2hhcmFjdGVyIGVuY29kaW5nIHRvIGJlCiAgICB1c2VkIGZvciByZWFkaW5nIG9yIHdyaXRpbmcgdGhlIGFyY2hpdmUgYW5kIGhvdyBjb252ZXJzaW9uIGVycm9ycyBhcmUgZ29pbmcKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L3RlbG5ldGxpYi5yc3QgYi9Eb2MvbGlicmFyeS90ZWxuZXRsaWIucnN0CmluZGV4IDY0NjYzNGQuLjliYzc5YzUgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L3RlbG5ldGxpYi5yc3QKKysrIGIvRG9jL2xpYnJhcnkvdGVsbmV0bGliLnJzdApAQCAtMTYyLDkgKzE2MiwxMyBAQAogLi4gbWV0aG9kOjogVGVsbmV0LndyaXRlKGJ1ZmZlcikKIAogICAgV3JpdGUgYSBieXRlIHN0cmluZyB0byB0aGUgc29ja2V0LCBkb3VibGluZyBhbnkgSUFDIGNoYXJhY3RlcnMuIFRoaXMgY2FuCi0gICBibG9jayBpZiB0aGUgY29ubmVjdGlvbiBpcyBibG9ja2VkLiAgTWF5IHJhaXNlIDpleGM6YHNvY2tldC5lcnJvcmAgaWYgdGhlCisgICBibG9jayBpZiB0aGUgY29ubmVjdGlvbiBpcyBibG9ja2VkLiAgTWF5IHJhaXNlIDpleGM6YE9TRXJyb3JgIGlmIHRoZQogICAgY29ubmVjdGlvbiBpcyBjbG9zZWQuCiAKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy4zCisgICAgICBUaGlzIG1ldGhvZCB1c2VkIHRvIHJhaXNlIDpleGM6YHNvY2tldC5lcnJvcmAsIHdoaWNoIGlzIG5vdyBhbiBhbGlhcworICAgICAgb2YgOmV4YzpgT1NFcnJvcmAuCisKIAogLi4gbWV0aG9kOjogVGVsbmV0LmludGVyYWN0KCkKIApkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvdGVtcGZpbGUucnN0IGIvRG9jL2xpYnJhcnkvdGVtcGZpbGUucnN0CmluZGV4IGZmZjZjNGUuLmRmZWIyNTAgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L3RlbXBmaWxlLnJzdAorKysgYi9Eb2MvbGlicmFyeS90ZW1wZmlsZS5yc3QKQEAgLTI1LDcgKzI1LDcgQEAKIAogQWxzbywgYWxsIHRoZSB1c2VyLWNhbGxhYmxlIGZ1bmN0aW9ucyBub3cgdGFrZSBhZGRpdGlvbmFsIGFyZ3VtZW50cyB3aGljaAogYWxsb3cgZGlyZWN0IGNvbnRyb2wgb3ZlciB0aGUgbG9jYXRpb24gYW5kIG5hbWUgb2YgdGVtcG9yYXJ5IGZpbGVzLiAgSXQgaXMKLW5vIGxvbmdlciBuZWNlc3NhcnkgdG8gdXNlIHRoZSBnbG9iYWwgKnRlbXBkaXIqIGFuZCAqdGVtcGxhdGUqIHZhcmlhYmxlcy4KK25vIGxvbmdlciBuZWNlc3NhcnkgdG8gdXNlIHRoZSBnbG9iYWwgKnRlbXBkaXIqIHZhcmlhYmxlLgogVG8gbWFpbnRhaW4gYmFja3dhcmQgY29tcGF0aWJpbGl0eSwgdGhlIGFyZ3VtZW50IG9yZGVyIGlzIHNvbWV3aGF0IG9kZDsgaXQKIGlzIHJlY29tbWVuZGVkIHRvIHVzZSBrZXl3b3JkIGFyZ3VtZW50cyBmb3IgY2xhcml0eS4KIApkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvdGVzdC5yc3QgYi9Eb2MvbGlicmFyeS90ZXN0LnJzdAppbmRleCBjMjdlZTA4Li41ZTRhMWNiIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS90ZXN0LnJzdAorKysgYi9Eb2MvbGlicmFyeS90ZXN0LnJzdApAQCAtMjIzLDE0ICsyMjMsMTQgQEAKIAogLi4gZGF0YTo6IHZlcmJvc2UKIAotICAgOmNvbnN0OmBUcnVlYCB3aGVuIHZlcmJvc2Ugb3V0cHV0IGlzIGVuYWJsZWQuIFNob3VsZCBiZSBjaGVja2VkIHdoZW4gbW9yZQorICAgYGBUcnVlYGAgd2hlbiB2ZXJib3NlIG91dHB1dCBpcyBlbmFibGVkLiBTaG91bGQgYmUgY2hlY2tlZCB3aGVuIG1vcmUKICAgIGRldGFpbGVkIGluZm9ybWF0aW9uIGlzIGRlc2lyZWQgYWJvdXQgYSBydW5uaW5nIHRlc3QuICp2ZXJib3NlKiBpcyBzZXQgYnkKICAgIDptb2Q6YHRlc3QucmVncnRlc3RgLgogCiAKIC4uIGRhdGE6OiBpc19qeXRob24KIAotICAgOmNvbnN0OmBUcnVlYCBpZiB0aGUgcnVubmluZyBpbnRlcnByZXRlciBpcyBKeXRob24uCisgICBgYFRydWVgYCBpZiB0aGUgcnVubmluZyBpbnRlcnByZXRlciBpcyBKeXRob24uCiAKIAogLi4gZGF0YTo6IFRFU1RGTgpAQCAtMjQ5LDcgKzI0OSw3IEBACiAKIC4uIGZ1bmN0aW9uOjogaXNfcmVzb3VyY2VfZW5hYmxlZChyZXNvdXJjZSkKIAotICAgUmV0dXJuIDpjb25zdDpgVHJ1ZWAgaWYgKnJlc291cmNlKiBpcyBlbmFibGVkIGFuZCBhdmFpbGFibGUuIFRoZSBsaXN0IG9mCisgICBSZXR1cm4gYGBUcnVlYGAgaWYgKnJlc291cmNlKiBpcyBlbmFibGVkIGFuZCBhdmFpbGFibGUuIFRoZSBsaXN0IG9mCiAgICBhdmFpbGFibGUgcmVzb3VyY2VzIGlzIG9ubHkgc2V0IHdoZW4gOm1vZDpgdGVzdC5yZWdydGVzdGAgaXMgZXhlY3V0aW5nIHRoZQogICAgdGVzdHMuCiAKQEAgLTI1OCw3ICsyNTgsNyBAQAogCiAgICBSYWlzZSA6ZXhjOmBSZXNvdXJjZURlbmllZGAgaWYgKnJlc291cmNlKiBpcyBub3QgYXZhaWxhYmxlLiAqbXNnKiBpcyB0aGUKICAgIGFyZ3VtZW50IHRvIDpleGM6YFJlc291cmNlRGVuaWVkYCBpZiBpdCBpcyByYWlzZWQuIEFsd2F5cyByZXR1cm5zCi0gICA6Y29uc3Q6YFRydWVgIGlmIGNhbGxlZCBieSBhIGZ1bmN0aW9uIHdob3NlIGBgX19uYW1lX19gYCBpcyBgYCdfX21haW5fXydgYC4KKyAgIGBgVHJ1ZWBgIGlmIGNhbGxlZCBieSBhIGZ1bmN0aW9uIHdob3NlIGBgX19uYW1lX19gYCBpcyBgYCdfX21haW5fXydgYC4KICAgIFVzZWQgd2hlbiB0ZXN0cyBhcmUgZXhlY3V0ZWQgYnkgOm1vZDpgdGVzdC5yZWdydGVzdGAuCiAKIApAQCAtMjg2LDYgKzI4NiwxNSBAQAogICAgVGhpcyB3aWxsIHJ1biBhbGwgdGVzdHMgZGVmaW5lZCBpbiB0aGUgbmFtZWQgbW9kdWxlLgogCiAKKy4uIGZ1bmN0aW9uOjogcnVuX2RvY3Rlc3QobW9kdWxlLCB2ZXJib3NpdHk9Tm9uZSkKKworICAgUnVuIDpmdW5jOmBkb2N0ZXN0LnRlc3Rtb2RgIG9uIHRoZSBnaXZlbiAqbW9kdWxlKi4gIFJldHVybgorICAgYGAoZmFpbHVyZV9jb3VudCwgdGVzdF9jb3VudClgYC4KKworICAgSWYgKnZlcmJvc2l0eSogaXMgYGBOb25lYGAsIDpmdW5jOmBkb2N0ZXN0LnRlc3Rtb2RgIGlzIHJ1biB3aXRoIHZlcmJvc2l0eQorICAgc2V0IHRvIDpkYXRhOmB2ZXJib3NlYC4gIE90aGVyd2lzZSwgaXQgaXMgcnVuIHdpdGggdmVyYm9zaXR5IHNldCB0bworICAgYGBOb25lYGAuCisKIC4uIGZ1bmN0aW9uOjogY2hlY2tfd2FybmluZ3MoXCpmaWx0ZXJzLCBxdWlldD1UcnVlKQogCiAgICBBIGNvbnZlbmllbmNlIHdyYXBwZXIgZm9yIDpmdW5jOmB3YXJuaW5ncy5jYXRjaF93YXJuaW5ncygpYCB0aGF0IG1ha2VzIGl0CkBAIC0yOTYsMTIgKzMwNSwxMiBAQAogCiAgICBgYGNoZWNrX3dhcm5pbmdzYGAgYWNjZXB0cyAyLXR1cGxlcyBvZiB0aGUgZm9ybSBgYCgibWVzc2FnZSByZWdleHAiLAogICAgV2FybmluZ0NhdGVnb3J5KWBgIGFzIHBvc2l0aW9uYWwgYXJndW1lbnRzLiBJZiBvbmUgb3IgbW9yZSAqZmlsdGVycyogYXJlCi0gICBwcm92aWRlZCwgb3IgaWYgdGhlIG9wdGlvbmFsIGtleXdvcmQgYXJndW1lbnQgKnF1aWV0KiBpcyA6Y29uc3Q6YEZhbHNlYCwKKyAgIHByb3ZpZGVkLCBvciBpZiB0aGUgb3B0aW9uYWwga2V5d29yZCBhcmd1bWVudCAqcXVpZXQqIGlzIGBgRmFsc2VgYCwKICAgIGl0IGNoZWNrcyB0byBtYWtlIHN1cmUgdGhlIHdhcm5pbmdzIGFyZSBhcyBleHBlY3RlZDogIGVhY2ggc3BlY2lmaWVkIGZpbHRlcgogICAgbXVzdCBtYXRjaCBhdCBsZWFzdCBvbmUgb2YgdGhlIHdhcm5pbmdzIHJhaXNlZCBieSB0aGUgZW5jbG9zZWQgY29kZSBvciB0aGUKICAgIHRlc3QgZmFpbHMsIGFuZCBpZiBhbnkgd2FybmluZ3MgYXJlIHJhaXNlZCB0aGF0IGRvIG5vdCBtYXRjaCBhbnkgb2YgdGhlCiAgICBzcGVjaWZpZWQgZmlsdGVycyB0aGUgdGVzdCBmYWlscy4gIFRvIGRpc2FibGUgdGhlIGZpcnN0IG9mIHRoZXNlIGNoZWNrcywKLSAgIHNldCAqcXVpZXQqIHRvIDpjb25zdDpgVHJ1ZWAuCisgICBzZXQgKnF1aWV0KiB0byBgYFRydWVgYC4KIAogICAgSWYgbm8gYXJndW1lbnRzIGFyZSBzcGVjaWZpZWQsIGl0IGRlZmF1bHRzIHRvOjoKIApAQCAtMzE2LDcgKzMyNSw3IEBACiAgICByZXByZXNlbnRpbmcgdGhlIG1vc3QgcmVjZW50IHdhcm5pbmcgY2FuIGFsc28gYmUgYWNjZXNzZWQgZGlyZWN0bHkgdGhyb3VnaAogICAgdGhlIHJlY29yZGVyIG9iamVjdCAoc2VlIGV4YW1wbGUgYmVsb3cpLiAgSWYgbm8gd2FybmluZyBoYXMgYmVlbiByYWlzZWQsCiAgICB0aGVuIGFueSBvZiB0aGUgYXR0cmlidXRlcyB0aGF0IHdvdWxkIG90aGVyd2lzZSBiZSBleHBlY3RlZCBvbiBhbiBvYmplY3QKLSAgIHJlcHJlc2VudGluZyBhIHdhcm5pbmcgd2lsbCByZXR1cm4gOmNvbnN0OmBOb25lYC4KKyAgIHJlcHJlc2VudGluZyBhIHdhcm5pbmcgd2lsbCByZXR1cm4gYGBOb25lYGAuCiAKICAgIFRoZSByZWNvcmRlciBvYmplY3QgYWxzbyBoYXMgYSA6bWV0aDpgcmVzZXRgIG1ldGhvZCwgd2hpY2ggY2xlYXJzIHRoZQogICAgd2FybmluZ3MgbGlzdC4KQEAgLTM1NCw3ICszNjMsNyBAQAogCiAuLiBmdW5jdGlvbjo6IGNhcHR1cmVkX3N0ZG91dCgpCiAKLSAgIFRoaXMgaXMgYSBjb250ZXh0IG1hbmFnZXIgdGhhdCBydW5zIHRoZSA6a2V5d29yZDpgd2l0aGAgc3RhdGVtZW50IGJvZHkgdXNpbmcKKyAgIEEgY29udGV4dCBtYW5hZ2VyIHRoYXQgcnVucyB0aGUgOmtleXdvcmQ6YHdpdGhgIHN0YXRlbWVudCBib2R5IHVzaW5nCiAgICBhIDpjbGFzczpgU3RyaW5nSU8uU3RyaW5nSU9gIG9iamVjdCBhcyBzeXMuc3Rkb3V0LiAgVGhhdCBvYmplY3QgY2FuIGJlCiAgICByZXRyaWV2ZWQgdXNpbmcgdGhlIGBgYXNgYCBjbGF1c2Ugb2YgdGhlIDprZXl3b3JkOmB3aXRoYCBzdGF0ZW1lbnQuCiAKQEAgLTM2NSw2ICszNzQsNTcgQEAKICAgICAgIGFzc2VydCBzLmdldHZhbHVlKCkgPT0gImhlbGxvIgogCiAKKy4uIGZ1bmN0aW9uOjogdGVtcF9jd2QobmFtZT0ndGVtcGN3ZCcsIHF1aWV0PUZhbHNlLCBwYXRoPU5vbmUpCisKKyAgIEEgY29udGV4dCBtYW5hZ2VyIHRoYXQgdGVtcG9yYXJpbHkgY2hhbmdlcyB0aGUgY3VycmVudCB3b3JraW5nCisgICBkaXJlY3RvcnkgKENXRCkuCisKKyAgIEFuIGV4aXN0aW5nIHBhdGggbWF5IGJlIHByb3ZpZGVkIGFzICpwYXRoKiwgaW4gd2hpY2ggY2FzZSB0aGlzIGZ1bmN0aW9uCisgICBtYWtlcyBubyBjaGFuZ2VzIHRvIHRoZSBmaWxlIHN5c3RlbS4KKworICAgT3RoZXJ3aXNlLCB0aGUgbmV3IENXRCBpcyBjcmVhdGVkIGluIHRoZSBjdXJyZW50IGRpcmVjdG9yeSBhbmQgaXQncyBuYW1lZAorICAgKm5hbWUqLiAgSWYgKnF1aWV0KiBpcyBgYEZhbHNlYGAgYW5kIGl0J3Mgbm90IHBvc3NpYmxlIHRvIGNyZWF0ZSBvcgorICAgY2hhbmdlIHRoZSBDV0QsIGFuIGVycm9yIGlzIHJhaXNlZC4gIElmIGl0J3MgYGBUcnVlYGAsIG9ubHkgYSB3YXJuaW5nCisgICBpcyByYWlzZWQgYW5kIHRoZSBvcmlnaW5hbCBDV0QgaXMgdXNlZC4KKworCisuLiBmdW5jdGlvbjo6IHRlbXBfdW1hc2sodW1hc2spCisKKyAgIEEgY29udGV4dCBtYW5hZ2VyIHRoYXQgdGVtcG9yYXJpbHkgc2V0cyB0aGUgcHJvY2VzcyB1bWFzay4KKworCisuLiBmdW5jdGlvbjo6IGNhbl9zeW1saW5rKCkKKworICAgUmV0dXJuIGBgVHJ1ZWBgIGlmIHRoZSBPUyBzdXBwb3J0cyBzeW1ib2xpYyBsaW5rcywgYGBGYWxzZWBgCisgICBvdGhlcndpc2UuCisKKworLi4gZGVjb3JhdG9yOjogc2tpcF91bmxlc3Nfc3ltbGluaygpCisKKyAgIEEgZGVjb3JhdG9yIGZvciBydW5uaW5nIHRlc3RzIHRoYXQgcmVxdWlyZSBzdXBwb3J0IGZvciBzeW1ib2xpYyBsaW5rcy4KKworCisuLiBkZWNvcmF0b3I6OiBhbnRpY2lwYXRlX2ZhaWx1cmUoY29uZGl0aW9uKQorCisgICBBIGRlY29yYXRvciB0byBjb25kaXRpb25hbGx5IG1hcmsgdGVzdHMgd2l0aAorICAgOmZ1bmM6YHVuaXR0ZXN0LmV4cGVjdGVkRmFpbHVyZWAuIEFueSB1c2Ugb2YgdGhpcyBkZWNvcmF0b3Igc2hvdWxkCisgICBoYXZlIGFuIGFzc29jaWF0ZWQgY29tbWVudCBpZGVudGlmeWluZyB0aGUgcmVsZXZhbnQgdHJhY2tlciBpc3N1ZS4KKworCisuLiBkZWNvcmF0b3I6OiBydW5fd2l0aF9sb2NhbGUoY2F0c3RyLCAqbG9jYWxlcykKKworICAgQSBkZWNvcmF0b3IgZm9yIHJ1bm5pbmcgYSBmdW5jdGlvbiBpbiBhIGRpZmZlcmVudCBsb2NhbGUsIGNvcnJlY3RseQorICAgcmVzZXR0aW5nIGl0IGFmdGVyIGl0IGhhcyBmaW5pc2hlZC4gICpjYXRzdHIqIGlzIHRoZSBsb2NhbGUgY2F0ZWdvcnkgYXMKKyAgIGEgc3RyaW5nIChmb3IgZXhhbXBsZSBgYCJMQ19BTEwiYGApLiAgVGhlICpsb2NhbGVzKiBwYXNzZWQgd2lsbCBiZSB0cmllZAorICAgc2VxdWVudGlhbGx5LCBhbmQgdGhlIGZpcnN0IHZhbGlkIGxvY2FsZSB3aWxsIGJlIHVzZWQuCisKKworLi4gZnVuY3Rpb246OiBtYWtlX2JhZF9mZCgpCisKKyAgIENyZWF0ZSBhbiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvciBieSBvcGVuaW5nIGFuZCBjbG9zaW5nIGEgdGVtcG9yYXJ5IGZpbGUsCisgICBhbmQgcmV0dXJuaW5nIGl0cyBkZXNjcmlwb3IuCisKKwogLi4gZnVuY3Rpb246OiBpbXBvcnRfbW9kdWxlKG5hbWUsIGRlcHJlY2F0ZWQ9RmFsc2UpCiAKICAgIFRoaXMgZnVuY3Rpb24gaW1wb3J0cyBhbmQgcmV0dXJucyB0aGUgbmFtZWQgbW9kdWxlLiBVbmxpa2UgYSBub3JtYWwKQEAgLTM3Miw3ICs0MzIsNyBAQAogICAgY2Fubm90IGJlIGltcG9ydGVkLgogCiAgICBNb2R1bGUgYW5kIHBhY2thZ2UgZGVwcmVjYXRpb24gbWVzc2FnZXMgYXJlIHN1cHByZXNzZWQgZHVyaW5nIHRoaXMgaW1wb3J0Ci0gICBpZiAqZGVwcmVjYXRlZCogaXMgOmNvbnN0OmBUcnVlYC4KKyAgIGlmICpkZXByZWNhdGVkKiBpcyBgYFRydWVgYC4KIAogICAgLi4gdmVyc2lvbmFkZGVkOjogMy4xCiAKQEAgLTM5Niw5ICs0NTYsOSBAQAogICAgYGBzeXMubW9kdWxlc2BgIHdoZW4gdGhlIGZyZXNoIGltcG9ydCBpcyBjb21wbGV0ZS4KIAogICAgTW9kdWxlIGFuZCBwYWNrYWdlIGRlcHJlY2F0aW9uIG1lc3NhZ2VzIGFyZSBzdXBwcmVzc2VkIGR1cmluZyB0aGlzIGltcG9ydAotICAgaWYgKmRlcHJlY2F0ZWQqIGlzIDpjb25zdDpgVHJ1ZWAuCisgICBpZiAqZGVwcmVjYXRlZCogaXMgYGBUcnVlYGAuCiAKLSAgIFRoaXMgZnVuY3Rpb24gd2lsbCByYWlzZSA6ZXhjOmB1bml0dGVzdC5Ta2lwVGVzdGAgaXMgdGhlIG5hbWVkIG1vZHVsZQorICAgVGhpcyBmdW5jdGlvbiB3aWxsIHJhaXNlIDpleGM6YHVuaXR0ZXN0LlNraXBUZXN0YCBpZiB0aGUgbmFtZWQgbW9kdWxlCiAgICBjYW5ub3QgYmUgaW1wb3J0ZWQuCiAKICAgIEV4YW1wbGUgdXNlOjoKQEAgLTQxMyw2ICs0NzMsNDggQEAKICAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMQogCiAKKy4uIGZ1bmN0aW9uOjogYmluZF9wb3J0KHNvY2ssIGhvc3Q9SE9TVCkKKworICAgQmluZCB0aGUgc29ja2V0IHRvIGEgZnJlZSBwb3J0IGFuZCByZXR1cm4gdGhlIHBvcnQgbnVtYmVyLiAgUmVsaWVzIG9uCisgICBlcGhlbWVyYWwgcG9ydHMgaW4gb3JkZXIgdG8gZW5zdXJlIHdlIGFyZSB1c2luZyBhbiB1bmJvdW5kIHBvcnQuICBUaGlzIGlzCisgICBpbXBvcnRhbnQgYXMgbWFueSB0ZXN0cyBtYXkgYmUgcnVubmluZyBzaW11bHRhbmVvdXNseSwgZXNwZWNpYWxseSBpbiBhCisgICBidWlsZGJvdCBlbnZpcm9ubWVudC4gIFRoaXMgbWV0aG9kIHJhaXNlcyBhbiBleGNlcHRpb24gaWYgdGhlCisgICBgYHNvY2suZmFtaWx5YGAgaXMgOmNvbnN0OmB+c29ja2V0LkFGX0lORVRgIGFuZCBgYHNvY2sudHlwZWBgIGlzCisgICA6Y29uc3Q6YH5zb2NrZXQuU09DS19TVFJFQU1gLCBhbmQgdGhlIHNvY2tldCBoYXMKKyAgIDpjb25zdDpgfnNvY2tldC5TT19SRVVTRUFERFJgIG9yIDpjb25zdDpgfnNvY2tldC5TT19SRVVTRVBPUlRgIHNldCBvbiBpdC4KKyAgIFRlc3RzIHNob3VsZCBuZXZlciBzZXQgdGhlc2Ugc29ja2V0IG9wdGlvbnMgZm9yIFRDUC9JUCBzb2NrZXRzLgorICAgVGhlIG9ubHkgY2FzZSBmb3Igc2V0dGluZyB0aGVzZSBvcHRpb25zIGlzIHRlc3RpbmcgbXVsdGljYXN0aW5nIHZpYQorICAgbXVsdGlwbGUgVURQIHNvY2tldHMuCisKKyAgIEFkZGl0aW9uYWxseSwgaWYgdGhlIDpjb25zdDpgfnNvY2tldC5TT19FWENMVVNJVkVBRERSVVNFYCBzb2NrZXQgb3B0aW9uIGlzCisgICBhdmFpbGFibGUgKGkuZS4gb24gV2luZG93cyksIGl0IHdpbGwgYmUgc2V0IG9uIHRoZSBzb2NrZXQuICBUaGlzIHdpbGwKKyAgIHByZXZlbnQgYW55b25lIGVsc2UgZnJvbSBiaW5kaW5nIHRvIG91ciBob3N0L3BvcnQgZm9yIHRoZSBkdXJhdGlvbiBvZiB0aGUKKyAgIHRlc3QuCisKKworLi4gZnVuY3Rpb246OiBmaW5kX3VudXNlZF9wb3J0KGZhbWlseT1zb2NrZXQuQUZfSU5FVCwgc29ja3R5cGU9c29ja2V0LlNPQ0tfU1RSRUFNKQorCisgICBSZXR1cm5zIGFuIHVudXNlZCBwb3J0IHRoYXQgc2hvdWxkIGJlIHN1aXRhYmxlIGZvciBiaW5kaW5nLiAgVGhpcyBpcworICAgYWNoaWV2ZWQgYnkgY3JlYXRpbmcgYSB0ZW1wb3Jhcnkgc29ja2V0IHdpdGggdGhlIHNhbWUgZmFtaWx5IGFuZCB0eXBlIGFzCisgICB0aGUgYGBzb2NrYGAgcGFyYW1ldGVyIChkZWZhdWx0IGlzIDpjb25zdDpgfnNvY2tldC5BRl9JTkVUYCwKKyAgIDpjb25zdDpgfnNvY2tldC5TT0NLX1NUUkVBTWApLAorICAgYW5kIGJpbmRpbmcgaXQgdG8gdGhlIHNwZWNpZmllZCBob3N0IGFkZHJlc3MgKGRlZmF1bHRzIHRvIGBgMC4wLjAuMGBgKQorICAgd2l0aCB0aGUgcG9ydCBzZXQgdG8gMCwgZWxpY2l0aW5nIGFuIHVudXNlZCBlcGhlbWVyYWwgcG9ydCBmcm9tIHRoZSBPUy4KKyAgIFRoZSB0ZW1wb3Jhcnkgc29ja2V0IGlzIHRoZW4gY2xvc2VkIGFuZCBkZWxldGVkLCBhbmQgdGhlIGVwaGVtZXJhbCBwb3J0IGlzCisgICByZXR1cm5lZC4KKworICAgRWl0aGVyIHRoaXMgbWV0aG9kIG9yIDpmdW5jOmBiaW5kX3BvcnRgIHNob3VsZCBiZSB1c2VkIGZvciBhbnkgdGVzdHMKKyAgIHdoZXJlIGEgc2VydmVyIHNvY2tldCBuZWVkcyB0byBiZSBib3VuZCB0byBhIHBhcnRpY3VsYXIgcG9ydCBmb3IgdGhlCisgICBkdXJhdGlvbiBvZiB0aGUgdGVzdC4KKyAgIFdoaWNoIG9uZSB0byB1c2UgZGVwZW5kcyBvbiB3aGV0aGVyIHRoZSBjYWxsaW5nIGNvZGUgaXMgY3JlYXRpbmcgYSBweXRob24KKyAgIHNvY2tldCwgb3IgaWYgYW4gdW51c2VkIHBvcnQgbmVlZHMgdG8gYmUgcHJvdmlkZWQgaW4gYSBjb25zdHJ1Y3RvcgorICAgb3IgcGFzc2VkIHRvIGFuIGV4dGVybmFsIHByb2dyYW0gKGkuZS4gdGhlIGBgLWFjY2VwdGBgIGFyZ3VtZW50IHRvCisgICBvcGVuc3NsJ3Mgc19zZXJ2ZXIgbW9kZSkuICBBbHdheXMgcHJlZmVyIDpmdW5jOmBiaW5kX3BvcnRgIG92ZXIKKyAgIDpmdW5jOmBmaW5kX3VudXNlZF9wb3J0YCB3aGVyZSBwb3NzaWJsZS4gIFVzaW5nIGEgaGFyZCBjb2RlZCBwb3J0IGlzCisgICBkaXNjb3VyYWdlZCBzaW5jZSBpdCBjYW4gbWFrZXMgbXVsdGlwbGUgaW5zdGFuY2VzIG9mIHRoZSB0ZXN0IGltcG9zc2libGUgdG8KKyAgIHJ1biBzaW11bHRhbmVvdXNseSwgd2hpY2ggaXMgYSBwcm9ibGVtIGZvciBidWlsZGJvdHMuCisKKwogVGhlIDptb2Q6YHRlc3Quc3VwcG9ydGAgbW9kdWxlIGRlZmluZXMgdGhlIGZvbGxvd2luZyBjbGFzc2VzOgogCiAuLiBjbGFzczo6IFRyYW5zaWVudFJlc291cmNlKGV4YywgKiprd2FyZ3MpCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS90aHJlYWRpbmcucnN0IGIvRG9jL2xpYnJhcnkvdGhyZWFkaW5nLnJzdAppbmRleCA5YjNhZmZkLi4yYjQzZWU1IDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS90aHJlYWRpbmcucnN0CisrKyBiL0RvYy9saWJyYXJ5L3RocmVhZGluZy5yc3QKQEAgLTIwLDE3ICsyMCw2IEBACiAgICBtZXRob2RzIGFuZCBmdW5jdGlvbnMgaW4gdGhpcyBtb2R1bGUgaW4gdGhlIFB5dGhvbiAyLnggc2VyaWVzIGFyZSBzdGlsbAogICAgc3VwcG9ydGVkIGJ5IHRoaXMgbW9kdWxlLgogCi0uLiBpbXBsLWRldGFpbDo6Ci0KLSAgIER1ZSB0byB0aGUgOnRlcm06YEdsb2JhbCBJbnRlcnByZXRlciBMb2NrYCwgaW4gQ1B5dGhvbiBvbmx5IG9uZSB0aHJlYWQKLSAgIGNhbiBleGVjdXRlIFB5dGhvbiBjb2RlIGF0IG9uY2UgKGV2ZW4gdGhvdWdoIGNlcnRhaW4gcGVyZm9ybWFuY2Utb3JpZW50ZWQKLSAgIGxpYnJhcmllcyBtaWdodCBvdmVyY29tZSB0aGlzIGxpbWl0YXRpb24pLgotICAgSWYgeW91IHdhbnQgeW91ciBhcHBsaWNhdGlvbiB0byBtYWtlIGJldHRlciBvZiB1c2Ugb2YgdGhlIGNvbXB1dGF0aW9uYWwKLSAgIHJlc291cmNlcyBvZiBtdWx0aS1jb3JlIG1hY2hpbmVzLCB5b3UgYXJlIGFkdmlzZWQgdG8gdXNlCi0gICA6bW9kOmBtdWx0aXByb2Nlc3NpbmdgIG9yIDpjbGFzczpgY29uY3VycmVudC5mdXR1cmVzLlByb2Nlc3NQb29sRXhlY3V0b3JgLgotICAgSG93ZXZlciwgdGhyZWFkaW5nIGlzIHN0aWxsIGFuIGFwcHJvcHJpYXRlIG1vZGVsIGlmIHlvdSB3YW50IHRvIHJ1bgotICAgbXVsdGlwbGUgSS9PLWJvdW5kIHRhc2tzIHNpbXVsdGFuZW91c2x5LgotCiAKIFRoaXMgbW9kdWxlIGRlZmluZXMgdGhlIGZvbGxvd2luZyBmdW5jdGlvbnMgYW5kIG9iamVjdHM6CiAKQEAgLTU5LDYgKzQ4LDE3IEBACiAgICByZXR1cm5lZC4KIAogCisuLiBmdW5jdGlvbjo6IGdldF9pZGVudCgpCisKKyAgIFJldHVybiB0aGUgJ3RocmVhZCBpZGVudGlmaWVyJyBvZiB0aGUgY3VycmVudCB0aHJlYWQuICBUaGlzIGlzIGEgbm9uemVybworICAgaW50ZWdlci4gIEl0cyB2YWx1ZSBoYXMgbm8gZGlyZWN0IG1lYW5pbmc7IGl0IGlzIGludGVuZGVkIGFzIGEgbWFnaWMgY29va2llCisgICB0byBiZSB1c2VkIGUuZy4gdG8gaW5kZXggYSBkaWN0aW9uYXJ5IG9mIHRocmVhZC1zcGVjaWZpYyBkYXRhLiAgVGhyZWFkCisgICBpZGVudGlmaWVycyBtYXkgYmUgcmVjeWNsZWQgd2hlbiBhIHRocmVhZCBleGl0cyBhbmQgYW5vdGhlciB0aHJlYWQgaXMKKyAgIGNyZWF0ZWQuCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMworCisKIC4uIGZ1bmN0aW9uOjogZW51bWVyYXRlKCkKIAogICAgUmV0dXJuIGEgbGlzdCBvZiBhbGwgOmNsYXNzOmBUaHJlYWRgIG9iamVjdHMgY3VycmVudGx5IGFsaXZlLiAgVGhlIGxpc3QKQEAgLTI0MSw3ICsyNDEsNyBAQAogQSB0aHJlYWQgY2FuIGJlIGZsYWdnZWQgYXMgYSAiZGFlbW9uIHRocmVhZCIuICBUaGUgc2lnbmlmaWNhbmNlIG9mIHRoaXMgZmxhZyBpcwogdGhhdCB0aGUgZW50aXJlIFB5dGhvbiBwcm9ncmFtIGV4aXRzIHdoZW4gb25seSBkYWVtb24gdGhyZWFkcyBhcmUgbGVmdC4gIFRoZQogaW5pdGlhbCB2YWx1ZSBpcyBpbmhlcml0ZWQgZnJvbSB0aGUgY3JlYXRpbmcgdGhyZWFkLiAgVGhlIGZsYWcgY2FuIGJlIHNldAotdGhyb3VnaCB0aGUgOmF0dHI6YGRhZW1vbmAgcHJvcGVydHkuCit0aHJvdWdoIHRoZSA6YXR0cjpgZGFlbW9uYCBwcm9wZXJ0eSBvciB0aGUgKmRhZW1vbiogY29uc3RydWN0b3IgYXJndW1lbnQuCiAKIFRoZXJlIGlzIGEgIm1haW4gdGhyZWFkIiBvYmplY3Q7IHRoaXMgY29ycmVzcG9uZHMgdG8gdGhlIGluaXRpYWwgdGhyZWFkIG9mCiBjb250cm9sIGluIHRoZSBQeXRob24gcHJvZ3JhbS4gIEl0IGlzIG5vdCBhIGRhZW1vbiB0aHJlYWQuCkBAIC0yNTQsNyArMjU0LDggQEAKIGltcG9zc2libGUgdG8gZGV0ZWN0IHRoZSB0ZXJtaW5hdGlvbiBvZiBhbGllbiB0aHJlYWRzLgogCiAKLS4uIGNsYXNzOjogVGhyZWFkKGdyb3VwPU5vbmUsIHRhcmdldD1Ob25lLCBuYW1lPU5vbmUsIGFyZ3M9KCksIGt3YXJncz17fSkKKy4uIGNsYXNzOjogVGhyZWFkKGdyb3VwPU5vbmUsIHRhcmdldD1Ob25lLCBuYW1lPU5vbmUsIGFyZ3M9KCksIGt3YXJncz17fSwKKyAgICAgICAgICAgICAgICAgIHZlcmJvc2U9Tm9uZSwgKiwgZGFlbW9uPU5vbmUpCiAKICAgIFRoaXMgY29uc3RydWN0b3Igc2hvdWxkIGFsd2F5cyBiZSBjYWxsZWQgd2l0aCBrZXl3b3JkIGFyZ3VtZW50cy4gIEFyZ3VtZW50cwogICAgYXJlOgpAQCAtMjczLDEwICsyNzQsMTkgQEAKICAgICprd2FyZ3MqIGlzIGEgZGljdGlvbmFyeSBvZiBrZXl3b3JkIGFyZ3VtZW50cyBmb3IgdGhlIHRhcmdldCBpbnZvY2F0aW9uLgogICAgRGVmYXVsdHMgdG8gYGB7fWBgLgogCisgICAqdmVyYm9zZSogaXMgYSBmbGFnIHVzZWQgZm9yIGRlYnVnZ2luZyBtZXNzYWdlcy4KKworICAgSWYgbm90IGBgTm9uZWBgLCAqZGFlbW9uKiBleHBsaWNpdGx5IHNldHMgd2hldGhlciB0aGUgdGhyZWFkIGlzIGRhZW1vbmljLgorICAgSWYgYGBOb25lYGAgKHRoZSBkZWZhdWx0KSwgdGhlIGRhZW1vbmljIHByb3BlcnR5IGlzIGluaGVyaXRlZCBmcm9tIHRoZQorICAgY3VycmVudCB0aHJlYWQuCisKICAgIElmIHRoZSBzdWJjbGFzcyBvdmVycmlkZXMgdGhlIGNvbnN0cnVjdG9yLCBpdCBtdXN0IG1ha2Ugc3VyZSB0byBpbnZva2UgdGhlCiAgICBiYXNlIGNsYXNzIGNvbnN0cnVjdG9yIChgYFRocmVhZC5fX2luaXRfXygpYGApIGJlZm9yZSBkb2luZyBhbnl0aGluZyBlbHNlIHRvCiAgICB0aGUgdGhyZWFkLgogCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMworICAgICAgQWRkZWQgdGhlICpkYWVtb24qIGFyZ3VtZW50LgorCiAgICAuLiBtZXRob2Q6OiBzdGFydCgpCiAKICAgICAgIFN0YXJ0IHRoZSB0aHJlYWQncyBhY3Rpdml0eS4KQEAgLTMzMywxMCArMzQzLDEwIEBACiAgICAuLiBhdHRyaWJ1dGU6OiBpZGVudAogCiAgICAgICBUaGUgJ3RocmVhZCBpZGVudGlmaWVyJyBvZiB0aGlzIHRocmVhZCBvciBgYE5vbmVgYCBpZiB0aGUgdGhyZWFkIGhhcyBub3QKLSAgICAgIGJlZW4gc3RhcnRlZC4gIFRoaXMgaXMgYSBub256ZXJvIGludGVnZXIuICBTZWUgdGhlCi0gICAgICA6ZnVuYzpgdGhyZWFkLmdldF9pZGVudCgpYCBmdW5jdGlvbi4gIFRocmVhZCBpZGVudGlmaWVycyBtYXkgYmUgcmVjeWNsZWQKLSAgICAgIHdoZW4gYSB0aHJlYWQgZXhpdHMgYW5kIGFub3RoZXIgdGhyZWFkIGlzIGNyZWF0ZWQuICBUaGUgaWRlbnRpZmllciBpcwotICAgICAgYXZhaWxhYmxlIGV2ZW4gYWZ0ZXIgdGhlIHRocmVhZCBoYXMgZXhpdGVkLgorICAgICAgYmVlbiBzdGFydGVkLiAgVGhpcyBpcyBhIG5vbnplcm8gaW50ZWdlci4gIFNlZSB0aGUgOmZ1bmM6YGdldF9pZGVudCgpYAorICAgICAgZnVuY3Rpb24uICBUaHJlYWQgaWRlbnRpZmllcnMgbWF5IGJlIHJlY3ljbGVkIHdoZW4gYSB0aHJlYWQgZXhpdHMgYW5kCisgICAgICBhbm90aGVyIHRocmVhZCBpcyBjcmVhdGVkLiAgVGhlIGlkZW50aWZpZXIgaXMgYXZhaWxhYmxlIGV2ZW4gYWZ0ZXIgdGhlCisgICAgICB0aHJlYWQgaGFzIGV4aXRlZC4KIAogICAgLi4gbWV0aG9kOjogaXNfYWxpdmUoKQogCkBAIC0zNjQsNiArMzc0LDE4IEBACiAgICAgICBwcm9wZXJ0eSBpbnN0ZWFkLgogCiAKKy4uIGltcGwtZGV0YWlsOjoKKworICAgRHVlIHRvIHRoZSA6dGVybTpgR2xvYmFsIEludGVycHJldGVyIExvY2tgLCBpbiBDUHl0aG9uIG9ubHkgb25lIHRocmVhZAorICAgY2FuIGV4ZWN1dGUgUHl0aG9uIGNvZGUgYXQgb25jZSAoZXZlbiB0aG91Z2ggY2VydGFpbiBwZXJmb3JtYW5jZS1vcmllbnRlZAorICAgbGlicmFyaWVzIG1pZ2h0IG92ZXJjb21lIHRoaXMgbGltaXRhdGlvbikuCisgICBJZiB5b3Ugd2FudCB5b3VyIGFwcGxpY2F0aW9uIHRvIG1ha2UgYmV0dGVyIG9mIHVzZSBvZiB0aGUgY29tcHV0YXRpb25hbAorICAgcmVzb3VyY2VzIG9mIG11bHRpLWNvcmUgbWFjaGluZXMsIHlvdSBhcmUgYWR2aXNlZCB0byB1c2UKKyAgIDptb2Q6YG11bHRpcHJvY2Vzc2luZ2Agb3IgOmNsYXNzOmBjb25jdXJyZW50LmZ1dHVyZXMuUHJvY2Vzc1Bvb2xFeGVjdXRvcmAuCisgICBIb3dldmVyLCB0aHJlYWRpbmcgaXMgc3RpbGwgYW4gYXBwcm9wcmlhdGUgbW9kZWwgaWYgeW91IHdhbnQgdG8gcnVuCisgICBtdWx0aXBsZSBJL08tYm91bmQgdGFza3Mgc2ltdWx0YW5lb3VzbHkuCisKKwogLi4gX2xvY2stb2JqZWN0czoKIAogTG9jayBPYmplY3RzCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS90aW1lLnJzdCBiL0RvYy9saWJyYXJ5L3RpbWUucnN0CmluZGV4IDc4NTRmYmQuLjNlNjY2Y2YgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L3RpbWUucnN0CisrKyBiL0RvYy9saWJyYXJ5L3RpbWUucnN0CkBAIC00MSwyNSArNDEsNiBAQAogICBwYXJzZWQsIHRoZXkgYXJlIGNvbnZlcnRlZCBhY2NvcmRpbmcgdG8gdGhlIFBPU0lYIGFuZCBJU08gQyBzdGFuZGFyZHM6IHZhbHVlcwogICA2OS0tOTkgYXJlIG1hcHBlZCB0byAxOTY5LS0xOTk5LCBhbmQgdmFsdWVzIDAtLTY4IGFyZSBtYXBwZWQgdG8gMjAwMC0tMjA2OC4KIAotICBGb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSwgeWVhcnMgd2l0aCBsZXNzIHRoYW4gNCBkaWdpdHMgYXJlIHRyZWF0ZWQKLSAgc3BlY2lhbGx5IGJ5IDpmdW5jOmBhc2N0aW1lYCwgOmZ1bmM6YG1rdGltZWAsIGFuZCA6ZnVuYzpgc3RyZnRpbWVgIGZ1bmN0aW9ucwotICB0aGF0IG9wZXJhdGUgb24gYSA5LXR1cGxlIG9yIDpjbGFzczpgc3RydWN0X3RpbWVgIHZhbHVlcy4gSWYgeWVhciAodGhlIGZpcnN0Ci0gIHZhbHVlIGluIHRoZSA5LXR1cGxlKSBpcyBzcGVjaWZpZWQgd2l0aCBsZXNzIHRoYW4gNCBkaWdpdHMsIGl0cyBpbnRlcnByZXRhdGlvbgotICBkZXBlbmRzIG9uIHRoZSB2YWx1ZSBvZiBgYGFjY2VwdDJkeWVhcmBgIHZhcmlhYmxlLgotCi0gIElmIGBgYWNjZXB0MmR5ZWFyYGAgaXMgdHJ1ZSAoZGVmYXVsdCksIGEgYmFja3dhcmQgY29tcGF0aWJpbGl0eSBiZWhhdmlvciBpcwotICBpbnZva2VkIGFzIGZvbGxvd3M6Ci0KLSAgICAtIGZvciAyLWRpZ2l0IHllYXIsIGNlbnR1cnkgaXMgZ3Vlc3NlZCBhY2NvcmRpbmcgdG8gUE9TSVggcnVsZXMgZm9yCi0gICAgICBgYCV5YGAgc3RycHRpbWUgZm9ybWF0LiAgQSBkZXByZWNhdGlvbiB3YXJuaW5nIGlzIGlzc3VlZCB3aGVuIGNlbnR1cnkKLSAgICAgIGluZm9ybWF0aW9uIGlzIGd1ZXNzZWQgaW4gdGhpcyB3YXkuCi0KLSAgICAtIGZvciAzLWRpZ2l0IG9yIG5lZ2F0aXZlIHllYXIsIGEgOmV4YzpgVmFsdWVFcnJvcmAgZXhjZXB0aW9uIGlzIHJhaXNlZC4KLQotICBJZiBgYGFjY2VwdDJkeWVhcmBgIGlzIGZhbHNlIChzZXQgYnkgdGhlIHByb2dyYW0gb3IgYXMgYSByZXN1bHQgb2YgYQotICBub24tZW1wdHkgdmFsdWUgYXNzaWduZWQgdG8gYGBQWVRIT05ZMktgYCBlbnZpcm9ubWVudCB2YXJpYWJsZSkgYWxsIHllYXIKLSAgdmFsdWVzIGFyZSBpbnRlcnByZXRlZCBhcyBnaXZlbi4KLQogLi4gaW5kZXg6OgogICAgc2luZ2xlOiBVVEMKICAgIHNpbmdsZTogQ29vcmRpbmF0ZWQgVW5pdmVyc2FsIFRpbWUKQEAgLTExNywyNCArOTgsNiBAQAogCiBUaGUgbW9kdWxlIGRlZmluZXMgdGhlIGZvbGxvd2luZyBmdW5jdGlvbnMgYW5kIGRhdGEgaXRlbXM6CiAKLQotLi4gZGF0YTo6IGFjY2VwdDJkeWVhcgotCi0gICBCb29sZWFuIHZhbHVlIGluZGljYXRpbmcgd2hldGhlciB0d28tZGlnaXQgeWVhciB2YWx1ZXMgd2lsbCBiZQotICAgbWFwcGVkIHRvIDE5NjktLTIwNjggcmFuZ2UgYnkgOmZ1bmM6YGFzY3RpbWVgLCA6ZnVuYzpgbWt0aW1lYCwgYW5kCi0gICA6ZnVuYzpgc3RyZnRpbWVgIGZ1bmN0aW9ucy4gIFRoaXMgaXMgdHJ1ZSBieSBkZWZhdWx0LCBidXQgd2lsbCBiZQotICAgc2V0IHRvIGZhbHNlIGlmIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSA6ZW52dmFyOmBQWVRIT05ZMktgIGhhcwotICAgYmVlbiBzZXQgdG8gYSBub24tZW1wdHkgc3RyaW5nLiAgSXQgbWF5IGFsc28gYmUgbW9kaWZpZWQgYXQgcnVuCi0gICB0aW1lLgotCi0gICAuLiBkZXByZWNhdGVkOjogMy4yCi0gICAgICBNYXBwaW5nIG9mIDItZGlnaXQgeWVhciB2YWx1ZXMgYnkgOmZ1bmM6YGFzY3RpbWVgLAotICAgICAgOmZ1bmM6YG1rdGltZWAsIGFuZCA6ZnVuYzpgc3RyZnRpbWVgIGZ1bmN0aW9ucyB0byAxOTY5LS0yMDY4Ci0gICAgICByYW5nZSBpcyBkZXByZWNhdGVkLiAgUHJvZ3JhbXMgdGhhdCBuZWVkIHRvIHByb2Nlc3MgMi1kaWdpdAotICAgICAgeWVhcnMgc2hvdWxkIHVzZSBgYCV5YGAgY29kZSBhdmFpbGFibGUgaW4gOmZ1bmM6YHN0cnB0aW1lYAotICAgICAgZnVuY3Rpb24gb3IgY29udmVydCAyLWRpZ2l0IHllYXIgdmFsdWVzIHRvIDQtZGlnaXQgdGhlbXNlbHZlcy4KLQotCiAuLiBkYXRhOjogYWx0em9uZQogCiAgICBUaGUgb2Zmc2V0IG9mIHRoZSBsb2NhbCBEU1QgdGltZXpvbmUsIGluIHNlY29uZHMgd2VzdCBvZiBVVEMsIGlmIG9uZSBpcyBkZWZpbmVkLgpAQCAtMTUyLDcgKzExNSw4IEBACiAKICAgIC4uIG5vdGU6OgogCi0gICAgICBVbmxpa2UgdGhlIEMgZnVuY3Rpb24gb2YgdGhlIHNhbWUgbmFtZSwgdGhlcmUgaXMgbm8gdHJhaWxpbmcgbmV3bGluZS4KKyAgICAgIFVubGlrZSB0aGUgQyBmdW5jdGlvbiBvZiB0aGUgc2FtZSBuYW1lLCA6ZnVuYzpgYXNjdGltZWAgZG9lcyBub3QgYWRkIGEKKyAgICAgIHRyYWlsaW5nIG5ld2xpbmUuCiAKIAogLi4gZnVuY3Rpb246OiBjbG9jaygpCkBAIC0xNzMsNiArMTM3LDUzIEBACiAgICBtaWNyb3NlY29uZC4KIAogCisuLiBmdW5jdGlvbjo6IGNsb2NrX2dldHJlcyhjbGtfaWQpCisKKyAgIFJldHVybiB0aGUgcmVzb2x1dGlvbiAocHJlY2lzaW9uKSBvZiB0aGUgc3BlY2lmaWVkIGNsb2NrICpjbGtfaWQqLgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKKworLi4gZnVuY3Rpb246OiBjbG9ja19nZXR0aW1lKGNsa19pZCkKKworICAgUmV0dXJuIHRoZSB0aW1lIG9mIHRoZSBzcGVjaWZpZWQgY2xvY2sgKmNsa19pZCouCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMworCisuLiBkYXRhOjogQ0xPQ0tfUkVBTFRJTUUKKworICAgU3lzdGVtLXdpZGUgcmVhbC10aW1lIGNsb2NrLiBTZXR0aW5nIHRoaXMgY2xvY2sgcmVxdWlyZXMgYXBwcm9wcmlhdGUKKyAgIHByaXZpbGVnZXMuCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMworCisuLiBkYXRhOjogQ0xPQ0tfTU9OT1RPTklDCisKKyAgIENsb2NrIHRoYXQgY2Fubm90IGJlIHNldCBhbmQgcmVwcmVzZW50cyBtb25vdG9uaWMgdGltZSBzaW5jZSBzb21lCisgICB1bnNwZWNpZmllZCBzdGFydGluZyBwb2ludC4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy4zCisKKy4uIGRhdGE6OiBDTE9DS19NT05PVE9OSUNfUkFXCisKKyAgIFNpbWlsYXIgdG8gOmRhdGE6YENMT0NLX01PTk9UT05JQ2AsIGJ1dCBwcm92aWRlcyBhY2Nlc3MgdG8gYSByYXcKKyAgIGhhcmR3YXJlLWJhc2VkIHRpbWUgdGhhdCBpcyBub3Qgc3ViamVjdCB0byBOVFAgYWRqdXN0bWVudHMuCisKKyAgIEF2YWlsYWJpbGl0eTogTGludXggMi42LjI4IG9yIGxhdGVyLgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKKworLi4gZGF0YTo6IENMT0NLX1BST0NFU1NfQ1BVVElNRV9JRAorCisgICBIaWdoLXJlc29sdXRpb24gcGVyLXByb2Nlc3MgdGltZXIgZnJvbSB0aGUgQ1BVLgorCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKKworLi4gZGF0YTo6IENMT0NLX1RIUkVBRF9DUFVUSU1FX0lECisKKyAgIFRocmVhZC1zcGVjaWZpYyBDUFUtdGltZSBjbG9jay4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy4zCisKIC4uIGZ1bmN0aW9uOjogY3RpbWUoW3NlY3NdKQogCiAgICBDb252ZXJ0IGEgdGltZSBleHByZXNzZWQgaW4gc2Vjb25kcyBzaW5jZSB0aGUgZXBvY2ggdG8gYSBzdHJpbmcgcmVwcmVzZW50aW5nCkBAIC0yMTUsNiArMjI2LDI0IEBACiAgICBUaGUgZWFybGllc3QgZGF0ZSBmb3Igd2hpY2ggaXQgY2FuIGdlbmVyYXRlIGEgdGltZSBpcyBwbGF0Zm9ybS1kZXBlbmRlbnQuCiAKIAorLi4gZnVuY3Rpb246OiBzdGVhZHkoc3RyaWN0PUZhbHNlKQorCisgICAuLiBpbmRleDo6CisgICAgICBzaW5nbGU6IGJlbmNobWFya2luZworCisgICBSZXR1cm4gdGhlIGN1cnJlbnQgdGltZSBhcyBhIGZsb2F0aW5nIHBvaW50IG51bWJlciBleHByZXNzZWQgaW4gc2Vjb25kcy4KKyAgIFRoaXMgY2xvY2sgYWR2YW5jZXMgYXQgYSBzdGVhZHkgcmF0ZSByZWxhdGl2ZSB0byByZWFsIHRpbWUgYW5kIGl0IG1heSBub3QgYmUKKyAgIGFkanVzdGVkLiBUaGUgcmVmZXJlbmNlIHBvaW50IG9mIHRoZSByZXR1cm5lZCB2YWx1ZSBpcyB1bmRlZmluZWQgc28gb25seSB0aGUKKyAgIGRpZmZlcmVuY2Ugb2YgY29uc2VjdXRpdmUgY2FsbHMgaXMgdmFsaWQuCisKKyAgIElmIGF2YWlsYWJsZSwgYSBtb25vdG9uaWMgY2xvY2sgaXMgdXNlZC4gQnkgZGVmYXVsdCwgaWYgKnN0cmljdCogaXMgRmFsc2UsCisgICB0aGUgZnVuY3Rpb24gZmFsbHMgYmFjayB0byBhbm90aGVyIGNsb2NrIGlmIHRoZSBtb25vdG9uaWMgY2xvY2sgZmFpbGVkIG9yIGlzCisgICBub3QgYXZhaWxhYmxlLiBJZiAqc3RyaWN0KiBpcyBUcnVlLCByYWlzZSBhbiA6ZXhjOmBPU0Vycm9yYCBvbiBlcnJvciBvcgorICAgOmV4YzpgTm90SW1wbGVtZW50ZWRFcnJvcmAgaWYgbm8gbW9ub3RvbmljIGNsb2NrIGlzIGF2YWlsYWJsZS4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy4zCisKKwogLi4gZnVuY3Rpb246OiBzbGVlcChzZWNzKQogCiAgICBTdXNwZW5kIGV4ZWN1dGlvbiBmb3IgdGhlIGdpdmVuIG51bWJlciBvZiBzZWNvbmRzLiAgVGhlIGFyZ3VtZW50IG1heSBiZSBhCkBAIC0zMDgsNyArMzM3LDcgQEAKICAgIHwgYGAleWBgICAgIHwgWWVhciB3aXRob3V0IGNlbnR1cnkgYXMgYSBkZWNpbWFsIG51bWJlciAgICAgICB8ICAgICAgIHwKICAgIHwgICAgICAgICAgIHwgWzAwLDk5XS4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgIHwKICAgICstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLSsKLSAgIHwgYGAlWWBgICAgIHwgWWVhciB3aXRoIGNlbnR1cnkgYXMgYSBkZWNpbWFsIG51bWJlci4gICAgICAgICB8IFwoNCkgIHwKKyAgIHwgYGAlWWBgICAgIHwgWWVhciB3aXRoIGNlbnR1cnkgYXMgYSBkZWNpbWFsIG51bWJlci4gICAgICAgICB8ICAgICAgIHwKICAgIHwgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgIHwKICAgICstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLSsKICAgIHwgYGAlWmBgICAgIHwgVGltZSB6b25lIG5hbWUgKG5vIGNoYXJhY3RlcnMgaWYgbm8gdGltZSB6b25lICB8ICAgICAgIHwKQEAgLTMzMiwxMiArMzYxLDYgQEAKICAgICAgIFdoZW4gdXNlZCB3aXRoIHRoZSA6ZnVuYzpgc3RycHRpbWVgIGZ1bmN0aW9uLCBgYCVVYGAgYW5kIGBgJVdgYCBhcmUgb25seSB1c2VkIGluCiAgICAgICBjYWxjdWxhdGlvbnMgd2hlbiB0aGUgZGF5IG9mIHRoZSB3ZWVrIGFuZCB0aGUgeWVhciBhcmUgc3BlY2lmaWVkLgogCi0gICAoNCkKLSAgICAgIFByb2R1Y2VzIGRpZmZlcmVudCByZXN1bHRzIGRlcGVuZGluZyBvbiB0aGUgdmFsdWUgb2YKLSAgICAgIGBgdGltZS5hY2NlcHQyZHllYXJgYCB2YXJpYWJsZS4gIFNlZSA6cmVmOmBZZWFyIDIwMDAgKFkySykKLSAgICAgIGlzc3VlcyA8dGltZS15Mmtpc3N1ZXM+YCBmb3IgZGV0YWlscy4KLQotCiAgICBIZXJlIGlzIGFuIGV4YW1wbGUsIGEgZm9ybWF0IGZvciBkYXRlcyBjb21wYXRpYmxlIHdpdGggdGhhdCBzcGVjaWZpZWQgIGluIHRoZQogICAgOnJmYzpgMjgyMmAgSW50ZXJuZXQgZW1haWwgc3RhbmRhcmQuICBbI11fIDo6CiAKQEAgLTQxOCw4ICs0NDEsNyBAQAogICAgKy0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCiAKICAgIE5vdGUgdGhhdCB1bmxpa2UgdGhlIEMgc3RydWN0dXJlLCB0aGUgbW9udGggdmFsdWUgaXMgYSByYW5nZSBvZiBbMSwgMTJdLCBub3QKLSAgIFswLCAxMV0uICBBIHllYXIgdmFsdWUgd2lsbCBiZSBoYW5kbGVkIGFzIGRlc2NyaWJlZCB1bmRlciA6cmVmOmBZZWFyIDIwMDAKLSAgIChZMkspIGlzc3VlcyA8dGltZS15Mmtpc3N1ZXM+YCBhYm92ZS4gIEEgYGAtMWBgIGFyZ3VtZW50IGFzIHRoZSBkYXlsaWdodAorICAgWzAsIDExXS4gIEEgYGAtMWBgIGFyZ3VtZW50IGFzIHRoZSBkYXlsaWdodAogICAgc2F2aW5ncyBmbGFnLCBwYXNzZWQgdG8gOmZ1bmM6YG1rdGltZWAgd2lsbCB1c3VhbGx5IHJlc3VsdCBpbiB0aGUgY29ycmVjdAogICAgZGF5bGlnaHQgc2F2aW5ncyBzdGF0ZSB0byBiZSBmaWxsZWQgaW4uCiAKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L3RraW50ZXIucnN0IGIvRG9jL2xpYnJhcnkvdGtpbnRlci5yc3QKaW5kZXggYWU1NjM1Zi4uNjJlZWRmZiAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvdGtpbnRlci5yc3QKKysrIGIvRG9jL2xpYnJhcnkvdGtpbnRlci5yc3QKQEAgLTE3OSwzNSArMTc5LDMwIEBACiAKIDo6CiAKLSAgIGZyb20gdGtpbnRlciBpbXBvcnQgKgorICAgIGltcG9ydCB0a2ludGVyIGFzIHRrCiAKLSAgIGNsYXNzIEFwcGxpY2F0aW9uKEZyYW1lKToKLSAgICAgICBkZWYgc2F5X2hpKHNlbGYpOgotICAgICAgICAgICBwcmludCgiaGkgdGhlcmUsIGV2ZXJ5b25lISIpCisgICAgY2xhc3MgQXBwbGljYXRpb24odGsuRnJhbWUpOgorICAgICAgICBkZWYgX19pbml0X18oc2VsZiwgbWFzdGVyPU5vbmUpOgorICAgICAgICAgICAgdGsuRnJhbWUuX19pbml0X18oc2VsZiwgbWFzdGVyKQorICAgICAgICAgICAgc2VsZi5wYWNrKCkKKyAgICAgICAgICAgIHNlbGYuY3JlYXRlV2lkZ2V0cygpCiAKLSAgICAgICBkZWYgY3JlYXRlV2lkZ2V0cyhzZWxmKToKLSAgICAgICAgICAgc2VsZi5RVUlUID0gQnV0dG9uKHNlbGYpCi0gICAgICAgICAgIHNlbGYuUVVJVFsidGV4dCJdID0gIlFVSVQiCi0gICAgICAgICAgIHNlbGYuUVVJVFsiZmciXSA9ICJyZWQiCi0gICAgICAgICAgIHNlbGYuUVVJVFsiY29tbWFuZCJdID0gc2VsZi5xdWl0CisgICAgICAgIGRlZiBjcmVhdGVXaWRnZXRzKHNlbGYpOgorICAgICAgICAgICAgc2VsZi5oaV90aGVyZSA9IHRrLkJ1dHRvbihzZWxmKQorICAgICAgICAgICAgc2VsZi5oaV90aGVyZVsidGV4dCJdID0gIkhlbGxvIFdvcmxkXG4oY2xpY2sgbWUpIgorICAgICAgICAgICAgc2VsZi5oaV90aGVyZVsiY29tbWFuZCJdID0gc2VsZi5zYXlfaGkKKyAgICAgICAgICAgIHNlbGYuaGlfdGhlcmUucGFjayhzaWRlPSJ0b3AiKQogCi0gICAgICAgICAgIHNlbGYuUVVJVC5wYWNrKHsic2lkZSI6ICJsZWZ0In0pCisgICAgICAgICAgICBzZWxmLlFVSVQgPSB0ay5CdXR0b24oc2VsZiwgdGV4dCA9ICJRVUlUIiwgZmcgPSAicmVkIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbW1hbmQgPSByb290LmRlc3Ryb3kpCisgICAgICAgICAgICBzZWxmLlFVSVQucGFjayhzaWRlID0gImJvdHRvbSIpCiAKLSAgICAgICAgICAgc2VsZi5oaV90aGVyZSA9IEJ1dHRvbihzZWxmKQotICAgICAgICAgICBzZWxmLmhpX3RoZXJlWyJ0ZXh0Il0gPSAiSGVsbG8iLAotICAgICAgICAgICBzZWxmLmhpX3RoZXJlWyJjb21tYW5kIl0gPSBzZWxmLnNheV9oaQorICAgICAgICBkZWYgc2F5X2hpKHNlbGYpOgorICAgICAgICAgICAgcHJpbnQoImhpIHRoZXJlLCBldmVyeW9uZSEiKQogCi0gICAgICAgICAgIHNlbGYuaGlfdGhlcmUucGFjayh7InNpZGUiOiAibGVmdCJ9KQotCi0gICAgICAgZGVmIF9faW5pdF9fKHNlbGYsIG1hc3Rlcj1Ob25lKToKLSAgICAgICAgICAgRnJhbWUuX19pbml0X18oc2VsZiwgbWFzdGVyKQotICAgICAgICAgICBzZWxmLnBhY2soKQotICAgICAgICAgICBzZWxmLmNyZWF0ZVdpZGdldHMoKQotCi0gICByb290ID0gVGsoKQotICAgYXBwID0gQXBwbGljYXRpb24obWFzdGVyPXJvb3QpCi0gICBhcHAubWFpbmxvb3AoKQotICAgcm9vdC5kZXN0cm95KCkKKyAgICByb290ID0gdGsuVGsoKQorICAgIGFwcCA9IEFwcGxpY2F0aW9uKG1hc3Rlcj1yb290KQorICAgIGFwcC5tYWlubG9vcCgpCiAKIAogQSAoVmVyeSkgUXVpY2sgTG9vayBhdCBUY2wvVGsKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L3Rva2VuaXplLnJzdCBiL0RvYy9saWJyYXJ5L3Rva2VuaXplLnJzdAppbmRleCA3MDkxOWNhLi4zN2Q5ZjQxIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS90b2tlbml6ZS5yc3QKKysrIGIvRG9jL2xpYnJhcnkvdG9rZW5pemUucnN0CkBAIC0xNyw5ICsxNywxMSBAQAogCiBUbyBzaW1wbGlmeSB0b2tlbiBzdHJlYW0gaGFuZGxpbmcsIGFsbCA6cmVmOmBvcGVyYXRvcnNgIGFuZCA6cmVmOmBkZWxpbWl0ZXJzYAogdG9rZW5zIGFyZSByZXR1cm5lZCB1c2luZyB0aGUgZ2VuZXJpYyA6ZGF0YTpgdG9rZW4uT1BgIHRva2VuIHR5cGUuICBUaGUgZXhhY3QKLXR5cGUgY2FuIGJlIGRldGVybWluZWQgYnkgY2hlY2tpbmcgdGhlIHRva2VuIGBgc3RyaW5nYGAgZmllbGQgb24gdGhlCi06dGVybTpgbmFtZWQgdHVwbGVgIHJldHVybmVkIGZyb20gOmZ1bmM6YHRva2VuaXplLnRva2VuaXplYCBmb3IgdGhlIGNoYXJhY3Rlcgotc2VxdWVuY2UgdGhhdCBpZGVudGlmaWVzIGEgc3BlY2lmaWMgb3BlcmF0b3IgdG9rZW4uCit0eXBlIGNhbiBiZSBkZXRlcm1pbmVkIGJ5IGNoZWNraW5nIHRoZSBgYGV4YWN0X3R5cGVgYCBwcm9wZXJ0eSBvbiB0aGUKKzp0ZXJtOmBuYW1lZCB0dXBsZWAgcmV0dXJuZWQgZnJvbSA6ZnVuYzpgdG9rZW5pemUudG9rZW5pemVgLgorCitUb2tlbml6aW5nIElucHV0CistLS0tLS0tLS0tLS0tLS0tCiAKIFRoZSBwcmltYXJ5IGVudHJ5IHBvaW50IGlzIGEgOnRlcm06YGdlbmVyYXRvcmA6CiAKQEAgLTM5LDkgKzQxLDE3IEBACiAgICByZXR1cm5lZCBhcyBhIDp0ZXJtOmBuYW1lZCB0dXBsZWAgd2l0aCB0aGUgZmllbGQgbmFtZXM6CiAgICBgYHR5cGUgc3RyaW5nIHN0YXJ0IGVuZCBsaW5lYGAuCiAKKyAgIFRoZSByZXR1cm5lZCA6dGVybTpgbmFtZWQgdHVwbGVgIGhhcyBhIGFkZGl0aW9uYWwgcHJvcGVydHkgbmFtZWQKKyAgIGBgZXhhY3RfdHlwZWBgIHRoYXQgY29udGFpbnMgdGhlIGV4YWN0IG9wZXJhdG9yIHR5cGUgZm9yCisgICA6ZGF0YTpgdG9rZW4uT1BgIHRva2Vucy4gIEZvciBhbGwgb3RoZXIgdG9rZW4gdHlwZXMgYGBleGFjdF90eXBlYGAKKyAgIGVxdWFscyB0aGUgbmFtZWQgdHVwbGUgYGB0eXBlYGAgZmllbGQuCisKICAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy4xCiAgICAgICBBZGRlZCBzdXBwb3J0IGZvciBuYW1lZCB0dXBsZXMuCiAKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy4zCisgICAgICBBZGRlZCBzdXBwb3J0IGZvciBgYGV4YWN0X3R5cGVgYC4KKwogICAgOmZ1bmM6YHRva2VuaXplYCBkZXRlcm1pbmVzIHRoZSBzb3VyY2UgZW5jb2Rpbmcgb2YgdGhlIGZpbGUgYnkgbG9va2luZyBmb3IgYQogICAgVVRGLTggQk9NIG9yIGVuY29kaW5nIGNvb2tpZSwgYWNjb3JkaW5nIHRvIDpwZXA6YDI2M2AuCiAKQEAgLTEyMiw2ICsxMzIsMzggQEAKICAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMgogCiAKKy4uIF90b2tlbml6ZS1jbGk6CisKK0NvbW1hbmQtTGluZSBVc2FnZQorLS0tLS0tLS0tLS0tLS0tLS0tCisKKy4uIHZlcnNpb25hZGRlZDo6IDMuMworCitUaGUgOm1vZDpgdG9rZW5pemVgIG1vZHVsZSBjYW4gYmUgZXhlY3V0ZWQgYXMgYSBzY3JpcHQgZnJvbSB0aGUgY29tbWFuZCBsaW5lLgorSXQgaXMgYXMgc2ltcGxlIGFzOgorCisuLiBjb2RlLWJsb2NrOjogc2gKKworICAgcHl0aG9uIC1tIHRva2VuaXplIFstZV0gW2ZpbGVuYW1lLnB5XQorCitUaGUgZm9sbG93aW5nIG9wdGlvbnMgYXJlIGFjY2VwdGVkOgorCisuLiBwcm9ncmFtOjogdG9rZW5pemUKKworLi4gY21kb3B0aW9uOjogLWgsIC0taGVscAorCisgICBzaG93IHRoaXMgaGVscCBtZXNzYWdlIGFuZCBleGl0CisKKy4uIGNtZG9wdGlvbjo6IC1lLCAtLWV4YWN0CisKKyAgIGRpc3BsYXkgdG9rZW4gbmFtZXMgdXNpbmcgdGhlIGV4YWN0IHR5cGUKKworSWYgOmZpbGU6YGZpbGVuYW1lLnB5YCBpcyBzcGVjaWZpZWQgaXRzIGNvbnRlbnRzIGFyZSB0b2tlbml6ZWQgdG8gc3Rkb3V0LgorT3RoZXJ3aXNlLCB0b2tlbml6YXRpb24gaXMgcGVyZm9ybWVkIG9uIHN0ZGluLgorCitFeGFtcGxlcworLS0tLS0tLS0tLS0tLS0tLS0tCisKIEV4YW1wbGUgb2YgYSBzY3JpcHQgcmV3cml0ZXIgdGhhdCB0cmFuc2Zvcm1zIGZsb2F0IGxpdGVyYWxzIGludG8gRGVjaW1hbAogb2JqZWN0czo6CiAKQEAgLTE2NCwzICsyMDYsNjMgQEAKICAgICAgICAgICAgICAgICByZXN1bHQuYXBwZW5kKCh0b2tudW0sIHRva3ZhbCkpCiAgICAgICAgIHJldHVybiB1bnRva2VuaXplKHJlc3VsdCkuZGVjb2RlKCd1dGYtOCcpCiAKK0V4YW1wbGUgb2YgdG9rZW5pemluZyBmcm9tIHRoZSBjb21tYW5kIGxpbmUuICBUaGUgc2NyaXB0OjoKKworICAgIGRlZiBzYXlfaGVsbG8oKToKKyAgICAgICAgcHJpbnQoIkhlbGxvLCBXb3JsZCEiKQorCisgICAgc2F5X2hlbGxvKCkKKword2lsbCBiZSB0b2tlbml6ZWQgdG8gdGhlIGZvbGxvd2luZyBvdXRwdXQgd2hlcmUgdGhlIGZpcnN0IGNvbHVtbiBpcyB0aGUgcmFuZ2UKK29mIHRoZSBsaW5lL2NvbHVtbiBjb29yZGluYXRlcyB3aGVyZSB0aGUgdG9rZW4gaXMgZm91bmQsIHRoZSBzZWNvbmQgY29sdW1uIGlzCit0aGUgbmFtZSBvZiB0aGUgdG9rZW4sIGFuZCB0aGUgZmluYWwgY29sdW1uIGlzIHRoZSB2YWx1ZSBvZiB0aGUgdG9rZW4gKGlmIGFueSkKKworLi4gY29kZS1ibG9jazo6IHNoCisKKyAgICAkIHB5dGhvbiAtbSB0b2tlbml6ZSBoZWxsby5weQorICAgIDAsMC0wLDA6ICAgICAgICAgICAgRU5DT0RJTkcgICAgICAgJ3V0Zi04JworICAgIDEsMC0xLDM6ICAgICAgICAgICAgTkFNRSAgICAgICAgICAgJ2RlZicKKyAgICAxLDQtMSwxMzogICAgICAgICAgIE5BTUUgICAgICAgICAgICdzYXlfaGVsbG8nCisgICAgMSwxMy0xLDE0OiAgICAgICAgICBPUCAgICAgICAgICAgICAnKCcKKyAgICAxLDE0LTEsMTU6ICAgICAgICAgIE9QICAgICAgICAgICAgICcpJworICAgIDEsMTUtMSwxNjogICAgICAgICAgT1AgICAgICAgICAgICAgJzonCisgICAgMSwxNi0xLDE3OiAgICAgICAgICBORVdMSU5FICAgICAgICAnXG4nCisgICAgMiwwLTIsNDogICAgICAgICAgICBJTkRFTlQgICAgICAgICAnICAgICcKKyAgICAyLDQtMiw5OiAgICAgICAgICAgIE5BTUUgICAgICAgICAgICdwcmludCcKKyAgICAyLDktMiwxMDogICAgICAgICAgIE9QICAgICAgICAgICAgICcoJworICAgIDIsMTAtMiwyNTogICAgICAgICAgU1RSSU5HICAgICAgICAgJyJIZWxsbywgV29ybGQhIicKKyAgICAyLDI1LTIsMjY6ICAgICAgICAgIE9QICAgICAgICAgICAgICcpJworICAgIDIsMjYtMiwyNzogICAgICAgICAgTkVXTElORSAgICAgICAgJ1xuJworICAgIDMsMC0zLDE6ICAgICAgICAgICAgTkwgICAgICAgICAgICAgJ1xuJworICAgIDQsMC00LDA6ICAgICAgICAgICAgREVERU5UICAgICAgICAgJycKKyAgICA0LDAtNCw5OiAgICAgICAgICAgIE5BTUUgICAgICAgICAgICdzYXlfaGVsbG8nCisgICAgNCw5LTQsMTA6ICAgICAgICAgICBPUCAgICAgICAgICAgICAnKCcKKyAgICA0LDEwLTQsMTE6ICAgICAgICAgIE9QICAgICAgICAgICAgICcpJworICAgIDQsMTEtNCwxMjogICAgICAgICAgTkVXTElORSAgICAgICAgJ1xuJworICAgIDUsMC01LDA6ICAgICAgICAgICAgRU5ETUFSS0VSICAgICAgJycKKworVGhlIGV4YWN0IHRva2VuIHR5cGUgbmFtZXMgY2FuIGJlIGRpc3BsYXllZCB1c2luZyB0aGUgYGAtZWBgIG9wdGlvbjoKKworLi4gY29kZS1ibG9jazo6IHNoCisKKyAgICAkIHB5dGhvbiAtbSB0b2tlbml6ZSAtZSBoZWxsby5weQorICAgIDAsMC0wLDA6ICAgICAgICAgICAgRU5DT0RJTkcgICAgICAgJ3V0Zi04JworICAgIDEsMC0xLDM6ICAgICAgICAgICAgTkFNRSAgICAgICAgICAgJ2RlZicKKyAgICAxLDQtMSwxMzogICAgICAgICAgIE5BTUUgICAgICAgICAgICdzYXlfaGVsbG8nCisgICAgMSwxMy0xLDE0OiAgICAgICAgICBMUEFSICAgICAgICAgICAnKCcKKyAgICAxLDE0LTEsMTU6ICAgICAgICAgIFJQQVIgICAgICAgICAgICcpJworICAgIDEsMTUtMSwxNjogICAgICAgICAgQ09MT04gICAgICAgICAgJzonCisgICAgMSwxNi0xLDE3OiAgICAgICAgICBORVdMSU5FICAgICAgICAnXG4nCisgICAgMiwwLTIsNDogICAgICAgICAgICBJTkRFTlQgICAgICAgICAnICAgICcKKyAgICAyLDQtMiw5OiAgICAgICAgICAgIE5BTUUgICAgICAgICAgICdwcmludCcKKyAgICAyLDktMiwxMDogICAgICAgICAgIExQQVIgICAgICAgICAgICcoJworICAgIDIsMTAtMiwyNTogICAgICAgICAgU1RSSU5HICAgICAgICAgJyJIZWxsbywgV29ybGQhIicKKyAgICAyLDI1LTIsMjY6ICAgICAgICAgIFJQQVIgICAgICAgICAgICcpJworICAgIDIsMjYtMiwyNzogICAgICAgICAgTkVXTElORSAgICAgICAgJ1xuJworICAgIDMsMC0zLDE6ICAgICAgICAgICAgTkwgICAgICAgICAgICAgJ1xuJworICAgIDQsMC00LDA6ICAgICAgICAgICAgREVERU5UICAgICAgICAgJycKKyAgICA0LDAtNCw5OiAgICAgICAgICAgIE5BTUUgICAgICAgICAgICdzYXlfaGVsbG8nCisgICAgNCw5LTQsMTA6ICAgICAgICAgICBMUEFSICAgICAgICAgICAnKCcKKyAgICA0LDEwLTQsMTE6ICAgICAgICAgIFJQQVIgICAgICAgICAgICcpJworICAgIDQsMTEtNCwxMjogICAgICAgICAgTkVXTElORSAgICAgICAgJ1xuJworICAgIDUsMC01LDA6ICAgICAgICAgICAgRU5ETUFSS0VSICAgICAgJycKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L3VuaWNvZGVkYXRhLnJzdCBiL0RvYy9saWJyYXJ5L3VuaWNvZGVkYXRhLnJzdAppbmRleCA0MjQwMGRmLi5iNzM1YTY5IDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS91bmljb2RlZGF0YS5yc3QKKysrIGIvRG9jL2xpYnJhcnkvdW5pY29kZWRhdGEucnN0CkBAIC0xNSw4ICsxNSw4IEBACiAKIFRoaXMgbW9kdWxlIHByb3ZpZGVzIGFjY2VzcyB0byB0aGUgVW5pY29kZSBDaGFyYWN0ZXIgRGF0YWJhc2UgKFVDRCkgd2hpY2gKIGRlZmluZXMgY2hhcmFjdGVyIHByb3BlcnRpZXMgZm9yIGFsbCBVbmljb2RlIGNoYXJhY3RlcnMuIFRoZSBkYXRhIGNvbnRhaW5lZCBpbgotdGhpcyBkYXRhYmFzZSBpcyBjb21waWxlZCBmcm9tIHRoZSBgVUNEIHZlcnNpb24gNi4wLjAKLTxodHRwOi8vd3d3LnVuaWNvZGUub3JnL1B1YmxpYy82LjAuMC91Y2Q+YF8uCit0aGlzIGRhdGFiYXNlIGlzIGNvbXBpbGVkIGZyb20gdGhlIGBVQ0QgdmVyc2lvbiA2LjEuMAorPGh0dHA6Ly93d3cudW5pY29kZS5vcmcvUHVibGljLzYuMS4wL3VjZD5gXy4KIAogVGhlIG1vZHVsZSB1c2VzIHRoZSBzYW1lIG5hbWVzIGFuZCBzeW1ib2xzIGFzIGRlZmluZWQgYnkgVW5pY29kZQogU3RhbmRhcmQgQW5uZXggIzQ0LCBgIlVuaWNvZGUgQ2hhcmFjdGVyIERhdGFiYXNlIgpAQCAtMjksNiArMjksOSBAQAogICAgTG9vayB1cCBjaGFyYWN0ZXIgYnkgbmFtZS4gIElmIGEgY2hhcmFjdGVyIHdpdGggdGhlIGdpdmVuIG5hbWUgaXMgZm91bmQsIHJldHVybgogICAgdGhlIGNvcnJlc3BvbmRpbmcgY2hhcmFjdGVyLiAgSWYgbm90IGZvdW5kLCA6ZXhjOmBLZXlFcnJvcmAgaXMgcmFpc2VkLgogCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMworICAgICAgU3VwcG9ydCBmb3IgbmFtZSBhbGlhc2VzIFsjXV8gYW5kIG5hbWVkIHNlcXVlbmNlcyBbI11fIGhhcyBiZWVuIGFkZGVkLgorCiAKIC4uIGZ1bmN0aW9uOjogbmFtZShjaHJbLCBkZWZhdWx0XSkKIApAQCAtMTYwLDMgKzE2Myw5IEBACiAgICA+Pj4gdW5pY29kZWRhdGEuYmlkaXJlY3Rpb25hbCgnXHUwNjYwJykgIyAnQSdyYWJpYywgJ04ndW1iZXIKICAgICdBTicKIAorCisuLiBydWJyaWM6OiBGb290bm90ZXMKKworLi4gWyNdIGh0dHA6Ly93d3cudW5pY29kZS5vcmcvUHVibGljLzYuMS4wL3VjZC9OYW1lQWxpYXNlcy50eHQKKworLi4gWyNdIGh0dHA6Ly93d3cudW5pY29kZS5vcmcvUHVibGljLzYuMS4wL3VjZC9OYW1lZFNlcXVlbmNlcy50eHQKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L3VuaXR0ZXN0LnJzdCBiL0RvYy9saWJyYXJ5L3VuaXR0ZXN0LnJzdAppbmRleCBiZGYwN2E0Li5iZjU4Y2FkIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS91bml0dGVzdC5yc3QKKysrIGIvRG9jL2xpYnJhcnkvdW5pdHRlc3QucnN0CkBAIC03OTIsMTEgKzc5MiwxNCBAQAogICAgICAgUnVuIHRoZSB0ZXN0LCBjb2xsZWN0aW5nIHRoZSByZXN1bHQgaW50byB0aGUgdGVzdCByZXN1bHQgb2JqZWN0IHBhc3NlZCBhcwogICAgICAgKnJlc3VsdCouICBJZiAqcmVzdWx0KiBpcyBvbWl0dGVkIG9yIGBgTm9uZWBgLCBhIHRlbXBvcmFyeSByZXN1bHQKICAgICAgIG9iamVjdCBpcyBjcmVhdGVkIChieSBjYWxsaW5nIHRoZSA6bWV0aDpgZGVmYXVsdFRlc3RSZXN1bHRgIG1ldGhvZCkgYW5kCi0gICAgICB1c2VkLiBUaGUgcmVzdWx0IG9iamVjdCBpcyBub3QgcmV0dXJuZWQgdG8gOm1ldGg6YHJ1bmAncyBjYWxsZXIuCisgICAgICB1c2VkLiBUaGUgcmVzdWx0IG9iamVjdCBpcyByZXR1cm5lZCB0byA6bWV0aDpgcnVuYCdzIGNhbGxlci4KIAogICAgICAgVGhlIHNhbWUgZWZmZWN0IG1heSBiZSBoYWQgYnkgc2ltcGx5IGNhbGxpbmcgdGhlIDpjbGFzczpgVGVzdENhc2VgCiAgICAgICBpbnN0YW5jZS4KIAorICAgICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjMKKyAgICAgICAgIFByZXZpb3VzIHZlcnNpb25zIG9mIGBgcnVuYGAgZGlkIG5vdCByZXR1cm4gdGhlIHJlc3VsdC4gTmVpdGhlciBkaWQKKyAgICAgICAgIGNhbGxpbmcgYW4gaW5zdGFuY2UuCiAKICAgIC4uIG1ldGhvZDo6IHNraXBUZXN0KHJlYXNvbikKIApAQCAtODU3LDEwICs4NjAsMTEgQEAKICAgIHwgPFRlc3RDYXNlLmFzc2VydE5vdElzSW5zdGFuY2U+YCAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICB8CiAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKwogCi0gICBBbGwgdGhlIGFzc2VydCBtZXRob2RzIChleGNlcHQgOm1ldGg6YGFzc2VydFJhaXNlc2AsCi0gICA6bWV0aDpgYXNzZXJ0UmFpc2VzUmVnZXhgLCA6bWV0aDpgYXNzZXJ0V2FybnNgLCA6bWV0aDpgYXNzZXJ0V2FybnNSZWdleGApCi0gICBhY2NlcHQgYSAqbXNnKiBhcmd1bWVudCB0aGF0LCBpZiBzcGVjaWZpZWQsIGlzIHVzZWQgYXMgdGhlIGVycm9yIG1lc3NhZ2Ugb24KLSAgIGZhaWx1cmUgKHNlZSBhbHNvIDpkYXRhOmBsb25nTWVzc2FnZWApLgorICAgQWxsIHRoZSBhc3NlcnQgbWV0aG9kcyBhY2NlcHQgYSAqbXNnKiBhcmd1bWVudCB0aGF0LCBpZiBzcGVjaWZpZWQsIGlzIHVzZWQKKyAgIGFzIHRoZSBlcnJvciBtZXNzYWdlIG9uIGZhaWx1cmUgKHNlZSBhbHNvIDpkYXRhOmBsb25nTWVzc2FnZWApLgorICAgTm90ZSB0aGF0IHRoZSAqbXNnKiBrZXl3b3JkIGFyZ3VtZW50IGNhbiBiZSBwYXNzZWQgdG8gOm1ldGg6YGFzc2VydFJhaXNlc2AsCisgICA6bWV0aDpgYXNzZXJ0UmFpc2VzUmVnZXhgLCA6bWV0aDpgYXNzZXJ0V2FybnNgLCA6bWV0aDpgYXNzZXJ0V2FybnNSZWdleGAKKyAgIG9ubHkgd2hlbiB0aGV5IGFyZSB1c2VkIGFzIGEgY29udGV4dCBtYW5hZ2VyLgogCiAgICAuLiBtZXRob2Q6OiBhc3NlcnRFcXVhbChmaXJzdCwgc2Vjb25kLCBtc2c9Tm9uZSkKIApAQCAtOTU1LDcgKzk1OSw3IEBACiAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSsKIAogICAgLi4gbWV0aG9kOjogYXNzZXJ0UmFpc2VzKGV4Y2VwdGlvbiwgY2FsbGFibGUsICphcmdzLCAqKmt3ZHMpCi0gICAgICAgICAgICAgICBhc3NlcnRSYWlzZXMoZXhjZXB0aW9uKQorICAgICAgICAgICAgICAgYXNzZXJ0UmFpc2VzKGV4Y2VwdGlvbiwgbXNnPU5vbmUpCiAKICAgICAgIFRlc3QgdGhhdCBhbiBleGNlcHRpb24gaXMgcmFpc2VkIHdoZW4gKmNhbGxhYmxlKiBpcyBjYWxsZWQgd2l0aCBhbnkKICAgICAgIHBvc2l0aW9uYWwgb3Iga2V5d29yZCBhcmd1bWVudHMgdGhhdCBhcmUgYWxzbyBwYXNzZWQgdG8KQEAgLTk2NCwxMiArOTY4LDE2IEBACiAgICAgICBUbyBjYXRjaCBhbnkgb2YgYSBncm91cCBvZiBleGNlcHRpb25zLCBhIHR1cGxlIGNvbnRhaW5pbmcgdGhlIGV4Y2VwdGlvbgogICAgICAgY2xhc3NlcyBtYXkgYmUgcGFzc2VkIGFzICpleGNlcHRpb24qLgogCi0gICAgICBJZiBvbmx5IHRoZSAqZXhjZXB0aW9uKiBhcmd1bWVudCBpcyBnaXZlbiwgcmV0dXJucyBhIGNvbnRleHQgbWFuYWdlciBzbwotICAgICAgdGhhdCB0aGUgY29kZSB1bmRlciB0ZXN0IGNhbiBiZSB3cml0dGVuIGlubGluZSByYXRoZXIgdGhhbiBhcyBhIGZ1bmN0aW9uOjoKKyAgICAgIElmIG9ubHkgdGhlICpleGNlcHRpb24qIGFuZCBwb3NzaWJseSB0aGUgKm1zZyogYXJndW1lbnRzIGFyZSBnaXZlbiwKKyAgICAgIHJldHVybiBhIGNvbnRleHQgbWFuYWdlciBzbyB0aGF0IHRoZSBjb2RlIHVuZGVyIHRlc3QgY2FuIGJlIHdyaXR0ZW4KKyAgICAgIGlubGluZSByYXRoZXIgdGhhbiBhcyBhIGZ1bmN0aW9uOjoKIAogICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhTb21lRXhjZXB0aW9uKToKICAgICAgICAgICAgICBkb19zb21ldGhpbmcoKQogCisgICAgICBXaGVuIHVzZWQgYXMgYSBjb250ZXh0IG1hbmFnZXIsIDptZXRoOmBhc3NlcnRSYWlzZXNgIGFjY2VwdHMgdGhlCisgICAgICBhZGRpdGlvbmFsIGtleXdvcmQgYXJndW1lbnQgKm1zZyouCisKICAgICAgIFRoZSBjb250ZXh0IG1hbmFnZXIgd2lsbCBzdG9yZSB0aGUgY2F1Z2h0IGV4Y2VwdGlvbiBvYmplY3QgaW4gaXRzCiAgICAgICA6YXR0cjpgZXhjZXB0aW9uYCBhdHRyaWJ1dGUuICBUaGlzIGNhbiBiZSB1c2VmdWwgaWYgdGhlIGludGVudGlvbgogICAgICAgaXMgdG8gcGVyZm9ybSBhZGRpdGlvbmFsIGNoZWNrcyBvbiB0aGUgZXhjZXB0aW9uIHJhaXNlZDo6CkBAIC05ODYsOSArOTk0LDEyIEBACiAgICAgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMgogICAgICAgICAgQWRkZWQgdGhlIDphdHRyOmBleGNlcHRpb25gIGF0dHJpYnV0ZS4KIAorICAgICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjMKKyAgICAgICAgIEFkZGVkIHRoZSAqbXNnKiBrZXl3b3JkIGFyZ3VtZW50IHdoZW4gdXNlZCBhcyBhIGNvbnRleHQgbWFuYWdlci4KKwogCiAgICAuLiBtZXRob2Q6OiBhc3NlcnRSYWlzZXNSZWdleChleGNlcHRpb24sIHJlZ2V4LCBjYWxsYWJsZSwgKmFyZ3MsICoqa3dkcykKLSAgICAgICAgICAgICAgIGFzc2VydFJhaXNlc1JlZ2V4KGV4Y2VwdGlvbiwgcmVnZXgpCisgICAgICAgICAgICAgICBhc3NlcnRSYWlzZXNSZWdleChleGNlcHRpb24sIHJlZ2V4LCBtc2c9Tm9uZSkKIAogICAgICAgTGlrZSA6bWV0aDpgYXNzZXJ0UmFpc2VzYCBidXQgYWxzbyB0ZXN0cyB0aGF0ICpyZWdleCogbWF0Y2hlcwogICAgICAgb24gdGhlIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgcmFpc2VkIGV4Y2VwdGlvbi4gICpyZWdleCogbWF5IGJlCkBAIC0xMDA1LDEyICsxMDE2LDE2IEBACiAKICAgICAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMQogICAgICAgICAgdW5kZXIgdGhlIG5hbWUgYGBhc3NlcnRSYWlzZXNSZWdleHBgYC4KKwogICAgICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjIKICAgICAgICAgIFJlbmFtZWQgdG8gOm1ldGg6YGFzc2VydFJhaXNlc1JlZ2V4YC4KIAorICAgICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjMKKyAgICAgICAgIEFkZGVkIHRoZSAqbXNnKiBrZXl3b3JkIGFyZ3VtZW50IHdoZW4gdXNlZCBhcyBhIGNvbnRleHQgbWFuYWdlci4KKwogCiAgICAuLiBtZXRob2Q6OiBhc3NlcnRXYXJucyh3YXJuaW5nLCBjYWxsYWJsZSwgKmFyZ3MsICoqa3dkcykKLSAgICAgICAgICAgICAgIGFzc2VydFdhcm5zKHdhcm5pbmcpCisgICAgICAgICAgICAgICBhc3NlcnRXYXJucyh3YXJuaW5nLCBtc2c9Tm9uZSkKIAogICAgICAgVGVzdCB0aGF0IGEgd2FybmluZyBpcyB0cmlnZ2VyZWQgd2hlbiAqY2FsbGFibGUqIGlzIGNhbGxlZCB3aXRoIGFueQogICAgICAgcG9zaXRpb25hbCBvciBrZXl3b3JkIGFyZ3VtZW50cyB0aGF0IGFyZSBhbHNvIHBhc3NlZCB0bwpAQCAtMTAxOSwxMiArMTAzNCwxNiBAQAogICAgICAgVG8gY2F0Y2ggYW55IG9mIGEgZ3JvdXAgb2Ygd2FybmluZ3MsIGEgdHVwbGUgY29udGFpbmluZyB0aGUgd2FybmluZwogICAgICAgY2xhc3NlcyBtYXkgYmUgcGFzc2VkIGFzICp3YXJuaW5ncyouCiAKLSAgICAgIElmIG9ubHkgdGhlICp3YXJuaW5nKiBhcmd1bWVudCBpcyBnaXZlbiwgcmV0dXJucyBhIGNvbnRleHQgbWFuYWdlciBzbwotICAgICAgdGhhdCB0aGUgY29kZSB1bmRlciB0ZXN0IGNhbiBiZSB3cml0dGVuIGlubGluZSByYXRoZXIgdGhhbiBhcyBhIGZ1bmN0aW9uOjoKKyAgICAgIElmIG9ubHkgdGhlICp3YXJuaW5nKiBhbmQgcG9zc2libHkgdGhlICptc2cqIGFyZ3VtZW50cyBhcmUgZ2l2ZW4sCisgICAgICByZXR1cm5zIGEgY29udGV4dCBtYW5hZ2VyIHNvIHRoYXQgdGhlIGNvZGUgdW5kZXIgdGVzdCBjYW4gYmUgd3JpdHRlbgorICAgICAgaW5saW5lIHJhdGhlciB0aGFuIGFzIGEgZnVuY3Rpb246OgogCiAgICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0V2FybnMoU29tZVdhcm5pbmcpOgogICAgICAgICAgICAgIGRvX3NvbWV0aGluZygpCiAKKyAgICAgIFdoZW4gdXNlZCBhcyBhIGNvbnRleHQgbWFuYWdlciwgOm1ldGg6YGFzc2VydFJhaXNlc2AgYWNjZXB0cyB0aGUKKyAgICAgIGFkZGl0aW9uYWwga2V5d29yZCBhcmd1bWVudCAqbXNnKi4KKwogICAgICAgVGhlIGNvbnRleHQgbWFuYWdlciB3aWxsIHN0b3JlIHRoZSBjYXVnaHQgd2FybmluZyBvYmplY3QgaW4gaXRzCiAgICAgICA6YXR0cjpgd2FybmluZ2AgYXR0cmlidXRlLCBhbmQgdGhlIHNvdXJjZSBsaW5lIHdoaWNoIHRyaWdnZXJlZCB0aGUKICAgICAgIHdhcm5pbmdzIGluIHRoZSA6YXR0cjpgZmlsZW5hbWVgIGFuZCA6YXR0cjpgbGluZW5vYCBhdHRyaWJ1dGVzLgpAQCAtMTA0Miw5ICsxMDYxLDEyIEBACiAKICAgICAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMgogCisgICAgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMworICAgICAgICAgQWRkZWQgdGhlICptc2cqIGtleXdvcmQgYXJndW1lbnQgd2hlbiB1c2VkIGFzIGEgY29udGV4dCBtYW5hZ2VyLgorCiAKICAgIC4uIG1ldGhvZDo6IGFzc2VydFdhcm5zUmVnZXgod2FybmluZywgcmVnZXgsIGNhbGxhYmxlLCAqYXJncywgKiprd2RzKQotICAgICAgICAgICAgICAgYXNzZXJ0V2FybnNSZWdleCh3YXJuaW5nLCByZWdleCkKKyAgICAgICAgICAgICAgIGFzc2VydFdhcm5zUmVnZXgod2FybmluZywgcmVnZXgsIG1zZz1Ob25lKQogCiAgICAgICBMaWtlIDptZXRoOmBhc3NlcnRXYXJuc2AgYnV0IGFsc28gdGVzdHMgdGhhdCAqcmVnZXgqIG1hdGNoZXMgb24gdGhlCiAgICAgICBtZXNzYWdlIG9mIHRoZSB0cmlnZ2VyZWQgd2FybmluZy4gICpyZWdleCogbWF5IGJlIGEgcmVndWxhciBleHByZXNzaW9uCkBAIC0xMDYyLDYgKzEwODQsOCBAQAogCiAgICAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjIKIAorICAgICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjMKKyAgICAgICAgIEFkZGVkIHRoZSAqbXNnKiBrZXl3b3JkIGFyZ3VtZW50IHdoZW4gdXNlZCBhcyBhIGNvbnRleHQgbWFuYWdlci4KIAogCiAgICBUaGVyZSBhcmUgYWxzbyBvdGhlciBtZXRob2RzIHVzZWQgdG8gcGVyZm9ybSBtb3JlIHNwZWNpZmljIGNoZWNrcywgc3VjaCBhczoKQEAgLTExNTEsMjEgKzExNzUsNiBAQAogICAgICAgICAgOm1ldGg6YC5hc3NlcnROb3RSZWdleGAuCiAKIAotICAgLi4gbWV0aG9kOjogYXNzZXJ0RGljdENvbnRhaW5zU3Vic2V0KHN1YnNldCwgZGljdGlvbmFyeSwgbXNnPU5vbmUpCi0KLSAgICAgIFRlc3RzIHdoZXRoZXIgdGhlIGtleS92YWx1ZSBwYWlycyBpbiAqZGljdGlvbmFyeSogYXJlIGEgc3VwZXJzZXQgb2YKLSAgICAgIHRob3NlIGluICpzdWJzZXQqLiAgSWYgbm90LCBhbiBlcnJvciBtZXNzYWdlIGxpc3RpbmcgdGhlIG1pc3Npbmcga2V5cwotICAgICAgYW5kIG1pc21hdGNoZWQgdmFsdWVzIGlzIGdlbmVyYXRlZC4KLQotICAgICAgTm90ZSwgdGhlIGFyZ3VtZW50cyBhcmUgaW4gdGhlIG9wcG9zaXRlIG9yZGVyIG9mIHdoYXQgdGhlIG1ldGhvZCBuYW1lCi0gICAgICBkaWN0YXRlcy4gIEluc3RlYWQsIGNvbnNpZGVyIHVzaW5nIHRoZSBzZXQtbWV0aG9kcyBvbiA6cmVmOmBkaWN0aW9uYXJ5Ci0gICAgICB2aWV3cyA8ZGljdC12aWV3cz5gLCBmb3IgZXhhbXBsZTogYGBkLmtleXMoKSA8PSBlLmtleXMoKWBgIG9yCi0gICAgICBgYGQuaXRlbXMoKSA8PSBkLml0ZW1zKClgYC4KLQotICAgICAgLi4gdmVyc2lvbmFkZGVkOjogMy4xCi0gICAgICAuLiBkZXByZWNhdGVkOjogMy4yCi0KLQogICAgLi4gbWV0aG9kOjogYXNzZXJ0Q291bnRFcXVhbChmaXJzdCwgc2Vjb25kLCBtc2c9Tm9uZSkKIAogICAgICAgVGVzdCB0aGF0IHNlcXVlbmNlICpmaXJzdCogY29udGFpbnMgdGhlIHNhbWUgZWxlbWVudHMgYXMgKnNlY29uZCosCkBAIC0xMTgwLDIxICsxMTg5LDYgQEAKIAogICAgICAgLi4gdmVyc2lvbmFkZGVkOjogMy4yCiAKLSAgIC4uIG1ldGhvZDo6IGFzc2VydFNhbWVFbGVtZW50cyhmaXJzdCwgc2Vjb25kLCBtc2c9Tm9uZSkKLQotICAgICAgVGVzdCB0aGF0IHNlcXVlbmNlICpmaXJzdCogY29udGFpbnMgdGhlIHNhbWUgZWxlbWVudHMgYXMgKnNlY29uZCosCi0gICAgICByZWdhcmRsZXNzIG9mIHRoZWlyIG9yZGVyLiBXaGVuIHRoZXkgZG9uJ3QsIGFuIGVycm9yIG1lc3NhZ2UgbGlzdGluZwotICAgICAgdGhlIGRpZmZlcmVuY2VzIGJldHdlZW4gdGhlIHNlcXVlbmNlcyB3aWxsIGJlIGdlbmVyYXRlZC4KLQotICAgICAgRHVwbGljYXRlIGVsZW1lbnRzIGFyZSBpZ25vcmVkIHdoZW4gY29tcGFyaW5nICpmaXJzdCogYW5kICpzZWNvbmQqLgotICAgICAgSXQgaXMgdGhlIGVxdWl2YWxlbnQgb2YgYGBhc3NlcnRFcXVhbChzZXQoZmlyc3QpLCBzZXQoc2Vjb25kKSlgYAotICAgICAgYnV0IGl0IHdvcmtzIHdpdGggc2VxdWVuY2VzIG9mIHVuaGFzaGFibGUgb2JqZWN0cyBhcyB3ZWxsLiBCZWNhdXNlCi0gICAgICBkdXBsaWNhdGVzIGFyZSBpZ25vcmVkLCB0aGlzIG1ldGhvZCBoYXMgYmVlbiBkZXByZWNhdGVkIGluIGZhdm91ciBvZgotICAgICAgOm1ldGg6YGFzc2VydENvdW50RXF1YWxgLgotCi0gICAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjEKLSAgICAgIC4uIGRlcHJlY2F0ZWQ6OiAzLjIKLQogCiAgICAuLiBfdHlwZS1zcGVjaWZpYy1tZXRob2RzOgogCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS91cmxsaWIuZXJyb3IucnN0IGIvRG9jL2xpYnJhcnkvdXJsbGliLmVycm9yLnJzdAppbmRleCAyODIzMjlmLi5lMjBkYjI3IDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS91cmxsaWIuZXJyb3IucnN0CisrKyBiL0RvYy9saWJyYXJ5L3VybGxpYi5lcnJvci5yc3QKQEAgLTgsMjEgKzgsMjMgQEAKIAogCiBUaGUgOm1vZDpgdXJsbGliLmVycm9yYCBtb2R1bGUgZGVmaW5lcyB0aGUgZXhjZXB0aW9uIGNsYXNzZXMgZm9yIGV4Y2VwdGlvbnMKLXJhaXNlZCBieSA6bW9kOmB1cmxsaWIucmVxdWVzdGAuICBUaGUgYmFzZSBleGNlcHRpb24gY2xhc3MgaXMgOmV4YzpgVVJMRXJyb3JgLAotd2hpY2ggaW5oZXJpdHMgZnJvbSA6ZXhjOmBJT0Vycm9yYC4KK3JhaXNlZCBieSA6bW9kOmB1cmxsaWIucmVxdWVzdGAuICBUaGUgYmFzZSBleGNlcHRpb24gY2xhc3MgaXMgOmV4YzpgVVJMRXJyb3JgLgogCiBUaGUgZm9sbG93aW5nIGV4Y2VwdGlvbnMgYXJlIHJhaXNlZCBieSA6bW9kOmB1cmxsaWIuZXJyb3JgIGFzIGFwcHJvcHJpYXRlOgogCiAuLiBleGNlcHRpb246OiBVUkxFcnJvcgogCiAgICBUaGUgaGFuZGxlcnMgcmFpc2UgdGhpcyBleGNlcHRpb24gKG9yIGRlcml2ZWQgZXhjZXB0aW9ucykgd2hlbiB0aGV5IHJ1biBpbnRvCi0gICBhIHByb2JsZW0uICBJdCBpcyBhIHN1YmNsYXNzIG9mIDpleGM6YElPRXJyb3JgLgorICAgYSBwcm9ibGVtLiAgSXQgaXMgYSBzdWJjbGFzcyBvZiA6ZXhjOmBPU0Vycm9yYC4KIAogICAgLi4gYXR0cmlidXRlOjogcmVhc29uCiAKICAgICAgIFRoZSByZWFzb24gZm9yIHRoaXMgZXJyb3IuICBJdCBjYW4gYmUgYSBtZXNzYWdlIHN0cmluZyBvciBhbm90aGVyCi0gICAgICBleGNlcHRpb24gaW5zdGFuY2UgKDpleGM6YHNvY2tldC5lcnJvcmAgZm9yIHJlbW90ZSBVUkxzLCA6ZXhjOmBPU0Vycm9yYAotICAgICAgZm9yIGxvY2FsIFVSTHMpLgorICAgICAgZXhjZXB0aW9uIGluc3RhbmNlLgorCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMworICAgICAgOmV4YzpgVVJMRXJyb3JgIGhhcyBiZWVuIG1hZGUgYSBzdWJjbGFzcyBvZiA6ZXhjOmBPU0Vycm9yYCBpbnN0ZWFkCisgICAgICBvZiA6ZXhjOmBJT0Vycm9yYC4KIAogCiAuLiBleGNlcHRpb246OiBIVFRQRXJyb3IKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L3VybGxpYi5yZXF1ZXN0LnJzdCBiL0RvYy9saWJyYXJ5L3VybGxpYi5yZXF1ZXN0LnJzdAppbmRleCA1OGYzM2UzLi43YWFhZGVkYyAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvdXJsbGliLnJlcXVlc3QucnN0CisrKyBiL0RvYy9saWJyYXJ5L3VybGxpYi5yZXF1ZXN0LnJzdApAQCAtMTQ1LDcgKzE0NSw3IEBACiAKIFRoZSBmb2xsb3dpbmcgY2xhc3NlcyBhcmUgcHJvdmlkZWQ6CiAKLS4uIGNsYXNzOjogUmVxdWVzdCh1cmwsIGRhdGE9Tm9uZSwgaGVhZGVycz17fSwgb3JpZ2luX3JlcV9ob3N0PU5vbmUsIHVudmVyaWZpYWJsZT1GYWxzZSkKKy4uIGNsYXNzOjogUmVxdWVzdCh1cmwsIGRhdGE9Tm9uZSwgaGVhZGVycz17fSwgb3JpZ2luX3JlcV9ob3N0PU5vbmUsIHVudmVyaWZpYWJsZT1GYWxzZSwgbWV0aG9kPU5vbmUpCiAKICAgIFRoaXMgY2xhc3MgaXMgYW4gYWJzdHJhY3Rpb24gb2YgYSBVUkwgcmVxdWVzdC4KIApAQCAtMTk4LDYgKzE5OCwxMyBAQAogICAgZG9jdW1lbnQsIGFuZCB0aGUgdXNlciBoYWQgbm8gb3B0aW9uIHRvIGFwcHJvdmUgdGhlIGF1dG9tYXRpYwogICAgZmV0Y2hpbmcgb2YgdGhlIGltYWdlLCB0aGlzIHNob3VsZCBiZSB0cnVlLgogCisgICAqbWV0aG9kKiBzaG91bGQgYmUgYSBzdHJpbmcgdGhhdCBpbmRpY2F0ZXMgdGhlIEhUVFAgcmVxdWVzdCBtZXRob2QgdGhhdAorICAgd2lsbCBiZSB1c2VkIChlLmcuIGBgJ0hFQUQnYGApLiAgSXRzIHZhbHVlIGlzIHN0b3JlZCBpbiB0aGUKKyAgIDphdHRyOmB+UmVxdWVzdC5tZXRob2RgIGF0dHJpYnV0ZSBhbmQgaXMgdXNlZCBieSA6bWV0aDpgZ2V0X21ldGhvZCgpYC4KKworICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjMKKyAgICA6YXR0cjpgUmVxdWVzdC5tZXRob2RgIGFyZ3VtZW50IGlzIGFkZGVkIHRvIHRoZSBSZXF1ZXN0IGNsYXNzLgorCiAKIC4uIGNsYXNzOjogT3BlbmVyRGlyZWN0b3IoKQogCkBAIC0yNjMsMTAgKzI3MCwxMSBAQAogCiAuLiBjbGFzczo6IEhUVFBCYXNpY0F1dGhIYW5kbGVyKHBhc3N3b3JkX21ncj1Ob25lKQogCi0gICBIYW5kbGUgYXV0aGVudGljYXRpb24gd2l0aCB0aGUgcmVtb3RlIGhvc3QuICpwYXNzd29yZF9tZ3IqLCBpZiBnaXZlbiwgc2hvdWxkIGJlCi0gICBzb21ldGhpbmcgdGhhdCBpcyBjb21wYXRpYmxlIHdpdGggOmNsYXNzOmBIVFRQUGFzc3dvcmRNZ3JgOyByZWZlciB0byBzZWN0aW9uCi0gICA6cmVmOmBodHRwLXBhc3N3b3JkLW1ncmAgZm9yIGluZm9ybWF0aW9uIG9uIHRoZSBpbnRlcmZhY2UgdGhhdCBtdXN0IGJlCi0gICBzdXBwb3J0ZWQuCisgICBIYW5kbGUgYXV0aGVudGljYXRpb24gd2l0aCB0aGUgcmVtb3RlIGhvc3QuICpwYXNzd29yZF9tZ3IqLCBpZiBnaXZlbiwgc2hvdWxkCisgICBiZSBzb21ldGhpbmcgdGhhdCBpcyBjb21wYXRpYmxlIHdpdGggOmNsYXNzOmBIVFRQUGFzc3dvcmRNZ3JgOyByZWZlciB0bworICAgc2VjdGlvbiA6cmVmOmBodHRwLXBhc3N3b3JkLW1ncmAgZm9yIGluZm9ybWF0aW9uIG9uIHRoZSBpbnRlcmZhY2UgdGhhdCBtdXN0CisgICBiZSBzdXBwb3J0ZWQuIEhUVFBCYXNpY0F1dGhIYW5kbGVyIHdpbGwgcmFpc2UgYSA6ZXhjOmBWYWx1ZUVycm9yYCB3aGVuCisgICBwcmVzZW50ZWQgd2l0aCBhIHdyb25nIEF1dGhlbnRpY2F0aW9uIHNjaGVtZS4KIAogCiAuLiBjbGFzczo6IFByb3h5QmFzaWNBdXRoSGFuZGxlcihwYXNzd29yZF9tZ3I9Tm9uZSkKQEAgLTI4OCwxMCArMjk2LDE5IEBACiAKIC4uIGNsYXNzOjogSFRUUERpZ2VzdEF1dGhIYW5kbGVyKHBhc3N3b3JkX21ncj1Ob25lKQogCi0gICBIYW5kbGUgYXV0aGVudGljYXRpb24gd2l0aCB0aGUgcmVtb3RlIGhvc3QuICpwYXNzd29yZF9tZ3IqLCBpZiBnaXZlbiwgc2hvdWxkIGJlCi0gICBzb21ldGhpbmcgdGhhdCBpcyBjb21wYXRpYmxlIHdpdGggOmNsYXNzOmBIVFRQUGFzc3dvcmRNZ3JgOyByZWZlciB0byBzZWN0aW9uCi0gICA6cmVmOmBodHRwLXBhc3N3b3JkLW1ncmAgZm9yIGluZm9ybWF0aW9uIG9uIHRoZSBpbnRlcmZhY2UgdGhhdCBtdXN0IGJlCi0gICBzdXBwb3J0ZWQuCisgICBIYW5kbGUgYXV0aGVudGljYXRpb24gd2l0aCB0aGUgcmVtb3RlIGhvc3QuICpwYXNzd29yZF9tZ3IqLCBpZiBnaXZlbiwgc2hvdWxkCisgICBiZSBzb21ldGhpbmcgdGhhdCBpcyBjb21wYXRpYmxlIHdpdGggOmNsYXNzOmBIVFRQUGFzc3dvcmRNZ3JgOyByZWZlciB0bworICAgc2VjdGlvbiA6cmVmOmBodHRwLXBhc3N3b3JkLW1ncmAgZm9yIGluZm9ybWF0aW9uIG9uIHRoZSBpbnRlcmZhY2UgdGhhdCBtdXN0CisgICBiZSBzdXBwb3J0ZWQuIFdoZW4gYm90aCBEaWdlc3QgQXV0aGVudGljYXRpb24gSGFuZGxlciBhbmQgQmFzaWMKKyAgIEF1dGhlbnRpY2F0aW9uIEhhbmRsZXIgYXJlIGJvdGggYWRkZWQsIERpZ2VzdCBBdXRoZW50aWNhdGlvbiBpcyBhbHdheXMgdHJpZWQKKyAgIGZpcnN0LiBJZiB0aGUgRGlnZXN0IEF1dGhlbnRpY2F0aW9uIHJldHVybnMgYSA0MHggcmVzcG9uc2UgYWdhaW4sIGl0IGlzIHNlbnQKKyAgIHRvIEJhc2ljIEF1dGhlbnRpY2F0aW9uIGhhbmRsZXIgdG8gSGFuZGxlLiAgVGhpcyBIYW5kbGVyIG1ldGhvZCB3aWxsIHJhaXNlIGEKKyAgIDpleGM6YFZhbHVlRXJyb3JgIHdoZW4gcHJlc2VudGVkIHdpdGggYW4gYXV0aGVudGljYXRpb24gc2NoZW1lIG90aGVyIHRoYW4KKyAgIERpZ2VzdCBvciBCYXNpYy4KKworICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjMKKyAgICAgIFJhaXNlIDpleGM6YFZhbHVlRXJyb3JgIG9uIHVuc3VwcG9ydGVkIEF1dGhlbnRpY2F0aW9uIFNjaGVtZS4KKwogCiAKIC4uIGNsYXNzOjogUHJveHlEaWdlc3RBdXRoSGFuZGxlcihwYXNzd29yZF9tZ3I9Tm9uZSkKQEAgLTM4MiwyNyArMzk5LDI1IEBACiAgICBib29sZWFuLCBpbmRpY2F0ZXMgd2hldGhlciB0aGUgcmVxdWVzdCBpcyB1bnZlcmlmaWFibGUgYXMgZGVmaW5lZAogICAgYnkgUkZDIDI5NjUuCiAKLS4uIG1ldGhvZDo6IFJlcXVlc3QuYWRkX2RhdGEoZGF0YSkKKy4uIGF0dHJpYnV0ZTo6IFJlcXVlc3QubWV0aG9kCiAKLSAgIFNldCB0aGUgOmNsYXNzOmBSZXF1ZXN0YCBkYXRhIHRvICpkYXRhKi4gIFRoaXMgaXMgaWdub3JlZCBieSBhbGwgaGFuZGxlcnMgZXhjZXB0Ci0gICBIVFRQIGhhbmRsZXJzIC0tLSBhbmQgdGhlcmUgaXQgc2hvdWxkIGJlIGEgYnl0ZSBzdHJpbmcsIGFuZCB3aWxsIGNoYW5nZSB0aGUKLSAgIHJlcXVlc3QgdG8gYmUgYGBQT1NUYGAgcmF0aGVyIHRoYW4gYGBHRVRgYC4KKyAgIFRoZSBIVFRQIHJlcXVlc3QgbWV0aG9kIHRvIHVzZS4gIFRoaXMgdmFsdWUgaXMgdXNlZCBieQorICAgOm1ldGg6YH5SZXF1ZXN0LmdldF9tZXRob2RgIHRvIG92ZXJyaWRlIHRoZSBjb21wdXRlZCBIVFRQIHJlcXVlc3QKKyAgIG1ldGhvZCB0aGF0IHdvdWxkIG90aGVyd2lzZSBiZSByZXR1cm5lZC4gIFRoaXMgYXR0cmlidXRlIGlzIGluaXRpYWxpemVkIHdpdGgKKyAgIHRoZSB2YWx1ZSBvZiB0aGUgKm1ldGhvZCogYXJndW1lbnQgcGFzc2VkIHRvIHRoZSBjb25zdHJ1Y3Rvci4KKworICAgLi4gdmVyc2lvbmFkZGVkOjogMy4zCiAKIAogLi4gbWV0aG9kOjogUmVxdWVzdC5nZXRfbWV0aG9kKCkKIAotICAgUmV0dXJuIGEgc3RyaW5nIGluZGljYXRpbmcgdGhlIEhUVFAgcmVxdWVzdCBtZXRob2QuICBUaGlzIGlzIG9ubHkgbWVhbmluZ2Z1bCBmb3IKLSAgIEhUVFAgcmVxdWVzdHMsIGFuZCBjdXJyZW50bHkgYWx3YXlzIHJldHVybnMgYGAnR0VUJ2BgIG9yIGBgJ1BPU1QnYGAuCisgICBSZXR1cm4gYSBzdHJpbmcgaW5kaWNhdGluZyB0aGUgSFRUUCByZXF1ZXN0IG1ldGhvZC4gIElmCisgICA6YXR0cjpgUmVxdWVzdC5tZXRob2RgIGlzIG5vdCBgYE5vbmVgYCwgcmV0dXJuIGl0cyB2YWx1ZSwgb3RoZXJ3aXNlIHJldHVybgorICAgYGAnR0VUJ2BgIGlmIDphdHRyOmBSZXF1ZXN0LmRhdGFgIGlzIGBgTm9uZWBgLCBvciBgYCdQT1NUJ2BgIGlmIGl0J3Mgbm90LgorICAgVGhpcyBpcyBvbmx5IG1lYW5pbmdmdWwgZm9yIEhUVFAgcmVxdWVzdHMuCiAKLQotLi4gbWV0aG9kOjogUmVxdWVzdC5oYXNfZGF0YSgpCi0KLSAgIFJldHVybiB3aGV0aGVyIHRoZSBpbnN0YW5jZSBoYXMgYSBub24tXCBgYE5vbmVgYCBkYXRhLgotCi0KLS4uIG1ldGhvZDo6IFJlcXVlc3QuZ2V0X2RhdGEoKQotCi0gICBSZXR1cm4gdGhlIGluc3RhbmNlJ3MgZGF0YS4KKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy4zCisgICAgICBnZXRfbWV0aG9kIG5vdyBsb29rcyBhdCB0aGUgdmFsdWUgb2YgOmF0dHI6YFJlcXVlc3QubWV0aG9kYC4KIAogCiAuLiBtZXRob2Q6OiBSZXF1ZXN0LmFkZF9oZWFkZXIoa2V5LCB2YWwpCkBAIC00MzIsMjEgKzQ0Nyw2IEBACiAgICBSZXR1cm4gdGhlIFVSTCBnaXZlbiBpbiB0aGUgY29uc3RydWN0b3IuCiAKIAotLi4gbWV0aG9kOjogUmVxdWVzdC5nZXRfdHlwZSgpCi0KLSAgIFJldHVybiB0aGUgdHlwZSBvZiB0aGUgVVJMIC0tLSBhbHNvIGtub3duIGFzIHRoZSBzY2hlbWUuCi0KLQotLi4gbWV0aG9kOjogUmVxdWVzdC5nZXRfaG9zdCgpCi0KLSAgIFJldHVybiB0aGUgaG9zdCB0byB3aGljaCBhIGNvbm5lY3Rpb24gd2lsbCBiZSBtYWRlLgotCi0KLS4uIG1ldGhvZDo6IFJlcXVlc3QuZ2V0X3NlbGVjdG9yKCkKLQotICAgUmV0dXJuIHRoZSBzZWxlY3RvciAtLS0gdGhlIHBhcnQgb2YgdGhlIFVSTCB0aGF0IGlzIHNlbnQgdG8gdGhlIHNlcnZlci4KLQotCiAuLiBtZXRob2Q6OiBSZXF1ZXN0LnNldF9wcm94eShob3N0LCB0eXBlKQogCiAgICBQcmVwYXJlIHRoZSByZXF1ZXN0IGJ5IGNvbm5lY3RpbmcgdG8gYSBwcm94eSBzZXJ2ZXIuIFRoZSAqaG9zdCogYW5kICp0eXBlKiB3aWxsCkBAIC00NTQsMTYgKzQ1NCw3MSBAQAogICAgVVJMIGdpdmVuIGluIHRoZSBjb25zdHJ1Y3Rvci4KIAogCisuLiBtZXRob2Q6OiBSZXF1ZXN0LmFkZF9kYXRhKGRhdGEpCisKKyAgIFNldCB0aGUgOmNsYXNzOmBSZXF1ZXN0YCBkYXRhIHRvICpkYXRhKi4gIFRoaXMgaXMgaWdub3JlZCBieSBhbGwgaGFuZGxlcnMgZXhjZXB0CisgICBIVFRQIGhhbmRsZXJzIC0tLSBhbmQgdGhlcmUgaXQgc2hvdWxkIGJlIGEgYnl0ZSBzdHJpbmcsIGFuZCB3aWxsIGNoYW5nZSB0aGUKKyAgIHJlcXVlc3QgdG8gYmUgYGBQT1NUYGAgcmF0aGVyIHRoYW4gYGBHRVRgYC4gIERlcHJlY2F0ZWQgaW4gMy4zLCB1c2UKKyAgIDphdHRyOmBSZXF1ZXN0LmRhdGFgLgorCisgICAuLiBkZXByZWNhdGVkOjogMy4zCisKKworLi4gbWV0aG9kOjogUmVxdWVzdC5oYXNfZGF0YSgpCisKKyAgIFJldHVybiB3aGV0aGVyIHRoZSBpbnN0YW5jZSBoYXMgYSBub24tXCBgYE5vbmVgYCBkYXRhLiBEZXByZWNhdGVkIGluIDMuMywKKyAgIHVzZSA6YXR0cjpgUmVxdWVzdC5kYXRhYC4KKworICAgLi4gZGVwcmVjYXRlZDo6IDMuMworCisKKy4uIG1ldGhvZDo6IFJlcXVlc3QuZ2V0X2RhdGEoKQorCisgICBSZXR1cm4gdGhlIGluc3RhbmNlJ3MgZGF0YS4gIERlcHJlY2F0ZWQgaW4gMy4zLCB1c2UgOmF0dHI6YFJlcXVlc3QuZGF0YWAuCisKKyAgIC4uIGRlcHJlY2F0ZWQ6OiAzLjMKKworCisuLiBtZXRob2Q6OiBSZXF1ZXN0LmdldF90eXBlKCkKKworICAgUmV0dXJuIHRoZSB0eXBlIG9mIHRoZSBVUkwgLS0tIGFsc28ga25vd24gYXMgdGhlIHNjaGVtZS4gIERlcHJlY2F0ZWQgaW4gMy4zLAorICAgdXNlIDphdHRyOmBSZXF1ZXN0LnR5cGVgLgorCisgICAuLiBkZXByZWNhdGVkOjogMy4zCisKKworLi4gbWV0aG9kOjogUmVxdWVzdC5nZXRfaG9zdCgpCisKKyAgIFJldHVybiB0aGUgaG9zdCB0byB3aGljaCBhIGNvbm5lY3Rpb24gd2lsbCBiZSBtYWRlLiBEZXByZWNhdGVkIGluIDMuMywgdXNlCisgICA6YXR0cjpgUmVxdWVzdC5ob3N0YC4KKworICAgLi4gZGVwcmVjYXRlZDo6IDMuMworCisKKy4uIG1ldGhvZDo6IFJlcXVlc3QuZ2V0X3NlbGVjdG9yKCkKKworICAgUmV0dXJuIHRoZSBzZWxlY3RvciAtLS0gdGhlIHBhcnQgb2YgdGhlIFVSTCB0aGF0IGlzIHNlbnQgdG8gdGhlIHNlcnZlci4KKyAgIERlcHJlY2F0ZWQgaW4gMy4zLCB1c2UgOmF0dHI6YFJlcXVlc3Quc2VsZWN0b3JgLgorCisgICAuLiBkZXByZWNhdGVkOjogMy4zCisKKwogLi4gbWV0aG9kOjogUmVxdWVzdC5nZXRfb3JpZ2luX3JlcV9ob3N0KCkKIAotICAgUmV0dXJuIHRoZSByZXF1ZXN0LWhvc3Qgb2YgdGhlIG9yaWdpbiB0cmFuc2FjdGlvbiwgYXMgZGVmaW5lZCBieSA6cmZjOmAyOTY1YC4KLSAgIFNlZSB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIDpjbGFzczpgUmVxdWVzdGAgY29uc3RydWN0b3IuCisgICBSZXR1cm4gdGhlIHJlcXVlc3QtaG9zdCBvZiB0aGUgb3JpZ2luIHRyYW5zYWN0aW9uLCBhcyBkZWZpbmVkIGJ5CisgICA6cmZjOmAyOTY1YC4gIFNlZSB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIDpjbGFzczpgUmVxdWVzdGAgY29uc3RydWN0b3IuCisgICBEZXByZWNhdGVkIGluIDMuMywgdXNlIDphdHRyOmBSZXF1ZXN0Lm9yaWdpbl9yZXFfaG9zdGAuCisKKyAgIC4uIGRlcHJlY2F0ZWQ6OiAzLjMKIAogCiAuLiBtZXRob2Q6OiBSZXF1ZXN0LmlzX3VudmVyaWZpYWJsZSgpCiAKICAgIFJldHVybiB3aGV0aGVyIHRoZSByZXF1ZXN0IGlzIHVudmVyaWZpYWJsZSwgYXMgZGVmaW5lZCBieSBSRkMgMjk2NS4gU2VlIHRoZQotICAgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIDpjbGFzczpgUmVxdWVzdGAgY29uc3RydWN0b3IuCisgICBkb2N1bWVudGF0aW9uIGZvciB0aGUgOmNsYXNzOmBSZXF1ZXN0YCBjb25zdHJ1Y3Rvci4gIERlcHJlY2F0ZWQgaW4gMy4zLCB1c2UKKyAgIDphdHRyOmBSZXF1ZXN0LmlzX3VudmVyaWZpYWJsZWAuCisKKyAgIC4uIGRlcHJlY2F0ZWQ6OiAzLjMKIAogCiAuLiBfb3BlbmVyLWRpcmVjdG9yLW9iamVjdHM6CkBAIC0xMTI4LDE2ICsxMTgzLDE0IEBACiBgYHVybGxpYmBgIChhcyBvcHBvc2VkIHRvIGBgdXJsbGliMmBgKS4gIFRoZXkgbWlnaHQgYmVjb21lIGRlcHJlY2F0ZWQgYXQKIHNvbWUgcG9pbnQgaW4gdGhlIGZ1dHVyZS4KIAotCiAuLiBmdW5jdGlvbjo6IHVybHJldHJpZXZlKHVybCwgZmlsZW5hbWU9Tm9uZSwgcmVwb3J0aG9vaz1Ob25lLCBkYXRhPU5vbmUpCiAKLSAgIENvcHkgYSBuZXR3b3JrIG9iamVjdCBkZW5vdGVkIGJ5IGEgVVJMIHRvIGEgbG9jYWwgZmlsZSwgaWYgbmVjZXNzYXJ5LiBJZiB0aGUgVVJMCi0gICBwb2ludHMgdG8gYSBsb2NhbCBmaWxlLCBvciBhIHZhbGlkIGNhY2hlZCBjb3B5IG9mIHRoZSBvYmplY3QgZXhpc3RzLCB0aGUgb2JqZWN0Ci0gICBpcyBub3QgY29waWVkLiAgUmV0dXJuIGEgdHVwbGUgYGAoZmlsZW5hbWUsIGhlYWRlcnMpYGAgd2hlcmUgKmZpbGVuYW1lKiBpcyB0aGUKKyAgIENvcHkgYSBuZXR3b3JrIG9iamVjdCBkZW5vdGVkIGJ5IGEgVVJMIHRvIGEgbG9jYWwgZmlsZS4gSWYgdGhlIFVSTAorICAgcG9pbnRzIHRvIGEgbG9jYWwgZmlsZSwgdGhlIG9iamVjdCB3aWxsIG5vdCBiZSBjb3BpZWQgdW5sZXNzIGZpbGVuYW1lIGlzIHN1cHBsaWVkLgorICAgUmV0dXJuIGEgdHVwbGUgYGAoZmlsZW5hbWUsIGhlYWRlcnMpYGAgd2hlcmUgKmZpbGVuYW1lKiBpcyB0aGUKICAgIGxvY2FsIGZpbGUgbmFtZSB1bmRlciB3aGljaCB0aGUgb2JqZWN0IGNhbiBiZSBmb3VuZCwgYW5kICpoZWFkZXJzKiBpcyB3aGF0ZXZlcgogICAgdGhlIDptZXRoOmBpbmZvYCBtZXRob2Qgb2YgdGhlIG9iamVjdCByZXR1cm5lZCBieSA6ZnVuYzpgdXJsb3BlbmAgcmV0dXJuZWQgKGZvcgotICAgYSByZW1vdGUgb2JqZWN0LCBwb3NzaWJseSBjYWNoZWQpLiBFeGNlcHRpb25zIGFyZSB0aGUgc2FtZSBhcyBmb3IKLSAgIDpmdW5jOmB1cmxvcGVuYC4KKyAgIGEgcmVtb3RlIG9iamVjdCkuIEV4Y2VwdGlvbnMgYXJlIHRoZSBzYW1lIGFzIGZvciA6ZnVuYzpgdXJsb3BlbmAuCiAKICAgIFRoZSBzZWNvbmQgYXJndW1lbnQsIGlmIHByZXNlbnQsIHNwZWNpZmllcyB0aGUgZmlsZSBsb2NhdGlvbiB0byBjb3B5IHRvIChpZgogICAgYWJzZW50LCB0aGUgbG9jYXRpb24gd2lsbCBiZSBhIHRlbXBmaWxlIHdpdGggYSBnZW5lcmF0ZWQgbmFtZSkuIFRoZSB0aGlyZApAQCAtMTE0OCw2ICsxMjAxLDEzIEBACiAgICB0aGlyZCBhcmd1bWVudCBtYXkgYmUgYGAtMWBgIG9uIG9sZGVyIEZUUCBzZXJ2ZXJzIHdoaWNoIGRvIG5vdCByZXR1cm4gYSBmaWxlCiAgICBzaXplIGluIHJlc3BvbnNlIHRvIGEgcmV0cmlldmFsIHJlcXVlc3QuCiAKKyAgIFRoZSBmb2xsb3dpbmcgZXhhbXBsZSBpbGx1c3RyYXRlcyB0aGUgbW9zdCBjb21tb24gdXNhZ2Ugc2NlbmFyaW86OgorCisgICAgICA+Pj4gaW1wb3J0IHVybGxpYi5yZXF1ZXN0CisgICAgICA+Pj4gbG9jYWxfZmlsZW5hbWUsIGhlYWRlcnMgPSB1cmxsaWIucmVxdWVzdC51cmxyZXRyaWV2ZSgnaHR0cDovL3B5dGhvbi5vcmcvJykKKyAgICAgID4+PiBodG1sID0gb3Blbihsb2NhbF9maWxlbmFtZSkKKyAgICAgID4+PiBodG1sLmNsb3NlKCkKKwogICAgSWYgdGhlICp1cmwqIHVzZXMgdGhlIDpmaWxlOmBodHRwOmAgc2NoZW1lIGlkZW50aWZpZXIsIHRoZSBvcHRpb25hbCAqZGF0YSoKICAgIGFyZ3VtZW50IG1heSBiZSBnaXZlbiB0byBzcGVjaWZ5IGEgYGBQT1NUYGAgcmVxdWVzdCAobm9ybWFsbHkgdGhlIHJlcXVlc3QKICAgIHR5cGUgaXMgYGBHRVRgYCkuICBUaGUgKmRhdGEqIGFyZ3VtZW50IG11c3QgYmUgYSBieXRlcyBvYmplY3QgaW4gc3RhbmRhcmQKQEAgLTExNjAsMjAgKzEyMjAsMjAgQEAKICAgIHRoZSAgZG93bmxvYWQgaXMgaW50ZXJydXB0ZWQuCiAKICAgIFRoZSAqQ29udGVudC1MZW5ndGgqIGlzIHRyZWF0ZWQgYXMgYSBsb3dlciBib3VuZDogaWYgdGhlcmUncyBtb3JlIGRhdGEgIHRvIHJlYWQsCi0gICA6ZnVuYzpgdXJscmV0cmlldmVgIHJlYWRzIG1vcmUgZGF0YSwgYnV0IGlmIGxlc3MgZGF0YSBpcyBhdmFpbGFibGUsICBpdCByYWlzZXMKLSAgIHRoZSBleGNlcHRpb24uCisgICB1cmxyZXRyaWV2ZSByZWFkcyBtb3JlIGRhdGEsIGJ1dCBpZiBsZXNzIGRhdGEgaXMgYXZhaWxhYmxlLCAgaXQgcmFpc2VzIHRoZQorICAgZXhjZXB0aW9uLgogCiAgICBZb3UgY2FuIHN0aWxsIHJldHJpZXZlIHRoZSBkb3dubG9hZGVkIGRhdGEgaW4gdGhpcyBjYXNlLCBpdCBpcyBzdG9yZWQgIGluIHRoZQogICAgOmF0dHI6YGNvbnRlbnRgIGF0dHJpYnV0ZSBvZiB0aGUgZXhjZXB0aW9uIGluc3RhbmNlLgogCi0gICBJZiBubyAqQ29udGVudC1MZW5ndGgqIGhlYWRlciB3YXMgc3VwcGxpZWQsIDpmdW5jOmB1cmxyZXRyaWV2ZWAgY2FuIG5vdCBjaGVjawotICAgdGhlIHNpemUgb2YgdGhlIGRhdGEgaXQgaGFzIGRvd25sb2FkZWQsIGFuZCBqdXN0IHJldHVybnMgaXQuICBJbiB0aGlzIGNhc2UKLSAgIHlvdSBqdXN0IGhhdmUgdG8gYXNzdW1lIHRoYXQgdGhlIGRvd25sb2FkIHdhcyBzdWNjZXNzZnVsLgorICAgSWYgbm8gKkNvbnRlbnQtTGVuZ3RoKiBoZWFkZXIgd2FzIHN1cHBsaWVkLCB1cmxyZXRyaWV2ZSBjYW4gbm90IGNoZWNrIHRoZSBzaXplCisgICBvZiB0aGUgZGF0YSBpdCBoYXMgZG93bmxvYWRlZCwgYW5kIGp1c3QgcmV0dXJucyBpdC4gIEluIHRoaXMgY2FzZSB5b3UganVzdCBoYXZlCisgICB0byBhc3N1bWUgdGhhdCB0aGUgZG93bmxvYWQgd2FzIHN1Y2Nlc3NmdWwuCiAKIC4uIGZ1bmN0aW9uOjogdXJsY2xlYW51cCgpCiAKLSAgIENsZWFyIHRoZSBjYWNoZSB0aGF0IG1heSBoYXZlIGJlZW4gYnVpbHQgdXAgYnkgcHJldmlvdXMgY2FsbHMgdG8KLSAgIDpmdW5jOmB1cmxyZXRyaWV2ZWAuCisgICBDbGVhbnMgdXAgdGVtcG9yYXJ5IGZpbGVzIHRoYXQgbWF5IGhhdmUgYmVlbiBsZWZ0IGJlaGluZCBieSBwcmV2aW91cworICAgY2FsbHMgdG8gOmZ1bmM6YHVybHJldHJpZXZlYC4KIAogLi4gY2xhc3M6OiBVUkxvcGVuZXIocHJveGllcz1Ob25lLCAqKng1MDkpCiAKQEAgLTExOTcsNyArMTI1Nyw3IEBACiAgICAqa2V5X2ZpbGUqIGFuZCAqY2VydF9maWxlKiBhcmUgc3VwcG9ydGVkIHRvIHByb3ZpZGUgYW4gIFNTTCBrZXkgYW5kIGNlcnRpZmljYXRlOwogICAgYm90aCBhcmUgbmVlZGVkIHRvIHN1cHBvcnQgY2xpZW50IGF1dGhlbnRpY2F0aW9uLgogCi0gICA6Y2xhc3M6YFVSTG9wZW5lcmAgb2JqZWN0cyB3aWxsIHJhaXNlIGFuIDpleGM6YElPRXJyb3JgIGV4Y2VwdGlvbiBpZiB0aGUgc2VydmVyCisgICA6Y2xhc3M6YFVSTG9wZW5lcmAgb2JqZWN0cyB3aWxsIHJhaXNlIGFuIDpleGM6YE9TRXJyb3JgIGV4Y2VwdGlvbiBpZiB0aGUgc2VydmVyCiAgICByZXR1cm5zIGFuIGVycm9yIGNvZGUuCiAKICAgICAuLiBtZXRob2Q6OiBvcGVuKGZ1bGx1cmwsIGRhdGE9Tm9uZSkKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L3dhcm5pbmdzLnJzdCBiL0RvYy9saWJyYXJ5L3dhcm5pbmdzLnJzdAppbmRleCA4YWYxOWEyLi44Mzg3ZjVhIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS93YXJuaW5ncy5yc3QKKysrIGIvRG9jL2xpYnJhcnkvd2FybmluZ3MucnN0CkBAIC0zMzksOCArMzM5LDcgQEAKICAgIFdyaXRlIGEgd2FybmluZyB0byBhIGZpbGUuICBUaGUgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiBjYWxscwogICAgYGBmb3JtYXR3YXJuaW5nKG1lc3NhZ2UsIGNhdGVnb3J5LCBmaWxlbmFtZSwgbGluZW5vLCBsaW5lKWBgIGFuZCB3cml0ZXMgdGhlCiAgICByZXN1bHRpbmcgc3RyaW5nIHRvICpmaWxlKiwgd2hpY2ggZGVmYXVsdHMgdG8gYGBzeXMuc3RkZXJyYGAuICBZb3UgbWF5IHJlcGxhY2UKLSAgIHRoaXMgZnVuY3Rpb24gd2l0aCBhbiBhbHRlcm5hdGl2ZSBpbXBsZW1lbnRhdGlvbiBieSBhc3NpZ25pbmcgdG8KLSAgIGBgd2FybmluZ3Muc2hvd3dhcm5pbmdgYC4KKyAgIHRoaXMgZnVuY3Rpb24gd2l0aCBhbnkgY2FsbGFibGUgYnkgYXNzaWduaW5nIHRvIGBgd2FybmluZ3Muc2hvd3dhcm5pbmdgYC4KICAgICpsaW5lKiBpcyBhIGxpbmUgb2Ygc291cmNlIGNvZGUgdG8gYmUgaW5jbHVkZWQgaW4gdGhlIHdhcm5pbmcKICAgIG1lc3NhZ2U7IGlmICpsaW5lKiBpcyBub3Qgc3VwcGxpZWQsIDpmdW5jOmBzaG93d2FybmluZ2Agd2lsbAogICAgdHJ5IHRvIHJlYWQgdGhlIGxpbmUgc3BlY2lmaWVkIGJ5ICpmaWxlbmFtZSogYW5kICpsaW5lbm8qLgpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkvd2ViYnJvd3Nlci5yc3QgYi9Eb2MvbGlicmFyeS93ZWJicm93c2VyLnJzdAppbmRleCAyM2JhNmM1Li45Y2Y4YzUwIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS93ZWJicm93c2VyLnJzdAorKysgYi9Eb2MvbGlicmFyeS93ZWJicm93c2VyLnJzdApAQCAtOTYsNDcgKzk2LDU1IEBACiBtYXkgYmUgcGFzc2VkIHRvIHRoZSA6ZnVuYzpgZ2V0YCBmdW5jdGlvbiBhbmQgdGhlIGNvcnJlc3BvbmRpbmcgaW5zdGFudGlhdGlvbnMKIGZvciB0aGUgY29udHJvbGxlciBjbGFzc2VzLCBhbGwgZGVmaW5lZCBpbiB0aGlzIG1vZHVsZS4KIAotKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0rCi18IFR5cGUgTmFtZSAgICAgICAgICAgICB8IENsYXNzIE5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IE5vdGVzIHwKLSs9PT09PT09PT09PT09PT09PT09PT09PSs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSs9PT09PT09KwotfCBgYCdtb3ppbGxhJ2BgICAgICAgICAgfCA6Y2xhc3M6YE1vemlsbGEoJ21vemlsbGEnKWAgICAgICAgICAgICAgfCAgICAgICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLSsKLXwgYGAnZmlyZWZveCdgYCAgICAgICAgIHwgOmNsYXNzOmBNb3ppbGxhKCdtb3ppbGxhJylgICAgICAgICAgICAgIHwgICAgICAgfAotKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0rCi18IGBgJ25ldHNjYXBlJ2BgICAgICAgICB8IDpjbGFzczpgTW96aWxsYSgnbmV0c2NhcGUnKWAgICAgICAgICAgICB8ICAgICAgIHwKLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tKwotfCBgYCdnYWxlb24nYGAgICAgICAgICAgfCA6Y2xhc3M6YEdhbGVvbignZ2FsZW9uJylgICAgICAgICAgICAgICAgfCAgICAgICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLSsKLXwgYGAnZXBpcGhhbnknYGAgICAgICAgIHwgOmNsYXNzOmBHYWxlb24oJ2VwaXBoYW55JylgICAgICAgICAgICAgIHwgICAgICAgfAotKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0rCi18IGBgJ3NraXBzdG9uZSdgYCAgICAgICB8IDpjbGFzczpgQmFja2dyb3VuZEJyb3dzZXIoJ3NraXBzdG9uZScpYCB8ICAgICAgIHwKLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tKwotfCBgYCdrZm1jbGllbnQnYGAgICAgICAgfCA6Y2xhc3M6YEtvbnF1ZXJvcigpYCAgICAgICAgICAgICAgICAgICAgfCBcKDEpICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLSsKLXwgYGAna29ucXVlcm9yJ2BgICAgICAgIHwgOmNsYXNzOmBLb25xdWVyb3IoKWAgICAgICAgICAgICAgICAgICAgIHwgXCgxKSAgfAotKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0rCi18IGBgJ2tmbSdgYCAgICAgICAgICAgICB8IDpjbGFzczpgS29ucXVlcm9yKClgICAgICAgICAgICAgICAgICAgICB8IFwoMSkgIHwKLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tKwotfCBgYCdtb3NhaWMnYGAgICAgICAgICAgfCA6Y2xhc3M6YEJhY2tncm91bmRCcm93c2VyKCdtb3NhaWMnKWAgICAgfCAgICAgICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLSsKLXwgYGAnb3BlcmEnYGAgICAgICAgICAgIHwgOmNsYXNzOmBPcGVyYSgpYCAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgfAotKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0rCi18IGBgJ2dyYWlsJ2BgICAgICAgICAgICB8IDpjbGFzczpgR3JhaWwoKWAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgIHwKLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tKwotfCBgYCdsaW5rcydgYCAgICAgICAgICAgfCA6Y2xhc3M6YEdlbmVyaWNCcm93c2VyKCdsaW5rcycpYCAgICAgICAgfCAgICAgICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLSsKLXwgYGAnZWxpbmtzJ2BgICAgICAgICAgIHwgOmNsYXNzOmBFbGlua3MoJ2VsaW5rcycpYCAgICAgICAgICAgICAgIHwgICAgICAgfAotKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0rCi18IGBgJ2x5bngnYGAgICAgICAgICAgICB8IDpjbGFzczpgR2VuZXJpY0Jyb3dzZXIoJ2x5bngnKWAgICAgICAgICB8ICAgICAgIHwKLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tKwotfCBgYCd3M20nYGAgICAgICAgICAgICAgfCA6Y2xhc3M6YEdlbmVyaWNCcm93c2VyKCd3M20nKWAgICAgICAgICAgfCAgICAgICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLSsKLXwgYGAnd2luZG93cy1kZWZhdWx0J2BgIHwgOmNsYXNzOmBXaW5kb3dzRGVmYXVsdGAgICAgICAgICAgICAgICAgIHwgXCgyKSAgfAotKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0rCi18IGBgJ2ludGVybmV0LWNvbmZpZydgYCB8IDpjbGFzczpgSW50ZXJuZXRDb25maWdgICAgICAgICAgICAgICAgICB8IFwoMykgIHwKLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tKwotfCBgYCdtYWNvc3gnYGAgICAgICAgICAgfCA6Y2xhc3M6YE1hY09TWCgnZGVmYXVsdCcpYCAgICAgICAgICAgICAgfCBcKDQpICB8Ci0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLSsKKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLSsKK3wgVHlwZSBOYW1lICAgICAgICAgICAgICB8IENsYXNzIE5hbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IE5vdGVzIHwKKys9PT09PT09PT09PT09PT09PT09PT09PT0rPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0rPT09PT09PSsKK3wgYGAnbW96aWxsYSdgYCAgICAgICAgICB8IDpjbGFzczpgTW96aWxsYSgnbW96aWxsYScpYCAgICAgICAgICAgICB8ICAgICAgIHwKKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLSsKK3wgYGAnZmlyZWZveCdgYCAgICAgICAgICB8IDpjbGFzczpgTW96aWxsYSgnbW96aWxsYScpYCAgICAgICAgICAgICB8ICAgICAgIHwKKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLSsKK3wgYGAnbmV0c2NhcGUnYGAgICAgICAgICB8IDpjbGFzczpgTW96aWxsYSgnbmV0c2NhcGUnKWAgICAgICAgICAgICB8ICAgICAgIHwKKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLSsKK3wgYGAnZ2FsZW9uJ2BgICAgICAgICAgICB8IDpjbGFzczpgR2FsZW9uKCdnYWxlb24nKWAgICAgICAgICAgICAgICB8ICAgICAgIHwKKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLSsKK3wgYGAnZXBpcGhhbnknYGAgICAgICAgICB8IDpjbGFzczpgR2FsZW9uKCdlcGlwaGFueScpYCAgICAgICAgICAgICB8ICAgICAgIHwKKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLSsKK3wgYGAnc2tpcHN0b25lJ2BgICAgICAgICB8IDpjbGFzczpgQmFja2dyb3VuZEJyb3dzZXIoJ3NraXBzdG9uZScpYCB8ICAgICAgIHwKKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLSsKK3wgYGAna2ZtY2xpZW50J2BgICAgICAgICB8IDpjbGFzczpgS29ucXVlcm9yKClgICAgICAgICAgICAgICAgICAgICB8IFwoMSkgIHwKKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLSsKK3wgYGAna29ucXVlcm9yJ2BgICAgICAgICB8IDpjbGFzczpgS29ucXVlcm9yKClgICAgICAgICAgICAgICAgICAgICB8IFwoMSkgIHwKKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLSsKK3wgYGAna2ZtJ2BgICAgICAgICAgICAgICB8IDpjbGFzczpgS29ucXVlcm9yKClgICAgICAgICAgICAgICAgICAgICB8IFwoMSkgIHwKKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLSsKK3wgYGAnbW9zYWljJ2BgICAgICAgICAgICB8IDpjbGFzczpgQmFja2dyb3VuZEJyb3dzZXIoJ21vc2FpYycpYCAgICB8ICAgICAgIHwKKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLSsKK3wgYGAnb3BlcmEnYGAgICAgICAgICAgICB8IDpjbGFzczpgT3BlcmEoKWAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgIHwKKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLSsKK3wgYGAnZ3JhaWwnYGAgICAgICAgICAgICB8IDpjbGFzczpgR3JhaWwoKWAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgIHwKKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLSsKK3wgYGAnbGlua3MnYGAgICAgICAgICAgICB8IDpjbGFzczpgR2VuZXJpY0Jyb3dzZXIoJ2xpbmtzJylgICAgICAgICB8ICAgICAgIHwKKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLSsKK3wgYGAnZWxpbmtzJ2BgICAgICAgICAgICB8IDpjbGFzczpgRWxpbmtzKCdlbGlua3MnKWAgICAgICAgICAgICAgICB8ICAgICAgIHwKKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLSsKK3wgYGAnbHlueCdgYCAgICAgICAgICAgICB8IDpjbGFzczpgR2VuZXJpY0Jyb3dzZXIoJ2x5bngnKWAgICAgICAgICB8ICAgICAgIHwKKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLSsKK3wgYGAndzNtJ2BgICAgICAgICAgICAgICB8IDpjbGFzczpgR2VuZXJpY0Jyb3dzZXIoJ3czbScpYCAgICAgICAgICB8ICAgICAgIHwKKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLSsKK3wgYGAnd2luZG93cy1kZWZhdWx0J2BgICB8IDpjbGFzczpgV2luZG93c0RlZmF1bHRgICAgICAgICAgICAgICAgICB8IFwoMikgIHwKKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLSsKK3wgYGAnaW50ZXJuZXQtY29uZmlnJ2BgICB8IDpjbGFzczpgSW50ZXJuZXRDb25maWdgICAgICAgICAgICAgICAgICB8IFwoMykgIHwKKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLSsKK3wgYGAnbWFjb3N4J2BgICAgICAgICAgICB8IDpjbGFzczpgTWFjT1NYKCdkZWZhdWx0JylgICAgICAgICAgICAgICB8IFwoNCkgIHwKKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLSsKK3wgYGAnZ29vZ2xlLWNocm9tZSdgYCAgICB8IDpjbGFzczpgQ2hyb21lKCdnb29nbGUtY2hyb21lJylgICAgICAgICB8ICAgICAgIHwKKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLSsKK3wgYGAnY2hyb21lJ2BgICAgICAgICAgICB8IDpjbGFzczpgQ2hyb21lKCdjaHJvbWUnKWAgICAgICAgICAgICAgICB8ICAgICAgIHwKKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLSsKK3wgYGAnY2hyb21pdW0nYGAgICAgICAgICB8IDpjbGFzczpgQ2hyb21pdW0oJ2Nocm9taXVtJylgICAgICAgICAgICB8ICAgICAgIHwKKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLSsKK3wgYGAnY2hyb21pdW0tYnJvd3NlcidgYCB8IDpjbGFzczpgQ2hyb21pdW0oJ2Nocm9taXVtLWJyb3dzZXInKWAgICB8ICAgICAgIHwKKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLSsKIAogTm90ZXM6CiAKQEAgLTE1NiwxMiArMTY0LDE1IEBACiAoNCkKICAgIE9ubHkgb24gTWFjIE9TIFggcGxhdGZvcm0uCiAKKy4uIHZlcnNpb25hZGRlZDo6IDMuMworICAgU3VwcG9ydCBmb3IgQ2hyb21lL0Nocm9taXVtIGhhcyBiZWVuIGFkZGVkLgorCiBIZXJlIGFyZSBzb21lIHNpbXBsZSBleGFtcGxlczo6CiAKLSAgIHVybCA9ICdodHRwOi8vd3d3LnB5dGhvbi5vcmcvJworICAgdXJsID0gJ2h0dHA6Ly9kb2NzLnB5dGhvbi5vcmcvJwogCiAgICAjIE9wZW4gVVJMIGluIGEgbmV3IHRhYiwgaWYgYSBicm93c2VyIHdpbmRvdyBpcyBhbHJlYWR5IG9wZW4uCi0gICB3ZWJicm93c2VyLm9wZW5fbmV3X3RhYih1cmwgKyAnZG9jLycpCisgICB3ZWJicm93c2VyLm9wZW5fbmV3X3RhYih1cmwpCiAKICAgICMgT3BlbiBVUkwgaW4gbmV3IHdpbmRvdywgcmFpc2luZyB0aGUgd2luZG93IGlmIHBvc3NpYmxlLgogICAgd2ViYnJvd3Nlci5vcGVuX25ldyh1cmwpCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS93aW5yZWcucnN0IGIvRG9jL2xpYnJhcnkvd2lucmVnLnJzdAppbmRleCA1Y2YzMGVlLi4zNzY3NTJlIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS93aW5yZWcucnN0CisrKyBiL0RvYy9saWJyYXJ5L3dpbnJlZy5yc3QKQEAgLTM4LDcgKzM4LDExIEBACiAgICAqa2V5KiBpcyB0aGUgcHJlZGVmaW5lZCBoYW5kbGUgdG8gY29ubmVjdCB0by4KIAogICAgVGhlIHJldHVybiB2YWx1ZSBpcyB0aGUgaGFuZGxlIG9mIHRoZSBvcGVuZWQga2V5LiBJZiB0aGUgZnVuY3Rpb24gZmFpbHMsIGEKLSAgIDpleGM6YFdpbmRvd3NFcnJvcmAgZXhjZXB0aW9uIGlzIHJhaXNlZC4KKyAgIDpleGM6YE9TRXJyb3JgIGV4Y2VwdGlvbiBpcyByYWlzZWQuCisKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy4zCisgICAgICBUaGlzIGZ1bmN0aW9uIHVzZWQgdG8gcmFpc2UgYSA6ZXhjOmBXaW5kb3dzRXJyb3JgLCB3aGljaCBpcyBub3cgYW4KKyAgICAgIGFsaWFzIG9mIDpleGM6YE9TRXJyb3JgLgogCiAKIC4uIGZ1bmN0aW9uOjogQ3JlYXRlS2V5KGtleSwgc3ViX2tleSkKQEAgLTU3LDcgKzYxLDExIEBACiAgICBJZiB0aGUga2V5IGFscmVhZHkgZXhpc3RzLCB0aGlzIGZ1bmN0aW9uIG9wZW5zIHRoZSBleGlzdGluZyBrZXkuCiAKICAgIFRoZSByZXR1cm4gdmFsdWUgaXMgdGhlIGhhbmRsZSBvZiB0aGUgb3BlbmVkIGtleS4gSWYgdGhlIGZ1bmN0aW9uIGZhaWxzLCBhCi0gICA6ZXhjOmBXaW5kb3dzRXJyb3JgIGV4Y2VwdGlvbiBpcyByYWlzZWQuCisgICA6ZXhjOmBPU0Vycm9yYCBleGNlcHRpb24gaXMgcmFpc2VkLgorCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMworICAgICAgVGhpcyBmdW5jdGlvbiB1c2VkIHRvIHJhaXNlIGEgOmV4YzpgV2luZG93c0Vycm9yYCwgd2hpY2ggaXMgbm93IGFuCisgICAgICBhbGlhcyBvZiA6ZXhjOmBPU0Vycm9yYC4KIAogCiAuLiBmdW5jdGlvbjo6IENyZWF0ZUtleUV4KGtleSwgc3ViX2tleSwgcmVzZXJ2ZWQ9MCwgYWNjZXNzPUtFWV9BTExfQUNDRVNTKQpAQCAtODIsMTAgKzkwLDE0IEBACiAgICBJZiB0aGUga2V5IGFscmVhZHkgZXhpc3RzLCB0aGlzIGZ1bmN0aW9uIG9wZW5zIHRoZSBleGlzdGluZyBrZXkuCiAKICAgIFRoZSByZXR1cm4gdmFsdWUgaXMgdGhlIGhhbmRsZSBvZiB0aGUgb3BlbmVkIGtleS4gSWYgdGhlIGZ1bmN0aW9uIGZhaWxzLCBhCi0gICA6ZXhjOmBXaW5kb3dzRXJyb3JgIGV4Y2VwdGlvbiBpcyByYWlzZWQuCisgICA6ZXhjOmBPU0Vycm9yYCBleGNlcHRpb24gaXMgcmFpc2VkLgogCiAgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjIKIAorICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjMKKyAgICAgIFRoaXMgZnVuY3Rpb24gdXNlZCB0byByYWlzZSBhIDpleGM6YFdpbmRvd3NFcnJvcmAsIHdoaWNoIGlzIG5vdyBhbgorICAgICAgYWxpYXMgb2YgOmV4YzpgT1NFcnJvcmAuCisKIAogLi4gZnVuY3Rpb246OiBEZWxldGVLZXkoa2V5LCBzdWJfa2V5KQogCkBAIC0xMDAsNyArMTEyLDExIEBACiAgICAqVGhpcyBtZXRob2QgY2FuIG5vdCBkZWxldGUga2V5cyB3aXRoIHN1YmtleXMuKgogCiAgICBJZiB0aGUgbWV0aG9kIHN1Y2NlZWRzLCB0aGUgZW50aXJlIGtleSwgaW5jbHVkaW5nIGFsbCBvZiBpdHMgdmFsdWVzLCBpcyByZW1vdmVkLgotICAgSWYgdGhlIG1ldGhvZCBmYWlscywgYSA6ZXhjOmBXaW5kb3dzRXJyb3JgIGV4Y2VwdGlvbiBpcyByYWlzZWQuCisgICBJZiB0aGUgbWV0aG9kIGZhaWxzLCBhIDpleGM6YE9TRXJyb3JgIGV4Y2VwdGlvbiBpcyByYWlzZWQuCisKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy4zCisgICAgICBUaGlzIGZ1bmN0aW9uIHVzZWQgdG8gcmFpc2UgYSA6ZXhjOmBXaW5kb3dzRXJyb3JgLCB3aGljaCBpcyBub3cgYW4KKyAgICAgIGFsaWFzIG9mIDpleGM6YE9TRXJyb3JgLgogCiAKIC4uIGZ1bmN0aW9uOjogRGVsZXRlS2V5RXgoa2V5LCBzdWJfa2V5LCBhY2Nlc3M9S0VZX0FMTF9BQ0NFU1MsIHJlc2VydmVkPTApCkBAIC0xMjksMTIgKzE0NSwxNiBAQAogICAgKlRoaXMgbWV0aG9kIGNhbiBub3QgZGVsZXRlIGtleXMgd2l0aCBzdWJrZXlzLioKIAogICAgSWYgdGhlIG1ldGhvZCBzdWNjZWVkcywgdGhlIGVudGlyZSBrZXksIGluY2x1ZGluZyBhbGwgb2YgaXRzIHZhbHVlcywgaXMKLSAgIHJlbW92ZWQuIElmIHRoZSBtZXRob2QgZmFpbHMsIGEgOmV4YzpgV2luZG93c0Vycm9yYCBleGNlcHRpb24gaXMgcmFpc2VkLgorICAgcmVtb3ZlZC4gSWYgdGhlIG1ldGhvZCBmYWlscywgYSA6ZXhjOmBPU0Vycm9yYCBleGNlcHRpb24gaXMgcmFpc2VkLgogCiAgICBPbiB1bnN1cHBvcnRlZCBXaW5kb3dzIHZlcnNpb25zLCA6ZXhjOmBOb3RJbXBsZW1lbnRlZEVycm9yYCBpcyByYWlzZWQuCiAKICAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMgogCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMworICAgICAgVGhpcyBmdW5jdGlvbiB1c2VkIHRvIHJhaXNlIGEgOmV4YzpgV2luZG93c0Vycm9yYCwgd2hpY2ggaXMgbm93IGFuCisgICAgICBhbGlhcyBvZiA6ZXhjOmBPU0Vycm9yYC4KKwogCiAuLiBmdW5jdGlvbjo6IERlbGV0ZVZhbHVlKGtleSwgdmFsdWUpCiAKQEAgLTE1Niw5ICsxNzYsMTMgQEAKICAgICppbmRleCogaXMgYW4gaW50ZWdlciB0aGF0IGlkZW50aWZpZXMgdGhlIGluZGV4IG9mIHRoZSBrZXkgdG8gcmV0cmlldmUuCiAKICAgIFRoZSBmdW5jdGlvbiByZXRyaWV2ZXMgdGhlIG5hbWUgb2Ygb25lIHN1YmtleSBlYWNoIHRpbWUgaXQgaXMgY2FsbGVkLiAgSXQgaXMKLSAgIHR5cGljYWxseSBjYWxsZWQgcmVwZWF0ZWRseSB1bnRpbCBhIDpleGM6YFdpbmRvd3NFcnJvcmAgZXhjZXB0aW9uIGlzCisgICB0eXBpY2FsbHkgY2FsbGVkIHJlcGVhdGVkbHkgdW50aWwgYSA6ZXhjOmBPU0Vycm9yYCBleGNlcHRpb24gaXMKICAgIHJhaXNlZCwgaW5kaWNhdGluZywgbm8gbW9yZSB2YWx1ZXMgYXJlIGF2YWlsYWJsZS4KIAorICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjMKKyAgICAgIFRoaXMgZnVuY3Rpb24gdXNlZCB0byByYWlzZSBhIDpleGM6YFdpbmRvd3NFcnJvcmAsIHdoaWNoIGlzIG5vdyBhbgorICAgICAgYWxpYXMgb2YgOmV4YzpgT1NFcnJvcmAuCisKIAogLi4gZnVuY3Rpb246OiBFbnVtVmFsdWUoa2V5LCBpbmRleCkKIApAQCAtMTcwLDcgKzE5NCw3IEBACiAgICAqaW5kZXgqIGlzIGFuIGludGVnZXIgdGhhdCBpZGVudGlmaWVzIHRoZSBpbmRleCBvZiB0aGUgdmFsdWUgdG8gcmV0cmlldmUuCiAKICAgIFRoZSBmdW5jdGlvbiByZXRyaWV2ZXMgdGhlIG5hbWUgb2Ygb25lIHN1YmtleSBlYWNoIHRpbWUgaXQgaXMgY2FsbGVkLiBJdCBpcwotICAgdHlwaWNhbGx5IGNhbGxlZCByZXBlYXRlZGx5LCB1bnRpbCBhIDpleGM6YFdpbmRvd3NFcnJvcmAgZXhjZXB0aW9uIGlzCisgICB0eXBpY2FsbHkgY2FsbGVkIHJlcGVhdGVkbHksIHVudGlsIGEgOmV4YzpgT1NFcnJvcmAgZXhjZXB0aW9uIGlzCiAgICByYWlzZWQsIGluZGljYXRpbmcgbm8gbW9yZSB2YWx1ZXMuCiAKICAgIFRoZSByZXN1bHQgaXMgYSB0dXBsZSBvZiAzIGl0ZW1zOgpAQCAtMTg5LDYgKzIxMywxMCBAQAogICAgfCAgICAgICB8IDptZXRoOmBTZXRWYWx1ZUV4YCkgICAgICAgICAgICAgICAgICAgICAgICB8CiAgICArLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKIAorICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjMKKyAgICAgIFRoaXMgZnVuY3Rpb24gdXNlZCB0byByYWlzZSBhIDpleGM6YFdpbmRvd3NFcnJvcmAsIHdoaWNoIGlzIG5vdyBhbgorICAgICAgYWxpYXMgb2YgOmV4YzpgT1NFcnJvcmAuCisKIAogLi4gZnVuY3Rpb246OiBFeHBhbmRFbnZpcm9ubWVudFN0cmluZ3Moc3RyKQogCkBAIC0yNjAsMTAgKzI4OCwxNCBAQAogCiAgICBUaGUgcmVzdWx0IGlzIGEgbmV3IGhhbmRsZSB0byB0aGUgc3BlY2lmaWVkIGtleS4KIAotICAgSWYgdGhlIGZ1bmN0aW9uIGZhaWxzLCA6ZXhjOmBXaW5kb3dzRXJyb3JgIGlzIHJhaXNlZC4KKyAgIElmIHRoZSBmdW5jdGlvbiBmYWlscywgOmV4YzpgT1NFcnJvcmAgaXMgcmFpc2VkLgogCiAgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMiBBbGxvdyB0aGUgdXNlIG9mIG5hbWVkIGFyZ3VtZW50cy4KIAorICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjMKKyAgICAgIFRoaXMgZnVuY3Rpb24gdXNlZCB0byByYWlzZSBhIDpleGM6YFdpbmRvd3NFcnJvcmAsIHdoaWNoIGlzIG5vdyBhbgorICAgICAgYWxpYXMgb2YgOmV4YzpgT1NFcnJvcmAuCisKIAogLi4gZnVuY3Rpb246OiBPcGVuS2V5RXgoKQogCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS94bWwuZXRyZWUuZWxlbWVudHRyZWUucnN0IGIvRG9jL2xpYnJhcnkveG1sLmV0cmVlLmVsZW1lbnR0cmVlLnJzdAppbmRleCBjNWM4ODAyLi42ZmU4MWM5IDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS94bWwuZXRyZWUuZWxlbWVudHRyZWUucnN0CisrKyBiL0RvYy9saWJyYXJ5L3htbC5ldHJlZS5lbGVtZW50dHJlZS5yc3QKQEAgLTMyLDE3ICszMiwxOCBAQAogVGhlIDpjbGFzczpgRWxlbWVudFRyZWVgIGNsYXNzIGNhbiBiZSB1c2VkIHRvIHdyYXAgYW4gZWxlbWVudCBzdHJ1Y3R1cmUsIGFuZAogY29udmVydCBpdCBmcm9tIGFuZCB0byBYTUwuCiAKLUEgQyBpbXBsZW1lbnRhdGlvbiBvZiB0aGlzIEFQSSBpcyBhdmFpbGFibGUgYXMgOm1vZDpgeG1sLmV0cmVlLmNFbGVtZW50VHJlZWAuCi0KIFNlZSBodHRwOi8vZWZmYm90Lm9yZy96b25lL2VsZW1lbnQtaW5kZXguaHRtIGZvciB0dXRvcmlhbHMgYW5kIGxpbmtzIHRvIG90aGVyCi1kb2NzLiAgRnJlZHJpayBMdW5kaCdzIHBhZ2UgaXMgYWxzbyB0aGUgbG9jYXRpb24gb2YgdGhlIGRldmVsb3BtZW50IHZlcnNpb24gb2YKLXRoZSB4bWwuZXRyZWUuRWxlbWVudFRyZWUuCitkb2NzLgogCiAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMgogICAgVGhlIEVsZW1lbnRUcmVlIEFQSSBpcyB1cGRhdGVkIHRvIDEuMy4gIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUKICAgIGBJbnRyb2R1Y2luZyBFbGVtZW50VHJlZSAxLjMKICAgIDxodHRwOi8vZWZmYm90Lm9yZy96b25lL2VsZW1lbnR0cmVlLTEzLWludHJvLmh0bT5gXy4KIAorLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjMKKyAgIFRoaXMgbW9kdWxlIHdpbGwgdXNlIGEgZmFzdCBpbXBsZW1lbnRhdGlvbiB3aGVuZXZlciBhdmFpbGFibGUuCisgICBUaGUgOm1vZDpgeG1sLmV0cmVlLmNFbGVtZW50VHJlZWAgbW9kdWxlIGlzIGRlcHJlY2F0ZWQuCisKIAogLi4gX2VsZW1lbnR0cmVlLWZ1bmN0aW9uczoKIApAQCAtMjAwLDcgKzIwMSw2IEBACiBFbGVtZW50IE9iamVjdHMKIC0tLS0tLS0tLS0tLS0tLQogCi0KIC4uIGNsYXNzOjogRWxlbWVudCh0YWcsIGF0dHJpYj17fSwgKipleHRyYSkKIAogICAgRWxlbWVudCBjbGFzcy4gIFRoaXMgY2xhc3MgZGVmaW5lcyB0aGUgRWxlbWVudCBpbnRlcmZhY2UsIGFuZCBwcm92aWRlcyBhCkBAIC02NDUsNiArNjQ1LDI0IEBACiAgICAgPj4+IHBhcnNlci5jbG9zZSgpCiAgICAgNAogCitFeGNlcHRpb25zCistLS0tLS0tLS0tCisKKy4uIGNsYXNzOjogUGFyc2VFcnJvcgorCisgICBYTUwgcGFyc2UgZXJyb3IsIHJhaXNlZCBieSB0aGUgdmFyaW91cyBwYXJzaW5nIG1ldGhvZHMgaW4gdGhpcyBtb2R1bGUgd2hlbgorICAgcGFyc2luZyBmYWlscy4gIFRoZSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgYW4gaW5zdGFuY2Ugb2YgdGhpcyBleGNlcHRpb24KKyAgIHdpbGwgY29udGFpbiBhIHVzZXItZnJpZW5kbHkgZXJyb3IgbWVzc2FnZS4gIEluIGFkZGl0aW9uLCBpdCB3aWxsIGhhdmUKKyAgIHRoZSBmb2xsb3dpbmcgYXR0cmlidXRlcyBhdmFpbGFibGU6CisKKyAgIC4uIGF0dHJpYnV0ZTo6IGNvZGUKKworICAgICAgQSBudW1lcmljIGVycm9yIGNvZGUgZnJvbSB0aGUgZXhwYXQgcGFyc2VyLiBTZWUgdGhlIGRvY3VtZW50YXRpb24gb2YKKyAgICAgIDptb2Q6YHhtbC5wYXJzZXJzLmV4cGF0YCBmb3IgdGhlIGxpc3Qgb2YgZXJyb3IgY29kZXMgYW5kIHRoZWlyIG1lYW5pbmdzLgorCisgICAuLiBhdHRyaWJ1dGU6OiBwb3NpdGlvbgorCisgICAgICBBIHR1cGxlIG9mICpsaW5lKiwgKmNvbHVtbiogbnVtYmVycywgc3BlY2lmeWluZyB3aGVyZSB0aGUgZXJyb3Igb2NjdXJyZWQuCiAKIC4uIHJ1YnJpYzo6IEZvb3Rub3RlcwogCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS94bWxycGMuY2xpZW50LnJzdCBiL0RvYy9saWJyYXJ5L3htbHJwYy5jbGllbnQucnN0CmluZGV4IGU3Mjc3MGEuLjE4NzFjOTkgMTAwNjQ0Ci0tLSBhL0RvYy9saWJyYXJ5L3htbHJwYy5jbGllbnQucnN0CisrKyBiL0RvYy9saWJyYXJ5L3htbHJwYy5jbGllbnQucnN0CkBAIC04LDcgKzgsNyBAQAogCiAKIC4uIFhYWCBOb3QgZXZlcnl0aGluZyBpcyBkb2N1bWVudGVkIHlldC4gIEl0IG1pZ2h0IGJlIGdvb2QgdG8gZGVzY3JpYmUKLSAgIE1hcnNoYWxsZXIsIFVubWFyc2hhbGxlciwgZ2V0cGFyc2VyLCBkdW1wcywgbG9hZHMsIGFuZCBUcmFuc3BvcnQuCisgICBNYXJzaGFsbGVyLCBVbm1hcnNoYWxsZXIsIGdldHBhcnNlciBhbmQgVHJhbnNwb3J0LgogCiAqKlNvdXJjZSBjb2RlOioqIDpzb3VyY2U6YExpYi94bWxycGMvY2xpZW50LnB5YAogCkBAIC0yMSw3ICsyMSwxMiBAQAogYmV0d2VlbiBjb25mb3JtYWJsZSBQeXRob24gb2JqZWN0cyBhbmQgWE1MIG9uIHRoZSB3aXJlLgogCiAKLS4uIGNsYXNzOjogU2VydmVyUHJveHkodXJpLCB0cmFuc3BvcnQ9Tm9uZSwgZW5jb2Rpbmc9Tm9uZSwgdmVyYm9zZT1GYWxzZSwgYWxsb3dfbm9uZT1GYWxzZSwgdXNlX2RhdGV0aW1lPUZhbHNlKQorLi4gY2xhc3M6OiBTZXJ2ZXJQcm94eSh1cmksIHRyYW5zcG9ydD1Ob25lLCBlbmNvZGluZz1Ob25lLCB2ZXJib3NlPUZhbHNlLCBcCisgICAgICAgICAgICAgICAgICAgICAgIGFsbG93X25vbmU9RmFsc2UsIHVzZV9kYXRldGltZT1GYWxzZSwgXAorICAgICAgICAgICAgICAgICAgICAgICB1c2VfYnVpbHRpbl90eXBlcz1GYWxzZSkKKworICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjMKKyAgICAgIFRoZSAqdXNlX2J1aWx0aW5fdHlwZXMqIGZsYWcgd2FzIGFkZGVkLgogCiAgICBBIDpjbGFzczpgU2VydmVyUHJveHlgIGluc3RhbmNlIGlzIGFuIG9iamVjdCB0aGF0IG1hbmFnZXMgY29tbXVuaWNhdGlvbiB3aXRoIGEKICAgIHJlbW90ZSBYTUwtUlBDIHNlcnZlci4gIFRoZSByZXF1aXJlZCBmaXJzdCBhcmd1bWVudCBpcyBhIFVSSSAoVW5pZm9ybSBSZXNvdXJjZQpAQCAtMzQsOSArMzksMTMgQEAKICAgIFhNTDsgdGhlIGRlZmF1bHQgYmVoYXZpb3VyIGlzIGZvciBgYE5vbmVgYCB0byByYWlzZSBhIDpleGM6YFR5cGVFcnJvcmAuIFRoaXMgaXMKICAgIGEgY29tbW9ubHktdXNlZCBleHRlbnNpb24gdG8gdGhlIFhNTC1SUEMgc3BlY2lmaWNhdGlvbiwgYnV0IGlzbid0IHN1cHBvcnRlZCBieQogICAgYWxsIGNsaWVudHMgYW5kIHNlcnZlcnM7IHNlZSBodHRwOi8vb250b3N5cy5jb20veG1sLXJwYy9leHRlbnNpb25zLnBocCBmb3IgYQotICAgZGVzY3JpcHRpb24uICBUaGUgKnVzZV9kYXRldGltZSogZmxhZyBjYW4gYmUgdXNlZCB0byBjYXVzZSBkYXRlL3RpbWUgdmFsdWVzIHRvCi0gICBiZSBwcmVzZW50ZWQgYXMgOmNsYXNzOmBkYXRldGltZS5kYXRldGltZWAgb2JqZWN0czsgdGhpcyBpcyBmYWxzZSBieSBkZWZhdWx0LgotICAgOmNsYXNzOmBkYXRldGltZS5kYXRldGltZWAgb2JqZWN0cyBtYXkgYmUgcGFzc2VkIHRvIGNhbGxzLgorICAgZGVzY3JpcHRpb24uICBUaGUgKnVzZV9idWlsdGluX3R5cGVzKiBmbGFnIGNhbiBiZSB1c2VkIHRvIGNhdXNlIGRhdGUvdGltZSB2YWx1ZXMKKyAgIHRvIGJlIHByZXNlbnRlZCBhcyA6Y2xhc3M6YGRhdGV0aW1lLmRhdGV0aW1lYCBvYmplY3RzIGFuZCBiaW5hcnkgZGF0YSB0byBiZQorICAgcHJlc2VudGVkIGFzIDpjbGFzczpgYnl0ZXNgIG9iamVjdHM7IHRoaXMgZmxhZyBpcyBmYWxzZSBieSBkZWZhdWx0LgorICAgOmNsYXNzOmBkYXRldGltZS5kYXRldGltZWAgYW5kIDpjbGFzczpgYnl0ZXNgIG9iamVjdHMgbWF5IGJlIHBhc3NlZCB0byBjYWxscy4KKworICAgVGhlIG9ic29sZXRlICp1c2VfZGF0ZXRpbWUqIGZsYWcgaXMgc2ltaWxhciB0byAqdXNlX2J1aWx0aW5fdHlwZXMqIGJ1dCBpdAorICAgYXBwbGllcyBvbmx5IHRvIGRhdGUvdGltZSB2YWx1ZXMuCiAKICAgIEJvdGggdGhlIEhUVFAgYW5kIEhUVFBTIHRyYW5zcG9ydHMgc3VwcG9ydCB0aGUgVVJMIHN5bnRheCBleHRlbnNpb24gZm9yIEhUVFAKICAgIEJhc2ljIEF1dGhlbnRpY2F0aW9uOiBgYGh0dHA6Ly91c2VyOnBhc3NAaG9zdDpwb3J0L3BhdGhgYC4gIFRoZSAgYGB1c2VyOnBhc3NgYApAQCAtNzgsMTIgKzg3LDEyIEBACiAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBvbmx5IHRoZWlyICpfX2RpY3RfXyogYXR0cmlidXRlIGlzICAgICAgICAgIHwKICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IHRyYW5zbWl0dGVkLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAogICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCi0gICB8IDpjb25zdDpgZGF0ZXNgICAgICAgICAgICAgICAgICAgfCBpbiBzZWNvbmRzIHNpbmNlIHRoZSBlcG9jaCAocGFzcyBpbiBhbiAgICAgIHwKLSAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGluc3RhbmNlIG9mIHRoZSA6Y2xhc3M6YERhdGVUaW1lYCBjbGFzcykgb3IgfAorICAgfCA6Y29uc3Q6YGRhdGVzYCAgICAgICAgICAgICAgICAgIHwgSW4gc2Vjb25kcyBzaW5jZSB0aGUgZXBvY2guICBQYXNzIGluIGFuICAgICB8CisgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBpbnN0YW5jZSBvZiB0aGUgOmNsYXNzOmBEYXRlVGltZWAgY2xhc3Mgb3IgIHwKICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGEgOmNsYXNzOmBkYXRldGltZS5kYXRldGltZWAgaW5zdGFuY2UuICAgICAgfAogICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCi0gICB8IDpjb25zdDpgYmluYXJ5IGRhdGFgICAgICAgICAgICAgfCBwYXNzIGluIGFuIGluc3RhbmNlIG9mIHRoZSA6Y2xhc3M6YEJpbmFyeWAgIHwKLSAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IHdyYXBwZXIgY2xhc3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgfCA6Y29uc3Q6YGJpbmFyeSBkYXRhYCAgICAgICAgICAgIHwgUGFzcyBpbiBhbiBpbnN0YW5jZSBvZiB0aGUgOmNsYXNzOmBCaW5hcnlgICB8CisgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCB3cmFwcGVyIGNsYXNzIG9yIGEgOmNsYXNzOmBieXRlc2AgaW5zdGFuY2UuIHwKICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwogCiAgICBUaGlzIGlzIHRoZSBmdWxsIHNldCBvZiBkYXRhIHR5cGVzIHN1cHBvcnRlZCBieSBYTUwtUlBDLiAgTWV0aG9kIGNhbGxzIG1heSBhbHNvCkBAIC05OCw4ICsxMDcsOSBAQAogICAgZW5zdXJlIHRoYXQgdGhlIHN0cmluZyBpcyBmcmVlIG9mIGNoYXJhY3RlcnMgdGhhdCBhcmVuJ3QgYWxsb3dlZCBpbiBYTUwsIHN1Y2ggYXMKICAgIHRoZSBjb250cm9sIGNoYXJhY3RlcnMgd2l0aCBBU0NJSSB2YWx1ZXMgYmV0d2VlbiAwIGFuZCAzMSAoZXhjZXB0LCBvZiBjb3Vyc2UsCiAgICB0YWIsIG5ld2xpbmUgYW5kIGNhcnJpYWdlIHJldHVybik7IGZhaWxpbmcgdG8gZG8gdGhpcyB3aWxsIHJlc3VsdCBpbiBhbiBYTUwtUlBDCi0gICByZXF1ZXN0IHRoYXQgaXNuJ3Qgd2VsbC1mb3JtZWQgWE1MLiAgSWYgeW91IGhhdmUgdG8gcGFzcyBhcmJpdHJhcnkgc3RyaW5ncyB2aWEKLSAgIFhNTC1SUEMsIHVzZSB0aGUgOmNsYXNzOmBCaW5hcnlgIHdyYXBwZXIgY2xhc3MgZGVzY3JpYmVkIGJlbG93LgorICAgcmVxdWVzdCB0aGF0IGlzbid0IHdlbGwtZm9ybWVkIFhNTC4gIElmIHlvdSBoYXZlIHRvIHBhc3MgYXJiaXRyYXJ5IGJ5dGVzCisgICB2aWEgWE1MLVJQQywgdXNlIHRoZSA6Y2xhc3M6YGJ5dGVzYCBjbGFzcyBvciB0aGUgY2xhc3M6YEJpbmFyeWAgd3JhcHBlciBjbGFzcworICAgZGVzY3JpYmVkIGJlbG93LgogCiAgICA6Y2xhc3M6YFNlcnZlcmAgaXMgcmV0YWluZWQgYXMgYW4gYWxpYXMgZm9yIDpjbGFzczpgU2VydmVyUHJveHlgIGZvciBiYWNrd2FyZHMKICAgIGNvbXBhdGliaWxpdHkuICBOZXcgY29kZSBzaG91bGQgdXNlIDpjbGFzczpgU2VydmVyUHJveHlgLgpAQCAtMjQ5LDcgKzI1OSw3IEBACiBCaW5hcnkgT2JqZWN0cwogLS0tLS0tLS0tLS0tLS0KIAotVGhpcyBjbGFzcyBtYXkgYmUgaW5pdGlhbGl6ZWQgZnJvbSBzdHJpbmcgZGF0YSAod2hpY2ggbWF5IGluY2x1ZGUgTlVMcykuIFRoZQorVGhpcyBjbGFzcyBtYXkgYmUgaW5pdGlhbGl6ZWQgZnJvbSBieXRlcyBkYXRhICh3aGljaCBtYXkgaW5jbHVkZSBOVUxzKS4gVGhlCiBwcmltYXJ5IGFjY2VzcyB0byB0aGUgY29udGVudCBvZiBhIDpjbGFzczpgQmluYXJ5YCBvYmplY3QgaXMgcHJvdmlkZWQgYnkgYW4KIGF0dHJpYnV0ZToKIApAQCAtMjU3LDE1ICsyNjcsMTUgQEAKIC4uIGF0dHJpYnV0ZTo6IEJpbmFyeS5kYXRhCiAKICAgIFRoZSBiaW5hcnkgZGF0YSBlbmNhcHN1bGF0ZWQgYnkgdGhlIDpjbGFzczpgQmluYXJ5YCBpbnN0YW5jZS4gIFRoZSBkYXRhIGlzCi0gICBwcm92aWRlZCBhcyBhbiA4LWJpdCBzdHJpbmcuCisgICBwcm92aWRlZCBhcyBhIDpjbGFzczpgYnl0ZXNgIG9iamVjdC4KIAogOmNsYXNzOmBCaW5hcnlgIG9iamVjdHMgaGF2ZSB0aGUgZm9sbG93aW5nIG1ldGhvZHMsIHN1cHBvcnRlZCBtYWlubHkgZm9yCiBpbnRlcm5hbCB1c2UgYnkgdGhlIG1hcnNoYWxsaW5nL3VubWFyc2hhbGxpbmcgY29kZToKIAogCi0uLiBtZXRob2Q6OiBCaW5hcnkuZGVjb2RlKHN0cmluZykKKy4uIG1ldGhvZDo6IEJpbmFyeS5kZWNvZGUoYnl0ZXMpCiAKLSAgIEFjY2VwdCBhIGJhc2U2NCBzdHJpbmcgYW5kIGRlY29kZSBpdCBhcyB0aGUgaW5zdGFuY2UncyBuZXcgZGF0YS4KKyAgIEFjY2VwdCBhIGJhc2U2NCA6Y2xhc3M6YGJ5dGVzYCBvYmplY3QgYW5kIGRlY29kZSBpdCBhcyB0aGUgaW5zdGFuY2UncyBuZXcgZGF0YS4KIAogCiAuLiBtZXRob2Q6OiBCaW5hcnkuZW5jb2RlKG91dCkKQEAgLTQ3MSwxNCArNDgxLDIxIEBACiAgICBpdCB2aWEgYW4gZXh0ZW5zaW9uLCAgcHJvdmlkZSBhIHRydWUgdmFsdWUgZm9yICphbGxvd19ub25lKi4KIAogCi0uLiBmdW5jdGlvbjo6IGxvYWRzKGRhdGEsIHVzZV9kYXRldGltZT1GYWxzZSkKKy4uIGZ1bmN0aW9uOjogbG9hZHMoZGF0YSwgdXNlX2RhdGV0aW1lPUZhbHNlLCB1c2VfYnVpbHRpbl90eXBlcz1GYWxzZSkKIAogICAgQ29udmVydCBhbiBYTUwtUlBDIHJlcXVlc3Qgb3IgcmVzcG9uc2UgaW50byBQeXRob24gb2JqZWN0cywgYSBgYChwYXJhbXMsCiAgICBtZXRob2RuYW1lKWBgLiAgKnBhcmFtcyogaXMgYSB0dXBsZSBvZiBhcmd1bWVudDsgKm1ldGhvZG5hbWUqIGlzIGEgc3RyaW5nLCBvcgogICAgYGBOb25lYGAgaWYgbm8gbWV0aG9kIG5hbWUgaXMgcHJlc2VudCBpbiB0aGUgcGFja2V0LiBJZiB0aGUgWE1MLVJQQyBwYWNrZXQKICAgIHJlcHJlc2VudHMgYSBmYXVsdCBjb25kaXRpb24sIHRoaXMgZnVuY3Rpb24gd2lsbCByYWlzZSBhIDpleGM6YEZhdWx0YCBleGNlcHRpb24uCi0gICBUaGUgKnVzZV9kYXRldGltZSogZmxhZyBjYW4gYmUgdXNlZCB0byBjYXVzZSBkYXRlL3RpbWUgdmFsdWVzIHRvIGJlIHByZXNlbnRlZCBhcwotICAgOmNsYXNzOmBkYXRldGltZS5kYXRldGltZWAgb2JqZWN0czsgdGhpcyBpcyBmYWxzZSBieSBkZWZhdWx0LgorICAgVGhlICp1c2VfYnVpbHRpbl90eXBlcyogZmxhZyBjYW4gYmUgdXNlZCB0byBjYXVzZSBkYXRlL3RpbWUgdmFsdWVzIHRvIGJlCisgICBwcmVzZW50ZWQgYXMgOmNsYXNzOmBkYXRldGltZS5kYXRldGltZWAgb2JqZWN0cyBhbmQgYmluYXJ5IGRhdGEgdG8gYmUKKyAgIHByZXNlbnRlZCBhcyA6Y2xhc3M6YGJ5dGVzYCBvYmplY3RzOyB0aGlzIGZsYWcgaXMgZmFsc2UgYnkgZGVmYXVsdC4KKworICAgVGhlIG9ic29sZXRlICp1c2VfZGF0ZXRpbWUqIGZsYWcgaXMgc2ltaWxhciB0byAqdXNlX2J1aWx0aW5fdHlwZXMqIGJ1dCBpdAorICAgYXBwbGllcyBvbmx5IHRvIGRhdGUvdGltZSB2YWx1ZXMuCisKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy4zCisgICAgICBUaGUgKnVzZV9idWlsdGluX3R5cGVzKiBmbGFnIHdhcyBhZGRlZC4KIAogCiAuLiBfeG1scnBjLWNsaWVudC1leGFtcGxlOgpkaWZmIC0tZ2l0IGEvRG9jL2xpYnJhcnkveG1scnBjLnNlcnZlci5yc3QgYi9Eb2MvbGlicmFyeS94bWxycGMuc2VydmVyLnJzdAppbmRleCA2N2ZlYmE2Li42NDkzZmQ0IDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS94bWxycGMuc2VydmVyLnJzdAorKysgYi9Eb2MvbGlicmFyeS94bWxycGMuc2VydmVyLnJzdApAQCAtMTYsNyArMTYsOSBAQAogOmNsYXNzOmBDR0lYTUxSUENSZXF1ZXN0SGFuZGxlcmAuCiAKIAotLi4gY2xhc3M6OiBTaW1wbGVYTUxSUENTZXJ2ZXIoYWRkciwgcmVxdWVzdEhhbmRsZXI9U2ltcGxlWE1MUlBDUmVxdWVzdEhhbmRsZXIsIGxvZ1JlcXVlc3RzPVRydWUsIGFsbG93X25vbmU9RmFsc2UsIGVuY29kaW5nPU5vbmUsIGJpbmRfYW5kX2FjdGl2YXRlPVRydWUpCisuLiBjbGFzczo6IFNpbXBsZVhNTFJQQ1NlcnZlcihhZGRyLCByZXF1ZXN0SGFuZGxlcj1TaW1wbGVYTUxSUENSZXF1ZXN0SGFuZGxlcixcCisgICAgICAgICAgICAgICBsb2dSZXF1ZXN0cz1UcnVlLCBhbGxvd19ub25lPUZhbHNlLCBlbmNvZGluZz1Ob25lLFwKKyAgICAgICAgICAgICAgIGJpbmRfYW5kX2FjdGl2YXRlPVRydWUsIHVzZV9idWlsdGluX3R5cGVzPUZhbHNlKQogCiAgICBDcmVhdGUgYSBuZXcgc2VydmVyIGluc3RhbmNlLiAgVGhpcyBjbGFzcyBwcm92aWRlcyBtZXRob2RzIGZvciByZWdpc3RyYXRpb24gb2YKICAgIGZ1bmN0aW9ucyB0aGF0IGNhbiBiZSBjYWxsZWQgYnkgdGhlIFhNTC1SUEMgcHJvdG9jb2wuICBUaGUgKnJlcXVlc3RIYW5kbGVyKgpAQCAtMjUsMTggKzI3LDMxIEBACiAgICBhcmUgcGFzc2VkIHRvIHRoZSA6Y2xhc3M6YHNvY2tldHNlcnZlci5UQ1BTZXJ2ZXJgIGNvbnN0cnVjdG9yLiAgSWYgKmxvZ1JlcXVlc3RzKgogICAgaXMgdHJ1ZSAodGhlIGRlZmF1bHQpLCByZXF1ZXN0cyB3aWxsIGJlIGxvZ2dlZDsgc2V0dGluZyB0aGlzIHBhcmFtZXRlciB0byBmYWxzZQogICAgd2lsbCB0dXJuIG9mZiBsb2dnaW5nLiAgIFRoZSAqYWxsb3dfbm9uZSogYW5kICplbmNvZGluZyogcGFyYW1ldGVycyBhcmUgcGFzc2VkCi0gICBvbiB0byAgOm1vZDpgeG1scnBjLmNsaWVudGAgYW5kIGNvbnRyb2wgdGhlIFhNTC1SUEMgcmVzcG9uc2VzIHRoYXQgd2lsbCBiZSByZXR1cm5lZAorICAgb24gdG8gOm1vZDpgeG1scnBjLmNsaWVudGAgYW5kIGNvbnRyb2wgdGhlIFhNTC1SUEMgcmVzcG9uc2VzIHRoYXQgd2lsbCBiZSByZXR1cm5lZAogICAgZnJvbSB0aGUgc2VydmVyLiBUaGUgKmJpbmRfYW5kX2FjdGl2YXRlKiBwYXJhbWV0ZXIgY29udHJvbHMgd2hldGhlcgogICAgOm1ldGg6YHNlcnZlcl9iaW5kYCBhbmQgOm1ldGg6YHNlcnZlcl9hY3RpdmF0ZWAgYXJlIGNhbGxlZCBpbW1lZGlhdGVseSBieSB0aGUKICAgIGNvbnN0cnVjdG9yOyBpdCBkZWZhdWx0cyB0byB0cnVlLiBTZXR0aW5nIGl0IHRvIGZhbHNlIGFsbG93cyBjb2RlIHRvIG1hbmlwdWxhdGUKICAgIHRoZSAqYWxsb3dfcmV1c2VfYWRkcmVzcyogY2xhc3MgdmFyaWFibGUgYmVmb3JlIHRoZSBhZGRyZXNzIGlzIGJvdW5kLgorICAgVGhlICp1c2VfYnVpbHRpbl90eXBlcyogcGFyYW1ldGVyIGlzIHBhc3NlZCB0byB0aGUKKyAgIDpmdW5jOmB+eG1scnBjLmNsaWVudC5sb2Fkc2AgZnVuY3Rpb24gYW5kIGNvbnRyb2xzIHdoaWNoIHR5cGVzIGFyZSBwcm9jZXNzZWQKKyAgIHdoZW4gZGF0ZS90aW1lcyB2YWx1ZXMgb3IgYmluYXJ5IGRhdGEgYXJlIHJlY2VpdmVkOyBpdCBkZWZhdWx0cyB0byBmYWxzZS4KKworICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjMKKyAgICAgIFRoZSAqdXNlX2J1aWx0aW5fdHlwZXMqIGZsYWcgd2FzIGFkZGVkLgogCiAKLS4uIGNsYXNzOjogQ0dJWE1MUlBDUmVxdWVzdEhhbmRsZXIoYWxsb3dfbm9uZT1GYWxzZSwgZW5jb2Rpbmc9Tm9uZSkKKy4uIGNsYXNzOjogQ0dJWE1MUlBDUmVxdWVzdEhhbmRsZXIoYWxsb3dfbm9uZT1GYWxzZSwgZW5jb2Rpbmc9Tm9uZSxcCisgICAgICAgICAgICAgICB1c2VfYnVpbHRpbl90eXBlcz1GYWxzZSkKIAogICAgQ3JlYXRlIGEgbmV3IGluc3RhbmNlIHRvIGhhbmRsZSBYTUwtUlBDIHJlcXVlc3RzIGluIGEgQ0dJIGVudmlyb25tZW50LiAgVGhlCiAgICAqYWxsb3dfbm9uZSogYW5kICplbmNvZGluZyogcGFyYW1ldGVycyBhcmUgcGFzc2VkIG9uIHRvIDptb2Q6YHhtbHJwYy5jbGllbnRgCiAgICBhbmQgY29udHJvbCB0aGUgWE1MLVJQQyByZXNwb25zZXMgdGhhdCB3aWxsIGJlIHJldHVybmVkIGZyb20gdGhlIHNlcnZlci4KKyAgIFRoZSAqdXNlX2J1aWx0aW5fdHlwZXMqIHBhcmFtZXRlciBpcyBwYXNzZWQgdG8gdGhlCisgICA6ZnVuYzpgfnhtbHJwYy5jbGllbnQubG9hZHNgIGZ1bmN0aW9uIGFuZCBjb250cm9scyB3aGljaCB0eXBlcyBhcmUgcHJvY2Vzc2VkCisgICB3aGVuIGRhdGUvdGltZXMgdmFsdWVzIG9yIGJpbmFyeSBkYXRhIGFyZSByZWNlaXZlZDsgaXQgZGVmYXVsdHMgdG8gZmFsc2UuCisKKyAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy4zCisgICAgICBUaGUgKnVzZV9idWlsdGluX3R5cGVzKiBmbGFnIHdhcyBhZGRlZC4KIAogCiAuLiBjbGFzczo6IFNpbXBsZVhNTFJQQ1JlcXVlc3RIYW5kbGVyKCkKQEAgLTIzMywxMiArMjQ4LDE3IEBACiA6Y2xhc3M6YERvY0NHSVhNTFJQQ1JlcXVlc3RIYW5kbGVyYC4KIAogCi0uLiBjbGFzczo6IERvY1hNTFJQQ1NlcnZlcihhZGRyLCByZXF1ZXN0SGFuZGxlcj1Eb2NYTUxSUENSZXF1ZXN0SGFuZGxlciwgbG9nUmVxdWVzdHM9VHJ1ZSwgYWxsb3dfbm9uZT1GYWxzZSwgZW5jb2Rpbmc9Tm9uZSwgYmluZF9hbmRfYWN0aXZhdGU9VHJ1ZSkKKy4uIGNsYXNzOjogRG9jWE1MUlBDU2VydmVyKGFkZHIsIHJlcXVlc3RIYW5kbGVyPURvY1hNTFJQQ1JlcXVlc3RIYW5kbGVyLFwKKyAgICAgICAgICAgICAgIGxvZ1JlcXVlc3RzPVRydWUsIGFsbG93X25vbmU9RmFsc2UsIGVuY29kaW5nPU5vbmUsXAorICAgICAgICAgICAgICAgYmluZF9hbmRfYWN0aXZhdGU9VHJ1ZSwgdXNlX2J1aWx0aW5fdHlwZXM9VHJ1ZSkKIAogICAgQ3JlYXRlIGEgbmV3IHNlcnZlciBpbnN0YW5jZS4gQWxsIHBhcmFtZXRlcnMgaGF2ZSB0aGUgc2FtZSBtZWFuaW5nIGFzIGZvcgogICAgOmNsYXNzOmBTaW1wbGVYTUxSUENTZXJ2ZXJgOyAqcmVxdWVzdEhhbmRsZXIqIGRlZmF1bHRzIHRvCiAgICA6Y2xhc3M6YERvY1hNTFJQQ1JlcXVlc3RIYW5kbGVyYC4KIAorICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjMKKyAgICAgIFRoZSAqdXNlX2J1aWx0aW5fdHlwZXMqIGZsYWcgd2FzIGFkZGVkLgorCiAKIC4uIGNsYXNzOjogRG9jQ0dJWE1MUlBDUmVxdWVzdEhhbmRsZXIoKQogCmRpZmYgLS1naXQgYS9Eb2MvbGlicmFyeS96aXBpbXBvcnQucnN0IGIvRG9jL2xpYnJhcnkvemlwaW1wb3J0LnJzdAppbmRleCA0ZjE3MDkyLi5iNDdjMzViIDEwMDY0NAotLS0gYS9Eb2MvbGlicmFyeS96aXBpbXBvcnQucnN0CisrKyBiL0RvYy9saWJyYXJ5L3ppcGltcG9ydC5yc3QKQEAgLTg1LDkgKzg1LDEyIEBACiAKICAgIC4uIG1ldGhvZDo6IGdldF9kYXRhKHBhdGhuYW1lKQogCi0gICAgICBSZXR1cm4gdGhlIGRhdGEgYXNzb2NpYXRlZCB3aXRoICpwYXRobmFtZSouIFJhaXNlIDpleGM6YElPRXJyb3JgIGlmIHRoZQorICAgICAgUmV0dXJuIHRoZSBkYXRhIGFzc29jaWF0ZWQgd2l0aCAqcGF0aG5hbWUqLiBSYWlzZSA6ZXhjOmBPU0Vycm9yYCBpZiB0aGUKICAgICAgIGZpbGUgd2Fzbid0IGZvdW5kLgogCisgICAgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMworICAgICAgICAgOmV4YzpgSU9FcnJvcmAgdXNlZCB0byBiZSByYWlzZWQgaW5zdGVhZCBvZiA6ZXhjOmBPU0Vycm9yYC4KKwogCiAgICAuLiBtZXRob2Q6OiBnZXRfZmlsZW5hbWUoZnVsbG5hbWUpCiAKZGlmZiAtLWdpdCBhL0RvYy9saWJyYXJ5L3psaWIucnN0IGIvRG9jL2xpYnJhcnkvemxpYi5yc3QKaW5kZXggODk3ZDkxOS4uMWU5YTJiYyAxMDA2NDQKLS0tIGEvRG9jL2xpYnJhcnkvemxpYi5yc3QKKysrIGIvRG9jL2xpYnJhcnkvemxpYi5yc3QKQEAgLTEyMCw2ICsxMjAsNyBAQAogICAgd29uJ3QgZml0IGludG8gbWVtb3J5IGF0IG9uY2UuICBUaGUgKndiaXRzKiBwYXJhbWV0ZXIgY29udHJvbHMgdGhlIHNpemUgb2YgdGhlCiAgICB3aW5kb3cgYnVmZmVyLgogCisKIENvbXByZXNzaW9uIG9iamVjdHMgc3VwcG9ydCB0aGUgZm9sbG93aW5nIG1ldGhvZHM6CiAKIApAQCAtMTUwLDcgKzE1MSw3IEBACiAgICBjb21wcmVzcyBhIHNldCBvZiBkYXRhIHRoYXQgc2hhcmUgYSBjb21tb24gaW5pdGlhbCBwcmVmaXguCiAKIAotRGVjb21wcmVzc2lvbiBvYmplY3RzIHN1cHBvcnQgdGhlIGZvbGxvd2luZyBtZXRob2RzLCBhbmQgdHdvIGF0dHJpYnV0ZXM6CitEZWNvbXByZXNzaW9uIG9iamVjdHMgc3VwcG9ydCB0aGUgZm9sbG93aW5nIG1ldGhvZHMgYW5kIGF0dHJpYnV0ZXM6CiAKIAogLi4gYXR0cmlidXRlOjogRGVjb21wcmVzcy51bnVzZWRfZGF0YQpAQCAtMTYwLDEzICsxNjEsNiBAQAogICAgYXZhaWxhYmxlLiAgSWYgdGhlIHdob2xlIGJ5dGVzdHJpbmcgdHVybmVkIG91dCB0byBjb250YWluIGNvbXByZXNzZWQgZGF0YSwgdGhpcyBpcwogICAgYGBiIiJgYCwgYW4gZW1wdHkgYnl0ZXMgb2JqZWN0LgogCi0gICBUaGUgb25seSB3YXkgdG8gZGV0ZXJtaW5lIHdoZXJlIGEgYnl0ZXN0cmluZyBvZiBjb21wcmVzc2VkIGRhdGEgZW5kcyBpcyBieSBhY3R1YWxseQotICAgZGVjb21wcmVzc2luZyBpdC4gIFRoaXMgbWVhbnMgdGhhdCB3aGVuIGNvbXByZXNzZWQgZGF0YSBpcyBjb250YWluZWQgcGFydCBvZiBhCi0gICBsYXJnZXIgZmlsZSwgeW91IGNhbiBvbmx5IGZpbmQgdGhlIGVuZCBvZiBpdCBieSByZWFkaW5nIGRhdGEgYW5kIGZlZWRpbmcgaXQKLSAgIGZvbGxvd2VkIGJ5IHNvbWUgbm9uLWVtcHR5IGJ5dGVzdHJpbmcgaW50byBhIGRlY29tcHJlc3Npb24gb2JqZWN0J3MKLSAgIDptZXRoOmBkZWNvbXByZXNzYCBtZXRob2QgdW50aWwgdGhlIDphdHRyOmB1bnVzZWRfZGF0YWAgYXR0cmlidXRlIGlzIG5vIGxvbmdlcgotICAgZW1wdHkuCi0KIAogLi4gYXR0cmlidXRlOjogRGVjb21wcmVzcy51bmNvbnN1bWVkX3RhaWwKIApAQCAtMTc3LDYgKzE3MSwxNyBAQAogICAgOm1ldGg6YGRlY29tcHJlc3NgIG1ldGhvZCBjYWxsIGluIG9yZGVyIHRvIGdldCBjb3JyZWN0IG91dHB1dC4KIAogCisuLiBhdHRyaWJ1dGU6OiBEZWNvbXByZXNzLmVvZgorCisgICBBIGJvb2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIHRoZSBlbmQgb2YgdGhlIGNvbXByZXNzZWQgZGF0YSBzdHJlYW0gaGFzIGJlZW4KKyAgIHJlYWNoZWQuCisKKyAgIFRoaXMgbWFrZXMgaXQgcG9zc2libGUgdG8gZGlzdGluZ3Vpc2ggYmV0d2VlbiBhIHByb3Blcmx5LWZvcm1lZCBjb21wcmVzc2VkCisgICBzdHJlYW0sIGFuZCBhbiBpbmNvbXBsZXRlIG9yIHRydW5jYXRlZCBvbmUuCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMworCisKIC4uIG1ldGhvZDo6IERlY29tcHJlc3MuZGVjb21wcmVzcyhkYXRhWywgbWF4X2xlbmd0aF0pCiAKICAgIERlY29tcHJlc3MgKmRhdGEqLCByZXR1cm5pbmcgYSBieXRlcyBvYmplY3QgY29udGFpbmluZyB0aGUgdW5jb21wcmVzc2VkIGRhdGEKQEAgLTIxMSw2ICsyMTYsMjQgQEAKICAgIHNlZWtzIGludG8gdGhlIHN0cmVhbSBhdCBhIGZ1dHVyZSBwb2ludC4KIAogCitJbmZvcm1hdGlvbiBhYm91dCB0aGUgdmVyc2lvbiBvZiB0aGUgemxpYiBsaWJyYXJ5IGluIHVzZSBpcyBhdmFpbGFibGUgdGhyb3VnaAordGhlIGZvbGxvd2luZyBjb25zdGFudHM6CisKKworLi4gZGF0YTo6IFpMSUJfVkVSU0lPTgorCisgICBUaGUgdmVyc2lvbiBzdHJpbmcgb2YgdGhlIHpsaWIgbGlicmFyeSB0aGF0IHdhcyB1c2VkIGZvciBidWlsZGluZyB0aGUgbW9kdWxlLgorICAgVGhpcyBtYXkgYmUgZGlmZmVyZW50IGZyb20gdGhlIHpsaWIgbGlicmFyeSBhY3R1YWxseSB1c2VkIGF0IHJ1bnRpbWUsIHdoaWNoCisgICBpcyBhdmFpbGFibGUgYXMgOmNvbnN0OmBaTElCX1JVTlRJTUVfVkVSU0lPTmAuCisKKworLi4gZGF0YTo6IFpMSUJfUlVOVElNRV9WRVJTSU9OCisKKyAgIFRoZSB2ZXJzaW9uIHN0cmluZyBvZiB0aGUgemxpYiBsaWJyYXJ5IGFjdHVhbGx5IGxvYWRlZCBieSB0aGUgaW50ZXJwcmV0ZXIuCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMworCisKIC4uIHNlZWFsc286OgogCiAgICBNb2R1bGUgOm1vZDpgZ3ppcGAKZGlmZiAtLWdpdCBhL0RvYy9saWNlbnNlLnJzdCBiL0RvYy9saWNlbnNlLnJzdAppbmRleCBjYjIwYzgzLi45ZDZlZjI0IDEwMDY0NAotLS0gYS9Eb2MvbGljZW5zZS5yc3QKKysrIGIvRG9jL2xpY2Vuc2UucnN0CkBAIC0xMTgsNyArMTE4LDcgQEAKICstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rCiB8IDMuMi4yICAgICAgICAgIHwgMy4yLjEgICAgICAgIHwgMjAxMSAgICAgICB8IFBTRiAgICAgICAgfCB5ZXMgICAgICAgICAgICAgfAogKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSsKLXwgMy4yLjMgICAgICAgICAgfCAzLjIuMiAgICAgICAgfCAyMDEyICAgICAgIHwgUFNGICAgICAgICB8IHllcyAgICAgICAgICAgICB8Cit8IDMuMy4wICAgICAgICAgIHwgMy4yICAgICAgICAgIHwgMjAxMiAgICAgICB8IFBTRiAgICAgICAgfCB5ZXMgICAgICAgICAgICAgfAogKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSsKIAogLi4gbm90ZTo6CmRpZmYgLS1naXQgYS9Eb2MvcGFja2FnaW5nL2J1aWx0ZGlzdC5yc3QgYi9Eb2MvcGFja2FnaW5nL2J1aWx0ZGlzdC5yc3QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWQ5YTM0OQotLS0gL2Rldi9udWxsCisrKyBiL0RvYy9wYWNrYWdpbmcvYnVpbHRkaXN0LnJzdApAQCAtMCwwICsxLDMwMiBAQAorLi4gX3BhY2thZ2luZy1idWlsdC1kaXN0OgorCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqCitDcmVhdGluZyBCdWlsdCBEaXN0cmlidXRpb25zCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisKK0EgImJ1aWx0IGRpc3RyaWJ1dGlvbiIgaXMgd2hhdCB5b3UncmUgcHJvYmFibHkgdXNlZCB0byB0aGlua2luZyBvZiBlaXRoZXIgYXMgYQorImJpbmFyeSBwYWNrYWdlIiBvciBhbiAiaW5zdGFsbGVyIiAoZGVwZW5kaW5nIG9uIHlvdXIgYmFja2dyb3VuZCkuICBJdCdzIG5vdAorbmVjZXNzYXJpbHkgYmluYXJ5LCB0aG91Z2gsIGJlY2F1c2UgaXQgbWlnaHQgY29udGFpbiBvbmx5IFB5dGhvbiBzb3VyY2UgY29kZQorYW5kL29yIGJ5dGUtY29kZTsgYW5kIHdlIGRvbid0IGNhbGwgaXQgYSBwYWNrYWdlLCBiZWNhdXNlIHRoYXQgd29yZCBpcyBhbHJlYWR5CitzcG9rZW4gZm9yIGluIFB5dGhvbi4gIChBbmQgImluc3RhbGxlciIgaXMgYSB0ZXJtIHNwZWNpZmljIHRvIHRoZSB3b3JsZCBvZgorbWFpbnN0cmVhbSBkZXNrdG9wIHN5c3RlbXMuKQorCitBIGJ1aWx0IGRpc3RyaWJ1dGlvbiBpcyBob3cgeW91IG1ha2UgbGlmZSBhcyBlYXN5IGFzIHBvc3NpYmxlIGZvciBpbnN0YWxsZXJzIG9mCit5b3VyIG1vZHVsZSBkaXN0cmlidXRpb246IGZvciB1c2VycyBvZiBSUE0tYmFzZWQgTGludXggc3lzdGVtcywgaXQncyBhIGJpbmFyeQorUlBNOyBmb3IgV2luZG93cyB1c2VycywgaXQncyBhbiBleGVjdXRhYmxlIGluc3RhbGxlcjsgZm9yIERlYmlhbi1iYXNlZCBMaW51eAordXNlcnMsIGl0J3MgYSBEZWJpYW4gcGFja2FnZTsgYW5kIHNvIGZvcnRoLiAgT2J2aW91c2x5LCBubyBvbmUgcGVyc29uIHdpbGwgYmUKK2FibGUgdG8gY3JlYXRlIGJ1aWx0IGRpc3RyaWJ1dGlvbnMgZm9yIGV2ZXJ5IHBsYXRmb3JtIHVuZGVyIHRoZSBzdW4sIHNvIHRoZQorRGlzdHV0aWxzIGFyZSBkZXNpZ25lZCB0byBlbmFibGUgbW9kdWxlIGRldmVsb3BlcnMgdG8gY29uY2VudHJhdGUgb24gdGhlaXIKK3NwZWNpYWx0eS0tLXdyaXRpbmcgY29kZSBhbmQgY3JlYXRpbmcgc291cmNlIGRpc3RyaWJ1dGlvbnMtLS13aGlsZSBhbgoraW50ZXJtZWRpYXJ5IHNwZWNpZXMgY2FsbGVkICpwYWNrYWdlcnMqIHNwcmluZ3MgdXAgdG8gdHVybiBzb3VyY2UgZGlzdHJpYnV0aW9ucworaW50byBidWlsdCBkaXN0cmlidXRpb25zIGZvciBhcyBtYW55IHBsYXRmb3JtcyBhcyB0aGVyZSBhcmUgcGFja2FnZXJzLgorCitPZiBjb3Vyc2UsIHRoZSBtb2R1bGUgZGV2ZWxvcGVyIGNvdWxkIGJlIGhpcyBvd24gcGFja2FnZXI7IG9yIHRoZSBwYWNrYWdlciBjb3VsZAorYmUgYSB2b2x1bnRlZXIgIm91dCB0aGVyZSIgc29tZXdoZXJlIHdobyBoYXMgYWNjZXNzIHRvIGEgcGxhdGZvcm0gd2hpY2ggdGhlCitvcmlnaW5hbCBkZXZlbG9wZXIgZG9lcyBub3Q7IG9yIGl0IGNvdWxkIGJlIHNvZnR3YXJlIHBlcmlvZGljYWxseSBncmFiYmluZyBuZXcKK3NvdXJjZSBkaXN0cmlidXRpb25zIGFuZCB0dXJuaW5nIHRoZW0gaW50byBidWlsdCBkaXN0cmlidXRpb25zIGZvciBhcyBtYW55CitwbGF0Zm9ybXMgYXMgdGhlIHNvZnR3YXJlIGhhcyBhY2Nlc3MgdG8uICBSZWdhcmRsZXNzIG9mIHdobyB0aGV5IGFyZSwgYSBwYWNrYWdlcgordXNlcyB0aGUgc2V0dXAgc2NyaXB0IGFuZCB0aGUgOmNvbW1hbmQ6YGJkaXN0YCBjb21tYW5kIGZhbWlseSB0byBnZW5lcmF0ZSBidWlsdAorZGlzdHJpYnV0aW9ucy4KKworQXMgYSBzaW1wbGUgZXhhbXBsZSwgaWYgSSBydW4gdGhlIGZvbGxvd2luZyBjb21tYW5kIGluIHRoZSBEaXN0dXRpbHMgc291cmNlCit0cmVlOjoKKworICAgcHl0aG9uIHNldHVwLnB5IGJkaXN0CisKK3RoZW4gdGhlIERpc3R1dGlscyBidWlsZHMgbXkgbW9kdWxlIGRpc3RyaWJ1dGlvbiAodGhlIERpc3R1dGlscyBpdHNlbGYgaW4gdGhpcworY2FzZSksIGRvZXMgYSAiZmFrZSIgaW5zdGFsbGF0aW9uIChhbHNvIGluIHRoZSA6ZmlsZTpgYnVpbGRgIGRpcmVjdG9yeSksIGFuZAorY3JlYXRlcyB0aGUgZGVmYXVsdCB0eXBlIG9mIGJ1aWx0IGRpc3RyaWJ1dGlvbiBmb3IgbXkgcGxhdGZvcm0uICBUaGUgZGVmYXVsdAorZm9ybWF0IGZvciBidWlsdCBkaXN0cmlidXRpb25zIGlzIGEgImR1bWIiIHRhciBmaWxlIG9uIFVuaXgsIGFuZCBhIHNpbXBsZQorZXhlY3V0YWJsZSBpbnN0YWxsZXIgb24gV2luZG93cy4gIChUaGF0IHRhciBmaWxlIGlzIGNvbnNpZGVyZWQgImR1bWIiIGJlY2F1c2UgaXQKK2hhcyB0byBiZSB1bnBhY2tlZCBpbiBhIHNwZWNpZmljIGxvY2F0aW9uIHRvIHdvcmsuKQorCitUaHVzLCB0aGUgYWJvdmUgY29tbWFuZCBvbiBhIFVuaXggc3lzdGVtIGNyZWF0ZXMKKzpmaWxlOmBEaXN0dXRpbHMtMS4wLntwbGF0fS50YXIuZ3pgOyB1bnBhY2tpbmcgdGhpcyB0YXJiYWxsIGZyb20gdGhlIHJpZ2h0IHBsYWNlCitpbnN0YWxscyB0aGUgRGlzdHV0aWxzIGp1c3QgYXMgdGhvdWdoIHlvdSBoYWQgZG93bmxvYWRlZCB0aGUgc291cmNlIGRpc3RyaWJ1dGlvbgorYW5kIHJ1biBgYHB5dGhvbiBzZXR1cC5weSBpbnN0YWxsYGAuICAoVGhlICJyaWdodCBwbGFjZSIgaXMgZWl0aGVyIHRoZSByb290IG9mCit0aGUgZmlsZXN5c3RlbSBvciAgUHl0aG9uJ3MgOmZpbGU6YHtwcmVmaXh9YCBkaXJlY3RvcnksIGRlcGVuZGluZyBvbiB0aGUgb3B0aW9ucworZ2l2ZW4gdG8gdGhlIDpjb21tYW5kOmBiZGlzdF9kdW1iYCBjb21tYW5kOyB0aGUgZGVmYXVsdCBpcyB0byBtYWtlIGR1bWIKK2Rpc3RyaWJ1dGlvbnMgcmVsYXRpdmUgdG8gOmZpbGU6YHtwcmVmaXh9YC4pCisKK09idmlvdXNseSwgZm9yIHB1cmUgUHl0aG9uIGRpc3RyaWJ1dGlvbnMsIHRoaXMgaXNuJ3QgYW55IHNpbXBsZXIgdGhhbiBqdXN0CitydW5uaW5nIGBgcHl0aG9uIHNldHVwLnB5IGluc3RhbGxgYFwgLS0tYnV0IGZvciBub24tcHVyZSBkaXN0cmlidXRpb25zLCB3aGljaAoraW5jbHVkZSBleHRlbnNpb25zIHRoYXQgd291bGQgbmVlZCB0byBiZSBjb21waWxlZCwgaXQgY2FuIG1lYW4gdGhlIGRpZmZlcmVuY2UKK2JldHdlZW4gc29tZW9uZSBiZWluZyBhYmxlIHRvIHVzZSB5b3VyIGV4dGVuc2lvbnMgb3Igbm90LiAgQW5kIGNyZWF0aW5nICJzbWFydCIKK2J1aWx0IGRpc3RyaWJ1dGlvbnMsIHN1Y2ggYXMgYW4gZXhlY3V0YWJsZSBpbnN0YWxsZXIgZm9yCitXaW5kb3dzLCBpcyBmYXIgbW9yZSBjb252ZW5pZW50IGZvciB1c2VycyBldmVuIGlmIHlvdXIgZGlzdHJpYnV0aW9uIGRvZXNuJ3QKK2luY2x1ZGUgYW55IGV4dGVuc2lvbnMuCisKK1RoZSA6Y29tbWFuZDpgYmRpc3RgIGNvbW1hbmQgaGFzIGEgOm9wdGlvbjpgLS1mb3JtYXRzYCBvcHRpb24sIHNpbWlsYXIgdG8gdGhlCis6Y29tbWFuZDpgc2Rpc3RgIGNvbW1hbmQsIHdoaWNoIHlvdSBjYW4gdXNlIHRvIHNlbGVjdCB0aGUgdHlwZXMgb2YgYnVpbHQKK2Rpc3RyaWJ1dGlvbiB0byBnZW5lcmF0ZTogZm9yIGV4YW1wbGUsIDo6CisKKyAgIHB5dGhvbiBzZXR1cC5weSBiZGlzdCAtLWZvcm1hdD16aXAKKword291bGQsIHdoZW4gcnVuIG9uIGEgVW5peCBzeXN0ZW0sIGNyZWF0ZSA6ZmlsZTpgRGlzdHV0aWxzLTEuMC57cGxhdH0uemlwYFwKKy0tLWFnYWluLCB0aGlzIGFyY2hpdmUgd291bGQgYmUgdW5wYWNrZWQgZnJvbSB0aGUgcm9vdCBkaXJlY3RvcnkgdG8gaW5zdGFsbCB0aGUKK0Rpc3R1dGlscy4KKworVGhlIGF2YWlsYWJsZSBmb3JtYXRzIGZvciBidWlsdCBkaXN0cmlidXRpb25zIGFyZToKKworKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSsKK3wgRm9ybWF0ICAgICAgfCBEZXNjcmlwdGlvbiAgICAgICAgICAgICAgICAgIHwgTm90ZXMgICB8CisrPT09PT09PT09PT09PSs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0rPT09PT09PT09KworfCBgYGd6dGFyYGAgICB8IGd6aXBwZWQgdGFyIGZpbGUgICAgICAgICAgICAgfCAoMSksKDMpIHwKK3wgICAgICAgICAgICAgfCAoOmZpbGU6YC50YXIuZ3pgKSAgICAgICAgICAgIHwgICAgICAgICB8CisrLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKworfCBgYHRhcmBgICAgICB8IHRhciBmaWxlICg6ZmlsZTpgLnRhcmApICAgICAgfCBcKDMpICAgIHwKKystLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rCit8IGBgemlwYGAgICAgIHwgemlwIGZpbGUgKDpmaWxlOmAuemlwYCkgICAgICB8ICgyKSwoNCkgfAorKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSsKK3wgYGB3aW5pbnN0YGAgfCBzZWxmLWV4dHJhY3RpbmcgWklQIGZpbGUgZm9yIHwgXCg0KSAgICB8Cit8ICAgICAgICAgICAgIHwgV2luZG93cyAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfAorKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSsKK3wgYGBtc2lgYCAgICAgfCBNaWNyb3NvZnQgSW5zdGFsbGVyLiAgICAgICAgIHwgICAgICAgICB8CisrLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKworCisKK05vdGVzOgorCisoMSkKKyAgIGRlZmF1bHQgb24gVW5peAorCisoMikKKyAgIGRlZmF1bHQgb24gV2luZG93cworCisoMykKKyAgIHJlcXVpcmVzIGV4dGVybmFsIHV0aWxpdGllczogOnByb2dyYW06YHRhcmAgYW5kIHBvc3NpYmx5IG9uZSBvZiA6cHJvZ3JhbTpgZ3ppcGAKKyAgIG9yIDpwcm9ncmFtOmBiemlwMmAKKworKDQpCisgICByZXF1aXJlcyBlaXRoZXIgZXh0ZXJuYWwgOnByb2dyYW06YHppcGAgdXRpbGl0eSBvciA6bW9kOmB6aXBmaWxlYCBtb2R1bGUgKHBhcnQKKyAgIG9mIHRoZSBzdGFuZGFyZCBQeXRob24gbGlicmFyeSBzaW5jZSBQeXRob24gMS42KQorCitZb3UgZG9uJ3QgaGF2ZSB0byB1c2UgdGhlIDpjb21tYW5kOmBiZGlzdGAgY29tbWFuZCB3aXRoIHRoZSA6b3B0aW9uOmAtLWZvcm1hdHNgCitvcHRpb247IHlvdSBjYW4gYWxzbyB1c2UgdGhlIGNvbW1hbmQgdGhhdCBkaXJlY3RseSBpbXBsZW1lbnRzIHRoZSBmb3JtYXQgeW91J3JlCitpbnRlcmVzdGVkIGluLiAgU29tZSBvZiB0aGVzZSA6Y29tbWFuZDpgYmRpc3RgICJzdWItY29tbWFuZHMiIGFjdHVhbGx5IGdlbmVyYXRlCitzZXZlcmFsIHNpbWlsYXIgZm9ybWF0czsgZm9yIGluc3RhbmNlLCB0aGUgOmNvbW1hbmQ6YGJkaXN0X2R1bWJgIGNvbW1hbmQKK2dlbmVyYXRlcyBhbGwgdGhlICJkdW1iIiBhcmNoaXZlIGZvcm1hdHMgKGBgdGFyYGAsIGBgZ3p0YXJgYCwgYW5kCitgYHppcGBgKS4gIFRoZSA6Y29tbWFuZDpgYmRpc3RgIHN1Yi1jb21tYW5kcywgYW5kIHRoZSBmb3JtYXRzIGdlbmVyYXRlZCBieQorZWFjaCwgYXJlOgorCisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCit8IENvbW1hbmQgICAgICAgICAgICAgICAgICB8IEZvcm1hdHMgICAgICAgICAgICAgICB8CisrPT09PT09PT09PT09PT09PT09PT09PT09PT0rPT09PT09PT09PT09PT09PT09PT09PT0rCit8IDpjb21tYW5kOmBiZGlzdF9kdW1iYCAgICB8IHRhciwgZ3p0YXIsIHppcCAgICAgICB8CisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCit8IDpjb21tYW5kOmBiZGlzdF93aW5pbnN0YCB8IHdpbmluc3QgICAgICAgICAgICAgICB8CisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCit8IDpjb21tYW5kOmBiZGlzdF9tc2lgICAgICB8IG1zaSAgICAgICAgICAgICAgICAgICB8CisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCisKK1RoZSBmb2xsb3dpbmcgc2VjdGlvbnMgZ2l2ZSBkZXRhaWxzIG9uIHRoZSBpbmRpdmlkdWFsIDpjb21tYW5kOmBiZGlzdF9cKmAKK2NvbW1hbmRzLgorCisKKy4uIF9wYWNrYWdpbmctY3JlYXRpbmctZHVtYjoKKworQ3JlYXRpbmcgZHVtYiBidWlsdCBkaXN0cmlidXRpb25zCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworLi4gWFhYIE5lZWQgdG8gZG9jdW1lbnQgYWJzb2x1dGUgdnMuIHByZWZpeC1yZWxhdGl2ZSBwYWNrYWdlcyBoZXJlLCBidXQgZmlyc3QKKyAgICAgICBJIGhhdmUgdG8gaW1wbGVtZW50IGl0IQorCisKKy4uIF9wYWNrYWdpbmctY3JlYXRpbmctd2luaW5zdDoKKworQ3JlYXRpbmcgV2luZG93cyBJbnN0YWxsZXJzCis9PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworRXhlY3V0YWJsZSBpbnN0YWxsZXJzIGFyZSB0aGUgbmF0dXJhbCBmb3JtYXQgZm9yIGJpbmFyeSBkaXN0cmlidXRpb25zIG9uCitXaW5kb3dzLiAgVGhleSBkaXNwbGF5IGEgbmljZSBncmFwaGljYWwgdXNlciBpbnRlcmZhY2UsIGRpc3BsYXkgc29tZSBpbmZvcm1hdGlvbgorYWJvdXQgdGhlIG1vZHVsZSBkaXN0cmlidXRpb24gdG8gYmUgaW5zdGFsbGVkIHRha2VuIGZyb20gdGhlIG1ldGFkYXRhIGluIHRoZQorc2V0dXAgc2NyaXB0LCBsZXQgdGhlIHVzZXIgc2VsZWN0IGEgZmV3IG9wdGlvbnMsIGFuZCBzdGFydCBvciBjYW5jZWwgdGhlCitpbnN0YWxsYXRpb24uCisKK1NpbmNlIHRoZSBtZXRhZGF0YSBpcyB0YWtlbiBmcm9tIHRoZSBzZXR1cCBzY3JpcHQsIGNyZWF0aW5nIFdpbmRvd3MgaW5zdGFsbGVycworaXMgdXN1YWxseSBhcyBlYXN5IGFzIHJ1bm5pbmc6OgorCisgICBweXRob24gc2V0dXAucHkgYmRpc3Rfd2luaW5zdAorCitvciB0aGUgOmNvbW1hbmQ6YGJkaXN0YCBjb21tYW5kIHdpdGggdGhlIDpvcHRpb246YC0tZm9ybWF0c2Agb3B0aW9uOjoKKworICAgcHl0aG9uIHNldHVwLnB5IGJkaXN0IC0tZm9ybWF0cz13aW5pbnN0CisKK0lmIHlvdSBoYXZlIGEgcHVyZSBtb2R1bGUgZGlzdHJpYnV0aW9uIChvbmx5IGNvbnRhaW5pbmcgcHVyZSBQeXRob24gbW9kdWxlcyBhbmQKK3BhY2thZ2VzKSwgdGhlIHJlc3VsdGluZyBpbnN0YWxsZXIgd2lsbCBiZSB2ZXJzaW9uIGluZGVwZW5kZW50IGFuZCBoYXZlIGEgbmFtZQorbGlrZSA6ZmlsZTpgZm9vLTEuMC53aW4zMi5leGVgLiAgVGhlc2UgaW5zdGFsbGVycyBjYW4gZXZlbiBiZSBjcmVhdGVkIG9uIFVuaXgKK3BsYXRmb3JtcyBvciBNYWMgT1MgWC4KKworSWYgeW91IGhhdmUgYSBub24tcHVyZSBkaXN0cmlidXRpb24sIHRoZSBleHRlbnNpb25zIGNhbiBvbmx5IGJlIGNyZWF0ZWQgb24gYQorV2luZG93cyBwbGF0Zm9ybSwgYW5kIHdpbGwgYmUgUHl0aG9uIHZlcnNpb24gZGVwZW5kZW50LiBUaGUgaW5zdGFsbGVyIGZpbGVuYW1lCit3aWxsIHJlZmxlY3QgdGhpcyBhbmQgbm93IGhhcyB0aGUgZm9ybSA6ZmlsZTpgZm9vLTEuMC53aW4zMi1weTIuMC5leGVgLiAgWW91CitoYXZlIHRvIGNyZWF0ZSBhIHNlcGFyYXRlIGluc3RhbGxlciBmb3IgZXZlcnkgUHl0aG9uIHZlcnNpb24geW91IHdhbnQgdG8KK3N1cHBvcnQuCisKK1RoZSBpbnN0YWxsZXIgd2lsbCB0cnkgdG8gY29tcGlsZSBwdXJlIG1vZHVsZXMgaW50byA6dGVybTpgYnl0ZWNvZGVgIGFmdGVyIGluc3RhbGxhdGlvbgorb24gdGhlIHRhcmdldCBzeXN0ZW0gaW4gbm9ybWFsIGFuZCBvcHRpbWl6aW5nIG1vZGUuICBJZiB5b3UgZG9uJ3Qgd2FudCB0aGlzIHRvCitoYXBwZW4gZm9yIHNvbWUgcmVhc29uLCB5b3UgY2FuIHJ1biB0aGUgOmNvbW1hbmQ6YGJkaXN0X3dpbmluc3RgIGNvbW1hbmQgd2l0aAordGhlIDpvcHRpb246YC0tbm8tdGFyZ2V0LWNvbXBpbGVgIGFuZC9vciB0aGUgOm9wdGlvbjpgLS1uby10YXJnZXQtb3B0aW1pemVgCitvcHRpb24uCisKK0J5IGRlZmF1bHQgdGhlIGluc3RhbGxlciB3aWxsIGRpc3BsYXkgdGhlIGNvb2wgIlB5dGhvbiBQb3dlcmVkIiBsb2dvIHdoZW4gaXQgaXMKK3J1biwgYnV0IHlvdSBjYW4gYWxzbyBzdXBwbHkgeW91ciBvd24gMTUyeDI2MSBiaXRtYXAgd2hpY2ggbXVzdCBiZSBhIFdpbmRvd3MKKzpmaWxlOmAuYm1wYCBmaWxlIHdpdGggdGhlIDpvcHRpb246YC0tYml0bWFwYCBvcHRpb24uCisKK1RoZSBpbnN0YWxsZXIgd2lsbCBhbHNvIGRpc3BsYXkgYSBsYXJnZSB0aXRsZSBvbiB0aGUgZGVza3RvcCBiYWNrZ3JvdW5kIHdpbmRvdword2hlbiBpdCBpcyBydW4sIHdoaWNoIGlzIGNvbnN0cnVjdGVkIGZyb20gdGhlIG5hbWUgb2YgeW91ciBkaXN0cmlidXRpb24gYW5kIHRoZQordmVyc2lvbiBudW1iZXIuICBUaGlzIGNhbiBiZSBjaGFuZ2VkIHRvIGFub3RoZXIgdGV4dCBieSB1c2luZyB0aGUKKzpvcHRpb246YC0tdGl0bGVgIG9wdGlvbi4KKworVGhlIGluc3RhbGxlciBmaWxlIHdpbGwgYmUgd3JpdHRlbiB0byB0aGUgImRpc3RyaWJ1dGlvbiBkaXJlY3RvcnkiIC0tLSBub3JtYWxseQorOmZpbGU6YGRpc3QvYCwgYnV0IGN1c3RvbWl6YWJsZSB3aXRoIHRoZSA6b3B0aW9uOmAtLWRpc3QtZGlyYCBvcHRpb24uCisKKy4uIF9wYWNrYWdpbmctY3Jvc3MtY29tcGlsZS13aW5kb3dzOgorCitDcm9zcy1jb21waWxpbmcgb24gV2luZG93cworPT09PT09PT09PT09PT09PT09PT09PT09PT0KKworU3RhcnRpbmcgd2l0aCBQeXRob24gMi42LCBwYWNrYWdpbmcgaXMgY2FwYWJsZSBvZiBjcm9zcy1jb21waWxpbmcgYmV0d2VlbgorV2luZG93cyBwbGF0Zm9ybXMuICBJbiBwcmFjdGljZSwgdGhpcyBtZWFucyB0aGF0IHdpdGggdGhlIGNvcnJlY3QgdG9vbHMKK2luc3RhbGxlZCwgeW91IGNhbiB1c2UgYSAzMmJpdCB2ZXJzaW9uIG9mIFdpbmRvd3MgdG8gY3JlYXRlIDY0Yml0IGV4dGVuc2lvbnMKK2FuZCB2aWNlLXZlcnNhLgorCitUbyBidWlsZCBmb3IgYW4gYWx0ZXJuYXRlIHBsYXRmb3JtLCBzcGVjaWZ5IHRoZSA6b3B0aW9uOmAtLXBsYXQtbmFtZWAgb3B0aW9uCit0byB0aGUgYnVpbGQgY29tbWFuZC4gIFZhbGlkIHZhbHVlcyBhcmUgY3VycmVudGx5ICd3aW4zMicsICd3aW4tYW1kNjQnIGFuZAorJ3dpbi1pYTY0Jy4gIEZvciBleGFtcGxlLCBvbiBhIDMyYml0IHZlcnNpb24gb2YgV2luZG93cywgeW91IGNvdWxkIGV4ZWN1dGU6OgorCisgICBweXRob24gc2V0dXAucHkgYnVpbGQgLS1wbGF0LW5hbWU9d2luLWFtZDY0CisKK3RvIGJ1aWxkIGEgNjRiaXQgdmVyc2lvbiBvZiB5b3VyIGV4dGVuc2lvbi4gIFRoZSBXaW5kb3dzIEluc3RhbGxlcnMgYWxzbworc3VwcG9ydCB0aGlzIG9wdGlvbiwgc28gdGhlIGNvbW1hbmQ6OgorCisgICBweXRob24gc2V0dXAucHkgYnVpbGQgLS1wbGF0LW5hbWU9d2luLWFtZDY0IGJkaXN0X3dpbmluc3QKKword291bGQgY3JlYXRlIGEgNjRiaXQgaW5zdGFsbGF0aW9uIGV4ZWN1dGFibGUgb24geW91ciAzMmJpdCB2ZXJzaW9uIG9mIFdpbmRvd3MuCisKK1RvIGNyb3NzLWNvbXBpbGUsIHlvdSBtdXN0IGRvd25sb2FkIHRoZSBQeXRob24gc291cmNlIGNvZGUgYW5kIGNyb3NzLWNvbXBpbGUKK1B5dGhvbiBpdHNlbGYgZm9yIHRoZSBwbGF0Zm9ybSB5b3UgYXJlIHRhcmdldHRpbmcgLSBpdCBpcyBub3QgcG9zc2libGUgZnJvbSBhCitiaW5hcnkgaW5zdGFsbHRpb24gb2YgUHl0aG9uIChhcyB0aGUgLmxpYiBldGMgZmlsZSBmb3Igb3RoZXIgcGxhdGZvcm1zIGFyZQorbm90IGluY2x1ZGVkLikgIEluIHByYWN0aWNlLCB0aGlzIG1lYW5zIHRoZSB1c2VyIG9mIGEgMzIgYml0IG9wZXJhdGluZworc3lzdGVtIHdpbGwgbmVlZCB0byB1c2UgVmlzdWFsIFN0dWRpbyAyMDA4IHRvIG9wZW4gdGhlCis6ZmlsZTpgUENCdWlsZC9QQ2J1aWxkLnNsbmAgc29sdXRpb24gaW4gdGhlIFB5dGhvbiBzb3VyY2UgdHJlZSBhbmQgYnVpbGQgdGhlCisieDY0IiBjb25maWd1cmF0aW9uIG9mIHRoZSAncHl0aG9uY29yZScgcHJvamVjdCBiZWZvcmUgY3Jvc3MtY29tcGlsaW5nCitleHRlbnNpb25zIGlzIHBvc3NpYmxlLgorCitOb3RlIHRoYXQgYnkgZGVmYXVsdCwgVmlzdWFsIFN0dWRpbyAyMDA4IGRvZXMgbm90IGluc3RhbGwgNjRiaXQgY29tcGlsZXJzIG9yCit0b29scy4gIFlvdSBtYXkgbmVlZCB0byByZWV4ZWN1dGUgdGhlIFZpc3VhbCBTdHVkaW8gc2V0dXAgcHJvY2VzcyBhbmQgc2VsZWN0Cit0aGVzZSB0b29scyAodXNpbmcgQ29udHJvbCBQYW5lbC0+W0FkZC9SZW1vdmVdIFByb2dyYW1zIGlzIGEgY29udmVuaWVudCB3YXkgdG8KK2NoZWNrIG9yIG1vZGlmeSB5b3VyIGV4aXN0aW5nIGluc3RhbGwuKQorCisuLiBfcGFja2FnaW5nLXBvc3RpbnN0YWxsYXRpb24tc2NyaXB0OgorCitUaGUgUG9zdGluc3RhbGxhdGlvbiBzY3JpcHQKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitTdGFydGluZyB3aXRoIFB5dGhvbiAyLjMsIGEgcG9zdGluc3RhbGxhdGlvbiBzY3JpcHQgY2FuIGJlIHNwZWNpZmllZCB3aXRoIHRoZQorOm9wdGlvbjpgLS1pbnN0YWxsLXNjcmlwdGAgb3B0aW9uLiAgVGhlIGJhc2VuYW1lIG9mIHRoZSBzY3JpcHQgbXVzdCBiZQorc3BlY2lmaWVkLCBhbmQgdGhlIHNjcmlwdCBmaWxlbmFtZSBtdXN0IGFsc28gYmUgbGlzdGVkIGluIHRoZSBzY3JpcHRzIGFyZ3VtZW50Cit0byB0aGUgc2V0dXAgZnVuY3Rpb24uCisKK1RoaXMgc2NyaXB0IHdpbGwgYmUgcnVuIGF0IGluc3RhbGxhdGlvbiB0aW1lIG9uIHRoZSB0YXJnZXQgc3lzdGVtIGFmdGVyIGFsbCB0aGUKK2ZpbGVzIGhhdmUgYmVlbiBjb3BpZWQsIHdpdGggYGBhcmd2WzFdYGAgc2V0IHRvIDpvcHRpb246YC1pbnN0YWxsYCwgYW5kIGFnYWluIGF0Cit1bmluc3RhbGxhdGlvbiB0aW1lIGJlZm9yZSB0aGUgZmlsZXMgYXJlIHJlbW92ZWQgd2l0aCBgYGFyZ3ZbMV1gYCBzZXQgdG8KKzpvcHRpb246YC1yZW1vdmVgLgorCitUaGUgaW5zdGFsbGF0aW9uIHNjcmlwdCBydW5zIGVtYmVkZGVkIGluIHRoZSB3aW5kb3dzIGluc3RhbGxlciwgZXZlcnkgb3V0cHV0CisoYGBzeXMuc3Rkb3V0YGAsIGBgc3lzLnN0ZGVycmBgKSBpcyByZWRpcmVjdGVkIGludG8gYSBidWZmZXIgYW5kIHdpbGwgYmUKK2Rpc3BsYXllZCBpbiB0aGUgR1VJIGFmdGVyIHRoZSBzY3JpcHQgaGFzIGZpbmlzaGVkLgorCitTb21lIGZ1bmN0aW9ucyBlc3BlY2lhbGx5IHVzZWZ1bCBpbiB0aGlzIGNvbnRleHQgYXJlIGF2YWlsYWJsZSBhcyBhZGRpdGlvbmFsCitidWlsdC1pbiBmdW5jdGlvbnMgaW4gdGhlIGluc3RhbGxhdGlvbiBzY3JpcHQuCisKKy4uIGN1cnJlbnRtb2R1bGU6OiBiZGlzdF93aW5pbnN0LXBvc3RpbnN0LXNjcmlwdAorCisuLiBmdW5jdGlvbjo6IGRpcmVjdG9yeV9jcmVhdGVkKHBhdGgpCisgICAgICAgICAgICAgIGZpbGVfY3JlYXRlZChwYXRoKQorCisgICBUaGVzZSBmdW5jdGlvbnMgc2hvdWxkIGJlIGNhbGxlZCB3aGVuIGEgZGlyZWN0b3J5IG9yIGZpbGUgaXMgY3JlYXRlZCBieSB0aGUKKyAgIHBvc3RpbnN0YWxsIHNjcmlwdCBhdCBpbnN0YWxsYXRpb24gdGltZS4gIEl0IHdpbGwgcmVnaXN0ZXIgKnBhdGgqIHdpdGggdGhlCisgICB1bmluc3RhbGxlciwgc28gdGhhdCBpdCB3aWxsIGJlIHJlbW92ZWQgd2hlbiB0aGUgZGlzdHJpYnV0aW9uIGlzIHVuaW5zdGFsbGVkLgorICAgVG8gYmUgc2FmZSwgZGlyZWN0b3JpZXMgYXJlIG9ubHkgcmVtb3ZlZCBpZiB0aGV5IGFyZSBlbXB0eS4KKworCisuLiBmdW5jdGlvbjo6IGdldF9zcGVjaWFsX2ZvbGRlcl9wYXRoKGNzaWRsX3N0cmluZykKKworICAgVGhpcyBmdW5jdGlvbiBjYW4gYmUgdXNlZCB0byByZXRyaWV2ZSBzcGVjaWFsIGZvbGRlciBsb2NhdGlvbnMgb24gV2luZG93cyBsaWtlCisgICB0aGUgU3RhcnQgTWVudSBvciB0aGUgRGVza3RvcC4gIEl0IHJldHVybnMgdGhlIGZ1bGwgcGF0aCB0byB0aGUgZm9sZGVyLgorICAgKmNzaWRsX3N0cmluZyogbXVzdCBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyBzdHJpbmdzOjoKKworICAgICAgIkNTSURMX0FQUERBVEEiCisKKyAgICAgICJDU0lETF9DT01NT05fU1RBUlRNRU5VIgorICAgICAgIkNTSURMX1NUQVJUTUVOVSIKKworICAgICAgIkNTSURMX0NPTU1PTl9ERVNLVE9QRElSRUNUT1JZIgorICAgICAgIkNTSURMX0RFU0tUT1BESVJFQ1RPUlkiCisKKyAgICAgICJDU0lETF9DT01NT05fU1RBUlRVUCIKKyAgICAgICJDU0lETF9TVEFSVFVQIgorCisgICAgICAiQ1NJRExfQ09NTU9OX1BST0dSQU1TIgorICAgICAgIkNTSURMX1BST0dSQU1TIgorCisgICAgICAiQ1NJRExfRk9OVFMiCisKKyAgIElmIHRoZSBmb2xkZXIgY2Fubm90IGJlIHJldHJpZXZlZCwgOmV4YzpgT1NFcnJvcmAgaXMgcmFpc2VkLgorCisgICBXaGljaCBmb2xkZXJzIGFyZSBhdmFpbGFibGUgZGVwZW5kcyBvbiB0aGUgZXhhY3QgV2luZG93cyB2ZXJzaW9uLCBhbmQgcHJvYmFibHkKKyAgIGFsc28gdGhlIGNvbmZpZ3VyYXRpb24uICBGb3IgZGV0YWlscyByZWZlciB0byBNaWNyb3NvZnQncyBkb2N1bWVudGF0aW9uIG9mIHRoZQorICAgOmM6ZnVuYzpgU0hHZXRTcGVjaWFsRm9sZGVyUGF0aGAgZnVuY3Rpb24uCisKKworLi4gZnVuY3Rpb246OiBjcmVhdGVfc2hvcnRjdXQodGFyZ2V0LCBkZXNjcmlwdGlvbiwgZmlsZW5hbWVbLCBhcmd1bWVudHNbLCB3b3JrZGlyWywgaWNvbnBhdGhbLCBpY29uaW5kZXhdXV1dKQorCisgICBUaGlzIGZ1bmN0aW9uIGNyZWF0ZXMgYSBzaG9ydGN1dC4gKnRhcmdldCogaXMgdGhlIHBhdGggdG8gdGhlIHByb2dyYW0gdG8gYmUKKyAgIHN0YXJ0ZWQgYnkgdGhlIHNob3J0Y3V0LiAqZGVzY3JpcHRpb24qIGlzIHRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgc2hvcnRjdXQuCisgICAqZmlsZW5hbWUqIGlzIHRoZSB0aXRsZSBvZiB0aGUgc2hvcnRjdXQgdGhhdCB0aGUgdXNlciB3aWxsIHNlZS4gKmFyZ3VtZW50cyoKKyAgIHNwZWNpZmllcyB0aGUgY29tbWFuZC1saW5lIGFyZ3VtZW50cywgaWYgYW55LiAqd29ya2RpciogaXMgdGhlIHdvcmtpbmcgZGlyZWN0b3J5CisgICBmb3IgdGhlIHByb2dyYW0uICppY29ucGF0aCogaXMgdGhlIGZpbGUgY29udGFpbmluZyB0aGUgaWNvbiBmb3IgdGhlIHNob3J0Y3V0LAorICAgYW5kICppY29uaW5kZXgqIGlzIHRoZSBpbmRleCBvZiB0aGUgaWNvbiBpbiB0aGUgZmlsZSAqaWNvbnBhdGgqLiAgQWdhaW4sIGZvcgorICAgZGV0YWlscyBjb25zdWx0IHRoZSBNaWNyb3NvZnQgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIDpjbGFzczpgSVNoZWxsTGlua2AKKyAgIGludGVyZmFjZS4KKworCitWaXN0YSBVc2VyIEFjY2VzcyBDb250cm9sIChVQUMpCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKK1N0YXJ0aW5nIHdpdGggUHl0aG9uIDIuNiwgYmRpc3Rfd2luaW5zdCBzdXBwb3J0cyBhIDpvcHRpb246YC0tdXNlci1hY2Nlc3MtY29udHJvbGAKK29wdGlvbi4gIFRoZSBkZWZhdWx0IGlzICdub25lJyAobWVhbmluZyBubyBVQUMgaGFuZGxpbmcgaXMgZG9uZSksIGFuZCBvdGhlcgordmFsaWQgdmFsdWVzIGFyZSAnYXV0bycgKG1lYW5pbmcgcHJvbXB0IGZvciBVQUMgZWxldmF0aW9uIGlmIFB5dGhvbiB3YXMKK2luc3RhbGxlZCBmb3IgYWxsIHVzZXJzKSBhbmQgJ2ZvcmNlJyAobWVhbmluZyBhbHdheXMgcHJvbXB0IGZvciBlbGV2YXRpb24pLgpkaWZmIC0tZ2l0IGEvRG9jL3BhY2thZ2luZy9jb21tYW5kaG9va3MucnN0IGIvRG9jL3BhY2thZ2luZy9jb21tYW5kaG9va3MucnN0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIyNjFkMDAKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2MvcGFja2FnaW5nL2NvbW1hbmRob29rcy5yc3QKQEAgLTAsMCArMSw0NyBAQAorLi4gVE9ETyBpbnRlZ3JhdGUgdGhpcyBpbiBjb21tYW5kcmVmIGFuZCBjb25maWdmaWxlCisKKy4uIF9wYWNrYWdpbmctY29tbWFuZC1ob29rczoKKworPT09PT09PT09PT09PQorQ29tbWFuZCBob29rcworPT09PT09PT09PT09PQorCitQYWNrYWdpbmcgcHJvdmlkZXMgYSB3YXkgb2YgZXh0ZW5kaW5nIGl0cyBjb21tYW5kcyBieSB0aGUgdXNlIG9mIHByZS0gYW5kCitwb3N0LWNvbW1hbmQgaG9va3MuICBIb29rcyBhcmUgUHl0aG9uIGZ1bmN0aW9ucyAob3IgYW55IGNhbGxhYmxlIG9iamVjdCkgdGhhdAordGFrZSBhIGNvbW1hbmQgb2JqZWN0IGFzIGFyZ3VtZW50LiAgVGhleSdyZSBzcGVjaWZpZWQgaW4gOnJlZjpgY29uZmlnIGZpbGVzCis8cGFja2FnaW5nLWNvbmZpZy1maWxlbmFtZXM+YCB1c2luZyB0aGVpciBmdWxseSBxdWFsaWZpZWQgbmFtZXMuICBBZnRlciBhCitjb21tYW5kIGlzIGZpbmFsaXplZCAoaXRzIG9wdGlvbnMgYXJlIHByb2Nlc3NlZCksIHRoZSBwcmUtY29tbWFuZCBob29rcyBhcmUKK2V4ZWN1dGVkLCB0aGVuIHRoZSBjb21tYW5kIGl0c2VsZiBpcyBydW4sIGFuZCBmaW5hbGx5IHRoZSBwb3N0LWNvbW1hbmQgaG9va3MgYXJlCitleGVjdXRlZC4KKworU2VlIGFsc28gZ2xvYmFsIHNldHVwIGhvb2tzIGluIDpyZWY6YHNldHVwY2ZnLXNwZWNgLgorCisKKy4uIF9wYWNrYWdpbmctZmluZGluZy1ob29rczoKKworRmluZGluZyBob29rcworPT09PT09PT09PT09PQorCitBcyBhIGhvb2sgaXMgY29uZmlndXJlZCB3aXRoIGEgUHl0aG9uIGRvdHRlZCBuYW1lLCBpdCBtdXN0IGVpdGhlciBiZSBkZWZpbmVkIGluCithIG1vZHVsZSBpbnN0YWxsZWQgb24gdGhlIHN5c3RlbSwgb3IgaW4gYSBtb2R1bGUgcHJlc2VudCBpbiB0aGUgcHJvamVjdAorZGlyZWN0b3J5LCB3aGVyZSB0aGUgOmZpbGU6YHNldHVwLmNmZ2AgZmlsZSBsaXZlczo6CisKKyAgIyBmaWxlOiBfc2V0dXBob29rcy5weQorCisgIGRlZiBob29rKGluc3RhbGxfY21kKToKKyAgICAgIG1ldGFkYXRhID0gaW5zdGFsbF9jbWQuZGlzdC5tZXRhZGF0YQorICAgICAgcHJpbnQoJ0hvb2tlZCB3aGlsZSBpbnN0YWxsaW5nICVyICVzIScgJSAobWV0YWRhdGFbJ05hbWUnXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1ldGFkYXRhWydWZXJzaW9uJ10pKQorCitUaGVuIHlvdSBuZWVkIHRvIGNvbmZpZ3VyZSBpdCBpbiA6ZmlsZTpgc2V0dXAuY2ZnYDo6CisKKyAgW2luc3RhbGxfZGlzdF0KKyAgcHJlLWhvb2suYSA9IF9zZXR1cGhvb2tzLmhvb2sKKworUGFja2FnaW5nIHdpbGwgYWRkIHRoZSBwcm9qZWN0IGRpcmVjdG9yeSB0byA6ZGF0YTpgc3lzLnBhdGhgIGFuZCBmaW5kIHRoZQorYGBfc2V0dXBob29rc2BgIG1vZHVsZS4KKworSG9va3MgZGVmaW5lZCBpbiBkaWZmZXJlbnQgY29uZmlnIGZpbGVzIChzeXN0ZW0td2lkZSwgdXNlci13aWRlIGFuZAorcHJvamVjdC13aWRlKSBkbyBub3Qgb3ZlcnJpZGUgZWFjaCBvdGhlciBhcyBsb25nIGFzIHRoZXkgYXJlIHNwZWNpZmllZCB3aXRoCitkaWZmZXJlbnQgYWxpYXNlcyAoYWRkaXRpb25hbCBuYW1lcyBhZnRlciB0aGUgZG90KS4gIFRoZSBhbGlhcyBpbiB0aGUgZXhhbXBsZQorYWJvdmUgaXMgYGBhYGAuCmRpZmYgLS1naXQgYS9Eb2MvcGFja2FnaW5nL2NvbW1hbmRyZWYucnN0IGIvRG9jL3BhY2thZ2luZy9jb21tYW5kcmVmLnJzdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMTY1YjU2Ci0tLSAvZGV2L251bGwKKysrIGIvRG9jL3BhY2thZ2luZy9jb21tYW5kcmVmLnJzdApAQCAtMCwwICsxLDM3NCBAQAorLi4gX3BhY2thZ2luZy1jb21tYW5kLXJlZmVyZW5jZToKKworKioqKioqKioqKioqKioqKioKK0NvbW1hbmQgUmVmZXJlbmNlCisqKioqKioqKioqKioqKioqKgorCitUaGlzIHJlZmVyZW5jZSBicmllZmx5IGRvY3VtZW50cyBhbGwgc3RhbmRhcmQgUGFja2FnaW5nIGNvbW1hbmRzIGFuZCBzb21lIG9mCit0aGVpciBvcHRpb25zLgorCisuLiBGSVhNRSBkb2VzIG5vdCB3b3JrOiBVc2UgcHlzZXR1cCBydW4gLS1oZWxwLWNvbW1hbmRzIHRvIGxpc3QgYWxsCisgICBzdGFuZGFyZCBhbmQgZXh0cmEgY29tbWFuZHMgYXZhaWxhdmJsZSBvbiB5b3VyIHN5c3RlbSwgd2l0aCB0aGVpcgorICAgZGVzY3JpcHRpb24uICBVc2UgcHlzZXR1cCBydW4gPGNvbW1hbmQ+IC0taGVscCB0byBnZXQgaGVscCBhYm91dCB0aGUgb3B0aW9ucworICAgb2Ygb25lIGNvbW1hbmQuCisKKy4uIFhYWCBzZWN0aW9ucyBmcm9tIHRoaXMgZG9jdW1lbnQgc2hvdWxkIGJlIG1lcmdlZCB3aXRoIG90aGVyIGRvY3MgKGUuZy4gY2hlY2sKKyAgIGFuZCB1cGxvYWQgd2l0aCB1cGxvYWRpbmcucnN0LCBpbnN0YWxsXyogd2l0aCBpbnN0YWxsL2luc3RhbGwucnN0LCBldGMuKTsKKyAgIHRoZXJlIGlzIG5vIHZhbHVlIGluIHBhcnRpYWxseSBkdXBsaWNhdGluZyBpbmZvcm1hdGlvbi4gIHRoaXMgZmlsZSBjb3VsZAorICAgaG93ZXZlciBzZXJ2ZSBhcyBhbiBpbmRleCwgaS5lLiBqdXN0IGEgbGlzdCBvZiBhbGwgY29tbWFuZHMgd2l0aCBsaW5rcyB0bworICAgZXZlcnkgc2VjdGlvbiB0aGF0IGRlc2NyaWJlcyBvcHRpb25zIG9yIHVzYWdlCisKKworUHJlcGFyaW5nIGRpc3RyaWJ1dGlvbnMKKz09PT09PT09PT09PT09PT09PT09PT09CisKKzpjb21tYW5kOmBjaGVja2AKKy0tLS0tLS0tLS0tLS0tLS0KKworUGVyZm9ybSBzb21lIHRlc3RzIG9uIHRoZSBtZXRhZGF0YSBvZiBhIGRpc3RyaWJ1dGlvbi4KKworRm9yIGV4YW1wbGUsIGl0IHZlcmlmaWVzIHRoYXQgYWxsIHJlcXVpcmVkIG1ldGFkYXRhIGZpZWxkcyBhcmUgcHJvdmlkZWQgaW4gdGhlCis6ZmlsZTpgc2V0dXAuY2ZnYCBmaWxlLgorCisuLiBUT0RPIGRvY3VtZW50IHJlU1QgY2hlY2tzCisKKworOmNvbW1hbmQ6YHRlc3RgCistLS0tLS0tLS0tLS0tLS0KKworUnVuIGEgdGVzdCBzdWl0ZS4KKworV2hlbiBkb2luZyB0ZXN0LWRyaXZlbiBkZXZlbG9wbWVudCwgb3IgcnVubmluZyBhdXRvbWF0ZWQgYnVpbGRzIHRoYXQgbmVlZAordGVzdGluZyBiZWZvcmUgdGhleSBhcmUgaW5zdGFsbGVkIGZvciBkb3dubG9hZGluZyBvciB1c2UsIGl0J3Mgb2Z0ZW4gdXNlZnVsIHRvCitiZSBhYmxlIHRvIHJ1biBhIHByb2plY3QncyB1bml0IHRlc3RzIHdpdGhvdXQgYWN0dWFsbHkgaW5zdGFsbGluZyB0aGUgcHJvamVjdAorYW55d2hlcmUuICBUaGUgOmNvbW1hbmQ6YHRlc3RgIGNvbW1hbmQgcnVucyBwcm9qZWN0J3MgdW5pdCB0ZXN0cyB3aXRob3V0CithY3R1YWxseSBpbnN0YWxsaW5nIGl0LCBieSB0ZW1wb3JhcmlseSBwdXR0aW5nIHRoZSBwcm9qZWN0J3Mgc291cmNlIG9uCis6ZGF0YTpgc3lzLnBhdGhgLCBhZnRlciBmaXJzdCBydW5uaW5nIDpjb21tYW5kOmBidWlsZF9leHQgLWlgIHRvIGVuc3VyZSB0aGF0IGFueQorQyBleHRlbnNpb25zIGFyZSBidWlsdC4KKworWW91IGNhbiB1c2UgdGhpcyBjb21tYW5kIGluIG9uZSBvZiB0d28gd2F5czogZWl0aGVyIGJ5IHNwZWNpZnlpbmcgYQordW5pdHRlc3QtY29tcGF0aWJsZSB0ZXN0IHN1aXRlIGZvciB5b3VyIHByb2plY3QgKG9yIGFueSBjYWxsYWJsZSB0aGF0IHJldHVybnMKK2l0KSBvciBieSBwYXNzaW5nIGEgdGVzdCBydW5uZXIgZnVuY3Rpb24gdGhhdCB3aWxsIHJ1biB5b3VyIHRlc3RzIGFuZCBkaXNwbGF5CityZXN1bHRzIGluIHRoZSBjb25zb2xlLiAgQm90aCBvcHRpb25zIHRha2UgYSBQeXRob24gZG90dGVkIG5hbWUgaW4gdGhlIGZvcm0KK2BgcGFja2FnZS5tb2R1bGUuY2FsbGFibGVgYCB0byBzcGVjaWZ5IHRoZSBvYmplY3QgdG8gdXNlLgorCitJZiBub25lIG9mIHRoZXNlIG9wdGlvbnMgYXJlIHNwZWNpZmllZCwgUGFja2FnaW5nIHdpbGwgdHJ5IHRvIHBlcmZvcm0gdGVzdAorZGlzY292ZXJ5IHVzaW5nIGVpdGhlciB1bml0dGVzdCAoZm9yIFB5dGhvbiAzLjIgYW5kIGhpZ2hlcikgb3IgdW5pdHRlc3QyIChmb3IKK29sZGVyIHZlcnNpb25zLCBpZiBpbnN0YWxsZWQpLgorCisuLiB0aGlzIGlzIGEgcHNldWRvLWNvbW1hbmQgbmFtZSB1c2VkIHRvIGRpc2FtYmlndWF0ZSB0aGUgb3B0aW9ucyBpbiBpbmRleGVzIGFuZAorICAgbGlua3MKKy4uIHByb2dyYW06OiBwYWNrYWdpbmcgdGVzdAorCisuLiBjbWRvcHRpb246OiAtLXN1aXRlPU5BTUUsIC1zIE5BTUUKKworICAgU3BlY2lmeSB0aGUgdGVzdCBzdWl0ZSAob3IgbW9kdWxlLCBjbGFzcywgb3IgbWV0aG9kKSB0byBiZSBydW4uICBUaGUgZGVmYXVsdAorICAgZm9yIHRoaXMgb3B0aW9uIGNhbiBiZSBzZXQgYnkgaW4gdGhlIHByb2plY3QncyA6ZmlsZTpgc2V0dXAuY2ZnYCBmaWxlOgorCisgICAuLiBjb2RlLWJsb2NrOjogY2ZnCisKKyAgICAgIFt0ZXN0XQorICAgICAgc3VpdGUgPSBteXBhY2thZ2UudGVzdHMuZ2V0X2FsbF90ZXN0cworCisuLiBjbWRvcHRpb246OiAtLXJ1bm5lcj1OQU1FLCAtciBOQU1FCisKKyAgIFNwZWNpZnkgdGhlIHRlc3QgcnVubmVyIHRvIGJlIGNhbGxlZC4KKworCis6Y29tbWFuZDpgY29uZmlnYAorLS0tLS0tLS0tLS0tLS0tLS0KKworUGVyZm9ybSBkaXN0cmlidXRpb24gY29uZmlndXJhdGlvbi4KKworCitUaGUgYnVpbGQgc3RlcAorPT09PT09PT09PT09PT0KKworVGhpcyBzdGVwIGlzIG1haW5seSB1c2VmdWwgdG8gY29tcGlsZSBDL0MrKyBsaWJyYXJpZXMgb3IgZXh0ZW5zaW9uIG1vZHVsZXMuICBUaGUKK2J1aWxkIGNvbW1hbmRzIGNhbiBiZSBydW4gbWFudWFsbHkgdG8gY2hlY2sgZm9yIHN5bnRheCBlcnJvcnMgb3IgcGFja2FnaW5nCitpc3N1ZXMgKGZvciBleGFtcGxlIGlmIHRoZSBhZGRpdGlvbiBvZiBhIG5ldyBzb3VyY2UgZmlsZSB3YXMgZm9yZ290dGVuIGluIHRoZQorOmZpbGU6YHNldHVwLmNmZ2AgZmlsZSksIGFuZCBpcyBhbHNvIHJ1biBhdXRvbWF0aWNhbGx5IGJ5IGNvbW1hbmRzIHdoaWNoIG5lZWQKK2l0LiAgUGFja2FnaW5nIGNoZWNrcyB0aGUgbXRpbWUgb2Ygc291cmNlIGFuZCBidWlsdCBmaWxlcyB0byBhdm9pZCByZS1idWlsZGluZworaWYgaXQncyBub3QgbmVjZXNzYXJ5LgorCisKKzpjb21tYW5kOmBidWlsZGAKKy0tLS0tLS0tLS0tLS0tLS0KKworQnVpbGQgYWxsIGZpbGVzIG9mIGEgZGlzdHJpYnV0aW9uLCBkZWxlZ2F0aW5nIHRvIHRoZSBvdGhlciA6Y29tbWFuZDpgYnVpbGRfKmAKK2NvbW1hbmRzIHRvIGRvIHRoZSB3b3JrLgorCisKKzpjb21tYW5kOmBidWlsZF9jbGliYAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK0J1aWxkIEMgbGlicmFyaWVzLgorCisKKzpjb21tYW5kOmBidWlsZF9leHRgCistLS0tLS0tLS0tLS0tLS0tLS0tLQorCitCdWlsZCBDL0MrKyBleHRlbnNpb24gbW9kdWxlcy4KKworCis6Y29tbWFuZDpgYnVpbGRfcHlgCistLS0tLS0tLS0tLS0tLS0tLS0tCisKK0J1aWxkIHRoZSBQeXRob24gbW9kdWxlcyAoanVzdCBjb3B5IHRoZW0gdG8gdGhlIGJ1aWxkIGRpcmVjdG9yeSkgYW5kCis6dGVybTpgYnl0ZS1jb21waWxlIDxieXRlY29kZT5gIHRoZW0gdG8gOmZpbGU6YC5weWNgIGFuZC9vciA6ZmlsZTpgLnB5b2AgZmlsZXMuCisKK1RoZSBieXRlIGNvbXBpbGF0aW9uIGlzIGNvbnRyb2xsZWQgYnkgdHdvIHNldHMgb2Ygb3B0aW9uczoKKworLSBgYC0tY29tcGlsZWBgIGFuZCBgYC0tbm8tY29tcGlsZWBgIGFyZSB1c2VkIHRvIGNvbnRyb2wgdGhlIGNyZWF0aW9uIG9mCisgIDpmaWxlOmAucHljYCBmaWxlczsgdGhlIGRlZmF1bHQgaXMgYGAtLW5vLWNvbXBpbGVgYC4KKworLSBgYC0tb3B0aW1pemUgTmBgIChvciBgYC1PTmBgKSBpcyB1c2VkIHRvIGNvbnRyb2wgdGhlIGNyZWF0aW9uIG9mIDpmaWxlOmAucHlvYAorICBmaWxlczogYGAtTzFgYCB0dXJucyBvbiBiYXNpYyBvcHRpbWl6YXRpb25zLCBgYC1PMmBgIGFsc28gZGlzY2FyZHMgZG9jc3RyaW5ncywKKyAgYGAtTzBgYCBkb2VzIG5vdCBjcmVhdGUgOmZpbGU6YC5weW9gIGZpbGVzOyB0aGUgZGVmYXVsdCBpcyBgYC1PMGBgLgorCitZb3UgY2FuIG1peCBhbmQgbWF0Y2ggdGhlc2Ugb3B0aW9uczogZm9yIGV4YW1wbGUsIGBgLS1uby1jb21waWxlIC0tb3B0aW1pemUgMmBgCit3aWxsIGNyZWF0ZSA6ZmlsZTpgLnB5b2AgZmlsZXMgYnV0IG5vIDpmaWxlOmAucHljYCBmaWxlcy4KKworLi4gWFhYIHRoZXNlIG9wdGlvbiByb2xlcyBkbyBub3Qgd29yaworCitDYWxsaW5nIFB5dGhvbiB3aXRoIDpvcHRpb246YC1PYCBvciA6b3B0aW9uOmAtQmAgZG9lcyBub3QgY29udHJvbCB0aGUgY3JlYXRpb24KK29mIGJ5dGVjb2RlIGZpbGVzLCBvbmx5IHRoZSBvcHRpb25zIGRlc2NyaWJlZCBhYm92ZSBkby4KKworCis6Y29tbWFuZDpgYnVpbGRfc2NyaXB0c2AKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorQnVpbGQgdGhlIHNjcmlwdHMgKGp1c3QgY29weSB0aGVtIHRvIHRoZSBidWlsZCBkaXJlY3RvcnkgYW5kIGFkanVzdCB0aGVpcgorc2hlYmFuZyBpZiB0aGV5J3JlIFB5dGhvbiBzY3JpcHRzKS4KKworCis6Y29tbWFuZDpgY2xlYW5gCistLS0tLS0tLS0tLS0tLS0tCisKK0NsZWFuIHRoZSBidWlsZCB0cmVlIG9mIHRoZSByZWxlYXNlLgorCisuLiBwcm9ncmFtOjogcGFja2FnaW5nIGNsZWFuCisKKy4uIGNtZG9wdGlvbjo6IC0tYWxsLCAtYQorCisgICBSZW1vdmUgYnVpbGQgZGlyZWN0b3JpZXMgZm9yIG1vZHVsZXMsIHNjcmlwdHMsIGV0Yy4sIG5vdCBvbmx5IHRlbXBvcmFyeSBidWlsZAorICAgYnktcHJvZHVjdHMuCisKKworQ3JlYXRpbmcgc291cmNlIGFuZCBidWlsdCBkaXN0cmlidXRpb25zCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworOmNvbW1hbmQ6YHNkaXN0YAorLS0tLS0tLS0tLS0tLS0tLQorCitCdWlsZCBhIHNvdXJjZSBkaXN0cmlidXRpb24gZm9yIGEgcmVsZWFzZS4KKworSXQgaXMgcmVjb21tZW5kZWQgdGhhdCB5b3UgYWx3YXlzIGJ1aWxkIGFuZCB1cGxvYWQgYSBzb3VyY2UgZGlzdHJpYnV0aW9uLiAgVXNlcnMKK29mIE9TZXMgd2l0aCBlYXN5IGFjY2VzcyB0byBjb21waWxlcnMgYW5kIHVzZXJzIG9mIGFkdmFuY2VkIHBhY2thZ2luZyB0b29scyB3aWxsCitwcmVmZXIgdG8gY29tcGlsZSBmcm9tIHNvdXJjZSByYXRoZXIgdGhhbiB1c2luZyBwcmUtYnVpbHQgZGlzdHJpYnV0aW9ucy4gIEZvcgorV2luZG93cyB1c2VycywgcHJvdmlkaW5nIGEgYmluYXJ5IGluc3RhbGxlciBpcyBhbHNvIHJlY29tbWVuZGVkIHByYWN0aWNlLgorCisKKzpjb21tYW5kOmBiZGlzdGAKKy0tLS0tLS0tLS0tLS0tLS0KKworQnVpbGQgYSBiaW5hcnkgZGlzdHJpYnV0aW9uIGZvciBhIHJlbGVhc2UuCisKK1RoaXMgY29tbWFuZCB3aWxsIGNhbGwgb3RoZXIgOmNvbW1hbmQ6YGJkaXN0XypgIGNvbW1hbmRzIHRvIGNyZWF0ZSBvbmUgb3IgbW9yZQorZGlzdHJpYnV0aW9ucyBkZXBlbmRpbmcgb24gdGhlIG9wdGlvbnMgZ2l2ZW4uICBUaGUgZGVmYXVsdCBpcyB0byBjcmVhdGUgYQorLnRhci5neiBhcmNoaXZlIG9uIFVuaXggYW5kIGEgemlwIGFyY2hpdmUgb24gV2luZG93cyBvciBPUy8yLgorCisuLiBwcm9ncmFtOjogcGFja2FnaW5nIGJkaXN0CisKKy4uIGNtZG9wdGlvbjo6IC0tZm9ybWF0cworCisgICBCaW5hcnkgZm9ybWF0cyB0byBidWlsZCAoY29tbWEtc2VwYXJhdGVkIGxpc3QpLgorCisuLiBjbWRvcHRpb246OiAtLXNob3ctZm9ybWF0cworCisgICBEdW1wIGxpc3Qgb2YgYXZhaWxhYmxlIGZvcm1hdHMuCisKKworOmNvbW1hbmQ6YGJkaXN0X2R1bWJgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworQnVpbGQgYSAiZHVtYiIgaW5zdGFsbGVyLCBhIHNpbXBsZSBhcmNoaXZlIG9mIGZpbGVzIHRoYXQgY291bGQgYmUgdW5wYWNrZWQgdW5kZXIKK2BgJHByZWZpeGBgIG9yIGBgJGV4ZWNfcHJlZml4YGAuCisKKworOmNvbW1hbmQ6YGJkaXN0X3dpbmluc3RgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworQnVpbGQgYSBXaW5kb3dzIGluc3RhbGxlci4KKworCis6Y29tbWFuZDpgYmRpc3RfbXNpYAorLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworQnVpbGQgYSBgTWljcm9zb2Z0IEluc3RhbGxlcmBfICgubXNpKSBmaWxlLgorCisuLiBfTWljcm9zb2Z0IEluc3RhbGxlcjogaHR0cDovL21zZG4ubWljcm9zb2Z0LmNvbS9lbi11cy9saWJyYXJ5L2NjMTg1Njg4KFZTLjg1KS5hc3B4CisKK0luIG1vc3QgY2FzZXMsIHRoZSA6Y29tbWFuZDpgYmRpc3RfbXNpYCBpbnN0YWxsZXIgaXMgYSBiZXR0ZXIgY2hvaWNlIHRoYW4gdGhlCis6Y29tbWFuZDpgYmRpc3Rfd2luaW5zdGAgaW5zdGFsbGVyLCBiZWNhdXNlIGl0IHByb3ZpZGVzIGJldHRlciBzdXBwb3J0IGZvciBXaW42NAorcGxhdGZvcm1zLCBhbGxvd3MgYWRtaW5pc3RyYXRvcnMgdG8gcGVyZm9ybSBub24taW50ZXJhY3RpdmUgaW5zdGFsbGF0aW9ucywgYW5kCithbGxvd3MgaW5zdGFsbGF0aW9uIHRocm91Z2ggZ3JvdXAgcG9saWNpZXMuCisKKworUHVibGlzaGluZyBkaXN0cmlidXRpb25zCis9PT09PT09PT09PT09PT09PT09PT09PT0KKworOmNvbW1hbmQ6YHJlZ2lzdGVyYAorLS0tLS0tLS0tLS0tLS0tLS0tLQorCitUaGlzIGNvbW1hbmQgcmVnaXN0ZXJzIHRoZSBjdXJyZW50IHJlbGVhc2Ugd2l0aCB0aGUgUHl0aG9uIFBhY2thZ2UgSW5kZXguICBUaGlzCitpcyBkZXNjcmliZWQgaW4gbW9yZSBkZXRhaWwgaW4gOlBFUDpgMzAxYC4KKworLi4gVE9ETyBleHBsYWluIHVzZXIgYW5kIHByb2plY3QgcmVnaXN0cmF0aW9uIHdpdGggdGhlIHdlYiBVSQorCisKKzpjb21tYW5kOmB1cGxvYWRgCistLS0tLS0tLS0tLS0tLS0tLQorCitVcGxvYWQgc291cmNlIGFuZC9vciBiaW5hcnkgZGlzdHJpYnV0aW9ucyB0byBQeVBJLgorCitUaGUgZGlzdHJpYnV0aW9ucyBoYXZlIHRvIGJlIGJ1aWx0IG9uIHRoZSBzYW1lIGNvbW1hbmQgbGluZSBhcyB0aGUKKzpjb21tYW5kOmB1cGxvYWRgIGNvbW1hbmQ7IHNlZSA6cmVmOmBwYWNrYWdpbmctcGFja2FnZS11cGxvYWRgIGZvciBtb3JlIGluZm8uCisKKy4uIHByb2dyYW06OiBwYWNrYWdpbmcgdXBsb2FkCisKKy4uIGNtZG9wdGlvbjo6IC0tc2lnbiwgLXMKKworICAgU2lnbiBlYWNoIHVwbG9hZGVkIGZpbGUgdXNpbmcgR1BHIChHTlUgUHJpdmFjeSBHdWFyZCkuICBUaGUgYGBncGdgYCBwcm9ncmFtCisgICBtdXN0IGJlIGF2YWlsYWJsZSBmb3IgZXhlY3V0aW9uIG9uIHRoZSBzeXN0ZW0gYGBQQVRIYGAuCisKKy4uIGNtZG9wdGlvbjo6IC0taWRlbnRpdHk9TkFNRSwgLWkgTkFNRQorCisgICBTcGVjaWZ5IHRoZSBpZGVudGl0eSBvciBrZXkgbmFtZSBmb3IgR1BHIHRvIHVzZSB3aGVuIHNpZ25pbmcuICBUaGUgdmFsdWUgb2YKKyAgIHRoaXMgb3B0aW9uIHdpbGwgYmUgcGFzc2VkIHRocm91Z2ggdGhlIGBgLS1sb2NhbC11c2VyYGAgb3B0aW9uIG9mIHRoZQorICAgYGBncGdgYCBwcm9ncmFtLgorCisuLiBjbWRvcHRpb246OiAtLXNob3ctcmVzcG9uc2UKKworICAgRGlzcGxheSB0aGUgZnVsbCByZXNwb25zZSB0ZXh0IGZyb20gc2VydmVyOyB0aGlzIGlzIHVzZWZ1bCBmb3IgZGVidWdnaW5nCisgICBQeVBJIHByb2JsZW1zLgorCisuLiBjbWRvcHRpb246OiAtLXJlcG9zaXRvcnk9VVJMLCAtciBVUkwKKworICAgVGhlIFVSTCBvZiB0aGUgcmVwb3NpdG9yeSB0byB1cGxvYWQgdG8uICBEZWZhdWx0cyB0bworICAgaHR0cDovL3B5cGkucHl0aG9uLm9yZy9weXBpIChpLmUuLCB0aGUgbWFpbiBQeVBJIGluc3RhbGxhdGlvbikuCisKKy4uIGNtZG9wdGlvbjo6IC0tdXBsb2FkLWRvY3MKKworICAgQWxzbyBydW4gOmNvbW1hbmQ6YHVwbG9hZF9kb2NzYC4gIE1haW5seSB1c2VmdWwgYXMgYSBkZWZhdWx0IHZhbHVlIGluCisgICA6ZmlsZTpgc2V0dXAuY2ZnYCAob24gdGhlIGNvbW1hbmQgbGluZSwgaXQncyBzaG9ydGVyIHRvIGp1c3QgdHlwZSBib3RoCisgICBjb21tYW5kcykuCisKKworOmNvbW1hbmQ6YHVwbG9hZF9kb2NzYAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitVcGxvYWQgSFRNTCBkb2N1bWVudGF0aW9uIHRvIFB5UEkuCisKK1B5UEkgbm93IHN1cHBvcnRzIHB1Ymxpc2hpbmcgcHJvamVjdCBkb2N1bWVudGF0aW9uIGF0IGEgVVJJIG9mIHRoZSBmb3JtCitgYGh0dHA6Ly9wYWNrYWdlcy5weXRob24ub3JnLzxwcm9qZWN0PmBgLiAgOmNvbW1hbmQ6YHVwbG9hZF9kb2NzYCAgd2lsbCBjcmVhdGUKK3RoZSBuZWNlc3NhcnkgemlwIGZpbGUgb3V0IG9mIGEgZG9jdW1lbnRhdGlvbiBkaXJlY3RvcnkgYW5kIHdpbGwgcG9zdCB0byB0aGUKK3JlcG9zaXRvcnkuCisKK05vdGUgdGhhdCB0byB1cGxvYWQgdGhlIGRvY3VtZW50YXRpb24gb2YgYSBwcm9qZWN0LCB0aGUgY29ycmVzcG9uZGluZyB2ZXJzaW9uCittdXN0IGFscmVhZHkgYmUgcmVnaXN0ZXJlZCB3aXRoIFB5UEksIHVzaW5nIHRoZSA6Y29tbWFuZDpgcmVnaXN0ZXJgIGNvbW1hbmQgLS0tCitqdXN0IGxpa2Ugd2l0aCA6Y29tbWFuZDpgdXBsb2FkYC4KKworQXNzdW1pbmcgdGhlcmUgaXMgYW4gYGBFeGFtcGxlYGAgcHJvamVjdCB3aXRoIGRvY3VtZW50YXRpb24gaW4gdGhlIHN1YmRpcmVjdG9yeQorOmZpbGU6YGRvY3NgLCBmb3IgZXhhbXBsZTo6CisKKyAgIEV4YW1wbGUvCisgICAgICBleGFtcGxlLnB5CisgICAgICBzZXR1cC5jZmcKKyAgICAgIGRvY3MvCisgICAgICAgICBidWlsZC8KKyAgICAgICAgICAgIGh0bWwvCisgICAgICAgICAgICAgICBpbmRleC5odG1sCisgICAgICAgICAgICAgICB0aXBzX3RyaWNrcy5odG1sCisgICAgICAgICBjb25mLnB5CisgICAgICAgICBpbmRleC50eHQKKyAgICAgICAgIHRpcHNfdHJpY2tzLnR4dAorCitZb3UgY2FuIHNpbXBseSBzcGVjaWZ5IHRoZSBkaXJlY3Rvcnkgd2l0aCB0aGUgSFRNTCBmaWxlcyBpbiB5b3VyCis6ZmlsZTpgc2V0dXAuY2ZnYCBmaWxlOgorCisuLiBjb2RlLWJsb2NrOjogY2ZnCisKKyAgIFt1cGxvYWRfZG9jc10KKyAgIHVwbG9hZC1kaXIgPSBkb2NzL2J1aWxkL2h0bWwKKworCisuLiBwcm9ncmFtOjogcGFja2FnaW5nIHVwbG9hZF9kb2NzCisKKy4uIGNtZG9wdGlvbjo6IC0tdXBsb2FkLWRpcgorCisgICBUaGUgZGlyZWN0b3J5IHRvIGJlIHVwbG9hZGVkIHRvIHRoZSByZXBvc2l0b3J5LiBCeSBkZWZhdWx0IGRvY3VtZW50YXRpb24KKyAgIGlzIHNlYXJjaGVkIGZvciBpbiBgYGRvY3NgYCAob3IgYGBkb2NgYCkgZGlyZWN0b3J5IGluIHByb2plY3Qgcm9vdC4KKworLi4gY21kb3B0aW9uOjogLS1zaG93LXJlc3BvbnNlCisKKyAgIERpc3BsYXkgdGhlIGZ1bGwgcmVzcG9uc2UgdGV4dCBmcm9tIHNlcnZlcjsgdGhpcyBpcyB1c2VmdWwgZm9yIGRlYnVnZ2luZworICAgUHlQSSBwcm9ibGVtcy4KKworLi4gY21kb3B0aW9uOjogLS1yZXBvc2l0b3J5PVVSTCwgLXIgVVJMCisKKyAgIFRoZSBVUkwgb2YgdGhlIHJlcG9zaXRvcnkgdG8gdXBsb2FkIHRvLiAgRGVmYXVsdHMgdG8KKyAgIGh0dHA6Ly9weXBpLnB5dGhvbi5vcmcvcHlwaSAoaS5lLiwgdGhlIG1haW4gUHlQSSBpbnN0YWxsYXRpb24pLgorCisKK1RoZSBpbnN0YWxsIHN0ZXAKKz09PT09PT09PT09PT09PT0KKworVGhlc2UgY29tbWFuZHMgYXJlIHVzZWQgYnkgZW5kLXVzZXJzIG9mIGEgcHJvamVjdCB1c2luZyA6cHJvZ3JhbTpgcHlzZXR1cGAgb3IKK2Fub3RoZXIgY29tcGF0aWJsZSBpbnN0YWxsZXIuICBFYWNoIGNvbW1hbmQgd2lsbCBydW4gdGhlIGNvcnJlc3BvbmRpbmcKKzpjb21tYW5kOmBidWlsZF8qYCBjb21tYW5kIGFuZCB0aGVuIG1vdmUgdGhlIGJ1aWx0IGZpbGVzIHRvIHRoZWlyIGRlc3RpbmF0aW9uIG9uCit0aGUgdGFyZ2V0IHN5c3RlbS4KKworCis6Y29tbWFuZDpgaW5zdGFsbF9kaXN0YAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworSW5zdGFsbCBhIGRpc3RyaWJ1dGlvbiwgZGVsZWdhdGluZyB0byB0aGUgb3RoZXIgOmNvbW1hbmQ6YGluc3RhbGxfKmAgY29tbWFuZHMgdG8KK2RvIHRoZSB3b3JrLiAgU2VlIDpyZWY6YHBhY2thZ2luZy1ob3ctaW5zdGFsbC13b3Jrc2AgZm9yIGNvbXBsZXRlIHVzYWdlCitpbnN0cnVjdGlvbnMuCisKKworOmNvbW1hbmQ6YGluc3RhbGxfZGF0YWAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK0luc3RhbGwgZGF0YSBmaWxlcy4KKworCis6Y29tbWFuZDpgaW5zdGFsbF9kaXN0aW5mb2AKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitJbnN0YWxsIGZpbGVzIHJlY29yZGluZyBkZXRhaWxzIG9mIHRoZSBpbnN0YWxsYXRpb24gYXMgc3BlY2lmaWVkIGluIDpQRVA6YDM3NmAuCisKKworOmNvbW1hbmQ6YGluc3RhbGxfaGVhZGVyc2AKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK0luc3RhbGwgQy9DKysgaGVhZGVyIGZpbGVzLgorCisKKzpjb21tYW5kOmBpbnN0YWxsX2xpYmAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworSW5zdGFsbCBhbGwgbW9kdWxlcyAoZXh0ZW5zaW9ucyBhbmQgcHVyZSBQeXRob24pLgorCisuLiBYWFggd2hhdCBhYm91dCBDIGxpYnJhcmllcyBjcmVhdGVkIHdpdGggYnVpbGRfY2xpYj8KKworU2ltaWxhcmx5IHRvIGBgYnVpbGRfcHlgYCwgdGhlcmUgYXJlIG9wdGlvbnMgdG8gY29udHJvbCB0aGUgY29tcGlsYXRpb24gb2YKK1B5dGhvbiBjb2RlIHRvIDp0ZXJtOmBieXRlY29kZWAgZmlsZXMgKHNlZSBhYm92ZSkuICBCeSBkZWZhdWx0LCA6ZmlsZTpgLnB5Y2AKK2ZpbGVzIHdpbGwgYmUgY3JlYXRlZCAoYGAtLWNvbXBpbGVgYCkgYW5kIDpmaWxlOmAucHlvYCBmaWxlcyB3aWxsIG5vdAorKGBgLS1vcHRpbWl6ZSAwYGApLgorCisKKzpjb21tYW5kOmBpbnN0YWxsX3NjcmlwdHNgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitJbnN0YWxsIHNjcmlwdHMuCmRpZmYgLS1naXQgYS9Eb2MvcGFja2FnaW5nL2NvbmZpZ2ZpbGUucnN0IGIvRG9jL3BhY2thZ2luZy9jb25maWdmaWxlLnJzdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MjViNWNiCi0tLSAvZGV2L251bGwKKysrIGIvRG9jL3BhY2thZ2luZy9jb25maWdmaWxlLnJzdApAQCAtMCwwICsxLDEyNSBAQAorLi4gX3BhY2thZ2luZy1zZXR1cC1jb25maWc6CisKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorV3JpdGluZyB0aGUgU2V0dXAgQ29uZmlndXJhdGlvbiBGaWxlCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKworT2Z0ZW4sIGl0J3Mgbm90IHBvc3NpYmxlIHRvIHdyaXRlIGRvd24gZXZlcnl0aGluZyBuZWVkZWQgdG8gYnVpbGQgYSBkaXN0cmlidXRpb24KKyphIHByaW9yaSo6IHlvdSBtYXkgbmVlZCB0byBnZXQgc29tZSBpbmZvcm1hdGlvbiBmcm9tIHRoZSB1c2VyLCBvciBmcm9tIHRoZQordXNlcidzIHN5c3RlbSwgaW4gb3JkZXIgdG8gcHJvY2VlZC4gIEFzIGxvbmcgYXMgdGhhdCBpbmZvcm1hdGlvbiBpcyBmYWlybHkKK3NpbXBsZS0tLWEgbGlzdCBvZiBkaXJlY3RvcmllcyB0byBzZWFyY2ggZm9yIEMgaGVhZGVyIGZpbGVzIG9yIGxpYnJhcmllcywgZm9yCitleGFtcGxlLS0tdGhlbiBwcm92aWRpbmcgYSBjb25maWd1cmF0aW9uIGZpbGUsIDpmaWxlOmBzZXR1cC5jZmdgLCBmb3IgdXNlcnMgdG8KK2VkaXQgaXMgYSBjaGVhcCBhbmQgZWFzeSB3YXkgdG8gc29saWNpdCBpdC4gIENvbmZpZ3VyYXRpb24gZmlsZXMgYWxzbyBsZXQgeW91Citwcm92aWRlIGRlZmF1bHQgdmFsdWVzIGZvciBhbnkgY29tbWFuZCBvcHRpb24sIHdoaWNoIHRoZSBpbnN0YWxsZXIgY2FuIHRoZW4KK292ZXJyaWRlIGVpdGhlciBvbiB0aGUgY29tbWFuZCBsaW5lIG9yIGJ5IGVkaXRpbmcgdGhlIGNvbmZpZyBmaWxlLgorCitUaGUgc2V0dXAgY29uZmlndXJhdGlvbiBmaWxlIGlzIGEgdXNlZnVsIG1pZGRsZS1ncm91bmQgYmV0d2VlbiB0aGUgc2V0dXAgc2NyaXB0CistLS13aGljaCwgaWRlYWxseSwgd291bGQgYmUgb3BhcXVlIHRvIGluc3RhbGxlcnMgWyNdXy0tLWFuZCB0aGUgY29tbWFuZCBsaW5lIHRvCit0aGUgc2V0dXAgc2NyaXB0LCB3aGljaCBpcyBvdXRzaWRlIG9mIHlvdXIgY29udHJvbCBhbmQgZW50aXJlbHkgdXAgdG8gdGhlCitpbnN0YWxsZXIuICBJbiBmYWN0LCA6ZmlsZTpgc2V0dXAuY2ZnYCAoYW5kIGFueSBvdGhlciBEaXN0dXRpbHMgY29uZmlndXJhdGlvbgorZmlsZXMgcHJlc2VudCBvbiB0aGUgdGFyZ2V0IHN5c3RlbSkgYXJlIHByb2Nlc3NlZCBhZnRlciB0aGUgY29udGVudHMgb2YgdGhlCitzZXR1cCBzY3JpcHQsIGJ1dCBiZWZvcmUgdGhlIGNvbW1hbmQgbGluZS4gIFRoaXMgaGFzICBzZXZlcmFsIHVzZWZ1bAorY29uc2VxdWVuY2VzOgorCisuLiBJZiB5b3UgaGF2ZSBtb3JlIGFkdmFuY2VkIG5lZWRzLCBzdWNoIGFzIGRldGVybWluaW5nIHdoaWNoIGV4dGVuc2lvbnMgdG8KKyAgIGJ1aWxkIGJhc2VkIG9uIHdoYXQgY2FwYWJpbGl0aWVzIGFyZSBwcmVzZW50IG9uIHRoZSB0YXJnZXQgc3lzdGVtLCB0aGVuIHlvdQorICAgbmVlZCB0aGUgRGlzdHV0aWxzIGF1dG8tY29uZmlndXJhdGlvbiBmYWNpbGl0eS4gIFRoaXMgc3RhcnRlZCB0byBhcHBlYXIgaW4KKyAgIERpc3R1dGlscyAwLjkgYnV0LCBhcyBvZiB0aGlzIHdyaXRpbmcsIGlzbid0IG1hdHVyZSBvciBzdGFibGUgZW5vdWdoIHlldAorICAgZm9yIHJlYWwtd29ybGQgdXNlLgorCisqIGluc3RhbGxlcnMgY2FuIG92ZXJyaWRlIHNvbWUgb2Ygd2hhdCB5b3UgcHV0IGluIDpmaWxlOmBzZXR1cC5weWAgYnkgZWRpdGluZworICA6ZmlsZTpgc2V0dXAuY2ZnYAorCisqIHlvdSBjYW4gcHJvdmlkZSBub24tc3RhbmRhcmQgZGVmYXVsdHMgZm9yIG9wdGlvbnMgdGhhdCBhcmUgbm90IGVhc2lseSBzZXQgaW4KKyAgOmZpbGU6YHNldHVwLnB5YAorCisqIGluc3RhbGxlcnMgY2FuIG92ZXJyaWRlIGFueXRoaW5nIGluIDpmaWxlOmBzZXR1cC5jZmdgIHVzaW5nIHRoZSBjb21tYW5kLWxpbmUKKyAgb3B0aW9ucyB0byA6ZmlsZTpgc2V0dXAucHlgCisKK1RoZSBiYXNpYyBzeW50YXggb2YgdGhlIGNvbmZpZ3VyYXRpb24gZmlsZSBpcyBzaW1wbGU6OgorCisgICBbY29tbWFuZF0KKyAgIG9wdGlvbiA9IHZhbHVlCisgICAuLi4KKword2hlcmUgKmNvbW1hbmQqIGlzIG9uZSBvZiB0aGUgRGlzdHV0aWxzIGNvbW1hbmRzIChlLmcuIDpjb21tYW5kOmBidWlsZF9weWAsCis6Y29tbWFuZDpgaW5zdGFsbF9kaXN0YCksIGFuZCAqb3B0aW9uKiBpcyBvbmUgb2YgdGhlIG9wdGlvbnMgdGhhdCBjb21tYW5kIHN1cHBvcnRzLgorQW55IG51bWJlciBvZiBvcHRpb25zIGNhbiBiZSBzdXBwbGllZCBmb3IgZWFjaCBjb21tYW5kLCBhbmQgYW55IG51bWJlciBvZgorY29tbWFuZCBzZWN0aW9ucyBjYW4gYmUgaW5jbHVkZWQgaW4gdGhlIGZpbGUuICBCbGFuayBsaW5lcyBhcmUgaWdub3JlZCwgYXMgYXJlCitjb21tZW50cywgd2hpY2ggcnVuIGZyb20gYSBgYCcjJ2BgIGNoYXJhY3RlciB1bnRpbCB0aGUgZW5kIG9mIHRoZSBsaW5lLiAgTG9uZworb3B0aW9uIHZhbHVlcyBjYW4gYmUgc3BsaXQgYWNyb3NzIG11bHRpcGxlIGxpbmVzIHNpbXBseSBieSBpbmRlbnRpbmcgdGhlCitjb250aW51YXRpb24gbGluZXMuCisKK1lvdSBjYW4gZmluZCBvdXQgdGhlIGxpc3Qgb2Ygb3B0aW9ucyBzdXBwb3J0ZWQgYnkgYSBwYXJ0aWN1bGFyIGNvbW1hbmQgd2l0aCB0aGUKK3VuaXZlcnNhbCA6b3B0aW9uOmAtLWhlbHBgIG9wdGlvbiwgZS5nLiA6OgorCisgICA+IHB5dGhvbiBzZXR1cC5weSAtLWhlbHAgYnVpbGRfZXh0CisgICBbLi4uXQorICAgT3B0aW9ucyBmb3IgJ2J1aWxkX2V4dCcgY29tbWFuZDoKKyAgICAgLS1idWlsZC1saWIgKC1iKSAgICAgZGlyZWN0b3J5IGZvciBjb21waWxlZCBleHRlbnNpb24gbW9kdWxlcworICAgICAtLWJ1aWxkLXRlbXAgKC10KSAgICBkaXJlY3RvcnkgZm9yIHRlbXBvcmFyeSBmaWxlcyAoYnVpbGQgYnktcHJvZHVjdHMpCisgICAgIC0taW5wbGFjZSAoLWkpICAgICAgIGlnbm9yZSBidWlsZC1saWIgYW5kIHB1dCBjb21waWxlZCBleHRlbnNpb25zIGludG8gdGhlCisgICAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZSBkaXJlY3RvcnkgYWxvbmdzaWRlIHlvdXIgcHVyZSBQeXRob24gbW9kdWxlcworICAgICAtLWluY2x1ZGUtZGlycyAoLUkpICBsaXN0IG9mIGRpcmVjdG9yaWVzIHRvIHNlYXJjaCBmb3IgaGVhZGVyIGZpbGVzCisgICAgIC0tZGVmaW5lICgtRCkgICAgICAgIEMgcHJlcHJvY2Vzc29yIG1hY3JvcyB0byBkZWZpbmUKKyAgICAgLS11bmRlZiAoLVUpICAgICAgICAgQyBwcmVwcm9jZXNzb3IgbWFjcm9zIHRvIHVuZGVmaW5lCisgICAgIC0tc3dpZy1vcHRzICAgICAgICAgIGxpc3Qgb2YgU1dJRyBjb21tYW5kLWxpbmUgb3B0aW9ucworICAgWy4uLl0KKworLi4gWFhYIGRvIHdlIHdhbnQgdG8gc3VwcG9ydCBgYHNldHVwLnB5IC0taGVscCBtZXRhZGF0YWBgPworCitOb3RlIHRoYXQgYW4gb3B0aW9uIHNwZWxsZWQgOm9wdGlvbjpgLS1mb28tYmFyYCBvbiB0aGUgY29tbWFuZCBsaW5lICBpcyBzcGVsbGVkCis6b3B0aW9uOmBmb29fYmFyYCBpbiBjb25maWd1cmF0aW9uIGZpbGVzLgorCitGb3IgZXhhbXBsZSwgc2F5IHlvdSB3YW50IHlvdXIgZXh0ZW5zaW9ucyB0byBiZSBidWlsdCAiaW4tcGxhY2UiLS0tdGhhdCBpcywgeW91CitoYXZlIGFuIGV4dGVuc2lvbiA6bW9kOmBwa2cuZXh0YCwgYW5kIHlvdSB3YW50IHRoZSBjb21waWxlZCBleHRlbnNpb24gZmlsZQorKDpmaWxlOmBleHQuc29gIG9uIFVuaXgsIHNheSkgdG8gYmUgcHV0IGluIHRoZSBzYW1lIHNvdXJjZSBkaXJlY3RvcnkgYXMgeW91cgorcHVyZSBQeXRob24gbW9kdWxlcyA6bW9kOmBwa2cubW9kMWAgYW5kIDptb2Q6YHBrZy5tb2QyYC4gIFlvdSBjYW4gYWx3YXlzIHVzZSB0aGUKKzpvcHRpb246YC0taW5wbGFjZWAgb3B0aW9uIG9uIHRoZSBjb21tYW5kIGxpbmUgdG8gZW5zdXJlIHRoaXM6OgorCisgICBweXRob24gc2V0dXAucHkgYnVpbGRfZXh0IC0taW5wbGFjZQorCitCdXQgdGhpcyByZXF1aXJlcyB0aGF0IHlvdSBhbHdheXMgc3BlY2lmeSB0aGUgOmNvbW1hbmQ6YGJ1aWxkX2V4dGAgY29tbWFuZAorZXhwbGljaXRseSwgYW5kIHJlbWVtYmVyIHRvIHByb3ZpZGUgOm9wdGlvbjpgLS1pbnBsYWNlYC4gQW4gZWFzaWVyIHdheSBpcyB0bworInNldCBhbmQgZm9yZ2V0IiB0aGlzIG9wdGlvbiwgYnkgZW5jb2RpbmcgaXQgaW4gOmZpbGU6YHNldHVwLmNmZ2AsIHRoZQorY29uZmlndXJhdGlvbiBmaWxlIGZvciB0aGlzIGRpc3RyaWJ1dGlvbjo6CisKKyAgIFtidWlsZF9leHRdCisgICBpbnBsYWNlID0gMQorCitUaGlzIHdpbGwgYWZmZWN0IGFsbCBidWlsZHMgb2YgdGhpcyBtb2R1bGUgZGlzdHJpYnV0aW9uLCB3aGV0aGVyIG9yIG5vdCB5b3UKK2V4cGxpY2l0bHkgc3BlY2lmeSA6Y29tbWFuZDpgYnVpbGRfZXh0YC4gIElmIHlvdSBpbmNsdWRlIDpmaWxlOmBzZXR1cC5jZmdgIGluCit5b3VyIHNvdXJjZSBkaXN0cmlidXRpb24sIGl0IHdpbGwgYWxzbyBhZmZlY3QgZW5kLXVzZXIgYnVpbGRzLS0td2hpY2ggaXMKK3Byb2JhYmx5IGEgYmFkIGlkZWEgZm9yIHRoaXMgb3B0aW9uLCBzaW5jZSBhbHdheXMgYnVpbGRpbmcgZXh0ZW5zaW9ucyBpbi1wbGFjZQord291bGQgYnJlYWsgaW5zdGFsbGF0aW9uIG9mIHRoZSBtb2R1bGUgZGlzdHJpYnV0aW9uLiAgSW4gY2VydGFpbiBwZWN1bGlhciBjYXNlcywKK3Rob3VnaCwgbW9kdWxlcyBhcmUgYnVpbHQgcmlnaHQgaW4gdGhlaXIgaW5zdGFsbGF0aW9uIGRpcmVjdG9yeSwgc28gdGhpcyBpcworY29uY2VpdmFibHkgYSB1c2VmdWwgYWJpbGl0eS4gIChEaXN0cmlidXRpbmcgZXh0ZW5zaW9ucyB0aGF0IGV4cGVjdCB0byBiZSBidWlsdAoraW4gdGhlaXIgaW5zdGFsbGF0aW9uIGRpcmVjdG9yeSBpcyBhbG1vc3QgYWx3YXlzIGEgYmFkIGlkZWEsIHRob3VnaC4pCisKK0Fub3RoZXIgZXhhbXBsZTogY2VydGFpbiBjb21tYW5kcyB0YWtlIG9wdGlvbnMgdGhhdCB2YXJ5IGZyb20gcHJvamVjdCB0bworcHJvamVjdCBidXQgbm90IGRlcGVuZGluZyBvbiB0aGUgaW5zdGFsbGF0aW9uIHN5c3RlbSwgZm9yIGV4YW1wbGUsCis6Y29tbWFuZDpgdGVzdGAgbmVlZHMgdG8ga25vdyB3aGVyZSB5b3VyIHRlc3Qgc3VpdGUgaXMgbG9jYXRlZCBhbmQgd2hhdCB0ZXN0CitydW5uZXIgdG8gdXNlOyBsaWtld2lzZSwgOmNvbW1hbmQ6YHVwbG9hZF9kb2NzYCBjYW4gZmluZCBIVE1MIGRvY3VtZW50YXRpb24gaW4KK2EgOmZpbGU6YGRvY2Agb3IgOmZpbGU6YGRvY3NgIGRpcmVjdG9yeSwgYnV0IG5lZWRzIGFuIG9wdGlvbiB0byBmaW5kIGZpbGVzIGluCis6ZmlsZTpgZG9jcy9idWlsZC9odG1sYC4gIEluc3RlYWQgb2YgaGF2aW5nIHRvIHR5cGUgb3V0IHRoZXNlIG9wdGlvbnMgZWFjaAordGltZSB5b3Ugd2FudCB0byBydW4gdGhlIGNvbW1hbmQsIHlvdSBjYW4gcHV0IHRoZW0gaW4gdGhlIHByb2plY3QncworOmZpbGU6YHNldHVwLmNmZ2A6OgorCisgICBbdGVzdF0KKyAgIHN1aXRlID0gcGFja2FnaW5nLnRlc3RzCisKKyAgIFt1cGxvYWRfZG9jc10KKyAgIHVwbG9hZC1kaXIgPSBkb2NzL2J1aWxkL2h0bWwKKworCisuLiBzZWVhbHNvOjoKKworICAgOnJlZjpgcGFja2FnaW5nLWNvbmZpZy1zeW50YXhgIGluICJJbnN0YWxsaW5nIFB5dGhvbiBQcm9qZWN0cyIKKyAgICAgIE1vcmUgaW5mb3JtYXRpb24gb24gdGhlIGNvbmZpZ3VyYXRpb24gZmlsZXMgaXMgYXZhaWxhYmxlIGluIHRoZSBtYW51YWwgZm9yCisgICAgICBzeXN0ZW0gYWRtaW5pc3RyYXRvcnMuCisKKworLi4gcnVicmljOjogRm9vdG5vdGVzCisKKy4uIFsjXSBUaGlzIGlkZWFsIHByb2JhYmx5IHdvbid0IGJlIGFjaGlldmVkIHVudGlsIGF1dG8tY29uZmlndXJhdGlvbiBpcyBmdWxseQorICAgc3VwcG9ydGVkIGJ5IHRoZSBEaXN0dXRpbHMuCmRpZmYgLS1naXQgYS9Eb2MvcGFja2FnaW5nL2V4YW1wbGVzLnJzdCBiL0RvYy9wYWNrYWdpbmcvZXhhbXBsZXMucnN0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU5NGFkZTAKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2MvcGFja2FnaW5nL2V4YW1wbGVzLnJzdApAQCAtMCwwICsxLDMzNCBAQAorLi4gX3BhY2thZ2luZy1leGFtcGxlczoKKworKioqKioqKioKK0V4YW1wbGVzCisqKioqKioqKgorCitUaGlzIGNoYXB0ZXIgcHJvdmlkZXMgYSBudW1iZXIgb2YgYmFzaWMgZXhhbXBsZXMgdG8gaGVscCBnZXQgc3RhcnRlZCB3aXRoCitQYWNrYWdpbmcuCisKKworLi4gX3BhY2thZ2luZy1wdXJlLW1vZDoKKworUHVyZSBQeXRob24gZGlzdHJpYnV0aW9uIChieSBtb2R1bGUpCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworSWYgeW91J3JlIGp1c3QgZGlzdHJpYnV0aW5nIGEgY291cGxlIG9mIG1vZHVsZXMsIGVzcGVjaWFsbHkgaWYgdGhleSBkb24ndCBsaXZlCitpbiBhIHBhcnRpY3VsYXIgcGFja2FnZSwgeW91IGNhbiBzcGVjaWZ5IHRoZW0gaW5kaXZpZHVhbGx5IHVzaW5nIHRoZQorOm9wdGlvbjpgcHlfbW9kdWxlc2Agb3B0aW9uIGluIHRoZSBzZXR1cCBzY3JpcHQuCisKK0luIHRoZSBzaW1wbGVzdCBjYXNlLCB5b3UnbGwgaGF2ZSB0d28gZmlsZXMgdG8gd29ycnkgYWJvdXQ6IGEgc2V0dXAgc2NyaXB0IGFuZAordGhlIHNpbmdsZSBtb2R1bGUgeW91J3JlIGRpc3RyaWJ1dGluZywgOmZpbGU6YGZvby5weWAgaW4gdGhpcyBleGFtcGxlOjoKKworICAgPHJvb3Q+LworICAgICAgICAgIHNldHVwLnB5CisgICAgICAgICAgZm9vLnB5CisKKyhJbiBhbGwgZGlhZ3JhbXMgaW4gdGhpcyBzZWN0aW9uLCAqPHJvb3Q+KiB3aWxsIHJlZmVyIHRvIHRoZSBkaXN0cmlidXRpb24gcm9vdAorZGlyZWN0b3J5LikgIEEgbWluaW1hbCBzZXR1cCBzY3JpcHQgdG8gZGVzY3JpYmUgdGhpcyBzaXR1YXRpb24gd291bGQgYmU6OgorCisgICBmcm9tIHBhY2thZ2luZy5jb3JlIGltcG9ydCBzZXR1cAorICAgc2V0dXAobmFtZT0nZm9vJywKKyAgICAgICAgIHZlcnNpb249JzEuMCcsCisgICAgICAgICBweV9tb2R1bGVzPVsnZm9vJ10pCisKK05vdGUgdGhhdCB0aGUgbmFtZSBvZiB0aGUgZGlzdHJpYnV0aW9uIGlzIHNwZWNpZmllZCBpbmRlcGVuZGVudGx5IHdpdGggdGhlCis6b3B0aW9uOmBuYW1lYCBvcHRpb24sIGFuZCB0aGVyZSdzIG5vIHJ1bGUgdGhhdCBzYXlzIGl0IGhhcyB0byBiZSB0aGUgc2FtZSBhcwordGhlIG5hbWUgb2YgdGhlIHNvbGUgbW9kdWxlIGluIHRoZSBkaXN0cmlidXRpb24gKGFsdGhvdWdoIHRoYXQncyBwcm9iYWJseSBhIGdvb2QKK2NvbnZlbnRpb24gdG8gZm9sbG93KS4gIEhvd2V2ZXIsIHRoZSBkaXN0cmlidXRpb24gbmFtZSBpcyB1c2VkIHRvIGdlbmVyYXRlCitmaWxlbmFtZXMsIHNvIHlvdSBzaG91bGQgc3RpY2sgdG8gbGV0dGVycywgZGlnaXRzLCB1bmRlcnNjb3JlcywgYW5kIGh5cGhlbnMuCisKK1NpbmNlIDpvcHRpb246YHB5X21vZHVsZXNgIGlzIGEgbGlzdCwgeW91IGNhbiBvZiBjb3Vyc2Ugc3BlY2lmeSBtdWx0aXBsZQorbW9kdWxlcywgZS5nLiBpZiB5b3UncmUgZGlzdHJpYnV0aW5nIG1vZHVsZXMgOm1vZDpgZm9vYCBhbmQgOm1vZDpgYmFyYCwgeW91cgorc2V0dXAgbWlnaHQgbG9vayBsaWtlIHRoaXM6OgorCisgICA8cm9vdD4vCisgICAgICAgICAgc2V0dXAucHkKKyAgICAgICAgICBmb28ucHkKKyAgICAgICAgICBiYXIucHkKKworYW5kIHRoZSBzZXR1cCBzY3JpcHQgbWlnaHQgYmUgIDo6CisKKyAgIGZyb20gcGFja2FnaW5nLmNvcmUgaW1wb3J0IHNldHVwCisgICBzZXR1cChuYW1lPSdmb29iYXInLAorICAgICAgICAgdmVyc2lvbj0nMS4wJywKKyAgICAgICAgIHB5X21vZHVsZXM9Wydmb28nLCAnYmFyJ10pCisKK1lvdSBjYW4gcHV0IG1vZHVsZSBzb3VyY2UgZmlsZXMgaW50byBhbm90aGVyIGRpcmVjdG9yeSwgYnV0IGlmIHlvdSBoYXZlIGVub3VnaAorbW9kdWxlcyB0byBkbyB0aGF0LCBpdCdzIHByb2JhYmx5IGVhc2llciB0byBzcGVjaWZ5IG1vZHVsZXMgYnkgcGFja2FnZSByYXRoZXIKK3RoYW4gbGlzdGluZyB0aGVtIGluZGl2aWR1YWxseS4KKworCisuLiBfcGFja2FnaW5nLXB1cmUtcGtnOgorCitQdXJlIFB5dGhvbiBkaXN0cmlidXRpb24gKGJ5IHBhY2thZ2UpCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKK0lmIHlvdSBoYXZlIG1vcmUgdGhhbiBhIGNvdXBsZSBvZiBtb2R1bGVzIHRvIGRpc3RyaWJ1dGUsIGVzcGVjaWFsbHkgaWYgdGhleSBhcmUKK2luIG11bHRpcGxlIHBhY2thZ2VzLCBpdCdzIHByb2JhYmx5IGVhc2llciB0byBzcGVjaWZ5IHdob2xlIHBhY2thZ2VzIHJhdGhlciB0aGFuCitpbmRpdmlkdWFsIG1vZHVsZXMuICBUaGlzIHdvcmtzIGV2ZW4gaWYgeW91ciBtb2R1bGVzIGFyZSBub3QgaW4gYSBwYWNrYWdlOyB5b3UKK2NhbiBqdXN0IHRlbGwgdGhlIERpc3R1dGlscyB0byBwcm9jZXNzIG1vZHVsZXMgZnJvbSB0aGUgcm9vdCBwYWNrYWdlLCBhbmQgdGhhdAord29ya3MgdGhlIHNhbWUgYXMgYW55IG90aGVyIHBhY2thZ2UgKGV4Y2VwdCB0aGF0IHlvdSBkb24ndCBoYXZlIHRvIGhhdmUgYW4KKzpmaWxlOmBfX2luaXRfXy5weWAgZmlsZSkuCisKK1RoZSBzZXR1cCBzY3JpcHQgZnJvbSB0aGUgbGFzdCBleGFtcGxlIGNvdWxkIGFsc28gYmUgd3JpdHRlbiBhcyAgOjoKKworICAgZnJvbSBwYWNrYWdpbmcuY29yZSBpbXBvcnQgc2V0dXAKKyAgIHNldHVwKG5hbWU9J2Zvb2JhcicsCisgICAgICAgICB2ZXJzaW9uPScxLjAnLAorICAgICAgICAgcGFja2FnZXM9WycnXSkKKworKFRoZSBlbXB0eSBzdHJpbmcgc3RhbmRzIGZvciB0aGUgcm9vdCBwYWNrYWdlLikKKworSWYgdGhvc2UgdHdvIGZpbGVzIGFyZSBtb3ZlZCBpbnRvIGEgc3ViZGlyZWN0b3J5LCBidXQgcmVtYWluIGluIHRoZSByb290CitwYWNrYWdlLCBlLmcuOjoKKworICAgPHJvb3Q+LworICAgICAgICAgIHNldHVwLnB5CisgICAgICAgICAgc3JjLworICAgICAgICAgICAgICBmb28ucHkKKyAgICAgICAgICAgICAgYmFyLnB5CisKK3RoZW4geW91IHdvdWxkIHN0aWxsIHNwZWNpZnkgdGhlIHJvb3QgcGFja2FnZSwgYnV0IHlvdSBoYXZlIHRvIHRlbGwgdGhlCitEaXN0dXRpbHMgd2hlcmUgc291cmNlIGZpbGVzIGluIHRoZSByb290IHBhY2thZ2UgbGl2ZTo6CisKKyAgIGZyb20gcGFja2FnaW5nLmNvcmUgaW1wb3J0IHNldHVwCisgICBzZXR1cChuYW1lPSdmb29iYXInLAorICAgICAgICAgdmVyc2lvbj0nMS4wJywKKyAgICAgICAgIHBhY2thZ2VfZGlyPXsnJzogJ3NyYyd9LAorICAgICAgICAgcGFja2FnZXM9WycnXSkKKworTW9yZSB0eXBpY2FsbHksIHRob3VnaCwgeW91IHdpbGwgd2FudCB0byBkaXN0cmlidXRlIG11bHRpcGxlIG1vZHVsZXMgaW4gdGhlIHNhbWUKK3BhY2thZ2UgKG9yIGluIHN1Yi1wYWNrYWdlcykuICBGb3IgZXhhbXBsZSwgaWYgdGhlIDptb2Q6YGZvb2AgIGFuZCA6bW9kOmBiYXJgCittb2R1bGVzIGJlbG9uZyBpbiBwYWNrYWdlIDptb2Q6YGZvb2JhcmAsIG9uZSB3YXkgdG8gbGF5IG91dCB5b3VyIHNvdXJjZSB0cmVlIGlzCisKKzo6CisKKyAgIDxyb290Pi8KKyAgICAgICAgICBzZXR1cC5weQorICAgICAgICAgIGZvb2Jhci8KKyAgICAgICAgICAgICAgICAgX19pbml0X18ucHkKKyAgICAgICAgICAgICAgICAgZm9vLnB5CisgICAgICAgICAgICAgICAgIGJhci5weQorCitUaGlzIGlzIGluIGZhY3QgdGhlIGRlZmF1bHQgbGF5b3V0IGV4cGVjdGVkIGJ5IHRoZSBEaXN0dXRpbHMsIGFuZCB0aGUgb25lIHRoYXQKK3JlcXVpcmVzIHRoZSBsZWFzdCB3b3JrIHRvIGRlc2NyaWJlIGluIHlvdXIgc2V0dXAgc2NyaXB0OjoKKworICAgZnJvbSBwYWNrYWdpbmcuY29yZSBpbXBvcnQgc2V0dXAKKyAgIHNldHVwKG5hbWU9J2Zvb2JhcicsCisgICAgICAgICB2ZXJzaW9uPScxLjAnLAorICAgICAgICAgcGFja2FnZXM9Wydmb29iYXInXSkKKworSWYgeW91IHdhbnQgdG8gcHV0IG1vZHVsZXMgaW4gZGlyZWN0b3JpZXMgbm90IG5hbWVkIGZvciB0aGVpciBwYWNrYWdlLCB0aGVuIHlvdQorbmVlZCB0byB1c2UgdGhlIDpvcHRpb246YHBhY2thZ2VfZGlyYCBvcHRpb24gYWdhaW4uICBGb3IgZXhhbXBsZSwgaWYgdGhlCis6ZmlsZTpgc3JjYCBkaXJlY3RvcnkgaG9sZHMgbW9kdWxlcyBpbiB0aGUgOm1vZDpgZm9vYmFyYCBwYWNrYWdlOjoKKworICAgPHJvb3Q+LworICAgICAgICAgIHNldHVwLnB5CisgICAgICAgICAgc3JjLworICAgICAgICAgICAgICBfX2luaXRfXy5weQorICAgICAgICAgICAgICBmb28ucHkKKyAgICAgICAgICAgICAgYmFyLnB5CisKK2FuIGFwcHJvcHJpYXRlIHNldHVwIHNjcmlwdCB3b3VsZCBiZSAgOjoKKworICAgZnJvbSBwYWNrYWdpbmcuY29yZSBpbXBvcnQgc2V0dXAKKyAgIHNldHVwKG5hbWU9J2Zvb2JhcicsCisgICAgICAgICB2ZXJzaW9uPScxLjAnLAorICAgICAgICAgcGFja2FnZV9kaXI9eydmb29iYXInOiAnc3JjJ30sCisgICAgICAgICBwYWNrYWdlcz1bJ2Zvb2JhciddKQorCitPciwgeW91IG1pZ2h0IHB1dCBtb2R1bGVzIGZyb20geW91ciBtYWluIHBhY2thZ2UgcmlnaHQgaW4gdGhlIGRpc3RyaWJ1dGlvbgorcm9vdDo6CisKKyAgIDxyb290Pi8KKyAgICAgICAgICBzZXR1cC5weQorICAgICAgICAgIF9faW5pdF9fLnB5CisgICAgICAgICAgZm9vLnB5CisgICAgICAgICAgYmFyLnB5CisKK2luIHdoaWNoIGNhc2UgeW91ciBzZXR1cCBzY3JpcHQgd291bGQgYmUgIDo6CisKKyAgIGZyb20gcGFja2FnaW5nLmNvcmUgaW1wb3J0IHNldHVwCisgICBzZXR1cChuYW1lPSdmb29iYXInLAorICAgICAgICAgdmVyc2lvbj0nMS4wJywKKyAgICAgICAgIHBhY2thZ2VfZGlyPXsnZm9vYmFyJzogJyd9LAorICAgICAgICAgcGFja2FnZXM9Wydmb29iYXInXSkKKworKFRoZSBlbXB0eSBzdHJpbmcgYWxzbyBzdGFuZHMgZm9yIHRoZSBjdXJyZW50IGRpcmVjdG9yeS4pCisKK0lmIHlvdSBoYXZlIHN1Yi1wYWNrYWdlcywgdGhleSBtdXN0IGJlIGV4cGxpY2l0bHkgbGlzdGVkIGluIDpvcHRpb246YHBhY2thZ2VzYCwKK2J1dCBhbnkgZW50cmllcyBpbiA6b3B0aW9uOmBwYWNrYWdlX2RpcmAgYXV0b21hdGljYWxseSBleHRlbmQgdG8gc3ViLXBhY2thZ2VzLgorKEluIG90aGVyIHdvcmRzLCB0aGUgRGlzdHV0aWxzIGRvZXMgKm5vdCogc2NhbiB5b3VyIHNvdXJjZSB0cmVlLCB0cnlpbmcgdG8KK2ZpZ3VyZSBvdXQgd2hpY2ggZGlyZWN0b3JpZXMgY29ycmVzcG9uZCB0byBQeXRob24gcGFja2FnZXMgYnkgbG9va2luZyBmb3IKKzpmaWxlOmBfX2luaXRfXy5weWAgZmlsZXMuKSAgVGh1cywgaWYgdGhlIGRlZmF1bHQgbGF5b3V0IGdyb3dzIGEgc3ViLXBhY2thZ2U6OgorCisgICA8cm9vdD4vCisgICAgICAgICAgc2V0dXAucHkKKyAgICAgICAgICBmb29iYXIvCisgICAgICAgICAgICAgICAgIF9faW5pdF9fLnB5CisgICAgICAgICAgICAgICAgIGZvby5weQorICAgICAgICAgICAgICAgICBiYXIucHkKKyAgICAgICAgICAgICAgICAgc3ViZm9vLworICAgICAgICAgICAgICAgICAgICAgICAgX19pbml0X18ucHkKKyAgICAgICAgICAgICAgICAgICAgICAgIGJsYWgucHkKKwordGhlbiB0aGUgY29ycmVzcG9uZGluZyBzZXR1cCBzY3JpcHQgd291bGQgYmUgIDo6CisKKyAgIGZyb20gcGFja2FnaW5nLmNvcmUgaW1wb3J0IHNldHVwCisgICBzZXR1cChuYW1lPSdmb29iYXInLAorICAgICAgICAgdmVyc2lvbj0nMS4wJywKKyAgICAgICAgIHBhY2thZ2VzPVsnZm9vYmFyJywgJ2Zvb2Jhci5zdWJmb28nXSkKKworKEFnYWluLCB0aGUgZW1wdHkgc3RyaW5nIGluIDpvcHRpb246YHBhY2thZ2VfZGlyYCBzdGFuZHMgZm9yIHRoZSBjdXJyZW50CitkaXJlY3RvcnkuKQorCisKKy4uIF9wYWNrYWdpbmctc2luZ2xlLWV4dDoKKworU2luZ2xlIGV4dGVuc2lvbiBtb2R1bGUKKz09PT09PT09PT09PT09PT09PT09PT09CisKK0V4dGVuc2lvbiBtb2R1bGVzIGFyZSBzcGVjaWZpZWQgdXNpbmcgdGhlIDpvcHRpb246YGV4dF9tb2R1bGVzYCBvcHRpb24uCis6b3B0aW9uOmBwYWNrYWdlX2RpcmAgaGFzIG5vIGVmZmVjdCBvbiB3aGVyZSBleHRlbnNpb24gc291cmNlIGZpbGVzIGFyZSBmb3VuZDsKK2l0IG9ubHkgYWZmZWN0cyB0aGUgc291cmNlIGZvciBwdXJlIFB5dGhvbiBtb2R1bGVzLiAgVGhlIHNpbXBsZXN0ICBjYXNlLCBhCitzaW5nbGUgZXh0ZW5zaW9uIG1vZHVsZSBpbiBhIHNpbmdsZSBDIHNvdXJjZSBmaWxlLCBpczo6CisKKyAgIDxyb290Pi8KKyAgICAgICAgICBzZXR1cC5weQorICAgICAgICAgIGZvby5jCisKK0lmIHRoZSA6bW9kOmBmb29gIGV4dGVuc2lvbiBiZWxvbmdzIGluIHRoZSByb290IHBhY2thZ2UsIHRoZSBzZXR1cCBzY3JpcHQgZm9yCit0aGlzIGNvdWxkIGJlICA6OgorCisgICBmcm9tIHBhY2thZ2luZy5jb3JlIGltcG9ydCBzZXR1cCwgRXh0ZW5zaW9uCisgICBzZXR1cChuYW1lPSdmb29iYXInLAorICAgICAgICAgdmVyc2lvbj0nMS4wJywKKyAgICAgICAgIGV4dF9tb2R1bGVzPVtFeHRlbnNpb24oJ2ZvbycsIFsnZm9vLmMnXSldKQorCitJZiB0aGUgZXh0ZW5zaW9uIGFjdHVhbGx5IGJlbG9uZ3MgaW4gYSBwYWNrYWdlLCBzYXkgOm1vZDpgZm9vcGtnYCwgdGhlbgorCitXaXRoIGV4YWN0bHkgdGhlIHNhbWUgc291cmNlIHRyZWUgbGF5b3V0LCB0aGlzIGV4dGVuc2lvbiBjYW4gYmUgcHV0IGluIHRoZQorOm1vZDpgZm9vcGtnYCBwYWNrYWdlIHNpbXBseSBieSBjaGFuZ2luZyB0aGUgbmFtZSBvZiB0aGUgZXh0ZW5zaW9uOjoKKworICAgZnJvbSBwYWNrYWdpbmcuY29yZSBpbXBvcnQgc2V0dXAsIEV4dGVuc2lvbgorICAgc2V0dXAobmFtZT0nZm9vYmFyJywKKyAgICAgICAgIHZlcnNpb249JzEuMCcsCisgICAgICAgICBwYWNrYWdlcz1bJ2Zvb3BrZyddLAorICAgICAgICAgZXh0X21vZHVsZXM9W0V4dGVuc2lvbignZm9vcGtnLmZvbycsIFsnZm9vLmMnXSldKQorCisKK0NoZWNraW5nIG1ldGFkYXRhCis9PT09PT09PT09PT09PT09PQorCitUaGUgYGBjaGVja2BgIGNvbW1hbmQgYWxsb3dzIHlvdSB0byB2ZXJpZnkgaWYgeW91ciBwcm9qZWN0J3MgbWV0YWRhdGEKK21lZXRzIHRoZSBtaW5pbXVtIHJlcXVpcmVtZW50cyB0byBidWlsZCBhIGRpc3RyaWJ1dGlvbi4KKworVG8gcnVuIGl0LCBqdXN0IGNhbGwgaXQgdXNpbmcgeW91ciA6ZmlsZTpgc2V0dXAucHlgIHNjcmlwdC4gSWYgc29tZXRoaW5nIGlzCittaXNzaW5nLCBgYGNoZWNrYGAgd2lsbCBkaXNwbGF5IGEgd2FybmluZy4KKworTGV0J3MgdGFrZSBhbiBleGFtcGxlIHdpdGggYSBzaW1wbGUgc2NyaXB0OjoKKworICAgIGZyb20gcGFja2FnaW5nLmNvcmUgaW1wb3J0IHNldHVwCisKKyAgICBzZXR1cChuYW1lPSdmb29iYXInKQorCisuLiBUT0RPIGNvbmZpZ3VyZSBsb2dnaW5nIFN0cmVhbUhhbmRsZXIgdG8gbWF0Y2ggdGhpcyBvdXRwdXQKKworUnVubmluZyB0aGUgYGBjaGVja2BgIGNvbW1hbmQgd2lsbCBkaXNwbGF5IHNvbWUgd2FybmluZ3M6OgorCisgICAgJCBweXRob24gc2V0dXAucHkgY2hlY2sKKyAgICBydW5uaW5nIGNoZWNrCisgICAgd2FybmluZzogY2hlY2s6IG1pc3NpbmcgcmVxdWlyZWQgbWV0YWRhdGE6IHZlcnNpb24sIGhvbWVfcGFnZQorICAgIHdhcm5pbmc6IGNoZWNrOiBtaXNzaW5nIG1ldGFkYXRhOiBlaXRoZXIgKGF1dGhvciBhbmQgYXV0aG9yX2VtYWlsKSBvcgorICAgICAgICAgICAgIChtYWludGFpbmVyIGFuZCBtYWludGFpbmVyX2VtYWlsKSBtdXN0IGJlIHN1cHBsaWVkCisKKworSWYgeW91IHVzZSB0aGUgcmVTdHJ1Y3R1cmVkVGV4dCBzeW50YXggaW4gdGhlIGBgbG9uZ19kZXNjcmlwdGlvbmBgIGZpZWxkIGFuZAorYERvY3V0aWxzIDxodHRwOi8vZG9jdXRpbHMuc291cmNlZm9yZ2UubmV0Lz5gXyBpcyBpbnN0YWxsZWQgeW91IGNhbiBjaGVjayBpZgordGhlIHN5bnRheCBpcyBmaW5lIHdpdGggdGhlIGBgY2hlY2tgYCBjb21tYW5kLCB1c2luZyB0aGUgYGByZXN0cnVjdHVyZWR0ZXh0YGAKK29wdGlvbi4KKworRm9yIGV4YW1wbGUsIGlmIHRoZSA6ZmlsZTpgc2V0dXAucHlgIHNjcmlwdCBpcyBjaGFuZ2VkIGxpa2UgdGhpczo6CisKKyAgICBmcm9tIHBhY2thZ2luZy5jb3JlIGltcG9ydCBzZXR1cAorCisgICAgZGVzYyA9ICIiIlwKKyAgICBXZWxjb21lIHRvIGZvb2JhciEKKyAgICA9PT09PT09PT09PT09PT0KKworICAgIFRoaXMgaXMgdGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBgYGZvb2JhcmBgIHByb2plY3QuCisgICAgIiIiCisKKyAgICBzZXR1cChuYW1lPSdmb29iYXInLAorICAgICAgICAgIHZlcnNpb249JzEuMCcsCisgICAgICAgICAgYXV0aG9yPXUnVGFyZWsgWmlhZMOpJywKKyAgICAgICAgICBhdXRob3JfZW1haWw9J3RhcmVrQHppYWRlLm9yZycsCisgICAgICAgICAgc3VtbWFyeT0nRm9vYmFyIHV0aWxpdGllcycKKyAgICAgICAgICBkZXNjcmlwdGlvbj1kZXNjLAorICAgICAgICAgIGhvbWVfcGFnZT0naHR0cDovL2V4YW1wbGUuY29tJykKKworV2hlcmUgdGhlIGxvbmcgZGVzY3JpcHRpb24gaXMgYnJva2VuLCBgYGNoZWNrYGAgd2lsbCBiZSBhYmxlIHRvIGRldGVjdCBpdAorYnkgdXNpbmcgdGhlIDptb2Q6YGRvY3V0aWxzYCBwYXJzZXI6OgorCisgICAgJCBweXRob24gc2V0dXAucHkgY2hlY2sgLS1yZXN0cnVjdHVyZWR0ZXh0CisgICAgcnVubmluZyBjaGVjaworICAgIHdhcm5pbmc6IGNoZWNrOiBUaXRsZSB1bmRlcmxpbmUgdG9vIHNob3J0LiAobGluZSAyKQorICAgIHdhcm5pbmc6IGNoZWNrOiBDb3VsZCBub3QgZmluaXNoIHRoZSBwYXJzaW5nLgorCisKKy4uIF9wYWNrYWdpbmctcmVhZGluZy1tZXRhZGF0YToKKworUmVhZGluZyB0aGUgbWV0YWRhdGEKKz09PT09PT09PT09PT09PT09PT09CisKK1RoZSA6ZnVuYzpgcGFja2FnaW5nLmNvcmUuc2V0dXBgIGZ1bmN0aW9uIHByb3ZpZGVzIGEgY29tbWFuZC1saW5lIGludGVyZmFjZQordGhhdCBhbGxvd3MgeW91IHRvIHF1ZXJ5IHRoZSBtZXRhZGF0YSBmaWVsZHMgb2YgYSBwcm9qZWN0IHRocm91Z2ggdGhlCis6ZmlsZTpgc2V0dXAucHlgIHNjcmlwdCBvZiBhIGdpdmVuIHByb2plY3Q6OgorCisgICAgJCBweXRob24gc2V0dXAucHkgLS1uYW1lCisgICAgZm9vYmFyCisKK1RoaXMgY2FsbCByZWFkcyB0aGUgYGBuYW1lYGAgbWV0YWRhdGEgYnkgcnVubmluZyB0aGUKKzpmdW5jOmBwYWNrYWdpbmcuY29yZS5zZXR1cGAgIGZ1bmN0aW9uLiBXaGVuIGEgc291cmNlIG9yIGJpbmFyeQorZGlzdHJpYnV0aW9uIGlzIGNyZWF0ZWQgd2l0aCBEaXN0dXRpbHMsIHRoZSBtZXRhZGF0YSBmaWVsZHMgYXJlIHdyaXR0ZW4KK2luIGEgc3RhdGljIGZpbGUgY2FsbGVkIDpmaWxlOmBQS0ctSU5GT2AuIFdoZW4gYSBEaXN0dXRpbHMtYmFzZWQgcHJvamVjdCBpcworaW5zdGFsbGVkIGluIFB5dGhvbiwgdGhlIDpmaWxlOmBQS0ctSU5GT2AgZmlsZSBpcyBjb3BpZWQgYWxvbmdzaWRlIHRoZSBtb2R1bGVzCithbmQgcGFja2FnZXMgb2YgdGhlIGRpc3RyaWJ1dGlvbiB1bmRlciA6ZmlsZTpgTkFNRS1WRVJTSU9OLXB5WC5YLmVnZy1pbmZvYCwKK3doZXJlIGBgTkFNRWBgIGlzIHRoZSBuYW1lIG9mIHRoZSBwcm9qZWN0LCBgYFZFUlNJT05gYCBpdHMgdmVyc2lvbiBhcyBkZWZpbmVkCitpbiB0aGUgTWV0YWRhdGEsIGFuZCBgYHB5WC5YYGAgdGhlIG1ham9yIGFuZCBtaW5vciB2ZXJzaW9uIG9mIFB5dGhvbiBsaWtlCitgYDIuN2BgIG9yIGBgMy4yYGAuCisKK1lvdSBjYW4gcmVhZCBiYWNrIHRoaXMgc3RhdGljIGZpbGUsIGJ5IHVzaW5nIHRoZQorOmNsYXNzOmBwYWNrYWdpbmcuZGlzdC5NZXRhZGF0YWAgY2xhc3MgYW5kIGl0cworOmZ1bmM6YHJlYWRfcGtnX2ZpbGVgIG1ldGhvZDo6CisKKyAgICA+Pj4gZnJvbSBwYWNrYWdpbmcubWV0YWRhdGEgaW1wb3J0IE1ldGFkYXRhCisgICAgPj4+IG1ldGFkYXRhID0gTWV0YWRhdGEoKQorICAgID4+PiBtZXRhZGF0YS5yZWFkX3BrZ19maWxlKG9wZW4oJ2Rpc3RyaWJ1dGUtMC42LjgtcHkyLjcuZWdnLWluZm8nKSkKKyAgICA+Pj4gbWV0YWRhdGEubmFtZQorICAgICdkaXN0cmlidXRlJworICAgID4+PiBtZXRhZGF0YS52ZXJzaW9uCisgICAgJzAuNi44JworICAgID4+PiBtZXRhZGF0YS5kZXNjcmlwdGlvbgorICAgICdFYXNpbHkgZG93bmxvYWQsIGJ1aWxkLCBpbnN0YWxsLCB1cGdyYWRlLCBhbmQgdW5pbnN0YWxsIFB5dGhvbiBwYWNrYWdlcycKKworTm90aWNlIHRoYXQgdGhlIGNsYXNzIGNhbiBhbHNvIGJlIGluc3RhbnRpYXRlZCB3aXRoIGEgbWV0YWRhdGEgZmlsZSBwYXRoIHRvCitsb2FkcyBpdHMgdmFsdWVzOjoKKworICAgID4+PiBwa2dfaW5mb19wYXRoID0gJ2Rpc3RyaWJ1dGUtMC42LjgtcHkyLjcuZWdnLWluZm8nCisgICAgPj4+IE1ldGFkYXRhKHBrZ19pbmZvX3BhdGgpLm5hbWUKKyAgICAnZGlzdHJpYnV0ZScKKworCisuLiBYWFggVGhlc2UgY29tbWVudHMgaGF2ZSBiZWVuIGhlcmUgZm9yIGF0IGxlYXN0IHRlbiB5ZWFycy4gV3JpdGUgdGhlCisgICAgICAgc2VjdGlvbnMgb3IgZGVsZXRlIHRoZSBjb21tZW50cyAod2UgY2FuIG1heWJlIGFzayBHcmVnIFdhcmQgYWJvdXQKKyAgICAgICB0aGUgcGxhbm5lZCBjb250ZW50cykuIChVbmluZGVudCB0byBtYWtlIHRoZW0gc2VjdGlvbiB0aXRsZXMpCisKKyAgICAuLiBtdWx0aXBsZS1leHQ6OgorCisgICAgICAgTXVsdGlwbGUgZXh0ZW5zaW9uIG1vZHVsZXMKKyAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PQorCisgICAgICAgUHV0dGluZyBpdCBhbGwgdG9nZXRoZXIKKyAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PQpkaWZmIC0tZ2l0IGEvRG9jL3BhY2thZ2luZy9leHRlbmRpbmcucnN0IGIvRG9jL3BhY2thZ2luZy9leHRlbmRpbmcucnN0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYyZDM4NjMKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2MvcGFja2FnaW5nL2V4dGVuZGluZy5yc3QKQEAgLTAsMCArMSw5NSBAQAorLi4gX2V4dGVuZGluZy1wYWNrYWdpbmc6CisKKyoqKioqKioqKioqKioqKioqKioKK0V4dGVuZGluZyBEaXN0dXRpbHMKKyoqKioqKioqKioqKioqKioqKioKKworRGlzdHV0aWxzIGNhbiBiZSBleHRlbmRlZCBpbiB2YXJpb3VzIHdheXMuICBNb3N0IGV4dGVuc2lvbnMgdGFrZSB0aGUgZm9ybSBvZiBuZXcKK2NvbW1hbmRzIG9yIHJlcGxhY2VtZW50cyBmb3IgZXhpc3RpbmcgY29tbWFuZHMuICBOZXcgY29tbWFuZHMgbWF5IGJlIHdyaXR0ZW4gdG8KK3N1cHBvcnQgbmV3IHR5cGVzIG9mIHBsYXRmb3JtLXNwZWNpZmljIHBhY2thZ2luZywgZm9yIGV4YW1wbGUsIHdoaWxlCityZXBsYWNlbWVudHMgZm9yIGV4aXN0aW5nIGNvbW1hbmRzIG1heSBiZSBtYWRlIHRvIG1vZGlmeSBkZXRhaWxzIG9mIGhvdyB0aGUKK2NvbW1hbmQgb3BlcmF0ZXMgb24gYSBwYWNrYWdlLgorCitNb3N0IGV4dGVuc2lvbnMgb2YgdGhlIHBhY2thZ2luZyBhcmUgbWFkZSB3aXRoaW4gOmZpbGU6YHNldHVwLnB5YCBzY3JpcHRzIHRoYXQKK3dhbnQgdG8gbW9kaWZ5IGV4aXN0aW5nIGNvbW1hbmRzOyBtYW55IHNpbXBseSBhZGQgYSBmZXcgZmlsZSBleHRlbnNpb25zIHRoYXQKK3Nob3VsZCBiZSBjb3BpZWQgaW50byBwYWNrYWdlcyBpbiBhZGRpdGlvbiB0byA6ZmlsZTpgLnB5YCBmaWxlcyBhcyBhCitjb252ZW5pZW5jZS4KKworTW9zdCBwYWNrYWdpbmcgY29tbWFuZCBpbXBsZW1lbnRhdGlvbnMgYXJlIHN1YmNsYXNzZXMgb2YgdGhlCis6Y2xhc3M6YHBhY2thZ2luZy5jbWQuQ29tbWFuZGAgY2xhc3MuICBOZXcgY29tbWFuZHMgbWF5IGRpcmVjdGx5IGluaGVyaXQgZnJvbQorOmNsYXNzOmBDb21tYW5kYCwgd2hpbGUgcmVwbGFjZW1lbnRzIG9mdGVuIGRlcml2ZSBmcm9tIDpjbGFzczpgQ29tbWFuZGAKK2luZGlyZWN0bHksIGRpcmVjdGx5IHN1YmNsYXNzaW5nIHRoZSBjb21tYW5kIHRoZXkgYXJlIHJlcGxhY2luZy4gIENvbW1hbmRzIGFyZQorcmVxdWlyZWQgdG8gZGVyaXZlIGZyb20gOmNsYXNzOmBDb21tYW5kYC4KKworLi4gLi4gX2V4dGVuZC1leGlzdGluZzoKKyAgICAgIEV4dGVuZGluZyBleGlzdGluZyBjb21tYW5kcworICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09CisKKworLi4gLi4gX25ldy1jb21tYW5kczoKKyAgICAgIFdyaXRpbmcgbmV3IGNvbW1hbmRzCisgICAgICA9PT09PT09PT09PT09PT09PT09PQorCisKK0ludGVncmF0aW5nIG5ldyBjb21tYW5kcworPT09PT09PT09PT09PT09PT09PT09PT09CisKK1RoZXJlIGFyZSBkaWZmZXJlbnQgd2F5cyB0byBpbnRlZ3JhdGUgbmV3IGNvbW1hbmQgaW1wbGVtZW50YXRpb25zIGludG8KK3BhY2thZ2luZy4gIFRoZSBtb3N0IGRpZmZpY3VsdCBpcyB0byBsb2JieSBmb3IgdGhlIGluY2x1c2lvbiBvZiB0aGUgbmV3IGZlYXR1cmVzCitpbiBwYWNrYWdpbmcgaXRzZWxmLCBhbmQgd2FpdCBmb3IgKGFuZCByZXF1aXJlKSBhIHZlcnNpb24gb2YgUHl0aG9uIHRoYXQKK3Byb3ZpZGVzIHRoYXQgc3VwcG9ydC4gIFRoaXMgaXMgcmVhbGx5IGhhcmQgZm9yIG1hbnkgcmVhc29ucy4KKworVGhlIG1vc3QgY29tbW9uLCBhbmQgcG9zc2libHkgdGhlIG1vc3QgcmVhc29uYWJsZSBmb3IgbW9zdCBuZWVkcywgaXMgdG8gaW5jbHVkZQordGhlIG5ldyBpbXBsZW1lbnRhdGlvbnMgd2l0aCB5b3VyIDpmaWxlOmBzZXR1cC5weWAgc2NyaXB0LCBhbmQgY2F1c2UgdGhlCis6ZnVuYzpgcGFja2FnaW5nLmNvcmUuc2V0dXBgIGZ1bmN0aW9uIHVzZSB0aGVtOjoKKworICAgZnJvbSBwYWNrYWdpbmcuY29yZSBpbXBvcnQgc2V0dXAKKyAgIGZyb20gcGFja2FnaW5nLmNvbW1hbmQuYnVpbGRfcHkgaW1wb3J0IGJ1aWxkX3B5IGFzIF9idWlsZF9weQorCisgICBjbGFzcyBidWlsZF9weShfYnVpbGRfcHkpOgorICAgICAgICIiIlNwZWNpYWxpemVkIFB5dGhvbiBzb3VyY2UgYnVpbGRlci4iIiIKKworICAgICAgICMgaW1wbGVtZW50IHdoYXRldmVyIG5lZWRzIHRvIGJlIGRpZmZlcmVudC4uLgorCisgICBzZXR1cCguLi4sIGNtZGNsYXNzPXsnYnVpbGRfcHknOiBidWlsZF9weX0pCisKK1RoaXMgYXBwcm9hY2ggaXMgbW9zdCB2YWx1YWJsZSBpZiB0aGUgbmV3IGltcGxlbWVudGF0aW9ucyBtdXN0IGJlIHVzZWQgdG8gdXNlIGEKK3BhcnRpY3VsYXIgcGFja2FnZSwgYXMgZXZlcnlvbmUgaW50ZXJlc3RlZCBpbiB0aGUgcGFja2FnZSB3aWxsIG5lZWQgdG8gaGF2ZSB0aGUKK25ldyBjb21tYW5kIGltcGxlbWVudGF0aW9uLgorCitCZWdpbm5pbmcgd2l0aCBQeXRob24gMi40LCBhIHRoaXJkIG9wdGlvbiBpcyBhdmFpbGFibGUsIGludGVuZGVkIHRvIGFsbG93IG5ldworY29tbWFuZHMgdG8gYmUgYWRkZWQgd2hpY2ggY2FuIHN1cHBvcnQgZXhpc3RpbmcgOmZpbGU6YHNldHVwLnB5YCBzY3JpcHRzIHdpdGhvdXQKK3JlcXVpcmluZyBtb2RpZmljYXRpb25zIHRvIHRoZSBQeXRob24gaW5zdGFsbGF0aW9uLiAgVGhpcyBpcyBleHBlY3RlZCB0byBhbGxvdwordGhpcmQtcGFydHkgZXh0ZW5zaW9ucyB0byBwcm92aWRlIHN1cHBvcnQgZm9yIGFkZGl0aW9uYWwgcGFja2FnaW5nIHN5c3RlbXMsIGJ1dAordGhlIGNvbW1hbmRzIGNhbiBiZSB1c2VkIGZvciBhbnl0aGluZyBwYWNrYWdpbmcgY29tbWFuZHMgY2FuIGJlIHVzZWQgZm9yLiAgQSBuZXcKK2NvbmZpZ3VyYXRpb24gb3B0aW9uLCA6b3B0aW9uOmBjb21tYW5kX3BhY2thZ2VzYCAoY29tbWFuZC1saW5lIG9wdGlvbgorOm9wdGlvbjpgLS1jb21tYW5kLXBhY2thZ2VzYCksIGNhbiBiZSB1c2VkIHRvIHNwZWNpZnkgYWRkaXRpb25hbCBwYWNrYWdlcyB0byBiZQorc2VhcmNoZWQgZm9yIG1vZHVsZXMgaW1wbGVtZW50aW5nIGNvbW1hbmRzLiAgTGlrZSBhbGwgcGFja2FnaW5nIG9wdGlvbnMsIHRoaXMKK2NhbiBiZSBzcGVjaWZpZWQgb24gdGhlIGNvbW1hbmQgbGluZSBvciBpbiBhIGNvbmZpZ3VyYXRpb24gZmlsZS4gIFRoaXMgb3B0aW9uCitjYW4gb25seSBiZSBzZXQgaW4gdGhlIGBgW2dsb2JhbF1gYCBzZWN0aW9uIG9mIGEgY29uZmlndXJhdGlvbiBmaWxlLCBvciBiZWZvcmUKK2FueSBjb21tYW5kcyBvbiB0aGUgY29tbWFuZCBsaW5lLiAgSWYgc2V0IGluIGEgY29uZmlndXJhdGlvbiBmaWxlLCBpdCBjYW4gYmUKK292ZXJyaWRkZW4gZnJvbSB0aGUgY29tbWFuZCBsaW5lOyBzZXR0aW5nIGl0IHRvIGFuIGVtcHR5IHN0cmluZyBvbiB0aGUgY29tbWFuZAorbGluZSBjYXVzZXMgdGhlIGRlZmF1bHQgdG8gYmUgdXNlZC4gIFRoaXMgc2hvdWxkIG5ldmVyIGJlIHNldCBpbiBhIGNvbmZpZ3VyYXRpb24KK2ZpbGUgcHJvdmlkZWQgd2l0aCBhIHBhY2thZ2UuCisKK1RoaXMgbmV3IG9wdGlvbiBjYW4gYmUgdXNlZCB0byBhZGQgYW55IG51bWJlciBvZiBwYWNrYWdlcyB0byB0aGUgbGlzdCBvZgorcGFja2FnZXMgc2VhcmNoZWQgZm9yIGNvbW1hbmQgaW1wbGVtZW50YXRpb25zOyBtdWx0aXBsZSBwYWNrYWdlIG5hbWVzIHNob3VsZCBiZQorc2VwYXJhdGVkIGJ5IGNvbW1hcy4gIFdoZW4gbm90IHNwZWNpZmllZCwgdGhlIHNlYXJjaCBpcyBvbmx5IHBlcmZvcm1lZCBpbiB0aGUKKzptb2Q6YHBhY2thZ2luZy5jb21tYW5kYCBwYWNrYWdlLiAgV2hlbiA6ZmlsZTpgc2V0dXAucHlgIGlzIHJ1biB3aXRoIHRoZSBvcHRpb24KKzpvcHRpb246YC0tY29tbWFuZC1wYWNrYWdlc2AgOm9wdGlvbjpgZGlzdGNtZHMsYnVpbGRjbWRzYCwgaG93ZXZlciwgdGhlIHBhY2thZ2VzCis6bW9kOmBwYWNrYWdpbmcuY29tbWFuZGAsIDptb2Q6YGRpc3RjbWRzYCwgYW5kIDptb2Q6YGJ1aWxkY21kc2Agd2lsbCBiZSBzZWFyY2hlZAoraW4gdGhhdCBvcmRlci4gIE5ldyBjb21tYW5kcyBhcmUgZXhwZWN0ZWQgdG8gYmUgaW1wbGVtZW50ZWQgaW4gbW9kdWxlcyBvZiB0aGUKK3NhbWUgbmFtZSBhcyB0aGUgY29tbWFuZCBieSBjbGFzc2VzIHNoYXJpbmcgdGhlIHNhbWUgbmFtZS4gIEdpdmVuIHRoZSBleGFtcGxlCitjb21tYW5kLWxpbmUgb3B0aW9uIGFib3ZlLCB0aGUgY29tbWFuZCA6Y29tbWFuZDpgYmRpc3Rfb3BlbnBrZ2AgY291bGQgYmUKK2ltcGxlbWVudGVkIGJ5IHRoZSBjbGFzcyA6Y2xhc3M6YGRpc3RjbWRzLmJkaXN0X29wZW5wa2cuYmRpc3Rfb3BlbnBrZ2Agb3IKKzpjbGFzczpgYnVpbGRjbWRzLmJkaXN0X29wZW5wa2cuYmRpc3Rfb3BlbnBrZ2AuCisKKworQWRkaW5nIG5ldyBkaXN0cmlidXRpb24gdHlwZXMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKK0NvbW1hbmRzIHRoYXQgY3JlYXRlIGRpc3RyaWJ1dGlvbnMgKGZpbGVzIGluIHRoZSA6ZmlsZTpgZGlzdC9gIGRpcmVjdG9yeSkgbmVlZAordG8gYWRkIGBgKGNvbW1hbmQsIGZpbGVuYW1lKWBgIHBhaXJzIHRvIGBgc2VsZi5kaXN0cmlidXRpb24uZGlzdF9maWxlc2BgIHNvIHRoYXQKKzpjb21tYW5kOmB1cGxvYWRgIGNhbiB1cGxvYWQgaXQgdG8gUHlQSS4gIFRoZSAqZmlsZW5hbWUqIGluIHRoZSBwYWlyIGNvbnRhaW5zIG5vCitwYXRoIGluZm9ybWF0aW9uLCBvbmx5IHRoZSBuYW1lIG9mIHRoZSBmaWxlIGl0c2VsZi4gIEluIGRyeS1ydW4gbW9kZSwgcGFpcnMKK3Nob3VsZCBzdGlsbCBiZSBhZGRlZCB0byByZXByZXNlbnQgd2hhdCB3b3VsZCBoYXZlIGJlZW4gY3JlYXRlZC4KZGlmZiAtLWdpdCBhL0RvYy9wYWNrYWdpbmcvaW5kZXgucnN0IGIvRG9jL3BhY2thZ2luZy9pbmRleC5yc3QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDNkMGRlYwotLS0gL2Rldi9udWxsCisrKyBiL0RvYy9wYWNrYWdpbmcvaW5kZXgucnN0CkBAIC0wLDAgKzEsNDUgQEAKKy4uIF9wYWNrYWdpbmctaW5kZXg6CisKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIERpc3RyaWJ1dGluZyBQeXRob24gUHJvamVjdHMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCis6QXV0aG9yczogVGhlIEZlbGxvd3NoaXAgb2YgdGhlIFBhY2thZ2luZworOkVtYWlsOiBkaXN0dXRpbHMtc2lnQHB5dGhvbi5vcmcKKzpSZWxlYXNlOiB8dmVyc2lvbnwKKzpEYXRlOiB8dG9kYXl8CisKK1RoaXMgZG9jdW1lbnQgZGVzY3JpYmVzIFBhY2thZ2luZyBmb3IgUHl0aG9uIGF1dGhvcnMsIGRlc2NyaWJpbmcgaG93IHRvIHVzZSB0aGUKK21vZHVsZSB0byBtYWtlIFB5dGhvbiBhcHBsaWNhdGlvbnMsIHBhY2thZ2VzIG9yIG1vZHVsZXMgZWFzaWx5IGF2YWlsYWJsZSB0byBhCit3aWRlciBhdWRpZW5jZSB3aXRoIHZlcnkgbGl0dGxlIG92ZXJoZWFkIGZvciBidWlsZC9yZWxlYXNlL2luc3RhbGwgbWVjaGFuaWNzLgorCisuLiB0b2N0cmVlOjoKKyAgIDptYXhkZXB0aDogMgorICAgOm51bWJlcmVkOgorCisgICB0dXRvcmlhbAorICAgc2V0dXBjZmcKKyAgIGludHJvZHVjdGlvbgorICAgc2V0dXBzY3JpcHQKKyAgIGNvbmZpZ2ZpbGUKKyAgIHNvdXJjZWRpc3QKKyAgIGJ1aWx0ZGlzdAorICAgcGFja2FnZWluZGV4CisgICB1cGxvYWRpbmcKKyAgIGV4YW1wbGVzCisgICBleHRlbmRpbmcKKyAgIGNvbW1hbmRob29rcworICAgY29tbWFuZHJlZgorCisKKy4uIHNlZWFsc286OgorCisgICA6cmVmOmBwYWNrYWdpbmctaW5zdGFsbC1pbmRleGAKKyAgICAgIEEgdXNlci1jZW50ZXJlZCBtYW51YWwgd2hpY2ggaW5jbHVkZXMgaW5mb3JtYXRpb24gb24gYWRkaW5nIHByb2plY3RzCisgICAgICBpbnRvIGFuIGV4aXN0aW5nIFB5dGhvbiBpbnN0YWxsYXRpb24uICBZb3UgZG8gbm90IG5lZWQgdG8gYmUgYSBQeXRob24KKyAgICAgIHByb2dyYW1tZXIgdG8gcmVhZCB0aGlzIG1hbnVhbC4KKworICAgOm1vZDpgcGFja2FnaW5nYAorICAgICAgQSBsaWJyYXJ5IHJlZmVyZW5jZSBmb3IgZGV2ZWxvcGVycyBvZiBwYWNrYWdpbmcgdG9vbHMgd2FudGluZyB0byB1c2UKKyAgICAgIHN0YW5kYWxvbmUgYnVpbGRpbmcgYmxvY2tzIGxpa2UgOm1vZDpgfnBhY2thZ2luZy52ZXJzaW9uYCBvcgorICAgICAgOm1vZDpgfnBhY2thZ2luZy5tZXRhZGF0YWAsIG9yIGV4dGVuZCBQYWNrYWdpbmcgaXRzZWxmLgpkaWZmIC0tZ2l0IGEvRG9jL3BhY2thZ2luZy9pbnRyb2R1Y3Rpb24ucnN0IGIvRG9jL3BhY2thZ2luZy9pbnRyb2R1Y3Rpb24ucnN0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE3NTdmZmMKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2MvcGFja2FnaW5nL2ludHJvZHVjdGlvbi5yc3QKQEAgLTAsMCArMSwxOTMgQEAKKy4uIF9wYWNrYWdpbmctaW50cm86CisKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqCitBbiBJbnRyb2R1Y3Rpb24gdG8gUGFja2FnaW5nCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorCitUaGlzIGRvY3VtZW50IGNvdmVycyB1c2luZyBQYWNrYWdpbmcgdG8gZGlzdHJpYnV0ZSB5b3VyIFB5dGhvbiBtb2R1bGVzLAorY29uY2VudHJhdGluZyBvbiB0aGUgcm9sZSBvZiBkZXZlbG9wZXIvZGlzdHJpYnV0b3IuICBJZiB5b3UncmUgbG9va2luZyBmb3IKK2luZm9ybWF0aW9uIG9uIGluc3RhbGxpbmcgUHl0aG9uIG1vZHVsZXMgeW91IHNob3VsZCByZWZlciB0byB0aGUKKzpyZWY6YHBhY2thZ2luZy1pbnN0YWxsLWluZGV4YCBjaGFwdGVyLgorCitUaHJvdWdob3V0IHRoaXMgZG9jdW1lbnRhdGlvbiwgdGhlIHRlcm1zICJEaXN0dXRpbHMiLCAidGhlIERpc3R1dGlscyIgYW5kCisiUGFja2FnaW5nIiB3aWxsIGJlIHVzZWQgaW50ZXJjaGFuZ2VhYmx5LgorCisuLiBfcGFja2FnaW5nLWNvbmNlcHRzOgorCitDb25jZXB0cyAmIFRlcm1pbm9sb2d5Cis9PT09PT09PT09PT09PT09PT09PT09CisKK1VzaW5nIERpc3R1dGlscyBpcyBxdWl0ZSBzaW1wbGUgYm90aCBmb3IgbW9kdWxlIGRldmVsb3BlcnMgYW5kIGZvcgordXNlcnMvYWRtaW5pc3RyYXRvcnMgaW5zdGFsbGluZyB0aGlyZC1wYXJ0eSBtb2R1bGVzLiAgQXMgYSBkZXZlbG9wZXIsIHlvdXIKK3Jlc3BvbnNpYmlsaXRpZXMgKGFwYXJ0IGZyb20gd3JpdGluZyBzb2xpZCwgd2VsbC1kb2N1bWVudGVkIGFuZCB3ZWxsLXRlc3RlZAorY29kZSwgb2YgY291cnNlISkgYXJlOgorCisqIHdyaXRpbmcgYSBzZXR1cCBzY3JpcHQgKDpmaWxlOmBzZXR1cC5weWAgYnkgY29udmVudGlvbikKKworKiAob3B0aW9uYWwpIHdyaXRpbmcgYSBzZXR1cCBjb25maWd1cmF0aW9uIGZpbGUKKworKiBjcmVhdGluZyBhIHNvdXJjZSBkaXN0cmlidXRpb24KKworKiAob3B0aW9uYWwpIGNyZWF0aW5nIG9uZSBvciBtb3JlICJidWlsdCIgKGJpbmFyeSkgZGlzdHJpYnV0aW9ucyBvZiB5b3VyCisgIHByb2plY3QKKworQWxsIG9mIHRoZXNlIHRhc2tzIGFyZSBjb3ZlcmVkIGluIHRoaXMgZG9jdW1lbnQuCisKK05vdCBhbGwgbW9kdWxlIGRldmVsb3BlcnMgaGF2ZSBhY2Nlc3MgdG8gbXVsdGlwbGUgcGxhdGZvcm1zLCBzbyBvbmUgY2Fubm90CitleHBlY3QgdGhlbSB0byBjcmVhdGUgYnVpbGR0IGRpc3RyaWJ1dGlvbnMgZm9yIGV2ZXJ5IHBsYXRmb3JtLiAgVG8gcmVtZWR5Cit0aGlzLCBpdCBpcyBob3BlZCB0aGF0IGludGVybWVkaWFyaWVzIGNhbGxlZCAqcGFja2FnZXJzKiB3aWxsIGFyaXNlIHRvIGFkZHJlc3MKK3RoaXMgbmVlZC4gIFBhY2thZ2VycyB0YWtlIHNvdXJjZSBkaXN0cmlidXRpb25zIHJlbGVhc2VkIGJ5IG1vZHVsZSBkZXZlbG9wZXJzLAorYnVpbGQgdGhlbSBvbiBvbmUgb3IgbW9yZSBwbGF0Zm9ybXMgYW5kIHJlbGVhc2UgdGhlIHJlc3VsdGluZyBidWlsdAorZGlzdHJpYnV0aW9ucy4gIFRodXMsIHVzZXJzIG9uIGEgZ3JlYXRlciByYW5nZSBvZiBwbGF0Zm9ybXMgd2lsbCBiZSBhYmxlIHRvCitpbnN0YWxsIHRoZSBtb3N0IHBvcHVsYXIgUHl0aG9uIG1vZHVsZXMgaW4gdGhlIG1vc3QgbmF0dXJhbCB3YXkgZm9yIHRoZWlyCitwbGF0Zm9ybSB3aXRob3V0IGhhdmluZyB0byBydW4gYSBzZXR1cCBzY3JpcHQgb3IgY29tcGlsZSBhIHNpbmdsZSBsaW5lIG9mIGNvZGUuCisKKworLi4gX3BhY2thZ2luZy1zaW1wbGUtZXhhbXBsZToKKworQSBTaW1wbGUgRXhhbXBsZQorPT09PT09PT09PT09PT09PQorCitBIHNldHVwIHNjcmlwdCBpcyB1c3VhbGx5IHF1aXRlIHNpbXBsZSwgYWx0aG91Z2ggc2luY2UgaXQncyB3cml0dGVuIGluIFB5dGhvbgordGhlcmUgYXJlIG5vIGFyYml0cmFyeSBsaW1pdHMgdG8gd2hhdCB5b3UgY2FuIGRvIHdpdGggaXQsIHRob3VnaCB5b3Ugc2hvdWxkIGJlCitjYXJlZnVsIGFib3V0IHB1dHRpbmcgZXhwZW5zaXZlIG9wZXJhdGlvbnMgaW4geW91ciBzZXR1cCBzY3JpcHQuCitVbmxpa2UsIHNheSwgQXV0b2NvbmYtc3R5bGUgY29uZmlndXJlIHNjcmlwdHMgdGhlIHNldHVwIHNjcmlwdCBtYXkgYmUgcnVuCittdWx0aXBsZSB0aW1lcyBpbiB0aGUgY291cnNlIG9mIGJ1aWxkaW5nIGFuZCBpbnN0YWxsaW5nIGEgbW9kdWxlCitkaXN0cmlidXRpb24uCisKK0lmIGFsbCB5b3Ugd2FudCB0byBkbyBpcyBkaXN0cmlidXRlIGEgbW9kdWxlIGNhbGxlZCA6bW9kOmBmb29gLCBjb250YWluZWQgaW4gYQorZmlsZSA6ZmlsZTpgZm9vLnB5YCwgdGhlbiB5b3VyIHNldHVwIHNjcmlwdCBjYW4gYmUgYXMgc2ltcGxlIGFzOjoKKworICAgZnJvbSBwYWNrYWdpbmcuY29yZSBpbXBvcnQgc2V0dXAKKyAgIHNldHVwKG5hbWU9J2ZvbycsCisgICAgICAgICB2ZXJzaW9uPScxLjAnLAorICAgICAgICAgcHlfbW9kdWxlcz1bJ2ZvbyddKQorCitTb21lIG9ic2VydmF0aW9uczoKKworKiBtb3N0IGluZm9ybWF0aW9uIHRoYXQgeW91IHN1cHBseSB0byB0aGUgRGlzdHV0aWxzIGlzIHN1cHBsaWVkIGFzIGtleXdvcmQKKyAgYXJndW1lbnRzIHRvIHRoZSA6ZnVuYzpgc2V0dXBgIGZ1bmN0aW9uCisKKyogdGhvc2Uga2V5d29yZCBhcmd1bWVudHMgZmFsbCBpbnRvIHR3byBjYXRlZ29yaWVzOiBwYWNrYWdlIG1ldGFkYXRhIChuYW1lLAorICB2ZXJzaW9uIG51bWJlciwgZXRjLikgYW5kIGluZm9ybWF0aW9uIGFib3V0IHdoYXQncyBpbiB0aGUgcGFja2FnZSAoYSBsaXN0CisgIG9mIHB1cmUgUHl0aG9uIG1vZHVsZXMgaW4gdGhpcyBjYXNlKQorCisqIG1vZHVsZXMgYXJlIHNwZWNpZmllZCBieSBtb2R1bGUgbmFtZSwgbm90IGZpbGVuYW1lICh0aGUgc2FtZSB3aWxsIGhvbGQgdHJ1ZQorICBmb3IgcGFja2FnZXMgYW5kIGV4dGVuc2lvbnMpCisKKyogaXQncyByZWNvbW1lbmRlZCB0aGF0IHlvdSBzdXBwbHkgYSBsaXR0bGUgbW9yZSBtZXRhZGF0YSB0aGFuIHdlIGhhdmUgaW4gdGhlCisgIGV4YW1wbGUuICBJbiBwYXJ0aWN1bGFyIHlvdXIgbmFtZSwgZW1haWwgYWRkcmVzcyBhbmQgYSBVUkwgZm9yIHRoZQorICBwcm9qZWN0IGlmIGFwcHJvcHJpYXRlIChzZWUgc2VjdGlvbiA6cmVmOmBwYWNrYWdpbmctc2V0dXAtc2NyaXB0YCBmb3IgYW4gZXhhbXBsZSkKKworVG8gY3JlYXRlIGEgc291cmNlIGRpc3RyaWJ1dGlvbiBmb3IgdGhpcyBtb2R1bGUgeW91IHdvdWxkIGNyZWF0ZSBhIHNldHVwCitzY3JpcHQsIDpmaWxlOmBzZXR1cC5weWAsIGNvbnRhaW5pbmcgdGhlIGFib3ZlIGNvZGUgYW5kIHJ1bjo6CisKKyAgIHB5dGhvbiBzZXR1cC5weSBzZGlzdAorCit3aGljaCB3aWxsIGNyZWF0ZSBhbiBhcmNoaXZlIGZpbGUgKGUuZy4sIHRhcmJhbGwgb24gVW5peCwgWklQIGZpbGUgb24gV2luZG93cykKK2NvbnRhaW5pbmcgeW91ciBzZXR1cCBzY3JpcHQgOmZpbGU6YHNldHVwLnB5YCwgYW5kIHlvdXIgbW9kdWxlIDpmaWxlOmBmb28ucHlgLgorVGhlIGFyY2hpdmUgZmlsZSB3aWxsIGJlIG5hbWVkIDpmaWxlOmBmb28tMS4wLnRhci5nemAgKG9yIDpmaWxlOmAuemlwYCksIGFuZAord2lsbCB1bnBhY2sgaW50byBhIGRpcmVjdG9yeSA6ZmlsZTpgZm9vLTEuMGAuCisKK0lmIGFuIGVuZC11c2VyIHdpc2hlcyB0byBpbnN0YWxsIHlvdXIgOm1vZDpgZm9vYCBtb2R1bGUgYWxsIGhlIGhhcyB0byBkbyBpcworZG93bmxvYWQgOmZpbGU6YGZvby0xLjAudGFyLmd6YCAob3IgOmZpbGU6YC56aXBgKSwgdW5wYWNrIGl0LCBhbmQgZnJvbSB0aGUKKzpmaWxlOmBmb28tMS4wYCBkaXJlY3RvcnkgcnVuIDo6CisKKyAgIHB5dGhvbiBzZXR1cC5weSBpbnN0YWxsCisKK3doaWNoIHdpbGwgY29weSA6ZmlsZTpgZm9vLnB5YCB0byB0aGUgYXBwcm9wcmlhdGUgZGlyZWN0b3J5IGZvcgordGhpcmQtcGFydHkgbW9kdWxlcyBpbiB0aGVpciBQeXRob24gaW5zdGFsbGF0aW9uLgorCitUaGlzIHNpbXBsZSBleGFtcGxlIGRlbW9uc3RyYXRlcyBzb21lIGZ1bmRhbWVudGFsIGNvbmNlcHRzIG9mIERpc3R1dGlscy4KK0ZpcnN0LCBib3RoIGRldmVsb3BlcnMgYW5kIGluc3RhbGxlcnMgaGF2ZSB0aGUgc2FtZSBiYXNpYyB1c2VyIGludGVyZmFjZSwgaS5lLgordGhlIHNldHVwIHNjcmlwdC4gIFRoZSBkaWZmZXJlbmNlIGlzIHdoaWNoIERpc3R1dGlscyAqY29tbWFuZHMqIHRoZXkgdXNlOiB0aGUKKzpjb21tYW5kOmBzZGlzdGAgY29tbWFuZCBpcyBhbG1vc3QgZXhjbHVzaXZlbHkgZm9yIG1vZHVsZSBkZXZlbG9wZXJzLCB3aGlsZQorOmNvbW1hbmQ6YGluc3RhbGxgIGlzIG1vcmUgb2Z0ZW4gdXNlZCBieSBpbnN0YWxsZXJzIChhbHRob3VnaCBzb21lIGRldmVsb3BlcnMKK3dpbGwgd2FudCB0byBpbnN0YWxsIHRoZWlyIG93biBjb2RlIG9jY2FzaW9uYWxseSkuCisKK0lmIHlvdSB3YW50IHRvIG1ha2UgdGhpbmdzIHJlYWxseSBlYXN5IGZvciB5b3VyIHVzZXJzLCB5b3UgY2FuIGNyZWF0ZSBtb3JlCit0aGFuIG9uZSBidWlsdCBkaXN0cmlidXRpb25zIGZvciB0aGVtLiAgRm9yIGluc3RhbmNlLCBpZiB5b3UgYXJlIHJ1bm5pbmcgb24gYQorV2luZG93cyBtYWNoaW5lIGFuZCB3YW50IHRvIG1ha2UgdGhpbmdzIGVhc3kgZm9yIG90aGVyIFdpbmRvd3MgdXNlcnMsIHlvdSBjYW4KK2NyZWF0ZSBhbiBleGVjdXRhYmxlIGluc3RhbGxlciAodGhlIG1vc3QgYXBwcm9wcmlhdGUgdHlwZSBvZiBidWlsdCBkaXN0cmlidXRpb24KK2ZvciB0aGlzIHBsYXRmb3JtKSB3aXRoIHRoZSA6Y29tbWFuZDpgYmRpc3Rfd2luaW5zdGAgY29tbWFuZC4gIEZvciBleGFtcGxlOjoKKworICAgcHl0aG9uIHNldHVwLnB5IGJkaXN0X3dpbmluc3QKKword2lsbCBjcmVhdGUgYW4gZXhlY3V0YWJsZSBpbnN0YWxsZXIsIDpmaWxlOmBmb28tMS4wLndpbjMyLmV4ZWAsIGluIHRoZSBjdXJyZW50CitkaXJlY3RvcnkuICBZb3UgY2FuIGZpbmQgb3V0IHdoYXQgZGlzdHJpYnV0aW9uIGZvcm1hdHMgYXJlIGF2YWlsYWJsZSBhdCBhbnkgdGltZQorYnkgcnVubmluZyA6OgorCisgICBweXRob24gc2V0dXAucHkgYmRpc3QgLS1oZWxwLWZvcm1hdHMKKworCisuLiBfcGFja2FnaW5nLXB5dGhvbi10ZXJtczoKKworR2VuZXJhbCBQeXRob24gdGVybWlub2xvZ3kKKz09PT09PT09PT09PT09PT09PT09PT09PT09CisKK0lmIHlvdSdyZSByZWFkaW5nIHRoaXMgZG9jdW1lbnQsIHlvdSBwcm9iYWJseSBoYXZlIGEgZ29vZCBpZGVhIG9mIHdoYXQgUHl0aG9uCittb2R1bGVzLCBleHRlbnNpb25zIGFuZCBzbyBmb3J0aCBhcmUuICBOZXZlcnRoZWxlc3MsIGp1c3QgdG8gYmUgc3VyZSB0aGF0CitldmVyeW9uZSBpcyBvbiB0aGUgc2FtZSBwYWdlLCBoZXJlJ3MgYSBxdWljayBvdmVydmlldyBvZiBQeXRob24gdGVybXM6CisKK21vZHVsZQorICAgVGhlIGJhc2ljIHVuaXQgb2YgY29kZSByZXVzYWJpbGl0eSBpbiBQeXRob246IGEgYmxvY2sgb2YgY29kZSBpbXBvcnRlZCBieQorICAgc29tZSBvdGhlciBjb2RlLiAgVGhyZWUgdHlwZXMgb2YgbW9kdWxlcyBhcmUgaW1wb3J0YW50IHRvIHVzIGhlcmU6IHB1cmUKKyAgIFB5dGhvbiBtb2R1bGVzLCBleHRlbnNpb24gbW9kdWxlcyBhbmQgcGFja2FnZXMuCisKK3B1cmUgUHl0aG9uIG1vZHVsZQorICAgQSBtb2R1bGUgd3JpdHRlbiBpbiBQeXRob24gYW5kIGNvbnRhaW5lZCBpbiBhIHNpbmdsZSA6ZmlsZTpgLnB5YCBmaWxlIChhbmQKKyAgIHBvc3NpYmx5IGFzc29jaWF0ZWQgOmZpbGU6YC5weWNgIGFuZC9vciA6ZmlsZTpgLnB5b2AgZmlsZXMpLiAgU29tZXRpbWVzCisgICByZWZlcnJlZCB0byBhcyBhICJwdXJlIG1vZHVsZS4iCisKK2V4dGVuc2lvbiBtb2R1bGUKKyAgIEEgbW9kdWxlIHdyaXR0ZW4gaW4gdGhlIGxvdy1sZXZlbCBsYW5ndWFnZSBvZiB0aGUgUHl0aG9uIGltcGxlbWVudGF0aW9uOiBDL0MrKworICAgZm9yIFB5dGhvbiwgSmF2YSBmb3IgSnl0aG9uLiAgVHlwaWNhbGx5IGNvbnRhaW5lZCBpbiBhIHNpbmdsZSBkeW5hbWljYWxseQorICAgbG9hZGVkIHByZS1jb21waWxlZCBmaWxlLCBlLmcuIGEgc2hhcmVkIG9iamVjdCAoOmZpbGU6YC5zb2ApIGZpbGUgZm9yIFB5dGhvbgorICAgZXh0ZW5zaW9ucyBvbiBVbml4LCBhIERMTCAoZ2l2ZW4gdGhlIDpmaWxlOmAucHlkYCBleHRlbnNpb24pIGZvciBQeXRob24KKyAgIGV4dGVuc2lvbnMgb24gV2luZG93cywgb3IgYSBKYXZhIGNsYXNzIGZpbGUgZm9yIEp5dGhvbiBleHRlbnNpb25zLiAgTm90ZSB0aGF0CisgICBjdXJyZW50bHkgRGlzdHV0aWxzIG9ubHkgaGFuZGxlcyBDL0MrKyBleHRlbnNpb25zIGZvciBQeXRob24uCisKK3BhY2thZ2UKKyAgIEEgbW9kdWxlIHRoYXQgY29udGFpbnMgb3RoZXIgbW9kdWxlcywgdHlwaWNhbGx5IGNvbnRhaW5lZCBpbiBhIGRpcmVjdG9yeSBvZgorICAgdGhlIGZpbGVzeXN0ZW0gYW5kIGRpc3Rpbmd1aXNoZWQgZnJvbSBvdGhlciBkaXJlY3RvcmllcyBieSB0aGUgcHJlc2VuY2Ugb2YgYQorICAgZmlsZSA6ZmlsZTpgX19pbml0X18ucHlgLgorCityb290IHBhY2thZ2UKKyAgIFRoZSByb290IG9mIHRoZSBoaWVyYXJjaHkgb2YgcGFja2FnZXMuICAoVGhpcyBpc24ndCByZWFsbHkgYSBwYWNrYWdlLAorICAgc2luY2UgaXQgZG9lc24ndCBoYXZlIGFuIDpmaWxlOmBfX2luaXRfXy5weWAgZmlsZS4gIEJ1dC4uLiB3ZSBoYXZlIHRvCisgICBjYWxsIGl0IHNvbWV0aGluZywgcmlnaHQ/KSAgVGhlIHZhc3QgbWFqb3JpdHkgb2YgdGhlIHN0YW5kYXJkIGxpYnJhcnkgaXMKKyAgIGluIHRoZSByb290IHBhY2thZ2UsIGFzIGFyZSBtYW55IHNtYWxsIHN0YW5kYWxvbmUgdGhpcmQtcGFydHkgbW9kdWxlcyB0aGF0CisgICBkb24ndCBiZWxvbmcgdG8gYSBsYXJnZXIgbW9kdWxlIGNvbGxlY3Rpb24uICBVbmxpa2UgcmVndWxhciBwYWNrYWdlcywKKyAgIG1vZHVsZXMgaW4gdGhlIHJvb3QgcGFja2FnZSBjYW4gYmUgZm91bmQgaW4gbWFueSBkaXJlY3RvcmllczogaW4gZmFjdCwKKyAgIGV2ZXJ5IGRpcmVjdG9yeSBsaXN0ZWQgaW4gYGBzeXMucGF0aGBgIGNvbnRyaWJ1dGVzIG1vZHVsZXMgdG8gdGhlIHJvb3QKKyAgIHBhY2thZ2UuCisKKworLi4gX3BhY2thZ2luZy10ZXJtOgorCitEaXN0dXRpbHMtc3BlY2lmaWMgdGVybWlub2xvZ3kKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCitUaGUgZm9sbG93aW5nIHRlcm1zIGFwcGx5IG1vcmUgc3BlY2lmaWNhbGx5IHRvIHRoZSBkb21haW4gb2YgZGlzdHJpYnV0aW5nIFB5dGhvbgorbW9kdWxlcyB1c2luZyBEaXN0dXRpbHM6CisKK21vZHVsZSBkaXN0cmlidXRpb24KKyAgIEEgY29sbGVjdGlvbiBvZiBQeXRob24gbW9kdWxlcyBkaXN0cmlidXRlZCB0b2dldGhlciBhcyBhIHNpbmdsZSBkb3dubG9hZGFibGUKKyAgIHJlc291cmNlIGFuZCBtZWFudCB0byBiZSBpbnN0YWxsZWQgYWxsIGFzIG9uZS4gIEV4YW1wbGVzIG9mIHNvbWUgd2VsbC1rbm93bgorICAgbW9kdWxlIGRpc3RyaWJ1dGlvbnMgYXJlIE51bVB5LCBTY2lQeSwgUElMICh0aGUgUHl0aG9uIEltYWdpbmcKKyAgIExpYnJhcnkpIG9yIG14QmFzZS4gIChNb2R1bGUgZGlzdHJpYnV0aW9ucyB3b3VsZCBiZSBjYWxsZWQgYSAqcGFja2FnZSosCisgICBleGNlcHQgdGhhdCB0ZXJtIGlzIGFscmVhZHkgdGFrZW4gaW4gdGhlIFB5dGhvbiBjb250ZXh0OiBhIHNpbmdsZSBtb2R1bGUKKyAgIGRpc3RyaWJ1dGlvbiBtYXkgY29udGFpbiB6ZXJvLCBvbmUsIG9yIG1hbnkgUHl0aG9uIHBhY2thZ2VzLikKKworcHVyZSBtb2R1bGUgZGlzdHJpYnV0aW9uCisgICBBIG1vZHVsZSBkaXN0cmlidXRpb24gdGhhdCBjb250YWlucyBvbmx5IHB1cmUgUHl0aG9uIG1vZHVsZXMgYW5kIHBhY2thZ2VzLgorICAgU29tZXRpbWVzIHJlZmVycmVkIHRvIGFzIGEgInB1cmUgZGlzdHJpYnV0aW9uLiIKKworbm9uLXB1cmUgbW9kdWxlIGRpc3RyaWJ1dGlvbgorICAgQSBtb2R1bGUgZGlzdHJpYnV0aW9uIHRoYXQgY29udGFpbnMgYXQgbGVhc3Qgb25lIGV4dGVuc2lvbiBtb2R1bGUuICBTb21ldGltZXMKKyAgIHJlZmVycmVkIHRvIGFzIGEgIm5vbi1wdXJlIGRpc3RyaWJ1dGlvbi4iCisKK2Rpc3RyaWJ1dGlvbiByb290CisgICBUaGUgdG9wLWxldmVsIGRpcmVjdG9yeSBvZiB5b3VyIHNvdXJjZSB0cmVlIChvciAgc291cmNlIGRpc3RyaWJ1dGlvbikuICBUaGUKKyAgIGRpcmVjdG9yeSB3aGVyZSA6ZmlsZTpgc2V0dXAucHlgIGV4aXN0cy4gIEdlbmVyYWxseSAgOmZpbGU6YHNldHVwLnB5YCB3aWxsCisgICBiZSBydW4gZnJvbSB0aGlzIGRpcmVjdG9yeS4KZGlmZiAtLWdpdCBhL0RvYy9wYWNrYWdpbmcvcGFja2FnZWluZGV4LnJzdCBiL0RvYy9wYWNrYWdpbmcvcGFja2FnZWluZGV4LnJzdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZDFkNTk4Ci0tLSAvZGV2L251bGwKKysrIGIvRG9jL3BhY2thZ2luZy9wYWNrYWdlaW5kZXgucnN0CkBAIC0wLDAgKzEsMTA0IEBACisuLiBfcGFja2FnaW5nLXBhY2thZ2UtaW5kZXg6CisKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKK1JlZ2lzdGVyaW5nIHdpdGggdGhlIFBhY2thZ2UgSW5kZXgKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKworVGhlIFB5dGhvbiBQYWNrYWdlIEluZGV4IChQeVBJKSBob2xkcyBtZXRhZGF0YSBkZXNjcmliaW5nIGRpc3RyaWJ1dGlvbnMKK3BhY2thZ2VkIHdpdGggcGFja2FnaW5nLiBUaGUgcGFja2FnaW5nIGNvbW1hbmQgOmNvbW1hbmQ6YHJlZ2lzdGVyYCBpcyB1c2VkIHRvCitzdWJtaXQgeW91ciBkaXN0cmlidXRpb24ncyBtZXRhZGF0YSB0byB0aGUgaW5kZXguIEl0IGlzIGludm9rZWQgYXMgZm9sbG93czo6CisKKyAgICBweXRob24gc2V0dXAucHkgcmVnaXN0ZXIKKworRGlzdHV0aWxzIHdpbGwgcmVzcG9uZCB3aXRoIHRoZSBmb2xsb3dpbmcgcHJvbXB0OjoKKworICAgIHJ1bm5pbmcgcmVnaXN0ZXIKKyAgICBXZSBuZWVkIHRvIGtub3cgd2hvIHlvdSBhcmUsIHNvIHBsZWFzZSBjaG9vc2UgZWl0aGVyOgorICAgICAgICAxLiB1c2UgeW91ciBleGlzdGluZyBsb2dpbiwKKyAgICAgICAgMi4gcmVnaXN0ZXIgYXMgYSBuZXcgdXNlciwKKyAgICAgICAgMy4gaGF2ZSB0aGUgc2VydmVyIGdlbmVyYXRlIGEgbmV3IHBhc3N3b3JkIGZvciB5b3UgKGFuZCBlbWFpbCBpdCB0byB5b3UpLCBvcgorICAgICAgICA0LiBxdWl0CisgICAgWW91ciBzZWxlY3Rpb24gW2RlZmF1bHQgMV06CisKK05vdGU6IGlmIHlvdXIgdXNlcm5hbWUgYW5kIHBhc3N3b3JkIGFyZSBzYXZlZCBsb2NhbGx5LCB5b3Ugd2lsbCBub3Qgc2VlIHRoaXMKK21lbnUuCisKK0lmIHlvdSBoYXZlIG5vdCByZWdpc3RlcmVkIHdpdGggUHlQSSwgdGhlbiB5b3Ugd2lsbCBuZWVkIHRvIGRvIHNvIG5vdy4gWW91CitzaG91bGQgY2hvb3NlIG9wdGlvbiAyLCBhbmQgZW50ZXIgeW91ciBkZXRhaWxzIGFzIHJlcXVpcmVkLiBTb29uIGFmdGVyCitzdWJtaXR0aW5nIHlvdXIgZGV0YWlscywgeW91IHdpbGwgcmVjZWl2ZSBhbiBlbWFpbCB3aGljaCB3aWxsIGJlIHVzZWQgdG8gY29uZmlybQoreW91ciByZWdpc3RyYXRpb24uCisKK09uY2UgeW91IGFyZSByZWdpc3RlcmVkLCB5b3UgbWF5IGNob29zZSBvcHRpb24gMSBmcm9tIHRoZSBtZW51LiBZb3Ugd2lsbCBiZQorcHJvbXB0ZWQgZm9yIHlvdXIgUHlQSSB1c2VybmFtZSBhbmQgcGFzc3dvcmQsIGFuZCA6Y29tbWFuZDpgcmVnaXN0ZXJgIHdpbGwgdGhlbgorc3VibWl0IHlvdXIgbWV0YWRhdGEgdG8gdGhlIGluZGV4LgorCitZb3UgbWF5IHN1Ym1pdCBhbnkgbnVtYmVyIG9mIHZlcnNpb25zIG9mIHlvdXIgZGlzdHJpYnV0aW9uIHRvIHRoZSBpbmRleC4gSWYgeW91CithbHRlciB0aGUgbWV0YWRhdGEgZm9yIGEgcGFydGljdWxhciB2ZXJzaW9uLCB5b3UgbWF5IHN1Ym1pdCBpdCBhZ2FpbiBhbmQgdGhlCitpbmRleCB3aWxsIGJlIHVwZGF0ZWQuCisKK1B5UEkgaG9sZHMgYSByZWNvcmQgZm9yIGVhY2ggKG5hbWUsIHZlcnNpb24pIGNvbWJpbmF0aW9uIHN1Ym1pdHRlZC4gVGhlIGZpcnN0Cit1c2VyIHRvIHN1Ym1pdCBpbmZvcm1hdGlvbiBmb3IgYSBnaXZlbiBuYW1lIGlzIGRlc2lnbmF0ZWQgdGhlIE93bmVyIG9mIHRoYXQKK25hbWUuIFRoZXkgbWF5IHN1Ym1pdCBjaGFuZ2VzIHRocm91Z2ggdGhlIDpjb21tYW5kOmByZWdpc3RlcmAgY29tbWFuZCBvciB0aHJvdWdoCit0aGUgd2ViIGludGVyZmFjZS4gVGhleSBtYXkgYWxzbyBkZXNpZ25hdGUgb3RoZXIgdXNlcnMgYXMgT3duZXJzIG9yIE1haW50YWluZXJzLgorTWFpbnRhaW5lcnMgbWF5IGVkaXQgdGhlIHBhY2thZ2UgaW5mb3JtYXRpb24sIGJ1dCBub3QgZGVzaWduYXRlIG90aGVyIE93bmVycyBvcgorTWFpbnRhaW5lcnMuCisKK0J5IGRlZmF1bHQgUHlQSSB3aWxsIGxpc3QgYWxsIHZlcnNpb25zIG9mIGEgZ2l2ZW4gcGFja2FnZS4gVG8gaGlkZSBjZXJ0YWluCit2ZXJzaW9ucywgdGhlIEhpZGRlbiBwcm9wZXJ0eSBzaG91bGQgYmUgc2V0IHRvIHllcy4gVGhpcyBtdXN0IGJlIGVkaXRlZCB0aHJvdWdoCit0aGUgd2ViIGludGVyZmFjZS4KKworCisuLiBfcGFja2FnaW5nLXB5cGlyYzoKKworVGhlIC5weXBpcmMgZmlsZQorPT09PT09PT09PT09PT09PQorCitUaGUgZm9ybWF0IG9mIHRoZSA6ZmlsZTpgLnB5cGlyY2AgZmlsZSBpcyBhcyBmb2xsb3dzOjoKKworICAgIFtwYWNrYWdpbmddCisgICAgaW5kZXgtc2VydmVycyA9CisgICAgICAgIHB5cGkKKworICAgIFtweXBpXQorICAgIHJlcG9zaXRvcnk6IDxyZXBvc2l0b3J5LXVybD4KKyAgICB1c2VybmFtZTogPHVzZXJuYW1lPgorICAgIHBhc3N3b3JkOiA8cGFzc3dvcmQ+CisKK1RoZSAqcGFja2FnaW5nKiBzZWN0aW9uIGRlZmluZXMgYSAqaW5kZXgtc2VydmVycyogdmFyaWFibGUgdGhhdCBsaXN0cyB0aGUKK25hbWUgb2YgYWxsIHNlY3Rpb25zIGRlc2NyaWJpbmcgYSByZXBvc2l0b3J5LgorCitFYWNoIHNlY3Rpb24gZGVzY3JpYmluZyBhIHJlcG9zaXRvcnkgZGVmaW5lcyB0aHJlZSB2YXJpYWJsZXM6CisKKy0gKnJlcG9zaXRvcnkqLCB0aGF0IGRlZmluZXMgdGhlIHVybCBvZiB0aGUgUHlQSSBzZXJ2ZXIuIERlZmF1bHRzIHRvCisgICAgYGBodHRwOi8vd3d3LnB5dGhvbi5vcmcvcHlwaWBgLgorLSAqdXNlcm5hbWUqLCB3aGljaCBpcyB0aGUgcmVnaXN0ZXJlZCB1c2VybmFtZSBvbiB0aGUgUHlQSSBzZXJ2ZXIuCistICpwYXNzd29yZCosIHRoYXQgd2lsbCBiZSB1c2VkIHRvIGF1dGhlbnRpY2F0ZS4gSWYgb21pdHRlZCB0aGUgdXNlcgorICAgIHdpbGwgYmUgcHJvbXB0IHRvIHR5cGUgaXQgd2hlbiBuZWVkZWQuCisKK0lmIHlvdSB3YW50IHRvIGRlZmluZSBhbm90aGVyIHNlcnZlciBhIG5ldyBzZWN0aW9uIGNhbiBiZSBjcmVhdGVkIGFuZAorbGlzdGVkIGluIHRoZSAqaW5kZXgtc2VydmVycyogdmFyaWFibGU6OgorCisgICAgW3BhY2thZ2luZ10KKyAgICBpbmRleC1zZXJ2ZXJzID0KKyAgICAgICAgcHlwaQorICAgICAgICBvdGhlcgorCisgICAgW3B5cGldCisgICAgcmVwb3NpdG9yeTogPHJlcG9zaXRvcnktdXJsPgorICAgIHVzZXJuYW1lOiA8dXNlcm5hbWU+CisgICAgcGFzc3dvcmQ6IDxwYXNzd29yZD4KKworICAgIFtvdGhlcl0KKyAgICByZXBvc2l0b3J5OiBodHRwOi8vZXhhbXBsZS5jb20vcHlwaQorICAgIHVzZXJuYW1lOiA8dXNlcm5hbWU+CisgICAgcGFzc3dvcmQ6IDxwYXNzd29yZD4KKworOmNvbW1hbmQ6YHJlZ2lzdGVyYCBjYW4gdGhlbiBiZSBjYWxsZWQgd2l0aCB0aGUgLXIgb3B0aW9uIHRvIHBvaW50IHRoZQorcmVwb3NpdG9yeSB0byB3b3JrIHdpdGg6OgorCisgICAgcHl0aG9uIHNldHVwLnB5IHJlZ2lzdGVyIC1yIGh0dHA6Ly9leGFtcGxlLmNvbS9weXBpCisKK0ZvciBjb252ZW5pZW5jZSwgdGhlIG5hbWUgb2YgdGhlIHNlY3Rpb24gdGhhdCBkZXNjcmliZXMgdGhlIHJlcG9zaXRvcnkKK21heSBhbHNvIGJlIHVzZWQ6OgorCisgICAgcHl0aG9uIHNldHVwLnB5IHJlZ2lzdGVyIC1yIG90aGVyCmRpZmYgLS1naXQgYS9Eb2MvcGFja2FnaW5nL3NldHVwY2ZnLnJzdCBiL0RvYy9wYWNrYWdpbmcvc2V0dXBjZmcucnN0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEzODEwMTcKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2MvcGFja2FnaW5nL3NldHVwY2ZnLnJzdApAQCAtMCwwICsxLDg5MCBAQAorLi4gaGlnaGxpZ2h0bGFuZzo6IGNmZworCisuLiBfc2V0dXBjZmctc3BlYzoKKworKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorU3BlY2lmaWNhdGlvbiBvZiB0aGUgOmZpbGU6YHNldHVwLmNmZ2AgZmlsZQorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorCis6dmVyc2lvbjogMC45CisKK1RoaXMgZG9jdW1lbnQgZGVzY3JpYmVzIHRoZSA6ZmlsZTpgc2V0dXAuY2ZnYCwgYW4gaW5pLXN0eWxlIGNvbmZpZ3VyYXRpb24gZmlsZQordXNlZCBieSBQYWNrYWdpbmcgdG8gcmVwbGFjZSB0aGUgOmZpbGU6YHNldHVwLnB5YCBmaWxlIHVzZWQgYnkgRGlzdHV0aWxzLgorVGhpcyBzcGVjaWZpY2F0aW9uIGlzIGxhbmd1YWdlLWFnbm9zdGljLCBhbmQgd2lsbCB0aGVyZWZvcmUgcmVwZWF0IHNvbWUKK2luZm9ybWF0aW9uIHRoYXQncyBhbHJlYWR5IGRvY3VtZW50ZWQgZm9yIFB5dGhvbiBpbiB0aGUKKzpjbGFzczpgY29uZmlncGFyc2VyLlJhd0NvbmZpZ1BhcnNlcmAgZG9jdW1lbnRhdGlvbi4KKworLi4gY29udGVudHM6OgorICAgOmRlcHRoOiAzCisgICA6bG9jYWw6CisKKworLi4gX3NldHVwY2ZnLXN5bnRheDoKKworU3ludGF4Cis9PT09PT0KKworVGhlIGluaS1zdHlsZSBmb3JtYXQgdXNlZCBpbiB0aGUgY29uZmlndXJhdGlvbiBmaWxlIGlzIGEgc2ltcGxlIGNvbGxlY3Rpb24gb2YKK3NlY3Rpb25zIHRoYXQgZ3JvdXAgc2V0cyBvZiBrZXktdmFsdWUgZmllbGRzIHNlcGFyYXRlZCBieSBgYD1gYCBvciBgYDpgYCBhbmQKK29wdGlvbmFsIHdoaXRlc3BhY2UuICBMaW5lcyBzdGFydGluZyB3aXRoIGBgI2BgIG9yIGBgO2BgIGFyZSBjb21tZW50cyBhbmQgd2lsbAorYmUgaWdub3JlZC4gIEVtcHR5IGxpbmVzIGFyZSBhbHNvIGlnbm9yZWQuICBFeGFtcGxlOjoKKworICAgW3NlY3Rpb24xXQorICAgIyBjb21tZW50CisgICBuYW1lID0gdmFsdWUKKyAgIG5hbWUyID0gIm90aGVyIHZhbHVlIgorCisgICBbc2VjdGlvbjJdCisgICBmb28gPSBiYXIKKworCitQYXJzaW5nIHZhbHVlcworLS0tLS0tLS0tLS0tLS0tCisKK0hlcmUgYXJlIGEgc2V0IG9mIHJ1bGVzIHRvIHBhcnNlIHZhbHVlczoKKworLSBJZiBhIHZhbHVlIGlzIHF1b3RlZCB3aXRoIGBgImBgIGNoYXJzLCBpdCdzIGEgc3RyaW5nLiAgSWYgYSBxdW90ZSBjaGFyYWN0ZXIgaXMKKyAgcHJlc2VudCBpbiB0aGUgcXVvdGVkIHZhbHVlLCBpdCBjYW4gYmUgZXNjYXBlZCBhcyBgYFwiYGAgb3IgbGVmdCBhcy1pcy4KKworLSBJZiB0aGUgdmFsdWUgaXMgYGB0cnVlYGAsIGBgdGBgLCBgYHllc2BgLCBgYHlgYCAoY2FzZS1pbnNlbnNpdGl2ZSkgb3IgYGAxYGAsCisgIGl0J3MgY29udmVydGVkIHRvIHRoZSBsYW5ndWFnZSBlcXVpdmFsZW50IG9mIGEgYGBUcnVlYGAgdmFsdWU7IGlmIGl0J3MKKyAgYGBmYWxzZWBgLCBgYGZgYCwgYGBub2BgLCBgYG5gYCAoY2FzZS1pbnNlbnNpdGl2ZSkgb3IgYGAwYGAsIGl0J3MgY29udmVydGVkIHRvCisgIHRoZSBlcXVpdmFsZW50IG9mIGBgRmFsc2VgYC4KKworLSBBIHZhbHVlIGNhbiBjb250YWluIG11bHRpcGxlIGxpbmVzLiAgV2hlbiByZWFkLCBsaW5lcyBhcmUgY29udmVydGVkIGludG8gYQorICBzZXF1ZW5jZSBvZiB2YWx1ZXMuICBFYWNoIGxpbmUgYWZ0ZXIgdGhlIGZpcnN0IG11c3Qgc3RhcnQgd2l0aCBhIGxlYXN0IG9uZQorICBzcGFjZSBvciB0YWIgY2hhcmFjdGVyOyB0aGlzIGxlYWRpbmcgaW5kZW50YXRpb24gd2lsbCBiZSBzdHJpcHBlZC4KKworLSBBbGwgb3RoZXIgdmFsdWVzIGFyZSBjb25zaWRlcmVkIHN0cmluZ3MuCisKK0V4YW1wbGVzOjoKKworICAgW3NlY3Rpb25dCisgICBmb28gPSBvbmUKKyAgICAgICAgIHR3bworICAgICAgICAgdGhyZWUKKworICAgYmFyID0gZmFsc2UKKyAgIGJheiA9IDEuMworICAgYm9vID0gIm9rIgorICAgYmVlZSA9ICJ3cWRxdyBwb2pwaiB3XCJkZHEiCisKKworRXh0ZW5kaW5nIGZpbGVzCistLS0tLS0tLS0tLS0tLS0KKworQSBjb25maWd1cmF0aW9uIGZpbGUgY2FuIGJlIGV4dGVuZGVkIChpLmUuIGluY2x1ZGVkKSBieSBvdGhlciBmaWxlcy4gIEZvciB0aGlzLAorYSBgYERFRkFVTFRgYCBzZWN0aW9uIG11c3QgY29udGFpbiBhbiBgYGV4dGVuZHNgYCBrZXkgd2hvc2UgdmFsdWUgcG9pbnRzIHRvIG9uZQorb3IgbW9yZSBmaWxlcyB3aGljaCB3aWxsIGJlIG1lcmdlZCBpbnRvIHRoZSBjdXJyZW50IGZpbGVzIGJ5IGFkZGluZyBuZXcgc2VjdGlvbnMKK2FuZCBmaWVsZHMuICBJZiBhIGZpbGUgbG9hZGVkIGJ5IGBgZXh0ZW5kc2BgIGNvbnRhaW5zIHNlY3Rpb25zIG9yIGtleXMgdGhhdAorYWxyZWFkeSBleGlzdCBpbiB0aGUgb3JpZ2luYWwgZmlsZSwgdGhleSB3aWxsIG5vdCBvdmVycmlkZSB0aGUgcHJldmlvdXMgdmFsdWVzLgorCitDb250ZW50cyBvZiA6ZmlsZTpgb25lLmNmZ2A6OgorCisgICAgW3NlY3Rpb24xXQorICAgIG5hbWUgPSB2YWx1ZQorCisgICAgW3NlY3Rpb24yXQorICAgIGZvbyA9IGZvbyBmcm9tIG9uZS5jZmcKKworQ29udGVudHMgb2YgOmZpbGU6YHR3by5jZmdgOjoKKworICAgIFtERUZBVUxUXQorICAgIGV4dGVuZHMgPSBvbmUuY2ZnCisKKyAgICBbc2VjdGlvbjJdCisgICAgZm9vID0gZm9vIGZyb20gdHdvLmNmZworICAgIGJheiA9IGJheiBmcm9tIHR3by5jZmcKKworVGhlIHJlc3VsdCBvZiBwYXJzaW5nIDpmaWxlOmB0d28uY2ZnYCBpcyBlcXVpdmFsZW50IHRvIHRoaXMgZmlsZTo6CisKKyAgICBbc2VjdGlvbjFdCisgICAgbmFtZSA9IHZhbHVlCisKKyAgICBbc2VjdGlvbjJdCisgICAgZm9vID0gZm9vIGZyb20gb25lLmNmZworICAgIGJheiA9IGJheiBmcm9tIHR3by5jZmcKKworRXhhbXBsZSB1c2Ugb2YgbXVsdGktbGluZSBub3RhdGlvbiB0byBpbmNsdWRlIG1vcmUgdGhhbiBvbmUgZmlsZTo6CisKKyAgICBbREVGQVVMVF0KKyAgICBleHRlbmRzID0gb25lLmNmZworICAgICAgICAgICAgICB0d28uY2ZnCisKK1doZW4gc2V2ZXJhbCBmaWxlcyBhcmUgcHJvdmlkZWQsIHRoZXkgYXJlIHByb2Nlc3NlZCBzZXF1ZW50aWFsbHksIGZvbGxvd2luZyB0aGUKK3ByZWNlZGVuY2UgcnVsZXMgZXhwbGFpbmVkIGFib3ZlLiAgVGhpcyBtZWFucyB0aGF0IHRoZSBsaXN0IG9mIGZpbGVzIHNob3VsZCBnbworZnJvbSBtb3N0IHNwZWNpYWxpemVkIHRvIG1vc3QgY29tbW9uLgorCisqKlRvb2xzIHdpbGwgbmVlZCB0byBwcm92aWRlIGEgd2F5IHRvIHByb2R1Y2UgYSBtZXJnZWQgdmVyc2lvbiBvZiB0aGUKK2ZpbGUqKi4gIFRoaXMgd2lsbCBiZSB1c2VmdWwgdG8gbGV0IHVzZXJzIHB1Ymxpc2ggYSBzaW5nbGUgZmlsZS4KKworCisuLiBfc2V0dXBjZmctc2VjdGlvbnM6CisKK0Rlc2NyaXB0aW9uIG9mIHNlY3Rpb25zIGFuZCBmaWVsZHMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworRWFjaCBzZWN0aW9uIGNvbnRhaW5zIGEgZGVzY3JpcHRpb24gb2YgaXRzIG9wdGlvbnMuCisKKy0gT3B0aW9ucyB0aGF0IGFyZSBtYXJrZWQgKm11bHRpKiBjYW4gaGF2ZSBtdWx0aXBsZSB2YWx1ZXMsIG9uZSB2YWx1ZSBwZXIKKyAgbGluZS4KKy0gT3B0aW9ucyB0aGF0IGFyZSBtYXJrZWQgKm9wdGlvbmFsKiBjYW4gYmUgb21pdHRlZC4KKy0gT3B0aW9ucyB0aGF0IGFyZSBtYXJrZWQgKmVudmlyb24qIGNhbiB1c2UgZW52aXJvbm1lbnQgbWFya2VycywgYXMgZGVzY3JpYmVkCisgIGluIDpQRVA6YDM0NWAuCisKKworVGhlIHNlY3Rpb25zIGFyZToKKworZ2xvYmFsCisgICBHbG9iYWwgb3B0aW9ucyBub3QgcmVsYXRlZCB0byBvbmUgY29tbWFuZC4KKworbWV0YWRhdGEKKyAgIE5hbWUsIHZlcnNpb24gYW5kIG90aGVyIGluZm9ybWF0aW9uIGRlZmluZWQgYnkgOlBFUDpgMzQ1YC4KKworZmlsZXMKKyAgIE1vZHVsZXMsIHNjcmlwdHMsIGRhdGEsIGRvY3VtZW50YXRpb24gYW5kIG90aGVyIGZpbGVzIHRvIGluY2x1ZGUgaW4gdGhlCisgICBkaXN0cmlidXRpb24uCisKK2V4dGVuc2lvbiBzZWN0aW9ucworICAgT3B0aW9ucyB1c2VkIHRvIGJ1aWxkIGV4dGVuc2lvbiBtb2R1bGVzLgorCitjb21tYW5kIHNlY3Rpb25zCisgICBPcHRpb25zIGdpdmVuIGZvciBzcGVjaWZpYyBjb21tYW5kcywgaWRlbnRpY2FsIHRvIHRob3NlIHRoYXQgY2FuIGJlIGdpdmVuCisgICBvbiB0aGUgY29tbWFuZCBsaW5lLgorCisKKy4uIF9zZXR1cGNmZy1zZWN0aW9uLWdsb2JhbDoKKworR2xvYmFsIG9wdGlvbnMKKy0tLS0tLS0tLS0tLS0tCisKK0NvbnRhaW5zIGdsb2JhbCBvcHRpb25zIGZvciBQYWNrYWdpbmcuIFRoaXMgc2VjdGlvbiBpcyBzaGFyZWQgd2l0aCBEaXN0dXRpbHMuCisKKworY29tbWFuZHMKKyAgIERlZmluZWQgUGFja2FnaW5nIGNvbW1hbmQuIEEgY29tbWFuZCBpcyBkZWZpbmVkIGJ5IGl0cyBmdWxseQorICAgcXVhbGlmaWVkIG5hbWUuICpvcHRpb25hbCosICptdWx0aSoKKworICAgRXhhbXBsZXM6OgorCisgICAgICBbZ2xvYmFsXQorICAgICAgY29tbWFuZHMgPQorICAgICAgICAgIHBhY2thZ2Uuc2V0dXAuQ3VzdG9tU2Rpc3RDb21tYW5kCisgICAgICAgICAgcGFja2FnZS5zZXR1cC5CZGlzdERlYgorCitjb21waWxlcnMKKyAgIERlZmluZWQgUGFja2FnaW5nIGNvbXBpbGVyLiBBIGNvbXBpbGVyIGlzIGRlZmluZWQgYnkgaXRzIGZ1bGx5CisgICBxdWFsaWZpZWQgbmFtZS4gKm9wdGlvbmFsKiwgKm11bHRpKgorCisgICBFeGFtcGxlOjoKKworICAgICAgW2dsb2JhbF0KKyAgICAgIGNvbXBpbGVycyA9CisgICAgICAgICAgaG90Y29tcGlsZXIuU21hcnRDQ29tcGlsZXIKKworc2V0dXBfaG9va3MKKyAgIERlZmluZXMgYSBsaXN0IG9mIGNhbGxhYmxlcyB0byBiZSBjYWxsZWQgcmlnaHQgYWZ0ZXIgdGhlIDpmaWxlOmBzZXR1cC5jZmdgCisgICBmaWxlIGlzIHJlYWQsIGJlZm9yZSBhbnkgb3RoZXIgcHJvY2Vzc2luZy4gIEVhY2ggdmFsdWUgaXMgYSBQeXRob24gZG90dGVkCisgICBuYW1lIHRvIGFuIG9iamVjdCwgd2hpY2ggaGFzIHRvIGJlIGRlZmluZWQgaW4gYSBtb2R1bGUgcHJlc2VudCBpbiB0aGUgcHJvamVjdAorICAgZGlyZWN0b3J5IGFsb25zaWRlIDpmaWxlOmBzZXR1cC5jZmdgIG9yIG9uIFB5dGhvbidzIDpkYXRhOmBzeXMucGF0aGAgKHNlZQorICAgOnJlZjpgcGFja2FnaW5nLWZpbmRpbmctaG9va3NgKS4gIFRoZSBjYWxsYWJsZXMgYXJlIGV4ZWN1dGVkIGluIHRoZQorICAgb3JkZXIgdGhleSdyZSBmb3VuZCBpbiB0aGUgZmlsZTsgaWYgb25lIG9mIHRoZW0gY2Fubm90IGJlIGZvdW5kLCB0b29scyBzaG91bGQKKyAgIG5vdCBzdG9wLCBidXQgZm9yIGV4YW1wbGUgcHJvZHVjZSBhIHdhcm5pbmcgYW5kIGNvbnRpbnVlIHdpdGggdGhlIG5leHQgbGluZS4KKyAgIEVhY2ggY2FsbGFibGUgcmVjZWl2ZXMgdGhlIGNvbmZpZ3VyYXRpb24gYXMgYSBkaWN0aW9uYXJ5IChrZXlzIGFyZQorICAgOmZpbGU6YHNldHVwLmNmZ2Agc2VjdGlvbnMsIHZhbHVlcyBhcmUgZGljdGlvbmFyaWVzIG9mIGZpZWxkcykgYW5kIGNhbiBtYWtlCisgICBhbnkgY2hhbmdlIHRvIGl0LiAgKm9wdGlvbmFsKiwgKm11bHRpKgorCisgICBFeGFtcGxlOjoKKworICAgICAgW2dsb2JhbF0KKyAgICAgIHNldHVwX2hvb2tzID0gX3NldHVwaG9va3MuY3VzdG9taXplX2NvbmZpZworCisKKworLi4gX3NldHVwY2ZnLXNlY3Rpb24tbWV0YWRhdGE6CisKK01ldGFkYXRhCistLS0tLS0tLQorCitUaGUgbWV0YWRhdGEgc2VjdGlvbiBjb250YWlucyB0aGUgbWV0YWRhdGEgZm9yIHRoZSBwcm9qZWN0IGFzIGRlc2NyaWJlZCBpbgorOlBFUDpgMzQ1YC4gIEZpZWxkIG5hbWVzIGFyZSBjYXNlLWluc2Vuc2l0aXZlLgorCitGaWVsZHM6CisKK25hbWUKKyAgIE5hbWUgb2YgdGhlIHByb2plY3QuCisKK3ZlcnNpb24KKyAgIFZlcnNpb24gb2YgdGhlIHByb2plY3QuIE11c3QgY29tcGx5IHdpdGggOlBFUDpgMzg2YC4KKworcGxhdGZvcm0KKyAgIFBsYXRmb3JtIHNwZWNpZmljYXRpb24gZGVzY3JpYmluZyBhbiBvcGVyYXRpbmcgc3lzdGVtCisgICBzdXBwb3J0ZWQgYnkgdGhlIGRpc3RyaWJ1dGlvbiB3aGljaCBpcyBub3QgbGlzdGVkIGluIHRoZSAiT3BlcmF0aW5nIFN5c3RlbSIKKyAgIFRyb3ZlIGNsYXNzaWZpZXJzICg6UEVQOmAzMDFgKS4gICpvcHRpb25hbCosICptdWx0aSoKKworc3VwcG9ydGVkLXBsYXRmb3JtCisgICBCaW5hcnkgZGlzdHJpYnV0aW9ucyBjb250YWluaW5nIGEgUEtHLUlORk8gZmlsZSB3aWxsCisgICB1c2UgdGhlIFN1cHBvcnRlZC1QbGF0Zm9ybSBmaWVsZCBpbiB0aGVpciBtZXRhZGF0YSB0byBzcGVjaWZ5IHRoZSBPUyBhbmQKKyAgIENQVSBmb3Igd2hpY2ggdGhlIGJpbmFyeSBkaXN0cmlidXRpb24gd2FzIGNvbXBpbGVkLiAgVGhlIHNlbWFudGljcyBvZgorICAgdGhlIFN1cHBvcnRlZC1QbGF0Zm9ybSBmaWVsZCBhcmUgZnJlZSBmb3JtLiAqb3B0aW9uYWwqLCAqbXVsdGkqCisKK3N1bW1hcnkKKyAgIEEgb25lLWxpbmUgc3VtbWFyeSBvZiB3aGF0IHRoZSBkaXN0cmlidXRpb24gZG9lcy4KKyAgIChVc2VkIHRvIGJlIGNhbGxlZCAqZGVzY3JpcHRpb24qIGluIERpc3R1dGlsczEuKQorCitkZXNjcmlwdGlvbgorICAgQSBsb25nZXIgZGVzY3JpcHRpb24uIChVc2VkIHRvIGJlIGNhbGxlZCAqbG9uZ19kZXNjcmlwdGlvbioKKyAgIGluIERpc3R1dGlsczEuKSBBIGZpbGUgY2FuIGJlIHByb3ZpZGVkIGluIHRoZSAqZGVzY3JpcHRpb24tZmlsZSogZmllbGQuCisgICAqb3B0aW9uYWwqCisKK2tleXdvcmRzCisgICBBIGxpc3Qgb2YgYWRkaXRpb25hbCBrZXl3b3JkcyB0byBiZSB1c2VkIHRvIGFzc2lzdCBzZWFyY2hpbmcKKyAgIGZvciB0aGUgZGlzdHJpYnV0aW9uIGluIGEgbGFyZ2VyIGNhdGFsb2cuIENvbW1hIG9yIHNwYWNlLXNlcGFyYXRlZC4KKyAgICpvcHRpb25hbCoKKworaG9tZS1wYWdlCisgICBUaGUgVVJMIGZvciB0aGUgZGlzdHJpYnV0aW9uJ3MgaG9tZSBwYWdlLgorCitkb3dubG9hZC11cmwKKyAgIFRoZSBVUkwgZnJvbSB3aGljaCB0aGlzIHZlcnNpb24gb2YgdGhlIGRpc3RyaWJ1dGlvbgorICAgY2FuIGJlIGRvd25sb2FkZWQuICpvcHRpb25hbCoKKworYXV0aG9yCisgICBBdXRob3IncyBuYW1lLiAqb3B0aW9uYWwqCisKK2F1dGhvci1lbWFpbAorICAgQXV0aG9yJ3MgZS1tYWlsLiAqb3B0aW9uYWwqCisKK21haW50YWluZXIKKyAgIE1haW50YWluZXIncyBuYW1lLiAqb3B0aW9uYWwqCisKK21haW50YWluZXItZW1haWwKKyAgIE1haW50YWluZXIncyBlLW1haWwuICpvcHRpb25hbCoKKworbGljZW5zZQorICAgQSB0ZXh0IGluZGljYXRpbmcgdGhlIHRlcm0gb2YgdXNlcywgd2hlbiBhIHRyb3ZlIGNsYXNzaWZpZXIgZG9lcworICAgbm90IG1hdGNoLiAqb3B0aW9uYWwqLgorCitjbGFzc2lmaWVycworICAgQ2xhc3NpZmljYXRpb24gZm9yIHRoZSBkaXN0cmlidXRpb24sIGFzIGRlc2NyaWJlZCBpbiBQRVAgMzAxLgorICAgKm9wdGlvbmFsKiwgKm11bHRpKiwgKmVudmlyb24qCisKK3JlcXVpcmVzLWRpc3QKKyAgIG5hbWUgb2YgYW5vdGhlciBwYWNrYWdpbmcgcHJvamVjdCByZXF1aXJlZCBhcyBhIGRlcGVuZGVuY3kuCisgICBUaGUgZm9ybWF0IGlzICpuYW1lICh2ZXJzaW9uKSogd2hlcmUgdmVyc2lvbiBpcyBhbiBvcHRpb25hbAorICAgdmVyc2lvbiBkZWNsYXJhdGlvbiwgYXMgZGVzY3JpYmVkIGluIFBFUCAzNDUuICpvcHRpb25hbCosICptdWx0aSosICplbnZpcm9uKgorCitwcm92aWRlcy1kaXN0CisgICBuYW1lIG9mIGFub3RoZXIgcGFja2FnaW5nIHByb2plY3QgY29udGFpbmVkIHdpdGhpbiB0aGlzCisgICBkaXN0cmlidXRpb24uIFNhbWUgZm9ybWF0IHRoYW4gKnJlcXVpcmVzLWRpc3QqLiAqb3B0aW9uYWwqLCAqbXVsdGkqLAorICAgKmVudmlyb24qCisKK29ic29sZXRlcy1kaXN0CisgICBuYW1lIG9mIGFub3RoZXIgcGFja2FnaW5nIHByb2plY3QgdGhpcyB2ZXJzaW9uIG9ic29sZXRlcy4KKyAgIFNhbWUgZm9ybWF0IHRoYW4gKnJlcXVpcmVzLWRpc3QqLiAqb3B0aW9uYWwqLCAqbXVsdGkqLCAqZW52aXJvbioKKworcmVxdWlyZXMtcHl0aG9uCisgICBTcGVjaWZpZXMgdGhlIFB5dGhvbiB2ZXJzaW9uIHRoZSBkaXN0cmlidXRpb24gcmVxdWlyZXMuICBUaGUgdmFsdWUgaXMgYQorICAgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgdmVyc2lvbiBwcmVkaWNhdGVzLCBhcyBkZXNjcmliZWQgaW4gUEVQIDM0NS4KKyAgICpvcHRpb25hbCosICplbnZpcm9uKgorCityZXF1aXJlcy1leHRlcm5hbHMKKyAgIGEgZGVwZW5kZW5jeSBpbiB0aGUgc3lzdGVtLiBUaGlzIGZpZWxkIGlzIGZyZWUtZm9ybSwKKyAgIGFuZCBqdXN0IGEgaGludCBmb3IgZG93bnN0cmVhbSBtYWludGFpbmVycy4gKm9wdGlvbmFsKiwgKm11bHRpKiwKKyAgICplbnZpcm9uKgorCitwcm9qZWN0LXVybAorICAgQSBsYWJlbCwgZm9sbG93ZWQgYnkgYSBicm93c2FibGUgVVJMIGZvciB0aGUgcHJvamVjdC4KKyAgICJsYWJlbCwgdXJsIi4gVGhlIGxhYmVsIGlzIGxpbWl0ZWQgdG8gMzIgc2lnbnMuICpvcHRpb25hbCosICptdWx0aSoKKworT25lIGV4dHJhIGZpZWxkIG5vdCBwcmVzZW50IGluIFBFUCAzNDUgaXMgc3VwcG9ydGVkOgorCitkZXNjcmlwdGlvbi1maWxlCisgICBQYXRoIHRvIGEgdGV4dCBmaWxlIHRoYXQgd2lsbCBiZSB1c2VkIHRvIGZpbGwgdGhlIGBgZGVzY3JpcHRpb25gYCBmaWVsZC4KKyAgIE11bHRpcGxlIHZhbHVlcyBhcmUgYWNjZXB0ZWQ7IHRoZXkgbXVzdCBiZSBzZXBhcmF0ZWQgYnkgd2hpdGVzcGFjZS4KKyAgIGBgZGVzY3JpcHRpb24tZmlsZWBgIGFuZCBgYGRlc2NyaXB0aW9uYGAgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4gICpvcHRpb25hbCoKKworCisKK0V4YW1wbGU6OgorCisgICBbbWV0YWRhdGFdCisgICBuYW1lID0gcHlwaTJycG0KKyAgIHZlcnNpb24gPSAwLjEKKyAgIGF1dGhvciA9IFRhcmVrIFppYWTDqQorICAgYXV0aG9yLWVtYWlsID0gdGFyZWtAemlhZGUub3JnCisgICBzdW1tYXJ5ID0gU2NyaXB0IHRoYXQgdHJhbnNmb3JtcyBhbiBzZGlzdCBhcmNoaXZlIGludG8gYSBSUE0gcGFja2FnZQorICAgZGVzY3JpcHRpb24tZmlsZSA9IFJFQURNRQorICAgaG9tZS1wYWdlID0gaHR0cDovL2JpdGJ1Y2tldC5vcmcvdGFyZWsvcHlwaTJycG0vd2lraS9Ib21lCisgICBwcm9qZWN0LXVybDoKKyAgICAgICBSZXBvc2l0b3J5LCBodHRwOi8vYml0YnVja2V0Lm9yZy90YXJlay9weXBpMnJwbS8KKyAgICAgICBSU1MgZmVlZCwgaHR0cHM6Ly9iaXRidWNrZXQub3JnL3RhcmVrL3B5cGkycnBtL3JzcworICAgY2xhc3NpZmllciA9CisgICAgICAgRGV2ZWxvcG1lbnQgU3RhdHVzIDo6IDMgLSBBbHBoYQorICAgICAgIExpY2Vuc2UgOjogT1NJIEFwcHJvdmVkIDo6IE1vemlsbGEgUHVibGljIExpY2Vuc2UgMS4xIChNUEwgMS4xKQorCitZb3Ugc2hvdWxkIG5vdCBnaXZlIGFueSBleHBsaWNpdCB2YWx1ZSBmb3IgbWV0YWRhdGEtdmVyc2lvbjogaXQgd2lsbCBiZSBndWVzc2VkCitmcm9tIHRoZSBmaWVsZHMgcHJlc2VudCBpbiB0aGUgZmlsZS4KKworCisuLiBfc2V0dXBjZmctc2VjdGlvbi1maWxlczoKKworRmlsZXMKKy0tLS0tCisKK1RoaXMgc2VjdGlvbiBkZXNjcmliZXMgdGhlIGZpbGVzIGluY2x1ZGVkIGluIHRoZSBwcm9qZWN0LgorCitwYWNrYWdlc19yb290CisgICB0aGUgcm9vdCBkaXJlY3RvcnkgY29udGFpbmluZyBhbGwgcGFja2FnZXMgYW5kIG1vZHVsZXMKKyAgIChkZWZhdWx0OiBjdXJyZW50IGRpcmVjdG9yeSwgaS5lLiB0aGUgcHJvamVjdCdzIHRvcC1sZXZlbAorICAgZGlyZWN0b3J5IHdoZXJlIDpmaWxlOmBzZXR1cC5jZmdgIGxpdmVzKS4gICpvcHRpb25hbCoKKworcGFja2FnZXMKKyAgIGEgbGlzdCBvZiBwYWNrYWdlcyB0aGUgcHJvamVjdCBpbmNsdWRlcyAqb3B0aW9uYWwqLCAqbXVsdGkqCisKK21vZHVsZXMKKyAgIGEgbGlzdCBvZiBwYWNrYWdlcyB0aGUgcHJvamVjdCBpbmNsdWRlcyAqb3B0aW9uYWwqLCAqbXVsdGkqCisKK3NjcmlwdHMKKyAgIGEgbGlzdCBvZiBzY3JpcHRzIHRoZSBwcm9qZWN0IGluY2x1ZGVzICpvcHRpb25hbCosICptdWx0aSoKKworZXh0cmFfZmlsZXMKKyAgIGEgbGlzdCBvZiBwYXR0ZXJucyBmb3IgYWRkaXRpb25hbCBmaWxlcyB0byBpbmNsdWRlIGluIHNvdXJjZSBkaXN0cmlidXRpb25zCisgICAoc2VlIDpyZWY6YHBhY2thZ2luZy1tYW5pZmVzdGApICpvcHRpb25hbCosICptdWx0aSoKKworRXhhbXBsZTo6CisKKyAgIFtmaWxlc10KKyAgIHBhY2thZ2VzX3Jvb3QgPSBzcmMKKyAgIHBhY2thZ2VzID0KKyAgICAgICBweXBpMnJwbQorICAgICAgIHB5cGkycnBtLmNvbW1hbmQKKworICAgc2NyaXB0cyA9CisgICAgICAgcHlwaTJycG0vcHlwaTJycG0ucHkKKworICAgZXh0cmFfZmlsZXMgPQorICAgICAgIHNldHVwLnB5CisgICAgICAgUkVBRE1FCisKKworLi4gTm90ZTo6CisgICBUaGUgOmZpbGU6YHNldHVwLmNmZ2AgY29uZmlndXJhdGlvbiBmaWxlIGlzIGluY2x1ZGVkIGJ5IGRlZmF1bHQuICBDb250cmFyeSB0bworICAgRGlzdHV0aWxzLCA6ZmlsZTpgUkVBRE1FYCAob3IgOmZpbGU6YFJFQURNRS50eHRgKSBhbmQgOmZpbGU6YHNldHVwLnB5YCBhcmUKKyAgIG5vdCBpbmNsdWRlZCBieSBkZWZhdWx0LgorCisKK1Jlc291cmNlcworXl5eXl5eXl5eCisKK1RoaXMgc2VjdGlvbiBkZXNjcmliZXMgdGhlIGZpbGVzIHVzZWQgYnkgdGhlIHByb2plY3Qgd2hpY2ggbXVzdCBub3QgYmUgaW5zdGFsbGVkCitpbiB0aGUgc2FtZSBwbGFjZSB0aGF0IHB5dGhvbiBtb2R1bGVzIG9yIGxpYnJhcmllcywgdGhleSBhcmUgY2FsbGVkCisqKnJlc291cmNlcyoqLiBUaGV5IGFyZSBmb3IgZXhhbXBsZSBkb2N1bWVudGF0aW9uIGZpbGVzLCBzY3JpcHQgZmlsZXMsCitkYXRhYmFzZXMsIGV0Yy4uLgorCitGb3IgZGVjbGFyaW5nIHJlc291cmNlcywgeW91IG11c3QgdXNlIHRoaXMgbm90YXRpb246OgorCisgICBzb3VyY2UgPSBkZXN0aW5hdGlvbgorCitEYXRhLWZpbGVzIGFyZSBkZWNsYXJlZCBpbiB0aGUgKipyZXNvdXJjZXMqKiBmaWVsZCBpbiB0aGUgKipmaWxlKiogc2VjdGlvbiwgZm9yCitleGFtcGxlOjoKKworICAgW2ZpbGVzXQorICAgcmVzb3VyY2VzID0KKyAgICAgICBzb3VyY2UxID0gZGVzdGluYXRpb24xCisgICAgICAgc291cmNlMiA9IGRlc3RpbmF0aW9uMgorCitUaGUgKipzb3VyY2UqKiBwYXJ0IG9mIHRoZSBkZWNsYXJhdGlvbiBhcmUgcmVsYXRpdmUgcGF0aHMgb2YgcmVzb3VyY2VzIGZpbGVzCisodXNpbmcgdW5peCBwYXRoIHNlcGFyYXRvciAqKi8qKikuIEZvciBleGFtcGxlLCBpZiB5b3UndmUgdGhpcyBzb3VyY2UgdHJlZTo6CisKKyAgIGZvby8KKyAgICAgIGRvYy8KKyAgICAgICAgIGRvYy5tYW4KKyAgICAgIHNjcmlwdHMvCisgICAgICAgICBmb28uc2gKKworWW91ciBzZXR1cC5jZmcgd2lsbCBsb29rIGxpa2U6OgorCisgICBbZmlsZXNdCisgICByZXNvdXJjZXMgPQorICAgICAgIGRvYy9kb2MubWFuID0gZGVzdGluYXRpb25fZG9jCisgICAgICAgc2NyaXB0cy9mb28uc2ggPSBkZXN0aW5hdGlvbl9zY3JpcHRzCisKK1RoZSBmaW5hbCBwYXRocyB3aGVyZSBmaWxlcyB3aWxsIGJlIHBsYWNlZCBhcmUgY29tcG9zZWQgYnkgOiAqKnNvdXJjZSoqICsKKyoqZGVzdGluYXRpb24qKi4gSW4gdGhlIHByZXZpb3VzIGV4YW1wbGUsICoqZG9jL2RvYy5tYW4qKiB3aWxsIGJlIHBsYWNlZCBpbgorKipkZXN0aW5hdGlvbl9kb2MvZG9jL2RvYy5tYW4qKiBhbmQgKipzY3JpcHRzL2Zvby5zaCoqIHdpbGwgYmUgcGxhY2VkIGluCisqKmRlc3RpbmF0aW9uX3NjcmlwdHMvc2NyaXB0cy9mb28uc2gqKi4gKElmIHlvdSB3YW50IG1vcmUgY29udHJvbCBvbiB0aGUgZmluYWwKK3BhdGgsIHRha2UgYSBsb29rIGF0IDpyZWY6YHNldHVwY2ZnLXJlc291cmNlcy1iYXNlLXByZWZpeGApLgorCitUaGUgKipkZXN0aW5hdGlvbioqIHBhcnQgb2YgcmVzb3VyY2VzIGRlY2xhcmF0aW9uIGFyZSBwYXRocyB3aXRoIGNhdGVnb3JpZXMuCitJbmRlZWQsIGl0J3MgZ2VuZXJhbGx5IGEgYmFkIGlkZWEgdG8gZ2l2ZSBhYnNvbHV0ZSBwYXRoIGFzIGl0IHdpbGwgYmUgY3Jvc3MKK2luY29tcGF0aWJsZS4gU28sIHlvdSBtdXN0IHVzZSByZXNvdXJjZXMgY2F0ZWdvcmllcyBpbiB5b3VyICoqZGVzdGluYXRpb24qKgorZGVjbGFyYXRpb24uIENhdGVnb3JpZXMgd2lsbCBiZSByZXBsYWNlZCBieSB0aGVpciByZWFsIHBhdGggYXQgdGhlIGluc3RhbGxhdGlvbgordGltZS4gVXNpbmcgY2F0ZWdvcmllcyBpcyBhbGwgYmVuZWZpdCwgeW91ciBkZWNsYXJhdGlvbiB3aWxsIGJlIHNpbXBsZXIsIGNyb3NzCitwbGF0Zm9ybSBhbmQgaXQgd2lsbCBhbGxvdyBwYWNrYWdlciB0byBwbGFjZSByZXNvdXJjZXMgZmlsZXMgd2hlcmUgdGhleSB3YW50Cit3aXRob3V0IGJyZWFraW5nIHlvdXIgY29kZS4KKworQ2F0ZWdvcmllcyBjYW4gYmUgc3BlY2lmaWVkIGJ5IHVzaW5nIHRoaXMgc3ludGF4OjoKKworICAge2NhdGVnb3J5fQorCitEZWZhdWx0IGNhdGVnb3JpZXMgYXJlOgorCisqIGNvbmZpZworKiBhcHBkYXRhCisqIGFwcGRhdGEuYXJjaAorKiBhcHBkYXRhLnBlcnNpc3RlbnQKKyogYXBwZGF0YS5kaXNwb3NhYmxlCisqIGhlbHAKKyogaWNvbgorKiBzY3JpcHRzCisqIGRvYworKiBpbmZvCisqIG1hbgorCitBIHNwZWNpYWwgY2F0ZWdvcnkgYWxzbyBleGlzdHMgKip7ZGlzdHJpYnV0aW9uLm5hbWV9KiogdGhhdCB3aWxsIGJlIHJlcGxhY2VkIGJ5Cit0aGUgbmFtZSBvZiB0aGUgZGlzdHJpYnV0aW9uLCBidXQgYXMgbW9zdCBvZiB0aGUgZGVmYXVsdHMgY2F0ZWdvcmllcyB1c2UgdGhlbSwKK3NvIGl0J3Mgbm90IG5lY2Vzc2FyeSB0byBhZGQgKip7ZGlzdHJpYnV0aW9uLm5hbWV9KiogaW50byB5b3VyIGRlc3RpbmF0aW9uLgorCitJZiB5b3UgdXNlIGNhdGVnb3JpZXMgaW4geW91ciBkZWNsYXJhdGlvbnMsIGFuZCB5b3UgYXJlIGVuY291cmFnZWQgdG8gZG8sIGZpbmFsCitwYXRoIHdpbGwgYmU6OgorCisgICBzb3VyY2UgKyBkZXN0aW5hdGlvbl9leHBhbmRlZAorCisuLiBfZXhhbXBsZV9maW5hbF9wYXRoOgorCitGb3IgZXhhbXBsZSwgaWYgeW91IGhhdmUgdGhpcyBzZXR1cC5jZmc6OgorCisgICBbbWV0YWRhdGFdCisgICBuYW1lID0gZm9vCisKKyAgIFtmaWxlc10KKyAgIHJlc291cmNlcyA9CisgICAgICAgZG9jL2RvYy5tYW4gPSB7ZG9jfQorCitBbmQgaWYgKip7ZG9jfSoqIGlzIHJlcGxhY2VkIGJ5ICoqe2RhdGFkaXJ9L2RvYy97ZGlzdHJpYnV0aW9uLm5hbWV9KiosIGZpbmFsCitwYXRoIHdpbGwgYmU6OgorCisgICB7ZGF0YWRpcn0vZG9jL2Zvby9kb2MvZG9jLm1hbgorCitXaGVyZSB7ZGF0YWZpcn0gY2F0ZWdvcnkgd2lsbCBiZSBwbGF0Zm9ybS1kZXBlbmRlbnQuCisKKworTW9yZSBjb250cm9sIG9uIHNvdXJjZSBwYXJ0CisiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIKKworR2xvYiBzeW50YXgKKycnJycnJycnJycnCisKK1doZW4geW91IGRlY2xhcmUgc291cmNlIGZpbGUsIHlvdSBjYW4gdXNlIGEgZ2xvYi1saWtlIHN5bnRheCB0byBtYXRjaCBtdWx0aXBsZXMgZmlsZSwgZm9yIGV4YW1wbGU6OgorCisgICBzY3JpcHRzLyogPSB7c2NyaXB0fQorCitXaWxsIG1hdGNoIGFsbCB0aGUgZmlsZXMgaW4gdGhlIHNjcmlwdHMgZGlyZWN0b3J5IGFuZCBwbGFjZWQgdGhlbSBpbiB0aGUgc2NyaXB0IGNhdGVnb3J5LgorCitHbG9iIHRva2VucyBhcmU6CisKKyAqIGBgKmBgOiBtYXRjaCBhbGwgZmlsZXMuCisgKiBgYD9gYDogbWF0Y2ggYW55IGNoYXJhY3Rlci4KKyAqIGBgKipgYDogbWF0Y2ggYW55IGxldmVsIG9mIHRyZWUgcmVjdXJzaW9uIChldmVuIDApLgorICogYGB7fWBgOiB3aWxsIG1hdGNoIGFueSBwYXJ0IHNlcGFyYXRlZCBieSBjb21tYSAoZXhhbXBsZTogYGB7c2gsYmF0fWBgKS4KKworLi4gVE9ETyBBZGQgZXhhbXBsZXMKKworT3JkZXIgb2YgZGVjbGFyYXRpb24KKycnJycnJycnJycnJycnJycnJycnCisKK1RoZSBvcmRlciBvZiBkZWNsYXJhdGlvbiBpcyBpbXBvcnRhbnQgaWYgb25lIGZpbGUgbWF0Y2ggbXVsdGlwbGUgcnVsZXMuIFRoZSBsYXN0CitydWxlcyBtYXRjaGVkIGJ5IGZpbGUgaXMgdXNlZCwgdGhpcyBpcyB1c2VmdWwgaWYgeW91IGhhdmUgdGhpcyBzb3VyY2UgdHJlZTo6CisKKyAgIGZvby8KKyAgICAgIGRvYy8KKyAgICAgICAgIGluZGV4LnJzdAorICAgICAgICAgc2V0dXAucnN0CisgICAgICAgICBkb2N1bWVudGF0aW9uLnR4dAorICAgICAgICAgZG9jLnRleAorICAgICAgICAgUkVBRE1FCisKK0FuZCB5b3Ugd2FudCBhbGwgdGhlIGZpbGVzIGluIHRoZSBkb2MgZGlyZWN0b3J5IHRvIGJlIHBsYWNlZCBpbiB7ZG9jfSBjYXRlZ29yeSwKK2J1dCBSRUFETUUgbXVzdCBiZSBwbGFjZWQgaW4ge2hlbHB9IGNhdGVnb3J5LCBpbnN0ZWFkIG9mIGxpc3RpbmcgYWxsIHRoZSBmaWxlcworb25lIGJ5IG9uZSwgeW91IGNhbiBkZWNsYXJlIHRoZW0gaW4gdGhpcyB3YXk6OgorCisgICBbZmlsZXNdCisgICByZXNvdXJjZXMgPQorICAgICAgIGRvYy8qID0ge2RvY30KKyAgICAgICBkb2MvUkVBRE1FID0ge2hlbHB9CisKK0V4Y2x1ZGUKKycnJycnJycKKworWW91IGNhbiBleGNsdWRlIHNvbWUgZmlsZXMgb2YgcmVzb3VyY2VzIGRlY2xhcmF0aW9uIGJ5IGdpdmluZyBubyBkZXN0aW5hdGlvbiwgaXQKK2NhbiBiZSB1c2VmdWwgaWYgeW91IGhhdmUgYSBub24tcmVzb3VyY2VzIGZpbGUgaW4gdGhlIHNhbWUgZGlyZWN0b3J5IG9mCityZXNvdXJjZXMgZmlsZXM6OgorCisgICBmb28vCisgICAgICBkb2MvCisgICAgICAgICBSRUxFQVNFUworICAgICAgICAgZG9jLnRleAorICAgICAgICAgZG9jdW1lbnRhdGlvbi50eHQKKyAgICAgICAgIGRvY3UucnN0CisKK1lvdXIgKipmaWxlcyoqIHNlY3Rpb24gd2lsbCBiZTo6CisKKyAgIFtmaWxlc10KKyAgIHJlc291cmNlcyA9CisgICAgICAgZG9jLyogPSB7ZG9jfQorICAgICAgIGRvYy9SRUxFQVNFUyA9CisKK01vcmUgY29udHJvbCBvbiBkZXN0aW5hdGlvbiBwYXJ0CisiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIgorCisuLiBfc2V0dXBjZmctcmVzb3VyY2VzLWJhc2UtcHJlZml4OgorCitEZWZpbmluZyBhIGJhc2UgcHJlZml4CisnJycnJycnJycnJycnJycnJycnJycnCisKK1doZW4geW91IGRlZmluZSB5b3VyIHJlc291cmNlcywgeW91IGNhbiBoYXZlIG1vcmUgY29udHJvbCBvZiBob3cgdGhlIGZpbmFsIHBhdGgKK2lzIGNvbXB1dGVkLgorCitCeSBkZWZhdWx0LCB0aGUgZmluYWwgcGF0aCBpczo6CisKKyAgIGRlc3RpbmF0aW9uICsgc291cmNlCisKK1RoaXMgY2FuIGdlbmVyYXRlIGxvbmcgcGF0aHMsIGZvciBleGFtcGxlIChleGFtcGxlX2ZpbmFsX3BhdGhfKTo6CisKKyAgIHtkYXRhZGlyfS9kb2MvZm9vL2RvYy9kb2MubWFuCisKK1doZW4geW91IGRlY2xhcmUgeW91ciBzb3VyY2UsIHlvdSBjYW4gdXNlIHdoaXRlc3BhY2UgdG8gc3BsaXQgdGhlIHNvdXJjZSBpbgorKipwcmVmaXgqKiAqKnN1ZmZpeCoqLiAgU28sIGZvciBleGFtcGxlLCBpZiB5b3UgaGF2ZSB0aGlzIHNvdXJjZTo6CisKKyAgIGRvY3MvIGRvYy5tYW4KKworVGhlICoqcHJlZml4KiogaXMgImRvY3MvIiBhbmQgdGhlICoqc3VmZml4KiogaXMgImRvYy5odG1sIi4KKworLi4gbm90ZTo6CisKKyAgIFNlcGFyYXRvciBjYW4gYmUgcGxhY2VkIGFmdGVyIGEgcGF0aCBzZXBhcmF0b3Igb3IgcmVwbGFjZSBpdC4gU28gdGhlc2UgdHdvCisgICBzb3VyY2VzIGFyZSBlcXVpdmFsZW50OjoKKworICAgICAgZG9jcy8gZG9jLm1hbgorICAgICAgZG9jcyBkb2MubWFuCisKKy4uIG5vdGU6OgorCisgICBHbG9iIHN5bnRheCBpcyB3b3JraW5nIHRoZSBzYW1lIHdheSB3aXRoIHN0YW5kYXJkIHNvdXJjZSBhbmQgc3BsaXQgc291cmNlLgorICAgU28gdGhlc2UgcnVsZXM6OgorCisgICAgICBkb2NzLyoKKyAgICAgIGRvY3MvICoKKyAgICAgIGRvY3MgKgorCisgICBXaWxsIG1hdGNoIGFsbCB0aGUgZmlsZXMgaW4gdGhlIGRvY3MgZGlyZWN0b3J5LgorCitXaGVuIHlvdSB1c2Ugc3BsaXQgc291cmNlLCB0aGUgZmluYWwgcGF0aCBpcyBjb21wdXRlZCB0aGlzIHdheTo6CisKKyAgIGRlc3RpbmF0aW9uICsgcHJlZml4CisKK1NvIGZvciBleGFtcGxlLCBpZiB5b3UgaGF2ZSB0aGlzIHNldHVwLmNmZzo6CisKKyAgIFttZXRhZGF0YV0KKyAgIG5hbWUgPSBmb28KKworICAgW2ZpbGVzXQorICAgcmVzb3VyY2VzID0KKyAgICAgICBkb2MvIGRvYy5tYW4gPSB7ZG9jfQorCitBbmQgaWYgKip7ZG9jfSoqIGlzIHJlcGxhY2VkIGJ5ICoqe2RhdGFkaXJ9L2RvYy97ZGlzdHJpYnV0aW9uLm5hbWV9KiosIGZpbmFsCitwYXRoIHdpbGwgYmU6OgorCisgICB7ZGF0YWRpcn0vZG9jL2Zvby9kb2MubWFuCisKKworT3ZlcndyaXRpbmcgcGF0aHMgZm9yIGNhdGVnb3JpZXMKKyIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiCisKK1RoaXMgcGFydCBpcyBpbnRlbmRlZCBmb3Igc3lzdGVtIGFkbWluaXN0cmF0b3JzIG9yIGRvd25zdHJlYW0gT1MgcGFja2FnZXJzLgorCitUaGUgcmVhbCBwYXRocyBvZiBjYXRlZ29yaWVzIGFyZSByZWdpc3RlcmVkIGluIHRoZSAqc3lzY29uZmlnLmNmZyogZmlsZQoraW5zdGFsbGVkIGluIHlvdXIgcHl0aG9uIGluc3RhbGxhdGlvbi4gVGhpcyBmaWxlIHVzZXMgYW4gaW5pIGZvcm1hdCB0b28uCitUaGUgY29udGVudCBvZiB0aGUgZmlsZSBpcyBvcmdhbml6ZWQgaW50byBzZXZlcmFsIHNlY3Rpb25zOgorCisqIGdsb2JhbHM6IFN0YW5kYXJkIGNhdGVnb3JpZXMncyBwYXRocy4KKyogcG9zaXhfcHJlZml4OiBTdGFuZGFyZCBwYXRocyBmb3IgY2F0ZWdvcmllcyBhbmQgaW5zdGFsbGF0aW9uIHBhdGhzIGZvciBwb3NpeAorICBzeXN0ZW0uCisqIG90aGVyIG9uZXMgWFhYCisKK1N0YW5kYXJkIGNhdGVnb3JpZXMgcGF0aHMgYXJlIHBsYXRmb3JtIGluZGVwZW5kZW50LCB0aGV5IGdlbmVyYWxseSByZWZlcnMgdG8KK290aGVyIGNhdGVnb3JpZXMsIHdoaWNoIGFyZSBwbGF0Zm9ybSBkZXBlbmRlbnQuIDptb2Q6YHN5c2NvbmZpZ2Agd2lsbCBjaG9vc2UKK3RoZXNlIGNhdGVnb3J5IGZyb20gc2VjdGlvbnMgbWF0Y2hpbmcgb3MubmFtZS4gRm9yIGV4YW1wbGU6OgorCisgICBkb2MgPSB7ZGF0YWRpcn0vZG9jL3tkaXN0cmlidXRpb24ubmFtZX0KKworSXQgcmVmZXJzIHRvIGRhdGFkaXIgY2F0ZWdvcnksIHdoaWNoIGNhbiBiZSBkaWZmZXJlbnQgYmV0d2VlbiBwbGF0Zm9ybXMuIEluCitwb3NpeCBzeXN0ZW0sIGl0IG1heSBiZTo6CisKKyAgIGRhdGFkaXIgPSAvdXNyL3NoYXJlCisKK1NvIHRoZSBmaW5hbCBwYXRoIHdpbGwgYmU6OgorCisgICBkb2MgPSAvdXNyL3NoYXJlL2RvYy97ZGlzdHJpYnV0aW9uLm5hbWV9CisKK1RoZSBwbGF0Zm9ybS1kZXBlbmRlbnQgY2F0ZWdvcmllcyBhcmU6CisKKyogY29uZmRpcgorKiBkYXRhZGlyCisqIGxpYmRpcgorKiBiYXNlCisKKworRGVmaW5pbmcgZXh0cmEgY2F0ZWdvcmllcworIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIgorCisuLiBUT0RPCisKKworRXhhbXBsZXMKKyIiIiIiIiIiCisKK1RoZXNlIGV4YW1wbGVzIGFyZSBpbmNyZW1lbnRhbCBidXQgd29yayB1bml0YXJpbHkuCisKK1Jlc291cmNlcyBpbiByb290IGRpcgorJycnJycnJycnJycnJycnJycnJycnCisKK1NvdXJjZSB0cmVlOjoKKworICAgYmFiYXItMS4wLworICAgICAgUkVBRE1FCisgICAgICBiYWJhci5zaAorICAgICAgbGF1bmNoLnNoCisgICAgICBiYWJhci5weQorCis6ZmlsZTpgc2V0dXAuY2ZnYDo6CisKKyAgIFtmaWxlc10KKyAgIHJlc291cmNlcyA9CisgICAgICAgUkVBRE1FID0ge2RvY30KKyAgICAgICAqLnNoID0ge3NjcmlwdHN9CisKK1NvIGJhYmFyLnNoIGFuZCBsYXVuY2guc2ggd2lsbCBiZSBwbGFjZWQgaW4ge3NjcmlwdHN9IGRpcmVjdG9yeS4KKworTm93IGxldCdzIG1vdmUgYWxsIHRoZSBzY3JpcHRzIGludG8gYSBzY3JpcHRzIGRpcmVjdG9yeS4KKworUmVzb3VyY2VzIGluIHN1Yi1kaXJlY3RvcnkKKycnJycnJycnJycnJycnJycnJycnJycnJycnCisKK1NvdXJjZSB0cmVlOjoKKworICAgYmFiYXItMS4xLworICAgICAgUkVBRE1FCisgICAgICBzY3JpcHRzLworICAgICAgICAgYmFiYXIuc2gKKyAgICAgICAgIGxhdW5jaC5zaAorICAgICAgICAgTEFVTkNICisgICAgICBiYWJhci5weQorCis6ZmlsZTpgc2V0dXAuY2ZnYDo6CisKKyAgIFtmaWxlc10KKyAgIHJlc291cmNlcyA9CisgICAgICAgUkVBRE1FID0ge2RvY30KKyAgICAgICBzY3JpcHRzLyBMQVVOQ0ggPSB7ZG9jfQorICAgICAgIHNjcmlwdHMvICouc2ggPSB7c2NyaXB0c30KKworSXQncyBpbXBvcnRhbnQgdG8gdXNlIHRoZSBzZXBhcmF0b3IgYWZ0ZXIgc2NyaXB0cy8gdG8gaW5zdGFsbCBhbGwgdGhlIHNoZWxsCitzY3JpcHRzIGludG8ge3NjcmlwdHN9IGluc3RlYWQgb2Yge3NjcmlwdHN9L3NjcmlwdHMuCisKK05vdyBsZXQncyBhZGQgc29tZSBkb2NzLgorCitSZXNvdXJjZXMgaW4gbXVsdGlwbGUgc3ViLWRpcmVjdG9yaWVzCisnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnCisKK1NvdXJjZSB0cmVlOjoKKworICAgYmFiYXItMS4yLworICAgICAgUkVBRE1FCisgICAgICBzY3JpcHRzLworICAgICAgICAgYmFiYXIuc2gKKyAgICAgICAgIGxhdW5jaC5zaAorICAgICAgICAgTEFVTkNICisgICAgICBkb2NzLworICAgICAgICAgYXBpCisgICAgICAgICBtYW4KKyAgICAgIGJhYmFyLnB5CisKKzpmaWxlOmBzZXR1cC5jZmdgOjoKKworICAgW2ZpbGVzXQorICAgcmVzb3VyY2VzID0KKyAgICAgICAgUkVBRE1FID0ge2RvY30KKyAgICAgICAgc2NyaXB0cy8gTEFVTkNIID0ge2RvY30KKyAgICAgICAgc2NyaXB0cy8gKi5zaCA9IHtzY3JpcHRzfQorICAgICAgICBkb2MvICogPSB7ZG9jfQorICAgICAgICBkb2MvIG1hbiA9IHttYW59CisKK1lvdSB3YW50IHRvIHBsYWNlIGFsbCB0aGUgZmlsZSBpbiB0aGUgZG9jcyBzY3JpcHQgaW50byB7ZG9jfSBjYXRlZ29yeSwgaW5zdGVhZAorb2YgbWFuLCB3aGljaCBtdXN0IGJlIHBsYWNlZCBpbnRvIHttYW59IGNhdGVnb3J5LCB3ZSB3aWxsIHVzZSB0aGUgb3JkZXIgb2YKK2RlY2xhcmF0aW9uIG9mIGdsb2JzIHRvIGNob29zZSB0aGUgZGVzdGluYXRpb24sIHRoZSBsYXN0IGdsb2IgdGhhdCBtYXRjaCB0aGUKK2ZpbGUgaXMgdXNlZC4KKworTm93IGxldCdzIGFkZCBzb21lIHNjcmlwdHMgZm9yIHdpbmRvd3MgdXNlcnMuCisKK0NvbXBsZXRlIGV4YW1wbGUKKycnJycnJycnJycnJycnJycKKworU291cmNlIHRyZWU6OgorCisgICBiYWJhci0xLjMvCisgICAgICBSRUFETUUKKyAgICAgIGRvYy8KKyAgICAgICAgIGFwaQorICAgICAgICAgbWFuCisgICAgICBzY3JpcHRzLworICAgICAgICAgYmFiYXIuc2gKKyAgICAgICAgIGxhdW5jaC5zaAorICAgICAgICAgYmFiYXIuYmF0CisgICAgICAgICBsYXVuY2guYmF0CisgICAgICAgICBMQVVOQ0gKKworOmZpbGU6YHNldHVwLmNmZ2A6OgorCisgICAgW2ZpbGVzXQorICAgIHJlc291cmNlcyA9CisgICAgICAgIFJFQURNRSA9IHtkb2N9CisgICAgICAgIHNjcmlwdHMvIExBVU5DSCA9IHtkb2N9CisgICAgICAgIHNjcmlwdHMvICoue3NoLGJhdH0gPSB7c2NyaXB0c30KKyAgICAgICAgZG9jLyAqID0ge2RvY30KKyAgICAgICAgZG9jLyBtYW4gPSB7bWFufQorCitXZSB1c2UgYnJhY2UgZXhwYW5zaW9uIHN5bnRheCB0byBwbGFjZSBhbGwgdGhlIHNoZWxsIGFuZCBiYXRjaCBzY3JpcHRzIGludG8KK3tzY3JpcHRzfSBjYXRlZ29yeS4KKworCisuLiBfc2V0dXBjZmctc2VjdGlvbi1leHRlbnNpb25zOgorCitFeHRlbnNpb24gbW9kdWxlcyBzZWN0aW9ucworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworSWYgYSBwcm9qZWN0IGluY2x1ZGVzIGV4dGVuc2lvbiBtb2R1bGVzIHdyaXR0ZW4gaW4gQyBvciBDKyssIGVhY2ggb25lIG9mIHRoZW0KK25lZWRzIHRvIGhhdmUgaXRzIG9wdGlvbnMgZGVmaW5lZCBpbiBhIGRlZGljYXRlZCBzZWN0aW9uLiAgSGVyZSdzIGFuIGV4YW1wbGU6OgorCisgICBbZmlsZXNdCisgICBwYWNrYWdlcyA9IGNvY29udXQKKworICAgW2V4dGVuc2lvbjogY29jb251dC5fZmFzdGNvY29udXRdCisgICBsYW5ndWFnZSA9IGN4eAorICAgc291cmNlcyA9IGN4eF9zcmMvY29ub251dF91dGlscy5jeHgKKyAgICAgICAgICAgICBjeHhfc3JjL3B5dGhvbl9tb2R1bGUuY3h4CisgICBpbmNsdWRlX2RpcnMgPSAvdXNyL2luY2x1ZGUvZ2Vjb2RlCisgICAgICAgICAgICAgICAgICAvdXNyL2luY2x1ZGUvYmxpdHoKKyAgIGV4dHJhX2NvbXBpbGVfYXJncyA9CisgICAgICAgLWZQSUMgLU8yCisgICAgICAgLURHRUNPREVfVkVSU0lPTj0kKC4vZ2Vjb2RlX3ZlcnNpb24pIC0tIHN5cy5wbGF0Zm9ybSAhPSAnd2luMzInCisgICAgICAgL0RHRUNPREVfVkVSU0lPTj13aW4zMiAtLSBzeXMucGxhdGZvcm0gPT0gJ3dpbjMyJworCitUaGUgc2VjdGlvbiBuYW1lIG11c3Qgc3RhcnQgd2l0aCBgYGV4dGVuc2lvbjpgYDsgdGhlIHJpZ2h0LWhhbmQgcGFydCBpcyB1c2VkIGFzCit0aGUgZnVsbCBuYW1lIChpbmNsdWRpbmcgYSBwYXJlbnQgcGFja2FnZSwgaWYgYW55KSBvZiB0aGUgZXh0ZW5zaW9uLiAgV2hpdGVzcGFjZQorYXJvdW5kIHRoZSBleHRlbnNpb24gbmFtZSBpcyBhbGxvd2VkLiAgSWYgdGhlIGV4dGVuc2lvbiBtb2R1bGUgaXMgbm90IHN0YW5kYWxvbmUKKyhlLmcuIGBgX2Jpc2VjdGBgKSBidXQgcGFydCBvZiBhIHBhY2thZ2UgKGUuZy4gYGB0aGluZy5fc3BlZWR1cHNgYCksIHRoZSBwYXJlbnQKK3BhY2thZ2UgbXVzdCBiZSBsaXN0ZWQgaW4gdGhlIGBgcGFja2FnZXNgYCBmaWVsZC4KK1ZhbGlkIGZpZWxkcyBhbmQgdGhlaXIgdmFsdWVzIGFyZSBsaXN0ZWQgaW4gdGhlIGRvY3VtZW50YXRpb24gb2YgdGhlCis6Y2xhc3M6YHBhY2thZ2luZy5jb21waWxlci5leHRlbnNpb24uRXh0ZW5zaW9uYCBjbGFzczsgdmFsdWVzIGRvY3VtZW50ZWQgYXMKK1B5dGhvbiBsaXN0cyB0cmFuc2xhdGUgdG8gbXVsdGktbGluZSB2YWx1ZXMgaW4gdGhlIGNvbmZpZ3VyYXRpb24gZmlsZS4gIEluCithZGRpdGlvbiwgbXVsdGktbGluZSB2YWx1ZXMgYWNjZXB0IGVudmlyb25tZW50IG1hcmtlcnMgb24gZWFjaCBsaW5lLCBhZnRlciBhCitgYC0tYGAuCisKKworLi4gX3NldHVwY2ZnLXNlY3Rpb24tY29tbWFuZHM6CisKK0NvbW1hbmRzIHNlY3Rpb25zCistLS0tLS0tLS0tLS0tLS0tLQorCitUbyBwYXNzIG9wdGlvbnMgdG8gY29tbWFuZHMgd2l0aG91dCBoYXZpbmcgdG8gdHlwZSB0aGVtIG9uIHRoZSBjb21tYW5kIGxpbmUKK2ZvciBlYWNoIGludm9jYXRpb24sIHlvdSBjYW4gd3JpdGUgdGhlbSBpbiB0aGUgOmZpbGU6YHNldHVwLmNmZ2AgZmlsZSwgaW4gYQorc2VjdGlvbiBuYW1lZCBhZnRlciB0aGUgY29tbWFuZC4gIEV4YW1wbGU6OgorCisgICBbc2Rpc3RdCisgICAjIHNwZWNpYWwgZnVuY3Rpb24gdG8gYWRkIGN1c3RvbSBmaWxlcworICAgbWFuaWZlc3QtYnVpbGRlcnMgPSBwYWNrYWdlLnNldHVwLmxpc3RfZXh0cmFfZmlsZXMKKworICAgW2J1aWxkXQorICAgdXNlLTJ0bzMgPSBUcnVlCisKKyAgIFtidWlsZF9leHRdCisgICBpbnBsYWNlID0gb24KKworICAgW2NoZWNrXQorICAgc3RyaWN0ID0gb24KKyAgIGFsbCA9IG9uCisKK09wdGlvbiB2YWx1ZXMgZ2l2ZW4gaW4gdGhlIGNvbmZpZ3VyYXRpb24gZmlsZSBjYW4gYmUgb3ZlcnJpZGVuIG9uIHRoZSBjb21tYW5kCitsaW5lLiAgU2VlIDpyZWY6YHBhY2thZ2luZy1zZXR1cC1jb25maWdgIGZvciBtb3JlIGluZm9ybWF0aW9uLgorCitUaGVzZSBzZWN0aW9ucyBhcmUgYWxzbyB1c2VkIHRvIGRlZmluZSA6cmVmOmBjb21tYW5kIGhvb2tzCis8cGFja2FnaW5nLWNvbW1hbmQtaG9va3M+YC4KKworCisuLiBfc2V0dXBjZmctZXh0ZW5zaWJpbGl0eToKKworRXh0ZW5zaWJpbGl0eQorPT09PT09PT09PT09PQorCitFdmVyeSBzZWN0aW9uIGNhbiBoYXZlIGZpZWxkcyB0aGF0IGFyZSBub3QgcGFydCBvZiB0aGlzIHNwZWNpZmljYXRpb24uICBUaGV5IGFyZQorY2FsbGVkICoqZXh0ZW5zaW9ucyoqLgorCitBbiBleHRlbnNpb24gZmllbGQgc3RhcnRzIHdpdGggYGBYLWBgLiAgRXhhbXBsZTo6CisKKyAgIFttZXRhZGF0YV0KKyAgIG5hbWUgPSBEaXN0cmlidXRlCisgICBYLURlYmlhbi1OYW1lID0gcHl0aG9uLWRpc3RyaWJ1dGUKKworCisuLiBfc2V0dXBjZmctY2hhbmdlczoKKworQ2hhbmdlcyBpbiB0aGUgc3BlY2lmaWNhdGlvbgorPT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCitUaGUgdmVyc2lvbmluZyBzY2hlbWUgZm9yIHRoaXMgc3BlY2lmaWNhdGlvbiBpcyAqKk1BSk9SLk1JTk9SKiouICBDaGFuZ2VzIGluIHRoZQorc3BlY2lmaWNhdGlvbiB3aWxsIGNhdXNlIHRoZSB2ZXJzaW9uIG51bWJlciB0byBiZSB1cGRhdGVkLgorCitDaGFuZ2VzIHRvIHRoZSBtaW5vciBudW1iZXIgcmVmbGVjdCBiYWNrd2FyZHMtY29tcGF0aWJsZSBjaGFuZ2VzOgorCistIE5ldyBmaWVsZHMgYW5kIHNlY3Rpb25zIChvcHRpb25hbCBvciBtYW5kYXRvcnkpIGNhbiBiZSBhZGRlZC4KKy0gT3B0aW9uYWwgZmllbGRzIGNhbiBiZSByZW1vdmVkLgorCitUaGUgbWFqb3IgbnVtYmVyIHdpbGwgYmUgaW5jcmVtZW50ZWQgZm9yIGJhY2t3YXJkcy1pbmNvbXBhdGlibGUgY2hhbmdlczoKKworLSBNYW5kYXRvcnkgZmllbGRzIG9yIHNlY3Rpb25zIGFyZSByZW1vdmVkLgorLSBGaWVsZHMgY2hhbmdlIHRoZWlyIG1lYW5pbmcuCisKK0FzIGEgY29uc2VxdWVuY2UsIGEgdG9vbCB3cml0dGVuIHRvIGNvbnN1bWUgMS41IGhhcyB0aGVzZSBwcm9wZXJ0aWVzOgorCistIENhbiByZWFkIDEuMSwgMS4yIGFuZCBhbGwgdmVyc2lvbnMgPCAxLjUsIHNpbmNlIHRoZSB0b29sIGtub3dzIHdoYXQKKyAgb3B0aW9uYWwgZmllbGRzIHdlcmVuJ3QgdGhlcmUuCisKKyAgLi4gWFhYIGNsYXJpZnkKKworLSBDYW4gYWxzbyByZWFkIDEuNiBhbmQgb3RoZXIgMS54IHZlcnNpb25zOiBUaGUgdG9vbCB3aWxsIGp1c3QgaWdub3JlIGZpZWxkcyBpdAorICBkb2Vzbid0IGtub3cgYWJvdXQsIGV2ZW4gaWYgdGhleSBhcmUgbWFuZGF0b3J5IGluIHRoZSBuZXcgdmVyc2lvbi4gIElmCisgIG9wdGlvbmFsIGZpZWxkcyB3ZXJlIHJlbW92ZWQsIHRoZSB0b29sIHdpbGwganVzdCBjb25zaWRlciB0aGVtIGFic2VudC4KKworLSBDYW5ub3QgcmVhZCAyLnggYW5kIHNob3VsZCByZWZ1c2UgdG8gaW50ZXJwcmV0IHN1Y2ggZmlsZXMuCisKK0EgdG9vbCB3cml0dGVuIHRvIHByb2R1Y2UgMS54IHNob3VsZCBoYXZlIHRoZXNlIHByb3BlcnRpZXM6CisKKy0gV3JpdGVzIGFsbCBtYW5kYXRvcnkgZmllbGRzLgorLSBNYXkgd3JpdGUgb3B0aW9uYWwgZmllbGRzLgorCisKKy4uIF9zZXR1cGNmZy1hY2tzOgorCitBY2tub3dsZWRnbWVudHMKKz09PT09PT09PT09PT09PQorCitUaGlzIHNwZWNpZmljYXRpb24gaW5jbHVkZXMgd29yayBhbmQgZmVlZGJhY2sgZnJvbSB0aGVzZSBwZW9wbGU6CisKKy0gVGFyZWsgWmlhZMOpCistIEp1bGllbiBKZWhhbm5ldAorLSBCb3JpcyBGZWxkCistIMOJcmljIEFyYXVqbworCisoSWYgeW91ciBuYW1lIGlzIG1pc3NpbmcsIHBsZWFzZSA6cmVmOmBsZXQgdXMga25vdyA8cmVwb3J0aW5nLWJ1Z3M+YC4pCmRpZmYgLS1naXQgYS9Eb2MvcGFja2FnaW5nL3NldHVwc2NyaXB0LnJzdCBiL0RvYy9wYWNrYWdpbmcvc2V0dXBzY3JpcHQucnN0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNhZmRlMjAKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2MvcGFja2FnaW5nL3NldHVwc2NyaXB0LnJzdApAQCAtMCwwICsxLDY5MyBAQAorLi4gX3BhY2thZ2luZy1zZXR1cC1zY3JpcHQ6CisKKyoqKioqKioqKioqKioqKioqKioqKioqKgorV3JpdGluZyB0aGUgU2V0dXAgU2NyaXB0CisqKioqKioqKioqKioqKioqKioqKioqKioKKworVGhlIHNldHVwIHNjcmlwdCBpcyB0aGUgY2VudGVyIG9mIGFsbCBhY3Rpdml0eSBpbiBidWlsZGluZywgZGlzdHJpYnV0aW5nLCBhbmQKK2luc3RhbGxpbmcgbW9kdWxlcyB1c2luZyBEaXN0dXRpbHMuICBUaGUgbWFpbiBwdXJwb3NlIG9mIHRoZSBzZXR1cCBzY3JpcHQgaXMKK3RvIGRlc2NyaWJlIHlvdXIgbW9kdWxlIGRpc3RyaWJ1dGlvbiB0byBEaXN0dXRpbHMsIHNvIHRoYXQgdGhlIHZhcmlvdXMKK2NvbW1hbmRzIHRoYXQgb3BlcmF0ZSBvbiB5b3VyIG1vZHVsZXMgZG8gdGhlIHJpZ2h0IHRoaW5nLiAgQXMgd2Ugc2F3IGluIHNlY3Rpb24KKzpyZWY6YHBhY2thZ2luZy1zaW1wbGUtZXhhbXBsZWAsIHRoZSBzZXR1cCBzY3JpcHQgY29uc2lzdHMgbWFpbmx5IG9mIGEKK2NhbGwgdG8gOmZ1bmM6YHNldHVwYCB3aGVyZSB0aGUgbW9zdCBpbmZvcm1hdGlvbiBpcyBzdXBwbGllZCBhcwora2V5d29yZCBhcmd1bWVudHMgdG8gOmZ1bmM6YHNldHVwYC4KKworSGVyZSdzIGEgc2xpZ2h0bHkgbW9yZSBpbnZvbHZlZCBleGFtcGxlLCB3aGljaCB3ZSdsbCBmb2xsb3cgZm9yIHRoZSBuZXh0IGNvdXBsZQorb2Ygc2VjdGlvbnM6IGEgc2V0dXAgc2NyaXB0IHRoYXQgY291bGQgYmUgdXNlZCBmb3IgUGFja2FnaW5nIGl0c2VsZjo6CisKKyAgICAjIS91c3IvYmluL2VudiBweXRob24KKworICAgIGZyb20gcGFja2FnaW5nLmNvcmUgaW1wb3J0IHNldHVwLCBmaW5kX3BhY2thZ2VzCisKKyAgICBzZXR1cChuYW1lPSdQYWNrYWdpbmcnLAorICAgICAgICAgIHZlcnNpb249JzEuMCcsCisgICAgICAgICAgc3VtbWFyeT0nUHl0aG9uIERpc3RyaWJ1dGlvbiBVdGlsaXRpZXMnLAorICAgICAgICAgIGtleXdvcmRzPVsncGFja2FnaW5nJywgJ3BhY2thZ2luZyddLAorICAgICAgICAgIGF1dGhvcj11J1RhcmVrIFppYWTDqScsCisgICAgICAgICAgYXV0aG9yX2VtYWlsPSd0YXJla0B6aWFkZS5vcmcnLAorICAgICAgICAgIGhvbWVfcGFnZT0naHR0cDovL2JpdGJ1Y2tldC5vcmcvdGFyZWsvcGFja2FnaW5nL3dpa2kvSG9tZScsCisgICAgICAgICAgbGljZW5zZT0nUFNGJywKKyAgICAgICAgICBwYWNrYWdlcz1maW5kX3BhY2thZ2VzKCkpCisKKworVGhlcmUgYXJlIG9ubHkgdHdvIGRpZmZlcmVuY2VzIGJldHdlZW4gdGhpcyBhbmQgdGhlIHRyaXZpYWwgb25lLWZpbGUKK2Rpc3RyaWJ1dGlvbiBwcmVzZW50ZWQgaW4gc2VjdGlvbiA6cmVmOmBwYWNrYWdpbmctc2ltcGxlLWV4YW1wbGVgOiBtb3JlCittZXRhZGF0YSBhbmQgdGhlIHNwZWNpZmljYXRpb24gb2YgcHVyZSBQeXRob24gbW9kdWxlcyBieSBwYWNrYWdlIHJhdGhlciB0aGFuCitieSBtb2R1bGUuICBUaGlzIGlzIGltcG9ydGFudCBzaW5jZSBSaXN0dXRpbHMgY29uc2lzdCBvZiBhIGNvdXBsZSBvZiBkb3plbgorbW9kdWxlcyBzcGxpdCBpbnRvIChzbyBmYXIpIHR3byBwYWNrYWdlczsgYW4gZXhwbGljaXQgbGlzdCBvZiBldmVyeSBtb2R1bGUKK3dvdWxkIGJlIHRlZGlvdXMgdG8gZ2VuZXJhdGUgYW5kIGRpZmZpY3VsdCB0byBtYWludGFpbi4gIEZvciBtb3JlIGluZm9ybWF0aW9uCitvbiB0aGUgYWRkaXRpb25hbCBtZXRhZGF0YSwgc2VlIHNlY3Rpb24gOnJlZjpgcGFja2FnaW5nLW1ldGFkYXRhYC4KKworTm90ZSB0aGF0IGFueSBwYXRobmFtZXMgKGZpbGVzIG9yIGRpcmVjdG9yaWVzKSBzdXBwbGllZCBpbiB0aGUgc2V0dXAgc2NyaXB0CitzaG91bGQgYmUgd3JpdHRlbiB1c2luZyB0aGUgVW5peCBjb252ZW50aW9uLCBpLmUuIHNsYXNoLXNlcGFyYXRlZC4gIFRoZQorRGlzdHV0aWxzIHdpbGwgdGFrZSBjYXJlIG9mIGNvbnZlcnRpbmcgdGhpcyBwbGF0Zm9ybS1uZXV0cmFsIHJlcHJlc2VudGF0aW9uIGludG8KK3doYXRldmVyIGlzIGFwcHJvcHJpYXRlIG9uIHlvdXIgY3VycmVudCBwbGF0Zm9ybSBiZWZvcmUgYWN0dWFsbHkgdXNpbmcgdGhlCitwYXRobmFtZS4gIFRoaXMgbWFrZXMgeW91ciBzZXR1cCBzY3JpcHQgcG9ydGFibGUgYWNyb3NzIG9wZXJhdGluZyBzeXN0ZW1zLCB3aGljaAorb2YgY291cnNlIGlzIG9uZSBvZiB0aGUgbWFqb3IgZ29hbHMgb2YgdGhlIERpc3R1dGlscy4gIEluIHRoaXMgc3Bpcml0LCBhbGwKK3BhdGhuYW1lcyBpbiB0aGlzIGRvY3VtZW50IGFyZSBzbGFzaC1zZXBhcmF0ZWQuCisKK1RoaXMsIG9mIGNvdXJzZSwgb25seSBhcHBsaWVzIHRvIHBhdGhuYW1lcyBnaXZlbiB0byBEaXN0dXRpbHMgZnVuY3Rpb25zLiAgSWYKK3lvdSwgZm9yIGV4YW1wbGUsIHVzZSBzdGFuZGFyZCBQeXRob24gZnVuY3Rpb25zIHN1Y2ggYXMgOmZ1bmM6YGdsb2IuZ2xvYmAgb3IKKzpmdW5jOmBvcy5saXN0ZGlyYCB0byBzcGVjaWZ5IGZpbGVzLCB5b3Ugc2hvdWxkIGJlIGNhcmVmdWwgdG8gd3JpdGUgcG9ydGFibGUKK2NvZGUgaW5zdGVhZCBvZiBoYXJkY29kaW5nIHBhdGggc2VwYXJhdG9yczo6CisKKyAgICBnbG9iLmdsb2Iob3MucGF0aC5qb2luKCdteWRpcicsICdzdWJkaXInLCAnKi5odG1sJykpCisgICAgb3MubGlzdGRpcihvcy5wYXRoLmpvaW4oJ215ZGlyJywgJ3N1YmRpcicpKQorCisKKy4uIF9wYWNrYWdpbmctbGlzdGluZy1wYWNrYWdlczoKKworTGlzdGluZyB3aG9sZSBwYWNrYWdlcworPT09PT09PT09PT09PT09PT09PT09PQorCitUaGUgOm9wdGlvbjpgcGFja2FnZXNgIG9wdGlvbiB0ZWxscyB0aGUgRGlzdHV0aWxzIHRvIHByb2Nlc3MgKGJ1aWxkLCBkaXN0cmlidXRlLAoraW5zdGFsbCwgZXRjLikgYWxsIHB1cmUgUHl0aG9uIG1vZHVsZXMgZm91bmQgaW4gZWFjaCBwYWNrYWdlIG1lbnRpb25lZCBpbiB0aGUKKzpvcHRpb246YHBhY2thZ2VzYCBsaXN0LiAgSW4gb3JkZXIgdG8gZG8gdGhpcywgb2YgY291cnNlLCB0aGVyZSBoYXMgdG8gYmUgYQorY29ycmVzcG9uZGVuY2UgYmV0d2VlbiBwYWNrYWdlIG5hbWVzIGFuZCBkaXJlY3RvcmllcyBpbiB0aGUgZmlsZXN5c3RlbS4gIFRoZQorZGVmYXVsdCBjb3JyZXNwb25kZW5jZSBpcyB0aGUgbW9zdCBvYnZpb3VzIG9uZSwgaS5lLiBwYWNrYWdlIDptb2Q6YHBhY2thZ2luZ2AgaXMKK2ZvdW5kIGluIHRoZSBkaXJlY3RvcnkgOmZpbGU6YHBhY2thZ2luZ2AgcmVsYXRpdmUgdG8gdGhlIGRpc3RyaWJ1dGlvbiByb290LgorVGh1cywgd2hlbiB5b3Ugc2F5IGBgcGFja2FnZXMgPSBbJ2ZvbyddYGAgaW4geW91ciBzZXR1cCBzY3JpcHQsIHlvdSBhcmUKK3Byb21pc2luZyB0aGF0IHRoZSBEaXN0dXRpbHMgd2lsbCBmaW5kIGEgZmlsZSA6ZmlsZTpgZm9vL19faW5pdF9fLnB5YCAod2hpY2gKK21pZ2h0IGJlIHNwZWxsZWQgZGlmZmVyZW50bHkgb24geW91ciBzeXN0ZW0sIGJ1dCB5b3UgZ2V0IHRoZSBpZGVhKSByZWxhdGl2ZSB0bwordGhlIGRpcmVjdG9yeSB3aGVyZSB5b3VyIHNldHVwIHNjcmlwdCBsaXZlcy4gIElmIHlvdSBicmVhayB0aGlzIHByb21pc2UsIHRoZQorRGlzdHV0aWxzIHdpbGwgaXNzdWUgYSB3YXJuaW5nIGJ1dCBzdGlsbCBwcm9jZXNzIHRoZSBicm9rZW4gcGFja2FnZSBhbnl3YXkuCisKK0lmIHlvdSB1c2UgYSBkaWZmZXJlbnQgY29udmVudGlvbiB0byBsYXkgb3V0IHlvdXIgc291cmNlIGRpcmVjdG9yeSwgdGhhdCdzIG5vCitwcm9ibGVtOiB5b3UganVzdCBoYXZlIHRvIHN1cHBseSB0aGUgOm9wdGlvbjpgcGFja2FnZV9kaXJgIG9wdGlvbiB0byB0ZWxsIHRoZQorRGlzdHV0aWxzIGFib3V0IHlvdXIgY29udmVudGlvbi4gIEZvciBleGFtcGxlLCBzYXkgeW91IGtlZXAgYWxsIFB5dGhvbiBzb3VyY2UKK3VuZGVyIDpmaWxlOmBsaWJgLCBzbyB0aGF0IG1vZHVsZXMgaW4gdGhlICJyb290IHBhY2thZ2UiIChpLmUuLCBub3QgaW4gYW55CitwYWNrYWdlIGF0IGFsbCkgYXJlIGluIDpmaWxlOmBsaWJgLCBtb2R1bGVzIGluIHRoZSA6bW9kOmBmb29gIHBhY2thZ2UgYXJlIGluCis6ZmlsZTpgbGliL2Zvb2AsIGFuZCBzbyBmb3J0aC4gIFRoZW4geW91IHdvdWxkIHB1dCA6OgorCisgICAgcGFja2FnZV9kaXIgPSB7Jyc6ICdsaWInfQorCitpbiB5b3VyIHNldHVwIHNjcmlwdC4gIFRoZSBrZXlzIHRvIHRoaXMgZGljdGlvbmFyeSBhcmUgcGFja2FnZSBuYW1lcywgYW5kIGFuCitlbXB0eSBwYWNrYWdlIG5hbWUgc3RhbmRzIGZvciB0aGUgcm9vdCBwYWNrYWdlLiAgVGhlIHZhbHVlcyBhcmUgZGlyZWN0b3J5IG5hbWVzCityZWxhdGl2ZSB0byB5b3VyIGRpc3RyaWJ1dGlvbiByb290LiAgSW4gdGhpcyBjYXNlLCB3aGVuIHlvdSBzYXkgYGBwYWNrYWdlcyA9CitbJ2ZvbyddYGAsIHlvdSBhcmUgcHJvbWlzaW5nIHRoYXQgdGhlIGZpbGUgOmZpbGU6YGxpYi9mb28vX19pbml0X18ucHlgIGV4aXN0cy4KKworQW5vdGhlciBwb3NzaWJsZSBjb252ZW50aW9uIGlzIHRvIHB1dCB0aGUgOm1vZDpgZm9vYCBwYWNrYWdlIHJpZ2h0IGluCis6ZmlsZTpgbGliYCwgdGhlIDptb2Q6YGZvby5iYXJgIHBhY2thZ2UgaW4gOmZpbGU6YGxpYi9iYXJgLCBldGMuICBUaGlzIHdvdWxkIGJlCit3cml0dGVuIGluIHRoZSBzZXR1cCBzY3JpcHQgYXMgOjoKKworICAgIHBhY2thZ2VfZGlyID0geydmb28nOiAnbGliJ30KKworQSBgYHBhY2thZ2U6IGRpcmBgIGVudHJ5IGluIHRoZSA6b3B0aW9uOmBwYWNrYWdlX2RpcmAgZGljdGlvbmFyeSBpbXBsaWNpdGx5CithcHBsaWVzIHRvIGFsbCBwYWNrYWdlcyBiZWxvdyAqcGFja2FnZSosIHNvIHRoZSA6bW9kOmBmb28uYmFyYCBjYXNlIGlzCithdXRvbWF0aWNhbGx5IGhhbmRsZWQgaGVyZS4gIEluIHRoaXMgZXhhbXBsZSwgaGF2aW5nIGBgcGFja2FnZXMgPSBbJ2ZvbycsCisnZm9vLmJhciddYGAgdGVsbHMgdGhlIERpc3R1dGlscyB0byBsb29rIGZvciA6ZmlsZTpgbGliL19faW5pdF9fLnB5YCBhbmQKKzpmaWxlOmBsaWIvYmFyL19faW5pdF9fLnB5YC4gIChLZWVwIGluIG1pbmQgdGhhdCBhbHRob3VnaCA6b3B0aW9uOmBwYWNrYWdlX2RpcmAKK2FwcGxpZXMgcmVjdXJzaXZlbHksIHlvdSBtdXN0IGV4cGxpY2l0bHkgbGlzdCBhbGwgcGFja2FnZXMgaW4KKzpvcHRpb246YHBhY2thZ2VzYDogdGhlIERpc3R1dGlscyB3aWxsICpub3QqIHJlY3Vyc2l2ZWx5IHNjYW4geW91ciBzb3VyY2UgdHJlZQorbG9va2luZyBmb3IgYW55IGRpcmVjdG9yeSB3aXRoIGFuIDpmaWxlOmBfX2luaXRfXy5weWAgZmlsZS4pCisKKworLi4gX3BhY2thZ2luZy1saXN0aW5nLW1vZHVsZXM6CisKK0xpc3RpbmcgaW5kaXZpZHVhbCBtb2R1bGVzCis9PT09PT09PT09PT09PT09PT09PT09PT09PQorCitGb3IgYSBzbWFsbCBtb2R1bGUgZGlzdHJpYnV0aW9uLCB5b3UgbWlnaHQgcHJlZmVyIHRvIGxpc3QgYWxsIG1vZHVsZXMgcmF0aGVyCit0aGFuIGxpc3RpbmcgcGFja2FnZXMtLS1lc3BlY2lhbGx5IHRoZSBjYXNlIG9mIGEgc2luZ2xlIG1vZHVsZSB0aGF0IGdvZXMgaW4gdGhlCisicm9vdCBwYWNrYWdlIiAoaS5lLiwgbm8gcGFja2FnZSBhdCBhbGwpLiAgVGhpcyBzaW1wbGVzdCBjYXNlIHdhcyBzaG93biBpbgorc2VjdGlvbiA6cmVmOmBwYWNrYWdpbmctc2ltcGxlLWV4YW1wbGVgOyBoZXJlIGlzIGEgc2xpZ2h0bHkgbW9yZSBpbnZvbHZlZAorZXhhbXBsZTo6CisKKyAgICBweV9tb2R1bGVzID0gWydtb2QxJywgJ3BrZy5tb2QyJ10KKworVGhpcyBkZXNjcmliZXMgdHdvIG1vZHVsZXMsIG9uZSBvZiB0aGVtIGluIHRoZSAicm9vdCIgcGFja2FnZSwgdGhlIG90aGVyIGluIHRoZQorOm1vZDpgcGtnYCBwYWNrYWdlLiAgQWdhaW4sIHRoZSBkZWZhdWx0IHBhY2thZ2UvZGlyZWN0b3J5IGxheW91dCBpbXBsaWVzIHRoYXQKK3RoZXNlIHR3byBtb2R1bGVzIGNhbiBiZSBmb3VuZCBpbiA6ZmlsZTpgbW9kMS5weWAgYW5kIDpmaWxlOmBwa2cvbW9kMi5weWAsIGFuZAordGhhdCA6ZmlsZTpgcGtnL19faW5pdF9fLnB5YCBleGlzdHMgYXMgd2VsbC4gQW5kIGFnYWluLCB5b3UgY2FuIG92ZXJyaWRlIHRoZQorcGFja2FnZS9kaXJlY3RvcnkgY29ycmVzcG9uZGVuY2UgdXNpbmcgdGhlIDpvcHRpb246YHBhY2thZ2VfZGlyYCBvcHRpb24uCisKKworLi4gX3BhY2thZ2luZy1kZXNjcmliaW5nLWV4dGVuc2lvbnM6CisKK0Rlc2NyaWJpbmcgZXh0ZW5zaW9uIG1vZHVsZXMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworSnVzdCBhcyB3cml0aW5nIFB5dGhvbiBleHRlbnNpb24gbW9kdWxlcyBpcyBhIGJpdCBtb3JlIGNvbXBsaWNhdGVkIHRoYW4gd3JpdGluZworcHVyZSBQeXRob24gbW9kdWxlcywgZGVzY3JpYmluZyB0aGVtIHRvIHRoZSBEaXN0dXRpbHMgaXMgYSBiaXQgbW9yZSBjb21wbGljYXRlZC4KK1VubGlrZSBwdXJlIG1vZHVsZXMsIGl0J3Mgbm90IGVub3VnaCBqdXN0IHRvIGxpc3QgbW9kdWxlcyBvciBwYWNrYWdlcyBhbmQgZXhwZWN0Cit0aGUgRGlzdHV0aWxzIHRvIGdvIG91dCBhbmQgZmluZCB0aGUgcmlnaHQgZmlsZXM7IHlvdSBoYXZlIHRvIHNwZWNpZnkgdGhlCitleHRlbnNpb24gbmFtZSwgc291cmNlIGZpbGUocyksIGFuZCBhbnkgY29tcGlsZS9saW5rIHJlcXVpcmVtZW50cyAoaW5jbHVkZQorZGlyZWN0b3JpZXMsIGxpYnJhcmllcyB0byBsaW5rIHdpdGgsIGV0Yy4pLgorCisuLiBYWFggcmVhZCBvdmVyIHRoaXMgc2VjdGlvbgorCitBbGwgb2YgdGhpcyBpcyBkb25lIHRocm91Z2ggYW5vdGhlciBrZXl3b3JkIGFyZ3VtZW50IHRvIDpmdW5jOmBzZXR1cGAsIHRoZQorOm9wdGlvbjpgZXh0X21vZHVsZXNgIG9wdGlvbi4gIDpvcHRpb246YGV4dF9tb2R1bGVzYCBpcyBqdXN0IGEgbGlzdCBvZgorOmNsYXNzOmBFeHRlbnNpb25gIGluc3RhbmNlcywgZWFjaCBvZiB3aGljaCBkZXNjcmliZXMgYSBzaW5nbGUgZXh0ZW5zaW9uIG1vZHVsZS4KK1N1cHBvc2UgeW91ciBkaXN0cmlidXRpb24gaW5jbHVkZXMgYSBzaW5nbGUgZXh0ZW5zaW9uLCBjYWxsZWQgOm1vZDpgZm9vYCBhbmQKK2ltcGxlbWVudGVkIGJ5IDpmaWxlOmBmb28uY2AuICBJZiBubyBhZGRpdGlvbmFsIGluc3RydWN0aW9ucyB0byB0aGUKK2NvbXBpbGVyL2xpbmtlciBhcmUgbmVlZGVkLCBkZXNjcmliaW5nIHRoaXMgZXh0ZW5zaW9uIGlzIHF1aXRlIHNpbXBsZTo6CisKKyAgICBFeHRlbnNpb24oJ2ZvbycsIFsnZm9vLmMnXSkKKworVGhlIDpjbGFzczpgRXh0ZW5zaW9uYCBjbGFzcyBjYW4gYmUgaW1wb3J0ZWQgZnJvbSA6bW9kOmBwYWNrYWdpbmcuY29yZWAgYWxvbmcKK3dpdGggOmZ1bmM6YHNldHVwYC4gIFRodXMsIHRoZSBzZXR1cCBzY3JpcHQgZm9yIGEgbW9kdWxlIGRpc3RyaWJ1dGlvbiB0aGF0Citjb250YWlucyBvbmx5IHRoaXMgb25lIGV4dGVuc2lvbiBhbmQgbm90aGluZyBlbHNlIG1pZ2h0IGJlOjoKKworICAgIGZyb20gcGFja2FnaW5nLmNvcmUgaW1wb3J0IHNldHVwLCBFeHRlbnNpb24KKyAgICBzZXR1cChuYW1lPSdmb28nLAorICAgICAgICAgIHZlcnNpb249JzEuMCcsCisgICAgICAgICAgZXh0X21vZHVsZXM9W0V4dGVuc2lvbignZm9vJywgWydmb28uYyddKV0pCisKK1RoZSA6Y2xhc3M6YEV4dGVuc2lvbmAgY2xhc3MgKGFjdHVhbGx5LCB0aGUgdW5kZXJseWluZyBleHRlbnNpb24tYnVpbGRpbmcKK21hY2hpbmVyeSBpbXBsZW1lbnRlZCBieSB0aGUgOmNvbW1hbmQ6YGJ1aWxkX2V4dGAgY29tbWFuZCkgc3VwcG9ydHMgYSBncmVhdCBkZWFsCitvZiBmbGV4aWJpbGl0eSBpbiBkZXNjcmliaW5nIFB5dGhvbiBleHRlbnNpb25zLCB3aGljaCBpcyBleHBsYWluZWQgaW4gdGhlCitmb2xsb3dpbmcgc2VjdGlvbnMuCisKKworRXh0ZW5zaW9uIG5hbWVzIGFuZCBwYWNrYWdlcworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitUaGUgZmlyc3QgYXJndW1lbnQgdG8gdGhlIDpjbGFzczpgRXh0ZW5zaW9uYCBjb25zdHJ1Y3RvciBpcyBhbHdheXMgdGhlIG5hbWUgb2YKK3RoZSBleHRlbnNpb24sIGluY2x1ZGluZyBhbnkgcGFja2FnZSBuYW1lcy4gIEZvciBleGFtcGxlLCA6OgorCisgICAgRXh0ZW5zaW9uKCdmb28nLCBbJ3NyYy9mb28xLmMnLCAnc3JjL2ZvbzIuYyddKQorCitkZXNjcmliZXMgYW4gZXh0ZW5zaW9uIHRoYXQgbGl2ZXMgaW4gdGhlIHJvb3QgcGFja2FnZSwgd2hpbGUgOjoKKworICAgIEV4dGVuc2lvbigncGtnLmZvbycsIFsnc3JjL2ZvbzEuYycsICdzcmMvZm9vMi5jJ10pCisKK2Rlc2NyaWJlcyB0aGUgc2FtZSBleHRlbnNpb24gaW4gdGhlIDptb2Q6YHBrZ2AgcGFja2FnZS4gIFRoZSBzb3VyY2UgZmlsZXMgYW5kCityZXN1bHRpbmcgb2JqZWN0IGNvZGUgYXJlIGlkZW50aWNhbCBpbiBib3RoIGNhc2VzOyB0aGUgb25seSBkaWZmZXJlbmNlIGlzIHdoZXJlCitpbiB0aGUgZmlsZXN5c3RlbSAoYW5kIHRoZXJlZm9yZSB3aGVyZSBpbiBQeXRob24ncyBuYW1lc3BhY2UgaGllcmFyY2h5KSB0aGUKK3Jlc3VsdGluZyBleHRlbnNpb24gbGl2ZXMuCisKK0lmIHlvdXIgZGlzdHJpYnV0aW9uIGNvbnRhaW5zIG9ubHkgb25lIG9yIG1vcmUgZXh0ZW5zaW9uIG1vZHVsZXMgaW4gYSBwYWNrYWdlLAoreW91IG5lZWQgdG8gY3JlYXRlIGEgOmZpbGU6YHtwYWNrYWdlfS9fX2luaXRfXy5weWAgZmlsZSBhbnl3YXksIG90aGVyd2lzZSBQeXRob24KK3dvbid0IGJlIGFibGUgdG8gaW1wb3J0IGFueXRoaW5nLgorCitJZiB5b3UgaGF2ZSBhIG51bWJlciBvZiBleHRlbnNpb25zIGFsbCBpbiB0aGUgc2FtZSBwYWNrYWdlIChvciBhbGwgdW5kZXIgdGhlCitzYW1lIGJhc2UgcGFja2FnZSksIHVzZSB0aGUgOm9wdGlvbjpgZXh0X3BhY2thZ2VgIGtleXdvcmQgYXJndW1lbnQgdG8KKzpmdW5jOmBzZXR1cGAuICBGb3IgZXhhbXBsZSwgOjoKKworICAgIHNldHVwKC4uLiwKKyAgICAgICAgICBleHRfcGFja2FnZT0ncGtnJywKKyAgICAgICAgICBleHRfbW9kdWxlcz1bRXh0ZW5zaW9uKCdmb28nLCBbJ2Zvby5jJ10pLAorICAgICAgICAgICAgICAgICAgICAgICBFeHRlbnNpb24oJ3N1YnBrZy5iYXInLCBbJ2Jhci5jJ10pXSkKKword2lsbCBjb21waWxlIDpmaWxlOmBmb28uY2AgdG8gdGhlIGV4dGVuc2lvbiA6bW9kOmBwa2cuZm9vYCwgYW5kIDpmaWxlOmBiYXIuY2AgdG8KKzptb2Q6YHBrZy5zdWJwa2cuYmFyYC4KKworCitFeHRlbnNpb24gc291cmNlIGZpbGVzCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK1RoZSBzZWNvbmQgYXJndW1lbnQgdG8gdGhlIDpjbGFzczpgRXh0ZW5zaW9uYCBjb25zdHJ1Y3RvciBpcyBhIGxpc3Qgb2Ygc291cmNlCitmaWxlcy4gIFNpbmNlIHRoZSBEaXN0dXRpbHMgY3VycmVudGx5IG9ubHkgc3VwcG9ydCBDLCBDKyssIGFuZCBPYmplY3RpdmUtQworZXh0ZW5zaW9ucywgdGhlc2UgYXJlIG5vcm1hbGx5IEMvQysrL09iamVjdGl2ZS1DIHNvdXJjZSBmaWxlcy4gIChCZSBzdXJlIHRvIHVzZQorYXBwcm9wcmlhdGUgZXh0ZW5zaW9ucyB0byBkaXN0aW5ndWlzaCBDKytcIHNvdXJjZSBmaWxlczogOmZpbGU6YC5jY2AgYW5kCis6ZmlsZTpgLmNwcGAgc2VlbSB0byBiZSByZWNvZ25pemVkIGJ5IGJvdGggVW5peCBhbmQgV2luZG93cyBjb21waWxlcnMuKQorCitIb3dldmVyLCB5b3UgY2FuIGFsc28gaW5jbHVkZSBTV0lHIGludGVyZmFjZSAoOmZpbGU6YC5pYCkgZmlsZXMgaW4gdGhlIGxpc3Q7IHRoZQorOmNvbW1hbmQ6YGJ1aWxkX2V4dGAgY29tbWFuZCBrbm93cyBob3cgdG8gZGVhbCB3aXRoIFNXSUcgZXh0ZW5zaW9uczogaXQgd2lsbCBydW4KK1NXSUcgb24gdGhlIGludGVyZmFjZSBmaWxlIGFuZCBjb21waWxlIHRoZSByZXN1bHRpbmcgQy9DKysgZmlsZSBpbnRvIHlvdXIKK2V4dGVuc2lvbi4KKworLi4gWFhYIFNXSUcgc3VwcG9ydCBpcyByb3VnaCBhcm91bmQgdGhlIGVkZ2VzIGFuZCBsYXJnZWx5IHVudGVzdGVkIQorCitUaGlzIHdhcm5pbmcgbm90d2l0aHN0YW5kaW5nLCBvcHRpb25zIHRvIFNXSUcgY2FuIGJlIGN1cnJlbnRseSBwYXNzZWQgbGlrZQordGhpczo6CisKKyAgICBzZXR1cCguLi4sCisgICAgICAgICAgZXh0X21vZHVsZXM9W0V4dGVuc2lvbignX2ZvbycsIFsnZm9vLmknXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN3aWdfb3B0cz1bJy1tb2Rlcm4nLCAnLUkuLi9pbmNsdWRlJ10pXSwKKyAgICAgICAgICBweV9tb2R1bGVzPVsnZm9vJ10pCisKK09yIG9uIHRoZSBjb21tYW5kIGxpbmUgbGlrZSB0aGlzOjoKKworICAgID4gcHl0aG9uIHNldHVwLnB5IGJ1aWxkX2V4dCAtLXN3aWctb3B0cz0iLW1vZGVybiAtSS4uL2luY2x1ZGUiCisKK09uIHNvbWUgcGxhdGZvcm1zLCB5b3UgY2FuIGluY2x1ZGUgbm9uLXNvdXJjZSBmaWxlcyB0aGF0IGFyZSBwcm9jZXNzZWQgYnkgdGhlCitjb21waWxlciBhbmQgaW5jbHVkZWQgaW4geW91ciBleHRlbnNpb24uICBDdXJyZW50bHksIHRoaXMganVzdCBtZWFucyBXaW5kb3dzCittZXNzYWdlIHRleHQgKDpmaWxlOmAubWNgKSBmaWxlcyBhbmQgcmVzb3VyY2UgZGVmaW5pdGlvbiAoOmZpbGU6YC5yY2ApIGZpbGVzIGZvcgorVmlzdWFsIEMrKy4gVGhlc2Ugd2lsbCBiZSBjb21waWxlZCB0byBiaW5hcnkgcmVzb3VyY2UgKDpmaWxlOmAucmVzYCkgZmlsZXMgYW5kCitsaW5rZWQgaW50byB0aGUgZXhlY3V0YWJsZS4KKworCitQcmVwcm9jZXNzb3Igb3B0aW9ucworLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworVGhyZWUgb3B0aW9uYWwgYXJndW1lbnRzIHRvIDpjbGFzczpgRXh0ZW5zaW9uYCB3aWxsIGhlbHAgaWYgeW91IG5lZWQgdG8gc3BlY2lmeQoraW5jbHVkZSBkaXJlY3RvcmllcyB0byBzZWFyY2ggb3IgcHJlcHJvY2Vzc29yIG1hY3JvcyB0byBkZWZpbmUvdW5kZWZpbmU6CitgYGluY2x1ZGVfZGlyc2BgLCBgYGRlZmluZV9tYWNyb3NgYCwgYW5kIGBgdW5kZWZfbWFjcm9zYGAuCisKK0ZvciBleGFtcGxlLCBpZiB5b3VyIGV4dGVuc2lvbiByZXF1aXJlcyBoZWFkZXIgZmlsZXMgaW4gdGhlIDpmaWxlOmBpbmNsdWRlYAorZGlyZWN0b3J5IHVuZGVyIHlvdXIgZGlzdHJpYnV0aW9uIHJvb3QsIHVzZSB0aGUgYGBpbmNsdWRlX2RpcnNgYCBvcHRpb246OgorCisgICAgRXh0ZW5zaW9uKCdmb28nLCBbJ2Zvby5jJ10sIGluY2x1ZGVfZGlycz1bJ2luY2x1ZGUnXSkKKworWW91IGNhbiBzcGVjaWZ5IGFic29sdXRlIGRpcmVjdG9yaWVzIHRoZXJlOyBpZiB5b3Uga25vdyB0aGF0IHlvdXIgZXh0ZW5zaW9uIHdpbGwKK29ubHkgYmUgYnVpbHQgb24gVW5peCBzeXN0ZW1zIHdpdGggWDExUjYgaW5zdGFsbGVkIHRvIDpmaWxlOmAvdXNyYCwgeW91IGNhbiBnZXQKK2F3YXkgd2l0aCA6OgorCisgICAgRXh0ZW5zaW9uKCdmb28nLCBbJ2Zvby5jJ10sIGluY2x1ZGVfZGlycz1bJy91c3IvaW5jbHVkZS9YMTEnXSkKKworWW91IHNob3VsZCBhdm9pZCB0aGlzIHNvcnQgb2Ygbm9uLXBvcnRhYmxlIHVzYWdlIGlmIHlvdSBwbGFuIHRvIGRpc3RyaWJ1dGUgeW91cgorY29kZTogaXQncyBwcm9iYWJseSBiZXR0ZXIgdG8gd3JpdGUgQyBjb2RlIGxpa2UgIDo6CisKKyAgICAjaW5jbHVkZSA8WDExL1hsaWIuaD4KKworSWYgeW91IG5lZWQgdG8gaW5jbHVkZSBoZWFkZXIgZmlsZXMgZnJvbSBzb21lIG90aGVyIFB5dGhvbiBleHRlbnNpb24sIHlvdSBjYW4KK3Rha2UgYWR2YW50YWdlIG9mIHRoZSBmYWN0IHRoYXQgaGVhZGVyIGZpbGVzIGFyZSBpbnN0YWxsZWQgaW4gYSBjb25zaXN0ZW50IHdheQorYnkgdGhlIERpc3R1dGlscyA6Y29tbWFuZDpgaW5zdGFsbF9oZWFkZXJgIGNvbW1hbmQuICBGb3IgZXhhbXBsZSwgdGhlIE51bWVyaWNhbAorUHl0aG9uIGhlYWRlciBmaWxlcyBhcmUgaW5zdGFsbGVkIChvbiBhIHN0YW5kYXJkIFVuaXggaW5zdGFsbGF0aW9uKSB0bworOmZpbGU6YC91c3IvbG9jYWwvaW5jbHVkZS9weXRob24xLjUvTnVtZXJpY2FsYC4gKFRoZSBleGFjdCBsb2NhdGlvbiB3aWxsIGRpZmZlcgorYWNjb3JkaW5nIHRvIHlvdXIgcGxhdGZvcm0gYW5kIFB5dGhvbiBpbnN0YWxsYXRpb24uKSAgU2luY2UgdGhlIFB5dGhvbiBpbmNsdWRlCitkaXJlY3RvcnktLS1cIDpmaWxlOmAvdXNyL2xvY2FsL2luY2x1ZGUvcHl0aG9uMS41YCBpbiB0aGlzIGNhc2UtLS1pcyBhbHdheXMKK2luY2x1ZGVkIGluIHRoZSBzZWFyY2ggcGF0aCB3aGVuIGJ1aWxkaW5nIFB5dGhvbiBleHRlbnNpb25zLCB0aGUgYmVzdCBhcHByb2FjaAoraXMgdG8gd3JpdGUgQyBjb2RlIGxpa2UgIDo6CisKKyAgICAjaW5jbHVkZSA8TnVtZXJpY2FsL2FycmF5b2JqZWN0Lmg+CisKKy4uIFRPRE8gY2hlY2sgaWYgaXQncyBkMi5zeXNjb25maWcgb3IgdGhlIG5ldyBzeXNjb25maWcgbW9kdWxlIG5vdworCitJZiB5b3UgbXVzdCBwdXQgdGhlIDpmaWxlOmBOdW1lcmljYWxgIGluY2x1ZGUgZGlyZWN0b3J5IHJpZ2h0IGludG8geW91ciBoZWFkZXIKK3NlYXJjaCBwYXRoLCB0aG91Z2gsIHlvdSBjYW4gZmluZCB0aGF0IGRpcmVjdG9yeSB1c2luZyB0aGUgRGlzdHV0aWxzCis6bW9kOmBwYWNrYWdpbmcuc3lzY29uZmlnYCBtb2R1bGU6OgorCisgICAgZnJvbSBwYWNrYWdpbmcuc3lzY29uZmlnIGltcG9ydCBnZXRfcHl0aG9uX2luYworICAgIGluY2RpciA9IG9zLnBhdGguam9pbihnZXRfcHl0aG9uX2luYyhwbGF0X3NwZWNpZmljPTEpLCAnTnVtZXJpY2FsJykKKyAgICBzZXR1cCguLi4sCisgICAgICAgICAgRXh0ZW5zaW9uKC4uLiwgaW5jbHVkZV9kaXJzPVtpbmNkaXJdKSkKKworRXZlbiB0aG91Z2ggdGhpcyBpcyBxdWl0ZSBwb3J0YWJsZS0tLWl0IHdpbGwgd29yayBvbiBhbnkgUHl0aG9uIGluc3RhbGxhdGlvbiwKK3JlZ2FyZGxlc3Mgb2YgcGxhdGZvcm0tLS1pdCdzIHByb2JhYmx5IGVhc2llciB0byBqdXN0IHdyaXRlIHlvdXIgQyBjb2RlIGluIHRoZQorc2Vuc2libGUgd2F5LgorCitZb3UgY2FuIGRlZmluZSBhbmQgdW5kZWZpbmUgcHJlcHJvY2Vzc29yIG1hY3JvcyB3aXRoIHRoZSBgYGRlZmluZV9tYWNyb3NgYCBhbmQKK2BgdW5kZWZfbWFjcm9zYGAgb3B0aW9ucy4gYGBkZWZpbmVfbWFjcm9zYGAgdGFrZXMgYSBsaXN0IG9mIGBgKG5hbWUsIHZhbHVlKWBgCit0dXBsZXMsIHdoZXJlIGBgbmFtZWBgIGlzIHRoZSBuYW1lIG9mIHRoZSBtYWNybyB0byBkZWZpbmUgKGEgc3RyaW5nKSBhbmQKK2BgdmFsdWVgYCBpcyBpdHMgdmFsdWU6IGVpdGhlciBhIHN0cmluZyBvciBgYE5vbmVgYC4gIChEZWZpbmluZyBhIG1hY3JvIGBgRk9PYGAKK3RvIGBgTm9uZWBgIGlzIHRoZSBlcXVpdmFsZW50IG9mIGEgYmFyZSBgYCNkZWZpbmUgRk9PYGAgaW4geW91ciBDIHNvdXJjZTogd2l0aAorbW9zdCBjb21waWxlcnMsIHRoaXMgc2V0cyBgYEZPT2BgIHRvIHRoZSBzdHJpbmcgYGAxYGAuKSAgYGB1bmRlZl9tYWNyb3NgYCBpcworanVzdCBhIGxpc3Qgb2YgbWFjcm9zIHRvIHVuZGVmaW5lLgorCitGb3IgZXhhbXBsZTo6CisKKyAgICBFeHRlbnNpb24oLi4uLAorICAgICAgICAgICAgICBkZWZpbmVfbWFjcm9zPVsoJ05ERUJVRycsICcxJyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgnSEFWRV9TVFJGVElNRScsIE5vbmUpXSwKKyAgICAgICAgICAgICAgdW5kZWZfbWFjcm9zPVsnSEFWRV9GT08nLCAnSEFWRV9CQVInXSkKKworaXMgdGhlIGVxdWl2YWxlbnQgb2YgaGF2aW5nIHRoaXMgYXQgdGhlIHRvcCBvZiBldmVyeSBDIHNvdXJjZSBmaWxlOjoKKworICAgICNkZWZpbmUgTkRFQlVHIDEKKyAgICAjZGVmaW5lIEhBVkVfU1RSRlRJTUUKKyAgICAjdW5kZWYgSEFWRV9GT08KKyAgICAjdW5kZWYgSEFWRV9CQVIKKworCitMaWJyYXJ5IG9wdGlvbnMKKy0tLS0tLS0tLS0tLS0tLQorCitZb3UgY2FuIGFsc28gc3BlY2lmeSB0aGUgbGlicmFyaWVzIHRvIGxpbmsgYWdhaW5zdCB3aGVuIGJ1aWxkaW5nIHlvdXIgZXh0ZW5zaW9uLAorYW5kIHRoZSBkaXJlY3RvcmllcyB0byBzZWFyY2ggZm9yIHRob3NlIGxpYnJhcmllcy4gIFRoZSBgYGxpYnJhcmllc2BgIG9wdGlvbiBpcworYSBsaXN0IG9mIGxpYnJhcmllcyB0byBsaW5rIGFnYWluc3QsIGBgbGlicmFyeV9kaXJzYGAgaXMgYSBsaXN0IG9mIGRpcmVjdG9yaWVzCit0byBzZWFyY2ggZm9yIGxpYnJhcmllcyBhdCAgbGluay10aW1lLCBhbmQgYGBydW50aW1lX2xpYnJhcnlfZGlyc2BgIGlzIGEgbGlzdCBvZgorZGlyZWN0b3JpZXMgdG8gIHNlYXJjaCBmb3Igc2hhcmVkIChkeW5hbWljYWxseSBsb2FkZWQpIGxpYnJhcmllcyBhdCBydW4tdGltZS4KKworRm9yIGV4YW1wbGUsIGlmIHlvdSBuZWVkIHRvIGxpbmsgYWdhaW5zdCBsaWJyYXJpZXMga25vd24gdG8gYmUgaW4gdGhlIHN0YW5kYXJkCitsaWJyYXJ5IHNlYXJjaCBwYXRoIG9uIHRhcmdldCBzeXN0ZW1zIDo6CisKKyAgICBFeHRlbnNpb24oLi4uLAorICAgICAgICAgICAgICBsaWJyYXJpZXM9WydnZGJtJywgJ3JlYWRsaW5lJ10pCisKK0lmIHlvdSBuZWVkIHRvIGxpbmsgd2l0aCBsaWJyYXJpZXMgaW4gYSBub24tc3RhbmRhcmQgbG9jYXRpb24sIHlvdSdsbCBoYXZlIHRvCitpbmNsdWRlIHRoZSBsb2NhdGlvbiBpbiBgYGxpYnJhcnlfZGlyc2BgOjoKKworICAgIEV4dGVuc2lvbiguLi4sCisgICAgICAgICAgICAgIGxpYnJhcnlfZGlycz1bJy91c3IvWDExUjYvbGliJ10sCisgICAgICAgICAgICAgIGxpYnJhcmllcz1bJ1gxMScsICdYdCddKQorCisoQWdhaW4sIHRoaXMgc29ydCBvZiBub24tcG9ydGFibGUgY29uc3RydWN0IHNob3VsZCBiZSBhdm9pZGVkIGlmIHlvdSBpbnRlbmQgdG8KK2Rpc3RyaWJ1dGUgeW91ciBjb2RlLikKKworLi4gWFhYIFNob3VsZCBtZW50aW9uIGNsaWIgbGlicmFyaWVzIGhlcmUgb3Igc29tZXdoZXJlIGVsc2UhCisKKworT3RoZXIgb3B0aW9ucworLS0tLS0tLS0tLS0tLQorCitUaGVyZSBhcmUgc3RpbGwgc29tZSBvdGhlciBvcHRpb25zIHdoaWNoIGNhbiBiZSB1c2VkIHRvIGhhbmRsZSBzcGVjaWFsIGNhc2VzLgorCitUaGUgOm9wdGlvbjpgb3B0aW9uYWxgIG9wdGlvbiBpcyBhIGJvb2xlYW47IGlmIGl0IGlzIHRydWUsCithIGJ1aWxkIGZhaWx1cmUgaW4gdGhlIGV4dGVuc2lvbiB3aWxsIG5vdCBhYm9ydCB0aGUgYnVpbGQgcHJvY2VzcywgYnV0CitpbnN0ZWFkIHNpbXBseSBub3QgaW5zdGFsbCB0aGUgZmFpbGluZyBleHRlbnNpb24uCisKK1RoZSA6b3B0aW9uOmBleHRyYV9vYmplY3RzYCBvcHRpb24gaXMgYSBsaXN0IG9mIG9iamVjdCBmaWxlcyB0byBiZSBwYXNzZWQgdG8gdGhlCitsaW5rZXIuIFRoZXNlIGZpbGVzIG11c3Qgbm90IGhhdmUgZXh0ZW5zaW9ucywgYXMgdGhlIGRlZmF1bHQgZXh0ZW5zaW9uIGZvciB0aGUKK2NvbXBpbGVyIGlzIHVzZWQuCisKKzpvcHRpb246YGV4dHJhX2NvbXBpbGVfYXJnc2AgYW5kIDpvcHRpb246YGV4dHJhX2xpbmtfYXJnc2AgY2FuIGJlIHVzZWQgdG8KK3NwZWNpZnkgYWRkaXRpb25hbCBjb21tYW5kLWxpbmUgb3B0aW9ucyBmb3IgdGhlIHJlc3BlY3RpdmUgY29tcGlsZXIgYW5kIGxpbmtlcgorY29tbWFuZCBsaW5lcy4KKworOm9wdGlvbjpgZXhwb3J0X3N5bWJvbHNgIGlzIG9ubHkgdXNlZnVsIG9uIFdpbmRvd3MuICBJdCBjYW4gY29udGFpbiBhIGxpc3Qgb2YKK3N5bWJvbHMgKGZ1bmN0aW9ucyBvciB2YXJpYWJsZXMpIHRvIGJlIGV4cG9ydGVkLiBUaGlzIG9wdGlvbiBpcyBub3QgbmVlZGVkIHdoZW4KK2J1aWxkaW5nIGNvbXBpbGVkIGV4dGVuc2lvbnM6IERpc3R1dGlscyAgd2lsbCBhdXRvbWF0aWNhbGx5IGFkZCBgYGluaXRtb2R1bGVgYAordG8gdGhlIGxpc3Qgb2YgZXhwb3J0ZWQgc3ltYm9scy4KKworVGhlIDpvcHRpb246YGRlcGVuZHNgIG9wdGlvbiBpcyBhIGxpc3Qgb2YgZmlsZXMgdGhhdCB0aGUgZXh0ZW5zaW9uIGRlcGVuZHMgb24KKyhmb3IgZXhhbXBsZSBoZWFkZXIgZmlsZXMpLiBUaGUgYnVpbGQgY29tbWFuZCB3aWxsIGNhbGwgdGhlIGNvbXBpbGVyIG9uIHRoZQorc291cmNlcyB0byByZWJ1aWxkIGV4dGVuc2lvbiBpZiBhbnkgb24gdGhpcyBmaWxlcyBoYXMgYmVlbiBtb2RpZmllZCBzaW5jZSB0aGUKK3ByZXZpb3VzIGJ1aWxkLgorCitSZWxhdGlvbnNoaXBzIGJldHdlZW4gRGlzdHJpYnV0aW9ucyBhbmQgUGFja2FnZXMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCisuLiBGSVhNRSByZXdyaXRlIHRvIHVwZGF0ZSB0byBQRVAgMzQ1IChidXQgd2l0aG91dCBkaXN0L3JlbGVhc2UgY29uZnVzaW9uKQorCitBIGRpc3RyaWJ1dGlvbiBtYXkgcmVsYXRlIHRvIHBhY2thZ2VzIGluIHRocmVlIHNwZWNpZmljIHdheXM6CisKKyMuIEl0IGNhbiByZXF1aXJlIHBhY2thZ2VzIG9yIG1vZHVsZXMuCisKKyMuIEl0IGNhbiBwcm92aWRlIHBhY2thZ2VzIG9yIG1vZHVsZXMuCisKKyMuIEl0IGNhbiBvYnNvbGV0ZSBwYWNrYWdlcyBvciBtb2R1bGVzLgorCitUaGVzZSByZWxhdGlvbnNoaXBzIGNhbiBiZSBzcGVjaWZpZWQgdXNpbmcga2V5d29yZCBhcmd1bWVudHMgdG8gdGhlCis6ZnVuYzpgcGFja2FnaW5nLmNvcmUuc2V0dXBgIGZ1bmN0aW9uLgorCitEZXBlbmRlbmNpZXMgb24gb3RoZXIgUHl0aG9uIG1vZHVsZXMgYW5kIHBhY2thZ2VzIGNhbiBiZSBzcGVjaWZpZWQgYnkgc3VwcGx5aW5nCit0aGUgKnJlcXVpcmVzKiBrZXl3b3JkIGFyZ3VtZW50IHRvIDpmdW5jOmBzZXR1cGAuIFRoZSB2YWx1ZSBtdXN0IGJlIGEgbGlzdCBvZgorc3RyaW5ncy4gIEVhY2ggc3RyaW5nIHNwZWNpZmllcyBhIHBhY2thZ2UgdGhhdCBpcyByZXF1aXJlZCwgYW5kIG9wdGlvbmFsbHkgd2hhdAordmVyc2lvbnMgYXJlIHN1ZmZpY2llbnQuCisKK1RvIHNwZWNpZnkgdGhhdCBhbnkgdmVyc2lvbiBvZiBhIG1vZHVsZSBvciBwYWNrYWdlIGlzIHJlcXVpcmVkLCB0aGUgc3RyaW5nCitzaG91bGQgY29uc2lzdCBlbnRpcmVseSBvZiB0aGUgbW9kdWxlIG9yIHBhY2thZ2UgbmFtZS4gRXhhbXBsZXMgaW5jbHVkZQorYGAnbXltb2R1bGUnYGAgYW5kIGBgJ3htbC5wYXJzZXJzLmV4cGF0J2BgLgorCitJZiBzcGVjaWZpYyB2ZXJzaW9ucyBhcmUgcmVxdWlyZWQsIGEgc2VxdWVuY2Ugb2YgcXVhbGlmaWVycyBjYW4gYmUgc3VwcGxpZWQgaW4KK3BhcmVudGhlc2VzLiAgRWFjaCBxdWFsaWZpZXIgbWF5IGNvbnNpc3Qgb2YgYSBjb21wYXJpc29uIG9wZXJhdG9yIGFuZCBhIHZlcnNpb24KK251bWJlci4gIFRoZSBhY2NlcHRlZCBjb21wYXJpc29uIG9wZXJhdG9ycyBhcmU6OgorCisgICAgPCAgICA+ICAgID09CisgICAgPD0gICA+PSAgICE9CisKK1RoZXNlIGNhbiBiZSBjb21iaW5lZCBieSB1c2luZyBtdWx0aXBsZSBxdWFsaWZpZXJzIHNlcGFyYXRlZCBieSBjb21tYXMgKGFuZAorb3B0aW9uYWwgd2hpdGVzcGFjZSkuICBJbiB0aGlzIGNhc2UsIGFsbCBvZiB0aGUgcXVhbGlmaWVycyBtdXN0IGJlIG1hdGNoZWQ7IGEKK2xvZ2ljYWwgQU5EIGlzIHVzZWQgdG8gY29tYmluZSB0aGUgZXZhbHVhdGlvbnMuCisKK0xldCdzIGxvb2sgYXQgYSBidW5jaCBvZiBleGFtcGxlczoKKworKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKK3wgUmVxdWlyZXMgRXhwcmVzc2lvbiAgICAgfCBFeHBsYW5hdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisrPT09PT09PT09PT09PT09PT09PT09PT09PSs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09KworfCBgYD09MS4wYGAgICAgICAgICAgICAgICB8IE9ubHkgdmVyc2lvbiBgYDEuMGBgIGlzIGNvbXBhdGlibGUgICAgICAgICAgIHwKKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCit8IGBgPjEuMCwgIT0xLjUuMSwgPDIuMGBgIHwgQW55IHZlcnNpb24gYWZ0ZXIgYGAxLjBgYCBhbmQgYmVmb3JlIGBgMi4wYGAgfAorfCAgICAgICAgICAgICAgICAgICAgICAgICB8IGlzIGNvbXBhdGlibGUsIGV4Y2VwdCBgYDEuNS4xYGAgICAgICAgICAgICAgIHwKKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCisKK05vdyB0aGF0IHdlIGNhbiBzcGVjaWZ5IGRlcGVuZGVuY2llcywgd2UgYWxzbyBuZWVkIHRvIGJlIGFibGUgdG8gc3BlY2lmeSB3aGF0IHdlCitwcm92aWRlIHRoYXQgb3RoZXIgZGlzdHJpYnV0aW9ucyBjYW4gcmVxdWlyZS4gIFRoaXMgaXMgZG9uZSB1c2luZyB0aGUgKnByb3ZpZGVzKgora2V5d29yZCBhcmd1bWVudCB0byA6ZnVuYzpgc2V0dXBgLiBUaGUgdmFsdWUgZm9yIHRoaXMga2V5d29yZCBpcyBhIGxpc3Qgb2YKK3N0cmluZ3MsIGVhY2ggb2Ygd2hpY2ggbmFtZXMgYSBQeXRob24gbW9kdWxlIG9yIHBhY2thZ2UsIGFuZCBvcHRpb25hbGx5CitpZGVudGlmaWVzIHRoZSB2ZXJzaW9uLiAgSWYgdGhlIHZlcnNpb24gaXMgbm90IHNwZWNpZmllZCwgaXQgaXMgYXNzdW1lZCB0byBtYXRjaAordGhhdCBvZiB0aGUgZGlzdHJpYnV0aW9uLgorCitTb21lIGV4YW1wbGVzOgorCisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCit8IFByb3ZpZGVzIEV4cHJlc3Npb24gfCBFeHBsYW5hdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisrPT09PT09PT09PT09PT09PT09PT09Kz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0rCit8IGBgbXlwa2dgYCAgICAgICAgICAgfCBQcm92aWRlIGBgbXlwa2dgYCwgdXNpbmcgdGhlIGRpc3RyaWJ1dGlvbiAgICB8Cit8ICAgICAgICAgICAgICAgICAgICAgfCB2ZXJzaW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCit8IGBgbXlwa2cgKDEuMSlgYCAgICAgfCBQcm92aWRlIGBgbXlwa2dgYCB2ZXJzaW9uIDEuMSwgcmVnYXJkbGVzcyBvZiB8Cit8ICAgICAgICAgICAgICAgICAgICAgfCB0aGUgZGlzdHJpYnV0aW9uIHZlcnNpb24gICAgICAgICAgICAgICAgICAgICB8CisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCisKK0EgcGFja2FnZSBjYW4gZGVjbGFyZSB0aGF0IGl0IG9ic29sZXRlcyBvdGhlciBwYWNrYWdlcyB1c2luZyB0aGUgKm9ic29sZXRlcyoKK2tleXdvcmQgYXJndW1lbnQuICBUaGUgdmFsdWUgZm9yIHRoaXMgaXMgc2ltaWxhciB0byB0aGF0IG9mIHRoZSAqcmVxdWlyZXMqCitrZXl3b3JkOiBhIGxpc3Qgb2Ygc3RyaW5ncyBnaXZpbmcgbW9kdWxlIG9yIHBhY2thZ2Ugc3BlY2lmaWVycy4gIEVhY2ggc3BlY2lmaWVyCitjb25zaXN0cyBvZiBhIG1vZHVsZSBvciBwYWNrYWdlIG5hbWUgb3B0aW9uYWxseSBmb2xsb3dlZCBieSBvbmUgb3IgbW9yZSB2ZXJzaW9uCitxdWFsaWZpZXJzLiAgVmVyc2lvbiBxdWFsaWZpZXJzIGFyZSBnaXZlbiBpbiBwYXJlbnRoZXNlcyBhZnRlciB0aGUgbW9kdWxlIG9yCitwYWNrYWdlIG5hbWUuCisKK1RoZSB2ZXJzaW9ucyBpZGVudGlmaWVkIGJ5IHRoZSBxdWFsaWZpZXJzIGFyZSB0aG9zZSB0aGF0IGFyZSBvYnNvbGV0ZWQgYnkgdGhlCitkaXN0cmlidXRpb24gYmVpbmcgZGVzY3JpYmVkLiAgSWYgbm8gcXVhbGlmaWVycyBhcmUgZ2l2ZW4sIGFsbCB2ZXJzaW9ucyBvZiB0aGUKK25hbWVkIG1vZHVsZSBvciBwYWNrYWdlIGFyZSB1bmRlcnN0b29kIHRvIGJlIG9ic29sZXRlZC4KKworLi4gX3BhY2thZ2luZy1pbnN0YWxsaW5nLXNjcmlwdHM6CisKK0luc3RhbGxpbmcgU2NyaXB0cworPT09PT09PT09PT09PT09PT09CisKK1NvIGZhciB3ZSBoYXZlIGJlZW4gZGVhbGluZyB3aXRoIHB1cmUgYW5kIG5vbi1wdXJlIFB5dGhvbiBtb2R1bGVzLCB3aGljaCBhcmUKK3VzdWFsbHkgbm90IHJ1biBieSB0aGVtc2VsdmVzIGJ1dCBpbXBvcnRlZCBieSBzY3JpcHRzLgorCitTY3JpcHRzIGFyZSBmaWxlcyBjb250YWluaW5nIFB5dGhvbiBzb3VyY2UgY29kZSwgaW50ZW5kZWQgdG8gYmUgc3RhcnRlZCBmcm9tIHRoZQorY29tbWFuZCBsaW5lLiAgU2NyaXB0cyBkb24ndCByZXF1aXJlIERpc3R1dGlscyB0byBkbyBhbnl0aGluZyB2ZXJ5IGNvbXBsaWNhdGVkLgorVGhlIG9ubHkgY2xldmVyIGZlYXR1cmUgaXMgdGhhdCBpZiB0aGUgZmlyc3QgbGluZSBvZiB0aGUgc2NyaXB0IHN0YXJ0cyB3aXRoCitgYCMhYGAgYW5kIGNvbnRhaW5zIHRoZSB3b3JkICJweXRob24iLCB0aGUgRGlzdHV0aWxzIHdpbGwgYWRqdXN0IHRoZSBmaXJzdCBsaW5lCit0byByZWZlciB0byB0aGUgY3VycmVudCBpbnRlcnByZXRlciBsb2NhdGlvbi4gQnkgZGVmYXVsdCwgaXQgaXMgcmVwbGFjZWQgd2l0aAordGhlIGN1cnJlbnQgaW50ZXJwcmV0ZXIgbG9jYXRpb24uICBUaGUgOm9wdGlvbjpgLS1leGVjdXRhYmxlYCAob3IgOm9wdGlvbjpgLWVgKQorb3B0aW9uIHdpbGwgYWxsb3cgdGhlIGludGVycHJldGVyIHBhdGggdG8gYmUgZXhwbGljaXRseSBvdmVycmlkZGVuLgorCitUaGUgOm9wdGlvbjpgc2NyaXB0c2Agb3B0aW9uIHNpbXBseSBpcyBhIGxpc3Qgb2YgZmlsZXMgdG8gYmUgaGFuZGxlZCBpbiB0aGlzCit3YXkuICBGcm9tIHRoZSBQeVhNTCBzZXR1cCBzY3JpcHQ6OgorCisgICAgc2V0dXAoLi4uLAorICAgICAgICAgIHNjcmlwdHM9WydzY3JpcHRzL3htbHByb2NfcGFyc2UnLCAnc2NyaXB0cy94bWxwcm9jX3ZhbCddKQorCitBbGwgdGhlIHNjcmlwdHMgd2lsbCBhbHNvIGJlIGFkZGVkIHRvIHRoZSBgYE1BTklGRVNUYGAgZmlsZSBpZiBubyB0ZW1wbGF0ZSBpcworcHJvdmlkZWQuIFNlZSA6cmVmOmBwYWNrYWdpbmctbWFuaWZlc3RgLgorCisuLiBfcGFja2FnaW5nLWluc3RhbGxpbmctcGFja2FnZS1kYXRhOgorCitJbnN0YWxsaW5nIFBhY2thZ2UgRGF0YQorPT09PT09PT09PT09PT09PT09PT09PT0KKworT2Z0ZW4sIGFkZGl0aW9uYWwgZmlsZXMgbmVlZCB0byBiZSBpbnN0YWxsZWQgaW50byBhIHBhY2thZ2UuICBUaGVzZSBmaWxlcyBhcmUKK29mdGVuIGRhdGEgdGhhdCdzIGNsb3NlbHkgcmVsYXRlZCB0byB0aGUgcGFja2FnZSdzIGltcGxlbWVudGF0aW9uLCBvciB0ZXh0IGZpbGVzCitjb250YWluaW5nIGRvY3VtZW50YXRpb24gdGhhdCBtaWdodCBiZSBvZiBpbnRlcmVzdCB0byBwcm9ncmFtbWVycyB1c2luZyB0aGUKK3BhY2thZ2UuICBUaGVzZSBmaWxlcyBhcmUgY2FsbGVkIDpkZm46YHBhY2thZ2UgZGF0YWAuCisKK1BhY2thZ2UgZGF0YSBjYW4gYmUgYWRkZWQgdG8gcGFja2FnZXMgdXNpbmcgdGhlIGBgcGFja2FnZV9kYXRhYGAga2V5d29yZAorYXJndW1lbnQgdG8gdGhlIDpmdW5jOmBzZXR1cGAgZnVuY3Rpb24uICBUaGUgdmFsdWUgbXVzdCBiZSBhIG1hcHBpbmcgZnJvbQorcGFja2FnZSBuYW1lIHRvIGEgbGlzdCBvZiByZWxhdGl2ZSBwYXRoIG5hbWVzIHRoYXQgc2hvdWxkIGJlIGNvcGllZCBpbnRvIHRoZQorcGFja2FnZS4gIFRoZSBwYXRocyBhcmUgaW50ZXJwcmV0ZWQgYXMgcmVsYXRpdmUgdG8gdGhlIGRpcmVjdG9yeSBjb250YWluaW5nIHRoZQorcGFja2FnZSAoaW5mb3JtYXRpb24gZnJvbSB0aGUgYGBwYWNrYWdlX2RpcmBgIG1hcHBpbmcgaXMgdXNlZCBpZiBhcHByb3ByaWF0ZSk7Cit0aGF0IGlzLCB0aGUgZmlsZXMgYXJlIGV4cGVjdGVkIHRvIGJlIHBhcnQgb2YgdGhlIHBhY2thZ2UgaW4gdGhlIHNvdXJjZQorZGlyZWN0b3JpZXMuIFRoZXkgbWF5IGNvbnRhaW4gZ2xvYiBwYXR0ZXJucyBhcyB3ZWxsLgorCitUaGUgcGF0aCBuYW1lcyBtYXkgY29udGFpbiBkaXJlY3RvcnkgcG9ydGlvbnM7IGFueSBuZWNlc3NhcnkgZGlyZWN0b3JpZXMgd2lsbCBiZQorY3JlYXRlZCBpbiB0aGUgaW5zdGFsbGF0aW9uLgorCitGb3IgZXhhbXBsZSwgaWYgYSBwYWNrYWdlIHNob3VsZCBjb250YWluIGEgc3ViZGlyZWN0b3J5IHdpdGggc2V2ZXJhbCBkYXRhIGZpbGVzLAordGhlIGZpbGVzIGNhbiBiZSBhcnJhbmdlZCBsaWtlIHRoaXMgaW4gdGhlIHNvdXJjZSB0cmVlOjoKKworICAgIHNldHVwLnB5CisgICAgc3JjLworICAgICAgICBteXBrZy8KKyAgICAgICAgICAgICAgX19pbml0X18ucHkKKyAgICAgICAgICAgICAgbW9kdWxlLnB5CisgICAgICAgICAgICAgIGRhdGEvCisgICAgICAgICAgICAgICAgICAgdGFibGVzLmRhdAorICAgICAgICAgICAgICAgICAgIHNwb29ucy5kYXQKKyAgICAgICAgICAgICAgICAgICBmb3Jrcy5kYXQKKworVGhlIGNvcnJlc3BvbmRpbmcgY2FsbCB0byA6ZnVuYzpgc2V0dXBgIG1pZ2h0IGJlOjoKKworICAgIHNldHVwKC4uLiwKKyAgICAgICAgICBwYWNrYWdlcz1bJ215cGtnJ10sCisgICAgICAgICAgcGFja2FnZV9kaXI9eydteXBrZyc6ICdzcmMvbXlwa2cnfSwKKyAgICAgICAgICBwYWNrYWdlX2RhdGE9eydteXBrZyc6IFsnZGF0YS8qLmRhdCddfSkKKworCitBbGwgdGhlIGZpbGVzIHRoYXQgbWF0Y2ggYGBwYWNrYWdlX2RhdGFgYCB3aWxsIGJlIGFkZGVkIHRvIHRoZSBgYE1BTklGRVNUYGAKK2ZpbGUgaWYgbm8gdGVtcGxhdGUgaXMgcHJvdmlkZWQuIFNlZSA6cmVmOmBwYWNrYWdpbmctbWFuaWZlc3RgLgorCisKKy4uIF9wYWNrYWdpbmctYWRkaXRpb25hbC1maWxlczoKKworSW5zdGFsbGluZyBBZGRpdGlvbmFsIEZpbGVzCis9PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworVGhlIDpvcHRpb246YGRhdGFfZmlsZXNgIG9wdGlvbiBjYW4gYmUgdXNlZCB0byBzcGVjaWZ5IGFkZGl0aW9uYWwgZmlsZXMgbmVlZGVkCitieSB0aGUgbW9kdWxlIGRpc3RyaWJ1dGlvbjogY29uZmlndXJhdGlvbiBmaWxlcywgbWVzc2FnZSBjYXRhbG9ncywgZGF0YSBmaWxlcywKK2FueXRoaW5nIHdoaWNoIGRvZXNuJ3QgZml0IGluIHRoZSBwcmV2aW91cyBjYXRlZ29yaWVzLgorCis6b3B0aW9uOmBkYXRhX2ZpbGVzYCBzcGVjaWZpZXMgYSBzZXF1ZW5jZSBvZiAoKmRpcmVjdG9yeSosICpmaWxlcyopIHBhaXJzIGluIHRoZQorZm9sbG93aW5nIHdheTo6CisKKyAgICBzZXR1cCguLi4sCisgICAgICAgICAgZGF0YV9maWxlcz1bKCdiaXRtYXBzJywgWydibS9iMS5naWYnLCAnYm0vYjIuZ2lmJ10pLAorICAgICAgICAgICAgICAgICAgICAgICgnY29uZmlnJywgWydjZmcvZGF0YS5jZmcnXSksCisgICAgICAgICAgICAgICAgICAgICAgKCcvZXRjL2luaXQuZCcsIFsnaW5pdC1zY3JpcHQnXSldKQorCitOb3RlIHRoYXQgeW91IGNhbiBzcGVjaWZ5IHRoZSBkaXJlY3RvcnkgbmFtZXMgd2hlcmUgdGhlIGRhdGEgZmlsZXMgd2lsbCBiZQoraW5zdGFsbGVkLCBidXQgeW91IGNhbm5vdCByZW5hbWUgdGhlIGRhdGEgZmlsZXMgdGhlbXNlbHZlcy4KKworRWFjaCAoKmRpcmVjdG9yeSosICpmaWxlcyopIHBhaXIgaW4gdGhlIHNlcXVlbmNlIHNwZWNpZmllcyB0aGUgaW5zdGFsbGF0aW9uCitkaXJlY3RvcnkgYW5kIHRoZSBmaWxlcyB0byBpbnN0YWxsIHRoZXJlLiAgSWYgKmRpcmVjdG9yeSogaXMgYSByZWxhdGl2ZSBwYXRoLCBpdAoraXMgaW50ZXJwcmV0ZWQgcmVsYXRpdmUgdG8gdGhlIGluc3RhbGxhdGlvbiBwcmVmaXggKFB5dGhvbidzIGBgc3lzLnByZWZpeGBgIGZvcgorcHVyZS1QeXRob24gcGFja2FnZXMsIGBgc3lzLmV4ZWNfcHJlZml4YGAgZm9yIHBhY2thZ2VzIHRoYXQgY29udGFpbiBleHRlbnNpb24KK21vZHVsZXMpLiAgRWFjaCBmaWxlIG5hbWUgaW4gKmZpbGVzKiBpcyBpbnRlcnByZXRlZCByZWxhdGl2ZSB0byB0aGUKKzpmaWxlOmBzZXR1cC5weWAgc2NyaXB0IGF0IHRoZSB0b3Agb2YgdGhlIHBhY2thZ2Ugc291cmNlIGRpc3RyaWJ1dGlvbi4gIE5vCitkaXJlY3RvcnkgaW5mb3JtYXRpb24gZnJvbSAqZmlsZXMqIGlzIHVzZWQgdG8gZGV0ZXJtaW5lIHRoZSBmaW5hbCBsb2NhdGlvbiBvZgordGhlIGluc3RhbGxlZCBmaWxlOyBvbmx5IHRoZSBuYW1lIG9mIHRoZSBmaWxlIGlzIHVzZWQuCisKK1lvdSBjYW4gc3BlY2lmeSB0aGUgOm9wdGlvbjpgZGF0YV9maWxlc2Agb3B0aW9ucyBhcyBhIHNpbXBsZSBzZXF1ZW5jZSBvZiBmaWxlcword2l0aG91dCBzcGVjaWZ5aW5nIGEgdGFyZ2V0IGRpcmVjdG9yeSwgYnV0IHRoaXMgaXMgbm90IHJlY29tbWVuZGVkLCBhbmQgdGhlCis6Y29tbWFuZDpgaW5zdGFsbF9kaXN0YCBjb21tYW5kIHdpbGwgcHJpbnQgYSB3YXJuaW5nIGluIHRoaXMgY2FzZS4gVG8gaW5zdGFsbCBkYXRhCitmaWxlcyBkaXJlY3RseSBpbiB0aGUgdGFyZ2V0IGRpcmVjdG9yeSwgYW4gZW1wdHkgc3RyaW5nIHNob3VsZCBiZSBnaXZlbiBhcyB0aGUKK2RpcmVjdG9yeS4KKworQWxsIHRoZSBmaWxlcyB0aGF0IG1hdGNoIGBgZGF0YV9maWxlc2BgIHdpbGwgYmUgYWRkZWQgdG8gdGhlIGBgTUFOSUZFU1RgYCBmaWxlCitpZiBubyB0ZW1wbGF0ZSBpcyBwcm92aWRlZC4gU2VlIDpyZWY6YHBhY2thZ2luZy1tYW5pZmVzdGAuCisKKworCisuLiBfcGFja2FnaW5nLW1ldGFkYXRhOgorCitNZXRhZGF0YSByZWZlcmVuY2UKKz09PT09PT09PT09PT09PT09PQorCitUaGUgc2V0dXAgc2NyaXB0IG1heSBpbmNsdWRlIGFkZGl0aW9uYWwgbWV0YWRhdGEgYmV5b25kIHRoZSBuYW1lIGFuZCB2ZXJzaW9uLgorVGhpcyB0YWJsZSBkZXNjcmliZXMgcmVxdWlyZWQgYW5kIGFkZGl0aW9uYWwgaW5mb3JtYXRpb246CisKKy4uIFRPRE8gc3luY2hyb25pemUgd2l0aCBzZXR1cGNmZzsgbGluayB0byBpdCAoYnV0IGRvbid0IHJlbW92ZSBpdCwgaXQncyBhCisgICB1c2VmdWwgc3VtbWFyeSkKKworKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKworfCBNZXRhLURhdGEgICAgICAgICAgICB8IERlc2NyaXB0aW9uICAgICAgICAgICAgICAgfCBWYWx1ZSAgICAgICAgICAgfCBOb3RlcyAgfAorKz09PT09PT09PT09PT09PT09PT09PT0rPT09PT09PT09PT09PT09PT09PT09PT09PT09Kz09PT09PT09PT09PT09PT09Kz09PT09PT09KworfCBgYG5hbWVgYCAgICAgICAgICAgICB8IG5hbWUgb2YgdGhlIHByb2plY3QgICAgICAgfCBzaG9ydCBzdHJpbmcgICAgfCBcKDEpICAgfAorKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKworfCBgYHZlcnNpb25gYCAgICAgICAgICB8IHZlcnNpb24gb2YgdGhpcyByZWxlYXNlICAgfCBzaG9ydCBzdHJpbmcgICAgfCAoMSkoMikgfAorKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKworfCBgYGF1dGhvcmBgICAgICAgICAgICB8IHByb2plY3QgYXV0aG9yJ3MgbmFtZSAgICAgfCBzaG9ydCBzdHJpbmcgICAgfCBcKDMpICAgfAorKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKworfCBgYGF1dGhvcl9lbWFpbGBgICAgICB8IGVtYWlsIGFkZHJlc3Mgb2YgdGhlICAgICAgfCBlbWFpbCBhZGRyZXNzICAgfCBcKDMpICAgfAorfCAgICAgICAgICAgICAgICAgICAgICB8IHByb2plY3QgYXV0aG9yICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgfCAgICAgICAgfAorKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKworfCBgYG1haW50YWluZXJgYCAgICAgICB8IHByb2plY3QgbWFpbnRhaW5lcidzIG5hbWUgfCBzaG9ydCBzdHJpbmcgICAgfCBcKDMpICAgfAorKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKworfCBgYG1haW50YWluZXJfZW1haWxgYCB8IGVtYWlsIGFkZHJlc3Mgb2YgdGhlICAgICAgfCBlbWFpbCBhZGRyZXNzICAgfCBcKDMpICAgfAorfCAgICAgICAgICAgICAgICAgICAgICB8IHByb2plY3QgbWFpbnRhaW5lciAgICAgICAgfCAgICAgICAgICAgICAgICAgfCAgICAgICAgfAorKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKworfCBgYGhvbWVfcGFnZWBgICAgICAgICB8IGhvbWUgcGFnZSBmb3IgdGhlIHByb2plY3QgfCBVUkwgICAgICAgICAgICAgfCBcKDEpICAgfAorKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKworfCBgYHN1bW1hcnlgYCAgICAgICAgICB8IHNob3J0IGRlc2NyaXB0aW9uIG9mIHRoZSAgfCBzaG9ydCBzdHJpbmcgICAgfCAgICAgICAgfAorfCAgICAgICAgICAgICAgICAgICAgICB8IHByb2plY3QgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgfCAgICAgICAgfAorKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKworfCBgYGRlc2NyaXB0aW9uYGAgICAgICB8IGxvbmdlciBkZXNjcmlwdGlvbiBvZiB0aGUgfCBsb25nIHN0cmluZyAgICAgfCBcKDUpICAgfAorfCAgICAgICAgICAgICAgICAgICAgICB8IHByb2plY3QgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgfCAgICAgICAgfAorKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKworfCBgYGRvd25sb2FkX3VybGBgICAgICB8IGxvY2F0aW9uIHdoZXJlIHRoZSAgICAgICAgfCBVUkwgICAgICAgICAgICAgfCAgICAgICAgfAorfCAgICAgICAgICAgICAgICAgICAgICB8IHByb2plY3QgbWF5IGJlIGRvd25sb2FkZWQgfCAgICAgICAgICAgICAgICAgfCAgICAgICAgfAorKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKworfCBgYGNsYXNzaWZpZXJzYGAgICAgICB8IGEgbGlzdCBvZiBjbGFzc2lmaWVycyAgICAgfCBsaXN0IG9mIHN0cmluZ3MgfCBcKDQpICAgfAorKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKworfCBgYHBsYXRmb3Jtc2BgICAgICAgICB8IGEgbGlzdCBvZiBwbGF0Zm9ybXMgICAgICAgfCBsaXN0IG9mIHN0cmluZ3MgfCAgICAgICAgfAorKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKworfCBgYGxpY2Vuc2VgYCAgICAgICAgICB8IGxpY2Vuc2UgZm9yIHRoZSByZWxlYXNlICAgfCBzaG9ydCBzdHJpbmcgICAgfCBcKDYpICAgfAorKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKworCitOb3RlczoKKworKDEpCisgICAgVGhlc2UgZmllbGRzIGFyZSByZXF1aXJlZC4KKworKDIpCisgICAgSXQgaXMgcmVjb21tZW5kZWQgdGhhdCB2ZXJzaW9ucyB0YWtlIHRoZSBmb3JtICptYWpvci5taW5vclsucGF0Y2hbLnN1Yl1dKi4KKworKDMpCisgICAgRWl0aGVyIHRoZSBhdXRob3Igb3IgdGhlIG1haW50YWluZXIgbXVzdCBiZSBpZGVudGlmaWVkLgorCisoNCkKKyAgICBUaGUgbGlzdCBvZiBjbGFzc2lmaWVycyBpcyBhdmFpbGFibGUgZnJvbSB0aGUgYFB5UEkgd2Vic2l0ZQorICAgIDxodHRwOi8vcHlwaS5weXRob24ub3JnL3B5cGk+YF8uIFNlZSBhbHNvIDptb2Q6YHBhY2thZ2luZy5jcmVhdGVgLgorCisoNSkKKyAgICBUaGUgYGBkZXNjcmlwdGlvbmBgIGZpZWxkIGlzIHVzZWQgYnkgUHlQSSB3aGVuIHlvdSBhcmUgcmVnaXN0ZXJpbmcgYQorICAgIHJlbGVhc2UsIHRvIGJ1aWxkIGl0cyBQeVBJIHBhZ2UuCisKKyg2KQorICAgIFRoZSBgYGxpY2Vuc2VgYCBmaWVsZCBpcyBhIHRleHQgaW5kaWNhdGluZyB0aGUgbGljZW5zZSBjb3ZlcmluZyB0aGUKKyAgICBkaXN0cmlidXRpb24gd2hlcmUgdGhlIGxpY2Vuc2UgaXMgbm90IGEgc2VsZWN0aW9uIGZyb20gdGhlICJMaWNlbnNlIiBUcm92ZQorICAgIGNsYXNzaWZpZXJzLiBTZWUgdGhlIGBgQ2xhc3NpZmllcmBgIGZpZWxkLiBOb3RpY2UgdGhhdAorICAgIHRoZXJlJ3MgYSBgYGxpY2VuY2VgYCBkaXN0cmlidXRpb24gb3B0aW9uIHdoaWNoIGlzIGRlcHJlY2F0ZWQgYnV0IHN0aWxsCisgICAgYWN0cyBhcyBhbiBhbGlhcyBmb3IgYGBsaWNlbnNlYGAuCisKKydzaG9ydCBzdHJpbmcnCisgICAgQSBzaW5nbGUgbGluZSBvZiB0ZXh0LCBub3QgbW9yZSB0aGFuIDIwMCBjaGFyYWN0ZXJzLgorCisnbG9uZyBzdHJpbmcnCisgICAgTXVsdGlwbGUgbGluZXMgb2YgcGxhaW4gdGV4dCBpbiByZVN0cnVjdHVyZWRUZXh0IGZvcm1hdCAoc2VlCisgICAgaHR0cDovL2RvY3V0aWxzLnNmLm5ldC8pLgorCisnbGlzdCBvZiBzdHJpbmdzJworICAgIFNlZSBiZWxvdy4KKworSW4gUHl0aG9uIDIueCwgInN0cmluZyB2YWx1ZSIgbWVhbnMgYSB1bmljb2RlIG9iamVjdC4gSWYgYSBieXRlIHN0cmluZyAoc3RyIG9yCitieXRlcykgaXMgZ2l2ZW4sIGl0IGhhcyB0byBiZSB2YWxpZCBBU0NJSS4KKworLi4gVE9ETyBtb3ZlIHRoaXMgc2VjdGlvbiB0byB0aGUgdmVyc2lvbiBkb2N1bWVudCwga2VlcCBhIHN1bW1hcnksIGFkZCBhIGxpbmsKKworRW5jb2RpbmcgdGhlIHZlcnNpb24gaW5mb3JtYXRpb24gaXMgYW4gYXJ0IGluIGl0c2VsZi4gUHl0aG9uIHByb2plY3RzIGdlbmVyYWxseQorYWRoZXJlIHRvIHRoZSB2ZXJzaW9uIGZvcm1hdCAqbWFqb3IubWlub3JbLnBhdGNoXVtzdWJdKi4gVGhlIG1ham9yIG51bWJlciBpcyAwCitmb3IgaW5pdGlhbCwgZXhwZXJpbWVudGFsIHJlbGVhc2VzIG9mIHNvZnR3YXJlLiBJdCBpcyBpbmNyZW1lbnRlZCBmb3IgcmVsZWFzZXMKK3RoYXQgcmVwcmVzZW50IG1ham9yIG1pbGVzdG9uZXMgaW4gYSBwcm9qZWN0LiBUaGUgbWlub3IgbnVtYmVyIGlzIGluY3JlbWVudGVkCit3aGVuIGltcG9ydGFudCBuZXcgZmVhdHVyZXMgYXJlIGFkZGVkIHRvIHRoZSBwcm9qZWN0LiBUaGUgcGF0Y2ggbnVtYmVyCitpbmNyZW1lbnRzIHdoZW4gYnVnLWZpeCByZWxlYXNlcyBhcmUgbWFkZS4gQWRkaXRpb25hbCB0cmFpbGluZyB2ZXJzaW9uCitpbmZvcm1hdGlvbiBpcyBzb21ldGltZXMgdXNlZCB0byBpbmRpY2F0ZSBzdWItcmVsZWFzZXMuICBUaGVzZSBhcmUKKyJhMSxhMiwuLi4sYU4iIChmb3IgYWxwaGEgcmVsZWFzZXMsIHdoZXJlIGZ1bmN0aW9uYWxpdHkgYW5kIEFQSSBtYXkgY2hhbmdlKSwKKyJiMSxiMiwuLi4sYk4iIChmb3IgYmV0YSByZWxlYXNlcywgd2hpY2ggb25seSBmaXggYnVncykgYW5kICJwcjEscHIyLC4uLixwck4iCisoZm9yIGZpbmFsIHByZS1yZWxlYXNlIHJlbGVhc2UgdGVzdGluZykuIFNvbWUgZXhhbXBsZXM6CisKKzAuMS4wCisgICAgdGhlIGZpcnN0LCBleHBlcmltZW50YWwgcmVsZWFzZSBvZiBhIHByb2plY3QKKworMS4wLjFhMgorICAgIHRoZSBzZWNvbmQgYWxwaGEgcmVsZWFzZSBvZiB0aGUgZmlyc3QgcGF0Y2ggdmVyc2lvbiBvZiAxLjAKKworOm9wdGlvbjpgY2xhc3NpZmllcnNgIGFyZSBzcGVjaWZpZWQgaW4gYSBQeXRob24gbGlzdDo6CisKKyAgICBzZXR1cCguLi4sCisgICAgICAgICAgY2xhc3NpZmllcnM9WworICAgICAgICAgICAgICAnRGV2ZWxvcG1lbnQgU3RhdHVzIDo6IDQgLSBCZXRhJywKKyAgICAgICAgICAgICAgJ0Vudmlyb25tZW50IDo6IENvbnNvbGUnLAorICAgICAgICAgICAgICAnRW52aXJvbm1lbnQgOjogV2ViIEVudmlyb25tZW50JywKKyAgICAgICAgICAgICAgJ0ludGVuZGVkIEF1ZGllbmNlIDo6IEVuZCBVc2Vycy9EZXNrdG9wJywKKyAgICAgICAgICAgICAgJ0ludGVuZGVkIEF1ZGllbmNlIDo6IERldmVsb3BlcnMnLAorICAgICAgICAgICAgICAnSW50ZW5kZWQgQXVkaWVuY2UgOjogU3lzdGVtIEFkbWluaXN0cmF0b3JzJywKKyAgICAgICAgICAgICAgJ0xpY2Vuc2UgOjogT1NJIEFwcHJvdmVkIDo6IFB5dGhvbiBTb2Z0d2FyZSBGb3VuZGF0aW9uIExpY2Vuc2UnLAorICAgICAgICAgICAgICAnT3BlcmF0aW5nIFN5c3RlbSA6OiBNYWNPUyA6OiBNYWNPUyBYJywKKyAgICAgICAgICAgICAgJ09wZXJhdGluZyBTeXN0ZW0gOjogTWljcm9zb2Z0IDo6IFdpbmRvd3MnLAorICAgICAgICAgICAgICAnT3BlcmF0aW5nIFN5c3RlbSA6OiBQT1NJWCcsCisgICAgICAgICAgICAgICdQcm9ncmFtbWluZyBMYW5ndWFnZSA6OiBQeXRob24nLAorICAgICAgICAgICAgICAnVG9waWMgOjogQ29tbXVuaWNhdGlvbnMgOjogRW1haWwnLAorICAgICAgICAgICAgICAnVG9waWMgOjogT2ZmaWNlL0J1c2luZXNzJywKKyAgICAgICAgICAgICAgJ1RvcGljIDo6IFNvZnR3YXJlIERldmVsb3BtZW50IDo6IEJ1ZyBUcmFja2luZycsCisgICAgICAgICAgICAgIF0pCisKKworRGVidWdnaW5nIHRoZSBzZXR1cCBzY3JpcHQKKz09PT09PT09PT09PT09PT09PT09PT09PT09CisKK1NvbWV0aW1lcyB0aGluZ3MgZ28gd3JvbmcsIGFuZCB0aGUgc2V0dXAgc2NyaXB0IGRvZXNuJ3QgZG8gd2hhdCB0aGUgZGV2ZWxvcGVyCit3YW50cy4KKworRGlzdHV0aWxzIGNhdGNoZXMgYW55IGV4Y2VwdGlvbnMgd2hlbiBydW5uaW5nIHRoZSBzZXR1cCBzY3JpcHQsIGFuZCBwcmludCBhCitzaW1wbGUgZXJyb3IgbWVzc2FnZSBiZWZvcmUgdGhlIHNjcmlwdCBpcyB0ZXJtaW5hdGVkLiAgVGhlIG1vdGl2YXRpb24gZm9yIHRoaXMKK2JlaGF2aW91ciBpcyB0byBub3QgY29uZnVzZSBhZG1pbmlzdHJhdG9ycyB3aG8gZG9uJ3Qga25vdyBtdWNoIGFib3V0IFB5dGhvbiBhbmQKK2FyZSB0cnlpbmcgdG8gaW5zdGFsbCBhIHByb2plY3QuICBJZiB0aGV5IGdldCBhIGJpZyBsb25nIHRyYWNlYmFjayBmcm9tIGRlZXAKK2luc2lkZSB0aGUgZ3V0cyBvZiBEaXN0dXRpbHMsIHRoZXkgbWF5IHRoaW5rIHRoZSBwcm9qZWN0IG9yIHRoZSBQeXRob24KK2luc3RhbGxhdGlvbiBpcyBicm9rZW4gYmVjYXVzZSB0aGV5IGRvbid0IHJlYWQgYWxsIHRoZSB3YXkgZG93biB0byB0aGUgYm90dG9tCithbmQgc2VlIHRoYXQgaXQncyBhIHBlcm1pc3Npb24gcHJvYmxlbS4KKworLi4gRklYTUUgRElTVFVUSUxTX0RFQlVHIGlzIGRlYWQsIGRvY3VtZW50IGxvZ2dpbmcvd2FybmluZ3MgaGVyZQorCitPbiB0aGUgb3RoZXIgaGFuZCwgdGhpcyBkb2Vzbid0IGhlbHAgdGhlIGRldmVsb3BlciB0byBmaW5kIHRoZSBjYXVzZSBvZiB0aGUKK2ZhaWx1cmUuIEZvciB0aGlzIHB1cnBvc2UsIHRoZSBESVNUVVRJTFNfREVCVUcgZW52aXJvbm1lbnQgdmFyaWFibGUgY2FuIGJlIHNldAordG8gYW55dGhpbmcgZXhjZXB0IGFuIGVtcHR5IHN0cmluZywgYW5kIFBhY2thZ2luZyB3aWxsIG5vdyBwcmludCBkZXRhaWxlZAoraW5mb3JtYXRpb24gYWJvdXQgd2hhdCBpdCBpcyBkb2luZywgYW5kIHByaW50cyB0aGUgZnVsbCB0cmFjZWJhY2sgaW4gY2FzZSBhbgorZXhjZXB0aW9uIG9jY3Vycy4KZGlmZiAtLWdpdCBhL0RvYy9wYWNrYWdpbmcvc291cmNlZGlzdC5yc3QgYi9Eb2MvcGFja2FnaW5nL3NvdXJjZWRpc3QucnN0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJjZWRjMTUKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2MvcGFja2FnaW5nL3NvdXJjZWRpc3QucnN0CkBAIC0wLDAgKzEsMjY2IEBACisuLiBfcGFja2FnaW5nLXNvdXJjZS1kaXN0OgorCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKK0NyZWF0aW5nIGEgU291cmNlIERpc3RyaWJ1dGlvbgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisKK0FzIHNob3duIGluIHNlY3Rpb24gOnJlZjpgcGFja2FnaW5nLXNpbXBsZS1leGFtcGxlYCwgeW91IHVzZSB0aGUgOmNvbW1hbmQ6YHNkaXN0YCBjb21tYW5kCit0byBjcmVhdGUgYSBzb3VyY2UgZGlzdHJpYnV0aW9uLiAgSW4gdGhlIHNpbXBsZXN0IGNhc2UsIDo6CisKKyAgIHB5dGhvbiBzZXR1cC5weSBzZGlzdAorCisoYXNzdW1pbmcgeW91IGhhdmVuJ3Qgc3BlY2lmaWVkIGFueSA6Y29tbWFuZDpgc2Rpc3RgIG9wdGlvbnMgaW4gdGhlIHNldHVwIHNjcmlwdAorb3IgY29uZmlnIGZpbGUpLCA6Y29tbWFuZDpgc2Rpc3RgIGNyZWF0ZXMgdGhlIGFyY2hpdmUgb2YgdGhlIGRlZmF1bHQgZm9ybWF0IGZvcgordGhlIGN1cnJlbnQgcGxhdGZvcm0uICBUaGUgZGVmYXVsdCBmb3JtYXQgaXMgYSBnemlwJ2VkIHRhciBmaWxlCisoOmZpbGU6YC50YXIuZ3pgKSBvbiBVbml4LCBhbmQgWklQIGZpbGUgb24gV2luZG93cy4KKworWW91IGNhbiBzcGVjaWZ5IGFzIG1hbnkgZm9ybWF0cyBhcyB5b3UgbGlrZSB1c2luZyB0aGUgOm9wdGlvbjpgLS1mb3JtYXRzYAorb3B0aW9uLCBmb3IgZXhhbXBsZTo6CisKKyAgIHB5dGhvbiBzZXR1cC5weSBzZGlzdCAtLWZvcm1hdHM9Z3p0YXIsemlwCisKK3RvIGNyZWF0ZSBhIGd6aXBwZWQgdGFyYmFsbCBhbmQgYSB6aXAgZmlsZS4gIFRoZSBhdmFpbGFibGUgZm9ybWF0cyBhcmU6CisKKystLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSsKK3wgRm9ybWF0ICAgIHwgRGVzY3JpcHRpb24gICAgICAgICAgICAgfCBOb3RlcyAgIHwKKys9PT09PT09PT09PSs9PT09PT09PT09PT09PT09PT09PT09PT09Kz09PT09PT09PSsKK3wgYGB6aXBgYCAgIHwgemlwIGZpbGUgKDpmaWxlOmAuemlwYCkgfCAoMSksKDMpIHwKKystLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSsKK3wgYGBnenRhcmBgIHwgZ3ppcCdlZCB0YXIgZmlsZSAgICAgICAgfCBcKDIpICAgIHwKK3wgICAgICAgICAgIHwgKDpmaWxlOmAudGFyLmd6YCkgICAgICAgfCAgICAgICAgIHwKKystLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSsKK3wgYGBienRhcmBgIHwgYnppcDInZWQgdGFyIGZpbGUgICAgICAgfCAgICAgICAgIHwKK3wgICAgICAgICAgIHwgKDpmaWxlOmAudGFyLmJ6MmApICAgICAgfCAgICAgICAgIHwKKystLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSsKK3wgYGB0YXJgYCAgIHwgdGFyIGZpbGUgKDpmaWxlOmAudGFyYCkgfCAgICAgICAgIHwKKystLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSsKKworTm90ZXM6CisKKygxKQorICAgZGVmYXVsdCBvbiBXaW5kb3dzCisKKygyKQorICAgZGVmYXVsdCBvbiBVbml4CisKKygzKQorICAgcmVxdWlyZXMgZWl0aGVyIGV4dGVybmFsIDpwcm9ncmFtOmB6aXBgIHV0aWxpdHkgb3IgOm1vZDpgemlwZmlsZWAgbW9kdWxlIChwYXJ0CisgICBvZiB0aGUgc3RhbmRhcmQgUHl0aG9uIGxpYnJhcnkgc2luY2UgUHl0aG9uIDEuNikKKworV2hlbiB1c2luZyBhbnkgYGB0YXJgYCBmb3JtYXQgKGBgZ3p0YXJgYCwgYGBienRhcmBgIG9yCitgYHRhcmBgKSB1bmRlciBVbml4LCB5b3UgY2FuIHNwZWNpZnkgdGhlIGBgb3duZXJgYCBhbmQgYGBncm91cGBgIG5hbWVzCit0aGF0IHdpbGwgYmUgc2V0IGZvciBlYWNoIG1lbWJlciBvZiB0aGUgYXJjaGl2ZS4KKworRm9yIGV4YW1wbGUsIGlmIHlvdSB3YW50IGFsbCBmaWxlcyBvZiB0aGUgYXJjaGl2ZSB0byBiZSBvd25lZCBieSByb290OjoKKworICAgIHB5dGhvbiBzZXR1cC5weSBzZGlzdCAtLW93bmVyPXJvb3QgLS1ncm91cD1yb290CisKKworLi4gX3BhY2thZ2luZy1tYW5pZmVzdDoKKworU3BlY2lmeWluZyB0aGUgZmlsZXMgdG8gZGlzdHJpYnV0ZQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCitJZiB5b3UgZG9uJ3Qgc3VwcGx5IGFuIGV4cGxpY2l0IGxpc3Qgb2YgZmlsZXMgKG9yIGluc3RydWN0aW9ucyBvbiBob3cgdG8KK2dlbmVyYXRlIG9uZSksIHRoZSA6Y29tbWFuZDpgc2Rpc3RgIGNvbW1hbmQgcHV0cyBhIG1pbmltYWwgZGVmYXVsdCBzZXQgaW50byB0aGUKK3NvdXJjZSBkaXN0cmlidXRpb246CisKKyogYWxsIFB5dGhvbiBzb3VyY2UgZmlsZXMgaW1wbGllZCBieSB0aGUgOm9wdGlvbjpgcHlfbW9kdWxlc2AgYW5kCisgIDpvcHRpb246YHBhY2thZ2VzYCBvcHRpb25zCisKKyogYWxsIEMgc291cmNlIGZpbGVzIG1lbnRpb25lZCBpbiB0aGUgOm9wdGlvbjpgZXh0X21vZHVsZXNgIG9yCisgIDpvcHRpb246YGxpYnJhcmllc2Agb3B0aW9ucworCisqIHNjcmlwdHMgaWRlbnRpZmllZCBieSB0aGUgOm9wdGlvbjpgc2NyaXB0c2Agb3B0aW9uCisgIFNlZSA6cmVmOmBwYWNrYWdpbmctaW5zdGFsbGluZy1zY3JpcHRzYC4KKworKiBhbnl0aGluZyB0aGF0IGxvb2tzIGxpa2UgYSB0ZXN0IHNjcmlwdDogOmZpbGU6YHRlc3QvdGVzdFwqLnB5YCAoY3VycmVudGx5LCB0aGUKKyAgUGFja2FnaW5nIGRvbid0IGRvIGFueXRoaW5nIHdpdGggdGVzdCBzY3JpcHRzIGV4Y2VwdCBpbmNsdWRlIHRoZW0gaW4gc291cmNlCisgIGRpc3RyaWJ1dGlvbnMsIGJ1dCBpbiB0aGUgZnV0dXJlIHRoZXJlIHdpbGwgYmUgYSBzdGFuZGFyZCBmb3IgdGVzdGluZyBQeXRob24KKyAgbW9kdWxlIGRpc3RyaWJ1dGlvbnMpCisKKyogdGhlIGNvbmZpZ3VyYXRpb24gZmlsZSA6ZmlsZTpgc2V0dXAuY2ZnYAorCisqIGFsbCBmaWxlcyB0aGF0IG1hdGNoZXMgdGhlIGBgcGFja2FnZV9kYXRhYGAgbWV0YWRhdGEuCisgIFNlZSA6cmVmOmBwYWNrYWdpbmctaW5zdGFsbGluZy1wYWNrYWdlLWRhdGFgLgorCisqIGFsbCBmaWxlcyB0aGF0IG1hdGNoZXMgdGhlIGBgZGF0YV9maWxlc2BgIG1ldGFkYXRhLgorICBTZWUgOnJlZjpgcGFja2FnaW5nLWFkZGl0aW9uYWwtZmlsZXNgLgorCitDb250cmFyeSB0byBEaXN0dXRpbHMsIDpmaWxlOmBSRUFETUVgIChvciA6ZmlsZTpgUkVBRE1FLnR4dGApIGFuZAorOmZpbGU6YHNldHVwLnB5YCBhcmUgbm90IGluY2x1ZGVkIGJ5IGRlZmF1bHQuCisKK1NvbWV0aW1lcyB0aGlzIGlzIGVub3VnaCwgYnV0IHVzdWFsbHkgeW91IHdpbGwgd2FudCB0byBzcGVjaWZ5IGFkZGl0aW9uYWwgZmlsZXMKK3RvIGRpc3RyaWJ1dGUuICBUaGUgdHlwaWNhbCB3YXkgdG8gZG8gdGhpcyBpcyB0byB3cml0ZSBhICptYW5pZmVzdCB0ZW1wbGF0ZSosCitjYWxsZWQgOmZpbGU6YE1BTklGRVNULmluYCBieSBkZWZhdWx0LiAgVGhlIG1hbmlmZXN0IHRlbXBsYXRlIGlzIGp1c3QgYSBsaXN0IG9mCitpbnN0cnVjdGlvbnMgZm9yIGhvdyB0byBnZW5lcmF0ZSB5b3VyIG1hbmlmZXN0IGZpbGUsIDpmaWxlOmBNQU5JRkVTVGAsIHdoaWNoIGlzCit0aGUgZXhhY3QgbGlzdCBvZiBmaWxlcyB0byBpbmNsdWRlIGluIHlvdXIgc291cmNlIGRpc3RyaWJ1dGlvbi4gIFRoZQorOmNvbW1hbmQ6YHNkaXN0YCBjb21tYW5kIHByb2Nlc3NlcyB0aGlzIHRlbXBsYXRlIGFuZCBnZW5lcmF0ZXMgYSBtYW5pZmVzdCBiYXNlZAorb24gaXRzIGluc3RydWN0aW9ucyBhbmQgd2hhdCBpdCBmaW5kcyBpbiB0aGUgZmlsZXN5c3RlbS4KKworSWYgeW91IHByZWZlciB0byByb2xsIHlvdXIgb3duIG1hbmlmZXN0IGZpbGUsIHRoZSBmb3JtYXQgaXMgc2ltcGxlOiBvbmUgZmlsZW5hbWUKK3BlciBsaW5lLCByZWd1bGFyIGZpbGVzIChvciBzeW1saW5rcyB0byB0aGVtKSBvbmx5LiAgSWYgeW91IGRvIHN1cHBseSB5b3VyIG93bgorOmZpbGU6YE1BTklGRVNUYCwgeW91IG11c3Qgc3BlY2lmeSBldmVyeXRoaW5nOiB0aGUgZGVmYXVsdCBzZXQgb2YgZmlsZXMKK2Rlc2NyaWJlZCBhYm92ZSBkb2VzIG5vdCBhcHBseSBpbiB0aGlzIGNhc2UuCisKKzpmaWxlOmBNQU5JRkVTVGAgZmlsZXMgc3RhcnQgd2l0aCBhIGNvbW1lbnQgaW5kaWNhdGluZyB0aGV5IGFyZSBnZW5lcmF0ZWQuCitGaWxlcyB3aXRob3V0IHRoaXMgY29tbWVudCBhcmUgbm90IG92ZXJ3cml0dGVuIG9yIHJlbW92ZWQuCisKK1NlZSA6cmVmOmBwYWNrYWdpbmctbWFuaWZlc3QtdGVtcGxhdGVgIHNlY3Rpb24gZm9yIGEgc3ludGF4IHJlZmVyZW5jZS4KKworCisuLiBfcGFja2FnaW5nLW1hbmlmZXN0LW9wdGlvbnM6CisKK01hbmlmZXN0LXJlbGF0ZWQgb3B0aW9ucworPT09PT09PT09PT09PT09PT09PT09PT09CisKK1RoZSBub3JtYWwgY291cnNlIG9mIG9wZXJhdGlvbnMgZm9yIHRoZSA6Y29tbWFuZDpgc2Rpc3RgIGNvbW1hbmQgaXMgYXMgZm9sbG93czoKKworKiBpZiB0aGUgbWFuaWZlc3QgZmlsZSwgOmZpbGU6YE1BTklGRVNUYCBkb2Vzbid0IGV4aXN0LCByZWFkIDpmaWxlOmBNQU5JRkVTVC5pbmAKKyAgYW5kIGNyZWF0ZSB0aGUgbWFuaWZlc3QKKworKiBpZiBuZWl0aGVyIDpmaWxlOmBNQU5JRkVTVGAgbm9yIDpmaWxlOmBNQU5JRkVTVC5pbmAgZXhpc3QsIGNyZWF0ZSBhIG1hbmlmZXN0CisgIHdpdGgganVzdCB0aGUgZGVmYXVsdCBmaWxlIHNldAorCisqIGlmIGVpdGhlciA6ZmlsZTpgTUFOSUZFU1QuaW5gIG9yIHRoZSBzZXR1cCBzY3JpcHQgKDpmaWxlOmBzZXR1cC5weWApIGFyZSBtb3JlCisgIHJlY2VudCB0aGFuIDpmaWxlOmBNQU5JRkVTVGAsIHJlY3JlYXRlIDpmaWxlOmBNQU5JRkVTVGAgYnkgcmVhZGluZworICA6ZmlsZTpgTUFOSUZFU1QuaW5gCisKKyogdXNlIHRoZSBsaXN0IG9mIGZpbGVzIG5vdyBpbiA6ZmlsZTpgTUFOSUZFU1RgIChlaXRoZXIganVzdCBnZW5lcmF0ZWQgb3IgcmVhZAorICBpbikgdG8gY3JlYXRlIHRoZSBzb3VyY2UgZGlzdHJpYnV0aW9uIGFyY2hpdmUocykKKworVGhlcmUgYXJlIGEgY291cGxlIG9mIG9wdGlvbnMgdGhhdCBtb2RpZnkgdGhpcyBiZWhhdmlvdXIuICBGaXJzdCwgdXNlIHRoZQorOm9wdGlvbjpgLS1uby1kZWZhdWx0c2AgYW5kIDpvcHRpb246YC0tbm8tcHJ1bmVgIHRvIGRpc2FibGUgdGhlIHN0YW5kYXJkCisiaW5jbHVkZSIgYW5kICJleGNsdWRlIiBzZXRzLgorCitTZWNvbmQsIHlvdSBtaWdodCBqdXN0IHdhbnQgdG8gKHJlKWdlbmVyYXRlIHRoZSBtYW5pZmVzdCwgYnV0IG5vdCBjcmVhdGUgYQorc291cmNlIGRpc3RyaWJ1dGlvbjo6CisKKyAgIHB5dGhvbiBzZXR1cC5weSBzZGlzdCAtLW1hbmlmZXN0LW9ubHkKKworOm9wdGlvbjpgLW9gIGlzIGEgc2hvcnRjdXQgZm9yIDpvcHRpb246YC0tbWFuaWZlc3Qtb25seWAuCisKKworLi4gX3BhY2thZ2luZy1tYW5pZmVzdC10ZW1wbGF0ZToKKworVGhlIE1BTklGRVNULmluIHRlbXBsYXRlCis9PT09PT09PT09PT09PT09PT09PT09PT0KKworQSA6ZmlsZTpgTUFOSUZFU1QuaW5gIGZpbGUgY2FuIGJlIGFkZGVkIGluIGEgcHJvamVjdCB0byBkZWZpbmUgdGhlIGxpc3Qgb2YKK2ZpbGVzIHRvIGluY2x1ZGUgaW4gdGhlIGRpc3RyaWJ1dGlvbiBidWlsdCBieSB0aGUgOmNvbW1hbmQ6YHNkaXN0YCBjb21tYW5kLgorCitXaGVuIDpjb21tYW5kOmBzZGlzdGAgaXMgcnVuLCBpdCB3aWxsIGxvb2sgZm9yIHRoZSA6ZmlsZTpgTUFOSUZFU1QuaW5gIGZpbGUKK2FuZCBpbnRlcnByZXQgaXQgdG8gZ2VuZXJhdGUgdGhlIDpmaWxlOmBNQU5JRkVTVGAgZmlsZSB0aGF0IGNvbnRhaW5zIHRoZQorbGlzdCBvZiBmaWxlcyB0aGF0IHdpbGwgYmUgaW5jbHVkZWQgaW4gdGhlIHBhY2thZ2UuCisKK1RoaXMgbWVjaGFuaXNtIGNhbiBiZSB1c2VkIHdoZW4gdGhlIGRlZmF1bHQgbGlzdCBvZiBmaWxlcyBpcyBub3QgZW5vdWdoLgorKFNlZSA6cmVmOmBwYWNrYWdpbmctbWFuaWZlc3RgKS4KKworUHJpbmNpcGxlCistLS0tLS0tLS0KKworVGhlIG1hbmlmZXN0IHRlbXBsYXRlIGhhcyBvbmUgY29tbWFuZCBwZXIgbGluZSwgd2hlcmUgZWFjaCBjb21tYW5kIHNwZWNpZmllcyBhCitzZXQgb2YgZmlsZXMgdG8gaW5jbHVkZSBvciBleGNsdWRlIGZyb20gdGhlIHNvdXJjZSBkaXN0cmlidXRpb24uICBGb3IgYW4KK2V4YW1wbGUsIGxldCdzIGxvb2sgYXQgdGhlIFBhY2thZ2luZycgb3duIG1hbmlmZXN0IHRlbXBsYXRlOjoKKworICAgaW5jbHVkZSAqLnR4dAorICAgcmVjdXJzaXZlLWluY2x1ZGUgZXhhbXBsZXMgKi50eHQgKi5weQorICAgcHJ1bmUgZXhhbXBsZXMvc2FtcGxlPy9idWlsZAorCitUaGUgbWVhbmluZ3Mgc2hvdWxkIGJlIGZhaXJseSBjbGVhcjogaW5jbHVkZSBhbGwgZmlsZXMgaW4gdGhlIGRpc3RyaWJ1dGlvbiByb290CittYXRjaGluZyA6ZmlsZTpgXCoudHh0YCwgYWxsIGZpbGVzIGFueXdoZXJlIHVuZGVyIHRoZSA6ZmlsZTpgZXhhbXBsZXNgIGRpcmVjdG9yeQorbWF0Y2hpbmcgOmZpbGU6YFwqLnR4dGAgb3IgOmZpbGU6YFwqLnB5YCwgYW5kIGV4Y2x1ZGUgYWxsIGRpcmVjdG9yaWVzIG1hdGNoaW5nCis6ZmlsZTpgZXhhbXBsZXMvc2FtcGxlPy9idWlsZGAuICBBbGwgb2YgdGhpcyBpcyBkb25lICphZnRlciogdGhlIHN0YW5kYXJkCitpbmNsdWRlIHNldCwgc28geW91IGNhbiBleGNsdWRlIGZpbGVzIGZyb20gdGhlIHN0YW5kYXJkIHNldCB3aXRoIGV4cGxpY2l0CitpbnN0cnVjdGlvbnMgaW4gdGhlIG1hbmlmZXN0IHRlbXBsYXRlLiAgKE9yLCB5b3UgY2FuIHVzZSB0aGUKKzpvcHRpb246YC0tbm8tZGVmYXVsdHNgIG9wdGlvbiB0byBkaXNhYmxlIHRoZSBzdGFuZGFyZCBzZXQgZW50aXJlbHkuKQorCitUaGUgb3JkZXIgb2YgY29tbWFuZHMgaW4gdGhlIG1hbmlmZXN0IHRlbXBsYXRlIG1hdHRlcnM6IGluaXRpYWxseSwgd2UgaGF2ZSB0aGUKK2xpc3Qgb2YgZGVmYXVsdCBmaWxlcyBhcyBkZXNjcmliZWQgYWJvdmUsIGFuZCBlYWNoIGNvbW1hbmQgaW4gdGhlIHRlbXBsYXRlIGFkZHMKK3RvIG9yIHJlbW92ZXMgZnJvbSB0aGF0IGxpc3Qgb2YgZmlsZXMuICBPbmNlIHdlIGhhdmUgZnVsbHkgcHJvY2Vzc2VkIHRoZQorbWFuaWZlc3QgdGVtcGxhdGUsIHdlIHJlbW92ZSBmaWxlcyB0aGF0IHNob3VsZCBub3QgYmUgaW5jbHVkZWQgaW4gdGhlIHNvdXJjZQorZGlzdHJpYnV0aW9uOgorCisqIGFsbCBmaWxlcyBpbiB0aGUgUGFja2FnaW5nICJidWlsZCIgdHJlZSAoZGVmYXVsdCA6ZmlsZTpgYnVpbGQvYCkKKworKiBhbGwgZmlsZXMgaW4gZGlyZWN0b3JpZXMgbmFtZWQgOmZpbGU6YFJDU2AsIDpmaWxlOmBDVlNgLCA6ZmlsZTpgLnN2bmAsCisgIDpmaWxlOmAuaGdgLCA6ZmlsZTpgLmdpdGAsIDpmaWxlOmAuYnpyYCBvciA6ZmlsZTpgX2RhcmNzYAorCitOb3cgd2UgaGF2ZSBvdXIgY29tcGxldGUgbGlzdCBvZiBmaWxlcywgd2hpY2ggaXMgd3JpdHRlbiB0byB0aGUgbWFuaWZlc3QgZm9yCitmdXR1cmUgcmVmZXJlbmNlLCBhbmQgdGhlbiB1c2VkIHRvIGJ1aWxkIHRoZSBzb3VyY2UgZGlzdHJpYnV0aW9uIGFyY2hpdmUocykuCisKK1lvdSBjYW4gZGlzYWJsZSB0aGUgZGVmYXVsdCBzZXQgb2YgaW5jbHVkZWQgZmlsZXMgd2l0aCB0aGUKKzpvcHRpb246YC0tbm8tZGVmYXVsdHNgIG9wdGlvbiwgYW5kIHlvdSBjYW4gZGlzYWJsZSB0aGUgc3RhbmRhcmQgZXhjbHVkZSBzZXQKK3dpdGggOm9wdGlvbjpgLS1uby1wcnVuZWAuCisKK0ZvbGxvd2luZyB0aGUgUGFja2FnaW5nJyBvd24gbWFuaWZlc3QgdGVtcGxhdGUsIGxldCdzIHRyYWNlIGhvdyB0aGUKKzpjb21tYW5kOmBzZGlzdGAgY29tbWFuZCBidWlsZHMgdGhlIGxpc3Qgb2YgZmlsZXMgdG8gaW5jbHVkZSBpbiB0aGUgUGFja2FnaW5nCitzb3VyY2UgZGlzdHJpYnV0aW9uOgorCisjLiBpbmNsdWRlIGFsbCBQeXRob24gc291cmNlIGZpbGVzIGluIHRoZSA6ZmlsZTpgcGFja2FnaW5nYCBhbmQKKyAgIDpmaWxlOmBwYWNrYWdpbmcvY29tbWFuZGAgc3ViZGlyZWN0b3JpZXMgKGJlY2F1c2UgcGFja2FnZXMgY29ycmVzcG9uZGluZyB0bworICAgdGhvc2UgdHdvIGRpcmVjdG9yaWVzIHdlcmUgbWVudGlvbmVkIGluIHRoZSA6b3B0aW9uOmBwYWNrYWdlc2Agb3B0aW9uIGluIHRoZQorICAgc2V0dXAgc2NyaXB0LS0tc2VlIHNlY3Rpb24gOnJlZjpgcGFja2FnaW5nLXNldHVwLXNjcmlwdGApCisKKyMuIGluY2x1ZGUgOmZpbGU6YFJFQURNRS50eHRgLCA6ZmlsZTpgc2V0dXAucHlgLCBhbmQgOmZpbGU6YHNldHVwLmNmZ2AgKHN0YW5kYXJkCisgICBmaWxlcykKKworIy4gaW5jbHVkZSA6ZmlsZTpgdGVzdC90ZXN0XCoucHlgIChzdGFuZGFyZCBmaWxlcykKKworIy4gaW5jbHVkZSA6ZmlsZTpgXCoudHh0YCBpbiB0aGUgZGlzdHJpYnV0aW9uIHJvb3QgKHRoaXMgd2lsbCBmaW5kCisgICA6ZmlsZTpgUkVBRE1FLnR4dGAgYSBzZWNvbmQgdGltZSwgYnV0IHN1Y2ggcmVkdW5kYW5jaWVzIGFyZSB3ZWVkZWQgb3V0IGxhdGVyKQorCisjLiBpbmNsdWRlIGFueXRoaW5nIG1hdGNoaW5nIDpmaWxlOmBcKi50eHRgIG9yIDpmaWxlOmBcKi5weWAgaW4gdGhlIHN1Yi10cmVlCisgICB1bmRlciA6ZmlsZTpgZXhhbXBsZXNgLAorCisjLiBleGNsdWRlIGFsbCBmaWxlcyBpbiB0aGUgc3ViLXRyZWVzIHN0YXJ0aW5nIGF0IGRpcmVjdG9yaWVzIG1hdGNoaW5nCisgICA6ZmlsZTpgZXhhbXBsZXMvc2FtcGxlPy9idWlsZGBcIC0tLXRoaXMgbWF5IGV4Y2x1ZGUgZmlsZXMgaW5jbHVkZWQgYnkgdGhlCisgICBwcmV2aW91cyB0d28gc3RlcHMsIHNvIGl0J3MgaW1wb3J0YW50IHRoYXQgdGhlIGBgcHJ1bmVgYCBjb21tYW5kIGluIHRoZSBtYW5pZmVzdAorICAgdGVtcGxhdGUgY29tZXMgYWZ0ZXIgdGhlIGBgcmVjdXJzaXZlLWluY2x1ZGVgYCBjb21tYW5kCisKKyMuIGV4Y2x1ZGUgdGhlIGVudGlyZSA6ZmlsZTpgYnVpbGRgIHRyZWUsIGFuZCBhbnkgOmZpbGU6YFJDU2AsIDpmaWxlOmBDVlNgLAorICAgOmZpbGU6YC5zdm5gLCA6ZmlsZTpgLmhnYCwgOmZpbGU6YC5naXRgLCA6ZmlsZTpgLmJ6cmAgYW5kIDpmaWxlOmBfZGFyY3NgCisgICBkaXJlY3RvcmllcworCitKdXN0IGxpa2UgaW4gdGhlIHNldHVwIHNjcmlwdCwgZmlsZSBhbmQgZGlyZWN0b3J5IG5hbWVzIGluIHRoZSBtYW5pZmVzdCB0ZW1wbGF0ZQorc2hvdWxkIGFsd2F5cyBiZSBzbGFzaC1zZXBhcmF0ZWQ7IHRoZSBQYWNrYWdpbmcgd2lsbCB0YWtlIGNhcmUgb2YgY29udmVydGluZwordGhlbSB0byB0aGUgc3RhbmRhcmQgcmVwcmVzZW50YXRpb24gb24geW91ciBwbGF0Zm9ybS4gVGhhdCB3YXksIHRoZSBtYW5pZmVzdAordGVtcGxhdGUgaXMgcG9ydGFibGUgYWNyb3NzIG9wZXJhdGluZyBzeXN0ZW1zLgorCitDb21tYW5kcworLS0tLS0tLS0KKworVGhlIG1hbmlmZXN0IHRlbXBsYXRlIGNvbW1hbmRzIGFyZToKKworKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCit8IENvbW1hbmQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgRGVzY3JpcHRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKys9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Kz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09KworfCA6Y29tbWFuZDpgaW5jbHVkZSBwYXQxIHBhdDIgLi4uYCAgICAgICAgICB8IGluY2x1ZGUgYWxsIGZpbGVzIG1hdGNoaW5nIGFueSBvZiB0aGUgbGlzdGVkICB8Cit8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgcGF0dGVybnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworfCA6Y29tbWFuZDpgZXhjbHVkZSBwYXQxIHBhdDIgLi4uYCAgICAgICAgICB8IGV4Y2x1ZGUgYWxsIGZpbGVzIG1hdGNoaW5nIGFueSBvZiB0aGUgbGlzdGVkICB8Cit8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgcGF0dGVybnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworfCA6Y29tbWFuZDpgcmVjdXJzaXZlLWluY2x1ZGUgZGlyIHBhdDEgcGF0MiB8IGluY2x1ZGUgYWxsIGZpbGVzIHVuZGVyICpkaXIqIG1hdGNoaW5nIGFueSBvZiB8Cit8IC4uLmAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgdGhlIGxpc3RlZCBwYXR0ZXJucyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworfCA6Y29tbWFuZDpgcmVjdXJzaXZlLWV4Y2x1ZGUgZGlyIHBhdDEgcGF0MiB8IGV4Y2x1ZGUgYWxsIGZpbGVzIHVuZGVyICpkaXIqIG1hdGNoaW5nIGFueSBvZiB8Cit8IC4uLmAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgdGhlIGxpc3RlZCBwYXR0ZXJucyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworfCA6Y29tbWFuZDpgZ2xvYmFsLWluY2x1ZGUgcGF0MSBwYXQyIC4uLmAgICB8IGluY2x1ZGUgYWxsIGZpbGVzIGFueXdoZXJlIGluIHRoZSBzb3VyY2UgdHJlZSB8Cit8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgbWF0Y2hpbmcgLS0tICYgYW55IG9mIHRoZSBsaXN0ZWQgcGF0dGVybnMgICAgIHwKKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworfCA6Y29tbWFuZDpgZ2xvYmFsLWV4Y2x1ZGUgcGF0MSBwYXQyIC4uLmAgICB8IGV4Y2x1ZGUgYWxsIGZpbGVzIGFueXdoZXJlIGluIHRoZSBzb3VyY2UgdHJlZSB8Cit8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgbWF0Y2hpbmcgLS0tICYgYW55IG9mIHRoZSBsaXN0ZWQgcGF0dGVybnMgICAgIHwKKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworfCA6Y29tbWFuZDpgcHJ1bmUgZGlyYCAgICAgICAgICAgICAgICAgICAgICB8IGV4Y2x1ZGUgYWxsIGZpbGVzIHVuZGVyICpkaXIqICAgICAgICAgICAgICAgICB8CisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKK3wgOmNvbW1hbmQ6YGdyYWZ0IGRpcmAgICAgICAgICAgICAgICAgICAgICAgfCBpbmNsdWRlIGFsbCBmaWxlcyB1bmRlciAqZGlyKiAgICAgICAgICAgICAgICAgfAorKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCisKK1RoZSBwYXR0ZXJucyBoZXJlIGFyZSBVbml4LXN0eWxlICJnbG9iIiBwYXR0ZXJuczogYGAqYGAgbWF0Y2hlcyBhbnkgc2VxdWVuY2Ugb2YKK3JlZ3VsYXIgZmlsZW5hbWUgY2hhcmFjdGVycywgYGA/YGAgbWF0Y2hlcyBhbnkgc2luZ2xlIHJlZ3VsYXIgZmlsZW5hbWUKK2NoYXJhY3RlciwgYW5kIGBgW3JhbmdlXWBgIG1hdGNoZXMgYW55IG9mIHRoZSBjaGFyYWN0ZXJzIGluICpyYW5nZSogKGUuZy4sCitgYGEtemBgLCBgYGEtekEtWmBgLCBgYGEtZjAtOV8uYGApLiAgVGhlIGRlZmluaXRpb24gb2YgInJlZ3VsYXIgZmlsZW5hbWUKK2NoYXJhY3RlciIgaXMgcGxhdGZvcm0tc3BlY2lmaWM6IG9uIFVuaXggaXQgaXMgYW55dGhpbmcgZXhjZXB0IHNsYXNoOyBvbiBXaW5kb3dzCithbnl0aGluZyBleGNlcHQgYmFja3NsYXNoIG9yIGNvbG9uLgpkaWZmIC0tZ2l0IGEvRG9jL3BhY2thZ2luZy90dXRvcmlhbC5yc3QgYi9Eb2MvcGFja2FnaW5nL3R1dG9yaWFsLnJzdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNGY0MWU1Ci0tLSAvZGV2L251bGwKKysrIGIvRG9jL3BhY2thZ2luZy90dXRvcmlhbC5yc3QKQEAgLTAsMCArMSwxMTIgQEAKKz09PT09PT09PT09PT09PT09PQorUGFja2FnaW5nIHR1dG9yaWFsCis9PT09PT09PT09PT09PT09PT0KKworV2VsY29tZSB0byB0aGUgUGFja2FnaW5nIHR1dG9yaWFsISBXZSB3aWxsIGxlYXJuIGhvdyB0byB1c2UgUGFja2FnaW5nCit0byBwYWNrYWdlIHlvdXIgcHJvamVjdC4KKworLi4gVE9ETyBtZXJnZSB3aXRoIGludHJvZHVjdGlvbi5yc3QKKworCitHZXR0aW5nIHN0YXJ0ZWQKKy0tLS0tLS0tLS0tLS0tLQorCitQYWNrYWdpbmcgd29ya3Mgd2l0aCB0aGUgKnNldHVwLmNmZyogZmlsZS4gSXQgY29udGFpbnMgYWxsIHRoZSBtZXRhZGF0YSBmb3IKK3lvdXIgcHJvamVjdCwgYXMgZGVmaW5lZCBpbiBQRVAgMzQ1LCBidXQgYWxzbyBkZWNsYXJlIHdoYXQgeW91ciBwcm9qZWN0Citjb250YWlucy4KKworTGV0J3Mgc2F5IHlvdSBoYXZlIGEgcHJvamVjdCBjYWxsZWQgKkNMVmF1bHQqIGNvbnRhaW5pbmcgb25lIHBhY2thZ2UgY2FsbGVkCisqY2x2YXVsdCosIGFuZCBhIGZldyBzY3JpcHRzIGluc2lkZS4gWW91IGNhbiB1c2UgdGhlICpweXNldHVwKiBzY3JpcHQgdG8gY3JlYXRlCithICpzZXR1cC5jZmcqIGZpbGUgZm9yIHRoZSBwcm9qZWN0LiBUaGUgc2NyaXB0IHdpbGwgYXNrIHlvdSBhIGZldyBxdWVzdGlvbnM6OgorCisgICAkIG1rZGlyIENMVmF1bHQKKyAgICQgY2QgQ0xWYXVsdAorICAgJCBweXNldHVwIGNyZWF0ZQorICAgUHJvamVjdCBuYW1lIFtDTFZhdWx0XToKKyAgIEN1cnJlbnQgdmVyc2lvbiBudW1iZXI6IDAuMQorICAgUGFja2FnZSBkZXNjcmlwdGlvbjoKKyAgID5Db21tYW5kLWxpbmUgdXRpbGl0eSB0byBzdG9yZSBhbmQgcmV0cmlldmUgcGFzc3dvcmRzCisgICBBdXRob3IgbmFtZTogVGFyZWsgWmlhZGUKKyAgIEF1dGhvciBlLW1haWwgYWRkcmVzczogdGFyZWtAemlhZGUub3JnCisgICBQcm9qZWN0IEhvbWUgUGFnZTogaHR0cDovL2JpdGJ1Y2tldC5vcmcvdGFyZWsvY2x2YXVsdAorICAgRG8geW91IHdhbnQgdG8gYWRkIGEgcGFja2FnZSA/ICh5L24pOiB5CisgICBQYWNrYWdlIG5hbWU6IGNsdmF1bHQKKyAgIERvIHlvdSB3YW50IHRvIGFkZCBhIHBhY2thZ2UgPyAoeS9uKTogbgorICAgRG8geW91IHdhbnQgdG8gc2V0IFRyb3ZlIGNsYXNzaWZpZXJzPyAoeS9uKTogeQorICAgUGxlYXNlIHNlbGVjdCB0aGUgcHJvamVjdCBzdGF0dXM6CisKKyAgIDEgLSBQbGFubmluZworICAgMiAtIFByZS1BbHBoYQorICAgMyAtIEFscGhhCisgICA0IC0gQmV0YQorICAgNSAtIFByb2R1Y3Rpb24vU3RhYmxlCisgICA2IC0gTWF0dXJlCisgICA3IC0gSW5hY3RpdmUKKworICAgU3RhdHVzOiAzCisgICBXaGF0IGxpY2Vuc2UgZG8geW91IHVzZTogR1BMCisgICBNYXRjaGluZyBsaWNlbnNlczoKKworICAgMSkgTGljZW5zZSA6OiBPU0kgQXBwcm92ZWQgOjogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgKEdQTCkKKyAgIDIpIExpY2Vuc2UgOjogT1NJIEFwcHJvdmVkIDo6IEdOVSBMaWJyYXJ5IG9yIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIChMR1BMKQorCisgICBUeXBlIHRoZSBudW1iZXIgb2YgdGhlIGxpY2Vuc2UgeW91IHdpc2ggdG8gdXNlIG9yID8gdG8gdHJ5IGFnYWluOjogMQorICAgRG8geW91IHdhbnQgdG8gc2V0IG90aGVyIHRyb3ZlIGlkZW50aWZpZXJzICh5L24pIFtuXTogbgorICAgV3JvdGUgInNldHVwLmNmZyIuCisKKworQSBzZXR1cC5jZmcgZmlsZSBpcyBjcmVhdGVkLCBjb250YWluaW5nIHRoZSBtZXRhZGF0YSBvZiB5b3VyIHByb2plY3QgYW5kIHRoZQorbGlzdCBvZiB0aGUgcGFja2FnZXMgaXQgY29udGFpbnM6OgorCisgICAkIGNhdCBzZXR1cC5jZmcKKyAgIFttZXRhZGF0YV0KKyAgIG5hbWUgPSBDTFZhdWx0CisgICB2ZXJzaW9uID0gMC4xCisgICBhdXRob3IgPSBUYXJlayBaaWFkZQorICAgYXV0aG9yX2VtYWlsID0gdGFyZWtAemlhZGUub3JnCisgICBkZXNjcmlwdGlvbiA9IENvbW1hbmQtbGluZSB1dGlsaXR5IHRvIHN0b3JlIGFuZCByZXRyaWV2ZSBwYXNzd29yZHMKKyAgIGhvbWVfcGFnZSA9IGh0dHA6Ly9iaXRidWNrZXQub3JnL3RhcmVrL2NsdmF1bHQKKworICAgY2xhc3NpZmllciA9IERldmVsb3BtZW50IFN0YXR1cyA6OiAzIC0gQWxwaGEKKyAgICAgICBMaWNlbnNlIDo6IE9TSSBBcHByb3ZlZCA6OiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSAoR1BMKQorCisgICBbZmlsZXNdCisgICBwYWNrYWdlcyA9IGNsdmF1bHQKKworCitPdXIgcHJvamVjdCB3aWxsIGRlcGVuZCBvbiB0aGUgKmtleXJpbmcqIHByb2plY3QuIExldCdzIGFkZCBpdCBpbiB0aGUKK1ttZXRhZGF0YV0gc2VjdGlvbjo6CisKKyAgIFttZXRhZGF0YV0KKyAgIC4uLgorICAgcmVxdWlyZXNfZGlzdCA9CisgICAgICAga2V5cmluZworCisKK1J1bm5pbmcgY29tbWFuZHMKKy0tLS0tLS0tLS0tLS0tLS0KKworWW91IGNhbiBydW4gdXNlZnVsIGNvbW1hbmRzIG9uIHlvdXIgcHJvamVjdCBvbmNlIHRoZSBzZXR1cC5jZmcgZmlsZSBpcyByZWFkeToKKworLSBzZGlzdDogY3JlYXRlcyBhIHNvdXJjZSBkaXN0cmlidXRpb24KKy0gcmVnaXN0ZXI6IHJlZ2lzdGVyIHlvdXIgcHJvamVjdCB0byBQeVBJCistIHVwbG9hZDogdXBsb2FkIHRoZSBkaXN0cmlidXRpb24gdG8gUHlQSQorLSBpbnN0YWxsX2Rpc3Q6IGluc3RhbGwgaXQKKworQWxsIGNvbW1hbmRzIGFyZSBydW4gdXNpbmcgdGhlIHJ1biBzY3JpcHQ6OgorCisgICAkIHB5c2V0dXAgcnVuIGluc3RhbGxfZGlzdAorICAgJCBweXNldHVwIHJ1biBzZGlzdAorICAgJCBweXNldHVwIHJ1biB1cGxvYWQKKworSWYgeW91IHdhbnQgdG8gcHVzaCBhIHNvdXJjZSBkaXN0cmlidXRpb24gb2YgeW91ciBwcm9qZWN0IHRvIFB5UEksIGRvOjoKKworICAgJCBweXNldHVwIHJ1biBzZGlzdCByZWdpc3RlciB1cGxvYWQKKworCitJbnN0YWxsaW5nIHRoZSBwcm9qZWN0CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK1RoZSBwcm9qZWN0IGNhbiBiZSBpbnN0YWxsZWQgYnkgbWFudWFsbHkgcnVubmluZyB0aGUgcGFja2FnaW5nIGluc3RhbGwgY29tbWFuZDo6CisKKyAgICQgcHlzZXR1cCBydW4gaW5zdGFsbF9kaXN0CmRpZmYgLS1naXQgYS9Eb2MvcGFja2FnaW5nL3VwbG9hZGluZy5yc3QgYi9Eb2MvcGFja2FnaW5nL3VwbG9hZGluZy5yc3QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjk3NTE4YgotLS0gL2Rldi9udWxsCisrKyBiL0RvYy9wYWNrYWdpbmcvdXBsb2FkaW5nLnJzdApAQCAtMCwwICsxLDgwIEBACisuLiBfcGFja2FnaW5nLXBhY2thZ2UtdXBsb2FkOgorCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKK1VwbG9hZGluZyBQYWNrYWdlcyB0byB0aGUgUGFja2FnZSBJbmRleAorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisKK1RoZSBQeXRob24gUGFja2FnZSBJbmRleCAoUHlQSSkgbm90IG9ubHkgc3RvcmVzIHRoZSBwYWNrYWdlIGluZm8sIGJ1dCBhbHNvIHRoZQorcGFja2FnZSBkYXRhIGlmIHRoZSBhdXRob3Igb2YgdGhlIHBhY2thZ2Ugd2lzaGVzIHRvLiBUaGUgcGFja2FnaW5nIGNvbW1hbmQKKzpjb21tYW5kOmB1cGxvYWRgIHB1c2hlcyB0aGUgZGlzdHJpYnV0aW9uIGZpbGVzIHRvIFB5UEkuCisKK1RoZSBjb21tYW5kIGlzIGludm9rZWQgaW1tZWRpYXRlbHkgYWZ0ZXIgYnVpbGRpbmcgb25lIG9yIG1vcmUgZGlzdHJpYnV0aW9uCitmaWxlcy4gIEZvciBleGFtcGxlLCB0aGUgY29tbWFuZCA6OgorCisgICAgcHl0aG9uIHNldHVwLnB5IHNkaXN0IGJkaXN0X3dpbmluc3QgdXBsb2FkCisKK3dpbGwgY2F1c2UgdGhlIHNvdXJjZSBkaXN0cmlidXRpb24gYW5kIHRoZSBXaW5kb3dzIGluc3RhbGxlciB0byBiZSB1cGxvYWRlZCB0bworUHlQSS4gIE5vdGUgdGhhdCB0aGVzZSB3aWxsIGJlIHVwbG9hZGVkIGV2ZW4gaWYgdGhleSBhcmUgYnVpbHQgdXNpbmcgYW4gZWFybGllcgoraW52b2NhdGlvbiBvZiA6ZmlsZTpgc2V0dXAucHlgLCBidXQgdGhhdCBvbmx5IGRpc3RyaWJ1dGlvbnMgbmFtZWQgb24gdGhlIGNvbW1hbmQKK2xpbmUgZm9yIHRoZSBpbnZvY2F0aW9uIGluY2x1ZGluZyB0aGUgOmNvbW1hbmQ6YHVwbG9hZGAgY29tbWFuZCBhcmUgdXBsb2FkZWQuCisKK1RoZSA6Y29tbWFuZDpgdXBsb2FkYCBjb21tYW5kIHVzZXMgdGhlIHVzZXJuYW1lLCBwYXNzd29yZCwgYW5kIHJlcG9zaXRvcnkgVVJMCitmcm9tIHRoZSA6ZmlsZTpgJEhPTUUvLnB5cGlyY2AgZmlsZSAoc2VlIHNlY3Rpb24gOnJlZjpgcGFja2FnaW5nLXB5cGlyY2AgZm9yIG1vcmUgb24gdGhpcworZmlsZSkuIElmIGEgOmNvbW1hbmQ6YHJlZ2lzdGVyYCBjb21tYW5kIHdhcyBwcmV2aW91c2x5IGNhbGxlZCBpbiB0aGUgc2FtZQorY29tbWFuZCwgYW5kIGlmIHRoZSBwYXNzd29yZCB3YXMgZW50ZXJlZCBpbiB0aGUgcHJvbXB0LCA6Y29tbWFuZDpgdXBsb2FkYCB3aWxsCityZXVzZSB0aGUgZW50ZXJlZCBwYXNzd29yZC4gVGhpcyBpcyB1c2VmdWwgaWYgeW91IGRvIG5vdCB3YW50IHRvIHN0b3JlIGEgY2xlYXIKK3RleHQgcGFzc3dvcmQgaW4gdGhlIDpmaWxlOmAkSE9NRS8ucHlwaXJjYCBmaWxlLgorCitZb3UgY2FuIHNwZWNpZnkgYW5vdGhlciBQeVBJIHNlcnZlciB3aXRoIHRoZSA6b3B0aW9uOmAtLXJlcG9zaXRvcnk9KnVybCpgCitvcHRpb246OgorCisgICAgcHl0aG9uIHNldHVwLnB5IHNkaXN0IGJkaXN0X3dpbmluc3QgdXBsb2FkIC1yIGh0dHA6Ly9leGFtcGxlLmNvbS9weXBpCisKK1NlZSBzZWN0aW9uIDpyZWY6YHBhY2thZ2luZy1weXBpcmNgIGZvciBtb3JlIG9uIGRlZmluaW5nIHNldmVyYWwgc2VydmVycy4KKworWW91IGNhbiB1c2UgdGhlIDpvcHRpb246YC0tc2lnbmAgb3B0aW9uIHRvIHRlbGwgOmNvbW1hbmQ6YHVwbG9hZGAgdG8gc2lnbiBlYWNoCit1cGxvYWRlZCBmaWxlIHVzaW5nIEdQRyAoR05VIFByaXZhY3kgR3VhcmQpLiAgVGhlIDpwcm9ncmFtOmBncGdgIHByb2dyYW0gbXVzdAorYmUgYXZhaWxhYmxlIGZvciBleGVjdXRpb24gb24gdGhlIHN5c3RlbSA6ZW52dmFyOmBQQVRIYC4gIFlvdSBjYW4gYWxzbyBzcGVjaWZ5Cit3aGljaCBrZXkgdG8gdXNlIGZvciBzaWduaW5nIHVzaW5nIHRoZSA6b3B0aW9uOmAtLWlkZW50aXR5PSpuYW1lKmAgb3B0aW9uLgorCitPdGhlciA6Y29tbWFuZDpgdXBsb2FkYCBvcHRpb25zIGluY2x1ZGUgOm9wdGlvbjpgLS1yZXBvc2l0b3J5PTx1cmw+YCBvcgorOm9wdGlvbjpgLS1yZXBvc2l0b3J5PTxzZWN0aW9uPmAgd2hlcmUgKnVybCogaXMgdGhlIHVybCBvZiB0aGUgc2VydmVyIGFuZAorKnNlY3Rpb24qIHRoZSBuYW1lIG9mIHRoZSBzZWN0aW9uIGluIDpmaWxlOmAkSE9NRS8ucHlwaXJjYCwgYW5kCis6b3B0aW9uOmAtLXNob3ctcmVzcG9uc2VgICh3aGljaCBkaXNwbGF5cyB0aGUgZnVsbCByZXNwb25zZSB0ZXh0IGZyb20gdGhlIFB5UEkKK3NlcnZlciBmb3IgaGVscCBpbiBkZWJ1Z2dpbmcgdXBsb2FkIHByb2JsZW1zKS4KKworUHlQSSBwYWNrYWdlIGRpc3BsYXkKKz09PT09PT09PT09PT09PT09PT09CisKK1RoZSBgYGRlc2NyaXB0aW9uYGAgZmllbGQgcGxheXMgYSBzcGVjaWFsIHJvbGUgYXQgUHlQSS4gSXQgaXMgdXNlZCBieQordGhlIHNlcnZlciB0byBkaXNwbGF5IGEgaG9tZSBwYWdlIGZvciB0aGUgcmVnaXN0ZXJlZCBwYWNrYWdlLgorCitJZiB5b3UgdXNlIHRoZSBgcmVTdHJ1Y3R1cmVkVGV4dCA8aHR0cDovL2RvY3V0aWxzLnNvdXJjZWZvcmdlLm5ldC9yc3QuaHRtbD5gXworc3ludGF4IGZvciB0aGlzIGZpZWxkLCBQeVBJIHdpbGwgcGFyc2UgaXQgYW5kIGRpc3BsYXkgYW4gSFRNTCBvdXRwdXQgZm9yCit0aGUgcGFja2FnZSBob21lIHBhZ2UuCisKK1RoZSBgYGRlc2NyaXB0aW9uYGAgZmllbGQgY2FuIGJlIGZpbGxlZCBmcm9tIGEgdGV4dCBmaWxlIGxvY2F0ZWQgaW4gdGhlCitwcm9qZWN0OjoKKworICAgIGZyb20gcGFja2FnaW5nLmNvcmUgaW1wb3J0IHNldHVwCisKKyAgICBmcCA9IG9wZW4oJ1JFQURNRS50eHQnKQorICAgIHRyeToKKyAgICAgICAgZGVzY3JpcHRpb24gPSBmcC5yZWFkKCkKKyAgICBmaW5hbGx5OgorICAgICAgICBmcC5jbG9zZSgpCisKKyAgICBzZXR1cChuYW1lPSdQYWNrYWdpbmcnLAorICAgICAgICAgIGRlc2NyaXB0aW9uPWRlc2NyaXB0aW9uKQorCitJbiB0aGF0IGNhc2UsIDpmaWxlOmBSRUFETUUudHh0YCBpcyBhIHJlZ3VsYXIgcmVTdHJ1Y3R1cmVkVGV4dCB0ZXh0IGZpbGUgbG9jYXRlZAoraW4gdGhlIHJvb3Qgb2YgdGhlIHBhY2thZ2UgYmVzaWRlcyA6ZmlsZTpgc2V0dXAucHlgLgorCitUbyBwcmV2ZW50IHJlZ2lzdGVyaW5nIGJyb2tlbiByZVN0cnVjdHVyZWRUZXh0IGNvbnRlbnQsIHlvdSBjYW4gdXNlIHRoZQorOnByb2dyYW06YHJzdDJodG1sYCBwcm9ncmFtIHRoYXQgaXMgcHJvdmlkZWQgYnkgdGhlIDptb2Q6YGRvY3V0aWxzYCBwYWNrYWdlCithbmQgY2hlY2sgdGhlIGBgZGVzY3JpcHRpb25gYCBmcm9tIHRoZSBjb21tYW5kIGxpbmU6OgorCisgICAgJCBweXRob24gc2V0dXAucHkgLS1kZXNjcmlwdGlvbiB8IHJzdDJodG1sLnB5ID4gb3V0cHV0Lmh0bWwKKworOm1vZDpgZG9jdXRpbHNgIHdpbGwgZGlzcGxheSBhIHdhcm5pbmcgaWYgdGhlcmUncyBzb21ldGhpbmcgd3Jvbmcgd2l0aCB5b3VyCitzeW50YXguCmRpZmYgLS1naXQgYS9Eb2MvcmVmZXJlbmNlL2RhdGFtb2RlbC5yc3QgYi9Eb2MvcmVmZXJlbmNlL2RhdGFtb2RlbC5yc3QKaW5kZXggN2RjZDQ1OS4uMWYxYTY2MCAxMDA2NDQKLS0tIGEvRG9jL3JlZmVyZW5jZS9kYXRhbW9kZWwucnN0CisrKyBiL0RvYy9yZWZlcmVuY2UvZGF0YW1vZGVsLnJzdApAQCAtMjc2LDE2ICsyNzYsMTYgQEAKICAgICAgICAgICAgIHNpbmdsZTogaW50ZWdlcgogICAgICAgICAgICAgc2luZ2xlOiBVbmljb2RlCiAKLSAgICAgICAgIFRoZSBpdGVtcyBvZiBhIHN0cmluZyBvYmplY3QgYXJlIFVuaWNvZGUgY29kZSB1bml0cy4gIEEgVW5pY29kZSBjb2RlCi0gICAgICAgICB1bml0IGlzIHJlcHJlc2VudGVkIGJ5IGEgc3RyaW5nIG9iamVjdCBvZiBvbmUgaXRlbSBhbmQgY2FuIGhvbGQgZWl0aGVyCi0gICAgICAgICBhIDE2LWJpdCBvciAzMi1iaXQgdmFsdWUgcmVwcmVzZW50aW5nIGEgVW5pY29kZSBvcmRpbmFsICh0aGUgbWF4aW11bQotICAgICAgICAgdmFsdWUgZm9yIHRoZSBvcmRpbmFsIGlzIGdpdmVuIGluIGBgc3lzLm1heHVuaWNvZGVgYCwgYW5kIGRlcGVuZHMgb24KLSAgICAgICAgIGhvdyBQeXRob24gaXMgY29uZmlndXJlZCBhdCBjb21waWxlIHRpbWUpLiAgU3Vycm9nYXRlIHBhaXJzIG1heSBiZQotICAgICAgICAgcHJlc2VudCBpbiB0aGUgVW5pY29kZSBvYmplY3QsIGFuZCB3aWxsIGJlIHJlcG9ydGVkIGFzIHR3byBzZXBhcmF0ZQotICAgICAgICAgaXRlbXMuICBUaGUgYnVpbHQtaW4gZnVuY3Rpb25zIDpmdW5jOmBjaHJgIGFuZCA6ZnVuYzpgb3JkYCBjb252ZXJ0Ci0gICAgICAgICBiZXR3ZWVuIGNvZGUgdW5pdHMgYW5kIG5vbm5lZ2F0aXZlIGludGVnZXJzIHJlcHJlc2VudGluZyB0aGUgVW5pY29kZQotICAgICAgICAgb3JkaW5hbHMgYXMgZGVmaW5lZCBpbiB0aGUgVW5pY29kZSBTdGFuZGFyZCAzLjAuIENvbnZlcnNpb24gZnJvbSBhbmQgdG8KLSAgICAgICAgIG90aGVyIGVuY29kaW5ncyBhcmUgcG9zc2libGUgdGhyb3VnaCB0aGUgc3RyaW5nIG1ldGhvZCA6bWV0aDpgZW5jb2RlYC4KKyAgICAgICAgIEEgc3RyaW5nIGlzIGEgc2VxdWVuY2Ugb2YgdmFsdWVzIHRoYXQgcmVwcmVzZW50IFVuaWNvZGUgY29kZXBvaW50cy4KKyAgICAgICAgIEFsbCB0aGUgY29kZXBvaW50cyBpbiByYW5nZSBgYFUrMDAwMCAtIFUrMTBGRkZGYGAgY2FuIGJlIHJlcHJlc2VudGVkCisgICAgICAgICBpbiBhIHN0cmluZy4gIFB5dGhvbiBkb2Vzbid0IGhhdmUgYSA6Yzp0eXBlOmBjaHJgIHR5cGUsIGFuZAorICAgICAgICAgZXZlcnkgY2hhcmFjdGVyIGluIHRoZSBzdHJpbmcgaXMgcmVwcmVzZW50ZWQgYXMgYSBzdHJpbmcgb2JqZWN0CisgICAgICAgICB3aXRoIGxlbmd0aCBgYDFgYC4gIFRoZSBidWlsdC1pbiBmdW5jdGlvbiA6ZnVuYzpgb3JkYCBjb252ZXJ0cyBhCisgICAgICAgICBjaGFyYWN0ZXIgdG8gaXRzIGNvZGVwb2ludCAoYXMgYW4gaW50ZWdlcik7IDpmdW5jOmBjaHJgIGNvbnZlcnRzCisgICAgICAgICBhbiBpbnRlZ2VyIGluIHJhbmdlIGBgMCAtIDEwRkZGRmBgIHRvIHRoZSBjb3JyZXNwb25kaW5nIGNoYXJhY3Rlci4KKyAgICAgICAgIDptZXRoOmBzdHIuZW5jb2RlYCBjYW4gYmUgdXNlZCB0byBjb252ZXJ0IGEgOmNsYXNzOmBzdHJgIHRvCisgICAgICAgICA6Y2xhc3M6YGJ5dGVzYCB1c2luZyB0aGUgZ2l2ZW4gZW5jb2RpbmcsIGFuZCA6bWV0aDpgYnl0ZXMuZGVjb2RlYCBjYW4KKyAgICAgICAgIGJlIHVzZWQgdG8gYWNoaWV2ZSB0aGUgb3Bwb3NpdGUuCiAKICAgICAgIFR1cGxlcwogICAgICAgICAgLi4gaW5kZXg6OgpAQCAtNDQ4LDYgKzQ0OCwxMSBAQAogICAgICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLSsKICAgICAgIHwgOmF0dHI6YF9fbmFtZV9fYCAgICAgICAgfCBUaGUgZnVuY3Rpb24ncyBuYW1lICAgICAgICAgICB8IFdyaXRhYmxlICB8CiAgICAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKworICAgICAgfCA6YXR0cjpgX19xdWFsbmFtZV9fYCAgICB8IFRoZSBmdW5jdGlvbidzICAgICAgICAgICAgICAgIHwgV3JpdGFibGUgIHwKKyAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgfCA6dGVybTpgcXVhbGlmaWVkIG5hbWVgICAgICAgICB8ICAgICAgICAgICB8CisgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgfAorICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICB8IC4uIHZlcnNpb25hZGRlZDo6IDMuMyAgICAgICAgIHwgICAgICAgICAgIHwKKyAgICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rCiAgICAgICB8IDphdHRyOmBfX21vZHVsZV9fYCAgICAgIHwgVGhlIG5hbWUgb2YgdGhlIG1vZHVsZSB0aGUgICAgfCBXcml0YWJsZSAgfAogICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICB8IGZ1bmN0aW9uIHdhcyBkZWZpbmVkIGluLCBvciAgIHwgICAgICAgICAgIHwKICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgfCBgYE5vbmVgYCBpZiB1bmF2YWlsYWJsZS4gICAgICB8ICAgICAgICAgICB8CkBAIC0xMjcyLDcgKzEyNzcsMjcgQEAKICAgIGluaGVyaXRhbmNlIG9mIDptZXRoOmBfX2hhc2hfX2Agd2lsbCBiZSBibG9ja2VkLCBqdXN0IGFzIGlmIDphdHRyOmBfX2hhc2hfX2AKICAgIGhhZCBiZWVuIGV4cGxpY2l0bHkgc2V0IHRvIDpjb25zdDpgTm9uZWAuCiAKLSAgIFNlZSBhbHNvIHRoZSA6b3B0aW9uOmAtUmAgY29tbWFuZC1saW5lIG9wdGlvbi4KKworICAgLi4gbm90ZTo6CisKKyAgICAgIE5vdGUgYnkgZGVmYXVsdCB0aGUgOm1ldGg6YF9faGFzaF9fYCB2YWx1ZXMgb2Ygc3RyLCBieXRlcyBhbmQgZGF0ZXRpbWUKKyAgICAgIG9iamVjdHMgYXJlICJzYWx0ZWQiIHdpdGggYW4gdW5wcmVkaWN0YWJsZSByYW5kb20gdmFsdWUuICBBbHRob3VnaCB0aGV5CisgICAgICByZW1haW4gY29uc3RhbnQgd2l0aGluIGFuIGluZGl2aWR1YWwgUHl0aG9uIHByb2Nlc3MsIHRoZXkgYXJlIG5vdAorICAgICAgcHJlZGljdGFibGUgYmV0d2VlbiByZXBlYXRlZCBpbnZvY2F0aW9ucyBvZiBQeXRob24uCisKKyAgICAgIFRoaXMgaXMgaW50ZW5kZWQgdG8gcHJvdmlkZSBwcm90ZWN0aW9uIGFnYWluc3QgYSBkZW5pYWwtb2Ytc2VydmljZSBjYXVzZWQKKyAgICAgIGJ5IGNhcmVmdWxseS1jaG9zZW4gaW5wdXRzIHRoYXQgZXhwbG9pdCB0aGUgd29yc3QgY2FzZSBwZXJmb3JtYW5jZSBvZiBhCisgICAgICBkaWN0IGluc2VydGlvbiwgTyhuXjIpIGNvbXBsZXhpdHkuICBTZWUKKyAgICAgIGh0dHA6Ly93d3cub2NlcnQub3JnL2Fkdmlzb3JpZXMvb2NlcnQtMjAxMS0wMDMuaHRtbCBmb3IgZGV0YWlscy4KKworICAgICAgQ2hhbmdpbmcgaGFzaCB2YWx1ZXMgYWZmZWN0cyB0aGUgb3JkZXIgaW4gd2hpY2gga2V5cyBhcmUgcmV0cmlldmVkIGZyb20gYQorICAgICAgZGljdC4gIE5vdGUgUHl0aG9uIGhhcyBuZXZlciBtYWRlIGd1YXJhbnRlZXMgYWJvdXQgdGhpcyBvcmRlcmluZyAoYW5kIGl0CisgICAgICB0eXBpY2FsbHkgdmFyaWVzIGJldHdlZW4gMzItYml0IGFuZCA2NC1iaXQgYnVpbGRzKS4KKworICAgICAgU2VlIGFsc28gOmVudnZhcjpgUFlUSE9OSEFTSFNFRURgLgorCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMworICAgICAgSGFzaCByYW5kb21pemF0aW9uIGlzIGVuYWJsZWQgYnkgZGVmYXVsdC4KIAogCiAuLiBtZXRob2Q6OiBvYmplY3QuX19ib29sX18oc2VsZikKQEAgLTEzNTMsNyArMTM3OCw4IEBACiAKIC4uIG1ldGhvZDo6IG9iamVjdC5fX2Rpcl9fKHNlbGYpCiAKLSAgIENhbGxlZCB3aGVuIDpmdW5jOmBkaXJgIGlzIGNhbGxlZCBvbiB0aGUgb2JqZWN0LiAgQSBsaXN0IG11c3QgYmUgcmV0dXJuZWQuCisgICBDYWxsZWQgd2hlbiA6ZnVuYzpgZGlyYCBpcyBjYWxsZWQgb24gdGhlIG9iamVjdC4gQSBzZXF1ZW5jZSBtdXN0IGJlCisgICByZXR1cm5lZC4gOmZ1bmM6YGRpcmAgY29udmVydHMgdGhlIHJldHVybmVkIHNlcXVlbmNlIHRvIGEgbGlzdCBhbmQgc29ydHMgaXQuCiAKIAogLi4gX2Rlc2NyaXB0b3JzOgpkaWZmIC0tZ2l0IGEvRG9jL3JlZmVyZW5jZS9leHByZXNzaW9ucy5yc3QgYi9Eb2MvcmVmZXJlbmNlL2V4cHJlc3Npb25zLnJzdAppbmRleCA1YjY4NDY4Li45NjI0YjYwIDEwMDY0NAotLS0gYS9Eb2MvcmVmZXJlbmNlL2V4cHJlc3Npb25zLnJzdAorKysgYi9Eb2MvcmVmZXJlbmNlL2V4cHJlc3Npb25zLnJzdApAQCAtMzE4LDcgKzMxOCw3IEBACiAKIC4uIHByb2R1Y3Rpb25saXN0OjoKICAgIHlpZWxkX2F0b206ICIoIiBgeWllbGRfZXhwcmVzc2lvbmAgIikiCi0gICB5aWVsZF9leHByZXNzaW9uOiAieWllbGQiIFtgZXhwcmVzc2lvbl9saXN0YF0KKyAgIHlpZWxkX2V4cHJlc3Npb246ICJ5aWVsZCIgW2BleHByZXNzaW9uX2xpc3RgIHwgImZyb20iIGBleHByZXNzaW9uYF0KIAogVGhlIDprZXl3b3JkOmB5aWVsZGAgZXhwcmVzc2lvbiBpcyBvbmx5IHVzZWQgd2hlbiBkZWZpbmluZyBhIGdlbmVyYXRvciBmdW5jdGlvbiwKIGFuZCBjYW4gb25seSBiZSB1c2VkIGluIHRoZSBib2R5IG9mIGEgZnVuY3Rpb24gZGVmaW5pdGlvbi4gIFVzaW5nIGEKQEAgLTMzNiw3ICszMzYsMTAgQEAKIHRoZSBnZW5lcmF0b3IncyBtZXRob2RzLCB0aGUgZnVuY3Rpb24gY2FuIHByb2NlZWQgZXhhY3RseSBhcyBpZiB0aGUKIDprZXl3b3JkOmB5aWVsZGAgZXhwcmVzc2lvbiB3YXMganVzdCBhbm90aGVyIGV4dGVybmFsIGNhbGwuICBUaGUgdmFsdWUgb2YgdGhlCiA6a2V5d29yZDpgeWllbGRgIGV4cHJlc3Npb24gYWZ0ZXIgcmVzdW1pbmcgZGVwZW5kcyBvbiB0aGUgbWV0aG9kIHdoaWNoIHJlc3VtZWQKLXRoZSBleGVjdXRpb24uCit0aGUgZXhlY3V0aW9uLiBJZiA6bWV0aDpgX19uZXh0X19gIGlzIHVzZWQgKHR5cGljYWxseSB2aWEgZWl0aGVyIGEKKzprZXl3b3JkOmBmb3JgIG9yIHRoZSA6ZnVuYzpgbmV4dGAgYnVpbHRpbikgdGhlbiB0aGUgcmVzdWx0IGlzIDpjb25zdDpgTm9uZWAsCitvdGhlcndpc2UsIGlmIDptZXRoOmBzZW5kYCBpcyB1c2VkLCB0aGVuIHRoZSByZXN1bHQgd2lsbCBiZSB0aGUgdmFsdWUgcGFzc2VkCitpbiB0byB0aGF0IG1ldGhvZC4KIAogLi4gaW5kZXg6OiBzaW5nbGU6IGNvcm91dGluZQogCkBAIC0zNDYsMTIgKzM0OSwzMiBAQAogd2hlcmUgc2hvdWxkIHRoZSBleGVjdXRpb24gY29udGludWUgYWZ0ZXIgaXQgeWllbGRzOyB0aGUgY29udHJvbCBpcyBhbHdheXMKIHRyYW5zZmVycmVkIHRvIHRoZSBnZW5lcmF0b3IncyBjYWxsZXIuCiAKLVRoZSA6a2V5d29yZDpgeWllbGRgIHN0YXRlbWVudCBpcyBhbGxvd2VkIGluIHRoZSA6a2V5d29yZDpgdHJ5YCBjbGF1c2Ugb2YgYQorOmtleXdvcmQ6YHlpZWxkYCBleHByZXNzaW9ucyBhcmUgYWxsb3dlZCBpbiB0aGUgOmtleXdvcmQ6YHRyeWAgY2xhdXNlIG9mIGEKIDprZXl3b3JkOmB0cnlgIC4uLiAgOmtleXdvcmQ6YGZpbmFsbHlgIGNvbnN0cnVjdC4gIElmIHRoZSBnZW5lcmF0b3IgaXMgbm90CiByZXN1bWVkIGJlZm9yZSBpdCBpcyBmaW5hbGl6ZWQgKGJ5IHJlYWNoaW5nIGEgemVybyByZWZlcmVuY2UgY291bnQgb3IgYnkgYmVpbmcKIGdhcmJhZ2UgY29sbGVjdGVkKSwgdGhlIGdlbmVyYXRvci1pdGVyYXRvcidzIDptZXRoOmBjbG9zZWAgbWV0aG9kIHdpbGwgYmUKIGNhbGxlZCwgYWxsb3dpbmcgYW55IHBlbmRpbmcgOmtleXdvcmQ6YGZpbmFsbHlgIGNsYXVzZXMgdG8gZXhlY3V0ZS4KIAorV2hlbiBgYHlpZWxkIGZyb20gPGV4cHI+YGAgaXMgdXNlZCwgaXQgdHJlYXRzIHRoZSBzdXBwbGllZCBleHByZXNzaW9uIGFzCithIHN1Yml0ZXJhdG9yLiBBbGwgdmFsdWVzIHByb2R1Y2VkIGJ5IHRoYXQgc3ViaXRlcmF0b3IgYXJlIHBhc3NlZCBkaXJlY3RseQordG8gdGhlIGNhbGxlciBvZiB0aGUgY3VycmVudCBnZW5lcmF0b3IncyBtZXRob2RzLiBBbnkgdmFsdWVzIHBhc3NlZCBpbiB3aXRoCis6bWV0aDpgc2VuZGAgYW5kIGFueSBleGNlcHRpb25zIHBhc3NlZCBpbiB3aXRoIDptZXRoOmB0aHJvd2AgYXJlIHBhc3NlZCB0bwordGhlIHVuZGVybHlpbmcgaXRlcmF0b3IgaWYgaXQgaGFzIHRoZSBhcHByb3ByaWF0ZSBtZXRob2RzLiBJZiB0aGlzIGlzIG5vdCB0aGUKK2Nhc2UsIHRoZW4gOm1ldGg6YHNlbmRgIHdpbGwgcmFpc2UgOmV4YzpgQXR0cmlidXRlRXJyb3JgIG9yIDpleGM6YFR5cGVFcnJvcmAsCit3aGlsZSA6bWV0aDpgdGhyb3dgIHdpbGwganVzdCByYWlzZSB0aGUgcGFzc2VkIGluIGV4Y2VwdGlvbiBpbW1lZGlhdGVseS4KKworV2hlbiB0aGUgdW5kZXJseWluZyBpdGVyYXRvciBpcyBjb21wbGV0ZSwgdGhlIDphdHRyOmB+U3RvcEl0ZXJhdGlvbi52YWx1ZWAKK2F0dHJpYnV0ZSBvZiB0aGUgcmFpc2VkIDpleGM6YFN0b3BJdGVyYXRpb25gIGluc3RhbmNlIGJlY29tZXMgdGhlIHZhbHVlIG9mCit0aGUgeWllbGQgZXhwcmVzc2lvbi4gSXQgY2FuIGJlIGVpdGhlciBzZXQgZXhwbGljaXRseSB3aGVuIHJhaXNpbmcKKzpleGM6YFN0b3BJdGVyYXRpb25gLCBvciBhdXRvbWF0aWNhbGx5IHdoZW4gdGhlIHN1Yi1pdGVyYXRvciBpcyBhIGdlbmVyYXRvcgorKGJ5IHJldHVybmluZyBhIHZhbHVlIGZyb20gdGhlIHN1Yi1nZW5lcmF0b3IpLgorCisgICAuLiB2ZXJzaW9uY2hhbmdlZDo6IDMuMworICAgICAgQWRkZWQgYGB5aWVsZCBmcm9tIDxleHByPmBgIHRvIGRlbGVnYXRlIGNvbnRyb2wgZmxvdyB0byBhIHN1Yml0ZXJhdG9yCisKK1RoZSBwYXJlbnRoZXNlcyBjYW4gYmUgb21pdHRlZCB3aGVuIHRoZSA6a2V5d29yZDpgeWllbGRgIGV4cHJlc3Npb24gaXMgdGhlCitzb2xlIGV4cHJlc3Npb24gb24gdGhlIHJpZ2h0IGhhbmQgc2lkZSBvZiBhbiBhc3NpZ25tZW50IHN0YXRlbWVudC4KKwogLi4gaW5kZXg6OiBvYmplY3Q6IGdlbmVyYXRvcgogCiBUaGUgZm9sbG93aW5nIGdlbmVyYXRvcidzIG1ldGhvZHMgY2FuIGJlIHVzZWQgdG8gY29udHJvbCB0aGUgZXhlY3V0aW9uIG9mIGEKQEAgLTQ0NCw2ICs0NjcsMTAgQEAKICAgICAgIFRoZSBwcm9wb3NhbCB0byBlbmhhbmNlIHRoZSBBUEkgYW5kIHN5bnRheCBvZiBnZW5lcmF0b3JzLCBtYWtpbmcgdGhlbQogICAgICAgdXNhYmxlIGFzIHNpbXBsZSBjb3JvdXRpbmVzLgogCisgICA6cGVwOmAwMzgwYCAtIFN5bnRheCBmb3IgRGVsZWdhdGluZyB0byBhIFN1YmdlbmVyYXRvcgorICAgICAgVGhlIHByb3Bvc2FsIHRvIGludHJvZHVjZSB0aGUgOnRva2VuOmB5aWVsZF9mcm9tYCBzeW50YXgsIG1ha2luZyBkZWxlZ2F0aW9uCisgICAgICB0byBzdWItZ2VuZXJhdG9ycyBlYXN5LgorCiAKIC4uIF9wcmltYXJpZXM6CiAKZGlmZiAtLWdpdCBhL0RvYy9yZWZlcmVuY2UvbGV4aWNhbF9hbmFseXNpcy5yc3QgYi9Eb2MvcmVmZXJlbmNlL2xleGljYWxfYW5hbHlzaXMucnN0CmluZGV4IDRiNDk3MzguLmM5NGE0N2YgMTAwNjQ0Ci0tLSBhL0RvYy9yZWZlcmVuY2UvbGV4aWNhbF9hbmFseXNpcy5yc3QKKysrIGIvRG9jL3JlZmVyZW5jZS9sZXhpY2FsX2FuYWx5c2lzLnJzdApAQCAtNDAxLDcgKzQwMSw3IEBACiAKIC4uIHByb2R1Y3Rpb25saXN0OjoKICAgIHN0cmluZ2xpdGVyYWw6IFtgc3RyaW5ncHJlZml4YF0oYHNob3J0c3RyaW5nYCB8IGBsb25nc3RyaW5nYCkKLSAgIHN0cmluZ3ByZWZpeDogInIiIHwgIlIiCisgICBzdHJpbmdwcmVmaXg6ICJyIiB8ICJ1IiB8ICJ1ciIgfCAiUiIgfCAiVSIgfCAiVVIiIHwgIlVyIiB8ICJ1UiIKICAgIHNob3J0c3RyaW5nOiAiJyIgYHNob3J0c3RyaW5naXRlbWAqICInIiB8ICciJyBgc2hvcnRzdHJpbmdpdGVtYCogJyInCiAgICBsb25nc3RyaW5nOiAiJycnIiBgbG9uZ3N0cmluZ2l0ZW1gKiAiJycnIiB8ICciIiInIGBsb25nc3RyaW5naXRlbWAqICciIiInCiAgICBzaG9ydHN0cmluZ2l0ZW06IGBzaG9ydHN0cmluZ2NoYXJgIHwgYHN0cmluZ2VzY2FwZXNlcWAKQEAgLTQxMiw3ICs0MTIsNyBAQAogCiAuLiBwcm9kdWN0aW9ubGlzdDo6CiAgICBieXRlc2xpdGVyYWw6IGBieXRlc3ByZWZpeGAoYHNob3J0Ynl0ZXNgIHwgYGxvbmdieXRlc2ApCi0gICBieXRlc3ByZWZpeDogImIiIHwgIkIiIHwgImJyIiB8ICJCciIgfCAiYlIiIHwgIkJSIgorICAgYnl0ZXNwcmVmaXg6ICJiIiB8ICJCIiB8ICJiciIgfCAiQnIiIHwgImJSIiB8ICJCUiIgfCAicmIiIHwgInJCIiB8ICJSYiIgfCAiUkIiCiAgICBzaG9ydGJ5dGVzOiAiJyIgYHNob3J0Ynl0ZXNpdGVtYCogIiciIHwgJyInIGBzaG9ydGJ5dGVzaXRlbWAqICciJwogICAgbG9uZ2J5dGVzOiAiJycnIiBgbG9uZ2J5dGVzaXRlbWAqICInJyciIHwgJyIiIicgYGxvbmdieXRlc2l0ZW1gKiAnIiIiJwogICAgc2hvcnRieXRlc2l0ZW06IGBzaG9ydGJ5dGVzY2hhcmAgfCBgYnl0ZXNlc2NhcGVzZXFgCkBAIC00NDEsMTEgKzQ0MSwyMyBAQAogbWF5IG9ubHkgY29udGFpbiBBU0NJSSBjaGFyYWN0ZXJzOyBieXRlcyB3aXRoIGEgbnVtZXJpYyB2YWx1ZSBvZiAxMjggb3IgZ3JlYXRlcgogbXVzdCBiZSBleHByZXNzZWQgd2l0aCBlc2NhcGVzLgogCitBcyBvZiBQeXRob24gMy4zIGl0IGlzIHBvc3NpYmxlIGFnYWluIHRvIHByZWZpeCB1bmljb2RlIHN0cmluZ3Mgd2l0aCBhCitgYHVgYCBwcmVmaXggdG8gc2ltcGxpZnkgbWFpbnRlbmFuY2Ugb2YgZHVhbCAyLnggYW5kIDMueCBjb2RlYmFzZXMuCisKIEJvdGggc3RyaW5nIGFuZCBieXRlcyBsaXRlcmFscyBtYXkgb3B0aW9uYWxseSBiZSBwcmVmaXhlZCB3aXRoIGEgbGV0dGVyIGBgJ3InYGAKIG9yIGBgJ1InYGA7IHN1Y2ggc3RyaW5ncyBhcmUgY2FsbGVkIDpkZm46YHJhdyBzdHJpbmdzYCBhbmQgdHJlYXQgYmFja3NsYXNoZXMgYXMKIGxpdGVyYWwgY2hhcmFjdGVycy4gIEFzIGEgcmVzdWx0LCBpbiBzdHJpbmcgbGl0ZXJhbHMsIGBgJ1xVJ2BgIGFuZCBgYCdcdSdgYAogZXNjYXBlcyBpbiByYXcgc3RyaW5ncyBhcmUgbm90IHRyZWF0ZWQgc3BlY2lhbGx5LgogCisgICAuLiB2ZXJzaW9uYWRkZWQ6OiAzLjMKKyAgICAgIFRoZSBgYCdyYidgYCBwcmVmaXggb2YgcmF3IGJ5dGVzIGxpdGVyYWxzIGhhcyBiZWVuIGFkZGVkIGFzIGEgc3lub255bQorICAgICAgb2YgYGAnYnInYGAuCisKKyAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMworICAgICAgU3VwcG9ydCBmb3IgdGhlIHVuaWNvZGUgbGVnYWN5IGxpdGVyYWwgKGBgdSd2YWx1ZSdgYCkgYW5kIG90aGVyCisgICAgICB2ZXJzaW9ucyB3ZXJlIHJlaW50cm9kdWNlZCB0byBzaW1wbGlmeSB0aGUgbWFpbnRlbmFuY2Ugb2YgZHVhbAorICAgICAgUHl0aG9uIDIueCBhbmQgMy54IGNvZGViYXNlcy4gIFNlZSA6cGVwOmA0MTRgIGZvciBtb3JlIGluZm9ybWF0aW9uLgorCiBJbiB0cmlwbGUtcXVvdGVkIHN0cmluZ3MsIHVuZXNjYXBlZCBuZXdsaW5lcyBhbmQgcXVvdGVzIGFyZSBhbGxvd2VkIChhbmQgYXJlCiByZXRhaW5lZCksIGV4Y2VwdCB0aGF0IHRocmVlIHVuZXNjYXBlZCBxdW90ZXMgaW4gYSByb3cgdGVybWluYXRlIHRoZSBzdHJpbmcuICAoQQogInF1b3RlIiBpcyB0aGUgY2hhcmFjdGVyIHVzZWQgdG8gb3BlbiB0aGUgc3RyaW5nLCBpLmUuIGVpdGhlciBgYCdgYCBvciBgYCJgYC4pCkBAIC00OTIsMTMgKzUwNCwxMyBAQAogKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tKwogfCBFc2NhcGUgU2VxdWVuY2UgfCBNZWFuaW5nICAgICAgICAgICAgICAgICAgICAgICAgIHwgTm90ZXMgfAogKz09PT09PT09PT09PT09PT09Kz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSs9PT09PT09KwotfCBgYFxOe25hbWV9YGAgICAgfCBDaGFyYWN0ZXIgbmFtZWQgKm5hbWUqIGluIHRoZSAgIHwgICAgICAgfAorfCBgYFxOe25hbWV9YGAgICAgfCBDaGFyYWN0ZXIgbmFtZWQgKm5hbWUqIGluIHRoZSAgIHwgXCg0KSAgfAogfCAgICAgICAgICAgICAgICAgfCBVbmljb2RlIGRhdGFiYXNlICAgICAgICAgICAgICAgIHwgICAgICAgfAogKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tKwotfCBgYFx1eHh4eGBgICAgICAgfCBDaGFyYWN0ZXIgd2l0aCAxNi1iaXQgaGV4IHZhbHVlIHwgXCg0KSAgfAorfCBgYFx1eHh4eGBgICAgICAgfCBDaGFyYWN0ZXIgd2l0aCAxNi1iaXQgaGV4IHZhbHVlIHwgXCg1KSAgfAogfCAgICAgICAgICAgICAgICAgfCAqeHh4eCogICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgfAogKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tKwotfCBgYFxVeHh4eHh4eHhgYCAgfCBDaGFyYWN0ZXIgd2l0aCAzMi1iaXQgaGV4IHZhbHVlIHwgXCg1KSAgfAorfCBgYFxVeHh4eHh4eHhgYCAgfCBDaGFyYWN0ZXIgd2l0aCAzMi1iaXQgaGV4IHZhbHVlIHwgXCg2KSAgfAogfCAgICAgICAgICAgICAgICAgfCAqeHh4eHh4eHgqICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgfAogKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tKwogCkBAIC01MTYsMTAgKzUyOCwxNCBAQAogICAgd2l0aCB0aGUgZ2l2ZW4gdmFsdWUuCiAKICg0KQorICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjMKKyAgICAgIFN1cHBvcnQgZm9yIG5hbWUgYWxpYXNlcyBbI11fIGhhcyBiZWVuIGFkZGVkLgorCisoNSkKICAgIEluZGl2aWR1YWwgY29kZSB1bml0cyB3aGljaCBmb3JtIHBhcnRzIG9mIGEgc3Vycm9nYXRlIHBhaXIgY2FuIGJlIGVuY29kZWQgdXNpbmcKICAgIHRoaXMgZXNjYXBlIHNlcXVlbmNlLiAgRXhhY3RseSBmb3VyIGhleCBkaWdpdHMgYXJlIHJlcXVpcmVkLgogCi0oNSkKKyg2KQogICAgQW55IFVuaWNvZGUgY2hhcmFjdGVyIGNhbiBiZSBlbmNvZGVkIHRoaXMgd2F5LCBidXQgY2hhcmFjdGVycyBvdXRzaWRlIHRoZSBCYXNpYwogICAgTXVsdGlsaW5ndWFsIFBsYW5lIChCTVApIHdpbGwgYmUgZW5jb2RlZCB1c2luZyBhIHN1cnJvZ2F0ZSBwYWlyIGlmIFB5dGhvbiBpcwogICAgY29tcGlsZWQgdG8gdXNlIDE2LWJpdCBjb2RlIHVuaXRzICh0aGUgZGVmYXVsdCkuICBFeGFjdGx5IGVpZ2h0IGhleCBkaWdpdHMKQEAgLTcwNiwzICs3MjIsOCBAQAogb2NjdXJyZW5jZSBvdXRzaWRlIHN0cmluZyBsaXRlcmFscyBhbmQgY29tbWVudHMgaXMgYW4gdW5jb25kaXRpb25hbCBlcnJvcjo6CiAKICAgICQgICAgICAgPyAgICAgICBgCisKKworLi4gcnVicmljOjogRm9vdG5vdGVzCisKKy4uIFsjXSBodHRwOi8vd3d3LnVuaWNvZGUub3JnL1B1YmxpYy82LjEuMC91Y2QvTmFtZUFsaWFzZXMudHh0CmRpZmYgLS1naXQgYS9Eb2MvcmVmZXJlbmNlL3NpbXBsZV9zdG10cy5yc3QgYi9Eb2MvcmVmZXJlbmNlL3NpbXBsZV9zdG10cy5yc3QKaW5kZXggMzRlZDkyZi4uM2JkMDg5NCAxMDA2NDQKLS0tIGEvRG9jL3JlZmVyZW5jZS9zaW1wbGVfc3RtdHMucnN0CisrKyBiL0RvYy9yZWZlcmVuY2Uvc2ltcGxlX3N0bXRzLnJzdApAQCAtNDI1LDEwICs0MjUsMTAgQEAKIDprZXl3b3JkOmBmaW5hbGx5YCBjbGF1c2UsIHRoYXQgOmtleXdvcmQ6YGZpbmFsbHlgIGNsYXVzZSBpcyBleGVjdXRlZCBiZWZvcmUKIHJlYWxseSBsZWF2aW5nIHRoZSBmdW5jdGlvbi4KIAotSW4gYSBnZW5lcmF0b3IgZnVuY3Rpb24sIHRoZSA6a2V5d29yZDpgcmV0dXJuYCBzdGF0ZW1lbnQgaXMgbm90IGFsbG93ZWQgdG8KLWluY2x1ZGUgYW4gOnRva2VuOmBleHByZXNzaW9uX2xpc3RgLiAgSW4gdGhhdCBjb250ZXh0LCBhIGJhcmUgOmtleXdvcmQ6YHJldHVybmAKLWluZGljYXRlcyB0aGF0IHRoZSBnZW5lcmF0b3IgaXMgZG9uZSBhbmQgd2lsbCBjYXVzZSA6ZXhjOmBTdG9wSXRlcmF0aW9uYCB0byBiZQotcmFpc2VkLgorSW4gYSBnZW5lcmF0b3IgZnVuY3Rpb24sIHRoZSA6a2V5d29yZDpgcmV0dXJuYCBzdGF0ZW1lbnQgaW5kaWNhdGVzIHRoYXQgdGhlCitnZW5lcmF0b3IgaXMgZG9uZSBhbmQgd2lsbCBjYXVzZSA6ZXhjOmBTdG9wSXRlcmF0aW9uYCB0byBiZSByYWlzZWQuIFRoZSByZXR1cm5lZAordmFsdWUgKGlmIGFueSkgaXMgdXNlZCBhcyBhbiBhcmd1bWVudCB0byBjb25zdHJ1Y3QgOmV4YzpgU3RvcEl0ZXJhdGlvbmAgYW5kCitiZWNvbWVzIHRoZSA6YXR0cjpgU3RvcEl0ZXJhdGlvbi52YWx1ZWAgYXR0cmlidXRlLgogCiAKIC4uIF95aWVsZDoKQEAgLTQ1MCw2ICs0NTAsNyBAQAogYW5kIGlzIG9ubHkgdXNlZCBpbiB0aGUgYm9keSBvZiB0aGUgZ2VuZXJhdG9yIGZ1bmN0aW9uLiBVc2luZyBhIDprZXl3b3JkOmB5aWVsZGAKIHN0YXRlbWVudCBpbiBhIGZ1bmN0aW9uIGRlZmluaXRpb24gaXMgc3VmZmljaWVudCB0byBjYXVzZSB0aGF0IGRlZmluaXRpb24gdG8KIGNyZWF0ZSBhIGdlbmVyYXRvciBmdW5jdGlvbiBpbnN0ZWFkIG9mIGEgbm9ybWFsIGZ1bmN0aW9uLgorCiBXaGVuIGEgZ2VuZXJhdG9yIGZ1bmN0aW9uIGlzIGNhbGxlZCwgaXQgcmV0dXJucyBhbiBpdGVyYXRvciBrbm93biBhcyBhIGdlbmVyYXRvcgogaXRlcmF0b3IsIG9yIG1vcmUgY29tbW9ubHksIGEgZ2VuZXJhdG9yLiAgVGhlIGJvZHkgb2YgdGhlIGdlbmVyYXRvciBmdW5jdGlvbiBpcwogZXhlY3V0ZWQgYnkgY2FsbGluZyB0aGUgOmZ1bmM6YG5leHRgIGZ1bmN0aW9uIG9uIHRoZSBnZW5lcmF0b3IgcmVwZWF0ZWRseSB1bnRpbApAQCAtNDY5LDE0ICs0NzAsMjggQEAKIGdhcmJhZ2UgY29sbGVjdGVkKSwgdGhlIGdlbmVyYXRvci1pdGVyYXRvcidzIDptZXRoOmBjbG9zZWAgbWV0aG9kIHdpbGwgYmUKIGNhbGxlZCwgYWxsb3dpbmcgYW55IHBlbmRpbmcgOmtleXdvcmQ6YGZpbmFsbHlgIGNsYXVzZXMgdG8gZXhlY3V0ZS4KIAorV2hlbiBgYHlpZWxkIGZyb20gPGV4cHI+YGAgaXMgdXNlZCwgaXQgdHJlYXRzIHRoZSBzdXBwbGllZCBleHByZXNzaW9uIGFzCithIHN1Yml0ZXJhdG9yLCBwcm9kdWNpbmcgdmFsdWVzIGZyb20gaXQgdW50aWwgdGhlIHVuZGVybHlpbmcgaXRlcmF0b3IgaXMKK2V4aGF1c3RlZC4KKworICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjMKKyAgICAgIEFkZGVkIGBgeWllbGQgZnJvbSA8ZXhwcj5gYCB0byBkZWxlZ2F0ZSBjb250cm9sIGZsb3cgdG8gYSBzdWJpdGVyYXRvcgorCitGb3IgZnVsbCBkZXRhaWxzIG9mIDprZXl3b3JkOmB5aWVsZGAgc2VtYW50aWNzLCByZWZlciB0byB0aGUgOnJlZjpgeWllbGRleHByYAorc2VjdGlvbi4KKwogLi4gc2VlYWxzbzo6CiAKICAgIDpwZXA6YDAyNTVgIC0gU2ltcGxlIEdlbmVyYXRvcnMKICAgICAgIFRoZSBwcm9wb3NhbCBmb3IgYWRkaW5nIGdlbmVyYXRvcnMgYW5kIHRoZSA6a2V5d29yZDpgeWllbGRgIHN0YXRlbWVudCB0byBQeXRob24uCiAKICAgIDpwZXA6YDAzNDJgIC0gQ29yb3V0aW5lcyB2aWEgRW5oYW5jZWQgR2VuZXJhdG9ycwotICAgICAgVGhlIHByb3Bvc2FsIHRoYXQsIGFtb25nIG90aGVyIGdlbmVyYXRvciBlbmhhbmNlbWVudHMsIHByb3Bvc2VkIGFsbG93aW5nCi0gICAgICA6a2V5d29yZDpgeWllbGRgIHRvIGFwcGVhciBpbnNpZGUgYSA6a2V5d29yZDpgdHJ5YCAuLi4gOmtleXdvcmQ6YGZpbmFsbHlgIGJsb2NrLgorICAgICAgVGhlIHByb3Bvc2FsIHRvIGVuaGFuY2UgdGhlIEFQSSBhbmQgc3ludGF4IG9mIGdlbmVyYXRvcnMsIG1ha2luZyB0aGVtCisgICAgICB1c2FibGUgYXMgc2ltcGxlIGNvcm91dGluZXMuCisKKyAgIDpwZXA6YDAzODBgIC0gU3ludGF4IGZvciBEZWxlZ2F0aW5nIHRvIGEgU3ViZ2VuZXJhdG9yCisgICAgICBUaGUgcHJvcG9zYWwgdG8gaW50cm9kdWNlIHRoZSA6dG9rZW46YHlpZWxkX2Zyb21gIHN5bnRheCwgbWFraW5nIGRlbGVnYXRpb24KKyAgICAgIHRvIHN1Yi1nZW5lcmF0b3JzIGVhc3kuCiAKIAogLi4gX3JhaXNlOgpkaWZmIC0tZ2l0IGEvRG9jL3Rvb2xzL3NwaGlueGV4dC9pbmRleGNvbnRlbnQuaHRtbCBiL0RvYy90b29scy9zcGhpbnhleHQvaW5kZXhjb250ZW50Lmh0bWwKaW5kZXggN2Y4NTQ3MC4uYWJlMTdmMyAxMDA2NDQKLS0tIGEvRG9jL3Rvb2xzL3NwaGlueGV4dC9pbmRleGNvbnRlbnQuaHRtbAorKysgYi9Eb2MvdG9vbHMvc3BoaW54ZXh0L2luZGV4Y29udGVudC5odG1sCkBAIC0yMCwxMCArMjAsMTAgQEAKICAgICAgICAgIDxzcGFuIGNsYXNzPSJsaW5rZGVzY3IiPnR1dG9yaWFsIGZvciBDL0MrKyBwcm9ncmFtbWVyczwvc3Bhbj48L3A+CiAgICAgICA8cCBjbGFzcz0iYmlnbGluayI+PGEgY2xhc3M9ImJpZ2xpbmsiIGhyZWY9Int7IHBhdGh0bygiYy1hcGkvaW5kZXgiKSB9fSI+UHl0aG9uL0MgQVBJPC9hPjxici8+CiAgICAgICAgICA8c3BhbiBjbGFzcz0ibGlua2Rlc2NyIj5yZWZlcmVuY2UgZm9yIEMvQysrIHByb2dyYW1tZXJzPC9zcGFuPjwvcD4KLSAgICAgIDxwIGNsYXNzPSJiaWdsaW5rIj48YSBjbGFzcz0iYmlnbGluayIgaHJlZj0ie3sgcGF0aHRvKCJpbnN0YWxsL2luZGV4IikgfX0iPkluc3RhbGxpbmcgUHl0aG9uIE1vZHVsZXM8L2E+PGJyLz4KLSAgICAgICAgIDxzcGFuIGNsYXNzPSJsaW5rZGVzY3IiPmluZm9ybWF0aW9uIGZvciBpbnN0YWxsZXJzICZhbXA7IHN5cy1hZG1pbnM8L3NwYW4+PC9wPgotICAgICAgPHAgY2xhc3M9ImJpZ2xpbmsiPjxhIGNsYXNzPSJiaWdsaW5rIiBocmVmPSJ7eyBwYXRodG8oImRpc3R1dGlscy9pbmRleCIpIH19Ij5EaXN0cmlidXRpbmcgUHl0aG9uIE1vZHVsZXM8L2E+PGJyLz4KLSAgICAgICAgIDxzcGFuIGNsYXNzPSJsaW5rZGVzY3IiPnNoYXJpbmcgbW9kdWxlcyB3aXRoIG90aGVyczwvc3Bhbj48L3A+CisgICAgICA8cCBjbGFzcz0iYmlnbGluayI+PGEgY2xhc3M9ImJpZ2xpbmsiIGhyZWY9Int7IHBhdGh0bygiaW5zdGFsbC9pbmRleCIpIH19Ij5JbnN0YWxsaW5nIFB5dGhvbiBQcm9qZWN0czwvYT48YnIvPgorICAgICAgICAgPHNwYW4gY2xhc3M9ImxpbmtkZXNjciI+ZmluZGluZyBhbmQgaW5zdGFsbGluZyBtb2R1bGVzIGFuZCBhcHBsaWNhdGlvbnM8L3NwYW4+PC9wPgorICAgICAgPHAgY2xhc3M9ImJpZ2xpbmsiPjxhIGNsYXNzPSJiaWdsaW5rIiBocmVmPSJ7eyBwYXRodG8oInBhY2thZ2luZy9pbmRleCIpIH19Ij5EaXN0cmlidXRpbmcgUHl0aG9uIFByb2plY3RzPC9hPjxici8+CisgICAgICAgICA8c3BhbiBjbGFzcz0ibGlua2Rlc2NyIj5wYWNrYWdpbmcgYW5kIGRpc3RyaWJ1dGluZyBtb2R1bGVzIGFuZCBhcHBsaWNhdGlvbnM8L3NwYW4+PC9wPgogICAgICAgPHAgY2xhc3M9ImJpZ2xpbmsiPjxhIGNsYXNzPSJiaWdsaW5rIiBocmVmPSJ7eyBwYXRodG8oImZhcS9pbmRleCIpIH19Ij5GQVFzPC9hPjxici8+CiAgICAgICAgICA8c3BhbiBjbGFzcz0ibGlua2Rlc2NyIj5mcmVxdWVudGx5IGFza2VkIHF1ZXN0aW9ucyAod2l0aCBhbnN3ZXJzISk8L3NwYW4+PC9wPgogICAgIDwvdGQ+PC90cj4KZGlmZiAtLWdpdCBhL0RvYy90b29scy9zcGhpbnhleHQvaW5kZXhzaWRlYmFyLmh0bWwgYi9Eb2MvdG9vbHMvc3BoaW54ZXh0L2luZGV4c2lkZWJhci5odG1sCmluZGV4IDY3MjQ5MmUuLjNhZDI0ZjkgMTAwNjQ0Ci0tLSBhL0RvYy90b29scy9zcGhpbnhleHQvaW5kZXhzaWRlYmFyLmh0bWwKKysrIGIvRG9jL3Rvb2xzL3NwaGlueGV4dC9pbmRleHNpZGViYXIuaHRtbApAQCAtMyw3ICszLDcgQEAKIAkgICAgPGgzPkRvY3MgZm9yIG90aGVyIHZlcnNpb25zPC9oMz4KIAkgICAgPHVsPgogCSAgICAgIDxsaT48YSBocmVmPSJodHRwOi8vZG9jcy5weXRob24ub3JnLzIuNy8iPlB5dGhvbiAyLjcgKHN0YWJsZSk8L2E+PC9saT4KLQkgICAgICA8bGk+PGEgaHJlZj0iaHR0cDovL2RvY3MucHl0aG9uLm9yZy8zLjEvIj5QeXRob24gMy4xIChzdGFibGUpPC9hPjwvbGk+CisJICAgICAgPGxpPjxhIGhyZWY9Imh0dHA6Ly9kb2NzLnB5dGhvbi5vcmcvMy4yLyI+UHl0aG9uIDMuMiAoc3RhYmxlKTwvYT48L2xpPgogICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5weXRob24ub3JnL2RvYy92ZXJzaW9ucy8iPk9sZCB2ZXJzaW9uczwvYT48L2xpPgogICAgICAgICAgICAgPC91bD4KIApkaWZmIC0tZ2l0IGEvRG9jL3Rvb2xzL3NwaGlueGV4dC9weXNwZWNpZmljLnB5IGIvRG9jL3Rvb2xzL3NwaGlueGV4dC9weXNwZWNpZmljLnB5CmluZGV4IDQzMjkyODEuLmYzNTk1MzAgMTAwNjQ0Ci0tLSBhL0RvYy90b29scy9zcGhpbnhleHQvcHlzcGVjaWZpYy5weQorKysgYi9Eb2MvdG9vbHMvc3BoaW54ZXh0L3B5c3BlY2lmaWMucHkKQEAgLTUsMTIgKzUsMTIgQEAKIAogICAgIFNwaGlueCBleHRlbnNpb24gd2l0aCBQeXRob24gZG9jLXNwZWNpZmljIG1hcmt1cC4KIAotICAgIDpjb3B5cmlnaHQ6IDIwMDgsIDIwMDksIDIwMTAgYnkgR2VvcmcgQnJhbmRsLgorICAgIDpjb3B5cmlnaHQ6IDIwMDgsIDIwMDksIDIwMTAsIDIwMTEsIDIwMTIgYnkgR2VvcmcgQnJhbmRsLgogICAgIDpsaWNlbnNlOiBQeXRob24gbGljZW5zZS4KICIiIgogCiBJU1NVRV9VUkkgPSAnaHR0cDovL2J1Z3MucHl0aG9uLm9yZy9pc3N1ZSVzJwotU09VUkNFX1VSSSA9ICdodHRwOi8vaGcucHl0aG9uLm9yZy9jcHl0aG9uL2ZpbGUvMy4yLyVzJworU09VUkNFX1VSSSA9ICdodHRwOi8vaGcucHl0aG9uLm9yZy9jcHl0aG9uL2ZpbGUvZGVmYXVsdC8lcycKIAogZnJvbSBkb2N1dGlscyBpbXBvcnQgbm9kZXMsIHV0aWxzCiBmcm9tIHNwaGlueC51dGlsLm5vZGVzIGltcG9ydCBzcGxpdF9leHBsaWNpdF90aXRsZQpAQCAtMjAxLDExICsyMDEsMTIgQEAKICAgICAgICAgICAgIGRvY3VtZW50LmFwcGVuZChkb2N0cmVlLmlkc1tsYWJlbGlkXSkKICAgICAgICAgICAgIGRlc3RpbmF0aW9uID0gU3RyaW5nT3V0cHV0KGVuY29kaW5nPSd1dGYtOCcpCiAgICAgICAgICAgICB3cml0ZXIud3JpdGUoZG9jdW1lbnQsIGRlc3RpbmF0aW9uKQotICAgICAgICAgICAgc2VsZi50b3BpY3NbbGFiZWxdID0gc3RyKHdyaXRlci5vdXRwdXQpCisgICAgICAgICAgICBzZWxmLnRvcGljc1tsYWJlbF0gPSB3cml0ZXIub3V0cHV0LmVuY29kZSgndXRmLTgnKQogCiAgICAgZGVmIGZpbmlzaChzZWxmKToKICAgICAgICAgZiA9IG9wZW4ocGF0aC5qb2luKHNlbGYub3V0ZGlyLCAndG9waWNzLnB5JyksICd3JykKICAgICAgICAgdHJ5OgorICAgICAgICAgICAgZi53cml0ZSgnIyAtKi0gY29kaW5nOiB1dGYtOCAtKi1cbicpCiAgICAgICAgICAgICBmLndyaXRlKCcjIEF1dG9nZW5lcmF0ZWQgYnkgU3BoaW54IG9uICVzXG4nICUgYXNjdGltZSgpKQogICAgICAgICAgICAgZi53cml0ZSgndG9waWNzID0gJyArIHBmb3JtYXQoc2VsZi50b3BpY3MpICsgJ1xuJykKICAgICAgICAgZmluYWxseToKZGlmZiAtLWdpdCBhL0RvYy90b29scy9zcGhpbnhleHQvc3VzcC1pZ25vcmVkLmNzdiBiL0RvYy90b29scy9zcGhpbnhleHQvc3VzcC1pZ25vcmVkLmNzdgppbmRleCA1MDc2YWVkLi5hM2Q4ZDBiIDEwMDY0NAotLS0gYS9Eb2MvdG9vbHMvc3BoaW54ZXh0L3N1c3AtaWdub3JlZC5jc3YKKysrIGIvRG9jL3Rvb2xzL3NwaGlueGV4dC9zdXNwLWlnbm9yZWQuY3N2CkBAIC0xLDE2ICsxLDI0IEBACiBjLWFwaS9hcmcsLDpyZWYsIlB5QXJnX1BhcnNlVHVwbGUoYXJncywgIiJPfE86cmVmIiIsICZvYmplY3QsICZjYWxsYmFjaykiCiBjLWFwaS9saXN0LCw6aGlnaCxsaXN0W2xvdzpoaWdoXQogYy1hcGkvbGlzdCwsOmhpZ2gsbGlzdFtsb3c6aGlnaF0gPSBpdGVtbGlzdAorYy1hcGkvc2VxdWVuY2UsLDppMixkZWwgb1tpMTppMl0KIGMtYXBpL3NlcXVlbmNlLCw6aTIsb1tpMTppMl0KIGMtYXBpL3NlcXVlbmNlLCw6aTIsb1tpMTppMl0gPSB2Ci1jLWFwaS9zZXF1ZW5jZSwsOmkyLGRlbCBvW2kxOmkyXQogYy1hcGkvdW5pY29kZSwsOmVuZCxzdHJbc3RhcnQ6ZW5kXQorYy1hcGkvdW5pY29kZSwsOnN0YXJ0LHVuaWNvZGVbc3RhcnQ6c3RhcnQrbGVuZ3RoXQorZGlzdHV0aWxzL2V4YW1wbGVzLDI2NyxgLFRoaXMgaXMgdGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBgYGZvb2JhcmBgIHBhY2thZ2UuCiBkaXN0dXRpbHMvc2V0dXBzY3JpcHQsLDo6LAogZXh0ZW5kaW5nL2VtYmVkZGluZywsOm51bWFyZ3MsImlmKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICIiOm51bWFyZ3MiIikpIgotZXh0ZW5kaW5nL2V4dGVuZGluZywsOnNldCwiaWYgKFB5QXJnX1BhcnNlVHVwbGUoYXJncywgIiJPOnNldF9jYWxsYmFjayIiLCAmdGVtcCkpIHsiCiBleHRlbmRpbmcvZXh0ZW5kaW5nLCw6bXlmdW5jdGlvbiwiUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiIkQ6bXlmdW5jdGlvbiIiLCAmYyk7IgorZXh0ZW5kaW5nL2V4dGVuZGluZywsOnNldCwiaWYgKFB5QXJnX1BhcnNlVHVwbGUoYXJncywgIiJPOnNldF9jYWxsYmFjayIiLCAmdGVtcCkpIHsiCiBleHRlbmRpbmcvbmV3dHlwZXMsLDpjYWxsLCJpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIiJzc3M6Y2FsbCIiLCAmYXJnMSwgJmFyZzIsICZhcmczKSkgeyIKIGV4dGVuZGluZy93aW5kb3dzLCw6aW5pdHNwYW0sL2V4cG9ydDppbml0c3BhbQorZmFxL3Byb2dyYW1taW5nLCw6Y2hyLCI+PTQuMCkgb3IgMStmKHhjLHljLHgqeC15KnkreGMsMi4wKngqeSt5YyxrLTEsZik6Zih4Yyx5Yyx4LHksayxmKTpjaHIoIgorZmFxL3Byb2dyYW1taW5nLCw6Oixmb3IgeCBpbiBzZXF1ZW5jZVs6Oi0xXToKK2ZhcS9wcm9ncmFtbWluZywsOnJlZHVjZSwicHJpbnQoKGxhbWJkYSBSdSxSbyxJdSxJbyxJTSxTeCxTeTpyZWR1Y2UobGFtYmRhIHgseTp4K3ksbWFwKGxhbWJkYSB5LCIKK2ZhcS9wcm9ncmFtbWluZywsOnJlZHVjZSwiU3g9U3gsU3k9U3k6cmVkdWNlKGxhbWJkYSB4LHk6eCt5LG1hcChsYW1iZGEgeCx4Yz1SdSx5Yz15YyxSdT1SdSxSbz1SbywiCitmYXEvd2luZG93cywyMjksOkVPRixAc2V0bG9jYWwgZW5hYmxlZXh0ZW5zaW9ucyAmIHB5dGhvbiAteCAlfmYwICUqICYgZ290byA6RU9GCitmYXEvd2luZG93cywzOTMsOlJFRywucHkgOlJFR19TWjogYzpcPHBhdGggdG8gcHl0aG9uPlxweXRob24uZXhlIC11ICVzICVzCiBob3d0by9jcG9ydGluZywsOmFkZCwiaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICIiaWk6YWRkX2ludHMiIiwgJm9uZSwgJnR3bykpIgogaG93dG8vY3BvcnRpbmcsLDplbmNvZGUsImlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiIk86ZW5jb2RlX29iamVjdCIiLCAmbXlvYmopKSIKIGhvd3RvL2Nwb3J0aW5nLCw6c2F5LCJpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIiJVOnNheV9oZWxsbyIiLCAmbmFtZSkpIgpAQCAtMjIsMTkgKzMwLDUzIEBACiBob3d0by9jdXJzZXMsLDpyZWQsIlRoZXkgYXJlOiAwOmJsYWNrLCAxOnJlZCwgMjpncmVlbiwgMzp5ZWxsb3csIDQ6Ymx1ZSwgNTptYWdlbnRhLCA2OmN5YW4sIGFuZCIKIGhvd3RvL2N1cnNlcywsOndoaXRlLCI3OndoaXRlLiIKIGhvd3RvL2N1cnNlcywsOnllbGxvdywiVGhleSBhcmU6IDA6YmxhY2ssIDE6cmVkLCAyOmdyZWVuLCAzOnllbGxvdywgNDpibHVlLCA1Om1hZ2VudGEsIDY6Y3lhbiwgYW5kIgoraG93dG8vbG9nZ2luZywsOkFuZCwiV0FSTklORzpBbmQgdGhpcywgdG9vIgoraG93dG8vbG9nZ2luZywsOkFuZCwiV0FSTklORzpyb290OkFuZCB0aGlzLCB0b28iCitob3d0by9sb2dnaW5nLCw6RG9pbmcsSU5GTzpyb290OkRvaW5nIHNvbWV0aGluZworaG93dG8vbG9nZ2luZywsOkZpbmlzaGVkLElORk86cm9vdDpGaW5pc2hlZAoraG93dG8vbG9nZ2luZywsOmxvZ2dlcixzZXZlcml0eTpsb2dnZXIgbmFtZTptZXNzYWdlCitob3d0by9sb2dnaW5nLCw6TG9vayxXQVJOSU5HOnJvb3Q6TG9vayBiZWZvcmUgeW91IGxlYXAhCitob3d0by9sb2dnaW5nLCw6bWVzc2FnZSxzZXZlcml0eTpsb2dnZXIgbmFtZTptZXNzYWdlCitob3d0by9sb2dnaW5nLCw6cm9vdCxERUJVRzpyb290OlRoaXMgbWVzc2FnZSBzaG91bGQgZ28gdG8gdGhlIGxvZyBmaWxlCitob3d0by9sb2dnaW5nLCw6cm9vdCxJTkZPOnJvb3Q6RG9pbmcgc29tZXRoaW5nCitob3d0by9sb2dnaW5nLCw6cm9vdCxJTkZPOnJvb3Q6RmluaXNoZWQKK2hvd3RvL2xvZ2dpbmcsLDpyb290LElORk86cm9vdDpTbyBzaG91bGQgdGhpcworaG93dG8vbG9nZ2luZywsOnJvb3QsSU5GTzpyb290OlN0YXJ0ZWQKK2hvd3RvL2xvZ2dpbmcsLDpyb290LCJXQVJOSU5HOnJvb3Q6QW5kIHRoaXMsIHRvbyIKK2hvd3RvL2xvZ2dpbmcsLDpyb290LFdBUk5JTkc6cm9vdDpMb29rIGJlZm9yZSB5b3UgbGVhcCEKK2hvd3RvL2xvZ2dpbmcsLDpyb290LFdBUk5JTkc6cm9vdDpXYXRjaCBvdXQhCitob3d0by9sb2dnaW5nLCw6U28sSU5GTzpyb290OlNvIHNob3VsZCB0aGlzCitob3d0by9sb2dnaW5nLCw6U28sSU5GTzpTbyBzaG91bGQgdGhpcworaG93dG8vbG9nZ2luZywsOlN0YXJ0ZWQsSU5GTzpyb290OlN0YXJ0ZWQKK2hvd3RvL2xvZ2dpbmcsLDpUaGlzLERFQlVHOnJvb3Q6VGhpcyBtZXNzYWdlIHNob3VsZCBnbyB0byB0aGUgbG9nIGZpbGUKK2hvd3RvL2xvZ2dpbmcsLDpUaGlzLERFQlVHOlRoaXMgbWVzc2FnZSBzaG91bGQgYXBwZWFyIG9uIHRoZSBjb25zb2xlCitob3d0by9sb2dnaW5nLCw6V2F0Y2gsV0FSTklORzpyb290OldhdGNoIG91dCEKK2hvd3RvL3B5cG9ydGluZyw3NSw6OiwjIG1ha2Ugc3VyZSB0byB1c2UgOjogUHl0aG9uICphbmQqIDo6IFB5dGhvbiA6OiAzIHNvCitob3d0by9weXBvcnRpbmcsNzUsOjosIidQcm9ncmFtbWluZyBMYW5ndWFnZSA6OiBQeXRob24nLCIKK2hvd3RvL3B5cG9ydGluZyw3NSw6OiwnUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogUHl0aG9uIDo6IDMnCiBob3d0by9yZWdleCwsOjosCiBob3d0by9yZWdleCwsOmZvbywoPzpmb28pCiBob3d0by91cmxsaWIyLCw6ZXhhbXBsZSwiZm9yIGV4YW1wbGUgIiJqb2VAcGFzc3dvcmQ6ZXhhbXBsZS5jb20iIiIKIGhvd3RvL3dlYnNlcnZlcnMsLC4uIGltYWdlOiwuLiBpbWFnZTo6IGh0dHAucG5nCiBsaWJyYXJ5L2F1ZGlvb3AsLDppcG9zLCIjIGZhY3RvciA9IGF1ZGlvb3AuZmluZGZhY3Rvcihpbl90ZXN0W2lwb3MqMjppcG9zKjIrbGVuKG91dF90ZXN0KV0sIgorbGlicmFyeS9iaXNlY3QsMzIsOmhpLGFsbCh2YWwgPj0geCBmb3IgdmFsIGluIGFbaTpoaV0pCitsaWJyYXJ5L2Jpc2VjdCw0Miw6aGksYWxsKHZhbCA+IHggZm9yIHZhbCBpbiBhW2k6aGldKQorbGlicmFyeS9jb25maWdwYXJzZXIsLDpob21lLG15X2RpcjogJHtDb21tb246aG9tZV9kaXJ9L3R3b3NoZWRzCitsaWJyYXJ5L2NvbmZpZ3BhcnNlciwsOm9wdGlvbiwke3NlY3Rpb246b3B0aW9ufQorbGlicmFyeS9jb25maWdwYXJzZXIsLDpwYXRoLHB5dGhvbl9kaXI6ICR7RnJhbWV3b3JrczpwYXRofS9QeXRob24vVmVyc2lvbnMvJHtGcmFtZXdvcmtzOlB5dGhvbn0KK2xpYnJhcnkvY29uZmlncGFyc2VyLCw6UHl0aG9uLHB5dGhvbl9kaXI6ICR7RnJhbWV3b3JrczpwYXRofS9QeXRob24vVmVyc2lvbnMvJHtGcmFtZXdvcmtzOlB5dGhvbn0KK2xpYnJhcnkvY29uZmlncGFyc2VyLCxgLCMgU2V0IHRoZSBvcHRpb25hbCBgcmF3YCBhcmd1bWVudCBvZiBnZXQoKSB0byBUcnVlIGlmIHlvdSB3aXNoIHRvIGRpc2FibGUKK2xpYnJhcnkvY29uZmlncGFyc2VyLCw6c3lzdGVtLHBhdGg6ICR7Q29tbW9uOnN5c3RlbV9kaXJ9L0xpYnJhcnkvRnJhbWV3b3Jrcy8KK2xpYnJhcnkvY29uZmlncGFyc2VyLCxgLCMgVGhlIG9wdGlvbmFsIGBmYWxsYmFja2AgYXJndW1lbnQgY2FuIGJlIHVzZWQgdG8gcHJvdmlkZSBhIGZhbGxiYWNrIHZhbHVlCitsaWJyYXJ5L2NvbmZpZ3BhcnNlciwsYCwjIFRoZSBvcHRpb25hbCBgdmFyc2AgYXJndW1lbnQgaXMgYSBkaWN0IHdpdGggbWVtYmVycyB0aGF0IHdpbGwgdGFrZQogbGlicmFyeS9kYXRldGltZSwsOk1NLAogbGlicmFyeS9kYXRldGltZSwsOlNTLAogbGlicmFyeS9kZWNpbWFsLCw6b3B0aW9uYWwsInRyYWlsbmVnOm9wdGlvbmFsIHRyYWlsaW5nIG1pbnVzIGluZGljYXRvciIKIGxpYnJhcnkvZGlmZmxpYiwsOmFoaSxhW2FsbzphaGldCiBsaWJyYXJ5L2RpZmZsaWIsLDpiaGksYltibG86YmhpXQorbGlicmFyeS9kaWZmbGliLCw6aTEsCiBsaWJyYXJ5L2RpZmZsaWIsLDppMiwKIGxpYnJhcnkvZGlmZmxpYiwsOmoyLAotbGlicmFyeS9kaWZmbGliLCw6aTEsCiBsaWJyYXJ5L2RpcywsOlRPUywKIGxpYnJhcnkvZGlzLCxgLFRPUyA9IGBUT1NgCiBsaWJyYXJ5L2RvY3Rlc3QsLGAsYGBmYWN0b3JpYWxgYCBmcm9tIHRoZSBgYGV4YW1wbGVgYCBtb2R1bGU6CkBAIC00NCw5NiArODYsMTY0IEBACiBsaWJyYXJ5L2Z1bmN0aW9ucywsOnN0b3AsImFbc3RhcnQ6c3RvcCwgaV0iCiBsaWJyYXJ5L2Z1bmN0aW9ucywsOnN0b3AsYVtzdGFydDpzdG9wOnN0ZXBdCiBsaWJyYXJ5L2hvdHNob3QsLDpsaW5lbm8sIm5jYWxscyAgdG90dGltZSAgcGVyY2FsbCAgY3VtdGltZSAgcGVyY2FsbCBmaWxlbmFtZTpsaW5lbm8oZnVuY3Rpb24pIgorbGlicmFyeS9odHRwLmNsaWVudCw1Miw6cG9ydCxob3N0OnBvcnQKIGxpYnJhcnkvaHR0cGxpYiwsOnBvcnQsaG9zdDpwb3J0Ci1saWJyYXJ5L2ltYXBsaWIsLDpNTSwiIiJERC1NbW0tWVlZWSBISDpNTTpTUyArSEhNTSIiIgotbGlicmFyeS9pbWFwbGliLCw6U1MsIiIiREQtTW1tLVlZWVkgSEg6TU06U1MgK0hITU0iIiIKLWxpYnJhcnkvaXRlcnRvb2xzLCw6c3RvcCxlbGVtZW50cyBmcm9tIHNlcVtzdGFydDpzdG9wOnN0ZXBdCitsaWJyYXJ5L2ltYXBsaWIsLDpNTSwiIiJERC1NbW0tWVlZWSBISDpNTTpTUyIKK2xpYnJhcnkvaW1hcGxpYiwsOlNTLCIiIkRELU1tbS1ZWVlZIEhIOk1NOlNTIgogbGlicmFyeS9pdGVydG9vbHMsLDpzdGVwLGVsZW1lbnRzIGZyb20gc2VxW3N0YXJ0OnN0b3A6c3RlcF0KK2xpYnJhcnkvaXRlcnRvb2xzLCw6c3RvcCxlbGVtZW50cyBmcm9tIHNlcVtzdGFydDpzdG9wOnN0ZXBdCiBsaWJyYXJ5L2xpbmVjYWNoZSwsOnN5cywic3lzOng6MzozOnN5czovZGV2Oi9iaW4vc2giCiBsaWJyYXJ5L2xvZ2dpbmcsLDpBbmQsCitsaWJyYXJ5L2xvZ2dpbmcsLDpEb2luZyxJTkZPOnJvb3Q6RG9pbmcgc29tZXRoaW5nCitsaWJyYXJ5L2xvZ2dpbmcsLDpGaW5pc2hlZCxJTkZPOnJvb3Q6RmluaXNoZWQKK2xpYnJhcnkvbG9nZ2luZywsOmxvZ2dlcixzZXZlcml0eTpsb2dnZXIgbmFtZTptZXNzYWdlCitsaWJyYXJ5L2xvZ2dpbmcsLDpMb29rLFdBUk5JTkc6cm9vdDpMb29rIGJlZm9yZSB5b3UgbGVhcCEKK2xpYnJhcnkvbG9nZ2luZywsOm1lc3NhZ2Usc2V2ZXJpdHk6bG9nZ2VyIG5hbWU6bWVzc2FnZQogbGlicmFyeS9sb2dnaW5nLCw6cGFja2FnZTEsCiBsaWJyYXJ5L2xvZ2dpbmcsLDpwYWNrYWdlMiwKLWxpYnJhcnkvbG9nZ2luZywsOnJvb3QsCi1saWJyYXJ5L2xvZ2dpbmcsLDpUaGlzLAogbGlicmFyeS9sb2dnaW5nLCw6cG9ydCxob3N0OnBvcnQKK2xpYnJhcnkvbG9nZ2luZywsOnJvb3QsCitsaWJyYXJ5L2xvZ2dpbmcsLDpTbyxJTkZPOnJvb3Q6U28gc2hvdWxkIHRoaXMKK2xpYnJhcnkvbG9nZ2luZywsOlNvLElORk86U28gc2hvdWxkIHRoaXMKK2xpYnJhcnkvbG9nZ2luZywsOlN0YXJ0ZWQsSU5GTzpyb290OlN0YXJ0ZWQKK2xpYnJhcnkvbG9nZ2luZywsOlRoaXMsCitsaWJyYXJ5L2xvZ2dpbmcsLDpXYXRjaCxXQVJOSU5HOnJvb3Q6V2F0Y2ggb3V0IQorbGlicmFyeS9sb2dnaW5nLmhhbmRsZXJzLCw6cG9ydCxob3N0OnBvcnQKIGxpYnJhcnkvbW1hcCwsOmkyLG9ialtpMTppMl0KLWxpYnJhcnkvbXVsdGlwcm9jZXNzaW5nLCw6cXVldWUsIj4+PiBRdWV1ZU1hbmFnZXIucmVnaXN0ZXIoJ2dldF9xdWV1ZScsIGNhbGxhYmxlPWxhbWJkYTpxdWV1ZSkiCi1saWJyYXJ5L211bHRpcHJvY2Vzc2luZywsYCwiPj4+IGwuX2NhbGxtZXRob2QoJ19fZ2V0aXRlbV9fJywgKDIwLCkpICAgICAjIGVxdWl2IHRvIGBsWzIwXWAiCi1saWJyYXJ5L211bHRpcHJvY2Vzc2luZywsYCwiPj4+IGwuX2NhbGxtZXRob2QoJ19fZ2V0c2xpY2VfXycsICgyLCA3KSkgICAjIGVxdWl2IHRvIGBsWzI6N11gIgotbGlicmFyeS9tdWx0aXByb2Nlc3NpbmcsLGAsIyBgQmFzZU1hbmFnZXJgLgotbGlicmFyeS9tdWx0aXByb2Nlc3NpbmcsLGAsIyBgUG9vbC5pbWFwKClgICh3aGljaCB3aWxsIHNhdmUgb24gdGhlIGFtb3VudCBvZiBjb2RlIG5lZWRlZCBhbnl3YXkpLgorbGlicmFyeS9tdWx0aXByb2Nlc3NpbmcsLGAsIyBBZGQgbW9yZSB0YXNrcyB1c2luZyBgcHV0KClgCiBsaWJyYXJ5L211bHRpcHJvY2Vzc2luZywsYCwjIEEgdGVzdCBmaWxlIGZvciB0aGUgYG11bHRpcHJvY2Vzc2luZ2AgcGFja2FnZQogbGlicmFyeS9tdWx0aXByb2Nlc3NpbmcsLGAsIyBBIHRlc3Qgb2YgYG11bHRpcHJvY2Vzc2luZy5Qb29sYCBjbGFzcwotbGlicmFyeS9tdWx0aXByb2Nlc3NpbmcsLGAsIyBBZGQgbW9yZSB0YXNrcyB1c2luZyBgcHV0KClgCitsaWJyYXJ5L211bHRpcHJvY2Vzc2luZywsYCwjIGBCYXNlTWFuYWdlcmAuCitsaWJyYXJ5L211bHRpcHJvY2Vzc2luZywsYCxgQ2x1c3RlcmAgaXMgYSBzdWJjbGFzcyBvZiBgU3luY01hbmFnZXJgIHNvIGl0IGFsbG93cyBjcmVhdGlvbiBvZgogbGlicmFyeS9tdWx0aXByb2Nlc3NpbmcsLGAsIyBjcmVhdGUgc2VydmVyIGZvciBhIGBIb3N0TWFuYWdlcmAgb2JqZWN0CiBsaWJyYXJ5L211bHRpcHJvY2Vzc2luZywsYCwjIERlcGVuZHMgb24gYG11bHRpcHJvY2Vzc2luZ2AgcGFja2FnZSAtLSB0ZXN0ZWQgd2l0aCBgcHJvY2Vzc2luZy0wLjYwYAorbGlicmFyeS9tdWx0aXByb2Nlc3NpbmcsLGAsYGhvc3RuYW1lYCBnaXZlcyB0aGUgbmFtZSBvZiB0aGUgaG9zdC4gIElmIGhvc3RuYW1lIGlzIG5vdAogbGlicmFyeS9tdWx0aXByb2Nlc3NpbmcsLGAsIyBpbiB0aGUgb3JpZ2luYWwgb3JkZXIgdGhlbiBjb25zaWRlciB1c2luZyBgUG9vbC5tYXAoKWAgb3IKK2xpYnJhcnkvbXVsdGlwcm9jZXNzaW5nLCxgLCI+Pj4gbC5fY2FsbG1ldGhvZCgnX19nZXRpdGVtX18nLCAoMjAsKSkgICAgICMgZXF1aXYgdG8gYGxbMjBdYCIKK2xpYnJhcnkvbXVsdGlwcm9jZXNzaW5nLCxgLCI+Pj4gbC5fY2FsbG1ldGhvZCgnX19nZXRzbGljZV9fJywgKDIsIDcpKSAgICMgZXF1aXYgdG8gYGxbMjo3XWAiCiBsaWJyYXJ5L211bHRpcHJvY2Vzc2luZywsYCwjIE5vdCBzdXJlIGlmIHdlIHNob3VsZCBzeW5jaHJvbml6ZSBhY2Nlc3MgdG8gYHNvY2tldC5hY2NlcHQoKWAgbWV0aG9kIGJ5CiBsaWJyYXJ5L211bHRpcHJvY2Vzc2luZywsYCwjIG9iamVjdC4gIChXZSBpbXBvcnQgYG11bHRpcHJvY2Vzc2luZy5yZWR1Y3Rpb25gIHRvIGVuYWJsZSB0aGlzIHBpY2tsaW5nLikKK2xpYnJhcnkvbXVsdGlwcm9jZXNzaW5nLCxgLCMgYFBvb2wuaW1hcCgpYCAod2hpY2ggd2lsbCBzYXZlIG9uIHRoZSBhbW91bnQgb2YgY29kZSBuZWVkZWQgYW55d2F5KS4KK2xpYnJhcnkvbXVsdGlwcm9jZXNzaW5nLCw6cXVldWUsIj4+PiBRdWV1ZU1hbmFnZXIucmVnaXN0ZXIoJ2dldF9xdWV1ZScsIGNhbGxhYmxlPWxhbWJkYTpxdWV1ZSkiCiBsaWJyYXJ5L211bHRpcHJvY2Vzc2luZywsYCwjIHJlZ2lzdGVyIHRoZSBGb28gY2xhc3M7IG1ha2UgYGYoKWAgYW5kIGBnKClgIGFjY2Vzc2libGUgdmlhIHByb3h5CiBsaWJyYXJ5L211bHRpcHJvY2Vzc2luZywsYCwjIHJlZ2lzdGVyIHRoZSBGb28gY2xhc3M7IG1ha2UgYGcoKWAgYW5kIGBfaCgpYCBhY2Nlc3NpYmxlIHZpYSBwcm94eQogbGlicmFyeS9tdWx0aXByb2Nlc3NpbmcsLGAsIyByZWdpc3RlciB0aGUgZ2VuZXJhdG9yIGZ1bmN0aW9uIGJhejsgdXNlIGBHZW5lcmF0b3JQcm94eWAgdG8gbWFrZSBwcm94aWVzCi1saWJyYXJ5L211bHRpcHJvY2Vzc2luZywsYCxgQ2x1c3RlcmAgaXMgYSBzdWJjbGFzcyBvZiBgU3luY01hbmFnZXJgIHNvIGl0IGFsbG93cyBjcmVhdGlvbiBvZgotbGlicmFyeS9tdWx0aXByb2Nlc3NpbmcsLGAsYGhvc3RuYW1lYCBnaXZlcyB0aGUgbmFtZSBvZiB0aGUgaG9zdC4gIElmIGhvc3RuYW1lIGlzIG5vdAogbGlicmFyeS9tdWx0aXByb2Nlc3NpbmcsLGAsYHNsb3RzYCBpcyB1c2VkIHRvIHNwZWNpZnkgdGhlIG51bWJlciBvZiBzbG90cyBmb3IgcHJvY2Vzc2VzIG9uCitsaWJyYXJ5L25udHBsaWIsLDpieXRlcyw6Ynl0ZXMKK2xpYnJhcnkvbm50cGxpYiwsOmJ5dGVzLCJbJ3hyZWYnLCAnZnJvbScsICc6bGluZXMnLCAnOmJ5dGVzJywgJ3JlZmVyZW5jZXMnLCAnZGF0ZScsICdtZXNzYWdlLWlkJywgJ3N1YmplY3QnXSIKK2xpYnJhcnkvbm50cGxpYiwsOmxpbmVzLDpsaW5lcworbGlicmFyeS9ubnRwbGliLCw6bGluZXMsIlsneHJlZicsICdmcm9tJywgJzpsaW5lcycsICc6Ynl0ZXMnLCAncmVmZXJlbmNlcycsICdkYXRlJywgJ21lc3NhZ2UtaWQnLCAnc3ViamVjdCddIgogbGlicmFyeS9vcHRwYXJzZSwsOmxlbiwiZGVsIHBhcnNlci5yYXJnc1s6bGVuKHZhbHVlKV0iCiBsaWJyYXJ5L29zLnBhdGgsLDpmb28sYzpmb28KIGxpYnJhcnkvcGFyc2VyLCxgLCIiIk1ha2UgYSBmdW5jdGlvbiB0aGF0IHJhaXNlcyBhbiBhcmd1bWVudCB0byB0aGUgZXhwb25lbnQgYGV4cGAuIiIiCitsaWJyYXJ5L3BkYiwsOmxpbmVubyxmaWxlbmFtZTpsaW5lbm8KK2xpYnJhcnkvcGRiLCw6bGluZW5vLFtmaWxlbmFtZTpsaW5lbm8gfCBicG51bWJlciBbYnBudW1iZXIgLi4uXV0KK2xpYnJhcnkvcGlja2xlLCw6bWVtb3J5LCJjb25uID0gc3FsaXRlMy5jb25uZWN0KCIiOm1lbW9yeToiIikiCiBsaWJyYXJ5L3Bvc2l4LCxgLCJDRkxBR1M9IiJgZ2V0Y29uZiBMRlNfQ0ZMQUdTYCIiIE9QVD0iIi1nIC1PMiAkQ0ZMQUdTIiIiCi1saWJyYXJ5L3Byb2ZpbGUsLDpsaW5lbm8sbmNhbGxzICB0b3R0aW1lICBwZXJjYWxsICBjdW10aW1lICBwZXJjYWxsIGZpbGVuYW1lOmxpbmVubyhmdW5jdGlvbikKK2xpYnJhcnkvcHByaW50LDIwOSw6OiwiJ2NsYXNzaWZpZXJzJzogWydEZXZlbG9wbWVudCBTdGF0dXMgOjogNCAtIEJldGEnLCIKK2xpYnJhcnkvcHByaW50LDIwOSw6OiwiJ0ludGVuZGVkIEF1ZGllbmNlIDo6IERldmVsb3BlcnMnLCIKK2xpYnJhcnkvcHByaW50LDIwOSw6OiwiJ0xpY2Vuc2UgOjogT1NJIEFwcHJvdmVkIDo6IE1JVCBMaWNlbnNlJywiCitsaWJyYXJ5L3BwcmludCwyMDksOjosIidOYXR1cmFsIExhbmd1YWdlIDo6IEVuZ2xpc2gnLCIKK2xpYnJhcnkvcHByaW50LDIwOSw6OiwiJ09wZXJhdGluZyBTeXN0ZW0gOjogT1MgSW5kZXBlbmRlbnQnLCIKK2xpYnJhcnkvcHByaW50LDIwOSw6OiwiJ1Byb2dyYW1taW5nIExhbmd1YWdlIDo6IFB5dGhvbicsIgorbGlicmFyeS9wcHJpbnQsMjA5LDo6LCInUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogUHl0aG9uIDo6IDInLCIKK2xpYnJhcnkvcHByaW50LDIwOSw6OiwiJ1Byb2dyYW1taW5nIExhbmd1YWdlIDo6IFB5dGhvbiA6OiAyLjYnLCIKK2xpYnJhcnkvcHByaW50LDIwOSw6OiwiJ1Byb2dyYW1taW5nIExhbmd1YWdlIDo6IFB5dGhvbiA6OiAyLjcnLCIKK2xpYnJhcnkvcHByaW50LDIwOSw6OiwiJ1RvcGljIDo6IFNvZnR3YXJlIERldmVsb3BtZW50IDo6IExpYnJhcmllcycsIgorbGlicmFyeS9wcHJpbnQsMjA5LDo6LCInVG9waWMgOjogU29mdHdhcmUgRGV2ZWxvcG1lbnQgOjogTGlicmFyaWVzIDo6IFB5dGhvbiBNb2R1bGVzJ10sIgogbGlicmFyeS9wcm9maWxlLCw6bGluZW5vLGZpbGVuYW1lOmxpbmVubyhmdW5jdGlvbikKK2xpYnJhcnkvcHJvZmlsZSwsOmxpbmVubyxuY2FsbHMgIHRvdHRpbWUgIHBlcmNhbGwgIGN1bXRpbWUgIHBlcmNhbGwgZmlsZW5hbWU6bGluZW5vKGZ1bmN0aW9uKQorbGlicmFyeS9wcm9maWxlLCw6bGluZW5vLCIoc29ydCBieSBmaWxlbmFtZTpsaW5lbm8pLCIKIGxpYnJhcnkvcHlleHBhdCwsOmVsZW0xLDxweTplbGVtMSAvPgogbGlicmFyeS9weWV4cGF0LCw6cHksInhtbG5zOnB5ID0gIiJodHRwOi8vd3d3LnB5dGhvbi5vcmcvbnMvIiI+IgogbGlicmFyeS9yZXByLCxgLCJyZXR1cm4gYG9iamAiCiBsaWJyYXJ5L3NtdHBsaWIsLDpwb3J0LCJhcyB3ZWxsIGFzIGEgcmVndWxhciBob3N0OnBvcnQgc2VydmVyLiIKK2xpYnJhcnkvc210cGxpYiwsOnBvcnQsbWV0aG9kIG11c3Qgc3VwcG9ydCB0aGF0IGFzIHdlbGwgYXMgYSByZWd1bGFyIGhvc3Q6cG9ydAorbGlicmFyeS9zb2NrZXQsLDo6LCIoMTAsIDEsIDYsICcnLCAoJzIwMDE6ODg4OjIwMDA6ZDo6YTInLCA4MCwgMCwgMCkpXSIKIGxpYnJhcnkvc29ja2V0LCw6OiwnNWFlZjoyYjo6OCcKLWxpYnJhcnkvc3FsaXRlMywsOm1lbW9yeSwKK2xpYnJhcnkvc29ja2V0LCw6Y2FuLCJyZXR1cm4gKGNhbl9pZCwgY2FuX2RsYywgZGF0YVs6Y2FuX2RsY10pIgorbGlicmFyeS9zb2NrZXQsLDpsZW4sZmRzLmZyb21zdHJpbmcoY21zZ19kYXRhWzpsZW4oY21zZ19kYXRhKSAtIChsZW4oY21zZ19kYXRhKSAlIGZkcy5pdGVtc2l6ZSldKQorbGlicmFyeS9zcWxpdGUzLCw6YWdlLCJjdXIuZXhlY3V0ZSgiInNlbGVjdCAqIGZyb20gcGVvcGxlIHdoZXJlIG5hbWVfbGFzdD06d2hvIGFuZCBhZ2U9OmFnZSIiLCB7IiJ3aG8iIjogd2hvLCAiImFnZSIiOiBhZ2V9KSIKIGxpYnJhcnkvc3FsaXRlMywsOmFnZSwic2VsZWN0IG5hbWVfbGFzdCwgYWdlIGZyb20gcGVvcGxlIHdoZXJlIG5hbWVfbGFzdD06d2hvIGFuZCBhZ2U9OmFnZSIKLWxpYnJhcnkvc3FsaXRlMywsOndobywic2VsZWN0IG5hbWVfbGFzdCwgYWdlIGZyb20gcGVvcGxlIHdoZXJlIG5hbWVfbGFzdD06d2hvIGFuZCBhZ2U9OmFnZSIKLWxpYnJhcnkvc3NsLCw6TXksIk9yZ2FuaXphdGlvbiBOYW1lIChlZywgY29tcGFueSkgW0ludGVybmV0IFdpZGdpdHMgUHR5IEx0ZF06TXkgT3JnYW5pemF0aW9uLCBJbmMuIgorbGlicmFyeS9zcWxpdGUzLCw6bWVtb3J5LAorbGlicmFyeS9zcWxpdGUzLCw6d2hvLCJjdXIuZXhlY3V0ZSgiInNlbGVjdCAqIGZyb20gcGVvcGxlIHdoZXJlIG5hbWVfbGFzdD06d2hvIGFuZCBhZ2U9OmFnZSIiLCB7IiJ3aG8iIjogd2hvLCAiImFnZSIiOiBhZ2V9KSIKIGxpYnJhcnkvc3NsLCw6TXksIk9yZ2FuaXphdGlvbmFsIFVuaXQgTmFtZSAoZWcsIHNlY3Rpb24pIFtdOk15IEdyb3VwIgorbGlicmFyeS9zc2wsLDpNeSwiT3JnYW5pemF0aW9uIE5hbWUgKGVnLCBjb21wYW55KSBbSW50ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkXTpNeSBPcmdhbml6YXRpb24sIEluYy4iCiBsaWJyYXJ5L3NzbCwsOm15c2VydmVyLCJDb21tb24gTmFtZSAoZWcsIFlPVVIgbmFtZSkgW106bXlzZXJ2ZXIubXlncm91cC5teW9yZ2FuaXphdGlvbi5jb20iCiBsaWJyYXJ5L3NzbCwsOk15U3RhdGUsU3RhdGUgb3IgUHJvdmluY2UgTmFtZSAoZnVsbCBuYW1lKSBbU29tZS1TdGF0ZV06TXlTdGF0ZQogbGlicmFyeS9zc2wsLDpvcHMsRW1haWwgQWRkcmVzcyBbXTpvcHNAbXlzZXJ2ZXIubXlncm91cC5teW9yZ2FuaXphdGlvbi5jb20KIGxpYnJhcnkvc3NsLCw6U29tZSwiTG9jYWxpdHkgTmFtZSAoZWcsIGNpdHkpIFtdOlNvbWUgQ2l0eSIKIGxpYnJhcnkvc3NsLCw6VVMsQ291bnRyeSBOYW1lICgyIGxldHRlciBjb2RlKSBbQVVdOlVTCitsaWJyYXJ5L3N0ZHR5cGVzLCw6Oiw+Pj4gYVs6Oi0xXS50b2xpc3QoKQorbGlicmFyeS9zdGR0eXBlcywsOjosPj4+IGFbOjoyXS50b2xpc3QoKQorbGlicmFyeS9zdGR0eXBlcywsOmVuZCxzW3N0YXJ0OmVuZF0KK2xpYnJhcnkvc3RkdHlwZXMsLDo6LD4+PiBoYXNoKHZbOjotMl0pID09IGhhc2goYidhYmNlZmcnWzo6LTJdKQogbGlicmFyeS9zdGR0eXBlcywsOmxlbixzW2xlbihzKTpsZW4ocyldCi1saWJyYXJ5L3N0ZHR5cGVzLCw6bGVuLHNbbGVuKHMpOmxlbihzKV0KK2xpYnJhcnkvc3RkdHlwZXMsLDo6LD4+PiB5ID0gbVs6OjJdCiBsaWJyYXJ5L3N0cmluZywsOmVuZCxzW3N0YXJ0OmVuZF0KLWxpYnJhcnkvc3RyaW5nLCw6ZW5kLHNbc3RhcnQ6ZW5kXQotbGlicmFyeS9zdWJwcm9jZXNzLCxgLCJvdXRwdXQ9YG15Y21kIG15YXJnYCIKIGxpYnJhcnkvc3VicHJvY2VzcywsYCwib3V0cHV0PWBkbWVzZyB8IGdyZXAgaGRhYCIKK2xpYnJhcnkvc3VicHJvY2VzcywsYCwib3V0cHV0PWBteWNtZCBteWFyZ2AiCitsaWJyYXJ5L3RhcmZpbGUsLDpiejIsCiBsaWJyYXJ5L3RhcmZpbGUsLDpjb21wcmVzc2lvbixmaWxlbW9kZVs6Y29tcHJlc3Npb25dCiBsaWJyYXJ5L3RhcmZpbGUsLDpneiwKLWxpYnJhcnkvdGFyZmlsZSwsOmJ6MiwKK2xpYnJhcnkvdGFyZmlsZSwsOnh6LCdhOnh6JworbGlicmFyeS90YXJmaWxlLCw6eHosJ3I6eHonCitsaWJyYXJ5L3RhcmZpbGUsLDp4eiwndzp4eicKIGxpYnJhcnkvdGltZSwsOm1tLAogbGlicmFyeS90aW1lLCw6c3MsCiBsaWJyYXJ5L3R1cnRsZSwsOjosRXhhbXBsZTo6Ci1saWJyYXJ5L3VybGxpYiwsOnBvcnQsOnBvcnQKIGxpYnJhcnkvdXJsbGliMiwsOnBhc3N3b3JkLCIiImpvZTpwYXNzd29yZEBweXRob24ub3JnIiIiCitsaWJyYXJ5L3VybGxpYiwsOnBvcnQsOnBvcnQKK2xpYnJhcnkvdXJsbGliLnJlcXVlc3QsLDpjbG9zZSxDb25uZWN0aW9uOmNsb3NlCitsaWJyYXJ5L3VybGxpYi5yZXF1ZXN0LCw6bGFuZywieG1sbnM9IiJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiIgeG1sOmxhbmc9IiJlbiIiIGxhbmc9IiJlbiIiPlxuXG48aGVhZD5cbiIKK2xpYnJhcnkvdXJsbGliLnJlcXVlc3QsLDpwYXNzd29yZCwiIiJqb2U6cGFzc3dvcmRAcHl0aG9uLm9yZyIiIgogbGlicmFyeS91dWlkLCw6dXVpZCx1cm46dXVpZDoxMjM0NTY3OC0xMjM0LTU2NzgtMTIzNC01Njc4MTIzNDU2NzgKLWxpYnJhcnkveG1scnBjbGliLCw6cGFzcyxodHRwOi8vdXNlcjpwYXNzQGhvc3Q6cG9ydC9wYXRoCi1saWJyYXJ5L3htbHJwY2xpYiwsOnBhc3MsdXNlcjpwYXNzCi1saWJyYXJ5L3htbHJwY2xpYiwsOnBvcnQsaHR0cDovL3VzZXI6cGFzc0Bob3N0OnBvcnQvcGF0aAorbGlicmFyeS94bWxycGMuY2xpZW50LCw6cGFzcyxodHRwOi8vdXNlcjpwYXNzQGhvc3Q6cG9ydC9wYXRoCitsaWJyYXJ5L3htbHJwYy5jbGllbnQsLDpwYXNzLHVzZXI6cGFzcworbGlicmFyeS94bWxycGMuY2xpZW50LCw6cG9ydCxodHRwOi8vdXNlcjpwYXNzQGhvc3Q6cG9ydC9wYXRoCitsaWNlbnNlLCxgLCJgYFNvZnR3YXJlJycpLCB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmciCitsaWNlbnNlLCxgLCJUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgYGBBUyBJUycnLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCIKK2xpY2Vuc2UsLGAsKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEVSSUMgWU9VTkcgYGBBUyBJUycnIEFORAorbGljZW5zZSwsYCxUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBBVVRIT1IgQU5EIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECitsaWNlbnNlLCxgLCogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgT3BlblNTTCBQUk9KRUNUIGBgQVMgSVMnJyBBTkQgQU5ZCiBsaWNlbnNlLCxgLFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIFBST0pFQ1QgQU5EIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECiBsaWNlbnNlLCw6em9va28sbWFpbHRvOnpvb2tvQHpvb2tvLmNvbQotbGljZW5zZSwsYCxUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBBVVRIT1IgQU5EIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECi1yZWZlcmVuY2UvZGF0YW1vZGVsLCw6c3RlcCxhW2k6ajpzdGVwXQorcGFja2FnaW5nL2V4YW1wbGVzLCxgLFRoaXMgaXMgdGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBgYGZvb2JhcmBgIHByb2plY3QuCitwYWNrYWdpbmcvc2V0dXBjZmcsLDo6LERldmVsb3BtZW50IFN0YXR1cyA6OiAzIC0gQWxwaGEKK3BhY2thZ2luZy9zZXR1cGNmZywsOjosTGljZW5zZSA6OiBPU0kgQXBwcm92ZWQgOjogTW96aWxsYSBQdWJsaWMgTGljZW5zZSAxLjEgKE1QTCAxLjEpCitwYWNrYWdpbmcvc2V0dXBzY3JpcHQsLDo6LCInRGV2ZWxvcG1lbnQgU3RhdHVzIDo6IDQgLSBCZXRhJywiCitwYWNrYWdpbmcvc2V0dXBzY3JpcHQsLDo6LCInRW52aXJvbm1lbnQgOjogQ29uc29sZScsIgorcGFja2FnaW5nL3NldHVwc2NyaXB0LCw6OiwiJ0Vudmlyb25tZW50IDo6IFdlYiBFbnZpcm9ubWVudCcsIgorcGFja2FnaW5nL3NldHVwc2NyaXB0LCw6OiwiJ0ludGVuZGVkIEF1ZGllbmNlIDo6IERldmVsb3BlcnMnLCIKK3BhY2thZ2luZy9zZXR1cHNjcmlwdCwsOjosIidJbnRlbmRlZCBBdWRpZW5jZSA6OiBFbmQgVXNlcnMvRGVza3RvcCcsIgorcGFja2FnaW5nL3NldHVwc2NyaXB0LCw6OiwiJ0ludGVuZGVkIEF1ZGllbmNlIDo6IFN5c3RlbSBBZG1pbmlzdHJhdG9ycycsIgorcGFja2FnaW5nL3NldHVwc2NyaXB0LCw6OiwiJ0xpY2Vuc2UgOjogT1NJIEFwcHJvdmVkIDo6IFB5dGhvbiBTb2Z0d2FyZSBGb3VuZGF0aW9uIExpY2Vuc2UnLCIKK3BhY2thZ2luZy9zZXR1cHNjcmlwdCwsOjosIidPcGVyYXRpbmcgU3lzdGVtIDo6IE1hY09TIDo6IE1hY09TIFgnLCIKK3BhY2thZ2luZy9zZXR1cHNjcmlwdCwsOjosIidPcGVyYXRpbmcgU3lzdGVtIDo6IE1pY3Jvc29mdCA6OiBXaW5kb3dzJywiCitwYWNrYWdpbmcvc2V0dXBzY3JpcHQsLDo6LCInT3BlcmF0aW5nIFN5c3RlbSA6OiBQT1NJWCcsIgorcGFja2FnaW5nL3NldHVwc2NyaXB0LCw6OiwiJ1Byb2dyYW1taW5nIExhbmd1YWdlIDo6IFB5dGhvbicsIgorcGFja2FnaW5nL3NldHVwc2NyaXB0LCw6OiwiJ1RvcGljIDo6IENvbW11bmljYXRpb25zIDo6IEVtYWlsJywiCitwYWNrYWdpbmcvc2V0dXBzY3JpcHQsLDo6LCInVG9waWMgOjogT2ZmaWNlL0J1c2luZXNzJywiCitwYWNrYWdpbmcvc2V0dXBzY3JpcHQsLDo6LCInVG9waWMgOjogU29mdHdhcmUgRGV2ZWxvcG1lbnQgOjogQnVnIFRyYWNraW5nJywiCitwYWNrYWdpbmcvdHV0b3JpYWwsLDo6LDEpIExpY2Vuc2UgOjogT1NJIEFwcHJvdmVkIDo6IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIChHUEwpCitwYWNrYWdpbmcvdHV0b3JpYWwsLDo6LDIpIExpY2Vuc2UgOjogT1NJIEFwcHJvdmVkIDo6IEdOVSBMaWJyYXJ5IG9yIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIChMR1BMKQorcGFja2FnaW5nL3R1dG9yaWFsLCw6OixjbGFzc2lmaWVyID0gRGV2ZWxvcG1lbnQgU3RhdHVzIDo6IDMgLSBBbHBoYQorcGFja2FnaW5nL3R1dG9yaWFsLCw6OixMaWNlbnNlIDo6IE9TSSBBcHByb3ZlZCA6OiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSAoR1BMKQorcGFja2FnaW5nL3R1dG9yaWFsLCw6OixUeXBlIHRoZSBudW1iZXIgb2YgdGhlIGxpY2Vuc2UgeW91IHdpc2ggdG8gdXNlIG9yID8gdG8gdHJ5IGFnYWluOjogMQogcmVmZXJlbmNlL2RhdGFtb2RlbCwsOm1heCwKLXJlZmVyZW5jZS9leHByZXNzaW9ucywsOmluZGV4LHhbaW5kZXg6aW5kZXhdCityZWZlcmVuY2UvZGF0YW1vZGVsLCw6c3RlcCxhW2k6ajpzdGVwXQogcmVmZXJlbmNlL2V4cHJlc3Npb25zLCw6ZGF0dW0se2tleTpkYXR1bS4uLn0KIHJlZmVyZW5jZS9leHByZXNzaW9ucywsYCxgZXhwcmVzc2lvbnMuLi5gCityZWZlcmVuY2UvZXhwcmVzc2lvbnMsLDppbmRleCx4W2luZGV4OmluZGV4XQogcmVmZXJlbmNlL2dyYW1tYXIsLDpvdXRwdXQsI2RpYWdyYW06b3V0cHV0CiByZWZlcmVuY2UvZ3JhbW1hciwsOnJ1bGVzLCNkaWFncmFtOnJ1bGVzCi1yZWZlcmVuY2UvZ3JhbW1hciwsOnRva2VuLCNkaWFncmFtOnRva2VuCiByZWZlcmVuY2UvZ3JhbW1hciwsYCwnYCcgdGVzdGxpc3QxICdgJwotcmVmZXJlbmNlL2xleGljYWxfYW5hbHlzaXMsLDpmaWxlZW5jb2RpbmcsIyB2aW06ZmlsZWVuY29kaW5nPTxlbmNvZGluZy1uYW1lPgorcmVmZXJlbmNlL2dyYW1tYXIsLDp0b2tlbiwjZGlhZ3JhbTp0b2tlbgogcmVmZXJlbmNlL2xleGljYWxfYW5hbHlzaXMsLGAsIiwgICAgICAgOiAgICAgICAuICAgICAgIGAgICAgICAgPSAgICAgICA7IgotdHV0b3JpYWwvZGF0YXN0cnVjdHVyZXMsLDp2YWx1ZSxrZXk6dmFsdWUgcGFpcnMgd2l0aGluIHRoZSBicmFjZXMgYWRkcyBpbml0aWFsIGtleTp2YWx1ZSBwYWlycworcmVmZXJlbmNlL2xleGljYWxfYW5hbHlzaXMsLGAsJCAgICAgICA/ICAgICAgIGAKK3JlZmVyZW5jZS9sZXhpY2FsX2FuYWx5c2lzLCw6ZmlsZWVuY29kaW5nLCMgdmltOmZpbGVlbmNvZGluZz08ZW5jb2RpbmctbmFtZT4KIHR1dG9yaWFsL2RhdGFzdHJ1Y3R1cmVzLCw6dmFsdWUsSXQgaXMgYWxzbyBwb3NzaWJsZSB0byBkZWxldGUgYSBrZXk6dmFsdWUKLXR1dG9yaWFsL3N0ZGxpYjIsLDpzdGFydCwiZmllbGRzID0gc3RydWN0LnVucGFjaygnPElJSUhIJywgZGF0YVtzdGFydDpzdGFydCsxNl0pIgotdHV0b3JpYWwvc3RkbGliMiwsOnN0YXJ0LGV4dHJhID0gZGF0YVtzdGFydDpzdGFydCtleHRyYV9zaXplXQotdHV0b3JpYWwvc3RkbGliMiwsOnN0YXJ0LGZpbGVuYW1lID0gZGF0YVtzdGFydDpzdGFydCtmaWxlbmFtZXNpemVdCit0dXRvcmlhbC9kYXRhc3RydWN0dXJlcywsOnZhbHVlLGtleTp2YWx1ZSBwYWlycyB3aXRoaW4gdGhlIGJyYWNlcyBhZGRzIGluaXRpYWwga2V5OnZhbHVlIHBhaXJzCiB0dXRvcmlhbC9zdGRsaWIyLCw6Y29uZmlnLCJsb2dnaW5nLndhcm5pbmcoJ1dhcm5pbmc6Y29uZmlnIGZpbGUgJXMgbm90IGZvdW5kJywgJ3NlcnZlci5jb25mJykiCiB0dXRvcmlhbC9zdGRsaWIyLCw6Y29uZmlnLFdBUk5JTkc6cm9vdDpXYXJuaW5nOmNvbmZpZyBmaWxlIHNlcnZlci5jb25mIG5vdCBmb3VuZAogdHV0b3JpYWwvc3RkbGliMiwsOkNyaXRpY2FsLENSSVRJQ0FMOnJvb3Q6Q3JpdGljYWwgZXJyb3IgLS0gc2h1dHRpbmcgZG93bgpAQCAtMTQxLDE1ICsyNTEsMTYgQEAKIHR1dG9yaWFsL3N0ZGxpYjIsLDpyb290LENSSVRJQ0FMOnJvb3Q6Q3JpdGljYWwgZXJyb3IgLS0gc2h1dHRpbmcgZG93bgogdHV0b3JpYWwvc3RkbGliMiwsOnJvb3QsRVJST1I6cm9vdDpFcnJvciBvY2N1cnJlZAogdHV0b3JpYWwvc3RkbGliMiwsOnJvb3QsV0FSTklORzpyb290Oldhcm5pbmc6Y29uZmlnIGZpbGUgc2VydmVyLmNvbmYgbm90IGZvdW5kCit0dXRvcmlhbC9zdGRsaWIyLCw6c3RhcnQsZXh0cmEgPSBkYXRhW3N0YXJ0OnN0YXJ0K2V4dHJhX3NpemVdCit0dXRvcmlhbC9zdGRsaWIyLCw6c3RhcnQsImZpZWxkcyA9IHN0cnVjdC51bnBhY2soJzxJSUlISCcsIGRhdGFbc3RhcnQ6c3RhcnQrMTZdKSIKK3R1dG9yaWFsL3N0ZGxpYjIsLDpzdGFydCxmaWxlbmFtZSA9IGRhdGFbc3RhcnQ6c3RhcnQrZmlsZW5hbWVzaXplXQogdHV0b3JpYWwvc3RkbGliMiwsOldhcm5pbmcsV0FSTklORzpyb290Oldhcm5pbmc6Y29uZmlnIGZpbGUgc2VydmVyLmNvbmYgbm90IGZvdW5kCi11c2luZy9jbWRsaW5lLCw6bGluZSxmaWxlOmxpbmU6IGNhdGVnb3J5OiBtZXNzYWdlCiB1c2luZy9jbWRsaW5lLCw6Y2F0ZWdvcnksYWN0aW9uOm1lc3NhZ2U6Y2F0ZWdvcnk6bW9kdWxlOmxpbmUKK3VzaW5nL2NtZGxpbmUsLDplcnJvcmhhbmRsZXIsOmVycm9yaGFuZGxlcgogdXNpbmcvY21kbGluZSwsOmxpbmUsYWN0aW9uOm1lc3NhZ2U6Y2F0ZWdvcnk6bW9kdWxlOmxpbmUKK3VzaW5nL2NtZGxpbmUsLDpsaW5lLGZpbGU6bGluZTogY2F0ZWdvcnk6IG1lc3NhZ2UKIHVzaW5nL2NtZGxpbmUsLDptZXNzYWdlLGFjdGlvbjptZXNzYWdlOmNhdGVnb3J5Om1vZHVsZTpsaW5lCiB1c2luZy9jbWRsaW5lLCw6bW9kdWxlLGFjdGlvbjptZXNzYWdlOmNhdGVnb3J5Om1vZHVsZTpsaW5lCi11c2luZy9jbWRsaW5lLCw6ZXJyb3JoYW5kbGVyLDplcnJvcmhhbmRsZXIKLXVzaW5nL3dpbmRvd3MsMTYyLGAsYGAgdGhpcyBmaXhlcyBzeW50YXggaGlnaGxpZ2h0aW5nIGVycm9ycyBpbiBzb21lIGVkaXRvcnMgZHVlIHRvIHRoZSBcXFxcIGhhY2tlcnkKLXVzaW5nL3dpbmRvd3MsMTcwLGAsYGAKIHdoYXRzbmV3LzIuMCw0MTgsOmxlbiwKIHdoYXRzbmV3LzIuMywsOjosCiB3aGF0c25ldy8yLjMsLDpjb25maWcsCkBAIC0xNjMsMTEzICsyNzQsMjYgQEAKIHdoYXRzbmV3LzIuNSwsOm1lbW9yeSw6bWVtb3J5Ogogd2hhdHNuZXcvMi41LCw6c3RlcCxbc3RhcnQ6c3RvcDpzdGVwXQogd2hhdHNuZXcvMi41LCw6c3RvcCxbc3RhcnQ6c3RvcDpzdGVwXQotZGlzdHV0aWxzL2V4YW1wbGVzLDI2NyxgLFRoaXMgaXMgdGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBgYGZvb2JhcmBgIHBhY2thZ2UuCi1mYXEvcHJvZ3JhbW1pbmcsLDpyZWR1Y2UsInByaW50KChsYW1iZGEgUnUsUm8sSXUsSW8sSU0sU3gsU3k6cmVkdWNlKGxhbWJkYSB4LHk6eCt5LG1hcChsYW1iZGEgeSwiCi1mYXEvcHJvZ3JhbW1pbmcsLDpyZWR1Y2UsIlN4PVN4LFN5PVN5OnJlZHVjZShsYW1iZGEgeCx5OngreSxtYXAobGFtYmRhIHgseGM9UnUseWM9eWMsUnU9UnUsUm89Um8sIgotZmFxL3Byb2dyYW1taW5nLCw6Y2hyLCI+PTQuMCkgb3IgMStmKHhjLHljLHgqeC15KnkreGMsMi4wKngqeSt5YyxrLTEsZik6Zih4Yyx5Yyx4LHksayxmKTpjaHIoIgotZmFxL3Byb2dyYW1taW5nLCw6Oixmb3IgeCBpbiBzZXF1ZW5jZVs6Oi0xXToKLWZhcS93aW5kb3dzLDIyOSw6RU9GLEBzZXRsb2NhbCBlbmFibGVleHRlbnNpb25zICYgcHl0aG9uIC14ICV+ZjAgJSogJiBnb3RvIDpFT0YKLWZhcS93aW5kb3dzLDM5Myw6UkVHLC5weSA6UkVHX1NaOiBjOlw8cGF0aCB0byBweXRob24+XHB5dGhvbi5leGUgLXUgJXMgJXMKLWxpYnJhcnkvYmlzZWN0LDMyLDpoaSxhbGwodmFsID49IHggZm9yIHZhbCBpbiBhW2k6aGldKQotbGlicmFyeS9iaXNlY3QsNDIsOmhpLGFsbCh2YWwgPiB4IGZvciB2YWwgaW4gYVtpOmhpXSkKLWxpYnJhcnkvaHR0cC5jbGllbnQsNTIsOnBvcnQsaG9zdDpwb3J0Ci1saWJyYXJ5L25udHBsaWIsLDpieXRlcyw6Ynl0ZXMKLWxpYnJhcnkvbm50cGxpYiwsOmxpbmVzLDpsaW5lcwotbGlicmFyeS9ubnRwbGliLCw6bGluZXMsIlsneHJlZicsICdmcm9tJywgJzpsaW5lcycsICc6Ynl0ZXMnLCAncmVmZXJlbmNlcycsICdkYXRlJywgJ21lc3NhZ2UtaWQnLCAnc3ViamVjdCddIgotbGlicmFyeS9ubnRwbGliLCw6Ynl0ZXMsIlsneHJlZicsICdmcm9tJywgJzpsaW5lcycsICc6Ynl0ZXMnLCAncmVmZXJlbmNlcycsICdkYXRlJywgJ21lc3NhZ2UtaWQnLCAnc3ViamVjdCddIgotbGlicmFyeS9waWNrbGUsLDptZW1vcnksImNvbm4gPSBzcWxpdGUzLmNvbm5lY3QoIiI6bWVtb3J5OiIiKSIKLWxpYnJhcnkvcHJvZmlsZSwsOmxpbmVubywiKHNvcnQgYnkgZmlsZW5hbWU6bGluZW5vKSwiCi1saWJyYXJ5L3NvY2tldCwsOjosIigxMCwgMSwgNiwgJycsICgnMjAwMTo4ODg6MjAwMDpkOjphMicsIDgwLCAwLCAwKSldIgotbGlicmFyeS9zdGR0eXBlcywsOmVuZCxzW3N0YXJ0OmVuZF0KLWxpYnJhcnkvc3RkdHlwZXMsLDplbmQsc1tzdGFydDplbmRdCi1saWJyYXJ5L3VybGxpYi5yZXF1ZXN0LCw6Y2xvc2UsQ29ubmVjdGlvbjpjbG9zZQotbGlicmFyeS91cmxsaWIucmVxdWVzdCwsOnBhc3N3b3JkLCIiImpvZTpwYXNzd29yZEBweXRob24ub3JnIiIiCi1saWJyYXJ5L3VybGxpYi5yZXF1ZXN0LCw6bGFuZywieG1sbnM9IiJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiIgeG1sOmxhbmc9IiJlbiIiIGxhbmc9IiJlbiIiPlxuXG48aGVhZD5cbiIKLWxpYnJhcnkveG1scnBjLmNsaWVudCwxMDMsOnBhc3MsaHR0cDovL3VzZXI6cGFzc0Bob3N0OnBvcnQvcGF0aAotbGlicmFyeS94bWxycGMuY2xpZW50LDEwMyw6cG9ydCxodHRwOi8vdXNlcjpwYXNzQGhvc3Q6cG9ydC9wYXRoCi1saWJyYXJ5L3htbHJwYy5jbGllbnQsMTAzLDpwYXNzLHVzZXI6cGFzcwotbGljZW5zZSwsYCwqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIE9wZW5TU0wgUFJPSkVDVCBgYEFTIElTJycgQU5EIEFOWQotbGljZW5zZSwsYCwqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgRVJJQyBZT1VORyBgYEFTIElTJycgQU5ECi1saWNlbnNlLCxgLCJgYFNvZnR3YXJlJycpLCB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmciCi1saWNlbnNlLCxgLCJUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgYGBBUyBJUycnLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCIKLXJlZmVyZW5jZS9sZXhpY2FsX2FuYWx5c2lzLDcwNCxgLCQgICAgICAgPyAgICAgICBgCi13aGF0c25ldy8yLjcsNzM1LDpTdW5kYXksJzIwMDk6NDpTdW5kYXknCi13aGF0c25ldy8yLjcsODYyLDo6LCJleHBvcnQgUFlUSE9OV0FSTklOR1M9YWxsLGVycm9yOjo6Q29va2llOjAiCi13aGF0c25ldy8yLjcsODYyLDpDb29raWUsImV4cG9ydCBQWVRIT05XQVJOSU5HUz1hbGwsZXJyb3I6OjpDb29raWU6MCIKLXdoYXRzbmV3LzIuNywxNjE5LDo6LD4+PiB1cmxwYXJzZS51cmxwYXJzZSgnaHR0cDovL1sxMDgwOjo4OjgwMDoyMDBDOjQxN0FdL2ZvbycpCiB3aGF0c25ldy8yLjcsMTYxOSw6OiwiUGFyc2VSZXN1bHQoc2NoZW1lPSdodHRwJywgbmV0bG9jPSdbMTA4MDo6ODo4MDA6MjAwQzo0MTdBXScsIgotbGlicmFyeS9jb25maWdwYXJzZXIsLGAsIyBTZXQgdGhlIG9wdGlvbmFsIGByYXdgIGFyZ3VtZW50IG9mIGdldCgpIHRvIFRydWUgaWYgeW91IHdpc2ggdG8gZGlzYWJsZQotbGlicmFyeS9jb25maWdwYXJzZXIsLGAsIyBUaGUgb3B0aW9uYWwgYHZhcnNgIGFyZ3VtZW50IGlzIGEgZGljdCB3aXRoIG1lbWJlcnMgdGhhdCB3aWxsIHRha2UKLWxpYnJhcnkvY29uZmlncGFyc2VyLCxgLCMgVGhlIG9wdGlvbmFsIGBmYWxsYmFja2AgYXJndW1lbnQgY2FuIGJlIHVzZWQgdG8gcHJvdmlkZSBhIGZhbGxiYWNrIHZhbHVlCi1saWJyYXJ5L2NvbmZpZ3BhcnNlciwsOm9wdGlvbiwke3NlY3Rpb246b3B0aW9ufQotbGlicmFyeS9jb25maWdwYXJzZXIsLDpzeXN0ZW0scGF0aDogJHtDb21tb246c3lzdGVtX2Rpcn0vTGlicmFyeS9GcmFtZXdvcmtzLwotbGlicmFyeS9jb25maWdwYXJzZXIsLDpob21lLG15X2RpcjogJHtDb21tb246aG9tZV9kaXJ9L3R3b3NoZWRzCi1saWJyYXJ5L2NvbmZpZ3BhcnNlciwsOnBhdGgscHl0aG9uX2RpcjogJHtGcmFtZXdvcmtzOnBhdGh9L1B5dGhvbi9WZXJzaW9ucy8ke0ZyYW1ld29ya3M6UHl0aG9ufQotbGlicmFyeS9jb25maWdwYXJzZXIsLDpQeXRob24scHl0aG9uX2RpcjogJHtGcmFtZXdvcmtzOnBhdGh9L1B5dGhvbi9WZXJzaW9ucy8ke0ZyYW1ld29ya3M6UHl0aG9ufQotbGlicmFyeS9wZGIsLDpsaW5lbm8sW2ZpbGVuYW1lOmxpbmVubyB8IGJwbnVtYmVyIFticG51bWJlciAuLi5dXQotbGlicmFyeS9wZGIsLDpsaW5lbm8sZmlsZW5hbWU6bGluZW5vCi1saWJyYXJ5L2xvZ2dpbmcsLDpXYXRjaCxXQVJOSU5HOnJvb3Q6V2F0Y2ggb3V0IQotbGlicmFyeS9sb2dnaW5nLCw6U28sSU5GTzpyb290OlNvIHNob3VsZCB0aGlzCi1saWJyYXJ5L2xvZ2dpbmcsLDpTdGFydGVkLElORk86cm9vdDpTdGFydGVkCi1saWJyYXJ5L2xvZ2dpbmcsLDpEb2luZyxJTkZPOnJvb3Q6RG9pbmcgc29tZXRoaW5nCi1saWJyYXJ5L2xvZ2dpbmcsLDpGaW5pc2hlZCxJTkZPOnJvb3Q6RmluaXNoZWQKLWxpYnJhcnkvbG9nZ2luZywsOkxvb2ssV0FSTklORzpyb290Okxvb2sgYmVmb3JlIHlvdSBsZWFwIQotbGlicmFyeS9sb2dnaW5nLCw6U28sSU5GTzpTbyBzaG91bGQgdGhpcwotbGlicmFyeS9sb2dnaW5nLCw6bG9nZ2VyLHNldmVyaXR5OmxvZ2dlciBuYW1lOm1lc3NhZ2UKLWxpYnJhcnkvbG9nZ2luZywsOm1lc3NhZ2Usc2V2ZXJpdHk6bG9nZ2VyIG5hbWU6bWVzc2FnZQotd2hhdHNuZXcvMy4yLCw6ZGlyZWN0b3J5LC4uLiAgICR7YnVpbGRvdXQ6ZGlyZWN0b3J5fS9kb3dubG9hZHMvZGlzdAotd2hhdHNuZXcvMy4yLCw6bG9jYXRpb24sLi4uIHpvcGU5LWxvY2F0aW9uID0gJHt6b3BlOTpsb2NhdGlvbn0KLXdoYXRzbmV3LzMuMiwsOnByZWZpeCwuLi4gem9wZS1jb25mID0gJHtjdXN0b206cHJlZml4fS9ldGMvem9wZS5jb25mCi1ob3d0by9sb2dnaW5nLCw6cm9vdCxXQVJOSU5HOnJvb3Q6V2F0Y2ggb3V0IQotaG93dG8vbG9nZ2luZywsOldhdGNoLFdBUk5JTkc6cm9vdDpXYXRjaCBvdXQhCi1ob3d0by9sb2dnaW5nLCw6cm9vdCxERUJVRzpyb290OlRoaXMgbWVzc2FnZSBzaG91bGQgZ28gdG8gdGhlIGxvZyBmaWxlCi1ob3d0by9sb2dnaW5nLCw6VGhpcyxERUJVRzpyb290OlRoaXMgbWVzc2FnZSBzaG91bGQgZ28gdG8gdGhlIGxvZyBmaWxlCi1ob3d0by9sb2dnaW5nLCw6cm9vdCxJTkZPOnJvb3Q6U28gc2hvdWxkIHRoaXMKLWhvd3RvL2xvZ2dpbmcsLDpTbyxJTkZPOnJvb3Q6U28gc2hvdWxkIHRoaXMKLWhvd3RvL2xvZ2dpbmcsLDpyb290LCJXQVJOSU5HOnJvb3Q6QW5kIHRoaXMsIHRvbyIKLWhvd3RvL2xvZ2dpbmcsLDpBbmQsIldBUk5JTkc6cm9vdDpBbmQgdGhpcywgdG9vIgotaG93dG8vbG9nZ2luZywsOnJvb3QsSU5GTzpyb290OlN0YXJ0ZWQKLWhvd3RvL2xvZ2dpbmcsLDpTdGFydGVkLElORk86cm9vdDpTdGFydGVkCi1ob3d0by9sb2dnaW5nLCw6cm9vdCxJTkZPOnJvb3Q6RG9pbmcgc29tZXRoaW5nCi1ob3d0by9sb2dnaW5nLCw6RG9pbmcsSU5GTzpyb290OkRvaW5nIHNvbWV0aGluZwotaG93dG8vbG9nZ2luZywsOnJvb3QsSU5GTzpyb290OkZpbmlzaGVkCi1ob3d0by9sb2dnaW5nLCw6RmluaXNoZWQsSU5GTzpyb290OkZpbmlzaGVkCi1ob3d0by9sb2dnaW5nLCw6cm9vdCxXQVJOSU5HOnJvb3Q6TG9vayBiZWZvcmUgeW91IGxlYXAhCi1ob3d0by9sb2dnaW5nLCw6TG9vayxXQVJOSU5HOnJvb3Q6TG9vayBiZWZvcmUgeW91IGxlYXAhCi1ob3d0by9sb2dnaW5nLCw6VGhpcyxERUJVRzpUaGlzIG1lc3NhZ2Ugc2hvdWxkIGFwcGVhciBvbiB0aGUgY29uc29sZQotaG93dG8vbG9nZ2luZywsOlNvLElORk86U28gc2hvdWxkIHRoaXMKLWhvd3RvL2xvZ2dpbmcsLDpBbmQsIldBUk5JTkc6QW5kIHRoaXMsIHRvbyIKLWhvd3RvL2xvZ2dpbmcsLDpsb2dnZXIsc2V2ZXJpdHk6bG9nZ2VyIG5hbWU6bWVzc2FnZQotaG93dG8vbG9nZ2luZywsOm1lc3NhZ2Usc2V2ZXJpdHk6bG9nZ2VyIG5hbWU6bWVzc2FnZQotbGlicmFyeS9sb2dnaW5nLmhhbmRsZXJzLCw6cG9ydCxob3N0OnBvcnQKLWxpYnJhcnkvaW1hcGxpYiwxMTYsOk1NLCIiIkRELU1tbS1ZWVlZIEhIOk1NOlNTIgotbGlicmFyeS9pbWFwbGliLDExNiw6U1MsIiIiREQtTW1tLVlZWVkgSEg6TU06U1MiCi13aGF0c25ldy8zLjIsLDo6LCIkIGV4cG9ydCBQWVRIT05XQVJOSU5HUz0naWdub3JlOjpSdW50aW1lV2FybmluZzo6LG9uY2U6OlVuaWNvZGVXYXJuaW5nOjonIgotaG93dG8vcHlwb3J0aW5nLDc1LDo6LCMgbWFrZSBzdXJlIHRvIHVzZSA6OiBQeXRob24gKmFuZCogOjogUHl0aG9uIDo6IDMgc28KLWhvd3RvL3B5cG9ydGluZyw3NSw6OiwiJ1Byb2dyYW1taW5nIExhbmd1YWdlIDo6IFB5dGhvbicsIgotaG93dG8vcHlwb3J0aW5nLDc1LDo6LCdQcm9ncmFtbWluZyBMYW5ndWFnZSA6OiBQeXRob24gOjogMycKLXdoYXRzbmV3LzMuMiwsOmd6LCI+Pj4gd2l0aCB0YXJmaWxlLm9wZW4obmFtZT0nbXlhcmNoaXZlLnRhci5neicsIG1vZGU9J3c6Z3onKSBhcyB0ZjoiCi13aGF0c25ldy8zLjIsLDpkaXJlY3RvcnksJHtidWlsZG91dDpkaXJlY3Rvcnl9L2Rvd25sb2Fkcy9kaXN0Ci13aGF0c25ldy8zLjIsLDpsb2NhdGlvbix6b3BlOS1sb2NhdGlvbiA9ICR7em9wZTk6bG9jYXRpb259Ci13aGF0c25ldy8zLjIsLDpwcmVmaXgsem9wZS1jb25mID0gJHtjdXN0b206cHJlZml4fS9ldGMvem9wZS5jb25mCi13aGF0c25ldy8zLjIsLDpiZWVmLD4+PiB1cmxsaWIucGFyc2UudXJscGFyc2UoJ2h0dHA6Ly9bZGVhZDpiZWVmOmNhZmU6NTQxNzphZmZlOjhGQTM6ZGVhZjpmZWVkXS9mb28vJykKLXdoYXRzbmV3LzMuMiwsOmNhZmUsPj4+IHVybGxpYi5wYXJzZS51cmxwYXJzZSgnaHR0cDovL1tkZWFkOmJlZWY6Y2FmZTo1NDE3OmFmZmU6OEZBMzpkZWFmOmZlZWRdL2Zvby8nKQotd2hhdHNuZXcvMy4yLCw6YWZmZSw+Pj4gdXJsbGliLnBhcnNlLnVybHBhcnNlKCdodHRwOi8vW2RlYWQ6YmVlZjpjYWZlOjU0MTc6YWZmZTo4RkEzOmRlYWY6ZmVlZF0vZm9vLycpCi13aGF0c25ldy8zLjIsLDpkZWFmLD4+PiB1cmxsaWIucGFyc2UudXJscGFyc2UoJ2h0dHA6Ly9bZGVhZDpiZWVmOmNhZmU6NTQxNzphZmZlOjhGQTM6ZGVhZjpmZWVkXS9mb28vJykKLXdoYXRzbmV3LzMuMiwsOmZlZWQsPj4+IHVybGxpYi5wYXJzZS51cmxwYXJzZSgnaHR0cDovL1tkZWFkOmJlZWY6Y2FmZTo1NDE3OmFmZmU6OEZBMzpkZWFmOmZlZWRdL2Zvby8nKQotd2hhdHNuZXcvMy4yLCw6YmVlZiwibmV0bG9jPSdbZGVhZDpiZWVmOmNhZmU6NTQxNzphZmZlOjhGQTM6ZGVhZjpmZWVkXScsIgotd2hhdHNuZXcvMy4yLCw6Y2FmZSwibmV0bG9jPSdbZGVhZDpiZWVmOmNhZmU6NTQxNzphZmZlOjhGQTM6ZGVhZjpmZWVkXScsIgord2hhdHNuZXcvMi43LDE2MTksOjosPj4+IHVybHBhcnNlLnVybHBhcnNlKCdodHRwOi8vWzEwODA6Ojg6ODAwOjIwMEM6NDE3QV0vZm9vJykKK3doYXRzbmV3LzIuNyw3MzUsOlN1bmRheSwnMjAwOTo0OlN1bmRheScKK3doYXRzbmV3LzIuNyw4NjIsOkNvb2tpZSwiZXhwb3J0IFBZVEhPTldBUk5JTkdTPWFsbCxlcnJvcjo6OkNvb2tpZTowIgord2hhdHNuZXcvMi43LDg2Miw6OiwiZXhwb3J0IFBZVEhPTldBUk5JTkdTPWFsbCxlcnJvcjo6OkNvb2tpZTowIgogd2hhdHNuZXcvMy4yLCw6YWZmZSwibmV0bG9jPSdbZGVhZDpiZWVmOmNhZmU6NTQxNzphZmZlOjhGQTM6ZGVhZjpmZWVkXScsIgord2hhdHNuZXcvMy4yLCw6YWZmZSw+Pj4gdXJsbGliLnBhcnNlLnVybHBhcnNlKCdodHRwOi8vW2RlYWQ6YmVlZjpjYWZlOjU0MTc6YWZmZTo4RkEzOmRlYWY6ZmVlZF0vZm9vLycpCit3aGF0c25ldy8zLjIsLDpiZWVmLCJuZXRsb2M9J1tkZWFkOmJlZWY6Y2FmZTo1NDE3OmFmZmU6OEZBMzpkZWFmOmZlZWRdJywiCit3aGF0c25ldy8zLjIsLDpiZWVmLD4+PiB1cmxsaWIucGFyc2UudXJscGFyc2UoJ2h0dHA6Ly9bZGVhZDpiZWVmOmNhZmU6NTQxNzphZmZlOjhGQTM6ZGVhZjpmZWVkXS9mb28vJykKK3doYXRzbmV3LzMuMiwsOmNhZmUsIm5ldGxvYz0nW2RlYWQ6YmVlZjpjYWZlOjU0MTc6YWZmZTo4RkEzOmRlYWY6ZmVlZF0nLCIKK3doYXRzbmV3LzMuMiwsOmNhZmUsPj4+IHVybGxpYi5wYXJzZS51cmxwYXJzZSgnaHR0cDovL1tkZWFkOmJlZWY6Y2FmZTo1NDE3OmFmZmU6OEZBMzpkZWFmOmZlZWRdL2Zvby8nKQogd2hhdHNuZXcvMy4yLCw6ZGVhZiwibmV0bG9jPSdbZGVhZDpiZWVmOmNhZmU6NTQxNzphZmZlOjhGQTM6ZGVhZjpmZWVkXScsIgord2hhdHNuZXcvMy4yLCw6ZGVhZiw+Pj4gdXJsbGliLnBhcnNlLnVybHBhcnNlKCdodHRwOi8vW2RlYWQ6YmVlZjpjYWZlOjU0MTc6YWZmZTo4RkEzOmRlYWY6ZmVlZF0vZm9vLycpCit3aGF0c25ldy8zLjIsLDpkaXJlY3RvcnksLi4uICAgJHtidWlsZG91dDpkaXJlY3Rvcnl9L2Rvd25sb2Fkcy9kaXN0Cit3aGF0c25ldy8zLjIsLDpkaXJlY3RvcnksJHtidWlsZG91dDpkaXJlY3Rvcnl9L2Rvd25sb2Fkcy9kaXN0Cit3aGF0c25ldy8zLjIsLDo6LCIkIGV4cG9ydCBQWVRIT05XQVJOSU5HUz0naWdub3JlOjpSdW50aW1lV2FybmluZzo6LG9uY2U6OlVuaWNvZGVXYXJuaW5nOjonIgogd2hhdHNuZXcvMy4yLCw6ZmVlZCwibmV0bG9jPSdbZGVhZDpiZWVmOmNhZmU6NTQxNzphZmZlOjhGQTM6ZGVhZjpmZWVkXScsIgotbGlicmFyeS9wcHJpbnQsMjA5LDo6LCInY2xhc3NpZmllcnMnOiBbJ0RldmVsb3BtZW50IFN0YXR1cyA6OiA0IC0gQmV0YScsIgotbGlicmFyeS9wcHJpbnQsMjA5LDo6LCInSW50ZW5kZWQgQXVkaWVuY2UgOjogRGV2ZWxvcGVycycsIgotbGlicmFyeS9wcHJpbnQsMjA5LDo6LCInTGljZW5zZSA6OiBPU0kgQXBwcm92ZWQgOjogTUlUIExpY2Vuc2UnLCIKLWxpYnJhcnkvcHByaW50LDIwOSw6OiwiJ05hdHVyYWwgTGFuZ3VhZ2UgOjogRW5nbGlzaCcsIgotbGlicmFyeS9wcHJpbnQsMjA5LDo6LCInT3BlcmF0aW5nIFN5c3RlbSA6OiBPUyBJbmRlcGVuZGVudCcsIgotbGlicmFyeS9wcHJpbnQsMjA5LDo6LCInUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogUHl0aG9uJywiCi1saWJyYXJ5L3BwcmludCwyMDksOjosIidQcm9ncmFtbWluZyBMYW5ndWFnZSA6OiBQeXRob24gOjogMicsIgotbGlicmFyeS9wcHJpbnQsMjA5LDo6LCInUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogUHl0aG9uIDo6IDIuNicsIgotbGlicmFyeS9wcHJpbnQsMjA5LDo6LCInUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogUHl0aG9uIDo6IDIuNycsIgotbGlicmFyeS9wcHJpbnQsMjA5LDo6LCInVG9waWMgOjogU29mdHdhcmUgRGV2ZWxvcG1lbnQgOjogTGlicmFyaWVzJywiCi1saWJyYXJ5L3BwcmludCwyMDksOjosIidUb3BpYyA6OiBTb2Z0d2FyZSBEZXZlbG9wbWVudCA6OiBMaWJyYXJpZXMgOjogUHl0aG9uIE1vZHVsZXMnXSwiCit3aGF0c25ldy8zLjIsLDpmZWVkLD4+PiB1cmxsaWIucGFyc2UudXJscGFyc2UoJ2h0dHA6Ly9bZGVhZDpiZWVmOmNhZmU6NTQxNzphZmZlOjhGQTM6ZGVhZjpmZWVkXS9mb28vJykKK3doYXRzbmV3LzMuMiwsOmd6LCI+Pj4gd2l0aCB0YXJmaWxlLm9wZW4obmFtZT0nbXlhcmNoaXZlLnRhci5neicsIG1vZGU9J3c6Z3onKSBhcyB0ZjoiCit3aGF0c25ldy8zLjIsLDpsb2NhdGlvbiwuLi4gem9wZTktbG9jYXRpb24gPSAke3pvcGU5OmxvY2F0aW9ufQord2hhdHNuZXcvMy4yLCw6bG9jYXRpb24sem9wZTktbG9jYXRpb24gPSAke3pvcGU5OmxvY2F0aW9ufQord2hhdHNuZXcvMy4yLCw6cHJlZml4LC4uLiB6b3BlLWNvbmYgPSAke2N1c3RvbTpwcmVmaXh9L2V0Yy96b3BlLmNvbmYKK3doYXRzbmV3LzMuMiwsOnByZWZpeCx6b3BlLWNvbmYgPSAke2N1c3RvbTpwcmVmaXh9L2V0Yy96b3BlLmNvbmYKZGlmZiAtLWdpdCBhL0RvYy90dXRvcmlhbC9jbGFzc2VzLnJzdCBiL0RvYy90dXRvcmlhbC9jbGFzc2VzLnJzdAppbmRleCA1Y2UzNjY5Li5iNGYwOWMyIDEwMDY0NAotLS0gYS9Eb2MvdHV0b3JpYWwvY2xhc3Nlcy5yc3QKKysrIGIvRG9jL3R1dG9yaWFsL2NsYXNzZXMucnN0CkBAIC0xODQsNyArMTg0LDYgQEAKIAogLi4gY29kZS1ibG9jazo6IG5vbmUKIAotCiAgICBBZnRlciBsb2NhbCBhc3NpZ25tZW50OiB0ZXN0IHNwYW0KICAgIEFmdGVyIG5vbmxvY2FsIGFzc2lnbm1lbnQ6IG5vbmxvY2FsIHNwYW0KICAgIEFmdGVyIGdsb2JhbCBhc3NpZ25tZW50OiBub25sb2NhbCBzcGFtCkBAIC02OTgsOSArNjk3LDkgQEAKICAgIGNsYXNzIEQoQyk6CiAgICAgICAgcGFzcwogCi0gICBmb3IgYyBpbiBbQiwgQywgRF06CisgICBmb3IgY2xzIGluIFtCLCBDLCBEXToKICAgICAgICB0cnk6Ci0gICAgICAgICAgIHJhaXNlIGMoKQorICAgICAgICAgICByYWlzZSBjbHMoKQogICAgICAgIGV4Y2VwdCBEOgogICAgICAgICAgICBwcmludCgiRCIpCiAgICAgICAgZXhjZXB0IEM6CmRpZmYgLS1naXQgYS9Eb2MvdHV0b3JpYWwvZGF0YXN0cnVjdHVyZXMucnN0IGIvRG9jL3R1dG9yaWFsL2RhdGFzdHJ1Y3R1cmVzLnJzdAppbmRleCA1ZmI3MmZkLi44M2IzMDEyIDEwMDY0NAotLS0gYS9Eb2MvdHV0b3JpYWwvZGF0YXN0cnVjdHVyZXMucnN0CisrKyBiL0RvYy90dXRvcmlhbC9kYXRhc3RydWN0dXJlcy5yc3QKQEAgLTE5LDEzICsxOSwxMyBAQAogLi4gbWV0aG9kOjogbGlzdC5hcHBlbmQoeCkKICAgIDpub2luZGV4OgogCi0gICBBZGQgYW4gaXRlbSB0byB0aGUgZW5kIG9mIHRoZSBsaXN0OyBlcXVpdmFsZW50IHRvIGBgYVtsZW4oYSk6XSA9IFt4XWBgLgorICAgQWRkIGFuIGl0ZW0gdG8gdGhlIGVuZCBvZiB0aGUgbGlzdC4gIEVxdWl2YWxlbnQgdG8gYGBhW2xlbihhKTpdID0gW3hdYGAuCiAKIAogLi4gbWV0aG9kOjogbGlzdC5leHRlbmQoTCkKICAgIDpub2luZGV4OgogCi0gICBFeHRlbmQgdGhlIGxpc3QgYnkgYXBwZW5kaW5nIGFsbCB0aGUgaXRlbXMgaW4gdGhlIGdpdmVuIGxpc3Q7IGVxdWl2YWxlbnQgdG8KKyAgIEV4dGVuZCB0aGUgbGlzdCBieSBhcHBlbmRpbmcgYWxsIHRoZSBpdGVtcyBpbiB0aGUgZ2l2ZW4gbGlzdC4gIEVxdWl2YWxlbnQgdG8KICAgIGBgYVtsZW4oYSk6XSA9IExgYC4KIAogCkBAIC00MCw4ICs0MCw4IEBACiAuLiBtZXRob2Q6OiBsaXN0LnJlbW92ZSh4KQogICAgOm5vaW5kZXg6CiAKLSAgIFJlbW92ZSB0aGUgZmlyc3QgaXRlbSBmcm9tIHRoZSBsaXN0IHdob3NlIHZhbHVlIGlzICp4Ki4gSXQgaXMgYW4gZXJyb3IgaWYgdGhlcmUKLSAgIGlzIG5vIHN1Y2ggaXRlbS4KKyAgIFJlbW92ZSB0aGUgZmlyc3QgaXRlbSBmcm9tIHRoZSBsaXN0IHdob3NlIHZhbHVlIGlzICp4Ki4gIEl0IGlzIGFuIGVycm9yIGlmCisgICB0aGVyZSBpcyBubyBzdWNoIGl0ZW0uCiAKIAogLi4gbWV0aG9kOjogbGlzdC5wb3AoW2ldKQpAQCAtNzAsMTMgKzcwLDE0IEBACiAuLiBtZXRob2Q6OiBsaXN0LnNvcnQoKQogICAgOm5vaW5kZXg6CiAKLSAgIFNvcnQgdGhlIGl0ZW1zIG9mIHRoZSBsaXN0LCBpbiBwbGFjZS4KKyAgIFNvcnQgdGhlIGl0ZW1zIG9mIHRoZSBsaXN0IGluIHBsYWNlLgogCiAKIC4uIG1ldGhvZDo6IGxpc3QucmV2ZXJzZSgpCiAgICA6bm9pbmRleDoKIAotICAgUmV2ZXJzZSB0aGUgZWxlbWVudHMgb2YgdGhlIGxpc3QsIGluIHBsYWNlLgorICAgUmV2ZXJzZSB0aGUgZWxlbWVudHMgb2YgdGhlIGxpc3QgaW4gcGxhY2UuCisKIAogQW4gZXhhbXBsZSB0aGF0IHVzZXMgbW9zdCBvZiB0aGUgbGlzdCBtZXRob2RzOjoKIApAQCAtOTksNiArMTAwLDEwIEBACiAgICA+Pj4gYQogICAgWy0xLCAxLCA2Ni4yNSwgMzMzLCAzMzMsIDEyMzQuNV0KIAorWW91IG1pZ2h0IGhhdmUgbm90aWNlZCB0aGF0IG1ldGhvZHMgbGlrZSBgYGluc2VydGBgLCBgYHJlbW92ZWBgIG9yIGBgc29ydGBgIHRoYXQKK21vZGlmeSB0aGUgbGlzdCBoYXZlIG5vIHJldHVybiB2YWx1ZSBwcmludGVkIC0tIHRoZXkgcmV0dXJuIGBgTm9uZWBgLiBbMV1fICBUaGlzCitpcyBhIGRlc2lnbiBwcmluY2lwbGUgZm9yIGFsbCBtdXRhYmxlIGRhdGEgc3RydWN0dXJlcyBpbiBQeXRob24uCisKIAogLi4gX3R1dC1saXN0cy1hcy1zdGFja3M6CiAKQEAgLTQ2OCw3ICs0NzMsNyBAQAogCiBQZXJmb3JtaW5nIGBgbGlzdChkLmtleXMoKSlgYCBvbiBhIGRpY3Rpb25hcnkgcmV0dXJucyBhIGxpc3Qgb2YgYWxsIHRoZSBrZXlzCiB1c2VkIGluIHRoZSBkaWN0aW9uYXJ5LCBpbiBhcmJpdHJhcnkgb3JkZXIgKGlmIHlvdSB3YW50IGl0IHNvcnRlZCwganVzdCB1c2UKLWBgc29ydGVkKGQua2V5cygpKWBgIGluc3RlYWQpLiBbMV1fICBUbyBjaGVjayB3aGV0aGVyIGEgc2luZ2xlIGtleSBpcyBpbiB0aGUKK2Bgc29ydGVkKGQua2V5cygpKWBgIGluc3RlYWQpLiBbMl1fICBUbyBjaGVjayB3aGV0aGVyIGEgc2luZ2xlIGtleSBpcyBpbiB0aGUKIGRpY3Rpb25hcnksIHVzZSB0aGUgOmtleXdvcmQ6YGluYCBrZXl3b3JkLgogCiBIZXJlIGlzIGEgc21hbGwgZXhhbXBsZSB1c2luZyBhIGRpY3Rpb25hcnk6OgpAQCAtNjUyLDYgKzY1Nyw5IEBACiAKIC4uIHJ1YnJpYzo6IEZvb3Rub3RlcwogCi0uLiBbMV0gQ2FsbGluZyBgYGQua2V5cygpYGAgd2lsbCByZXR1cm4gYSA6ZGZuOmBkaWN0aW9uYXJ5IHZpZXdgIG9iamVjdC4gIEl0CisuLiBbMV0gT3RoZXIgbGFuZ3VhZ2VzIG1heSByZXR1cm4gdGhlIG11dGF0ZWQgb2JqZWN0LCB3aGljaCBhbGxvd3MgbWV0aG9kCisgICAgICAgY2hhaW5pbmcsIHN1Y2ggYXMgYGBkLT5pbnNlcnQoImEiKS0+cmVtb3ZlKCJiIiktPnNvcnQoKTtgYC4KKworLi4gWzJdIENhbGxpbmcgYGBkLmtleXMoKWBgIHdpbGwgcmV0dXJuIGEgOmRmbjpgZGljdGlvbmFyeSB2aWV3YCBvYmplY3QuICBJdAogICAgICAgIHN1cHBvcnRzIG9wZXJhdGlvbnMgbGlrZSBtZW1iZXJzaGlwIHRlc3QgYW5kIGl0ZXJhdGlvbiwgYnV0IGl0cyBjb250ZW50cwogICAgICAgIGFyZSBub3QgaW5kZXBlbmRlbnQgb2YgdGhlIG9yaWdpbmFsIGRpY3Rpb25hcnkgLS0gaXQgaXMgb25seSBhICp2aWV3Ki4KZGlmZiAtLWdpdCBhL0RvYy90dXRvcmlhbC9pbnRlcnByZXRlci5yc3QgYi9Eb2MvdHV0b3JpYWwvaW50ZXJwcmV0ZXIucnN0CmluZGV4IDIzMzg0NjUuLjhmMDhjZDggMTAwNjQ0Ci0tLSBhL0RvYy90dXRvcmlhbC9pbnRlcnByZXRlci5yc3QKKysrIGIvRG9jL3R1dG9yaWFsL2ludGVycHJldGVyLnJzdApAQCAtMTAsMTEgKzEwLDExIEBACiBJbnZva2luZyB0aGUgSW50ZXJwcmV0ZXIKID09PT09PT09PT09PT09PT09PT09PT09PQogCi1UaGUgUHl0aG9uIGludGVycHJldGVyIGlzIHVzdWFsbHkgaW5zdGFsbGVkIGFzIDpmaWxlOmAvdXNyL2xvY2FsL2Jpbi9weXRob24zLjJgCitUaGUgUHl0aG9uIGludGVycHJldGVyIGlzIHVzdWFsbHkgaW5zdGFsbGVkIGFzIDpmaWxlOmAvdXNyL2xvY2FsL2Jpbi9weXRob24zLjNgCiBvbiB0aG9zZSBtYWNoaW5lcyB3aGVyZSBpdCBpcyBhdmFpbGFibGU7IHB1dHRpbmcgOmZpbGU6YC91c3IvbG9jYWwvYmluYCBpbiB5b3VyCiBVbml4IHNoZWxsJ3Mgc2VhcmNoIHBhdGggbWFrZXMgaXQgcG9zc2libGUgdG8gc3RhcnQgaXQgYnkgdHlwaW5nIHRoZSBjb21tYW5kIDo6CiAKLSAgIHB5dGhvbjMuMgorICAgcHl0aG9uMy4zCiAKIHRvIHRoZSBzaGVsbC4gWyNdXyBTaW5jZSB0aGUgY2hvaWNlIG9mIHRoZSBkaXJlY3Rvcnkgd2hlcmUgdGhlIGludGVycHJldGVyIGxpdmVzCiBpcyBhbiBpbnN0YWxsYXRpb24gb3B0aW9uLCBvdGhlciBwbGFjZXMgYXJlIHBvc3NpYmxlOyBjaGVjayB3aXRoIHlvdXIgbG9jYWwKQEAgLTIyLDExICsyMiwxMSBAQAogcG9wdWxhciBhbHRlcm5hdGl2ZSBsb2NhdGlvbi4pCiAKIE9uIFdpbmRvd3MgbWFjaGluZXMsIHRoZSBQeXRob24gaW5zdGFsbGF0aW9uIGlzIHVzdWFsbHkgcGxhY2VkIGluCi06ZmlsZTpgQzpcXFB5dGhvbjMyYCwgdGhvdWdoIHlvdSBjYW4gY2hhbmdlIHRoaXMgd2hlbiB5b3UncmUgcnVubmluZyB0aGUKKzpmaWxlOmBDOlxcUHl0aG9uMzNgLCB0aG91Z2ggeW91IGNhbiBjaGFuZ2UgdGhpcyB3aGVuIHlvdSdyZSBydW5uaW5nIHRoZQogaW5zdGFsbGVyLiAgVG8gYWRkIHRoaXMgZGlyZWN0b3J5IHRvIHlvdXIgcGF0aCwgIHlvdSBjYW4gdHlwZSB0aGUgZm9sbG93aW5nCiBjb21tYW5kIGludG8gdGhlIGNvbW1hbmQgcHJvbXB0IGluIGEgRE9TIGJveDo6CiAKLSAgIHNldCBwYXRoPSVwYXRoJTtDOlxweXRob24zMgorICAgc2V0IHBhdGg9JXBhdGglO0M6XHB5dGhvbjMzCiAKIFR5cGluZyBhbiBlbmQtb2YtZmlsZSBjaGFyYWN0ZXIgKDprYmQ6YENvbnRyb2wtRGAgb24gVW5peCwgOmtiZDpgQ29udHJvbC1aYCBvbgogV2luZG93cykgYXQgdGhlIHByaW1hcnkgcHJvbXB0IGNhdXNlcyB0aGUgaW50ZXJwcmV0ZXIgdG8gZXhpdCB3aXRoIGEgemVybyBleGl0CkBAIC05Myw4ICs5Myw4IEBACiBwcmludHMgYSB3ZWxjb21lIG1lc3NhZ2Ugc3RhdGluZyBpdHMgdmVyc2lvbiBudW1iZXIgYW5kIGEgY29weXJpZ2h0IG5vdGljZQogYmVmb3JlIHByaW50aW5nIHRoZSBmaXJzdCBwcm9tcHQ6OgogCi0gICAkIHB5dGhvbjMuMgotICAgUHl0aG9uIDMuMiAocHkzaywgU2VwIDEyIDIwMDcsIDEyOjIxOjAyKQorICAgJCBweXRob24zLjMKKyAgIFB5dGhvbiAzLjMgKHB5M2ssIFNlcCAxMiAyMDA3LCAxMjoyMTowMikKICAgIFtHQ0MgMy40LjYgMjAwNjA0MDQgKFJlZCBIYXQgMy40LjYtOCldIG9uIGxpbnV4MgogICAgVHlwZSAiaGVscCIsICJjb3B5cmlnaHQiLCAiY3JlZGl0cyIgb3IgImxpY2Vuc2UiIGZvciBtb3JlIGluZm9ybWF0aW9uLgogICAgPj4+CkBAIC0xNDcsNyArMTQ3LDcgQEAKIE9uIEJTRCdpc2ggVW5peCBzeXN0ZW1zLCBQeXRob24gc2NyaXB0cyBjYW4gYmUgbWFkZSBkaXJlY3RseSBleGVjdXRhYmxlLCBsaWtlCiBzaGVsbCBzY3JpcHRzLCBieSBwdXR0aW5nIHRoZSBsaW5lIDo6CiAKLSAgICMhIC91c3IvYmluL2VudiBweXRob24zLjIKKyAgICMhIC91c3IvYmluL2VudiBweXRob24zLjMKIAogKGFzc3VtaW5nIHRoYXQgdGhlIGludGVycHJldGVyIGlzIG9uIHRoZSB1c2VyJ3MgOmVudnZhcjpgUEFUSGApIGF0IHRoZSBiZWdpbm5pbmcKIG9mIHRoZSBzY3JpcHQgYW5kIGdpdmluZyB0aGUgZmlsZSBhbiBleGVjdXRhYmxlIG1vZGUuICBUaGUgYGAjIWBgIG11c3QgYmUgdGhlCmRpZmYgLS1naXQgYS9Eb2MvdHV0b3JpYWwvc3RkbGliLnJzdCBiL0RvYy90dXRvcmlhbC9zdGRsaWIucnN0CmluZGV4IDk3Mjk3NDMuLjUwMGNhN2YgMTAwNjQ0Ci0tLSBhL0RvYy90dXRvcmlhbC9zdGRsaWIucnN0CisrKyBiL0RvYy90dXRvcmlhbC9zdGRsaWIucnN0CkBAIC0xNSw3ICsxNSw3IEBACiAKICAgID4+PiBpbXBvcnQgb3MKICAgID4+PiBvcy5nZXRjd2QoKSAgICAgICMgUmV0dXJuIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5Ci0gICAnQzpcXFB5dGhvbjMxJworICAgJ0M6XFxQeXRob24zMycKICAgID4+PiBvcy5jaGRpcignL3NlcnZlci9hY2Nlc3Nsb2dzJykgICAjIENoYW5nZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5CiAgICA+Pj4gb3Muc3lzdGVtKCdta2RpciB0b2RheScpICAgIyBSdW4gdGhlIGNvbW1hbmQgbWtkaXIgaW4gdGhlIHN5c3RlbSBzaGVsbAogICAgMApkaWZmIC0tZ2l0IGEvRG9jL3R1dG9yaWFsL3N0ZGxpYjIucnN0IGIvRG9jL3R1dG9yaWFsL3N0ZGxpYjIucnN0CmluZGV4IGZlN2YwMjcuLjg1Yzg4ZGMgMTAwNjQ0Ci0tLSBhL0RvYy90dXRvcmlhbC9zdGRsaWIyLnJzdAorKysgYi9Eb2MvdHV0b3JpYWwvc3RkbGliMi5yc3QKQEAgLTE0MSw3ICsxNDEsOSBAQAogCiAgICBpbXBvcnQgc3RydWN0CiAKLSAgIGRhdGEgPSBvcGVuKCdteWZpbGUuemlwJywgJ3JiJykucmVhZCgpCisgICB3aXRoIG9wZW4oJ215ZmlsZS56aXAnLCAncmInKSBhcyBmOgorICAgICAgIGRhdGEgPSBmLnJlYWQoKQorCiAgICBzdGFydCA9IDAKICAgIGZvciBpIGluIHJhbmdlKDMpOiAgICAgICAgICAgICAgICAgICAgICAjIHNob3cgdGhlIGZpcnN0IDMgZmlsZSBoZWFkZXJzCiAgICAgICAgc3RhcnQgKz0gMTQKQEAgLTI3MSw3ICsyNzMsNyBAQAogICAgVHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOgogICAgICBGaWxlICI8c3RkaW4+IiwgbGluZSAxLCBpbiA8bW9kdWxlPgogICAgICAgIGRbJ3ByaW1hcnknXSAgICAgICAgICAgICAgICAjIGVudHJ5IHdhcyBhdXRvbWF0aWNhbGx5IHJlbW92ZWQKLSAgICAgRmlsZSAiQzovcHl0aG9uMzEvbGliL3dlYWtyZWYucHkiLCBsaW5lIDQ2LCBpbiBfX2dldGl0ZW1fXworICAgICBGaWxlICJDOi9weXRob24zMy9saWIvd2Vha3JlZi5weSIsIGxpbmUgNDYsIGluIF9fZ2V0aXRlbV9fCiAgICAgICAgbyA9IHNlbGYuZGF0YVtrZXldKCkKICAgIEtleUVycm9yOiAncHJpbWFyeScKIApkaWZmIC0tZ2l0IGEvRG9jL3VzaW5nL2NtZGxpbmUucnN0IGIvRG9jL3VzaW5nL2NtZGxpbmUucnN0CmluZGV4IDBkMTIxMjYuLjQwZTg1MGUgMTAwNjQ0Ci0tLSBhL0RvYy91c2luZy9jbWRsaW5lLnJzdAorKysgYi9Eb2MvdXNpbmcvY21kbGluZS5yc3QKQEAgLTI0LDcgKzI0LDcgQEAKIAogV2hlbiBpbnZva2luZyBQeXRob24sIHlvdSBtYXkgc3BlY2lmeSBhbnkgb2YgdGhlc2Ugb3B0aW9uczo6CiAKLSAgICBweXRob24gWy1iQmRFaGlPUnFzU3V2Vld4P10gWy1jIGNvbW1hbmQgfCAtbSBtb2R1bGUtbmFtZSB8IHNjcmlwdCB8IC0gXSBbYXJnc10KKyAgICBweXRob24gWy1iQmRFaGlPcXNTdXZWV3g/XSBbLWMgY29tbWFuZCB8IC1tIG1vZHVsZS1uYW1lIHwgc2NyaXB0IHwgLSBdIFthcmdzXQogCiBUaGUgbW9zdCBjb21tb24gdXNlIGNhc2UgaXMsIG9mIGNvdXJzZSwgYSBzaW1wbGUgaW52b2NhdGlvbiBvZiBhIHNjcmlwdDo6CiAKQEAgLTI2Myw3ICsyNjMsOSBAQAogLi4gY21kb3B0aW9uOjogLVMKIAogICAgRGlzYWJsZSB0aGUgaW1wb3J0IG9mIHRoZSBtb2R1bGUgOm1vZDpgc2l0ZWAgYW5kIHRoZSBzaXRlLWRlcGVuZGVudAotICAgbWFuaXB1bGF0aW9ucyBvZiA6ZGF0YTpgc3lzLnBhdGhgIHRoYXQgaXQgZW50YWlscy4KKyAgIG1hbmlwdWxhdGlvbnMgb2YgOmRhdGE6YHN5cy5wYXRoYCB0aGF0IGl0IGVudGFpbHMuICBBbHNvIGRpc2FibGUgdGhlc2UKKyAgIG1hbmlwdWxhdGlvbnMgaWYgOm1vZDpgc2l0ZWAgaXMgZXhwbGljaXRseSBpbXBvcnRlZCBsYXRlciAoY2FsbAorICAgOmZ1bmM6YHNpdGUubWFpbmAgaWYgeW91IHdhbnQgdGhlbSB0byBiZSB0cmlnZ2VyZWQpLgogCiAKIC4uIGNtZG9wdGlvbjo6IC11CkBAIC00NzIsNyArNDc0LDcgQEAKIC4uIGVudnZhcjo6IFBZVEhPTkNBU0VPSwogCiAgICBJZiB0aGlzIGlzIHNldCwgUHl0aG9uIGlnbm9yZXMgY2FzZSBpbiA6a2V5d29yZDpgaW1wb3J0YCBzdGF0ZW1lbnRzLiAgVGhpcwotICAgb25seSB3b3JrcyBvbiBXaW5kb3dzLCBPUyBYLCBhbmQgT1MvMi4KKyAgIG9ubHkgd29ya3Mgb24gV2luZG93cyBhbmQgT1MgWC4KIAogCiAuLiBlbnZ2YXI6OiBQWVRIT05ET05UV1JJVEVCWVRFQ09ERQpAQCAtNDg0LDkgKzQ4Niw4IEBACiAKIC4uIGVudnZhcjo6IFBZVEhPTkhBU0hTRUVECiAKLSAgIElmIHRoaXMgdmFyaWFibGUgaXMgc2V0IHRvIGBgcmFuZG9tYGAsIHRoZSBlZmZlY3QgaXMgdGhlIHNhbWUgYXMgc3BlY2lmeWluZwotICAgdGhlIDpvcHRpb246YC1SYCBvcHRpb246IGEgcmFuZG9tIHZhbHVlIGlzIHVzZWQgdG8gc2VlZCB0aGUgaGFzaGVzIG9mIHN0ciwKLSAgIGJ5dGVzIGFuZCBkYXRldGltZSBvYmplY3RzLgorICAgSWYgdGhpcyB2YXJpYWJsZSBpcyBzZXQgdG8gYGByYW5kb21gYCwgYSByYW5kb20gdmFsdWUgaXMgdXNlZCB0byBzZWVkIHRoZQorICAgaGFzaGVzIG9mIHN0ciwgYnl0ZXMgYW5kIGRhdGV0aW1lIG9iamVjdHMuCiAKICAgIElmIDplbnZ2YXI6YFBZVEhPTkhBU0hTRUVEYCBpcyBzZXQgdG8gYW4gaW50ZWdlciB2YWx1ZSwgaXQgaXMgdXNlZCBhcyBhIGZpeGVkCiAgICBzZWVkIGZvciBnZW5lcmF0aW5nIHRoZSBoYXNoKCkgb2YgdGhlIHR5cGVzIGNvdmVyZWQgYnkgdGhlIGhhc2gKQEAgLTQ5Nyw4ICs0OTgsNyBAQAogICAgdmFsdWVzLgogCiAgICBUaGUgaW50ZWdlciBtdXN0IGJlIGEgZGVjaW1hbCBudW1iZXIgaW4gdGhlIHJhbmdlIFswLDQyOTQ5NjcyOTVdLiAgU3BlY2lmeWluZwotICAgdGhlIHZhbHVlIDAgd2lsbCBsZWFkIHRvIHRoZSBzYW1lIGhhc2ggdmFsdWVzIGFzIHdoZW4gaGFzaCByYW5kb21pemF0aW9uIGlzCi0gICBkaXNhYmxlZC4KKyAgIHRoZSB2YWx1ZSAwIHdpbGwgZGlzYWJsZSBoYXNoIHJhbmRvbWl6YXRpb24uCiAKICAgIC4uIHZlcnNpb25hZGRlZDo6IDMuMi4zCiAKQEAgLTUyOCw4ICs1MjgsOCBAQAogCiAgICBEZWZpbmVzIHRoZSA6ZGF0YTpgdXNlciBiYXNlIGRpcmVjdG9yeSA8c2l0ZS5VU0VSX0JBU0U+YCwgd2hpY2ggaXMgdXNlZCB0bwogICAgY29tcHV0ZSB0aGUgcGF0aCBvZiB0aGUgOmRhdGE6YHVzZXIgc2l0ZS1wYWNrYWdlcyBkaXJlY3RvcnkgPHNpdGUuVVNFUl9TSVRFPmAKLSAgIGFuZCA6cmVmOmBEaXN0dXRpbHMgaW5zdGFsbGF0aW9uIHBhdGhzIDxpbnN0LWFsdC1pbnN0YWxsLXVzZXI+YCBmb3IgYGBweXRob24KLSAgIHNldHVwLnB5IGluc3RhbGwgLS11c2VyYGAuCisgICBhbmQgOnJlZjpgUGFja2FnaW5nIGluc3RhbGxhdGlvbiBwYXRocyA8cGFja2FnaW5nLWFsdC1pbnN0YWxsLXVzZXI+YCBmb3IKKyAgIGBgcHlzZXR1cCBydW4gaW5zdGFsbF9kaXN0IC0tdXNlcmBgLgogCiAgICAuLiBzZWVhbHNvOjoKIApAQCAtNTQ4LDYgKzU0OCwxNCBAQAogICAgc2VwYXJhdGVkIHN0cmluZywgaXQgaXMgZXF1aXZhbGVudCB0byBzcGVjaWZ5aW5nIDpvcHRpb246YC1XYCBtdWx0aXBsZQogICAgdGltZXMuCiAKKy4uIGVudnZhcjo6IFBZVEhPTkZBVUxUSEFORExFUgorCisgICBJZiB0aGlzIGVudmlyb25tZW50IHZhcmlhYmxlIGlzIHNldCwgOmZ1bmM6YGZhdWx0aGFuZGxlci5lbmFibGVgIGlzIGNhbGxlZAorICAgYXQgc3RhcnR1cDogaW5zdGFsbCBhIGhhbmRsZXIgZm9yIDpjb25zdDpgU0lHU0VHVmAsIDpjb25zdDpgU0lHRlBFYCwKKyAgIDpjb25zdDpgU0lHQUJSVGAsIDpjb25zdDpgU0lHQlVTYCBhbmQgOmNvbnN0OmBTSUdJTExgIHNpZ25hbHMgdG8gZHVtcCB0aGUKKyAgIFB5dGhvbiB0cmFjZWJhY2suICBUaGlzIGlzIGVxdWl2YWxlbnQgdG8gOm9wdGlvbjpgLVhgIGBgZmF1bHRoYW5kbGVyYGAKKyAgIG9wdGlvbi4KKwogCiBEZWJ1Zy1tb2RlIHZhcmlhYmxlcwogfn5+fn5+fn5+fn5+fn5+fn5+fn4KZGlmZiAtLWdpdCBhL0RvYy93aGF0c25ldy8zLjIucnN0IGIvRG9jL3doYXRzbmV3LzMuMi5yc3QKaW5kZXggMDU1M2VjMy4uOTk4MjdmZiAxMDA2NDQKLS0tIGEvRG9jL3doYXRzbmV3LzMuMi5yc3QKKysrIGIvRG9jL3doYXRzbmV3LzMuMi5yc3QKQEAgLTI3MCw3ICsyNzAsNyBAQAogICAgICAgZS5zdWJtaXQoc2h1dGlsLmNvcHksICdzcmMxLnR4dCcsICdkZXN0MS50eHQnKQogICAgICAgZS5zdWJtaXQoc2h1dGlsLmNvcHksICdzcmMyLnR4dCcsICdkZXN0Mi50eHQnKQogICAgICAgZS5zdWJtaXQoc2h1dGlsLmNvcHksICdzcmMzLnR4dCcsICdkZXN0My50eHQnKQotICAgICAgZS5zdWJtaXQoc2h1dGlsLmNvcHksICdzcmM0LnR4dCcsICdkZXN0NC50eHQnKQorICAgICAgZS5zdWJtaXQoc2h1dGlsLmNvcHksICdzcmMzLnR4dCcsICdkZXN0NC50eHQnKQogCiAuLiBzZWVhbHNvOjoKIApAQCAtMjM1NCw3ICsyMzU0LDcgQEAKICAgKENvbnRyaWJ1dGVkIGJ5IEFudG9pbmUgUGl0cm91OyA6aXNzdWU6YDMwMDFgLikKIAogKiBUaGUgZmFzdC1zZWFyY2ggYWxnb3JpdGhtIGluIHN0cmluZ2xpYiBpcyBub3cgdXNlZCBieSB0aGUgOm1ldGg6YHNwbGl0YCwKLSAgOm1ldGg6YHNwbGl0bGluZXNgIGFuZCA6bWV0aDpgcmVwbGFjZWAgbWV0aG9kcyBvbgorICA6bWV0aDpgcnNwbGl0YCwgOm1ldGg6YHNwbGl0bGluZXNgIGFuZCA6bWV0aDpgcmVwbGFjZWAgbWV0aG9kcyBvbgogICA6Y2xhc3M6YGJ5dGVzYCwgOmNsYXNzOmBieXRlYXJyYXlgIGFuZCA6Y2xhc3M6YHN0cmAgb2JqZWN0cy4gTGlrZXdpc2UsIHRoZQogICBhbGdvcml0aG0gaXMgYWxzbyB1c2VkIGJ5IDptZXRoOmByZmluZGAsIDptZXRoOmByaW5kZXhgLCA6bWV0aDpgcnNwbGl0YCBhbmQKICAgOm1ldGg6YHJwYXJ0aXRpb25gLgpAQCAtMjQ3MSwxNCArMjQ3MSwxNCBAQAogCiBJbiBhZGRpdGlvbiB0byB0aGUgZXhpc3RpbmcgU3VidmVyc2lvbiBjb2RlIHJlcG9zaXRvcnkgYXQgaHR0cDovL3N2bi5weXRob24ub3JnCiB0aGVyZSBpcyBub3cgYSBgTWVyY3VyaWFsIDxodHRwOi8vbWVyY3VyaWFsLnNlbGVuaWMuY29tLz5gXyByZXBvc2l0b3J5IGF0Ci1odHRwOi8vaGcucHl0aG9uLm9yZy9cLgoraHR0cDovL2hnLnB5dGhvbi5vcmcvIC4KIAogQWZ0ZXIgdGhlIDMuMiByZWxlYXNlLCB0aGVyZSBhcmUgcGxhbnMgdG8gc3dpdGNoIHRvIE1lcmN1cmlhbCBhcyB0aGUgcHJpbWFyeQogcmVwb3NpdG9yeS4gIFRoaXMgZGlzdHJpYnV0ZWQgdmVyc2lvbiBjb250cm9sIHN5c3RlbSBzaG91bGQgbWFrZSBpdCBlYXNpZXIgZm9yCiBtZW1iZXJzIG9mIHRoZSBjb21tdW5pdHkgdG8gY3JlYXRlIGFuZCBzaGFyZSBleHRlcm5hbCBjaGFuZ2VzZXRzLiAgU2VlCiA6cGVwOmAzODVgIGZvciBkZXRhaWxzLgogCi1UbyBsZWFybiB0aGUgbmV3IHZlcnNpb24gY29udHJvbCBzeXN0ZW0sIHNlZSB0aGUgYHR1dG9yaWFsIGJ5IEpvZWwKK1RvIGxlYXJuIHRvIHVzZSB0aGUgbmV3IHZlcnNpb24gY29udHJvbCBzeXN0ZW0sIHNlZSB0aGUgYHR1dG9yaWFsIGJ5IEpvZWwKIFNwb2xza3kgPGh0dHA6Ly9oZ2luaXQuY29tPmBfIG9yIHRoZSBgR3VpZGUgdG8gTWVyY3VyaWFsIFdvcmtmbG93cwogPGh0dHA6Ly9tZXJjdXJpYWwuc2VsZW5pYy5jb20vZ3VpZGUvPmBfLgogCmRpZmYgLS1naXQgYS9Eb2Mvd2hhdHNuZXcvMy4zLnJzdCBiL0RvYy93aGF0c25ldy8zLjMucnN0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNhMTIzY2QKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2Mvd2hhdHNuZXcvMy4zLnJzdApAQCAtMCwwICsxLDExODYgQEAKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAgV2hhdCdzIE5ldyBJbiBQeXRob24gMy4zCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisKKzpBdXRob3I6IFJheW1vbmQgSGV0dGluZ2VyCis6UmVsZWFzZTogfHJlbGVhc2V8Cis6RGF0ZTogfHRvZGF5fAorCisuLiBSdWxlcyBmb3IgbWFpbnRlbmFuY2U6CisKKyAgICogQW55b25lIGNhbiBhZGQgdGV4dCB0byB0aGlzIGRvY3VtZW50LiAgRG8gbm90IHNwZW5kIHZlcnkgbXVjaCB0aW1lCisgICBvbiB0aGUgd29yZGluZyBvZiB5b3VyIGNoYW5nZXMsIGJlY2F1c2UgeW91ciB0ZXh0IHdpbGwgcHJvYmFibHkKKyAgIGdldCByZXdyaXR0ZW4gdG8gc29tZSBkZWdyZWUuCisKKyAgICogVGhlIG1haW50YWluZXIgd2lsbCBnbyB0aHJvdWdoIE1pc2MvTkVXUyBwZXJpb2RpY2FsbHkgYW5kIGFkZAorICAgY2hhbmdlczsgaXQncyB0aGVyZWZvcmUgbW9yZSBpbXBvcnRhbnQgdG8gYWRkIHlvdXIgY2hhbmdlcyB0bworICAgTWlzYy9ORVdTIHRoYW4gdG8gdGhpcyBmaWxlLgorCisgICAqIFRoaXMgaXMgbm90IGEgY29tcGxldGUgbGlzdCBvZiBldmVyeSBzaW5nbGUgY2hhbmdlOyBjb21wbGV0ZW5lc3MKKyAgIGlzIHRoZSBwdXJwb3NlIG9mIE1pc2MvTkVXUy4gIFNvbWUgY2hhbmdlcyBJIGNvbnNpZGVyIHRvbyBzbWFsbAorICAgb3IgZXNvdGVyaWMgdG8gaW5jbHVkZS4gIElmIHN1Y2ggYSBjaGFuZ2UgaXMgYWRkZWQgdG8gdGhlIHRleHQsCisgICBJJ2xsIGp1c3QgcmVtb3ZlIGl0LiAgKFRoaXMgaXMgYW5vdGhlciByZWFzb24geW91IHNob3VsZG4ndCBzcGVuZAorICAgdG9vIG11Y2ggdGltZSBvbiB3cml0aW5nIHlvdXIgYWRkaXRpb24uKQorCisgICAqIElmIHlvdSB3YW50IHRvIGRyYXcgeW91ciBuZXcgdGV4dCB0byB0aGUgYXR0ZW50aW9uIG9mIHRoZQorICAgbWFpbnRhaW5lciwgYWRkICdYWFgnIHRvIHRoZSBiZWdpbm5pbmcgb2YgdGhlIHBhcmFncmFwaCBvcgorICAgc2VjdGlvbi4KKworICAgKiBJdCdzIE9LIHRvIGp1c3QgYWRkIGEgZnJhZ21lbnRhcnkgbm90ZSBhYm91dCBhIGNoYW5nZS4gIEZvcgorICAgZXhhbXBsZTogIlhYWCBEZXNjcmliZSB0aGUgdHJhbnNtb2dyaWZ5KCkgZnVuY3Rpb24gYWRkZWQgdG8gdGhlCisgICBzb2NrZXQgbW9kdWxlLiIgIFRoZSBtYWludGFpbmVyIHdpbGwgcmVzZWFyY2ggdGhlIGNoYW5nZSBhbmQKKyAgIHdyaXRlIHRoZSBuZWNlc3NhcnkgdGV4dC4KKworICAgKiBZb3UgY2FuIGNvbW1lbnQgb3V0IHlvdXIgYWRkaXRpb25zIGlmIHlvdSBsaWtlLCBidXQgaXQncyBub3QKKyAgIG5lY2Vzc2FyeSAoZXNwZWNpYWxseSB3aGVuIGEgZmluYWwgcmVsZWFzZSBpcyBzb21lIG1vbnRocyBhd2F5KS4KKworICAgKiBDcmVkaXQgdGhlIGF1dGhvciBvZiBhIHBhdGNoIG9yIGJ1Z2ZpeC4gICBKdXN0IHRoZSBuYW1lIGlzCisgICBzdWZmaWNpZW50OyB0aGUgZS1tYWlsIGFkZHJlc3MgaXNuJ3QgbmVjZXNzYXJ5LgorCisgICAqIEl0J3MgaGVscGZ1bCB0byBhZGQgdGhlIGJ1Zy9wYXRjaCBudW1iZXIgYXMgYSBjb21tZW50OgorCisgICBYWFggRGVzY3JpYmUgdGhlIHRyYW5zbW9ncmlmeSgpIGZ1bmN0aW9uIGFkZGVkIHRvIHRoZSBzb2NrZXQKKyAgIG1vZHVsZS4KKyAgIChDb250cmlidXRlZCBieSBQLlkuIERldmVsb3BlciBpbiA6aXNzdWU6YDEyMzQ1YC4pCisKKyAgIFRoaXMgc2F2ZXMgdGhlIG1haW50YWluZXIgdGhlIGVmZm9ydCBvZiBnb2luZyB0aHJvdWdoIHRoZSBNZXJjdXJpYWwgbG9nCisgICB3aGVuIHJlc2VhcmNoaW5nIGEgY2hhbmdlLgorCitUaGlzIGFydGljbGUgZXhwbGFpbnMgdGhlIG5ldyBmZWF0dXJlcyBpbiBQeXRob24gMy4zLCBjb21wYXJlZCB0byAzLjIuCisKKworLi4gcGVwLTMxMTgtdXBkYXRlOgorCitQRVAgMzExODogTmV3IG1lbW9yeXZpZXcgaW1wbGVtZW50YXRpb24gYW5kIGJ1ZmZlciBwcm90b2NvbCBkb2N1bWVudGF0aW9uCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKKzppc3N1ZTpgMTAxODFgIC0gbWVtb3J5dmlldyBidWcgZml4ZXMgYW5kIGZlYXR1cmVzLgorICBXcml0dGVuIGJ5IFN0ZWZhbiBLcmFoLgorCitUaGUgbmV3IG1lbW9yeXZpZXcgaW1wbGVtZW50YXRpb24gY29tcHJlaGVuc2l2ZWx5IGZpeGVzIGFsbCBvd25lcnNoaXAgYW5kCitsaWZldGltZSBpc3N1ZXMgb2YgZHluYW1pY2FsbHkgYWxsb2NhdGVkIGZpZWxkcyBpbiB0aGUgUHlfYnVmZmVyIHN0cnVjdAordGhhdCBsZWQgdG8gbXVsdGlwbGUgY3Jhc2ggcmVwb3J0cy4gQWRkaXRpb25hbGx5LCBzZXZlcmFsIGZ1bmN0aW9ucyB0aGF0CitjcmFzaGVkIG9yIHJldHVybmVkIGluY29ycmVjdCByZXN1bHRzIGZvciBub24tY29udGlndW91cyBvciBtdWx0aS1kaW1lbnNpb25hbAoraW5wdXQgaGF2ZSBiZWVuIGZpeGVkLgorCitUaGUgbWVtb3J5dmlldyBvYmplY3Qgbm93IGhhcyBhIFBFUC0zMTE4IGNvbXBsaWFudCBnZXRidWZmZXJwcm9jKCkKK3RoYXQgY2hlY2tzIHRoZSBjb25zdW1lcidzIHJlcXVlc3QgdHlwZS4gTWFueSBuZXcgZmVhdHVyZXMgaGF2ZSBiZWVuCithZGRlZCwgbW9zdCBvZiB0aGVtIHdvcmsgaW4gZnVsbCBnZW5lcmFsaXR5IGZvciBub24tY29udGlndW91cyBhcnJheXMKK2FuZCBhcnJheXMgd2l0aCBzdWJvZmZzZXRzLgorCitUaGUgZG9jdW1lbnRhdGlvbiBoYXMgYmVlbiB1cGRhdGVkLCBjbGVhcmx5IHNwZWxsaW5nIG91dCByZXNwb25zaWJpbGl0aWVzCitmb3IgYm90aCBleHBvcnRlcnMgYW5kIGNvbnN1bWVycy4gQnVmZmVyIHJlcXVlc3QgZmxhZ3MgYXJlIGdyb3VwZWQgaW50bworYmFzaWMgYW5kIGNvbXBvdW5kIGZsYWdzLiBUaGUgbWVtb3J5IGxheW91dCBvZiBub24tY29udGlndW91cyBhbmQKK211bHRpLWRpbWVuc2lvbmFsIE51bVB5LXN0eWxlIGFycmF5cyBpcyBleHBsYWluZWQuCisKK0ZlYXR1cmVzCistLS0tLS0tLQorCisqIEFsbCBuYXRpdmUgc2luZ2xlIGNoYXJhY3RlciBmb3JtYXQgc3BlY2lmaWVycyBpbiBzdHJ1Y3QgbW9kdWxlIHN5bnRheAorICAob3B0aW9uYWxseSBwcmVmaXhlZCB3aXRoICdAJykgYXJlIG5vdyBzdXBwb3J0ZWQuCisKKyogV2l0aCBzb21lIHJlc3RyaWN0aW9ucywgdGhlIGNhc3QoKSBtZXRob2QgYWxsb3dzIGNoYW5naW5nIG9mIGZvcm1hdCBhbmQKKyAgc2hhcGUgb2YgQy1jb250aWd1b3VzIGFycmF5cy4KKworKiBNdWx0aS1kaW1lbnNpb25hbCBsaXN0IHJlcHJlc2VudGF0aW9ucyBhcmUgc3VwcG9ydGVkIGZvciBhbnkgYXJyYXkgdHlwZS4KKworKiBNdWx0aS1kaW1lbnNpb25hbCBjb21wYXJpc29ucyBhcmUgc3VwcG9ydGVkIGZvciBhbnkgYXJyYXkgdHlwZS4KKworKiBBbGwgYXJyYXkgdHlwZXMgYXJlIGhhc2hhYmxlIGlmIHRoZSBleHBvcnRpbmcgb2JqZWN0IGlzIGhhc2hhYmxlCisgIGFuZCB0aGUgdmlldyBpcyByZWFkLW9ubHkuIChDb250cmlidXRlZCBieSBBbnRvaW5lIFBpdHJvdSBpbgorICA6aXNzdWU6YDEzNDExYCkKKworCisqIEFyYml0cmFyeSBzbGljaW5nIG9mIGFueSAxLUQgYXJyYXlzIHR5cGUgaXMgc3VwcG9ydGVkLiBGb3IgZXhhbXBsZSwgaXQKKyAgaXMgbm93IHBvc3NpYmxlIHRvIHJldmVyc2UgYSBtZW1vcnl2aWV3IGluIE8oMSkgYnkgdXNpbmcgYSBuZWdhdGl2ZSBzdGVwLgorCitBUEkgY2hhbmdlcworLS0tLS0tLS0tLS0KKworKiBUaGUgbWF4aW11bSBudW1iZXIgb2YgZGltZW5zaW9ucyBpcyBvZmZpY2lhbGx5IGxpbWl0ZWQgdG8gNjQuCisKKyogVGhlIHJlcHJlc2VudGF0aW9uIG9mIGVtcHR5IHNoYXBlLCBzdHJpZGVzIGFuZCBzdWJvZmZzZXRzIGlzIG5vdworICBhbiBlbXB0eSB0dXBsZSBpbnN0ZWFkIG9mIE5vbmUuCisKKyogQWNjZXNzaW5nIGEgbWVtb3J5dmlldyBlbGVtZW50IHdpdGggZm9ybWF0ICdCJyAodW5zaWduZWQgYnl0ZXMpCisgIG5vdyByZXR1cm5zIGFuIGludGVnZXIgKGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgc3RydWN0IG1vZHVsZSBzeW50YXgpLgorICBGb3IgcmV0dXJuaW5nIGEgYnl0ZXMgb2JqZWN0IHRoZSB2aWV3IG11c3QgYmUgY2FzdCB0byAnYycgZmlyc3QuCisKKyogRm9yIGZ1cnRoZXIgY2hhbmdlcyBzZWUgYEJ1aWxkIGFuZCBDIEFQSSBDaGFuZ2VzYF8gYW5kIGBQb3J0aW5nIEMgY29kZWBfIC4KKworLi4gX3BlcC0zOTM6CisKK1BFUCAzOTM6IEZsZXhpYmxlIFN0cmluZyBSZXByZXNlbnRhdGlvbgorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKK1RoZSBVbmljb2RlIHN0cmluZyB0eXBlIGlzIGNoYW5nZWQgdG8gc3VwcG9ydCBtdWx0aXBsZSBpbnRlcm5hbAorcmVwcmVzZW50YXRpb25zLCBkZXBlbmRpbmcgb24gdGhlIGNoYXJhY3RlciB3aXRoIHRoZSBsYXJnZXN0IFVuaWNvZGUgb3JkaW5hbAorKDEsIDIsIG9yIDQgYnl0ZXMpIGluIHRoZSByZXByZXNlbnRlZCBzdHJpbmcuICBUaGlzIGFsbG93cyBhIHNwYWNlLWVmZmljaWVudAorcmVwcmVzZW50YXRpb24gaW4gY29tbW9uIGNhc2VzLCBidXQgZ2l2ZXMgYWNjZXNzIHRvIGZ1bGwgVUNTLTQgb24gYWxsCitzeXN0ZW1zLiAgRm9yIGNvbXBhdGliaWxpdHkgd2l0aCBleGlzdGluZyBBUElzLCBzZXZlcmFsIHJlcHJlc2VudGF0aW9ucyBtYXkKK2V4aXN0IGluIHBhcmFsbGVsOyBvdmVyIHRpbWUsIHRoaXMgY29tcGF0aWJpbGl0eSBzaG91bGQgYmUgcGhhc2VkIG91dC4KKworT24gdGhlIFB5dGhvbiBzaWRlLCB0aGVyZSBzaG91bGQgYmUgbm8gZG93bnNpZGUgdG8gdGhpcyBjaGFuZ2UuCisKK09uIHRoZSBDIEFQSSBzaWRlLCBQRVAgMzkzIGlzIGZ1bGx5IGJhY2t3YXJkIGNvbXBhdGlibGUuICBUaGUgbGVnYWN5IEFQSQorc2hvdWxkIHJlbWFpbiBhdmFpbGFibGUgYXQgbGVhc3QgZml2ZSB5ZWFycy4gIEFwcGxpY2F0aW9ucyB1c2luZyB0aGUgbGVnYWN5CitBUEkgd2lsbCBub3QgZnVsbHkgYmVuZWZpdCBvZiB0aGUgbWVtb3J5IHJlZHVjdGlvbiwgb3IgLSB3b3JzZSAtIG1heSB1c2UKK2EgYml0IG1vcmUgbWVtb3J5LCBiZWNhdXNlIFB5dGhvbiBtYXkgaGF2ZSB0byBtYWludGFpbiB0d28gdmVyc2lvbnMgb2YgZWFjaAorc3RyaW5nIChpbiB0aGUgbGVnYWN5IGZvcm1hdCBhbmQgaW4gdGhlIG5ldyBlZmZpY2llbnQgc3RvcmFnZSkuCisKK0Z1bmN0aW9uYWxpdHkKKy0tLS0tLS0tLS0tLS0KKworQ2hhbmdlcyBpbnRyb2R1Y2VkIGJ5IDpwZXA6YDM5M2AgYXJlIHRoZSBmb2xsb3dpbmc6CisKKyogUHl0aG9uIG5vdyBhbHdheXMgc3VwcG9ydHMgdGhlIGZ1bGwgcmFuZ2Ugb2YgVW5pY29kZSBjb2RlcG9pbnRzLCBpbmNsdWRpbmcKKyAgbm9uLUJNUCBvbmVzIChpLmUuIGZyb20gYGBVKzAwMDBgYCB0byBgYFUrMTBGRkZGYGApLiAgVGhlIGRpc3RpbmN0aW9uIGJldHdlZW4KKyAgbmFycm93IGFuZCB3aWRlIGJ1aWxkcyBubyBsb25nZXIgZXhpc3RzIGFuZCBQeXRob24gbm93IGJlaGF2ZXMgbGlrZSBhIHdpZGUKKyAgYnVpbGQsIGV2ZW4gdW5kZXIgV2luZG93cy4KKworKiBXaXRoIHRoZSBkZWF0aCBvZiBuYXJyb3cgYnVpbGRzLCB0aGUgcHJvYmxlbXMgc3BlY2lmaWMgdG8gbmFycm93IGJ1aWxkcyBoYXZlCisgIGFsc28gYmVlbiBmaXhlZCwgZm9yIGV4YW1wbGU6CisKKyAgKiA6ZnVuYzpgbGVuYCBub3cgYWx3YXlzIHJldHVybnMgMSBmb3Igbm9uLUJNUCBjaGFyYWN0ZXJzLAorICAgIHNvIGBgbGVuKCdcVTAwMTBGRkZGJykgPT0gMWBgOworCisgICogc3Vycm9nYXRlIHBhaXJzIGFyZSBub3QgcmVjb21iaW5lZCBpbiBzdHJpbmcgbGl0ZXJhbHMsCisgICAgc28gYGAnXHVEQkZGXHVERkZGJyAhPSAnXFUwMDEwRkZGRidgYDsKKworICAqIGluZGV4aW5nIG9yIHNsaWNpbmcgbm9uLUJNUCBjaGFyYWN0ZXJzIHJldHVybnMgdGhlIGV4cGVjdGVkIHZhbHVlLAorICAgIHNvIGBgJ1xVMDAxMEZGRkYnWzBdYGAgbm93IHJldHVybnMgYGAnXFUwMDEwRkZGRidgYCBhbmQgbm90IGBgJ1x1REJGRidgYDsKKworICAqIGFsbCBvdGhlciBmdW5jdGlvbnMgaW4gdGhlIHN0YW5kYXJkIGxpYnJhcnkgbm93IGNvcnJlY3RseSBoYW5kbGUKKyAgICBub24tQk1QIGNvZGVwb2ludHMuCisKKyogVGhlIHZhbHVlIG9mIDpkYXRhOmBzeXMubWF4dW5pY29kZWAgaXMgbm93IGFsd2F5cyBgYDExMTQxMTFgYCAoYGAweDEwRkZGRmBgCisgIGluIGhleGFkZWNpbWFsKS4gIFRoZSA6YzpmdW5jOmBQeVVuaWNvZGVfR2V0TWF4YCBmdW5jdGlvbiBzdGlsbCByZXR1cm5zCisgIGVpdGhlciBgYDB4RkZGRmBgIG9yIGBgMHgxMEZGRkZgYCBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSwgYW5kIGl0IHNob3VsZAorICBub3QgYmUgdXNlZCB3aXRoIHRoZSBuZXcgVW5pY29kZSBBUEkgKHNlZSA6aXNzdWU6YDEzMDU0YCkuCisKKyogVGhlIDpmaWxlOmAuL2NvbmZpZ3VyZWAgZmxhZyBgYC0td2l0aC13aWRlLXVuaWNvZGVgYCBoYXMgYmVlbiByZW1vdmVkLgorCitQZXJmb3JtYW5jZSBhbmQgcmVzb3VyY2UgdXNhZ2UKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitUaGUgc3RvcmFnZSBvZiBVbmljb2RlIHN0cmluZ3Mgbm93IGRlcGVuZHMgb24gdGhlIGhpZ2hlc3QgY29kZXBvaW50IGluIHRoZSBzdHJpbmc6CisKKyogcHVyZSBBU0NJSSBhbmQgTGF0aW4xIHN0cmluZ3MgKGBgVSswMDAwLVUrMDBGRmBgKSB1c2UgMSBieXRlIHBlciBjb2RlcG9pbnQ7CisKKyogQk1QIHN0cmluZ3MgKGBgVSswMDAwLVUrRkZGRmBgKSB1c2UgMiBieXRlcyBwZXIgY29kZXBvaW50OworCisqIG5vbi1CTVAgc3RyaW5ncyAoYGBVKzEwMDAwLVUrMTBGRkZGYGApIHVzZSA0IGJ5dGVzIHBlciBjb2RlcG9pbnQuCisKK1RoZSBuZXQgZWZmZWN0IGlzIHRoYXQgZm9yIG1vc3QgYXBwbGljYXRpb25zLCBtZW1vcnkgdXNhZ2Ugb2Ygc3RyaW5nCitzdG9yYWdlIHNob3VsZCBkZWNyZWFzZSBzaWduaWZpY2FudGx5IC0gZXNwZWNpYWxseSBjb21wYXJlZCB0byBmb3JtZXIKK3dpZGUgdW5pY29kZSBidWlsZHMgLSBhcywgaW4gbWFueSBjYXNlcywgc3RyaW5ncyB3aWxsIGJlIHB1cmUgQVNDSUkKK2V2ZW4gaW4gaW50ZXJuYXRpb25hbCBjb250ZXh0cyAoYmVjYXVzZSBtYW55IHN0cmluZ3Mgc3RvcmUgbm9uLWh1bWFuCitsYW5ndWFnZSBkYXRhLCBzdWNoIGFzIFhNTCBmcmFnbWVudHMsIEhUVFAgaGVhZGVycywgSlNPTi1lbmNvZGVkIGRhdGEsCitldGMuKS4gIFdlIGFsc28gaG9wZSB0aGF0IGl0IHdpbGwsIGZvciB0aGUgc2FtZSByZWFzb25zLCBpbmNyZWFzZSBDUFUKK2NhY2hlIGVmZmljaWVuY3kgb24gbm9uLXRyaXZpYWwgYXBwbGljYXRpb25zLiBUaGUgbWVtb3J5IHVzYWdlIG9mCitQeXRob24gMy4zIGlzIHR3byB0byB0aHJlZSB0aW1lcyBzbWFsbGVyIHRoYW4gUHl0aG9uIDMuMiwgYW5kIGEgbGl0dGxlCitiaXQgYmV0dGVyIHRoYW4gUHl0aG9uIDIuNywgb24gYSBEamFuZ28gYmVuY2htYXJrIChzZWUgdGhlIFBFUCBmb3IKK2RldGFpbHMpLgorCisKK1BFUCAzMTUxOiBSZXdvcmtpbmcgdGhlIE9TIGFuZCBJTyBleGNlcHRpb24gaGllcmFyY2h5Cis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCis6cGVwOmAzMTUxYCAtIFJld29ya2luZyB0aGUgT1MgYW5kIElPIGV4Y2VwdGlvbiBoaWVyYXJjaHkKKyBQRVAgd3JpdHRlbiBhbmQgaW1wbGVtZW50ZWQgYnkgQW50b2luZSBQaXRyb3UuCisKK1RoZSBoaWVyYXJjaHkgb2YgZXhjZXB0aW9ucyByYWlzZWQgYnkgb3BlcmF0aW5nIHN5c3RlbSBlcnJvcnMgaXMgbm93IGJvdGgKK3NpbXBsaWZpZWQgYW5kIGZpbmVyLWdyYWluZWQuCisKK1lvdSBkb24ndCBoYXZlIHRvIHdvcnJ5IGFueW1vcmUgYWJvdXQgY2hvb3NpbmcgdGhlIGFwcHJvcHJpYXRlIGV4Y2VwdGlvbgordHlwZSBiZXR3ZWVuIDpleGM6YE9TRXJyb3JgLCA6ZXhjOmBJT0Vycm9yYCwgOmV4YzpgRW52aXJvbm1lbnRFcnJvcmAsCis6ZXhjOmBXaW5kb3dzRXJyb3JgLCA6ZXhjOmBtbWFwLmVycm9yYCwgOmV4Yzpgc29ja2V0LmVycm9yYCBvcgorOmV4Yzpgc2VsZWN0LmVycm9yYC4gIEFsbCB0aGVzZSBleGNlcHRpb24gdHlwZXMgYXJlIG5vdyBvbmx5IG9uZToKKzpleGM6YE9TRXJyb3JgLiAgVGhlIG90aGVyIG5hbWVzIGFyZSBrZXB0IGFzIGFsaWFzZXMgZm9yIGNvbXBhdGliaWxpdHkKK3JlYXNvbnMuCisKK0Fsc28sIGl0IGlzIG5vdyBlYXNpZXIgdG8gY2F0Y2ggYSBzcGVjaWZpYyBlcnJvciBjb25kaXRpb24uICBJbnN0ZWFkIG9mCitpbnNwZWN0aW5nIHRoZSBgYGVycm5vYGAgYXR0cmlidXRlIChvciBgYGFyZ3NbMF1gYCkgZm9yIGEgcGFydGljdWxhcgorY29uc3RhbnQgZnJvbSB0aGUgOm1vZDpgZXJybm9gIG1vZHVsZSwgeW91IGNhbiBjYXRjaCB0aGUgYWRlcXVhdGUKKzpleGM6YE9TRXJyb3JgIHN1YmNsYXNzLiAgVGhlIGF2YWlsYWJsZSBzdWJjbGFzc2VzIGFyZSB0aGUgZm9sbG93aW5nOgorCisqIDpleGM6YEJsb2NraW5nSU9FcnJvcmAKKyogOmV4YzpgQ2hpbGRQcm9jZXNzRXJyb3JgCisqIDpleGM6YENvbm5lY3Rpb25FcnJvcmAKKyogOmV4YzpgRmlsZUV4aXN0c0Vycm9yYAorKiA6ZXhjOmBGaWxlTm90Rm91bmRFcnJvcmAKKyogOmV4YzpgSW50ZXJydXB0ZWRFcnJvcmAKKyogOmV4YzpgSXNBRGlyZWN0b3J5RXJyb3JgCisqIDpleGM6YE5vdEFEaXJlY3RvcnlFcnJvcmAKKyogOmV4YzpgUGVybWlzc2lvbkVycm9yYAorKiA6ZXhjOmBQcm9jZXNzTG9va3VwRXJyb3JgCisqIDpleGM6YFRpbWVvdXRFcnJvcmAKKworQW5kIHRoZSA6ZXhjOmBDb25uZWN0aW9uRXJyb3JgIGl0c2VsZiBoYXMgZmluZXItZ3JhaW5lZCBzdWJjbGFzc2VzOgorCisqIDpleGM6YEJyb2tlblBpcGVFcnJvcmAKKyogOmV4YzpgQ29ubmVjdGlvbkFib3J0ZWRFcnJvcmAKKyogOmV4YzpgQ29ubmVjdGlvblJlZnVzZWRFcnJvcmAKKyogOmV4YzpgQ29ubmVjdGlvblJlc2V0RXJyb3JgCisKK1RoYW5rcyB0byB0aGUgbmV3IGV4Y2VwdGlvbnMsIGNvbW1vbiB1c2FnZXMgb2YgdGhlIDptb2Q6YGVycm5vYCBjYW4gbm93IGJlCithdm9pZGVkLiAgRm9yIGV4YW1wbGUsIHRoZSBmb2xsb3dpbmcgY29kZSB3cml0dGVuIGZvciBQeXRob24gMy4yOjoKKworICAgIGZyb20gZXJybm8gaW1wb3J0IEVOT0VOVCwgRUFDQ0VTLCBFUEVSTQorCisgICAgdHJ5OgorICAgICAgICB3aXRoIG9wZW4oImRvY3VtZW50LnR4dCIpIGFzIGY6CisgICAgICAgICAgICBjb250ZW50ID0gZi5yZWFkKCkKKyAgICBleGNlcHQgSU9FcnJvciBhcyBlcnI6CisgICAgICAgIGlmIGVyci5lcnJubyA9PSBFTk9FTlQ6CisgICAgICAgICAgICBwcmludCgiZG9jdW1lbnQudHh0IGZpbGUgaXMgbWlzc2luZyIpCisgICAgICAgIGVsaWYgZXJyLmVycm5vIGluIChFQUNDRVMsIEVQRVJNKToKKyAgICAgICAgICAgIHByaW50KCJZb3UgYXJlIG5vdCBhbGxvd2VkIHRvIHJlYWQgZG9jdW1lbnQudHh0IikKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJhaXNlCisKK2NhbiBub3cgYmUgd3JpdHRlbiB3aXRob3V0IHRoZSA6bW9kOmBlcnJub2AgaW1wb3J0IGFuZCB3aXRob3V0IG1hbnVhbAoraW5zcGVjdGlvbiBvZiBleGNlcHRpb24gYXR0cmlidXRlczo6CisKKyAgICB0cnk6CisgICAgICAgIHdpdGggb3BlbigiZG9jdW1lbnQudHh0IikgYXMgZjoKKyAgICAgICAgICAgIGNvbnRlbnQgPSBmLnJlYWQoKQorICAgIGV4Y2VwdCBGaWxlTm90Rm91bmRFcnJvcjoKKyAgICAgICAgcHJpbnQoImRvY3VtZW50LnR4dCBmaWxlIGlzIG1pc3NpbmciKQorICAgIGV4Y2VwdCBQZXJtaXNzaW9uRXJyb3I6CisgICAgICAgIHByaW50KCJZb3UgYXJlIG5vdCBhbGxvd2VkIHRvIHJlYWQgZG9jdW1lbnQudHh0IikKKworCitQRVAgMzgwOiBTeW50YXggZm9yIERlbGVnYXRpbmcgdG8gYSBTdWJnZW5lcmF0b3IKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCis6cGVwOmAzODBgIC0gU3ludGF4IGZvciBEZWxlZ2F0aW5nIHRvIGEgU3ViZ2VuZXJhdG9yCisgUEVQIHdyaXR0ZW4gYnkgR3JlZyBFd2luZy4KKworUEVQIDM4MCBhZGRzIHRoZSBgYHlpZWxkIGZyb21gYCBleHByZXNzaW9uLCBhbGxvd2luZyBhIGdlbmVyYXRvciB0byBkZWxlZ2F0ZQorcGFydCBvZiBpdHMgb3BlcmF0aW9ucyB0byBhbm90aGVyIGdlbmVyYXRvci4gVGhpcyBhbGxvd3MgYSBzZWN0aW9uIG9mIGNvZGUKK2NvbnRhaW5pbmcgJ3lpZWxkJyB0byBiZSBmYWN0b3JlZCBvdXQgYW5kIHBsYWNlZCBpbiBhbm90aGVyIGdlbmVyYXRvci4KK0FkZGl0aW9uYWxseSwgdGhlIHN1YmdlbmVyYXRvciBpcyBhbGxvd2VkIHRvIHJldHVybiB3aXRoIGEgdmFsdWUsIGFuZCB0aGUKK3ZhbHVlIGlzIG1hZGUgYXZhaWxhYmxlIHRvIHRoZSBkZWxlZ2F0aW5nIGdlbmVyYXRvci4KKworV2hpbGUgZGVzaWduZWQgcHJpbWFyaWx5IGZvciB1c2UgaW4gZGVsZWdhdGluZyB0byBhIHN1YmdlbmVyYXRvciwgdGhlIGBgeWllbGQKK2Zyb21gYCBleHByZXNzaW9uIGFjdHVhbGx5IGFsbG93cyBkZWxlZ2F0aW9uIHRvIGFyYml0cmFyeSBzdWJpdGVyYXRvcnMuCisKK0ZvciBzaW1wbGUgaXRlcmF0b3JzLCBgYHlpZWxkIGZyb20gaXRlcmFibGVgYCBpcyBlc3NlbnRpYWxseSBqdXN0IGEgc2hvcnRlbmVkCitmb3JtIG9mIGBgZm9yIGl0ZW0gaW4gaXRlcmFibGU6IHlpZWxkIGl0ZW1gYDo6CisKKyAgICA+Pj4gZGVmIGcoeCk6CisgICAgLi4uICAgICB5aWVsZCBmcm9tIHJhbmdlKHgsIDAsIC0xKQorICAgIC4uLiAgICAgeWllbGQgZnJvbSByYW5nZSh4KQorICAgIC4uLgorICAgID4+PiBsaXN0KGcoNSkpCisgICAgWzUsIDQsIDMsIDIsIDEsIDAsIDEsIDIsIDMsIDRdCisKK0hvd2V2ZXIsIHVubGlrZSBhbiBvcmRpbmFyeSBsb29wLCBgYHlpZWxkIGZyb21gYCBhbGxvd3Mgc3ViZ2VuZXJhdG9ycyB0bworcmVjZWl2ZSBzZW50IGFuZCB0aHJvd24gdmFsdWVzIGRpcmVjdGx5IGZyb20gdGhlIGNhbGxpbmcgc2NvcGUsIGFuZAorcmV0dXJuIGEgZmluYWwgdmFsdWUgdG8gdGhlIG91dGVyIGdlbmVyYXRvcjo6CisKKyAgICA+Pj4gZGVmIGFjY3VtdWxhdGUoc3RhcnQ9MCk6CisgICAgLi4uICAgICB0YWxseSA9IHN0YXJ0CisgICAgLi4uICAgICB3aGlsZSAxOgorICAgIC4uLiAgICAgICAgIG5leHQgPSB5aWVsZAorICAgIC4uLiAgICAgICAgIGlmIG5leHQgaXMgTm9uZToKKyAgICAuLi4gICAgICAgICAgICAgcmV0dXJuIHRhbGx5CisgICAgLi4uICAgICAgICAgdGFsbHkgKz0gbmV4dAorICAgIC4uLgorICAgID4+PiBkZWYgZ2F0aGVyX3RhbGxpZXModGFsbGllcywgc3RhcnQ9MCk6CisgICAgLi4uICAgICB3aGlsZSAxOgorICAgIC4uLiAgICAgICAgIHRhbGx5ID0geWllbGQgZnJvbSBhY2N1bXVsYXRlKCkKKyAgICAuLi4gICAgICAgICB0YWxsaWVzLmFwcGVuZCh0YWxseSkKKyAgICAuLi4KKyAgICA+Pj4gdGFsbGllcyA9IFtdCisgICAgPj4+IGFjYyA9IGdhdGhlcl90YWxsaWVzKHRhbGxpZXMpCisgICAgPj4+IG5leHQoYWNjKSAjIEVuc3VyZSB0aGUgYWNjdW11bGF0b3IgaXMgcmVhZHkgdG8gYWNjZXB0IHZhbHVlcworICAgID4+PiBmb3IgaSBpbiByYW5nZSgxMCk6CisgICAgLi4uICAgICBhY2Muc2VuZChpKQorICAgIC4uLgorICAgID4+PiBhY2Muc2VuZChOb25lKSAjIEZpbmlzaCB0aGUgZmlyc3QgdGFsbHkKKyAgICA+Pj4gZm9yIGkgaW4gcmFuZ2UoNSk6CisgICAgLi4uICAgICBhY2Muc2VuZChpKQorICAgIC4uLgorICAgID4+PiBhY2Muc2VuZChOb25lKSAjIEZpbmlzaCB0aGUgc2Vjb25kIHRhbGx5CisgICAgPj4+IHRhbGxpZXMKKyAgICBbNDUsIDEwXQorCitUaGUgbWFpbiBwcmluY2lwbGUgZHJpdmluZyB0aGlzIGNoYW5nZSBpcyB0byBhbGxvdyBldmVuIGdlbmVyYXRvcnMgdGhhdCBhcmUKK2Rlc2lnbmVkIHRvIGJlIHVzZWQgd2l0aCB0aGUgYGBzZW5kYGAgYW5kIGBgdGhyb3dgYCBtZXRob2RzIHRvIGJlIHNwbGl0IGludG8KK211bHRpcGxlIHN1YmdlbmVyYXRvcnMgYXMgZWFzaWx5IGFzIGEgc2luZ2xlIGxhcmdlIGZ1bmN0aW9uIGNhbiBiZSBzcGxpdCBpbnRvCittdWx0aXBsZSBzdWJmdW5jdGlvbnMuCisKKyhJbXBsZW1lbnRhdGlvbiBieSBHcmVnIEV3aW5nLCBpbnRlZ3JhdGVkIGludG8gMy4zIGJ5IFJlbmF1ZCBCbGFuY2gsIFJ5YW4KK0tlbGx5IGFuZCBOaWNrIENvZ2hsYW4sIGRvY3VtZW50YXRpb24gYnkgWmJpZ25pZXcgSsSZZHJ6ZWpld3NraS1Tem1layBhbmQKK05pY2sgQ29naGxhbikKKworCitQRVAgNDA5OiBTdXBwcmVzc2luZyBleGNlcHRpb24gY29udGV4dAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworOnBlcDpgNDA5YCAtIFN1cHByZXNzaW5nIGV4Y2VwdGlvbiBjb250ZXh0CisgUEVQIHdyaXR0ZW4gYnkgRXRoYW4gRnVybWFuLCBpbXBsZW1lbnRlZCBieSBFdGhhbiBGdXJtYW4gYW5kIE5pY2sgQ29naGxhbi4KKworUEVQIDQwOSBpbnRyb2R1Y2VzIG5ldyBzeW50YXggdGhhdCBhbGxvd3MgdGhlIGRpc3BsYXkgb2YgdGhlIGNoYWluZWQKK2V4Y2VwdGlvbiBjb250ZXh0IHRvIGJlIGRpc2FibGVkLiBUaGlzIGFsbG93cyBjbGVhbmVyIGVycm9yIG1lc3NhZ2VzIGluCithcHBsaWNhdGlvbnMgdGhhdCBjb252ZXJ0IGJldHdlZW4gZXhjZXB0aW9uIHR5cGVzOjoKKworICAgID4+PiBjbGFzcyBEOgorICAgIC4uLiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIGV4dHJhKToKKyAgICAuLi4gICAgICAgICBzZWxmLl9leHRyYV9hdHRyaWJ1dGVzID0gZXh0cmEKKyAgICAuLi4gICAgIGRlZiBfX2dldGF0dHJfXyhzZWxmLCBhdHRyKToKKyAgICAuLi4gICAgICAgICB0cnk6CisgICAgLi4uICAgICAgICAgICAgIHJldHVybiBzZWxmLl9leHRyYV9hdHRyaWJ1dGVzW2F0dHJdCisgICAgLi4uICAgICAgICAgZXhjZXB0IEtleUVycm9yOgorICAgIC4uLiAgICAgICAgICAgICByYWlzZSBBdHRyaWJ1dGVFcnJvcihhdHRyKSBmcm9tIE5vbmUKKyAgICAuLi4KKyAgICA+Pj4gRCh7fSkueAorICAgIFRyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KToKKyAgICAgIEZpbGUgIjxzdGRpbj4iLCBsaW5lIDEsIGluIDxtb2R1bGU+CisgICAgICBGaWxlICI8c3RkaW4+IiwgbGluZSA4LCBpbiBfX2dldGF0dHJfXworICAgIEF0dHJpYnV0ZUVycm9yOiB4CisKK1dpdGhvdXQgdGhlIGBgZnJvbSBOb25lYGAgc3VmZml4IHRvIHN1cHByZXNzIHRoZSBjYXVzZSwgdGhlIG9yaWdpbmFsCitleGNlcHRpb24gd291bGQgYmUgZGlzcGxheWVkIGJ5IGRlZmF1bHQ6OgorCisgICAgPj4+IGNsYXNzIEM6CisgICAgLi4uICAgICBkZWYgX19pbml0X18oc2VsZiwgZXh0cmEpOgorICAgIC4uLiAgICAgICAgIHNlbGYuX2V4dHJhX2F0dHJpYnV0ZXMgPSBleHRyYQorICAgIC4uLiAgICAgZGVmIF9fZ2V0YXR0cl9fKHNlbGYsIGF0dHIpOgorICAgIC4uLiAgICAgICAgIHRyeToKKyAgICAuLi4gICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2V4dHJhX2F0dHJpYnV0ZXNbYXR0cl0KKyAgICAuLi4gICAgICAgICBleGNlcHQgS2V5RXJyb3I6CisgICAgLi4uICAgICAgICAgICAgIHJhaXNlIEF0dHJpYnV0ZUVycm9yKGF0dHIpCisgICAgLi4uCisgICAgPj4+IEMoe30pLngKKyAgICBUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CisgICAgICBGaWxlICI8c3RkaW4+IiwgbGluZSA2LCBpbiBfX2dldGF0dHJfXworICAgIEtleUVycm9yOiAneCcKKworICAgIER1cmluZyBoYW5kbGluZyBvZiB0aGUgYWJvdmUgZXhjZXB0aW9uLCBhbm90aGVyIGV4Y2VwdGlvbiBvY2N1cnJlZDoKKworICAgIFRyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KToKKyAgICAgIEZpbGUgIjxzdGRpbj4iLCBsaW5lIDEsIGluIDxtb2R1bGU+CisgICAgICBGaWxlICI8c3RkaW4+IiwgbGluZSA4LCBpbiBfX2dldGF0dHJfXworICAgIEF0dHJpYnV0ZUVycm9yOiB4CisKK05vIGRlYnVnZ2luZyBjYXBhYmlsaXR5IGlzIGxvc3QsIGFzIHRoZSBvcmlnaW5hbCBleGNlcHRpb24gY29udGV4dCByZW1haW5zCithdmFpbGFibGUgaWYgbmVlZGVkIChmb3IgZXhhbXBsZSwgaWYgYW4gaW50ZXJ2ZW5pbmcgbGlicmFyeSBoYXMgaW5jb3JyZWN0bHkKK3N1cHByZXNzZWQgdmFsdWFibGUgdW5kZXJseWluZyBkZXRhaWxzKTo6CisKKyAgICA+Pj4gdHJ5OgorICAgIC4uLiAgICAgRCh7fSkueAorICAgIC4uLiBleGNlcHQgQXR0cmlidXRlRXJyb3IgYXMgZXhjOgorICAgIC4uLiAgICAgcHJpbnQocmVwcihleGMuX19jb250ZXh0X18pKQorICAgIC4uLgorICAgIEtleUVycm9yKCd4JywpCisKKworUEVQIDQxNDogRXhwbGljaXQgVW5pY29kZSBsaXRlcmFscworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworOnBlcDpgNDE0YCAtIEV4cGxpY2l0IFVuaWNvZGUgbGl0ZXJhbHMKKyBQRVAgd3JpdHRlbiBieSBBcm1pbiBSb25hY2hlci4KKworVG8gZWFzZSB0aGUgdHJhbnNpdGlvbiBmcm9tIFB5dGhvbiAyIGZvciBVbmljb2RlIGF3YXJlIFB5dGhvbiBhcHBsaWNhdGlvbnMKK3RoYXQgbWFrZSBoZWF2eSB1c2Ugb2YgVW5pY29kZSBsaXRlcmFscywgUHl0aG9uIDMuMyBvbmNlIGFnYWluIHN1cHBvcnRzIHRoZQorImBgdWBgIiBwcmVmaXggZm9yIHN0cmluZyBsaXRlcmFscy4gVGhpcyBwcmVmaXggaGFzIG5vIHNlbWFudGljIHNpZ25pZmljYW5jZQoraW4gUHl0aG9uIDMsIGl0IGlzIHByb3ZpZGVkIHNvbGVseSB0byByZWR1Y2UgdGhlIG51bWJlciBvZiBwdXJlbHkgbWVjaGFuaWNhbAorY2hhbmdlcyBpbiBtaWdyYXRpbmcgdG8gUHl0aG9uIDMsIG1ha2luZyBpdCBlYXNpZXIgZm9yIGRldmVsb3BlcnMgdG8gZm9jdXMgb24KK3RoZSBtb3JlIHNpZ25pZmljYW50IHNlbWFudGljIGNoYW5nZXMgKHN1Y2ggYXMgdGhlIHN0cmljdGVyIGRlZmF1bHQKK3NlcGFyYXRpb24gb2YgYmluYXJ5IGFuZCB0ZXh0IGRhdGEpLgorCisKK1BFUCAzMTU1OiBRdWFsaWZpZWQgbmFtZSBmb3IgY2xhc3NlcyBhbmQgZnVuY3Rpb25zCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCis6cGVwOmAzMTU1YCAtIFF1YWxpZmllZCBuYW1lIGZvciBjbGFzc2VzIGFuZCBmdW5jdGlvbnMKKyBQRVAgd3JpdHRlbiBhbmQgaW1wbGVtZW50ZWQgYnkgQW50b2luZSBQaXRyb3UuCisKK0Z1bmN0aW9ucyBhbmQgY2xhc3Mgb2JqZWN0cyBoYXZlIGEgbmV3IGBgX19xdWFsbmFtZV9fYGAgYXR0cmlidXRlIHJlcHJlc2VudGluZwordGhlICJwYXRoIiBmcm9tIHRoZSBtb2R1bGUgdG9wLWxldmVsIHRvIHRoZWlyIGRlZmluaXRpb24uICBGb3IgZ2xvYmFsIGZ1bmN0aW9ucworYW5kIGNsYXNzZXMsIHRoaXMgaXMgdGhlIHNhbWUgYXMgYGBfX25hbWVfX2BgLiAgRm9yIG90aGVyIGZ1bmN0aW9ucyBhbmQgY2xhc3NlcywKK2l0IHByb3ZpZGVzIGJldHRlciBpbmZvcm1hdGlvbiBhYm91dCB3aGVyZSB0aGV5IHdlcmUgYWN0dWFsbHkgZGVmaW5lZCwgYW5kCitob3cgdGhleSBtaWdodCBiZSBhY2Nlc3NpYmxlIGZyb20gdGhlIGdsb2JhbCBzY29wZS4KKworRXhhbXBsZSB3aXRoIChub24tYm91bmQpIG1ldGhvZHM6OgorCisgICA+Pj4gY2xhc3MgQzoKKyAgIC4uLiAgICAgZGVmIG1ldGgoc2VsZik6CisgICAuLi4gICAgICAgICBwYXNzCisgICA+Pj4gQy5tZXRoLl9fbmFtZV9fCisgICAnbWV0aCcKKyAgID4+PiBDLm1ldGguX19xdWFsbmFtZV9fCisgICAnQy5tZXRoJworCitFeGFtcGxlIHdpdGggbmVzdGVkIGNsYXNzZXM6OgorCisgICA+Pj4gY2xhc3MgQzoKKyAgIC4uLiAgICAgY2xhc3MgRDoKKyAgIC4uLiAgICAgICAgIGRlZiBtZXRoKHNlbGYpOgorICAgLi4uICAgICAgICAgICAgIHBhc3MKKyAgIC4uLgorICAgPj4+IEMuRC5fX25hbWVfXworICAgJ0QnCisgICA+Pj4gQy5ELl9fcXVhbG5hbWVfXworICAgJ0MuRCcKKyAgID4+PiBDLkQubWV0aC5fX25hbWVfXworICAgJ21ldGgnCisgICA+Pj4gQy5ELm1ldGguX19xdWFsbmFtZV9fCisgICAnQy5ELm1ldGgnCisKK0V4YW1wbGUgd2l0aCBuZXN0ZWQgZnVuY3Rpb25zOjoKKworICAgPj4+IGRlZiBvdXRlcigpOgorICAgLi4uICAgICBkZWYgaW5uZXIoKToKKyAgIC4uLiAgICAgICAgIHBhc3MKKyAgIC4uLiAgICAgcmV0dXJuIGlubmVyCisgICAuLi4KKyAgID4+PiBvdXRlcigpLl9fbmFtZV9fCisgICAnaW5uZXInCisgICA+Pj4gb3V0ZXIoKS5fX3F1YWxuYW1lX18KKyAgICdvdXRlci48bG9jYWxzPi5pbm5lcicKKworVGhlIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aG9zZSBvYmplY3RzIGlzIGFsc28gY2hhbmdlZCB0byBpbmNsdWRlIHRoZQorbmV3LCBtb3JlIHByZWNpc2UgaW5mb3JtYXRpb246OgorCisgICA+Pj4gc3RyKEMuRCkKKyAgICI8Y2xhc3MgJ19fbWFpbl9fLkMuRCc+IgorICAgPj4+IHN0cihDLkQubWV0aCkKKyAgICc8ZnVuY3Rpb24gQy5ELm1ldGggYXQgMHg3ZjQ2YjlmZTMxZTA+JworCisKK090aGVyIExhbmd1YWdlIENoYW5nZXMKKz09PT09PT09PT09PT09PT09PT09PT0KKworU29tZSBzbWFsbGVyIGNoYW5nZXMgbWFkZSB0byB0aGUgY29yZSBQeXRob24gbGFuZ3VhZ2UgYXJlOgorCisqIEFkZGVkIHN1cHBvcnQgZm9yIFVuaWNvZGUgbmFtZSBhbGlhc2VzIGFuZCBuYW1lZCBzZXF1ZW5jZXMuCisgIEJvdGggOmZ1bmM6YHVuaWNvZGVkYXRhLmxvb2t1cCgpYCBhbmQgYGAnXE57Li4ufSdgYCBub3cgcmVzb2x2ZSBuYW1lIGFsaWFzZXMsCisgIGFuZCA6ZnVuYzpgdW5pY29kZWRhdGEubG9va3VwKClgIHJlc29sdmVzIG5hbWVkIHNlcXVlbmNlcyB0b28uCisKKyAgKENvbnRyaWJ1dGVkIGJ5IEV6aW8gTWVsb3R0aSBpbiA6aXNzdWU6YDEyNzUzYCkKKworKiBFcXVhbGl0eSBjb21wYXJpc29ucyBvbiA6ZnVuYzpgcmFuZ2VgIG9iamVjdHMgbm93IHJldHVybiBhIHJlc3VsdCByZWZsZWN0aW5nCisgIHRoZSBlcXVhbGl0eSBvZiB0aGUgdW5kZXJseWluZyBzZXF1ZW5jZXMgZ2VuZXJhdGVkIGJ5IHRob3NlIHJhbmdlIG9iamVjdHMuCisKKyAgKDppc3N1ZTpgMTMyMDFgKQorCisqIFRoZSBgYGNvdW50KClgYCwgYGBmaW5kKClgYCwgYGByZmluZCgpYGAsIGBgaW5kZXgoKWBgIGFuZCBgYHJpbmRleCgpYGAKKyAgbWV0aG9kcyBvZiA6Y2xhc3M6YGJ5dGVzYCBhbmQgOmNsYXNzOmBieXRlYXJyYXlgIG9iamVjdHMgbm93IGFjY2VwdCBhbgorICBpbnRlZ2VyIGJldHdlZW4gMCBhbmQgMjU1IGFzIHRoZWlyIGZpcnN0IGFyZ3VtZW50LgorCisgICg6aXNzdWU6YDEyMTcwYCkKKworKiBBIGRpY3QgbG9va3VwIG5vdyByYWlzZXMgYSA6ZXhjOmBSdW50aW1lRXJyb3JgIGlmIHRoZSBkaWN0IGlzIG1vZGlmaWVkIGR1cmluZworICB0aGUgbG9va3VwLiBJZiB5b3UgaW1wbGVtZW50IHlvdXIgb3duIGNvbXBhcmlzb24gZnVuY3Rpb24gZm9yIG9iamVjdHMgdXNlZAorICBhcyBkaWN0IGtleXMgYW5kIHRoZSBkaWN0IGlzIHNoYXJlZCBieSBtdWx0aXBsZSB0aHJlYWRzLCBhY2Nlc3MgdG8gdGhlIGRpY3QKKyAgc2hvdWxkIGJlIHByb3RlY3RlZCBieSBhIGxvY2suCisKKyAgKDppc3N1ZTpgMTQyMDVgKQorCisqIE5ldyBtZXRob2RzIGhhdmUgYmVlbiBhZGRlZCB0byA6Y2xhc3M6YGxpc3RgIGFuZCA6Y2xhc3M6YGJ5dGVhcnJheWA6CisgIGBgY29weSgpYGAgYW5kIGBgY2xlYXIoKWBgLgorCisgICg6aXNzdWU6YDEwNTE2YCkKKworTmV3IGFuZCBJbXByb3ZlZCBNb2R1bGVzCis9PT09PT09PT09PT09PT09PT09PT09PT0KKworYWJjCistLS0KKworSW1wcm92ZWQgc3VwcG9ydCBmb3IgYWJzdHJhY3QgYmFzZSBjbGFzc2VzIGNvbnRhaW5pbmcgZGVzY3JpcHRvcnMgY29tcG9zZWQgd2l0aAorYWJzdHJhY3QgbWV0aG9kcy4gVGhlIHJlY29tbWVuZGVkIGFwcHJvYWNoIHRvIGRlY2xhcmluZyBhYnN0cmFjdCBkZXNjcmlwdG9ycyBpcworbm93IHRvIHByb3ZpZGUgOmF0dHI6YF9faXNhYnN0cmFjdG1ldGhvZF9fYCBhcyBhIGR5bmFtaWNhbGx5IHVwZGF0ZWQKK3Byb3BlcnR5LiBUaGUgYnVpbHQtaW4gZGVzY3JpcHRvcnMgaGF2ZSBiZWVuIHVwZGF0ZWQgYWNjb3JkaW5nbHkuCisKKyAgKiA6Y2xhc3M6YGFiYy5hYnN0cmFjdHByb3BlcnR5YCBoYXMgYmVlbiBkZXByZWNhdGVkLCB1c2UgOmNsYXNzOmBwcm9wZXJ0eWAKKyAgICB3aXRoIDpmdW5jOmBhYmMuYWJzdHJhY3RtZXRob2RgIGluc3RlYWQuCisgICogOmNsYXNzOmBhYmMuYWJzdHJhY3RjbGFzc21ldGhvZGAgaGFzIGJlZW4gZGVwcmVjYXRlZCwgdXNlCisgICAgOmNsYXNzOmBjbGFzc21ldGhvZGAgd2l0aCA6ZnVuYzpgYWJjLmFic3RyYWN0bWV0aG9kYCBpbnN0ZWFkLgorICAqIDpjbGFzczpgYWJjLmFic3RyYWN0c3RhdGljbWV0aG9kYCBoYXMgYmVlbiBkZXByZWNhdGVkLCB1c2UKKyAgICA6Y2xhc3M6YHN0YXRpY21ldGhvZGAgd2l0aCA6ZnVuYzpgYWJjLmFic3RyYWN0bWV0aG9kYCBpbnN0ZWFkLgorCisoQ29udHJpYnV0ZWQgYnkgRGFycmVuIERhbGUgaW4gOmlzc3VlOmAxMTYxMGApCisKK2FycmF5CistLS0tLQorCitUaGUgOm1vZDpgYXJyYXlgIG1vZHVsZSBzdXBwb3J0cyB0aGUgOmM6dHlwZTpgbG9uZyBsb25nYCB0eXBlIHVzaW5nIGBgcWBgIGFuZAorYGBRYGAgdHlwZSBjb2Rlcy4KKworKENvbnRyaWJ1dGVkIGJ5IE9yZW4gVGlyb3NoIGFuZCBIaXJva2F6dSBZYW1hbW90byBpbiA6aXNzdWU6YDExNzI3MTFgKQorCisKK2J6MgorLS0tCisKK1RoZSA6bW9kOmBiejJgIG1vZHVsZSBoYXMgYmVlbiByZXdyaXR0ZW4gZnJvbSBzY3JhdGNoLiBJbiB0aGUgcHJvY2Vzcywgc2V2ZXJhbAorbmV3IGZlYXR1cmVzIGhhdmUgYmVlbiBhZGRlZDoKKworKiA6Y2xhc3M6YGJ6Mi5CWjJGaWxlYCBjYW4gbm93IHJlYWQgZnJvbSBhbmQgd3JpdGUgdG8gYXJiaXRyYXJ5IGZpbGUtbGlrZQorICBvYmplY3RzLCBieSBtZWFucyBvZiBpdHMgY29uc3RydWN0b3IncyAqZmlsZW9iaiogYXJndW1lbnQuCisKKyAgKENvbnRyaWJ1dGVkIGJ5IE5hZGVlbSBWYXdkYSBpbiA6aXNzdWU6YDU4NjNgKQorCisqIDpjbGFzczpgYnoyLkJaMkZpbGVgIGFuZCA6ZnVuYzpgYnoyLmRlY29tcHJlc3NgIGNhbiBub3cgZGVjb21wcmVzcworICBtdWx0aS1zdHJlYW0gaW5wdXRzIChzdWNoIGFzIHRob3NlIHByb2R1Y2VkIGJ5IHRoZSA6cHJvZ3JhbTpgcGJ6aXAyYCB0b29sKS4KKyAgOmNsYXNzOmBiejIuQloyRmlsZWAgY2FuIG5vdyBhbHNvIGJlIHVzZWQgdG8gY3JlYXRlIHRoaXMgdHlwZSBvZiBmaWxlLCB1c2luZworICB0aGUgYGAnYSdgYCAoYXBwZW5kKSBtb2RlLgorCisgIChDb250cmlidXRlZCBieSBOaXIgQWlkZXMgaW4gOmlzc3VlOmAxNjI1YCkKKworKiA6Y2xhc3M6YGJ6Mi5CWjJGaWxlYCBub3cgaW1wbGVtZW50cyBhbGwgb2YgdGhlIDpjbGFzczpgaW8uQnVmZmVyZWRJT0Jhc2VgIEFQSSwKKyAgZXhjZXB0IGZvciB0aGUgOm1ldGg6YGRldGFjaGAgYW5kIDptZXRoOmB0cnVuY2F0ZWAgbWV0aG9kcy4KKworCitjb2RlY3MKKy0tLS0tLQorCitUaGUgOm1vZDpgfmVuY29kaW5ncy5tYmNzYCBjb2RlYyBoYXMgYmVlbiByZXdyaXR0ZW4gdG8gaGFuZGxlIGNvcnJlY3RseQorYGByZXBsYWNlYGAgYW5kIGBgaWdub3JlYGAgZXJyb3IgaGFuZGxlcnMgb24gYWxsIFdpbmRvd3MgdmVyc2lvbnMuICBUaGUKKzptb2Q6YH5lbmNvZGluZ3MubWJjc2AgY29kZWMgbm93IHN1cHBvcnRzIGFsbCBlcnJvciBoYW5kbGVycywgaW5zdGVhZCBvZiBvbmx5CitgYHJlcGxhY2VgYCB0byBlbmNvZGUgYW5kIGBgaWdub3JlYGAgdG8gZGVjb2RlLgorCitBIG5ldyBXaW5kb3dzLW9ubHkgY29kZWMgaGFzIGJlZW4gYWRkZWQ6IGBgY3A2NTAwMWBgICg6aXNzdWU6YDEzMjE2YCkuIEl0IGlzIHRoZQorV2luZG93cyBjb2RlIHBhZ2UgNjUwMDEgKFdpbmRvd3MgVVRGLTgsIGBgQ1BfVVRGOGBgKS4gIEZvciBleGFtcGxlLCBpdCBpcyB1c2VkCitieSBgYHN5cy5zdGRvdXRgYCBpZiB0aGUgY29uc29sZSBvdXRwdXQgY29kZSBwYWdlIGlzIHNldCB0byBjcDY1MDAxIChlLmcuLCB1c2luZworYGBjaGNwIDY1MDAxYGAgY29tbWFuZCkuCisKK011bHRpYnl0ZSBDSksgZGVjb2RlcnMgbm93IHJlc3luY2hyb25pemUgZmFzdGVyLiAgVGhleSBvbmx5IGlnbm9yZSB0aGUgZmlyc3QKK2J5dGUgb2YgYW4gaW52YWxpZCBieXRlIHNlcXVlbmNlLiBGb3IgZXhhbXBsZSwgYGBiJ1x4ZmZcbicuZGVjb2RlKCdnYjIzMTInLAorJ3JlcGxhY2UnKWBgIG5vdyByZXR1cm5zIGEgYGBcbmBgIGFmdGVyIHRoZSByZXBsYWNlbWVudCBjaGFyYWN0ZXIuCisKKyg6aXNzdWU6YDEyMDE2YCkKKworSW5jcmVtZW50YWwgQ0pLIGNvZGVjIGVuY29kZXJzIGFyZSBubyBsb25nZXIgcmVzZXQgYXQgZWFjaCBjYWxsIHRvIHRoZWlyCitlbmNvZGUoKSBtZXRob2RzLiBGb3IgZXhhbXBsZTo6CisKKyAgICAkIC4vcHl0aG9uIC1xCisgICAgPj4+IGltcG9ydCBjb2RlY3MKKyAgICA+Pj4gZW5jb2RlciA9IGNvZGVjcy5nZXRpbmNyZW1lbnRhbGVuY29kZXIoJ2h6JykoJ3N0cmljdCcpCisgICAgPj4+IGInJy5qb2luKGVuY29kZXIuZW5jb2RlKHgpIGZvciB4IGluICdcdTUyZmZcdTY1YmRcdTY1YmNcdTRlYmFcdTMwMDIgQnllLicpCisgICAgYid+e05wSilsNkhLISN+fSBCeWUuJworCitUaGlzIGV4YW1wbGUgZ2l2ZXMgYGBiJ357TnB+fX57Sil+fX57bDZ+fX57SEt+fX57ISN+fSBCeWUuJ2BgIHdpdGggb2xkZXIgUHl0aG9uCit2ZXJzaW9ucy4KKworKDppc3N1ZTpgMTIxMDBgKQorCitUaGUgYGB1bmljb2RlX2ludGVybmFsYGAgY29kZWMgaGFzIGJlZW4gZGVwcmVjYXRlZC4KKworY3J5cHQKKy0tLS0tCisKK0FkZGl0aW9uIG9mIHNhbHQgYW5kIG1vZHVsYXIgY3J5cHQgZm9ybWF0IGFuZCB0aGUgOmZ1bmM6YH5jcnlwdC5ta3NhbHRgCitmdW5jdGlvbiB0byB0aGUgOm1vZDpgY3J5cHRgIG1vZHVsZS4KKworKDppc3N1ZTpgMTA5MjRgKQorCitjdXJzZXMKKy0tLS0tLQorCisgKiBJZiB0aGUgOm1vZDpgY3Vyc2VzYCBtb2R1bGUgaXMgbGlua2VkIHRvIHRoZSBuY3Vyc2VzdyBsaWJyYXJ5LCB1c2UgVW5pY29kZQorICAgZnVuY3Rpb25zIHdoZW4gVW5pY29kZSBzdHJpbmdzIG9yIGNoYXJhY3RlcnMgYXJlIHBhc3NlZCAoZS5nLgorICAgOmM6ZnVuYzpgd2FkZHdzdHJgKSwgYW5kIGJ5dGVzIGZ1bmN0aW9ucyBvdGhlcndpc2UgKGUuZy4gOmM6ZnVuYzpgd2FkZHN0cmApLgorICogVXNlIHRoZSBsb2NhbGUgZW5jb2RpbmcgaW5zdGVhZCBvZiBgYHV0Zi04YGAgdG8gZW5jb2RlIFVuaWNvZGUgc3RyaW5ncy4KKyAqIDpjbGFzczpgY3Vyc2VzLndpbmRvd2AgaGFzIGEgbmV3IDphdHRyOmBjdXJzZXMud2luZG93LmVuY29kaW5nYCBhdHRyaWJ1dGUuCisgKiBUaGUgOmNsYXNzOmBjdXJzZXMud2luZG93YCBjbGFzcyBoYXMgYSBuZXcgOm1ldGg6YH5jdXJzZXMud2luZG93LmdldF93Y2hgCisgICBtZXRob2QgdG8gZ2V0IGEgd2lkZSBjaGFyYWN0ZXIKKyAqIFRoZSA6bW9kOmBjdXJzZXNgIG1vZHVsZSBoYXMgYSBuZXcgOm1ldGg6YH5jdXJzZXMudW5nZXRfd2NoYCBmdW5jdGlvbiB0bworICAgcHVzaCBhIHdpZGUgY2hhcmFjdGVyIHNvIHRoZSBuZXh0IDptZXRoOmB+Y3Vyc2VzLndpbmRvdy5nZXRfd2NoYCB3aWxsIHJldHVybgorICAgaXQKKworKENvbnRyaWJ1dGVkIGJ5IEnDsWlnbyBTZXJuYSBpbiA6aXNzdWU6YDY3NTVgKQorCitmYXVsdGhhbmRsZXIKKy0tLS0tLS0tLS0tLQorCitOZXcgbW9kdWxlOiA6bW9kOmBmYXVsdGhhbmRsZXJgLgorCisgKiA6ZW52dmFyOmBQWVRIT05GQVVMVEhBTkRMRVJgCisgKiA6b3B0aW9uOmAtWGAgYGBmYXVsdGhhbmRsZXJgYAorCitmdHBsaWIKKy0tLS0tLQorCitUaGUgOmNsYXNzOmB+ZnRwbGliLkZUUF9UTFNgIGNsYXNzIG5vdyBwcm92aWRlcyBhIG5ldworOmZ1bmM6YH5mdHBsaWIuRlRQX1RMUy5jY2NgIGZ1bmN0aW9uIHRvIHJldmVydCBjb250cm9sIGNoYW5uZWwgYmFjayB0bworcGxhaW50ZXh0LiAgVGhpcyBjYW4gYmUgdXNlZnVsIHRvIHRha2UgYWR2YW50YWdlIG9mIGZpcmV3YWxscyB0aGF0IGtub3cgaG93IHRvCitoYW5kbGUgTkFUIHdpdGggbm9uLXNlY3VyZSBGVFAgd2l0aG91dCBvcGVuaW5nIGZpeGVkIHBvcnRzLgorCisoQ29udHJpYnV0ZWQgYnkgR2lhbXBhb2xvIFJvZG9sw6AgaW4gOmlzc3VlOmAxMjEzOWApCisKKworaW1hcGxpYgorLS0tLS0tLQorCitUaGUgOmNsYXNzOmB+aW1hcGxpYi5JTUFQNF9TU0xgIGNvbnN0cnVjdG9yIG5vdyBhY2NlcHRzIGFuIFNTTENvbnRleHQKK3BhcmFtZXRlciB0byBjb250cm9sIHBhcmFtZXRlcnMgb2YgdGhlIHNlY3VyZSBjaGFubmVsLgorCisoQ29udHJpYnV0ZWQgYnkgU2lqaW4gSm9zZXBoIGluIDppc3N1ZTpgODgwOGApCisKKworaW8KKy0tCisKK1RoZSA6ZnVuYzpgfmlvLm9wZW5gIGZ1bmN0aW9uIGhhcyBhIG5ldyBgYCd4J2BgIG1vZGUgdGhhdCBjYW4gYmUgdXNlZCB0bworZXhjbHVzaXZlbHkgY3JlYXRlIGEgbmV3IGZpbGUsIGFuZCByYWlzZSBhIDpleGM6YEZpbGVFeGlzdHNFcnJvcmAgaWYgdGhlIGZpbGUKK2FscmVhZHkgZXhpc3RzLiBJdCBpcyBiYXNlZCBvbiB0aGUgQzExICd4JyBtb2RlIHRvIGZvcGVuKCkuCisKKyhDb250cmlidXRlZCBieSBEYXZpZCBUb3duc2hlbmQgaW4gOmlzc3VlOmAxMjc2MGApCisKKworbHptYQorLS0tLQorCitUaGUgbmV3bHktYWRkZWQgOm1vZDpgbHptYWAgbW9kdWxlIHByb3ZpZGVzIGRhdGEgY29tcHJlc3Npb24gYW5kIGRlY29tcHJlc3Npb24KK3VzaW5nIHRoZSBMWk1BIGFsZ29yaXRobSwgaW5jbHVkaW5nIHN1cHBvcnQgZm9yIHRoZSBgYC54emBgIGFuZCBgYC5sem1hYGAKK2ZpbGUgZm9ybWF0cy4KKworKENvbnRyaWJ1dGVkIGJ5IE5hZGVlbSBWYXdkYSBhbmQgUGVyIMOYeXZpbmQgS2FybHNlbiBpbiA6aXNzdWU6YDY3MTVgKQorCisKK21hdGgKKy0tLS0KKworVGhlIDptb2Q6YG1hdGhgIG1vZHVsZSBoYXMgYSBuZXcgZnVuY3Rpb246CisKKyAgKiA6ZnVuYzpgfm1hdGgubG9nMmA6IHJldHVybiB0aGUgYmFzZS0yIGxvZ2FyaXRobSBvZiAqeCoKKyAgICAoV3JpdHRlbiBieSBNYXJrIERpY2tpbnNvbiBpbiA6aXNzdWU6YDExODg4YCkuCisKKworbm50cGxpYgorLS0tLS0tLQorCitUaGUgOmNsYXNzOmBubnRwbGliLk5OVFBgIGNsYXNzIG5vdyBzdXBwb3J0cyB0aGUgY29udGV4dCBtYW5hZ2VyIHByb3RvY29sIHRvCit1bmNvbmRpdGlvbmFsbHkgY29uc3VtZSA6ZXhjOmBzb2NrZXQuZXJyb3JgIGV4Y2VwdGlvbnMgYW5kIHRvIGNsb3NlIHRoZSBOTlRQCitjb25uZWN0aW9uIHdoZW4gZG9uZTo6CisKKyAgPj4+IGZyb20gbm50cGxpYiBpbXBvcnQgTk5UUAorICA+Pj4gd2l0aCBOTlRQKCduZXdzLmdtYW5lLm9yZycpIGFzIG46CisgIC4uLiAgICAgbi5ncm91cCgnZ21hbmUuY29tcC5weXRob24uY29tbWl0dGVycycpCisgIC4uLgorICAoJzIxMSAxNzU1IDEgMTc1NSBnbWFuZS5jb21wLnB5dGhvbi5jb21taXR0ZXJzJywgMTc1NSwgMSwgMTc1NSwgJ2dtYW5lLmNvbXAucHl0aG9uLmNvbW1pdHRlcnMnKQorICA+Pj4KKworKENvbnRyaWJ1dGVkIGJ5IEdpYW1wYW9sbyBSb2RvbMOgIGluIDppc3N1ZTpgOTc5NWApCisKKworb3MKKy0tCisKKyogVGhlIDptb2Q6YG9zYCBtb2R1bGUgaGFzIGEgbmV3IDpmdW5jOmB+b3MucGlwZTJgIGZ1bmN0aW9uIHRoYXQgbWFrZXMgaXQKKyAgcG9zc2libGUgdG8gY3JlYXRlIGEgcGlwZSB3aXRoIDpkYXRhOmB+b3MuT19DTE9FWEVDYCBvcgorICA6ZGF0YTpgfm9zLk9fTk9OQkxPQ0tgIGZsYWdzIHNldCBhdG9taWNhbGx5LiBUaGlzIGlzIGVzcGVjaWFsbHkgdXNlZnVsIHRvCisgIGF2b2lkIHJhY2UgY29uZGl0aW9ucyBpbiBtdWx0aS10aHJlYWRlZCBwcm9ncmFtcy4KKworKiBUaGUgOm1vZDpgb3NgIG1vZHVsZSBoYXMgYSBuZXcgOmZ1bmM6YH5vcy5zZW5kZmlsZWAgZnVuY3Rpb24gd2hpY2ggcHJvdmlkZXMKKyAgYW4gZWZmaWNlbnQgInplcm8tY29weSIgd2F5IGZvciBjb3B5aW5nIGRhdGEgZnJvbSBvbmUgZmlsZSAob3Igc29ja2V0KQorICBkZXNjcmlwdG9yIHRvIGFub3RoZXIuIFRoZSBwaHJhc2UgInplcm8tY29weSIgcmVmZXJzIHRvIHRoZSBmYWN0IHRoYXQgYWxsIG9mCisgIHRoZSBjb3B5aW5nIG9mIGRhdGEgYmV0d2VlbiB0aGUgdHdvIGRlc2NyaXB0b3JzIGlzIGRvbmUgZW50aXJlbHkgYnkgdGhlCisgIGtlcm5lbCwgd2l0aCBubyBjb3B5aW5nIG9mIGRhdGEgaW50byB1c2Vyc3BhY2UgYnVmZmVycy4gOmZ1bmM6YH5vcy5zZW5kZmlsZWAKKyAgY2FuIGJlIHVzZWQgdG8gZWZmaWNpZW50bHkgY29weSBkYXRhIGZyb20gYSBmaWxlIG9uIGRpc2sgdG8gYSBuZXR3b3JrIHNvY2tldCwKKyAgZS5nLiBmb3IgZG93bmxvYWRpbmcgYSBmaWxlLgorCisgIChQYXRjaCBzdWJtaXR0ZWQgYnkgUm9zcyBMYWdlcndhbGwgYW5kIEdpYW1wYW9sbyBSb2RvbMOgIGluIDppc3N1ZTpgMTA4ODJgLikKKworKiBUaGUgOm1vZDpgb3NgIG1vZHVsZSBoYXMgdHdvIG5ldyBmdW5jdGlvbnM6IDpmdW5jOmB+b3MuZ2V0cHJpb3JpdHlgIGFuZAorICA6ZnVuYzpgfm9zLnNldHByaW9yaXR5YC4gVGhleSBjYW4gYmUgdXNlZCB0byBnZXQgb3Igc2V0IHByb2Nlc3MKKyAgbmljZW5lc3MvcHJpb3JpdHkgaW4gYSBmYXNoaW9uIHNpbWlsYXIgdG8gOmZ1bmM6YG9zLm5pY2VgIGJ1dCBleHRlbmRlZCB0byBhbGwKKyAgcHJvY2Vzc2VzIGluc3RlYWQgb2YganVzdCB0aGUgY3VycmVudCBvbmUuCisKKyAgKFBhdGNoIHN1Ym1pdHRlZCBieSBHaWFtcGFvbG8gUm9kb2zDoCBpbiA6aXNzdWU6YDEwNzg0YC4pCisKKyogVGhlIDptb2Q6YG9zYCBtb2R1bGUgaGFzIGEgbmV3IDpmdW5jOmB+b3MuZndhbGtgIGZ1bmN0aW9uIHNpbWlsYXIgdG8KKyAgOmZ1bmM6YH5vcy53YWxrYCBleGNlcHQgdGhhdCBpdCBhbHNvIHlpZWxkcyBmaWxlIGRlc2NyaXB0b3JzIHJlZmVycmluZyB0byB0aGUKKyAgZGlyZWN0b3JpZXMgdmlzaXRlZC4gVGhpcyBpcyBlc3BlY2lhbGx5IHVzZWZ1bCB0byBhdm9pZCBzeW1saW5rIHJhY2VzLgorCisqICJhdCIgZnVuY3Rpb25zICg6aXNzdWU6YDQ3NjFgKToKKworICAqIDpmdW5jOmB+b3MuZmFjY2Vzc2F0YAorICAqIDpmdW5jOmB+b3MuZmNobW9kYXRgCisgICogOmZ1bmM6YH5vcy5mY2hvd25hdGAKKyAgKiA6ZnVuYzpgfm9zLmZzdGF0YXRgCisgICogOmZ1bmM6YH5vcy5mdXRpbWVzYXRgCisgICogOmZ1bmM6YH5vcy5saW5rYXRgCisgICogOmZ1bmM6YH5vcy5ta2RpcmF0YAorICAqIDpmdW5jOmB+b3MubWtmaWZvYXRgCisgICogOmZ1bmM6YH5vcy5ta25vZGF0YAorICAqIDpmdW5jOmB+b3Mub3BlbmF0YAorICAqIDpmdW5jOmB+b3MucmVhZGxpbmthdGAKKyAgKiA6ZnVuYzpgfm9zLnJlbmFtZWF0YAorICAqIDpmdW5jOmB+b3Muc3ltbGlua2F0YAorICAqIDpmdW5jOmB+b3MudW5saW5rYXRgCisgICogOmZ1bmM6YH5vcy51dGltZW5zYXRgCisKKyogZXh0ZW5kZWQgYXR0cmlidXRlcyAoOmlzc3VlOmAxMjcyMGApOgorCisgICogOmZ1bmM6YH5vcy5mZ2V0eGF0dHJgCisgICogOmZ1bmM6YH5vcy5mbGlzdHhhdHRyYAorICAqIDpmdW5jOmB+b3MuZnJlbW92ZXhhdHRyYAorICAqIDpmdW5jOmB+b3MuZnNldHhhdHRyYAorICAqIDpmdW5jOmB+b3MuZ2V0eGF0dHJgCisgICogOmZ1bmM6YH5vcy5sZ2V0eGF0dHJgCisgICogOmZ1bmM6YH5vcy5saXN0eGF0dHJgCisgICogOmZ1bmM6YH5vcy5sbGlzdHhhdHRyYAorICAqIDpmdW5jOmB+b3MubHJlbW92ZXhhdHRyYAorICAqIDpmdW5jOmB+b3MubHNldHhhdHRyYAorICAqIDpmdW5jOmB+b3MucmVtb3ZleGF0dHJgCisgICogOmZ1bmM6YH5vcy5zZXR4YXR0cmAKKworKiBTY2hlZHVsZXIgZnVuY3Rpb25zICg6aXNzdWU6YDEyNjU1YCk6CisKKyAgKiA6ZnVuYzpgfm9zLnNjaGVkX2dldF9wcmlvcml0eV9tYXhgCisgICogOmZ1bmM6YH5vcy5zY2hlZF9nZXRfcHJpb3JpdHlfbWluYAorICAqIDpmdW5jOmB+b3Muc2NoZWRfZ2V0YWZmaW5pdHlgCisgICogOmZ1bmM6YH5vcy5zY2hlZF9nZXRwYXJhbWAKKyAgKiA6ZnVuYzpgfm9zLnNjaGVkX2dldHNjaGVkdWxlcmAKKyAgKiA6ZnVuYzpgfm9zLnNjaGVkX3JyX2dldF9pbnRlcnZhbGAKKyAgKiA6ZnVuYzpgfm9zLnNjaGVkX3NldGFmZmluaXR5YAorICAqIDpmdW5jOmB+b3Muc2NoZWRfc2V0cGFyYW1gCisgICogOmZ1bmM6YH5vcy5zY2hlZF9zZXRzY2hlZHVsZXJgCisgICogOmZ1bmM6YH5vcy5zY2hlZF95aWVsZGAKKworKiBBZGQgc29tZSBleHRyYSBwb3NpeCBmdW5jdGlvbnMgdG8gdGhlIG9zIG1vZHVsZSAoOmlzc3VlOmAxMDgxMmApOgorCisgICogOmZ1bmM6YH5vcy5mZXhlY3ZlYAorICAqIDpmdW5jOmB+b3MuZnV0aW1lbnNgCisgICogOmZ1bmM6YH5vcy5mdXRpbWVzYAorICAqIDpmdW5jOmB+b3MubG9ja2ZgCisgICogOmZ1bmM6YH5vcy5sdXRpbWVzYAorICAqIDpmdW5jOmB+b3MucG9zaXhfZmFkdmlzZWAKKyAgKiA6ZnVuYzpgfm9zLnBvc2l4X2ZhbGxvY2F0ZWAKKyAgKiA6ZnVuYzpgfm9zLnByZWFkYAorICAqIDpmdW5jOmB+b3MucHdyaXRlYAorICAqIDpmdW5jOmB+b3MucmVhZHZgCisgICogOmZ1bmM6YH5vcy5zeW5jYAorICAqIDpmdW5jOmB+b3MudHJ1bmNhdGVgCisgICogOmZ1bmM6YH5vcy53YWl0aWRgCisgICogOmZ1bmM6YH5vcy53cml0ZXZgCisKKyogT3RoZXIgbmV3IGZ1bmN0aW9uczoKKworICAqIDpmdW5jOmB+b3MuZmxpc3RkaXJgICg6aXNzdWU6YDEwNzU1YCkKKyAgKiA6ZnVuYzpgfm9zLmdldGdyb3VwbGlzdGAgKDppc3N1ZTpgOTM0NGApCisKKworcGFja2FnaW5nCistLS0tLS0tLS0KKworOm1vZDpgZGlzdHV0aWxzYCBoYXMgdW5kZXJnb25lIGFkZGl0aW9ucyBhbmQgcmVmYWN0b3JpbmcgdW5kZXIgYSBuZXcgbmFtZSwKKzptb2Q6YHBhY2thZ2luZ2AsIHRvIGFsbG93IGRldmVsb3BlcnMgdG8gYnJlYWsgYmFja3dhcmQgY29tcGF0aWJpbGl0eS4KKzptb2Q6YGRpc3R1dGlsc2AgaXMgc3RpbGwgcHJvdmlkZWQgaW4gdGhlIHN0YW5kYXJkIGxpYnJhcnksIGJ1dCB1c2VycyBhcmUKK2VuY291cmFnZWQgdG8gdHJhbnNpdGlvbiB0byA6bW9kOmBwYWNrYWdpbmdgLiAgRm9yIG9sZGVyIHZlcnNpb25zIG9mIFB5dGhvbiwgYQorYmFja3BvcnQgY29tcGF0aWJsZSB3aXRoIDIuNCsgYW5kIDMuMSsgd2lsbCBiZSBtYWRlIGF2YWlsYWJsZSBvbiBQeVBJIHVuZGVyIHRoZQorbmFtZSA6bW9kOmBkaXN0dXRpbHMyYC4KKworLi4gVE9ETyBhZGQgZXhhbXBsZXMgYW5kIGhvd3RvIHRvIHRoZSBwYWNrYWdpbmcgZG9jcyBhbmQgbGluayB0byB0aGVtCisKKworcGRiCistLS0KKworKiBUYWItY29tcGxldGlvbiBpcyBub3cgYXZhaWxhYmxlIG5vdCBvbmx5IGZvciBjb21tYW5kIG5hbWVzLCBidXQgYWxzbyB0aGVpcgorICBhcmd1bWVudHMuICBGb3IgZXhhbXBsZSwgZm9yIHRoZSBgYGJyZWFrYGAgY29tbWFuZCwgZnVuY3Rpb24gYW5kIGZpbGUgbmFtZXMKKyAgYXJlIGNvbXBsZXRlZC4gIChDb250cmlidXRlZCBieSBHZW9yZyBCcmFuZGwgaW4gOmlzc3VlOmAxNDIxMGApCisKKworcHlkb2MKKy0tLS0tCisKK1RoZSBUayBHVUkgYW5kIHRoZSA6ZnVuYzpgfnB5ZG9jLnNlcnZlYCBmdW5jdGlvbiBoYXZlIGJlZW4gcmVtb3ZlZCBmcm9tIHRoZQorOm1vZDpgcHlkb2NgIG1vZHVsZTogYGBweWRvYyAtZ2BgIGFuZCA6ZnVuYzpgfnB5ZG9jLnNlcnZlYCBoYXZlIGJlZW4gZGVwcmVjYXRlZAoraW4gUHl0aG9uIDMuMi4KKworCitzY2hlZAorLS0tLS0KKworKiA6bWV0aDpgfnNjaGVkLnNjaGVkdWxlci5ydW5gIG5vdyBhY2NlcHRzIGEgKmJsb2NraW5nKiBwYXJhbWV0ZXIgd2hpY2ggd2hlbgorICBzZXQgdG8gRmFsc2UgbWFrZXMgdGhlIG1ldGhvZCBleGVjdXRlIHRoZSBzY2hlZHVsZWQgZXZlbnRzIGR1ZSB0byBleHBpcmUKKyAgc29vbmVzdCAoaWYgYW55KSBhbmQgdGhlbiByZXR1cm4gaW1tZWRpYXRlbHkuCisgIFRoaXMgaXMgdXNlZnVsIGluIGNhc2UgeW91IHdhbnQgdG8gdXNlIHRoZSA6Y2xhc3M6YH5zY2hlZC5zY2hlZHVsZXJgIGluCisgIG5vbi1ibG9ja2luZyBhcHBsaWNhdGlvbnMuICAoQ29udHJpYnV0ZWQgYnkgR2lhbXBhb2xvIFJvZG9sw6AgaW4gOmlzc3VlOmAxMzQ0OWApCisKKyogOmNsYXNzOmB+c2NoZWQuc2NoZWR1bGVyYCBjbGFzcyBjYW4gbm93IGJlIHNhZmVseSB1c2VkIGluIG11bHRpLXRocmVhZGVkCisgIGVudmlyb25tZW50cy4gIChDb250cmlidXRlZCBieSBKb3NpYWggQ2FybHNvbiBhbmQgR2lhbXBhb2xvIFJvZG9sw6AgaW4KKyAgOmlzc3VlOmA4Njg0YCkKKworKiAqdGltZWZ1bmMqIGFuZCAqZGVsYXlmdW5jdCogcGFyYW1ldGVycyBvZiA6Y2xhc3M6YH5zY2hlZC5zY2hlZHVsZXJgIGNsYXNzCisgIGNvbnN0cnVjdG9yIGFyZSBub3cgb3B0aW9uYWwgYW5kIGRlZmF1bHRzIHRvIDpmdW5jOmB0aW1lLnRpbWVgIGFuZAorICA6ZnVuYzpgdGltZS5zbGVlcGAgcmVzcGVjdGl2ZWx5LiAgKENvbnRyaWJ1dGVkIGJ5IENocmlzIENsYXJrIGluCisgIDppc3N1ZTpgMTMyNDVgKQorCisqIDptZXRoOmB+c2NoZWQuc2NoZWR1bGVyLmVudGVyYCBhbmQgOm1ldGg6YH5zY2hlZC5zY2hlZHVsZXIuZW50ZXJhYnNgCisgICphcmd1bWVudCogcGFyYW1ldGVyIGlzIG5vdyBvcHRpb25hbC4gIChDb250cmlidXRlZCBieSBDaHJpcyBDbGFyayBpbgorICA6aXNzdWU6YDEzMjQ1YCkKKworKiA6bWV0aDpgfnNjaGVkLnNjaGVkdWxlci5lbnRlcmAgYW5kIDptZXRoOmB+c2NoZWQuc2NoZWR1bGVyLmVudGVyYWJzYAorICBub3cgYWNjZXB0IGEgKmt3YXJncyogcGFyYW1ldGVyLiAgKENvbnRyaWJ1dGVkIGJ5IENocmlzIENsYXJrIGluCisgIDppc3N1ZTpgMTMyNDVgKQorCisKK3NodXRpbAorLS0tLS0tCisKKyogVGhlIDptb2Q6YHNodXRpbGAgbW9kdWxlIGhhcyB0aGVzZSBuZXcgZnVjdGlvbnM6CisKKyAgKiA6ZnVuYzpgfnNodXRpbC5kaXNrX3VzYWdlYDogcHJvdmlkZXMgdG90YWwsIHVzZWQgYW5kIGZyZWUgZGlzayBzcGFjZQorICAgIHN0YXRpc3RpY3MuIChDb250cmlidXRlZCBieSBHaWFtcGFvbG8gUm9kb2zDoCBpbiA6aXNzdWU6YDEyNDQyYCkKKyAgKiA6ZnVuYzpgfnNodXRpbC5jaG93bmA6IGFsbG93cyBvbmUgdG8gY2hhbmdlIHVzZXIgYW5kL29yIGdyb3VwIG9mIHRoZSBnaXZlbgorICAgIHBhdGggYWxzbyBzcGVjaWZ5aW5nIHRoZSB1c2VyL2dyb3VwIG5hbWVzIGFuZCBub3Qgb25seSB0aGVpciBudW1lcmljCisgICAgaWRzLiAoQ29udHJpYnV0ZWQgYnkgU2FuZHJvIFRvc2kgaW4gOmlzc3VlOmAxMjE5MWApCisKKworc2lnbmFsCistLS0tLS0KKworKiBUaGUgOm1vZDpgc2lnbmFsYCBtb2R1bGUgaGFzIG5ldyBmdW5jdGlvbnM6CisKKyAgKiA6ZnVuYzpgfnNpZ25hbC5wdGhyZWFkX3NpZ21hc2tgOiBmZXRjaCBhbmQvb3IgY2hhbmdlIHRoZSBzaWduYWwgbWFzayBvZiB0aGUKKyAgICBjYWxsaW5nIHRocmVhZCAoQ29udHJpYnV0ZWQgYnkgSmVhbi1QYXVsIENhbGRlcm9uZSBpbiA6aXNzdWU6YDg0MDdgKSA7CisgICogOmZ1bmM6YH5zaWduYWwucHRocmVhZF9raWxsYDogc2VuZCBhIHNpZ25hbCB0byBhIHRocmVhZCA7CisgICogOmZ1bmM6YH5zaWduYWwuc2lncGVuZGluZ2A6IGV4YW1pbmUgcGVuZGluZyBmdW5jdGlvbnMgOworICAqIDpmdW5jOmB+c2lnbmFsLnNpZ3dhaXRgOiB3YWl0IGEgc2lnbmFsLgorICAqIDpmdW5jOmB+c2lnbmFsLnNpZ3dhaXRpbmZvYDogd2FpdCBmb3IgYSBzaWduYWwsIHJldHVybmluZyBkZXRhaWxlZAorICAgIGluZm9ybWF0aW9uIGFib3V0IGl0LgorICAqIDpmdW5jOmB+c2lnbmFsLnNpZ3RpbWVkd2FpdGA6IGxpa2UgOmZ1bmM6YH5zaWduYWwuc2lnd2FpdGluZm9gIGJ1dCB3aXRoIGEKKyAgICB0aW1lb3V0LgorCisqIFRoZSBzaWduYWwgaGFuZGxlciB3cml0ZXMgdGhlIHNpZ25hbCBudW1iZXIgYXMgYSBzaW5nbGUgYnl0ZSBpbnN0ZWFkIG9mCisgIGEgbnVsIGJ5dGUgaW50byB0aGUgd2FrZXVwIGZpbGUgZGVzY3JpcHRvci4gU28gaXQgaXMgcG9zc2libGUgdG8gd2FpdCBtb3JlCisgIHRoYW4gb25lIHNpZ25hbCBhbmQga25vdyB3aGljaCBzaWduYWxzIHdlcmUgcmFpc2VkLgorCisqIDpmdW5jOmBzaWduYWwuc2lnbmFsYCBhbmQgOmZ1bmM6YHNpZ25hbC5zaWdpbnRlcnJ1cHRgIHJhaXNlIGFuIE9TRXJyb3IsCisgIGluc3RlYWQgb2YgYSBSdW50aW1lRXJyb3I6IE9TRXJyb3IgaGFzIGFuIGVycm5vIGF0dHJpYnV0ZS4KKworc210cGxpYgorLS0tLS0tLQorCitUaGUgOmNsYXNzOmB+c210cGxpYi5TTVRQX1NTTGAgY29uc3RydWN0b3IgYW5kIHRoZSA6bWV0aDpgfnNtdHBsaWIuU01UUC5zdGFydHRsc2AKK21ldGhvZCBub3cgYWNjZXB0IGFuIFNTTENvbnRleHQgcGFyYW1ldGVyIHRvIGNvbnRyb2wgcGFyYW1ldGVycyBvZiB0aGUgc2VjdXJlCitjaGFubmVsLgorCisoQ29udHJpYnV0ZWQgYnkgS2FzdW4gSGVyYXRoIGluIDppc3N1ZTpgODgwOWApCisKKworc29ja2V0CistLS0tLS0KKworKiBUaGUgOmNsYXNzOmB+c29ja2V0LnNvY2tldGAgY2xhc3Mgbm93IGV4cG9zZXMgYWRkaXRpb25hbCBtZXRob2RzIHRvIHByb2Nlc3MKKyAgYW5jaWxsYXJ5IGRhdGEgd2hlbiBzdXBwb3J0ZWQgYnkgdGhlIHVuZGVybHlpbmcgcGxhdGZvcm06CisKKyAgKiA6ZnVuYzpgfnNvY2tldC5zb2NrZXQuc2VuZG1zZ2AKKyAgKiA6ZnVuYzpgfnNvY2tldC5zb2NrZXQucmVjdm1zZ2AKKyAgKiA6ZnVuYzpgfnNvY2tldC5zb2NrZXQucmVjdm1zZ19pbnRvYAorCisgIChDb250cmlidXRlZCBieSBEYXZpZCBXYXRzb24gaW4gOmlzc3VlOmA2NTYwYCwgYmFzZWQgb24gYW4gZWFybGllciBwYXRjaCBieQorICBIZWlrbyBXdW5kcmFtKQorCisqIFRoZSA6Y2xhc3M6YH5zb2NrZXQuc29ja2V0YCBjbGFzcyBub3cgc3VwcG9ydHMgdGhlIFBGX0NBTiBwcm90b2NvbCBmYW1pbHkKKyAgKGh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvU29ja2V0Y2FuKSwgb24gTGludXgKKyAgKGh0dHA6Ly9sd24ubmV0L0FydGljbGVzLzI1MzQyNSkuCisKKyAgKENvbnRyaWJ1dGVkIGJ5IE1hdHRoaWFzIEZ1Y2hzLCB1cGRhdGVkIGJ5IFRpYWdvIEdvbsOnYWx2ZXMgaW4gOmlzc3VlOmAxMDE0MWApCisKKyogVGhlIDpjbGFzczpgfnNvY2tldC5zb2NrZXRgIGNsYXNzIG5vdyBzdXBwb3J0cyB0aGUgUEZfUkRTIHByb3RvY29sIGZhbWlseQorICAoaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9SZWxpYWJsZV9EYXRhZ3JhbV9Tb2NrZXRzIGFuZAorICBodHRwOi8vb3NzLm9yYWNsZS5jb20vcHJvamVjdHMvcmRzLykuCisKKworc3NsCistLS0KKworKiBUaGUgOm1vZDpgc3NsYCBtb2R1bGUgaGFzIHR3byBuZXcgcmFuZG9tIGdlbmVyYXRpb24gZnVuY3Rpb25zOgorCisgICogOmZ1bmM6YH5zc2wuUkFORF9ieXRlc2A6IGdlbmVyYXRlIGNyeXB0b2dyYXBoaWNhbGx5IHN0cm9uZworICAgIHBzZXVkby1yYW5kb20gYnl0ZXMuCisgICogOmZ1bmM6YH5zc2wuUkFORF9wc2V1ZG9fYnl0ZXNgOiBnZW5lcmF0ZSBwc2V1ZG8tcmFuZG9tIGJ5dGVzLgorCisgIChDb250cmlidXRlZCBieSBWaWN0b3IgU3Rpbm5lciBpbiA6aXNzdWU6YDEyMDQ5YCkKKworKiBUaGUgOm1vZDpgc3NsYCBtb2R1bGUgbm93IGV4cG9zZXMgYSBmaW5lci1ncmFpbmVkIGV4Y2VwdGlvbiBoaWVyYXJjaHkKKyAgaW4gb3JkZXIgdG8gbWFrZSBpdCBlYXNpZXIgdG8gaW5zcGVjdCB0aGUgdmFyaW91cyBraW5kcyBvZiBlcnJvcnMuCisKKyAgKENvbnRyaWJ1dGVkIGJ5IEFudG9pbmUgUGl0cm91IGluIDppc3N1ZTpgMTExODNgKQorCisqIDptZXRoOmB+c3NsLlNTTENvbnRleHQubG9hZF9jZXJ0X2NoYWluYCBub3cgYWNjZXB0cyBhICpwYXNzd29yZCogYXJndW1lbnQKKyAgdG8gYmUgdXNlZCBpZiB0aGUgcHJpdmF0ZSBrZXkgaXMgZW5jcnlwdGVkLgorCisgIChDb250cmlidXRlZCBieSBBZGFtIFNpbXBraW5zIGluIDppc3N1ZTpgMTI4MDNgKQorCisqIERpZmZpZS1IZWxsbWFuIGtleSBleGNoYW5nZSwgYm90aCByZWd1bGFyIGFuZCBFbGxpcHRpYyBDdXJ2ZS1iYXNlZCwgaXMKKyAgbm93IHN1cHBvcnRlZCB0aHJvdWdoIHRoZSA6bWV0aDpgfnNzbC5TU0xDb250ZXh0LmxvYWRfZGhfcGFyYW1zYCBhbmQKKyAgOm1ldGg6YH5zc2wuU1NMQ29udGV4dC5zZXRfZWNkaF9jdXJ2ZWAgbWV0aG9kcy4KKworICAoQ29udHJpYnV0ZWQgYnkgQW50b2luZSBQaXRyb3UgaW4gOmlzc3VlOmAxMzYyNmAgYW5kIDppc3N1ZTpgMTM2MjdgKQorCisqIFNTTCBzb2NrZXRzIGhhdmUgYSBuZXcgOm1ldGg6YH5zc2wuU1NMU29ja2V0LmdldF9jaGFubmVsX2JpbmRpbmdgIG1ldGhvZAorICBhbGxvd2luZyB0aGUgaW1wbGVtZW50YXRpb24gb2YgY2VydGFpbiBhdXRoZW50aWNhdGlvbiBtZWNoYW5pc21zIHN1Y2ggYXMKKyAgU0NSQU0tU0hBLTEtUExVUy4KKworICAoQ29udHJpYnV0ZWQgYnkgSmFjZWsgS29uaWVjem55IGluIDppc3N1ZTpgMTI1NTFgKQorCisqIFlvdSBjYW4gcXVlcnkgdGhlIFNTTCBjb21wcmVzc2lvbiBhbGdvcml0aG0gdXNlZCBieSBhbiBTU0wgc29ja2V0LCB0aGFua3MKKyAgdG8gaXRzIG5ldyA6bWV0aDpgfnNzbC5TU0xTb2NrZXQuY29tcHJlc3Npb25gIG1ldGhvZC4KKworICAoQ29udHJpYnV0ZWQgYnkgQW50b2luZSBQaXRyb3UgaW4gOmlzc3VlOmAxMzYzNGApCisKKworc3lzCistLS0KKworKiBUaGUgOm1vZDpgc3lzYCBtb2R1bGUgaGFzIGEgbmV3IDpkYXRhOmB+c3lzLnRocmVhZF9pbmZvYCA6dGVybTpgc3RydWN0CisgIHNlcXVlbmNlYCBob2xkaW5nIGluZm9ybWF0aW9ucyBhYm91dCB0aGUgdGhyZWFkIGltcGxlbWVudGF0aW9uLgorCisgICg6aXNzdWU6YDExMjIzYCkKKworCit0aW1lCistLS0tCisKK1RoZSA6bW9kOmB0aW1lYCBtb2R1bGUgaGFzIG5ldyBmdW5jdGlvbnM6CisKKyogOmZ1bmM6YH50aW1lLmNsb2NrX2dldHJlc2AgYW5kIDpmdW5jOmB+dGltZS5jbG9ja19nZXR0aW1lYCBmdW5jdGlvbnMgYW5kCisgIGBgQ0xPQ0tfeHh4YGAgY29uc3RhbnRzLgorKiA6ZnVuYzpgfnRpbWUuc3RlYWR5YC4KKworKENvbnRyaWJ1dGVkIGJ5IFZpY3RvciBTdGlubmVyIGluIDppc3N1ZTpgMTAyNzhgKQorCisKK3VybGxpYgorLS0tLS0tCisKK1RoZSA6Y2xhc3M6YH51cmxsaWIucmVxdWVzdC5SZXF1ZXN0YCBjbGFzcywgbm93IGFjY2VwdHMgYSAqbWV0aG9kKiBhcmd1bWVudAordXNlZCBieSA6bWV0aDpgfnVybGxpYi5yZXF1ZXN0LlJlcXVlc3QuZ2V0X21ldGhvZGAgdG8gZGV0ZXJtaW5lIHdoYXQgSFRUUCBtZXRob2QKK3Nob3VsZCBiZSB1c2VkLiAgRm9yIGV4YW1wbGUsIHRoaXMgd2lsbCBzZW5kIGEgYGAnSEVBRCdgYCByZXF1ZXN0OjoKKworICAgPj4+IHVybG9wZW4oUmVxdWVzdCgnaHR0cDovL3d3dy5weXRob24ub3JnJywgbWV0aG9kPSdIRUFEJykpCisKKyg6aXNzdWU6YDE2NzMwMDdgKQorCisKK09wdGltaXphdGlvbnMKKz09PT09PT09PT09PT0KKworTWFqb3IgcGVyZm9ybWFuY2UgZW5oYW5jZW1lbnRzIGhhdmUgYmVlbiBhZGRlZDoKKworKiBUaGFua3MgdG8gdGhlIDpwZXA6YDM5M2AsIHNvbWUgb3BlcmF0aW9ucyBvbiBVbmljb2RlIHN0cmluZ3MgaGFzIGJlZW4gb3B0aW1pemVkOgorCisgICogdGhlIG1lbW9yeSBmb290cHJpbnQgaXMgZGl2aWRlZCBieSAyIHRvIDQgZGVwZW5kaW5nIG9uIHRoZSB0ZXh0CisgICogZW5jb2RlIGFuIEFTQ0lJIHN0cmluZyB0byBVVEYtOCBkb2Vzbid0IG5lZWQgdG8gZW5jb2RlIGNoYXJhY3RlcnMgYW55bW9yZSwKKyAgICB0aGUgVVRGLTggcmVwcmVzZW50YXRpb24gaXMgc2hhcmVkIHdpdGggdGhlIEFTQ0lJIHJlcHJlc2VudGF0aW9uCisgICogdGhlIFVURi04IGVuY29kZXIgaGFzIGJlZW4gb3B0aW1pemVkCisgICogcmVwZWF0aW5nIGEgc2luZ2xlIEFTQ0lJIGxldHRlciBhbmQgZ2V0dGluZyBhIHN1YnN0cmluZyBvZiBhIEFTQ0lJIHN0cmluZ3MKKyAgICBpcyA0IHRpbWVzIGZhc3RlcgorCisKK0J1aWxkIGFuZCBDIEFQSSBDaGFuZ2VzCis9PT09PT09PT09PT09PT09PT09PT09PQorCitDaGFuZ2VzIHRvIFB5dGhvbidzIGJ1aWxkIHByb2Nlc3MgYW5kIHRvIHRoZSBDIEFQSSBpbmNsdWRlOgorCisqIE5ldyA6cGVwOmAzMTE4YCByZWxhdGVkIGZ1bmN0aW9uOgorCisgICogOmM6ZnVuYzpgUHlNZW1vcnlWaWV3X0Zyb21NZW1vcnlgCisKKyogVGhlIDpwZXA6YDM5M2AgYWRkZWQgbmV3IFVuaWNvZGUgdHlwZXMsIG1hY3JvcyBhbmQgZnVuY3Rpb25zOgorCisgICogSGlnaC1sZXZlbCBBUEk6CisKKyAgICAqIDpjOmZ1bmM6YFB5VW5pY29kZV9Db3B5Q2hhcmFjdGVyc2AKKyAgICAqIDpjOmZ1bmM6YFB5VW5pY29kZV9GaW5kQ2hhcmAKKyAgICAqIDpjOmZ1bmM6YFB5VW5pY29kZV9HZXRMZW5ndGhgLCA6YzptYWNybzpgUHlVbmljb2RlX0dFVF9MRU5HVEhgCisgICAgKiA6YzpmdW5jOmBQeVVuaWNvZGVfTmV3YAorICAgICogOmM6ZnVuYzpgUHlVbmljb2RlX1N1YnN0cmluZ2AKKyAgICAqIDpjOmZ1bmM6YFB5VW5pY29kZV9SZWFkQ2hhcmAsIDpjOmZ1bmM6YFB5VW5pY29kZV9Xcml0ZUNoYXJgCisKKyAgKiBMb3ctbGV2ZWwgQVBJOgorCisgICAgKiA6Yzp0eXBlOmBQeV9VQ1MxYCwgOmM6dHlwZTpgUHlfVUNTMmAsIDpjOnR5cGU6YFB5X1VDUzRgIHR5cGVzCisgICAgKiA6Yzp0eXBlOmBQeUFTQ0lJT2JqZWN0YCBhbmQgOmM6dHlwZTpgUHlDb21wYWN0VW5pY29kZU9iamVjdGAgc3RydWN0dXJlcworICAgICogOmM6bWFjcm86YFB5VW5pY29kZV9SRUFEWWAKKyAgICAqIDpjOmZ1bmM6YFB5VW5pY29kZV9Gcm9tS2luZEFuZERhdGFgCisgICAgKiA6YzpmdW5jOmBQeVVuaWNvZGVfQXNVQ1M0YCwgOmM6ZnVuYzpgUHlVbmljb2RlX0FzVUNTNENvcHlgCisgICAgKiA6YzptYWNybzpgUHlVbmljb2RlX0RBVEFgLCA6YzptYWNybzpgUHlVbmljb2RlXzFCWVRFX0RBVEFgLAorICAgICAgOmM6bWFjcm86YFB5VW5pY29kZV8yQllURV9EQVRBYCwgOmM6bWFjcm86YFB5VW5pY29kZV80QllURV9EQVRBYAorICAgICogOmM6bWFjcm86YFB5VW5pY29kZV9LSU5EYCB3aXRoIDpjOnR5cGU6YFB5VW5pY29kZV9LaW5kYCBlbnVtOgorICAgICAgOmM6ZGF0YTpgUHlVbmljb2RlX1dDSEFSX0tJTkRgLCA6YzpkYXRhOmBQeVVuaWNvZGVfMUJZVEVfS0lORGAsCisgICAgICA6YzpkYXRhOmBQeVVuaWNvZGVfMkJZVEVfS0lORGAsIDpjOmRhdGE6YFB5VW5pY29kZV80QllURV9LSU5EYAorICAgICogOmM6bWFjcm86YFB5VW5pY29kZV9SRUFEYCwgOmM6bWFjcm86YFB5VW5pY29kZV9SRUFEX0NIQVJgLCA6YzptYWNybzpgUHlVbmljb2RlX1dSSVRFYAorICAgICogOmM6bWFjcm86YFB5VW5pY29kZV9NQVhfQ0hBUl9WQUxVRWAKKworCisKK0RlcHJlY2F0ZWQKKz09PT09PT09PT0KKworVW5zdXBwb3J0ZWQgT3BlcmF0aW5nIFN5c3RlbXMKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK09TLzIgYW5kIFZNUyBhcmUgbm8gbG9uZ2VyIHN1cHBvcnRlZCBkdWUgdG8gdGhlIGxhY2sgb2YgYSBtYWludGFpbmVyLgorCitXaW5kb3dzIDIwMDAgYW5kIFdpbmRvd3MgcGxhdGZvcm1zIHdoaWNoIHNldCBgYENPTVNQRUNgYCB0byBgYGNvbW1hbmQuY29tYGAKK2FyZSBubyBsb25nZXIgc3VwcG9ydGVkIGR1ZSB0byBtYWludGVuYW5jZSBidXJkZW4uCisKKworRGVwcmVjYXRlZCBQeXRob24gbW9kdWxlcywgZnVuY3Rpb25zIGFuZCBtZXRob2RzCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworKiBUaGUgOm1vZDpgcGFja2FnaW5nYCBtb2R1bGUgcmVwbGFjZXMgdGhlIDptb2Q6YGRpc3R1dGlsc2AgbW9kdWxlCisqIFRoZSBgYHVuaWNvZGVfaW50ZXJuYWxgYCBjb2RlYyBoYXMgYmVlbiBkZXByZWNhdGVkIGJlY2F1c2Ugb2YgdGhlCisgIDpwZXA6YDM5M2AsIHVzZSBVVEYtOCwgVVRGLTE2IChgYHV0Zi0xNi1sZWBgIG9yIGBgdXRmLTE2LWJlYGApLCBvciBVVEYtMzIKKyAgKGBgdXRmLTMyLWxlYGAgb3IgYGB1dGYtMzItYmVgYCkKKyogOm1ldGg6YGZ0cGxpYi5GVFAubmxzdGAgYW5kIDptZXRoOmBmdHBsaWIuRlRQLmRpcmA6IHVzZQorICA6bWV0aDpgZnRwbGliLkZUUC5tbHNkYAorKiA6ZnVuYzpgcGxhdGZvcm0ucG9wZW5gOiB1c2UgdGhlIDptb2Q6YHN1YnByb2Nlc3NgIG1vZHVsZS4gQ2hlY2sgZXNwZWNpYWxseQorICB0aGUgOnJlZjpgc3VicHJvY2Vzcy1yZXBsYWNlbWVudHNgIHNlY3Rpb24uCisqIDppc3N1ZTpgMTMzNzRgOiBUaGUgV2luZG93cyBieXRlcyBBUEkgaGFzIGJlZW4gZGVwcmVjYXRlZCBpbiB0aGUgOm1vZDpgb3NgCisgIG1vZHVsZS4gVXNlIFVuaWNvZGUgZmlsZW5hbWVzLCBpbnN0ZWFkIG9mIGJ5dGVzIGZpbGVuYW1lcywgdG8gbm90IGRlcGVuZCBvbgorICB0aGUgQU5TSSBjb2RlIHBhZ2UgYW55bW9yZSBhbmQgdG8gc3VwcG9ydCBhbnkgZmlsZW5hbWUuCisqIDppc3N1ZTpgMTM5ODhgOiBUaGUgOm1vZDpgeG1sLmV0cmVlLmNFbGVtZW50VHJlZWAgbW9kdWxlIGlzIGRlcHJlY2F0ZWQuICBUaGUKKyAgYWNjZWxlcmF0b3IgaXMgdXNlZCBhdXRvbWF0aWNhbGx5IHdoZW5ldmVyIGF2YWlsYWJsZS4KKworCitEZXByZWNhdGVkIGZ1bmN0aW9ucyBhbmQgdHlwZXMgb2YgdGhlIEMgQVBJCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK1RoZSA6Yzp0eXBlOmBQeV9VTklDT0RFYCBoYXMgYmVlbiBkZXByZWNhdGVkIGJ5IHRoZSA6cGVwOmAzOTNgIGFuZCB3aWxsIGJlCityZW1vdmVkIGluIFB5dGhvbiA0LiBBbGwgZnVuY3Rpb25zIHVzaW5nIHRoaXMgdHlwZSBhcmUgZGVwcmVjYXRlZDoKKworVW5pY29kZSBmdW5jdGlvbnMgYW5kIG1ldGhvZHMgdXNpbmcgOmM6dHlwZTpgUHlfVU5JQ09ERWAgYW5kCis6Yzp0eXBlOmBQeV9VTklDT0RFKmAgdHlwZXM6CisKKyAqIDpjOm1hY3JvOmBQeVVuaWNvZGVfRnJvbVVuaWNvZGVgOiB1c2UgOmM6ZnVuYzpgUHlVbmljb2RlX0Zyb21XaWRlQ2hhcmAgb3IKKyAgIDpjOmZ1bmM6YFB5VW5pY29kZV9Gcm9tS2luZEFuZERhdGFgCisgKiA6YzptYWNybzpgUHlVbmljb2RlX0FTX1VOSUNPREVgLCA6YzpmdW5jOmBQeVVuaWNvZGVfQXNVbmljb2RlYCwKKyAgIDpjOmZ1bmM6YFB5VW5pY29kZV9Bc1VuaWNvZGVBbmRTaXplYDogdXNlIDpjOmZ1bmM6YFB5VW5pY29kZV9Bc1dpZGVDaGFyU3RyaW5nYAorICogOmM6bWFjcm86YFB5VW5pY29kZV9BU19EQVRBYDogdXNlIDpjOm1hY3JvOmBQeVVuaWNvZGVfREFUQWAgd2l0aAorICAgOmM6bWFjcm86YFB5VW5pY29kZV9SRUFEYCBhbmQgOmM6bWFjcm86YFB5VW5pY29kZV9XUklURWAKKyAqIDpjOm1hY3JvOmBQeVVuaWNvZGVfR0VUX1NJWkVgLCA6YzpmdW5jOmBQeVVuaWNvZGVfR2V0U2l6ZWA6IHVzZQorICAgOmM6bWFjcm86YFB5VW5pY29kZV9HRVRfTEVOR1RIYCBvciA6YzpmdW5jOmBQeVVuaWNvZGVfR2V0TGVuZ3RoYAorICogOmM6bWFjcm86YFB5VW5pY29kZV9HRVRfREFUQV9TSVpFYDogdXNlCisgICBgYFB5VW5pY29kZV9HRVRfTEVOR1RIKHN0cikgKiBQeVVuaWNvZGVfS0lORChzdHIpYGAgKG9ubHkgd29yayBvbiByZWFkeQorICAgc3RyaW5ncykKKyAqIDpjOmZ1bmM6YFB5VW5pY29kZV9Bc1VuaWNvZGVDb3B5YDogdXNlIDpjOmZ1bmM6YFB5VW5pY29kZV9Bc1VDUzRDb3B5YCBvcgorICAgOmM6ZnVuYzpgUHlVbmljb2RlX0FzV2lkZUNoYXJTdHJpbmdgCisgKiA6YzpmdW5jOmBQeVVuaWNvZGVfR2V0TWF4YAorCisKK0Z1bmN0aW9ucyBhbmQgbWFjcm9zIG1hbmlwdWxhdGluZyBQeV9VTklDT0RFKiBzdHJpbmdzOgorCisgKiA6YzptYWNybzpgUHlfVU5JQ09ERV9zdHJsZW5gOiB1c2UgOmM6ZnVuYzpgUHlVbmljb2RlX0dldExlbmd0aGAgb3IKKyAgIDpjOm1hY3JvOmBQeVVuaWNvZGVfR0VUX0xFTkdUSGAKKyAqIDpjOm1hY3JvOmBQeV9VTklDT0RFX3N0cmNhdGA6IHVzZSA6YzpmdW5jOmBQeVVuaWNvZGVfQ29weUNoYXJhY3RlcnNgIG9yCisgICA6YzpmdW5jOmBQeVVuaWNvZGVfRnJvbUZvcm1hdGAKKyAqIDpjOm1hY3JvOmBQeV9VTklDT0RFX3N0cmNweWAsIDpjOm1hY3JvOmBQeV9VTklDT0RFX3N0cm5jcHlgLAorICAgOmM6bWFjcm86YFB5X1VOSUNPREVfQ09QWWA6IHVzZSA6YzpmdW5jOmBQeVVuaWNvZGVfQ29weUNoYXJhY3RlcnNgIG9yCisgICA6YzpmdW5jOmBQeVVuaWNvZGVfU3Vic3RyaW5nYAorICogOmM6bWFjcm86YFB5X1VOSUNPREVfc3RyY21wYDogdXNlIDpjOmZ1bmM6YFB5VW5pY29kZV9Db21wYXJlYAorICogOmM6bWFjcm86YFB5X1VOSUNPREVfc3RybmNtcGA6IHVzZSA6YzpmdW5jOmBQeVVuaWNvZGVfVGFpbG1hdGNoYAorICogOmM6bWFjcm86YFB5X1VOSUNPREVfc3RyY2hyYCwgOmM6bWFjcm86YFB5X1VOSUNPREVfc3RycmNocmA6IHVzZQorICAgOmM6ZnVuYzpgUHlVbmljb2RlX0ZpbmRDaGFyYAorICogOmM6bWFjcm86YFB5X1VOSUNPREVfRklMTGA6IHVzZSA6YzpmdW5jOmBQeVVuaWNvZGVfRmlsbGAKKyAqIDpjOm1hY3JvOmBQeV9VTklDT0RFX01BVENIYAorCitFbmNvZGVyczoKKworICogOmM6ZnVuYzpgUHlVbmljb2RlX0VuY29kZWA6IHVzZSA6YzpmdW5jOmBQeVVuaWNvZGVfQXNFbmNvZGVkT2JqZWN0YAorICogOmM6ZnVuYzpgUHlVbmljb2RlX0VuY29kZVVURjdgCisgKiA6YzpmdW5jOmBQeVVuaWNvZGVfRW5jb2RlVVRGOGA6IHVzZSA6YzpmdW5jOmBQeVVuaWNvZGVfQXNVVEY4YCBvcgorICAgOmM6ZnVuYzpgUHlVbmljb2RlX0FzVVRGOFN0cmluZ2AKKyAqIDpjOmZ1bmM6YFB5VW5pY29kZV9FbmNvZGVVVEYzMmAKKyAqIDpjOmZ1bmM6YFB5VW5pY29kZV9FbmNvZGVVVEYxNmAKKyAqIDpjOmZ1bmM6YFB5VW5pY29kZV9FbmNvZGVVbmljb2RlRXNjYXBlOmAgdXNlCisgICA6YzpmdW5jOmBQeVVuaWNvZGVfQXNVbmljb2RlRXNjYXBlU3RyaW5nYAorICogOmM6ZnVuYzpgUHlVbmljb2RlX0VuY29kZVJhd1VuaWNvZGVFc2NhcGU6YCB1c2UKKyAgIDpjOmZ1bmM6YFB5VW5pY29kZV9Bc1Jhd1VuaWNvZGVFc2NhcGVTdHJpbmdgCisgKiA6YzpmdW5jOmBQeVVuaWNvZGVfRW5jb2RlTGF0aW4xYDogdXNlIDpjOmZ1bmM6YFB5VW5pY29kZV9Bc0xhdGluMVN0cmluZ2AKKyAqIDpjOmZ1bmM6YFB5VW5pY29kZV9FbmNvZGVBU0NJSWA6IHVzZSA6YzpmdW5jOmBQeVVuaWNvZGVfQXNBU0NJSVN0cmluZ2AKKyAqIDpjOmZ1bmM6YFB5VW5pY29kZV9FbmNvZGVDaGFybWFwYAorICogOmM6ZnVuYzpgUHlVbmljb2RlX1RyYW5zbGF0ZUNoYXJtYXBgCisgKiA6YzpmdW5jOmBQeVVuaWNvZGVfRW5jb2RlTUJDU2A6IHVzZSA6YzpmdW5jOmBQeVVuaWNvZGVfQXNNQkNTU3RyaW5nYCBvcgorICAgOmM6ZnVuYzpgUHlVbmljb2RlX0VuY29kZUNvZGVQYWdlYCAod2l0aCBgYENQX0FDUGBgIGNvZGVfcGFnZSkKKyAqIDpjOmZ1bmM6YFB5VW5pY29kZV9FbmNvZGVEZWNpbWFsYCwKKyAgIDpjOmZ1bmM6YFB5VW5pY29kZV9UcmFuc2Zvcm1EZWNpbWFsVG9BU0NJSWAKKworCitQb3J0aW5nIHRvIFB5dGhvbiAzLjMKKz09PT09PT09PT09PT09PT09PT09PQorCitUaGlzIHNlY3Rpb24gbGlzdHMgcHJldmlvdXNseSBkZXNjcmliZWQgY2hhbmdlcyBhbmQgb3RoZXIgYnVnZml4ZXMKK3RoYXQgbWF5IHJlcXVpcmUgY2hhbmdlcyB0byB5b3VyIGNvZGUuCisKK1BvcnRpbmcgUHl0aG9uIGNvZGUKKy0tLS0tLS0tLS0tLS0tLS0tLS0KKworLi4gWFhYIGFkZCBhIHBvaW50IGFib3V0IGhhc2ggcmFuZG9taXphdGlvbiBhbmQgdGhhdCBpdCdzIGFsd2F5cyBvbiBpbiAzLjMKKworKiA6aXNzdWU6YDE0MjA1YDogQSBkaWN0IGxvb2t1cCBub3cgcmFpc2VzIGEgOmV4YzpgUnVudGltZUVycm9yYCBpZiB0aGUgZGljdCBpcworICBtb2RpZmllZCBkdXJpbmcgdGhlIGxvb2t1cC4gSWYgeW91IGltcGxlbWVudCB5b3VyIG93biBjb21wYXJpc29uIGZ1bmN0aW9uIGZvcgorICBvYmplY3RzIHVzZWQgYXMgZGljdCBrZXlzIGFuZCB0aGUgZGljdCBpcyBzaGFyZWQgYnkgbXVsdGlwbGUgdGhyZWFkcywgYWNjZXNzCisgIHRvIHRoZSBkaWN0IHNob3VsZCBiZSBwcm90ZWN0ZWQgYnkgYSBsb2NrLgorCisqIDppc3N1ZTpgMTIzMjZgOiBPbiBMaW51eCwgc3lzLnBsYXRmb3JtIGRvZXNuJ3QgY29udGFpbiB0aGUgbWFqb3IgdmVyc2lvbgorICBhbnltb3JlLiBJdCBpcyBub3cgYWx3YXlzICdsaW51eCcsIGluc3RlYWQgb2YgJ2xpbnV4Micgb3IgJ2xpbnV4MycgZGVwZW5kaW5nCisgIG9uIHRoZSBMaW51eCB2ZXJzaW9uIHVzZWQgdG8gYnVpbGQgUHl0aG9uLiBSZXBsYWNlIHN5cy5wbGF0Zm9ybSA9PSAnbGludXgyJworICB3aXRoIHN5cy5wbGF0Zm9ybS5zdGFydHN3aXRoKCdsaW51eCcpLCBvciBkaXJlY3RseSBzeXMucGxhdGZvcm0gPT0gJ2xpbnV4JyBpZgorICB5b3UgZG9uJ3QgbmVlZCB0byBzdXBwb3J0IG9sZGVyIFB5dGhvbiB2ZXJzaW9ucy4KKworKiA6aXNzdWU6YDEzODQ3YCwgOmlzc3VlOmAxNDE4MGA6IDptb2Q6YHRpbWVgIGFuZCA6bW9kOmBkYXRldGltZWA6CisgIDpleGM6YE92ZXJmbG93RXJyb3JgIGlzIG5vdyByYWlzZWQgaW5zdGVhZCBvZiA6ZXhjOmBWYWx1ZUVycm9yYCBpZiBhCisgIHRpbWVzdGFtcCBpcyBvdXQgb2YgcmFuZ2UuIDpleGM6YE9TRXJyb3JgIGlzIG5vdyByYWlzZWQgaWYgQyBmdW5jdGlvbnMKKyAgOmM6ZnVuYzpgZ210aW1lYCBvciA6YzpmdW5jOmBsb2NhbHRpbWVgIGZhaWxlZC4KKworUG9ydGluZyBDIGNvZGUKKy0tLS0tLS0tLS0tLS0tCisKKyogSW4gdGhlIGNvdXJzZSBvZiBjaGFuZ2VzIHRvIHRoZSBidWZmZXIgQVBJIHRoZSB1bmRvY3VtZW50ZWQKKyAgOmM6bWVtYmVyOmB+UHlfYnVmZmVyLnNtYWxsdGFibGVgIG1lbWJlciBvZiB0aGUKKyAgOmM6dHlwZTpgUHlfYnVmZmVyYCBzdHJ1Y3R1cmUgaGFzIGJlZW4gcmVtb3ZlZCBhbmQgdGhlCisgIGxheW91dCBvZiB0aGUgOmM6dHlwZTpgUHlNZW1vcnlWaWV3T2JqZWN0YCBoYXMgY2hhbmdlZC4KKworICBBbGwgZXh0ZW5zaW9ucyByZWx5aW5nIG9uIHRoZSByZWxldmFudCBwYXJ0cyBpbiBgYG1lbW9yeW9iamVjdC5oYGAKKyAgb3IgYGBvYmplY3QuaGBgIG11c3QgYmUgcmVidWlsdC4KKworKiBEdWUgdG8gOnJlZjpgUEVQIDM5MyA8cGVwLTM5Mz5gLCB0aGUgOmM6dHlwZTpgUHlfVU5JQ09ERWAgdHlwZSBhbmQgYWxsCisgIGZ1bmN0aW9ucyB1c2luZyB0aGlzIHR5cGUgYXJlIGRlcHJlY2F0ZWQgKGJ1dCB3aWxsIHN0YXkgYXZhaWxhYmxlIGZvcgorICBhdCBsZWFzdCBmaXZlIHllYXJzKS4gIElmIHlvdSB3ZXJlIHVzaW5nIGxvdy1sZXZlbCBVbmljb2RlIEFQSXMgdG8KKyAgY29uc3RydWN0IGFuZCBhY2Nlc3MgdW5pY29kZSBvYmplY3RzIGFuZCB5b3Ugd2FudCB0byBiZW5lZml0IG9mIHRoZQorICBtZW1vcnkgZm9vdHByaW50IHJlZHVjdGlvbiBwcm92aWRlZCBieSB0aGUgUEVQIDM5MywgeW91IGhhdmUgdG8gY29udmVydAorICB5b3VyIGNvZGUgdG8gdGhlIG5ldyA6ZG9jOmBVbmljb2RlIEFQSSA8Li4vYy1hcGkvdW5pY29kZT5gLgorCisgIEhvd2V2ZXIsIGlmIHlvdSBvbmx5IGhhdmUgYmVlbiB1c2luZyBoaWdoLWxldmVsIGZ1bmN0aW9ucyBzdWNoIGFzCisgIDpjOmZ1bmM6YFB5VW5pY29kZV9Db25jYXQoKWAsIDpjOmZ1bmM6YFB5VW5pY29kZV9Kb2luYCBvcgorICA6YzpmdW5jOmBQeVVuaWNvZGVfRnJvbUZvcm1hdCgpYCwgeW91ciBjb2RlIHdpbGwgYXV0b21hdGljYWxseSB0YWtlCisgIGFkdmFudGFnZSBvZiB0aGUgbmV3IHVuaWNvZGUgcmVwcmVzZW50YXRpb25zLgorCitCdWlsZGluZyBDIGV4dGVuc2lvbnMKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisqIFRoZSByYW5nZSBvZiBwb3NzaWJsZSBmaWxlIG5hbWVzIGZvciBDIGV4dGVuc2lvbnMgaGFzIGJlZW4gbmFycm93ZWQuCisgIFZlcnkgcmFyZWx5IHVzZWQgc3BlbGxpbmdzIGhhdmUgYmVlbiBzdXBwcmVzc2VkOiB1bmRlciBQT1NJWCwgZmlsZXMKKyAgbmFtZWQgYGB4eHhtb2R1bGUuc29gYCwgYGB4eHhtb2R1bGUuYWJpMy5zb2BgIGFuZAorICBgYHh4eG1vZHVsZS5jcHl0aG9uLSouc29gYCBhcmUgbm8gbG9uZ2VyIHJlY29nbml6ZWQgYXMgaW1wbGVtZW50aW5nCisgIHRoZSBgYHh4eGBgIG1vZHVsZS4gIElmIHlvdSBoYWQgYmVlbiBnZW5lcmF0aW5nIHN1Y2ggZmlsZXMsIHlvdSBoYXZlCisgIHRvIHN3aXRjaCB0byB0aGUgb3RoZXIgc3BlbGxpbmdzIChpLmUuLCByZW1vdmUgdGhlIGBgbW9kdWxlYGAgc3RyaW5nCisgIGZyb20gdGhlIGZpbGUgbmFtZXMpLgorCisgIChpbXBsZW1lbnRlZCBpbiA6aXNzdWU6YDE0MDQwYC4pCisKKworT3RoZXIgaXNzdWVzCistLS0tLS0tLS0tLS0KKworLi4gSXNzdWUgIzExNTkxOiBXaGVuIDpwcm9ncmFtOmBweXRob25gIHdhcyBzdGFydGVkIHdpdGggOm9wdGlvbjpgLVNgLAorICAgYGBpbXBvcnQgc2l0ZWBgIHdpbGwgbm90IGFkZCBzaXRlLXNwZWNpZmljIHBhdGhzIHRvIHRoZSBtb2R1bGUgc2VhcmNoCisgICBwYXRocy4gIEluIHByZXZpb3VzIHZlcnNpb25zLCBpdCBkaWQuICBTZWUgY2hhbmdlc2V0IGZvciBkb2MgY2hhbmdlcyBpbgorICAgdmFyaW91cyBmaWxlcy4gIENvbnRyaWJ1dGVkIGJ5IENhcmwgTWV5ZXIgd2l0aCBlZGl0aW9ucyBieSDDiXJpYyBBcmF1am8uCisKKy4uIElzc3VlICMxMDk5ODogdGhlIC1RIGNvbW1hbmQtbGluZSBmbGFnIGFuZCByZWxhdGVkIGFydGlmYWN0cyBoYXZlIGJlZW4KKyAgIHJlbW92ZWQuICBDb2RlIGNoZWNraW5nIHN5cy5mbGFncy5kaXZpc2lvbl93YXJuaW5nIHdpbGwgbmVlZCB1cGRhdGluZy4KKyAgIENvbnRyaWJ1dGVkIGJ5IMOJcmljIEFyYXVqby4KZGlmZiAtLWdpdCBhL0RvYy93aGF0c25ldy9pbmRleC5yc3QgYi9Eb2Mvd2hhdHNuZXcvaW5kZXgucnN0CmluZGV4IDgyMjBiZDIuLmM2MDgxOGEgMTAwNjQ0Ci0tLSBhL0RvYy93aGF0c25ldy9pbmRleC5yc3QKKysrIGIvRG9jL3doYXRzbmV3L2luZGV4LnJzdApAQCAtMTEsNiArMTEsNyBAQAogLi4gdG9jdHJlZTo6CiAgICA6bWF4ZGVwdGg6IDIKIAorICAgMy4zLnJzdAogICAgMy4yLnJzdAogICAgMy4xLnJzdAogICAgMy4wLnJzdApkaWZmIC0tZ2l0IGEvR3JhbW1hci9HcmFtbWFyIGIvR3JhbW1hci9HcmFtbWFyCmluZGV4IGNlYTY4ZGUuLmQ3YWFmZmQgMTAwNjQ0Ci0tLSBhL0dyYW1tYXIvR3JhbW1hcgorKysgYi9HcmFtbWFyL0dyYW1tYXIKQEAgLTEzLDcgKzEzLDcgQEAKICMgU3RhcnQgc3ltYm9scyBmb3IgdGhlIGdyYW1tYXI6CiAjICAgICAgIHNpbmdsZV9pbnB1dCBpcyBhIHNpbmdsZSBpbnRlcmFjdGl2ZSBzdGF0ZW1lbnQ7CiAjICAgICAgIGZpbGVfaW5wdXQgaXMgYSBtb2R1bGUgb3Igc2VxdWVuY2Ugb2YgY29tbWFuZHMgcmVhZCBmcm9tIGFuIGlucHV0IGZpbGU7Ci0jICAgICAgIGV2YWxfaW5wdXQgaXMgdGhlIGlucHV0IGZvciB0aGUgZXZhbCgpIGFuZCBpbnB1dCgpIGZ1bmN0aW9ucy4KKyMgICAgICAgZXZhbF9pbnB1dCBpcyB0aGUgaW5wdXQgZm9yIHRoZSBldmFsKCkgZnVuY3Rpb25zLgogIyBOQjogY29tcG91bmRfc3RtdCBpbiBzaW5nbGVfaW5wdXQgaXMgZm9sbG93ZWQgYnkgZXh0cmEgTkVXTElORSEKIHNpbmdsZV9pbnB1dDogTkVXTElORSB8IHNpbXBsZV9zdG10IHwgY29tcG91bmRfc3RtdCBORVdMSU5FCiBmaWxlX2lucHV0OiAoTkVXTElORSB8IHN0bXQpKiBFTkRNQVJLRVIKQEAgLTEyOSw0ICsxMjksNSBAQAogIyBub3QgdXNlZCBpbiBncmFtbWFyLCBidXQgbWF5IGFwcGVhciBpbiAibm9kZSIgcGFzc2VkIGZyb20gUGFyc2VyIHRvIENvbXBpbGVyCiBlbmNvZGluZ19kZWNsOiBOQU1FCiAKLXlpZWxkX2V4cHI6ICd5aWVsZCcgW3Rlc3RsaXN0XQoreWllbGRfZXhwcjogJ3lpZWxkJyBbeWllbGRfYXJnXQoreWllbGRfYXJnOiAnZnJvbScgdGVzdCB8IHRlc3RsaXN0CmRpZmYgLS1naXQgYS9JbmNsdWRlL1B5dGhvbi1hc3QuaCBiL0luY2x1ZGUvUHl0aG9uLWFzdC5oCmluZGV4IDBhZDc4OGIuLjdhZDZjYjMgMTAwNjQ0Ci0tLSBhL0luY2x1ZGUvUHl0aG9uLWFzdC5oCisrKyBiL0luY2x1ZGUvUHl0aG9uLWFzdC5oCkBAIC0zNiw2ICszNiw4IEBACiAKIHR5cGVkZWYgc3RydWN0IF9hbGlhcyAqYWxpYXNfdHk7CiAKK3R5cGVkZWYgc3RydWN0IF93aXRoaXRlbSAqd2l0aGl0ZW1fdHk7CisKIAogZW51bSBfbW9kX2tpbmQge01vZHVsZV9raW5kPTEsIEludGVyYWN0aXZlX2tpbmQ9MiwgRXhwcmVzc2lvbl9raW5kPTMsCiAgICAgICAgICAgICAgICAgIFN1aXRlX2tpbmQ9NH07CkBAIC02NCwxMCArNjYsOSBAQAogZW51bSBfc3RtdF9raW5kIHtGdW5jdGlvbkRlZl9raW5kPTEsIENsYXNzRGVmX2tpbmQ9MiwgUmV0dXJuX2tpbmQ9MywKICAgICAgICAgICAgICAgICAgIERlbGV0ZV9raW5kPTQsIEFzc2lnbl9raW5kPTUsIEF1Z0Fzc2lnbl9raW5kPTYsIEZvcl9raW5kPTcsCiAgICAgICAgICAgICAgICAgICBXaGlsZV9raW5kPTgsIElmX2tpbmQ9OSwgV2l0aF9raW5kPTEwLCBSYWlzZV9raW5kPTExLAotICAgICAgICAgICAgICAgICAgVHJ5RXhjZXB0X2tpbmQ9MTIsIFRyeUZpbmFsbHlfa2luZD0xMywgQXNzZXJ0X2tpbmQ9MTQsCi0gICAgICAgICAgICAgICAgICBJbXBvcnRfa2luZD0xNSwgSW1wb3J0RnJvbV9raW5kPTE2LCBHbG9iYWxfa2luZD0xNywKLSAgICAgICAgICAgICAgICAgIE5vbmxvY2FsX2tpbmQ9MTgsIEV4cHJfa2luZD0xOSwgUGFzc19raW5kPTIwLCBCcmVha19raW5kPTIxLAotICAgICAgICAgICAgICAgICAgQ29udGludWVfa2luZD0yMn07CisgICAgICAgICAgICAgICAgICBUcnlfa2luZD0xMiwgQXNzZXJ0X2tpbmQ9MTMsIEltcG9ydF9raW5kPTE0LAorICAgICAgICAgICAgICAgICAgSW1wb3J0RnJvbV9raW5kPTE1LCBHbG9iYWxfa2luZD0xNiwgTm9ubG9jYWxfa2luZD0xNywKKyAgICAgICAgICAgICAgICAgIEV4cHJfa2luZD0xOCwgUGFzc19raW5kPTE5LCBCcmVha19raW5kPTIwLCBDb250aW51ZV9raW5kPTIxfTsKIHN0cnVjdCBfc3RtdCB7CiAgICAgICAgIGVudW0gX3N0bXRfa2luZCBraW5kOwogICAgICAgICB1bmlvbiB7CkBAIC0xMjgsOCArMTI5LDcgQEAKICAgICAgICAgICAgICAgICB9IElmOwogICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgIHN0cnVjdCB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBleHByX3R5IGNvbnRleHRfZXhwcjsKLSAgICAgICAgICAgICAgICAgICAgICAgIGV4cHJfdHkgb3B0aW9uYWxfdmFyczsKKyAgICAgICAgICAgICAgICAgICAgICAgIGFzZGxfc2VxICppdGVtczsKICAgICAgICAgICAgICAgICAgICAgICAgIGFzZGxfc2VxICpib2R5OwogICAgICAgICAgICAgICAgIH0gV2l0aDsKICAgICAgICAgICAgICAgICAKQEAgLTE0MiwxMiArMTQyLDggQEAKICAgICAgICAgICAgICAgICAgICAgICAgIGFzZGxfc2VxICpib2R5OwogICAgICAgICAgICAgICAgICAgICAgICAgYXNkbF9zZXEgKmhhbmRsZXJzOwogICAgICAgICAgICAgICAgICAgICAgICAgYXNkbF9zZXEgKm9yZWxzZTsKLSAgICAgICAgICAgICAgICB9IFRyeUV4Y2VwdDsKLSAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgICAgICBzdHJ1Y3QgewotICAgICAgICAgICAgICAgICAgICAgICAgYXNkbF9zZXEgKmJvZHk7CiAgICAgICAgICAgICAgICAgICAgICAgICBhc2RsX3NlcSAqZmluYWxib2R5OwotICAgICAgICAgICAgICAgIH0gVHJ5RmluYWxseTsKKyAgICAgICAgICAgICAgICB9IFRyeTsKICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICBzdHJ1Y3QgewogICAgICAgICAgICAgICAgICAgICAgICAgZXhwcl90eSB0ZXN0OwpAQCAtMTg0LDEwICsxODAsMTAgQEAKIGVudW0gX2V4cHJfa2luZCB7Qm9vbE9wX2tpbmQ9MSwgQmluT3Bfa2luZD0yLCBVbmFyeU9wX2tpbmQ9MywgTGFtYmRhX2tpbmQ9NCwKICAgICAgICAgICAgICAgICAgIElmRXhwX2tpbmQ9NSwgRGljdF9raW5kPTYsIFNldF9raW5kPTcsIExpc3RDb21wX2tpbmQ9OCwKICAgICAgICAgICAgICAgICAgIFNldENvbXBfa2luZD05LCBEaWN0Q29tcF9raW5kPTEwLCBHZW5lcmF0b3JFeHBfa2luZD0xMSwKLSAgICAgICAgICAgICAgICAgIFlpZWxkX2tpbmQ9MTIsIENvbXBhcmVfa2luZD0xMywgQ2FsbF9raW5kPTE0LCBOdW1fa2luZD0xNSwKLSAgICAgICAgICAgICAgICAgIFN0cl9raW5kPTE2LCBCeXRlc19raW5kPTE3LCBFbGxpcHNpc19raW5kPTE4LAotICAgICAgICAgICAgICAgICAgQXR0cmlidXRlX2tpbmQ9MTksIFN1YnNjcmlwdF9raW5kPTIwLCBTdGFycmVkX2tpbmQ9MjEsCi0gICAgICAgICAgICAgICAgICBOYW1lX2tpbmQ9MjIsIExpc3Rfa2luZD0yMywgVHVwbGVfa2luZD0yNH07CisgICAgICAgICAgICAgICAgICBZaWVsZF9raW5kPTEyLCBZaWVsZEZyb21fa2luZD0xMywgQ29tcGFyZV9raW5kPTE0LAorICAgICAgICAgICAgICAgICAgQ2FsbF9raW5kPTE1LCBOdW1fa2luZD0xNiwgU3RyX2tpbmQ9MTcsIEJ5dGVzX2tpbmQ9MTgsCisgICAgICAgICAgICAgICAgICBFbGxpcHNpc19raW5kPTE5LCBBdHRyaWJ1dGVfa2luZD0yMCwgU3Vic2NyaXB0X2tpbmQ9MjEsCisgICAgICAgICAgICAgICAgICBTdGFycmVkX2tpbmQ9MjIsIE5hbWVfa2luZD0yMywgTGlzdF9raW5kPTI0LCBUdXBsZV9raW5kPTI1fTsKIHN0cnVjdCBfZXhwciB7CiAgICAgICAgIGVudW0gX2V4cHJfa2luZCBraW5kOwogICAgICAgICB1bmlvbiB7CkBAIC0yNTMsNiArMjQ5LDEwIEBACiAgICAgICAgICAgICAgICAgfSBZaWVsZDsKICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICBzdHJ1Y3QgeworICAgICAgICAgICAgICAgICAgICAgICAgZXhwcl90eSB2YWx1ZTsKKyAgICAgICAgICAgICAgICB9IFlpZWxkRnJvbTsKKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICBzdHJ1Y3QgewogICAgICAgICAgICAgICAgICAgICAgICAgZXhwcl90eSBsZWZ0OwogICAgICAgICAgICAgICAgICAgICAgICAgYXNkbF9pbnRfc2VxICpvcHM7CiAgICAgICAgICAgICAgICAgICAgICAgICBhc2RsX3NlcSAqY29tcGFyYXRvcnM7CkBAIC0yNzUsNyArMjc1LDcgQEAKICAgICAgICAgICAgICAgICB9IFN0cjsKICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICBzdHJ1Y3QgewotICAgICAgICAgICAgICAgICAgICAgICAgc3RyaW5nIHM7CisgICAgICAgICAgICAgICAgICAgICAgICBieXRlcyBzOwogICAgICAgICAgICAgICAgIH0gQnl0ZXM7CiAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgc3RydWN0IHsKQEAgLTM4Myw2ICszODMsMTEgQEAKICAgICAgICAgaWRlbnRpZmllciBhc25hbWU7CiB9OwogCitzdHJ1Y3QgX3dpdGhpdGVtIHsKKyAgICAgICAgZXhwcl90eSBjb250ZXh0X2V4cHI7CisgICAgICAgIGV4cHJfdHkgb3B0aW9uYWxfdmFyczsKK307CisKIAogI2RlZmluZSBNb2R1bGUoYTAsIGExKSBfUHlfTW9kdWxlKGEwLCBhMSkKIG1vZF90eSBfUHlfTW9kdWxlKGFzZGxfc2VxICogYm9keSwgUHlBcmVuYSAqYXJlbmEpOwpAQCAtNDIxLDE4ICs0MjYsMTYgQEAKICNkZWZpbmUgSWYoYTAsIGExLCBhMiwgYTMsIGE0LCBhNSkgX1B5X0lmKGEwLCBhMSwgYTIsIGEzLCBhNCwgYTUpCiBzdG10X3R5IF9QeV9JZihleHByX3R5IHRlc3QsIGFzZGxfc2VxICogYm9keSwgYXNkbF9zZXEgKiBvcmVsc2UsIGludCBsaW5lbm8sCiAgICAgICAgICAgICAgICBpbnQgY29sX29mZnNldCwgUHlBcmVuYSAqYXJlbmEpOwotI2RlZmluZSBXaXRoKGEwLCBhMSwgYTIsIGEzLCBhNCwgYTUpIF9QeV9XaXRoKGEwLCBhMSwgYTIsIGEzLCBhNCwgYTUpCi1zdG10X3R5IF9QeV9XaXRoKGV4cHJfdHkgY29udGV4dF9leHByLCBleHByX3R5IG9wdGlvbmFsX3ZhcnMsIGFzZGxfc2VxICogYm9keSwKLSAgICAgICAgICAgICAgICAgaW50IGxpbmVubywgaW50IGNvbF9vZmZzZXQsIFB5QXJlbmEgKmFyZW5hKTsKKyNkZWZpbmUgV2l0aChhMCwgYTEsIGEyLCBhMywgYTQpIF9QeV9XaXRoKGEwLCBhMSwgYTIsIGEzLCBhNCkKK3N0bXRfdHkgX1B5X1dpdGgoYXNkbF9zZXEgKiBpdGVtcywgYXNkbF9zZXEgKiBib2R5LCBpbnQgbGluZW5vLCBpbnQgY29sX29mZnNldCwKKyAgICAgICAgICAgICAgICAgUHlBcmVuYSAqYXJlbmEpOwogI2RlZmluZSBSYWlzZShhMCwgYTEsIGEyLCBhMywgYTQpIF9QeV9SYWlzZShhMCwgYTEsIGEyLCBhMywgYTQpCiBzdG10X3R5IF9QeV9SYWlzZShleHByX3R5IGV4YywgZXhwcl90eSBjYXVzZSwgaW50IGxpbmVubywgaW50IGNvbF9vZmZzZXQsCiAgICAgICAgICAgICAgICAgICBQeUFyZW5hICphcmVuYSk7Ci0jZGVmaW5lIFRyeUV4Y2VwdChhMCwgYTEsIGEyLCBhMywgYTQsIGE1KSBfUHlfVHJ5RXhjZXB0KGEwLCBhMSwgYTIsIGEzLCBhNCwgYTUpCi1zdG10X3R5IF9QeV9UcnlFeGNlcHQoYXNkbF9zZXEgKiBib2R5LCBhc2RsX3NlcSAqIGhhbmRsZXJzLCBhc2RsX3NlcSAqIG9yZWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICBpbnQgbGluZW5vLCBpbnQgY29sX29mZnNldCwgUHlBcmVuYSAqYXJlbmEpOwotI2RlZmluZSBUcnlGaW5hbGx5KGEwLCBhMSwgYTIsIGEzLCBhNCkgX1B5X1RyeUZpbmFsbHkoYTAsIGExLCBhMiwgYTMsIGE0KQotc3RtdF90eSBfUHlfVHJ5RmluYWxseShhc2RsX3NlcSAqIGJvZHksIGFzZGxfc2VxICogZmluYWxib2R5LCBpbnQgbGluZW5vLCBpbnQKLSAgICAgICAgICAgICAgICAgICAgICAgY29sX29mZnNldCwgUHlBcmVuYSAqYXJlbmEpOworI2RlZmluZSBUcnkoYTAsIGExLCBhMiwgYTMsIGE0LCBhNSwgYTYpIF9QeV9UcnkoYTAsIGExLCBhMiwgYTMsIGE0LCBhNSwgYTYpCitzdG10X3R5IF9QeV9UcnkoYXNkbF9zZXEgKiBib2R5LCBhc2RsX3NlcSAqIGhhbmRsZXJzLCBhc2RsX3NlcSAqIG9yZWxzZSwKKyAgICAgICAgICAgICAgICBhc2RsX3NlcSAqIGZpbmFsYm9keSwgaW50IGxpbmVubywgaW50IGNvbF9vZmZzZXQsIFB5QXJlbmEKKyAgICAgICAgICAgICAgICAqYXJlbmEpOwogI2RlZmluZSBBc3NlcnQoYTAsIGExLCBhMiwgYTMsIGE0KSBfUHlfQXNzZXJ0KGEwLCBhMSwgYTIsIGEzLCBhNCkKIHN0bXRfdHkgX1B5X0Fzc2VydChleHByX3R5IHRlc3QsIGV4cHJfdHkgbXNnLCBpbnQgbGluZW5vLCBpbnQgY29sX29mZnNldCwKICAgICAgICAgICAgICAgICAgICBQeUFyZW5hICphcmVuYSk7CkBAIC00OTAsNiArNDkzLDkgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xfb2Zmc2V0LCBQeUFyZW5hICphcmVuYSk7CiAjZGVmaW5lIFlpZWxkKGEwLCBhMSwgYTIsIGEzKSBfUHlfWWllbGQoYTAsIGExLCBhMiwgYTMpCiBleHByX3R5IF9QeV9ZaWVsZChleHByX3R5IHZhbHVlLCBpbnQgbGluZW5vLCBpbnQgY29sX29mZnNldCwgUHlBcmVuYSAqYXJlbmEpOworI2RlZmluZSBZaWVsZEZyb20oYTAsIGExLCBhMiwgYTMpIF9QeV9ZaWVsZEZyb20oYTAsIGExLCBhMiwgYTMpCitleHByX3R5IF9QeV9ZaWVsZEZyb20oZXhwcl90eSB2YWx1ZSwgaW50IGxpbmVubywgaW50IGNvbF9vZmZzZXQsIFB5QXJlbmEKKyAgICAgICAgICAgICAgICAgICAgICAqYXJlbmEpOwogI2RlZmluZSBDb21wYXJlKGEwLCBhMSwgYTIsIGEzLCBhNCwgYTUpIF9QeV9Db21wYXJlKGEwLCBhMSwgYTIsIGEzLCBhNCwgYTUpCiBleHByX3R5IF9QeV9Db21wYXJlKGV4cHJfdHkgbGVmdCwgYXNkbF9pbnRfc2VxICogb3BzLCBhc2RsX3NlcSAqIGNvbXBhcmF0b3JzLAogICAgICAgICAgICAgICAgICAgICBpbnQgbGluZW5vLCBpbnQgY29sX29mZnNldCwgUHlBcmVuYSAqYXJlbmEpOwpAQCAtNTAyLDcgKzUwOCw3IEBACiAjZGVmaW5lIFN0cihhMCwgYTEsIGEyLCBhMykgX1B5X1N0cihhMCwgYTEsIGEyLCBhMykKIGV4cHJfdHkgX1B5X1N0cihzdHJpbmcgcywgaW50IGxpbmVubywgaW50IGNvbF9vZmZzZXQsIFB5QXJlbmEgKmFyZW5hKTsKICNkZWZpbmUgQnl0ZXMoYTAsIGExLCBhMiwgYTMpIF9QeV9CeXRlcyhhMCwgYTEsIGEyLCBhMykKLWV4cHJfdHkgX1B5X0J5dGVzKHN0cmluZyBzLCBpbnQgbGluZW5vLCBpbnQgY29sX29mZnNldCwgUHlBcmVuYSAqYXJlbmEpOworZXhwcl90eSBfUHlfQnl0ZXMoYnl0ZXMgcywgaW50IGxpbmVubywgaW50IGNvbF9vZmZzZXQsIFB5QXJlbmEgKmFyZW5hKTsKICNkZWZpbmUgRWxsaXBzaXMoYTAsIGExLCBhMikgX1B5X0VsbGlwc2lzKGEwLCBhMSwgYTIpCiBleHByX3R5IF9QeV9FbGxpcHNpcyhpbnQgbGluZW5vLCBpbnQgY29sX29mZnNldCwgUHlBcmVuYSAqYXJlbmEpOwogI2RlZmluZSBBdHRyaWJ1dGUoYTAsIGExLCBhMiwgYTMsIGE0LCBhNSkgX1B5X0F0dHJpYnV0ZShhMCwgYTEsIGEyLCBhMywgYTQsIGE1KQpAQCAtNTQ3LDYgKzU1Myw5IEBACiBrZXl3b3JkX3R5IF9QeV9rZXl3b3JkKGlkZW50aWZpZXIgYXJnLCBleHByX3R5IHZhbHVlLCBQeUFyZW5hICphcmVuYSk7CiAjZGVmaW5lIGFsaWFzKGEwLCBhMSwgYTIpIF9QeV9hbGlhcyhhMCwgYTEsIGEyKQogYWxpYXNfdHkgX1B5X2FsaWFzKGlkZW50aWZpZXIgbmFtZSwgaWRlbnRpZmllciBhc25hbWUsIFB5QXJlbmEgKmFyZW5hKTsKKyNkZWZpbmUgd2l0aGl0ZW0oYTAsIGExLCBhMikgX1B5X3dpdGhpdGVtKGEwLCBhMSwgYTIpCit3aXRoaXRlbV90eSBfUHlfd2l0aGl0ZW0oZXhwcl90eSBjb250ZXh0X2V4cHIsIGV4cHJfdHkgb3B0aW9uYWxfdmFycywgUHlBcmVuYQorICAgICAgICAgICAgICAgICAgICAgICAgICphcmVuYSk7CiAKIFB5T2JqZWN0KiBQeUFTVF9tb2Qyb2JqKG1vZF90eSB0KTsKIG1vZF90eSBQeUFTVF9vYmoybW9kKFB5T2JqZWN0KiBhc3QsIFB5QXJlbmEqIGFyZW5hLCBpbnQgbW9kZSk7CmRpZmYgLS1naXQgYS9JbmNsdWRlL1B5dGhvbi5oIGIvSW5jbHVkZS9QeXRob24uaAppbmRleCA1OTcyZmZhLi4wMWI5OGY5IDEwMDY0NAotLS0gYS9JbmNsdWRlL1B5dGhvbi5oCisrKyBiL0luY2x1ZGUvUHl0aG9uLmgKQEAgLTQ4LDYgKzQ4LDcgQEAKICNpbmNsdWRlIDxhc3NlcnQuaD4KIAogI2luY2x1ZGUgInB5cG9ydC5oIgorI2luY2x1ZGUgInB5bWFjcm8uaCIKIAogI2luY2x1ZGUgInB5YXRvbWljLmgiCiAKQEAgLTEyNiw0MyArMTI3LDYgQEAKICNpbmNsdWRlICJweXN0cmNtcC5oIgogI2luY2x1ZGUgImR0b2EuaCIKICNpbmNsdWRlICJmaWxldXRpbHMuaCIKLQotI2lmZGVmIF9fY3BsdXNwbHVzCi1leHRlcm4gIkMiIHsKLSNlbmRpZgotCi0vKiBfUHlfTWFuZ2xlIGlzIGRlZmluZWQgaW4gY29tcGlsZS5jICovCi0jaWZuZGVmIFB5X0xJTUlURURfQVBJCi1QeUFQSV9GVU5DKFB5T2JqZWN0KikgX1B5X01hbmdsZShQeU9iamVjdCAqcCwgUHlPYmplY3QgKm5hbWUpOwotI2VuZGlmCi0KLSNpZmRlZiBfX2NwbHVzcGx1cwotfQotI2VuZGlmCi0KLS8qIEFyZ3VtZW50IG11c3QgYmUgYSBjaGFyIG9yIGFuIGludCBpbiBbLTEyOCwgMTI3XSBvciBbMCwgMjU1XS4gKi8KLSNkZWZpbmUgUHlfQ0hBUk1BU0soYykgICAgICAgICAgKCh1bnNpZ25lZCBjaGFyKSgoYykgJiAweGZmKSkKLQogI2luY2x1ZGUgInB5ZnBlLmgiCiAKLS8qIFRoZXNlIGRlZmluaXRpb25zIG11c3QgbWF0Y2ggY29ycmVzcG9uZGluZyBkZWZpbml0aW9ucyBpbiBncmFtaW5pdC5oLgotICAgVGhlcmUncyBjb2RlIGluIGNvbXBpbGUuYyB0aGF0IGNoZWNrcyB0aGF0IHRoZXkgYXJlIHRoZSBzYW1lLiAqLwotI2RlZmluZSBQeV9zaW5nbGVfaW5wdXQgMjU2Ci0jZGVmaW5lIFB5X2ZpbGVfaW5wdXQgMjU3Ci0jZGVmaW5lIFB5X2V2YWxfaW5wdXQgMjU4Ci0KLSNpZmRlZiBIQVZFX1BUSAotLyogR05VIHB0aCB1c2VyLXNwYWNlIHRocmVhZCBzdXBwb3J0ICovCi0jaW5jbHVkZSA8cHRoLmg+Ci0jZW5kaWYKLQotLyogRGVmaW5lIG1hY3JvcyBmb3IgaW5saW5lIGRvY3VtZW50YXRpb24uICovCi0jZGVmaW5lIFB5RG9jX1ZBUihuYW1lKSBzdGF0aWMgY2hhciBuYW1lW10KLSNkZWZpbmUgUHlEb2NfU1RSVkFSKG5hbWUsc3RyKSBQeURvY19WQVIobmFtZSkgPSBQeURvY19TVFIoc3RyKQotI2lmZGVmIFdJVEhfRE9DX1NUUklOR1MKLSNkZWZpbmUgUHlEb2NfU1RSKHN0cikgc3RyCi0jZWxzZQotI2RlZmluZSBQeURvY19TVFIoc3RyKSAiIgotI2VuZGlmCi0KICNlbmRpZiAvKiAhUHlfUFlUSE9OX0ggKi8KZGlmZiAtLWdpdCBhL0luY2x1ZGUvYWJzdHJhY3QuaCBiL0luY2x1ZGUvYWJzdHJhY3QuaAppbmRleCAwZmUwOTU2Li4zYTk5YzRlIDEwMDY0NAotLS0gYS9JbmNsdWRlL2Fic3RyYWN0LmgKKysrIGIvSW5jbHVkZS9hYnN0cmFjdC5oCkBAIC03LDYgKzcsNyBAQAogI2lmZGVmIFBZX1NTSVpFX1RfQ0xFQU4KICNkZWZpbmUgUHlPYmplY3RfQ2FsbEZ1bmN0aW9uIF9QeU9iamVjdF9DYWxsRnVuY3Rpb25fU2l6ZVQKICNkZWZpbmUgUHlPYmplY3RfQ2FsbE1ldGhvZCBfUHlPYmplY3RfQ2FsbE1ldGhvZF9TaXplVAorI2RlZmluZSBfUHlPYmplY3RfQ2FsbE1ldGhvZElkIF9QeU9iamVjdF9DYWxsTWV0aG9kSWRfU2l6ZVQKICNlbmRpZgogCiAvKiBBYnN0cmFjdCBPYmplY3QgSW50ZXJmYWNlIChtYW55IHRoYW5rcyB0byBKaW0gRnVsdG9uKSAqLwpAQCAtMzA3LDExICszMDgsMjIgQEAKICAgICAgUHl0aG9uIGV4cHJlc3Npb246IG8ubWV0aG9kKGFyZ3MpLgogICAgICAgICovCiAKKyAgICAgUHlBUElfRlVOQyhQeU9iamVjdCAqKSBfUHlPYmplY3RfQ2FsbE1ldGhvZElkKFB5T2JqZWN0ICpvLCBfUHlfSWRlbnRpZmllciAqbWV0aG9kLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFyICpmb3JtYXQsIC4uLik7CisKKyAgICAgICAvKgorICAgICAgICAgTGlrZSBQeU9iamVjdF9DYWxsTWV0aG9kLCBidXQgZXhwZWN0IGEgX1B5X0lkZW50aWZpZXIqIGFzIHRoZQorICAgICAgICAgbWV0aG9kIG5hbWUuCisgICAgICAgKi8KKwogICAgICBQeUFQSV9GVU5DKFB5T2JqZWN0ICopIF9QeU9iamVjdF9DYWxsRnVuY3Rpb25fU2l6ZVQoUHlPYmplY3QgKmNhbGxhYmxlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhciAqZm9ybWF0LCAuLi4pOwogICAgICBQeUFQSV9GVU5DKFB5T2JqZWN0ICopIF9QeU9iamVjdF9DYWxsTWV0aG9kX1NpemVUKFB5T2JqZWN0ICpvLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgKm5hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhciAqZm9ybWF0LCAuLi4pOworICAgICBQeUFQSV9GVU5DKFB5T2JqZWN0ICopIF9QeU9iamVjdF9DYWxsTWV0aG9kSWRfU2l6ZVQoUHlPYmplY3QgKm8sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX1B5X0lkZW50aWZpZXIgKm5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhciAqZm9ybWF0LCAuLi4pOwogCiAgICAgIFB5QVBJX0ZVTkMoUHlPYmplY3QgKikgUHlPYmplY3RfQ2FsbEZ1bmN0aW9uT2JqQXJncyhQeU9iamVjdCAqY2FsbGFibGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi4pOwpAQCAtNTQ3LDcgKzU1OSw3IEBACiAgICAgLyogQ29weSB0aGUgZGF0YSBmcm9tIHRoZSBzcmMgYnVmZmVyIHRvIHRoZSBidWZmZXIgb2YgZGVzdGluYXRpb24KICAgICAgKi8KIAotICAgICBQeUFQSV9GVU5DKGludCkgUHlCdWZmZXJfSXNDb250aWd1b3VzKFB5X2J1ZmZlciAqdmlldywgY2hhciBmb3J0KTsKKyAgICAgUHlBUElfRlVOQyhpbnQpIFB5QnVmZmVyX0lzQ29udGlndW91cyhjb25zdCBQeV9idWZmZXIgKnZpZXcsIGNoYXIgZm9ydCk7CiAKIAogICAgICBQeUFQSV9GVU5DKHZvaWQpIFB5QnVmZmVyX0ZpbGxDb250aWd1b3VzU3RyaWRlcyhpbnQgbmRpbXMsCkBAIC0xMDE0LDcgKzEwMjYsNyBAQAogCiAgICAgIFB5QVBJX0ZVTkMoUHlPYmplY3QgKikgUHlTZXF1ZW5jZV9GYXN0KFB5T2JqZWN0ICpvLCBjb25zdCBjaGFyKiBtKTsKICAgICAgICAvKgotICAgICBSZXR1cm5zIHRoZSBzZXF1ZW5jZSwgbywgYXMgYSB0dXBsZSwgdW5sZXNzIGl0J3MgYWxyZWFkeSBhCisgICAgIFJldHVybnMgdGhlIHNlcXVlbmNlLCBvLCBhcyBhIGxpc3QsIHVubGVzcyBpdCdzIGFscmVhZHkgYQogICAgICB0dXBsZSBvciBsaXN0LiAgVXNlIFB5U2VxdWVuY2VfRmFzdF9HRVRfSVRFTSB0byBhY2Nlc3MgdGhlCiAgICAgIG1lbWJlcnMgb2YgdGhpcyBsaXN0LCBhbmQgUHlTZXF1ZW5jZV9GYXN0X0dFVF9TSVpFIHRvIGdldCBpdHMgbGVuZ3RoLgogCmRpZmYgLS1naXQgYS9JbmNsdWRlL2FzZGwuaCBiL0luY2x1ZGUvYXNkbC5oCmluZGV4IDliYjA2OTcuLjQyYmJiZjggMTAwNjQ0Ci0tLSBhL0luY2x1ZGUvYXNkbC5oCisrKyBiL0luY2x1ZGUvYXNkbC5oCkBAIC0zLDYgKzMsNyBAQAogCiB0eXBlZGVmIFB5T2JqZWN0ICogaWRlbnRpZmllcjsKIHR5cGVkZWYgUHlPYmplY3QgKiBzdHJpbmc7Cit0eXBlZGVmIFB5T2JqZWN0ICogYnl0ZXM7CiB0eXBlZGVmIFB5T2JqZWN0ICogb2JqZWN0OwogCiAvKiBJdCB3b3VsZCBiZSBuaWNlIGlmIHRoZSBjb2RlIGdlbmVyYXRlZCBieSBhc2RsX2MucHkgd2FzIGNvbXBsZXRlbHkKZGlmZiAtLWdpdCBhL0luY2x1ZGUvYXN0LmggYi9JbmNsdWRlL2FzdC5oCmluZGV4IGEwMTUzMzYuLjA1NWU4ZGMgMTAwNjQ0Ci0tLSBhL0luY2x1ZGUvYXN0LmgKKysrIGIvSW5jbHVkZS9hc3QuaApAQCAtNCw2ICs0LDcgQEAKIGV4dGVybiAiQyIgewogI2VuZGlmCiAKK1B5QVBJX0ZVTkMoaW50KSBQeUFTVF9WYWxpZGF0ZShtb2RfdHkpOwogUHlBUElfRlVOQyhtb2RfdHkpIFB5QVNUX0Zyb21Ob2RlKAogICAgIGNvbnN0IG5vZGUgKm4sCiAgICAgUHlDb21waWxlckZsYWdzICpmbGFncywKZGlmZiAtLWdpdCBhL0luY2x1ZGUvY29kZS5oIGIvSW5jbHVkZS9jb2RlLmgKaW5kZXggZTc3M2I2YS4uN2M3ZTViZiAxMDA2NDQKLS0tIGEvSW5jbHVkZS9jb2RlLmgKKysrIGIvSW5jbHVkZS9jb2RlLmgKQEAgLTIyLDYgKzIyLDcgQEAKICAgICBQeU9iamVjdCAqY29fZnJlZXZhcnM7CS8qIHR1cGxlIG9mIHN0cmluZ3MgKGZyZWUgdmFyaWFibGUgbmFtZXMpICovCiAgICAgUHlPYmplY3QgKmNvX2NlbGx2YXJzOyAgICAgIC8qIHR1cGxlIG9mIHN0cmluZ3MgKGNlbGwgdmFyaWFibGUgbmFtZXMpICovCiAgICAgLyogVGhlIHJlc3QgZG9lc24ndCBjb3VudCBmb3IgaGFzaCBvciBjb21wYXJpc29ucyAqLworICAgIHVuc2lnbmVkIGNoYXIgKmNvX2NlbGwyYXJnOyAvKiBNYXBzIGNlbGwgdmFycyB3aGljaCBhcmUgYXJndW1lbnRzLiAqLwogICAgIFB5T2JqZWN0ICpjb19maWxlbmFtZTsJLyogdW5pY29kZSAod2hlcmUgaXQgd2FzIGxvYWRlZCBmcm9tKSAqLwogICAgIFB5T2JqZWN0ICpjb19uYW1lOwkJLyogdW5pY29kZSAobmFtZSwgZm9yIHJlZmVyZW5jZSkgKi8KICAgICBpbnQgY29fZmlyc3RsaW5lbm87CQkvKiBmaXJzdCBzb3VyY2UgbGluZSBudW1iZXIgKi8KQEAgLTU3LDYgKzU4LDExIEBACiAKICNkZWZpbmUgQ09fRlVUVVJFX0JBUlJZX0FTX0JERkwgIDB4NDAwMDAKIAorLyogVGhpcyB2YWx1ZSBpcyBmb3VuZCBpbiB0aGUgY29fY2VsbDJhcmcgYXJyYXkgd2hlbiB0aGUgYXNzb2NpYXRlZCBjZWxsCisgICB2YXJpYWJsZSBkb2VzIG5vdCBjb3JyZXNwb25kIHRvIGFuIGFyZ3VtZW50LiBUaGUgbWF4aW11bSBudW1iZXIgb2YKKyAgIGFyZ3VtZW50cyBpcyAyNTUgKGluZGV4ZWQgdXAgdG8gMjU0KSwgc28gMjU1IHdvcmsgYXMgYSBzcGVjaWFsIGZsYWcuKi8KKyNkZWZpbmUgQ09fQ0VMTF9OT1RfQU5fQVJHIDI1NQorCiAvKiBUaGlzIHNob3VsZCBiZSBkZWZpbmVkIGlmIGEgZnV0dXJlIHN0YXRlbWVudCBtb2RpZmllcyB0aGUgc3ludGF4LgogICAgRm9yIGV4YW1wbGUsIHdoZW4gYSBrZXl3b3JkIGlzIGFkZGVkLgogKi8KZGlmZiAtLWdpdCBhL0luY2x1ZGUvY29kZWNzLmggYi9JbmNsdWRlL2NvZGVjcy5oCmluZGV4IGRmZjA5ZTcuLjBkOWU5YjQgMTAwNjQ0Ci0tLSBhL0luY2x1ZGUvY29kZWNzLmgKKysrIGIvSW5jbHVkZS9jb2RlY3MuaApAQCAtMTc0LDYgKzE3NCw4IEBACiAvKiByZXBsYWNlIHRoZSB1bmljb2RlIGVuY29kZSBlcnJvciB3aXRoIGJhY2tzbGFzaCBlc2NhcGVzIChceCwgXHUgYW5kIFxVKSAqLwogUHlBUElfRlVOQyhQeU9iamVjdCAqKSBQeUNvZGVjX0JhY2tzbGFzaFJlcGxhY2VFcnJvcnMoUHlPYmplY3QgKmV4Yyk7CiAKK1B5QVBJX0RBVEEoY29uc3QgY2hhciAqKSBQeV9oZXhkaWdpdHM7CisKICNpZmRlZiBfX2NwbHVzcGx1cwogfQogI2VuZGlmCmRpZmYgLS1naXQgYS9JbmNsdWRlL2NvbXBpbGUuaCBiL0luY2x1ZGUvY29tcGlsZS5oCmluZGV4IGJjNTNiMzkuLmFjMjYzNmQgMTAwNjQ0Ci0tLSBhL0luY2x1ZGUvY29tcGlsZS5oCisrKyBiL0luY2x1ZGUvY29tcGlsZS5oCkBAIC0xLDcgKzEsNyBAQAotI2lmbmRlZiBQeV9MSU1JVEVEX0FQSQogI2lmbmRlZiBQeV9DT01QSUxFX0gKICNkZWZpbmUgUHlfQ09NUElMRV9ICiAKKyNpZm5kZWYgUHlfTElNSVRFRF9BUEkKICNpbmNsdWRlICJjb2RlLmgiCiAKICNpZmRlZiBfX2NwbHVzcGx1cwpAQCAtMzgsOSArMzgsMTkgQEAKICAgICBQeUFyZW5hICphcmVuYSk7CiBQeUFQSV9GVU5DKFB5RnV0dXJlRmVhdHVyZXMgKikgUHlGdXR1cmVfRnJvbUFTVChzdHJ1Y3QgX21vZCAqLCBjb25zdCBjaGFyICopOwogCisvKiBfUHlfTWFuZ2xlIGlzIGRlZmluZWQgaW4gY29tcGlsZS5jICovCitQeUFQSV9GVU5DKFB5T2JqZWN0KikgX1B5X01hbmdsZShQeU9iamVjdCAqcCwgUHlPYmplY3QgKm5hbWUpOwogCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0KICNlbmRpZgotI2VuZGlmIC8qICFQeV9DT01QSUxFX0ggKi8KKwogI2VuZGlmIC8qICFQeV9MSU1JVEVEX0FQSSAqLworCisvKiBUaGVzZSBkZWZpbml0aW9ucyBtdXN0IG1hdGNoIGNvcnJlc3BvbmRpbmcgZGVmaW5pdGlvbnMgaW4gZ3JhbWluaXQuaC4KKyAgIFRoZXJlJ3MgY29kZSBpbiBjb21waWxlLmMgdGhhdCBjaGVja3MgdGhhdCB0aGV5IGFyZSB0aGUgc2FtZS4gKi8KKyNkZWZpbmUgUHlfc2luZ2xlX2lucHV0IDI1NgorI2RlZmluZSBQeV9maWxlX2lucHV0IDI1NworI2RlZmluZSBQeV9ldmFsX2lucHV0IDI1OAorCisjZW5kaWYgLyogIVB5X0NPTVBJTEVfSCAqLwpkaWZmIC0tZ2l0IGEvSW5jbHVkZS9jb21wbGV4b2JqZWN0LmggYi9JbmNsdWRlL2NvbXBsZXhvYmplY3QuaAppbmRleCBjMzc5YjA4Li4zZTRlY2ZmIDEwMDY0NAotLS0gYS9JbmNsdWRlL2NvbXBsZXhvYmplY3QuaAorKysgYi9JbmNsdWRlL2NvbXBsZXhvYmplY3QuaApAQCAtNjQsOCArNjQsOSBAQAogICAgKEFkdmFuY2VkIFN0cmluZyBGb3JtYXR0aW5nKS4gKi8KICNpZm5kZWYgUHlfTElNSVRFRF9BUEkKIFB5QVBJX0ZVTkMoUHlPYmplY3QgKikgX1B5Q29tcGxleF9Gb3JtYXRBZHZhbmNlZChQeU9iamVjdCAqb2JqLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5X1VOSUNPREUgKmZvcm1hdF9zcGVjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3QgZm9ybWF0X3NwZWNfbGVuKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeU9iamVjdCAqZm9ybWF0X3NwZWMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBzdGFydCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IGVuZCk7CiAjZW5kaWYKIAogI2lmZGVmIF9fY3BsdXNwbHVzCmRpZmYgLS1naXQgYS9JbmNsdWRlL2RhdGV0aW1lLmggYi9JbmNsdWRlL2RhdGV0aW1lLmgKaW5kZXggZGI1N2ExOC4uNDFlM2JjZiAxMDA2NDQKLS0tIGEvSW5jbHVkZS9kYXRldGltZS5oCisrKyBiL0luY2x1ZGUvZGF0ZXRpbWUuaApAQCAtMTM1LDYgKzEzNSwxMiBAQAogICAgICAoKChQeURhdGVUaW1lX1RpbWUqKW8pLT5kYXRhWzRdIDw8IDgpICB8ICAgICAgICAgICBcCiAgICAgICAoKFB5RGF0ZVRpbWVfVGltZSopbyktPmRhdGFbNV0pCiAKKy8qIEFwcGx5IGZvciB0aW1lIGRlbHRhIGluc3RhbmNlcyAqLworI2RlZmluZSBQeURhdGVUaW1lX0RFTFRBX0dFVF9EQVlTKG8pICAgICAgICAgKCgoUHlEYXRlVGltZV9EZWx0YSopbyktPmRheXMpCisjZGVmaW5lIFB5RGF0ZVRpbWVfREVMVEFfR0VUX1NFQ09ORFMobykgICAgICAoKChQeURhdGVUaW1lX0RlbHRhKilvKS0+c2Vjb25kcykKKyNkZWZpbmUgUHlEYXRlVGltZV9ERUxUQV9HRVRfTUlDUk9TRUNPTkRTKG8pICAgICAgICAgICAgXAorICAgICgoKFB5RGF0ZVRpbWVfRGVsdGEqKW8pLT5taWNyb3NlY29uZHMpCisKIAogLyogRGVmaW5lIHN0cnVjdHVyZSBmb3IgQyBBUEkuICovCiB0eXBlZGVmIHN0cnVjdCB7CmRpZmYgLS1naXQgYS9JbmNsdWRlL2Rlc2Nyb2JqZWN0LmggYi9JbmNsdWRlL2Rlc2Nyb2JqZWN0LmgKaW5kZXggNjQ2YjNjYy4uZTJiYTk3ZiAxMDA2NDQKLS0tIGEvSW5jbHVkZS9kZXNjcm9iamVjdC5oCisrKyBiL0luY2x1ZGUvZGVzY3JvYmplY3QuaApAQCAtNDIsNiArNDIsNyBAQAogICAgIFB5T2JqZWN0X0hFQUQKICAgICBQeVR5cGVPYmplY3QgKmRfdHlwZTsKICAgICBQeU9iamVjdCAqZF9uYW1lOworICAgIFB5T2JqZWN0ICpkX3F1YWxuYW1lOwogfSBQeURlc2NyT2JqZWN0OwogCiAjZGVmaW5lIFB5RGVzY3JfQ09NTU9OIFB5RGVzY3JPYmplY3QgZF9jb21tb24KZGlmZiAtLWdpdCBhL0luY2x1ZGUvZGljdG9iamVjdC5oIGIvSW5jbHVkZS9kaWN0b2JqZWN0LmgKaW5kZXggYjAyNjc4NS4uZWQ0NGUyMCAxMDA2NDQKLS0tIGEvSW5jbHVkZS9kaWN0b2JqZWN0LmgKKysrIGIvSW5jbHVkZS9kaWN0b2JqZWN0LmgKQEAgLTEyOSw2ICsxMjksOCBAQAogUHlBUElfRlVOQyhQeU9iamVjdCAqKSBfUHlEaWN0X05ld1ByZXNpemVkKFB5X3NzaXplX3QgbWludXNlZCk7CiBQeUFQSV9GVU5DKHZvaWQpIF9QeURpY3RfTWF5YmVVbnRyYWNrKFB5T2JqZWN0ICptcCk7CiBQeUFQSV9GVU5DKGludCkgX1B5RGljdF9IYXNPbmx5U3RyaW5nS2V5cyhQeU9iamVjdCAqbXApOworCitQeUFQSV9GVU5DKGludCkgUHlEaWN0X0NsZWFyRnJlZUxpc3Qodm9pZCk7CiAjZW5kaWYKIAogLyogUHlEaWN0X1VwZGF0ZShtcCwgb3RoZXIpIGlzIGVxdWl2YWxlbnQgdG8gUHlEaWN0X01lcmdlKG1wLCBvdGhlciwgMSkuICovCmRpZmYgLS1naXQgYS9JbmNsdWRlL2VycmNvZGUuaCBiL0luY2x1ZGUvZXJyY29kZS5oCmluZGV4IDZiYjNjYzEuLjU5NDY2ODYgMTAwNjQ0Ci0tLSBhL0luY2x1ZGUvZXJyY29kZS5oCisrKyBiL0luY2x1ZGUvZXJyY29kZS5oCkBAIC0zMCw2ICszMCw3IEBACiAjZGVmaW5lIEVfRU9MUwkJMjQJLyogRU9MIGluIHNpbmdsZS1xdW90ZWQgc3RyaW5nICovCiAjZGVmaW5lIEVfTElORUNPTlQJMjUJLyogVW5leHBlY3RlZCBjaGFyYWN0ZXJzIGFmdGVyIGEgbGluZSBjb250aW51YXRpb24gKi8KICNkZWZpbmUgRV9JREVOVElGSUVSICAgIDI2ICAgICAgLyogSW52YWxpZCBjaGFyYWN0ZXJzIGluIGlkZW50aWZpZXIgKi8KKyNkZWZpbmUgRV9CQURTSU5HTEUJMjcJLyogSWxsLWZvcm1lZCBzaW5nbGUgc3RhdGVtZW50IGlucHV0ICovCiAKICNpZmRlZiBfX2NwbHVzcGx1cwogfQpkaWZmIC0tZ2l0IGEvSW5jbHVkZS9maWxldXRpbHMuaCBiL0luY2x1ZGUvZmlsZXV0aWxzLmgKaW5kZXggMmZhZGU5Yi4uN2MxOGNmMiAxMDA2NDQKLS0tIGEvSW5jbHVkZS9maWxldXRpbHMuaAorKysgYi9JbmNsdWRlL2ZpbGV1dGlscy5oCkBAIC01LDYgKzUsOCBAQAogZXh0ZXJuICJDIiB7CiAjZW5kaWYKIAorUHlBUElfRlVOQyhQeU9iamVjdCAqKSBfUHlfZGV2aWNlX2VuY29kaW5nKGludCk7CisKIFB5QVBJX0ZVTkMod2NoYXJfdCAqKSBfUHlfY2hhcjJ3Y2hhcigKICAgICBjb25zdCBjaGFyICphcmcsCiAgICAgc2l6ZV90ICpzaXplKTsKZGlmZiAtLWdpdCBhL0luY2x1ZGUvZmxvYXRvYmplY3QuaCBiL0luY2x1ZGUvZmxvYXRvYmplY3QuaAppbmRleCA5MGYwYTQ1Li4wY2E0ODgxIDEwMDY0NAotLS0gYS9JbmNsdWRlL2Zsb2F0b2JqZWN0LmgKKysrIGIvSW5jbHVkZS9mbG9hdG9iamVjdC5oCkBAIC0yNywxMiArMjcsMTIgQEAKICNkZWZpbmUgUHlfUkVUVVJOX05BTiByZXR1cm4gUHlGbG9hdF9Gcm9tRG91YmxlKFB5X05BTikKICNlbmRpZgogCi0jZGVmaW5lIFB5X1JFVFVSTl9JTkYoc2lnbikgZG8JCQkJCVwKLQlpZiAoY29weXNpZ24oMS4sIHNpZ24pID09IDEuKSB7CQkJCVwKLQkJcmV0dXJuIFB5RmxvYXRfRnJvbURvdWJsZShQeV9IVUdFX1ZBTCk7CVwKLQl9IGVsc2UgewkJCQkJCVwKLQkJcmV0dXJuIFB5RmxvYXRfRnJvbURvdWJsZSgtUHlfSFVHRV9WQUwpOwlcCi0JfSB3aGlsZSgwKQorI2RlZmluZSBQeV9SRVRVUk5fSU5GKHNpZ24pIGRvICAgICAgICAgICAgICAgICAgICAgXAorICAgIGlmIChjb3B5c2lnbigxLiwgc2lnbikgPT0gMS4pIHsgICAgICAgICAgICAgICAgXAorICAgICAgICByZXR1cm4gUHlGbG9hdF9Gcm9tRG91YmxlKFB5X0hVR0VfVkFMKTsgICAgXAorICAgIH0gZWxzZSB7ICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICByZXR1cm4gUHlGbG9hdF9Gcm9tRG91YmxlKC1QeV9IVUdFX1ZBTCk7ICAgXAorICAgIH0gd2hpbGUoMCkKIAogUHlBUElfRlVOQyhkb3VibGUpIFB5RmxvYXRfR2V0TWF4KHZvaWQpOwogUHlBUElfRlVOQyhkb3VibGUpIFB5RmxvYXRfR2V0TWluKHZvaWQpOwpAQCAtMTEzLDggKzExMyw5IEBACiAvKiBGb3JtYXQgdGhlIG9iamVjdCBiYXNlZCBvbiB0aGUgZm9ybWF0X3NwZWMsIGFzIGRlZmluZWQgaW4gUEVQIDMxMDEKICAgIChBZHZhbmNlZCBTdHJpbmcgRm9ybWF0dGluZykuICovCiBQeUFQSV9GVU5DKFB5T2JqZWN0ICopIF9QeUZsb2F0X0Zvcm1hdEFkdmFuY2VkKFB5T2JqZWN0ICpvYmosCi0JCQkJCSAgICAgICBQeV9VTklDT0RFICpmb3JtYXRfc3BlYywKLQkJCQkJICAgICAgIFB5X3NzaXplX3QgZm9ybWF0X3NwZWNfbGVuKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlPYmplY3QgKmZvcm1hdF9zcGVjLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IHN0YXJ0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IGVuZCk7CiAjZW5kaWYgLyogUHlfTElNSVRFRF9BUEkgKi8KIAogI2lmZGVmIF9fY3BsdXNwbHVzCmRpZmYgLS1naXQgYS9JbmNsdWRlL2ZyYW1lb2JqZWN0LmggYi9JbmNsdWRlL2ZyYW1lb2JqZWN0LmgKaW5kZXggMWZiNjRiYi4uYThkZjQ0NSAxMDA2NDQKLS0tIGEvSW5jbHVkZS9mcmFtZW9iamVjdC5oCisrKyBiL0luY2x1ZGUvZnJhbWVvYmplY3QuaApAQCAtOSw0NSArOSw0NSBAQAogI2VuZGlmCiAKIHR5cGVkZWYgc3RydWN0IHsKLSAgICBpbnQgYl90eXBlOwkJCS8qIHdoYXQga2luZCBvZiBibG9jayB0aGlzIGlzICovCi0gICAgaW50IGJfaGFuZGxlcjsJCS8qIHdoZXJlIHRvIGp1bXAgdG8gZmluZCBoYW5kbGVyICovCi0gICAgaW50IGJfbGV2ZWw7CQkvKiB2YWx1ZSBzdGFjayBsZXZlbCB0byBwb3AgdG8gKi8KKyAgICBpbnQgYl90eXBlOyAgICAgICAgICAgICAgICAgLyogd2hhdCBraW5kIG9mIGJsb2NrIHRoaXMgaXMgKi8KKyAgICBpbnQgYl9oYW5kbGVyOyAgICAgICAgICAgICAgLyogd2hlcmUgdG8ganVtcCB0byBmaW5kIGhhbmRsZXIgKi8KKyAgICBpbnQgYl9sZXZlbDsgICAgICAgICAgICAgICAgLyogdmFsdWUgc3RhY2sgbGV2ZWwgdG8gcG9wIHRvICovCiB9IFB5VHJ5QmxvY2s7CiAKIHR5cGVkZWYgc3RydWN0IF9mcmFtZSB7CiAgICAgUHlPYmplY3RfVkFSX0hFQUQKLSAgICBzdHJ1Y3QgX2ZyYW1lICpmX2JhY2s7CS8qIHByZXZpb3VzIGZyYW1lLCBvciBOVUxMICovCi0gICAgUHlDb2RlT2JqZWN0ICpmX2NvZGU7CS8qIGNvZGUgc2VnbWVudCAqLwotICAgIFB5T2JqZWN0ICpmX2J1aWx0aW5zOwkvKiBidWlsdGluIHN5bWJvbCB0YWJsZSAoUHlEaWN0T2JqZWN0KSAqLwotICAgIFB5T2JqZWN0ICpmX2dsb2JhbHM7CS8qIGdsb2JhbCBzeW1ib2wgdGFibGUgKFB5RGljdE9iamVjdCkgKi8KLSAgICBQeU9iamVjdCAqZl9sb2NhbHM7CQkvKiBsb2NhbCBzeW1ib2wgdGFibGUgKGFueSBtYXBwaW5nKSAqLwotICAgIFB5T2JqZWN0ICoqZl92YWx1ZXN0YWNrOwkvKiBwb2ludHMgYWZ0ZXIgdGhlIGxhc3QgbG9jYWwgKi8KKyAgICBzdHJ1Y3QgX2ZyYW1lICpmX2JhY2s7ICAgICAgLyogcHJldmlvdXMgZnJhbWUsIG9yIE5VTEwgKi8KKyAgICBQeUNvZGVPYmplY3QgKmZfY29kZTsgICAgICAgLyogY29kZSBzZWdtZW50ICovCisgICAgUHlPYmplY3QgKmZfYnVpbHRpbnM7ICAgICAgIC8qIGJ1aWx0aW4gc3ltYm9sIHRhYmxlIChQeURpY3RPYmplY3QpICovCisgICAgUHlPYmplY3QgKmZfZ2xvYmFsczsgICAgICAgIC8qIGdsb2JhbCBzeW1ib2wgdGFibGUgKFB5RGljdE9iamVjdCkgKi8KKyAgICBQeU9iamVjdCAqZl9sb2NhbHM7ICAgICAgICAgLyogbG9jYWwgc3ltYm9sIHRhYmxlIChhbnkgbWFwcGluZykgKi8KKyAgICBQeU9iamVjdCAqKmZfdmFsdWVzdGFjazsgICAgLyogcG9pbnRzIGFmdGVyIHRoZSBsYXN0IGxvY2FsICovCiAgICAgLyogTmV4dCBmcmVlIHNsb3QgaW4gZl92YWx1ZXN0YWNrLiAgRnJhbWUgY3JlYXRpb24gc2V0cyB0byBmX3ZhbHVlc3RhY2suCiAgICAgICAgRnJhbWUgZXZhbHVhdGlvbiB1c3VhbGx5IE5VTExzIGl0LCBidXQgYSBmcmFtZSB0aGF0IHlpZWxkcyBzZXRzIGl0CiAgICAgICAgdG8gdGhlIGN1cnJlbnQgc3RhY2sgdG9wLiAqLwogICAgIFB5T2JqZWN0ICoqZl9zdGFja3RvcDsKLSAgICBQeU9iamVjdCAqZl90cmFjZTsJCS8qIFRyYWNlIGZ1bmN0aW9uICovCisgICAgUHlPYmplY3QgKmZfdHJhY2U7ICAgICAgICAgIC8qIFRyYWNlIGZ1bmN0aW9uICovCiAKLQkvKiBJbiBhIGdlbmVyYXRvciwgd2UgbmVlZCB0byBiZSBhYmxlIHRvIHN3YXAgYmV0d2VlbiB0aGUgZXhjZXB0aW9uCi0JICAgc3RhdGUgaW5zaWRlIHRoZSBnZW5lcmF0b3IgYW5kIHRoZSBleGNlcHRpb24gc3RhdGUgb2YgdGhlIGNhbGxpbmcKLQkgICBmcmFtZSAod2hpY2ggc2hvdWxkbid0IGJlIGltcGFjdGVkIHdoZW4gdGhlIGdlbmVyYXRvciAieWllbGRzIgotCSAgIGZyb20gYW4gZXhjZXB0IGhhbmRsZXIpLgotCSAgIFRoZXNlIHRocmVlIGZpZWxkcyBleGlzdCBleGFjdGx5IGZvciB0aGF0LCBhbmQgYXJlIHVudXNlZCBmb3IKLQkgICBub24tZ2VuZXJhdG9yIGZyYW1lcy4gU2VlIHRoZSBTQVZFX0VYQ19TVEFURSBhbmQgU1dBUF9FWENfU1RBVEUKLQkgICBtYWNyb3MgaW4gY2V2YWwuYyBmb3IgZGV0YWlscyBvZiB0aGVpciB1c2UuICovCisgICAgICAgIC8qIEluIGEgZ2VuZXJhdG9yLCB3ZSBuZWVkIHRvIGJlIGFibGUgdG8gc3dhcCBiZXR3ZWVuIHRoZSBleGNlcHRpb24KKyAgICAgICAgICAgc3RhdGUgaW5zaWRlIHRoZSBnZW5lcmF0b3IgYW5kIHRoZSBleGNlcHRpb24gc3RhdGUgb2YgdGhlIGNhbGxpbmcKKyAgICAgICAgICAgZnJhbWUgKHdoaWNoIHNob3VsZG4ndCBiZSBpbXBhY3RlZCB3aGVuIHRoZSBnZW5lcmF0b3IgInlpZWxkcyIKKyAgICAgICAgICAgZnJvbSBhbiBleGNlcHQgaGFuZGxlcikuCisgICAgICAgICAgIFRoZXNlIHRocmVlIGZpZWxkcyBleGlzdCBleGFjdGx5IGZvciB0aGF0LCBhbmQgYXJlIHVudXNlZCBmb3IKKyAgICAgICAgICAgbm9uLWdlbmVyYXRvciBmcmFtZXMuIFNlZSB0aGUgU0FWRV9FWENfU1RBVEUgYW5kIFNXQVBfRVhDX1NUQVRFCisgICAgICAgICAgIG1hY3JvcyBpbiBjZXZhbC5jIGZvciBkZXRhaWxzIG9mIHRoZWlyIHVzZS4gKi8KICAgICBQeU9iamVjdCAqZl9leGNfdHlwZSwgKmZfZXhjX3ZhbHVlLCAqZl9leGNfdHJhY2ViYWNrOwogCiAgICAgUHlUaHJlYWRTdGF0ZSAqZl90c3RhdGU7Ci0gICAgaW50IGZfbGFzdGk7CQkvKiBMYXN0IGluc3RydWN0aW9uIGlmIGNhbGxlZCAqLworICAgIGludCBmX2xhc3RpOyAgICAgICAgICAgICAgICAvKiBMYXN0IGluc3RydWN0aW9uIGlmIGNhbGxlZCAqLwogICAgIC8qIENhbGwgUHlGcmFtZV9HZXRMaW5lTnVtYmVyKCkgaW5zdGVhZCBvZiByZWFkaW5nIHRoaXMgZmllbGQKICAgICAgICBkaXJlY3RseS4gIEFzIG9mIDIuMyBmX2xpbmVubyBpcyBvbmx5IHZhbGlkIHdoZW4gdHJhY2luZyBpcwogICAgICAgIGFjdGl2ZSAoaS5lLiB3aGVuIGZfdHJhY2UgaXMgc2V0KS4gIEF0IG90aGVyIHRpbWVzIHdlIHVzZQogICAgICAgIFB5Q29kZV9BZGRyMkxpbmUgdG8gY2FsY3VsYXRlIHRoZSBsaW5lIGZyb20gdGhlIGN1cnJlbnQKICAgICAgICBieXRlY29kZSBpbmRleC4gKi8KLSAgICBpbnQgZl9saW5lbm87CQkvKiBDdXJyZW50IGxpbmUgbnVtYmVyICovCi0gICAgaW50IGZfaWJsb2NrOwkJLyogaW5kZXggaW4gZl9ibG9ja3N0YWNrICovCisgICAgaW50IGZfbGluZW5vOyAgICAgICAgICAgICAgIC8qIEN1cnJlbnQgbGluZSBudW1iZXIgKi8KKyAgICBpbnQgZl9pYmxvY2s7ICAgICAgICAgICAgICAgLyogaW5kZXggaW4gZl9ibG9ja3N0YWNrICovCiAgICAgUHlUcnlCbG9jayBmX2Jsb2Nrc3RhY2tbQ09fTUFYQkxPQ0tTXTsgLyogZm9yIHRyeSBhbmQgbG9vcCBibG9ja3MgKi8KLSAgICBQeU9iamVjdCAqZl9sb2NhbHNwbHVzWzFdOwkvKiBsb2NhbHMrc3RhY2ssIGR5bmFtaWNhbGx5IHNpemVkICovCisgICAgUHlPYmplY3QgKmZfbG9jYWxzcGx1c1sxXTsgIC8qIGxvY2FscytzdGFjaywgZHluYW1pY2FsbHkgc2l6ZWQgKi8KIH0gUHlGcmFtZU9iamVjdDsKIAogCmRpZmYgLS1naXQgYS9JbmNsdWRlL2Z1bmNvYmplY3QuaCBiL0luY2x1ZGUvZnVuY29iamVjdC5oCmluZGV4IDUyMWQ4N2IuLmNjMTQyNmMgMTAwNjQ0Ci0tLSBhL0luY2x1ZGUvZnVuY29iamVjdC5oCisrKyBiL0luY2x1ZGUvZnVuY29iamVjdC5oCkBAIC0zMSw2ICszMSw3IEBACiAgICAgUHlPYmplY3QgKmZ1bmNfd2Vha3JlZmxpc3Q7CS8qIExpc3Qgb2Ygd2VhayByZWZlcmVuY2VzICovCiAgICAgUHlPYmplY3QgKmZ1bmNfbW9kdWxlOwkvKiBUaGUgX19tb2R1bGVfXyBhdHRyaWJ1dGUsIGNhbiBiZSBhbnl0aGluZyAqLwogICAgIFB5T2JqZWN0ICpmdW5jX2Fubm90YXRpb25zOwkvKiBBbm5vdGF0aW9ucywgYSBkaWN0IG9yIE5VTEwgKi8KKyAgICBQeU9iamVjdCAqZnVuY19xdWFsbmFtZTsgICAgLyogVGhlIHF1YWxpZmllZCBuYW1lICovCiAKICAgICAvKiBJbnZhcmlhbnQ6CiAgICAgICogICAgIGZ1bmNfY2xvc3VyZSBjb250YWlucyB0aGUgYmluZGluZ3MgZm9yIGZ1bmNfY29kZS0+Y29fZnJlZXZhcnMsIHNvCkBAIC00NCw2ICs0NSw3IEBACiAjZGVmaW5lIFB5RnVuY3Rpb25fQ2hlY2sob3ApIChQeV9UWVBFKG9wKSA9PSAmUHlGdW5jdGlvbl9UeXBlKQogCiBQeUFQSV9GVU5DKFB5T2JqZWN0ICopIFB5RnVuY3Rpb25fTmV3KFB5T2JqZWN0ICosIFB5T2JqZWN0ICopOworUHlBUElfRlVOQyhQeU9iamVjdCAqKSBQeUZ1bmN0aW9uX05ld1dpdGhRdWFsTmFtZShQeU9iamVjdCAqLCBQeU9iamVjdCAqLCBQeU9iamVjdCAqKTsKIFB5QVBJX0ZVTkMoUHlPYmplY3QgKikgUHlGdW5jdGlvbl9HZXRDb2RlKFB5T2JqZWN0ICopOwogUHlBUElfRlVOQyhQeU9iamVjdCAqKSBQeUZ1bmN0aW9uX0dldEdsb2JhbHMoUHlPYmplY3QgKik7CiBQeUFQSV9GVU5DKFB5T2JqZWN0ICopIFB5RnVuY3Rpb25fR2V0TW9kdWxlKFB5T2JqZWN0ICopOwpkaWZmIC0tZ2l0IGEvSW5jbHVkZS9nZW5vYmplY3QuaCBiL0luY2x1ZGUvZ2Vub2JqZWN0LmgKaW5kZXggZDI5ZmIxZS4uMjVmNmMzMyAxMDA2NDQKLS0tIGEvSW5jbHVkZS9nZW5vYmplY3QuaAorKysgYi9JbmNsdWRlL2dlbm9iamVjdC5oCkBAIC0xMSwyMCArMTEsMjAgQEAKIHN0cnVjdCBfZnJhbWU7IC8qIEF2b2lkIGluY2x1ZGluZyBmcmFtZW9iamVjdC5oICovCiAKIHR5cGVkZWYgc3RydWN0IHsKLQlQeU9iamVjdF9IRUFECi0JLyogVGhlIGdpXyBwcmVmaXggaXMgaW50ZW5kZWQgdG8gcmVtaW5kIG9mIGdlbmVyYXRvci1pdGVyYXRvci4gKi8KKyAgICBQeU9iamVjdF9IRUFECisgICAgLyogVGhlIGdpXyBwcmVmaXggaXMgaW50ZW5kZWQgdG8gcmVtaW5kIG9mIGdlbmVyYXRvci1pdGVyYXRvci4gKi8KIAotCS8qIE5vdGU6IGdpX2ZyYW1lIGNhbiBiZSBOVUxMIGlmIHRoZSBnZW5lcmF0b3IgaXMgImZpbmlzaGVkIiAqLwotCXN0cnVjdCBfZnJhbWUgKmdpX2ZyYW1lOworICAgIC8qIE5vdGU6IGdpX2ZyYW1lIGNhbiBiZSBOVUxMIGlmIHRoZSBnZW5lcmF0b3IgaXMgImZpbmlzaGVkIiAqLworICAgIHN0cnVjdCBfZnJhbWUgKmdpX2ZyYW1lOwogCi0JLyogVHJ1ZSBpZiBnZW5lcmF0b3IgaXMgYmVpbmcgZXhlY3V0ZWQuICovCi0JaW50IGdpX3J1bm5pbmc7Ci0gICAgCi0JLyogVGhlIGNvZGUgb2JqZWN0IGJhY2tpbmcgdGhlIGdlbmVyYXRvciAqLwotCVB5T2JqZWN0ICpnaV9jb2RlOworICAgIC8qIFRydWUgaWYgZ2VuZXJhdG9yIGlzIGJlaW5nIGV4ZWN1dGVkLiAqLworICAgIGNoYXIgZ2lfcnVubmluZzsKIAotCS8qIExpc3Qgb2Ygd2VhayByZWZlcmVuY2UuICovCi0JUHlPYmplY3QgKmdpX3dlYWtyZWZsaXN0OworICAgIC8qIFRoZSBjb2RlIG9iamVjdCBiYWNraW5nIHRoZSBnZW5lcmF0b3IgKi8KKyAgICBQeU9iamVjdCAqZ2lfY29kZTsKKworICAgIC8qIExpc3Qgb2Ygd2VhayByZWZlcmVuY2UuICovCisgICAgUHlPYmplY3QgKmdpX3dlYWtyZWZsaXN0OwogfSBQeUdlbk9iamVjdDsKIAogUHlBUElfREFUQShQeVR5cGVPYmplY3QpIFB5R2VuX1R5cGU7CkBAIC0zNCw2ICszNCw4IEBACiAKIFB5QVBJX0ZVTkMoUHlPYmplY3QgKikgUHlHZW5fTmV3KHN0cnVjdCBfZnJhbWUgKik7CiBQeUFQSV9GVU5DKGludCkgUHlHZW5fTmVlZHNGaW5hbGl6aW5nKFB5R2VuT2JqZWN0ICopOworUHlBUElfRlVOQyhpbnQpIFB5R2VuX0ZldGNoU3RvcEl0ZXJhdGlvblZhbHVlKFB5T2JqZWN0ICoqKTsKK1B5T2JqZWN0ICpfUHlHZW5fU2VuZChQeUdlbk9iamVjdCAqLCBQeU9iamVjdCAqKTsKIAogI2lmZGVmIF9fY3BsdXNwbHVzCiB9CmRpZmYgLS1naXQgYS9JbmNsdWRlL2dyYW1pbml0LmggYi9JbmNsdWRlL2dyYW1pbml0LmgKaW5kZXggZTBlMjdmOS4uM2VjOTQ5YSAxMDA2NDQKLS0tIGEvSW5jbHVkZS9ncmFtaW5pdC5oCisrKyBiL0luY2x1ZGUvZ3JhbWluaXQuaApAQCAtODEsMyArODEsNCBAQAogI2RlZmluZSBjb21wX2lmIDMzNAogI2RlZmluZSBlbmNvZGluZ19kZWNsIDMzNQogI2RlZmluZSB5aWVsZF9leHByIDMzNgorI2RlZmluZSB5aWVsZF9hcmcgMzM3CmRpZmYgLS1naXQgYS9JbmNsdWRlL2ltcG9ydC5oIGIvSW5jbHVkZS9pbXBvcnQuaAppbmRleCA0MDBlOTdjLi40NTU0NDExMSAxMDA2NDQKLS0tIGEvSW5jbHVkZS9pbXBvcnQuaAorKysgYi9JbmNsdWRlL2ltcG9ydC5oCkBAIC0yNCw3ICsyNCwxNiBAQAogICAgIGNoYXIgKnBhdGhuYW1lLCAgICAgICAgICAgICAvKiBkZWNvZGVkIGZyb20gdGhlIGZpbGVzeXN0ZW0gZW5jb2RpbmcgKi8KICAgICBjaGFyICpjcGF0aG5hbWUgICAgICAgICAgICAgLyogZGVjb2RlZCBmcm9tIHRoZSBmaWxlc3lzdGVtIGVuY29kaW5nICovCiAgICAgKTsKK1B5QVBJX0ZVTkMoUHlPYmplY3QgKikgUHlJbXBvcnRfRXhlY0NvZGVNb2R1bGVPYmplY3QoCisgICAgUHlPYmplY3QgKm5hbWUsCisgICAgUHlPYmplY3QgKmNvLAorICAgIFB5T2JqZWN0ICpwYXRobmFtZSwKKyAgICBQeU9iamVjdCAqY3BhdGhuYW1lCisgICAgKTsKIFB5QVBJX0ZVTkMoUHlPYmplY3QgKikgUHlJbXBvcnRfR2V0TW9kdWxlRGljdCh2b2lkKTsKK1B5QVBJX0ZVTkMoUHlPYmplY3QgKikgUHlJbXBvcnRfQWRkTW9kdWxlT2JqZWN0KAorICAgIFB5T2JqZWN0ICpuYW1lCisgICAgKTsKIFB5QVBJX0ZVTkMoUHlPYmplY3QgKikgUHlJbXBvcnRfQWRkTW9kdWxlKAogICAgIGNvbnN0IGNoYXIgKm5hbWUgICAgICAgICAgICAvKiBVVEYtOCBlbmNvZGVkIHN0cmluZyAqLwogICAgICk7CkBAIC0zNSw3ICs0NCwxNCBAQAogICAgIGNvbnN0IGNoYXIgKm5hbWUgICAgICAgICAgICAvKiBVVEYtOCBlbmNvZGVkIHN0cmluZyAqLwogICAgICk7CiBQeUFQSV9GVU5DKFB5T2JqZWN0ICopIFB5SW1wb3J0X0ltcG9ydE1vZHVsZUxldmVsKAotICAgIGNoYXIgKm5hbWUsICAgICAgICAgICAgICAgICAvKiBVVEYtOCBlbmNvZGVkIHN0cmluZyAqLworICAgIGNvbnN0IGNoYXIgKm5hbWUsICAgICAgICAgICAvKiBVVEYtOCBlbmNvZGVkIHN0cmluZyAqLworICAgIFB5T2JqZWN0ICpnbG9iYWxzLAorICAgIFB5T2JqZWN0ICpsb2NhbHMsCisgICAgUHlPYmplY3QgKmZyb21saXN0LAorICAgIGludCBsZXZlbAorICAgICk7CitQeUFQSV9GVU5DKFB5T2JqZWN0ICopIFB5SW1wb3J0X0ltcG9ydE1vZHVsZUxldmVsT2JqZWN0KAorICAgIFB5T2JqZWN0ICpuYW1lLAogICAgIFB5T2JqZWN0ICpnbG9iYWxzLAogICAgIFB5T2JqZWN0ICpsb2NhbHMsCiAgICAgUHlPYmplY3QgKmZyb21saXN0LApAQCAtNDksNiArNjUsOSBAQAogUHlBUElfRlVOQyhQeU9iamVjdCAqKSBQeUltcG9ydF9JbXBvcnQoUHlPYmplY3QgKm5hbWUpOwogUHlBUElfRlVOQyhQeU9iamVjdCAqKSBQeUltcG9ydF9SZWxvYWRNb2R1bGUoUHlPYmplY3QgKm0pOwogUHlBUElfRlVOQyh2b2lkKSBQeUltcG9ydF9DbGVhbnVwKHZvaWQpOworUHlBUElfRlVOQyhpbnQpIFB5SW1wb3J0X0ltcG9ydEZyb3plbk1vZHVsZU9iamVjdCgKKyAgICBQeU9iamVjdCAqbmFtZQorICAgICk7CiBQeUFQSV9GVU5DKGludCkgUHlJbXBvcnRfSW1wb3J0RnJvemVuTW9kdWxlKAogICAgIGNoYXIgKm5hbWUgICAgICAgICAgICAgICAgICAvKiBVVEYtOCBlbmNvZGVkIHN0cmluZyAqLwogICAgICk7CkBAIC02NSwxNyArODQsMTcgQEAKIFB5QVBJX0ZVTkModm9pZCkgX1B5SW1wb3J0X1JlSW5pdExvY2sodm9pZCk7CiAKIFB5QVBJX0ZVTkMoUHlPYmplY3QgKilfUHlJbXBvcnRfRmluZEJ1aWx0aW4oCi0gICAgY2hhciAqbmFtZSAgICAgICAgICAgICAgICAgIC8qIFVURi04IGVuY29kZWQgc3RyaW5nICovCisgICAgY29uc3QgY2hhciAqbmFtZSAgICAgICAgICAgIC8qIFVURi04IGVuY29kZWQgc3RyaW5nICovCiAgICAgKTsKLVB5QVBJX0ZVTkMoUHlPYmplY3QgKilfUHlJbXBvcnRfRmluZEV4dGVuc2lvblVuaWNvZGUoY2hhciAqLCBQeU9iamVjdCAqKTsKK1B5QVBJX0ZVTkMoUHlPYmplY3QgKilfUHlJbXBvcnRfRmluZEV4dGVuc2lvbk9iamVjdChQeU9iamVjdCAqLCBQeU9iamVjdCAqKTsKIFB5QVBJX0ZVTkMoaW50KV9QeUltcG9ydF9GaXh1cEJ1aWx0aW4oCiAgICAgUHlPYmplY3QgKm1vZCwKICAgICBjaGFyICpuYW1lICAgICAgICAgICAgICAgICAgLyogVVRGLTggZW5jb2RlZCBzdHJpbmcgKi8KICAgICApOwotUHlBUElfRlVOQyhpbnQpX1B5SW1wb3J0X0ZpeHVwRXh0ZW5zaW9uVW5pY29kZShQeU9iamVjdCosIGNoYXIgKiwgUHlPYmplY3QgKik7CitQeUFQSV9GVU5DKGludClfUHlJbXBvcnRfRml4dXBFeHRlbnNpb25PYmplY3QoUHlPYmplY3QqLCBQeU9iamVjdCAqLCBQeU9iamVjdCAqKTsKIAogc3RydWN0IF9pbml0dGFiIHsKLSAgICBjaGFyICpuYW1lOworICAgIGNoYXIgKm5hbWU7ICAgICAgICAgICAgICAgICAvKiBBU0NJSSBlbmNvZGVkIHN0cmluZyAqLwogICAgIFB5T2JqZWN0KiAoKmluaXRmdW5jKSh2b2lkKTsKIH07CiBQeUFQSV9EQVRBKHN0cnVjdCBfaW5pdHRhYiAqKSBQeUltcG9ydF9Jbml0dGFiOwpkaWZmIC0tZ2l0IGEvSW5jbHVkZS9pbnRyY2hlY2suaCBiL0luY2x1ZGUvaW50cmNoZWNrLmgKaW5kZXggM2I2N2VkMC4uZjUzZmVlMSAxMDA2NDQKLS0tIGEvSW5jbHVkZS9pbnRyY2hlY2suaAorKysgYi9JbmNsdWRlL2ludHJjaGVjay5oCkBAIC04LDYgKzgsMTIgQEAKIFB5QVBJX0ZVTkMoaW50KSBQeU9TX0ludGVycnVwdE9jY3VycmVkKHZvaWQpOwogUHlBUElfRlVOQyh2b2lkKSBQeU9TX0luaXRJbnRlcnJ1cHRzKHZvaWQpOwogUHlBUElfRlVOQyh2b2lkKSBQeU9TX0FmdGVyRm9yayh2b2lkKTsKK1B5QVBJX0ZVTkMoaW50KSBfUHlPU19Jc01haW5UaHJlYWQodm9pZCk7CisKKyNpZmRlZiBNU19XSU5ET1dTCisvKiB3aW5kb3dzLmggaXMgbm90IGluY2x1ZGVkIGJ5IFB5dGhvbi5oIHNvIHVzZSB2b2lkKiBpbnN0ZWFkIG9mIEhBTkRMRSAqLworUHlBUElfRlVOQyh2b2lkKikgX1B5T1NfU2lnaW50RXZlbnQodm9pZCk7CisjZW5kaWYKIAogI2lmZGVmIF9fY3BsdXNwbHVzCiB9CmRpZmYgLS1naXQgYS9JbmNsdWRlL2xpc3RvYmplY3QuaCBiL0luY2x1ZGUvbGlzdG9iamVjdC5oCmluZGV4IDk0OWIxYTMuLjZmZDM3NGIgMTAwNjQ0Ci0tLSBhL0luY2x1ZGUvbGlzdG9iamVjdC5oCisrKyBiL0luY2x1ZGUvbGlzdG9iamVjdC5oCkBAIC02Miw2ICs2Miw4IEBACiBQeUFQSV9GVU5DKFB5T2JqZWN0ICopIFB5TGlzdF9Bc1R1cGxlKFB5T2JqZWN0ICopOwogI2lmbmRlZiBQeV9MSU1JVEVEX0FQSQogUHlBUElfRlVOQyhQeU9iamVjdCAqKSBfUHlMaXN0X0V4dGVuZChQeUxpc3RPYmplY3QgKiwgUHlPYmplY3QgKik7CisKK1B5QVBJX0ZVTkMoaW50KSBQeUxpc3RfQ2xlYXJGcmVlTGlzdCh2b2lkKTsKICNlbmRpZgogCiAvKiBNYWNybywgdHJhZGluZyBzYWZldHkgZm9yIHNwZWVkICovCmRpZmYgLS1naXQgYS9JbmNsdWRlL2xvbmdvYmplY3QuaCBiL0luY2x1ZGUvbG9uZ29iamVjdC5oCmluZGV4IGMwOTU2NWEuLmM1OGRkZjQgMTAwNjQ0Ci0tLSBhL0luY2x1ZGUvbG9uZ29iamVjdC5oCisrKyBiL0luY2x1ZGUvbG9uZ29iamVjdC5oCkBAIC0xMiw3ICsxMiw3IEBACiBQeUFQSV9EQVRBKFB5VHlwZU9iamVjdCkgUHlMb25nX1R5cGU7CiAKICNkZWZpbmUgUHlMb25nX0NoZWNrKG9wKSBcCi0JCVB5VHlwZV9GYXN0U3ViY2xhc3MoUHlfVFlQRShvcCksIFB5X1RQRkxBR1NfTE9OR19TVUJDTEFTUykKKyAgICAgICAgUHlUeXBlX0Zhc3RTdWJjbGFzcyhQeV9UWVBFKG9wKSwgUHlfVFBGTEFHU19MT05HX1NVQkNMQVNTKQogI2RlZmluZSBQeUxvbmdfQ2hlY2tFeGFjdChvcCkgKFB5X1RZUEUob3ApID09ICZQeUxvbmdfVHlwZSkKIAogUHlBUElfRlVOQyhQeU9iamVjdCAqKSBQeUxvbmdfRnJvbUxvbmcobG9uZyk7CkBAIC04MCw2ICs4MCw3IEBACiBQeUFQSV9GVU5DKFB5T2JqZWN0ICopIFB5TG9uZ19Gcm9tU3RyaW5nKGNoYXIgKiwgY2hhciAqKiwgaW50KTsKICNpZm5kZWYgUHlfTElNSVRFRF9BUEkKIFB5QVBJX0ZVTkMoUHlPYmplY3QgKikgUHlMb25nX0Zyb21Vbmljb2RlKFB5X1VOSUNPREUqLCBQeV9zc2l6ZV90LCBpbnQpOworUHlBUElfRlVOQyhQeU9iamVjdCAqKSBQeUxvbmdfRnJvbVVuaWNvZGVPYmplY3QoUHlPYmplY3QgKnUsIGludCBiYXNlKTsKICNlbmRpZgogCiAjaWZuZGVmIFB5X0xJTUlURURfQVBJCkBAIC0xMjEsOCArMTIyLDggQEAKICAgICAgZW5vdWdoIG1lbW9yeSB0byBjcmVhdGUgdGhlIFB5dGhvbiBsb25nLgogKi8KIFB5QVBJX0ZVTkMoUHlPYmplY3QgKikgX1B5TG9uZ19Gcm9tQnl0ZUFycmF5KAotCWNvbnN0IHVuc2lnbmVkIGNoYXIqIGJ5dGVzLCBzaXplX3QgbiwKLQlpbnQgbGl0dGxlX2VuZGlhbiwgaW50IGlzX3NpZ25lZCk7CisgICAgY29uc3QgdW5zaWduZWQgY2hhciogYnl0ZXMsIHNpemVfdCBuLAorICAgIGludCBsaXR0bGVfZW5kaWFuLCBpbnQgaXNfc2lnbmVkKTsKIAogLyogX1B5TG9uZ19Bc0J5dGVBcnJheTogQ29udmVydCB0aGUgbGVhc3Qtc2lnbmlmaWNhbnQgOCpuIGJpdHMgb2YgbG9uZwogICAgdiB0byBhIGJhc2UtMjU2IGludGVnZXIsIHN0b3JlZCBpbiBhcnJheSBieXRlcy4gIE5vcm1hbGx5IHJldHVybiAwLApAQCAtMTQ0LDggKzE0NSw4IEBACiAgICAgIGNhc2UsIGJ1dCBieXRlcyBob2xkcyB0aGUgbGVhc3Qtc2lnbmZpY2FudCBuIGJ5dGVzIG9mIHRoZSB0cnVlIHZhbHVlLgogKi8KIFB5QVBJX0ZVTkMoaW50KSBfUHlMb25nX0FzQnl0ZUFycmF5KFB5TG9uZ09iamVjdCogdiwKLQl1bnNpZ25lZCBjaGFyKiBieXRlcywgc2l6ZV90IG4sCi0JaW50IGxpdHRsZV9lbmRpYW4sIGludCBpc19zaWduZWQpOworICAgIHVuc2lnbmVkIGNoYXIqIGJ5dGVzLCBzaXplX3QgbiwKKyAgICBpbnQgbGl0dGxlX2VuZGlhbiwgaW50IGlzX3NpZ25lZCk7CiAKIAogLyogX1B5TG9uZ19Gb3JtYXQ6IENvbnZlcnQgdGhlIGxvbmcgdG8gYSBzdHJpbmcgb2JqZWN0IHdpdGggZ2l2ZW4gYmFzZSwKQEAgLTE1NSw4ICsxNTYsOSBAQAogLyogRm9ybWF0IHRoZSBvYmplY3QgYmFzZWQgb24gdGhlIGZvcm1hdF9zcGVjLCBhcyBkZWZpbmVkIGluIFBFUCAzMTAxCiAgICAoQWR2YW5jZWQgU3RyaW5nIEZvcm1hdHRpbmcpLiAqLwogUHlBUElfRlVOQyhQeU9iamVjdCAqKSBfUHlMb25nX0Zvcm1hdEFkdmFuY2VkKFB5T2JqZWN0ICpvYmosCi0JCQkJCSAgICAgIFB5X1VOSUNPREUgKmZvcm1hdF9zcGVjLAotCQkJCQkgICAgICBQeV9zc2l6ZV90IGZvcm1hdF9zcGVjX2xlbik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlPYmplY3QgKmZvcm1hdF9zcGVjLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3Qgc3RhcnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBlbmQpOwogI2VuZGlmIC8qIFB5X0xJTUlURURfQVBJICovCiAKIC8qIFRoZXNlIGFyZW4ndCByZWFsbHkgcGFydCBvZiB0aGUgbG9uZyBvYmplY3QsIGJ1dCB0aGV5J3JlIGhhbmR5LiBUaGUKZGlmZiAtLWdpdCBhL0luY2x1ZGUvbWVtb3J5b2JqZWN0LmggYi9JbmNsdWRlL21lbW9yeW9iamVjdC5oCmluZGV4IDYyZWNiZDYuLjRhYzZmNjUgMTAwNjQ0Ci0tLSBhL0luY2x1ZGUvbWVtb3J5b2JqZWN0LmgKKysrIGIvSW5jbHVkZS9tZW1vcnlvYmplY3QuaApAQCAtNiw2OSArNiw2NCBAQAogZXh0ZXJuICJDIiB7CiAjZW5kaWYKIAorI2lmbmRlZiBQeV9MSU1JVEVEX0FQSQorUHlBUElfREFUQShQeVR5cGVPYmplY3QpIF9QeU1hbmFnZWRCdWZmZXJfVHlwZTsKKyNlbmRpZgogUHlBUElfREFUQShQeVR5cGVPYmplY3QpIFB5TWVtb3J5Vmlld19UeXBlOwogCiAjZGVmaW5lIFB5TWVtb3J5Vmlld19DaGVjayhvcCkgKFB5X1RZUEUob3ApID09ICZQeU1lbW9yeVZpZXdfVHlwZSkKIAogI2lmbmRlZiBQeV9MSU1JVEVEX0FQSQotLyogR2V0IGEgcG9pbnRlciB0byB0aGUgdW5kZXJseWluZyBQeV9idWZmZXIgb2YgYSBtZW1vcnl2aWV3IG9iamVjdC4gKi8KKy8qIEdldCBhIHBvaW50ZXIgdG8gdGhlIG1lbW9yeXZpZXcncyBwcml2YXRlIGNvcHkgb2YgdGhlIGV4cG9ydGVyJ3MgYnVmZmVyLiAqLwogI2RlZmluZSBQeU1lbW9yeVZpZXdfR0VUX0JVRkZFUihvcCkgKCYoKFB5TWVtb3J5Vmlld09iamVjdCAqKShvcCkpLT52aWV3KQotLyogR2V0IGEgcG9pbnRlciB0byB0aGUgUHlPYmplY3QgZnJvbSB3aGljaCBvcmlnaW5hdGVzIGEgbWVtb3J5dmlldyBvYmplY3QuICovCisvKiBHZXQgYSBwb2ludGVyIHRvIHRoZSBleHBvcnRpbmcgb2JqZWN0ICh0aGlzIG1heSBiZSBOVUxMISkuICovCiAjZGVmaW5lIFB5TWVtb3J5Vmlld19HRVRfQkFTRShvcCkgKCgoUHlNZW1vcnlWaWV3T2JqZWN0ICopKG9wKSktPnZpZXcub2JqKQogI2VuZGlmCiAKLQotUHlBUElfRlVOQyhQeU9iamVjdCAqKSBQeU1lbW9yeVZpZXdfR2V0Q29udGlndW91cyhQeU9iamVjdCAqYmFzZSwgCi0JCQkJCQkgIGludCBidWZmZXJ0eXBlLCAKLQkJCQkJCSAgY2hhciBmb3J0KTsKLQotICAgIC8qIFJldHVybiBhIGNvbnRpZ3VvdXMgY2h1bmsgb2YgbWVtb3J5IHJlcHJlc2VudGluZyB0aGUgYnVmZmVyCi0gICAgICAgZnJvbSBhbiBvYmplY3QgaW4gYSBtZW1vcnkgdmlldyBvYmplY3QuICBJZiBhIGNvcHkgaXMgbWFkZSB0aGVuIHRoZQotICAgICAgIGJhc2Ugb2JqZWN0IGZvciB0aGUgbWVtb3J5IHZpZXcgd2lsbCBiZSBhICpuZXcqIGJ5dGVzIG9iamVjdC4gCi0gICAgICAgCi0gICAgICAgT3RoZXJ3aXNlLCB0aGUgYmFzZS1vYmplY3Qgd2lsbCBiZSB0aGUgb2JqZWN0IGl0c2VsZiBhbmQgbm8gCi0gICAgICAgZGF0YS1jb3B5aW5nIHdpbGwgYmUgZG9uZS4gCi0KLSAgICAgICBUaGUgYnVmZmVydHlwZSBhcmd1bWVudCBjYW4gYmUgUHlCVUZfUkVBRCwgUHlCVUZfV1JJVEUsCi0gICAgICAgUHlCVUZfU0hBRE9XIHRvIGRldGVybWluZSB3aGV0aGVyIHRoZSByZXR1cm5lZCBidWZmZXIKLSAgICAgICBzaG91bGQgYmUgUkVBRE9OTFksIFdSSVRBQkxFLCBvciBzZXQgdG8gdXBkYXRlIHRoZQotICAgICAgIG9yaWdpbmFsIGJ1ZmZlciBpZiBhIGNvcHkgbXVzdCBiZSBtYWRlLiAgSWYgYnVmZmVydHlwZSBpcwotICAgICAgIFB5QlVGX1dSSVRFIGFuZCB0aGUgYnVmZmVyIGlzIG5vdCBjb250aWd1b3VzIGFuIGVycm9yIHdpbGwKLSAgICAgICBiZSByYWlzZWQuICBJbiB0aGlzIGNpcmN1bXN0YW5jZSwgdGhlIHVzZXIgY2FuIHVzZQotICAgICAgIFB5QlVGX1NIQURPVyB0byBlbnN1cmUgdGhhdCBhIGEgd3JpdGFibGUgdGVtcG9yYXJ5Ci0gICAgICAgY29udGlndW91cyBidWZmZXIgaXMgcmV0dXJuZWQuICBUaGUgY29udGVudHMgb2YgdGhpcwotICAgICAgIGNvbnRpZ3VvdXMgYnVmZmVyIHdpbGwgYmUgY29waWVkIGJhY2sgaW50byB0aGUgb3JpZ2luYWwKLSAgICAgICBvYmplY3QgYWZ0ZXIgdGhlIG1lbW9yeXZpZXcgb2JqZWN0IGlzIGRlbGV0ZWQgYXMgbG9uZyBhcwotICAgICAgIHRoZSBvcmlnaW5hbCBvYmplY3QgaXMgd3JpdGFibGUgYW5kIGFsbG93cyBzZXR0aW5nIGFuCi0gICAgICAgZXhjbHVzaXZlIHdyaXRlIGxvY2suIElmIHRoaXMgaXMgbm90IGFsbG93ZWQgYnkgdGhlCi0gICAgICAgb3JpZ2luYWwgb2JqZWN0LCB0aGVuIGEgQnVmZmVyRXJyb3IgaXMgcmFpc2VkLgotICAgICAgIAotICAgICAgIElmIHRoZSBvYmplY3QgaXMgbXVsdGktZGltZW5zaW9uYWwgYW5kIGlmIGZvcnRyYW4gaXMgJ0YnLAotICAgICAgIHRoZSBmaXJzdCBkaW1lbnNpb24gb2YgdGhlIHVuZGVybHlpbmcgYXJyYXkgd2lsbCB2YXJ5IHRoZQotICAgICAgIGZhc3Rlc3QgaW4gdGhlIGJ1ZmZlci4gIElmIGZvcnRyYW4gaXMgJ0MnLCB0aGVuIHRoZSBsYXN0Ci0gICAgICAgZGltZW5zaW9uIHdpbGwgdmFyeSB0aGUgZmFzdGVzdCAoQy1zdHlsZSBjb250aWd1b3VzKS4gIElmCi0gICAgICAgZm9ydHJhbiBpcyAnQScsIHRoZW4gaXQgZG9lcyBub3QgbWF0dGVyIGFuZCB5b3Ugd2lsbCBnZXQKLSAgICAgICB3aGF0ZXZlciB0aGUgb2JqZWN0IGRlY2lkZXMgaXMgbW9yZSBlZmZpY2llbnQuICAKLQotICAgICAgIEEgbmV3IHJlZmVyZW5jZSBpcyByZXR1cm5lZCB0aGF0IG11c3QgYmUgREVDUkVGJ2Qgd2hlbiBmaW5pc2hlZC4KLSAgICAqLwotCiBQeUFQSV9GVU5DKFB5T2JqZWN0ICopIFB5TWVtb3J5Vmlld19Gcm9tT2JqZWN0KFB5T2JqZWN0ICpiYXNlKTsKLQorUHlBUElfRlVOQyhQeU9iamVjdCAqKSBQeU1lbW9yeVZpZXdfRnJvbU1lbW9yeShjaGFyICptZW0sIFB5X3NzaXplX3Qgc2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGZsYWdzKTsKICNpZm5kZWYgUHlfTElNSVRFRF9BUEkKIFB5QVBJX0ZVTkMoUHlPYmplY3QgKikgUHlNZW1vcnlWaWV3X0Zyb21CdWZmZXIoUHlfYnVmZmVyICppbmZvKTsKLSAgICAvKiBjcmVhdGUgbmV3IGlmIGJ1ZnB0ciBpcyBOVUxMIAotICAgICAgICB3aWxsIGJlIGEgbmV3IGJ5dGVzb2JqZWN0IGluIGJhc2UgKi8KICNlbmRpZgorUHlBUElfRlVOQyhQeU9iamVjdCAqKSBQeU1lbW9yeVZpZXdfR2V0Q29udGlndW91cyhQeU9iamVjdCAqYmFzZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGJ1ZmZlcnR5cGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgb3JkZXIpOwogCiAKLS8qIFRoZSBzdHJ1Y3QgaXMgZGVjbGFyZWQgaGVyZSBzbyB0aGF0IG1hY3JvcyBjYW4gd29yaywgYnV0IGl0IHNob3VsZG4ndAotICAgYmUgY29uc2lkZXJlZCBwdWJsaWMuIERvbid0IGFjY2VzcyB0aG9zZSBmaWVsZHMgZGlyZWN0bHksIHVzZSB0aGUgbWFjcm9zCisvKiBUaGUgc3RydWN0cyBhcmUgZGVjbGFyZWQgaGVyZSBzbyB0aGF0IG1hY3JvcyBjYW4gd29yaywgYnV0IHRoZXkgc2hvdWxkbid0CisgICBiZSBjb25zaWRlcmVkIHB1YmxpYy4gRG9uJ3QgYWNjZXNzIHRoZWlyIGZpZWxkcyBkaXJlY3RseSwgdXNlIHRoZSBtYWNyb3MKICAgIGFuZCBmdW5jdGlvbnMgaW5zdGVhZCEgKi8KICNpZm5kZWYgUHlfTElNSVRFRF9BUEkKKyNkZWZpbmUgX1B5X01BTkFHRURfQlVGRkVSX1JFTEVBU0VEICAgIDB4MDAxICAvKiBhY2Nlc3MgdG8gZXhwb3J0ZXIgYmxvY2tlZCAqLworI2RlZmluZSBfUHlfTUFOQUdFRF9CVUZGRVJfRlJFRV9GT1JNQVQgMHgwMDIgIC8qIGZyZWUgZm9ybWF0ICovCiB0eXBlZGVmIHN0cnVjdCB7CiAgICAgUHlPYmplY3RfSEVBRAotICAgIFB5X2J1ZmZlciB2aWV3OworICAgIGludCBmbGFnczsgICAgICAgICAgLyogc3RhdGUgZmxhZ3MgKi8KKyAgICBQeV9zc2l6ZV90IGV4cG9ydHM7IC8qIG51bWJlciBvZiBkaXJlY3QgbWVtb3J5dmlldyBleHBvcnRzICovCisgICAgUHlfYnVmZmVyIG1hc3RlcjsgLyogc25hcHNob3QgYnVmZmVyIG9idGFpbmVkIGZyb20gdGhlIG9yaWdpbmFsIGV4cG9ydGVyICovCit9IF9QeU1hbmFnZWRCdWZmZXJPYmplY3Q7CisKKworLyogc3RhdGljIHN0b3JhZ2UgdXNlZCBmb3IgY2FzdGluZyBiZXR3ZWVuIGZvcm1hdHMgKi8KKyNkZWZpbmUgX1B5X01FTU9SWVZJRVdfTUFYX0ZPUk1BVCAzIC8qIG11c3QgYmUgPj0gMyAqLworCisvKiBtZW1vcnl2aWV3IHN0YXRlIGZsYWdzICovCisjZGVmaW5lIF9QeV9NRU1PUllWSUVXX1JFTEVBU0VEICAgIDB4MDAxICAvKiBhY2Nlc3MgdG8gbWFzdGVyIGJ1ZmZlciBibG9ja2VkICovCisjZGVmaW5lIF9QeV9NRU1PUllWSUVXX0MgICAgICAgICAgIDB4MDAyICAvKiBDLWNvbnRpZ3VvdXMgbGF5b3V0ICovCisjZGVmaW5lIF9QeV9NRU1PUllWSUVXX0ZPUlRSQU4gICAgIDB4MDA0ICAvKiBGb3J0cmFuIGNvbnRpZ3VvdXMgbGF5b3V0ICovCisjZGVmaW5lIF9QeV9NRU1PUllWSUVXX1NDQUxBUiAgICAgIDB4MDA4ICAvKiBzY2FsYXI6IG5kaW0gPSAwICovCisjZGVmaW5lIF9QeV9NRU1PUllWSUVXX1BJTCAgICAgICAgIDB4MDEwICAvKiBQSUwtc3R5bGUgbGF5b3V0ICovCisKK3R5cGVkZWYgc3RydWN0IHsKKyAgICBQeU9iamVjdF9WQVJfSEVBRAorICAgIF9QeU1hbmFnZWRCdWZmZXJPYmplY3QgKm1idWY7IC8qIG1hbmFnZWQgYnVmZmVyICovCisgICAgUHlfaGFzaF90IGhhc2g7ICAgICAgICAgICAgICAgLyogaGFzaCB2YWx1ZSBmb3IgcmVhZC1vbmx5IHZpZXdzICovCisgICAgaW50IGZsYWdzOyAgICAgICAgICAgICAgICAgICAgLyogc3RhdGUgZmxhZ3MgKi8KKyAgICBQeV9zc2l6ZV90IGV4cG9ydHM7ICAgICAgICAgICAvKiBudW1iZXIgb2YgYnVmZmVyIHJlLWV4cG9ydHMgKi8KKyAgICBQeV9idWZmZXIgdmlldzsgICAgICAgICAgICAgICAvKiBwcml2YXRlIGNvcHkgb2YgdGhlIGV4cG9ydGVyJ3MgdmlldyAqLworICAgIGNoYXIgZm9ybWF0W19QeV9NRU1PUllWSUVXX01BWF9GT1JNQVRdOyAvKiB1c2VkIGZvciBjYXN0aW5nICovCisgICAgUHlfc3NpemVfdCBvYl9hcnJheVsxXTsgICAgICAgLyogc2hhcGUsIHN0cmlkZXMsIHN1Ym9mZnNldHMgKi8KIH0gUHlNZW1vcnlWaWV3T2JqZWN0OwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL0luY2x1ZGUvbWV0aG9kb2JqZWN0LmggYi9JbmNsdWRlL21ldGhvZG9iamVjdC5oCmluZGV4IDdlNjdjMGIuLmQ3OThkMTMgMTAwNjQ0Ci0tLSBhL0luY2x1ZGUvbWV0aG9kb2JqZWN0LmgKKysrIGIvSW5jbHVkZS9tZXRob2RvYmplY3QuaApAQCAtMzAsNyArMzAsOCBAQAogI2RlZmluZSBQeUNGdW5jdGlvbl9HRVRfRlVOQ1RJT04oZnVuYykgXAogICAgICAgICAoKChQeUNGdW5jdGlvbk9iamVjdCAqKWZ1bmMpIC0+IG1fbWwgLT4gbWxfbWV0aCkKICNkZWZpbmUgUHlDRnVuY3Rpb25fR0VUX1NFTEYoZnVuYykgXAotCSgoKFB5Q0Z1bmN0aW9uT2JqZWN0ICopZnVuYykgLT4gbV9zZWxmKQorICAgICAgICAoKChQeUNGdW5jdGlvbk9iamVjdCAqKWZ1bmMpIC0+IG1fbWwgLT4gbWxfZmxhZ3MgJiBNRVRIX1NUQVRJQyA/IFwKKyAgICAgICAgIE5VTEwgOiAoKFB5Q0Z1bmN0aW9uT2JqZWN0ICopZnVuYykgLT4gbV9zZWxmKQogI2RlZmluZSBQeUNGdW5jdGlvbl9HRVRfRkxBR1MoZnVuYykgXAogCSgoKFB5Q0Z1bmN0aW9uT2JqZWN0ICopZnVuYykgLT4gbV9tbCAtPiBtbF9mbGFncykKICNlbmRpZgpkaWZmIC0tZ2l0IGEvSW5jbHVkZS9tb2R1bGVvYmplY3QuaCBiL0luY2x1ZGUvbW9kdWxlb2JqZWN0LmgKaW5kZXggN2IyYmYxYy4uODAxM2RkOSAxMDA2NDQKLS0tIGEvSW5jbHVkZS9tb2R1bGVvYmplY3QuaAorKysgYi9JbmNsdWRlL21vZHVsZW9iamVjdC5oCkBAIC0xMiwxMCArMTIsMTQgQEAKICNkZWZpbmUgUHlNb2R1bGVfQ2hlY2sob3ApIFB5T2JqZWN0X1R5cGVDaGVjayhvcCwgJlB5TW9kdWxlX1R5cGUpCiAjZGVmaW5lIFB5TW9kdWxlX0NoZWNrRXhhY3Qob3ApIChQeV9UWVBFKG9wKSA9PSAmUHlNb2R1bGVfVHlwZSkKIAorUHlBUElfRlVOQyhQeU9iamVjdCAqKSBQeU1vZHVsZV9OZXdPYmplY3QoCisgICAgUHlPYmplY3QgKm5hbWUKKyAgICApOwogUHlBUElfRlVOQyhQeU9iamVjdCAqKSBQeU1vZHVsZV9OZXcoCiAgICAgY29uc3QgY2hhciAqbmFtZSAgICAgICAgICAgIC8qIFVURi04IGVuY29kZWQgc3RyaW5nICovCiAgICAgKTsKIFB5QVBJX0ZVTkMoUHlPYmplY3QgKikgUHlNb2R1bGVfR2V0RGljdChQeU9iamVjdCAqKTsKK1B5QVBJX0ZVTkMoUHlPYmplY3QgKikgUHlNb2R1bGVfR2V0TmFtZU9iamVjdChQeU9iamVjdCAqKTsKIFB5QVBJX0ZVTkMoY29uc3QgY2hhciAqKSBQeU1vZHVsZV9HZXROYW1lKFB5T2JqZWN0ICopOwogUHlBUElfRlVOQyhjb25zdCBjaGFyICopIFB5TW9kdWxlX0dldEZpbGVuYW1lKFB5T2JqZWN0ICopOwogUHlBUElfRlVOQyhQeU9iamVjdCAqKSBQeU1vZHVsZV9HZXRGaWxlbmFtZU9iamVjdChQeU9iamVjdCAqKTsKZGlmZiAtLWdpdCBhL0luY2x1ZGUvbm9kZS5oIGIvSW5jbHVkZS9ub2RlLmgKaW5kZXggZTIzZTcwOS4uZDE2MTE5NSAxMDA2NDQKLS0tIGEvSW5jbHVkZS9ub2RlLmgKKysrIGIvSW5jbHVkZS9ub2RlLmgKQEAgLTI4LDYgKzI4LDcgQEAKICNkZWZpbmUgUkNISUxEKG4sIGkpCShDSElMRChuLCBOQ0gobikgKyBpKSkKICNkZWZpbmUgVFlQRShuKQkJKChuKS0+bl90eXBlKQogI2RlZmluZSBTVFIobikJCSgobiktPm5fc3RyKQorI2RlZmluZSBMSU5FTk8obikgICAgICAgKChuKS0+bl9saW5lbm8pCiAKIC8qIEFzc2VydCB0aGF0IHRoZSB0eXBlIG9mIGEgbm9kZSBpcyB3aGF0IHdlIGV4cGVjdCAqLwogI2RlZmluZSBSRVEobiwgdHlwZSkgYXNzZXJ0KFRZUEUobikgPT0gKHR5cGUpKQpkaWZmIC0tZ2l0IGEvSW5jbHVkZS9vYmplY3QuaCBiL0luY2x1ZGUvb2JqZWN0LmgKaW5kZXggMzE1NzY2Yy4uOWIzMDU1ZCAxMDA2NDQKLS0tIGEvSW5jbHVkZS9vYmplY3QuaAorKysgYi9JbmNsdWRlL29iamVjdC5oCkBAIC0xMTcsNiArMTE3LDM1IEBACiAjZGVmaW5lIFB5X1RZUEUob2IpICAgICAgICAgICAgICgoKFB5T2JqZWN0Kikob2IpKS0+b2JfdHlwZSkKICNkZWZpbmUgUHlfU0laRShvYikgICAgICAgICAgICAgKCgoUHlWYXJPYmplY3QqKShvYikpLT5vYl9zaXplKQogCisvKioqKioqKioqKioqKioqKioqKioqIFN0cmluZyBMaXRlcmFscyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyogVGhpcyBzdHJ1Y3R1cmUgaGVscHMgbWFuYWdpbmcgc3RhdGljIHN0cmluZ3MuIFRoZSBiYXNpYyB1c2FnZSBnb2VzIGxpa2UgdGhpczoKKyAgIEluc3RlYWQgb2YgZG9pbmcKKworICAgICAgIHIgPSBQeU9iamVjdF9DYWxsTWV0aG9kKG8sICJmb28iLCAiYXJncyIsIC4uLik7CisKKyAgIGRvCisKKyAgICAgICBfUHlfSURFTlRJRklFUihmb28pOworICAgICAgIC4uLgorICAgICAgIHIgPSBfUHlPYmplY3RfQ2FsbE1ldGhvZElkKG8sICZQeUlkX2ZvbywgImFyZ3MiLCAuLi4pOworCisgICBQeUlkX2ZvbyBpcyBhIHN0YXRpYyB2YXJpYWJsZSwgZWl0aGVyIG9uIGJsb2NrIGxldmVsIG9yIGZpbGUgbGV2ZWwuIE9uIGZpcnN0CisgICB1c2FnZSwgdGhlIHN0cmluZyAiZm9vIiBpcyBpbnRlcm5lZCwgYW5kIHRoZSBzdHJ1Y3R1cmVzIGFyZSBsaW5rZWQuIE9uIGludGVycHJldGVyCisgICBzaHV0ZG93biwgYWxsIHN0cmluZ3MgYXJlIHJlbGVhc2VkICh0aHJvdWdoIF9QeVVuaWNvZGVfQ2xlYXJTdGF0aWNTdHJpbmdzKS4KKworICAgQWx0ZXJuYXRpdmVseSwgX1B5X3N0YXRpY19zdHJpbmcgYWxsb3dzIHRvIGNob29zZSB0aGUgdmFyaWFibGUgbmFtZS4KKyAgIF9QeVVuaWNvZGVfRnJvbUlkIHJldHVybnMgYSBib3Jyb3dlZCByZWZlcmVuY2UgdG8gdGhlIGludGVybmVkIHN0cmluZy4KKyAgIF9QeU9iamVjdF97R2V0LFNldCxIYXN9QXR0cklkIGFyZSBfX2dldGF0dHJfXyB2ZXJzaW9ucyB1c2luZyBfUHlfSWRlbnRpZmllciouCisqLwordHlwZWRlZiBzdHJ1Y3QgX1B5X0lkZW50aWZpZXIgeworICAgIHN0cnVjdCBfUHlfSWRlbnRpZmllciAqbmV4dDsKKyAgICBjb25zdCBjaGFyKiBzdHJpbmc7CisgICAgUHlPYmplY3QgKm9iamVjdDsKK30gX1B5X0lkZW50aWZpZXI7CisKKyNkZWZpbmUgX1B5X3N0YXRpY19zdHJpbmcodmFybmFtZSwgdmFsdWUpICBzdGF0aWMgX1B5X0lkZW50aWZpZXIgdmFybmFtZSA9IHsgMCwgdmFsdWUsIDAgfQorI2RlZmluZSBfUHlfSURFTlRJRklFUih2YXJuYW1lKSBfUHlfc3RhdGljX3N0cmluZyhQeUlkXyMjdmFybmFtZSwgI3Zhcm5hbWUpCisKIC8qCiBUeXBlIG9iamVjdHMgY29udGFpbiBhIHN0cmluZyBjb250YWluaW5nIHRoZSB0eXBlIG5hbWUgKHRvIGhlbHAgc29tZXdoYXQKIGluIGRlYnVnZ2luZyksIHRoZSBhbGxvY2F0aW9uIHBhcmFtZXRlcnMgKHNlZSBQeU9iamVjdF9OZXcoKSBhbmQKQEAgLTE1NywxNSArMTg2LDE2IEBACiAgICAgUHlfc3NpemVfdCAqc2hhcGU7CiAgICAgUHlfc3NpemVfdCAqc3RyaWRlczsKICAgICBQeV9zc2l6ZV90ICpzdWJvZmZzZXRzOwotICAgIFB5X3NzaXplX3Qgc21hbGx0YWJsZVsyXTsgIC8qIHN0YXRpYyBzdG9yZSBmb3Igc2hhcGUgYW5kIHN0cmlkZXMgb2YKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb25vLWRpbWVuc2lvbmFsIGJ1ZmZlcnMuICovCiAgICAgdm9pZCAqaW50ZXJuYWw7CiB9IFB5X2J1ZmZlcjsKIAogdHlwZWRlZiBpbnQgKCpnZXRidWZmZXJwcm9jKShQeU9iamVjdCAqLCBQeV9idWZmZXIgKiwgaW50KTsKIHR5cGVkZWYgdm9pZCAoKnJlbGVhc2VidWZmZXJwcm9jKShQeU9iamVjdCAqLCBQeV9idWZmZXIgKik7CiAKLSAgICAvKiBGbGFncyBmb3IgZ2V0dGluZyBidWZmZXJzICovCisvKiBNYXhpbXVtIG51bWJlciBvZiBkaW1lbnNpb25zICovCisjZGVmaW5lIFB5QlVGX01BWF9ORElNIDY0CisKKy8qIEZsYWdzIGZvciBnZXR0aW5nIGJ1ZmZlcnMgKi8KICNkZWZpbmUgUHlCVUZfU0lNUExFIDAKICNkZWZpbmUgUHlCVUZfV1JJVEFCTEUgMHgwMDAxCiAvKiAgd2UgdXNlZCB0byBpbmNsdWRlIGFuIEUsIGJhY2t3YXJkcyBjb21wYXRpYmxlIGFsaWFzICAqLwpAQCAtNDE4LDcgKzQ0OCw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEgZ2l2ZW4gb3BlcmF0b3IgKGUuZy4gX19nZXRpdGVtX18pLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWUgYWRkX29wZXJhdG9ycygpIGluIHR5cGVvYmplY3QuYyAuICovCiAgICAgUHlCdWZmZXJQcm9jcyBhc19idWZmZXI7Ci0gICAgUHlPYmplY3QgKmh0X25hbWUsICpodF9zbG90czsKKyAgICBQeU9iamVjdCAqaHRfbmFtZSwgKmh0X3Nsb3RzLCAqaHRfcXVhbG5hbWU7CiAgICAgLyogaGVyZSBhcmUgb3B0aW9uYWwgdXNlciBzbG90cywgZm9sbG93ZWQgYnkgdGhlIG1lbWJlcnMuICovCiB9IFB5SGVhcFR5cGVPYmplY3Q7CiAKQEAgLTQ0OCwxMyArNDc4LDE0IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5T2JqZWN0ICosIFB5T2JqZWN0ICopOwogI2lmbmRlZiBQeV9MSU1JVEVEX0FQSQogUHlBUElfRlVOQyhQeU9iamVjdCAqKSBfUHlUeXBlX0xvb2t1cChQeVR5cGVPYmplY3QgKiwgUHlPYmplY3QgKik7Ci1QeUFQSV9GVU5DKFB5T2JqZWN0ICopIF9QeU9iamVjdF9Mb29rdXBTcGVjaWFsKFB5T2JqZWN0ICosIGNoYXIgKiwgUHlPYmplY3QgKiopOworUHlBUElfRlVOQyhQeU9iamVjdCAqKSBfUHlPYmplY3RfTG9va3VwU3BlY2lhbChQeU9iamVjdCAqLCBfUHlfSWRlbnRpZmllciAqKTsKIFB5QVBJX0ZVTkMoUHlUeXBlT2JqZWN0ICopIF9QeVR5cGVfQ2FsY3VsYXRlTWV0YWNsYXNzKFB5VHlwZU9iamVjdCAqLCBQeU9iamVjdCAqKTsKICNlbmRpZgogUHlBUElfRlVOQyh1bnNpZ25lZCBpbnQpIFB5VHlwZV9DbGVhckNhY2hlKHZvaWQpOwogUHlBUElfRlVOQyh2b2lkKSBQeVR5cGVfTW9kaWZpZWQoUHlUeXBlT2JqZWN0ICopOwogCiAvKiBHZW5lcmljIG9wZXJhdGlvbnMgb24gb2JqZWN0cyAqLworc3RydWN0IF9QeV9JZGVudGlmaWVyOwogI2lmbmRlZiBQeV9MSU1JVEVEX0FQSQogUHlBUElfRlVOQyhpbnQpIFB5T2JqZWN0X1ByaW50KFB5T2JqZWN0ICosIEZJTEUgKiwgaW50KTsKIFB5QVBJX0ZVTkModm9pZCkgX1B5X0JyZWFrUG9pbnQodm9pZCk7CkBAIC00NzIsNiArNTAzLDEwIEBACiBQeUFQSV9GVU5DKFB5T2JqZWN0ICopIFB5T2JqZWN0X0dldEF0dHIoUHlPYmplY3QgKiwgUHlPYmplY3QgKik7CiBQeUFQSV9GVU5DKGludCkgUHlPYmplY3RfU2V0QXR0cihQeU9iamVjdCAqLCBQeU9iamVjdCAqLCBQeU9iamVjdCAqKTsKIFB5QVBJX0ZVTkMoaW50KSBQeU9iamVjdF9IYXNBdHRyKFB5T2JqZWN0ICosIFB5T2JqZWN0ICopOworUHlBUElfRlVOQyhpbnQpIF9QeU9iamVjdF9Jc0Fic3RyYWN0KFB5T2JqZWN0ICopOworUHlBUElfRlVOQyhQeU9iamVjdCAqKSBfUHlPYmplY3RfR2V0QXR0cklkKFB5T2JqZWN0ICosIHN0cnVjdCBfUHlfSWRlbnRpZmllciAqKTsKK1B5QVBJX0ZVTkMoaW50KSBfUHlPYmplY3RfU2V0QXR0cklkKFB5T2JqZWN0ICosIHN0cnVjdCBfUHlfSWRlbnRpZmllciAqLCBQeU9iamVjdCAqKTsKK1B5QVBJX0ZVTkMoaW50KSBfUHlPYmplY3RfSGFzQXR0cklkKFB5T2JqZWN0ICosIHN0cnVjdCBfUHlfSWRlbnRpZmllciAqKTsKICNpZm5kZWYgUHlfTElNSVRFRF9BUEkKIFB5QVBJX0ZVTkMoUHlPYmplY3QgKiopIF9QeU9iamVjdF9HZXREaWN0UHRyKFB5T2JqZWN0ICopOwogI2VuZGlmCkBAIC00ODIsNiArNTE3LDggQEAKIFB5QVBJX0ZVTkMoUHlPYmplY3QgKikgUHlPYmplY3RfR2VuZXJpY0dldEF0dHIoUHlPYmplY3QgKiwgUHlPYmplY3QgKik7CiBQeUFQSV9GVU5DKGludCkgUHlPYmplY3RfR2VuZXJpY1NldEF0dHIoUHlPYmplY3QgKiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeU9iamVjdCAqLCBQeU9iamVjdCAqKTsKK1B5QVBJX0ZVTkMoUHlPYmplY3QgKikgUHlPYmplY3RfR2VuZXJpY0dldERpY3QoUHlPYmplY3QgKiwgdm9pZCAqKTsKK1B5QVBJX0ZVTkMoaW50KSBQeU9iamVjdF9HZW5lcmljU2V0RGljdChQeU9iamVjdCAqLCBQeU9iamVjdCAqLCB2b2lkICopOwogUHlBUElfRlVOQyhQeV9oYXNoX3QpIFB5T2JqZWN0X0hhc2goUHlPYmplY3QgKik7CiBQeUFQSV9GVU5DKFB5X2hhc2hfdCkgUHlPYmplY3RfSGFzaE5vdEltcGxlbWVudGVkKFB5T2JqZWN0ICopOwogUHlBUElfRlVOQyhpbnQpIFB5T2JqZWN0X0lzVHJ1ZShQeU9iamVjdCAqKTsKQEAgLTUxNSw2ICs1NTIsNyBAQAogI2lmbmRlZiBQeV9MSU1JVEVEX0FQSQogUHlBUElfRlVOQyhQeV9oYXNoX3QpIF9QeV9IYXNoRG91YmxlKGRvdWJsZSk7CiBQeUFQSV9GVU5DKFB5X2hhc2hfdCkgX1B5X0hhc2hQb2ludGVyKHZvaWQqKTsKK1B5QVBJX0ZVTkMoUHlfaGFzaF90KSBfUHlfSGFzaEJ5dGVzKHVuc2lnbmVkIGNoYXIqLCBQeV9zc2l6ZV90KTsKICNlbmRpZgogCiB0eXBlZGVmIHN0cnVjdCB7CkBAIC04MDMsNiArODQxLDEwIEBACiBQeUFQSV9EQVRBKFB5T2JqZWN0KSBfUHlfTm90SW1wbGVtZW50ZWRTdHJ1Y3Q7IC8qIERvbid0IHVzZSB0aGlzIGRpcmVjdGx5ICovCiAjZGVmaW5lIFB5X05vdEltcGxlbWVudGVkICgmX1B5X05vdEltcGxlbWVudGVkU3RydWN0KQogCisvKiBNYWNybyBmb3IgcmV0dXJuaW5nIFB5X05vdEltcGxlbWVudGVkIGZyb20gYSBmdW5jdGlvbiAqLworI2RlZmluZSBQeV9SRVRVUk5fTk9USU1QTEVNRU5URUQgXAorICAgIHJldHVybiBQeV9JTkNSRUYoUHlfTm90SW1wbGVtZW50ZWQpLCBQeV9Ob3RJbXBsZW1lbnRlZAorCiAvKiBSaWNoIGNvbXBhcmlzb24gb3Bjb2RlcyAqLwogI2RlZmluZSBQeV9MVCAwCiAjZGVmaW5lIFB5X0xFIDEKZGlmZiAtLWdpdCBhL0luY2x1ZGUvb3Bjb2RlLmggYi9JbmNsdWRlL29wY29kZS5oCmluZGV4IDZiMTA5NDQuLmE5MDE4NGQgMTAwNjQ0Ci0tLSBhL0luY2x1ZGUvb3Bjb2RlLmgKKysrIGIvSW5jbHVkZS9vcGNvZGUuaApAQCAtNywxMTcgKzcsMTE3IEBACiAKIC8qIEluc3RydWN0aW9uIG9wY29kZXMgZm9yIGNvbXBpbGVkIGNvZGUgKi8KIAotI2RlZmluZSBTVE9QX0NPREUJMAotI2RlZmluZSBQT1BfVE9QCQkxCi0jZGVmaW5lIFJPVF9UV08JCTIKLSNkZWZpbmUgUk9UX1RIUkVFCTMKLSNkZWZpbmUgRFVQX1RPUAkJNAorI2RlZmluZSBQT1BfVE9QICAgICAgICAgMQorI2RlZmluZSBST1RfVFdPICAgICAgICAgMgorI2RlZmluZSBST1RfVEhSRUUgICAgICAgMworI2RlZmluZSBEVVBfVE9QICAgICAgICAgNAogI2RlZmluZSBEVVBfVE9QX1RXTyAgICAgNQotI2RlZmluZSBOT1AJCTkKKyNkZWZpbmUgTk9QICAgICAgICAgICAgIDkKIAotI2RlZmluZSBVTkFSWV9QT1NJVElWRQkxMAotI2RlZmluZSBVTkFSWV9ORUdBVElWRQkxMQotI2RlZmluZSBVTkFSWV9OT1QJMTIKKyNkZWZpbmUgVU5BUllfUE9TSVRJVkUgIDEwCisjZGVmaW5lIFVOQVJZX05FR0FUSVZFICAxMQorI2RlZmluZSBVTkFSWV9OT1QgICAgICAgMTIKIAotI2RlZmluZSBVTkFSWV9JTlZFUlQJMTUKKyNkZWZpbmUgVU5BUllfSU5WRVJUICAgIDE1CiAKLSNkZWZpbmUgQklOQVJZX1BPV0VSCTE5CisjZGVmaW5lIEJJTkFSWV9QT1dFUiAgICAxOQogCi0jZGVmaW5lIEJJTkFSWV9NVUxUSVBMWQkyMAorI2RlZmluZSBCSU5BUllfTVVMVElQTFkgMjAKIAotI2RlZmluZSBCSU5BUllfTU9EVUxPCTIyCi0jZGVmaW5lIEJJTkFSWV9BREQJMjMKLSNkZWZpbmUgQklOQVJZX1NVQlRSQUNUCTI0Ci0jZGVmaW5lIEJJTkFSWV9TVUJTQ1IJMjUKKyNkZWZpbmUgQklOQVJZX01PRFVMTyAgIDIyCisjZGVmaW5lIEJJTkFSWV9BREQgICAgICAyMworI2RlZmluZSBCSU5BUllfU1VCVFJBQ1QgMjQKKyNkZWZpbmUgQklOQVJZX1NVQlNDUiAgIDI1CiAjZGVmaW5lIEJJTkFSWV9GTE9PUl9ESVZJREUgMjYKICNkZWZpbmUgQklOQVJZX1RSVUVfRElWSURFIDI3CiAjZGVmaW5lIElOUExBQ0VfRkxPT1JfRElWSURFIDI4CiAjZGVmaW5lIElOUExBQ0VfVFJVRV9ESVZJREUgMjkKIAotI2RlZmluZSBTVE9SRV9NQVAJNTQKLSNkZWZpbmUgSU5QTEFDRV9BREQJNTUKLSNkZWZpbmUgSU5QTEFDRV9TVUJUUkFDVAk1NgotI2RlZmluZSBJTlBMQUNFX01VTFRJUExZCTU3CisjZGVmaW5lIFNUT1JFX01BUCAgICAgICA1NAorI2RlZmluZSBJTlBMQUNFX0FERCAgICAgNTUKKyNkZWZpbmUgSU5QTEFDRV9TVUJUUkFDVCAgICAgICAgNTYKKyNkZWZpbmUgSU5QTEFDRV9NVUxUSVBMWSAgICAgICAgNTcKIAotI2RlZmluZSBJTlBMQUNFX01PRFVMTwk1OQotI2RlZmluZSBTVE9SRV9TVUJTQ1IJNjAKLSNkZWZpbmUgREVMRVRFX1NVQlNDUgk2MQorI2RlZmluZSBJTlBMQUNFX01PRFVMTyAgNTkKKyNkZWZpbmUgU1RPUkVfU1VCU0NSICAgIDYwCisjZGVmaW5lIERFTEVURV9TVUJTQ1IgICA2MQogCi0jZGVmaW5lIEJJTkFSWV9MU0hJRlQJNjIKLSNkZWZpbmUgQklOQVJZX1JTSElGVAk2MwotI2RlZmluZSBCSU5BUllfQU5ECTY0Ci0jZGVmaW5lIEJJTkFSWV9YT1IJNjUKLSNkZWZpbmUgQklOQVJZX09SCTY2Ci0jZGVmaW5lIElOUExBQ0VfUE9XRVIJNjcKLSNkZWZpbmUgR0VUX0lURVIJNjgKLSNkZWZpbmUgU1RPUkVfTE9DQUxTCTY5Ci0jZGVmaW5lIFBSSU5UX0VYUFIJNzAKKyNkZWZpbmUgQklOQVJZX0xTSElGVCAgIDYyCisjZGVmaW5lIEJJTkFSWV9SU0hJRlQgICA2MworI2RlZmluZSBCSU5BUllfQU5EICAgICAgNjQKKyNkZWZpbmUgQklOQVJZX1hPUiAgICAgIDY1CisjZGVmaW5lIEJJTkFSWV9PUiAgICAgICA2NgorI2RlZmluZSBJTlBMQUNFX1BPV0VSICAgNjcKKyNkZWZpbmUgR0VUX0lURVIgICAgICAgIDY4CisjZGVmaW5lIFNUT1JFX0xPQ0FMUyAgICA2OQorI2RlZmluZSBQUklOVF9FWFBSICAgICAgNzAKICNkZWZpbmUgTE9BRF9CVUlMRF9DTEFTUyA3MQorI2RlZmluZSBZSUVMRF9GUk9NICAgICAgNzIKIAotI2RlZmluZSBJTlBMQUNFX0xTSElGVAk3NQotI2RlZmluZSBJTlBMQUNFX1JTSElGVAk3NgotI2RlZmluZSBJTlBMQUNFX0FORAk3NwotI2RlZmluZSBJTlBMQUNFX1hPUgk3OAotI2RlZmluZSBJTlBMQUNFX09SCTc5Ci0jZGVmaW5lIEJSRUFLX0xPT1AJODAKKyNkZWZpbmUgSU5QTEFDRV9MU0hJRlQgIDc1CisjZGVmaW5lIElOUExBQ0VfUlNISUZUICA3NgorI2RlZmluZSBJTlBMQUNFX0FORCAgICAgNzcKKyNkZWZpbmUgSU5QTEFDRV9YT1IgICAgIDc4CisjZGVmaW5lIElOUExBQ0VfT1IgICAgICA3OQorI2RlZmluZSBCUkVBS19MT09QICAgICAgODAKICNkZWZpbmUgV0lUSF9DTEVBTlVQICAgIDgxCiAKLSNkZWZpbmUgUkVUVVJOX1ZBTFVFCTgzCi0jZGVmaW5lIElNUE9SVF9TVEFSCTg0CisjZGVmaW5lIFJFVFVSTl9WQUxVRSAgICA4MworI2RlZmluZSBJTVBPUlRfU1RBUiAgICAgODQKIAotI2RlZmluZSBZSUVMRF9WQUxVRQk4NgotI2RlZmluZSBQT1BfQkxPQ0sJODcKLSNkZWZpbmUgRU5EX0ZJTkFMTFkJODgKLSNkZWZpbmUgUE9QX0VYQ0VQVAk4OQorI2RlZmluZSBZSUVMRF9WQUxVRSAgICAgODYKKyNkZWZpbmUgUE9QX0JMT0NLICAgICAgIDg3CisjZGVmaW5lIEVORF9GSU5BTExZICAgICA4OAorI2RlZmluZSBQT1BfRVhDRVBUICAgICAgODkKIAotI2RlZmluZSBIQVZFX0FSR1VNRU5UCTkwCS8qIE9wY29kZXMgZnJvbSBoZXJlIGhhdmUgYW4gYXJndW1lbnQ6ICovCisjZGVmaW5lIEhBVkVfQVJHVU1FTlQgICA5MCAgICAgIC8qIE9wY29kZXMgZnJvbSBoZXJlIGhhdmUgYW4gYXJndW1lbnQ6ICovCiAKLSNkZWZpbmUgU1RPUkVfTkFNRQk5MAkvKiBJbmRleCBpbiBuYW1lIGxpc3QgKi8KLSNkZWZpbmUgREVMRVRFX05BTUUJOTEJLyogIiIgKi8KLSNkZWZpbmUgVU5QQUNLX1NFUVVFTkNFCTkyCS8qIE51bWJlciBvZiBzZXF1ZW5jZSBpdGVtcyAqLwotI2RlZmluZSBGT1JfSVRFUgk5MworI2RlZmluZSBTVE9SRV9OQU1FICAgICAgOTAgICAgICAvKiBJbmRleCBpbiBuYW1lIGxpc3QgKi8KKyNkZWZpbmUgREVMRVRFX05BTUUgICAgIDkxICAgICAgLyogIiIgKi8KKyNkZWZpbmUgVU5QQUNLX1NFUVVFTkNFIDkyICAgICAgLyogTnVtYmVyIG9mIHNlcXVlbmNlIGl0ZW1zICovCisjZGVmaW5lIEZPUl9JVEVSICAgICAgICA5MwogI2RlZmluZSBVTlBBQ0tfRVggICAgICAgOTQgICAgICAvKiBOdW0gaXRlbXMgYmVmb3JlIHZhcmlhYmxlIHBhcnQgKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoTnVtIGl0ZW1zIGFmdGVyIHZhcmlhYmxlIHBhcnQgPDwgOCkgKi8KIAotI2RlZmluZSBTVE9SRV9BVFRSCTk1CS8qIEluZGV4IGluIG5hbWUgbGlzdCAqLwotI2RlZmluZSBERUxFVEVfQVRUUgk5NgkvKiAiIiAqLwotI2RlZmluZSBTVE9SRV9HTE9CQUwJOTcJLyogIiIgKi8KLSNkZWZpbmUgREVMRVRFX0dMT0JBTAk5OAkvKiAiIiAqLworI2RlZmluZSBTVE9SRV9BVFRSICAgICAgOTUgICAgICAvKiBJbmRleCBpbiBuYW1lIGxpc3QgKi8KKyNkZWZpbmUgREVMRVRFX0FUVFIgICAgIDk2ICAgICAgLyogIiIgKi8KKyNkZWZpbmUgU1RPUkVfR0xPQkFMICAgIDk3ICAgICAgLyogIiIgKi8KKyNkZWZpbmUgREVMRVRFX0dMT0JBTCAgIDk4ICAgICAgLyogIiIgKi8KIAotI2RlZmluZSBMT0FEX0NPTlNUCTEwMAkvKiBJbmRleCBpbiBjb25zdCBsaXN0ICovCi0jZGVmaW5lIExPQURfTkFNRQkxMDEJLyogSW5kZXggaW4gbmFtZSBsaXN0ICovCi0jZGVmaW5lIEJVSUxEX1RVUExFCTEwMgkvKiBOdW1iZXIgb2YgdHVwbGUgaXRlbXMgKi8KLSNkZWZpbmUgQlVJTERfTElTVAkxMDMJLyogTnVtYmVyIG9mIGxpc3QgaXRlbXMgKi8KLSNkZWZpbmUgQlVJTERfU0VUCTEwNCAgICAgLyogTnVtYmVyIG9mIHNldCBpdGVtcyAqLwotI2RlZmluZSBCVUlMRF9NQVAJMTA1CS8qIEFsd2F5cyB6ZXJvIGZvciBub3cgKi8KLSNkZWZpbmUgTE9BRF9BVFRSCTEwNgkvKiBJbmRleCBpbiBuYW1lIGxpc3QgKi8KLSNkZWZpbmUgQ09NUEFSRV9PUAkxMDcJLyogQ29tcGFyaXNvbiBvcGVyYXRvciAqLwotI2RlZmluZSBJTVBPUlRfTkFNRQkxMDgJLyogSW5kZXggaW4gbmFtZSBsaXN0ICovCi0jZGVmaW5lIElNUE9SVF9GUk9NCTEwOQkvKiBJbmRleCBpbiBuYW1lIGxpc3QgKi8KKyNkZWZpbmUgTE9BRF9DT05TVCAgICAgIDEwMCAgICAgLyogSW5kZXggaW4gY29uc3QgbGlzdCAqLworI2RlZmluZSBMT0FEX05BTUUgICAgICAgMTAxICAgICAvKiBJbmRleCBpbiBuYW1lIGxpc3QgKi8KKyNkZWZpbmUgQlVJTERfVFVQTEUgICAgIDEwMiAgICAgLyogTnVtYmVyIG9mIHR1cGxlIGl0ZW1zICovCisjZGVmaW5lIEJVSUxEX0xJU1QgICAgICAxMDMgICAgIC8qIE51bWJlciBvZiBsaXN0IGl0ZW1zICovCisjZGVmaW5lIEJVSUxEX1NFVCAgICAgICAxMDQgICAgIC8qIE51bWJlciBvZiBzZXQgaXRlbXMgKi8KKyNkZWZpbmUgQlVJTERfTUFQICAgICAgIDEwNSAgICAgLyogQWx3YXlzIHplcm8gZm9yIG5vdyAqLworI2RlZmluZSBMT0FEX0FUVFIgICAgICAgMTA2ICAgICAvKiBJbmRleCBpbiBuYW1lIGxpc3QgKi8KKyNkZWZpbmUgQ09NUEFSRV9PUCAgICAgIDEwNyAgICAgLyogQ29tcGFyaXNvbiBvcGVyYXRvciAqLworI2RlZmluZSBJTVBPUlRfTkFNRSAgICAgMTA4ICAgICAvKiBJbmRleCBpbiBuYW1lIGxpc3QgKi8KKyNkZWZpbmUgSU1QT1JUX0ZST00gICAgIDEwOSAgICAgLyogSW5kZXggaW4gbmFtZSBsaXN0ICovCiAKLSNkZWZpbmUgSlVNUF9GT1JXQVJECTExMAkvKiBOdW1iZXIgb2YgYnl0ZXMgdG8gc2tpcCAqLwotI2RlZmluZSBKVU1QX0lGX0ZBTFNFX09SX1BPUCAxMTEJLyogVGFyZ2V0IGJ5dGUgb2Zmc2V0IGZyb20gYmVnaW5uaW5nIG9mIGNvZGUgKi8KLSNkZWZpbmUgSlVNUF9JRl9UUlVFX09SX1BPUCAxMTIJLyogIiIgKi8KLSNkZWZpbmUgSlVNUF9BQlNPTFVURQkxMTMJLyogIiIgKi8KLSNkZWZpbmUgUE9QX0pVTVBfSUZfRkFMU0UgMTE0CS8qICIiICovCi0jZGVmaW5lIFBPUF9KVU1QX0lGX1RSVUUgMTE1CS8qICIiICovCisjZGVmaW5lIEpVTVBfRk9SV0FSRCAgICAxMTAgICAgIC8qIE51bWJlciBvZiBieXRlcyB0byBza2lwICovCisjZGVmaW5lIEpVTVBfSUZfRkFMU0VfT1JfUE9QIDExMSAgICAgICAgLyogVGFyZ2V0IGJ5dGUgb2Zmc2V0IGZyb20gYmVnaW5uaW5nIG9mIGNvZGUgKi8KKyNkZWZpbmUgSlVNUF9JRl9UUlVFX09SX1BPUCAxMTIgLyogIiIgKi8KKyNkZWZpbmUgSlVNUF9BQlNPTFVURSAgIDExMyAgICAgLyogIiIgKi8KKyNkZWZpbmUgUE9QX0pVTVBfSUZfRkFMU0UgMTE0ICAgLyogIiIgKi8KKyNkZWZpbmUgUE9QX0pVTVBfSUZfVFJVRSAxMTUgICAgLyogIiIgKi8KIAotI2RlZmluZSBMT0FEX0dMT0JBTAkxMTYJLyogSW5kZXggaW4gbmFtZSBsaXN0ICovCisjZGVmaW5lIExPQURfR0xPQkFMICAgICAxMTYgICAgIC8qIEluZGV4IGluIG5hbWUgbGlzdCAqLwogCi0jZGVmaW5lIENPTlRJTlVFX0xPT1AJMTE5CS8qIFN0YXJ0IG9mIGxvb3AgKGFic29sdXRlKSAqLwotI2RlZmluZSBTRVRVUF9MT09QCTEyMAkvKiBUYXJnZXQgYWRkcmVzcyAocmVsYXRpdmUpICovCi0jZGVmaW5lIFNFVFVQX0VYQ0VQVAkxMjEJLyogIiIgKi8KLSNkZWZpbmUgU0VUVVBfRklOQUxMWQkxMjIJLyogIiIgKi8KKyNkZWZpbmUgQ09OVElOVUVfTE9PUCAgIDExOSAgICAgLyogU3RhcnQgb2YgbG9vcCAoYWJzb2x1dGUpICovCisjZGVmaW5lIFNFVFVQX0xPT1AgICAgICAxMjAgICAgIC8qIFRhcmdldCBhZGRyZXNzIChyZWxhdGl2ZSkgKi8KKyNkZWZpbmUgU0VUVVBfRVhDRVBUICAgIDEyMSAgICAgLyogIiIgKi8KKyNkZWZpbmUgU0VUVVBfRklOQUxMWSAgIDEyMiAgICAgLyogIiIgKi8KIAotI2RlZmluZSBMT0FEX0ZBU1QJMTI0CS8qIExvY2FsIHZhcmlhYmxlIG51bWJlciAqLwotI2RlZmluZSBTVE9SRV9GQVNUCTEyNQkvKiBMb2NhbCB2YXJpYWJsZSBudW1iZXIgKi8KLSNkZWZpbmUgREVMRVRFX0ZBU1QJMTI2CS8qIExvY2FsIHZhcmlhYmxlIG51bWJlciAqLworI2RlZmluZSBMT0FEX0ZBU1QgICAgICAgMTI0ICAgICAvKiBMb2NhbCB2YXJpYWJsZSBudW1iZXIgKi8KKyNkZWZpbmUgU1RPUkVfRkFTVCAgICAgIDEyNSAgICAgLyogTG9jYWwgdmFyaWFibGUgbnVtYmVyICovCisjZGVmaW5lIERFTEVURV9GQVNUICAgICAxMjYgICAgIC8qIExvY2FsIHZhcmlhYmxlIG51bWJlciAqLwogCi0jZGVmaW5lIFJBSVNFX1ZBUkFSR1MJMTMwCS8qIE51bWJlciBvZiByYWlzZSBhcmd1bWVudHMgKDEsIDIgb3IgMykgKi8KKyNkZWZpbmUgUkFJU0VfVkFSQVJHUyAgIDEzMCAgICAgLyogTnVtYmVyIG9mIHJhaXNlIGFyZ3VtZW50cyAoMSwgMiBvciAzKSAqLwogLyogQ0FMTF9GVU5DVElPTl9YWFggb3Bjb2RlcyBkZWZpbmVkIGJlbG93IGRlcGVuZCBvbiB0aGlzIGRlZmluaXRpb24gKi8KLSNkZWZpbmUgQ0FMTF9GVU5DVElPTgkxMzEJLyogI2FyZ3MgKyAoI2t3YXJnczw8OCkgKi8KLSNkZWZpbmUgTUFLRV9GVU5DVElPTgkxMzIJLyogI2RlZmF1bHRzICsgI2t3ZGVmYXVsdHM8PDggKyAjYW5ub3RhdGlvbnM8PDE2ICovCi0jZGVmaW5lIEJVSUxEX1NMSUNFIAkxMzMJLyogTnVtYmVyIG9mIGl0ZW1zICovCisjZGVmaW5lIENBTExfRlVOQ1RJT04gICAxMzEgICAgIC8qICNhcmdzICsgKCNrd2FyZ3M8PDgpICovCisjZGVmaW5lIE1BS0VfRlVOQ1RJT04gICAxMzIgICAgIC8qICNkZWZhdWx0cyArICNrd2RlZmF1bHRzPDw4ICsgI2Fubm90YXRpb25zPDwxNiAqLworI2RlZmluZSBCVUlMRF9TTElDRSAgICAgMTMzICAgICAvKiBOdW1iZXIgb2YgaXRlbXMgKi8KIAogI2RlZmluZSBNQUtFX0NMT1NVUkUgICAgMTM0ICAgICAvKiBzYW1lIGFzIE1BS0VfRlVOQ1RJT04gKi8KICNkZWZpbmUgTE9BRF9DTE9TVVJFICAgIDEzNSAgICAgLyogTG9hZCBmcmVlIHZhcmlhYmxlIGZyb20gY2xvc3VyZSAqLwpAQCAtMTI3LDkgKzEyNyw5IEBACiAKIC8qIFRoZSBuZXh0IDMgb3Bjb2RlcyBtdXN0IGJlIGNvbnRpZ3VvdXMgYW5kIHNhdGlzZnkKICAgIChDQUxMX0ZVTkNUSU9OX1ZBUiAtIENBTExfRlVOQ1RJT04pICYgMyA9PSAxICAqLwotI2RlZmluZSBDQUxMX0ZVTkNUSU9OX1ZBUiAgICAgICAgICAxNDAJLyogI2FyZ3MgKyAoI2t3YXJnczw8OCkgKi8KLSNkZWZpbmUgQ0FMTF9GVU5DVElPTl9LVyAgICAgICAgICAgMTQxCS8qICNhcmdzICsgKCNrd2FyZ3M8PDgpICovCi0jZGVmaW5lIENBTExfRlVOQ1RJT05fVkFSX0tXICAgICAgIDE0MgkvKiAjYXJncyArICgja3dhcmdzPDw4KSAqLworI2RlZmluZSBDQUxMX0ZVTkNUSU9OX1ZBUiAgICAgICAgICAxNDAgIC8qICNhcmdzICsgKCNrd2FyZ3M8PDgpICovCisjZGVmaW5lIENBTExfRlVOQ1RJT05fS1cgICAgICAgICAgIDE0MSAgLyogI2FyZ3MgKyAoI2t3YXJnczw8OCkgKi8KKyNkZWZpbmUgQ0FMTF9GVU5DVElPTl9WQVJfS1cgICAgICAgMTQyICAvKiAjYXJncyArICgja3dhcmdzPDw4KSAqLwogCiAjZGVmaW5lIFNFVFVQX1dJVEggMTQzCiAKQEAgLTE0OSw3ICsxNDksNyBAQAogCiAKIGVudW0gY21wX29wIHtQeUNtcF9MVD1QeV9MVCwgUHlDbXBfTEU9UHlfTEUsIFB5Q21wX0VRPVB5X0VRLCBQeUNtcF9ORT1QeV9ORSwgUHlDbXBfR1Q9UHlfR1QsIFB5Q21wX0dFPVB5X0dFLAotCSAgICAgUHlDbXBfSU4sIFB5Q21wX05PVF9JTiwgUHlDbXBfSVMsIFB5Q21wX0lTX05PVCwgUHlDbXBfRVhDX01BVENILCBQeUNtcF9CQUR9OworICAgICAgICAgICAgIFB5Q21wX0lOLCBQeUNtcF9OT1RfSU4sIFB5Q21wX0lTLCBQeUNtcF9JU19OT1QsIFB5Q21wX0VYQ19NQVRDSCwgUHlDbXBfQkFEfTsKIAogI2RlZmluZSBIQVNfQVJHKG9wKSAoKG9wKSA+PSBIQVZFX0FSR1VNRU5UKQogCmRpZmYgLS1naXQgYS9JbmNsdWRlL3BhcnNldG9rLmggYi9JbmNsdWRlL3BhcnNldG9rLmgKaW5kZXggNGI3Njk0Zi4uOTExZGZjMSAxMDA2NDQKLS0tIGEvSW5jbHVkZS9wYXJzZXRvay5oCisrKyBiL0luY2x1ZGUvcGFyc2V0b2suaApAQCAtOSw3ICs5LDEwIEBACiAKIHR5cGVkZWYgc3RydWN0IHsKICAgICBpbnQgZXJyb3I7Ci0gICAgY29uc3QgY2hhciAqZmlsZW5hbWU7ICAgICAgIC8qIGRlY29kZWQgZnJvbSB0aGUgZmlsZXN5c3RlbSBlbmNvZGluZyAqLworI2lmbmRlZiBQR0VOCisgICAgLyogVGhlIGZpbGVuYW1lIGlzIHVzZWxlc3MgZm9yIHBnZW4sIHNlZSBjb21tZW50IGluIHRva19zdGF0ZSBzdHJ1Y3R1cmUgKi8KKyAgICBQeU9iamVjdCAqZmlsZW5hbWU7CisjZW5kaWYKICAgICBpbnQgbGluZW5vOwogICAgIGludCBvZmZzZXQ7CiAgICAgY2hhciAqdGV4dDsgICAgICAgICAgICAgICAgIC8qIFVURi04LWVuY29kZWQgc3RyaW5nICovCkBAIC02Niw4ICs2OSwxMCBAQAogICAgIHBlcnJkZXRhaWwgKmVycl9yZXQsCiAgICAgaW50ICpmbGFncyk7CiAKLS8qIE5vdGUgdGhhdCBoZSBmb2xsb3dpbmcgZnVuY3Rpb24gaXMgZGVmaW5lZCBpbiBweXRob25ydW4uYyBub3QgcGFyc2V0b2suYy4gKi8KKy8qIE5vdGUgdGhhdCB0aGUgZm9sbG93aW5nIGZ1bmN0aW9ucyBhcmUgZGVmaW5lZCBpbiBweXRob25ydW4uYywKKyAgIG5vdCBpbiBwYXJzZXRvay5jICovCiBQeUFQSV9GVU5DKHZvaWQpIFB5UGFyc2VyX1NldEVycm9yKHBlcnJkZXRhaWwgKik7CitQeUFQSV9GVU5DKHZvaWQpIFB5UGFyc2VyX0NsZWFyRXJyb3IocGVycmRldGFpbCAqKTsKIAogI2lmZGVmIF9fY3BsdXNwbHVzCiB9CmRpZmYgLS1naXQgYS9JbmNsdWRlL3BhdGNobGV2ZWwuaCBiL0luY2x1ZGUvcGF0Y2hsZXZlbC5oCmluZGV4IDgzMTY1YTIuLjczNTA4ODIgMTAwNjQ0Ci0tLSBhL0luY2x1ZGUvcGF0Y2hsZXZlbC5oCisrKyBiL0luY2x1ZGUvcGF0Y2hsZXZlbC5oCkBAIC0xNywxOSArMTcsMTUgQEAKIC8qIFZlcnNpb24gcGFyc2VkIG91dCBpbnRvIG51bWVyaWMgdmFsdWVzICovCiAvKi0tc3RhcnQgY29uc3RhbnRzLS0qLwogI2RlZmluZSBQWV9NQUpPUl9WRVJTSU9OCTMKLSNkZWZpbmUgUFlfTUlOT1JfVkVSU0lPTgkyCi0jZGVmaW5lIFBZX01JQ1JPX1ZFUlNJT04JMwotI2RlZmluZSBQWV9SRUxFQVNFX0xFVkVMCVBZX1JFTEVBU0VfTEVWRUxfR0FNTUEKKyNkZWZpbmUgUFlfTUlOT1JfVkVSU0lPTgkzCisjZGVmaW5lIFBZX01JQ1JPX1ZFUlNJT04JMAorI2RlZmluZSBQWV9SRUxFQVNFX0xFVkVMCVBZX1JFTEVBU0VfTEVWRUxfQUxQSEEKICNkZWZpbmUgUFlfUkVMRUFTRV9TRVJJQUwJMQogCiAvKiBWZXJzaW9uIGFzIGEgc3RyaW5nICovCi0jZGVmaW5lIFBZX1ZFUlNJT04gICAgICAJIjMuMi4zcmMxIgorI2RlZmluZSBQWV9WRVJTSU9OICAgICAgCSIzLjMuMGExKyIKIC8qLS1lbmQgY29uc3RhbnRzLS0qLwogCi0vKiBTdWJ2ZXJzaW9uIFJldmlzaW9uIG51bWJlciBvZiB0aGlzIGZpbGUgKG5vdCBvZiB0aGUgcmVwb3NpdG9yeSkuIEVtcHR5Ci0gICBzaW5jZSBNZXJjdXJpYWwgbWlncmF0aW9uLiAqLwotI2RlZmluZSBQWV9QQVRDSExFVkVMX1JFVklTSU9OICAiIgotCiAvKiBWZXJzaW9uIGFzIGEgc2luZ2xlIDQtYnl0ZSBoZXggbnVtYmVyLCBlLmcuIDB4MDEwNTAyQjIgPT0gMS41LjJiMi4KICAgIFVzZSB0aGlzIGZvciBudW1lcmljIGNvbXBhcmlzb25zLCBlLmcuICNpZiBQWV9WRVJTSU9OX0hFWCA+PSAuLi4gKi8KICNkZWZpbmUgUFlfVkVSU0lPTl9IRVggKChQWV9NQUpPUl9WRVJTSU9OIDw8IDI0KSB8IFwKZGlmZiAtLWdpdCBhL0luY2x1ZGUvcHlfY3Vyc2VzLmggYi9JbmNsdWRlL3B5X2N1cnNlcy5oCmluZGV4IGE4OTFjNDIuLmYyYzA4ZjYgMTAwNjQ0Ci0tLSBhL0luY2x1ZGUvcHlfY3Vyc2VzLmgKKysrIGIvSW5jbHVkZS9weV9jdXJzZXMuaApAQCAtNzYsNiArNzYsNyBAQAogdHlwZWRlZiBzdHJ1Y3QgewogCVB5T2JqZWN0X0hFQUQKIAlXSU5ET1cgKndpbjsKKwljaGFyICplbmNvZGluZzsKIH0gUHlDdXJzZXNXaW5kb3dPYmplY3Q7CiAKICNkZWZpbmUgUHlDdXJzZXNXaW5kb3dfQ2hlY2sodikJIChQeV9UWVBFKHYpID09ICZQeUN1cnNlc1dpbmRvd19UeXBlKQpkaWZmIC0tZ2l0IGEvSW5jbHVkZS9weWRlYnVnLmggYi9JbmNsdWRlL3B5ZGVidWcuaAppbmRleCBlMjNjYmRjLi45N2MyZjhjIDEwMDY0NAotLS0gYS9JbmNsdWRlL3B5ZGVidWcuaAorKysgYi9JbmNsdWRlL3B5ZGVidWcuaApAQCAtMTYsNyArMTYsNiBAQAogUHlBUElfREFUQShpbnQpIFB5X1VzZUNsYXNzRXhjZXB0aW9uc0ZsYWc7CiBQeUFQSV9EQVRBKGludCkgUHlfRnJvemVuRmxhZzsKIFB5QVBJX0RBVEEoaW50KSBQeV9JZ25vcmVFbnZpcm9ubWVudEZsYWc7Ci1QeUFQSV9EQVRBKGludCkgUHlfRGl2aXNpb25XYXJuaW5nRmxhZzsKIFB5QVBJX0RBVEEoaW50KSBQeV9Eb250V3JpdGVCeXRlY29kZUZsYWc7CiBQeUFQSV9EQVRBKGludCkgUHlfTm9Vc2VyU2l0ZURpcmVjdG9yeTsKIFB5QVBJX0RBVEEoaW50KSBQeV9VbmJ1ZmZlcmVkU3RkaW9GbGFnOwpAQCAtMjcsOCArMjYsNiBAQAogICAgUFlUSE9OUEFUSCBhbmQgUFlUSE9OSE9NRSBmcm9tIHRoZSBlbnZpcm9ubWVudCAqLwogI2RlZmluZSBQeV9HRVRFTlYocykgKFB5X0lnbm9yZUVudmlyb25tZW50RmxhZyA/IE5VTEwgOiBnZXRlbnYocykpCiAKLVB5QVBJX0ZVTkModm9pZCkgUHlfRmF0YWxFcnJvcihjb25zdCBjaGFyICptZXNzYWdlKTsKLQogI2lmZGVmIF9fY3BsdXNwbHVzCiB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL0luY2x1ZGUvcHllcnJvcnMuaCBiL0luY2x1ZGUvcHllcnJvcnMuaAppbmRleCA0YmIzYzAxLi4xZTQyZWJiIDEwMDY0NAotLS0gYS9JbmNsdWRlL3B5ZXJyb3JzLmgKKysrIGIvSW5jbHVkZS9weWVycm9ycy5oCkBAIC00NSwxOCArNDUsMjMgQEAKICAgICBQeU9iamVjdCAqbXllcnJubzsKICAgICBQeU9iamVjdCAqc3RyZXJyb3I7CiAgICAgUHlPYmplY3QgKmZpbGVuYW1lOwotfSBQeUVudmlyb25tZW50RXJyb3JPYmplY3Q7Ci0KICNpZmRlZiBNU19XSU5ET1dTCisgICAgUHlPYmplY3QgKndpbmVycm9yOworI2VuZGlmCisgICAgUHlfc3NpemVfdCB3cml0dGVuOyAgIC8qIG9ubHkgZm9yIEJsb2NraW5nSU9FcnJvciwgLTEgb3RoZXJ3aXNlICovCit9IFB5T1NFcnJvck9iamVjdDsKKwogdHlwZWRlZiBzdHJ1Y3QgewogICAgIFB5RXhjZXB0aW9uX0hFQUQKLSAgICBQeU9iamVjdCAqbXllcnJubzsKLSAgICBQeU9iamVjdCAqc3RyZXJyb3I7Ci0gICAgUHlPYmplY3QgKmZpbGVuYW1lOwotICAgIFB5T2JqZWN0ICp3aW5lcnJvcjsKLX0gUHlXaW5kb3dzRXJyb3JPYmplY3Q7CisgICAgUHlPYmplY3QgKnZhbHVlOworfSBQeVN0b3BJdGVyYXRpb25PYmplY3Q7CisKKy8qIENvbXBhdGliaWxpdHkgdHlwZWRlZnMgKi8KK3R5cGVkZWYgUHlPU0Vycm9yT2JqZWN0IFB5RW52aXJvbm1lbnRFcnJvck9iamVjdDsKKyNpZmRlZiBNU19XSU5ET1dTCit0eXBlZGVmIFB5T1NFcnJvck9iamVjdCBQeVdpbmRvd3NFcnJvck9iamVjdDsKICNlbmRpZgotI2VuZGlmCisjZW5kaWYgLyogIVB5X0xJTUlURURfQVBJICovCiAKIC8qIEVycm9yIGhhbmRsaW5nIGRlZmluaXRpb25zICovCiAKQEAgLTcwLDcgKzc1LDE3IEBACiBQeUFQSV9GVU5DKHZvaWQpIFB5RXJyX0NsZWFyKHZvaWQpOwogUHlBUElfRlVOQyh2b2lkKSBQeUVycl9GZXRjaChQeU9iamVjdCAqKiwgUHlPYmplY3QgKiosIFB5T2JqZWN0ICoqKTsKIFB5QVBJX0ZVTkModm9pZCkgUHlFcnJfUmVzdG9yZShQeU9iamVjdCAqLCBQeU9iamVjdCAqLCBQeU9iamVjdCAqKTsKLVB5QVBJX0ZVTkModm9pZCkgUHlfRmF0YWxFcnJvcihjb25zdCBjaGFyICptZXNzYWdlKTsKKworI2lmIGRlZmluZWQoX19jbGFuZ19fKSB8fCBcCisgICAgKGRlZmluZWQoX19HTlVDX18pICYmIFwKKyAgICAgKChfX0dOVUNfTUFKT1JfXyA+PSAzKSB8fCBcCisgICAgICAoX19HTlVDX01BSk9SX18gPT0gMikgJiYgKF9fR05VQ19NSU5PUl9fID49IDUpKSkKKyNkZWZpbmUgX1B5X05PX1JFVFVSTiBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKQorI2Vsc2UKKyNkZWZpbmUgX1B5X05PX1JFVFVSTgorI2VuZGlmCisKK1B5QVBJX0ZVTkModm9pZCkgUHlfRmF0YWxFcnJvcihjb25zdCBjaGFyICptZXNzYWdlKSBfUHlfTk9fUkVUVVJOOwogCiAjaWYgZGVmaW5lZChQeV9ERUJVRykgfHwgZGVmaW5lZChQeV9MSU1JVEVEX0FQSSkKICNkZWZpbmUgX1B5RXJyX09DQ1VSUkVEKCkgUHlFcnJfT2NjdXJyZWQoKQpAQCAtOTAsNiArMTA1LDcgQEAKIC8qIENhdXNlIG1hbmlwdWxhdGlvbiAoUEVQIDMxMzQpICovCiBQeUFQSV9GVU5DKFB5T2JqZWN0ICopIFB5RXhjZXB0aW9uX0dldENhdXNlKFB5T2JqZWN0ICopOwogUHlBUElfRlVOQyh2b2lkKSBQeUV4Y2VwdGlvbl9TZXRDYXVzZShQeU9iamVjdCAqLCBQeU9iamVjdCAqKTsKK1B5QVBJX0ZVTkMoaW50KSBfUHlFeGNlcHRpb25fU2V0Q2F1c2VDaGVja2VkKFB5T2JqZWN0ICosIFB5T2JqZWN0ICopOwogCiAvKiBDb250ZXh0IG1hbmlwdWxhdGlvbiAoUEVQIDMxMzQpICovCiBQeUFQSV9GVU5DKFB5T2JqZWN0ICopIFB5RXhjZXB0aW9uX0dldENvbnRleHQoUHlPYmplY3QgKik7CkBAIC0xMjIsMTAgKzEzOCw5IEBACiAKIFB5QVBJX0RBVEEoUHlPYmplY3QgKikgUHlFeGNfQXNzZXJ0aW9uRXJyb3I7CiBQeUFQSV9EQVRBKFB5T2JqZWN0ICopIFB5RXhjX0F0dHJpYnV0ZUVycm9yOworUHlBUElfREFUQShQeU9iamVjdCAqKSBQeUV4Y19CdWZmZXJFcnJvcjsKIFB5QVBJX0RBVEEoUHlPYmplY3QgKikgUHlFeGNfRU9GRXJyb3I7CiBQeUFQSV9EQVRBKFB5T2JqZWN0ICopIFB5RXhjX0Zsb2F0aW5nUG9pbnRFcnJvcjsKLVB5QVBJX0RBVEEoUHlPYmplY3QgKikgUHlFeGNfRW52aXJvbm1lbnRFcnJvcjsKLVB5QVBJX0RBVEEoUHlPYmplY3QgKikgUHlFeGNfSU9FcnJvcjsKIFB5QVBJX0RBVEEoUHlPYmplY3QgKikgUHlFeGNfT1NFcnJvcjsKIFB5QVBJX0RBVEEoUHlPYmplY3QgKikgUHlFeGNfSW1wb3J0RXJyb3I7CiBQeUFQSV9EQVRBKFB5T2JqZWN0ICopIFB5RXhjX0luZGV4RXJyb3I7CkBAIC0xNTAsNiArMTY1LDI3IEBACiBQeUFQSV9EQVRBKFB5T2JqZWN0ICopIFB5RXhjX1VuaWNvZGVUcmFuc2xhdGVFcnJvcjsKIFB5QVBJX0RBVEEoUHlPYmplY3QgKikgUHlFeGNfVmFsdWVFcnJvcjsKIFB5QVBJX0RBVEEoUHlPYmplY3QgKikgUHlFeGNfWmVyb0RpdmlzaW9uRXJyb3I7CisKK1B5QVBJX0RBVEEoUHlPYmplY3QgKikgUHlFeGNfQmxvY2tpbmdJT0Vycm9yOworUHlBUElfREFUQShQeU9iamVjdCAqKSBQeUV4Y19Ccm9rZW5QaXBlRXJyb3I7CitQeUFQSV9EQVRBKFB5T2JqZWN0ICopIFB5RXhjX0NoaWxkUHJvY2Vzc0Vycm9yOworUHlBUElfREFUQShQeU9iamVjdCAqKSBQeUV4Y19Db25uZWN0aW9uRXJyb3I7CitQeUFQSV9EQVRBKFB5T2JqZWN0ICopIFB5RXhjX0Nvbm5lY3Rpb25BYm9ydGVkRXJyb3I7CitQeUFQSV9EQVRBKFB5T2JqZWN0ICopIFB5RXhjX0Nvbm5lY3Rpb25SZWZ1c2VkRXJyb3I7CitQeUFQSV9EQVRBKFB5T2JqZWN0ICopIFB5RXhjX0Nvbm5lY3Rpb25SZXNldEVycm9yOworUHlBUElfREFUQShQeU9iamVjdCAqKSBQeUV4Y19GaWxlRXhpc3RzRXJyb3I7CitQeUFQSV9EQVRBKFB5T2JqZWN0ICopIFB5RXhjX0ZpbGVOb3RGb3VuZEVycm9yOworUHlBUElfREFUQShQeU9iamVjdCAqKSBQeUV4Y19JbnRlcnJ1cHRlZEVycm9yOworUHlBUElfREFUQShQeU9iamVjdCAqKSBQeUV4Y19Jc0FEaXJlY3RvcnlFcnJvcjsKK1B5QVBJX0RBVEEoUHlPYmplY3QgKikgUHlFeGNfTm90QURpcmVjdG9yeUVycm9yOworUHlBUElfREFUQShQeU9iamVjdCAqKSBQeUV4Y19QZXJtaXNzaW9uRXJyb3I7CitQeUFQSV9EQVRBKFB5T2JqZWN0ICopIFB5RXhjX1Byb2Nlc3NMb29rdXBFcnJvcjsKK1B5QVBJX0RBVEEoUHlPYmplY3QgKikgUHlFeGNfVGltZW91dEVycm9yOworCisKKy8qIENvbXBhdGliaWxpdHkgYWxpYXNlcyAqLworUHlBUElfREFUQShQeU9iamVjdCAqKSBQeUV4Y19FbnZpcm9ubWVudEVycm9yOworUHlBUElfREFUQShQeU9iamVjdCAqKSBQeUV4Y19JT0Vycm9yOwogI2lmZGVmIE1TX1dJTkRPV1MKIFB5QVBJX0RBVEEoUHlPYmplY3QgKikgUHlFeGNfV2luZG93c0Vycm9yOwogI2VuZGlmCkBAIC0xNTcsOCArMTkzLDYgQEAKIFB5QVBJX0RBVEEoUHlPYmplY3QgKikgUHlFeGNfVk1TRXJyb3I7CiAjZW5kaWYKIAotUHlBUElfREFUQShQeU9iamVjdCAqKSBQeUV4Y19CdWZmZXJFcnJvcjsKLQogUHlBUElfREFUQShQeU9iamVjdCAqKSBQeUV4Y19SZWN1cnNpb25FcnJvckluc3Q7CiAKIC8qIFByZWRlZmluZWQgd2FybmluZyBjYXRlZ29yaWVzICovCkBAIC0xOTgsOCArMjMyLDYgQEAKICAgICApOwogCiAjaWZkZWYgTVNfV0lORE9XUwotUHlBUElfRlVOQyhQeU9iamVjdCAqKSBQeUVycl9TZXRGcm9tV2luZG93c0VycldpdGhGaWxlbmFtZU9iamVjdCgKLSAgICBpbnQsIGNvbnN0IGNoYXIgKik7CiBQeUFQSV9GVU5DKFB5T2JqZWN0ICopIFB5RXJyX1NldEZyb21XaW5kb3dzRXJyV2l0aEZpbGVuYW1lKAogICAgIGludCBpZXJyLAogICAgIGNvbnN0IGNoYXIgKmZpbGVuYW1lICAgICAgICAvKiBkZWNvZGVkIGZyb20gdGhlIGZpbGVzeXN0ZW0gZW5jb2RpbmcgKi8KQEAgLTI5Myw2ICszMjUsMTIgQEAKICAgICBQeV9zc2l6ZV90IGVuZCwKICAgICBjb25zdCBjaGFyICpyZWFzb24gICAgICAgICAgLyogVVRGLTggZW5jb2RlZCBzdHJpbmcgKi8KICAgICApOworUHlBUElfRlVOQyhQeU9iamVjdCAqKSBfUHlVbmljb2RlVHJhbnNsYXRlRXJyb3JfQ3JlYXRlKAorICAgIFB5T2JqZWN0ICpvYmplY3QsCisgICAgUHlfc3NpemVfdCBzdGFydCwKKyAgICBQeV9zc2l6ZV90IGVuZCwKKyAgICBjb25zdCBjaGFyICpyZWFzb24gICAgICAgICAgLyogVVRGLTggZW5jb2RlZCBzdHJpbmcgKi8KKyAgICApOwogI2VuZGlmCiAKIC8qIGdldCB0aGUgZW5jb2RpbmcgYXR0cmlidXRlICovCkBAIC0zNDgsNiArMzg2LDggQEAKICAgICBjb25zdCBjaGFyICpyZWFzb24gICAgICAgICAgLyogVVRGLTggZW5jb2RlZCBzdHJpbmcgKi8KICAgICApOwogCisvKiBjcmVhdGUgYSBTdG9wSXRlcmF0aW9uIGV4Y2VwdGlvbiB3aXRoIHRoZSBnaXZlbiB2YWx1ZSAqLworUHlBUElfRlVOQyhQeU9iamVjdCAqKSBQeVN0b3BJdGVyYXRpb25fQ3JlYXRlKFB5T2JqZWN0ICopOwogCiAvKiBUaGVzZSBBUElzIGFyZW4ndCByZWFsbHkgcGFydCBvZiB0aGUgZXJyb3IgaW1wbGVtZW50YXRpb24sIGJ1dAogICAgb2Z0ZW4gbmVlZGVkIHRvIGZvcm1hdCBlcnJvciBtZXNzYWdlczsgdGhlIG5hdGl2ZSBDIGxpYiBBUElzIGFyZQpkaWZmIC0tZ2l0IGEvSW5jbHVkZS9weW1hY3JvLmggYi9JbmNsdWRlL3B5bWFjcm8uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZGMwYzYxCi0tLSAvZGV2L251bGwKKysrIGIvSW5jbHVkZS9weW1hY3JvLmgKQEAgLTAsMCArMSw1NSBAQAorI2lmbmRlZiBQeV9QWU1BQ1JPX0gKKyNkZWZpbmUgUHlfUFlNQUNST19ICisKKyNkZWZpbmUgUHlfTUlOKHgsIHkpICgoKHgpID4gKHkpKSA/ICh5KSA6ICh4KSkKKyNkZWZpbmUgUHlfTUFYKHgsIHkpICgoKHgpID4gKHkpKSA/ICh4KSA6ICh5KSkKKworLyogQXJndW1lbnQgbXVzdCBiZSBhIGNoYXIgb3IgYW4gaW50IGluIFstMTI4LCAxMjddIG9yIFswLCAyNTVdLiAqLworI2RlZmluZSBQeV9DSEFSTUFTSyhjKSAoKHVuc2lnbmVkIGNoYXIpKChjKSAmIDB4ZmYpKQorCisKKy8qIEFzc2VydCBhIGJ1aWxkLXRpbWUgZGVwZW5kZW5jeSwgYXMgYW4gZXhwcmVzc2lvbi4KKworICAgWW91ciBjb21waWxlIHdpbGwgZmFpbCBpZiB0aGUgY29uZGl0aW9uIGlzbid0IHRydWUsIG9yIGNhbid0IGJlIGV2YWx1YXRlZAorICAgYnkgdGhlIGNvbXBpbGVyLiBUaGlzIGNhbiBiZSB1c2VkIGluIGFuIGV4cHJlc3Npb246IGl0cyB2YWx1ZSBpcyAwLgorCisgICBFeGFtcGxlOgorCisgICAjZGVmaW5lIGZvb190b19jaGFyKGZvbykgIFwKKyAgICAgICAoKGNoYXIgKikoZm9vKSAgICAgICAgXAorICAgICAgICArIFB5X0JVSUxEX0FTU0VSVF9FWFBSKG9mZnNldG9mKHN0cnVjdCBmb28sIHN0cmluZykgPT0gMCkpCisKKyAgIFdyaXR0ZW4gYnkgUnVzdHkgUnVzc2VsbCwgcHVibGljIGRvbWFpbiwgaHR0cDovL2Njb2RlYXJjaGl2ZS5uZXQvICovCisjZGVmaW5lIFB5X0JVSUxEX0FTU0VSVF9FWFBSKGNvbmQpIFwKKyAgICAoc2l6ZW9mKGNoYXIgWzEgLSAyKiEoY29uZCldKSAtIDEpCisKKy8qIEdldCB0aGUgbnVtYmVyIG9mIGVsZW1lbnRzIGluIGEgdmlzaWJsZSBhcnJheQorCisgICBUaGlzIGRvZXMgbm90IHdvcmsgb24gcG9pbnRlcnMsIG9yIGFycmF5cyBkZWNsYXJlZCBhcyBbXSwgb3IgZnVuY3Rpb24KKyAgIHBhcmFtZXRlcnMuIFdpdGggY29ycmVjdCBjb21waWxlciBzdXBwb3J0LCBzdWNoIHVzYWdlIHdpbGwgY2F1c2UgYSBidWlsZAorICAgZXJyb3IgKHNlZSBQeV9CVUlMRF9BU1NFUlRfRVhQUikuCisKKyAgIFdyaXR0ZW4gYnkgUnVzdHkgUnVzc2VsbCwgcHVibGljIGRvbWFpbiwgaHR0cDovL2Njb2RlYXJjaGl2ZS5uZXQvICovCisjaWYgZGVmaW5lZChfX0dOVUNfXykKKy8qIFR3byBnY2MgZXh0ZW5zaW9ucy4KKyAgICZhWzBdIGRlZ3JhZGVzIHRvIGEgcG9pbnRlcjogYSBkaWZmZXJlbnQgdHlwZSBmcm9tIGFuIGFycmF5ICovCisjZGVmaW5lIFB5X0FSUkFZX0xFTkdUSChhcnJheSkgXAorICAgIChzaXplb2YoYXJyYXkpIC8gc2l6ZW9mKChhcnJheSlbMF0pIFwKKyAgICAgKyBQeV9CVUlMRF9BU1NFUlRfRVhQUighX19idWlsdGluX3R5cGVzX2NvbXBhdGlibGVfcCh0eXBlb2YoYXJyYXkpLCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZW9mKCYoYXJyYXkpWzBdKSkpKQorI2Vsc2UKKyNkZWZpbmUgUHlfQVJSQVlfTEVOR1RIKGFycmF5KSBcCisgICAgKHNpemVvZihhcnJheSkgLyBzaXplb2YoKGFycmF5KVswXSkpCisjZW5kaWYKKworCisvKiBEZWZpbmUgbWFjcm9zIGZvciBpbmxpbmUgZG9jdW1lbnRhdGlvbi4gKi8KKyNkZWZpbmUgUHlEb2NfVkFSKG5hbWUpIHN0YXRpYyBjaGFyIG5hbWVbXQorI2RlZmluZSBQeURvY19TVFJWQVIobmFtZSxzdHIpIFB5RG9jX1ZBUihuYW1lKSA9IFB5RG9jX1NUUihzdHIpCisjaWZkZWYgV0lUSF9ET0NfU1RSSU5HUworI2RlZmluZSBQeURvY19TVFIoc3RyKSBzdHIKKyNlbHNlCisjZGVmaW5lIFB5RG9jX1NUUihzdHIpICIiCisjZW5kaWYKKworI2VuZGlmIC8qIFB5X1BZTUFDUk9fSCAqLwpkaWZmIC0tZ2l0IGEvSW5jbHVkZS9weW1hdGguaCBiL0luY2x1ZGUvcHltYXRoLmgKaW5kZXggYjRlZGE2Ni4uNjJhNmM0MiAxMDA2NDQKLS0tIGEvSW5jbHVkZS9weW1hdGguaAorKysgYi9JbmNsdWRlL3B5bWF0aC5oCkBAIC0zNywxMiArMzcsNiBAQAogI2VuZGlmIC8qIF9fU1REQ19fICovCiAjZW5kaWYgLyogX01TQ19WRVIgKi8KIAotI2lmZGVmIF9PU0ZfU09VUkNFCi0vKiBPU0YxIDUuMSBkb2Vzbid0IG1ha2UgdGhlc2UgYXZhaWxhYmxlIHdpdGggWE9QRU5fU09VUkNFX0VYVEVOREVEIGRlZmluZWQgKi8KLWV4dGVybiBpbnQgZmluaXRlKGRvdWJsZSk7Ci1leHRlcm4gZG91YmxlIGNvcHlzaWduKGRvdWJsZSwgZG91YmxlKTsKLSNlbmRpZgotCiAvKiBIaWdoIHByZWNpc2lvbiBkZWZpbnRpb24gb2YgcGkgYW5kIGUgKEV1bGVyKQogICogVGhlIHZhbHVlcyBhcmUgdGFrZW4gZnJvbSBsaWJjNidzIG1hdGguaC4KICAqLwpkaWZmIC0tZ2l0IGEvSW5jbHVkZS9weXBvcnQuaCBiL0luY2x1ZGUvcHlwb3J0LmgKaW5kZXggMjY5YmE2OC4uMWZkNGRjYyAxMDA2NDQKLS0tIGEvSW5jbHVkZS9weXBvcnQuaAorKysgYi9JbmNsdWRlL3B5cG9ydC5oCkBAIC0xMzUsNyArMTM1LDcgQEAKICNkZWZpbmUgX1B5SEFTSF9NVUxUSVBMSUVSIDEwMDAwMDMgIC8qIDB4ZjQyNDMgKi8KIAogLyogUGFyYW1ldGVycyB1c2VkIGZvciB0aGUgbnVtZXJpYyBoYXNoIGltcGxlbWVudGF0aW9uLiAgU2VlIG5vdGVzIGZvcgotICAgX1B5SGFzaF9Eb3VibGUgaW4gT2JqZWN0cy9vYmplY3QuYy4gIE51bWVyaWMgaGFzaGVzIGFyZSBiYXNlZCBvbgorICAgX1B5X0hhc2hEb3VibGUgaW4gT2JqZWN0cy9vYmplY3QuYy4gIE51bWVyaWMgaGFzaGVzIGFyZSBiYXNlZCBvbgogICAgcmVkdWN0aW9uIG1vZHVsbyB0aGUgcHJpbWUgMioqX1B5SEFTSF9CSVRTIC0gMS4gKi8KIAogI2lmIFNJWkVPRl9WT0lEX1AgPj0gOApkaWZmIC0tZ2l0IGEvSW5jbHVkZS9weXN0YXRlLmggYi9JbmNsdWRlL3B5c3RhdGUuaAppbmRleCBiNWZlMWFkLi4xYmJiNGUyIDEwMDY0NAotLS0gYS9JbmNsdWRlL3B5c3RhdGUuaAorKysgYi9JbmNsdWRlL3B5c3RhdGUuaApAQCAtNzQsOSArNzQsOSBAQAogICAgIHN0cnVjdCBfZnJhbWUgKmZyYW1lOwogICAgIGludCByZWN1cnNpb25fZGVwdGg7CiAgICAgY2hhciBvdmVyZmxvd2VkOyAvKiBUaGUgc3RhY2sgaGFzIG92ZXJmbG93ZWQuIEFsbG93IDUwIG1vcmUgY2FsbHMKLQkJICAgICAgICB0byBoYW5kbGUgdGhlIHJ1bnRpbWUgZXJyb3IuICovCi0gICAgY2hhciByZWN1cnNpb25fY3JpdGljYWw7IC8qIFRoZSBjdXJyZW50IGNhbGxzIG11c3Qgbm90IGNhdXNlIAotCQkJCWEgc3RhY2sgb3ZlcmZsb3cuICovCisgICAgICAgICAgICAgICAgICAgICAgICB0byBoYW5kbGUgdGhlIHJ1bnRpbWUgZXJyb3IuICovCisgICAgY2hhciByZWN1cnNpb25fY3JpdGljYWw7IC8qIFRoZSBjdXJyZW50IGNhbGxzIG11c3Qgbm90IGNhdXNlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEgc3RhY2sgb3ZlcmZsb3cuICovCiAgICAgLyogJ3RyYWNpbmcnIGtlZXBzIHRyYWNrIG9mIHRoZSBleGVjdXRpb24gZGVwdGggd2hlbiB0cmFjaW5nL3Byb2ZpbGluZy4KICAgICAgICBUaGlzIGlzIHRvIHByZXZlbnQgdGhlIGFjdHVhbCB0cmFjZS9wcm9maWxlIGNvZGUgZnJvbSBiZWluZyByZWNvcmRlZCBpbgogICAgICAgIHRoZSB0cmFjZS9wcm9maWxlLiAqLwpAQCAtMTYwLDYgKzE2MCw4IEBACiAgICAgZW51bSB7UHlHSUxTdGF0ZV9MT0NLRUQsIFB5R0lMU3RhdGVfVU5MT0NLRUR9CiAgICAgICAgIFB5R0lMU3RhdGVfU1RBVEU7CiAKKyNpZmRlZiBXSVRIX1RIUkVBRAorCiAvKiBFbnN1cmUgdGhhdCB0aGUgY3VycmVudCB0aHJlYWQgaXMgcmVhZHkgdG8gY2FsbCB0aGUgUHl0aG9uCiAgICBDIEFQSSwgcmVnYXJkbGVzcyBvZiB0aGUgY3VycmVudCBzdGF0ZSBvZiBQeXRob24sIG9yIG9mIGl0cwogICAgdGhyZWFkIGxvY2suICBUaGlzIG1heSBiZSBjYWxsZWQgYXMgbWFueSB0aW1lcyBhcyBkZXNpcmVkCkBAIC0yMDEsNiArMjAzLDggQEAKICovCiBQeUFQSV9GVU5DKFB5VGhyZWFkU3RhdGUgKikgUHlHSUxTdGF0ZV9HZXRUaGlzVGhyZWFkU3RhdGUodm9pZCk7CiAKKyNlbmRpZiAgIC8qICNpZmRlZiBXSVRIX1RIUkVBRCAqLworCiAvKiBUaGUgaW1wbGVtZW50YXRpb24gb2Ygc3lzLl9jdXJyZW50X2ZyYW1lcygpICBSZXR1cm5zIGEgZGljdCBtYXBwaW5nCiAgICB0aHJlYWQgaWQgdG8gdGhhdCB0aHJlYWQncyBjdXJyZW50IGZyYW1lLgogKi8KZGlmZiAtLWdpdCBhL0luY2x1ZGUvcHl0aG9ucnVuLmggYi9JbmNsdWRlL3B5dGhvbnJ1bi5oCmluZGV4IGUyNDRjZTcuLjc0YWI5ODYgMTAwNjQ0Ci0tLSBhL0luY2x1ZGUvcHl0aG9ucnVuLmgKKysrIGIvSW5jbHVkZS9weXRob25ydW4uaApAQCAtMTc5LDkgKzE3OSw2IEBACiBQeUFQSV9GVU5DKGNvbnN0IGNoYXIgKikgUHlfR2V0Q29tcGlsZXIodm9pZCk7CiBQeUFQSV9GVU5DKGNvbnN0IGNoYXIgKikgUHlfR2V0QnVpbGRJbmZvKHZvaWQpOwogI2lmbmRlZiBQeV9MSU1JVEVEX0FQSQotUHlBUElfRlVOQyhjb25zdCBjaGFyICopIF9QeV9zdm52ZXJzaW9uKHZvaWQpOwotUHlBUElfRlVOQyhjb25zdCBjaGFyICopIFB5X1N1YnZlcnNpb25SZXZpc2lvbih2b2lkKTsKLVB5QVBJX0ZVTkMoY29uc3QgY2hhciAqKSBQeV9TdWJ2ZXJzaW9uU2hvcnRCcmFuY2godm9pZCk7CiBQeUFQSV9GVU5DKGNvbnN0IGNoYXIgKikgX1B5X2hnaWRlbnRpZmllcih2b2lkKTsKIFB5QVBJX0ZVTkMoY29uc3QgY2hhciAqKSBfUHlfaGd2ZXJzaW9uKHZvaWQpOwogI2VuZGlmCkBAIC0yMTUsNiArMjEyLDcgQEAKIFB5QVBJX0ZVTkModm9pZCkgUHlGbG9hdF9GaW5pKHZvaWQpOwogUHlBUElfRlVOQyh2b2lkKSBQeU9TX0ZpbmlJbnRlcnJ1cHRzKHZvaWQpOwogUHlBUElfRlVOQyh2b2lkKSBfUHlHQ19GaW5pKHZvaWQpOworUHlBUElfRlVOQyh2b2lkKSBQeVNsaWNlX0Zpbmkodm9pZCk7CiAKIFB5QVBJX0RBVEEoUHlUaHJlYWRTdGF0ZSAqKSBfUHlfRmluYWxpemluZzsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvSW5jbHVkZS9weXRocmVhZC5oIGIvSW5jbHVkZS9weXRocmVhZC5oCmluZGV4IDk4MDZjNjEuLjZlOWYzMDMgMTAwNjQ0Ci0tLSBhL0luY2x1ZGUvcHl0aHJlYWQuaAorKysgYi9JbmNsdWRlL3B5dGhyZWFkLmgKQEAgLTMyLDcgKzMyLDcgQEAKICAgIG9uIGEgbG9jayAoc2VlIFB5VGhyZWFkX2FjcXVpcmVfbG9ja190aW1lZCgpIGJlbG93KS4KICAgIFBZX1RJTUVPVVRfTUFYIGlzIHRoZSBoaWdoZXN0IHVzYWJsZSB2YWx1ZSAoaW4gbWljcm9zZWNvbmRzKSBvZiB0aGF0CiAgICB0eXBlLCBhbmQgZGVwZW5kcyBvbiB0aGUgc3lzdGVtIHRocmVhZGluZyBBUEkuCi0gICAKKwogICAgTk9URTogdGhpcyBpc24ndCB0aGUgc2FtZSB2YWx1ZSBhcyBgX3RocmVhZC5USU1FT1VUX01BWGAuICBUaGUgX3RocmVhZAogICAgbW9kdWxlIGV4cG9zZXMgYSBoaWdoZXItbGV2ZWwgQVBJLCB3aXRoIHRpbWVvdXRzIGV4cHJlc3NlZCBpbiBzZWNvbmRzCiAgICBhbmQgZmxvYXRpbmctcG9pbnQgbnVtYmVycyBhbGxvd2VkLgpAQCAtNzQsNiArNzQsOCBAQAogUHlBUElfRlVOQyhzaXplX3QpIFB5VGhyZWFkX2dldF9zdGFja3NpemUodm9pZCk7CiBQeUFQSV9GVU5DKGludCkgUHlUaHJlYWRfc2V0X3N0YWNrc2l6ZShzaXplX3QpOwogCitQeUFQSV9GVU5DKFB5T2JqZWN0KikgUHlUaHJlYWRfR2V0SW5mbyh2b2lkKTsKKwogLyogVGhyZWFkIExvY2FsIFN0b3JhZ2UgKFRMUykgQVBJICovCiBQeUFQSV9GVU5DKGludCkgUHlUaHJlYWRfY3JlYXRlX2tleSh2b2lkKTsKIFB5QVBJX0ZVTkModm9pZCkgUHlUaHJlYWRfZGVsZXRlX2tleShpbnQpOwpkaWZmIC0tZ2l0IGEvSW5jbHVkZS9weXRpbWUuaCBiL0luY2x1ZGUvcHl0aW1lLmgKaW5kZXggZDcwN2JkYi4uMDQ3M2RjNyAxMDA2NDQKLS0tIGEvSW5jbHVkZS9weXRpbWUuaAorKysgYi9JbmNsdWRlL3B5dGltZS5oCkBAIC0zLDYgKzMsNyBAQAogI2RlZmluZSBQeV9QWVRJTUVfSAogCiAjaW5jbHVkZSAicHljb25maWcuaCIgLyogaW5jbHVkZSBmb3IgZGVmaW5lcyAqLworI2luY2x1ZGUgIm9iamVjdC5oIgogCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIFN5bWJvbHMgYW5kIG1hY3JvcyB0byBzdXBwbHkgcGxhdGZvcm0taW5kZXBlbmRlbnQgaW50ZXJmYWNlcyB0byB0aW1lIHJlbGF0ZWQKQEAgLTM3LDYgKzM4LDI5IEBACiAgICAgKCh0dl9lbmQudHZfc2VjIC0gdHZfc3RhcnQudHZfc2VjKSArIFwKICAgICAgKHR2X2VuZC50dl91c2VjIC0gdHZfc3RhcnQudHZfdXNlYykgKiAwLjAwMDAwMSkKIAorI2lmbmRlZiBQeV9MSU1JVEVEX0FQSQorLyogQ29udmVydCBhIG51bWJlciBvZiBzZWNvbmRzLCBpbnQgb3IgZmxvYXQsIHRvIHRpbWVfdC4gKi8KK1B5QVBJX0ZVTkMoaW50KSBfUHlUaW1lX09iamVjdFRvVGltZV90KAorICAgIFB5T2JqZWN0ICpvYmosCisgICAgdGltZV90ICpzZWMpOworCisvKiBDb252ZXJ0IGEgbnVtYmVyIG9mIHNlY29uZHMsIGludCBvciBmbG9hdCwgdG8gYSB0aW1ldmFsIHN0cnVjdHVyZS4KKyAgIHVzZWMgaXMgaW4gdGhlIHJhbmdlIFswOyA5OTk5OTldIGFuZCByb3VuZGVkIHRvd2FyZHMgemVyby4KKyAgIEZvciBleGFtcGxlLCAtMS4yIGlzIGNvbnZlcnRlZCB0byAoLTIsIDgwMDAwMCkuICovCitQeUFQSV9GVU5DKGludCkgX1B5VGltZV9PYmplY3RUb1RpbWV2YWwoCisgICAgUHlPYmplY3QgKm9iaiwKKyAgICB0aW1lX3QgKnNlYywKKyAgICBsb25nICp1c2VjKTsKKworLyogQ29udmVydCBhIG51bWJlciBvZiBzZWNvbmRzLCBpbnQgb3IgZmxvYXQsIHRvIGEgdGltZXNwZWMgc3RydWN0dXJlLgorICAgbnNlYyBpcyBpbiB0aGUgcmFuZ2UgWzA7IDk5OTk5OTk5OV0gYW5kIHJvdW5kZWQgdG93YXJkcyB6ZXJvLgorICAgRm9yIGV4YW1wbGUsIC0xLjIgaXMgY29udmVydGVkIHRvICgtMiwgODAwMDAwMDAwKS4gKi8KK1B5QVBJX0ZVTkMoaW50KSBfUHlUaW1lX09iamVjdFRvVGltZXNwZWMoCisgICAgUHlPYmplY3QgKm9iaiwKKyAgICB0aW1lX3QgKnNlYywKKyAgICBsb25nICpuc2VjKTsKKyNlbmRpZgorCiAvKiBEdW1teSB0byBmb3JjZSBsaW5raW5nLiAqLwogUHlBUElfRlVOQyh2b2lkKSBfUHlUaW1lX0luaXQodm9pZCk7CiAKZGlmZiAtLWdpdCBhL0luY2x1ZGUvc2V0b2JqZWN0LmggYi9JbmNsdWRlL3NldG9iamVjdC5oCmluZGV4IDYyMzQxMTEuLjAwZTUzNDQgMTAwNjQ0Ci0tLSBhL0luY2x1ZGUvc2V0b2JqZWN0LmgKKysrIGIvSW5jbHVkZS9zZXRvYmplY3QuaApAQCAtOTksNiArOTksOCBAQAogUHlBUElfRlVOQyhQeU9iamVjdCAqKSBQeVNldF9Qb3AoUHlPYmplY3QgKnNldCk7CiAjaWZuZGVmIFB5X0xJTUlURURfQVBJCiBQeUFQSV9GVU5DKGludCkgX1B5U2V0X1VwZGF0ZShQeU9iamVjdCAqc2V0LCBQeU9iamVjdCAqaXRlcmFibGUpOworCitQeUFQSV9GVU5DKGludCkgUHlTZXRfQ2xlYXJGcmVlTGlzdCh2b2lkKTsKICNlbmRpZgogCiAjaWZkZWYgX19jcGx1c3BsdXMKZGlmZiAtLWdpdCBhL0luY2x1ZGUvc3RydWN0bWVtYmVyLmggYi9JbmNsdWRlL3N0cnVjdG1lbWJlci5oCmluZGV4IDBiODViMmEuLjQwYzA0ZTkgMTAwNjQ0Ci0tLSBhL0luY2x1ZGUvc3RydWN0bWVtYmVyLmgKKysrIGIvSW5jbHVkZS9zdHJ1Y3RtZW1iZXIuaApAQCAtOSwxNiArOSw2IEBACiAKICNpbmNsdWRlIDxzdGRkZWYuaD4gLyogRm9yIG9mZnNldG9mICovCiAKLS8qIFRoZSBvZmZzZXRvZigpIG1hY3JvIGNhbGN1bGF0ZXMgdGhlIG9mZnNldCBvZiBhIHN0cnVjdHVyZSBtZW1iZXIKLSAgIGluIGl0cyBzdHJ1Y3R1cmUuICBVbmZvcnR1bmF0ZWx5IHRoaXMgY2Fubm90IGJlIHdyaXR0ZW4gZG93bgotICAgcG9ydGFibHksIGhlbmNlIGl0IGlzIHByb3ZpZGVkIGJ5IGEgU3RhbmRhcmQgQyBoZWFkZXIgZmlsZS4KLSAgIEZvciBwcmUtU3RhbmRhcmQgQyBjb21waWxlcnMsIGhlcmUgaXMgYSB2ZXJzaW9uIHRoYXQgdXN1YWxseSB3b3JrcwotICAgKGJ1dCB3YXRjaCBvdXQhKTogKi8KLQotI2lmbmRlZiBvZmZzZXRvZgotI2RlZmluZSBvZmZzZXRvZih0eXBlLCBtZW1iZXIpICggKGludCkgJiAoKHR5cGUqKTApIC0+IG1lbWJlciApCi0jZW5kaWYKLQogLyogQW4gYXJyYXkgb2YgUHlNZW1iZXJEZWYgc3RydWN0dXJlcyBkZWZpbmVzIHRoZSBuYW1lLCB0eXBlIGFuZCBvZmZzZXQKICAgIG9mIHNlbGVjdGVkIG1lbWJlcnMgb2YgYSBDIHN0cnVjdHVyZS4gIFRoZXNlIGNhbiBiZSByZWFkIGJ5CiAgICBQeU1lbWJlcl9HZXRPbmUoKSBhbmQgc2V0IGJ5IFB5TWVtYmVyX1NldE9uZSgpIChleGNlcHQgaWYgdGhlaXIgUkVBRE9OTFkKZGlmZiAtLWdpdCBhL0luY2x1ZGUvc3ltdGFibGUuaCBiL0luY2x1ZGUvc3ltdGFibGUuaAppbmRleCBmZDdkZTA0Li44MmY2MjY5IDEwMDY0NAotLS0gYS9JbmNsdWRlL3N5bXRhYmxlLmgKKysrIGIvSW5jbHVkZS9zeW10YWJsZS5oCkBAIC0yMywxMCArMjMsMTMgQEAKICAgICBQeU9iamVjdCAqc3RfYmxvY2tzOyAgICAgICAgICAgIC8qIGRpY3Q6IG1hcCBBU1Qgbm9kZSBhZGRyZXNzZXMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqICAgICAgIHRvIHN5bWJvbCB0YWJsZSBlbnRyaWVzICovCiAgICAgUHlPYmplY3QgKnN0X3N0YWNrOyAgICAgICAgICAgICAvKiBsaXN0OiBzdGFjayBvZiBuYW1lc3BhY2UgaW5mbyAqLwotICAgIFB5T2JqZWN0ICpzdF9nbG9iYWw7ICAgICAgICAgICAgLyogYm9ycm93ZWQgcmVmIHRvIHN0X3RvcC0+c3Rfc3ltYm9scyAqLwotICAgIGludCBzdF9uYmxvY2tzOyAgICAgICAgICAgICAgICAgLyogbnVtYmVyIG9mIGJsb2NrcyB1c2VkICovCisgICAgUHlPYmplY3QgKnN0X2dsb2JhbDsgICAgICAgICAgICAvKiBib3Jyb3dlZCByZWYgdG8gc3RfdG9wLT5zdGVfc3ltYm9scyAqLworICAgIGludCBzdF9uYmxvY2tzOyAgICAgICAgICAgICAgICAgLyogbnVtYmVyIG9mIGJsb2NrcyB1c2VkLiBrZXB0IGZvcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc2lzdGVuY3kgd2l0aCB0aGUgY29ycmVzcG9uZGluZworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcGlsZXIgc3RydWN0dXJlICovCiAgICAgUHlPYmplY3QgKnN0X3ByaXZhdGU7ICAgICAgICAgICAvKiBuYW1lIG9mIGN1cnJlbnQgY2xhc3Mgb3IgTlVMTCAqLwotICAgIFB5RnV0dXJlRmVhdHVyZXMgKnN0X2Z1dHVyZTsgICAgLyogbW9kdWxlJ3MgZnV0dXJlIGZlYXR1cmVzICovCisgICAgUHlGdXR1cmVGZWF0dXJlcyAqc3RfZnV0dXJlOyAgICAvKiBtb2R1bGUncyBmdXR1cmUgZmVhdHVyZXMgdGhhdCBhZmZlY3QKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBzeW1ib2wgdGFibGUgKi8KIH07CiAKIHR5cGVkZWYgc3RydWN0IF9zeW10YWJsZV9lbnRyeSB7CkBAIC0zNCw3ICszNyw3IEBACiAgICAgUHlPYmplY3QgKnN0ZV9pZDsgICAgICAgIC8qIGludDoga2V5IGluIHN0ZV90YWJsZS0+c3RfYmxvY2tzICovCiAgICAgUHlPYmplY3QgKnN0ZV9zeW1ib2xzOyAgIC8qIGRpY3Q6IHZhcmlhYmxlIG5hbWVzIHRvIGZsYWdzICovCiAgICAgUHlPYmplY3QgKnN0ZV9uYW1lOyAgICAgIC8qIHN0cmluZzogbmFtZSBvZiBjdXJyZW50IGJsb2NrICovCi0gICAgUHlPYmplY3QgKnN0ZV92YXJuYW1lczsgIC8qIGxpc3Qgb2YgdmFyaWFibGUgbmFtZXMgKi8KKyAgICBQeU9iamVjdCAqc3RlX3Zhcm5hbWVzOyAgLyogbGlzdCBvZiBmdW5jdGlvbiBwYXJhbWV0ZXJzICovCiAgICAgUHlPYmplY3QgKnN0ZV9jaGlsZHJlbjsgIC8qIGxpc3Qgb2YgY2hpbGQgYmxvY2tzICovCiAgICAgX1B5X2Jsb2NrX3R5IHN0ZV90eXBlOyAgIC8qIG1vZHVsZSwgY2xhc3MsIG9yIGZ1bmN0aW9uICovCiAgICAgaW50IHN0ZV91bm9wdGltaXplZDsgICAgIC8qIGZhbHNlIGlmIG5hbWVzcGFjZSBpcyBvcHRpbWl6ZWQgKi8KZGlmZiAtLWdpdCBhL0luY2x1ZGUvdGltZWZ1bmNzLmggYi9JbmNsdWRlL3RpbWVmdW5jcy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzYzQzNTc1Li4wMDAwMDAwCi0tLSBhL0luY2x1ZGUvdGltZWZ1bmNzLmgKKysrIC9kZXYvbnVsbApAQCAtMSwyNSArMCwwIEBACi0vKiAgdGltZWZ1bmNzLmgKLSAqLwotCi0vKiBVdGlsaXR5IGZ1bmN0aW9uIHJlbGF0ZWQgdG8gdGltZW1vZHVsZS5jLiAqLwotCi0jaWZuZGVmIFRJTUVGVU5DU19ICi0jZGVmaW5lIFRJTUVGVU5DU19ICi0jaWZkZWYgX19jcGx1c3BsdXMKLWV4dGVybiAiQyIgewotI2VuZGlmCi0KLQotLyogQ2FzdCBkb3VibGUgeCB0byB0aW1lX3QsIGJ1dCByYWlzZSBWYWx1ZUVycm9yIGlmIHggaXMgdG9vIGxhcmdlCi0gKiB0byBmaXQgaW4gYSB0aW1lX3QuICBWYWx1ZUVycm9yIGlzIHNldCBvbiByZXR1cm4gaWZmIHRoZSByZXR1cm4KLSAqIHZhbHVlIGlzICh0aW1lX3QpLTEgYW5kIFB5RXJyX09jY3VycmVkKCkuCi0gKi8KLSNpZm5kZWYgUHlfTElNSVRFRF9BUEkKLVB5QVBJX0ZVTkModGltZV90KSBfUHlUaW1lX0RvdWJsZVRvVGltZXQoZG91YmxlIHgpOwotI2VuZGlmCi0KLQotI2lmZGVmIF9fY3BsdXNwbHVzCi19Ci0jZW5kaWYKLSNlbmRpZiAgLyogVElNRUZVTkNTX0ggKi8KZGlmZiAtLWdpdCBhL0luY2x1ZGUvdHJhY2ViYWNrLmggYi9JbmNsdWRlL3RyYWNlYmFjay5oCmluZGV4IDY5ZTNkMDUuLjc3MzQ3MDcgMTAwNjQ0Ci0tLSBhL0luY2x1ZGUvdHJhY2ViYWNrLmgKKysrIGIvSW5jbHVkZS90cmFjZWJhY2suaApAQCAtNSw2ICs1LDggQEAKIGV4dGVybiAiQyIgewogI2VuZGlmCiAKKyNpbmNsdWRlICJweXN0YXRlLmgiCisKIHN0cnVjdCBfZnJhbWU7CiAKIC8qIFRyYWNlYmFjayBpbnRlcmZhY2UgKi8KQEAgLTI4LDYgKzMwLDQyIEBACiBQeUFQSV9EQVRBKFB5VHlwZU9iamVjdCkgUHlUcmFjZUJhY2tfVHlwZTsKICNkZWZpbmUgUHlUcmFjZUJhY2tfQ2hlY2sodikgKFB5X1RZUEUodikgPT0gJlB5VHJhY2VCYWNrX1R5cGUpCiAKKy8qIFdyaXRlIHRoZSBQeXRob24gdHJhY2ViYWNrIGludG8gdGhlIGZpbGUgJ2ZkJy4gRm9yIGV4YW1wbGU6CisKKyAgICAgICBUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgZmlyc3QpOgorICAgICAgICAgRmlsZSAieHh4IiwgbGluZSB4eHggaW4gPHh4eD4KKyAgICAgICAgIEZpbGUgInh4eCIsIGxpbmUgeHh4IGluIDx4eHg+CisgICAgICAgICAuLi4KKyAgICAgICAgIEZpbGUgInh4eCIsIGxpbmUgeHh4IGluIDx4eHg+CisKKyAgIFRoaXMgZnVuY3Rpb24gaXMgd3JpdHRlbiBmb3IgZGVidWcgcHVycG9zZSBvbmx5LCB0byBkdW1wIHRoZSB0cmFjZWJhY2sgaW4KKyAgIHRoZSB3b3JzdCBjYXNlOiBhZnRlciBhIHNlZ21lbnRhdGlvbiBmYXVsdCwgYXQgZmF0YWwgZXJyb3IsIGV0Yy4gVGhhdCdzIHdoeSwKKyAgIGl0IGlzIHZlcnkgbGltaXRlZC4gU3RyaW5ncyBhcmUgdHJ1bmNhdGVkIHRvIDEwMCBjaGFyYWN0ZXJzIGFuZCBlbmNvZGVkIHRvCisgICBBU0NJSSB3aXRoIGJhY2tzbGFzaHJlcGxhY2UuIEl0IGRvZXNuJ3Qgd3JpdGUgdGhlIHNvdXJjZSBjb2RlLCBvbmx5IHRoZQorICAgZnVuY3Rpb24gbmFtZSwgZmlsZW5hbWUgYW5kIGxpbmUgbnVtYmVyIG9mIGVhY2ggZnJhbWUuIFdyaXRlIG9ubHkgdGhlIGZpcnN0CisgICAxMDAgZnJhbWVzOiBpZiB0aGUgdHJhY2ViYWNrIGlzIHRydW5jYXRlZCwgd3JpdGUgdGhlIGxpbmUgIiAuLi4iLgorCisgICBUaGlzIGZ1bmN0aW9uIGlzIHNpZ25hbCBzYWZlLiAqLworCitQeUFQSV9EQVRBKHZvaWQpIF9QeV9EdW1wVHJhY2ViYWNrKAorICAgIGludCBmZCwKKyAgICBQeVRocmVhZFN0YXRlICp0c3RhdGUpOworCisvKiBXcml0ZSB0aGUgdHJhY2ViYWNrIG9mIGFsbCB0aHJlYWRzIGludG8gdGhlIGZpbGUgJ2ZkJy4gY3VycmVudF90aHJlYWQgY2FuIGJlCisgICBOVUxMLiBSZXR1cm4gTlVMTCBvbiBzdWNjZXNzLCBvciBhbiBlcnJvciBtZXNzYWdlIG9uIGVycm9yLgorCisgICBUaGlzIGZ1bmN0aW9uIGlzIHdyaXR0ZW4gZm9yIGRlYnVnIHB1cnBvc2Ugb25seS4gSXQgY2FsbHMKKyAgIF9QeV9EdW1wVHJhY2ViYWNrKCkgZm9yIGVhY2ggdGhyZWFkLCBhbmQgc28gaGFzIHRoZSBzYW1lIGxpbWl0YXRpb25zLiBJdAorICAgb25seSB3cml0ZSB0aGUgdHJhY2ViYWNrIG9mIHRoZSBmaXJzdCAxMDAgdGhyZWFkczogd3JpdGUgIi4uLiIgaWYgdGhlcmUgYXJlCisgICBtb3JlIHRocmVhZHMuCisKKyAgIFRoaXMgZnVuY3Rpb24gaXMgc2lnbmFsIHNhZmUuICovCisKK1B5QVBJX0RBVEEoY29uc3QgY2hhciopIF9QeV9EdW1wVHJhY2ViYWNrVGhyZWFkcygKKyAgICBpbnQgZmQsIFB5SW50ZXJwcmV0ZXJTdGF0ZSAqaW50ZXJwLAorICAgIFB5VGhyZWFkU3RhdGUgKmN1cnJlbnRfdGhyZWFkKTsKKworCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvSW5jbHVkZS91Y25oYXNoLmggYi9JbmNsdWRlL3Vjbmhhc2guaAppbmRleCA3MGZkZjEzLi44ZGU5YmEwIDEwMDY0NAotLS0gYS9JbmNsdWRlL3Vjbmhhc2guaAorKysgYi9JbmNsdWRlL3Vjbmhhc2guaApAQCAtMTksMTEgKzE5LDEzIEBACiAgICAgICAgc3VjY2VzcywgemVybyBpZiBub3QuICBEb2VzIG5vdCBzZXQgUHl0aG9uIGV4Y2VwdGlvbnMuIAogICAgICAgIElmIHNlbGYgaXMgTlVMTCwgZGF0YSBjb21lIGZyb20gdGhlIGRlZmF1bHQgdmVyc2lvbiBvZiB0aGUgZGF0YWJhc2UuCiAgICAgICAgSWYgaXQgaXMgbm90IE5VTEwsIGl0IHNob3VsZCBiZSBhIHVuaWNvZGVkYXRhLnVjZF9YX1lfWiBvYmplY3QgKi8KLSAgICBpbnQgKCpnZXRuYW1lKShQeU9iamVjdCAqc2VsZiwgUHlfVUNTNCBjb2RlLCBjaGFyKiBidWZmZXIsIGludCBidWZsZW4pOworICAgIGludCAoKmdldG5hbWUpKFB5T2JqZWN0ICpzZWxmLCBQeV9VQ1M0IGNvZGUsIGNoYXIqIGJ1ZmZlciwgaW50IGJ1ZmxlbiwKKyAgICAgICAgICAgICAgICAgICBpbnQgd2l0aF9hbGlhc19hbmRfc2VxKTsKIAogICAgIC8qIEdldCBjaGFyYWN0ZXIgY29kZSBmb3IgYSBnaXZlbiBuYW1lLiAgU2FtZSBlcnJvciBoYW5kbGluZwogICAgICAgIGFzIGZvciBnZXRuYW1lLiAqLwotICAgIGludCAoKmdldGNvZGUpKFB5T2JqZWN0ICpzZWxmLCBjb25zdCBjaGFyKiBuYW1lLCBpbnQgbmFtZWxlbiwgUHlfVUNTNCogY29kZSk7CisgICAgaW50ICgqZ2V0Y29kZSkoUHlPYmplY3QgKnNlbGYsIGNvbnN0IGNoYXIqIG5hbWUsIGludCBuYW1lbGVuLCBQeV9VQ1M0KiBjb2RlLAorICAgICAgICAgICAgICAgICAgIGludCB3aXRoX25hbWVkX3NlcSk7CiAKIH0gX1B5VW5pY29kZV9OYW1lX0NBUEk7CiAKZGlmZiAtLWdpdCBhL0luY2x1ZGUvdW5pY29kZW9iamVjdC5oIGIvSW5jbHVkZS91bmljb2Rlb2JqZWN0LmgKaW5kZXggMzc5YTkwYy4uOGY3NDk5NSAxMDA2NDQKLS0tIGEvSW5jbHVkZS91bmljb2Rlb2JqZWN0LmgKKysrIGIvSW5jbHVkZS91bmljb2Rlb2JqZWN0LmgKQEAgLTY0LDE2ICs2NCwxNSBAQAogLyogUHl0aG9uIDMueCByZXF1aXJlcyB1bmljb2RlICovCiAjZGVmaW5lIFB5X1VTSU5HX1VOSUNPREUKIAotLyogRklYTUU6IE12TCdzIG5ldyBpbXBsZW1lbnRhdGlvbiBhc3N1bWVzIHRoYXQgUHlfVU5JQ09ERV9TSVpFIGlzCi0gICBwcm9wZXJseSBzZXQsIGJ1dCB0aGUgZGVmYXVsdCBydWxlcyBiZWxvdyBkb2Vzbid0IHNldCBpdC4gIEknbGwKLSAgIHNvcnQgdGhpcyBvdXQgc29tZSBvdGhlciBkYXkgLS0gZnJlZHJpa0BweXRob253YXJlLmNvbSAqLwotCi0jaWZuZGVmIFB5X1VOSUNPREVfU0laRQotI2Vycm9yIE11c3QgZGVmaW5lIFB5X1VOSUNPREVfU0laRQorI2lmbmRlZiBTSVpFT0ZfV0NIQVJfVAorI2Vycm9yIE11c3QgZGVmaW5lIFNJWkVPRl9XQ0hBUl9UCiAjZW5kaWYKIAotLyogU2V0dGluZyBQeV9VTklDT0RFX1dJREUgZW5hYmxlcyBVQ1MtNCBzdG9yYWdlLiAgT3RoZXJ3aXNlLCBVbmljb2RlCi0gICBzdHJpbmdzIGFyZSBzdG9yZWQgYXMgVUNTLTIgKHdpdGggbGltaXRlZCBzdXBwb3J0IGZvciBVVEYtMTYpICovCisjZGVmaW5lIFB5X1VOSUNPREVfU0laRSBTSVpFT0ZfV0NIQVJfVAorCisvKiBJZiB3Y2hhcl90IGNhbiBiZSB1c2VkIGZvciBVQ1MtNCBzdG9yYWdlLCBzZXQgUHlfVU5JQ09ERV9XSURFLgorICAgT3RoZXJ3aXNlLCBVbmljb2RlIHN0cmluZ3MgYXJlIHN0b3JlZCBhcyBVQ1MtMiAod2l0aCBsaW1pdGVkIHN1cHBvcnQKKyAgIGZvciBVVEYtMTYpICovCiAKICNpZiBQeV9VTklDT0RFX1NJWkUgPj0gNAogI2RlZmluZSBQeV9VTklDT0RFX1dJREUKQEAgLTg0LDE5ICs4MywxNCBAQAogLyogI2RlZmluZSBIQVZFX1dDSEFSX0ggKi8KIC8qICNkZWZpbmUgSEFWRV9VU0FCTEVfV0NIQVJfVCAqLwogCi0vKiBEZWZhdWx0cyBmb3IgdmFyaW91cyBwbGF0Zm9ybXMgKi8KLSNpZm5kZWYgUFlfVU5JQ09ERV9UWVBFCisvKiBQeV9VTklDT0RFIHdhcyB0aGUgbmF0aXZlIFVuaWNvZGUgc3RvcmFnZSBmb3JtYXQgKGNvZGUgdW5pdCkgdXNlZCBieQorICAgUHl0aG9uIGFuZCByZXByZXNlbnRzIGEgc2luZ2xlIFVuaWNvZGUgZWxlbWVudCBpbiB0aGUgVW5pY29kZSB0eXBlLgorICAgV2l0aCBQRVAgMzkzLCBQeV9VTklDT0RFIGlzIGRlcHJlY2F0ZWQgYW5kIHJlcGxhY2VkIHdpdGggYQorICAgdHlwZWRlZiB0byB3Y2hhcl90LiAqLwogCi0vKiBXaW5kb3dzIGhhcyBhIHVzYWJsZSB3Y2hhcl90IHR5cGUgKHVubGVzcyB3ZSdyZSB1c2luZyBVQ1MtNCkgKi8KLSMgaWYgZGVmaW5lZChNU19XSU4zMikgJiYgUHlfVU5JQ09ERV9TSVpFID09IDIKLSMgIGRlZmluZSBIQVZFX1VTQUJMRV9XQ0hBUl9UCi0jICBkZWZpbmUgUFlfVU5JQ09ERV9UWVBFIHdjaGFyX3QKLSMgZW5kaWYKLQotIyBpZiBkZWZpbmVkKFB5X1VOSUNPREVfV0lERSkKLSMgIGRlZmluZSBQWV9VTklDT0RFX1RZUEUgUHlfVUNTNAotIyBlbmRpZgotCisjaWZuZGVmIFB5X0xJTUlURURfQVBJCisjZGVmaW5lIFBZX1VOSUNPREVfVFlQRSB3Y2hhcl90Cit0eXBlZGVmIHdjaGFyX3QgUHlfVU5JQ09ERTsKICNlbmRpZgogCiAvKiBJZiB0aGUgY29tcGlsZXIgcHJvdmlkZXMgYSB3Y2hhcl90IHR5cGUgd2UgdHJ5IHRvIHN1cHBvcnQgaXQKQEAgLTEwOSw2ICsxMDMsMTAgQEAKICMgZW5kaWYKICNlbmRpZgogCisjaWYgZGVmaW5lZChNU19XSU5ET1dTKQorIyAgZGVmaW5lIEhBVkVfTUJDUworI2VuZGlmCisKICNpZmRlZiBIQVZFX1dDSEFSX0gKIC8qIFdvcmsgYXJvdW5kIGEgY29zbWV0aWMgYnVnIGluIEJTREkgNC54IHdjaGFyLmg7IHRoYW5rcyB0byBUaG9tYXMgV291dGVycyAqLwogIyBpZmRlZiBfSEFWRV9CU0RJCkBAIC0xMTcsMjAxICsxMTUsMjQgQEAKICMgIGluY2x1ZGUgPHdjaGFyLmg+CiAjZW5kaWYKIAotLyoKLSAqIFVzZSB0aGlzIHR5cGVkZWYgd2hlbiB5b3UgbmVlZCB0byByZXByZXNlbnQgYSBVVEYtMTYgc3Vycm9nYXRlIHBhaXIKLSAqIGFzIHNpbmdsZSB1bnNpZ25lZCBpbnRlZ2VyLgotICovCi0jaWYgU0laRU9GX0lOVCA+PSA0CisvKiBQeV9VQ1M0IGFuZCBQeV9VQ1MyIGFyZSB0eXBlZGVmcyBmb3IgdGhlIHJlc3BlY3RpdmUKKyAgIHVuaWNvZGUgcmVwcmVzZW50YXRpb25zLiAqLworI2lmIFNJWkVPRl9JTlQgPT0gNAogdHlwZWRlZiB1bnNpZ25lZCBpbnQgUHlfVUNTNDsKLSNlbGlmIFNJWkVPRl9MT05HID49IDQKKyNlbGlmIFNJWkVPRl9MT05HID09IDQKIHR5cGVkZWYgdW5zaWduZWQgbG9uZyBQeV9VQ1M0OwotI2VuZGlmCi0KLS8qIFB5X1VOSUNPREUgaXMgdGhlIG5hdGl2ZSBVbmljb2RlIHN0b3JhZ2UgZm9ybWF0IChjb2RlIHVuaXQpIHVzZWQgYnkKLSAgIFB5dGhvbiBhbmQgcmVwcmVzZW50cyBhIHNpbmdsZSBVbmljb2RlIGVsZW1lbnQgaW4gdGhlIFVuaWNvZGUKLSAgIHR5cGUuICovCi0KLSNpZm5kZWYgUHlfTElNSVRFRF9BUEkKLXR5cGVkZWYgUFlfVU5JQ09ERV9UWVBFIFB5X1VOSUNPREU7Ci0jZW5kaWYKLQotLyogLS0tIFVDUy0yL1VDUy00IE5hbWUgTWFuZ2xpbmcgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCi0KLS8qIFVuaWNvZGUgQVBJIG5hbWVzIGFyZSBtYW5nbGVkIHRvIGFzc3VyZSB0aGF0IFVDUy0yIGFuZCBVQ1MtNCBidWlsZHMKLSAgIHByb2R1Y2UgZGlmZmVyZW50IGV4dGVybmFsIG5hbWVzIGFuZCB0aHVzIGNhdXNlIGltcG9ydCBlcnJvcnMgaW4KLSAgIGNhc2UgUHl0aG9uIGludGVycHJldGVycyBhbmQgZXh0ZW5zaW9ucyB3aXRoIG1peGVkIGNvbXBpbGVkIGluCi0gICBVbmljb2RlIHdpZHRoIGFzc3VtcHRpb25zIGFyZSBjb21iaW5lZC4gKi8KLQotI2lmbmRlZiBQeV9VTklDT0RFX1dJREUKLQotIyBkZWZpbmUgUHlVbmljb2RlX0FzQVNDSUlTdHJpbmcgUHlVbmljb2RlVUNTMl9Bc0FTQ0lJU3RyaW5nCi0jIGRlZmluZSBQeVVuaWNvZGVfQXNDaGFybWFwU3RyaW5nIFB5VW5pY29kZVVDUzJfQXNDaGFybWFwU3RyaW5nCi0jIGRlZmluZSBQeVVuaWNvZGVfQXNEZWNvZGVkT2JqZWN0IFB5VW5pY29kZVVDUzJfQXNEZWNvZGVkT2JqZWN0Ci0jIGRlZmluZSBQeVVuaWNvZGVfQXNEZWNvZGVkVW5pY29kZSBQeVVuaWNvZGVVQ1MyX0FzRGVjb2RlZFVuaWNvZGUKLSMgZGVmaW5lIFB5VW5pY29kZV9Bc0VuY29kZWRPYmplY3QgUHlVbmljb2RlVUNTMl9Bc0VuY29kZWRPYmplY3QKLSMgZGVmaW5lIFB5VW5pY29kZV9Bc0VuY29kZWRTdHJpbmcgUHlVbmljb2RlVUNTMl9Bc0VuY29kZWRTdHJpbmcKLSMgZGVmaW5lIFB5VW5pY29kZV9Bc0VuY29kZWRVbmljb2RlIFB5VW5pY29kZVVDUzJfQXNFbmNvZGVkVW5pY29kZQotIyBkZWZpbmUgUHlVbmljb2RlX0FzTGF0aW4xU3RyaW5nIFB5VW5pY29kZVVDUzJfQXNMYXRpbjFTdHJpbmcKLSMgZGVmaW5lIFB5VW5pY29kZV9Bc1Jhd1VuaWNvZGVFc2NhcGVTdHJpbmcgUHlVbmljb2RlVUNTMl9Bc1Jhd1VuaWNvZGVFc2NhcGVTdHJpbmcKLSMgZGVmaW5lIFB5VW5pY29kZV9Bc1VURjMyU3RyaW5nIFB5VW5pY29kZVVDUzJfQXNVVEYzMlN0cmluZwotIyBkZWZpbmUgUHlVbmljb2RlX0FzVVRGMTZTdHJpbmcgUHlVbmljb2RlVUNTMl9Bc1VURjE2U3RyaW5nCi0jIGRlZmluZSBQeVVuaWNvZGVfQXNVVEY4U3RyaW5nIFB5VW5pY29kZVVDUzJfQXNVVEY4U3RyaW5nCi0jIGRlZmluZSBQeVVuaWNvZGVfQXNVbmljb2RlIFB5VW5pY29kZVVDUzJfQXNVbmljb2RlCi0jIGRlZmluZSBQeVVuaWNvZGVfQXNVbmljb2RlRXNjYXBlU3RyaW5nIFB5VW5pY29kZVVDUzJfQXNVbmljb2RlRXNjYXBlU3RyaW5nCi0jIGRlZmluZSBQeVVuaWNvZGVfQXNXaWRlQ2hhciBQeVVuaWNvZGVVQ1MyX0FzV2lkZUNoYXIKLSMgZGVmaW5lIFB5VW5pY29kZV9Bc1dpZGVDaGFyU3RyaW5nIFB5VW5pY29kZVVDUzJfQXNXaWRlQ2hhclN0cmluZwotIyBkZWZpbmUgUHlVbmljb2RlX0NsZWFyRnJlZUxpc3QgUHlVbmljb2RlVUNTMl9DbGVhckZyZWVsaXN0Ci0jIGRlZmluZSBQeVVuaWNvZGVfQ29tcGFyZSBQeVVuaWNvZGVVQ1MyX0NvbXBhcmUKLSMgZGVmaW5lIFB5VW5pY29kZV9Db21wYXJlV2l0aEFTQ0lJU3RyaW5nIFB5VW5pY29kZVVDUzJfQ29tcGFyZVdpdGhBU0NJSVN0cmluZwotIyBkZWZpbmUgUHlVbmljb2RlX0NvbmNhdCBQeVVuaWNvZGVVQ1MyX0NvbmNhdAotIyBkZWZpbmUgUHlVbmljb2RlX0FwcGVuZCBQeVVuaWNvZGVVQ1MyX0FwcGVuZAotIyBkZWZpbmUgUHlVbmljb2RlX0FwcGVuZEFuZERlbCBQeVVuaWNvZGVVQ1MyX0FwcGVuZEFuZERlbAotIyBkZWZpbmUgUHlVbmljb2RlX0NvbnRhaW5zIFB5VW5pY29kZVVDUzJfQ29udGFpbnMKLSMgZGVmaW5lIFB5VW5pY29kZV9Db3VudCBQeVVuaWNvZGVVQ1MyX0NvdW50Ci0jIGRlZmluZSBQeVVuaWNvZGVfRGVjb2RlIFB5VW5pY29kZVVDUzJfRGVjb2RlCi0jIGRlZmluZSBQeVVuaWNvZGVfRGVjb2RlQVNDSUkgUHlVbmljb2RlVUNTMl9EZWNvZGVBU0NJSQotIyBkZWZpbmUgUHlVbmljb2RlX0RlY29kZUNoYXJtYXAgUHlVbmljb2RlVUNTMl9EZWNvZGVDaGFybWFwCi0jIGRlZmluZSBQeVVuaWNvZGVfRGVjb2RlTGF0aW4xIFB5VW5pY29kZVVDUzJfRGVjb2RlTGF0aW4xCi0jIGRlZmluZSBQeVVuaWNvZGVfRGVjb2RlRlNEZWZhdWx0IFB5VW5pY29kZVVDUzJfRGVjb2RlRlNEZWZhdWx0Ci0jIGRlZmluZSBQeVVuaWNvZGVfRGVjb2RlRlNEZWZhdWx0QW5kU2l6ZSBQeVVuaWNvZGVVQ1MyX0RlY29kZUZTRGVmYXVsdEFuZFNpemUKLSMgZGVmaW5lIFB5VW5pY29kZV9EZWNvZGVSYXdVbmljb2RlRXNjYXBlIFB5VW5pY29kZVVDUzJfRGVjb2RlUmF3VW5pY29kZUVzY2FwZQotIyBkZWZpbmUgUHlVbmljb2RlX0RlY29kZVVURjMyIFB5VW5pY29kZVVDUzJfRGVjb2RlVVRGMzIKLSMgZGVmaW5lIFB5VW5pY29kZV9EZWNvZGVVVEYzMlN0YXRlZnVsIFB5VW5pY29kZVVDUzJfRGVjb2RlVVRGMzJTdGF0ZWZ1bAotIyBkZWZpbmUgUHlVbmljb2RlX0RlY29kZVVURjE2IFB5VW5pY29kZVVDUzJfRGVjb2RlVVRGMTYKLSMgZGVmaW5lIFB5VW5pY29kZV9EZWNvZGVVVEYxNlN0YXRlZnVsIFB5VW5pY29kZVVDUzJfRGVjb2RlVVRGMTZTdGF0ZWZ1bAotIyBkZWZpbmUgUHlVbmljb2RlX0RlY29kZVVURjggUHlVbmljb2RlVUNTMl9EZWNvZGVVVEY4Ci0jIGRlZmluZSBQeVVuaWNvZGVfRGVjb2RlVVRGOFN0YXRlZnVsIFB5VW5pY29kZVVDUzJfRGVjb2RlVVRGOFN0YXRlZnVsCi0jIGRlZmluZSBQeVVuaWNvZGVfRGVjb2RlVW5pY29kZUVzY2FwZSBQeVVuaWNvZGVVQ1MyX0RlY29kZVVuaWNvZGVFc2NhcGUKLSMgZGVmaW5lIFB5VW5pY29kZV9FbmNvZGUgUHlVbmljb2RlVUNTMl9FbmNvZGUKLSMgZGVmaW5lIFB5VW5pY29kZV9FbmNvZGVBU0NJSSBQeVVuaWNvZGVVQ1MyX0VuY29kZUFTQ0lJCi0jIGRlZmluZSBQeVVuaWNvZGVfRW5jb2RlQ2hhcm1hcCBQeVVuaWNvZGVVQ1MyX0VuY29kZUNoYXJtYXAKLSMgZGVmaW5lIFB5VW5pY29kZV9FbmNvZGVEZWNpbWFsIFB5VW5pY29kZVVDUzJfRW5jb2RlRGVjaW1hbAotIyBkZWZpbmUgUHlVbmljb2RlX0VuY29kZUxhdGluMSBQeVVuaWNvZGVVQ1MyX0VuY29kZUxhdGluMQotIyBkZWZpbmUgUHlVbmljb2RlX0VuY29kZVJhd1VuaWNvZGVFc2NhcGUgUHlVbmljb2RlVUNTMl9FbmNvZGVSYXdVbmljb2RlRXNjYXBlCi0jIGRlZmluZSBQeVVuaWNvZGVfRW5jb2RlVVRGMzIgUHlVbmljb2RlVUNTMl9FbmNvZGVVVEYzMgotIyBkZWZpbmUgUHlVbmljb2RlX0VuY29kZVVURjE2IFB5VW5pY29kZVVDUzJfRW5jb2RlVVRGMTYKLSMgZGVmaW5lIFB5VW5pY29kZV9FbmNvZGVVVEY4IFB5VW5pY29kZVVDUzJfRW5jb2RlVVRGOAotIyBkZWZpbmUgUHlVbmljb2RlX0VuY29kZVVuaWNvZGVFc2NhcGUgUHlVbmljb2RlVUNTMl9FbmNvZGVVbmljb2RlRXNjYXBlCi0jIGRlZmluZSBQeVVuaWNvZGVfRmluZCBQeVVuaWNvZGVVQ1MyX0ZpbmQKLSMgZGVmaW5lIFB5VW5pY29kZV9Gb3JtYXQgUHlVbmljb2RlVUNTMl9Gb3JtYXQKLSMgZGVmaW5lIFB5VW5pY29kZV9Gcm9tRW5jb2RlZE9iamVjdCBQeVVuaWNvZGVVQ1MyX0Zyb21FbmNvZGVkT2JqZWN0Ci0jIGRlZmluZSBQeVVuaWNvZGVfRnJvbUZvcm1hdCBQeVVuaWNvZGVVQ1MyX0Zyb21Gb3JtYXQKLSMgZGVmaW5lIFB5VW5pY29kZV9Gcm9tRm9ybWF0ViBQeVVuaWNvZGVVQ1MyX0Zyb21Gb3JtYXRWCi0jIGRlZmluZSBQeVVuaWNvZGVfRnJvbU9iamVjdCBQeVVuaWNvZGVVQ1MyX0Zyb21PYmplY3QKLSMgZGVmaW5lIFB5VW5pY29kZV9Gcm9tT3JkaW5hbCBQeVVuaWNvZGVVQ1MyX0Zyb21PcmRpbmFsCi0jIGRlZmluZSBQeVVuaWNvZGVfRnJvbVN0cmluZyBQeVVuaWNvZGVVQ1MyX0Zyb21TdHJpbmcKLSMgZGVmaW5lIFB5VW5pY29kZV9Gcm9tU3RyaW5nQW5kU2l6ZSBQeVVuaWNvZGVVQ1MyX0Zyb21TdHJpbmdBbmRTaXplCi0jIGRlZmluZSBQeVVuaWNvZGVfRnJvbVVuaWNvZGUgUHlVbmljb2RlVUNTMl9Gcm9tVW5pY29kZQotIyBkZWZpbmUgUHlVbmljb2RlX0Zyb21XaWRlQ2hhciBQeVVuaWNvZGVVQ1MyX0Zyb21XaWRlQ2hhcgotIyBkZWZpbmUgUHlVbmljb2RlX0ZTQ29udmVydGVyIFB5VW5pY29kZVVDUzJfRlNDb252ZXJ0ZXIKLSMgZGVmaW5lIFB5VW5pY29kZV9GU0RlY29kZXIgUHlVbmljb2RlVUNTMl9GU0RlY29kZXIKLSMgZGVmaW5lIFB5VW5pY29kZV9HZXREZWZhdWx0RW5jb2RpbmcgUHlVbmljb2RlVUNTMl9HZXREZWZhdWx0RW5jb2RpbmcKLSMgZGVmaW5lIFB5VW5pY29kZV9HZXRNYXggUHlVbmljb2RlVUNTMl9HZXRNYXgKLSMgZGVmaW5lIFB5VW5pY29kZV9HZXRTaXplIFB5VW5pY29kZVVDUzJfR2V0U2l6ZQotIyBkZWZpbmUgUHlVbmljb2RlX0lzSWRlbnRpZmllciBQeVVuaWNvZGVVQ1MyX0lzSWRlbnRpZmllcgotIyBkZWZpbmUgUHlVbmljb2RlX0pvaW4gUHlVbmljb2RlVUNTMl9Kb2luCi0jIGRlZmluZSBQeVVuaWNvZGVfUGFydGl0aW9uIFB5VW5pY29kZVVDUzJfUGFydGl0aW9uCi0jIGRlZmluZSBQeVVuaWNvZGVfUlBhcnRpdGlvbiBQeVVuaWNvZGVVQ1MyX1JQYXJ0aXRpb24KLSMgZGVmaW5lIFB5VW5pY29kZV9SU3BsaXQgUHlVbmljb2RlVUNTMl9SU3BsaXQKLSMgZGVmaW5lIFB5VW5pY29kZV9SZXBsYWNlIFB5VW5pY29kZVVDUzJfUmVwbGFjZQotIyBkZWZpbmUgUHlVbmljb2RlX1Jlc2l6ZSBQeVVuaWNvZGVVQ1MyX1Jlc2l6ZQotIyBkZWZpbmUgUHlVbmljb2RlX1JpY2hDb21wYXJlIFB5VW5pY29kZVVDUzJfUmljaENvbXBhcmUKLSMgZGVmaW5lIFB5VW5pY29kZV9TcGxpdCBQeVVuaWNvZGVVQ1MyX1NwbGl0Ci0jIGRlZmluZSBQeVVuaWNvZGVfU3BsaXRsaW5lcyBQeVVuaWNvZGVVQ1MyX1NwbGl0bGluZXMKLSMgZGVmaW5lIFB5VW5pY29kZV9UYWlsbWF0Y2ggUHlVbmljb2RlVUNTMl9UYWlsbWF0Y2gKLSMgZGVmaW5lIFB5VW5pY29kZV9UcmFuc2xhdGUgUHlVbmljb2RlVUNTMl9UcmFuc2xhdGUKLSMgZGVmaW5lIFB5VW5pY29kZV9UcmFuc2xhdGVDaGFybWFwIFB5VW5pY29kZVVDUzJfVHJhbnNsYXRlQ2hhcm1hcAotIyBkZWZpbmUgX1B5VW5pY29kZV9Bc0RlZmF1bHRFbmNvZGVkU3RyaW5nIF9QeVVuaWNvZGVVQ1MyX0FzRGVmYXVsdEVuY29kZWRTdHJpbmcKLSMgZGVmaW5lIF9QeVVuaWNvZGVfRmluaSBfUHlVbmljb2RlVUNTMl9GaW5pCi0jIGRlZmluZSBfUHlVbmljb2RlX0luaXQgX1B5VW5pY29kZVVDUzJfSW5pdAotIyBkZWZpbmUgUHlVbmljb2RlX3N0cmR1cCBQeVVuaWNvZGVVQ1MyX3N0cmR1cAotCiAjZWxzZQotCi0jIGRlZmluZSBQeVVuaWNvZGVfQXNBU0NJSVN0cmluZyBQeVVuaWNvZGVVQ1M0X0FzQVNDSUlTdHJpbmcKLSMgZGVmaW5lIFB5VW5pY29kZV9Bc0NoYXJtYXBTdHJpbmcgUHlVbmljb2RlVUNTNF9Bc0NoYXJtYXBTdHJpbmcKLSMgZGVmaW5lIFB5VW5pY29kZV9Bc0RlY29kZWRPYmplY3QgUHlVbmljb2RlVUNTNF9Bc0RlY29kZWRPYmplY3QKLSMgZGVmaW5lIFB5VW5pY29kZV9Bc0RlY29kZWRVbmljb2RlIFB5VW5pY29kZVVDUzRfQXNEZWNvZGVkVW5pY29kZQotIyBkZWZpbmUgUHlVbmljb2RlX0FzRW5jb2RlZE9iamVjdCBQeVVuaWNvZGVVQ1M0X0FzRW5jb2RlZE9iamVjdAotIyBkZWZpbmUgUHlVbmljb2RlX0FzRW5jb2RlZFN0cmluZyBQeVVuaWNvZGVVQ1M0X0FzRW5jb2RlZFN0cmluZwotIyBkZWZpbmUgUHlVbmljb2RlX0FzRW5jb2RlZFVuaWNvZGUgUHlVbmljb2RlVUNTNF9Bc0VuY29kZWRVbmljb2RlCi0jIGRlZmluZSBQeVVuaWNvZGVfQXNMYXRpbjFTdHJpbmcgUHlVbmljb2RlVUNTNF9Bc0xhdGluMVN0cmluZwotIyBkZWZpbmUgUHlVbmljb2RlX0FzUmF3VW5pY29kZUVzY2FwZVN0cmluZyBQeVVuaWNvZGVVQ1M0X0FzUmF3VW5pY29kZUVzY2FwZVN0cmluZwotIyBkZWZpbmUgUHlVbmljb2RlX0FzVVRGMzJTdHJpbmcgUHlVbmljb2RlVUNTNF9Bc1VURjMyU3RyaW5nCi0jIGRlZmluZSBQeVVuaWNvZGVfQXNVVEYxNlN0cmluZyBQeVVuaWNvZGVVQ1M0X0FzVVRGMTZTdHJpbmcKLSMgZGVmaW5lIFB5VW5pY29kZV9Bc1VURjhTdHJpbmcgUHlVbmljb2RlVUNTNF9Bc1VURjhTdHJpbmcKLSMgZGVmaW5lIFB5VW5pY29kZV9Bc1VuaWNvZGUgUHlVbmljb2RlVUNTNF9Bc1VuaWNvZGUKLSMgZGVmaW5lIFB5VW5pY29kZV9Bc1VuaWNvZGVFc2NhcGVTdHJpbmcgUHlVbmljb2RlVUNTNF9Bc1VuaWNvZGVFc2NhcGVTdHJpbmcKLSMgZGVmaW5lIFB5VW5pY29kZV9Bc1dpZGVDaGFyIFB5VW5pY29kZVVDUzRfQXNXaWRlQ2hhcgotIyBkZWZpbmUgUHlVbmljb2RlX0FzV2lkZUNoYXJTdHJpbmcgUHlVbmljb2RlVUNTNF9Bc1dpZGVDaGFyU3RyaW5nCi0jIGRlZmluZSBQeVVuaWNvZGVfQ2xlYXJGcmVlTGlzdCBQeVVuaWNvZGVVQ1M0X0NsZWFyRnJlZWxpc3QKLSMgZGVmaW5lIFB5VW5pY29kZV9Db21wYXJlIFB5VW5pY29kZVVDUzRfQ29tcGFyZQotIyBkZWZpbmUgUHlVbmljb2RlX0NvbXBhcmVXaXRoQVNDSUlTdHJpbmcgUHlVbmljb2RlVUNTNF9Db21wYXJlV2l0aEFTQ0lJU3RyaW5nCi0jIGRlZmluZSBQeVVuaWNvZGVfQ29uY2F0IFB5VW5pY29kZVVDUzRfQ29uY2F0Ci0jIGRlZmluZSBQeVVuaWNvZGVfQXBwZW5kIFB5VW5pY29kZVVDUzRfQXBwZW5kCi0jIGRlZmluZSBQeVVuaWNvZGVfQXBwZW5kQW5kRGVsIFB5VW5pY29kZVVDUzRfQXBwZW5kQW5kRGVsCi0jIGRlZmluZSBQeVVuaWNvZGVfQ29udGFpbnMgUHlVbmljb2RlVUNTNF9Db250YWlucwotIyBkZWZpbmUgUHlVbmljb2RlX0NvdW50IFB5VW5pY29kZVVDUzRfQ291bnQKLSMgZGVmaW5lIFB5VW5pY29kZV9EZWNvZGUgUHlVbmljb2RlVUNTNF9EZWNvZGUKLSMgZGVmaW5lIFB5VW5pY29kZV9EZWNvZGVBU0NJSSBQeVVuaWNvZGVVQ1M0X0RlY29kZUFTQ0lJCi0jIGRlZmluZSBQeVVuaWNvZGVfRGVjb2RlQ2hhcm1hcCBQeVVuaWNvZGVVQ1M0X0RlY29kZUNoYXJtYXAKLSMgZGVmaW5lIFB5VW5pY29kZV9EZWNvZGVMYXRpbjEgUHlVbmljb2RlVUNTNF9EZWNvZGVMYXRpbjEKLSMgZGVmaW5lIFB5VW5pY29kZV9EZWNvZGVGU0RlZmF1bHQgUHlVbmljb2RlVUNTNF9EZWNvZGVGU0RlZmF1bHQKLSMgZGVmaW5lIFB5VW5pY29kZV9EZWNvZGVGU0RlZmF1bHRBbmRTaXplIFB5VW5pY29kZVVDUzRfRGVjb2RlRlNEZWZhdWx0QW5kU2l6ZQotIyBkZWZpbmUgUHlVbmljb2RlX0RlY29kZVJhd1VuaWNvZGVFc2NhcGUgUHlVbmljb2RlVUNTNF9EZWNvZGVSYXdVbmljb2RlRXNjYXBlCi0jIGRlZmluZSBQeVVuaWNvZGVfRGVjb2RlVVRGMzIgUHlVbmljb2RlVUNTNF9EZWNvZGVVVEYzMgotIyBkZWZpbmUgUHlVbmljb2RlX0RlY29kZVVURjMyU3RhdGVmdWwgUHlVbmljb2RlVUNTNF9EZWNvZGVVVEYzMlN0YXRlZnVsCi0jIGRlZmluZSBQeVVuaWNvZGVfRGVjb2RlVVRGMTYgUHlVbmljb2RlVUNTNF9EZWNvZGVVVEYxNgotIyBkZWZpbmUgUHlVbmljb2RlX0RlY29kZVVURjE2U3RhdGVmdWwgUHlVbmljb2RlVUNTNF9EZWNvZGVVVEYxNlN0YXRlZnVsCi0jIGRlZmluZSBQeVVuaWNvZGVfRGVjb2RlVVRGOCBQeVVuaWNvZGVVQ1M0X0RlY29kZVVURjgKLSMgZGVmaW5lIFB5VW5pY29kZV9EZWNvZGVVVEY4U3RhdGVmdWwgUHlVbmljb2RlVUNTNF9EZWNvZGVVVEY4U3RhdGVmdWwKLSMgZGVmaW5lIFB5VW5pY29kZV9EZWNvZGVVbmljb2RlRXNjYXBlIFB5VW5pY29kZVVDUzRfRGVjb2RlVW5pY29kZUVzY2FwZQotIyBkZWZpbmUgUHlVbmljb2RlX0VuY29kZSBQeVVuaWNvZGVVQ1M0X0VuY29kZQotIyBkZWZpbmUgUHlVbmljb2RlX0VuY29kZUFTQ0lJIFB5VW5pY29kZVVDUzRfRW5jb2RlQVNDSUkKLSMgZGVmaW5lIFB5VW5pY29kZV9FbmNvZGVDaGFybWFwIFB5VW5pY29kZVVDUzRfRW5jb2RlQ2hhcm1hcAotIyBkZWZpbmUgUHlVbmljb2RlX0VuY29kZURlY2ltYWwgUHlVbmljb2RlVUNTNF9FbmNvZGVEZWNpbWFsCi0jIGRlZmluZSBQeVVuaWNvZGVfRW5jb2RlTGF0aW4xIFB5VW5pY29kZVVDUzRfRW5jb2RlTGF0aW4xCi0jIGRlZmluZSBQeVVuaWNvZGVfRW5jb2RlUmF3VW5pY29kZUVzY2FwZSBQeVVuaWNvZGVVQ1M0X0VuY29kZVJhd1VuaWNvZGVFc2NhcGUKLSMgZGVmaW5lIFB5VW5pY29kZV9FbmNvZGVVVEYzMiBQeVVuaWNvZGVVQ1M0X0VuY29kZVVURjMyCi0jIGRlZmluZSBQeVVuaWNvZGVfRW5jb2RlVVRGMTYgUHlVbmljb2RlVUNTNF9FbmNvZGVVVEYxNgotIyBkZWZpbmUgUHlVbmljb2RlX0VuY29kZVVURjggUHlVbmljb2RlVUNTNF9FbmNvZGVVVEY4Ci0jIGRlZmluZSBQeVVuaWNvZGVfRW5jb2RlVW5pY29kZUVzY2FwZSBQeVVuaWNvZGVVQ1M0X0VuY29kZVVuaWNvZGVFc2NhcGUKLSMgZGVmaW5lIFB5VW5pY29kZV9GaW5kIFB5VW5pY29kZVVDUzRfRmluZAotIyBkZWZpbmUgUHlVbmljb2RlX0Zvcm1hdCBQeVVuaWNvZGVVQ1M0X0Zvcm1hdAotIyBkZWZpbmUgUHlVbmljb2RlX0Zyb21FbmNvZGVkT2JqZWN0IFB5VW5pY29kZVVDUzRfRnJvbUVuY29kZWRPYmplY3QKLSMgZGVmaW5lIFB5VW5pY29kZV9Gcm9tRm9ybWF0IFB5VW5pY29kZVVDUzRfRnJvbUZvcm1hdAotIyBkZWZpbmUgUHlVbmljb2RlX0Zyb21Gb3JtYXRWIFB5VW5pY29kZVVDUzRfRnJvbUZvcm1hdFYKLSMgZGVmaW5lIFB5VW5pY29kZV9Gcm9tT2JqZWN0IFB5VW5pY29kZVVDUzRfRnJvbU9iamVjdAotIyBkZWZpbmUgUHlVbmljb2RlX0Zyb21PcmRpbmFsIFB5VW5pY29kZVVDUzRfRnJvbU9yZGluYWwKLSMgZGVmaW5lIFB5VW5pY29kZV9Gcm9tU3RyaW5nIFB5VW5pY29kZVVDUzRfRnJvbVN0cmluZwotIyBkZWZpbmUgUHlVbmljb2RlX0Zyb21TdHJpbmdBbmRTaXplIFB5VW5pY29kZVVDUzRfRnJvbVN0cmluZ0FuZFNpemUKLSMgZGVmaW5lIFB5VW5pY29kZV9Gcm9tVW5pY29kZSBQeVVuaWNvZGVVQ1M0X0Zyb21Vbmljb2RlCi0jIGRlZmluZSBQeVVuaWNvZGVfRnJvbVdpZGVDaGFyIFB5VW5pY29kZVVDUzRfRnJvbVdpZGVDaGFyCi0jIGRlZmluZSBQeVVuaWNvZGVfRlNDb252ZXJ0ZXIgUHlVbmljb2RlVUNTNF9GU0NvbnZlcnRlcgotIyBkZWZpbmUgUHlVbmljb2RlX0ZTRGVjb2RlciBQeVVuaWNvZGVVQ1M0X0ZTRGVjb2RlcgotIyBkZWZpbmUgUHlVbmljb2RlX0dldERlZmF1bHRFbmNvZGluZyBQeVVuaWNvZGVVQ1M0X0dldERlZmF1bHRFbmNvZGluZwotIyBkZWZpbmUgUHlVbmljb2RlX0dldE1heCBQeVVuaWNvZGVVQ1M0X0dldE1heAotIyBkZWZpbmUgUHlVbmljb2RlX0dldFNpemUgUHlVbmljb2RlVUNTNF9HZXRTaXplCi0jIGRlZmluZSBQeVVuaWNvZGVfSXNJZGVudGlmaWVyIFB5VW5pY29kZVVDUzRfSXNJZGVudGlmaWVyCi0jIGRlZmluZSBQeVVuaWNvZGVfSm9pbiBQeVVuaWNvZGVVQ1M0X0pvaW4KLSMgZGVmaW5lIFB5VW5pY29kZV9QYXJ0aXRpb24gUHlVbmljb2RlVUNTNF9QYXJ0aXRpb24KLSMgZGVmaW5lIFB5VW5pY29kZV9SUGFydGl0aW9uIFB5VW5pY29kZVVDUzRfUlBhcnRpdGlvbgotIyBkZWZpbmUgUHlVbmljb2RlX1JTcGxpdCBQeVVuaWNvZGVVQ1M0X1JTcGxpdAotIyBkZWZpbmUgUHlVbmljb2RlX1JlcGxhY2UgUHlVbmljb2RlVUNTNF9SZXBsYWNlCi0jIGRlZmluZSBQeVVuaWNvZGVfUmVzaXplIFB5VW5pY29kZVVDUzRfUmVzaXplCi0jIGRlZmluZSBQeVVuaWNvZGVfUmljaENvbXBhcmUgUHlVbmljb2RlVUNTNF9SaWNoQ29tcGFyZQotIyBkZWZpbmUgUHlVbmljb2RlX1NwbGl0IFB5VW5pY29kZVVDUzRfU3BsaXQKLSMgZGVmaW5lIFB5VW5pY29kZV9TcGxpdGxpbmVzIFB5VW5pY29kZVVDUzRfU3BsaXRsaW5lcwotIyBkZWZpbmUgUHlVbmljb2RlX1RhaWxtYXRjaCBQeVVuaWNvZGVVQ1M0X1RhaWxtYXRjaAotIyBkZWZpbmUgUHlVbmljb2RlX1RyYW5zbGF0ZSBQeVVuaWNvZGVVQ1M0X1RyYW5zbGF0ZQotIyBkZWZpbmUgUHlVbmljb2RlX1RyYW5zbGF0ZUNoYXJtYXAgUHlVbmljb2RlVUNTNF9UcmFuc2xhdGVDaGFybWFwCi0jIGRlZmluZSBfUHlVbmljb2RlX0FzRGVmYXVsdEVuY29kZWRTdHJpbmcgX1B5VW5pY29kZVVDUzRfQXNEZWZhdWx0RW5jb2RlZFN0cmluZwotIyBkZWZpbmUgX1B5VW5pY29kZV9GaW5pIF9QeVVuaWNvZGVVQ1M0X0ZpbmkKLSMgZGVmaW5lIF9QeVVuaWNvZGVfSW5pdCBfUHlVbmljb2RlVUNTNF9Jbml0Ci0jIGRlZmluZSBQeVVuaWNvZGVfc3RyZHVwIFB5VW5pY29kZVVDUzRfc3RyZHVwCi0KKyNlcnJvciAiQ291bGQgbm90IGZpbmQgYSBwcm9wZXIgdHlwZWRlZiBmb3IgUHlfVUNTNCIKICNlbmRpZgogCisjaWYgU0laRU9GX1NIT1JUID09IDIKK3R5cGVkZWYgdW5zaWduZWQgc2hvcnQgUHlfVUNTMjsKKyNlbHNlCisjZXJyb3IgIkNvdWxkIG5vdCBmaW5kIGEgcHJvcGVyIHR5cGVkZWYgZm9yIFB5X1VDUzIiCisjZW5kaWYKKwordHlwZWRlZiB1bnNpZ25lZCBjaGFyIFB5X1VDUzE7CisKIC8qIC0tLSBJbnRlcm5hbCBVbmljb2RlIE9wZXJhdGlvbnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwogCiAvKiBTaW5jZSBzcGxpdHRpbmcgb24gd2hpdGVzcGFjZSBpcyBhbiBpbXBvcnRhbnQgdXNlIGNhc2UsIGFuZApAQCAtMzUwLDcgKzE3MSw3IEBACiAgICAgUHlfVU5JQ09ERV9JU0RJR0lUKGNoKSB8fCBcCiAgICAgUHlfVU5JQ09ERV9JU05VTUVSSUMoY2gpKQogCi0jZGVmaW5lIFB5X1VOSUNPREVfQ09QWSh0YXJnZXQsIHNvdXJjZSwgbGVuZ3RoKSAgICAgICAgICAgICAgICAgICAgICAgICBcCisjZGVmaW5lIFB5X1VOSUNPREVfQ09QWSh0YXJnZXQsIHNvdXJjZSwgbGVuZ3RoKSBcCiAgICAgUHlfTUVNQ1BZKCh0YXJnZXQpLCAoc291cmNlKSwgKGxlbmd0aCkqc2l6ZW9mKFB5X1VOSUNPREUpKQogCiAjZGVmaW5lIFB5X1VOSUNPREVfRklMTCh0YXJnZXQsIHZhbHVlLCBsZW5ndGgpIFwKQEAgLTM1OCwxMyArMTc5LDI3IEBACiAgICAgZm9yIChpXyA9IDA7IGlfIDwgKGxlbmd0aCk7IGlfKyspIHRfW2lfXSA9IHZfO1wKICAgICB9IHdoaWxlICgwKQogCisvKiBtYWNyb3MgdG8gd29yayB3aXRoIHN1cnJvZ2F0ZXMgKi8KKyNkZWZpbmUgUHlfVU5JQ09ERV9JU19TVVJST0dBVEUoY2gpICgweEQ4MDAgPD0gY2ggJiYgY2ggPD0gMHhERkZGKQorI2RlZmluZSBQeV9VTklDT0RFX0lTX0hJR0hfU1VSUk9HQVRFKGNoKSAoMHhEODAwIDw9IGNoICYmIGNoIDw9IDB4REJGRikKKyNkZWZpbmUgUHlfVU5JQ09ERV9JU19MT1dfU1VSUk9HQVRFKGNoKSAoMHhEQzAwIDw9IGNoICYmIGNoIDw9IDB4REZGRikKKy8qIEpvaW4gdHdvIHN1cnJvZ2F0ZSBjaGFyYWN0ZXJzIGFuZCByZXR1cm4gYSBzaW5nbGUgUHlfVUNTNCB2YWx1ZS4gKi8KKyNkZWZpbmUgUHlfVU5JQ09ERV9KT0lOX1NVUlJPR0FURVMoaGlnaCwgbG93KSAgXAorICAgICgoKCgoUHlfVUNTNCkoaGlnaCkgJiAweDAzRkYpIDw8IDEwKSB8ICAgICAgXAorICAgICAgKChQeV9VQ1M0KShsb3cpICYgMHgwM0ZGKSkgKyAweDEwMDAwKQorLyogaGlnaCBzdXJyb2dhdGUgPSB0b3AgMTAgYml0cyBhZGRlZCB0byBEODAwICovCisjZGVmaW5lIFB5X1VOSUNPREVfSElHSF9TVVJST0dBVEUoY2gpICgweEQ4MDAgfCAoKChjaCkgLSAweDEwMDAwKSA+PiAxMCkpCisvKiBsb3cgc3Vycm9nYXRlID0gYm90dG9tIDEwIGJpdHMgYWRkZWQgdG8gREMwMCAqLworI2RlZmluZSBQeV9VTklDT0RFX0xPV19TVVJST0dBVEUoY2gpICgweERDMDAgfCAoKChjaCkgLSAweDEwMDAwKSAmIDB4M0ZGKSkKKwogLyogQ2hlY2sgaWYgc3Vic3RyaW5nIG1hdGNoZXMgYXQgZ2l2ZW4gb2Zmc2V0LiAgVGhlIG9mZnNldCBtdXN0IGJlCiAgICB2YWxpZCwgYW5kIHRoZSBzdWJzdHJpbmcgbXVzdCBub3QgYmUgZW1wdHkuICovCiAKICNkZWZpbmUgUHlfVU5JQ09ERV9NQVRDSChzdHJpbmcsIG9mZnNldCwgc3Vic3RyaW5nKSBcCi0gICAgKCgqKChzdHJpbmcpLT5zdHIgKyAob2Zmc2V0KSkgPT0gKigoc3Vic3RyaW5nKS0+c3RyKSkgJiYgXAotICAgICgoKigoc3RyaW5nKS0+c3RyICsgKG9mZnNldCkgKyAoc3Vic3RyaW5nKS0+bGVuZ3RoLTEpID09ICooKHN1YnN0cmluZyktPnN0ciArIChzdWJzdHJpbmcpLT5sZW5ndGgtMSkpKSAmJiBcCi0gICAgICFtZW1jbXAoKHN0cmluZyktPnN0ciArIChvZmZzZXQpLCAoc3Vic3RyaW5nKS0+c3RyLCAoc3Vic3RyaW5nKS0+bGVuZ3RoKnNpemVvZihQeV9VTklDT0RFKSkpCisgICAgKCgqKChzdHJpbmcpLT53c3RyICsgKG9mZnNldCkpID09ICooKHN1YnN0cmluZyktPndzdHIpKSAmJiBcCisgICAgICgoKigoc3RyaW5nKS0+d3N0ciArIChvZmZzZXQpICsgKHN1YnN0cmluZyktPndzdHJfbGVuZ3RoLTEpID09ICooKHN1YnN0cmluZyktPndzdHIgKyAoc3Vic3RyaW5nKS0+d3N0cl9sZW5ndGgtMSkpKSAmJiBcCisgICAgICFtZW1jbXAoKHN0cmluZyktPndzdHIgKyAob2Zmc2V0KSwgKHN1YnN0cmluZyktPndzdHIsIChzdWJzdHJpbmcpLT53c3RyX2xlbmd0aCpzaXplb2YoUHlfVU5JQ09ERSkpKQorCiAjZW5kaWYgLyogUHlfTElNSVRFRF9BUEkgKi8KIAogI2lmZGVmIF9fY3BsdXNwbHVzCkBAIC0zNzQsNDEgKzIwOSwzNzQgQEAKIC8qIC0tLSBVbmljb2RlIFR5cGUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwogCiAjaWZuZGVmIFB5X0xJTUlURURfQVBJCisKKy8qIEFTQ0lJLW9ubHkgc3RyaW5ncyBjcmVhdGVkIHRocm91Z2ggUHlVbmljb2RlX05ldyB1c2UgdGhlIFB5QVNDSUlPYmplY3QKKyAgIHN0cnVjdHVyZS4gc3RhdGUuYXNjaWkgYW5kIHN0YXRlLmNvbXBhY3QgYXJlIHNldCwgYW5kIHRoZSBkYXRhCisgICBpbW1lZGlhdGVseSBmb2xsb3cgdGhlIHN0cnVjdHVyZS4gdXRmOF9sZW5ndGggYW5kIHdzdHJfbGVuZ3RoIGNhbiBiZSBmb3VuZAorICAgaW4gdGhlIGxlbmd0aCBmaWVsZDsgdGhlIHV0ZjggcG9pbnRlciBpcyBlcXVhbCB0byB0aGUgZGF0YSBwb2ludGVyLiAqLwogdHlwZWRlZiBzdHJ1Y3QgeworICAgIC8qIFRoZXJlIGFyZSA0IGZvcm1zIG9mIFVuaWNvZGUgc3RyaW5nczoKKworICAgICAgIC0gY29tcGFjdCBhc2NpaToKKworICAgICAgICAgKiBzdHJ1Y3R1cmUgPSBQeUFTQ0lJT2JqZWN0CisgICAgICAgICAqIHRlc3Q6IFB5VW5pY29kZV9JU19DT01QQUNUX0FTQ0lJKG9wKQorICAgICAgICAgKiBraW5kID0gUHlVbmljb2RlXzFCWVRFX0tJTkQKKyAgICAgICAgICogY29tcGFjdCA9IDEKKyAgICAgICAgICogYXNjaWkgPSAxCisgICAgICAgICAqIHJlYWR5ID0gMQorICAgICAgICAgKiAobGVuZ3RoIGlzIHRoZSBsZW5ndGggb2YgdGhlIHV0ZjggYW5kIHdzdHIgc3RyaW5ncykKKyAgICAgICAgICogKGRhdGEgc3RhcnRzIGp1c3QgYWZ0ZXIgdGhlIHN0cnVjdHVyZSkKKyAgICAgICAgICogKHNpbmNlIEFTQ0lJIGlzIGRlY29kZWQgZnJvbSBVVEYtOCwgdGhlIHV0Zjggc3RyaW5nIGFyZSB0aGUgZGF0YSkKKworICAgICAgIC0gY29tcGFjdDoKKworICAgICAgICAgKiBzdHJ1Y3R1cmUgPSBQeUNvbXBhY3RVbmljb2RlT2JqZWN0CisgICAgICAgICAqIHRlc3Q6IFB5VW5pY29kZV9JU19DT01QQUNUKG9wKSAmJiAhUHlVbmljb2RlX0lTX0FTQ0lJKG9wKQorICAgICAgICAgKiBraW5kID0gUHlVbmljb2RlXzFCWVRFX0tJTkQsIFB5VW5pY29kZV8yQllURV9LSU5EIG9yCisgICAgICAgICAgIFB5VW5pY29kZV80QllURV9LSU5ECisgICAgICAgICAqIGNvbXBhY3QgPSAxCisgICAgICAgICAqIHJlYWR5ID0gMQorICAgICAgICAgKiBhc2NpaSA9IDAKKyAgICAgICAgICogdXRmOCBpcyBub3Qgc2hhcmVkIHdpdGggZGF0YQorICAgICAgICAgKiB1dGY4X2xlbmd0aCA9IDAgaWYgdXRmOCBpcyBOVUxMCisgICAgICAgICAqIHdzdHIgaXMgc2hhcmVkIHdpdGggZGF0YSBhbmQgd3N0cl9sZW5ndGg9bGVuZ3RoCisgICAgICAgICAgIGlmIGtpbmQ9UHlVbmljb2RlXzJCWVRFX0tJTkQgYW5kIHNpemVvZih3Y2hhcl90KT0yCisgICAgICAgICAgIG9yIGlmIGtpbmQ9UHlVbmljb2RlXzRCWVRFX0tJTkQgYW5kIHNpemVvZih3Y2hhcl90KT00CisgICAgICAgICAqIHdzdHJfbGVuZ3RoID0gMCBpZiB3c3RyIGlzIE5VTEwKKyAgICAgICAgICogKGRhdGEgc3RhcnRzIGp1c3QgYWZ0ZXIgdGhlIHN0cnVjdHVyZSkKKworICAgICAgIC0gbGVnYWN5IHN0cmluZywgbm90IHJlYWR5OgorCisgICAgICAgICAqIHN0cnVjdHVyZSA9IFB5VW5pY29kZU9iamVjdAorICAgICAgICAgKiB0ZXN0OiBraW5kID09IFB5VW5pY29kZV9XQ0hBUl9LSU5ECisgICAgICAgICAqIGxlbmd0aCA9IDAgKHVzZSB3c3RyX2xlbmd0aCkKKyAgICAgICAgICogaGFzaCA9IC0xCisgICAgICAgICAqIGtpbmQgPSBQeVVuaWNvZGVfV0NIQVJfS0lORAorICAgICAgICAgKiBjb21wYWN0ID0gMAorICAgICAgICAgKiBhc2NpaSA9IDAKKyAgICAgICAgICogcmVhZHkgPSAwCisgICAgICAgICAqIGludGVybmVkID0gU1NUQVRFX05PVF9JTlRFUk5FRAorICAgICAgICAgKiB3c3RyIGlzIG5vdCBOVUxMCisgICAgICAgICAqIGRhdGEuYW55IGlzIE5VTEwKKyAgICAgICAgICogdXRmOCBpcyBOVUxMCisgICAgICAgICAqIHV0ZjhfbGVuZ3RoID0gMAorCisgICAgICAgLSBsZWdhY3kgc3RyaW5nLCByZWFkeToKKworICAgICAgICAgKiBzdHJ1Y3R1cmUgPSBQeVVuaWNvZGVPYmplY3Qgc3RydWN0dXJlCisgICAgICAgICAqIHRlc3Q6ICFQeVVuaWNvZGVfSVNfQ09NUEFDVChvcCkgJiYga2luZCAhPSBQeVVuaWNvZGVfV0NIQVJfS0lORAorICAgICAgICAgKiBraW5kID0gUHlVbmljb2RlXzFCWVRFX0tJTkQsIFB5VW5pY29kZV8yQllURV9LSU5EIG9yCisgICAgICAgICAgIFB5VW5pY29kZV80QllURV9LSU5ECisgICAgICAgICAqIGNvbXBhY3QgPSAwCisgICAgICAgICAqIHJlYWR5ID0gMQorICAgICAgICAgKiBkYXRhLmFueSBpcyBub3QgTlVMTAorICAgICAgICAgKiB1dGY4IGlzIHNoYXJlZCBhbmQgdXRmOF9sZW5ndGggPSBsZW5ndGggd2l0aCBkYXRhLmFueSBpZiBhc2NpaSA9IDEKKyAgICAgICAgICogdXRmOF9sZW5ndGggPSAwIGlmIHV0ZjggaXMgTlVMTAorICAgICAgICAgKiB3c3RyIGlzIHNoYXJlZCB3aXRoIGRhdGEuYW55IGFuZCB3c3RyX2xlbmd0aCA9IGxlbmd0aAorICAgICAgICAgICBpZiBraW5kPVB5VW5pY29kZV8yQllURV9LSU5EIGFuZCBzaXplb2Yod2NoYXJfdCk9MgorICAgICAgICAgICBvciBpZiBraW5kPVB5VW5pY29kZV80QllURV9LSU5EIGFuZCBzaXplb2Yod2NoYXJfNCk9NAorICAgICAgICAgKiB3c3RyX2xlbmd0aCA9IDAgaWYgd3N0ciBpcyBOVUxMCisKKyAgICAgICBDb21wYWN0IHN0cmluZ3MgdXNlIG9ubHkgb25lIG1lbW9yeSBibG9jayAoc3RydWN0dXJlICsgY2hhcmFjdGVycyksCisgICAgICAgd2hlcmVhcyBsZWdhY3kgc3RyaW5ncyB1c2Ugb25lIGJsb2NrIGZvciB0aGUgc3RydWN0dXJlIGFuZCBvbmUgYmxvY2sKKyAgICAgICBmb3IgY2hhcmFjdGVycy4KKworICAgICAgIExlZ2FjeSBzdHJpbmdzIGFyZSBjcmVhdGVkIGJ5IFB5VW5pY29kZV9Gcm9tVW5pY29kZSgpIGFuZAorICAgICAgIFB5VW5pY29kZV9Gcm9tU3RyaW5nQW5kU2l6ZShOVUxMLCBzaXplKSBmdW5jdGlvbnMuIFRoZXkgYmVjb21lIHJlYWR5CisgICAgICAgd2hlbiBQeVVuaWNvZGVfUkVBRFkoKSBpcyBjYWxsZWQuCisKKyAgICAgICBTZWUgYWxzbyBfUHlVbmljb2RlX0NoZWNrQ29uc2lzdGVuY3koKS4KKyAgICAqLwogICAgIFB5T2JqZWN0X0hFQUQKLSAgICBQeV9zc2l6ZV90IGxlbmd0aDsgICAgICAgICAgLyogTGVuZ3RoIG9mIHJhdyBVbmljb2RlIGRhdGEgaW4gYnVmZmVyICovCi0gICAgUHlfVU5JQ09ERSAqc3RyOyAgICAgICAgICAgIC8qIFJhdyBVbmljb2RlIGJ1ZmZlciAqLworICAgIFB5X3NzaXplX3QgbGVuZ3RoOyAgICAgICAgICAvKiBOdW1iZXIgb2YgY29kZSBwb2ludHMgaW4gdGhlIHN0cmluZyAqLwogICAgIFB5X2hhc2hfdCBoYXNoOyAgICAgICAgICAgICAvKiBIYXNoIHZhbHVlOyAtMSBpZiBub3Qgc2V0ICovCi0gICAgaW50IHN0YXRlOyAgICAgICAgICAgICAgICAgIC8qICE9IDAgaWYgaW50ZXJuZWQuIEluIHRoaXMgY2FzZSB0aGUgdHdvCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIHJlZmVyZW5jZXMgZnJvbSB0aGUgZGljdGlvbmFyeSB0byB0aGlzIG9iamVjdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiBhcmUgKm5vdCogY291bnRlZCBpbiBvYl9yZWZjbnQuICovCi0gICAgUHlPYmplY3QgKmRlZmVuYzsgICAgICAgICAgIC8qIChEZWZhdWx0KSBFbmNvZGVkIHZlcnNpb24gYXMgUHl0aG9uCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmluZywgb3IgTlVMTDsgdGhpcyBpcyB1c2VkIGZvcgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbXBsZW1lbnRpbmcgdGhlIGJ1ZmZlciBwcm90b2NvbCAqLworICAgIHN0cnVjdCB7CisgICAgICAgIC8qCisgICAgICAgICAgIFNTVEFURV9OT1RfSU5URVJORUQgKDApCisgICAgICAgICAgIFNTVEFURV9JTlRFUk5FRF9NT1JUQUwgKDEpCisgICAgICAgICAgIFNTVEFURV9JTlRFUk5FRF9JTU1PUlRBTCAoMikKKworICAgICAgICAgICBJZiBpbnRlcm5lZCAhPSBTU1RBVEVfTk9UX0lOVEVSTkVELCB0aGUgdHdvIHJlZmVyZW5jZXMgZnJvbSB0aGUKKyAgICAgICAgICAgZGljdGlvbmFyeSB0byB0aGlzIG9iamVjdCBhcmUgKm5vdCogY291bnRlZCBpbiBvYl9yZWZjbnQuCisgICAgICAgICAqLworICAgICAgICB1bnNpZ25lZCBpbnQgaW50ZXJuZWQ6MjsKKyAgICAgICAgLyogQ2hhcmFjdGVyIHNpemU6CisKKyAgICAgICAgICAgLSBQeVVuaWNvZGVfV0NIQVJfS0lORCAoMCk6CisKKyAgICAgICAgICAgICAqIGNoYXJhY3RlciB0eXBlID0gd2NoYXJfdCAoMTYgb3IgMzIgYml0cywgZGVwZW5kaW5nIG9uIHRoZQorICAgICAgICAgICAgICAgcGxhdGZvcm0pCisKKyAgICAgICAgICAgLSBQeVVuaWNvZGVfMUJZVEVfS0lORCAoMSk6CisKKyAgICAgICAgICAgICAqIGNoYXJhY3RlciB0eXBlID0gUHlfVUNTMSAoOCBiaXRzLCB1bnNpZ25lZCkKKyAgICAgICAgICAgICAqIGFsbCBjaGFyYWN0ZXJzIGFyZSBpbiB0aGUgcmFuZ2UgVSswMDAwLVUrMDBGRiAobGF0aW4xKQorICAgICAgICAgICAgICogaWYgYXNjaWkgaXMgc2V0LCBhbGwgY2hhcmFjdGVycyBhcmUgaW4gdGhlIHJhbmdlIFUrMDAwMC1VKzAwN0YKKyAgICAgICAgICAgICAgIChBU0NJSSksIG90aGVyd2lzZSBhdCBsZWFzdCBvbmUgY2hhcmFjdGVyIGlzIGluIHRoZSByYW5nZQorICAgICAgICAgICAgICAgVSswMDgwLVUrMDBGRgorCisgICAgICAgICAgIC0gUHlVbmljb2RlXzJCWVRFX0tJTkQgKDIpOgorCisgICAgICAgICAgICAgKiBjaGFyYWN0ZXIgdHlwZSA9IFB5X1VDUzIgKDE2IGJpdHMsIHVuc2lnbmVkKQorICAgICAgICAgICAgICogYWxsIGNoYXJhY3RlcnMgYXJlIGluIHRoZSByYW5nZSBVKzAwMDAtVStGRkZGIChCTVApCisgICAgICAgICAgICAgKiBhdCBsZWFzdCBvbmUgY2hhcmFjdGVyIGlzIGluIHRoZSByYW5nZSBVKzAxMDAtVStGRkZGCisKKyAgICAgICAgICAgLSBQeVVuaWNvZGVfNEJZVEVfS0lORCAoNCk6CisKKyAgICAgICAgICAgICAqIGNoYXJhY3RlciB0eXBlID0gUHlfVUNTNCAoMzIgYml0cywgdW5zaWduZWQpCisgICAgICAgICAgICAgKiBhbGwgY2hhcmFjdGVycyBhcmUgaW4gdGhlIHJhbmdlIFUrMDAwMC1VKzEwRkZGRgorICAgICAgICAgICAgICogYXQgbGVhc3Qgb25lIGNoYXJhY3RlciBpcyBpbiB0aGUgcmFuZ2UgVSsxMDAwMC1VKzEwRkZGRgorICAgICAgICAgKi8KKyAgICAgICAgdW5zaWduZWQgaW50IGtpbmQ6MzsKKyAgICAgICAgLyogQ29tcGFjdCBpcyB3aXRoIHJlc3BlY3QgdG8gdGhlIGFsbG9jYXRpb24gc2NoZW1lLiBDb21wYWN0IHVuaWNvZGUKKyAgICAgICAgICAgb2JqZWN0cyBvbmx5IHJlcXVpcmUgb25lIG1lbW9yeSBibG9jayB3aGlsZSBub24tY29tcGFjdCBvYmplY3RzIHVzZQorICAgICAgICAgICBvbmUgYmxvY2sgZm9yIHRoZSBQeVVuaWNvZGVPYmplY3Qgc3RydWN0IGFuZCBhbm90aGVyIGZvciBpdHMgZGF0YQorICAgICAgICAgICBidWZmZXIuICovCisgICAgICAgIHVuc2lnbmVkIGludCBjb21wYWN0OjE7CisgICAgICAgIC8qIFRoZSBzdHJpbmcgb25seSBjb250YWlucyBjaGFyYWN0ZXJzIGluIHRoZSByYW5nZSBVKzAwMDAtVSswMDdGIChBU0NJSSkKKyAgICAgICAgICAgYW5kIHRoZSBraW5kIGlzIFB5VW5pY29kZV8xQllURV9LSU5ELiBJZiBhc2NpaSBpcyBzZXQgYW5kIGNvbXBhY3QgaXMKKyAgICAgICAgICAgc2V0LCB1c2UgdGhlIFB5QVNDSUlPYmplY3Qgc3RydWN0dXJlLiAqLworICAgICAgICB1bnNpZ25lZCBpbnQgYXNjaWk6MTsKKyAgICAgICAgLyogVGhlIHJlYWR5IGZsYWcgaW5kaWNhdGVzIHdoZXRoZXIgdGhlIG9iamVjdCBsYXlvdXQgaXMgaW5pdGlhbGl6ZWQKKyAgICAgICAgICAgY29tcGxldGVseS4gVGhpcyBtZWFucyB0aGF0IHRoaXMgaXMgZWl0aGVyIGEgY29tcGFjdCBvYmplY3QsIG9yCisgICAgICAgICAgIHRoZSBkYXRhIHBvaW50ZXIgaXMgZmlsbGVkIG91dC4gVGhlIGJpdCBpcyByZWR1bmRhbnQsIGFuZCBoZWxwcworICAgICAgICAgICB0byBtaW5pbWl6ZSB0aGUgdGVzdCBpbiBQeVVuaWNvZGVfSVNfUkVBRFkoKS4gKi8KKyAgICAgICAgdW5zaWduZWQgaW50IHJlYWR5OjE7CisgICAgfSBzdGF0ZTsKKyAgICB3Y2hhcl90ICp3c3RyOyAgICAgICAgICAgICAgLyogd2NoYXJfdCByZXByZXNlbnRhdGlvbiAobnVsbC10ZXJtaW5hdGVkKSAqLworfSBQeUFTQ0lJT2JqZWN0OworCisvKiBOb24tQVNDSUkgc3RyaW5ncyBhbGxvY2F0ZWQgdGhyb3VnaCBQeVVuaWNvZGVfTmV3IHVzZSB0aGUKKyAgIFB5Q29tcGFjdFVuaWNvZGVPYmplY3Qgc3RydWN0dXJlLiBzdGF0ZS5jb21wYWN0IGlzIHNldCwgYW5kIHRoZSBkYXRhCisgICBpbW1lZGlhdGVseSBmb2xsb3cgdGhlIHN0cnVjdHVyZS4gKi8KK3R5cGVkZWYgc3RydWN0IHsKKyAgICBQeUFTQ0lJT2JqZWN0IF9iYXNlOworICAgIFB5X3NzaXplX3QgdXRmOF9sZW5ndGg7ICAgICAvKiBOdW1iZXIgb2YgYnl0ZXMgaW4gdXRmOCwgZXhjbHVkaW5nIHRoZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiB0ZXJtaW5hdGluZyBcMC4gKi8KKyAgICBjaGFyICp1dGY4OyAgICAgICAgICAgICAgICAgLyogVVRGLTggcmVwcmVzZW50YXRpb24gKG51bGwtdGVybWluYXRlZCkgKi8KKyAgICBQeV9zc2l6ZV90IHdzdHJfbGVuZ3RoOyAgICAgLyogTnVtYmVyIG9mIGNvZGUgcG9pbnRzIGluIHdzdHIsIHBvc3NpYmxlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIHN1cnJvZ2F0ZXMgY291bnQgYXMgdHdvIGNvZGUgcG9pbnRzLiAqLworfSBQeUNvbXBhY3RVbmljb2RlT2JqZWN0OworCisvKiBTdHJpbmdzIGFsbG9jYXRlZCB0aHJvdWdoIFB5VW5pY29kZV9Gcm9tVW5pY29kZShOVUxMLCBsZW4pIHVzZSB0aGUKKyAgIFB5VW5pY29kZU9iamVjdCBzdHJ1Y3R1cmUuIFRoZSBhY3R1YWwgc3RyaW5nIGRhdGEgaXMgaW5pdGlhbGx5IGluIHRoZSB3c3RyCisgICBibG9jaywgYW5kIGNvcGllZCBpbnRvIHRoZSBkYXRhIGJsb2NrIHVzaW5nIF9QeVVuaWNvZGVfUmVhZHkuICovCit0eXBlZGVmIHN0cnVjdCB7CisgICAgUHlDb21wYWN0VW5pY29kZU9iamVjdCBfYmFzZTsKKyAgICB1bmlvbiB7CisgICAgICAgIHZvaWQgKmFueTsKKyAgICAgICAgUHlfVUNTMSAqbGF0aW4xOworICAgICAgICBQeV9VQ1MyICp1Y3MyOworICAgICAgICBQeV9VQ1M0ICp1Y3M0OworICAgIH0gZGF0YTsgICAgICAgICAgICAgICAgICAgICAvKiBDYW5vbmljYWwsIHNtYWxsZXN0LWZvcm0gVW5pY29kZSBidWZmZXIgKi8KIH0gUHlVbmljb2RlT2JqZWN0OwogI2VuZGlmCiAKIFB5QVBJX0RBVEEoUHlUeXBlT2JqZWN0KSBQeVVuaWNvZGVfVHlwZTsKIFB5QVBJX0RBVEEoUHlUeXBlT2JqZWN0KSBQeVVuaWNvZGVJdGVyX1R5cGU7CiAKLSNkZWZpbmUgU1NUQVRFX05PVF9JTlRFUk5FRCAwCi0jZGVmaW5lIFNTVEFURV9JTlRFUk5FRF9NT1JUQUwgMQotI2RlZmluZSBTU1RBVEVfSU5URVJORURfSU1NT1JUQUwgMgotCiAjZGVmaW5lIFB5VW5pY29kZV9DaGVjayhvcCkgXAogICAgICAgICAgICAgICAgICBQeVR5cGVfRmFzdFN1YmNsYXNzKFB5X1RZUEUob3ApLCBQeV9UUEZMQUdTX1VOSUNPREVfU1VCQ0xBU1MpCiAjZGVmaW5lIFB5VW5pY29kZV9DaGVja0V4YWN0KG9wKSAoUHlfVFlQRShvcCkgPT0gJlB5VW5pY29kZV9UeXBlKQogCiAvKiBGYXN0IGFjY2VzcyBtYWNyb3MgKi8KICNpZm5kZWYgUHlfTElNSVRFRF9BUEkKLSNkZWZpbmUgUHlVbmljb2RlX0dFVF9TSVpFKG9wKSBcCi0gICAgKGFzc2VydChQeVVuaWNvZGVfQ2hlY2sob3ApKSwoKChQeVVuaWNvZGVPYmplY3QgKikob3ApKS0+bGVuZ3RoKSkKKworI2RlZmluZSBQeVVuaWNvZGVfV1NUUl9MRU5HVEgob3ApIFwKKyAgICAoUHlVbmljb2RlX0lTX0NPTVBBQ1RfQVNDSUkob3ApID8gICAgICAgICAgICAgICAgICBcCisgICAgICgoUHlBU0NJSU9iamVjdCopb3ApLT5sZW5ndGggOiAgICAgICAgICAgICAgICAgICAgXAorICAgICAoKFB5Q29tcGFjdFVuaWNvZGVPYmplY3QqKW9wKS0+d3N0cl9sZW5ndGgpCisKKy8qIFJldHVybnMgdGhlIGRlcHJlY2F0ZWQgUHlfVU5JQ09ERSByZXByZXNlbnRhdGlvbidzIHNpemUgaW4gY29kZSB1bml0cworICAgKHRoaXMgaW5jbHVkZXMgc3Vycm9nYXRlIHBhaXJzIGFzIDIgdW5pdHMpLgorICAgSWYgdGhlIFB5X1VOSUNPREUgcmVwcmVzZW50YXRpb24gaXMgbm90IGF2YWlsYWJsZSwgaXQgd2lsbCBiZSBjb21wdXRlZAorICAgb24gcmVxdWVzdC4gIFVzZSBQeVVuaWNvZGVfR0VUX0xFTkdUSCgpIGZvciB0aGUgbGVuZ3RoIGluIGNvZGUgcG9pbnRzLiAqLworCisjZGVmaW5lIFB5VW5pY29kZV9HRVRfU0laRShvcCkgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAoYXNzZXJ0KFB5VW5pY29kZV9DaGVjayhvcCkpLCAgICAgICAgICAgICAgICAgICAgXAorICAgICAoKChQeUFTQ0lJT2JqZWN0ICopKG9wKSktPndzdHIpID8gICAgICAgICAgICAgICBcCisgICAgICBQeVVuaWNvZGVfV1NUUl9MRU5HVEgob3ApIDogICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICgodm9pZClQeVVuaWNvZGVfQXNVbmljb2RlKChQeU9iamVjdCAqKShvcCkpLCAgXAorICAgICAgIGFzc2VydCgoKFB5QVNDSUlPYmplY3QgKikob3ApKS0+d3N0ciksICAgICAgICBcCisgICAgICAgUHlVbmljb2RlX1dTVFJfTEVOR1RIKG9wKSkpCisKICNkZWZpbmUgUHlVbmljb2RlX0dFVF9EQVRBX1NJWkUob3ApIFwKLSAgICAoYXNzZXJ0KFB5VW5pY29kZV9DaGVjayhvcCkpLCgoKFB5VW5pY29kZU9iamVjdCAqKShvcCkpLT5sZW5ndGggKiBzaXplb2YoUHlfVU5JQ09ERSkpKQorICAgIChQeVVuaWNvZGVfR0VUX1NJWkUob3ApICogUHlfVU5JQ09ERV9TSVpFKQorCisvKiBBbGlhcyBmb3IgUHlVbmljb2RlX0FzVW5pY29kZSgpLiAgVGhpcyB3aWxsIGNyZWF0ZSBhIHdjaGFyX3QvUHlfVU5JQ09ERQorICAgcmVwcmVzZW50YXRpb24gb24gZGVtYW5kLiAgVXNpbmcgdGhpcyBtYWNybyBpcyB2ZXJ5IGluZWZmaWNpZW50IG5vdywKKyAgIHRyeSB0byBwb3J0IHlvdXIgY29kZSB0byB1c2UgdGhlIG5ldyBQeVVuaWNvZGVfKkJZVEVfREFUQSgpIG1hY3JvcyBvcgorICAgdXNlIFB5VW5pY29kZV9XUklURSgpIGFuZCBQeVVuaWNvZGVfUkVBRCgpLiAqLworCiAjZGVmaW5lIFB5VW5pY29kZV9BU19VTklDT0RFKG9wKSBcCi0gICAgKGFzc2VydChQeVVuaWNvZGVfQ2hlY2sob3ApKSwoKChQeVVuaWNvZGVPYmplY3QgKikob3ApKS0+c3RyKSkKKyAgICAoYXNzZXJ0KFB5VW5pY29kZV9DaGVjayhvcCkpLCBcCisgICAgICgoKFB5QVNDSUlPYmplY3QgKikob3ApKS0+d3N0cikgPyAoKChQeUFTQ0lJT2JqZWN0ICopKG9wKSktPndzdHIpIDogXAorICAgICAgUHlVbmljb2RlX0FzVW5pY29kZSgoUHlPYmplY3QgKikob3ApKSkKKwogI2RlZmluZSBQeVVuaWNvZGVfQVNfREFUQShvcCkgXAotICAgIChhc3NlcnQoUHlVbmljb2RlX0NoZWNrKG9wKSksKChjb25zdCBjaGFyICopKChQeVVuaWNvZGVPYmplY3QgKikob3ApKS0+c3RyKSkKKyAgICAoKGNvbnN0IGNoYXIgKikoUHlVbmljb2RlX0FTX1VOSUNPREUob3ApKSkKKworCisvKiAtLS0gRmxleGlibGUgU3RyaW5nIFJlcHJlc2VudGF0aW9uIEhlbHBlciBNYWNyb3MgKFBFUCAzOTMpIC0tLS0tLS0tLS0tLS0tICovCisKKy8qIFZhbHVlcyBmb3IgUHlBU0NJSU9iamVjdC5zdGF0ZTogKi8KKworLyogSW50ZXJuaW5nIHN0YXRlLiAqLworI2RlZmluZSBTU1RBVEVfTk9UX0lOVEVSTkVEIDAKKyNkZWZpbmUgU1NUQVRFX0lOVEVSTkVEX01PUlRBTCAxCisjZGVmaW5lIFNTVEFURV9JTlRFUk5FRF9JTU1PUlRBTCAyCisKKy8qIFJldHVybiB0cnVlIGlmIHRoZSBzdHJpbmcgY29udGFpbnMgb25seSBBU0NJSSBjaGFyYWN0ZXJzLCBvciAwIGlmIG5vdC4gVGhlCisgICBzdHJpbmcgbWF5IGJlIGNvbXBhY3QgKFB5VW5pY29kZV9JU19DT01QQUNUX0FTQ0lJKSBvciBub3QsIGJ1dCBtdXN0IGJlCisgICByZWFkeS4gKi8KKyNkZWZpbmUgUHlVbmljb2RlX0lTX0FTQ0lJKG9wKSAgICAgICAgICAgICAgICAgICBcCisgICAgKGFzc2VydChQeVVuaWNvZGVfQ2hlY2sob3ApKSwgICAgICAgICAgICAgICAgXAorICAgICBhc3NlcnQoUHlVbmljb2RlX0lTX1JFQURZKG9wKSksICAgICAgICAgICAgIFwKKyAgICAgKChQeUFTQ0lJT2JqZWN0KilvcCktPnN0YXRlLmFzY2lpKQorCisvKiBSZXR1cm4gdHJ1ZSBpZiB0aGUgc3RyaW5nIGlzIGNvbXBhY3Qgb3IgMCBpZiBub3QuCisgICBObyB0eXBlIGNoZWNrcyBvciBSZWFkeSBjYWxscyBhcmUgcGVyZm9ybWVkLiAqLworI2RlZmluZSBQeVVuaWNvZGVfSVNfQ09NUEFDVChvcCkgXAorICAgICgoKFB5QVNDSUlPYmplY3QqKShvcCkpLT5zdGF0ZS5jb21wYWN0KQorCisvKiBSZXR1cm4gdHJ1ZSBpZiB0aGUgc3RyaW5nIGlzIGEgY29tcGFjdCBBU0NJSSBzdHJpbmcgKHVzZSBQeUFTQ0lJT2JqZWN0CisgICBzdHJ1Y3R1cmUpLCBvciAwIGlmIG5vdC4gIE5vIHR5cGUgY2hlY2tzIG9yIFJlYWR5IGNhbGxzIGFyZSBwZXJmb3JtZWQuICovCisjZGVmaW5lIFB5VW5pY29kZV9JU19DT01QQUNUX0FTQ0lJKG9wKSAgICAgICAgICAgICAgICAgXAorICAgICgoKFB5QVNDSUlPYmplY3QqKW9wKS0+c3RhdGUuYXNjaWkgJiYgUHlVbmljb2RlX0lTX0NPTVBBQ1Qob3ApKQorCitlbnVtIFB5VW5pY29kZV9LaW5kIHsKKy8qIFN0cmluZyBjb250YWlucyBvbmx5IHdzdHIgYnl0ZSBjaGFyYWN0ZXJzLiAgVGhpcyBpcyBvbmx5IHBvc3NpYmxlCisgICB3aGVuIHRoZSBzdHJpbmcgd2FzIGNyZWF0ZWQgd2l0aCBhIGxlZ2FjeSBBUEkgYW5kIF9QeVVuaWNvZGVfUmVhZHkoKQorICAgaGFzIG5vdCBiZWVuIGNhbGxlZCB5ZXQuICAqLworICAgIFB5VW5pY29kZV9XQ0hBUl9LSU5EID0gMCwKKy8qIFJldHVybiB2YWx1ZXMgb2YgdGhlIFB5VW5pY29kZV9LSU5EKCkgbWFjcm86ICovCisgICAgUHlVbmljb2RlXzFCWVRFX0tJTkQgPSAxLAorICAgIFB5VW5pY29kZV8yQllURV9LSU5EID0gMiwKKyAgICBQeVVuaWNvZGVfNEJZVEVfS0lORCA9IDQKK307CisKKy8qIFJldHVybiBwb2ludGVycyB0byB0aGUgY2Fub25pY2FsIHJlcHJlc2VudGF0aW9uIGNhc3QgdG8gdW5zaWduZWQgY2hhciwKKyAgIFB5X1VDUzIsIG9yIFB5X1VDUzQgZm9yIGRpcmVjdCBjaGFyYWN0ZXIgYWNjZXNzLgorICAgTm8gY2hlY2tzIGFyZSBwZXJmb3JtZWQsIHVzZSBQeVVuaWNvZGVfS0lORCgpIGJlZm9yZSB0byBlbnN1cmUKKyAgIHRoZXNlIHdpbGwgd29yayBjb3JyZWN0bHkuICovCisKKyNkZWZpbmUgUHlVbmljb2RlXzFCWVRFX0RBVEEob3ApICgoUHlfVUNTMSopUHlVbmljb2RlX0RBVEEob3ApKQorI2RlZmluZSBQeVVuaWNvZGVfMkJZVEVfREFUQShvcCkgKChQeV9VQ1MyKilQeVVuaWNvZGVfREFUQShvcCkpCisjZGVmaW5lIFB5VW5pY29kZV80QllURV9EQVRBKG9wKSAoKFB5X1VDUzQqKVB5VW5pY29kZV9EQVRBKG9wKSkKKworLyogUmV0dXJuIG9uZSBvZiB0aGUgUHlVbmljb2RlXypfS0lORCB2YWx1ZXMgZGVmaW5lZCBhYm92ZS4gKi8KKyNkZWZpbmUgUHlVbmljb2RlX0tJTkQob3ApIFwKKyAgICAoYXNzZXJ0KFB5VW5pY29kZV9DaGVjayhvcCkpLCBcCisgICAgIGFzc2VydChQeVVuaWNvZGVfSVNfUkVBRFkob3ApKSwgICAgICAgICAgICBcCisgICAgICgoUHlBU0NJSU9iamVjdCAqKShvcCkpLT5zdGF0ZS5raW5kKQorCisvKiBSZXR1cm4gYSB2b2lkIHBvaW50ZXIgdG8gdGhlIHJhdyB1bmljb2RlIGJ1ZmZlci4gKi8KKyNkZWZpbmUgX1B5VW5pY29kZV9DT01QQUNUX0RBVEEob3ApICAgICAgICAgICAgICAgICAgICAgXAorICAgIChQeVVuaWNvZGVfSVNfQVNDSUkob3ApID8gICAgICAgICAgICAgICAgICAgXAorICAgICAoKHZvaWQqKSgoUHlBU0NJSU9iamVjdCopKG9wKSArIDEpKSA6ICAgICAgICAgICAgICBcCisgICAgICgodm9pZCopKChQeUNvbXBhY3RVbmljb2RlT2JqZWN0Kikob3ApICsgMSkpKQorCisjZGVmaW5lIF9QeVVuaWNvZGVfTk9OQ09NUEFDVF9EQVRBKG9wKSAgICAgICAgICAgICAgICAgIFwKKyAgICAoYXNzZXJ0KCgoUHlVbmljb2RlT2JqZWN0Kikob3ApKS0+ZGF0YS5hbnkpLCAgICAgICAgXAorICAgICAoKCgoUHlVbmljb2RlT2JqZWN0ICopKG9wKSktPmRhdGEuYW55KSkpCisKKyNkZWZpbmUgUHlVbmljb2RlX0RBVEEob3ApIFwKKyAgICAoYXNzZXJ0KFB5VW5pY29kZV9DaGVjayhvcCkpLCBcCisgICAgIFB5VW5pY29kZV9JU19DT01QQUNUKG9wKSA/IF9QeVVuaWNvZGVfQ09NUEFDVF9EQVRBKG9wKSA6ICAgXAorICAgICBfUHlVbmljb2RlX05PTkNPTVBBQ1RfREFUQShvcCkpCisKKy8qIEluIHRoZSBhY2Nlc3MgbWFjcm9zIGJlbG93LCAia2luZCIgbWF5IGJlIGV2YWx1YXRlZCBtb3JlIHRoYW4gb25jZS4KKyAgIEFsbCBvdGhlciBtYWNybyBwYXJhbWV0ZXJzIGFyZSBldmFsdWF0ZWQgZXhhY3RseSBvbmNlLCBzbyBpdCBpcyBzYWZlCisgICB0byBwdXQgc2lkZSBlZmZlY3RzIGludG8gdGhlbSAoc3VjaCBhcyBpbmNyZWFzaW5nIHRoZSBpbmRleCkuICovCisKKy8qIFdyaXRlIGludG8gdGhlIGNhbm9uaWNhbCByZXByZXNlbnRhdGlvbiwgdGhpcyBtYWNybyBkb2VzIG5vdCBkbyBhbnkgc2FuaXR5CisgICBjaGVja3MgYW5kIGlzIGludGVuZGVkIGZvciB1c2FnZSBpbiBsb29wcy4gIFRoZSBjYWxsZXIgc2hvdWxkIGNhY2hlIHRoZQorICAga2luZCBhbmQgZGF0YSBwb2ludGVycyBvYnRhaW5lZCBmcm9tIG90aGVyIG1hY3JvIGNhbGxzLgorICAgaW5kZXggaXMgdGhlIGluZGV4IGluIHRoZSBzdHJpbmcgKHN0YXJ0cyBhdCAwKSBhbmQgdmFsdWUgaXMgdGhlIG5ldworICAgY29kZSBwb2ludCB2YWx1ZSB3aGljaCBzaG91bGQgYmUgd3JpdHRlbiB0byB0aGF0IGxvY2F0aW9uLiAqLworI2RlZmluZSBQeVVuaWNvZGVfV1JJVEUoa2luZCwgZGF0YSwgaW5kZXgsIHZhbHVlKSBcCisgICAgZG8geyBcCisgICAgICAgIHN3aXRjaCAoKGtpbmQpKSB7IFwKKyAgICAgICAgY2FzZSBQeVVuaWNvZGVfMUJZVEVfS0lORDogeyBcCisgICAgICAgICAgICAoKFB5X1VDUzEgKikoZGF0YSkpWyhpbmRleCldID0gKFB5X1VDUzEpKHZhbHVlKTsgXAorICAgICAgICAgICAgYnJlYWs7IFwKKyAgICAgICAgfSBcCisgICAgICAgIGNhc2UgUHlVbmljb2RlXzJCWVRFX0tJTkQ6IHsgXAorICAgICAgICAgICAgKChQeV9VQ1MyICopKGRhdGEpKVsoaW5kZXgpXSA9IChQeV9VQ1MyKSh2YWx1ZSk7IFwKKyAgICAgICAgICAgIGJyZWFrOyBcCisgICAgICAgIH0gXAorICAgICAgICBkZWZhdWx0OiB7IFwKKyAgICAgICAgICAgIGFzc2VydCgoa2luZCkgPT0gUHlVbmljb2RlXzRCWVRFX0tJTkQpOyBcCisgICAgICAgICAgICAoKFB5X1VDUzQgKikoZGF0YSkpWyhpbmRleCldID0gKFB5X1VDUzQpKHZhbHVlKTsgXAorICAgICAgICB9IFwKKyAgICAgICAgfSBcCisgICAgfSB3aGlsZSAoMCkKKworLyogUmVhZCBhIGNvZGUgcG9pbnQgZnJvbSB0aGUgc3RyaW5nJ3MgY2Fub25pY2FsIHJlcHJlc2VudGF0aW9uLiAgTm8gY2hlY2tzCisgICBvciByZWFkeSBjYWxscyBhcmUgcGVyZm9ybWVkLiAqLworI2RlZmluZSBQeVVuaWNvZGVfUkVBRChraW5kLCBkYXRhLCBpbmRleCkgXAorICAgICgoUHlfVUNTNCkgXAorICAgICgoa2luZCkgPT0gUHlVbmljb2RlXzFCWVRFX0tJTkQgPyBcCisgICAgICAgICgoY29uc3QgUHlfVUNTMSAqKShkYXRhKSlbKGluZGV4KV0gOiBcCisgICAgICAgICgoa2luZCkgPT0gUHlVbmljb2RlXzJCWVRFX0tJTkQgPyBcCisgICAgICAgICAgICAoKGNvbnN0IFB5X1VDUzIgKikoZGF0YSkpWyhpbmRleCldIDogXAorICAgICAgICAgICAgKChjb25zdCBQeV9VQ1M0ICopKGRhdGEpKVsoaW5kZXgpXSBcCisgICAgICAgICkgXAorICAgICkpCisKKy8qIFB5VW5pY29kZV9SRUFEX0NIQVIoKSBpcyBsZXNzIGVmZmljaWVudCB0aGFuIFB5VW5pY29kZV9SRUFEKCkgYmVjYXVzZSBpdAorICAgY2FsbHMgUHlVbmljb2RlX0tJTkQoKSBhbmQgbWlnaHQgY2FsbCBpdCB0d2ljZS4gIEZvciBzaW5nbGUgcmVhZHMsIHVzZQorICAgUHlVbmljb2RlX1JFQURfQ0hBUiwgZm9yIG11bHRpcGxlIGNvbnNlY3V0aXZlIHJlYWRzIGNhbGxlcnMgc2hvdWxkCisgICBjYWNoZSBraW5kIGFuZCB1c2UgUHlVbmljb2RlX1JFQUQgaW5zdGVhZC4gKi8KKyNkZWZpbmUgUHlVbmljb2RlX1JFQURfQ0hBUih1bmljb2RlLCBpbmRleCkgXAorICAgIChhc3NlcnQoUHlVbmljb2RlX0NoZWNrKHVuaWNvZGUpKSwgICAgICAgICAgXAorICAgICBhc3NlcnQoUHlVbmljb2RlX0lTX1JFQURZKHVuaWNvZGUpKSwgICAgICAgXAorICAgICAoUHlfVUNTNCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAoUHlVbmljb2RlX0tJTkQoKHVuaWNvZGUpKSA9PSBQeVVuaWNvZGVfMUJZVEVfS0lORCA/IFwKKyAgICAgICAgICAgICgoY29uc3QgUHlfVUNTMSAqKShQeVVuaWNvZGVfREFUQSgodW5pY29kZSkpKSlbKGluZGV4KV0gOiBcCisgICAgICAgICAgICAoUHlVbmljb2RlX0tJTkQoKHVuaWNvZGUpKSA9PSBQeVVuaWNvZGVfMkJZVEVfS0lORCA/IFwKKyAgICAgICAgICAgICAgICAoKGNvbnN0IFB5X1VDUzIgKikoUHlVbmljb2RlX0RBVEEoKHVuaWNvZGUpKSkpWyhpbmRleCldIDogXAorICAgICAgICAgICAgICAgICgoY29uc3QgUHlfVUNTNCAqKShQeVVuaWNvZGVfREFUQSgodW5pY29kZSkpKSlbKGluZGV4KV0gXAorICAgICAgICAgICAgKSBcCisgICAgICAgICkpCisKKy8qIFJldHVybnMgdGhlIGxlbmd0aCBvZiB0aGUgdW5pY29kZSBzdHJpbmcuIFRoZSBjYWxsZXIgaGFzIHRvIG1ha2Ugc3VyZSB0aGF0CisgICB0aGUgc3RyaW5nIGhhcyBpdCdzIGNhbm9uaWNhbCByZXByZXNlbnRhdGlvbiBzZXQgYmVmb3JlIGNhbGxpbmcKKyAgIHRoaXMgbWFjcm8uICBDYWxsIFB5VW5pY29kZV8oRkFTVF8pUmVhZHkgdG8gZW5zdXJlIHRoYXQuICovCisjZGVmaW5lIFB5VW5pY29kZV9HRVRfTEVOR1RIKG9wKSAgICAgICAgICAgICAgICBcCisgICAgKGFzc2VydChQeVVuaWNvZGVfQ2hlY2sob3ApKSwgICAgICAgICAgICAgICBcCisgICAgIGFzc2VydChQeVVuaWNvZGVfSVNfUkVBRFkob3ApKSwgICAgICAgICAgICBcCisgICAgICgoUHlBU0NJSU9iamVjdCAqKShvcCkpLT5sZW5ndGgpCisKKworLyogRmFzdCBjaGVjayB0byBkZXRlcm1pbmUgd2hldGhlciBhbiBvYmplY3QgaXMgcmVhZHkuIEVxdWl2YWxlbnQgdG8KKyAgIFB5VW5pY29kZV9JU19DT01QQUNUKG9wKSB8fCAoKFB5VW5pY29kZU9iamVjdCopKG9wKSktPmRhdGEuYW55KSAqLworCisjZGVmaW5lIFB5VW5pY29kZV9JU19SRUFEWShvcCkgKCgoUHlBU0NJSU9iamVjdCopb3ApLT5zdGF0ZS5yZWFkeSkKKworLyogUHlVbmljb2RlX1JFQURZKCkgZG9lcyBsZXNzIHdvcmsgdGhhbiBfUHlVbmljb2RlX1JlYWR5KCkgaW4gdGhlIGJlc3QKKyAgIGNhc2UuICBJZiB0aGUgY2Fub25pY2FsIHJlcHJlc2VudGF0aW9uIGlzIG5vdCB5ZXQgc2V0LCBpdCB3aWxsIHN0aWxsIGNhbGwKKyAgIF9QeVVuaWNvZGVfUmVhZHkoKS4KKyAgIFJldHVybnMgMCBvbiBzdWNjZXNzIGFuZCAtMSBvbiBlcnJvcnMuICovCisjZGVmaW5lIFB5VW5pY29kZV9SRUFEWShvcCkgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgKGFzc2VydChQeVVuaWNvZGVfQ2hlY2sob3ApKSwgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgKFB5VW5pY29kZV9JU19SRUFEWShvcCkgPyAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgMCA6IF9QeVVuaWNvZGVfUmVhZHkoKFB5T2JqZWN0ICopKG9wKSkpKQorCisvKiBSZXR1cm4gYSBtYXhpbXVtIGNoYXJhY3RlciB2YWx1ZSB3aGljaCBpcyBzdWl0YWJsZSBmb3IgY3JlYXRpbmcgYW5vdGhlcgorICAgc3RyaW5nIGJhc2VkIG9uIG9wLiAgVGhpcyBpcyBhbHdheXMgYW4gYXBwcm94aW1hdGlvbiBidXQgbW9yZSBlZmZpY2llbnQKKyAgIHRoYW4gaXRlcmF0aW5nIG92ZXIgdGhlIHN0cmluZy4gKi8KKyNkZWZpbmUgUHlVbmljb2RlX01BWF9DSEFSX1ZBTFVFKG9wKSBcCisgICAgKGFzc2VydChQeVVuaWNvZGVfSVNfUkVBRFkob3ApKSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgIChQeVVuaWNvZGVfSVNfQVNDSUkob3ApID8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAoMHg3ZikgOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAoUHlVbmljb2RlX0tJTkQob3ApID09IFB5VW5pY29kZV8xQllURV9LSU5EID8gICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgKDB4ZmZVKSA6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgKFB5VW5pY29kZV9LSU5EKG9wKSA9PSBQeVVuaWNvZGVfMkJZVEVfS0lORCA/ICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICgweGZmZmZVKSA6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICgweDEwZmZmZlUpKSkpKQorCiAjZW5kaWYKIAogLyogLS0tIENvbnN0YW50cyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCkBAIC00MTgsMTIgKzU4Niw4NyBAQAogICAgVW5pY29kZSBjaGFyYWN0ZXIgVStGRkZEIGlzIHRoZSBvZmZpY2lhbCBSRVBMQUNFTUVOVCBDSEFSQUNURVIgaW4KICAgIFVuaWNvZGUgMy4wLiAqLwogCi0jZGVmaW5lIFB5X1VOSUNPREVfUkVQTEFDRU1FTlRfQ0hBUkFDVEVSICgoUHlfVU5JQ09ERSkgMHhGRkZEKQorI2RlZmluZSBQeV9VTklDT0RFX1JFUExBQ0VNRU5UX0NIQVJBQ1RFUiAoKFB5X1VDUzQpIDB4RkZGRCkKIAogLyogPT09IFB1YmxpYyBBUEkgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCiAKIC8qIC0tLSBQbGFpbiBQeV9VTklDT0RFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwogCisvKiBXaXRoIFBFUCAzOTMsIHRoaXMgaXMgdGhlIHJlY29tbWVuZGVkIHdheSB0byBhbGxvY2F0ZSBhIG5ldyB1bmljb2RlIG9iamVjdC4KKyAgIFRoaXMgZnVuY3Rpb24gd2lsbCBhbGxvY2F0ZSB0aGUgb2JqZWN0IGFuZCBpdHMgYnVmZmVyIGluIGEgc2luZ2xlIG1lbW9yeQorICAgYmxvY2suICBPYmplY3RzIGNyZWF0ZWQgdXNpbmcgdGhpcyBmdW5jdGlvbiBhcmUgbm90IHJlc2l6YWJsZS4gKi8KKyNpZm5kZWYgUHlfTElNSVRFRF9BUEkKK1B5QVBJX0ZVTkMoUHlPYmplY3QqKSBQeVVuaWNvZGVfTmV3KAorICAgIFB5X3NzaXplX3Qgc2l6ZSwgICAgICAgICAgICAvKiBOdW1iZXIgb2YgY29kZSBwb2ludHMgaW4gdGhlIG5ldyBzdHJpbmcgKi8KKyAgICBQeV9VQ1M0IG1heGNoYXIgICAgICAgICAgICAgLyogbWF4aW11bSBjb2RlIHBvaW50IHZhbHVlIGluIHRoZSBzdHJpbmcgKi8KKyAgICApOworI2VuZGlmCisKKy8qIEluaXRpYWxpemVzIHRoZSBjYW5vbmljYWwgc3RyaW5nIHJlcHJlc2VudGF0aW9uIGZyb20gYSB0aGUgZGVwcmVjYXRlZAorICAgd3N0ci9QeV9VTklDT0RFIHJlcHJlc2VudGF0aW9uLiBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgdG8gY29udmVydCBVbmljb2RlCisgICBvYmplY3RzIHdoaWNoIHdlcmUgY3JlYXRlZCB1c2luZyB0aGUgb2xkIEFQSSB0byB0aGUgbmV3IGZsZXhpYmxlIGZvcm1hdAorICAgaW50cm9kdWNlZCB3aXRoIFBFUCAzOTMuCisKKyAgIERvbid0IGNhbGwgdGhpcyBmdW5jdGlvbiBkaXJlY3RseSwgdXNlIHRoZSBwdWJsaWMgUHlVbmljb2RlX1JFQURZKCkgbWFjcm8KKyAgIGluc3RlYWQuICovCisjaWZuZGVmIFB5X0xJTUlURURfQVBJCitQeUFQSV9GVU5DKGludCkgX1B5VW5pY29kZV9SZWFkeSgKKyAgICBQeU9iamVjdCAqdW5pY29kZSAgICAgICAgICAgLyogVW5pY29kZSBvYmplY3QgKi8KKyAgICApOworI2VuZGlmCisKKy8qIEdldCBhIGNvcHkgb2YgYSBVbmljb2RlIHN0cmluZy4gKi8KKyNpZm5kZWYgUHlfTElNSVRFRF9BUEkKK1B5QVBJX0ZVTkMoUHlPYmplY3QqKSBfUHlVbmljb2RlX0NvcHkoCisgICAgUHlPYmplY3QgKnVuaWNvZGUKKyAgICApOworI2VuZGlmCisKKy8qIENvcHkgY2hhcmFjdGVyIGZyb20gb25lIHVuaWNvZGUgb2JqZWN0IGludG8gYW5vdGhlciwgdGhpcyBmdW5jdGlvbiBwZXJmb3JtcworICAgY2hhcmFjdGVyIGNvbnZlcnNpb24gd2hlbiBuZWNlc3NhcnkgYW5kIGZhbGxzIGJhY2sgdG8gbWVtY3B5KCkgaWYgcG9zc2libGUuCisKKyAgIEZhaWwgaWYgdG8gaXMgdG9vIHNtYWxsIChzbWFsbGVyIHRoYW4gKmhvd19tYW55KiBvciBzbWFsbGVyIHRoYW4KKyAgIGxlbihmcm9tKS1mcm9tX3N0YXJ0KSwgb3IgaWYga2luZChmcm9tW2Zyb21fc3RhcnQ6ZnJvbV9zdGFydCtob3dfbWFueV0pID4KKyAgIGtpbmQodG8pLCBvciBpZiAqdG8qIGhhcyBtb3JlIHRoYW4gMSByZWZlcmVuY2UuCisKKyAgIFJldHVybiB0aGUgbnVtYmVyIG9mIHdyaXR0ZW4gY2hhcmFjdGVyLCBvciByZXR1cm4gLTEgYW5kIHJhaXNlIGFuIGV4Y2VwdGlvbgorICAgb24gZXJyb3IuCisKKyAgIFBzZXVkby1jb2RlOgorCisgICAgICAgaG93X21hbnkgPSBtaW4oaG93X21hbnksIGxlbihmcm9tKSAtIGZyb21fc3RhcnQpCisgICAgICAgdG9bdG9fc3RhcnQ6dG9fc3RhcnQraG93X21hbnldID0gZnJvbVtmcm9tX3N0YXJ0OmZyb21fc3RhcnQraG93X21hbnldCisgICAgICAgcmV0dXJuIGhvd19tYW55CisKKyAgIE5vdGU6IFRoZSBmdW5jdGlvbiBkb2Vzbid0IHdyaXRlIGEgdGVybWluYXRpbmcgbnVsbCBjaGFyYWN0ZXIuCisgICAqLworI2lmbmRlZiBQeV9MSU1JVEVEX0FQSQorUHlBUElfRlVOQyhQeV9zc2l6ZV90KSBQeVVuaWNvZGVfQ29weUNoYXJhY3RlcnMoCisgICAgUHlPYmplY3QgKnRvLAorICAgIFB5X3NzaXplX3QgdG9fc3RhcnQsCisgICAgUHlPYmplY3QgKmZyb20sCisgICAgUHlfc3NpemVfdCBmcm9tX3N0YXJ0LAorICAgIFB5X3NzaXplX3QgaG93X21hbnkKKyAgICApOworI2VuZGlmCisKKy8qIEZpbGwgYSBzdHJpbmcgd2l0aCBhIGNoYXJhY3Rlcjogd3JpdGUgZmlsbF9jaGFyIGludG8KKyAgIHVuaWNvZGVbc3RhcnQ6c3RhcnQrbGVuZ3RoXS4KKworICAgRmFpbCBpZiBmaWxsX2NoYXIgaXMgYmlnZ2VyIHRoYW4gdGhlIHN0cmluZyBtYXhpbXVtIGNoYXJhY3Rlciwgb3IgaWYgdGhlCisgICBzdHJpbmcgaGFzIG1vcmUgdGhhbiAxIHJlZmVyZW5jZS4KKworICAgUmV0dXJuIHRoZSBudW1iZXIgb2Ygd3JpdHRlbiBjaGFyYWN0ZXIsIG9yIHJldHVybiAtMSBhbmQgcmFpc2UgYW4gZXhjZXB0aW9uCisgICBvbiBlcnJvci4gKi8KKyNpZm5kZWYgUHlfTElNSVRFRF9BUEkKK1B5QVBJX0ZVTkMoUHlfc3NpemVfdCkgUHlVbmljb2RlX0ZpbGwoCisgICAgUHlPYmplY3QgKnVuaWNvZGUsCisgICAgUHlfc3NpemVfdCBzdGFydCwKKyAgICBQeV9zc2l6ZV90IGxlbmd0aCwKKyAgICBQeV9VQ1M0IGZpbGxfY2hhcgorICAgICk7CisjZW5kaWYKKwogLyogQ3JlYXRlIGEgVW5pY29kZSBPYmplY3QgZnJvbSB0aGUgUHlfVU5JQ09ERSBidWZmZXIgdSBvZiB0aGUgZ2l2ZW4KICAgIHNpemUuCiAKQEAgLTQ0OCwxMyArNjkxLDQ1IEBACiAgICAgKTsKIAogLyogU2ltaWxhciB0byBQeVVuaWNvZGVfRnJvbVVuaWNvZGUoKSwgYnV0IHUgcG9pbnRzIHRvIG51bGwtdGVybWluYXRlZAotICAgVVRGLTggZW5jb2RlZCBieXRlcyAqLworICAgVVRGLTggZW5jb2RlZCBieXRlcy4gIFRoZSBzaXplIGlzIGRldGVybWluZWQgd2l0aCBzdHJsZW4oKS4gKi8KIFB5QVBJX0ZVTkMoUHlPYmplY3QqKSBQeVVuaWNvZGVfRnJvbVN0cmluZygKICAgICBjb25zdCBjaGFyICp1ICAgICAgICAgICAgICAvKiBVVEYtOCBlbmNvZGVkIHN0cmluZyAqLwogICAgICk7CiAKKy8qIENyZWF0ZSBhIG5ldyBzdHJpbmcgZnJvbSBhIGJ1ZmZlciBvZiBQeV9VQ1MxLCBQeV9VQ1MyIG9yIFB5X1VDUzQgY2hhcmFjdGVycy4KKyAgIFNjYW4gdGhlIHN0cmluZyB0byBmaW5kIHRoZSBtYXhpbXVtIGNoYXJhY3Rlci4gKi8KKyNpZm5kZWYgUHlfTElNSVRFRF9BUEkKK1B5QVBJX0ZVTkMoUHlPYmplY3QqKSBQeVVuaWNvZGVfRnJvbUtpbmRBbmREYXRhKAorICAgIGludCBraW5kLAorICAgIGNvbnN0IHZvaWQgKmJ1ZmZlciwKKyAgICBQeV9zc2l6ZV90IHNpemUpOworI2VuZGlmCisKK1B5QVBJX0ZVTkMoUHlPYmplY3QqKSBQeVVuaWNvZGVfU3Vic3RyaW5nKAorICAgIFB5T2JqZWN0ICpzdHIsCisgICAgUHlfc3NpemVfdCBzdGFydCwKKyAgICBQeV9zc2l6ZV90IGVuZCk7CisKKy8qIENvcHkgdGhlIHN0cmluZyBpbnRvIGEgVUNTNCBidWZmZXIgaW5jbHVkaW5nIHRoZSBudWxsIGNoYXJhY3RlciBpZiBjb3B5X251bGwKKyAgIGlzIHNldC4gUmV0dXJuIE5VTEwgYW5kIHJhaXNlIGFuIGV4Y2VwdGlvbiBvbiBlcnJvci4gUmFpc2UgYSBWYWx1ZUVycm9yIGlmCisgICB0aGUgYnVmZmVyIGlzIHNtYWxsZXIgdGhhbiB0aGUgc3RyaW5nLiBSZXR1cm4gYnVmZmVyIG9uIHN1Y2Nlc3MuCisKKyAgIGJ1ZmxlbiBpcyB0aGUgbGVuZ3RoIG9mIHRoZSBidWZmZXIgaW4gKFB5X1VDUzQpIGNoYXJhY3RlcnMuICovCitQeUFQSV9GVU5DKFB5X1VDUzQqKSBQeVVuaWNvZGVfQXNVQ1M0KAorICAgIFB5T2JqZWN0ICp1bmljb2RlLAorICAgIFB5X1VDUzQqIGJ1ZmZlciwKKyAgICBQeV9zc2l6ZV90IGJ1ZmxlbiwKKyAgICBpbnQgY29weV9udWxsKTsKKworLyogQ29weSB0aGUgc3RyaW5nIGludG8gYSBVQ1M0IGJ1ZmZlci4gQSBuZXcgYnVmZmVyIGlzIGFsbG9jYXRlZCB1c2luZworICogUHlNZW1fTWFsbG9jOyBpZiB0aGlzIGZhaWxzLCBOVUxMIGlzIHJldHVybmVkIHdpdGggYSBtZW1vcnkgZXJyb3IKKyAgIGV4Y2VwdGlvbiBzZXQuICovCitQeUFQSV9GVU5DKFB5X1VDUzQqKSBQeVVuaWNvZGVfQXNVQ1M0Q29weShQeU9iamVjdCAqdW5pY29kZSk7CisKIC8qIFJldHVybiBhIHJlYWQtb25seSBwb2ludGVyIHRvIHRoZSBVbmljb2RlIG9iamVjdCdzIGludGVybmFsCi0gICBQeV9VTklDT0RFIGJ1ZmZlci4gKi8KKyAgIFB5X1VOSUNPREUgYnVmZmVyLgorICAgSWYgdGhlIHdjaGFyX3QvUHlfVU5JQ09ERSByZXByZXNlbnRhdGlvbiBpcyBub3QgeWV0IGF2YWlsYWJsZSwgdGhpcworICAgZnVuY3Rpb24gd2lsbCBjYWxjdWxhdGUgaXQuICovCiAKICNpZm5kZWYgUHlfTElNSVRFRF9BUEkKIFB5QVBJX0ZVTkMoUHlfVU5JQ09ERSAqKSBQeVVuaWNvZGVfQXNVbmljb2RlKApAQCAtNDYyLDMwICs3MzcsNjkgQEAKICAgICApOwogI2VuZGlmCiAKKy8qIFJldHVybiBhIHJlYWQtb25seSBwb2ludGVyIHRvIHRoZSBVbmljb2RlIG9iamVjdCdzIGludGVybmFsCisgICBQeV9VTklDT0RFIGJ1ZmZlciBhbmQgc2F2ZSB0aGUgbGVuZ3RoIGF0IHNpemUuCisgICBJZiB0aGUgd2NoYXJfdC9QeV9VTklDT0RFIHJlcHJlc2VudGF0aW9uIGlzIG5vdCB5ZXQgYXZhaWxhYmxlLCB0aGlzCisgICBmdW5jdGlvbiB3aWxsIGNhbGN1bGF0ZSBpdC4gKi8KKworI2lmbmRlZiBQeV9MSU1JVEVEX0FQSQorUHlBUElfRlVOQyhQeV9VTklDT0RFICopIFB5VW5pY29kZV9Bc1VuaWNvZGVBbmRTaXplKAorICAgIFB5T2JqZWN0ICp1bmljb2RlLCAgICAgICAgICAvKiBVbmljb2RlIG9iamVjdCAqLworICAgIFB5X3NzaXplX3QgKnNpemUgICAgICAgICAgICAvKiBsb2NhdGlvbiB3aGVyZSB0byBzYXZlIHRoZSBsZW5ndGggKi8KKyAgICApOworI2VuZGlmCisKIC8qIEdldCB0aGUgbGVuZ3RoIG9mIHRoZSBVbmljb2RlIG9iamVjdC4gKi8KIAorUHlBUElfRlVOQyhQeV9zc2l6ZV90KSBQeVVuaWNvZGVfR2V0TGVuZ3RoKAorICAgIFB5T2JqZWN0ICp1bmljb2RlCispOworCisvKiBHZXQgdGhlIG51bWJlciBvZiBQeV9VTklDT0RFIHVuaXRzIGluIHRoZQorICAgc3RyaW5nIHJlcHJlc2VudGF0aW9uLiAqLworCiBQeUFQSV9GVU5DKFB5X3NzaXplX3QpIFB5VW5pY29kZV9HZXRTaXplKAogICAgIFB5T2JqZWN0ICp1bmljb2RlICAgICAgICAgICAvKiBVbmljb2RlIG9iamVjdCAqLwogICAgICk7CiAKKy8qIFJlYWQgYSBjaGFyYWN0ZXIgZnJvbSB0aGUgc3RyaW5nLiAqLworCitQeUFQSV9GVU5DKFB5X1VDUzQpIFB5VW5pY29kZV9SZWFkQ2hhcigKKyAgICBQeU9iamVjdCAqdW5pY29kZSwKKyAgICBQeV9zc2l6ZV90IGluZGV4CisgICAgKTsKKworLyogV3JpdGUgYSBjaGFyYWN0ZXIgdG8gdGhlIHN0cmluZy4gVGhlIHN0cmluZyBtdXN0IGhhdmUgYmVlbiBjcmVhdGVkIHRocm91Z2gKKyAgIFB5VW5pY29kZV9OZXcsIG11c3Qgbm90IGJlIHNoYXJlZCwgYW5kIG11c3Qgbm90IGhhdmUgYmVlbiBoYXNoZWQgeWV0LgorCisgICBSZXR1cm4gMCBvbiBzdWNjZXNzLCAtMSBvbiBlcnJvci4gKi8KKworUHlBUElfRlVOQyhpbnQpIFB5VW5pY29kZV9Xcml0ZUNoYXIoCisgICAgUHlPYmplY3QgKnVuaWNvZGUsCisgICAgUHlfc3NpemVfdCBpbmRleCwKKyAgICBQeV9VQ1M0IGNoYXJhY3RlcgorICAgICk7CisKICNpZm5kZWYgUHlfTElNSVRFRF9BUEkKIC8qIEdldCB0aGUgbWF4aW11bSBvcmRpbmFsIGZvciBhIFVuaWNvZGUgY2hhcmFjdGVyLiAqLwogUHlBUElfRlVOQyhQeV9VTklDT0RFKSBQeVVuaWNvZGVfR2V0TWF4KHZvaWQpOwogI2VuZGlmCiAKLS8qIFJlc2l6ZSBhbiBhbHJlYWR5IGFsbG9jYXRlZCBVbmljb2RlIG9iamVjdCB0byB0aGUgbmV3IHNpemUgbGVuZ3RoLgorLyogUmVzaXplIGFuIFVuaWNvZGUgb2JqZWN0LiBUaGUgbGVuZ3RoIGlzIHRoZSBudW1iZXIgb2YgY2hhcmFjdGVycywgZXhjZXB0CisgICBpZiB0aGUga2luZCBvZiB0aGUgc3RyaW5nIGlzIFB5VW5pY29kZV9XQ0hBUl9LSU5EOiBpbiB0aGlzIGNhc2UsIHRoZSBsZW5ndGgKKyAgIGlzIHRoZSBudW1iZXIgb2YgUHlfVU5JQ09ERSBjaGFyYWN0ZXJzLgogCiAgICAqdW5pY29kZSBpcyBtb2RpZmllZCB0byBwb2ludCB0byB0aGUgbmV3IChyZXNpemVkKSBvYmplY3QgYW5kIDAKICAgIHJldHVybmVkIG9uIHN1Y2Nlc3MuCiAKLSAgIFRoaXMgQVBJIG1heSBvbmx5IGJlIGNhbGxlZCBieSB0aGUgZnVuY3Rpb24gd2hpY2ggYWxzbyBjYWxsZWQgdGhlCi0gICBVbmljb2RlIGNvbnN0cnVjdG9yLiBUaGUgcmVmY291bnQgb24gdGhlIG9iamVjdCBtdXN0IGJlIDEuIE90aGVyd2lzZSwKLSAgIGFuIGVycm9yIGlzIHJldHVybmVkLgorICAgVHJ5IHRvIHJlc2l6ZSB0aGUgc3RyaW5nIGluIHBsYWNlICh3aGljaCBpcyB1c3VhbGx5IGZhc3RlciB0aGFuIGFsbG9jYXRpbmcKKyAgIGEgbmV3IHN0cmluZyBhbmQgY29weSBjaGFyYWN0ZXJzKSwgb3IgY3JlYXRlIGEgbmV3IHN0cmluZy4KIAogICAgRXJyb3IgaGFuZGxpbmcgaXMgaW1wbGVtZW50ZWQgYXMgZm9sbG93czogYW4gZXhjZXB0aW9uIGlzIHNldCwgLTEKICAgIGlzIHJldHVybmVkIGFuZCAqdW5pY29kZSBsZWZ0IHVudG91Y2hlZC4KIAotKi8KKyAgIFdBUk5JTkc6IFRoZSBmdW5jdGlvbiBkb2Vzbid0IGNoZWNrIHN0cmluZyBjb250ZW50LCB0aGUgcmVzdWx0IG1heSBub3QgYmUgYQorICAgICAgICAgICAgc3RyaW5nIGluIGNhbm9uaWNhbCByZXByZXNlbnRhdGlvbi4gKi8KIAogUHlBUElfRlVOQyhpbnQpIFB5VW5pY29kZV9SZXNpemUoCiAgICAgUHlPYmplY3QgKip1bmljb2RlLCAgICAgICAgIC8qIFBvaW50ZXIgdG8gdGhlIFVuaWNvZGUgb2JqZWN0ICovCkBAIC01NDUsOCArODU5LDkgQEAKIC8qIEZvcm1hdCB0aGUgb2JqZWN0IGJhc2VkIG9uIHRoZSBmb3JtYXRfc3BlYywgYXMgZGVmaW5lZCBpbiBQRVAgMzEwMQogICAgKEFkdmFuY2VkIFN0cmluZyBGb3JtYXR0aW5nKS4gKi8KIFB5QVBJX0ZVTkMoUHlPYmplY3QgKikgX1B5VW5pY29kZV9Gb3JtYXRBZHZhbmNlZChQeU9iamVjdCAqb2JqLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5X1VOSUNPREUgKmZvcm1hdF9zcGVjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3QgZm9ybWF0X3NwZWNfbGVuKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeU9iamVjdCAqZm9ybWF0X3NwZWMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBzdGFydCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IGVuZCk7CiAjZW5kaWYKIAogUHlBUElfRlVOQyh2b2lkKSBQeVVuaWNvZGVfSW50ZXJuSW5QbGFjZShQeU9iamVjdCAqKik7CkBAIC01NTksNyArODc0LDggQEAKICNlbmRpZgogCiAvKiBVc2Ugb25seSBpZiB5b3Uga25vdyBpdCdzIGEgc3RyaW5nICovCi0jZGVmaW5lIFB5VW5pY29kZV9DSEVDS19JTlRFUk5FRChvcCkgKCgoUHlVbmljb2RlT2JqZWN0ICopKG9wKSktPnN0YXRlKQorI2RlZmluZSBQeVVuaWNvZGVfQ0hFQ0tfSU5URVJORUQob3ApIFwKKyAgICAoKChQeUFTQ0lJT2JqZWN0ICopKG9wKSktPnN0YXRlLmludGVybmVkKQogCiAvKiAtLS0gd2NoYXJfdCBzdXBwb3J0IGZvciBwbGF0Zm9ybXMgd2hpY2ggc3VwcG9ydCBpdCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KIApAQCAtNjA2LDYgKzkyMiwxMCBAQAogICAgIFB5X3NzaXplX3QgKnNpemUgICAgICAgICAgICAvKiBudW1iZXIgb2YgY2hhcmFjdGVycyBvZiB0aGUgcmVzdWx0ICovCiAgICAgKTsKIAorI2lmbmRlZiBQeV9MSU1JVEVEX0FQSQorUHlBUElfRlVOQyh2b2lkKikgX1B5VW5pY29kZV9Bc0tpbmQoUHlPYmplY3QgKnMsIHVuc2lnbmVkIGludCBraW5kKTsKKyNlbmRpZgorCiAjZW5kaWYKIAogLyogLS0tIFVuaWNvZGUgb3JkaW5hbHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCkBAIC02NTEsNTAgKzk3MSw0MiBAQAogCiAvKiAtLS0gTWFuYWdlIHRoZSBkZWZhdWx0IGVuY29kaW5nIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KIAotLyogUmV0dXJuIGEgUHl0aG9uIHN0cmluZyBob2xkaW5nIHRoZSBkZWZhdWx0IGVuY29kZWQgdmFsdWUgb2YgdGhlCi0gICBVbmljb2RlIG9iamVjdC4KLQotICAgU2FtZSBhcyBQeVVuaWNvZGVfQXNVVEY4U3RyaW5nKCkgZXhjZXB0Ci0gICB0aGUgcmVzdWx0aW5nIHN0cmluZyBpcyBjYWNoZWQgaW4gdGhlIFVuaWNvZGUgb2JqZWN0IGZvciBzdWJzZXF1ZW50Ci0gICB1c2FnZSBieSB0aGlzIGZ1bmN0aW9uLiBUaGUgY2FjaGVkIHZlcnNpb24gaXMgbmVlZGVkIHRvIGltcGxlbWVudAotICAgdGhlIGNoYXJhY3RlciBidWZmZXIgaW50ZXJmYWNlIGFuZCB3aWxsIGxpdmUgKGF0IGxlYXN0KSBhcyBsb25nIGFzCi0gICB0aGUgVW5pY29kZSBvYmplY3QgaXRzZWxmLgotCi0gICBUaGUgcmVmY291bnQgb2YgdGhlIHN0cmluZyBpcyAqbm90KiBpbmNyZW1lbnRlZC4KLQotICAgKioqIEV4cG9ydGVkIGZvciBpbnRlcm5hbCB1c2UgYnkgdGhlIGludGVycHJldGVyIG9ubHkgISEhICoqKgotCi0qLwotCi0jaWZuZGVmIFB5X0xJTUlURURfQVBJCi1QeUFQSV9GVU5DKFB5T2JqZWN0ICopIF9QeVVuaWNvZGVfQXNEZWZhdWx0RW5jb2RlZFN0cmluZygKLSAgICBQeU9iamVjdCAqdW5pY29kZSwKLSAgICBjb25zdCBjaGFyICplcnJvcnMpOwotI2VuZGlmCi0KIC8qIFJldHVybnMgYSBwb2ludGVyIHRvIHRoZSBkZWZhdWx0IGVuY29kaW5nIChVVEYtOCkgb2YgdGhlCiAgICBVbmljb2RlIG9iamVjdCB1bmljb2RlIGFuZCB0aGUgc2l6ZSBvZiB0aGUgZW5jb2RlZCByZXByZXNlbnRhdGlvbgogICAgaW4gYnl0ZXMgc3RvcmVkIGluICpzaXplLgogCiAgICBJbiBjYXNlIG9mIGFuIGVycm9yLCBubyAqc2l6ZSBpcyBzZXQuCiAKKyAgIFRoaXMgZnVuY3Rpb24gY2FjaGVzIHRoZSBVVEYtOCBlbmNvZGVkIHN0cmluZyBpbiB0aGUgdW5pY29kZW9iamVjdAorICAgYW5kIHN1YnNlcXVlbnQgY2FsbHMgd2lsbCByZXR1cm4gdGhlIHNhbWUgc3RyaW5nLiAgVGhlIG1lbW9yeSBpcyByZWxlYXNlZAorICAgd2hlbiB0aGUgdW5pY29kZW9iamVjdCBpcyBkZWFsbG9jYXRlZC4KKworICAgX1B5VW5pY29kZV9Bc1N0cmluZ0FuZFNpemUgaXMgYSAjZGVmaW5lIGZvciBQeVVuaWNvZGVfQXNVVEY4QW5kU2l6ZSB0bworICAgc3VwcG9ydCB0aGUgcHJldmlvdXMgaW50ZXJuYWwgZnVuY3Rpb24gd2l0aCB0aGUgc2FtZSBiZWhhdmlvdXIuCisKICAgICoqKiBUaGlzIEFQSSBpcyBmb3IgaW50ZXJwcmV0ZXIgSU5URVJOQUwgVVNFIE9OTFkgYW5kIHdpbGwgbGlrZWx5CiAgICAqKiogYmUgcmVtb3ZlZCBvciBjaGFuZ2VkIGluIHRoZSBmdXR1cmUuCiAKICAgICoqKiBJZiB5b3UgbmVlZCB0byBhY2Nlc3MgdGhlIFVuaWNvZGUgb2JqZWN0IGFzIFVURi04IGJ5dGVzIHN0cmluZywKICAgICoqKiBwbGVhc2UgdXNlIFB5VW5pY29kZV9Bc1VURjhTdHJpbmcoKSBpbnN0ZWFkLgotCiAqLwogCiAjaWZuZGVmIFB5X0xJTUlURURfQVBJCi1QeUFQSV9GVU5DKGNoYXIgKikgX1B5VW5pY29kZV9Bc1N0cmluZ0FuZFNpemUoCitQeUFQSV9GVU5DKGNoYXIgKikgUHlVbmljb2RlX0FzVVRGOEFuZFNpemUoCiAgICAgUHlPYmplY3QgKnVuaWNvZGUsCiAgICAgUHlfc3NpemVfdCAqc2l6ZSk7CisjZGVmaW5lIF9QeVVuaWNvZGVfQXNTdHJpbmdBbmRTaXplIFB5VW5pY29kZV9Bc1VURjhBbmRTaXplCiAjZW5kaWYKIAogLyogUmV0dXJucyBhIHBvaW50ZXIgdG8gdGhlIGRlZmF1bHQgZW5jb2RpbmcgKFVURi04KSBvZiB0aGUKICAgIFVuaWNvZGUgb2JqZWN0IHVuaWNvZGUuCiAKKyAgIExpa2UgUHlVbmljb2RlX0FzVVRGOEFuZFNpemUoKSwgdGhpcyBhbHNvIGNhY2hlcyB0aGUgVVRGLTggcmVwcmVzZW50YXRpb24KKyAgIGluIHRoZSB1bmljb2Rlb2JqZWN0LgorCisgICBfUHlVbmljb2RlX0FzU3RyaW5nIGlzIGEgI2RlZmluZSBmb3IgUHlVbmljb2RlX0FzVVRGOCB0bworICAgc3VwcG9ydCB0aGUgcHJldmlvdXMgaW50ZXJuYWwgZnVuY3Rpb24gd2l0aCB0aGUgc2FtZSBiZWhhdmlvdXIuCisKICAgIFVzZSBvZiB0aGlzIEFQSSBpcyBERVBSRUNBVEVEIHNpbmNlIG5vIHNpemUgaW5mb3JtYXRpb24gY2FuIGJlCiAgICBleHRyYWN0ZWQgZnJvbSB0aGUgcmV0dXJuZWQgZGF0YS4KIApAQCAtNzA3LDcgKzEwMTksOCBAQAogKi8KIAogI2lmbmRlZiBQeV9MSU1JVEVEX0FQSQotUHlBUElfRlVOQyhjaGFyICopIF9QeVVuaWNvZGVfQXNTdHJpbmcoUHlPYmplY3QgKnVuaWNvZGUpOworUHlBUElfRlVOQyhjaGFyICopIFB5VW5pY29kZV9Bc1VURjgoUHlPYmplY3QgKnVuaWNvZGUpOworI2RlZmluZSBfUHlVbmljb2RlX0FzU3RyaW5nIFB5VW5pY29kZV9Bc1VURjgKICNlbmRpZgogCiAvKiBSZXR1cm5zICJ1dGYtOCIuICAqLwpAQCAtODEyLDYgKzExMjUsMTIgQEAKICAgICBpbnQgYmFzZTY0V2hpdGVTcGFjZSwgICAgICAgLyogRW5jb2RlIHdoaXRlc3BhY2UgKHNwLCBodCwgbmwsIGNyKSBpbiBiYXNlNjQgKi8KICAgICBjb25zdCBjaGFyICplcnJvcnMgICAgICAgICAgLyogZXJyb3IgaGFuZGxpbmcgKi8KICAgICApOworUHlBUElfRlVOQyhQeU9iamVjdCopIF9QeVVuaWNvZGVfRW5jb2RlVVRGNygKKyAgICBQeU9iamVjdCAqdW5pY29kZSwgICAgICAgICAgLyogVW5pY29kZSBvYmplY3QgKi8KKyAgICBpbnQgYmFzZTY0U2V0TywgICAgICAgICAgICAgLyogRW5jb2RlIFJGQzIxNTIgU2V0IE8gY2hhcmFjdGVycyBpbiBiYXNlNjQgKi8KKyAgICBpbnQgYmFzZTY0V2hpdGVTcGFjZSwgICAgICAgLyogRW5jb2RlIHdoaXRlc3BhY2UgKHNwLCBodCwgbmwsIGNyKSBpbiBiYXNlNjQgKi8KKyAgICBjb25zdCBjaGFyICplcnJvcnMgICAgICAgICAgLyogZXJyb3IgaGFuZGxpbmcgKi8KKyAgICApOwogI2VuZGlmCiAKIC8qIC0tLSBVVEYtOCBDb2RlY3MgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwpAQCAtODM0LDYgKzExNTMsMTAgQEAKICAgICApOwogCiAjaWZuZGVmIFB5X0xJTUlURURfQVBJCitQeUFQSV9GVU5DKFB5T2JqZWN0KikgX1B5VW5pY29kZV9Bc1VURjhTdHJpbmcoCisgICAgUHlPYmplY3QgKnVuaWNvZGUsCisgICAgY29uc3QgY2hhciAqZXJyb3JzKTsKKwogUHlBUElfRlVOQyhQeU9iamVjdCopIFB5VW5pY29kZV9FbmNvZGVVVEY4KAogICAgIGNvbnN0IFB5X1VOSUNPREUgKmRhdGEsICAgICAvKiBVbmljb2RlIGNoYXIgYnVmZmVyICovCiAgICAgUHlfc3NpemVfdCBsZW5ndGgsICAgICAgICAgIC8qIG51bWJlciBvZiBQeV9VTklDT0RFIGNoYXJzIHRvIGVuY29kZSAqLwpAQCAtOTE1LDYgKzEyMzgsMTEgQEAKICAgICBjb25zdCBjaGFyICplcnJvcnMsICAgICAgICAgLyogZXJyb3IgaGFuZGxpbmcgKi8KICAgICBpbnQgYnl0ZW9yZGVyICAgICAgICAgICAgICAgLyogYnl0ZW9yZGVyIHRvIHVzZSAwPUJPTStuYXRpdmU7LTE9TEUsMT1CRSAqLwogICAgICk7CitQeUFQSV9GVU5DKFB5T2JqZWN0KikgX1B5VW5pY29kZV9FbmNvZGVVVEYzMigKKyAgICBQeU9iamVjdCAqb2JqZWN0LCAgICAgICAgICAgLyogVW5pY29kZSBvYmplY3QgKi8KKyAgICBjb25zdCBjaGFyICplcnJvcnMsICAgICAgICAgLyogZXJyb3IgaGFuZGxpbmcgKi8KKyAgICBpbnQgYnl0ZW9yZGVyICAgICAgICAgICAgICAgLyogYnl0ZW9yZGVyIHRvIHVzZSAwPUJPTStuYXRpdmU7LTE9TEUsMT1CRSAqLworICAgICk7CiAjZW5kaWYKIAogLyogLS0tIFVURi0xNiBDb2RlY3MgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCkBAIC05OTUsNiArMTMyMywxMSBAQAogICAgIGNvbnN0IGNoYXIgKmVycm9ycywgICAgICAgICAvKiBlcnJvciBoYW5kbGluZyAqLwogICAgIGludCBieXRlb3JkZXIgICAgICAgICAgICAgICAvKiBieXRlb3JkZXIgdG8gdXNlIDA9Qk9NK25hdGl2ZTstMT1MRSwxPUJFICovCiAgICAgKTsKK1B5QVBJX0ZVTkMoUHlPYmplY3QqKSBfUHlVbmljb2RlX0VuY29kZVVURjE2KAorICAgIFB5T2JqZWN0KiB1bmljb2RlLCAgICAgICAgICAvKiBVbmljb2RlIG9iamVjdCAqLworICAgIGNvbnN0IGNoYXIgKmVycm9ycywgICAgICAgICAvKiBlcnJvciBoYW5kbGluZyAqLworICAgIGludCBieXRlb3JkZXIgICAgICAgICAgICAgICAvKiBieXRlb3JkZXIgdG8gdXNlIDA9Qk9NK25hdGl2ZTstMT1MRSwxPUJFICovCisgICAgKTsKICNlbmRpZgogCiAvKiAtLS0gVW5pY29kZS1Fc2NhcGUgQ29kZWNzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KQEAgLTEwNjQsNiArMTM5NywxMCBAQAogICAgICk7CiAKICNpZm5kZWYgUHlfTElNSVRFRF9BUEkKK1B5QVBJX0ZVTkMoUHlPYmplY3QqKSBfUHlVbmljb2RlX0FzTGF0aW4xU3RyaW5nKAorICAgIFB5T2JqZWN0KiB1bmljb2RlLAorICAgIGNvbnN0IGNoYXIqIGVycm9ycyk7CisKIFB5QVBJX0ZVTkMoUHlPYmplY3QqKSBQeVVuaWNvZGVfRW5jb2RlTGF0aW4xKAogICAgIGNvbnN0IFB5X1VOSUNPREUgKmRhdGEsICAgICAvKiBVbmljb2RlIGNoYXIgYnVmZmVyICovCiAgICAgUHlfc3NpemVfdCBsZW5ndGgsICAgICAgICAgIC8qIE51bWJlciBvZiBQeV9VTklDT0RFIGNoYXJzIHRvIGVuY29kZSAqLwpAQCAtMTA4OCw2ICsxNDI1LDEwIEBACiAgICAgKTsKIAogI2lmbmRlZiBQeV9MSU1JVEVEX0FQSQorUHlBUElfRlVOQyhQeU9iamVjdCopIF9QeVVuaWNvZGVfQXNBU0NJSVN0cmluZygKKyAgICBQeU9iamVjdCogdW5pY29kZSwKKyAgICBjb25zdCBjaGFyKiBlcnJvcnMpOworCiBQeUFQSV9GVU5DKFB5T2JqZWN0KikgUHlVbmljb2RlX0VuY29kZUFTQ0lJKAogICAgIGNvbnN0IFB5X1VOSUNPREUgKmRhdGEsICAgICAvKiBVbmljb2RlIGNoYXIgYnVmZmVyICovCiAgICAgUHlfc3NpemVfdCBsZW5ndGgsICAgICAgICAgIC8qIE51bWJlciBvZiBQeV9VTklDT0RFIGNoYXJzIHRvIGVuY29kZSAqLwpAQCAtMTEzOSw2ICsxNDgwLDEyIEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh1bmljb2RlIG9yZGluYWwgLT4gY2hhciBvcmRpbmFsKSAqLwogICAgIGNvbnN0IGNoYXIgKmVycm9ycyAgICAgICAgICAvKiBlcnJvciBoYW5kbGluZyAqLwogICAgICk7CitQeUFQSV9GVU5DKFB5T2JqZWN0KikgX1B5VW5pY29kZV9FbmNvZGVDaGFybWFwKAorICAgIFB5T2JqZWN0ICp1bmljb2RlLCAgICAgICAgICAvKiBVbmljb2RlIG9iamVjdCAqLworICAgIFB5T2JqZWN0ICptYXBwaW5nLCAgICAgICAgICAvKiBjaGFyYWN0ZXIgbWFwcGluZworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodW5pY29kZSBvcmRpbmFsIC0+IGNoYXIgb3JkaW5hbCkgKi8KKyAgICBjb25zdCBjaGFyICplcnJvcnMgICAgICAgICAgLyogZXJyb3IgaGFuZGxpbmcgKi8KKyAgICApOwogI2VuZGlmCiAKIC8qIFRyYW5zbGF0ZSBhIFB5X1VOSUNPREUgYnVmZmVyIG9mIHRoZSBnaXZlbiBsZW5ndGggYnkgYXBwbHlpbmcgYQpAQCAtMTE2Myw3ICsxNTEwLDcgQEAKICAgICApOwogI2VuZGlmCiAKLSNpZmRlZiBNU19XSU4zMgorI2lmZGVmIEhBVkVfTUJDUwogCiAvKiAtLS0gTUJDUyBjb2RlY3MgZm9yIFdpbmRvd3MgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KIApAQCAtMTE4MCw2ICsxNTI3LDE0IEBACiAgICAgUHlfc3NpemVfdCAqY29uc3VtZWQgICAgICAgIC8qIGJ5dGVzIGNvbnN1bWVkICovCiAgICAgKTsKIAorUHlBUElfRlVOQyhQeU9iamVjdCopIFB5VW5pY29kZV9EZWNvZGVDb2RlUGFnZVN0YXRlZnVsKAorICAgIGludCBjb2RlX3BhZ2UsICAgICAgICAgICAgICAvKiBjb2RlIHBhZ2UgbnVtYmVyICovCisgICAgY29uc3QgY2hhciAqc3RyaW5nLCAgICAgICAgIC8qIGVuY29kZWQgc3RyaW5nICovCisgICAgUHlfc3NpemVfdCBsZW5ndGgsICAgICAgICAgIC8qIHNpemUgb2Ygc3RyaW5nICovCisgICAgY29uc3QgY2hhciAqZXJyb3JzLCAgICAgICAgIC8qIGVycm9yIGhhbmRsaW5nICovCisgICAgUHlfc3NpemVfdCAqY29uc3VtZWQgICAgICAgIC8qIGJ5dGVzIGNvbnN1bWVkICovCisgICAgKTsKKwogUHlBUElfRlVOQyhQeU9iamVjdCopIFB5VW5pY29kZV9Bc01CQ1NTdHJpbmcoCiAgICAgUHlPYmplY3QgKnVuaWNvZGUgICAgICAgICAgIC8qIFVuaWNvZGUgb2JqZWN0ICovCiAgICAgKTsKQEAgLTExODcsMTIgKzE1NDIsMTggQEAKICNpZm5kZWYgUHlfTElNSVRFRF9BUEkKIFB5QVBJX0ZVTkMoUHlPYmplY3QqKSBQeVVuaWNvZGVfRW5jb2RlTUJDUygKICAgICBjb25zdCBQeV9VTklDT0RFICpkYXRhLCAgICAgLyogVW5pY29kZSBjaGFyIGJ1ZmZlciAqLwotICAgIFB5X3NzaXplX3QgbGVuZ3RoLCAgICAgICAgICAvKiBOdW1iZXIgb2YgUHlfVU5JQ09ERSBjaGFycyB0byBlbmNvZGUgKi8KKyAgICBQeV9zc2l6ZV90IGxlbmd0aCwgICAgICAgICAgLyogbnVtYmVyIG9mIFB5X1VOSUNPREUgY2hhcnMgdG8gZW5jb2RlICovCiAgICAgY29uc3QgY2hhciAqZXJyb3JzICAgICAgICAgIC8qIGVycm9yIGhhbmRsaW5nICovCiAgICAgKTsKICNlbmRpZgogCi0jZW5kaWYgLyogTVNfV0lOMzIgKi8KK1B5QVBJX0ZVTkMoUHlPYmplY3QqKSBQeVVuaWNvZGVfRW5jb2RlQ29kZVBhZ2UoCisgICAgaW50IGNvZGVfcGFnZSwgICAgICAgICAgICAgIC8qIGNvZGUgcGFnZSBudW1iZXIgKi8KKyAgICBQeU9iamVjdCAqdW5pY29kZSwgICAgICAgICAgLyogVW5pY29kZSBvYmplY3QgKi8KKyAgICBjb25zdCBjaGFyICplcnJvcnMgICAgICAgICAgLyogZXJyb3IgaGFuZGxpbmcgKi8KKyAgICApOworCisjZW5kaWYgLyogSEFWRV9NQkNTICovCiAKIC8qIC0tLSBEZWNpbWFsIEVuY29kZXIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwogCkBAIC0xMjQwLDYgKzE2MDEsNDkgQEAKICAgICApOwogI2VuZGlmCiAKKy8qIFNpbWlsYXIgdG8gUHlVbmljb2RlX1RyYW5zZm9ybURlY2ltYWxUb0FTQ0lJKCksIGJ1dCB0YWtlcyBhIFB5T2JqZWN0CisgICBhcyBhcmd1bWVudCBpbnN0ZWFkIG9mIGEgcmF3IGJ1ZmZlciBhbmQgbGVuZ3RoLiAgVGhpcyBmdW5jdGlvbiBhZGRpdGlvbmFsbHkKKyAgIHRyYW5zZm9ybXMgc3BhY2VzIHRvIEFTQ0lJIGJlY2F1c2UgdGhpcyBpcyB3aGF0IHRoZSBjYWxsZXJzIGluIGxvbmdvYmplY3QsCisgICBmbG9hdG9iamVjdCwgYW5kIGNvbXBsZXhvYmplY3QgZGlkIGFueXdheXMuICovCisKKyNpZm5kZWYgUHlfTElNSVRFRF9BUEkKK1B5QVBJX0ZVTkMoUHlPYmplY3QqKSBfUHlVbmljb2RlX1RyYW5zZm9ybURlY2ltYWxBbmRTcGFjZVRvQVNDSUkoCisgICAgUHlPYmplY3QgKnVuaWNvZGUgICAgICAgICAgIC8qIFVuaWNvZGUgb2JqZWN0ICovCisgICAgKTsKKyNlbmRpZgorCisvKiAtLS0gTG9jYWxlIGVuY29kaW5nIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLworCisvKiBEZWNvZGUgYSBzdHJpbmcgZnJvbSB0aGUgY3VycmVudCBsb2NhbGUgZW5jb2RpbmcuIFRoZSBkZWNvZGVyIGlzIHN0cmljdCBpZgorICAgKnN1cnJvZ2F0ZWVzY2FwZSogaXMgZXF1YWwgdG8gemVybywgb3RoZXJ3aXNlIGl0IHVzZXMgdGhlICdzdXJyb2dhdGVlc2NhcGUnCisgICBlcnJvciBoYW5kbGVyIChQRVAgMzgzKSB0byBlc2NhcGUgdW5kZWNvZGFibGUgYnl0ZXMuIElmIGEgYnl0ZSBzZXF1ZW5jZSBjYW4KKyAgIGJlIGRlY29kZWQgYXMgYSBzdXJyb2dhdGUgY2hhcmFjdGVyIGFuZCAqc3Vycm9nYXRlZXNjYXBlKiBpcyBub3QgZXF1YWwgdG8KKyAgIHplcm8sIHRoZSBieXRlIHNlcXVlbmNlIGlzIGVzY2FwZWQgdXNpbmcgdGhlICdzdXJyb2dhdGVlc2NhcGUnIGVycm9yIGhhbmRsZXIKKyAgIGluc3RlYWQgb2YgYmVpbmcgZGVjb2RlZC4gKnN0ciogbXVzdCBlbmQgd2l0aCBhIG51bGwgY2hhcmFjdGVyIGJ1dCBjYW5ub3QKKyAgIGNvbnRhaW4gZW1iZWRkZWQgbnVsbCBjaGFyYWN0ZXJzLiAqLworCitQeUFQSV9GVU5DKFB5T2JqZWN0KikgUHlVbmljb2RlX0RlY29kZUxvY2FsZUFuZFNpemUoCisgICAgY29uc3QgY2hhciAqc3RyLAorICAgIFB5X3NzaXplX3QgbGVuLAorICAgIGNvbnN0IGNoYXIgKmVycm9ycyk7CisKKy8qIFNpbWlsYXIgdG8gUHlVbmljb2RlX0RlY29kZUxvY2FsZUFuZFNpemUoKSwgYnV0IGNvbXB1dGUgdGhlIHN0cmluZworICAgbGVuZ3RoIHVzaW5nIHN0cmxlbigpLiAqLworCitQeUFQSV9GVU5DKFB5T2JqZWN0KikgUHlVbmljb2RlX0RlY29kZUxvY2FsZSgKKyAgICBjb25zdCBjaGFyICpzdHIsCisgICAgY29uc3QgY2hhciAqZXJyb3JzKTsKKworLyogRW5jb2RlIGEgVW5pY29kZSBvYmplY3QgdG8gdGhlIGN1cnJlbnQgbG9jYWxlIGVuY29kaW5nLiBUaGUgZW5jb2RlciBpcworICAgc3RyaWN0IGlzICpzdXJyb2dhdGVlc2NhcGUqIGlzIGVxdWFsIHRvIHplcm8sIG90aGVyd2lzZSB0aGUKKyAgICJzdXJyb2dhdGVlc2NhcGUiIGVycm9yIGhhbmRsZXIgaXMgdXNlZC4gUmV0dXJuIGEgYnl0ZXMgb2JqZWN0LiBUaGUgc3RyaW5nCisgICBjYW5ub3QgY29udGFpbiBlbWJlZGRlZCBudWxsIGNoYXJhY3RlcnMuLiAqLworCitQeUFQSV9GVU5DKFB5T2JqZWN0KikgUHlVbmljb2RlX0VuY29kZUxvY2FsZSgKKyAgICBQeU9iamVjdCAqdW5pY29kZSwKKyAgICBjb25zdCBjaGFyICplcnJvcnMKKyAgICApOworCiAvKiAtLS0gRmlsZSBzeXN0ZW0gZW5jb2RpbmcgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwogCiAvKiBQYXJzZVR1cGxlIGNvbnZlcnRlcjogZW5jb2RlIHN0ciBvYmplY3RzIHRvIGJ5dGVzIHVzaW5nCkBAIC0xMjkyLDcgKzE2OTYsNyBAQAogCiAgICBUaGVzZSBhcmUgY2FwYWJsZSBvZiBoYW5kbGluZyBVbmljb2RlIG9iamVjdHMgYW5kIHN0cmluZ3Mgb24gaW5wdXQKICAgICh3ZSByZWZlciB0byB0aGVtIGFzIHN0cmluZ3MgaW4gdGhlIGRlc2NyaXB0aW9ucykgYW5kIHJldHVybgotICAgVW5pY29kZSBvYmplY3RzIG9yIGludGVnZXJzIGFzIGFwcG9ycHJpYXRlLiAqLworICAgVW5pY29kZSBvYmplY3RzIG9yIGludGVnZXJzIGFzIGFwcHJvcHJpYXRlLiAqLwogCiAvKiBDb25jYXQgdHdvIHN0cmluZ3MgZ2l2aW5nIGEgbmV3IFVuaWNvZGUgc3RyaW5nLiAqLwogCkBAIC0xNDI3LDYgKzE4MzEsMTUgQEAKICAgICBpbnQgZGlyZWN0aW9uICAgICAgICAgICAgICAgLyogRmluZCBkaXJlY3Rpb246ICsxIGZvcndhcmQsIC0xIGJhY2t3YXJkICovCiAgICAgKTsKIAorLyogTGlrZSBQeVVuaWNvZGVfRmluZCwgYnV0IHNlYXJjaCBmb3Igc2luZ2xlIGNoYXJhY3RlciBvbmx5LiAqLworUHlBUElfRlVOQyhQeV9zc2l6ZV90KSBQeVVuaWNvZGVfRmluZENoYXIoCisgICAgUHlPYmplY3QgKnN0ciwKKyAgICBQeV9VQ1M0IGNoLAorICAgIFB5X3NzaXplX3Qgc3RhcnQsCisgICAgUHlfc3NpemVfdCBlbmQsCisgICAgaW50IGRpcmVjdGlvbgorICAgICk7CisKIC8qIENvdW50IHRoZSBudW1iZXIgb2Ygb2NjdXJyZW5jZXMgb2Ygc3Vic3RyIGluIHN0cltzdGFydDplbmRdLiAqLwogCiBQeUFQSV9GVU5DKFB5X3NzaXplX3QpIFB5VW5pY29kZV9Db3VudCgKQEAgLTE0NjMsNyArMTg3Niw3IEBACiAvKiBSaWNoIGNvbXBhcmUgdHdvIHN0cmluZ3MgYW5kIHJldHVybiBvbmUgb2YgdGhlIGZvbGxvd2luZzoKIAogICAgLSBOVUxMIGluIGNhc2UgYW4gZXhjZXB0aW9uIHdhcyByYWlzZWQKLSAgIC0gUHlfVHJ1ZSBvciBQeV9GYWxzZSBmb3Igc3VjY2Vzc2Z1bHkgY29tcGFyaXNvbnMKKyAgIC0gUHlfVHJ1ZSBvciBQeV9GYWxzZSBmb3Igc3VjY2Vzc2Z1bGx5IGNvbXBhcmlzb25zCiAgICAtIFB5X05vdEltcGxlbWVudGVkIGluIGNhc2UgdGhlIHR5cGUgY29tYmluYXRpb24gaXMgdW5rbm93bgogCiAgICBOb3RlIHRoYXQgUHlfRVEgYW5kIFB5X05FIGNvbXBhcmlzb25zIGNhbiBjYXVzZSBhIFVuaWNvZGVXYXJuaW5nIGluCkBAIC0xNTE0LDM1ICsxOTI3LDI2IEBACiAjaWZuZGVmIFB5X0xJTUlURURfQVBJCiAvKiBFeHRlcm5hbGx5IHZpc2libGUgZm9yIHN0ci5zdHJpcCh1bmljb2RlKSAqLwogUHlBUElfRlVOQyhQeU9iamVjdCAqKSBfUHlVbmljb2RlX1hTdHJpcCgKLSAgICBQeVVuaWNvZGVPYmplY3QgKnNlbGYsCisgICAgUHlPYmplY3QgKnNlbGYsCiAgICAgaW50IHN0cmlwdHlwZSwKICAgICBQeU9iamVjdCAqc2Vwb2JqCiAgICAgKTsKICNlbmRpZgogCi0vKiBVc2luZyB0aGUgY3VycmVudCBsb2NhbGUsIGluc2VydCB0aGUgdGhvdXNhbmRzIGdyb3VwaW5nCi0gICBpbnRvIHRoZSBzdHJpbmcgcG9pbnRlZCB0byBieSBidWZmZXIuICBGb3IgdGhlIGFyZ3VtZW50IGRlc2NyaXB0aW9ucywKLSAgIHNlZSBPYmplY3RzL3N0cmluZ2xpYi9sb2NhbGV1dGlsLmggKi8KLQotI2lmbmRlZiBQeV9MSU1JVEVEX0FQSQotUHlBUElfRlVOQyhQeV9zc2l6ZV90KSBfUHlVbmljb2RlX0luc2VydFRob3VzYW5kc0dyb3VwaW5nTG9jYWxlKFB5X1VOSUNPREUgKmJ1ZmZlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3Qgbl9idWZmZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeV9VTklDT0RFICpkaWdpdHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IG5fZGlnaXRzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBtaW5fd2lkdGgpOwotI2VuZGlmCi0KIC8qIFVzaW5nIGV4cGxpY2l0IHBhc3NlZC1pbiB2YWx1ZXMsIGluc2VydCB0aGUgdGhvdXNhbmRzIGdyb3VwaW5nCiAgICBpbnRvIHRoZSBzdHJpbmcgcG9pbnRlZCB0byBieSBidWZmZXIuICBGb3IgdGhlIGFyZ3VtZW50IGRlc2NyaXB0aW9ucywKICAgIHNlZSBPYmplY3RzL3N0cmluZ2xpYi9sb2NhbGV1dGlsLmggKi8KICNpZm5kZWYgUHlfTElNSVRFRF9BUEkKLVB5QVBJX0ZVTkMoUHlfc3NpemVfdCkgX1B5VW5pY29kZV9JbnNlcnRUaG91c2FuZHNHcm91cGluZyhQeV9VTklDT0RFICpidWZmZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IG5fYnVmZmVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlfVU5JQ09ERSAqZGlnaXRzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBuX2RpZ2l0cywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3QgbWluX3dpZHRoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZ3JvdXBpbmcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICp0aG91c2FuZHNfc2VwKTsKK1B5QVBJX0ZVTkMoUHlfc3NpemVfdCkgX1B5VW5pY29kZV9JbnNlcnRUaG91c2FuZHNHcm91cGluZygKKyAgICBQeU9iamVjdCAqdW5pY29kZSwKKyAgICBQeV9zc2l6ZV90IGluZGV4LAorICAgIFB5X3NzaXplX3Qgbl9idWZmZXIsCisgICAgdm9pZCAqZGlnaXRzLAorICAgIFB5X3NzaXplX3Qgbl9kaWdpdHMsCisgICAgUHlfc3NpemVfdCBtaW5fd2lkdGgsCisgICAgY29uc3QgY2hhciAqZ3JvdXBpbmcsCisgICAgUHlPYmplY3QgKnRob3VzYW5kc19zZXAsCisgICAgUHlfVUNTNCAqbWF4Y2hhcik7CiAjZW5kaWYKIC8qID09PSBDaGFyYWN0ZXJzIFR5cGUgQVBJcyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwogCkBAIC0xNTk4LDYgKzIwMDIsMzQgQEAKICAgICBQeV9VQ1M0IGNoICAgICAgIC8qIFVuaWNvZGUgY2hhcmFjdGVyICovCiAgICAgKTsKIAorUHlBUElfRlVOQyhpbnQpIF9QeVVuaWNvZGVfVG9Mb3dlckZ1bGwoCisgICAgUHlfVUNTNCBjaCwgICAgICAgLyogVW5pY29kZSBjaGFyYWN0ZXIgKi8KKyAgICBQeV9VQ1M0ICpyZXMKKyAgICApOworCitQeUFQSV9GVU5DKGludCkgX1B5VW5pY29kZV9Ub1RpdGxlRnVsbCgKKyAgICBQeV9VQ1M0IGNoLCAgICAgICAvKiBVbmljb2RlIGNoYXJhY3RlciAqLworICAgIFB5X1VDUzQgKnJlcworICAgICk7CisKK1B5QVBJX0ZVTkMoaW50KSBfUHlVbmljb2RlX1RvVXBwZXJGdWxsKAorICAgIFB5X1VDUzQgY2gsICAgICAgIC8qIFVuaWNvZGUgY2hhcmFjdGVyICovCisgICAgUHlfVUNTNCAqcmVzCisgICAgKTsKKworUHlBUElfRlVOQyhpbnQpIF9QeVVuaWNvZGVfVG9Gb2xkZWRGdWxsKAorICAgIFB5X1VDUzQgY2gsICAgICAgIC8qIFVuaWNvZGUgY2hhcmFjdGVyICovCisgICAgUHlfVUNTNCAqcmVzCisgICAgKTsKKworUHlBUElfRlVOQyhpbnQpIF9QeVVuaWNvZGVfSXNDYXNlSWdub3JhYmxlKAorICAgIFB5X1VDUzQgY2ggICAgICAgICAvKiBVbmljb2RlIGNoYXJhY3RlciAqLworICAgICk7CisKK1B5QVBJX0ZVTkMoaW50KSBfUHlVbmljb2RlX0lzQ2FzZWQoCisgICAgUHlfVUNTNCBjaCAgICAgICAgIC8qIFVuaWNvZGUgY2hhcmFjdGVyICovCisgICAgKTsKKwogUHlBUElfRlVOQyhpbnQpIF9QeVVuaWNvZGVfVG9EZWNpbWFsRGlnaXQoCiAgICAgUHlfVUNTNCBjaCAgICAgICAvKiBVbmljb2RlIGNoYXJhY3RlciAqLwogICAgICk7CkBAIC0xNjc2LDYgKzIxMDgsMTcgQEAKICAgICApOwogI2VuZGlmIC8qIFB5X0xJTUlURURfQVBJICovCiAKKyNpZiBkZWZpbmVkKFB5X0RFQlVHKSAmJiAhZGVmaW5lZChQeV9MSU1JVEVEX0FQSSkKK1B5QVBJX0ZVTkMoaW50KSBfUHlVbmljb2RlX0NoZWNrQ29uc2lzdGVuY3koCisgICAgUHlPYmplY3QgKm9wLAorICAgIGludCBjaGVja19jb250ZW50KTsKKyNlbmRpZgorCisvKiBSZXR1cm4gYW4gaW50ZXJuZWQgVW5pY29kZSBvYmplY3QgZm9yIGFuIElkZW50aWZpZXI7IG1heSBmYWlsIGlmIHRoZXJlIGlzIG5vIG1lbW9yeS4qLworUHlBUElfRlVOQyhQeU9iamVjdCopIF9QeVVuaWNvZGVfRnJvbUlkKF9QeV9JZGVudGlmaWVyKik7CisvKiBDbGVhciBhbGwgc3RhdGljIHN0cmluZ3MuICovCitQeUFQSV9GVU5DKHZvaWQpIF9QeVVuaWNvZGVfQ2xlYXJTdGF0aWNTdHJpbmdzKHZvaWQpOworCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvTElDRU5TRSBiL0xJQ0VOU0UKaW5kZXggNDMzODhlNy4uMjM1YjU2OCAxMDA2NDQKLS0tIGEvTElDRU5TRQorKysgYi9MSUNFTlNFCkBAIC03Myw3ICs3Myw3IEBACiAgICAgMy4yICAgICAgICAgICAgIDMuMSAgICAgICAgIDIwMTEgICAgICAgIFBTRiAgICAgICAgIHllcwogICAgIDMuMi4xICAgICAgICAgICAzLjIgICAgICAgICAyMDExICAgICAgICBQU0YgICAgICAgICB5ZXMKICAgICAzLjIuMiAgICAgICAgICAgMy4yLjEgICAgICAgMjAxMSAgICAgICAgUFNGICAgICAgICAgeWVzCi0gICAgMy4yLjMgICAgICAgICAgIDMuMi4yICAgICAgIDIwMTIgICAgICAgIFBTRiAgICAgICAgIHllcworICAgIDMuMy4wICAgICAgICAgICAzLjIgICAgICAgICAyMDEyICAgICAgICBQU0YgICAgICAgICB5ZXMKIAogRm9vdG5vdGVzOgogCmRpZmYgLS1naXQgYS9MaWIvX2R1bW15X3RocmVhZC5weSBiL0xpYi9fZHVtbXlfdGhyZWFkLnB5CmluZGV4IGVkNTA1MjAuLjEzYjFmMjYgMTAwNjQ0Ci0tLSBhL0xpYi9fZHVtbXlfdGhyZWFkLnB5CisrKyBiL0xpYi9fZHVtbXlfdGhyZWFkLnB5CkBAIC0yNCwxMSArMjQsNyBAQAogIyBpbXBvcnRzIGFyZSBkb25lIHdoZW4gbmVlZGVkIG9uIGEgZnVuY3Rpb24tYnktZnVuY3Rpb24gYmFzaXMuICBTaW5jZSB0aHJlYWRzCiAjIGFyZSBkaXNhYmxlZCwgdGhlIGltcG9ydCBsb2NrIHNob3VsZCBub3QgYmUgYW4gaXNzdWUgYW55d2F5ICg/PykuCiAKLWNsYXNzIGVycm9yKEV4Y2VwdGlvbik6Ci0gICAgIiIiRHVtbXkgaW1wbGVtZW50YXRpb24gb2YgX3RocmVhZC5lcnJvci4iIiIKLQotICAgIGRlZiBfX2luaXRfXyhzZWxmLCAqYXJncyk6Ci0gICAgICAgIHNlbGYuYXJncyA9IGFyZ3MKK2Vycm9yID0gUnVudGltZUVycm9yCiAKIGRlZiBzdGFydF9uZXdfdGhyZWFkKGZ1bmN0aW9uLCBhcmdzLCBrd2FyZ3M9e30pOgogICAgICIiIkR1bW15IGltcGxlbWVudGF0aW9uIG9mIF90aHJlYWQuc3RhcnRfbmV3X3RocmVhZCgpLgpkaWZmIC0tZ2l0IGEvTGliL19weWlvLnB5IGIvTGliL19weWlvLnB5CmluZGV4IGEyZmFlYjMuLmY2NjI5MGYgMTAwNjQ0Ci0tLSBhL0xpYi9fcHlpby5weQorKysgYi9MaWIvX3B5aW8ucHkKQEAgLTE1LDcgKzE1LDYgQEAKIAogaW1wb3J0IGlvCiBmcm9tIGlvIGltcG9ydCAoX19hbGxfXywgU0VFS19TRVQsIFNFRUtfQ1VSLCBTRUVLX0VORCkKLWZyb20gZXJybm8gaW1wb3J0IEVJTlRSCiAKICMgb3BlbigpIHVzZXMgc3RfYmxrc2l6ZSB3aGVuZXZlciB3ZSBjYW4KIERFRkFVTFRfQlVGRkVSX1NJWkUgPSA4ICogMTAyNCAgIyBieXRlcwpAQCAtMjQsMjAgKzIzLDEyIEBACiAjIGRlZmluZWQgaW4gaW8ucHkuIFdlIGRvbid0IHVzZSByZWFsIGluaGVyaXRhbmNlIHRob3VnaCwgYmVjYXVzZSB3ZSBkb24ndAogIyB3YW50IHRvIGluaGVyaXQgdGhlIEMgaW1wbGVtZW50YXRpb25zLgogCi0KLWNsYXNzIEJsb2NraW5nSU9FcnJvcihJT0Vycm9yKToKLQotICAgICIiIkV4Y2VwdGlvbiByYWlzZWQgd2hlbiBJL08gd291bGQgYmxvY2sgb24gYSBub24tYmxvY2tpbmcgSS9PIHN0cmVhbS4iIiIKLQotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBlcnJubywgc3RyZXJyb3IsIGNoYXJhY3RlcnNfd3JpdHRlbj0wKToKLSAgICAgICAgc3VwZXIoKS5fX2luaXRfXyhlcnJubywgc3RyZXJyb3IpCi0gICAgICAgIGlmIG5vdCBpc2luc3RhbmNlKGNoYXJhY3RlcnNfd3JpdHRlbiwgaW50KToKLSAgICAgICAgICAgIHJhaXNlIFR5cGVFcnJvcigiY2hhcmFjdGVyc193cml0dGVuIG11c3QgYmUgYSBpbnRlZ2VyIikKLSAgICAgICAgc2VsZi5jaGFyYWN0ZXJzX3dyaXR0ZW4gPSBjaGFyYWN0ZXJzX3dyaXR0ZW4KKyMgUmViaW5kIGZvciBjb21wYXRpYmlsaXR5CitCbG9ja2luZ0lPRXJyb3IgPSBCbG9ja2luZ0lPRXJyb3IKIAogCiBkZWYgb3BlbihmaWxlLCBtb2RlPSJyIiwgYnVmZmVyaW5nPS0xLCBlbmNvZGluZz1Ob25lLCBlcnJvcnM9Tm9uZSwKLSAgICAgICAgIG5ld2xpbmU9Tm9uZSwgY2xvc2VmZD1UcnVlKToKKyAgICAgICAgIG5ld2xpbmU9Tm9uZSwgY2xvc2VmZD1UcnVlLCBvcGVuZXI9Tm9uZSk6CiAKICAgICByIiIiT3BlbiBmaWxlIGFuZCByZXR1cm4gYSBzdHJlYW0uICBSYWlzZSBJT0Vycm9yIHVwb24gZmFpbHVyZS4KIApAQCAtNDcsMjEgKzM4LDIyIEBACiAgICAgd3JhcHBlZC4gKElmIGEgZmlsZSBkZXNjcmlwdG9yIGlzIGdpdmVuLCBpdCBpcyBjbG9zZWQgd2hlbiB0aGUKICAgICByZXR1cm5lZCBJL08gb2JqZWN0IGlzIGNsb3NlZCwgdW5sZXNzIGNsb3NlZmQgaXMgc2V0IHRvIEZhbHNlLikKIAotICAgIG1vZGUgaXMgYW4gb3B0aW9uYWwgc3RyaW5nIHRoYXQgc3BlY2lmaWVzIHRoZSBtb2RlIGluIHdoaWNoIHRoZSBmaWxlCi0gICAgaXMgb3BlbmVkLiBJdCBkZWZhdWx0cyB0byAncicgd2hpY2ggbWVhbnMgb3BlbiBmb3IgcmVhZGluZyBpbiB0ZXh0Ci0gICAgbW9kZS4gIE90aGVyIGNvbW1vbiB2YWx1ZXMgYXJlICd3JyBmb3Igd3JpdGluZyAodHJ1bmNhdGluZyB0aGUgZmlsZSBpZgotICAgIGl0IGFscmVhZHkgZXhpc3RzKSwgYW5kICdhJyBmb3IgYXBwZW5kaW5nICh3aGljaCBvbiBzb21lIFVuaXggc3lzdGVtcywKLSAgICBtZWFucyB0aGF0IGFsbCB3cml0ZXMgYXBwZW5kIHRvIHRoZSBlbmQgb2YgdGhlIGZpbGUgcmVnYXJkbGVzcyBvZiB0aGUKLSAgICBjdXJyZW50IHNlZWsgcG9zaXRpb24pLiBJbiB0ZXh0IG1vZGUsIGlmIGVuY29kaW5nIGlzIG5vdCBzcGVjaWZpZWQgdGhlCi0gICAgZW5jb2RpbmcgdXNlZCBpcyBwbGF0Zm9ybSBkZXBlbmRlbnQuIChGb3IgcmVhZGluZyBhbmQgd3JpdGluZyByYXcKLSAgICBieXRlcyB1c2UgYmluYXJ5IG1vZGUgYW5kIGxlYXZlIGVuY29kaW5nIHVuc3BlY2lmaWVkLikgVGhlIGF2YWlsYWJsZQotICAgIG1vZGVzIGFyZToKKyAgICBtb2RlIGlzIGFuIG9wdGlvbmFsIHN0cmluZyB0aGF0IHNwZWNpZmllcyB0aGUgbW9kZSBpbiB3aGljaCB0aGUgZmlsZSBpcworICAgIG9wZW5lZC4gSXQgZGVmYXVsdHMgdG8gJ3InIHdoaWNoIG1lYW5zIG9wZW4gZm9yIHJlYWRpbmcgaW4gdGV4dCBtb2RlLiBPdGhlcgorICAgIGNvbW1vbiB2YWx1ZXMgYXJlICd3JyBmb3Igd3JpdGluZyAodHJ1bmNhdGluZyB0aGUgZmlsZSBpZiBpdCBhbHJlYWR5CisgICAgZXhpc3RzKSwgJ3gnIGZvciBleGNsdXNpdmUgY3JlYXRpb24gb2YgYSBuZXcgZmlsZSwgYW5kICdhJyBmb3IgYXBwZW5kaW5nCisgICAgKHdoaWNoIG9uIHNvbWUgVW5peCBzeXN0ZW1zLCBtZWFucyB0aGF0IGFsbCB3cml0ZXMgYXBwZW5kIHRvIHRoZSBlbmQgb2YgdGhlCisgICAgZmlsZSByZWdhcmRsZXNzIG9mIHRoZSBjdXJyZW50IHNlZWsgcG9zaXRpb24pLiBJbiB0ZXh0IG1vZGUsIGlmIGVuY29kaW5nIGlzCisgICAgbm90IHNwZWNpZmllZCB0aGUgZW5jb2RpbmcgdXNlZCBpcyBwbGF0Zm9ybSBkZXBlbmRlbnQuIChGb3IgcmVhZGluZyBhbmQKKyAgICB3cml0aW5nIHJhdyBieXRlcyB1c2UgYmluYXJ5IG1vZGUgYW5kIGxlYXZlIGVuY29kaW5nIHVuc3BlY2lmaWVkLikgVGhlCisgICAgYXZhaWxhYmxlIG1vZGVzIGFyZToKIAogICAgID09PT09PT09PSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICBDaGFyYWN0ZXIgTWVhbmluZwogICAgIC0tLS0tLS0tLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgICAncicgICAgICAgb3BlbiBmb3IgcmVhZGluZyAoZGVmYXVsdCkKICAgICAndycgICAgICAgb3BlbiBmb3Igd3JpdGluZywgdHJ1bmNhdGluZyB0aGUgZmlsZSBmaXJzdAorICAgICd4JyAgICAgICBjcmVhdGUgYSBuZXcgZmlsZSBhbmQgb3BlbiBpdCBmb3Igd3JpdGluZwogICAgICdhJyAgICAgICBvcGVuIGZvciB3cml0aW5nLCBhcHBlbmRpbmcgdG8gdGhlIGVuZCBvZiB0aGUgZmlsZSBpZiBpdCBleGlzdHMKICAgICAnYicgICAgICAgYmluYXJ5IG1vZGUKICAgICAndCcgICAgICAgdGV4dCBtb2RlIChkZWZhdWx0KQpAQCAtNzIsNyArNjQsOCBAQAogCiAgICAgVGhlIGRlZmF1bHQgbW9kZSBpcyAncnQnIChvcGVuIGZvciByZWFkaW5nIHRleHQpLiBGb3IgYmluYXJ5IHJhbmRvbQogICAgIGFjY2VzcywgdGhlIG1vZGUgJ3crYicgb3BlbnMgYW5kIHRydW5jYXRlcyB0aGUgZmlsZSB0byAwIGJ5dGVzLCB3aGlsZQotICAgICdyK2InIG9wZW5zIHRoZSBmaWxlIHdpdGhvdXQgdHJ1bmNhdGlvbi4KKyAgICAncitiJyBvcGVucyB0aGUgZmlsZSB3aXRob3V0IHRydW5jYXRpb24uIFRoZSAneCcgbW9kZSBpbXBsaWVzICd3JyBhbmQKKyAgICByYWlzZXMgYW4gYEZpbGVFeGlzdHNFcnJvcmAgaWYgdGhlIGZpbGUgYWxyZWFkeSBleGlzdHMuCiAKICAgICBQeXRob24gZGlzdGluZ3Vpc2hlcyBiZXR3ZWVuIGZpbGVzIG9wZW5lZCBpbiBiaW5hcnkgYW5kIHRleHQgbW9kZXMsCiAgICAgZXZlbiB3aGVuIHRoZSB1bmRlcmx5aW5nIG9wZXJhdGluZyBzeXN0ZW0gZG9lc24ndC4gRmlsZXMgb3BlbmVkIGluCkBAIC0xMzIsNiArMTI1LDEyIEBACiAgICAgYmUga2VwdCBvcGVuIHdoZW4gdGhlIGZpbGUgaXMgY2xvc2VkLiBUaGlzIGRvZXMgbm90IHdvcmsgd2hlbiBhIGZpbGUgbmFtZSBpcwogICAgIGdpdmVuIGFuZCBtdXN0IGJlIFRydWUgaW4gdGhhdCBjYXNlLgogCisgICAgQSBjdXN0b20gb3BlbmVyIGNhbiBiZSB1c2VkIGJ5IHBhc3NpbmcgYSBjYWxsYWJsZSBhcyAqb3BlbmVyKi4gVGhlCisgICAgdW5kZXJseWluZyBmaWxlIGRlc2NyaXB0b3IgZm9yIHRoZSBmaWxlIG9iamVjdCBpcyB0aGVuIG9idGFpbmVkIGJ5IGNhbGxpbmcKKyAgICAqb3BlbmVyKiB3aXRoICgqZmlsZSosICpmbGFncyopLiAqb3BlbmVyKiBtdXN0IHJldHVybiBhbiBvcGVuIGZpbGUKKyAgICBkZXNjcmlwdG9yIChwYXNzaW5nIG9zLm9wZW4gYXMgKm9wZW5lciogcmVzdWx0cyBpbiBmdW5jdGlvbmFsaXR5IHNpbWlsYXIgdG8KKyAgICBwYXNzaW5nIE5vbmUpLgorCiAgICAgb3BlbigpIHJldHVybnMgYSBmaWxlIG9iamVjdCB3aG9zZSB0eXBlIGRlcGVuZHMgb24gdGhlIG1vZGUsIGFuZAogICAgIHRocm91Z2ggd2hpY2ggdGhlIHN0YW5kYXJkIGZpbGUgb3BlcmF0aW9ucyBzdWNoIGFzIHJlYWRpbmcgYW5kIHdyaXRpbmcKICAgICBhcmUgcGVyZm9ybWVkLiBXaGVuIG9wZW4oKSBpcyB1c2VkIHRvIG9wZW4gYSBmaWxlIGluIGEgdGV4dCBtb2RlICgndycsCkBAIC0xNTcsOCArMTU2LDkgQEAKICAgICBpZiBlcnJvcnMgaXMgbm90IE5vbmUgYW5kIG5vdCBpc2luc3RhbmNlKGVycm9ycywgc3RyKToKICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCJpbnZhbGlkIGVycm9yczogJXIiICUgZXJyb3JzKQogICAgIG1vZGVzID0gc2V0KG1vZGUpCi0gICAgaWYgbW9kZXMgLSBzZXQoImFyd2IrdFUiKSBvciBsZW4obW9kZSkgPiBsZW4obW9kZXMpOgorICAgIGlmIG1vZGVzIC0gc2V0KCJheHJ3Yit0VSIpIG9yIGxlbihtb2RlKSA+IGxlbihtb2Rlcyk6CiAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoImludmFsaWQgbW9kZTogJXIiICUgbW9kZSkKKyAgICBjcmVhdGluZyA9ICJ4IiBpbiBtb2RlcwogICAgIHJlYWRpbmcgPSAiciIgaW4gbW9kZXMKICAgICB3cml0aW5nID0gInciIGluIG1vZGVzCiAgICAgYXBwZW5kaW5nID0gImEiIGluIG1vZGVzCkBAIC0xNjYsMTQgKzE2NiwxNCBAQAogICAgIHRleHQgPSAidCIgaW4gbW9kZXMKICAgICBiaW5hcnkgPSAiYiIgaW4gbW9kZXMKICAgICBpZiAiVSIgaW4gbW9kZXM6Ci0gICAgICAgIGlmIHdyaXRpbmcgb3IgYXBwZW5kaW5nOgorICAgICAgICBpZiBjcmVhdGluZyBvciB3cml0aW5nIG9yIGFwcGVuZGluZzoKICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoImNhbid0IHVzZSBVIGFuZCB3cml0aW5nIG1vZGUgYXQgb25jZSIpCiAgICAgICAgIHJlYWRpbmcgPSBUcnVlCiAgICAgaWYgdGV4dCBhbmQgYmluYXJ5OgogICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJjYW4ndCBoYXZlIHRleHQgYW5kIGJpbmFyeSBtb2RlIGF0IG9uY2UiKQotICAgIGlmIHJlYWRpbmcgKyB3cml0aW5nICsgYXBwZW5kaW5nID4gMToKKyAgICBpZiBjcmVhdGluZyArIHJlYWRpbmcgKyB3cml0aW5nICsgYXBwZW5kaW5nID4gMToKICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiY2FuJ3QgaGF2ZSByZWFkL3dyaXRlL2FwcGVuZCBtb2RlIGF0IG9uY2UiKQotICAgIGlmIG5vdCAocmVhZGluZyBvciB3cml0aW5nIG9yIGFwcGVuZGluZyk6CisgICAgaWYgbm90IChjcmVhdGluZyBvciByZWFkaW5nIG9yIHdyaXRpbmcgb3IgYXBwZW5kaW5nKToKICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigibXVzdCBoYXZlIGV4YWN0bHkgb25lIG9mIHJlYWQvd3JpdGUvYXBwZW5kIG1vZGUiKQogICAgIGlmIGJpbmFyeSBhbmQgZW5jb2RpbmcgaXMgbm90IE5vbmU6CiAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoImJpbmFyeSBtb2RlIGRvZXNuJ3QgdGFrZSBhbiBlbmNvZGluZyBhcmd1bWVudCIpCkBAIC0xODIsMTEgKzE4MiwxMiBAQAogICAgIGlmIGJpbmFyeSBhbmQgbmV3bGluZSBpcyBub3QgTm9uZToKICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiYmluYXJ5IG1vZGUgZG9lc24ndCB0YWtlIGEgbmV3bGluZSBhcmd1bWVudCIpCiAgICAgcmF3ID0gRmlsZUlPKGZpbGUsCisgICAgICAgICAgICAgICAgIChjcmVhdGluZyBhbmQgIngiIG9yICIiKSArCiAgICAgICAgICAgICAgICAgIChyZWFkaW5nIGFuZCAiciIgb3IgIiIpICsKICAgICAgICAgICAgICAgICAgKHdyaXRpbmcgYW5kICJ3IiBvciAiIikgKwogICAgICAgICAgICAgICAgICAoYXBwZW5kaW5nIGFuZCAiYSIgb3IgIiIpICsKICAgICAgICAgICAgICAgICAgKHVwZGF0aW5nIGFuZCAiKyIgb3IgIiIpLAotICAgICAgICAgICAgICAgICBjbG9zZWZkKQorICAgICAgICAgICAgICAgICBjbG9zZWZkLCBvcGVuZXI9b3BlbmVyKQogICAgIGxpbmVfYnVmZmVyaW5nID0gRmFsc2UKICAgICBpZiBidWZmZXJpbmcgPT0gMSBvciBidWZmZXJpbmcgPCAwIGFuZCByYXcuaXNhdHR5KCk6CiAgICAgICAgIGJ1ZmZlcmluZyA9IC0xCkBAIC0yMDgsNyArMjA5LDcgQEAKICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiY2FuJ3QgaGF2ZSB1bmJ1ZmZlcmVkIHRleHQgSS9PIikKICAgICBpZiB1cGRhdGluZzoKICAgICAgICAgYnVmZmVyID0gQnVmZmVyZWRSYW5kb20ocmF3LCBidWZmZXJpbmcpCi0gICAgZWxpZiB3cml0aW5nIG9yIGFwcGVuZGluZzoKKyAgICBlbGlmIGNyZWF0aW5nIG9yIHdyaXRpbmcgb3IgYXBwZW5kaW5nOgogICAgICAgICBidWZmZXIgPSBCdWZmZXJlZFdyaXRlcihyYXcsIGJ1ZmZlcmluZykKICAgICBlbGlmIHJlYWRpbmc6CiAgICAgICAgIGJ1ZmZlciA9IEJ1ZmZlcmVkUmVhZGVyKHJhdywgYnVmZmVyaW5nKQpAQCAtOTQ4LDE1ICs5NDksMTkgQEAKICAgICAgICAgIyBTcGVjaWFsIGNhc2UgZm9yIHdoZW4gdGhlIG51bWJlciBvZiBieXRlcyB0byByZWFkIGlzIHVuc3BlY2lmaWVkLgogICAgICAgICBpZiBuIGlzIE5vbmUgb3IgbiA9PSAtMToKICAgICAgICAgICAgIHNlbGYuX3Jlc2V0X3JlYWRfYnVmKCkKKyAgICAgICAgICAgIGlmIGhhc2F0dHIoc2VsZi5yYXcsICdyZWFkYWxsJyk6CisgICAgICAgICAgICAgICAgY2h1bmsgPSBzZWxmLnJhdy5yZWFkYWxsKCkKKyAgICAgICAgICAgICAgICBpZiBjaHVuayBpcyBOb25lOgorICAgICAgICAgICAgICAgICAgICByZXR1cm4gYnVmW3BvczpdIG9yIE5vbmUKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICByZXR1cm4gYnVmW3BvczpdICsgY2h1bmsKICAgICAgICAgICAgIGNodW5rcyA9IFtidWZbcG9zOl1dICAjIFN0cmlwIHRoZSBjb25zdW1lZCBieXRlcy4KICAgICAgICAgICAgIGN1cnJlbnRfc2l6ZSA9IDAKICAgICAgICAgICAgIHdoaWxlIFRydWU6CiAgICAgICAgICAgICAgICAgIyBSZWFkIHVudGlsIEVPRiBvciB1bnRpbCByZWFkKCkgd291bGQgYmxvY2suCiAgICAgICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgICAgICBjaHVuayA9IHNlbGYucmF3LnJlYWQoKQotICAgICAgICAgICAgICAgIGV4Y2VwdCBJT0Vycm9yIGFzIGU6Ci0gICAgICAgICAgICAgICAgICAgIGlmIGUuZXJybm8gIT0gRUlOVFI6Ci0gICAgICAgICAgICAgICAgICAgICAgICByYWlzZQorICAgICAgICAgICAgICAgIGV4Y2VwdCBJbnRlcnJ1cHRlZEVycm9yOgogICAgICAgICAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICAgICAgICAgIGlmIGNodW5rIGluIGVtcHR5X3ZhbHVlczoKICAgICAgICAgICAgICAgICAgICAgbm9kYXRhX3ZhbCA9IGNodW5rCkBAIC05NzgsOSArOTgzLDcgQEAKICAgICAgICAgd2hpbGUgYXZhaWwgPCBuOgogICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgIGNodW5rID0gc2VsZi5yYXcucmVhZCh3YW50ZWQpCi0gICAgICAgICAgICBleGNlcHQgSU9FcnJvciBhcyBlOgotICAgICAgICAgICAgICAgIGlmIGUuZXJybm8gIT0gRUlOVFI6Ci0gICAgICAgICAgICAgICAgICAgIHJhaXNlCisgICAgICAgICAgICBleGNlcHQgSW50ZXJydXB0ZWRFcnJvcjoKICAgICAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICAgICAgaWYgY2h1bmsgaW4gZW1wdHlfdmFsdWVzOgogICAgICAgICAgICAgICAgIG5vZGF0YV92YWwgPSBjaHVuawpAQCAtMTAxMyw5ICsxMDE2LDcgQEAKICAgICAgICAgICAgIHdoaWxlIFRydWU6CiAgICAgICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgICAgICBjdXJyZW50ID0gc2VsZi5yYXcucmVhZCh0b19yZWFkKQotICAgICAgICAgICAgICAgIGV4Y2VwdCBJT0Vycm9yIGFzIGU6Ci0gICAgICAgICAgICAgICAgICAgIGlmIGUuZXJybm8gIT0gRUlOVFI6Ci0gICAgICAgICAgICAgICAgICAgICAgICByYWlzZQorICAgICAgICAgICAgICAgIGV4Y2VwdCBJbnRlcnJ1cHRlZEVycm9yOgogICAgICAgICAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgICAgICBpZiBjdXJyZW50OgpAQCAtMTEyMCwxMyArMTEyMSwxMSBAQAogICAgICAgICB3aGlsZSBzZWxmLl93cml0ZV9idWY6CiAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgbiA9IHNlbGYucmF3LndyaXRlKHNlbGYuX3dyaXRlX2J1ZikKKyAgICAgICAgICAgIGV4Y2VwdCBJbnRlcnJ1cHRlZEVycm9yOgorICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgICBleGNlcHQgQmxvY2tpbmdJT0Vycm9yOgogICAgICAgICAgICAgICAgIHJhaXNlIFJ1bnRpbWVFcnJvcigic2VsZi5yYXcgc2hvdWxkIGltcGxlbWVudCBSYXdJT0Jhc2U6IGl0ICIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNob3VsZCBub3QgcmFpc2UgQmxvY2tpbmdJT0Vycm9yIikKLSAgICAgICAgICAgIGV4Y2VwdCBJT0Vycm9yIGFzIGU6Ci0gICAgICAgICAgICAgICAgaWYgZS5lcnJubyAhPSBFSU5UUjoKLSAgICAgICAgICAgICAgICAgICAgcmFpc2UKLSAgICAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICAgICAgaWYgbiBpcyBOb25lOgogICAgICAgICAgICAgICAgIHJhaXNlIEJsb2NraW5nSU9FcnJvcigKICAgICAgICAgICAgICAgICAgICAgZXJybm8uRUFHQUlOLApAQCAtMTUxNSw2ICsxNTE0LDcgQEAKICAgICAgICAgc2VsZi5fc25hcHNob3QgPSBOb25lICAjIGluZm8gZm9yIHJlY29uc3RydWN0aW5nIGRlY29kZXIgc3RhdGUKICAgICAgICAgc2VsZi5fc2Vla2FibGUgPSBzZWxmLl90ZWxsaW5nID0gc2VsZi5idWZmZXIuc2Vla2FibGUoKQogICAgICAgICBzZWxmLl9oYXNfcmVhZDEgPSBoYXNhdHRyKHNlbGYuYnVmZmVyLCAncmVhZDEnKQorICAgICAgICBzZWxmLl9iMmNyYXRpbyA9IDAuMAogCiAgICAgICAgIGlmIHNlbGYuX3NlZWthYmxlIGFuZCBzZWxmLndyaXRhYmxlKCk6CiAgICAgICAgICAgICBwb3NpdGlvbiA9IHNlbGYuYnVmZmVyLnRlbGwoKQpAQCAtMTY4NSw3ICsxNjg1LDEyIEBACiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBpbnB1dF9jaHVuayA9IHNlbGYuYnVmZmVyLnJlYWQoc2VsZi5fQ0hVTktfU0laRSkKICAgICAgICAgZW9mID0gbm90IGlucHV0X2NodW5rCi0gICAgICAgIHNlbGYuX3NldF9kZWNvZGVkX2NoYXJzKHNlbGYuX2RlY29kZXIuZGVjb2RlKGlucHV0X2NodW5rLCBlb2YpKQorICAgICAgICBkZWNvZGVkX2NoYXJzID0gc2VsZi5fZGVjb2Rlci5kZWNvZGUoaW5wdXRfY2h1bmssIGVvZikKKyAgICAgICAgc2VsZi5fc2V0X2RlY29kZWRfY2hhcnMoZGVjb2RlZF9jaGFycykKKyAgICAgICAgaWYgZGVjb2RlZF9jaGFyczoKKyAgICAgICAgICAgIHNlbGYuX2IyY3JhdGlvID0gbGVuKGlucHV0X2NodW5rKSAvIGxlbihzZWxmLl9kZWNvZGVkX2NoYXJzKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgc2VsZi5fYjJjcmF0aW8gPSAwLjAKIAogICAgICAgICBpZiBzZWxmLl90ZWxsaW5nOgogICAgICAgICAgICAgIyBBdCB0aGUgc25hcHNob3QgcG9pbnQsIGxlbihkZWNfYnVmZmVyKSBieXRlcyBiZWZvcmUgdGhlIHJlYWQsCkBAIC0xNzM5LDIwICsxNzQ0LDU2IEBACiAgICAgICAgICMgZm9yd2FyZCB1bnRpbCBpdCBnaXZlcyB1cyBlbm91Z2ggZGVjb2RlZCBjaGFyYWN0ZXJzLgogICAgICAgICBzYXZlZF9zdGF0ZSA9IGRlY29kZXIuZ2V0c3RhdGUoKQogICAgICAgICB0cnk6CisgICAgICAgICAgICAjIEZhc3Qgc2VhcmNoIGZvciBhbiBhY2NlcHRhYmxlIHN0YXJ0IHBvaW50LCBjbG9zZSB0byBvdXIKKyAgICAgICAgICAgICMgY3VycmVudCBwb3MuCisgICAgICAgICAgICAjIFJhdGlvbmFsZTogY2FsbGluZyBkZWNvZGVyLmRlY29kZSgpIGhhcyBhIGxhcmdlIG92ZXJoZWFkCisgICAgICAgICAgICAjIHJlZ2FyZGxlc3Mgb2YgY2h1bmsgc2l6ZTsgd2Ugd2FudCB0aGUgbnVtYmVyIG9mIHN1Y2ggY2FsbHMgdG8KKyAgICAgICAgICAgICMgYmUgTygxKSBpbiBtb3N0IHNpdHVhdGlvbnMgKGNvbW1vbiBkZWNvZGVycywgbm9uLWNyYXp5IGlucHV0KS4KKyAgICAgICAgICAgICMgQWN0dWFsbHksIGl0IHdpbGwgYmUgZXhhY3RseSAxIGZvciBmaXhlZC1zaXplIGNvZGVjcyAoYWxsCisgICAgICAgICAgICAjIDgtYml0IGNvZGVjcywgYWxzbyBVVEYtMTYgYW5kIFVURi0zMikuCisgICAgICAgICAgICBza2lwX2J5dGVzID0gaW50KHNlbGYuX2IyY3JhdGlvICogY2hhcnNfdG9fc2tpcCkKKyAgICAgICAgICAgIHNraXBfYmFjayA9IDEKKyAgICAgICAgICAgIGFzc2VydCBza2lwX2J5dGVzIDw9IGxlbihuZXh0X2lucHV0KQorICAgICAgICAgICAgd2hpbGUgc2tpcF9ieXRlcyA+IDA6CisgICAgICAgICAgICAgICAgZGVjb2Rlci5zZXRzdGF0ZSgoYicnLCBkZWNfZmxhZ3MpKQorICAgICAgICAgICAgICAgICMgRGVjb2RlIHVwIHRvIHRlbXB0YXRpdmUgc3RhcnQgcG9pbnQKKyAgICAgICAgICAgICAgICBuID0gbGVuKGRlY29kZXIuZGVjb2RlKG5leHRfaW5wdXRbOnNraXBfYnl0ZXNdKSkKKyAgICAgICAgICAgICAgICBpZiBuIDw9IGNoYXJzX3RvX3NraXA6CisgICAgICAgICAgICAgICAgICAgIGIsIGQgPSBkZWNvZGVyLmdldHN0YXRlKCkKKyAgICAgICAgICAgICAgICAgICAgaWYgbm90IGI6CisgICAgICAgICAgICAgICAgICAgICAgICAjIEJlZm9yZSBwb3MgYW5kIG5vIGJ5dGVzIGJ1ZmZlcmVkIGluIGRlY29kZXIgPT4gT0sKKyAgICAgICAgICAgICAgICAgICAgICAgIGRlY19mbGFncyA9IGQKKyAgICAgICAgICAgICAgICAgICAgICAgIGNoYXJzX3RvX3NraXAgLT0gbgorICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgICAgICAgICAgICAgIyBTa2lwIGJhY2sgYnkgYnVmZmVyZWQgYW1vdW50IGFuZCByZXNldCBoZXVyaXN0aWMKKyAgICAgICAgICAgICAgICAgICAgc2tpcF9ieXRlcyAtPSBsZW4oYikKKyAgICAgICAgICAgICAgICAgICAgc2tpcF9iYWNrID0gMQorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgICMgV2UncmUgdG9vIGZhciBhaGVhZCwgc2tpcCBiYWNrIGEgYml0CisgICAgICAgICAgICAgICAgICAgIHNraXBfYnl0ZXMgLT0gc2tpcF9iYWNrCisgICAgICAgICAgICAgICAgICAgIHNraXBfYmFjayA9IHNraXBfYmFjayAqIDIKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgc2tpcF9ieXRlcyA9IDAKKyAgICAgICAgICAgICAgICBkZWNvZGVyLnNldHN0YXRlKChiJycsIGRlY19mbGFncykpCisKICAgICAgICAgICAgICMgTm90ZSBvdXIgaW5pdGlhbCBzdGFydCBwb2ludC4KLSAgICAgICAgICAgIGRlY29kZXIuc2V0c3RhdGUoKGInJywgZGVjX2ZsYWdzKSkKLSAgICAgICAgICAgIHN0YXJ0X3BvcyA9IHBvc2l0aW9uCi0gICAgICAgICAgICBzdGFydF9mbGFncywgYnl0ZXNfZmVkLCBjaGFyc19kZWNvZGVkID0gZGVjX2ZsYWdzLCAwLCAwCi0gICAgICAgICAgICBuZWVkX2VvZiA9IDAKKyAgICAgICAgICAgIHN0YXJ0X3BvcyA9IHBvc2l0aW9uICsgc2tpcF9ieXRlcworICAgICAgICAgICAgc3RhcnRfZmxhZ3MgPSBkZWNfZmxhZ3MKKyAgICAgICAgICAgIGlmIGNoYXJzX3RvX3NraXAgPT0gMDoKKyAgICAgICAgICAgICAgICAjIFdlIGhhdmVuJ3QgbW92ZWQgZnJvbSB0aGUgc3RhcnQgcG9pbnQuCisgICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3BhY2tfY29va2llKHN0YXJ0X3Bvcywgc3RhcnRfZmxhZ3MpCiAKICAgICAgICAgICAgICMgRmVlZCB0aGUgZGVjb2RlciBvbmUgYnl0ZSBhdCBhIHRpbWUuICBBcyB3ZSBnbywgbm90ZSB0aGUKICAgICAgICAgICAgICMgbmVhcmVzdCAic2FmZSBzdGFydCBwb2ludCIgYmVmb3JlIHRoZSBjdXJyZW50IGxvY2F0aW9uCiAgICAgICAgICAgICAjIChhIHBvaW50IHdoZXJlIHRoZSBkZWNvZGVyIGhhcyBub3RoaW5nIGJ1ZmZlcmVkLCBzbyBzZWVrKCkKICAgICAgICAgICAgICMgY2FuIHNhZmVseSBzdGFydCBmcm9tIHRoZXJlIGFuZCBhZHZhbmNlIHRvIHRoaXMgbG9jYXRpb24pLgotICAgICAgICAgICAgbmV4dF9ieXRlID0gYnl0ZWFycmF5KDEpCi0gICAgICAgICAgICBmb3IgbmV4dF9ieXRlWzBdIGluIG5leHRfaW5wdXQ6CisgICAgICAgICAgICBieXRlc19mZWQgPSAwCisgICAgICAgICAgICBuZWVkX2VvZiA9IDAKKyAgICAgICAgICAgICMgQ2hhcnMgZGVjb2RlZCBzaW5jZSBgc3RhcnRfcG9zYAorICAgICAgICAgICAgY2hhcnNfZGVjb2RlZCA9IDAKKyAgICAgICAgICAgIGZvciBpIGluIHJhbmdlKHNraXBfYnl0ZXMsIGxlbihuZXh0X2lucHV0KSk6CiAgICAgICAgICAgICAgICAgYnl0ZXNfZmVkICs9IDEKLSAgICAgICAgICAgICAgICBjaGFyc19kZWNvZGVkICs9IGxlbihkZWNvZGVyLmRlY29kZShuZXh0X2J5dGUpKQorICAgICAgICAgICAgICAgIGNoYXJzX2RlY29kZWQgKz0gbGVuKGRlY29kZXIuZGVjb2RlKG5leHRfaW5wdXRbaTppKzFdKSkKICAgICAgICAgICAgICAgICBkZWNfYnVmZmVyLCBkZWNfZmxhZ3MgPSBkZWNvZGVyLmdldHN0YXRlKCkKICAgICAgICAgICAgICAgICBpZiBub3QgZGVjX2J1ZmZlciBhbmQgY2hhcnNfZGVjb2RlZCA8PSBjaGFyc190b19za2lwOgogICAgICAgICAgICAgICAgICAgICAjIERlY29kZXIgYnVmZmVyIGlzIGVtcHR5LCBzbyB0aGlzIGlzIGEgc2FmZSBzdGFydCBwb2ludC4KZGlmZiAtLWdpdCBhL0xpYi9hYmMucHkgYi9MaWIvYWJjLnB5CmluZGV4IGE2YzJkYzQuLjA5Nzc4ZTggMTAwNjQ0Ci0tLSBhL0xpYi9hYmMucHkKKysrIGIvTGliL2FiYy5weQpAQCAtMjYsNyArMjYsOCBAQAogCiAKIGNsYXNzIGFic3RyYWN0Y2xhc3NtZXRob2QoY2xhc3NtZXRob2QpOgotICAgICIiIkEgZGVjb3JhdG9yIGluZGljYXRpbmcgYWJzdHJhY3QgY2xhc3NtZXRob2RzLgorICAgICIiIgorICAgIEEgZGVjb3JhdG9yIGluZGljYXRpbmcgYWJzdHJhY3QgY2xhc3NtZXRob2RzLgogCiAgICAgU2ltaWxhciB0byBhYnN0cmFjdG1ldGhvZC4KIApAQCAtMzYsNiArMzcsOSBAQAogICAgICAgICAgICAgQGFic3RyYWN0Y2xhc3NtZXRob2QKICAgICAgICAgICAgIGRlZiBteV9hYnN0cmFjdF9jbGFzc21ldGhvZChjbHMsIC4uLik6CiAgICAgICAgICAgICAgICAgLi4uCisKKyAgICAnYWJzdHJhY3RjbGFzc21ldGhvZCcgaXMgZGVwcmVjYXRlZC4gVXNlICdjbGFzc21ldGhvZCcgd2l0aAorICAgICdhYnN0cmFjdG1ldGhvZCcgaW5zdGVhZC4KICAgICAiIiIKIAogICAgIF9faXNhYnN0cmFjdG1ldGhvZF9fID0gVHJ1ZQpAQCAtNDYsNyArNTAsOCBAQAogCiAKIGNsYXNzIGFic3RyYWN0c3RhdGljbWV0aG9kKHN0YXRpY21ldGhvZCk6Ci0gICAgIiIiQSBkZWNvcmF0b3IgaW5kaWNhdGluZyBhYnN0cmFjdCBzdGF0aWNtZXRob2RzLgorICAgICIiIgorICAgIEEgZGVjb3JhdG9yIGluZGljYXRpbmcgYWJzdHJhY3Qgc3RhdGljbWV0aG9kcy4KIAogICAgIFNpbWlsYXIgdG8gYWJzdHJhY3RtZXRob2QuCiAKQEAgLTU2LDYgKzYxLDkgQEAKICAgICAgICAgICAgIEBhYnN0cmFjdHN0YXRpY21ldGhvZAogICAgICAgICAgICAgZGVmIG15X2Fic3RyYWN0X3N0YXRpY21ldGhvZCguLi4pOgogICAgICAgICAgICAgICAgIC4uLgorCisgICAgJ2Fic3RyYWN0c3RhdGljbWV0aG9kJyBpcyBkZXByZWNhdGVkLiBVc2UgJ3N0YXRpY21ldGhvZCcgd2l0aAorICAgICdhYnN0cmFjdG1ldGhvZCcgaW5zdGVhZC4KICAgICAiIiIKIAogICAgIF9faXNhYnN0cmFjdG1ldGhvZF9fID0gVHJ1ZQpAQCAtNjYsNyArNzQsOCBAQAogCiAKIGNsYXNzIGFic3RyYWN0cHJvcGVydHkocHJvcGVydHkpOgotICAgICIiIkEgZGVjb3JhdG9yIGluZGljYXRpbmcgYWJzdHJhY3QgcHJvcGVydGllcy4KKyAgICAiIiIKKyAgICBBIGRlY29yYXRvciBpbmRpY2F0aW5nIGFic3RyYWN0IHByb3BlcnRpZXMuCiAKICAgICBSZXF1aXJlcyB0aGF0IHRoZSBtZXRhY2xhc3MgaXMgQUJDTWV0YSBvciBkZXJpdmVkIGZyb20gaXQuICBBCiAgICAgY2xhc3MgdGhhdCBoYXMgYSBtZXRhY2xhc3MgZGVyaXZlZCBmcm9tIEFCQ01ldGEgY2Fubm90IGJlCkBAIC04OCw3ICs5NywxMSBAQAogICAgICAgICAgICAgZGVmIGdldHgoc2VsZik6IC4uLgogICAgICAgICAgICAgZGVmIHNldHgoc2VsZiwgdmFsdWUpOiAuLi4KICAgICAgICAgICAgIHggPSBhYnN0cmFjdHByb3BlcnR5KGdldHgsIHNldHgpCisKKyAgICAnYWJzdHJhY3Rwcm9wZXJ0eScgaXMgZGVwcmVjYXRlZC4gVXNlICdwcm9wZXJ0eScgd2l0aCAnYWJzdHJhY3RtZXRob2QnCisgICAgaW5zdGVhZC4KICAgICAiIiIKKwogICAgIF9faXNhYnN0cmFjdG1ldGhvZF9fID0gVHJ1ZQogCiAKQEAgLTEzMywxMSArMTQ2LDE0IEBACiAgICAgICAgIHJldHVybiBjbHMKIAogICAgIGRlZiByZWdpc3RlcihjbHMsIHN1YmNsYXNzKToKLSAgICAgICAgIiIiUmVnaXN0ZXIgYSB2aXJ0dWFsIHN1YmNsYXNzIG9mIGFuIEFCQy4iIiIKKyAgICAgICAgIiIiUmVnaXN0ZXIgYSB2aXJ0dWFsIHN1YmNsYXNzIG9mIGFuIEFCQy4KKworICAgICAgICBSZXR1cm5zIHRoZSBzdWJjbGFzcywgdG8gYWxsb3cgdXNhZ2UgYXMgYSBjbGFzcyBkZWNvcmF0b3IuCisgICAgICAgICIiIgogICAgICAgICBpZiBub3QgaXNpbnN0YW5jZShzdWJjbGFzcywgdHlwZSk6CiAgICAgICAgICAgICByYWlzZSBUeXBlRXJyb3IoIkNhbiBvbmx5IHJlZ2lzdGVyIGNsYXNzZXMiKQogICAgICAgICBpZiBpc3N1YmNsYXNzKHN1YmNsYXNzLCBjbHMpOgotICAgICAgICAgICAgcmV0dXJuICAjIEFscmVhZHkgYSBzdWJjbGFzcworICAgICAgICAgICAgcmV0dXJuIHN1YmNsYXNzICAjIEFscmVhZHkgYSBzdWJjbGFzcwogICAgICAgICAjIFN1YnRsZTogdGVzdCBmb3IgY3ljbGVzICphZnRlciogdGVzdGluZyBmb3IgImFscmVhZHkgYSBzdWJjbGFzcyI7CiAgICAgICAgICMgdGhpcyBtZWFucyB3ZSBhbGxvdyBYLnJlZ2lzdGVyKFgpIGFuZCBpbnRlcnByZXQgaXQgYXMgYSBuby1vcC4KICAgICAgICAgaWYgaXNzdWJjbGFzcyhjbHMsIHN1YmNsYXNzKToKQEAgLTE0NSw2ICsxNjEsNyBAQAogICAgICAgICAgICAgcmFpc2UgUnVudGltZUVycm9yKCJSZWZ1c2luZyB0byBjcmVhdGUgYW4gaW5oZXJpdGFuY2UgY3ljbGUiKQogICAgICAgICBjbHMuX2FiY19yZWdpc3RyeS5hZGQoc3ViY2xhc3MpCiAgICAgICAgIEFCQ01ldGEuX2FiY19pbnZhbGlkYXRpb25fY291bnRlciArPSAxICAjIEludmFsaWRhdGUgbmVnYXRpdmUgY2FjaGUKKyAgICAgICAgcmV0dXJuIHN1YmNsYXNzCiAKICAgICBkZWYgX2R1bXBfcmVnaXN0cnkoY2xzLCBmaWxlPU5vbmUpOgogICAgICAgICAiIiJEZWJ1ZyBoZWxwZXIgdG8gcHJpbnQgdGhlIEFCQyByZWdpc3RyeS4iIiIKZGlmZiAtLWdpdCBhL0xpYi9haWZjLnB5IGIvTGliL2FpZmMucHkKaW5kZXggNzc1ZjM5Yy4uZWM0ZjgyMiAxMDA2NDQKLS0tIGEvTGliL2FpZmMucHkKKysrIGIvTGliL2FpZmMucHkKQEAgLTEzNiw2ICsxMzYsNyBAQAogCiBpbXBvcnQgc3RydWN0CiBpbXBvcnQgYnVpbHRpbnMKK2ltcG9ydCB3YXJuaW5ncwogCiBfX2FsbF9fID0gWyJFcnJvciIsICJvcGVuIiwgIm9wZW5mcCJdCiAKQEAgLTQ0MCw3ICs0NDEsNyBAQAogICAgICAgICAgICAga2x1ZGdlID0gMAogICAgICAgICAgICAgaWYgY2h1bmsuY2h1bmtzaXplID09IDE4OgogICAgICAgICAgICAgICAgIGtsdWRnZSA9IDEKLSAgICAgICAgICAgICAgICBwcmludCgnV2FybmluZzogYmFkIENPTU0gY2h1bmsgc2l6ZScpCisgICAgICAgICAgICAgICAgd2FybmluZ3Mud2FybignV2FybmluZzogYmFkIENPTU0gY2h1bmsgc2l6ZScpCiAgICAgICAgICAgICAgICAgY2h1bmsuY2h1bmtzaXplID0gMjMKICAgICAgICAgICAgICNERUJVRyBlbmQKICAgICAgICAgICAgIHNlbGYuX2NvbXB0eXBlID0gY2h1bmsucmVhZCg0KQpAQCAtNDg0LDExICs0ODUsMTAgQEAKICAgICAgICAgICAgICAgICAgICAgIyBhIHBvc2l0aW9uIDAgYW5kIG5hbWUgJycKICAgICAgICAgICAgICAgICAgICAgc2VsZi5fbWFya2Vycy5hcHBlbmQoKGlkLCBwb3MsIG5hbWUpKQogICAgICAgICBleGNlcHQgRU9GRXJyb3I6Ci0gICAgICAgICAgICBwcmludCgnV2FybmluZzogTUFSSyBjaHVuayBjb250YWlucyBvbmx5JywgZW5kPScgJykKLSAgICAgICAgICAgIHByaW50KGxlbihzZWxmLl9tYXJrZXJzKSwgZW5kPScgJykKLSAgICAgICAgICAgIGlmIGxlbihzZWxmLl9tYXJrZXJzKSA9PSAxOiBwcmludCgnbWFya2VyJywgZW5kPScgJykKLSAgICAgICAgICAgIGVsc2U6IHByaW50KCdtYXJrZXJzJywgZW5kPScgJykKLSAgICAgICAgICAgIHByaW50KCdpbnN0ZWFkIG9mJywgbm1hcmtlcnMpCisgICAgICAgICAgICB3ID0gKCdXYXJuaW5nOiBNQVJLIGNodW5rIGNvbnRhaW5zIG9ubHkgJXMgbWFya2VyJXMgaW5zdGVhZCBvZiAlcycgJQorICAgICAgICAgICAgICAgICAobGVuKHNlbGYuX21hcmtlcnMpLCAnJyBpZiBsZW4oc2VsZi5fbWFya2VycykgPT0gMSBlbHNlICdzJywKKyAgICAgICAgICAgICAgICAgIG5tYXJrZXJzKSkKKyAgICAgICAgICAgIHdhcm5pbmdzLndhcm4odykKIAogY2xhc3MgQWlmY193cml0ZToKICAgICAjIFZhcmlhYmxlcyB1c2VkIGluIHRoaXMgY2xhc3M6CmRpZmYgLS1naXQgYS9MaWIvYXJncGFyc2UucHkgYi9MaWIvYXJncGFyc2UucHkKaW5kZXggMjIwMmI1Ny4uODdkMGNlZiAxMDA2NDQKLS0tIGEvTGliL2FyZ3BhcnNlLnB5CisrKyBiL0xpYi9hcmdwYXJzZS5weQpAQCAtNzEsNiArNzEsNyBAQAogICAgICdBcmd1bWVudERlZmF1bHRzSGVscEZvcm1hdHRlcicsCiAgICAgJ1Jhd0Rlc2NyaXB0aW9uSGVscEZvcm1hdHRlcicsCiAgICAgJ1Jhd1RleHRIZWxwRm9ybWF0dGVyJywKKyAgICAnTWV0YXZhclR5cGVIZWxwRm9ybWF0dGVyJywKICAgICAnTmFtZXNwYWNlJywKICAgICAnQWN0aW9uJywKICAgICAnT05FX09SX01PUkUnLApAQCAtNDE5LDcgKzQyMCw4IEBACiAKICAgICAgICAgICAgICMgcHJvZHVjZSBhbGwgYXJnIHN0cmluZ3MKICAgICAgICAgICAgIGVsaWYgbm90IGFjdGlvbi5vcHRpb25fc3RyaW5nczoKLSAgICAgICAgICAgICAgICBwYXJ0ID0gc2VsZi5fZm9ybWF0X2FyZ3MoYWN0aW9uLCBhY3Rpb24uZGVzdCkKKyAgICAgICAgICAgICAgICBkZWZhdWx0ID0gc2VsZi5fZ2V0X2RlZmF1bHRfbWV0YXZhcl9mb3JfcG9zaXRpb25hbChhY3Rpb24pCisgICAgICAgICAgICAgICAgcGFydCA9IHNlbGYuX2Zvcm1hdF9hcmdzKGFjdGlvbiwgZGVmYXVsdCkKIAogICAgICAgICAgICAgICAgICMgaWYgaXQncyBpbiBhIGdyb3VwLCBzdHJpcCB0aGUgb3V0ZXIgW10KICAgICAgICAgICAgICAgICBpZiBhY3Rpb24gaW4gZ3JvdXBfYWN0aW9uczoKQEAgLTQ0MSw3ICs0NDMsNyBAQAogICAgICAgICAgICAgICAgICMgaWYgdGhlIE9wdGlvbmFsIHRha2VzIGEgdmFsdWUsIGZvcm1hdCBpczoKICAgICAgICAgICAgICAgICAjICAgIC1zIEFSR1Mgb3IgLS1sb25nIEFSR1MKICAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICBkZWZhdWx0ID0gYWN0aW9uLmRlc3QudXBwZXIoKQorICAgICAgICAgICAgICAgICAgICBkZWZhdWx0ID0gc2VsZi5fZ2V0X2RlZmF1bHRfbWV0YXZhcl9mb3Jfb3B0aW9uYWwoYWN0aW9uKQogICAgICAgICAgICAgICAgICAgICBhcmdzX3N0cmluZyA9IHNlbGYuX2Zvcm1hdF9hcmdzKGFjdGlvbiwgZGVmYXVsdCkKICAgICAgICAgICAgICAgICAgICAgcGFydCA9ICclcyAlcycgJSAob3B0aW9uX3N0cmluZywgYXJnc19zdHJpbmcpCiAKQEAgLTUyNyw3ICs1MjksOCBAQAogCiAgICAgZGVmIF9mb3JtYXRfYWN0aW9uX2ludm9jYXRpb24oc2VsZiwgYWN0aW9uKToKICAgICAgICAgaWYgbm90IGFjdGlvbi5vcHRpb25fc3RyaW5nczoKLSAgICAgICAgICAgIG1ldGF2YXIsID0gc2VsZi5fbWV0YXZhcl9mb3JtYXR0ZXIoYWN0aW9uLCBhY3Rpb24uZGVzdCkoMSkKKyAgICAgICAgICAgIGRlZmF1bHQgPSBzZWxmLl9nZXRfZGVmYXVsdF9tZXRhdmFyX2Zvcl9wb3NpdGlvbmFsKGFjdGlvbikKKyAgICAgICAgICAgIG1ldGF2YXIsID0gc2VsZi5fbWV0YXZhcl9mb3JtYXR0ZXIoYWN0aW9uLCBkZWZhdWx0KSgxKQogICAgICAgICAgICAgcmV0dXJuIG1ldGF2YXIKIAogICAgICAgICBlbHNlOgpAQCAtNTQxLDcgKzU0NCw3IEBACiAgICAgICAgICAgICAjIGlmIHRoZSBPcHRpb25hbCB0YWtlcyBhIHZhbHVlLCBmb3JtYXQgaXM6CiAgICAgICAgICAgICAjICAgIC1zIEFSR1MsIC0tbG9uZyBBUkdTCiAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIGRlZmF1bHQgPSBhY3Rpb24uZGVzdC51cHBlcigpCisgICAgICAgICAgICAgICAgZGVmYXVsdCA9IHNlbGYuX2dldF9kZWZhdWx0X21ldGF2YXJfZm9yX29wdGlvbmFsKGFjdGlvbikKICAgICAgICAgICAgICAgICBhcmdzX3N0cmluZyA9IHNlbGYuX2Zvcm1hdF9hcmdzKGFjdGlvbiwgZGVmYXVsdCkKICAgICAgICAgICAgICAgICBmb3Igb3B0aW9uX3N0cmluZyBpbiBhY3Rpb24ub3B0aW9uX3N0cmluZ3M6CiAgICAgICAgICAgICAgICAgICAgIHBhcnRzLmFwcGVuZCgnJXMgJXMnICUgKG9wdGlvbl9zdHJpbmcsIGFyZ3Nfc3RyaW5nKSkKQEAgLTYxOSw2ICs2MjIsMTIgQEAKICAgICBkZWYgX2dldF9oZWxwX3N0cmluZyhzZWxmLCBhY3Rpb24pOgogICAgICAgICByZXR1cm4gYWN0aW9uLmhlbHAKIAorICAgIGRlZiBfZ2V0X2RlZmF1bHRfbWV0YXZhcl9mb3Jfb3B0aW9uYWwoc2VsZiwgYWN0aW9uKToKKyAgICAgICAgcmV0dXJuIGFjdGlvbi5kZXN0LnVwcGVyKCkKKworICAgIGRlZiBfZ2V0X2RlZmF1bHRfbWV0YXZhcl9mb3JfcG9zaXRpb25hbChzZWxmLCBhY3Rpb24pOgorICAgICAgICByZXR1cm4gYWN0aW9uLmRlc3QKKwogCiBjbGFzcyBSYXdEZXNjcmlwdGlvbkhlbHBGb3JtYXR0ZXIoSGVscEZvcm1hdHRlcik6CiAgICAgIiIiSGVscCBtZXNzYWdlIGZvcm1hdHRlciB3aGljaCByZXRhaW5zIGFueSBmb3JtYXR0aW5nIGluIGRlc2NyaXB0aW9ucy4KQEAgLTYyOCw3ICs2MzcsNyBAQAogICAgICIiIgogCiAgICAgZGVmIF9maWxsX3RleHQoc2VsZiwgdGV4dCwgd2lkdGgsIGluZGVudCk6Ci0gICAgICAgIHJldHVybiAnJy5qb2luKFtpbmRlbnQgKyBsaW5lIGZvciBsaW5lIGluIHRleHQuc3BsaXRsaW5lcyhUcnVlKV0pCisgICAgICAgIHJldHVybiAnJy5qb2luKGluZGVudCArIGxpbmUgZm9yIGxpbmUgaW4gdGV4dC5zcGxpdGxpbmVzKGtlZXBlbmRzPVRydWUpKQogCiAKIGNsYXNzIFJhd1RleHRIZWxwRm9ybWF0dGVyKFJhd0Rlc2NyaXB0aW9uSGVscEZvcm1hdHRlcik6CkBAIC02NTksNiArNjY4LDIyIEBACiAgICAgICAgIHJldHVybiBoZWxwCiAKIAorY2xhc3MgTWV0YXZhclR5cGVIZWxwRm9ybWF0dGVyKEhlbHBGb3JtYXR0ZXIpOgorICAgICIiIkhlbHAgbWVzc2FnZSBmb3JtYXR0ZXIgd2hpY2ggdXNlcyB0aGUgYXJndW1lbnQgJ3R5cGUnIGFzIHRoZSBkZWZhdWx0CisgICAgbWV0YXZhciB2YWx1ZSAoaW5zdGVhZCBvZiB0aGUgYXJndW1lbnQgJ2Rlc3QnKQorCisgICAgT25seSB0aGUgbmFtZSBvZiB0aGlzIGNsYXNzIGlzIGNvbnNpZGVyZWQgYSBwdWJsaWMgQVBJLiBBbGwgdGhlIG1ldGhvZHMKKyAgICBwcm92aWRlZCBieSB0aGUgY2xhc3MgYXJlIGNvbnNpZGVyZWQgYW4gaW1wbGVtZW50YXRpb24gZGV0YWlsLgorICAgICIiIgorCisgICAgZGVmIF9nZXRfZGVmYXVsdF9tZXRhdmFyX2Zvcl9vcHRpb25hbChzZWxmLCBhY3Rpb24pOgorICAgICAgICByZXR1cm4gYWN0aW9uLnR5cGUuX19uYW1lX18KKworICAgIGRlZiBfZ2V0X2RlZmF1bHRfbWV0YXZhcl9mb3JfcG9zaXRpb25hbChzZWxmLCBhY3Rpb24pOgorICAgICAgICByZXR1cm4gYWN0aW9uLnR5cGUuX19uYW1lX18KKworCisKICMgPT09PT09PT09PT09PT09PT09PT09CiAjIE9wdGlvbnMgYW5kIEFyZ3VtZW50cwogIyA9PT09PT09PT09PT09PT09PT09PT0KQEAgLTE5NDAsMTcgKzE5NjUsMTIgQEAKICAgICAgICAgIyBpZiB3ZSBkaWRuJ3QgY29uc3VtZSBhbGwgdGhlIGFyZ3VtZW50IHN0cmluZ3MsIHRoZXJlIHdlcmUgZXh0cmFzCiAgICAgICAgIGV4dHJhcy5leHRlbmQoYXJnX3N0cmluZ3Nbc3RvcF9pbmRleDpdKQogCi0gICAgICAgICMgaWYgd2UgZGlkbid0IHVzZSBhbGwgdGhlIFBvc2l0aW9uYWwgb2JqZWN0cywgdGhlcmUgd2VyZSB0b28gZmV3Ci0gICAgICAgICMgYXJnIHN0cmluZ3Mgc3VwcGxpZWQuCi0gICAgICAgIGlmIHBvc2l0aW9uYWxzOgotICAgICAgICAgICAgc2VsZi5lcnJvcihfKCd0b28gZmV3IGFyZ3VtZW50cycpKQotCiAgICAgICAgICMgbWFrZSBzdXJlIGFsbCByZXF1aXJlZCBhY3Rpb25zIHdlcmUgcHJlc2VudAotICAgICAgICBmb3IgYWN0aW9uIGluIHNlbGYuX2FjdGlvbnM6Ci0gICAgICAgICAgICBpZiBhY3Rpb24ucmVxdWlyZWQ6Ci0gICAgICAgICAgICAgICAgaWYgYWN0aW9uIG5vdCBpbiBzZWVuX2FjdGlvbnM6Ci0gICAgICAgICAgICAgICAgICAgIG5hbWUgPSBfZ2V0X2FjdGlvbl9uYW1lKGFjdGlvbikKLSAgICAgICAgICAgICAgICAgICAgc2VsZi5lcnJvcihfKCdhcmd1bWVudCAlcyBpcyByZXF1aXJlZCcpICUgbmFtZSkKKyAgICAgICAgcmVxdWlyZWRfYWN0aW9ucyA9IFtfZ2V0X2FjdGlvbl9uYW1lKGFjdGlvbikgZm9yIGFjdGlvbiBpbiBzZWxmLl9hY3Rpb25zCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgYWN0aW9uLnJlcXVpcmVkIGFuZCBhY3Rpb24gbm90IGluIHNlZW5fYWN0aW9uc10KKyAgICAgICAgaWYgcmVxdWlyZWRfYWN0aW9uczoKKyAgICAgICAgICAgIHNlbGYuZXJyb3IoXygndGhlIGZvbGxvd2luZyBhcmd1bWVudHMgYXJlIHJlcXVpcmVkOiAlcycpICUKKyAgICAgICAgICAgICAgICAgICAgICAgJywgJy5qb2luKHJlcXVpcmVkX2FjdGlvbnMpKQogCiAgICAgICAgICMgbWFrZSBzdXJlIGFsbCByZXF1aXJlZCBncm91cHMgaGFkIG9uZSBvcHRpb24gcHJlc2VudAogICAgICAgICBmb3IgZ3JvdXAgaW4gc2VsZi5fbXV0dWFsbHlfZXhjbHVzaXZlX2dyb3VwczoKZGlmZiAtLWdpdCBhL0xpYi9hc3QucHkgYi9MaWIvYXN0LnB5CmluZGV4IGZiNWFkYWMuLjEzZjU5ZjkgMTAwNjQ0Ci0tLSBhL0xpYi9hc3QucHkKKysrIGIvTGliL2FzdC5weQpAQCAtMjUsNyArMjUsNiBAQAogICAgIDpsaWNlbnNlOiBQeXRob24gTGljZW5zZS4KICIiIgogZnJvbSBfYXN0IGltcG9ydCAqCi1mcm9tIF9hc3QgaW1wb3J0IF9fdmVyc2lvbl9fCiAKIAogZGVmIHBhcnNlKHNvdXJjZSwgZmlsZW5hbWU9Jzx1bmtub3duPicsIG1vZGU9J2V4ZWMnKToKZGlmZiAtLWdpdCBhL0xpYi9hc3luY2hhdC5weSBiL0xpYi9hc3luY2hhdC5weQppbmRleCA2NTU4NTEyLi4yMTk5ZDFiIDEwMDY0NAotLS0gYS9MaWIvYXN5bmNoYXQucHkKKysrIGIvTGliL2FzeW5jaGF0LnB5CkBAIC03NSw3ICs3NSw3IEBACiAgICAgIyBzaWduIG9mIGFuIGFwcGxpY2F0aW9uIGJ1ZyB0aGF0IHdlIGRvbid0IHdhbnQgdG8gcGFzcyBzaWxlbnRseQogCiAgICAgdXNlX2VuY29kaW5nICAgICAgICAgICAgPSAwCi0gICAgZW5jb2RpbmcgICAgICAgICAgICAgICAgPSAnbGF0aW4xJworICAgIGVuY29kaW5nICAgICAgICAgICAgICAgID0gJ2xhdGluLTEnCiAKICAgICBkZWYgX19pbml0X18gKHNlbGYsIHNvY2s9Tm9uZSwgbWFwPU5vbmUpOgogICAgICAgICAjIGZvciBzdHJpbmcgdGVybWluYXRvciBtYXRjaGluZwpkaWZmIC0tZ2l0IGEvTGliL2FzeW5jb3JlLnB5IGIvTGliL2FzeW5jb3JlLnB5CmluZGV4IDdmNDJkMzkuLjkyMDQ0NGQgMTAwNjQ0Ci0tLSBhL0xpYi9hc3luY29yZS5weQorKysgYi9MaWIvYXN5bmNvcmUucHkKQEAgLTU0LDcgKzU0LDcgQEAKIAogaW1wb3J0IG9zCiBmcm9tIGVycm5vIGltcG9ydCBFQUxSRUFEWSwgRUlOUFJPR1JFU1MsIEVXT1VMREJMT0NLLCBFQ09OTlJFU0VULCBFSU5WQUwsIFwKLSAgICAgRU5PVENPTk4sIEVTSFVURE9XTiwgRUlOVFIsIEVJU0NPTk4sIEVCQURGLCBFQ09OTkFCT1JURUQsIEVQSVBFLCBFQUdBSU4sIFwKKyAgICAgRU5PVENPTk4sIEVTSFVURE9XTiwgRUlTQ09OTiwgRUJBREYsIEVDT05OQUJPUlRFRCwgRVBJUEUsIEVBR0FJTiwgXAogICAgICBlcnJvcmNvZGUKIAogX0RJU0NPTk5FQ1RFRCA9IGZyb3plbnNldCgoRUNPTk5SRVNFVCwgRU5PVENPTk4sIEVTSFVURE9XTiwgRUNPTk5BQk9SVEVELCBFUElQRSwKQEAgLTE0MywxMSArMTQzLDggQEAKIAogICAgICAgICB0cnk6CiAgICAgICAgICAgICByLCB3LCBlID0gc2VsZWN0LnNlbGVjdChyLCB3LCBlLCB0aW1lb3V0KQotICAgICAgICBleGNlcHQgc2VsZWN0LmVycm9yIGFzIGVycjoKLSAgICAgICAgICAgIGlmIGVyci5hcmdzWzBdICE9IEVJTlRSOgotICAgICAgICAgICAgICAgIHJhaXNlCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHJldHVybgorICAgICAgICBleGNlcHQgSW50ZXJydXB0ZWRFcnJvcjoKKyAgICAgICAgICAgIHJldHVybgogCiAgICAgICAgIGZvciBmZCBpbiByOgogICAgICAgICAgICAgb2JqID0gbWFwLmdldChmZCkKQEAgLTE4NCwxNSArMTgxLDEwIEBACiAgICAgICAgICAgICBpZiBvYmoud3JpdGFibGUoKSBhbmQgbm90IG9iai5hY2NlcHRpbmc6CiAgICAgICAgICAgICAgICAgZmxhZ3MgfD0gc2VsZWN0LlBPTExPVVQKICAgICAgICAgICAgIGlmIGZsYWdzOgotICAgICAgICAgICAgICAgICMgT25seSBjaGVjayBmb3IgZXhjZXB0aW9ucyBpZiBvYmplY3Qgd2FzIGVpdGhlciByZWFkYWJsZQotICAgICAgICAgICAgICAgICMgb3Igd3JpdGFibGUuCi0gICAgICAgICAgICAgICAgZmxhZ3MgfD0gc2VsZWN0LlBPTExFUlIgfCBzZWxlY3QuUE9MTEhVUCB8IHNlbGVjdC5QT0xMTlZBTAogICAgICAgICAgICAgICAgIHBvbGxzdGVyLnJlZ2lzdGVyKGZkLCBmbGFncykKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgciA9IHBvbGxzdGVyLnBvbGwodGltZW91dCkKLSAgICAgICAgZXhjZXB0IHNlbGVjdC5lcnJvciBhcyBlcnI6Ci0gICAgICAgICAgICBpZiBlcnIuYXJnc1swXSAhPSBFSU5UUjoKLSAgICAgICAgICAgICAgICByYWlzZQorICAgICAgICBleGNlcHQgSW50ZXJydXB0ZWRFcnJvcjoKICAgICAgICAgICAgIHIgPSBbXQogICAgICAgICBmb3IgZmQsIGZsYWdzIGluIHI6CiAgICAgICAgICAgICBvYmogPSBtYXAuZ2V0KGZkKQpAQCAtMjkxLDcgKzI4Myw3IEBACiAgICAgICAgICAgICBkZWwgbWFwW2ZkXQogICAgICAgICBzZWxmLl9maWxlbm8gPSBOb25lCiAKLSAgICBkZWYgY3JlYXRlX3NvY2tldChzZWxmLCBmYW1pbHksIHR5cGUpOgorICAgIGRlZiBjcmVhdGVfc29ja2V0KHNlbGYsIGZhbWlseT1zb2NrZXQuQUZfSU5FVCwgdHlwZT1zb2NrZXQuU09DS19TVFJFQU0pOgogICAgICAgICBzZWxmLmZhbWlseV9hbmRfdHlwZSA9IGZhbWlseSwgdHlwZQogICAgICAgICBzb2NrID0gc29ja2V0LnNvY2tldChmYW1pbHksIHR5cGUpCiAgICAgICAgIHNvY2suc2V0YmxvY2tpbmcoMCkKZGlmZiAtLWdpdCBhL0xpYi9iYXNlNjQucHkgYi9MaWIvYmFzZTY0LnB5CmluZGV4IDg5NWQ4MTMuLmVkY2M0YmUgMTAwNzU1Ci0tLSBhL0xpYi9iYXNlNjQucHkKKysrIGIvTGliL2Jhc2U2NC5weQpAQCAtMjksNiArMjksMTYgQEAKIAogYnl0ZXNfdHlwZXMgPSAoYnl0ZXMsIGJ5dGVhcnJheSkgICMgVHlwZXMgYWNjZXB0YWJsZSBhcyBiaW5hcnkgZGF0YQogCitkZWYgX2J5dGVzX2Zyb21fZGVjb2RlX2RhdGEocyk6CisgICAgaWYgaXNpbnN0YW5jZShzLCBzdHIpOgorICAgICAgICB0cnk6CisgICAgICAgICAgICByZXR1cm4gcy5lbmNvZGUoJ2FzY2lpJykKKyAgICAgICAgZXhjZXB0IFVuaWNvZGVFbmNvZGVFcnJvcjoKKyAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoJ3N0cmluZyBhcmd1bWVudCBzaG91bGQgY29udGFpbiBvbmx5IEFTQ0lJIGNoYXJhY3RlcnMnKQorICAgIGVsaWYgaXNpbnN0YW5jZShzLCBieXRlc190eXBlcyk6CisgICAgICAgIHJldHVybiBzCisgICAgZWxzZToKKyAgICAgICAgcmFpc2UgVHlwZUVycm9yKCJhcmd1bWVudCBzaG91bGQgYmUgYnl0ZXMgb3IgQVNDSUkgc3RyaW5nLCBub3QgJXMiICUgcy5fX2NsYXNzX18uX19uYW1lX18pCiAKIGRlZiBfdHJhbnNsYXRlKHMsIGFsdGNoYXJzKToKICAgICBpZiBub3QgaXNpbnN0YW5jZShzLCBieXRlc190eXBlcyk6CkBAIC03OSwxMiArODksOSBAQAogICAgIGRpc2NhcmRlZCBwcmlvciB0byB0aGUgcGFkZGluZyBjaGVjay4gIElmIHZhbGlkYXRlIGlzIFRydWUsCiAgICAgbm9uLWJhc2U2NC1hbHBoYWJldCBjaGFyYWN0ZXJzIGluIHRoZSBpbnB1dCByZXN1bHQgaW4gYSBiaW5hc2NpaS5FcnJvci4KICAgICAiIiIKLSAgICBpZiBub3QgaXNpbnN0YW5jZShzLCBieXRlc190eXBlcyk6Ci0gICAgICAgIHJhaXNlIFR5cGVFcnJvcigiZXhwZWN0ZWQgYnl0ZXMsIG5vdCAlcyIgJSBzLl9fY2xhc3NfXy5fX25hbWVfXykKKyAgICBzID0gX2J5dGVzX2Zyb21fZGVjb2RlX2RhdGEocykKICAgICBpZiBhbHRjaGFycyBpcyBub3QgTm9uZToKLSAgICAgICAgaWYgbm90IGlzaW5zdGFuY2UoYWx0Y2hhcnMsIGJ5dGVzX3R5cGVzKToKLSAgICAgICAgICAgIHJhaXNlIFR5cGVFcnJvcigiZXhwZWN0ZWQgYnl0ZXMsIG5vdCAlcyIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAlIGFsdGNoYXJzLl9fY2xhc3NfXy5fX25hbWVfXykKKyAgICAgICAgYWx0Y2hhcnMgPSBfYnl0ZXNfZnJvbV9kZWNvZGVfZGF0YShhbHRjaGFycykKICAgICAgICAgYXNzZXJ0IGxlbihhbHRjaGFycykgPT0gMiwgcmVwcihhbHRjaGFycykKICAgICAgICAgcyA9IF90cmFuc2xhdGUocywge2NocihhbHRjaGFyc1swXSk6IGInKycsIGNocihhbHRjaGFyc1sxXSk6IGInLyd9KQogICAgIGlmIHZhbGlkYXRlIGFuZCBub3QgcmUubWF0Y2goYideW0EtWmEtejAtOSsvXSo9ezAsMn0kJywgcyk6CkBAIC0yMTEsOCArMjE4LDcgQEAKICAgICB0aGUgaW5wdXQgaXMgaW5jb3JyZWN0bHkgcGFkZGVkIG9yIGlmIHRoZXJlIGFyZSBub24tYWxwaGFiZXQKICAgICBjaGFyYWN0ZXJzIHByZXNlbnQgaW4gdGhlIGlucHV0LgogICAgICIiIgotICAgIGlmIG5vdCBpc2luc3RhbmNlKHMsIGJ5dGVzX3R5cGVzKToKLSAgICAgICAgcmFpc2UgVHlwZUVycm9yKCJleHBlY3RlZCBieXRlcywgbm90ICVzIiAlIHMuX19jbGFzc19fLl9fbmFtZV9fKQorICAgIHMgPSBfYnl0ZXNfZnJvbV9kZWNvZGVfZGF0YShzKQogICAgIHF1YW50YSwgbGVmdG92ZXIgPSBkaXZtb2QobGVuKHMpLCA4KQogICAgIGlmIGxlZnRvdmVyOgogICAgICAgICByYWlzZSBiaW5hc2NpaS5FcnJvcignSW5jb3JyZWN0IHBhZGRpbmcnKQpAQCAtMjIwLDggKzIyNiw3IEBACiAgICAgIyBGYWxzZSwgb3IgdGhlIGNoYXJhY3RlciB0byBtYXAgdGhlIGRpZ2l0IDEgKG9uZSkgdG8uICBJdCBzaG91bGQgYmUKICAgICAjIGVpdGhlciBMIChlbCkgb3IgSSAoZXllKS4KICAgICBpZiBtYXAwMSBpcyBub3QgTm9uZToKLSAgICAgICAgaWYgbm90IGlzaW5zdGFuY2UobWFwMDEsIGJ5dGVzX3R5cGVzKToKLSAgICAgICAgICAgIHJhaXNlIFR5cGVFcnJvcigiZXhwZWN0ZWQgYnl0ZXMsIG5vdCAlcyIgJSBtYXAwMS5fX2NsYXNzX18uX19uYW1lX18pCisgICAgICAgIG1hcDAxID0gX2J5dGVzX2Zyb21fZGVjb2RlX2RhdGEobWFwMDEpCiAgICAgICAgIGFzc2VydCBsZW4obWFwMDEpID09IDEsIHJlcHIobWFwMDEpCiAgICAgICAgIHMgPSBfdHJhbnNsYXRlKHMsIHtiJzAnOiBiJ08nLCBiJzEnOiBtYXAwMX0pCiAgICAgaWYgY2FzZWZvbGQ6CkBAIC0yOTIsOCArMjk3LDcgQEAKICAgICBzIHdlcmUgaW5jb3JyZWN0bHkgcGFkZGVkIG9yIGlmIHRoZXJlIGFyZSBub24tYWxwaGFiZXQgY2hhcmFjdGVycwogICAgIHByZXNlbnQgaW4gdGhlIHN0cmluZy4KICAgICAiIiIKLSAgICBpZiBub3QgaXNpbnN0YW5jZShzLCBieXRlc190eXBlcyk6Ci0gICAgICAgIHJhaXNlIFR5cGVFcnJvcigiZXhwZWN0ZWQgYnl0ZXMsIG5vdCAlcyIgJSBzLl9fY2xhc3NfXy5fX25hbWVfXykKKyAgICBzID0gX2J5dGVzX2Zyb21fZGVjb2RlX2RhdGEocykKICAgICBpZiBjYXNlZm9sZDoKICAgICAgICAgcyA9IHMudXBwZXIoKQogICAgIGlmIHJlLnNlYXJjaChiJ1teMC05QS1GXScsIHMpOgpkaWZmIC0tZ2l0IGEvTGliL2JpbmhleC5weSBiL0xpYi9iaW5oZXgucHkKaW5kZXggOTk5YTY3NS4uN2JmOTI3OCAxMDA2NDQKLS0tIGEvTGliL2JpbmhleC5weQorKysgYi9MaWIvYmluaGV4LnB5CkBAIC0yMyw3ICsyMyw2IEBACiAjCiBpbXBvcnQgaW8KIGltcG9ydCBvcwotaW1wb3J0IHN5cwogaW1wb3J0IHN0cnVjdAogaW1wb3J0IGJpbmFzY2lpCiAKZGlmZiAtLWdpdCBhL0xpYi9iejIucHkgYi9MaWIvYnoyLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUxYjlhYzQKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvYnoyLnB5CkBAIC0wLDAgKzEsNDI0IEBACisiIiJJbnRlcmZhY2UgdG8gdGhlIGxpYmJ6aXAyIGNvbXByZXNzaW9uIGxpYnJhcnkuCisKK1RoaXMgbW9kdWxlIHByb3ZpZGVzIGEgZmlsZSBpbnRlcmZhY2UsIGNsYXNzZXMgZm9yIGluY3JlbWVudGFsCisoZGUpY29tcHJlc3Npb24sIGFuZCBmdW5jdGlvbnMgZm9yIG9uZS1zaG90IChkZSljb21wcmVzc2lvbi4KKyIiIgorCitfX2FsbF9fID0gWyJCWjJGaWxlIiwgIkJaMkNvbXByZXNzb3IiLCAiQloyRGVjb21wcmVzc29yIiwgImNvbXByZXNzIiwKKyAgICAgICAgICAgImRlY29tcHJlc3MiXQorCitfX2F1dGhvcl9fID0gIk5hZGVlbSBWYXdkYSA8bmFkZWVtLnZhd2RhQGdtYWlsLmNvbT4iCisKK2ltcG9ydCBpbworaW1wb3J0IHdhcm5pbmdzCisKK3RyeToKKyAgICBmcm9tIHRocmVhZGluZyBpbXBvcnQgUkxvY2sKK2V4Y2VwdCBJbXBvcnRFcnJvcjoKKyAgICBmcm9tIGR1bW15X3RocmVhZGluZyBpbXBvcnQgUkxvY2sKKworZnJvbSBfYnoyIGltcG9ydCBCWjJDb21wcmVzc29yLCBCWjJEZWNvbXByZXNzb3IKKworCitfTU9ERV9DTE9TRUQgICA9IDAKK19NT0RFX1JFQUQgICAgID0gMQorX01PREVfUkVBRF9FT0YgPSAyCitfTU9ERV9XUklURSAgICA9IDMKKworX0JVRkZFUl9TSVpFID0gODE5MgorCisKK2NsYXNzIEJaMkZpbGUoaW8uQnVmZmVyZWRJT0Jhc2UpOgorCisgICAgIiIiQSBmaWxlIG9iamVjdCBwcm92aWRpbmcgdHJhbnNwYXJlbnQgYnppcDIgKGRlKWNvbXByZXNzaW9uLgorCisgICAgQSBCWjJGaWxlIGNhbiBhY3QgYXMgYSB3cmFwcGVyIGZvciBhbiBleGlzdGluZyBmaWxlIG9iamVjdCwgb3IgcmVmZXIKKyAgICBkaXJlY3RseSB0byBhIG5hbWVkIGZpbGUgb24gZGlzay4KKworICAgIE5vdGUgdGhhdCBCWjJGaWxlIHByb3ZpZGVzIGEgKmJpbmFyeSogZmlsZSBpbnRlcmZhY2UgLSBkYXRhIHJlYWQgaXMKKyAgICByZXR1cm5lZCBhcyBieXRlcywgYW5kIGRhdGEgdG8gYmUgd3JpdHRlbiBzaG91bGQgYmUgZ2l2ZW4gYXMgYnl0ZXMuCisgICAgIiIiCisKKyAgICBkZWYgX19pbml0X18oc2VsZiwgZmlsZW5hbWU9Tm9uZSwgbW9kZT0iciIsIGJ1ZmZlcmluZz1Ob25lLAorICAgICAgICAgICAgICAgICBjb21wcmVzc2xldmVsPTksICosIGZpbGVvYmo9Tm9uZSk6CisgICAgICAgICIiIk9wZW4gYSBiemlwMi1jb21wcmVzc2VkIGZpbGUuCisKKyAgICAgICAgSWYgZmlsZW5hbWUgaXMgZ2l2ZW4sIG9wZW4gdGhlIG5hbWVkIGZpbGUuIE90aGVyd2lzZSwgb3BlcmF0ZSBvbgorICAgICAgICB0aGUgZmlsZSBvYmplY3QgZ2l2ZW4gYnkgZmlsZW9iai4gRXhhY3RseSBvbmUgb2YgdGhlc2UgdHdvCisgICAgICAgIHBhcmFtZXRlcnMgc2hvdWxkIGJlIHByb3ZpZGVkLgorCisgICAgICAgIG1vZGUgY2FuIGJlICdyJyBmb3IgcmVhZGluZyAoZGVmYXVsdCksICd3JyBmb3IgKG92ZXIpd3JpdGluZywgb3IKKyAgICAgICAgJ2EnIGZvciBhcHBlbmRpbmcuCisKKyAgICAgICAgYnVmZmVyaW5nIGlzIGlnbm9yZWQuIEl0cyB1c2UgaXMgZGVwcmVjYXRlZC4KKworICAgICAgICBJZiBtb2RlIGlzICd3JyBvciAnYScsIGNvbXByZXNzbGV2ZWwgY2FuIGJlIGEgbnVtYmVyIGJldHdlZW4gMQorICAgICAgICBhbmQgOSBzcGVjaWZ5aW5nIHRoZSBsZXZlbCBvZiBjb21wcmVzc2lvbjogMSBwcm9kdWNlcyB0aGUgbGVhc3QKKyAgICAgICAgY29tcHJlc3Npb24sIGFuZCA5IChkZWZhdWx0KSBwcm9kdWNlcyB0aGUgbW9zdCBjb21wcmVzc2lvbi4KKworICAgICAgICBJZiBtb2RlIGlzICdyJywgdGhlIGlucHV0IGZpbGUgbWF5IGJlIHRoZSBjb25jYXRlbmF0aW9uIG9mCisgICAgICAgIG11bHRpcGxlIGNvbXByZXNzZWQgc3RyZWFtcy4KKyAgICAgICAgIiIiCisgICAgICAgICMgVGhpcyBsb2NrIG11c3QgYmUgcmVjdXJzaXZlLCBzbyB0aGF0IEJ1ZmZlcmVkSU9CYXNlJ3MKKyAgICAgICAgIyByZWFkbGluZSgpLCByZWFkbGluZXMoKSBhbmQgd3JpdGVsaW5lcygpIGRvbid0IGRlYWRsb2NrLgorICAgICAgICBzZWxmLl9sb2NrID0gUkxvY2soKQorICAgICAgICBzZWxmLl9mcCA9IE5vbmUKKyAgICAgICAgc2VsZi5fY2xvc2VmcCA9IEZhbHNlCisgICAgICAgIHNlbGYuX21vZGUgPSBfTU9ERV9DTE9TRUQKKyAgICAgICAgc2VsZi5fcG9zID0gMAorICAgICAgICBzZWxmLl9zaXplID0gLTEKKworICAgICAgICBpZiBidWZmZXJpbmcgaXMgbm90IE5vbmU6CisgICAgICAgICAgICB3YXJuaW5ncy53YXJuKCJVc2Ugb2YgJ2J1ZmZlcmluZycgYXJndW1lbnQgaXMgZGVwcmVjYXRlZCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgIERlcHJlY2F0aW9uV2FybmluZykKKworICAgICAgICBpZiBub3QgKDEgPD0gY29tcHJlc3NsZXZlbCA8PSA5KToKKyAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoImNvbXByZXNzbGV2ZWwgbXVzdCBiZSBiZXR3ZWVuIDEgYW5kIDkiKQorCisgICAgICAgIGlmIG1vZGUgaW4gKCIiLCAiciIsICJyYiIpOgorICAgICAgICAgICAgbW9kZSA9ICJyYiIKKyAgICAgICAgICAgIG1vZGVfY29kZSA9IF9NT0RFX1JFQUQKKyAgICAgICAgICAgIHNlbGYuX2RlY29tcHJlc3NvciA9IEJaMkRlY29tcHJlc3NvcigpCisgICAgICAgICAgICBzZWxmLl9idWZmZXIgPSBOb25lCisgICAgICAgIGVsaWYgbW9kZSBpbiAoInciLCAid2IiKToKKyAgICAgICAgICAgIG1vZGUgPSAid2IiCisgICAgICAgICAgICBtb2RlX2NvZGUgPSBfTU9ERV9XUklURQorICAgICAgICAgICAgc2VsZi5fY29tcHJlc3NvciA9IEJaMkNvbXByZXNzb3IoY29tcHJlc3NsZXZlbCkKKyAgICAgICAgZWxpZiBtb2RlIGluICgiYSIsICJhYiIpOgorICAgICAgICAgICAgbW9kZSA9ICJhYiIKKyAgICAgICAgICAgIG1vZGVfY29kZSA9IF9NT0RFX1dSSVRFCisgICAgICAgICAgICBzZWxmLl9jb21wcmVzc29yID0gQloyQ29tcHJlc3Nvcihjb21wcmVzc2xldmVsKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiSW52YWxpZCBtb2RlOiB7IXJ9Ii5mb3JtYXQobW9kZSkpCisKKyAgICAgICAgaWYgZmlsZW5hbWUgaXMgbm90IE5vbmUgYW5kIGZpbGVvYmogaXMgTm9uZToKKyAgICAgICAgICAgIHNlbGYuX2ZwID0gb3BlbihmaWxlbmFtZSwgbW9kZSkKKyAgICAgICAgICAgIHNlbGYuX2Nsb3NlZnAgPSBUcnVlCisgICAgICAgICAgICBzZWxmLl9tb2RlID0gbW9kZV9jb2RlCisgICAgICAgIGVsaWYgZmlsZW9iaiBpcyBub3QgTm9uZSBhbmQgZmlsZW5hbWUgaXMgTm9uZToKKyAgICAgICAgICAgIHNlbGYuX2ZwID0gZmlsZW9iagorICAgICAgICAgICAgc2VsZi5fbW9kZSA9IG1vZGVfY29kZQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiTXVzdCBnaXZlIGV4YWN0bHkgb25lIG9mIGZpbGVuYW1lIGFuZCBmaWxlb2JqIikKKworICAgIGRlZiBjbG9zZShzZWxmKToKKyAgICAgICAgIiIiRmx1c2ggYW5kIGNsb3NlIHRoZSBmaWxlLgorCisgICAgICAgIE1heSBiZSBjYWxsZWQgbW9yZSB0aGFuIG9uY2Ugd2l0aG91dCBlcnJvci4gT25jZSB0aGUgZmlsZSBpcworICAgICAgICBjbG9zZWQsIGFueSBvdGhlciBvcGVyYXRpb24gb24gaXQgd2lsbCByYWlzZSBhIFZhbHVlRXJyb3IuCisgICAgICAgICIiIgorICAgICAgICB3aXRoIHNlbGYuX2xvY2s6CisgICAgICAgICAgICBpZiBzZWxmLl9tb2RlID09IF9NT0RFX0NMT1NFRDoKKyAgICAgICAgICAgICAgICByZXR1cm4KKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBpZiBzZWxmLl9tb2RlIGluIChfTU9ERV9SRUFELCBfTU9ERV9SRUFEX0VPRik6CisgICAgICAgICAgICAgICAgICAgIHNlbGYuX2RlY29tcHJlc3NvciA9IE5vbmUKKyAgICAgICAgICAgICAgICBlbGlmIHNlbGYuX21vZGUgPT0gX01PREVfV1JJVEU6CisgICAgICAgICAgICAgICAgICAgIHNlbGYuX2ZwLndyaXRlKHNlbGYuX2NvbXByZXNzb3IuZmx1c2goKSkKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5fY29tcHJlc3NvciA9IE5vbmUKKyAgICAgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgICAgICBpZiBzZWxmLl9jbG9zZWZwOgorICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fZnAuY2xvc2UoKQorICAgICAgICAgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICAgICAgICAgIHNlbGYuX2ZwID0gTm9uZQorICAgICAgICAgICAgICAgICAgICBzZWxmLl9jbG9zZWZwID0gRmFsc2UKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5fbW9kZSA9IF9NT0RFX0NMT1NFRAorICAgICAgICAgICAgICAgICAgICBzZWxmLl9idWZmZXIgPSBOb25lCisKKyAgICBAcHJvcGVydHkKKyAgICBkZWYgY2xvc2VkKHNlbGYpOgorICAgICAgICAiIiJUcnVlIGlmIHRoaXMgZmlsZSBpcyBjbG9zZWQuIiIiCisgICAgICAgIHJldHVybiBzZWxmLl9tb2RlID09IF9NT0RFX0NMT1NFRAorCisgICAgZGVmIGZpbGVubyhzZWxmKToKKyAgICAgICAgIiIiUmV0dXJuIHRoZSBmaWxlIGRlc2NyaXB0b3IgZm9yIHRoZSB1bmRlcmx5aW5nIGZpbGUuIiIiCisgICAgICAgIHNlbGYuX2NoZWNrX25vdF9jbG9zZWQoKQorICAgICAgICByZXR1cm4gc2VsZi5fZnAuZmlsZW5vKCkKKworICAgIGRlZiBzZWVrYWJsZShzZWxmKToKKyAgICAgICAgIiIiUmV0dXJuIHdoZXRoZXIgdGhlIGZpbGUgc3VwcG9ydHMgc2Vla2luZy4iIiIKKyAgICAgICAgcmV0dXJuIHNlbGYucmVhZGFibGUoKSBhbmQgc2VsZi5fZnAuc2Vla2FibGUoKQorCisgICAgZGVmIHJlYWRhYmxlKHNlbGYpOgorICAgICAgICAiIiJSZXR1cm4gd2hldGhlciB0aGUgZmlsZSB3YXMgb3BlbmVkIGZvciByZWFkaW5nLiIiIgorICAgICAgICBzZWxmLl9jaGVja19ub3RfY2xvc2VkKCkKKyAgICAgICAgcmV0dXJuIHNlbGYuX21vZGUgaW4gKF9NT0RFX1JFQUQsIF9NT0RFX1JFQURfRU9GKQorCisgICAgZGVmIHdyaXRhYmxlKHNlbGYpOgorICAgICAgICAiIiJSZXR1cm4gd2hldGhlciB0aGUgZmlsZSB3YXMgb3BlbmVkIGZvciB3cml0aW5nLiIiIgorICAgICAgICBzZWxmLl9jaGVja19ub3RfY2xvc2VkKCkKKyAgICAgICAgcmV0dXJuIHNlbGYuX21vZGUgPT0gX01PREVfV1JJVEUKKworICAgICMgTW9kZS1jaGVja2luZyBoZWxwZXIgZnVuY3Rpb25zLgorCisgICAgZGVmIF9jaGVja19ub3RfY2xvc2VkKHNlbGYpOgorICAgICAgICBpZiBzZWxmLmNsb3NlZDoKKyAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIkkvTyBvcGVyYXRpb24gb24gY2xvc2VkIGZpbGUiKQorCisgICAgZGVmIF9jaGVja19jYW5fcmVhZChzZWxmKToKKyAgICAgICAgaWYgbm90IHNlbGYucmVhZGFibGUoKToKKyAgICAgICAgICAgIHJhaXNlIGlvLlVuc3VwcG9ydGVkT3BlcmF0aW9uKCJGaWxlIG5vdCBvcGVuIGZvciByZWFkaW5nIikKKworICAgIGRlZiBfY2hlY2tfY2FuX3dyaXRlKHNlbGYpOgorICAgICAgICBpZiBub3Qgc2VsZi53cml0YWJsZSgpOgorICAgICAgICAgICAgcmFpc2UgaW8uVW5zdXBwb3J0ZWRPcGVyYXRpb24oIkZpbGUgbm90IG9wZW4gZm9yIHdyaXRpbmciKQorCisgICAgZGVmIF9jaGVja19jYW5fc2VlayhzZWxmKToKKyAgICAgICAgaWYgbm90IHNlbGYucmVhZGFibGUoKToKKyAgICAgICAgICAgIHJhaXNlIGlvLlVuc3VwcG9ydGVkT3BlcmF0aW9uKCJTZWVraW5nIGlzIG9ubHkgc3VwcG9ydGVkICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvbiBmaWxlcyBvcGVuIGZvciByZWFkaW5nIikKKyAgICAgICAgaWYgbm90IHNlbGYuX2ZwLnNlZWthYmxlKCk6CisgICAgICAgICAgICByYWlzZSBpby5VbnN1cHBvcnRlZE9wZXJhdGlvbigiVGhlIHVuZGVybHlpbmcgZmlsZSBvYmplY3QgIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRvZXMgbm90IHN1cHBvcnQgc2Vla2luZyIpCisKKyAgICAjIEZpbGwgdGhlIHJlYWRhaGVhZCBidWZmZXIgaWYgaXQgaXMgZW1wdHkuIFJldHVybnMgRmFsc2Ugb24gRU9GLgorICAgIGRlZiBfZmlsbF9idWZmZXIoc2VsZik6CisgICAgICAgIGlmIHNlbGYuX2J1ZmZlcjoKKyAgICAgICAgICAgIHJldHVybiBUcnVlCisKKyAgICAgICAgaWYgc2VsZi5fZGVjb21wcmVzc29yLnVudXNlZF9kYXRhOgorICAgICAgICAgICAgcmF3YmxvY2sgPSBzZWxmLl9kZWNvbXByZXNzb3IudW51c2VkX2RhdGEKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJhd2Jsb2NrID0gc2VsZi5fZnAucmVhZChfQlVGRkVSX1NJWkUpCisKKyAgICAgICAgaWYgbm90IHJhd2Jsb2NrOgorICAgICAgICAgICAgaWYgc2VsZi5fZGVjb21wcmVzc29yLmVvZjoKKyAgICAgICAgICAgICAgICBzZWxmLl9tb2RlID0gX01PREVfUkVBRF9FT0YKKyAgICAgICAgICAgICAgICBzZWxmLl9zaXplID0gc2VsZi5fcG9zCisgICAgICAgICAgICAgICAgcmV0dXJuIEZhbHNlCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHJhaXNlIEVPRkVycm9yKCJDb21wcmVzc2VkIGZpbGUgZW5kZWQgYmVmb3JlIHRoZSAiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImVuZC1vZi1zdHJlYW0gbWFya2VyIHdhcyByZWFjaGVkIikKKworICAgICAgICAjIENvbnRpbnVlIHRvIG5leHQgc3RyZWFtLgorICAgICAgICBpZiBzZWxmLl9kZWNvbXByZXNzb3IuZW9mOgorICAgICAgICAgICAgc2VsZi5fZGVjb21wcmVzc29yID0gQloyRGVjb21wcmVzc29yKCkKKworICAgICAgICBzZWxmLl9idWZmZXIgPSBzZWxmLl9kZWNvbXByZXNzb3IuZGVjb21wcmVzcyhyYXdibG9jaykKKyAgICAgICAgcmV0dXJuIFRydWUKKworICAgICMgUmVhZCBkYXRhIHVudGlsIEVPRi4KKyAgICAjIElmIHJldHVybl9kYXRhIGlzIGZhbHNlLCBjb25zdW1lIHRoZSBkYXRhIHdpdGhvdXQgcmV0dXJuaW5nIGl0LgorICAgIGRlZiBfcmVhZF9hbGwoc2VsZiwgcmV0dXJuX2RhdGE9VHJ1ZSk6CisgICAgICAgIGJsb2NrcyA9IFtdCisgICAgICAgIHdoaWxlIHNlbGYuX2ZpbGxfYnVmZmVyKCk6CisgICAgICAgICAgICBpZiByZXR1cm5fZGF0YToKKyAgICAgICAgICAgICAgICBibG9ja3MuYXBwZW5kKHNlbGYuX2J1ZmZlcikKKyAgICAgICAgICAgIHNlbGYuX3BvcyArPSBsZW4oc2VsZi5fYnVmZmVyKQorICAgICAgICAgICAgc2VsZi5fYnVmZmVyID0gTm9uZQorICAgICAgICBpZiByZXR1cm5fZGF0YToKKyAgICAgICAgICAgIHJldHVybiBiIiIuam9pbihibG9ja3MpCisKKyAgICAjIFJlYWQgYSBibG9jayBvZiB1cCB0byBuIGJ5dGVzLgorICAgICMgSWYgcmV0dXJuX2RhdGEgaXMgZmFsc2UsIGNvbnN1bWUgdGhlIGRhdGEgd2l0aG91dCByZXR1cm5pbmcgaXQuCisgICAgZGVmIF9yZWFkX2Jsb2NrKHNlbGYsIG4sIHJldHVybl9kYXRhPVRydWUpOgorICAgICAgICBibG9ja3MgPSBbXQorICAgICAgICB3aGlsZSBuID4gMCBhbmQgc2VsZi5fZmlsbF9idWZmZXIoKToKKyAgICAgICAgICAgIGlmIG4gPCBsZW4oc2VsZi5fYnVmZmVyKToKKyAgICAgICAgICAgICAgICBkYXRhID0gc2VsZi5fYnVmZmVyWzpuXQorICAgICAgICAgICAgICAgIHNlbGYuX2J1ZmZlciA9IHNlbGYuX2J1ZmZlcltuOl0KKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgZGF0YSA9IHNlbGYuX2J1ZmZlcgorICAgICAgICAgICAgICAgIHNlbGYuX2J1ZmZlciA9IE5vbmUKKyAgICAgICAgICAgIGlmIHJldHVybl9kYXRhOgorICAgICAgICAgICAgICAgIGJsb2Nrcy5hcHBlbmQoZGF0YSkKKyAgICAgICAgICAgIHNlbGYuX3BvcyArPSBsZW4oZGF0YSkKKyAgICAgICAgICAgIG4gLT0gbGVuKGRhdGEpCisgICAgICAgIGlmIHJldHVybl9kYXRhOgorICAgICAgICAgICAgcmV0dXJuIGIiIi5qb2luKGJsb2NrcykKKworICAgIGRlZiBwZWVrKHNlbGYsIG49MCk6CisgICAgICAgICIiIlJldHVybiBidWZmZXJlZCBkYXRhIHdpdGhvdXQgYWR2YW5jaW5nIHRoZSBmaWxlIHBvc2l0aW9uLgorCisgICAgICAgIEFsd2F5cyByZXR1cm5zIGF0IGxlYXN0IG9uZSBieXRlIG9mIGRhdGEsIHVubGVzcyBhdCBFT0YuCisgICAgICAgIFRoZSBleGFjdCBudW1iZXIgb2YgYnl0ZXMgcmV0dXJuZWQgaXMgdW5zcGVjaWZpZWQuCisgICAgICAgICIiIgorICAgICAgICB3aXRoIHNlbGYuX2xvY2s6CisgICAgICAgICAgICBzZWxmLl9jaGVja19jYW5fcmVhZCgpCisgICAgICAgICAgICBpZiBzZWxmLl9tb2RlID09IF9NT0RFX1JFQURfRU9GIG9yIG5vdCBzZWxmLl9maWxsX2J1ZmZlcigpOgorICAgICAgICAgICAgICAgIHJldHVybiBiIiIKKyAgICAgICAgICAgIHJldHVybiBzZWxmLl9idWZmZXIKKworICAgIGRlZiByZWFkKHNlbGYsIHNpemU9LTEpOgorICAgICAgICAiIiJSZWFkIHVwIHRvIHNpemUgdW5jb21wcmVzc2VkIGJ5dGVzIGZyb20gdGhlIGZpbGUuCisKKyAgICAgICAgSWYgc2l6ZSBpcyBuZWdhdGl2ZSBvciBvbWl0dGVkLCByZWFkIHVudGlsIEVPRiBpcyByZWFjaGVkLgorICAgICAgICBSZXR1cm5zIGInJyBpZiB0aGUgZmlsZSBpcyBhbHJlYWR5IGF0IEVPRi4KKyAgICAgICAgIiIiCisgICAgICAgIHdpdGggc2VsZi5fbG9jazoKKyAgICAgICAgICAgIHNlbGYuX2NoZWNrX2Nhbl9yZWFkKCkKKyAgICAgICAgICAgIGlmIHNlbGYuX21vZGUgPT0gX01PREVfUkVBRF9FT0Ygb3Igc2l6ZSA9PSAwOgorICAgICAgICAgICAgICAgIHJldHVybiBiIiIKKyAgICAgICAgICAgIGVsaWYgc2l6ZSA8IDA6CisgICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3JlYWRfYWxsKCkKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3JlYWRfYmxvY2soc2l6ZSkKKworICAgIGRlZiByZWFkMShzZWxmLCBzaXplPS0xKToKKyAgICAgICAgIiIiUmVhZCB1cCB0byBzaXplIHVuY29tcHJlc3NlZCBieXRlcyB3aXRoIGF0IG1vc3Qgb25lIHJlYWQKKyAgICAgICAgZnJvbSB0aGUgdW5kZXJseWluZyBzdHJlYW0uCisKKyAgICAgICAgUmV0dXJucyBiJycgaWYgdGhlIGZpbGUgaXMgYXQgRU9GLgorICAgICAgICAiIiIKKyAgICAgICAgd2l0aCBzZWxmLl9sb2NrOgorICAgICAgICAgICAgc2VsZi5fY2hlY2tfY2FuX3JlYWQoKQorICAgICAgICAgICAgaWYgKHNpemUgPT0gMCBvciBzZWxmLl9tb2RlID09IF9NT0RFX1JFQURfRU9GIG9yCisgICAgICAgICAgICAgICAgbm90IHNlbGYuX2ZpbGxfYnVmZmVyKCkpOgorICAgICAgICAgICAgICAgIHJldHVybiBiIiIKKyAgICAgICAgICAgIGlmIDAgPCBzaXplIDwgbGVuKHNlbGYuX2J1ZmZlcik6CisgICAgICAgICAgICAgICAgZGF0YSA9IHNlbGYuX2J1ZmZlcls6c2l6ZV0KKyAgICAgICAgICAgICAgICBzZWxmLl9idWZmZXIgPSBzZWxmLl9idWZmZXJbc2l6ZTpdCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIGRhdGEgPSBzZWxmLl9idWZmZXIKKyAgICAgICAgICAgICAgICBzZWxmLl9idWZmZXIgPSBOb25lCisgICAgICAgICAgICBzZWxmLl9wb3MgKz0gbGVuKGRhdGEpCisgICAgICAgICAgICByZXR1cm4gZGF0YQorCisgICAgZGVmIHJlYWRpbnRvKHNlbGYsIGIpOgorICAgICAgICAiIiJSZWFkIHVwIHRvIGxlbihiKSBieXRlcyBpbnRvIGIuCisKKyAgICAgICAgUmV0dXJucyB0aGUgbnVtYmVyIG9mIGJ5dGVzIHJlYWQgKDAgZm9yIEVPRikuCisgICAgICAgICIiIgorICAgICAgICB3aXRoIHNlbGYuX2xvY2s6CisgICAgICAgICAgICByZXR1cm4gaW8uQnVmZmVyZWRJT0Jhc2UucmVhZGludG8oc2VsZiwgYikKKworICAgIGRlZiByZWFkbGluZShzZWxmLCBzaXplPS0xKToKKyAgICAgICAgIiIiUmVhZCBhIGxpbmUgb2YgdW5jb21wcmVzc2VkIGJ5dGVzIGZyb20gdGhlIGZpbGUuCisKKyAgICAgICAgVGhlIHRlcm1pbmF0aW5nIG5ld2xpbmUgKGlmIHByZXNlbnQpIGlzIHJldGFpbmVkLiBJZiBzaXplIGlzCisgICAgICAgIG5vbi1uZWdhdGl2ZSwgbm8gbW9yZSB0aGFuIHNpemUgYnl0ZXMgd2lsbCBiZSByZWFkIChpbiB3aGljaAorICAgICAgICBjYXNlIHRoZSBsaW5lIG1heSBiZSBpbmNvbXBsZXRlKS4gUmV0dXJucyBiJycgaWYgYWxyZWFkeSBhdCBFT0YuCisgICAgICAgICIiIgorICAgICAgICBpZiBub3QgaGFzYXR0cihzaXplLCAiX19pbmRleF9fIik6CisgICAgICAgICAgICByYWlzZSBUeXBlRXJyb3IoIkludGVnZXIgYXJndW1lbnQgZXhwZWN0ZWQiKQorICAgICAgICBzaXplID0gc2l6ZS5fX2luZGV4X18oKQorICAgICAgICB3aXRoIHNlbGYuX2xvY2s6CisgICAgICAgICAgICByZXR1cm4gaW8uQnVmZmVyZWRJT0Jhc2UucmVhZGxpbmUoc2VsZiwgc2l6ZSkKKworICAgIGRlZiByZWFkbGluZXMoc2VsZiwgc2l6ZT0tMSk6CisgICAgICAgICIiIlJlYWQgYSBsaXN0IG9mIGxpbmVzIG9mIHVuY29tcHJlc3NlZCBieXRlcyBmcm9tIHRoZSBmaWxlLgorCisgICAgICAgIHNpemUgY2FuIGJlIHNwZWNpZmllZCB0byBjb250cm9sIHRoZSBudW1iZXIgb2YgbGluZXMgcmVhZDogbm8KKyAgICAgICAgZnVydGhlciBsaW5lcyB3aWxsIGJlIHJlYWQgb25jZSB0aGUgdG90YWwgc2l6ZSBvZiB0aGUgbGluZXMgcmVhZAorICAgICAgICBzbyBmYXIgZXF1YWxzIG9yIGV4Y2VlZHMgc2l6ZS4KKyAgICAgICAgIiIiCisgICAgICAgIGlmIG5vdCBoYXNhdHRyKHNpemUsICJfX2luZGV4X18iKToKKyAgICAgICAgICAgIHJhaXNlIFR5cGVFcnJvcigiSW50ZWdlciBhcmd1bWVudCBleHBlY3RlZCIpCisgICAgICAgIHNpemUgPSBzaXplLl9faW5kZXhfXygpCisgICAgICAgIHdpdGggc2VsZi5fbG9jazoKKyAgICAgICAgICAgIHJldHVybiBpby5CdWZmZXJlZElPQmFzZS5yZWFkbGluZXMoc2VsZiwgc2l6ZSkKKworICAgIGRlZiB3cml0ZShzZWxmLCBkYXRhKToKKyAgICAgICAgIiIiV3JpdGUgYSBieXRlIHN0cmluZyB0byB0aGUgZmlsZS4KKworICAgICAgICBSZXR1cm5zIHRoZSBudW1iZXIgb2YgdW5jb21wcmVzc2VkIGJ5dGVzIHdyaXR0ZW4sIHdoaWNoIGlzCisgICAgICAgIGFsd2F5cyBsZW4oZGF0YSkuIE5vdGUgdGhhdCBkdWUgdG8gYnVmZmVyaW5nLCB0aGUgZmlsZSBvbiBkaXNrCisgICAgICAgIG1heSBub3QgcmVmbGVjdCB0aGUgZGF0YSB3cml0dGVuIHVudGlsIGNsb3NlKCkgaXMgY2FsbGVkLgorICAgICAgICAiIiIKKyAgICAgICAgd2l0aCBzZWxmLl9sb2NrOgorICAgICAgICAgICAgc2VsZi5fY2hlY2tfY2FuX3dyaXRlKCkKKyAgICAgICAgICAgIGNvbXByZXNzZWQgPSBzZWxmLl9jb21wcmVzc29yLmNvbXByZXNzKGRhdGEpCisgICAgICAgICAgICBzZWxmLl9mcC53cml0ZShjb21wcmVzc2VkKQorICAgICAgICAgICAgc2VsZi5fcG9zICs9IGxlbihkYXRhKQorICAgICAgICAgICAgcmV0dXJuIGxlbihkYXRhKQorCisgICAgZGVmIHdyaXRlbGluZXMoc2VsZiwgc2VxKToKKyAgICAgICAgIiIiV3JpdGUgYSBzZXF1ZW5jZSBvZiBieXRlIHN0cmluZ3MgdG8gdGhlIGZpbGUuCisKKyAgICAgICAgUmV0dXJucyB0aGUgbnVtYmVyIG9mIHVuY29tcHJlc3NlZCBieXRlcyB3cml0dGVuLgorICAgICAgICBzZXEgY2FuIGJlIGFueSBpdGVyYWJsZSB5aWVsZGluZyBieXRlIHN0cmluZ3MuCisKKyAgICAgICAgTGluZSBzZXBhcmF0b3JzIGFyZSBub3QgYWRkZWQgYmV0d2VlbiB0aGUgd3JpdHRlbiBieXRlIHN0cmluZ3MuCisgICAgICAgICIiIgorICAgICAgICB3aXRoIHNlbGYuX2xvY2s6CisgICAgICAgICAgICByZXR1cm4gaW8uQnVmZmVyZWRJT0Jhc2Uud3JpdGVsaW5lcyhzZWxmLCBzZXEpCisKKyAgICAjIFJld2luZCB0aGUgZmlsZSB0byB0aGUgYmVnaW5uaW5nIG9mIHRoZSBkYXRhIHN0cmVhbS4KKyAgICBkZWYgX3Jld2luZChzZWxmKToKKyAgICAgICAgc2VsZi5fZnAuc2VlaygwLCAwKQorICAgICAgICBzZWxmLl9tb2RlID0gX01PREVfUkVBRAorICAgICAgICBzZWxmLl9wb3MgPSAwCisgICAgICAgIHNlbGYuX2RlY29tcHJlc3NvciA9IEJaMkRlY29tcHJlc3NvcigpCisgICAgICAgIHNlbGYuX2J1ZmZlciA9IE5vbmUKKworICAgIGRlZiBzZWVrKHNlbGYsIG9mZnNldCwgd2hlbmNlPTApOgorICAgICAgICAiIiJDaGFuZ2UgdGhlIGZpbGUgcG9zaXRpb24uCisKKyAgICAgICAgVGhlIG5ldyBwb3NpdGlvbiBpcyBzcGVjaWZpZWQgYnkgb2Zmc2V0LCByZWxhdGl2ZSB0byB0aGUKKyAgICAgICAgcG9zaXRpb24gaW5kaWNhdGVkIGJ5IHdoZW5jZS4gVmFsdWVzIGZvciB3aGVuY2UgYXJlOgorCisgICAgICAgICAgICAwOiBzdGFydCBvZiBzdHJlYW0gKGRlZmF1bHQpOyBvZmZzZXQgbXVzdCBub3QgYmUgbmVnYXRpdmUKKyAgICAgICAgICAgIDE6IGN1cnJlbnQgc3RyZWFtIHBvc2l0aW9uCisgICAgICAgICAgICAyOiBlbmQgb2Ygc3RyZWFtOyBvZmZzZXQgbXVzdCBub3QgYmUgcG9zaXRpdmUKKworICAgICAgICBSZXR1cm5zIHRoZSBuZXcgZmlsZSBwb3NpdGlvbi4KKworICAgICAgICBOb3RlIHRoYXQgc2Vla2luZyBpcyBlbXVsYXRlZCwgc28gZGVwZW5kaW5nIG9uIHRoZSBwYXJhbWV0ZXJzLAorICAgICAgICB0aGlzIG9wZXJhdGlvbiBtYXkgYmUgZXh0cmVtZWx5IHNsb3cuCisgICAgICAgICIiIgorICAgICAgICB3aXRoIHNlbGYuX2xvY2s6CisgICAgICAgICAgICBzZWxmLl9jaGVja19jYW5fc2VlaygpCisKKyAgICAgICAgICAgICMgUmVjYWxjdWxhdGUgb2Zmc2V0IGFzIGFuIGFic29sdXRlIGZpbGUgcG9zaXRpb24uCisgICAgICAgICAgICBpZiB3aGVuY2UgPT0gMDoKKyAgICAgICAgICAgICAgICBwYXNzCisgICAgICAgICAgICBlbGlmIHdoZW5jZSA9PSAxOgorICAgICAgICAgICAgICAgIG9mZnNldCA9IHNlbGYuX3BvcyArIG9mZnNldAorICAgICAgICAgICAgZWxpZiB3aGVuY2UgPT0gMjoKKyAgICAgICAgICAgICAgICAjIFNlZWtpbmcgcmVsYXRpdmUgdG8gRU9GIC0gd2UgbmVlZCB0byBrbm93IHRoZSBmaWxlJ3Mgc2l6ZS4KKyAgICAgICAgICAgICAgICBpZiBzZWxmLl9zaXplIDwgMDoKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5fcmVhZF9hbGwocmV0dXJuX2RhdGE9RmFsc2UpCisgICAgICAgICAgICAgICAgb2Zmc2V0ID0gc2VsZi5fc2l6ZSArIG9mZnNldAorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJJbnZhbGlkIHZhbHVlIGZvciB3aGVuY2U6IHt9Ii5mb3JtYXQod2hlbmNlKSkKKworICAgICAgICAgICAgIyBNYWtlIGl0IHNvIHRoYXQgb2Zmc2V0IGlzIHRoZSBudW1iZXIgb2YgYnl0ZXMgdG8gc2tpcCBmb3J3YXJkLgorICAgICAgICAgICAgaWYgb2Zmc2V0IDwgc2VsZi5fcG9zOgorICAgICAgICAgICAgICAgIHNlbGYuX3Jld2luZCgpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIG9mZnNldCAtPSBzZWxmLl9wb3MKKworICAgICAgICAgICAgIyBSZWFkIGFuZCBkaXNjYXJkIGRhdGEgdW50aWwgd2UgcmVhY2ggdGhlIGRlc2lyZWQgcG9zaXRpb24uCisgICAgICAgICAgICBpZiBzZWxmLl9tb2RlICE9IF9NT0RFX1JFQURfRU9GOgorICAgICAgICAgICAgICAgIHNlbGYuX3JlYWRfYmxvY2sob2Zmc2V0LCByZXR1cm5fZGF0YT1GYWxzZSkKKworICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3BvcworCisgICAgZGVmIHRlbGwoc2VsZik6CisgICAgICAgICIiIlJldHVybiB0aGUgY3VycmVudCBmaWxlIHBvc2l0aW9uLiIiIgorICAgICAgICB3aXRoIHNlbGYuX2xvY2s6CisgICAgICAgICAgICBzZWxmLl9jaGVja19ub3RfY2xvc2VkKCkKKyAgICAgICAgICAgIHJldHVybiBzZWxmLl9wb3MKKworCitkZWYgY29tcHJlc3MoZGF0YSwgY29tcHJlc3NsZXZlbD05KToKKyAgICAiIiJDb21wcmVzcyBhIGJsb2NrIG9mIGRhdGEuCisKKyAgICBjb21wcmVzc2xldmVsLCBpZiBnaXZlbiwgbXVzdCBiZSBhIG51bWJlciBiZXR3ZWVuIDEgYW5kIDkuCisKKyAgICBGb3IgaW5jcmVtZW50YWwgY29tcHJlc3Npb24sIHVzZSBhIEJaMkNvbXByZXNzb3Igb2JqZWN0IGluc3RlYWQuCisgICAgIiIiCisgICAgY29tcCA9IEJaMkNvbXByZXNzb3IoY29tcHJlc3NsZXZlbCkKKyAgICByZXR1cm4gY29tcC5jb21wcmVzcyhkYXRhKSArIGNvbXAuZmx1c2goKQorCisKK2RlZiBkZWNvbXByZXNzKGRhdGEpOgorICAgICIiIkRlY29tcHJlc3MgYSBibG9jayBvZiBkYXRhLgorCisgICAgRm9yIGluY3JlbWVudGFsIGRlY29tcHJlc3Npb24sIHVzZSBhIEJaMkRlY29tcHJlc3NvciBvYmplY3QgaW5zdGVhZC4KKyAgICAiIiIKKyAgICBpZiBsZW4oZGF0YSkgPT0gMDoKKyAgICAgICAgcmV0dXJuIGIiIgorCisgICAgcmVzdWx0cyA9IFtdCisgICAgd2hpbGUgVHJ1ZToKKyAgICAgICAgZGVjb21wID0gQloyRGVjb21wcmVzc29yKCkKKyAgICAgICAgcmVzdWx0cy5hcHBlbmQoZGVjb21wLmRlY29tcHJlc3MoZGF0YSkpCisgICAgICAgIGlmIG5vdCBkZWNvbXAuZW9mOgorICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiQ29tcHJlc3NlZCBkYXRhIGVuZGVkIGJlZm9yZSB0aGUgIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZW5kLW9mLXN0cmVhbSBtYXJrZXIgd2FzIHJlYWNoZWQiKQorICAgICAgICBpZiBub3QgZGVjb21wLnVudXNlZF9kYXRhOgorICAgICAgICAgICAgcmV0dXJuIGIiIi5qb2luKHJlc3VsdHMpCisgICAgICAgICMgVGhlcmUgaXMgdW51c2VkIGRhdGEgbGVmdCBvdmVyLiBQcm9jZWVkIHRvIG5leHQgc3RyZWFtLgorICAgICAgICBkYXRhID0gZGVjb21wLnVudXNlZF9kYXRhCmRpZmYgLS1naXQgYS9MaWIvY2dpLnB5IGIvTGliL2NnaS5weQppbmRleCA5MGEzMzQ1Li5lOTY0ZjBjIDEwMDc1NQotLS0gYS9MaWIvY2dpLnB5CisrKyBiL0xpYi9jZ2kucHkKQEAgLTc2LDcgKzc2LDcgQEAKICAgICBzZW5kIGFuIGVycm9yIG1lc3NhZ2UpLgogCiAgICAgIiIiCi0gICAgZ2xvYmFsIGxvZ2ZwLCBsb2cKKyAgICBnbG9iYWwgbG9nLCBsb2dmaWxlLCBsb2dmcAogICAgIGlmIGxvZ2ZpbGUgYW5kIG5vdCBsb2dmcDoKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgbG9nZnAgPSBvcGVuKGxvZ2ZpbGUsICJhIikKQEAgLTk2LDYgKzk2LDE1IEBACiAgICAgIiIiRHVtbXkgZnVuY3Rpb24sIGFzc2lnbmVkIHRvIGxvZyB3aGVuIGxvZ2dpbmcgaXMgZGlzYWJsZWQuIiIiCiAgICAgcGFzcwogCitkZWYgY2xvc2Vsb2coKToKKyAgICAiIiJDbG9zZSB0aGUgbG9nIGZpbGUuIiIiCisgICAgZ2xvYmFsIGxvZywgbG9nZmlsZSwgbG9nZnAKKyAgICBsb2dmaWxlID0gJycKKyAgICBpZiBsb2dmcDoKKyAgICAgICAgbG9nZnAuY2xvc2UoKQorICAgICAgICBsb2dmcCA9IE5vbmUKKyAgICBsb2cgPSBpbml0bG9nCisKIGxvZyA9IGluaXRsb2cgICAgICAgICAgICMgVGhlIGN1cnJlbnQgbG9nZ2luZyBmdW5jdGlvbgogCiAKQEAgLTEwMDMsNyArMTAxMiw3IEBACiBkZWYgZXNjYXBlKHMsIHF1b3RlPU5vbmUpOgogICAgICIiIkRlcHJlY2F0ZWQgQVBJLiIiIgogICAgIHdhcm4oImNnaS5lc2NhcGUgaXMgZGVwcmVjYXRlZCwgdXNlIGh0bWwuZXNjYXBlIGluc3RlYWQiLAotICAgICAgICAgUGVuZGluZ0RlcHJlY2F0aW9uV2FybmluZywgc3RhY2tsZXZlbD0yKQorICAgICAgICAgRGVwcmVjYXRpb25XYXJuaW5nLCBzdGFja2xldmVsPTIpCiAgICAgcyA9IHMucmVwbGFjZSgiJiIsICImYW1wOyIpICMgTXVzdCBiZSBkb25lIGZpcnN0IQogICAgIHMgPSBzLnJlcGxhY2UoIjwiLCAiJmx0OyIpCiAgICAgcyA9IHMucmVwbGFjZSgiPiIsICImZ3Q7IikKZGlmZiAtLWdpdCBhL0xpYi9jZ2l0Yi5weSBiL0xpYi9jZ2l0Yi5weQppbmRleCA3YjUyYzhlLi5lM2NlMmNiIDEwMDY0NAotLS0gYS9MaWIvY2dpdGIucHkKKysrIGIvTGliL2NnaXRiLnB5CkBAIC0zMSw3ICszMSw2IEBACiBpbXBvcnQgdGltZQogaW1wb3J0IHRva2VuaXplCiBpbXBvcnQgdHJhY2ViYWNrCi1pbXBvcnQgdHlwZXMKIAogZGVmIHJlc2V0KCk6CiAgICAgIiIiUmV0dXJuIGEgc3RyaW5nIHRoYXQgcmVzZXRzIHRoZSBDR0kgYW5kIGJyb3dzZXIgdG8gYSBrbm93biBzdGF0ZS4iIiIKZGlmZiAtLWdpdCBhL0xpYi9jb2RlY3MucHkgYi9MaWIvY29kZWNzLnB5CmluZGV4IGIxNTBkNjQuLmU2M2EwYzYgMTAwNjQ0Ci0tLSBhL0xpYi9jb2RlY3MucHkKKysrIGIvTGliL2NvZGVjcy5weQpAQCAtNDg0LDcgKzQ4NCw3IEBACiAgICAgICAgICAgICAgICAgaWYgZmlyc3RsaW5lOgogICAgICAgICAgICAgICAgICAgICBuZXdjaGFycywgZGVjb2RlZGJ5dGVzID0gXAogICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5kZWNvZGUoZGF0YVs6ZXhjLnN0YXJ0XSwgc2VsZi5lcnJvcnMpCi0gICAgICAgICAgICAgICAgICAgIGxpbmVzID0gbmV3Y2hhcnMuc3BsaXRsaW5lcyhUcnVlKQorICAgICAgICAgICAgICAgICAgICBsaW5lcyA9IG5ld2NoYXJzLnNwbGl0bGluZXMoa2VlcGVuZHM9VHJ1ZSkKICAgICAgICAgICAgICAgICAgICAgaWYgbGVuKGxpbmVzKTw9MToKICAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlCiAgICAgICAgICAgICAgICAgZWxzZToKQEAgLTUyNiw3ICs1MjYsNyBAQAogICAgICAgICAgICAgICAgIHNlbGYuY2hhcmJ1ZmZlciA9IHNlbGYubGluZWJ1ZmZlclswXQogICAgICAgICAgICAgICAgIHNlbGYubGluZWJ1ZmZlciA9IE5vbmUKICAgICAgICAgICAgIGlmIG5vdCBrZWVwZW5kczoKLSAgICAgICAgICAgICAgICBsaW5lID0gbGluZS5zcGxpdGxpbmVzKEZhbHNlKVswXQorICAgICAgICAgICAgICAgIGxpbmUgPSBsaW5lLnNwbGl0bGluZXMoa2VlcGVuZHM9RmFsc2UpWzBdCiAgICAgICAgICAgICByZXR1cm4gbGluZQogCiAgICAgICAgIHJlYWRzaXplID0gc2l6ZSBvciA3MgpAQCAtNTQzLDcgKzU0Myw3IEBACiAgICAgICAgICAgICAgICAgICAgIGRhdGEgKz0gc2VsZi5yZWFkKHNpemU9MSwgY2hhcnM9MSkKIAogICAgICAgICAgICAgbGluZSArPSBkYXRhCi0gICAgICAgICAgICBsaW5lcyA9IGxpbmUuc3BsaXRsaW5lcyhUcnVlKQorICAgICAgICAgICAgbGluZXMgPSBsaW5lLnNwbGl0bGluZXMoa2VlcGVuZHM9VHJ1ZSkKICAgICAgICAgICAgIGlmIGxpbmVzOgogICAgICAgICAgICAgICAgIGlmIGxlbihsaW5lcykgPiAxOgogICAgICAgICAgICAgICAgICAgICAjIE1vcmUgdGhhbiBvbmUgbGluZSByZXN1bHQ7IHRoZSBmaXJzdCBsaW5lIGlzIGEgZnVsbCBsaW5lCkBAIC01NTksMTAgKzU1OSwxMCBAQAogICAgICAgICAgICAgICAgICAgICAgICAgIyBvbmx5IG9uZSByZW1haW5pbmcgbGluZSwgcHV0IGl0IGJhY2sgaW50byBjaGFyYnVmZmVyCiAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmNoYXJidWZmZXIgPSBsaW5lc1swXSArIHNlbGYuY2hhcmJ1ZmZlcgogICAgICAgICAgICAgICAgICAgICBpZiBub3Qga2VlcGVuZHM6Ci0gICAgICAgICAgICAgICAgICAgICAgICBsaW5lID0gbGluZS5zcGxpdGxpbmVzKEZhbHNlKVswXQorICAgICAgICAgICAgICAgICAgICAgICAgbGluZSA9IGxpbmUuc3BsaXRsaW5lcyhrZWVwZW5kcz1GYWxzZSlbMF0KICAgICAgICAgICAgICAgICAgICAgYnJlYWsKICAgICAgICAgICAgICAgICBsaW5lMHdpdGhlbmQgPSBsaW5lc1swXQotICAgICAgICAgICAgICAgIGxpbmUwd2l0aG91dGVuZCA9IGxpbmVzWzBdLnNwbGl0bGluZXMoRmFsc2UpWzBdCisgICAgICAgICAgICAgICAgbGluZTB3aXRob3V0ZW5kID0gbGluZXNbMF0uc3BsaXRsaW5lcyhrZWVwZW5kcz1GYWxzZSlbMF0KICAgICAgICAgICAgICAgICBpZiBsaW5lMHdpdGhlbmQgIT0gbGluZTB3aXRob3V0ZW5kOiAjIFdlIHJlYWxseSBoYXZlIGEgbGluZSBlbmQKICAgICAgICAgICAgICAgICAgICAgIyBQdXQgdGhlIHJlc3QgYmFjayB0b2dldGhlciBhbmQga2VlcCBpdCB1bnRpbCB0aGUgbmV4dCBjYWxsCiAgICAgICAgICAgICAgICAgICAgIHNlbGYuY2hhcmJ1ZmZlciA9IHNlbGYuX2VtcHR5X2NoYXJidWZmZXIuam9pbihsaW5lc1sxOl0pICsgXApAQCAtNTc1LDcgKzU3NSw3IEBACiAgICAgICAgICAgICAjIHdlIGRpZG4ndCBnZXQgYW55dGhpbmcgb3IgdGhpcyB3YXMgb3VyIG9ubHkgdHJ5CiAgICAgICAgICAgICBpZiBub3QgZGF0YSBvciBzaXplIGlzIG5vdCBOb25lOgogICAgICAgICAgICAgICAgIGlmIGxpbmUgYW5kIG5vdCBrZWVwZW5kczoKLSAgICAgICAgICAgICAgICAgICAgbGluZSA9IGxpbmUuc3BsaXRsaW5lcyhGYWxzZSlbMF0KKyAgICAgICAgICAgICAgICAgICAgbGluZSA9IGxpbmUuc3BsaXRsaW5lcyhrZWVwZW5kcz1GYWxzZSlbMF0KICAgICAgICAgICAgICAgICBicmVhawogICAgICAgICAgICAgaWYgcmVhZHNpemUgPCA4MDAwOgogICAgICAgICAgICAgICAgIHJlYWRzaXplICo9IDIKQEAgLTgwMyw3ICs4MDMsNyBAQAogCiAgICAgICAgIGRhdGEgPSBzZWxmLnJlYWRlci5yZWFkKCkKICAgICAgICAgZGF0YSwgYnl0ZXNlbmNvZGVkID0gc2VsZi5lbmNvZGUoZGF0YSwgc2VsZi5lcnJvcnMpCi0gICAgICAgIHJldHVybiBkYXRhLnNwbGl0bGluZXMoMSkKKyAgICAgICAgcmV0dXJuIGRhdGEuc3BsaXRsaW5lcyhrZWVwZW5kcz1UcnVlKQogCiAgICAgZGVmIF9fbmV4dF9fKHNlbGYpOgogCmRpZmYgLS1naXQgYS9MaWIvY29sbGVjdGlvbnMucHkgYi9MaWIvY29sbGVjdGlvbnMvX19pbml0X18ucHkKc2ltaWxhcml0eSBpbmRleCA5MiUKcmVuYW1lIGZyb20gTGliL2NvbGxlY3Rpb25zLnB5CnJlbmFtZSB0byBMaWIvY29sbGVjdGlvbnMvX19pbml0X18ucHkKaW5kZXggZWIyMDI0My4uYjFjODJiNCAxMDA2NDQKLS0tIGEvTGliL2NvbGxlY3Rpb25zLnB5CisrKyBiL0xpYi9jb2xsZWN0aW9ucy9fX2luaXRfXy5weQpAQCAtMSwxMCArMSwxMSBAQAogX19hbGxfXyA9IFsnZGVxdWUnLCAnZGVmYXVsdGRpY3QnLCAnbmFtZWR0dXBsZScsICdVc2VyRGljdCcsICdVc2VyTGlzdCcsCi0gICAgICAgICAgICAnVXNlclN0cmluZycsICdDb3VudGVyJywgJ09yZGVyZWREaWN0J10KLSMgRm9yIGJvb3RzdHJhcHBpbmcgcmVhc29ucywgdGhlIGNvbGxlY3Rpb24gQUJDcyBhcmUgZGVmaW5lZCBpbiBfYWJjb2xsLnB5LgotIyBUaGV5IHNob3VsZCBob3dldmVyIGJlIGNvbnNpZGVyZWQgYW4gaW50ZWdyYWwgcGFydCBvZiBjb2xsZWN0aW9ucy5weS4KLWZyb20gX2FiY29sbCBpbXBvcnQgKgotaW1wb3J0IF9hYmNvbGwKLV9fYWxsX18gKz0gX2FiY29sbC5fX2FsbF9fCisgICAgICAgICAgICAnVXNlclN0cmluZycsICdDb3VudGVyJywgJ09yZGVyZWREaWN0JywgJ0NoYWluTWFwJ10KKworIyBGb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHksIGNvbnRpbnVlIHRvIG1ha2UgdGhlIGNvbGxlY3Rpb25zIEFCQ3MKKyMgYXZhaWxhYmxlIHRocm91Z2ggdGhlIGNvbGxlY3Rpb25zIG1vZHVsZS4KK2Zyb20gY29sbGVjdGlvbnMuYWJjIGltcG9ydCAqCitpbXBvcnQgY29sbGVjdGlvbnMuYWJjCitfX2FsbF9fICs9IGNvbGxlY3Rpb25zLmFiYy5fX2FsbF9fCiAKIGZyb20gX2NvbGxlY3Rpb25zIGltcG9ydCBkZXF1ZSwgZGVmYXVsdGRpY3QKIGZyb20gb3BlcmF0b3IgaW1wb3J0IGl0ZW1nZXR0ZXIgYXMgX2l0ZW1nZXR0ZXIKQEAgLTM2NCw4ICszNjUsOSBAQAogICAgIGV4Y2VwdCBTeW50YXhFcnJvciBhcyBlOgogICAgICAgICByYWlzZSBTeW50YXhFcnJvcihlLm1zZyArICc6XG5cbicgKyBjbGFzc19kZWZpbml0aW9uKQogICAgIHJlc3VsdCA9IG5hbWVzcGFjZVt0eXBlbmFtZV0KKyAgICByZXN1bHQuX3NvdXJjZSA9IGNsYXNzX2RlZmluaXRpb24KICAgICBpZiB2ZXJib3NlOgotICAgICAgICBwcmludChjbGFzc19kZWZpbml0aW9uKQorICAgICAgICBwcmludChyZXN1bHQuX3NvdXJjZSkKIAogICAgICMgRm9yIHBpY2tsaW5nIHRvIHdvcmssIHRoZSBfX21vZHVsZV9fIHZhcmlhYmxlIG5lZWRzIHRvIGJlIHNldCB0byB0aGUgZnJhbWUKICAgICAjIHdoZXJlIHRoZSBuYW1lZCB0dXBsZSBpcyBjcmVhdGVkLiAgQnlwYXNzIHRoaXMgc3RlcCBpbiBlbnZpcm9tZW50cyB3aGVyZQpAQCAtNjc0LDEyICs2NzYsODYgQEAKICAgICAgICAgICAgICAgICByZXN1bHRbZWxlbV0gPSBuZXdjb3VudAogICAgICAgICByZXR1cm4gcmVzdWx0CiAKKyAgICBkZWYgX19wb3NfXyhzZWxmKToKKyAgICAgICAgJ0FkZHMgYW4gZW1wdHkgY291bnRlciwgZWZmZWN0aXZlbHkgc3RyaXBwaW5nIG5lZ2F0aXZlIGFuZCB6ZXJvIGNvdW50cycKKyAgICAgICAgcmV0dXJuIHNlbGYgKyBDb3VudGVyKCkKKworICAgIGRlZiBfX25lZ19fKHNlbGYpOgorICAgICAgICAnJydTdWJ0cmFjdHMgZnJvbSBhbiBlbXB0eSBjb3VudGVyLiAgU3RyaXBzIHBvc2l0aXZlIGFuZCB6ZXJvIGNvdW50cywKKyAgICAgICAgYW5kIGZsaXBzIHRoZSBzaWduIG9uIG5lZ2F0aXZlIGNvdW50cy4KKworICAgICAgICAnJycKKyAgICAgICAgcmV0dXJuIENvdW50ZXIoKSAtIHNlbGYKKworICAgIGRlZiBfa2VlcF9wb3NpdGl2ZShzZWxmKToKKyAgICAgICAgJycnSW50ZXJuYWwgbWV0aG9kIHRvIHN0cmlwIGVsZW1lbnRzIHdpdGggYSBuZWdhdGl2ZSBvciB6ZXJvIGNvdW50JycnCisgICAgICAgIG5vbnBvc2l0aXZlID0gW2VsZW0gZm9yIGVsZW0sIGNvdW50IGluIHNlbGYuaXRlbXMoKSBpZiBub3QgY291bnQgPiAwXQorICAgICAgICBmb3IgZWxlbSBpbiBub25wb3NpdGl2ZToKKyAgICAgICAgICAgIGRlbCBzZWxmW2VsZW1dCisgICAgICAgIHJldHVybiBzZWxmCisKKyAgICBkZWYgX19pYWRkX18oc2VsZiwgb3RoZXIpOgorICAgICAgICAnJydJbnBsYWNlIGFkZCBmcm9tIGFub3RoZXIgY291bnRlciwga2VlcGluZyBvbmx5IHBvc2l0aXZlIGNvdW50cy4KKworICAgICAgICA+Pj4gYyA9IENvdW50ZXIoJ2FiYmInKQorICAgICAgICA+Pj4gYyArPSBDb3VudGVyKCdiY2MnKQorICAgICAgICA+Pj4gYworICAgICAgICBDb3VudGVyKHsnYic6IDQsICdjJzogMiwgJ2EnOiAxfSkKKworICAgICAgICAnJycKKyAgICAgICAgZm9yIGVsZW0sIGNvdW50IGluIG90aGVyLml0ZW1zKCk6CisgICAgICAgICAgICBzZWxmW2VsZW1dICs9IGNvdW50CisgICAgICAgIHJldHVybiBzZWxmLl9rZWVwX3Bvc2l0aXZlKCkKKworICAgIGRlZiBfX2lzdWJfXyhzZWxmLCBvdGhlcik6CisgICAgICAgICcnJ0lucGxhY2Ugc3VidHJhY3QgY291bnRlciwgYnV0IGtlZXAgb25seSByZXN1bHRzIHdpdGggcG9zaXRpdmUgY291bnRzLgorCisgICAgICAgID4+PiBjID0gQ291bnRlcignYWJiYmMnKQorICAgICAgICA+Pj4gYyAtPSBDb3VudGVyKCdiY2NkJykKKyAgICAgICAgPj4+IGMKKyAgICAgICAgQ291bnRlcih7J2InOiAyLCAnYSc6IDF9KQorCisgICAgICAgICcnJworICAgICAgICBmb3IgZWxlbSwgY291bnQgaW4gb3RoZXIuaXRlbXMoKToKKyAgICAgICAgICAgIHNlbGZbZWxlbV0gLT0gY291bnQKKyAgICAgICAgcmV0dXJuIHNlbGYuX2tlZXBfcG9zaXRpdmUoKQorCisgICAgZGVmIF9faW9yX18oc2VsZiwgb3RoZXIpOgorICAgICAgICAnJydJbnBsYWNlIHVuaW9uIGlzIHRoZSBtYXhpbXVtIG9mIHZhbHVlIGZyb20gZWl0aGVyIGNvdW50ZXIuCisKKyAgICAgICAgPj4+IGMgPSBDb3VudGVyKCdhYmJiJykKKyAgICAgICAgPj4+IGMgfD0gQ291bnRlcignYmNjJykKKyAgICAgICAgPj4+IGMKKyAgICAgICAgQ291bnRlcih7J2InOiAzLCAnYyc6IDIsICdhJzogMX0pCisKKyAgICAgICAgJycnCisgICAgICAgIGZvciBlbGVtLCBvdGhlcl9jb3VudCBpbiBvdGhlci5pdGVtcygpOgorICAgICAgICAgICAgY291bnQgPSBzZWxmW2VsZW1dCisgICAgICAgICAgICBpZiBvdGhlcl9jb3VudCA+IGNvdW50OgorICAgICAgICAgICAgICAgIHNlbGZbZWxlbV0gPSBvdGhlcl9jb3VudAorICAgICAgICByZXR1cm4gc2VsZi5fa2VlcF9wb3NpdGl2ZSgpCisKKyAgICBkZWYgX19pYW5kX18oc2VsZiwgb3RoZXIpOgorICAgICAgICAnJydJbnBsYWNlIGludGVyc2VjdGlvbiBpcyB0aGUgbWluaW11bSBvZiBjb3JyZXNwb25kaW5nIGNvdW50cy4KKworICAgICAgICA+Pj4gYyA9IENvdW50ZXIoJ2FiYmInKQorICAgICAgICA+Pj4gYyAmPSBDb3VudGVyKCdiY2MnKQorICAgICAgICA+Pj4gYworICAgICAgICBDb3VudGVyKHsnYic6IDF9KQorCisgICAgICAgICcnJworICAgICAgICBmb3IgZWxlbSwgY291bnQgaW4gc2VsZi5pdGVtcygpOgorICAgICAgICAgICAgb3RoZXJfY291bnQgPSBvdGhlcltlbGVtXQorICAgICAgICAgICAgaWYgb3RoZXJfY291bnQgPCBjb3VudDoKKyAgICAgICAgICAgICAgICBzZWxmW2VsZW1dID0gb3RoZXJfY291bnQKKyAgICAgICAgcmV0dXJuIHNlbGYuX2tlZXBfcG9zaXRpdmUoKQorCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotIyMjICBDaGFpbk1hcCAoaGVscGVyIGZvciBjb25maWdwYXJzZXIpCisjIyMgIENoYWluTWFwIChoZWxwZXIgZm9yIGNvbmZpZ3BhcnNlciBhbmQgc3RyaW5nLlRlbXBsYXRlKQogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKLWNsYXNzIF9DaGFpbk1hcChNdXRhYmxlTWFwcGluZyk6CitjbGFzcyBDaGFpbk1hcChNdXRhYmxlTWFwcGluZyk6CiAgICAgJycnIEEgQ2hhaW5NYXAgZ3JvdXBzIG11bHRpcGxlIGRpY3RzIChvciBvdGhlciBtYXBwaW5ncykgdG9nZXRoZXIKICAgICB0byBjcmVhdGUgYSBzaW5nbGUsIHVwZGF0ZWFibGUgdmlldy4KIApAQCAtODkwLDYgKzk2Niw4IEBACiAgICAgZGVmIGluc2VydChzZWxmLCBpLCBpdGVtKTogc2VsZi5kYXRhLmluc2VydChpLCBpdGVtKQogICAgIGRlZiBwb3Aoc2VsZiwgaT0tMSk6IHJldHVybiBzZWxmLmRhdGEucG9wKGkpCiAgICAgZGVmIHJlbW92ZShzZWxmLCBpdGVtKTogc2VsZi5kYXRhLnJlbW92ZShpdGVtKQorICAgIGRlZiBjbGVhcihzZWxmKTogc2VsZi5kYXRhLmNsZWFyKCkKKyAgICBkZWYgY29weShzZWxmKTogcmV0dXJuIHNlbGYuX19jbGFzc19fKHNlbGYpCiAgICAgZGVmIGNvdW50KHNlbGYsIGl0ZW0pOiByZXR1cm4gc2VsZi5kYXRhLmNvdW50KGl0ZW0pCiAgICAgZGVmIGluZGV4KHNlbGYsIGl0ZW0sICphcmdzKTogcmV0dXJuIHNlbGYuZGF0YS5pbmRleChpdGVtLCAqYXJncykKICAgICBkZWYgcmV2ZXJzZShzZWxmKTogc2VsZi5kYXRhLnJldmVyc2UoKQpAQCAtMTAzNCw3ICsxMTEyLDcgQEAKICAgICAgICAgcmV0dXJuIHNlbGYuZGF0YS5zcGxpdChzZXAsIG1heHNwbGl0KQogICAgIGRlZiByc3BsaXQoc2VsZiwgc2VwPU5vbmUsIG1heHNwbGl0PS0xKToKICAgICAgICAgcmV0dXJuIHNlbGYuZGF0YS5yc3BsaXQoc2VwLCBtYXhzcGxpdCkKLSAgICBkZWYgc3BsaXRsaW5lcyhzZWxmLCBrZWVwZW5kcz0wKTogcmV0dXJuIHNlbGYuZGF0YS5zcGxpdGxpbmVzKGtlZXBlbmRzKQorICAgIGRlZiBzcGxpdGxpbmVzKHNlbGYsIGtlZXBlbmRzPUZhbHNlKTogcmV0dXJuIHNlbGYuZGF0YS5zcGxpdGxpbmVzKGtlZXBlbmRzKQogICAgIGRlZiBzdGFydHN3aXRoKHNlbGYsIHByZWZpeCwgc3RhcnQ9MCwgZW5kPV9zeXMubWF4c2l6ZSk6CiAgICAgICAgIHJldHVybiBzZWxmLmRhdGEuc3RhcnRzd2l0aChwcmVmaXgsIHN0YXJ0LCBlbmQpCiAgICAgZGVmIHN0cmlwKHNlbGYsIGNoYXJzPU5vbmUpOiByZXR1cm4gc2VsZi5fX2NsYXNzX18oc2VsZi5kYXRhLnN0cmlwKGNoYXJzKSkKZGlmZiAtLWdpdCBhL0xpYi9fYWJjb2xsLnB5IGIvTGliL2NvbGxlY3Rpb25zL2FiYy5weQpzaW1pbGFyaXR5IGluZGV4IDk2JQpyZW5hbWUgZnJvbSBMaWIvX2FiY29sbC5weQpyZW5hbWUgdG8gTGliL2NvbGxlY3Rpb25zL2FiYy5weQppbmRleCAyNDE3ZDE4Li43ZmJlODRkIDEwMDY0NAotLS0gYS9MaWIvX2FiY29sbC5weQorKysgYi9MaWIvY29sbGVjdGlvbnMvYWJjLnB5CkBAIC0zLDkgKzMsNyBAQAogCiAiIiJBYnN0cmFjdCBCYXNlIENsYXNzZXMgKEFCQ3MpIGZvciBjb2xsZWN0aW9ucywgYWNjb3JkaW5nIHRvIFBFUCAzMTE5LgogCi1ET04nVCBVU0UgVEhJUyBNT0RVTEUgRElSRUNUTFkhICBUaGUgY2xhc3NlcyBoZXJlIHNob3VsZCBiZSBpbXBvcnRlZAotdmlhIGNvbGxlY3Rpb25zOyB0aGV5IGFyZSBkZWZpbmVkIGhlcmUgb25seSB0byBhbGxldmlhdGUgY2VydGFpbgotYm9vdHN0cmFwcGluZyBpc3N1ZXMuICBVbml0IHRlc3RzIGFyZSBpbiB0ZXN0X2NvbGxlY3Rpb25zLgorVW5pdCB0ZXN0cyBhcmUgaW4gdGVzdF9jb2xsZWN0aW9ucy4KICIiIgogCiBmcm9tIGFiYyBpbXBvcnQgQUJDTWV0YSwgYWJzdHJhY3RtZXRob2QKQEAgLTQ4LDYgKzQ2LDggQEAKIAogY2xhc3MgSGFzaGFibGUobWV0YWNsYXNzPUFCQ01ldGEpOgogCisgICAgX19zbG90c19fID0gKCkKKwogICAgIEBhYnN0cmFjdG1ldGhvZAogICAgIGRlZiBfX2hhc2hfXyhzZWxmKToKICAgICAgICAgcmV0dXJuIDAKQEAgLTY1LDYgKzY1LDggQEAKIAogY2xhc3MgSXRlcmFibGUobWV0YWNsYXNzPUFCQ01ldGEpOgogCisgICAgX19zbG90c19fID0gKCkKKwogICAgIEBhYnN0cmFjdG1ldGhvZAogICAgIGRlZiBfX2l0ZXJfXyhzZWxmKToKICAgICAgICAgd2hpbGUgRmFsc2U6CkBAIC04MCw2ICs4Miw4IEBACiAKIGNsYXNzIEl0ZXJhdG9yKEl0ZXJhYmxlKToKIAorICAgIF9fc2xvdHNfXyA9ICgpCisKICAgICBAYWJzdHJhY3RtZXRob2QKICAgICBkZWYgX19uZXh0X18oc2VsZik6CiAgICAgICAgIHJhaXNlIFN0b3BJdGVyYXRpb24KQEAgLTExMSw2ICsxMTUsOCBAQAogCiBjbGFzcyBTaXplZChtZXRhY2xhc3M9QUJDTWV0YSk6CiAKKyAgICBfX3Nsb3RzX18gPSAoKQorCiAgICAgQGFic3RyYWN0bWV0aG9kCiAgICAgZGVmIF9fbGVuX18oc2VsZik6CiAgICAgICAgIHJldHVybiAwCkBAIC0xMjUsNiArMTMxLDggQEAKIAogY2xhc3MgQ29udGFpbmVyKG1ldGFjbGFzcz1BQkNNZXRhKToKIAorICAgIF9fc2xvdHNfXyA9ICgpCisKICAgICBAYWJzdHJhY3RtZXRob2QKICAgICBkZWYgX19jb250YWluc19fKHNlbGYsIHgpOgogICAgICAgICByZXR1cm4gRmFsc2UKQEAgLTEzOSw2ICsxNDcsOCBAQAogCiBjbGFzcyBDYWxsYWJsZShtZXRhY2xhc3M9QUJDTWV0YSk6CiAKKyAgICBfX3Nsb3RzX18gPSAoKQorCiAgICAgQGFic3RyYWN0bWV0aG9kCiAgICAgZGVmIF9fY2FsbF9fKHNlbGYsICphcmdzLCAqKmt3ZHMpOgogICAgICAgICByZXR1cm4gRmFsc2UKQEAgLTE2Niw2ICsxNzYsOCBAQAogICAgIHRoZW4gdGhlIG90aGVyIG9wZXJhdGlvbnMgd2lsbCBhdXRvbWF0aWNhbGx5IGZvbGxvdyBzdWl0LgogICAgICIiIgogCisgICAgX19zbG90c19fID0gKCkKKwogICAgIGRlZiBfX2xlX18oc2VsZiwgb3RoZXIpOgogICAgICAgICBpZiBub3QgaXNpbnN0YW5jZShvdGhlciwgU2V0KToKICAgICAgICAgICAgIHJldHVybiBOb3RJbXBsZW1lbnRlZApAQCAtMjc3LDYgKzI4OSw4IEBACiAKIGNsYXNzIE11dGFibGVTZXQoU2V0KToKIAorICAgIF9fc2xvdHNfXyA9ICgpCisKICAgICBAYWJzdHJhY3RtZXRob2QKICAgICBkZWYgYWRkKHNlbGYsIHZhbHVlKToKICAgICAgICAgIiIiQWRkIGFuIGVsZW1lbnQuIiIiCkBAIC0zNTAsNiArMzY0LDggQEAKIAogY2xhc3MgTWFwcGluZyhTaXplZCwgSXRlcmFibGUsIENvbnRhaW5lcik6CiAKKyAgICBfX3Nsb3RzX18gPSAoKQorCiAgICAgQGFic3RyYWN0bWV0aG9kCiAgICAgZGVmIF9fZ2V0aXRlbV9fKHNlbGYsIGtleSk6CiAgICAgICAgIHJhaXNlIEtleUVycm9yCkBAIC00NTMsNiArNDY5LDggQEAKIAogY2xhc3MgTXV0YWJsZU1hcHBpbmcoTWFwcGluZyk6CiAKKyAgICBfX3Nsb3RzX18gPSAoKQorCiAgICAgQGFic3RyYWN0bWV0aG9kCiAgICAgZGVmIF9fc2V0aXRlbV9fKHNlbGYsIGtleSwgdmFsdWUpOgogICAgICAgICByYWlzZSBLZXlFcnJvcgpAQCAtNTMyLDYgKzU1MCw4IEBACiAgICAgX19nZXRpdGVtX18sIGFuZCBfX2xlbl9fLgogICAgICIiIgogCisgICAgX19zbG90c19fID0gKCkKKwogICAgIEBhYnN0cmFjdG1ldGhvZAogICAgIGRlZiBfX2dldGl0ZW1fXyhzZWxmLCBpbmRleCk6CiAgICAgICAgIHJhaXNlIEluZGV4RXJyb3IKQEAgLTU3NywxMiArNTk3LDE2IEBACiAgICAgWFhYIFNob3VsZCBhZGQgYWxsIHRoZWlyIG1ldGhvZHMuCiAgICAgIiIiCiAKKyAgICBfX3Nsb3RzX18gPSAoKQorCiBCeXRlU3RyaW5nLnJlZ2lzdGVyKGJ5dGVzKQogQnl0ZVN0cmluZy5yZWdpc3RlcihieXRlYXJyYXkpCiAKIAogY2xhc3MgTXV0YWJsZVNlcXVlbmNlKFNlcXVlbmNlKToKIAorICAgIF9fc2xvdHNfXyA9ICgpCisKICAgICBAYWJzdHJhY3RtZXRob2QKICAgICBkZWYgX19zZXRpdGVtX18oc2VsZiwgaW5kZXgsIHZhbHVlKToKICAgICAgICAgcmFpc2UgSW5kZXhFcnJvcgpAQCAtNTk4LDYgKzYyMiwxMyBAQAogICAgIGRlZiBhcHBlbmQoc2VsZiwgdmFsdWUpOgogICAgICAgICBzZWxmLmluc2VydChsZW4oc2VsZiksIHZhbHVlKQogCisgICAgZGVmIGNsZWFyKHNlbGYpOgorICAgICAgICB0cnk6CisgICAgICAgICAgICB3aGlsZSBUcnVlOgorICAgICAgICAgICAgICAgIHNlbGYucG9wKCkKKyAgICAgICAgZXhjZXB0IEluZGV4RXJyb3I6CisgICAgICAgICAgICBwYXNzCisKICAgICBkZWYgcmV2ZXJzZShzZWxmKToKICAgICAgICAgbiA9IGxlbihzZWxmKQogICAgICAgICBmb3IgaSBpbiByYW5nZShuLy8yKToKZGlmZiAtLWdpdCBhL0xpYi9jb25jdXJyZW50L2Z1dHVyZXMvX2Jhc2UucHkgYi9MaWIvY29uY3VycmVudC9mdXR1cmVzL19iYXNlLnB5CmluZGV4IDc5YjkxZDQuLjNiMDk3YjUgMTAwNjQ0Ci0tLSBhL0xpYi9jb25jdXJyZW50L2Z1dHVyZXMvX2Jhc2UucHkKKysrIGIvTGliL2NvbmN1cnJlbnQvZnV0dXJlcy9fYmFzZS5weQpAQCAtNCw3ICs0LDYgQEAKIF9fYXV0aG9yX18gPSAnQnJpYW4gUXVpbmxhbiAoYnJpYW5Ac3dlZXRhcHAuY29tKScKIAogaW1wb3J0IGNvbGxlY3Rpb25zCi1pbXBvcnQgZnVuY3Rvb2xzCiBpbXBvcnQgbG9nZ2luZwogaW1wb3J0IHRocmVhZGluZwogaW1wb3J0IHRpbWUKQEAgLTUzNiwxNSArNTM1LDE5IEBACiAKICAgICAgICAgZnMgPSBbc2VsZi5zdWJtaXQoZm4sICphcmdzKSBmb3IgYXJncyBpbiB6aXAoKml0ZXJhYmxlcyldCiAKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgZm9yIGZ1dHVyZSBpbiBmczoKLSAgICAgICAgICAgICAgICBpZiB0aW1lb3V0IGlzIE5vbmU6Ci0gICAgICAgICAgICAgICAgICAgIHlpZWxkIGZ1dHVyZS5yZXN1bHQoKQotICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgIHlpZWxkIGZ1dHVyZS5yZXN1bHQoZW5kX3RpbWUgLSB0aW1lLnRpbWUoKSkKLSAgICAgICAgZmluYWxseToKLSAgICAgICAgICAgIGZvciBmdXR1cmUgaW4gZnM6Ci0gICAgICAgICAgICAgICAgZnV0dXJlLmNhbmNlbCgpCisgICAgICAgICMgWWllbGQgbXVzdCBiZSBoaWRkZW4gaW4gY2xvc3VyZSBzbyB0aGF0IHRoZSBmdXR1cmVzIGFyZSBzdWJtaXR0ZWQKKyAgICAgICAgIyBiZWZvcmUgdGhlIGZpcnN0IGl0ZXJhdG9yIHZhbHVlIGlzIHJlcXVpcmVkLgorICAgICAgICBkZWYgcmVzdWx0X2l0ZXJhdG9yKCk6CisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgZm9yIGZ1dHVyZSBpbiBmczoKKyAgICAgICAgICAgICAgICAgICAgaWYgdGltZW91dCBpcyBOb25lOgorICAgICAgICAgICAgICAgICAgICAgICAgeWllbGQgZnV0dXJlLnJlc3VsdCgpCisgICAgICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgICAgICB5aWVsZCBmdXR1cmUucmVzdWx0KGVuZF90aW1lIC0gdGltZS50aW1lKCkpCisgICAgICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgICAgIGZvciBmdXR1cmUgaW4gZnM6CisgICAgICAgICAgICAgICAgICAgIGZ1dHVyZS5jYW5jZWwoKQorICAgICAgICByZXR1cm4gcmVzdWx0X2l0ZXJhdG9yKCkKIAogICAgIGRlZiBzaHV0ZG93bihzZWxmLCB3YWl0PVRydWUpOgogICAgICAgICAiIiJDbGVhbi11cCB0aGUgcmVzb3VyY2VzIGFzc29jaWF0ZWQgd2l0aCB0aGUgRXhlY3V0b3IuCmRpZmYgLS1naXQgYS9MaWIvY29uY3VycmVudC9mdXR1cmVzL3Byb2Nlc3MucHkgYi9MaWIvY29uY3VycmVudC9mdXR1cmVzL3Byb2Nlc3MucHkKaW5kZXggZDNiYmUyYy4uMDQyMzhhNyAxMDA2NDQKLS0tIGEvTGliL2NvbmN1cnJlbnQvZnV0dXJlcy9wcm9jZXNzLnB5CisrKyBiL0xpYi9jb25jdXJyZW50L2Z1dHVyZXMvcHJvY2Vzcy5weQpAQCAtNDYsOSArNDYsMTIgQEAKIF9fYXV0aG9yX18gPSAnQnJpYW4gUXVpbmxhbiAoYnJpYW5Ac3dlZXRhcHAuY29tKScKIAogaW1wb3J0IGF0ZXhpdAoraW1wb3J0IG9zCiBmcm9tIGNvbmN1cnJlbnQuZnV0dXJlcyBpbXBvcnQgX2Jhc2UKIGltcG9ydCBxdWV1ZQogaW1wb3J0IG11bHRpcHJvY2Vzc2luZworZnJvbSBtdWx0aXByb2Nlc3NpbmcucXVldWVzIGltcG9ydCBTaW1wbGVRdWV1ZSwgRnVsbAorZnJvbSBtdWx0aXByb2Nlc3NpbmcuY29ubmVjdGlvbiBpbXBvcnQgd2FpdAogaW1wb3J0IHRocmVhZGluZwogaW1wb3J0IHdlYWtyZWYKIApAQCAtMTIxLDcgKzEyNCw3IEBACiAgICAgICAgIGNhbGxfaXRlbSA9IGNhbGxfcXVldWUuZ2V0KGJsb2NrPVRydWUpCiAgICAgICAgIGlmIGNhbGxfaXRlbSBpcyBOb25lOgogICAgICAgICAgICAgIyBXYWtlIHVwIHF1ZXVlIG1hbmFnZW1lbnQgdGhyZWFkCi0gICAgICAgICAgICByZXN1bHRfcXVldWUucHV0KE5vbmUpCisgICAgICAgICAgICByZXN1bHRfcXVldWUucHV0KG9zLmdldHBpZCgpKQogICAgICAgICAgICAgcmV0dXJuCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIHIgPSBjYWxsX2l0ZW0uZm4oKmNhbGxfaXRlbS5hcmdzLCAqKmNhbGxfaXRlbS5rd2FyZ3MpCkBAIC0xOTMsNDYgKzE5Niw5MiBAQAogICAgICAgICByZXN1bHRfcXVldWU6IEEgbXVsdGlwcm9jZXNzaW5nLlF1ZXVlIG9mIF9SZXN1bHRJdGVtcyBnZW5lcmF0ZWQgYnkgdGhlCiAgICAgICAgICAgICBwcm9jZXNzIHdvcmtlcnMuCiAgICAgIiIiCi0gICAgbmJfc2h1dGRvd25fcHJvY2Vzc2VzID0gMAotICAgIGRlZiBzaHV0ZG93bl9vbmVfcHJvY2VzcygpOgotICAgICAgICAiIiJUZWxsIGEgd29ya2VyIHRvIHRlcm1pbmF0ZSwgd2hpY2ggd2lsbCBpbiB0dXJuIHdha2UgdXMgYWdhaW4iIiIKLSAgICAgICAgbm9ubG9jYWwgbmJfc2h1dGRvd25fcHJvY2Vzc2VzCi0gICAgICAgIGNhbGxfcXVldWUucHV0KE5vbmUpCi0gICAgICAgIG5iX3NodXRkb3duX3Byb2Nlc3NlcyArPSAxCisgICAgZXhlY3V0b3IgPSBOb25lCisKKyAgICBkZWYgc2h1dHRpbmdfZG93bigpOgorICAgICAgICByZXR1cm4gX3NodXRkb3duIG9yIGV4ZWN1dG9yIGlzIE5vbmUgb3IgZXhlY3V0b3IuX3NodXRkb3duX3RocmVhZAorCisgICAgZGVmIHNodXRkb3duX3dvcmtlcigpOgorICAgICAgICAjIFRoaXMgaXMgYW4gdXBwZXIgYm91bmQKKyAgICAgICAgbmJfY2hpbGRyZW5fYWxpdmUgPSBzdW0ocC5pc19hbGl2ZSgpIGZvciBwIGluIHByb2Nlc3Nlcy52YWx1ZXMoKSkKKyAgICAgICAgZm9yIGkgaW4gcmFuZ2UoMCwgbmJfY2hpbGRyZW5fYWxpdmUpOgorICAgICAgICAgICAgY2FsbF9xdWV1ZS5wdXRfbm93YWl0KE5vbmUpCisgICAgICAgICMgUmVsZWFzZSB0aGUgcXVldWUncyByZXNvdXJjZXMgYXMgc29vbiBhcyBwb3NzaWJsZS4KKyAgICAgICAgY2FsbF9xdWV1ZS5jbG9zZSgpCisgICAgICAgICMgSWYgLmpvaW4oKSBpcyBub3QgY2FsbGVkIG9uIHRoZSBjcmVhdGVkIHByb2Nlc3NlcyB0aGVuCisgICAgICAgICMgc29tZSBtdWx0aXByb2Nlc3NpbmcuUXVldWUgbWV0aG9kcyBtYXkgZGVhZGxvY2sgb24gTWFjIE9TIFguCisgICAgICAgIGZvciBwIGluIHByb2Nlc3Nlcy52YWx1ZXMoKToKKyAgICAgICAgICAgIHAuam9pbigpCisKKyAgICByZWFkZXIgPSByZXN1bHRfcXVldWUuX3JlYWRlcgorCiAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgX2FkZF9jYWxsX2l0ZW1fdG9fcXVldWUocGVuZGluZ193b3JrX2l0ZW1zLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3b3JrX2lkc19xdWV1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsbF9xdWV1ZSkKIAotICAgICAgICByZXN1bHRfaXRlbSA9IHJlc3VsdF9xdWV1ZS5nZXQoYmxvY2s9VHJ1ZSkKLSAgICAgICAgaWYgcmVzdWx0X2l0ZW0gaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICB3b3JrX2l0ZW0gPSBwZW5kaW5nX3dvcmtfaXRlbXNbcmVzdWx0X2l0ZW0ud29ya19pZF0KLSAgICAgICAgICAgIGRlbCBwZW5kaW5nX3dvcmtfaXRlbXNbcmVzdWx0X2l0ZW0ud29ya19pZF0KLQotICAgICAgICAgICAgaWYgcmVzdWx0X2l0ZW0uZXhjZXB0aW9uOgotICAgICAgICAgICAgICAgIHdvcmtfaXRlbS5mdXR1cmUuc2V0X2V4Y2VwdGlvbihyZXN1bHRfaXRlbS5leGNlcHRpb24pCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHdvcmtfaXRlbS5mdXR1cmUuc2V0X3Jlc3VsdChyZXN1bHRfaXRlbS5yZXN1bHQpCisgICAgICAgIHNlbnRpbmVscyA9IFtwLnNlbnRpbmVsIGZvciBwIGluIHByb2Nlc3Nlcy52YWx1ZXMoKV0KKyAgICAgICAgYXNzZXJ0IHNlbnRpbmVscworICAgICAgICByZWFkeSA9IHdhaXQoW3JlYWRlcl0gKyBzZW50aW5lbHMpCisgICAgICAgIGlmIHJlYWRlciBpbiByZWFkeToKKyAgICAgICAgICAgIHJlc3VsdF9pdGVtID0gcmVhZGVyLnJlY3YoKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgIyBNYXJrIHRoZSBwcm9jZXNzIHBvb2wgYnJva2VuIHNvIHRoYXQgc3VibWl0cyBmYWlsIHJpZ2h0IG5vdy4KKyAgICAgICAgICAgIGV4ZWN1dG9yID0gZXhlY3V0b3JfcmVmZXJlbmNlKCkKKyAgICAgICAgICAgIGlmIGV4ZWN1dG9yIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgICAgIGV4ZWN1dG9yLl9icm9rZW4gPSBUcnVlCisgICAgICAgICAgICAgICAgZXhlY3V0b3IuX3NodXRkb3duX3RocmVhZCA9IFRydWUKKyAgICAgICAgICAgICAgICBleGVjdXRvciA9IE5vbmUKKyAgICAgICAgICAgICMgQWxsIGZ1dHVyZXMgaW4gZmxpZ2h0IG11c3QgYmUgbWFya2VkIGZhaWxlZAorICAgICAgICAgICAgZm9yIHdvcmtfaWQsIHdvcmtfaXRlbSBpbiBwZW5kaW5nX3dvcmtfaXRlbXMuaXRlbXMoKToKKyAgICAgICAgICAgICAgICB3b3JrX2l0ZW0uZnV0dXJlLnNldF9leGNlcHRpb24oCisgICAgICAgICAgICAgICAgICAgIEJyb2tlblByb2Nlc3NQb29sKAorICAgICAgICAgICAgICAgICAgICAgICAgIkEgcHJvY2VzcyBpbiB0aGUgcHJvY2VzcyBwb29sIHdhcyAiCisgICAgICAgICAgICAgICAgICAgICAgICAidGVybWluYXRlZCBhYnJ1cHRseSB3aGlsZSB0aGUgZnV0dXJlIHdhcyAiCisgICAgICAgICAgICAgICAgICAgICAgICAicnVubmluZyBvciBwZW5kaW5nLiIKKyAgICAgICAgICAgICAgICAgICAgKSkKKyAgICAgICAgICAgIHBlbmRpbmdfd29ya19pdGVtcy5jbGVhcigpCisgICAgICAgICAgICAjIFRlcm1pbmF0ZSByZW1haW5pbmcgd29ya2VycyBmb3JjaWJseTogdGhlIHF1ZXVlcyBvciB0aGVpcgorICAgICAgICAgICAgIyBsb2NrcyBtYXkgYmUgaW4gYSBkaXJ0eSBzdGF0ZSBhbmQgYmxvY2sgZm9yZXZlci4KKyAgICAgICAgICAgIGZvciBwIGluIHByb2Nlc3Nlcy52YWx1ZXMoKToKKyAgICAgICAgICAgICAgICBwLnRlcm1pbmF0ZSgpCisgICAgICAgICAgICBzaHV0ZG93bl93b3JrZXIoKQorICAgICAgICAgICAgcmV0dXJuCisgICAgICAgIGlmIGlzaW5zdGFuY2UocmVzdWx0X2l0ZW0sIGludCk6CisgICAgICAgICAgICAjIENsZWFuIHNodXRkb3duIG9mIGEgd29ya2VyIHVzaW5nIGl0cyBQSUQKKyAgICAgICAgICAgICMgKGF2b2lkcyBtYXJraW5nIHRoZSBleGVjdXRvciBicm9rZW4pCisgICAgICAgICAgICBhc3NlcnQgc2h1dHRpbmdfZG93bigpCisgICAgICAgICAgICBwID0gcHJvY2Vzc2VzLnBvcChyZXN1bHRfaXRlbSkKKyAgICAgICAgICAgIHAuam9pbigpCisgICAgICAgICAgICBpZiBub3QgcHJvY2Vzc2VzOgorICAgICAgICAgICAgICAgIHNodXRkb3duX3dvcmtlcigpCisgICAgICAgICAgICAgICAgcmV0dXJuCisgICAgICAgIGVsaWYgcmVzdWx0X2l0ZW0gaXMgbm90IE5vbmU6CisgICAgICAgICAgICB3b3JrX2l0ZW0gPSBwZW5kaW5nX3dvcmtfaXRlbXMucG9wKHJlc3VsdF9pdGVtLndvcmtfaWQsIE5vbmUpCisgICAgICAgICAgICAjIHdvcmtfaXRlbSBjYW4gYmUgTm9uZSBpZiBhbm90aGVyIHByb2Nlc3MgdGVybWluYXRlZCAoc2VlIGFib3ZlKQorICAgICAgICAgICAgaWYgd29ya19pdGVtIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgICAgIGlmIHJlc3VsdF9pdGVtLmV4Y2VwdGlvbjoKKyAgICAgICAgICAgICAgICAgICAgd29ya19pdGVtLmZ1dHVyZS5zZXRfZXhjZXB0aW9uKHJlc3VsdF9pdGVtLmV4Y2VwdGlvbikKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICB3b3JrX2l0ZW0uZnV0dXJlLnNldF9yZXN1bHQocmVzdWx0X2l0ZW0ucmVzdWx0KQogICAgICAgICAjIENoZWNrIHdoZXRoZXIgd2Ugc2hvdWxkIHN0YXJ0IHNodXR0aW5nIGRvd24uCiAgICAgICAgIGV4ZWN1dG9yID0gZXhlY3V0b3JfcmVmZXJlbmNlKCkKICAgICAgICAgIyBObyBtb3JlIHdvcmsgaXRlbXMgY2FuIGJlIGFkZGVkIGlmOgogICAgICAgICAjICAgLSBUaGUgaW50ZXJwcmV0ZXIgaXMgc2h1dHRpbmcgZG93biBPUgogICAgICAgICAjICAgLSBUaGUgZXhlY3V0b3IgdGhhdCBvd25zIHRoaXMgd29ya2VyIGhhcyBiZWVuIGNvbGxlY3RlZCBPUgogICAgICAgICAjICAgLSBUaGUgZXhlY3V0b3IgdGhhdCBvd25zIHRoaXMgd29ya2VyIGhhcyBiZWVuIHNodXRkb3duLgotICAgICAgICBpZiBfc2h1dGRvd24gb3IgZXhlY3V0b3IgaXMgTm9uZSBvciBleGVjdXRvci5fc2h1dGRvd25fdGhyZWFkOgotICAgICAgICAgICAgIyBTaW5jZSBubyBuZXcgd29yayBpdGVtcyBjYW4gYmUgYWRkZWQsIGl0IGlzIHNhZmUgdG8gc2h1dGRvd24KLSAgICAgICAgICAgICMgdGhpcyB0aHJlYWQgaWYgdGhlcmUgYXJlIG5vIHBlbmRpbmcgd29yayBpdGVtcy4KLSAgICAgICAgICAgIGlmIG5vdCBwZW5kaW5nX3dvcmtfaXRlbXM6Ci0gICAgICAgICAgICAgICAgd2hpbGUgbmJfc2h1dGRvd25fcHJvY2Vzc2VzIDwgbGVuKHByb2Nlc3Nlcyk6Ci0gICAgICAgICAgICAgICAgICAgIHNodXRkb3duX29uZV9wcm9jZXNzKCkKLSAgICAgICAgICAgICAgICAjIElmIC5qb2luKCkgaXMgbm90IGNhbGxlZCBvbiB0aGUgY3JlYXRlZCBwcm9jZXNzZXMgdGhlbgotICAgICAgICAgICAgICAgICMgc29tZSBtdWx0aXByb2Nlc3NpbmcuUXVldWUgbWV0aG9kcyBtYXkgZGVhZGxvY2sgb24gTWFjIE9TCi0gICAgICAgICAgICAgICAgIyBYLgotICAgICAgICAgICAgICAgIGZvciBwIGluIHByb2Nlc3NlczoKLSAgICAgICAgICAgICAgICAgICAgcC5qb2luKCkKLSAgICAgICAgICAgICAgICBjYWxsX3F1ZXVlLmNsb3NlKCkKLSAgICAgICAgICAgICAgICByZXR1cm4KLSAgICAgICAgZGVsIGV4ZWN1dG9yCisgICAgICAgIGlmIHNodXR0aW5nX2Rvd24oKToKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICAjIFNpbmNlIG5vIG5ldyB3b3JrIGl0ZW1zIGNhbiBiZSBhZGRlZCwgaXQgaXMgc2FmZSB0byBzaHV0ZG93bgorICAgICAgICAgICAgICAgICMgdGhpcyB0aHJlYWQgaWYgdGhlcmUgYXJlIG5vIHBlbmRpbmcgd29yayBpdGVtcy4KKyAgICAgICAgICAgICAgICBpZiBub3QgcGVuZGluZ193b3JrX2l0ZW1zOgorICAgICAgICAgICAgICAgICAgICBzaHV0ZG93bl93b3JrZXIoKQorICAgICAgICAgICAgICAgICAgICByZXR1cm4KKyAgICAgICAgICAgIGV4Y2VwdCBGdWxsOgorICAgICAgICAgICAgICAgICMgVGhpcyBpcyBub3QgYSBwcm9ibGVtOiB3ZSB3aWxsIGV2ZW50dWFsbHkgYmUgd29rZW4gdXAgKGluCisgICAgICAgICAgICAgICAgIyByZXN1bHRfcXVldWUuZ2V0KCkpIGFuZCBiZSBhYmxlIHRvIHNlbmQgYSBzZW50aW5lbCBhZ2Fpbi4KKyAgICAgICAgICAgICAgICBwYXNzCisgICAgICAgIGV4ZWN1dG9yID0gTm9uZQogCiBfc3lzdGVtX2xpbWl0c19jaGVja2VkID0gRmFsc2UKIF9zeXN0ZW1fbGltaXRlZCA9IE5vbmUKQEAgLTI0Myw3ICsyOTIsNiBAQAogICAgICAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcihfc3lzdGVtX2xpbWl0ZWQpCiAgICAgX3N5c3RlbV9saW1pdHNfY2hlY2tlZCA9IFRydWUKICAgICB0cnk6Ci0gICAgICAgIGltcG9ydCBvcwogICAgICAgICBuc2Vtc19tYXggPSBvcy5zeXNjb25mKCJTQ19TRU1fTlNFTVNfTUFYIikKICAgICBleGNlcHQgKEF0dHJpYnV0ZUVycm9yLCBWYWx1ZUVycm9yKToKICAgICAgICAgIyBzeXNjb25mIG5vdCBhdmFpbGFibGUgb3Igc2V0dGluZyBub3QgYXZhaWxhYmxlCkBAIC0yNTksNiArMzA3LDE0IEBACiAgICAgX3N5c3RlbV9saW1pdGVkID0gInN5c3RlbSBwcm92aWRlcyB0b28gZmV3IHNlbWFwaG9yZXMgKCVkIGF2YWlsYWJsZSwgMjU2IG5lY2Vzc2FyeSkiICUgbnNlbXNfbWF4CiAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcihfc3lzdGVtX2xpbWl0ZWQpCiAKKworY2xhc3MgQnJva2VuUHJvY2Vzc1Bvb2woUnVudGltZUVycm9yKToKKyAgICAiIiIKKyAgICBSYWlzZWQgd2hlbiBhIHByb2Nlc3MgaW4gYSBQcm9jZXNzUG9vbEV4ZWN1dG9yIHRlcm1pbmF0ZWQgYWJydXB0bHkKKyAgICB3aGlsZSBhIGZ1dHVyZSB3YXMgaW4gdGhlIHJ1bm5pbmcgc3RhdGUuCisgICAgIiIiCisKKwogY2xhc3MgUHJvY2Vzc1Bvb2xFeGVjdXRvcihfYmFzZS5FeGVjdXRvcik6CiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIG1heF93b3JrZXJzPU5vbmUpOgogICAgICAgICAiIiJJbml0aWFsaXplcyBhIG5ldyBQcm9jZXNzUG9vbEV4ZWN1dG9yIGluc3RhbmNlLgpAQCAtMjgwLDE0ICszMzYsMjAgQEAKICAgICAgICAgIyBiZWNhdXNlIGZ1dHVyZXMgaW4gdGhlIGNhbGwgcXVldWUgY2Fubm90IGJlIGNhbmNlbGxlZC4KICAgICAgICAgc2VsZi5fY2FsbF9xdWV1ZSA9IG11bHRpcHJvY2Vzc2luZy5RdWV1ZShzZWxmLl9tYXhfd29ya2VycyArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRVhUUkFfUVVFVUVEX0NBTExTKQotICAgICAgICBzZWxmLl9yZXN1bHRfcXVldWUgPSBtdWx0aXByb2Nlc3NpbmcuUXVldWUoKQorICAgICAgICAjIEtpbGxlZCB3b3JrZXIgcHJvY2Vzc2VzIGNhbiBwcm9kdWNlIHNwdXJpb3VzICJicm9rZW4gcGlwZSIKKyAgICAgICAgIyB0cmFjZWJhY2tzIGluIHRoZSBxdWV1ZSdzIG93biB3b3JrZXIgdGhyZWFkLiBCdXQgd2UgZGV0ZWN0IGtpbGxlZAorICAgICAgICAjIHByb2Nlc3NlcyBhbnl3YXksIHNvIHNpbGVuY2UgdGhlIHRyYWNlYmFja3MuCisgICAgICAgIHNlbGYuX2NhbGxfcXVldWUuX2lnbm9yZV9lcGlwZSA9IFRydWUKKyAgICAgICAgc2VsZi5fcmVzdWx0X3F1ZXVlID0gU2ltcGxlUXVldWUoKQogICAgICAgICBzZWxmLl93b3JrX2lkcyA9IHF1ZXVlLlF1ZXVlKCkKICAgICAgICAgc2VsZi5fcXVldWVfbWFuYWdlbWVudF90aHJlYWQgPSBOb25lCi0gICAgICAgIHNlbGYuX3Byb2Nlc3NlcyA9IHNldCgpCisgICAgICAgICMgTWFwIG9mIHBpZHMgdG8gcHJvY2Vzc2VzCisgICAgICAgIHNlbGYuX3Byb2Nlc3NlcyA9IHt9CiAKICAgICAgICAgIyBTaHV0ZG93biBpcyBhIHR3by1zdGVwIHByb2Nlc3MuCiAgICAgICAgIHNlbGYuX3NodXRkb3duX3RocmVhZCA9IEZhbHNlCiAgICAgICAgIHNlbGYuX3NodXRkb3duX2xvY2sgPSB0aHJlYWRpbmcuTG9jaygpCisgICAgICAgIHNlbGYuX2Jyb2tlbiA9IEZhbHNlCiAgICAgICAgIHNlbGYuX3F1ZXVlX2NvdW50ID0gMAogICAgICAgICBzZWxmLl9wZW5kaW5nX3dvcmtfaXRlbXMgPSB7fQogCkBAIC0yOTcsNiArMzU5LDggQEAKICAgICAgICAgZGVmIHdlYWtyZWZfY2IoXywgcT1zZWxmLl9yZXN1bHRfcXVldWUpOgogICAgICAgICAgICAgcS5wdXQoTm9uZSkKICAgICAgICAgaWYgc2VsZi5fcXVldWVfbWFuYWdlbWVudF90aHJlYWQgaXMgTm9uZToKKyAgICAgICAgICAgICMgU3RhcnQgdGhlIHByb2Nlc3NlcyBzbyB0aGF0IHRoZWlyIHNlbnRpbmVscyBhcmUga25vd24uCisgICAgICAgICAgICBzZWxmLl9hZGp1c3RfcHJvY2Vzc19jb3VudCgpCiAgICAgICAgICAgICBzZWxmLl9xdWV1ZV9tYW5hZ2VtZW50X3RocmVhZCA9IHRocmVhZGluZy5UaHJlYWQoCiAgICAgICAgICAgICAgICAgICAgIHRhcmdldD1fcXVldWVfbWFuYWdlbWVudF93b3JrZXIsCiAgICAgICAgICAgICAgICAgICAgIGFyZ3M9KHdlYWtyZWYucmVmKHNlbGYsIHdlYWtyZWZfY2IpLApAQCAtMzE2LDEwICszODAsMTMgQEAKICAgICAgICAgICAgICAgICAgICAgYXJncz0oc2VsZi5fY2FsbF9xdWV1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fcmVzdWx0X3F1ZXVlKSkKICAgICAgICAgICAgIHAuc3RhcnQoKQotICAgICAgICAgICAgc2VsZi5fcHJvY2Vzc2VzLmFkZChwKQorICAgICAgICAgICAgc2VsZi5fcHJvY2Vzc2VzW3AucGlkXSA9IHAKIAogICAgIGRlZiBzdWJtaXQoc2VsZiwgZm4sICphcmdzLCAqKmt3YXJncyk6CiAgICAgICAgIHdpdGggc2VsZi5fc2h1dGRvd25fbG9jazoKKyAgICAgICAgICAgIGlmIHNlbGYuX2Jyb2tlbjoKKyAgICAgICAgICAgICAgICByYWlzZSBCcm9rZW5Qcm9jZXNzUG9vbCgnQSBjaGlsZCBwcm9jZXNzIHRlcm1pbmF0ZWQgJworICAgICAgICAgICAgICAgICAgICAnYWJydXB0bHksIHRoZSBwcm9jZXNzIHBvb2wgaXMgbm90IHVzYWJsZSBhbnltb3JlJykKICAgICAgICAgICAgIGlmIHNlbGYuX3NodXRkb3duX3RocmVhZDoKICAgICAgICAgICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IoJ2Nhbm5vdCBzY2hlZHVsZSBuZXcgZnV0dXJlcyBhZnRlciBzaHV0ZG93bicpCiAKQEAgLTMzMyw3ICs0MDAsNiBAQAogICAgICAgICAgICAgc2VsZi5fcmVzdWx0X3F1ZXVlLnB1dChOb25lKQogCiAgICAgICAgICAgICBzZWxmLl9zdGFydF9xdWV1ZV9tYW5hZ2VtZW50X3RocmVhZCgpCi0gICAgICAgICAgICBzZWxmLl9hZGp1c3RfcHJvY2Vzc19jb3VudCgpCiAgICAgICAgICAgICByZXR1cm4gZgogICAgIHN1Ym1pdC5fX2RvY19fID0gX2Jhc2UuRXhlY3V0b3Iuc3VibWl0Ll9fZG9jX18KIApkaWZmIC0tZ2l0IGEvTGliL2NvbmN1cnJlbnQvZnV0dXJlcy90aHJlYWQucHkgYi9MaWIvY29uY3VycmVudC9mdXR1cmVzL3RocmVhZC5weQppbmRleCBmYmFjMDg4Li45NWJiNjgyIDEwMDY0NAotLS0gYS9MaWIvY29uY3VycmVudC9mdXR1cmVzL3RocmVhZC5weQorKysgYi9MaWIvY29uY3VycmVudC9mdXR1cmVzL3RocmVhZC5weQpAQCAtNzQsNyArNzQsNyBAQAogICAgICAgICAgICAgICAgIHdvcmtfcXVldWUucHV0KE5vbmUpCiAgICAgICAgICAgICAgICAgcmV0dXJuCiAgICAgICAgICAgICBkZWwgZXhlY3V0b3IKLSAgICBleGNlcHQgQmFzZUV4Y2VwdGlvbiBhcyBlOgorICAgIGV4Y2VwdCBCYXNlRXhjZXB0aW9uOgogICAgICAgICBfYmFzZS5MT0dHRVIuY3JpdGljYWwoJ0V4Y2VwdGlvbiBpbiB3b3JrZXInLCBleGNfaW5mbz1UcnVlKQogCiBjbGFzcyBUaHJlYWRQb29sRXhlY3V0b3IoX2Jhc2UuRXhlY3V0b3IpOgpkaWZmIC0tZ2l0IGEvTGliL2NvbmZpZ3BhcnNlci5weSBiL0xpYi9jb25maWdwYXJzZXIucHkKaW5kZXggZDE0OGI4OC4uN2JjNDM5OCAxMDA2NDQKLS0tIGEvTGliL2NvbmZpZ3BhcnNlci5weQorKysgYi9MaWIvY29uZmlncGFyc2VyLnB5CkBAIC0xMTksNyArMTE5LDggQEAKICAgICAgICAgYmV0d2VlbiBrZXlzIGFuZCB2YWx1ZXMgYXJlIHN1cnJvdW5kZWQgYnkgc3BhY2VzLgogIiIiCiAKLWZyb20gY29sbGVjdGlvbnMgaW1wb3J0IE11dGFibGVNYXBwaW5nLCBPcmRlcmVkRGljdCBhcyBfZGVmYXVsdF9kaWN0LCBfQ2hhaW5NYXAKK2Zyb20gY29sbGVjdGlvbnMuYWJjIGltcG9ydCBNdXRhYmxlTWFwcGluZworZnJvbSBjb2xsZWN0aW9ucyBpbXBvcnQgT3JkZXJlZERpY3QgYXMgX2RlZmF1bHRfZGljdCwgQ2hhaW5NYXAgYXMgX0NoYWluTWFwCiBpbXBvcnQgZnVuY3Rvb2xzCiBpbXBvcnQgaW8KIGltcG9ydCBpdGVydG9vbHMKZGlmZiAtLWdpdCBhL0xpYi9jb250ZXh0bGliLnB5IGIvTGliL2NvbnRleHRsaWIucHkKaW5kZXggNWViYmJjNi4uMmY4ZjAwZCAxMDA2NDQKLS0tIGEvTGliL2NvbnRleHRsaWIucHkKKysrIGIvTGliL2NvbnRleHRsaWIucHkKQEAgLTIsNyArMiw2IEBACiAKIGltcG9ydCBzeXMKIGZyb20gZnVuY3Rvb2xzIGltcG9ydCB3cmFwcwotZnJvbSB3YXJuaW5ncyBpbXBvcnQgd2FybgogCiBfX2FsbF9fID0gWyJjb250ZXh0bWFuYWdlciIsICJjbG9zaW5nIiwgIkNvbnRleHREZWNvcmF0b3IiXQogCmRpZmYgLS1naXQgYS9MaWIvY29weS5weSBiL0xpYi9jb3B5LnB5CmluZGV4IDA4OWQxMDEuLmQ5NjIwMWUgMTAwNjQ0Ci0tLSBhL0xpYi9jb3B5LnB5CisrKyBiL0xpYi9jb3B5LnB5CkBAIC0xNzMsOCArMTczLDEwIEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bihkZWVwKWNvcHlhYmxlIG9iamVjdCBvZiB0eXBlICVzIiAlIGNscykKICAgICAgICAgICAgICAgICB5ID0gX3JlY29uc3RydWN0KHgsIHJ2LCAxLCBtZW1vKQogCi0gICAgbWVtb1tkXSA9IHkKLSAgICBfa2VlcF9hbGl2ZSh4LCBtZW1vKSAjIE1ha2Ugc3VyZSB4IGxpdmVzIGF0IGxlYXN0IGFzIGxvbmcgYXMgZAorICAgICMgSWYgaXMgaXRzIG93biBjb3B5LCBkb24ndCBtZW1vaXplLgorICAgIGlmIHkgaXMgbm90IHg6CisgICAgICAgIG1lbW9bZF0gPSB5CisgICAgICAgIF9rZWVwX2FsaXZlKHgsIG1lbW8pICMgTWFrZSBzdXJlIHggbGl2ZXMgYXQgbGVhc3QgYXMgbG9uZyBhcyBkCiAgICAgcmV0dXJuIHkKIAogX2RlZXBjb3B5X2Rpc3BhdGNoID0gZCA9IHt9CkBAIC0yMTQsOSArMjE2LDEwIEBACiAgICAgeSA9IFtdCiAgICAgZm9yIGEgaW4geDoKICAgICAgICAgeS5hcHBlbmQoZGVlcGNvcHkoYSwgbWVtbykpCi0gICAgZCA9IGlkKHgpCisgICAgIyBXZSdyZSBub3QgZ29pbmcgdG8gcHV0IHRoZSB0dXBsZSBpbiB0aGUgbWVtbywgYnV0IGl0J3Mgc3RpbGwgaW1wb3J0YW50IHdlCisgICAgIyBjaGVjayBmb3IgaXQsIGluIGNhc2UgdGhlIHR1cGxlIGNvbnRhaW5zIHJlY3Vyc2l2ZSBtdXRhYmxlIHN0cnVjdHVyZXMuCiAgICAgdHJ5OgotICAgICAgICByZXR1cm4gbWVtb1tkXQorICAgICAgICByZXR1cm4gbWVtb1tpZCh4KV0KICAgICBleGNlcHQgS2V5RXJyb3I6CiAgICAgICAgIHBhc3MKICAgICBmb3IgaSBpbiByYW5nZShsZW4oeCkpOgpAQCAtMjI1LDcgKzIyOCw2IEBACiAgICAgICAgICAgICBicmVhawogICAgIGVsc2U6CiAgICAgICAgIHkgPSB4Ci0gICAgbWVtb1tkXSA9IHkKICAgICByZXR1cm4geQogZFt0dXBsZV0gPSBfZGVlcGNvcHlfdHVwbGUKIApAQCAtMzIxLDY4ICszMjMsMyBAQAogIyBIZWxwZXIgZm9yIGluc3RhbmNlIGNyZWF0aW9uIHdpdGhvdXQgY2FsbGluZyBfX2luaXRfXwogY2xhc3MgX0VtcHR5Q2xhc3M6CiAgICAgcGFzcwotCi1kZWYgX3Rlc3QoKToKLSAgICBsID0gW05vbmUsIDEsIDIsIDMuMTQsICd4eXp6eScsICgxLCAyKSwgWzMuMTQsICdhYmMnXSwKLSAgICAgICAgIHsnYWJjJzogJ0FCQyd9LCAoKSwgW10sIHt9XQotICAgIGwxID0gY29weShsKQotICAgIHByaW50KGwxPT1sKQotICAgIGwxID0gbWFwKGNvcHksIGwpCi0gICAgcHJpbnQobDE9PWwpCi0gICAgbDEgPSBkZWVwY29weShsKQotICAgIHByaW50KGwxPT1sKQotICAgIGNsYXNzIEM6Ci0gICAgICAgIGRlZiBfX2luaXRfXyhzZWxmLCBhcmc9Tm9uZSk6Ci0gICAgICAgICAgICBzZWxmLmEgPSAxCi0gICAgICAgICAgICBzZWxmLmFyZyA9IGFyZwotICAgICAgICAgICAgaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKLSAgICAgICAgICAgICAgICBpbXBvcnQgc3lzCi0gICAgICAgICAgICAgICAgZmlsZSA9IHN5cy5hcmd2WzBdCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIGZpbGUgPSBfX2ZpbGVfXwotICAgICAgICAgICAgc2VsZi5mcCA9IG9wZW4oZmlsZSkKLSAgICAgICAgICAgIHNlbGYuZnAuY2xvc2UoKQotICAgICAgICBkZWYgX19nZXRzdGF0ZV9fKHNlbGYpOgotICAgICAgICAgICAgcmV0dXJuIHsnYSc6IHNlbGYuYSwgJ2FyZyc6IHNlbGYuYXJnfQotICAgICAgICBkZWYgX19zZXRzdGF0ZV9fKHNlbGYsIHN0YXRlKToKLSAgICAgICAgICAgIGZvciBrZXksIHZhbHVlIGluIHN0YXRlLml0ZW1zKCk6Ci0gICAgICAgICAgICAgICAgc2V0YXR0cihzZWxmLCBrZXksIHZhbHVlKQotICAgICAgICBkZWYgX19kZWVwY29weV9fKHNlbGYsIG1lbW89Tm9uZSk6Ci0gICAgICAgICAgICBuZXcgPSBzZWxmLl9fY2xhc3NfXyhkZWVwY29weShzZWxmLmFyZywgbWVtbykpCi0gICAgICAgICAgICBuZXcuYSA9IHNlbGYuYQotICAgICAgICAgICAgcmV0dXJuIG5ldwotICAgIGMgPSBDKCdhcmd1bWVudCBza2V0Y2gnKQotICAgIGwuYXBwZW5kKGMpCi0gICAgbDIgPSBjb3B5KGwpCi0gICAgcHJpbnQobCA9PSBsMikKLSAgICBwcmludChsKQotICAgIHByaW50KGwyKQotICAgIGwyID0gZGVlcGNvcHkobCkKLSAgICBwcmludChsID09IGwyKQotICAgIHByaW50KGwpCi0gICAgcHJpbnQobDIpCi0gICAgbC5hcHBlbmQoe2xbMV06IGwsICd4eXonOiBsWzJdfSkKLSAgICBsMyA9IGNvcHkobCkKLSAgICBpbXBvcnQgcmVwcmxpYgotICAgIHByaW50KG1hcChyZXBybGliLnJlcHIsIGwpKQotICAgIHByaW50KG1hcChyZXBybGliLnJlcHIsIGwxKSkKLSAgICBwcmludChtYXAocmVwcmxpYi5yZXByLCBsMikpCi0gICAgcHJpbnQobWFwKHJlcHJsaWIucmVwciwgbDMpKQotICAgIGwzID0gZGVlcGNvcHkobCkKLSAgICBwcmludChtYXAocmVwcmxpYi5yZXByLCBsKSkKLSAgICBwcmludChtYXAocmVwcmxpYi5yZXByLCBsMSkpCi0gICAgcHJpbnQobWFwKHJlcHJsaWIucmVwciwgbDIpKQotICAgIHByaW50KG1hcChyZXBybGliLnJlcHIsIGwzKSkKLSAgICBjbGFzcyBvZGljdChkaWN0KToKLSAgICAgICAgZGVmIF9faW5pdF9fKHNlbGYsIGQgPSB7fSk6Ci0gICAgICAgICAgICBzZWxmLmEgPSA5OQotICAgICAgICAgICAgZGljdC5fX2luaXRfXyhzZWxmLCBkKQotICAgICAgICBkZWYgX19zZXRpdGVtX18oc2VsZiwgaywgaSk6Ci0gICAgICAgICAgICBkaWN0Ll9fc2V0aXRlbV9fKHNlbGYsIGssIGkpCi0gICAgICAgICAgICBzZWxmLmEKLSAgICBvID0gb2RpY3QoeyJBIiA6ICJCIn0pCi0gICAgeCA9IGRlZXBjb3B5KG8pCi0gICAgcHJpbnQobywgeCkKLQotaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKLSAgICBfdGVzdCgpCmRpZmYgLS1naXQgYS9MaWIvY3J5cHQucHkgYi9MaWIvY3J5cHQucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY1YjBjYgotLS0gL2Rldi9udWxsCisrKyBiL0xpYi9jcnlwdC5weQpAQCAtMCwwICsxLDYyIEBACisiIiJXcmFwcGVyIHRvIHRoZSBQT1NJWCBjcnlwdCBsaWJyYXJ5IGNhbGwgYW5kIGFzc29jaWF0ZWQgZnVuY3Rpb25hbGl0eS4iIiIKKworaW1wb3J0IF9jcnlwdAoraW1wb3J0IHN0cmluZworZnJvbSByYW5kb20gaW1wb3J0IGNob2ljZQorZnJvbSBjb2xsZWN0aW9ucyBpbXBvcnQgbmFtZWR0dXBsZQorCisKK19zYWx0Y2hhcnMgPSBzdHJpbmcuYXNjaWlfbGV0dGVycyArIHN0cmluZy5kaWdpdHMgKyAnLi8nCisKKworY2xhc3MgX01ldGhvZChuYW1lZHR1cGxlKCdfTWV0aG9kJywgJ25hbWUgaWRlbnQgc2FsdF9jaGFycyB0b3RhbF9zaXplJykpOgorCisgICAgIiIiQ2xhc3MgcmVwcmVzZW50aW5nIGEgc2FsdCBtZXRob2QgcGVyIHRoZSBNb2R1bGFyIENyeXB0IEZvcm1hdCBvciB0aGUKKyAgICBsZWdhY3kgMi1jaGFyYWN0ZXIgY3J5cHQgbWV0aG9kLiIiIgorCisgICAgZGVmIF9fcmVwcl9fKHNlbGYpOgorICAgICAgICByZXR1cm4gJzxjcnlwdC5NRVRIT0Rfe30+Jy5mb3JtYXQoc2VsZi5uYW1lKQorCisKKworZGVmIG1rc2FsdChtZXRob2Q9Tm9uZSk6CisgICAgIiIiR2VuZXJhdGUgYSBzYWx0IGZvciB0aGUgc3BlY2lmaWVkIG1ldGhvZC4KKworICAgIElmIG5vdCBzcGVjaWZpZWQsIHRoZSBzdHJvbmdlc3QgYXZhaWxhYmxlIG1ldGhvZCB3aWxsIGJlIHVzZWQuCisKKyAgICAiIiIKKyAgICBpZiBtZXRob2QgaXMgTm9uZToKKyAgICAgICAgbWV0aG9kID0gbWV0aG9kc1swXQorICAgIHMgPSAnJHt9JCcuZm9ybWF0KG1ldGhvZC5pZGVudCkgaWYgbWV0aG9kLmlkZW50IGVsc2UgJycKKyAgICBzICs9ICcnLmpvaW4oY2hvaWNlKF9zYWx0Y2hhcnMpIGZvciBfIGluIHJhbmdlKG1ldGhvZC5zYWx0X2NoYXJzKSkKKyAgICByZXR1cm4gcworCisKK2RlZiBjcnlwdCh3b3JkLCBzYWx0PU5vbmUpOgorICAgICIiIlJldHVybiBhIHN0cmluZyByZXByZXNlbnRpbmcgdGhlIG9uZS13YXkgaGFzaCBvZiBhIHBhc3N3b3JkLCB3aXRoIGEgc2FsdAorICAgIHByZXBlbmRlZC4KKworICAgIElmIGBgc2FsdGBgIGlzIG5vdCBzcGVjaWZpZWQgb3IgaXMgYGBOb25lYGAsIHRoZSBzdHJvbmdlc3QKKyAgICBhdmFpbGFibGUgbWV0aG9kIHdpbGwgYmUgc2VsZWN0ZWQgYW5kIGEgc2FsdCBnZW5lcmF0ZWQuICBPdGhlcndpc2UsCisgICAgYGBzYWx0YGAgbWF5IGJlIG9uZSBvZiB0aGUgYGBjcnlwdC5NRVRIT0RfKmBgIHZhbHVlcywgb3IgYSBzdHJpbmcgYXMKKyAgICByZXR1cm5lZCBieSBgYGNyeXB0Lm1rc2FsdCgpYGAuCisKKyAgICAiIiIKKyAgICBpZiBzYWx0IGlzIE5vbmUgb3IgaXNpbnN0YW5jZShzYWx0LCBfTWV0aG9kKToKKyAgICAgICAgc2FsdCA9IG1rc2FsdChzYWx0KQorICAgIHJldHVybiBfY3J5cHQuY3J5cHQod29yZCwgc2FsdCkKKworCisjICBhdmFpbGFibGUgc2FsdGluZy9jcnlwdG8gbWV0aG9kcworTUVUSE9EX0NSWVBUID0gX01ldGhvZCgnQ1JZUFQnLCBOb25lLCAyLCAxMykKK01FVEhPRF9NRDUgPSBfTWV0aG9kKCdNRDUnLCAnMScsIDgsIDM0KQorTUVUSE9EX1NIQTI1NiA9IF9NZXRob2QoJ1NIQTI1NicsICc1JywgMTYsIDYzKQorTUVUSE9EX1NIQTUxMiA9IF9NZXRob2QoJ1NIQTUxMicsICc2JywgMTYsIDEwNikKKworbWV0aG9kcyA9IFtdCitmb3IgX21ldGhvZCBpbiAoTUVUSE9EX1NIQTUxMiwgTUVUSE9EX1NIQTI1NiwgTUVUSE9EX01ENSk6CisgICAgX3Jlc3VsdCA9IGNyeXB0KCcnLCBfbWV0aG9kKQorICAgIGlmIF9yZXN1bHQgYW5kIGxlbihfcmVzdWx0KSA9PSBfbWV0aG9kLnRvdGFsX3NpemU6CisgICAgICAgIG1ldGhvZHMuYXBwZW5kKF9tZXRob2QpCittZXRob2RzLmFwcGVuZChNRVRIT0RfQ1JZUFQpCitkZWwgX3Jlc3VsdCwgX21ldGhvZApkaWZmIC0tZ2l0IGEvTGliL2N0eXBlcy90ZXN0L3Rlc3RfY2FsbGJhY2tzLnB5IGIvTGliL2N0eXBlcy90ZXN0L3Rlc3RfY2FsbGJhY2tzLnB5CmluZGV4IGM3MjA3ZWEuLjU2MDBiNDMgMTAwNjQ0Ci0tLSBhL0xpYi9jdHlwZXMvdGVzdC90ZXN0X2NhbGxiYWNrcy5weQorKysgYi9MaWIvY3R5cGVzL3Rlc3QvdGVzdF9jYWxsYmFja3MucHkKQEAgLTE0MCw3ICsxNDAsNyBAQAogICAgICAgICAgICAgZGVmIF9fZGVsX18oc2VsZik6CiAgICAgICAgICAgICAgICAgZ2MuY29sbGVjdCgpCiAgICAgICAgIENGVU5DVFlQRShOb25lKShsYW1iZGEgeD1OYXN0eSgpOiBOb25lKQotICAgICAgICAKKwogCiB0cnk6CiAgICAgV0lORlVOQ1RZUEUKZGlmZiAtLWdpdCBhL0xpYi9jdHlwZXMvdGVzdC90ZXN0X21lbWZ1bmN0aW9ucy5weSBiL0xpYi9jdHlwZXMvdGVzdC90ZXN0X21lbWZ1bmN0aW9ucy5weQppbmRleCBhYTIxMTNiLi5hZWM0YWFhIDEwMDY0NAotLS0gYS9MaWIvY3R5cGVzL3Rlc3QvdGVzdF9tZW1mdW5jdGlvbnMucHkKKysrIGIvTGliL2N0eXBlcy90ZXN0L3Rlc3RfbWVtZnVuY3Rpb25zLnB5CkBAIC0xLDQgKzEsNSBAQAogaW1wb3J0IHN5cworZnJvbSB0ZXN0IGltcG9ydCBzdXBwb3J0CiBpbXBvcnQgdW5pdHRlc3QKIGZyb20gY3R5cGVzIGltcG9ydCAqCiAKQEAgLTQ5LDYgKzUwLDcgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjYXN0KGEsIFBPSU5URVIoY19ieXRlKSlbOjc6N10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFs5N10pCiAKKyAgICBAc3VwcG9ydC5yZWZjb3VudF90ZXN0CiAgICAgZGVmIHRlc3Rfc3RyaW5nX2F0KHNlbGYpOgogICAgICAgICBzID0gc3RyaW5nX2F0KGIiZm9vIGJhciIpCiAgICAgICAgICMgWFhYIFRoZSBmb2xsb3dpbmcgbWF5IGJlIHdyb25nLCBkZXBlbmRpbmcgb24gaG93IFB5dGhvbgpkaWZmIC0tZ2l0IGEvTGliL2N0eXBlcy90ZXN0L3Rlc3RfcGFyYW1ldGVycy5weSBiL0xpYi9jdHlwZXMvdGVzdC90ZXN0X3BhcmFtZXRlcnMucHkKaW5kZXggZTgzZmQ5YS4uOTc2MmZiOSAxMDA2NDQKLS0tIGEvTGliL2N0eXBlcy90ZXN0L3Rlc3RfcGFyYW1ldGVycy5weQorKysgYi9MaWIvY3R5cGVzL3Rlc3QvdGVzdF9wYXJhbWV0ZXJzLnB5CkBAIC03MywxMyArNzMsMTAgQEAKICAgICAgICAgZXhjZXB0IEltcG9ydEVycm9yOgogIyMgICAgICAgICAgICBwcmludCAiKE5vIGNfd2NoYXJfcCkiCiAgICAgICAgICAgICByZXR1cm4KLSAgICAgICAgcyA9ICIxMjMiCi0gICAgICAgIGlmIHN5cy5wbGF0Zm9ybSA9PSAid2luMzIiOgotICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGNfd2NoYXJfcC5mcm9tX3BhcmFtKHMpLl9vYmogaXMgcykKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgY193Y2hhcl9wLmZyb21fcGFyYW0sIDQyKQogCi0gICAgICAgICAgICAjIG5ldyBpbiAwLjkuMTogY29udmVydCAoZGVjb2RlKSBhc2NpaSB0byB1bmljb2RlCi0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNfd2NoYXJfcC5mcm9tX3BhcmFtKCIxMjMiKS5fb2JqLCAiMTIzIikKKyAgICAgICAgY193Y2hhcl9wLmZyb21fcGFyYW0oIjEyMyIpCisKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBjX3djaGFyX3AuZnJvbV9wYXJhbSwgNDIpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgY193Y2hhcl9wLmZyb21fcGFyYW0sIGIiMTIzXDM3NyIpCiAKICAgICAgICAgcGEgPSBjX3djaGFyX3AuZnJvbV9wYXJhbShjX3djaGFyX3AoIjEyMyIpKQpkaWZmIC0tZ2l0IGEvTGliL2N0eXBlcy90ZXN0L3Rlc3RfcGVwMzExOC5weSBiL0xpYi9jdHlwZXMvdGVzdC90ZXN0X3BlcDMxMTgucHkKaW5kZXggZmE2NDYxZi4uYWQxM2IwMSAxMDA2NDQKLS0tIGEvTGliL2N0eXBlcy90ZXN0L3Rlc3RfcGVwMzExOC5weQorKysgYi9MaWIvY3R5cGVzL3Rlc3QvdGVzdF9wZXAzMTE4LnB5CkBAIC0yNSwxNCArMjUsMTcgQEAKICAgICAgICAgICAgIHYgPSBtZW1vcnl2aWV3KG9iKQogICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobm9ybWFsaXplKHYuZm9ybWF0KSwgbm9ybWFsaXplKGZtdCkpCi0gICAgICAgICAgICAgICAgaWYgc2hhcGUgaXMgbm90IE5vbmU6CisgICAgICAgICAgICAgICAgaWYgc2hhcGU6CiAgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKHYpLCBzaGFwZVswXSkKICAgICAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbih2KSAqIHNpemVvZihpdGVtdHApLCBzaXplb2Yob2IpKQogICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodi5pdGVtc2l6ZSwgc2l6ZW9mKGl0ZW10cCkpCiAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh2LnNoYXBlLCBzaGFwZSkKLSAgICAgICAgICAgICAgICAjIGN0eXBlcyBvYmplY3QgYWx3YXlzIGhhdmUgYSBub24tc3RyaWRlZCBtZW1vcnkgYmxvY2sKLSAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHYuc3RyaWRlcywgTm9uZSkKKyAgICAgICAgICAgICAgICAjIFhYWCBJc3N1ZSAjMTI4NTE6IFB5Q0RhdGFfTmV3R2V0QnVmZmVyKCkgbXVzdCBwcm92aWRlIHN0cmlkZXMKKyAgICAgICAgICAgICAgICAjICAgICBpZiByZXF1ZXN0ZWQuIG1lbW9yeXZpZXcgY3VycmVudGx5IHJlY29uc3RydWN0cyBtaXNzaW5nCisgICAgICAgICAgICAgICAgIyAgICAgc3RyaWRlIGluZm9ybWF0aW9uLCBzbyB0aGlzIGFzc2VydCB3aWxsIGZhaWwuCisgICAgICAgICAgICAgICAgIyBzZWxmLmFzc2VydEVxdWFsKHYuc3RyaWRlcywgKCkpCisKICAgICAgICAgICAgICAgICAjIHRoZXkgYXJlIGFsd2F5cyByZWFkL3dyaXRlCiAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZSh2LnJlYWRvbmx5KQogCkBAIC01MiwxNCArNTUsMTUgQEAKICAgICAgICAgICAgIHYgPSBtZW1vcnl2aWV3KG9iKQogICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodi5mb3JtYXQsIGZtdCkKLSAgICAgICAgICAgICAgICBpZiBzaGFwZSBpcyBub3QgTm9uZToKKyAgICAgICAgICAgICAgICBpZiBzaGFwZToKICAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4odiksIHNoYXBlWzBdKQogICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKHYpICogc2l6ZW9mKGl0ZW10cCksIHNpemVvZihvYikpCiAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh2Lml0ZW1zaXplLCBzaXplb2YoaXRlbXRwKSkKICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHYuc2hhcGUsIHNoYXBlKQotICAgICAgICAgICAgICAgICMgY3R5cGVzIG9iamVjdCBhbHdheXMgaGF2ZSBhIG5vbi1zdHJpZGVkIG1lbW9yeSBibG9jawotICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodi5zdHJpZGVzLCBOb25lKQorICAgICAgICAgICAgICAgICMgWFhYIElzc3VlICMxMjg1MQorICAgICAgICAgICAgICAgICMgc2VsZi5hc3NlcnRFcXVhbCh2LnN0cmlkZXMsICgpKQorCiAgICAgICAgICAgICAgICAgIyB0aGV5IGFyZSBhbHdheXMgcmVhZC93cml0ZQogICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2Uodi5yZWFkb25seSkKIApAQCAtMTEwLDM0ICsxMTQsMzQgQEAKIAogICAgICMjIHNpbXBsZSB0eXBlcwogCi0gICAgKGNfY2hhciwgICAgICAgICAgICAgICAgICAgICI8YyIsICAgICAgICAgICAgICAgICAgIE5vbmUsICAgICAgICAgICBjX2NoYXIpLAotICAgIChjX2J5dGUsICAgICAgICAgICAgICAgICAgICAiPGIiLCAgICAgICAgICAgICAgICAgICBOb25lLCAgICAgICAgICAgY19ieXRlKSwKLSAgICAoY191Ynl0ZSwgICAgICAgICAgICAgICAgICAgIjxCIiwgICAgICAgICAgICAgICAgICAgTm9uZSwgICAgICAgICAgIGNfdWJ5dGUpLAotICAgIChjX3Nob3J0LCAgICAgICAgICAgICAgICAgICAiPGgiLCAgICAgICAgICAgICAgICAgICBOb25lLCAgICAgICAgICAgY19zaG9ydCksCi0gICAgKGNfdXNob3J0LCAgICAgICAgICAgICAgICAgICI8SCIsICAgICAgICAgICAgICAgICAgIE5vbmUsICAgICAgICAgICBjX3VzaG9ydCksCisgICAgKGNfY2hhciwgICAgICAgICAgICAgICAgICAgICI8YyIsICAgICAgICAgICAgICAgICAgICgpLCAgICAgICAgICAgY19jaGFyKSwKKyAgICAoY19ieXRlLCAgICAgICAgICAgICAgICAgICAgIjxiIiwgICAgICAgICAgICAgICAgICAgKCksICAgICAgICAgICBjX2J5dGUpLAorICAgIChjX3VieXRlLCAgICAgICAgICAgICAgICAgICAiPEIiLCAgICAgICAgICAgICAgICAgICAoKSwgICAgICAgICAgIGNfdWJ5dGUpLAorICAgIChjX3Nob3J0LCAgICAgICAgICAgICAgICAgICAiPGgiLCAgICAgICAgICAgICAgICAgICAoKSwgICAgICAgICAgIGNfc2hvcnQpLAorICAgIChjX3VzaG9ydCwgICAgICAgICAgICAgICAgICAiPEgiLCAgICAgICAgICAgICAgICAgICAoKSwgICAgICAgICAgIGNfdXNob3J0KSwKIAogICAgICMgY19pbnQgYW5kIGNfdWludCBtYXkgYmUgYWxpYXNlcyB0byBjX2xvbmcKLSAgICAjKGNfaW50LCAgICAgICAgICAgICAgICAgICAgICI8aSIsICAgICAgICAgICAgICAgICAgIE5vbmUsICAgICAgICAgICBjX2ludCksCi0gICAgIyhjX3VpbnQsICAgICAgICAgICAgICAgICAgICAiPEkiLCAgICAgICAgICAgICAgICAgICBOb25lLCAgICAgICAgICAgY191aW50KSwKKyAgICAjKGNfaW50LCAgICAgICAgICAgICAgICAgICAgICI8aSIsICAgICAgICAgICAgICAgICAgICgpLCAgICAgICAgICAgY19pbnQpLAorICAgICMoY191aW50LCAgICAgICAgICAgICAgICAgICAgIjxJIiwgICAgICAgICAgICAgICAgICAgKCksICAgICAgICAgICBjX3VpbnQpLAogCi0gICAgKGNfbG9uZywgICAgICAgICAgICAgICAgICAgICI8bCIsICAgICAgICAgICAgICAgICAgIE5vbmUsICAgICAgICAgICBjX2xvbmcpLAotICAgIChjX3Vsb25nLCAgICAgICAgICAgICAgICAgICAiPEwiLCAgICAgICAgICAgICAgICAgICBOb25lLCAgICAgICAgICAgY191bG9uZyksCisgICAgKGNfbG9uZywgICAgICAgICAgICAgICAgICAgICI8bCIsICAgICAgICAgICAgICAgICAgICgpLCAgICAgICAgICAgY19sb25nKSwKKyAgICAoY191bG9uZywgICAgICAgICAgICAgICAgICAgIjxMIiwgICAgICAgICAgICAgICAgICAgKCksICAgICAgICAgICBjX3Vsb25nKSwKIAogICAgICMgY19sb25nbG9uZyBhbmQgY191bG9uZ2xvbmcgYXJlIGFsaWFzZXMgb24gNjQtYml0IHBsYXRmb3JtcwogICAgICMoY19sb25nbG9uZywgICAgICAgICAgICAgICAgIjxxIiwgICAgICAgICAgICAgICAgICAgTm9uZSwgICAgICAgICAgIGNfbG9uZ2xvbmcpLAogICAgICMoY191bG9uZ2xvbmcsICAgICAgICAgICAgICAgIjxRIiwgICAgICAgICAgICAgICAgICAgTm9uZSwgICAgICAgICAgIGNfdWxvbmdsb25nKSwKIAotICAgIChjX2Zsb2F0LCAgICAgICAgICAgICAgICAgICAiPGYiLCAgICAgICAgICAgICAgICAgICBOb25lLCAgICAgICAgICAgY19mbG9hdCksCi0gICAgKGNfZG91YmxlLCAgICAgICAgICAgICAgICAgICI8ZCIsICAgICAgICAgICAgICAgICAgIE5vbmUsICAgICAgICAgICBjX2RvdWJsZSksCisgICAgKGNfZmxvYXQsICAgICAgICAgICAgICAgICAgICI8ZiIsICAgICAgICAgICAgICAgICAgICgpLCAgICAgICAgICAgY19mbG9hdCksCisgICAgKGNfZG91YmxlLCAgICAgICAgICAgICAgICAgICI8ZCIsICAgICAgICAgICAgICAgICAgICgpLCAgICAgICAgICAgY19kb3VibGUpLAogICAgICMgY19sb25nZG91YmxlIG1heSBiZSBhbiBhbGlhcyB0byBjX2RvdWJsZQogCi0gICAgKGNfYm9vbCwgICAgICAgICAgICAgICAgICAgICI8PyIsICAgICAgICAgICAgICAgICAgIE5vbmUsICAgICAgICAgICBjX2Jvb2wpLAotICAgIChweV9vYmplY3QsICAgICAgICAgICAgICAgICAiPE8iLCAgICAgICAgICAgICAgICAgICBOb25lLCAgICAgICAgICAgcHlfb2JqZWN0KSwKKyAgICAoY19ib29sLCAgICAgICAgICAgICAgICAgICAgIjw/IiwgICAgICAgICAgICAgICAgICAgKCksICAgICAgICAgICBjX2Jvb2wpLAorICAgIChweV9vYmplY3QsICAgICAgICAgICAgICAgICAiPE8iLCAgICAgICAgICAgICAgICAgICAoKSwgICAgICAgICAgIHB5X29iamVjdCksCiAKICAgICAjIyBwb2ludGVycwogCi0gICAgKFBPSU5URVIoY19ieXRlKSwgICAgICAgICAgICImPGIiLCAgICAgICAgICAgICAgICAgIE5vbmUsICAgICAgICAgICBQT0lOVEVSKGNfYnl0ZSkpLAotICAgIChQT0lOVEVSKFBPSU5URVIoY19sb25nKSksICAiJiY8bCIsICAgICAgICAgICAgICAgICBOb25lLCAgICAgICAgICAgUE9JTlRFUihQT0lOVEVSKGNfbG9uZykpKSwKKyAgICAoUE9JTlRFUihjX2J5dGUpLCAgICAgICAgICAgIiY8YiIsICAgICAgICAgICAgICAgICAgKCksICAgICAgICAgICBQT0lOVEVSKGNfYnl0ZSkpLAorICAgIChQT0lOVEVSKFBPSU5URVIoY19sb25nKSksICAiJiY8bCIsICAgICAgICAgICAgICAgICAoKSwgICAgICAgICAgIFBPSU5URVIoUE9JTlRFUihjX2xvbmcpKSksCiAKICAgICAjIyBhcnJheXMgYW5kIHBvaW50ZXJzCiAKQEAgLTE0NSwzMiArMTQ5LDMyIEBACiAgICAgKGNfZmxvYXQgKiA0ICogMyAqIDIsICAgICAgICIoMiwzLDQpPGYiLCAgICAgICAgICAgICgyLDMsNCksICAgICAgICBjX2Zsb2F0KSwKICAgICAoUE9JTlRFUihjX3Nob3J0KSAqIDIsICAgICAgIigyKSY8aCIsICAgICAgICAgICAgICAgKDIsKSwgICAgICAgICAgIFBPSU5URVIoY19zaG9ydCkpLAogICAgIChQT0lOVEVSKGNfc2hvcnQpICogMiAqIDMsICAiKDMsMikmPGgiLCAgICAgICAgICAgICAoMywyLCksICAgICAgICAgUE9JTlRFUihjX3Nob3J0KSksCi0gICAgKFBPSU5URVIoY19zaG9ydCAqIDIpLCAgICAgICImKDIpPGgiLCAgICAgICAgICAgICAgIE5vbmUsICAgICAgICAgICBQT0lOVEVSKGNfc2hvcnQpKSwKKyAgICAoUE9JTlRFUihjX3Nob3J0ICogMiksICAgICAgIiYoMik8aCIsICAgICAgICAgICAgICAgKCksICAgICAgICAgICBQT0lOVEVSKGNfc2hvcnQpKSwKIAogICAgICMjIHN0cnVjdHVyZXMgYW5kIHVuaW9ucwogCi0gICAgKFBvaW50LCAgICAgICAgICAgICAgICAgICAgICJUezxsOng6PGw6eTp9IiwgICAgICAgIE5vbmUsICAgICAgICAgICBQb2ludCksCisgICAgKFBvaW50LCAgICAgICAgICAgICAgICAgICAgICJUezxsOng6PGw6eTp9IiwgICAgICAgICgpLCAgICAgICAgICAgUG9pbnQpLAogICAgICMgcGFja2VkIHN0cnVjdHVyZXMgZG8gbm90IGltcGxlbWVudCB0aGUgcGVwCi0gICAgKFBhY2tlZFBvaW50LCAgICAgICAgICAgICAgICJCIiwgICAgICAgICAgICAgICAgICAgIE5vbmUsICAgICAgICAgICBQYWNrZWRQb2ludCksCi0gICAgKFBvaW50MiwgICAgICAgICAgICAgICAgICAgICJUezxsOng6PGw6eTp9IiwgICAgICAgIE5vbmUsICAgICAgICAgICBQb2ludDIpLAotICAgIChFbXB0eVN0cnVjdCwgICAgICAgICAgICAgICAiVHt9IiwgICAgICAgICAgICAgICAgICBOb25lLCAgICAgICAgICAgRW1wdHlTdHJ1Y3QpLAorICAgIChQYWNrZWRQb2ludCwgICAgICAgICAgICAgICAiQiIsICAgICAgICAgICAgICAgICAgICAoKSwgICAgICAgICAgIFBhY2tlZFBvaW50KSwKKyAgICAoUG9pbnQyLCAgICAgICAgICAgICAgICAgICAgIlR7PGw6eDo8bDp5On0iLCAgICAgICAgKCksICAgICAgICAgICBQb2ludDIpLAorICAgIChFbXB0eVN0cnVjdCwgICAgICAgICAgICAgICAiVHt9IiwgICAgICAgICAgICAgICAgICAoKSwgICAgICAgICAgIEVtcHR5U3RydWN0KSwKICAgICAjIHRoZSBwZXAgZG9lcyd0IHN1cHBvcnQgdW5pb25zCi0gICAgKGFVbmlvbiwgICAgICAgICAgICAgICAgICAgICJCIiwgICAgICAgICAgICAgICAgICAgIE5vbmUsICAgICAgICAgICBhVW5pb24pLAorICAgIChhVW5pb24sICAgICAgICAgICAgICAgICAgICAiQiIsICAgICAgICAgICAgICAgICAgICAoKSwgICAgICAgICAgIGFVbmlvbiksCiAKICAgICAjIyBwb2ludGVyIHRvIGluY29tcGxldGUgc3RydWN0dXJlCi0gICAgKEluY29tcGxldGUsICAgICAgICAgICAgICAgICJCIiwgICAgICAgICAgICAgICAgICAgIE5vbmUsICAgICAgICAgICBJbmNvbXBsZXRlKSwKLSAgICAoUE9JTlRFUihJbmNvbXBsZXRlKSwgICAgICAgIiZCIiwgICAgICAgICAgICAgICAgICAgTm9uZSwgICAgICAgICAgIFBPSU5URVIoSW5jb21wbGV0ZSkpLAorICAgIChJbmNvbXBsZXRlLCAgICAgICAgICAgICAgICAiQiIsICAgICAgICAgICAgICAgICAgICAoKSwgICAgICAgICAgIEluY29tcGxldGUpLAorICAgIChQT0lOVEVSKEluY29tcGxldGUpLCAgICAgICAiJkIiLCAgICAgICAgICAgICAgICAgICAoKSwgICAgICAgICAgIFBPSU5URVIoSW5jb21wbGV0ZSkpLAogCiAgICAgIyAnQ29tcGxldGUnIGlzIGEgc3RydWN0dXJlIHRoYXQgc3RhcnRzIGluY29tcGxldGUsIGJ1dCBpcyBjb21wbGV0ZWQgYWZ0ZXIgdGhlCiAgICAgIyBwb2ludGVyIHR5cGUgdG8gaXQgaGFzIGJlZW4gY3JlYXRlZC4KLSAgICAoQ29tcGxldGUsICAgICAgICAgICAgICAgICAgIlR7PGw6YTp9IiwgICAgICAgICAgICAgTm9uZSwgICAgICAgICAgIENvbXBsZXRlKSwKKyAgICAoQ29tcGxldGUsICAgICAgICAgICAgICAgICAgIlR7PGw6YTp9IiwgICAgICAgICAgICAgKCksICAgICAgICAgICBDb21wbGV0ZSksCiAgICAgIyBVbmZvcnR1bmF0ZWx5IHRoZSBwb2ludGVyIGZvcm1hdCBzdHJpbmcgaXMgbm90IGZpeGVkLi4uCi0gICAgKFBPSU5URVIoQ29tcGxldGUpLCAgICAgICAgICImQiIsICAgICAgICAgICAgICAgICAgIE5vbmUsICAgICAgICAgICBQT0lOVEVSKENvbXBsZXRlKSksCisgICAgKFBPSU5URVIoQ29tcGxldGUpLCAgICAgICAgICImQiIsICAgICAgICAgICAgICAgICAgICgpLCAgICAgICAgICAgUE9JTlRFUihDb21wbGV0ZSkpLAogCiAgICAgIyMgb3RoZXIKIAogICAgICMgZnVuY3Rpb24gc2lnbmF0dXJlcyBhcmUgbm90IGltcGxlbWVudGVkCi0gICAgKENGVU5DVFlQRShOb25lKSwgICAgICAgICAgICJYe30iLCAgICAgICAgICAgICAgICAgIE5vbmUsICAgICAgICAgICBDRlVOQ1RZUEUoTm9uZSkpLAorICAgIChDRlVOQ1RZUEUoTm9uZSksICAgICAgICAgICAiWHt9IiwgICAgICAgICAgICAgICAgICAoKSwgICAgICAgICAgIENGVU5DVFlQRShOb25lKSksCiAKICAgICBdCiAKQEAgLTE4NiwxMCArMTkwLDEwIEBACiAjIGFuZCBsaXR0bGUgZW5kaWFuIG1hY2hpbmVzLgogIwogZW5kaWFuX3R5cGVzID0gWwotICAgIChCRVBvaW50LCAgICAgICAgICAgICAgICAgICAiVHs+bDp4Oj5sOnk6fSIsICAgICAgICBOb25lLCAgICAgICAgICAgQkVQb2ludCksCi0gICAgKExFUG9pbnQsICAgICAgICAgICAgICAgICAgICJUezxsOng6PGw6eTp9IiwgICAgICAgIE5vbmUsICAgICAgICAgICBMRVBvaW50KSwKLSAgICAoUE9JTlRFUihCRVBvaW50KSwgICAgICAgICAgIiZUez5sOng6Pmw6eTp9IiwgICAgICAgTm9uZSwgICAgICAgICAgIFBPSU5URVIoQkVQb2ludCkpLAotICAgIChQT0lOVEVSKExFUG9pbnQpLCAgICAgICAgICAiJlR7PGw6eDo8bDp5On0iLCAgICAgICBOb25lLCAgICAgICAgICAgUE9JTlRFUihMRVBvaW50KSksCisgICAgKEJFUG9pbnQsICAgICAgICAgICAgICAgICAgICJUez5sOng6Pmw6eTp9IiwgICAgICAgICgpLCAgICAgICAgICAgQkVQb2ludCksCisgICAgKExFUG9pbnQsICAgICAgICAgICAgICAgICAgICJUezxsOng6PGw6eTp9IiwgICAgICAgICgpLCAgICAgICAgICAgTEVQb2ludCksCisgICAgKFBPSU5URVIoQkVQb2ludCksICAgICAgICAgICImVHs+bDp4Oj5sOnk6fSIsICAgICAgICgpLCAgICAgICAgICAgUE9JTlRFUihCRVBvaW50KSksCisgICAgKFBPSU5URVIoTEVQb2ludCksICAgICAgICAgICImVHs8bDp4OjxsOnk6fSIsICAgICAgICgpLCAgICAgICAgICAgUE9JTlRFUihMRVBvaW50KSksCiAgICAgXQogCiBpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgpkaWZmIC0tZ2l0IGEvTGliL2N0eXBlcy90ZXN0L3Rlc3RfcHl0aG9uX2FwaS5weSBiL0xpYi9jdHlwZXMvdGVzdC90ZXN0X3B5dGhvbl9hcGkucHkKaW5kZXggMWY0YzYwMy4uOWRlMzk4MCAxMDA2NDQKLS0tIGEvTGliL2N0eXBlcy90ZXN0L3Rlc3RfcHl0aG9uX2FwaS5weQorKysgYi9MaWIvY3R5cGVzL3Rlc3QvdGVzdF9weXRob25fYXBpLnB5CkBAIC0xLDUgKzEsNiBAQAogZnJvbSBjdHlwZXMgaW1wb3J0ICoKIGltcG9ydCB1bml0dGVzdCwgc3lzCitmcm9tIHRlc3QgaW1wb3J0IHN1cHBvcnQKIGZyb20gY3R5cGVzLnRlc3QgaW1wb3J0IGlzX3Jlc291cmNlX2VuYWJsZWQKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpAQCAtMjUsNiArMjYsNyBAQAogCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZShiImFiY2RlZmdoaSIsIDMpLCBiImFiYyIpCiAKKyAgICBAc3VwcG9ydC5yZWZjb3VudF90ZXN0CiAgICAgZGVmIHRlc3RfUHlTdHJpbmdfRnJvbVN0cmluZyhzZWxmKToKICAgICAgICAgcHl0aG9uYXBpLlB5Qnl0ZXNfRnJvbVN0cmluZy5yZXN0eXBlID0gcHlfb2JqZWN0CiAgICAgICAgIHB5dGhvbmFwaS5QeUJ5dGVzX0Zyb21TdHJpbmcuYXJndHlwZXMgPSAoY19jaGFyX3AsKQpAQCAtNTYsNiArNTgsNyBAQAogICAgICAgICAgICAgZGVsIHJlcwogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChncmMoNDIpLCByZWY0MikKIAorICAgIEBzdXBwb3J0LnJlZmNvdW50X3Rlc3QKICAgICBkZWYgdGVzdF9QeU9ial9Gcm9tUHRyKHNlbGYpOgogICAgICAgICBzID0gImFiYyBkZWYgZ2hpIGprbCIKICAgICAgICAgcmVmID0gZ3JjKHMpCmRpZmYgLS1naXQgYS9MaWIvY3R5cGVzL3Rlc3QvdGVzdF9yZWZjb3VudHMucHkgYi9MaWIvY3R5cGVzL3Rlc3QvdGVzdF9yZWZjb3VudHMucHkKaW5kZXggMzVhODFhYS4uNTYxM2U3YSAxMDA2NDQKLS0tIGEvTGliL2N0eXBlcy90ZXN0L3Rlc3RfcmVmY291bnRzLnB5CisrKyBiL0xpYi9jdHlwZXMvdGVzdC90ZXN0X3JlZmNvdW50cy5weQpAQCAtMSw0ICsxLDUgQEAKIGltcG9ydCB1bml0dGVzdAorZnJvbSB0ZXN0IGltcG9ydCBzdXBwb3J0CiBpbXBvcnQgY3R5cGVzCiBpbXBvcnQgZ2MKIApAQCAtMTAsNiArMTEsNyBAQAogCiBjbGFzcyBSZWZjb3VudFRlc3RDYXNlKHVuaXR0ZXN0LlRlc3RDYXNlKToKIAorICAgIEBzdXBwb3J0LnJlZmNvdW50X3Rlc3QKICAgICBkZWYgdGVzdF8xKHNlbGYpOgogICAgICAgICBmcm9tIHN5cyBpbXBvcnQgZ2V0cmVmY291bnQgYXMgZ3JjCiAKQEAgLTM0LDYgKzM2LDcgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChncmMoY2FsbGJhY2spLCAyKQogCiAKKyAgICBAc3VwcG9ydC5yZWZjb3VudF90ZXN0CiAgICAgZGVmIHRlc3RfcmVmY291bnQoc2VsZik6CiAgICAgICAgIGZyb20gc3lzIGltcG9ydCBnZXRyZWZjb3VudCBhcyBncmMKICAgICAgICAgZGVmIGZ1bmMoKmFyZ3MpOgpkaWZmIC0tZ2l0IGEvTGliL2N0eXBlcy90ZXN0L3Rlc3Rfc3RyaW5ncHRyLnB5IGIvTGliL2N0eXBlcy90ZXN0L3Rlc3Rfc3RyaW5ncHRyLnB5CmluZGV4IDNkMjVmYTUuLjk1Y2QxNjEgMTAwNjQ0Ci0tLSBhL0xpYi9jdHlwZXMvdGVzdC90ZXN0X3N0cmluZ3B0ci5weQorKysgYi9MaWIvY3R5cGVzL3Rlc3QvdGVzdF9zdHJpbmdwdHIucHkKQEAgLTEsNCArMSw1IEBACiBpbXBvcnQgdW5pdHRlc3QKK2Zyb20gdGVzdCBpbXBvcnQgc3VwcG9ydAogZnJvbSBjdHlwZXMgaW1wb3J0ICoKIAogaW1wb3J0IF9jdHlwZXNfdGVzdApAQCAtNyw2ICs4LDcgQEAKIAogY2xhc3MgU3RyaW5nUHRyVGVzdENhc2UodW5pdHRlc3QuVGVzdENhc2UpOgogCisgICAgQHN1cHBvcnQucmVmY291bnRfdGVzdAogICAgIGRlZiB0ZXN0X19QT0lOVEVSX2NfY2hhcihzZWxmKToKICAgICAgICAgY2xhc3MgWChTdHJ1Y3R1cmUpOgogICAgICAgICAgICAgX2ZpZWxkc18gPSBbKCJzdHIiLCBQT0lOVEVSKGNfY2hhcikpXQpkaWZmIC0tZ2l0IGEvTGliL2N0eXBlcy91dGlsLnB5IGIvTGliL2N0eXBlcy91dGlsLnB5CmluZGV4IDFiYjdkMWQuLjk3ZDBjMmYgMTAwNjQ0Ci0tLSBhL0xpYi9jdHlwZXMvdXRpbC5weQorKysgYi9MaWIvY3R5cGVzL3V0aWwucHkKQEAgLTEsNSArMSw2IEBACiBpbXBvcnQgc3lzLCBvcwogaW1wb3J0IGNvbnRleHRsaWIKK2ltcG9ydCBzdWJwcm9jZXNzCiAKICMgZmluZF9saWJyYXJ5KG5hbWUpIHJldHVybnMgdGhlIHBhdGhuYW1lIG9mIGEgbGlicmFyeSwgb3IgTm9uZS4KIGlmIG9zLm5hbWUgPT0gIm50IjoKQEAgLTEzNiwxNiArMTM3LDEyIEBACiAgICAgICAgICAgICBydiA9IGYuY2xvc2UoKQogICAgICAgICAgICAgaWYgcnYgPT0gMTA6CiAgICAgICAgICAgICAgICAgcmFpc2UgT1NFcnJvcignb2JqZHVtcCBjb21tYW5kIG5vdCBmb3VuZCcpCi0gICAgICAgICAgICB3aXRoIGNvbnRleHRsaWIuY2xvc2luZyhvcy5wb3BlbihjbWQpKSBhcyBmOgotICAgICAgICAgICAgICAgIGRhdGEgPSBmLnJlYWQoKQotICAgICAgICAgICAgcmVzID0gcmUuc2VhcmNoKHInXHNTT05BTUVccysoW15cc10rKScsIGRhdGEpCisgICAgICAgICAgICByZXMgPSByZS5zZWFyY2gocidcc1NPTkFNRVxzKyhbXlxzXSspJywgZHVtcCkKICAgICAgICAgICAgIGlmIG5vdCByZXM6CiAgICAgICAgICAgICAgICAgcmV0dXJuIE5vbmUKICAgICAgICAgICAgIHJldHVybiByZXMuZ3JvdXAoMSkKIAotICAgIGlmIChzeXMucGxhdGZvcm0uc3RhcnRzd2l0aCgiZnJlZWJzZCIpCi0gICAgICAgIG9yIHN5cy5wbGF0Zm9ybS5zdGFydHN3aXRoKCJvcGVuYnNkIikKLSAgICAgICAgb3Igc3lzLnBsYXRmb3JtLnN0YXJ0c3dpdGgoImRyYWdvbmZseSIpKToKKyAgICBpZiBzeXMucGxhdGZvcm0uc3RhcnRzd2l0aCgoImZyZWVic2QiLCAib3BlbmJzZCIsICJkcmFnb25mbHkiKSk6CiAKICAgICAgICAgZGVmIF9udW1fdmVyc2lvbihsaWJuYW1lKToKICAgICAgICAgICAgICMgImxpYnh5ei5zby5NQUpPUi5NSU5PUiIgPT4gWyBNQUpPUiwgTUlOT1IgXQpAQCAtMTg3LDEzICsxODQsMTkgQEAKICAgICAgICAgICAgIGFiaV90eXBlID0gbWFjaF9tYXAuZ2V0KG1hY2hpbmUsICdsaWJjNicpCiAKICAgICAgICAgICAgICMgWFhYIGFzc3VtaW5nIEdMSUJDJ3MgbGRjb25maWcgKHdpdGggb3B0aW9uIC1wKQotICAgICAgICAgICAgZXhwciA9IHInXHMrKGxpYiVzXC5bXlxzXSspXHMrXCglcycgJSAocmUuZXNjYXBlKG5hbWUpLCBhYmlfdHlwZSkKLSAgICAgICAgICAgIHdpdGggY29udGV4dGxpYi5jbG9zaW5nKG9zLnBvcGVuKCdMQ19BTEw9QyBMQU5HPUMgL3NiaW4vbGRjb25maWcgLXAgMj4vZGV2L251bGwnKSkgYXMgZjoKLSAgICAgICAgICAgICAgICBkYXRhID0gZi5yZWFkKCkKLSAgICAgICAgICAgIHJlcyA9IHJlLnNlYXJjaChleHByLCBkYXRhKQotICAgICAgICAgICAgaWYgbm90IHJlczoKLSAgICAgICAgICAgICAgICByZXR1cm4gTm9uZQotICAgICAgICAgICAgcmV0dXJuIHJlcy5ncm91cCgxKQorICAgICAgICAgICAgcmVnZXggPSBvcy5mc2VuY29kZSgKKyAgICAgICAgICAgICAgICAnXHMrKGxpYiVzXC5bXlxzXSspXHMrXCglcycgJSAocmUuZXNjYXBlKG5hbWUpLCBhYmlfdHlwZSkpCisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgd2l0aCBzdWJwcm9jZXNzLlBvcGVuKFsnL3NiaW4vbGRjb25maWcnLCAnLXAnXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RkaW49c3VicHJvY2Vzcy5ERVZOVUxMLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGRlcnI9c3VicHJvY2Vzcy5ERVZOVUxMLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGRvdXQ9c3VicHJvY2Vzcy5QSVBFLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnY9eydMQ19BTEwnOiAnQycsICdMQU5HJzogJ0MnfSkgYXMgcDoKKyAgICAgICAgICAgICAgICAgICAgcmVzID0gcmUuc2VhcmNoKHJlZ2V4LCBwLnN0ZG91dC5yZWFkKCkpCisgICAgICAgICAgICAgICAgICAgIGlmIHJlczoKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBvcy5mc2RlY29kZShyZXMuZ3JvdXAoMSkpCisgICAgICAgICAgICBleGNlcHQgT1NFcnJvcjoKKyAgICAgICAgICAgICAgICBwYXNzCiAKICAgICAgICAgZGVmIGZpbmRfbGlicmFyeShuYW1lKToKICAgICAgICAgICAgIHJldHVybiBfZmluZFNvbmFtZV9sZGNvbmZpZyhuYW1lKSBvciBfZ2V0X3NvbmFtZShfZmluZExpYl9nY2MobmFtZSkpCmRpZmYgLS1naXQgYS9MaWIvY3Vyc2VzL19faW5pdF9fLnB5IGIvTGliL2N1cnNlcy9fX2luaXRfXy5weQppbmRleCBhM2U5ZGVmLi43YmZhNjY3IDEwMDY0NAotLS0gYS9MaWIvY3Vyc2VzL19faW5pdF9fLnB5CisrKyBiL0xpYi9jdXJzZXMvX19pbml0X18ucHkKQEAgLTExLDcgKzExLDYgQEAKICIiIgogCiBmcm9tIF9jdXJzZXMgaW1wb3J0ICoKLWZyb20gY3Vyc2VzLndyYXBwZXIgaW1wb3J0IHdyYXBwZXIKIGltcG9ydCBvcyBhcyBfb3MKIGltcG9ydCBzeXMgYXMgX3N5cwogCkBAIC01NSwzICs1NCw0OCBAQAogICAgIGhhc19rZXkKIGV4Y2VwdCBOYW1lRXJyb3I6CiAgICAgZnJvbSAuaGFzX2tleSBpbXBvcnQgaGFzX2tleQorCisjIFdyYXBwZXIgZm9yIHRoZSBlbnRpcmUgY3Vyc2VzLWJhc2VkIGFwcGxpY2F0aW9uLiAgUnVucyBhIGZ1bmN0aW9uIHdoaWNoCisjIHNob3VsZCBiZSB0aGUgcmVzdCBvZiB5b3VyIGN1cnNlcy1iYXNlZCBhcHBsaWNhdGlvbi4gIElmIHRoZSBhcHBsaWNhdGlvbgorIyByYWlzZXMgYW4gZXhjZXB0aW9uLCB3cmFwcGVyKCkgd2lsbCByZXN0b3JlIHRoZSB0ZXJtaW5hbCB0byBhIHNhbmUgc3RhdGUgc28KKyMgeW91IGNhbiByZWFkIHRoZSByZXN1bHRpbmcgdHJhY2ViYWNrLgorCitkZWYgd3JhcHBlcihmdW5jLCAqYXJncywgKiprd2RzKToKKyAgICAiIiJXcmFwcGVyIGZ1bmN0aW9uIHRoYXQgaW5pdGlhbGl6ZXMgY3Vyc2VzIGFuZCBjYWxscyBhbm90aGVyIGZ1bmN0aW9uLAorICAgIHJlc3RvcmluZyBub3JtYWwga2V5Ym9hcmQvc2NyZWVuIGJlaGF2aW9yIG9uIGVycm9yLgorICAgIFRoZSBjYWxsYWJsZSBvYmplY3QgJ2Z1bmMnIGlzIHRoZW4gcGFzc2VkIHRoZSBtYWluIHdpbmRvdyAnc3Rkc2NyJworICAgIGFzIGl0cyBmaXJzdCBhcmd1bWVudCwgZm9sbG93ZWQgYnkgYW55IG90aGVyIGFyZ3VtZW50cyBwYXNzZWQgdG8KKyAgICB3cmFwcGVyKCkuCisgICAgIiIiCisKKyAgICB0cnk6CisgICAgICAgICMgSW5pdGlhbGl6ZSBjdXJzZXMKKyAgICAgICAgc3Rkc2NyID0gaW5pdHNjcigpCisKKyAgICAgICAgIyBUdXJuIG9mZiBlY2hvaW5nIG9mIGtleXMsIGFuZCBlbnRlciBjYnJlYWsgbW9kZSwKKyAgICAgICAgIyB3aGVyZSBubyBidWZmZXJpbmcgaXMgcGVyZm9ybWVkIG9uIGtleWJvYXJkIGlucHV0CisgICAgICAgIG5vZWNobygpCisgICAgICAgIGNicmVhaygpCisKKyAgICAgICAgIyBJbiBrZXlwYWQgbW9kZSwgZXNjYXBlIHNlcXVlbmNlcyBmb3Igc3BlY2lhbCBrZXlzCisgICAgICAgICMgKGxpa2UgdGhlIGN1cnNvciBrZXlzKSB3aWxsIGJlIGludGVycHJldGVkIGFuZAorICAgICAgICAjIGEgc3BlY2lhbCB2YWx1ZSBsaWtlIGN1cnNlcy5LRVlfTEVGVCB3aWxsIGJlIHJldHVybmVkCisgICAgICAgIHN0ZHNjci5rZXlwYWQoMSkKKworICAgICAgICAjIFN0YXJ0IGNvbG9yLCB0b28uICBIYXJtbGVzcyBpZiB0aGUgdGVybWluYWwgZG9lc24ndCBoYXZlCisgICAgICAgICMgY29sb3I7IHVzZXIgY2FuIHRlc3Qgd2l0aCBoYXNfY29sb3IoKSBsYXRlciBvbi4gIFRoZSB0cnkvY2F0Y2gKKyAgICAgICAgIyB3b3JrcyBhcm91bmQgYSBtaW5vciBiaXQgb2Ygb3Zlci1jb25zY2llbnRpb3VzbmVzcyBpbiB0aGUgY3Vyc2VzCisgICAgICAgICMgbW9kdWxlIC0tIHRoZSBlcnJvciByZXR1cm4gZnJvbSBDIHN0YXJ0X2NvbG9yKCkgaXMgaWdub3JhYmxlLgorICAgICAgICB0cnk6CisgICAgICAgICAgICBzdGFydF9jb2xvcigpCisgICAgICAgIGV4Y2VwdDoKKyAgICAgICAgICAgIHBhc3MKKworICAgICAgICByZXR1cm4gZnVuYyhzdGRzY3IsICphcmdzLCAqKmt3ZHMpCisgICAgZmluYWxseToKKyAgICAgICAgIyBTZXQgZXZlcnl0aGluZyBiYWNrIHRvIG5vcm1hbAorICAgICAgICBpZiAnc3Rkc2NyJyBpbiBsb2NhbHMoKToKKyAgICAgICAgICAgIHN0ZHNjci5rZXlwYWQoMCkKKyAgICAgICAgICAgIGVjaG8oKQorICAgICAgICAgICAgbm9jYnJlYWsoKQorICAgICAgICAgICAgZW5kd2luKCkKZGlmZiAtLWdpdCBhL0xpYi9jdXJzZXMvd3JhcHBlci5weSBiL0xpYi9jdXJzZXMvd3JhcHBlci5weQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTE4M2NlNy4uMDAwMDAwMAotLS0gYS9MaWIvY3Vyc2VzL3dyYXBwZXIucHkKKysrIC9kZXYvbnVsbApAQCAtMSw1MCArMCwwIEBACi0iIiJjdXJzZXMud3JhcHBlcgotCi1Db250YWlucyBvbmUgZnVuY3Rpb24sIHdyYXBwZXIoKSwgd2hpY2ggcnVucyBhbm90aGVyIGZ1bmN0aW9uIHdoaWNoCi1zaG91bGQgYmUgdGhlIHJlc3Qgb2YgeW91ciBjdXJzZXMtYmFzZWQgYXBwbGljYXRpb24uICBJZiB0aGUKLWFwcGxpY2F0aW9uIHJhaXNlcyBhbiBleGNlcHRpb24sIHdyYXBwZXIoKSB3aWxsIHJlc3RvcmUgdGhlIHRlcm1pbmFsCi10byBhIHNhbmUgc3RhdGUgc28geW91IGNhbiByZWFkIHRoZSByZXN1bHRpbmcgdHJhY2ViYWNrLgotCi0iIiIKLQotaW1wb3J0IGN1cnNlcwotCi1kZWYgd3JhcHBlcihmdW5jLCAqYXJncywgKiprd2RzKToKLSAgICAiIiJXcmFwcGVyIGZ1bmN0aW9uIHRoYXQgaW5pdGlhbGl6ZXMgY3Vyc2VzIGFuZCBjYWxscyBhbm90aGVyIGZ1bmN0aW9uLAotICAgIHJlc3RvcmluZyBub3JtYWwga2V5Ym9hcmQvc2NyZWVuIGJlaGF2aW9yIG9uIGVycm9yLgotICAgIFRoZSBjYWxsYWJsZSBvYmplY3QgJ2Z1bmMnIGlzIHRoZW4gcGFzc2VkIHRoZSBtYWluIHdpbmRvdyAnc3Rkc2NyJwotICAgIGFzIGl0cyBmaXJzdCBhcmd1bWVudCwgZm9sbG93ZWQgYnkgYW55IG90aGVyIGFyZ3VtZW50cyBwYXNzZWQgdG8KLSAgICB3cmFwcGVyKCkuCi0gICAgIiIiCi0KLSAgICB0cnk6Ci0gICAgICAgICMgSW5pdGlhbGl6ZSBjdXJzZXMKLSAgICAgICAgc3Rkc2NyID0gY3Vyc2VzLmluaXRzY3IoKQotCi0gICAgICAgICMgVHVybiBvZmYgZWNob2luZyBvZiBrZXlzLCBhbmQgZW50ZXIgY2JyZWFrIG1vZGUsCi0gICAgICAgICMgd2hlcmUgbm8gYnVmZmVyaW5nIGlzIHBlcmZvcm1lZCBvbiBrZXlib2FyZCBpbnB1dAotICAgICAgICBjdXJzZXMubm9lY2hvKCkKLSAgICAgICAgY3Vyc2VzLmNicmVhaygpCi0KLSAgICAgICAgIyBJbiBrZXlwYWQgbW9kZSwgZXNjYXBlIHNlcXVlbmNlcyBmb3Igc3BlY2lhbCBrZXlzCi0gICAgICAgICMgKGxpa2UgdGhlIGN1cnNvciBrZXlzKSB3aWxsIGJlIGludGVycHJldGVkIGFuZAotICAgICAgICAjIGEgc3BlY2lhbCB2YWx1ZSBsaWtlIGN1cnNlcy5LRVlfTEVGVCB3aWxsIGJlIHJldHVybmVkCi0gICAgICAgIHN0ZHNjci5rZXlwYWQoMSkKLQotICAgICAgICAjIFN0YXJ0IGNvbG9yLCB0b28uICBIYXJtbGVzcyBpZiB0aGUgdGVybWluYWwgZG9lc24ndCBoYXZlCi0gICAgICAgICMgY29sb3I7IHVzZXIgY2FuIHRlc3Qgd2l0aCBoYXNfY29sb3IoKSBsYXRlciBvbi4gIFRoZSB0cnkvY2F0Y2gKLSAgICAgICAgIyB3b3JrcyBhcm91bmQgYSBtaW5vciBiaXQgb2Ygb3Zlci1jb25zY2llbnRpb3VzbmVzcyBpbiB0aGUgY3Vyc2VzCi0gICAgICAgICMgbW9kdWxlIC0tIHRoZSBlcnJvciByZXR1cm4gZnJvbSBDIHN0YXJ0X2NvbG9yKCkgaXMgaWdub3JhYmxlLgotICAgICAgICB0cnk6Ci0gICAgICAgICAgICBjdXJzZXMuc3RhcnRfY29sb3IoKQotICAgICAgICBleGNlcHQ6Ci0gICAgICAgICAgICBwYXNzCi0KLSAgICAgICAgcmV0dXJuIGZ1bmMoc3Rkc2NyLCAqYXJncywgKiprd2RzKQotICAgIGZpbmFsbHk6Ci0gICAgICAgICMgU2V0IGV2ZXJ5dGhpbmcgYmFjayB0byBub3JtYWwKLSAgICAgICAgaWYgJ3N0ZHNjcicgaW4gbG9jYWxzKCk6Ci0gICAgICAgICAgICBzdGRzY3Iua2V5cGFkKDApCi0gICAgICAgICAgICBjdXJzZXMuZWNobygpCi0gICAgICAgICAgICBjdXJzZXMubm9jYnJlYWsoKQotICAgICAgICAgICAgY3Vyc2VzLmVuZHdpbigpCmRpZmYgLS1naXQgYS9MaWIvZGF0ZXRpbWUucHkgYi9MaWIvZGF0ZXRpbWUucHkKaW5kZXggNjVmOTVkMi4uNTlmM2M2OCAxMDA2NDQKLS0tIGEvTGliL2RhdGV0aW1lLnB5CisrKyBiL0xpYi9kYXRldGltZS5weQpAQCAtMTcyLDEwICsxNzIsNiBAQAogCiAjIENvcnJlY3RseSBzdWJzdGl0dXRlIGZvciAleiBhbmQgJVogZXNjYXBlcyBpbiBzdHJmdGltZSBmb3JtYXRzLgogZGVmIF93cmFwX3N0cmZ0aW1lKG9iamVjdCwgZm9ybWF0LCB0aW1ldHVwbGUpOgotICAgIHllYXIgPSB0aW1ldHVwbGVbMF0KLSAgICBpZiB5ZWFyIDwgMTAwMDoKLSAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigieWVhcj0lZCBpcyBiZWZvcmUgMTAwMDsgdGhlIGRhdGV0aW1lIHN0cmZ0aW1lKCkgIgotICAgICAgICAgICAgICAgICAgICAgICAgICJtZXRob2RzIHJlcXVpcmUgeWVhciA+PSAxMDAwIiAlIHllYXIpCiAgICAgIyBEb24ndCBjYWxsIHV0Y29mZnNldCgpIG9yIHR6bmFtZSgpIHVubGVzcyBhY3R1YWxseSBuZWVkZWQuCiAgICAgZnJlcGxhY2UgPSBOb25lICMgdGhlIHN0cmluZyB0byB1c2UgZm9yICVmCiAgICAgenJlcGxhY2UgPSBOb25lICMgdGhlIHN0cmluZyB0byB1c2UgZm9yICV6CkBAIC0xMzY0LDcgKzEzNjAsNyBAQAogICAgICAgICBjb252ZXJ0ZXIgPSBfdGltZS5sb2NhbHRpbWUgaWYgdHogaXMgTm9uZSBlbHNlIF90aW1lLmdtdGltZQogCiAgICAgICAgIHQsIGZyYWMgPSBkaXZtb2QodCwgMS4wKQotICAgICAgICB1cyA9IHJvdW5kKGZyYWMgKiAxZTYpCisgICAgICAgIHVzID0gaW50KGZyYWMgKiAxZTYpCiAKICAgICAgICAgIyBJZiB0aW1lc3RhbXAgaXMgbGVzcyB0aGFuIG9uZSBtaWNyb3NlY29uZCBzbWFsbGVyIHRoYW4gYQogICAgICAgICAjIGZ1bGwgc2Vjb25kLCB1cyBjYW4gYmUgcm91bmRlZCB1cCB0byAxMDAwMDAwLiAgSW4gdGhpcyBjYXNlLApAQCAtMTM4NCw3ICsxMzgwLDcgQEAKICAgICBkZWYgdXRjZnJvbXRpbWVzdGFtcChjbHMsIHQpOgogICAgICAgICAiQ29uc3RydWN0IGEgVVRDIGRhdGV0aW1lIGZyb20gYSBQT1NJWCB0aW1lc3RhbXAgKGxpa2UgdGltZS50aW1lKCkpLiIKICAgICAgICAgdCwgZnJhYyA9IGRpdm1vZCh0LCAxLjApCi0gICAgICAgIHVzID0gcm91bmQoZnJhYyAqIDFlNikKKyAgICAgICAgdXMgPSBpbnQoZnJhYyAqIDFlNikKIAogICAgICAgICAjIElmIHRpbWVzdGFtcCBpcyBsZXNzIHRoYW4gb25lIG1pY3Jvc2Vjb25kIHNtYWxsZXIgdGhhbiBhCiAgICAgICAgICMgZnVsbCBzZWNvbmQsIHVzIGNhbiBiZSByb3VuZGVkIHVwIHRvIDEwMDAwMDAuICBJbiB0aGlzIGNhc2UsCmRpZmYgLS1naXQgYS9MaWIvZGVjaW1hbC5weSBiL0xpYi9kZWNpbWFsLnB5CmluZGV4IGY1Mjc3YzUuLmU5NDYxODIgMTAwNjQ0Ci0tLSBhL0xpYi9kZWNpbWFsLnB5CisrKyBiL0xpYi9kZWNpbWFsLnB5CkBAIC0xODcxLDYgKzE4NzEsNyBAQAogICAgICAgICAiIiIKIAogICAgICAgICBvdGhlciA9IF9jb252ZXJ0X290aGVyKG90aGVyLCByYWlzZWl0PVRydWUpCisgICAgICAgIHRoaXJkID0gX2NvbnZlcnRfb3RoZXIodGhpcmQsIHJhaXNlaXQ9VHJ1ZSkKIAogICAgICAgICAjIGNvbXB1dGUgcHJvZHVjdDsgcmFpc2UgSW52YWxpZE9wZXJhdGlvbiBpZiBlaXRoZXIgb3BlcmFuZCBpcwogICAgICAgICAjIGEgc2lnbmFsaW5nIE5hTiBvciBpZiB0aGUgcHJvZHVjdCBpcyB6ZXJvIHRpbWVzIGluZmluaXR5LgpAQCAtMTkwMCw3ICsxOTAxLDYgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cihpbnQoc2VsZi5faW50KSAqIGludChvdGhlci5faW50KSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9leHAgKyBvdGhlci5fZXhwKQogCi0gICAgICAgIHRoaXJkID0gX2NvbnZlcnRfb3RoZXIodGhpcmQsIHJhaXNlaXQ9VHJ1ZSkKICAgICAgICAgcmV0dXJuIHByb2R1Y3QuX19hZGRfXyh0aGlyZCwgY29udGV4dCkKIAogICAgIGRlZiBfcG93ZXJfbW9kdWxvKHNlbGYsIG90aGVyLCBtb2R1bG8sIGNvbnRleHQ9Tm9uZSk6CkBAIC0yMDAxLDkgKzIwMDEsOSBAQAogICAgICAgICBub256ZXJvLiAgRm9yIGVmZmljaWVuY3ksIG90aGVyLl9leHAgc2hvdWxkIG5vdCBiZSB0b28gbGFyZ2UsCiAgICAgICAgIHNvIHRoYXQgMTAqKmFicyhvdGhlci5fZXhwKSBpcyBhIGZlYXNpYmxlIGNhbGN1bGF0aW9uLiIiIgogCi0gICAgICAgICMgSW4gdGhlIGNvbW1lbnRzIGJlbG93LCB3ZSB3cml0ZSB4IGZvciB0aGUgdmFsdWUgb2Ygc2VsZiBhbmQKLSAgICAgICAgIyB5IGZvciB0aGUgdmFsdWUgb2Ygb3RoZXIuICBXcml0ZSB4ID0geGMqMTAqKnhlIGFuZCB5ID0KLSAgICAgICAgIyB5YyoxMCoqeWUuCisgICAgICAgICMgSW4gdGhlIGNvbW1lbnRzIGJlbG93LCB3ZSB3cml0ZSB4IGZvciB0aGUgdmFsdWUgb2Ygc2VsZiBhbmQgeSBmb3IgdGhlCisgICAgICAgICMgdmFsdWUgb2Ygb3RoZXIuICBXcml0ZSB4ID0geGMqMTAqKnhlIGFuZCBhYnMoeSkgPSB5YyoxMCoqeWUsIHdpdGggeGMKKyAgICAgICAgIyBhbmQgeWMgcG9zaXRpdmUgaW50ZWdlcnMgbm90IGRpdmlzaWJsZSBieSAxMC4KIAogICAgICAgICAjIFRoZSBtYWluIHB1cnBvc2Ugb2YgdGhpcyBtZXRob2QgaXMgdG8gaWRlbnRpZnkgdGhlICpmYWlsdXJlKgogICAgICAgICAjIG9mIHgqKnkgdG8gYmUgZXhhY3RseSByZXByZXNlbnRhYmxlIHdpdGggYXMgbGl0dGxlIGVmZm9ydCBhcwpAQCAtMjAxMSwxMyArMjAxMSwxMiBAQAogICAgICAgICAjIGVsaW1pbmF0ZSB0aGUgcG9zc2liaWxpdHkgb2YgeCoqeSBiZWluZyBleGFjdC4gIE9ubHkgaWYgYWxsCiAgICAgICAgICMgdGhlc2UgdGVzdHMgYXJlIHBhc3NlZCBkbyB3ZSBnbyBvbiB0byBhY3R1YWxseSBjb21wdXRlIHgqKnkuCiAKLSAgICAgICAgIyBIZXJlJ3MgdGhlIG1haW4gaWRlYS4gIEZpcnN0IG5vcm1hbGl6ZSBib3RoIHggYW5kIHkuICBXZQotICAgICAgICAjIGV4cHJlc3MgeSBhcyBhIHJhdGlvbmFsIG0vbiwgd2l0aCBtIGFuZCBuIHJlbGF0aXZlbHkgcHJpbWUKLSAgICAgICAgIyBhbmQgbj4wLiAgVGhlbiBmb3IgeCoqeSB0byBiZSBleGFjdGx5IHJlcHJlc2VudGFibGUgKGF0Ci0gICAgICAgICMgKmFueSogcHJlY2lzaW9uKSwgeGMgbXVzdCBiZSB0aGUgbnRoIHBvd2VyIG9mIGEgcG9zaXRpdmUKLSAgICAgICAgIyBpbnRlZ2VyIGFuZCB4ZSBtdXN0IGJlIGRpdmlzaWJsZSBieSBuLiAgSWYgbSBpcyBuZWdhdGl2ZQotICAgICAgICAjIHRoZW4gYWRkaXRpb25hbGx5IHhjIG11c3QgYmUgYSBwb3dlciBvZiBlaXRoZXIgMiBvciA1LCBoZW5jZQotICAgICAgICAjIGEgcG93ZXIgb2YgMioqbiBvciA1KipuLgorICAgICAgICAjIEhlcmUncyB0aGUgbWFpbiBpZGVhLiAgRXhwcmVzcyB5IGFzIGEgcmF0aW9uYWwgbnVtYmVyIG0vbiwgd2l0aCBtIGFuZAorICAgICAgICAjIG4gcmVsYXRpdmVseSBwcmltZSBhbmQgbj4wLiAgVGhlbiBmb3IgeCoqeSB0byBiZSBleGFjdGx5CisgICAgICAgICMgcmVwcmVzZW50YWJsZSAoYXQgKmFueSogcHJlY2lzaW9uKSwgeGMgbXVzdCBiZSB0aGUgbnRoIHBvd2VyIG9mIGEKKyAgICAgICAgIyBwb3NpdGl2ZSBpbnRlZ2VyIGFuZCB4ZSBtdXN0IGJlIGRpdmlzaWJsZSBieSBuLiAgSWYgeSBpcyBuZWdhdGl2ZQorICAgICAgICAjIHRoZW4gYWRkaXRpb25hbGx5IHhjIG11c3QgYmUgYSBwb3dlciBvZiBlaXRoZXIgMiBvciA1LCBoZW5jZSBhIHBvd2VyCisgICAgICAgICMgb2YgMioqbiBvciA1KipuLgogICAgICAgICAjCiAgICAgICAgICMgVGhlcmUncyBhIGxpbWl0IHRvIGhvdyBzbWFsbCB8eXwgY2FuIGJlOiBpZiB5PW0vbiBhcyBhYm92ZQogICAgICAgICAjIHRoZW46CkBAIC0yMDg5LDIxICsyMDg4LDQzIEBACiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBOb25lCiAgICAgICAgICAgICAgICAgIyBub3cgeGMgaXMgYSBwb3dlciBvZiAyOyBlIGlzIGl0cyBleHBvbmVudAogICAgICAgICAgICAgICAgIGUgPSBfbmJpdHMoeGMpLTEKLSAgICAgICAgICAgICAgICAjIGZpbmQgZSp5IGFuZCB4ZSp5OyBib3RoIG11c3QgYmUgaW50ZWdlcnMKLSAgICAgICAgICAgICAgICBpZiB5ZSA+PSAwOgotICAgICAgICAgICAgICAgICAgICB5X2FzX2ludCA9IHljKjEwKip5ZQotICAgICAgICAgICAgICAgICAgICBlID0gZSp5X2FzX2ludAotICAgICAgICAgICAgICAgICAgICB4ZSA9IHhlKnlfYXNfaW50Ci0gICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgdGVuX3BvdyA9IDEwKioteWUKLSAgICAgICAgICAgICAgICAgICAgZSwgcmVtYWluZGVyID0gZGl2bW9kKGUqeWMsIHRlbl9wb3cpCi0gICAgICAgICAgICAgICAgICAgIGlmIHJlbWFpbmRlcjoKLSAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBOb25lCi0gICAgICAgICAgICAgICAgICAgIHhlLCByZW1haW5kZXIgPSBkaXZtb2QoeGUqeWMsIHRlbl9wb3cpCi0gICAgICAgICAgICAgICAgICAgIGlmIHJlbWFpbmRlcjoKLSAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBOb25lCiAKLSAgICAgICAgICAgICAgICBpZiBlKjY1ID49IHAqOTM6ICMgOTMvNjUgPiBsb2coMTApL2xvZyg1KQorICAgICAgICAgICAgICAgICMgV2Ugbm93IGhhdmU6CisgICAgICAgICAgICAgICAgIworICAgICAgICAgICAgICAgICMgICB4ID0gMioqZSAqIDEwKip4ZSwgZSA+IDAsIGFuZCB5IDwgMC4KKyAgICAgICAgICAgICAgICAjCisgICAgICAgICAgICAgICAgIyBUaGUgZXhhY3QgcmVzdWx0IGlzOgorICAgICAgICAgICAgICAgICMKKyAgICAgICAgICAgICAgICAjICAgeCoqeSA9IDUqKigtZSp5KSAqIDEwKiooZSp5ICsgeGUqeSkKKyAgICAgICAgICAgICAgICAjCisgICAgICAgICAgICAgICAgIyBwcm92aWRlZCB0aGF0IGJvdGggZSp5IGFuZCB4ZSp5IGFyZSBpbnRlZ2Vycy4gIE5vdGUgdGhhdCBpZgorICAgICAgICAgICAgICAgICMgNSoqKC1lKnkpID49IDEwKipwLCB0aGVuIHRoZSByZXN1bHQgY2FuJ3QgYmUgZXhwcmVzc2VkCisgICAgICAgICAgICAgICAgIyBleGFjdGx5IHdpdGggcCBkaWdpdHMgb2YgcHJlY2lzaW9uLgorICAgICAgICAgICAgICAgICMKKyAgICAgICAgICAgICAgICAjIFVzaW5nIHRoZSBhYm92ZSwgd2UgY2FuIGd1YXJkIGFnYWluc3QgbGFyZ2UgdmFsdWVzIG9mIHllLgorICAgICAgICAgICAgICAgICMgOTMvNjUgaXMgYW4gdXBwZXIgYm91bmQgZm9yIGxvZygxMCkvbG9nKDUpLCBzbyBpZgorICAgICAgICAgICAgICAgICMKKyAgICAgICAgICAgICAgICAjICAgeWUgPj0gbGVuKHN0cig5MypwLy82NSkpCisgICAgICAgICAgICAgICAgIworICAgICAgICAgICAgICAgICMgdGhlbgorICAgICAgICAgICAgICAgICMKKyAgICAgICAgICAgICAgICAjICAgLWUqeSA+PSAteSA+PSAxMCoqeWUgPiA5MypwLzY1ID4gcCpsb2coMTApL2xvZyg1KSwKKyAgICAgICAgICAgICAgICAjCisgICAgICAgICAgICAgICAgIyBzbyA1KiooLWUqeSkgPj0gMTAqKnAsIGFuZCB0aGUgY29lZmZpY2llbnQgb2YgdGhlIHJlc3VsdAorICAgICAgICAgICAgICAgICMgY2FuJ3QgYmUgZXhwcmVzc2VkIGluIHAgZGlnaXRzLgorCisgICAgICAgICAgICAgICAgIyBlbWF4ID49IGxhcmdlc3QgZSBzdWNoIHRoYXQgNSoqZSA8IDEwKipwLgorICAgICAgICAgICAgICAgIGVtYXggPSBwKjkzLy82NQorICAgICAgICAgICAgICAgIGlmIHllID49IGxlbihzdHIoZW1heCkpOgorICAgICAgICAgICAgICAgICAgICByZXR1cm4gTm9uZQorCisgICAgICAgICAgICAgICAgIyBGaW5kIC1lKnkgYW5kIC14ZSp5OyBib3RoIG11c3QgYmUgaW50ZWdlcnMKKyAgICAgICAgICAgICAgICBlID0gX2RlY2ltYWxfbHNoaWZ0X2V4YWN0KGUgKiB5YywgeWUpCisgICAgICAgICAgICAgICAgeGUgPSBfZGVjaW1hbF9sc2hpZnRfZXhhY3QoeGUgKiB5YywgeWUpCisgICAgICAgICAgICAgICAgaWYgZSBpcyBOb25lIG9yIHhlIGlzIE5vbmU6CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBOb25lCisKKyAgICAgICAgICAgICAgICBpZiBlID4gZW1heDoKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE5vbmUKICAgICAgICAgICAgICAgICB4YyA9IDUqKmUKIApAQCAtMjExNywxOSArMjEzOCwyMCBAQAogICAgICAgICAgICAgICAgIHdoaWxlIHhjICUgNSA9PSAwOgogICAgICAgICAgICAgICAgICAgICB4YyAvLz0gNQogICAgICAgICAgICAgICAgICAgICBlIC09IDEKLSAgICAgICAgICAgICAgICBpZiB5ZSA+PSAwOgotICAgICAgICAgICAgICAgICAgICB5X2FzX2ludGVnZXIgPSB5YyoxMCoqeWUKLSAgICAgICAgICAgICAgICAgICAgZSA9IGUqeV9hc19pbnRlZ2VyCi0gICAgICAgICAgICAgICAgICAgIHhlID0geGUqeV9hc19pbnRlZ2VyCi0gICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgdGVuX3BvdyA9IDEwKioteWUKLSAgICAgICAgICAgICAgICAgICAgZSwgcmVtYWluZGVyID0gZGl2bW9kKGUqeWMsIHRlbl9wb3cpCi0gICAgICAgICAgICAgICAgICAgIGlmIHJlbWFpbmRlcjoKLSAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBOb25lCi0gICAgICAgICAgICAgICAgICAgIHhlLCByZW1haW5kZXIgPSBkaXZtb2QoeGUqeWMsIHRlbl9wb3cpCi0gICAgICAgICAgICAgICAgICAgIGlmIHJlbWFpbmRlcjoKLSAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBOb25lCi0gICAgICAgICAgICAgICAgaWYgZSozID49IHAqMTA6ICMgMTAvMyA+IGxvZygxMCkvbG9nKDIpCisKKyAgICAgICAgICAgICAgICAjIEd1YXJkIGFnYWluc3QgbGFyZ2UgdmFsdWVzIG9mIHllLCB1c2luZyB0aGUgc2FtZSBsb2dpYyBhcyBpbgorICAgICAgICAgICAgICAgICMgdGhlICd4YyBpcyBhIHBvd2VyIG9mIDInIGJyYW5jaC4gIDEwLzMgaXMgYW4gdXBwZXIgYm91bmQgZm9yCisgICAgICAgICAgICAgICAgIyBsb2coMTApL2xvZygyKS4KKyAgICAgICAgICAgICAgICBlbWF4ID0gcCoxMC8vMworICAgICAgICAgICAgICAgIGlmIHllID49IGxlbihzdHIoZW1heCkpOgorICAgICAgICAgICAgICAgICAgICByZXR1cm4gTm9uZQorCisgICAgICAgICAgICAgICAgZSA9IF9kZWNpbWFsX2xzaGlmdF9leGFjdChlICogeWMsIHllKQorICAgICAgICAgICAgICAgIHhlID0gX2RlY2ltYWxfbHNoaWZ0X2V4YWN0KHhlICogeWMsIHllKQorICAgICAgICAgICAgICAgIGlmIGUgaXMgTm9uZSBvciB4ZSBpcyBOb25lOgorICAgICAgICAgICAgICAgICAgICByZXR1cm4gTm9uZQorCisgICAgICAgICAgICAgICAgaWYgZSA+IGVtYXg6CiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBOb25lCiAgICAgICAgICAgICAgICAgeGMgPSAyKiplCiAgICAgICAgICAgICBlbHNlOgpAQCAtMzg4MSwyOCArMzkwMyw2IEBACiAgICAgICAgIHJldHVybiBuYwogICAgIF9fY29weV9fID0gY29weQogCi0gICAgIyBfY2xhbXAgaXMgcHJvdmlkZWQgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IHdpdGggdGhpcmQtcGFydHkKLSAgICAjIGNvZGUuICBNYXkgYmUgcmVtb3ZlZCBpbiBQeXRob24gPj0gMy4zLgotICAgIGRlZiBfZ2V0X2NsYW1wKHNlbGYpOgotICAgICAgICAiX2NsYW1wIG1pcnJvcnMgdGhlIGNsYW1wIGF0dHJpYnV0ZS4gIEl0cyB1c2UgaXMgZGVwcmVjYXRlZC4iCi0gICAgICAgIGltcG9ydCB3YXJuaW5ncwotICAgICAgICB3YXJuaW5ncy53YXJuKCdVc2Ugb2YgdGhlIF9jbGFtcCBhdHRyaWJ1dGUgaXMgZGVwcmVjYXRlZC4gJwotICAgICAgICAgICAgICAgICAgICAgICdQbGVhc2UgdXNlIGNsYW1wIGluc3RlYWQuJywKLSAgICAgICAgICAgICAgICAgICAgICBEZXByZWNhdGlvbldhcm5pbmcpCi0gICAgICAgIHJldHVybiBzZWxmLmNsYW1wCi0KLSAgICBkZWYgX3NldF9jbGFtcChzZWxmLCBjbGFtcCk6Ci0gICAgICAgICJfY2xhbXAgbWlycm9ycyB0aGUgY2xhbXAgYXR0cmlidXRlLiAgSXRzIHVzZSBpcyBkZXByZWNhdGVkLiIKLSAgICAgICAgaW1wb3J0IHdhcm5pbmdzCi0gICAgICAgIHdhcm5pbmdzLndhcm4oJ1VzZSBvZiB0aGUgX2NsYW1wIGF0dHJpYnV0ZSBpcyBkZXByZWNhdGVkLiAnCi0gICAgICAgICAgICAgICAgICAgICAgJ1BsZWFzZSB1c2UgY2xhbXAgaW5zdGVhZC4nLAotICAgICAgICAgICAgICAgICAgICAgIERlcHJlY2F0aW9uV2FybmluZykKLSAgICAgICAgc2VsZi5jbGFtcCA9IGNsYW1wCi0KLSAgICAjIGRvbid0IGJvdGhlciB3aXRoIF9kZWxfY2xhbXA7ICBubyBzYW5lIDNyZCBwYXJ0eSBjb2RlIHNob3VsZAotICAgICMgYmUgZGVsZXRpbmcgdGhlIF9jbGFtcCBhdHRyaWJ1dGUKLSAgICBfY2xhbXAgPSBwcm9wZXJ0eShfZ2V0X2NsYW1wLCBfc2V0X2NsYW1wKQotCiAgICAgZGVmIF9yYWlzZV9lcnJvcihzZWxmLCBjb25kaXRpb24sIGV4cGxhbmF0aW9uID0gTm9uZSwgKmFyZ3MpOgogICAgICAgICAiIiJIYW5kbGVzIGFuIGVycm9yCiAKQEAgLTU1MjksNiArNTUyOSwyNyBAQAogCiBfbmJpdHMgPSBpbnQuYml0X2xlbmd0aAogCitkZWYgX2RlY2ltYWxfbHNoaWZ0X2V4YWN0KG4sIGUpOgorICAgICIiIiBHaXZlbiBpbnRlZ2VycyBuIGFuZCBlLCByZXR1cm4gbiAqIDEwKiplIGlmIGl0J3MgYW4gaW50ZWdlciwgZWxzZSBOb25lLgorCisgICAgVGhlIGNvbXB1dGF0aW9uIGlzIGRlc2lnbmVkIHRvIGF2b2lkIGNvbXB1dGluZyBsYXJnZSBwb3dlcnMgb2YgMTAKKyAgICB1bm5lY2Vzc2FyaWx5LgorCisgICAgPj4+IF9kZWNpbWFsX2xzaGlmdF9leGFjdCgzLCA0KQorICAgIDMwMDAwCisgICAgPj4+IF9kZWNpbWFsX2xzaGlmdF9leGFjdCgzMDAsIC05OTk5OTk5OTkpICAjIHJldHVybnMgTm9uZQorCisgICAgIiIiCisgICAgaWYgbiA9PSAwOgorICAgICAgICByZXR1cm4gMAorICAgIGVsaWYgZSA+PSAwOgorICAgICAgICByZXR1cm4gbiAqIDEwKiplCisgICAgZWxzZToKKyAgICAgICAgIyB2YWxfbiA9IGxhcmdlc3QgcG93ZXIgb2YgMTAgZGl2aWRpbmcgbi4KKyAgICAgICAgc3RyX24gPSBzdHIoYWJzKG4pKQorICAgICAgICB2YWxfbiA9IGxlbihzdHJfbikgLSBsZW4oc3RyX24ucnN0cmlwKCcwJykpCisgICAgICAgIHJldHVybiBOb25lIGlmIHZhbF9uIDwgLWUgZWxzZSBuIC8vIDEwKiotZQorCiBkZWYgX3NxcnRfbmVhcmVzdChuLCBhKToKICAgICAiIiJDbG9zZXN0IGludGVnZXIgdG8gdGhlIHNxdWFyZSByb290IG9mIHRoZSBwb3NpdGl2ZSBpbnRlZ2VyIG4uICBhIGlzCiAgICAgYW4gaW5pdGlhbCBhcHByb3hpbWF0aW9uIHRvIHRoZSBzcXVhcmUgcm9vdC4gIEFueSBwb3NpdGl2ZSBpbnRlZ2VyCmRpZmYgLS1naXQgYS9MaWIvZGlmZmxpYi5weSBiL0xpYi9kaWZmbGliLnB5CmluZGV4IGU2Y2M2ZWUuLmFlMzc3ZDcgMTAwNjQ0Ci0tLSBhL0xpYi9kaWZmbGliLnB5CisrKyBiL0xpYi9kaWZmbGliLnB5CkBAIC0yMDQsNyArMjA0LDcgQEAKICAgICAgICAgIyAgICAgIHJldHVybmluZyB0cnVlIGlmZiB0aGUgZWxlbWVudCBpcyAianVuayIgLS0gdGhpcyBoYXMKICAgICAgICAgIyAgICAgIHN1YnRsZSBidXQgaGVscGZ1bCBlZmZlY3RzIG9uIHRoZSBhbGdvcml0aG0sIHdoaWNoIEknbGwKICAgICAgICAgIyAgICAgIGdldCBhcm91bmQgdG8gd3JpdGluZyB1cCBzb21lZGF5IDwwLjkgd2luaz4uCi0gICAgICAgICMgICAgICBET04nVCBVU0UhICBPbmx5IF9fY2hhaW5fYiB1c2VzIHRoaXMuICBVc2UgaXNianVuay4KKyAgICAgICAgIyAgICAgIERPTidUIFVTRSEgIE9ubHkgX19jaGFpbl9iIHVzZXMgdGhpcy4gIFVzZSAiaW4gc2VsZi5ianVuayIuCiAgICAgICAgICMgYmp1bmsKICAgICAgICAgIyAgICAgIHRoZSBpdGVtcyBpbiBiIGZvciB3aGljaCBpc2p1bmsgaXMgVHJ1ZS4KICAgICAgICAgIyBicG9wdWxhcgpAQCAtMjg3LDcgKzI4Nyw2IEBACiAgICAgIyB3aGVuIHNlbGYuaXNqdW5rIGlzIGRlZmluZWQsIGp1bmsgZWxlbWVudHMgZG9uJ3Qgc2hvdyB1cCBpbiB0aGlzCiAgICAgIyBtYXAgYXQgYWxsLCB3aGljaCBzdG9wcyB0aGUgY2VudHJhbCBmaW5kX2xvbmdlc3RfbWF0Y2ggbWV0aG9kCiAgICAgIyBmcm9tIHN0YXJ0aW5nIGFueSBtYXRjaGluZyBibG9jayBhdCBhIGp1bmsgZWxlbWVudCAuLi4KLSAgICAjIGFsc28gY3JlYXRlcyB0aGUgZmFzdCBpc2JqdW5rIGZ1bmN0aW9uIC4uLgogICAgICMgYjJqIGFsc28gZG9lcyBub3QgY29udGFpbiBlbnRyaWVzIGZvciAicG9wdWxhciIgZWxlbWVudHMsIG1lYW5pbmcKICAgICAjIGVsZW1lbnRzIHRoYXQgYWNjb3VudCBmb3IgbW9yZSB0aGFuIDEgKyAxJSBvZiB0aGUgdG90YWwgZWxlbWVudHMsIGFuZAogICAgICMgd2hlbiB0aGUgc2VxdWVuY2UgaXMgcmVhc29uYWJseSBsYXJnZSAoPj0gMjAwIGVsZW1lbnRzKTsgdGhpcyBjYW4KQEAgLTgwMCw3ICs3OTksNyBAQAogICAgIC4uLiAgIDIuIEV4cGxpY2l0IGlzIGJldHRlciB0aGFuIGltcGxpY2l0LgogICAgIC4uLiAgIDMuIFNpbXBsZSBpcyBiZXR0ZXIgdGhhbiBjb21wbGV4LgogICAgIC4uLiAgIDQuIENvbXBsZXggaXMgYmV0dGVyIHRoYW4gY29tcGxpY2F0ZWQuCi0gICAgLi4uICcnJy5zcGxpdGxpbmVzKDEpCisgICAgLi4uICcnJy5zcGxpdGxpbmVzKGtlZXBlbmRzPVRydWUpCiAgICAgPj4+IGxlbih0ZXh0MSkKICAgICA0CiAgICAgPj4+IHRleHQxWzBdWy0xXQpAQCAtODA5LDcgKzgwOCw3IEBACiAgICAgLi4uICAgMy4gICBTaW1wbGUgaXMgYmV0dGVyIHRoYW4gY29tcGxleC4KICAgICAuLi4gICA0LiBDb21wbGljYXRlZCBpcyBiZXR0ZXIgdGhhbiBjb21wbGV4LgogICAgIC4uLiAgIDUuIEZsYXQgaXMgYmV0dGVyIHRoYW4gbmVzdGVkLgotICAgIC4uLiAnJycuc3BsaXRsaW5lcygxKQorICAgIC4uLiAnJycuc3BsaXRsaW5lcyhrZWVwZW5kcz1UcnVlKQogCiAgICAgTmV4dCB3ZSBpbnN0YW50aWF0ZSBhIERpZmZlciBvYmplY3Q6CiAKQEAgLTg5Niw4ICs4OTUsOCBAQAogCiAgICAgICAgIEV4YW1wbGU6CiAKLSAgICAgICAgPj4+IHByaW50KCcnLmpvaW4oRGlmZmVyKCkuY29tcGFyZSgnb25lXG50d29cbnRocmVlXG4nLnNwbGl0bGluZXMoMSksCi0gICAgICAgIC4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ29yZVxudHJlZVxuZW11XG4nLnNwbGl0bGluZXMoMSkpKSwKKyAgICAgICAgPj4+IHByaW50KCcnLmpvaW4oRGlmZmVyKCkuY29tcGFyZSgnb25lXG50d29cbnRocmVlXG4nLnNwbGl0bGluZXMoVHJ1ZSksCisgICAgICAgIC4uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ29yZVxudHJlZVxuZW11XG4nLnNwbGl0bGluZXMoVHJ1ZSkpKSwKICAgICAgICAgLi4uICAgICAgIGVuZD0iIikKICAgICAgICAgLSBvbmUKICAgICAgICAgPyAgXgpAQCAtMTI2OSw4ICsxMjY4LDggQEAKIAogICAgIEV4YW1wbGU6CiAKLSAgICA+Pj4gcHJpbnQoJycuam9pbihjb250ZXh0X2RpZmYoJ29uZVxudHdvXG50aHJlZVxuZm91clxuJy5zcGxpdGxpbmVzKDEpLAotICAgIC4uLiAgICAgICAnemVyb1xub25lXG50cmVlXG5mb3VyXG4nLnNwbGl0bGluZXMoMSksICdPcmlnaW5hbCcsICdDdXJyZW50JykpLAorICAgID4+PiBwcmludCgnJy5qb2luKGNvbnRleHRfZGlmZignb25lXG50d29cbnRocmVlXG5mb3VyXG4nLnNwbGl0bGluZXMoVHJ1ZSksCisgICAgLi4uICAgICAgICd6ZXJvXG5vbmVcbnRyZWVcbmZvdXJcbicuc3BsaXRsaW5lcyhUcnVlKSwgJ09yaWdpbmFsJywgJ0N1cnJlbnQnKSksCiAgICAgLi4uICAgICAgIGVuZD0iIikKICAgICAqKiogT3JpZ2luYWwKICAgICAtLS0gQ3VycmVudApAQCAtMTMzOSw4ICsxMzM4LDggQEAKIAogICAgIEV4YW1wbGU6CiAKLSAgICA+Pj4gZGlmZiA9IG5kaWZmKCdvbmVcbnR3b1xudGhyZWVcbicuc3BsaXRsaW5lcygxKSwKLSAgICAuLi4gICAgICAgICAgICAgICdvcmVcbnRyZWVcbmVtdVxuJy5zcGxpdGxpbmVzKDEpKQorICAgID4+PiBkaWZmID0gbmRpZmYoJ29uZVxudHdvXG50aHJlZVxuJy5zcGxpdGxpbmVzKGtlZXBlbmRzPVRydWUpLAorICAgIC4uLiAgICAgICAgICAgICAgJ29yZVxudHJlZVxuZW11XG4nLnNwbGl0bGluZXMoa2VlcGVuZHM9VHJ1ZSkpCiAgICAgPj4+IHByaW50KCcnLmpvaW4oZGlmZiksIGVuZD0iIikKICAgICAtIG9uZQogICAgID8gIF4KQEAgLTIwMzQsOCArMjAzMyw4IEBACiAKICAgICBFeGFtcGxlczoKIAotICAgID4+PiBkaWZmID0gbmRpZmYoJ29uZVxudHdvXG50aHJlZVxuJy5zcGxpdGxpbmVzKDEpLAotICAgIC4uLiAgICAgICAgICAgICAgJ29yZVxudHJlZVxuZW11XG4nLnNwbGl0bGluZXMoMSkpCisgICAgPj4+IGRpZmYgPSBuZGlmZignb25lXG50d29cbnRocmVlXG4nLnNwbGl0bGluZXMoa2VlcGVuZHM9VHJ1ZSksCisgICAgLi4uICAgICAgICAgICAgICAnb3JlXG50cmVlXG5lbXVcbicuc3BsaXRsaW5lcyhrZWVwZW5kcz1UcnVlKSkKICAgICA+Pj4gZGlmZiA9IGxpc3QoZGlmZikKICAgICA+Pj4gcHJpbnQoJycuam9pbihyZXN0b3JlKGRpZmYsIDEpKSwgZW5kPSIiKQogICAgIG9uZQpkaWZmIC0tZ2l0IGEvTGliL2Rpc3R1dGlscy9fX2luaXRfXy5weSBiL0xpYi9kaXN0dXRpbHMvX19pbml0X18ucHkKaW5kZXggMzY5NzUwNS4uOGI0MjYxYSAxMDA2NDQKLS0tIGEvTGliL2Rpc3R1dGlscy9fX2luaXRfXy5weQorKysgYi9MaWIvZGlzdHV0aWxzL19faW5pdF9fLnB5CkBAIC0xMyw1ICsxMyw1IEBACiAjIFVwZGF0ZWQgYXV0b21hdGljYWxseSBieSB0aGUgUHl0aG9uIHJlbGVhc2UgcHJvY2Vzcy4KICMKICMtLXN0YXJ0IGNvbnN0YW50cy0tCi1fX3ZlcnNpb25fXyA9ICIzLjIuM3JjMSIKK19fdmVyc2lvbl9fID0gIjMuMy4wYTEiCiAjLS1lbmQgY29uc3RhbnRzLS0KZGlmZiAtLWdpdCBhL0xpYi9kaXN0dXRpbHMvY29tbWFuZC9iZGlzdF93aW5pbnN0LnB5IGIvTGliL2Rpc3R1dGlscy9jb21tYW5kL2JkaXN0X3dpbmluc3QucHkKaW5kZXggZTNlZDNhZC4uOTU5YThiZiAxMDA2NDQKLS0tIGEvTGliL2Rpc3R1dGlscy9jb21tYW5kL2JkaXN0X3dpbmluc3QucHkKKysrIGIvTGliL2Rpc3R1dGlscy9jb21tYW5kL2JkaXN0X3dpbmluc3QucHkKQEAgLTI2NSwxMSArMjY1LDExIEBACiAgICAgICAgIGNmZ2RhdGEgPSBjZmdkYXRhICsgYiJcMCIKICAgICAgICAgaWYgc2VsZi5wcmVfaW5zdGFsbF9zY3JpcHQ6CiAgICAgICAgICAgICAjIFdlIG5lZWQgdG8gbm9ybWFsaXplIG5ld2xpbmVzLCBzbyB3ZSBvcGVuIGluIHRleHQgbW9kZSBhbmQKLSAgICAgICAgICAgICMgY29udmVydCBiYWNrIHRvIGJ5dGVzLiAibGF0aW4xIiBzaW1wbHkgYXZvaWRzIGFueSBwb3NzaWJsZQorICAgICAgICAgICAgIyBjb252ZXJ0IGJhY2sgdG8gYnl0ZXMuICJsYXRpbi0xIiBzaW1wbHkgYXZvaWRzIGFueSBwb3NzaWJsZQogICAgICAgICAgICAgIyBmYWlsdXJlcy4KICAgICAgICAgICAgIHdpdGggb3BlbihzZWxmLnByZV9pbnN0YWxsX3NjcmlwdCwgInIiLAotICAgICAgICAgICAgICAgIGVuY29kaW5nPSJsYXRpbjEiKSBhcyBzY3JpcHQ6Ci0gICAgICAgICAgICAgICAgc2NyaXB0X2RhdGEgPSBzY3JpcHQucmVhZCgpLmVuY29kZSgibGF0aW4xIikKKyAgICAgICAgICAgICAgICBlbmNvZGluZz0ibGF0aW4tMSIpIGFzIHNjcmlwdDoKKyAgICAgICAgICAgICAgICBzY3JpcHRfZGF0YSA9IHNjcmlwdC5yZWFkKCkuZW5jb2RlKCJsYXRpbi0xIikKICAgICAgICAgICAgIGNmZ2RhdGEgPSBjZmdkYXRhICsgc2NyaXB0X2RhdGEgKyBiIlxuXDAiCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAjIGVtcHR5IHByZS1pbnN0YWxsIHNjcmlwdApkaWZmIC0tZ2l0IGEvTGliL2Rpc3R1dGlscy9jb21tYW5kL2J1aWxkX2V4dC5weSBiL0xpYi9kaXN0dXRpbHMvY29tbWFuZC9idWlsZF9leHQucHkKaW5kZXggMzRiNjFiZC4uNTlkMGNkMiAxMDA2NDQKLS0tIGEvTGliL2Rpc3R1dGlscy9jb21tYW5kL2J1aWxkX2V4dC5weQorKysgYi9MaWIvZGlzdHV0aWxzL2NvbW1hbmQvYnVpbGRfZXh0LnB5CkBAIC0yMzksOCArMjM5LDcgQEAKICAgICAgICAgIyBmb3IgZXh0ZW5zaW9ucyB1bmRlciBMaW51eCBvciBTb2xhcmlzIHdpdGggYSBzaGFyZWQgUHl0aG9uIGxpYnJhcnksCiAgICAgICAgICMgUHl0aG9uJ3MgbGlicmFyeSBkaXJlY3RvcnkgbXVzdCBiZSBhcHBlbmRlZCB0byBsaWJyYXJ5X2RpcnMKICAgICAgICAgc3lzY29uZmlnLmdldF9jb25maWdfdmFyKCdQeV9FTkFCTEVfU0hBUkVEJykKLSAgICAgICAgaWYgKChzeXMucGxhdGZvcm0uc3RhcnRzd2l0aCgnbGludXgnKSBvciBzeXMucGxhdGZvcm0uc3RhcnRzd2l0aCgnZ251JykKLSAgICAgICAgICAgICBvciBzeXMucGxhdGZvcm0uc3RhcnRzd2l0aCgnc3Vub3MnKSkKKyAgICAgICAgaWYgKHN5cy5wbGF0Zm9ybS5zdGFydHN3aXRoKCgnbGludXgnLCAnZ251JywgJ3N1bm9zJykpCiAgICAgICAgICAgICBhbmQgc3lzY29uZmlnLmdldF9jb25maWdfdmFyKCdQeV9FTkFCTEVfU0hBUkVEJykpOgogICAgICAgICAgICAgaWYgc3lzLmV4ZWN1dGFibGUuc3RhcnRzd2l0aChvcy5wYXRoLmpvaW4oc3lzLmV4ZWNfcHJlZml4LCAiYmluIikpOgogICAgICAgICAgICAgICAgICMgYnVpbGRpbmcgdGhpcmQgcGFydHkgZXh0ZW5zaW9ucwpkaWZmIC0tZ2l0IGEvTGliL2Rpc3R1dGlscy9jb21tYW5kL2J1aWxkX3NjcmlwdHMucHkgYi9MaWIvZGlzdHV0aWxzL2NvbW1hbmQvYnVpbGRfc2NyaXB0cy5weQppbmRleCBlYzQzNDc3Li40YjViMjJlIDEwMDY0NAotLS0gYS9MaWIvZGlzdHV0aWxzL2NvbW1hbmQvYnVpbGRfc2NyaXB0cy5weQorKysgYi9MaWIvZGlzdHV0aWxzL2NvbW1hbmQvYnVpbGRfc2NyaXB0cy5weQpAQCAtMTI2LDEwICsxMjYsOSBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICJUaGUgc2hlYmFuZyAoeyFyfSkgaXMgbm90IGRlY29kYWJsZSAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImZyb20gdGhlIHNjcmlwdCBlbmNvZGluZyAoe30pIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5mb3JtYXQoc2hlYmFuZywgZW5jb2RpbmcpKQotICAgICAgICAgICAgICAgICAgICBvdXRmID0gb3BlbihvdXRmaWxlLCAid2IiKQotICAgICAgICAgICAgICAgICAgICBvdXRmLndyaXRlKHNoZWJhbmcpCi0gICAgICAgICAgICAgICAgICAgIG91dGYud3JpdGVsaW5lcyhmLnJlYWRsaW5lcygpKQotICAgICAgICAgICAgICAgICAgICBvdXRmLmNsb3NlKCkKKyAgICAgICAgICAgICAgICAgICAgd2l0aCBvcGVuKG91dGZpbGUsICJ3YiIpIGFzIG91dGY6CisgICAgICAgICAgICAgICAgICAgICAgICBvdXRmLndyaXRlKHNoZWJhbmcpCisgICAgICAgICAgICAgICAgICAgICAgICBvdXRmLndyaXRlbGluZXMoZi5yZWFkbGluZXMoKSkKICAgICAgICAgICAgICAgICBpZiBmOgogICAgICAgICAgICAgICAgICAgICBmLmNsb3NlKCkKICAgICAgICAgICAgIGVsc2U6CmRpZmYgLS1naXQgYS9MaWIvZGlzdHV0aWxzL3Rlc3RzL3Rlc3RfYXJjaGl2ZV91dGlsLnB5IGIvTGliL2Rpc3R1dGlscy90ZXN0cy90ZXN0X2FyY2hpdmVfdXRpbC5weQppbmRleCA4ZWRmYWI0Li4xYWZkZDQ2IDEwMDY0NAotLS0gYS9MaWIvZGlzdHV0aWxzL3Rlc3RzL3Rlc3RfYXJjaGl2ZV91dGlsLnB5CisrKyBiL0xpYi9kaXN0dXRpbHMvdGVzdHMvdGVzdF9hcmNoaXZlX3V0aWwucHkKQEAgLTEsNiArMSw4IEBACisjIC0qLSBjb2Rpbmc6IHV0Zi04IC0qLQogIiIiVGVzdHMgZm9yIGRpc3R1dGlscy5hcmNoaXZlX3V0aWwuIiIiCiBpbXBvcnQgdW5pdHRlc3QKIGltcG9ydCBvcworaW1wb3J0IHN5cwogaW1wb3J0IHRhcmZpbGUKIGZyb20gb3MucGF0aCBpbXBvcnQgc3BsaXRkcml2ZQogaW1wb3J0IHdhcm5pbmdzCkBAIC0yNSw2ICsyNywxOCBAQAogZXhjZXB0IEltcG9ydEVycm9yOgogICAgIFpMSUJfU1VQUE9SVCA9IEZhbHNlCiAKK2RlZiBjYW5fZnNfZW5jb2RlKGZpbGVuYW1lKToKKyAgICAiIiIKKyAgICBSZXR1cm4gVHJ1ZSBpZiB0aGUgZmlsZW5hbWUgY2FuIGJlIHNhdmVkIGluIHRoZSBmaWxlIHN5c3RlbS4KKyAgICAiIiIKKyAgICBpZiBvcy5wYXRoLnN1cHBvcnRzX3VuaWNvZGVfZmlsZW5hbWVzOgorICAgICAgICByZXR1cm4gVHJ1ZQorICAgIHRyeToKKyAgICAgICAgZmlsZW5hbWUuZW5jb2RlKHN5cy5nZXRmaWxlc3lzdGVtZW5jb2RpbmcoKSkKKyAgICBleGNlcHQgVW5pY29kZUVuY29kZUVycm9yOgorICAgICAgICByZXR1cm4gRmFsc2UKKyAgICByZXR1cm4gVHJ1ZQorCiAKIGNsYXNzIEFyY2hpdmVVdGlsVGVzdENhc2Uoc3VwcG9ydC5UZW1wZGlyTWFuYWdlciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VwcG9ydC5Mb2dnaW5nU2lsZW5jZXIsCkBAIC0zMiw2ICs0NiwyOCBAQAogCiAgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3MoWkxJQl9TVVBQT1JULCAnTmVlZCB6bGliIHN1cHBvcnQgdG8gcnVuJykKICAgICBkZWYgdGVzdF9tYWtlX3RhcmJhbGwoc2VsZik6CisgICAgICAgIHNlbGYuX21ha2VfdGFyYmFsbCgnYXJjaGl2ZScpCisKKyAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhaTElCX1NVUFBPUlQsICdOZWVkIHpsaWIgc3VwcG9ydCB0byBydW4nKQorICAgIEB1bml0dGVzdC5za2lwVW5sZXNzKGNhbl9mc19lbmNvZGUoJ8OlcmNoaXYnKSwKKyAgICAgICAgJ0ZpbGUgc3lzdGVtIGNhbm5vdCBoYW5kbGUgdGhpcyBmaWxlbmFtZScpCisgICAgZGVmIHRlc3RfbWFrZV90YXJiYWxsX2xhdGluMShzZWxmKToKKyAgICAgICAgIiIiCisgICAgICAgIE1pcnJvciB0ZXN0X21ha2VfdGFyYmFsbCwgZXhjZXB0IGZpbGVuYW1lIGNvbnRhaW5zIGxhdGluIGNoYXJhY3RlcnMuCisgICAgICAgICIiIgorICAgICAgICBzZWxmLl9tYWtlX3RhcmJhbGwoJ8OlcmNoaXYnKSAjIG5vdGUgdGhpcyBpc24ndCBhIHJlYWwgd29yZAorCisgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3MoWkxJQl9TVVBQT1JULCAnTmVlZCB6bGliIHN1cHBvcnQgdG8gcnVuJykKKyAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhjYW5fZnNfZW5jb2RlKCfjga7jgqLjg7zjgqvjgqTjg5YnKSwKKyAgICAgICAgJ0ZpbGUgc3lzdGVtIGNhbm5vdCBoYW5kbGUgdGhpcyBmaWxlbmFtZScpCisgICAgZGVmIHRlc3RfbWFrZV90YXJiYWxsX2V4dGVuZGVkKHNlbGYpOgorICAgICAgICAiIiIKKyAgICAgICAgTWlycm9yIHRlc3RfbWFrZV90YXJiYWxsLCBleGNlcHQgZmlsZW5hbWUgY29udGFpbnMgZXh0ZW5kZWQKKyAgICAgICAgY2hhcmFjdGVycyBvdXRzaWRlIHRoZSBsYXRpbiBjaGFyc2V0LgorICAgICAgICAiIiIKKyAgICAgICAgc2VsZi5fbWFrZV90YXJiYWxsKCfjga7jgqLjg7zjgqvjgqTjg5YnKSAjIGphcGFuZXNlIGZvciBhcmNoaXZlCisKKyAgICBkZWYgX21ha2VfdGFyYmFsbChzZWxmLCB0YXJnZXRfbmFtZSk6CiAgICAgICAgICMgY3JlYXRpbmcgc29tZXRoaW5nIHRvIHRhcgogICAgICAgICB0bXBkaXIgPSBzZWxmLm1rZHRlbXAoKQogICAgICAgICBzZWxmLndyaXRlX2ZpbGUoW3RtcGRpciwgJ2ZpbGUxJ10sICd4eHgnKQpAQCAtNDMsNyArNzksNyBAQAogICAgICAgICB1bml0dGVzdC5za2lwVW5sZXNzKHNwbGl0ZHJpdmUodG1wZGlyKVswXSA9PSBzcGxpdGRyaXZlKHRtcGRpcjIpWzBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICJTb3VyY2UgYW5kIHRhcmdldCBzaG91bGQgYmUgb24gc2FtZSBkcml2ZSIpCiAKLSAgICAgICAgYmFzZV9uYW1lID0gb3MucGF0aC5qb2luKHRtcGRpcjIsICdhcmNoaXZlJykKKyAgICAgICAgYmFzZV9uYW1lID0gb3MucGF0aC5qb2luKHRtcGRpcjIsIHRhcmdldF9uYW1lKQogCiAgICAgICAgICMgd29ya2luZyB3aXRoIHJlbGF0aXZlIHBhdGhzIHRvIGF2b2lkIHRhciB3YXJuaW5ncwogICAgICAgICBvbGRfZGlyID0gb3MuZ2V0Y3dkKCkKQEAgLTU4LDcgKzk0LDcgQEAKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG9zLnBhdGguZXhpc3RzKHRhcmJhbGwpKQogCiAgICAgICAgICMgdHJ5aW5nIGFuIHVuY29tcHJlc3NlZCBvbmUKLSAgICAgICAgYmFzZV9uYW1lID0gb3MucGF0aC5qb2luKHRtcGRpcjIsICdhcmNoaXZlJykKKyAgICAgICAgYmFzZV9uYW1lID0gb3MucGF0aC5qb2luKHRtcGRpcjIsIHRhcmdldF9uYW1lKQogICAgICAgICBvbGRfZGlyID0gb3MuZ2V0Y3dkKCkKICAgICAgICAgb3MuY2hkaXIodG1wZGlyKQogICAgICAgICB0cnk6CmRpZmYgLS1naXQgYS9MaWIvZGlzdHV0aWxzL3Rlc3RzL3Rlc3RfYmRpc3RfcnBtLnB5IGIvTGliL2Rpc3R1dGlscy90ZXN0cy90ZXN0X2JkaXN0X3JwbS5weQppbmRleCBhYjdhMWJmLi5iMDkwYjc5IDEwMDY0NAotLS0gYS9MaWIvZGlzdHV0aWxzL3Rlc3RzL3Rlc3RfYmRpc3RfcnBtLnB5CisrKyBiL0xpYi9kaXN0dXRpbHMvdGVzdHMvdGVzdF9iZGlzdF9ycG0ucHkKQEAgLTI4LDYgKzI4LDExIEBACiAgICAgICAgICAgICAgICAgICAgICAgIHVuaXR0ZXN0LlRlc3RDYXNlKToKIAogICAgIGRlZiBzZXRVcChzZWxmKToKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgc3lzLmV4ZWN1dGFibGUuZW5jb2RlKCJVVEYtOCIpCisgICAgICAgIGV4Y2VwdCBVbmljb2RlRW5jb2RlRXJyb3I6CisgICAgICAgICAgICByYWlzZSB1bml0dGVzdC5Ta2lwVGVzdCgic3lzLmV4ZWN1dGFibGUgaXMgbm90IGVuY29kYWJsZSB0byBVVEYtOCIpCisKICAgICAgICAgc3VwZXIoQnVpbGRScG1UZXN0Q2FzZSwgc2VsZikuc2V0VXAoKQogICAgICAgICBzZWxmLm9sZF9sb2NhdGlvbiA9IG9zLmdldGN3ZCgpCiAgICAgICAgIHNlbGYub2xkX3N5c19hcmd2ID0gc3lzLmFyZ3YsIHN5cy5hcmd2WzpdCkBAIC00Miw3ICs0Nyw3IEBACiAKICAgICAgICAgIyBYWFggSSBhbSB1bmFibGUgeWV0IHRvIG1ha2UgdGhpcyB0ZXN0IHdvcmsgd2l0aG91dAogICAgICAgICAjIHNwdXJpb3VzIHNkdG91dC9zdGRlcnIgb3V0cHV0IHVuZGVyIE1hYyBPUyBYCi0gICAgICAgIGlmIHN5cy5wbGF0Zm9ybSAhPSAnbGludXgyJzoKKyAgICAgICAgaWYgbm90IHN5cy5wbGF0Zm9ybS5zdGFydHN3aXRoKCdsaW51eCcpOgogICAgICAgICAgICAgcmV0dXJuCiAKICAgICAgICAgIyB0aGlzIHRlc3Qgd2lsbCBydW4gb25seSBpZiB0aGUgcnBtIGNvbW1hbmRzIGFyZSBmb3VuZApAQCAtODYsNyArOTEsNyBAQAogCiAgICAgICAgICMgWFhYIEkgYW0gdW5hYmxlIHlldCB0byBtYWtlIHRoaXMgdGVzdCB3b3JrIHdpdGhvdXQKICAgICAgICAgIyBzcHVyaW91cyBzZHRvdXQvc3RkZXJyIG91dHB1dCB1bmRlciBNYWMgT1MgWAotICAgICAgICBpZiBzeXMucGxhdGZvcm0gIT0gJ2xpbnV4Mic6CisgICAgICAgIGlmIG5vdCBzeXMucGxhdGZvcm0uc3RhcnRzd2l0aCgnbGludXgnKToKICAgICAgICAgICAgIHJldHVybgogCiAgICAgICAgICMgaHR0cDovL2J1Z3MucHl0aG9uLm9yZy9pc3N1ZTE1MzMxNjQKZGlmZiAtLWdpdCBhL0xpYi9kb2N0ZXN0LnB5IGIvTGliL2RvY3Rlc3QucHkKaW5kZXggMjM0NzMzZS4uYWJhOThkYyAxMDA2NDQKLS0tIGEvTGliL2RvY3Rlc3QucHkKKysrIGIvTGliL2RvY3Rlc3QucHkKQEAgLTQ1OCw3ICs0NTgsNiBAQAogICAgICAgICByZXR1cm4gaGFzaCgoc2VsZi5zb3VyY2UsIHNlbGYud2FudCwgc2VsZi5saW5lbm8sIHNlbGYuaW5kZW50LAogICAgICAgICAgICAgICAgICAgICAgc2VsZi5leGNfbXNnKSkKIAotCiBjbGFzcyBEb2NUZXN0OgogICAgICIiIgogICAgIEEgY29sbGVjdGlvbiBvZiBkb2N0ZXN0IGV4YW1wbGVzIHRoYXQgc2hvdWxkIGJlIHJ1biBpbiBhIHNpbmdsZQpAQCAtMTM2Nyw3ICsxMzY2LDcgQEAKICAgICAgICAgbSA9IHNlbGYuX19MSU5FQ0FDSEVfRklMRU5BTUVfUkUubWF0Y2goZmlsZW5hbWUpCiAgICAgICAgIGlmIG0gYW5kIG0uZ3JvdXAoJ25hbWUnKSA9PSBzZWxmLnRlc3QubmFtZToKICAgICAgICAgICAgIGV4YW1wbGUgPSBzZWxmLnRlc3QuZXhhbXBsZXNbaW50KG0uZ3JvdXAoJ2V4YW1wbGVudW0nKSldCi0gICAgICAgICAgICByZXR1cm4gZXhhbXBsZS5zb3VyY2Uuc3BsaXRsaW5lcyhUcnVlKQorICAgICAgICAgICAgcmV0dXJuIGV4YW1wbGUuc291cmNlLnNwbGl0bGluZXMoa2VlcGVuZHM9VHJ1ZSkKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHJldHVybiBzZWxmLnNhdmVfbGluZWNhY2hlX2dldGxpbmVzKGZpbGVuYW1lLCBtb2R1bGVfZ2xvYmFscykKIApAQCAtMTQxMyw2ICsxNDEyLDcgQEAKICAgICAgICAgIyBOb3RlIHRoYXQgdGhlIGludGVyYWN0aXZlIG91dHB1dCB3aWxsIGdvIHRvICpvdXIqCiAgICAgICAgICMgc2F2ZV9zdGRvdXQsIGV2ZW4gaWYgdGhhdCdzIG5vdCB0aGUgcmVhbCBzeXMuc3Rkb3V0OyB0aGlzCiAgICAgICAgICMgYWxsb3dzIHVzIHRvIHdyaXRlIHRlc3QgY2FzZXMgZm9yIHRoZSBzZXRfdHJhY2UgYmVoYXZpb3IuCisgICAgICAgIHNhdmVfdHJhY2UgPSBzeXMuZ2V0dHJhY2UoKQogICAgICAgICBzYXZlX3NldF90cmFjZSA9IHBkYi5zZXRfdHJhY2UKICAgICAgICAgc2VsZi5kZWJ1Z2dlciA9IF9PdXRwdXRSZWRpcmVjdGluZ1BkYihzYXZlX3N0ZG91dCkKICAgICAgICAgc2VsZi5kZWJ1Z2dlci5yZXNldCgpCkBAIC0xNDMyLDYgKzE0MzIsNyBAQAogICAgICAgICBmaW5hbGx5OgogICAgICAgICAgICAgc3lzLnN0ZG91dCA9IHNhdmVfc3Rkb3V0CiAgICAgICAgICAgICBwZGIuc2V0X3RyYWNlID0gc2F2ZV9zZXRfdHJhY2UKKyAgICAgICAgICAgIHN5cy5zZXR0cmFjZShzYXZlX3RyYWNlKQogICAgICAgICAgICAgbGluZWNhY2hlLmdldGxpbmVzID0gc2VsZi5zYXZlX2xpbmVjYWNoZV9nZXRsaW5lcwogICAgICAgICAgICAgc3lzLmRpc3BsYXlob29rID0gc2F2ZV9kaXNwbGF5aG9vawogICAgICAgICAgICAgaWYgY2xlYXJfZ2xvYnM6CkBAIC0xNjI4LDggKzE2MjksOCBAQAogICAgICAgICAjIENoZWNrIGlmIHdlIHNob3VsZCB1c2UgZGlmZi4KICAgICAgICAgaWYgc2VsZi5fZG9fYV9mYW5jeV9kaWZmKHdhbnQsIGdvdCwgb3B0aW9uZmxhZ3MpOgogICAgICAgICAgICAgIyBTcGxpdCB3YW50ICYgZ290IGludG8gbGluZXMuCi0gICAgICAgICAgICB3YW50X2xpbmVzID0gd2FudC5zcGxpdGxpbmVzKFRydWUpICAjIFRydWUgPT0ga2VlcCBsaW5lIGVuZHMKLSAgICAgICAgICAgIGdvdF9saW5lcyA9IGdvdC5zcGxpdGxpbmVzKFRydWUpCisgICAgICAgICAgICB3YW50X2xpbmVzID0gd2FudC5zcGxpdGxpbmVzKGtlZXBlbmRzPVRydWUpCisgICAgICAgICAgICBnb3RfbGluZXMgPSBnb3Quc3BsaXRsaW5lcyhrZWVwZW5kcz1UcnVlKQogICAgICAgICAgICAgIyBVc2UgZGlmZmxpYiB0byBmaW5kIHRoZWlyIGRpZmZlcmVuY2VzLgogICAgICAgICAgICAgaWYgb3B0aW9uZmxhZ3MgJiBSRVBPUlRfVURJRkY6CiAgICAgICAgICAgICAgICAgZGlmZiA9IGRpZmZsaWIudW5pZmllZF9kaWZmKHdhbnRfbGluZXMsIGdvdF9saW5lcywgbj0yKQpkaWZmIC0tZ2l0IGEvTGliL2VtYWlsL19wYXJzZWFkZHIucHkgYi9MaWIvZW1haWwvX3BhcnNlYWRkci5weQppbmRleCBhMjk1NzU3Li4wMzQyNDY5IDEwMDY0NAotLS0gYS9MaWIvZW1haWwvX3BhcnNlYWRkci5weQorKysgYi9MaWIvZW1haWwvX3BhcnNlYWRkci5weQpAQCAtNDcsNiArNDcsMjEgQEAKIAogICAgIEFjY291bnRzIGZvciBtaWxpdGFyeSB0aW1lem9uZXMuCiAgICAgIiIiCisgICAgcmVzID0gX3BhcnNlZGF0ZV90eihkYXRhKQorICAgIGlmIHJlc1s5XSBpcyBOb25lOgorICAgICAgICByZXNbOV0gPSAwCisgICAgcmV0dXJuIHR1cGxlKHJlcykKKworZGVmIF9wYXJzZWRhdGVfdHooZGF0YSk6CisgICAgIiIiQ29udmVydCBkYXRlIHRvIGV4dGVuZGVkIHRpbWUgdHVwbGUuCisKKyAgICBUaGUgbGFzdCAoYWRkaXRpb25hbCkgZWxlbWVudCBpcyB0aGUgdGltZSB6b25lIG9mZnNldCBpbiBzZWNvbmRzLCBleGNlcHQgaWYKKyAgICB0aGUgdGltZXpvbmUgd2FzIHNwZWNpZmllZCBhcyAtMDAwMC4gIEluIHRoYXQgY2FzZSB0aGUgbGFzdCBlbGVtZW50IGlzCisgICAgTm9uZS4gIFRoaXMgaW5kaWNhdGVzIGEgVVRDIHRpbWVzdGFtcCB0aGF0IGV4cGxpY2l0bHkgZGVjbGFpbXMga25vd2xlZGdlIG9mCisgICAgdGhlIHNvdXJjZSB0aW1lem9uZSwgYXMgb3Bwb3NlZCB0byBhICswMDAwIHRpbWVzdGFtcCB0aGF0IGluZGljYXRlcyB0aGUKKyAgICBzb3VyY2UgdGltZXpvbmUgcmVhbGx5IHdhcyBVVEMuCisKKyAgICAiIiIKICAgICBkYXRhID0gZGF0YS5zcGxpdCgpCiAgICAgIyBUaGUgRldTIGFmdGVyIHRoZSBjb21tYSBhZnRlciB0aGUgZGF5LW9mLXdlZWsgaXMgb3B0aW9uYWwsIHNvIHNlYXJjaCBhbmQKICAgICAjIGFkanVzdCBmb3IgdGhpcy4KQEAgLTk5LDYgKzExNCwxNCBAQAogICAgICAgICB0c3MgPSAnMCcKICAgICBlbGlmIGxlbih0bSkgPT0gMzoKICAgICAgICAgW3RoaCwgdG1tLCB0c3NdID0gdG0KKyAgICBlbGlmIGxlbih0bSkgPT0gMSBhbmQgJy4nIGluIHRtWzBdOgorICAgICAgICAjIFNvbWUgbm9uLWNvbXBsaWFudCBNVUFzIHVzZSAnLicgdG8gc2VwYXJhdGUgdGltZSBlbGVtZW50cy4KKyAgICAgICAgdG0gPSB0bVswXS5zcGxpdCgnLicpCisgICAgICAgIGlmIGxlbih0bSkgPT0gMjoKKyAgICAgICAgICAgIFt0aGgsIHRtbV0gPSB0bQorICAgICAgICAgICAgdHNzID0gMAorICAgICAgICBlbGlmIGxlbih0bSkgPT0gMzoKKyAgICAgICAgICAgIFt0aGgsIHRtbSwgdHNzXSA9IHRtCiAgICAgZWxzZToKICAgICAgICAgcmV0dXJuIE5vbmUKICAgICB0cnk6CkBAIC0xMzAsNiArMTUzLDggQEAKICAgICAgICAgICAgIHR6b2Zmc2V0ID0gaW50KHR6KQogICAgICAgICBleGNlcHQgVmFsdWVFcnJvcjoKICAgICAgICAgICAgIHBhc3MKKyAgICAgICAgaWYgdHpvZmZzZXQ9PTAgYW5kIHR6LnN0YXJ0c3dpdGgoJy0nKToKKyAgICAgICAgICAgIHR6b2Zmc2V0ID0gTm9uZQogICAgICMgQ29udmVydCBhIHRpbWV6b25lIG9mZnNldCBpbnRvIHNlY29uZHMgOyAtMDUwMCAtPiAtMTgwMDAKICAgICBpZiB0em9mZnNldDoKICAgICAgICAgaWYgdHpvZmZzZXQgPCAwOgpAQCAtMTM5LDcgKzE2NCw3IEBACiAgICAgICAgICAgICB0enNpZ24gPSAxCiAgICAgICAgIHR6b2Zmc2V0ID0gdHpzaWduICogKCAodHpvZmZzZXQvLzEwMCkqMzYwMCArICh0em9mZnNldCAlIDEwMCkqNjApCiAgICAgIyBEYXlsaWdodCBTYXZpbmcgVGltZSBmbGFnIGlzIHNldCB0byAtMSwgc2luY2UgRFNUIGlzIHVua25vd24uCi0gICAgcmV0dXJuIHl5LCBtbSwgZGQsIHRoaCwgdG1tLCB0c3MsIDAsIDEsIC0xLCB0em9mZnNldAorICAgIHJldHVybiBbeXksIG1tLCBkZCwgdGhoLCB0bW0sIHRzcywgMCwgMSwgLTEsIHR6b2Zmc2V0XQogCiAKIGRlZiBwYXJzZWRhdGUoZGF0YSk6CmRpZmYgLS1naXQgYS9MaWIvZW1haWwvZXJyb3JzLnB5IGIvTGliL2VtYWlsL2Vycm9ycy5weQppbmRleCBkNTJhNjI0Li5jMDRkZWI0IDEwMDY0NAotLS0gYS9MaWIvZW1haWwvZXJyb3JzLnB5CisrKyBiL0xpYi9lbWFpbC9lcnJvcnMucHkKQEAgLTMyLDcgKzMyLDcgQEAKIAogDAogIyBUaGVzZSBhcmUgcGFyc2luZyBkZWZlY3RzIHdoaWNoIHRoZSBwYXJzZXIgd2FzIGFibGUgdG8gd29yayBhcm91bmQuCi1jbGFzcyBNZXNzYWdlRGVmZWN0OgorY2xhc3MgTWVzc2FnZURlZmVjdChFeGNlcHRpb24pOgogICAgICIiIkJhc2UgY2xhc3MgZm9yIGEgbWVzc2FnZSBkZWZlY3QuIiIiCiAKICAgICBkZWYgX19pbml0X18oc2VsZiwgbGluZT1Ob25lKToKQEAgLTU1LDMgKzU1LDYgQEAKIAogY2xhc3MgTXVsdGlwYXJ0SW52YXJpYW50VmlvbGF0aW9uRGVmZWN0KE1lc3NhZ2VEZWZlY3QpOgogICAgICIiIkEgbWVzc2FnZSBjbGFpbWVkIHRvIGJlIGEgbXVsdGlwYXJ0IGJ1dCBubyBzdWJwYXJ0cyB3ZXJlIGZvdW5kLiIiIgorCitjbGFzcyBJbnZhbGlkTXVsdGlwYXJ0Q29udGVudFRyYW5zZmVyRW5jb2RpbmdEZWZlY3QoTWVzc2FnZURlZmVjdCk6CisgICAgIiIiQW4gaW52YWxpZCBjb250ZW50IHRyYW5zZmVyIGVuY29kaW5nIHdhcyBzZXQgb24gdGhlIG11bHRpcGFydCBpdHNlbGYuIiIiCmRpZmYgLS1naXQgYS9MaWIvZW1haWwvZmVlZHBhcnNlci5weSBiL0xpYi9lbWFpbC9mZWVkcGFyc2VyLnB5CmluZGV4IGFhOGEyZmYuLjUzM2ViZGYgMTAwNjQ0Ci0tLSBhL0xpYi9lbWFpbC9mZWVkcGFyc2VyLnB5CisrKyBiL0xpYi9lbWFpbC9mZWVkcGFyc2VyLnB5CkBAIC0yNSw2ICsyNSw3IEBACiAKIGZyb20gZW1haWwgaW1wb3J0IGVycm9ycwogZnJvbSBlbWFpbCBpbXBvcnQgbWVzc2FnZQorZnJvbSBlbWFpbCBpbXBvcnQgcG9saWN5CiAKIE5MQ1JFID0gcmUuY29tcGlsZSgnXHJcbnxccnxcbicpCiBOTENSRV9ib2wgPSByZS5jb21waWxlKCcoXHJcbnxccnxcbiknKQpAQCAtMTIwLDkgKzEyMSw2IEBACiAgICAgICAgICMgUmV2ZXJzZSBhbmQgaW5zZXJ0IGF0IHRoZSBmcm9udCBvZiB0aGUgbGluZXMuCiAgICAgICAgIHNlbGYuX2xpbmVzWzowXSA9IGxpbmVzWzo6LTFdCiAKLSAgICBkZWYgaXNfY2xvc2VkKHNlbGYpOgotICAgICAgICByZXR1cm4gc2VsZi5fY2xvc2VkCi0KICAgICBkZWYgX19pdGVyX18oc2VsZik6CiAgICAgICAgIHJldHVybiBzZWxmCiAKQEAgLTEzNyw5ICsxMzUsMTYgQEAKIGNsYXNzIEZlZWRQYXJzZXI6CiAgICAgIiIiQSBmZWVkLXN0eWxlIHBhcnNlciBvZiBlbWFpbC4iIiIKIAotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBfZmFjdG9yeT1tZXNzYWdlLk1lc3NhZ2UpOgotICAgICAgICAiIiJfZmFjdG9yeSBpcyBjYWxsZWQgd2l0aCBubyBhcmd1bWVudHMgdG8gY3JlYXRlIGEgbmV3IG1lc3NhZ2Ugb2JqIiIiCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIF9mYWN0b3J5PW1lc3NhZ2UuTWVzc2FnZSwgKiwgcG9saWN5PXBvbGljeS5kZWZhdWx0KToKKyAgICAgICAgIiIiX2ZhY3RvcnkgaXMgY2FsbGVkIHdpdGggbm8gYXJndW1lbnRzIHRvIGNyZWF0ZSBhIG5ldyBtZXNzYWdlIG9iagorCisgICAgICAgIFRoZSBwb2xpY3kga2V5d29yZCBzcGVjaWZpZXMgYSBwb2xpY3kgb2JqZWN0IHRoYXQgY29udHJvbHMgYSBudW1iZXIgb2YKKyAgICAgICAgYXNwZWN0cyBvZiB0aGUgcGFyc2VyJ3Mgb3BlcmF0aW9uLiAgVGhlIGRlZmF1bHQgcG9saWN5IG1haW50YWlucworICAgICAgICBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LgorCisgICAgICAgICIiIgogICAgICAgICBzZWxmLl9mYWN0b3J5ID0gX2ZhY3RvcnkKKyAgICAgICAgc2VsZi5wb2xpY3kgPSBwb2xpY3kKICAgICAgICAgc2VsZi5faW5wdXQgPSBCdWZmZXJlZFN1YkZpbGUoKQogICAgICAgICBzZWxmLl9tc2dzdGFjayA9IFtdCiAgICAgICAgIHNlbGYuX3BhcnNlID0gc2VsZi5fcGFyc2VnZW4oKS5fX25leHRfXwpAQCAtMTcxLDcgKzE3Niw4IEBACiAgICAgICAgICMgTG9vayBmb3IgZmluYWwgc2V0IG9mIGRlZmVjdHMKICAgICAgICAgaWYgcm9vdC5nZXRfY29udGVudF9tYWludHlwZSgpID09ICdtdWx0aXBhcnQnIFwKICAgICAgICAgICAgICAgIGFuZCBub3Qgcm9vdC5pc19tdWx0aXBhcnQoKToKLSAgICAgICAgICAgIHJvb3QuZGVmZWN0cy5hcHBlbmQoZXJyb3JzLk11bHRpcGFydEludmFyaWFudFZpb2xhdGlvbkRlZmVjdCgpKQorICAgICAgICAgICAgZGVmZWN0ID0gZXJyb3JzLk11bHRpcGFydEludmFyaWFudFZpb2xhdGlvbkRlZmVjdCgpCisgICAgICAgICAgICBzZWxmLnBvbGljeS5oYW5kbGVfZGVmZWN0KHJvb3QsIGRlZmVjdCkKICAgICAgICAgcmV0dXJuIHJvb3QKIAogICAgIGRlZiBfbmV3X21lc3NhZ2Uoc2VsZik6CkBAIC0yODQsNyArMjkwLDggQEAKICAgICAgICAgICAgICAgICAjIGRlZmluZWQgYSBib3VuZGFyeS4gIFRoYXQncyBhIHByb2JsZW0gd2hpY2ggd2UnbGwgaGFuZGxlIGJ5CiAgICAgICAgICAgICAgICAgIyByZWFkaW5nIGV2ZXJ5dGhpbmcgdW50aWwgdGhlIEVPRiBhbmQgbWFya2luZyB0aGUgbWVzc2FnZSBhcwogICAgICAgICAgICAgICAgICMgZGVmZWN0aXZlLgotICAgICAgICAgICAgICAgIHNlbGYuX2N1ci5kZWZlY3RzLmFwcGVuZChlcnJvcnMuTm9Cb3VuZGFyeUluTXVsdGlwYXJ0RGVmZWN0KCkpCisgICAgICAgICAgICAgICAgZGVmZWN0ID0gZXJyb3JzLk5vQm91bmRhcnlJbk11bHRpcGFydERlZmVjdCgpCisgICAgICAgICAgICAgICAgc2VsZi5wb2xpY3kuaGFuZGxlX2RlZmVjdChzZWxmLl9jdXIsIGRlZmVjdCkKICAgICAgICAgICAgICAgICBsaW5lcyA9IFtdCiAgICAgICAgICAgICAgICAgZm9yIGxpbmUgaW4gc2VsZi5faW5wdXQ6CiAgICAgICAgICAgICAgICAgICAgIGlmIGxpbmUgaXMgTmVlZE1vcmVEYXRhOgpAQCAtMjkzLDYgKzMwMCwxMSBAQAogICAgICAgICAgICAgICAgICAgICBsaW5lcy5hcHBlbmQobGluZSkKICAgICAgICAgICAgICAgICBzZWxmLl9jdXIuc2V0X3BheWxvYWQoRU1QVFlTVFJJTkcuam9pbihsaW5lcykpCiAgICAgICAgICAgICAgICAgcmV0dXJuCisgICAgICAgICAgICAjIE1ha2Ugc3VyZSBhIHZhbGlkIGNvbnRlbnQgdHlwZSB3YXMgc3BlY2lmaWVkIHBlciBSRkMgMjA0NTo2LjQuCisgICAgICAgICAgICBpZiAoc2VsZi5fY3VyLmdldCgnY29udGVudC10cmFuc2Zlci1lbmNvZGluZycsICc4Yml0JykubG93ZXIoKQorICAgICAgICAgICAgICAgICAgICBub3QgaW4gKCc3Yml0JywgJzhiaXQnLCAnYmluYXJ5JykpOgorICAgICAgICAgICAgICAgIGRlZmVjdCA9IGVycm9ycy5JbnZhbGlkTXVsdGlwYXJ0Q29udGVudFRyYW5zZmVyRW5jb2RpbmdEZWZlY3QoKQorICAgICAgICAgICAgICAgIHNlbGYucG9saWN5LmhhbmRsZV9kZWZlY3Qoc2VsZi5fY3VyLCBkZWZlY3QpCiAgICAgICAgICAgICAjIENyZWF0ZSBhIGxpbmUgbWF0Y2ggcHJlZGljYXRlIHdoaWNoIG1hdGNoZXMgdGhlIGludGVyLXBhcnQKICAgICAgICAgICAgICMgYm91bmRhcnkgYXMgd2VsbCBhcyB0aGUgZW5kLW9mLW11bHRpcGFydCBib3VuZGFyeS4gIERvbid0IHB1c2gKICAgICAgICAgICAgICMgdGhpcyBvbnRvIHRoZSBpbnB1dCBzdHJlYW0gdW50aWwgd2UndmUgc2Nhbm5lZCBwYXN0IHRoZQpAQCAtMzg4LDcgKzQwMCw4IEBACiAgICAgICAgICAgICAjIHRoYXQgYXMgYSBkZWZlY3QgYW5kIHN0b3JlIHRoZSBjYXB0dXJlZCB0ZXh0IGFzIHRoZSBwYXlsb2FkLgogICAgICAgICAgICAgIyBFdmVyeXRoaW5nIGZyb20gaGVyZSB0byB0aGUgRU9GIGlzIGVwaWxvZ3VlLgogICAgICAgICAgICAgaWYgY2FwdHVyaW5nX3ByZWFtYmxlOgotICAgICAgICAgICAgICAgIHNlbGYuX2N1ci5kZWZlY3RzLmFwcGVuZChlcnJvcnMuU3RhcnRCb3VuZGFyeU5vdEZvdW5kRGVmZWN0KCkpCisgICAgICAgICAgICAgICAgZGVmZWN0ID0gZXJyb3JzLlN0YXJ0Qm91bmRhcnlOb3RGb3VuZERlZmVjdCgpCisgICAgICAgICAgICAgICAgc2VsZi5wb2xpY3kuaGFuZGxlX2RlZmVjdChzZWxmLl9jdXIsIGRlZmVjdCkKICAgICAgICAgICAgICAgICBzZWxmLl9jdXIuc2V0X3BheWxvYWQoRU1QVFlTVFJJTkcuam9pbihwcmVhbWJsZSkpCiAgICAgICAgICAgICAgICAgZXBpbG9ndWUgPSBbXQogICAgICAgICAgICAgICAgIGZvciBsaW5lIGluIHNlbGYuX2lucHV0OgpAQCAtNDQwLDcgKzQ1Myw3IEBACiAgICAgICAgICAgICAgICAgICAgICMgaXMgaWxsZWdhbCwgc28gbGV0J3Mgbm90ZSB0aGUgZGVmZWN0LCBzdG9yZSB0aGUgaWxsZWdhbAogICAgICAgICAgICAgICAgICAgICAjIGxpbmUsIGFuZCBpZ25vcmUgaXQgZm9yIHB1cnBvc2VzIG9mIGhlYWRlcnMuCiAgICAgICAgICAgICAgICAgICAgIGRlZmVjdCA9IGVycm9ycy5GaXJzdEhlYWRlckxpbmVJc0NvbnRpbnVhdGlvbkRlZmVjdChsaW5lKQotICAgICAgICAgICAgICAgICAgICBzZWxmLl9jdXIuZGVmZWN0cy5hcHBlbmQoZGVmZWN0KQorICAgICAgICAgICAgICAgICAgICBzZWxmLnBvbGljeS5oYW5kbGVfZGVmZWN0KHNlbGYuX2N1ciwgZGVmZWN0KQogICAgICAgICAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICAgICAgICAgIGxhc3R2YWx1ZS5hcHBlbmQobGluZSkKICAgICAgICAgICAgICAgICBjb250aW51ZQpkaWZmIC0tZ2l0IGEvTGliL2VtYWlsL2dlbmVyYXRvci5weSBiL0xpYi9lbWFpbC9nZW5lcmF0b3IucHkKaW5kZXggMDRjMDIxMC4uZGNmZWE0YyAxMDA2NDQKLS0tIGEvTGliL2VtYWlsL2dlbmVyYXRvci5weQorKysgYi9MaWIvZW1haWwvZ2VuZXJhdG9yLnB5CkBAIC0xMyw4ICsxMywxMCBAQAogaW1wb3J0IHdhcm5pbmdzCiAKIGZyb20gaW8gaW1wb3J0IFN0cmluZ0lPLCBCeXRlc0lPCitmcm9tIGVtYWlsIGltcG9ydCBwb2xpY3kKIGZyb20gZW1haWwuaGVhZGVyIGltcG9ydCBIZWFkZXIKIGZyb20gZW1haWwubWVzc2FnZSBpbXBvcnQgX2hhc19zdXJyb2dhdGVzCitpbXBvcnQgZW1haWwuY2hhcnNldCBhcyBfY2hhcnNldAogCiBVTkRFUlNDT1JFID0gJ18nCiBOTCA9ICdcbicgICMgWFhYOiBubyBsb25nZXIgdXNlZCBieSB0aGUgY29kZSBiZWxvdy4KQEAgLTMzLDcgKzM1LDggQEAKICAgICAjIFB1YmxpYyBpbnRlcmZhY2UKICAgICAjCiAKLSAgICBkZWYgX19pbml0X18oc2VsZiwgb3V0ZnAsIG1hbmdsZV9mcm9tXz1UcnVlLCBtYXhoZWFkZXJsZW49NzgpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBvdXRmcCwgbWFuZ2xlX2Zyb21fPVRydWUsIG1heGhlYWRlcmxlbj1Ob25lLCAqLAorICAgICAgICAgICAgICAgICBwb2xpY3k9cG9saWN5LmRlZmF1bHQpOgogICAgICAgICAiIiJDcmVhdGUgdGhlIGdlbmVyYXRvciBmb3IgbWVzc2FnZSBmbGF0dGVuaW5nLgogCiAgICAgICAgIG91dGZwIGlzIHRoZSBvdXRwdXQgZmlsZS1saWtlIG9iamVjdCBmb3Igd3JpdGluZyB0aGUgbWVzc2FnZSB0by4gIEl0CkBAIC00OSwxNiArNTIsMjMgQEAKICAgICAgICAgZGVmaW5lZCBpbiB0aGUgSGVhZGVyIGNsYXNzLiAgU2V0IG1heGhlYWRlcmxlbiB0byB6ZXJvIHRvIGRpc2FibGUKICAgICAgICAgaGVhZGVyIHdyYXBwaW5nLiAgVGhlIGRlZmF1bHQgaXMgNzgsIGFzIHJlY29tbWVuZGVkIChidXQgbm90IHJlcXVpcmVkKQogICAgICAgICBieSBSRkMgMjgyMi4KKworICAgICAgICBUaGUgcG9saWN5IGtleXdvcmQgc3BlY2lmaWVzIGEgcG9saWN5IG9iamVjdCB0aGF0IGNvbnRyb2xzIGEgbnVtYmVyIG9mCisgICAgICAgIGFzcGVjdHMgb2YgdGhlIGdlbmVyYXRvcidzIG9wZXJhdGlvbi4gIFRoZSBkZWZhdWx0IHBvbGljeSBtYWludGFpbnMKKyAgICAgICAgYmFja3dhcmQgY29tcGF0aWJpbGl0eS4KKwogICAgICAgICAiIiIKICAgICAgICAgc2VsZi5fZnAgPSBvdXRmcAogICAgICAgICBzZWxmLl9tYW5nbGVfZnJvbV8gPSBtYW5nbGVfZnJvbV8KLSAgICAgICAgc2VsZi5fbWF4aGVhZGVybGVuID0gbWF4aGVhZGVybGVuCisgICAgICAgIHNlbGYuX21heGhlYWRlcmxlbiA9IChtYXhoZWFkZXJsZW4gaWYgbWF4aGVhZGVybGVuIGlzIG5vdCBOb25lIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvbGljeS5tYXhfbGluZV9sZW5ndGgpCisgICAgICAgIHNlbGYucG9saWN5ID0gcG9saWN5CiAKICAgICBkZWYgd3JpdGUoc2VsZiwgcyk6CiAgICAgICAgICMgSnVzdCBkZWxlZ2F0ZSB0byB0aGUgZmlsZSBvYmplY3QKICAgICAgICAgc2VsZi5fZnAud3JpdGUocykKIAotICAgIGRlZiBmbGF0dGVuKHNlbGYsIG1zZywgdW5peGZyb209RmFsc2UsIGxpbmVzZXA9J1xuJyk6CisgICAgZGVmIGZsYXR0ZW4oc2VsZiwgbXNnLCB1bml4ZnJvbT1GYWxzZSwgbGluZXNlcD1Ob25lKToKICAgICAgICAgciIiIlByaW50IHRoZSBtZXNzYWdlIG9iamVjdCB0cmVlIHJvb3RlZCBhdCBtc2cgdG8gdGhlIG91dHB1dCBmaWxlCiAgICAgICAgIHNwZWNpZmllZCB3aGVuIHRoZSBHZW5lcmF0b3IgaW5zdGFuY2Ugd2FzIGNyZWF0ZWQuCiAKQEAgLTcwLDE3ICs4MCwxNSBAQAogICAgICAgICBOb3RlIHRoYXQgZm9yIHN1Ym9iamVjdHMsIG5vIEZyb21fIGxpbmUgaXMgcHJpbnRlZC4KIAogICAgICAgICBsaW5lc2VwIHNwZWNpZmllcyB0aGUgY2hhcmFjdGVycyB1c2VkIHRvIGluZGljYXRlIGEgbmV3IGxpbmUgaW4KLSAgICAgICAgdGhlIG91dHB1dC4gIFRoZSBkZWZhdWx0IHZhbHVlIGlzIHRoZSBtb3N0IHVzZWZ1bCBmb3IgdHlwaWNhbAotICAgICAgICBQeXRob24gYXBwbGljYXRpb25zLCBidXQgaXQgY2FuIGJlIHNldCB0byBcclxuIHRvIHByb2R1Y2UgUkZDLWNvbXBsaWFudAotICAgICAgICBsaW5lIHNlcGFyYXRvcnMgd2hlbiBuZWVkZWQuCisgICAgICAgIHRoZSBvdXRwdXQuICBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBkZXRlcm1pbmVkIGJ5IHRoZSBwb2xpY3kuCiAKICAgICAgICAgIiIiCiAgICAgICAgICMgV2UgdXNlIHRoZSBfWFhYIGNvbnN0YW50cyBmb3Igb3BlcmF0aW5nIG9uIGRhdGEgdGhhdCBjb21lcyBkaXJlY3RseQogICAgICAgICAjIGZyb20gdGhlIG1zZywgYW5kIF9lbmNvZGVkX1hYWCBjb25zdGFudHMgZm9yIG9wZXJhdGluZyBvbiBkYXRhIHRoYXQKICAgICAgICAgIyBoYXMgYWxyZWFkeSBiZWVuIGNvbnZlcnRlZCAodG8gYnl0ZXMgaW4gdGhlIEJ5dGVzR2VuZXJhdG9yKSBhbmQKICAgICAgICAgIyBpbnNlcnRlZCBpbnRvIGEgdGVtcG9yYXJ5IGJ1ZmZlci4KLSAgICAgICAgc2VsZi5fTkwgPSBsaW5lc2VwCi0gICAgICAgIHNlbGYuX2VuY29kZWRfTkwgPSBzZWxmLl9lbmNvZGUobGluZXNlcCkKKyAgICAgICAgc2VsZi5fTkwgPSBsaW5lc2VwIGlmIGxpbmVzZXAgaXMgbm90IE5vbmUgZWxzZSBzZWxmLnBvbGljeS5saW5lc2VwCisgICAgICAgIHNlbGYuX2VuY29kZWRfTkwgPSBzZWxmLl9lbmNvZGUoc2VsZi5fTkwpCiAgICAgICAgIHNlbGYuX0VNUFRZID0gJycKICAgICAgICAgc2VsZi5fZW5jb2RlZF9FTVRQWSA9IHNlbGYuX2VuY29kZSgnJykKICAgICAgICAgaWYgdW5peGZyb206CkBAIC0yOTcsMTAgKzMwNSwxMiBAQAogICAgICAgICAjIG1lc3NhZ2UvcmZjODIyLiAgU3VjaCBtZXNzYWdlcyBhcmUgZ2VuZXJhdGVkIGJ5LCBmb3IgZXhhbXBsZSwKICAgICAgICAgIyBHcm91cHdpc2Ugd2hlbiBmb3J3YXJkaW5nIHVuYWRvcm5lZCBtZXNzYWdlcy4gIChJc3N1ZSA3OTcwLikgIFNvCiAgICAgICAgICMgaW4gdGhhdCBjYXNlIHdlIGp1c3QgZW1pdCB0aGUgc3RyaW5nIGJvZHkuCi0gICAgICAgIHBheWxvYWQgPSBtc2cuZ2V0X3BheWxvYWQoKQorICAgICAgICBwYXlsb2FkID0gbXNnLl9wYXlsb2FkCiAgICAgICAgIGlmIGlzaW5zdGFuY2UocGF5bG9hZCwgbGlzdCk6CiAgICAgICAgICAgICBnLmZsYXR0ZW4obXNnLmdldF9wYXlsb2FkKDApLCB1bml4ZnJvbT1GYWxzZSwgbGluZXNlcD1zZWxmLl9OTCkKICAgICAgICAgICAgIHBheWxvYWQgPSBzLmdldHZhbHVlKCkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHBheWxvYWQgPSBzZWxmLl9lbmNvZGUocGF5bG9hZCkKICAgICAgICAgc2VsZi5fZnAud3JpdGUocGF5bG9hZCkKIAogICAgICMgVGhpcyB1c2VkIHRvIGJlIGEgbW9kdWxlIGxldmVsIGZ1bmN0aW9uOyB3ZSB1c2UgYSBjbGFzc21ldGhvZCBmb3IgdGhpcwpAQCAtMzM2LDcgKzM0NiwxMCBAQAogCiAgICAgRnVuY3Rpb25hbGx5IGlkZW50aWNhbCB0byB0aGUgYmFzZSBHZW5lcmF0b3IgZXhjZXB0IHRoYXQgdGhlIG91dHB1dCBpcwogICAgIGJ5dGVzIGFuZCBub3Qgc3RyaW5nLiAgV2hlbiBzdXJyb2dhdGVzIHdlcmUgdXNlZCBpbiB0aGUgaW5wdXQgdG8gZW5jb2RlCi0gICAgYnl0ZXMsIHRoZXNlIGFyZSBkZWNvZGVkIGJhY2sgdG8gYnl0ZXMgZm9yIG91dHB1dC4KKyAgICBieXRlcywgdGhlc2UgYXJlIGRlY29kZWQgYmFjayB0byBieXRlcyBmb3Igb3V0cHV0LiAgSWYgdGhlIHBvbGljeSBoYXMKKyAgICBtdXN0X2JlXzdiaXQgc2V0IHRydWUsIHRoZW4gdGhlIG1lc3NhZ2UgaXMgdHJhbnNmb3JtZWQgc3VjaCB0aGF0IHRoZQorICAgIG5vbi1BU0NJSSBieXRlcyBhcmUgcHJvcGVybHkgY29udGVudCB0cmFuc2ZlciBlbmNvZGVkLCB1c2luZyB0aGUKKyAgICBjaGFyc2V0IHVua25vd24tOGJpdC4KIAogICAgIFRoZSBvdXRmcCBvYmplY3QgbXVzdCBhY2NlcHQgYnl0ZXMgaW4gaXRzIHdyaXRlIG1ldGhvZC4KICAgICAiIiIKQEAgLTM1OSwyMSArMzcyLDI1IEBACiAgICAgICAgICMgc3RyaW5ncyB3aXRoIDhiaXQgYnl0ZXMuCiAgICAgICAgIGZvciBoLCB2IGluIG1zZy5faGVhZGVyczoKICAgICAgICAgICAgIHNlbGYud3JpdGUoJyVzOiAnICUgaCkKLSAgICAgICAgICAgIGlmIGlzaW5zdGFuY2UodiwgSGVhZGVyKToKLSAgICAgICAgICAgICAgICBzZWxmLndyaXRlKHYuZW5jb2RlKG1heGxpbmVsZW49c2VsZi5fbWF4aGVhZGVybGVuKStzZWxmLl9OTCkKLSAgICAgICAgICAgIGVsaWYgX2hhc19zdXJyb2dhdGVzKHYpOgotICAgICAgICAgICAgICAgICMgSWYgd2UgaGF2ZSByYXcgOGJpdCBkYXRhIGluIGEgYnl0ZSBzdHJpbmcsIHdlIGhhdmUgbm8gaWRlYQotICAgICAgICAgICAgICAgICMgd2hhdCB0aGUgZW5jb2RpbmcgaXMuICBUaGVyZSBpcyBubyBzYWZlIHdheSB0byBzcGxpdCB0aGlzCi0gICAgICAgICAgICAgICAgIyBzdHJpbmcuICBJZiBpdCdzIGFzY2lpLXN1YnNldCwgdGhlbiB3ZSBjb3VsZCBkbyBhIG5vcm1hbAotICAgICAgICAgICAgICAgICMgYXNjaWkgc3BsaXQsIGJ1dCBpZiBpdCdzIG11bHRpYnl0ZSB0aGVuIHdlIGNvdWxkIGJyZWFrIHRoZQotICAgICAgICAgICAgICAgICMgc3RyaW5nLiAgVGhlcmUncyBubyB3YXkgdG8ga25vdyBzbyB0aGUgbGVhc3QgaGFybSBzZWVtcyB0bwotICAgICAgICAgICAgICAgICMgYmUgdG8gbm90IHNwbGl0IHRoZSBzdHJpbmcgYW5kIHJpc2sgaXQgYmVpbmcgdG9vIGxvbmcuCi0gICAgICAgICAgICAgICAgc2VsZi53cml0ZSh2K05MKQorICAgICAgICAgICAgaWYgaXNpbnN0YW5jZSh2LCBzdHIpOgorICAgICAgICAgICAgICAgIGlmIF9oYXNfc3Vycm9nYXRlcyh2KToKKyAgICAgICAgICAgICAgICAgICAgaWYgbm90IHNlbGYucG9saWN5Lm11c3RfYmVfN2JpdDoKKyAgICAgICAgICAgICAgICAgICAgICAgICMgSWYgd2UgaGF2ZSByYXcgOGJpdCBkYXRhIGluIGEgYnl0ZSBzdHJpbmcsIHdlIGhhdmUgbm8gaWRlYQorICAgICAgICAgICAgICAgICAgICAgICAgIyB3aGF0IHRoZSBlbmNvZGluZyBpcy4gIFRoZXJlIGlzIG5vIHNhZmUgd2F5IHRvIHNwbGl0IHRoaXMKKyAgICAgICAgICAgICAgICAgICAgICAgICMgc3RyaW5nLiAgSWYgaXQncyBhc2NpaS1zdWJzZXQsIHRoZW4gd2UgY291bGQgZG8gYSBub3JtYWwKKyAgICAgICAgICAgICAgICAgICAgICAgICMgYXNjaWkgc3BsaXQsIGJ1dCBpZiBpdCdzIG11bHRpYnl0ZSB0aGVuIHdlIGNvdWxkIGJyZWFrIHRoZQorICAgICAgICAgICAgICAgICAgICAgICAgIyBzdHJpbmcuICBUaGVyZSdzIG5vIHdheSB0byBrbm93IHNvIHRoZSBsZWFzdCBoYXJtIHNlZW1zIHRvCisgICAgICAgICAgICAgICAgICAgICAgICAjIGJlIHRvIG5vdCBzcGxpdCB0aGUgc3RyaW5nIGFuZCByaXNrIGl0IGJlaW5nIHRvbyBsb25nLgorICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi53cml0ZSh2K05MKQorICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgICAgICAgICAgICAgaCA9IEhlYWRlcih2LCBjaGFyc2V0PV9jaGFyc2V0LlVOS05PV044QklULCBoZWFkZXJfbmFtZT1oKQorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIGggPSBIZWFkZXIodiwgaGVhZGVyX25hbWU9aCkKICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgIyBIZWFkZXIncyBnb3QgbG90cyBvZiBzbWFydHMgYW5kIHRoaXMgc3RyaW5nIGlzIHNhZmUuLi4KLSAgICAgICAgICAgICAgICBoZWFkZXIgPSBIZWFkZXIodiwgbWF4bGluZWxlbj1zZWxmLl9tYXhoZWFkZXJsZW4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRlcl9uYW1lPWgpCi0gICAgICAgICAgICAgICAgc2VsZi53cml0ZShoZWFkZXIuZW5jb2RlKGxpbmVzZXA9c2VsZi5fTkwpK3NlbGYuX05MKQorICAgICAgICAgICAgICAgICMgQXNzdW1lIGl0IGlzIGEgSGVhZGVyLWxpa2Ugb2JqZWN0LgorICAgICAgICAgICAgICAgIGggPSB2CisgICAgICAgICAgICBzZWxmLndyaXRlKGguZW5jb2RlKGxpbmVzZXA9c2VsZi5fTkwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heGxpbmVsZW49c2VsZi5fbWF4aGVhZGVybGVuKStzZWxmLl9OTCkKICAgICAgICAgIyBBIGJsYW5rIGxpbmUgYWx3YXlzIHNlcGFyYXRlcyBoZWFkZXJzIGZyb20gYm9keQogICAgICAgICBzZWxmLndyaXRlKHNlbGYuX05MKQogCkBAIC0zODIsNyArMzk5LDcgQEAKICAgICAgICAgIyBqdXN0IHdyaXRlIGl0IGJhY2sgb3V0LgogICAgICAgICBpZiBtc2cuX3BheWxvYWQgaXMgTm9uZToKICAgICAgICAgICAgIHJldHVybgotICAgICAgICBpZiBfaGFzX3N1cnJvZ2F0ZXMobXNnLl9wYXlsb2FkKToKKyAgICAgICAgaWYgX2hhc19zdXJyb2dhdGVzKG1zZy5fcGF5bG9hZCkgYW5kIG5vdCBzZWxmLnBvbGljeS5tdXN0X2JlXzdiaXQ6CiAgICAgICAgICAgICBzZWxmLndyaXRlKG1zZy5fcGF5bG9hZCkKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHN1cGVyKEJ5dGVzR2VuZXJhdG9yLHNlbGYpLl9oYW5kbGVfdGV4dChtc2cpCmRpZmYgLS1naXQgYS9MaWIvZW1haWwvcGFyc2VyLnB5IGIvTGliL2VtYWlsL3BhcnNlci5weQppbmRleCAxYzkzMWVhLi4wZjkyMTYwIDEwMDY0NAotLS0gYS9MaWIvZW1haWwvcGFyc2VyLnB5CisrKyBiL0xpYi9lbWFpbC9wYXJzZXIucHkKQEAgLTQsMTggKzQsMTkgQEAKIAogIiIiQSBwYXJzZXIgb2YgUkZDIDI4MjIgYW5kIE1JTUUgZW1haWwgbWVzc2FnZXMuIiIiCiAKLV9fYWxsX18gPSBbJ1BhcnNlcicsICdIZWFkZXJQYXJzZXInLCAnQnl0ZXNQYXJzZXInXQorX19hbGxfXyA9IFsnUGFyc2VyJywgJ0hlYWRlclBhcnNlcicsICdCeXRlc1BhcnNlcicsICdCeXRlc0hlYWRlclBhcnNlciddCiAKIGltcG9ydCB3YXJuaW5ncwogZnJvbSBpbyBpbXBvcnQgU3RyaW5nSU8sIFRleHRJT1dyYXBwZXIKIAogZnJvbSBlbWFpbC5mZWVkcGFyc2VyIGltcG9ydCBGZWVkUGFyc2VyCiBmcm9tIGVtYWlsLm1lc3NhZ2UgaW1wb3J0IE1lc3NhZ2UKK2Zyb20gZW1haWwgaW1wb3J0IHBvbGljeQogCiAKIAwKIGNsYXNzIFBhcnNlcjoKLSAgICBkZWYgX19pbml0X18oc2VsZiwgKmFyZ3MsICoqa3dzKToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgX2NsYXNzPU1lc3NhZ2UsICosIHBvbGljeT1wb2xpY3kuZGVmYXVsdCk6CiAgICAgICAgICIiIlBhcnNlciBvZiBSRkMgMjgyMiBhbmQgTUlNRSBlbWFpbCBtZXNzYWdlcy4KIAogICAgICAgICBDcmVhdGVzIGFuIGluLW1lbW9yeSBvYmplY3QgdHJlZSByZXByZXNlbnRpbmcgdGhlIGVtYWlsIG1lc3NhZ2UsIHdoaWNoCkBAIC0zMCwyOCArMzEsMTQgQEAKICAgICAgICAgX2NsYXNzIGlzIHRoZSBjbGFzcyB0byBpbnN0YW50aWF0ZSBmb3IgbmV3IG1lc3NhZ2Ugb2JqZWN0cyB3aGVuIHRoZXkKICAgICAgICAgbXVzdCBiZSBjcmVhdGVkLiAgVGhpcyBjbGFzcyBtdXN0IGhhdmUgYSBjb25zdHJ1Y3RvciB0aGF0IGNhbiB0YWtlCiAgICAgICAgIHplcm8gYXJndW1lbnRzLiAgRGVmYXVsdCBpcyBNZXNzYWdlLk1lc3NhZ2UuCisKKyAgICAgICAgVGhlIHBvbGljeSBrZXl3b3JkIHNwZWNpZmllcyBhIHBvbGljeSBvYmplY3QgdGhhdCBjb250cm9scyBhIG51bWJlciBvZgorICAgICAgICBhc3BlY3RzIG9mIHRoZSBwYXJzZXIncyBvcGVyYXRpb24uICBUaGUgZGVmYXVsdCBwb2xpY3kgbWFpbnRhaW5zCisgICAgICAgIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkuCisKICAgICAgICAgIiIiCi0gICAgICAgIGlmIGxlbihhcmdzKSA+PSAxOgotICAgICAgICAgICAgaWYgJ19jbGFzcycgaW4ga3dzOgotICAgICAgICAgICAgICAgIHJhaXNlIFR5cGVFcnJvcigiTXVsdGlwbGUgdmFsdWVzIGZvciBrZXl3b3JkIGFyZyAnX2NsYXNzJyIpCi0gICAgICAgICAgICBrd3NbJ19jbGFzcyddID0gYXJnc1swXQotICAgICAgICBpZiBsZW4oYXJncykgPT0gMjoKLSAgICAgICAgICAgIGlmICdzdHJpY3QnIGluIGt3czoKLSAgICAgICAgICAgICAgICByYWlzZSBUeXBlRXJyb3IoIk11bHRpcGxlIHZhbHVlcyBmb3Iga2V5d29yZCBhcmcgJ3N0cmljdCciKQotICAgICAgICAgICAga3dzWydzdHJpY3QnXSA9IGFyZ3NbMV0KLSAgICAgICAgaWYgbGVuKGFyZ3MpID4gMjoKLSAgICAgICAgICAgIHJhaXNlIFR5cGVFcnJvcignVG9vIG1hbnkgYXJndW1lbnRzJykKLSAgICAgICAgaWYgJ19jbGFzcycgaW4ga3dzOgotICAgICAgICAgICAgc2VsZi5fY2xhc3MgPSBrd3NbJ19jbGFzcyddCi0gICAgICAgICAgICBkZWwga3dzWydfY2xhc3MnXQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgc2VsZi5fY2xhc3MgPSBNZXNzYWdlCi0gICAgICAgIGlmICdzdHJpY3QnIGluIGt3czoKLSAgICAgICAgICAgIHdhcm5pbmdzLndhcm4oIidzdHJpY3QnIGFyZ3VtZW50IGlzIGRlcHJlY2F0ZWQgKGFuZCBpZ25vcmVkKSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIERlcHJlY2F0aW9uV2FybmluZywgMikKLSAgICAgICAgICAgIGRlbCBrd3NbJ3N0cmljdCddCi0gICAgICAgIGlmIGt3czoKLSAgICAgICAgICAgIHJhaXNlIFR5cGVFcnJvcignVW5leHBlY3RlZCBrZXl3b3JkIGFyZ3VtZW50cycpCisgICAgICAgIHNlbGYuX2NsYXNzID0gX2NsYXNzCisgICAgICAgIHNlbGYucG9saWN5ID0gcG9saWN5CiAKICAgICBkZWYgcGFyc2Uoc2VsZiwgZnAsIGhlYWRlcnNvbmx5PUZhbHNlKToKICAgICAgICAgIiIiQ3JlYXRlIGEgbWVzc2FnZSBzdHJ1Y3R1cmUgZnJvbSB0aGUgZGF0YSBpbiBhIGZpbGUuCkBAIC02MSw3ICs0OCw3IEBACiAgICAgICAgIHBhcnNpbmcgYWZ0ZXIgcmVhZGluZyB0aGUgaGVhZGVycyBvciBub3QuICBUaGUgZGVmYXVsdCBpcyBGYWxzZSwKICAgICAgICAgbWVhbmluZyBpdCBwYXJzZXMgdGhlIGVudGlyZSBjb250ZW50cyBvZiB0aGUgZmlsZS4KICAgICAgICAgIiIiCi0gICAgICAgIGZlZWRwYXJzZXIgPSBGZWVkUGFyc2VyKHNlbGYuX2NsYXNzKQorICAgICAgICBmZWVkcGFyc2VyID0gRmVlZFBhcnNlcihzZWxmLl9jbGFzcywgcG9saWN5PXNlbGYucG9saWN5KQogICAgICAgICBpZiBoZWFkZXJzb25seToKICAgICAgICAgICAgIGZlZWRwYXJzZXIuX3NldF9oZWFkZXJzb25seSgpCiAgICAgICAgIHdoaWxlIFRydWU6CkBAIC0xMzQsMyArMTIxLDExIEBACiAgICAgICAgICIiIgogICAgICAgICB0ZXh0ID0gdGV4dC5kZWNvZGUoJ0FTQ0lJJywgZXJyb3JzPSdzdXJyb2dhdGVlc2NhcGUnKQogICAgICAgICByZXR1cm4gc2VsZi5wYXJzZXIucGFyc2VzdHIodGV4dCwgaGVhZGVyc29ubHkpCisKKworY2xhc3MgQnl0ZXNIZWFkZXJQYXJzZXIoQnl0ZXNQYXJzZXIpOgorICAgIGRlZiBwYXJzZShzZWxmLCBmcCwgaGVhZGVyc29ubHk9VHJ1ZSk6CisgICAgICAgIHJldHVybiBCeXRlc1BhcnNlci5wYXJzZShzZWxmLCBmcCwgaGVhZGVyc29ubHk9VHJ1ZSkKKworICAgIGRlZiBwYXJzZWJ5dGVzKHNlbGYsIHRleHQsIGhlYWRlcnNvbmx5PVRydWUpOgorICAgICAgICByZXR1cm4gQnl0ZXNQYXJzZXIucGFyc2VieXRlcyhzZWxmLCB0ZXh0LCBoZWFkZXJzb25seT1UcnVlKQpkaWZmIC0tZ2l0IGEvTGliL2VtYWlsL3BvbGljeS5weSBiL0xpYi9lbWFpbC9wb2xpY3kucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODg4NzdhMgotLS0gL2Rldi9udWxsCisrKyBiL0xpYi9lbWFpbC9wb2xpY3kucHkKQEAgLTAsMCArMSwxNzQgQEAKKyIiIlBvbGljeSBmcmFtZXdvcmsgZm9yIHRoZSBlbWFpbCBwYWNrYWdlLgorCitBbGxvd3MgZmluZSBncmFpbmVkIGZlYXR1cmUgY29udHJvbCBvZiBob3cgdGhlIHBhY2thZ2UgcGFyc2VzIGFuZCBlbWl0cyBkYXRhLgorIiIiCisKK19fYWxsX18gPSBbCisgICAgJ1BvbGljeScsCisgICAgJ2RlZmF1bHQnLAorICAgICdzdHJpY3QnLAorICAgICdTTVRQJywKKyAgICAnSFRUUCcsCisgICAgXQorCisKK2NsYXNzIF9Qb2xpY3lCYXNlOgorCisgICAgIiIiUG9saWN5IE9iamVjdCBiYXNpYyBmcmFtZXdvcmsuCisKKyAgICBUaGlzIGNsYXNzIGlzIHVzZWxlc3MgdW5sZXNzIHN1YmNsYXNzZWQuICBBIHN1YmNsYXNzIHNob3VsZCBkZWZpbmUKKyAgICBjbGFzcyBhdHRyaWJ1dGVzIHdpdGggZGVmYXVsdHMgZm9yIGFueSB2YWx1ZXMgdGhhdCBhcmUgdG8gYmUKKyAgICBtYW5hZ2VkIGJ5IHRoZSBQb2xpY3kgb2JqZWN0LiAgVGhlIGNvbnN0cnVjdG9yIHdpbGwgdGhlbiBhbGxvdworICAgIG5vbi1kZWZhdWx0IHZhbHVlcyB0byBiZSBzZXQgZm9yIHRoZXNlIGF0dHJpYnV0ZXMgYXQgaW5zdGFuY2UKKyAgICBjcmVhdGlvbiB0aW1lLiAgVGhlIGluc3RhbmNlIHdpbGwgYmUgY2FsbGFibGUsIHRha2luZyB0aGVzZSBzYW1lCisgICAgYXR0cmlidXRlcyBrZXl3b3JkIGFyZ3VtZW50cywgYW5kIHJldHVybmluZyBhIG5ldyBpbnN0YW5jZQorICAgIGlkZW50aWNhbCB0byB0aGUgY2FsbGVkIGluc3RhbmNlIGV4Y2VwdCBmb3IgdGhvc2UgdmFsdWVzIGNoYW5nZWQKKyAgICBieSB0aGUga2V5d29yZCBhcmd1bWVudHMuICBJbnN0YW5jZXMgbWF5IGJlIGFkZGVkLCB5aWVsZGluZyBuZXcKKyAgICBpbnN0YW5jZXMgd2l0aCBhbnkgbm9uLWRlZmF1bHQgdmFsdWVzIGZyb20gdGhlIHJpZ2h0IGhhbmQKKyAgICBvcGVyYW5kIG92ZXJyaWRpbmcgdGhvc2UgaW4gdGhlIGxlZnQgaGFuZCBvcGVyYW5kLiAgVGhhdCBpcywKKworICAgICAgICBBICsgQiA9PSBBKDxub24tZGVmYXVsdCB2YWx1ZXMgb2YgQj4pCisKKyAgICBUaGUgcmVwciBvZiBhbiBpbnN0YW5jZSBjYW4gYmUgdXNlZCB0byByZWNvbnN0cnVjdCB0aGUgb2JqZWN0CisgICAgaWYgYW5kIG9ubHkgaWYgdGhlIHJlcHIgb2YgdGhlIHZhbHVlcyBjYW4gYmUgdXNlZCB0byByZWNvbnN0cnVjdAorICAgIHRob3NlIHZhbHVlcy4KKworICAgICIiIgorCisgICAgZGVmIF9faW5pdF9fKHNlbGYsICoqa3cpOgorICAgICAgICAiIiJDcmVhdGUgbmV3IFBvbGljeSwgcG9zc2libHkgb3ZlcnJpZGluZyBzb21lIGRlZmF1bHRzLgorCisgICAgICAgIFNlZSBjbGFzcyBkb2NzdHJpbmcgZm9yIGEgbGlzdCBvZiBvdmVycmlkYWJsZSBhdHRyaWJ1dGVzLgorCisgICAgICAgICIiIgorICAgICAgICBmb3IgbmFtZSwgdmFsdWUgaW4ga3cuaXRlbXMoKToKKyAgICAgICAgICAgIGlmIGhhc2F0dHIoc2VsZiwgbmFtZSk6CisgICAgICAgICAgICAgICAgc3VwZXIoX1BvbGljeUJhc2Usc2VsZikuX19zZXRhdHRyX18obmFtZSwgdmFsdWUpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHJhaXNlIFR5cGVFcnJvcigKKyAgICAgICAgICAgICAgICAgICAgInshcn0gaXMgYW4gaW52YWxpZCBrZXl3b3JkIGFyZ3VtZW50IGZvciB7fSIuZm9ybWF0KAorICAgICAgICAgICAgICAgICAgICAgICAgbmFtZSwgc2VsZi5fX2NsYXNzX18uX19uYW1lX18pKQorCisgICAgZGVmIF9fcmVwcl9fKHNlbGYpOgorICAgICAgICBhcmdzID0gWyAie309eyFyfSIuZm9ybWF0KG5hbWUsIHZhbHVlKQorICAgICAgICAgICAgICAgICBmb3IgbmFtZSwgdmFsdWUgaW4gc2VsZi5fX2RpY3RfXy5pdGVtcygpIF0KKyAgICAgICAgcmV0dXJuICJ7fSh7fSkiLmZvcm1hdChzZWxmLl9fY2xhc3NfXy5fX25hbWVfXywgYXJncyBpZiBhcmdzIGVsc2UgJycpCisKKyAgICBkZWYgY2xvbmUoc2VsZiwgKiprdyk6CisgICAgICAgICIiIlJldHVybiBhIG5ldyBpbnN0YW5jZSB3aXRoIHNwZWNpZmllZCBhdHRyaWJ1dGVzIGNoYW5nZWQuCisKKyAgICAgICAgVGhlIG5ldyBpbnN0YW5jZSBoYXMgdGhlIHNhbWUgYXR0cmlidXRlIHZhbHVlcyBhcyB0aGUgY3VycmVudCBvYmplY3QsCisgICAgICAgIGV4Y2VwdCBmb3IgdGhlIGNoYW5nZXMgcGFzc2VkIGluIGFzIGtleXdvcmQgYXJndW1lbnRzLgorCisgICAgICAgICIiIgorICAgICAgICBmb3IgYXR0ciwgdmFsdWUgaW4gc2VsZi5fX2RpY3RfXy5pdGVtcygpOgorICAgICAgICAgICAgaWYgYXR0ciBub3QgaW4ga3c6CisgICAgICAgICAgICAgICAga3dbYXR0cl0gPSB2YWx1ZQorICAgICAgICByZXR1cm4gc2VsZi5fX2NsYXNzX18oKiprdykKKworICAgIGRlZiBfX3NldGF0dHJfXyhzZWxmLCBuYW1lLCB2YWx1ZSk6CisgICAgICAgIGlmIGhhc2F0dHIoc2VsZiwgbmFtZSk6CisgICAgICAgICAgICBtc2cgPSAieyFyfSBvYmplY3QgYXR0cmlidXRlIHshcn0gaXMgcmVhZC1vbmx5IgorICAgICAgICBlbHNlOgorICAgICAgICAgICAgbXNnID0gInshcn0gb2JqZWN0IGhhcyBubyBhdHRyaWJ1dGUgeyFyfSIKKyAgICAgICAgcmFpc2UgQXR0cmlidXRlRXJyb3IobXNnLmZvcm1hdChzZWxmLl9fY2xhc3NfXy5fX25hbWVfXywgbmFtZSkpCisKKyAgICBkZWYgX19hZGRfXyhzZWxmLCBvdGhlcik6CisgICAgICAgICIiIk5vbi1kZWZhdWx0IHZhbHVlcyBmcm9tIHJpZ2h0IG9wZXJhbmQgb3ZlcnJpZGUgdGhvc2UgZnJvbSBsZWZ0LgorCisgICAgICAgIFRoZSBvYmplY3QgcmV0dXJuZWQgaXMgYSBuZXcgaW5zdGFuY2Ugb2YgdGhlIHN1YmNsYXNzLgorCisgICAgICAgICIiIgorICAgICAgICByZXR1cm4gc2VsZi5jbG9uZSgqKm90aGVyLl9fZGljdF9fKQorCisKK2NsYXNzIFBvbGljeShfUG9saWN5QmFzZSk6CisKKyAgICAiIiJDb250cm9scyBmb3IgaG93IG1lc3NhZ2VzIGFyZSBpbnRlcnByZXRlZCBhbmQgZm9ybWF0dGVkLgorCisgICAgTW9zdCBvZiB0aGUgY2xhc3NlcyBhbmQgbWFueSBvZiB0aGUgbWV0aG9kcyBpbiB0aGUgZW1haWwgcGFja2FnZQorICAgIGFjY2VwdCBQb2xpY3kgb2JqZWN0cyBhcyBwYXJhbWV0ZXJzLiAgQSBQb2xpY3kgb2JqZWN0IGNvbnRhaW5zIGEgc2V0CisgICAgb2YgdmFsdWVzIGFuZCBmdW5jdGlvbnMgdGhhdCBjb250cm9sIGhvdyBpbnB1dCBpcyBpbnRlcnByZXRlZCBhbmQgaG93CisgICAgb3V0cHV0IGlzIHJlbmRlcmVkLiAgRm9yIGV4YW1wbGUsIHRoZSBwYXJhbWV0ZXIgJ3JhaXNlX29uX2RlZmVjdCcKKyAgICBjb250cm9scyB3aGV0aGVyIG9yIG5vdCBhbiBSRkMgdmlvbGF0aW9uIHRocm93cyBhbiBlcnJvciBvciBub3QsCisgICAgd2hpbGUgJ21heF9saW5lX2xlbmd0aCcgY29udHJvbHMgdGhlIG1heGltdW0gbGVuZ3RoIG9mIG91dHB1dCBsaW5lcworICAgIHdoZW4gYSBNZXNzYWdlIGlzIHNlcmlhbGl6ZWQuCisKKyAgICBBbnkgdmFsaWQgYXR0cmlidXRlIG1heSBiZSBvdmVycmlkZGVuIHdoZW4gYSBQb2xpY3kgaXMgY3JlYXRlZCBieQorICAgIHBhc3NpbmcgaXQgYXMgYSBrZXl3b3JkIGFyZ3VtZW50IHRvIHRoZSBjb25zdHJ1Y3Rvci4gIFBvbGljeQorICAgIG9iamVjdHMgYXJlIGltbXV0YWJsZSwgYnV0IGEgbmV3IFBvbGljeSBvYmplY3QgY2FuIGJlIGNyZWF0ZWQKKyAgICB3aXRoIG9ubHkgY2VydGFpbiB2YWx1ZXMgY2hhbmdlZCBieSBjYWxsaW5nIHRoZSBQb2xpY3kgaW5zdGFuY2UKKyAgICB3aXRoIGtleXdvcmQgYXJndW1lbnRzLiAgUG9saWN5IG9iamVjdHMgY2FuIGFsc28gYmUgYWRkZWQsCisgICAgcHJvZHVjaW5nIGEgbmV3IFBvbGljeSBvYmplY3QgaW4gd2hpY2ggdGhlIG5vbi1kZWZhdWx0IGF0dHJpYnV0ZXMKKyAgICBzZXQgaW4gdGhlIHJpZ2h0IGhhbmQgb3BlcmFuZCBvdmVyd3JpdGUgdGhvc2Ugc3BlY2lmaWVkIGluIHRoZQorICAgIGxlZnQgb3BlcmFuZC4KKworICAgIFNldHRhYmxlIGF0dHJpYnV0ZXM6CisKKyAgICByYWlzZV9vbl9kZWZlY3QgICAgIC0tIElmIHRydWUsIHRoZW4gZGVmZWN0cyBzaG91bGQgYmUgcmFpc2VkCisgICAgICAgICAgICAgICAgICAgICAgICAgICBhcyBlcnJvcnMuICBEZWZhdWx0IEZhbHNlLgorCisgICAgbGluZXNlcCAgICAgICAgICAgICAtLSBzdHJpbmcgY29udGFpbmluZyB0aGUgdmFsdWUgdG8gdXNlIGFzCisgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXBhcmF0aW9uIGJldHdlZW4gb3V0cHV0IGxpbmVzLiAgRGVmYXVsdCAnXG4nLgorCisgICAgbXVzdF9iZV83Yml0ICAgICAgICAtLSBvdXRwdXQgbXVzdCBjb250YWluIG9ubHkgN2JpdCBjbGVhbiBkYXRhLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVmYXVsdCBGYWxzZS4KKworICAgIG1heF9saW5lX2xlbmd0aCAgICAgLS0gbWF4aW11bSBsZW5ndGggb2YgbGluZXMsIGV4Y2x1ZGluZyAnbGluZXNlcCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBkdXJpbmcgc2VyaWFsaXphdGlvbi4gIE5vbmUgbWVhbnMgbm8gbGluZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgd3JhcHBpbmcgaXMgZG9uZS4gIERlZmF1bHQgaXMgNzguCisKKyAgICBNZXRob2RzOgorCisgICAgcmVnaXN0ZXJfZGVmZWN0KG9iaiwgZGVmZWN0KQorICAgICAgICBkZWZlY3QgaXMgYSBEZWZlY3QgaW5zdGFuY2UuICBUaGUgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiBhcHBlbmRzIGRlZmVjdAorICAgICAgICB0byB0aGUgb2JqcyAnZGVmZWN0cycgYXR0cmlidXRlLgorCisgICAgaGFuZGxlX2RlZmVjdChvYmosIGRlZmVjdCkKKyAgICAgICAgaW50ZW5kZWQgdG8gYmUgY2FsbGVkIGJ5IHBhcnNlciBjb2RlIHRoYXQgZmluZHMgYSBkZWZlY3QuICBJZgorICAgICAgICByYWlzZV9vbl9kZWZlY3QgaXMgVHJ1ZSwgZGVmZWN0IGlzIHJhaXNlZCBhcyBhbiBlcnJvciwgb3RoZXJ3aXNlCisgICAgICAgIHJlZ2lzdGVyX2RlZmVjdCBpcyBjYWxsZWQuCisKKyAgICAiIiIKKworICAgIHJhaXNlX29uX2RlZmVjdCA9IEZhbHNlCisgICAgbGluZXNlcCA9ICdcbicKKyAgICBtdXN0X2JlXzdiaXQgPSBGYWxzZQorICAgIG1heF9saW5lX2xlbmd0aCA9IDc4CisKKyAgICBkZWYgaGFuZGxlX2RlZmVjdChzZWxmLCBvYmosIGRlZmVjdCk6CisgICAgICAgICIiIkJhc2VkIG9uIHBvbGljeSwgZWl0aGVyIHJhaXNlIGRlZmVjdCBvciBjYWxsIHJlZ2lzdGVyX2RlZmVjdC4KKworICAgICAgICAgICAgaGFuZGxlX2RlZmVjdChvYmosIGRlZmVjdCkKKworICAgICAgICBkZWZlY3Qgc2hvdWxkIGJlIGEgRGVmZWN0IHN1YmNsYXNzLCBidXQgaW4gYW55IGNhc2UgbXVzdCBiZSBhbgorICAgICAgICBFeGNlcHRpb24gc3ViY2xhc3MuICBvYmogaXMgdGhlIG9iamVjdCBvbiB3aGljaCB0aGUgZGVmZWN0IHNob3VsZCBiZQorICAgICAgICByZWdpc3RlcmVkIGlmIGl0IGlzIG5vdCByYWlzZWQuICBJZiB0aGUgcmFpc2Vfb25fZGVmZWN0IGlzIFRydWUsIHRoZQorICAgICAgICBkZWZlY3QgaXMgcmFpc2VkIGFzIGFuIGVycm9yLCBvdGhlcndpc2UgdGhlIG9iamVjdCBhbmQgdGhlIGRlZmVjdCBhcmUKKyAgICAgICAgcGFzc2VkIHRvIHJlZ2lzdGVyX2RlZmVjdC4KKworICAgICAgICBUaGlzIGNsYXNzIGlzIGludGVuZGVkIHRvIGJlIGNhbGxlZCBieSBwYXJzZXJzIHRoYXQgZGlzY292ZXIgZGVmZWN0cywKKyAgICAgICAgYW5kIHdpbGwgbm90IGJlIGNhbGxlZCBmcm9tIGNvZGUgdXNpbmcgdGhlIGxpYnJhcnkgdW5sZXNzIHRoYXQgY29kZSBpcworICAgICAgICBpbXBsZW1lbnRpbmcgYW4gYWx0ZXJuYXRlIHBhcnNlci4KKworICAgICAgICAiIiIKKyAgICAgICAgaWYgc2VsZi5yYWlzZV9vbl9kZWZlY3Q6CisgICAgICAgICAgICByYWlzZSBkZWZlY3QKKyAgICAgICAgc2VsZi5yZWdpc3Rlcl9kZWZlY3Qob2JqLCBkZWZlY3QpCisKKyAgICBkZWYgcmVnaXN0ZXJfZGVmZWN0KHNlbGYsIG9iaiwgZGVmZWN0KToKKyAgICAgICAgIiIiUmVjb3JkICdkZWZlY3QnIG9uICdvYmonLgorCisgICAgICAgIENhbGxlZCBieSBoYW5kbGVfZGVmZWN0IGlmIHJhaXNlX29uX2RlZmVjdCBpcyBGYWxzZS4gIFRoaXMgbWV0aG9kIGlzCisgICAgICAgIHBhcnQgb2YgdGhlIFBvbGljeSBBUEkgc28gdGhhdCBQb2xpY3kgc3ViY2xhc3NlcyBjYW4gaW1wbGVtZW50IGN1c3RvbQorICAgICAgICBkZWZlY3QgaGFuZGxpbmcuICBUaGUgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiBjYWxscyB0aGUgYXBwZW5kIG1ldGhvZAorICAgICAgICBvZiB0aGUgZGVmZWN0cyBhdHRyaWJ1dGUgb2Ygb2JqLgorCisgICAgICAgICIiIgorICAgICAgICBvYmouZGVmZWN0cy5hcHBlbmQoZGVmZWN0KQorCisKK2RlZmF1bHQgPSBQb2xpY3koKQorc3RyaWN0ID0gZGVmYXVsdC5jbG9uZShyYWlzZV9vbl9kZWZlY3Q9VHJ1ZSkKK1NNVFAgPSBkZWZhdWx0LmNsb25lKGxpbmVzZXA9J1xyXG4nKQorSFRUUCA9IGRlZmF1bHQuY2xvbmUobGluZXNlcD0nXHJcbicsIG1heF9saW5lX2xlbmd0aD1Ob25lKQpkaWZmIC0tZ2l0IGEvTGliL2VtYWlsL3V0aWxzLnB5IGIvTGliL2VtYWlsL3V0aWxzLnB5CmluZGV4IGFjNGRhMzcuLjEzOGYwNWQgMTAwNjQ0Ci0tLSBhL0xpYi9lbWFpbC91dGlscy5weQorKysgYi9MaWIvZW1haWwvdXRpbHMucHkKQEAgLTExLDEyICsxMSwxNCBAQAogICAgICdlbmNvZGVfcmZjMjIzMScsCiAgICAgJ2Zvcm1hdGFkZHInLAogICAgICdmb3JtYXRkYXRlJywKKyAgICAnZm9ybWF0X2RhdGV0aW1lJywKICAgICAnZ2V0YWRkcmVzc2VzJywKICAgICAnbWFrZV9tc2dpZCcsCiAgICAgJ21rdGltZV90eicsCiAgICAgJ3BhcnNlYWRkcicsCiAgICAgJ3BhcnNlZGF0ZScsCiAgICAgJ3BhcnNlZGF0ZV90eicsCisgICAgJ3BhcnNlZGF0ZV90b19kYXRldGltZScsCiAgICAgJ3VucXVvdGUnLAogICAgIF0KIApAQCAtMjYsNiArMjgsNyBAQAogaW1wb3J0IGJhc2U2NAogaW1wb3J0IHJhbmRvbQogaW1wb3J0IHNvY2tldAoraW1wb3J0IGRhdGV0aW1lCiBpbXBvcnQgdXJsbGliLnBhcnNlCiBpbXBvcnQgd2FybmluZ3MKIGZyb20gaW8gaW1wb3J0IFN0cmluZ0lPCkBAIC0zNywxMSArNDAsMTMgQEAKICMgV2UgbmVlZCB3b3JtYXJvdW5kcyBmb3IgYnVncyBpbiB0aGVzZSBtZXRob2RzIGluIG9sZGVyIFB5dGhvbnMgKHNlZSBiZWxvdykKIGZyb20gZW1haWwuX3BhcnNlYWRkciBpbXBvcnQgcGFyc2VkYXRlIGFzIF9wYXJzZWRhdGUKIGZyb20gZW1haWwuX3BhcnNlYWRkciBpbXBvcnQgcGFyc2VkYXRlX3R6IGFzIF9wYXJzZWRhdGVfdHoKK2Zyb20gZW1haWwuX3BhcnNlYWRkciBpbXBvcnQgX3BhcnNlZGF0ZV90eiBhcyBfX3BhcnNlZGF0ZV90egogCiBmcm9tIHF1b3ByaSBpbXBvcnQgZGVjb2Rlc3RyaW5nIGFzIF9xZGVjb2RlCiAKICMgSW50cmFwYWNrYWdlIGltcG9ydHMKIGZyb20gZW1haWwuZW5jb2RlcnMgaW1wb3J0IF9iZW5jb2RlLCBfcWVuY29kZQorZnJvbSBlbWFpbC5jaGFyc2V0IGltcG9ydCBDaGFyc2V0CiAKIENPTU1BU1BBQ0UgPSAnLCAnCiBFTVBUWVNUUklORyA9ICcnCkBAIC01MCwyNyArNTUsNDIgQEAKIFRJQ0sgPSAiJyIKIAogc3BlY2lhbHNyZSA9IHJlLmNvbXBpbGUocidbXVtcXCgpPD5ALDo7Ii5dJykKLWVzY2FwZXNyZSA9IHJlLmNvbXBpbGUocidbXVtcXCgpIl0nKQorZXNjYXBlc3JlID0gcmUuY29tcGlsZShyJ1tcXCJdJykKIAogCiAKICMgSGVscGVycwogCi1kZWYgZm9ybWF0YWRkcihwYWlyKToKK2RlZiBmb3JtYXRhZGRyKHBhaXIsIGNoYXJzZXQ9J3V0Zi04Jyk6CiAgICAgIiIiVGhlIGludmVyc2Ugb2YgcGFyc2VhZGRyKCksIHRoaXMgdGFrZXMgYSAyLXR1cGxlIG9mIHRoZSBmb3JtCiAgICAgKHJlYWxuYW1lLCBlbWFpbF9hZGRyZXNzKSBhbmQgcmV0dXJucyB0aGUgc3RyaW5nIHZhbHVlIHN1aXRhYmxlCiAgICAgZm9yIGFuIFJGQyAyODIyIEZyb20sIFRvIG9yIENjIGhlYWRlci4KIAogICAgIElmIHRoZSBmaXJzdCBlbGVtZW50IG9mIHBhaXIgaXMgZmFsc2UsIHRoZW4gdGhlIHNlY29uZCBlbGVtZW50IGlzCiAgICAgcmV0dXJuZWQgdW5tb2RpZmllZC4KKworICAgIE9wdGlvbmFsIGNoYXJzZXQgaWYgZ2l2ZW4gaXMgdGhlIGNoYXJhY3RlciBzZXQgdGhhdCBpcyB1c2VkIHRvIGVuY29kZQorICAgIHJlYWxuYW1lIGluIGNhc2UgcmVhbG5hbWUgaXMgbm90IEFTQ0lJIHNhZmUuICBDYW4gYmUgYW4gaW5zdGFuY2Ugb2Ygc3RyIG9yCisgICAgYSBDaGFyc2V0LWxpa2Ugb2JqZWN0IHdoaWNoIGhhcyBhIGhlYWRlcl9lbmNvZGUgbWV0aG9kLiAgRGVmYXVsdCBpcworICAgICd1dGYtOCcuCiAgICAgIiIiCiAgICAgbmFtZSwgYWRkcmVzcyA9IHBhaXIKKyAgICAjIFRoZSBhZGRyZXNzIE1VU1QgKHBlciBSRkMpIGJlIGFzY2lpLCBzbyB0aHJvdyBhIFVuaWNvZGVFcnJvciBpZiBpdCBpc24ndC4KKyAgICBhZGRyZXNzLmVuY29kZSgnYXNjaWknKQogICAgIGlmIG5hbWU6Ci0gICAgICAgIHF1b3RlcyA9ICcnCi0gICAgICAgIGlmIHNwZWNpYWxzcmUuc2VhcmNoKG5hbWUpOgotICAgICAgICAgICAgcXVvdGVzID0gJyInCi0gICAgICAgIG5hbWUgPSBlc2NhcGVzcmUuc3ViKHInXFxcZzwwPicsIG5hbWUpCi0gICAgICAgIHJldHVybiAnJXMlcyVzIDwlcz4nICUgKHF1b3RlcywgbmFtZSwgcXVvdGVzLCBhZGRyZXNzKQorICAgICAgICB0cnk6CisgICAgICAgICAgICBuYW1lLmVuY29kZSgnYXNjaWknKQorICAgICAgICBleGNlcHQgVW5pY29kZUVuY29kZUVycm9yOgorICAgICAgICAgICAgaWYgaXNpbnN0YW5jZShjaGFyc2V0LCBzdHIpOgorICAgICAgICAgICAgICAgIGNoYXJzZXQgPSBDaGFyc2V0KGNoYXJzZXQpCisgICAgICAgICAgICBlbmNvZGVkX25hbWUgPSBjaGFyc2V0LmhlYWRlcl9lbmNvZGUobmFtZSkKKyAgICAgICAgICAgIHJldHVybiAiJXMgPCVzPiIgJSAoZW5jb2RlZF9uYW1lLCBhZGRyZXNzKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcXVvdGVzID0gJycKKyAgICAgICAgICAgIGlmIHNwZWNpYWxzcmUuc2VhcmNoKG5hbWUpOgorICAgICAgICAgICAgICAgIHF1b3RlcyA9ICciJworICAgICAgICAgICAgbmFtZSA9IGVzY2FwZXNyZS5zdWIocidcXFxnPDA+JywgbmFtZSkKKyAgICAgICAgICAgIHJldHVybiAnJXMlcyVzIDwlcz4nICUgKHF1b3RlcywgbmFtZSwgcXVvdGVzLCBhZGRyZXNzKQogICAgIHJldHVybiBhZGRyZXNzCiAKIApAQCAtOTQsNiArMTE0LDE0IEBACiAgICcnJywgcmUuVkVSQk9TRSB8IHJlLklHTk9SRUNBU0UpCiAKIAorZGVmIF9mb3JtYXRfdGltZXR1cGxlX2FuZF96b25lKHRpbWV0dXBsZSwgem9uZSk6CisgICAgcmV0dXJuICclcywgJTAyZCAlcyAlMDRkICUwMmQ6JTAyZDolMDJkICVzJyAlICgKKyAgICAgICAgWydNb24nLCAnVHVlJywgJ1dlZCcsICdUaHUnLCAnRnJpJywgJ1NhdCcsICdTdW4nXVt0aW1ldHVwbGVbNl1dLAorICAgICAgICB0aW1ldHVwbGVbMl0sCisgICAgICAgIFsnSmFuJywgJ0ZlYicsICdNYXInLCAnQXByJywgJ01heScsICdKdW4nLAorICAgICAgICAgJ0p1bCcsICdBdWcnLCAnU2VwJywgJ09jdCcsICdOb3YnLCAnRGVjJ11bdGltZXR1cGxlWzFdIC0gMV0sCisgICAgICAgIHRpbWV0dXBsZVswXSwgdGltZXR1cGxlWzNdLCB0aW1ldHVwbGVbNF0sIHRpbWV0dXBsZVs1XSwKKyAgICAgICAgem9uZSkKIAogZGVmIGZvcm1hdGRhdGUodGltZXZhbD1Ob25lLCBsb2NhbHRpbWU9RmFsc2UsIHVzZWdtdD1GYWxzZSk6CiAgICAgIiIiUmV0dXJucyBhIGRhdGUgc3RyaW5nIGFzIHNwZWNpZmllZCBieSBSRkMgMjgyMiwgZS5nLjoKQEAgLTEzOCwxNCArMTY2LDI1IEBACiAgICAgICAgICAgICB6b25lID0gJ0dNVCcKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHpvbmUgPSAnLTAwMDAnCi0gICAgcmV0dXJuICclcywgJTAyZCAlcyAlMDRkICUwMmQ6JTAyZDolMDJkICVzJyAlICgKLSAgICAgICAgWydNb24nLCAnVHVlJywgJ1dlZCcsICdUaHUnLCAnRnJpJywgJ1NhdCcsICdTdW4nXVtub3dbNl1dLAotICAgICAgICBub3dbMl0sCi0gICAgICAgIFsnSmFuJywgJ0ZlYicsICdNYXInLCAnQXByJywgJ01heScsICdKdW4nLAotICAgICAgICAgJ0p1bCcsICdBdWcnLCAnU2VwJywgJ09jdCcsICdOb3YnLCAnRGVjJ11bbm93WzFdIC0gMV0sCi0gICAgICAgIG5vd1swXSwgbm93WzNdLCBub3dbNF0sIG5vd1s1XSwKLSAgICAgICAgem9uZSkKKyAgICByZXR1cm4gX2Zvcm1hdF90aW1ldHVwbGVfYW5kX3pvbmUobm93LCB6b25lKQogCitkZWYgZm9ybWF0X2RhdGV0aW1lKGR0LCB1c2VnbXQ9RmFsc2UpOgorICAgICIiIlR1cm4gYSBkYXRldGltZSBpbnRvIGEgZGF0ZSBzdHJpbmcgYXMgc3BlY2lmaWVkIGluIFJGQyAyODIyLgorCisgICAgSWYgdXNlZ210IGlzIFRydWUsIGR0IG11c3QgYmUgYW4gYXdhcmUgZGF0ZXRpbWUgd2l0aCBhbiBvZmZzZXQgb2YgemVyby4gIEluCisgICAgdGhpcyBjYXNlICdHTVQnIHdpbGwgYmUgcmVuZGVyZWQgaW5zdGVhZCBvZiB0aGUgbm9ybWFsICswMDAwIHJlcXVpcmVkIGJ5CisgICAgUkZDMjgyMi4gIFRoaXMgaXMgdG8gc3VwcG9ydCBIVFRQIGhlYWRlcnMgaW52b2x2aW5nIGRhdGUgc3RhbXBzLgorICAgICIiIgorICAgIG5vdyA9IGR0LnRpbWV0dXBsZSgpCisgICAgaWYgdXNlZ210OgorICAgICAgICBpZiBkdC50emluZm8gaXMgTm9uZSBvciBkdC50emluZm8gIT0gZGF0ZXRpbWUudGltZXpvbmUudXRjOgorICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigidXNlZ210IG9wdGlvbiByZXF1aXJlcyBhIFVUQyBkYXRldGltZSIpCisgICAgICAgIHpvbmUgPSAnR01UJworICAgIGVsaWYgZHQudHppbmZvIGlzIE5vbmU6CisgICAgICAgIHpvbmUgPSAnLTAwMDAnCisgICAgZWxzZToKKyAgICAgICAgem9uZSA9IGR0LnN0cmZ0aW1lKCIleiIpCisgICAgcmV0dXJuIF9mb3JtYXRfdGltZXR1cGxlX2FuZF96b25lKG5vdywgem9uZSkKIAogCiBkZWYgbWFrZV9tc2dpZChpZHN0cmluZz1Ob25lLCBkb21haW49Tm9uZSk6CkBAIC0xODcsNiArMjI2LDE1IEBACiAgICAgICAgIHJldHVybiBOb25lCiAgICAgcmV0dXJuIF9wYXJzZWRhdGVfdHooZGF0YSkKIAorZGVmIHBhcnNlZGF0ZV90b19kYXRldGltZShkYXRhKToKKyAgICBpZiBub3QgZGF0YToKKyAgICAgICAgcmV0dXJuIE5vbmUKKyAgICAqZHR1cGxlLCB0eiA9IF9fcGFyc2VkYXRlX3R6KGRhdGEpCisgICAgaWYgdHogaXMgTm9uZToKKyAgICAgICAgcmV0dXJuIGRhdGV0aW1lLmRhdGV0aW1lKCpkdHVwbGVbOjZdKQorICAgIHJldHVybiBkYXRldGltZS5kYXRldGltZSgqZHR1cGxlWzo2XSwKKyAgICAgICAgICAgIHR6aW5mbz1kYXRldGltZS50aW1lem9uZShkYXRldGltZS50aW1lZGVsdGEoc2Vjb25kcz10eikpKQorCiAKIGRlZiBwYXJzZWFkZHIoYWRkcik6CiAgICAgYWRkcnMgPSBfQWRkcmVzc0xpc3QoYWRkcikuYWRkcmVzc2xpc3QKZGlmZiAtLWdpdCBhL0xpYi9lbmNvZGluZ3MvY3A2NTAwMS5weSBiL0xpYi9lbmNvZGluZ3MvY3A2NTAwMS5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yODdlYjg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGliL2VuY29kaW5ncy9jcDY1MDAxLnB5CkBAIC0wLDAgKzEsNDAgQEAKKyIiIgorQ29kZSBwYWdlIDY1MDAxOiBXaW5kb3dzIFVURi04IChDUF9VVEY4KS4KKyIiIgorCitpbXBvcnQgY29kZWNzCitpbXBvcnQgZnVuY3Rvb2xzCisKK2lmIG5vdCBoYXNhdHRyKGNvZGVjcywgJ2NvZGVfcGFnZV9lbmNvZGUnKToKKyAgICByYWlzZSBMb29rdXBFcnJvcigiY3A2NTAwMSBlbmNvZGluZyBpcyBvbmx5IGF2YWlsYWJsZSBvbiBXaW5kb3dzIikKKworIyMjIENvZGVjIEFQSXMKKworZW5jb2RlID0gZnVuY3Rvb2xzLnBhcnRpYWwoY29kZWNzLmNvZGVfcGFnZV9lbmNvZGUsIDY1MDAxKQorZGVjb2RlID0gZnVuY3Rvb2xzLnBhcnRpYWwoY29kZWNzLmNvZGVfcGFnZV9kZWNvZGUsIDY1MDAxKQorCitjbGFzcyBJbmNyZW1lbnRhbEVuY29kZXIoY29kZWNzLkluY3JlbWVudGFsRW5jb2Rlcik6CisgICAgZGVmIGVuY29kZShzZWxmLCBpbnB1dCwgZmluYWw9RmFsc2UpOgorICAgICAgICByZXR1cm4gZW5jb2RlKGlucHV0LCBzZWxmLmVycm9ycylbMF0KKworY2xhc3MgSW5jcmVtZW50YWxEZWNvZGVyKGNvZGVjcy5CdWZmZXJlZEluY3JlbWVudGFsRGVjb2Rlcik6CisgICAgX2J1ZmZlcl9kZWNvZGUgPSBkZWNvZGUKKworY2xhc3MgU3RyZWFtV3JpdGVyKGNvZGVjcy5TdHJlYW1Xcml0ZXIpOgorICAgIGVuY29kZSA9IGVuY29kZQorCitjbGFzcyBTdHJlYW1SZWFkZXIoY29kZWNzLlN0cmVhbVJlYWRlcik6CisgICAgZGVjb2RlID0gZGVjb2RlCisKKyMjIyBlbmNvZGluZ3MgbW9kdWxlIEFQSQorCitkZWYgZ2V0cmVnZW50cnkoKToKKyAgICByZXR1cm4gY29kZWNzLkNvZGVjSW5mbygKKyAgICAgICAgbmFtZT0nY3A2NTAwMScsCisgICAgICAgIGVuY29kZT1lbmNvZGUsCisgICAgICAgIGRlY29kZT1kZWNvZGUsCisgICAgICAgIGluY3JlbWVudGFsZW5jb2Rlcj1JbmNyZW1lbnRhbEVuY29kZXIsCisgICAgICAgIGluY3JlbWVudGFsZGVjb2Rlcj1JbmNyZW1lbnRhbERlY29kZXIsCisgICAgICAgIHN0cmVhbXJlYWRlcj1TdHJlYW1SZWFkZXIsCisgICAgICAgIHN0cmVhbXdyaXRlcj1TdHJlYW1Xcml0ZXIsCisgICAgKQpkaWZmIC0tZ2l0IGEvTGliL2VuY29kaW5ncy9pZG5hLnB5IGIvTGliL2VuY29kaW5ncy9pZG5hLnB5CmluZGV4IDU4M2JkZjEuLmVhNDA1ODUgMTAwNjQ0Ci0tLSBhL0xpYi9lbmNvZGluZ3MvaWRuYS5weQorKysgYi9MaWIvZW5jb2RpbmdzL2lkbmEucHkKQEAgLTE1Myw2ICsxNTMsMjAgQEAKICAgICAgICAgaWYgbm90IGlucHV0OgogICAgICAgICAgICAgcmV0dXJuIGInJywgMAogCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHJlc3VsdCA9IGlucHV0LmVuY29kZSgnYXNjaWknKQorICAgICAgICBleGNlcHQgVW5pY29kZUVuY29kZUVycm9yOgorICAgICAgICAgICAgcGFzcworICAgICAgICBlbHNlOgorICAgICAgICAgICAgIyBBU0NJSSBuYW1lOiBmYXN0IHBhdGgKKyAgICAgICAgICAgIGxhYmVscyA9IHJlc3VsdC5zcGxpdChiJy4nKQorICAgICAgICAgICAgZm9yIGxhYmVsIGluIGxhYmVsc1s6LTFdOgorICAgICAgICAgICAgICAgIGlmIG5vdCAoMCA8IGxlbihsYWJlbCkgPCA2NCk6CisgICAgICAgICAgICAgICAgICAgIHJhaXNlIFVuaWNvZGVFcnJvcigibGFiZWwgZW1wdHkgb3IgdG9vIGxvbmciKQorICAgICAgICAgICAgaWYgbGVuKGxhYmVsc1stMV0pID49IDY0OgorICAgICAgICAgICAgICAgIHJhaXNlIFVuaWNvZGVFcnJvcigibGFiZWwgdG9vIGxvbmciKQorICAgICAgICAgICAgcmV0dXJuIHJlc3VsdCwgbGVuKGlucHV0KQorCiAgICAgICAgIHJlc3VsdCA9IGJ5dGVhcnJheSgpCiAgICAgICAgIGxhYmVscyA9IGRvdHMuc3BsaXQoaW5wdXQpCiAgICAgICAgIGlmIGxhYmVscyBhbmQgbm90IGxhYmVsc1stMV06CkBAIC0xNzksNiArMTkzLDE0IEBACiAgICAgICAgIGlmIG5vdCBpc2luc3RhbmNlKGlucHV0LCBieXRlcyk6CiAgICAgICAgICAgICAjIFhYWCBvYnZpb3VzbHkgd3JvbmcsIHNlZSAjMzIzMgogICAgICAgICAgICAgaW5wdXQgPSBieXRlcyhpbnB1dCkKKworICAgICAgICBpZiBhY2VfcHJlZml4IG5vdCBpbiBpbnB1dDoKKyAgICAgICAgICAgICMgRmFzdCBwYXRoCisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgcmV0dXJuIGlucHV0LmRlY29kZSgnYXNjaWknKSwgbGVuKGlucHV0KQorICAgICAgICAgICAgZXhjZXB0IFVuaWNvZGVEZWNvZGVFcnJvcjoKKyAgICAgICAgICAgICAgICBwYXNzCisKICAgICAgICAgbGFiZWxzID0gaW5wdXQuc3BsaXQoYiIuIikKIAogICAgICAgICBpZiBsYWJlbHMgYW5kIGxlbihsYWJlbHNbLTFdKSA9PSAwOgpkaWZmIC0tZ2l0IGEvTGliL2ZpbGVpbnB1dC5weSBiL0xpYi9maWxlaW5wdXQucHkKaW5kZXggNTU0YmViMi4uZGJiYmIyMSAxMDA2NDQKLS0tIGEvTGliL2ZpbGVpbnB1dC5weQorKysgYi9MaWIvZmlsZWlucHV0LnB5CkBAIC0zOTgsOSArMzk4LDggQEAKIAogCiBkZWYgaG9va19lbmNvZGVkKGVuY29kaW5nKToKLSAgICBpbXBvcnQgY29kZWNzCiAgICAgZGVmIG9wZW5ob29rKGZpbGVuYW1lLCBtb2RlKToKLSAgICAgICAgcmV0dXJuIGNvZGVjcy5vcGVuKGZpbGVuYW1lLCBtb2RlLCBlbmNvZGluZykKKyAgICAgICAgcmV0dXJuIG9wZW4oZmlsZW5hbWUsIG1vZGUsIGVuY29kaW5nPWVuY29kaW5nKQogICAgIHJldHVybiBvcGVuaG9vawogCiAKZGlmZiAtLWdpdCBhL0xpYi9mbm1hdGNoLnB5IGIvTGliL2ZubWF0Y2gucHkKaW5kZXggNzI2ZmJlNS4uZjQ0Njc2OSAxMDA2NDQKLS0tIGEvTGliL2ZubWF0Y2gucHkKKysrIGIvTGliL2ZubWF0Y2gucHkKQEAgLTM1LDkgKzM1LDkgQEAKICAgICBwYXQgPSBvcy5wYXRoLm5vcm1jYXNlKHBhdCkKICAgICByZXR1cm4gZm5tYXRjaGNhc2UobmFtZSwgcGF0KQogCi1AZnVuY3Rvb2xzLmxydV9jYWNoZShtYXhzaXplPTI1MCkKLWRlZiBfY29tcGlsZV9wYXR0ZXJuKHBhdCwgaXNfYnl0ZXM9RmFsc2UpOgotICAgIGlmIGlzX2J5dGVzOgorQGZ1bmN0b29scy5scnVfY2FjaGUobWF4c2l6ZT0yNTAsIHR5cGVkPVRydWUpCitkZWYgX2NvbXBpbGVfcGF0dGVybihwYXQpOgorICAgIGlmIGlzaW5zdGFuY2UocGF0LCBieXRlcyk6CiAgICAgICAgIHBhdF9zdHIgPSBzdHIocGF0LCAnSVNPLTg4NTktMScpCiAgICAgICAgIHJlc19zdHIgPSB0cmFuc2xhdGUocGF0X3N0cikKICAgICAgICAgcmVzID0gYnl0ZXMocmVzX3N0ciwgJ0lTTy04ODU5LTEnKQpAQCAtNDksNyArNDksNyBAQAogICAgICIiIlJldHVybiB0aGUgc3Vic2V0IG9mIHRoZSBsaXN0IE5BTUVTIHRoYXQgbWF0Y2ggUEFULiIiIgogICAgIHJlc3VsdCA9IFtdCiAgICAgcGF0ID0gb3MucGF0aC5ub3JtY2FzZShwYXQpCi0gICAgbWF0Y2ggPSBfY29tcGlsZV9wYXR0ZXJuKHBhdCwgaXNpbnN0YW5jZShwYXQsIGJ5dGVzKSkKKyAgICBtYXRjaCA9IF9jb21waWxlX3BhdHRlcm4ocGF0KQogICAgIGlmIG9zLnBhdGggaXMgcG9zaXhwYXRoOgogICAgICAgICAjIG5vcm1jYXNlIG9uIHBvc2l4IGlzIE5PUC4gT3B0aW1pemUgaXQgYXdheSBmcm9tIHRoZSBsb29wLgogICAgICAgICBmb3IgbmFtZSBpbiBuYW1lczoKQEAgLTY3LDcgKzY3LDcgQEAKICAgICBUaGlzIGlzIGEgdmVyc2lvbiBvZiBmbm1hdGNoKCkgd2hpY2ggZG9lc24ndCBjYXNlLW5vcm1hbGl6ZQogICAgIGl0cyBhcmd1bWVudHMuCiAgICAgIiIiCi0gICAgbWF0Y2ggPSBfY29tcGlsZV9wYXR0ZXJuKHBhdCwgaXNpbnN0YW5jZShwYXQsIGJ5dGVzKSkKKyAgICBtYXRjaCA9IF9jb21waWxlX3BhdHRlcm4ocGF0KQogICAgIHJldHVybiBtYXRjaChuYW1lKSBpcyBub3QgTm9uZQogCiAKZGlmZiAtLWdpdCBhL0xpYi9mdHBsaWIucHkgYi9MaWIvZnRwbGliLnB5CmluZGV4IDhlNTMwMjMuLjE4ODg3YTYgMTAwNjQ0Ci0tLSBhL0xpYi9mdHBsaWIucHkKKysrIGIvTGliL2Z0cGxpYi5weQpAQCAtMTAwLDE0ICsxMDAsMTUgQEAKICAgICBmaWxlID0gTm9uZQogICAgIHdlbGNvbWUgPSBOb25lCiAgICAgcGFzc2l2ZXNlcnZlciA9IDEKLSAgICBlbmNvZGluZyA9ICJsYXRpbjEiCisgICAgZW5jb2RpbmcgPSAibGF0aW4tMSIKIAogICAgICMgSW5pdGlhbGl6YXRpb24gbWV0aG9kIChjYWxsZWQgYnkgY2xhc3MgaW5zdGFudGlhdGlvbikuCiAgICAgIyBJbml0aWFsaXplIGhvc3QgdG8gbG9jYWxob3N0LCBwb3J0IHRvIHN0YW5kYXJkIGZ0cCBwb3J0CiAgICAgIyBPcHRpb25hbCBhcmd1bWVudHMgYXJlIGhvc3QgKGZvciBjb25uZWN0KCkpLAogICAgICMgYW5kIHVzZXIsIHBhc3N3ZCwgYWNjdCAoZm9yIGxvZ2luKCkpCiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIGhvc3Q9JycsIHVzZXI9JycsIHBhc3N3ZD0nJywgYWNjdD0nJywKLSAgICAgICAgICAgICAgICAgdGltZW91dD1fR0xPQkFMX0RFRkFVTFRfVElNRU9VVCk6CisgICAgICAgICAgICAgICAgIHRpbWVvdXQ9X0dMT0JBTF9ERUZBVUxUX1RJTUVPVVQsIHNvdXJjZV9hZGRyZXNzPU5vbmUpOgorICAgICAgICBzZWxmLnNvdXJjZV9hZGRyZXNzID0gc291cmNlX2FkZHJlc3MKICAgICAgICAgc2VsZi50aW1lb3V0ID0gdGltZW91dAogICAgICAgICBpZiBob3N0OgogICAgICAgICAgICAgc2VsZi5jb25uZWN0KGhvc3QpCkBAIC0xMjgsMTAgKzEyOSwxMiBAQAogICAgICAgICAgICAgICAgIGlmIHNlbGYuc29jayBpcyBub3QgTm9uZToKICAgICAgICAgICAgICAgICAgICAgc2VsZi5jbG9zZSgpCiAKLSAgICBkZWYgY29ubmVjdChzZWxmLCBob3N0PScnLCBwb3J0PTAsIHRpbWVvdXQ9LTk5OSk6CisgICAgZGVmIGNvbm5lY3Qoc2VsZiwgaG9zdD0nJywgcG9ydD0wLCB0aW1lb3V0PS05OTksIHNvdXJjZV9hZGRyZXNzPU5vbmUpOgogICAgICAgICAnJydDb25uZWN0IHRvIGhvc3QuICBBcmd1bWVudHMgYXJlOgogICAgICAgICAgLSBob3N0OiBob3N0bmFtZSB0byBjb25uZWN0IHRvIChzdHJpbmcsIGRlZmF1bHQgcHJldmlvdXMgaG9zdCkKICAgICAgICAgIC0gcG9ydDogcG9ydCB0byBjb25uZWN0IHRvIChpbnRlZ2VyLCBkZWZhdWx0IHByZXZpb3VzIHBvcnQpCisgICAgICAgICAtIHNvdXJjZV9hZGRyZXNzOiBhIDItdHVwbGUgKGhvc3QsIHBvcnQpIGZvciB0aGUgc29ja2V0IHRvIGJpbmQKKyAgICAgICAgICAgdG8gYXMgaXRzIHNvdXJjZSBhZGRyZXNzIGJlZm9yZSBjb25uZWN0aW5nLgogICAgICAgICAnJycKICAgICAgICAgaWYgaG9zdCAhPSAnJzoKICAgICAgICAgICAgIHNlbGYuaG9zdCA9IGhvc3QKQEAgLTEzOSw3ICsxNDIsMTAgQEAKICAgICAgICAgICAgIHNlbGYucG9ydCA9IHBvcnQKICAgICAgICAgaWYgdGltZW91dCAhPSAtOTk5OgogICAgICAgICAgICAgc2VsZi50aW1lb3V0ID0gdGltZW91dAotICAgICAgICBzZWxmLnNvY2sgPSBzb2NrZXQuY3JlYXRlX2Nvbm5lY3Rpb24oKHNlbGYuaG9zdCwgc2VsZi5wb3J0KSwgc2VsZi50aW1lb3V0KQorICAgICAgICBpZiBzb3VyY2VfYWRkcmVzcyBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIHNlbGYuc291cmNlX2FkZHJlc3MgPSBzb3VyY2VfYWRkcmVzcworICAgICAgICBzZWxmLnNvY2sgPSBzb2NrZXQuY3JlYXRlX2Nvbm5lY3Rpb24oKHNlbGYuaG9zdCwgc2VsZi5wb3J0KSwgc2VsZi50aW1lb3V0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlX2FkZHJlc3M9c2VsZi5zb3VyY2VfYWRkcmVzcykKICAgICAgICAgc2VsZi5hZiA9IHNlbGYuc29jay5mYW1pbHkKICAgICAgICAgc2VsZi5maWxlID0gc2VsZi5zb2NrLm1ha2VmaWxlKCdyJywgZW5jb2Rpbmc9c2VsZi5lbmNvZGluZykKICAgICAgICAgc2VsZi53ZWxjb21lID0gc2VsZi5nZXRyZXNwKCkKQEAgLTE2OSwxMCArMTc1LDggQEAKIAogICAgICMgSW50ZXJuYWw6ICJzYW5pdGl6ZSIgYSBzdHJpbmcgZm9yIHByaW50aW5nCiAgICAgZGVmIHNhbml0aXplKHNlbGYsIHMpOgotICAgICAgICBpZiBzWzo1XSA9PSAncGFzcyAnIG9yIHNbOjVdID09ICdQQVNTICc6Ci0gICAgICAgICAgICBpID0gbGVuKHMpCi0gICAgICAgICAgICB3aGlsZSBpID4gNSBhbmQgc1tpLTFdIGluIHsnXHInLCAnXG4nfToKLSAgICAgICAgICAgICAgICBpID0gaS0xCisgICAgICAgIGlmIHNbOjVdIGluIHsncGFzcyAnLCAnUEFTUyAnfToKKyAgICAgICAgICAgIGkgPSBsZW4ocy5yc3RyaXAoJ1xyXG4nKSkKICAgICAgICAgICAgIHMgPSBzWzo1XSArICcqJyooaS01KSArIHNbaTpdCiAgICAgICAgIHJldHVybiByZXByKHMpCiAKQEAgLTMzNSw3ICszMzksOCBAQAogICAgICAgICBzaXplID0gTm9uZQogICAgICAgICBpZiBzZWxmLnBhc3NpdmVzZXJ2ZXI6CiAgICAgICAgICAgICBob3N0LCBwb3J0ID0gc2VsZi5tYWtlcGFzdigpCi0gICAgICAgICAgICBjb25uID0gc29ja2V0LmNyZWF0ZV9jb25uZWN0aW9uKChob3N0LCBwb3J0KSwgc2VsZi50aW1lb3V0KQorICAgICAgICAgICAgY29ubiA9IHNvY2tldC5jcmVhdGVfY29ubmVjdGlvbigoaG9zdCwgcG9ydCksIHNlbGYudGltZW91dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlX2FkZHJlc3M9c2VsZi5zb3VyY2VfYWRkcmVzcykKICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICBpZiByZXN0IGlzIG5vdCBOb25lOgogICAgICAgICAgICAgICAgICAgICBzZWxmLnNlbmRjbWQoIlJFU1QgJXMiICUgcmVzdCkKQEAgLTM1NCw4ICszNTksNyBAQAogICAgICAgICAgICAgICAgIGNvbm4uY2xvc2UoKQogICAgICAgICAgICAgICAgIHJhaXNlCiAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBzb2NrID0gc2VsZi5tYWtlcG9ydCgpCi0gICAgICAgICAgICB0cnk6CisgICAgICAgICAgICB3aXRoIHNlbGYubWFrZXBvcnQoKSBhcyBzb2NrOgogICAgICAgICAgICAgICAgIGlmIHJlc3QgaXMgbm90IE5vbmU6CiAgICAgICAgICAgICAgICAgICAgIHNlbGYuc2VuZGNtZCgiUkVTVCAlcyIgJSByZXN0KQogICAgICAgICAgICAgICAgIHJlc3AgPSBzZWxmLnNlbmRjbWQoY21kKQpAQCAtMzY3LDggKzM3MSw2IEBACiAgICAgICAgICAgICAgICAgY29ubiwgc29ja2FkZHIgPSBzb2NrLmFjY2VwdCgpCiAgICAgICAgICAgICAgICAgaWYgc2VsZi50aW1lb3V0IGlzIG5vdCBfR0xPQkFMX0RFRkFVTFRfVElNRU9VVDoKICAgICAgICAgICAgICAgICAgICAgY29ubi5zZXR0aW1lb3V0KHNlbGYudGltZW91dCkKLSAgICAgICAgICAgIGZpbmFsbHk6Ci0gICAgICAgICAgICAgICAgc29jay5jbG9zZSgpCiAgICAgICAgIGlmIHJlc3BbOjNdID09ICcxNTAnOgogICAgICAgICAgICAgIyB0aGlzIGlzIGNvbmRpdGlvbmFsIGluIGNhc2Ugd2UgcmVjZWl2ZWQgYSAxMjUKICAgICAgICAgICAgIHNpemUgPSBwYXJzZTE1MChyZXNwKQpAQCAtNDI2LDcgKzQyOCw3IEBACiAgICAgICAgICIiIlJldHJpZXZlIGRhdGEgaW4gbGluZSBtb2RlLiAgQSBuZXcgcG9ydCBpcyBjcmVhdGVkIGZvciB5b3UuCiAKICAgICAgICAgQXJnczoKLSAgICAgICAgICBjbWQ6IEEgUkVUUiwgTElTVCwgTkxTVCwgb3IgTUxTRCBjb21tYW5kLgorICAgICAgICAgIGNtZDogQSBSRVRSLCBMSVNULCBvciBOTFNUIGNvbW1hbmQuCiAgICAgICAgICAgY2FsbGJhY2s6IEFuIG9wdGlvbmFsIHNpbmdsZSBwYXJhbWV0ZXIgY2FsbGFibGUgdGhhdCBpcyBjYWxsZWQKICAgICAgICAgICAgICAgICAgICAgZm9yIGVhY2ggbGluZSB3aXRoIHRoZSB0cmFpbGluZyBDUkxGIHN0cmlwcGVkLgogICAgICAgICAgICAgICAgICAgICBbZGVmYXVsdDogcHJpbnRfbGluZSgpXQpAQCAtNTI3LDYgKzUyOSwzNCBAQAogICAgICAgICAgICAgICAgIGNtZCA9IGNtZCArICgnICcgKyBhcmcpCiAgICAgICAgIHNlbGYucmV0cmxpbmVzKGNtZCwgZnVuYykKIAorICAgIGRlZiBtbHNkKHNlbGYsIHBhdGg9IiIsIGZhY3RzPVtdKToKKyAgICAgICAgJycnTGlzdCBhIGRpcmVjdG9yeSBpbiBhIHN0YW5kYXJkaXplZCBmb3JtYXQgYnkgdXNpbmcgTUxTRAorICAgICAgICBjb21tYW5kIChSRkMtMzY1OSkuIElmIHBhdGggaXMgb21pdHRlZCB0aGUgY3VycmVudCBkaXJlY3RvcnkKKyAgICAgICAgaXMgYXNzdW1lZC4gImZhY3RzIiBpcyBhIGxpc3Qgb2Ygc3RyaW5ncyByZXByZXNlbnRpbmcgdGhlIHR5cGUKKyAgICAgICAgb2YgaW5mb3JtYXRpb24gZGVzaXJlZCAoZS5nLiBbInR5cGUiLCAic2l6ZSIsICJwZXJtIl0pLgorCisgICAgICAgIFJldHVybiBhIGdlbmVyYXRvciBvYmplY3QgeWllbGRpbmcgYSB0dXBsZSBvZiB0d28gZWxlbWVudHMKKyAgICAgICAgZm9yIGV2ZXJ5IGZpbGUgZm91bmQgaW4gcGF0aC4KKyAgICAgICAgRmlyc3QgZWxlbWVudCBpcyB0aGUgZmlsZSBuYW1lLCB0aGUgc2Vjb25kIG9uZSBpcyBhIGRpY3Rpb25hcnkKKyAgICAgICAgaW5jbHVkaW5nIGEgdmFyaWFibGUgbnVtYmVyIG9mICJmYWN0cyIgZGVwZW5kaW5nIG9uIHRoZSBzZXJ2ZXIKKyAgICAgICAgYW5kIHdoZXRoZXIgImZhY3RzIiBhcmd1bWVudCBoYXMgYmVlbiBwcm92aWRlZC4KKyAgICAgICAgJycnCisgICAgICAgIGlmIGZhY3RzOgorICAgICAgICAgICAgc2VsZi5zZW5kY21kKCJPUFRTIE1MU1QgIiArICI7Ii5qb2luKGZhY3RzKSArICI7IikKKyAgICAgICAgaWYgcGF0aDoKKyAgICAgICAgICAgIGNtZCA9ICJNTFNEICVzIiAlIHBhdGgKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGNtZCA9ICJNTFNEIgorICAgICAgICBsaW5lcyA9IFtdCisgICAgICAgIHNlbGYucmV0cmxpbmVzKGNtZCwgbGluZXMuYXBwZW5kKQorICAgICAgICBmb3IgbGluZSBpbiBsaW5lczoKKyAgICAgICAgICAgIGZhY3RzX2ZvdW5kLCBfLCBuYW1lID0gbGluZS5yc3RyaXAoQ1JMRikucGFydGl0aW9uKCcgJykKKyAgICAgICAgICAgIGVudHJ5ID0ge30KKyAgICAgICAgICAgIGZvciBmYWN0IGluIGZhY3RzX2ZvdW5kWzotMV0uc3BsaXQoIjsiKToKKyAgICAgICAgICAgICAgICBrZXksIF8sIHZhbHVlID0gZmFjdC5wYXJ0aXRpb24oIj0iKQorICAgICAgICAgICAgICAgIGVudHJ5W2tleS5sb3dlcigpXSA9IHZhbHVlCisgICAgICAgICAgICB5aWVsZCAobmFtZSwgZW50cnkpCisKICAgICBkZWYgcmVuYW1lKHNlbGYsIGZyb21uYW1lLCB0b25hbWUpOgogICAgICAgICAnJydSZW5hbWUgYSBmaWxlLicnJwogICAgICAgICByZXNwID0gc2VsZi5zZW5kY21kKCdSTkZSICcgKyBmcm9tbmFtZSkKQEAgLTU2MSwxMCArNTkxLDcgQEAKICAgICAgICAgcmVzcCA9IHNlbGYuc2VuZGNtZCgnU0laRSAnICsgZmlsZW5hbWUpCiAgICAgICAgIGlmIHJlc3BbOjNdID09ICcyMTMnOgogICAgICAgICAgICAgcyA9IHJlc3BbMzpdLnN0cmlwKCkKLSAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICByZXR1cm4gaW50KHMpCi0gICAgICAgICAgICBleGNlcHQgKE92ZXJmbG93RXJyb3IsIFZhbHVlRXJyb3IpOgotICAgICAgICAgICAgICAgIHJldHVybiBpbnQocykKKyAgICAgICAgICAgIHJldHVybiBpbnQocykKIAogICAgIGRlZiBta2Qoc2VsZiwgZGlybmFtZSk6CiAgICAgICAgICcnJ01ha2UgYSBkaXJlY3RvcnksIHJldHVybiBpdHMgZnVsbCBwYXRobmFtZS4nJycKQEAgLTU5NiwxMSArNjIzLDExIEBACiAKICAgICBkZWYgY2xvc2Uoc2VsZik6CiAgICAgICAgICcnJ0Nsb3NlIHRoZSBjb25uZWN0aW9uIHdpdGhvdXQgYXNzdW1pbmcgYW55dGhpbmcgYWJvdXQgaXQuJycnCi0gICAgICAgIGlmIHNlbGYuZmlsZToKKyAgICAgICAgaWYgc2VsZi5maWxlIGlzIG5vdCBOb25lOgogICAgICAgICAgICAgc2VsZi5maWxlLmNsb3NlKCkKKyAgICAgICAgaWYgc2VsZi5zb2NrIGlzIG5vdCBOb25lOgogICAgICAgICAgICAgc2VsZi5zb2NrLmNsb3NlKCkKLSAgICAgICAgICAgIHNlbGYuZmlsZSA9IHNlbGYuc29jayA9IE5vbmUKLQorICAgICAgICBzZWxmLmZpbGUgPSBzZWxmLnNvY2sgPSBOb25lCiAKIHRyeToKICAgICBpbXBvcnQgc3NsCkBAIC02NDQsNyArNjcxLDcgQEAKIAogICAgICAgICBkZWYgX19pbml0X18oc2VsZiwgaG9zdD0nJywgdXNlcj0nJywgcGFzc3dkPScnLCBhY2N0PScnLCBrZXlmaWxlPU5vbmUsCiAgICAgICAgICAgICAgICAgICAgICBjZXJ0ZmlsZT1Ob25lLCBjb250ZXh0PU5vbmUsCi0gICAgICAgICAgICAgICAgICAgICB0aW1lb3V0PV9HTE9CQUxfREVGQVVMVF9USU1FT1VUKToKKyAgICAgICAgICAgICAgICAgICAgIHRpbWVvdXQ9X0dMT0JBTF9ERUZBVUxUX1RJTUVPVVQsIHNvdXJjZV9hZGRyZXNzPU5vbmUpOgogICAgICAgICAgICAgaWYgY29udGV4dCBpcyBub3QgTm9uZSBhbmQga2V5ZmlsZSBpcyBub3QgTm9uZToKICAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJjb250ZXh0IGFuZCBrZXlmaWxlIGFyZ3VtZW50cyBhcmUgbXV0dWFsbHkgIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4Y2x1c2l2ZSIpCkBAIC02NTUsNyArNjgyLDcgQEAKICAgICAgICAgICAgIHNlbGYuY2VydGZpbGUgPSBjZXJ0ZmlsZQogICAgICAgICAgICAgc2VsZi5jb250ZXh0ID0gY29udGV4dAogICAgICAgICAgICAgc2VsZi5fcHJvdF9wID0gRmFsc2UKLSAgICAgICAgICAgIEZUUC5fX2luaXRfXyhzZWxmLCBob3N0LCB1c2VyLCBwYXNzd2QsIGFjY3QsIHRpbWVvdXQpCisgICAgICAgICAgICBGVFAuX19pbml0X18oc2VsZiwgaG9zdCwgdXNlciwgcGFzc3dkLCBhY2N0LCB0aW1lb3V0LCBzb3VyY2VfYWRkcmVzcykKIAogICAgICAgICBkZWYgbG9naW4oc2VsZiwgdXNlcj0nJywgcGFzc3dkPScnLCBhY2N0PScnLCBzZWN1cmU9VHJ1ZSk6CiAgICAgICAgICAgICBpZiBzZWN1cmUgYW5kIG5vdCBpc2luc3RhbmNlKHNlbGYuc29jaywgc3NsLlNTTFNvY2tldCk6CkBAIC02NzksNiArNzA2LDE0IEBACiAgICAgICAgICAgICBzZWxmLmZpbGUgPSBzZWxmLnNvY2subWFrZWZpbGUobW9kZT0ncicsIGVuY29kaW5nPXNlbGYuZW5jb2RpbmcpCiAgICAgICAgICAgICByZXR1cm4gcmVzcAogCisgICAgICAgIGRlZiBjY2Moc2VsZik6CisgICAgICAgICAgICAnJydTd2l0Y2ggYmFjayB0byBhIGNsZWFyLXRleHQgY29udHJvbCBjb25uZWN0aW9uLicnJworICAgICAgICAgICAgaWYgbm90IGlzaW5zdGFuY2Uoc2VsZi5zb2NrLCBzc2wuU1NMU29ja2V0KToKKyAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJub3QgdXNpbmcgVExTIikKKyAgICAgICAgICAgIHJlc3AgPSBzZWxmLnZvaWRjbWQoJ0NDQycpCisgICAgICAgICAgICBzZWxmLnNvY2sgPSBzZWxmLnNvY2sudW53cmFwKCkKKyAgICAgICAgICAgIHJldHVybiByZXNwCisKICAgICAgICAgZGVmIHByb3RfcChzZWxmKToKICAgICAgICAgICAgICcnJ1NldCB1cCBzZWN1cmUgZGF0YSBjb25uZWN0aW9uLicnJwogICAgICAgICAgICAgIyBQUk9UIGRlZmluZXMgd2hldGhlciBvciBub3QgdGhlIGRhdGEgY2hhbm5lbCBpcyB0byBiZSBwcm90ZWN0ZWQuCkBAIC03MTUsOCArNzUwLDcgQEAKIAogICAgICAgICBkZWYgcmV0cmJpbmFyeShzZWxmLCBjbWQsIGNhbGxiYWNrLCBibG9ja3NpemU9ODE5MiwgcmVzdD1Ob25lKToKICAgICAgICAgICAgIHNlbGYudm9pZGNtZCgnVFlQRSBJJykKLSAgICAgICAgICAgIGNvbm4gPSBzZWxmLnRyYW5zZmVyY21kKGNtZCwgcmVzdCkKLSAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgIHdpdGggc2VsZi50cmFuc2ZlcmNtZChjbWQsIHJlc3QpIGFzIGNvbm46CiAgICAgICAgICAgICAgICAgd2hpbGUgMToKICAgICAgICAgICAgICAgICAgICAgZGF0YSA9IGNvbm4ucmVjdihibG9ja3NpemUpCiAgICAgICAgICAgICAgICAgICAgIGlmIG5vdCBkYXRhOgpAQCAtNzI1LDggKzc1OSw2IEBACiAgICAgICAgICAgICAgICAgIyBzaHV0ZG93biBzc2wgbGF5ZXIKICAgICAgICAgICAgICAgICBpZiBpc2luc3RhbmNlKGNvbm4sIHNzbC5TU0xTb2NrZXQpOgogICAgICAgICAgICAgICAgICAgICBjb25uLnVud3JhcCgpCi0gICAgICAgICAgICBmaW5hbGx5OgotICAgICAgICAgICAgICAgIGNvbm4uY2xvc2UoKQogICAgICAgICAgICAgcmV0dXJuIHNlbGYudm9pZHJlc3AoKQogCiAgICAgICAgIGRlZiByZXRybGluZXMoc2VsZiwgY21kLCBjYWxsYmFjayA9IE5vbmUpOgpAQCAtNzM0LDcgKzc2Niw3IEBACiAgICAgICAgICAgICByZXNwID0gc2VsZi5zZW5kY21kKCdUWVBFIEEnKQogICAgICAgICAgICAgY29ubiA9IHNlbGYudHJhbnNmZXJjbWQoY21kKQogICAgICAgICAgICAgZnAgPSBjb25uLm1ha2VmaWxlKCdyJywgZW5jb2Rpbmc9c2VsZi5lbmNvZGluZykKLSAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgIHdpdGggZnAsIGNvbm46CiAgICAgICAgICAgICAgICAgd2hpbGUgMToKICAgICAgICAgICAgICAgICAgICAgbGluZSA9IGZwLnJlYWRsaW5lKCkKICAgICAgICAgICAgICAgICAgICAgaWYgc2VsZi5kZWJ1Z2dpbmcgPiAyOiBwcmludCgnKnJldHIqJywgcmVwcihsaW5lKSkKQEAgLTc0OCwxNSArNzgwLDExIEBACiAgICAgICAgICAgICAgICAgIyBzaHV0ZG93biBzc2wgbGF5ZXIKICAgICAgICAgICAgICAgICBpZiBpc2luc3RhbmNlKGNvbm4sIHNzbC5TU0xTb2NrZXQpOgogICAgICAgICAgICAgICAgICAgICBjb25uLnVud3JhcCgpCi0gICAgICAgICAgICBmaW5hbGx5OgotICAgICAgICAgICAgICAgIGZwLmNsb3NlKCkKLSAgICAgICAgICAgICAgICBjb25uLmNsb3NlKCkKICAgICAgICAgICAgIHJldHVybiBzZWxmLnZvaWRyZXNwKCkKIAogICAgICAgICBkZWYgc3RvcmJpbmFyeShzZWxmLCBjbWQsIGZwLCBibG9ja3NpemU9ODE5MiwgY2FsbGJhY2s9Tm9uZSwgcmVzdD1Ob25lKToKICAgICAgICAgICAgIHNlbGYudm9pZGNtZCgnVFlQRSBJJykKLSAgICAgICAgICAgIGNvbm4gPSBzZWxmLnRyYW5zZmVyY21kKGNtZCwgcmVzdCkKLSAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgIHdpdGggc2VsZi50cmFuc2ZlcmNtZChjbWQsIHJlc3QpIGFzIGNvbm46CiAgICAgICAgICAgICAgICAgd2hpbGUgMToKICAgICAgICAgICAgICAgICAgICAgYnVmID0gZnAucmVhZChibG9ja3NpemUpCiAgICAgICAgICAgICAgICAgICAgIGlmIG5vdCBidWY6IGJyZWFrCkBAIC03NjUsMTQgKzc5MywxMSBAQAogICAgICAgICAgICAgICAgICMgc2h1dGRvd24gc3NsIGxheWVyCiAgICAgICAgICAgICAgICAgaWYgaXNpbnN0YW5jZShjb25uLCBzc2wuU1NMU29ja2V0KToKICAgICAgICAgICAgICAgICAgICAgY29ubi51bndyYXAoKQotICAgICAgICAgICAgZmluYWxseToKLSAgICAgICAgICAgICAgICBjb25uLmNsb3NlKCkKICAgICAgICAgICAgIHJldHVybiBzZWxmLnZvaWRyZXNwKCkKIAogICAgICAgICBkZWYgc3RvcmxpbmVzKHNlbGYsIGNtZCwgZnAsIGNhbGxiYWNrPU5vbmUpOgogICAgICAgICAgICAgc2VsZi52b2lkY21kKCdUWVBFIEEnKQotICAgICAgICAgICAgY29ubiA9IHNlbGYudHJhbnNmZXJjbWQoY21kKQotICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgd2l0aCBzZWxmLnRyYW5zZmVyY21kKGNtZCkgYXMgY29ubjoKICAgICAgICAgICAgICAgICB3aGlsZSAxOgogICAgICAgICAgICAgICAgICAgICBidWYgPSBmcC5yZWFkbGluZSgpCiAgICAgICAgICAgICAgICAgICAgIGlmIG5vdCBidWY6IGJyZWFrCkBAIC03ODQsOCArODA5LDYgQEAKICAgICAgICAgICAgICAgICAjIHNodXRkb3duIHNzbCBsYXllcgogICAgICAgICAgICAgICAgIGlmIGlzaW5zdGFuY2UoY29ubiwgc3NsLlNTTFNvY2tldCk6CiAgICAgICAgICAgICAgICAgICAgIGNvbm4udW53cmFwKCkKLSAgICAgICAgICAgIGZpbmFsbHk6Ci0gICAgICAgICAgICAgICAgY29ubi5jbG9zZSgpCiAgICAgICAgICAgICByZXR1cm4gc2VsZi52b2lkcmVzcCgpCiAKICAgICAgICAgZGVmIGFib3J0KHNlbGYpOgpAQCAtODE4LDExICs4NDEsNyBAQAogICAgIG0gPSBfMTUwX3JlLm1hdGNoKHJlc3ApCiAgICAgaWYgbm90IG06CiAgICAgICAgIHJldHVybiBOb25lCi0gICAgcyA9IG0uZ3JvdXAoMSkKLSAgICB0cnk6Ci0gICAgICAgIHJldHVybiBpbnQocykKLSAgICBleGNlcHQgKE92ZXJmbG93RXJyb3IsIFZhbHVlRXJyb3IpOgotICAgICAgICByZXR1cm4gaW50KHMpCisgICAgcmV0dXJuIGludChtLmdyb3VwKDEpKQogCiAKIF8yMjdfcmUgPSBOb25lCmRpZmYgLS1naXQgYS9MaWIvZnVuY3Rvb2xzLnB5IGIvTGliL2Z1bmN0b29scy5weQppbmRleCA4NWVhMjU3Li5mNGM4MjcxIDEwMDY0NAotLS0gYS9MaWIvZnVuY3Rvb2xzLnB5CisrKyBiL0xpYi9mdW5jdG9vbHMucHkKQEAgLTEyLDE2ICsxMiwyMiBAQAogICAgICAgICAgICAndG90YWxfb3JkZXJpbmcnLCAnY21wX3RvX2tleScsICdscnVfY2FjaGUnLCAncmVkdWNlJywgJ3BhcnRpYWwnXQogCiBmcm9tIF9mdW5jdG9vbHMgaW1wb3J0IHBhcnRpYWwsIHJlZHVjZQotZnJvbSBjb2xsZWN0aW9ucyBpbXBvcnQgT3JkZXJlZERpY3QsIG5hbWVkdHVwbGUKK2Zyb20gY29sbGVjdGlvbnMgaW1wb3J0IG5hbWVkdHVwbGUKIHRyeToKICAgICBmcm9tIF90aHJlYWQgaW1wb3J0IGFsbG9jYXRlX2xvY2sgYXMgTG9jawogZXhjZXB0OgogICAgIGZyb20gX2R1bW15X3RocmVhZCBpbXBvcnQgYWxsb2NhdGVfbG9jayBhcyBMb2NrCiAKKworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMjIyB1cGRhdGVfd3JhcHBlcigpIGFuZCB3cmFwcygpIGRlY29yYXRvcgorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKwogIyB1cGRhdGVfd3JhcHBlcigpIGFuZCB3cmFwcygpIGFyZSB0b29scyB0byBoZWxwIHdyaXRlCiAjIHdyYXBwZXIgZnVuY3Rpb25zIHRoYXQgY2FuIGhhbmRsZSBuYWl2ZSBpbnRyb3NwZWN0aW9uCiAKLVdSQVBQRVJfQVNTSUdOTUVOVFMgPSAoJ19fbW9kdWxlX18nLCAnX19uYW1lX18nLCAnX19kb2NfXycsICdfX2Fubm90YXRpb25zX18nKQorV1JBUFBFUl9BU1NJR05NRU5UUyA9ICgnX19tb2R1bGVfXycsICdfX25hbWVfXycsICdfX3F1YWxuYW1lX18nLCAnX19kb2NfXycsCisgICAgICAgICAgICAgICAgICAgICAgICdfX2Fubm90YXRpb25zX18nKQogV1JBUFBFUl9VUERBVEVTID0gKCdfX2RpY3RfXycsKQogZGVmIHVwZGF0ZV93cmFwcGVyKHdyYXBwZXIsCiAgICAgICAgICAgICAgICAgICAgd3JhcHBlZCwKQEAgLTY1LDYgKzcxLDExIEBACiAgICAgcmV0dXJuIHBhcnRpYWwodXBkYXRlX3dyYXBwZXIsIHdyYXBwZWQ9d3JhcHBlZCwKICAgICAgICAgICAgICAgICAgICBhc3NpZ25lZD1hc3NpZ25lZCwgdXBkYXRlZD11cGRhdGVkKQogCisKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIyMgdG90YWxfb3JkZXJpbmcgY2xhc3MgZGVjb3JhdG9yCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCiBkZWYgdG90YWxfb3JkZXJpbmcoY2xzKToKICAgICAiIiJDbGFzcyBkZWNvcmF0b3IgdGhhdCBmaWxscyBpbiBtaXNzaW5nIG9yZGVyaW5nIG1ldGhvZHMiIiIKICAgICBjb252ZXJ0ID0gewpAQCAtOTMsNiArMTA0LDExIEBACiAgICAgICAgICAgICBzZXRhdHRyKGNscywgb3BuYW1lLCBvcGZ1bmMpCiAgICAgcmV0dXJuIGNscwogCisKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIyMgY21wX3RvX2tleSgpIGZ1bmN0aW9uIGNvbnZlcnRlcgorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKwogZGVmIGNtcF90b19rZXkobXljbXApOgogICAgICIiIkNvbnZlcnQgYSBjbXA9IGZ1bmN0aW9uIGludG8gYSBrZXk9IGZ1bmN0aW9uIiIiCiAgICAgY2xhc3MgSyhvYmplY3QpOgpAQCAtMTE0LDE0ICsxMzAsMjggQEAKICAgICAgICAgX19oYXNoX18gPSBOb25lCiAgICAgcmV0dXJuIEsKIAotX0NhY2hlSW5mbyA9IG5hbWVkdHVwbGUoIkNhY2hlSW5mbyIsICJoaXRzIG1pc3NlcyBtYXhzaXplIGN1cnJzaXplIikKK3RyeToKKyAgICBmcm9tIF9mdW5jdG9vbHMgaW1wb3J0IGNtcF90b19rZXkKK2V4Y2VwdCBJbXBvcnRFcnJvcjoKKyAgICBwYXNzCiAKLWRlZiBscnVfY2FjaGUobWF4c2l6ZT0xMDApOgorCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyMjIExSVSBDYWNoZSBmdW5jdGlvbiBkZWNvcmF0b3IKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKK19DYWNoZUluZm8gPSBuYW1lZHR1cGxlKCJDYWNoZUluZm8iLCBbImhpdHMiLCAibWlzc2VzIiwgIm1heHNpemUiLCAiY3VycnNpemUiXSkKKworZGVmIGxydV9jYWNoZShtYXhzaXplPTEwMCwgdHlwZWQ9RmFsc2UpOgogICAgICIiIkxlYXN0LXJlY2VudGx5LXVzZWQgY2FjaGUgZGVjb3JhdG9yLgogCiAgICAgSWYgKm1heHNpemUqIGlzIHNldCB0byBOb25lLCB0aGUgTFJVIGZlYXR1cmVzIGFyZSBkaXNhYmxlZCBhbmQgdGhlIGNhY2hlCiAgICAgY2FuIGdyb3cgd2l0aG91dCBib3VuZC4KIAorICAgIElmICp0eXBlZCogaXMgVHJ1ZSwgYXJndW1lbnRzIG9mIGRpZmZlcmVudCB0eXBlcyB3aWxsIGJlIGNhY2hlZCBzZXBhcmF0ZWx5LgorICAgIEZvciBleGFtcGxlLCBmKDMuMCkgYW5kIGYoMykgd2lsbCBiZSB0cmVhdGVkIGFzIGRpc3RpbmN0IGNhbGxzIHdpdGgKKyAgICBkaXN0aW5jdCByZXN1bHRzLgorCiAgICAgQXJndW1lbnRzIHRvIHRoZSBjYWNoZWQgZnVuY3Rpb24gbXVzdCBiZSBoYXNoYWJsZS4KIAogICAgIFZpZXcgdGhlIGNhY2hlIHN0YXRpc3RpY3MgbmFtZWQgdHVwbGUgKGhpdHMsIG1pc3NlcywgbWF4c2l6ZSwgY3VycnNpemUpIHdpdGgKQEAgLTEzNiw1NyArMTY2LDc3IEBACiAgICAgIyBUaGUgaW50ZXJuYWxzIG9mIHRoZSBscnVfY2FjaGUgYXJlIGVuY2Fwc3VsYXRlZCBmb3IgdGhyZWFkIHNhZmV0eSBhbmQKICAgICAjIHRvIGFsbG93IHRoZSBpbXBsZW1lbnRhdGlvbiB0byBjaGFuZ2UgKGluY2x1ZGluZyBhIHBvc3NpYmxlIEMgdmVyc2lvbikuCiAKLSAgICBkZWYgZGVjb3JhdGluZ19mdW5jdGlvbih1c2VyX2Z1bmN0aW9uLAotICAgICAgICAgICAgICAgIHR1cGxlPXR1cGxlLCBzb3J0ZWQ9c29ydGVkLCBsZW49bGVuLCBLZXlFcnJvcj1LZXlFcnJvcik6CisgICAgZGVmIGRlY29yYXRpbmdfZnVuY3Rpb24odXNlcl9mdW5jdGlvbik6CiAKKyAgICAgICAgY2FjaGUgPSBkaWN0KCkKICAgICAgICAgaGl0cyA9IG1pc3NlcyA9IDAKLSAgICAgICAga3dkX21hcmsgPSAob2JqZWN0KCksKSAgICAgICAgICAjIHNlcGFyYXRlcyBwb3NpdGlvbmFsIGFuZCBrZXl3b3JkIGFyZ3MKLSAgICAgICAgbG9jayA9IExvY2soKSAgICAgICAgICAgICAgICAgICAjIG5lZWRlZCBiZWNhdXNlIE9yZGVyZWREaWN0IGlzbid0IHRocmVhZHNhZmUKKyAgICAgICAgY2FjaGVfZ2V0ID0gY2FjaGUuZ2V0ICAgICAgICAgICAjIGJvdW5kIG1ldGhvZCB0byBsb29rdXAga2V5IG9yIHJldHVybiBOb25lCisgICAgICAgIF9sZW4gPSBsZW4gICAgICAgICAgICAgICAgICAgICAgIyBsb2NhbGl6ZSB0aGUgZ2xvYmFsIGxlbigpIGZ1bmN0aW9uCisgICAgICAgIGt3ZF9tYXJrID0gKG9iamVjdCgpLCkgICAgICAgICAgIyBzZXBhcmF0ZSBwb3NpdGlvbmFsIGFuZCBrZXl3b3JkIGFyZ3MKKyAgICAgICAgbG9jayA9IExvY2soKSAgICAgICAgICAgICAgICAgICAjIGJlY2F1c2UgbGlua2VkbGlzdCB1cGRhdGVzIGFyZW4ndCB0aHJlYWRzYWZlCisgICAgICAgIHJvb3QgPSBbXSAgICAgICAgICAgICAgICAgICAgICAgIyByb290IG9mIHRoZSBjaXJjdWxhciBkb3VibHkgbGlua2VkIGxpc3QKKyAgICAgICAgcm9vdFs6XSA9IFtyb290LCByb290LCBOb25lLCBOb25lXSAgICAgICMgaW5pdGlhbGl6ZSBieSBwb2ludGluZyB0byBzZWxmCisgICAgICAgIFBSRVYsIE5FWFQsIEtFWSwgUkVTVUxUID0gMCwgMSwgMiwgMyAgICAjIG5hbWVzIGZvciB0aGUgbGluayBmaWVsZHMKKworICAgICAgICBkZWYgbWFrZV9rZXkoYXJncywga3dkcywgdHlwZWQsIHR1cGxlPXR1cGxlLCBzb3J0ZWQ9c29ydGVkLCB0eXBlPXR5cGUpOgorICAgICAgICAgICAga2V5ID0gYXJncworICAgICAgICAgICAgaWYga3dkczoKKyAgICAgICAgICAgICAgICBzb3J0ZWRfaXRlbXMgPSB0dXBsZShzb3J0ZWQoa3dkcy5pdGVtcygpKSkKKyAgICAgICAgICAgICAgICBrZXkgKz0ga3dkX21hcmsgKyBzb3J0ZWRfaXRlbXMKKyAgICAgICAgICAgIGlmIHR5cGVkOgorICAgICAgICAgICAgICAgIGtleSArPSB0dXBsZSh0eXBlKHYpIGZvciB2IGluIGFyZ3MpCisgICAgICAgICAgICAgICAgaWYga3dkczoKKyAgICAgICAgICAgICAgICAgICAga2V5ICs9IHR1cGxlKHR5cGUodikgZm9yIGssIHYgaW4gc29ydGVkX2l0ZW1zKQorICAgICAgICAgICAgcmV0dXJuIGtleQogCiAgICAgICAgIGlmIG1heHNpemUgaXMgTm9uZToKLSAgICAgICAgICAgIGNhY2hlID0gZGljdCgpICAgICAgICAgICAgICAjIHNpbXBsZSBjYWNoZSB3aXRob3V0IG9yZGVyaW5nIG9yIHNpemUgbGltaXQKIAogICAgICAgICAgICAgQHdyYXBzKHVzZXJfZnVuY3Rpb24pCiAgICAgICAgICAgICBkZWYgd3JhcHBlcigqYXJncywgKiprd2RzKToKKyAgICAgICAgICAgICAgICAjIHNpbXBsZSBjYWNoaW5nIHdpdGhvdXQgb3JkZXJpbmcgb3Igc2l6ZSBsaW1pdAogICAgICAgICAgICAgICAgIG5vbmxvY2FsIGhpdHMsIG1pc3NlcwotICAgICAgICAgICAgICAgIGtleSA9IGFyZ3MKLSAgICAgICAgICAgICAgICBpZiBrd2RzOgotICAgICAgICAgICAgICAgICAgICBrZXkgKz0ga3dkX21hcmsgKyB0dXBsZShzb3J0ZWQoa3dkcy5pdGVtcygpKSkKLSAgICAgICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IGNhY2hlW2tleV0KKyAgICAgICAgICAgICAgICBrZXkgPSBtYWtlX2tleShhcmdzLCBrd2RzLCB0eXBlZCkgaWYga3dkcyBvciB0eXBlZCBlbHNlIGFyZ3MKKyAgICAgICAgICAgICAgICByZXN1bHQgPSBjYWNoZV9nZXQoa2V5LCByb290KSAgICMgcm9vdCB1c2VkIGhlcmUgYXMgYSB1bmlxdWUgbm90LWZvdW5kIHNlbnRpbmVsCisgICAgICAgICAgICAgICAgaWYgcmVzdWx0IGlzIG5vdCByb290OgogICAgICAgICAgICAgICAgICAgICBoaXRzICs9IDEKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdAotICAgICAgICAgICAgICAgIGV4Y2VwdCBLZXlFcnJvcjoKLSAgICAgICAgICAgICAgICAgICAgcGFzcwogICAgICAgICAgICAgICAgIHJlc3VsdCA9IHVzZXJfZnVuY3Rpb24oKmFyZ3MsICoqa3dkcykKICAgICAgICAgICAgICAgICBjYWNoZVtrZXldID0gcmVzdWx0CiAgICAgICAgICAgICAgICAgbWlzc2VzICs9IDEKICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0CisKICAgICAgICAgZWxzZToKLSAgICAgICAgICAgIGNhY2hlID0gT3JkZXJlZERpY3QoKSAgICAgICAgICAgIyBvcmRlcmVkIGxlYXN0IHJlY2VudCB0byBtb3N0IHJlY2VudAotICAgICAgICAgICAgY2FjaGVfcG9waXRlbSA9IGNhY2hlLnBvcGl0ZW0KLSAgICAgICAgICAgIGNhY2hlX3JlbmV3ID0gY2FjaGUubW92ZV90b19lbmQKIAogICAgICAgICAgICAgQHdyYXBzKHVzZXJfZnVuY3Rpb24pCiAgICAgICAgICAgICBkZWYgd3JhcHBlcigqYXJncywgKiprd2RzKToKKyAgICAgICAgICAgICAgICAjIHNpemUgbGltaXRlZCBjYWNoaW5nIHRoYXQgdHJhY2tzIGFjY2Vzc2VzIGJ5IHJlY2VuY3kKICAgICAgICAgICAgICAgICBub25sb2NhbCBoaXRzLCBtaXNzZXMKLSAgICAgICAgICAgICAgICBrZXkgPSBhcmdzCi0gICAgICAgICAgICAgICAgaWYga3dkczoKLSAgICAgICAgICAgICAgICAgICAga2V5ICs9IGt3ZF9tYXJrICsgdHVwbGUoc29ydGVkKGt3ZHMuaXRlbXMoKSkpCisgICAgICAgICAgICAgICAga2V5ID0gbWFrZV9rZXkoYXJncywga3dkcywgdHlwZWQpIGlmIGt3ZHMgb3IgdHlwZWQgZWxzZSBhcmdzCiAgICAgICAgICAgICAgICAgd2l0aCBsb2NrOgotICAgICAgICAgICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSBjYWNoZVtrZXldCi0gICAgICAgICAgICAgICAgICAgICAgICBjYWNoZV9yZW5ldyhrZXkpICAgICMgcmVjb3JkIHJlY2VudCB1c2Ugb2YgdGhpcyBrZXkKKyAgICAgICAgICAgICAgICAgICAgbGluayA9IGNhY2hlX2dldChrZXkpCisgICAgICAgICAgICAgICAgICAgIGlmIGxpbmsgaXMgbm90IE5vbmU6CisgICAgICAgICAgICAgICAgICAgICAgICAjIHJlY29yZCByZWNlbnQgdXNlIG9mIHRoZSBrZXkgYnkgbW92aW5nIGl0IHRvIHRoZSBmcm9udCBvZiB0aGUgbGlzdAorICAgICAgICAgICAgICAgICAgICAgICAgbGlua19wcmV2LCBsaW5rX25leHQsIGtleSwgcmVzdWx0ID0gbGluaworICAgICAgICAgICAgICAgICAgICAgICAgbGlua19wcmV2W05FWFRdID0gbGlua19uZXh0CisgICAgICAgICAgICAgICAgICAgICAgICBsaW5rX25leHRbUFJFVl0gPSBsaW5rX3ByZXYKKyAgICAgICAgICAgICAgICAgICAgICAgIGxhc3QgPSByb290W1BSRVZdCisgICAgICAgICAgICAgICAgICAgICAgICBsYXN0W05FWFRdID0gcm9vdFtQUkVWXSA9IGxpbmsKKyAgICAgICAgICAgICAgICAgICAgICAgIGxpbmtbUFJFVl0gPSBsYXN0CisgICAgICAgICAgICAgICAgICAgICAgICBsaW5rW05FWFRdID0gcm9vdAogICAgICAgICAgICAgICAgICAgICAgICAgaGl0cyArPSAxCiAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0Ci0gICAgICAgICAgICAgICAgICAgIGV4Y2VwdCBLZXlFcnJvcjoKLSAgICAgICAgICAgICAgICAgICAgICAgIHBhc3MKICAgICAgICAgICAgICAgICByZXN1bHQgPSB1c2VyX2Z1bmN0aW9uKCphcmdzLCAqKmt3ZHMpCiAgICAgICAgICAgICAgICAgd2l0aCBsb2NrOgotICAgICAgICAgICAgICAgICAgICBjYWNoZVtrZXldID0gcmVzdWx0ICAgICAjIHJlY29yZCByZWNlbnQgdXNlIG9mIHRoaXMga2V5CisgICAgICAgICAgICAgICAgICAgIGxhc3QgPSByb290W1BSRVZdCisgICAgICAgICAgICAgICAgICAgIGxpbmsgPSBbbGFzdCwgcm9vdCwga2V5LCByZXN1bHRdCisgICAgICAgICAgICAgICAgICAgIGNhY2hlW2tleV0gPSBsYXN0W05FWFRdID0gcm9vdFtQUkVWXSA9IGxpbmsKKyAgICAgICAgICAgICAgICAgICAgaWYgX2xlbihjYWNoZSkgPiBtYXhzaXplOgorICAgICAgICAgICAgICAgICAgICAgICAgIyBwdXJnZSBsZWFzdCByZWNlbnRseSB1c2VkIGNhY2hlIGVudHJ5CisgICAgICAgICAgICAgICAgICAgICAgICBvbGRfcHJldiwgb2xkX25leHQsIG9sZF9rZXksIG9sZF9yZXN1bHQgPSByb290W05FWFRdCisgICAgICAgICAgICAgICAgICAgICAgICByb290W05FWFRdID0gb2xkX25leHQKKyAgICAgICAgICAgICAgICAgICAgICAgIG9sZF9uZXh0W1BSRVZdID0gcm9vdAorICAgICAgICAgICAgICAgICAgICAgICAgZGVsIGNhY2hlW29sZF9rZXldCiAgICAgICAgICAgICAgICAgICAgIG1pc3NlcyArPSAxCi0gICAgICAgICAgICAgICAgICAgIGlmIGxlbihjYWNoZSkgPiBtYXhzaXplOgotICAgICAgICAgICAgICAgICAgICAgICAgY2FjaGVfcG9waXRlbSgwKSAgICAjIHB1cmdlIGxlYXN0IHJlY2VudGx5IHVzZWQgY2FjaGUgZW50cnkKICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0CiAKICAgICAgICAgZGVmIGNhY2hlX2luZm8oKToKQEAgLTE5OSw2ICsyNDksNyBAQAogICAgICAgICAgICAgbm9ubG9jYWwgaGl0cywgbWlzc2VzCiAgICAgICAgICAgICB3aXRoIGxvY2s6CiAgICAgICAgICAgICAgICAgY2FjaGUuY2xlYXIoKQorICAgICAgICAgICAgICAgIHJvb3RbOl0gPSBbcm9vdCwgcm9vdCwgTm9uZSwgTm9uZV0KICAgICAgICAgICAgICAgICBoaXRzID0gbWlzc2VzID0gMAogCiAgICAgICAgIHdyYXBwZXIuY2FjaGVfaW5mbyA9IGNhY2hlX2luZm8KZGlmZiAtLWdpdCBhL0xpYi9nZXRvcHQucHkgYi9MaWIvZ2V0b3B0LnB5CmluZGV4IDk4MDg2MWQuLjNkNmVjYmQgMTAwNjQ0Ci0tLSBhL0xpYi9nZXRvcHQucHkKKysrIGIvTGliL2dldG9wdC5weQpAQCAtMTksNyArMTksNyBAQAogIyBHZXJyaXQgSG9sbCA8Z2Vycml0QG5sLmxpbnV4Lm9yZz4gbW92ZWQgdGhlIHN0cmluZy1iYXNlZCBleGNlcHRpb25zCiAjIHRvIGNsYXNzLWJhc2VkIGV4Y2VwdGlvbnMuCiAjCi0jIFBldGVyIMODwoVzdHJhbmQgPGFzdHJhbmRAbHlzYXRvci5saXUuc2U+IGFkZGVkIGdudV9nZXRvcHQoKS4KKyMgUGV0ZXIgw4VzdHJhbmQgPGFzdHJhbmRAbHlzYXRvci5saXUuc2U+IGFkZGVkIGdudV9nZXRvcHQoKS4KICMKICMgVE9ETyBmb3IgZ251X2dldG9wdCgpOgogIwpAQCAtMzQsNiArMzQsMTEgQEAKIF9fYWxsX18gPSBbIkdldG9wdEVycm9yIiwiZXJyb3IiLCJnZXRvcHQiLCJnbnVfZ2V0b3B0Il0KIAogaW1wb3J0IG9zCit0cnk6CisgICAgZnJvbSBnZXR0ZXh0IGltcG9ydCBnZXR0ZXh0IGFzIF8KK2V4Y2VwdCBJbXBvcnRFcnJvcjoKKyAgICAjIEJvb3RzdHJhcHBpbmcgUHl0aG9uOiBnZXR0ZXh0J3MgZGVwZW5kZW5jaWVzIG5vdCBidWlsdCB5ZXQKKyAgICBkZWYgXyhzKTogcmV0dXJuIHMKIAogY2xhc3MgR2V0b3B0RXJyb3IoRXhjZXB0aW9uKToKICAgICBvcHQgPSAnJwpAQCAtMTUzLDEwICsxNTgsMTAgQEAKICAgICBpZiBoYXNfYXJnOgogICAgICAgICBpZiBvcHRhcmcgaXMgTm9uZToKICAgICAgICAgICAgIGlmIG5vdCBhcmdzOgotICAgICAgICAgICAgICAgIHJhaXNlIEdldG9wdEVycm9yKCdvcHRpb24gLS0lcyByZXF1aXJlcyBhcmd1bWVudCcgJSBvcHQsIG9wdCkKKyAgICAgICAgICAgICAgICByYWlzZSBHZXRvcHRFcnJvcihfKCdvcHRpb24gLS0lcyByZXF1aXJlcyBhcmd1bWVudCcpICUgb3B0LCBvcHQpCiAgICAgICAgICAgICBvcHRhcmcsIGFyZ3MgPSBhcmdzWzBdLCBhcmdzWzE6XQogICAgIGVsaWYgb3B0YXJnIGlzIG5vdCBOb25lOgotICAgICAgICByYWlzZSBHZXRvcHRFcnJvcignb3B0aW9uIC0tJXMgbXVzdCBub3QgaGF2ZSBhbiBhcmd1bWVudCcgJSBvcHQsIG9wdCkKKyAgICAgICAgcmFpc2UgR2V0b3B0RXJyb3IoXygnb3B0aW9uIC0tJXMgbXVzdCBub3QgaGF2ZSBhbiBhcmd1bWVudCcpICUgb3B0LCBvcHQpCiAgICAgb3B0cy5hcHBlbmQoKCctLScgKyBvcHQsIG9wdGFyZyBvciAnJykpCiAgICAgcmV0dXJuIG9wdHMsIGFyZ3MKIApAQCAtMTY2LDcgKzE3MSw3IEBACiBkZWYgbG9uZ19oYXNfYXJncyhvcHQsIGxvbmdvcHRzKToKICAgICBwb3NzaWJpbGl0aWVzID0gW28gZm9yIG8gaW4gbG9uZ29wdHMgaWYgby5zdGFydHN3aXRoKG9wdCldCiAgICAgaWYgbm90IHBvc3NpYmlsaXRpZXM6Ci0gICAgICAgIHJhaXNlIEdldG9wdEVycm9yKCdvcHRpb24gLS0lcyBub3QgcmVjb2duaXplZCcgJSBvcHQsIG9wdCkKKyAgICAgICAgcmFpc2UgR2V0b3B0RXJyb3IoXygnb3B0aW9uIC0tJXMgbm90IHJlY29nbml6ZWQnKSAlIG9wdCwgb3B0KQogICAgICMgSXMgdGhlcmUgYW4gZXhhY3QgbWF0Y2g/CiAgICAgaWYgb3B0IGluIHBvc3NpYmlsaXRpZXM6CiAgICAgICAgIHJldHVybiBGYWxzZSwgb3B0CkBAIC0xNzYsNyArMTgxLDcgQEAKICAgICBpZiBsZW4ocG9zc2liaWxpdGllcykgPiAxOgogICAgICAgICAjIFhYWCBzaW5jZSBwb3NzaWJpbGl0aWVzIGNvbnRhaW5zIGFsbCB2YWxpZCBjb250aW51YXRpb25zLCBtaWdodCBiZQogICAgICAgICAjIG5pY2UgdG8gd29yayB0aGVtIGludG8gdGhlIGVycm9yIG1zZwotICAgICAgICByYWlzZSBHZXRvcHRFcnJvcignb3B0aW9uIC0tJXMgbm90IGEgdW5pcXVlIHByZWZpeCcgJSBvcHQsIG9wdCkKKyAgICAgICAgcmFpc2UgR2V0b3B0RXJyb3IoXygnb3B0aW9uIC0tJXMgbm90IGEgdW5pcXVlIHByZWZpeCcpICUgb3B0LCBvcHQpCiAgICAgYXNzZXJ0IGxlbihwb3NzaWJpbGl0aWVzKSA9PSAxCiAgICAgdW5pcXVlX21hdGNoID0gcG9zc2liaWxpdGllc1swXQogICAgIGhhc19hcmcgPSB1bmlxdWVfbWF0Y2guZW5kc3dpdGgoJz0nKQpAQCAtMTkwLDcgKzE5NSw3IEBACiAgICAgICAgIGlmIHNob3J0X2hhc19hcmcob3B0LCBzaG9ydG9wdHMpOgogICAgICAgICAgICAgaWYgb3B0c3RyaW5nID09ICcnOgogICAgICAgICAgICAgICAgIGlmIG5vdCBhcmdzOgotICAgICAgICAgICAgICAgICAgICByYWlzZSBHZXRvcHRFcnJvcignb3B0aW9uIC0lcyByZXF1aXJlcyBhcmd1bWVudCcgJSBvcHQsCisgICAgICAgICAgICAgICAgICAgIHJhaXNlIEdldG9wdEVycm9yKF8oJ29wdGlvbiAtJXMgcmVxdWlyZXMgYXJndW1lbnQnKSAlIG9wdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0KQogICAgICAgICAgICAgICAgIG9wdHN0cmluZywgYXJncyA9IGFyZ3NbMF0sIGFyZ3NbMTpdCiAgICAgICAgICAgICBvcHRhcmcsIG9wdHN0cmluZyA9IG9wdHN0cmluZywgJycKQEAgLTIwMyw3ICsyMDgsNyBAQAogICAgIGZvciBpIGluIHJhbmdlKGxlbihzaG9ydG9wdHMpKToKICAgICAgICAgaWYgb3B0ID09IHNob3J0b3B0c1tpXSAhPSAnOic6CiAgICAgICAgICAgICByZXR1cm4gc2hvcnRvcHRzLnN0YXJ0c3dpdGgoJzonLCBpKzEpCi0gICAgcmFpc2UgR2V0b3B0RXJyb3IoJ29wdGlvbiAtJXMgbm90IHJlY29nbml6ZWQnICUgb3B0LCBvcHQpCisgICAgcmFpc2UgR2V0b3B0RXJyb3IoXygnb3B0aW9uIC0lcyBub3QgcmVjb2duaXplZCcpICUgb3B0LCBvcHQpCiAKIGlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CiAgICAgaW1wb3J0IHN5cwpkaWZmIC0tZ2l0IGEvTGliL2dldHBhc3MucHkgYi9MaWIvZ2V0cGFzcy5weQppbmRleCBkYzAyYmQxLi4wMDQ0NzQyIDEwMDY0NAotLS0gYS9MaWIvZ2V0cGFzcy5weQorKysgYi9MaWIvZ2V0cGFzcy5weQpAQCAtNzIsNyArNzIsNyBAQAogICAgICAgICAgICAgZmluYWxseToKICAgICAgICAgICAgICAgICB0ZXJtaW9zLnRjc2V0YXR0cihmZCwgdGNzZXRhdHRyX2ZsYWdzLCBvbGQpCiAgICAgICAgICAgICAgICAgc3RyZWFtLmZsdXNoKCkgICMgaXNzdWU3MjA4Ci0gICAgICAgIGV4Y2VwdCB0ZXJtaW9zLmVycm9yIGFzIGU6CisgICAgICAgIGV4Y2VwdCB0ZXJtaW9zLmVycm9yOgogICAgICAgICAgICAgaWYgcGFzc3dkIGlzIG5vdCBOb25lOgogICAgICAgICAgICAgICAgICMgX3Jhd19pbnB1dCBzdWNjZWVkZWQuICBUaGUgZmluYWwgdGNzZXRhdHRyIGZhaWxlZC4gIFJlcmFpc2UKICAgICAgICAgICAgICAgICAjIGluc3RlYWQgb2YgbGVhdmluZyB0aGUgdGVybWluYWwgaW4gYW4gdW5rbm93biBzdGF0ZS4KQEAgLTE0NSw4ICsxNDUsNiBAQAogCiAgICAgIiIiCiAKLSAgICBpbXBvcnQgb3MKLQogICAgIGZvciBuYW1lIGluICgnTE9HTkFNRScsICdVU0VSJywgJ0xOQU1FJywgJ1VTRVJOQU1FJyk6CiAgICAgICAgIHVzZXIgPSBvcy5lbnZpcm9uLmdldChuYW1lKQogICAgICAgICBpZiB1c2VyOgpkaWZmIC0tZ2l0IGEvTGliL2d6aXAucHkgYi9MaWIvZ3ppcC5weQppbmRleCAxZGUyM2I2Li44NWMzZTE1IDEwMDY0NAotLS0gYS9MaWIvZ3ppcC5weQorKysgYi9MaWIvZ3ppcC5weQpAQCAtMTYsMTggKzE2LDYgQEAKIAogUkVBRCwgV1JJVEUgPSAxLCAyCiAKLWRlZiBVMzIoaSk6Ci0gICAgIiIiUmV0dXJuIGkgYXMgYW4gdW5zaWduZWQgaW50ZWdlciwgYXNzdW1pbmcgaXQgZml0cyBpbiAzMiBiaXRzLgotICAgIElmIGl0J3MgPj0gMkdCIHdoZW4gdmlld2VkIGFzIGEgMzItYml0IHVuc2lnbmVkIGludCwgcmV0dXJuIGEgbG9uZy4KLSAgICAiIiIKLSAgICBpZiBpIDwgMDoKLSAgICAgICAgaSArPSAxIDw8IDMyCi0gICAgcmV0dXJuIGkKLQotZGVmIExPV1UzMihpKToKLSAgICAiIiJSZXR1cm4gdGhlIGxvdy1vcmRlciAzMiBiaXRzLCBhcyBhIG5vbi1uZWdhdGl2ZSBpbnQiIiIKLSAgICByZXR1cm4gaSAmIDB4RkZGRkZGRkYKLQogZGVmIHdyaXRlMzJ1KG91dHB1dCwgdmFsdWUpOgogICAgICMgVGhlIEwgZm9ybWF0IHdyaXRlcyB0aGUgYml0IHBhdHRlcm4gY29ycmVjdGx5IHdoZXRoZXIgc2lnbmVkCiAgICAgIyBvciB1bnNpZ25lZC4KQEAgLTE1Myw3ICsxNDEsNyBAQAogICAgICAgICAiIiIKIAogICAgICAgICBpZiBtb2RlIGFuZCAoJ3QnIGluIG1vZGUgb3IgJ1UnIGluIG1vZGUpOgotICAgICAgICAgICAgcmFpc2UgSU9FcnJvcigiTW9kZSAiICsgbW9kZSArICIgbm90IHN1cHBvcnRlZCIpCisgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJJbnZhbGlkIG1vZGU6IHshcn0iLmZvcm1hdChtb2RlKSkKICAgICAgICAgaWYgbW9kZSBhbmQgJ2InIG5vdCBpbiBtb2RlOgogICAgICAgICAgICAgbW9kZSArPSAnYicKICAgICAgICAgaWYgZmlsZW9iaiBpcyBOb25lOgpAQCAtMTY0LDEwICsxNTIsOSBAQAogICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICBmaWxlbmFtZSA9ICcnCiAgICAgICAgIGlmIG1vZGUgaXMgTm9uZToKLSAgICAgICAgICAgIGlmIGhhc2F0dHIoZmlsZW9iaiwgJ21vZGUnKTogbW9kZSA9IGZpbGVvYmoubW9kZQotICAgICAgICAgICAgZWxzZTogbW9kZSA9ICdyYicKKyAgICAgICAgICAgIG1vZGUgPSBnZXRhdHRyKGZpbGVvYmosICdtb2RlJywgJ3JiJykKIAotICAgICAgICBpZiBtb2RlWzA6MV0gPT0gJ3InOgorICAgICAgICBpZiBtb2RlLnN0YXJ0c3dpdGgoJ3InKToKICAgICAgICAgICAgIHNlbGYubW9kZSA9IFJFQUQKICAgICAgICAgICAgICMgU2V0IGZsYWcgaW5kaWNhdGluZyBzdGFydCBvZiBhIG5ldyBtZW1iZXIKICAgICAgICAgICAgIHNlbGYuX25ld19tZW1iZXIgPSBUcnVlCkBAIC0xODIsNyArMTY5LDcgQEAKICAgICAgICAgICAgIHNlbGYubWluX3JlYWRzaXplID0gMTAwCiAgICAgICAgICAgICBmaWxlb2JqID0gX1BhZGRlZEZpbGUoZmlsZW9iaikKIAotICAgICAgICBlbGlmIG1vZGVbMDoxXSA9PSAndycgb3IgbW9kZVswOjFdID09ICdhJzoKKyAgICAgICAgZWxpZiBtb2RlLnN0YXJ0c3dpdGgoKCd3JywgJ2EnKSk6CiAgICAgICAgICAgICBzZWxmLm1vZGUgPSBXUklURQogICAgICAgICAgICAgc2VsZi5faW5pdF93cml0ZShmaWxlbmFtZSkKICAgICAgICAgICAgIHNlbGYuY29tcHJlc3MgPSB6bGliLmNvbXByZXNzb2JqKGNvbXByZXNzbGV2ZWwsCkBAIC0xOTEsNyArMTc4LDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHpsaWIuREVGX01FTV9MRVZFTCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDApCiAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICByYWlzZSBJT0Vycm9yKCJNb2RlICIgKyBtb2RlICsgIiBub3Qgc3VwcG9ydGVkIikKKyAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIkludmFsaWQgbW9kZTogeyFyfSIuZm9ybWF0KG1vZGUpKQogCiAgICAgICAgIHNlbGYuZmlsZW9iaiA9IGZpbGVvYmoKICAgICAgICAgc2VsZi5vZmZzZXQgPSAwCkBAIC0zNTMsNiArMzQwLDI4IEBACiAgICAgICAgIHNlbGYub2Zmc2V0ICs9IHNpemUKICAgICAgICAgcmV0dXJuIGNodW5rCiAKKyAgICBkZWYgcmVhZDEoc2VsZiwgc2l6ZT0tMSk6CisgICAgICAgIHNlbGYuX2NoZWNrX2Nsb3NlZCgpCisgICAgICAgIGlmIHNlbGYubW9kZSAhPSBSRUFEOgorICAgICAgICAgICAgaW1wb3J0IGVycm5vCisgICAgICAgICAgICByYWlzZSBJT0Vycm9yKGVycm5vLkVCQURGLCAicmVhZDEoKSBvbiB3cml0ZS1vbmx5IEd6aXBGaWxlIG9iamVjdCIpCisKKyAgICAgICAgaWYgc2VsZi5leHRyYXNpemUgPD0gMCBhbmQgc2VsZi5maWxlb2JqIGlzIE5vbmU6CisgICAgICAgICAgICByZXR1cm4gYicnCisKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgc2VsZi5fcmVhZCgpCisgICAgICAgIGV4Y2VwdCBFT0ZFcnJvcjoKKyAgICAgICAgICAgIHBhc3MKKyAgICAgICAgaWYgc2l6ZSA8IDAgb3Igc2l6ZSA+IHNlbGYuZXh0cmFzaXplOgorICAgICAgICAgICAgc2l6ZSA9IHNlbGYuZXh0cmFzaXplCisKKyAgICAgICAgb2Zmc2V0ID0gc2VsZi5vZmZzZXQgLSBzZWxmLmV4dHJhc3RhcnQKKyAgICAgICAgY2h1bmsgPSBzZWxmLmV4dHJhYnVmW29mZnNldDogb2Zmc2V0ICsgc2l6ZV0KKyAgICAgICAgc2VsZi5leHRyYXNpemUgLT0gc2l6ZQorICAgICAgICBzZWxmLm9mZnNldCArPSBzaXplCisgICAgICAgIHJldHVybiBjaHVuaworCiAgICAgZGVmIHBlZWsoc2VsZiwgbik6CiAgICAgICAgIGlmIHNlbGYubW9kZSAhPSBSRUFEOgogICAgICAgICAgICAgaW1wb3J0IGVycm5vCmRpZmYgLS1naXQgYS9MaWIvaHR0cC9jbGllbnQucHkgYi9MaWIvaHR0cC9jbGllbnQucHkKaW5kZXggNzQ1Yjk5OS4uMDAwMjA3MiAxMDA2NDQKLS0tIGEvTGliL2h0dHAvY2xpZW50LnB5CisrKyBiL0xpYi9odHRwL2NsaWVudC5weQpAQCAtNDg1LDExICs0ODUsMTcgQEAKICAgICAgICAgICAgIHNlbGYuY2xvc2UoKQogICAgICAgICAgICAgcmV0dXJuIGIiIgogCi0gICAgICAgIGlmIHNlbGYuY2h1bmtlZDoKLSAgICAgICAgICAgIHJldHVybiBzZWxmLl9yZWFkX2NodW5rZWQoYW10KQorICAgICAgICBpZiBhbXQgaXMgbm90IE5vbmU6CisgICAgICAgICAgICAjIEFtb3VudCBpcyBnaXZlbiwgc28gY2FsbCBiYXNlIGNsYXNzIHZlcnNpb24KKyAgICAgICAgICAgICMgKHdoaWNoIGlzIGltcGxlbWVudGVkIGluIHRlcm1zIG9mIHNlbGYucmVhZGludG8pCisgICAgICAgICAgICByZXR1cm4gc3VwZXIoSFRUUFJlc3BvbnNlLCBzZWxmKS5yZWFkKGFtdCkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgICMgQW1vdW50IGlzIG5vdCBnaXZlbiAodW5ib3VuZGVkIHJlYWQpIHNvIHdlIG11c3QgY2hlY2sgc2VsZi5sZW5ndGgKKyAgICAgICAgICAgICMgYW5kIHNlbGYuY2h1bmtlZAogCi0gICAgICAgIGlmIGFtdCBpcyBOb25lOgotICAgICAgICAgICAgIyB1bmJvdW5kZWQgcmVhZAorICAgICAgICAgICAgaWYgc2VsZi5jaHVua2VkOgorICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLl9yZWFkYWxsX2NodW5rZWQoKQorCiAgICAgICAgICAgICBpZiBzZWxmLmxlbmd0aCBpcyBOb25lOgogICAgICAgICAgICAgICAgIHMgPSBzZWxmLmZwLnJlYWQoKQogICAgICAgICAgICAgZWxzZToKQEAgLTQ5OCw2MSArNTA0LDQ5IEBACiAgICAgICAgICAgICBzZWxmLmNsb3NlKCkgICAgICAgICMgd2UgcmVhZCBldmVyeXRoaW5nCiAgICAgICAgICAgICByZXR1cm4gcwogCisgICAgZGVmIHJlYWRpbnRvKHNlbGYsIGIpOgorICAgICAgICBpZiBzZWxmLmZwIGlzIE5vbmU6CisgICAgICAgICAgICByZXR1cm4gMAorCisgICAgICAgIGlmIHNlbGYuX21ldGhvZCA9PSAiSEVBRCI6CisgICAgICAgICAgICBzZWxmLmNsb3NlKCkKKyAgICAgICAgICAgIHJldHVybiAwCisKKyAgICAgICAgaWYgc2VsZi5jaHVua2VkOgorICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3JlYWRpbnRvX2NodW5rZWQoYikKKwogICAgICAgICBpZiBzZWxmLmxlbmd0aCBpcyBub3QgTm9uZToKLSAgICAgICAgICAgIGlmIGFtdCA+IHNlbGYubGVuZ3RoOgorICAgICAgICAgICAgaWYgbGVuKGIpID4gc2VsZi5sZW5ndGg6CiAgICAgICAgICAgICAgICAgIyBjbGlwIHRoZSByZWFkIHRvIHRoZSAiZW5kIG9mIHJlc3BvbnNlIgotICAgICAgICAgICAgICAgIGFtdCA9IHNlbGYubGVuZ3RoCisgICAgICAgICAgICAgICAgYiA9IG1lbW9yeXZpZXcoYilbMDpzZWxmLmxlbmd0aF0KIAogICAgICAgICAjIHdlIGRvIG5vdCB1c2UgX3NhZmVfcmVhZCgpIGhlcmUgYmVjYXVzZSB0aGlzIG1heSBiZSBhIC53aWxsX2Nsb3NlCiAgICAgICAgICMgY29ubmVjdGlvbiwgYW5kIHRoZSB1c2VyIGlzIHJlYWRpbmcgbW9yZSBieXRlcyB0aGFuIHdpbGwgYmUgcHJvdmlkZWQKICAgICAgICAgIyAoZm9yIGV4YW1wbGUsIHJlYWRpbmcgaW4gMWsgY2h1bmtzKQotICAgICAgICBzID0gc2VsZi5mcC5yZWFkKGFtdCkKKyAgICAgICAgbiA9IHNlbGYuZnAucmVhZGludG8oYikKICAgICAgICAgaWYgc2VsZi5sZW5ndGggaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICBzZWxmLmxlbmd0aCAtPSBsZW4ocykKKyAgICAgICAgICAgIHNlbGYubGVuZ3RoIC09IG4KICAgICAgICAgICAgIGlmIG5vdCBzZWxmLmxlbmd0aDoKICAgICAgICAgICAgICAgICBzZWxmLmNsb3NlKCkKLSAgICAgICAgcmV0dXJuIHMKKyAgICAgICAgcmV0dXJuIG4KIAotICAgIGRlZiBfcmVhZF9jaHVua2VkKHNlbGYsIGFtdCk6Ci0gICAgICAgIGFzc2VydCBzZWxmLmNodW5rZWQgIT0gX1VOS05PV04KLSAgICAgICAgY2h1bmtfbGVmdCA9IHNlbGYuY2h1bmtfbGVmdAotICAgICAgICB2YWx1ZSA9IFtdCi0gICAgICAgIHdoaWxlIFRydWU6Ci0gICAgICAgICAgICBpZiBjaHVua19sZWZ0IGlzIE5vbmU6Ci0gICAgICAgICAgICAgICAgbGluZSA9IHNlbGYuZnAucmVhZGxpbmUoX01BWExJTkUgKyAxKQotICAgICAgICAgICAgICAgIGlmIGxlbihsaW5lKSA+IF9NQVhMSU5FOgotICAgICAgICAgICAgICAgICAgICByYWlzZSBMaW5lVG9vTG9uZygiY2h1bmsgc2l6ZSIpCi0gICAgICAgICAgICAgICAgaSA9IGxpbmUuZmluZChiIjsiKQotICAgICAgICAgICAgICAgIGlmIGkgPj0gMDoKLSAgICAgICAgICAgICAgICAgICAgbGluZSA9IGxpbmVbOmldICMgc3RyaXAgY2h1bmstZXh0ZW5zaW9ucwotICAgICAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICAgICAgY2h1bmtfbGVmdCA9IGludChsaW5lLCAxNikKLSAgICAgICAgICAgICAgICBleGNlcHQgVmFsdWVFcnJvcjoKLSAgICAgICAgICAgICAgICAgICAgIyBjbG9zZSB0aGUgY29ubmVjdGlvbiBhcyBwcm90b2NvbCBzeW5jaHJvbmlzYXRpb24gaXMKLSAgICAgICAgICAgICAgICAgICAgIyBwcm9iYWJseSBsb3N0Ci0gICAgICAgICAgICAgICAgICAgIHNlbGYuY2xvc2UoKQotICAgICAgICAgICAgICAgICAgICByYWlzZSBJbmNvbXBsZXRlUmVhZChiJycuam9pbih2YWx1ZSkpCi0gICAgICAgICAgICAgICAgaWYgY2h1bmtfbGVmdCA9PSAwOgotICAgICAgICAgICAgICAgICAgICBicmVhawotICAgICAgICAgICAgaWYgYW10IGlzIE5vbmU6Ci0gICAgICAgICAgICAgICAgdmFsdWUuYXBwZW5kKHNlbGYuX3NhZmVfcmVhZChjaHVua19sZWZ0KSkKLSAgICAgICAgICAgIGVsaWYgYW10IDwgY2h1bmtfbGVmdDoKLSAgICAgICAgICAgICAgICB2YWx1ZS5hcHBlbmQoc2VsZi5fc2FmZV9yZWFkKGFtdCkpCi0gICAgICAgICAgICAgICAgc2VsZi5jaHVua19sZWZ0ID0gY2h1bmtfbGVmdCAtIGFtdAotICAgICAgICAgICAgICAgIHJldHVybiBiJycuam9pbih2YWx1ZSkKLSAgICAgICAgICAgIGVsaWYgYW10ID09IGNodW5rX2xlZnQ6Ci0gICAgICAgICAgICAgICAgdmFsdWUuYXBwZW5kKHNlbGYuX3NhZmVfcmVhZChhbXQpKQotICAgICAgICAgICAgICAgIHNlbGYuX3NhZmVfcmVhZCgyKSAgIyB0b3NzIHRoZSBDUkxGIGF0IHRoZSBlbmQgb2YgdGhlIGNodW5rCi0gICAgICAgICAgICAgICAgc2VsZi5jaHVua19sZWZ0ID0gTm9uZQotICAgICAgICAgICAgICAgIHJldHVybiBiJycuam9pbih2YWx1ZSkKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgdmFsdWUuYXBwZW5kKHNlbGYuX3NhZmVfcmVhZChjaHVua19sZWZ0KSkKLSAgICAgICAgICAgICAgICBhbXQgLT0gY2h1bmtfbGVmdAorICAgIGRlZiBfcmVhZF9uZXh0X2NodW5rX3NpemUoc2VsZik6CisgICAgICAgICMgUmVhZCB0aGUgbmV4dCBjaHVuayBzaXplIGZyb20gdGhlIGZpbGUKKyAgICAgICAgbGluZSA9IHNlbGYuZnAucmVhZGxpbmUoX01BWExJTkUgKyAxKQorICAgICAgICBpZiBsZW4obGluZSkgPiBfTUFYTElORToKKyAgICAgICAgICAgIHJhaXNlIExpbmVUb29Mb25nKCJjaHVuayBzaXplIikKKyAgICAgICAgaSA9IGxpbmUuZmluZChiIjsiKQorICAgICAgICBpZiBpID49IDA6CisgICAgICAgICAgICBsaW5lID0gbGluZVs6aV0gIyBzdHJpcCBjaHVuay1leHRlbnNpb25zCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHJldHVybiBpbnQobGluZSwgMTYpCisgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yOgorICAgICAgICAgICAgIyBjbG9zZSB0aGUgY29ubmVjdGlvbiBhcyBwcm90b2NvbCBzeW5jaHJvbmlzYXRpb24gaXMKKyAgICAgICAgICAgICMgcHJvYmFibHkgbG9zdAorICAgICAgICAgICAgc2VsZi5jbG9zZSgpCisgICAgICAgICAgICByYWlzZQogCi0gICAgICAgICAgICAjIHdlIHJlYWQgdGhlIHdob2xlIGNodW5rLCBnZXQgYW5vdGhlcgotICAgICAgICAgICAgc2VsZi5fc2FmZV9yZWFkKDIpICAgICAgIyB0b3NzIHRoZSBDUkxGIGF0IHRoZSBlbmQgb2YgdGhlIGNodW5rCi0gICAgICAgICAgICBjaHVua19sZWZ0ID0gTm9uZQotCisgICAgZGVmIF9yZWFkX2FuZF9kaXNjYXJkX3RyYWlsZXIoc2VsZik6CiAgICAgICAgICMgcmVhZCBhbmQgZGlzY2FyZCB0cmFpbGVyIHVwIHRvIHRoZSBDUkxGIHRlcm1pbmF0b3IKICAgICAgICAgIyMjIG5vdGU6IHdlIHNob3VsZG4ndCBoYXZlIGFueSB0cmFpbGVycyEKICAgICAgICAgd2hpbGUgVHJ1ZToKQEAgLTU2NiwxMSArNTYwLDcyIEBACiAgICAgICAgICAgICBpZiBsaW5lID09IGIiXHJcbiI6CiAgICAgICAgICAgICAgICAgYnJlYWsKIAorICAgIGRlZiBfcmVhZGFsbF9jaHVua2VkKHNlbGYpOgorICAgICAgICBhc3NlcnQgc2VsZi5jaHVua2VkICE9IF9VTktOT1dOCisgICAgICAgIGNodW5rX2xlZnQgPSBzZWxmLmNodW5rX2xlZnQKKyAgICAgICAgdmFsdWUgPSBbXQorICAgICAgICB3aGlsZSBUcnVlOgorICAgICAgICAgICAgaWYgY2h1bmtfbGVmdCBpcyBOb25lOgorICAgICAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICAgICAgY2h1bmtfbGVmdCA9IHNlbGYuX3JlYWRfbmV4dF9jaHVua19zaXplKCkKKyAgICAgICAgICAgICAgICAgICAgaWYgY2h1bmtfbGVmdCA9PSAwOgorICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgICAgICAgICBleGNlcHQgVmFsdWVFcnJvcjoKKyAgICAgICAgICAgICAgICAgICAgcmFpc2UgSW5jb21wbGV0ZVJlYWQoYicnLmpvaW4odmFsdWUpKQorICAgICAgICAgICAgdmFsdWUuYXBwZW5kKHNlbGYuX3NhZmVfcmVhZChjaHVua19sZWZ0KSkKKworICAgICAgICAgICAgIyB3ZSByZWFkIHRoZSB3aG9sZSBjaHVuaywgZ2V0IGFub3RoZXIKKyAgICAgICAgICAgIHNlbGYuX3NhZmVfcmVhZCgyKSAgICAgICMgdG9zcyB0aGUgQ1JMRiBhdCB0aGUgZW5kIG9mIHRoZSBjaHVuaworICAgICAgICAgICAgY2h1bmtfbGVmdCA9IE5vbmUKKworICAgICAgICBzZWxmLl9yZWFkX2FuZF9kaXNjYXJkX3RyYWlsZXIoKQorCiAgICAgICAgICMgd2UgcmVhZCBldmVyeXRoaW5nOyBjbG9zZSB0aGUgImZpbGUiCiAgICAgICAgIHNlbGYuY2xvc2UoKQogCiAgICAgICAgIHJldHVybiBiJycuam9pbih2YWx1ZSkKIAorICAgIGRlZiBfcmVhZGludG9fY2h1bmtlZChzZWxmLCBiKToKKyAgICAgICAgYXNzZXJ0IHNlbGYuY2h1bmtlZCAhPSBfVU5LTk9XTgorICAgICAgICBjaHVua19sZWZ0ID0gc2VsZi5jaHVua19sZWZ0CisKKyAgICAgICAgdG90YWxfYnl0ZXMgPSAwCisgICAgICAgIG12YiA9IG1lbW9yeXZpZXcoYikKKyAgICAgICAgd2hpbGUgVHJ1ZToKKyAgICAgICAgICAgIGlmIGNodW5rX2xlZnQgaXMgTm9uZToKKyAgICAgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgICAgIGNodW5rX2xlZnQgPSBzZWxmLl9yZWFkX25leHRfY2h1bmtfc2l6ZSgpCisgICAgICAgICAgICAgICAgICAgIGlmIGNodW5rX2xlZnQgPT0gMDoKKyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgICAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3I6CisgICAgICAgICAgICAgICAgICAgIHJhaXNlIEluY29tcGxldGVSZWFkKGJ5dGVzKGJbMDp0b3RhbF9ieXRlc10pKQorCisgICAgICAgICAgICBpZiBsZW4obXZiKSA8IGNodW5rX2xlZnQ6CisgICAgICAgICAgICAgICAgbiA9IHNlbGYuX3NhZmVfcmVhZGludG8obXZiKQorICAgICAgICAgICAgICAgIHNlbGYuY2h1bmtfbGVmdCA9IGNodW5rX2xlZnQgLSBuCisgICAgICAgICAgICAgICAgcmV0dXJuIHRvdGFsX2J5dGVzICsgbgorICAgICAgICAgICAgZWxpZiBsZW4obXZiKSA9PSBjaHVua19sZWZ0OgorICAgICAgICAgICAgICAgIG4gPSBzZWxmLl9zYWZlX3JlYWRpbnRvKG12YikKKyAgICAgICAgICAgICAgICBzZWxmLl9zYWZlX3JlYWQoMikgICMgdG9zcyB0aGUgQ1JMRiBhdCB0aGUgZW5kIG9mIHRoZSBjaHVuaworICAgICAgICAgICAgICAgIHNlbGYuY2h1bmtfbGVmdCA9IE5vbmUKKyAgICAgICAgICAgICAgICByZXR1cm4gdG90YWxfYnl0ZXMgKyBuCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHRlbXBfbXZiID0gbXZiWzA6Y2h1bmtfbGVmdF0KKyAgICAgICAgICAgICAgICBuID0gc2VsZi5fc2FmZV9yZWFkaW50byh0ZW1wX212YikKKyAgICAgICAgICAgICAgICBtdmIgPSBtdmJbbjpdCisgICAgICAgICAgICAgICAgdG90YWxfYnl0ZXMgKz0gbgorCisgICAgICAgICAgICAjIHdlIHJlYWQgdGhlIHdob2xlIGNodW5rLCBnZXQgYW5vdGhlcgorICAgICAgICAgICAgc2VsZi5fc2FmZV9yZWFkKDIpICAgICAgIyB0b3NzIHRoZSBDUkxGIGF0IHRoZSBlbmQgb2YgdGhlIGNodW5rCisgICAgICAgICAgICBjaHVua19sZWZ0ID0gTm9uZQorCisgICAgICAgIHNlbGYuX3JlYWRfYW5kX2Rpc2NhcmRfdHJhaWxlcigpCisKKyAgICAgICAgIyB3ZSByZWFkIGV2ZXJ5dGhpbmc7IGNsb3NlIHRoZSAiZmlsZSIKKyAgICAgICAgc2VsZi5jbG9zZSgpCisKKyAgICAgICAgcmV0dXJuIHRvdGFsX2J5dGVzCisKICAgICBkZWYgX3NhZmVfcmVhZChzZWxmLCBhbXQpOgogICAgICAgICAiIiJSZWFkIHRoZSBudW1iZXIgb2YgYnl0ZXMgcmVxdWVzdGVkLCBjb21wZW5zYXRpbmcgZm9yIHBhcnRpYWwgcmVhZHMuCiAKQEAgLTU5NCw2ICs2NDksMjIgQEAKICAgICAgICAgICAgIGFtdCAtPSBsZW4oY2h1bmspCiAgICAgICAgIHJldHVybiBiIiIuam9pbihzKQogCisgICAgZGVmIF9zYWZlX3JlYWRpbnRvKHNlbGYsIGIpOgorICAgICAgICAiIiJTYW1lIGFzIF9zYWZlX3JlYWQsIGJ1dCBmb3IgcmVhZGluZyBpbnRvIGEgYnVmZmVyLiIiIgorICAgICAgICB0b3RhbF9ieXRlcyA9IDAKKyAgICAgICAgbXZiID0gbWVtb3J5dmlldyhiKQorICAgICAgICB3aGlsZSB0b3RhbF9ieXRlcyA8IGxlbihiKToKKyAgICAgICAgICAgIGlmIE1BWEFNT1VOVCA8IGxlbihtdmIpOgorICAgICAgICAgICAgICAgIHRlbXBfbXZiID0gbXZiWzA6TUFYQU1PVU5UXQorICAgICAgICAgICAgICAgIG4gPSBzZWxmLmZwLnJlYWRpbnRvKHRlbXBfbXZiKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBuID0gc2VsZi5mcC5yZWFkaW50byhtdmIpCisgICAgICAgICAgICBpZiBub3QgbjoKKyAgICAgICAgICAgICAgICByYWlzZSBJbmNvbXBsZXRlUmVhZChieXRlcyhtdmJbMDp0b3RhbF9ieXRlc10pLCBsZW4oYikpCisgICAgICAgICAgICBtdmIgPSBtdmJbbjpdCisgICAgICAgICAgICB0b3RhbF9ieXRlcyArPSBuCisgICAgICAgIHJldHVybiB0b3RhbF9ieXRlcworCiAgICAgZGVmIGZpbGVubyhzZWxmKToKICAgICAgICAgcmV0dXJuIHNlbGYuZnAuZmlsZW5vKCkKIApAQCAtNzAwLDcgKzc3MSw3IEBACiAgICAgICAgIHNlbGYuc2VuZChjb25uZWN0X2J5dGVzKQogICAgICAgICBmb3IgaGVhZGVyLCB2YWx1ZSBpbiBzZWxmLl90dW5uZWxfaGVhZGVycy5pdGVtcygpOgogICAgICAgICAgICAgaGVhZGVyX3N0ciA9ICIlczogJXNcclxuIiAlIChoZWFkZXIsIHZhbHVlKQotICAgICAgICAgICAgaGVhZGVyX2J5dGVzID0gaGVhZGVyX3N0ci5lbmNvZGUoImxhdGluMSIpCisgICAgICAgICAgICBoZWFkZXJfYnl0ZXMgPSBoZWFkZXJfc3RyLmVuY29kZSgibGF0aW4tMSIpCiAgICAgICAgICAgICBzZWxmLnNlbmQoaGVhZGVyX2J5dGVzKQogICAgICAgICBzZWxmLnNlbmQoYidcclxuJykKIApAQCAtOTQwLDcgKzEwMTEsNyBAQAogICAgICAgICB2YWx1ZXMgPSBsaXN0KHZhbHVlcykKICAgICAgICAgZm9yIGksIG9uZV92YWx1ZSBpbiBlbnVtZXJhdGUodmFsdWVzKToKICAgICAgICAgICAgIGlmIGhhc2F0dHIob25lX3ZhbHVlLCAnZW5jb2RlJyk6Ci0gICAgICAgICAgICAgICAgdmFsdWVzW2ldID0gb25lX3ZhbHVlLmVuY29kZSgnbGF0aW4xJykKKyAgICAgICAgICAgICAgICB2YWx1ZXNbaV0gPSBvbmVfdmFsdWUuZW5jb2RlKCdsYXRpbi0xJykKICAgICAgICAgICAgIGVsaWYgaXNpbnN0YW5jZShvbmVfdmFsdWUsIGludCk6CiAgICAgICAgICAgICAgICAgdmFsdWVzW2ldID0gc3RyKG9uZV92YWx1ZSkuZW5jb2RlKCdhc2NpaScpCiAgICAgICAgIHZhbHVlID0gYidcclxuXHQnLmpvaW4odmFsdWVzKQpkaWZmIC0tZ2l0IGEvTGliL2h0dHAvc2VydmVyLnB5IGIvTGliL2h0dHAvc2VydmVyLnB5CmluZGV4IDUzN2RmOTAuLjgzMjZmMzAgMTAwNjQ0Ci0tLSBhL0xpYi9odHRwL3NlcnZlci5weQorKysgYi9MaWIvaHR0cC9zZXJ2ZXIucHkKQEAgLTEwNSw2ICsxMDUsNyBAQAogREVGQVVMVF9FUlJPUl9NRVNTQUdFID0gIiIiXAogPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEvL0VOIgogICAgICAgICAiaHR0cDovL3d3dy53My5vcmcvVFIvaHRtbDQvc3RyaWN0LmR0ZCI+Cis8aHRtbD4KICAgICA8aGVhZD4KICAgICAgICAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7Y2hhcnNldD11dGYtOCI+CiAgICAgICAgIDx0aXRsZT5FcnJvciByZXNwb25zZTwvdGl0bGU+CkBAIC0zNTIsNiArMzUzLDcgQEAKIAogICAgICAgICAiIiIKICAgICAgICAgc2VsZi5zZW5kX3Jlc3BvbnNlX29ubHkoMTAwKQorICAgICAgICBzZWxmLmZsdXNoX2hlYWRlcnMoKQogICAgICAgICByZXR1cm4gVHJ1ZQogCiAgICAgZGVmIGhhbmRsZV9vbmVfcmVxdWVzdChzZWxmKToKQEAgLTQyOSw3ICs0MzEsOCBAQAogICAgICAgICAgICAgc2VsZi53ZmlsZS53cml0ZShjb250ZW50LmVuY29kZSgnVVRGLTgnLCAncmVwbGFjZScpKQogCiAgICAgZGVmIHNlbmRfcmVzcG9uc2Uoc2VsZiwgY29kZSwgbWVzc2FnZT1Ob25lKToKLSAgICAgICAgIiIiU2VuZCB0aGUgcmVzcG9uc2UgaGVhZGVyIGFuZCBsb2cgdGhlIHJlc3BvbnNlIGNvZGUuCisgICAgICAgICIiIkFkZCB0aGUgcmVzcG9uc2UgaGVhZGVyIHRvIHRoZSBoZWFkZXJzIGJ1ZmZlciBhbmQgbG9nIHRoZQorICAgICAgICByZXNwb25zZSBjb2RlLgogCiAgICAgICAgIEFsc28gc2VuZCB0d28gc3RhbmRhcmQgaGVhZGVycyB3aXRoIHRoZSBzZXJ2ZXIgc29mdHdhcmUKICAgICAgICAgdmVyc2lvbiBhbmQgdGhlIGN1cnJlbnQgZGF0ZS4KQEAgLTQ0OCwxNiArNDUxLDE5IEBACiAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSAnJwogICAgICAgICBpZiBzZWxmLnJlcXVlc3RfdmVyc2lvbiAhPSAnSFRUUC8wLjknOgotICAgICAgICAgICAgc2VsZi53ZmlsZS53cml0ZSgoIiVzICVkICVzXHJcbiIgJQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNlbGYucHJvdG9jb2xfdmVyc2lvbiwgY29kZSwgbWVzc2FnZSkpLmVuY29kZSgnbGF0aW4xJywgJ3N0cmljdCcpKQorICAgICAgICAgICAgaWYgbm90IGhhc2F0dHIoc2VsZiwgJ19oZWFkZXJzX2J1ZmZlcicpOgorICAgICAgICAgICAgICAgIHNlbGYuX2hlYWRlcnNfYnVmZmVyID0gW10KKyAgICAgICAgICAgIHNlbGYuX2hlYWRlcnNfYnVmZmVyLmFwcGVuZCgoIiVzICVkICVzXHJcbiIgJQorICAgICAgICAgICAgICAgICAgICAoc2VsZi5wcm90b2NvbF92ZXJzaW9uLCBjb2RlLCBtZXNzYWdlKSkuZW5jb2RlKAorICAgICAgICAgICAgICAgICAgICAgICAgJ2xhdGluLTEnLCAnc3RyaWN0JykpCiAKICAgICBkZWYgc2VuZF9oZWFkZXIoc2VsZiwga2V5d29yZCwgdmFsdWUpOgotICAgICAgICAiIiJTZW5kIGEgTUlNRSBoZWFkZXIuIiIiCisgICAgICAgICIiIlNlbmQgYSBNSU1FIGhlYWRlciB0byB0aGUgaGVhZGVycyBidWZmZXIuIiIiCiAgICAgICAgIGlmIHNlbGYucmVxdWVzdF92ZXJzaW9uICE9ICdIVFRQLzAuOSc6CiAgICAgICAgICAgICBpZiBub3QgaGFzYXR0cihzZWxmLCAnX2hlYWRlcnNfYnVmZmVyJyk6CiAgICAgICAgICAgICAgICAgc2VsZi5faGVhZGVyc19idWZmZXIgPSBbXQogICAgICAgICAgICAgc2VsZi5faGVhZGVyc19idWZmZXIuYXBwZW5kKAotICAgICAgICAgICAgICAgICgiJXM6ICVzXHJcbiIgJSAoa2V5d29yZCwgdmFsdWUpKS5lbmNvZGUoJ2xhdGluMScsICdzdHJpY3QnKSkKKyAgICAgICAgICAgICAgICAoIiVzOiAlc1xyXG4iICUgKGtleXdvcmQsIHZhbHVlKSkuZW5jb2RlKCdsYXRpbi0xJywgJ3N0cmljdCcpKQogCiAgICAgICAgIGlmIGtleXdvcmQubG93ZXIoKSA9PSAnY29ubmVjdGlvbic6CiAgICAgICAgICAgICBpZiB2YWx1ZS5sb3dlcigpID09ICdjbG9zZSc6CkBAIC00NjksNiArNDc1LDEwIEBACiAgICAgICAgICIiIlNlbmQgdGhlIGJsYW5rIGxpbmUgZW5kaW5nIHRoZSBNSU1FIGhlYWRlcnMuIiIiCiAgICAgICAgIGlmIHNlbGYucmVxdWVzdF92ZXJzaW9uICE9ICdIVFRQLzAuOSc6CiAgICAgICAgICAgICBzZWxmLl9oZWFkZXJzX2J1ZmZlci5hcHBlbmQoYiJcclxuIikKKyAgICAgICAgICAgIHNlbGYuZmx1c2hfaGVhZGVycygpCisKKyAgICBkZWYgZmx1c2hfaGVhZGVycyhzZWxmKToKKyAgICAgICAgaWYgaGFzYXR0cihzZWxmLCAnX2hlYWRlcnNfYnVmZmVyJyk6CiAgICAgICAgICAgICBzZWxmLndmaWxlLndyaXRlKGIiIi5qb2luKHNlbGYuX2hlYWRlcnNfYnVmZmVyKSkKICAgICAgICAgICAgIHNlbGYuX2hlYWRlcnNfYnVmZmVyID0gW10KIApAQCAtNzIyLDEwICs3MzIsMTYgQEAKICAgICAgICAgbGlzdC5zb3J0KGtleT1sYW1iZGEgYTogYS5sb3dlcigpKQogICAgICAgICByID0gW10KICAgICAgICAgZGlzcGxheXBhdGggPSBodG1sLmVzY2FwZSh1cmxsaWIucGFyc2UudW5xdW90ZShzZWxmLnBhdGgpKQotICAgICAgICByLmFwcGVuZCgnPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDMuMiBGaW5hbC8vRU4iPicpCi0gICAgICAgIHIuYXBwZW5kKCI8aHRtbD5cbjx0aXRsZT5EaXJlY3RvcnkgbGlzdGluZyBmb3IgJXM8L3RpdGxlPlxuIiAlIGRpc3BsYXlwYXRoKQotICAgICAgICByLmFwcGVuZCgiPGJvZHk+XG48aDI+RGlyZWN0b3J5IGxpc3RpbmcgZm9yICVzPC9oMj5cbiIgJSBkaXNwbGF5cGF0aCkKLSAgICAgICAgci5hcHBlbmQoIjxocj5cbjx1bD5cbiIpCisgICAgICAgIGVuYyA9IHN5cy5nZXRmaWxlc3lzdGVtZW5jb2RpbmcoKQorICAgICAgICB0aXRsZSA9ICdEaXJlY3RvcnkgbGlzdGluZyBmb3IgJXMnICUgZGlzcGxheXBhdGgKKyAgICAgICAgci5hcHBlbmQoJzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vVzNDLy9EVEQgSFRNTCA0LjAxLy9FTiIgJworICAgICAgICAgICAgICAgICAnImh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw0L3N0cmljdC5kdGQiPicpCisgICAgICAgIHIuYXBwZW5kKCc8aHRtbD5cbjxoZWFkPicpCisgICAgICAgIHIuYXBwZW5kKCc8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiICcKKyAgICAgICAgICAgICAgICAgJ2NvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD0lcyI+JyAlIGVuYykKKyAgICAgICAgci5hcHBlbmQoJzx0aXRsZT4lczwvdGl0bGU+XG48L2hlYWQ+JyAlIHRpdGxlKQorICAgICAgICByLmFwcGVuZCgnPGJvZHk+XG48aDE+JXM8L2gxPicgJSB0aXRsZSkKKyAgICAgICAgci5hcHBlbmQoJzxocj5cbjx1bD4nKQogICAgICAgICBmb3IgbmFtZSBpbiBsaXN0OgogICAgICAgICAgICAgZnVsbG5hbWUgPSBvcy5wYXRoLmpvaW4ocGF0aCwgbmFtZSkKICAgICAgICAgICAgIGRpc3BsYXluYW1lID0gbGlua25hbWUgPSBuYW1lCkBAIC03MzYsMTEgKzc1MiwxMCBAQAogICAgICAgICAgICAgaWYgb3MucGF0aC5pc2xpbmsoZnVsbG5hbWUpOgogICAgICAgICAgICAgICAgIGRpc3BsYXluYW1lID0gbmFtZSArICJAIgogICAgICAgICAgICAgICAgICMgTm90ZTogYSBsaW5rIHRvIGEgZGlyZWN0b3J5IGRpc3BsYXlzIHdpdGggQCBhbmQgbGlua3Mgd2l0aCAvCi0gICAgICAgICAgICByLmFwcGVuZCgnPGxpPjxhIGhyZWY9IiVzIj4lczwvYT5cbicKKyAgICAgICAgICAgIHIuYXBwZW5kKCc8bGk+PGEgaHJlZj0iJXMiPiVzPC9hPjwvbGk+JwogICAgICAgICAgICAgICAgICAgICAlICh1cmxsaWIucGFyc2UucXVvdGUobGlua25hbWUpLCBodG1sLmVzY2FwZShkaXNwbGF5bmFtZSkpKQotICAgICAgICByLmFwcGVuZCgiPC91bD5cbjxocj5cbjwvYm9keT5cbjwvaHRtbD5cbiIpCi0gICAgICAgIGVuYyA9IHN5cy5nZXRmaWxlc3lzdGVtZW5jb2RpbmcoKQotICAgICAgICBlbmNvZGVkID0gJycuam9pbihyKS5lbmNvZGUoZW5jKQorICAgICAgICByLmFwcGVuZCgnPC91bD5cbjxocj5cbjwvYm9keT5cbjwvaHRtbD5cbicpCisgICAgICAgIGVuY29kZWQgPSAnXG4nLmpvaW4ocikuZW5jb2RlKGVuYykKICAgICAgICAgZiA9IGlvLkJ5dGVzSU8oKQogICAgICAgICBmLndyaXRlKGVuY29kZWQpCiAgICAgICAgIGYuc2VlaygwKQpAQCAtODkyLDExICs5MDcsNyBAQAogCiBkZWYgZXhlY3V0YWJsZShwYXRoKToKICAgICAiIiJUZXN0IGZvciBleGVjdXRhYmxlIGZpbGUuIiIiCi0gICAgdHJ5OgotICAgICAgICBzdCA9IG9zLnN0YXQocGF0aCkKLSAgICBleGNlcHQgb3MuZXJyb3I6Ci0gICAgICAgIHJldHVybiBGYWxzZQotICAgIHJldHVybiBzdC5zdF9tb2RlICYgMG8xMTEgIT0gMAorICAgIHJldHVybiBvcy5hY2Nlc3MocGF0aCwgb3MuWF9PSykKIAogCiBjbGFzcyBDR0lIVFRQUmVxdWVzdEhhbmRsZXIoU2ltcGxlSFRUUFJlcXVlc3RIYW5kbGVyKToKQEAgLTEwMTAsNyArMTAyMSw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2NyaXB0bmFtZSkKICAgICAgICAgICAgIHJldHVybgogICAgICAgICBpc3B5ID0gc2VsZi5pc19weXRob24oc2NyaXB0bmFtZSkKLSAgICAgICAgaWYgbm90IGlzcHk6CisgICAgICAgIGlmIHNlbGYuaGF2ZV9mb3JrIG9yIG5vdCBpc3B5OgogICAgICAgICAgICAgaWYgbm90IHNlbGYuaXNfZXhlY3V0YWJsZShzY3JpcHRmaWxlKToKICAgICAgICAgICAgICAgICBzZWxmLnNlbmRfZXJyb3IoNDAzLCAiQ0dJIHNjcmlwdCBpcyBub3QgZXhlY3V0YWJsZSAoJXIpIiAlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjcmlwdG5hbWUpCkBAIC0xMDg1LDYgKzEwOTYsNyBAQAogICAgICAgICAgICAgZW52LnNldGRlZmF1bHQoaywgIiIpCiAKICAgICAgICAgc2VsZi5zZW5kX3Jlc3BvbnNlKDIwMCwgIlNjcmlwdCBvdXRwdXQgZm9sbG93cyIpCisgICAgICAgIHNlbGYuZmx1c2hfaGVhZGVycygpCiAKICAgICAgICAgZGVjb2RlZF9xdWVyeSA9IHF1ZXJ5LnJlcGxhY2UoJysnLCAnICcpCiAKZGlmZiAtLWdpdCBhL0xpYi9pZGxlbGliL1B5U2hlbGwucHkgYi9MaWIvaWRsZWxpYi9QeVNoZWxsLnB5CmluZGV4IDZiZjBhOGMuLjZiNzVhOGQgMTAwNjQ0Ci0tLSBhL0xpYi9pZGxlbGliL1B5U2hlbGwucHkKKysrIGIvTGliL2lkbGVsaWIvUHlTaGVsbC5weQpAQCAtNDY4LDYgKzQ2OCwxMCBAQAogCiAgICAgZGVmIGtpbGxfc3VicHJvY2VzcyhzZWxmKToKICAgICAgICAgdHJ5OgorICAgICAgICAgICAgc2VsZi5ycGNjbHQubGlzdGVuaW5nX3NvY2suY2xvc2UoKQorICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6ICAjIG5vIHNvY2tldAorICAgICAgICAgICAgcGFzcworICAgICAgICB0cnk6CiAgICAgICAgICAgICBzZWxmLnJwY2NsdC5jbG9zZSgpCiAgICAgICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjogICMgbm8gc29ja2V0CiAgICAgICAgICAgICBwYXNzCkBAIC0xMjE3LDYgKzEyMjEsMTYgQEAKICAgICAgICAgc2VsZi5zZXRfbGluZV9hbmRfY29sdW1uKCkKIAogICAgIGRlZiB3cml0ZShzZWxmLCBzLCB0YWdzPSgpKToKKyAgICAgICAgaWYgaXNpbnN0YW5jZShzLCBzdHIpIGFuZCBsZW4ocykgYW5kIG1heChzKSA+ICdcdWZmZmYnOgorICAgICAgICAgICAgIyBUayBkb2Vzbid0IHN1cHBvcnQgb3V0cHV0dGluZyBub24tQk1QIGNoYXJhY3RlcnMKKyAgICAgICAgICAgICMgTGV0J3MgYXNzdW1lIHdoYXQgcHJpbnRlZCBzdHJpbmcgaXMgbm90IHZlcnkgbG9uZywKKyAgICAgICAgICAgICMgZmluZCBmaXJzdCBub24tQk1QIGNoYXJhY3RlciBhbmQgY29uc3RydWN0IGluZm9ybWF0aXZlCisgICAgICAgICAgICAjIFVuaWNvZGVFbmNvZGVFcnJvciBleGNlcHRpb24uCisgICAgICAgICAgICBmb3Igc3RhcnQsIGNoYXIgaW4gZW51bWVyYXRlKHMpOgorICAgICAgICAgICAgICAgIGlmIGNoYXIgPiAnXHVmZmZmJzoKKyAgICAgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgICAgIHJhaXNlIFVuaWNvZGVFbmNvZGVFcnJvcigiVUNTLTIiLCBjaGFyLCBzdGFydCwgc3RhcnQrMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTm9uLUJNUCBjaGFyYWN0ZXIgbm90IHN1cHBvcnRlZCBpbiBUaycpCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIHNlbGYudGV4dC5tYXJrX2dyYXZpdHkoImlvbWFyayIsICJyaWdodCIpCiAgICAgICAgICAgICBPdXRwdXRXaW5kb3cud3JpdGUoc2VsZiwgcywgdGFncywgImlvbWFyayIpCmRpZmYgLS1naXQgYS9MaWIvaWRsZWxpYi9jb25maWdIYW5kbGVyLnB5IGIvTGliL2lkbGVsaWIvY29uZmlnSGFuZGxlci5weQppbmRleCA3M2I4ZGI1Li43OTMxNWVmIDEwMDY0NAotLS0gYS9MaWIvaWRsZWxpYi9jb25maWdIYW5kbGVyLnB5CisrKyBiL0xpYi9pZGxlbGliL2NvbmZpZ0hhbmRsZXIucHkKQEAgLTE0NSw3ICsxNDUsOCBAQAogICAgICAgICAgICAgZXhjZXB0IElPRXJyb3I6CiAgICAgICAgICAgICAgICAgb3MudW5saW5rKGZuYW1lKQogICAgICAgICAgICAgICAgIGNmZ0ZpbGUgPSBvcGVuKGZuYW1lLCAndycpCi0gICAgICAgICAgICBzZWxmLndyaXRlKGNmZ0ZpbGUpCisgICAgICAgICAgICB3aXRoIGNmZ0ZpbGU6CisgICAgICAgICAgICAgICAgc2VsZi53cml0ZShjZmdGaWxlKQogICAgICAgICBlbHNlOgogICAgICAgICAgICAgc2VsZi5SZW1vdmVGaWxlKCkKIApkaWZmIC0tZ2l0IGEvTGliL2lkbGVsaWIvaWRsZXZlci5weSBiL0xpYi9pZGxlbGliL2lkbGV2ZXIucHkKaW5kZXggY2JjZGEwNS4uNzZiOGJiOCAxMDA2NDQKLS0tIGEvTGliL2lkbGVsaWIvaWRsZXZlci5weQorKysgYi9MaWIvaWRsZWxpYi9pZGxldmVyLnB5CkBAIC0xICsxIEBACi1JRExFX1ZFUlNJT04gPSAiMy4yLjNyYzEiCitJRExFX1ZFUlNJT04gPSAiMy4zLjBhMSIKZGlmZiAtLWdpdCBhL0xpYi9pZGxlbGliL3JwYy5weSBiL0xpYi9pZGxlbGliL3JwYy5weQppbmRleCBkZWY0Mzk0Li4zMDEzMDVlIDEwMDY0NAotLS0gYS9MaWIvaWRsZWxpYi9ycGMucHkKKysrIGIvTGliL2lkbGVsaWIvcnBjLnB5CkBAIC0xOTYsOCArMTk2LDEyIEBACiAgICAgICAgICAgICAgICAgcmV0dXJuICgiRVJST1IiLCAiVW5zdXBwb3J0ZWQgbWVzc2FnZSB0eXBlOiAlcyIgJSBob3cpCiAgICAgICAgIGV4Y2VwdCBTeXN0ZW1FeGl0OgogICAgICAgICAgICAgcmFpc2UKKyAgICAgICAgZXhjZXB0IEtleWJvYXJkSW50ZXJydXB0OgorICAgICAgICAgICAgcmFpc2UKICAgICAgICAgZXhjZXB0IHNvY2tldC5lcnJvcjoKICAgICAgICAgICAgIHJhaXNlCisgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZXg6CisgICAgICAgICAgICByZXR1cm4gKCJDQUxMRVhDIiwgZXgpCiAgICAgICAgIGV4Y2VwdDoKICAgICAgICAgICAgIG1zZyA9ICIqKiogSW50ZXJuYWwgRXJyb3I6IHJwYy5weTpTb2NrZXRJTy5sb2NhbGNhbGwoKVxuXG4iXAogICAgICAgICAgICAgICAgICAgIiBPYmplY3Q6ICVzIFxuIE1ldGhvZDogJXMgXG4gQXJnczogJXNcbiIKQEAgLTI1Nyw2ICsyNjEsOSBAQAogICAgICAgICBpZiBob3cgPT0gIkVSUk9SIjoKICAgICAgICAgICAgIHNlbGYuZGVidWcoImRlY29kZXJlc3BvbnNlOiBJbnRlcm5hbCBFUlJPUjoiLCB3aGF0KQogICAgICAgICAgICAgcmFpc2UgUnVudGltZUVycm9yKHdoYXQpCisgICAgICAgIGlmIGhvdyA9PSAiQ0FMTEVYQyI6CisgICAgICAgICAgICBzZWxmLmRlYnVnKCJkZWNvZGVyZXNwb25zZTogQ2FsbCBFeGNlcHRpb246Iiwgd2hhdCkKKyAgICAgICAgICAgIHJhaXNlIHdoYXQKICAgICAgICAgcmFpc2UgU3lzdGVtRXJyb3IoaG93LCB3aGF0KQogCiAgICAgZGVmIGRlY29kZV9pbnRlcnJ1cHRob29rKHNlbGYpOgpkaWZmIC0tZ2l0IGEvTGliL2lkbGVsaWIvcnVuLnB5IGIvTGliL2lkbGVsaWIvcnVuLnB5CmluZGV4IDI1MzM4ZmYuLmExNjFhOTMgMTAwNjQ0Ci0tLSBhL0xpYi9pZGxlbGliL3J1bi5weQorKysgYi9MaWIvaWRsZWxpYi9ydW4ucHkKQEAgLTYsNiArNiw3IEBACiBpbXBvcnQgX3RocmVhZCBhcyB0aHJlYWQKIGltcG9ydCB0aHJlYWRpbmcKIGltcG9ydCBxdWV1ZQoraW1wb3J0IGJ1aWx0aW5zCiAKIGZyb20gaWRsZWxpYiBpbXBvcnQgQ2FsbFRpcHMKIGZyb20gaWRsZWxpYiBpbXBvcnQgQXV0b0NvbXBsZXRlCkBAIC0zOCw2ICszOSwyMSBAQAogICAgICAgICByZXR1cm4gcwogICAgIHdhcm5pbmdzLmZvcm1hdHdhcm5pbmcgPSBpZGxlX2Zvcm1hdHdhcm5pbmdfc3VicHJvYwogCisKK2RlZiBoYW5kbGVfdGtfZXZlbnRzKCk6CisgICAgIiIiUHJvY2VzcyBhbnkgdGsgZXZlbnRzIHRoYXQgYXJlIHJlYWR5IHRvIGJlIGRpc3BhdGNoZWQgaWYgdGtpbnRlcgorICAgIGhhcyBiZWVuIGltcG9ydGVkLCBhIHRjbCBpbnRlcnByZXRlciBoYXMgYmVlbiBjcmVhdGVkIGFuZCB0ayBoYXMgYmVlbgorICAgIGxvYWRlZC4iIiIKKyAgICB0a2ludGVyID0gc3lzLm1vZHVsZXMuZ2V0KCd0a2ludGVyJykKKyAgICBpZiB0a2ludGVyIGFuZCB0a2ludGVyLl9kZWZhdWx0X3Jvb3Q6CisgICAgICAgICMgdGtpbnRlciBoYXMgYmVlbiBpbXBvcnRlZCwgYW4gVGNsIGludGVycHJldGVyIHdhcyBjcmVhdGVkIGFuZAorICAgICAgICAjIHRrIGhhcyBiZWVuIGxvYWRlZC4KKyAgICAgICAgcm9vdCA9IHRraW50ZXIuX2RlZmF1bHRfcm9vdAorICAgICAgICB3aGlsZSByb290LnRrLmRvb25lZXZlbnQodGtpbnRlci5fdGtpbnRlci5ET05UX1dBSVQpOgorICAgICAgICAgICAgIyBQcm9jZXNzIHBlbmRpbmcgZXZlbnRzLgorICAgICAgICAgICAgcGFzcworCisKICMgVGhyZWFkIHNoYXJlZCBnbG9iYWxzOiBFc3RhYmxpc2ggYSBxdWV1ZSBiZXR3ZWVuIGEgc3VidGhyZWFkICh3aGljaCBoYW5kbGVzCiAjIHRoZSBzb2NrZXQpIGFuZCB0aGUgbWFpbiB0aHJlYWQgKHdoaWNoIHJ1bnMgdXNlciBjb2RlKSwgcGx1cyBnbG9iYWwKICMgY29tcGxldGlvbiwgZXhpdCBhbmQgaW50ZXJydXB0YWJsZSAodGhlIG1haW4gdGhyZWFkKSBmbGFnczoKQEAgLTkzLDYgKzEwOSw3IEBACiAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgc2VxLCByZXF1ZXN0ID0gcnBjLnJlcXVlc3RfcXVldWUuZ2V0KGJsb2NrPVRydWUsIHRpbWVvdXQ9MC4wNSkKICAgICAgICAgICAgIGV4Y2VwdCBxdWV1ZS5FbXB0eToKKyAgICAgICAgICAgICAgICBoYW5kbGVfdGtfZXZlbnRzKCkKICAgICAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICAgICAgbWV0aG9kLCBhcmdzLCBrd2FyZ3MgPSByZXF1ZXN0CiAgICAgICAgICAgICByZXQgPSBtZXRob2QoKmFyZ3MsICoqa3dhcmdzKQpAQCAtMjQ1LDYgKzI2MiwyNSBAQAogICAgICAgICAgICAgdGhyZWFkLmludGVycnVwdF9tYWluKCkKIAogCitkZWYgZGlzcGxheWhvb2sodmFsdWUpOgorICAgICIiIk92ZXJyaWRlIHN0YW5kYXJkIGRpc3BsYXkgaG9vayB0byB1c2Ugbm9uLWxvY2FsZSBlbmNvZGluZyIiIgorICAgIGlmIHZhbHVlIGlzIE5vbmU6CisgICAgICAgIHJldHVybgorICAgICMgU2V0ICdfJyB0byBOb25lIHRvIGF2b2lkIHJlY3Vyc2lvbgorICAgIGJ1aWx0aW5zLl8gPSBOb25lCisgICAgdGV4dCA9IHJlcHIodmFsdWUpCisgICAgdHJ5OgorICAgICAgICBzeXMuc3Rkb3V0LndyaXRlKHRleHQpCisgICAgZXhjZXB0IFVuaWNvZGVFbmNvZGVFcnJvcjoKKyAgICAgICAgIyBsZXQncyB1c2UgYXNjaWkgd2hpbGUgdXRmOC1ibXAgY29kZWMgZG9lc24ndCBwcmVzZW50CisgICAgICAgIGVuY29kaW5nID0gJ2FzY2lpJworICAgICAgICBieXRlcyA9IHRleHQuZW5jb2RlKGVuY29kaW5nLCAnYmFja3NsYXNocmVwbGFjZScpCisgICAgICAgIHRleHQgPSBieXRlcy5kZWNvZGUoZW5jb2RpbmcsICdzdHJpY3QnKQorICAgICAgICBzeXMuc3Rkb3V0LndyaXRlKHRleHQpCisgICAgc3lzLnN0ZG91dC53cml0ZSgiXG4iKQorICAgIGJ1aWx0aW5zLl8gPSB2YWx1ZQorCisKIGNsYXNzIE15SGFuZGxlcihycGMuUlBDSGFuZGxlcik6CiAKICAgICBkZWYgaGFuZGxlKHNlbGYpOgpAQCAtMjU0LDYgKzI5MCw3IEBACiAgICAgICAgIHN5cy5zdGRpbiA9IHNlbGYuY29uc29sZSA9IHNlbGYuZ2V0X3JlbW90ZV9wcm94eSgic3RkaW4iKQogICAgICAgICBzeXMuc3Rkb3V0ID0gc2VsZi5nZXRfcmVtb3RlX3Byb3h5KCJzdGRvdXQiKQogICAgICAgICBzeXMuc3RkZXJyID0gc2VsZi5nZXRfcmVtb3RlX3Byb3h5KCJzdGRlcnIiKQorICAgICAgICBzeXMuZGlzcGxheWhvb2sgPSBkaXNwbGF5aG9vawogICAgICAgICAjIHBhZ2UgaGVscCgpIHRleHQgdG8gc2hlbGwuCiAgICAgICAgIGltcG9ydCBweWRvYyAjIGltcG9ydCBtdXN0IGJlIGRvbmUgaGVyZSB0byBjYXB0dXJlIGkvbyBiaW5kaW5nCiAgICAgICAgIHB5ZG9jLnBhZ2VyID0gcHlkb2MucGxhaW5wYWdlcgpkaWZmIC0tZ2l0IGEvTGliL2ltYXBsaWIucHkgYi9MaWIvaW1hcGxpYi5weQppbmRleCAxZmNiYTIxLi5iZGEyYWU5IDEwMDY0NAotLS0gYS9MaWIvaW1hcGxpYi5weQorKysgYi9MaWIvaW1hcGxpYi5weQpAQCAtMjQ5LDE1ICsyNDksNyBAQAogCiAgICAgZGVmIHJlYWQoc2VsZiwgc2l6ZSk6CiAgICAgICAgICIiIlJlYWQgJ3NpemUnIGJ5dGVzIGZyb20gcmVtb3RlLiIiIgotICAgICAgICBjaHVua3MgPSBbXQotICAgICAgICByZWFkID0gMAotICAgICAgICB3aGlsZSByZWFkIDwgc2l6ZToKLSAgICAgICAgICAgIGRhdGEgPSBzZWxmLmZpbGUucmVhZChtaW4oc2l6ZS1yZWFkLCA0MDk2KSkKLSAgICAgICAgICAgIGlmIG5vdCBkYXRhOgotICAgICAgICAgICAgICAgIGJyZWFrCi0gICAgICAgICAgICByZWFkICs9IGxlbihkYXRhKQotICAgICAgICAgICAgY2h1bmtzLmFwcGVuZChkYXRhKQotICAgICAgICByZXR1cm4gYicnLmpvaW4oY2h1bmtzKQorICAgICAgICByZXR1cm4gc2VsZi5maWxlLnJlYWQoc2l6ZSkKIAogCiAgICAgZGVmIHJlYWRsaW5lKHNlbGYpOgpAQCAtMTE3NywyNSArMTE2OSw0MCBAQAogCiAgICAgICAgICIiIklNQVA0IGNsaWVudCBjbGFzcyBvdmVyIFNTTCBjb25uZWN0aW9uCiAKLSAgICAgICAgSW5zdGFudGlhdGUgd2l0aDogSU1BUDRfU1NMKFtob3N0WywgcG9ydFssIGtleWZpbGVbLCBjZXJ0ZmlsZV1dXV0pCisgICAgICAgIEluc3RhbnRpYXRlIHdpdGg6IElNQVA0X1NTTChbaG9zdFssIHBvcnRbLCBrZXlmaWxlWywgY2VydGZpbGVbLCBzc2xfY29udGV4dF1dXV1dKQogCiAgICAgICAgICAgICAgICAgaG9zdCAtIGhvc3QncyBuYW1lIChkZWZhdWx0OiBsb2NhbGhvc3QpOwotICAgICAgICAgICAgICAgIHBvcnQgLSBwb3J0IG51bWJlciAoZGVmYXVsdDogc3RhbmRhcmQgSU1BUDQgU1NMIHBvcnQpLgorICAgICAgICAgICAgICAgIHBvcnQgLSBwb3J0IG51bWJlciAoZGVmYXVsdDogc3RhbmRhcmQgSU1BUDQgU1NMIHBvcnQpOwogICAgICAgICAgICAgICAgIGtleWZpbGUgLSBQRU0gZm9ybWF0dGVkIGZpbGUgdGhhdCBjb250YWlucyB5b3VyIHByaXZhdGUga2V5IChkZWZhdWx0OiBOb25lKTsKICAgICAgICAgICAgICAgICBjZXJ0ZmlsZSAtIFBFTSBmb3JtYXR0ZWQgY2VydGlmaWNhdGUgY2hhaW4gZmlsZSAoZGVmYXVsdDogTm9uZSk7CisgICAgICAgICAgICAgICAgc3NsX2NvbnRleHQgLSBhIFNTTENvbnRleHQgb2JqZWN0IHRoYXQgY29udGFpbnMgeW91ciBjZXJ0aWZpY2F0ZSBjaGFpbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIHByaXZhdGUga2V5IChkZWZhdWx0OiBOb25lKQorICAgICAgICAgICAgICAgIE5vdGU6IGlmIHNzbF9jb250ZXh0IGlzIHByb3ZpZGVkLCB0aGVuIHBhcmFtZXRlcnMga2V5ZmlsZSBvcgorICAgICAgICAgICAgICAgIGNlcnRmaWxlIHNob3VsZCBub3QgYmUgc2V0IG90aGVyd2lzZSBWYWx1ZUVycm9yIGlzIHRocm93bi4KIAogICAgICAgICBmb3IgbW9yZSBkb2N1bWVudGF0aW9uIHNlZSB0aGUgZG9jc3RyaW5nIG9mIHRoZSBwYXJlbnQgY2xhc3MgSU1BUDQuCiAgICAgICAgICIiIgogCiAKLSAgICAgICAgZGVmIF9faW5pdF9fKHNlbGYsIGhvc3QgPSAnJywgcG9ydCA9IElNQVA0X1NTTF9QT1JULCBrZXlmaWxlID0gTm9uZSwgY2VydGZpbGUgPSBOb25lKToKKyAgICAgICAgZGVmIF9faW5pdF9fKHNlbGYsIGhvc3Q9JycsIHBvcnQ9SU1BUDRfU1NMX1BPUlQsIGtleWZpbGU9Tm9uZSwgY2VydGZpbGU9Tm9uZSwgc3NsX2NvbnRleHQ9Tm9uZSk6CisgICAgICAgICAgICBpZiBzc2xfY29udGV4dCBpcyBub3QgTm9uZSBhbmQga2V5ZmlsZSBpcyBub3QgTm9uZToKKyAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJzc2xfY29udGV4dCBhbmQga2V5ZmlsZSBhcmd1bWVudHMgYXJlIG11dHVhbGx5ICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleGNsdXNpdmUiKQorICAgICAgICAgICAgaWYgc3NsX2NvbnRleHQgaXMgbm90IE5vbmUgYW5kIGNlcnRmaWxlIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoInNzbF9jb250ZXh0IGFuZCBjZXJ0ZmlsZSBhcmd1bWVudHMgYXJlIG11dHVhbGx5ICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleGNsdXNpdmUiKQorCiAgICAgICAgICAgICBzZWxmLmtleWZpbGUgPSBrZXlmaWxlCiAgICAgICAgICAgICBzZWxmLmNlcnRmaWxlID0gY2VydGZpbGUKKyAgICAgICAgICAgIHNlbGYuc3NsX2NvbnRleHQgPSBzc2xfY29udGV4dAogICAgICAgICAgICAgSU1BUDQuX19pbml0X18oc2VsZiwgaG9zdCwgcG9ydCkKIAogICAgICAgICBkZWYgX2NyZWF0ZV9zb2NrZXQoc2VsZik6CiAgICAgICAgICAgICBzb2NrID0gSU1BUDQuX2NyZWF0ZV9zb2NrZXQoc2VsZikKLSAgICAgICAgICAgIHJldHVybiBzc2wud3JhcF9zb2NrZXQoc29jaywgc2VsZi5rZXlmaWxlLCBzZWxmLmNlcnRmaWxlKQorICAgICAgICAgICAgaWYgc2VsZi5zc2xfY29udGV4dDoKKyAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5zc2xfY29udGV4dC53cmFwX3NvY2tldChzb2NrKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICByZXR1cm4gc3NsLndyYXBfc29ja2V0KHNvY2ssIHNlbGYua2V5ZmlsZSwgc2VsZi5jZXJ0ZmlsZSkKIAogICAgICAgICBkZWYgb3BlbihzZWxmLCBob3N0PScnLCBwb3J0PUlNQVA0X1NTTF9QT1JUKToKICAgICAgICAgICAgICIiIlNldHVwIGNvbm5lY3Rpb24gdG8gcmVtb3RlIHNlcnZlciBvbiAiaG9zdDpwb3J0Ii4KZGlmZiAtLWdpdCBhL0xpYi9pbXBvcnRsaWIvX19pbml0X18ucHkgYi9MaWIvaW1wb3J0bGliL19faW5pdF9fLnB5CmluZGV4IDJiYWFmOTMuLjU3ZmIyODQgMTAwNjQ0Ci0tLSBhL0xpYi9pbXBvcnRsaWIvX19pbml0X18ucHkKKysrIGIvTGliL2ltcG9ydGxpYi9fX2luaXRfXy5weQpAQCAtMSwxMDMgKzEsMTkgQEAKLSIiIkEgcHVyZSBQeXRob24gaW1wbGVtZW50YXRpb24gb2YgaW1wb3J0LgotCi1SZWZlcmVuY2VzIG9uIGltcG9ydDoKLQotICAgICogTGFuZ3VhZ2UgcmVmZXJlbmNlCi0gICAgICAgICAgaHR0cDovL2RvY3MucHl0aG9uLm9yZy9yZWYvaW1wb3J0Lmh0bWwKLSAgICAqIF9faW1wb3J0X18gZnVuY3Rpb24KLSAgICAgICAgICBodHRwOi8vZG9jcy5weXRob24ub3JnL2xpYi9idWlsdC1pbi1mdW5jcy5odG1sCi0gICAgKiBQYWNrYWdlcwotICAgICAgICAgIGh0dHA6Ly93d3cucHl0aG9uLm9yZy9kb2MvZXNzYXlzL3BhY2thZ2VzLmh0bWwKLSAgICAqIFBFUCAyMzU6IEltcG9ydCBvbiBDYXNlLUluc2Vuc2l0aXZlIFBsYXRmb3JtcwotICAgICAgICAgIGh0dHA6Ly93d3cucHl0aG9uLm9yZy9kZXYvcGVwcy9wZXAtMDIzNQotICAgICogUEVQIDI3NTogSW1wb3J0IE1vZHVsZXMgZnJvbSBaaXAgQXJjaGl2ZXMKLSAgICAgICAgICBodHRwOi8vd3d3LnB5dGhvbi5vcmcvZGV2L3BlcHMvcGVwLTAyNzMKLSAgICAqIFBFUCAzMDI6IE5ldyBJbXBvcnQgSG9va3MKLSAgICAgICAgICBodHRwOi8vd3d3LnB5dGhvbi5vcmcvZGV2L3BlcHMvcGVwLTAzMDIvCi0gICAgKiBQRVAgMzI4OiBJbXBvcnRzOiBNdWx0aS1saW5lIGFuZCBBYnNvbHV0ZS9SZWxhdGl2ZQotICAgICAgICAgIGh0dHA6Ly93d3cucHl0aG9uLm9yZy9kZXYvcGVwcy9wZXAtMDMyOAotCi0iIiIKLV9fYWxsX18gPSBbJ19faW1wb3J0X18nLCAnaW1wb3J0X21vZHVsZSddCisiIiJBIHB1cmUgUHl0aG9uIGltcGxlbWVudGF0aW9uIG9mIGltcG9ydC4iIiIKK19fYWxsX18gPSBbJ19faW1wb3J0X18nLCAnaW1wb3J0X21vZHVsZScsICdpbnZhbGlkYXRlX2NhY2hlcyddCiAKIGZyb20gLiBpbXBvcnQgX2Jvb3RzdHJhcAogCi1pbXBvcnQgb3MKLWltcG9ydCByZQotaW1wb3J0IHRva2VuaXplCisKKyMgVG8gc2ltcGxpZnkgaW1wb3J0cyBpbiB0ZXN0IGNvZGUKK193X2xvbmcgPSBfYm9vdHN0cmFwLl93X2xvbmcKK19yX2xvbmcgPSBfYm9vdHN0cmFwLl9yX2xvbmcKKwogCiAjIEJvb3RzdHJhcCBoZWxwICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCitpbXBvcnQgaW1wCitpbXBvcnQgc3lzCiAKLWRlZiBfY2FzZV9vayhkaXJlY3RvcnksIGNoZWNrKToKLSAgICAiIiJDaGVjayBpZiB0aGUgZGlyZWN0b3J5IGNvbnRhaW5zIHNvbWV0aGluZyBtYXRjaGluZyAnY2hlY2snLgotCi0gICAgTm8gY2hlY2sgaXMgZG9uZSBpZiB0aGUgZmlsZS9kaXJlY3RvcnkgZXhpc3RzIG9yIG5vdC4KLQotICAgICIiIgotICAgIGlmICdQWVRIT05DQVNFT0snIGluIG9zLmVudmlyb246Ci0gICAgICAgIHJldHVybiBUcnVlCi0gICAgZWxpZiBjaGVjayBpbiBvcy5saXN0ZGlyKGRpcmVjdG9yeSBpZiBkaXJlY3RvcnkgZWxzZSBvcy5nZXRjd2QoKSk6Ci0gICAgICAgIHJldHVybiBUcnVlCi0gICAgcmV0dXJuIEZhbHNlCi0KLQotZGVmIF93X2xvbmcoeCk6Ci0gICAgIiIiQ29udmVydCBhIDMyLWJpdCBpbnRlZ2VyIHRvIGxpdHRsZS1lbmRpYW4uCi0KLSAgICBYWFggVGVtcG9yYXJ5IHVudGlsIG1hcnNoYWwncyBsb25nIGZ1bmN0aW9ucyBhcmUgZXhwb3NlZC4KLQotICAgICIiIgotICAgIHggPSBpbnQoeCkKLSAgICBpbnRfYnl0ZXMgPSBbXQotICAgIGludF9ieXRlcy5hcHBlbmQoeCAmIDB4RkYpCi0gICAgaW50X2J5dGVzLmFwcGVuZCgoeCA+PiA4KSAmIDB4RkYpCi0gICAgaW50X2J5dGVzLmFwcGVuZCgoeCA+PiAxNikgJiAweEZGKQotICAgIGludF9ieXRlcy5hcHBlbmQoKHggPj4gMjQpICYgMHhGRikKLSAgICByZXR1cm4gYnl0ZWFycmF5KGludF9ieXRlcykKLQotCi1kZWYgX3JfbG9uZyhpbnRfYnl0ZXMpOgotICAgICIiIkNvbnZlcnQgNCBieXRlcyBpbiBsaXR0bGUtZW5kaWFuIHRvIGFuIGludGVnZXIuCi0KLSAgICBYWFggVGVtcG9yYXJ5IHVudGlsIG1hcnNoYWwncyBsb25nIGZ1bmN0aW9uIGFyZSBleHBvc2VkLgotCi0gICAgIiIiCi0gICAgeCA9IGludF9ieXRlc1swXQotICAgIHggfD0gaW50X2J5dGVzWzFdIDw8IDgKLSAgICB4IHw9IGludF9ieXRlc1syXSA8PCAxNgotICAgIHggfD0gaW50X2J5dGVzWzNdIDw8IDI0Ci0gICAgcmV0dXJuIHgKLQotCi0jIFJlcXVpcmVkIGJ1aWx0LWluIG1vZHVsZXMuCi10cnk6Ci0gICAgaW1wb3J0IHBvc2l4IGFzIF9vcwotZXhjZXB0IEltcG9ydEVycm9yOgotICAgIHRyeToKLSAgICAgICAgaW1wb3J0IG50IGFzIF9vcwotICAgIGV4Y2VwdCBJbXBvcnRFcnJvcjoKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgaW1wb3J0IG9zMiBhcyBfb3MKLSAgICAgICAgZXhjZXB0IEltcG9ydEVycm9yOgotICAgICAgICAgICAgcmFpc2UgSW1wb3J0RXJyb3IoJ3Bvc2l4LCBudCwgb3Igb3MyIG1vZHVsZSByZXF1aXJlZCBmb3IgaW1wb3J0bGliJykKLV9ib290c3RyYXAuX29zID0gX29zCi1pbXBvcnQgaW1wLCBzeXMsIG1hcnNoYWwsIGVycm5vLCBfaW8KLV9ib290c3RyYXAuaW1wID0gaW1wCi1fYm9vdHN0cmFwLnN5cyA9IHN5cwotX2Jvb3RzdHJhcC5tYXJzaGFsID0gbWFyc2hhbAotX2Jvb3RzdHJhcC5lcnJubyA9IGVycm5vCi1fYm9vdHN0cmFwLl9pbyA9IF9pbwotaW1wb3J0IF93YXJuaW5ncwotX2Jvb3RzdHJhcC5fd2FybmluZ3MgPSBfd2FybmluZ3MKLQotCi1mcm9tIG9zIGltcG9ydCBzZXAKLSMgRm9yIG9zLnBhdGguam9pbiByZXBsYWNlbWVudDsgcHVsbCBmcm9tIEluY2x1ZGUvb3NkZWZzLmg6U0VQIC4KLV9ib290c3RyYXAucGF0aF9zZXAgPSBzZXAKLQotX2Jvb3RzdHJhcC5fY2FzZV9vayA9IF9jYXNlX29rCi1tYXJzaGFsLl93X2xvbmcgPSBfd19sb25nCi1tYXJzaGFsLl9yX2xvbmcgPSBfcl9sb25nCitfYm9vdHN0cmFwLl9zZXR1cChzeXMsIGltcCkKIAogCiAjIFB1YmxpYyBBUEkgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCkBAIC0xMDUsNiArMjEsMTQgQEAKIGZyb20gLl9ib290c3RyYXAgaW1wb3J0IF9faW1wb3J0X18KIAogCitkZWYgaW52YWxpZGF0ZV9jYWNoZXMoKToKKyAgICAiIiJDYWxsIHRoZSBpbnZhbGlkYXRlX2NhY2hlcygpIG1ldGhvZCBvbiBhbGwgZmluZGVycyBzdG9yZWQgaW4KKyAgICBzeXMucGF0aF9pbXBvcnRlcl9jYWNoZXMgKHdoZXJlIGltcGxlbWVudGVkKS4iIiIKKyAgICBmb3IgZmluZGVyIGluIHN5cy5wYXRoX2ltcG9ydGVyX2NhY2hlLnZhbHVlcygpOgorICAgICAgICBpZiBoYXNhdHRyKGZpbmRlciwgJ2ludmFsaWRhdGVfY2FjaGVzJyk6CisgICAgICAgICAgICBmaW5kZXIuaW52YWxpZGF0ZV9jYWNoZXMoKQorCisKIGRlZiBpbXBvcnRfbW9kdWxlKG5hbWUsIHBhY2thZ2U9Tm9uZSk6CiAgICAgIiIiSW1wb3J0IGEgbW9kdWxlLgogCmRpZmYgLS1naXQgYS9MaWIvaW1wb3J0bGliL19ib290c3RyYXAucHkgYi9MaWIvaW1wb3J0bGliL19ib290c3RyYXAucHkKaW5kZXggOTBlYjFhNy4uZTBmODZmYyAxMDA2NDQKLS0tIGEvTGliL2ltcG9ydGxpYi9fYm9vdHN0cmFwLnB5CisrKyBiL0xpYi9pbXBvcnRsaWIvX2Jvb3RzdHJhcC5weQpAQCAtNyw5ICs3LDEwIEBACiAKICIiIgogCi0jIEluamVjdGVkIG1vZHVsZXMgYXJlICdfd2FybmluZ3MnLCAnaW1wJywgJ3N5cycsICdtYXJzaGFsJywgJ2Vycm5vJywgJ19pbycsCisjIEluamVjdGVkIG1vZHVsZXMgYXJlICdfd2FybmluZ3MnLCAnaW1wJywgJ3N5cycsICdtYXJzaGFsJywgJ19pbycsCiAjIGFuZCAnX29zJyAoYS5rLmEuICdwb3NpeCcsICdudCcgb3IgJ29zMicpLgogIyBJbmplY3RlZCBhdHRyaWJ1dGUgaXMgcGF0aF9zZXAuCisjIE1vc3QgaW5qZWN0aW9uIGlzIGhhbmRsZWQgYnkgX3NldHVwKCkuCiAjCiAjIFdoZW4gZWRpdGluZyB0aGlzIGNvZGUgYmUgYXdhcmUgdGhhdCBjb2RlIGV4ZWN1dGVkIGF0IGltcG9ydCB0aW1lIENBTk5PVAogIyByZWZlcmVuY2UgYW55IGluamVjdGVkIG9iamVjdHMhIFRoaXMgaW5jbHVkZXMgbm90IG9ubHkgZ2xvYmFsIGNvZGUgYnV0IGFsc28KQEAgLTE4LDExICsxOSw1NyBAQAogCiAjIEJvb3RzdHJhcC1yZWxhdGVkIGNvZGUgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKK0NBU0VfSU5TRU5TSVRJVkVfUExBVEZPUk1TID0gJ3dpbicsICdjeWd3aW4nLCAnZGFyd2luJworCisKK2RlZiBfbWFrZV9yZWxheF9jYXNlKCk6CisgICAgaWYgYW55KG1hcChzeXMucGxhdGZvcm0uc3RhcnRzd2l0aCwgQ0FTRV9JTlNFTlNJVElWRV9QTEFURk9STVMpKToKKyAgICAgICAgZGVmIF9yZWxheF9jYXNlKCk6CisgICAgICAgICAgICAiIiJUcnVlIGlmIGZpbGVuYW1lcyBtdXN0IGJlIGNoZWNrZWQgY2FzZS1pbnNlbnNpdGl2ZWx5LiIiIgorICAgICAgICAgICAgcmV0dXJuIGInUFlUSE9OQ0FTRU9LJyBpbiBfb3MuZW52aXJvbgorICAgIGVsc2U6CisgICAgICAgIGRlZiBfcmVsYXhfY2FzZSgpOgorICAgICAgICAgICAgIiIiVHJ1ZSBpZiBmaWxlbmFtZXMgbXVzdCBiZSBjaGVja2VkIGNhc2UtaW5zZW5zaXRpdmVseS4iIiIKKyAgICAgICAgICAgIHJldHVybiBGYWxzZQorICAgIHJldHVybiBfcmVsYXhfY2FzZQorCisKKyMgVE9ETzogRXhwb3NlIGZyb20gbWFyc2hhbAorZGVmIF93X2xvbmcoeCk6CisgICAgIiIiQ29udmVydCBhIDMyLWJpdCBpbnRlZ2VyIHRvIGxpdHRsZS1lbmRpYW4uCisKKyAgICBYWFggVGVtcG9yYXJ5IHVudGlsIG1hcnNoYWwncyBsb25nIGZ1bmN0aW9ucyBhcmUgZXhwb3NlZC4KKworICAgICIiIgorICAgIHggPSBpbnQoeCkKKyAgICBpbnRfYnl0ZXMgPSBbXQorICAgIGludF9ieXRlcy5hcHBlbmQoeCAmIDB4RkYpCisgICAgaW50X2J5dGVzLmFwcGVuZCgoeCA+PiA4KSAmIDB4RkYpCisgICAgaW50X2J5dGVzLmFwcGVuZCgoeCA+PiAxNikgJiAweEZGKQorICAgIGludF9ieXRlcy5hcHBlbmQoKHggPj4gMjQpICYgMHhGRikKKyAgICByZXR1cm4gYnl0ZWFycmF5KGludF9ieXRlcykKKworCisjIFRPRE86IEV4cG9zZSBmcm9tIG1hcnNoYWwKK2RlZiBfcl9sb25nKGludF9ieXRlcyk6CisgICAgIiIiQ29udmVydCA0IGJ5dGVzIGluIGxpdHRsZS1lbmRpYW4gdG8gYW4gaW50ZWdlci4KKworICAgIFhYWCBUZW1wb3JhcnkgdW50aWwgbWFyc2hhbCdzIGxvbmcgZnVuY3Rpb24gYXJlIGV4cG9zZWQuCisKKyAgICAiIiIKKyAgICB4ID0gaW50X2J5dGVzWzBdCisgICAgeCB8PSBpbnRfYnl0ZXNbMV0gPDwgOAorICAgIHggfD0gaW50X2J5dGVzWzJdIDw8IDE2CisgICAgeCB8PSBpbnRfYnl0ZXNbM10gPDwgMjQKKyAgICByZXR1cm4geAorCisKKwogIyBYWFggQ291bGQgYWxzbyBleHBvc2UgTW9kdWxlcy9nZXRwYXRoLmM6am9pbnBhdGgoKQogZGVmIF9wYXRoX2pvaW4oKmFyZ3MpOgogICAgICIiIlJlcGxhY2VtZW50IGZvciBvcy5wYXRoLmpvaW4uIiIiCiAgICAgcmV0dXJuIHBhdGhfc2VwLmpvaW4oeFs6LWxlbihwYXRoX3NlcCldIGlmIHguZW5kc3dpdGgocGF0aF9zZXApIGVsc2UgeAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciB4IGluIGFyZ3MgaWYgeCkKKyAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgeCBpbiBhcmdzIGlmIHgpCiAKIAogZGVmIF9wYXRoX2V4aXN0cyhwYXRoKToKQEAgLTgwLDEwICsxMjcsMzIgQEAKICAgICAgICAgICAgIHJldHVybiBfcGF0aF9qb2luKF9vcy5nZXRjd2QoKSwgcGF0aCkKIAogCitkZWYgX3dyaXRlX2F0b21pYyhwYXRoLCBkYXRhKToKKyAgICAiIiJCZXN0LWVmZm9ydCBmdW5jdGlvbiB0byB3cml0ZSBkYXRhIHRvIGEgcGF0aCBhdG9taWNhbGx5LgorICAgIEJlIHByZXBhcmVkIHRvIGhhbmRsZSBhIEZpbGVFeGlzdHNFcnJvciBpZiBjb25jdXJyZW50IHdyaXRpbmcgb2YgdGhlCisgICAgdGVtcG9yYXJ5IGZpbGUgaXMgYXR0ZW1wdGVkLiIiIgorICAgICMgaWQoKSBpcyB1c2VkIHRvIGdlbmVyYXRlIGEgcHNldWRvLXJhbmRvbSBmaWxlbmFtZS4KKyAgICBwYXRoX3RtcCA9ICd7fS57fScuZm9ybWF0KHBhdGgsIGlkKHBhdGgpKQorICAgIGZkID0gX29zLm9wZW4ocGF0aF90bXAsIF9vcy5PX0VYQ0wgfCBfb3MuT19DUkVBVCB8IF9vcy5PX1dST05MWSwgMG82NjYpCisgICAgdHJ5OgorICAgICAgICAjIFdlIGZpcnN0IHdyaXRlIGRhdGEgdG8gYSB0ZW1wb3JhcnkgZmlsZSwgYW5kIHRoZW4gdXNlIG9zLnJlcGxhY2UoKSB0bworICAgICAgICAjIHBlcmZvcm0gYW4gYXRvbWljIHJlbmFtZS4KKyAgICAgICAgd2l0aCBfaW8uRmlsZUlPKGZkLCAnd2InKSBhcyBmaWxlOgorICAgICAgICAgICAgZmlsZS53cml0ZShkYXRhKQorICAgICAgICBfb3MucmVwbGFjZShwYXRoX3RtcCwgcGF0aCkKKyAgICBleGNlcHQgT1NFcnJvcjoKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgX29zLnVubGluayhwYXRoX3RtcCkKKyAgICAgICAgZXhjZXB0IE9TRXJyb3I6CisgICAgICAgICAgICBwYXNzCisgICAgICAgIHJhaXNlCisKKwogZGVmIF93cmFwKG5ldywgb2xkKToKICAgICAiIiJTaW1wbGUgc3Vic3RpdHV0ZSBmb3IgZnVuY3Rvb2xzLndyYXBzLiIiIgotICAgIGZvciByZXBsYWNlIGluIFsnX19tb2R1bGVfXycsICdfX25hbWVfXycsICdfX2RvY19fJ106Ci0gICAgICAgIHNldGF0dHIobmV3LCByZXBsYWNlLCBnZXRhdHRyKG9sZCwgcmVwbGFjZSkpCisgICAgZm9yIHJlcGxhY2UgaW4gWydfX21vZHVsZV9fJywgJ19fbmFtZV9fJywgJ19fcXVhbG5hbWVfXycsICdfX2RvY19fJ106CisgICAgICAgIGlmIGhhc2F0dHIob2xkLCByZXBsYWNlKToKKyAgICAgICAgICAgIHNldGF0dHIobmV3LCByZXBsYWNlLCBnZXRhdHRyKG9sZCwgcmVwbGFjZSkpCiAgICAgbmV3Ll9fZGljdF9fLnVwZGF0ZShvbGQuX19kaWN0X18pCiAKIApAQCAtOTEsMjggKzE2MCwyOSBAQAogCiAjIEZpbmRlci9sb2FkZXIgdXRpbGl0eSBjb2RlICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKKwogZGVmIHNldF9wYWNrYWdlKGZ4bik6CiAgICAgIiIiU2V0IF9fcGFja2FnZV9fIG9uIHRoZSByZXR1cm5lZCBtb2R1bGUuIiIiCi0gICAgZGVmIHdyYXBwZXIoKmFyZ3MsICoqa3dhcmdzKToKKyAgICBkZWYgc2V0X3BhY2thZ2Vfd3JhcHBlcigqYXJncywgKiprd2FyZ3MpOgogICAgICAgICBtb2R1bGUgPSBmeG4oKmFyZ3MsICoqa3dhcmdzKQogICAgICAgICBpZiBub3QgaGFzYXR0cihtb2R1bGUsICdfX3BhY2thZ2VfXycpIG9yIG1vZHVsZS5fX3BhY2thZ2VfXyBpcyBOb25lOgogICAgICAgICAgICAgbW9kdWxlLl9fcGFja2FnZV9fID0gbW9kdWxlLl9fbmFtZV9fCiAgICAgICAgICAgICBpZiBub3QgaGFzYXR0cihtb2R1bGUsICdfX3BhdGhfXycpOgogICAgICAgICAgICAgICAgIG1vZHVsZS5fX3BhY2thZ2VfXyA9IG1vZHVsZS5fX3BhY2thZ2VfXy5ycGFydGl0aW9uKCcuJylbMF0KICAgICAgICAgcmV0dXJuIG1vZHVsZQotICAgIF93cmFwKHdyYXBwZXIsIGZ4bikKLSAgICByZXR1cm4gd3JhcHBlcgorICAgIF93cmFwKHNldF9wYWNrYWdlX3dyYXBwZXIsIGZ4bikKKyAgICByZXR1cm4gc2V0X3BhY2thZ2Vfd3JhcHBlcgogCiAKIGRlZiBzZXRfbG9hZGVyKGZ4bik6CiAgICAgIiIiU2V0IF9fbG9hZGVyX18gb24gdGhlIHJldHVybmVkIG1vZHVsZS4iIiIKLSAgICBkZWYgd3JhcHBlcihzZWxmLCAqYXJncywgKiprd2FyZ3MpOgorICAgIGRlZiBzZXRfbG9hZGVyX3dyYXBwZXIoc2VsZiwgKmFyZ3MsICoqa3dhcmdzKToKICAgICAgICAgbW9kdWxlID0gZnhuKHNlbGYsICphcmdzLCAqKmt3YXJncykKICAgICAgICAgaWYgbm90IGhhc2F0dHIobW9kdWxlLCAnX19sb2FkZXJfXycpOgogICAgICAgICAgICAgbW9kdWxlLl9fbG9hZGVyX18gPSBzZWxmCiAgICAgICAgIHJldHVybiBtb2R1bGUKLSAgICBfd3JhcCh3cmFwcGVyLCBmeG4pCi0gICAgcmV0dXJuIHdyYXBwZXIKKyAgICBfd3JhcChzZXRfbG9hZGVyX3dyYXBwZXIsIGZ4bikKKyAgICByZXR1cm4gc2V0X2xvYWRlcl93cmFwcGVyCiAKIAogZGVmIG1vZHVsZV9mb3JfbG9hZGVyKGZ4bik6CkBAIC0xMjgsNyArMTk4LDcgQEAKICAgICB0aGUgc2Vjb25kIGFyZ3VtZW50LgogCiAgICAgIiIiCi0gICAgZGVmIGRlY29yYXRlZChzZWxmLCBmdWxsbmFtZSwgKmFyZ3MsICoqa3dhcmdzKToKKyAgICBkZWYgbW9kdWxlX2Zvcl9sb2FkZXJfd3JhcHBlcihzZWxmLCBmdWxsbmFtZSwgKmFyZ3MsICoqa3dhcmdzKToKICAgICAgICAgbW9kdWxlID0gc3lzLm1vZHVsZXMuZ2V0KGZ1bGxuYW1lKQogICAgICAgICBpc19yZWxvYWQgPSBib29sKG1vZHVsZSkKICAgICAgICAgaWYgbm90IGlzX3JlbG9hZDoKQEAgLTE0Myw4ICsyMTMsOCBAQAogICAgICAgICAgICAgaWYgbm90IGlzX3JlbG9hZDoKICAgICAgICAgICAgICAgICBkZWwgc3lzLm1vZHVsZXNbZnVsbG5hbWVdCiAgICAgICAgICAgICByYWlzZQotICAgIF93cmFwKGRlY29yYXRlZCwgZnhuKQotICAgIHJldHVybiBkZWNvcmF0ZWQKKyAgICBfd3JhcChtb2R1bGVfZm9yX2xvYWRlcl93cmFwcGVyLCBmeG4pCisgICAgcmV0dXJuIG1vZHVsZV9mb3JfbG9hZGVyX3dyYXBwZXIKIAogCiBkZWYgX2NoZWNrX25hbWUobWV0aG9kKToKQEAgLTE1NSwzMiArMjI1LDMyIEBACiAgICAgY29tcGFyZWQgYWdhaW5zdC4gSWYgdGhlIGNvbXBhcmlzb24gZmFpbHMgdGhlbiBJbXBvcnRFcnJvciBpcyByYWlzZWQuCiAKICAgICAiIiIKLSAgICBkZWYgaW5uZXIoc2VsZiwgbmFtZSwgKmFyZ3MsICoqa3dhcmdzKToKKyAgICBkZWYgX2NoZWNrX25hbWVfd3JhcHBlcihzZWxmLCBuYW1lLCAqYXJncywgKiprd2FyZ3MpOgogICAgICAgICBpZiBzZWxmLl9uYW1lICE9IG5hbWU6CiAgICAgICAgICAgICByYWlzZSBJbXBvcnRFcnJvcigibG9hZGVyIGNhbm5vdCBoYW5kbGUgJXMiICUgbmFtZSkKICAgICAgICAgcmV0dXJuIG1ldGhvZChzZWxmLCBuYW1lLCAqYXJncywgKiprd2FyZ3MpCi0gICAgX3dyYXAoaW5uZXIsIG1ldGhvZCkKLSAgICByZXR1cm4gaW5uZXIKKyAgICBfd3JhcChfY2hlY2tfbmFtZV93cmFwcGVyLCBtZXRob2QpCisgICAgcmV0dXJuIF9jaGVja19uYW1lX3dyYXBwZXIKIAogCiBkZWYgX3JlcXVpcmVzX2J1aWx0aW4oZnhuKToKICAgICAiIiJEZWNvcmF0b3IgdG8gdmVyaWZ5IHRoZSBuYW1lZCBtb2R1bGUgaXMgYnVpbHQtaW4uIiIiCi0gICAgZGVmIHdyYXBwZXIoc2VsZiwgZnVsbG5hbWUpOgorICAgIGRlZiBfcmVxdWlyZXNfYnVpbHRpbl93cmFwcGVyKHNlbGYsIGZ1bGxuYW1lKToKICAgICAgICAgaWYgZnVsbG5hbWUgbm90IGluIHN5cy5idWlsdGluX21vZHVsZV9uYW1lczoKICAgICAgICAgICAgIHJhaXNlIEltcG9ydEVycm9yKCJ7MH0gaXMgbm90IGEgYnVpbHQtaW4gbW9kdWxlIi5mb3JtYXQoZnVsbG5hbWUpKQogICAgICAgICByZXR1cm4gZnhuKHNlbGYsIGZ1bGxuYW1lKQotICAgIF93cmFwKHdyYXBwZXIsIGZ4bikKLSAgICByZXR1cm4gd3JhcHBlcgorICAgIF93cmFwKF9yZXF1aXJlc19idWlsdGluX3dyYXBwZXIsIGZ4bikKKyAgICByZXR1cm4gX3JlcXVpcmVzX2J1aWx0aW5fd3JhcHBlcgogCiAKIGRlZiBfcmVxdWlyZXNfZnJvemVuKGZ4bik6CiAgICAgIiIiRGVjb3JhdG9yIHRvIHZlcmlmeSB0aGUgbmFtZWQgbW9kdWxlIGlzIGZyb3plbi4iIiIKLSAgICBkZWYgd3JhcHBlcihzZWxmLCBmdWxsbmFtZSk6CisgICAgZGVmIF9yZXF1aXJlc19mcm96ZW5fd3JhcHBlcihzZWxmLCBmdWxsbmFtZSk6CiAgICAgICAgIGlmIG5vdCBpbXAuaXNfZnJvemVuKGZ1bGxuYW1lKToKICAgICAgICAgICAgIHJhaXNlIEltcG9ydEVycm9yKCJ7MH0gaXMgbm90IGEgZnJvemVuIG1vZHVsZSIuZm9ybWF0KGZ1bGxuYW1lKSkKICAgICAgICAgcmV0dXJuIGZ4bihzZWxmLCBmdWxsbmFtZSkKLSAgICBfd3JhcCh3cmFwcGVyLCBmeG4pCi0gICAgcmV0dXJuIHdyYXBwZXIKKyAgICBfd3JhcChfcmVxdWlyZXNfZnJvemVuX3dyYXBwZXIsIGZ4bikKKyAgICByZXR1cm4gX3JlcXVpcmVzX2Zyb3plbl93cmFwcGVyCiAKIAogZGVmIF9zdWZmaXhfbGlzdChzdWZmaXhfdHlwZSk6CkBAIC0yNDAsNyArMzEwLDcgQEAKICAgICBAY2xhc3NtZXRob2QKICAgICBAX3JlcXVpcmVzX2J1aWx0aW4KICAgICBkZWYgaXNfcGFja2FnZShjbHMsIGZ1bGxuYW1lKToKLSAgICAgICAgIiIiUmV0dXJuIE5vbmUgYXMgYnVpbHQtaW4gbW9kdWxlIGFyZSBuZXZlciBwYWNrYWdlcy4iIiIKKyAgICAgICAgIiIiUmV0dXJuIE5vbmUgYXMgYnVpbHQtaW4gbW9kdWxlcyBhcmUgbmV2ZXIgcGFja2FnZXMuIiIiCiAgICAgICAgIHJldHVybiBGYWxzZQogCiAKQEAgLTMwMiwyNSArMzcyLDQyIEBACiAgICAgICAgIGZpbGVuYW1lID0gc2VsZi5nZXRfZmlsZW5hbWUoZnVsbG5hbWUpLnJwYXJ0aXRpb24ocGF0aF9zZXApWzJdCiAgICAgICAgIHJldHVybiBmaWxlbmFtZS5yc3BsaXQoJy4nLCAxKVswXSA9PSAnX19pbml0X18nCiAKLSAgICBkZWYgX2J5dGVzX2Zyb21fYnl0ZWNvZGUoc2VsZiwgZnVsbG5hbWUsIGRhdGEsIHNvdXJjZV9tdGltZSk6CisgICAgZGVmIF9ieXRlc19mcm9tX2J5dGVjb2RlKHNlbGYsIGZ1bGxuYW1lLCBkYXRhLCBzb3VyY2Vfc3RhdHMpOgogICAgICAgICAiIiJSZXR1cm4gdGhlIG1hcnNoYWxsZWQgYnl0ZXMgZnJvbSBieXRlY29kZSwgdmVyaWZ5aW5nIHRoZSBtYWdpYwotICAgICAgICBudW1iZXIgYW5kIHRpbWVzdGFtcCBhbG9uZyB0aGUgd2F5LgorICAgICAgICBudW1iZXIsIHRpbWVzdGFtcCBhbmQgc291cmNlIHNpemUgYWxvbmcgdGhlIHdheS4KIAotICAgICAgICBJZiBzb3VyY2VfbXRpbWUgaXMgTm9uZSB0aGVuIHNraXAgdGhlIHRpbWVzdGFtcCBjaGVjay4KKyAgICAgICAgSWYgc291cmNlX3N0YXRzIGlzIE5vbmUgdGhlbiBza2lwIHRoZSB0aW1lc3RhbXAgY2hlY2suCiAKICAgICAgICAgIiIiCiAgICAgICAgIG1hZ2ljID0gZGF0YVs6NF0KICAgICAgICAgcmF3X3RpbWVzdGFtcCA9IGRhdGFbNDo4XQorICAgICAgICByYXdfc2l6ZSA9IGRhdGFbODoxMl0KICAgICAgICAgaWYgbGVuKG1hZ2ljKSAhPSA0IG9yIG1hZ2ljICE9IGltcC5nZXRfbWFnaWMoKToKICAgICAgICAgICAgIHJhaXNlIEltcG9ydEVycm9yKCJiYWQgbWFnaWMgbnVtYmVyIGluIHt9Ii5mb3JtYXQoZnVsbG5hbWUpKQogICAgICAgICBlbGlmIGxlbihyYXdfdGltZXN0YW1wKSAhPSA0OgogICAgICAgICAgICAgcmFpc2UgRU9GRXJyb3IoImJhZCB0aW1lc3RhbXAgaW4ge30iLmZvcm1hdChmdWxsbmFtZSkpCi0gICAgICAgIGVsaWYgc291cmNlX210aW1lIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgaWYgbWFyc2hhbC5fcl9sb25nKHJhd190aW1lc3RhbXApICE9IHNvdXJjZV9tdGltZToKLSAgICAgICAgICAgICAgICByYWlzZSBJbXBvcnRFcnJvcigiYnl0ZWNvZGUgaXMgc3RhbGUgZm9yIHt9Ii5mb3JtYXQoZnVsbG5hbWUpKQorICAgICAgICBlbGlmIGxlbihyYXdfc2l6ZSkgIT0gNDoKKyAgICAgICAgICAgIHJhaXNlIEVPRkVycm9yKCJiYWQgc2l6ZSBpbiB7fSIuZm9ybWF0KGZ1bGxuYW1lKSkKKyAgICAgICAgaWYgc291cmNlX3N0YXRzIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIHNvdXJjZV9tdGltZSA9IGludChzb3VyY2Vfc3RhdHNbJ210aW1lJ10pCisgICAgICAgICAgICBleGNlcHQgS2V5RXJyb3I6CisgICAgICAgICAgICAgICAgcGFzcworICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBpZiBfcl9sb25nKHJhd190aW1lc3RhbXApICE9IHNvdXJjZV9tdGltZToKKyAgICAgICAgICAgICAgICAgICAgcmFpc2UgSW1wb3J0RXJyb3IoCisgICAgICAgICAgICAgICAgICAgICAgICAiYnl0ZWNvZGUgaXMgc3RhbGUgZm9yIHt9Ii5mb3JtYXQoZnVsbG5hbWUpKQorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIHNvdXJjZV9zaXplID0gc291cmNlX3N0YXRzWydzaXplJ10gJiAweEZGRkZGRkZGCisgICAgICAgICAgICBleGNlcHQgS2V5RXJyb3I6CisgICAgICAgICAgICAgICAgcGFzcworICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBpZiBfcl9sb25nKHJhd19zaXplKSAhPSBzb3VyY2Vfc2l6ZToKKyAgICAgICAgICAgICAgICAgICAgcmFpc2UgSW1wb3J0RXJyb3IoCisgICAgICAgICAgICAgICAgICAgICAgICAiYnl0ZWNvZGUgaXMgc3RhbGUgZm9yIHt9Ii5mb3JtYXQoZnVsbG5hbWUpKQogICAgICAgICAjIENhbid0IHJldHVybiB0aGUgY29kZSBvYmplY3QgYXMgZXJyb3JzIGZyb20gbWFyc2hhbCBsb2FkaW5nIG5lZWQgdG8KICAgICAgICAgIyBwcm9wYWdhdGUgZXZlbiB3aGVuIHNvdXJjZSBpcyBhdmFpbGFibGUuCi0gICAgICAgIHJldHVybiBkYXRhWzg6XQorICAgICAgICByZXR1cm4gZGF0YVsxMjpdCiAKICAgICBAbW9kdWxlX2Zvcl9sb2FkZXIKICAgICBkZWYgX2xvYWRfbW9kdWxlKHNlbGYsIG1vZHVsZSwgKiwgc291cmNlbGVzcz1GYWxzZSk6CkBAIC0zNDgsMTIgKzQzNSwyMSBAQAogICAgIGRlZiBwYXRoX210aW1lKHNlbGYsIHBhdGgpOgogICAgICAgICAiIiJPcHRpb25hbCBtZXRob2QgdGhhdCByZXR1cm5zIHRoZSBtb2RpZmljYXRpb24gdGltZSAoYW4gaW50KSBmb3IgdGhlCiAgICAgICAgIHNwZWNpZmllZCBwYXRoLCB3aGVyZSBwYXRoIGlzIGEgc3RyLgotCi0gICAgICAgIEltcGxlbWVudGluZyB0aGlzIG1ldGhvZCBhbGxvd3MgdGhlIGxvYWRlciB0byByZWFkIGJ5dGVjb2RlIGZpbGVzLgotCiAgICAgICAgICIiIgogICAgICAgICByYWlzZSBOb3RJbXBsZW1lbnRlZEVycm9yCiAKKyAgICBkZWYgcGF0aF9zdGF0cyhzZWxmLCBwYXRoKToKKyAgICAgICAgIiIiT3B0aW9uYWwgbWV0aG9kIHJldHVybmluZyBhIG1ldGFkYXRhIGRpY3QgZm9yIHRoZSBzcGVjaWZpZWQgcGF0aAorICAgICAgICB0byBieSB0aGUgcGF0aCAoc3RyKS4KKyAgICAgICAgUG9zc2libGUga2V5czoKKyAgICAgICAgLSAnbXRpbWUnIChtYW5kYXRvcnkpIGlzIHRoZSBudW1lcmljIHRpbWVzdGFtcCBvZiBsYXN0IHNvdXJjZQorICAgICAgICAgIGNvZGUgbW9kaWZpY2F0aW9uOworICAgICAgICAtICdzaXplJyAob3B0aW9uYWwpIGlzIHRoZSBzaXplIGluIGJ5dGVzIG9mIHRoZSBzb3VyY2UgY29kZS4KKworICAgICAgICBJbXBsZW1lbnRpbmcgdGhpcyBtZXRob2QgYWxsb3dzIHRoZSBsb2FkZXIgdG8gcmVhZCBieXRlY29kZSBmaWxlcy4KKyAgICAgICAgIiIiCisgICAgICAgIHJldHVybiB7J210aW1lJzogc2VsZi5wYXRoX210aW1lKHBhdGgpfQorCiAgICAgZGVmIHNldF9kYXRhKHNlbGYsIHBhdGgsIGRhdGEpOgogICAgICAgICAiIiJPcHRpb25hbCBtZXRob2Qgd2hpY2ggd3JpdGVzIGRhdGEgKGJ5dGVzKSB0byBhIGZpbGUgcGF0aCAoYSBzdHIpLgogCkBAIC0zNzgsNyArNDc0LDcgQEAKICAgICBkZWYgZ2V0X2NvZGUoc2VsZiwgZnVsbG5hbWUpOgogICAgICAgICAiIiJDb25jcmV0ZSBpbXBsZW1lbnRhdGlvbiBvZiBJbnNwZWN0TG9hZGVyLmdldF9jb2RlLgogCi0gICAgICAgIFJlYWRpbmcgb2YgYnl0ZWNvZGUgcmVxdWlyZXMgcGF0aF9tdGltZSB0byBiZSBpbXBsZW1lbnRlZC4gVG8gd3JpdGUKKyAgICAgICAgUmVhZGluZyBvZiBieXRlY29kZSByZXF1aXJlcyBwYXRoX3N0YXRzIHRvIGJlIGltcGxlbWVudGVkLiBUbyB3cml0ZQogICAgICAgICBieXRlY29kZSwgc2V0X2RhdGEgbXVzdCBhbHNvIGJlIGltcGxlbWVudGVkLgogCiAgICAgICAgICIiIgpAQCAtMzg3LDEwICs0ODMsMTEgQEAKICAgICAgICAgc291cmNlX210aW1lID0gTm9uZQogICAgICAgICBpZiBieXRlY29kZV9wYXRoIGlzIG5vdCBOb25lOgogICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgIHNvdXJjZV9tdGltZSA9IHNlbGYucGF0aF9tdGltZShzb3VyY2VfcGF0aCkKKyAgICAgICAgICAgICAgICBzdCA9IHNlbGYucGF0aF9zdGF0cyhzb3VyY2VfcGF0aCkKICAgICAgICAgICAgIGV4Y2VwdCBOb3RJbXBsZW1lbnRlZEVycm9yOgogICAgICAgICAgICAgICAgIHBhc3MKICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgc291cmNlX210aW1lID0gaW50KHN0WydtdGltZSddKQogICAgICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICAgICAgZGF0YSA9IHNlbGYuZ2V0X2RhdGEoYnl0ZWNvZGVfcGF0aCkKICAgICAgICAgICAgICAgICBleGNlcHQgSU9FcnJvcjoKQEAgLTM5OCwxMiArNDk1LDEzIEBACiAgICAgICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgICAgICAgICAgYnl0ZXNfZGF0YSA9IHNlbGYuX2J5dGVzX2Zyb21fYnl0ZWNvZGUoZnVsbG5hbWUsIGRhdGEsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2VfbXRpbWUpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdCkKICAgICAgICAgICAgICAgICAgICAgZXhjZXB0IChJbXBvcnRFcnJvciwgRU9GRXJyb3IpOgogICAgICAgICAgICAgICAgICAgICAgICAgcGFzcwogICAgICAgICAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICAgICAgICAgZm91bmQgPSBtYXJzaGFsLmxvYWRzKGJ5dGVzX2RhdGEpCiAgICAgICAgICAgICAgICAgICAgICAgICBpZiBpc2luc3RhbmNlKGZvdW5kLCBjb2RlX3R5cGUpOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltcC5fZml4X2NvX2ZpbGVuYW1lKGZvdW5kLCBzb3VyY2VfcGF0aCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZm91bmQKICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNnID0gIk5vbi1jb2RlIG9iamVjdCBpbiB7fSIKQEAgLTQxMiwxMiArNTEwLDEzIEBACiAgICAgICAgIGNvZGVfb2JqZWN0ID0gY29tcGlsZShzb3VyY2VfYnl0ZXMsIHNvdXJjZV9wYXRoLCAnZXhlYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvbnRfaW5oZXJpdD1UcnVlKQogICAgICAgICBpZiAobm90IHN5cy5kb250X3dyaXRlX2J5dGVjb2RlIGFuZCBieXRlY29kZV9wYXRoIGlzIG5vdCBOb25lIGFuZAotICAgICAgICAgICAgICAgIHNvdXJjZV9tdGltZSBpcyBub3QgTm9uZSk6CisgICAgICAgICAgICBzb3VyY2VfbXRpbWUgaXMgbm90IE5vbmUpOgogICAgICAgICAgICAgIyBJZiBlLmcuIEp5dGhvbiBldmVyIGltcGxlbWVudHMgaW1wLmNhY2hlX2Zyb21fc291cmNlIHRvIGhhdmUKICAgICAgICAgICAgICMgdGhlaXIgb3duIGNhY2hlZCBmaWxlIGZvcm1hdCwgdGhpcyBibG9jayBvZiBjb2RlIHdpbGwgbW9zdCBsaWtlbHkKICAgICAgICAgICAgICMgdGhyb3cgYW4gZXhjZXB0aW9uLgogICAgICAgICAgICAgZGF0YSA9IGJ5dGVhcnJheShpbXAuZ2V0X21hZ2ljKCkpCi0gICAgICAgICAgICBkYXRhLmV4dGVuZChtYXJzaGFsLl93X2xvbmcoc291cmNlX210aW1lKSkKKyAgICAgICAgICAgIGRhdGEuZXh0ZW5kKF93X2xvbmcoc291cmNlX210aW1lKSkKKyAgICAgICAgICAgIGRhdGEuZXh0ZW5kKF93X2xvbmcobGVuKHNvdXJjZV9ieXRlcykpKQogICAgICAgICAgICAgZGF0YS5leHRlbmQobWFyc2hhbC5kdW1wcyhjb2RlX29iamVjdCkpCiAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgc2VsZi5zZXRfZGF0YShieXRlY29kZV9wYXRoLCBkYXRhKQpAQCAtNDYyLDkgKzU2MSwxMCBAQAogCiAgICAgIiIiQ29uY3JldGUgaW1wbGVtZW50YXRpb24gb2YgU291cmNlTG9hZGVyIHVzaW5nIHRoZSBmaWxlIHN5c3RlbS4iIiIKIAotICAgIGRlZiBwYXRoX210aW1lKHNlbGYsIHBhdGgpOgotICAgICAgICAiIiJSZXR1cm4gdGhlIG1vZGlmaWNhdGlvbiB0aW1lIGZvciB0aGUgcGF0aC4iIiIKLSAgICAgICAgcmV0dXJuIGludChfb3Muc3RhdChwYXRoKS5zdF9tdGltZSkKKyAgICBkZWYgcGF0aF9zdGF0cyhzZWxmLCBwYXRoKToKKyAgICAgICAgIiIiUmV0dXJuIHRoZSBtZXRhZGF0IGZvciB0aGUgcGF0aC4iIiIKKyAgICAgICAgc3QgPSBfb3Muc3RhdChwYXRoKQorICAgICAgICByZXR1cm4geydtdGltZSc6IHN0LnN0X210aW1lLCAnc2l6ZSc6IHN0LnN0X3NpemV9CiAKICAgICBkZWYgc2V0X2RhdGEoc2VsZiwgcGF0aCwgZGF0YSk6CiAgICAgICAgICIiIldyaXRlIGJ5dGVzIGRhdGEgdG8gYSBmaWxlLiIiIgpAQCAtNDc5LDI4ICs1NzksMTkgQEAKICAgICAgICAgICAgIHBhcmVudCA9IF9wYXRoX2pvaW4ocGFyZW50LCBwYXJ0KQogICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgIF9vcy5ta2RpcihwYXJlbnQpCi0gICAgICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBleGM6CisgICAgICAgICAgICBleGNlcHQgRmlsZUV4aXN0c0Vycm9yOgogICAgICAgICAgICAgICAgICMgUHJvYmFibHkgYW5vdGhlciBQeXRob24gcHJvY2VzcyBhbHJlYWR5IGNyZWF0ZWQgdGhlIGRpci4KLSAgICAgICAgICAgICAgICBpZiBleGMuZXJybm8gPT0gZXJybm8uRUVYSVNUOgotICAgICAgICAgICAgICAgICAgICBjb250aW51ZQotICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgIHJhaXNlCi0gICAgICAgICAgICBleGNlcHQgSU9FcnJvciBhcyBleGM6CisgICAgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgICAgIGV4Y2VwdCBQZXJtaXNzaW9uRXJyb3I6CiAgICAgICAgICAgICAgICAgIyBJZiBjYW4ndCBnZXQgcHJvcGVyIGFjY2VzcywgdGhlbiBqdXN0IGZvcmdldCBhYm91dCB3cml0aW5nCiAgICAgICAgICAgICAgICAgIyB0aGUgZGF0YS4KLSAgICAgICAgICAgICAgICBpZiBleGMuZXJybm8gPT0gZXJybm8uRUFDQ0VTOgotICAgICAgICAgICAgICAgICAgICByZXR1cm4KLSAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICByYWlzZQotICAgICAgICB0cnk6Ci0gICAgICAgICAgICB3aXRoIF9pby5GaWxlSU8ocGF0aCwgJ3diJykgYXMgZmlsZToKLSAgICAgICAgICAgICAgICBmaWxlLndyaXRlKGRhdGEpCi0gICAgICAgIGV4Y2VwdCBJT0Vycm9yIGFzIGV4YzoKLSAgICAgICAgICAgICMgRG9uJ3Qgd29ycnkgaWYgeW91IGNhbid0IHdyaXRlIGJ5dGVjb2RlLgotICAgICAgICAgICAgaWYgZXhjLmVycm5vID09IGVycm5vLkVBQ0NFUzoKICAgICAgICAgICAgICAgICByZXR1cm4KLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgcmFpc2UKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgX3dyaXRlX2F0b21pYyhwYXRoLCBkYXRhKQorICAgICAgICBleGNlcHQgKFBlcm1pc3Npb25FcnJvciwgRmlsZUV4aXN0c0Vycm9yKToKKyAgICAgICAgICAgICMgRG9uJ3Qgd29ycnkgaWYgeW91IGNhbid0IHdyaXRlIGJ5dGVjb2RlIG9yIHNvbWVvbmUgaXMgd3JpdGluZworICAgICAgICAgICAgIyBpdCBhdCB0aGUgc2FtZSB0aW1lLgorICAgICAgICAgICAgcGFzcwogCiAKIGNsYXNzIF9Tb3VyY2VsZXNzRmlsZUxvYWRlcihfRmlsZUxvYWRlciwgX0xvYWRlckJhc2ljcyk6CkBAIC01MzQsMTIgKzYyNSw2IEBACiAgICAgIiIiCiAKICAgICBkZWYgX19pbml0X18oc2VsZiwgbmFtZSwgcGF0aCk6Ci0gICAgICAgICIiIkluaXRpYWxpemUgdGhlIGxvYWRlci4KLQotICAgICAgICBJZiBpc19wa2cgaXMgVHJ1ZSB0aGVuIGFuIGV4Y2VwdGlvbiBpcyByYWlzZWQgYXMgZXh0ZW5zaW9uIG1vZHVsZXMKLSAgICAgICAgY2Fubm90IGJlIHRoZSBfX2luaXRfXyBtb2R1bGUgZm9yIGFuIGV4dGVuc2lvbiBtb2R1bGUuCi0KLSAgICAgICAgIiIiCiAgICAgICAgIHNlbGYuX25hbWUgPSBuYW1lCiAgICAgICAgIHNlbGYuX3BhdGggPSBwYXRoCiAKQEAgLTYwOCw2ICs2OTMsOCBAQAogICAgICAgICB0aGUgZGVmYXVsdCBob29rLCBmb3Igd2hpY2ggSW1wb3J0RXJyb3IgaXMgcmFpc2VkLgogCiAgICAgICAgICIiIgorICAgICAgICBpZiBwYXRoID09ICcnOgorICAgICAgICAgICAgcGF0aCA9ICcuJwogICAgICAgICB0cnk6CiAgICAgICAgICAgICBmaW5kZXIgPSBzeXMucGF0aF9pbXBvcnRlcl9jYWNoZVtwYXRoXQogICAgICAgICBleGNlcHQgS2V5RXJyb3I6CkBAIC02NTksMjkgKzc0Niw2MSBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3Igc3VmZml4IGluIGRldGFpbC5zdWZmaXhlcykKICAgICAgICAgc2VsZi5wYWNrYWdlcyA9IHBhY2thZ2VzCiAgICAgICAgIHNlbGYubW9kdWxlcyA9IG1vZHVsZXMKLSAgICAgICAgc2VsZi5wYXRoID0gcGF0aAorICAgICAgICAjIEJhc2UgKGRpcmVjdG9yeSkgcGF0aAorICAgICAgICBzZWxmLnBhdGggPSBwYXRoIG9yICcuJworICAgICAgICBzZWxmLl9wYXRoX210aW1lID0gLTEKKyAgICAgICAgc2VsZi5fcGF0aF9jYWNoZSA9IHNldCgpCisgICAgICAgIHNlbGYuX3JlbGF4ZWRfcGF0aF9jYWNoZSA9IHNldCgpCisKKyAgICBkZWYgaW52YWxpZGF0ZV9jYWNoZXMoc2VsZik6CisgICAgICAgICIiIkludmFsaWRhdGUgdGhlIGRpcmVjdG9yeSBtdGltZS4iIiIKKyAgICAgICAgc2VsZi5fcGF0aF9tdGltZSA9IC0xCiAKICAgICBkZWYgZmluZF9tb2R1bGUoc2VsZiwgZnVsbG5hbWUpOgogICAgICAgICAiIiJUcnkgdG8gZmluZCBhIGxvYWRlciBmb3IgdGhlIHNwZWNpZmllZCBtb2R1bGUuIiIiCiAgICAgICAgIHRhaWxfbW9kdWxlID0gZnVsbG5hbWUucnBhcnRpdGlvbignLicpWzJdCi0gICAgICAgIGJhc2VfcGF0aCA9IF9wYXRoX2pvaW4oc2VsZi5wYXRoLCB0YWlsX21vZHVsZSkKLSAgICAgICAgaWYgX3BhdGhfaXNkaXIoYmFzZV9wYXRoKSBhbmQgX2Nhc2Vfb2soc2VsZi5wYXRoLCB0YWlsX21vZHVsZSk6Ci0gICAgICAgICAgICBmb3Igc3VmZml4LCBsb2FkZXIgaW4gc2VsZi5wYWNrYWdlczoKLSAgICAgICAgICAgICAgICBpbml0X2ZpbGVuYW1lID0gJ19faW5pdF9fJyArIHN1ZmZpeAotICAgICAgICAgICAgICAgIGZ1bGxfcGF0aCA9IF9wYXRoX2pvaW4oYmFzZV9wYXRoLCBpbml0X2ZpbGVuYW1lKQotICAgICAgICAgICAgICAgIGlmIChfcGF0aF9pc2ZpbGUoZnVsbF9wYXRoKSBhbmQKLSAgICAgICAgICAgICAgICAgICAgICAgIF9jYXNlX29rKGJhc2VfcGF0aCwgaW5pdF9maWxlbmFtZSkpOgotICAgICAgICAgICAgICAgICAgICByZXR1cm4gbG9hZGVyKGZ1bGxuYW1lLCBmdWxsX3BhdGgpCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIG1zZyA9ICJOb3QgaW1wb3J0aW5nIGRpcmVjdG9yeSB7fTogbWlzc2luZyBfX2luaXRfXyIKLSAgICAgICAgICAgICAgICBfd2FybmluZ3Mud2Fybihtc2cuZm9ybWF0KGJhc2VfcGF0aCksIEltcG9ydFdhcm5pbmcpCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIG10aW1lID0gX29zLnN0YXQoc2VsZi5wYXRoKS5zdF9tdGltZQorICAgICAgICBleGNlcHQgT1NFcnJvcjoKKyAgICAgICAgICAgIG10aW1lID0gLTEKKyAgICAgICAgaWYgbXRpbWUgIT0gc2VsZi5fcGF0aF9tdGltZToKKyAgICAgICAgICAgIHNlbGYuX2ZpbGxfY2FjaGUoKQorICAgICAgICAgICAgc2VsZi5fcGF0aF9tdGltZSA9IG10aW1lCisgICAgICAgICMgdGFpbF9tb2R1bGUga2VlcHMgdGhlIG9yaWdpbmFsIGNhc2luZywgZm9yIF9fZmlsZV9fIGFuZCBmcmllbmRzCisgICAgICAgIGlmIF9yZWxheF9jYXNlKCk6CisgICAgICAgICAgICBjYWNoZSA9IHNlbGYuX3JlbGF4ZWRfcGF0aF9jYWNoZQorICAgICAgICAgICAgY2FjaGVfbW9kdWxlID0gdGFpbF9tb2R1bGUubG93ZXIoKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgY2FjaGUgPSBzZWxmLl9wYXRoX2NhY2hlCisgICAgICAgICAgICBjYWNoZV9tb2R1bGUgPSB0YWlsX21vZHVsZQorICAgICAgICBpZiBjYWNoZV9tb2R1bGUgaW4gY2FjaGU6CisgICAgICAgICAgICBiYXNlX3BhdGggPSBfcGF0aF9qb2luKHNlbGYucGF0aCwgdGFpbF9tb2R1bGUpCisgICAgICAgICAgICBpZiBfcGF0aF9pc2RpcihiYXNlX3BhdGgpOgorICAgICAgICAgICAgICAgIGZvciBzdWZmaXgsIGxvYWRlciBpbiBzZWxmLnBhY2thZ2VzOgorICAgICAgICAgICAgICAgICAgICBpbml0X2ZpbGVuYW1lID0gJ19faW5pdF9fJyArIHN1ZmZpeAorICAgICAgICAgICAgICAgICAgICBmdWxsX3BhdGggPSBfcGF0aF9qb2luKGJhc2VfcGF0aCwgaW5pdF9maWxlbmFtZSkKKyAgICAgICAgICAgICAgICAgICAgaWYgX3BhdGhfaXNmaWxlKGZ1bGxfcGF0aCk6CisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbG9hZGVyKGZ1bGxuYW1lLCBmdWxsX3BhdGgpCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgbXNnID0gIk5vdCBpbXBvcnRpbmcgZGlyZWN0b3J5IHt9OiBtaXNzaW5nIF9faW5pdF9fIgorICAgICAgICAgICAgICAgICAgICBfd2FybmluZ3Mud2Fybihtc2cuZm9ybWF0KGJhc2VfcGF0aCksIEltcG9ydFdhcm5pbmcpCiAgICAgICAgIGZvciBzdWZmaXgsIGxvYWRlciBpbiBzZWxmLm1vZHVsZXM6Ci0gICAgICAgICAgICBtb2RfZmlsZW5hbWUgPSB0YWlsX21vZHVsZSArIHN1ZmZpeAotICAgICAgICAgICAgZnVsbF9wYXRoID0gX3BhdGhfam9pbihzZWxmLnBhdGgsIG1vZF9maWxlbmFtZSkKLSAgICAgICAgICAgIGlmIF9wYXRoX2lzZmlsZShmdWxsX3BhdGgpIGFuZCBfY2FzZV9vayhzZWxmLnBhdGgsIG1vZF9maWxlbmFtZSk6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGxvYWRlcihmdWxsbmFtZSwgZnVsbF9wYXRoKQorICAgICAgICAgICAgaWYgY2FjaGVfbW9kdWxlICsgc3VmZml4IGluIGNhY2hlOgorICAgICAgICAgICAgICAgIGZ1bGxfcGF0aCA9IF9wYXRoX2pvaW4oc2VsZi5wYXRoLCB0YWlsX21vZHVsZSArIHN1ZmZpeCkKKyAgICAgICAgICAgICAgICBpZiBfcGF0aF9pc2ZpbGUoZnVsbF9wYXRoKToKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGxvYWRlcihmdWxsbmFtZSwgZnVsbF9wYXRoKQogICAgICAgICByZXR1cm4gTm9uZQogCisgICAgZGVmIF9maWxsX2NhY2hlKHNlbGYpOgorICAgICAgICAiIiJGaWxsIHRoZSBjYWNoZSBvZiBwb3RlbnRpYWwgbW9kdWxlcyBhbmQgcGFja2FnZXMgZm9yIHRoaXMgZGlyZWN0b3J5LiIiIgorICAgICAgICBwYXRoID0gc2VsZi5wYXRoCisgICAgICAgIGNvbnRlbnRzID0gX29zLmxpc3RkaXIocGF0aCkKKyAgICAgICAgIyBXZSBzdG9yZSB0d28gY2FjaGVkIHZlcnNpb25zLCB0byBoYW5kbGUgcnVudGltZSBjaGFuZ2VzIG9mIHRoZQorICAgICAgICAjIFBZVEhPTkNBU0VPSyBlbnZpcm9ubWVudCB2YXJpYWJsZS4KKyAgICAgICAgc2VsZi5fcGF0aF9jYWNoZSA9IHNldChjb250ZW50cykKKyAgICAgICAgc2VsZi5fcmVsYXhlZF9wYXRoX2NhY2hlID0gc2V0KGZuLmxvd2VyKCkgZm9yIGZuIGluIGNvbnRlbnRzKQorCisKIGNsYXNzIF9Tb3VyY2VGaW5kZXJEZXRhaWxzOgogCiAgICAgbG9hZGVyID0gX1NvdXJjZUZpbGVMb2FkZXIKQEAgLTc1Niw0MCArODc1LDEwMCBAQAogICAgICAgICBpbXAucmVsZWFzZV9sb2NrKCkKIAogCi1fSU1QTElDSVRfTUVUQV9QQVRIID0gW0J1aWx0aW5JbXBvcnRlciwgRnJvemVuSW1wb3J0ZXIsIF9EZWZhdWx0UGF0aEZpbmRlcl0KK2RlZiBfcmVzb2x2ZV9uYW1lKG5hbWUsIHBhY2thZ2UsIGxldmVsKToKKyAgICAiIiJSZXNvbHZlIGEgcmVsYXRpdmUgbW9kdWxlIG5hbWUgdG8gYW4gYWJzb2x1dGUgb25lLiIiIgorICAgIGJpdHMgPSBwYWNrYWdlLnJzcGxpdCgnLicsIGxldmVsIC0gMSkKKyAgICBpZiBsZW4oYml0cykgPCBsZXZlbDoKKyAgICAgICAgcmFpc2UgVmFsdWVFcnJvcignYXR0ZW1wdGVkIHJlbGF0aXZlIGltcG9ydCBiZXlvbmQgdG9wLWxldmVsIHBhY2thZ2UnKQorICAgIGJhc2UgPSBiaXRzWzBdCisgICAgcmV0dXJuICd7MH0uezF9Jy5mb3JtYXQoYmFzZSwgbmFtZSkgaWYgbmFtZSBlbHNlIGJhc2UKIAotX0VSUl9NU0cgPSAnTm8gbW9kdWxlIG5hbWVkIHt9JwogCi1kZWYgX2djZF9pbXBvcnQobmFtZSwgcGFja2FnZT1Ob25lLCBsZXZlbD0wKToKLSAgICAiIiJJbXBvcnQgYW5kIHJldHVybiB0aGUgbW9kdWxlIGJhc2VkIG9uIGl0cyBuYW1lLCB0aGUgcGFja2FnZSB0aGUgY2FsbCBpcwotICAgIGJlaW5nIG1hZGUgZnJvbSwgYW5kIHRoZSBsZXZlbCBhZGp1c3RtZW50LgorZGVmIF9maW5kX21vZHVsZShuYW1lLCBwYXRoKToKKyAgICAiIiJGaW5kIGEgbW9kdWxlJ3MgbG9hZGVyLiIiIgorICAgIG1ldGFfcGF0aCA9IHN5cy5tZXRhX3BhdGggKyBfSU1QTElDSVRfTUVUQV9QQVRICisgICAgZm9yIGZpbmRlciBpbiBtZXRhX3BhdGg6CisgICAgICAgIGxvYWRlciA9IGZpbmRlci5maW5kX21vZHVsZShuYW1lLCBwYXRoKQorICAgICAgICBpZiBsb2FkZXIgaXMgbm90IE5vbmU6CisgICAgICAgICAgICAjIFRoZSBwYXJlbnQgaW1wb3J0IG1heSBoYXZlIGFscmVhZHkgaW1wb3J0ZWQgdGhpcyBtb2R1bGUuCisgICAgICAgICAgICBpZiBuYW1lIG5vdCBpbiBzeXMubW9kdWxlczoKKyAgICAgICAgICAgICAgICByZXR1cm4gbG9hZGVyCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHJldHVybiBzeXMubW9kdWxlc1tuYW1lXS5fX2xvYWRlcl9fCisgICAgZWxzZToKKyAgICAgICAgcmV0dXJuIE5vbmUKIAotICAgIFRoaXMgZnVuY3Rpb24gcmVwcmVzZW50cyB0aGUgZ3JlYXRlc3QgY29tbW9uIGRlbm9taW5hdG9yIG9mIGZ1bmN0aW9uYWxpdHkKLSAgICBiZXR3ZWVuIGltcG9ydF9tb2R1bGUgYW5kIF9faW1wb3J0X18uIFRoaXMgaW5jbHVkZXMgc2V0dHRpbmcgX19wYWNrYWdlX18gaWYKLSAgICB0aGUgbG9hZGVyIGRpZCBub3QuCiAKLSAgICAiIiIKK2RlZiBfc2FuaXR5X2NoZWNrKG5hbWUsIHBhY2thZ2UsIGxldmVsKToKKyAgICAiIiJWZXJpZnkgYXJndW1lbnRzIGFyZSAic2FuZSIuIiIiCisgICAgaWYgbm90IGlzaW5zdGFuY2UobmFtZSwgc3RyKToKKyAgICAgICAgcmFpc2UgVHlwZUVycm9yKCJtb2R1bGUgbmFtZSBtdXN0IGJlIHN0ciwgbm90IHt9Ii5mb3JtYXQodHlwZShuYW1lKSkpCisgICAgaWYgbGV2ZWwgPCAwOgorICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCdsZXZlbCBtdXN0IGJlID49IDAnKQogICAgIGlmIHBhY2thZ2U6Ci0gICAgICAgIGlmIG5vdCBoYXNhdHRyKHBhY2thZ2UsICdyaW5kZXgnKToKLSAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIl9fcGFja2FnZV9fIG5vdCBzZXQgdG8gYSBzdHJpbmciKQorICAgICAgICBpZiBub3QgaXNpbnN0YW5jZShwYWNrYWdlLCBzdHIpOgorICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCJfX3BhY2thZ2VfXyBub3Qgc2V0IHRvIGEgc3RyaW5nIikKICAgICAgICAgZWxpZiBwYWNrYWdlIG5vdCBpbiBzeXMubW9kdWxlczoKICAgICAgICAgICAgIG1zZyA9ICgiUGFyZW50IG1vZHVsZSB7MCFyfSBub3QgbG9hZGVkLCBjYW5ub3QgcGVyZm9ybSByZWxhdGl2ZSAiCiAgICAgICAgICAgICAgICAgICAgImltcG9ydCIpCiAgICAgICAgICAgICByYWlzZSBTeXN0ZW1FcnJvcihtc2cuZm9ybWF0KHBhY2thZ2UpKQogICAgIGlmIG5vdCBuYW1lIGFuZCBsZXZlbCA9PSAwOgogICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJFbXB0eSBtb2R1bGUgbmFtZSIpCisKKworX0lNUExJQ0lUX01FVEFfUEFUSCA9IFtCdWlsdGluSW1wb3J0ZXIsIEZyb3plbkltcG9ydGVyLCBfRGVmYXVsdFBhdGhGaW5kZXJdCisKK19FUlJfTVNHID0gJ05vIG1vZHVsZSBuYW1lZCB7IXJ9JworCitkZWYgX2ZpbmRfYW5kX2xvYWQobmFtZSwgaW1wb3J0Xyk6CisgICAgIiIiRmluZCBhbmQgbG9hZCB0aGUgbW9kdWxlLiIiIgorICAgIHBhdGggPSBOb25lCisgICAgcGFyZW50ID0gbmFtZS5ycGFydGl0aW9uKCcuJylbMF0KKyAgICBpZiBwYXJlbnQ6CisgICAgICAgIGlmIHBhcmVudCBub3QgaW4gc3lzLm1vZHVsZXM6CisgICAgICAgICAgICBpbXBvcnRfKHBhcmVudCkKKyAgICAgICAgIyBCYWNrd2FyZHMtY29tcGF0aWJpbGl0eTsgYmUgbmljZXIgdG8gc2tpcCB0aGUgZGljdCBsb29rdXAuCisgICAgICAgIHBhcmVudF9tb2R1bGUgPSBzeXMubW9kdWxlc1twYXJlbnRdCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHBhdGggPSBwYXJlbnRfbW9kdWxlLl9fcGF0aF9fCisgICAgICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKKyAgICAgICAgICAgIG1zZyA9IChfRVJSX01TRyArICc7IHt9IGlzIG5vdCBhIHBhY2thZ2UnKS5mb3JtYXQobmFtZSwgcGFyZW50KQorICAgICAgICAgICAgcmFpc2UgSW1wb3J0RXJyb3IobXNnKQorICAgIGxvYWRlciA9IF9maW5kX21vZHVsZShuYW1lLCBwYXRoKQorICAgIGlmIGxvYWRlciBpcyBOb25lOgorICAgICAgICByYWlzZSBJbXBvcnRFcnJvcihfRVJSX01TRy5mb3JtYXQobmFtZSkpCisgICAgZWxpZiBuYW1lIG5vdCBpbiBzeXMubW9kdWxlczoKKyAgICAgICAgIyBUaGUgcGFyZW50IGltcG9ydCBtYXkgaGF2ZSBhbHJlYWR5IGltcG9ydGVkIHRoaXMgbW9kdWxlLgorICAgICAgICBsb2FkZXIubG9hZF9tb2R1bGUobmFtZSkKKyAgICAjIEJhY2t3YXJkcy1jb21wYXRpYmlsaXR5OyBiZSBuaWNlciB0byBza2lwIHRoZSBkaWN0IGxvb2t1cC4KKyAgICBtb2R1bGUgPSBzeXMubW9kdWxlc1tuYW1lXQorICAgIGlmIHBhcmVudDoKKyAgICAgICAgIyBTZXQgdGhlIG1vZHVsZSBhcyBhbiBhdHRyaWJ1dGUgb24gaXRzIHBhcmVudC4KKyAgICAgICAgcGFyZW50X21vZHVsZSA9IHN5cy5tb2R1bGVzW3BhcmVudF0KKyAgICAgICAgc2V0YXR0cihwYXJlbnRfbW9kdWxlLCBuYW1lLnJwYXJ0aXRpb24oJy4nKVsyXSwgbW9kdWxlKQorICAgICMgU2V0IF9fcGFja2FnZV9fIGlmIHRoZSBsb2FkZXIgZGlkIG5vdC4KKyAgICBpZiBub3QgaGFzYXR0cihtb2R1bGUsICdfX3BhY2thZ2VfXycpIG9yIG1vZHVsZS5fX3BhY2thZ2VfXyBpcyBOb25lOgorICAgICAgICB0cnk6CisgICAgICAgICAgICBtb2R1bGUuX19wYWNrYWdlX18gPSBtb2R1bGUuX19uYW1lX18KKyAgICAgICAgICAgIGlmIG5vdCBoYXNhdHRyKG1vZHVsZSwgJ19fcGF0aF9fJyk6CisgICAgICAgICAgICAgICAgbW9kdWxlLl9fcGFja2FnZV9fID0gbW9kdWxlLl9fcGFja2FnZV9fLnJwYXJ0aXRpb24oJy4nKVswXQorICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6CisgICAgICAgICAgICBwYXNzCisgICAgcmV0dXJuIG1vZHVsZQorCisKK2RlZiBfZ2NkX2ltcG9ydChuYW1lLCBwYWNrYWdlPU5vbmUsIGxldmVsPTApOgorICAgICIiIkltcG9ydCBhbmQgcmV0dXJuIHRoZSBtb2R1bGUgYmFzZWQgb24gaXRzIG5hbWUsIHRoZSBwYWNrYWdlIHRoZSBjYWxsIGlzCisgICAgYmVpbmcgbWFkZSBmcm9tLCBhbmQgdGhlIGxldmVsIGFkanVzdG1lbnQuCisKKyAgICBUaGlzIGZ1bmN0aW9uIHJlcHJlc2VudHMgdGhlIGdyZWF0ZXN0IGNvbW1vbiBkZW5vbWluYXRvciBvZiBmdW5jdGlvbmFsaXR5CisgICAgYmV0d2VlbiBpbXBvcnRfbW9kdWxlIGFuZCBfX2ltcG9ydF9fLiBUaGlzIGluY2x1ZGVzIHNldHRpbmcgX19wYWNrYWdlX18gaWYKKyAgICB0aGUgbG9hZGVyIGRpZCBub3QuCisKKyAgICAiIiIKKyAgICBfc2FuaXR5X2NoZWNrKG5hbWUsIHBhY2thZ2UsIGxldmVsKQogICAgIGlmIGxldmVsID4gMDoKLSAgICAgICAgZG90ID0gbGVuKHBhY2thZ2UpCi0gICAgICAgIGZvciB4IGluIHJhbmdlKGxldmVsLCAxLCAtMSk6Ci0gICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgZG90ID0gcGFja2FnZS5yaW5kZXgoJy4nLCAwLCBkb3QpCi0gICAgICAgICAgICBleGNlcHQgVmFsdWVFcnJvcjoKLSAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJhdHRlbXB0ZWQgcmVsYXRpdmUgaW1wb3J0IGJleW9uZCAiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidG9wLWxldmVsIHBhY2thZ2UiKQotICAgICAgICBpZiBuYW1lOgotICAgICAgICAgICAgbmFtZSA9ICJ7MH0uezF9Ii5mb3JtYXQocGFja2FnZVs6ZG90XSwgbmFtZSkKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIG5hbWUgPSBwYWNrYWdlWzpkb3RdCisgICAgICAgIG5hbWUgPSBfcmVzb2x2ZV9uYW1lKG5hbWUsIHBhY2thZ2UsIGxldmVsKQogICAgIHdpdGggX0ltcG9ydExvY2tDb250ZXh0KCk6CiAgICAgICAgIHRyeToKICAgICAgICAgICAgIG1vZHVsZSA9IHN5cy5tb2R1bGVzW25hbWVdCkBAIC03OTksNDUgKzk3OCw0NiBAQAogICAgICAgICAgICAgICAgIHJhaXNlIEltcG9ydEVycm9yKG1lc3NhZ2UpCiAgICAgICAgICAgICByZXR1cm4gbW9kdWxlCiAgICAgICAgIGV4Y2VwdCBLZXlFcnJvcjoKLSAgICAgICAgICAgIHBhc3MKLSAgICAgICAgcGFyZW50ID0gbmFtZS5ycGFydGl0aW9uKCcuJylbMF0KLSAgICAgICAgcGF0aCA9IE5vbmUKLSAgICAgICAgaWYgcGFyZW50OgotICAgICAgICAgICAgaWYgcGFyZW50IG5vdCBpbiBzeXMubW9kdWxlczoKLSAgICAgICAgICAgICAgICBfZ2NkX2ltcG9ydChwYXJlbnQpCi0gICAgICAgICAgICAjIEJhY2t3YXJkcy1jb21wYXRpYmlsaXR5OyBiZSBuaWNlciB0byBza2lwIHRoZSBkaWN0IGxvb2t1cC4KLSAgICAgICAgICAgIHBhcmVudF9tb2R1bGUgPSBzeXMubW9kdWxlc1twYXJlbnRdCisgICAgICAgICAgICBwYXNzICAjIERvbid0IHdhbnQgdG8gY2hhaW4gdGhlIGV4Y2VwdGlvbgorICAgICAgICByZXR1cm4gX2ZpbmRfYW5kX2xvYWQobmFtZSwgX2djZF9pbXBvcnQpCisKKworZGVmIF9oYW5kbGVfZnJvbWxpc3QobW9kdWxlLCBmcm9tbGlzdCwgaW1wb3J0Xyk6CisgICAgIiIiRmlndXJlIG91dCB3aGF0IF9faW1wb3J0X18gc2hvdWxkIHJldHVybi4KKworICAgIFRoZSBpbXBvcnRfIHBhcmFtZXRlciBpcyBhIGNhbGxhYmxlIHdoaWNoIHRha2VzIHRoZSBuYW1lIG9mIG1vZHVsZSB0bworICAgIGltcG9ydC4gSXQgaXMgcmVxdWlyZWQgdG8gZGVjb3VwbGUgdGhlIGZ1bmN0aW9uIGZyb20gYXNzdW1pbmcgaW1wb3J0bGliJ3MKKyAgICBpbXBvcnQgaW1wbGVtZW50YXRpb24gaXMgZGVzaXJlZC4KKworICAgICIiIgorICAgICMgVGhlIGhlbGwgdGhhdCBpcyBmcm9tbGlzdCAuLi4KKyAgICAjIElmIGEgcGFja2FnZSB3YXMgaW1wb3J0ZWQsIHRyeSB0byBpbXBvcnQgc3R1ZmYgZnJvbSBmcm9tbGlzdC4KKyAgICBpZiBoYXNhdHRyKG1vZHVsZSwgJ19fcGF0aF9fJyk6CisgICAgICAgIGlmICcqJyBpbiBmcm9tbGlzdCBhbmQgaGFzYXR0cihtb2R1bGUsICdfX2FsbF9fJyk6CisgICAgICAgICAgICBmcm9tbGlzdCA9IGxpc3QoZnJvbWxpc3QpCisgICAgICAgICAgICBmcm9tbGlzdC5yZW1vdmUoJyonKQorICAgICAgICAgICAgZnJvbWxpc3QuZXh0ZW5kKG1vZHVsZS5fX2FsbF9fKQorICAgICAgICBmb3IgeCBpbiAoeSBmb3IgeSBpbiBmcm9tbGlzdCBpZiBub3QgaGFzYXR0cihtb2R1bGUsIHkpKToKICAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICBwYXRoID0gcGFyZW50X21vZHVsZS5fX3BhdGhfXwotICAgICAgICAgICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yOgotICAgICAgICAgICAgICAgIG1zZyA9IChfRVJSX01TRyArICc7IHt9IGlzIG5vdCBhIHBhY2thZ2UnKS5mb3JtYXQobmFtZSwgcGFyZW50KQotICAgICAgICAgICAgICAgIHJhaXNlIEltcG9ydEVycm9yKG1zZykKLSAgICAgICAgbWV0YV9wYXRoID0gc3lzLm1ldGFfcGF0aCArIF9JTVBMSUNJVF9NRVRBX1BBVEgKLSAgICAgICAgZm9yIGZpbmRlciBpbiBtZXRhX3BhdGg6Ci0gICAgICAgICAgICBsb2FkZXIgPSBmaW5kZXIuZmluZF9tb2R1bGUobmFtZSwgcGF0aCkKLSAgICAgICAgICAgIGlmIGxvYWRlciBpcyBub3QgTm9uZToKLSAgICAgICAgICAgICAgICAjIFRoZSBwYXJlbnQgaW1wb3J0IG1heSBoYXZlIGFscmVhZHkgaW1wb3J0ZWQgdGhpcyBtb2R1bGUuCi0gICAgICAgICAgICAgICAgaWYgbmFtZSBub3QgaW4gc3lzLm1vZHVsZXM6Ci0gICAgICAgICAgICAgICAgICAgIGxvYWRlci5sb2FkX21vZHVsZShuYW1lKQotICAgICAgICAgICAgICAgIGJyZWFrCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICByYWlzZSBJbXBvcnRFcnJvcihfRVJSX01TRy5mb3JtYXQobmFtZSkpCi0gICAgICAgICMgQmFja3dhcmRzLWNvbXBhdGliaWxpdHk7IGJlIG5pY2VyIHRvIHNraXAgdGhlIGRpY3QgbG9va3VwLgotICAgICAgICBtb2R1bGUgPSBzeXMubW9kdWxlc1tuYW1lXQotICAgICAgICBpZiBwYXJlbnQ6Ci0gICAgICAgICAgICAjIFNldCB0aGUgbW9kdWxlIGFzIGFuIGF0dHJpYnV0ZSBvbiBpdHMgcGFyZW50LgotICAgICAgICAgICAgc2V0YXR0cihwYXJlbnRfbW9kdWxlLCBuYW1lLnJwYXJ0aXRpb24oJy4nKVsyXSwgbW9kdWxlKQotICAgICAgICAjIFNldCBfX3BhY2thZ2VfXyBpZiB0aGUgbG9hZGVyIGRpZCBub3QuCi0gICAgICAgIGlmIG5vdCBoYXNhdHRyKG1vZHVsZSwgJ19fcGFja2FnZV9fJykgb3IgbW9kdWxlLl9fcGFja2FnZV9fIGlzIE5vbmU6Ci0gICAgICAgICAgICAjIFdhdGNoIG91dCBmb3Igd2hhdCBjb21lcyBvdXQgb2Ygc3lzLm1vZHVsZXMgdG8gbm90IGJlIGEgbW9kdWxlLAotICAgICAgICAgICAgIyBlLmcuIGFuIGludC4KLSAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICBtb2R1bGUuX19wYWNrYWdlX18gPSBtb2R1bGUuX19uYW1lX18KLSAgICAgICAgICAgICAgICBpZiBub3QgaGFzYXR0cihtb2R1bGUsICdfX3BhdGhfXycpOgotICAgICAgICAgICAgICAgICAgICBtb2R1bGUuX19wYWNrYWdlX18gPSBtb2R1bGUuX19wYWNrYWdlX18ucnBhcnRpdGlvbignLicpWzBdCi0gICAgICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6CisgICAgICAgICAgICAgICAgaW1wb3J0XygnezB9LnsxfScuZm9ybWF0KG1vZHVsZS5fX25hbWVfXywgeCkpCisgICAgICAgICAgICBleGNlcHQgSW1wb3J0RXJyb3I6CiAgICAgICAgICAgICAgICAgcGFzcwotICAgICAgICByZXR1cm4gbW9kdWxlCisgICAgcmV0dXJuIG1vZHVsZQorCisKK2RlZiBfY2FsY19fX3BhY2thZ2VfXyhnbG9iYWxzKToKKyAgICAiIiJDYWxjdWxhdGUgd2hhdCBfX3BhY2thZ2VfXyBzaG91bGQgYmUuCisKKyAgICBfX3BhY2thZ2VfXyBpcyBub3QgZ3VhcmFudGVlZCB0byBiZSBkZWZpbmVkIG9yIGNvdWxkIGJlIHNldCB0byBOb25lCisgICAgdG8gcmVwcmVzZW50IHRoYXQgaXRzIHByb3BlciB2YWx1ZSBpcyB1bmtub3duLgorCisgICAgIiIiCisgICAgcGFja2FnZSA9IGdsb2JhbHMuZ2V0KCdfX3BhY2thZ2VfXycpCisgICAgaWYgcGFja2FnZSBpcyBOb25lOgorICAgICAgICBwYWNrYWdlID0gZ2xvYmFsc1snX19uYW1lX18nXQorICAgICAgICBpZiAnX19wYXRoX18nIG5vdCBpbiBnbG9iYWxzOgorICAgICAgICAgICAgcGFja2FnZSA9IHBhY2thZ2UucnBhcnRpdGlvbignLicpWzBdCisgICAgcmV0dXJuIHBhY2thZ2UKIAogCiBkZWYgX19pbXBvcnRfXyhuYW1lLCBnbG9iYWxzPXt9LCBsb2NhbHM9e30sIGZyb21saXN0PVtdLCBsZXZlbD0wKToKQEAgLTg1MSwyMCArMTAzMSwxMSBAQAogICAgIGltcG9ydCAoZS5nLiBgYGZyb20gLi5wa2cgaW1wb3J0IG1vZGBgIHdvdWxkIGhhdmUgYSAnbGV2ZWwnIG9mIDIpLgogCiAgICAgIiIiCi0gICAgaWYgbm90IGhhc2F0dHIobmFtZSwgJ3JwYXJ0aXRpb24nKToKLSAgICAgICAgcmFpc2UgVHlwZUVycm9yKCJtb2R1bGUgbmFtZSBtdXN0IGJlIHN0ciwgbm90IHt9Ii5mb3JtYXQodHlwZShuYW1lKSkpCiAgICAgaWYgbGV2ZWwgPT0gMDoKICAgICAgICAgbW9kdWxlID0gX2djZF9pbXBvcnQobmFtZSkKICAgICBlbHNlOgotICAgICAgICAjIF9fcGFja2FnZV9fIGlzIG5vdCBndWFyYW50ZWVkIHRvIGJlIGRlZmluZWQgb3IgY291bGQgYmUgc2V0IHRvIE5vbmUKLSAgICAgICAgIyB0byByZXByZXNlbnQgdGhhdCBpdCdzIHByb3BlciB2YWx1ZSBpcyB1bmtub3duCi0gICAgICAgIHBhY2thZ2UgPSBnbG9iYWxzLmdldCgnX19wYWNrYWdlX18nKQotICAgICAgICBpZiBwYWNrYWdlIGlzIE5vbmU6Ci0gICAgICAgICAgICBwYWNrYWdlID0gZ2xvYmFsc1snX19uYW1lX18nXQotICAgICAgICAgICAgaWYgJ19fcGF0aF9fJyBub3QgaW4gZ2xvYmFsczoKLSAgICAgICAgICAgICAgICBwYWNrYWdlID0gcGFja2FnZS5ycGFydGl0aW9uKCcuJylbMF0KKyAgICAgICAgcGFja2FnZSA9IF9jYWxjX19fcGFja2FnZV9fKGdsb2JhbHMpCiAgICAgICAgIG1vZHVsZSA9IF9nY2RfaW1wb3J0KG5hbWUsIHBhY2thZ2UsIGxldmVsKQotICAgICMgVGhlIGhlbGwgdGhhdCBpcyBmcm9tbGlzdCAuLi4KICAgICBpZiBub3QgZnJvbWxpc3Q6CiAgICAgICAgICMgUmV0dXJuIHVwIHRvIHRoZSBmaXJzdCBkb3QgaW4gJ25hbWUnLiBUaGlzIGlzIGNvbXBsaWNhdGVkIGJ5IHRoZSBmYWN0CiAgICAgICAgICMgdGhhdCAnbmFtZScgbWF5IGJlIHJlbGF0aXZlLgpAQCAtODc2LDE1ICsxMDQ3LDYyIEBACiAgICAgICAgICAgICBjdXRfb2ZmID0gbGVuKG5hbWUpIC0gbGVuKG5hbWUucGFydGl0aW9uKCcuJylbMF0pCiAgICAgICAgICAgICByZXR1cm4gc3lzLm1vZHVsZXNbbW9kdWxlLl9fbmFtZV9fWzotY3V0X29mZl1dCiAgICAgZWxzZToKLSAgICAgICAgIyBJZiBhIHBhY2thZ2Ugd2FzIGltcG9ydGVkLCB0cnkgdG8gaW1wb3J0IHN0dWZmIGZyb20gZnJvbWxpc3QuCi0gICAgICAgIGlmIGhhc2F0dHIobW9kdWxlLCAnX19wYXRoX18nKToKLSAgICAgICAgICAgIGlmICcqJyBpbiBmcm9tbGlzdCBhbmQgaGFzYXR0cihtb2R1bGUsICdfX2FsbF9fJyk6Ci0gICAgICAgICAgICAgICAgZnJvbWxpc3QgPSBsaXN0KGZyb21saXN0KQotICAgICAgICAgICAgICAgIGZyb21saXN0LnJlbW92ZSgnKicpCi0gICAgICAgICAgICAgICAgZnJvbWxpc3QuZXh0ZW5kKG1vZHVsZS5fX2FsbF9fKQotICAgICAgICAgICAgZm9yIHggaW4gKHkgZm9yIHkgaW4gZnJvbWxpc3QgaWYgbm90IGhhc2F0dHIobW9kdWxlLHkpKToKLSAgICAgICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgICAgIF9nY2RfaW1wb3J0KCd7MH0uezF9Jy5mb3JtYXQobW9kdWxlLl9fbmFtZV9fLCB4KSkKLSAgICAgICAgICAgICAgICBleGNlcHQgSW1wb3J0RXJyb3I6Ci0gICAgICAgICAgICAgICAgICAgIHBhc3MKLSAgICAgICAgcmV0dXJuIG1vZHVsZQorICAgICAgICByZXR1cm4gX2hhbmRsZV9mcm9tbGlzdChtb2R1bGUsIGZyb21saXN0LCBfZ2NkX2ltcG9ydCkKKworCitkZWYgX3NldHVwKHN5c19tb2R1bGUsIGltcF9tb2R1bGUpOgorICAgICIiIlNldHVwIGltcG9ydGxpYiBieSBpbXBvcnRpbmcgbmVlZGVkIGJ1aWx0LWluIG1vZHVsZXMgYW5kIGluamVjdGluZyB0aGVtCisgICAgaW50byB0aGUgZ2xvYmFsIG5hbWVzcGFjZS4KKworICAgIEFzIHN5cyBpcyBuZWVkZWQgZm9yIHN5cy5tb2R1bGVzIGFjY2VzcyBhbmQgaW1wIGlzIG5lZWRlZCB0byBsb2FkIGJ1aWx0LWluCisgICAgbW9kdWxlcywgdGhvc2UgdHdvIG1vZHVsZXMgbXVzdCBiZSBleHBsaWNpdGx5IHBhc3NlZCBpbi4KKworICAgICIiIgorICAgIGdsb2JhbCBpbXAsIHN5cworICAgIGltcCA9IGltcF9tb2R1bGUKKyAgICBzeXMgPSBzeXNfbW9kdWxlCisKKyAgICBmb3IgbW9kdWxlIGluIChpbXAsIHN5cyk6CisgICAgICAgIGlmIG5vdCBoYXNhdHRyKG1vZHVsZSwgJ19fbG9hZGVyX18nKToKKyAgICAgICAgICAgIG1vZHVsZS5fX2xvYWRlcl9fID0gQnVpbHRpbkltcG9ydGVyCisKKyAgICBzZWxmX21vZHVsZSA9IHN5cy5tb2R1bGVzW19fbmFtZV9fXQorICAgIGZvciBidWlsdGluX25hbWUgaW4gKCdfaW8nLCAnX3dhcm5pbmdzJywgJ2J1aWx0aW5zJywgJ21hcnNoYWwnKToKKyAgICAgICAgaWYgYnVpbHRpbl9uYW1lIG5vdCBpbiBzeXMubW9kdWxlczoKKyAgICAgICAgICAgIGJ1aWx0aW5fbW9kdWxlID0gQnVpbHRpbkltcG9ydGVyLmxvYWRfbW9kdWxlKGJ1aWx0aW5fbmFtZSkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGJ1aWx0aW5fbW9kdWxlID0gc3lzLm1vZHVsZXNbYnVpbHRpbl9uYW1lXQorICAgICAgICBzZXRhdHRyKHNlbGZfbW9kdWxlLCBidWlsdGluX25hbWUsIGJ1aWx0aW5fbW9kdWxlKQorCisgICAgZm9yIGJ1aWx0aW5fb3MsIHBhdGhfc2VwIGluIFsoJ3Bvc2l4JywgJy8nKSwgKCdudCcsICdcXCcpLCAoJ29zMicsICdcXCcpXToKKyAgICAgICAgaWYgYnVpbHRpbl9vcyBpbiBzeXMubW9kdWxlczoKKyAgICAgICAgICAgIG9zX21vZHVsZSA9IHN5cy5tb2R1bGVzW2J1aWx0aW5fb3NdCisgICAgICAgICAgICBicmVhaworICAgICAgICBlbHNlOgorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIG9zX21vZHVsZSA9IEJ1aWx0aW5JbXBvcnRlci5sb2FkX21vZHVsZShidWlsdGluX29zKQorICAgICAgICAgICAgICAgICMgVE9ETzogcmlwIG91dCBvczIgY29kZSBhZnRlciAzLjMgaXMgcmVsZWFzZWQgYXMgcGVyIFBFUCAxMQorICAgICAgICAgICAgICAgIGlmIGJ1aWx0aW5fb3MgPT0gJ29zMicgYW5kICdFTVggR0NDJyBpbiBzeXMudmVyc2lvbjoKKyAgICAgICAgICAgICAgICAgICAgcGF0aF9zZXAgPSAnLycKKyAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAgZXhjZXB0IEltcG9ydEVycm9yOgorICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgZWxzZToKKyAgICAgICAgcmFpc2UgSW1wb3J0RXJyb3IoJ2ltcG9ydGxpYiByZXF1aXJlcyBwb3NpeCBvciBudCcpCisgICAgc2V0YXR0cihzZWxmX21vZHVsZSwgJ19vcycsIG9zX21vZHVsZSkKKyAgICBzZXRhdHRyKHNlbGZfbW9kdWxlLCAncGF0aF9zZXAnLCBwYXRoX3NlcCkKKyAgICAjIENvbnN0YW50cworICAgIHNldGF0dHIoc2VsZl9tb2R1bGUsICdfcmVsYXhfY2FzZScsIF9tYWtlX3JlbGF4X2Nhc2UoKSkKKworCitkZWYgX2luc3RhbGwoc3lzX21vZHVsZSwgaW1wX21vZHVsZSk6CisgICAgIiIiSW5zdGFsbCBpbXBvcnRsaWIgYXMgdGhlIGltcGxlbWVudGF0aW9uIG9mIGltcG9ydC4KKworICAgIEl0IGlzIGFzc3VtZWQgdGhhdCBpbXAgYW5kIHN5cyBoYXZlIGJlZW4gaW1wb3J0ZWQgYW5kIGluamVjdGVkIGludG8gdGhlCisgICAgZ2xvYmFsIG5hbWVzcGFjZSBmb3IgdGhlIG1vZHVsZSBwcmlvciB0byBjYWxsaW5nIHRoaXMgZnVuY3Rpb24uCisKKyAgICAiIiIKKyAgICBfc2V0dXAoc3lzX21vZHVsZSwgaW1wX21vZHVsZSkKKyAgICBvcmlnX2ltcG9ydCA9IGJ1aWx0aW5zLl9faW1wb3J0X18KKyAgICBidWlsdGlucy5fX2ltcG9ydF9fID0gX19pbXBvcnRfXworICAgIGJ1aWx0aW5zLl9fb3JpZ2luYWxfaW1wb3J0X18gPSBvcmlnX2ltcG9ydApkaWZmIC0tZ2l0IGEvTGliL2ltcG9ydGxpYi9hYmMucHkgYi9MaWIvaW1wb3J0bGliL2FiYy5weQppbmRleCBmYTM0M2Y4Li4yMmE3YzFhIDEwMDY0NAotLS0gYS9MaWIvaW1wb3J0bGliL2FiYy5weQorKysgYi9MaWIvaW1wb3J0bGliL2FiYy5weQpAQCAtMSwxNSArMSwxMSBAQAogIiIiQWJzdHJhY3QgYmFzZSBjbGFzc2VzIHJlbGF0ZWQgdG8gaW1wb3J0LiIiIgogZnJvbSAuIGltcG9ydCBfYm9vdHN0cmFwCiBmcm9tIC4gaW1wb3J0IG1hY2hpbmVyeQotZnJvbSAuIGltcG9ydCB1dGlsCiBpbXBvcnQgYWJjCiBpbXBvcnQgaW1wCi1pbXBvcnQgaW8KIGltcG9ydCBtYXJzaGFsCi1pbXBvcnQgb3MucGF0aAogaW1wb3J0IHN5cwogaW1wb3J0IHRva2VuaXplCi1pbXBvcnQgdHlwZXMKIGltcG9ydCB3YXJuaW5ncwogCiAKQEAgLTEyMyw3ICsxMTksMjAgQEAKIAogICAgIGRlZiBwYXRoX210aW1lKHNlbGYsIHBhdGgpOgogICAgICAgICAiIiJSZXR1cm4gdGhlIChpbnQpIG1vZGlmaWNhdGlvbiB0aW1lIGZvciB0aGUgcGF0aCAoc3RyKS4iIiIKLSAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcgorICAgICAgICBpZiBzZWxmLnBhdGhfc3RhdHMuX19mdW5jX18gaXMgU291cmNlTG9hZGVyLnBhdGhfc3RhdHM6CisgICAgICAgICAgICByYWlzZSBOb3RJbXBsZW1lbnRlZEVycm9yCisgICAgICAgIHJldHVybiBpbnQoc2VsZi5wYXRoX3N0YXRzKHBhdGgpWydtdGltZSddKQorCisgICAgZGVmIHBhdGhfc3RhdHMoc2VsZiwgcGF0aCk6CisgICAgICAgICIiIlJldHVybiBhIG1ldGFkYXRhIGRpY3QgZm9yIHRoZSBzb3VyY2UgcG9pbnRlZCB0byBieSB0aGUgcGF0aCAoc3RyKS4KKyAgICAgICAgUG9zc2libGUga2V5czoKKyAgICAgICAgLSAnbXRpbWUnIChtYW5kYXRvcnkpIGlzIHRoZSBudW1lcmljIHRpbWVzdGFtcCBvZiBsYXN0IHNvdXJjZQorICAgICAgICAgIGNvZGUgbW9kaWZpY2F0aW9uOworICAgICAgICAtICdzaXplJyAob3B0aW9uYWwpIGlzIHRoZSBzaXplIGluIGJ5dGVzIG9mIHRoZSBzb3VyY2UgY29kZS4KKyAgICAgICAgIiIiCisgICAgICAgIGlmIHNlbGYucGF0aF9tdGltZS5fX2Z1bmNfXyBpcyBTb3VyY2VMb2FkZXIucGF0aF9tdGltZToKKyAgICAgICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IKKyAgICAgICAgcmV0dXJuIHsnbXRpbWUnOiBzZWxmLnBhdGhfbXRpbWUocGF0aCl9CiAKICAgICBkZWYgc2V0X2RhdGEoc2VsZiwgcGF0aCwgZGF0YSk6CiAgICAgICAgICIiIldyaXRlIHRoZSBieXRlcyB0byB0aGUgcGF0aCAoaWYgcG9zc2libGUpLgpAQCAtMTk1LDcgKzIwNCw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzZSBTb3VyY2VMb2FkZXIgaW5zdGVhZC4gIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICJTZWUgdGhlIGltcG9ydGxpYiBkb2N1bWVudGF0aW9uIG9uIGhvdyB0byBiZSAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvbXBhdGlibGUgd2l0aCBQeXRob24gMy4xIG9ud2FyZHMuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgIFBlbmRpbmdEZXByZWNhdGlvbldhcm5pbmcpCisgICAgICAgICAgICAgICAgICAgICAgICBEZXByZWNhdGlvbldhcm5pbmcpCiAgICAgICAgIHBhdGggPSBzZWxmLnNvdXJjZV9wYXRoKGZ1bGxuYW1lKQogICAgICAgICBpZiBwYXRoIGlzIE5vbmU6CiAgICAgICAgICAgICByYWlzZSBJbXBvcnRFcnJvcgpAQCAtMjM0LDcgKzI0Myw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlbW92YWwgaW4gUHl0aG9uIDMuNDsgdXNlIFNvdXJjZUxvYWRlciBpbnN0ZWFkLiAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIklmIFB5dGhvbiAzLjEgY29tcGF0aWJpbGl0eSBpcyByZXF1aXJlZCwgc2VlIHRoZSAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxhdGVzdCBkb2N1bWVudGF0aW9uIGZvciBQeUxvYWRlci4iLAotICAgICAgICAgICAgICAgICAgICAgICAgUGVuZGluZ0RlcHJlY2F0aW9uV2FybmluZykKKyAgICAgICAgICAgICAgICAgICAgICAgIERlcHJlY2F0aW9uV2FybmluZykKICAgICAgICAgc291cmNlX3RpbWVzdGFtcCA9IHNlbGYuc291cmNlX210aW1lKGZ1bGxuYW1lKQogICAgICAgICAjIFRyeSB0byB1c2UgYnl0ZWNvZGUgaWYgaXQgaXMgYXZhaWxhYmxlLgogICAgICAgICBieXRlY29kZV9wYXRoID0gc2VsZi5ieXRlY29kZV9wYXRoKGZ1bGxuYW1lKQpAQCAtMjQzLDE1ICsyNTIsMTcgQEAKICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICBtYWdpYyA9IGRhdGFbOjRdCiAgICAgICAgICAgICAgICAgaWYgbGVuKG1hZ2ljKSA8IDQ6Ci0gICAgICAgICAgICAgICAgICAgIHJhaXNlIEltcG9ydEVycm9yKCJiYWQgbWFnaWMgbnVtYmVyIGluIHt9Ii5mb3JtYXQoZnVsbG5hbWUpKQorICAgICAgICAgICAgICAgICAgICByYWlzZSBJbXBvcnRFcnJvcigKKyAgICAgICAgICAgICAgICAgICAgICAgICJiYWQgbWFnaWMgbnVtYmVyIGluIHt9Ii5mb3JtYXQoZnVsbG5hbWUpKQogICAgICAgICAgICAgICAgIHJhd190aW1lc3RhbXAgPSBkYXRhWzQ6OF0KICAgICAgICAgICAgICAgICBpZiBsZW4ocmF3X3RpbWVzdGFtcCkgPCA0OgogICAgICAgICAgICAgICAgICAgICByYWlzZSBFT0ZFcnJvcigiYmFkIHRpbWVzdGFtcCBpbiB7fSIuZm9ybWF0KGZ1bGxuYW1lKSkKLSAgICAgICAgICAgICAgICBweWNfdGltZXN0YW1wID0gbWFyc2hhbC5fcl9sb25nKHJhd190aW1lc3RhbXApCisgICAgICAgICAgICAgICAgcHljX3RpbWVzdGFtcCA9IF9ib290c3RyYXAuX3JfbG9uZyhyYXdfdGltZXN0YW1wKQogICAgICAgICAgICAgICAgIGJ5dGVjb2RlID0gZGF0YVs4Ol0KICAgICAgICAgICAgICAgICAjIFZlcmlmeSB0aGF0IHRoZSBtYWdpYyBudW1iZXIgaXMgdmFsaWQuCiAgICAgICAgICAgICAgICAgaWYgaW1wLmdldF9tYWdpYygpICE9IG1hZ2ljOgotICAgICAgICAgICAgICAgICAgICByYWlzZSBJbXBvcnRFcnJvcigiYmFkIG1hZ2ljIG51bWJlciBpbiB7fSIuZm9ybWF0KGZ1bGxuYW1lKSkKKyAgICAgICAgICAgICAgICAgICAgcmFpc2UgSW1wb3J0RXJyb3IoCisgICAgICAgICAgICAgICAgICAgICAgICAiYmFkIG1hZ2ljIG51bWJlciBpbiB7fSIuZm9ybWF0KGZ1bGxuYW1lKSkKICAgICAgICAgICAgICAgICAjIFZlcmlmeSB0aGF0IHRoZSBieXRlY29kZSBpcyBub3Qgc3RhbGUgKG9ubHkgbWF0dGVycyB3aGVuCiAgICAgICAgICAgICAgICAgIyB0aGVyZSBpcyBzb3VyY2UgdG8gZmFsbCBiYWNrIG9uLgogICAgICAgICAgICAgICAgIGlmIHNvdXJjZV90aW1lc3RhbXA6CkBAIC0yNzksNyArMjkwLDcgQEAKICAgICAgICAgIyBHZW5lcmF0ZSBieXRlY29kZSBhbmQgd3JpdGUgaXQgb3V0LgogICAgICAgICBpZiBub3Qgc3lzLmRvbnRfd3JpdGVfYnl0ZWNvZGU6CiAgICAgICAgICAgICBkYXRhID0gYnl0ZWFycmF5KGltcC5nZXRfbWFnaWMoKSkKLSAgICAgICAgICAgIGRhdGEuZXh0ZW5kKG1hcnNoYWwuX3dfbG9uZyhzb3VyY2VfdGltZXN0YW1wKSkKKyAgICAgICAgICAgIGRhdGEuZXh0ZW5kKF9ib290c3RyYXAuX3dfbG9uZyhzb3VyY2VfdGltZXN0YW1wKSkKICAgICAgICAgICAgIGRhdGEuZXh0ZW5kKG1hcnNoYWwuZHVtcHMoY29kZV9vYmplY3QpKQogICAgICAgICAgICAgc2VsZi53cml0ZV9ieXRlY29kZShmdWxsbmFtZSwgZGF0YSkKICAgICAgICAgcmV0dXJuIGNvZGVfb2JqZWN0CmRpZmYgLS1naXQgYS9MaWIvaW1wb3J0bGliL3Rlc3QvX19tYWluX18ucHkgYi9MaWIvaW1wb3J0bGliL3Rlc3QvX19tYWluX18ucHkKaW5kZXggZGVjYzUzZC4uOTIxNzFiMiAxMDA2NDQKLS0tIGEvTGliL2ltcG9ydGxpYi90ZXN0L19fbWFpbl9fLnB5CisrKyBiL0xpYi9pbXBvcnRsaWIvdGVzdC9fX21haW5fXy5weQpAQCAtNCwyNiArNCwyNyBAQAogYnVpbHRpbnMuX19pbXBvcnRfXyBpbnN0ZWFkIG9mIGltcG9ydGxpYi5fX2ltcG9ydF9fLgogCiAiIiIKLWltcG9ydCBpbXBvcnRsaWIKIGZyb20gaW1wb3J0bGliLnRlc3QuaW1wb3J0XyBpbXBvcnQgdXRpbAogaW1wb3J0IG9zLnBhdGgKIGZyb20gdGVzdC5zdXBwb3J0IGltcG9ydCBydW5fdW5pdHRlc3QKLWltcG9ydCBzeXMKIGltcG9ydCB1bml0dGVzdAogCiAKIGRlZiB0ZXN0X21haW4oKToKLSAgICBpZiAnX19weWNhY2hlX18nIGluIF9fZmlsZV9fOgotICAgICAgICBwYXJ0cyA9IF9fZmlsZV9fLnNwbGl0KG9zLnBhdGguc2VwKQotICAgICAgICBzdGFydF9kaXIgPSBzZXAuam9pbihwYXJ0c1s6LTJdKQotICAgIGVsc2U6Ci0gICAgICAgIHN0YXJ0X2RpciA9IG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXykKKyAgICBzdGFydF9kaXIgPSBvcy5wYXRoLmRpcm5hbWUoX19maWxlX18pCiAgICAgdG9wX2RpciA9IG9zLnBhdGguZGlybmFtZShvcy5wYXRoLmRpcm5hbWUoc3RhcnRfZGlyKSkKICAgICB0ZXN0X2xvYWRlciA9IHVuaXR0ZXN0LlRlc3RMb2FkZXIoKQotICAgIGlmICctLWJ1aWx0aW4nIGluIHN5cy5hcmd2OgotICAgICAgICB1dGlsLnVzaW5nX19faW1wb3J0X18gPSBUcnVlCiAgICAgcnVuX3VuaXR0ZXN0KHRlc3RfbG9hZGVyLmRpc2NvdmVyKHN0YXJ0X2RpciwgdG9wX2xldmVsX2Rpcj10b3BfZGlyKSkKIAogCiBpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgorICAgIGltcG9ydCBhcmdwYXJzZQorCisgICAgcGFyc2VyID0gYXJncGFyc2UuQXJndW1lbnRQYXJzZXIoZGVzY3JpcHRpb249J0V4ZWN1dGUgdGhlIGltcG9ydGxpYiB0ZXN0ICcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3N1aXRlJykKKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctYicsICctLWJ1aWx0aW4nLCBhY3Rpb249J3N0b3JlX3RydWUnLCBkZWZhdWx0PUZhbHNlLAorICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0ndXNlIGJ1aWx0aW5zLl9faW1wb3J0X18oKSBpbnN0ZWFkIG9mIGltcG9ydGxpYicpCisgICAgYXJncyA9IHBhcnNlci5wYXJzZV9hcmdzKCkKKyAgICBpZiBhcmdzLmJ1aWx0aW46CisgICAgICAgIHV0aWwudXNpbmdfX19pbXBvcnRfXyA9IFRydWUKICAgICB0ZXN0X21haW4oKQpkaWZmIC0tZ2l0IGEvTGliL2ltcG9ydGxpYi90ZXN0L2JlbmNobWFyay5weSBiL0xpYi9pbXBvcnRsaWIvdGVzdC9iZW5jaG1hcmsucHkKaW5kZXggYjVkZTZjNi4uODdiMTc3NSAxMDA2NDQKLS0tIGEvTGliL2ltcG9ydGxpYi90ZXN0L2JlbmNobWFyay5weQorKysgYi9MaWIvaW1wb3J0bGliL3Rlc3QvYmVuY2htYXJrLnB5CkBAIC05LDkgKzksMTEgQEAKIGltcG9ydCBkZWNpbWFsCiBpbXBvcnQgaW1wCiBpbXBvcnQgaW1wb3J0bGliCitpbXBvcnQganNvbgogaW1wb3J0IG9zCiBpbXBvcnQgcHlfY29tcGlsZQogaW1wb3J0IHN5cworaW1wb3J0IHRhYm5hbm55CiBpbXBvcnQgdGltZWl0CiAKIApAQCAtNTksNyArNjEsNyBAQAogCiAKIGRlZiBzb3VyY2Vfd29fYnl0ZWNvZGUoc2Vjb25kcywgcmVwZWF0KToKLSAgICAiIiJTb3VyY2Ugdy9vIGJ5dGVjb2RlOiBzaW1wbGUiIiIKKyAgICAiIiJTb3VyY2Ugdy9vIGJ5dGVjb2RlOiBzbWFsbCIiIgogICAgIHN5cy5kb250X3dyaXRlX2J5dGVjb2RlID0gVHJ1ZQogICAgIHRyeToKICAgICAgICAgbmFtZSA9ICdfX2ltcG9ydGxpYl90ZXN0X2JlbmNobWFya19fJwpAQCAtNzMsMjMgKzc1LDMwIEBACiAgICAgICAgIHN5cy5kb250X3dyaXRlX2J5dGVjb2RlID0gRmFsc2UKIAogCi1kZWYgZGVjaW1hbF93b19ieXRlY29kZShzZWNvbmRzLCByZXBlYXQpOgotICAgICIiIlNvdXJjZSB3L28gYnl0ZWNvZGU6IGRlY2ltYWwiIiIKLSAgICBuYW1lID0gJ2RlY2ltYWwnCi0gICAgZGVjaW1hbF9ieXRlY29kZSA9IGltcC5jYWNoZV9mcm9tX3NvdXJjZShkZWNpbWFsLl9fZmlsZV9fKQotICAgIGlmIG9zLnBhdGguZXhpc3RzKGRlY2ltYWxfYnl0ZWNvZGUpOgotICAgICAgICBvcy51bmxpbmsoZGVjaW1hbF9ieXRlY29kZSkKLSAgICBzeXMuZG9udF93cml0ZV9ieXRlY29kZSA9IFRydWUKLSAgICB0cnk6Ci0gICAgICAgIGZvciByZXN1bHQgaW4gYmVuY2gobmFtZSwgbGFtYmRhOiBzeXMubW9kdWxlcy5wb3AobmFtZSksIHJlcGVhdD1yZXBlYXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Vjb25kcz1zZWNvbmRzKToKLSAgICAgICAgICAgIHlpZWxkIHJlc3VsdAotICAgIGZpbmFsbHk6Ci0gICAgICAgIHN5cy5kb250X3dyaXRlX2J5dGVjb2RlID0gRmFsc2UKK2RlZiBfd29fYnl0ZWNvZGUobW9kdWxlKToKKyAgICBuYW1lID0gbW9kdWxlLl9fbmFtZV9fCisgICAgZGVmIGJlbmNobWFya193b19ieXRlY29kZShzZWNvbmRzLCByZXBlYXQpOgorICAgICAgICAiIiJTb3VyY2Ugdy9vIGJ5dGVjb2RlOiB7fSIiIgorICAgICAgICBieXRlY29kZV9wYXRoID0gaW1wLmNhY2hlX2Zyb21fc291cmNlKG1vZHVsZS5fX2ZpbGVfXykKKyAgICAgICAgaWYgb3MucGF0aC5leGlzdHMoYnl0ZWNvZGVfcGF0aCk6CisgICAgICAgICAgICBvcy51bmxpbmsoYnl0ZWNvZGVfcGF0aCkKKyAgICAgICAgc3lzLmRvbnRfd3JpdGVfYnl0ZWNvZGUgPSBUcnVlCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIGZvciByZXN1bHQgaW4gYmVuY2gobmFtZSwgbGFtYmRhOiBzeXMubW9kdWxlcy5wb3AobmFtZSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcGVhdD1yZXBlYXQsIHNlY29uZHM9c2Vjb25kcyk6CisgICAgICAgICAgICAgICAgeWllbGQgcmVzdWx0CisgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICBzeXMuZG9udF93cml0ZV9ieXRlY29kZSA9IEZhbHNlCisKKyAgICBiZW5jaG1hcmtfd29fYnl0ZWNvZGUuX19kb2NfXyA9IGJlbmNobWFya193b19ieXRlY29kZS5fX2RvY19fLmZvcm1hdChuYW1lKQorICAgIHJldHVybiBiZW5jaG1hcmtfd29fYnl0ZWNvZGUKKwordGFibmFubnlfd29fYnl0ZWNvZGUgPSBfd29fYnl0ZWNvZGUodGFibmFubnkpCitkZWNpbWFsX3dvX2J5dGVjb2RlID0gX3dvX2J5dGVjb2RlKGRlY2ltYWwpCiAKIAogZGVmIHNvdXJjZV93cml0aW5nX2J5dGVjb2RlKHNlY29uZHMsIHJlcGVhdCk6Ci0gICAgIiIiU291cmNlIHdyaXRpbmcgYnl0ZWNvZGU6IHNpbXBsZSIiIgorICAgICIiIlNvdXJjZSB3cml0aW5nIGJ5dGVjb2RlOiBzbWFsbCIiIgogICAgIGFzc2VydCBub3Qgc3lzLmRvbnRfd3JpdGVfYnl0ZWNvZGUKICAgICBuYW1lID0gJ19faW1wb3J0bGliX3Rlc3RfYmVuY2htYXJrX18nCiAgICAgd2l0aCBzb3VyY2VfdXRpbC5jcmVhdGVfbW9kdWxlcyhuYW1lKSBhcyBtYXBwaW5nOgpAQCAtMTAxLDE5ICsxMTAsMjcgQEAKICAgICAgICAgICAgIHlpZWxkIHJlc3VsdAogCiAKLWRlZiBkZWNpbWFsX3dyaXRpbmdfYnl0ZWNvZGUoc2Vjb25kcywgcmVwZWF0KToKLSAgICAiIiJTb3VyY2Ugd3JpdGluZyBieXRlY29kZTogZGVjaW1hbCIiIgotICAgIGFzc2VydCBub3Qgc3lzLmRvbnRfd3JpdGVfYnl0ZWNvZGUKLSAgICBuYW1lID0gJ2RlY2ltYWwnCi0gICAgZGVmIGNsZWFudXAoKToKLSAgICAgICAgc3lzLm1vZHVsZXMucG9wKG5hbWUpCi0gICAgICAgIG9zLnVubGluayhpbXAuY2FjaGVfZnJvbV9zb3VyY2UoZGVjaW1hbC5fX2ZpbGVfXykpCi0gICAgZm9yIHJlc3VsdCBpbiBiZW5jaChuYW1lLCBjbGVhbnVwLCByZXBlYXQ9cmVwZWF0LCBzZWNvbmRzPXNlY29uZHMpOgotICAgICAgICB5aWVsZCByZXN1bHQKK2RlZiBfd3JpdGluZ19ieXRlY29kZShtb2R1bGUpOgorICAgIG5hbWUgPSBtb2R1bGUuX19uYW1lX18KKyAgICBkZWYgd3JpdGluZ19ieXRlY29kZV9iZW5jaG1hcmsoc2Vjb25kcywgcmVwZWF0KToKKyAgICAgICAgIiIiU291cmNlIHdyaXRpbmcgYnl0ZWNvZGU6IHt9IiIiCisgICAgICAgIGFzc2VydCBub3Qgc3lzLmRvbnRfd3JpdGVfYnl0ZWNvZGUKKyAgICAgICAgZGVmIGNsZWFudXAoKToKKyAgICAgICAgICAgIHN5cy5tb2R1bGVzLnBvcChuYW1lKQorICAgICAgICAgICAgb3MudW5saW5rKGltcC5jYWNoZV9mcm9tX3NvdXJjZShtb2R1bGUuX19maWxlX18pKQorICAgICAgICBmb3IgcmVzdWx0IGluIGJlbmNoKG5hbWUsIGNsZWFudXAsIHJlcGVhdD1yZXBlYXQsIHNlY29uZHM9c2Vjb25kcyk6CisgICAgICAgICAgICB5aWVsZCByZXN1bHQKKworICAgIHdyaXRpbmdfYnl0ZWNvZGVfYmVuY2htYXJrLl9fZG9jX18gPSAoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdyaXRpbmdfYnl0ZWNvZGVfYmVuY2htYXJrLl9fZG9jX18uZm9ybWF0KG5hbWUpKQorICAgIHJldHVybiB3cml0aW5nX2J5dGVjb2RlX2JlbmNobWFyaworCit0YWJuYW5ueV93cml0aW5nX2J5dGVjb2RlID0gX3dyaXRpbmdfYnl0ZWNvZGUodGFibmFubnkpCitkZWNpbWFsX3dyaXRpbmdfYnl0ZWNvZGUgPSBfd3JpdGluZ19ieXRlY29kZShkZWNpbWFsKQogCiAKIGRlZiBzb3VyY2VfdXNpbmdfYnl0ZWNvZGUoc2Vjb25kcywgcmVwZWF0KToKLSAgICAiIiJCeXRlY29kZSB3LyBzb3VyY2U6IHNpbXBsZSIiIgorICAgICIiIlNvdXJjZSB3LyBieXRlY29kZTogc21hbGwiIiIKICAgICBuYW1lID0gJ19faW1wb3J0bGliX3Rlc3RfYmVuY2htYXJrX18nCiAgICAgd2l0aCBzb3VyY2VfdXRpbC5jcmVhdGVfbW9kdWxlcyhuYW1lKSBhcyBtYXBwaW5nOgogICAgICAgICBweV9jb21waWxlLmNvbXBpbGUobWFwcGluZ1tuYW1lXSkKQEAgLTEyMywyNyArMTQwLDU2IEBACiAgICAgICAgICAgICB5aWVsZCByZXN1bHQKIAogCi1kZWYgZGVjaW1hbF91c2luZ19ieXRlY29kZShzZWNvbmRzLCByZXBlYXQpOgotICAgICIiIkJ5dGVjb2RlIHcvIHNvdXJjZTogZGVjaW1hbCIiIgotICAgIG5hbWUgPSAnZGVjaW1hbCcKLSAgICBweV9jb21waWxlLmNvbXBpbGUoZGVjaW1hbC5fX2ZpbGVfXykKLSAgICBmb3IgcmVzdWx0IGluIGJlbmNoKG5hbWUsIGxhbWJkYTogc3lzLm1vZHVsZXMucG9wKG5hbWUpLCByZXBlYXQ9cmVwZWF0LAotICAgICAgICAgICAgICAgICAgICAgICAgc2Vjb25kcz1zZWNvbmRzKToKLSAgICAgICAgeWllbGQgcmVzdWx0CitkZWYgX3VzaW5nX2J5dGVjb2RlKG1vZHVsZSk6CisgICAgbmFtZSA9IG1vZHVsZS5fX25hbWVfXworICAgIGRlZiB1c2luZ19ieXRlY29kZV9iZW5jaG1hcmsoc2Vjb25kcywgcmVwZWF0KToKKyAgICAgICAgIiIiU291cmNlIHcvIGJ5dGVjb2RlOiB7fSIiIgorICAgICAgICBweV9jb21waWxlLmNvbXBpbGUobW9kdWxlLl9fZmlsZV9fKQorICAgICAgICBmb3IgcmVzdWx0IGluIGJlbmNoKG5hbWUsIGxhbWJkYTogc3lzLm1vZHVsZXMucG9wKG5hbWUpLCByZXBlYXQ9cmVwZWF0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlY29uZHM9c2Vjb25kcyk6CisgICAgICAgICAgICB5aWVsZCByZXN1bHQKKworICAgIHVzaW5nX2J5dGVjb2RlX2JlbmNobWFyay5fX2RvY19fID0gKAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2luZ19ieXRlY29kZV9iZW5jaG1hcmsuX19kb2NfXy5mb3JtYXQobmFtZSkpCisgICAgcmV0dXJuIHVzaW5nX2J5dGVjb2RlX2JlbmNobWFyaworCit0YWJuYW5ueV91c2luZ19ieXRlY29kZSA9IF91c2luZ19ieXRlY29kZSh0YWJuYW5ueSkKK2RlY2ltYWxfdXNpbmdfYnl0ZWNvZGUgPSBfdXNpbmdfYnl0ZWNvZGUoZGVjaW1hbCkKIAogCi1kZWYgbWFpbihpbXBvcnRfKToKK2RlZiBtYWluKGltcG9ydF8sIG9wdGlvbnMpOgorICAgIGlmIG9wdGlvbnMuc291cmNlX2ZpbGU6CisgICAgICAgIHdpdGggb3B0aW9ucy5zb3VyY2VfZmlsZToKKyAgICAgICAgICAgIHByZXZfcmVzdWx0cyA9IGpzb24ubG9hZChvcHRpb25zLnNvdXJjZV9maWxlKQorICAgIGVsc2U6CisgICAgICAgIHByZXZfcmVzdWx0cyA9IHt9CiAgICAgX19idWlsdGluc19fLl9faW1wb3J0X18gPSBpbXBvcnRfCiAgICAgYmVuY2htYXJrcyA9IChmcm9tX2NhY2hlLCBidWlsdGluX21vZCwKLSAgICAgICAgICAgICAgICAgIHNvdXJjZV91c2luZ19ieXRlY29kZSwgc291cmNlX3dvX2J5dGVjb2RlLAogICAgICAgICAgICAgICAgICAgc291cmNlX3dyaXRpbmdfYnl0ZWNvZGUsCi0gICAgICAgICAgICAgICAgICBkZWNpbWFsX3VzaW5nX2J5dGVjb2RlLCBkZWNpbWFsX3dyaXRpbmdfYnl0ZWNvZGUsCi0gICAgICAgICAgICAgICAgICBkZWNpbWFsX3dvX2J5dGVjb2RlLCkKKyAgICAgICAgICAgICAgICAgIHNvdXJjZV93b19ieXRlY29kZSwgc291cmNlX3VzaW5nX2J5dGVjb2RlLAorICAgICAgICAgICAgICAgICAgdGFibmFubnlfd3JpdGluZ19ieXRlY29kZSwKKyAgICAgICAgICAgICAgICAgIHRhYm5hbm55X3dvX2J5dGVjb2RlLCB0YWJuYW5ueV91c2luZ19ieXRlY29kZSwKKyAgICAgICAgICAgICAgICAgIGRlY2ltYWxfd3JpdGluZ19ieXRlY29kZSwKKyAgICAgICAgICAgICAgICAgIGRlY2ltYWxfd29fYnl0ZWNvZGUsIGRlY2ltYWxfdXNpbmdfYnl0ZWNvZGUsCisgICAgICAgICAgICAgICAgKQorICAgIGlmIG9wdGlvbnMuYmVuY2htYXJrOgorICAgICAgICBmb3IgYiBpbiBiZW5jaG1hcmtzOgorICAgICAgICAgICAgaWYgYi5fX2RvY19fID09IG9wdGlvbnMuYmVuY2htYXJrOgorICAgICAgICAgICAgICAgIGJlbmNobWFya3MgPSBbYl0KKyAgICAgICAgICAgICAgICBicmVhaworICAgICAgICBlbHNlOgorICAgICAgICAgICAgcHJpbnQoJ1Vua25vd24gYmVuY2htYXJrOiB7IXJ9Jy5mb3JtYXQob3B0aW9ucy5iZW5jaG1hcmssCisgICAgICAgICAgICAgICAgICBmaWxlPXN5cy5zdGRlcnIpKQorICAgICAgICAgICAgc3lzLmV4aXQoMSkKICAgICBzZWNvbmRzID0gMQogICAgIHNlY29uZHNfcGx1cmFsID0gJ3MnIGlmIHNlY29uZHMgPiAxIGVsc2UgJycKICAgICByZXBlYXQgPSAzCi0gICAgaGVhZGVyID0gIk1lYXN1cmluZyBpbXBvcnRzL3NlY29uZCBvdmVyIHt9IHNlY29uZHt9LCBiZXN0IG91dCBvZiB7fVxuIgotICAgIHByaW50KGhlYWRlci5mb3JtYXQoc2Vjb25kcywgc2Vjb25kc19wbHVyYWwsIHJlcGVhdCkpCisgICAgaGVhZGVyID0gKCdNZWFzdXJpbmcgaW1wb3J0cy9zZWNvbmQgb3ZlciB7fSBzZWNvbmR7fSwgYmVzdCBvdXQgb2Yge31cbicKKyAgICAgICAgICAgICAgJ0VudGlyZSBiZW5jaG1hcmsgcnVuIHNob3VsZCB0YWtlIGFib3V0IHt9IHNlY29uZHNcbicKKyAgICAgICAgICAgICAgJ1VzaW5nIHshcn0gYXMgX19pbXBvcnRfX1xuJykKKyAgICBwcmludChoZWFkZXIuZm9ybWF0KHNlY29uZHMsIHNlY29uZHNfcGx1cmFsLCByZXBlYXQsCisgICAgICAgICAgICAgICAgICAgICAgICBsZW4oYmVuY2htYXJrcykgKiBzZWNvbmRzICogcmVwZWF0LCBfX2ltcG9ydF9fKSkKKyAgICBuZXdfcmVzdWx0cyA9IHt9CiAgICAgZm9yIGJlbmNobWFyayBpbiBiZW5jaG1hcmtzOgogICAgICAgICBwcmludChiZW5jaG1hcmsuX19kb2NfXywgIlsiLCBlbmQ9JyAnKQogICAgICAgICBzeXMuc3Rkb3V0LmZsdXNoKCkKQEAgLTE1NCwxOSArMjAwLDQwIEBACiAgICAgICAgICAgICBzeXMuc3Rkb3V0LmZsdXNoKCkKICAgICAgICAgYXNzZXJ0IG5vdCBzeXMuZG9udF93cml0ZV9ieXRlY29kZQogICAgICAgICBwcmludCgiXSIsICJiZXN0IGlzIiwgZm9ybWF0KG1heChyZXN1bHRzKSwgJyxkJykpCisgICAgICAgIG5ld19yZXN1bHRzW2JlbmNobWFyay5fX2RvY19fXSA9IHJlc3VsdHMKKyAgICBpZiBwcmV2X3Jlc3VsdHM6CisgICAgICAgIHByaW50KCdcblxuQ29tcGFyaW5nIG5ldyB2cy4gb2xkXG4nKQorICAgICAgICBmb3IgYmVuY2htYXJrIGluIGJlbmNobWFya3M6CisgICAgICAgICAgICBiZW5jaG1hcmtfbmFtZSA9IGJlbmNobWFyay5fX2RvY19fCisgICAgICAgICAgICBvbGRfcmVzdWx0ID0gbWF4KHByZXZfcmVzdWx0c1tiZW5jaG1hcmtfbmFtZV0pCisgICAgICAgICAgICBuZXdfcmVzdWx0ID0gbWF4KG5ld19yZXN1bHRzW2JlbmNobWFya19uYW1lXSkKKyAgICAgICAgICAgIHJlc3VsdCA9ICd7OixkfSB2cy4gezosZH0gKHs6JX0pJy5mb3JtYXQobmV3X3Jlc3VsdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2xkX3Jlc3VsdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdfcmVzdWx0L29sZF9yZXN1bHQpCisgICAgICAgICAgICBwcmludChiZW5jaG1hcmtfbmFtZSwgJzonLCByZXN1bHQpCisgICAgaWYgb3B0aW9ucy5kZXN0X2ZpbGU6CisgICAgICAgIHdpdGggb3B0aW9ucy5kZXN0X2ZpbGU6CisgICAgICAgICAgICBqc29uLmR1bXAobmV3X3Jlc3VsdHMsIG9wdGlvbnMuZGVzdF9maWxlLCBpbmRlbnQ9MikKIAogCiBpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgotICAgIGltcG9ydCBvcHRwYXJzZQorICAgIGltcG9ydCBhcmdwYXJzZQogCi0gICAgcGFyc2VyID0gb3B0cGFyc2UuT3B0aW9uUGFyc2VyKCkKLSAgICBwYXJzZXIuYWRkX29wdGlvbignLWInLCAnLS1idWlsdGluJywgZGVzdD0nYnVpbHRpbicsIGFjdGlvbj0nc3RvcmVfdHJ1ZScsCisgICAgcGFyc2VyID0gYXJncGFyc2UuQXJndW1lbnRQYXJzZXIoKQorICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJy1iJywgJy0tYnVpbHRpbicsIGRlc3Q9J2J1aWx0aW4nLCBhY3Rpb249J3N0b3JlX3RydWUnLAogICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdD1GYWxzZSwgaGVscD0idXNlIHRoZSBidWlsdC1pbiBfX2ltcG9ydF9fIikKLSAgICBvcHRpb25zLCBhcmdzID0gcGFyc2VyLnBhcnNlX2FyZ3MoKQotICAgIGlmIGFyZ3M6Ci0gICAgICAgIHJhaXNlIFJ1bnRpbWVFcnJvcigidW5yZWNvZ25pemVkIGFyZ3M6IHt9Ii5mb3JtYXQoYXJncykpCisgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnLXInLCAnLS1yZWFkJywgZGVzdD0nc291cmNlX2ZpbGUnLAorICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1hcmdwYXJzZS5GaWxlVHlwZSgncicpLAorICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0nZmlsZSB0byByZWFkIGJlbmNobWFyayBkYXRhIGZyb20gdG8gY29tcGFyZSAnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhZ2FpbnN0JykKKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctdycsICctLXdyaXRlJywgZGVzdD0nZGVzdF9maWxlJywKKyAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9YXJncGFyc2UuRmlsZVR5cGUoJ3cnKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9J2ZpbGUgdG8gd3JpdGUgYmVuY2htYXJrIGRhdGEgdG8nKQorICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJy0tYmVuY2htYXJrJywgZGVzdD0nYmVuY2htYXJrJywKKyAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9J3NwZWNpZmljIGJlbmNobWFyayB0byBydW4nKQorICAgIG9wdGlvbnMgPSBwYXJzZXIucGFyc2VfYXJncygpCiAgICAgaW1wb3J0XyA9IF9faW1wb3J0X18KICAgICBpZiBub3Qgb3B0aW9ucy5idWlsdGluOgogICAgICAgICBpbXBvcnRfID0gaW1wb3J0bGliLl9faW1wb3J0X18KIAotICAgIG1haW4oaW1wb3J0XykKKyAgICBtYWluKGltcG9ydF8sIG9wdGlvbnMpCmRpZmYgLS1naXQgYS9MaWIvaW1wb3J0bGliL3Rlc3QvZXh0ZW5zaW9uL3Rlc3RfY2FzZV9zZW5zaXRpdml0eS5weSBiL0xpYi9pbXBvcnRsaWIvdGVzdC9leHRlbnNpb24vdGVzdF9jYXNlX3NlbnNpdGl2aXR5LnB5CmluZGV4IGUwNjJmYjYuLmFkZDgzMGQgMTAwNjQ0Ci0tLSBhL0xpYi9pbXBvcnRsaWIvdGVzdC9leHRlbnNpb24vdGVzdF9jYXNlX3NlbnNpdGl2aXR5LnB5CisrKyBiL0xpYi9pbXBvcnRsaWIvdGVzdC9leHRlbnNpb24vdGVzdF9jYXNlX3NlbnNpdGl2aXR5LnB5CkBAIC0yMCwxMiArMjAsMTggQEAKICAgICBkZWYgdGVzdF9jYXNlX3NlbnNpdGl2ZShzZWxmKToKICAgICAgICAgd2l0aCBzdXBwb3J0LkVudmlyb25tZW50VmFyR3VhcmQoKSBhcyBlbnY6CiAgICAgICAgICAgICBlbnYudW5zZXQoJ1BZVEhPTkNBU0VPSycpCisgICAgICAgICAgICBpZiBiJ1BZVEhPTkNBU0VPSycgaW4gX2Jvb3RzdHJhcC5fb3MuZW52aXJvbjoKKyAgICAgICAgICAgICAgICBzZWxmLnNraXBUZXN0KCdvcy5lbnZpcm9uIGNoYW5nZXMgbm90IHJlZmxlY3RlZCBpbiAnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnX29zLmVudmlyb24nKQogICAgICAgICAgICAgbG9hZGVyID0gc2VsZi5maW5kX21vZHVsZSgpCiAgICAgICAgICAgICBzZWxmLmFzc2VydElzTm9uZShsb2FkZXIpCiAKICAgICBkZWYgdGVzdF9jYXNlX2luc2Vuc2l0aXZpdHkoc2VsZik6CiAgICAgICAgIHdpdGggc3VwcG9ydC5FbnZpcm9ubWVudFZhckd1YXJkKCkgYXMgZW52OgogICAgICAgICAgICAgZW52LnNldCgnUFlUSE9OQ0FTRU9LJywgJzEnKQorICAgICAgICAgICAgaWYgYidQWVRIT05DQVNFT0snIG5vdCBpbiBfYm9vdHN0cmFwLl9vcy5lbnZpcm9uOgorICAgICAgICAgICAgICAgIHNlbGYuc2tpcFRlc3QoJ29zLmVudmlyb24gY2hhbmdlcyBub3QgcmVmbGVjdGVkIGluICcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdfb3MuZW52aXJvbicpCiAgICAgICAgICAgICBsb2FkZXIgPSBzZWxmLmZpbmRfbW9kdWxlKCkKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShoYXNhdHRyKGxvYWRlciwgJ2xvYWRfbW9kdWxlJykpCiAKZGlmZiAtLWdpdCBhL0xpYi9pbXBvcnRsaWIvdGVzdC9pbXBvcnRfL3Rlc3RfX19wYWNrYWdlX18ucHkgYi9MaWIvaW1wb3J0bGliL3Rlc3QvaW1wb3J0Xy90ZXN0X19fcGFja2FnZV9fLnB5CmluZGV4IDUwNTZhZTUuLjc4M2NkZTEgMTAwNjQ0Ci0tLSBhL0xpYi9pbXBvcnRsaWIvdGVzdC9pbXBvcnRfL3Rlc3RfX19wYWNrYWdlX18ucHkKKysrIGIvTGliL2ltcG9ydGxpYi90ZXN0L2ltcG9ydF8vdGVzdF9fX3BhY2thZ2VfXy5weQpAQCAtNjcsNyArNjcsNyBAQAogCiAgICAgZGVmIHRlc3RfYnVua19fcGFja2FnZV9fKHNlbGYpOgogICAgICAgICBnbG9iYWxzID0geydfX3BhY2thZ2VfXyc6IDQyfQotICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IpOgorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvcik6CiAgICAgICAgICAgICBpbXBvcnRfdXRpbC5pbXBvcnRfKCcnLCBnbG9iYWxzLCB7fSwgWydyZWxpbXBvcnQnXSwgMSkKIAogCmRpZmYgLS1naXQgYS9MaWIvaW1wb3J0bGliL3Rlc3QvaW1wb3J0Xy90ZXN0X2FwaS5weSBiL0xpYi9pbXBvcnRsaWIvdGVzdC9pbXBvcnRfL3Rlc3RfYXBpLnB5CmluZGV4IDkwNzVkNDIuLjJmYTFmOTAgMTAwNjQ0Ci0tLSBhL0xpYi9pbXBvcnRsaWIvdGVzdC9pbXBvcnRfL3Rlc3RfYXBpLnB5CisrKyBiL0xpYi9pbXBvcnRsaWIvdGVzdC9pbXBvcnRfL3Rlc3RfYXBpLnB5CkBAIC0xMiw2ICsxMiwxMyBAQAogICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvcik6CiAgICAgICAgICAgICB1dGlsLmltcG9ydF8oNDIpCiAKKyAgICBkZWYgdGVzdF9uZWdhdGl2ZV9sZXZlbChzZWxmKToKKyAgICAgICAgIyBSYWlzZSBWYWx1ZUVycm9yIHdoZW4gYSBuZWdhdGl2ZSBsZXZlbCBpcyBzcGVjaWZpZWQuCisgICAgICAgICMgUEVQIDMyOCBkaWQgYXdheSB3aXRoIHN5cy5tb2R1bGUgTm9uZSBlbnRyaWVzIGFuZCB0aGUgYW1iaWd1aXR5IG9mCisgICAgICAgICMgYWJzb2x1dGUvcmVsYXRpdmUgaW1wb3J0cy4KKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yKToKKyAgICAgICAgICAgIHV0aWwuaW1wb3J0Xygnb3MnLCBnbG9iYWxzKCksIGxldmVsPS0xKQorCiAKIGRlZiB0ZXN0X21haW4oKToKICAgICBmcm9tIHRlc3Quc3VwcG9ydCBpbXBvcnQgcnVuX3VuaXR0ZXN0CmRpZmYgLS1naXQgYS9MaWIvaW1wb3J0bGliL3Rlc3QvaW1wb3J0Xy90ZXN0X3BhdGgucHkgYi9MaWIvaW1wb3J0bGliL3Rlc3QvaW1wb3J0Xy90ZXN0X3BhdGgucHkKaW5kZXggMmZhYTIzMS4uNTcxMzMxOSAxMDA2NDQKLS0tIGEvTGliL2ltcG9ydGxpYi90ZXN0L2ltcG9ydF8vdGVzdF9wYXRoLnB5CisrKyBiL0xpYi9pbXBvcnRsaWIvdGVzdC9pbXBvcnRfL3Rlc3RfcGF0aC5weQpAQCAtNzMsNiArNzMsMTYgQEAKICAgICAgICAgICAgIGxvYWRlciA9IG1hY2hpbmVyeS5QYXRoRmluZGVyLmZpbmRfbW9kdWxlKG1vZHVsZSkKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShsb2FkZXIgaXMgaW1wb3J0ZXIpCiAKKyAgICBkZWYgdGVzdF9wYXRoX2ltcG9ydGVyX2NhY2hlX2VtcHR5X3N0cmluZyhzZWxmKToKKyAgICAgICAgIyBUaGUgZW1wdHkgc3RyaW5nIHNob3VsZCBjcmVhdGUgYSBmaW5kZXIgdXNpbmcgdGhlIGN3ZC4KKyAgICAgICAgcGF0aCA9ICcnCisgICAgICAgIG1vZHVsZSA9ICc8dGVzdCBtb2R1bGU+JworICAgICAgICBpbXBvcnRlciA9IHV0aWwubW9ja19tb2R1bGVzKG1vZHVsZSkKKyAgICAgICAgaG9vayA9IGltcG9ydF91dGlsLm1vY2tfcGF0aF9ob29rKG9zLmN1cmRpciwgaW1wb3J0ZXI9aW1wb3J0ZXIpCisgICAgICAgIHdpdGggdXRpbC5pbXBvcnRfc3RhdGUocGF0aD1bcGF0aF0sIHBhdGhfaG9va3M9W2hvb2tdKToKKyAgICAgICAgICAgIGxvYWRlciA9IG1hY2hpbmVyeS5QYXRoRmluZGVyLmZpbmRfbW9kdWxlKG1vZHVsZSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXMobG9hZGVyLCBpbXBvcnRlcikKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4ob3MuY3VyZGlyLCBzeXMucGF0aF9pbXBvcnRlcl9jYWNoZSkKIAogCiBjbGFzcyBEZWZhdWx0UGF0aEZpbmRlclRlc3RzKHVuaXR0ZXN0LlRlc3RDYXNlKToKZGlmZiAtLWdpdCBhL0xpYi9pbXBvcnRsaWIvdGVzdC9yZWdydGVzdC5weSBiL0xpYi9pbXBvcnRsaWIvdGVzdC9yZWdydGVzdC5weQppbmRleCBiMTAzYWU3Li5kYzBlYjk3IDEwMDY0NAotLS0gYS9MaWIvaW1wb3J0bGliL3Rlc3QvcmVncnRlc3QucHkKKysrIGIvTGliL2ltcG9ydGxpYi90ZXN0L3JlZ3J0ZXN0LnB5CkBAIC01LDEzICs1LDYgQEAKIE90aGVyd2lzZSBhbGwgY29tbWFuZC1saW5lIG9wdGlvbnMgdmFsaWQgZm9yIHRlc3QucmVncnRlc3QgYXJlIGFsc28gdmFsaWQgZm9yCiB0aGlzIHNjcmlwdC4KIAotWFhYIEZBSUxJTkcKLSAgKiB0ZXN0X2ltcG9ydAotICAgIC0gdGVzdF9pbmNvcnJlY3RfY29kZV9uYW1lCi0gICAgICAgIGZpbGUgbmFtZSBkaWZmZXJpbmcgYmV0d2VlbiBfX2ZpbGVfXyBhbmQgY29fZmlsZW5hbWUgKHI2ODM2MCBvbiB0cnVuaykKLSAgICAtIHRlc3RfaW1wb3J0X2J5X2ZpbGVuYW1lCi0gICAgICAgIGV4Y2VwdGlvbiBmb3IgdHJ5aW5nIHRvIGltcG9ydCBieSBmaWxlIG5hbWUgZG9lcyBub3QgbWF0Y2gKLQogIiIiCiBpbXBvcnQgaW1wb3J0bGliCiBpbXBvcnQgc3lzCmRpZmYgLS1naXQgYS9MaWIvaW1wb3J0bGliL3Rlc3Qvc291cmNlL3Rlc3RfYWJjX2xvYWRlci5weSBiL0xpYi9pbXBvcnRsaWIvdGVzdC9zb3VyY2UvdGVzdF9hYmNfbG9hZGVyLnB5CmluZGV4IDMyNDU5MDcuLjAxYWNkYTQgMTAwNjQ0Ci0tLSBhL0xpYi9pbXBvcnRsaWIvdGVzdC9zb3VyY2UvdGVzdF9hYmNfbG9hZGVyLnB5CisrKyBiL0xpYi9pbXBvcnRsaWIvdGVzdC9zb3VyY2UvdGVzdF9hYmNfbG9hZGVyLnB5CkBAIC00MCw4ICs0MCwxMCBAQAogICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwYXRoLCBtYWdpYz1pbXAuZ2V0X21hZ2ljKCkpOgogICAgICAgICBzdXBlcigpLl9faW5pdF9fKHBhdGgpCiAgICAgICAgIHNlbGYuYnl0ZWNvZGVfcGF0aCA9IGltcC5jYWNoZV9mcm9tX3NvdXJjZShzZWxmLnBhdGgpCisgICAgICAgIHNlbGYuc291cmNlX3NpemUgPSBsZW4oc2VsZi5zb3VyY2UpCiAgICAgICAgIGRhdGEgPSBieXRlYXJyYXkobWFnaWMpCi0gICAgICAgIGRhdGEuZXh0ZW5kKG1hcnNoYWwuX3dfbG9uZyhzZWxmLnNvdXJjZV9tdGltZSkpCisgICAgICAgIGRhdGEuZXh0ZW5kKGltcG9ydGxpYi5fd19sb25nKHNlbGYuc291cmNlX210aW1lKSkKKyAgICAgICAgZGF0YS5leHRlbmQoaW1wb3J0bGliLl93X2xvbmcoc2VsZi5zb3VyY2Vfc2l6ZSkpCiAgICAgICAgIGNvZGVfb2JqZWN0ID0gY29tcGlsZShzZWxmLnNvdXJjZSwgc2VsZi5wYXRoLCAnZXhlYycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvbnRfaW5oZXJpdD1UcnVlKQogICAgICAgICBkYXRhLmV4dGVuZChtYXJzaGFsLmR1bXBzKGNvZGVfb2JqZWN0KSkKQEAgLTU2LDkgKzU4LDkgQEAKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHJhaXNlIElPRXJyb3IKIAotICAgIGRlZiBwYXRoX210aW1lKHNlbGYsIHBhdGgpOgorICAgIGRlZiBwYXRoX3N0YXRzKHNlbGYsIHBhdGgpOgogICAgICAgICBhc3NlcnQgcGF0aCA9PSBzZWxmLnBhdGgKLSAgICAgICAgcmV0dXJuIHNlbGYuc291cmNlX210aW1lCisgICAgICAgIHJldHVybiB7J210aW1lJzogc2VsZi5zb3VyY2VfbXRpbWUsICdzaXplJzogc2VsZi5zb3VyY2Vfc2l6ZX0KIAogICAgIGRlZiBzZXRfZGF0YShzZWxmLCBwYXRoLCBkYXRhKToKICAgICAgICAgc2VsZi53cml0dGVuW3BhdGhdID0gYnl0ZXMoZGF0YSkKQEAgLTEwMiw3ICsxMDQsNyBAQAogICAgICAgICAgICAgd2FybmluZ3Muc2ltcGxlZmlsdGVyKCJhbHdheXMiKQogICAgICAgICAgICAgcGF0aCA9IHN1cGVyKCkuZ2V0X2ZpbGVuYW1lKG5hbWUpCiAgICAgICAgICAgICBhc3NlcnQgbGVuKHcpID09IDEKLSAgICAgICAgICAgIGFzc2VydCBpc3N1YmNsYXNzKHdbMF0uY2F0ZWdvcnksIFBlbmRpbmdEZXByZWNhdGlvbldhcm5pbmcpCisgICAgICAgICAgICBhc3NlcnQgaXNzdWJjbGFzcyh3WzBdLmNhdGVnb3J5LCBEZXByZWNhdGlvbldhcm5pbmcpCiAgICAgICAgICAgICByZXR1cm4gcGF0aAogCiAKQEAgLTE5OCw3ICsyMDAsNyBAQAogICAgICAgICAgICAgd2FybmluZ3Muc2ltcGxlZmlsdGVyKCJhbHdheXMiKQogICAgICAgICAgICAgY29kZV9vYmplY3QgPSBzdXBlcigpLmdldF9jb2RlKG5hbWUpCiAgICAgICAgICAgICBhc3NlcnQgbGVuKHcpID09IDEKLSAgICAgICAgICAgIGFzc2VydCBpc3N1YmNsYXNzKHdbMF0uY2F0ZWdvcnksIFBlbmRpbmdEZXByZWNhdGlvbldhcm5pbmcpCisgICAgICAgICAgICBhc3NlcnQgaXNzdWJjbGFzcyh3WzBdLmNhdGVnb3J5LCBEZXByZWNhdGlvbldhcm5pbmcpCiAgICAgICAgICAgICByZXR1cm4gY29kZV9vYmplY3QKIAogY2xhc3MgUHlMb2FkZXJUZXN0cyh0ZXN0aW5nX2FiYy5Mb2FkZXJUZXN0cyk6CkBAIC02NTYsNyArNjU4LDggQEAKICAgICAgICAgaWYgYnl0ZWNvZGVfd3JpdHRlbjoKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4oc2VsZi5jYWNoZWQsIHNlbGYubG9hZGVyLndyaXR0ZW4pCiAgICAgICAgICAgICBkYXRhID0gYnl0ZWFycmF5KGltcC5nZXRfbWFnaWMoKSkKLSAgICAgICAgICAgIGRhdGEuZXh0ZW5kKG1hcnNoYWwuX3dfbG9uZyhzZWxmLmxvYWRlci5zb3VyY2VfbXRpbWUpKQorICAgICAgICAgICAgZGF0YS5leHRlbmQoaW1wb3J0bGliLl93X2xvbmcoc2VsZi5sb2FkZXIuc291cmNlX210aW1lKSkKKyAgICAgICAgICAgIGRhdGEuZXh0ZW5kKGltcG9ydGxpYi5fd19sb25nKHNlbGYubG9hZGVyLnNvdXJjZV9zaXplKSkKICAgICAgICAgICAgIGRhdGEuZXh0ZW5kKG1hcnNoYWwuZHVtcHMoY29kZV9vYmplY3QpKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmxvYWRlci53cml0dGVuW3NlbGYuY2FjaGVkXSwgYnl0ZXMoZGF0YSkpCiAKQEAgLTg0Nyw3ICs4NTAsNyBAQAogICAgICAgICAjIFJlcXVpcmVkIGFic3RyYWN0bWV0aG9kcy4KICAgICAgICAgc2VsZi5yYWlzZXNfTm90SW1wbGVtZW50ZWRFcnJvcihpbnMsICdnZXRfZmlsZW5hbWUnLCAnZ2V0X2RhdGEnKQogICAgICAgICAjIE9wdGlvbmFsIGFic3RyYWN0bWV0aG9kcy4KLSAgICAgICAgc2VsZi5yYWlzZXNfTm90SW1wbGVtZW50ZWRFcnJvcihpbnMsJ3BhdGhfbXRpbWUnLCAnc2V0X2RhdGEnKQorICAgICAgICBzZWxmLnJhaXNlc19Ob3RJbXBsZW1lbnRlZEVycm9yKGlucywncGF0aF9zdGF0cycsICdzZXRfZGF0YScpCiAKICAgICBkZWYgdGVzdF9QeUxvYWRlcihzZWxmKToKICAgICAgICAgc2VsZi5yYWlzZXNfTm90SW1wbGVtZW50ZWRFcnJvcihzZWxmLlB5TG9hZGVyKCksICdzb3VyY2VfcGF0aCcsCmRpZmYgLS1naXQgYS9MaWIvaW1wb3J0bGliL3Rlc3Qvc291cmNlL3Rlc3RfY2FzZV9zZW5zaXRpdml0eS5weSBiL0xpYi9pbXBvcnRsaWIvdGVzdC9zb3VyY2UvdGVzdF9jYXNlX3NlbnNpdGl2aXR5LnB5CmluZGV4IDczNzc3ZGUuLjU2OWY1MTYgMTAwNjQ0Ci0tLSBhL0xpYi9pbXBvcnRsaWIvdGVzdC9zb3VyY2UvdGVzdF9jYXNlX3NlbnNpdGl2aXR5LnB5CisrKyBiL0xpYi9pbXBvcnRsaWIvdGVzdC9zb3VyY2UvdGVzdF9jYXNlX3NlbnNpdGl2aXR5LnB5CkBAIC0zNyw2ICszNyw5IEBACiAgICAgZGVmIHRlc3Rfc2Vuc2l0aXZlKHNlbGYpOgogICAgICAgICB3aXRoIHRlc3Rfc3VwcG9ydC5FbnZpcm9ubWVudFZhckd1YXJkKCkgYXMgZW52OgogICAgICAgICAgICAgZW52LnVuc2V0KCdQWVRIT05DQVNFT0snKQorICAgICAgICAgICAgaWYgYidQWVRIT05DQVNFT0snIGluIF9ib290c3RyYXAuX29zLmVudmlyb246CisgICAgICAgICAgICAgICAgc2VsZi5za2lwVGVzdCgnb3MuZW52aXJvbiBjaGFuZ2VzIG5vdCByZWZsZWN0ZWQgaW4gJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ19vcy5lbnZpcm9uJykKICAgICAgICAgICAgIHNlbnNpdGl2ZSwgaW5zZW5zaXRpdmUgPSBzZWxmLnNlbnNpdGl2aXR5X3Rlc3QoKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGhhc2F0dHIoc2Vuc2l0aXZlLCAnbG9hZF9tb2R1bGUnKSkKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4oc2VsZi5uYW1lLCBzZW5zaXRpdmUuZ2V0X2ZpbGVuYW1lKHNlbGYubmFtZSkpCkBAIC00NSw2ICs0OCw5IEBACiAgICAgZGVmIHRlc3RfaW5zZW5zaXRpdmUoc2VsZik6CiAgICAgICAgIHdpdGggdGVzdF9zdXBwb3J0LkVudmlyb25tZW50VmFyR3VhcmQoKSBhcyBlbnY6CiAgICAgICAgICAgICBlbnYuc2V0KCdQWVRIT05DQVNFT0snLCAnMScpCisgICAgICAgICAgICBpZiBiJ1BZVEhPTkNBU0VPSycgbm90IGluIF9ib290c3RyYXAuX29zLmVudmlyb246CisgICAgICAgICAgICAgICAgc2VsZi5za2lwVGVzdCgnb3MuZW52aXJvbiBjaGFuZ2VzIG5vdCByZWZsZWN0ZWQgaW4gJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ19vcy5lbnZpcm9uJykKICAgICAgICAgICAgIHNlbnNpdGl2ZSwgaW5zZW5zaXRpdmUgPSBzZWxmLnNlbnNpdGl2aXR5X3Rlc3QoKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGhhc2F0dHIoc2Vuc2l0aXZlLCAnbG9hZF9tb2R1bGUnKSkKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4oc2VsZi5uYW1lLCBzZW5zaXRpdmUuZ2V0X2ZpbGVuYW1lKHNlbGYubmFtZSkpCmRpZmYgLS1naXQgYS9MaWIvaW1wb3J0bGliL3Rlc3Qvc291cmNlL3Rlc3RfZmlsZV9sb2FkZXIucHkgYi9MaWIvaW1wb3J0bGliL3Rlc3Qvc291cmNlL3Rlc3RfZmlsZV9sb2FkZXIucHkKaW5kZXggYzdhN2Q4Zi4uMjFlNzE4ZiAxMDA2NDQKLS0tIGEvTGliL2ltcG9ydGxpYi90ZXN0L3NvdXJjZS90ZXN0X2ZpbGVfbG9hZGVyLnB5CisrKyBiL0xpYi9pbXBvcnRsaWIvdGVzdC9zb3VyY2UvdGVzdF9maWxlX2xvYWRlci5weQpAQCAtNzEsMTEgKzcxLDYgQEAKICAgICAgICAgICAgIG1vZHVsZV9kaWN0X2lkID0gaWQobW9kdWxlLl9fZGljdF9fKQogICAgICAgICAgICAgd2l0aCBvcGVuKG1hcHBpbmdbJ190ZW1wJ10sICd3JykgYXMgZmlsZToKICAgICAgICAgICAgICAgICBmaWxlLndyaXRlKCJ0ZXN0aW5nX3ZhciA9IDQyXG4iKQotICAgICAgICAgICAgIyBGb3IgZmlsZXN5c3RlbXMgd2hlcmUgdGhlIG10aW1lIGlzIG9ubHkgdG8gYSBzZWNvbmQgZ3JhbnVsYXJpdHksCi0gICAgICAgICAgICAjIGV2ZXJ5dGhpbmcgdGhhdCBoYXMgaGFwcGVuZWQgYWJvdmUgY2FuIGJlIHRvbyBmYXN0OwotICAgICAgICAgICAgIyBmb3JjZSBhbiBtdGltZSBvbiB0aGUgc291cmNlIHRoYXQgaXMgZ3VhcmFudGVlZCB0byBiZSBkaWZmZXJlbnQKLSAgICAgICAgICAgICMgdGhhbiB0aGUgb3JpZ2luYWwgbXRpbWUuCi0gICAgICAgICAgICBsb2FkZXIucGF0aF9tdGltZSA9IHNlbGYuZmFrZV9tdGltZShsb2FkZXIucGF0aF9tdGltZSkKICAgICAgICAgICAgIG1vZHVsZSA9IGxvYWRlci5sb2FkX21vZHVsZSgnX3RlbXAnKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKCd0ZXN0aW5nX3ZhcicgaW4gbW9kdWxlLl9fZGljdF9fLAogICAgICAgICAgICAgICAgICAgICAgICAgICIndGVzdGluZ192YXInIG5vdCBpbiAiCkBAIC0yMTUsMTAgKzIxMCwxNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsX3NvdXJjZT1kZWxfc291cmNlKQogICAgICAgICAgICAgdGVzdCgnX3RlbXAnLCBtYXBwaW5nLCBiY19wYXRoKQogCisgICAgZGVmIF90ZXN0X3BhcnRpYWxfc2l6ZShzZWxmLCB0ZXN0LCAqLCBkZWxfc291cmNlPUZhbHNlKToKKyAgICAgICAgd2l0aCBzb3VyY2VfdXRpbC5jcmVhdGVfbW9kdWxlcygnX3RlbXAnKSBhcyBtYXBwaW5nOgorICAgICAgICAgICAgYmNfcGF0aCA9IHNlbGYubWFuaXB1bGF0ZV9ieXRlY29kZSgnX3RlbXAnLCBtYXBwaW5nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFtYmRhIGJjOiBiY1s6MTFdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsX3NvdXJjZT1kZWxfc291cmNlKQorICAgICAgICAgICAgdGVzdCgnX3RlbXAnLCBtYXBwaW5nLCBiY19wYXRoKQorCiAgICAgZGVmIF90ZXN0X25vX21hcnNoYWwoc2VsZiwgKiwgZGVsX3NvdXJjZT1GYWxzZSk6CiAgICAgICAgIHdpdGggc291cmNlX3V0aWwuY3JlYXRlX21vZHVsZXMoJ190ZW1wJykgYXMgbWFwcGluZzoKICAgICAgICAgICAgIGJjX3BhdGggPSBzZWxmLm1hbmlwdWxhdGVfYnl0ZWNvZGUoJ190ZW1wJywgbWFwcGluZywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhbWJkYSBiYzogYmNbOjhdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFtYmRhIGJjOiBiY1s6MTJdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsX3NvdXJjZT1kZWxfc291cmNlKQogICAgICAgICAgICAgZmlsZV9wYXRoID0gbWFwcGluZ1snX3RlbXAnXSBpZiBub3QgZGVsX3NvdXJjZSBlbHNlIGJjX3BhdGgKICAgICAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoRU9GRXJyb3IpOgpAQCAtMjI3LDcgKzIyOSw3IEBACiAgICAgZGVmIF90ZXN0X25vbl9jb2RlX21hcnNoYWwoc2VsZiwgKiwgZGVsX3NvdXJjZT1GYWxzZSk6CiAgICAgICAgIHdpdGggc291cmNlX3V0aWwuY3JlYXRlX21vZHVsZXMoJ190ZW1wJykgYXMgbWFwcGluZzoKICAgICAgICAgICAgIGJ5dGVjb2RlX3BhdGggPSBzZWxmLm1hbmlwdWxhdGVfYnl0ZWNvZGUoJ190ZW1wJywgbWFwcGluZywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhbWJkYSBiYzogYmNbOjhdICsgbWFyc2hhbC5kdW1wcyhiJ2FiY2QnKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhbWJkYSBiYzogYmNbOjEyXSArIG1hcnNoYWwuZHVtcHMoYidhYmNkJyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWxfc291cmNlPWRlbF9zb3VyY2UpCiAgICAgICAgICAgICBmaWxlX3BhdGggPSBtYXBwaW5nWydfdGVtcCddIGlmIG5vdCBkZWxfc291cmNlIGVsc2UgYnl0ZWNvZGVfcGF0aAogICAgICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhJbXBvcnRFcnJvcik6CkBAIC0yMzYsNyArMjM4LDcgQEAKICAgICBkZWYgX3Rlc3RfYmFkX21hcnNoYWwoc2VsZiwgKiwgZGVsX3NvdXJjZT1GYWxzZSk6CiAgICAgICAgIHdpdGggc291cmNlX3V0aWwuY3JlYXRlX21vZHVsZXMoJ190ZW1wJykgYXMgbWFwcGluZzoKICAgICAgICAgICAgIGJ5dGVjb2RlX3BhdGggPSBzZWxmLm1hbmlwdWxhdGVfYnl0ZWNvZGUoJ190ZW1wJywgbWFwcGluZywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhbWJkYSBiYzogYmNbOjhdICsgYic8dGVzdD4nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFtYmRhIGJjOiBiY1s6MTJdICsgYic8dGVzdD4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsX3NvdXJjZT1kZWxfc291cmNlKQogICAgICAgICAgICAgZmlsZV9wYXRoID0gbWFwcGluZ1snX3RlbXAnXSBpZiBub3QgZGVsX3NvdXJjZSBlbHNlIGJ5dGVjb2RlX3BhdGgKICAgICAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoRU9GRXJyb3IpOgpAQCAtMjYwLDcgKzI2Miw3IEBACiAgICAgICAgIGRlZiB0ZXN0KG5hbWUsIG1hcHBpbmcsIGJ5dGVjb2RlX3BhdGgpOgogICAgICAgICAgICAgc2VsZi5pbXBvcnRfKG1hcHBpbmdbbmFtZV0sIG5hbWUpCiAgICAgICAgICAgICB3aXRoIG9wZW4oYnl0ZWNvZGVfcGF0aCwgJ3JiJykgYXMgZmlsZToKLSAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEdyZWF0ZXIobGVuKGZpbGUucmVhZCgpKSwgOCkKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEdyZWF0ZXIobGVuKGZpbGUucmVhZCgpKSwgMTIpCiAKICAgICAgICAgc2VsZi5fdGVzdF9lbXB0eV9maWxlKHRlc3QpCiAKQEAgLTI2OCw3ICsyNzAsNyBAQAogICAgICAgICBkZWYgdGVzdChuYW1lLCBtYXBwaW5nLCBieXRlY29kZV9wYXRoKToKICAgICAgICAgICAgIHNlbGYuaW1wb3J0XyhtYXBwaW5nW25hbWVdLCBuYW1lKQogICAgICAgICAgICAgd2l0aCBvcGVuKGJ5dGVjb2RlX3BhdGgsICdyYicpIGFzIGZpbGU6Ci0gICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRHcmVhdGVyKGxlbihmaWxlLnJlYWQoKSksIDgpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRHcmVhdGVyKGxlbihmaWxlLnJlYWQoKSksIDEyKQogCiAgICAgICAgIHNlbGYuX3Rlc3RfcGFydGlhbF9tYWdpYyh0ZXN0KQogCkBAIC0yNzksNyArMjgxLDcgQEAKICAgICAgICAgZGVmIHRlc3QobmFtZSwgbWFwcGluZywgYnl0ZWNvZGVfcGF0aCk6CiAgICAgICAgICAgICBzZWxmLmltcG9ydF8obWFwcGluZ1tuYW1lXSwgbmFtZSkKICAgICAgICAgICAgIHdpdGggb3BlbihieXRlY29kZV9wYXRoLCAncmInKSBhcyBmaWxlOgotICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0R3JlYXRlcihsZW4oZmlsZS5yZWFkKCkpLCA4KQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0R3JlYXRlcihsZW4oZmlsZS5yZWFkKCkpLCAxMikKIAogICAgICAgICBzZWxmLl90ZXN0X21hZ2ljX29ubHkodGVzdCkKIApAQCAtMzAxLDExICszMDMsMjIgQEAKICAgICAgICAgZGVmIHRlc3QobmFtZSwgbWFwcGluZywgYmNfcGF0aCk6CiAgICAgICAgICAgICBzZWxmLmltcG9ydF8obWFwcGluZ1tuYW1lXSwgbmFtZSkKICAgICAgICAgICAgIHdpdGggb3BlbihiY19wYXRoLCAncmInKSBhcyBmaWxlOgotICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0R3JlYXRlcihsZW4oZmlsZS5yZWFkKCkpLCA4KQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0R3JlYXRlcihsZW4oZmlsZS5yZWFkKCkpLCAxMikKIAogICAgICAgICBzZWxmLl90ZXN0X3BhcnRpYWxfdGltZXN0YW1wKHRlc3QpCiAKICAgICBAc291cmNlX3V0aWwud3JpdGVzX2J5dGVjb2RlX2ZpbGVzCisgICAgZGVmIHRlc3RfcGFydGlhbF9zaXplKHNlbGYpOgorICAgICAgICAjIFdoZW4gdGhlIHNpemUgaXMgcGFydGlhbCwgcmVnZW5lcmF0ZSB0aGUgLnB5YywgZWxzZQorICAgICAgICAjIHJhaXNlIEVPRkVycm9yLgorICAgICAgICBkZWYgdGVzdChuYW1lLCBtYXBwaW5nLCBiY19wYXRoKToKKyAgICAgICAgICAgIHNlbGYuaW1wb3J0XyhtYXBwaW5nW25hbWVdLCBuYW1lKQorICAgICAgICAgICAgd2l0aCBvcGVuKGJjX3BhdGgsICdyYicpIGFzIGZpbGU6CisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRHcmVhdGVyKGxlbihmaWxlLnJlYWQoKSksIDEyKQorCisgICAgICAgIHNlbGYuX3Rlc3RfcGFydGlhbF9zaXplKHRlc3QpCisKKyAgICBAc291cmNlX3V0aWwud3JpdGVzX2J5dGVjb2RlX2ZpbGVzCiAgICAgZGVmIHRlc3Rfbm9fbWFyc2hhbChzZWxmKToKICAgICAgICAgIyBXaGVuIHRoZXJlIGlzIG9ubHkgdGhlIG1hZ2ljIG51bWJlciBhbmQgdGltZXN0YW1wLCByYWlzZSBFT0ZFcnJvci4KICAgICAgICAgc2VsZi5fdGVzdF9ub19tYXJzaGFsKCkKQEAgLTQwMCw2ICs0MTMsMTMgQEAKIAogICAgICAgICBzZWxmLl90ZXN0X3BhcnRpYWxfdGltZXN0YW1wKHRlc3QsIGRlbF9zb3VyY2U9VHJ1ZSkKIAorICAgIGRlZiB0ZXN0X3BhcnRpYWxfc2l6ZShzZWxmKToKKyAgICAgICAgZGVmIHRlc3QobmFtZSwgbWFwcGluZywgYnl0ZWNvZGVfcGF0aCk6CisgICAgICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKEVPRkVycm9yKToKKyAgICAgICAgICAgICAgICBzZWxmLmltcG9ydF8oYnl0ZWNvZGVfcGF0aCwgbmFtZSkKKworICAgICAgICBzZWxmLl90ZXN0X3BhcnRpYWxfc2l6ZSh0ZXN0LCBkZWxfc291cmNlPVRydWUpCisKICAgICBkZWYgdGVzdF9ub19tYXJzaGFsKHNlbGYpOgogICAgICAgICBzZWxmLl90ZXN0X25vX21hcnNoYWwoZGVsX3NvdXJjZT1UcnVlKQogCmRpZmYgLS1naXQgYS9MaWIvaW1wb3J0bGliL3Rlc3Qvc291cmNlL3Rlc3RfZmluZGVyLnB5IGIvTGliL2ltcG9ydGxpYi90ZXN0L3NvdXJjZS90ZXN0X2ZpbmRlci5weQppbmRleCA3YjkwODhkLi42OGU5YWU3IDEwMDY0NAotLS0gYS9MaWIvaW1wb3J0bGliL3Rlc3Qvc291cmNlL3Rlc3RfZmluZGVyLnB5CisrKyBiL0xpYi9pbXBvcnRsaWIvdGVzdC9zb3VyY2UvdGVzdF9maW5kZXIucHkKQEAgLTE0Myw2ICsxNDMsMTMgQEAKICAgICAgICAgZmluYWxseToKICAgICAgICAgICAgIG9zLnVubGluaygnbW9kLnB5JykKIAorICAgIGRlZiB0ZXN0X2ludmFsaWRhdGVfY2FjaGVzKHNlbGYpOgorICAgICAgICAjIGludmFsaWRhdGVfY2FjaGVzKCkgc2hvdWxkIHJlc2V0IHRoZSBtdGltZS4KKyAgICAgICAgZmluZGVyID0gX2Jvb3RzdHJhcC5fRmlsZUZpbmRlcignJywgX2Jvb3RzdHJhcC5fU291cmNlRmluZGVyRGV0YWlscygpKQorICAgICAgICBmaW5kZXIuX3BhdGhfbXRpbWUgPSA0MgorICAgICAgICBmaW5kZXIuaW52YWxpZGF0ZV9jYWNoZXMoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGZpbmRlci5fcGF0aF9tdGltZSwgLTEpCisKIAogZGVmIHRlc3RfbWFpbigpOgogICAgIGZyb20gdGVzdC5zdXBwb3J0IGltcG9ydCBydW5fdW5pdHRlc3QKZGlmZiAtLWdpdCBhL0xpYi9pbXBvcnRsaWIvdGVzdC90ZXN0X2FwaS5weSBiL0xpYi9pbXBvcnRsaWIvdGVzdC90ZXN0X2FwaS5weQppbmRleCBhMTUxNjI2Li5jYzE0N2MyIDEwMDY0NAotLS0gYS9MaWIvaW1wb3J0bGliL3Rlc3QvdGVzdF9hcGkucHkKKysrIGIvTGliL2ltcG9ydGxpYi90ZXN0L3Rlc3RfYXBpLnB5CkBAIC04NCw2ICs4NCwzNCBAQAogICAgICAgICAgICAgICAgIGltcG9ydGxpYi5pbXBvcnRfbW9kdWxlKCdhLmInKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJfbG9hZF9jb3VudCwgMSkKIAorCitjbGFzcyBJbnZhbGlkYXRlQ2FjaGVUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6CisKKyAgICBkZWYgdGVzdF9tZXRob2RfY2FsbGVkKHNlbGYpOgorICAgICAgICAjIElmIGRlZmluZWQgdGhlIG1ldGhvZCBzaG91bGQgYmUgY2FsbGVkLgorICAgICAgICBjbGFzcyBJbnZhbGlkYXRpbmdOdWxsRmluZGVyOgorICAgICAgICAgICAgZGVmIF9faW5pdF9fKHNlbGYsICppZ25vcmVkKToKKyAgICAgICAgICAgICAgICBzZWxmLmNhbGxlZCA9IEZhbHNlCisgICAgICAgICAgICBkZWYgZmluZF9tb2R1bGUoc2VsZiwgKmFyZ3MpOgorICAgICAgICAgICAgICAgIHJldHVybiBOb25lCisgICAgICAgICAgICBkZWYgaW52YWxpZGF0ZV9jYWNoZXMoc2VsZik6CisgICAgICAgICAgICAgICAgc2VsZi5jYWxsZWQgPSBUcnVlCisKKyAgICAgICAga2V5ID0gJ2dvYmxlZGVlZ29vaycKKyAgICAgICAgaW5zID0gSW52YWxpZGF0aW5nTnVsbEZpbmRlcigpCisgICAgICAgIHN5cy5wYXRoX2ltcG9ydGVyX2NhY2hlW2tleV0gPSBpbnMKKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKGxhbWJkYTogc3lzLnBhdGhfaW1wb3J0ZXJfY2FjaGUuX19kZWxpdGVtX18oa2V5KSkKKyAgICAgICAgaW1wb3J0bGliLmludmFsaWRhdGVfY2FjaGVzKCkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGlucy5jYWxsZWQpCisKKyAgICBkZWYgdGVzdF9tZXRob2RfbGFja2luZyhzZWxmKToKKyAgICAgICAgIyBUaGVyZSBzaG91bGQgYmUgbm8gaXNzdWVzIGlmIHRoZSBtZXRob2QgaXMgbm90IGRlZmluZWQuCisgICAgICAgIGtleSA9ICdnb2JibGVkZWVnb29rJworICAgICAgICBzeXMucGF0aF9pbXBvcnRlcl9jYWNoZVtrZXldID0gaW1wLk51bGxJbXBvcnRlcignYWJjJykKKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKGxhbWJkYTogc3lzLnBhdGhfaW1wb3J0ZXJfY2FjaGUuX19kZWxpdGVtX18oa2V5KSkKKyAgICAgICAgaW1wb3J0bGliLmludmFsaWRhdGVfY2FjaGVzKCkgICMgU2hvdWxkbid0IHRyaWdnZXIgYW4gZXhjZXB0aW9uLgorCisKIGRlZiB0ZXN0X21haW4oKToKICAgICBmcm9tIHRlc3Quc3VwcG9ydCBpbXBvcnQgcnVuX3VuaXR0ZXN0CiAgICAgcnVuX3VuaXR0ZXN0KEltcG9ydE1vZHVsZVRlc3RzKQpkaWZmIC0tZ2l0IGEvTGliL2ltcG9ydGxpYi90ZXN0L3Rlc3RfdXRpbC5weSBiL0xpYi9pbXBvcnRsaWIvdGVzdC90ZXN0X3V0aWwucHkKaW5kZXggNjAyNDQ3Zi4uYzdjZGFkMSAxMDA2NDQKLS0tIGEvTGliL2ltcG9ydGxpYi90ZXN0L3Rlc3RfdXRpbC5weQorKysgYi9MaWIvaW1wb3J0bGliL3Rlc3QvdGVzdF91dGlsLnB5CkBAIC01OSw2ICs1OSwxMSBAQAogICAgICAgICAgICAgc2VsZi5yYWlzZV9leGNlcHRpb24obmFtZSkKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXMobW9kdWxlLCBzeXMubW9kdWxlc1tuYW1lXSkKIAorICAgIGRlZiB0ZXN0X2RlY29yYXRvcl9hdHRycyhzZWxmKToKKyAgICAgICAgZGVmIGZ4bihzZWxmLCBtb2R1bGUpOiBwYXNzCisgICAgICAgIHdyYXBwZWQgPSB1dGlsLm1vZHVsZV9mb3JfbG9hZGVyKGZ4bikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh3cmFwcGVkLl9fbmFtZV9fLCBmeG4uX19uYW1lX18pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwod3JhcHBlZC5fX3F1YWxuYW1lX18sIGZ4bi5fX3F1YWxuYW1lX18pCiAKIGNsYXNzIFNldFBhY2thZ2VUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAKQEAgLTEwOCw2ICsxMTMsMTEgQEAKICAgICAgICAgICAgIG1vZHVsZS5fX3BhY2thZ2VfXyA9IHZhbHVlCiAgICAgICAgICAgICBzZWxmLnZlcmlmeShtb2R1bGUsIHZhbHVlKQogCisgICAgZGVmIHRlc3RfZGVjb3JhdG9yX2F0dHJzKHNlbGYpOgorICAgICAgICBkZWYgZnhuKG1vZHVsZSk6IHBhc3MKKyAgICAgICAgd3JhcHBlZCA9IHV0aWwuc2V0X3BhY2thZ2UoZnhuKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHdyYXBwZWQuX19uYW1lX18sIGZ4bi5fX25hbWVfXykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh3cmFwcGVkLl9fcXVhbG5hbWVfXywgZnhuLl9fcXVhbG5hbWVfXykKIAogZGVmIHRlc3RfbWFpbigpOgogICAgIGZyb20gdGVzdCBpbXBvcnQgc3VwcG9ydApkaWZmIC0tZ2l0IGEvTGliL2luc3BlY3QucHkgYi9MaWIvaW5zcGVjdC5weQppbmRleCAyMDMxNzU1Li5mYzlmNjEyIDEwMDY0NAotLS0gYS9MaWIvaW5zcGVjdC5weQorKysgYi9MaWIvaW5zcGVjdC5weQpAQCAtMzMsNyArMzMsNiBAQAogaW1wb3J0IG9zCiBpbXBvcnQgdHlwZXMKIGltcG9ydCBpdGVydG9vbHMKLWltcG9ydCBzdHJpbmcKIGltcG9ydCByZQogaW1wb3J0IGltcAogaW1wb3J0IHRva2VuaXplCkBAIC05MzEsNiArOTMwLDQzIEBACiAgICAgICAgIHNwZWNzLmFwcGVuZChmb3JtYXR2YXJrdyh2YXJrdykgKyBmb3JtYXR2YWx1ZShsb2NhbHNbdmFya3ddKSkKICAgICByZXR1cm4gJygnICsgJywgJy5qb2luKHNwZWNzKSArICcpJwogCitkZWYgX21pc3NpbmdfYXJndW1lbnRzKGZfbmFtZSwgYXJnbmFtZXMsIHBvcywgdmFsdWVzKToKKyAgICBuYW1lcyA9IFtyZXByKG5hbWUpIGZvciBuYW1lIGluIGFyZ25hbWVzIGlmIG5hbWUgbm90IGluIHZhbHVlc10KKyAgICBtaXNzaW5nID0gbGVuKG5hbWVzKQorICAgIGlmIG1pc3NpbmcgPT0gMToKKyAgICAgICAgcyA9IG5hbWVzWzBdCisgICAgZWxpZiBtaXNzaW5nID09IDI6CisgICAgICAgIHMgPSAie30gYW5kIHt9Ii5mb3JtYXQoKm5hbWVzKQorICAgIGVsc2U6CisgICAgICAgIHRhaWwgPSAiLCB7fSBhbmQge30iLmZvcm1hdChuYW1lc1stMjpdKQorICAgICAgICBkZWwgbmFtZXNbLTI6XQorICAgICAgICBzID0gIiwgIi5qb2luKG5hbWVzKSArIHRhaWwKKyAgICByYWlzZSBUeXBlRXJyb3IoIiVzKCkgbWlzc2luZyAlaSByZXF1aXJlZCAlcyBhcmd1bWVudCVzOiAlcyIgJQorICAgICAgICAgICAgICAgICAgICAoZl9uYW1lLCBtaXNzaW5nLAorICAgICAgICAgICAgICAgICAgICAgICJwb3NpdGlvbmFsIiBpZiBwb3MgZWxzZSAia2V5d29yZC1vbmx5IiwKKyAgICAgICAgICAgICAgICAgICAgICAiIiBpZiBtaXNzaW5nID09IDEgZWxzZSAicyIsIHMpKQorCitkZWYgX3Rvb19tYW55KGZfbmFtZSwgYXJncywga3dvbmx5LCB2YXJhcmdzLCBkZWZjb3VudCwgZ2l2ZW4sIHZhbHVlcyk6CisgICAgYXRsZWFzdCA9IGxlbihhcmdzKSAtIGRlZmNvdW50CisgICAga3dvbmx5X2dpdmVuID0gbGVuKFthcmcgZm9yIGFyZyBpbiBrd29ubHkgaWYgYXJnIGluIHZhbHVlc10pCisgICAgaWYgdmFyYXJnczoKKyAgICAgICAgcGx1cmFsID0gYXRsZWFzdCAhPSAxCisgICAgICAgIHNpZyA9ICJhdCBsZWFzdCAlZCIgJSAoYXRsZWFzdCwpCisgICAgZWxpZiBkZWZjb3VudDoKKyAgICAgICAgcGx1cmFsID0gVHJ1ZQorICAgICAgICBzaWcgPSAiZnJvbSAlZCB0byAlZCIgJSAoYXRsZWFzdCwgbGVuKGFyZ3MpKQorICAgIGVsc2U6CisgICAgICAgIHBsdXJhbCA9IGxlbihhcmdzKSAhPSAxCisgICAgICAgIHNpZyA9IHN0cihsZW4oYXJncykpCisgICAga3dvbmx5X3NpZyA9ICIiCisgICAgaWYga3dvbmx5X2dpdmVuOgorICAgICAgICBtc2cgPSAiIHBvc2l0aW9uYWwgYXJndW1lbnQlcyAoYW5kICVkIGtleXdvcmQtb25seSBhcmd1bWVudCVzKSIKKyAgICAgICAga3dvbmx5X3NpZyA9IChtc2cgJSAoInMiIGlmIGdpdmVuICE9IDEgZWxzZSAiIiwga3dvbmx5X2dpdmVuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicyIgaWYga3dvbmx5X2dpdmVuICE9IDEgZWxzZSAiIikpCisgICAgcmFpc2UgVHlwZUVycm9yKCIlcygpIHRha2VzICVzIHBvc2l0aW9uYWwgYXJndW1lbnQlcyBidXQgJWQlcyAlcyBnaXZlbiIgJQorICAgICAgICAgICAgKGZfbmFtZSwgc2lnLCAicyIgaWYgcGx1cmFsIGVsc2UgIiIsIGdpdmVuLCBrd29ubHlfc2lnLAorICAgICAgICAgICAgICJ3YXMiIGlmIGdpdmVuID09IDEgYW5kIG5vdCBrd29ubHlfZ2l2ZW4gZWxzZSAid2VyZSIpKQorCiBkZWYgZ2V0Y2FsbGFyZ3MoZnVuYywgKnBvc2l0aW9uYWwsICoqbmFtZWQpOgogICAgICIiIkdldCB0aGUgbWFwcGluZyBvZiBhcmd1bWVudHMgdG8gdmFsdWVzLgogCkBAIC05NDIsNjQgKzk3OCw1MyBAQAogICAgIGZfbmFtZSA9IGZ1bmMuX19uYW1lX18KICAgICBhcmcydmFsdWUgPSB7fQogCisKICAgICBpZiBpc21ldGhvZChmdW5jKSBhbmQgZnVuYy5fX3NlbGZfXyBpcyBub3QgTm9uZToKICAgICAgICAgIyBpbXBsaWNpdCAnc2VsZicgKG9yICdjbHMnIGZvciBjbGFzc21ldGhvZHMpIGFyZ3VtZW50CiAgICAgICAgIHBvc2l0aW9uYWwgPSAoZnVuYy5fX3NlbGZfXywpICsgcG9zaXRpb25hbAogICAgIG51bV9wb3MgPSBsZW4ocG9zaXRpb25hbCkKLSAgICBudW1fdG90YWwgPSBudW1fcG9zICsgbGVuKG5hbWVkKQogICAgIG51bV9hcmdzID0gbGVuKGFyZ3MpCiAgICAgbnVtX2RlZmF1bHRzID0gbGVuKGRlZmF1bHRzKSBpZiBkZWZhdWx0cyBlbHNlIDAKLSAgICBmb3IgYXJnLCB2YWx1ZSBpbiB6aXAoYXJncywgcG9zaXRpb25hbCk6Ci0gICAgICAgIGFyZzJ2YWx1ZVthcmddID0gdmFsdWUKLSAgICBpZiB2YXJhcmdzOgotICAgICAgICBpZiBudW1fcG9zID4gbnVtX2FyZ3M6Ci0gICAgICAgICAgICBhcmcydmFsdWVbdmFyYXJnc10gPSBwb3NpdGlvbmFsWy0obnVtX3Bvcy1udW1fYXJncyk6XQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgYXJnMnZhbHVlW3ZhcmFyZ3NdID0gKCkKLSAgICBlbGlmIDAgPCBudW1fYXJncyA8IG51bV9wb3M6Ci0gICAgICAgIHJhaXNlIFR5cGVFcnJvcignJXMoKSB0YWtlcyAlcyAlZCBwb3NpdGlvbmFsICVzICglZCBnaXZlbiknICUgKAotICAgICAgICAgICAgZl9uYW1lLCAnYXQgbW9zdCcgaWYgZGVmYXVsdHMgZWxzZSAnZXhhY3RseScsIG51bV9hcmdzLAotICAgICAgICAgICAgJ2FyZ3VtZW50cycgaWYgbnVtX2FyZ3MgPiAxIGVsc2UgJ2FyZ3VtZW50JywgbnVtX3RvdGFsKSkKLSAgICBlbGlmIG51bV9hcmdzID09IDAgYW5kIG51bV90b3RhbDoKLSAgICAgICAgaWYgdmFya3cgb3Iga3dvbmx5YXJnczoKLSAgICAgICAgICAgIGlmIG51bV9wb3M6Ci0gICAgICAgICAgICAgICAgIyBYWFg6IFdlIHNob3VsZCB1c2UgbnVtX3BvcywgYnV0IFB5dGhvbiBhbHNvIHVzZXMgbnVtX3RvdGFsOgotICAgICAgICAgICAgICAgIHJhaXNlIFR5cGVFcnJvcignJXMoKSB0YWtlcyBleGFjdGx5IDAgcG9zaXRpb25hbCBhcmd1bWVudHMgJwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnKCVkIGdpdmVuKScgJSAoZl9uYW1lLCBudW1fdG90YWwpKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCclcygpIHRha2VzIG5vIGFyZ3VtZW50cyAoJWQgZ2l2ZW4pJyAlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZfbmFtZSwgbnVtX3RvdGFsKSkKIAotICAgIGZvciBhcmcgaW4gaXRlcnRvb2xzLmNoYWluKGFyZ3MsIGt3b25seWFyZ3MpOgotICAgICAgICBpZiBhcmcgaW4gbmFtZWQ6Ci0gICAgICAgICAgICBpZiBhcmcgaW4gYXJnMnZhbHVlOgotICAgICAgICAgICAgICAgIHJhaXNlIFR5cGVFcnJvcigiJXMoKSBnb3QgbXVsdGlwbGUgdmFsdWVzIGZvciBrZXl3b3JkICIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFyZ3VtZW50ICclcyciICUgKGZfbmFtZSwgYXJnKSkKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgYXJnMnZhbHVlW2FyZ10gPSBuYW1lZC5wb3AoYXJnKQotICAgIGZvciBrd29ubHlhcmcgaW4ga3dvbmx5YXJnczoKLSAgICAgICAgaWYga3dvbmx5YXJnIG5vdCBpbiBhcmcydmFsdWU6Ci0gICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgYXJnMnZhbHVlW2t3b25seWFyZ10gPSBrd29ubHlkZWZhdWx0c1trd29ubHlhcmddCi0gICAgICAgICAgICBleGNlcHQgS2V5RXJyb3I6Ci0gICAgICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCIlcygpIG5lZWRzIGtleXdvcmQtb25seSBhcmd1bWVudCAlcyIgJQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZl9uYW1lLCBrd29ubHlhcmcpKQotICAgIGlmIGRlZmF1bHRzOiAgICAjIGZpbGwgaW4gYW55IG1pc3NpbmcgdmFsdWVzIHdpdGggdGhlIGRlZmF1bHRzCi0gICAgICAgIGZvciBhcmcsIHZhbHVlIGluIHppcChhcmdzWy1udW1fZGVmYXVsdHM6XSwgZGVmYXVsdHMpOgotICAgICAgICAgICAgaWYgYXJnIG5vdCBpbiBhcmcydmFsdWU6Ci0gICAgICAgICAgICAgICAgYXJnMnZhbHVlW2FyZ10gPSB2YWx1ZQorICAgIG4gPSBtaW4obnVtX3BvcywgbnVtX2FyZ3MpCisgICAgZm9yIGkgaW4gcmFuZ2Uobik6CisgICAgICAgIGFyZzJ2YWx1ZVthcmdzW2ldXSA9IHBvc2l0aW9uYWxbaV0KKyAgICBpZiB2YXJhcmdzOgorICAgICAgICBhcmcydmFsdWVbdmFyYXJnc10gPSB0dXBsZShwb3NpdGlvbmFsW246XSkKKyAgICBwb3NzaWJsZV9rd2FyZ3MgPSBzZXQoYXJncyArIGt3b25seWFyZ3MpCiAgICAgaWYgdmFya3c6Ci0gICAgICAgIGFyZzJ2YWx1ZVt2YXJrd10gPSBuYW1lZAotICAgIGVsaWYgbmFtZWQ6Ci0gICAgICAgIHVuZXhwZWN0ZWQgPSBuZXh0KGl0ZXIobmFtZWQpKQotICAgICAgICByYWlzZSBUeXBlRXJyb3IoIiVzKCkgZ290IGFuIHVuZXhwZWN0ZWQga2V5d29yZCBhcmd1bWVudCAnJXMnIiAlCi0gICAgICAgICAgICAgICAgICAgICAgICAoZl9uYW1lLCB1bmV4cGVjdGVkKSkKLSAgICB1bmFzc2lnbmVkID0gbnVtX2FyZ3MgLSBsZW4oW2FyZyBmb3IgYXJnIGluIGFyZ3MgaWYgYXJnIGluIGFyZzJ2YWx1ZV0pCi0gICAgaWYgdW5hc3NpZ25lZDoKLSAgICAgICAgbnVtX3JlcXVpcmVkID0gbnVtX2FyZ3MgLSBudW1fZGVmYXVsdHMKLSAgICAgICAgcmFpc2UgVHlwZUVycm9yKCclcygpIHRha2VzICVzICVkICVzICglZCBnaXZlbiknICUgKAotICAgICAgICAgICAgZl9uYW1lLCAnYXQgbGVhc3QnIGlmIGRlZmF1bHRzIGVsc2UgJ2V4YWN0bHknLCBudW1fcmVxdWlyZWQsCi0gICAgICAgICAgICAnYXJndW1lbnRzJyBpZiBudW1fcmVxdWlyZWQgPiAxIGVsc2UgJ2FyZ3VtZW50JywgbnVtX3RvdGFsKSkKKyAgICAgICAgYXJnMnZhbHVlW3Zhcmt3XSA9IHt9CisgICAgZm9yIGt3LCB2YWx1ZSBpbiBuYW1lZC5pdGVtcygpOgorICAgICAgICBpZiBrdyBub3QgaW4gcG9zc2libGVfa3dhcmdzOgorICAgICAgICAgICAgaWYgbm90IHZhcmt3OgorICAgICAgICAgICAgICAgIHJhaXNlIFR5cGVFcnJvcigiJXMoKSBnb3QgYW4gdW5leHBlY3RlZCBrZXl3b3JkIGFyZ3VtZW50ICVyIiAlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmX25hbWUsIGt3KSkKKyAgICAgICAgICAgIGFyZzJ2YWx1ZVt2YXJrd11ba3ddID0gdmFsdWUKKyAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgIGlmIGt3IGluIGFyZzJ2YWx1ZToKKyAgICAgICAgICAgIHJhaXNlIFR5cGVFcnJvcigiJXMoKSBnb3QgbXVsdGlwbGUgdmFsdWVzIGZvciBhcmd1bWVudCAlciIgJQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmX25hbWUsIGt3KSkKKyAgICAgICAgYXJnMnZhbHVlW2t3XSA9IHZhbHVlCisgICAgaWYgbnVtX3BvcyA+IG51bV9hcmdzIGFuZCBub3QgdmFyYXJnczoKKyAgICAgICAgX3Rvb19tYW55KGZfbmFtZSwgYXJncywga3dvbmx5YXJncywgdmFyYXJncywgbnVtX2RlZmF1bHRzLAorICAgICAgICAgICAgICAgICAgIG51bV9wb3MsIGFyZzJ2YWx1ZSkKKyAgICBpZiBudW1fcG9zIDwgbnVtX2FyZ3M6CisgICAgICAgIHJlcSA9IGFyZ3NbOm51bV9hcmdzIC0gbnVtX2RlZmF1bHRzXQorICAgICAgICBmb3IgYXJnIGluIHJlcToKKyAgICAgICAgICAgIGlmIGFyZyBub3QgaW4gYXJnMnZhbHVlOgorICAgICAgICAgICAgICAgIF9taXNzaW5nX2FyZ3VtZW50cyhmX25hbWUsIHJlcSwgVHJ1ZSwgYXJnMnZhbHVlKQorICAgICAgICBmb3IgaSwgYXJnIGluIGVudW1lcmF0ZShhcmdzW251bV9hcmdzIC0gbnVtX2RlZmF1bHRzOl0pOgorICAgICAgICAgICAgaWYgYXJnIG5vdCBpbiBhcmcydmFsdWU6CisgICAgICAgICAgICAgICAgYXJnMnZhbHVlW2FyZ10gPSBkZWZhdWx0c1tpXQorICAgIG1pc3NpbmcgPSAwCisgICAgZm9yIGt3YXJnIGluIGt3b25seWFyZ3M6CisgICAgICAgIGlmIGt3YXJnIG5vdCBpbiBhcmcydmFsdWU6CisgICAgICAgICAgICBpZiBrd2FyZyBpbiBrd29ubHlkZWZhdWx0czoKKyAgICAgICAgICAgICAgICBhcmcydmFsdWVba3dhcmddID0ga3dvbmx5ZGVmYXVsdHNba3dhcmddCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIG1pc3NpbmcgKz0gMQorICAgIGlmIG1pc3Npbmc6CisgICAgICAgIF9taXNzaW5nX2FyZ3VtZW50cyhmX25hbWUsIGt3b25seWFyZ3MsIEZhbHNlLCBhcmcydmFsdWUpCiAgICAgcmV0dXJuIGFyZzJ2YWx1ZQogCiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIHN0YWNrIGZyYW1lIGV4dHJhY3Rpb24KZGlmZiAtLWdpdCBhL0xpYi9qc29uL2RlY29kZXIucHkgYi9MaWIvanNvbi9kZWNvZGVyLnB5CmluZGV4IDMxNzRlMzEuLmU3YzA1MzkgMTAwNjQ0Ci0tLSBhL0xpYi9qc29uL2RlY29kZXIucHkKKysrIGIvTGliL2pzb24vZGVjb2Rlci5weQpAQCAtMTIxLDggKzEyMSw3IEBACiAgICAgICAgICAgICAgICAgbXNnID0gIkludmFsaWQgXFx1WFhYWCBlc2NhcGUiCiAgICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcihlcnJtc2cobXNnLCBzLCBlbmQpKQogICAgICAgICAgICAgdW5pID0gaW50KGVzYywgMTYpCi0gICAgICAgICAgICAjIENoZWNrIGZvciBzdXJyb2dhdGUgcGFpciBvbiBVQ1MtNCBzeXN0ZW1zCi0gICAgICAgICAgICBpZiAweGQ4MDAgPD0gdW5pIDw9IDB4ZGJmZiBhbmQgc3lzLm1heHVuaWNvZGUgPiA2NTUzNToKKyAgICAgICAgICAgIGlmIDB4ZDgwMCA8PSB1bmkgPD0gMHhkYmZmOgogICAgICAgICAgICAgICAgIG1zZyA9ICJJbnZhbGlkIFxcdVhYWFhcXHVYWFhYIHN1cnJvZ2F0ZSBwYWlyIgogICAgICAgICAgICAgICAgIGlmIG5vdCBzW2VuZCArIDU6ZW5kICsgN10gPT0gJ1xcdSc6CiAgICAgICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoZXJybXNnKG1zZywgcywgZW5kKSkKZGlmZiAtLWdpdCBhL0xpYi9saWIydG8zL19fbWFpbl9fLnB5IGIvTGliL2xpYjJ0bzMvX19tYWluX18ucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODA2ODhiYQotLS0gL2Rldi9udWxsCisrKyBiL0xpYi9saWIydG8zL19fbWFpbl9fLnB5CkBAIC0wLDAgKzEsNCBAQAoraW1wb3J0IHN5cworZnJvbSAubWFpbiBpbXBvcnQgbWFpbgorCitzeXMuZXhpdChtYWluKCJsaWIydG8zLmZpeGVzIikpCmRpZmYgLS1naXQgYS9MaWIvbGliMnRvMy9maXhlcl9iYXNlLnB5IGIvTGliL2xpYjJ0bzMvZml4ZXJfYmFzZS5weQppbmRleCBhZmMwNDY3Li5iMTc2MDU2IDEwMDY0NAotLS0gYS9MaWIvbGliMnRvMy9maXhlcl9iYXNlLnB5CisrKyBiL0xpYi9saWIydG8zL2ZpeGVyX2Jhc2UucHkKQEAgLTI3LDcgKzI3LDYgQEAKICAgICBwYXR0ZXJuX3RyZWUgPSBOb25lICMgVHJlZSByZXByZXNlbnRhdGlvbiBvZiB0aGUgcGF0dGVybgogICAgIG9wdGlvbnMgPSBOb25lICAjIE9wdGlvbnMgb2JqZWN0IHBhc3NlZCB0byBpbml0aWFsaXplcgogICAgIGZpbGVuYW1lID0gTm9uZSAjIFRoZSBmaWxlbmFtZSAoc2V0IGJ5IHNldF9maWxlbmFtZSkKLSAgICBsb2dnZXIgPSBOb25lICAgIyBBIGxvZ2dlciAoc2V0IGJ5IHNldF9maWxlbmFtZSkKICAgICBudW1iZXJzID0gaXRlcnRvb2xzLmNvdW50KDEpICMgRm9yIG5ld19uYW1lKCkKICAgICB1c2VkX25hbWVzID0gc2V0KCkgIyBBIHNldCBvZiBhbGwgdXNlZCBOQU1FcwogICAgIG9yZGVyID0gInBvc3QiICMgRG9lcyB0aGUgZml4ZXIgcHJlZmVyIHByZS0gb3IgcG9zdC1vcmRlciB0cmF2ZXJzYWwKQEAgLTcwLDEyICs2OSwxMSBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aXRoX3RyZWU9VHJ1ZSkKIAogICAgIGRlZiBzZXRfZmlsZW5hbWUoc2VsZiwgZmlsZW5hbWUpOgotICAgICAgICAiIiJTZXQgdGhlIGZpbGVuYW1lLCBhbmQgYSBsb2dnZXIgZGVyaXZlZCBmcm9tIGl0LgorICAgICAgICAiIiJTZXQgdGhlIGZpbGVuYW1lLgogCiAgICAgICAgIFRoZSBtYWluIHJlZmFjdG9yaW5nIHRvb2wgc2hvdWxkIGNhbGwgdGhpcy4KICAgICAgICAgIiIiCiAgICAgICAgIHNlbGYuZmlsZW5hbWUgPSBmaWxlbmFtZQotICAgICAgICBzZWxmLmxvZ2dlciA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKGZpbGVuYW1lKQogCiAgICAgZGVmIG1hdGNoKHNlbGYsIG5vZGUpOgogICAgICAgICAiIiJSZXR1cm5zIG1hdGNoIGZvciBhIGdpdmVuIHBhcnNlIHRyZWUgbm9kZS4KZGlmZiAtLWdpdCBhL0xpYi9saWIydG8zL3B5dHJlZS5weSBiL0xpYi9saWIydG8zL3B5dHJlZS5weQppbmRleCBmYTQ5NDJmMy4uMTdjYmYwYSAxMDA2NDQKLS0tIGEvTGliL2xpYjJ0bzMvcHl0cmVlLnB5CisrKyBiL0xpYi9saWIydG8zL3B5dHJlZS5weQpAQCAtMTA5LDI2ICsxMDksNiBAQAogICAgICAgICAiIiIKICAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcgogCi0gICAgZGVmIHNldF9wcmVmaXgoc2VsZiwgcHJlZml4KToKLSAgICAgICAgIiIiCi0gICAgICAgIFNldCB0aGUgcHJlZml4IGZvciB0aGUgbm9kZSAoc2VlIExlYWYgY2xhc3MpLgotCi0gICAgICAgIERFUFJFQ0FURUQ7IHVzZSB0aGUgcHJlZml4IHByb3BlcnR5IGRpcmVjdGx5LgotICAgICAgICAiIiIKLSAgICAgICAgd2FybmluZ3Mud2Fybigic2V0X3ByZWZpeCgpIGlzIGRlcHJlY2F0ZWQ7IHVzZSB0aGUgcHJlZml4IHByb3BlcnR5IiwKLSAgICAgICAgICAgICAgICAgICAgICBEZXByZWNhdGlvbldhcm5pbmcsIHN0YWNrbGV2ZWw9MikKLSAgICAgICAgc2VsZi5wcmVmaXggPSBwcmVmaXgKLQotICAgIGRlZiBnZXRfcHJlZml4KHNlbGYpOgotICAgICAgICAiIiIKLSAgICAgICAgUmV0dXJuIHRoZSBwcmVmaXggZm9yIHRoZSBub2RlIChzZWUgTGVhZiBjbGFzcykuCi0KLSAgICAgICAgREVQUkVDQVRFRDsgdXNlIHRoZSBwcmVmaXggcHJvcGVydHkgZGlyZWN0bHkuCi0gICAgICAgICIiIgotICAgICAgICB3YXJuaW5ncy53YXJuKCJnZXRfcHJlZml4KCkgaXMgZGVwcmVjYXRlZDsgdXNlIHRoZSBwcmVmaXggcHJvcGVydHkiLAotICAgICAgICAgICAgICAgICAgICAgIERlcHJlY2F0aW9uV2FybmluZywgc3RhY2tsZXZlbD0yKQotICAgICAgICByZXR1cm4gc2VsZi5wcmVmaXgKLQogICAgIGRlZiByZXBsYWNlKHNlbGYsIG5ldyk6CiAgICAgICAgICIiIlJlcGxhY2UgdGhpcyBub2RlIHdpdGggYSBuZXcgb25lIGluIHRoZSBwYXJlbnQuIiIiCiAgICAgICAgIGFzc2VydCBzZWxmLnBhcmVudCBpcyBub3QgTm9uZSwgc3RyKHNlbGYpCmRpZmYgLS1naXQgYS9MaWIvbGliMnRvMy9yZWZhY3Rvci5weSBiL0xpYi9saWIydG8zL3JlZmFjdG9yLnB5CmluZGV4IDdjZDAzNGEuLjFlODU4MTAgMTAwNjQ0Ci0tLSBhL0xpYi9saWIydG8zL3JlZmFjdG9yLnB5CisrKyBiL0xpYi9saWIydG8zL3JlZmFjdG9yLnB5CkBAIC01NjYsNyArNTY2LDcgQEAKICAgICAgICAgYmxvY2tfbGluZW5vID0gTm9uZQogICAgICAgICBpbmRlbnQgPSBOb25lCiAgICAgICAgIGxpbmVubyA9IDAKLSAgICAgICAgZm9yIGxpbmUgaW4gaW5wdXQuc3BsaXRsaW5lcyhUcnVlKToKKyAgICAgICAgZm9yIGxpbmUgaW4gaW5wdXQuc3BsaXRsaW5lcyhrZWVwZW5kcz1UcnVlKToKICAgICAgICAgICAgIGxpbmVubyArPSAxCiAgICAgICAgICAgICBpZiBsaW5lLmxzdHJpcCgpLnN0YXJ0c3dpdGgoc2VsZi5QUzEpOgogICAgICAgICAgICAgICAgIGlmIGJsb2NrIGlzIG5vdCBOb25lOgpAQCAtNjEwLDcgKzYxMCw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlbmFtZSwgbGluZW5vLCBlcnIuX19jbGFzc19fLl9fbmFtZV9fLCBlcnIpCiAgICAgICAgICAgICByZXR1cm4gYmxvY2sKICAgICAgICAgaWYgc2VsZi5yZWZhY3Rvcl90cmVlKHRyZWUsIGZpbGVuYW1lKToKLSAgICAgICAgICAgIG5ldyA9IHN0cih0cmVlKS5zcGxpdGxpbmVzKFRydWUpCisgICAgICAgICAgICBuZXcgPSBzdHIodHJlZSkuc3BsaXRsaW5lcyhrZWVwZW5kcz1UcnVlKQogICAgICAgICAgICAgIyBVbmRvIHRoZSBhZGp1c3RtZW50IG9mIHRoZSBsaW5lIG51bWJlcnMgaW4gd3JhcF90b2tzKCkgYmVsb3cuCiAgICAgICAgICAgICBjbGlwcGVkLCBuZXcgPSBuZXdbOmxpbmVuby0xXSwgbmV3W2xpbmVuby0xOl0KICAgICAgICAgICAgIGFzc2VydCBjbGlwcGVkID09IFsiXG4iXSAqIChsaW5lbm8tMSksIGNsaXBwZWQKZGlmZiAtLWdpdCBhL0xpYi9saWIydG8zL3Rlc3RzL3Rlc3RfcHl0cmVlLnB5IGIvTGliL2xpYjJ0bzMvdGVzdHMvdGVzdF9weXRyZWUucHkKaW5kZXggYWM3ZDkwMC4uYTJhYjFmMyAxMDA2NDQKLS0tIGEvTGliL2xpYjJ0bzMvdGVzdHMvdGVzdF9weXRyZWUucHkKKysrIGIvTGliL2xpYjJ0bzMvdGVzdHMvdGVzdF9weXRyZWUucHkKQEAgLTMxLDIzICszMSw2IEBACiAKICAgICAiIiJVbml0IHRlc3RzIGZvciBub2RlcyAoQmFzZSwgTGVhZiwgTm9kZSkuIiIiCiAKLSAgICBpZiBzeXMudmVyc2lvbl9pbmZvID49ICgyLDYpOgotICAgICAgICAjIHdhcm5pbmdzLmNhdGNoX3dhcm5pbmdzIGlzIG5ldyBpbiAyLjYuCi0gICAgICAgIGRlZiB0ZXN0X2RlcHJlY2F0ZWRfcHJlZml4X21ldGhvZHMoc2VsZik6Ci0gICAgICAgICAgICBsID0gcHl0cmVlLkxlYWYoMTAwLCAiZm9vIikKLSAgICAgICAgICAgIHdpdGggd2FybmluZ3MuY2F0Y2hfd2FybmluZ3MocmVjb3JkPVRydWUpIGFzIHc6Ci0gICAgICAgICAgICAgICAgd2FybmluZ3Muc2ltcGxlZmlsdGVyKCJhbHdheXMiLCBEZXByZWNhdGlvbldhcm5pbmcpCi0gICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsLmdldF9wcmVmaXgoKSwgIiIpCi0gICAgICAgICAgICAgICAgbC5zZXRfcHJlZml4KCJoaSIpCi0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGwucHJlZml4LCAiaGkiKQotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4odyksIDIpCi0gICAgICAgICAgICBmb3Igd2FybmluZyBpbiB3OgotICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSh3YXJuaW5nLmNhdGVnb3J5IGlzIERlcHJlY2F0aW9uV2FybmluZykKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKHdbMF0ubWVzc2FnZSksICJnZXRfcHJlZml4KCkgaXMgZGVwcmVjYXRlZDsgIiBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXNlIHRoZSBwcmVmaXggcHJvcGVydHkiKQotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdHIod1sxXS5tZXNzYWdlKSwgInNldF9wcmVmaXgoKSBpcyBkZXByZWNhdGVkOyAiIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1c2UgdGhlIHByZWZpeCBwcm9wZXJ0eSIpCi0KICAgICBkZWYgdGVzdF9pbnN0YW50aWF0ZV9iYXNlKHNlbGYpOgogICAgICAgICBpZiBfX2RlYnVnX186CiAgICAgICAgICAgICAjIFRlc3QgdGhhdCBpbnN0YW50aWF0aW5nIEJhc2UoKSByYWlzZXMgYW4gQXNzZXJ0aW9uRXJyb3IKZGlmZiAtLWdpdCBhL0xpYi9sb2dnaW5nL19faW5pdF9fLnB5IGIvTGliL2xvZ2dpbmcvX19pbml0X18ucHkKaW5kZXggNDE5MWIyMi4uZTc5MDE4ZiAxMDA2NDQKLS0tIGEvTGliL2xvZ2dpbmcvX19pbml0X18ucHkKKysrIGIvTGliL2xvZ2dpbmcvX19pbml0X18ucHkKQEAgLTM2LDE1ICszNiw5IEBACiAgICAgICAgICAgICdnZXRMb2dSZWNvcmRGYWN0b3J5JywgJ3NldExvZ1JlY29yZEZhY3RvcnknLCAnbGFzdFJlc29ydCddCiAKIHRyeToKLSAgICBpbXBvcnQgY29kZWNzCi1leGNlcHQgSW1wb3J0RXJyb3I6Ci0gICAgY29kZWNzID0gTm9uZQotCi10cnk6Ci0gICAgaW1wb3J0IF90aHJlYWQgYXMgdGhyZWFkCiAgICAgaW1wb3J0IHRocmVhZGluZwotZXhjZXB0IEltcG9ydEVycm9yOgotICAgIHRocmVhZCA9IE5vbmUKK2V4Y2VwdCBJbXBvcnRFcnJvcjogI3ByYWdtYTogbm8gY292ZXIKKyAgICB0aHJlYWRpbmcgPSBOb25lCiAKIF9fYXV0aG9yX18gID0gIlZpbmF5IFNhamlwIDx2aW5heV9zYWppcEByZWQtZG92ZS5jb20+IgogX19zdGF0dXNfXyAgPSAicHJvZHVjdGlvbiIKQEAgLTY1LDE2ICs1OSwxNiBAQAogICAgIF9zcmNmaWxlID0gX19maWxlX18KIF9zcmNmaWxlID0gb3MucGF0aC5ub3JtY2FzZShfc3JjZmlsZSkKIAotIyBuZXh0IGJpdCBmaWxjaGVkIGZyb20gMS41LjIncyBpbnNwZWN0LnB5Ci1kZWYgY3VycmVudGZyYW1lKCk6Ci0gICAgIiIiUmV0dXJuIHRoZSBmcmFtZSBvYmplY3QgZm9yIHRoZSBjYWxsZXIncyBzdGFjayBmcmFtZS4iIiIKLSAgICB0cnk6Ci0gICAgICAgIHJhaXNlIEV4Y2VwdGlvbgotICAgIGV4Y2VwdDoKLSAgICAgICAgcmV0dXJuIHN5cy5leGNfaW5mbygpWzJdLnRiX2ZyYW1lLmZfYmFjawogCi1pZiBoYXNhdHRyKHN5cywgJ19nZXRmcmFtZScpOiBjdXJyZW50ZnJhbWUgPSBsYW1iZGE6IHN5cy5fZ2V0ZnJhbWUoMykKLSMgZG9uZSBmaWxjaGluZworaWYgaGFzYXR0cihzeXMsICdfZ2V0ZnJhbWUnKToKKyAgICBjdXJyZW50ZnJhbWUgPSBsYW1iZGE6IHN5cy5fZ2V0ZnJhbWUoMykKK2Vsc2U6ICNwcmFnbWE6IG5vIGNvdmVyCisgICAgZGVmIGN1cnJlbnRmcmFtZSgpOgorICAgICAgICAiIiJSZXR1cm4gdGhlIGZyYW1lIG9iamVjdCBmb3IgdGhlIGNhbGxlcidzIHN0YWNrIGZyYW1lLiIiIgorICAgICAgICB0cnk6CisgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24KKyAgICAgICAgZXhjZXB0OgorICAgICAgICAgICAgcmV0dXJuIHN5cy5leGNfaW5mbygpWzJdLnRiX2ZyYW1lLmZfYmFjawogCiAjIF9zcmNmaWxlIGlzIG9ubHkgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHN5cy5fZ2V0ZnJhbWUoKS4KICMgVG8gcHJvdmlkZSBjb21wYXRpYmlsaXR5IHdpdGggb2xkZXIgdmVyc2lvbnMgb2YgUHl0aG9uLCBzZXQgX3NyY2ZpbGUKQEAgLTkyLDIyICs4NiwyMiBAQAogI3JhaXNlRXhjZXB0aW9ucyBpcyB1c2VkIHRvIHNlZSBpZiBleGNlcHRpb25zIGR1cmluZyBoYW5kbGluZyBzaG91bGQgYmUKICNwcm9wYWdhdGVkCiAjCi1yYWlzZUV4Y2VwdGlvbnMgPSAxCityYWlzZUV4Y2VwdGlvbnMgPSBUcnVlCiAKICMKICMgSWYgeW91IGRvbid0IHdhbnQgdGhyZWFkaW5nIGluZm9ybWF0aW9uIGluIHRoZSBsb2csIHNldCB0aGlzIHRvIHplcm8KICMKLWxvZ1RocmVhZHMgPSAxCitsb2dUaHJlYWRzID0gVHJ1ZQogCiAjCiAjIElmIHlvdSBkb24ndCB3YW50IG11bHRpcHJvY2Vzc2luZyBpbmZvcm1hdGlvbiBpbiB0aGUgbG9nLCBzZXQgdGhpcyB0byB6ZXJvCiAjCi1sb2dNdWx0aXByb2Nlc3NpbmcgPSAxCitsb2dNdWx0aXByb2Nlc3NpbmcgPSBUcnVlCiAKICMKICMgSWYgeW91IGRvbid0IHdhbnQgcHJvY2VzcyBpbmZvcm1hdGlvbiBpbiB0aGUgbG9nLCBzZXQgdGhpcyB0byB6ZXJvCiAjCi1sb2dQcm9jZXNzZXMgPSAxCitsb2dQcm9jZXNzZXMgPSBUcnVlCiAKICMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICMgICBMZXZlbCByZWxhdGVkIHN0dWZmCkBAIC0xOTcsOSArMTkxLDkgQEAKICN0aGUgbG9jayB3b3VsZCBhbHJlYWR5IGhhdmUgYmVlbiBhY3F1aXJlZCAtIHNvIHdlIG5lZWQgYW4gUkxvY2suCiAjVGhlIHNhbWUgYXJndW1lbnQgYXBwbGllcyB0byBMb2dnZXJzIGFuZCBNYW5hZ2VyLmxvZ2dlckRpY3QuCiAjCi1pZiB0aHJlYWQ6CitpZiB0aHJlYWRpbmc6CiAgICAgX2xvY2sgPSB0aHJlYWRpbmcuUkxvY2soKQotZWxzZToKK2Vsc2U6ICNwcmFnbWE6IG5vIGNvdmVyCiAgICAgX2xvY2sgPSBOb25lCiAKIApAQCAtMjUyLDcgKzI0Niw3IEBACiAgICAgICAgICMgZHVyaW5nIGZvcm1hdHRpbmcsIHdlIHRlc3QgdG8gc2VlIGlmIHRoZSBhcmcgaXMgcHJlc2VudCB1c2luZwogICAgICAgICAjICdpZiBzZWxmLmFyZ3M6Jy4gSWYgdGhlIGV2ZW50IGJlaW5nIGxvZ2dlZCBpcyBlLmcuICdWYWx1ZSBpcyAlZCcKICAgICAgICAgIyBhbmQgaWYgdGhlIHBhc3NlZCBhcmcgZmFpbHMgJ2lmIHNlbGYuYXJnczonIHRoZW4gbm8gZm9ybWF0dGluZwotICAgICAgICAjIGlzIGRvbmUuIEZvciBleGFtcGxlLCBsb2dnZXIud2FybignVmFsdWUgaXMgJWQnLCAwKSB3b3VsZCBsb2cKKyAgICAgICAgIyBpcyBkb25lLiBGb3IgZXhhbXBsZSwgbG9nZ2VyLndhcm5pbmcoJ1ZhbHVlIGlzICVkJywgMCkgd291bGQgbG9nCiAgICAgICAgICMgJ1ZhbHVlIGlzICVkJyBpbnN0ZWFkIG9mICdWYWx1ZSBpcyAwJy4KICAgICAgICAgIyBGb3IgdGhlIHVzZSBjYXNlIG9mIHBhc3NpbmcgYSBkaWN0aW9uYXJ5LCB0aGlzIHNob3VsZCBub3QgYmUgYQogICAgICAgICAjIHByb2JsZW0uCkBAIC0yNzYsMTMgKzI3MCwxMyBAQAogICAgICAgICBzZWxmLmNyZWF0ZWQgPSBjdAogICAgICAgICBzZWxmLm1zZWNzID0gKGN0IC0gaW50KGN0KSkgKiAxMDAwCiAgICAgICAgIHNlbGYucmVsYXRpdmVDcmVhdGVkID0gKHNlbGYuY3JlYXRlZCAtIF9zdGFydFRpbWUpICogMTAwMAotICAgICAgICBpZiBsb2dUaHJlYWRzIGFuZCB0aHJlYWQ6Ci0gICAgICAgICAgICBzZWxmLnRocmVhZCA9IHRocmVhZC5nZXRfaWRlbnQoKQorICAgICAgICBpZiBsb2dUaHJlYWRzIGFuZCB0aHJlYWRpbmc6CisgICAgICAgICAgICBzZWxmLnRocmVhZCA9IHRocmVhZGluZy5nZXRfaWRlbnQoKQogICAgICAgICAgICAgc2VsZi50aHJlYWROYW1lID0gdGhyZWFkaW5nLmN1cnJlbnRfdGhyZWFkKCkubmFtZQotICAgICAgICBlbHNlOgorICAgICAgICBlbHNlOiAjIHByYWdtYTogbm8gY292ZXIKICAgICAgICAgICAgIHNlbGYudGhyZWFkID0gTm9uZQogICAgICAgICAgICAgc2VsZi50aHJlYWROYW1lID0gTm9uZQotICAgICAgICBpZiBub3QgbG9nTXVsdGlwcm9jZXNzaW5nOgorICAgICAgICBpZiBub3QgbG9nTXVsdGlwcm9jZXNzaW5nOiAjIHByYWdtYTogbm8gY292ZXIKICAgICAgICAgICAgIHNlbGYucHJvY2Vzc05hbWUgPSBOb25lCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBzZWxmLnByb2Nlc3NOYW1lID0gJ01haW5Qcm9jZXNzJwpAQCAtMjk0LDcgKzI4OCw3IEBACiAgICAgICAgICAgICAgICAgIyBmb3IgYW4gZXhhbXBsZQogICAgICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICAgICAgc2VsZi5wcm9jZXNzTmFtZSA9IG1wLmN1cnJlbnRfcHJvY2VzcygpLm5hbWUKLSAgICAgICAgICAgICAgICBleGNlcHQgRXhjZXB0aW9uOgorICAgICAgICAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb246ICNwcmFnbWE6IG5vIGNvdmVyCiAgICAgICAgICAgICAgICAgICAgIHBhc3MKICAgICAgICAgaWYgbG9nUHJvY2Vzc2VzIGFuZCBoYXNhdHRyKG9zLCAnZ2V0cGlkJyk6CiAgICAgICAgICAgICBzZWxmLnByb2Nlc3MgPSBvcy5nZXRwaWQoKQpAQCAtNDY2LDYgKzQ2MCw5IEBACiAgICAgICAgIHNlbGYuX2ZtdCA9IHNlbGYuX3N0eWxlLl9mbXQKICAgICAgICAgc2VsZi5kYXRlZm10ID0gZGF0ZWZtdAogCisgICAgZGVmYXVsdF90aW1lX2Zvcm1hdCA9ICclWS0lbS0lZCAlSDolTTolUycKKyAgICBkZWZhdWx0X21zZWNfZm9ybWF0ID0gJyVzLCUwM2QnCisKICAgICBkZWYgZm9ybWF0VGltZShzZWxmLCByZWNvcmQsIGRhdGVmbXQ9Tm9uZSk6CiAgICAgICAgICIiIgogICAgICAgICBSZXR1cm4gdGhlIGNyZWF0aW9uIHRpbWUgb2YgdGhlIHNwZWNpZmllZCBMb2dSZWNvcmQgYXMgZm9ybWF0dGVkIHRleHQuCkBAIC00ODgsOCArNDg1LDggQEAKICAgICAgICAgaWYgZGF0ZWZtdDoKICAgICAgICAgICAgIHMgPSB0aW1lLnN0cmZ0aW1lKGRhdGVmbXQsIGN0KQogICAgICAgICBlbHNlOgotICAgICAgICAgICAgdCA9IHRpbWUuc3RyZnRpbWUoIiVZLSVtLSVkICVIOiVNOiVTIiwgY3QpCi0gICAgICAgICAgICBzID0gIiVzLCUwM2QiICUgKHQsIHJlY29yZC5tc2VjcykgIyB0aGUgdXNlIG9mICUgaGVyZSBpcyBpbnRlcm5hbAorICAgICAgICAgICAgdCA9IHRpbWUuc3RyZnRpbWUoc2VsZi5kZWZhdWx0X3RpbWVfZm9ybWF0LCBjdCkKKyAgICAgICAgICAgIHMgPSBzZWxmLmRlZmF1bHRfbXNlY19mb3JtYXQgJSAodCwgcmVjb3JkLm1zZWNzKQogICAgICAgICByZXR1cm4gcwogCiAgICAgZGVmIGZvcm1hdEV4Y2VwdGlvbihzZWxmLCBlaSk6CkBAIC02NDIsMTEgKzYzOSwxMSBAQAogICAgICAgICB5ZXMuIElmIGRlZW1lZCBhcHByb3ByaWF0ZSwgdGhlIHJlY29yZCBtYXkgYmUgbW9kaWZpZWQgaW4tcGxhY2UuCiAgICAgICAgICIiIgogICAgICAgICBpZiBzZWxmLm5sZW4gPT0gMDoKLSAgICAgICAgICAgIHJldHVybiAxCisgICAgICAgICAgICByZXR1cm4gVHJ1ZQogICAgICAgICBlbGlmIHNlbGYubmFtZSA9PSByZWNvcmQubmFtZToKLSAgICAgICAgICAgIHJldHVybiAxCisgICAgICAgICAgICByZXR1cm4gVHJ1ZQogICAgICAgICBlbGlmIHJlY29yZC5uYW1lLmZpbmQoc2VsZi5uYW1lLCAwLCBzZWxmLm5sZW4pICE9IDA6Ci0gICAgICAgICAgICByZXR1cm4gMAorICAgICAgICAgICAgcmV0dXJuIEZhbHNlCiAgICAgICAgIHJldHVybiAocmVjb3JkLm5hbWVbc2VsZi5ubGVuXSA9PSAiLiIpCiAKIGNsYXNzIEZpbHRlcmVyKG9iamVjdCk6CkBAIC02ODYsMTQgKzY4MywxNCBAQAogCiAgICAgICAgICAgIEFsbG93IGZpbHRlcnMgdG8gYmUganVzdCBjYWxsYWJsZXMuCiAgICAgICAgICIiIgotICAgICAgICBydiA9IDEKKyAgICAgICAgcnYgPSBUcnVlCiAgICAgICAgIGZvciBmIGluIHNlbGYuZmlsdGVyczoKICAgICAgICAgICAgIGlmIGhhc2F0dHIoZiwgJ2ZpbHRlcicpOgogICAgICAgICAgICAgICAgIHJlc3VsdCA9IGYuZmlsdGVyKHJlY29yZCkKICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgcmVzdWx0ID0gZihyZWNvcmQpICMgYXNzdW1lIGNhbGxhYmxlIC0gd2lsbCByYWlzZSBpZiBub3QKICAgICAgICAgICAgIGlmIG5vdCByZXN1bHQ6Ci0gICAgICAgICAgICAgICAgcnYgPSAwCisgICAgICAgICAgICAgICAgcnYgPSBGYWxzZQogICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgIHJldHVybiBydgogCkBAIC03NzEsOSArNzY4LDkgQEAKICAgICAgICAgIiIiCiAgICAgICAgIEFjcXVpcmUgYSB0aHJlYWQgbG9jayBmb3Igc2VyaWFsaXppbmcgYWNjZXNzIHRvIHRoZSB1bmRlcmx5aW5nIEkvTy4KICAgICAgICAgIiIiCi0gICAgICAgIGlmIHRocmVhZDoKKyAgICAgICAgaWYgdGhyZWFkaW5nOgogICAgICAgICAgICAgc2VsZi5sb2NrID0gdGhyZWFkaW5nLlJMb2NrKCkKLSAgICAgICAgZWxzZToKKyAgICAgICAgZWxzZTogI3ByYWdtYTogbm8gY292ZXIKICAgICAgICAgICAgIHNlbGYubG9jayA9IE5vbmUKIAogICAgIGRlZiBhY3F1aXJlKHNlbGYpOgpAQCAtNzkyLDcgKzc4OSw3IEBACiAKICAgICBkZWYgc2V0TGV2ZWwoc2VsZiwgbGV2ZWwpOgogICAgICAgICAiIiIKLSAgICAgICAgU2V0IHRoZSBsb2dnaW5nIGxldmVsIG9mIHRoaXMgaGFuZGxlci4KKyAgICAgICAgU2V0IHRoZSBsb2dnaW5nIGxldmVsIG9mIHRoaXMgaGFuZGxlci4gIGxldmVsIG11c3QgYmUgYW4gaW50IG9yIGEgc3RyLgogICAgICAgICAiIiIKICAgICAgICAgc2VsZi5sZXZlbCA9IF9jaGVja0xldmVsKGxldmVsKQogCkBAIC04ODgsNyArODg1LDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vbmUsIHN5cy5zdGRlcnIpCiAgICAgICAgICAgICAgICAgc3lzLnN0ZGVyci53cml0ZSgnTG9nZ2VkIGZyb20gZmlsZSAlcywgbGluZSAlc1xuJyAlICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlY29yZC5maWxlbmFtZSwgcmVjb3JkLmxpbmVubykpCi0gICAgICAgICAgICBleGNlcHQgSU9FcnJvcjoKKyAgICAgICAgICAgIGV4Y2VwdCBJT0Vycm9yOiAjcHJhZ21hOiBubyBjb3ZlcgogICAgICAgICAgICAgICAgIHBhc3MgICAgIyBzZWUgaXNzdWUgNTk3MQogICAgICAgICAgICAgZmluYWxseToKICAgICAgICAgICAgICAgICBkZWwgZWkKQEAgLTk0MSw3ICs5MzgsNyBAQAogICAgICAgICAgICAgc3RyZWFtLndyaXRlKG1zZykKICAgICAgICAgICAgIHN0cmVhbS53cml0ZShzZWxmLnRlcm1pbmF0b3IpCiAgICAgICAgICAgICBzZWxmLmZsdXNoKCkKLSAgICAgICAgZXhjZXB0IChLZXlib2FyZEludGVycnVwdCwgU3lzdGVtRXhpdCk6CisgICAgICAgIGV4Y2VwdCAoS2V5Ym9hcmRJbnRlcnJ1cHQsIFN5c3RlbUV4aXQpOiAjcHJhZ21hOiBubyBjb3ZlcgogICAgICAgICAgICAgcmFpc2UKICAgICAgICAgZXhjZXB0OgogICAgICAgICAgICAgc2VsZi5oYW5kbGVFcnJvcihyZWNvcmQpCkBAIC05NTAsMTQgKzk0NywxMiBAQAogICAgICIiIgogICAgIEEgaGFuZGxlciBjbGFzcyB3aGljaCB3cml0ZXMgZm9ybWF0dGVkIGxvZ2dpbmcgcmVjb3JkcyB0byBkaXNrIGZpbGVzLgogICAgICIiIgotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBmaWxlbmFtZSwgbW9kZT0nYScsIGVuY29kaW5nPU5vbmUsIGRlbGF5PTApOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBmaWxlbmFtZSwgbW9kZT0nYScsIGVuY29kaW5nPU5vbmUsIGRlbGF5PUZhbHNlKToKICAgICAgICAgIiIiCiAgICAgICAgIE9wZW4gdGhlIHNwZWNpZmllZCBmaWxlIGFuZCB1c2UgaXQgYXMgdGhlIHN0cmVhbSBmb3IgbG9nZ2luZy4KICAgICAgICAgIiIiCiAgICAgICAgICNrZWVwIHRoZSBhYnNvbHV0ZSBwYXRoLCBvdGhlcndpc2UgZGVyaXZlZCBjbGFzc2VzIHdoaWNoIHVzZSB0aGlzCiAgICAgICAgICNtYXkgY29tZSBhIGNyb3BwZXIgd2hlbiB0aGUgY3VycmVudCBkaXJlY3RvcnkgY2hhbmdlcwotICAgICAgICBpZiBjb2RlY3MgaXMgTm9uZToKLSAgICAgICAgICAgIGVuY29kaW5nID0gTm9uZQogICAgICAgICBzZWxmLmJhc2VGaWxlbmFtZSA9IG9zLnBhdGguYWJzcGF0aChmaWxlbmFtZSkKICAgICAgICAgc2VsZi5tb2RlID0gbW9kZQogICAgICAgICBzZWxmLmVuY29kaW5nID0gZW5jb2RpbmcKQEAgLTk4OSwxMSArOTg0LDcgQEAKICAgICAgICAgT3BlbiB0aGUgY3VycmVudCBiYXNlIGZpbGUgd2l0aCB0aGUgKG9yaWdpbmFsKSBtb2RlIGFuZCBlbmNvZGluZy4KICAgICAgICAgUmV0dXJuIHRoZSByZXN1bHRpbmcgc3RyZWFtLgogICAgICAgICAiIiIKLSAgICAgICAgaWYgc2VsZi5lbmNvZGluZyBpcyBOb25lOgotICAgICAgICAgICAgc3RyZWFtID0gb3BlbihzZWxmLmJhc2VGaWxlbmFtZSwgc2VsZi5tb2RlKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgc3RyZWFtID0gY29kZWNzLm9wZW4oc2VsZi5iYXNlRmlsZW5hbWUsIHNlbGYubW9kZSwgc2VsZi5lbmNvZGluZykKLSAgICAgICAgcmV0dXJuIHN0cmVhbQorICAgICAgICByZXR1cm4gb3BlbihzZWxmLmJhc2VGaWxlbmFtZSwgc2VsZi5tb2RlLCBlbmNvZGluZz1zZWxmLmVuY29kaW5nKQogCiAgICAgZGVmIGVtaXQoc2VsZiwgcmVjb3JkKToKICAgICAgICAgIiIiCkBAIC0xMjA1LDEzICsxMTk2LDEzIEBACiAgICAgICAgIHNlbGYubmFtZSA9IG5hbWUKICAgICAgICAgc2VsZi5sZXZlbCA9IF9jaGVja0xldmVsKGxldmVsKQogICAgICAgICBzZWxmLnBhcmVudCA9IE5vbmUKLSAgICAgICAgc2VsZi5wcm9wYWdhdGUgPSAxCisgICAgICAgIHNlbGYucHJvcGFnYXRlID0gVHJ1ZQogICAgICAgICBzZWxmLmhhbmRsZXJzID0gW10KLSAgICAgICAgc2VsZi5kaXNhYmxlZCA9IDAKKyAgICAgICAgc2VsZi5kaXNhYmxlZCA9IEZhbHNlCiAKICAgICBkZWYgc2V0TGV2ZWwoc2VsZiwgbGV2ZWwpOgogICAgICAgICAiIiIKLSAgICAgICAgU2V0IHRoZSBsb2dnaW5nIGxldmVsIG9mIHRoaXMgbG9nZ2VyLgorICAgICAgICBTZXQgdGhlIGxvZ2dpbmcgbGV2ZWwgb2YgdGhpcyBsb2dnZXIuICBsZXZlbCBtdXN0IGJlIGFuIGludCBvciBhIHN0ci4KICAgICAgICAgIiIiCiAgICAgICAgIHNlbGYubGV2ZWwgPSBfY2hlY2tMZXZlbChsZXZlbCkKIApAQCAtMTI1MSw3ICsxMjQyLDEwIEBACiAgICAgICAgIGlmIHNlbGYuaXNFbmFibGVkRm9yKFdBUk5JTkcpOgogICAgICAgICAgICAgc2VsZi5fbG9nKFdBUk5JTkcsIG1zZywgYXJncywgKiprd2FyZ3MpCiAKLSAgICB3YXJuID0gd2FybmluZworICAgIGRlZiB3YXJuKHNlbGYsIG1zZywgKmFyZ3MsICoqa3dhcmdzKToKKyAgICAgICAgd2FybmluZ3Mud2FybigiVGhlICd3YXJuJyBtZXRob2QgaXMgZGVwcmVjYXRlZCwgIgorICAgICAgICAgICAgInVzZSAnd2FybmluZycgaW5zdGVhZCIsIERlcHJlY2F0aW9uV2FybmluZywgMikKKyAgICAgICAgc2VsZi53YXJuaW5nKG1zZywgKmFyZ3MsICoqa3dhcmdzKQogCiAgICAgZGVmIGVycm9yKHNlbGYsIG1zZywgKmFyZ3MsICoqa3dhcmdzKToKICAgICAgICAgIiIiCkBAIC0xMzYwLDkgKzEzNTQsOSBAQAogICAgICAgICAgICAgI0lyb25QeXRob24gY2FuIHVzZSBsb2dnaW5nLgogICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgIGZuLCBsbm8sIGZ1bmMsIHNpbmZvID0gc2VsZi5maW5kQ2FsbGVyKHN0YWNrX2luZm8pCi0gICAgICAgICAgICBleGNlcHQgVmFsdWVFcnJvcjoKKyAgICAgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yOiAjIHByYWdtYTogbm8gY292ZXIKICAgICAgICAgICAgICAgICBmbiwgbG5vLCBmdW5jID0gIih1bmtub3duIGZpbGUpIiwgMCwgIih1bmtub3duIGZ1bmN0aW9uKSIKLSAgICAgICAgZWxzZToKKyAgICAgICAgZWxzZTogIyBwcmFnbWE6IG5vIGNvdmVyCiAgICAgICAgICAgICBmbiwgbG5vLCBmdW5jID0gIih1bmtub3duIGZpbGUpIiwgMCwgIih1bmtub3duIGZ1bmN0aW9uKSIKICAgICAgICAgaWYgZXhjX2luZm86CiAgICAgICAgICAgICBpZiBub3QgaXNpbnN0YW5jZShleGNfaW5mbywgdHVwbGUpOgpAQCAtMTQ3NCw3ICsxNDY4LDcgQEAKICAgICAgICAgSXMgdGhpcyBsb2dnZXIgZW5hYmxlZCBmb3IgbGV2ZWwgJ2xldmVsJz8KICAgICAgICAgIiIiCiAgICAgICAgIGlmIHNlbGYubWFuYWdlci5kaXNhYmxlID49IGxldmVsOgotICAgICAgICAgICAgcmV0dXJuIDAKKyAgICAgICAgICAgIHJldHVybiBGYWxzZQogICAgICAgICByZXR1cm4gbGV2ZWwgPj0gc2VsZi5nZXRFZmZlY3RpdmVMZXZlbCgpCiAKICAgICBkZWYgZ2V0Q2hpbGQoc2VsZiwgc3VmZml4KToKQEAgLTE1NjQsNyArMTU1OCwxMCBAQAogICAgICAgICAiIiIKICAgICAgICAgc2VsZi5sb2coV0FSTklORywgbXNnLCAqYXJncywgKiprd2FyZ3MpCiAKLSAgICB3YXJuID0gd2FybmluZworICAgIGRlZiB3YXJuKHNlbGYsIG1zZywgKmFyZ3MsICoqa3dhcmdzKToKKyAgICAgICAgd2FybmluZ3Mud2FybigiVGhlICd3YXJuJyBtZXRob2QgaXMgZGVwcmVjYXRlZCwgIgorICAgICAgICAgICAgInVzZSAnd2FybmluZycgaW5zdGVhZCIsIERlcHJlY2F0aW9uV2FybmluZywgMikKKyAgICAgICAgc2VsZi53YXJuaW5nKG1zZywgKmFyZ3MsICoqa3dhcmdzKQogCiAgICAgZGVmIGVycm9yKHNlbGYsIG1zZywgKmFyZ3MsICoqa3dhcmdzKToKICAgICAgICAgIiIiCkBAIC0xNTc2LDcgKzE1NzMsNyBAQAogICAgICAgICAiIiIKICAgICAgICAgRGVsZWdhdGUgYW4gZXhjZXB0aW9uIGNhbGwgdG8gdGhlIHVuZGVybHlpbmcgbG9nZ2VyLgogICAgICAgICAiIiIKLSAgICAgICAga3dhcmdzWyJleGNfaW5mbyJdID0gMQorICAgICAgICBrd2FyZ3NbImV4Y19pbmZvIl0gPSBUcnVlCiAgICAgICAgIHNlbGYubG9nKEVSUk9SLCBtc2csICphcmdzLCAqKmt3YXJncykKIAogICAgIGRlZiBjcml0aWNhbChzZWxmLCBtc2csICphcmdzLCAqKmt3YXJncyk6CkBAIC0xNjU5LDYgKzE2NTYsMTAgQEAKICAgICBzdHJlYW0gICAgVXNlIHRoZSBzcGVjaWZpZWQgc3RyZWFtIHRvIGluaXRpYWxpemUgdGhlIFN0cmVhbUhhbmRsZXIuIE5vdGUKICAgICAgICAgICAgICAgdGhhdCB0aGlzIGFyZ3VtZW50IGlzIGluY29tcGF0aWJsZSB3aXRoICdmaWxlbmFtZScgLSBpZiBib3RoCiAgICAgICAgICAgICAgIGFyZSBwcmVzZW50LCAnc3RyZWFtJyBpcyBpZ25vcmVkLgorICAgIGhhbmRsZXJzICBJZiBzcGVjaWZpZWQsIHRoaXMgc2hvdWxkIGJlIGFuIGl0ZXJhYmxlIG9mIGFscmVhZHkgY3JlYXRlZAorICAgICAgICAgICAgICBoYW5kbGVycywgd2hpY2ggd2lsbCBiZSBhZGRlZCB0byB0aGUgcm9vdCBoYW5kbGVyLiBBbnkgaGFuZGxlcgorICAgICAgICAgICAgICBpbiB0aGUgbGlzdCB3aGljaCBkb2VzIG5vdCBoYXZlIGEgZm9ybWF0dGVyIGFzc2lnbmVkIHdpbGwgYmUKKyAgICAgICAgICAgICAgYXNzaWduZWQgdGhlIGZvcm1hdHRlciBjcmVhdGVkIGluIHRoaXMgZnVuY3Rpb24uCiAKICAgICBOb3RlIHRoYXQgeW91IGNvdWxkIHNwZWNpZnkgYSBzdHJlYW0gY3JlYXRlZCB1c2luZyBvcGVuKGZpbGVuYW1lLCBtb2RlKQogICAgIHJhdGhlciB0aGFuIHBhc3NpbmcgdGhlIGZpbGVuYW1lIGFuZCBtb2RlIGluLiBIb3dldmVyLCBpdCBzaG91bGQgYmUKQEAgLTE2NjYsMjcgKzE2NjcsNDcgQEAKICAgICB1c2luZyBzeXMuc3Rkb3V0IG9yIHN5cy5zdGRlcnIpLCB3aGVyZWFzIEZpbGVIYW5kbGVyIGNsb3NlcyBpdHMgc3RyZWFtCiAgICAgd2hlbiB0aGUgaGFuZGxlciBpcyBjbG9zZWQuCiAKLSAgICAuLiB2ZXJzaW9uY2hhbmdlZDogMy4yCisgICAgLi4gdmVyc2lvbmNoYW5nZWQ6OiAzLjIKICAgICAgICBBZGRlZCB0aGUgYGBzdHlsZWBgIHBhcmFtZXRlci4KKworICAgIC4uIHZlcnNpb25jaGFuZ2VkOjogMy4zCisgICAgICAgQWRkZWQgdGhlIGBgaGFuZGxlcnNgYCBwYXJhbWV0ZXIuIEEgYGBWYWx1ZUVycm9yYGAgaXMgbm93IHRocm93biBmb3IKKyAgICAgICBpbmNvbXBhdGlibGUgYXJndW1lbnRzIChlLmcuIGBgaGFuZGxlcnNgYCBzcGVjaWZpZWQgdG9nZXRoZXIgd2l0aAorICAgICAgIGBgZmlsZW5hbWVgYC9gYGZpbGVtb2RlYGAsIG9yIGBgZmlsZW5hbWVgYC9gYGZpbGVtb2RlYGAgc3BlY2lmaWVkCisgICAgICAgdG9nZXRoZXIgd2l0aCBgYHN0cmVhbWBgLCBvciBgYGhhbmRsZXJzYGAgc3BlY2lmaWVkIHRvZ2V0aGVyIHdpdGgKKyAgICAgICBgYHN0cmVhbWBgLgogICAgICIiIgogICAgICMgQWRkIHRocmVhZCBzYWZldHkgaW4gY2FzZSBzb21lb25lIG1pc3Rha2VubHkgY2FsbHMKICAgICAjIGJhc2ljQ29uZmlnKCkgZnJvbSBtdWx0aXBsZSB0aHJlYWRzCiAgICAgX2FjcXVpcmVMb2NrKCkKICAgICB0cnk6CiAgICAgICAgIGlmIGxlbihyb290LmhhbmRsZXJzKSA9PSAwOgotICAgICAgICAgICAgZmlsZW5hbWUgPSBrd2FyZ3MuZ2V0KCJmaWxlbmFtZSIpCi0gICAgICAgICAgICBpZiBmaWxlbmFtZToKLSAgICAgICAgICAgICAgICBtb2RlID0ga3dhcmdzLmdldCgiZmlsZW1vZGUiLCAnYScpCi0gICAgICAgICAgICAgICAgaGRsciA9IEZpbGVIYW5kbGVyKGZpbGVuYW1lLCBtb2RlKQorICAgICAgICAgICAgaGFuZGxlcnMgPSBrd2FyZ3MuZ2V0KCJoYW5kbGVycyIpCisgICAgICAgICAgICBpZiBoYW5kbGVycyBpcyBOb25lOgorICAgICAgICAgICAgICAgIGlmICJzdHJlYW0iIGluIGt3YXJncyBhbmQgImZpbGVuYW1lIiBpbiBrd2FyZ3M6CisgICAgICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIidzdHJlYW0nIGFuZCAnZmlsZW5hbWUnIHNob3VsZCBub3QgYmUgIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzcGVjaWZpZWQgdG9nZXRoZXIiKQogICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBzdHJlYW0gPSBrd2FyZ3MuZ2V0KCJzdHJlYW0iKQotICAgICAgICAgICAgICAgIGhkbHIgPSBTdHJlYW1IYW5kbGVyKHN0cmVhbSkKKyAgICAgICAgICAgICAgICBpZiAic3RyZWFtIiBpbiBrd2FyZ3Mgb3IgImZpbGVuYW1lIiBpbiBrd2FyZ3M6CisgICAgICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIidzdHJlYW0nIG9yICdmaWxlbmFtZScgc2hvdWxkIG5vdCBiZSAiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNwZWNpZmllZCB0b2dldGhlciB3aXRoICdoYW5kbGVycyciKQorICAgICAgICAgICAgaWYgaGFuZGxlcnMgaXMgTm9uZToKKyAgICAgICAgICAgICAgICBmaWxlbmFtZSA9IGt3YXJncy5nZXQoImZpbGVuYW1lIikKKyAgICAgICAgICAgICAgICBpZiBmaWxlbmFtZToKKyAgICAgICAgICAgICAgICAgICAgbW9kZSA9IGt3YXJncy5nZXQoImZpbGVtb2RlIiwgJ2EnKQorICAgICAgICAgICAgICAgICAgICBoID0gRmlsZUhhbmRsZXIoZmlsZW5hbWUsIG1vZGUpCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgc3RyZWFtID0ga3dhcmdzLmdldCgic3RyZWFtIikKKyAgICAgICAgICAgICAgICAgICAgaCA9IFN0cmVhbUhhbmRsZXIoc3RyZWFtKQorICAgICAgICAgICAgICAgIGhhbmRsZXJzID0gW2hdCiAgICAgICAgICAgICBmcyA9IGt3YXJncy5nZXQoImZvcm1hdCIsIEJBU0lDX0ZPUk1BVCkKICAgICAgICAgICAgIGRmcyA9IGt3YXJncy5nZXQoImRhdGVmbXQiLCBOb25lKQogICAgICAgICAgICAgc3R5bGUgPSBrd2FyZ3MuZ2V0KCJzdHlsZSIsICclJykKICAgICAgICAgICAgIGZtdCA9IEZvcm1hdHRlcihmcywgZGZzLCBzdHlsZSkKLSAgICAgICAgICAgIGhkbHIuc2V0Rm9ybWF0dGVyKGZtdCkKLSAgICAgICAgICAgIHJvb3QuYWRkSGFuZGxlcihoZGxyKQorICAgICAgICAgICAgZm9yIGggaW4gaGFuZGxlcnM6CisgICAgICAgICAgICAgICAgaWYgaC5mb3JtYXR0ZXIgaXMgTm9uZToKKyAgICAgICAgICAgICAgICAgICAgaC5zZXRGb3JtYXR0ZXIoZm10KQorICAgICAgICAgICAgICAgIHJvb3QuYWRkSGFuZGxlcihoKQogICAgICAgICAgICAgbGV2ZWwgPSBrd2FyZ3MuZ2V0KCJsZXZlbCIpCiAgICAgICAgICAgICBpZiBsZXZlbCBpcyBub3QgTm9uZToKICAgICAgICAgICAgICAgICByb290LnNldExldmVsKGxldmVsKQpAQCAtMTc1MCw3ICsxNzcxLDEwIEBACiAgICAgICAgIGJhc2ljQ29uZmlnKCkKICAgICByb290Lndhcm5pbmcobXNnLCAqYXJncywgKiprd2FyZ3MpCiAKLXdhcm4gPSB3YXJuaW5nCitkZWYgd2Fybihtc2csICphcmdzLCAqKmt3YXJncyk6CisgICAgd2FybmluZ3Mud2FybigiVGhlICd3YXJuJyBmdW5jdGlvbiBpcyBkZXByZWNhdGVkLCAiCisgICAgICAgICJ1c2UgJ3dhcm5pbmcnIGluc3RlYWQiLCBEZXByZWNhdGlvbldhcm5pbmcsIDIpCisgICAgd2FybmluZyhtc2csICphcmdzLCAqKmt3YXJncykKIAogZGVmIGluZm8obXNnLCAqYXJncywgKiprd2FyZ3MpOgogICAgICIiIgpAQCAtMTgzNSwxMCArMTg1OSwxMCBAQAogICAgIHBhY2thZ2UuCiAgICAgIiIiCiAgICAgZGVmIGhhbmRsZShzZWxmLCByZWNvcmQpOgotICAgICAgICBwYXNzCisgICAgICAgICIiIlN0dWIuIiIiCiAKICAgICBkZWYgZW1pdChzZWxmLCByZWNvcmQpOgotICAgICAgICBwYXNzCisgICAgICAgICIiIlN0dWIuIiIiCiAKICAgICBkZWYgY3JlYXRlTG9jayhzZWxmKToKICAgICAgICAgc2VsZi5sb2NrID0gTm9uZQpkaWZmIC0tZ2l0IGEvTGliL2xvZ2dpbmcvY29uZmlnLnB5IGIvTGliL2xvZ2dpbmcvY29uZmlnLnB5CmluZGV4IDM3M2RhMmIuLjVlZjVjOTEgMTAwNjQ0Ci0tLSBhL0xpYi9sb2dnaW5nL2NvbmZpZy5weQorKysgYi9MaWIvbG9nZ2luZy9jb25maWcucHkKQEAgLTI0LDEzICsyNCwxMyBAQAogVG8gdXNlLCBzaW1wbHkgJ2ltcG9ydCBsb2dnaW5nJyBhbmQgbG9nIGF3YXkhCiAiIiIKIAotaW1wb3J0IHN5cywgbG9nZ2luZywgbG9nZ2luZy5oYW5kbGVycywgc29ja2V0LCBzdHJ1Y3QsIG9zLCB0cmFjZWJhY2ssIHJlCi1pbXBvcnQgdHlwZXMsIGlvCitpbXBvcnQgc3lzLCBsb2dnaW5nLCBsb2dnaW5nLmhhbmRsZXJzLCBzb2NrZXQsIHN0cnVjdCwgdHJhY2ViYWNrLCByZQoraW1wb3J0IGlvCiAKIHRyeToKICAgICBpbXBvcnQgX3RocmVhZCBhcyB0aHJlYWQKICAgICBpbXBvcnQgdGhyZWFkaW5nCi1leGNlcHQgSW1wb3J0RXJyb3I6CitleGNlcHQgSW1wb3J0RXJyb3I6ICNwcmFnbWE6IG5vIGNvdmVyCiAgICAgdGhyZWFkID0gTm9uZQogCiBmcm9tIHNvY2tldHNlcnZlciBpbXBvcnQgVGhyZWFkaW5nVENQU2VydmVyLCBTdHJlYW1SZXF1ZXN0SGFuZGxlcgpAQCAtOTgsOSArOTgsNiBAQAogZGVmIF9zdHJpcF9zcGFjZXMoYWxpc3QpOgogICAgIHJldHVybiBtYXAobGFtYmRhIHg6IHguc3RyaXAoKSwgYWxpc3QpCiAKLWRlZiBfZW5jb2RlZChzKToKLSAgICByZXR1cm4gcyBpZiBpc2luc3RhbmNlKHMsIHN0cikgZWxzZSBzLmVuY29kZSgndXRmLTgnKQotCiBkZWYgX2NyZWF0ZV9mb3JtYXR0ZXJzKGNwKToKICAgICAiIiJDcmVhdGUgYW5kIHJldHVybiBmb3JtYXR0ZXJzIiIiCiAgICAgZmxpc3QgPSBjcFsiZm9ybWF0dGVycyJdWyJrZXlzIl0KQEAgLTIxNSw3ICsyMTIsNyBAQAogICAgICNhdm9pZCBkaXNhYmxpbmcgY2hpbGQgbG9nZ2VycyBvZiBleHBsaWNpdGx5CiAgICAgI25hbWVkIGxvZ2dlcnMuIFdpdGggYSBzb3J0ZWQgbGlzdCBpdCBpcyBlYXNpZXIKICAgICAjdG8gZmluZCB0aGUgY2hpbGQgbG9nZ2Vycy4KLSAgICBleGlzdGluZy5zb3J0KGtleT1fZW5jb2RlZCkKKyAgICBleGlzdGluZy5zb3J0KCkKICAgICAjV2UnbGwga2VlcCB0aGUgbGlzdCBvZiBleGlzdGluZyBsb2dnZXJzCiAgICAgI3doaWNoIGFyZSBjaGlsZHJlbiBvZiBuYW1lZCBsb2dnZXJzIGhlcmUuLi4KICAgICBjaGlsZF9sb2dnZXJzID0gW10KQEAgLTU4OCw3ICs1ODUsNyBAQAogICAgICAgICAgICAgICAgICNhdm9pZCBkaXNhYmxpbmcgY2hpbGQgbG9nZ2VycyBvZiBleHBsaWNpdGx5CiAgICAgICAgICAgICAgICAgI25hbWVkIGxvZ2dlcnMuIFdpdGggYSBzb3J0ZWQgbGlzdCBpdCBpcyBlYXNpZXIKICAgICAgICAgICAgICAgICAjdG8gZmluZCB0aGUgY2hpbGQgbG9nZ2Vycy4KLSAgICAgICAgICAgICAgICBleGlzdGluZy5zb3J0KGtleT1fZW5jb2RlZCkKKyAgICAgICAgICAgICAgICBleGlzdGluZy5zb3J0KCkKICAgICAgICAgICAgICAgICAjV2UnbGwga2VlcCB0aGUgbGlzdCBvZiBleGlzdGluZyBsb2dnZXJzCiAgICAgICAgICAgICAgICAgI3doaWNoIGFyZSBjaGlsZHJlbiBvZiBuYW1lZCBsb2dnZXJzIGhlcmUuLi4KICAgICAgICAgICAgICAgICBjaGlsZF9sb2dnZXJzID0gW10KQEAgLTc4Niw3ICs3ODMsNyBAQAogICAgIGFuZCB3aGljaCB5b3UgY2FuIGpvaW4oKSB3aGVuIGFwcHJvcHJpYXRlLiBUbyBzdG9wIHRoZSBzZXJ2ZXIsIGNhbGwKICAgICBzdG9wTGlzdGVuaW5nKCkuCiAgICAgIiIiCi0gICAgaWYgbm90IHRocmVhZDoKKyAgICBpZiBub3QgdGhyZWFkOiAjcHJhZ21hOiBubyBjb3ZlcgogICAgICAgICByYWlzZSBOb3RJbXBsZW1lbnRlZEVycm9yKCJsaXN0ZW4oKSBuZWVkcyB0aHJlYWRpbmcgdG8gd29yayIpCiAKICAgICBjbGFzcyBDb25maWdTdHJlYW1IYW5kbGVyKFN0cmVhbVJlcXVlc3RIYW5kbGVyKToKQEAgLTgwNCw3ICs4MDEsNiBAQAogICAgICAgICAgICAgc3RydWN0LnBhY2soIj5MIiwgbiksIGZvbGxvd2VkIGJ5IHRoZSBjb25maWcgZmlsZS4KICAgICAgICAgICAgIFVzZXMgZmlsZUNvbmZpZygpIHRvIGRvIHRoZSBncnVudCB3b3JrLgogICAgICAgICAgICAgIiIiCi0gICAgICAgICAgICBpbXBvcnQgdGVtcGZpbGUKICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICBjb25uID0gc2VsZi5jb25uZWN0aW9uCiAgICAgICAgICAgICAgICAgY2h1bmsgPSBjb25uLnJlY3YoNCkKQEAgLTgyNSw3ICs4MjEsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgZmlsZSA9IGlvLlN0cmluZ0lPKGNodW5rKQogICAgICAgICAgICAgICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVDb25maWcoZmlsZSkKLSAgICAgICAgICAgICAgICAgICAgICAgIGV4Y2VwdCAoS2V5Ym9hcmRJbnRlcnJ1cHQsIFN5c3RlbUV4aXQpOgorICAgICAgICAgICAgICAgICAgICAgICAgZXhjZXB0IChLZXlib2FyZEludGVycnVwdCwgU3lzdGVtRXhpdCk6ICNwcmFnbWE6IG5vIGNvdmVyCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2UKICAgICAgICAgICAgICAgICAgICAgICAgIGV4Y2VwdDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFjZWJhY2sucHJpbnRfZXhjKCkKZGlmZiAtLWdpdCBhL0xpYi9sb2dnaW5nL2hhbmRsZXJzLnB5IGIvTGliL2xvZ2dpbmcvaGFuZGxlcnMucHkKaW5kZXggNzNjZTAzMS4uZjg2MzJjZSAxMDA2NDQKLS0tIGEvTGliL2xvZ2dpbmcvaGFuZGxlcnMucHkKKysrIGIvTGliL2xvZ2dpbmcvaGFuZGxlcnMucHkKQEAgLTI0LDE4ICsyNCwxNCBAQAogIiIiCiAKIGltcG9ydCBsb2dnaW5nLCBzb2NrZXQsIG9zLCBwaWNrbGUsIHN0cnVjdCwgdGltZSwgcmUKK2Zyb20gY29kZWNzIGltcG9ydCBCT01fVVRGOAogZnJvbSBzdGF0IGltcG9ydCBTVF9ERVYsIFNUX0lOTywgU1RfTVRJTUUKIGltcG9ydCBxdWV1ZQogdHJ5OgogICAgIGltcG9ydCB0aHJlYWRpbmcKLWV4Y2VwdCBJbXBvcnRFcnJvcjoKK2V4Y2VwdCBJbXBvcnRFcnJvcjogI3ByYWdtYTogbm8gY292ZXIKICAgICB0aHJlYWRpbmcgPSBOb25lCiAKLXRyeToKLSAgICBpbXBvcnQgY29kZWNzCi1leGNlcHQgSW1wb3J0RXJyb3I6Ci0gICAgY29kZWNzID0gTm9uZQotCiAjCiAjIFNvbWUgY29uc3RhbnRzLi4uCiAjCkBAIC01NSwxNSArNTEsMTUgQEAKICAgICBOb3QgbWVhbnQgdG8gYmUgaW5zdGFudGlhdGVkIGRpcmVjdGx5LiAgSW5zdGVhZCwgdXNlIFJvdGF0aW5nRmlsZUhhbmRsZXIKICAgICBvciBUaW1lZFJvdGF0aW5nRmlsZUhhbmRsZXIuCiAgICAgIiIiCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIGZpbGVuYW1lLCBtb2RlLCBlbmNvZGluZz1Ob25lLCBkZWxheT0wKToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgZmlsZW5hbWUsIG1vZGUsIGVuY29kaW5nPU5vbmUsIGRlbGF5PUZhbHNlKToKICAgICAgICAgIiIiCiAgICAgICAgIFVzZSB0aGUgc3BlY2lmaWVkIGZpbGVuYW1lIGZvciBzdHJlYW1lZCBsb2dnaW5nCiAgICAgICAgICIiIgotICAgICAgICBpZiBjb2RlY3MgaXMgTm9uZToKLSAgICAgICAgICAgIGVuY29kaW5nID0gTm9uZQogICAgICAgICBsb2dnaW5nLkZpbGVIYW5kbGVyLl9faW5pdF9fKHNlbGYsIGZpbGVuYW1lLCBtb2RlLCBlbmNvZGluZywgZGVsYXkpCiAgICAgICAgIHNlbGYubW9kZSA9IG1vZGUKICAgICAgICAgc2VsZi5lbmNvZGluZyA9IGVuY29kaW5nCisgICAgICAgIHNlbGYubmFtZXIgPSBOb25lCisgICAgICAgIHNlbGYucm90YXRvciA9IE5vbmUKIAogICAgIGRlZiBlbWl0KHNlbGYsIHJlY29yZCk6CiAgICAgICAgICIiIgpAQCAtNzYsMTcgKzcyLDU1IEBACiAgICAgICAgICAgICBpZiBzZWxmLnNob3VsZFJvbGxvdmVyKHJlY29yZCk6CiAgICAgICAgICAgICAgICAgc2VsZi5kb1JvbGxvdmVyKCkKICAgICAgICAgICAgIGxvZ2dpbmcuRmlsZUhhbmRsZXIuZW1pdChzZWxmLCByZWNvcmQpCi0gICAgICAgIGV4Y2VwdCAoS2V5Ym9hcmRJbnRlcnJ1cHQsIFN5c3RlbUV4aXQpOgorICAgICAgICBleGNlcHQgKEtleWJvYXJkSW50ZXJydXB0LCBTeXN0ZW1FeGl0KTogI3ByYWdtYTogbm8gY292ZXIKICAgICAgICAgICAgIHJhaXNlCiAgICAgICAgIGV4Y2VwdDoKICAgICAgICAgICAgIHNlbGYuaGFuZGxlRXJyb3IocmVjb3JkKQogCisgICAgZGVmIHJvdGF0aW9uX2ZpbGVuYW1lKHNlbGYsIGRlZmF1bHRfbmFtZSk6CisgICAgICAgICIiIgorICAgICAgICBNb2RpZnkgdGhlIGZpbGVuYW1lIG9mIGEgbG9nIGZpbGUgd2hlbiByb3RhdGluZy4KKworICAgICAgICBUaGlzIGlzIHByb3ZpZGVkIHNvIHRoYXQgYSBjdXN0b20gZmlsZW5hbWUgY2FuIGJlIHByb3ZpZGVkLgorCisgICAgICAgIFRoZSBkZWZhdWx0IGltcGxlbWVudGF0aW9uIGNhbGxzIHRoZSAnbmFtZXInIGF0dHJpYnV0ZSBvZiB0aGUKKyAgICAgICAgaGFuZGxlciwgaWYgaXQncyBjYWxsYWJsZSwgcGFzc2luZyB0aGUgZGVmYXVsdCBuYW1lIHRvCisgICAgICAgIGl0LiBJZiB0aGUgYXR0cmlidXRlIGlzbid0IGNhbGxhYmxlICh0aGUgZGVmYXVsdCBpcyBOb25lKSwgdGhlIG5hbWUKKyAgICAgICAgaXMgcmV0dXJuZWQgdW5jaGFuZ2VkLgorCisgICAgICAgIDpwYXJhbSBkZWZhdWx0X25hbWU6IFRoZSBkZWZhdWx0IG5hbWUgZm9yIHRoZSBsb2cgZmlsZS4KKyAgICAgICAgIiIiCisgICAgICAgIGlmIG5vdCBjYWxsYWJsZShzZWxmLm5hbWVyKToKKyAgICAgICAgICAgIHJlc3VsdCA9IGRlZmF1bHRfbmFtZQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmVzdWx0ID0gc2VsZi5uYW1lcihkZWZhdWx0X25hbWUpCisgICAgICAgIHJldHVybiByZXN1bHQKKworICAgIGRlZiByb3RhdGUoc2VsZiwgc291cmNlLCBkZXN0KToKKyAgICAgICAgIiIiCisgICAgICAgIFdoZW4gcm90YXRpbmcsIHJvdGF0ZSB0aGUgY3VycmVudCBsb2cuCisKKyAgICAgICAgVGhlIGRlZmF1bHQgaW1wbGVtZW50YXRpb24gY2FsbHMgdGhlICdyb3RhdG9yJyBhdHRyaWJ1dGUgb2YgdGhlCisgICAgICAgIGhhbmRsZXIsIGlmIGl0J3MgY2FsbGFibGUsIHBhc3NpbmcgdGhlIHNvdXJjZSBhbmQgZGVzdCBhcmd1bWVudHMgdG8KKyAgICAgICAgaXQuIElmIHRoZSBhdHRyaWJ1dGUgaXNuJ3QgY2FsbGFibGUgKHRoZSBkZWZhdWx0IGlzIE5vbmUpLCB0aGUgc291cmNlCisgICAgICAgIGlzIHNpbXBseSByZW5hbWVkIHRvIHRoZSBkZXN0aW5hdGlvbi4KKworICAgICAgICA6cGFyYW0gc291cmNlOiBUaGUgc291cmNlIGZpbGVuYW1lLiBUaGlzIGlzIG5vcm1hbGx5IHRoZSBiYXNlCisgICAgICAgICAgICAgICAgICAgICAgIGZpbGVuYW1lLCBlLmcuICd0ZXN0LmxvZycKKyAgICAgICAgOnBhcmFtIGRlc3Q6ICAgVGhlIGRlc3RpbmF0aW9uIGZpbGVuYW1lLiBUaGlzIGlzIG5vcm1hbGx5CisgICAgICAgICAgICAgICAgICAgICAgIHdoYXQgdGhlIHNvdXJjZSBpcyByb3RhdGVkIHRvLCBlLmcuICd0ZXN0LmxvZy4xJy4KKyAgICAgICAgIiIiCisgICAgICAgIGlmIG5vdCBjYWxsYWJsZShzZWxmLnJvdGF0b3IpOgorICAgICAgICAgICAgb3MucmVuYW1lKHNvdXJjZSwgZGVzdCkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHNlbGYucm90YXRvcihzb3VyY2UsIGRlc3QpCisKIGNsYXNzIFJvdGF0aW5nRmlsZUhhbmRsZXIoQmFzZVJvdGF0aW5nSGFuZGxlcik6CiAgICAgIiIiCiAgICAgSGFuZGxlciBmb3IgbG9nZ2luZyB0byBhIHNldCBvZiBmaWxlcywgd2hpY2ggc3dpdGNoZXMgZnJvbSBvbmUgZmlsZQogICAgIHRvIHRoZSBuZXh0IHdoZW4gdGhlIGN1cnJlbnQgZmlsZSByZWFjaGVzIGEgY2VydGFpbiBzaXplLgogICAgICIiIgotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBmaWxlbmFtZSwgbW9kZT0nYScsIG1heEJ5dGVzPTAsIGJhY2t1cENvdW50PTAsIGVuY29kaW5nPU5vbmUsIGRlbGF5PTApOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBmaWxlbmFtZSwgbW9kZT0nYScsIG1heEJ5dGVzPTAsIGJhY2t1cENvdW50PTAsIGVuY29kaW5nPU5vbmUsIGRlbGF5PUZhbHNlKToKICAgICAgICAgIiIiCiAgICAgICAgIE9wZW4gdGhlIHNwZWNpZmllZCBmaWxlIGFuZCB1c2UgaXQgYXMgdGhlIHN0cmVhbSBmb3IgbG9nZ2luZy4KIApAQCAtMTI3LDE2ICsxNjEsMTcgQEAKICAgICAgICAgICAgIHNlbGYuc3RyZWFtID0gTm9uZQogICAgICAgICBpZiBzZWxmLmJhY2t1cENvdW50ID4gMDoKICAgICAgICAgICAgIGZvciBpIGluIHJhbmdlKHNlbGYuYmFja3VwQ291bnQgLSAxLCAwLCAtMSk6Ci0gICAgICAgICAgICAgICAgc2ZuID0gIiVzLiVkIiAlIChzZWxmLmJhc2VGaWxlbmFtZSwgaSkKLSAgICAgICAgICAgICAgICBkZm4gPSAiJXMuJWQiICUgKHNlbGYuYmFzZUZpbGVuYW1lLCBpICsgMSkKKyAgICAgICAgICAgICAgICBzZm4gPSBzZWxmLnJvdGF0aW9uX2ZpbGVuYW1lKCIlcy4lZCIgJSAoc2VsZi5iYXNlRmlsZW5hbWUsIGkpKQorICAgICAgICAgICAgICAgIGRmbiA9IHNlbGYucm90YXRpb25fZmlsZW5hbWUoIiVzLiVkIiAlIChzZWxmLmJhc2VGaWxlbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaSArIDEpKQogICAgICAgICAgICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKHNmbik6CiAgICAgICAgICAgICAgICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKGRmbik6CiAgICAgICAgICAgICAgICAgICAgICAgICBvcy5yZW1vdmUoZGZuKQogICAgICAgICAgICAgICAgICAgICBvcy5yZW5hbWUoc2ZuLCBkZm4pCi0gICAgICAgICAgICBkZm4gPSBzZWxmLmJhc2VGaWxlbmFtZSArICIuMSIKKyAgICAgICAgICAgIGRmbiA9IHNlbGYucm90YXRpb25fZmlsZW5hbWUoc2VsZi5iYXNlRmlsZW5hbWUgKyAiLjEiKQogICAgICAgICAgICAgaWYgb3MucGF0aC5leGlzdHMoZGZuKToKICAgICAgICAgICAgICAgICBvcy5yZW1vdmUoZGZuKQotICAgICAgICAgICAgb3MucmVuYW1lKHNlbGYuYmFzZUZpbGVuYW1lLCBkZm4pCisgICAgICAgICAgICBzZWxmLnJvdGF0ZShzZWxmLmJhc2VGaWxlbmFtZSwgZGZuKQogICAgICAgICBzZWxmLm1vZGUgPSAndycKICAgICAgICAgc2VsZi5zdHJlYW0gPSBzZWxmLl9vcGVuKCkKIApAQCAtMTg0LDE5ICsyMTksMTkgQEAKICAgICAgICAgaWYgc2VsZi53aGVuID09ICdTJzoKICAgICAgICAgICAgIHNlbGYuaW50ZXJ2YWwgPSAxICMgb25lIHNlY29uZAogICAgICAgICAgICAgc2VsZi5zdWZmaXggPSAiJVktJW0tJWRfJUgtJU0tJVMiCi0gICAgICAgICAgICBzZWxmLmV4dE1hdGNoID0gciJeXGR7NH0tXGR7Mn0tXGR7Mn1fXGR7Mn0tXGR7Mn0tXGR7Mn0kIgorICAgICAgICAgICAgc2VsZi5leHRNYXRjaCA9IHIiXlxkezR9LVxkezJ9LVxkezJ9X1xkezJ9LVxkezJ9LVxkezJ9KFwuXHcrKT8kIgogICAgICAgICBlbGlmIHNlbGYud2hlbiA9PSAnTSc6CiAgICAgICAgICAgICBzZWxmLmludGVydmFsID0gNjAgIyBvbmUgbWludXRlCiAgICAgICAgICAgICBzZWxmLnN1ZmZpeCA9ICIlWS0lbS0lZF8lSC0lTSIKLSAgICAgICAgICAgIHNlbGYuZXh0TWF0Y2ggPSByIl5cZHs0fS1cZHsyfS1cZHsyfV9cZHsyfS1cZHsyfSQiCisgICAgICAgICAgICBzZWxmLmV4dE1hdGNoID0gciJeXGR7NH0tXGR7Mn0tXGR7Mn1fXGR7Mn0tXGR7Mn0oXC5cdyspPyQiCiAgICAgICAgIGVsaWYgc2VsZi53aGVuID09ICdIJzoKICAgICAgICAgICAgIHNlbGYuaW50ZXJ2YWwgPSA2MCAqIDYwICMgb25lIGhvdXIKICAgICAgICAgICAgIHNlbGYuc3VmZml4ID0gIiVZLSVtLSVkXyVIIgotICAgICAgICAgICAgc2VsZi5leHRNYXRjaCA9IHIiXlxkezR9LVxkezJ9LVxkezJ9X1xkezJ9JCIKKyAgICAgICAgICAgIHNlbGYuZXh0TWF0Y2ggPSByIl5cZHs0fS1cZHsyfS1cZHsyfV9cZHsyfShcLlx3Kyk/JCIKICAgICAgICAgZWxpZiBzZWxmLndoZW4gPT0gJ0QnIG9yIHNlbGYud2hlbiA9PSAnTUlETklHSFQnOgogICAgICAgICAgICAgc2VsZi5pbnRlcnZhbCA9IDYwICogNjAgKiAyNCAjIG9uZSBkYXkKICAgICAgICAgICAgIHNlbGYuc3VmZml4ID0gIiVZLSVtLSVkIgotICAgICAgICAgICAgc2VsZi5leHRNYXRjaCA9IHIiXlxkezR9LVxkezJ9LVxkezJ9JCIKKyAgICAgICAgICAgIHNlbGYuZXh0TWF0Y2ggPSByIl5cZHs0fS1cZHsyfS1cZHsyfShcLlx3Kyk/JCIKICAgICAgICAgZWxpZiBzZWxmLndoZW4uc3RhcnRzd2l0aCgnVycpOgogICAgICAgICAgICAgc2VsZi5pbnRlcnZhbCA9IDYwICogNjAgKiAyNCAqIDcgIyBvbmUgd2VlawogICAgICAgICAgICAgaWYgbGVuKHNlbGYud2hlbikgIT0gMjoKQEAgLTIwNSw3ICsyNDAsNyBAQAogICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIkludmFsaWQgZGF5IHNwZWNpZmllZCBmb3Igd2Vla2x5IHJvbGxvdmVyOiAlcyIgJSBzZWxmLndoZW4pCiAgICAgICAgICAgICBzZWxmLmRheU9mV2VlayA9IGludChzZWxmLndoZW5bMV0pCiAgICAgICAgICAgICBzZWxmLnN1ZmZpeCA9ICIlWS0lbS0lZCIKLSAgICAgICAgICAgIHNlbGYuZXh0TWF0Y2ggPSByIl5cZHs0fS1cZHsyfS1cZHsyfSQiCisgICAgICAgICAgICBzZWxmLmV4dE1hdGNoID0gciJeXGR7NH0tXGR7Mn0tXGR7Mn0oXC5cdyspPyQiCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJJbnZhbGlkIHJvbGxvdmVyIGludGVydmFsIHNwZWNpZmllZDogJXMiICUgc2VsZi53aGVuKQogCkBAIC0zMzgsMTAgKzM3MywxMSBAQAogICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgIGFkZGVuZCA9IC0zNjAwCiAgICAgICAgICAgICAgICAgdGltZVR1cGxlID0gdGltZS5sb2NhbHRpbWUodCArIGFkZGVuZCkKLSAgICAgICAgZGZuID0gc2VsZi5iYXNlRmlsZW5hbWUgKyAiLiIgKyB0aW1lLnN0cmZ0aW1lKHNlbGYuc3VmZml4LCB0aW1lVHVwbGUpCisgICAgICAgIGRmbiA9IHNlbGYucm90YXRpb25fZmlsZW5hbWUoc2VsZi5iYXNlRmlsZW5hbWUgKyAiLiIgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWUuc3RyZnRpbWUoc2VsZi5zdWZmaXgsIHRpbWVUdXBsZSkpCiAgICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKGRmbik6CiAgICAgICAgICAgICBvcy5yZW1vdmUoZGZuKQotICAgICAgICBvcy5yZW5hbWUoc2VsZi5iYXNlRmlsZW5hbWUsIGRmbikKKyAgICAgICAgc2VsZi5yb3RhdGUoc2VsZi5iYXNlRmlsZW5hbWUsIGRmbikKICAgICAgICAgaWYgc2VsZi5iYWNrdXBDb3VudCA+IDA6CiAgICAgICAgICAgICBmb3IgcyBpbiBzZWxmLmdldEZpbGVzVG9EZWxldGUoKToKICAgICAgICAgICAgICAgICBvcy5yZW1vdmUocykKQEAgLTM4MSw3ICs0MTcsNyBAQAogICAgIFRoaXMgaGFuZGxlciBpcyBiYXNlZCBvbiBhIHN1Z2dlc3Rpb24gYW5kIHBhdGNoIGJ5IENoYWQgSi4KICAgICBTY2hyb2VkZXIuCiAgICAgIiIiCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIGZpbGVuYW1lLCBtb2RlPSdhJywgZW5jb2Rpbmc9Tm9uZSwgZGVsYXk9MCk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGZpbGVuYW1lLCBtb2RlPSdhJywgZW5jb2Rpbmc9Tm9uZSwgZGVsYXk9RmFsc2UpOgogICAgICAgICBsb2dnaW5nLkZpbGVIYW5kbGVyLl9faW5pdF9fKHNlbGYsIGZpbGVuYW1lLCBtb2RlLCBlbmNvZGluZywgZGVsYXkpCiAgICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhzZWxmLmJhc2VGaWxlbmFtZSk6CiAgICAgICAgICAgICBzZWxmLmRldiwgc2VsZi5pbm8gPSAtMSwgLTEKQEAgLTM5OSw3ICs0MzUsNyBAQAogICAgICAgICAiIiIKICAgICAgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKHNlbGYuYmFzZUZpbGVuYW1lKToKICAgICAgICAgICAgIHN0YXQgPSBOb25lCi0gICAgICAgICAgICBjaGFuZ2VkID0gMQorICAgICAgICAgICAgY2hhbmdlZCA9IFRydWUKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHN0YXQgPSBvcy5zdGF0KHNlbGYuYmFzZUZpbGVuYW1lKQogICAgICAgICAgICAgY2hhbmdlZCA9IChzdGF0W1NUX0RFVl0gIT0gc2VsZi5kZXYpIG9yIChzdGF0W1NUX0lOT10gIT0gc2VsZi5pbm8pCkBAIC00MjksMTUgKzQ2NSwxNSBAQAogICAgICAgICAiIiIKICAgICAgICAgSW5pdGlhbGl6ZXMgdGhlIGhhbmRsZXIgd2l0aCBhIHNwZWNpZmljIGhvc3QgYWRkcmVzcyBhbmQgcG9ydC4KIAotICAgICAgICBUaGUgYXR0cmlidXRlICdjbG9zZU9uRXJyb3InIGlzIHNldCB0byAxIC0gd2hpY2ggbWVhbnMgdGhhdCBpZgotICAgICAgICBhIHNvY2tldCBlcnJvciBvY2N1cnMsIHRoZSBzb2NrZXQgaXMgc2lsZW50bHkgY2xvc2VkIGFuZCB0aGVuCi0gICAgICAgIHJlb3BlbmVkIG9uIHRoZSBuZXh0IGxvZ2dpbmcgY2FsbC4KKyAgICAgICAgV2hlbiB0aGUgYXR0cmlidXRlICpjbG9zZU9uRXJyb3IqIGlzIHNldCB0byBUcnVlIC0gaWYgYSBzb2NrZXQgZXJyb3IKKyAgICAgICAgb2NjdXJzLCB0aGUgc29ja2V0IGlzIHNpbGVudGx5IGNsb3NlZCBhbmQgdGhlbiByZW9wZW5lZCBvbiB0aGUgbmV4dAorICAgICAgICBsb2dnaW5nIGNhbGwuCiAgICAgICAgICIiIgogICAgICAgICBsb2dnaW5nLkhhbmRsZXIuX19pbml0X18oc2VsZikKICAgICAgICAgc2VsZi5ob3N0ID0gaG9zdAogICAgICAgICBzZWxmLnBvcnQgPSBwb3J0CiAgICAgICAgIHNlbGYuc29jayA9IE5vbmUKLSAgICAgICAgc2VsZi5jbG9zZU9uRXJyb3IgPSAwCisgICAgICAgIHNlbGYuY2xvc2VPbkVycm9yID0gRmFsc2UKICAgICAgICAgc2VsZi5yZXRyeVRpbWUgPSBOb25lCiAgICAgICAgICMKICAgICAgICAgIyBFeHBvbmVudGlhbCBiYWNrb2ZmIHBhcmFtZXRlcnMuCkBAIC00NTQsOCArNDkwLDEyIEBACiAgICAgICAgIHMgPSBzb2NrZXQuc29ja2V0KHNvY2tldC5BRl9JTkVULCBzb2NrZXQuU09DS19TVFJFQU0pCiAgICAgICAgIGlmIGhhc2F0dHIocywgJ3NldHRpbWVvdXQnKToKICAgICAgICAgICAgIHMuc2V0dGltZW91dCh0aW1lb3V0KQotICAgICAgICBzLmNvbm5lY3QoKHNlbGYuaG9zdCwgc2VsZi5wb3J0KSkKLSAgICAgICAgcmV0dXJuIHMKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgcy5jb25uZWN0KChzZWxmLmhvc3QsIHNlbGYucG9ydCkpCisgICAgICAgICAgICByZXR1cm4gcworICAgICAgICBleGNlcHQgc29ja2V0LmVycm9yOgorICAgICAgICAgICAgcy5jbG9zZSgpCisgICAgICAgICAgICByYWlzZQogCiAgICAgZGVmIGNyZWF0ZVNvY2tldChzZWxmKToKICAgICAgICAgIiIiCkBAIC00NjgsNyArNTA4LDcgQEAKICAgICAgICAgIyBpcyB0aGUgZmlyc3QgdGltZSBiYWNrIGFmdGVyIGEgZGlzY29ubmVjdCwgb3IKICAgICAgICAgIyB3ZSd2ZSB3YWl0ZWQgbG9uZyBlbm91Z2guCiAgICAgICAgIGlmIHNlbGYucmV0cnlUaW1lIGlzIE5vbmU6Ci0gICAgICAgICAgICBhdHRlbXB0ID0gMQorICAgICAgICAgICAgYXR0ZW1wdCA9IFRydWUKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIGF0dGVtcHQgPSAobm93ID49IHNlbGYucmV0cnlUaW1lKQogICAgICAgICBpZiBhdHRlbXB0OgpAQCAtNTAxLDE0ICs1NDEsMTQgQEAKICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICBpZiBoYXNhdHRyKHNlbGYuc29jaywgInNlbmRhbGwiKToKICAgICAgICAgICAgICAgICAgICAgc2VsZi5zb2NrLnNlbmRhbGwocykKLSAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIGVsc2U6ICNwcmFnbWE6IG5vIGNvdmVyCiAgICAgICAgICAgICAgICAgICAgIHNlbnRzb2ZhciA9IDAKICAgICAgICAgICAgICAgICAgICAgbGVmdCA9IGxlbihzKQogICAgICAgICAgICAgICAgICAgICB3aGlsZSBsZWZ0ID4gMDoKICAgICAgICAgICAgICAgICAgICAgICAgIHNlbnQgPSBzZWxmLnNvY2suc2VuZChzW3NlbnRzb2ZhcjpdKQogICAgICAgICAgICAgICAgICAgICAgICAgc2VudHNvZmFyID0gc2VudHNvZmFyICsgc2VudAogICAgICAgICAgICAgICAgICAgICAgICAgbGVmdCA9IGxlZnQgLSBzZW50Ci0gICAgICAgICAgICBleGNlcHQgc29ja2V0LmVycm9yOgorICAgICAgICAgICAgZXhjZXB0IHNvY2tldC5lcnJvcjogI3ByYWdtYTogbm8gY292ZXIKICAgICAgICAgICAgICAgICBzZWxmLnNvY2suY2xvc2UoKQogICAgICAgICAgICAgICAgIHNlbGYuc29jayA9IE5vbmUgICMgc28gd2UgY2FuIGNhbGwgY3JlYXRlU29ja2V0IG5leHQgdGltZQogCkBAIC01NTMsNyArNTkzLDcgQEAKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgcyA9IHNlbGYubWFrZVBpY2tsZShyZWNvcmQpCiAgICAgICAgICAgICBzZWxmLnNlbmQocykKLSAgICAgICAgZXhjZXB0IChLZXlib2FyZEludGVycnVwdCwgU3lzdGVtRXhpdCk6CisgICAgICAgIGV4Y2VwdCAoS2V5Ym9hcmRJbnRlcnJ1cHQsIFN5c3RlbUV4aXQpOiAjcHJhZ21hOiBubyBjb3ZlcgogICAgICAgICAgICAgcmFpc2UKICAgICAgICAgZXhjZXB0OgogICAgICAgICAgICAgc2VsZi5oYW5kbGVFcnJvcihyZWNvcmQpCkBAIC01ODcsNyArNjI3LDcgQEAKICAgICAgICAgSW5pdGlhbGl6ZXMgdGhlIGhhbmRsZXIgd2l0aCBhIHNwZWNpZmljIGhvc3QgYWRkcmVzcyBhbmQgcG9ydC4KICAgICAgICAgIiIiCiAgICAgICAgIFNvY2tldEhhbmRsZXIuX19pbml0X18oc2VsZiwgaG9zdCwgcG9ydCkKLSAgICAgICAgc2VsZi5jbG9zZU9uRXJyb3IgPSAwCisgICAgICAgIHNlbGYuY2xvc2VPbkVycm9yID0gRmFsc2UKIAogICAgIGRlZiBtYWtlU29ja2V0KHNlbGYpOgogICAgICAgICAiIiIKQEAgLTcyOCwxMCArNzY4LDEwIEBACiAgICAgICAgIHNlbGYuc29ja3R5cGUgPSBzb2NrdHlwZQogCiAgICAgICAgIGlmIGlzaW5zdGFuY2UoYWRkcmVzcywgc3RyKToKLSAgICAgICAgICAgIHNlbGYudW5peHNvY2tldCA9IDEKKyAgICAgICAgICAgIHNlbGYudW5peHNvY2tldCA9IFRydWUKICAgICAgICAgICAgIHNlbGYuX2Nvbm5lY3RfdW5peHNvY2tldChhZGRyZXNzKQogICAgICAgICBlbHNlOgotICAgICAgICAgICAgc2VsZi51bml4c29ja2V0ID0gMAorICAgICAgICAgICAgc2VsZi51bml4c29ja2V0ID0gRmFsc2UKICAgICAgICAgICAgIHNlbGYuc29ja2V0ID0gc29ja2V0LnNvY2tldChzb2NrZXQuQUZfSU5FVCwgc29ja3R5cGUpCiAgICAgICAgICAgICBpZiBzb2NrdHlwZSA9PSBzb2NrZXQuU09DS19TVFJFQU06CiAgICAgICAgICAgICAgICAgc2VsZi5zb2NrZXQuY29ubmVjdChhZGRyZXNzKQpAQCAtNzY2LDggKzgwNiw3IEBACiAgICAgICAgICIiIgogICAgICAgICBzZWxmLmFjcXVpcmUoKQogICAgICAgICB0cnk6Ci0gICAgICAgICAgICBpZiBzZWxmLnVuaXhzb2NrZXQ6Ci0gICAgICAgICAgICAgICAgc2VsZi5zb2NrZXQuY2xvc2UoKQorICAgICAgICAgICAgc2VsZi5zb2NrZXQuY2xvc2UoKQogICAgICAgICAgICAgbG9nZ2luZy5IYW5kbGVyLmNsb3NlKHNlbGYpCiAgICAgICAgIGZpbmFsbHk6CiAgICAgICAgICAgICBzZWxmLnJlbGVhc2UoKQpAQCAtNzgyLDYgKzgyMSw3IEBACiAgICAgICAgICIiIgogICAgICAgICByZXR1cm4gc2VsZi5wcmlvcml0eV9tYXAuZ2V0KGxldmVsTmFtZSwgIndhcm5pbmciKQogCisgICAgaWRlbnQgPSAnJyAgICAgICAgICAjIHByZXBlbmRlZCB0byBhbGwgbWVzc2FnZXMKICAgICBhcHBlbmRfbnVsID0gVHJ1ZSAgICMgc29tZSBvbGQgc3lzbG9nIGRhZW1vbnMgZXhwZWN0IGEgTlVMIHRlcm1pbmF0b3IKIAogICAgIGRlZiBlbWl0KHNlbGYsIHJlY29yZCk6CkBAIC03OTIsNiArODMyLDggQEAKICAgICAgICAgZXhjZXB0aW9uIGluZm9ybWF0aW9uIGlzIHByZXNlbnQsIGl0IGlzIE5PVCBzZW50IHRvIHRoZSBzZXJ2ZXIuCiAgICAgICAgICIiIgogICAgICAgICBtc2cgPSBzZWxmLmZvcm1hdChyZWNvcmQpCisgICAgICAgIGlmIHNlbGYuaWRlbnQ6CisgICAgICAgICAgICBtc2cgPSBzZWxmLmlkZW50ICsgbXNnCiAgICAgICAgIGlmIHNlbGYuYXBwZW5kX251bDoKICAgICAgICAgICAgIG1zZyArPSAnXDAwMCcKICAgICAgICAgIiIiCkBAIC04MDMsOSArODQ1LDcgQEAKICAgICAgICAgcHJpbyA9IHByaW8uZW5jb2RlKCd1dGYtOCcpCiAgICAgICAgICMgTWVzc2FnZSBpcyBhIHN0cmluZy4gQ29udmVydCB0byBieXRlcyBhcyByZXF1aXJlZCBieSBSRkMgNTQyNAogICAgICAgICBtc2cgPSBtc2cuZW5jb2RlKCd1dGYtOCcpCi0gICAgICAgIGlmIGNvZGVjczoKLSAgICAgICAgICAgIG1zZyA9IGNvZGVjcy5CT01fVVRGOCArIG1zZwotICAgICAgICBtc2cgPSBwcmlvICsgbXNnCisgICAgICAgIG1zZyA9IHByaW8gKyBCT01fVVRGOCArIG1zZwogICAgICAgICB0cnk6CiAgICAgICAgICAgICBpZiBzZWxmLnVuaXhzb2NrZXQ6CiAgICAgICAgICAgICAgICAgdHJ5OgpAQCAtODE3LDcgKzg1Nyw3IEBACiAgICAgICAgICAgICAgICAgc2VsZi5zb2NrZXQuc2VuZHRvKG1zZywgc2VsZi5hZGRyZXNzKQogICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICBzZWxmLnNvY2tldC5zZW5kYWxsKG1zZykKLSAgICAgICAgZXhjZXB0IChLZXlib2FyZEludGVycnVwdCwgU3lzdGVtRXhpdCk6CisgICAgICAgIGV4Y2VwdCAoS2V5Ym9hcmRJbnRlcnJ1cHQsIFN5c3RlbUV4aXQpOiAjcHJhZ21hOiBubyBjb3ZlcgogICAgICAgICAgICAgcmFpc2UKICAgICAgICAgZXhjZXB0OgogICAgICAgICAgICAgc2VsZi5oYW5kbGVFcnJvcihyZWNvcmQpCkBAIC04MjcsNyArODY3LDcgQEAKICAgICBBIGhhbmRsZXIgY2xhc3Mgd2hpY2ggc2VuZHMgYW4gU01UUCBlbWFpbCBmb3IgZWFjaCBsb2dnaW5nIGV2ZW50LgogICAgICIiIgogICAgIGRlZiBfX2luaXRfXyhzZWxmLCBtYWlsaG9zdCwgZnJvbWFkZHIsIHRvYWRkcnMsIHN1YmplY3QsCi0gICAgICAgICAgICAgICAgIGNyZWRlbnRpYWxzPU5vbmUsIHNlY3VyZT1Ob25lKToKKyAgICAgICAgICAgICAgICAgY3JlZGVudGlhbHM9Tm9uZSwgc2VjdXJlPU5vbmUsIHRpbWVvdXQ9MS4wKToKICAgICAgICAgIiIiCiAgICAgICAgIEluaXRpYWxpemUgdGhlIGhhbmRsZXIuCiAKQEAgLTg0MSw2ICs4ODEsOCBAQAogICAgICAgICB3aWxsIGJlIGVpdGhlciBhbiBlbXB0eSB0dXBsZSwgb3IgYSBzaW5nbGUtdmFsdWUgdHVwbGUgd2l0aCB0aGUgbmFtZQogICAgICAgICBvZiBhIGtleWZpbGUsIG9yIGEgMi12YWx1ZSB0dXBsZSB3aXRoIHRoZSBuYW1lcyBvZiB0aGUga2V5ZmlsZSBhbmQKICAgICAgICAgY2VydGlmaWNhdGUgZmlsZS4gKFRoaXMgdHVwbGUgaXMgcGFzc2VkIHRvIHRoZSBgc3RhcnR0bHNgIG1ldGhvZCkuCisgICAgICAgIEEgdGltZW91dCBpbiBzZWNvbmRzIGNhbiBiZSBzcGVjaWZpZWQgZm9yIHRoZSBTTVRQIGNvbm5lY3Rpb24gKHRoZQorICAgICAgICBkZWZhdWx0IGlzIG9uZSBzZWNvbmQpLgogICAgICAgICAiIiIKICAgICAgICAgbG9nZ2luZy5IYW5kbGVyLl9faW5pdF9fKHNlbGYpCiAgICAgICAgIGlmIGlzaW5zdGFuY2UobWFpbGhvc3QsIHR1cGxlKToKQEAgLTg1Nyw2ICs4OTksNyBAQAogICAgICAgICBzZWxmLnRvYWRkcnMgPSB0b2FkZHJzCiAgICAgICAgIHNlbGYuc3ViamVjdCA9IHN1YmplY3QKICAgICAgICAgc2VsZi5zZWN1cmUgPSBzZWN1cmUKKyAgICAgICAgc2VsZi50aW1lb3V0ID0gdGltZW91dAogCiAgICAgZGVmIGdldFN1YmplY3Qoc2VsZiwgcmVjb3JkKToKICAgICAgICAgIiIiCkBAIC04NzksNyArOTIyLDcgQEAKICAgICAgICAgICAgIHBvcnQgPSBzZWxmLm1haWxwb3J0CiAgICAgICAgICAgICBpZiBub3QgcG9ydDoKICAgICAgICAgICAgICAgICBwb3J0ID0gc210cGxpYi5TTVRQX1BPUlQKLSAgICAgICAgICAgIHNtdHAgPSBzbXRwbGliLlNNVFAoc2VsZi5tYWlsaG9zdCwgcG9ydCkKKyAgICAgICAgICAgIHNtdHAgPSBzbXRwbGliLlNNVFAoc2VsZi5tYWlsaG9zdCwgcG9ydCwgdGltZW91dD1zZWxmLnRpbWVvdXQpCiAgICAgICAgICAgICBtc2cgPSBzZWxmLmZvcm1hdChyZWNvcmQpCiAgICAgICAgICAgICBtc2cgPSAiRnJvbTogJXNcclxuVG86ICVzXHJcblN1YmplY3Q6ICVzXHJcbkRhdGU6ICVzXHJcblxyXG4lcyIgJSAoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5mcm9tYWRkciwKQEAgLTg5NCw3ICs5MzcsNyBAQAogICAgICAgICAgICAgICAgIHNtdHAubG9naW4oc2VsZi51c2VybmFtZSwgc2VsZi5wYXNzd29yZCkKICAgICAgICAgICAgIHNtdHAuc2VuZG1haWwoc2VsZi5mcm9tYWRkciwgc2VsZi50b2FkZHJzLCBtc2cpCiAgICAgICAgICAgICBzbXRwLnF1aXQoKQotICAgICAgICBleGNlcHQgKEtleWJvYXJkSW50ZXJydXB0LCBTeXN0ZW1FeGl0KToKKyAgICAgICAgZXhjZXB0IChLZXlib2FyZEludGVycnVwdCwgU3lzdGVtRXhpdCk6ICNwcmFnbWE6IG5vIGNvdmVyCiAgICAgICAgICAgICByYWlzZQogICAgICAgICBleGNlcHQ6CiAgICAgICAgICAgICBzZWxmLmhhbmRsZUVycm9yKHJlY29yZCkKQEAgLTk4MSw3ICsxMDI0LDcgQEAKICAgICAgICAgICAgICAgICB0eXBlID0gc2VsZi5nZXRFdmVudFR5cGUocmVjb3JkKQogICAgICAgICAgICAgICAgIG1zZyA9IHNlbGYuZm9ybWF0KHJlY29yZCkKICAgICAgICAgICAgICAgICBzZWxmLl93ZWx1LlJlcG9ydEV2ZW50KHNlbGYuYXBwbmFtZSwgaWQsIGNhdCwgdHlwZSwgW21zZ10pCi0gICAgICAgICAgICBleGNlcHQgKEtleWJvYXJkSW50ZXJydXB0LCBTeXN0ZW1FeGl0KToKKyAgICAgICAgICAgIGV4Y2VwdCAoS2V5Ym9hcmRJbnRlcnJ1cHQsIFN5c3RlbUV4aXQpOiAjcHJhZ21hOiBubyBjb3ZlcgogICAgICAgICAgICAgICAgIHJhaXNlCiAgICAgICAgICAgICBleGNlcHQ6CiAgICAgICAgICAgICAgICAgc2VsZi5oYW5kbGVFcnJvcihyZWNvcmQpCkBAIC0xMDY0LDkgKzExMDcsMTEgQEAKICAgICAgICAgICAgICAgICBzID0gKCd1JXM6JXMnICUgc2VsZi5jcmVkZW50aWFscykuZW5jb2RlKCd1dGYtOCcpCiAgICAgICAgICAgICAgICAgcyA9ICdCYXNpYyAnICsgYmFzZTY0LmI2NGVuY29kZShzKS5zdHJpcCgpCiAgICAgICAgICAgICAgICAgaC5wdXRoZWFkZXIoJ0F1dGhvcml6YXRpb24nLCBzKQotICAgICAgICAgICAgaC5lbmRoZWFkZXJzKGRhdGEgaWYgc2VsZi5tZXRob2QgPT0gIlBPU1QiIGVsc2UgTm9uZSkKKyAgICAgICAgICAgIGguZW5kaGVhZGVycygpCisgICAgICAgICAgICBpZiBzZWxmLm1ldGhvZCA9PSAiUE9TVCI6CisgICAgICAgICAgICAgICAgaC5zZW5kKGRhdGEuZW5jb2RlKCd1dGYtOCcpKQogICAgICAgICAgICAgaC5nZXRyZXNwb25zZSgpICAgICNjYW4ndCBkbyBhbnl0aGluZyB3aXRoIHRoZSByZXN1bHQKLSAgICAgICAgZXhjZXB0IChLZXlib2FyZEludGVycnVwdCwgU3lzdGVtRXhpdCk6CisgICAgICAgIGV4Y2VwdCAoS2V5Ym9hcmRJbnRlcnJ1cHQsIFN5c3RlbUV4aXQpOiAjcHJhZ21hOiBubyBjb3ZlcgogICAgICAgICAgICAgcmFpc2UKICAgICAgICAgZXhjZXB0OgogICAgICAgICAgICAgc2VsZi5oYW5kbGVFcnJvcihyZWNvcmQpCkBAIC0xMjQ4LDcgKzEyOTMsNyBAQAogICAgICAgICAiIiIKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgc2VsZi5lbnF1ZXVlKHNlbGYucHJlcGFyZShyZWNvcmQpKQotICAgICAgICBleGNlcHQgKEtleWJvYXJkSW50ZXJydXB0LCBTeXN0ZW1FeGl0KToKKyAgICAgICAgZXhjZXB0IChLZXlib2FyZEludGVycnVwdCwgU3lzdGVtRXhpdCk6ICNwcmFnbWE6IG5vIGNvdmVyCiAgICAgICAgICAgICByYWlzZQogICAgICAgICBleGNlcHQ6CiAgICAgICAgICAgICBzZWxmLmhhbmRsZUVycm9yKHJlY29yZCkKQEAgLTEzNDUsNiArMTM5MCwxNiBAQAogICAgICAgICAgICAgICAgIGV4Y2VwdCBxdWV1ZS5FbXB0eToKICAgICAgICAgICAgICAgICAgICAgYnJlYWsKIAorICAgICAgICBkZWYgZW5xdWV1ZV9zZW50aW5lbChzZWxmKToKKyAgICAgICAgICAgICIiIgorICAgICAgICAgICAgVGhpcyBpcyB1c2VkIHRvIGVucXVldWUgdGhlIHNlbnRpbmVsIHJlY29yZC4KKworICAgICAgICAgICAgVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gdXNlcyBwdXRfbm93YWl0LiBZb3UgbWF5IHdhbnQgdG8gb3ZlcnJpZGUgdGhpcworICAgICAgICAgICAgbWV0aG9kIGlmIHlvdSB3YW50IHRvIHVzZSB0aW1lb3V0cyBvciB3b3JrIHdpdGggY3VzdG9tIHF1ZXVlCisgICAgICAgICAgICBpbXBsZW1lbnRhdGlvbnMuCisgICAgICAgICAgICAiIiIKKyAgICAgICAgICAgIHNlbGYucXVldWUucHV0X25vd2FpdChzZWxmLl9zZW50aW5lbCkKKwogICAgICAgICBkZWYgc3RvcChzZWxmKToKICAgICAgICAgICAgICIiIgogICAgICAgICAgICAgU3RvcCB0aGUgbGlzdGVuZXIuCkBAIC0xMzU0LDYgKzE0MDksNiBAQAogICAgICAgICAgICAgbWF5IGJlIHNvbWUgcmVjb3JkcyBzdGlsbCBsZWZ0IG9uIHRoZSBxdWV1ZSwgd2hpY2ggd29uJ3QgYmUgcHJvY2Vzc2VkLgogICAgICAgICAgICAgIiIiCiAgICAgICAgICAgICBzZWxmLl9zdG9wLnNldCgpCi0gICAgICAgICAgICBzZWxmLnF1ZXVlLnB1dF9ub3dhaXQoc2VsZi5fc2VudGluZWwpCisgICAgICAgICAgICBzZWxmLmVucXVldWVfc2VudGluZWwoKQogICAgICAgICAgICAgc2VsZi5fdGhyZWFkLmpvaW4oKQogICAgICAgICAgICAgc2VsZi5fdGhyZWFkID0gTm9uZQpkaWZmIC0tZ2l0IGEvTGliL2x6bWEucHkgYi9MaWIvbHptYS5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNzg2OTkzCi0tLSAvZGV2L251bGwKKysrIGIvTGliL2x6bWEucHkKQEAgLTAsMCArMSw0MDEgQEAKKyIiIkludGVyZmFjZSB0byB0aGUgbGlibHptYSBjb21wcmVzc2lvbiBsaWJyYXJ5LgorCitUaGlzIG1vZHVsZSBwcm92aWRlcyBhIGNsYXNzIGZvciByZWFkaW5nIGFuZCB3cml0aW5nIGNvbXByZXNzZWQgZmlsZXMsCitjbGFzc2VzIGZvciBpbmNyZW1lbnRhbCAoZGUpY29tcHJlc3Npb24sIGFuZCBjb252ZW5pZW5jZSBmdW5jdGlvbnMgZm9yCitvbmUtc2hvdCAoZGUpY29tcHJlc3Npb24uCisKK1RoZXNlIGNsYXNzZXMgYW5kIGZ1bmN0aW9ucyBzdXBwb3J0IGJvdGggdGhlIFhaIGFuZCBsZWdhY3kgTFpNQQorY29udGFpbmVyIGZvcm1hdHMsIGFzIHdlbGwgYXMgcmF3IGNvbXByZXNzZWQgZGF0YSBzdHJlYW1zLgorIiIiCisKK19fYWxsX18gPSBbCisgICAgIkNIRUNLX05PTkUiLCAiQ0hFQ0tfQ1JDMzIiLCAiQ0hFQ0tfQ1JDNjQiLCAiQ0hFQ0tfU0hBMjU2IiwKKyAgICAiQ0hFQ0tfSURfTUFYIiwgIkNIRUNLX1VOS05PV04iLAorICAgICJGSUxURVJfTFpNQTEiLCAiRklMVEVSX0xaTUEyIiwgIkZJTFRFUl9ERUxUQSIsICJGSUxURVJfWDg2IiwgIkZJTFRFUl9JQTY0IiwKKyAgICAiRklMVEVSX0FSTSIsICJGSUxURVJfQVJNVEhVTUIiLCAiRklMVEVSX1BPV0VSUEMiLCAiRklMVEVSX1NQQVJDIiwKKyAgICAiRk9STUFUX0FVVE8iLCAiRk9STUFUX1haIiwgIkZPUk1BVF9BTE9ORSIsICJGT1JNQVRfUkFXIiwKKyAgICAiTUZfSEMzIiwgIk1GX0hDNCIsICJNRl9CVDIiLCAiTUZfQlQzIiwgIk1GX0JUNCIsCisgICAgIk1PREVfRkFTVCIsICJNT0RFX05PUk1BTCIsICJQUkVTRVRfREVGQVVMVCIsICJQUkVTRVRfRVhUUkVNRSIsCisKKyAgICAiTFpNQUNvbXByZXNzb3IiLCAiTFpNQURlY29tcHJlc3NvciIsICJMWk1BRmlsZSIsICJMWk1BRXJyb3IiLAorICAgICJjb21wcmVzcyIsICJkZWNvbXByZXNzIiwgImNoZWNrX2lzX3N1cHBvcnRlZCIsCitdCisKK2ltcG9ydCBpbworZnJvbSBfbHptYSBpbXBvcnQgKgorCisKK19NT0RFX0NMT1NFRCAgID0gMAorX01PREVfUkVBRCAgICAgPSAxCitfTU9ERV9SRUFEX0VPRiA9IDIKK19NT0RFX1dSSVRFICAgID0gMworCitfQlVGRkVSX1NJWkUgPSA4MTkyCisKKworY2xhc3MgTFpNQUZpbGUoaW8uQnVmZmVyZWRJT0Jhc2UpOgorCisgICAgIiIiQSBmaWxlIG9iamVjdCBwcm92aWRpbmcgdHJhbnNwYXJlbnQgTFpNQSAoZGUpY29tcHJlc3Npb24uCisKKyAgICBBbiBMWk1BRmlsZSBjYW4gYWN0IGFzIGEgd3JhcHBlciBmb3IgYW4gZXhpc3RpbmcgZmlsZSBvYmplY3QsIG9yCisgICAgcmVmZXIgZGlyZWN0bHkgdG8gYSBuYW1lZCBmaWxlIG9uIGRpc2suCisKKyAgICBOb3RlIHRoYXQgTFpNQUZpbGUgcHJvdmlkZXMgYSAqYmluYXJ5KiBmaWxlIGludGVyZmFjZSAtIGRhdGEgcmVhZAorICAgIGlzIHJldHVybmVkIGFzIGJ5dGVzLCBhbmQgZGF0YSB0byBiZSB3cml0dGVuIG11c3QgYmUgZ2l2ZW4gYXMgYnl0ZXMuCisgICAgIiIiCisKKyAgICBkZWYgX19pbml0X18oc2VsZiwgZmlsZW5hbWU9Tm9uZSwgbW9kZT0iciIsICosCisgICAgICAgICAgICAgICAgIGZpbGVvYmo9Tm9uZSwgZm9ybWF0PU5vbmUsIGNoZWNrPS0xLAorICAgICAgICAgICAgICAgICBwcmVzZXQ9Tm9uZSwgZmlsdGVycz1Ob25lKToKKyAgICAgICAgIiIiT3BlbiBhbiBMWk1BLWNvbXByZXNzZWQgZmlsZS4KKworICAgICAgICBJZiBmaWxlbmFtZSBpcyBnaXZlbiwgb3BlbiB0aGUgbmFtZWQgZmlsZS4gT3RoZXJ3aXNlLCBvcGVyYXRlIG9uCisgICAgICAgIHRoZSBmaWxlIG9iamVjdCBnaXZlbiBieSBmaWxlb2JqLiBFeGFjdGx5IG9uZSBvZiB0aGVzZSB0d28KKyAgICAgICAgcGFyYW1ldGVycyBzaG91bGQgYmUgcHJvdmlkZWQuCisKKyAgICAgICAgbW9kZSBjYW4gYmUgInIiIGZvciByZWFkaW5nIChkZWZhdWx0KSwgInciIGZvciAob3Zlcil3cml0aW5nLCBvcgorICAgICAgICAiYSIgZm9yIGFwcGVuZGluZy4KKworICAgICAgICBmb3JtYXQgc3BlY2lmaWVzIHRoZSBjb250YWluZXIgZm9ybWF0IHRvIHVzZSBmb3IgdGhlIGZpbGUuCisgICAgICAgIElmIG1vZGUgaXMgInIiLCB0aGlzIGRlZmF1bHRzIHRvIEZPUk1BVF9BVVRPLiBPdGhlcndpc2UsIHRoZQorICAgICAgICBkZWZhdWx0IGlzIEZPUk1BVF9YWi4KKworICAgICAgICBjaGVjayBzcGVjaWZpZXMgdGhlIGludGVncml0eSBjaGVjayB0byB1c2UuIFRoaXMgYXJndW1lbnQgY2FuCisgICAgICAgIG9ubHkgYmUgdXNlZCB3aGVuIG9wZW5pbmcgYSBmaWxlIGZvciB3cml0aW5nLiBGb3IgRk9STUFUX1haLAorICAgICAgICB0aGUgZGVmYXVsdCBpcyBDSEVDS19DUkM2NC4gRk9STUFUX0FMT05FIGFuZCBGT1JNQVRfUkFXIGRvIG5vdAorICAgICAgICBzdXBwb3J0IGludGVncml0eSBjaGVja3MgLSBmb3IgdGhlc2UgZm9ybWF0cywgY2hlY2sgbXVzdCBiZQorICAgICAgICBvbWl0dGVkLCBvciBiZSBDSEVDS19OT05FLgorCisgICAgICAgIFdoZW4gb3BlbmluZyBhIGZpbGUgZm9yIHJlYWRpbmcsIHRoZSAqcHJlc2V0KiBhcmd1bWVudCBpcyBub3QKKyAgICAgICAgbWVhbmluZ2Z1bCwgYW5kIHNob3VsZCBiZSBvbWl0dGVkLiBUaGUgKmZpbHRlcnMqIGFyZ3VtZW50IHNob3VsZAorICAgICAgICBhbHNvIGJlIG9taXR0ZWQsIGV4Y2VwdCB3aGVuIGZvcm1hdCBpcyBGT1JNQVRfUkFXIChpbiB3aGljaCBjYXNlCisgICAgICAgIGl0IGlzIHJlcXVpcmVkKS4KKworICAgICAgICBXaGVuIG9wZW5pbmcgYSBmaWxlIGZvciB3cml0aW5nLCB0aGUgc2V0dGluZ3MgdXNlZCBieSB0aGUKKyAgICAgICAgY29tcHJlc3NvciBjYW4gYmUgc3BlY2lmaWVkIGVpdGhlciBhcyBhIHByZXNldCBjb21wcmVzc2lvbgorICAgICAgICBsZXZlbCAod2l0aCB0aGUgKnByZXNldCogYXJndW1lbnQpLCBvciBpbiBkZXRhaWwgYXMgYSBjdXN0b20KKyAgICAgICAgZmlsdGVyIGNoYWluICh3aXRoIHRoZSAqZmlsdGVycyogYXJndW1lbnQpLiBGb3IgRk9STUFUX1haIGFuZAorICAgICAgICBGT1JNQVRfQUxPTkUsIHRoZSBkZWZhdWx0IGlzIHRvIHVzZSB0aGUgUFJFU0VUX0RFRkFVTFQgcHJlc2V0CisgICAgICAgIGxldmVsLiBGb3IgRk9STUFUX1JBVywgdGhlIGNhbGxlciBtdXN0IGFsd2F5cyBzcGVjaWZ5IGEgZmlsdGVyCisgICAgICAgIGNoYWluOyB0aGUgcmF3IGNvbXByZXNzb3IgZG9lcyBub3Qgc3VwcG9ydCBwcmVzZXQgY29tcHJlc3Npb24KKyAgICAgICAgbGV2ZWxzLgorCisgICAgICAgIHByZXNldCAoaWYgcHJvdmlkZWQpIHNob3VsZCBiZSBhbiBpbnRlZ2VyIGluIHRoZSByYW5nZSAwLTksCisgICAgICAgIG9wdGlvbmFsbHkgT1ItZWQgd2l0aCB0aGUgY29uc3RhbnQgUFJFU0VUX0VYVFJFTUUuCisKKyAgICAgICAgZmlsdGVycyAoaWYgcHJvdmlkZWQpIHNob3VsZCBiZSBhIHNlcXVlbmNlIG9mIGRpY3RzLiBFYWNoIGRpY3QKKyAgICAgICAgc2hvdWxkIGhhdmUgYW4gZW50cnkgZm9yICJpZCIgaW5kaWNhdGluZyBJRCBvZiB0aGUgZmlsdGVyLCBwbHVzCisgICAgICAgIGFkZGl0aW9uYWwgZW50cmllcyBmb3Igb3B0aW9ucyB0byB0aGUgZmlsdGVyLgorICAgICAgICAiIiIKKyAgICAgICAgc2VsZi5fZnAgPSBOb25lCisgICAgICAgIHNlbGYuX2Nsb3NlZnAgPSBGYWxzZQorICAgICAgICBzZWxmLl9tb2RlID0gX01PREVfQ0xPU0VECisgICAgICAgIHNlbGYuX3BvcyA9IDAKKyAgICAgICAgc2VsZi5fc2l6ZSA9IC0xCisKKyAgICAgICAgaWYgbW9kZSA9PSAiciI6CisgICAgICAgICAgICBpZiBjaGVjayAhPSAtMToKKyAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJDYW5ub3Qgc3BlY2lmeSBhbiBpbnRlZ3JpdHkgY2hlY2sgIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIndoZW4gb3BlbmluZyBhIGZpbGUgZm9yIHJlYWRpbmciKQorICAgICAgICAgICAgaWYgcHJlc2V0IGlzIG5vdCBOb25lOgorICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIkNhbm5vdCBzcGVjaWZ5IGEgcHJlc2V0IGNvbXByZXNzaW9uICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsZXZlbCB3aGVuIG9wZW5pbmcgYSBmaWxlIGZvciByZWFkaW5nIikKKyAgICAgICAgICAgIGlmIGZvcm1hdCBpcyBOb25lOgorICAgICAgICAgICAgICAgIGZvcm1hdCA9IEZPUk1BVF9BVVRPCisgICAgICAgICAgICBtb2RlX2NvZGUgPSBfTU9ERV9SRUFECisgICAgICAgICAgICAjIFNhdmUgdGhlIGFyZ3MgdG8gcGFzcyB0byB0aGUgTFpNQURlY29tcHJlc3NvciBpbml0aWFsaXplci4KKyAgICAgICAgICAgICMgSWYgdGhlIGZpbGUgY29udGFpbnMgbXVsdGlwbGUgY29tcHJlc3NlZCBzdHJlYW1zLCBlYWNoCisgICAgICAgICAgICAjIHN0cmVhbSB3aWxsIG5lZWQgYSBzZXBhcmF0ZSBkZWNvbXByZXNzb3Igb2JqZWN0LgorICAgICAgICAgICAgc2VsZi5faW5pdF9hcmdzID0geyJmb3JtYXQiOmZvcm1hdCwgImZpbHRlcnMiOmZpbHRlcnN9CisgICAgICAgICAgICBzZWxmLl9kZWNvbXByZXNzb3IgPSBMWk1BRGVjb21wcmVzc29yKCoqc2VsZi5faW5pdF9hcmdzKQorICAgICAgICAgICAgc2VsZi5fYnVmZmVyID0gTm9uZQorICAgICAgICBlbGlmIG1vZGUgaW4gKCJ3IiwgImEiKToKKyAgICAgICAgICAgIGlmIGZvcm1hdCBpcyBOb25lOgorICAgICAgICAgICAgICAgIGZvcm1hdCA9IEZPUk1BVF9YWgorICAgICAgICAgICAgbW9kZV9jb2RlID0gX01PREVfV1JJVEUKKyAgICAgICAgICAgIHNlbGYuX2NvbXByZXNzb3IgPSBMWk1BQ29tcHJlc3Nvcihmb3JtYXQ9Zm9ybWF0LCBjaGVjaz1jaGVjaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmVzZXQ9cHJlc2V0LCBmaWx0ZXJzPWZpbHRlcnMpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJJbnZhbGlkIG1vZGU6IHshcn0iLmZvcm1hdChtb2RlKSkKKworICAgICAgICBpZiBmaWxlbmFtZSBpcyBub3QgTm9uZSBhbmQgZmlsZW9iaiBpcyBOb25lOgorICAgICAgICAgICAgbW9kZSArPSAiYiIKKyAgICAgICAgICAgIHNlbGYuX2ZwID0gb3BlbihmaWxlbmFtZSwgbW9kZSkKKyAgICAgICAgICAgIHNlbGYuX2Nsb3NlZnAgPSBUcnVlCisgICAgICAgICAgICBzZWxmLl9tb2RlID0gbW9kZV9jb2RlCisgICAgICAgIGVsaWYgZmlsZW9iaiBpcyBub3QgTm9uZSBhbmQgZmlsZW5hbWUgaXMgTm9uZToKKyAgICAgICAgICAgIHNlbGYuX2ZwID0gZmlsZW9iagorICAgICAgICAgICAgc2VsZi5fbW9kZSA9IG1vZGVfY29kZQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiTXVzdCBnaXZlIGV4YWN0bHkgb25lIG9mIGZpbGVuYW1lIGFuZCBmaWxlb2JqIikKKworICAgIGRlZiBjbG9zZShzZWxmKToKKyAgICAgICAgIiIiRmx1c2ggYW5kIGNsb3NlIHRoZSBmaWxlLgorCisgICAgICAgIE1heSBiZSBjYWxsZWQgbW9yZSB0aGFuIG9uY2Ugd2l0aG91dCBlcnJvci4gT25jZSB0aGUgZmlsZSBpcworICAgICAgICBjbG9zZWQsIGFueSBvdGhlciBvcGVyYXRpb24gb24gaXQgd2lsbCByYWlzZSBhIFZhbHVlRXJyb3IuCisgICAgICAgICIiIgorICAgICAgICBpZiBzZWxmLl9tb2RlID09IF9NT0RFX0NMT1NFRDoKKyAgICAgICAgICAgIHJldHVybgorICAgICAgICB0cnk6CisgICAgICAgICAgICBpZiBzZWxmLl9tb2RlIGluIChfTU9ERV9SRUFELCBfTU9ERV9SRUFEX0VPRik6CisgICAgICAgICAgICAgICAgc2VsZi5fZGVjb21wcmVzc29yID0gTm9uZQorICAgICAgICAgICAgICAgIHNlbGYuX2J1ZmZlciA9IE5vbmUKKyAgICAgICAgICAgIGVsaWYgc2VsZi5fbW9kZSA9PSBfTU9ERV9XUklURToKKyAgICAgICAgICAgICAgICBzZWxmLl9mcC53cml0ZShzZWxmLl9jb21wcmVzc29yLmZsdXNoKCkpCisgICAgICAgICAgICAgICAgc2VsZi5fY29tcHJlc3NvciA9IE5vbmUKKyAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBpZiBzZWxmLl9jbG9zZWZwOgorICAgICAgICAgICAgICAgICAgICBzZWxmLl9mcC5jbG9zZSgpCisgICAgICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgICAgIHNlbGYuX2ZwID0gTm9uZQorICAgICAgICAgICAgICAgIHNlbGYuX2Nsb3NlZnAgPSBGYWxzZQorICAgICAgICAgICAgICAgIHNlbGYuX21vZGUgPSBfTU9ERV9DTE9TRUQKKworICAgIEBwcm9wZXJ0eQorICAgIGRlZiBjbG9zZWQoc2VsZik6CisgICAgICAgICIiIlRydWUgaWYgdGhpcyBmaWxlIGlzIGNsb3NlZC4iIiIKKyAgICAgICAgcmV0dXJuIHNlbGYuX21vZGUgPT0gX01PREVfQ0xPU0VECisKKyAgICBkZWYgZmlsZW5vKHNlbGYpOgorICAgICAgICAiIiJSZXR1cm4gdGhlIGZpbGUgZGVzY3JpcHRvciBmb3IgdGhlIHVuZGVybHlpbmcgZmlsZS4iIiIKKyAgICAgICAgc2VsZi5fY2hlY2tfbm90X2Nsb3NlZCgpCisgICAgICAgIHJldHVybiBzZWxmLl9mcC5maWxlbm8oKQorCisgICAgZGVmIHNlZWthYmxlKHNlbGYpOgorICAgICAgICAiIiJSZXR1cm4gd2hldGhlciB0aGUgZmlsZSBzdXBwb3J0cyBzZWVraW5nLiIiIgorICAgICAgICByZXR1cm4gc2VsZi5yZWFkYWJsZSgpIGFuZCBzZWxmLl9mcC5zZWVrYWJsZSgpCisKKyAgICBkZWYgcmVhZGFibGUoc2VsZik6CisgICAgICAgICIiIlJldHVybiB3aGV0aGVyIHRoZSBmaWxlIHdhcyBvcGVuZWQgZm9yIHJlYWRpbmcuIiIiCisgICAgICAgIHNlbGYuX2NoZWNrX25vdF9jbG9zZWQoKQorICAgICAgICByZXR1cm4gc2VsZi5fbW9kZSBpbiAoX01PREVfUkVBRCwgX01PREVfUkVBRF9FT0YpCisKKyAgICBkZWYgd3JpdGFibGUoc2VsZik6CisgICAgICAgICIiIlJldHVybiB3aGV0aGVyIHRoZSBmaWxlIHdhcyBvcGVuZWQgZm9yIHdyaXRpbmcuIiIiCisgICAgICAgIHNlbGYuX2NoZWNrX25vdF9jbG9zZWQoKQorICAgICAgICByZXR1cm4gc2VsZi5fbW9kZSA9PSBfTU9ERV9XUklURQorCisgICAgIyBNb2RlLWNoZWNraW5nIGhlbHBlciBmdW5jdGlvbnMuCisKKyAgICBkZWYgX2NoZWNrX25vdF9jbG9zZWQoc2VsZik6CisgICAgICAgIGlmIHNlbGYuY2xvc2VkOgorICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiSS9PIG9wZXJhdGlvbiBvbiBjbG9zZWQgZmlsZSIpCisKKyAgICBkZWYgX2NoZWNrX2Nhbl9yZWFkKHNlbGYpOgorICAgICAgICBpZiBub3Qgc2VsZi5yZWFkYWJsZSgpOgorICAgICAgICAgICAgcmFpc2UgaW8uVW5zdXBwb3J0ZWRPcGVyYXRpb24oIkZpbGUgbm90IG9wZW4gZm9yIHJlYWRpbmciKQorCisgICAgZGVmIF9jaGVja19jYW5fd3JpdGUoc2VsZik6CisgICAgICAgIGlmIG5vdCBzZWxmLndyaXRhYmxlKCk6CisgICAgICAgICAgICByYWlzZSBpby5VbnN1cHBvcnRlZE9wZXJhdGlvbigiRmlsZSBub3Qgb3BlbiBmb3Igd3JpdGluZyIpCisKKyAgICBkZWYgX2NoZWNrX2Nhbl9zZWVrKHNlbGYpOgorICAgICAgICBpZiBub3Qgc2VsZi5yZWFkYWJsZSgpOgorICAgICAgICAgICAgcmFpc2UgaW8uVW5zdXBwb3J0ZWRPcGVyYXRpb24oIlNlZWtpbmcgaXMgb25seSBzdXBwb3J0ZWQgIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9uIGZpbGVzIG9wZW4gZm9yIHJlYWRpbmciKQorICAgICAgICBpZiBub3Qgc2VsZi5fZnAuc2Vla2FibGUoKToKKyAgICAgICAgICAgIHJhaXNlIGlvLlVuc3VwcG9ydGVkT3BlcmF0aW9uKCJUaGUgdW5kZXJseWluZyBmaWxlIG9iamVjdCAiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZG9lcyBub3Qgc3VwcG9ydCBzZWVraW5nIikKKworICAgICMgRmlsbCB0aGUgcmVhZGFoZWFkIGJ1ZmZlciBpZiBpdCBpcyBlbXB0eS4gUmV0dXJucyBGYWxzZSBvbiBFT0YuCisgICAgZGVmIF9maWxsX2J1ZmZlcihzZWxmKToKKyAgICAgICAgaWYgc2VsZi5fYnVmZmVyOgorICAgICAgICAgICAgcmV0dXJuIFRydWUKKworICAgICAgICBpZiBzZWxmLl9kZWNvbXByZXNzb3IudW51c2VkX2RhdGE6CisgICAgICAgICAgICByYXdibG9jayA9IHNlbGYuX2RlY29tcHJlc3Nvci51bnVzZWRfZGF0YQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmF3YmxvY2sgPSBzZWxmLl9mcC5yZWFkKF9CVUZGRVJfU0laRSkKKworICAgICAgICBpZiBub3QgcmF3YmxvY2s6CisgICAgICAgICAgICBpZiBzZWxmLl9kZWNvbXByZXNzb3IuZW9mOgorICAgICAgICAgICAgICAgIHNlbGYuX21vZGUgPSBfTU9ERV9SRUFEX0VPRgorICAgICAgICAgICAgICAgIHNlbGYuX3NpemUgPSBzZWxmLl9wb3MKKyAgICAgICAgICAgICAgICByZXR1cm4gRmFsc2UKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgcmFpc2UgRU9GRXJyb3IoIkNvbXByZXNzZWQgZmlsZSBlbmRlZCBiZWZvcmUgdGhlICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZW5kLW9mLXN0cmVhbSBtYXJrZXIgd2FzIHJlYWNoZWQiKQorCisgICAgICAgICMgQ29udGludWUgdG8gbmV4dCBzdHJlYW0uCisgICAgICAgIGlmIHNlbGYuX2RlY29tcHJlc3Nvci5lb2Y6CisgICAgICAgICAgICBzZWxmLl9kZWNvbXByZXNzb3IgPSBMWk1BRGVjb21wcmVzc29yKCoqc2VsZi5faW5pdF9hcmdzKQorCisgICAgICAgIHNlbGYuX2J1ZmZlciA9IHNlbGYuX2RlY29tcHJlc3Nvci5kZWNvbXByZXNzKHJhd2Jsb2NrKQorICAgICAgICByZXR1cm4gVHJ1ZQorCisgICAgIyBSZWFkIGRhdGEgdW50aWwgRU9GLgorICAgICMgSWYgcmV0dXJuX2RhdGEgaXMgZmFsc2UsIGNvbnN1bWUgdGhlIGRhdGEgd2l0aG91dCByZXR1cm5pbmcgaXQuCisgICAgZGVmIF9yZWFkX2FsbChzZWxmLCByZXR1cm5fZGF0YT1UcnVlKToKKyAgICAgICAgYmxvY2tzID0gW10KKyAgICAgICAgd2hpbGUgc2VsZi5fZmlsbF9idWZmZXIoKToKKyAgICAgICAgICAgIGlmIHJldHVybl9kYXRhOgorICAgICAgICAgICAgICAgIGJsb2Nrcy5hcHBlbmQoc2VsZi5fYnVmZmVyKQorICAgICAgICAgICAgc2VsZi5fcG9zICs9IGxlbihzZWxmLl9idWZmZXIpCisgICAgICAgICAgICBzZWxmLl9idWZmZXIgPSBOb25lCisgICAgICAgIGlmIHJldHVybl9kYXRhOgorICAgICAgICAgICAgcmV0dXJuIGIiIi5qb2luKGJsb2NrcykKKworICAgICMgUmVhZCBhIGJsb2NrIG9mIHVwIHRvIG4gYnl0ZXMuCisgICAgIyBJZiByZXR1cm5fZGF0YSBpcyBmYWxzZSwgY29uc3VtZSB0aGUgZGF0YSB3aXRob3V0IHJldHVybmluZyBpdC4KKyAgICBkZWYgX3JlYWRfYmxvY2soc2VsZiwgbiwgcmV0dXJuX2RhdGE9VHJ1ZSk6CisgICAgICAgIGJsb2NrcyA9IFtdCisgICAgICAgIHdoaWxlIG4gPiAwIGFuZCBzZWxmLl9maWxsX2J1ZmZlcigpOgorICAgICAgICAgICAgaWYgbiA8IGxlbihzZWxmLl9idWZmZXIpOgorICAgICAgICAgICAgICAgIGRhdGEgPSBzZWxmLl9idWZmZXJbOm5dCisgICAgICAgICAgICAgICAgc2VsZi5fYnVmZmVyID0gc2VsZi5fYnVmZmVyW246XQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBkYXRhID0gc2VsZi5fYnVmZmVyCisgICAgICAgICAgICAgICAgc2VsZi5fYnVmZmVyID0gTm9uZQorICAgICAgICAgICAgaWYgcmV0dXJuX2RhdGE6CisgICAgICAgICAgICAgICAgYmxvY2tzLmFwcGVuZChkYXRhKQorICAgICAgICAgICAgc2VsZi5fcG9zICs9IGxlbihkYXRhKQorICAgICAgICAgICAgbiAtPSBsZW4oZGF0YSkKKyAgICAgICAgaWYgcmV0dXJuX2RhdGE6CisgICAgICAgICAgICByZXR1cm4gYiIiLmpvaW4oYmxvY2tzKQorCisgICAgZGVmIHBlZWsoc2VsZiwgc2l6ZT0tMSk6CisgICAgICAgICIiIlJldHVybiBidWZmZXJlZCBkYXRhIHdpdGhvdXQgYWR2YW5jaW5nIHRoZSBmaWxlIHBvc2l0aW9uLgorCisgICAgICAgIEFsd2F5cyByZXR1cm5zIGF0IGxlYXN0IG9uZSBieXRlIG9mIGRhdGEsIHVubGVzcyBhdCBFT0YuCisgICAgICAgIFRoZSBleGFjdCBudW1iZXIgb2YgYnl0ZXMgcmV0dXJuZWQgaXMgdW5zcGVjaWZpZWQuCisgICAgICAgICIiIgorICAgICAgICBzZWxmLl9jaGVja19jYW5fcmVhZCgpCisgICAgICAgIGlmIHNlbGYuX21vZGUgPT0gX01PREVfUkVBRF9FT0Ygb3Igbm90IHNlbGYuX2ZpbGxfYnVmZmVyKCk6CisgICAgICAgICAgICByZXR1cm4gYiIiCisgICAgICAgIHJldHVybiBzZWxmLl9idWZmZXIKKworICAgIGRlZiByZWFkKHNlbGYsIHNpemU9LTEpOgorICAgICAgICAiIiJSZWFkIHVwIHRvIHNpemUgdW5jb21wcmVzc2VkIGJ5dGVzIGZyb20gdGhlIGZpbGUuCisKKyAgICAgICAgSWYgc2l6ZSBpcyBuZWdhdGl2ZSBvciBvbWl0dGVkLCByZWFkIHVudGlsIEVPRiBpcyByZWFjaGVkLgorICAgICAgICBSZXR1cm5zIGIiIiBpZiB0aGUgZmlsZSBpcyBhbHJlYWR5IGF0IEVPRi4KKyAgICAgICAgIiIiCisgICAgICAgIHNlbGYuX2NoZWNrX2Nhbl9yZWFkKCkKKyAgICAgICAgaWYgc2VsZi5fbW9kZSA9PSBfTU9ERV9SRUFEX0VPRiBvciBzaXplID09IDA6CisgICAgICAgICAgICByZXR1cm4gYiIiCisgICAgICAgIGVsaWYgc2l6ZSA8IDA6CisgICAgICAgICAgICByZXR1cm4gc2VsZi5fcmVhZF9hbGwoKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3JlYWRfYmxvY2soc2l6ZSkKKworICAgIGRlZiByZWFkMShzZWxmLCBzaXplPS0xKToKKyAgICAgICAgIiIiUmVhZCB1cCB0byBzaXplIHVuY29tcHJlc3NlZCBieXRlcyB3aXRoIGF0IG1vc3Qgb25lIHJlYWQKKyAgICAgICAgZnJvbSB0aGUgdW5kZXJseWluZyBzdHJlYW0uCisKKyAgICAgICAgUmV0dXJucyBiIiIgaWYgdGhlIGZpbGUgaXMgYXQgRU9GLgorICAgICAgICAiIiIKKyAgICAgICAgc2VsZi5fY2hlY2tfY2FuX3JlYWQoKQorICAgICAgICBpZiAoc2l6ZSA9PSAwIG9yIHNlbGYuX21vZGUgPT0gX01PREVfUkVBRF9FT0Ygb3IKKyAgICAgICAgICAgIG5vdCBzZWxmLl9maWxsX2J1ZmZlcigpKToKKyAgICAgICAgICAgIHJldHVybiBiIiIKKyAgICAgICAgaWYgMCA8IHNpemUgPCBsZW4oc2VsZi5fYnVmZmVyKToKKyAgICAgICAgICAgIGRhdGEgPSBzZWxmLl9idWZmZXJbOnNpemVdCisgICAgICAgICAgICBzZWxmLl9idWZmZXIgPSBzZWxmLl9idWZmZXJbc2l6ZTpdCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBkYXRhID0gc2VsZi5fYnVmZmVyCisgICAgICAgICAgICBzZWxmLl9idWZmZXIgPSBOb25lCisgICAgICAgIHNlbGYuX3BvcyArPSBsZW4oZGF0YSkKKyAgICAgICAgcmV0dXJuIGRhdGEKKworICAgIGRlZiB3cml0ZShzZWxmLCBkYXRhKToKKyAgICAgICAgIiIiV3JpdGUgYSBieXRlcyBvYmplY3QgdG8gdGhlIGZpbGUuCisKKyAgICAgICAgUmV0dXJucyB0aGUgbnVtYmVyIG9mIHVuY29tcHJlc3NlZCBieXRlcyB3cml0dGVuLCB3aGljaCBpcworICAgICAgICBhbHdheXMgbGVuKGRhdGEpLiBOb3RlIHRoYXQgZHVlIHRvIGJ1ZmZlcmluZywgdGhlIGZpbGUgb24gZGlzaworICAgICAgICBtYXkgbm90IHJlZmxlY3QgdGhlIGRhdGEgd3JpdHRlbiB1bnRpbCBjbG9zZSgpIGlzIGNhbGxlZC4KKyAgICAgICAgIiIiCisgICAgICAgIHNlbGYuX2NoZWNrX2Nhbl93cml0ZSgpCisgICAgICAgIGNvbXByZXNzZWQgPSBzZWxmLl9jb21wcmVzc29yLmNvbXByZXNzKGRhdGEpCisgICAgICAgIHNlbGYuX2ZwLndyaXRlKGNvbXByZXNzZWQpCisgICAgICAgIHNlbGYuX3BvcyArPSBsZW4oZGF0YSkKKyAgICAgICAgcmV0dXJuIGxlbihkYXRhKQorCisgICAgIyBSZXdpbmQgdGhlIGZpbGUgdG8gdGhlIGJlZ2lubmluZyBvZiB0aGUgZGF0YSBzdHJlYW0uCisgICAgZGVmIF9yZXdpbmQoc2VsZik6CisgICAgICAgIHNlbGYuX2ZwLnNlZWsoMCwgMCkKKyAgICAgICAgc2VsZi5fbW9kZSA9IF9NT0RFX1JFQUQKKyAgICAgICAgc2VsZi5fcG9zID0gMAorICAgICAgICBzZWxmLl9kZWNvbXByZXNzb3IgPSBMWk1BRGVjb21wcmVzc29yKCoqc2VsZi5faW5pdF9hcmdzKQorICAgICAgICBzZWxmLl9idWZmZXIgPSBOb25lCisKKyAgICBkZWYgc2VlayhzZWxmLCBvZmZzZXQsIHdoZW5jZT0wKToKKyAgICAgICAgIiIiQ2hhbmdlIHRoZSBmaWxlIHBvc2l0aW9uLgorCisgICAgICAgIFRoZSBuZXcgcG9zaXRpb24gaXMgc3BlY2lmaWVkIGJ5IG9mZnNldCwgcmVsYXRpdmUgdG8gdGhlCisgICAgICAgIHBvc2l0aW9uIGluZGljYXRlZCBieSB3aGVuY2UuIFBvc3NpYmxlIHZhbHVlcyBmb3Igd2hlbmNlIGFyZToKKworICAgICAgICAgICAgMDogc3RhcnQgb2Ygc3RyZWFtIChkZWZhdWx0KTogb2Zmc2V0IG11c3Qgbm90IGJlIG5lZ2F0aXZlCisgICAgICAgICAgICAxOiBjdXJyZW50IHN0cmVhbSBwb3NpdGlvbgorICAgICAgICAgICAgMjogZW5kIG9mIHN0cmVhbTsgb2Zmc2V0IG11c3Qgbm90IGJlIHBvc2l0aXZlCisKKyAgICAgICAgUmV0dXJucyB0aGUgbmV3IGZpbGUgcG9zaXRpb24uCisKKyAgICAgICAgTm90ZSB0aGF0IHNlZWtpbmcgaXMgZW11bGF0ZWQsIHNwIGRlcGVuZGluZyBvbiB0aGUgcGFyYW1ldGVycywKKyAgICAgICAgdGhpcyBvcGVyYXRpb24gbWF5IGJlIGV4dHJlbWVseSBzbG93LgorICAgICAgICAiIiIKKyAgICAgICAgc2VsZi5fY2hlY2tfY2FuX3NlZWsoKQorCisgICAgICAgICMgUmVjYWxjdWxhdGUgb2Zmc2V0IGFzIGFuIGFic29sdXRlIGZpbGUgcG9zaXRpb24uCisgICAgICAgIGlmIHdoZW5jZSA9PSAwOgorICAgICAgICAgICAgcGFzcworICAgICAgICBlbGlmIHdoZW5jZSA9PSAxOgorICAgICAgICAgICAgb2Zmc2V0ID0gc2VsZi5fcG9zICsgb2Zmc2V0CisgICAgICAgIGVsaWYgd2hlbmNlID09IDI6CisgICAgICAgICAgICAjIFNlZWtpbmcgcmVsYXRpdmUgdG8gRU9GIC0gd2UgbmVlZCB0byBrbm93IHRoZSBmaWxlJ3Mgc2l6ZS4KKyAgICAgICAgICAgIGlmIHNlbGYuX3NpemUgPCAwOgorICAgICAgICAgICAgICAgIHNlbGYuX3JlYWRfYWxsKHJldHVybl9kYXRhPUZhbHNlKQorICAgICAgICAgICAgb2Zmc2V0ID0gc2VsZi5fc2l6ZSArIG9mZnNldAorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiSW52YWxpZCB2YWx1ZSBmb3Igd2hlbmNlOiB7fSIuZm9ybWF0KHdoZW5jZSkpCisKKyAgICAgICAgIyBNYWtlIGl0IHNvIHRoYXQgb2Zmc2V0IGlzIHRoZSBudW1iZXIgb2YgYnl0ZXMgdG8gc2tpcCBmb3J3YXJkLgorICAgICAgICBpZiBvZmZzZXQgPCBzZWxmLl9wb3M6CisgICAgICAgICAgICBzZWxmLl9yZXdpbmQoKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgb2Zmc2V0IC09IHNlbGYuX3BvcworCisgICAgICAgICMgUmVhZCBhbmQgZGlzY2FyZCBkYXRhIHVudGlsIHdlIHJlYWNoIHRoZSBkZXNpcmVkIHBvc2l0aW9uLgorICAgICAgICBpZiBzZWxmLl9tb2RlICE9IF9NT0RFX1JFQURfRU9GOgorICAgICAgICAgICAgc2VsZi5fcmVhZF9ibG9jayhvZmZzZXQsIHJldHVybl9kYXRhPUZhbHNlKQorCisgICAgICAgIHJldHVybiBzZWxmLl9wb3MKKworICAgIGRlZiB0ZWxsKHNlbGYpOgorICAgICAgICAiIiJSZXR1cm4gdGhlIGN1cnJlbnQgZmlsZSBwb3NpdGlvbi4iIiIKKyAgICAgICAgc2VsZi5fY2hlY2tfbm90X2Nsb3NlZCgpCisgICAgICAgIHJldHVybiBzZWxmLl9wb3MKKworCitkZWYgY29tcHJlc3MoZGF0YSwgZm9ybWF0PUZPUk1BVF9YWiwgY2hlY2s9LTEsIHByZXNldD1Ob25lLCBmaWx0ZXJzPU5vbmUpOgorICAgICIiIkNvbXByZXNzIGEgYmxvY2sgb2YgZGF0YS4KKworICAgIFJlZmVyIHRvIExaTUFDb21wcmVzc29yJ3MgZG9jc3RyaW5nIGZvciBhIGRlc2NyaXB0aW9uIG9mIHRoZQorICAgIG9wdGlvbmFsIGFyZ3VtZW50cyAqZm9ybWF0KiwgKmNoZWNrKiwgKnByZXNldCogYW5kICpmaWx0ZXJzKi4KKworICAgIEZvciBpbmNyZW1lbnRhbCBjb21wcmVzc2lvbiwgdXNlIGFuIExaTUFDb21wcmVzc29yIG9iamVjdCBpbnN0ZWFkLgorICAgICIiIgorICAgIGNvbXAgPSBMWk1BQ29tcHJlc3Nvcihmb3JtYXQsIGNoZWNrLCBwcmVzZXQsIGZpbHRlcnMpCisgICAgcmV0dXJuIGNvbXAuY29tcHJlc3MoZGF0YSkgKyBjb21wLmZsdXNoKCkKKworCitkZWYgZGVjb21wcmVzcyhkYXRhLCBmb3JtYXQ9Rk9STUFUX0FVVE8sIG1lbWxpbWl0PU5vbmUsIGZpbHRlcnM9Tm9uZSk6CisgICAgIiIiRGVjb21wcmVzcyBhIGJsb2NrIG9mIGRhdGEuCisKKyAgICBSZWZlciB0byBMWk1BRGVjb21wcmVzc29yJ3MgZG9jc3RyaW5nIGZvciBhIGRlc2NyaXB0aW9uIG9mIHRoZQorICAgIG9wdGlvbmFsIGFyZ3VtZW50cyAqZm9ybWF0KiwgKmNoZWNrKiBhbmQgKmZpbHRlcnMqLgorCisgICAgRm9yIGluY3JlbWVudGFsIGRlY29tcHJlc3Npb24sIHVzZSBhIExaTUFEZWNvbXByZXNzb3Igb2JqZWN0IGluc3RlYWQuCisgICAgIiIiCisgICAgcmVzdWx0cyA9IFtdCisgICAgd2hpbGUgVHJ1ZToKKyAgICAgICAgZGVjb21wID0gTFpNQURlY29tcHJlc3Nvcihmb3JtYXQsIG1lbWxpbWl0LCBmaWx0ZXJzKQorICAgICAgICByZXN1bHRzLmFwcGVuZChkZWNvbXAuZGVjb21wcmVzcyhkYXRhKSkKKyAgICAgICAgaWYgbm90IGRlY29tcC5lb2Y6CisgICAgICAgICAgICByYWlzZSBMWk1BRXJyb3IoIkNvbXByZXNzZWQgZGF0YSBlbmRlZCBiZWZvcmUgdGhlICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZW5kLW9mLXN0cmVhbSBtYXJrZXIgd2FzIHJlYWNoZWQiKQorICAgICAgICBpZiBub3QgZGVjb21wLnVudXNlZF9kYXRhOgorICAgICAgICAgICAgcmV0dXJuIGIiIi5qb2luKHJlc3VsdHMpCisgICAgICAgICMgVGhlcmUgaXMgdW51c2VkIGRhdGEgbGVmdCBvdmVyLiBQcm9jZWVkIHRvIG5leHQgc3RyZWFtLgorICAgICAgICBkYXRhID0gZGVjb21wLnVudXNlZF9kYXRhCmRpZmYgLS1naXQgYS9MaWIvbWFpbGJveC5weSBiL0xpYi9tYWlsYm94LnB5CmluZGV4IGE2Nzc3MjkuLjMyNWI5YzkgMTAwNjQ0Ci0tLSBhL0xpYi9tYWlsYm94LnB5CisrKyBiL0xpYi9tYWlsYm94LnB5CkBAIC0xMTA2LDggKzExMDYsNyBAQAogICAgIGRlZiBnZXRfc2VxdWVuY2VzKHNlbGYpOgogICAgICAgICAiIiJSZXR1cm4gYSBuYW1lLXRvLWtleS1saXN0IGRpY3Rpb25hcnkgdG8gZGVmaW5lIGVhY2ggc2VxdWVuY2UuIiIiCiAgICAgICAgIHJlc3VsdHMgPSB7fQotICAgICAgICBmID0gb3Blbihvcy5wYXRoLmpvaW4oc2VsZi5fcGF0aCwgJy5taF9zZXF1ZW5jZXMnKSwgJ3InKQotICAgICAgICB0cnk6CisgICAgICAgIHdpdGggb3Blbihvcy5wYXRoLmpvaW4oc2VsZi5fcGF0aCwgJy5taF9zZXF1ZW5jZXMnKSwgJ3InLCBlbmNvZGluZz0nQVNDSUknKSBhcyBmOgogICAgICAgICAgICAgYWxsX2tleXMgPSBzZXQoc2VsZi5rZXlzKCkpCiAgICAgICAgICAgICBmb3IgbGluZSBpbiBmOgogICAgICAgICAgICAgICAgIHRyeToKQEAgLTExMjYsMTMgKzExMjUsMTEgQEAKICAgICAgICAgICAgICAgICBleGNlcHQgVmFsdWVFcnJvcjoKICAgICAgICAgICAgICAgICAgICAgcmFpc2UgRm9ybWF0RXJyb3IoJ0ludmFsaWQgc2VxdWVuY2Ugc3BlY2lmaWNhdGlvbjogJXMnICUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS5yc3RyaXAoKSkKLSAgICAgICAgZmluYWxseToKLSAgICAgICAgICAgIGYuY2xvc2UoKQogICAgICAgICByZXR1cm4gcmVzdWx0cwogCiAgICAgZGVmIHNldF9zZXF1ZW5jZXMoc2VsZiwgc2VxdWVuY2VzKToKICAgICAgICAgIiIiU2V0IHNlcXVlbmNlcyB1c2luZyB0aGUgZ2l2ZW4gbmFtZS10by1rZXktbGlzdCBkaWN0aW9uYXJ5LiIiIgotICAgICAgICBmID0gb3Blbihvcy5wYXRoLmpvaW4oc2VsZi5fcGF0aCwgJy5taF9zZXF1ZW5jZXMnKSwgJ3IrJykKKyAgICAgICAgZiA9IG9wZW4ob3MucGF0aC5qb2luKHNlbGYuX3BhdGgsICcubWhfc2VxdWVuY2VzJyksICdyKycsIGVuY29kaW5nPSdBU0NJSScpCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIG9zLmNsb3NlKG9zLm9wZW4oZi5uYW1lLCBvcy5PX1dST05MWSB8IG9zLk9fVFJVTkMpKQogICAgICAgICAgICAgZm9yIG5hbWUsIGtleXMgaW4gc2VxdWVuY2VzLml0ZW1zKCk6CmRpZmYgLS1naXQgYS9MaWIvbWFpbGNhcC5weSBiL0xpYi9tYWlsY2FwLnB5CmluZGV4IDRhZTEzZDcuLjk5ZjQ5NTggMTAwNjQ0Ci0tLSBhL0xpYi9tYWlsY2FwLnB5CisrKyBiL0xpYi9tYWlsY2FwLnB5CkBAIC0zMywxMCArMzMsMTAgQEAKIAogZGVmIGxpc3RtYWlsY2FwZmlsZXMoKToKICAgICAiIiJSZXR1cm4gYSBsaXN0IG9mIGFsbCBtYWlsY2FwIGZpbGVzIGZvdW5kIG9uIHRoZSBzeXN0ZW0uIiIiCi0gICAgIyBYWFggQWN0dWFsbHksIHRoaXMgaXMgVW5peC1zcGVjaWZpYworICAgICMgVGhpcyBpcyBtb3N0bHkgYSBVbml4IHRoaW5nLCBidXQgd2UgdXNlIHRoZSBPUyBwYXRoIHNlcGFyYXRvciBhbnl3YXkKICAgICBpZiAnTUFJTENBUFMnIGluIG9zLmVudmlyb246Ci0gICAgICAgIHN0ciA9IG9zLmVudmlyb25bJ01BSUxDQVBTJ10KLSAgICAgICAgbWFpbGNhcHMgPSBzdHIuc3BsaXQoJzonKQorICAgICAgICBwYXRoc3RyID0gb3MuZW52aXJvblsnTUFJTENBUFMnXQorICAgICAgICBtYWlsY2FwcyA9IHBhdGhzdHIuc3BsaXQob3MucGF0aHNlcCkKICAgICBlbHNlOgogICAgICAgICBpZiAnSE9NRScgaW4gb3MuZW52aXJvbjoKICAgICAgICAgICAgIGhvbWUgPSBvcy5lbnZpcm9uWydIT01FJ10KZGlmZiAtLWdpdCBhL0xpYi9taW1ldHlwZXMucHkgYi9MaWIvbWltZXR5cGVzLnB5CmluZGV4IDRiMWUyZjkuLmZhNjIzMjYgMTAwNjQ0Ci0tLSBhL0xpYi9taW1ldHlwZXMucHkKKysrIGIvTGliL21pbWV0eXBlcy5weQpAQCAtMjQ5LDcgKzI0OSw2IEBACiAgICAgICAgICAgICAgICAgICAgIHlpZWxkIGN0eXBlCiAgICAgICAgICAgICAgICAgaSArPSAxCiAKLSAgICAgICAgZGVmYXVsdF9lbmNvZGluZyA9IHN5cy5nZXRkZWZhdWx0ZW5jb2RpbmcoKQogICAgICAgICB3aXRoIF93aW5yZWcuT3BlbktleShfd2lucmVnLkhLRVlfQ0xBU1NFU19ST09ULAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICByJ01JTUVcRGF0YWJhc2VcQ29udGVudCBUeXBlJykgYXMgbWltZWRiOgogICAgICAgICAgICAgZm9yIGN0eXBlIGluIGVudW1fdHlwZXMobWltZWRiKToKQEAgLTQzNCw2ICs0MzMsOCBAQAogICAgICAgICAnLmtzaCcgICAgOiAndGV4dC9wbGFpbicsCiAgICAgICAgICcubGF0ZXgnICA6ICdhcHBsaWNhdGlvbi94LWxhdGV4JywKICAgICAgICAgJy5tMXYnICAgIDogJ3ZpZGVvL21wZWcnLAorICAgICAgICAnLm0zdScgICAgOiAnYXBwbGljYXRpb24vdm5kLmFwcGxlLm1wZWd1cmwnLAorICAgICAgICAnLm0zdTgnICAgOiAnYXBwbGljYXRpb24vdm5kLmFwcGxlLm1wZWd1cmwnLAogICAgICAgICAnLm1hbicgICAgOiAnYXBwbGljYXRpb24veC10cm9mZi1tYW4nLAogICAgICAgICAnLm1lJyAgICAgOiAnYXBwbGljYXRpb24veC10cm9mZi1tZScsCiAgICAgICAgICcubWh0JyAgICA6ICdtZXNzYWdlL3JmYzgyMicsCmRpZmYgLS1naXQgYS9MaWIvbW9kdWxlZmluZGVyLnB5IGIvTGliL21vZHVsZWZpbmRlci5weQppbmRleCBmMDMzYmE5Li5jMDkxMGFhIDEwMDY0NAotLS0gYS9MaWIvbW9kdWxlZmluZGVyLnB5CisrKyBiL0xpYi9tb2R1bGVmaW5kZXIucHkKQEAgLTEsNiArMSw1IEBACiAiIiJGaW5kIG1vZHVsZXMgdXNlZCBieSBhIHNjcmlwdCwgdXNpbmcgaW50cm9zcGVjdGlvbi4iIiIKIAotZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBnZW5lcmF0b3JzCiBpbXBvcnQgZGlzCiBpbXBvcnQgaW1wCiBpbXBvcnQgbWFyc2hhbApAQCAtOSw4ICs4LDYgQEAKIGltcG9ydCB0eXBlcwogaW1wb3J0IHN0cnVjdAogCi1SRUFEX01PREUgPSAiclUiCi0KICMgWFhYIENsZWFuIHVwIG9uY2Ugc3RyOCdzIGNzdG9yIG1hdGNoZXMgYnl0ZXMuCiBMT0FEX0NPTlNUID0gYnl0ZXMoW2Rpcy5vcG5hbWUuaW5kZXgoJ0xPQURfQ09OU1QnKV0pCiBJTVBPUlRfTkFNRSA9IGJ5dGVzKFtkaXMub3BuYW1lLmluZGV4KCdJTVBPUlRfTkFNRScpXSkKQEAgLTI5LDkgKzI2LDcgQEAKIAogIyBBIFB1YmxpYyBpbnRlcmZhY2UKIGRlZiBBZGRQYWNrYWdlUGF0aChwYWNrYWdlbmFtZSwgcGF0aCk6Ci0gICAgcGF0aHMgPSBwYWNrYWdlUGF0aE1hcC5nZXQocGFja2FnZW5hbWUsIFtdKQotICAgIHBhdGhzLmFwcGVuZChwYXRoKQotICAgIHBhY2thZ2VQYXRoTWFwW3BhY2thZ2VuYW1lXSA9IHBhdGhzCisgICAgcGFja2FnZVBhdGhNYXAuc2V0ZGVmYXVsdChwYWNrYWdlbmFtZSwgW10pLmFwcGVuZChwYXRoKQogCiByZXBsYWNlUGFja2FnZU1hcCA9IHt9CiAKQEAgLTEwNiwxNCArMTAxLDE0IEBACiAKICAgICBkZWYgcnVuX3NjcmlwdChzZWxmLCBwYXRobmFtZSk6CiAgICAgICAgIHNlbGYubXNnKDIsICJydW5fc2NyaXB0IiwgcGF0aG5hbWUpCi0gICAgICAgIHdpdGggb3BlbihwYXRobmFtZSwgUkVBRF9NT0RFKSBhcyBmcDoKKyAgICAgICAgd2l0aCBvcGVuKHBhdGhuYW1lKSBhcyBmcDoKICAgICAgICAgICAgIHN0dWZmID0gKCIiLCAiciIsIGltcC5QWV9TT1VSQ0UpCiAgICAgICAgICAgICBzZWxmLmxvYWRfbW9kdWxlKCdfX21haW5fXycsIGZwLCBwYXRobmFtZSwgc3R1ZmYpCiAKICAgICBkZWYgbG9hZF9maWxlKHNlbGYsIHBhdGhuYW1lKToKICAgICAgICAgZGlyLCBuYW1lID0gb3MucGF0aC5zcGxpdChwYXRobmFtZSkKICAgICAgICAgbmFtZSwgZXh0ID0gb3MucGF0aC5zcGxpdGV4dChuYW1lKQotICAgICAgICB3aXRoIG9wZW4ocGF0aG5hbWUsIFJFQURfTU9ERSkgYXMgZnA6CisgICAgICAgIHdpdGggb3BlbihwYXRobmFtZSkgYXMgZnA6CiAgICAgICAgICAgICBzdHVmZiA9IChleHQsICJyIiwgaW1wLlBZX1NPVVJDRSkKICAgICAgICAgICAgIHNlbGYubG9hZF9tb2R1bGUobmFtZSwgZnAsIHBhdGhuYW1lLCBzdHVmZikKIApAQCAtMjcwLDcgKzI2NSw4IEBACiAgICAgICAgIHRyeToKICAgICAgICAgICAgIG0gPSBzZWxmLmxvYWRfbW9kdWxlKGZxbmFtZSwgZnAsIHBhdGhuYW1lLCBzdHVmZikKICAgICAgICAgZmluYWxseToKLSAgICAgICAgICAgIGlmIGZwOiBmcC5jbG9zZSgpCisgICAgICAgICAgICBpZiBmcDoKKyAgICAgICAgICAgICAgICBmcC5jbG9zZSgpCiAgICAgICAgIGlmIHBhcmVudDoKICAgICAgICAgICAgIHNldGF0dHIocGFyZW50LCBwYXJ0bmFtZSwgbSkKICAgICAgICAgc2VsZi5tc2dvdXQoMywgImltcG9ydF9tb2R1bGUgLT4iLCBtKQpAQCAtNjYyLDQgKzY1OCw0IEBACiAgICAgdHJ5OgogICAgICAgICBtZiA9IHRlc3QoKQogICAgIGV4Y2VwdCBLZXlib2FyZEludGVycnVwdDoKLSAgICAgICAgcHJpbnQoIlxuW2ludGVycnVwdF0iKQorICAgICAgICBwcmludCgiXG5baW50ZXJydXB0ZWRdIikKZGlmZiAtLWdpdCBhL0xpYi9tdWx0aXByb2Nlc3NpbmcvX19pbml0X18ucHkgYi9MaWIvbXVsdGlwcm9jZXNzaW5nL19faW5pdF9fLnB5CmluZGV4IGU2ZTE2YzguLmUwMTI0NDAgMTAwNjQ0Ci0tLSBhL0xpYi9tdWx0aXByb2Nlc3NpbmcvX19pbml0X18ucHkKKysrIGIvTGliL211bHRpcHJvY2Vzc2luZy9fX2luaXRfXy5weQpAQCAtNDgsNyArNDgsNyBAQAogICAgICdNYW5hZ2VyJywgJ1BpcGUnLCAnY3B1X2NvdW50JywgJ2xvZ190b19zdGRlcnInLCAnZ2V0X2xvZ2dlcicsCiAgICAgJ2FsbG93X2Nvbm5lY3Rpb25fcGlja2xpbmcnLCAnQnVmZmVyVG9vU2hvcnQnLCAnVGltZW91dEVycm9yJywKICAgICAnTG9jaycsICdSTG9jaycsICdTZW1hcGhvcmUnLCAnQm91bmRlZFNlbWFwaG9yZScsICdDb25kaXRpb24nLAotICAgICdFdmVudCcsICdRdWV1ZScsICdKb2luYWJsZVF1ZXVlJywgJ1Bvb2wnLCAnVmFsdWUnLCAnQXJyYXknLAorICAgICdFdmVudCcsICdRdWV1ZScsICdTaW1wbGVRdWV1ZScsICdKb2luYWJsZVF1ZXVlJywgJ1Bvb2wnLCAnVmFsdWUnLCAnQXJyYXknLAogICAgICdSYXdWYWx1ZScsICdSYXdBcnJheScsICdTVUJERUJVRycsICdTVUJXQVJOSU5HJywKICAgICBdCiAKQEAgLTIyMyw2ICsyMjMsMTMgQEAKICAgICBmcm9tIG11bHRpcHJvY2Vzc2luZy5xdWV1ZXMgaW1wb3J0IEpvaW5hYmxlUXVldWUKICAgICByZXR1cm4gSm9pbmFibGVRdWV1ZShtYXhzaXplKQogCitkZWYgU2ltcGxlUXVldWUoKToKKyAgICAnJycKKyAgICBSZXR1cm5zIGEgcXVldWUgb2JqZWN0CisgICAgJycnCisgICAgZnJvbSBtdWx0aXByb2Nlc3NpbmcucXVldWVzIGltcG9ydCBTaW1wbGVRdWV1ZQorICAgIHJldHVybiBTaW1wbGVRdWV1ZSgpCisKIGRlZiBQb29sKHByb2Nlc3Nlcz1Ob25lLCBpbml0aWFsaXplcj1Ob25lLCBpbml0YXJncz0oKSwgbWF4dGFza3NwZXJjaGlsZD1Ob25lKToKICAgICAnJycKICAgICBSZXR1cm5zIGEgcHJvY2VzcyBwb29sIG9iamVjdApkaWZmIC0tZ2l0IGEvTGliL211bHRpcHJvY2Vzc2luZy9jb25uZWN0aW9uLnB5IGIvTGliL211bHRpcHJvY2Vzc2luZy9jb25uZWN0aW9uLnB5CmluZGV4IGRmMDBmMWQuLmNhMGM5NzMgMTAwNjQ0Ci0tLSBhL0xpYi9tdWx0aXByb2Nlc3NpbmcvY29ubmVjdGlvbi5weQorKysgYi9MaWIvbXVsdGlwcm9jZXNzaW5nL2Nvbm5lY3Rpb24ucHkKQEAgLTMyLDIxICszMiwzMSBAQAogIyBTVUNIIERBTUFHRS4KICMKIAotX19hbGxfXyA9IFsgJ0NsaWVudCcsICdMaXN0ZW5lcicsICdQaXBlJyBdCitfX2FsbF9fID0gWyAnQ2xpZW50JywgJ0xpc3RlbmVyJywgJ1BpcGUnLCAnd2FpdCcgXQogCitpbXBvcnQgaW8KIGltcG9ydCBvcwogaW1wb3J0IHN5cworaW1wb3J0IHBpY2tsZQoraW1wb3J0IHNlbGVjdAogaW1wb3J0IHNvY2tldAoraW1wb3J0IHN0cnVjdAogaW1wb3J0IGVycm5vCiBpbXBvcnQgdGltZQogaW1wb3J0IHRlbXBmaWxlCiBpbXBvcnQgaXRlcnRvb2xzCiAKIGltcG9ydCBfbXVsdGlwcm9jZXNzaW5nCi1mcm9tIG11bHRpcHJvY2Vzc2luZyBpbXBvcnQgY3VycmVudF9wcm9jZXNzLCBBdXRoZW50aWNhdGlvbkVycm9yCi1mcm9tIG11bHRpcHJvY2Vzc2luZy51dGlsIGltcG9ydCBnZXRfdGVtcF9kaXIsIEZpbmFsaXplLCBzdWJfZGVidWcsIGRlYnVnCi1mcm9tIG11bHRpcHJvY2Vzc2luZy5mb3JraW5nIGltcG9ydCBkdXBsaWNhdGUsIGNsb3NlCi0KK2Zyb20gbXVsdGlwcm9jZXNzaW5nIGltcG9ydCBjdXJyZW50X3Byb2Nlc3MsIEF1dGhlbnRpY2F0aW9uRXJyb3IsIEJ1ZmZlclRvb1Nob3J0Citmcm9tIG11bHRpcHJvY2Vzc2luZy51dGlsIGltcG9ydCAoCisgICAgZ2V0X3RlbXBfZGlyLCBGaW5hbGl6ZSwgc3ViX2RlYnVnLCBkZWJ1ZywgX2VpbnRyX3JldHJ5KQordHJ5OgorICAgIGZyb20gX211bHRpcHJvY2Vzc2luZyBpbXBvcnQgd2luMzIKKyAgICBmcm9tIF9zdWJwcm9jZXNzIGltcG9ydCBXQUlUX09CSkVDVF8wLCBXQUlUX1RJTUVPVVQsIElORklOSVRFCitleGNlcHQgSW1wb3J0RXJyb3I6CisgICAgaWYgc3lzLnBsYXRmb3JtID09ICd3aW4zMic6CisgICAgICAgIHJhaXNlCisgICAgd2luMzIgPSBOb25lCiAKICMKICMKQEAgLTExMSw2ICsxMjEsMzA2IEBACiAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoJ2FkZHJlc3MgdHlwZSBvZiAlciB1bnJlY29nbml6ZWQnICUgYWRkcmVzcykKIAogIworIyBDb25uZWN0aW9uIGNsYXNzZXMKKyMKKworY2xhc3MgX0Nvbm5lY3Rpb25CYXNlOgorICAgIF9oYW5kbGUgPSBOb25lCisKKyAgICBkZWYgX19pbml0X18oc2VsZiwgaGFuZGxlLCByZWFkYWJsZT1UcnVlLCB3cml0YWJsZT1UcnVlKToKKyAgICAgICAgaGFuZGxlID0gaGFuZGxlLl9faW5kZXhfXygpCisgICAgICAgIGlmIGhhbmRsZSA8IDA6CisgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJpbnZhbGlkIGhhbmRsZSIpCisgICAgICAgIGlmIG5vdCByZWFkYWJsZSBhbmQgbm90IHdyaXRhYmxlOgorICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigKKyAgICAgICAgICAgICAgICAiYXQgbGVhc3Qgb25lIG9mIGByZWFkYWJsZWAgYW5kIGB3cml0YWJsZWAgbXVzdCBiZSBUcnVlIikKKyAgICAgICAgc2VsZi5faGFuZGxlID0gaGFuZGxlCisgICAgICAgIHNlbGYuX3JlYWRhYmxlID0gcmVhZGFibGUKKyAgICAgICAgc2VsZi5fd3JpdGFibGUgPSB3cml0YWJsZQorCisgICAgIyBYWFggc2hvdWxkIHdlIHVzZSB1dGlsLkZpbmFsaXplIGluc3RlYWQgb2YgYSBfX2RlbF9fPworCisgICAgZGVmIF9fZGVsX18oc2VsZik6CisgICAgICAgIGlmIHNlbGYuX2hhbmRsZSBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIHNlbGYuX2Nsb3NlKCkKKworICAgIGRlZiBfY2hlY2tfY2xvc2VkKHNlbGYpOgorICAgICAgICBpZiBzZWxmLl9oYW5kbGUgaXMgTm9uZToKKyAgICAgICAgICAgIHJhaXNlIElPRXJyb3IoImhhbmRsZSBpcyBjbG9zZWQiKQorCisgICAgZGVmIF9jaGVja19yZWFkYWJsZShzZWxmKToKKyAgICAgICAgaWYgbm90IHNlbGYuX3JlYWRhYmxlOgorICAgICAgICAgICAgcmFpc2UgSU9FcnJvcigiY29ubmVjdGlvbiBpcyB3cml0ZS1vbmx5IikKKworICAgIGRlZiBfY2hlY2tfd3JpdGFibGUoc2VsZik6CisgICAgICAgIGlmIG5vdCBzZWxmLl93cml0YWJsZToKKyAgICAgICAgICAgIHJhaXNlIElPRXJyb3IoImNvbm5lY3Rpb24gaXMgcmVhZC1vbmx5IikKKworICAgIGRlZiBfYmFkX21lc3NhZ2VfbGVuZ3RoKHNlbGYpOgorICAgICAgICBpZiBzZWxmLl93cml0YWJsZToKKyAgICAgICAgICAgIHNlbGYuX3JlYWRhYmxlID0gRmFsc2UKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHNlbGYuY2xvc2UoKQorICAgICAgICByYWlzZSBJT0Vycm9yKCJiYWQgbWVzc2FnZSBsZW5ndGgiKQorCisgICAgQHByb3BlcnR5CisgICAgZGVmIGNsb3NlZChzZWxmKToKKyAgICAgICAgIiIiVHJ1ZSBpZiB0aGUgY29ubmVjdGlvbiBpcyBjbG9zZWQiIiIKKyAgICAgICAgcmV0dXJuIHNlbGYuX2hhbmRsZSBpcyBOb25lCisKKyAgICBAcHJvcGVydHkKKyAgICBkZWYgcmVhZGFibGUoc2VsZik6CisgICAgICAgICIiIlRydWUgaWYgdGhlIGNvbm5lY3Rpb24gaXMgcmVhZGFibGUiIiIKKyAgICAgICAgcmV0dXJuIHNlbGYuX3JlYWRhYmxlCisKKyAgICBAcHJvcGVydHkKKyAgICBkZWYgd3JpdGFibGUoc2VsZik6CisgICAgICAgICIiIlRydWUgaWYgdGhlIGNvbm5lY3Rpb24gaXMgd3JpdGFibGUiIiIKKyAgICAgICAgcmV0dXJuIHNlbGYuX3dyaXRhYmxlCisKKyAgICBkZWYgZmlsZW5vKHNlbGYpOgorICAgICAgICAiIiJGaWxlIGRlc2NyaXB0b3Igb3IgaGFuZGxlIG9mIHRoZSBjb25uZWN0aW9uIiIiCisgICAgICAgIHNlbGYuX2NoZWNrX2Nsb3NlZCgpCisgICAgICAgIHJldHVybiBzZWxmLl9oYW5kbGUKKworICAgIGRlZiBjbG9zZShzZWxmKToKKyAgICAgICAgIiIiQ2xvc2UgdGhlIGNvbm5lY3Rpb24iIiIKKyAgICAgICAgaWYgc2VsZi5faGFuZGxlIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIHNlbGYuX2Nsb3NlKCkKKyAgICAgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICAgICAgc2VsZi5faGFuZGxlID0gTm9uZQorCisgICAgZGVmIHNlbmRfYnl0ZXMoc2VsZiwgYnVmLCBvZmZzZXQ9MCwgc2l6ZT1Ob25lKToKKyAgICAgICAgIiIiU2VuZCB0aGUgYnl0ZXMgZGF0YSBmcm9tIGEgYnl0ZXMtbGlrZSBvYmplY3QiIiIKKyAgICAgICAgc2VsZi5fY2hlY2tfY2xvc2VkKCkKKyAgICAgICAgc2VsZi5fY2hlY2tfd3JpdGFibGUoKQorICAgICAgICBtID0gbWVtb3J5dmlldyhidWYpCisgICAgICAgICMgSEFDSyBmb3IgYnl0ZS1pbmRleGluZyBvZiBub24tYnl0ZXdpc2UgYnVmZmVycyAoZS5nLiBhcnJheS5hcnJheSkKKyAgICAgICAgaWYgbS5pdGVtc2l6ZSA+IDE6CisgICAgICAgICAgICBtID0gbWVtb3J5dmlldyhieXRlcyhtKSkKKyAgICAgICAgbiA9IGxlbihtKQorICAgICAgICBpZiBvZmZzZXQgPCAwOgorICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigib2Zmc2V0IGlzIG5lZ2F0aXZlIikKKyAgICAgICAgaWYgbiA8IG9mZnNldDoKKyAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoImJ1ZmZlciBsZW5ndGggPCBvZmZzZXQiKQorICAgICAgICBpZiBzaXplIGlzIE5vbmU6CisgICAgICAgICAgICBzaXplID0gbiAtIG9mZnNldAorICAgICAgICBlbGlmIHNpemUgPCAwOgorICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigic2l6ZSBpcyBuZWdhdGl2ZSIpCisgICAgICAgIGVsaWYgb2Zmc2V0ICsgc2l6ZSA+IG46CisgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJidWZmZXIgbGVuZ3RoIDwgb2Zmc2V0ICsgc2l6ZSIpCisgICAgICAgIHNlbGYuX3NlbmRfYnl0ZXMobVtvZmZzZXQ6b2Zmc2V0ICsgc2l6ZV0pCisKKyAgICBkZWYgc2VuZChzZWxmLCBvYmopOgorICAgICAgICAiIiJTZW5kIGEgKHBpY2tsYWJsZSkgb2JqZWN0IiIiCisgICAgICAgIHNlbGYuX2NoZWNrX2Nsb3NlZCgpCisgICAgICAgIHNlbGYuX2NoZWNrX3dyaXRhYmxlKCkKKyAgICAgICAgYnVmID0gcGlja2xlLmR1bXBzKG9iaiwgcHJvdG9jb2w9cGlja2xlLkhJR0hFU1RfUFJPVE9DT0wpCisgICAgICAgIHNlbGYuX3NlbmRfYnl0ZXMobWVtb3J5dmlldyhidWYpKQorCisgICAgZGVmIHJlY3ZfYnl0ZXMoc2VsZiwgbWF4bGVuZ3RoPU5vbmUpOgorICAgICAgICAiIiIKKyAgICAgICAgUmVjZWl2ZSBieXRlcyBkYXRhIGFzIGEgYnl0ZXMgb2JqZWN0LgorICAgICAgICAiIiIKKyAgICAgICAgc2VsZi5fY2hlY2tfY2xvc2VkKCkKKyAgICAgICAgc2VsZi5fY2hlY2tfcmVhZGFibGUoKQorICAgICAgICBpZiBtYXhsZW5ndGggaXMgbm90IE5vbmUgYW5kIG1heGxlbmd0aCA8IDA6CisgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJuZWdhdGl2ZSBtYXhsZW5ndGgiKQorICAgICAgICBidWYgPSBzZWxmLl9yZWN2X2J5dGVzKG1heGxlbmd0aCkKKyAgICAgICAgaWYgYnVmIGlzIE5vbmU6CisgICAgICAgICAgICBzZWxmLl9iYWRfbWVzc2FnZV9sZW5ndGgoKQorICAgICAgICByZXR1cm4gYnVmLmdldHZhbHVlKCkKKworICAgIGRlZiByZWN2X2J5dGVzX2ludG8oc2VsZiwgYnVmLCBvZmZzZXQ9MCk6CisgICAgICAgICIiIgorICAgICAgICBSZWNlaXZlIGJ5dGVzIGRhdGEgaW50byBhIHdyaXRlYWJsZSBidWZmZXItbGlrZSBvYmplY3QuCisgICAgICAgIFJldHVybiB0aGUgbnVtYmVyIG9mIGJ5dGVzIHJlYWQuCisgICAgICAgICIiIgorICAgICAgICBzZWxmLl9jaGVja19jbG9zZWQoKQorICAgICAgICBzZWxmLl9jaGVja19yZWFkYWJsZSgpCisgICAgICAgIHdpdGggbWVtb3J5dmlldyhidWYpIGFzIG06CisgICAgICAgICAgICAjIEdldCBieXRlc2l6ZSBvZiBhcmJpdHJhcnkgYnVmZmVyCisgICAgICAgICAgICBpdGVtc2l6ZSA9IG0uaXRlbXNpemUKKyAgICAgICAgICAgIGJ5dGVzaXplID0gaXRlbXNpemUgKiBsZW4obSkKKyAgICAgICAgICAgIGlmIG9mZnNldCA8IDA6CisgICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigibmVnYXRpdmUgb2Zmc2V0IikKKyAgICAgICAgICAgIGVsaWYgb2Zmc2V0ID4gYnl0ZXNpemU6CisgICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigib2Zmc2V0IHRvbyBsYXJnZSIpCisgICAgICAgICAgICByZXN1bHQgPSBzZWxmLl9yZWN2X2J5dGVzKCkKKyAgICAgICAgICAgIHNpemUgPSByZXN1bHQudGVsbCgpCisgICAgICAgICAgICBpZiBieXRlc2l6ZSA8IG9mZnNldCArIHNpemU6CisgICAgICAgICAgICAgICAgcmFpc2UgQnVmZmVyVG9vU2hvcnQocmVzdWx0LmdldHZhbHVlKCkpCisgICAgICAgICAgICAjIE1lc3NhZ2UgY2FuIGZpdCBpbiBkZXN0CisgICAgICAgICAgICByZXN1bHQuc2VlaygwKQorICAgICAgICAgICAgcmVzdWx0LnJlYWRpbnRvKG1bb2Zmc2V0IC8vIGl0ZW1zaXplIDoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvZmZzZXQgKyBzaXplKSAvLyBpdGVtc2l6ZV0pCisgICAgICAgICAgICByZXR1cm4gc2l6ZQorCisgICAgZGVmIHJlY3Yoc2VsZik6CisgICAgICAgICIiIlJlY2VpdmUgYSAocGlja2xhYmxlKSBvYmplY3QiIiIKKyAgICAgICAgc2VsZi5fY2hlY2tfY2xvc2VkKCkKKyAgICAgICAgc2VsZi5fY2hlY2tfcmVhZGFibGUoKQorICAgICAgICBidWYgPSBzZWxmLl9yZWN2X2J5dGVzKCkKKyAgICAgICAgcmV0dXJuIHBpY2tsZS5sb2FkcyhidWYuZ2V0YnVmZmVyKCkpCisKKyAgICBkZWYgcG9sbChzZWxmLCB0aW1lb3V0PTAuMCk6CisgICAgICAgICIiIldoZXRoZXIgdGhlcmUgaXMgYW55IGlucHV0IGF2YWlsYWJsZSB0byBiZSByZWFkIiIiCisgICAgICAgIHNlbGYuX2NoZWNrX2Nsb3NlZCgpCisgICAgICAgIHNlbGYuX2NoZWNrX3JlYWRhYmxlKCkKKyAgICAgICAgcmV0dXJuIHNlbGYuX3BvbGwodGltZW91dCkKKworCitpZiB3aW4zMjoKKworICAgIGNsYXNzIFBpcGVDb25uZWN0aW9uKF9Db25uZWN0aW9uQmFzZSk6CisgICAgICAgICIiIgorICAgICAgICBDb25uZWN0aW9uIGNsYXNzIGJhc2VkIG9uIGEgV2luZG93cyBuYW1lZCBwaXBlLgorICAgICAgICBPdmVybGFwcGVkIEkvTyBpcyB1c2VkLCBzbyB0aGUgaGFuZGxlcyBtdXN0IGhhdmUgYmVlbiBjcmVhdGVkCisgICAgICAgIHdpdGggRklMRV9GTEFHX09WRVJMQVBQRUQuCisgICAgICAgICIiIgorICAgICAgICBfZ290X2VtcHR5X21lc3NhZ2UgPSBGYWxzZQorCisgICAgICAgIGRlZiBfY2xvc2Uoc2VsZiwgX0Nsb3NlSGFuZGxlPXdpbjMyLkNsb3NlSGFuZGxlKToKKyAgICAgICAgICAgIF9DbG9zZUhhbmRsZShzZWxmLl9oYW5kbGUpCisKKyAgICAgICAgZGVmIF9zZW5kX2J5dGVzKHNlbGYsIGJ1Zik6CisgICAgICAgICAgICBvdiwgZXJyID0gd2luMzIuV3JpdGVGaWxlKHNlbGYuX2hhbmRsZSwgYnVmLCBvdmVybGFwcGVkPVRydWUpCisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgaWYgZXJyID09IHdpbjMyLkVSUk9SX0lPX1BFTkRJTkc6CisgICAgICAgICAgICAgICAgICAgIHdhaXRyZXMgPSB3aW4zMi5XYWl0Rm9yTXVsdGlwbGVPYmplY3RzKAorICAgICAgICAgICAgICAgICAgICAgICAgW292LmV2ZW50XSwgRmFsc2UsIElORklOSVRFKQorICAgICAgICAgICAgICAgICAgICBhc3NlcnQgd2FpdHJlcyA9PSBXQUlUX09CSkVDVF8wCisgICAgICAgICAgICBleGNlcHQ6CisgICAgICAgICAgICAgICAgb3YuY2FuY2VsKCkKKyAgICAgICAgICAgICAgICByYWlzZQorICAgICAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgICAgICBud3JpdHRlbiwgZXJyID0gb3YuR2V0T3ZlcmxhcHBlZFJlc3VsdChUcnVlKQorICAgICAgICAgICAgYXNzZXJ0IGVyciA9PSAwCisgICAgICAgICAgICBhc3NlcnQgbndyaXR0ZW4gPT0gbGVuKGJ1ZikKKworICAgICAgICBkZWYgX3JlY3ZfYnl0ZXMoc2VsZiwgbWF4c2l6ZT1Ob25lKToKKyAgICAgICAgICAgIGlmIHNlbGYuX2dvdF9lbXB0eV9tZXNzYWdlOgorICAgICAgICAgICAgICAgIHNlbGYuX2dvdF9lbXB0eV9tZXNzYWdlID0gRmFsc2UKKyAgICAgICAgICAgICAgICByZXR1cm4gaW8uQnl0ZXNJTygpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIGJzaXplID0gMTI4IGlmIG1heHNpemUgaXMgTm9uZSBlbHNlIG1pbihtYXhzaXplLCAxMjgpCisgICAgICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgICAgICBvdiwgZXJyID0gd2luMzIuUmVhZEZpbGUoc2VsZi5faGFuZGxlLCBic2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJsYXBwZWQ9VHJ1ZSkKKyAgICAgICAgICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgICAgICAgICAgaWYgZXJyID09IHdpbjMyLkVSUk9SX0lPX1BFTkRJTkc6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2FpdHJlcyA9IHdpbjMyLldhaXRGb3JNdWx0aXBsZU9iamVjdHMoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtvdi5ldmVudF0sIEZhbHNlLCBJTkZJTklURSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBhc3NlcnQgd2FpdHJlcyA9PSBXQUlUX09CSkVDVF8wCisgICAgICAgICAgICAgICAgICAgIGV4Y2VwdDoKKyAgICAgICAgICAgICAgICAgICAgICAgIG92LmNhbmNlbCgpCisgICAgICAgICAgICAgICAgICAgICAgICByYWlzZQorICAgICAgICAgICAgICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgICAgICAgICAgICAgbnJlYWQsIGVyciA9IG92LkdldE92ZXJsYXBwZWRSZXN1bHQoVHJ1ZSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIGVyciA9PSAwOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGYgPSBpby5CeXRlc0lPKCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBmLndyaXRlKG92LmdldGJ1ZmZlcigpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmCisgICAgICAgICAgICAgICAgICAgICAgICBlbGlmIGVyciA9PSB3aW4zMi5FUlJPUl9NT1JFX0RBVEE6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2dldF9tb3JlX2RhdGEob3YsIG1heHNpemUpCisgICAgICAgICAgICAgICAgZXhjZXB0IElPRXJyb3IgYXMgZToKKyAgICAgICAgICAgICAgICAgICAgaWYgZS53aW5lcnJvciA9PSB3aW4zMi5FUlJPUl9CUk9LRU5fUElQRToKKyAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIEVPRkVycm9yCisgICAgICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgICAgICByYWlzZQorICAgICAgICAgICAgcmFpc2UgUnVudGltZUVycm9yKCJzaG91bGRuJ3QgZ2V0IGhlcmU7IGV4cGVjdGVkIEtleWJvYXJkSW50ZXJydXB0IikKKworICAgICAgICBkZWYgX3BvbGwoc2VsZiwgdGltZW91dCk6CisgICAgICAgICAgICBpZiAoc2VsZi5fZ290X2VtcHR5X21lc3NhZ2Ugb3IKKyAgICAgICAgICAgICAgICAgICAgICAgIHdpbjMyLlBlZWtOYW1lZFBpcGUoc2VsZi5faGFuZGxlKVswXSAhPSAwKToKKyAgICAgICAgICAgICAgICByZXR1cm4gVHJ1ZQorICAgICAgICAgICAgaWYgdGltZW91dCA8IDA6CisgICAgICAgICAgICAgICAgdGltZW91dCA9IE5vbmUKKyAgICAgICAgICAgIHJldHVybiBib29sKHdhaXQoW3NlbGZdLCB0aW1lb3V0KSkKKworICAgICAgICBkZWYgX2dldF9tb3JlX2RhdGEoc2VsZiwgb3YsIG1heHNpemUpOgorICAgICAgICAgICAgYnVmID0gb3YuZ2V0YnVmZmVyKCkKKyAgICAgICAgICAgIGYgPSBpby5CeXRlc0lPKCkKKyAgICAgICAgICAgIGYud3JpdGUoYnVmKQorICAgICAgICAgICAgbGVmdCA9IHdpbjMyLlBlZWtOYW1lZFBpcGUoc2VsZi5faGFuZGxlKVsxXQorICAgICAgICAgICAgYXNzZXJ0IGxlZnQgPiAwCisgICAgICAgICAgICBpZiBtYXhzaXplIGlzIG5vdCBOb25lIGFuZCBsZW4oYnVmKSArIGxlZnQgPiBtYXhzaXplOgorICAgICAgICAgICAgICAgIHNlbGYuX2JhZF9tZXNzYWdlX2xlbmd0aCgpCisgICAgICAgICAgICBvdiwgZXJyID0gd2luMzIuUmVhZEZpbGUoc2VsZi5faGFuZGxlLCBsZWZ0LCBvdmVybGFwcGVkPVRydWUpCisgICAgICAgICAgICByYnl0ZXMsIGVyciA9IG92LkdldE92ZXJsYXBwZWRSZXN1bHQoVHJ1ZSkKKyAgICAgICAgICAgIGFzc2VydCBlcnIgPT0gMAorICAgICAgICAgICAgYXNzZXJ0IHJieXRlcyA9PSBsZWZ0CisgICAgICAgICAgICBmLndyaXRlKG92LmdldGJ1ZmZlcigpKQorICAgICAgICAgICAgcmV0dXJuIGYKKworCitjbGFzcyBDb25uZWN0aW9uKF9Db25uZWN0aW9uQmFzZSk6CisgICAgIiIiCisgICAgQ29ubmVjdGlvbiBjbGFzcyBiYXNlZCBvbiBhbiBhcmJpdHJhcnkgZmlsZSBkZXNjcmlwdG9yIChVbml4IG9ubHkpLCBvcgorICAgIGEgc29ja2V0IGhhbmRsZSAoV2luZG93cykuCisgICAgIiIiCisKKyAgICBpZiB3aW4zMjoKKyAgICAgICAgZGVmIF9jbG9zZShzZWxmLCBfY2xvc2U9d2luMzIuY2xvc2Vzb2NrZXQpOgorICAgICAgICAgICAgX2Nsb3NlKHNlbGYuX2hhbmRsZSkKKyAgICAgICAgX3dyaXRlID0gd2luMzIuc2VuZAorICAgICAgICBfcmVhZCA9IHdpbjMyLnJlY3YKKyAgICBlbHNlOgorICAgICAgICBkZWYgX2Nsb3NlKHNlbGYsIF9jbG9zZT1vcy5jbG9zZSk6CisgICAgICAgICAgICBfY2xvc2Uoc2VsZi5faGFuZGxlKQorICAgICAgICBfd3JpdGUgPSBvcy53cml0ZQorICAgICAgICBfcmVhZCA9IG9zLnJlYWQKKworICAgIGRlZiBfc2VuZChzZWxmLCBidWYsIHdyaXRlPV93cml0ZSk6CisgICAgICAgIHJlbWFpbmluZyA9IGxlbihidWYpCisgICAgICAgIHdoaWxlIFRydWU6CisgICAgICAgICAgICBuID0gd3JpdGUoc2VsZi5faGFuZGxlLCBidWYpCisgICAgICAgICAgICByZW1haW5pbmcgLT0gbgorICAgICAgICAgICAgaWYgcmVtYWluaW5nID09IDA6CisgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgICAgIGJ1ZiA9IGJ1ZltuOl0KKworICAgIGRlZiBfcmVjdihzZWxmLCBzaXplLCByZWFkPV9yZWFkKToKKyAgICAgICAgYnVmID0gaW8uQnl0ZXNJTygpCisgICAgICAgIGhhbmRsZSA9IHNlbGYuX2hhbmRsZQorICAgICAgICByZW1haW5pbmcgPSBzaXplCisgICAgICAgIHdoaWxlIHJlbWFpbmluZyA+IDA6CisgICAgICAgICAgICBjaHVuayA9IHJlYWQoaGFuZGxlLCByZW1haW5pbmcpCisgICAgICAgICAgICBuID0gbGVuKGNodW5rKQorICAgICAgICAgICAgaWYgbiA9PSAwOgorICAgICAgICAgICAgICAgIGlmIHJlbWFpbmluZyA9PSBzaXplOgorICAgICAgICAgICAgICAgICAgICByYWlzZSBFT0ZFcnJvcgorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIHJhaXNlIElPRXJyb3IoImdvdCBlbmQgb2YgZmlsZSBkdXJpbmcgbWVzc2FnZSIpCisgICAgICAgICAgICBidWYud3JpdGUoY2h1bmspCisgICAgICAgICAgICByZW1haW5pbmcgLT0gbgorICAgICAgICByZXR1cm4gYnVmCisKKyAgICBkZWYgX3NlbmRfYnl0ZXMoc2VsZiwgYnVmKToKKyAgICAgICAgIyBGb3Igd2lyZSBjb21wYXRpYmlsaXR5IHdpdGggMy4yIGFuZCBsb3dlcgorICAgICAgICBuID0gbGVuKGJ1ZikKKyAgICAgICAgc2VsZi5fc2VuZChzdHJ1Y3QucGFjaygiIWkiLCBuKSkKKyAgICAgICAgIyBUaGUgY29uZGl0aW9uIGlzIG5lY2Vzc2FyeSB0byBhdm9pZCAiYnJva2VuIHBpcGUiIGVycm9ycworICAgICAgICAjIHdoZW4gc2VuZGluZyBhIDAtbGVuZ3RoIGJ1ZmZlciBpZiB0aGUgb3RoZXIgZW5kIGNsb3NlZCB0aGUgcGlwZS4KKyAgICAgICAgaWYgbiA+IDA6CisgICAgICAgICAgICBzZWxmLl9zZW5kKGJ1ZikKKworICAgIGRlZiBfcmVjdl9ieXRlcyhzZWxmLCBtYXhzaXplPU5vbmUpOgorICAgICAgICBidWYgPSBzZWxmLl9yZWN2KDQpCisgICAgICAgIHNpemUsID0gc3RydWN0LnVucGFjaygiIWkiLCBidWYuZ2V0dmFsdWUoKSkKKyAgICAgICAgaWYgbWF4c2l6ZSBpcyBub3QgTm9uZSBhbmQgc2l6ZSA+IG1heHNpemU6CisgICAgICAgICAgICByZXR1cm4gTm9uZQorICAgICAgICByZXR1cm4gc2VsZi5fcmVjdihzaXplKQorCisgICAgZGVmIF9wb2xsKHNlbGYsIHRpbWVvdXQpOgorICAgICAgICBpZiB0aW1lb3V0IDwgMC4wOgorICAgICAgICAgICAgdGltZW91dCA9IE5vbmUKKyAgICAgICAgciA9IHdhaXQoW3NlbGYuX2hhbmRsZV0sIHRpbWVvdXQpCisgICAgICAgIHJldHVybiBib29sKHIpCisKKworIwogIyBQdWJsaWMgZnVuY3Rpb25zCiAjCiAKQEAgLTE4NiwyMSArNDk2LDE3IEBACiAgICAgICAgICcnJwogICAgICAgICBpZiBkdXBsZXg6CiAgICAgICAgICAgICBzMSwgczIgPSBzb2NrZXQuc29ja2V0cGFpcigpCi0gICAgICAgICAgICBjMSA9IF9tdWx0aXByb2Nlc3NpbmcuQ29ubmVjdGlvbihvcy5kdXAoczEuZmlsZW5vKCkpKQotICAgICAgICAgICAgYzIgPSBfbXVsdGlwcm9jZXNzaW5nLkNvbm5lY3Rpb24ob3MuZHVwKHMyLmZpbGVubygpKSkKLSAgICAgICAgICAgIHMxLmNsb3NlKCkKLSAgICAgICAgICAgIHMyLmNsb3NlKCkKKyAgICAgICAgICAgIGMxID0gQ29ubmVjdGlvbihzMS5kZXRhY2goKSkKKyAgICAgICAgICAgIGMyID0gQ29ubmVjdGlvbihzMi5kZXRhY2goKSkKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIGZkMSwgZmQyID0gb3MucGlwZSgpCi0gICAgICAgICAgICBjMSA9IF9tdWx0aXByb2Nlc3NpbmcuQ29ubmVjdGlvbihmZDEsIHdyaXRhYmxlPUZhbHNlKQotICAgICAgICAgICAgYzIgPSBfbXVsdGlwcm9jZXNzaW5nLkNvbm5lY3Rpb24oZmQyLCByZWFkYWJsZT1GYWxzZSkKKyAgICAgICAgICAgIGMxID0gQ29ubmVjdGlvbihmZDEsIHdyaXRhYmxlPUZhbHNlKQorICAgICAgICAgICAgYzIgPSBDb25uZWN0aW9uKGZkMiwgcmVhZGFibGU9RmFsc2UpCiAKICAgICAgICAgcmV0dXJuIGMxLCBjMgogCiBlbHNlOgogCi0gICAgZnJvbSBfbXVsdGlwcm9jZXNzaW5nIGltcG9ydCB3aW4zMgotCiAgICAgZGVmIFBpcGUoZHVwbGV4PVRydWUpOgogICAgICAgICAnJycKICAgICAgICAgUmV0dXJucyBwYWlyIG9mIGNvbm5lY3Rpb24gb2JqZWN0cyBhdCBlaXRoZXIgZW5kIG9mIGEgcGlwZQpAQCAtMjE2LDI2ICs1MjIsMjYgQEAKICAgICAgICAgICAgIG9ic2l6ZSwgaWJzaXplID0gMCwgQlVGU0laRQogCiAgICAgICAgIGgxID0gd2luMzIuQ3JlYXRlTmFtZWRQaXBlKAotICAgICAgICAgICAgYWRkcmVzcywgb3Blbm1vZGUsCisgICAgICAgICAgICBhZGRyZXNzLCBvcGVubW9kZSB8IHdpbjMyLkZJTEVfRkxBR19PVkVSTEFQUEVEIHwKKyAgICAgICAgICAgIHdpbjMyLkZJTEVfRkxBR19GSVJTVF9QSVBFX0lOU1RBTkNFLAogICAgICAgICAgICAgd2luMzIuUElQRV9UWVBFX01FU1NBR0UgfCB3aW4zMi5QSVBFX1JFQURNT0RFX01FU1NBR0UgfAogICAgICAgICAgICAgd2luMzIuUElQRV9XQUlULAogICAgICAgICAgICAgMSwgb2JzaXplLCBpYnNpemUsIHdpbjMyLk5NUFdBSVRfV0FJVF9GT1JFVkVSLCB3aW4zMi5OVUxMCiAgICAgICAgICAgICApCiAgICAgICAgIGgyID0gd2luMzIuQ3JlYXRlRmlsZSgKLSAgICAgICAgICAgIGFkZHJlc3MsIGFjY2VzcywgMCwgd2luMzIuTlVMTCwgd2luMzIuT1BFTl9FWElTVElORywgMCwgd2luMzIuTlVMTAorICAgICAgICAgICAgYWRkcmVzcywgYWNjZXNzLCAwLCB3aW4zMi5OVUxMLCB3aW4zMi5PUEVOX0VYSVNUSU5HLAorICAgICAgICAgICAgd2luMzIuRklMRV9GTEFHX09WRVJMQVBQRUQsIHdpbjMyLk5VTEwKICAgICAgICAgICAgICkKICAgICAgICAgd2luMzIuU2V0TmFtZWRQaXBlSGFuZGxlU3RhdGUoCiAgICAgICAgICAgICBoMiwgd2luMzIuUElQRV9SRUFETU9ERV9NRVNTQUdFLCBOb25lLCBOb25lCiAgICAgICAgICAgICApCiAKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgd2luMzIuQ29ubmVjdE5hbWVkUGlwZShoMSwgd2luMzIuTlVMTCkKLSAgICAgICAgZXhjZXB0IFdpbmRvd3NFcnJvciBhcyBlOgotICAgICAgICAgICAgaWYgZS5hcmdzWzBdICE9IHdpbjMyLkVSUk9SX1BJUEVfQ09OTkVDVEVEOgotICAgICAgICAgICAgICAgIHJhaXNlCisgICAgICAgIG92ZXJsYXBwZWQgPSB3aW4zMi5Db25uZWN0TmFtZWRQaXBlKGgxLCBvdmVybGFwcGVkPVRydWUpCisgICAgICAgIF8sIGVyciA9IG92ZXJsYXBwZWQuR2V0T3ZlcmxhcHBlZFJlc3VsdChUcnVlKQorICAgICAgICBhc3NlcnQgZXJyID09IDAKIAotICAgICAgICBjMSA9IF9tdWx0aXByb2Nlc3NpbmcuUGlwZUNvbm5lY3Rpb24oaDEsIHdyaXRhYmxlPWR1cGxleCkKLSAgICAgICAgYzIgPSBfbXVsdGlwcm9jZXNzaW5nLlBpcGVDb25uZWN0aW9uKGgyLCByZWFkYWJsZT1kdXBsZXgpCisgICAgICAgIGMxID0gUGlwZUNvbm5lY3Rpb24oaDEsIHdyaXRhYmxlPWR1cGxleCkKKyAgICAgICAgYzIgPSBQaXBlQ29ubmVjdGlvbihoMiwgcmVhZGFibGU9ZHVwbGV4KQogCiAgICAgICAgIHJldHVybiBjMSwgYzIKIApAQCAtMjUwLDExICs1NTYsMTQgQEAKICAgICBkZWYgX19pbml0X18oc2VsZiwgYWRkcmVzcywgZmFtaWx5LCBiYWNrbG9nPTEpOgogICAgICAgICBzZWxmLl9zb2NrZXQgPSBzb2NrZXQuc29ja2V0KGdldGF0dHIoc29ja2V0LCBmYW1pbHkpKQogICAgICAgICB0cnk6Ci0gICAgICAgICAgICBzZWxmLl9zb2NrZXQuc2V0c29ja29wdChzb2NrZXQuU09MX1NPQ0tFVCwgc29ja2V0LlNPX1JFVVNFQUREUiwgMSkKKyAgICAgICAgICAgICMgU09fUkVVU0VBRERSIGhhcyBkaWZmZXJlbnQgc2VtYW50aWNzIG9uIFdpbmRvd3MgKGlzc3VlICMyNTUwKS4KKyAgICAgICAgICAgIGlmIG9zLm5hbWUgPT0gJ3Bvc2l4JzoKKyAgICAgICAgICAgICAgICBzZWxmLl9zb2NrZXQuc2V0c29ja29wdChzb2NrZXQuU09MX1NPQ0tFVCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb2NrZXQuU09fUkVVU0VBRERSLCAxKQogICAgICAgICAgICAgc2VsZi5fc29ja2V0LmJpbmQoYWRkcmVzcykKICAgICAgICAgICAgIHNlbGYuX3NvY2tldC5saXN0ZW4oYmFja2xvZykKICAgICAgICAgICAgIHNlbGYuX2FkZHJlc3MgPSBzZWxmLl9zb2NrZXQuZ2V0c29ja25hbWUoKQotICAgICAgICBleGNlcHQgc29ja2V0LmVycm9yOgorICAgICAgICBleGNlcHQgT1NFcnJvcjoKICAgICAgICAgICAgIHNlbGYuX3NvY2tldC5jbG9zZSgpCiAgICAgICAgICAgICByYWlzZQogICAgICAgICBzZWxmLl9mYW1pbHkgPSBmYW1pbHkKQEAgLTI3MCw3ICs1NzksNyBAQAogICAgIGRlZiBhY2NlcHQoc2VsZik6CiAgICAgICAgIHMsIHNlbGYuX2xhc3RfYWNjZXB0ZWQgPSBzZWxmLl9zb2NrZXQuYWNjZXB0KCkKICAgICAgICAgZmQgPSBkdXBsaWNhdGUocy5maWxlbm8oKSkKLSAgICAgICAgY29ubiA9IF9tdWx0aXByb2Nlc3NpbmcuQ29ubmVjdGlvbihmZCkKKyAgICAgICAgY29ubiA9IENvbm5lY3Rpb24oZmQpCiAgICAgICAgIHMuY2xvc2UoKQogICAgICAgICByZXR1cm4gY29ubgogCkBAIC0yODYsMjMgKzU5NSw5IEBACiAgICAgJycnCiAgICAgZmFtaWx5ID0gYWRkcmVzc190eXBlKGFkZHJlc3MpCiAgICAgd2l0aCBzb2NrZXQuc29ja2V0KCBnZXRhdHRyKHNvY2tldCwgZmFtaWx5KSApIGFzIHM6Ci0gICAgICAgIHQgPSBfaW5pdF90aW1lb3V0KCkKLQotICAgICAgICB3aGlsZSAxOgotICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgIHMuY29ubmVjdChhZGRyZXNzKQotICAgICAgICAgICAgZXhjZXB0IHNvY2tldC5lcnJvciBhcyBlOgotICAgICAgICAgICAgICAgIGlmIGUuYXJnc1swXSAhPSBlcnJuby5FQ09OTlJFRlVTRUQgb3IgX2NoZWNrX3RpbWVvdXQodCk6Ci0gICAgICAgICAgICAgICAgICAgIGRlYnVnKCdmYWlsZWQgdG8gY29ubmVjdCB0byBhZGRyZXNzICVzJywgYWRkcmVzcykKLSAgICAgICAgICAgICAgICAgICAgcmFpc2UKLSAgICAgICAgICAgICAgICB0aW1lLnNsZWVwKDAuMDEpCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIGJyZWFrCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICByYWlzZQotCisgICAgICAgIHMuY29ubmVjdChhZGRyZXNzKQogICAgICAgICBmZCA9IGR1cGxpY2F0ZShzLmZpbGVubygpKQotICAgIGNvbm4gPSBfbXVsdGlwcm9jZXNzaW5nLkNvbm5lY3Rpb24oZmQpCisgICAgY29ubiA9IENvbm5lY3Rpb24oZmQpCiAgICAgcmV0dXJuIGNvbm4KIAogIwpAQCAtMzE3LDM5ICs2MTIsNDEgQEAKICAgICAgICAgJycnCiAgICAgICAgIGRlZiBfX2luaXRfXyhzZWxmLCBhZGRyZXNzLCBiYWNrbG9nPU5vbmUpOgogICAgICAgICAgICAgc2VsZi5fYWRkcmVzcyA9IGFkZHJlc3MKLSAgICAgICAgICAgIGhhbmRsZSA9IHdpbjMyLkNyZWF0ZU5hbWVkUGlwZSgKLSAgICAgICAgICAgICAgICBhZGRyZXNzLCB3aW4zMi5QSVBFX0FDQ0VTU19EVVBMRVgsCi0gICAgICAgICAgICAgICAgd2luMzIuUElQRV9UWVBFX01FU1NBR0UgfCB3aW4zMi5QSVBFX1JFQURNT0RFX01FU1NBR0UgfAotICAgICAgICAgICAgICAgIHdpbjMyLlBJUEVfV0FJVCwKLSAgICAgICAgICAgICAgICB3aW4zMi5QSVBFX1VOTElNSVRFRF9JTlNUQU5DRVMsIEJVRlNJWkUsIEJVRlNJWkUsCi0gICAgICAgICAgICAgICAgd2luMzIuTk1QV0FJVF9XQUlUX0ZPUkVWRVIsIHdpbjMyLk5VTEwKLSAgICAgICAgICAgICAgICApCi0gICAgICAgICAgICBzZWxmLl9oYW5kbGVfcXVldWUgPSBbaGFuZGxlXQorICAgICAgICAgICAgc2VsZi5faGFuZGxlX3F1ZXVlID0gW3NlbGYuX25ld19oYW5kbGUoZmlyc3Q9VHJ1ZSldCisKICAgICAgICAgICAgIHNlbGYuX2xhc3RfYWNjZXB0ZWQgPSBOb25lCi0KICAgICAgICAgICAgIHN1Yl9kZWJ1ZygnbGlzdGVuZXIgY3JlYXRlZCB3aXRoIGFkZHJlc3M9JXInLCBzZWxmLl9hZGRyZXNzKQotCiAgICAgICAgICAgICBzZWxmLmNsb3NlID0gRmluYWxpemUoCiAgICAgICAgICAgICAgICAgc2VsZiwgUGlwZUxpc3RlbmVyLl9maW5hbGl6ZV9waXBlX2xpc3RlbmVyLAogICAgICAgICAgICAgICAgIGFyZ3M9KHNlbGYuX2hhbmRsZV9xdWV1ZSwgc2VsZi5fYWRkcmVzcyksIGV4aXRwcmlvcml0eT0wCiAgICAgICAgICAgICAgICAgKQogCi0gICAgICAgIGRlZiBhY2NlcHQoc2VsZik6Ci0gICAgICAgICAgICBuZXdoYW5kbGUgPSB3aW4zMi5DcmVhdGVOYW1lZFBpcGUoCi0gICAgICAgICAgICAgICAgc2VsZi5fYWRkcmVzcywgd2luMzIuUElQRV9BQ0NFU1NfRFVQTEVYLAorICAgICAgICBkZWYgX25ld19oYW5kbGUoc2VsZiwgZmlyc3Q9RmFsc2UpOgorICAgICAgICAgICAgZmxhZ3MgPSB3aW4zMi5QSVBFX0FDQ0VTU19EVVBMRVggfCB3aW4zMi5GSUxFX0ZMQUdfT1ZFUkxBUFBFRAorICAgICAgICAgICAgaWYgZmlyc3Q6CisgICAgICAgICAgICAgICAgZmxhZ3MgfD0gd2luMzIuRklMRV9GTEFHX0ZJUlNUX1BJUEVfSU5TVEFOQ0UKKyAgICAgICAgICAgIHJldHVybiB3aW4zMi5DcmVhdGVOYW1lZFBpcGUoCisgICAgICAgICAgICAgICAgc2VsZi5fYWRkcmVzcywgZmxhZ3MsCiAgICAgICAgICAgICAgICAgd2luMzIuUElQRV9UWVBFX01FU1NBR0UgfCB3aW4zMi5QSVBFX1JFQURNT0RFX01FU1NBR0UgfAogICAgICAgICAgICAgICAgIHdpbjMyLlBJUEVfV0FJVCwKICAgICAgICAgICAgICAgICB3aW4zMi5QSVBFX1VOTElNSVRFRF9JTlNUQU5DRVMsIEJVRlNJWkUsIEJVRlNJWkUsCiAgICAgICAgICAgICAgICAgd2luMzIuTk1QV0FJVF9XQUlUX0ZPUkVWRVIsIHdpbjMyLk5VTEwKICAgICAgICAgICAgICAgICApCi0gICAgICAgICAgICBzZWxmLl9oYW5kbGVfcXVldWUuYXBwZW5kKG5ld2hhbmRsZSkKKworICAgICAgICBkZWYgYWNjZXB0KHNlbGYpOgorICAgICAgICAgICAgc2VsZi5faGFuZGxlX3F1ZXVlLmFwcGVuZChzZWxmLl9uZXdfaGFuZGxlKCkpCiAgICAgICAgICAgICBoYW5kbGUgPSBzZWxmLl9oYW5kbGVfcXVldWUucG9wKDApCisgICAgICAgICAgICBvdiA9IHdpbjMyLkNvbm5lY3ROYW1lZFBpcGUoaGFuZGxlLCBvdmVybGFwcGVkPVRydWUpCiAgICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgd2luMzIuQ29ubmVjdE5hbWVkUGlwZShoYW5kbGUsIHdpbjMyLk5VTEwpCi0gICAgICAgICAgICBleGNlcHQgV2luZG93c0Vycm9yIGFzIGU6Ci0gICAgICAgICAgICAgICAgaWYgZS5hcmdzWzBdICE9IHdpbjMyLkVSUk9SX1BJUEVfQ09OTkVDVEVEOgotICAgICAgICAgICAgICAgICAgICByYWlzZQotICAgICAgICAgICAgcmV0dXJuIF9tdWx0aXByb2Nlc3NpbmcuUGlwZUNvbm5lY3Rpb24oaGFuZGxlKQorICAgICAgICAgICAgICAgIHJlcyA9IHdpbjMyLldhaXRGb3JNdWx0aXBsZU9iamVjdHMoW292LmV2ZW50XSwgRmFsc2UsIElORklOSVRFKQorICAgICAgICAgICAgZXhjZXB0OgorICAgICAgICAgICAgICAgIG92LmNhbmNlbCgpCisgICAgICAgICAgICAgICAgd2luMzIuQ2xvc2VIYW5kbGUoaGFuZGxlKQorICAgICAgICAgICAgICAgIHJhaXNlCisgICAgICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgICAgIF8sIGVyciA9IG92LkdldE92ZXJsYXBwZWRSZXN1bHQoVHJ1ZSkKKyAgICAgICAgICAgIGFzc2VydCBlcnIgPT0gMAorICAgICAgICAgICAgcmV0dXJuIFBpcGVDb25uZWN0aW9uKGhhbmRsZSkKIAogICAgICAgICBAc3RhdGljbWV0aG9kCiAgICAgICAgIGRlZiBfZmluYWxpemVfcGlwZV9saXN0ZW5lcihxdWV1ZSwgYWRkcmVzcyk6CkBAIC0zNjcsMTEgKzY2NCwxMiBAQAogICAgICAgICAgICAgICAgIHdpbjMyLldhaXROYW1lZFBpcGUoYWRkcmVzcywgMTAwMCkKICAgICAgICAgICAgICAgICBoID0gd2luMzIuQ3JlYXRlRmlsZSgKICAgICAgICAgICAgICAgICAgICAgYWRkcmVzcywgd2luMzIuR0VORVJJQ19SRUFEIHwgd2luMzIuR0VORVJJQ19XUklURSwKLSAgICAgICAgICAgICAgICAgICAgMCwgd2luMzIuTlVMTCwgd2luMzIuT1BFTl9FWElTVElORywgMCwgd2luMzIuTlVMTAorICAgICAgICAgICAgICAgICAgICAwLCB3aW4zMi5OVUxMLCB3aW4zMi5PUEVOX0VYSVNUSU5HLAorICAgICAgICAgICAgICAgICAgICB3aW4zMi5GSUxFX0ZMQUdfT1ZFUkxBUFBFRCwgd2luMzIuTlVMTAogICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICBleGNlcHQgV2luZG93c0Vycm9yIGFzIGU6Ci0gICAgICAgICAgICAgICAgaWYgZS5hcmdzWzBdIG5vdCBpbiAod2luMzIuRVJST1JfU0VNX1RJTUVPVVQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2luMzIuRVJST1JfUElQRV9CVVNZKSBvciBfY2hlY2tfdGltZW91dCh0KToKKyAgICAgICAgICAgICAgICBpZiBlLndpbmVycm9yIG5vdCBpbiAod2luMzIuRVJST1JfU0VNX1RJTUVPVVQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpbjMyLkVSUk9SX1BJUEVfQlVTWSkgb3IgX2NoZWNrX3RpbWVvdXQodCk6CiAgICAgICAgICAgICAgICAgICAgIHJhaXNlCiAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgIGJyZWFrCkBAIC0zODEsNyArNjc5LDcgQEAKICAgICAgICAgd2luMzIuU2V0TmFtZWRQaXBlSGFuZGxlU3RhdGUoCiAgICAgICAgICAgICBoLCB3aW4zMi5QSVBFX1JFQURNT0RFX01FU1NBR0UsIE5vbmUsIE5vbmUKICAgICAgICAgICAgICkKLSAgICAgICAgcmV0dXJuIF9tdWx0aXByb2Nlc3NpbmcuUGlwZUNvbm5lY3Rpb24oaCkKKyAgICAgICAgcmV0dXJuIFBpcGVDb25uZWN0aW9uKGgpCiAKICMKICMgQXV0aGVudGljYXRpb24gc3R1ZmYKQEAgLTQzOCwxMCArNzM2LDEwIEBACiAgICAgICAgIHJldHVybiBzZWxmLl9sb2FkcyhzKQogCiBkZWYgX3htbF9kdW1wcyhvYmopOgotICAgIHJldHVybiB4bWxycGNsaWIuZHVtcHMoKG9iaiwpLCBOb25lLCBOb25lLCBOb25lLCAxKS5lbmNvZGUoJ3V0ZjgnKQorICAgIHJldHVybiB4bWxycGNsaWIuZHVtcHMoKG9iaiwpLCBOb25lLCBOb25lLCBOb25lLCAxKS5lbmNvZGUoJ3V0Zi04JykKIAogZGVmIF94bWxfbG9hZHMocyk6Ci0gICAgKG9iaiwpLCBtZXRob2QgPSB4bWxycGNsaWIubG9hZHMocy5kZWNvZGUoJ3V0ZjgnKSkKKyAgICAob2JqLCksIG1ldGhvZCA9IHhtbHJwY2xpYi5sb2FkcyhzLmRlY29kZSgndXRmLTgnKSkKICAgICByZXR1cm4gb2JqCiAKIGNsYXNzIFhtbExpc3RlbmVyKExpc3RlbmVyKToKQEAgLTQ1NSwzICs3NTMsMTI2IEBACiAgICAgZ2xvYmFsIHhtbHJwY2xpYgogICAgIGltcG9ydCB4bWxycGMuY2xpZW50IGFzIHhtbHJwY2xpYgogICAgIHJldHVybiBDb25uZWN0aW9uV3JhcHBlcihDbGllbnQoKmFyZ3MsICoqa3dkcyksIF94bWxfZHVtcHMsIF94bWxfbG9hZHMpCisKKyMKKyMgV2FpdAorIworCitpZiBzeXMucGxhdGZvcm0gPT0gJ3dpbjMyJzoKKworICAgIGRlZiBfZXhoYXVzdGl2ZV93YWl0KGhhbmRsZXMsIHRpbWVvdXQpOgorICAgICAgICAjIFJldHVybiBBTEwgaGFuZGxlcyB3aGljaCBhcmUgY3VycmVudGx5IHNpZ25hbGxlZC4gIChPbmx5CisgICAgICAgICMgcmV0dXJuaW5nIHRoZSBmaXJzdCBzaWduYWxsZWQgbWlnaHQgY3JlYXRlIHN0YXJ2YXRpb24gaXNzdWVzLikKKyAgICAgICAgTCA9IGxpc3QoaGFuZGxlcykKKyAgICAgICAgcmVhZHkgPSBbXQorICAgICAgICB3aGlsZSBMOgorICAgICAgICAgICAgcmVzID0gd2luMzIuV2FpdEZvck11bHRpcGxlT2JqZWN0cyhMLCBGYWxzZSwgdGltZW91dCkKKyAgICAgICAgICAgIGlmIHJlcyA9PSBXQUlUX1RJTUVPVVQ6CisgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgICAgIGVsaWYgV0FJVF9PQkpFQ1RfMCA8PSByZXMgPCBXQUlUX09CSkVDVF8wICsgbGVuKEwpOgorICAgICAgICAgICAgICAgIHJlcyAtPSBXQUlUX09CSkVDVF8wCisgICAgICAgICAgICBlbGlmIFdBSVRfQUJBTkRPTkVEXzAgPD0gcmVzIDwgV0FJVF9BQkFORE9ORURfMCArIGxlbihMKToKKyAgICAgICAgICAgICAgICByZXMgLT0gV0FJVF9BQkFORE9ORURfMAorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IoJ1Nob3VsZCBub3QgZ2V0IGhlcmUnKQorICAgICAgICAgICAgcmVhZHkuYXBwZW5kKExbcmVzXSkKKyAgICAgICAgICAgIEwgPSBMW3JlcysxOl0KKyAgICAgICAgICAgIHRpbWVvdXQgPSAwCisgICAgICAgIHJldHVybiByZWFkeQorCisgICAgX3JlYWR5X2Vycm9ycyA9IHt3aW4zMi5FUlJPUl9CUk9LRU5fUElQRSwgd2luMzIuRVJST1JfTkVUTkFNRV9ERUxFVEVEfQorCisgICAgZGVmIHdhaXQob2JqZWN0X2xpc3QsIHRpbWVvdXQ9Tm9uZSk6CisgICAgICAgICcnJworICAgICAgICBXYWl0IHRpbGwgYW4gb2JqZWN0IGluIG9iamVjdF9saXN0IGlzIHJlYWR5L3JlYWRhYmxlLgorCisgICAgICAgIFJldHVybnMgbGlzdCBvZiB0aG9zZSBvYmplY3RzIGluIG9iamVjdF9saXN0IHdoaWNoIGFyZSByZWFkeS9yZWFkYWJsZS4KKyAgICAgICAgJycnCisgICAgICAgIGlmIHRpbWVvdXQgaXMgTm9uZToKKyAgICAgICAgICAgIHRpbWVvdXQgPSBJTkZJTklURQorICAgICAgICBlbGlmIHRpbWVvdXQgPCAwOgorICAgICAgICAgICAgdGltZW91dCA9IDAKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHRpbWVvdXQgPSBpbnQodGltZW91dCAqIDEwMDAgKyAwLjUpCisKKyAgICAgICAgb2JqZWN0X2xpc3QgPSBsaXN0KG9iamVjdF9saXN0KQorICAgICAgICB3YWl0aGFuZGxlX3RvX29iaiA9IHt9CisgICAgICAgIG92X2xpc3QgPSBbXQorICAgICAgICByZWFkeV9vYmplY3RzID0gc2V0KCkKKyAgICAgICAgcmVhZHlfaGFuZGxlcyA9IHNldCgpCisKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgZm9yIG8gaW4gb2JqZWN0X2xpc3Q6CisgICAgICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgICAgICBmaWxlbm8gPSBnZXRhdHRyKG8sICdmaWxlbm8nKQorICAgICAgICAgICAgICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKKyAgICAgICAgICAgICAgICAgICAgd2FpdGhhbmRsZV90b19vYmpbby5fX2luZGV4X18oKV0gPSBvCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgIyBzdGFydCBhbiBvdmVybGFwcGVkIHJlYWQgb2YgbGVuZ3RoIHplcm8KKyAgICAgICAgICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgICAgICAgICAgb3YsIGVyciA9IHdpbjMyLlJlYWRGaWxlKGZpbGVubygpLCAwLCBUcnVlKQorICAgICAgICAgICAgICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlOgorICAgICAgICAgICAgICAgICAgICAgICAgZXJyID0gZS53aW5lcnJvcgorICAgICAgICAgICAgICAgICAgICAgICAgaWYgZXJyIG5vdCBpbiBfcmVhZHlfZXJyb3JzOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlCisgICAgICAgICAgICAgICAgICAgIGlmIGVyciA9PSB3aW4zMi5FUlJPUl9JT19QRU5ESU5HOgorICAgICAgICAgICAgICAgICAgICAgICAgb3ZfbGlzdC5hcHBlbmQob3YpCisgICAgICAgICAgICAgICAgICAgICAgICB3YWl0aGFuZGxlX3RvX29ialtvdi5ldmVudF0gPSBvCisgICAgICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgICAgICAjIElmIG8uZmlsZW5vKCkgaXMgYW4gb3ZlcmxhcHBlZCBwaXBlIGhhbmRsZSBhbmQKKyAgICAgICAgICAgICAgICAgICAgICAgICMgZXJyID09IDAgdGhlbiB0aGVyZSBpcyBhIHplcm8gbGVuZ3RoIG1lc3NhZ2UKKyAgICAgICAgICAgICAgICAgICAgICAgICMgaW4gdGhlIHBpcGUsIGJ1dCBpdCBIQVMgTk9UIGJlZW4gY29uc3VtZWQuCisgICAgICAgICAgICAgICAgICAgICAgICByZWFkeV9vYmplY3RzLmFkZChvKQorICAgICAgICAgICAgICAgICAgICAgICAgdGltZW91dCA9IDAKKworICAgICAgICAgICAgcmVhZHlfaGFuZGxlcyA9IF9leGhhdXN0aXZlX3dhaXQod2FpdGhhbmRsZV90b19vYmoua2V5cygpLCB0aW1lb3V0KQorICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgIyByZXF1ZXN0IHRoYXQgb3ZlcmxhcHBlZCByZWFkcyBzdG9wCisgICAgICAgICAgICBmb3Igb3YgaW4gb3ZfbGlzdDoKKyAgICAgICAgICAgICAgICBvdi5jYW5jZWwoKQorCisgICAgICAgICAgICAjIHdhaXQgZm9yIGFsbCBvdmVybGFwcGVkIHJlYWRzIHRvIHN0b3AKKyAgICAgICAgICAgIGZvciBvdiBpbiBvdl9saXN0OgorICAgICAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICAgICAgXywgZXJyID0gb3YuR2V0T3ZlcmxhcHBlZFJlc3VsdChUcnVlKQorICAgICAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGU6CisgICAgICAgICAgICAgICAgICAgIGVyciA9IGUud2luZXJyb3IKKyAgICAgICAgICAgICAgICAgICAgaWYgZXJyIG5vdCBpbiBfcmVhZHlfZXJyb3JzOgorICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2UKKyAgICAgICAgICAgICAgICBpZiBlcnIgIT0gd2luMzIuRVJST1JfT1BFUkFUSU9OX0FCT1JURUQ6CisgICAgICAgICAgICAgICAgICAgIG8gPSB3YWl0aGFuZGxlX3RvX29ialtvdi5ldmVudF0KKyAgICAgICAgICAgICAgICAgICAgcmVhZHlfb2JqZWN0cy5hZGQobykKKyAgICAgICAgICAgICAgICAgICAgaWYgZXJyID09IDA6CisgICAgICAgICAgICAgICAgICAgICAgICAjIElmIG8uZmlsZW5vKCkgaXMgYW4gb3ZlcmxhcHBlZCBwaXBlIGhhbmRsZSB0aGVuCisgICAgICAgICAgICAgICAgICAgICAgICAjIGEgemVybyBsZW5ndGggbWVzc2FnZSBIQVMgYmVlbiBjb25zdW1lZC4KKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIGhhc2F0dHIobywgJ19nb3RfZW1wdHlfbWVzc2FnZScpOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIG8uX2dvdF9lbXB0eV9tZXNzYWdlID0gVHJ1ZQorCisgICAgICAgIHJlYWR5X29iamVjdHMudXBkYXRlKHdhaXRoYW5kbGVfdG9fb2JqW2hdIGZvciBoIGluIHJlYWR5X2hhbmRsZXMpCisgICAgICAgIHJldHVybiBbbyBmb3IgbyBpbiBvYmplY3RfbGlzdCBpZiBvIGluIHJlYWR5X29iamVjdHNdCisKK2Vsc2U6CisKKyAgICBkZWYgd2FpdChvYmplY3RfbGlzdCwgdGltZW91dD1Ob25lKToKKyAgICAgICAgJycnCisgICAgICAgIFdhaXQgdGlsbCBhbiBvYmplY3QgaW4gb2JqZWN0X2xpc3QgaXMgcmVhZHkvcmVhZGFibGUuCisKKyAgICAgICAgUmV0dXJucyBsaXN0IG9mIHRob3NlIG9iamVjdHMgaW4gb2JqZWN0X2xpc3Qgd2hpY2ggYXJlIHJlYWR5L3JlYWRhYmxlLgorICAgICAgICAnJycKKyAgICAgICAgaWYgdGltZW91dCBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIGlmIHRpbWVvdXQgPD0gMDoKKyAgICAgICAgICAgICAgICByZXR1cm4gc2VsZWN0LnNlbGVjdChvYmplY3RfbGlzdCwgW10sIFtdLCAwKVswXQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBkZWFkbGluZSA9IHRpbWUudGltZSgpICsgdGltZW91dAorICAgICAgICB3aGlsZSBUcnVlOgorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIHJldHVybiBzZWxlY3Quc2VsZWN0KG9iamVjdF9saXN0LCBbXSwgW10sIHRpbWVvdXQpWzBdCisgICAgICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlOgorICAgICAgICAgICAgICAgIGlmIGUuZXJybm8gIT0gZXJybm8uRUlOVFI6CisgICAgICAgICAgICAgICAgICAgIHJhaXNlCisgICAgICAgICAgICBpZiB0aW1lb3V0IGlzIG5vdCBOb25lOgorICAgICAgICAgICAgICAgIHRpbWVvdXQgPSBkZWFkbGluZSAtIHRpbWUudGltZSgpCisKKworIyBMYXRlIGltcG9ydCBiZWNhdXNlIG9mIGNpcmN1bGFyIGltcG9ydAorZnJvbSBtdWx0aXByb2Nlc3NpbmcuZm9ya2luZyBpbXBvcnQgZHVwbGljYXRlLCBjbG9zZQpkaWZmIC0tZ2l0IGEvTGliL211bHRpcHJvY2Vzc2luZy9kdW1teS9fX2luaXRfXy5weSBiL0xpYi9tdWx0aXByb2Nlc3NpbmcvZHVtbXkvX19pbml0X18ucHkKaW5kZXggYzQ5MzNkOS4uMDU2YWNmYyAxMDA2NDQKLS0tIGEvTGliL211bHRpcHJvY2Vzc2luZy9kdW1teS9fX2luaXRfXy5weQorKysgYi9MaWIvbXVsdGlwcm9jZXNzaW5nL2R1bW15L19faW5pdF9fLnB5CkBAIC00NiwxMiArNDYsMTAgQEAKIGltcG9ydCBzeXMKIGltcG9ydCB3ZWFrcmVmCiBpbXBvcnQgYXJyYXkKLWltcG9ydCBpdGVydG9vbHMKIAotZnJvbSBtdWx0aXByb2Nlc3NpbmcgaW1wb3J0IFRpbWVvdXRFcnJvciwgY3B1X2NvdW50CiBmcm9tIG11bHRpcHJvY2Vzc2luZy5kdW1teS5jb25uZWN0aW9uIGltcG9ydCBQaXBlCiBmcm9tIHRocmVhZGluZyBpbXBvcnQgTG9jaywgUkxvY2ssIFNlbWFwaG9yZSwgQm91bmRlZFNlbWFwaG9yZQotZnJvbSB0aHJlYWRpbmcgaW1wb3J0IEV2ZW50Citmcm9tIHRocmVhZGluZyBpbXBvcnQgRXZlbnQsIENvbmRpdGlvbgogZnJvbSBxdWV1ZSBpbXBvcnQgUXVldWUKIAogIwpAQCAtODQsMTcgKzgyLDYgQEAKICMKICMKIAotY2xhc3MgQ29uZGl0aW9uKHRocmVhZGluZy5fQ29uZGl0aW9uKToKLSAgICAjIFhYWAotICAgIGlmIHN5cy52ZXJzaW9uX2luZm8gPCAoMywgMCk6Ci0gICAgICAgIG5vdGlmeV9hbGwgPSB0aHJlYWRpbmcuX0NvbmRpdGlvbi5ub3RpZnlfYWxsLl9fZnVuY19fCi0gICAgZWxzZToKLSAgICAgICAgbm90aWZ5X2FsbCA9IHRocmVhZGluZy5fQ29uZGl0aW9uLm5vdGlmeV9hbGwKLQotIwotIwotIwotCiBQcm9jZXNzID0gRHVtbXlQcm9jZXNzCiBjdXJyZW50X3Byb2Nlc3MgPSB0aHJlYWRpbmcuY3VycmVudF90aHJlYWQKIGN1cnJlbnRfcHJvY2VzcygpLl9jaGlsZHJlbiA9IHdlYWtyZWYuV2Vha0tleURpY3Rpb25hcnkoKQpkaWZmIC0tZ2l0IGEvTGliL211bHRpcHJvY2Vzc2luZy9mb3JraW5nLnB5IGIvTGliL211bHRpcHJvY2Vzc2luZy9mb3JraW5nLnB5CmluZGV4IDRlMjRkNmEuLjAyMDUwOGEgMTAwNjQ0Ci0tLSBhL0xpYi9tdWx0aXByb2Nlc3NpbmcvZm9ya2luZy5weQorKysgYi9MaWIvbXVsdGlwcm9jZXNzaW5nL2ZvcmtpbmcucHkKQEAgLTU1LDE4ICs1NSwxOCBAQAogIyBUcnkgbWFraW5nIHNvbWUgY2FsbGFibGUgdHlwZXMgcGlja2xhYmxlCiAjCiAKLWZyb20gcGlja2xlIGltcG9ydCBfUGlja2xlciBhcyBQaWNrbGVyCitmcm9tIHBpY2tsZSBpbXBvcnQgUGlja2xlcgorZnJvbSBjb3B5cmVnIGltcG9ydCBkaXNwYXRjaF90YWJsZQorCiBjbGFzcyBGb3JraW5nUGlja2xlcihQaWNrbGVyKToKLSAgICBkaXNwYXRjaCA9IFBpY2tsZXIuZGlzcGF0Y2guY29weSgpCisgICAgX2V4dHJhX3JlZHVjZXJzID0ge30KKyAgICBkZWYgX19pbml0X18oc2VsZiwgKmFyZ3MpOgorICAgICAgICBQaWNrbGVyLl9faW5pdF9fKHNlbGYsICphcmdzKQorICAgICAgICBzZWxmLmRpc3BhdGNoX3RhYmxlID0gZGlzcGF0Y2hfdGFibGUuY29weSgpCisgICAgICAgIHNlbGYuZGlzcGF0Y2hfdGFibGUudXBkYXRlKHNlbGYuX2V4dHJhX3JlZHVjZXJzKQogICAgIEBjbGFzc21ldGhvZAogICAgIGRlZiByZWdpc3RlcihjbHMsIHR5cGUsIHJlZHVjZSk6Ci0gICAgICAgIGRlZiBkaXNwYXRjaGVyKHNlbGYsIG9iaik6Ci0gICAgICAgICAgICBydiA9IHJlZHVjZShvYmopCi0gICAgICAgICAgICBpZiBpc2luc3RhbmNlKHJ2LCBzdHIpOgotICAgICAgICAgICAgICAgIHNlbGYuc2F2ZV9nbG9iYWwob2JqLCBydikKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgc2VsZi5zYXZlX3JlZHVjZShvYmo9b2JqLCAqcnYpCi0gICAgICAgIGNscy5kaXNwYXRjaFt0eXBlXSA9IGRpc3BhdGNoZXIKKyAgICAgICAgY2xzLl9leHRyYV9yZWR1Y2Vyc1t0eXBlXSA9IHJlZHVjZQogCiBkZWYgX3JlZHVjZV9tZXRob2QobSk6CiAgICAgaWYgbS5fX3NlbGZfXyBpcyBOb25lOgpAQCAtMTAwLDExICsxMDAsMTIgQEAKICMKIAogaWYgc3lzLnBsYXRmb3JtICE9ICd3aW4zMic6Ci0gICAgaW1wb3J0IHRpbWUKKyAgICBpbXBvcnQgc2VsZWN0CiAKICAgICBleGl0ID0gb3MuX2V4aXQKICAgICBkdXBsaWNhdGUgPSBvcy5kdXAKICAgICBjbG9zZSA9IG9zLmNsb3NlCisgICAgX3NlbGVjdCA9IHV0aWwuX2VpbnRyX3JldHJ5KHNlbGVjdC5zZWxlY3QpCiAKICAgICAjCiAgICAgIyBXZSBkZWZpbmUgYSBQb3BlbiBjbGFzcyBzaW1pbGFyIHRvIHRoZSBvbmUgZnJvbSBzdWJwcm9jZXNzLCBidXQKQEAgLTExOCwxNCArMTE5LDIzIEBACiAgICAgICAgICAgICBzeXMuc3RkZXJyLmZsdXNoKCkKICAgICAgICAgICAgIHNlbGYucmV0dXJuY29kZSA9IE5vbmUKIAorICAgICAgICAgICAgciwgdyA9IG9zLnBpcGUoKQorICAgICAgICAgICAgc2VsZi5zZW50aW5lbCA9IHIKKwogICAgICAgICAgICAgc2VsZi5waWQgPSBvcy5mb3JrKCkKICAgICAgICAgICAgIGlmIHNlbGYucGlkID09IDA6CisgICAgICAgICAgICAgICAgb3MuY2xvc2UocikKICAgICAgICAgICAgICAgICBpZiAncmFuZG9tJyBpbiBzeXMubW9kdWxlczoKICAgICAgICAgICAgICAgICAgICAgaW1wb3J0IHJhbmRvbQogICAgICAgICAgICAgICAgICAgICByYW5kb20uc2VlZCgpCiAgICAgICAgICAgICAgICAgY29kZSA9IHByb2Nlc3Nfb2JqLl9ib290c3RyYXAoKQogICAgICAgICAgICAgICAgIG9zLl9leGl0KGNvZGUpCiAKKyAgICAgICAgICAgICMgYHdgIHdpbGwgYmUgY2xvc2VkIHdoZW4gdGhlIGNoaWxkIGV4aXRzLCBhdCB3aGljaCBwb2ludCBgcmAKKyAgICAgICAgICAgICMgd2lsbCBiZWNvbWUgcmVhZHkgZm9yIHJlYWRpbmcgKHVzaW5nIGUuZy4gc2VsZWN0KCkpLgorICAgICAgICAgICAgb3MuY2xvc2UodykKKyAgICAgICAgICAgIHV0aWwuRmluYWxpemUoc2VsZiwgb3MuY2xvc2UsIChyLCkpCisKICAgICAgICAgZGVmIHBvbGwoc2VsZiwgZmxhZz1vcy5XTk9IQU5HKToKICAgICAgICAgICAgIGlmIHNlbGYucmV0dXJuY29kZSBpcyBOb25lOgogICAgICAgICAgICAgICAgIHRyeToKQEAgLTE0MywyNiArMTUzLDIwIEBACiAgICAgICAgICAgICByZXR1cm4gc2VsZi5yZXR1cm5jb2RlCiAKICAgICAgICAgZGVmIHdhaXQoc2VsZiwgdGltZW91dD1Ob25lKToKLSAgICAgICAgICAgIGlmIHRpbWVvdXQgaXMgTm9uZToKLSAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5wb2xsKDApCi0gICAgICAgICAgICBkZWFkbGluZSA9IHRpbWUudGltZSgpICsgdGltZW91dAotICAgICAgICAgICAgZGVsYXkgPSAwLjAwMDUKLSAgICAgICAgICAgIHdoaWxlIDE6Ci0gICAgICAgICAgICAgICAgcmVzID0gc2VsZi5wb2xsKCkKLSAgICAgICAgICAgICAgICBpZiByZXMgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICAgICAgICAgIGJyZWFrCi0gICAgICAgICAgICAgICAgcmVtYWluaW5nID0gZGVhZGxpbmUgLSB0aW1lLnRpbWUoKQotICAgICAgICAgICAgICAgIGlmIHJlbWFpbmluZyA8PSAwOgotICAgICAgICAgICAgICAgICAgICBicmVhawotICAgICAgICAgICAgICAgIGRlbGF5ID0gbWluKGRlbGF5ICogMiwgcmVtYWluaW5nLCAwLjA1KQotICAgICAgICAgICAgICAgIHRpbWUuc2xlZXAoZGVsYXkpCi0gICAgICAgICAgICByZXR1cm4gcmVzCisgICAgICAgICAgICBpZiBzZWxmLnJldHVybmNvZGUgaXMgTm9uZToKKyAgICAgICAgICAgICAgICBpZiB0aW1lb3V0IGlzIG5vdCBOb25lOgorICAgICAgICAgICAgICAgICAgICByID0gX3NlbGVjdChbc2VsZi5zZW50aW5lbF0sIFtdLCBbXSwgdGltZW91dClbMF0KKyAgICAgICAgICAgICAgICAgICAgaWYgbm90IHI6CisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gTm9uZQorICAgICAgICAgICAgICAgICMgVGhpcyBzaG91bGRuJ3QgYmxvY2sgaWYgc2VsZWN0KCkgcmV0dXJuZWQgc3VjY2Vzc2Z1bGx5LgorICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLnBvbGwob3MuV05PSEFORyBpZiB0aW1lb3V0ID09IDAuMCBlbHNlIDApCisgICAgICAgICAgICByZXR1cm4gc2VsZi5yZXR1cm5jb2RlCiAKICAgICAgICAgZGVmIHRlcm1pbmF0ZShzZWxmKToKICAgICAgICAgICAgIGlmIHNlbGYucmV0dXJuY29kZSBpcyBOb25lOgogICAgICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICAgICAgb3Mua2lsbChzZWxmLnBpZCwgc2lnbmFsLlNJR1RFUk0pCi0gICAgICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKKyAgICAgICAgICAgICAgICBleGNlcHQgT1NFcnJvcjoKICAgICAgICAgICAgICAgICAgICAgaWYgc2VsZi53YWl0KHRpbWVvdXQ9MC4xKSBpcyBOb25lOgogICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2UKIApAQCAtMTc4LDExICsxODIsOSBAQAogICAgIGltcG9ydCBfdGhyZWFkCiAgICAgaW1wb3J0IG1zdmNydAogICAgIGltcG9ydCBfc3VicHJvY2VzcwotICAgIGltcG9ydCB0aW1lCiAKLSAgICBmcm9tIHBpY2tsZSBpbXBvcnQgZHVtcCwgbG9hZCwgSElHSEVTVF9QUk9UT0NPTAotICAgIGZyb20gX211bHRpcHJvY2Vzc2luZyBpbXBvcnQgd2luMzIsIENvbm5lY3Rpb24sIFBpcGVDb25uZWN0aW9uCi0gICAgZnJvbSAudXRpbCBpbXBvcnQgRmluYWxpemUKKyAgICBmcm9tIHBpY2tsZSBpbXBvcnQgbG9hZCwgSElHSEVTVF9QUk9UT0NPTAorICAgIGZyb20gX211bHRpcHJvY2Vzc2luZyBpbXBvcnQgd2luMzIKIAogICAgIGRlZiBkdW1wKG9iaiwgZmlsZSwgcHJvdG9jb2w9Tm9uZSk6CiAgICAgICAgIEZvcmtpbmdQaWNrbGVyKGZpbGUsIHByb3RvY29sKS5kdW1wKG9iaikKQEAgLTI1Niw2ICsyNTgsNyBAQAogICAgICAgICAgICAgc2VsZi5waWQgPSBwaWQKICAgICAgICAgICAgIHNlbGYucmV0dXJuY29kZSA9IE5vbmUKICAgICAgICAgICAgIHNlbGYuX2hhbmRsZSA9IGhwCisgICAgICAgICAgICBzZWxmLnNlbnRpbmVsID0gaW50KGhwKQogCiAgICAgICAgICAgICAjIHNlbmQgaW5mb3JtYXRpb24gdG8gY2hpbGQKICAgICAgICAgICAgIHByZXBfZGF0YSA9IGdldF9wcmVwYXJhdGlvbl9kYXRhKHByb2Nlc3Nfb2JqLl9uYW1lKQpAQCAtNDA5LDYgKzQxMiw5IEBACiAgICAgIyBNYWtlIChQaXBlKUNvbm5lY3Rpb24gcGlja2xhYmxlCiAgICAgIwogCisgICAgIyBMYXRlIGltcG9ydCBiZWNhdXNlIG9mIGNpcmN1bGFyIGltcG9ydAorICAgIGZyb20gLmNvbm5lY3Rpb24gaW1wb3J0IENvbm5lY3Rpb24sIFBpcGVDb25uZWN0aW9uCisKICAgICBkZWYgcmVkdWNlX2Nvbm5lY3Rpb24oY29ubik6CiAgICAgICAgIGlmIG5vdCBQb3Blbi50aHJlYWRfaXNfc3Bhd25pbmcoKToKICAgICAgICAgICAgIHJhaXNlIFJ1bnRpbWVFcnJvcigKZGlmZiAtLWdpdCBhL0xpYi9tdWx0aXByb2Nlc3NpbmcvaGVhcC5weSBiL0xpYi9tdWx0aXByb2Nlc3NpbmcvaGVhcC5weQppbmRleCAwYTI1ZWYwLi43MzY2YmQyIDEwMDY0NAotLS0gYS9MaWIvbXVsdGlwcm9jZXNzaW5nL2hlYXAucHkKKysrIGIvTGliL211bHRpcHJvY2Vzc2luZy9oZWFwLnB5CkBAIC0zNCw3ICszNCw2IEBACiAKIGltcG9ydCBiaXNlY3QKIGltcG9ydCBtbWFwCi1pbXBvcnQgdGVtcGZpbGUKIGltcG9ydCBvcwogaW1wb3J0IHN5cwogaW1wb3J0IHRocmVhZGluZwpkaWZmIC0tZ2l0IGEvTGliL211bHRpcHJvY2Vzc2luZy9tYW5hZ2Vycy5weSBiL0xpYi9tdWx0aXByb2Nlc3NpbmcvbWFuYWdlcnMucHkKaW5kZXggNTU4OGVhZC4uZWFmOTEyYyAxMDA2NDQKLS0tIGEvTGliL211bHRpcHJvY2Vzc2luZy9tYW5hZ2Vycy5weQorKysgYi9MaWIvbXVsdGlwcm9jZXNzaW5nL21hbmFnZXJzLnB5CkBAIC0zOSwxOSArMzksMTUgQEAKICMgSW1wb3J0cwogIwogCi1pbXBvcnQgb3MKIGltcG9ydCBzeXMKLWltcG9ydCB3ZWFrcmVmCiBpbXBvcnQgdGhyZWFkaW5nCiBpbXBvcnQgYXJyYXkKIGltcG9ydCBxdWV1ZQogCiBmcm9tIHRyYWNlYmFjayBpbXBvcnQgZm9ybWF0X2V4YwotZnJvbSBwaWNrbGUgaW1wb3J0IFBpY2tsaW5nRXJyb3IKIGZyb20gbXVsdGlwcm9jZXNzaW5nIGltcG9ydCBQcm9jZXNzLCBjdXJyZW50X3Byb2Nlc3MsIGFjdGl2ZV9jaGlsZHJlbiwgUG9vbCwgdXRpbCwgY29ubmVjdGlvbgogZnJvbSBtdWx0aXByb2Nlc3NpbmcucHJvY2VzcyBpbXBvcnQgQXV0aGVudGljYXRpb25TdHJpbmcKLWZyb20gbXVsdGlwcm9jZXNzaW5nLmZvcmtpbmcgaW1wb3J0IGV4aXQsIFBvcGVuLCBhc3NlcnRfc3Bhd25pbmcsIEZvcmtpbmdQaWNrbGVyCi1mcm9tIG11bHRpcHJvY2Vzc2luZy51dGlsIGltcG9ydCBGaW5hbGl6ZSwgaW5mbworZnJvbSBtdWx0aXByb2Nlc3NpbmcuZm9ya2luZyBpbXBvcnQgZXhpdCwgUG9wZW4sIEZvcmtpbmdQaWNrbGVyCiAKICMKICMgUmVnaXN0ZXIgc29tZSB0aGluZ3MgZm9yIHBpY2tsaW5nCkBAIC0xMDcwLDExICsxMDY2LDEyIEBACiAKIFBvb2xQcm94eSA9IE1ha2VQcm94eVR5cGUoJ1Bvb2xQcm94eScsICgKICAgICAnYXBwbHknLCAnYXBwbHlfYXN5bmMnLCAnY2xvc2UnLCAnaW1hcCcsICdpbWFwX3Vub3JkZXJlZCcsICdqb2luJywKLSAgICAnbWFwJywgJ21hcF9hc3luYycsICd0ZXJtaW5hdGUnCisgICAgJ21hcCcsICdtYXBfYXN5bmMnLCAnc3Rhcm1hcCcsICdzdGFybWFwX2FzeW5jJywgJ3Rlcm1pbmF0ZScKICAgICApKQogUG9vbFByb3h5Ll9tZXRob2RfdG9fdHlwZWlkXyA9IHsKICAgICAnYXBwbHlfYXN5bmMnOiAnQXN5bmNSZXN1bHQnLAogICAgICdtYXBfYXN5bmMnOiAnQXN5bmNSZXN1bHQnLAorICAgICdzdGFybWFwX2FzeW5jJzogJ0FzeW5jUmVzdWx0JywKICAgICAnaW1hcCc6ICdJdGVyYXRvcicsCiAgICAgJ2ltYXBfdW5vcmRlcmVkJzogJ0l0ZXJhdG9yJwogICAgIH0KZGlmZiAtLWdpdCBhL0xpYi9tdWx0aXByb2Nlc3NpbmcvcG9vbC5weSBiL0xpYi9tdWx0aXByb2Nlc3NpbmcvcG9vbC5weQppbmRleCAwYzI5ZTY0Li43MDM5ZDE2IDEwMDY0NAotLS0gYS9MaWIvbXVsdGlwcm9jZXNzaW5nL3Bvb2wucHkKKysrIGIvTGliL211bHRpcHJvY2Vzc2luZy9wb29sLnB5CkBAIC02NCw2ICs2NCw5IEBACiBkZWYgbWFwc3RhcihhcmdzKToKICAgICByZXR1cm4gbGlzdChtYXAoKmFyZ3MpKQogCitkZWYgc3Rhcm1hcHN0YXIoYXJncyk6CisgICAgcmV0dXJuIGxpc3QoaXRlcnRvb2xzLnN0YXJtYXAoYXJnc1swXSwgYXJnc1sxXSkpCisKICMKICMgQ29kZSBydW4gYnkgd29ya2VyIHByb2Nlc3NlcwogIwpAQCAtMjQ4LDcgKzI1MSwyNSBAQAogICAgICAgICBpbiBhIGxpc3QgdGhhdCBpcyByZXR1cm5lZC4KICAgICAgICAgJycnCiAgICAgICAgIGFzc2VydCBzZWxmLl9zdGF0ZSA9PSBSVU4KLSAgICAgICAgcmV0dXJuIHNlbGYubWFwX2FzeW5jKGZ1bmMsIGl0ZXJhYmxlLCBjaHVua3NpemUpLmdldCgpCisgICAgICAgIHJldHVybiBzZWxmLl9tYXBfYXN5bmMoZnVuYywgaXRlcmFibGUsIG1hcHN0YXIsIGNodW5rc2l6ZSkuZ2V0KCkKKworICAgIGRlZiBzdGFybWFwKHNlbGYsIGZ1bmMsIGl0ZXJhYmxlLCBjaHVua3NpemU9Tm9uZSk6CisgICAgICAgICcnJworICAgICAgICBMaWtlIGBtYXAoKWAgbWV0aG9kIGJ1dCB0aGUgZWxlbWVudHMgb2YgdGhlIGBpdGVyYWJsZWAgYXJlIGV4cGVjdGVkIHRvCisgICAgICAgIGJlIGl0ZXJhYmxlcyBhcyB3ZWxsIGFuZCB3aWxsIGJlIHVucGFja2VkIGFzIGFyZ3VtZW50cy4gSGVuY2UKKyAgICAgICAgYGZ1bmNgIGFuZCAoYSwgYikgYmVjb21lcyBmdW5jKGEsIGIpLgorICAgICAgICAnJycKKyAgICAgICAgYXNzZXJ0IHNlbGYuX3N0YXRlID09IFJVTgorICAgICAgICByZXR1cm4gc2VsZi5fbWFwX2FzeW5jKGZ1bmMsIGl0ZXJhYmxlLCBzdGFybWFwc3RhciwgY2h1bmtzaXplKS5nZXQoKQorCisgICAgZGVmIHN0YXJtYXBfYXN5bmMoc2VsZiwgZnVuYywgaXRlcmFibGUsIGNodW5rc2l6ZT1Ob25lLCBjYWxsYmFjaz1Ob25lLAorICAgICAgICAgICAgZXJyb3JfY2FsbGJhY2s9Tm9uZSk6CisgICAgICAgICcnJworICAgICAgICBBc3luY2hyb25vdXMgdmVyc2lvbiBvZiBgc3Rhcm1hcCgpYCBtZXRob2QuCisgICAgICAgICcnJworICAgICAgICBhc3NlcnQgc2VsZi5fc3RhdGUgPT0gUlVOCisgICAgICAgIHJldHVybiBzZWxmLl9tYXBfYXN5bmMoZnVuYywgaXRlcmFibGUsIHN0YXJtYXBzdGFyLCBjaHVua3NpemUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2ssIGVycm9yX2NhbGxiYWNrKQogCiAgICAgZGVmIGltYXAoc2VsZiwgZnVuYywgaXRlcmFibGUsIGNodW5rc2l6ZT0xKToKICAgICAgICAgJycnCkBAIC0zMDIsNiArMzIzLDEzIEBACiAgICAgICAgIEFzeW5jaHJvbm91cyB2ZXJzaW9uIG9mIGBtYXAoKWAgbWV0aG9kLgogICAgICAgICAnJycKICAgICAgICAgYXNzZXJ0IHNlbGYuX3N0YXRlID09IFJVTgorICAgICAgICByZXR1cm4gc2VsZi5fbWFwX2FzeW5jKGZ1bmMsIGl0ZXJhYmxlLCBtYXBzdGFyLCBjaHVua3NpemUpCisKKyAgICBkZWYgX21hcF9hc3luYyhzZWxmLCBmdW5jLCBpdGVyYWJsZSwgbWFwcGVyLCBjaHVua3NpemU9Tm9uZSwgY2FsbGJhY2s9Tm9uZSwKKyAgICAgICAgICAgIGVycm9yX2NhbGxiYWNrPU5vbmUpOgorICAgICAgICAnJycKKyAgICAgICAgSGVscGVyIGZ1bmN0aW9uIHRvIGltcGxlbWVudCBtYXAsIHN0YXJtYXAgYW5kIHRoZWlyIGFzeW5jIGNvdW50ZXJwYXJ0cy4KKyAgICAgICAgJycnCiAgICAgICAgIGlmIG5vdCBoYXNhdHRyKGl0ZXJhYmxlLCAnX19sZW5fXycpOgogICAgICAgICAgICAgaXRlcmFibGUgPSBsaXN0KGl0ZXJhYmxlKQogCkBAIC0zMTUsNyArMzQzLDcgQEAKICAgICAgICAgdGFza19iYXRjaGVzID0gUG9vbC5fZ2V0X3Rhc2tzKGZ1bmMsIGl0ZXJhYmxlLCBjaHVua3NpemUpCiAgICAgICAgIHJlc3VsdCA9IE1hcFJlc3VsdChzZWxmLl9jYWNoZSwgY2h1bmtzaXplLCBsZW4oaXRlcmFibGUpLCBjYWxsYmFjaywKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yX2NhbGxiYWNrPWVycm9yX2NhbGxiYWNrKQotICAgICAgICBzZWxmLl90YXNrcXVldWUucHV0KCgoKHJlc3VsdC5fam9iLCBpLCBtYXBzdGFyLCAoeCwpLCB7fSkKKyAgICAgICAgc2VsZi5fdGFza3F1ZXVlLnB1dCgoKChyZXN1bHQuX2pvYiwgaSwgbWFwcGVyLCAoeCwpLCB7fSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciBpLCB4IGluIGVudW1lcmF0ZSh0YXNrX2JhdGNoZXMpKSwgTm9uZSkpCiAgICAgICAgIHJldHVybiByZXN1bHQKIApkaWZmIC0tZ2l0IGEvTGliL211bHRpcHJvY2Vzc2luZy9wcm9jZXNzLnB5IGIvTGliL211bHRpcHJvY2Vzc2luZy9wcm9jZXNzLnB5CmluZGV4IDJiNjFlZTkuLmI1OTlmMTEgMTAwNjQ0Ci0tLSBhL0xpYi9tdWx0aXByb2Nlc3NpbmcvcHJvY2Vzcy5weQorKysgYi9MaWIvbXVsdGlwcm9jZXNzaW5nL3Byb2Nlc3MucHkKQEAgLTkyLDEyICs5MiwxNiBAQAogICAgICcnJwogICAgIF9Qb3BlbiA9IE5vbmUKIAotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBncm91cD1Ob25lLCB0YXJnZXQ9Tm9uZSwgbmFtZT1Ob25lLCBhcmdzPSgpLCBrd2FyZ3M9e30pOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBncm91cD1Ob25lLCB0YXJnZXQ9Tm9uZSwgbmFtZT1Ob25lLCBhcmdzPSgpLCBrd2FyZ3M9e30sCisgICAgICAgICAgICAgICAgICosIGRhZW1vbj1Ob25lKToKICAgICAgICAgYXNzZXJ0IGdyb3VwIGlzIE5vbmUsICdncm91cCBhcmd1bWVudCBtdXN0IGJlIE5vbmUgZm9yIG5vdycKICAgICAgICAgY291bnQgPSBuZXh0KF9jdXJyZW50X3Byb2Nlc3MuX2NvdW50ZXIpCiAgICAgICAgIHNlbGYuX2lkZW50aXR5ID0gX2N1cnJlbnRfcHJvY2Vzcy5faWRlbnRpdHkgKyAoY291bnQsKQogICAgICAgICBzZWxmLl9hdXRoa2V5ID0gX2N1cnJlbnRfcHJvY2Vzcy5fYXV0aGtleQotICAgICAgICBzZWxmLl9kYWVtb25pYyA9IF9jdXJyZW50X3Byb2Nlc3MuX2RhZW1vbmljCisgICAgICAgIGlmIGRhZW1vbiBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIHNlbGYuX2RhZW1vbmljID0gZGFlbW9uCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzZWxmLl9kYWVtb25pYyA9IF9jdXJyZW50X3Byb2Nlc3MuX2RhZW1vbmljCiAgICAgICAgIHNlbGYuX3RlbXBkaXIgPSBfY3VycmVudF9wcm9jZXNzLl90ZW1wZGlyCiAgICAgICAgIHNlbGYuX3BhcmVudF9waWQgPSBvcy5nZXRwaWQoKQogICAgICAgICBzZWxmLl9wb3BlbiA9IE5vbmUKQEAgLTEzMCw2ICsxMzQsNyBAQAogICAgICAgICBlbHNlOgogICAgICAgICAgICAgZnJvbSAuZm9ya2luZyBpbXBvcnQgUG9wZW4KICAgICAgICAgc2VsZi5fcG9wZW4gPSBQb3BlbihzZWxmKQorICAgICAgICBzZWxmLl9zZW50aW5lbCA9IHNlbGYuX3BvcGVuLnNlbnRpbmVsCiAgICAgICAgIF9jdXJyZW50X3Byb2Nlc3MuX2NoaWxkcmVuLmFkZChzZWxmKQogCiAgICAgZGVmIHRlcm1pbmF0ZShzZWxmKToKQEAgLTIxNiw2ICsyMjEsMTcgQEAKIAogICAgIHBpZCA9IGlkZW50CiAKKyAgICBAcHJvcGVydHkKKyAgICBkZWYgc2VudGluZWwoc2VsZik6CisgICAgICAgICcnJworICAgICAgICBSZXR1cm4gYSBmaWxlIGRlc2NyaXB0b3IgKFVuaXgpIG9yIGhhbmRsZSAoV2luZG93cykgc3VpdGFibGUgZm9yCisgICAgICAgIHdhaXRpbmcgZm9yIHByb2Nlc3MgdGVybWluYXRpb24uCisgICAgICAgICcnJworICAgICAgICB0cnk6CisgICAgICAgICAgICByZXR1cm4gc2VsZi5fc2VudGluZWwKKyAgICAgICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yOgorICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigicHJvY2VzcyBub3Qgc3RhcnRlZCIpCisKICAgICBkZWYgX19yZXByX18oc2VsZik6CiAgICAgICAgIGlmIHNlbGYgaXMgX2N1cnJlbnRfcHJvY2VzczoKICAgICAgICAgICAgIHN0YXR1cyA9ICdzdGFydGVkJwpkaWZmIC0tZ2l0IGEvTGliL211bHRpcHJvY2Vzc2luZy9xdWV1ZXMucHkgYi9MaWIvbXVsdGlwcm9jZXNzaW5nL3F1ZXVlcy5weQppbmRleCA1MWQ5OTEyLi4yNjJmZDg1IDEwMDY0NAotLS0gYS9MaWIvbXVsdGlwcm9jZXNzaW5nL3F1ZXVlcy5weQorKysgYi9MaWIvbXVsdGlwcm9jZXNzaW5nL3F1ZXVlcy5weQpAQCAtMzksMTIgKzM5LDEyIEBACiBpbXBvcnQgdGhyZWFkaW5nCiBpbXBvcnQgY29sbGVjdGlvbnMKIGltcG9ydCB0aW1lCi1pbXBvcnQgYXRleGl0CiBpbXBvcnQgd2Vha3JlZgoraW1wb3J0IGVycm5vCiAKIGZyb20gcXVldWUgaW1wb3J0IEVtcHR5LCBGdWxsCiBpbXBvcnQgX211bHRpcHJvY2Vzc2luZwotZnJvbSBtdWx0aXByb2Nlc3NpbmcgaW1wb3J0IFBpcGUKK2Zyb20gbXVsdGlwcm9jZXNzaW5nLmNvbm5lY3Rpb24gaW1wb3J0IFBpcGUKIGZyb20gbXVsdGlwcm9jZXNzaW5nLnN5bmNocm9uaXplIGltcG9ydCBMb2NrLCBCb3VuZGVkU2VtYXBob3JlLCBTZW1hcGhvcmUsIENvbmRpdGlvbgogZnJvbSBtdWx0aXByb2Nlc3NpbmcudXRpbCBpbXBvcnQgZGVidWcsIGluZm8sIEZpbmFsaXplLCByZWdpc3Rlcl9hZnRlcl9mb3JrCiBmcm9tIG11bHRpcHJvY2Vzc2luZy5mb3JraW5nIGltcG9ydCBhc3NlcnRfc3Bhd25pbmcKQEAgLTY3LDYgKzY3LDggQEAKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHNlbGYuX3dsb2NrID0gTG9jaygpCiAgICAgICAgIHNlbGYuX3NlbSA9IEJvdW5kZWRTZW1hcGhvcmUobWF4c2l6ZSkKKyAgICAgICAgIyBGb3IgdXNlIGJ5IGNvbmN1cnJlbnQuZnV0dXJlcworICAgICAgICBzZWxmLl9pZ25vcmVfZXBpcGUgPSBGYWxzZQogCiAgICAgICAgIHNlbGYuX2FmdGVyX2ZvcmsoKQogCkBAIC03NSwxMSArNzcsMTEgQEAKIAogICAgIGRlZiBfX2dldHN0YXRlX18oc2VsZik6CiAgICAgICAgIGFzc2VydF9zcGF3bmluZyhzZWxmKQotICAgICAgICByZXR1cm4gKHNlbGYuX21heHNpemUsIHNlbGYuX3JlYWRlciwgc2VsZi5fd3JpdGVyLAorICAgICAgICByZXR1cm4gKHNlbGYuX2lnbm9yZV9lcGlwZSwgc2VsZi5fbWF4c2l6ZSwgc2VsZi5fcmVhZGVyLCBzZWxmLl93cml0ZXIsCiAgICAgICAgICAgICAgICAgc2VsZi5fcmxvY2ssIHNlbGYuX3dsb2NrLCBzZWxmLl9zZW0sIHNlbGYuX29waWQpCiAKICAgICBkZWYgX19zZXRzdGF0ZV9fKHNlbGYsIHN0YXRlKToKLSAgICAgICAgKHNlbGYuX21heHNpemUsIHNlbGYuX3JlYWRlciwgc2VsZi5fd3JpdGVyLAorICAgICAgICAoc2VsZi5faWdub3JlX2VwaXBlLCBzZWxmLl9tYXhzaXplLCBzZWxmLl9yZWFkZXIsIHNlbGYuX3dyaXRlciwKICAgICAgICAgIHNlbGYuX3Jsb2NrLCBzZWxmLl93bG9jaywgc2VsZi5fc2VtLCBzZWxmLl9vcGlkKSA9IHN0YXRlCiAgICAgICAgIHNlbGYuX2FmdGVyX2ZvcmsoKQogCkBAIC0xODIsNyArMTg0LDcgQEAKICAgICAgICAgc2VsZi5fdGhyZWFkID0gdGhyZWFkaW5nLlRocmVhZCgKICAgICAgICAgICAgIHRhcmdldD1RdWV1ZS5fZmVlZCwKICAgICAgICAgICAgIGFyZ3M9KHNlbGYuX2J1ZmZlciwgc2VsZi5fbm90ZW1wdHksIHNlbGYuX3NlbmQsCi0gICAgICAgICAgICAgICAgICBzZWxmLl93bG9jaywgc2VsZi5fd3JpdGVyLmNsb3NlKSwKKyAgICAgICAgICAgICAgICAgIHNlbGYuX3dsb2NrLCBzZWxmLl93cml0ZXIuY2xvc2UsIHNlbGYuX2lnbm9yZV9lcGlwZSksCiAgICAgICAgICAgICBuYW1lPSdRdWV1ZUZlZWRlclRocmVhZCcKICAgICAgICAgICAgICkKICAgICAgICAgc2VsZi5fdGhyZWFkLmRhZW1vbiA9IFRydWUKQEAgLTIzMyw3ICsyMzUsNyBAQAogICAgICAgICAgICAgbm90ZW1wdHkucmVsZWFzZSgpCiAKICAgICBAc3RhdGljbWV0aG9kCi0gICAgZGVmIF9mZWVkKGJ1ZmZlciwgbm90ZW1wdHksIHNlbmQsIHdyaXRlbG9jaywgY2xvc2UpOgorICAgIGRlZiBfZmVlZChidWZmZXIsIG5vdGVtcHR5LCBzZW5kLCB3cml0ZWxvY2ssIGNsb3NlLCBpZ25vcmVfZXBpcGUpOgogICAgICAgICBkZWJ1Zygnc3RhcnRpbmcgdGhyZWFkIHRvIGZlZWQgZGF0YSB0byBwaXBlJykKICAgICAgICAgZnJvbSAudXRpbCBpbXBvcnQgaXNfZXhpdGluZwogCkBAIC0yNzUsNiArMjc3LDggQEAKICAgICAgICAgICAgICAgICBleGNlcHQgSW5kZXhFcnJvcjoKICAgICAgICAgICAgICAgICAgICAgcGFzcwogICAgICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CisgICAgICAgICAgICBpZiBpZ25vcmVfZXBpcGUgYW5kIGdldGF0dHIoZSwgJ2Vycm5vJywgMCkgPT0gZXJybm8uRVBJUEU6CisgICAgICAgICAgICAgICAgcmV0dXJuCiAgICAgICAgICAgICAjIFNpbmNlIHRoaXMgcnVucyBpbiBhIGRhZW1vbiB0aHJlYWQgdGhlIHJlc291cmNlcyBpdCB1c2VzCiAgICAgICAgICAgICAjIG1heSBiZSBiZWNvbWUgdW51c2FibGUgd2hpbGUgdGhlIHByb2Nlc3MgaXMgY2xlYW5pbmcgdXAuCiAgICAgICAgICAgICAjIFdlIGlnbm9yZSBlcnJvcnMgd2hpY2ggaGFwcGVuIGFmdGVyIHRoZSBwcm9jZXNzIGhhcwpAQCAtMzU2LDYgKzM2MCw3IEBACiAgICAgZGVmIF9faW5pdF9fKHNlbGYpOgogICAgICAgICBzZWxmLl9yZWFkZXIsIHNlbGYuX3dyaXRlciA9IFBpcGUoZHVwbGV4PUZhbHNlKQogICAgICAgICBzZWxmLl9ybG9jayA9IExvY2soKQorICAgICAgICBzZWxmLl9wb2xsID0gc2VsZi5fcmVhZGVyLnBvbGwKICAgICAgICAgaWYgc3lzLnBsYXRmb3JtID09ICd3aW4zMic6CiAgICAgICAgICAgICBzZWxmLl93bG9jayA9IE5vbmUKICAgICAgICAgZWxzZToKQEAgLTM2Myw3ICszNjgsNyBAQAogICAgICAgICBzZWxmLl9tYWtlX21ldGhvZHMoKQogCiAgICAgZGVmIGVtcHR5KHNlbGYpOgotICAgICAgICByZXR1cm4gbm90IHNlbGYuX3JlYWRlci5wb2xsKCkKKyAgICAgICAgcmV0dXJuIG5vdCBzZWxmLl9wb2xsKCkKIAogICAgIGRlZiBfX2dldHN0YXRlX18oc2VsZik6CiAgICAgICAgIGFzc2VydF9zcGF3bmluZyhzZWxmKQpkaWZmIC0tZ2l0IGEvTGliL211bHRpcHJvY2Vzc2luZy9yZWR1Y3Rpb24ucHkgYi9MaWIvbXVsdGlwcm9jZXNzaW5nL3JlZHVjdGlvbi5weQppbmRleCA2ZTVlNWJjLi5kZGE0YTQxIDEwMDY0NAotLS0gYS9MaWIvbXVsdGlwcm9jZXNzaW5nL3JlZHVjdGlvbi5weQorKysgYi9MaWIvbXVsdGlwcm9jZXNzaW5nL3JlZHVjdGlvbi5weQpAQCAtMzksMTkgKzM5LDIwIEBACiBpbXBvcnQgc3lzCiBpbXBvcnQgc29ja2V0CiBpbXBvcnQgdGhyZWFkaW5nCitpbXBvcnQgc3RydWN0CiAKLWltcG9ydCBfbXVsdGlwcm9jZXNzaW5nCiBmcm9tIG11bHRpcHJvY2Vzc2luZyBpbXBvcnQgY3VycmVudF9wcm9jZXNzCiBmcm9tIG11bHRpcHJvY2Vzc2luZy5mb3JraW5nIGltcG9ydCBQb3BlbiwgZHVwbGljYXRlLCBjbG9zZSwgRm9ya2luZ1BpY2tsZXIKIGZyb20gbXVsdGlwcm9jZXNzaW5nLnV0aWwgaW1wb3J0IHJlZ2lzdGVyX2FmdGVyX2ZvcmssIGRlYnVnLCBzdWJfZGVidWcKLWZyb20gbXVsdGlwcm9jZXNzaW5nLmNvbm5lY3Rpb24gaW1wb3J0IENsaWVudCwgTGlzdGVuZXIKK2Zyb20gbXVsdGlwcm9jZXNzaW5nLmNvbm5lY3Rpb24gaW1wb3J0IENsaWVudCwgTGlzdGVuZXIsIENvbm5lY3Rpb24KIAogCiAjCiAjCiAjCiAKLWlmIG5vdChzeXMucGxhdGZvcm0gPT0gJ3dpbjMyJyBvciBoYXNhdHRyKF9tdWx0aXByb2Nlc3NpbmcsICdyZWN2ZmQnKSk6CitpZiBub3Qoc3lzLnBsYXRmb3JtID09ICd3aW4zMicgb3IgKGhhc2F0dHIoc29ja2V0LCAnQ01TR19MRU4nKSBhbmQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFzYXR0cihzb2NrZXQsICdTQ01fUklHSFRTJykpKToKICAgICByYWlzZSBJbXBvcnRFcnJvcigncGlja2xpbmcgb2YgY29ubmVjdGlvbnMgbm90IHN1cHBvcnRlZCcpCiAKICMKQEAgLTU5LDcgKzYwLDYgQEAKICMKIAogaWYgc3lzLnBsYXRmb3JtID09ICd3aW4zMic6Ci0gICAgaW1wb3J0IF9zdWJwcm9jZXNzCiAgICAgZnJvbSBfbXVsdGlwcm9jZXNzaW5nIGltcG9ydCB3aW4zMgogCiAgICAgZGVmIHNlbmRfaGFuZGxlKGNvbm4sIGhhbmRsZSwgZGVzdGluYXRpb25fcGlkKToKQEAgLTc3LDEwICs3NywyMyBAQAogCiBlbHNlOgogICAgIGRlZiBzZW5kX2hhbmRsZShjb25uLCBoYW5kbGUsIGRlc3RpbmF0aW9uX3BpZCk6Ci0gICAgICAgIF9tdWx0aXByb2Nlc3Npbmcuc2VuZGZkKGNvbm4uZmlsZW5vKCksIGhhbmRsZSkKKyAgICAgICAgd2l0aCBzb2NrZXQuZnJvbWZkKGNvbm4uZmlsZW5vKCksIHNvY2tldC5BRl9VTklYLCBzb2NrZXQuU09DS19TVFJFQU0pIGFzIHM6CisgICAgICAgICAgICBzLnNlbmRtc2coW2IneCddLCBbKHNvY2tldC5TT0xfU09DS0VULCBzb2NrZXQuU0NNX1JJR0hUUywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0LnBhY2soIkBpIiwgaGFuZGxlKSldKQogCiAgICAgZGVmIHJlY3ZfaGFuZGxlKGNvbm4pOgotICAgICAgICByZXR1cm4gX211bHRpcHJvY2Vzc2luZy5yZWN2ZmQoY29ubi5maWxlbm8oKSkKKyAgICAgICAgc2l6ZSA9IHN0cnVjdC5jYWxjc2l6ZSgiQGkiKQorICAgICAgICB3aXRoIHNvY2tldC5mcm9tZmQoY29ubi5maWxlbm8oKSwgc29ja2V0LkFGX1VOSVgsIHNvY2tldC5TT0NLX1NUUkVBTSkgYXMgczoKKyAgICAgICAgICAgIG1zZywgYW5jZGF0YSwgZmxhZ3MsIGFkZHIgPSBzLnJlY3Ztc2coMSwgc29ja2V0LkNNU0dfTEVOKHNpemUpKQorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIGNtc2dfbGV2ZWwsIGNtc2dfdHlwZSwgY21zZ19kYXRhID0gYW5jZGF0YVswXQorICAgICAgICAgICAgICAgIGlmIChjbXNnX2xldmVsID09IHNvY2tldC5TT0xfU09DS0VUIGFuZAorICAgICAgICAgICAgICAgICAgICBjbXNnX3R5cGUgPT0gc29ja2V0LlNDTV9SSUdIVFMpOgorICAgICAgICAgICAgICAgICAgICByZXR1cm4gc3RydWN0LnVucGFjaygiQGkiLCBjbXNnX2RhdGFbOnNpemVdKVswXQorICAgICAgICAgICAgZXhjZXB0IChWYWx1ZUVycm9yLCBJbmRleEVycm9yLCBzdHJ1Y3QuZXJyb3IpOgorICAgICAgICAgICAgICAgIHBhc3MKKyAgICAgICAgICAgIHJhaXNlIFJ1bnRpbWVFcnJvcignSW52YWxpZCBkYXRhIHJlY2VpdmVkJykKKwogCiAjCiAjIFN1cHBvcnQgZm9yIGEgcGVyLXByb2Nlc3Mgc2VydmVyIHRocmVhZCB3aGljaCBjYWNoZXMgcGlja2xlZCBoYW5kbGVzCkBAIC0xNTksNyArMTcyLDcgQEAKICAgICByZXR1cm4gbmV3X2hhbmRsZQogCiAjCi0jIFJlZ2lzdGVyIGBfbXVsdGlwcm9jZXNzaW5nLkNvbm5lY3Rpb25gIHdpdGggYEZvcmtpbmdQaWNrbGVyYAorIyBSZWdpc3RlciBgQ29ubmVjdGlvbmAgd2l0aCBgRm9ya2luZ1BpY2tsZXJgCiAjCiAKIGRlZiByZWR1Y2VfY29ubmVjdGlvbihjb25uKToKQEAgLTE2OCwxMSArMTgxLDExIEBACiAKIGRlZiByZWJ1aWxkX2Nvbm5lY3Rpb24ocmVkdWNlZF9oYW5kbGUsIHJlYWRhYmxlLCB3cml0YWJsZSk6CiAgICAgaGFuZGxlID0gcmVidWlsZF9oYW5kbGUocmVkdWNlZF9oYW5kbGUpCi0gICAgcmV0dXJuIF9tdWx0aXByb2Nlc3NpbmcuQ29ubmVjdGlvbigKKyAgICByZXR1cm4gQ29ubmVjdGlvbigKICAgICAgICAgaGFuZGxlLCByZWFkYWJsZT1yZWFkYWJsZSwgd3JpdGFibGU9d3JpdGFibGUKICAgICAgICAgKQogCi1Gb3JraW5nUGlja2xlci5yZWdpc3RlcihfbXVsdGlwcm9jZXNzaW5nLkNvbm5lY3Rpb24sIHJlZHVjZV9jb25uZWN0aW9uKQorRm9ya2luZ1BpY2tsZXIucmVnaXN0ZXIoQ29ubmVjdGlvbiwgcmVkdWNlX2Nvbm5lY3Rpb24pCiAKICMKICMgUmVnaXN0ZXIgYHNvY2tldC5zb2NrZXRgIHdpdGggYEZvcmtpbmdQaWNrbGVyYApAQCAtMjAxLDYgKzIxNCw3IEBACiAjCiAKIGlmIHN5cy5wbGF0Zm9ybSA9PSAnd2luMzInOgorICAgIGZyb20gbXVsdGlwcm9jZXNzaW5nLmNvbm5lY3Rpb24gaW1wb3J0IFBpcGVDb25uZWN0aW9uCiAKICAgICBkZWYgcmVkdWNlX3BpcGVfY29ubmVjdGlvbihjb25uKToKICAgICAgICAgcmggPSByZWR1Y2VfaGFuZGxlKGNvbm4uZmlsZW5vKCkpCkBAIC0yMDgsOCArMjIyLDggQEAKIAogICAgIGRlZiByZWJ1aWxkX3BpcGVfY29ubmVjdGlvbihyZWR1Y2VkX2hhbmRsZSwgcmVhZGFibGUsIHdyaXRhYmxlKToKICAgICAgICAgaGFuZGxlID0gcmVidWlsZF9oYW5kbGUocmVkdWNlZF9oYW5kbGUpCi0gICAgICAgIHJldHVybiBfbXVsdGlwcm9jZXNzaW5nLlBpcGVDb25uZWN0aW9uKAorICAgICAgICByZXR1cm4gUGlwZUNvbm5lY3Rpb24oCiAgICAgICAgICAgICBoYW5kbGUsIHJlYWRhYmxlPXJlYWRhYmxlLCB3cml0YWJsZT13cml0YWJsZQogICAgICAgICAgICAgKQogCi0gICAgRm9ya2luZ1BpY2tsZXIucmVnaXN0ZXIoX211bHRpcHJvY2Vzc2luZy5QaXBlQ29ubmVjdGlvbiwgcmVkdWNlX3BpcGVfY29ubmVjdGlvbikKKyAgICBGb3JraW5nUGlja2xlci5yZWdpc3RlcihQaXBlQ29ubmVjdGlvbiwgcmVkdWNlX3BpcGVfY29ubmVjdGlvbikKZGlmZiAtLWdpdCBhL0xpYi9tdWx0aXByb2Nlc3Npbmcvc2hhcmVkY3R5cGVzLnB5IGIvTGliL211bHRpcHJvY2Vzc2luZy9zaGFyZWRjdHlwZXMucHkKaW5kZXggMWU2OTRkYS4uNTgyNjM3OSAxMDA2NDQKLS0tIGEvTGliL211bHRpcHJvY2Vzc2luZy9zaGFyZWRjdHlwZXMucHkKKysrIGIvTGliL211bHRpcHJvY2Vzc2luZy9zaGFyZWRjdHlwZXMucHkKQEAgLTMyLDcgKzMyLDYgQEAKICMgU1VDSCBEQU1BR0UuCiAjCiAKLWltcG9ydCBzeXMKIGltcG9ydCBjdHlwZXMKIGltcG9ydCB3ZWFrcmVmCiAKZGlmZiAtLWdpdCBhL0xpYi9tdWx0aXByb2Nlc3Npbmcvc3luY2hyb25pemUucHkgYi9MaWIvbXVsdGlwcm9jZXNzaW5nL3N5bmNocm9uaXplLnB5CmluZGV4IDcwYWU4MjUuLmUzNWJiZmYgMTAwNjQ0Ci0tLSBhL0xpYi9tdWx0aXByb2Nlc3Npbmcvc3luY2hyb25pemUucHkKKysrIGIvTGliL211bHRpcHJvY2Vzc2luZy9zeW5jaHJvbml6ZS5weQpAQCAtMzcsMTQgKzM3LDExIEBACiAgICAgXQogCiBpbXBvcnQgdGhyZWFkaW5nCi1pbXBvcnQgb3MKIGltcG9ydCBzeXMKIAotZnJvbSB0aW1lIGltcG9ydCB0aW1lIGFzIF90aW1lLCBzbGVlcCBhcyBfc2xlZXAKLQogaW1wb3J0IF9tdWx0aXByb2Nlc3NpbmcKIGZyb20gbXVsdGlwcm9jZXNzaW5nLnByb2Nlc3MgaW1wb3J0IGN1cnJlbnRfcHJvY2VzcwotZnJvbSBtdWx0aXByb2Nlc3NpbmcudXRpbCBpbXBvcnQgRmluYWxpemUsIHJlZ2lzdGVyX2FmdGVyX2ZvcmssIGRlYnVnCitmcm9tIG11bHRpcHJvY2Vzc2luZy51dGlsIGltcG9ydCByZWdpc3Rlcl9hZnRlcl9mb3JrLCBkZWJ1ZwogZnJvbSBtdWx0aXByb2Nlc3NpbmcuZm9ya2luZyBpbXBvcnQgYXNzZXJ0X3NwYXduaW5nLCBQb3BlbgogCiAjIFRyeSB0byBpbXBvcnQgdGhlIG1wLnN5bmNocm9uaXplIG1vZHVsZSBjbGVhbmx5LCBpZiBpdCBmYWlscwpkaWZmIC0tZ2l0IGEvTGliL211bHRpcHJvY2Vzc2luZy91dGlsLnB5IGIvTGliL211bHRpcHJvY2Vzc2luZy91dGlsLnB5CmluZGV4IDMwYjdhODUuLjBiYmI4N2UgMTAwNjQ0Ci0tLSBhL0xpYi9tdWx0aXByb2Nlc3NpbmcvdXRpbC5weQorKysgYi9MaWIvbXVsdGlwcm9jZXNzaW5nL3V0aWwucHkKQEAgLTMyLDYgKzMyLDcgQEAKICMgU1VDSCBEQU1BR0UuCiAjCiAKK2ltcG9ydCBmdW5jdG9vbHMKIGltcG9ydCBpdGVydG9vbHMKIGltcG9ydCB3ZWFrcmVmCiBpbXBvcnQgYXRleGl0CkBAIC04NCw3ICs4NSw3IEBACiAgICAgUmV0dXJucyBsb2dnZXIgdXNlZCBieSBtdWx0aXByb2Nlc3NpbmcKICAgICAnJycKICAgICBnbG9iYWwgX2xvZ2dlcgotICAgIGltcG9ydCBsb2dnaW5nLCBhdGV4aXQKKyAgICBpbXBvcnQgbG9nZ2luZwogCiAgICAgbG9nZ2luZy5fYWNxdWlyZUxvY2soKQogICAgIHRyeToKQEAgLTE4Niw3ICsxODcsMTEgQEAKIAogICAgICAgICBfZmluYWxpemVyX3JlZ2lzdHJ5W3NlbGYuX2tleV0gPSBzZWxmCiAKLSAgICBkZWYgX19jYWxsX18oc2VsZiwgd3I9Tm9uZSk6CisgICAgZGVmIF9fY2FsbF9fKHNlbGYsIHdyPU5vbmUsCisgICAgICAgICAgICAgICAgICMgTmVlZCB0byBiaW5kIHRoZXNlIGxvY2FsbHkgYmVjYXVzZSB0aGUgZ2xvYmFscyBjYW4gaGF2ZQorICAgICAgICAgICAgICAgICAjIGJlZW4gY2xlYXJlZCBhdCBzaHV0ZG93bgorICAgICAgICAgICAgICAgICBfZmluYWxpemVyX3JlZ2lzdHJ5PV9maW5hbGl6ZXJfcmVnaXN0cnksCisgICAgICAgICAgICAgICAgIHN1Yl9kZWJ1Zz1zdWJfZGVidWcpOgogICAgICAgICAnJycKICAgICAgICAgUnVuIHRoZSBjYWxsYmFjayB1bmxlc3MgaXQgaGFzIGFscmVhZHkgYmVlbiBjYWxsZWQgb3IgY2FuY2VsbGVkCiAgICAgICAgICcnJwpAQCAtMzE1LDMgKzMyMCwxOCBAQAogICAgICAgICByZWdpc3Rlcl9hZnRlcl9mb3JrKHNlbGYsIGxhbWJkYSBvYmogOiBvYmouX19kaWN0X18uY2xlYXIoKSkKICAgICBkZWYgX19yZWR1Y2VfXyhzZWxmKToKICAgICAgICAgcmV0dXJuIHR5cGUoc2VsZiksICgpCisKKworIworIyBBdXRvbWF0aWMgcmV0cnkgYWZ0ZXIgRUlOVFIKKyMKKworZGVmIF9laW50cl9yZXRyeShmdW5jKToKKyAgICBAZnVuY3Rvb2xzLndyYXBzKGZ1bmMpCisgICAgZGVmIHdyYXBwZWQoKmFyZ3MsICoqa3dhcmdzKToKKyAgICAgICAgd2hpbGUgVHJ1ZToKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICByZXR1cm4gZnVuYygqYXJncywgKiprd2FyZ3MpCisgICAgICAgICAgICBleGNlcHQgSW50ZXJydXB0ZWRFcnJvcjoKKyAgICAgICAgICAgICAgICBjb250aW51ZQorICAgIHJldHVybiB3cmFwcGVkCmRpZmYgLS1naXQgYS9MaWIvbm50cGxpYi5weSBiL0xpYi9ubnRwbGliLnB5CmluZGV4IDMyYmZmZDguLmViMTYyMDYgMTAwNjQ0Ci0tLSBhL0xpYi9ubnRwbGliLnB5CisrKyBiL0xpYi9ubnRwbGliLnB5CkBAIC0zNTEsNiArMzUxLDIwIEBACiAgICAgICAgICMgTG9nIGluIGFuZCBlbmNyeXB0aW9uIHNldHVwIG9yZGVyIGlzIGxlZnQgdG8gc3ViY2xhc3Nlcy4KICAgICAgICAgc2VsZi5hdXRoZW50aWNhdGVkID0gRmFsc2UKIAorICAgIGRlZiBfX2VudGVyX18oc2VsZik6CisgICAgICAgIHJldHVybiBzZWxmCisKKyAgICBkZWYgX19leGl0X18oc2VsZiwgKmFyZ3MpOgorICAgICAgICBpc19jb25uZWN0ZWQgPSBsYW1iZGE6IGhhc2F0dHIoc2VsZiwgImZpbGUiKQorICAgICAgICBpZiBpc19jb25uZWN0ZWQoKToKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBzZWxmLnF1aXQoKQorICAgICAgICAgICAgZXhjZXB0IChzb2NrZXQuZXJyb3IsIEVPRkVycm9yKToKKyAgICAgICAgICAgICAgICBwYXNzCisgICAgICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgICAgIGlmIGlzX2Nvbm5lY3RlZCgpOgorICAgICAgICAgICAgICAgICAgICBzZWxmLl9jbG9zZSgpCisKICAgICBkZWYgZ2V0d2VsY29tZShzZWxmKToKICAgICAgICAgIiIiR2V0IHRoZSB3ZWxjb21lIG1lc3NhZ2UgZnJvbSB0aGUgc2VydmVyCiAgICAgICAgICh0aGlzIGlzIHJlYWQgYW5kIHNxdWlycmVsZWQgYXdheSBieSBfX2luaXRfXygpKS4KQEAgLTgxOSw3ICs4MzMsNyBAQAogICAgICAgICAtIGxpc3Q6IGxpc3Qgb2YgKG5hbWUsdGl0bGUpIHN0cmluZ3MiIiIKICAgICAgICAgd2FybmluZ3Mud2FybigiVGhlIFhHVElUTEUgZXh0ZW5zaW9uIGlzIG5vdCBhY3RpdmVseSB1c2VkLCAiCiAgICAgICAgICAgICAgICAgICAgICAgInVzZSBkZXNjcmlwdGlvbnMoKSBpbnN0ZWFkIiwKLSAgICAgICAgICAgICAgICAgICAgICBQZW5kaW5nRGVwcmVjYXRpb25XYXJuaW5nLCAyKQorICAgICAgICAgICAgICAgICAgICAgIERlcHJlY2F0aW9uV2FybmluZywgMikKICAgICAgICAgbGluZV9wYXQgPSByZS5jb21waWxlKCdeKFteIFx0XSspWyBcdF0rKC4qKSQnKQogICAgICAgICByZXNwLCByYXdfbGluZXMgPSBzZWxmLl9sb25nY21kc3RyaW5nKCdYR1RJVExFICcgKyBncm91cCwgZmlsZSkKICAgICAgICAgbGluZXMgPSBbXQpAQCAtODM3LDcgKzg1MSw3IEBACiAgICAgICAgIHBhdGg6IGRpcmVjdG9yeSBwYXRoIHRvIGFydGljbGUKICAgICAgICAgIiIiCiAgICAgICAgIHdhcm5pbmdzLndhcm4oIlRoZSBYUEFUSCBleHRlbnNpb24gaXMgbm90IGFjdGl2ZWx5IHVzZWQiLAotICAgICAgICAgICAgICAgICAgICAgIFBlbmRpbmdEZXByZWNhdGlvbldhcm5pbmcsIDIpCisgICAgICAgICAgICAgICAgICAgICAgRGVwcmVjYXRpb25XYXJuaW5nLCAyKQogCiAgICAgICAgIHJlc3AgPSBzZWxmLl9zaG9ydGNtZCgnWFBBVEggezB9Jy5mb3JtYXQoaWQpKQogICAgICAgICBpZiBub3QgcmVzcC5zdGFydHN3aXRoKCcyMjMnKToKZGlmZiAtLWdpdCBhL0xpYi9udW1iZXJzLnB5IGIvTGliL251bWJlcnMucHkKaW5kZXggZWNmYWQ3Yy4uYjIwNjQ1NyAxMDA2NDQKLS0tIGEvTGliL251bWJlcnMucHkKKysrIGIvTGliL251bWJlcnMucHkKQEAgLTUsNyArNSw3IEBACiAKIFRPRE86IEZpbGwgb3V0IG1vcmUgZGV0YWlsZWQgZG9jdW1lbnRhdGlvbiBvbiB0aGUgb3BlcmF0b3JzLiIiIgogCi1mcm9tIGFiYyBpbXBvcnQgQUJDTWV0YSwgYWJzdHJhY3RtZXRob2QsIGFic3RyYWN0cHJvcGVydHkKK2Zyb20gYWJjIGltcG9ydCBBQkNNZXRhLCBhYnN0cmFjdG1ldGhvZAogCiBfX2FsbF9fID0gWyJOdW1iZXIiLCAiQ29tcGxleCIsICJSZWFsIiwgIlJhdGlvbmFsIiwgIkludGVncmFsIl0KIApAQCAtNTAsNyArNTAsOCBAQAogICAgICAgICAiIiJUcnVlIGlmIHNlbGYgIT0gMC4gQ2FsbGVkIGZvciBib29sKHNlbGYpLiIiIgogICAgICAgICByZXR1cm4gc2VsZiAhPSAwCiAKLSAgICBAYWJzdHJhY3Rwcm9wZXJ0eQorICAgIEBwcm9wZXJ0eQorICAgIEBhYnN0cmFjdG1ldGhvZAogICAgIGRlZiByZWFsKHNlbGYpOgogICAgICAgICAiIiJSZXRyaWV2ZSB0aGUgcmVhbCBjb21wb25lbnQgb2YgdGhpcyBudW1iZXIuCiAKQEAgLTU4LDcgKzU5LDggQEAKICAgICAgICAgIiIiCiAgICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IKIAotICAgIEBhYnN0cmFjdHByb3BlcnR5CisgICAgQHByb3BlcnR5CisgICAgQGFic3RyYWN0bWV0aG9kCiAgICAgZGVmIGltYWcoc2VsZik6CiAgICAgICAgICIiIlJldHJpZXZlIHRoZSBpbWFnaW5hcnkgY29tcG9uZW50IG9mIHRoaXMgbnVtYmVyLgogCkBAIC0yNzIsMTEgKzI3NCwxMyBAQAogCiAgICAgX19zbG90c19fID0gKCkKIAotICAgIEBhYnN0cmFjdHByb3BlcnR5CisgICAgQHByb3BlcnR5CisgICAgQGFic3RyYWN0bWV0aG9kCiAgICAgZGVmIG51bWVyYXRvcihzZWxmKToKICAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcgogCi0gICAgQGFic3RyYWN0cHJvcGVydHkKKyAgICBAcHJvcGVydHkKKyAgICBAYWJzdHJhY3RtZXRob2QKICAgICBkZWYgZGVub21pbmF0b3Ioc2VsZik6CiAgICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IKIApkaWZmIC0tZ2l0IGEvTGliL29wY29kZS5weSBiL0xpYi9vcGNvZGUucHkKaW5kZXggOGUxNWQxMy4uNmZlMjBjNyAxMDA2NDQKLS0tIGEvTGliL29wY29kZS5weQorKysgYi9MaWIvb3Bjb2RlLnB5CkBAIC00Myw3ICs0Myw2IEBACiAjIEluc3RydWN0aW9uIG9wY29kZXMgZm9yIGNvbXBpbGVkIGNvZGUKICMgQmxhbmsgbGluZXMgY29ycmVzcG9uZCB0byBhdmFpbGFibGUgb3Bjb2RlcwogCi1kZWZfb3AoJ1NUT1BfQ09ERScsIDApCiBkZWZfb3AoJ1BPUF9UT1AnLCAxKQogZGVmX29wKCdST1RfVFdPJywgMikKIGRlZl9vcCgnUk9UX1RIUkVFJywgMykKQEAgLTg4LDYgKzg3LDcgQEAKIAogZGVmX29wKCdQUklOVF9FWFBSJywgNzApCiBkZWZfb3AoJ0xPQURfQlVJTERfQ0xBU1MnLCA3MSkKK2RlZl9vcCgnWUlFTERfRlJPTScsIDcyKQogCiBkZWZfb3AoJ0lOUExBQ0VfTFNISUZUJywgNzUpCiBkZWZfb3AoJ0lOUExBQ0VfUlNISUZUJywgNzYpCmRpZmYgLS1naXQgYS9MaWIvb3B0cGFyc2UucHkgYi9MaWIvb3B0cGFyc2UucHkKaW5kZXggZDk3YTFmNy4uMzc3NjRkMyAxMDA2NDQKLS0tIGEvTGliL29wdHBhcnNlLnB5CisrKyBiL0xpYi9vcHRwYXJzZS5weQpAQCAtODYsMTAgKzg2LDE2IEBACiAjICAgSWQ6IGVycm9ycy5weSA1MDkgMjAwNi0wNC0yMCAwMDo1ODoyNFogZ3dhcmQKIAogdHJ5OgotICAgIGZyb20gZ2V0dGV4dCBpbXBvcnQgZ2V0dGV4dAorICAgIGZyb20gZ2V0dGV4dCBpbXBvcnQgZ2V0dGV4dCwgbmdldHRleHQKIGV4Y2VwdCBJbXBvcnRFcnJvcjoKICAgICBkZWYgZ2V0dGV4dChtZXNzYWdlKToKICAgICAgICAgcmV0dXJuIG1lc3NhZ2UKKworICAgIGRlZiBuZ2V0dGV4dChzaW5ndWxhciwgcGx1cmFsLCBuKToKKyAgICAgICAgaWYgbiA9PSAxOgorICAgICAgICAgICAgcmV0dXJuIHNpbmd1bGFyCisgICAgICAgIHJldHVybiBwbHVyYWwKKwogXyA9IGdldHRleHQKIAogCkBAIC00MTEsMTEgKzQxNyw4IEBACiBkZWYgX3BhcnNlX2ludCh2YWwpOgogICAgIHJldHVybiBfcGFyc2VfbnVtKHZhbCwgaW50KQogCi1kZWYgX3BhcnNlX2xvbmcodmFsKToKLSAgICByZXR1cm4gX3BhcnNlX251bSh2YWwsIGludCkKLQogX2J1aWx0aW5fY3Z0ID0geyAiaW50IiA6IChfcGFyc2VfaW50LCBfKCJpbnRlZ2VyIikpLAotICAgICAgICAgICAgICAgICAibG9uZyIgOiAoX3BhcnNlX2xvbmcsIF8oImxvbmcgaW50ZWdlciIpKSwKKyAgICAgICAgICAgICAgICAgImxvbmciIDogKF9wYXJzZV9pbnQsIF8oImludGVnZXIiKSksCiAgICAgICAgICAgICAgICAgICJmbG9hdCIgOiAoZmxvYXQsIF8oImZsb2F0aW5nLXBvaW50IikpLAogICAgICAgICAgICAgICAgICAiY29tcGxleCIgOiAoY29tcGxleCwgXygiY29tcGxleCIpKSB9CiAKQEAgLTE0ODMsMTEgKzE0ODYsMTAgQEAKICAgICAgICAgaWYgb3B0aW9uLnRha2VzX3ZhbHVlKCk6CiAgICAgICAgICAgICBuYXJncyA9IG9wdGlvbi5uYXJncwogICAgICAgICAgICAgaWYgbGVuKHJhcmdzKSA8IG5hcmdzOgotICAgICAgICAgICAgICAgIGlmIG5hcmdzID09IDE6Ci0gICAgICAgICAgICAgICAgICAgIHNlbGYuZXJyb3IoXygiJXMgb3B0aW9uIHJlcXVpcmVzIGFuIGFyZ3VtZW50IikgJSBvcHQpCi0gICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgc2VsZi5lcnJvcihfKCIlcyBvcHRpb24gcmVxdWlyZXMgJWQgYXJndW1lbnRzIikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAlIChvcHQsIG5hcmdzKSkKKyAgICAgICAgICAgICAgICBzZWxmLmVycm9yKG5nZXR0ZXh0KAorICAgICAgICAgICAgICAgICAgICAiJShvcHRpb24pcyBvcHRpb24gcmVxdWlyZXMgJShudW1iZXIpZCBhcmd1bWVudCIsCisgICAgICAgICAgICAgICAgICAgICIlKG9wdGlvbilzIG9wdGlvbiByZXF1aXJlcyAlKG51bWJlcilkIGFyZ3VtZW50cyIsCisgICAgICAgICAgICAgICAgICAgIG5hcmdzKSAlIHsib3B0aW9uIjogb3B0LCAibnVtYmVyIjogbmFyZ3N9KQogICAgICAgICAgICAgZWxpZiBuYXJncyA9PSAxOgogICAgICAgICAgICAgICAgIHZhbHVlID0gcmFyZ3MucG9wKDApCiAgICAgICAgICAgICBlbHNlOgpAQCAtMTUyMiwxMSArMTUyNCwxMCBAQAogCiAgICAgICAgICAgICAgICAgbmFyZ3MgPSBvcHRpb24ubmFyZ3MKICAgICAgICAgICAgICAgICBpZiBsZW4ocmFyZ3MpIDwgbmFyZ3M6Ci0gICAgICAgICAgICAgICAgICAgIGlmIG5hcmdzID09IDE6Ci0gICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmVycm9yKF8oIiVzIG9wdGlvbiByZXF1aXJlcyBhbiBhcmd1bWVudCIpICUgb3B0KQotICAgICAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5lcnJvcihfKCIlcyBvcHRpb24gcmVxdWlyZXMgJWQgYXJndW1lbnRzIikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJSAob3B0LCBuYXJncykpCisgICAgICAgICAgICAgICAgICAgIHNlbGYuZXJyb3IobmdldHRleHQoCisgICAgICAgICAgICAgICAgICAgICAgICAiJShvcHRpb24pcyBvcHRpb24gcmVxdWlyZXMgJShudW1iZXIpZCBhcmd1bWVudCIsCisgICAgICAgICAgICAgICAgICAgICAgICAiJShvcHRpb24pcyBvcHRpb24gcmVxdWlyZXMgJShudW1iZXIpZCBhcmd1bWVudHMiLAorICAgICAgICAgICAgICAgICAgICAgICAgbmFyZ3MpICUgeyJvcHRpb24iOiBvcHQsICJudW1iZXIiOiBuYXJnc30pCiAgICAgICAgICAgICAgICAgZWxpZiBuYXJncyA9PSAxOgogICAgICAgICAgICAgICAgICAgICB2YWx1ZSA9IHJhcmdzLnBvcCgwKQogICAgICAgICAgICAgICAgIGVsc2U6CmRpZmYgLS1naXQgYS9MaWIvb3MucHkgYi9MaWIvb3MucHkKaW5kZXggNTg2MjM4My4uZmU2Y2IxMSAxMDA2NDQKLS0tIGEvTGliL29zLnB5CisrKyBiL0xpYi9vcy5weQpAQCAtMjQsNiArMjQsNyBAQAogIycKIAogaW1wb3J0IHN5cywgZXJybm8KK2ltcG9ydCBzdGF0IGFzIHN0CiAKIF9uYW1lcyA9IHN5cy5idWlsdGluX21vZHVsZV9uYW1lcwogCkBAIC0zMiw2ICszMyw5IEBACiAgICAgICAgICAgICJkZWZwYXRoIiwgIm5hbWUiLCAicGF0aCIsICJkZXZudWxsIiwKICAgICAgICAgICAgIlNFRUtfU0VUIiwgIlNFRUtfQ1VSIiwgIlNFRUtfRU5EIl0KIAorZGVmIF9leGlzdHMobmFtZSk6CisgICAgcmV0dXJuIG5hbWUgaW4gZ2xvYmFscygpCisKIGRlZiBfZ2V0X2V4cG9ydHNfbGlzdChtb2R1bGUpOgogICAgIHRyeToKICAgICAgICAgcmV0dXJuIGxpc3QobW9kdWxlLl9fYWxsX18pCkBAIC0xMjAsNyArMTI0LDEyIEBACiAgICAgdW1hc2sobWFzaykKICAgICByZXR1cm4gbW9kZSAmIH5tYXNrCiAKLSMnCitkZWYgX2FyZV9zYW1lX2ZpbGUoc3RhdDEsIHN0YXQyKToKKyAgICAiIiJIZWxwZXIgZnVuY3Rpb24gdGhhdCBjaGVja3Mgd2hldGhlciB0d28gc3RhdCByZXN1bHRzIHJlZmVyIHRvIHRoZSBzYW1lCisgICAgZmlsZS4KKyAgICAiIiIKKyAgICByZXR1cm4gKHN0YXQxLnN0X2lubyA9PSBzdGF0Mi5zdF9pbm8gYW5kIHN0YXQxLnN0X2RldiA9PSBzdGF0Mi5zdF9kZXYpCisjCiAKICMgU3VwZXIgZGlyZWN0b3J5IHV0aWxpdGllcy4KICMgKEluc3BpcmVkIGJ5IEVyaWMgUmF5bW9uZDsgdGhlIGRvYyBzdHJpbmdzIGFyZSBtb3N0bHkgaGlzKQpAQCAtMTUxLDcgKzE2MCw2IEBACiAgICAgdHJ5OgogICAgICAgICBta2RpcihuYW1lLCBtb2RlKQogICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGU6Ci0gICAgICAgIGltcG9ydCBzdGF0IGFzIHN0CiAgICAgICAgIGlmIG5vdCAoZS5lcnJubyA9PSBlcnJuby5FRVhJU1QgYW5kIGV4aXN0X29rIGFuZCBwYXRoLmlzZGlyKG5hbWUpIGFuZAogICAgICAgICAgICAgICAgIHN0LlNfSU1PREUobHN0YXQobmFtZSkuc3RfbW9kZSkgPT0gX2dldF9tYXNrZWRfbW9kZShtb2RlKSk6CiAgICAgICAgICAgICByYWlzZQpAQCAtMjk4LDYgKzMwNiw5MiBAQAogCiBfX2FsbF9fLmFwcGVuZCgid2FsayIpCiAKK2lmIF9leGlzdHMoIm9wZW5hdCIpOgorCisgICAgZGVmIGZ3YWxrKHRvcCwgdG9wZG93bj1UcnVlLCBvbmVycm9yPU5vbmUsIGZvbGxvd2xpbmtzPUZhbHNlKToKKyAgICAgICAgIiIiRGlyZWN0b3J5IHRyZWUgZ2VuZXJhdG9yLgorCisgICAgICAgIFRoaXMgYmVoYXZlcyBleGFjdGx5IGxpa2Ugd2FsaygpLCBleGNlcHQgdGhhdCBpdCB5aWVsZHMgYSA0LXR1cGxlCisKKyAgICAgICAgICAgIGRpcnBhdGgsIGRpcm5hbWVzLCBmaWxlbmFtZXMsIGRpcmZkCisKKyAgICAgICAgYGRpcnBhdGhgLCBgZGlybmFtZXNgIGFuZCBgZmlsZW5hbWVzYCBhcmUgaWRlbnRpY2FsIHRvIHdhbGsoKSBvdXRwdXQsCisgICAgICAgIGFuZCBgZGlyZmRgIGlzIGEgZmlsZSBkZXNjcmlwdG9yIHJlZmVycmluZyB0byB0aGUgZGlyZWN0b3J5IGBkaXJwYXRoYC4KKworICAgICAgICBUaGUgYWR2YW50YWdlIG9mIHdhbGtmZCgpIG92ZXIgd2FsaygpIGlzIHRoYXQgaXQncyBzYWZlIGFnYWluc3Qgc3ltbGluaworICAgICAgICByYWNlcyAod2hlbiBmb2xsb3dsaW5rcyBpcyBGYWxzZSkuCisKKyAgICAgICAgQ2F1dGlvbjoKKyAgICAgICAgU2luY2UgZndhbGsoKSB5aWVsZHMgZmlsZSBkZXNjcmlwdG9ycywgdGhvc2UgYXJlIG9ubHkgdmFsaWQgdW50aWwgdGhlCisgICAgICAgIG5leHQgaXRlcmF0aW9uIHN0ZXAsIHNvIHlvdSBzaG91bGQgZHVwKCkgdGhlbSBpZiB5b3Ugd2FudCB0byBrZWVwIHRoZW0KKyAgICAgICAgZm9yIGEgbG9uZ2VyIHBlcmlvZC4KKworICAgICAgICBFeGFtcGxlOgorCisgICAgICAgIGltcG9ydCBvcworICAgICAgICBmb3Igcm9vdCwgZGlycywgZmlsZXMsIHJvb3RmZCBpbiBvcy5md2FsaygncHl0aG9uL0xpYi9lbWFpbCcpOgorICAgICAgICAgICAgcHJpbnQocm9vdCwgImNvbnN1bWVzIiwgZW5kPSIiKQorICAgICAgICAgICAgcHJpbnQoc3VtKFtvcy5mc3RhdGF0KHJvb3RmZCwgbmFtZSkuc3Rfc2l6ZSBmb3IgbmFtZSBpbiBmaWxlc10pLAorICAgICAgICAgICAgICAgICAgZW5kPSIiKQorICAgICAgICAgICAgcHJpbnQoImJ5dGVzIGluIiwgbGVuKGZpbGVzKSwgIm5vbi1kaXJlY3RvcnkgZmlsZXMiKQorICAgICAgICAgICAgaWYgJ0NWUycgaW4gZGlyczoKKyAgICAgICAgICAgICAgICBkaXJzLnJlbW92ZSgnQ1ZTJykgICMgZG9uJ3QgdmlzaXQgQ1ZTIGRpcmVjdG9yaWVzCisgICAgICAgICIiIgorICAgICAgICAjIE5vdGU6IFRvIGd1YXJkIGFnYWluc3Qgc3ltbGluayByYWNlcywgd2UgdXNlIHRoZSBzdGFuZGFyZAorICAgICAgICAjIGxzdGF0KCkvb3BlbigpL2ZzdGF0KCkgdHJpY2suCisgICAgICAgIG9yaWdfc3QgPSBsc3RhdCh0b3ApCisgICAgICAgIHRvcGZkID0gb3Blbih0b3AsIE9fUkRPTkxZKQorICAgICAgICB0cnk6CisgICAgICAgICAgICBpZiAoZm9sbG93bGlua3Mgb3IgKHN0LlNfSVNESVIob3JpZ19zdC5zdF9tb2RlKSBhbmQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfYXJlX3NhbWVfZmlsZShvcmlnX3N0LCBmc3RhdCh0b3BmZCkpKSk6CisgICAgICAgICAgICAgICAgZm9yIHggaW4gX2Z3YWxrKHRvcGZkLCB0b3AsIHRvcGRvd24sIG9uZXJyb3IsIGZvbGxvd2xpbmtzKToKKyAgICAgICAgICAgICAgICAgICAgeWllbGQgeAorICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgY2xvc2UodG9wZmQpCisKKyAgICBkZWYgX2Z3YWxrKHRvcGZkLCB0b3BwYXRoLCB0b3Bkb3duLCBvbmVycm9yLCBmb2xsb3dsaW5rcyk6CisgICAgICAgICMgTm90ZTogVGhpcyB1c2VzIE8oZGVwdGggb2YgdGhlIGRpcmVjdG9yeSB0cmVlKSBmaWxlIGRlc2NyaXB0b3JzOiBpZgorICAgICAgICAjIG5lY2Vzc2FyeSwgaXQgY2FuIGJlIGFkYXB0ZWQgdG8gb25seSByZXF1aXJlIE8oMSkgRkRzLCBzZWUgaXNzdWUKKyAgICAgICAgIyAjMTM3MzQuCisKKyAgICAgICAgIyB3aGV0aGVyIHRvIGZvbGxvdyBzeW1saW5rcworICAgICAgICBmbGFnID0gMCBpZiBmb2xsb3dsaW5rcyBlbHNlIEFUX1NZTUxJTktfTk9GT0xMT1cKKworICAgICAgICBuYW1lcyA9IGZsaXN0ZGlyKHRvcGZkKQorICAgICAgICBkaXJzLCBub25kaXJzID0gW10sIFtdCisgICAgICAgIGZvciBuYW1lIGluIG5hbWVzOgorICAgICAgICAgICAgIyBIZXJlLCB3ZSBkb24ndCB1c2UgQVRfU1lNTElOS19OT0ZPTExPVyB0byBiZSBjb25zaXN0ZW50IHdpdGgKKyAgICAgICAgICAgICMgd2FsaygpIHdoaWNoIHJlcG9ydHMgc3ltbGlua3MgdG8gZGlyZWN0b3JpZXMgYXMgZGlyZWN0b3JpZXMuIFdlIGRvCisgICAgICAgICAgICAjIGhvd2V2ZXIgY2hlY2sgZm9yIHN5bWxpbmtzIGJlZm9yZSByZWN1cnNpbmcgaW50byBhIHN1YmRpcmVjdG9yeS4KKyAgICAgICAgICAgIGlmIHN0LlNfSVNESVIoZnN0YXRhdCh0b3BmZCwgbmFtZSkuc3RfbW9kZSk6CisgICAgICAgICAgICAgICAgZGlycy5hcHBlbmQobmFtZSkKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgbm9uZGlycy5hcHBlbmQobmFtZSkKKworICAgICAgICBpZiB0b3Bkb3duOgorICAgICAgICAgICAgeWllbGQgdG9wcGF0aCwgZGlycywgbm9uZGlycywgdG9wZmQKKworICAgICAgICBmb3IgbmFtZSBpbiBkaXJzOgorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIG9yaWdfc3QgPSBmc3RhdGF0KHRvcGZkLCBuYW1lLCBmbGFnKQorICAgICAgICAgICAgICAgIGRpcmZkID0gb3BlbmF0KHRvcGZkLCBuYW1lLCBPX1JET05MWSkKKyAgICAgICAgICAgIGV4Y2VwdCBlcnJvciBhcyBlcnI6CisgICAgICAgICAgICAgICAgaWYgb25lcnJvciBpcyBub3QgTm9uZToKKyAgICAgICAgICAgICAgICAgICAgb25lcnJvcihlcnIpCisgICAgICAgICAgICAgICAgcmV0dXJuCisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgaWYgZm9sbG93bGlua3Mgb3IgX2FyZV9zYW1lX2ZpbGUob3JpZ19zdCwgZnN0YXQoZGlyZmQpKToKKyAgICAgICAgICAgICAgICAgICAgZGlycGF0aCA9IHBhdGguam9pbih0b3BwYXRoLCBuYW1lKQorICAgICAgICAgICAgICAgICAgICBmb3IgeCBpbiBfZndhbGsoZGlyZmQsIGRpcnBhdGgsIHRvcGRvd24sIG9uZXJyb3IsIGZvbGxvd2xpbmtzKToKKyAgICAgICAgICAgICAgICAgICAgICAgIHlpZWxkIHgKKyAgICAgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICAgICAgY2xvc2UoZGlyZmQpCisKKyAgICAgICAgaWYgbm90IHRvcGRvd246CisgICAgICAgICAgICB5aWVsZCB0b3BwYXRoLCBkaXJzLCBub25kaXJzLCB0b3BmZAorCisgICAgX19hbGxfXy5hcHBlbmQoImZ3YWxrIikKKwogIyBNYWtlIHN1cmUgb3MuZW52aXJvbiBleGlzdHMsIGF0IGxlYXN0CiB0cnk6CiAgICAgZW52aXJvbgpAQCAtNDM0LDcgKzUyOCw3IEBACiAKIAogIyBDaGFuZ2UgZW52aXJvbiB0byBhdXRvbWF0aWNhbGx5IGNhbGwgcHV0ZW52KCksIHVuc2V0ZW52IGlmIHRoZXkgZXhpc3QuCi1mcm9tIF9hYmNvbGwgaW1wb3J0IE11dGFibGVNYXBwaW5nICAjIENhbid0IHVzZSBjb2xsZWN0aW9ucyAoYm9vdHN0cmFwKQorZnJvbSBjb2xsZWN0aW9ucy5hYmMgaW1wb3J0IE11dGFibGVNYXBwaW5nCiAKIGNsYXNzIF9FbnZpcm9uKE11dGFibGVNYXBwaW5nKToKICAgICBkZWYgX19pbml0X18oc2VsZiwgZGF0YSwgZW5jb2Rla2V5LCBkZWNvZGVrZXksIGVuY29kZXZhbHVlLCBkZWNvZGV2YWx1ZSwgcHV0ZW52LCB1bnNldGVudik6CkBAIC01OTgsOSArNjkyLDYgQEAKIGZzZW5jb2RlLCBmc2RlY29kZSA9IF9mc2NvZGVjKCkKIGRlbCBfZnNjb2RlYwogCi1kZWYgX2V4aXN0cyhuYW1lKToKLSAgICByZXR1cm4gbmFtZSBpbiBnbG9iYWxzKCkKLQogIyBTdXBwbHkgc3Bhd24qKCkgKHByb2JhYmx5IG9ubHkgZm9yIFVuaXgpCiBpZiBfZXhpc3RzKCJmb3JrIikgYW5kIG5vdCBfZXhpc3RzKCJzcGF3bnYiKSBhbmQgX2V4aXN0cygiZXhlY3YiKToKIApkaWZmIC0tZ2l0IGEvTGliL3BhY2thZ2luZy9fX2luaXRfXy5weSBiL0xpYi9wYWNrYWdpbmcvX19pbml0X18ucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTNiNjExNwotLS0gL2Rldi9udWxsCisrKyBiL0xpYi9wYWNrYWdpbmcvX19pbml0X18ucHkKQEAgLTAsMCArMSwxNyBAQAorIiIiU3VwcG9ydCBmb3IgcGFja2FnaW5nLCBkaXN0cmlidXRpb24gYW5kIGluc3RhbGxhdGlvbiBvZiBQeXRob24gcHJvamVjdHMuCisKK1RoaXJkLXBhcnR5IHRvb2xzIGNhbiB1c2UgcGFydHMgb2YgcGFja2FnaW5nIGFzIGJ1aWxkaW5nIGJsb2Nrcword2l0aG91dCBjYXVzaW5nIHRoZSBvdGhlciBtb2R1bGVzIHRvIGJlIGltcG9ydGVkOgorCisgICAgaW1wb3J0IHBhY2thZ2luZy52ZXJzaW9uCisgICAgaW1wb3J0IHBhY2thZ2luZy5tZXRhZGF0YQorICAgIGltcG9ydCBwYWNrYWdpbmcucHlwaS5zaW1wbGUKKyAgICBpbXBvcnQgcGFja2FnaW5nLnRlc3RzLnB5cGlfc2VydmVyCisiIiIKKworZnJvbSBsb2dnaW5nIGltcG9ydCBnZXRMb2dnZXIKKworX19hbGxfXyA9IFsnX192ZXJzaW9uX18nLCAnbG9nZ2VyJ10KKworX192ZXJzaW9uX18gPSAiMS4wYTMiCitsb2dnZXIgPSBnZXRMb2dnZXIoJ3BhY2thZ2luZycpCmRpZmYgLS1naXQgYS9MaWIvcGFja2FnaW5nL190cm92ZS5weSBiL0xpYi9wYWNrYWdpbmcvX3Ryb3ZlLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY1MjdiYzQKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvcGFja2FnaW5nL190cm92ZS5weQpAQCAtMCwwICsxLDU3MSBAQAorIiIiVGVtcG9yYXJ5IGhlbHBlciBmb3IgY3JlYXRlLiIiIgorCisjIFhYWCBnZXQgdGhlIGxpc3QgZnJvbSBQeVBJIGFuZCBjYWNoZSBpdCBpbnN0ZWFkIG9mIGhhcmRjb2RpbmcKKworIyBYWFggc2VlIGlmIGl0IHdvdWxkIGJlIG1vcmUgdXNlZnVsIHRvIHN0b3JlIGl0IGFzIGFub3RoZXIgc3RydWN0dXJlCisjIHRoYW4gYSBsaXN0IG9mIHN0cmluZ3MKKworYWxsX2NsYXNzaWZpZXJzID0gWworJ0RldmVsb3BtZW50IFN0YXR1cyA6OiAxIC0gUGxhbm5pbmcnLAorJ0RldmVsb3BtZW50IFN0YXR1cyA6OiAyIC0gUHJlLUFscGhhJywKKydEZXZlbG9wbWVudCBTdGF0dXMgOjogMyAtIEFscGhhJywKKydEZXZlbG9wbWVudCBTdGF0dXMgOjogNCAtIEJldGEnLAorJ0RldmVsb3BtZW50IFN0YXR1cyA6OiA1IC0gUHJvZHVjdGlvbi9TdGFibGUnLAorJ0RldmVsb3BtZW50IFN0YXR1cyA6OiA2IC0gTWF0dXJlJywKKydEZXZlbG9wbWVudCBTdGF0dXMgOjogNyAtIEluYWN0aXZlJywKKydFbnZpcm9ubWVudCA6OiBDb25zb2xlJywKKydFbnZpcm9ubWVudCA6OiBDb25zb2xlIDo6IEN1cnNlcycsCisnRW52aXJvbm1lbnQgOjogQ29uc29sZSA6OiBGcmFtZWJ1ZmZlcicsCisnRW52aXJvbm1lbnQgOjogQ29uc29sZSA6OiBOZXd0JywKKydFbnZpcm9ubWVudCA6OiBDb25zb2xlIDo6IHN2Z2FsaWInLAorIkVudmlyb25tZW50IDo6IEhhbmRoZWxkcy9QREEncyIsCisnRW52aXJvbm1lbnQgOjogTWFjT1MgWCcsCisnRW52aXJvbm1lbnQgOjogTWFjT1MgWCA6OiBBcXVhJywKKydFbnZpcm9ubWVudCA6OiBNYWNPUyBYIDo6IENhcmJvbicsCisnRW52aXJvbm1lbnQgOjogTWFjT1MgWCA6OiBDb2NvYScsCisnRW52aXJvbm1lbnQgOjogTm8gSW5wdXQvT3V0cHV0IChEYWVtb24pJywKKydFbnZpcm9ubWVudCA6OiBPdGhlciBFbnZpcm9ubWVudCcsCisnRW52aXJvbm1lbnQgOjogUGx1Z2lucycsCisnRW52aXJvbm1lbnQgOjogV2ViIEVudmlyb25tZW50JywKKydFbnZpcm9ubWVudCA6OiBXZWIgRW52aXJvbm1lbnQgOjogQnVmZmV0JywKKydFbnZpcm9ubWVudCA6OiBXZWIgRW52aXJvbm1lbnQgOjogTW96aWxsYScsCisnRW52aXJvbm1lbnQgOjogV2ViIEVudmlyb25tZW50IDo6IFRvc2NhV2lkZ2V0cycsCisnRW52aXJvbm1lbnQgOjogV2luMzIgKE1TIFdpbmRvd3MpJywKKydFbnZpcm9ubWVudCA6OiBYMTEgQXBwbGljYXRpb25zJywKKydFbnZpcm9ubWVudCA6OiBYMTEgQXBwbGljYXRpb25zIDo6IEdub21lJywKKydFbnZpcm9ubWVudCA6OiBYMTEgQXBwbGljYXRpb25zIDo6IEdUSycsCisnRW52aXJvbm1lbnQgOjogWDExIEFwcGxpY2F0aW9ucyA6OiBLREUnLAorJ0Vudmlyb25tZW50IDo6IFgxMSBBcHBsaWNhdGlvbnMgOjogUXQnLAorJ0ZyYW1ld29yayA6OiBCRkcnLAorJ0ZyYW1ld29yayA6OiBCdWlsZG91dCcsCisnRnJhbWV3b3JrIDo6IEJ1aWxkb3V0IDo6IEV4dGVuc2lvbicsCisnRnJhbWV3b3JrIDo6IEJ1aWxkb3V0IDo6IFJlY2lwZScsCisnRnJhbWV3b3JrIDo6IENoYW5kbGVyJywKKydGcmFtZXdvcmsgOjogQ2hlcnJ5UHknLAorJ0ZyYW1ld29yayA6OiBDdWJpY1dlYicsCisnRnJhbWV3b3JrIDo6IERqYW5nbycsCisnRnJhbWV3b3JrIDo6IElETEUnLAorJ0ZyYW1ld29yayA6OiBQYXN0ZScsCisnRnJhbWV3b3JrIDo6IFBsb25lJywKKydGcmFtZXdvcmsgOjogUGxvbmUgOjogMy4yJywKKydGcmFtZXdvcmsgOjogUGxvbmUgOjogMy4zJywKKydGcmFtZXdvcmsgOjogUGxvbmUgOjogNC4wJywKKydGcmFtZXdvcmsgOjogUGxvbmUgOjogNC4xJywKKydGcmFtZXdvcmsgOjogUGxvbmUgOjogNC4yJywKKydGcmFtZXdvcmsgOjogUGxvbmUgOjogNC4zJywKKydGcmFtZXdvcmsgOjogUHlsb25zJywKKydGcmFtZXdvcmsgOjogU2V0dXB0b29scyBQbHVnaW4nLAorJ0ZyYW1ld29yayA6OiBUcmFjJywKKydGcmFtZXdvcmsgOjogVHJ5dG9uJywKKydGcmFtZXdvcmsgOjogVHVyYm9HZWFycycsCisnRnJhbWV3b3JrIDo6IFR1cmJvR2VhcnMgOjogQXBwbGljYXRpb25zJywKKydGcmFtZXdvcmsgOjogVHVyYm9HZWFycyA6OiBXaWRnZXRzJywKKydGcmFtZXdvcmsgOjogVHdpc3RlZCcsCisnRnJhbWV3b3JrIDo6IFpPREInLAorJ0ZyYW1ld29yayA6OiBab3BlMicsCisnRnJhbWV3b3JrIDo6IFpvcGUzJywKKydJbnRlbmRlZCBBdWRpZW5jZSA6OiBDdXN0b21lciBTZXJ2aWNlJywKKydJbnRlbmRlZCBBdWRpZW5jZSA6OiBEZXZlbG9wZXJzJywKKydJbnRlbmRlZCBBdWRpZW5jZSA6OiBFZHVjYXRpb24nLAorJ0ludGVuZGVkIEF1ZGllbmNlIDo6IEVuZCBVc2Vycy9EZXNrdG9wJywKKydJbnRlbmRlZCBBdWRpZW5jZSA6OiBGaW5hbmNpYWwgYW5kIEluc3VyYW5jZSBJbmR1c3RyeScsCisnSW50ZW5kZWQgQXVkaWVuY2UgOjogSGVhbHRoY2FyZSBJbmR1c3RyeScsCisnSW50ZW5kZWQgQXVkaWVuY2UgOjogSW5mb3JtYXRpb24gVGVjaG5vbG9neScsCisnSW50ZW5kZWQgQXVkaWVuY2UgOjogTGVnYWwgSW5kdXN0cnknLAorJ0ludGVuZGVkIEF1ZGllbmNlIDo6IE1hbnVmYWN0dXJpbmcnLAorJ0ludGVuZGVkIEF1ZGllbmNlIDo6IE90aGVyIEF1ZGllbmNlJywKKydJbnRlbmRlZCBBdWRpZW5jZSA6OiBSZWxpZ2lvbicsCisnSW50ZW5kZWQgQXVkaWVuY2UgOjogU2NpZW5jZS9SZXNlYXJjaCcsCisnSW50ZW5kZWQgQXVkaWVuY2UgOjogU3lzdGVtIEFkbWluaXN0cmF0b3JzJywKKydJbnRlbmRlZCBBdWRpZW5jZSA6OiBUZWxlY29tbXVuaWNhdGlvbnMgSW5kdXN0cnknLAorJ0xpY2Vuc2UgOjogQWxhZGRpbiBGcmVlIFB1YmxpYyBMaWNlbnNlIChBRlBMKScsCisnTGljZW5zZSA6OiBDQzAgMS4wIFVuaXZlcnNhbCAoQ0MwIDEuMCkgUHVibGljIERvbWFpbiBEZWRpY2F0aW9uJywKKydMaWNlbnNlIDo6IERGU0cgYXBwcm92ZWQnLAorJ0xpY2Vuc2UgOjogRWlmZmVsIEZvcnVtIExpY2Vuc2UgKEVGTCknLAorJ0xpY2Vuc2UgOjogRnJlZSBGb3IgRWR1Y2F0aW9uYWwgVXNlJywKKydMaWNlbnNlIDo6IEZyZWUgRm9yIEhvbWUgVXNlJywKKydMaWNlbnNlIDo6IEZyZWUgZm9yIG5vbi1jb21tZXJjaWFsIHVzZScsCisnTGljZW5zZSA6OiBGcmVlbHkgRGlzdHJpYnV0YWJsZScsCisnTGljZW5zZSA6OiBGcmVlIFRvIFVzZSBCdXQgUmVzdHJpY3RlZCcsCisnTGljZW5zZSA6OiBGcmVld2FyZScsCisnTGljZW5zZSA6OiBOZXRzY2FwZSBQdWJsaWMgTGljZW5zZSAoTlBMKScsCisnTGljZW5zZSA6OiBOb2tpYSBPcGVuIFNvdXJjZSBMaWNlbnNlIChOT0tPUyknLAorJ0xpY2Vuc2UgOjogT1NJIEFwcHJvdmVkJywKKydMaWNlbnNlIDo6IE9TSSBBcHByb3ZlZCA6OiBBY2FkZW1pYyBGcmVlIExpY2Vuc2UgKEFGTCknLAorJ0xpY2Vuc2UgOjogT1NJIEFwcHJvdmVkIDo6IEFwYWNoZSBTb2Z0d2FyZSBMaWNlbnNlJywKKydMaWNlbnNlIDo6IE9TSSBBcHByb3ZlZCA6OiBBcHBsZSBQdWJsaWMgU291cmNlIExpY2Vuc2UnLAorJ0xpY2Vuc2UgOjogT1NJIEFwcHJvdmVkIDo6IEFydGlzdGljIExpY2Vuc2UnLAorJ0xpY2Vuc2UgOjogT1NJIEFwcHJvdmVkIDo6IEF0dHJpYnV0aW9uIEFzc3VyYW5jZSBMaWNlbnNlJywKKydMaWNlbnNlIDo6IE9TSSBBcHByb3ZlZCA6OiBCU0QgTGljZW5zZScsCisnTGljZW5zZSA6OiBPU0kgQXBwcm92ZWQgOjogQ29tbW9uIFB1YmxpYyBMaWNlbnNlJywKKydMaWNlbnNlIDo6IE9TSSBBcHByb3ZlZCA6OiBFaWZmZWwgRm9ydW0gTGljZW5zZScsCisnTGljZW5zZSA6OiBPU0kgQXBwcm92ZWQgOjogRXVyb3BlYW4gVW5pb24gUHVibGljIExpY2VuY2UgMS4wIChFVVBMIDEuMCknLAorJ0xpY2Vuc2UgOjogT1NJIEFwcHJvdmVkIDo6IEV1cm9wZWFuIFVuaW9uIFB1YmxpYyBMaWNlbmNlIDEuMSAoRVVQTCAxLjEpJywKKydMaWNlbnNlIDo6IE9TSSBBcHByb3ZlZCA6OiBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdjMnLAorJ0xpY2Vuc2UgOjogT1NJIEFwcHJvdmVkIDo6IEdOVSBGcmVlIERvY3VtZW50YXRpb24gTGljZW5zZSAoRkRMKScsCisnTGljZW5zZSA6OiBPU0kgQXBwcm92ZWQgOjogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgKEdQTCknLAorJ0xpY2Vuc2UgOjogT1NJIEFwcHJvdmVkIDo6IEdOVSBMaWJyYXJ5IG9yIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIChMR1BMKScsCisnTGljZW5zZSA6OiBPU0kgQXBwcm92ZWQgOjogSUJNIFB1YmxpYyBMaWNlbnNlJywKKydMaWNlbnNlIDo6IE9TSSBBcHByb3ZlZCA6OiBJbnRlbCBPcGVuIFNvdXJjZSBMaWNlbnNlJywKKydMaWNlbnNlIDo6IE9TSSBBcHByb3ZlZCA6OiBJU0MgTGljZW5zZSAoSVNDTCknLAorJ0xpY2Vuc2UgOjogT1NJIEFwcHJvdmVkIDo6IEphYmJlciBPcGVuIFNvdXJjZSBMaWNlbnNlJywKKydMaWNlbnNlIDo6IE9TSSBBcHByb3ZlZCA6OiBNSVQgTGljZW5zZScsCisnTGljZW5zZSA6OiBPU0kgQXBwcm92ZWQgOjogTUlUUkUgQ29sbGFib3JhdGl2ZSBWaXJ0dWFsIFdvcmtzcGFjZSBMaWNlbnNlIChDVlcpJywKKydMaWNlbnNlIDo6IE9TSSBBcHByb3ZlZCA6OiBNb3Rvc290byBMaWNlbnNlJywKKydMaWNlbnNlIDo6IE9TSSBBcHByb3ZlZCA6OiBNb3ppbGxhIFB1YmxpYyBMaWNlbnNlIDEuMCAoTVBMKScsCisnTGljZW5zZSA6OiBPU0kgQXBwcm92ZWQgOjogTW96aWxsYSBQdWJsaWMgTGljZW5zZSAxLjEgKE1QTCAxLjEpJywKKydMaWNlbnNlIDo6IE9TSSBBcHByb3ZlZCA6OiBOZXRoYWNrIEdlbmVyYWwgUHVibGljIExpY2Vuc2UnLAorJ0xpY2Vuc2UgOjogT1NJIEFwcHJvdmVkIDo6IE5va2lhIE9wZW4gU291cmNlIExpY2Vuc2UnLAorJ0xpY2Vuc2UgOjogT1NJIEFwcHJvdmVkIDo6IE9wZW4gR3JvdXAgVGVzdCBTdWl0ZSBMaWNlbnNlJywKKydMaWNlbnNlIDo6IE9TSSBBcHByb3ZlZCA6OiBQeXRob24gTGljZW5zZSAoQ05SSSBQeXRob24gTGljZW5zZSknLAorJ0xpY2Vuc2UgOjogT1NJIEFwcHJvdmVkIDo6IFB5dGhvbiBTb2Z0d2FyZSBGb3VuZGF0aW9uIExpY2Vuc2UnLAorJ0xpY2Vuc2UgOjogT1NJIEFwcHJvdmVkIDo6IFF0IFB1YmxpYyBMaWNlbnNlIChRUEwpJywKKydMaWNlbnNlIDo6IE9TSSBBcHByb3ZlZCA6OiBSaWNvaCBTb3VyY2UgQ29kZSBQdWJsaWMgTGljZW5zZScsCisnTGljZW5zZSA6OiBPU0kgQXBwcm92ZWQgOjogU2xlZXB5Y2F0IExpY2Vuc2UnLAorJ0xpY2Vuc2UgOjogT1NJIEFwcHJvdmVkIDo6IFN1biBJbmR1c3RyeSBTdGFuZGFyZHMgU291cmNlIExpY2Vuc2UgKFNJU1NMKScsCisnTGljZW5zZSA6OiBPU0kgQXBwcm92ZWQgOjogU3VuIFB1YmxpYyBMaWNlbnNlJywKKydMaWNlbnNlIDo6IE9TSSBBcHByb3ZlZCA6OiBVbml2ZXJzaXR5IG9mIElsbGlub2lzL05DU0EgT3BlbiBTb3VyY2UgTGljZW5zZScsCisnTGljZW5zZSA6OiBPU0kgQXBwcm92ZWQgOjogVm92aWRhIFNvZnR3YXJlIExpY2Vuc2UgMS4wJywKKydMaWNlbnNlIDo6IE9TSSBBcHByb3ZlZCA6OiBXM0MgTGljZW5zZScsCisnTGljZW5zZSA6OiBPU0kgQXBwcm92ZWQgOjogWC5OZXQgTGljZW5zZScsCisnTGljZW5zZSA6OiBPU0kgQXBwcm92ZWQgOjogemxpYi9saWJwbmcgTGljZW5zZScsCisnTGljZW5zZSA6OiBPU0kgQXBwcm92ZWQgOjogWm9wZSBQdWJsaWMgTGljZW5zZScsCisnTGljZW5zZSA6OiBPdGhlci9Qcm9wcmlldGFyeSBMaWNlbnNlJywKKydMaWNlbnNlIDo6IFB1YmxpYyBEb21haW4nLAorJ0xpY2Vuc2UgOjogUmVwb3plIFB1YmxpYyBMaWNlbnNlJywKKydOYXR1cmFsIExhbmd1YWdlIDo6IEFmcmlrYWFucycsCisnTmF0dXJhbCBMYW5ndWFnZSA6OiBBcmFiaWMnLAorJ05hdHVyYWwgTGFuZ3VhZ2UgOjogQmVuZ2FsaScsCisnTmF0dXJhbCBMYW5ndWFnZSA6OiBCb3NuaWFuJywKKydOYXR1cmFsIExhbmd1YWdlIDo6IEJ1bGdhcmlhbicsCisnTmF0dXJhbCBMYW5ndWFnZSA6OiBDYXRhbGFuJywKKydOYXR1cmFsIExhbmd1YWdlIDo6IENoaW5lc2UgKFNpbXBsaWZpZWQpJywKKydOYXR1cmFsIExhbmd1YWdlIDo6IENoaW5lc2UgKFRyYWRpdGlvbmFsKScsCisnTmF0dXJhbCBMYW5ndWFnZSA6OiBDcm9hdGlhbicsCisnTmF0dXJhbCBMYW5ndWFnZSA6OiBDemVjaCcsCisnTmF0dXJhbCBMYW5ndWFnZSA6OiBEYW5pc2gnLAorJ05hdHVyYWwgTGFuZ3VhZ2UgOjogRHV0Y2gnLAorJ05hdHVyYWwgTGFuZ3VhZ2UgOjogRW5nbGlzaCcsCisnTmF0dXJhbCBMYW5ndWFnZSA6OiBFc3BlcmFudG8nLAorJ05hdHVyYWwgTGFuZ3VhZ2UgOjogRmlubmlzaCcsCisnTmF0dXJhbCBMYW5ndWFnZSA6OiBGcmVuY2gnLAorJ05hdHVyYWwgTGFuZ3VhZ2UgOjogR2VybWFuJywKKydOYXR1cmFsIExhbmd1YWdlIDo6IEdyZWVrJywKKydOYXR1cmFsIExhbmd1YWdlIDo6IEhlYnJldycsCisnTmF0dXJhbCBMYW5ndWFnZSA6OiBIaW5kaScsCisnTmF0dXJhbCBMYW5ndWFnZSA6OiBIdW5nYXJpYW4nLAorJ05hdHVyYWwgTGFuZ3VhZ2UgOjogSWNlbGFuZGljJywKKydOYXR1cmFsIExhbmd1YWdlIDo6IEluZG9uZXNpYW4nLAorJ05hdHVyYWwgTGFuZ3VhZ2UgOjogSXRhbGlhbicsCisnTmF0dXJhbCBMYW5ndWFnZSA6OiBKYXBhbmVzZScsCisnTmF0dXJhbCBMYW5ndWFnZSA6OiBKYXZhbmVzZScsCisnTmF0dXJhbCBMYW5ndWFnZSA6OiBLb3JlYW4nLAorJ05hdHVyYWwgTGFuZ3VhZ2UgOjogTGF0aW4nLAorJ05hdHVyYWwgTGFuZ3VhZ2UgOjogTGF0dmlhbicsCisnTmF0dXJhbCBMYW5ndWFnZSA6OiBNYWNlZG9uaWFuJywKKydOYXR1cmFsIExhbmd1YWdlIDo6IE1hbGF5JywKKydOYXR1cmFsIExhbmd1YWdlIDo6IE1hcmF0aGknLAorJ05hdHVyYWwgTGFuZ3VhZ2UgOjogTm9yd2VnaWFuJywKKydOYXR1cmFsIExhbmd1YWdlIDo6IFBhbmphYmknLAorJ05hdHVyYWwgTGFuZ3VhZ2UgOjogUGVyc2lhbicsCisnTmF0dXJhbCBMYW5ndWFnZSA6OiBQb2xpc2gnLAorJ05hdHVyYWwgTGFuZ3VhZ2UgOjogUG9ydHVndWVzZScsCisnTmF0dXJhbCBMYW5ndWFnZSA6OiBQb3J0dWd1ZXNlIChCcmF6aWxpYW4pJywKKydOYXR1cmFsIExhbmd1YWdlIDo6IFJvbWFuaWFuJywKKydOYXR1cmFsIExhbmd1YWdlIDo6IFJ1c3NpYW4nLAorJ05hdHVyYWwgTGFuZ3VhZ2UgOjogU2VyYmlhbicsCisnTmF0dXJhbCBMYW5ndWFnZSA6OiBTbG92YWsnLAorJ05hdHVyYWwgTGFuZ3VhZ2UgOjogU2xvdmVuaWFuJywKKydOYXR1cmFsIExhbmd1YWdlIDo6IFNwYW5pc2gnLAorJ05hdHVyYWwgTGFuZ3VhZ2UgOjogU3dlZGlzaCcsCisnTmF0dXJhbCBMYW5ndWFnZSA6OiBUYW1pbCcsCisnTmF0dXJhbCBMYW5ndWFnZSA6OiBUZWx1Z3UnLAorJ05hdHVyYWwgTGFuZ3VhZ2UgOjogVGhhaScsCisnTmF0dXJhbCBMYW5ndWFnZSA6OiBUdXJraXNoJywKKydOYXR1cmFsIExhbmd1YWdlIDo6IFVrcmFuaWFuJywKKydOYXR1cmFsIExhbmd1YWdlIDo6IFVyZHUnLAorJ05hdHVyYWwgTGFuZ3VhZ2UgOjogVmlldG5hbWVzZScsCisnT3BlcmF0aW5nIFN5c3RlbSA6OiBCZU9TJywKKydPcGVyYXRpbmcgU3lzdGVtIDo6IE1hY09TJywKKydPcGVyYXRpbmcgU3lzdGVtIDo6IE1hY09TIDo6IE1hY09TIDknLAorJ09wZXJhdGluZyBTeXN0ZW0gOjogTWFjT1MgOjogTWFjT1MgWCcsCisnT3BlcmF0aW5nIFN5c3RlbSA6OiBNaWNyb3NvZnQnLAorJ09wZXJhdGluZyBTeXN0ZW0gOjogTWljcm9zb2Z0IDo6IE1TLURPUycsCisnT3BlcmF0aW5nIFN5c3RlbSA6OiBNaWNyb3NvZnQgOjogV2luZG93cycsCisnT3BlcmF0aW5nIFN5c3RlbSA6OiBNaWNyb3NvZnQgOjogV2luZG93cyA6OiBXaW5kb3dzIDMuMSBvciBFYXJsaWVyJywKKydPcGVyYXRpbmcgU3lzdGVtIDo6IE1pY3Jvc29mdCA6OiBXaW5kb3dzIDo6IFdpbmRvd3MgOTUvOTgvMjAwMCcsCisnT3BlcmF0aW5nIFN5c3RlbSA6OiBNaWNyb3NvZnQgOjogV2luZG93cyA6OiBXaW5kb3dzIENFJywKKydPcGVyYXRpbmcgU3lzdGVtIDo6IE1pY3Jvc29mdCA6OiBXaW5kb3dzIDo6IFdpbmRvd3MgTlQvMjAwMCcsCisnT3BlcmF0aW5nIFN5c3RlbSA6OiBPUy8yJywKKydPcGVyYXRpbmcgU3lzdGVtIDo6IE9TIEluZGVwZW5kZW50JywKKydPcGVyYXRpbmcgU3lzdGVtIDo6IE90aGVyIE9TJywKKydPcGVyYXRpbmcgU3lzdGVtIDo6IFBhbG1PUycsCisnT3BlcmF0aW5nIFN5c3RlbSA6OiBQREEgU3lzdGVtcycsCisnT3BlcmF0aW5nIFN5c3RlbSA6OiBQT1NJWCcsCisnT3BlcmF0aW5nIFN5c3RlbSA6OiBQT1NJWCA6OiBBSVgnLAorJ09wZXJhdGluZyBTeXN0ZW0gOjogUE9TSVggOjogQlNEJywKKydPcGVyYXRpbmcgU3lzdGVtIDo6IFBPU0lYIDo6IEJTRCA6OiBCU0QvT1MnLAorJ09wZXJhdGluZyBTeXN0ZW0gOjogUE9TSVggOjogQlNEIDo6IEZyZWVCU0QnLAorJ09wZXJhdGluZyBTeXN0ZW0gOjogUE9TSVggOjogQlNEIDo6IE5ldEJTRCcsCisnT3BlcmF0aW5nIFN5c3RlbSA6OiBQT1NJWCA6OiBCU0QgOjogT3BlbkJTRCcsCisnT3BlcmF0aW5nIFN5c3RlbSA6OiBQT1NJWCA6OiBHTlUgSHVyZCcsCisnT3BlcmF0aW5nIFN5c3RlbSA6OiBQT1NJWCA6OiBIUC1VWCcsCisnT3BlcmF0aW5nIFN5c3RlbSA6OiBQT1NJWCA6OiBJUklYJywKKydPcGVyYXRpbmcgU3lzdGVtIDo6IFBPU0lYIDo6IExpbnV4JywKKydPcGVyYXRpbmcgU3lzdGVtIDo6IFBPU0lYIDo6IE90aGVyJywKKydPcGVyYXRpbmcgU3lzdGVtIDo6IFBPU0lYIDo6IFNDTycsCisnT3BlcmF0aW5nIFN5c3RlbSA6OiBQT1NJWCA6OiBTdW5PUy9Tb2xhcmlzJywKKydPcGVyYXRpbmcgU3lzdGVtIDo6IFVuaXgnLAorJ1Byb2dyYW1taW5nIExhbmd1YWdlIDo6IEFkYScsCisnUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogQVBMJywKKydQcm9ncmFtbWluZyBMYW5ndWFnZSA6OiBBU1AnLAorJ1Byb2dyYW1taW5nIExhbmd1YWdlIDo6IEFzc2VtYmx5JywKKydQcm9ncmFtbWluZyBMYW5ndWFnZSA6OiBBd2snLAorJ1Byb2dyYW1taW5nIExhbmd1YWdlIDo6IEJhc2ljJywKKydQcm9ncmFtbWluZyBMYW5ndWFnZSA6OiBDJywKKydQcm9ncmFtbWluZyBMYW5ndWFnZSA6OiBDIycsCisnUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogQysrJywKKydQcm9ncmFtbWluZyBMYW5ndWFnZSA6OiBDb2xkIEZ1c2lvbicsCisnUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogQ3l0aG9uJywKKydQcm9ncmFtbWluZyBMYW5ndWFnZSA6OiBEZWxwaGkvS3lsaXgnLAorJ1Byb2dyYW1taW5nIExhbmd1YWdlIDo6IER5bGFuJywKKydQcm9ncmFtbWluZyBMYW5ndWFnZSA6OiBFaWZmZWwnLAorJ1Byb2dyYW1taW5nIExhbmd1YWdlIDo6IEVtYWNzLUxpc3AnLAorJ1Byb2dyYW1taW5nIExhbmd1YWdlIDo6IEVybGFuZycsCisnUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogRXVsZXInLAorJ1Byb2dyYW1taW5nIExhbmd1YWdlIDo6IEV1cGhvcmlhJywKKydQcm9ncmFtbWluZyBMYW5ndWFnZSA6OiBGb3J0aCcsCisnUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogRm9ydHJhbicsCisnUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogSGFza2VsbCcsCisnUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogSmF2YScsCisnUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogSmF2YVNjcmlwdCcsCisnUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogTGlzcCcsCisnUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogTG9nbycsCisnUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogTUwnLAorJ1Byb2dyYW1taW5nIExhbmd1YWdlIDo6IE1vZHVsYScsCisnUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogT2JqZWN0aXZlIEMnLAorJ1Byb2dyYW1taW5nIExhbmd1YWdlIDo6IE9iamVjdCBQYXNjYWwnLAorJ1Byb2dyYW1taW5nIExhbmd1YWdlIDo6IE9DYW1sJywKKydQcm9ncmFtbWluZyBMYW5ndWFnZSA6OiBPdGhlcicsCisnUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogT3RoZXIgU2NyaXB0aW5nIEVuZ2luZXMnLAorJ1Byb2dyYW1taW5nIExhbmd1YWdlIDo6IFBhc2NhbCcsCisnUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogUGVybCcsCisnUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogUEhQJywKKydQcm9ncmFtbWluZyBMYW5ndWFnZSA6OiBQaWtlJywKKydQcm9ncmFtbWluZyBMYW5ndWFnZSA6OiBQbGlhbnQnLAorJ1Byb2dyYW1taW5nIExhbmd1YWdlIDo6IFBML1NRTCcsCisnUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogUFJPR1JFU1MnLAorJ1Byb2dyYW1taW5nIExhbmd1YWdlIDo6IFByb2xvZycsCisnUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogUHl0aG9uJywKKydQcm9ncmFtbWluZyBMYW5ndWFnZSA6OiBQeXRob24gOjogMicsCisnUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogUHl0aG9uIDo6IDIuMycsCisnUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogUHl0aG9uIDo6IDIuNCcsCisnUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogUHl0aG9uIDo6IDIuNScsCisnUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogUHl0aG9uIDo6IDIuNicsCisnUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogUHl0aG9uIDo6IDIuNycsCisnUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogUHl0aG9uIDo6IDMnLAorJ1Byb2dyYW1taW5nIExhbmd1YWdlIDo6IFB5dGhvbiA6OiAzLjAnLAorJ1Byb2dyYW1taW5nIExhbmd1YWdlIDo6IFB5dGhvbiA6OiAzLjEnLAorJ1Byb2dyYW1taW5nIExhbmd1YWdlIDo6IFB5dGhvbiA6OiAzLjInLAorJ1Byb2dyYW1taW5nIExhbmd1YWdlIDo6IFB5dGhvbiA6OiBJbXBsZW1lbnRhdGlvbicsCisnUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogUHl0aG9uIDo6IEltcGxlbWVudGF0aW9uIDo6IENQeXRob24nLAorJ1Byb2dyYW1taW5nIExhbmd1YWdlIDo6IFB5dGhvbiA6OiBJbXBsZW1lbnRhdGlvbiA6OiBJcm9uUHl0aG9uJywKKydQcm9ncmFtbWluZyBMYW5ndWFnZSA6OiBQeXRob24gOjogSW1wbGVtZW50YXRpb24gOjogSnl0aG9uJywKKydQcm9ncmFtbWluZyBMYW5ndWFnZSA6OiBQeXRob24gOjogSW1wbGVtZW50YXRpb24gOjogUHlQeScsCisnUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogUHl0aG9uIDo6IEltcGxlbWVudGF0aW9uIDo6IFN0YWNrbGVzcycsCisnUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogUkVCT0wnLAorJ1Byb2dyYW1taW5nIExhbmd1YWdlIDo6IFJleHgnLAorJ1Byb2dyYW1taW5nIExhbmd1YWdlIDo6IFJ1YnknLAorJ1Byb2dyYW1taW5nIExhbmd1YWdlIDo6IFNjaGVtZScsCisnUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogU2ltdWxhJywKKydQcm9ncmFtbWluZyBMYW5ndWFnZSA6OiBTbWFsbHRhbGsnLAorJ1Byb2dyYW1taW5nIExhbmd1YWdlIDo6IFNRTCcsCisnUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogVGNsJywKKydQcm9ncmFtbWluZyBMYW5ndWFnZSA6OiBVbml4IFNoZWxsJywKKydQcm9ncmFtbWluZyBMYW5ndWFnZSA6OiBWaXN1YWwgQmFzaWMnLAorJ1Byb2dyYW1taW5nIExhbmd1YWdlIDo6IFhCYXNpYycsCisnUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogWUFDQycsCisnUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogWm9wZScsCisnVG9waWMgOjogQWRhcHRpdmUgVGVjaG5vbG9naWVzJywKKydUb3BpYyA6OiBBcnRpc3RpYyBTb2Z0d2FyZScsCisnVG9waWMgOjogQ29tbXVuaWNhdGlvbnMnLAorJ1RvcGljIDo6IENvbW11bmljYXRpb25zIDo6IEJCUycsCisnVG9waWMgOjogQ29tbXVuaWNhdGlvbnMgOjogQ2hhdCcsCisnVG9waWMgOjogQ29tbXVuaWNhdGlvbnMgOjogQ2hhdCA6OiBBT0wgSW5zdGFudCBNZXNzZW5nZXInLAorJ1RvcGljIDo6IENvbW11bmljYXRpb25zIDo6IENoYXQgOjogSUNRJywKKydUb3BpYyA6OiBDb21tdW5pY2F0aW9ucyA6OiBDaGF0IDo6IEludGVybmV0IFJlbGF5IENoYXQnLAorJ1RvcGljIDo6IENvbW11bmljYXRpb25zIDo6IENoYXQgOjogVW5peCBUYWxrJywKKydUb3BpYyA6OiBDb21tdW5pY2F0aW9ucyA6OiBDb25mZXJlbmNpbmcnLAorJ1RvcGljIDo6IENvbW11bmljYXRpb25zIDo6IEVtYWlsJywKKydUb3BpYyA6OiBDb21tdW5pY2F0aW9ucyA6OiBFbWFpbCA6OiBBZGRyZXNzIEJvb2snLAorJ1RvcGljIDo6IENvbW11bmljYXRpb25zIDo6IEVtYWlsIDo6IEVtYWlsIENsaWVudHMgKE1VQSknLAorJ1RvcGljIDo6IENvbW11bmljYXRpb25zIDo6IEVtYWlsIDo6IEZpbHRlcnMnLAorJ1RvcGljIDo6IENvbW11bmljYXRpb25zIDo6IEVtYWlsIDo6IE1haWxpbmcgTGlzdCBTZXJ2ZXJzJywKKydUb3BpYyA6OiBDb21tdW5pY2F0aW9ucyA6OiBFbWFpbCA6OiBNYWlsIFRyYW5zcG9ydCBBZ2VudHMnLAorJ1RvcGljIDo6IENvbW11bmljYXRpb25zIDo6IEVtYWlsIDo6IFBvc3QtT2ZmaWNlJywKKydUb3BpYyA6OiBDb21tdW5pY2F0aW9ucyA6OiBFbWFpbCA6OiBQb3N0LU9mZmljZSA6OiBJTUFQJywKKydUb3BpYyA6OiBDb21tdW5pY2F0aW9ucyA6OiBFbWFpbCA6OiBQb3N0LU9mZmljZSA6OiBQT1AzJywKKydUb3BpYyA6OiBDb21tdW5pY2F0aW9ucyA6OiBGYXgnLAorJ1RvcGljIDo6IENvbW11bmljYXRpb25zIDo6IEZJRE8nLAorJ1RvcGljIDo6IENvbW11bmljYXRpb25zIDo6IEZpbGUgU2hhcmluZycsCisnVG9waWMgOjogQ29tbXVuaWNhdGlvbnMgOjogRmlsZSBTaGFyaW5nIDo6IEdudXRlbGxhJywKKydUb3BpYyA6OiBDb21tdW5pY2F0aW9ucyA6OiBGaWxlIFNoYXJpbmcgOjogTmFwc3RlcicsCisnVG9waWMgOjogQ29tbXVuaWNhdGlvbnMgOjogSGFtIFJhZGlvJywKKydUb3BpYyA6OiBDb21tdW5pY2F0aW9ucyA6OiBJbnRlcm5ldCBQaG9uZScsCisnVG9waWMgOjogQ29tbXVuaWNhdGlvbnMgOjogVGVsZXBob255JywKKydUb3BpYyA6OiBDb21tdW5pY2F0aW9ucyA6OiBVc2VuZXQgTmV3cycsCisnVG9waWMgOjogRGF0YWJhc2UnLAorJ1RvcGljIDo6IERhdGFiYXNlIDo6IERhdGFiYXNlIEVuZ2luZXMvU2VydmVycycsCisnVG9waWMgOjogRGF0YWJhc2UgOjogRnJvbnQtRW5kcycsCisnVG9waWMgOjogRGVza3RvcCBFbnZpcm9ubWVudCcsCisnVG9waWMgOjogRGVza3RvcCBFbnZpcm9ubWVudCA6OiBGaWxlIE1hbmFnZXJzJywKKydUb3BpYyA6OiBEZXNrdG9wIEVudmlyb25tZW50IDo6IEdub21lJywKKydUb3BpYyA6OiBEZXNrdG9wIEVudmlyb25tZW50IDo6IEdOVXN0ZXAnLAorJ1RvcGljIDo6IERlc2t0b3AgRW52aXJvbm1lbnQgOjogSyBEZXNrdG9wIEVudmlyb25tZW50IChLREUpJywKKydUb3BpYyA6OiBEZXNrdG9wIEVudmlyb25tZW50IDo6IEsgRGVza3RvcCBFbnZpcm9ubWVudCAoS0RFKSA6OiBUaGVtZXMnLAorJ1RvcGljIDo6IERlc2t0b3AgRW52aXJvbm1lbnQgOjogUGljb0dVSScsCisnVG9waWMgOjogRGVza3RvcCBFbnZpcm9ubWVudCA6OiBQaWNvR1VJIDo6IEFwcGxpY2F0aW9ucycsCisnVG9waWMgOjogRGVza3RvcCBFbnZpcm9ubWVudCA6OiBQaWNvR1VJIDo6IFRoZW1lcycsCisnVG9waWMgOjogRGVza3RvcCBFbnZpcm9ubWVudCA6OiBTY3JlZW4gU2F2ZXJzJywKKydUb3BpYyA6OiBEZXNrdG9wIEVudmlyb25tZW50IDo6IFdpbmRvdyBNYW5hZ2VycycsCisnVG9waWMgOjogRGVza3RvcCBFbnZpcm9ubWVudCA6OiBXaW5kb3cgTWFuYWdlcnMgOjogQWZ0ZXJzdGVwJywKKydUb3BpYyA6OiBEZXNrdG9wIEVudmlyb25tZW50IDo6IFdpbmRvdyBNYW5hZ2VycyA6OiBBZnRlcnN0ZXAgOjogVGhlbWVzJywKKydUb3BpYyA6OiBEZXNrdG9wIEVudmlyb25tZW50IDo6IFdpbmRvdyBNYW5hZ2VycyA6OiBBcHBsZXRzJywKKydUb3BpYyA6OiBEZXNrdG9wIEVudmlyb25tZW50IDo6IFdpbmRvdyBNYW5hZ2VycyA6OiBCbGFja2JveCcsCisnVG9waWMgOjogRGVza3RvcCBFbnZpcm9ubWVudCA6OiBXaW5kb3cgTWFuYWdlcnMgOjogQmxhY2tib3ggOjogVGhlbWVzJywKKydUb3BpYyA6OiBEZXNrdG9wIEVudmlyb25tZW50IDo6IFdpbmRvdyBNYW5hZ2VycyA6OiBDVFdNJywKKydUb3BpYyA6OiBEZXNrdG9wIEVudmlyb25tZW50IDo6IFdpbmRvdyBNYW5hZ2VycyA6OiBDVFdNIDo6IFRoZW1lcycsCisnVG9waWMgOjogRGVza3RvcCBFbnZpcm9ubWVudCA6OiBXaW5kb3cgTWFuYWdlcnMgOjogRW5saWdodGVubWVudCcsCisnVG9waWMgOjogRGVza3RvcCBFbnZpcm9ubWVudCA6OiBXaW5kb3cgTWFuYWdlcnMgOjogRW5saWdodGVubWVudCA6OiBFcHBsZXRzJywKKydUb3BpYyA6OiBEZXNrdG9wIEVudmlyb25tZW50IDo6IFdpbmRvdyBNYW5hZ2VycyA6OiBFbmxpZ2h0ZW5tZW50IDo6IFRoZW1lcyBEUjE1JywKKydUb3BpYyA6OiBEZXNrdG9wIEVudmlyb25tZW50IDo6IFdpbmRvdyBNYW5hZ2VycyA6OiBFbmxpZ2h0ZW5tZW50IDo6IFRoZW1lcyBEUjE2JywKKydUb3BpYyA6OiBEZXNrdG9wIEVudmlyb25tZW50IDo6IFdpbmRvdyBNYW5hZ2VycyA6OiBFbmxpZ2h0ZW5tZW50IDo6IFRoZW1lcyBEUjE3JywKKydUb3BpYyA6OiBEZXNrdG9wIEVudmlyb25tZW50IDo6IFdpbmRvdyBNYW5hZ2VycyA6OiBGbHV4Ym94JywKKydUb3BpYyA6OiBEZXNrdG9wIEVudmlyb25tZW50IDo6IFdpbmRvdyBNYW5hZ2VycyA6OiBGbHV4Ym94IDo6IFRoZW1lcycsCisnVG9waWMgOjogRGVza3RvcCBFbnZpcm9ubWVudCA6OiBXaW5kb3cgTWFuYWdlcnMgOjogRlZXTScsCisnVG9waWMgOjogRGVza3RvcCBFbnZpcm9ubWVudCA6OiBXaW5kb3cgTWFuYWdlcnMgOjogRlZXTSA6OiBUaGVtZXMnLAorJ1RvcGljIDo6IERlc2t0b3AgRW52aXJvbm1lbnQgOjogV2luZG93IE1hbmFnZXJzIDo6IEljZVdNJywKKydUb3BpYyA6OiBEZXNrdG9wIEVudmlyb25tZW50IDo6IFdpbmRvdyBNYW5hZ2VycyA6OiBJY2VXTSA6OiBUaGVtZXMnLAorJ1RvcGljIDo6IERlc2t0b3AgRW52aXJvbm1lbnQgOjogV2luZG93IE1hbmFnZXJzIDo6IE1ldGFDaXR5JywKKydUb3BpYyA6OiBEZXNrdG9wIEVudmlyb25tZW50IDo6IFdpbmRvdyBNYW5hZ2VycyA6OiBNZXRhQ2l0eSA6OiBUaGVtZXMnLAorJ1RvcGljIDo6IERlc2t0b3AgRW52aXJvbm1lbnQgOjogV2luZG93IE1hbmFnZXJzIDo6IE9yb2JvcnVzJywKKydUb3BpYyA6OiBEZXNrdG9wIEVudmlyb25tZW50IDo6IFdpbmRvdyBNYW5hZ2VycyA6OiBPcm9ib3J1cyA6OiBUaGVtZXMnLAorJ1RvcGljIDo6IERlc2t0b3AgRW52aXJvbm1lbnQgOjogV2luZG93IE1hbmFnZXJzIDo6IFNhd2Zpc2gnLAorJ1RvcGljIDo6IERlc2t0b3AgRW52aXJvbm1lbnQgOjogV2luZG93IE1hbmFnZXJzIDo6IFNhd2Zpc2ggOjogVGhlbWVzIDAuMzAnLAorJ1RvcGljIDo6IERlc2t0b3AgRW52aXJvbm1lbnQgOjogV2luZG93IE1hbmFnZXJzIDo6IFNhd2Zpc2ggOjogVGhlbWVzIHByZS0wLjMwJywKKydUb3BpYyA6OiBEZXNrdG9wIEVudmlyb25tZW50IDo6IFdpbmRvdyBNYW5hZ2VycyA6OiBXYWltZWEnLAorJ1RvcGljIDo6IERlc2t0b3AgRW52aXJvbm1lbnQgOjogV2luZG93IE1hbmFnZXJzIDo6IFdhaW1lYSA6OiBUaGVtZXMnLAorJ1RvcGljIDo6IERlc2t0b3AgRW52aXJvbm1lbnQgOjogV2luZG93IE1hbmFnZXJzIDo6IFdpbmRvdyBNYWtlcicsCisnVG9waWMgOjogRGVza3RvcCBFbnZpcm9ubWVudCA6OiBXaW5kb3cgTWFuYWdlcnMgOjogV2luZG93IE1ha2VyIDo6IEFwcGxldHMnLAorJ1RvcGljIDo6IERlc2t0b3AgRW52aXJvbm1lbnQgOjogV2luZG93IE1hbmFnZXJzIDo6IFdpbmRvdyBNYWtlciA6OiBUaGVtZXMnLAorJ1RvcGljIDo6IERlc2t0b3AgRW52aXJvbm1lbnQgOjogV2luZG93IE1hbmFnZXJzIDo6IFhGQ0UnLAorJ1RvcGljIDo6IERlc2t0b3AgRW52aXJvbm1lbnQgOjogV2luZG93IE1hbmFnZXJzIDo6IFhGQ0UgOjogVGhlbWVzJywKKydUb3BpYyA6OiBEb2N1bWVudGF0aW9uJywKKydUb3BpYyA6OiBFZHVjYXRpb24nLAorJ1RvcGljIDo6IEVkdWNhdGlvbiA6OiBDb21wdXRlciBBaWRlZCBJbnN0cnVjdGlvbiAoQ0FJKScsCisnVG9waWMgOjogRWR1Y2F0aW9uIDo6IFRlc3RpbmcnLAorJ1RvcGljIDo6IEdhbWVzL0VudGVydGFpbm1lbnQnLAorJ1RvcGljIDo6IEdhbWVzL0VudGVydGFpbm1lbnQgOjogQXJjYWRlJywKKydUb3BpYyA6OiBHYW1lcy9FbnRlcnRhaW5tZW50IDo6IEJvYXJkIEdhbWVzJywKKydUb3BpYyA6OiBHYW1lcy9FbnRlcnRhaW5tZW50IDo6IEZpcnN0IFBlcnNvbiBTaG9vdGVycycsCisnVG9waWMgOjogR2FtZXMvRW50ZXJ0YWlubWVudCA6OiBGb3J0dW5lIENvb2tpZXMnLAorJ1RvcGljIDo6IEdhbWVzL0VudGVydGFpbm1lbnQgOjogTXVsdGktVXNlciBEdW5nZW9ucyAoTVVEKScsCisnVG9waWMgOjogR2FtZXMvRW50ZXJ0YWlubWVudCA6OiBQdXp6bGUgR2FtZXMnLAorJ1RvcGljIDo6IEdhbWVzL0VudGVydGFpbm1lbnQgOjogUmVhbCBUaW1lIFN0cmF0ZWd5JywKKydUb3BpYyA6OiBHYW1lcy9FbnRlcnRhaW5tZW50IDo6IFJvbGUtUGxheWluZycsCisnVG9waWMgOjogR2FtZXMvRW50ZXJ0YWlubWVudCA6OiBTaWRlLVNjcm9sbGluZy9BcmNhZGUgR2FtZXMnLAorJ1RvcGljIDo6IEdhbWVzL0VudGVydGFpbm1lbnQgOjogU2ltdWxhdGlvbicsCisnVG9waWMgOjogR2FtZXMvRW50ZXJ0YWlubWVudCA6OiBUdXJuIEJhc2VkIFN0cmF0ZWd5JywKKydUb3BpYyA6OiBIb21lIEF1dG9tYXRpb24nLAorJ1RvcGljIDo6IEludGVybmV0JywKKydUb3BpYyA6OiBJbnRlcm5ldCA6OiBGaWxlIFRyYW5zZmVyIFByb3RvY29sIChGVFApJywKKydUb3BpYyA6OiBJbnRlcm5ldCA6OiBGaW5nZXInLAorJ1RvcGljIDo6IEludGVybmV0IDo6IExvZyBBbmFseXNpcycsCisnVG9waWMgOjogSW50ZXJuZXQgOjogTmFtZSBTZXJ2aWNlIChETlMpJywKKydUb3BpYyA6OiBJbnRlcm5ldCA6OiBQcm94eSBTZXJ2ZXJzJywKKydUb3BpYyA6OiBJbnRlcm5ldCA6OiBXQVAnLAorJ1RvcGljIDo6IEludGVybmV0IDo6IFdXVy9IVFRQJywKKydUb3BpYyA6OiBJbnRlcm5ldCA6OiBXV1cvSFRUUCA6OiBCcm93c2VycycsCisnVG9waWMgOjogSW50ZXJuZXQgOjogV1dXL0hUVFAgOjogRHluYW1pYyBDb250ZW50JywKKydUb3BpYyA6OiBJbnRlcm5ldCA6OiBXV1cvSFRUUCA6OiBEeW5hbWljIENvbnRlbnQgOjogQ0dJIFRvb2xzL0xpYnJhcmllcycsCisnVG9waWMgOjogSW50ZXJuZXQgOjogV1dXL0hUVFAgOjogRHluYW1pYyBDb250ZW50IDo6IE1lc3NhZ2UgQm9hcmRzJywKKydUb3BpYyA6OiBJbnRlcm5ldCA6OiBXV1cvSFRUUCA6OiBEeW5hbWljIENvbnRlbnQgOjogTmV3cy9EaWFyeScsCisnVG9waWMgOjogSW50ZXJuZXQgOjogV1dXL0hUVFAgOjogRHluYW1pYyBDb250ZW50IDo6IFBhZ2UgQ291bnRlcnMnLAorJ1RvcGljIDo6IEludGVybmV0IDo6IFdXVy9IVFRQIDo6IEhUVFAgU2VydmVycycsCisnVG9waWMgOjogSW50ZXJuZXQgOjogV1dXL0hUVFAgOjogSW5kZXhpbmcvU2VhcmNoJywKKydUb3BpYyA6OiBJbnRlcm5ldCA6OiBXV1cvSFRUUCA6OiBTZXNzaW9uJywKKydUb3BpYyA6OiBJbnRlcm5ldCA6OiBXV1cvSFRUUCA6OiBTaXRlIE1hbmFnZW1lbnQnLAorJ1RvcGljIDo6IEludGVybmV0IDo6IFdXVy9IVFRQIDo6IFNpdGUgTWFuYWdlbWVudCA6OiBMaW5rIENoZWNraW5nJywKKydUb3BpYyA6OiBJbnRlcm5ldCA6OiBXV1cvSFRUUCA6OiBXU0dJJywKKydUb3BpYyA6OiBJbnRlcm5ldCA6OiBXV1cvSFRUUCA6OiBXU0dJIDo6IEFwcGxpY2F0aW9uJywKKydUb3BpYyA6OiBJbnRlcm5ldCA6OiBXV1cvSFRUUCA6OiBXU0dJIDo6IE1pZGRsZXdhcmUnLAorJ1RvcGljIDo6IEludGVybmV0IDo6IFdXVy9IVFRQIDo6IFdTR0kgOjogU2VydmVyJywKKydUb3BpYyA6OiBJbnRlcm5ldCA6OiBaMzkuNTAnLAorJ1RvcGljIDo6IE11bHRpbWVkaWEnLAorJ1RvcGljIDo6IE11bHRpbWVkaWEgOjogR3JhcGhpY3MnLAorJ1RvcGljIDo6IE11bHRpbWVkaWEgOjogR3JhcGhpY3MgOjogM0QgTW9kZWxpbmcnLAorJ1RvcGljIDo6IE11bHRpbWVkaWEgOjogR3JhcGhpY3MgOjogM0QgUmVuZGVyaW5nJywKKydUb3BpYyA6OiBNdWx0aW1lZGlhIDo6IEdyYXBoaWNzIDo6IENhcHR1cmUnLAorJ1RvcGljIDo6IE11bHRpbWVkaWEgOjogR3JhcGhpY3MgOjogQ2FwdHVyZSA6OiBEaWdpdGFsIENhbWVyYScsCisnVG9waWMgOjogTXVsdGltZWRpYSA6OiBHcmFwaGljcyA6OiBDYXB0dXJlIDo6IFNjYW5uZXJzJywKKydUb3BpYyA6OiBNdWx0aW1lZGlhIDo6IEdyYXBoaWNzIDo6IENhcHR1cmUgOjogU2NyZWVuIENhcHR1cmUnLAorJ1RvcGljIDo6IE11bHRpbWVkaWEgOjogR3JhcGhpY3MgOjogRWRpdG9ycycsCisnVG9waWMgOjogTXVsdGltZWRpYSA6OiBHcmFwaGljcyA6OiBFZGl0b3JzIDo6IFJhc3Rlci1CYXNlZCcsCisnVG9waWMgOjogTXVsdGltZWRpYSA6OiBHcmFwaGljcyA6OiBFZGl0b3JzIDo6IFZlY3Rvci1CYXNlZCcsCisnVG9waWMgOjogTXVsdGltZWRpYSA6OiBHcmFwaGljcyA6OiBHcmFwaGljcyBDb252ZXJzaW9uJywKKydUb3BpYyA6OiBNdWx0aW1lZGlhIDo6IEdyYXBoaWNzIDo6IFByZXNlbnRhdGlvbicsCisnVG9waWMgOjogTXVsdGltZWRpYSA6OiBHcmFwaGljcyA6OiBWaWV3ZXJzJywKKydUb3BpYyA6OiBNdWx0aW1lZGlhIDo6IFNvdW5kL0F1ZGlvJywKKydUb3BpYyA6OiBNdWx0aW1lZGlhIDo6IFNvdW5kL0F1ZGlvIDo6IEFuYWx5c2lzJywKKydUb3BpYyA6OiBNdWx0aW1lZGlhIDo6IFNvdW5kL0F1ZGlvIDo6IENhcHR1cmUvUmVjb3JkaW5nJywKKydUb3BpYyA6OiBNdWx0aW1lZGlhIDo6IFNvdW5kL0F1ZGlvIDo6IENEIEF1ZGlvJywKKydUb3BpYyA6OiBNdWx0aW1lZGlhIDo6IFNvdW5kL0F1ZGlvIDo6IENEIEF1ZGlvIDo6IENEIFBsYXlpbmcnLAorJ1RvcGljIDo6IE11bHRpbWVkaWEgOjogU291bmQvQXVkaW8gOjogQ0QgQXVkaW8gOjogQ0QgUmlwcGluZycsCisnVG9waWMgOjogTXVsdGltZWRpYSA6OiBTb3VuZC9BdWRpbyA6OiBDRCBBdWRpbyA6OiBDRCBXcml0aW5nJywKKydUb3BpYyA6OiBNdWx0aW1lZGlhIDo6IFNvdW5kL0F1ZGlvIDo6IENvbnZlcnNpb24nLAorJ1RvcGljIDo6IE11bHRpbWVkaWEgOjogU291bmQvQXVkaW8gOjogRWRpdG9ycycsCisnVG9waWMgOjogTXVsdGltZWRpYSA6OiBTb3VuZC9BdWRpbyA6OiBNSURJJywKKydUb3BpYyA6OiBNdWx0aW1lZGlhIDo6IFNvdW5kL0F1ZGlvIDo6IE1peGVycycsCisnVG9waWMgOjogTXVsdGltZWRpYSA6OiBTb3VuZC9BdWRpbyA6OiBQbGF5ZXJzJywKKydUb3BpYyA6OiBNdWx0aW1lZGlhIDo6IFNvdW5kL0F1ZGlvIDo6IFBsYXllcnMgOjogTVAzJywKKydUb3BpYyA6OiBNdWx0aW1lZGlhIDo6IFNvdW5kL0F1ZGlvIDo6IFNvdW5kIFN5bnRoZXNpcycsCisnVG9waWMgOjogTXVsdGltZWRpYSA6OiBTb3VuZC9BdWRpbyA6OiBTcGVlY2gnLAorJ1RvcGljIDo6IE11bHRpbWVkaWEgOjogVmlkZW8nLAorJ1RvcGljIDo6IE11bHRpbWVkaWEgOjogVmlkZW8gOjogQ2FwdHVyZScsCisnVG9waWMgOjogTXVsdGltZWRpYSA6OiBWaWRlbyA6OiBDb252ZXJzaW9uJywKKydUb3BpYyA6OiBNdWx0aW1lZGlhIDo6IFZpZGVvIDo6IERpc3BsYXknLAorJ1RvcGljIDo6IE11bHRpbWVkaWEgOjogVmlkZW8gOjogTm9uLUxpbmVhciBFZGl0b3InLAorJ1RvcGljIDo6IE9mZmljZS9CdXNpbmVzcycsCisnVG9waWMgOjogT2ZmaWNlL0J1c2luZXNzIDo6IEZpbmFuY2lhbCcsCisnVG9waWMgOjogT2ZmaWNlL0J1c2luZXNzIDo6IEZpbmFuY2lhbCA6OiBBY2NvdW50aW5nJywKKydUb3BpYyA6OiBPZmZpY2UvQnVzaW5lc3MgOjogRmluYW5jaWFsIDo6IEludmVzdG1lbnQnLAorJ1RvcGljIDo6IE9mZmljZS9CdXNpbmVzcyA6OiBGaW5hbmNpYWwgOjogUG9pbnQtT2YtU2FsZScsCisnVG9waWMgOjogT2ZmaWNlL0J1c2luZXNzIDo6IEZpbmFuY2lhbCA6OiBTcHJlYWRzaGVldCcsCisnVG9waWMgOjogT2ZmaWNlL0J1c2luZXNzIDo6IEdyb3Vwd2FyZScsCisnVG9waWMgOjogT2ZmaWNlL0J1c2luZXNzIDo6IE5ld3MvRGlhcnknLAorJ1RvcGljIDo6IE9mZmljZS9CdXNpbmVzcyA6OiBPZmZpY2UgU3VpdGVzJywKKydUb3BpYyA6OiBPZmZpY2UvQnVzaW5lc3MgOjogU2NoZWR1bGluZycsCisnVG9waWMgOjogT3RoZXIvTm9ubGlzdGVkIFRvcGljJywKKydUb3BpYyA6OiBQcmludGluZycsCisnVG9waWMgOjogUmVsaWdpb24nLAorJ1RvcGljIDo6IFNjaWVudGlmaWMvRW5naW5lZXJpbmcnLAorJ1RvcGljIDo6IFNjaWVudGlmaWMvRW5naW5lZXJpbmcgOjogQXJ0aWZpY2lhbCBMaWZlJywKKydUb3BpYyA6OiBTY2llbnRpZmljL0VuZ2luZWVyaW5nIDo6IEFydGlmaWNpYWwgSW50ZWxsaWdlbmNlJywKKydUb3BpYyA6OiBTY2llbnRpZmljL0VuZ2luZWVyaW5nIDo6IEFzdHJvbm9teScsCisnVG9waWMgOjogU2NpZW50aWZpYy9FbmdpbmVlcmluZyA6OiBBdG1vc3BoZXJpYyBTY2llbmNlJywKKydUb3BpYyA6OiBTY2llbnRpZmljL0VuZ2luZWVyaW5nIDo6IEJpby1JbmZvcm1hdGljcycsCisnVG9waWMgOjogU2NpZW50aWZpYy9FbmdpbmVlcmluZyA6OiBDaGVtaXN0cnknLAorJ1RvcGljIDo6IFNjaWVudGlmaWMvRW5naW5lZXJpbmcgOjogRWxlY3Ryb25pYyBEZXNpZ24gQXV0b21hdGlvbiAoRURBKScsCisnVG9waWMgOjogU2NpZW50aWZpYy9FbmdpbmVlcmluZyA6OiBHSVMnLAorJ1RvcGljIDo6IFNjaWVudGlmaWMvRW5naW5lZXJpbmcgOjogSHVtYW4gTWFjaGluZSBJbnRlcmZhY2VzJywKKydUb3BpYyA6OiBTY2llbnRpZmljL0VuZ2luZWVyaW5nIDo6IEltYWdlIFJlY29nbml0aW9uJywKKydUb3BpYyA6OiBTY2llbnRpZmljL0VuZ2luZWVyaW5nIDo6IEluZm9ybWF0aW9uIEFuYWx5c2lzJywKKydUb3BpYyA6OiBTY2llbnRpZmljL0VuZ2luZWVyaW5nIDo6IEludGVyZmFjZSBFbmdpbmUvUHJvdG9jb2wgVHJhbnNsYXRvcicsCisnVG9waWMgOjogU2NpZW50aWZpYy9FbmdpbmVlcmluZyA6OiBNYXRoZW1hdGljcycsCisnVG9waWMgOjogU2NpZW50aWZpYy9FbmdpbmVlcmluZyA6OiBNZWRpY2FsIFNjaWVuY2UgQXBwcy4nLAorJ1RvcGljIDo6IFNjaWVudGlmaWMvRW5naW5lZXJpbmcgOjogUGh5c2ljcycsCisnVG9waWMgOjogU2NpZW50aWZpYy9FbmdpbmVlcmluZyA6OiBWaXN1YWxpemF0aW9uJywKKydUb3BpYyA6OiBTZWN1cml0eScsCisnVG9waWMgOjogU2VjdXJpdHkgOjogQ3J5cHRvZ3JhcGh5JywKKydUb3BpYyA6OiBTb2Npb2xvZ3knLAorJ1RvcGljIDo6IFNvY2lvbG9neSA6OiBHZW5lYWxvZ3knLAorJ1RvcGljIDo6IFNvY2lvbG9neSA6OiBIaXN0b3J5JywKKydUb3BpYyA6OiBTb2Z0d2FyZSBEZXZlbG9wbWVudCcsCisnVG9waWMgOjogU29mdHdhcmUgRGV2ZWxvcG1lbnQgOjogQXNzZW1ibGVycycsCisnVG9waWMgOjogU29mdHdhcmUgRGV2ZWxvcG1lbnQgOjogQnVnIFRyYWNraW5nJywKKydUb3BpYyA6OiBTb2Z0d2FyZSBEZXZlbG9wbWVudCA6OiBCdWlsZCBUb29scycsCisnVG9waWMgOjogU29mdHdhcmUgRGV2ZWxvcG1lbnQgOjogQ29kZSBHZW5lcmF0b3JzJywKKydUb3BpYyA6OiBTb2Z0d2FyZSBEZXZlbG9wbWVudCA6OiBDb21waWxlcnMnLAorJ1RvcGljIDo6IFNvZnR3YXJlIERldmVsb3BtZW50IDo6IERlYnVnZ2VycycsCisnVG9waWMgOjogU29mdHdhcmUgRGV2ZWxvcG1lbnQgOjogRGlzYXNzZW1ibGVycycsCisnVG9waWMgOjogU29mdHdhcmUgRGV2ZWxvcG1lbnQgOjogRG9jdW1lbnRhdGlvbicsCisnVG9waWMgOjogU29mdHdhcmUgRGV2ZWxvcG1lbnQgOjogRW1iZWRkZWQgU3lzdGVtcycsCisnVG9waWMgOjogU29mdHdhcmUgRGV2ZWxvcG1lbnQgOjogSW50ZXJuYXRpb25hbGl6YXRpb24nLAorJ1RvcGljIDo6IFNvZnR3YXJlIERldmVsb3BtZW50IDo6IEludGVycHJldGVycycsCisnVG9waWMgOjogU29mdHdhcmUgRGV2ZWxvcG1lbnQgOjogTGlicmFyaWVzJywKKydUb3BpYyA6OiBTb2Z0d2FyZSBEZXZlbG9wbWVudCA6OiBMaWJyYXJpZXMgOjogQXBwbGljYXRpb24gRnJhbWV3b3JrcycsCisnVG9waWMgOjogU29mdHdhcmUgRGV2ZWxvcG1lbnQgOjogTGlicmFyaWVzIDo6IEphdmEgTGlicmFyaWVzJywKKydUb3BpYyA6OiBTb2Z0d2FyZSBEZXZlbG9wbWVudCA6OiBMaWJyYXJpZXMgOjogUGVybCBNb2R1bGVzJywKKydUb3BpYyA6OiBTb2Z0d2FyZSBEZXZlbG9wbWVudCA6OiBMaWJyYXJpZXMgOjogUEhQIENsYXNzZXMnLAorJ1RvcGljIDo6IFNvZnR3YXJlIERldmVsb3BtZW50IDo6IExpYnJhcmllcyA6OiBQaWtlIE1vZHVsZXMnLAorJ1RvcGljIDo6IFNvZnR3YXJlIERldmVsb3BtZW50IDo6IExpYnJhcmllcyA6OiBweWdhbWUnLAorJ1RvcGljIDo6IFNvZnR3YXJlIERldmVsb3BtZW50IDo6IExpYnJhcmllcyA6OiBQeXRob24gTW9kdWxlcycsCisnVG9waWMgOjogU29mdHdhcmUgRGV2ZWxvcG1lbnQgOjogTGlicmFyaWVzIDo6IFJ1YnkgTW9kdWxlcycsCisnVG9waWMgOjogU29mdHdhcmUgRGV2ZWxvcG1lbnQgOjogTGlicmFyaWVzIDo6IFRjbCBFeHRlbnNpb25zJywKKydUb3BpYyA6OiBTb2Z0d2FyZSBEZXZlbG9wbWVudCA6OiBMb2NhbGl6YXRpb24nLAorJ1RvcGljIDo6IFNvZnR3YXJlIERldmVsb3BtZW50IDo6IE9iamVjdCBCcm9rZXJpbmcnLAorJ1RvcGljIDo6IFNvZnR3YXJlIERldmVsb3BtZW50IDo6IE9iamVjdCBCcm9rZXJpbmcgOjogQ09SQkEnLAorJ1RvcGljIDo6IFNvZnR3YXJlIERldmVsb3BtZW50IDo6IFByZS1wcm9jZXNzb3JzJywKKydUb3BpYyA6OiBTb2Z0d2FyZSBEZXZlbG9wbWVudCA6OiBRdWFsaXR5IEFzc3VyYW5jZScsCisnVG9waWMgOjogU29mdHdhcmUgRGV2ZWxvcG1lbnQgOjogVGVzdGluZycsCisnVG9waWMgOjogU29mdHdhcmUgRGV2ZWxvcG1lbnQgOjogVGVzdGluZyA6OiBUcmFmZmljIEdlbmVyYXRpb24nLAorJ1RvcGljIDo6IFNvZnR3YXJlIERldmVsb3BtZW50IDo6IFVzZXIgSW50ZXJmYWNlcycsCisnVG9waWMgOjogU29mdHdhcmUgRGV2ZWxvcG1lbnQgOjogVmVyc2lvbiBDb250cm9sJywKKydUb3BpYyA6OiBTb2Z0d2FyZSBEZXZlbG9wbWVudCA6OiBWZXJzaW9uIENvbnRyb2wgOjogQ1ZTJywKKydUb3BpYyA6OiBTb2Z0d2FyZSBEZXZlbG9wbWVudCA6OiBWZXJzaW9uIENvbnRyb2wgOjogUkNTJywKKydUb3BpYyA6OiBTb2Z0d2FyZSBEZXZlbG9wbWVudCA6OiBWZXJzaW9uIENvbnRyb2wgOjogU0NDUycsCisnVG9waWMgOjogU29mdHdhcmUgRGV2ZWxvcG1lbnQgOjogV2lkZ2V0IFNldHMnLAorJ1RvcGljIDo6IFN5c3RlbScsCisnVG9waWMgOjogU3lzdGVtIDo6IEFyY2hpdmluZycsCisnVG9waWMgOjogU3lzdGVtIDo6IEFyY2hpdmluZyA6OiBCYWNrdXAnLAorJ1RvcGljIDo6IFN5c3RlbSA6OiBBcmNoaXZpbmcgOjogQ29tcHJlc3Npb24nLAorJ1RvcGljIDo6IFN5c3RlbSA6OiBBcmNoaXZpbmcgOjogTWlycm9yaW5nJywKKydUb3BpYyA6OiBTeXN0ZW0gOjogQXJjaGl2aW5nIDo6IFBhY2thZ2luZycsCisnVG9waWMgOjogU3lzdGVtIDo6IEJlbmNobWFyaycsCisnVG9waWMgOjogU3lzdGVtIDo6IEJvb3QnLAorJ1RvcGljIDo6IFN5c3RlbSA6OiBCb290IDo6IEluaXQnLAorJ1RvcGljIDo6IFN5c3RlbSA6OiBDbHVzdGVyaW5nJywKKydUb3BpYyA6OiBTeXN0ZW0gOjogQ29uc29sZSBGb250cycsCisnVG9waWMgOjogU3lzdGVtIDo6IERpc3RyaWJ1dGVkIENvbXB1dGluZycsCisnVG9waWMgOjogU3lzdGVtIDo6IEVtdWxhdG9ycycsCisnVG9waWMgOjogU3lzdGVtIDo6IEZpbGVzeXN0ZW1zJywKKydUb3BpYyA6OiBTeXN0ZW0gOjogSGFyZHdhcmUnLAorJ1RvcGljIDo6IFN5c3RlbSA6OiBIYXJkd2FyZSA6OiBIYXJkd2FyZSBEcml2ZXJzJywKKydUb3BpYyA6OiBTeXN0ZW0gOjogSGFyZHdhcmUgOjogTWFpbmZyYW1lcycsCisnVG9waWMgOjogU3lzdGVtIDo6IEhhcmR3YXJlIDo6IFN5bW1ldHJpYyBNdWx0aS1wcm9jZXNzaW5nJywKKydUb3BpYyA6OiBTeXN0ZW0gOjogSW5zdGFsbGF0aW9uL1NldHVwJywKKydUb3BpYyA6OiBTeXN0ZW0gOjogTG9nZ2luZycsCisnVG9waWMgOjogU3lzdGVtIDo6IE1vbml0b3JpbmcnLAorJ1RvcGljIDo6IFN5c3RlbSA6OiBOZXR3b3JraW5nJywKKydUb3BpYyA6OiBTeXN0ZW0gOjogTmV0d29ya2luZyA6OiBGaXJld2FsbHMnLAorJ1RvcGljIDo6IFN5c3RlbSA6OiBOZXR3b3JraW5nIDo6IE1vbml0b3JpbmcnLAorJ1RvcGljIDo6IFN5c3RlbSA6OiBOZXR3b3JraW5nIDo6IE1vbml0b3JpbmcgOjogSGFyZHdhcmUgV2F0Y2hkb2cnLAorJ1RvcGljIDo6IFN5c3RlbSA6OiBOZXR3b3JraW5nIDo6IFRpbWUgU3luY2hyb25pemF0aW9uJywKKydUb3BpYyA6OiBTeXN0ZW0gOjogT3BlcmF0aW5nIFN5c3RlbScsCisnVG9waWMgOjogU3lzdGVtIDo6IE9wZXJhdGluZyBTeXN0ZW0gS2VybmVscycsCisnVG9waWMgOjogU3lzdGVtIDo6IE9wZXJhdGluZyBTeXN0ZW0gS2VybmVscyA6OiBCU0QnLAorJ1RvcGljIDo6IFN5c3RlbSA6OiBPcGVyYXRpbmcgU3lzdGVtIEtlcm5lbHMgOjogR05VIEh1cmQnLAorJ1RvcGljIDo6IFN5c3RlbSA6OiBPcGVyYXRpbmcgU3lzdGVtIEtlcm5lbHMgOjogTGludXgnLAorJ1RvcGljIDo6IFN5c3RlbSA6OiBQb3dlciAoVVBTKScsCisnVG9waWMgOjogU3lzdGVtIDo6IFJlY292ZXJ5IFRvb2xzJywKKydUb3BpYyA6OiBTeXN0ZW0gOjogU2hlbGxzJywKKydUb3BpYyA6OiBTeXN0ZW0gOjogU29mdHdhcmUgRGlzdHJpYnV0aW9uJywKKydUb3BpYyA6OiBTeXN0ZW0gOjogU3lzdGVtcyBBZG1pbmlzdHJhdGlvbicsCisnVG9waWMgOjogU3lzdGVtIDo6IFN5c3RlbXMgQWRtaW5pc3RyYXRpb24gOjogQXV0aGVudGljYXRpb24vRGlyZWN0b3J5JywKKydUb3BpYyA6OiBTeXN0ZW0gOjogU3lzdGVtcyBBZG1pbmlzdHJhdGlvbiA6OiBBdXRoZW50aWNhdGlvbi9EaXJlY3RvcnkgOjogTERBUCcsCisnVG9waWMgOjogU3lzdGVtIDo6IFN5c3RlbXMgQWRtaW5pc3RyYXRpb24gOjogQXV0aGVudGljYXRpb24vRGlyZWN0b3J5IDo6IE5JUycsCisnVG9waWMgOjogU3lzdGVtIDo6IFN5c3RlbSBTaGVsbHMnLAorJ1RvcGljIDo6IFRlcm1pbmFscycsCisnVG9waWMgOjogVGVybWluYWxzIDo6IFNlcmlhbCcsCisnVG9waWMgOjogVGVybWluYWxzIDo6IFRlbG5ldCcsCisnVG9waWMgOjogVGVybWluYWxzIDo6IFRlcm1pbmFsIEVtdWxhdG9ycy9YIFRlcm1pbmFscycsCisnVG9waWMgOjogVGV4dCBFZGl0b3JzJywKKydUb3BpYyA6OiBUZXh0IEVkaXRvcnMgOjogRG9jdW1lbnRhdGlvbicsCisnVG9waWMgOjogVGV4dCBFZGl0b3JzIDo6IEVtYWNzJywKKydUb3BpYyA6OiBUZXh0IEVkaXRvcnMgOjogSW50ZWdyYXRlZCBEZXZlbG9wbWVudCBFbnZpcm9ubWVudHMgKElERSknLAorJ1RvcGljIDo6IFRleHQgRWRpdG9ycyA6OiBUZXh0IFByb2Nlc3NpbmcnLAorJ1RvcGljIDo6IFRleHQgRWRpdG9ycyA6OiBXb3JkIFByb2Nlc3NvcnMnLAorJ1RvcGljIDo6IFRleHQgUHJvY2Vzc2luZycsCisnVG9waWMgOjogVGV4dCBQcm9jZXNzaW5nIDo6IEZpbHRlcnMnLAorJ1RvcGljIDo6IFRleHQgUHJvY2Vzc2luZyA6OiBGb250cycsCisnVG9waWMgOjogVGV4dCBQcm9jZXNzaW5nIDo6IEdlbmVyYWwnLAorJ1RvcGljIDo6IFRleHQgUHJvY2Vzc2luZyA6OiBJbmRleGluZycsCisnVG9waWMgOjogVGV4dCBQcm9jZXNzaW5nIDo6IExpbmd1aXN0aWMnLAorJ1RvcGljIDo6IFRleHQgUHJvY2Vzc2luZyA6OiBNYXJrdXAnLAorJ1RvcGljIDo6IFRleHQgUHJvY2Vzc2luZyA6OiBNYXJrdXAgOjogSFRNTCcsCisnVG9waWMgOjogVGV4dCBQcm9jZXNzaW5nIDo6IE1hcmt1cCA6OiBMYVRlWCcsCisnVG9waWMgOjogVGV4dCBQcm9jZXNzaW5nIDo6IE1hcmt1cCA6OiBTR01MJywKKydUb3BpYyA6OiBUZXh0IFByb2Nlc3NpbmcgOjogTWFya3VwIDo6IFZSTUwnLAorJ1RvcGljIDo6IFRleHQgUHJvY2Vzc2luZyA6OiBNYXJrdXAgOjogWE1MJywKKydUb3BpYyA6OiBVdGlsaXRpZXMnLAorXQpkaWZmIC0tZ2l0IGEvTGliL3BhY2thZ2luZy9jb21tYW5kL19faW5pdF9fLnB5IGIvTGliL3BhY2thZ2luZy9jb21tYW5kL19faW5pdF9fLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg3MjI3YzAKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvcGFja2FnaW5nL2NvbW1hbmQvX19pbml0X18ucHkKQEAgLTAsMCArMSw1MyBAQAorIiIiU3VicGFja2FnZSBjb250YWluaW5nIGFsbCBzdGFuZGFyZCBjb21tYW5kcy4iIiIKK2ltcG9ydCBvcworZnJvbSBwYWNrYWdpbmcuZXJyb3JzIGltcG9ydCBQYWNrYWdpbmdNb2R1bGVFcnJvcgorZnJvbSBwYWNrYWdpbmcudXRpbCBpbXBvcnQgcmVzb2x2ZV9uYW1lCisKK19fYWxsX18gPSBbJ2dldF9jb21tYW5kX25hbWVzJywgJ3NldF9jb21tYW5kJywgJ2dldF9jb21tYW5kX2NsYXNzJywKKyAgICAgICAgICAgJ1NUQU5EQVJEX0NPTU1BTkRTJ10KKworCitTVEFOREFSRF9DT01NQU5EUyA9IFsKKyAgICAjIHBhY2thZ2luZworICAgICdjaGVjaycsICd0ZXN0JywKKyAgICAjIGJ1aWxkaW5nCisgICAgJ2J1aWxkJywgJ2J1aWxkX3B5JywgJ2J1aWxkX2V4dCcsICdidWlsZF9jbGliJywgJ2J1aWxkX3NjcmlwdHMnLCAnY2xlYW4nLAorICAgICMgaW5zdGFsbGluZworICAgICdpbnN0YWxsX2Rpc3QnLCAnaW5zdGFsbF9saWInLCAnaW5zdGFsbF9oZWFkZXJzJywgJ2luc3RhbGxfc2NyaXB0cycsCisgICAgJ2luc3RhbGxfZGF0YScsICdpbnN0YWxsX2Rpc3RpbmZvJywKKyAgICAjIGRpc3RyaWJ1dGluZworICAgICdzZGlzdCcsICdiZGlzdCcsICdiZGlzdF9kdW1iJywgJ2JkaXN0X3dpbmluc3QnLAorICAgICdyZWdpc3RlcicsICd1cGxvYWQnLCAndXBsb2FkX2RvY3MnLAorICAgIF0KKworaWYgb3MubmFtZSA9PSAnbnQnOgorICAgIFNUQU5EQVJEX0NPTU1BTkRTLmluc2VydChTVEFOREFSRF9DT01NQU5EUy5pbmRleCgnYmRpc3Rfd2luaW5zdCcpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmRpc3RfbXNpJykKKworIyBYWFggbWF5YmUgd2UgbmVlZCBtb3JlIHRoYW4gb25lIHJlZ2lzdHJ5LCBzbyB0aGF0IC0tbGlzdC1jb21hbmRzIGNhbiBkaXNwbGF5CisjIHN0YW5kYXJkLCBjdXN0b20gYW5kIG92ZXJyaWRlbiBzdGFuZGFyZCBjb21tYW5kcyBkaWZmZXJlbnRseQorX0NPTU1BTkRTID0gZGljdCgobmFtZSwgJ3BhY2thZ2luZy5jb21tYW5kLiVzLiVzJyAlIChuYW1lLCBuYW1lKSkKKyAgICAgICAgICAgICAgICAgZm9yIG5hbWUgaW4gU1RBTkRBUkRfQ09NTUFORFMpCisKKworZGVmIGdldF9jb21tYW5kX25hbWVzKCk6CisgICAgIiIiUmV0dXJuIHJlZ2lzdGVyZWQgY29tbWFuZHMiIiIKKyAgICByZXR1cm4gc29ydGVkKF9DT01NQU5EUykKKworCitkZWYgc2V0X2NvbW1hbmQobG9jYXRpb24pOgorICAgIGNscyA9IHJlc29sdmVfbmFtZShsb2NhdGlvbikKKyAgICAjIFhYWCB3ZSB3YW50IHRvIGRvIHRoZSBkdWNrLXR5cGUgY2hlY2tpbmcgaGVyZQorICAgIF9DT01NQU5EU1tjbHMuZ2V0X2NvbW1hbmRfbmFtZSgpXSA9IGNscworCisKK2RlZiBnZXRfY29tbWFuZF9jbGFzcyhuYW1lKToKKyAgICAiIiJSZXR1cm4gdGhlIHJlZ2lzdGVyZWQgY29tbWFuZCIiIgorICAgIHRyeToKKyAgICAgICAgY2xzID0gX0NPTU1BTkRTW25hbWVdCisgICAgZXhjZXB0IEtleUVycm9yOgorICAgICAgICByYWlzZSBQYWNrYWdpbmdNb2R1bGVFcnJvcigiSW52YWxpZCBjb21tYW5kICVzIiAlIG5hbWUpCisgICAgaWYgaXNpbnN0YW5jZShjbHMsIHN0cik6CisgICAgICAgIGNscyA9IHJlc29sdmVfbmFtZShjbHMpCisgICAgICAgIF9DT01NQU5EU1tuYW1lXSA9IGNscworICAgIHJldHVybiBjbHMKZGlmZiAtLWdpdCBhL0xpYi9wYWNrYWdpbmcvY29tbWFuZC9iZGlzdC5weSBiL0xpYi9wYWNrYWdpbmcvY29tbWFuZC9iZGlzdC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMzkwY2RjCi0tLSAvZGV2L251bGwKKysrIGIvTGliL3BhY2thZ2luZy9jb21tYW5kL2JkaXN0LnB5CkBAIC0wLDAgKzEsMTQxIEBACisiIiJDcmVhdGUgYSBidWlsdCAoYmluYXJ5KSBkaXN0cmlidXRpb24uCisKK0lmIGEgLS1mb3JtYXRzIG9wdGlvbiB3YXMgZ2l2ZW4gb24gdGhlIGNvbW1hbmQgbGluZSwgdGhpcyBjb21tYW5kIHdpbGwKK2NhbGwgdGhlIGNvcnJlc3BvbmRpbmcgYmRpc3RfKiBjb21tYW5kczsgaWYgdGhlIG9wdGlvbiB3YXMgYWJzZW50LCBhCitiZGlzdF8qIGNvbW1hbmQgZGVwZW5kaW5nIG9uIHRoZSBjdXJyZW50IHBsYXRmb3JtIHdpbGwgYmUgY2FsbGVkLgorIiIiCisKK2ltcG9ydCBvcworCitmcm9tIHBhY2thZ2luZyBpbXBvcnQgdXRpbAorZnJvbSBwYWNrYWdpbmcuY29tbWFuZC5jbWQgaW1wb3J0IENvbW1hbmQKK2Zyb20gcGFja2FnaW5nLmVycm9ycyBpbXBvcnQgUGFja2FnaW5nUGxhdGZvcm1FcnJvciwgUGFja2FnaW5nT3B0aW9uRXJyb3IKKworCitkZWYgc2hvd19mb3JtYXRzKCk6CisgICAgIiIiUHJpbnQgbGlzdCBvZiBhdmFpbGFibGUgZm9ybWF0cyAoYXJndW1lbnRzIHRvICItLWZvcm1hdCIgb3B0aW9uKS4KKyAgICAiIiIKKyAgICBmcm9tIHBhY2thZ2luZy5mYW5jeV9nZXRvcHQgaW1wb3J0IEZhbmN5R2V0b3B0CisgICAgZm9ybWF0cyA9IFtdCisgICAgZm9yIGZvcm1hdCBpbiBiZGlzdC5mb3JtYXRfY29tbWFuZHM6CisgICAgICAgIGZvcm1hdHMuYXBwZW5kKCgiZm9ybWF0cz0iICsgZm9ybWF0LCBOb25lLAorICAgICAgICAgICAgICAgICAgICAgICAgYmRpc3QuZm9ybWF0X2NvbW1hbmRbZm9ybWF0XVsxXSkpCisgICAgcHJldHR5X3ByaW50ZXIgPSBGYW5jeUdldG9wdChmb3JtYXRzKQorICAgIHByZXR0eV9wcmludGVyLnByaW50X2hlbHAoIkxpc3Qgb2YgYXZhaWxhYmxlIGRpc3RyaWJ1dGlvbiBmb3JtYXRzOiIpCisKKworY2xhc3MgYmRpc3QoQ29tbWFuZCk6CisKKyAgICBkZXNjcmlwdGlvbiA9ICJjcmVhdGUgYSBidWlsdCAoYmluYXJ5KSBkaXN0cmlidXRpb24iCisKKyAgICB1c2VyX29wdGlvbnMgPSBbKCdiZGlzdC1iYXNlPScsICdiJywKKyAgICAgICAgICAgICAgICAgICAgICJ0ZW1wb3JhcnkgZGlyZWN0b3J5IGZvciBjcmVhdGluZyBidWlsdCBkaXN0cmlidXRpb25zIiksCisgICAgICAgICAgICAgICAgICAgICgncGxhdC1uYW1lPScsICdwJywKKyAgICAgICAgICAgICAgICAgICAgICJwbGF0Zm9ybSBuYW1lIHRvIGVtYmVkIGluIGdlbmVyYXRlZCBmaWxlbmFtZXMgIgorICAgICAgICAgICAgICAgICAgICAgIihkZWZhdWx0OiAlcykiICUgdXRpbC5nZXRfcGxhdGZvcm0oKSksCisgICAgICAgICAgICAgICAgICAgICgnZm9ybWF0cz0nLCBOb25lLAorICAgICAgICAgICAgICAgICAgICAgImZvcm1hdHMgZm9yIGRpc3RyaWJ1dGlvbiAoY29tbWEtc2VwYXJhdGVkIGxpc3QpIiksCisgICAgICAgICAgICAgICAgICAgICgnZGlzdC1kaXI9JywgJ2QnLAorICAgICAgICAgICAgICAgICAgICAgImRpcmVjdG9yeSB0byBwdXQgZmluYWwgYnVpbHQgZGlzdHJpYnV0aW9ucyBpbiAiCisgICAgICAgICAgICAgICAgICAgICAiW2RlZmF1bHQ6IGRpc3RdIiksCisgICAgICAgICAgICAgICAgICAgICgnc2tpcC1idWlsZCcsIE5vbmUsCisgICAgICAgICAgICAgICAgICAgICAic2tpcCByZWJ1aWxkaW5nIGV2ZXJ5dGhpbmcgKGZvciB0ZXN0aW5nL2RlYnVnZ2luZykiKSwKKyAgICAgICAgICAgICAgICAgICAgKCdvd25lcj0nLCAndScsCisgICAgICAgICAgICAgICAgICAgICAiT3duZXIgbmFtZSB1c2VkIHdoZW4gY3JlYXRpbmcgYSB0YXIgZmlsZSIKKyAgICAgICAgICAgICAgICAgICAgICIgW2RlZmF1bHQ6IGN1cnJlbnQgdXNlcl0iKSwKKyAgICAgICAgICAgICAgICAgICAgKCdncm91cD0nLCAnZycsCisgICAgICAgICAgICAgICAgICAgICAiR3JvdXAgbmFtZSB1c2VkIHdoZW4gY3JlYXRpbmcgYSB0YXIgZmlsZSIKKyAgICAgICAgICAgICAgICAgICAgICIgW2RlZmF1bHQ6IGN1cnJlbnQgZ3JvdXBdIiksCisgICAgICAgICAgICAgICAgICAgXQorCisgICAgYm9vbGVhbl9vcHRpb25zID0gWydza2lwLWJ1aWxkJ10KKworICAgIGhlbHBfb3B0aW9ucyA9IFsKKyAgICAgICAgKCdoZWxwLWZvcm1hdHMnLCBOb25lLAorICAgICAgICAgImxpc3RzIGF2YWlsYWJsZSBkaXN0cmlidXRpb24gZm9ybWF0cyIsIHNob3dfZm9ybWF0cyksCisgICAgICAgIF0KKworICAgICMgVGhpcyBpcyBvZiBjb3Vyc2UgdmVyeSBzaW1wbGlzdGljLiAgVGhlIHZhcmlvdXMgVU5JWCBmYW1pbHkgb3BlcmF0aW5nCisgICAgIyBzeXN0ZW1zIGhhdmUgdGhlaXIgc3BlY2lmaWMgZm9ybWF0cywgYnV0IHRoZXkgYXJlIG91dCBvZiBzY29wZSBmb3IgdXM7CisgICAgIyBiZGlzdF9kdW1iIGlzLCB3ZWxsLCBkdW1iOyBpdCdzIG1vcmUgYSBidWlsZGluZyBibG9jayBmb3Igb3RoZXIKKyAgICAjIHBhY2thZ2luZyB0b29scyB0aGFuIGEgcmVhbCBlbmQtdXNlciBiaW5hcnkgZm9ybWF0LgorICAgIGRlZmF1bHRfZm9ybWF0ID0geydwb3NpeCc6ICdnenRhcicsCisgICAgICAgICAgICAgICAgICAgICAgJ250JzogJ3ppcCcsCisgICAgICAgICAgICAgICAgICAgICAgJ29zMic6ICd6aXAnfQorCisgICAgIyBFc3RhYmxpc2ggdGhlIHByZWZlcnJlZCBvcmRlciAoZm9yIHRoZSAtLWhlbHAtZm9ybWF0cyBvcHRpb24pLgorICAgIGZvcm1hdF9jb21tYW5kcyA9IFsnZ3p0YXInLCAnYnp0YXInLCAndGFyJywKKyAgICAgICAgICAgICAgICAgICAgICAgJ3dpbmluc3QnLCAnemlwJywgJ21zaSddCisKKyAgICAjIEFuZCB0aGUgcmVhbCBpbmZvcm1hdGlvbi4KKyAgICBmb3JtYXRfY29tbWFuZCA9IHsnZ3p0YXInOiAoJ2JkaXN0X2R1bWInLCAiZ3ppcCdlZCB0YXIgZmlsZSIpLAorICAgICAgICAgICAgICAgICAgICAgICdienRhcic6ICgnYmRpc3RfZHVtYicsICJiemlwMidlZCB0YXIgZmlsZSIpLAorICAgICAgICAgICAgICAgICAgICAgICd0YXInOiAgICgnYmRpc3RfZHVtYicsICJ0YXIgZmlsZSIpLAorICAgICAgICAgICAgICAgICAgICAgICd3aW5pbnN0JzogKCdiZGlzdF93aW5pbnN0JywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiV2luZG93cyBleGVjdXRhYmxlIGluc3RhbGxlciIpLAorICAgICAgICAgICAgICAgICAgICAgICd6aXAnOiAgICgnYmRpc3RfZHVtYicsICJaSVAgZmlsZSIpLAorICAgICAgICAgICAgICAgICAgICAgICdtc2knOiAgICgnYmRpc3RfbXNpJywgICJNaWNyb3NvZnQgSW5zdGFsbGVyIiksCisgICAgICAgICAgICAgICAgICAgICB9CisKKyAgICBkZWYgaW5pdGlhbGl6ZV9vcHRpb25zKHNlbGYpOgorICAgICAgICBzZWxmLmJkaXN0X2Jhc2UgPSBOb25lCisgICAgICAgIHNlbGYucGxhdF9uYW1lID0gTm9uZQorICAgICAgICBzZWxmLmZvcm1hdHMgPSBOb25lCisgICAgICAgIHNlbGYuZGlzdF9kaXIgPSBOb25lCisgICAgICAgIHNlbGYuc2tpcF9idWlsZCA9IEZhbHNlCisgICAgICAgIHNlbGYuZ3JvdXAgPSBOb25lCisgICAgICAgIHNlbGYub3duZXIgPSBOb25lCisKKyAgICBkZWYgZmluYWxpemVfb3B0aW9ucyhzZWxmKToKKyAgICAgICAgIyBoYXZlIHRvIGZpbmFsaXplICdwbGF0X25hbWUnIGJlZm9yZSAnYmRpc3RfYmFzZScKKyAgICAgICAgaWYgc2VsZi5wbGF0X25hbWUgaXMgTm9uZToKKyAgICAgICAgICAgIGlmIHNlbGYuc2tpcF9idWlsZDoKKyAgICAgICAgICAgICAgICBzZWxmLnBsYXRfbmFtZSA9IHV0aWwuZ2V0X3BsYXRmb3JtKCkKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgc2VsZi5wbGF0X25hbWUgPSBzZWxmLmdldF9maW5hbGl6ZWRfY29tbWFuZCgnYnVpbGQnKS5wbGF0X25hbWUKKworICAgICAgICAjICdiZGlzdF9iYXNlJyAtLSBwYXJlbnQgb2YgcGVyLWJ1aWx0LWRpc3RyaWJ1dGlvbi1mb3JtYXQKKyAgICAgICAgIyB0ZW1wb3JhcnkgZGlyZWN0b3JpZXMgKGVnLiB3ZSdsbCBwcm9iYWJseSBoYXZlCisgICAgICAgICMgImJ1aWxkL2JkaXN0LjxwbGF0Pi9kdW1iIiwgZXRjLikKKyAgICAgICAgaWYgc2VsZi5iZGlzdF9iYXNlIGlzIE5vbmU6CisgICAgICAgICAgICBidWlsZF9iYXNlID0gc2VsZi5nZXRfZmluYWxpemVkX2NvbW1hbmQoJ2J1aWxkJykuYnVpbGRfYmFzZQorICAgICAgICAgICAgc2VsZi5iZGlzdF9iYXNlID0gb3MucGF0aC5qb2luKGJ1aWxkX2Jhc2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JkaXN0LicgKyBzZWxmLnBsYXRfbmFtZSkKKworICAgICAgICBzZWxmLmVuc3VyZV9zdHJpbmdfbGlzdCgnZm9ybWF0cycpCisgICAgICAgIGlmIHNlbGYuZm9ybWF0cyBpcyBOb25lOgorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIHNlbGYuZm9ybWF0cyA9IFtzZWxmLmRlZmF1bHRfZm9ybWF0W29zLm5hbWVdXQorICAgICAgICAgICAgZXhjZXB0IEtleUVycm9yOgorICAgICAgICAgICAgICAgIHJhaXNlIFBhY2thZ2luZ1BsYXRmb3JtRXJyb3IoCisgICAgICAgICAgICAgICAgICAgICJkb24ndCBrbm93IGhvdyB0byBjcmVhdGUgYnVpbHQgZGlzdHJpYnV0aW9ucyAiCisgICAgICAgICAgICAgICAgICAgICJvbiBwbGF0Zm9ybSAlcyIgJSBvcy5uYW1lKQorCisgICAgICAgIGlmIHNlbGYuZGlzdF9kaXIgaXMgTm9uZToKKyAgICAgICAgICAgIHNlbGYuZGlzdF9kaXIgPSAiZGlzdCIKKworICAgIGRlZiBydW4oc2VsZik6CisgICAgICAgICMgRmlndXJlIG91dCB3aGljaCBzdWItY29tbWFuZHMgd2UgbmVlZCB0byBydW4uCisgICAgICAgIGNvbW1hbmRzID0gW10KKyAgICAgICAgZm9yIGZvcm1hdCBpbiBzZWxmLmZvcm1hdHM6CisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgY29tbWFuZHMuYXBwZW5kKHNlbGYuZm9ybWF0X2NvbW1hbmRbZm9ybWF0XVswXSkKKyAgICAgICAgICAgIGV4Y2VwdCBLZXlFcnJvcjoKKyAgICAgICAgICAgICAgICByYWlzZSBQYWNrYWdpbmdPcHRpb25FcnJvcigiaW52YWxpZCBmb3JtYXQgJyVzJyIgJSBmb3JtYXQpCisKKyAgICAgICAgIyBSZWluaXRpYWxpemUgYW5kIHJ1biBlYWNoIGNvbW1hbmQuCisgICAgICAgIGZvciBpIGluIHJhbmdlKGxlbihzZWxmLmZvcm1hdHMpKToKKyAgICAgICAgICAgIGNtZF9uYW1lID0gY29tbWFuZHNbaV0KKyAgICAgICAgICAgIHN1Yl9jbWQgPSBzZWxmLnJlaW5pdGlhbGl6ZV9jb21tYW5kKGNtZF9uYW1lKQorICAgICAgICAgICAgc3ViX2NtZC5mb3JtYXQgPSBzZWxmLmZvcm1hdHNbaV0KKworICAgICAgICAgICAgIyBwYXNzaW5nIHRoZSBvd25lciBhbmQgZ3JvdXAgbmFtZXMgZm9yIHRhciBhcmNoaXZpbmcKKyAgICAgICAgICAgIGlmIGNtZF9uYW1lID09ICdiZGlzdF9kdW1iJzoKKyAgICAgICAgICAgICAgICBzdWJfY21kLm93bmVyID0gc2VsZi5vd25lcgorICAgICAgICAgICAgICAgIHN1Yl9jbWQuZ3JvdXAgPSBzZWxmLmdyb3VwCisKKyAgICAgICAgICAgICMgSWYgd2UncmUgZ29pbmcgdG8gbmVlZCB0byBydW4gdGhpcyBjb21tYW5kIGFnYWluLCB0ZWxsIGl0IHRvCisgICAgICAgICAgICAjIGtlZXAgaXRzIHRlbXBvcmFyeSBmaWxlcyBhcm91bmQgc28gc3Vic2VxdWVudCBydW5zIGdvIGZhc3Rlci4KKyAgICAgICAgICAgIGlmIGNtZF9uYW1lIGluIGNvbW1hbmRzW2krMTpdOgorICAgICAgICAgICAgICAgIHN1Yl9jbWQua2VlcF90ZW1wID0gVHJ1ZQorICAgICAgICAgICAgc2VsZi5ydW5fY29tbWFuZChjbWRfbmFtZSkKZGlmZiAtLWdpdCBhL0xpYi9wYWNrYWdpbmcvY29tbWFuZC9iZGlzdF9kdW1iLnB5IGIvTGliL3BhY2thZ2luZy9jb21tYW5kL2JkaXN0X2R1bWIucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTQ4ZTNjNAotLS0gL2Rldi9udWxsCisrKyBiL0xpYi9wYWNrYWdpbmcvY29tbWFuZC9iZGlzdF9kdW1iLnB5CkBAIC0wLDAgKzEsMTM5IEBACisiIiJDcmVhdGUgYSAiZHVtYiIgYnVpbHQgZGlzdHJpYnV0aW9uLgorCitBIGR1bWIgZGlzdHJpYnV0aW9uIGlzIGp1c3QgYW4gYXJjaGl2ZSBtZWFudCB0byBiZSB1bnBhY2tlZCB1bmRlcgorc3lzLnByZWZpeCBvciBzeXMuZXhlY19wcmVmaXguCisiIiIKKworaW1wb3J0IG9zCitmcm9tIHNodXRpbCBpbXBvcnQgcm10cmVlCitmcm9tIHN5c2NvbmZpZyBpbXBvcnQgZ2V0X3B5dGhvbl92ZXJzaW9uCisKK2Zyb20gcGFja2FnaW5nLnV0aWwgaW1wb3J0IGdldF9wbGF0Zm9ybQorZnJvbSBwYWNrYWdpbmcuY29tbWFuZC5jbWQgaW1wb3J0IENvbW1hbmQKK2Zyb20gcGFja2FnaW5nLmVycm9ycyBpbXBvcnQgUGFja2FnaW5nUGxhdGZvcm1FcnJvcgorZnJvbSBwYWNrYWdpbmcgaW1wb3J0IGxvZ2dlcgorCisKK2NsYXNzIGJkaXN0X2R1bWIoQ29tbWFuZCk6CisKKyAgICBkZXNjcmlwdGlvbiA9ICdjcmVhdGUgYSAiZHVtYiIgYnVpbHQgZGlzdHJpYnV0aW9uJworCisgICAgdXNlcl9vcHRpb25zID0gWygnYmRpc3QtZGlyPScsICdkJywKKyAgICAgICAgICAgICAgICAgICAgICJ0ZW1wb3JhcnkgZGlyZWN0b3J5IGZvciBjcmVhdGluZyB0aGUgZGlzdHJpYnV0aW9uIiksCisgICAgICAgICAgICAgICAgICAgICgncGxhdC1uYW1lPScsICdwJywKKyAgICAgICAgICAgICAgICAgICAgICJwbGF0Zm9ybSBuYW1lIHRvIGVtYmVkIGluIGdlbmVyYXRlZCBmaWxlbmFtZXMgIgorICAgICAgICAgICAgICAgICAgICAgIihkZWZhdWx0OiAlcykiICUgZ2V0X3BsYXRmb3JtKCkpLAorICAgICAgICAgICAgICAgICAgICAoJ2Zvcm1hdD0nLCAnZicsCisgICAgICAgICAgICAgICAgICAgICAiYXJjaGl2ZSBmb3JtYXQgdG8gY3JlYXRlICh0YXIsIGd6dGFyLCBienRhciwgemlwKSIpLAorICAgICAgICAgICAgICAgICAgICAoJ2tlZXAtdGVtcCcsICdrJywKKyAgICAgICAgICAgICAgICAgICAgICJrZWVwIHRoZSBwc2V1ZG8taW5zdGFsbGF0aW9uIHRyZWUgYXJvdW5kIGFmdGVyICIgKworICAgICAgICAgICAgICAgICAgICAgImNyZWF0aW5nIHRoZSBkaXN0cmlidXRpb24gYXJjaGl2ZSIpLAorICAgICAgICAgICAgICAgICAgICAoJ2Rpc3QtZGlyPScsICdkJywKKyAgICAgICAgICAgICAgICAgICAgICJkaXJlY3RvcnkgdG8gcHV0IGZpbmFsIGJ1aWx0IGRpc3RyaWJ1dGlvbnMgaW4iKSwKKyAgICAgICAgICAgICAgICAgICAgKCdza2lwLWJ1aWxkJywgTm9uZSwKKyAgICAgICAgICAgICAgICAgICAgICJza2lwIHJlYnVpbGRpbmcgZXZlcnl0aGluZyAoZm9yIHRlc3RpbmcvZGVidWdnaW5nKSIpLAorICAgICAgICAgICAgICAgICAgICAoJ3JlbGF0aXZlJywgTm9uZSwKKyAgICAgICAgICAgICAgICAgICAgICJidWlsZCB0aGUgYXJjaGl2ZSB1c2luZyByZWxhdGl2ZSBwYXRocyIKKyAgICAgICAgICAgICAgICAgICAgICIoZGVmYXVsdDogZmFsc2UpIiksCisgICAgICAgICAgICAgICAgICAgICgnb3duZXI9JywgJ3UnLAorICAgICAgICAgICAgICAgICAgICAgIk93bmVyIG5hbWUgdXNlZCB3aGVuIGNyZWF0aW5nIGEgdGFyIGZpbGUiCisgICAgICAgICAgICAgICAgICAgICAiIFtkZWZhdWx0OiBjdXJyZW50IHVzZXJdIiksCisgICAgICAgICAgICAgICAgICAgICgnZ3JvdXA9JywgJ2cnLAorICAgICAgICAgICAgICAgICAgICAgIkdyb3VwIG5hbWUgdXNlZCB3aGVuIGNyZWF0aW5nIGEgdGFyIGZpbGUiCisgICAgICAgICAgICAgICAgICAgICAiIFtkZWZhdWx0OiBjdXJyZW50IGdyb3VwXSIpLAorICAgICAgICAgICAgICAgICAgIF0KKworICAgIGJvb2xlYW5fb3B0aW9ucyA9IFsna2VlcC10ZW1wJywgJ3NraXAtYnVpbGQnLCAncmVsYXRpdmUnXQorCisgICAgZGVmYXVsdF9mb3JtYXQgPSB7J3Bvc2l4JzogJ2d6dGFyJywKKyAgICAgICAgICAgICAgICAgICAgICAnbnQnOiAnemlwJywKKyAgICAgICAgICAgICAgICAgICAgICAnb3MyJzogJ3ppcCd9CisKKyAgICBkZWYgaW5pdGlhbGl6ZV9vcHRpb25zKHNlbGYpOgorICAgICAgICBzZWxmLmJkaXN0X2RpciA9IE5vbmUKKyAgICAgICAgc2VsZi5wbGF0X25hbWUgPSBOb25lCisgICAgICAgIHNlbGYuZm9ybWF0ID0gTm9uZQorICAgICAgICBzZWxmLmtlZXBfdGVtcCA9IEZhbHNlCisgICAgICAgIHNlbGYuZGlzdF9kaXIgPSBOb25lCisgICAgICAgIHNlbGYuc2tpcF9idWlsZCA9IE5vbmUKKyAgICAgICAgc2VsZi5yZWxhdGl2ZSA9IEZhbHNlCisgICAgICAgIHNlbGYub3duZXIgPSBOb25lCisgICAgICAgIHNlbGYuZ3JvdXAgPSBOb25lCisKKyAgICBkZWYgZmluYWxpemVfb3B0aW9ucyhzZWxmKToKKyAgICAgICAgaWYgc2VsZi5iZGlzdF9kaXIgaXMgTm9uZToKKyAgICAgICAgICAgIGJkaXN0X2Jhc2UgPSBzZWxmLmdldF9maW5hbGl6ZWRfY29tbWFuZCgnYmRpc3QnKS5iZGlzdF9iYXNlCisgICAgICAgICAgICBzZWxmLmJkaXN0X2RpciA9IG9zLnBhdGguam9pbihiZGlzdF9iYXNlLCAnZHVtYicpCisKKyAgICAgICAgaWYgc2VsZi5mb3JtYXQgaXMgTm9uZToKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBzZWxmLmZvcm1hdCA9IHNlbGYuZGVmYXVsdF9mb3JtYXRbb3MubmFtZV0KKyAgICAgICAgICAgIGV4Y2VwdCBLZXlFcnJvcjoKKyAgICAgICAgICAgICAgICByYWlzZSBQYWNrYWdpbmdQbGF0Zm9ybUVycm9yKAorICAgICAgICAgICAgICAgICAgICAiZG9uJ3Qga25vdyBob3cgdG8gY3JlYXRlIGR1bWIgYnVpbHQgZGlzdHJpYnV0aW9ucyAiCisgICAgICAgICAgICAgICAgICAgICJvbiBwbGF0Zm9ybSAlcyIgJSBvcy5uYW1lKQorCisgICAgICAgIHNlbGYuc2V0X3VuZGVmaW5lZF9vcHRpb25zKCdiZGlzdCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkaXN0X2RpcicsICdwbGF0X25hbWUnLCAnc2tpcF9idWlsZCcpCisKKyAgICBkZWYgcnVuKHNlbGYpOgorICAgICAgICBpZiBub3Qgc2VsZi5za2lwX2J1aWxkOgorICAgICAgICAgICAgc2VsZi5ydW5fY29tbWFuZCgnYnVpbGQnKQorCisgICAgICAgIGluc3RhbGwgPSBzZWxmLnJlaW5pdGlhbGl6ZV9jb21tYW5kKCdpbnN0YWxsX2Rpc3QnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWluaXRfc3ViY29tbWFuZHM9VHJ1ZSkKKyAgICAgICAgaW5zdGFsbC5yb290ID0gc2VsZi5iZGlzdF9kaXIKKyAgICAgICAgaW5zdGFsbC5za2lwX2J1aWxkID0gc2VsZi5za2lwX2J1aWxkCisgICAgICAgIGluc3RhbGwud2Fybl9kaXIgPSBGYWxzZQorCisgICAgICAgIGxvZ2dlci5pbmZvKCJpbnN0YWxsaW5nIHRvICVzIiwgc2VsZi5iZGlzdF9kaXIpCisgICAgICAgIHNlbGYucnVuX2NvbW1hbmQoJ2luc3RhbGxfZGlzdCcpCisKKyAgICAgICAgIyBBbmQgbWFrZSBhbiBhcmNoaXZlIHJlbGF0aXZlIHRvIHRoZSByb290IG9mIHRoZQorICAgICAgICAjIHBzZXVkby1pbnN0YWxsYXRpb24gdHJlZS4KKyAgICAgICAgYXJjaGl2ZV9iYXNlbmFtZSA9ICIlcy4lcyIgJSAoc2VsZi5kaXN0cmlidXRpb24uZ2V0X2Z1bGxuYW1lKCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYucGxhdF9uYW1lKQorCisgICAgICAgICMgT1MvMiBvYmplY3RzIHRvIGFueSAiOiIgY2hhcmFjdGVycyBpbiBhIGZpbGVuYW1lIChzdWNoIGFzIHdoZW4KKyAgICAgICAgIyBhIHRpbWVzdGFtcCBpcyB1c2VkIGluIGEgdmVyc2lvbikgc28gY2hhbmdlIHRoZW0gdG8gaHlwaGVucy4KKyAgICAgICAgaWYgb3MubmFtZSA9PSAib3MyIjoKKyAgICAgICAgICAgIGFyY2hpdmVfYmFzZW5hbWUgPSBhcmNoaXZlX2Jhc2VuYW1lLnJlcGxhY2UoIjoiLCAiLSIpCisKKyAgICAgICAgcHNldWRvaW5zdGFsbF9yb290ID0gb3MucGF0aC5qb2luKHNlbGYuZGlzdF9kaXIsIGFyY2hpdmVfYmFzZW5hbWUpCisgICAgICAgIGlmIG5vdCBzZWxmLnJlbGF0aXZlOgorICAgICAgICAgICAgYXJjaGl2ZV9yb290ID0gc2VsZi5iZGlzdF9kaXIKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGlmIChzZWxmLmRpc3RyaWJ1dGlvbi5oYXNfZXh0X21vZHVsZXMoKSBhbmQKKyAgICAgICAgICAgICAgICAoaW5zdGFsbC5pbnN0YWxsX2Jhc2UgIT0gaW5zdGFsbC5pbnN0YWxsX3BsYXRiYXNlKSk6CisgICAgICAgICAgICAgICAgcmFpc2UgUGFja2FnaW5nUGxhdGZvcm1FcnJvcigKKyAgICAgICAgICAgICAgICAgICAgImNhbid0IG1ha2UgYSBkdW1iIGJ1aWx0IGRpc3RyaWJ1dGlvbiB3aGVyZSBiYXNlIGFuZCAiCisgICAgICAgICAgICAgICAgICAgICJwbGF0YmFzZSBhcmUgZGlmZmVyZW50ICglciwgJXIpIiAlCisgICAgICAgICAgICAgICAgICAgIChpbnN0YWxsLmluc3RhbGxfYmFzZSwgaW5zdGFsbC5pbnN0YWxsX3BsYXRiYXNlKSkKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgYXJjaGl2ZV9yb290ID0gb3MucGF0aC5qb2luKAorICAgICAgICAgICAgICAgICAgICBzZWxmLmJkaXN0X2RpciwKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5fZW5zdXJlX3JlbGF0aXZlKGluc3RhbGwuaW5zdGFsbF9iYXNlKSkKKworICAgICAgICAjIE1ha2UgdGhlIGFyY2hpdmUKKyAgICAgICAgZmlsZW5hbWUgPSBzZWxmLm1ha2VfYXJjaGl2ZShwc2V1ZG9pbnN0YWxsX3Jvb3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5mb3JtYXQsIHJvb3RfZGlyPWFyY2hpdmVfcm9vdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvd25lcj1zZWxmLm93bmVyLCBncm91cD1zZWxmLmdyb3VwKQorICAgICAgICBpZiBzZWxmLmRpc3RyaWJ1dGlvbi5oYXNfZXh0X21vZHVsZXMoKToKKyAgICAgICAgICAgIHB5dmVyc2lvbiA9IGdldF9weXRob25fdmVyc2lvbigpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBweXZlcnNpb24gPSAnYW55JworICAgICAgICBzZWxmLmRpc3RyaWJ1dGlvbi5kaXN0X2ZpbGVzLmFwcGVuZCgoJ2JkaXN0X2R1bWInLCBweXZlcnNpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlbmFtZSkpCisKKyAgICAgICAgaWYgbm90IHNlbGYua2VlcF90ZW1wOgorICAgICAgICAgICAgaWYgc2VsZi5kcnlfcnVuOgorICAgICAgICAgICAgICAgIGxvZ2dlci5pbmZvKCdyZW1vdmluZyAlcycsIHNlbGYuYmRpc3RfZGlyKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBybXRyZWUoc2VsZi5iZGlzdF9kaXIpCisKKyAgICBkZWYgX2Vuc3VyZV9yZWxhdGl2ZShzZWxmLCBwYXRoKToKKyAgICAgICAgIyBjb3BpZWQgZnJvbSBkaXJfdXRpbCwgZGVsZXRlZAorICAgICAgICBkcml2ZSwgcGF0aCA9IG9zLnBhdGguc3BsaXRkcml2ZShwYXRoKQorICAgICAgICBpZiBwYXRoWzA6MV0gPT0gb3Muc2VwOgorICAgICAgICAgICAgcGF0aCA9IGRyaXZlICsgcGF0aFsxOl0KKyAgICAgICAgcmV0dXJuIHBhdGgKZGlmZiAtLWdpdCBhL0xpYi9wYWNrYWdpbmcvY29tbWFuZC9iZGlzdF9tc2kucHkgYi9MaWIvcGFja2FnaW5nL2NvbW1hbmQvYmRpc3RfbXNpLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk5NWVlYzUKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvcGFja2FnaW5nL2NvbW1hbmQvYmRpc3RfbXNpLnB5CkBAIC0wLDAgKzEsNzQzIEBACisiIiJDcmVhdGUgYSBNaWNyb3NvZnQgSW5zdGFsbGVyICgubXNpKSBiaW5hcnkgZGlzdHJpYnV0aW9uLiIiIgorCisjIENvcHlyaWdodCAoQykgMjAwNSwgMjAwNiBNYXJ0aW4gdm9uIEzDtndpcworIyBMaWNlbnNlZCB0byBQU0YgdW5kZXIgYSBDb250cmlidXRvciBBZ3JlZW1lbnQuCisKK2ltcG9ydCBzeXMKK2ltcG9ydCBvcworaW1wb3J0IG1zaWxpYgorCitmcm9tIHNodXRpbCBpbXBvcnQgcm10cmVlCitmcm9tIHN5c2NvbmZpZyBpbXBvcnQgZ2V0X3B5dGhvbl92ZXJzaW9uCitmcm9tIHBhY2thZ2luZy5jb21tYW5kLmNtZCBpbXBvcnQgQ29tbWFuZAorZnJvbSBwYWNrYWdpbmcudmVyc2lvbiBpbXBvcnQgTm9ybWFsaXplZFZlcnNpb24KK2Zyb20gcGFja2FnaW5nLmVycm9ycyBpbXBvcnQgUGFja2FnaW5nT3B0aW9uRXJyb3IKK2Zyb20gcGFja2FnaW5nIGltcG9ydCBsb2dnZXIgYXMgbG9nCitmcm9tIHBhY2thZ2luZy51dGlsIGltcG9ydCBnZXRfcGxhdGZvcm0KK2Zyb20gbXNpbGliIGltcG9ydCBzY2hlbWEsIHNlcXVlbmNlLCB0ZXh0Citmcm9tIG1zaWxpYiBpbXBvcnQgRGlyZWN0b3J5LCBGZWF0dXJlLCBEaWFsb2csIGFkZF9kYXRhCisKK2NsYXNzIE1TSVZlcnNpb24oTm9ybWFsaXplZFZlcnNpb24pOgorICAgICIiIgorICAgIE1TSSBQcm9kdWN0VmVyc2lvbiBtdXN0IGJlIHN0cmljdGx5IG51bWVyaWMuCisgICAgTVNJVmVyc2lvbiBkaXNhbGxvd3MgcHJlcmVsZWFzZSBhbmQgcG9zdHJlbGVhc2UgdmVyc2lvbnMuCisgICAgIiIiCisgICAgZGVmIF9faW5pdF9fKHNlbGYsICphcmdzLCAqKmt3YXJncyk6CisgICAgICAgIHN1cGVyKE1TSVZlcnNpb24sIHNlbGYpLl9faW5pdF9fKCphcmdzLCAqKmt3YXJncykKKyAgICAgICAgaWYgbm90IHNlbGYuaXNfZmluYWw6CisgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJQcm9kdWN0VmVyc2lvbiBtdXN0IGJlIHN0cmljdGx5IG51bWVyaWMiKQorCitjbGFzcyBQeURpYWxvZyhEaWFsb2cpOgorICAgICIiIkRpYWxvZyBjbGFzcyB3aXRoIGEgZml4ZWQgbGF5b3V0OiBjb250cm9scyBhdCB0aGUgdG9wLCB0aGVuIGEgcnVsZXIsCisgICAgdGhlbiBhIGxpc3Qgb2YgYnV0dG9uczogYmFjaywgbmV4dCwgY2FuY2VsLiBPcHRpb25hbGx5IGEgYml0bWFwIGF0IHRoZQorICAgIGxlZnQuIiIiCisgICAgZGVmIF9faW5pdF9fKHNlbGYsICphcmdzLCAqKmt3KToKKyAgICAgICAgIiIiRGlhbG9nKGRhdGFiYXNlLCBuYW1lLCB4LCB5LCB3LCBoLCBhdHRyaWJ1dGVzLCB0aXRsZSwgZmlyc3QsCisgICAgICAgIGRlZmF1bHQsIGNhbmNlbCwgYml0bWFwPXRydWUpIiIiCisgICAgICAgIHN1cGVyKFB5RGlhbG9nLCBzZWxmKS5fX2luaXRfXygqYXJncykKKyAgICAgICAgcnVsZXIgPSBzZWxmLmggLSAzNgorICAgICAgICAjaWYga3cuZ2V0KCJiaXRtYXAiLCBUcnVlKToKKyAgICAgICAgIyAgICBzZWxmLmJpdG1hcCgiQml0bWFwIiwgMCwgMCwgYm13aWR0aCwgcnVsZXIsICJQeXRob25XaW4iKQorICAgICAgICBzZWxmLmxpbmUoIkJvdHRvbUxpbmUiLCAwLCBydWxlciwgc2VsZi53LCAwKQorCisgICAgZGVmIHRpdGxlKHNlbGYsIHRpdGxlKToKKyAgICAgICAgIlNldCB0aGUgdGl0bGUgdGV4dCBvZiB0aGUgZGlhbG9nIGF0IHRoZSB0b3AuIgorICAgICAgICAjIG5hbWUsIHgsIHksIHcsIGgsIGZsYWdzPVZpc2libGV8RW5hYmxlZHxUcmFuc3BhcmVudHxOb1ByZWZpeCwKKyAgICAgICAgIyB0ZXh0LCBpbiBWZXJkYW5hQm9sZDEwCisgICAgICAgIHNlbGYudGV4dCgiVGl0bGUiLCAxNSwgMTAsIDMyMCwgNjAsIDB4MzAwMDMsCisgICAgICAgICAgICAgICAgICByIntcVmVyZGFuYUJvbGQxMH0lcyIgJSB0aXRsZSkKKworICAgIGRlZiBiYWNrKHNlbGYsIHRpdGxlLCBuZXh0LCBuYW1lID0gIkJhY2siLCBhY3RpdmUgPSAxKToKKyAgICAgICAgIiIiQWRkIGEgYmFjayBidXR0b24gd2l0aCBhIGdpdmVuIHRpdGxlLCB0aGUgdGFiLW5leHQgYnV0dG9uLAorICAgICAgICBpdHMgbmFtZSBpbiB0aGUgQ29udHJvbCB0YWJsZSwgcG9zc2libHkgaW5pdGlhbGx5IGRpc2FibGVkLgorCisgICAgICAgIFJldHVybiB0aGUgYnV0dG9uLCBzbyB0aGF0IGV2ZW50cyBjYW4gYmUgYXNzb2NpYXRlZCIiIgorICAgICAgICBpZiBhY3RpdmU6CisgICAgICAgICAgICBmbGFncyA9IDMgIyBWaXNpYmxlfEVuYWJsZWQKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGZsYWdzID0gMSAjIFZpc2libGUKKyAgICAgICAgcmV0dXJuIHNlbGYucHVzaGJ1dHRvbihuYW1lLCAxODAsIHNlbGYuaC0yNyAsIDU2LCAxNywgZmxhZ3MsIHRpdGxlLCBuZXh0KQorCisgICAgZGVmIGNhbmNlbChzZWxmLCB0aXRsZSwgbmV4dCwgbmFtZSA9ICJDYW5jZWwiLCBhY3RpdmUgPSAxKToKKyAgICAgICAgIiIiQWRkIGEgY2FuY2VsIGJ1dHRvbiB3aXRoIGEgZ2l2ZW4gdGl0bGUsIHRoZSB0YWItbmV4dCBidXR0b24sCisgICAgICAgIGl0cyBuYW1lIGluIHRoZSBDb250cm9sIHRhYmxlLCBwb3NzaWJseSBpbml0aWFsbHkgZGlzYWJsZWQuCisKKyAgICAgICAgUmV0dXJuIHRoZSBidXR0b24sIHNvIHRoYXQgZXZlbnRzIGNhbiBiZSBhc3NvY2lhdGVkIiIiCisgICAgICAgIGlmIGFjdGl2ZToKKyAgICAgICAgICAgIGZsYWdzID0gMyAjIFZpc2libGV8RW5hYmxlZAorICAgICAgICBlbHNlOgorICAgICAgICAgICAgZmxhZ3MgPSAxICMgVmlzaWJsZQorICAgICAgICByZXR1cm4gc2VsZi5wdXNoYnV0dG9uKG5hbWUsIDMwNCwgc2VsZi5oLTI3LCA1NiwgMTcsIGZsYWdzLCB0aXRsZSwgbmV4dCkKKworICAgIGRlZiBuZXh0KHNlbGYsIHRpdGxlLCBuZXh0LCBuYW1lID0gIk5leHQiLCBhY3RpdmUgPSAxKToKKyAgICAgICAgIiIiQWRkIGEgTmV4dCBidXR0b24gd2l0aCBhIGdpdmVuIHRpdGxlLCB0aGUgdGFiLW5leHQgYnV0dG9uLAorICAgICAgICBpdHMgbmFtZSBpbiB0aGUgQ29udHJvbCB0YWJsZSwgcG9zc2libHkgaW5pdGlhbGx5IGRpc2FibGVkLgorCisgICAgICAgIFJldHVybiB0aGUgYnV0dG9uLCBzbyB0aGF0IGV2ZW50cyBjYW4gYmUgYXNzb2NpYXRlZCIiIgorICAgICAgICBpZiBhY3RpdmU6CisgICAgICAgICAgICBmbGFncyA9IDMgIyBWaXNpYmxlfEVuYWJsZWQKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGZsYWdzID0gMSAjIFZpc2libGUKKyAgICAgICAgcmV0dXJuIHNlbGYucHVzaGJ1dHRvbihuYW1lLCAyMzYsIHNlbGYuaC0yNywgNTYsIDE3LCBmbGFncywgdGl0bGUsIG5leHQpCisKKyAgICBkZWYgeGJ1dHRvbihzZWxmLCBuYW1lLCB0aXRsZSwgbmV4dCwgeHBvcyk6CisgICAgICAgICIiIkFkZCBhIGJ1dHRvbiB3aXRoIGEgZ2l2ZW4gdGl0bGUsIHRoZSB0YWItbmV4dCBidXR0b24sCisgICAgICAgIGl0cyBuYW1lIGluIHRoZSBDb250cm9sIHRhYmxlLCBnaXZpbmcgaXRzIHggcG9zaXRpb247IHRoZQorICAgICAgICB5LXBvc2l0aW9uIGlzIGFsaWduZWQgd2l0aCB0aGUgb3RoZXIgYnV0dG9ucy4KKworICAgICAgICBSZXR1cm4gdGhlIGJ1dHRvbiwgc28gdGhhdCBldmVudHMgY2FuIGJlIGFzc29jaWF0ZWQiIiIKKyAgICAgICAgcmV0dXJuIHNlbGYucHVzaGJ1dHRvbihuYW1lLCBpbnQoc2VsZi53Knhwb3MgLSAyOCksIHNlbGYuaC0yNywgNTYsIDE3LCAzLCB0aXRsZSwgbmV4dCkKKworY2xhc3MgYmRpc3RfbXNpKENvbW1hbmQpOgorCisgICAgZGVzY3JpcHRpb24gPSAiY3JlYXRlIGEgTWljcm9zb2Z0IEluc3RhbGxlciAoLm1zaSkgYmluYXJ5IGRpc3RyaWJ1dGlvbiIKKworICAgIHVzZXJfb3B0aW9ucyA9IFsoJ2JkaXN0LWRpcj0nLCBOb25lLAorICAgICAgICAgICAgICAgICAgICAgInRlbXBvcmFyeSBkaXJlY3RvcnkgZm9yIGNyZWF0aW5nIHRoZSBkaXN0cmlidXRpb24iKSwKKyAgICAgICAgICAgICAgICAgICAgKCdwbGF0LW5hbWU9JywgJ3AnLAorICAgICAgICAgICAgICAgICAgICAgInBsYXRmb3JtIG5hbWUgdG8gZW1iZWQgaW4gZ2VuZXJhdGVkIGZpbGVuYW1lcyAiCisgICAgICAgICAgICAgICAgICAgICAiKGRlZmF1bHQ6ICVzKSIgJSBnZXRfcGxhdGZvcm0oKSksCisgICAgICAgICAgICAgICAgICAgICgna2VlcC10ZW1wJywgJ2snLAorICAgICAgICAgICAgICAgICAgICAgImtlZXAgdGhlIHBzZXVkby1pbnN0YWxsYXRpb24gdHJlZSBhcm91bmQgYWZ0ZXIgIiArCisgICAgICAgICAgICAgICAgICAgICAiY3JlYXRpbmcgdGhlIGRpc3RyaWJ1dGlvbiBhcmNoaXZlIiksCisgICAgICAgICAgICAgICAgICAgICgndGFyZ2V0LXZlcnNpb249JywgTm9uZSwKKyAgICAgICAgICAgICAgICAgICAgICJyZXF1aXJlIGEgc3BlY2lmaWMgcHl0aG9uIHZlcnNpb24iICsKKyAgICAgICAgICAgICAgICAgICAgICIgb24gdGhlIHRhcmdldCBzeXN0ZW0iKSwKKyAgICAgICAgICAgICAgICAgICAgKCduby10YXJnZXQtY29tcGlsZScsICdjJywKKyAgICAgICAgICAgICAgICAgICAgICJkbyBub3QgY29tcGlsZSAucHkgdG8gLnB5YyBvbiB0aGUgdGFyZ2V0IHN5c3RlbSIpLAorICAgICAgICAgICAgICAgICAgICAoJ25vLXRhcmdldC1vcHRpbWl6ZScsICdvJywKKyAgICAgICAgICAgICAgICAgICAgICJkbyBub3QgY29tcGlsZSAucHkgdG8gLnB5byAob3B0aW1pemVkKSIKKyAgICAgICAgICAgICAgICAgICAgICJvbiB0aGUgdGFyZ2V0IHN5c3RlbSIpLAorICAgICAgICAgICAgICAgICAgICAoJ2Rpc3QtZGlyPScsICdkJywKKyAgICAgICAgICAgICAgICAgICAgICJkaXJlY3RvcnkgdG8gcHV0IGZpbmFsIGJ1aWx0IGRpc3RyaWJ1dGlvbnMgaW4iKSwKKyAgICAgICAgICAgICAgICAgICAgKCdza2lwLWJ1aWxkJywgTm9uZSwKKyAgICAgICAgICAgICAgICAgICAgICJza2lwIHJlYnVpbGRpbmcgZXZlcnl0aGluZyAoZm9yIHRlc3RpbmcvZGVidWdnaW5nKSIpLAorICAgICAgICAgICAgICAgICAgICAoJ2luc3RhbGwtc2NyaXB0PScsIE5vbmUsCisgICAgICAgICAgICAgICAgICAgICAiYmFzZW5hbWUgb2YgaW5zdGFsbGF0aW9uIHNjcmlwdCB0byBiZSBydW4gYWZ0ZXIiCisgICAgICAgICAgICAgICAgICAgICAiaW5zdGFsbGF0aW9uIG9yIGJlZm9yZSBkZWluc3RhbGxhdGlvbiIpLAorICAgICAgICAgICAgICAgICAgICAoJ3ByZS1pbnN0YWxsLXNjcmlwdD0nLCBOb25lLAorICAgICAgICAgICAgICAgICAgICAgIkZ1bGx5IHF1YWxpZmllZCBmaWxlbmFtZSBvZiBhIHNjcmlwdCB0byBiZSBydW4gYmVmb3JlICIKKyAgICAgICAgICAgICAgICAgICAgICJhbnkgZmlsZXMgYXJlIGluc3RhbGxlZC4gIFRoaXMgc2NyaXB0IG5lZWQgbm90IGJlIGluIHRoZSAiCisgICAgICAgICAgICAgICAgICAgICAiZGlzdHJpYnV0aW9uIiksCisgICAgICAgICAgICAgICAgICAgXQorCisgICAgYm9vbGVhbl9vcHRpb25zID0gWydrZWVwLXRlbXAnLCAnbm8tdGFyZ2V0LWNvbXBpbGUnLCAnbm8tdGFyZ2V0LW9wdGltaXplJywKKyAgICAgICAgICAgICAgICAgICAgICAgJ3NraXAtYnVpbGQnXQorCisgICAgYWxsX3ZlcnNpb25zID0gWycyLjAnLCAnMi4xJywgJzIuMicsICcyLjMnLCAnMi40JywKKyAgICAgICAgICAgICAgICAgICAgJzIuNScsICcyLjYnLCAnMi43JywgJzIuOCcsICcyLjknLAorICAgICAgICAgICAgICAgICAgICAnMy4wJywgJzMuMScsICczLjInLCAnMy4zJywgJzMuNCcsCisgICAgICAgICAgICAgICAgICAgICczLjUnLCAnMy42JywgJzMuNycsICczLjgnLCAnMy45J10KKyAgICBvdGhlcl92ZXJzaW9uID0gJ1gnCisKKyAgICBkZWYgaW5pdGlhbGl6ZV9vcHRpb25zKHNlbGYpOgorICAgICAgICBzZWxmLmJkaXN0X2RpciA9IE5vbmUKKyAgICAgICAgc2VsZi5wbGF0X25hbWUgPSBOb25lCisgICAgICAgIHNlbGYua2VlcF90ZW1wID0gRmFsc2UKKyAgICAgICAgc2VsZi5ub190YXJnZXRfY29tcGlsZSA9IEZhbHNlCisgICAgICAgIHNlbGYubm9fdGFyZ2V0X29wdGltaXplID0gRmFsc2UKKyAgICAgICAgc2VsZi50YXJnZXRfdmVyc2lvbiA9IE5vbmUKKyAgICAgICAgc2VsZi5kaXN0X2RpciA9IE5vbmUKKyAgICAgICAgc2VsZi5za2lwX2J1aWxkID0gTm9uZQorICAgICAgICBzZWxmLmluc3RhbGxfc2NyaXB0ID0gTm9uZQorICAgICAgICBzZWxmLnByZV9pbnN0YWxsX3NjcmlwdCA9IE5vbmUKKyAgICAgICAgc2VsZi52ZXJzaW9ucyA9IE5vbmUKKworICAgIGRlZiBmaW5hbGl6ZV9vcHRpb25zKHNlbGYpOgorICAgICAgICBzZWxmLnNldF91bmRlZmluZWRfb3B0aW9ucygnYmRpc3QnLCAnc2tpcF9idWlsZCcpCisKKyAgICAgICAgaWYgc2VsZi5iZGlzdF9kaXIgaXMgTm9uZToKKyAgICAgICAgICAgIGJkaXN0X2Jhc2UgPSBzZWxmLmdldF9maW5hbGl6ZWRfY29tbWFuZCgnYmRpc3QnKS5iZGlzdF9iYXNlCisgICAgICAgICAgICBzZWxmLmJkaXN0X2RpciA9IG9zLnBhdGguam9pbihiZGlzdF9iYXNlLCAnbXNpJykKKworICAgICAgICBzaG9ydF92ZXJzaW9uID0gZ2V0X3B5dGhvbl92ZXJzaW9uKCkKKyAgICAgICAgaWYgKG5vdCBzZWxmLnRhcmdldF92ZXJzaW9uKSBhbmQgc2VsZi5kaXN0cmlidXRpb24uaGFzX2V4dF9tb2R1bGVzKCk6CisgICAgICAgICAgICBzZWxmLnRhcmdldF92ZXJzaW9uID0gc2hvcnRfdmVyc2lvbgorCisgICAgICAgIGlmIHNlbGYudGFyZ2V0X3ZlcnNpb246CisgICAgICAgICAgICBzZWxmLnZlcnNpb25zID0gW3NlbGYudGFyZ2V0X3ZlcnNpb25dCisgICAgICAgICAgICBpZiBub3Qgc2VsZi5za2lwX2J1aWxkIGFuZCBzZWxmLmRpc3RyaWJ1dGlvbi5oYXNfZXh0X21vZHVsZXMoKVwKKyAgICAgICAgICAgICAgIGFuZCBzZWxmLnRhcmdldF92ZXJzaW9uICE9IHNob3J0X3ZlcnNpb246CisgICAgICAgICAgICAgICAgcmFpc2UgUGFja2FnaW5nT3B0aW9uRXJyb3IoInRhcmdldCB2ZXJzaW9uIGNhbiBvbmx5IGJlICVzLCBvciB0aGUgJy0tc2tpcC1idWlsZCciIFwKKyAgICAgICAgICAgICAgICAgICAgICAiIG9wdGlvbiBtdXN0IGJlIHNwZWNpZmllZCIgJSAoc2hvcnRfdmVyc2lvbiwpKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgc2VsZi52ZXJzaW9ucyA9IGxpc3Qoc2VsZi5hbGxfdmVyc2lvbnMpCisKKyAgICAgICAgc2VsZi5zZXRfdW5kZWZpbmVkX29wdGlvbnMoJ2JkaXN0JywgJ2Rpc3RfZGlyJywgJ3BsYXRfbmFtZScpCisKKyAgICAgICAgaWYgc2VsZi5wcmVfaW5zdGFsbF9zY3JpcHQ6CisgICAgICAgICAgICByYWlzZSBQYWNrYWdpbmdPcHRpb25FcnJvcigidGhlIHByZS1pbnN0YWxsLXNjcmlwdCBmZWF0dXJlIGlzIG5vdCB5ZXQgaW1wbGVtZW50ZWQiKQorCisgICAgICAgIGlmIHNlbGYuaW5zdGFsbF9zY3JpcHQ6CisgICAgICAgICAgICBmb3Igc2NyaXB0IGluIHNlbGYuZGlzdHJpYnV0aW9uLnNjcmlwdHM6CisgICAgICAgICAgICAgICAgaWYgc2VsZi5pbnN0YWxsX3NjcmlwdCA9PSBvcy5wYXRoLmJhc2VuYW1lKHNjcmlwdCk6CisgICAgICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHJhaXNlIFBhY2thZ2luZ09wdGlvbkVycm9yKCJpbnN0YWxsX3NjcmlwdCAnJXMnIG5vdCBmb3VuZCBpbiBzY3JpcHRzIiAlIFwKKyAgICAgICAgICAgICAgICAgICAgICBzZWxmLmluc3RhbGxfc2NyaXB0KQorICAgICAgICBzZWxmLmluc3RhbGxfc2NyaXB0X2tleSA9IE5vbmUKKworCisgICAgZGVmIHJ1bihzZWxmKToKKyAgICAgICAgaWYgbm90IHNlbGYuc2tpcF9idWlsZDoKKyAgICAgICAgICAgIHNlbGYucnVuX2NvbW1hbmQoJ2J1aWxkJykKKworICAgICAgICBpbnN0YWxsID0gc2VsZi5yZWluaXRpYWxpemVfY29tbWFuZCgnaW5zdGFsbF9kaXN0JywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVpbml0X3N1YmNvbW1hbmRzPVRydWUpCisgICAgICAgIGluc3RhbGwucHJlZml4ID0gc2VsZi5iZGlzdF9kaXIKKyAgICAgICAgaW5zdGFsbC5za2lwX2J1aWxkID0gc2VsZi5za2lwX2J1aWxkCisgICAgICAgIGluc3RhbGwud2Fybl9kaXIgPSBGYWxzZQorCisgICAgICAgIGluc3RhbGxfbGliID0gc2VsZi5yZWluaXRpYWxpemVfY29tbWFuZCgnaW5zdGFsbF9saWInKQorICAgICAgICAjIHdlIGRvIG5vdCB3YW50IHRvIGluY2x1ZGUgcHljIG9yIHB5byBmaWxlcworICAgICAgICBpbnN0YWxsX2xpYi5jb21waWxlID0gRmFsc2UKKyAgICAgICAgaW5zdGFsbF9saWIub3B0aW1pemUgPSAwCisKKyAgICAgICAgaWYgc2VsZi5kaXN0cmlidXRpb24uaGFzX2V4dF9tb2R1bGVzKCk6CisgICAgICAgICAgICAjIElmIHdlIGFyZSBidWlsZGluZyBhbiBpbnN0YWxsZXIgZm9yIGEgUHl0aG9uIHZlcnNpb24gb3RoZXIKKyAgICAgICAgICAgICMgdGhhbiB0aGUgb25lIHdlIGFyZSBjdXJyZW50bHkgcnVubmluZywgdGhlbiB3ZSBuZWVkIHRvIGVuc3VyZQorICAgICAgICAgICAgIyBvdXIgYnVpbGRfbGliIHJlZmxlY3RzIHRoZSBvdGhlciBQeXRob24gdmVyc2lvbiByYXRoZXIgdGhhbiBvdXJzLgorICAgICAgICAgICAgIyBOb3RlIHRoYXQgZm9yIHRhcmdldF92ZXJzaW9uIT1zeXMudmVyc2lvbiwgd2UgbXVzdCBoYXZlIHNraXBwZWQgdGhlCisgICAgICAgICAgICAjIGJ1aWxkIHN0ZXAsIHNvIHRoZXJlIGlzIG5vIGlzc3VlIHdpdGggZW5mb3JjaW5nIHRoZSBidWlsZCBvZiB0aGlzCisgICAgICAgICAgICAjIHZlcnNpb24uCisgICAgICAgICAgICB0YXJnZXRfdmVyc2lvbiA9IHNlbGYudGFyZ2V0X3ZlcnNpb24KKyAgICAgICAgICAgIGlmIG5vdCB0YXJnZXRfdmVyc2lvbjoKKyAgICAgICAgICAgICAgICBhc3NlcnQgc2VsZi5za2lwX2J1aWxkLCAiU2hvdWxkIGhhdmUgYWxyZWFkeSBjaGVja2VkIHRoaXMiCisgICAgICAgICAgICAgICAgdGFyZ2V0X3ZlcnNpb24gPSAnJXMuJXMnICUgc3lzLnZlcnNpb25faW5mb1s6Ml0KKyAgICAgICAgICAgIHBsYXRfc3BlY2lmaWVyID0gIi4lcy0lcyIgJSAoc2VsZi5wbGF0X25hbWUsIHRhcmdldF92ZXJzaW9uKQorICAgICAgICAgICAgYnVpbGQgPSBzZWxmLmdldF9maW5hbGl6ZWRfY29tbWFuZCgnYnVpbGQnKQorICAgICAgICAgICAgYnVpbGQuYnVpbGRfbGliID0gb3MucGF0aC5qb2luKGJ1aWxkLmJ1aWxkX2Jhc2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2xpYicgKyBwbGF0X3NwZWNpZmllcikKKworICAgICAgICBsb2cuaW5mbygiaW5zdGFsbGluZyB0byAlcyIsIHNlbGYuYmRpc3RfZGlyKQorICAgICAgICBpbnN0YWxsLmVuc3VyZV9maW5hbGl6ZWQoKQorCisgICAgICAgICMgYXZvaWQgd2FybmluZyBvZiAnaW5zdGFsbF9saWInIGFib3V0IGluc3RhbGxpbmcKKyAgICAgICAgIyBpbnRvIGEgZGlyZWN0b3J5IG5vdCBpbiBzeXMucGF0aAorICAgICAgICBzeXMucGF0aC5pbnNlcnQoMCwgb3MucGF0aC5qb2luKHNlbGYuYmRpc3RfZGlyLCAnUFVSRUxJQicpKQorCisgICAgICAgIGluc3RhbGwucnVuKCkKKworICAgICAgICBkZWwgc3lzLnBhdGhbMF0KKworICAgICAgICBzZWxmLm1rcGF0aChzZWxmLmRpc3RfZGlyKQorICAgICAgICBmdWxsbmFtZSA9IHNlbGYuZGlzdHJpYnV0aW9uLmdldF9mdWxsbmFtZSgpCisgICAgICAgIGluc3RhbGxlcl9uYW1lID0gc2VsZi5nZXRfaW5zdGFsbGVyX2ZpbGVuYW1lKGZ1bGxuYW1lKQorICAgICAgICBpbnN0YWxsZXJfbmFtZSA9IG9zLnBhdGguYWJzcGF0aChpbnN0YWxsZXJfbmFtZSkKKyAgICAgICAgaWYgb3MucGF0aC5leGlzdHMoaW5zdGFsbGVyX25hbWUpOiBvcy51bmxpbmsoaW5zdGFsbGVyX25hbWUpCisKKyAgICAgICAgbWV0YWRhdGEgPSBzZWxmLmRpc3RyaWJ1dGlvbi5tZXRhZGF0YQorICAgICAgICBhdXRob3IgPSBtZXRhZGF0YS5hdXRob3IKKyAgICAgICAgaWYgbm90IGF1dGhvcjoKKyAgICAgICAgICAgIGF1dGhvciA9IG1ldGFkYXRhLm1haW50YWluZXIKKyAgICAgICAgaWYgbm90IGF1dGhvcjoKKyAgICAgICAgICAgIGF1dGhvciA9ICJVTktOT1dOIgorICAgICAgICB2ZXJzaW9uID0gTVNJVmVyc2lvbihtZXRhZGF0YS5nZXRfdmVyc2lvbigpKQorICAgICAgICAjIFByZWZpeCBQcm9kdWN0TmFtZSB3aXRoIFB5dGhvbiB4LnksIHNvIHRoYXQKKyAgICAgICAgIyBpdCBzb3J0cyB0b2dldGhlciB3aXRoIHRoZSBvdGhlciBQeXRob24gcGFja2FnZXMKKyAgICAgICAgIyBpbiBBZGQtUmVtb3ZlLVByb2dyYW1zIChBUFIpCisgICAgICAgIGZ1bGxuYW1lID0gc2VsZi5kaXN0cmlidXRpb24uZ2V0X2Z1bGxuYW1lKCkKKyAgICAgICAgaWYgc2VsZi50YXJnZXRfdmVyc2lvbjoKKyAgICAgICAgICAgIHByb2R1Y3RfbmFtZSA9ICJQeXRob24gJXMgJXMiICUgKHNlbGYudGFyZ2V0X3ZlcnNpb24sIGZ1bGxuYW1lKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcHJvZHVjdF9uYW1lID0gIlB5dGhvbiAlcyIgJSAoZnVsbG5hbWUpCisgICAgICAgIHNlbGYuZGIgPSBtc2lsaWIuaW5pdF9kYXRhYmFzZShpbnN0YWxsZXJfbmFtZSwgc2NoZW1hLAorICAgICAgICAgICAgICAgIHByb2R1Y3RfbmFtZSwgbXNpbGliLmdlbl91dWlkKCksCisgICAgICAgICAgICAgICAgc3RyKHZlcnNpb24pLCBhdXRob3IpCisgICAgICAgIG1zaWxpYi5hZGRfdGFibGVzKHNlbGYuZGIsIHNlcXVlbmNlKQorICAgICAgICBwcm9wcyA9IFsoJ0Rpc3RWZXJzaW9uJywgdmVyc2lvbildCisgICAgICAgIGVtYWlsID0gbWV0YWRhdGEuYXV0aG9yX2VtYWlsIG9yIG1ldGFkYXRhLm1haW50YWluZXJfZW1haWwKKyAgICAgICAgaWYgZW1haWw6CisgICAgICAgICAgICBwcm9wcy5hcHBlbmQoKCJBUlBDT05UQUNUIiwgZW1haWwpKQorICAgICAgICBpZiBtZXRhZGF0YS51cmw6CisgICAgICAgICAgICBwcm9wcy5hcHBlbmQoKCJBUlBVUkxJTkZPQUJPVVQiLCBtZXRhZGF0YS51cmwpKQorICAgICAgICBpZiBwcm9wczoKKyAgICAgICAgICAgIGFkZF9kYXRhKHNlbGYuZGIsICdQcm9wZXJ0eScsIHByb3BzKQorCisgICAgICAgIHNlbGYuYWRkX2ZpbmRfcHl0aG9uKCkKKyAgICAgICAgc2VsZi5hZGRfZmlsZXMoKQorICAgICAgICBzZWxmLmFkZF9zY3JpcHRzKCkKKyAgICAgICAgc2VsZi5hZGRfdWkoKQorICAgICAgICBzZWxmLmRiLkNvbW1pdCgpCisKKyAgICAgICAgaWYgaGFzYXR0cihzZWxmLmRpc3RyaWJ1dGlvbiwgJ2Rpc3RfZmlsZXMnKToKKyAgICAgICAgICAgIHR1cCA9ICdiZGlzdF9tc2knLCBzZWxmLnRhcmdldF92ZXJzaW9uIG9yICdhbnknLCBmdWxsbmFtZQorICAgICAgICAgICAgc2VsZi5kaXN0cmlidXRpb24uZGlzdF9maWxlcy5hcHBlbmQodHVwKQorCisgICAgICAgIGlmIG5vdCBzZWxmLmtlZXBfdGVtcDoKKyAgICAgICAgICAgIGxvZy5pbmZvKCJyZW1vdmluZyB0ZW1wb3JhcnkgYnVpbGQgZGlyZWN0b3J5ICVzIiwgc2VsZi5iZGlzdF9kaXIpCisgICAgICAgICAgICBpZiBub3Qgc2VsZi5kcnlfcnVuOgorICAgICAgICAgICAgICAgIHJtdHJlZShzZWxmLmJkaXN0X2RpcikKKworICAgIGRlZiBhZGRfZmlsZXMoc2VsZik6CisgICAgICAgIGRiID0gc2VsZi5kYgorICAgICAgICBjYWIgPSBtc2lsaWIuQ0FCKCJkaXN0ZmlsZXMiKQorICAgICAgICByb290ZGlyID0gb3MucGF0aC5hYnNwYXRoKHNlbGYuYmRpc3RfZGlyKQorCisgICAgICAgIHJvb3QgPSBEaXJlY3RvcnkoZGIsIGNhYiwgTm9uZSwgcm9vdGRpciwgIlRBUkdFVERJUiIsICJTb3VyY2VEaXIiKQorICAgICAgICBmID0gRmVhdHVyZShkYiwgIlB5dGhvbiIsICJQeXRob24iLCAiRXZlcnl0aGluZyIsCisgICAgICAgICAgICAgICAgICAgIDAsIDEsIGRpcmVjdG9yeT0iVEFSR0VURElSIikKKworICAgICAgICBpdGVtcyA9IFsoZiwgcm9vdCwgJycpXQorICAgICAgICBmb3IgdmVyc2lvbiBpbiBzZWxmLnZlcnNpb25zICsgW3NlbGYub3RoZXJfdmVyc2lvbl06CisgICAgICAgICAgICB0YXJnZXQgPSAiVEFSR0VURElSIiArIHZlcnNpb24KKyAgICAgICAgICAgIG5hbWUgPSBkZWZhdWx0ID0gIlB5dGhvbiIgKyB2ZXJzaW9uCisgICAgICAgICAgICBkZXNjID0gIkV2ZXJ5dGhpbmciCisgICAgICAgICAgICBpZiB2ZXJzaW9uIGlzIHNlbGYub3RoZXJfdmVyc2lvbjoKKyAgICAgICAgICAgICAgICB0aXRsZSA9ICJQeXRob24gZnJvbSBhbm90aGVyIGxvY2F0aW9uIgorICAgICAgICAgICAgICAgIGxldmVsID0gMgorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICB0aXRsZSA9ICJQeXRob24gJXMgZnJvbSByZWdpc3RyeSIgJSB2ZXJzaW9uCisgICAgICAgICAgICAgICAgbGV2ZWwgPSAxCisgICAgICAgICAgICBmID0gRmVhdHVyZShkYiwgbmFtZSwgdGl0bGUsIGRlc2MsIDEsIGxldmVsLCBkaXJlY3Rvcnk9dGFyZ2V0KQorICAgICAgICAgICAgZGlyID0gRGlyZWN0b3J5KGRiLCBjYWIsIHJvb3QsIHJvb3RkaXIsIHRhcmdldCwgZGVmYXVsdCkKKyAgICAgICAgICAgIGl0ZW1zLmFwcGVuZCgoZiwgZGlyLCB2ZXJzaW9uKSkKKyAgICAgICAgZGIuQ29tbWl0KCkKKworICAgICAgICBzZWVuID0ge30KKyAgICAgICAgZm9yIGZlYXR1cmUsIGRpciwgdmVyc2lvbiBpbiBpdGVtczoKKyAgICAgICAgICAgIHRvZG8gPSBbZGlyXQorICAgICAgICAgICAgd2hpbGUgdG9kbzoKKyAgICAgICAgICAgICAgICBkaXIgPSB0b2RvLnBvcCgpCisgICAgICAgICAgICAgICAgZm9yIGZpbGUgaW4gb3MubGlzdGRpcihkaXIuYWJzb2x1dGUpOgorICAgICAgICAgICAgICAgICAgICBhZmlsZSA9IG9zLnBhdGguam9pbihkaXIuYWJzb2x1dGUsIGZpbGUpCisgICAgICAgICAgICAgICAgICAgIGlmIG9zLnBhdGguaXNkaXIoYWZpbGUpOgorICAgICAgICAgICAgICAgICAgICAgICAgc2hvcnQgPSAiJXN8JXMiICUgKGRpci5tYWtlX3Nob3J0KGZpbGUpLCBmaWxlKQorICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdCA9IGZpbGUgKyB2ZXJzaW9uCisgICAgICAgICAgICAgICAgICAgICAgICBuZXdkaXIgPSBEaXJlY3RvcnkoZGIsIGNhYiwgZGlyLCBmaWxlLCBkZWZhdWx0LCBzaG9ydCkKKyAgICAgICAgICAgICAgICAgICAgICAgIHRvZG8uYXBwZW5kKG5ld2RpcikKKyAgICAgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIG5vdCBkaXIuY29tcG9uZW50OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpci5zdGFydF9jb21wb25lbnQoZGlyLmxvZ2ljYWwsIGZlYXR1cmUsIDApCisgICAgICAgICAgICAgICAgICAgICAgICBpZiBhZmlsZSBub3QgaW4gc2VlbjoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXkgPSBzZWVuW2FmaWxlXSA9IGRpci5hZGRfZmlsZShmaWxlKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIGZpbGU9PXNlbGYuaW5zdGFsbF9zY3JpcHQ6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIHNlbGYuaW5zdGFsbF9zY3JpcHRfa2V5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2UgUGFja2FnaW5nT3B0aW9uRXJyb3IoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTXVsdGlwbGUgZmlsZXMgd2l0aCBuYW1lICVzIiAlIGZpbGUpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuaW5zdGFsbF9zY3JpcHRfa2V5ID0gJ1sjJXNdJyAlIGtleQorICAgICAgICAgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXkgPSBzZWVuW2FmaWxlXQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZF9kYXRhKHNlbGYuZGIsICJEdXBsaWNhdGVGaWxlIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhrZXkgKyB2ZXJzaW9uLCBkaXIuY29tcG9uZW50LCBrZXksIE5vbmUsIGRpci5sb2dpY2FsKV0pCisgICAgICAgICAgICBkYi5Db21taXQoKQorICAgICAgICBjYWIuY29tbWl0KGRiKQorCisgICAgZGVmIGFkZF9maW5kX3B5dGhvbihzZWxmKToKKyAgICAgICAgIiIiQWRkcyBjb2RlIHRvIHRoZSBpbnN0YWxsZXIgdG8gY29tcHV0ZSB0aGUgbG9jYXRpb24gb2YgUHl0aG9uLgorCisgICAgICAgIFByb3BlcnRpZXMgUFlUSE9OLk1BQ0hJTkUuWC5ZIGFuZCBQWVRIT04uVVNFUi5YLlkgd2lsbCBiZSBzZXQgZnJvbSB0aGUKKyAgICAgICAgcmVnaXN0cnkgZm9yIGVhY2ggdmVyc2lvbiBvZiBQeXRob24uCisKKyAgICAgICAgUHJvcGVydGllcyBUQVJHRVRESVJYLlkgd2lsbCBiZSBzZXQgZnJvbSBQWVRIT04uVVNFUi5YLlkgaWYgZGVmaW5lZCwKKyAgICAgICAgZWxzZSBmcm9tIFBZVEhPTi5NQUNISU5FLlguWS4KKworICAgICAgICBQcm9wZXJ0aWVzIFBZVEhPTlguWSB3aWxsIGJlIHNldCB0byBUQVJHRVRESVJYLllcXHB5dGhvbi5leGUiIiIKKworICAgICAgICBzdGFydCA9IDQwMgorICAgICAgICBmb3IgdmVyIGluIHNlbGYudmVyc2lvbnM6CisgICAgICAgICAgICBpbnN0YWxsX3BhdGggPSByIlNPRlRXQVJFXFB5dGhvblxQeXRob25Db3JlXCVzXEluc3RhbGxQYXRoIiAlIHZlcgorICAgICAgICAgICAgbWFjaGluZV9yZWcgPSAicHl0aG9uLm1hY2hpbmUuIiArIHZlcgorICAgICAgICAgICAgdXNlcl9yZWcgPSAicHl0aG9uLnVzZXIuIiArIHZlcgorICAgICAgICAgICAgbWFjaGluZV9wcm9wID0gIlBZVEhPTi5NQUNISU5FLiIgKyB2ZXIKKyAgICAgICAgICAgIHVzZXJfcHJvcCA9ICJQWVRIT04uVVNFUi4iICsgdmVyCisgICAgICAgICAgICBtYWNoaW5lX2FjdGlvbiA9ICJQeXRob25Gcm9tTWFjaGluZSIgKyB2ZXIKKyAgICAgICAgICAgIHVzZXJfYWN0aW9uID0gIlB5dGhvbkZyb21Vc2VyIiArIHZlcgorICAgICAgICAgICAgZXhlX2FjdGlvbiA9ICJQeXRob25FeGUiICsgdmVyCisgICAgICAgICAgICB0YXJnZXRfZGlyX3Byb3AgPSAiVEFSR0VURElSIiArIHZlcgorICAgICAgICAgICAgZXhlX3Byb3AgPSAiUFlUSE9OIiArIHZlcgorICAgICAgICAgICAgaWYgbXNpbGliLldpbjY0OgorICAgICAgICAgICAgICAgICMgdHlwZTogbXNpZGJMb2NhdG9yVHlwZVJhd1ZhbHVlICsgbXNpZGJMb2NhdG9yVHlwZTY0Yml0CisgICAgICAgICAgICAgICAgVHlwZSA9IDIrMTYKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgVHlwZSA9IDIKKyAgICAgICAgICAgIGFkZF9kYXRhKHNlbGYuZGIsICJSZWdMb2NhdG9yIiwKKyAgICAgICAgICAgICAgICAgICAgWyhtYWNoaW5lX3JlZywgMiwgaW5zdGFsbF9wYXRoLCBOb25lLCBUeXBlKSwKKyAgICAgICAgICAgICAgICAgICAgICh1c2VyX3JlZywgMSwgaW5zdGFsbF9wYXRoLCBOb25lLCBUeXBlKV0pCisgICAgICAgICAgICBhZGRfZGF0YShzZWxmLmRiLCAiQXBwU2VhcmNoIiwKKyAgICAgICAgICAgICAgICAgICAgWyhtYWNoaW5lX3Byb3AsIG1hY2hpbmVfcmVnKSwKKyAgICAgICAgICAgICAgICAgICAgICh1c2VyX3Byb3AsIHVzZXJfcmVnKV0pCisgICAgICAgICAgICBhZGRfZGF0YShzZWxmLmRiLCAiQ3VzdG9tQWN0aW9uIiwKKyAgICAgICAgICAgICAgICAgICAgWyhtYWNoaW5lX2FjdGlvbiwgNTErMjU2LCB0YXJnZXRfZGlyX3Byb3AsICJbIiArIG1hY2hpbmVfcHJvcCArICJdIiksCisgICAgICAgICAgICAgICAgICAgICAodXNlcl9hY3Rpb24sIDUxKzI1NiwgdGFyZ2V0X2Rpcl9wcm9wLCAiWyIgKyB1c2VyX3Byb3AgKyAiXSIpLAorICAgICAgICAgICAgICAgICAgICAgKGV4ZV9hY3Rpb24sIDUxKzI1NiwgZXhlX3Byb3AsICJbIiArIHRhcmdldF9kaXJfcHJvcCArICJdXFxweXRob24uZXhlIiksCisgICAgICAgICAgICAgICAgICAgIF0pCisgICAgICAgICAgICBhZGRfZGF0YShzZWxmLmRiLCAiSW5zdGFsbEV4ZWN1dGVTZXF1ZW5jZSIsCisgICAgICAgICAgICAgICAgICAgIFsobWFjaGluZV9hY3Rpb24sIG1hY2hpbmVfcHJvcCwgc3RhcnQpLAorICAgICAgICAgICAgICAgICAgICAgKHVzZXJfYWN0aW9uLCB1c2VyX3Byb3AsIHN0YXJ0ICsgMSksCisgICAgICAgICAgICAgICAgICAgICAoZXhlX2FjdGlvbiwgTm9uZSwgc3RhcnQgKyAyKSwKKyAgICAgICAgICAgICAgICAgICAgXSkKKyAgICAgICAgICAgIGFkZF9kYXRhKHNlbGYuZGIsICJJbnN0YWxsVUlTZXF1ZW5jZSIsCisgICAgICAgICAgICAgICAgICAgIFsobWFjaGluZV9hY3Rpb24sIG1hY2hpbmVfcHJvcCwgc3RhcnQpLAorICAgICAgICAgICAgICAgICAgICAgKHVzZXJfYWN0aW9uLCB1c2VyX3Byb3AsIHN0YXJ0ICsgMSksCisgICAgICAgICAgICAgICAgICAgICAoZXhlX2FjdGlvbiwgTm9uZSwgc3RhcnQgKyAyKSwKKyAgICAgICAgICAgICAgICAgICAgXSkKKyAgICAgICAgICAgIGFkZF9kYXRhKHNlbGYuZGIsICJDb25kaXRpb24iLAorICAgICAgICAgICAgICAgICAgICBbKCJQeXRob24iICsgdmVyLCAwLCAiTk9UIFRBUkdFVERJUiIgKyB2ZXIpXSkKKyAgICAgICAgICAgIHN0YXJ0ICs9IDQKKyAgICAgICAgICAgIGFzc2VydCBzdGFydCA8IDUwMAorCisgICAgZGVmIGFkZF9zY3JpcHRzKHNlbGYpOgorICAgICAgICBpZiBzZWxmLmluc3RhbGxfc2NyaXB0OgorICAgICAgICAgICAgc3RhcnQgPSA2ODAwCisgICAgICAgICAgICBmb3IgdmVyIGluIHNlbGYudmVyc2lvbnMgKyBbc2VsZi5vdGhlcl92ZXJzaW9uXToKKyAgICAgICAgICAgICAgICBpbnN0YWxsX2FjdGlvbiA9ICJpbnN0YWxsX3NjcmlwdC4iICsgdmVyCisgICAgICAgICAgICAgICAgZXhlX3Byb3AgPSAiUFlUSE9OIiArIHZlcgorICAgICAgICAgICAgICAgIGFkZF9kYXRhKHNlbGYuZGIsICJDdXN0b21BY3Rpb24iLAorICAgICAgICAgICAgICAgICAgICAgICAgWyhpbnN0YWxsX2FjdGlvbiwgNTAsIGV4ZV9wcm9wLCBzZWxmLmluc3RhbGxfc2NyaXB0X2tleSldKQorICAgICAgICAgICAgICAgIGFkZF9kYXRhKHNlbGYuZGIsICJJbnN0YWxsRXhlY3V0ZVNlcXVlbmNlIiwKKyAgICAgICAgICAgICAgICAgICAgICAgIFsoaW5zdGFsbF9hY3Rpb24sICImUHl0aG9uJXM9MyIgJSB2ZXIsIHN0YXJ0KV0pCisgICAgICAgICAgICAgICAgc3RhcnQgKz0gMQorICAgICAgICAjIFhYWCBwcmUtaW5zdGFsbCBzY3JpcHRzIGFyZSBjdXJyZW50bHkgcmVmdXNlZCBpbiBmaW5hbGl6ZV9vcHRpb25zKCkKKyAgICAgICAgIyAgICAgYnV0IGlmIHRoaXMgZmVhdHVyZSBpcyBjb21wbGV0ZWQsIGl0IHdpbGwgYWxzbyBuZWVkIHRvIGFkZAorICAgICAgICAjICAgICBlbnRyaWVzIGZvciBlYWNoIHZlcnNpb24gYXMgdGhlIGFib3ZlIGNvZGUgZG9lcworICAgICAgICBpZiBzZWxmLnByZV9pbnN0YWxsX3NjcmlwdDoKKyAgICAgICAgICAgIHNjcmlwdGZuID0gb3MucGF0aC5qb2luKHNlbGYuYmRpc3RfZGlyLCAicHJlaW5zdGFsbC5iYXQiKQorICAgICAgICAgICAgd2l0aCBvcGVuKHNjcmlwdGZuLCAidyIpIGFzIGY6CisgICAgICAgICAgICAgICAgIyBUaGUgYmF0Y2ggZmlsZSB3aWxsIGJlIGV4ZWN1dGVkIHdpdGggW1BZVEhPTl0sIHNvIHRoYXQgJTEKKyAgICAgICAgICAgICAgICAjIGlzIHRoZSBwYXRoIHRvIHRoZSBQeXRob24gaW50ZXJwcmV0ZXI7ICUwIHdpbGwgYmUgdGhlIHBhdGgKKyAgICAgICAgICAgICAgICAjIG9mIHRoZSBiYXRjaCBmaWxlLgorICAgICAgICAgICAgICAgICMgcmVtID0iIiIKKyAgICAgICAgICAgICAgICAjICUxICUwCisgICAgICAgICAgICAgICAgIyBleGl0CisgICAgICAgICAgICAgICAgIyAiIiIKKyAgICAgICAgICAgICAgICAjIDxhY3R1YWwgc2NyaXB0PgorICAgICAgICAgICAgICAgIGYud3JpdGUoJ3JlbSA9IiIiXG4lMSAlMFxuZXhpdFxuIiIiXG4nKQorICAgICAgICAgICAgICAgIHdpdGggb3BlbihzZWxmLnByZV9pbnN0YWxsX3NjcmlwdCkgYXMgZnA6CisgICAgICAgICAgICAgICAgICAgIGYud3JpdGUoZnAucmVhZCgpKQorICAgICAgICAgICAgYWRkX2RhdGEoc2VsZi5kYiwgIkJpbmFyeSIsCisgICAgICAgICAgICAgICAgICAgICBbKCJQcmVJbnN0YWxsIiwgbXNpbGliLkJpbmFyeShzY3JpcHRmbikpLAorICAgICAgICAgICAgICAgICAgICAgXSkKKyAgICAgICAgICAgIGFkZF9kYXRhKHNlbGYuZGIsICJDdXN0b21BY3Rpb24iLAorICAgICAgICAgICAgICAgICAgICAgWygiUHJlSW5zdGFsbCIsIDIsICJQcmVJbnN0YWxsIiwgTm9uZSksCisgICAgICAgICAgICAgICAgICAgICBdKQorICAgICAgICAgICAgYWRkX2RhdGEoc2VsZi5kYiwgIkluc3RhbGxFeGVjdXRlU2VxdWVuY2UiLAorICAgICAgICAgICAgICAgICAgICAgWygiUHJlSW5zdGFsbCIsICJOT1QgSW5zdGFsbGVkIiwgNDUwKSwKKyAgICAgICAgICAgICAgICAgICAgIF0pCisKKyAgICBkZWYgYWRkX3VpKHNlbGYpOgorICAgICAgICBkYiA9IHNlbGYuZGIKKyAgICAgICAgeCA9IHkgPSA1MAorICAgICAgICB3ID0gMzcwCisgICAgICAgIGggPSAzMDAKKyAgICAgICAgdGl0bGUgPSAiW1Byb2R1Y3ROYW1lXSBTZXR1cCIKKworICAgICAgICAjIHNlZSAiRGlhbG9nIFN0eWxlIEJpdHMiCisgICAgICAgIG1vZGFsID0gMyAgICAgICMgdmlzaWJsZSB8IG1vZGFsCisgICAgICAgIG1vZGVsZXNzID0gMSAgICMgdmlzaWJsZQorCisgICAgICAgICMgVUkgY3VzdG9taXphdGlvbiBwcm9wZXJ0aWVzCisgICAgICAgIGFkZF9kYXRhKGRiLCAiUHJvcGVydHkiLAorICAgICAgICAgICAgICAgICAjIFNlZSAiRGVmYXVsdFVJRm9udCBQcm9wZXJ0eSIKKyAgICAgICAgICAgICAgICAgWygiRGVmYXVsdFVJRm9udCIsICJEbGdGb250OCIpLAorICAgICAgICAgICAgICAgICAgIyBTZWUgIkVycm9yRGlhbG9nIFN0eWxlIEJpdCIKKyAgICAgICAgICAgICAgICAgICgiRXJyb3JEaWFsb2ciLCAiRXJyb3JEbGciKSwKKyAgICAgICAgICAgICAgICAgICgiUHJvZ3Jlc3MxIiwgIkluc3RhbGwiKSwgICAjIG1vZGlmaWVkIGluIG1haW50ZW5hbmNlIHR5cGUgZGxnCisgICAgICAgICAgICAgICAgICAoIlByb2dyZXNzMiIsICJpbnN0YWxscyIpLAorICAgICAgICAgICAgICAgICAgKCJNYWludGVuYW5jZUZvcm1fQWN0aW9uIiwgIlJlcGFpciIpLAorICAgICAgICAgICAgICAgICAgIyBwb3NzaWJsZSB2YWx1ZXM6IEFMTCwgSlVTVE1FCisgICAgICAgICAgICAgICAgICAoIldoaWNoVXNlcnMiLCAiQUxMIikKKyAgICAgICAgICAgICAgICAgXSkKKworICAgICAgICAjIEZvbnRzLCBzZWUgIlRleHRTdHlsZSBUYWJsZSIKKyAgICAgICAgYWRkX2RhdGEoZGIsICJUZXh0U3R5bGUiLAorICAgICAgICAgICAgICAgICBbKCJEbGdGb250OCIsICJUYWhvbWEiLCA5LCBOb25lLCAwKSwKKyAgICAgICAgICAgICAgICAgICgiRGxnRm9udEJvbGQ4IiwgIlRhaG9tYSIsIDgsIE5vbmUsIDEpLCAjYm9sZAorICAgICAgICAgICAgICAgICAgKCJWZXJkYW5hQm9sZDEwIiwgIlZlcmRhbmEiLCAxMCwgTm9uZSwgMSksCisgICAgICAgICAgICAgICAgICAoIlZlcmRhbmFSZWQ5IiwgIlZlcmRhbmEiLCA5LCAyNTUsIDApLAorICAgICAgICAgICAgICAgICBdKQorCisgICAgICAgICMgVUkgU2VxdWVuY2VzLCBzZWUgIkluc3RhbGxVSVNlcXVlbmNlIFRhYmxlIiwgIlVzaW5nIGEgU2VxdWVuY2UgVGFibGUiCisgICAgICAgICMgTnVtYmVycyBpbmRpY2F0ZSBzZXF1ZW5jZTsgc2VlIHNlcXVlbmNlLnB5IGZvciBob3cgdGhlc2UgYWN0aW9uIGludGVncmF0ZQorICAgICAgICBhZGRfZGF0YShkYiwgIkluc3RhbGxVSVNlcXVlbmNlIiwKKyAgICAgICAgICAgICAgICAgWygiUHJlcGFyZURsZyIsICJOb3QgUHJpdmlsZWdlZCBvciBXaW5kb3dzOXggb3IgSW5zdGFsbGVkIiwgMTQwKSwKKyAgICAgICAgICAgICAgICAgICgiV2hpY2hVc2Vyc0RsZyIsICJQcml2aWxlZ2VkIGFuZCBub3QgV2luZG93czl4IGFuZCBub3QgSW5zdGFsbGVkIiwgMTQxKSwKKyAgICAgICAgICAgICAgICAgICMgSW4gdGhlIHVzZXIgaW50ZXJmYWNlLCBhc3N1bWUgYWxsLXVzZXJzIGluc3RhbGxhdGlvbiBpZiBwcml2aWxlZ2VkLgorICAgICAgICAgICAgICAgICAgKCJTZWxlY3RGZWF0dXJlc0RsZyIsICJOb3QgSW5zdGFsbGVkIiwgMTIzMCksCisgICAgICAgICAgICAgICAgICAjIFhYWCBubyBzdXBwb3J0IGZvciByZXN1bWUgaW5zdGFsbGF0aW9ucyB5ZXQKKyAgICAgICAgICAgICAgICAgICMoIlJlc3VtZURsZyIsICJJbnN0YWxsZWQgQU5EIChSRVNVTUUgT1IgUHJlc2VsZWN0ZWQpIiwgMTI0MCksCisgICAgICAgICAgICAgICAgICAoIk1haW50ZW5hbmNlVHlwZURsZyIsICJJbnN0YWxsZWQgQU5EIE5PVCBSRVNVTUUgQU5EIE5PVCBQcmVzZWxlY3RlZCIsIDEyNTApLAorICAgICAgICAgICAgICAgICAgKCJQcm9ncmVzc0RsZyIsIE5vbmUsIDEyODApXSkKKworICAgICAgICBhZGRfZGF0YShkYiwgJ0FjdGlvblRleHQnLCB0ZXh0LkFjdGlvblRleHQpCisgICAgICAgIGFkZF9kYXRhKGRiLCAnVUlUZXh0JywgdGV4dC5VSVRleHQpCisgICAgICAgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworICAgICAgICAjIFN0YW5kYXJkIGRpYWxvZ3M6IEZhdGFsRXJyb3IsIFVzZXJFeGl0LCBFeGl0RGlhbG9nCisgICAgICAgIGZhdGFsPVB5RGlhbG9nKGRiLCAiRmF0YWxFcnJvciIsIHgsIHksIHcsIGgsIG1vZGFsLCB0aXRsZSwKKyAgICAgICAgICAgICAgICAgICAgICJGaW5pc2giLCAiRmluaXNoIiwgIkZpbmlzaCIpCisgICAgICAgIGZhdGFsLnRpdGxlKCJbUHJvZHVjdE5hbWVdIEluc3RhbGxlciBlbmRlZCBwcmVtYXR1cmVseSIpCisgICAgICAgIGZhdGFsLmJhY2soIjwgQmFjayIsICJGaW5pc2giLCBhY3RpdmUgPSAwKQorICAgICAgICBmYXRhbC5jYW5jZWwoIkNhbmNlbCIsICJCYWNrIiwgYWN0aXZlID0gMCkKKyAgICAgICAgZmF0YWwudGV4dCgiRGVzY3JpcHRpb24xIiwgMTUsIDcwLCAzMjAsIDgwLCAweDMwMDAzLAorICAgICAgICAgICAgICAgICAgICJbUHJvZHVjdE5hbWVdIHNldHVwIGVuZGVkIHByZW1hdHVyZWx5IGJlY2F1c2Ugb2YgYW4gZXJyb3IuICBZb3VyIHN5c3RlbSBoYXMgbm90IGJlZW4gbW9kaWZpZWQuICBUbyBpbnN0YWxsIHRoaXMgcHJvZ3JhbSBhdCBhIGxhdGVyIHRpbWUsIHBsZWFzZSBydW4gdGhlIGluc3RhbGxhdGlvbiBhZ2Fpbi4iKQorICAgICAgICBmYXRhbC50ZXh0KCJEZXNjcmlwdGlvbjIiLCAxNSwgMTU1LCAzMjAsIDIwLCAweDMwMDAzLAorICAgICAgICAgICAgICAgICAgICJDbGljayB0aGUgRmluaXNoIGJ1dHRvbiB0byBleGl0IHRoZSBJbnN0YWxsZXIuIikKKyAgICAgICAgYz1mYXRhbC5uZXh0KCJGaW5pc2giLCAiQ2FuY2VsIiwgbmFtZT0iRmluaXNoIikKKyAgICAgICAgYy5ldmVudCgiRW5kRGlhbG9nIiwgIkV4aXQiKQorCisgICAgICAgIHVzZXJfZXhpdD1QeURpYWxvZyhkYiwgIlVzZXJFeGl0IiwgeCwgeSwgdywgaCwgbW9kYWwsIHRpdGxlLAorICAgICAgICAgICAgICAgICAgICAgIkZpbmlzaCIsICJGaW5pc2giLCAiRmluaXNoIikKKyAgICAgICAgdXNlcl9leGl0LnRpdGxlKCJbUHJvZHVjdE5hbWVdIEluc3RhbGxlciB3YXMgaW50ZXJydXB0ZWQiKQorICAgICAgICB1c2VyX2V4aXQuYmFjaygiPCBCYWNrIiwgIkZpbmlzaCIsIGFjdGl2ZSA9IDApCisgICAgICAgIHVzZXJfZXhpdC5jYW5jZWwoIkNhbmNlbCIsICJCYWNrIiwgYWN0aXZlID0gMCkKKyAgICAgICAgdXNlcl9leGl0LnRleHQoIkRlc2NyaXB0aW9uMSIsIDE1LCA3MCwgMzIwLCA4MCwgMHgzMDAwMywKKyAgICAgICAgICAgICAgICAgICAiW1Byb2R1Y3ROYW1lXSBzZXR1cCB3YXMgaW50ZXJydXB0ZWQuICBZb3VyIHN5c3RlbSBoYXMgbm90IGJlZW4gbW9kaWZpZWQuICAiCisgICAgICAgICAgICAgICAgICAgIlRvIGluc3RhbGwgdGhpcyBwcm9ncmFtIGF0IGEgbGF0ZXIgdGltZSwgcGxlYXNlIHJ1biB0aGUgaW5zdGFsbGF0aW9uIGFnYWluLiIpCisgICAgICAgIHVzZXJfZXhpdC50ZXh0KCJEZXNjcmlwdGlvbjIiLCAxNSwgMTU1LCAzMjAsIDIwLCAweDMwMDAzLAorICAgICAgICAgICAgICAgICAgICJDbGljayB0aGUgRmluaXNoIGJ1dHRvbiB0byBleGl0IHRoZSBJbnN0YWxsZXIuIikKKyAgICAgICAgYyA9IHVzZXJfZXhpdC5uZXh0KCJGaW5pc2giLCAiQ2FuY2VsIiwgbmFtZT0iRmluaXNoIikKKyAgICAgICAgYy5ldmVudCgiRW5kRGlhbG9nIiwgIkV4aXQiKQorCisgICAgICAgIGV4aXRfZGlhbG9nID0gUHlEaWFsb2coZGIsICJFeGl0RGlhbG9nIiwgeCwgeSwgdywgaCwgbW9kYWwsIHRpdGxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiRmluaXNoIiwgIkZpbmlzaCIsICJGaW5pc2giKQorICAgICAgICBleGl0X2RpYWxvZy50aXRsZSgiQ29tcGxldGluZyB0aGUgW1Byb2R1Y3ROYW1lXSBJbnN0YWxsZXIiKQorICAgICAgICBleGl0X2RpYWxvZy5iYWNrKCI8IEJhY2siLCAiRmluaXNoIiwgYWN0aXZlID0gMCkKKyAgICAgICAgZXhpdF9kaWFsb2cuY2FuY2VsKCJDYW5jZWwiLCAiQmFjayIsIGFjdGl2ZSA9IDApCisgICAgICAgIGV4aXRfZGlhbG9nLnRleHQoIkRlc2NyaXB0aW9uIiwgMTUsIDIzNSwgMzIwLCAyMCwgMHgzMDAwMywKKyAgICAgICAgICAgICAgICAgICAiQ2xpY2sgdGhlIEZpbmlzaCBidXR0b24gdG8gZXhpdCB0aGUgSW5zdGFsbGVyLiIpCisgICAgICAgIGMgPSBleGl0X2RpYWxvZy5uZXh0KCJGaW5pc2giLCAiQ2FuY2VsIiwgbmFtZT0iRmluaXNoIikKKyAgICAgICAgYy5ldmVudCgiRW5kRGlhbG9nIiwgIlJldHVybiIpCisKKyAgICAgICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisgICAgICAgICMgUmVxdWlyZWQgZGlhbG9nOiBGaWxlc0luVXNlLCBFcnJvckRsZworICAgICAgICBpbnVzZSA9IFB5RGlhbG9nKGRiLCAiRmlsZXNJblVzZSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgeCwgeSwgdywgaCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAxOSwgICAgICAgICAgICAgICAgIyBLZWVwTW9kZWxlc3N8TW9kYWx8VmlzaWJsZQorICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICJSZXRyeSIsICJSZXRyeSIsICJSZXRyeSIsIGJpdG1hcD1GYWxzZSkKKyAgICAgICAgaW51c2UudGV4dCgiVGl0bGUiLCAxNSwgNiwgMjAwLCAxNSwgMHgzMDAwMywKKyAgICAgICAgICAgICAgICAgICByIntcRGxnRm9udEJvbGQ4fUZpbGVzIGluIFVzZSIpCisgICAgICAgIGludXNlLnRleHQoIkRlc2NyaXB0aW9uIiwgMjAsIDIzLCAyODAsIDIwLCAweDMwMDAzLAorICAgICAgICAgICAgICAgIlNvbWUgZmlsZXMgdGhhdCBuZWVkIHRvIGJlIHVwZGF0ZWQgYXJlIGN1cnJlbnRseSBpbiB1c2UuIikKKyAgICAgICAgaW51c2UudGV4dCgiVGV4dCIsIDIwLCA1NSwgMzMwLCA1MCwgMywKKyAgICAgICAgICAgICAgICAgICAiVGhlIGZvbGxvd2luZyBhcHBsaWNhdGlvbnMgYXJlIHVzaW5nIGZpbGVzIHRoYXQgbmVlZCB0byBiZSB1cGRhdGVkIGJ5IHRoaXMgc2V0dXAuIENsb3NlIHRoZXNlIGFwcGxpY2F0aW9ucyBhbmQgdGhlbiBjbGljayBSZXRyeSB0byBjb250aW51ZSB0aGUgaW5zdGFsbGF0aW9uIG9yIENhbmNlbCB0byBleGl0IGl0LiIpCisgICAgICAgIGludXNlLmNvbnRyb2woIkxpc3QiLCAiTGlzdEJveCIsIDIwLCAxMDcsIDMzMCwgMTMwLCA3LCAiRmlsZUluVXNlUHJvY2VzcyIsCisgICAgICAgICAgICAgICAgICAgICAgTm9uZSwgTm9uZSwgTm9uZSkKKyAgICAgICAgYz1pbnVzZS5iYWNrKCJFeGl0IiwgIklnbm9yZSIsIG5hbWU9IkV4aXQiKQorICAgICAgICBjLmV2ZW50KCJFbmREaWFsb2ciLCAiRXhpdCIpCisgICAgICAgIGM9aW51c2UubmV4dCgiSWdub3JlIiwgIlJldHJ5IiwgbmFtZT0iSWdub3JlIikKKyAgICAgICAgYy5ldmVudCgiRW5kRGlhbG9nIiwgIklnbm9yZSIpCisgICAgICAgIGM9aW51c2UuY2FuY2VsKCJSZXRyeSIsICJFeGl0IiwgbmFtZT0iUmV0cnkiKQorICAgICAgICBjLmV2ZW50KCJFbmREaWFsb2ciLCJSZXRyeSIpCisKKyAgICAgICAgIyBTZWUgIkVycm9yIERpYWxvZyIuIFNlZSAiSUNFMjAiIGZvciB0aGUgcmVxdWlyZWQgbmFtZXMgb2YgdGhlIGNvbnRyb2xzLgorICAgICAgICBlcnJvciA9IERpYWxvZyhkYiwgIkVycm9yRGxnIiwKKyAgICAgICAgICAgICAgICAgICAgICAgNTAsIDEwLCAzMzAsIDEwMSwKKyAgICAgICAgICAgICAgICAgICAgICAgNjU1NDMsICAgICAgICMgRXJyb3J8TWluaW1pemV8TW9kYWx8VmlzaWJsZQorICAgICAgICAgICAgICAgICAgICAgICB0aXRsZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIkVycm9yVGV4dCIsIE5vbmUsIE5vbmUpCisgICAgICAgIGVycm9yLnRleHQoIkVycm9yVGV4dCIsIDUwLDksMjgwLDQ4LDMsICIiKQorICAgICAgICAjZXJyb3IuY29udHJvbCgiRXJyb3JJY29uIiwgIkljb24iLCAxNSwgOSwgMjQsIDI0LCA1MjQyODgxLCBOb25lLCAicHkuaWNvIiwgTm9uZSwgTm9uZSkKKyAgICAgICAgZXJyb3IucHVzaGJ1dHRvbigiTiIsMTIwLDcyLDgxLDIxLDMsIk5vIixOb25lKS5ldmVudCgiRW5kRGlhbG9nIiwiRXJyb3JObyIpCisgICAgICAgIGVycm9yLnB1c2hidXR0b24oIlkiLDI0MCw3Miw4MSwyMSwzLCJZZXMiLE5vbmUpLmV2ZW50KCJFbmREaWFsb2ciLCJFcnJvclllcyIpCisgICAgICAgIGVycm9yLnB1c2hidXR0b24oIkEiLDAsNzIsODEsMjEsMywiQWJvcnQiLE5vbmUpLmV2ZW50KCJFbmREaWFsb2ciLCJFcnJvckFib3J0IikKKyAgICAgICAgZXJyb3IucHVzaGJ1dHRvbigiQyIsNDIsNzIsODEsMjEsMywiQ2FuY2VsIixOb25lKS5ldmVudCgiRW5kRGlhbG9nIiwiRXJyb3JDYW5jZWwiKQorICAgICAgICBlcnJvci5wdXNoYnV0dG9uKCJJIiw4MSw3Miw4MSwyMSwzLCJJZ25vcmUiLE5vbmUpLmV2ZW50KCJFbmREaWFsb2ciLCJFcnJvcklnbm9yZSIpCisgICAgICAgIGVycm9yLnB1c2hidXR0b24oIk8iLDE1OSw3Miw4MSwyMSwzLCJPayIsTm9uZSkuZXZlbnQoIkVuZERpYWxvZyIsIkVycm9yT2siKQorICAgICAgICBlcnJvci5wdXNoYnV0dG9uKCJSIiwxOTgsNzIsODEsMjEsMywiUmV0cnkiLE5vbmUpLmV2ZW50KCJFbmREaWFsb2ciLCJFcnJvclJldHJ5IikKKworICAgICAgICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyAgICAgICAgIyBHbG9iYWwgIlF1ZXJ5IENhbmNlbCIgZGlhbG9nCisgICAgICAgIGNhbmNlbCA9IERpYWxvZyhkYiwgIkNhbmNlbERsZyIsIDUwLCAxMCwgMjYwLCA4NSwgMywgdGl0bGUsCisgICAgICAgICAgICAgICAgICAgICAgICAiTm8iLCAiTm8iLCAiTm8iKQorICAgICAgICBjYW5jZWwudGV4dCgiVGV4dCIsIDQ4LCAxNSwgMTk0LCAzMCwgMywKKyAgICAgICAgICAgICAgICAgICAgIkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBjYW5jZWwgW1Byb2R1Y3ROYW1lXSBpbnN0YWxsYXRpb24/IikKKyAgICAgICAgI2NhbmNlbC5jb250cm9sKCJJY29uIiwgIkljb24iLCAxNSwgMTUsIDI0LCAyNCwgNTI0Mjg4MSwgTm9uZSwKKyAgICAgICAgIyAgICAgICAgICAgICAgICJweS5pY28iLCBOb25lLCBOb25lKQorICAgICAgICBjPWNhbmNlbC5wdXNoYnV0dG9uKCJZZXMiLCA3MiwgNTcsIDU2LCAxNywgMywgIlllcyIsICJObyIpCisgICAgICAgIGMuZXZlbnQoIkVuZERpYWxvZyIsICJFeGl0IikKKworICAgICAgICBjPWNhbmNlbC5wdXNoYnV0dG9uKCJObyIsIDEzMiwgNTcsIDU2LCAxNywgMywgIk5vIiwgIlllcyIpCisgICAgICAgIGMuZXZlbnQoIkVuZERpYWxvZyIsICJSZXR1cm4iKQorCisgICAgICAgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworICAgICAgICAjIEdsb2JhbCAiV2FpdCBmb3IgY29zdGluZyIgZGlhbG9nCisgICAgICAgIGNvc3RpbmcgPSBEaWFsb2coZGIsICJXYWl0Rm9yQ29zdGluZ0RsZyIsIDUwLCAxMCwgMjYwLCA4NSwgbW9kYWwsIHRpdGxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICJSZXR1cm4iLCAiUmV0dXJuIiwgIlJldHVybiIpCisgICAgICAgIGNvc3RpbmcudGV4dCgiVGV4dCIsIDQ4LCAxNSwgMTk0LCAzMCwgMywKKyAgICAgICAgICAgICAgICAgICAgICJQbGVhc2Ugd2FpdCB3aGlsZSB0aGUgaW5zdGFsbGVyIGZpbmlzaGVzIGRldGVybWluaW5nIHlvdXIgZGlzayBzcGFjZSByZXF1aXJlbWVudHMuIikKKyAgICAgICAgYyA9IGNvc3RpbmcucHVzaGJ1dHRvbigiUmV0dXJuIiwgMTAyLCA1NywgNTYsIDE3LCAzLCAiUmV0dXJuIiwgTm9uZSkKKyAgICAgICAgYy5ldmVudCgiRW5kRGlhbG9nIiwgIkV4aXQiKQorCisgICAgICAgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworICAgICAgICAjIFByZXBhcmF0aW9uIGRpYWxvZzogbm8gdXNlciBpbnB1dCBleGNlcHQgY2FuY2VsbGF0aW9uCisgICAgICAgIHByZXAgPSBQeURpYWxvZyhkYiwgIlByZXBhcmVEbGciLCB4LCB5LCB3LCBoLCBtb2RlbGVzcywgdGl0bGUsCisgICAgICAgICAgICAgICAgICAgICAgICAiQ2FuY2VsIiwgIkNhbmNlbCIsICJDYW5jZWwiKQorICAgICAgICBwcmVwLnRleHQoIkRlc2NyaXB0aW9uIiwgMTUsIDcwLCAzMjAsIDQwLCAweDMwMDAzLAorICAgICAgICAgICAgICAgICAgIlBsZWFzZSB3YWl0IHdoaWxlIHRoZSBJbnN0YWxsZXIgcHJlcGFyZXMgdG8gZ3VpZGUgeW91IHRocm91Z2ggdGhlIGluc3RhbGxhdGlvbi4iKQorICAgICAgICBwcmVwLnRpdGxlKCJXZWxjb21lIHRvIHRoZSBbUHJvZHVjdE5hbWVdIEluc3RhbGxlciIpCisgICAgICAgIGM9cHJlcC50ZXh0KCJBY3Rpb25UZXh0IiwgMTUsIDExMCwgMzIwLCAyMCwgMHgzMDAwMywgIlBvbmRlcmluZy4uLiIpCisgICAgICAgIGMubWFwcGluZygiQWN0aW9uVGV4dCIsICJUZXh0IikKKyAgICAgICAgYz1wcmVwLnRleHQoIkFjdGlvbkRhdGEiLCAxNSwgMTM1LCAzMjAsIDMwLCAweDMwMDAzLCBOb25lKQorICAgICAgICBjLm1hcHBpbmcoIkFjdGlvbkRhdGEiLCAiVGV4dCIpCisgICAgICAgIHByZXAuYmFjaygiQmFjayIsIE5vbmUsIGFjdGl2ZT0wKQorICAgICAgICBwcmVwLm5leHQoIk5leHQiLCBOb25lLCBhY3RpdmU9MCkKKyAgICAgICAgYz1wcmVwLmNhbmNlbCgiQ2FuY2VsIiwgTm9uZSkKKyAgICAgICAgYy5ldmVudCgiU3Bhd25EaWFsb2ciLCAiQ2FuY2VsRGxnIikKKworICAgICAgICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyAgICAgICAgIyBGZWF0dXJlIChQeXRob24gZGlyZWN0b3J5KSBzZWxlY3Rpb24KKyAgICAgICAgc2VsZGxnID0gUHlEaWFsb2coZGIsICJTZWxlY3RGZWF0dXJlc0RsZyIsIHgsIHksIHcsIGgsIG1vZGFsLCB0aXRsZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICJOZXh0IiwgIk5leHQiLCAiQ2FuY2VsIikKKyAgICAgICAgc2VsZGxnLnRpdGxlKCJTZWxlY3QgUHl0aG9uIEluc3RhbGxhdGlvbnMiKQorCisgICAgICAgIHNlbGRsZy50ZXh0KCJIaW50IiwgMTUsIDMwLCAzMDAsIDIwLCAzLAorICAgICAgICAgICAgICAgICAgICAiU2VsZWN0IHRoZSBQeXRob24gbG9jYXRpb25zIHdoZXJlICVzIHNob3VsZCBiZSBpbnN0YWxsZWQuIgorICAgICAgICAgICAgICAgICAgICAlIHNlbGYuZGlzdHJpYnV0aW9uLmdldF9mdWxsbmFtZSgpKQorCisgICAgICAgIHNlbGRsZy5iYWNrKCI8IEJhY2siLCBOb25lLCBhY3RpdmU9MCkKKyAgICAgICAgYyA9IHNlbGRsZy5uZXh0KCJOZXh0ID4iLCAiQ2FuY2VsIikKKyAgICAgICAgb3JkZXIgPSAxCisgICAgICAgIGMuZXZlbnQoIltUQVJHRVRESVJdIiwgIltTb3VyY2VEaXJdIiwgb3JkZXJpbmc9b3JkZXIpCisgICAgICAgIGZvciB2ZXJzaW9uIGluIHNlbGYudmVyc2lvbnMgKyBbc2VsZi5vdGhlcl92ZXJzaW9uXToKKyAgICAgICAgICAgIG9yZGVyICs9IDEKKyAgICAgICAgICAgIGMuZXZlbnQoIltUQVJHRVRESVJdIiwgIltUQVJHRVRESVIlc10iICUgdmVyc2lvbiwKKyAgICAgICAgICAgICAgICAgICAgIkZFQVRVUkVfU0VMRUNURUQgQU5EICZQeXRob24lcz0zIiAlIHZlcnNpb24sCisgICAgICAgICAgICAgICAgICAgIG9yZGVyaW5nPW9yZGVyKQorICAgICAgICBjLmV2ZW50KCJTcGF3bldhaXREaWFsb2ciLCAiV2FpdEZvckNvc3RpbmdEbGciLCBvcmRlcmluZz1vcmRlciArIDEpCisgICAgICAgIGMuZXZlbnQoIkVuZERpYWxvZyIsICJSZXR1cm4iLCBvcmRlcmluZz1vcmRlciArIDIpCisgICAgICAgIGMgPSBzZWxkbGcuY2FuY2VsKCJDYW5jZWwiLCAiRmVhdHVyZXMiKQorICAgICAgICBjLmV2ZW50KCJTcGF3bkRpYWxvZyIsICJDYW5jZWxEbGciKQorCisgICAgICAgIGMgPSBzZWxkbGcuY29udHJvbCgiRmVhdHVyZXMiLCAiU2VsZWN0aW9uVHJlZSIsIDE1LCA2MCwgMzAwLCAxMjAsIDMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAiRkVBVFVSRSIsIE5vbmUsICJQYXRoRWRpdCIsIE5vbmUpCisgICAgICAgIGMuZXZlbnQoIltGRUFUVVJFX1NFTEVDVEVEXSIsICIxIikKKyAgICAgICAgdmVyID0gc2VsZi5vdGhlcl92ZXJzaW9uCisgICAgICAgIGluc3RhbGxfb3RoZXJfY29uZCA9ICJGRUFUVVJFX1NFTEVDVEVEIEFORCAmUHl0aG9uJXM9MyIgJSB2ZXIKKyAgICAgICAgZG9udF9pbnN0YWxsX290aGVyX2NvbmQgPSAiRkVBVFVSRV9TRUxFQ1RFRCBBTkQgJlB5dGhvbiVzPD4zIiAlIHZlcgorCisgICAgICAgIGMgPSBzZWxkbGcudGV4dCgiT3RoZXIiLCAxNSwgMjAwLCAzMDAsIDE1LCAzLAorICAgICAgICAgICAgICAgICAgICAgICAgIlByb3ZpZGUgYW4gYWx0ZXJuYXRlIFB5dGhvbiBsb2NhdGlvbiIpCisgICAgICAgIGMuY29uZGl0aW9uKCJFbmFibGUiLCBpbnN0YWxsX290aGVyX2NvbmQpCisgICAgICAgIGMuY29uZGl0aW9uKCJTaG93IiwgaW5zdGFsbF9vdGhlcl9jb25kKQorICAgICAgICBjLmNvbmRpdGlvbigiRGlzYWJsZSIsIGRvbnRfaW5zdGFsbF9vdGhlcl9jb25kKQorICAgICAgICBjLmNvbmRpdGlvbigiSGlkZSIsIGRvbnRfaW5zdGFsbF9vdGhlcl9jb25kKQorCisgICAgICAgIGMgPSBzZWxkbGcuY29udHJvbCgiUGF0aEVkaXQiLCAiUGF0aEVkaXQiLCAxNSwgMjE1LCAzMDAsIDE2LCAxLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIlRBUkdFVERJUiIgKyB2ZXIsIE5vbmUsICJOZXh0IiwgTm9uZSkKKyAgICAgICAgYy5jb25kaXRpb24oIkVuYWJsZSIsIGluc3RhbGxfb3RoZXJfY29uZCkKKyAgICAgICAgYy5jb25kaXRpb24oIlNob3ciLCBpbnN0YWxsX290aGVyX2NvbmQpCisgICAgICAgIGMuY29uZGl0aW9uKCJEaXNhYmxlIiwgZG9udF9pbnN0YWxsX290aGVyX2NvbmQpCisgICAgICAgIGMuY29uZGl0aW9uKCJIaWRlIiwgZG9udF9pbnN0YWxsX290aGVyX2NvbmQpCisKKyAgICAgICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisgICAgICAgICMgRGlzayBjb3N0CisgICAgICAgIGNvc3QgPSBQeURpYWxvZyhkYiwgIkRpc2tDb3N0RGxnIiwgeCwgeSwgdywgaCwgbW9kYWwsIHRpdGxlLAorICAgICAgICAgICAgICAgICAgICAgICAgIk9LIiwgIk9LIiwgIk9LIiwgYml0bWFwPUZhbHNlKQorICAgICAgICBjb3N0LnRleHQoIlRpdGxlIiwgMTUsIDYsIDIwMCwgMTUsIDB4MzAwMDMsCisgICAgICAgICAgICAgICAgICAie1xEbGdGb250Qm9sZDh9RGlzayBTcGFjZSBSZXF1aXJlbWVudHMiKQorICAgICAgICBjb3N0LnRleHQoIkRlc2NyaXB0aW9uIiwgMjAsIDIwLCAyODAsIDIwLCAweDMwMDAzLAorICAgICAgICAgICAgICAgICAgIlRoZSBkaXNrIHNwYWNlIHJlcXVpcmVkIGZvciB0aGUgaW5zdGFsbGF0aW9uIG9mIHRoZSBzZWxlY3RlZCBmZWF0dXJlcy4iKQorICAgICAgICBjb3N0LnRleHQoIlRleHQiLCAyMCwgNTMsIDMzMCwgNjAsIDMsCisgICAgICAgICAgICAgICAgICAiVGhlIGhpZ2hsaWdodGVkIHZvbHVtZXMgKGlmIGFueSkgZG8gbm90IGhhdmUgZW5vdWdoIGRpc2sgc3BhY2UgIgorICAgICAgICAgICAgICAiYXZhaWxhYmxlIGZvciB0aGUgY3VycmVudGx5IHNlbGVjdGVkIGZlYXR1cmVzLiAgWW91IGNhbiBlaXRoZXIgIgorICAgICAgICAgICAgICAicmVtb3ZlIHNvbWUgZmlsZXMgZnJvbSB0aGUgaGlnaGxpZ2h0ZWQgdm9sdW1lcywgb3IgY2hvb3NlIHRvICIKKyAgICAgICAgICAgICAgImluc3RhbGwgbGVzcyBmZWF0dXJlcyBvbnRvIGxvY2FsIGRyaXZlKHMpLCBvciBzZWxlY3QgZGlmZmVyZW50ICIKKyAgICAgICAgICAgICAgImRlc3RpbmF0aW9uIGRyaXZlKHMpLiIpCisgICAgICAgIGNvc3QuY29udHJvbCgiVm9sdW1lTGlzdCIsICJWb2x1bWVDb3N0TGlzdCIsIDIwLCAxMDAsIDMzMCwgMTUwLCAzOTMyMjMsCisgICAgICAgICAgICAgICAgICAgICBOb25lLCAiezEyMH17NzB9ezcwfXs3MH17NzB9IiwgTm9uZSwgTm9uZSkKKyAgICAgICAgY29zdC54YnV0dG9uKCJPSyIsICJPayIsIE5vbmUsIDAuNSkuZXZlbnQoIkVuZERpYWxvZyIsICJSZXR1cm4iKQorCisgICAgICAgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworICAgICAgICAjIFdoaWNoVXNlcnMgRGlhbG9nLiBPbmx5IGF2YWlsYWJsZSBvbiBOVCwgYW5kIGZvciBwcml2aWxlZ2VkIHVzZXJzLgorICAgICAgICAjIFRoaXMgbXVzdCBiZSBydW4gYmVmb3JlIEZpbmRSZWxhdGVkUHJvZHVjdHMsIGJlY2F1c2UgdGhhdCB3aWxsCisgICAgICAgICMgdGFrZSBpbnRvIGFjY291bnQgd2hldGhlciB0aGUgcHJldmlvdXMgaW5zdGFsbGF0aW9uIHdhcyBwZXItdXNlcgorICAgICAgICAjIG9yIHBlci1tYWNoaW5lLiBXZSBjdXJyZW50bHkgZG9uJ3Qgc3VwcG9ydCBnb2luZyBiYWNrIHRvIHRoaXMKKyAgICAgICAgIyBkaWFsb2cgYWZ0ZXIgIk5leHQiIHdhcyBzZWxlY3RlZDsgdG8gc3VwcG9ydCB0aGlzLCB3ZSB3b3VsZCBuZWVkIHRvCisgICAgICAgICMgZmluZCBob3cgdG8gcmVzZXQgdGhlIEFMTFVTRVJTIHByb3BlcnR5LCBhbmQgaG93IHRvIHJlLXJ1bgorICAgICAgICAjIEZpbmRSZWxhdGVkUHJvZHVjdHMuCisgICAgICAgICMgT24gV2luZG93czl4LCB0aGUgQUxMVVNFUlMgcHJvcGVydHkgaXMgaWdub3JlZCBvbiB0aGUgY29tbWFuZCBsaW5lCisgICAgICAgICMgYW5kIGluIHRoZSBQcm9wZXJ0eSB0YWJsZSwgYnV0IGluc3RhbGxlciBmYWlscyBhY2NvcmRpbmcgdG8gdGhlIGRvY3VtZW50YXRpb24KKyAgICAgICAgIyBpZiBhIGRpYWxvZyBhdHRlbXB0cyB0byBzZXQgQUxMVVNFUlMuCisgICAgICAgIHdoaWNodXNlcnMgPSBQeURpYWxvZyhkYiwgIldoaWNoVXNlcnNEbGciLCB4LCB5LCB3LCBoLCBtb2RhbCwgdGl0bGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkFkbWluSW5zdGFsbCIsICJOZXh0IiwgIkNhbmNlbCIpCisgICAgICAgIHdoaWNodXNlcnMudGl0bGUoIlNlbGVjdCB3aGV0aGVyIHRvIGluc3RhbGwgW1Byb2R1Y3ROYW1lXSBmb3IgYWxsIHVzZXJzIG9mIHRoaXMgY29tcHV0ZXIuIikKKyAgICAgICAgIyBBIHJhZGlvIGdyb3VwIHdpdGggdHdvIG9wdGlvbnM6IGFsbHVzZXJzLCBqdXN0bWUKKyAgICAgICAgZyA9IHdoaWNodXNlcnMucmFkaW9ncm91cCgiQWRtaW5JbnN0YWxsIiwgMTUsIDYwLCAyNjAsIDUwLCAzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJXaGljaFVzZXJzIiwgIiIsICJOZXh0IikKKyAgICAgICAgZy5hZGQoIkFMTCIsIDAsIDUsIDE1MCwgMjAsICJJbnN0YWxsIGZvciBhbGwgdXNlcnMiKQorICAgICAgICBnLmFkZCgiSlVTVE1FIiwgMCwgMjUsIDE1MCwgMjAsICJJbnN0YWxsIGp1c3QgZm9yIG1lIikKKworICAgICAgICB3aGljaHVzZXJzLmJhY2soIkJhY2siLCBOb25lLCBhY3RpdmU9MCkKKworICAgICAgICBjID0gd2hpY2h1c2Vycy5uZXh0KCJOZXh0ID4iLCAiQ2FuY2VsIikKKyAgICAgICAgYy5ldmVudCgiW0FMTFVTRVJTXSIsICIxIiwgJ1doaWNoVXNlcnM9IkFMTCInLCAxKQorICAgICAgICBjLmV2ZW50KCJFbmREaWFsb2ciLCAiUmV0dXJuIiwgb3JkZXJpbmcgPSAyKQorCisgICAgICAgIGMgPSB3aGljaHVzZXJzLmNhbmNlbCgiQ2FuY2VsIiwgIkFkbWluSW5zdGFsbCIpCisgICAgICAgIGMuZXZlbnQoIlNwYXduRGlhbG9nIiwgIkNhbmNlbERsZyIpCisKKyAgICAgICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisgICAgICAgICMgSW5zdGFsbGF0aW9uIFByb2dyZXNzIGRpYWxvZyAobW9kZWxlc3MpCisgICAgICAgIHByb2dyZXNzID0gUHlEaWFsb2coZGIsICJQcm9ncmVzc0RsZyIsIHgsIHksIHcsIGgsIG1vZGVsZXNzLCB0aXRsZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQ2FuY2VsIiwgIkNhbmNlbCIsICJDYW5jZWwiLCBiaXRtYXA9RmFsc2UpCisgICAgICAgIHByb2dyZXNzLnRleHQoIlRpdGxlIiwgMjAsIDE1LCAyMDAsIDE1LCAweDMwMDAzLAorICAgICAgICAgICAgICAgICAgICAgICJ7XERsZ0ZvbnRCb2xkOH1bUHJvZ3Jlc3MxXSBbUHJvZHVjdE5hbWVdIikKKyAgICAgICAgcHJvZ3Jlc3MudGV4dCgiVGV4dCIsIDM1LCA2NSwgMzAwLCAzMCwgMywKKyAgICAgICAgICAgICAgICAgICAgICAiUGxlYXNlIHdhaXQgd2hpbGUgdGhlIEluc3RhbGxlciBbUHJvZ3Jlc3MyXSBbUHJvZHVjdE5hbWVdLiAiCisgICAgICAgICAgICAgICAgICAgICAgIlRoaXMgbWF5IHRha2Ugc2V2ZXJhbCBtaW51dGVzLiIpCisgICAgICAgIHByb2dyZXNzLnRleHQoIlN0YXR1c0xhYmVsIiwgMzUsIDEwMCwgMzUsIDIwLCAzLCAiU3RhdHVzOiIpCisKKyAgICAgICAgYz1wcm9ncmVzcy50ZXh0KCJBY3Rpb25UZXh0IiwgNzAsIDEwMCwgdy03MCwgMjAsIDMsICJQb25kZXJpbmcuLi4iKQorICAgICAgICBjLm1hcHBpbmcoIkFjdGlvblRleHQiLCAiVGV4dCIpCisKKyAgICAgICAgI2M9cHJvZ3Jlc3MudGV4dCgiQWN0aW9uRGF0YSIsIDM1LCAxNDAsIDMwMCwgMjAsIDMsIE5vbmUpCisgICAgICAgICNjLm1hcHBpbmcoIkFjdGlvbkRhdGEiLCAiVGV4dCIpCisKKyAgICAgICAgYz1wcm9ncmVzcy5jb250cm9sKCJQcm9ncmVzc0JhciIsICJQcm9ncmVzc0JhciIsIDM1LCAxMjAsIDMwMCwgMTAsIDY1NTM3LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgTm9uZSwgIlByb2dyZXNzIGRvbmUiLCBOb25lLCBOb25lKQorICAgICAgICBjLm1hcHBpbmcoIlNldFByb2dyZXNzIiwgIlByb2dyZXNzIikKKworICAgICAgICBwcm9ncmVzcy5iYWNrKCI8IEJhY2siLCAiTmV4dCIsIGFjdGl2ZT1GYWxzZSkKKyAgICAgICAgcHJvZ3Jlc3MubmV4dCgiTmV4dCA+IiwgIkNhbmNlbCIsIGFjdGl2ZT1GYWxzZSkKKyAgICAgICAgcHJvZ3Jlc3MuY2FuY2VsKCJDYW5jZWwiLCAiQmFjayIpLmV2ZW50KCJTcGF3bkRpYWxvZyIsICJDYW5jZWxEbGciKQorCisgICAgICAgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyAgICAgICAgIyBNYWludGVuYW5jZSB0eXBlOiByZXBhaXIvdW5pbnN0YWxsCisgICAgICAgIG1haW50ID0gUHlEaWFsb2coZGIsICJNYWludGVuYW5jZVR5cGVEbGciLCB4LCB5LCB3LCBoLCBtb2RhbCwgdGl0bGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgIk5leHQiLCAiTmV4dCIsICJDYW5jZWwiKQorICAgICAgICBtYWludC50aXRsZSgiV2VsY29tZSB0byB0aGUgW1Byb2R1Y3ROYW1lXSBTZXR1cCBXaXphcmQiKQorICAgICAgICBtYWludC50ZXh0KCJCb2R5VGV4dCIsIDE1LCA2MywgMzMwLCA0MiwgMywKKyAgICAgICAgICAgICAgICAgICAiU2VsZWN0IHdoZXRoZXIgeW91IHdhbnQgdG8gcmVwYWlyIG9yIHJlbW92ZSBbUHJvZHVjdE5hbWVdLiIpCisgICAgICAgIGc9bWFpbnQucmFkaW9ncm91cCgiUmVwYWlyUmFkaW9Hcm91cCIsIDE1LCAxMDgsIDMzMCwgNjAsIDMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk1haW50ZW5hbmNlRm9ybV9BY3Rpb24iLCAiIiwgIk5leHQiKQorICAgICAgICAjZy5hZGQoIkNoYW5nZSIsIDAsIDAsIDIwMCwgMTcsICImQ2hhbmdlIFtQcm9kdWN0TmFtZV0iKQorICAgICAgICBnLmFkZCgiUmVwYWlyIiwgMCwgMTgsIDIwMCwgMTcsICImUmVwYWlyIFtQcm9kdWN0TmFtZV0iKQorICAgICAgICBnLmFkZCgiUmVtb3ZlIiwgMCwgMzYsIDIwMCwgMTcsICJSZSZtb3ZlIFtQcm9kdWN0TmFtZV0iKQorCisgICAgICAgIG1haW50LmJhY2soIjwgQmFjayIsIE5vbmUsIGFjdGl2ZT1GYWxzZSkKKyAgICAgICAgYz1tYWludC5uZXh0KCJGaW5pc2giLCAiQ2FuY2VsIikKKyAgICAgICAgIyBDaGFuZ2UgaW5zdGFsbGF0aW9uOiBDaGFuZ2UgcHJvZ3Jlc3MgZGlhbG9nIHRvICJDaGFuZ2UiLCB0aGVuIGFzaworICAgICAgICAjIGZvciBmZWF0dXJlIHNlbGVjdGlvbgorICAgICAgICAjYy5ldmVudCgiW1Byb2dyZXNzMV0iLCAiQ2hhbmdlIiwgJ01haW50ZW5hbmNlRm9ybV9BY3Rpb249IkNoYW5nZSInLCAxKQorICAgICAgICAjYy5ldmVudCgiW1Byb2dyZXNzMl0iLCAiY2hhbmdlcyIsICdNYWludGVuYW5jZUZvcm1fQWN0aW9uPSJDaGFuZ2UiJywgMikKKworICAgICAgICAjIFJlaW5zdGFsbDogQ2hhbmdlIHByb2dyZXNzIGRpYWxvZyB0byAiUmVwYWlyIiwgdGhlbiBpbnZva2UgcmVpbnN0YWxsCisgICAgICAgICMgQWxzbyBzZXQgbGlzdCBvZiByZWluc3RhbGxlZCBmZWF0dXJlcyB0byAiQUxMIgorICAgICAgICBjLmV2ZW50KCJbUkVJTlNUQUxMXSIsICJBTEwiLCAnTWFpbnRlbmFuY2VGb3JtX0FjdGlvbj0iUmVwYWlyIicsIDUpCisgICAgICAgIGMuZXZlbnQoIltQcm9ncmVzczFdIiwgIlJlcGFpcmluZyIsICdNYWludGVuYW5jZUZvcm1fQWN0aW9uPSJSZXBhaXIiJywgNikKKyAgICAgICAgYy5ldmVudCgiW1Byb2dyZXNzMl0iLCAicmVwYWlycyIsICdNYWludGVuYW5jZUZvcm1fQWN0aW9uPSJSZXBhaXIiJywgNykKKyAgICAgICAgYy5ldmVudCgiUmVpbnN0YWxsIiwgIkFMTCIsICdNYWludGVuYW5jZUZvcm1fQWN0aW9uPSJSZXBhaXIiJywgOCkKKworICAgICAgICAjIFVuaW5zdGFsbDogQ2hhbmdlIHByb2dyZXNzIHRvICJSZW1vdmUiLCB0aGVuIGludm9rZSB1bmluc3RhbGwKKyAgICAgICAgIyBBbHNvIHNldCBsaXN0IG9mIHJlbW92ZWQgZmVhdHVyZXMgdG8gIkFMTCIKKyAgICAgICAgYy5ldmVudCgiW1JFTU9WRV0iLCAiQUxMIiwgJ01haW50ZW5hbmNlRm9ybV9BY3Rpb249IlJlbW92ZSInLCAxMSkKKyAgICAgICAgYy5ldmVudCgiW1Byb2dyZXNzMV0iLCAiUmVtb3ZpbmciLCAnTWFpbnRlbmFuY2VGb3JtX0FjdGlvbj0iUmVtb3ZlIicsIDEyKQorICAgICAgICBjLmV2ZW50KCJbUHJvZ3Jlc3MyXSIsICJyZW1vdmVzIiwgJ01haW50ZW5hbmNlRm9ybV9BY3Rpb249IlJlbW92ZSInLCAxMykKKyAgICAgICAgYy5ldmVudCgiUmVtb3ZlIiwgIkFMTCIsICdNYWludGVuYW5jZUZvcm1fQWN0aW9uPSJSZW1vdmUiJywgMTQpCisKKyAgICAgICAgIyBDbG9zZSBkaWFsb2cgd2hlbiBtYWludGVuYW5jZSBhY3Rpb24gc2NoZWR1bGVkCisgICAgICAgIGMuZXZlbnQoIkVuZERpYWxvZyIsICJSZXR1cm4iLCAnTWFpbnRlbmFuY2VGb3JtX0FjdGlvbjw+IkNoYW5nZSInLCAyMCkKKyAgICAgICAgI2MuZXZlbnQoIk5ld0RpYWxvZyIsICJTZWxlY3RGZWF0dXJlc0RsZyIsICdNYWludGVuYW5jZUZvcm1fQWN0aW9uPSJDaGFuZ2UiJywgMjEpCisKKyAgICAgICAgbWFpbnQuY2FuY2VsKCJDYW5jZWwiLCAiUmVwYWlyUmFkaW9Hcm91cCIpLmV2ZW50KCJTcGF3bkRpYWxvZyIsICJDYW5jZWxEbGciKQorCisgICAgZGVmIGdldF9pbnN0YWxsZXJfZmlsZW5hbWUoc2VsZiwgZnVsbG5hbWUpOgorICAgICAgICAjIEZhY3RvcmVkIG91dCB0byBhbGxvdyBvdmVycmlkaW5nIGluIHN1YmNsYXNzZXMKKyAgICAgICAgaWYgc2VsZi50YXJnZXRfdmVyc2lvbjoKKyAgICAgICAgICAgIGJhc2VfbmFtZSA9ICIlcy4lcy1weSVzLm1zaSIgJSAoZnVsbG5hbWUsIHNlbGYucGxhdF9uYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnRhcmdldF92ZXJzaW9uKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgYmFzZV9uYW1lID0gIiVzLiVzLm1zaSIgJSAoZnVsbG5hbWUsIHNlbGYucGxhdF9uYW1lKQorICAgICAgICBpbnN0YWxsZXJfbmFtZSA9IG9zLnBhdGguam9pbihzZWxmLmRpc3RfZGlyLCBiYXNlX25hbWUpCisgICAgICAgIHJldHVybiBpbnN0YWxsZXJfbmFtZQpkaWZmIC0tZ2l0IGEvTGliL3BhY2thZ2luZy9jb21tYW5kL2JkaXN0X3dpbmluc3QucHkgYi9MaWIvcGFja2FnaW5nL2NvbW1hbmQvYmRpc3Rfd2luaW5zdC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYzY2MzYwCi0tLSAvZGV2L251bGwKKysrIGIvTGliL3BhY2thZ2luZy9jb21tYW5kL2JkaXN0X3dpbmluc3QucHkKQEAgLTAsMCArMSwzNDUgQEAKKyIiIkNyZWF0ZSBhbiBleGVjdXRhYmxlIGluc3RhbGxlciBmb3IgV2luZG93cy4iIiIKKworaW1wb3J0IHN5cworaW1wb3J0IG9zCisKK2Zyb20gc2h1dGlsIGltcG9ydCBybXRyZWUKK2Zyb20gc3lzY29uZmlnIGltcG9ydCBnZXRfcHl0aG9uX3ZlcnNpb24KK2Zyb20gcGFja2FnaW5nLmNvbW1hbmQuY21kIGltcG9ydCBDb21tYW5kCitmcm9tIHBhY2thZ2luZy5lcnJvcnMgaW1wb3J0IFBhY2thZ2luZ09wdGlvbkVycm9yLCBQYWNrYWdpbmdQbGF0Zm9ybUVycm9yCitmcm9tIHBhY2thZ2luZyBpbXBvcnQgbG9nZ2VyCitmcm9tIHBhY2thZ2luZy51dGlsIGltcG9ydCBnZXRfcGxhdGZvcm0KKworCitjbGFzcyBiZGlzdF93aW5pbnN0KENvbW1hbmQpOgorCisgICAgZGVzY3JpcHRpb24gPSAiY3JlYXRlIGFuIGV4ZWN1dGFibGUgaW5zdGFsbGVyIGZvciBXaW5kb3dzIgorCisgICAgdXNlcl9vcHRpb25zID0gWygnYmRpc3QtZGlyPScsIE5vbmUsCisgICAgICAgICAgICAgICAgICAgICAidGVtcG9yYXJ5IGRpcmVjdG9yeSBmb3IgY3JlYXRpbmcgdGhlIGRpc3RyaWJ1dGlvbiIpLAorICAgICAgICAgICAgICAgICAgICAoJ3BsYXQtbmFtZT0nLCAncCcsCisgICAgICAgICAgICAgICAgICAgICAicGxhdGZvcm0gbmFtZSB0byBlbWJlZCBpbiBnZW5lcmF0ZWQgZmlsZW5hbWVzICIKKyAgICAgICAgICAgICAgICAgICAgICIoZGVmYXVsdDogJXMpIiAlIGdldF9wbGF0Zm9ybSgpKSwKKyAgICAgICAgICAgICAgICAgICAgKCdrZWVwLXRlbXAnLCAnaycsCisgICAgICAgICAgICAgICAgICAgICAia2VlcCB0aGUgcHNldWRvLWluc3RhbGxhdGlvbiB0cmVlIGFyb3VuZCBhZnRlciAiICsKKyAgICAgICAgICAgICAgICAgICAgICJjcmVhdGluZyB0aGUgZGlzdHJpYnV0aW9uIGFyY2hpdmUiKSwKKyAgICAgICAgICAgICAgICAgICAgKCd0YXJnZXQtdmVyc2lvbj0nLCBOb25lLAorICAgICAgICAgICAgICAgICAgICAgInJlcXVpcmUgYSBzcGVjaWZpYyBweXRob24gdmVyc2lvbiIgKworICAgICAgICAgICAgICAgICAgICAgIiBvbiB0aGUgdGFyZ2V0IHN5c3RlbSIpLAorICAgICAgICAgICAgICAgICAgICAoJ25vLXRhcmdldC1jb21waWxlJywgJ2MnLAorICAgICAgICAgICAgICAgICAgICAgImRvIG5vdCBjb21waWxlIC5weSB0byAucHljIG9uIHRoZSB0YXJnZXQgc3lzdGVtIiksCisgICAgICAgICAgICAgICAgICAgICgnbm8tdGFyZ2V0LW9wdGltaXplJywgJ28nLAorICAgICAgICAgICAgICAgICAgICAgImRvIG5vdCBjb21waWxlIC5weSB0byAucHlvIChvcHRpbWl6ZWQpIgorICAgICAgICAgICAgICAgICAgICAgIm9uIHRoZSB0YXJnZXQgc3lzdGVtIiksCisgICAgICAgICAgICAgICAgICAgICgnZGlzdC1kaXI9JywgJ2QnLAorICAgICAgICAgICAgICAgICAgICAgImRpcmVjdG9yeSB0byBwdXQgZmluYWwgYnVpbHQgZGlzdHJpYnV0aW9ucyBpbiIpLAorICAgICAgICAgICAgICAgICAgICAoJ2JpdG1hcD0nLCAnYicsCisgICAgICAgICAgICAgICAgICAgICAiYml0bWFwIHRvIHVzZSBmb3IgdGhlIGluc3RhbGxlciBpbnN0ZWFkIG9mIHB5dGhvbi1wb3dlcmVkIGxvZ28iKSwKKyAgICAgICAgICAgICAgICAgICAgKCd0aXRsZT0nLCAndCcsCisgICAgICAgICAgICAgICAgICAgICAidGl0bGUgdG8gZGlzcGxheSBvbiB0aGUgaW5zdGFsbGVyIGJhY2tncm91bmQgaW5zdGVhZCBvZiBkZWZhdWx0IiksCisgICAgICAgICAgICAgICAgICAgICgnc2tpcC1idWlsZCcsIE5vbmUsCisgICAgICAgICAgICAgICAgICAgICAic2tpcCByZWJ1aWxkaW5nIGV2ZXJ5dGhpbmcgKGZvciB0ZXN0aW5nL2RlYnVnZ2luZykiKSwKKyAgICAgICAgICAgICAgICAgICAgKCdpbnN0YWxsLXNjcmlwdD0nLCBOb25lLAorICAgICAgICAgICAgICAgICAgICAgImJhc2VuYW1lIG9mIGluc3RhbGxhdGlvbiBzY3JpcHQgdG8gYmUgcnVuIGFmdGVyIgorICAgICAgICAgICAgICAgICAgICAgImluc3RhbGxhdGlvbiBvciBiZWZvcmUgZGVpbnN0YWxsYXRpb24iKSwKKyAgICAgICAgICAgICAgICAgICAgKCdwcmUtaW5zdGFsbC1zY3JpcHQ9JywgTm9uZSwKKyAgICAgICAgICAgICAgICAgICAgICJGdWxseSBxdWFsaWZpZWQgZmlsZW5hbWUgb2YgYSBzY3JpcHQgdG8gYmUgcnVuIGJlZm9yZSAiCisgICAgICAgICAgICAgICAgICAgICAiYW55IGZpbGVzIGFyZSBpbnN0YWxsZWQuICBUaGlzIHNjcmlwdCBuZWVkIG5vdCBiZSBpbiB0aGUgIgorICAgICAgICAgICAgICAgICAgICAgImRpc3RyaWJ1dGlvbiIpLAorICAgICAgICAgICAgICAgICAgICAoJ3VzZXItYWNjZXNzLWNvbnRyb2w9JywgTm9uZSwKKyAgICAgICAgICAgICAgICAgICAgICJzcGVjaWZ5IFZpc3RhJ3MgVUFDIGhhbmRsaW5nIC0gJ25vbmUnL2RlZmF1bHQ9bm8gIgorICAgICAgICAgICAgICAgICAgICAgImhhbmRsaW5nLCAnYXV0byc9dXNlIFVBQyBpZiB0YXJnZXQgUHl0aG9uIGluc3RhbGxlZCBmb3IgIgorICAgICAgICAgICAgICAgICAgICAgImFsbCB1c2VycywgJ2ZvcmNlJz1hbHdheXMgdXNlIFVBQyIpLAorICAgICAgICAgICAgICAgICAgIF0KKworICAgIGJvb2xlYW5fb3B0aW9ucyA9IFsna2VlcC10ZW1wJywgJ25vLXRhcmdldC1jb21waWxlJywgJ25vLXRhcmdldC1vcHRpbWl6ZScsCisgICAgICAgICAgICAgICAgICAgICAgICdza2lwLWJ1aWxkJ10KKworICAgIGRlZiBpbml0aWFsaXplX29wdGlvbnMoc2VsZik6CisgICAgICAgIHNlbGYuYmRpc3RfZGlyID0gTm9uZQorICAgICAgICBzZWxmLnBsYXRfbmFtZSA9IE5vbmUKKyAgICAgICAgc2VsZi5rZWVwX3RlbXAgPSBGYWxzZQorICAgICAgICBzZWxmLm5vX3RhcmdldF9jb21waWxlID0gRmFsc2UKKyAgICAgICAgc2VsZi5ub190YXJnZXRfb3B0aW1pemUgPSBGYWxzZQorICAgICAgICBzZWxmLnRhcmdldF92ZXJzaW9uID0gTm9uZQorICAgICAgICBzZWxmLmRpc3RfZGlyID0gTm9uZQorICAgICAgICBzZWxmLmJpdG1hcCA9IE5vbmUKKyAgICAgICAgc2VsZi50aXRsZSA9IE5vbmUKKyAgICAgICAgc2VsZi5za2lwX2J1aWxkID0gTm9uZQorICAgICAgICBzZWxmLmluc3RhbGxfc2NyaXB0ID0gTm9uZQorICAgICAgICBzZWxmLnByZV9pbnN0YWxsX3NjcmlwdCA9IE5vbmUKKyAgICAgICAgc2VsZi51c2VyX2FjY2Vzc19jb250cm9sID0gTm9uZQorCisKKyAgICBkZWYgZmluYWxpemVfb3B0aW9ucyhzZWxmKToKKyAgICAgICAgc2VsZi5zZXRfdW5kZWZpbmVkX29wdGlvbnMoJ2JkaXN0JywgJ3NraXBfYnVpbGQnKQorCisgICAgICAgIGlmIHNlbGYuYmRpc3RfZGlyIGlzIE5vbmU6CisgICAgICAgICAgICBpZiBzZWxmLnNraXBfYnVpbGQgYW5kIHNlbGYucGxhdF9uYW1lOgorICAgICAgICAgICAgICAgICMgSWYgYnVpbGQgaXMgc2tpcHBlZCBhbmQgcGxhdF9uYW1lIGlzIG92ZXJyaWRkZW4sIGJkaXN0IHdpbGwKKyAgICAgICAgICAgICAgICAjIG5vdCBzZWUgdGhlIGNvcnJlY3QgJ3BsYXRfbmFtZScgLSBzbyBzZXQgdGhhdCB1cCBtYW51YWxseS4KKyAgICAgICAgICAgICAgICBiZGlzdCA9IHNlbGYuZGlzdHJpYnV0aW9uLmdldF9jb21tYW5kX29iaignYmRpc3QnKQorICAgICAgICAgICAgICAgIGJkaXN0LnBsYXRfbmFtZSA9IHNlbGYucGxhdF9uYW1lCisgICAgICAgICAgICAgICAgIyBuZXh0IHRoZSBjb21tYW5kIHdpbGwgYmUgaW5pdGlhbGl6ZWQgdXNpbmcgdGhhdCBuYW1lCisgICAgICAgICAgICBiZGlzdF9iYXNlID0gc2VsZi5nZXRfZmluYWxpemVkX2NvbW1hbmQoJ2JkaXN0JykuYmRpc3RfYmFzZQorICAgICAgICAgICAgc2VsZi5iZGlzdF9kaXIgPSBvcy5wYXRoLmpvaW4oYmRpc3RfYmFzZSwgJ3dpbmluc3QnKQorCisgICAgICAgIGlmIG5vdCBzZWxmLnRhcmdldF92ZXJzaW9uOgorICAgICAgICAgICAgc2VsZi50YXJnZXRfdmVyc2lvbiA9ICIiCisKKyAgICAgICAgaWYgbm90IHNlbGYuc2tpcF9idWlsZCBhbmQgc2VsZi5kaXN0cmlidXRpb24uaGFzX2V4dF9tb2R1bGVzKCk6CisgICAgICAgICAgICBzaG9ydF92ZXJzaW9uID0gZ2V0X3B5dGhvbl92ZXJzaW9uKCkKKyAgICAgICAgICAgIGlmIHNlbGYudGFyZ2V0X3ZlcnNpb24gYW5kIHNlbGYudGFyZ2V0X3ZlcnNpb24gIT0gc2hvcnRfdmVyc2lvbjoKKyAgICAgICAgICAgICAgICByYWlzZSBQYWNrYWdpbmdPcHRpb25FcnJvcigidGFyZ2V0IHZlcnNpb24gY2FuIG9ubHkgYmUgJXMsIG9yIHRoZSAnLS1za2lwLWJ1aWxkJyIgXAorICAgICAgICAgICAgICAgICAgICAgICIgb3B0aW9uIG11c3QgYmUgc3BlY2lmaWVkIiAlIChzaG9ydF92ZXJzaW9uLCkpCisgICAgICAgICAgICBzZWxmLnRhcmdldF92ZXJzaW9uID0gc2hvcnRfdmVyc2lvbgorCisgICAgICAgIHNlbGYuc2V0X3VuZGVmaW5lZF9vcHRpb25zKCdiZGlzdCcsICdkaXN0X2RpcicsICdwbGF0X25hbWUnKQorCisgICAgICAgIGlmIHNlbGYuaW5zdGFsbF9zY3JpcHQ6CisgICAgICAgICAgICBmb3Igc2NyaXB0IGluIHNlbGYuZGlzdHJpYnV0aW9uLnNjcmlwdHM6CisgICAgICAgICAgICAgICAgaWYgc2VsZi5pbnN0YWxsX3NjcmlwdCA9PSBvcy5wYXRoLmJhc2VuYW1lKHNjcmlwdCk6CisgICAgICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHJhaXNlIFBhY2thZ2luZ09wdGlvbkVycm9yKCJpbnN0YWxsX3NjcmlwdCAnJXMnIG5vdCBmb3VuZCBpbiBzY3JpcHRzIiAlIFwKKyAgICAgICAgICAgICAgICAgICAgICBzZWxmLmluc3RhbGxfc2NyaXB0KQorCisgICAgZGVmIHJ1bihzZWxmKToKKyAgICAgICAgaWYgKHN5cy5wbGF0Zm9ybSAhPSAid2luMzIiIGFuZAorICAgICAgICAgICAgKHNlbGYuZGlzdHJpYnV0aW9uLmhhc19leHRfbW9kdWxlcygpIG9yCisgICAgICAgICAgICAgc2VsZi5kaXN0cmlidXRpb24uaGFzX2NfbGlicmFyaWVzKCkpKToKKyAgICAgICAgICAgIHJhaXNlIFBhY2thZ2luZ1BsYXRmb3JtRXJyb3IgXAorICAgICAgICAgICAgICAgICAgKCJkaXN0cmlidXRpb24gY29udGFpbnMgZXh0ZW5zaW9ucyBhbmQvb3IgQyBsaWJyYXJpZXM7ICIKKyAgICAgICAgICAgICAgICAgICAibXVzdCBiZSBjb21waWxlZCBvbiBhIFdpbmRvd3MgMzIgcGxhdGZvcm0iKQorCisgICAgICAgIGlmIG5vdCBzZWxmLnNraXBfYnVpbGQ6CisgICAgICAgICAgICBzZWxmLnJ1bl9jb21tYW5kKCdidWlsZCcpCisKKyAgICAgICAgaW5zdGFsbCA9IHNlbGYucmVpbml0aWFsaXplX2NvbW1hbmQoJ2luc3RhbGwnLCByZWluaXRfc3ViY29tbWFuZHM9VHJ1ZSkKKyAgICAgICAgaW5zdGFsbC5yb290ID0gc2VsZi5iZGlzdF9kaXIKKyAgICAgICAgaW5zdGFsbC5za2lwX2J1aWxkID0gc2VsZi5za2lwX2J1aWxkCisgICAgICAgIGluc3RhbGwud2Fybl9kaXIgPSBGYWxzZQorICAgICAgICBpbnN0YWxsLnBsYXRfbmFtZSA9IHNlbGYucGxhdF9uYW1lCisKKyAgICAgICAgaW5zdGFsbF9saWIgPSBzZWxmLnJlaW5pdGlhbGl6ZV9jb21tYW5kKCdpbnN0YWxsX2xpYicpCisgICAgICAgICMgd2UgZG8gbm90IHdhbnQgdG8gaW5jbHVkZSBweWMgb3IgcHlvIGZpbGVzCisgICAgICAgIGluc3RhbGxfbGliLmNvbXBpbGUgPSBGYWxzZQorICAgICAgICBpbnN0YWxsX2xpYi5vcHRpbWl6ZSA9IDAKKworICAgICAgICBpZiBzZWxmLmRpc3RyaWJ1dGlvbi5oYXNfZXh0X21vZHVsZXMoKToKKyAgICAgICAgICAgICMgSWYgd2UgYXJlIGJ1aWxkaW5nIGFuIGluc3RhbGxlciBmb3IgYSBQeXRob24gdmVyc2lvbiBvdGhlcgorICAgICAgICAgICAgIyB0aGFuIHRoZSBvbmUgd2UgYXJlIGN1cnJlbnRseSBydW5uaW5nLCB0aGVuIHdlIG5lZWQgdG8gZW5zdXJlCisgICAgICAgICAgICAjIG91ciBidWlsZF9saWIgcmVmbGVjdHMgdGhlIG90aGVyIFB5dGhvbiB2ZXJzaW9uIHJhdGhlciB0aGFuIG91cnMuCisgICAgICAgICAgICAjIE5vdGUgdGhhdCBmb3IgdGFyZ2V0X3ZlcnNpb24hPXN5cy52ZXJzaW9uLCB3ZSBtdXN0IGhhdmUgc2tpcHBlZCB0aGUKKyAgICAgICAgICAgICMgYnVpbGQgc3RlcCwgc28gdGhlcmUgaXMgbm8gaXNzdWUgd2l0aCBlbmZvcmNpbmcgdGhlIGJ1aWxkIG9mIHRoaXMKKyAgICAgICAgICAgICMgdmVyc2lvbi4KKyAgICAgICAgICAgIHRhcmdldF92ZXJzaW9uID0gc2VsZi50YXJnZXRfdmVyc2lvbgorICAgICAgICAgICAgaWYgbm90IHRhcmdldF92ZXJzaW9uOgorICAgICAgICAgICAgICAgIGFzc2VydCBzZWxmLnNraXBfYnVpbGQsICJTaG91bGQgaGF2ZSBhbHJlYWR5IGNoZWNrZWQgdGhpcyIKKyAgICAgICAgICAgICAgICB0YXJnZXRfdmVyc2lvbiA9ICclcy4lcycgJSBzeXMudmVyc2lvbl9pbmZvWzoyXQorICAgICAgICAgICAgcGxhdF9zcGVjaWZpZXIgPSAiLiVzLSVzIiAlIChzZWxmLnBsYXRfbmFtZSwgdGFyZ2V0X3ZlcnNpb24pCisgICAgICAgICAgICBidWlsZCA9IHNlbGYuZ2V0X2ZpbmFsaXplZF9jb21tYW5kKCdidWlsZCcpCisgICAgICAgICAgICBidWlsZC5idWlsZF9saWIgPSBvcy5wYXRoLmpvaW4oYnVpbGQuYnVpbGRfYmFzZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbGliJyArIHBsYXRfc3BlY2lmaWVyKQorCisgICAgICAgICMgVXNlIGEgY3VzdG9tIHNjaGVtZSBmb3IgdGhlIHppcC1maWxlLCBiZWNhdXNlIHdlIGhhdmUgdG8gZGVjaWRlCisgICAgICAgICMgYXQgaW5zdGFsbGF0aW9uIHRpbWUgd2hpY2ggc2NoZW1lIHRvIHVzZS4KKyAgICAgICAgZm9yIGtleSBpbiAoJ3B1cmVsaWInLCAncGxhdGxpYicsICdoZWFkZXJzJywgJ3NjcmlwdHMnLCAnZGF0YScpOgorICAgICAgICAgICAgdmFsdWUgPSBrZXkudXBwZXIoKQorICAgICAgICAgICAgaWYga2V5ID09ICdoZWFkZXJzJzoKKyAgICAgICAgICAgICAgICB2YWx1ZSA9IHZhbHVlICsgJy9JbmNsdWRlLyRkaXN0X25hbWUnCisgICAgICAgICAgICBzZXRhdHRyKGluc3RhbGwsCisgICAgICAgICAgICAgICAgICAgICdpbnN0YWxsXycgKyBrZXksCisgICAgICAgICAgICAgICAgICAgIHZhbHVlKQorCisgICAgICAgIGxvZ2dlci5pbmZvKCJpbnN0YWxsaW5nIHRvICVzIiwgc2VsZi5iZGlzdF9kaXIpCisgICAgICAgIGluc3RhbGwuZW5zdXJlX2ZpbmFsaXplZCgpCisKKyAgICAgICAgIyBhdm9pZCB3YXJuaW5nIG9mICdpbnN0YWxsX2xpYicgYWJvdXQgaW5zdGFsbGluZworICAgICAgICAjIGludG8gYSBkaXJlY3Rvcnkgbm90IGluIHN5cy5wYXRoCisgICAgICAgIHN5cy5wYXRoLmluc2VydCgwLCBvcy5wYXRoLmpvaW4oc2VsZi5iZGlzdF9kaXIsICdQVVJFTElCJykpCisKKyAgICAgICAgaW5zdGFsbC5ydW4oKQorCisgICAgICAgIGRlbCBzeXMucGF0aFswXQorCisgICAgICAgICMgQW5kIG1ha2UgYW4gYXJjaGl2ZSByZWxhdGl2ZSB0byB0aGUgcm9vdCBvZiB0aGUKKyAgICAgICAgIyBwc2V1ZG8taW5zdGFsbGF0aW9uIHRyZWUuCisgICAgICAgIGZyb20gdGVtcGZpbGUgaW1wb3J0IE5hbWVkVGVtcG9yYXJ5RmlsZQorICAgICAgICBhcmNoaXZlX2Jhc2VuYW1lID0gTmFtZWRUZW1wb3JhcnlGaWxlKCkubmFtZQorICAgICAgICBmdWxsbmFtZSA9IHNlbGYuZGlzdHJpYnV0aW9uLmdldF9mdWxsbmFtZSgpCisgICAgICAgIGFyY25hbWUgPSBzZWxmLm1ha2VfYXJjaGl2ZShhcmNoaXZlX2Jhc2VuYW1lLCAiemlwIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvb3RfZGlyPXNlbGYuYmRpc3RfZGlyKQorICAgICAgICAjIGNyZWF0ZSBhbiBleGUgY29udGFpbmluZyB0aGUgemlwLWZpbGUKKyAgICAgICAgc2VsZi5jcmVhdGVfZXhlKGFyY25hbWUsIGZ1bGxuYW1lLCBzZWxmLmJpdG1hcCkKKyAgICAgICAgaWYgc2VsZi5kaXN0cmlidXRpb24uaGFzX2V4dF9tb2R1bGVzKCk6CisgICAgICAgICAgICBweXZlcnNpb24gPSBnZXRfcHl0aG9uX3ZlcnNpb24oKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcHl2ZXJzaW9uID0gJ2FueScKKyAgICAgICAgc2VsZi5kaXN0cmlidXRpb24uZGlzdF9maWxlcy5hcHBlbmQoKCdiZGlzdF93aW5pbnN0JywgcHl2ZXJzaW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5nZXRfaW5zdGFsbGVyX2ZpbGVuYW1lKGZ1bGxuYW1lKSkpCisgICAgICAgICMgcmVtb3ZlIHRoZSB6aXAtZmlsZSBhZ2FpbgorICAgICAgICBsb2dnZXIuZGVidWcoInJlbW92aW5nIHRlbXBvcmFyeSBmaWxlICclcyciLCBhcmNuYW1lKQorICAgICAgICBvcy5yZW1vdmUoYXJjbmFtZSkKKworICAgICAgICBpZiBub3Qgc2VsZi5rZWVwX3RlbXA6CisgICAgICAgICAgICBsb2dnZXIuaW5mbygncmVtb3ZpbmcgJXMnLCBzZWxmLmJkaXN0X2RpcikKKyAgICAgICAgICAgIGlmIG5vdCBzZWxmLmRyeV9ydW46CisgICAgICAgICAgICAgICAgcm10cmVlKHNlbGYuYmRpc3RfZGlyKQorCisgICAgZGVmIGdldF9pbmlkYXRhKHNlbGYpOgorICAgICAgICAjIFJldHVybiBkYXRhIGRlc2NyaWJpbmcgdGhlIGluc3RhbGxhdGlvbi4KKworICAgICAgICBsaW5lcyA9IFtdCisgICAgICAgIG1ldGFkYXRhID0gc2VsZi5kaXN0cmlidXRpb24ubWV0YWRhdGEKKworICAgICAgICAjIFdyaXRlIHRoZSBbbWV0YWRhdGFdIHNlY3Rpb24uCisgICAgICAgIGxpbmVzLmFwcGVuZCgiW21ldGFkYXRhXSIpCisKKyAgICAgICAgIyAnaW5mbycgd2lsbCBiZSBkaXNwbGF5ZWQgaW4gdGhlIGluc3RhbGxlcidzIGRpYWxvZyBib3gsCisgICAgICAgICMgZGVzY3JpYmluZyB0aGUgaXRlbXMgdG8gYmUgaW5zdGFsbGVkLgorICAgICAgICBpbmZvID0gKG1ldGFkYXRhLmxvbmdfZGVzY3JpcHRpb24gb3IgJycpICsgJ1xuJworCisgICAgICAgICMgRXNjYXBlIG5ld2xpbmUgY2hhcmFjdGVycworICAgICAgICBkZWYgZXNjYXBlKHMpOgorICAgICAgICAgICAgcmV0dXJuIHMucmVwbGFjZSgiXG4iLCAiXFxuIikKKworICAgICAgICBmb3IgbmFtZSBpbiBbImF1dGhvciIsICJhdXRob3JfZW1haWwiLCAiZGVzY3JpcHRpb24iLCAibWFpbnRhaW5lciIsCisgICAgICAgICAgICAgICAgICAgICAibWFpbnRhaW5lcl9lbWFpbCIsICJuYW1lIiwgInVybCIsICJ2ZXJzaW9uIl06CisgICAgICAgICAgICBkYXRhID0gZ2V0YXR0cihtZXRhZGF0YSwgbmFtZSwgIiIpCisgICAgICAgICAgICBpZiBkYXRhOgorICAgICAgICAgICAgICAgIGluZm8gPSBpbmZvICsgKCJcbiAgICAlczogJXMiICUgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChuYW1lLmNhcGl0YWxpemUoKSwgZXNjYXBlKGRhdGEpKSkKKyAgICAgICAgICAgICAgICBsaW5lcy5hcHBlbmQoIiVzPSVzIiAlIChuYW1lLCBlc2NhcGUoZGF0YSkpKQorCisgICAgICAgICMgVGhlIFtzZXR1cF0gc2VjdGlvbiBjb250YWlucyBlbnRyaWVzIGNvbnRyb2xsaW5nCisgICAgICAgICMgdGhlIGluc3RhbGxlciBydW50aW1lLgorICAgICAgICBsaW5lcy5hcHBlbmQoIlxuW1NldHVwXSIpCisgICAgICAgIGlmIHNlbGYuaW5zdGFsbF9zY3JpcHQ6CisgICAgICAgICAgICBsaW5lcy5hcHBlbmQoImluc3RhbGxfc2NyaXB0PSVzIiAlIHNlbGYuaW5zdGFsbF9zY3JpcHQpCisgICAgICAgIGxpbmVzLmFwcGVuZCgiaW5mbz0lcyIgJSBlc2NhcGUoaW5mbykpCisgICAgICAgIGxpbmVzLmFwcGVuZCgidGFyZ2V0X2NvbXBpbGU9JWQiICUgKG5vdCBzZWxmLm5vX3RhcmdldF9jb21waWxlKSkKKyAgICAgICAgbGluZXMuYXBwZW5kKCJ0YXJnZXRfb3B0aW1pemU9JWQiICUgKG5vdCBzZWxmLm5vX3RhcmdldF9vcHRpbWl6ZSkpCisgICAgICAgIGlmIHNlbGYudGFyZ2V0X3ZlcnNpb246CisgICAgICAgICAgICBsaW5lcy5hcHBlbmQoInRhcmdldF92ZXJzaW9uPSVzIiAlIHNlbGYudGFyZ2V0X3ZlcnNpb24pCisgICAgICAgIGlmIHNlbGYudXNlcl9hY2Nlc3NfY29udHJvbDoKKyAgICAgICAgICAgIGxpbmVzLmFwcGVuZCgidXNlcl9hY2Nlc3NfY29udHJvbD0lcyIgJSBzZWxmLnVzZXJfYWNjZXNzX2NvbnRyb2wpCisKKyAgICAgICAgdGl0bGUgPSBzZWxmLnRpdGxlIG9yIHNlbGYuZGlzdHJpYnV0aW9uLmdldF9mdWxsbmFtZSgpCisgICAgICAgIGxpbmVzLmFwcGVuZCgidGl0bGU9JXMiICUgZXNjYXBlKHRpdGxlKSkKKyAgICAgICAgaW1wb3J0IHRpbWUKKyAgICAgICAgaW1wb3J0IHBhY2thZ2luZworICAgICAgICBidWlsZF9pbmZvID0gIkJ1aWx0ICVzIHdpdGggcGFja2FnaW5nLSVzIiAlIFwKKyAgICAgICAgICAgICAgICAgICAgICh0aW1lLmN0aW1lKHRpbWUudGltZSgpKSwgcGFja2FnaW5nLl9fdmVyc2lvbl9fKQorICAgICAgICBsaW5lcy5hcHBlbmQoImJ1aWxkX2luZm89JXMiICUgYnVpbGRfaW5mbykKKyAgICAgICAgcmV0dXJuICJcbiIuam9pbihsaW5lcykKKworICAgIGRlZiBjcmVhdGVfZXhlKHNlbGYsIGFyY25hbWUsIGZ1bGxuYW1lLCBiaXRtYXA9Tm9uZSk6CisgICAgICAgIGltcG9ydCBzdHJ1Y3QKKworICAgICAgICBzZWxmLm1rcGF0aChzZWxmLmRpc3RfZGlyKQorCisgICAgICAgIGNmZ2RhdGEgPSBzZWxmLmdldF9pbmlkYXRhKCkKKworICAgICAgICBpbnN0YWxsZXJfbmFtZSA9IHNlbGYuZ2V0X2luc3RhbGxlcl9maWxlbmFtZShmdWxsbmFtZSkKKyAgICAgICAgbG9nZ2VyLmluZm8oImNyZWF0aW5nICVzIiwgaW5zdGFsbGVyX25hbWUpCisKKyAgICAgICAgaWYgYml0bWFwOgorICAgICAgICAgICAgd2l0aCBvcGVuKGJpdG1hcCwgInJiIikgYXMgZnA6CisgICAgICAgICAgICAgICAgYml0bWFwZGF0YSA9IGZwLnJlYWQoKQorICAgICAgICAgICAgYml0bWFwbGVuID0gbGVuKGJpdG1hcGRhdGEpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBiaXRtYXBsZW4gPSAwCisKKyAgICAgICAgd2l0aCBvcGVuKGluc3RhbGxlcl9uYW1lLCAid2IiKSBhcyBmaWxlOgorICAgICAgICAgICAgZmlsZS53cml0ZShzZWxmLmdldF9leGVfYnl0ZXMoKSkKKyAgICAgICAgICAgIGlmIGJpdG1hcDoKKyAgICAgICAgICAgICAgICBmaWxlLndyaXRlKGJpdG1hcGRhdGEpCisKKyAgICAgICAgICAgICMgQ29udmVydCBjZmdkYXRhIGZyb20gdW5pY29kZSB0byBhc2NpaSwgbWJjcyBlbmNvZGVkCisgICAgICAgICAgICBpZiBpc2luc3RhbmNlKGNmZ2RhdGEsIHN0cik6CisgICAgICAgICAgICAgICAgY2ZnZGF0YSA9IGNmZ2RhdGEuZW5jb2RlKCJtYmNzIikKKworICAgICAgICAgICAgIyBBcHBlbmQgdGhlIHByZS1pbnN0YWxsIHNjcmlwdAorICAgICAgICAgICAgY2ZnZGF0YSA9IGNmZ2RhdGEgKyBiIlwwIgorICAgICAgICAgICAgaWYgc2VsZi5wcmVfaW5zdGFsbF9zY3JpcHQ6CisgICAgICAgICAgICAgICAgIyBXZSBuZWVkIHRvIG5vcm1hbGl6ZSBuZXdsaW5lcywgc28gd2Ugb3BlbiBpbiB0ZXh0IG1vZGUgYW5kCisgICAgICAgICAgICAgICAgIyBjb252ZXJ0IGJhY2sgdG8gYnl0ZXMuICJsYXRpbi0xIiBzaW1wbHkgYXZvaWRzIGFueSBwb3NzaWJsZQorICAgICAgICAgICAgICAgICMgZmFpbHVyZXMuCisgICAgICAgICAgICAgICAgd2l0aCBvcGVuKHNlbGYucHJlX2luc3RhbGxfc2NyaXB0LCBlbmNvZGluZz0ibGF0aW4tMSIpIGFzIGZwOgorICAgICAgICAgICAgICAgICAgICBzY3JpcHRfZGF0YSA9IGZwLnJlYWQoKS5lbmNvZGUoImxhdGluLTEiKQorICAgICAgICAgICAgICAgIGNmZ2RhdGEgPSBjZmdkYXRhICsgc2NyaXB0X2RhdGEgKyBiIlxuXDAiCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICMgZW1wdHkgcHJlLWluc3RhbGwgc2NyaXB0CisgICAgICAgICAgICAgICAgY2ZnZGF0YSA9IGNmZ2RhdGEgKyBiIlwwIgorICAgICAgICAgICAgZmlsZS53cml0ZShjZmdkYXRhKQorCisgICAgICAgICAgICAjIFRoZSAnbWFnaWMgbnVtYmVyJyAweDEyMzQ1NjdCIGlzIHVzZWQgdG8gbWFrZSBzdXJlIHRoYXQgdGhlCisgICAgICAgICAgICAjIGJpbmFyeSBsYXlvdXQgb2YgJ2NmZ2RhdGEnIGlzIHdoYXQgdGhlIHdpbmluc3QuZXhlIGJpbmFyeQorICAgICAgICAgICAgIyBleHBlY3RzLiAgSWYgdGhlIGxheW91dCBjaGFuZ2VzLCBpbmNyZW1lbnQgdGhhdCBudW1iZXIsIG1ha2UKKyAgICAgICAgICAgICMgdGhlIGNvcnJlc3BvbmRpbmcgY2hhbmdlcyB0byB0aGUgd2luaW5zdC5leGUgc291cmNlcywgYW5kCisgICAgICAgICAgICAjIHJlY29tcGlsZSB0aGVtLgorICAgICAgICAgICAgaGVhZGVyID0gc3RydWN0LnBhY2soIjxpaWkiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxMjM0NTY3QiwgICAgICAgIyB0YWcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlbihjZmdkYXRhKSwgICAgICMgbGVuZ3RoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiaXRtYXBsZW4sICAgICAgICAjIG51bWJlciBvZiBieXRlcyBpbiBiaXRtYXAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgIGZpbGUud3JpdGUoaGVhZGVyKQorICAgICAgICAgICAgd2l0aCBvcGVuKGFyY25hbWUsICJyYiIpIGFzIGZwOgorICAgICAgICAgICAgICAgIGZpbGUud3JpdGUoZnAucmVhZCgpKQorCisgICAgZGVmIGdldF9pbnN0YWxsZXJfZmlsZW5hbWUoc2VsZiwgZnVsbG5hbWUpOgorICAgICAgICAjIEZhY3RvcmVkIG91dCB0byBhbGxvdyBvdmVycmlkaW5nIGluIHN1YmNsYXNzZXMKKyAgICAgICAgaWYgc2VsZi50YXJnZXRfdmVyc2lvbjoKKyAgICAgICAgICAgICMgaWYgd2UgY3JlYXRlIGFuIGluc3RhbGxlciBmb3IgYSBzcGVjaWZpYyBweXRob24gdmVyc2lvbiwKKyAgICAgICAgICAgICMgaXQncyBiZXR0ZXIgdG8gaW5jbHVkZSB0aGlzIGluIHRoZSBuYW1lCisgICAgICAgICAgICBpbnN0YWxsZXJfbmFtZSA9IG9zLnBhdGguam9pbihzZWxmLmRpc3RfZGlyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiVzLiVzLXB5JXMuZXhlIiAlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZ1bGxuYW1lLCBzZWxmLnBsYXRfbmFtZSwgc2VsZi50YXJnZXRfdmVyc2lvbikpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBpbnN0YWxsZXJfbmFtZSA9IG9zLnBhdGguam9pbihzZWxmLmRpc3RfZGlyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiVzLiVzLmV4ZSIgJSAoZnVsbG5hbWUsIHNlbGYucGxhdF9uYW1lKSkKKyAgICAgICAgcmV0dXJuIGluc3RhbGxlcl9uYW1lCisKKyAgICBkZWYgZ2V0X2V4ZV9ieXRlcyhzZWxmKToKKyAgICAgICAgZnJvbSBwYWNrYWdpbmcuY29tcGlsZXIubXN2Y2NvbXBpbGVyIGltcG9ydCBnZXRfYnVpbGRfdmVyc2lvbgorICAgICAgICAjIElmIGEgdGFyZ2V0LXZlcnNpb24gb3RoZXIgdGhhbiB0aGUgY3VycmVudCB2ZXJzaW9uIGhhcyBiZWVuCisgICAgICAgICMgc3BlY2lmaWVkLCB0aGVuIHVzaW5nIHRoZSBNU1ZDIHZlcnNpb24gZnJvbSAqdGhpcyogYnVpbGQgaXMgbm8gZ29vZC4KKyAgICAgICAgIyBXaXRob3V0IGFjdHVhbGx5IGZpbmRpbmcgYW5kIGV4ZWN1dGluZyB0aGUgdGFyZ2V0IHZlcnNpb24gYW5kIHBhcnNpbmcKKyAgICAgICAgIyBpdHMgc3lzLnZlcnNpb24sIHdlIGp1c3QgaGFyZC1jb2RlIG91ciBrbm93bGVkZ2Ugb2Ygb2xkIHZlcnNpb25zLgorICAgICAgICAjIE5PVEU6IFBvc3NpYmxlIGFsdGVybmF0aXZlIGlzIHRvIGFsbG93ICItLXRhcmdldC12ZXJzaW9uIiB0bworICAgICAgICAjIHNwZWNpZnkgYSBQeXRob24gZXhlY3V0YWJsZSByYXRoZXIgdGhhbiBhIHNpbXBsZSB2ZXJzaW9uIHN0cmluZy4KKyAgICAgICAgIyBXZSBjYW4gdGhlbiBleGVjdXRlIHRoaXMgcHJvZ3JhbSB0byBvYnRhaW4gYW55IGluZm8gd2UgbmVlZCwgc3VjaAorICAgICAgICAjIGFzIHRoZSByZWFsIHN5cy52ZXJzaW9uIHN0cmluZyBmb3IgdGhlIGJ1aWxkLgorICAgICAgICBjdXJfdmVyc2lvbiA9IGdldF9weXRob25fdmVyc2lvbigpCisgICAgICAgIGlmIHNlbGYudGFyZ2V0X3ZlcnNpb24gYW5kIHNlbGYudGFyZ2V0X3ZlcnNpb24gIT0gY3VyX3ZlcnNpb246CisgICAgICAgICAgICAjIElmIHRoZSB0YXJnZXQgdmVyc2lvbiBpcyAqbGF0ZXIqIHRoYW4gdXMsIHRoZW4gd2UgYXNzdW1lIHRoZXkKKyAgICAgICAgICAgICMgdXNlIHdoYXQgd2UgdXNlCisgICAgICAgICAgICAjIHN0cmluZyBjb21wYXJlcyBzZWVtIHdyb25nLCBidXQgYXJlIHdoYXQgc3lzY29uZmlnLnB5IGl0c2VsZiB1c2VzCisgICAgICAgICAgICBpZiBzZWxmLnRhcmdldF92ZXJzaW9uID4gY3VyX3ZlcnNpb246CisgICAgICAgICAgICAgICAgYnYgPSBnZXRfYnVpbGRfdmVyc2lvbigpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIGlmIHNlbGYudGFyZ2V0X3ZlcnNpb24gPCAiMi40IjoKKyAgICAgICAgICAgICAgICAgICAgYnYgPSA2LjAKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICBidiA9IDcuMQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgIyBmb3IgY3VycmVudCB2ZXJzaW9uIC0gdXNlIGF1dGhvcml0YXRpdmUgY2hlY2suCisgICAgICAgICAgICBidiA9IGdldF9idWlsZF92ZXJzaW9uKCkKKworICAgICAgICAjIHdpbmluc3QteC55LmV4ZSBpcyBpbiB0aGUgc2FtZSBkaXJlY3RvcnkgYXMgdGhpcyBmaWxlCisgICAgICAgIGRpcmVjdG9yeSA9IG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXykKKyAgICAgICAgIyB3ZSBtdXN0IHVzZSBhIHdpbmluc3QteC55LmV4ZSBidWlsdCB3aXRoIHRoZSBzYW1lIEMgY29tcGlsZXIKKyAgICAgICAgIyB1c2VkIGZvciBweXRob24uICBYWFggV2hhdCBhYm91dCBtaW5ndywgYm9ybGFuZCwgYW5kIHNvIG9uPworCisgICAgICAgICMgaWYgcGxhdF9uYW1lIHN0YXJ0cyB3aXRoICJ3aW4iIGJ1dCBpcyBub3QgIndpbjMyIgorICAgICAgICAjIHdlIHdhbnQgdG8gc3RyaXAgIndpbiIgYW5kIGxlYXZlIHRoZSByZXN0IChlLmcuIC1hbWQ2NCkKKyAgICAgICAgIyBmb3IgYWxsIG90aGVyIGNhc2VzLCB3ZSBkb24ndCB3YW50IGFueSBzdWZmaXgKKyAgICAgICAgaWYgc2VsZi5wbGF0X25hbWUgIT0gJ3dpbjMyJyBhbmQgc2VsZi5wbGF0X25hbWVbOjNdID09ICd3aW4nOgorICAgICAgICAgICAgc2ZpeCA9IHNlbGYucGxhdF9uYW1lWzM6XQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgc2ZpeCA9ICcnCisKKyAgICAgICAgZmlsZW5hbWUgPSBvcy5wYXRoLmpvaW4oZGlyZWN0b3J5LCAid2luaW5zdC0lLjFmJXMuZXhlIiAlIChidiwgc2ZpeCkpCisgICAgICAgIHdpdGggb3BlbihmaWxlbmFtZSwgInJiIikgYXMgZnA6CisgICAgICAgICAgICByZXR1cm4gZnAucmVhZCgpCmRpZmYgLS1naXQgYS9MaWIvcGFja2FnaW5nL2NvbW1hbmQvYnVpbGQucHkgYi9MaWIvcGFja2FnaW5nL2NvbW1hbmQvYnVpbGQucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmNiNTBkZgotLS0gL2Rldi9udWxsCisrKyBiL0xpYi9wYWNrYWdpbmcvY29tbWFuZC9idWlsZC5weQpAQCAtMCwwICsxLDE1MSBAQAorIiIiTWFpbiBidWlsZCBjb21tYW5kLCB3aGljaCBjYWxscyB0aGUgb3RoZXIgYnVpbGRfKiBjb21tYW5kcy4iIiIKKworaW1wb3J0IHN5cworaW1wb3J0IG9zCisKK2Zyb20gcGFja2FnaW5nLnV0aWwgaW1wb3J0IGdldF9wbGF0Zm9ybQorZnJvbSBwYWNrYWdpbmcuY29tbWFuZC5jbWQgaW1wb3J0IENvbW1hbmQKK2Zyb20gcGFja2FnaW5nLmVycm9ycyBpbXBvcnQgUGFja2FnaW5nT3B0aW9uRXJyb3IKK2Zyb20gcGFja2FnaW5nLmNvbXBpbGVyIGltcG9ydCBzaG93X2NvbXBpbGVycworCisKK2NsYXNzIGJ1aWxkKENvbW1hbmQpOgorCisgICAgZGVzY3JpcHRpb24gPSAiYnVpbGQgZXZlcnl0aGluZyBuZWVkZWQgdG8gaW5zdGFsbCIKKworICAgIHVzZXJfb3B0aW9ucyA9IFsKKyAgICAgICAgKCdidWlsZC1iYXNlPScsICdiJywKKyAgICAgICAgICJiYXNlIGRpcmVjdG9yeSBmb3IgYnVpbGQgbGlicmFyeSIpLAorICAgICAgICAoJ2J1aWxkLXB1cmVsaWI9JywgTm9uZSwKKyAgICAgICAgICJidWlsZCBkaXJlY3RvcnkgZm9yIHBsYXRmb3JtLW5ldXRyYWwgZGlzdHJpYnV0aW9ucyIpLAorICAgICAgICAoJ2J1aWxkLXBsYXRsaWI9JywgTm9uZSwKKyAgICAgICAgICJidWlsZCBkaXJlY3RvcnkgZm9yIHBsYXRmb3JtLXNwZWNpZmljIGRpc3RyaWJ1dGlvbnMiKSwKKyAgICAgICAgKCdidWlsZC1saWI9JywgTm9uZSwKKyAgICAgICAgICJidWlsZCBkaXJlY3RvcnkgZm9yIGFsbCBkaXN0cmlidXRpb24gKGRlZmF1bHRzIHRvIGVpdGhlciAiICsKKyAgICAgICAgICJidWlsZC1wdXJlbGliIG9yIGJ1aWxkLXBsYXRsaWIiKSwKKyAgICAgICAgKCdidWlsZC1zY3JpcHRzPScsIE5vbmUsCisgICAgICAgICAiYnVpbGQgZGlyZWN0b3J5IGZvciBzY3JpcHRzIiksCisgICAgICAgICgnYnVpbGQtdGVtcD0nLCAndCcsCisgICAgICAgICAidGVtcG9yYXJ5IGJ1aWxkIGRpcmVjdG9yeSIpLAorICAgICAgICAoJ3BsYXQtbmFtZT0nLCAncCcsCisgICAgICAgICAicGxhdGZvcm0gbmFtZSB0byBidWlsZCBmb3IsIGlmIHN1cHBvcnRlZCAiCisgICAgICAgICAiKGRlZmF1bHQ6ICVzKSIgJSBnZXRfcGxhdGZvcm0oKSksCisgICAgICAgICgnY29tcGlsZXI9JywgJ2MnLAorICAgICAgICAgInNwZWNpZnkgdGhlIGNvbXBpbGVyIHR5cGUiKSwKKyAgICAgICAgKCdkZWJ1ZycsICdnJywKKyAgICAgICAgICJjb21waWxlIGV4dGVuc2lvbnMgYW5kIGxpYnJhcmllcyB3aXRoIGRlYnVnZ2luZyBpbmZvcm1hdGlvbiIpLAorICAgICAgICAoJ2ZvcmNlJywgJ2YnLAorICAgICAgICAgImZvcmNpYmx5IGJ1aWxkIGV2ZXJ5dGhpbmcgKGlnbm9yZSBmaWxlIHRpbWVzdGFtcHMpIiksCisgICAgICAgICgnZXhlY3V0YWJsZT0nLCAnZScsCisgICAgICAgICAic3BlY2lmeSBmaW5hbCBkZXN0aW5hdGlvbiBpbnRlcnByZXRlciBwYXRoIChidWlsZC5weSkiKSwKKyAgICAgICAgKCd1c2UtMnRvMycsIE5vbmUsCisgICAgICAgICAidXNlIDJ0bzMgdG8gbWFrZSBzb3VyY2UgcHl0aG9uIDMueCBjb21wYXRpYmxlIiksCisgICAgICAgICgnY29udmVydC0ydG8zLWRvY3Rlc3RzJywgTm9uZSwKKyAgICAgICAgICJ1c2UgMnRvMyB0byBjb252ZXJ0IGRvY3Rlc3RzIGluIHNlcGFyYXRlIHRleHQgZmlsZXMiKSwKKyAgICAgICAgKCd1c2UtMnRvMy1maXhlcnMnLCBOb25lLAorICAgICAgICAgImxpc3QgYWRkaXRpb25hbCBmaXhlcnMgb3B0ZWQgZm9yIGR1cmluZyAydG8zIGNvbnZlcnNpb24iKSwKKyAgICAgICAgXQorCisgICAgYm9vbGVhbl9vcHRpb25zID0gWydkZWJ1ZycsICdmb3JjZSddCisKKyAgICBoZWxwX29wdGlvbnMgPSBbCisgICAgICAgICgnaGVscC1jb21waWxlcicsIE5vbmUsCisgICAgICAgICAibGlzdCBhdmFpbGFibGUgY29tcGlsZXJzIiwgc2hvd19jb21waWxlcnMpLAorICAgICAgICBdCisKKyAgICBkZWYgaW5pdGlhbGl6ZV9vcHRpb25zKHNlbGYpOgorICAgICAgICBzZWxmLmJ1aWxkX2Jhc2UgPSAnYnVpbGQnCisgICAgICAgICMgdGhlc2UgYXJlIGRlY2lkZWQgb25seSBhZnRlciAnYnVpbGRfYmFzZScgaGFzIGl0cyBmaW5hbCB2YWx1ZQorICAgICAgICAjICh1bmxlc3Mgb3ZlcnJpZGRlbiBieSB0aGUgdXNlciBvciBjbGllbnQpCisgICAgICAgIHNlbGYuYnVpbGRfcHVyZWxpYiA9IE5vbmUKKyAgICAgICAgc2VsZi5idWlsZF9wbGF0bGliID0gTm9uZQorICAgICAgICBzZWxmLmJ1aWxkX2xpYiA9IE5vbmUKKyAgICAgICAgc2VsZi5idWlsZF90ZW1wID0gTm9uZQorICAgICAgICBzZWxmLmJ1aWxkX3NjcmlwdHMgPSBOb25lCisgICAgICAgIHNlbGYuY29tcGlsZXIgPSBOb25lCisgICAgICAgIHNlbGYucGxhdF9uYW1lID0gTm9uZQorICAgICAgICBzZWxmLmRlYnVnID0gTm9uZQorICAgICAgICBzZWxmLmZvcmNlID0gRmFsc2UKKyAgICAgICAgc2VsZi5leGVjdXRhYmxlID0gTm9uZQorICAgICAgICBzZWxmLnVzZV8ydG8zID0gRmFsc2UKKyAgICAgICAgc2VsZi5jb252ZXJ0XzJ0bzNfZG9jdGVzdHMgPSBOb25lCisgICAgICAgIHNlbGYudXNlXzJ0bzNfZml4ZXJzID0gTm9uZQorCisgICAgZGVmIGZpbmFsaXplX29wdGlvbnMoc2VsZik6CisgICAgICAgIGlmIHNlbGYucGxhdF9uYW1lIGlzIE5vbmU6CisgICAgICAgICAgICBzZWxmLnBsYXRfbmFtZSA9IGdldF9wbGF0Zm9ybSgpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICAjIHBsYXQtbmFtZSBvbmx5IHN1cHBvcnRlZCBmb3Igd2luZG93cyAob3RoZXIgcGxhdGZvcm1zIGFyZQorICAgICAgICAgICAgIyBzdXBwb3J0ZWQgdmlhIC4vY29uZmlndXJlIGZsYWdzLCBpZiBhdCBhbGwpLiAgQXZvaWQgbWlzbGVhZGluZworICAgICAgICAgICAgIyBvdGhlciBwbGF0Zm9ybXMuCisgICAgICAgICAgICBpZiBvcy5uYW1lICE9ICdudCc6CisgICAgICAgICAgICAgICAgcmFpc2UgUGFja2FnaW5nT3B0aW9uRXJyb3IoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi0tcGxhdC1uYW1lIG9ubHkgc3VwcG9ydGVkIG9uIFdpbmRvd3MgKHRyeSAiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVzaW5nICcuL2NvbmZpZ3VyZSAtLWhlbHAnIG9uIHlvdXIgcGxhdGZvcm0pIikKKyAgICAgICAgcHl2ZXJzaW9uID0gJyVzLiVzJyAlIHN5cy52ZXJzaW9uX2luZm9bOjJdCisgICAgICAgIHBsYXRfc3BlY2lmaWVyID0gIi4lcy0lcyIgJSAoc2VsZi5wbGF0X25hbWUsIHB5dmVyc2lvbikKKworICAgICAgICAjIE1ha2UgaXQgc28gUHl0aG9uIDIueCBhbmQgUHl0aG9uIDIueCB3aXRoIC0td2l0aC1weWRlYnVnIGRvbid0CisgICAgICAgICMgc2hhcmUgdGhlIHNhbWUgYnVpbGQgZGlyZWN0b3JpZXMuIERvaW5nIHNvIGNvbmZ1c2VzIHRoZSBidWlsZAorICAgICAgICAjIHByb2Nlc3MgZm9yIEMgbW9kdWxlcworICAgICAgICBpZiBoYXNhdHRyKHN5cywgJ2dldHRvdGFscmVmY291bnQnKToKKyAgICAgICAgICAgIHBsYXRfc3BlY2lmaWVyICs9ICctcHlkZWJ1ZycKKworICAgICAgICAjICdidWlsZF9wdXJlbGliJyBhbmQgJ2J1aWxkX3BsYXRsaWInIGp1c3QgZGVmYXVsdCB0byAnbGliJyBhbmQKKyAgICAgICAgIyAnbGliLjxwbGF0PicgdW5kZXIgdGhlIGJhc2UgYnVpbGQgZGlyZWN0b3J5LiAgV2Ugb25seSB1c2Ugb25lIG9mCisgICAgICAgICMgdGhlbSBmb3IgYSBnaXZlbiBkaXN0cmlidXRpb24sIHRob3VnaCAtLQorICAgICAgICBpZiBzZWxmLmJ1aWxkX3B1cmVsaWIgaXMgTm9uZToKKyAgICAgICAgICAgIHNlbGYuYnVpbGRfcHVyZWxpYiA9IG9zLnBhdGguam9pbihzZWxmLmJ1aWxkX2Jhc2UsICdsaWInKQorICAgICAgICBpZiBzZWxmLmJ1aWxkX3BsYXRsaWIgaXMgTm9uZToKKyAgICAgICAgICAgIHNlbGYuYnVpbGRfcGxhdGxpYiA9IG9zLnBhdGguam9pbihzZWxmLmJ1aWxkX2Jhc2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2xpYicgKyBwbGF0X3NwZWNpZmllcikKKworICAgICAgICAjICdidWlsZF9saWInIGlzIHRoZSBhY3R1YWwgZGlyZWN0b3J5IHRoYXQgd2Ugd2lsbCB1c2UgZm9yIHRoaXMKKyAgICAgICAgIyBwYXJ0aWN1bGFyIG1vZHVsZSBkaXN0cmlidXRpb24gLS0gaWYgdXNlciBkaWRuJ3Qgc3VwcGx5IGl0LCBwaWNrCisgICAgICAgICMgb25lIG9mICdidWlsZF9wdXJlbGliJyBvciAnYnVpbGRfcGxhdGxpYicuCisgICAgICAgIGlmIHNlbGYuYnVpbGRfbGliIGlzIE5vbmU6CisgICAgICAgICAgICBpZiBzZWxmLmRpc3RyaWJ1dGlvbi5leHRfbW9kdWxlczoKKyAgICAgICAgICAgICAgICBzZWxmLmJ1aWxkX2xpYiA9IHNlbGYuYnVpbGRfcGxhdGxpYgorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBzZWxmLmJ1aWxkX2xpYiA9IHNlbGYuYnVpbGRfcHVyZWxpYgorCisgICAgICAgICMgJ2J1aWxkX3RlbXAnIC0tIHRlbXBvcmFyeSBkaXJlY3RvcnkgZm9yIGNvbXBpbGVyIHR1cmRzLAorICAgICAgICAjICJidWlsZC90ZW1wLjxwbGF0PiIKKyAgICAgICAgaWYgc2VsZi5idWlsZF90ZW1wIGlzIE5vbmU6CisgICAgICAgICAgICBzZWxmLmJ1aWxkX3RlbXAgPSBvcy5wYXRoLmpvaW4oc2VsZi5idWlsZF9iYXNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0ZW1wJyArIHBsYXRfc3BlY2lmaWVyKQorICAgICAgICBpZiBzZWxmLmJ1aWxkX3NjcmlwdHMgaXMgTm9uZToKKyAgICAgICAgICAgIHNlbGYuYnVpbGRfc2NyaXB0cyA9IG9zLnBhdGguam9pbihzZWxmLmJ1aWxkX2Jhc2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NjcmlwdHMtJyArIHB5dmVyc2lvbikKKworICAgICAgICBpZiBzZWxmLmV4ZWN1dGFibGUgaXMgTm9uZToKKyAgICAgICAgICAgIHNlbGYuZXhlY3V0YWJsZSA9IG9zLnBhdGgubm9ybXBhdGgoc3lzLmV4ZWN1dGFibGUpCisKKyAgICBkZWYgcnVuKHNlbGYpOgorICAgICAgICAjIFJ1biBhbGwgcmVsZXZhbnQgc3ViLWNvbW1hbmRzLiAgVGhpcyB3aWxsIGJlIHNvbWUgc3Vic2V0IG9mOgorICAgICAgICAjICAtIGJ1aWxkX3B5ICAgICAgLSBwdXJlIFB5dGhvbiBtb2R1bGVzCisgICAgICAgICMgIC0gYnVpbGRfY2xpYiAgICAtIHN0YW5kYWxvbmUgQyBsaWJyYXJpZXMKKyAgICAgICAgIyAgLSBidWlsZF9leHQgICAgIC0gUHl0aG9uIGV4dGVuc2lvbiBtb2R1bGVzCisgICAgICAgICMgIC0gYnVpbGRfc2NyaXB0cyAtIFB5dGhvbiBzY3JpcHRzCisgICAgICAgIGZvciBjbWRfbmFtZSBpbiBzZWxmLmdldF9zdWJfY29tbWFuZHMoKToKKyAgICAgICAgICAgIHNlbGYucnVuX2NvbW1hbmQoY21kX25hbWUpCisKKyAgICAjIC0tIFByZWRpY2F0ZXMgZm9yIHRoZSBzdWItY29tbWFuZCBsaXN0IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisgICAgZGVmIGhhc19wdXJlX21vZHVsZXMoc2VsZik6CisgICAgICAgIHJldHVybiBzZWxmLmRpc3RyaWJ1dGlvbi5oYXNfcHVyZV9tb2R1bGVzKCkKKworICAgIGRlZiBoYXNfY19saWJyYXJpZXMoc2VsZik6CisgICAgICAgIHJldHVybiBzZWxmLmRpc3RyaWJ1dGlvbi5oYXNfY19saWJyYXJpZXMoKQorCisgICAgZGVmIGhhc19leHRfbW9kdWxlcyhzZWxmKToKKyAgICAgICAgcmV0dXJuIHNlbGYuZGlzdHJpYnV0aW9uLmhhc19leHRfbW9kdWxlcygpCisKKyAgICBkZWYgaGFzX3NjcmlwdHMoc2VsZik6CisgICAgICAgIHJldHVybiBzZWxmLmRpc3RyaWJ1dGlvbi5oYXNfc2NyaXB0cygpCisKKyAgICBzdWJfY29tbWFuZHMgPSBbKCdidWlsZF9weScsIGhhc19wdXJlX21vZHVsZXMpLAorICAgICAgICAgICAgICAgICAgICAoJ2J1aWxkX2NsaWInLCBoYXNfY19saWJyYXJpZXMpLAorICAgICAgICAgICAgICAgICAgICAoJ2J1aWxkX2V4dCcsIGhhc19leHRfbW9kdWxlcyksCisgICAgICAgICAgICAgICAgICAgICgnYnVpbGRfc2NyaXB0cycsIGhhc19zY3JpcHRzKSwKKyAgICAgICAgICAgICAgICAgICBdCmRpZmYgLS1naXQgYS9MaWIvcGFja2FnaW5nL2NvbW1hbmQvYnVpbGRfY2xpYi5weSBiL0xpYi9wYWNrYWdpbmcvY29tbWFuZC9idWlsZF9jbGliLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUzODhjY2QKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvcGFja2FnaW5nL2NvbW1hbmQvYnVpbGRfY2xpYi5weQpAQCAtMCwwICsxLDE5NyBAQAorIiIiQnVpbGQgQy9DKysgbGlicmFyaWVzLgorCitUaGlzIGNvbW1hbmQgaXMgdXNlZnVsIHRvIGJ1aWxkIGxpYnJhcmllcyB0aGF0IGFyZSBpbmNsdWRlZCBpbiB0aGUKK2Rpc3RyaWJ1dGlvbiBhbmQgbmVlZGVkIGJ5IGV4dGVuc2lvbiBtb2R1bGVzLgorIiIiCisKKyMgWFhYIHRoaXMgbW9kdWxlIGhhcyAqbG90cyogb2YgY29kZSByaXBwZWQtb2ZmIHF1aXRlIHRyYW5zcGFyZW50bHkgZnJvbQorIyBidWlsZF9leHQucHkgLS0gbm90IHN1cnByaXNpbmdseSByZWFsbHksIGFzIHRoZSB3b3JrIHJlcXVpcmVkIHRvIGJ1aWxkCisjIGEgc3RhdGljIGxpYnJhcnkgZnJvbSBhIGNvbGxlY3Rpb24gb2YgQyBzb3VyY2UgZmlsZXMgaXMgbm90IHJlYWxseSBhbGwKKyMgdGhhdCBkaWZmZXJlbnQgZnJvbSB3aGF0J3MgcmVxdWlyZWQgdG8gYnVpbGQgYSBzaGFyZWQgb2JqZWN0IGZpbGUgZnJvbQorIyBhIGNvbGxlY3Rpb24gb2YgQyBzb3VyY2UgZmlsZXMuICBOZXZlcnRoZWxlc3MsIEkgaGF2ZW4ndCBkb25lIHRoZQorIyBuZWNlc3NhcnkgcmVmYWN0b3JpbmcgdG8gYWNjb3VudCBmb3IgdGhlIG92ZXJsYXAgaW4gY29kZSBiZXR3ZWVuIHRoZQorIyB0d28gbW9kdWxlcywgbWFpbmx5IGJlY2F1c2UgYSBudW1iZXIgb2Ygc3VidGxlIGRldGFpbHMgY2hhbmdlZCBpbiB0aGUKKyMgY3V0ICduIHBhc3RlLiAgU2lnaC4KKworaW1wb3J0IG9zCitmcm9tIHBhY2thZ2luZy5jb21tYW5kLmNtZCBpbXBvcnQgQ29tbWFuZAorZnJvbSBwYWNrYWdpbmcuZXJyb3JzIGltcG9ydCBQYWNrYWdpbmdTZXR1cEVycm9yCitmcm9tIHBhY2thZ2luZy5jb21waWxlciBpbXBvcnQgY3VzdG9taXplX2NvbXBpbGVyLCBuZXdfY29tcGlsZXIKK2Zyb20gcGFja2FnaW5nIGltcG9ydCBsb2dnZXIKKworCitkZWYgc2hvd19jb21waWxlcnMoKToKKyAgICBmcm9tIHBhY2thZ2luZy5jb21waWxlciBpbXBvcnQgc2hvd19jb21waWxlcnMKKyAgICBzaG93X2NvbXBpbGVycygpCisKKworY2xhc3MgYnVpbGRfY2xpYihDb21tYW5kKToKKworICAgIGRlc2NyaXB0aW9uID0gImJ1aWxkIEMvQysrIGxpYnJhcmllcyB1c2VkIGJ5IGV4dGVuc2lvbiBtb2R1bGVzIgorCisgICAgdXNlcl9vcHRpb25zID0gWworICAgICAgICAoJ2J1aWxkLWNsaWI9JywgJ2InLAorICAgICAgICAgImRpcmVjdG9yeSB0byBidWlsZCBDL0MrKyBsaWJyYXJpZXMgdG8iKSwKKyAgICAgICAgKCdidWlsZC10ZW1wPScsICd0JywKKyAgICAgICAgICJkaXJlY3RvcnkgdG8gcHV0IHRlbXBvcmFyeSBidWlsZCBieS1wcm9kdWN0cyIpLAorICAgICAgICAoJ2RlYnVnJywgJ2cnLAorICAgICAgICAgImNvbXBpbGUgd2l0aCBkZWJ1Z2dpbmcgaW5mb3JtYXRpb24iKSwKKyAgICAgICAgKCdmb3JjZScsICdmJywKKyAgICAgICAgICJmb3JjaWJseSBidWlsZCBldmVyeXRoaW5nIChpZ25vcmUgZmlsZSB0aW1lc3RhbXBzKSIpLAorICAgICAgICAoJ2NvbXBpbGVyPScsICdjJywKKyAgICAgICAgICJzcGVjaWZ5IHRoZSBjb21waWxlciB0eXBlIiksCisgICAgICAgIF0KKworICAgIGJvb2xlYW5fb3B0aW9ucyA9IFsnZGVidWcnLCAnZm9yY2UnXQorCisgICAgaGVscF9vcHRpb25zID0gWworICAgICAgICAoJ2hlbHAtY29tcGlsZXInLCBOb25lLAorICAgICAgICAgImxpc3QgYXZhaWxhYmxlIGNvbXBpbGVycyIsIHNob3dfY29tcGlsZXJzKSwKKyAgICAgICAgXQorCisgICAgZGVmIGluaXRpYWxpemVfb3B0aW9ucyhzZWxmKToKKyAgICAgICAgc2VsZi5idWlsZF9jbGliID0gTm9uZQorICAgICAgICBzZWxmLmJ1aWxkX3RlbXAgPSBOb25lCisKKyAgICAgICAgIyBMaXN0IG9mIGxpYnJhcmllcyB0byBidWlsZAorICAgICAgICBzZWxmLmxpYnJhcmllcyA9IE5vbmUKKworICAgICAgICAjIENvbXBpbGF0aW9uIG9wdGlvbnMgZm9yIGFsbCBsaWJyYXJpZXMKKyAgICAgICAgc2VsZi5pbmNsdWRlX2RpcnMgPSBOb25lCisgICAgICAgIHNlbGYuZGVmaW5lID0gTm9uZQorICAgICAgICBzZWxmLnVuZGVmID0gTm9uZQorICAgICAgICBzZWxmLmRlYnVnID0gTm9uZQorICAgICAgICBzZWxmLmZvcmNlID0gRmFsc2UKKyAgICAgICAgc2VsZi5jb21waWxlciA9IE5vbmUKKworCisgICAgZGVmIGZpbmFsaXplX29wdGlvbnMoc2VsZik6CisgICAgICAgICMgVGhpcyBtaWdodCBiZSBjb25mdXNpbmc6IGJvdGggYnVpbGQtY2xpYiBhbmQgYnVpbGQtdGVtcCBkZWZhdWx0CisgICAgICAgICMgdG8gYnVpbGQtdGVtcCBhcyBkZWZpbmVkIGJ5IHRoZSAiYnVpbGQiIGNvbW1hbmQuICBUaGlzIGlzIGJlY2F1c2UKKyAgICAgICAgIyBJIHRoaW5rIHRoYXQgQyBsaWJyYXJpZXMgYXJlIHJlYWxseSBqdXN0IHRlbXBvcmFyeSBidWlsZAorICAgICAgICAjIGJ5LXByb2R1Y3RzLCBhdCBsZWFzdCBmcm9tIHRoZSBwb2ludCBvZiB2aWV3IG9mIGJ1aWxkaW5nIFB5dGhvbgorICAgICAgICAjIGV4dGVuc2lvbnMgLS0gYnV0IEkgd2FudCB0byBrZWVwIG15IG9wdGlvbnMgb3Blbi4KKyAgICAgICAgc2VsZi5zZXRfdW5kZWZpbmVkX29wdGlvbnMoJ2J1aWxkJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCdidWlsZF90ZW1wJywgJ2J1aWxkX2NsaWInKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCdidWlsZF90ZW1wJywgJ2J1aWxkX3RlbXAnKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NvbXBpbGVyJywgJ2RlYnVnJywgJ2ZvcmNlJykKKworICAgICAgICBzZWxmLmxpYnJhcmllcyA9IHNlbGYuZGlzdHJpYnV0aW9uLmxpYnJhcmllcworICAgICAgICBpZiBzZWxmLmxpYnJhcmllczoKKyAgICAgICAgICAgIHNlbGYuY2hlY2tfbGlicmFyeV9saXN0KHNlbGYubGlicmFyaWVzKQorCisgICAgICAgIGlmIHNlbGYuaW5jbHVkZV9kaXJzIGlzIE5vbmU6CisgICAgICAgICAgICBzZWxmLmluY2x1ZGVfZGlycyA9IHNlbGYuZGlzdHJpYnV0aW9uLmluY2x1ZGVfZGlycyBvciBbXQorICAgICAgICBpZiBpc2luc3RhbmNlKHNlbGYuaW5jbHVkZV9kaXJzLCBzdHIpOgorICAgICAgICAgICAgc2VsZi5pbmNsdWRlX2RpcnMgPSBzZWxmLmluY2x1ZGVfZGlycy5zcGxpdChvcy5wYXRoc2VwKQorCisgICAgICAgICMgWFhYIHNhbWUgYXMgZm9yIGJ1aWxkX2V4dCAtLSB3aGF0IGFib3V0ICdzZWxmLmRlZmluZScgYW5kCisgICAgICAgICMgJ3NlbGYudW5kZWYnID8KKworICAgIGRlZiBydW4oc2VsZik6CisgICAgICAgIGlmIG5vdCBzZWxmLmxpYnJhcmllczoKKyAgICAgICAgICAgIHJldHVybgorCisgICAgICAgICMgWWVjaCAtLSB0aGlzIGlzIGN1dCAnbiBwYXN0ZWQgZnJvbSBidWlsZF9leHQucHkhCisgICAgICAgIHNlbGYuY29tcGlsZXIgPSBuZXdfY29tcGlsZXIoY29tcGlsZXI9c2VsZi5jb21waWxlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkcnlfcnVuPXNlbGYuZHJ5X3J1biwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JjZT1zZWxmLmZvcmNlKQorICAgICAgICBjdXN0b21pemVfY29tcGlsZXIoc2VsZi5jb21waWxlcikKKworICAgICAgICBpZiBzZWxmLmluY2x1ZGVfZGlycyBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIHNlbGYuY29tcGlsZXIuc2V0X2luY2x1ZGVfZGlycyhzZWxmLmluY2x1ZGVfZGlycykKKyAgICAgICAgaWYgc2VsZi5kZWZpbmUgaXMgbm90IE5vbmU6CisgICAgICAgICAgICAjICdkZWZpbmUnIG9wdGlvbiBpcyBhIGxpc3Qgb2YgKG5hbWUsdmFsdWUpIHR1cGxlcworICAgICAgICAgICAgZm9yIG5hbWUsIHZhbHVlIGluIHNlbGYuZGVmaW5lOgorICAgICAgICAgICAgICAgIHNlbGYuY29tcGlsZXIuZGVmaW5lX21hY3JvKG5hbWUsIHZhbHVlKQorICAgICAgICBpZiBzZWxmLnVuZGVmIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgZm9yIG1hY3JvIGluIHNlbGYudW5kZWY6CisgICAgICAgICAgICAgICAgc2VsZi5jb21waWxlci51bmRlZmluZV9tYWNybyhtYWNybykKKworICAgICAgICBzZWxmLmJ1aWxkX2xpYnJhcmllcyhzZWxmLmxpYnJhcmllcykKKworCisgICAgZGVmIGNoZWNrX2xpYnJhcnlfbGlzdChzZWxmLCBsaWJyYXJpZXMpOgorICAgICAgICAiIiJFbnN1cmUgdGhhdCB0aGUgbGlzdCBvZiBsaWJyYXJpZXMgaXMgdmFsaWQuCisKKyAgICAgICAgYGxpYnJhcnlgIGlzIHByZXN1bWFibHkgcHJvdmlkZWQgYXMgYSBjb21tYW5kIG9wdGlvbiAnbGlicmFyaWVzJy4KKyAgICAgICAgVGhpcyBtZXRob2QgY2hlY2tzIHRoYXQgaXQgaXMgYSBsaXN0IG9mIDItdHVwbGVzLCB3aGVyZSB0aGUgdHVwbGVzCisgICAgICAgIGFyZSAobGlicmFyeV9uYW1lLCBidWlsZF9pbmZvX2RpY3QpLgorCisgICAgICAgIFJhaXNlIFBhY2thZ2luZ1NldHVwRXJyb3IgaWYgdGhlIHN0cnVjdHVyZSBpcyBpbnZhbGlkIGFueXdoZXJlOworICAgICAgICBqdXN0IHJldHVybnMgb3RoZXJ3aXNlLgorICAgICAgICAiIiIKKyAgICAgICAgaWYgbm90IGlzaW5zdGFuY2UobGlicmFyaWVzLCBsaXN0KToKKyAgICAgICAgICAgIHJhaXNlIFBhY2thZ2luZ1NldHVwRXJyb3IoIidsaWJyYXJpZXMnIG9wdGlvbiBtdXN0IGJlIGEgbGlzdCBvZiB0dXBsZXMiKQorCisgICAgICAgIGZvciBsaWIgaW4gbGlicmFyaWVzOgorICAgICAgICAgICAgaWYgbm90IGlzaW5zdGFuY2UobGliLCB0dXBsZSkgYW5kIGxlbihsaWIpICE9IDI6CisgICAgICAgICAgICAgICAgcmFpc2UgUGFja2FnaW5nU2V0dXBFcnJvcigiZWFjaCBlbGVtZW50IG9mICdsaWJyYXJpZXMnIG11c3QgYSAyLXR1cGxlIikKKworICAgICAgICAgICAgbmFtZSwgYnVpbGRfaW5mbyA9IGxpYgorCisgICAgICAgICAgICBpZiBub3QgaXNpbnN0YW5jZShuYW1lLCBzdHIpOgorICAgICAgICAgICAgICAgIHJhaXNlIFBhY2thZ2luZ1NldHVwRXJyb3IoImZpcnN0IGVsZW1lbnQgb2YgZWFjaCB0dXBsZSBpbiAnbGlicmFyaWVzJyAiICsgXAorICAgICAgICAgICAgICAgICAgICAgICJtdXN0IGJlIGEgc3RyaW5nICh0aGUgbGlicmFyeSBuYW1lKSIpCisgICAgICAgICAgICBpZiAnLycgaW4gbmFtZSBvciAob3Muc2VwICE9ICcvJyBhbmQgb3Muc2VwIGluIG5hbWUpOgorICAgICAgICAgICAgICAgIHJhaXNlIFBhY2thZ2luZ1NldHVwRXJyb3IoKCJiYWQgbGlicmFyeSBuYW1lICclcyc6ICIgKworICAgICAgICAgICAgICAgICAgICAgICAibWF5IG5vdCBjb250YWluIGRpcmVjdG9yeSBzZXBhcmF0b3JzIikgJSBcCisgICAgICAgICAgICAgICAgICAgICAgbGliWzBdKQorCisgICAgICAgICAgICBpZiBub3QgaXNpbnN0YW5jZShidWlsZF9pbmZvLCBkaWN0KToKKyAgICAgICAgICAgICAgICByYWlzZSBQYWNrYWdpbmdTZXR1cEVycm9yKCJzZWNvbmQgZWxlbWVudCBvZiBlYWNoIHR1cGxlIGluICdsaWJyYXJpZXMnICIgKyBcCisgICAgICAgICAgICAgICAgICAgICAgIm11c3QgYmUgYSBkaWN0aW9uYXJ5IChidWlsZCBpbmZvKSIpCisKKyAgICBkZWYgZ2V0X2xpYnJhcnlfbmFtZXMoc2VsZik6CisgICAgICAgICMgQXNzdW1lIHRoZSBsaWJyYXJ5IGxpc3QgaXMgdmFsaWQgLS0gJ2NoZWNrX2xpYnJhcnlfbGlzdCgpJyBpcworICAgICAgICAjIGNhbGxlZCBmcm9tICdmaW5hbGl6ZV9vcHRpb25zKCknLCBzbyBpdCBzaG91bGQgYmUhCisgICAgICAgIGlmIG5vdCBzZWxmLmxpYnJhcmllczoKKyAgICAgICAgICAgIHJldHVybiBOb25lCisKKyAgICAgICAgbGliX25hbWVzID0gW10KKyAgICAgICAgZm9yIGxpYl9uYW1lLCBidWlsZF9pbmZvIGluIHNlbGYubGlicmFyaWVzOgorICAgICAgICAgICAgbGliX25hbWVzLmFwcGVuZChsaWJfbmFtZSkKKyAgICAgICAgcmV0dXJuIGxpYl9uYW1lcworCisKKyAgICBkZWYgZ2V0X3NvdXJjZV9maWxlcyhzZWxmKToKKyAgICAgICAgc2VsZi5jaGVja19saWJyYXJ5X2xpc3Qoc2VsZi5saWJyYXJpZXMpCisgICAgICAgIGZpbGVuYW1lcyA9IFtdCisgICAgICAgIGZvciBsaWJfbmFtZSwgYnVpbGRfaW5mbyBpbiBzZWxmLmxpYnJhcmllczoKKyAgICAgICAgICAgIHNvdXJjZXMgPSBidWlsZF9pbmZvLmdldCgnc291cmNlcycpCisgICAgICAgICAgICBpZiBzb3VyY2VzIGlzIE5vbmUgb3Igbm90IGlzaW5zdGFuY2Uoc291cmNlcywgKGxpc3QsIHR1cGxlKSk6CisgICAgICAgICAgICAgICAgcmFpc2UgUGFja2FnaW5nU2V0dXBFcnJvcigoImluICdsaWJyYXJpZXMnIG9wdGlvbiAobGlicmFyeSAnJXMnKSwgIgorICAgICAgICAgICAgICAgICAgICAgICAiJ3NvdXJjZXMnIG11c3QgYmUgcHJlc2VudCBhbmQgbXVzdCBiZSAiCisgICAgICAgICAgICAgICAgICAgICAgICJhIGxpc3Qgb2Ygc291cmNlIGZpbGVuYW1lcyIpICUgbGliX25hbWUpCisKKyAgICAgICAgICAgIGZpbGVuYW1lcy5leHRlbmQoc291cmNlcykKKyAgICAgICAgcmV0dXJuIGZpbGVuYW1lcworCisgICAgZGVmIGJ1aWxkX2xpYnJhcmllcyhzZWxmLCBsaWJyYXJpZXMpOgorICAgICAgICBmb3IgbGliX25hbWUsIGJ1aWxkX2luZm8gaW4gbGlicmFyaWVzOgorICAgICAgICAgICAgc291cmNlcyA9IGJ1aWxkX2luZm8uZ2V0KCdzb3VyY2VzJykKKyAgICAgICAgICAgIGlmIHNvdXJjZXMgaXMgTm9uZSBvciBub3QgaXNpbnN0YW5jZShzb3VyY2VzLCAobGlzdCwgdHVwbGUpKToKKyAgICAgICAgICAgICAgICByYWlzZSBQYWNrYWdpbmdTZXR1cEVycm9yKCgiaW4gJ2xpYnJhcmllcycgb3B0aW9uIChsaWJyYXJ5ICclcycpLCAiICsKKyAgICAgICAgICAgICAgICAgICAgICAgIidzb3VyY2VzJyBtdXN0IGJlIHByZXNlbnQgYW5kIG11c3QgYmUgIiArCisgICAgICAgICAgICAgICAgICAgICAgICJhIGxpc3Qgb2Ygc291cmNlIGZpbGVuYW1lcyIpICUgbGliX25hbWUpCisgICAgICAgICAgICBzb3VyY2VzID0gbGlzdChzb3VyY2VzKQorCisgICAgICAgICAgICBsb2dnZXIuaW5mbygiYnVpbGRpbmcgJyVzJyBsaWJyYXJ5IiwgbGliX25hbWUpCisKKyAgICAgICAgICAgICMgRmlyc3QsIGNvbXBpbGUgdGhlIHNvdXJjZSBjb2RlIHRvIG9iamVjdCBmaWxlcyBpbiB0aGUgbGlicmFyeQorICAgICAgICAgICAgIyBkaXJlY3RvcnkuICAoVGhpcyBzaG91bGQgcHJvYmFibHkgY2hhbmdlIHRvIHB1dHRpbmcgb2JqZWN0CisgICAgICAgICAgICAjIGZpbGVzIGluIGEgdGVtcG9yYXJ5IGJ1aWxkIGRpcmVjdG9yeS4pCisgICAgICAgICAgICBtYWNyb3MgPSBidWlsZF9pbmZvLmdldCgnbWFjcm9zJykKKyAgICAgICAgICAgIGluY2x1ZGVfZGlycyA9IGJ1aWxkX2luZm8uZ2V0KCdpbmNsdWRlX2RpcnMnKQorICAgICAgICAgICAgb2JqZWN0cyA9IHNlbGYuY29tcGlsZXIuY29tcGlsZShzb3VyY2VzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdXRwdXRfZGlyPXNlbGYuYnVpbGRfdGVtcCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFjcm9zPW1hY3JvcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5jbHVkZV9kaXJzPWluY2x1ZGVfZGlycywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVidWc9c2VsZi5kZWJ1ZykKKworICAgICAgICAgICAgIyBOb3cgImxpbmsiIHRoZSBvYmplY3QgZmlsZXMgdG9nZXRoZXIgaW50byBhIHN0YXRpYyBsaWJyYXJ5LgorICAgICAgICAgICAgIyAoT24gVW5peCBhdCBsZWFzdCwgdGhpcyBpc24ndCByZWFsbHkgbGlua2luZyAtLSBpdCBqdXN0CisgICAgICAgICAgICAjIGJ1aWxkcyBhbiBhcmNoaXZlLiAgV2hhdGV2ZXIuKQorICAgICAgICAgICAgc2VsZi5jb21waWxlci5jcmVhdGVfc3RhdGljX2xpYihvYmplY3RzLCBsaWJfbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0cHV0X2Rpcj1zZWxmLmJ1aWxkX2NsaWIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlYnVnPXNlbGYuZGVidWcpCmRpZmYgLS1naXQgYS9MaWIvcGFja2FnaW5nL2NvbW1hbmQvYnVpbGRfZXh0LnB5IGIvTGliL3BhY2thZ2luZy9jb21tYW5kL2J1aWxkX2V4dC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40Yzg1ODIyCi0tLSAvZGV2L251bGwKKysrIGIvTGliL3BhY2thZ2luZy9jb21tYW5kL2J1aWxkX2V4dC5weQpAQCAtMCwwICsxLDY0MSBAQAorIiIiQnVpbGQgZXh0ZW5zaW9uIG1vZHVsZXMuIiIiCisKK2ltcG9ydCBvcworaW1wb3J0IHJlCitpbXBvcnQgc3lzCitpbXBvcnQgc2l0ZQoraW1wb3J0IHN5c2NvbmZpZworCitmcm9tIHBhY2thZ2luZy51dGlsIGltcG9ydCBnZXRfcGxhdGZvcm0KK2Zyb20gcGFja2FnaW5nLmNvbW1hbmQuY21kIGltcG9ydCBDb21tYW5kCitmcm9tIHBhY2thZ2luZy5lcnJvcnMgaW1wb3J0IChDQ29tcGlsZXJFcnJvciwgQ29tcGlsZUVycm9yLCBQYWNrYWdpbmdFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQYWNrYWdpbmdQbGF0Zm9ybUVycm9yLCBQYWNrYWdpbmdTZXR1cEVycm9yKQorZnJvbSBwYWNrYWdpbmcuY29tcGlsZXIgaW1wb3J0IGN1c3RvbWl6ZV9jb21waWxlciwgc2hvd19jb21waWxlcnMKK2Zyb20gcGFja2FnaW5nLnV0aWwgaW1wb3J0IG5ld2VyX2dyb3VwCitmcm9tIHBhY2thZ2luZy5jb21waWxlci5leHRlbnNpb24gaW1wb3J0IEV4dGVuc2lvbgorZnJvbSBwYWNrYWdpbmcgaW1wb3J0IGxvZ2dlcgorCitpZiBvcy5uYW1lID09ICdudCc6CisgICAgZnJvbSBwYWNrYWdpbmcuY29tcGlsZXIubXN2Y2NvbXBpbGVyIGltcG9ydCBnZXRfYnVpbGRfdmVyc2lvbgorICAgIE1TVkNfVkVSU0lPTiA9IGludChnZXRfYnVpbGRfdmVyc2lvbigpKQorCisjIEFuIGV4dGVuc2lvbiBuYW1lIGlzIGp1c3QgYSBkb3Qtc2VwYXJhdGVkIGxpc3Qgb2YgUHl0aG9uIE5BTUVzIChpZS4KKyMgdGhlIHNhbWUgYXMgYSBmdWxseS1xdWFsaWZpZWQgbW9kdWxlIG5hbWUpLgorZXh0ZW5zaW9uX25hbWVfcmUgPSByZS5jb21waWxlIFwKKyAgICAocideW2EtekEtWl9dW2EtekEtWl8wLTldKihcLlthLXpBLVpfXVthLXpBLVpfMC05XSopKiQnKQorCisKK2NsYXNzIGJ1aWxkX2V4dChDb21tYW5kKToKKworICAgIGRlc2NyaXB0aW9uID0gImJ1aWxkIEMvQysrIGV4dGVuc2lvbiBtb2R1bGVzIChjb21waWxlL2xpbmsgdG8gYnVpbGQgZGlyZWN0b3J5KSIKKworICAgICMgWFhYIHRob3VnaHRzIG9uIGhvdyB0byBkZWFsIHdpdGggY29tcGxleCBjb21tYW5kLWxpbmUgb3B0aW9ucyBsaWtlCisgICAgIyB0aGVzZSwgaS5lLiBob3cgdG8gbWFrZSBpdCBzbyBmYW5jeV9nZXRvcHQgY2FuIHN1Y2sgdGhlbSBvZmYgdGhlCisgICAgIyBjb21tYW5kIGxpbmUgYW5kIHR1cm4gdGhlbSBpbnRvIHRoZSBhcHByb3ByaWF0ZQorICAgICMgbGlzdHMgb2YgdHVwbGVzIG9mIHdoYXQtaGF2ZS15b3UuCisgICAgIyAgIC0gZWFjaCBjb21tYW5kIG5lZWRzIGEgY2FsbGJhY2sgdG8gcHJvY2VzcyBpdHMgY29tbWFuZC1saW5lIG9wdGlvbnMKKyAgICAjICAgLSBDb21tYW5kLl9faW5pdF9fKCkgbmVlZHMgYWNjZXNzIHRvIGl0cyBzaGFyZSBvZiB0aGUgd2hvbGUKKyAgICAjICAgICBjb21tYW5kIGxpbmUgKG11c3QgdWx0aW1hdGVseSBjb21lIGZyb20KKyAgICAjICAgICBEaXN0cmlidXRpb24ucGFyc2VfY29tbWFuZF9saW5lKCkpCisgICAgIyAgIC0gaXQgdGhlbiBjYWxscyB0aGUgY3VycmVudCBjb21tYW5kIGNsYXNzJyBvcHRpb24tcGFyc2luZworICAgICMgICAgIGNhbGxiYWNrIHRvIGRlYWwgd2l0aCB3ZWlyZCBvcHRpb25zIGxpa2UgLUQsIHdoaWNoIGhhdmUgdG8KKyAgICAjICAgICBwYXJzZSB0aGUgb3B0aW9uIHRleHQgYW5kIGNodXJuIG91dCBzb21lIGN1c3RvbSBkYXRhCisgICAgIyAgICAgc3RydWN0dXJlCisgICAgIyAgIC0gdGhhdCBkYXRhIHN0cnVjdHVyZSAoaW4gdGhpcyBjYXNlLCBhIGxpc3Qgb2YgMi10dXBsZXMpCisgICAgIyAgICAgd2lsbCB0aGVuIGJlIHByZXNlbnQgaW4gdGhlIGNvbW1hbmQgb2JqZWN0IGJ5IHRoZSB0aW1lCisgICAgIyAgICAgd2UgZ2V0IHRvIGZpbmFsaXplX29wdGlvbnMoKSAoaS5lLiB0aGUgY29uc3RydWN0b3IKKyAgICAjICAgICB0YWtlcyBjYXJlIG9mIGJvdGggY29tbWFuZC1saW5lIGFuZCBjbGllbnQgb3B0aW9ucworICAgICMgICAgIGluIGJldHdlZW4gaW5pdGlhbGl6ZV9vcHRpb25zKCkgYW5kIGZpbmFsaXplX29wdGlvbnMoKSkKKworICAgIHNlcF9ieSA9ICIgKHNlcGFyYXRlZCBieSAnJXMnKSIgJSBvcy5wYXRoc2VwCisgICAgdXNlcl9vcHRpb25zID0gWworICAgICAgICAoJ2J1aWxkLWxpYj0nLCAnYicsCisgICAgICAgICAiZGlyZWN0b3J5IGZvciBjb21waWxlZCBleHRlbnNpb24gbW9kdWxlcyIpLAorICAgICAgICAoJ2J1aWxkLXRlbXA9JywgJ3QnLAorICAgICAgICAgImRpcmVjdG9yeSBmb3IgdGVtcG9yYXJ5IGZpbGVzIChidWlsZCBieS1wcm9kdWN0cykiKSwKKyAgICAgICAgKCdwbGF0LW5hbWU9JywgJ3AnLAorICAgICAgICAgInBsYXRmb3JtIG5hbWUgdG8gY3Jvc3MtY29tcGlsZSBmb3IsIGlmIHN1cHBvcnRlZCAiCisgICAgICAgICAiKGRlZmF1bHQ6ICVzKSIgJSBnZXRfcGxhdGZvcm0oKSksCisgICAgICAgICgnaW5wbGFjZScsICdpJywKKyAgICAgICAgICJpZ25vcmUgYnVpbGQtbGliIGFuZCBwdXQgY29tcGlsZWQgZXh0ZW5zaW9ucyBpbnRvIHRoZSBzb3VyY2UgIiArCisgICAgICAgICAiZGlyZWN0b3J5IGFsb25nc2lkZSB5b3VyIHB1cmUgUHl0aG9uIG1vZHVsZXMiKSwKKyAgICAgICAgKCd1c2VyJywgTm9uZSwKKyAgICAgICAgICJhZGQgdXNlciBpbmNsdWRlLCBsaWJyYXJ5IGFuZCBycGF0aCIpLAorICAgICAgICAoJ2luY2x1ZGUtZGlycz0nLCAnSScsCisgICAgICAgICAibGlzdCBvZiBkaXJlY3RvcmllcyB0byBzZWFyY2ggZm9yIGhlYWRlciBmaWxlcyIgKyBzZXBfYnkpLAorICAgICAgICAoJ2RlZmluZT0nLCAnRCcsCisgICAgICAgICAiQyBwcmVwcm9jZXNzb3IgbWFjcm9zIHRvIGRlZmluZSIpLAorICAgICAgICAoJ3VuZGVmPScsICdVJywKKyAgICAgICAgICJDIHByZXByb2Nlc3NvciBtYWNyb3MgdG8gdW5kZWZpbmUiKSwKKyAgICAgICAgKCdsaWJyYXJpZXM9JywgJ2wnLAorICAgICAgICAgImV4dGVybmFsIEMgbGlicmFyaWVzIHRvIGxpbmsgd2l0aCIpLAorICAgICAgICAoJ2xpYnJhcnktZGlycz0nLCAnTCcsCisgICAgICAgICAiZGlyZWN0b3JpZXMgdG8gc2VhcmNoIGZvciBleHRlcm5hbCBDIGxpYnJhcmllcyIgKyBzZXBfYnkpLAorICAgICAgICAoJ3JwYXRoPScsICdSJywKKyAgICAgICAgICJkaXJlY3RvcmllcyB0byBzZWFyY2ggZm9yIHNoYXJlZCBDIGxpYnJhcmllcyBhdCBydW50aW1lIiksCisgICAgICAgICgnbGluay1vYmplY3RzPScsICdPJywKKyAgICAgICAgICJleHRyYSBleHBsaWNpdCBsaW5rIG9iamVjdHMgdG8gaW5jbHVkZSBpbiB0aGUgbGluayIpLAorICAgICAgICAoJ2RlYnVnJywgJ2cnLAorICAgICAgICAgImNvbXBpbGUvbGluayB3aXRoIGRlYnVnZ2luZyBpbmZvcm1hdGlvbiIpLAorICAgICAgICAoJ2ZvcmNlJywgJ2YnLAorICAgICAgICAgImZvcmNpYmx5IGJ1aWxkIGV2ZXJ5dGhpbmcgKGlnbm9yZSBmaWxlIHRpbWVzdGFtcHMpIiksCisgICAgICAgICgnY29tcGlsZXI9JywgJ2MnLAorICAgICAgICAgInNwZWNpZnkgdGhlIGNvbXBpbGVyIHR5cGUiKSwKKyAgICAgICAgKCdzd2lnLW9wdHM9JywgTm9uZSwKKyAgICAgICAgICJsaXN0IG9mIFNXSUcgY29tbWFuZC1saW5lIG9wdGlvbnMiKSwKKyAgICAgICAgKCdzd2lnPScsIE5vbmUsCisgICAgICAgICAicGF0aCB0byB0aGUgU1dJRyBleGVjdXRhYmxlIiksCisgICAgICAgIF0KKworICAgIGJvb2xlYW5fb3B0aW9ucyA9IFsnaW5wbGFjZScsICdkZWJ1ZycsICdmb3JjZScsICd1c2VyJ10KKworCisgICAgaGVscF9vcHRpb25zID0gWworICAgICAgICAoJ2hlbHAtY29tcGlsZXInLCBOb25lLAorICAgICAgICAgImxpc3QgYXZhaWxhYmxlIGNvbXBpbGVycyIsIHNob3dfY29tcGlsZXJzKSwKKyAgICAgICAgXQorCisgICAgZGVmIGluaXRpYWxpemVfb3B0aW9ucyhzZWxmKToKKyAgICAgICAgc2VsZi5leHRlbnNpb25zID0gTm9uZQorICAgICAgICBzZWxmLmJ1aWxkX2xpYiA9IE5vbmUKKyAgICAgICAgc2VsZi5wbGF0X25hbWUgPSBOb25lCisgICAgICAgIHNlbGYuYnVpbGRfdGVtcCA9IE5vbmUKKyAgICAgICAgc2VsZi5pbnBsYWNlID0gRmFsc2UKKyAgICAgICAgc2VsZi5wYWNrYWdlID0gTm9uZQorCisgICAgICAgIHNlbGYuaW5jbHVkZV9kaXJzID0gTm9uZQorICAgICAgICBzZWxmLmRlZmluZSA9IE5vbmUKKyAgICAgICAgc2VsZi51bmRlZiA9IE5vbmUKKyAgICAgICAgc2VsZi5saWJyYXJpZXMgPSBOb25lCisgICAgICAgIHNlbGYubGlicmFyeV9kaXJzID0gTm9uZQorICAgICAgICBzZWxmLnJwYXRoID0gTm9uZQorICAgICAgICBzZWxmLmxpbmtfb2JqZWN0cyA9IE5vbmUKKyAgICAgICAgc2VsZi5kZWJ1ZyA9IE5vbmUKKyAgICAgICAgc2VsZi5mb3JjZSA9IE5vbmUKKyAgICAgICAgc2VsZi5jb21waWxlciA9IE5vbmUKKyAgICAgICAgc2VsZi5zd2lnID0gTm9uZQorICAgICAgICBzZWxmLnN3aWdfb3B0cyA9IE5vbmUKKyAgICAgICAgc2VsZi51c2VyID0gTm9uZQorCisgICAgZGVmIGZpbmFsaXplX29wdGlvbnMoc2VsZik6CisgICAgICAgIHNlbGYuc2V0X3VuZGVmaW5lZF9vcHRpb25zKCdidWlsZCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdidWlsZF9saWInLCAnYnVpbGRfdGVtcCcsICdjb21waWxlcicsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZWJ1ZycsICdmb3JjZScsICdwbGF0X25hbWUnKQorCisgICAgICAgIGlmIHNlbGYucGFja2FnZSBpcyBOb25lOgorICAgICAgICAgICAgc2VsZi5wYWNrYWdlID0gc2VsZi5kaXN0cmlidXRpb24uZXh0X3BhY2thZ2UKKworICAgICAgICAjIEVuc3VyZSB0aGF0IHRoZSBsaXN0IG9mIGV4dGVuc2lvbnMgaXMgdmFsaWQsIGkuZS4gaXQgaXMgYSBsaXN0IG9mCisgICAgICAgICMgRXh0ZW5zaW9uIG9iamVjdHMuCisgICAgICAgIHNlbGYuZXh0ZW5zaW9ucyA9IHNlbGYuZGlzdHJpYnV0aW9uLmV4dF9tb2R1bGVzCisgICAgICAgIGlmIHNlbGYuZXh0ZW5zaW9uczoKKyAgICAgICAgICAgIGlmIG5vdCBpc2luc3RhbmNlKHNlbGYuZXh0ZW5zaW9ucywgKGxpc3QsIHR1cGxlKSk6CisgICAgICAgICAgICAgICAgdHlwZV9uYW1lID0gKHNlbGYuZXh0ZW5zaW9ucyBpcyBOb25lIGFuZCAnTm9uZScKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBvciB0eXBlKHNlbGYuZXh0ZW5zaW9ucykuX19uYW1lX18pCisgICAgICAgICAgICAgICAgcmFpc2UgUGFja2FnaW5nU2V0dXBFcnJvcigKKyAgICAgICAgICAgICAgICAgICAgIidleHRfbW9kdWxlcycgbXVzdCBiZSBhIHNlcXVlbmNlIG9mIEV4dGVuc2lvbiBpbnN0YW5jZXMsIgorICAgICAgICAgICAgICAgICAgICAiIG5vdCAlcyIgJSAodHlwZV9uYW1lLCkpCisgICAgICAgICAgICBmb3IgaSwgZXh0IGluIGVudW1lcmF0ZShzZWxmLmV4dGVuc2lvbnMpOgorICAgICAgICAgICAgICAgIGlmIGlzaW5zdGFuY2UoZXh0LCBFeHRlbnNpb24pOgorICAgICAgICAgICAgICAgICAgICBjb250aW51ZSAgICAgICAgICAgICAgICAjIE9LISAoYXNzdW1lIHR5cGUtY2hlY2tpbmcgZG9uZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIGJ5IEV4dGVuc2lvbiBjb25zdHJ1Y3RvcikKKyAgICAgICAgICAgICAgICB0eXBlX25hbWUgPSAoZXh0IGlzIE5vbmUgYW5kICdOb25lJyBvciB0eXBlKGV4dCkuX19uYW1lX18pCisgICAgICAgICAgICAgICAgcmFpc2UgUGFja2FnaW5nU2V0dXBFcnJvcigKKyAgICAgICAgICAgICAgICAgICAgIidleHRfbW9kdWxlcycgaXRlbSAlZCBtdXN0IGJlIGFuIEV4dGVuc2lvbiBpbnN0YW5jZSwiCisgICAgICAgICAgICAgICAgICAgICIgbm90ICVzIiAlIChpLCB0eXBlX25hbWUpKQorCisgICAgICAgICMgTWFrZSBzdXJlIFB5dGhvbidzIGluY2x1ZGUgZGlyZWN0b3JpZXMgKGZvciBQeXRob24uaCwgcHljb25maWcuaCwKKyAgICAgICAgIyBldGMuKSBhcmUgaW4gdGhlIGluY2x1ZGUgc2VhcmNoIHBhdGguCisgICAgICAgIHB5X2luY2x1ZGUgPSBzeXNjb25maWcuZ2V0X3BhdGgoJ2luY2x1ZGUnKQorICAgICAgICBwbGF0X3B5X2luY2x1ZGUgPSBzeXNjb25maWcuZ2V0X3BhdGgoJ3BsYXRpbmNsdWRlJykKKyAgICAgICAgaWYgc2VsZi5pbmNsdWRlX2RpcnMgaXMgTm9uZToKKyAgICAgICAgICAgIHNlbGYuaW5jbHVkZV9kaXJzID0gc2VsZi5kaXN0cmlidXRpb24uaW5jbHVkZV9kaXJzIG9yIFtdCisgICAgICAgIGlmIGlzaW5zdGFuY2Uoc2VsZi5pbmNsdWRlX2RpcnMsIHN0cik6CisgICAgICAgICAgICBzZWxmLmluY2x1ZGVfZGlycyA9IHNlbGYuaW5jbHVkZV9kaXJzLnNwbGl0KG9zLnBhdGhzZXApCisKKyAgICAgICAgIyBQdXQgdGhlIFB5dGhvbiAic3lzdGVtIiBpbmNsdWRlIGRpciBhdCB0aGUgZW5kLCBzbyB0aGF0CisgICAgICAgICMgYW55IGxvY2FsIGluY2x1ZGUgZGlycyB0YWtlIHByZWNlZGVuY2UuCisgICAgICAgIHNlbGYuaW5jbHVkZV9kaXJzLmFwcGVuZChweV9pbmNsdWRlKQorICAgICAgICBpZiBwbGF0X3B5X2luY2x1ZGUgIT0gcHlfaW5jbHVkZToKKyAgICAgICAgICAgIHNlbGYuaW5jbHVkZV9kaXJzLmFwcGVuZChwbGF0X3B5X2luY2x1ZGUpCisKKyAgICAgICAgc2VsZi5lbnN1cmVfc3RyaW5nX2xpc3QoJ2xpYnJhcmllcycpCisKKyAgICAgICAgIyBMaWZlIGlzIGVhc2llciBpZiB3ZSdyZSBub3QgZm9yZXZlciBjaGVja2luZyBmb3IgTm9uZSwgc28KKyAgICAgICAgIyBzaW1wbGlmeSB0aGVzZSBvcHRpb25zIHRvIGVtcHR5IGxpc3RzIGlmIHVuc2V0CisgICAgICAgIGlmIHNlbGYubGlicmFyaWVzIGlzIE5vbmU6CisgICAgICAgICAgICBzZWxmLmxpYnJhcmllcyA9IFtdCisgICAgICAgIGlmIHNlbGYubGlicmFyeV9kaXJzIGlzIE5vbmU6CisgICAgICAgICAgICBzZWxmLmxpYnJhcnlfZGlycyA9IFtdCisgICAgICAgIGVsaWYgaXNpbnN0YW5jZShzZWxmLmxpYnJhcnlfZGlycywgc3RyKToKKyAgICAgICAgICAgIHNlbGYubGlicmFyeV9kaXJzID0gc2VsZi5saWJyYXJ5X2RpcnMuc3BsaXQob3MucGF0aHNlcCkKKworICAgICAgICBpZiBzZWxmLnJwYXRoIGlzIE5vbmU6CisgICAgICAgICAgICBzZWxmLnJwYXRoID0gW10KKyAgICAgICAgZWxpZiBpc2luc3RhbmNlKHNlbGYucnBhdGgsIHN0cik6CisgICAgICAgICAgICBzZWxmLnJwYXRoID0gc2VsZi5ycGF0aC5zcGxpdChvcy5wYXRoc2VwKQorCisgICAgICAgICMgZm9yIGV4dGVuc2lvbnMgdW5kZXIgd2luZG93cyB1c2UgZGlmZmVyZW50IGRpcmVjdG9yaWVzCisgICAgICAgICMgZm9yIFJlbGVhc2UgYW5kIERlYnVnIGJ1aWxkcy4KKyAgICAgICAgIyBhbHNvIFB5dGhvbidzIGxpYnJhcnkgZGlyZWN0b3J5IG11c3QgYmUgYXBwZW5kZWQgdG8gbGlicmFyeV9kaXJzCisgICAgICAgIGlmIG9zLm5hbWUgPT0gJ250JzoKKyAgICAgICAgICAgICMgdGhlICdsaWJzJyBkaXJlY3RvcnkgaXMgZm9yIGJpbmFyeSBpbnN0YWxscyAtIHdlIGFzc3VtZSB0aGF0CisgICAgICAgICAgICAjIG11c3QgYmUgdGhlICpuYXRpdmUqIHBsYXRmb3JtLiAgQnV0IHdlIGRvbid0IHJlYWxseSBzdXBwb3J0CisgICAgICAgICAgICAjIGNyb3NzLWNvbXBpbGluZyB2aWEgYSBiaW5hcnkgaW5zdGFsbCBhbnl3YXksIHNvIHdlIGxldCBpdCBnby4KKyAgICAgICAgICAgIHNlbGYubGlicmFyeV9kaXJzLmFwcGVuZChvcy5wYXRoLmpvaW4oc3lzLmV4ZWNfcHJlZml4LCAnbGlicycpKQorICAgICAgICAgICAgaWYgc2VsZi5kZWJ1ZzoKKyAgICAgICAgICAgICAgICBzZWxmLmJ1aWxkX3RlbXAgPSBvcy5wYXRoLmpvaW4oc2VsZi5idWlsZF90ZW1wLCAiRGVidWciKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBzZWxmLmJ1aWxkX3RlbXAgPSBvcy5wYXRoLmpvaW4oc2VsZi5idWlsZF90ZW1wLCAiUmVsZWFzZSIpCisKKyAgICAgICAgICAgICMgQXBwZW5kIHRoZSBzb3VyY2UgZGlzdHJpYnV0aW9uIGluY2x1ZGUgYW5kIGxpYnJhcnkgZGlyZWN0b3JpZXMsCisgICAgICAgICAgICAjIHRoaXMgYWxsb3dzIGRpc3R1dGlscyBvbiB3aW5kb3dzIHRvIHdvcmsgaW4gdGhlIHNvdXJjZSB0cmVlCisgICAgICAgICAgICBzZWxmLmluY2x1ZGVfZGlycy5hcHBlbmQob3MucGF0aC5qb2luKHN5cy5leGVjX3ByZWZpeCwgJ1BDJykpCisgICAgICAgICAgICBpZiBNU1ZDX1ZFUlNJT04gPT0gOToKKyAgICAgICAgICAgICAgICAjIFVzZSB0aGUgLmxpYiBmaWxlcyBmb3IgdGhlIGNvcnJlY3QgYXJjaGl0ZWN0dXJlCisgICAgICAgICAgICAgICAgaWYgc2VsZi5wbGF0X25hbWUgPT0gJ3dpbjMyJzoKKyAgICAgICAgICAgICAgICAgICAgc3VmZml4ID0gJycKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICAjIHdpbi1hbWQ2NCBvciB3aW4taWE2NAorICAgICAgICAgICAgICAgICAgICBzdWZmaXggPSBzZWxmLnBsYXRfbmFtZVs0Ol0KKyAgICAgICAgICAgICAgICBuZXdfbGliID0gb3MucGF0aC5qb2luKHN5cy5leGVjX3ByZWZpeCwgJ1BDYnVpbGQnKQorICAgICAgICAgICAgICAgIGlmIHN1ZmZpeDoKKyAgICAgICAgICAgICAgICAgICAgbmV3X2xpYiA9IG9zLnBhdGguam9pbihuZXdfbGliLCBzdWZmaXgpCisgICAgICAgICAgICAgICAgc2VsZi5saWJyYXJ5X2RpcnMuYXBwZW5kKG5ld19saWIpCisKKyAgICAgICAgICAgIGVsaWYgTVNWQ19WRVJTSU9OID09IDg6CisgICAgICAgICAgICAgICAgc2VsZi5saWJyYXJ5X2RpcnMuYXBwZW5kKG9zLnBhdGguam9pbihzeXMuZXhlY19wcmVmaXgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQQycsICdWUzguMCcpKQorICAgICAgICAgICAgZWxpZiBNU1ZDX1ZFUlNJT04gPT0gNzoKKyAgICAgICAgICAgICAgICBzZWxmLmxpYnJhcnlfZGlycy5hcHBlbmQob3MucGF0aC5qb2luKHN5cy5leGVjX3ByZWZpeCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1BDJywgJ1ZTNy4xJykpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHNlbGYubGlicmFyeV9kaXJzLmFwcGVuZChvcy5wYXRoLmpvaW4oc3lzLmV4ZWNfcHJlZml4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUEMnLCAnVkM2JykpCisKKyAgICAgICAgIyBPUy8yIChFTVgpIGRvZXNuJ3Qgc3VwcG9ydCBEZWJ1ZyB2cyBSZWxlYXNlIGJ1aWxkcywgYnV0IGhhcyB0aGUKKyAgICAgICAgIyBpbXBvcnQgbGlicmFyaWVzIGluIGl0cyAiQ29uZmlnIiBzdWJkaXJlY3RvcnkKKyAgICAgICAgaWYgb3MubmFtZSA9PSAnb3MyJzoKKyAgICAgICAgICAgIHNlbGYubGlicmFyeV9kaXJzLmFwcGVuZChvcy5wYXRoLmpvaW4oc3lzLmV4ZWNfcHJlZml4LCAnQ29uZmlnJykpCisKKyAgICAgICAgIyBmb3IgZXh0ZW5zaW9ucyB1bmRlciBDeWd3aW4gYW5kIEF0aGVPUyBQeXRob24ncyBsaWJyYXJ5IGRpcmVjdG9yeSBtdXN0IGJlCisgICAgICAgICMgYXBwZW5kZWQgdG8gbGlicmFyeV9kaXJzCisgICAgICAgIGlmIHN5cy5wbGF0Zm9ybVs6Nl0gPT0gJ2N5Z3dpbicgb3Igc3lzLnBsYXRmb3JtWzo2XSA9PSAnYXRoZW9zJzoKKyAgICAgICAgICAgIGlmIHN5cy5leGVjdXRhYmxlLnN0YXJ0c3dpdGgob3MucGF0aC5qb2luKHN5cy5leGVjX3ByZWZpeCwgImJpbiIpKToKKyAgICAgICAgICAgICAgICAjIGJ1aWxkaW5nIHRoaXJkIHBhcnR5IGV4dGVuc2lvbnMKKyAgICAgICAgICAgICAgICBzZWxmLmxpYnJhcnlfZGlycy5hcHBlbmQob3MucGF0aC5qb2luKHN5cy5wcmVmaXgsICJsaWIiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJweXRob24iICsgc3lzY29uZmlnLmdldF9weXRob25fdmVyc2lvbigpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvbmZpZyIpKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAjIGJ1aWxkaW5nIHB5dGhvbiBzdGFuZGFyZCBleHRlbnNpb25zCisgICAgICAgICAgICAgICAgc2VsZi5saWJyYXJ5X2RpcnMuYXBwZW5kKG9zLmN1cmRpcikKKworICAgICAgICAjIGZvciBleHRlbnNpb25zIHVuZGVyIExpbnV4IG9yIFNvbGFyaXMgd2l0aCBhIHNoYXJlZCBQeXRob24gbGlicmFyeSwKKyAgICAgICAgIyBQeXRob24ncyBsaWJyYXJ5IGRpcmVjdG9yeSBtdXN0IGJlIGFwcGVuZGVkIHRvIGxpYnJhcnlfZGlycworICAgICAgICBzeXNjb25maWcuZ2V0X2NvbmZpZ192YXIoJ1B5X0VOQUJMRV9TSEFSRUQnKQorICAgICAgICBpZiAoc3lzLnBsYXRmb3JtLnN0YXJ0c3dpdGgoKCdsaW51eCcsICdnbnUnLCAnc3Vub3MnKSkKKyAgICAgICAgICAgIGFuZCBzeXNjb25maWcuZ2V0X2NvbmZpZ192YXIoJ1B5X0VOQUJMRV9TSEFSRUQnKSk6CisgICAgICAgICAgICBpZiBzeXMuZXhlY3V0YWJsZS5zdGFydHN3aXRoKG9zLnBhdGguam9pbihzeXMuZXhlY19wcmVmaXgsICJiaW4iKSk6CisgICAgICAgICAgICAgICAgIyBidWlsZGluZyB0aGlyZCBwYXJ0eSBleHRlbnNpb25zCisgICAgICAgICAgICAgICAgc2VsZi5saWJyYXJ5X2RpcnMuYXBwZW5kKHN5c2NvbmZpZy5nZXRfY29uZmlnX3ZhcignTElCRElSJykpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICMgYnVpbGRpbmcgcHl0aG9uIHN0YW5kYXJkIGV4dGVuc2lvbnMKKyAgICAgICAgICAgICAgICBzZWxmLmxpYnJhcnlfZGlycy5hcHBlbmQob3MuY3VyZGlyKQorCisgICAgICAgICMgVGhlIGFyZ3VtZW50IHBhcnNpbmcgd2lsbCByZXN1bHQgaW4gc2VsZi5kZWZpbmUgYmVpbmcgYSBzdHJpbmcsIGJ1dAorICAgICAgICAjIGl0IGhhcyB0byBiZSBhIGxpc3Qgb2YgMi10dXBsZXMuICBBbGwgdGhlIHByZXByb2Nlc3NvciBzeW1ib2xzCisgICAgICAgICMgc3BlY2lmaWVkIGJ5IHRoZSAnZGVmaW5lJyBvcHRpb24gd2lsbCBiZSBzZXQgdG8gJzEnLiAgTXVsdGlwbGUKKyAgICAgICAgIyBzeW1ib2xzIGNhbiBiZSBzZXBhcmF0ZWQgd2l0aCBjb21tYXMuCisKKyAgICAgICAgaWYgc2VsZi5kZWZpbmU6CisgICAgICAgICAgICBkZWZpbmVzID0gc2VsZi5kZWZpbmUuc3BsaXQoJywnKQorICAgICAgICAgICAgc2VsZi5kZWZpbmUgPSBbKHN5bWJvbCwgJzEnKSBmb3Igc3ltYm9sIGluIGRlZmluZXNdCisKKyAgICAgICAgIyBUaGUgb3B0aW9uIGZvciBtYWNyb3MgdG8gdW5kZWZpbmUgaXMgYWxzbyBhIHN0cmluZyBmcm9tIHRoZQorICAgICAgICAjIG9wdGlvbiBwYXJzaW5nLCBidXQgaGFzIHRvIGJlIGEgbGlzdC4gIE11bHRpcGxlIHN5bWJvbHMgY2FuIGFsc28KKyAgICAgICAgIyBiZSBzZXBhcmF0ZWQgd2l0aCBjb21tYXMgaGVyZS4KKyAgICAgICAgaWYgc2VsZi51bmRlZjoKKyAgICAgICAgICAgIHNlbGYudW5kZWYgPSBzZWxmLnVuZGVmLnNwbGl0KCcsJykKKworICAgICAgICBpZiBzZWxmLnN3aWdfb3B0cyBpcyBOb25lOgorICAgICAgICAgICAgc2VsZi5zd2lnX29wdHMgPSBbXQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgc2VsZi5zd2lnX29wdHMgPSBzZWxmLnN3aWdfb3B0cy5zcGxpdCgnICcpCisKKyAgICAgICAgIyBGaW5hbGx5IGFkZCB0aGUgdXNlciBpbmNsdWRlIGFuZCBsaWJyYXJ5IGRpcmVjdG9yaWVzIGlmIHJlcXVlc3RlZAorICAgICAgICBpZiBzZWxmLnVzZXI6CisgICAgICAgICAgICB1c2VyX2luY2x1ZGUgPSBvcy5wYXRoLmpvaW4oc2l0ZS5VU0VSX0JBU0UsICJpbmNsdWRlIikKKyAgICAgICAgICAgIHVzZXJfbGliID0gb3MucGF0aC5qb2luKHNpdGUuVVNFUl9CQVNFLCAibGliIikKKyAgICAgICAgICAgIGlmIG9zLnBhdGguaXNkaXIodXNlcl9pbmNsdWRlKToKKyAgICAgICAgICAgICAgICBzZWxmLmluY2x1ZGVfZGlycy5hcHBlbmQodXNlcl9pbmNsdWRlKQorICAgICAgICAgICAgaWYgb3MucGF0aC5pc2Rpcih1c2VyX2xpYik6CisgICAgICAgICAgICAgICAgc2VsZi5saWJyYXJ5X2RpcnMuYXBwZW5kKHVzZXJfbGliKQorICAgICAgICAgICAgICAgIHNlbGYucnBhdGguYXBwZW5kKHVzZXJfbGliKQorCisgICAgZGVmIHJ1bihzZWxmKToKKyAgICAgICAgZnJvbSBwYWNrYWdpbmcuY29tcGlsZXIgaW1wb3J0IG5ld19jb21waWxlcgorCisgICAgICAgIGlmIG5vdCBzZWxmLmV4dGVuc2lvbnM6CisgICAgICAgICAgICByZXR1cm4KKworICAgICAgICAjIElmIHdlIHdlcmUgYXNrZWQgdG8gYnVpbGQgYW55IEMvQysrIGxpYnJhcmllcywgbWFrZSBzdXJlIHRoYXQgdGhlCisgICAgICAgICMgZGlyZWN0b3J5IHdoZXJlIHdlIHB1dCB0aGVtIGlzIGluIHRoZSBsaWJyYXJ5IHNlYXJjaCBwYXRoIGZvcgorICAgICAgICAjIGxpbmtpbmcgZXh0ZW5zaW9ucy4KKyAgICAgICAgaWYgc2VsZi5kaXN0cmlidXRpb24uaGFzX2NfbGlicmFyaWVzKCk6CisgICAgICAgICAgICBidWlsZF9jbGliID0gc2VsZi5nZXRfZmluYWxpemVkX2NvbW1hbmQoJ2J1aWxkX2NsaWInKQorICAgICAgICAgICAgc2VsZi5saWJyYXJpZXMuZXh0ZW5kKGJ1aWxkX2NsaWIuZ2V0X2xpYnJhcnlfbmFtZXMoKSBvciBbXSkKKyAgICAgICAgICAgIHNlbGYubGlicmFyeV9kaXJzLmFwcGVuZChidWlsZF9jbGliLmJ1aWxkX2NsaWIpCisKKyAgICAgICAgIyBTZXR1cCB0aGUgQ0NvbXBpbGVyIG9iamVjdCB0aGF0IHdlJ2xsIHVzZSB0byBkbyBhbGwgdGhlCisgICAgICAgICMgY29tcGlsaW5nIGFuZCBsaW5raW5nCisgICAgICAgIHNlbGYuY29tcGlsZXJfb2JqID0gbmV3X2NvbXBpbGVyKGNvbXBpbGVyPXNlbGYuY29tcGlsZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRyeV9ydW49c2VsZi5kcnlfcnVuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JjZT1zZWxmLmZvcmNlKQorCisgICAgICAgIGN1c3RvbWl6ZV9jb21waWxlcihzZWxmLmNvbXBpbGVyX29iaikKKyAgICAgICAgIyBJZiB3ZSBhcmUgY3Jvc3MtY29tcGlsaW5nLCBpbml0IHRoZSBjb21waWxlciBub3cgKGlmIHdlIGFyZSBub3QKKyAgICAgICAgIyBjcm9zcy1jb21waWxpbmcsIGluaXQgd291bGQgbm90IGh1cnQsIGJ1dCBwZW9wbGUgbWF5IHJlbHkgb24KKyAgICAgICAgIyBsYXRlIGluaXRpYWxpemF0aW9uIG9mIGNvbXBpbGVyIGV2ZW4gaWYgdGhleSBzaG91bGRuJ3QuLi4pCisgICAgICAgIGlmIG9zLm5hbWUgPT0gJ250JyBhbmQgc2VsZi5wbGF0X25hbWUgIT0gZ2V0X3BsYXRmb3JtKCk6CisgICAgICAgICAgICBzZWxmLmNvbXBpbGVyX29iai5pbml0aWFsaXplKHNlbGYucGxhdF9uYW1lKQorCisgICAgICAgICMgQW5kIG1ha2Ugc3VyZSB0aGF0IGFueSBjb21waWxlL2xpbmstcmVsYXRlZCBvcHRpb25zICh3aGljaCBtaWdodAorICAgICAgICAjIGNvbWUgZnJvbSB0aGUgY29tbWFuZCBsaW5lIG9yIGZyb20gdGhlIHNldHVwIHNjcmlwdCkgYXJlIHNldCBpbgorICAgICAgICAjIHRoYXQgQ0NvbXBpbGVyIG9iamVjdCAtLSB0aGF0IHdheSwgdGhleSBhdXRvbWF0aWNhbGx5IGFwcGx5IHRvCisgICAgICAgICMgYWxsIGNvbXBpbGluZyBhbmQgbGlua2luZyBkb25lIGhlcmUuCisgICAgICAgIGlmIHNlbGYuaW5jbHVkZV9kaXJzIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgc2VsZi5jb21waWxlcl9vYmouc2V0X2luY2x1ZGVfZGlycyhzZWxmLmluY2x1ZGVfZGlycykKKyAgICAgICAgaWYgc2VsZi5kZWZpbmUgaXMgbm90IE5vbmU6CisgICAgICAgICAgICAjICdkZWZpbmUnIG9wdGlvbiBpcyBhIGxpc3Qgb2YgKG5hbWUsdmFsdWUpIHR1cGxlcworICAgICAgICAgICAgZm9yIG5hbWUsIHZhbHVlIGluIHNlbGYuZGVmaW5lOgorICAgICAgICAgICAgICAgIHNlbGYuY29tcGlsZXJfb2JqLmRlZmluZV9tYWNybyhuYW1lLCB2YWx1ZSkKKyAgICAgICAgaWYgc2VsZi51bmRlZiBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIGZvciBtYWNybyBpbiBzZWxmLnVuZGVmOgorICAgICAgICAgICAgICAgIHNlbGYuY29tcGlsZXJfb2JqLnVuZGVmaW5lX21hY3JvKG1hY3JvKQorICAgICAgICBpZiBzZWxmLmxpYnJhcmllcyBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIHNlbGYuY29tcGlsZXJfb2JqLnNldF9saWJyYXJpZXMoc2VsZi5saWJyYXJpZXMpCisgICAgICAgIGlmIHNlbGYubGlicmFyeV9kaXJzIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgc2VsZi5jb21waWxlcl9vYmouc2V0X2xpYnJhcnlfZGlycyhzZWxmLmxpYnJhcnlfZGlycykKKyAgICAgICAgaWYgc2VsZi5ycGF0aCBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIHNlbGYuY29tcGlsZXJfb2JqLnNldF9ydW50aW1lX2xpYnJhcnlfZGlycyhzZWxmLnJwYXRoKQorICAgICAgICBpZiBzZWxmLmxpbmtfb2JqZWN0cyBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIHNlbGYuY29tcGlsZXJfb2JqLnNldF9saW5rX29iamVjdHMoc2VsZi5saW5rX29iamVjdHMpCisKKyAgICAgICAgIyBOb3cgYWN0dWFsbHkgY29tcGlsZSBhbmQgbGluayBldmVyeXRoaW5nLgorICAgICAgICBzZWxmLmJ1aWxkX2V4dGVuc2lvbnMoKQorCisgICAgZGVmIGdldF9zb3VyY2VfZmlsZXMoc2VsZik6CisgICAgICAgIGZpbGVuYW1lcyA9IFtdCisKKyAgICAgICAgIyBXb3VsZG4ndCBpdCBiZSBuZWF0IGlmIHdlIGtuZXcgdGhlIG5hbWVzIG9mIGhlYWRlciBmaWxlcyB0b28uLi4KKyAgICAgICAgZm9yIGV4dCBpbiBzZWxmLmV4dGVuc2lvbnM6CisgICAgICAgICAgICBmaWxlbmFtZXMuZXh0ZW5kKGV4dC5zb3VyY2VzKQorCisgICAgICAgIHJldHVybiBmaWxlbmFtZXMKKworICAgIGRlZiBnZXRfb3V0cHV0cyhzZWxmKToKKyAgICAgICAgIyBBbmQgYnVpbGQgdGhlIGxpc3Qgb2Ygb3V0cHV0IChidWlsdCkgZmlsZW5hbWVzLiAgTm90ZSB0aGF0IHRoaXMKKyAgICAgICAgIyBpZ25vcmVzIHRoZSAnaW5wbGFjZScgZmxhZywgYW5kIGFzc3VtZXMgZXZlcnl0aGluZyBnb2VzIGluIHRoZQorICAgICAgICAjICJidWlsZCIgdHJlZS4KKyAgICAgICAgb3V0cHV0cyA9IFtdCisgICAgICAgIGZvciBleHQgaW4gc2VsZi5leHRlbnNpb25zOgorICAgICAgICAgICAgb3V0cHV0cy5hcHBlbmQoc2VsZi5nZXRfZXh0X2Z1bGxwYXRoKGV4dC5uYW1lKSkKKyAgICAgICAgcmV0dXJuIG91dHB1dHMKKworICAgIGRlZiBidWlsZF9leHRlbnNpb25zKHNlbGYpOgorICAgICAgICBmb3IgZXh0IGluIHNlbGYuZXh0ZW5zaW9uczoKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBzZWxmLmJ1aWxkX2V4dGVuc2lvbihleHQpCisgICAgICAgICAgICBleGNlcHQgKENDb21waWxlckVycm9yLCBQYWNrYWdpbmdFcnJvciwgQ29tcGlsZUVycm9yKSBhcyBlOgorICAgICAgICAgICAgICAgIGlmIG5vdCBleHQub3B0aW9uYWw6CisgICAgICAgICAgICAgICAgICAgIHJhaXNlCisgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJyVzOiBidWlsZGluZyBleHRlbnNpb24gJXIgZmFpbGVkOiAlcycsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5nZXRfY29tbWFuZF9uYW1lKCksIGV4dC5uYW1lLCBlKQorCisgICAgZGVmIGJ1aWxkX2V4dGVuc2lvbihzZWxmLCBleHQpOgorICAgICAgICBzb3VyY2VzID0gZXh0LnNvdXJjZXMKKyAgICAgICAgaWYgc291cmNlcyBpcyBOb25lIG9yIG5vdCBpc2luc3RhbmNlKHNvdXJjZXMsIChsaXN0LCB0dXBsZSkpOgorICAgICAgICAgICAgcmFpc2UgUGFja2FnaW5nU2V0dXBFcnJvcigoImluICdleHRfbW9kdWxlcycgb3B0aW9uIChleHRlbnNpb24gJyVzJyksICIgKworICAgICAgICAgICAgICAgICAgICInc291cmNlcycgbXVzdCBiZSBwcmVzZW50IGFuZCBtdXN0IGJlICIgKworICAgICAgICAgICAgICAgICAgICJhIGxpc3Qgb2Ygc291cmNlIGZpbGVuYW1lcyIpICUgZXh0Lm5hbWUpCisgICAgICAgIHNvdXJjZXMgPSBsaXN0KHNvdXJjZXMpCisKKyAgICAgICAgZXh0X3BhdGggPSBzZWxmLmdldF9leHRfZnVsbHBhdGgoZXh0Lm5hbWUpCisgICAgICAgIGRlcGVuZHMgPSBzb3VyY2VzICsgZXh0LmRlcGVuZHMKKyAgICAgICAgaWYgbm90IChzZWxmLmZvcmNlIG9yIG5ld2VyX2dyb3VwKGRlcGVuZHMsIGV4dF9wYXRoLCAnbmV3ZXInKSk6CisgICAgICAgICAgICBsb2dnZXIuZGVidWcoInNraXBwaW5nICclcycgZXh0ZW5zaW9uICh1cC10by1kYXRlKSIsIGV4dC5uYW1lKQorICAgICAgICAgICAgcmV0dXJuCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBsb2dnZXIuaW5mbygiYnVpbGRpbmcgJyVzJyBleHRlbnNpb24iLCBleHQubmFtZSkKKworICAgICAgICAjIEZpcnN0LCBzY2FuIHRoZSBzb3VyY2VzIGZvciBTV0lHIGRlZmluaXRpb24gZmlsZXMgKC5pKSwgcnVuCisgICAgICAgICMgU1dJRyBvbiAnZW0gdG8gY3JlYXRlIC5jIGZpbGVzLCBhbmQgbW9kaWZ5IHRoZSBzb3VyY2VzIGxpc3QKKyAgICAgICAgIyBhY2NvcmRpbmdseS4KKyAgICAgICAgc291cmNlcyA9IHNlbGYuc3dpZ19zb3VyY2VzKHNvdXJjZXMsIGV4dCkKKworICAgICAgICAjIE5leHQsIGNvbXBpbGUgdGhlIHNvdXJjZSBjb2RlIHRvIG9iamVjdCBmaWxlcy4KKworICAgICAgICAjIFhYWCBub3QgaG9ub3VyaW5nICdkZWZpbmVfbWFjcm9zJyBvciAndW5kZWZfbWFjcm9zJyAtLSB0aGUKKyAgICAgICAgIyBDQ29tcGlsZXIgQVBJIG5lZWRzIHRvIGNoYW5nZSB0byBhY2NvbW1vZGF0ZSB0aGlzLCBhbmQgSQorICAgICAgICAjIHdhbnQgdG8gZG8gb25lIHRoaW5nIGF0IGEgdGltZSEKKworICAgICAgICAjIFR3byBwb3NzaWJsZSBzb3VyY2VzIGZvciBleHRyYSBjb21waWxlciBhcmd1bWVudHM6CisgICAgICAgICMgICAtICdleHRyYV9jb21waWxlX2FyZ3MnIGluIEV4dGVuc2lvbiBvYmplY3QKKyAgICAgICAgIyAgIC0gQ0ZMQUdTIGVudmlyb25tZW50IHZhcmlhYmxlIChub3QgcGFydGljdWxhcmx5CisgICAgICAgICMgICAgIGVsZWdhbnQsIGJ1dCBwZW9wbGUgc2VlbSB0byBleHBlY3QgaXQgYW5kIEkKKyAgICAgICAgIyAgICAgZ3Vlc3MgaXQncyB1c2VmdWwpCisgICAgICAgICMgVGhlIGVudmlyb25tZW50IHZhcmlhYmxlIHNob3VsZCB0YWtlIHByZWNlZGVuY2UsIGFuZAorICAgICAgICAjIGFueSBzZW5zaWJsZSBjb21waWxlciB3aWxsIGdpdmUgcHJlY2VkZW5jZSB0byBsYXRlcgorICAgICAgICAjIGNvbW1hbmQtbGluZSBhcmdzLiAgSGVuY2Ugd2UgY29tYmluZSB0aGVtIGluIG9yZGVyOgorICAgICAgICBleHRyYV9hcmdzID0gZXh0LmV4dHJhX2NvbXBpbGVfYXJncyBvciBbXQorCisgICAgICAgIG1hY3JvcyA9IGV4dC5kZWZpbmVfbWFjcm9zWzpdCisgICAgICAgIGZvciB1bmRlZiBpbiBleHQudW5kZWZfbWFjcm9zOgorICAgICAgICAgICAgbWFjcm9zLmFwcGVuZCgodW5kZWYsKSkKKworICAgICAgICBvYmplY3RzID0gc2VsZi5jb21waWxlcl9vYmouY29tcGlsZShzb3VyY2VzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdXRwdXRfZGlyPXNlbGYuYnVpbGRfdGVtcCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFjcm9zPW1hY3JvcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5jbHVkZV9kaXJzPWV4dC5pbmNsdWRlX2RpcnMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlYnVnPXNlbGYuZGVidWcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4dHJhX3Bvc3RhcmdzPWV4dHJhX2FyZ3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlcGVuZHM9ZXh0LmRlcGVuZHMpCisKKyAgICAgICAgIyBYWFggLS0gdGhpcyBpcyBhIFZpbGUgSEFDSyEKKyAgICAgICAgIworICAgICAgICAjIFRoZSBzZXR1cC5weSBzY3JpcHQgZm9yIFB5dGhvbiBvbiBVbml4IG5lZWRzIHRvIGJlIGFibGUgdG8KKyAgICAgICAgIyBnZXQgdGhpcyBsaXN0IHNvIGl0IGNhbiBwZXJmb3JtIGFsbCB0aGUgY2xlYW4gdXAgbmVlZGVkIHRvCisgICAgICAgICMgYXZvaWQga2VlcGluZyBvYmplY3QgZmlsZXMgYXJvdW5kIHdoZW4gY2xlYW5pbmcgb3V0IGEgZmFpbGVkCisgICAgICAgICMgYnVpbGQgb2YgYW4gZXh0ZW5zaW9uIG1vZHVsZS4gIFNpbmNlIFBhY2thZ2luZyBkb2VzIG5vdAorICAgICAgICAjIHRyYWNrIGRlcGVuZGVuY2llcywgd2UgaGF2ZSB0byBnZXQgcmlkIG9mIGludGVybWVkaWF0ZXMgdG8KKyAgICAgICAgIyBlbnN1cmUgYWxsIHRoZSBpbnRlcm1lZGlhdGVzIHdpbGwgYmUgcHJvcGVybHkgcmUtYnVpbHQuCisgICAgICAgICMKKyAgICAgICAgc2VsZi5fYnVpbHRfb2JqZWN0cyA9IG9iamVjdHNbOl0KKworICAgICAgICAjIE5vdyBsaW5rIHRoZSBvYmplY3QgZmlsZXMgdG9nZXRoZXIgaW50byBhICJzaGFyZWQgb2JqZWN0IiAtLQorICAgICAgICAjIG9mIGNvdXJzZSwgZmlyc3Qgd2UgaGF2ZSB0byBmaWd1cmUgb3V0IGFsbCB0aGUgb3RoZXIgdGhpbmdzCisgICAgICAgICMgdGhhdCBnbyBpbnRvIHRoZSBtaXguCisgICAgICAgIGlmIGV4dC5leHRyYV9vYmplY3RzOgorICAgICAgICAgICAgb2JqZWN0cy5leHRlbmQoZXh0LmV4dHJhX29iamVjdHMpCisgICAgICAgIGV4dHJhX2FyZ3MgPSBleHQuZXh0cmFfbGlua19hcmdzIG9yIFtdCisKKyAgICAgICAgIyBEZXRlY3QgdGFyZ2V0IGxhbmd1YWdlLCBpZiBub3QgcHJvdmlkZWQKKyAgICAgICAgbGFuZ3VhZ2UgPSBleHQubGFuZ3VhZ2Ugb3Igc2VsZi5jb21waWxlcl9vYmouZGV0ZWN0X2xhbmd1YWdlKHNvdXJjZXMpCisKKyAgICAgICAgc2VsZi5jb21waWxlcl9vYmoubGlua19zaGFyZWRfb2JqZWN0KAorICAgICAgICAgICAgb2JqZWN0cywgZXh0X3BhdGgsCisgICAgICAgICAgICBsaWJyYXJpZXM9c2VsZi5nZXRfbGlicmFyaWVzKGV4dCksCisgICAgICAgICAgICBsaWJyYXJ5X2RpcnM9ZXh0LmxpYnJhcnlfZGlycywKKyAgICAgICAgICAgIHJ1bnRpbWVfbGlicmFyeV9kaXJzPWV4dC5ydW50aW1lX2xpYnJhcnlfZGlycywKKyAgICAgICAgICAgIGV4dHJhX3Bvc3RhcmdzPWV4dHJhX2FyZ3MsCisgICAgICAgICAgICBleHBvcnRfc3ltYm9scz1zZWxmLmdldF9leHBvcnRfc3ltYm9scyhleHQpLAorICAgICAgICAgICAgZGVidWc9c2VsZi5kZWJ1ZywKKyAgICAgICAgICAgIGJ1aWxkX3RlbXA9c2VsZi5idWlsZF90ZW1wLAorICAgICAgICAgICAgdGFyZ2V0X2xhbmc9bGFuZ3VhZ2UpCisKKworICAgIGRlZiBzd2lnX3NvdXJjZXMoc2VsZiwgc291cmNlcywgZXh0ZW5zaW9uKToKKyAgICAgICAgIiIiV2FsayB0aGUgbGlzdCBvZiBzb3VyY2UgZmlsZXMgaW4gJ3NvdXJjZXMnLCBsb29raW5nIGZvciBTV0lHCisgICAgICAgIGludGVyZmFjZSAoLmkpIGZpbGVzLiAgUnVuIFNXSUcgb24gYWxsIHRoYXQgYXJlIGZvdW5kLCBhbmQKKyAgICAgICAgcmV0dXJuIGEgbW9kaWZpZWQgJ3NvdXJjZXMnIGxpc3Qgd2l0aCBTV0lHIHNvdXJjZSBmaWxlcyByZXBsYWNlZAorICAgICAgICBieSB0aGUgZ2VuZXJhdGVkIEMgKG9yIEMrKykgZmlsZXMuCisgICAgICAgICIiIgorICAgICAgICBuZXdfc291cmNlcyA9IFtdCisgICAgICAgIHN3aWdfc291cmNlcyA9IFtdCisgICAgICAgIHN3aWdfdGFyZ2V0cyA9IHt9CisKKyAgICAgICAgIyBYWFggdGhpcyBkcm9wcyBnZW5lcmF0ZWQgQy9DKysgZmlsZXMgaW50byB0aGUgc291cmNlIHRyZWUsIHdoaWNoCisgICAgICAgICMgaXMgZmluZSBmb3IgZGV2ZWxvcGVycyB3aG8gd2FudCB0byBkaXN0cmlidXRlIHRoZSBnZW5lcmF0ZWQKKyAgICAgICAgIyBzb3VyY2UgLS0gYnV0IHRoZXJlIHNob3VsZCBiZSBhbiBvcHRpb24gdG8gcHV0IFNXSUcgb3V0cHV0IGluCisgICAgICAgICMgdGhlIHRlbXAgZGlyLgorCisgICAgICAgIGlmICgnLWMrKycgaW4gc2VsZi5zd2lnX29wdHMgb3IgJy1jKysnIGluIGV4dGVuc2lvbi5zd2lnX29wdHMpOgorICAgICAgICAgICAgdGFyZ2V0X2V4dCA9ICcuY3BwJworICAgICAgICBlbHNlOgorICAgICAgICAgICAgdGFyZ2V0X2V4dCA9ICcuYycKKworICAgICAgICBmb3Igc291cmNlIGluIHNvdXJjZXM6CisgICAgICAgICAgICBiYXNlLCBleHQgPSBvcy5wYXRoLnNwbGl0ZXh0KHNvdXJjZSkKKyAgICAgICAgICAgIGlmIGV4dCA9PSAiLmkiOiAgICAgICAgICAgICAjIFNXSUcgaW50ZXJmYWNlIGZpbGUKKyAgICAgICAgICAgICAgICBuZXdfc291cmNlcy5hcHBlbmQoYmFzZSArICdfd3JhcCcgKyB0YXJnZXRfZXh0KQorICAgICAgICAgICAgICAgIHN3aWdfc291cmNlcy5hcHBlbmQoc291cmNlKQorICAgICAgICAgICAgICAgIHN3aWdfdGFyZ2V0c1tzb3VyY2VdID0gbmV3X3NvdXJjZXNbLTFdCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIG5ld19zb3VyY2VzLmFwcGVuZChzb3VyY2UpCisKKyAgICAgICAgaWYgbm90IHN3aWdfc291cmNlczoKKyAgICAgICAgICAgIHJldHVybiBuZXdfc291cmNlcworCisgICAgICAgIHN3aWcgPSBzZWxmLnN3aWcgb3Igc2VsZi5maW5kX3N3aWcoKQorICAgICAgICBzd2lnX2NtZCA9IFtzd2lnLCAiLXB5dGhvbiJdCisgICAgICAgIHN3aWdfY21kLmV4dGVuZChzZWxmLnN3aWdfb3B0cykKKworICAgICAgICAjIERvIG5vdCBvdmVycmlkZSBjb21tYW5kbGluZSBhcmd1bWVudHMKKyAgICAgICAgaWYgbm90IHNlbGYuc3dpZ19vcHRzOgorICAgICAgICAgICAgZm9yIG8gaW4gZXh0ZW5zaW9uLnN3aWdfb3B0czoKKyAgICAgICAgICAgICAgICBzd2lnX2NtZC5hcHBlbmQobykKKworICAgICAgICBmb3Igc291cmNlIGluIHN3aWdfc291cmNlczoKKyAgICAgICAgICAgIHRhcmdldCA9IHN3aWdfdGFyZ2V0c1tzb3VyY2VdCisgICAgICAgICAgICBsb2dnZXIuaW5mbygic3dpZ2dpbmcgJXMgdG8gJXMiLCBzb3VyY2UsIHRhcmdldCkKKyAgICAgICAgICAgIHNlbGYuc3Bhd24oc3dpZ19jbWQgKyBbIi1vIiwgdGFyZ2V0LCBzb3VyY2VdKQorCisgICAgICAgIHJldHVybiBuZXdfc291cmNlcworCisgICAgZGVmIGZpbmRfc3dpZyhzZWxmKToKKyAgICAgICAgIiIiUmV0dXJuIHRoZSBuYW1lIG9mIHRoZSBTV0lHIGV4ZWN1dGFibGUuICBPbiBVbml4LCB0aGlzIGlzCisgICAgICAgIGp1c3QgInN3aWciIC0tIGl0IHNob3VsZCBiZSBpbiB0aGUgUEFUSC4gIFRyaWVzIGEgYml0IGhhcmRlciBvbgorICAgICAgICBXaW5kb3dzLgorICAgICAgICAiIiIKKworICAgICAgICBpZiBvcy5uYW1lID09ICJwb3NpeCI6CisgICAgICAgICAgICByZXR1cm4gInN3aWciCisgICAgICAgIGVsaWYgb3MubmFtZSA9PSAibnQiOgorCisgICAgICAgICAgICAjIExvb2sgZm9yIFNXSUcgaW4gaXRzIHN0YW5kYXJkIGluc3RhbGxhdGlvbiBkaXJlY3Rvcnkgb24KKyAgICAgICAgICAgICMgV2luZG93cyAob3Igc28gSSBwcmVzdW1lISkuICBJZiB3ZSBmaW5kIGl0IHRoZXJlLCBncmVhdDsKKyAgICAgICAgICAgICMgaWYgbm90LCBhY3QgbGlrZSBVbml4IGFuZCBhc3N1bWUgaXQncyBpbiB0aGUgUEFUSC4KKyAgICAgICAgICAgIGZvciB2ZXJzIGluICgiMS4zIiwgIjEuMiIsICIxLjEiKToKKyAgICAgICAgICAgICAgICBmbiA9IG9zLnBhdGguam9pbigiYzpcXHN3aWclcyIgJSB2ZXJzLCAic3dpZy5leGUiKQorICAgICAgICAgICAgICAgIGlmIG9zLnBhdGguaXNmaWxlKGZuKToKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZuCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHJldHVybiAic3dpZy5leGUiCisKKyAgICAgICAgZWxpZiBvcy5uYW1lID09ICJvczIiOgorICAgICAgICAgICAgIyBhc3N1bWUgc3dpZyBhdmFpbGFibGUgaW4gdGhlIFBBVEguCisgICAgICAgICAgICByZXR1cm4gInN3aWcuZXhlIgorCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByYWlzZSBQYWNrYWdpbmdQbGF0Zm9ybUVycm9yKCgiSSBkb24ndCBrbm93IGhvdyB0byBmaW5kIChtdWNoIGxlc3MgcnVuKSBTV0lHICIKKyAgICAgICAgICAgICAgICAgICAib24gcGxhdGZvcm0gJyVzJyIpICUgb3MubmFtZSkKKworICAgICMgLS0gTmFtZSBnZW5lcmF0b3JzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAgIyAoZXh0ZW5zaW9uIG5hbWVzLCBmaWxlbmFtZXMsIHdoYXRldmVyKQorICAgIGRlZiBnZXRfZXh0X2Z1bGxwYXRoKHNlbGYsIGV4dF9uYW1lKToKKyAgICAgICAgIiIiUmV0dXJucyB0aGUgcGF0aCBvZiB0aGUgZmlsZW5hbWUgZm9yIGEgZ2l2ZW4gZXh0ZW5zaW9uLgorCisgICAgICAgIFRoZSBmaWxlIGlzIGxvY2F0ZWQgaW4gYGJ1aWxkX2xpYmAgb3IgZGlyZWN0bHkgaW4gdGhlIHBhY2thZ2UKKyAgICAgICAgKGlucGxhY2Ugb3B0aW9uKS4KKyAgICAgICAgIiIiCisgICAgICAgIGZ1bGxuYW1lID0gc2VsZi5nZXRfZXh0X2Z1bGxuYW1lKGV4dF9uYW1lKQorICAgICAgICBtb2RwYXRoID0gZnVsbG5hbWUuc3BsaXQoJy4nKQorICAgICAgICBmaWxlbmFtZSA9IHNlbGYuZ2V0X2V4dF9maWxlbmFtZShtb2RwYXRoWy0xXSkKKworICAgICAgICBpZiBub3Qgc2VsZi5pbnBsYWNlOgorICAgICAgICAgICAgIyBubyBmdXJ0aGVyIHdvcmsgbmVlZGVkCisgICAgICAgICAgICAjIHJldHVybmluZyA6CisgICAgICAgICAgICAjICAgYnVpbGRfZGlyL3BhY2thZ2UvcGF0aC9maWxlbmFtZQorICAgICAgICAgICAgZmlsZW5hbWUgPSBvcy5wYXRoLmpvaW4oKm1vZHBhdGhbOi0xXStbZmlsZW5hbWVdKQorICAgICAgICAgICAgcmV0dXJuIG9zLnBhdGguam9pbihzZWxmLmJ1aWxkX2xpYiwgZmlsZW5hbWUpCisKKyAgICAgICAgIyB0aGUgaW5wbGFjZSBvcHRpb24gcmVxdWlyZXMgdG8gZmluZCB0aGUgcGFja2FnZSBkaXJlY3RvcnkKKyAgICAgICAgIyB1c2luZyB0aGUgYnVpbGRfcHkgY29tbWFuZCBmb3IgdGhhdAorICAgICAgICBwYWNrYWdlID0gJy4nLmpvaW4obW9kcGF0aFswOi0xXSkKKyAgICAgICAgYnVpbGRfcHkgPSBzZWxmLmdldF9maW5hbGl6ZWRfY29tbWFuZCgnYnVpbGRfcHknKQorICAgICAgICBwYWNrYWdlX2RpciA9IG9zLnBhdGguYWJzcGF0aChidWlsZF9weS5nZXRfcGFja2FnZV9kaXIocGFja2FnZSkpCisKKyAgICAgICAgIyByZXR1cm5pbmcKKyAgICAgICAgIyAgIHBhY2thZ2VfZGlyL2ZpbGVuYW1lCisgICAgICAgIHJldHVybiBvcy5wYXRoLmpvaW4ocGFja2FnZV9kaXIsIGZpbGVuYW1lKQorCisgICAgZGVmIGdldF9leHRfZnVsbG5hbWUoc2VsZiwgZXh0X25hbWUpOgorICAgICAgICAiIiJSZXR1cm5zIHRoZSBmdWxsbmFtZSBvZiBhIGdpdmVuIGV4dGVuc2lvbiBuYW1lLgorCisgICAgICAgIEFkZHMgdGhlIGBwYWNrYWdlLmAgcHJlZml4IiIiCisgICAgICAgIGlmIHNlbGYucGFja2FnZSBpcyBOb25lOgorICAgICAgICAgICAgcmV0dXJuIGV4dF9uYW1lCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByZXR1cm4gc2VsZi5wYWNrYWdlICsgJy4nICsgZXh0X25hbWUKKworICAgIGRlZiBnZXRfZXh0X2ZpbGVuYW1lKHNlbGYsIGV4dF9uYW1lKToKKyAgICAgICAgciIiIkNvbnZlcnQgdGhlIG5hbWUgb2YgYW4gZXh0ZW5zaW9uIChlZy4gImZvby5iYXIiKSBpbnRvIHRoZSBuYW1lCisgICAgICAgIG9mIHRoZSBmaWxlIGZyb20gd2hpY2ggaXQgd2lsbCBiZSBsb2FkZWQgKGVnLiAiZm9vL2Jhci5zbyIsIG9yCisgICAgICAgICJmb29cYmFyLnB5ZCIpLgorICAgICAgICAiIiIKKyAgICAgICAgZXh0X3BhdGggPSBleHRfbmFtZS5zcGxpdCgnLicpCisgICAgICAgICMgT1MvMiBoYXMgYW4gOCBjaGFyYWN0ZXIgbW9kdWxlIChleHRlbnNpb24pIGxpbWl0IDotKAorICAgICAgICBpZiBvcy5uYW1lID09ICJvczIiOgorICAgICAgICAgICAgZXh0X3BhdGhbbGVuKGV4dF9wYXRoKSAtIDFdID0gZXh0X3BhdGhbbGVuKGV4dF9wYXRoKSAtIDFdWzo4XQorICAgICAgICAjIGV4dGVuc2lvbnMgaW4gZGVidWdfbW9kZSBhcmUgbmFtZWQgJ21vZHVsZV9kLnB5ZCcgdW5kZXIgd2luZG93cworICAgICAgICBzb19leHQgPSBzeXNjb25maWcuZ2V0X2NvbmZpZ192YXIoJ1NPJykKKyAgICAgICAgaWYgb3MubmFtZSA9PSAnbnQnIGFuZCBzZWxmLmRlYnVnOgorICAgICAgICAgICAgcmV0dXJuIG9zLnBhdGguam9pbigqZXh0X3BhdGgpICsgJ19kJyArIHNvX2V4dAorICAgICAgICByZXR1cm4gb3MucGF0aC5qb2luKCpleHRfcGF0aCkgKyBzb19leHQKKworICAgIGRlZiBnZXRfZXhwb3J0X3N5bWJvbHMoc2VsZiwgZXh0KToKKyAgICAgICAgIiIiUmV0dXJuIHRoZSBsaXN0IG9mIHN5bWJvbHMgdGhhdCBhIHNoYXJlZCBleHRlbnNpb24gaGFzIHRvCisgICAgICAgIGV4cG9ydC4gIFRoaXMgZWl0aGVyIHVzZXMgJ2V4dC5leHBvcnRfc3ltYm9scycgb3IsIGlmIGl0J3Mgbm90CisgICAgICAgIHByb3ZpZGVkLCAiaW5pdCIgKyBtb2R1bGVfbmFtZS4gIE9ubHkgcmVsZXZhbnQgb24gV2luZG93cywgd2hlcmUKKyAgICAgICAgdGhlIC5weWQgZmlsZSAoRExMKSBtdXN0IGV4cG9ydCB0aGUgbW9kdWxlICJpbml0IiBmdW5jdGlvbi4KKyAgICAgICAgIiIiCisgICAgICAgIGluaXRmdW5jX25hbWUgPSAiUHlJbml0XyIgKyBleHQubmFtZS5zcGxpdCgnLicpWy0xXQorICAgICAgICBpZiBpbml0ZnVuY19uYW1lIG5vdCBpbiBleHQuZXhwb3J0X3N5bWJvbHM6CisgICAgICAgICAgICBleHQuZXhwb3J0X3N5bWJvbHMuYXBwZW5kKGluaXRmdW5jX25hbWUpCisgICAgICAgIHJldHVybiBleHQuZXhwb3J0X3N5bWJvbHMKKworICAgIGRlZiBnZXRfbGlicmFyaWVzKHNlbGYsIGV4dCk6CisgICAgICAgICIiIlJldHVybiB0aGUgbGlzdCBvZiBsaWJyYXJpZXMgdG8gbGluayBhZ2FpbnN0IHdoZW4gYnVpbGRpbmcgYQorICAgICAgICBzaGFyZWQgZXh0ZW5zaW9uLiAgT24gbW9zdCBwbGF0Zm9ybXMsIHRoaXMgaXMganVzdCAnZXh0LmxpYnJhcmllcyc7CisgICAgICAgIG9uIFdpbmRvd3MgYW5kIE9TLzIsIHdlIGFkZCB0aGUgUHl0aG9uIGxpYnJhcnkgKGVnLiBweXRob24yMC5kbGwpLgorICAgICAgICAiIiIKKyAgICAgICAgIyBUaGUgcHl0aG9uIGxpYnJhcnkgaXMgYWx3YXlzIG5lZWRlZCBvbiBXaW5kb3dzLiAgRm9yIE1TVkMsIHRoaXMKKyAgICAgICAgIyBpcyByZWR1bmRhbnQsIHNpbmNlIHRoZSBsaWJyYXJ5IGlzIG1lbnRpb25lZCBpbiBhIHByYWdtYSBpbgorICAgICAgICAjIHB5Y29uZmlnLmggdGhhdCBNU1ZDIGdyb2tzLiAgVGhlIG90aGVyIFdpbmRvd3MgY29tcGlsZXJzIGFsbCBzZWVtCisgICAgICAgICMgdG8gbmVlZCBpdCBtZW50aW9uZWQgZXhwbGljaXRseSwgdGhvdWdoLCBzbyB0aGF0J3Mgd2hhdCB3ZSBkby4KKyAgICAgICAgIyBBcHBlbmQgJ19kJyB0byB0aGUgcHl0aG9uIGltcG9ydCBsaWJyYXJ5IG9uIGRlYnVnIGJ1aWxkcy4KKyAgICAgICAgaWYgc3lzLnBsYXRmb3JtID09ICJ3aW4zMiI6CisgICAgICAgICAgICBmcm9tIHBhY2thZ2luZy5jb21waWxlci5tc3ZjY29tcGlsZXIgaW1wb3J0IE1TVkNDb21waWxlcgorICAgICAgICAgICAgaWYgbm90IGlzaW5zdGFuY2Uoc2VsZi5jb21waWxlcl9vYmosIE1TVkNDb21waWxlcik6CisgICAgICAgICAgICAgICAgdGVtcGxhdGUgPSAicHl0aG9uJWQlZCIKKyAgICAgICAgICAgICAgICBpZiBzZWxmLmRlYnVnOgorICAgICAgICAgICAgICAgICAgICB0ZW1wbGF0ZSA9IHRlbXBsYXRlICsgJ19kJworICAgICAgICAgICAgICAgIHB5dGhvbmxpYiA9IHRlbXBsYXRlICUgc3lzLnZlcnNpb25faW5mb1s6Ml0KKyAgICAgICAgICAgICAgICAjIGRvbid0IGV4dGVuZCBleHQubGlicmFyaWVzLCBpdCBtYXkgYmUgc2hhcmVkIHdpdGggb3RoZXIKKyAgICAgICAgICAgICAgICAjIGV4dGVuc2lvbnMsIGl0IGlzIGEgcmVmZXJlbmNlIHRvIHRoZSBvcmlnaW5hbCBsaXN0CisgICAgICAgICAgICAgICAgcmV0dXJuIGV4dC5saWJyYXJpZXMgKyBbcHl0aG9ubGliXQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICByZXR1cm4gZXh0LmxpYnJhcmllcworICAgICAgICBlbGlmIHN5cy5wbGF0Zm9ybSA9PSAib3MyZW14IjoKKyAgICAgICAgICAgICMgRU1YL0dDQyByZXF1aXJlcyB0aGUgcHl0aG9uIGxpYnJhcnkgZXhwbGljaXRseSwgYW5kIEkKKyAgICAgICAgICAgICMgYmVsaWV2ZSBWQUNQUCBkb2VzIGFzIHdlbGwgKHRob3VnaCBub3QgY29uZmlybWVkKSAtIEFJTSBBcHIwMQorICAgICAgICAgICAgdGVtcGxhdGUgPSAicHl0aG9uJWQlZCIKKyAgICAgICAgICAgICMgZGVidWcgdmVyc2lvbnMgb2YgdGhlIG1haW4gRExMIGFyZW4ndCBzdXBwb3J0ZWQsIGF0IGxlYXN0CisgICAgICAgICAgICAjIG5vdCBhdCB0aGlzIHRpbWUgLSBBSU0gQXByMDEKKyAgICAgICAgICAgICNpZiBzZWxmLmRlYnVnOgorICAgICAgICAgICAgIyAgICB0ZW1wbGF0ZSA9IHRlbXBsYXRlICsgJ19kJworICAgICAgICAgICAgcHl0aG9ubGliID0gdGVtcGxhdGUgJSBzeXMudmVyc2lvbl9pbmZvWzoyXQorICAgICAgICAgICAgIyBkb24ndCBleHRlbmQgZXh0LmxpYnJhcmllcywgaXQgbWF5IGJlIHNoYXJlZCB3aXRoIG90aGVyCisgICAgICAgICAgICAjIGV4dGVuc2lvbnMsIGl0IGlzIGEgcmVmZXJlbmNlIHRvIHRoZSBvcmlnaW5hbCBsaXN0CisgICAgICAgICAgICByZXR1cm4gZXh0LmxpYnJhcmllcyArIFtweXRob25saWJdCisgICAgICAgIGVsaWYgc3lzLnBsYXRmb3JtWzo2XSA9PSAiY3lnd2luIjoKKyAgICAgICAgICAgIHRlbXBsYXRlID0gInB5dGhvbiVkLiVkIgorICAgICAgICAgICAgcHl0aG9ubGliID0gdGVtcGxhdGUgJSBzeXMudmVyc2lvbl9pbmZvWzoyXQorICAgICAgICAgICAgIyBkb24ndCBleHRlbmQgZXh0LmxpYnJhcmllcywgaXQgbWF5IGJlIHNoYXJlZCB3aXRoIG90aGVyCisgICAgICAgICAgICAjIGV4dGVuc2lvbnMsIGl0IGlzIGEgcmVmZXJlbmNlIHRvIHRoZSBvcmlnaW5hbCBsaXN0CisgICAgICAgICAgICByZXR1cm4gZXh0LmxpYnJhcmllcyArIFtweXRob25saWJdCisgICAgICAgIGVsaWYgc3lzLnBsYXRmb3JtWzo2XSA9PSAiYXRoZW9zIjoKKyAgICAgICAgICAgIHRlbXBsYXRlID0gInB5dGhvbiVkLiVkIgorICAgICAgICAgICAgcHl0aG9ubGliID0gdGVtcGxhdGUgJSBzeXMudmVyc2lvbl9pbmZvWzoyXQorICAgICAgICAgICAgIyBHZXQgU0hMSUJTIGZyb20gTWFrZWZpbGUKKyAgICAgICAgICAgIGV4dHJhID0gW10KKyAgICAgICAgICAgIGZvciBsaWIgaW4gc3lzY29uZmlnLmdldF9jb25maWdfdmFyKCdTSExJQlMnKS5zcGxpdCgpOgorICAgICAgICAgICAgICAgIGlmIGxpYi5zdGFydHN3aXRoKCctbCcpOgorICAgICAgICAgICAgICAgICAgICBleHRyYS5hcHBlbmQobGliWzI6XSkKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICBleHRyYS5hcHBlbmQobGliKQorICAgICAgICAgICAgIyBkb24ndCBleHRlbmQgZXh0LmxpYnJhcmllcywgaXQgbWF5IGJlIHNoYXJlZCB3aXRoIG90aGVyCisgICAgICAgICAgICAjIGV4dGVuc2lvbnMsIGl0IGlzIGEgcmVmZXJlbmNlIHRvIHRoZSBvcmlnaW5hbCBsaXN0CisgICAgICAgICAgICByZXR1cm4gZXh0LmxpYnJhcmllcyArIFtweXRob25saWIsICJtIl0gKyBleHRyYQorCisgICAgICAgIGVsaWYgc3lzLnBsYXRmb3JtID09ICdkYXJ3aW4nOgorICAgICAgICAgICAgIyBEb24ndCB1c2UgdGhlIGRlZmF1bHQgY29kZSBiZWxvdworICAgICAgICAgICAgcmV0dXJuIGV4dC5saWJyYXJpZXMKKworICAgICAgICBlbHNlOgorICAgICAgICAgICAgaWYgc3lzY29uZmlnLmdldF9jb25maWdfdmFyKCdQeV9FTkFCTEVfU0hBUkVEJyk6CisgICAgICAgICAgICAgICAgdGVtcGxhdGUgPSAncHl0aG9uJWQuJWQnICsgc3lzLmFiaWZsYWdzCisgICAgICAgICAgICAgICAgcHl0aG9ubGliID0gdGVtcGxhdGUgJSBzeXMudmVyc2lvbl9pbmZvWzoyXQorICAgICAgICAgICAgICAgIHJldHVybiBleHQubGlicmFyaWVzICsgW3B5dGhvbmxpYl0KKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgcmV0dXJuIGV4dC5saWJyYXJpZXMKZGlmZiAtLWdpdCBhL0xpYi9wYWNrYWdpbmcvY29tbWFuZC9idWlsZF9weS5weSBiL0xpYi9wYWNrYWdpbmcvY29tbWFuZC9idWlsZF9weS5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMDYyMTQwCi0tLSAvZGV2L251bGwKKysrIGIvTGliL3BhY2thZ2luZy9jb21tYW5kL2J1aWxkX3B5LnB5CkBAIC0wLDAgKzEsMzkyIEBACisiIiJCdWlsZCBwdXJlIFB5dGhvbiBtb2R1bGVzIChqdXN0IGNvcHkgdG8gYnVpbGQgZGlyZWN0b3J5KS4iIiIKKworaW1wb3J0IG9zCitpbXBvcnQgaW1wCitmcm9tIGdsb2IgaW1wb3J0IGdsb2IKKworZnJvbSBwYWNrYWdpbmcgaW1wb3J0IGxvZ2dlcgorZnJvbSBwYWNrYWdpbmcuY29tbWFuZC5jbWQgaW1wb3J0IENvbW1hbmQKK2Zyb20gcGFja2FnaW5nLmVycm9ycyBpbXBvcnQgUGFja2FnaW5nT3B0aW9uRXJyb3IsIFBhY2thZ2luZ0ZpbGVFcnJvcgorZnJvbSBwYWNrYWdpbmcudXRpbCBpbXBvcnQgY29udmVydF9wYXRoCitmcm9tIHBhY2thZ2luZy5jb21wYXQgaW1wb3J0IE1peGluMnRvMworCisjIG1hcmtpbmcgcHVibGljIEFQSXMKK19fYWxsX18gPSBbJ2J1aWxkX3B5J10KKworCitjbGFzcyBidWlsZF9weShDb21tYW5kLCBNaXhpbjJ0bzMpOgorCisgICAgZGVzY3JpcHRpb24gPSAiYnVpbGQgcHVyZSBQeXRob24gbW9kdWxlcyAoY29weSB0byBidWlsZCBkaXJlY3RvcnkpIgorCisgICAgIyBUaGUgb3B0aW9ucyBmb3IgY29udHJvbGxpbmcgYnl0ZSBjb21waWxhdGlvbiBhcmUgdHdvIGluZGVwZW5kZW50IHNldHM7CisgICAgIyBtb3JlIGluZm8gaW4gaW5zdGFsbF9saWIgb3IgdGhlIHJlU1QgZG9jcworCisgICAgdXNlcl9vcHRpb25zID0gWworICAgICAgICAoJ2J1aWxkLWxpYj0nLCAnZCcsICJkaXJlY3RvcnkgdG8gYnVpbGQgKGNvcHkpIHRvIiksCisgICAgICAgICgnY29tcGlsZScsICdjJywgImNvbXBpbGUgLnB5IHRvIC5weWMiKSwKKyAgICAgICAgKCduby1jb21waWxlJywgTm9uZSwgImRvbid0IGNvbXBpbGUgLnB5IGZpbGVzIFtkZWZhdWx0XSIpLAorICAgICAgICAoJ29wdGltaXplPScsICdPJywKKyAgICAgICAgICJhbHNvIGNvbXBpbGUgd2l0aCBvcHRpbWl6YXRpb246IC1PMSBmb3IgXCJweXRob24gLU9cIiwgIgorICAgICAgICAgIi1PMiBmb3IgXCJweXRob24gLU9PXCIsIGFuZCAtTzAgdG8gZGlzYWJsZSBbZGVmYXVsdDogLU8wXSIpLAorICAgICAgICAoJ2ZvcmNlJywgJ2YnLCAiZm9yY2libHkgYnVpbGQgZXZlcnl0aGluZyAoaWdub3JlIGZpbGUgdGltZXN0YW1wcykiKSwKKyAgICAgICAgKCd1c2UtMnRvMycsIE5vbmUsCisgICAgICAgICAidXNlIDJ0bzMgdG8gbWFrZSBzb3VyY2UgcHl0aG9uIDMueCBjb21wYXRpYmxlIiksCisgICAgICAgICgnY29udmVydC0ydG8zLWRvY3Rlc3RzJywgTm9uZSwKKyAgICAgICAgICJ1c2UgMnRvMyB0byBjb252ZXJ0IGRvY3Rlc3RzIGluIHNlcGFyYXRlIHRleHQgZmlsZXMiKSwKKyAgICAgICAgKCd1c2UtMnRvMy1maXhlcnMnLCBOb25lLAorICAgICAgICAgImxpc3QgYWRkaXRpb25hbCBmaXhlcnMgb3B0ZWQgZm9yIGR1cmluZyAydG8zIGNvbnZlcnNpb24iKSwKKyAgICAgICAgXQorCisgICAgYm9vbGVhbl9vcHRpb25zID0gWydjb21waWxlJywgJ2ZvcmNlJ10KKworICAgIG5lZ2F0aXZlX29wdCA9IHsnbm8tY29tcGlsZSc6ICdjb21waWxlJ30KKworICAgIGRlZiBpbml0aWFsaXplX29wdGlvbnMoc2VsZik6CisgICAgICAgIHNlbGYuYnVpbGRfbGliID0gTm9uZQorICAgICAgICBzZWxmLnB5X21vZHVsZXMgPSBOb25lCisgICAgICAgIHNlbGYucGFja2FnZSA9IE5vbmUKKyAgICAgICAgc2VsZi5wYWNrYWdlX2RhdGEgPSBOb25lCisgICAgICAgIHNlbGYucGFja2FnZV9kaXIgPSBOb25lCisgICAgICAgIHNlbGYuY29tcGlsZSA9IEZhbHNlCisgICAgICAgIHNlbGYub3B0aW1pemUgPSAwCisgICAgICAgIHNlbGYuZm9yY2UgPSBOb25lCisgICAgICAgIHNlbGYuX3VwZGF0ZWRfZmlsZXMgPSBbXQorICAgICAgICBzZWxmLl9kb2N0ZXN0c18ydG8zID0gW10KKyAgICAgICAgc2VsZi51c2VfMnRvMyA9IEZhbHNlCisgICAgICAgIHNlbGYuY29udmVydF8ydG8zX2RvY3Rlc3RzID0gTm9uZQorICAgICAgICBzZWxmLnVzZV8ydG8zX2ZpeGVycyA9IE5vbmUKKworICAgIGRlZiBmaW5hbGl6ZV9vcHRpb25zKHNlbGYpOgorICAgICAgICBzZWxmLnNldF91bmRlZmluZWRfb3B0aW9ucygnYnVpbGQnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndXNlXzJ0bzMnLCAndXNlXzJ0bzNfZml4ZXJzJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NvbnZlcnRfMnRvM19kb2N0ZXN0cycsICdidWlsZF9saWInLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZm9yY2UnKQorCisgICAgICAgICMgR2V0IHRoZSBkaXN0cmlidXRpb24gb3B0aW9ucyB0aGF0IGFyZSBhbGlhc2VzIGZvciBidWlsZF9weQorICAgICAgICAjIG9wdGlvbnMgLS0gbGlzdCBvZiBwYWNrYWdlcyBhbmQgbGlzdCBvZiBtb2R1bGVzLgorICAgICAgICBzZWxmLnBhY2thZ2VzID0gc2VsZi5kaXN0cmlidXRpb24ucGFja2FnZXMKKyAgICAgICAgc2VsZi5weV9tb2R1bGVzID0gc2VsZi5kaXN0cmlidXRpb24ucHlfbW9kdWxlcworICAgICAgICBzZWxmLnBhY2thZ2VfZGF0YSA9IHNlbGYuZGlzdHJpYnV0aW9uLnBhY2thZ2VfZGF0YQorICAgICAgICBzZWxmLnBhY2thZ2VfZGlyID0gTm9uZQorICAgICAgICBpZiBzZWxmLmRpc3RyaWJ1dGlvbi5wYWNrYWdlX2RpciBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIHNlbGYucGFja2FnZV9kaXIgPSBjb252ZXJ0X3BhdGgoc2VsZi5kaXN0cmlidXRpb24ucGFja2FnZV9kaXIpCisgICAgICAgIHNlbGYuZGF0YV9maWxlcyA9IHNlbGYuZ2V0X2RhdGFfZmlsZXMoKQorCisgICAgICAgICMgSWNrLCBjb3BpZWQgc3RyYWlnaHQgZnJvbSBpbnN0YWxsX2xpYi5weSAoZmFuY3lfZ2V0b3B0IG5lZWRzIGEKKyAgICAgICAgIyB0eXBlIHN5c3RlbSEgIEhlbGwsICpldmVyeXRoaW5nKiBuZWVkcyBhIHR5cGUgc3lzdGVtISEhKQorICAgICAgICBpZiBub3QgaXNpbnN0YW5jZShzZWxmLm9wdGltaXplLCBpbnQpOgorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIHNlbGYub3B0aW1pemUgPSBpbnQoc2VsZi5vcHRpbWl6ZSkKKyAgICAgICAgICAgICAgICBhc3NlcnQgMCA8PSBzZWxmLm9wdGltaXplIDw9IDIKKyAgICAgICAgICAgIGV4Y2VwdCAoVmFsdWVFcnJvciwgQXNzZXJ0aW9uRXJyb3IpOgorICAgICAgICAgICAgICAgIHJhaXNlIFBhY2thZ2luZ09wdGlvbkVycm9yKCJvcHRpbWl6ZSBtdXN0IGJlIDAsIDEsIG9yIDIiKQorCisgICAgZGVmIHJ1bihzZWxmKToKKyAgICAgICAgIyBYWFggY29weV9maWxlIGJ5IGRlZmF1bHQgcHJlc2VydmVzIGF0aW1lIGFuZCBtdGltZS4gIElNSE8gdGhpcyBpcworICAgICAgICAjIHRoZSByaWdodCB0aGluZyB0byBkbywgYnV0IHBlcmhhcHMgaXQgc2hvdWxkIGJlIGFuIG9wdGlvbiAtLSBpbgorICAgICAgICAjIHBhcnRpY3VsYXIsIGEgc2l0ZSBhZG1pbmlzdHJhdG9yIG1pZ2h0IHdhbnQgaW5zdGFsbGVkIGZpbGVzIHRvCisgICAgICAgICMgcmVmbGVjdCB0aGUgdGltZSBvZiBpbnN0YWxsYXRpb24gcmF0aGVyIHRoYW4gdGhlIGxhc3QKKyAgICAgICAgIyBtb2RpZmljYXRpb24gdGltZSBiZWZvcmUgdGhlIGluc3RhbGxlZCByZWxlYXNlLgorCisgICAgICAgICMgWFhYIGNvcHlfZmlsZSBieSBkZWZhdWx0IHByZXNlcnZlcyBtb2RlLCB3aGljaCBhcHBlYXJzIHRvIGJlIHRoZQorICAgICAgICAjIHdyb25nIHRoaW5nIHRvIGRvOiBpZiBhIGZpbGUgaXMgcmVhZC1vbmx5IGluIHRoZSB3b3JraW5nCisgICAgICAgICMgZGlyZWN0b3J5LCB3ZSB3YW50IGl0IHRvIGJlIGluc3RhbGxlZCByZWFkL3dyaXRlIHNvIHRoYXQgdGhlIG5leHQKKyAgICAgICAgIyBpbnN0YWxsYXRpb24gb2YgdGhlIHNhbWUgbW9kdWxlIGRpc3RyaWJ1dGlvbiBjYW4gb3ZlcndyaXRlIGl0CisgICAgICAgICMgd2l0aG91dCBwcm9ibGVtcy4gIChUaGlzIG1pZ2h0IGJlIGEgVW5peC1zcGVjaWZpYyBpc3N1ZS4pICBUaHVzCisgICAgICAgICMgd2UgdHVybiBvZmYgJ3ByZXNlcnZlX21vZGUnIHdoZW4gY29weWluZyB0byB0aGUgYnVpbGQgZGlyZWN0b3J5LAorICAgICAgICAjIHNpbmNlIHRoZSBidWlsZCBkaXJlY3RvcnkgaXMgc3VwcG9zZWQgdG8gYmUgZXhhY3RseSB3aGF0IHRoZQorICAgICAgICAjIGluc3RhbGxhdGlvbiB3aWxsIGxvb2sgbGlrZSAoaWUuIHdlIHByZXNlcnZlIG1vZGUgd2hlbgorICAgICAgICAjIGluc3RhbGxpbmcpLgorCisgICAgICAgICMgVHdvIG9wdGlvbnMgY29udHJvbCB3aGljaCBtb2R1bGVzIHdpbGwgYmUgaW5zdGFsbGVkOiAncGFja2FnZXMnCisgICAgICAgICMgYW5kICdweV9tb2R1bGVzJy4gIFRoZSBmb3JtZXIgbGV0cyB1cyB3b3JrIHdpdGggd2hvbGUgcGFja2FnZXMsIG5vdAorICAgICAgICAjIHNwZWNpZnlpbmcgaW5kaXZpZHVhbCBtb2R1bGVzIGF0IGFsbDsgdGhlIGxhdHRlciBpcyBmb3IKKyAgICAgICAgIyBzcGVjaWZ5aW5nIG1vZHVsZXMgb25lLWF0LWEtdGltZS4KKworICAgICAgICBpZiBzZWxmLnB5X21vZHVsZXM6CisgICAgICAgICAgICBzZWxmLmJ1aWxkX21vZHVsZXMoKQorICAgICAgICBpZiBzZWxmLnBhY2thZ2VzOgorICAgICAgICAgICAgc2VsZi5idWlsZF9wYWNrYWdlcygpCisgICAgICAgICAgICBzZWxmLmJ1aWxkX3BhY2thZ2VfZGF0YSgpCisKKyAgICAgICAgaWYgc2VsZi51c2VfMnRvMyBhbmQgc2VsZi5fdXBkYXRlZF9maWxlczoKKyAgICAgICAgICAgIHNlbGYucnVuXzJ0bzMoc2VsZi5fdXBkYXRlZF9maWxlcywgc2VsZi5fZG9jdGVzdHNfMnRvMywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi51c2VfMnRvM19maXhlcnMpCisKKyAgICAgICAgc2VsZi5ieXRlX2NvbXBpbGUoc2VsZi5nZXRfb3V0cHV0cyhpbmNsdWRlX2J5dGVjb2RlPUZhbHNlKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgcHJlZml4PXNlbGYuYnVpbGRfbGliKQorCisgICAgIyAtLSBUb3AtbGV2ZWwgd29ya2VyIGZ1bmN0aW9ucyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworICAgIGRlZiBnZXRfZGF0YV9maWxlcyhzZWxmKToKKyAgICAgICAgIiIiR2VuZXJhdGUgbGlzdCBvZiAnKHBhY2thZ2Usc3JjX2RpcixidWlsZF9kaXIsZmlsZW5hbWVzKScgdHVwbGVzLgorCisgICAgICAgIEhlbHBlciBmdW5jdGlvbiBmb3IgZmluYWxpemVfb3B0aW9ucy4KKyAgICAgICAgIiIiCisgICAgICAgIGRhdGEgPSBbXQorICAgICAgICBpZiBub3Qgc2VsZi5wYWNrYWdlczoKKyAgICAgICAgICAgIHJldHVybiBkYXRhCisgICAgICAgIGZvciBwYWNrYWdlIGluIHNlbGYucGFja2FnZXM6CisgICAgICAgICAgICAjIExvY2F0ZSBwYWNrYWdlIHNvdXJjZSBkaXJlY3RvcnkKKyAgICAgICAgICAgIHNyY19kaXIgPSBzZWxmLmdldF9wYWNrYWdlX2RpcihwYWNrYWdlKQorCisgICAgICAgICAgICAjIENvbXB1dGUgcGFja2FnZSBidWlsZCBkaXJlY3RvcnkKKyAgICAgICAgICAgIGJ1aWxkX2RpciA9IG9zLnBhdGguam9pbigqKFtzZWxmLmJ1aWxkX2xpYl0gKyBwYWNrYWdlLnNwbGl0KCcuJykpKQorCisgICAgICAgICAgICAjIExlbmd0aCBvZiBwYXRoIHRvIHN0cmlwIGZyb20gZm91bmQgZmlsZXMKKyAgICAgICAgICAgIHBsZW4gPSAwCisgICAgICAgICAgICBpZiBzcmNfZGlyOgorICAgICAgICAgICAgICAgIHBsZW4gPSBsZW4oc3JjX2RpcikgKyAxCisKKyAgICAgICAgICAgICMgU3RyaXAgZGlyZWN0b3J5IGZyb20gZ2xvYmJlZCBmaWxlbmFtZXMKKyAgICAgICAgICAgIGZpbGVuYW1lcyA9IFsKKyAgICAgICAgICAgICAgICBmaWxlW3BsZW46XSBmb3IgZmlsZSBpbiBzZWxmLmZpbmRfZGF0YV9maWxlcyhwYWNrYWdlLCBzcmNfZGlyKQorICAgICAgICAgICAgICAgIF0KKyAgICAgICAgICAgIGRhdGEuYXBwZW5kKChwYWNrYWdlLCBzcmNfZGlyLCBidWlsZF9kaXIsIGZpbGVuYW1lcykpCisgICAgICAgIHJldHVybiBkYXRhCisKKyAgICBkZWYgZmluZF9kYXRhX2ZpbGVzKHNlbGYsIHBhY2thZ2UsIHNyY19kaXIpOgorICAgICAgICAiIiJSZXR1cm4gZmlsZW5hbWVzIGZvciBwYWNrYWdlJ3MgZGF0YSBmaWxlcyBpbiAnc3JjX2RpcicuCisKKyAgICAgICAgSGVscGVyIGZ1bmN0aW9uIGZvciBnZXRfZGF0YV9maWxlcy4KKyAgICAgICAgIiIiCisgICAgICAgIGdsb2JzID0gKHNlbGYucGFja2FnZV9kYXRhLmdldCgnJywgW10pCisgICAgICAgICAgICAgICAgICsgc2VsZi5wYWNrYWdlX2RhdGEuZ2V0KHBhY2thZ2UsIFtdKSkKKyAgICAgICAgZmlsZXMgPSBbXQorICAgICAgICBmb3IgcGF0dGVybiBpbiBnbG9iczoKKyAgICAgICAgICAgICMgRWFjaCBwYXR0ZXJuIGhhcyB0byBiZSBjb252ZXJ0ZWQgdG8gYSBwbGF0Zm9ybS1zcGVjaWZpYyBwYXRoCisgICAgICAgICAgICBmaWxlbGlzdCA9IGdsb2Iob3MucGF0aC5qb2luKHNyY19kaXIsIGNvbnZlcnRfcGF0aChwYXR0ZXJuKSkpCisgICAgICAgICAgICAjIEZpbGVzIHRoYXQgbWF0Y2ggbW9yZSB0aGFuIG9uZSBwYXR0ZXJuIGFyZSBvbmx5IGFkZGVkIG9uY2UKKyAgICAgICAgICAgIGZpbGVzLmV4dGVuZChmbiBmb3IgZm4gaW4gZmlsZWxpc3QgaWYgZm4gbm90IGluIGZpbGVzKQorICAgICAgICByZXR1cm4gZmlsZXMKKworICAgIGRlZiBidWlsZF9wYWNrYWdlX2RhdGEoc2VsZik6CisgICAgICAgICIiIkNvcHkgZGF0YSBmaWxlcyBpbnRvIGJ1aWxkIGRpcmVjdG9yeS4KKworICAgICAgICBIZWxwZXIgZnVuY3Rpb24gZm9yIHJ1bi4KKyAgICAgICAgIiIiCisgICAgICAgICMgRklYTUUgYWRkIHRlc3RzIGZvciB0aGlzIG1ldGhvZAorICAgICAgICBmb3IgcGFja2FnZSwgc3JjX2RpciwgYnVpbGRfZGlyLCBmaWxlbmFtZXMgaW4gc2VsZi5kYXRhX2ZpbGVzOgorICAgICAgICAgICAgZm9yIGZpbGVuYW1lIGluIGZpbGVuYW1lczoKKyAgICAgICAgICAgICAgICB0YXJnZXQgPSBvcy5wYXRoLmpvaW4oYnVpbGRfZGlyLCBmaWxlbmFtZSkKKyAgICAgICAgICAgICAgICBzcmNmaWxlID0gb3MucGF0aC5qb2luKHNyY19kaXIsIGZpbGVuYW1lKQorICAgICAgICAgICAgICAgIHNlbGYubWtwYXRoKG9zLnBhdGguZGlybmFtZSh0YXJnZXQpKQorICAgICAgICAgICAgICAgIG91dGYsIGNvcGllZCA9IHNlbGYuY29weV9maWxlKHNyY2ZpbGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0LCBwcmVzZXJ2ZV9tb2RlPUZhbHNlKQorICAgICAgICAgICAgICAgIGRvY3Rlc3RzID0gc2VsZi5kaXN0cmlidXRpb24uY29udmVydF8ydG8zX2RvY3Rlc3RzCisgICAgICAgICAgICAgICAgaWYgY29waWVkIGFuZCBzcmNmaWxlIGluIGRvY3Rlc3RzOgorICAgICAgICAgICAgICAgICAgICBzZWxmLl9kb2N0ZXN0c18ydG8zLmFwcGVuZChvdXRmKQorCisgICAgIyBYWFggLSB0aGlzIHNob3VsZCBiZSBtb3ZlZCB0byB0aGUgRGlzdHJpYnV0aW9uIGNsYXNzIGFzIGl0IGlzIG5vdAorICAgICMgb25seSBuZWVkZWQgZm9yIGJ1aWxkX3B5LiBJdCBhbHNvIGhhcyBubyBkZXBlbmRlbmNpZXMgb24gdGhpcyBjbGFzcy4KKyAgICBkZWYgZ2V0X3BhY2thZ2VfZGlyKHNlbGYsIHBhY2thZ2UpOgorICAgICAgICAiIiJSZXR1cm4gdGhlIGRpcmVjdG9yeSwgcmVsYXRpdmUgdG8gdGhlIHRvcCBvZiB0aGUgc291cmNlCisgICAgICAgIGRpc3RyaWJ1dGlvbiwgd2hlcmUgcGFja2FnZSAncGFja2FnZScgc2hvdWxkIGJlIGZvdW5kCisgICAgICAgIChhdCBsZWFzdCBhY2NvcmRpbmcgdG8gdGhlICdwYWNrYWdlX2Rpcicgb3B0aW9uLCBpZiBhbnkpLgorICAgICAgICAiIiIKKyAgICAgICAgcGF0aCA9IHBhY2thZ2Uuc3BsaXQoJy4nKQorICAgICAgICBpZiBzZWxmLnBhY2thZ2VfZGlyIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgcGF0aC5pbnNlcnQoMCwgc2VsZi5wYWNrYWdlX2RpcikKKworICAgICAgICBpZiBsZW4ocGF0aCkgPiAwOgorICAgICAgICAgICAgcmV0dXJuIG9zLnBhdGguam9pbigqcGF0aCkKKworICAgICAgICByZXR1cm4gJycKKworICAgIGRlZiBjaGVja19wYWNrYWdlKHNlbGYsIHBhY2thZ2UsIHBhY2thZ2VfZGlyKToKKyAgICAgICAgIiIiSGVscGVyIGZ1bmN0aW9uIGZvciBmaW5kX3BhY2thZ2VfbW9kdWxlcyBhbmQgZmluZF9tb2R1bGVzLiIiIgorICAgICAgICAjIEVtcHR5IGRpciBuYW1lIG1lYW5zIGN1cnJlbnQgZGlyZWN0b3J5LCB3aGljaCB3ZSBjYW4gcHJvYmFibHkKKyAgICAgICAgIyBhc3N1bWUgZXhpc3RzLiAgQWxzbywgb3MucGF0aC5leGlzdHMgYW5kIGlzZGlyIGRvbid0IGtub3cgYWJvdXQKKyAgICAgICAgIyBteSAiZW1wdHkgc3RyaW5nIG1lYW5zIGN1cnJlbnQgZGlyIiBjb252ZW50aW9uLCBzbyB3ZSBoYXZlIHRvCisgICAgICAgICMgY2lyY3VtdmVudCB0aGVtLgorICAgICAgICBpZiBwYWNrYWdlX2RpciAhPSAiIjoKKyAgICAgICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhwYWNrYWdlX2Rpcik6CisgICAgICAgICAgICAgICAgcmFpc2UgUGFja2FnaW5nRmlsZUVycm9yKAorICAgICAgICAgICAgICAgICAgICAgICJwYWNrYWdlIGRpcmVjdG9yeSAnJXMnIGRvZXMgbm90IGV4aXN0IiAlIHBhY2thZ2VfZGlyKQorICAgICAgICAgICAgaWYgbm90IG9zLnBhdGguaXNkaXIocGFja2FnZV9kaXIpOgorICAgICAgICAgICAgICAgIHJhaXNlIFBhY2thZ2luZ0ZpbGVFcnJvcigKKyAgICAgICAgICAgICAgICAgICAgICAgInN1cHBvc2VkIHBhY2thZ2UgZGlyZWN0b3J5ICclcycgZXhpc3RzLCAiCisgICAgICAgICAgICAgICAgICAgICAgICJidXQgaXMgbm90IGEgZGlyZWN0b3J5IiAlIHBhY2thZ2VfZGlyKQorCisgICAgICAgICMgUmVxdWlyZSBfX2luaXRfXy5weSBmb3IgYWxsIGJ1dCB0aGUgInJvb3QgcGFja2FnZSIKKyAgICAgICAgaWYgcGFja2FnZToKKyAgICAgICAgICAgIGluaXRfcHkgPSBvcy5wYXRoLmpvaW4ocGFja2FnZV9kaXIsICJfX2luaXRfXy5weSIpCisgICAgICAgICAgICBpZiBvcy5wYXRoLmlzZmlsZShpbml0X3B5KToKKyAgICAgICAgICAgICAgICByZXR1cm4gaW5pdF9weQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBsb2dnZXIud2FybmluZygicGFja2FnZSBpbml0IGZpbGUgJXIgbm90IGZvdW5kICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiKG9yIG5vdCBhIHJlZ3VsYXIgZmlsZSkiLCBpbml0X3B5KQorCisgICAgICAgICMgRWl0aGVyIG5vdCBpbiBhIHBhY2thZ2UgYXQgYWxsIChfX2luaXRfXy5weSBub3QgZXhwZWN0ZWQpLCBvcgorICAgICAgICAjIF9faW5pdF9fLnB5IGRvZXNuJ3QgZXhpc3QgLS0gc28gZG9uJ3QgcmV0dXJuIHRoZSBmaWxlbmFtZS4KKyAgICAgICAgcmV0dXJuIE5vbmUKKworICAgIGRlZiBjaGVja19tb2R1bGUoc2VsZiwgbW9kdWxlLCBtb2R1bGVfZmlsZSk6CisgICAgICAgIGlmIG5vdCBvcy5wYXRoLmlzZmlsZShtb2R1bGVfZmlsZSk6CisgICAgICAgICAgICBsb2dnZXIud2FybmluZygiZmlsZSAlciAoZm9yIG1vZHVsZSAlcikgbm90IGZvdW5kIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZHVsZV9maWxlLCBtb2R1bGUpCisgICAgICAgICAgICByZXR1cm4gRmFsc2UKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJldHVybiBUcnVlCisKKyAgICBkZWYgZmluZF9wYWNrYWdlX21vZHVsZXMoc2VsZiwgcGFja2FnZSwgcGFja2FnZV9kaXIpOgorICAgICAgICBzZWxmLmNoZWNrX3BhY2thZ2UocGFja2FnZSwgcGFja2FnZV9kaXIpCisgICAgICAgIG1vZHVsZV9maWxlcyA9IGdsb2Iob3MucGF0aC5qb2luKHBhY2thZ2VfZGlyLCAiKi5weSIpKQorICAgICAgICBtb2R1bGVzID0gW10KKyAgICAgICAgaWYgc2VsZi5kaXN0cmlidXRpb24uc2NyaXB0X25hbWUgaXMgbm90IE5vbmU6CisgICAgICAgICAgICBzZXR1cF9zY3JpcHQgPSBvcy5wYXRoLmFic3BhdGgoc2VsZi5kaXN0cmlidXRpb24uc2NyaXB0X25hbWUpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzZXR1cF9zY3JpcHQgPSBOb25lCisKKyAgICAgICAgZm9yIGYgaW4gbW9kdWxlX2ZpbGVzOgorICAgICAgICAgICAgYWJzX2YgPSBvcy5wYXRoLmFic3BhdGgoZikKKyAgICAgICAgICAgIGlmIGFic19mICE9IHNldHVwX3NjcmlwdDoKKyAgICAgICAgICAgICAgICBtb2R1bGUgPSBvcy5wYXRoLnNwbGl0ZXh0KG9zLnBhdGguYmFzZW5hbWUoZikpWzBdCisgICAgICAgICAgICAgICAgbW9kdWxlcy5hcHBlbmQoKHBhY2thZ2UsIG1vZHVsZSwgZikpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIGxvZ2dlci5kZWJ1ZygiZXhjbHVkaW5nICVyIiwgc2V0dXBfc2NyaXB0KQorICAgICAgICByZXR1cm4gbW9kdWxlcworCisgICAgZGVmIGZpbmRfbW9kdWxlcyhzZWxmKToKKyAgICAgICAgIiIiRmluZHMgaW5kaXZpZHVhbGx5LXNwZWNpZmllZCBQeXRob24gbW9kdWxlcywgaWUuIHRob3NlIGxpc3RlZCBieQorICAgICAgICBtb2R1bGUgbmFtZSBpbiAnc2VsZi5weV9tb2R1bGVzJy4gIFJldHVybnMgYSBsaXN0IG9mIHR1cGxlcyAocGFja2FnZSwKKyAgICAgICAgbW9kdWxlX2Jhc2UsIGZpbGVuYW1lKTogJ3BhY2thZ2UnIGlzIGEgdHVwbGUgb2YgdGhlIHBhdGggdGhyb3VnaAorICAgICAgICBwYWNrYWdlLXNwYWNlIHRvIHRoZSBtb2R1bGU7ICdtb2R1bGVfYmFzZScgaXMgdGhlIGJhcmUgKG5vCisgICAgICAgIHBhY2thZ2VzLCBubyBkb3RzKSBtb2R1bGUgbmFtZSwgYW5kICdmaWxlbmFtZScgaXMgdGhlIHBhdGggdG8gdGhlCisgICAgICAgICIucHkiIGZpbGUgKHJlbGF0aXZlIHRvIHRoZSBkaXN0cmlidXRpb24gcm9vdCkgdGhhdCBpbXBsZW1lbnRzIHRoZQorICAgICAgICBtb2R1bGUuCisgICAgICAgICIiIgorICAgICAgICAjIE1hcCBwYWNrYWdlIG5hbWVzIHRvIHR1cGxlcyBvZiB1c2VmdWwgaW5mbyBhYm91dCB0aGUgcGFja2FnZToKKyAgICAgICAgIyAgICAocGFja2FnZV9kaXIsIGNoZWNrZWQpCisgICAgICAgICMgcGFja2FnZV9kaXIgLSB0aGUgZGlyZWN0b3J5IHdoZXJlIHdlJ2xsIGZpbmQgc291cmNlIGZpbGVzIGZvcgorICAgICAgICAjICAgdGhpcyBwYWNrYWdlCisgICAgICAgICMgY2hlY2tlZCAtIHRydWUgaWYgd2UgaGF2ZSBjaGVja2VkIHRoYXQgdGhlIHBhY2thZ2UgZGlyZWN0b3J5CisgICAgICAgICMgICBpcyB2YWxpZCAoZXhpc3RzLCBjb250YWlucyBfX2luaXRfXy5weSwgLi4uID8pCisgICAgICAgIHBhY2thZ2VzID0ge30KKworICAgICAgICAjIExpc3Qgb2YgKHBhY2thZ2UsIG1vZHVsZSwgZmlsZW5hbWUpIHR1cGxlcyB0byByZXR1cm4KKyAgICAgICAgbW9kdWxlcyA9IFtdCisKKyAgICAgICAgIyBXZSB0cmVhdCBtb2R1bGVzLWluLXBhY2thZ2VzIGFsbW9zdCB0aGUgc2FtZSBhcyB0b3BsZXZlbCBtb2R1bGVzLAorICAgICAgICAjIGp1c3QgdGhlICJwYWNrYWdlIiBmb3IgYSB0b3BsZXZlbCBpcyBlbXB0eSAoZWl0aGVyIGFuIGVtcHR5CisgICAgICAgICMgc3RyaW5nIG9yIGVtcHR5IGxpc3QsIGRlcGVuZGluZyBvbiBjb250ZXh0KS4gIERpZmZlcmVuY2VzOgorICAgICAgICAjICAgLSBkb24ndCBjaGVjayBmb3IgX19pbml0X18ucHkgaW4gZGlyZWN0b3J5IGZvciBlbXB0eSBwYWNrYWdlCisgICAgICAgIGZvciBtb2R1bGUgaW4gc2VsZi5weV9tb2R1bGVzOgorICAgICAgICAgICAgcGF0aCA9IG1vZHVsZS5zcGxpdCgnLicpCisgICAgICAgICAgICBwYWNrYWdlID0gJy4nLmpvaW4ocGF0aFswOi0xXSkKKyAgICAgICAgICAgIG1vZHVsZV9iYXNlID0gcGF0aFstMV0KKworICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIHBhY2thZ2VfZGlyLCBjaGVja2VkID0gcGFja2FnZXNbcGFja2FnZV0KKyAgICAgICAgICAgIGV4Y2VwdCBLZXlFcnJvcjoKKyAgICAgICAgICAgICAgICBwYWNrYWdlX2RpciA9IHNlbGYuZ2V0X3BhY2thZ2VfZGlyKHBhY2thZ2UpCisgICAgICAgICAgICAgICAgY2hlY2tlZCA9IEZhbHNlCisKKyAgICAgICAgICAgIGlmIG5vdCBjaGVja2VkOgorICAgICAgICAgICAgICAgIGluaXRfcHkgPSBzZWxmLmNoZWNrX3BhY2thZ2UocGFja2FnZSwgcGFja2FnZV9kaXIpCisgICAgICAgICAgICAgICAgcGFja2FnZXNbcGFja2FnZV0gPSAocGFja2FnZV9kaXIsIDEpCisgICAgICAgICAgICAgICAgaWYgaW5pdF9weToKKyAgICAgICAgICAgICAgICAgICAgbW9kdWxlcy5hcHBlbmQoKHBhY2thZ2UsICJfX2luaXRfXyIsIGluaXRfcHkpKQorCisgICAgICAgICAgICAjIFhYWCBwZXJoYXBzIHdlIHNob3VsZCBhbHNvIGNoZWNrIGZvciBqdXN0IC5weWMgZmlsZXMKKyAgICAgICAgICAgICMgKHNvIGdyZWVkeSBjbG9zZWQtc291cmNlIGJhc3RhcmRzIGNhbiBkaXN0cmlidXRlIFB5dGhvbgorICAgICAgICAgICAgIyBtb2R1bGVzIHRvbykKKyAgICAgICAgICAgIG1vZHVsZV9maWxlID0gb3MucGF0aC5qb2luKHBhY2thZ2VfZGlyLCBtb2R1bGVfYmFzZSArICIucHkiKQorICAgICAgICAgICAgaWYgbm90IHNlbGYuY2hlY2tfbW9kdWxlKG1vZHVsZSwgbW9kdWxlX2ZpbGUpOgorICAgICAgICAgICAgICAgIGNvbnRpbnVlCisKKyAgICAgICAgICAgIG1vZHVsZXMuYXBwZW5kKChwYWNrYWdlLCBtb2R1bGVfYmFzZSwgbW9kdWxlX2ZpbGUpKQorCisgICAgICAgIHJldHVybiBtb2R1bGVzCisKKyAgICBkZWYgZmluZF9hbGxfbW9kdWxlcyhzZWxmKToKKyAgICAgICAgIiIiQ29tcHV0ZSB0aGUgbGlzdCBvZiBhbGwgbW9kdWxlcyB0aGF0IHdpbGwgYmUgYnVpbHQsIHdoZXRoZXIKKyAgICAgICAgdGhleSBhcmUgc3BlY2lmaWVkIG9uZS1tb2R1bGUtYXQtYS10aW1lICgnc2VsZi5weV9tb2R1bGVzJykgb3IKKyAgICAgICAgYnkgd2hvbGUgcGFja2FnZXMgKCdzZWxmLnBhY2thZ2VzJykuICBSZXR1cm4gYSBsaXN0IG9mIHR1cGxlcworICAgICAgICAocGFja2FnZSwgbW9kdWxlLCBtb2R1bGVfZmlsZSksIGp1c3QgbGlrZSAnZmluZF9tb2R1bGVzKCknIGFuZAorICAgICAgICAnZmluZF9wYWNrYWdlX21vZHVsZXMoKScgZG8uIiIiCisgICAgICAgIG1vZHVsZXMgPSBbXQorICAgICAgICBpZiBzZWxmLnB5X21vZHVsZXM6CisgICAgICAgICAgICBtb2R1bGVzLmV4dGVuZChzZWxmLmZpbmRfbW9kdWxlcygpKQorICAgICAgICBpZiBzZWxmLnBhY2thZ2VzOgorICAgICAgICAgICAgZm9yIHBhY2thZ2UgaW4gc2VsZi5wYWNrYWdlczoKKyAgICAgICAgICAgICAgICBwYWNrYWdlX2RpciA9IHNlbGYuZ2V0X3BhY2thZ2VfZGlyKHBhY2thZ2UpCisgICAgICAgICAgICAgICAgbSA9IHNlbGYuZmluZF9wYWNrYWdlX21vZHVsZXMocGFja2FnZSwgcGFja2FnZV9kaXIpCisgICAgICAgICAgICAgICAgbW9kdWxlcy5leHRlbmQobSkKKyAgICAgICAgcmV0dXJuIG1vZHVsZXMKKworICAgIGRlZiBnZXRfc291cmNlX2ZpbGVzKHNlbGYpOgorICAgICAgICBzb3VyY2VzID0gW21vZHVsZVstMV0gZm9yIG1vZHVsZSBpbiBzZWxmLmZpbmRfYWxsX21vZHVsZXMoKV0KKyAgICAgICAgc291cmNlcyArPSBbCisgICAgICAgICAgICBvcy5wYXRoLmpvaW4oc3JjX2RpciwgZmlsZW5hbWUpCisgICAgICAgICAgICBmb3IgcGFja2FnZSwgc3JjX2RpciwgYnVpbGRfZGlyLCBmaWxlbmFtZXMgaW4gc2VsZi5kYXRhX2ZpbGVzCisgICAgICAgICAgICBmb3IgZmlsZW5hbWUgaW4gZmlsZW5hbWVzXQorICAgICAgICByZXR1cm4gc291cmNlcworCisgICAgZGVmIGdldF9tb2R1bGVfb3V0ZmlsZShzZWxmLCBidWlsZF9kaXIsIHBhY2thZ2UsIG1vZHVsZSk6CisgICAgICAgIG91dGZpbGVfcGF0aCA9IFtidWlsZF9kaXJdICsgbGlzdChwYWNrYWdlKSArIFttb2R1bGUgKyAiLnB5Il0KKyAgICAgICAgcmV0dXJuIG9zLnBhdGguam9pbigqb3V0ZmlsZV9wYXRoKQorCisgICAgZGVmIGdldF9vdXRwdXRzKHNlbGYsIGluY2x1ZGVfYnl0ZWNvZGU9VHJ1ZSk6CisgICAgICAgIG1vZHVsZXMgPSBzZWxmLmZpbmRfYWxsX21vZHVsZXMoKQorICAgICAgICBvdXRwdXRzID0gW10KKyAgICAgICAgZm9yIHBhY2thZ2UsIG1vZHVsZSwgbW9kdWxlX2ZpbGUgaW4gbW9kdWxlczoKKyAgICAgICAgICAgIHBhY2thZ2UgPSBwYWNrYWdlLnNwbGl0KCcuJykKKyAgICAgICAgICAgIGZpbGVuYW1lID0gc2VsZi5nZXRfbW9kdWxlX291dGZpbGUoc2VsZi5idWlsZF9saWIsIHBhY2thZ2UsIG1vZHVsZSkKKyAgICAgICAgICAgIG91dHB1dHMuYXBwZW5kKGZpbGVuYW1lKQorICAgICAgICAgICAgaWYgaW5jbHVkZV9ieXRlY29kZToKKyAgICAgICAgICAgICAgICBpZiBzZWxmLmNvbXBpbGU6CisgICAgICAgICAgICAgICAgICAgIG91dHB1dHMuYXBwZW5kKGltcC5jYWNoZV9mcm9tX3NvdXJjZShmaWxlbmFtZSwgVHJ1ZSkpCisgICAgICAgICAgICAgICAgaWYgc2VsZi5vcHRpbWl6ZToKKyAgICAgICAgICAgICAgICAgICAgb3V0cHV0cy5hcHBlbmQoaW1wLmNhY2hlX2Zyb21fc291cmNlKGZpbGVuYW1lLCBGYWxzZSkpCisKKyAgICAgICAgb3V0cHV0cyArPSBbCisgICAgICAgICAgICBvcy5wYXRoLmpvaW4oYnVpbGRfZGlyLCBmaWxlbmFtZSkKKyAgICAgICAgICAgIGZvciBwYWNrYWdlLCBzcmNfZGlyLCBidWlsZF9kaXIsIGZpbGVuYW1lcyBpbiBzZWxmLmRhdGFfZmlsZXMKKyAgICAgICAgICAgIGZvciBmaWxlbmFtZSBpbiBmaWxlbmFtZXNdCisKKyAgICAgICAgcmV0dXJuIG91dHB1dHMKKworICAgIGRlZiBidWlsZF9tb2R1bGUoc2VsZiwgbW9kdWxlLCBtb2R1bGVfZmlsZSwgcGFja2FnZSk6CisgICAgICAgIGlmIGlzaW5zdGFuY2UocGFja2FnZSwgc3RyKToKKyAgICAgICAgICAgIHBhY2thZ2UgPSBwYWNrYWdlLnNwbGl0KCcuJykKKyAgICAgICAgZWxpZiBub3QgaXNpbnN0YW5jZShwYWNrYWdlLCAobGlzdCwgdHVwbGUpKToKKyAgICAgICAgICAgIHJhaXNlIFR5cGVFcnJvcigKKyAgICAgICAgICAgICAgICAgICIncGFja2FnZScgbXVzdCBiZSBhIHN0cmluZyAoZG90LXNlcGFyYXRlZCksIGxpc3QsIG9yIHR1cGxlIikKKworICAgICAgICAjIE5vdyBwdXQgdGhlIG1vZHVsZSBzb3VyY2UgZmlsZSBpbnRvIHRoZSAiYnVpbGQiIGFyZWEgLS0gdGhpcyBpcworICAgICAgICAjIGVhc3ksIHdlIGp1c3QgY29weSBpdCBzb21ld2hlcmUgdW5kZXIgc2VsZi5idWlsZF9saWIgKHRoZSBidWlsZAorICAgICAgICAjIGRpcmVjdG9yeSBmb3IgUHl0aG9uIHNvdXJjZSkuCisgICAgICAgIG91dGZpbGUgPSBzZWxmLmdldF9tb2R1bGVfb3V0ZmlsZShzZWxmLmJ1aWxkX2xpYiwgcGFja2FnZSwgbW9kdWxlKQorICAgICAgICBkaXIgPSBvcy5wYXRoLmRpcm5hbWUob3V0ZmlsZSkKKyAgICAgICAgc2VsZi5ta3BhdGgoZGlyKQorICAgICAgICByZXR1cm4gc2VsZi5jb3B5X2ZpbGUobW9kdWxlX2ZpbGUsIG91dGZpbGUsIHByZXNlcnZlX21vZGU9RmFsc2UpCisKKyAgICBkZWYgYnVpbGRfbW9kdWxlcyhzZWxmKToKKyAgICAgICAgbW9kdWxlcyA9IHNlbGYuZmluZF9tb2R1bGVzKCkKKyAgICAgICAgZm9yIHBhY2thZ2UsIG1vZHVsZSwgbW9kdWxlX2ZpbGUgaW4gbW9kdWxlczoKKyAgICAgICAgICAgICMgTm93ICJidWlsZCIgdGhlIG1vZHVsZSAtLSBpZS4gY29weSB0aGUgc291cmNlIGZpbGUgdG8KKyAgICAgICAgICAgICMgc2VsZi5idWlsZF9saWIgKHRoZSBidWlsZCBkaXJlY3RvcnkgZm9yIFB5dGhvbiBzb3VyY2UpLgorICAgICAgICAgICAgIyAoQWN0dWFsbHksIGl0IGdldHMgY29waWVkIHRvIHRoZSBkaXJlY3RvcnkgZm9yIHRoaXMgcGFja2FnZQorICAgICAgICAgICAgIyB1bmRlciBzZWxmLmJ1aWxkX2xpYi4pCisgICAgICAgICAgICBzZWxmLmJ1aWxkX21vZHVsZShtb2R1bGUsIG1vZHVsZV9maWxlLCBwYWNrYWdlKQorCisgICAgZGVmIGJ1aWxkX3BhY2thZ2VzKHNlbGYpOgorICAgICAgICBmb3IgcGFja2FnZSBpbiBzZWxmLnBhY2thZ2VzOgorICAgICAgICAgICAgIyBHZXQgbGlzdCBvZiAocGFja2FnZSwgbW9kdWxlLCBtb2R1bGVfZmlsZSkgdHVwbGVzIGJhc2VkIG9uCisgICAgICAgICAgICAjIHNjYW5uaW5nIHRoZSBwYWNrYWdlIGRpcmVjdG9yeS4gICdwYWNrYWdlJyBpcyBvbmx5IGluY2x1ZGVkCisgICAgICAgICAgICAjIGluIHRoZSB0dXBsZSBzbyB0aGF0ICdmaW5kX21vZHVsZXMoKScgYW5kCisgICAgICAgICAgICAjICdmaW5kX3BhY2thZ2VfdHVwbGVzKCknIGhhdmUgYSBjb25zaXN0ZW50IGludGVyZmFjZTsgaXQncworICAgICAgICAgICAgIyBpZ25vcmVkIGhlcmUgKGFwYXJ0IGZyb20gYSBzYW5pdHkgY2hlY2spLiAgQWxzbywgJ21vZHVsZScgaXMKKyAgICAgICAgICAgICMgdGhlICp1bnF1YWxpZmllZCogbW9kdWxlIG5hbWUgKGllLiBubyBkb3RzLCBubyBwYWNrYWdlIC0tIHdlCisgICAgICAgICAgICAjIGFscmVhZHkga25vdyBpdHMgcGFja2FnZSEpLCBhbmQgJ21vZHVsZV9maWxlJyBpcyB0aGUgcGF0aCB0bworICAgICAgICAgICAgIyB0aGUgLnB5IGZpbGUsIHJlbGF0aXZlIHRvIHRoZSBjdXJyZW50IGRpcmVjdG9yeQorICAgICAgICAgICAgIyAoaWUuIGluY2x1ZGluZyAncGFja2FnZV9kaXInKS4KKyAgICAgICAgICAgIHBhY2thZ2VfZGlyID0gc2VsZi5nZXRfcGFja2FnZV9kaXIocGFja2FnZSkKKyAgICAgICAgICAgIG1vZHVsZXMgPSBzZWxmLmZpbmRfcGFja2FnZV9tb2R1bGVzKHBhY2thZ2UsIHBhY2thZ2VfZGlyKQorCisgICAgICAgICAgICAjIE5vdyBsb29wIG92ZXIgdGhlIG1vZHVsZXMgd2UgZm91bmQsICJidWlsZGluZyIgZWFjaCBvbmUgKGp1c3QKKyAgICAgICAgICAgICMgY29weSBpdCB0byBzZWxmLmJ1aWxkX2xpYikuCisgICAgICAgICAgICBmb3IgcGFja2FnZV8sIG1vZHVsZSwgbW9kdWxlX2ZpbGUgaW4gbW9kdWxlczoKKyAgICAgICAgICAgICAgICBhc3NlcnQgcGFja2FnZSA9PSBwYWNrYWdlXworICAgICAgICAgICAgICAgIHNlbGYuYnVpbGRfbW9kdWxlKG1vZHVsZSwgbW9kdWxlX2ZpbGUsIHBhY2thZ2UpCmRpZmYgLS1naXQgYS9MaWIvcGFja2FnaW5nL2NvbW1hbmQvYnVpbGRfc2NyaXB0cy5weSBiL0xpYi9wYWNrYWdpbmcvY29tbWFuZC9idWlsZF9zY3JpcHRzLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ2NTFhZTAKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvcGFja2FnaW5nL2NvbW1hbmQvYnVpbGRfc2NyaXB0cy5weQpAQCAtMCwwICsxLDE1NCBAQAorIiIiQnVpbGQgc2NyaXB0cyAoY29weSB0byBidWlsZCBkaXIgYW5kIGZpeCB1cCBzaGViYW5nIGxpbmUpLiIiIgorCitpbXBvcnQgb3MKK2ltcG9ydCByZQoraW1wb3J0IHN5c2NvbmZpZworZnJvbSB0b2tlbml6ZSBpbXBvcnQgZGV0ZWN0X2VuY29kaW5nCisKK2Zyb20gcGFja2FnaW5nLmNvbW1hbmQuY21kIGltcG9ydCBDb21tYW5kCitmcm9tIHBhY2thZ2luZy51dGlsIGltcG9ydCBjb252ZXJ0X3BhdGgsIG5ld2VyCitmcm9tIHBhY2thZ2luZyBpbXBvcnQgbG9nZ2VyCitmcm9tIHBhY2thZ2luZy5jb21wYXQgaW1wb3J0IE1peGluMnRvMworCisKKyMgY2hlY2sgaWYgUHl0aG9uIGlzIGNhbGxlZCBvbiB0aGUgZmlyc3QgbGluZSB3aXRoIHRoaXMgZXhwcmVzc2lvbgorZmlyc3RfbGluZV9yZSA9IHJlLmNvbXBpbGUoYideIyEuKnB5dGhvblswLTkuXSooWyBcdF0uKik/JCcpCisKK2NsYXNzIGJ1aWxkX3NjcmlwdHMoQ29tbWFuZCwgTWl4aW4ydG8zKToKKworICAgIGRlc2NyaXB0aW9uID0gImJ1aWxkIHNjcmlwdHMgKGNvcHkgYW5kIGZpeCB1cCBzaGViYW5nIGxpbmUpIgorCisgICAgdXNlcl9vcHRpb25zID0gWworICAgICAgICAoJ2J1aWxkLWRpcj0nLCAnZCcsICJkaXJlY3RvcnkgdG8gYnVpbGQgKGNvcHkpIHRvIiksCisgICAgICAgICgnZm9yY2UnLCAnZicsICJmb3JjaWJseSBidWlsZCBldmVyeXRoaW5nIChpZ25vcmUgZmlsZSB0aW1lc3RhbXBzIiksCisgICAgICAgICgnZXhlY3V0YWJsZT0nLCAnZScsICJzcGVjaWZ5IGZpbmFsIGRlc3RpbmF0aW9uIGludGVycHJldGVyIHBhdGgiKSwKKyAgICAgICAgXQorCisgICAgYm9vbGVhbl9vcHRpb25zID0gWydmb3JjZSddCisKKworICAgIGRlZiBpbml0aWFsaXplX29wdGlvbnMoc2VsZik6CisgICAgICAgIHNlbGYuYnVpbGRfZGlyID0gTm9uZQorICAgICAgICBzZWxmLnNjcmlwdHMgPSBOb25lCisgICAgICAgIHNlbGYuZm9yY2UgPSBOb25lCisgICAgICAgIHNlbGYuZXhlY3V0YWJsZSA9IE5vbmUKKyAgICAgICAgc2VsZi5vdXRmaWxlcyA9IE5vbmUKKyAgICAgICAgc2VsZi51c2VfMnRvMyA9IEZhbHNlCisgICAgICAgIHNlbGYuY29udmVydF8ydG8zX2RvY3Rlc3RzID0gTm9uZQorICAgICAgICBzZWxmLnVzZV8ydG8zX2ZpeGVycyA9IE5vbmUKKworICAgIGRlZiBmaW5hbGl6ZV9vcHRpb25zKHNlbGYpOgorICAgICAgICBzZWxmLnNldF91bmRlZmluZWRfb3B0aW9ucygnYnVpbGQnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoJ2J1aWxkX3NjcmlwdHMnLCAnYnVpbGRfZGlyJyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd1c2VfMnRvMycsICd1c2VfMnRvM19maXhlcnMnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY29udmVydF8ydG8zX2RvY3Rlc3RzJywgJ2ZvcmNlJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2V4ZWN1dGFibGUnKQorICAgICAgICBzZWxmLnNjcmlwdHMgPSBzZWxmLmRpc3RyaWJ1dGlvbi5zY3JpcHRzCisKKyAgICBkZWYgZ2V0X3NvdXJjZV9maWxlcyhzZWxmKToKKyAgICAgICAgcmV0dXJuIHNlbGYuc2NyaXB0cworCisgICAgZGVmIHJ1bihzZWxmKToKKyAgICAgICAgaWYgbm90IHNlbGYuc2NyaXB0czoKKyAgICAgICAgICAgIHJldHVybgorICAgICAgICBjb3BpZWRfZmlsZXMgPSBzZWxmLmNvcHlfc2NyaXB0cygpCisgICAgICAgIGlmIHNlbGYudXNlXzJ0bzMgYW5kIGNvcGllZF9maWxlczoKKyAgICAgICAgICAgIHNlbGYuX3J1bl8ydG8zKGNvcGllZF9maWxlcywgZml4ZXJzPXNlbGYudXNlXzJ0bzNfZml4ZXJzKQorCisgICAgZGVmIGNvcHlfc2NyaXB0cyhzZWxmKToKKyAgICAgICAgIiIiQ29weSBlYWNoIHNjcmlwdCBsaXN0ZWQgaW4gJ3NlbGYuc2NyaXB0cyc7IGlmIGl0J3MgbWFya2VkIGFzIGEKKyAgICAgICAgUHl0aG9uIHNjcmlwdCBpbiB0aGUgVW5peCB3YXkgKGZpcnN0IGxpbmUgbWF0Y2hlcyAnZmlyc3RfbGluZV9yZScsCisgICAgICAgIGllLiBzdGFydHMgd2l0aCAiXCMhIiBhbmQgY29udGFpbnMgInB5dGhvbiIpLCB0aGVuIGFkanVzdCB0aGUgZmlyc3QKKyAgICAgICAgbGluZSB0byByZWZlciB0byB0aGUgY3VycmVudCBQeXRob24gaW50ZXJwcmV0ZXIgYXMgd2UgY29weS4KKyAgICAgICAgIiIiCisgICAgICAgIHNlbGYubWtwYXRoKHNlbGYuYnVpbGRfZGlyKQorICAgICAgICBvdXRmaWxlcyA9IFtdCisgICAgICAgIGZvciBzY3JpcHQgaW4gc2VsZi5zY3JpcHRzOgorICAgICAgICAgICAgYWRqdXN0ID0gRmFsc2UKKyAgICAgICAgICAgIHNjcmlwdCA9IGNvbnZlcnRfcGF0aChzY3JpcHQpCisgICAgICAgICAgICBvdXRmaWxlID0gb3MucGF0aC5qb2luKHNlbGYuYnVpbGRfZGlyLCBvcy5wYXRoLmJhc2VuYW1lKHNjcmlwdCkpCisgICAgICAgICAgICBvdXRmaWxlcy5hcHBlbmQob3V0ZmlsZSkKKworICAgICAgICAgICAgaWYgbm90IHNlbGYuZm9yY2UgYW5kIG5vdCBuZXdlcihzY3JpcHQsIG91dGZpbGUpOgorICAgICAgICAgICAgICAgIGxvZ2dlci5kZWJ1Zygibm90IGNvcHlpbmcgJXMgKHVwLXRvLWRhdGUpIiwgc2NyaXB0KQorICAgICAgICAgICAgICAgIGNvbnRpbnVlCisKKyAgICAgICAgICAgICMgQWx3YXlzIG9wZW4gdGhlIGZpbGUsIGJ1dCBpZ25vcmUgZmFpbHVyZXMgaW4gZHJ5LXJ1biBtb2RlIC0tCisgICAgICAgICAgICAjIHRoYXQgd2F5LCB3ZSdsbCBnZXQgYWNjdXJhdGUgZmVlZGJhY2sgaWYgd2UgY2FuIHJlYWQgdGhlCisgICAgICAgICAgICAjIHNjcmlwdC4KKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBmID0gb3BlbihzY3JpcHQsICJyYiIpCisgICAgICAgICAgICBleGNlcHQgSU9FcnJvcjoKKyAgICAgICAgICAgICAgICBpZiBub3Qgc2VsZi5kcnlfcnVuOgorICAgICAgICAgICAgICAgICAgICByYWlzZQorICAgICAgICAgICAgICAgIGYgPSBOb25lCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIGVuY29kaW5nLCBsaW5lcyA9IGRldGVjdF9lbmNvZGluZyhmLnJlYWRsaW5lKQorICAgICAgICAgICAgICAgIGYuc2VlaygwKQorICAgICAgICAgICAgICAgIGZpcnN0X2xpbmUgPSBmLnJlYWRsaW5lKCkKKyAgICAgICAgICAgICAgICBpZiBub3QgZmlyc3RfbGluZToKKyAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJyVzOiAlcyBpcyBhbiBlbXB0eSBmaWxlIChza2lwcGluZyknLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmdldF9jb21tYW5kX25hbWUoKSwgIHNjcmlwdCkKKyAgICAgICAgICAgICAgICAgICAgY29udGludWUKKworICAgICAgICAgICAgICAgIG1hdGNoID0gZmlyc3RfbGluZV9yZS5tYXRjaChmaXJzdF9saW5lKQorICAgICAgICAgICAgICAgIGlmIG1hdGNoOgorICAgICAgICAgICAgICAgICAgICBhZGp1c3QgPSBUcnVlCisgICAgICAgICAgICAgICAgICAgIHBvc3RfaW50ZXJwID0gbWF0Y2guZ3JvdXAoMSkgb3IgYicnCisKKyAgICAgICAgICAgIGlmIGFkanVzdDoKKyAgICAgICAgICAgICAgICBsb2dnZXIuaW5mbygiY29weWluZyBhbmQgYWRqdXN0aW5nICVzIC0+ICVzIiwgc2NyaXB0LAorICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuYnVpbGRfZGlyKQorICAgICAgICAgICAgICAgIGlmIG5vdCBzZWxmLmRyeV9ydW46CisgICAgICAgICAgICAgICAgICAgIGlmIG5vdCBzeXNjb25maWcuaXNfcHl0aG9uX2J1aWxkKCk6CisgICAgICAgICAgICAgICAgICAgICAgICBleGVjdXRhYmxlID0gc2VsZi5leGVjdXRhYmxlCisgICAgICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgICAgICBleGVjdXRhYmxlID0gb3MucGF0aC5qb2luKAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c2NvbmZpZy5nZXRfY29uZmlnX3ZhcigiQklORElSIiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAicHl0aG9uJXMlcyIgJSAoc3lzY29uZmlnLmdldF9jb25maWdfdmFyKCJWRVJTSU9OIiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3lzY29uZmlnLmdldF9jb25maWdfdmFyKCJFWEUiKSkpCisgICAgICAgICAgICAgICAgICAgIGV4ZWN1dGFibGUgPSBvcy5mc2VuY29kZShleGVjdXRhYmxlKQorICAgICAgICAgICAgICAgICAgICBzaGViYW5nID0gYiIjISIgKyBleGVjdXRhYmxlICsgcG9zdF9pbnRlcnAgKyBiIlxuIgorICAgICAgICAgICAgICAgICAgICAjIFB5dGhvbiBwYXJzZXIgc3RhcnRzIHRvIHJlYWQgYSBzY3JpcHQgdXNpbmcgVVRGLTggdW50aWwKKyAgICAgICAgICAgICAgICAgICAgIyBpdCBnZXRzIGEgI2NvZGluZzp4eHggY29va2llLiBUaGUgc2hlYmFuZyBoYXMgdG8gYmUgdGhlCisgICAgICAgICAgICAgICAgICAgICMgZmlyc3QgbGluZSBvZiBhIGZpbGUsIHRoZSAjY29kaW5nOnh4eCBjb29raWUgY2Fubm90IGJlCisgICAgICAgICAgICAgICAgICAgICMgd3JpdHRlbiBiZWZvcmUuIFNvIHRoZSBzaGViYW5nIGhhcyB0byBiZSBkZWNvZGFibGUgZnJvbQorICAgICAgICAgICAgICAgICAgICAjIFVURi04LgorICAgICAgICAgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgICAgICAgICBzaGViYW5nLmRlY29kZSgndXRmLTgnKQorICAgICAgICAgICAgICAgICAgICBleGNlcHQgVW5pY29kZURlY29kZUVycm9yOgorICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAiVGhlIHNoZWJhbmcgKHshcn0pIGlzIG5vdCBkZWNvZGFibGUgIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICJmcm9tIHV0Zi04Ii5mb3JtYXQoc2hlYmFuZykpCisgICAgICAgICAgICAgICAgICAgICMgSWYgdGhlIHNjcmlwdCBpcyBlbmNvZGVkIHRvIGEgY3VzdG9tIGVuY29kaW5nICh1c2UgYQorICAgICAgICAgICAgICAgICAgICAjICNjb2Rpbmc6eHh4IGNvb2tpZSksIHRoZSBzaGViYW5nIGhhcyB0byBiZSBkZWNvZGFibGUgZnJvbQorICAgICAgICAgICAgICAgICAgICAjIHRoZSBzY3JpcHQgZW5jb2RpbmcgdG9vLgorICAgICAgICAgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgICAgICAgICBzaGViYW5nLmRlY29kZShlbmNvZGluZykKKyAgICAgICAgICAgICAgICAgICAgZXhjZXB0IFVuaWNvZGVEZWNvZGVFcnJvcjoKKyAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlRoZSBzaGViYW5nICh7IXJ9KSBpcyBub3QgZGVjb2RhYmxlICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZnJvbSB0aGUgc2NyaXB0IGVuY29kaW5nICh7fSkiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmZvcm1hdChzaGViYW5nLCBlbmNvZGluZykpCisgICAgICAgICAgICAgICAgICAgIHdpdGggb3BlbihvdXRmaWxlLCAid2IiKSBhcyBvdXRmOgorICAgICAgICAgICAgICAgICAgICAgICAgb3V0Zi53cml0ZShzaGViYW5nKQorICAgICAgICAgICAgICAgICAgICAgICAgb3V0Zi53cml0ZWxpbmVzKGYucmVhZGxpbmVzKCkpCisgICAgICAgICAgICAgICAgaWYgZjoKKyAgICAgICAgICAgICAgICAgICAgZi5jbG9zZSgpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIGlmIGY6CisgICAgICAgICAgICAgICAgICAgIGYuY2xvc2UoKQorICAgICAgICAgICAgICAgIHNlbGYuY29weV9maWxlKHNjcmlwdCwgb3V0ZmlsZSkKKworICAgICAgICBpZiBvcy5uYW1lID09ICdwb3NpeCc6CisgICAgICAgICAgICBmb3IgZmlsZSBpbiBvdXRmaWxlczoKKyAgICAgICAgICAgICAgICBpZiBzZWxmLmRyeV9ydW46CisgICAgICAgICAgICAgICAgICAgIGxvZ2dlci5pbmZvKCJjaGFuZ2luZyBtb2RlIG9mICVzIiwgZmlsZSkKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICBvbGRtb2RlID0gb3Muc3RhdChmaWxlKS5zdF9tb2RlICYgMG83Nzc3CisgICAgICAgICAgICAgICAgICAgIG5ld21vZGUgPSAob2xkbW9kZSB8IDBvNTU1KSAmIDBvNzc3NworICAgICAgICAgICAgICAgICAgICBpZiBuZXdtb2RlICE9IG9sZG1vZGU6CisgICAgICAgICAgICAgICAgICAgICAgICBsb2dnZXIuaW5mbygiY2hhbmdpbmcgbW9kZSBvZiAlcyBmcm9tICVvIHRvICVvIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGUsIG9sZG1vZGUsIG5ld21vZGUpCisgICAgICAgICAgICAgICAgICAgICAgICBvcy5jaG1vZChmaWxlLCBuZXdtb2RlKQorICAgICAgICByZXR1cm4gb3V0ZmlsZXMKZGlmZiAtLWdpdCBhL0xpYi9wYWNrYWdpbmcvY29tbWFuZC9jaGVjay5weSBiL0xpYi9wYWNrYWdpbmcvY29tbWFuZC9jaGVjay5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NzE1ZGI5Ci0tLSAvZGV2L251bGwKKysrIGIvTGliL3BhY2thZ2luZy9jb21tYW5kL2NoZWNrLnB5CkBAIC0wLDAgKzEsODggQEAKKyIiIkNoZWNrIFBFUCBjb21wbGlhbmNlIG9mIG1ldGFkYXRhLiIiIgorCitmcm9tIHBhY2thZ2luZyBpbXBvcnQgbG9nZ2VyCitmcm9tIHBhY2thZ2luZy5jb21tYW5kLmNtZCBpbXBvcnQgQ29tbWFuZAorZnJvbSBwYWNrYWdpbmcuZXJyb3JzIGltcG9ydCBQYWNrYWdpbmdTZXR1cEVycm9yCitmcm9tIHBhY2thZ2luZy51dGlsIGltcG9ydCByZXNvbHZlX25hbWUKKworY2xhc3MgY2hlY2soQ29tbWFuZCk6CisKKyAgICBkZXNjcmlwdGlvbiA9ICJjaGVjayBQRVAgY29tcGxpYW5jZSBvZiBtZXRhZGF0YSIKKworICAgIHVzZXJfb3B0aW9ucyA9IFsoJ21ldGFkYXRhJywgJ20nLCAnVmVyaWZ5IG1ldGFkYXRhJyksCisgICAgICAgICAgICAgICAgICAgICgnYWxsJywgJ2EnLAorICAgICAgICAgICAgICAgICAgICAgKCdydW5zIGV4dGVuZGVkIHNldCBvZiBjaGVja3MnKSksCisgICAgICAgICAgICAgICAgICAgICgnc3RyaWN0JywgJ3MnLAorICAgICAgICAgICAgICAgICAgICAgJ1dpbGwgZXhpdCB3aXRoIGFuIGVycm9yIGlmIGEgY2hlY2sgZmFpbHMnKV0KKworICAgIGJvb2xlYW5fb3B0aW9ucyA9IFsnbWV0YWRhdGEnLCAnYWxsJywgJ3N0cmljdCddCisKKyAgICBkZWYgaW5pdGlhbGl6ZV9vcHRpb25zKHNlbGYpOgorICAgICAgICAiIiJTZXRzIGRlZmF1bHQgdmFsdWVzIGZvciBvcHRpb25zLiIiIgorICAgICAgICBzZWxmLmFsbCA9IEZhbHNlCisgICAgICAgIHNlbGYubWV0YWRhdGEgPSBUcnVlCisgICAgICAgIHNlbGYuc3RyaWN0ID0gRmFsc2UKKyAgICAgICAgc2VsZi5fd2FybmluZ3MgPSBbXQorCisgICAgZGVmIGZpbmFsaXplX29wdGlvbnMoc2VsZik6CisgICAgICAgIHBhc3MKKworICAgIGRlZiB3YXJuKHNlbGYsIG1zZywgKmFyZ3MpOgorICAgICAgICAiIiJXcmFwcGVyIGFyb3VuZCBsb2dnaW5nIHRoYXQgYWxzbyByZW1lbWJlcnMgbWVzc2FnZXMuIiIiCisgICAgICAgICMgWFhYIHdlIGNvdWxkIHVzZSBhIHNwZWNpYWwgaGFuZGxlciBmb3IgdGhpcywgYnV0IHdvdWxkIG5lZWQgdG8gdGVzdAorICAgICAgICAjIGlmIGl0IHdvcmtzIGV2ZW4gaWYgdGhlIGxvZ2dlciBoYXMgYSB0b28gaGlnaCBsZXZlbAorICAgICAgICBzZWxmLl93YXJuaW5ncy5hcHBlbmQoKG1zZywgYXJncykpCisgICAgICAgIHJldHVybiBsb2dnZXIud2FybmluZygnJXM6ICVzJyAlIChzZWxmLmdldF9jb21tYW5kX25hbWUoKSwgbXNnKSwgKmFyZ3MpCisKKyAgICBkZWYgcnVuKHNlbGYpOgorICAgICAgICAiIiJSdW5zIHRoZSBjb21tYW5kLiIiIgorICAgICAgICAjIHBlcmZvcm0gdGhlIHZhcmlvdXMgdGVzdHMKKyAgICAgICAgaWYgc2VsZi5tZXRhZGF0YToKKyAgICAgICAgICAgIHNlbGYuY2hlY2tfbWV0YWRhdGEoKQorICAgICAgICBpZiBzZWxmLmFsbDoKKyAgICAgICAgICAgIHNlbGYuY2hlY2tfcmVzdHJ1Y3R1cmVkdGV4dCgpCisgICAgICAgICAgICBzZWxmLmNoZWNrX2hvb2tzX3Jlc29sdmFibGUoKQorCisgICAgICAgICMgbGV0J3MgcmFpc2UgYW4gZXJyb3IgaW4gc3RyaWN0IG1vZGUsIGlmIHdlIGhhdmUgYXQgbGVhc3QKKyAgICAgICAgIyBvbmUgd2FybmluZworICAgICAgICBpZiBzZWxmLnN0cmljdCBhbmQgbGVuKHNlbGYuX3dhcm5pbmdzKSA+IDA6CisgICAgICAgICAgICBtc2cgPSAnXG4nLmpvaW4obXNnICUgYXJncyBmb3IgbXNnLCBhcmdzIGluIHNlbGYuX3dhcm5pbmdzKQorICAgICAgICAgICAgcmFpc2UgUGFja2FnaW5nU2V0dXBFcnJvcihtc2cpCisKKyAgICBkZWYgY2hlY2tfbWV0YWRhdGEoc2VsZik6CisgICAgICAgICIiIkVuc3VyZXMgdGhhdCBhbGwgcmVxdWlyZWQgZWxlbWVudHMgb2YgbWV0YWRhdGEgYXJlIHN1cHBsaWVkLgorCisgICAgICAgIG5hbWUsIHZlcnNpb24sIFVSTCwgYXV0aG9yCisKKyAgICAgICAgV2FybnMgaWYgYW55IGFyZSBtaXNzaW5nLgorICAgICAgICAiIiIKKyAgICAgICAgbWlzc2luZywgd2FybmluZ3MgPSBzZWxmLmRpc3RyaWJ1dGlvbi5tZXRhZGF0YS5jaGVjayhzdHJpY3Q9VHJ1ZSkKKyAgICAgICAgaWYgbWlzc2luZyAhPSBbXToKKyAgICAgICAgICAgIHNlbGYud2FybignbWlzc2luZyByZXF1aXJlZCBtZXRhZGF0YTogJXMnLCAnLCAnLmpvaW4obWlzc2luZykpCisgICAgICAgIGZvciB3YXJuaW5nIGluIHdhcm5pbmdzOgorICAgICAgICAgICAgc2VsZi53YXJuKHdhcm5pbmcpCisKKyAgICBkZWYgY2hlY2tfcmVzdHJ1Y3R1cmVkdGV4dChzZWxmKToKKyAgICAgICAgIiIiQ2hlY2tzIGlmIHRoZSBsb25nIHN0cmluZyBmaWVsZHMgYXJlIHJlU1QtY29tcGxpYW50LiIiIgorICAgICAgICBtaXNzaW5nLCB3YXJuaW5ncyA9IHNlbGYuZGlzdHJpYnV0aW9uLm1ldGFkYXRhLmNoZWNrKHJlc3RydWN0dXJlZHRleHQ9VHJ1ZSkKKyAgICAgICAgaWYgc2VsZi5kaXN0cmlidXRpb24ubWV0YWRhdGEuZG9jdXRpbHNfc3VwcG9ydDoKKyAgICAgICAgICAgIGZvciB3YXJuaW5nIGluIHdhcm5pbmdzOgorICAgICAgICAgICAgICAgIGxpbmUgPSB3YXJuaW5nWy0xXS5nZXQoJ2xpbmUnKQorICAgICAgICAgICAgICAgIGlmIGxpbmUgaXMgTm9uZToKKyAgICAgICAgICAgICAgICAgICAgd2FybmluZyA9IHdhcm5pbmdbMV0KKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICB3YXJuaW5nID0gJyVzIChsaW5lICVzKScgJSAod2FybmluZ1sxXSwgbGluZSkKKyAgICAgICAgICAgICAgICBzZWxmLndhcm4od2FybmluZykKKyAgICAgICAgZWxpZiBzZWxmLnN0cmljdDoKKyAgICAgICAgICAgIHJhaXNlIFBhY2thZ2luZ1NldHVwRXJyb3IoJ1RoZSBkb2N1dGlscyBwYWNrYWdlIGlzIG5lZWRlZC4nKQorCisgICAgZGVmIGNoZWNrX2hvb2tzX3Jlc29sdmFibGUoc2VsZik6CisgICAgICAgIGZvciBvcHRpb25zIGluIHNlbGYuZGlzdHJpYnV0aW9uLmNvbW1hbmRfb3B0aW9ucy52YWx1ZXMoKToKKyAgICAgICAgICAgIGZvciBob29rX2tpbmQgaW4gKCJwcmVfaG9vayIsICJwb3N0X2hvb2siKToKKyAgICAgICAgICAgICAgICBpZiBob29rX2tpbmQgbm90IGluIG9wdGlvbnM6CisgICAgICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgICAgICAgICAgZm9yIGhvb2tfbmFtZSBpbiBvcHRpb25zW2hvb2tfa2luZF1bMV0udmFsdWVzKCk6CisgICAgICAgICAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmVfbmFtZShob29rX25hbWUpCisgICAgICAgICAgICAgICAgICAgIGV4Y2VwdCBJbXBvcnRFcnJvcjoKKyAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYud2FybignbmFtZSAlciBjYW5ub3QgYmUgcmVzb2x2ZWQnLCBob29rX25hbWUpCmRpZmYgLS1naXQgYS9MaWIvcGFja2FnaW5nL2NvbW1hbmQvY2xlYW4ucHkgYi9MaWIvcGFja2FnaW5nL2NvbW1hbmQvY2xlYW4ucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGY2MGY0ZQotLS0gL2Rldi9udWxsCisrKyBiL0xpYi9wYWNrYWdpbmcvY29tbWFuZC9jbGVhbi5weQpAQCAtMCwwICsxLDc2IEBACisiIiJDbGVhbiB1cCB0ZW1wb3JhcnkgZmlsZXMgY3JlYXRlZCBieSB0aGUgYnVpbGQgY29tbWFuZC4iIiIKKworIyBDb250cmlidXRlZCBieSBCYXN0aWFuIEtsZWluZWlkYW0gPGNhbHZpbkBjcy51bmktc2IuZGU+CisKK2ltcG9ydCBvcworZnJvbSBzaHV0aWwgaW1wb3J0IHJtdHJlZQorZnJvbSBwYWNrYWdpbmcuY29tbWFuZC5jbWQgaW1wb3J0IENvbW1hbmQKK2Zyb20gcGFja2FnaW5nIGltcG9ydCBsb2dnZXIKKworY2xhc3MgY2xlYW4oQ29tbWFuZCk6CisKKyAgICBkZXNjcmlwdGlvbiA9ICJjbGVhbiB1cCB0ZW1wb3JhcnkgZmlsZXMgZnJvbSAnYnVpbGQnIGNvbW1hbmQiCisgICAgdXNlcl9vcHRpb25zID0gWworICAgICAgICAoJ2J1aWxkLWJhc2U9JywgJ2InLAorICAgICAgICAgImJhc2UgYnVpbGQgZGlyZWN0b3J5IChkZWZhdWx0OiAnYnVpbGQuYnVpbGQtYmFzZScpIiksCisgICAgICAgICgnYnVpbGQtbGliPScsIE5vbmUsCisgICAgICAgICAiYnVpbGQgZGlyZWN0b3J5IGZvciBhbGwgbW9kdWxlcyAoZGVmYXVsdDogJ2J1aWxkLmJ1aWxkLWxpYicpIiksCisgICAgICAgICgnYnVpbGQtdGVtcD0nLCAndCcsCisgICAgICAgICAidGVtcG9yYXJ5IGJ1aWxkIGRpcmVjdG9yeSAoZGVmYXVsdDogJ2J1aWxkLmJ1aWxkLXRlbXAnKSIpLAorICAgICAgICAoJ2J1aWxkLXNjcmlwdHM9JywgTm9uZSwKKyAgICAgICAgICJidWlsZCBkaXJlY3RvcnkgZm9yIHNjcmlwdHMgKGRlZmF1bHQ6ICdidWlsZC5idWlsZC1zY3JpcHRzJykiKSwKKyAgICAgICAgKCdiZGlzdC1iYXNlPScsIE5vbmUsCisgICAgICAgICAidGVtcG9yYXJ5IGRpcmVjdG9yeSBmb3IgYnVpbHQgZGlzdHJpYnV0aW9ucyIpLAorICAgICAgICAoJ2FsbCcsICdhJywKKyAgICAgICAgICJyZW1vdmUgYWxsIGJ1aWxkIG91dHB1dCwgbm90IGp1c3QgdGVtcG9yYXJ5IGJ5LXByb2R1Y3RzIikKKyAgICBdCisKKyAgICBib29sZWFuX29wdGlvbnMgPSBbJ2FsbCddCisKKyAgICBkZWYgaW5pdGlhbGl6ZV9vcHRpb25zKHNlbGYpOgorICAgICAgICBzZWxmLmJ1aWxkX2Jhc2UgPSBOb25lCisgICAgICAgIHNlbGYuYnVpbGRfbGliID0gTm9uZQorICAgICAgICBzZWxmLmJ1aWxkX3RlbXAgPSBOb25lCisgICAgICAgIHNlbGYuYnVpbGRfc2NyaXB0cyA9IE5vbmUKKyAgICAgICAgc2VsZi5iZGlzdF9iYXNlID0gTm9uZQorICAgICAgICBzZWxmLmFsbCA9IE5vbmUKKworICAgIGRlZiBmaW5hbGl6ZV9vcHRpb25zKHNlbGYpOgorICAgICAgICBzZWxmLnNldF91bmRlZmluZWRfb3B0aW9ucygnYnVpbGQnLCAnYnVpbGRfYmFzZScsICdidWlsZF9saWInLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYnVpbGRfc2NyaXB0cycsICdidWlsZF90ZW1wJykKKyAgICAgICAgc2VsZi5zZXRfdW5kZWZpbmVkX29wdGlvbnMoJ2JkaXN0JywgJ2JkaXN0X2Jhc2UnKQorCisgICAgZGVmIHJ1bihzZWxmKToKKyAgICAgICAgIyByZW1vdmUgdGhlIGJ1aWxkL3RlbXAuPHBsYXQ+IGRpcmVjdG9yeSAodW5sZXNzIGl0J3MgYWxyZWFkeQorICAgICAgICAjIGdvbmUpCisgICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKHNlbGYuYnVpbGRfdGVtcCk6CisgICAgICAgICAgICBpZiBzZWxmLmRyeV9ydW46CisgICAgICAgICAgICAgICAgbG9nZ2VyLmluZm8oJ3JlbW92aW5nICVzJywgc2VsZi5idWlsZF90ZW1wKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBybXRyZWUoc2VsZi5idWlsZF90ZW1wKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgbG9nZ2VyLmRlYnVnKCInJXMnIGRvZXMgbm90IGV4aXN0IC0tIGNhbid0IGNsZWFuIGl0IiwKKyAgICAgICAgICAgICAgICAgICAgICBzZWxmLmJ1aWxkX3RlbXApCisKKyAgICAgICAgaWYgc2VsZi5hbGw6CisgICAgICAgICAgICAjIHJlbW92ZSBidWlsZCBkaXJlY3RvcmllcworICAgICAgICAgICAgZm9yIGRpcmVjdG9yeSBpbiAoc2VsZi5idWlsZF9saWIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmJkaXN0X2Jhc2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmJ1aWxkX3NjcmlwdHMpOgorICAgICAgICAgICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKGRpcmVjdG9yeSk6CisgICAgICAgICAgICAgICAgICAgIGlmIHNlbGYuZHJ5X3J1bjoKKyAgICAgICAgICAgICAgICAgICAgICAgIGxvZ2dlci5pbmZvKCdyZW1vdmluZyAlcycsIGRpcmVjdG9yeSkKKyAgICAgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgICAgIHJtdHJlZShkaXJlY3RvcnkpCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoIiclcycgZG9lcyBub3QgZXhpc3QgLS0gY2FuJ3QgY2xlYW4gaXQiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXJlY3RvcnkpCisKKyAgICAgICAgIyBqdXN0IGZvciB0aGUgaGVjayBvZiBpdCwgdHJ5IHRvIHJlbW92ZSB0aGUgYmFzZSBidWlsZCBkaXJlY3Rvcnk6CisgICAgICAgICMgd2UgbWlnaHQgaGF2ZSBlbXB0aWVkIGl0IHJpZ2h0IG5vdywgYnV0IGlmIG5vdCB3ZSBkb24ndCBjYXJlCisgICAgICAgIGlmIG5vdCBzZWxmLmRyeV9ydW46CisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgb3Mucm1kaXIoc2VsZi5idWlsZF9iYXNlKQorICAgICAgICAgICAgICAgIGxvZ2dlci5pbmZvKCJyZW1vdmluZyAnJXMnIiwgc2VsZi5idWlsZF9iYXNlKQorICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3I6CisgICAgICAgICAgICAgICAgcGFzcwpkaWZmIC0tZ2l0IGEvTGliL3BhY2thZ2luZy9jb21tYW5kL2NtZC5weSBiL0xpYi9wYWNrYWdpbmcvY29tbWFuZC9jbWQucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjVlNmE3MgotLS0gL2Rldi9udWxsCisrKyBiL0xpYi9wYWNrYWdpbmcvY29tbWFuZC9jbWQucHkKQEAgLTAsMCArMSw0NjEgQEAKKyIiIkJhc2UgY2xhc3MgZm9yIGNvbW1hbmRzLiIiIgorCitpbXBvcnQgb3MKK2ltcG9ydCByZQorZnJvbSBzaHV0aWwgaW1wb3J0IGNvcHlmaWxlLCBtb3ZlLCBtYWtlX2FyY2hpdmUKK2Zyb20gcGFja2FnaW5nIGltcG9ydCB1dGlsCitmcm9tIHBhY2thZ2luZyBpbXBvcnQgbG9nZ2VyCitmcm9tIHBhY2thZ2luZy5lcnJvcnMgaW1wb3J0IFBhY2thZ2luZ09wdGlvbkVycm9yCisKKworY2xhc3MgQ29tbWFuZDoKKyAgICAiIiJBYnN0cmFjdCBiYXNlIGNsYXNzIGZvciBkZWZpbmluZyBjb21tYW5kIGNsYXNzZXMsIHRoZSAid29ya2VyIGJlZXMiCisgICAgb2YgUGFja2FnaW5nLiAgQSB1c2VmdWwgYW5hbG9neSBmb3IgY29tbWFuZCBjbGFzc2VzIGlzIHRvIHRoaW5rIG9mCisgICAgdGhlbSBhcyBzdWJyb3V0aW5lcyB3aXRoIGxvY2FsIHZhcmlhYmxlcyBjYWxsZWQgIm9wdGlvbnMiLiAgVGhlIG9wdGlvbnMKKyAgICBhcmUgImRlY2xhcmVkIiBpbiAnaW5pdGlhbGl6ZV9vcHRpb25zKCknIGFuZCAiZGVmaW5lZCIgKGdpdmVuIHRoZWlyCisgICAgZmluYWwgdmFsdWVzLCBha2EgImZpbmFsaXplZCIpIGluICdmaW5hbGl6ZV9vcHRpb25zKCknLCBib3RoIG9mIHdoaWNoCisgICAgbXVzdCBiZSBkZWZpbmVkIGJ5IGV2ZXJ5IGNvbW1hbmQgY2xhc3MuICBUaGUgZGlzdGluY3Rpb24gYmV0d2VlbiB0aGUKKyAgICB0d28gaXMgbmVjZXNzYXJ5IGJlY2F1c2Ugb3B0aW9uIHZhbHVlcyBtaWdodCBjb21lIGZyb20gdGhlIG91dHNpZGUKKyAgICB3b3JsZCAoY29tbWFuZCBsaW5lLCBjb25maWcgZmlsZSwgLi4uKSwgYW5kIGFueSBvcHRpb25zIGRlcGVuZGVudCBvbgorICAgIG90aGVyIG9wdGlvbnMgbXVzdCBiZSBjb21wdXRlZCAqYWZ0ZXIqIHRoZXNlIG91dHNpZGUgaW5mbHVlbmNlcyBoYXZlCisgICAgYmVlbiBwcm9jZXNzZWQgLS0gaGVuY2UgJ2ZpbmFsaXplX29wdGlvbnMoKScuICBUaGUgImJvZHkiIG9mIHRoZQorICAgIHN1YnJvdXRpbmUsIHdoZXJlIGl0IGRvZXMgYWxsIGl0cyB3b3JrIGJhc2VkIG9uIHRoZSB2YWx1ZXMgb2YgaXRzCisgICAgb3B0aW9ucywgaXMgdGhlICdydW4oKScgbWV0aG9kLCB3aGljaCBtdXN0IGFsc28gYmUgaW1wbGVtZW50ZWQgYnkgZXZlcnkKKyAgICBjb21tYW5kIGNsYXNzLgorICAgICIiIgorCisgICAgIyAnc3ViX2NvbW1hbmRzJyBmb3JtYWxpemVzIHRoZSBub3Rpb24gb2YgYSAiZmFtaWx5IiBvZiBjb21tYW5kcywKKyAgICAjIGVnLiAiaW5zdGFsbF9kaXN0IiBhcyB0aGUgcGFyZW50IHdpdGggc3ViLWNvbW1hbmRzICJpbnN0YWxsX2xpYiIsCisgICAgIyAiaW5zdGFsbF9oZWFkZXJzIiwgZXRjLiAgVGhlIHBhcmVudCBvZiBhIGZhbWlseSBvZiBjb21tYW5kcworICAgICMgZGVmaW5lcyAnc3ViX2NvbW1hbmRzJyBhcyBhIGNsYXNzIGF0dHJpYnV0ZTsgaXQncyBhIGxpc3Qgb2YKKyAgICAjICAgIChjb21tYW5kX25hbWUgOiBzdHJpbmcsIHByZWRpY2F0ZSA6IHVuYm91bmRfbWV0aG9kIHwgc3RyaW5nIHwgTm9uZSkKKyAgICAjIHR1cGxlcywgd2hlcmUgJ3ByZWRpY2F0ZScgaXMgYSBtZXRob2Qgb2YgdGhlIHBhcmVudCBjb21tYW5kIHRoYXQKKyAgICAjIGRldGVybWluZXMgd2hldGhlciB0aGUgY29ycmVzcG9uZGluZyBjb21tYW5kIGlzIGFwcGxpY2FibGUgaW4gdGhlCisgICAgIyBjdXJyZW50IHNpdHVhdGlvbi4gIChFZy4gd2UgImluc3RhbGxfaGVhZGVycyIgaXMgb25seSBhcHBsaWNhYmxlIGlmCisgICAgIyB3ZSBoYXZlIGFueSBDIGhlYWRlciBmaWxlcyB0byBpbnN0YWxsLikgIElmICdwcmVkaWNhdGUnIGlzIE5vbmUsCisgICAgIyB0aGF0IGNvbW1hbmQgaXMgYWx3YXlzIGFwcGxpY2FibGUuCisgICAgIworICAgICMgJ3N1Yl9jb21tYW5kcycgaXMgdXN1YWxseSBkZWZpbmVkIGF0IHRoZSAqZW5kKiBvZiBhIGNsYXNzLCBiZWNhdXNlCisgICAgIyBwcmVkaWNhdGVzIGNhbiBiZSB1bmJvdW5kIG1ldGhvZHMsIHNvIHRoZXkgbXVzdCBhbHJlYWR5IGhhdmUgYmVlbgorICAgICMgZGVmaW5lZC4gIFRoZSBjYW5vbmljYWwgZXhhbXBsZSBpcyB0aGUgImluc3RhbGxfZGlzdCIgY29tbWFuZC4KKyAgICBzdWJfY29tbWFuZHMgPSBbXQorCisgICAgIyBQcmUgYW5kIHBvc3QgY29tbWFuZCBob29rcyBhcmUgcnVuIGp1c3QgYmVmb3JlIG9yIGp1c3QgYWZ0ZXIgdGhlIGNvbW1hbmQKKyAgICAjIGl0c2VsZi4gVGhleSBhcmUgc2ltcGxlIGZ1bmN0aW9ucyB0aGF0IHJlY2VpdmUgdGhlIGNvbW1hbmQgaW5zdGFuY2UuIFRoZXkKKyAgICAjIGFyZSBzcGVjaWZpZWQgYXMgY2FsbGFibGUgb2JqZWN0cyBvciBkb3R0ZWQgc3RyaW5ncyAoZm9yIGxhenkgbG9hZGluZykuCisgICAgcHJlX2hvb2sgPSBOb25lCisgICAgcG9zdF9ob29rID0gTm9uZQorCisgICAgIyAtLSBDcmVhdGlvbi9pbml0aWFsaXphdGlvbiBtZXRob2RzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworICAgIGRlZiBfX2luaXRfXyhzZWxmLCBkaXN0KToKKyAgICAgICAgIiIiQ3JlYXRlIGFuZCBpbml0aWFsaXplIGEgbmV3IENvbW1hbmQgb2JqZWN0LiAgTW9zdCBpbXBvcnRhbnRseSwKKyAgICAgICAgaW52b2tlcyB0aGUgJ2luaXRpYWxpemVfb3B0aW9ucygpJyBtZXRob2QsIHdoaWNoIGlzIHRoZSByZWFsCisgICAgICAgIGluaXRpYWxpemVyIGFuZCBkZXBlbmRzIG9uIHRoZSBhY3R1YWwgY29tbWFuZCBiZWluZyBpbnN0YW50aWF0ZWQuCisgICAgICAgICIiIgorICAgICAgICAjIGxhdGUgaW1wb3J0IGJlY2F1c2Ugb2YgbXV0dWFsIGRlcGVuZGVuY2UgYmV0d2VlbiB0aGVzZSBjbGFzc2VzCisgICAgICAgIGZyb20gcGFja2FnaW5nLmRpc3QgaW1wb3J0IERpc3RyaWJ1dGlvbgorCisgICAgICAgIGlmIG5vdCBpc2luc3RhbmNlKGRpc3QsIERpc3RyaWJ1dGlvbik6CisgICAgICAgICAgICByYWlzZSBUeXBlRXJyb3IoImRpc3QgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBEaXN0cmlidXRpb24sIG5vdCAlciIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAlIHR5cGUoZGlzdCkpCisgICAgICAgIGlmIHNlbGYuX19jbGFzc19fIGlzIENvbW1hbmQ6CisgICAgICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IoIkNvbW1hbmQgaXMgYW4gYWJzdHJhY3QgY2xhc3MiKQorCisgICAgICAgIHNlbGYuZGlzdHJpYnV0aW9uID0gZGlzdAorICAgICAgICBzZWxmLmluaXRpYWxpemVfb3B0aW9ucygpCisKKyAgICAgICAgIyBQZXItY29tbWFuZCB2ZXJzaW9ucyBvZiB0aGUgZ2xvYmFsIGZsYWdzLCBzbyB0aGF0IHRoZSB1c2VyIGNhbgorICAgICAgICAjIGN1c3RvbWl6ZSBQYWNrYWdpbmcnIGJlaGF2aW91ciBjb21tYW5kLWJ5LWNvbW1hbmQgYW5kIGxldCBzb21lCisgICAgICAgICMgY29tbWFuZHMgZmFsbCBiYWNrIG9uIHRoZSBEaXN0cmlidXRpb24ncyBiZWhhdmlvdXIuICBOb25lIG1lYW5zCisgICAgICAgICMgIm5vdCBkZWZpbmVkLCBjaGVjayBzZWxmLmRpc3RyaWJ1dGlvbidzIGNvcHkiLCB3aGlsZSAwIG9yIDEgbWVhbgorICAgICAgICAjIGZhbHNlIGFuZCB0cnVlIChkdWgpLiAgTm90ZSB0aGF0IHRoaXMgbWVhbnMgZmlndXJpbmcgb3V0IHRoZSByZWFsCisgICAgICAgICMgdmFsdWUgb2YgZWFjaCBmbGFnIGlzIGEgdG91Y2ggY29tcGxpY2F0ZWQgLS0gaGVuY2UgInNlbGYuX2RyeV9ydW4iCisgICAgICAgICMgd2lsbCBiZSBoYW5kbGVkIGJ5IGEgcHJvcGVydHksIGJlbG93LgorICAgICAgICAjIFhYWCBUaGlzIG5lZWRzIHRvIGJlIGZpeGVkLiBbSSBjaGFuZ2VkIGl0IHRvIGEgcHJvcGVydHktLWRvZXMgdGhhdAorICAgICAgICAjICAgICAiZml4IiBpdD9dCisgICAgICAgIHNlbGYuX2RyeV9ydW4gPSBOb25lCisKKyAgICAgICAgIyBTb21lIGNvbW1hbmRzIGRlZmluZSBhICdzZWxmLmZvcmNlJyBvcHRpb24gdG8gaWdub3JlIGZpbGUKKyAgICAgICAgIyB0aW1lc3RhbXBzLCBidXQgbWV0aG9kcyBkZWZpbmVkICpoZXJlKiBhc3N1bWUgdGhhdAorICAgICAgICAjICdzZWxmLmZvcmNlJyBleGlzdHMgZm9yIGFsbCBjb21tYW5kcy4gIFNvIGRlZmluZSBpdCBoZXJlCisgICAgICAgICMganVzdCB0byBiZSBzYWZlLgorICAgICAgICBzZWxmLmZvcmNlID0gTm9uZQorCisgICAgICAgICMgVGhlICdoZWxwJyBmbGFnIGlzIGp1c3QgdXNlZCBmb3IgY29tbWFuZCBsaW5lIHBhcnNpbmcsIHNvCisgICAgICAgICMgbm9uZSBvZiB0aGF0IGNvbXBsaWNhdGVkIGJ1cmVhdWNyYWN5IGlzIG5lZWRlZC4KKyAgICAgICAgc2VsZi5oZWxwID0gRmFsc2UKKworICAgICAgICAjICdmaW5hbGl6ZWQnIHJlY29yZHMgd2hldGhlciBvciBub3QgJ2ZpbmFsaXplX29wdGlvbnMoKScgaGFzIGJlZW4KKyAgICAgICAgIyBjYWxsZWQuICAnZmluYWxpemVfb3B0aW9ucygpJyBpdHNlbGYgc2hvdWxkIG5vdCBwYXkgYXR0ZW50aW9uIHRvCisgICAgICAgICMgdGhpcyBmbGFnOiBpdCBpcyB0aGUgYnVzaW5lc3Mgb2YgJ2Vuc3VyZV9maW5hbGl6ZWQoKScsIHdoaWNoCisgICAgICAgICMgYWx3YXlzIGNhbGxzICdmaW5hbGl6ZV9vcHRpb25zKCknLCB0byByZXNwZWN0L3VwZGF0ZSBpdC4KKyAgICAgICAgc2VsZi5maW5hbGl6ZWQgPSBGYWxzZQorCisgICAgIyBYWFggQSBtb3JlIGV4cGxpY2l0IHdheSB0byBjdXN0b21pemUgZHJ5X3J1biB3b3VsZCBiZSBiZXR0ZXIuCisgICAgQHByb3BlcnR5CisgICAgZGVmIGRyeV9ydW4oc2VsZik6CisgICAgICAgIGlmIHNlbGYuX2RyeV9ydW4gaXMgTm9uZToKKyAgICAgICAgICAgIHJldHVybiBnZXRhdHRyKHNlbGYuZGlzdHJpYnV0aW9uLCAnZHJ5X3J1bicpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByZXR1cm4gc2VsZi5fZHJ5X3J1bgorCisgICAgZGVmIGVuc3VyZV9maW5hbGl6ZWQoc2VsZik6CisgICAgICAgIGlmIG5vdCBzZWxmLmZpbmFsaXplZDoKKyAgICAgICAgICAgIHNlbGYuZmluYWxpemVfb3B0aW9ucygpCisgICAgICAgIHNlbGYuZmluYWxpemVkID0gVHJ1ZQorCisgICAgIyBTdWJjbGFzc2VzIG11c3QgZGVmaW5lOgorICAgICMgICBpbml0aWFsaXplX29wdGlvbnMoKQorICAgICMgICAgIHByb3ZpZGUgZGVmYXVsdCB2YWx1ZXMgZm9yIGFsbCBvcHRpb25zOyBtYXkgYmUgY3VzdG9taXplZCBieQorICAgICMgICAgIHNldHVwIHNjcmlwdCwgYnkgb3B0aW9ucyBmcm9tIGNvbmZpZyBmaWxlKHMpLCBvciBieSBjb21tYW5kLWxpbmUKKyAgICAjICAgICBvcHRpb25zCisgICAgIyAgIGZpbmFsaXplX29wdGlvbnMoKQorICAgICMgICAgIGRlY2lkZSBvbiB0aGUgZmluYWwgdmFsdWVzIGZvciBhbGwgb3B0aW9uczsgdGhpcyBpcyBjYWxsZWQKKyAgICAjICAgICBhZnRlciBhbGwgcG9zc2libGUgaW50ZXJ2ZW50aW9uIGZyb20gdGhlIG91dHNpZGUgd29ybGQKKyAgICAjICAgICAoY29tbWFuZCBsaW5lLCBvcHRpb24gZmlsZSwgZXRjLikgaGFzIGJlZW4gcHJvY2Vzc2VkCisgICAgIyAgIHJ1bigpCisgICAgIyAgICAgcnVuIHRoZSBjb21tYW5kOiBkbyB3aGF0ZXZlciBpdCBpcyB3ZSdyZSBoZXJlIHRvIGRvLAorICAgICMgICAgIGNvbnRyb2xsZWQgYnkgdGhlIGNvbW1hbmQncyB2YXJpb3VzIG9wdGlvbiB2YWx1ZXMKKworICAgIGRlZiBpbml0aWFsaXplX29wdGlvbnMoc2VsZik6CisgICAgICAgICIiIlNldCBkZWZhdWx0IHZhbHVlcyBmb3IgYWxsIHRoZSBvcHRpb25zIHRoYXQgdGhpcyBjb21tYW5kCisgICAgICAgIHN1cHBvcnRzLiAgTm90ZSB0aGF0IHRoZXNlIGRlZmF1bHRzIG1heSBiZSBvdmVycmlkZGVuIGJ5IG90aGVyCisgICAgICAgIGNvbW1hbmRzLCBieSB0aGUgc2V0dXAgc2NyaXB0LCBieSBjb25maWcgZmlsZXMsIG9yIGJ5IHRoZQorICAgICAgICBjb21tYW5kIGxpbmUuICBUaHVzLCB0aGlzIGlzIG5vdCB0aGUgcGxhY2UgdG8gY29kZSBkZXBlbmRlbmNpZXMKKyAgICAgICAgYmV0d2VlbiBvcHRpb25zOyBnZW5lcmFsbHksICdpbml0aWFsaXplX29wdGlvbnMoKScgaW1wbGVtZW50YXRpb25zCisgICAgICAgIGFyZSBqdXN0IGEgYnVuY2ggb2YgInNlbGYuZm9vID0gTm9uZSIgYXNzaWdubWVudHMuCisKKyAgICAgICAgVGhpcyBtZXRob2QgbXVzdCBiZSBpbXBsZW1lbnRlZCBieSBhbGwgY29tbWFuZCBjbGFzc2VzLgorICAgICAgICAiIiIKKyAgICAgICAgcmFpc2UgUnVudGltZUVycm9yKAorICAgICAgICAgICAgImFic3RyYWN0IG1ldGhvZCAtLSBzdWJjbGFzcyAlcyBtdXN0IG92ZXJyaWRlIiAlIHNlbGYuX19jbGFzc19fKQorCisgICAgZGVmIGZpbmFsaXplX29wdGlvbnMoc2VsZik6CisgICAgICAgICIiIlNldCBmaW5hbCB2YWx1ZXMgZm9yIGFsbCB0aGUgb3B0aW9ucyB0aGF0IHRoaXMgY29tbWFuZCBzdXBwb3J0cy4KKyAgICAgICAgVGhpcyBpcyBhbHdheXMgY2FsbGVkIGFzIGxhdGUgYXMgcG9zc2libGUsIGllLiAgYWZ0ZXIgYW55IG9wdGlvbgorICAgICAgICBhc3NpZ25tZW50cyBmcm9tIHRoZSBjb21tYW5kIGxpbmUgb3IgZnJvbSBvdGhlciBjb21tYW5kcyBoYXZlIGJlZW4KKyAgICAgICAgZG9uZS4gIFRodXMsIHRoaXMgaXMgdGhlIHBsYWNlIHRvIGNvZGUgb3B0aW9uIGRlcGVuZGVuY2llczogaWYKKyAgICAgICAgJ2ZvbycgZGVwZW5kcyBvbiAnYmFyJywgdGhlbiBpdCBpcyBzYWZlIHRvIHNldCAnZm9vJyBmcm9tICdiYXInIGFzCisgICAgICAgIGxvbmcgYXMgJ2Zvbycgc3RpbGwgaGFzIHRoZSBzYW1lIHZhbHVlIGl0IHdhcyBhc3NpZ25lZCBpbgorICAgICAgICAnaW5pdGlhbGl6ZV9vcHRpb25zKCknLgorCisgICAgICAgIFRoaXMgbWV0aG9kIG11c3QgYmUgaW1wbGVtZW50ZWQgYnkgYWxsIGNvbW1hbmQgY2xhc3Nlcy4KKyAgICAgICAgIiIiCisgICAgICAgIHJhaXNlIFJ1bnRpbWVFcnJvcigKKyAgICAgICAgICAgICJhYnN0cmFjdCBtZXRob2QgLS0gc3ViY2xhc3MgJXMgbXVzdCBvdmVycmlkZSIgJSBzZWxmLl9fY2xhc3NfXykKKworICAgIGRlZiBkdW1wX29wdGlvbnMoc2VsZiwgaGVhZGVyPU5vbmUsIGluZGVudD0iIik6CisgICAgICAgIGlmIGhlYWRlciBpcyBOb25lOgorICAgICAgICAgICAgaGVhZGVyID0gImNvbW1hbmQgb3B0aW9ucyBmb3IgJyVzJzoiICUgc2VsZi5nZXRfY29tbWFuZF9uYW1lKCkKKyAgICAgICAgbG9nZ2VyLmluZm8oaW5kZW50ICsgaGVhZGVyKQorICAgICAgICBpbmRlbnQgPSBpbmRlbnQgKyAiICAiCisgICAgICAgIG5lZ2F0aXZlX29wdCA9IGdldGF0dHIoc2VsZiwgJ25lZ2F0aXZlX29wdCcsICgpKQorICAgICAgICBmb3Igb3B0aW9uLCBfLCBfIGluIHNlbGYudXNlcl9vcHRpb25zOgorICAgICAgICAgICAgaWYgb3B0aW9uIGluIG5lZ2F0aXZlX29wdDoKKyAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgb3B0aW9uID0gb3B0aW9uLnJlcGxhY2UoJy0nLCAnXycpCisgICAgICAgICAgICBpZiBvcHRpb25bLTFdID09ICI9IjoKKyAgICAgICAgICAgICAgICBvcHRpb24gPSBvcHRpb25bOi0xXQorICAgICAgICAgICAgdmFsdWUgPSBnZXRhdHRyKHNlbGYsIG9wdGlvbikKKyAgICAgICAgICAgIGxvZ2dlci5pbmZvKGluZGVudCArICIlcyA9ICVzIiwgb3B0aW9uLCB2YWx1ZSkKKworICAgIGRlZiBydW4oc2VsZik6CisgICAgICAgICIiIkEgY29tbWFuZCdzIHJhaXNvbiBkJ2V0cmU6IGNhcnJ5IG91dCB0aGUgYWN0aW9uIGl0IGV4aXN0cyB0bworICAgICAgICBwZXJmb3JtLCBjb250cm9sbGVkIGJ5IHRoZSBvcHRpb25zIGluaXRpYWxpemVkIGluCisgICAgICAgICdpbml0aWFsaXplX29wdGlvbnMoKScsIGN1c3RvbWl6ZWQgYnkgb3RoZXIgY29tbWFuZHMsIHRoZSBzZXR1cAorICAgICAgICBzY3JpcHQsIHRoZSBjb21tYW5kIGxpbmUgYW5kIGNvbmZpZyBmaWxlcywgYW5kIGZpbmFsaXplZCBpbgorICAgICAgICAnZmluYWxpemVfb3B0aW9ucygpJy4gIEFsbCB0ZXJtaW5hbCBvdXRwdXQgYW5kIGZpbGVzeXN0ZW0KKyAgICAgICAgaW50ZXJhY3Rpb24gc2hvdWxkIGJlIGRvbmUgYnkgJ3J1bigpJy4KKworICAgICAgICBUaGlzIG1ldGhvZCBtdXN0IGJlIGltcGxlbWVudGVkIGJ5IGFsbCBjb21tYW5kIGNsYXNzZXMuCisgICAgICAgICIiIgorICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IoCisgICAgICAgICAgICAiYWJzdHJhY3QgbWV0aG9kIC0tIHN1YmNsYXNzICVzIG11c3Qgb3ZlcnJpZGUiICUgc2VsZi5fX2NsYXNzX18pCisKKyAgICAjIC0tIEV4dGVybmFsIGludGVyZmFjZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgICMgKGNhbGxlZCBieSBvdXRzaWRlcnMpCisKKyAgICBkZWYgZ2V0X3NvdXJjZV9maWxlcyhzZWxmKToKKyAgICAgICAgIiIiUmV0dXJuIHRoZSBsaXN0IG9mIGZpbGVzIHRoYXQgYXJlIHVzZWQgYXMgaW5wdXRzIHRvIHRoaXMgY29tbWFuZCwKKyAgICAgICAgaS5lLiB0aGUgZmlsZXMgdXNlZCB0byBnZW5lcmF0ZSB0aGUgb3V0cHV0IGZpbGVzLiAgVGhlIHJlc3VsdCBpcyB1c2VkCisgICAgICAgIGJ5IHRoZSBgc2Rpc3RgIGNvbW1hbmQgaW4gZGV0ZXJtaW5pbmcgdGhlIHNldCBvZiBkZWZhdWx0IGZpbGVzLgorCisgICAgICAgIENvbW1hbmQgY2xhc3NlcyBzaG91bGQgaW1wbGVtZW50IHRoaXMgbWV0aG9kIGlmIHRoZXkgb3BlcmF0ZSBvbiBmaWxlcworICAgICAgICBmcm9tIHRoZSBzb3VyY2UgdHJlZS4KKyAgICAgICAgIiIiCisgICAgICAgIHJldHVybiBbXQorCisgICAgZGVmIGdldF9vdXRwdXRzKHNlbGYpOgorICAgICAgICAiIiJSZXR1cm4gdGhlIGxpc3Qgb2YgZmlsZXMgdGhhdCB3b3VsZCBiZSBwcm9kdWNlZCBpZiB0aGlzIGNvbW1hbmQKKyAgICAgICAgd2VyZSBhY3R1YWxseSBydW4uICBOb3QgYWZmZWN0ZWQgYnkgdGhlICJkcnktcnVuIiBmbGFnIG9yIHdoZXRoZXIKKyAgICAgICAgYW55IG90aGVyIGNvbW1hbmRzIGhhdmUgYmVlbiBydW4uCisKKyAgICAgICAgQ29tbWFuZCBjbGFzc2VzIHNob3VsZCBpbXBsZW1lbnQgdGhpcyBtZXRob2QgaWYgdGhleSBwcm9kdWNlIGFueQorICAgICAgICBvdXRwdXQgZmlsZXMgdGhhdCBnZXQgY29uc3VtZWQgYnkgYW5vdGhlciBjb21tYW5kLiAgZS5nLiwgYGJ1aWxkX2V4dGAKKyAgICAgICAgcmV0dXJucyB0aGUgbGlzdCBvZiBidWlsdCBleHRlbnNpb24gbW9kdWxlcywgYnV0IG5vdCBhbnkgdGVtcG9yYXJ5CisgICAgICAgIGZpbGVzIHVzZWQgaW4gdGhlIGNvbXBpbGF0aW9uIHByb2Nlc3MuCisgICAgICAgICIiIgorICAgICAgICByZXR1cm4gW10KKworICAgICMgLS0gT3B0aW9uIHZhbGlkYXRpb24gbWV0aG9kcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAgIyAodGhlc2UgYXJlIHZlcnkgaGFuZHkgaW4gd3JpdGluZyB0aGUgJ2ZpbmFsaXplX29wdGlvbnMoKScgbWV0aG9kKQorICAgICMKKyAgICAjIE5CLiB0aGUgZ2VuZXJhbCBwaGlsb3NvcGh5IGhlcmUgaXMgdG8gZW5zdXJlIHRoYXQgYSBwYXJ0aWN1bGFyIG9wdGlvbgorICAgICMgdmFsdWUgbWVldHMgY2VydGFpbiB0eXBlIGFuZCB2YWx1ZSBjb25zdHJhaW50cy4gIElmIG5vdCwgd2UgdHJ5IHRvCisgICAgIyBmb3JjZSBpdCBpbnRvIGNvbmZvcm1hbmNlIChlZy4gaWYgd2UgZXhwZWN0IGEgbGlzdCBidXQgaGF2ZSBhIHN0cmluZywKKyAgICAjIHNwbGl0IHRoZSBzdHJpbmcgb24gY29tbWEgYW5kL29yIHdoaXRlc3BhY2UpLiAgSWYgd2UgY2FuJ3QgZm9yY2UgdGhlCisgICAgIyBvcHRpb24gaW50byBjb25mb3JtYW5jZSwgcmFpc2UgUGFja2FnaW5nT3B0aW9uRXJyb3IuICBUaHVzLCBjb21tYW5kCisgICAgIyBjbGFzc2VzIG5lZWQgZG8gbm90aGluZyBtb3JlIHRoYW4gKGVnLikKKyAgICAjICAgc2VsZi5lbnN1cmVfc3RyaW5nX2xpc3QoJ2ZvbycpCisgICAgIyBhbmQgdGhleSBjYW4gYmUgZ3VhcmFudGVlZCB0aGF0IHRoZXJlYWZ0ZXIsIHNlbGYuZm9vIHdpbGwgYmUKKyAgICAjIGEgbGlzdCBvZiBzdHJpbmdzLgorCisgICAgZGVmIF9lbnN1cmVfc3RyaW5nbGlrZShzZWxmLCBvcHRpb24sIHdoYXQsIGRlZmF1bHQ9Tm9uZSk6CisgICAgICAgIHZhbCA9IGdldGF0dHIoc2VsZiwgb3B0aW9uKQorICAgICAgICBpZiB2YWwgaXMgTm9uZToKKyAgICAgICAgICAgIHNldGF0dHIoc2VsZiwgb3B0aW9uLCBkZWZhdWx0KQorICAgICAgICAgICAgcmV0dXJuIGRlZmF1bHQKKyAgICAgICAgZWxpZiBub3QgaXNpbnN0YW5jZSh2YWwsIHN0cik6CisgICAgICAgICAgICByYWlzZSBQYWNrYWdpbmdPcHRpb25FcnJvcigiJyVzJyBtdXN0IGJlIGEgJXMgKGdvdCBgJXNgKSIgJQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9wdGlvbiwgd2hhdCwgdmFsKSkKKyAgICAgICAgcmV0dXJuIHZhbAorCisgICAgZGVmIGVuc3VyZV9zdHJpbmcoc2VsZiwgb3B0aW9uLCBkZWZhdWx0PU5vbmUpOgorICAgICAgICAiIiJFbnN1cmUgdGhhdCAnb3B0aW9uJyBpcyBhIHN0cmluZzsgaWYgbm90IGRlZmluZWQsIHNldCBpdCB0bworICAgICAgICAnZGVmYXVsdCcuCisgICAgICAgICIiIgorICAgICAgICBzZWxmLl9lbnN1cmVfc3RyaW5nbGlrZShvcHRpb24sICJzdHJpbmciLCBkZWZhdWx0KQorCisgICAgZGVmIGVuc3VyZV9zdHJpbmdfbGlzdChzZWxmLCBvcHRpb24pOgorICAgICAgICByIiIiRW5zdXJlIHRoYXQgJ29wdGlvbicgaXMgYSBsaXN0IG9mIHN0cmluZ3MuICBJZiAnb3B0aW9uJyBpcworICAgICAgICBjdXJyZW50bHkgYSBzdHJpbmcsIHdlIHNwbGl0IGl0IGVpdGhlciBvbiAvLFxzKi8gb3IgL1xzKy8sIHNvCisgICAgICAgICJmb28gYmFyIGJheiIsICJmb28sYmFyLGJheiIsIGFuZCAiZm9vLCAgIGJhciBiYXoiIGFsbCBiZWNvbWUKKyAgICAgICAgWyJmb28iLCAiYmFyIiwgImJheiJdLgorICAgICAgICAiIiIKKyAgICAgICAgdmFsID0gZ2V0YXR0cihzZWxmLCBvcHRpb24pCisgICAgICAgIGlmIHZhbCBpcyBOb25lOgorICAgICAgICAgICAgcmV0dXJuCisgICAgICAgIGVsaWYgaXNpbnN0YW5jZSh2YWwsIHN0cik6CisgICAgICAgICAgICBzZXRhdHRyKHNlbGYsIG9wdGlvbiwgcmUuc3BsaXQocicsXHMqfFxzKycsIHZhbCkpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBpZiBpc2luc3RhbmNlKHZhbCwgbGlzdCk6CisgICAgICAgICAgICAgICAgIyBjaGVja3MgaWYgYWxsIGVsZW1lbnRzIGFyZSBzdHIKKyAgICAgICAgICAgICAgICBvayA9IFRydWUKKyAgICAgICAgICAgICAgICBmb3IgZWxlbWVudCBpbiB2YWw6CisgICAgICAgICAgICAgICAgICAgIGlmIG5vdCBpc2luc3RhbmNlKGVsZW1lbnQsIHN0cik6CisgICAgICAgICAgICAgICAgICAgICAgICBvayA9IEZhbHNlCisgICAgICAgICAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBvayA9IEZhbHNlCisKKyAgICAgICAgICAgIGlmIG5vdCBvazoKKyAgICAgICAgICAgICAgICByYWlzZSBQYWNrYWdpbmdPcHRpb25FcnJvcigKKyAgICAgICAgICAgICAgICAgICAgIiclcycgbXVzdCBiZSBhIGxpc3Qgb2Ygc3RyaW5ncyAoZ290ICVyKSIgJSAob3B0aW9uLCB2YWwpKQorCisgICAgZGVmIF9lbnN1cmVfdGVzdGVkX3N0cmluZyhzZWxmLCBvcHRpb24sIHRlc3RlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdoYXQsIGVycm9yX2ZtdCwgZGVmYXVsdD1Ob25lKToKKyAgICAgICAgdmFsID0gc2VsZi5fZW5zdXJlX3N0cmluZ2xpa2Uob3B0aW9uLCB3aGF0LCBkZWZhdWx0KQorICAgICAgICBpZiB2YWwgaXMgbm90IE5vbmUgYW5kIG5vdCB0ZXN0ZXIodmFsKToKKyAgICAgICAgICAgIHJhaXNlIFBhY2thZ2luZ09wdGlvbkVycm9yKAorICAgICAgICAgICAgICAgICgiZXJyb3IgaW4gJyVzJyBvcHRpb246ICIgKyBlcnJvcl9mbXQpICUgKG9wdGlvbiwgdmFsKSkKKworICAgIGRlZiBlbnN1cmVfZmlsZW5hbWUoc2VsZiwgb3B0aW9uKToKKyAgICAgICAgIiIiRW5zdXJlIHRoYXQgJ29wdGlvbicgaXMgdGhlIG5hbWUgb2YgYW4gZXhpc3RpbmcgZmlsZS4iIiIKKyAgICAgICAgc2VsZi5fZW5zdXJlX3Rlc3RlZF9zdHJpbmcob3B0aW9uLCBvcy5wYXRoLmlzZmlsZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImZpbGVuYW1lIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiclcycgZG9lcyBub3QgZXhpc3Qgb3IgaXMgbm90IGEgZmlsZSIpCisKKyAgICBkZWYgZW5zdXJlX2Rpcm5hbWUoc2VsZiwgb3B0aW9uKToKKyAgICAgICAgc2VsZi5fZW5zdXJlX3Rlc3RlZF9zdHJpbmcob3B0aW9uLCBvcy5wYXRoLmlzZGlyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGlyZWN0b3J5IG5hbWUiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiJyVzJyBkb2VzIG5vdCBleGlzdCBvciBpcyBub3QgYSBkaXJlY3RvcnkiKQorCisgICAgIyAtLSBDb252ZW5pZW5jZSBtZXRob2RzIGZvciBjb21tYW5kcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworICAgIEBjbGFzc21ldGhvZAorICAgIGRlZiBnZXRfY29tbWFuZF9uYW1lKGNscyk6CisgICAgICAgIGlmIGhhc2F0dHIoY2xzLCAnY29tbWFuZF9uYW1lJyk6CisgICAgICAgICAgICByZXR1cm4gY2xzLmNvbW1hbmRfbmFtZQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmV0dXJuIGNscy5fX25hbWVfXworCisgICAgZGVmIHNldF91bmRlZmluZWRfb3B0aW9ucyhzZWxmLCBzcmNfY21kLCAqb3B0aW9ucyk6CisgICAgICAgICIiIlNldCB2YWx1ZXMgb2YgdW5kZWZpbmVkIG9wdGlvbnMgZnJvbSBhbm90aGVyIGNvbW1hbmQuCisKKyAgICAgICAgVW5kZWZpbmVkIG9wdGlvbnMgYXJlIG9wdGlvbnMgc2V0IHRvIE5vbmUsIHdoaWNoIGlzIHRoZSBjb252ZW50aW9uCisgICAgICAgIHVzZWQgdG8gaW5kaWNhdGUgdGhhdCBhbiBvcHRpb24gaGFzIG5vdCBiZWVuIGNoYW5nZWQgYmV0d2VlbgorICAgICAgICAnaW5pdGlhbGl6ZV9vcHRpb25zKCknIGFuZCAnZmluYWxpemVfb3B0aW9ucygpJy4gIFRoaXMgbWV0aG9kIGlzCisgICAgICAgIHVzdWFsbHkgY2FsbGVkIGZyb20gJ2ZpbmFsaXplX29wdGlvbnMoKScgZm9yIG9wdGlvbnMgdGhhdCBkZXBlbmQgb24KKyAgICAgICAgc29tZSBvdGhlciBjb21tYW5kIHJhdGhlciB0aGFuIGFub3RoZXIgb3B0aW9uIG9mIHRoZSBzYW1lIGNvbW1hbmQsCisgICAgICAgIHR5cGljYWxseSBzdWJjb21tYW5kcy4KKworICAgICAgICBUaGUgJ3NyY19jbWQnIGFyZ3VtZW50IGlzIHRoZSBvdGhlciBjb21tYW5kIGZyb20gd2hpY2ggb3B0aW9uIHZhbHVlcworICAgICAgICB3aWxsIGJlIHRha2VuIChhIGNvbW1hbmQgb2JqZWN0IHdpbGwgYmUgY3JlYXRlZCBmb3IgaXQgaWYgbmVjZXNzYXJ5KTsKKyAgICAgICAgdGhlIHJlbWFpbmluZyBwb3NpdGlvbmFsIGFyZ3VtZW50cyBhcmUgc3RyaW5ncyB0aGF0IGdpdmUgdGhlIG5hbWUgb2YKKyAgICAgICAgdGhlIG9wdGlvbiB0byBzZXQuIElmIHRoZSBuYW1lIGlzIGRpZmZlcmVudCBvbiB0aGUgc291cmNlIGFuZCB0YXJnZXQKKyAgICAgICAgY29tbWFuZCwgeW91IGNhbiBwYXNzIGEgdHVwbGUgd2l0aCAnKG5hbWVfb25fc291cmNlLCBuYW1lX29uX2Rlc3QpJyBzbworICAgICAgICB0aGF0ICdzZWxmLm5hbWVfb25fZGVzdCcgd2lsbCBiZSBzZXQgZnJvbSAnc3JjX2NtZC5uYW1lX29uX3NvdXJjZScuCisgICAgICAgICIiIgorICAgICAgICBzcmNfY21kX29iaiA9IHNlbGYuZGlzdHJpYnV0aW9uLmdldF9jb21tYW5kX29iaihzcmNfY21kKQorICAgICAgICBzcmNfY21kX29iai5lbnN1cmVfZmluYWxpemVkKCkKKyAgICAgICAgZm9yIG9iaiBpbiBvcHRpb25zOgorICAgICAgICAgICAgaWYgaXNpbnN0YW5jZShvYmosIHR1cGxlKToKKyAgICAgICAgICAgICAgICBzcmNfb3B0aW9uLCBkc3Rfb3B0aW9uID0gb2JqCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHNyY19vcHRpb24sIGRzdF9vcHRpb24gPSBvYmosIG9iagorICAgICAgICAgICAgaWYgZ2V0YXR0cihzZWxmLCBkc3Rfb3B0aW9uKSBpcyBOb25lOgorICAgICAgICAgICAgICAgIHNldGF0dHIoc2VsZiwgZHN0X29wdGlvbiwKKyAgICAgICAgICAgICAgICAgICAgICAgIGdldGF0dHIoc3JjX2NtZF9vYmosIHNyY19vcHRpb24pKQorCisgICAgZGVmIGdldF9maW5hbGl6ZWRfY29tbWFuZChzZWxmLCBjb21tYW5kLCBjcmVhdGU9VHJ1ZSk6CisgICAgICAgICIiIldyYXBwZXIgYXJvdW5kIERpc3RyaWJ1dGlvbidzICdnZXRfY29tbWFuZF9vYmooKScgbWV0aG9kOiBmaW5kCisgICAgICAgIChjcmVhdGUgaWYgbmVjZXNzYXJ5IGFuZCAnY3JlYXRlJyBpcyB0cnVlKSB0aGUgY29tbWFuZCBvYmplY3QgZm9yCisgICAgICAgICdjb21tYW5kJywgY2FsbCBpdHMgJ2Vuc3VyZV9maW5hbGl6ZWQoKScgbWV0aG9kLCBhbmQgcmV0dXJuIHRoZQorICAgICAgICBmaW5hbGl6ZWQgY29tbWFuZCBvYmplY3QuCisgICAgICAgICIiIgorICAgICAgICBjbWRfb2JqID0gc2VsZi5kaXN0cmlidXRpb24uZ2V0X2NvbW1hbmRfb2JqKGNvbW1hbmQsIGNyZWF0ZSkKKyAgICAgICAgY21kX29iai5lbnN1cmVfZmluYWxpemVkKCkKKyAgICAgICAgcmV0dXJuIGNtZF9vYmoKKworICAgIGRlZiByZWluaXRpYWxpemVfY29tbWFuZChzZWxmLCBjb21tYW5kLCByZWluaXRfc3ViY29tbWFuZHM9RmFsc2UpOgorICAgICAgICByZXR1cm4gc2VsZi5kaXN0cmlidXRpb24ucmVpbml0aWFsaXplX2NvbW1hbmQoCisgICAgICAgICAgICBjb21tYW5kLCByZWluaXRfc3ViY29tbWFuZHMpCisKKyAgICBkZWYgcnVuX2NvbW1hbmQoc2VsZiwgY29tbWFuZCk6CisgICAgICAgICIiIlJ1biBzb21lIG90aGVyIGNvbW1hbmQ6IHVzZXMgdGhlICdydW5fY29tbWFuZCgpJyBtZXRob2Qgb2YKKyAgICAgICAgRGlzdHJpYnV0aW9uLCB3aGljaCBjcmVhdGVzIGFuZCBmaW5hbGl6ZXMgdGhlIGNvbW1hbmQgb2JqZWN0IGlmCisgICAgICAgIG5lY2Vzc2FyeSBhbmQgdGhlbiBpbnZva2VzIGl0cyAncnVuKCknIG1ldGhvZC4KKyAgICAgICAgIiIiCisgICAgICAgIHNlbGYuZGlzdHJpYnV0aW9uLnJ1bl9jb21tYW5kKGNvbW1hbmQpCisKKyAgICBkZWYgZ2V0X3N1Yl9jb21tYW5kcyhzZWxmKToKKyAgICAgICAgIiIiRGV0ZXJtaW5lIHRoZSBzdWItY29tbWFuZHMgdGhhdCBhcmUgcmVsZXZhbnQgaW4gdGhlIGN1cnJlbnQKKyAgICAgICAgZGlzdHJpYnV0aW9uIChpZS4sIHRoYXQgbmVlZCB0byBiZSBydW4pLiAgVGhpcyBpcyBiYXNlZCBvbiB0aGUKKyAgICAgICAgJ3N1Yl9jb21tYW5kcycgY2xhc3MgYXR0cmlidXRlOiBlYWNoIHR1cGxlIGluIHRoYXQgbGlzdCBtYXkgaW5jbHVkZQorICAgICAgICBhIG1ldGhvZCB0aGF0IHdlIGNhbGwgdG8gZGV0ZXJtaW5lIGlmIHRoZSBzdWJjb21tYW5kIG5lZWRzIHRvIGJlCisgICAgICAgIHJ1biBmb3IgdGhlIGN1cnJlbnQgZGlzdHJpYnV0aW9uLiAgUmV0dXJuIGEgbGlzdCBvZiBjb21tYW5kIG5hbWVzLgorICAgICAgICAiIiIKKyAgICAgICAgY29tbWFuZHMgPSBbXQorICAgICAgICBmb3Igc3ViX2NvbW1hbmQgaW4gc2VsZi5zdWJfY29tbWFuZHM6CisgICAgICAgICAgICBpZiBsZW4oc3ViX2NvbW1hbmQpID09IDI6CisgICAgICAgICAgICAgICAgY21kX25hbWUsIG1ldGhvZCA9IHN1Yl9jb21tYW5kCisgICAgICAgICAgICAgICAgaWYgbWV0aG9kIGlzIE5vbmUgb3IgbWV0aG9kKHNlbGYpOgorICAgICAgICAgICAgICAgICAgICBjb21tYW5kcy5hcHBlbmQoY21kX25hbWUpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIGNvbW1hbmRzLmFwcGVuZChzdWJfY29tbWFuZCkKKyAgICAgICAgcmV0dXJuIGNvbW1hbmRzCisKKyAgICAjIC0tIEV4dGVybmFsIHdvcmxkIG1hbmlwdWxhdGlvbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisgICAgZGVmIGV4ZWN1dGUoc2VsZiwgZnVuYywgYXJncywgbXNnPU5vbmUsIGxldmVsPTEpOgorICAgICAgICB1dGlsLmV4ZWN1dGUoZnVuYywgYXJncywgbXNnLCBkcnlfcnVuPXNlbGYuZHJ5X3J1bikKKworICAgIGRlZiBta3BhdGgoc2VsZiwgbmFtZSwgbW9kZT0wbzc3NywgZHJ5X3J1bj1Ob25lKToKKyAgICAgICAgaWYgZHJ5X3J1biBpcyBOb25lOgorICAgICAgICAgICAgZHJ5X3J1biA9IHNlbGYuZHJ5X3J1bgorICAgICAgICBuYW1lID0gb3MucGF0aC5ub3JtcGF0aChuYW1lKQorICAgICAgICBpZiBvcy5wYXRoLmlzZGlyKG5hbWUpIG9yIG5hbWUgPT0gJyc6CisgICAgICAgICAgICByZXR1cm4KKyAgICAgICAgaWYgZHJ5X3J1bjoKKyAgICAgICAgICAgIGhlYWQgPSAnJworICAgICAgICAgICAgZm9yIHBhcnQgaW4gbmFtZS5zcGxpdChvcy5zZXApOgorICAgICAgICAgICAgICAgIGxvZ2dlci5pbmZvKCJjcmVhdGVkIGRpcmVjdG9yeSAlcyVzIiwgaGVhZCwgcGFydCkKKyAgICAgICAgICAgICAgICBoZWFkICs9IHBhcnQgKyBvcy5zZXAKKyAgICAgICAgICAgIHJldHVybgorICAgICAgICBvcy5tYWtlZGlycyhuYW1lLCBtb2RlKQorCisgICAgZGVmIGNvcHlfZmlsZShzZWxmLCBpbmZpbGUsIG91dGZpbGUsCisgICAgICAgICAgICAgICAgICBwcmVzZXJ2ZV9tb2RlPVRydWUsIHByZXNlcnZlX3RpbWVzPVRydWUsIGxpbms9Tm9uZSwgbGV2ZWw9MSk6CisgICAgICAgICIiIkNvcHkgYSBmaWxlIHJlc3BlY3RpbmcgZHJ5LXJ1biBhbmQgZm9yY2UgZmxhZ3MuCisKKyAgICAgICAgKGRyeS1ydW4gZGVmYXVsdHMgdG8gd2hhdGV2ZXIgaXMgaW4gdGhlIERpc3RyaWJ1dGlvbiBvYmplY3QsIGFuZAorICAgICAgICBmb3JjZSB0byBmYWxzZSBmb3IgY29tbWFuZHMgdGhhdCBkb24ndCBkZWZpbmUgaXQuKQorICAgICAgICAiIiIKKyAgICAgICAgaWYgc2VsZi5kcnlfcnVuOgorICAgICAgICAgICAgIyBYWFggYWRkIGEgY29tbWVudAorICAgICAgICAgICAgcmV0dXJuCisgICAgICAgIGlmIG9zLnBhdGguaXNkaXIob3V0ZmlsZSk6CisgICAgICAgICAgICBvdXRmaWxlID0gb3MucGF0aC5qb2luKG91dGZpbGUsIG9zLnBhdGguc3BsaXQoaW5maWxlKVstMV0pCisgICAgICAgIGNvcHlmaWxlKGluZmlsZSwgb3V0ZmlsZSkKKyAgICAgICAgcmV0dXJuIG91dGZpbGUsIE5vbmUgICMgWFhYCisKKyAgICBkZWYgY29weV90cmVlKHNlbGYsIGluZmlsZSwgb3V0ZmlsZSwgcHJlc2VydmVfbW9kZT1UcnVlLAorICAgICAgICAgICAgICAgICAgcHJlc2VydmVfdGltZXM9VHJ1ZSwgcHJlc2VydmVfc3ltbGlua3M9RmFsc2UsIGxldmVsPTEpOgorICAgICAgICAiIiJDb3B5IGFuIGVudGlyZSBkaXJlY3RvcnkgdHJlZSByZXNwZWN0aW5nIGRyeS1ydW4KKyAgICAgICAgYW5kIGZvcmNlIGZsYWdzLgorICAgICAgICAiIiIKKyAgICAgICAgaWYgc2VsZi5kcnlfcnVuOgorICAgICAgICAgICAgIyBYWFggc2hvdWxkIG5vdCByZXR1cm4gYnV0IGxldCBjb3B5X3RyZWUgbG9nIGFuZCBkZWNpZGUgdG8gZXhlY3V0ZQorICAgICAgICAgICAgIyBvciBub3QgYmFzZWQgb24gaXRzIGRyeV9ydW4gYXJndW1lbnQKKyAgICAgICAgICAgIHJldHVybgorCisgICAgICAgIHJldHVybiB1dGlsLmNvcHlfdHJlZShpbmZpbGUsIG91dGZpbGUsIHByZXNlcnZlX21vZGUsIHByZXNlcnZlX3RpbWVzLAorICAgICAgICAgICAgcHJlc2VydmVfc3ltbGlua3MsIG5vdCBzZWxmLmZvcmNlLCBkcnlfcnVuPXNlbGYuZHJ5X3J1bikKKworICAgIGRlZiBtb3ZlX2ZpbGUoc2VsZiwgc3JjLCBkc3QsIGxldmVsPTEpOgorICAgICAgICAiIiJNb3ZlIGEgZmlsZSByZXNwZWN0aW5nIHRoZSBkcnktcnVuIGZsYWcuIiIiCisgICAgICAgIGlmIHNlbGYuZHJ5X3J1bjoKKyAgICAgICAgICAgIHJldHVybiAgIyBYWFggc2FtZSB0aGluZworICAgICAgICByZXR1cm4gbW92ZShzcmMsIGRzdCkKKworICAgIGRlZiBzcGF3bihzZWxmLCBjbWQsIHNlYXJjaF9wYXRoPVRydWUsIGxldmVsPTEpOgorICAgICAgICAiIiJTcGF3biBhbiBleHRlcm5hbCBjb21tYW5kIHJlc3BlY3RpbmcgZHJ5LXJ1biBmbGFnLiIiIgorICAgICAgICBmcm9tIHBhY2thZ2luZy51dGlsIGltcG9ydCBzcGF3bgorICAgICAgICBzcGF3bihjbWQsIHNlYXJjaF9wYXRoLCBkcnlfcnVuPXNlbGYuZHJ5X3J1bikKKworICAgIGRlZiBtYWtlX2FyY2hpdmUoc2VsZiwgYmFzZV9uYW1lLCBmb3JtYXQsIHJvb3RfZGlyPU5vbmUsIGJhc2VfZGlyPU5vbmUsCisgICAgICAgICAgICAgICAgICAgICBvd25lcj1Ob25lLCBncm91cD1Ob25lKToKKyAgICAgICAgcmV0dXJuIG1ha2VfYXJjaGl2ZShiYXNlX25hbWUsIGZvcm1hdCwgcm9vdF9kaXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFzZV9kaXIsIGRyeV9ydW49c2VsZi5kcnlfcnVuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIG93bmVyPW93bmVyLCBncm91cD1ncm91cCkKKworICAgIGRlZiBtYWtlX2ZpbGUoc2VsZiwgaW5maWxlcywgb3V0ZmlsZSwgZnVuYywgYXJncywKKyAgICAgICAgICAgICAgICAgIGV4ZWNfbXNnPU5vbmUsIHNraXBfbXNnPU5vbmUsIGxldmVsPTEpOgorICAgICAgICAiIiJTcGVjaWFsIGNhc2Ugb2YgJ2V4ZWN1dGUoKScgZm9yIG9wZXJhdGlvbnMgdGhhdCBwcm9jZXNzIG9uZSBvcgorICAgICAgICBtb3JlIGlucHV0IGZpbGVzIGFuZCBnZW5lcmF0ZSBvbmUgb3V0cHV0IGZpbGUuICBXb3JrcyBqdXN0IGxpa2UKKyAgICAgICAgJ2V4ZWN1dGUoKScsIGV4Y2VwdCB0aGUgb3BlcmF0aW9uIGlzIHNraXBwZWQgYW5kIGEgZGlmZmVyZW50CisgICAgICAgIG1lc3NhZ2UgcHJpbnRlZCBpZiAnb3V0ZmlsZScgYWxyZWFkeSBleGlzdHMgYW5kIGlzIG5ld2VyIHRoYW4gYWxsCisgICAgICAgIGZpbGVzIGxpc3RlZCBpbiAnaW5maWxlcycuICBJZiB0aGUgY29tbWFuZCBkZWZpbmVkICdzZWxmLmZvcmNlJywKKyAgICAgICAgYW5kIGl0IGlzIHRydWUsIHRoZW4gdGhlIGNvbW1hbmQgaXMgdW5jb25kaXRpb25hbGx5IHJ1biAtLSBkb2VzIG5vCisgICAgICAgIHRpbWVzdGFtcCBjaGVja3MuCisgICAgICAgICIiIgorICAgICAgICBpZiBza2lwX21zZyBpcyBOb25lOgorICAgICAgICAgICAgc2tpcF9tc2cgPSAic2tpcHBpbmcgJXMgKGlucHV0cyB1bmNoYW5nZWQpIiAlIG91dGZpbGUKKworICAgICAgICAjIEFsbG93ICdpbmZpbGVzJyB0byBiZSBhIHNpbmdsZSBzdHJpbmcKKyAgICAgICAgaWYgaXNpbnN0YW5jZShpbmZpbGVzLCBzdHIpOgorICAgICAgICAgICAgaW5maWxlcyA9IChpbmZpbGVzLCkKKyAgICAgICAgZWxpZiBub3QgaXNpbnN0YW5jZShpbmZpbGVzLCAobGlzdCwgdHVwbGUpKToKKyAgICAgICAgICAgIHJhaXNlIFR5cGVFcnJvcigKKyAgICAgICAgICAgICAgICAiJ2luZmlsZXMnIG11c3QgYmUgYSBzdHJpbmcsIG9yIGEgbGlzdCBvciB0dXBsZSBvZiBzdHJpbmdzIikKKworICAgICAgICBpZiBleGVjX21zZyBpcyBOb25lOgorICAgICAgICAgICAgZXhlY19tc2cgPSAiZ2VuZXJhdGluZyAlcyBmcm9tICVzIiAlIChvdXRmaWxlLCAnLCAnLmpvaW4oaW5maWxlcykpCisKKyAgICAgICAgIyBJZiAnb3V0ZmlsZScgbXVzdCBiZSByZWdlbmVyYXRlZCAoZWl0aGVyIGJlY2F1c2UgaXQgZG9lc24ndAorICAgICAgICAjIGV4aXN0LCBpcyBvdXQtb2YtZGF0ZSwgb3IgdGhlICdmb3JjZScgZmxhZyBpcyB0cnVlKSB0aGVuCisgICAgICAgICMgcGVyZm9ybSB0aGUgYWN0aW9uIHRoYXQgcHJlc3VtYWJseSByZWdlbmVyYXRlcyBpdAorICAgICAgICBpZiBzZWxmLmZvcmNlIG9yIHV0aWwubmV3ZXJfZ3JvdXAoaW5maWxlcywgb3V0ZmlsZSk6CisgICAgICAgICAgICBzZWxmLmV4ZWN1dGUoZnVuYywgYXJncywgZXhlY19tc2csIGxldmVsKQorCisgICAgICAgICMgT3RoZXJ3aXNlLCBwcmludCB0aGUgInNraXAiIG1lc3NhZ2UKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGxvZ2dlci5kZWJ1Zyhza2lwX21zZykKKworICAgIGRlZiBieXRlX2NvbXBpbGUoc2VsZiwgZmlsZXMsIHByZWZpeD1Ob25lKToKKyAgICAgICAgIiIiQnl0ZS1jb21waWxlIGZpbGVzIHRvIHB5YyBhbmQvb3IgcHlvIGZpbGVzLgorCisgICAgICAgIFRoaXMgbWV0aG9kIHJlcXVpcmVzIHRoYXQgdGhlIGNhbGxpbmcgY2xhc3MgZGVmaW5lIGNvbXBpbGUgYW5kCisgICAgICAgIG9wdGltaXplIG9wdGlvbnMsIGxpa2UgYnVpbGRfcHkgYW5kIGluc3RhbGxfbGliLiAgSXQgYWxzbworICAgICAgICBhdXRvbWF0aWNhbGx5IHJlc3BlY3RzIHRoZSBmb3JjZSBhbmQgZHJ5LXJ1biBvcHRpb25zLgorCisgICAgICAgIHByZWZpeCwgaWYgZ2l2ZW4sIGlzIGEgc3RyaW5nIHRoYXQgd2lsbCBiZSBzdHJpcHBlZCBvZmYgdGhlCisgICAgICAgIGZpbGVuYW1lcyBlbmNvZGVkIGluIGJ5dGVjb2RlIGZpbGVzLgorICAgICAgICAiIiIKKyAgICAgICAgaWYgc2VsZi5jb21waWxlOgorICAgICAgICAgICAgdXRpbC5ieXRlX2NvbXBpbGUoZmlsZXMsIG9wdGltaXplPUZhbHNlLCBwcmVmaXg9cHJlZml4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yY2U9c2VsZi5mb3JjZSwgZHJ5X3J1bj1zZWxmLmRyeV9ydW4pCisgICAgICAgIGlmIHNlbGYub3B0aW1pemU6CisgICAgICAgICAgICB1dGlsLmJ5dGVfY29tcGlsZShmaWxlcywgb3B0aW1pemU9c2VsZi5vcHRpbWl6ZSwgcHJlZml4PXByZWZpeCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcmNlPXNlbGYuZm9yY2UsIGRyeV9ydW49c2VsZi5kcnlfcnVuKQpkaWZmIC0tZ2l0IGEvTGliL3BhY2thZ2luZy9jb21tYW5kL2NvbW1hbmRfdGVtcGxhdGUgYi9MaWIvcGFja2FnaW5nL2NvbW1hbmQvY29tbWFuZF90ZW1wbGF0ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMTJkMzJiCi0tLSAvZGV2L251bGwKKysrIGIvTGliL3BhY2thZ2luZy9jb21tYW5kL2NvbW1hbmRfdGVtcGxhdGUKQEAgLTAsMCArMSwzNSBAQAorIiIiRG8gWCBhbmQgWS4iIiIKKworZnJvbSBwYWNrYWdpbmcgaW1wb3J0IGxvZ2dlcgorZnJvbSBwYWNrYWdpbmcuY29tbWFuZC5jbWQgaW1wb3J0IENvbW1hbmQKKworCitjbGFzcyB4KENvbW1hbmQpOgorCisgICAgIyBCcmllZiAoNDAtNTAgY2hhcmFjdGVycykgZGVzY3JpcHRpb24gb2YgdGhlIGNvbW1hbmQKKyAgICBkZXNjcmlwdGlvbiA9ICIiCisKKyAgICAjIExpc3Qgb2Ygb3B0aW9uIHR1cGxlczogbG9uZyBuYW1lLCBzaG9ydCBuYW1lIChOb25lIGlmIG5vIHNob3J0CisgICAgIyBuYW1lKSwgYW5kIGhlbHAgc3RyaW5nLgorICAgIHVzZXJfb3B0aW9ucyA9IFsKKyAgICAgICAgKCcnLCAnJywgICMgbG9uZyBvcHRpb24sIHNob3J0IG9wdGlvbiAob25lIGxldHRlcikgb3IgTm9uZQorICAgICAgICAgIiIpLCAgIyBoZWxwIHRleHQKKyAgICAgICAgXQorCisgICAgZGVmIGluaXRpYWxpemVfb3B0aW9ucyhzZWxmKToKKyAgICAgICAgc2VsZi4gPSBOb25lCisgICAgICAgIHNlbGYuID0gTm9uZQorICAgICAgICBzZWxmLiA9IE5vbmUKKworICAgIGRlZiBmaW5hbGl6ZV9vcHRpb25zKHNlbGYpOgorICAgICAgICBpZiBzZWxmLnggaXMgTm9uZToKKyAgICAgICAgICAgIHNlbGYueCA9IC4uLgorCisgICAgZGVmIHJ1bihzZWxmKToKKyAgICAgICAgLi4uCisgICAgICAgIGxvZ2dlci5pbmZvKC4uLikKKworICAgICAgICBpZiBub3Qgc2VsZi5kcnlfcnVuOgorICAgICAgICAgICAgLi4uCisKKyAgICAgICAgc2VsZi5leGVjdXRlKC4uLiwgZHJ5X3J1bj1zZWxmLmRyeV9ydW4pCmRpZmYgLS1naXQgYS9MaWIvcGFja2FnaW5nL2NvbW1hbmQvY29uZmlnLnB5IGIvTGliL3BhY2thZ2luZy9jb21tYW5kL2NvbmZpZy5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNjRjMTM5Ci0tLSAvZGV2L251bGwKKysrIGIvTGliL3BhY2thZ2luZy9jb21tYW5kL2NvbmZpZy5weQpAQCAtMCwwICsxLDM0OSBAQAorIiIiUHJlcGFyZSB0aGUgYnVpbGQuCisKK1RoaXMgbW9kdWxlIHByb3ZpZGVzIGNvbmZpZywgYSAobW9zdGx5KSBlbXB0eSBjb21tYW5kIGNsYXNzCit0aGF0IGV4aXN0cyBtYWlubHkgdG8gYmUgc3ViLWNsYXNzZWQgYnkgc3BlY2lmaWMgbW9kdWxlIGRpc3RyaWJ1dGlvbnMgYW5kCithcHBsaWNhdGlvbnMuICBUaGUgaWRlYSBpcyB0aGF0IHdoaWxlIGV2ZXJ5ICJjb25maWciIGNvbW1hbmQgaXMgZGlmZmVyZW50LAorYXQgbGVhc3QgdGhleSdyZSBhbGwgbmFtZWQgdGhlIHNhbWUsIGFuZCB1c2VycyBhbHdheXMgc2VlICJjb25maWciIGluIHRoZQorbGlzdCBvZiBzdGFuZGFyZCBjb21tYW5kcy4gIEFsc28sIHRoaXMgaXMgYSBnb29kIHBsYWNlIHRvIHB1dCBjb21tb24KK2NvbmZpZ3VyZS1saWtlIHRhc2tzOiAidHJ5IHRvIGNvbXBpbGUgdGhpcyBDIGNvZGUiLCBvciAiZmlndXJlIG91dCB3aGVyZQordGhpcyBoZWFkZXIgZmlsZSBsaXZlcyIuCisiIiIKKworaW1wb3J0IG9zCitpbXBvcnQgcmUKKworZnJvbSBwYWNrYWdpbmcuY29tbWFuZC5jbWQgaW1wb3J0IENvbW1hbmQKK2Zyb20gcGFja2FnaW5nLmVycm9ycyBpbXBvcnQgUGFja2FnaW5nRXhlY0Vycm9yCitmcm9tIHBhY2thZ2luZy5jb21waWxlciBpbXBvcnQgY3VzdG9taXplX2NvbXBpbGVyCitmcm9tIHBhY2thZ2luZyBpbXBvcnQgbG9nZ2VyCisKK0xBTkdfRVhUID0geydjJzogJy5jJywgJ2MrKyc6ICcuY3h4J30KKworY2xhc3MgY29uZmlnKENvbW1hbmQpOgorCisgICAgZGVzY3JpcHRpb24gPSAicHJlcGFyZSB0aGUgYnVpbGQiCisKKyAgICB1c2VyX29wdGlvbnMgPSBbCisgICAgICAgICgnY29tcGlsZXI9JywgTm9uZSwKKyAgICAgICAgICJzcGVjaWZ5IHRoZSBjb21waWxlciB0eXBlIiksCisgICAgICAgICgnY2M9JywgTm9uZSwKKyAgICAgICAgICJzcGVjaWZ5IHRoZSBjb21waWxlciBleGVjdXRhYmxlIiksCisgICAgICAgICgnaW5jbHVkZS1kaXJzPScsICdJJywKKyAgICAgICAgICJsaXN0IG9mIGRpcmVjdG9yaWVzIHRvIHNlYXJjaCBmb3IgaGVhZGVyIGZpbGVzIiksCisgICAgICAgICgnZGVmaW5lPScsICdEJywKKyAgICAgICAgICJDIHByZXByb2Nlc3NvciBtYWNyb3MgdG8gZGVmaW5lIiksCisgICAgICAgICgndW5kZWY9JywgJ1UnLAorICAgICAgICAgIkMgcHJlcHJvY2Vzc29yIG1hY3JvcyB0byB1bmRlZmluZSIpLAorICAgICAgICAoJ2xpYnJhcmllcz0nLCAnbCcsCisgICAgICAgICAiZXh0ZXJuYWwgQyBsaWJyYXJpZXMgdG8gbGluayB3aXRoIiksCisgICAgICAgICgnbGlicmFyeS1kaXJzPScsICdMJywKKyAgICAgICAgICJkaXJlY3RvcmllcyB0byBzZWFyY2ggZm9yIGV4dGVybmFsIEMgbGlicmFyaWVzIiksCisKKyAgICAgICAgKCdub2lzeScsIE5vbmUsCisgICAgICAgICAic2hvdyBldmVyeSBhY3Rpb24gKGNvbXBpbGUsIGxpbmssIHJ1biwgLi4uKSB0YWtlbiIpLAorICAgICAgICAoJ2R1bXAtc291cmNlJywgTm9uZSwKKyAgICAgICAgICJkdW1wIGdlbmVyYXRlZCBzb3VyY2UgZmlsZXMgYmVmb3JlIGF0dGVtcHRpbmcgdG8gY29tcGlsZSB0aGVtIiksCisgICAgICAgIF0KKworCisgICAgIyBUaGUgdGhyZWUgc3RhbmRhcmQgY29tbWFuZCBtZXRob2RzOiBzaW5jZSB0aGUgImNvbmZpZyIgY29tbWFuZAorICAgICMgZG9lcyBub3RoaW5nIGJ5IGRlZmF1bHQsIHRoZXNlIGFyZSBlbXB0eS4KKworICAgIGRlZiBpbml0aWFsaXplX29wdGlvbnMoc2VsZik6CisgICAgICAgIHNlbGYuY29tcGlsZXIgPSBOb25lCisgICAgICAgIHNlbGYuY2MgPSBOb25lCisgICAgICAgIHNlbGYuaW5jbHVkZV9kaXJzID0gTm9uZQorICAgICAgICBzZWxmLmxpYnJhcmllcyA9IE5vbmUKKyAgICAgICAgc2VsZi5saWJyYXJ5X2RpcnMgPSBOb25lCisKKyAgICAgICAgIyBtYXhpbWFsIG91dHB1dCBmb3Igbm93CisgICAgICAgIHNlbGYubm9pc3kgPSBUcnVlCisgICAgICAgIHNlbGYuZHVtcF9zb3VyY2UgPSBUcnVlCisKKyAgICAgICAgIyBsaXN0IG9mIHRlbXBvcmFyeSBmaWxlcyBnZW5lcmF0ZWQgYWxvbmctdGhlLXdheSB0aGF0IHdlIGhhdmUKKyAgICAgICAgIyB0byBjbGVhbiBhdCBzb21lIHBvaW50CisgICAgICAgIHNlbGYudGVtcF9maWxlcyA9IFtdCisKKyAgICBkZWYgZmluYWxpemVfb3B0aW9ucyhzZWxmKToKKyAgICAgICAgaWYgc2VsZi5pbmNsdWRlX2RpcnMgaXMgTm9uZToKKyAgICAgICAgICAgIHNlbGYuaW5jbHVkZV9kaXJzID0gc2VsZi5kaXN0cmlidXRpb24uaW5jbHVkZV9kaXJzIG9yIFtdCisgICAgICAgIGVsaWYgaXNpbnN0YW5jZShzZWxmLmluY2x1ZGVfZGlycywgc3RyKToKKyAgICAgICAgICAgIHNlbGYuaW5jbHVkZV9kaXJzID0gc2VsZi5pbmNsdWRlX2RpcnMuc3BsaXQob3MucGF0aHNlcCkKKworICAgICAgICBpZiBzZWxmLmxpYnJhcmllcyBpcyBOb25lOgorICAgICAgICAgICAgc2VsZi5saWJyYXJpZXMgPSBbXQorICAgICAgICBlbGlmIGlzaW5zdGFuY2Uoc2VsZi5saWJyYXJpZXMsIHN0cik6CisgICAgICAgICAgICBzZWxmLmxpYnJhcmllcyA9IFtzZWxmLmxpYnJhcmllc10KKworICAgICAgICBpZiBzZWxmLmxpYnJhcnlfZGlycyBpcyBOb25lOgorICAgICAgICAgICAgc2VsZi5saWJyYXJ5X2RpcnMgPSBbXQorICAgICAgICBlbGlmIGlzaW5zdGFuY2Uoc2VsZi5saWJyYXJ5X2RpcnMsIHN0cik6CisgICAgICAgICAgICBzZWxmLmxpYnJhcnlfZGlycyA9IHNlbGYubGlicmFyeV9kaXJzLnNwbGl0KG9zLnBhdGhzZXApCisKKyAgICBkZWYgcnVuKHNlbGYpOgorICAgICAgICBwYXNzCisKKworICAgICMgVXRpbGl0eSBtZXRob2RzIGZvciBhY3R1YWwgImNvbmZpZyIgY29tbWFuZHMuICBUaGUgaW50ZXJmYWNlcyBhcmUKKyAgICAjIGxvb3NlbHkgYmFzZWQgb24gQXV0b2NvbmYgbWFjcm9zIG9mIHNpbWlsYXIgbmFtZXMuICBTdWItY2xhc3NlcworICAgICMgbWF5IHVzZSB0aGVzZSBmcmVlbHkuCisKKyAgICBkZWYgX2NoZWNrX2NvbXBpbGVyKHNlbGYpOgorICAgICAgICAiIiJDaGVjayB0aGF0ICdzZWxmLmNvbXBpbGVyJyByZWFsbHkgaXMgYSBDQ29tcGlsZXIgb2JqZWN0OworICAgICAgICBpZiBub3QsIG1ha2UgaXQgb25lLgorICAgICAgICAiIiIKKyAgICAgICAgIyBXZSBkbyB0aGlzIGxhdGUsIGFuZCBvbmx5IG9uLWRlbWFuZCwgYmVjYXVzZSB0aGlzIGlzIGFuIGV4cGVuc2l2ZQorICAgICAgICAjIGltcG9ydC4KKyAgICAgICAgZnJvbSBwYWNrYWdpbmcuY29tcGlsZXIuY2NvbXBpbGVyIGltcG9ydCBDQ29tcGlsZXIKKyAgICAgICAgZnJvbSBwYWNrYWdpbmcuY29tcGlsZXIgaW1wb3J0IG5ld19jb21waWxlcgorICAgICAgICBpZiBub3QgaXNpbnN0YW5jZShzZWxmLmNvbXBpbGVyLCBDQ29tcGlsZXIpOgorICAgICAgICAgICAgc2VsZi5jb21waWxlciA9IG5ld19jb21waWxlcihjb21waWxlcj1zZWxmLmNvbXBpbGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkcnlfcnVuPXNlbGYuZHJ5X3J1biwgZm9yY2U9VHJ1ZSkKKyAgICAgICAgICAgIGN1c3RvbWl6ZV9jb21waWxlcihzZWxmLmNvbXBpbGVyKQorICAgICAgICAgICAgaWYgc2VsZi5pbmNsdWRlX2RpcnM6CisgICAgICAgICAgICAgICAgc2VsZi5jb21waWxlci5zZXRfaW5jbHVkZV9kaXJzKHNlbGYuaW5jbHVkZV9kaXJzKQorICAgICAgICAgICAgaWYgc2VsZi5saWJyYXJpZXM6CisgICAgICAgICAgICAgICAgc2VsZi5jb21waWxlci5zZXRfbGlicmFyaWVzKHNlbGYubGlicmFyaWVzKQorICAgICAgICAgICAgaWYgc2VsZi5saWJyYXJ5X2RpcnM6CisgICAgICAgICAgICAgICAgc2VsZi5jb21waWxlci5zZXRfbGlicmFyeV9kaXJzKHNlbGYubGlicmFyeV9kaXJzKQorCisKKyAgICBkZWYgX2dlbl90ZW1wX3NvdXJjZWZpbGUoc2VsZiwgYm9keSwgaGVhZGVycywgbGFuZyk6CisgICAgICAgIGZpbGVuYW1lID0gIl9jb25maWd0ZXN0IiArIExBTkdfRVhUW2xhbmddCisgICAgICAgIHdpdGggb3BlbihmaWxlbmFtZSwgInciKSBhcyBmaWxlOgorICAgICAgICAgICAgaWYgaGVhZGVyczoKKyAgICAgICAgICAgICAgICBmb3IgaGVhZGVyIGluIGhlYWRlcnM6CisgICAgICAgICAgICAgICAgICAgIGZpbGUud3JpdGUoIiNpbmNsdWRlIDwlcz5cbiIgJSBoZWFkZXIpCisgICAgICAgICAgICAgICAgZmlsZS53cml0ZSgiXG4iKQorICAgICAgICAgICAgZmlsZS53cml0ZShib2R5KQorICAgICAgICAgICAgaWYgYm9keVstMV0gIT0gIlxuIjoKKyAgICAgICAgICAgICAgICBmaWxlLndyaXRlKCJcbiIpCisgICAgICAgIHJldHVybiBmaWxlbmFtZQorCisgICAgZGVmIF9wcmVwcm9jZXNzKHNlbGYsIGJvZHksIGhlYWRlcnMsIGluY2x1ZGVfZGlycywgbGFuZyk6CisgICAgICAgIHNyYyA9IHNlbGYuX2dlbl90ZW1wX3NvdXJjZWZpbGUoYm9keSwgaGVhZGVycywgbGFuZykKKyAgICAgICAgb3V0ID0gIl9jb25maWd0ZXN0LmkiCisgICAgICAgIHNlbGYudGVtcF9maWxlcy5leHRlbmQoKHNyYywgb3V0KSkKKyAgICAgICAgc2VsZi5jb21waWxlci5wcmVwcm9jZXNzKHNyYywgb3V0LCBpbmNsdWRlX2RpcnM9aW5jbHVkZV9kaXJzKQorICAgICAgICByZXR1cm4gc3JjLCBvdXQKKworICAgIGRlZiBfY29tcGlsZShzZWxmLCBib2R5LCBoZWFkZXJzLCBpbmNsdWRlX2RpcnMsIGxhbmcpOgorICAgICAgICBzcmMgPSBzZWxmLl9nZW5fdGVtcF9zb3VyY2VmaWxlKGJvZHksIGhlYWRlcnMsIGxhbmcpCisgICAgICAgIGlmIHNlbGYuZHVtcF9zb3VyY2U6CisgICAgICAgICAgICBkdW1wX2ZpbGUoc3JjLCAiY29tcGlsaW5nICclcyc6IiAlIHNyYykKKyAgICAgICAgb2JqID0gc2VsZi5jb21waWxlci5vYmplY3RfZmlsZW5hbWVzKFtzcmNdKVswXQorICAgICAgICBzZWxmLnRlbXBfZmlsZXMuZXh0ZW5kKChzcmMsIG9iaikpCisgICAgICAgIHNlbGYuY29tcGlsZXIuY29tcGlsZShbc3JjXSwgaW5jbHVkZV9kaXJzPWluY2x1ZGVfZGlycykKKyAgICAgICAgcmV0dXJuIHNyYywgb2JqCisKKyAgICBkZWYgX2xpbmsoc2VsZiwgYm9keSwgaGVhZGVycywgaW5jbHVkZV9kaXJzLCBsaWJyYXJpZXMsIGxpYnJhcnlfZGlycywKKyAgICAgICAgICAgICAgbGFuZyk6CisgICAgICAgIHNyYywgb2JqID0gc2VsZi5fY29tcGlsZShib2R5LCBoZWFkZXJzLCBpbmNsdWRlX2RpcnMsIGxhbmcpCisgICAgICAgIHByb2cgPSBvcy5wYXRoLnNwbGl0ZXh0KG9zLnBhdGguYmFzZW5hbWUoc3JjKSlbMF0KKyAgICAgICAgc2VsZi5jb21waWxlci5saW5rX2V4ZWN1dGFibGUoW29ial0sIHByb2csCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnJhcmllcz1saWJyYXJpZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnJhcnlfZGlycz1saWJyYXJ5X2RpcnMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldF9sYW5nPWxhbmcpCisKKyAgICAgICAgaWYgc2VsZi5jb21waWxlci5leGVfZXh0ZW5zaW9uIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgcHJvZyA9IHByb2cgKyBzZWxmLmNvbXBpbGVyLmV4ZV9leHRlbnNpb24KKyAgICAgICAgc2VsZi50ZW1wX2ZpbGVzLmFwcGVuZChwcm9nKQorCisgICAgICAgIHJldHVybiBzcmMsIG9iaiwgcHJvZworCisgICAgZGVmIF9jbGVhbihzZWxmLCAqZmlsZW5hbWVzKToKKyAgICAgICAgaWYgbm90IGZpbGVuYW1lczoKKyAgICAgICAgICAgIGZpbGVuYW1lcyA9IHNlbGYudGVtcF9maWxlcworICAgICAgICAgICAgc2VsZi50ZW1wX2ZpbGVzID0gW10KKyAgICAgICAgbG9nZ2VyLmluZm8oInJlbW92aW5nOiAlcyIsICcgJy5qb2luKGZpbGVuYW1lcykpCisgICAgICAgIGZvciBmaWxlbmFtZSBpbiBmaWxlbmFtZXM6CisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgb3MucmVtb3ZlKGZpbGVuYW1lKQorICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3I6CisgICAgICAgICAgICAgICAgcGFzcworCisKKyAgICAjIFhYWCB0aGVzZSBpZ25vcmUgdGhlIGRyeS1ydW4gZmxhZzogd2hhdCB0byBkbywgd2hhdCB0byBkbz8gZXZlbiBpZgorICAgICMgeW91IHdhbnQgYSBkcnktcnVuIGJ1aWxkLCB5b3Ugc3RpbGwgbmVlZCBzb21lIHNvcnQgb2YgY29uZmlndXJhdGlvbgorICAgICMgaW5mby4gIE15IGluY2xpbmF0aW9uIGlzIHRvIG1ha2UgaXQgdXAgdG8gdGhlIHJlYWwgY29uZmlnIGNvbW1hbmQgdG8KKyAgICAjIGNvbnN1bHQgJ2RyeV9ydW4nLCBhbmQgYXNzdW1lIGEgZGVmYXVsdCAobWluaW1hbCkgY29uZmlndXJhdGlvbiBpZgorICAgICMgdHJ1ZS4gIFRoZSBwcm9ibGVtIHdpdGggdHJ5aW5nIHRvIGRvIGl0IGhlcmUgaXMgdGhhdCB5b3UnZCBoYXZlIHRvCisgICAgIyByZXR1cm4gZWl0aGVyIHRydWUgb3IgZmFsc2UgZnJvbSBhbGwgdGhlICd0cnknIG1ldGhvZHMsIG5laXRoZXIgb2YKKyAgICAjIHdoaWNoIGlzIGNvcnJlY3QuCisKKyAgICAjIFhYWCBuZWVkIGFjY2VzcyB0byB0aGUgaGVhZGVyIHNlYXJjaCBwYXRoIGFuZCBtYXliZSBkZWZhdWx0IG1hY3Jvcy4KKworICAgIGRlZiB0cnlfY3BwKHNlbGYsIGJvZHk9Tm9uZSwgaGVhZGVycz1Ob25lLCBpbmNsdWRlX2RpcnM9Tm9uZSwgbGFuZz0iYyIpOgorICAgICAgICAiIiJDb25zdHJ1Y3QgYSBzb3VyY2UgZmlsZSBmcm9tICdib2R5JyAoYSBzdHJpbmcgY29udGFpbmluZyBsaW5lcworICAgICAgICBvZiBDL0MrKyBjb2RlKSBhbmQgJ2hlYWRlcnMnIChhIGxpc3Qgb2YgaGVhZGVyIGZpbGVzIHRvIGluY2x1ZGUpCisgICAgICAgIGFuZCBydW4gaXQgdGhyb3VnaCB0aGUgcHJlcHJvY2Vzc29yLiAgUmV0dXJuIHRydWUgaWYgdGhlCisgICAgICAgIHByZXByb2Nlc3NvciBzdWNjZWVkZWQsIGZhbHNlIGlmIHRoZXJlIHdlcmUgYW55IGVycm9ycy4KKyAgICAgICAgKCdib2R5JyBwcm9iYWJseSBpc24ndCBvZiBtdWNoIHVzZSwgYnV0IHdoYXQgdGhlIGhlY2suKQorICAgICAgICAiIiIKKyAgICAgICAgZnJvbSBwYWNrYWdpbmcuY29tcGlsZXIuY2NvbXBpbGVyIGltcG9ydCBDb21waWxlRXJyb3IKKyAgICAgICAgc2VsZi5fY2hlY2tfY29tcGlsZXIoKQorICAgICAgICBvayA9IFRydWUKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgc2VsZi5fcHJlcHJvY2Vzcyhib2R5LCBoZWFkZXJzLCBpbmNsdWRlX2RpcnMsIGxhbmcpCisgICAgICAgIGV4Y2VwdCBDb21waWxlRXJyb3I6CisgICAgICAgICAgICBvayA9IEZhbHNlCisKKyAgICAgICAgc2VsZi5fY2xlYW4oKQorICAgICAgICByZXR1cm4gb2sKKworICAgIGRlZiBzZWFyY2hfY3BwKHNlbGYsIHBhdHRlcm4sIGJvZHk9Tm9uZSwgaGVhZGVycz1Ob25lLCBpbmNsdWRlX2RpcnM9Tm9uZSwKKyAgICAgICAgICAgICAgICAgICBsYW5nPSJjIik6CisgICAgICAgICIiIkNvbnN0cnVjdCBhIHNvdXJjZSBmaWxlIChqdXN0IGxpa2UgJ3RyeV9jcHAoKScpLCBydW4gaXQgdGhyb3VnaAorICAgICAgICB0aGUgcHJlcHJvY2Vzc29yLCBhbmQgcmV0dXJuIHRydWUgaWYgYW55IGxpbmUgb2YgdGhlIG91dHB1dCBtYXRjaGVzCisgICAgICAgICdwYXR0ZXJuJy4gICdwYXR0ZXJuJyBzaG91bGQgZWl0aGVyIGJlIGEgY29tcGlsZWQgcmVnZXggb2JqZWN0IG9yIGEKKyAgICAgICAgc3RyaW5nIGNvbnRhaW5pbmcgYSByZWdleC4gIElmIGJvdGggJ2JvZHknIGFuZCAnaGVhZGVycycgYXJlIE5vbmUsCisgICAgICAgIHByZXByb2Nlc3NlcyBhbiBlbXB0eSBmaWxlIC0tIHdoaWNoIGNhbiBiZSB1c2VmdWwgdG8gZGV0ZXJtaW5lIHRoZQorICAgICAgICBzeW1ib2xzIHRoZSBwcmVwcm9jZXNzb3IgYW5kIGNvbXBpbGVyIHNldCBieSBkZWZhdWx0LgorICAgICAgICAiIiIKKyAgICAgICAgc2VsZi5fY2hlY2tfY29tcGlsZXIoKQorICAgICAgICBzcmMsIG91dCA9IHNlbGYuX3ByZXByb2Nlc3MoYm9keSwgaGVhZGVycywgaW5jbHVkZV9kaXJzLCBsYW5nKQorCisgICAgICAgIGlmIGlzaW5zdGFuY2UocGF0dGVybiwgc3RyKToKKyAgICAgICAgICAgIHBhdHRlcm4gPSByZS5jb21waWxlKHBhdHRlcm4pCisKKyAgICAgICAgd2l0aCBvcGVuKG91dCkgYXMgZmlsZToKKyAgICAgICAgICAgIG1hdGNoID0gRmFsc2UKKyAgICAgICAgICAgIHdoaWxlIFRydWU6CisgICAgICAgICAgICAgICAgbGluZSA9IGZpbGUucmVhZGxpbmUoKQorICAgICAgICAgICAgICAgIGlmIGxpbmUgPT0gJyc6CisgICAgICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgICAgICAgICAgaWYgcGF0dGVybi5zZWFyY2gobGluZSk6CisgICAgICAgICAgICAgICAgICAgIG1hdGNoID0gVHJ1ZQorICAgICAgICAgICAgICAgICAgICBicmVhaworCisgICAgICAgIHNlbGYuX2NsZWFuKCkKKyAgICAgICAgcmV0dXJuIG1hdGNoCisKKyAgICBkZWYgdHJ5X2NvbXBpbGUoc2VsZiwgYm9keSwgaGVhZGVycz1Ob25lLCBpbmNsdWRlX2RpcnM9Tm9uZSwgbGFuZz0iYyIpOgorICAgICAgICAiIiJUcnkgdG8gY29tcGlsZSBhIHNvdXJjZSBmaWxlIGJ1aWx0IGZyb20gJ2JvZHknIGFuZCAnaGVhZGVycycuCisgICAgICAgIFJldHVybiB0cnVlIG9uIHN1Y2Nlc3MsIGZhbHNlIG90aGVyd2lzZS4KKyAgICAgICAgIiIiCisgICAgICAgIGZyb20gcGFja2FnaW5nLmNvbXBpbGVyLmNjb21waWxlciBpbXBvcnQgQ29tcGlsZUVycm9yCisgICAgICAgIHNlbGYuX2NoZWNrX2NvbXBpbGVyKCkKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgc2VsZi5fY29tcGlsZShib2R5LCBoZWFkZXJzLCBpbmNsdWRlX2RpcnMsIGxhbmcpCisgICAgICAgICAgICBvayA9IFRydWUKKyAgICAgICAgZXhjZXB0IENvbXBpbGVFcnJvcjoKKyAgICAgICAgICAgIG9rID0gRmFsc2UKKworICAgICAgICBsb2dnZXIuaW5mbyhvayBhbmQgInN1Y2Nlc3MhIiBvciAiZmFpbHVyZS4iKQorICAgICAgICBzZWxmLl9jbGVhbigpCisgICAgICAgIHJldHVybiBvaworCisgICAgZGVmIHRyeV9saW5rKHNlbGYsIGJvZHksIGhlYWRlcnM9Tm9uZSwgaW5jbHVkZV9kaXJzPU5vbmUsIGxpYnJhcmllcz1Ob25lLAorICAgICAgICAgICAgICAgICBsaWJyYXJ5X2RpcnM9Tm9uZSwgbGFuZz0iYyIpOgorICAgICAgICAiIiJUcnkgdG8gY29tcGlsZSBhbmQgbGluayBhIHNvdXJjZSBmaWxlLCBidWlsdCBmcm9tICdib2R5JyBhbmQKKyAgICAgICAgJ2hlYWRlcnMnLCB0byBleGVjdXRhYmxlIGZvcm0uICBSZXR1cm4gdHJ1ZSBvbiBzdWNjZXNzLCBmYWxzZQorICAgICAgICBvdGhlcndpc2UuCisgICAgICAgICIiIgorICAgICAgICBmcm9tIHBhY2thZ2luZy5jb21waWxlci5jY29tcGlsZXIgaW1wb3J0IENvbXBpbGVFcnJvciwgTGlua0Vycm9yCisgICAgICAgIHNlbGYuX2NoZWNrX2NvbXBpbGVyKCkKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgc2VsZi5fbGluayhib2R5LCBoZWFkZXJzLCBpbmNsdWRlX2RpcnMsCisgICAgICAgICAgICAgICAgICAgICAgIGxpYnJhcmllcywgbGlicmFyeV9kaXJzLCBsYW5nKQorICAgICAgICAgICAgb2sgPSBUcnVlCisgICAgICAgIGV4Y2VwdCAoQ29tcGlsZUVycm9yLCBMaW5rRXJyb3IpOgorICAgICAgICAgICAgb2sgPSBGYWxzZQorCisgICAgICAgIGxvZ2dlci5pbmZvKG9rIGFuZCAic3VjY2VzcyEiIG9yICJmYWlsdXJlLiIpCisgICAgICAgIHNlbGYuX2NsZWFuKCkKKyAgICAgICAgcmV0dXJuIG9rCisKKyAgICBkZWYgdHJ5X3J1bihzZWxmLCBib2R5LCBoZWFkZXJzPU5vbmUsIGluY2x1ZGVfZGlycz1Ob25lLCBsaWJyYXJpZXM9Tm9uZSwKKyAgICAgICAgICAgICAgICBsaWJyYXJ5X2RpcnM9Tm9uZSwgbGFuZz0iYyIpOgorICAgICAgICAiIiJUcnkgdG8gY29tcGlsZSwgbGluayB0byBhbiBleGVjdXRhYmxlLCBhbmQgcnVuIGEgcHJvZ3JhbQorICAgICAgICBidWlsdCBmcm9tICdib2R5JyBhbmQgJ2hlYWRlcnMnLiAgUmV0dXJuIHRydWUgb24gc3VjY2VzcywgZmFsc2UKKyAgICAgICAgb3RoZXJ3aXNlLgorICAgICAgICAiIiIKKyAgICAgICAgZnJvbSBwYWNrYWdpbmcuY29tcGlsZXIuY2NvbXBpbGVyIGltcG9ydCBDb21waWxlRXJyb3IsIExpbmtFcnJvcgorICAgICAgICBzZWxmLl9jaGVja19jb21waWxlcigpCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHNyYywgb2JqLCBleGUgPSBzZWxmLl9saW5rKGJvZHksIGhlYWRlcnMsIGluY2x1ZGVfZGlycywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnJhcmllcywgbGlicmFyeV9kaXJzLCBsYW5nKQorICAgICAgICAgICAgc2VsZi5zcGF3bihbZXhlXSkKKyAgICAgICAgICAgIG9rID0gVHJ1ZQorICAgICAgICBleGNlcHQgKENvbXBpbGVFcnJvciwgTGlua0Vycm9yLCBQYWNrYWdpbmdFeGVjRXJyb3IpOgorICAgICAgICAgICAgb2sgPSBGYWxzZQorCisgICAgICAgIGxvZ2dlci5pbmZvKG9rIGFuZCAic3VjY2VzcyEiIG9yICJmYWlsdXJlLiIpCisgICAgICAgIHNlbGYuX2NsZWFuKCkKKyAgICAgICAgcmV0dXJuIG9rCisKKworICAgICMgLS0gSGlnaC1sZXZlbCBtZXRob2RzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAgIyAodGhlc2UgYXJlIHRoZSBvbmVzIHRoYXQgYXJlIGFjdHVhbGx5IGxpa2VseSB0byBiZSB1c2VmdWwKKyAgICAjIHdoZW4gaW1wbGVtZW50aW5nIGEgcmVhbC13b3JsZCBjb25maWcgY29tbWFuZCEpCisKKyAgICBkZWYgY2hlY2tfZnVuYyhzZWxmLCBmdW5jLCBoZWFkZXJzPU5vbmUsIGluY2x1ZGVfZGlycz1Ob25lLAorICAgICAgICAgICAgICAgICAgIGxpYnJhcmllcz1Ob25lLCBsaWJyYXJ5X2RpcnM9Tm9uZSwgZGVjbD1GYWxzZSwgY2FsbD1GYWxzZSk6CisKKyAgICAgICAgIiIiRGV0ZXJtaW5lIGlmIGZ1bmN0aW9uICdmdW5jJyBpcyBhdmFpbGFibGUgYnkgY29uc3RydWN0aW5nIGEKKyAgICAgICAgc291cmNlIGZpbGUgdGhhdCByZWZlcnMgdG8gJ2Z1bmMnLCBhbmQgY29tcGlsZXMgYW5kIGxpbmtzIGl0LgorICAgICAgICBJZiBldmVyeXRoaW5nIHN1Y2NlZWRzLCByZXR1cm5zIHRydWU7IG90aGVyd2lzZSByZXR1cm5zIGZhbHNlLgorCisgICAgICAgIFRoZSBjb25zdHJ1Y3RlZCBzb3VyY2UgZmlsZSBzdGFydHMgb3V0IGJ5IGluY2x1ZGluZyB0aGUgaGVhZGVyCisgICAgICAgIGZpbGVzIGxpc3RlZCBpbiAnaGVhZGVycycuICBJZiAnZGVjbCcgaXMgdHJ1ZSwgaXQgdGhlbiBkZWNsYXJlcworICAgICAgICAnZnVuYycgKGFzICJpbnQgZnVuYygpIik7IHlvdSBwcm9iYWJseSBzaG91bGRuJ3Qgc3VwcGx5ICdoZWFkZXJzJworICAgICAgICBhbmQgc2V0ICdkZWNsJyB0cnVlIGluIHRoZSBzYW1lIGNhbGwsIG9yIHlvdSBtaWdodCBnZXQgZXJyb3JzIGFib3V0CisgICAgICAgIGEgY29uZmxpY3RpbmcgZGVjbGFyYXRpb25zIGZvciAnZnVuYycuICBGaW5hbGx5LCB0aGUgY29uc3RydWN0ZWQKKyAgICAgICAgJ21haW4oKScgZnVuY3Rpb24gZWl0aGVyIHJlZmVyZW5jZXMgJ2Z1bmMnIG9yIChpZiAnY2FsbCcgaXMgdHJ1ZSkKKyAgICAgICAgY2FsbHMgaXQuICAnbGlicmFyaWVzJyBhbmQgJ2xpYnJhcnlfZGlycycgYXJlIHVzZWQgd2hlbgorICAgICAgICBsaW5raW5nLgorICAgICAgICAiIiIKKworICAgICAgICBzZWxmLl9jaGVja19jb21waWxlcigpCisgICAgICAgIGJvZHkgPSBbXQorICAgICAgICBpZiBkZWNsOgorICAgICAgICAgICAgYm9keS5hcHBlbmQoImludCAlcyAoKTsiICUgZnVuYykKKyAgICAgICAgYm9keS5hcHBlbmQoImludCBtYWluICgpIHsiKQorICAgICAgICBpZiBjYWxsOgorICAgICAgICAgICAgYm9keS5hcHBlbmQoIiAgJXMoKTsiICUgZnVuYykKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGJvZHkuYXBwZW5kKCIgICVzOyIgJSBmdW5jKQorICAgICAgICBib2R5LmFwcGVuZCgifSIpCisgICAgICAgIGJvZHkgPSAiXG4iLmpvaW4oYm9keSkgKyAiXG4iCisKKyAgICAgICAgcmV0dXJuIHNlbGYudHJ5X2xpbmsoYm9keSwgaGVhZGVycywgaW5jbHVkZV9kaXJzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJyYXJpZXMsIGxpYnJhcnlfZGlycykKKworICAgIGRlZiBjaGVja19saWIoc2VsZiwgbGlicmFyeSwgbGlicmFyeV9kaXJzPU5vbmUsIGhlYWRlcnM9Tm9uZSwKKyAgICAgICAgICAgICAgICAgIGluY2x1ZGVfZGlycz1Ob25lLCBvdGhlcl9saWJyYXJpZXM9W10pOgorICAgICAgICAiIiJEZXRlcm1pbmUgaWYgJ2xpYnJhcnknIGlzIGF2YWlsYWJsZSB0byBiZSBsaW5rZWQgYWdhaW5zdCwKKyAgICAgICAgd2l0aG91dCBhY3R1YWxseSBjaGVja2luZyB0aGF0IGFueSBwYXJ0aWN1bGFyIHN5bWJvbHMgYXJlIHByb3ZpZGVkCisgICAgICAgIGJ5IGl0LiAgJ2hlYWRlcnMnIHdpbGwgYmUgdXNlZCBpbiBjb25zdHJ1Y3RpbmcgdGhlIHNvdXJjZSBmaWxlIHRvCisgICAgICAgIGJlIGNvbXBpbGVkLCBidXQgdGhlIG9ubHkgZWZmZWN0IG9mIHRoaXMgaXMgdG8gY2hlY2sgaWYgYWxsIHRoZQorICAgICAgICBoZWFkZXIgZmlsZXMgbGlzdGVkIGFyZSBhdmFpbGFibGUuICBBbnkgbGlicmFyaWVzIGxpc3RlZCBpbgorICAgICAgICAnb3RoZXJfbGlicmFyaWVzJyB3aWxsIGJlIGluY2x1ZGVkIGluIHRoZSBsaW5rLCBpbiBjYXNlICdsaWJyYXJ5JworICAgICAgICBoYXMgc3ltYm9scyB0aGF0IGRlcGVuZCBvbiBvdGhlciBsaWJyYXJpZXMuCisgICAgICAgICIiIgorICAgICAgICBzZWxmLl9jaGVja19jb21waWxlcigpCisgICAgICAgIHJldHVybiBzZWxmLnRyeV9saW5rKCJpbnQgbWFpbiAodm9pZCkgeyB9IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVycywgaW5jbHVkZV9kaXJzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGlicmFyeV0rb3RoZXJfbGlicmFyaWVzLCBsaWJyYXJ5X2RpcnMpCisKKyAgICBkZWYgY2hlY2tfaGVhZGVyKHNlbGYsIGhlYWRlciwgaW5jbHVkZV9kaXJzPU5vbmUsIGxpYnJhcnlfZGlycz1Ob25lLAorICAgICAgICAgICAgICAgICAgICAgbGFuZz0iYyIpOgorICAgICAgICAiIiJEZXRlcm1pbmUgaWYgdGhlIHN5c3RlbSBoZWFkZXIgZmlsZSBuYW1lZCBieSAnaGVhZGVyX2ZpbGUnCisgICAgICAgIGV4aXN0cyBhbmQgY2FuIGJlIGZvdW5kIGJ5IHRoZSBwcmVwcm9jZXNzb3I7IHJldHVybiB0cnVlIGlmIHNvLAorICAgICAgICBmYWxzZSBvdGhlcndpc2UuCisgICAgICAgICIiIgorICAgICAgICByZXR1cm4gc2VsZi50cnlfY3BwKGJvZHk9Ii8qIE5vIGJvZHkgKi8iLCBoZWFkZXJzPVtoZWFkZXJdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluY2x1ZGVfZGlycz1pbmNsdWRlX2RpcnMpCisKKworZGVmIGR1bXBfZmlsZShmaWxlbmFtZSwgaGVhZD1Ob25lKToKKyAgICAiIiJEdW1wcyBhIGZpbGUgY29udGVudCBpbnRvIGxvZy5pbmZvLgorCisgICAgSWYgaGVhZCBpcyBub3QgTm9uZSwgd2lsbCBiZSBkdW1wZWQgYmVmb3JlIHRoZSBmaWxlIGNvbnRlbnQuCisgICAgIiIiCisgICAgaWYgaGVhZCBpcyBOb25lOgorICAgICAgICBsb2dnZXIuaW5mbyhmaWxlbmFtZSkKKyAgICBlbHNlOgorICAgICAgICBsb2dnZXIuaW5mbyhoZWFkKQorICAgIHdpdGggb3BlbihmaWxlbmFtZSkgYXMgZmlsZToKKyAgICAgICAgbG9nZ2VyLmluZm8oZmlsZS5yZWFkKCkpCmRpZmYgLS1naXQgYS9MaWIvcGFja2FnaW5nL2NvbW1hbmQvaW5zdGFsbF9kYXRhLnB5IGIvTGliL3BhY2thZ2luZy9jb21tYW5kL2luc3RhbGxfZGF0YS5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45Y2E2Mjc5Ci0tLSAvZGV2L251bGwKKysrIGIvTGliL3BhY2thZ2luZy9jb21tYW5kL2luc3RhbGxfZGF0YS5weQpAQCAtMCwwICsxLDc5IEBACisiIiJJbnN0YWxsIHBsYXRmb3JtLWluZGVwZW5kZW50IGRhdGEgZmlsZXMuIiIiCisKKyMgQ29udHJpYnV0ZWQgYnkgQmFzdGlhbiBLbGVpbmVpZGFtCisKK2ltcG9ydCBvcworZnJvbSBzaHV0aWwgaW1wb3J0IEVycm9yCitmcm9tIHN5c2NvbmZpZyBpbXBvcnQgZ2V0X3BhdGhzLCBmb3JtYXRfdmFsdWUKK2Zyb20gcGFja2FnaW5nIGltcG9ydCBsb2dnZXIKK2Zyb20gcGFja2FnaW5nLnV0aWwgaW1wb3J0IGNvbnZlcnRfcGF0aAorZnJvbSBwYWNrYWdpbmcuY29tbWFuZC5jbWQgaW1wb3J0IENvbW1hbmQKKworCitjbGFzcyBpbnN0YWxsX2RhdGEoQ29tbWFuZCk6CisKKyAgICBkZXNjcmlwdGlvbiA9ICJpbnN0YWxsIHBsYXRmb3JtLWluZGVwZW5kZW50IGRhdGEgZmlsZXMiCisKKyAgICB1c2VyX29wdGlvbnMgPSBbCisgICAgICAgICgnaW5zdGFsbC1kaXI9JywgJ2QnLAorICAgICAgICAgImJhc2UgZGlyZWN0b3J5IGZvciBpbnN0YWxsaW5nIGRhdGEgZmlsZXMgIgorICAgICAgICAgIihkZWZhdWx0OiBpbnN0YWxsYXRpb24gYmFzZSBkaXIpIiksCisgICAgICAgICgncm9vdD0nLCBOb25lLAorICAgICAgICAgImluc3RhbGwgZXZlcnl0aGluZyByZWxhdGl2ZSB0byB0aGlzIGFsdGVybmF0ZSByb290IGRpcmVjdG9yeSIpLAorICAgICAgICAoJ2ZvcmNlJywgJ2YnLCAiZm9yY2UgaW5zdGFsbGF0aW9uIChvdmVyd3JpdGUgZXhpc3RpbmcgZmlsZXMpIiksCisgICAgICAgIF0KKworICAgIGJvb2xlYW5fb3B0aW9ucyA9IFsnZm9yY2UnXQorCisgICAgZGVmIGluaXRpYWxpemVfb3B0aW9ucyhzZWxmKToKKyAgICAgICAgc2VsZi5pbnN0YWxsX2RpciA9IE5vbmUKKyAgICAgICAgc2VsZi5vdXRmaWxlcyA9IFtdCisgICAgICAgIHNlbGYuZGF0YV9maWxlc19vdXQgPSBbXQorICAgICAgICBzZWxmLnJvb3QgPSBOb25lCisgICAgICAgIHNlbGYuZm9yY2UgPSBGYWxzZQorICAgICAgICBzZWxmLmRhdGFfZmlsZXMgPSBzZWxmLmRpc3RyaWJ1dGlvbi5kYXRhX2ZpbGVzCisgICAgICAgIHNlbGYud2Fybl9kaXIgPSBUcnVlCisKKyAgICBkZWYgZmluYWxpemVfb3B0aW9ucyhzZWxmKToKKyAgICAgICAgc2VsZi5zZXRfdW5kZWZpbmVkX29wdGlvbnMoJ2luc3RhbGxfZGlzdCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgnaW5zdGFsbF9kYXRhJywgJ2luc3RhbGxfZGlyJyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyb290JywgJ2ZvcmNlJykKKworICAgIGRlZiBydW4oc2VsZik6CisgICAgICAgIHNlbGYubWtwYXRoKHNlbGYuaW5zdGFsbF9kaXIpCisgICAgICAgIGZvciBfZmlsZSBpbiBzZWxmLmRhdGFfZmlsZXMuaXRlbXMoKToKKyAgICAgICAgICAgIGRlc3RpbmF0aW9uID0gY29udmVydF9wYXRoKHNlbGYuZXhwYW5kX2NhdGVnb3JpZXMoX2ZpbGVbMV0pKQorICAgICAgICAgICAgZGlyX2Rlc3QgPSBvcy5wYXRoLmFic3BhdGgob3MucGF0aC5kaXJuYW1lKGRlc3RpbmF0aW9uKSkKKworICAgICAgICAgICAgc2VsZi5ta3BhdGgoZGlyX2Rlc3QpCisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgb3V0ID0gc2VsZi5jb3B5X2ZpbGUoX2ZpbGVbMF0sIGRpcl9kZXN0KVswXQorICAgICAgICAgICAgZXhjZXB0IEVycm9yIGFzIGU6CisgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJyVzOiAlcycsIHNlbGYuZ2V0X2NvbW1hbmRfbmFtZSgpLCBlKQorICAgICAgICAgICAgICAgIG91dCA9IGRlc3RpbmF0aW9uCisKKyAgICAgICAgICAgIHNlbGYub3V0ZmlsZXMuYXBwZW5kKG91dCkKKyAgICAgICAgICAgIHNlbGYuZGF0YV9maWxlc19vdXQuYXBwZW5kKChfZmlsZVswXSwgZGVzdGluYXRpb24pKQorCisgICAgZGVmIGV4cGFuZF9jYXRlZ29yaWVzKHNlbGYsIHBhdGhfd2l0aF9jYXRlZ29yaWVzKToKKyAgICAgICAgbG9jYWxfdmFycyA9IGdldF9wYXRocygpCisgICAgICAgIGxvY2FsX3ZhcnNbJ2Rpc3RyaWJ1dGlvbi5uYW1lJ10gPSBzZWxmLmRpc3RyaWJ1dGlvbi5tZXRhZGF0YVsnTmFtZSddCisgICAgICAgIGV4cGFuZGVkX3BhdGggPSBmb3JtYXRfdmFsdWUocGF0aF93aXRoX2NhdGVnb3JpZXMsIGxvY2FsX3ZhcnMpCisgICAgICAgIGV4cGFuZGVkX3BhdGggPSBmb3JtYXRfdmFsdWUoZXhwYW5kZWRfcGF0aCwgbG9jYWxfdmFycykKKyAgICAgICAgaWYgJ3snIGluIGV4cGFuZGVkX3BhdGggYW5kICd9JyBpbiBleHBhbmRlZF9wYXRoOgorICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoCisgICAgICAgICAgICAgICAgJyVzOiB1bmFibGUgdG8gZXhwYW5kICVzLCBzb21lIGNhdGVnb3JpZXMgbWF5IGJlIG1pc3NpbmcnLAorICAgICAgICAgICAgICAgIHNlbGYuZ2V0X2NvbW1hbmRfbmFtZSgpLCBwYXRoX3dpdGhfY2F0ZWdvcmllcykKKyAgICAgICAgcmV0dXJuIGV4cGFuZGVkX3BhdGgKKworICAgIGRlZiBnZXRfc291cmNlX2ZpbGVzKHNlbGYpOgorICAgICAgICByZXR1cm4gbGlzdChzZWxmLmRhdGFfZmlsZXMpCisKKyAgICBkZWYgZ2V0X2lucHV0cyhzZWxmKToKKyAgICAgICAgcmV0dXJuIGxpc3Qoc2VsZi5kYXRhX2ZpbGVzKQorCisgICAgZGVmIGdldF9vdXRwdXRzKHNlbGYpOgorICAgICAgICByZXR1cm4gc2VsZi5vdXRmaWxlcworCisgICAgZGVmIGdldF9yZXNvdXJjZXNfb3V0KHNlbGYpOgorICAgICAgICByZXR1cm4gc2VsZi5kYXRhX2ZpbGVzX291dApkaWZmIC0tZ2l0IGEvTGliL3BhY2thZ2luZy9jb21tYW5kL2luc3RhbGxfZGlzdC5weSBiL0xpYi9wYWNrYWdpbmcvY29tbWFuZC9pbnN0YWxsX2Rpc3QucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODM4OGRjOQotLS0gL2Rldi9udWxsCisrKyBiL0xpYi9wYWNrYWdpbmcvY29tbWFuZC9pbnN0YWxsX2Rpc3QucHkKQEAgLTAsMCArMSw2MDUgQEAKKyIiIk1haW4gaW5zdGFsbCBjb21tYW5kLCB3aGljaCBjYWxscyB0aGUgb3RoZXIgaW5zdGFsbF8qIGNvbW1hbmRzLiIiIgorCitpbXBvcnQgc3lzCitpbXBvcnQgb3MKKworaW1wb3J0IHN5c2NvbmZpZworZnJvbSBzeXNjb25maWcgaW1wb3J0IGdldF9jb25maWdfdmFycywgZ2V0X3BhdGhzLCBnZXRfcGF0aCwgZ2V0X2NvbmZpZ192YXIKKworZnJvbSBwYWNrYWdpbmcgaW1wb3J0IGxvZ2dlcgorZnJvbSBwYWNrYWdpbmcuY29tbWFuZC5jbWQgaW1wb3J0IENvbW1hbmQKK2Zyb20gcGFja2FnaW5nLmVycm9ycyBpbXBvcnQgUGFja2FnaW5nUGxhdGZvcm1FcnJvcgorZnJvbSBwYWNrYWdpbmcudXRpbCBpbXBvcnQgd3JpdGVfZmlsZQorZnJvbSBwYWNrYWdpbmcudXRpbCBpbXBvcnQgY29udmVydF9wYXRoLCBjaGFuZ2Vfcm9vdCwgZ2V0X3BsYXRmb3JtCitmcm9tIHBhY2thZ2luZy5lcnJvcnMgaW1wb3J0IFBhY2thZ2luZ09wdGlvbkVycm9yCisKKworY2xhc3MgaW5zdGFsbF9kaXN0KENvbW1hbmQpOgorCisgICAgZGVzY3JpcHRpb24gPSAiaW5zdGFsbCBldmVyeXRoaW5nIGZyb20gYnVpbGQgZGlyZWN0b3J5IgorCisgICAgdXNlcl9vcHRpb25zID0gWworICAgICAgICAjIFNlbGVjdCBpbnN0YWxsYXRpb24gc2NoZW1lIGFuZCBzZXQgYmFzZSBkaXJlY3Rvcih5fGllcykKKyAgICAgICAgKCdwcmVmaXg9JywgTm9uZSwKKyAgICAgICAgICJpbnN0YWxsYXRpb24gcHJlZml4IiksCisgICAgICAgICgnZXhlYy1wcmVmaXg9JywgTm9uZSwKKyAgICAgICAgICIoVW5peCBvbmx5KSBwcmVmaXggZm9yIHBsYXRmb3JtLXNwZWNpZmljIGZpbGVzIiksCisgICAgICAgICgndXNlcicsIE5vbmUsCisgICAgICAgICAiaW5zdGFsbCBpbiB1c2VyIHNpdGUtcGFja2FnZXMgZGlyZWN0b3J5IFslc10iICUKKyAgICAgICAgIGdldF9wYXRoKCdwdXJlbGliJywgJyVzX3VzZXInICUgb3MubmFtZSkpLAorICAgICAgICAoJ2hvbWU9JywgTm9uZSwKKyAgICAgICAgICIoVW5peCBvbmx5KSBob21lIGRpcmVjdG9yeSB0byBpbnN0YWxsIHVuZGVyIiksCisKKyAgICAgICAgIyBPciBqdXN0IHNldCB0aGUgYmFzZSBkaXJlY3Rvcih5fGllcykKKyAgICAgICAgKCdpbnN0YWxsLWJhc2U9JywgTm9uZSwKKyAgICAgICAgICJiYXNlIGluc3RhbGxhdGlvbiBkaXJlY3RvcnkgKGluc3RlYWQgb2YgLS1wcmVmaXggb3IgLS1ob21lKSIpLAorICAgICAgICAoJ2luc3RhbGwtcGxhdGJhc2U9JywgTm9uZSwKKyAgICAgICAgICJiYXNlIGluc3RhbGxhdGlvbiBkaXJlY3RvcnkgZm9yIHBsYXRmb3JtLXNwZWNpZmljIGZpbGVzICIgKworICAgICAgICAgIihpbnN0ZWFkIG9mIC0tZXhlYy1wcmVmaXggb3IgLS1ob21lKSIpLAorICAgICAgICAoJ3Jvb3Q9JywgTm9uZSwKKyAgICAgICAgICJpbnN0YWxsIGV2ZXJ5dGhpbmcgcmVsYXRpdmUgdG8gdGhpcyBhbHRlcm5hdGUgcm9vdCBkaXJlY3RvcnkiKSwKKworICAgICAgICAjIE9yIGV4cGxpY2l0bHkgc2V0IHRoZSBpbnN0YWxsYXRpb24gc2NoZW1lCisgICAgICAgICgnaW5zdGFsbC1wdXJlbGliPScsIE5vbmUsCisgICAgICAgICAiaW5zdGFsbGF0aW9uIGRpcmVjdG9yeSBmb3IgcHVyZSBQeXRob24gbW9kdWxlIGRpc3RyaWJ1dGlvbnMiKSwKKyAgICAgICAgKCdpbnN0YWxsLXBsYXRsaWI9JywgTm9uZSwKKyAgICAgICAgICJpbnN0YWxsYXRpb24gZGlyZWN0b3J5IGZvciBub24tcHVyZSBtb2R1bGUgZGlzdHJpYnV0aW9ucyIpLAorICAgICAgICAoJ2luc3RhbGwtbGliPScsIE5vbmUsCisgICAgICAgICAiaW5zdGFsbGF0aW9uIGRpcmVjdG9yeSBmb3IgYWxsIG1vZHVsZSBkaXN0cmlidXRpb25zICIgKworICAgICAgICAgIihvdmVycmlkZXMgLS1pbnN0YWxsLXB1cmVsaWIgYW5kIC0taW5zdGFsbC1wbGF0bGliKSIpLAorCisgICAgICAgICgnaW5zdGFsbC1oZWFkZXJzPScsIE5vbmUsCisgICAgICAgICAiaW5zdGFsbGF0aW9uIGRpcmVjdG9yeSBmb3IgQy9DKysgaGVhZGVycyIpLAorICAgICAgICAoJ2luc3RhbGwtc2NyaXB0cz0nLCBOb25lLAorICAgICAgICAgImluc3RhbGxhdGlvbiBkaXJlY3RvcnkgZm9yIFB5dGhvbiBzY3JpcHRzIiksCisgICAgICAgICgnaW5zdGFsbC1kYXRhPScsIE5vbmUsCisgICAgICAgICAiaW5zdGFsbGF0aW9uIGRpcmVjdG9yeSBmb3IgZGF0YSBmaWxlcyIpLAorCisgICAgICAgICMgQnl0ZS1jb21waWxhdGlvbiBvcHRpb25zIC0tIHNlZSBpbnN0YWxsX2xpYiBmb3IgZGV0YWlscworICAgICAgICAoJ2NvbXBpbGUnLCAnYycsICJjb21waWxlIC5weSB0byAucHljIFtkZWZhdWx0XSIpLAorICAgICAgICAoJ25vLWNvbXBpbGUnLCBOb25lLCAiZG9uJ3QgY29tcGlsZSAucHkgZmlsZXMiKSwKKyAgICAgICAgKCdvcHRpbWl6ZT0nLCAnTycsCisgICAgICAgICAnYWxzbyBjb21waWxlIHdpdGggb3B0aW1pemF0aW9uOiAtTzEgZm9yICJweXRob24gLU8iLCAnCisgICAgICAgICAnLU8yIGZvciAicHl0aG9uIC1PTyIsIGFuZCAtTzAgdG8gZGlzYWJsZSBbZGVmYXVsdDogLU8wXScpLAorCisgICAgICAgICMgTWlzY2VsbGFuZW91cyBjb250cm9sIG9wdGlvbnMKKyAgICAgICAgKCdmb3JjZScsICdmJywKKyAgICAgICAgICJmb3JjZSBpbnN0YWxsYXRpb24gKG92ZXJ3cml0ZSBhbnkgZXhpc3RpbmcgZmlsZXMpIiksCisgICAgICAgICgnc2tpcC1idWlsZCcsIE5vbmUsCisgICAgICAgICAic2tpcCByZWJ1aWxkaW5nIGV2ZXJ5dGhpbmcgKGZvciB0ZXN0aW5nL2RlYnVnZ2luZykiKSwKKworICAgICAgICAjIFdoZXJlIHRvIGluc3RhbGwgZG9jdW1lbnRhdGlvbiAoZXZlbnR1YWxseSEpCisgICAgICAgICMoJ2RvYy1mb3JtYXQ9JywgTm9uZSwgImZvcm1hdCBvZiBkb2N1bWVudGF0aW9uIHRvIGdlbmVyYXRlIiksCisgICAgICAgICMoJ2luc3RhbGwtbWFuPScsIE5vbmUsICJkaXJlY3RvcnkgZm9yIFVuaXggbWFuIHBhZ2VzIiksCisgICAgICAgICMoJ2luc3RhbGwtaHRtbD0nLCBOb25lLCAiZGlyZWN0b3J5IGZvciBIVE1MIGRvY3VtZW50YXRpb24iKSwKKyAgICAgICAgIygnaW5zdGFsbC1pbmZvPScsIE5vbmUsICJkaXJlY3RvcnkgZm9yIEdOVSBpbmZvIGZpbGVzIiksCisKKyAgICAgICAgIyBYWFggdXNlIGEgbmFtZSB0aGF0IG1ha2VzIGNsZWFyIHRoaXMgaXMgdGhlIG9sZCBmb3JtYXQKKyAgICAgICAgKCdyZWNvcmQ9JywgTm9uZSwKKyAgICAgICAgICJmaWxlbmFtZSBpbiB3aGljaCB0byByZWNvcmQgYSBsaXN0IG9mIGluc3RhbGxlZCBmaWxlcyAiCisgICAgICAgICAiKG5vdCBQRVAgMzc2LWNvbXBsaWFudCkiKSwKKyAgICAgICAgKCdyZXNvdXJjZXM9JywgTm9uZSwKKyAgICAgICAgICJkYXRhIGZpbGVzIG1hcHBpbmciKSwKKworICAgICAgICAjIC5kaXN0LWluZm8gcmVsYXRlZCBhcmd1bWVudHMsIHJlYWQgYnkgaW5zdGFsbF9kaXN0X2luZm8KKyAgICAgICAgKCduby1kaXN0aW5mbycsIE5vbmUsCisgICAgICAgICAiZG8gbm90IGNyZWF0ZSBhIC5kaXN0LWluZm8gZGlyZWN0b3J5IiksCisgICAgICAgICgnaW5zdGFsbGVyPScsIE5vbmUsCisgICAgICAgICAidGhlIG5hbWUgb2YgdGhlIGluc3RhbGxlciIpLAorICAgICAgICAoJ3JlcXVlc3RlZCcsIE5vbmUsCisgICAgICAgICAiZ2VuZXJhdGUgYSBSRVFVRVNURUQgZmlsZSAoaS5lLiIpLAorICAgICAgICAoJ25vLXJlcXVlc3RlZCcsIE5vbmUsCisgICAgICAgICAiZG8gbm90IGdlbmVyYXRlIGEgUkVRVUVTVEVEIGZpbGUiKSwKKyAgICAgICAgKCduby1yZWNvcmQnLCBOb25lLAorICAgICAgICAgImRvIG5vdCBnZW5lcmF0ZSBhIFJFQ09SRCBmaWxlIiksCisgICAgICAgIF0KKworICAgIGJvb2xlYW5fb3B0aW9ucyA9IFsnY29tcGlsZScsICdmb3JjZScsICdza2lwLWJ1aWxkJywgJ25vLWRpc3RpbmZvJywKKyAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVlc3RlZCcsICduby1yZWNvcmQnLCAndXNlciddCisKKyAgICBuZWdhdGl2ZV9vcHQgPSB7J25vLWNvbXBpbGUnOiAnY29tcGlsZScsICduby1yZXF1ZXN0ZWQnOiAncmVxdWVzdGVkJ30KKworICAgIGRlZiBpbml0aWFsaXplX29wdGlvbnMoc2VsZik6CisgICAgICAgICMgSGlnaC1sZXZlbCBvcHRpb25zOiB0aGVzZSBzZWxlY3QgYm90aCBhbiBpbnN0YWxsYXRpb24gYmFzZQorICAgICAgICAjIGFuZCBzY2hlbWUuCisgICAgICAgIHNlbGYucHJlZml4ID0gTm9uZQorICAgICAgICBzZWxmLmV4ZWNfcHJlZml4ID0gTm9uZQorICAgICAgICBzZWxmLmhvbWUgPSBOb25lCisgICAgICAgIHNlbGYudXNlciA9IEZhbHNlCisKKyAgICAgICAgIyBUaGVzZSBzZWxlY3Qgb25seSB0aGUgaW5zdGFsbGF0aW9uIGJhc2U7IGl0J3MgdXAgdG8gdGhlIHVzZXIgdG8KKyAgICAgICAgIyBzcGVjaWZ5IHRoZSBpbnN0YWxsYXRpb24gc2NoZW1lIChjdXJyZW50bHksIHRoYXQgbWVhbnMgc3VwcGx5aW5nCisgICAgICAgICMgdGhlIC0taW5zdGFsbC17cGxhdGxpYixwdXJlbGliLHNjcmlwdHMsZGF0YX0gb3B0aW9ucykuCisgICAgICAgIHNlbGYuaW5zdGFsbF9iYXNlID0gTm9uZQorICAgICAgICBzZWxmLmluc3RhbGxfcGxhdGJhc2UgPSBOb25lCisgICAgICAgIHNlbGYucm9vdCA9IE5vbmUKKworICAgICAgICAjIFRoZXNlIG9wdGlvbnMgYXJlIHRoZSBhY3R1YWwgaW5zdGFsbGF0aW9uIGRpcmVjdG9yaWVzOyBpZiBub3QKKyAgICAgICAgIyBzdXBwbGllZCBieSB0aGUgdXNlciwgdGhleSBhcmUgZmlsbGVkIGluIHVzaW5nIHRoZSBpbnN0YWxsYXRpb24KKyAgICAgICAgIyBzY2hlbWUgaW1wbGllZCBieSBwcmVmaXgvZXhlYy1wcmVmaXgvaG9tZSBhbmQgdGhlIGNvbnRlbnRzIG9mCisgICAgICAgICMgdGhhdCBpbnN0YWxsYXRpb24gc2NoZW1lLgorICAgICAgICBzZWxmLmluc3RhbGxfcHVyZWxpYiA9IE5vbmUgICAgICMgZm9yIHB1cmUgbW9kdWxlIGRpc3RyaWJ1dGlvbnMKKyAgICAgICAgc2VsZi5pbnN0YWxsX3BsYXRsaWIgPSBOb25lICAgICAjIG5vbi1wdXJlIChkaXN0cyB3LyBleHRlbnNpb25zKQorICAgICAgICBzZWxmLmluc3RhbGxfaGVhZGVycyA9IE5vbmUgICAgICMgZm9yIEMvQysrIGhlYWRlcnMKKyAgICAgICAgc2VsZi5pbnN0YWxsX2xpYiA9IE5vbmUgICAgICAgICAjIHNldCB0byBlaXRoZXIgcHVyZWxpYiBvciBwbGF0bGliCisgICAgICAgIHNlbGYuaW5zdGFsbF9zY3JpcHRzID0gTm9uZQorICAgICAgICBzZWxmLmluc3RhbGxfZGF0YSA9IE5vbmUKKyAgICAgICAgc2VsZi5pbnN0YWxsX3VzZXJiYXNlID0gZ2V0X2NvbmZpZ192YXIoJ3VzZXJiYXNlJykKKyAgICAgICAgc2VsZi5pbnN0YWxsX3VzZXJzaXRlID0gZ2V0X3BhdGgoJ3B1cmVsaWInLCAnJXNfdXNlcicgJSBvcy5uYW1lKQorCisgICAgICAgIHNlbGYuY29tcGlsZSA9IE5vbmUKKyAgICAgICAgc2VsZi5vcHRpbWl6ZSA9IE5vbmUKKworICAgICAgICAjIFRoZXNlIHR3byBhcmUgZm9yIHB1dHRpbmcgbm9uLXBhY2thZ2l6ZWQgZGlzdHJpYnV0aW9ucyBpbnRvIHRoZWlyCisgICAgICAgICMgb3duIGRpcmVjdG9yeSBhbmQgY3JlYXRpbmcgYSAucHRoIGZpbGUgaWYgaXQgbWFrZXMgc2Vuc2UuCisgICAgICAgICMgJ2V4dHJhX3BhdGgnIGNvbWVzIGZyb20gdGhlIHNldHVwIGZpbGU7ICdpbnN0YWxsX3BhdGhfZmlsZScgY2FuCisgICAgICAgICMgYmUgdHVybmVkIG9mZiBpZiBpdCBtYWtlcyBubyBzZW5zZSB0byBpbnN0YWxsIGEgLnB0aCBmaWxlLiAgKEJ1dAorICAgICAgICAjIGJldHRlciB0byBpbnN0YWxsIGl0IHVzZWxlc3NseSB0aGFuIHRvIGd1ZXNzIHdyb25nIGFuZCBub3QKKyAgICAgICAgIyBpbnN0YWxsIGl0IHdoZW4gaXQncyBuZWNlc3NhcnkgYW5kIHdvdWxkIGJlIHVzZWQhKSAgQ3VycmVudGx5LAorICAgICAgICAjICdpbnN0YWxsX3BhdGhfZmlsZScgaXMgYWx3YXlzIHRydWUgdW5sZXNzIHNvbWUgb3V0c2lkZXIgbWVkZGxlcworICAgICAgICAjIHdpdGggaXQuCisgICAgICAgIHNlbGYuZXh0cmFfcGF0aCA9IE5vbmUKKyAgICAgICAgc2VsZi5pbnN0YWxsX3BhdGhfZmlsZSA9IFRydWUKKworICAgICAgICAjICdmb3JjZScgZm9yY2VzIGluc3RhbGxhdGlvbiwgZXZlbiBpZiB0YXJnZXQgZmlsZXMgYXJlIG5vdAorICAgICAgICAjIG91dC1vZi1kYXRlLiAgJ3NraXBfYnVpbGQnIHNraXBzIHJ1bm5pbmcgdGhlICJidWlsZCIgY29tbWFuZCwKKyAgICAgICAgIyBoYW5keSBpZiB5b3Uga25vdyBpdCdzIG5vdCBuZWNlc3NhcnkuICAnd2Fybl9kaXInICh3aGljaCBpcyAqbm90KgorICAgICAgICAjIGEgdXNlciBvcHRpb24sIGl0J3MganVzdCB0aGVyZSBzbyB0aGUgYmRpc3RfKiBjb21tYW5kcyBjYW4gdHVybgorICAgICAgICAjIGl0IG9mZikgZGV0ZXJtaW5lcyB3aGV0aGVyIHdlIHdhcm4gYWJvdXQgaW5zdGFsbGluZyB0byBhCisgICAgICAgICMgZGlyZWN0b3J5IG5vdCBpbiBzeXMucGF0aC4KKyAgICAgICAgc2VsZi5mb3JjZSA9IEZhbHNlCisgICAgICAgIHNlbGYuc2tpcF9idWlsZCA9IEZhbHNlCisgICAgICAgIHNlbGYud2Fybl9kaXIgPSBUcnVlCisKKyAgICAgICAgIyBUaGVzZSBhcmUgb25seSBoZXJlIGFzIGEgY29uZHVpdCBmcm9tIHRoZSAnYnVpbGQnIGNvbW1hbmQgdG8gdGhlCisgICAgICAgICMgJ2luc3RhbGxfKicgY29tbWFuZHMgdGhhdCBkbyB0aGUgcmVhbCB3b3JrLiAgKCdidWlsZF9iYXNlJyBpc24ndAorICAgICAgICAjIGFjdHVhbGx5IHVzZWQgYW55d2hlcmUsIGJ1dCBpdCBtaWdodCBiZSB1c2VmdWwgaW4gZnV0dXJlLikgIFRoZXkKKyAgICAgICAgIyBhcmUgbm90IHVzZXIgb3B0aW9ucywgYmVjYXVzZSBpZiB0aGUgdXNlciB0b2xkIHRoZSBpbnN0YWxsCisgICAgICAgICMgY29tbWFuZCB3aGVyZSB0aGUgYnVpbGQgZGlyZWN0b3J5IGlzLCB0aGF0IHdvdWxkbid0IGFmZmVjdCB0aGUKKyAgICAgICAgIyBidWlsZCBjb21tYW5kLgorICAgICAgICBzZWxmLmJ1aWxkX2Jhc2UgPSBOb25lCisgICAgICAgIHNlbGYuYnVpbGRfbGliID0gTm9uZQorCisgICAgICAgICMgTm90IGRlZmluZWQgeWV0IGJlY2F1c2Ugd2UgZG9uJ3Qga25vdyBhbnl0aGluZyBhYm91dAorICAgICAgICAjIGRvY3VtZW50YXRpb24geWV0LgorICAgICAgICAjc2VsZi5pbnN0YWxsX21hbiA9IE5vbmUKKyAgICAgICAgI3NlbGYuaW5zdGFsbF9odG1sID0gTm9uZQorICAgICAgICAjc2VsZi5pbnN0YWxsX2luZm8gPSBOb25lCisKKyAgICAgICAgc2VsZi5yZWNvcmQgPSBOb25lCisgICAgICAgIHNlbGYucmVzb3VyY2VzID0gTm9uZQorCisgICAgICAgICMgLmRpc3QtaW5mbyByZWxhdGVkIG9wdGlvbnMKKyAgICAgICAgc2VsZi5ub19kaXN0aW5mbyA9IE5vbmUKKyAgICAgICAgc2VsZi5pbnN0YWxsZXIgPSBOb25lCisgICAgICAgIHNlbGYucmVxdWVzdGVkID0gTm9uZQorICAgICAgICBzZWxmLm5vX3JlY29yZCA9IE5vbmUKKworICAgICMgLS0gT3B0aW9uIGZpbmFsaXppbmcgbWV0aG9kcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAgIyAoVGhpcyBpcyByYXRoZXIgbW9yZSBpbnZvbHZlZCB0aGFuIGZvciBtb3N0IGNvbW1hbmRzLAorICAgICMgYmVjYXVzZSB0aGlzIGlzIHdoZXJlIHRoZSBwb2xpY3kgZm9yIGluc3RhbGxpbmcgdGhpcmQtCisgICAgIyBwYXJ0eSBQeXRob24gbW9kdWxlcyBvbiB2YXJpb3VzIHBsYXRmb3JtcyBnaXZlbiBhIHdpZGUKKyAgICAjIGFycmF5IG9mIHVzZXIgaW5wdXQgaXMgZGVjaWRlZC4gIFllcywgaXQncyBxdWl0ZSBjb21wbGV4ISkKKworICAgIGRlZiBmaW5hbGl6ZV9vcHRpb25zKHNlbGYpOgorICAgICAgICAjIFRoaXMgbWV0aG9kIChhbmQgaXRzIHBsaWFudCBzbGF2ZXMsIGxpa2UgJ2ZpbmFsaXplX3VuaXgoKScsCisgICAgICAgICMgJ2ZpbmFsaXplX290aGVyKCknLCBhbmQgJ3NlbGVjdF9zY2hlbWUoKScpIGlzIHdoZXJlIHRoZSBkZWZhdWx0CisgICAgICAgICMgaW5zdGFsbGF0aW9uIGRpcmVjdG9yaWVzIGZvciBtb2R1bGVzLCBleHRlbnNpb24gbW9kdWxlcywgYW5kCisgICAgICAgICMgYW55dGhpbmcgZWxzZSB3ZSBjYXJlIHRvIGluc3RhbGwgZnJvbSBhIFB5dGhvbiBtb2R1bGUKKyAgICAgICAgIyBkaXN0cmlidXRpb24uICBUaHVzLCB0aGlzIGNvZGUgbWFrZXMgYSBwcmV0dHkgaW1wb3J0YW50IHBvbGljeQorICAgICAgICAjIHN0YXRlbWVudCBhYm91dCBob3cgdGhpcmQtcGFydHkgc3R1ZmYgaXMgYWRkZWQgdG8gYSBQeXRob24KKyAgICAgICAgIyBpbnN0YWxsYXRpb24hICBOb3RlIHRoYXQgdGhlIGFjdHVhbCB3b3JrIG9mIGluc3RhbGxhdGlvbiBpcyBkb25lCisgICAgICAgICMgYnkgdGhlIHJlbGF0aXZlbHkgc2ltcGxlICdpbnN0YWxsXyonIGNvbW1hbmRzOyB0aGV5IGp1c3QgdGFrZQorICAgICAgICAjIHRoZWlyIG9yZGVycyBmcm9tIHRoZSBpbnN0YWxsYXRpb24gZGlyZWN0b3J5IG9wdGlvbnMgZGV0ZXJtaW5lZAorICAgICAgICAjIGhlcmUuCisKKyAgICAgICAgIyBDaGVjayBmb3IgZXJyb3JzL2luY29uc2lzdGVuY2llcyBpbiB0aGUgb3B0aW9uczsgZmlyc3QsIHN0dWZmCisgICAgICAgICMgdGhhdCdzIHdyb25nIG9uIGFueSBwbGF0Zm9ybS4KKworICAgICAgICBpZiAoKHNlbGYucHJlZml4IG9yIHNlbGYuZXhlY19wcmVmaXggb3Igc2VsZi5ob21lKSBhbmQKKyAgICAgICAgICAgIChzZWxmLmluc3RhbGxfYmFzZSBvciBzZWxmLmluc3RhbGxfcGxhdGJhc2UpKToKKyAgICAgICAgICAgIHJhaXNlIFBhY2thZ2luZ09wdGlvbkVycm9yKAorICAgICAgICAgICAgICAgICJtdXN0IHN1cHBseSBlaXRoZXIgcHJlZml4L2V4ZWMtcHJlZml4L2hvbWUgb3IgIgorICAgICAgICAgICAgICAgICJpbnN0YWxsLWJhc2UvaW5zdGFsbC1wbGF0YmFzZSAtLSBub3QgYm90aCIpCisKKyAgICAgICAgaWYgc2VsZi5ob21lIGFuZCAoc2VsZi5wcmVmaXggb3Igc2VsZi5leGVjX3ByZWZpeCk6CisgICAgICAgICAgICByYWlzZSBQYWNrYWdpbmdPcHRpb25FcnJvcigKKyAgICAgICAgICAgICAgICAibXVzdCBzdXBwbHkgZWl0aGVyIGhvbWUgb3IgcHJlZml4L2V4ZWMtcHJlZml4IC0tIG5vdCBib3RoIikKKworICAgICAgICBpZiBzZWxmLnVzZXIgYW5kIChzZWxmLnByZWZpeCBvciBzZWxmLmV4ZWNfcHJlZml4IG9yIHNlbGYuaG9tZSBvcgorICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmluc3RhbGxfYmFzZSBvciBzZWxmLmluc3RhbGxfcGxhdGJhc2UpOgorICAgICAgICAgICAgcmFpc2UgUGFja2FnaW5nT3B0aW9uRXJyb3IoCisgICAgICAgICAgICAgICAgImNhbid0IGNvbWJpbmUgdXNlciB3aXRoIHByZWZpeC9leGVjX3ByZWZpeC9ob21lIG9yICIKKyAgICAgICAgICAgICAgICAiaW5zdGFsbF9iYXNlL2luc3RhbGxfcGxhdGJhc2UiKQorCisgICAgICAgICMgTmV4dCwgc3R1ZmYgdGhhdCdzIHdyb25nIChvciBkdWJpb3VzKSBvbmx5IG9uIGNlcnRhaW4gcGxhdGZvcm1zLgorICAgICAgICBpZiBvcy5uYW1lICE9ICJwb3NpeCI6CisgICAgICAgICAgICBpZiBzZWxmLmV4ZWNfcHJlZml4OgorICAgICAgICAgICAgICAgIGxvZ2dlci53YXJuaW5nKAorICAgICAgICAgICAgICAgICAgICAnJXM6IGV4ZWMtcHJlZml4IG9wdGlvbiBpZ25vcmVkIG9uIHRoaXMgcGxhdGZvcm0nLAorICAgICAgICAgICAgICAgICAgICBzZWxmLmdldF9jb21tYW5kX25hbWUoKSkKKyAgICAgICAgICAgICAgICBzZWxmLmV4ZWNfcHJlZml4ID0gTm9uZQorCisgICAgICAgICMgTm93IHRoZSBpbnRlcmVzdGluZyBsb2dpYyAtLSBzbyBpbnRlcmVzdGluZyB0aGF0IHdlIGZhcm0gaXQgb3V0CisgICAgICAgICMgdG8gb3RoZXIgbWV0aG9kcy4gIFRoZSBnb2FsIG9mIHRoZXNlIG1ldGhvZHMgaXMgdG8gc2V0IHRoZSBmaW5hbAorICAgICAgICAjIHZhbHVlcyBmb3IgdGhlIGluc3RhbGxfe2xpYixzY3JpcHRzLGRhdGEsLi4ufSAgb3B0aW9ucywgdXNpbmcgYXMKKyAgICAgICAgIyBpbnB1dCBhIGhlYWR5IGJyZXcgb2YgcHJlZml4LCBleGVjX3ByZWZpeCwgaG9tZSwgaW5zdGFsbF9iYXNlLAorICAgICAgICAjIGluc3RhbGxfcGxhdGJhc2UsIHVzZXItc3VwcGxpZWQgdmVyc2lvbnMgb2YKKyAgICAgICAgIyBpbnN0YWxsX3twdXJlbGliLHBsYXRsaWIsbGliLHNjcmlwdHMsZGF0YSwuLi59LCBhbmQgdGhlCisgICAgICAgICMgSU5TVEFMTF9TQ0hFTUUgZGljdGlvbmFyeSBhYm92ZS4gIFBoZXchCisKKyAgICAgICAgc2VsZi5kdW1wX2RpcnMoInByZS1maW5hbGl6ZV97dW5peCxvdGhlcn0iKQorCisgICAgICAgIGlmIG9zLm5hbWUgPT0gJ3Bvc2l4JzoKKyAgICAgICAgICAgIHNlbGYuZmluYWxpemVfdW5peCgpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzZWxmLmZpbmFsaXplX290aGVyKCkKKworICAgICAgICBzZWxmLmR1bXBfZGlycygicG9zdC1maW5hbGl6ZV97dW5peCxvdGhlcn0oKSIpCisKKyAgICAgICAgIyBFeHBhbmQgY29uZmlndXJhdGlvbiB2YXJpYWJsZXMsIHRpbGRlLCBldGMuIGluIHNlbGYuaW5zdGFsbF9iYXNlCisgICAgICAgICMgYW5kIHNlbGYuaW5zdGFsbF9wbGF0YmFzZSAtLSB0aGF0IHdheSwgd2UgY2FuIHVzZSAkYmFzZSBvcgorICAgICAgICAjICRwbGF0YmFzZSBpbiB0aGUgb3RoZXIgaW5zdGFsbGF0aW9uIGRpcmVjdG9yaWVzIGFuZCBub3Qgd29ycnkKKyAgICAgICAgIyBhYm91dCBuZWVkaW5nIHJlY3Vyc2l2ZSB2YXJpYWJsZSBleHBhbnNpb24gKHNodWRkZXIpLgorCisgICAgICAgIHB5X3ZlcnNpb24gPSAnJXMuJXMnICUgc3lzLnZlcnNpb25faW5mb1s6Ml0KKyAgICAgICAgcHJlZml4LCBleGVjX3ByZWZpeCwgc3JjZGlyLCBwcm9qZWN0YmFzZSA9IGdldF9jb25maWdfdmFycygKKyAgICAgICAgICAgICdwcmVmaXgnLCAnZXhlY19wcmVmaXgnLCAnc3JjZGlyJywgJ3Byb2plY3RiYXNlJykKKworICAgICAgICBtZXRhZGF0YSA9IHNlbGYuZGlzdHJpYnV0aW9uLm1ldGFkYXRhCisgICAgICAgIHNlbGYuY29uZmlnX3ZhcnMgPSB7CisgICAgICAgICAgICAnZGlzdF9uYW1lJzogbWV0YWRhdGFbJ05hbWUnXSwKKyAgICAgICAgICAgICdkaXN0X3ZlcnNpb24nOiBtZXRhZGF0YVsnVmVyc2lvbiddLAorICAgICAgICAgICAgJ2Rpc3RfZnVsbG5hbWUnOiBtZXRhZGF0YS5nZXRfZnVsbG5hbWUoKSwKKyAgICAgICAgICAgICdweV92ZXJzaW9uJzogcHlfdmVyc2lvbiwKKyAgICAgICAgICAgICdweV92ZXJzaW9uX3Nob3J0JzogcHlfdmVyc2lvbls6M10sCisgICAgICAgICAgICAncHlfdmVyc2lvbl9ub2RvdCc6IHB5X3ZlcnNpb25bOjM6Ml0sCisgICAgICAgICAgICAnc3lzX3ByZWZpeCc6IHByZWZpeCwKKyAgICAgICAgICAgICdwcmVmaXgnOiBwcmVmaXgsCisgICAgICAgICAgICAnc3lzX2V4ZWNfcHJlZml4JzogZXhlY19wcmVmaXgsCisgICAgICAgICAgICAnZXhlY19wcmVmaXgnOiBleGVjX3ByZWZpeCwKKyAgICAgICAgICAgICdzcmNkaXInOiBzcmNkaXIsCisgICAgICAgICAgICAncHJvamVjdGJhc2UnOiBwcm9qZWN0YmFzZSwKKyAgICAgICAgICAgICd1c2VyYmFzZSc6IHNlbGYuaW5zdGFsbF91c2VyYmFzZSwKKyAgICAgICAgICAgICd1c2Vyc2l0ZSc6IHNlbGYuaW5zdGFsbF91c2Vyc2l0ZSwKKyAgICAgICAgfQorCisgICAgICAgIHNlbGYuZXhwYW5kX2Jhc2VkaXJzKCkKKworICAgICAgICBzZWxmLmR1bXBfZGlycygicG9zdC1leHBhbmRfYmFzZWRpcnMoKSIpCisKKyAgICAgICAgIyBOb3cgZGVmaW5lIGNvbmZpZyB2YXJzIGZvciB0aGUgYmFzZSBkaXJlY3RvcmllcyBzbyB3ZSBjYW4gZXhwYW5kCisgICAgICAgICMgZXZlcnl0aGluZyBlbHNlLgorICAgICAgICBzZWxmLmNvbmZpZ192YXJzWydiYXNlJ10gPSBzZWxmLmluc3RhbGxfYmFzZQorICAgICAgICBzZWxmLmNvbmZpZ192YXJzWydwbGF0YmFzZSddID0gc2VsZi5pbnN0YWxsX3BsYXRiYXNlCisKKyAgICAgICAgIyBFeHBhbmQgIn4iIGFuZCBjb25maWd1cmF0aW9uIHZhcmlhYmxlcyBpbiB0aGUgaW5zdGFsbGF0aW9uCisgICAgICAgICMgZGlyZWN0b3JpZXMuCisgICAgICAgIHNlbGYuZXhwYW5kX2RpcnMoKQorCisgICAgICAgIHNlbGYuZHVtcF9kaXJzKCJwb3N0LWV4cGFuZF9kaXJzKCkiKQorCisgICAgICAgICMgQ3JlYXRlIGRpcmVjdG9yaWVzIHVuZGVyIFVTRVJCQVNFCisgICAgICAgIGlmIHNlbGYudXNlcjoKKyAgICAgICAgICAgIHNlbGYuY3JlYXRlX3VzZXJfZGlycygpCisKKyAgICAgICAgIyBQaWNrIHRoZSBhY3R1YWwgZGlyZWN0b3J5IHRvIGluc3RhbGwgYWxsIG1vZHVsZXMgdG86IGVpdGhlcgorICAgICAgICAjIGluc3RhbGxfcHVyZWxpYiBvciBpbnN0YWxsX3BsYXRsaWIsIGRlcGVuZGluZyBvbiB3aGV0aGVyIHRoaXMKKyAgICAgICAgIyBtb2R1bGUgZGlzdHJpYnV0aW9uIGlzIHB1cmUgb3Igbm90LiAgT2YgY291cnNlLCBpZiB0aGUgdXNlcgorICAgICAgICAjIGFscmVhZHkgc3BlY2lmaWVkIGluc3RhbGxfbGliLCB1c2UgdGhlaXIgc2VsZWN0aW9uLgorICAgICAgICBpZiBzZWxmLmluc3RhbGxfbGliIGlzIE5vbmU6CisgICAgICAgICAgICBpZiBzZWxmLmRpc3RyaWJ1dGlvbi5leHRfbW9kdWxlczogICMgaGFzIGV4dGVuc2lvbnM6IG5vbi1wdXJlCisgICAgICAgICAgICAgICAgc2VsZi5pbnN0YWxsX2xpYiA9IHNlbGYuaW5zdGFsbF9wbGF0bGliCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHNlbGYuaW5zdGFsbF9saWIgPSBzZWxmLmluc3RhbGxfcHVyZWxpYgorCisgICAgICAgICMgQ29udmVydCBkaXJlY3RvcmllcyBmcm9tIFVuaXggLy1zZXBhcmF0ZWQgc3ludGF4IHRvIHRoZSBsb2NhbAorICAgICAgICAjIGNvbnZlbnRpb24uCisgICAgICAgIHNlbGYuY29udmVydF9wYXRocygnbGliJywgJ3B1cmVsaWInLCAncGxhdGxpYicsICdzY3JpcHRzJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICdkYXRhJywgJ2hlYWRlcnMnLCAndXNlcmJhc2UnLCAndXNlcnNpdGUnKQorCisgICAgICAgICMgV2VsbCwgd2UncmUgbm90IGFjdHVhbGx5IGZ1bGx5IGNvbXBsZXRlbHkgZmluYWxpemVkIHlldDogd2Ugc3RpbGwKKyAgICAgICAgIyBoYXZlIHRvIGRlYWwgd2l0aCAnZXh0cmFfcGF0aCcsIHdoaWNoIGlzIHRoZSBoYWNrIGZvciBhbGxvd2luZworICAgICAgICAjIG5vbi1wYWNrYWdpemVkIG1vZHVsZSBkaXN0cmlidXRpb25zIChoZWxsbywgTnVtZXJpY2FsIFB5dGhvbiEpIHRvCisgICAgICAgICMgZ2V0IHRoZWlyIG93biBkaXJlY3Rvcmllcy4KKyAgICAgICAgc2VsZi5oYW5kbGVfZXh0cmFfcGF0aCgpCisgICAgICAgIHNlbGYuaW5zdGFsbF9saWJiYXNlID0gc2VsZi5pbnN0YWxsX2xpYiAgIyBuZWVkZWQgZm9yIC5wdGggZmlsZQorICAgICAgICBzZWxmLmluc3RhbGxfbGliID0gb3MucGF0aC5qb2luKHNlbGYuaW5zdGFsbF9saWIsIHNlbGYuZXh0cmFfZGlycykKKworICAgICAgICAjIElmIGEgbmV3IHJvb3QgZGlyZWN0b3J5IHdhcyBzdXBwbGllZCwgbWFrZSBhbGwgdGhlIGluc3RhbGxhdGlvbgorICAgICAgICAjIGRpcnMgcmVsYXRpdmUgdG8gaXQuCisgICAgICAgIGlmIHNlbGYucm9vdCBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIHNlbGYuY2hhbmdlX3Jvb3RzKCdsaWJiYXNlJywgJ2xpYicsICdwdXJlbGliJywgJ3BsYXRsaWInLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NjcmlwdHMnLCAnZGF0YScsICdoZWFkZXJzJykKKworICAgICAgICBzZWxmLmR1bXBfZGlycygiYWZ0ZXIgcHJlcGVuZGluZyByb290IikKKworICAgICAgICAjIEZpbmQgb3V0IHRoZSBidWlsZCBkaXJlY3RvcmllcywgaWUuIHdoZXJlIHRvIGluc3RhbGwgZnJvbS4KKyAgICAgICAgc2VsZi5zZXRfdW5kZWZpbmVkX29wdGlvbnMoJ2J1aWxkJywgJ2J1aWxkX2Jhc2UnLCAnYnVpbGRfbGliJykKKworICAgICAgICAjIFB1bnQgb24gZG9jIGRpcmVjdG9yaWVzIGZvciBub3cgLS0gYWZ0ZXIgYWxsLCB3ZSdyZSBwdW50aW5nIG9uCisgICAgICAgICMgZG9jdW1lbnRhdGlvbiBjb21wbGV0ZWx5IQorCisgICAgICAgIGlmIHNlbGYubm9fZGlzdGluZm8gaXMgTm9uZToKKyAgICAgICAgICAgIHNlbGYubm9fZGlzdGluZm8gPSBGYWxzZQorCisgICAgZGVmIGZpbmFsaXplX3VuaXgoc2VsZik6CisgICAgICAgICIiIkZpbmFsaXplIG9wdGlvbnMgZm9yIHBvc2l4IHBsYXRmb3Jtcy4iIiIKKyAgICAgICAgaWYgc2VsZi5pbnN0YWxsX2Jhc2UgaXMgbm90IE5vbmUgb3Igc2VsZi5pbnN0YWxsX3BsYXRiYXNlIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgaWYgKChzZWxmLmluc3RhbGxfbGliIGlzIE5vbmUgYW5kCisgICAgICAgICAgICAgICAgIHNlbGYuaW5zdGFsbF9wdXJlbGliIGlzIE5vbmUgYW5kCisgICAgICAgICAgICAgICAgIHNlbGYuaW5zdGFsbF9wbGF0bGliIGlzIE5vbmUpIG9yCisgICAgICAgICAgICAgICAgc2VsZi5pbnN0YWxsX2hlYWRlcnMgaXMgTm9uZSBvcgorICAgICAgICAgICAgICAgIHNlbGYuaW5zdGFsbF9zY3JpcHRzIGlzIE5vbmUgb3IKKyAgICAgICAgICAgICAgICBzZWxmLmluc3RhbGxfZGF0YSBpcyBOb25lKToKKyAgICAgICAgICAgICAgICByYWlzZSBQYWNrYWdpbmdPcHRpb25FcnJvcigKKyAgICAgICAgICAgICAgICAgICAgImluc3RhbGwtYmFzZSBvciBpbnN0YWxsLXBsYXRiYXNlIHN1cHBsaWVkLCBidXQgIgorICAgICAgICAgICAgICAgICAgICAiaW5zdGFsbGF0aW9uIHNjaGVtZSBpcyBpbmNvbXBsZXRlIikKKyAgICAgICAgICAgIHJldHVybgorCisgICAgICAgIGlmIHNlbGYudXNlcjoKKyAgICAgICAgICAgIGlmIHNlbGYuaW5zdGFsbF91c2VyYmFzZSBpcyBOb25lOgorICAgICAgICAgICAgICAgIHJhaXNlIFBhY2thZ2luZ1BsYXRmb3JtRXJyb3IoCisgICAgICAgICAgICAgICAgICAgICJ1c2VyIGJhc2UgZGlyZWN0b3J5IGlzIG5vdCBzcGVjaWZpZWQiKQorICAgICAgICAgICAgc2VsZi5pbnN0YWxsX2Jhc2UgPSBzZWxmLmluc3RhbGxfcGxhdGJhc2UgPSBzZWxmLmluc3RhbGxfdXNlcmJhc2UKKyAgICAgICAgICAgIHNlbGYuc2VsZWN0X3NjaGVtZSgicG9zaXhfdXNlciIpCisgICAgICAgIGVsaWYgc2VsZi5ob21lIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgc2VsZi5pbnN0YWxsX2Jhc2UgPSBzZWxmLmluc3RhbGxfcGxhdGJhc2UgPSBzZWxmLmhvbWUKKyAgICAgICAgICAgIHNlbGYuc2VsZWN0X3NjaGVtZSgicG9zaXhfaG9tZSIpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBpZiBzZWxmLnByZWZpeCBpcyBOb25lOgorICAgICAgICAgICAgICAgIGlmIHNlbGYuZXhlY19wcmVmaXggaXMgbm90IE5vbmU6CisgICAgICAgICAgICAgICAgICAgIHJhaXNlIFBhY2thZ2luZ09wdGlvbkVycm9yKAorICAgICAgICAgICAgICAgICAgICAgICAgIm11c3Qgbm90IHN1cHBseSBleGVjLXByZWZpeCB3aXRob3V0IHByZWZpeCIpCisKKyAgICAgICAgICAgICAgICBzZWxmLnByZWZpeCA9IG9zLnBhdGgubm9ybXBhdGgoc3lzLnByZWZpeCkKKyAgICAgICAgICAgICAgICBzZWxmLmV4ZWNfcHJlZml4ID0gb3MucGF0aC5ub3JtcGF0aChzeXMuZXhlY19wcmVmaXgpCisKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgaWYgc2VsZi5leGVjX3ByZWZpeCBpcyBOb25lOgorICAgICAgICAgICAgICAgICAgICBzZWxmLmV4ZWNfcHJlZml4ID0gc2VsZi5wcmVmaXgKKworICAgICAgICAgICAgc2VsZi5pbnN0YWxsX2Jhc2UgPSBzZWxmLnByZWZpeAorICAgICAgICAgICAgc2VsZi5pbnN0YWxsX3BsYXRiYXNlID0gc2VsZi5leGVjX3ByZWZpeAorICAgICAgICAgICAgc2VsZi5zZWxlY3Rfc2NoZW1lKCJwb3NpeF9wcmVmaXgiKQorCisgICAgZGVmIGZpbmFsaXplX290aGVyKHNlbGYpOgorICAgICAgICAiIiJGaW5hbGl6ZSBvcHRpb25zIGZvciBub24tcG9zaXggcGxhdGZvcm1zIiIiCisgICAgICAgIGlmIHNlbGYudXNlcjoKKyAgICAgICAgICAgIGlmIHNlbGYuaW5zdGFsbF91c2VyYmFzZSBpcyBOb25lOgorICAgICAgICAgICAgICAgIHJhaXNlIFBhY2thZ2luZ1BsYXRmb3JtRXJyb3IoCisgICAgICAgICAgICAgICAgICAgICJ1c2VyIGJhc2UgZGlyZWN0b3J5IGlzIG5vdCBzcGVjaWZpZWQiKQorICAgICAgICAgICAgc2VsZi5pbnN0YWxsX2Jhc2UgPSBzZWxmLmluc3RhbGxfcGxhdGJhc2UgPSBzZWxmLmluc3RhbGxfdXNlcmJhc2UKKyAgICAgICAgICAgIHNlbGYuc2VsZWN0X3NjaGVtZShvcy5uYW1lICsgIl91c2VyIikKKyAgICAgICAgZWxpZiBzZWxmLmhvbWUgaXMgbm90IE5vbmU6CisgICAgICAgICAgICBzZWxmLmluc3RhbGxfYmFzZSA9IHNlbGYuaW5zdGFsbF9wbGF0YmFzZSA9IHNlbGYuaG9tZQorICAgICAgICAgICAgc2VsZi5zZWxlY3Rfc2NoZW1lKCJwb3NpeF9ob21lIikKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGlmIHNlbGYucHJlZml4IGlzIE5vbmU6CisgICAgICAgICAgICAgICAgc2VsZi5wcmVmaXggPSBvcy5wYXRoLm5vcm1wYXRoKHN5cy5wcmVmaXgpCisKKyAgICAgICAgICAgIHNlbGYuaW5zdGFsbF9iYXNlID0gc2VsZi5pbnN0YWxsX3BsYXRiYXNlID0gc2VsZi5wcmVmaXgKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBzZWxmLnNlbGVjdF9zY2hlbWUob3MubmFtZSkKKyAgICAgICAgICAgIGV4Y2VwdCBLZXlFcnJvcjoKKyAgICAgICAgICAgICAgICByYWlzZSBQYWNrYWdpbmdQbGF0Zm9ybUVycm9yKAorICAgICAgICAgICAgICAgICAgICAibm8gc3VwcG9ydCBmb3IgaW5zdGFsbGF0aW9uIG9uICclcyciICUgb3MubmFtZSkKKworICAgIGRlZiBkdW1wX2RpcnMoc2VsZiwgbXNnKToKKyAgICAgICAgIiIiRHVtcCB0aGUgbGlzdCBvZiB1c2VyIG9wdGlvbnMuIiIiCisgICAgICAgIGxvZ2dlci5kZWJ1Zyhtc2cgKyAiOiIpCisgICAgICAgIGZvciBvcHQgaW4gc2VsZi51c2VyX29wdGlvbnM6CisgICAgICAgICAgICBvcHRfbmFtZSA9IG9wdFswXQorICAgICAgICAgICAgaWYgb3B0X25hbWVbLTFdID09ICI9IjoKKyAgICAgICAgICAgICAgICBvcHRfbmFtZSA9IG9wdF9uYW1lWzA6LTFdCisgICAgICAgICAgICBpZiBvcHRfbmFtZSBpbiBzZWxmLm5lZ2F0aXZlX29wdDoKKyAgICAgICAgICAgICAgICBvcHRfbmFtZSA9IHNlbGYubmVnYXRpdmVfb3B0W29wdF9uYW1lXQorICAgICAgICAgICAgICAgIG9wdF9uYW1lID0gb3B0X25hbWUucmVwbGFjZSgnLScsICdfJykKKyAgICAgICAgICAgICAgICB2YWwgPSBub3QgZ2V0YXR0cihzZWxmLCBvcHRfbmFtZSkKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgb3B0X25hbWUgPSBvcHRfbmFtZS5yZXBsYWNlKCctJywgJ18nKQorICAgICAgICAgICAgICAgIHZhbCA9IGdldGF0dHIoc2VsZiwgb3B0X25hbWUpCisgICAgICAgICAgICBsb2dnZXIuZGVidWcoIiAgJXM6ICVzIiwgb3B0X25hbWUsIHZhbCkKKworICAgIGRlZiBzZWxlY3Rfc2NoZW1lKHNlbGYsIG5hbWUpOgorICAgICAgICAiIiJTZXQgdGhlIGluc3RhbGwgZGlyZWN0b3JpZXMgYnkgYXBwbHlpbmcgdGhlIGluc3RhbGwgc2NoZW1lcy4iIiIKKyAgICAgICAgIyBpdCdzIHRoZSBjYWxsZXIncyBwcm9ibGVtIGlmIHRoZXkgc3VwcGx5IGEgYmFkIG5hbWUhCisgICAgICAgIHNjaGVtZSA9IGdldF9wYXRocyhuYW1lLCBleHBhbmQ9RmFsc2UpCisgICAgICAgIGZvciBrZXksIHZhbHVlIGluIHNjaGVtZS5pdGVtcygpOgorICAgICAgICAgICAgaWYga2V5ID09ICdwbGF0aW5jbHVkZSc6CisgICAgICAgICAgICAgICAga2V5ID0gJ2hlYWRlcnMnCisgICAgICAgICAgICAgICAgdmFsdWUgPSBvcy5wYXRoLmpvaW4odmFsdWUsIHNlbGYuZGlzdHJpYnV0aW9uLm1ldGFkYXRhWydOYW1lJ10pCisgICAgICAgICAgICBhdHRybmFtZSA9ICdpbnN0YWxsXycgKyBrZXkKKyAgICAgICAgICAgIGlmIGhhc2F0dHIoc2VsZiwgYXR0cm5hbWUpOgorICAgICAgICAgICAgICAgIGlmIGdldGF0dHIoc2VsZiwgYXR0cm5hbWUpIGlzIE5vbmU6CisgICAgICAgICAgICAgICAgICAgIHNldGF0dHIoc2VsZiwgYXR0cm5hbWUsIHZhbHVlKQorCisgICAgZGVmIF9leHBhbmRfYXR0cnMoc2VsZiwgYXR0cnMpOgorICAgICAgICBmb3IgYXR0ciBpbiBhdHRyczoKKyAgICAgICAgICAgIHZhbCA9IGdldGF0dHIoc2VsZiwgYXR0cikKKyAgICAgICAgICAgIGlmIHZhbCBpcyBub3QgTm9uZToKKyAgICAgICAgICAgICAgICBpZiBvcy5uYW1lID09ICdwb3NpeCcgb3Igb3MubmFtZSA9PSAnbnQnOgorICAgICAgICAgICAgICAgICAgICB2YWwgPSBvcy5wYXRoLmV4cGFuZHVzZXIodmFsKQorICAgICAgICAgICAgICAgICMgc2VlIGlmIHdlIHdhbnQgdG8gcHVzaCB0aGlzIHdvcmsgaW4gc3lzY29uZmlnIFhYWAorICAgICAgICAgICAgICAgIHZhbCA9IHN5c2NvbmZpZy5fc3Vic3RfdmFycyh2YWwsIHNlbGYuY29uZmlnX3ZhcnMpCisgICAgICAgICAgICAgICAgc2V0YXR0cihzZWxmLCBhdHRyLCB2YWwpCisKKyAgICBkZWYgZXhwYW5kX2Jhc2VkaXJzKHNlbGYpOgorICAgICAgICAiIiJDYWxsIGBvcy5wYXRoLmV4cGFuZHVzZXJgIG9uIGluc3RhbGxfe2Jhc2UscGxhdGJhc2V9IGFuZCByb290LiIiIgorICAgICAgICBzZWxmLl9leHBhbmRfYXR0cnMoWydpbnN0YWxsX2Jhc2UnLCAnaW5zdGFsbF9wbGF0YmFzZScsICdyb290J10pCisKKyAgICBkZWYgZXhwYW5kX2RpcnMoc2VsZik6CisgICAgICAgICIiIkNhbGwgYG9zLnBhdGguZXhwYW5kdXNlcmAgb24gaW5zdGFsbCBkaXJzLiIiIgorICAgICAgICBzZWxmLl9leHBhbmRfYXR0cnMoWydpbnN0YWxsX3B1cmVsaWInLCAnaW5zdGFsbF9wbGF0bGliJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaW5zdGFsbF9saWInLCAnaW5zdGFsbF9oZWFkZXJzJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaW5zdGFsbF9zY3JpcHRzJywgJ2luc3RhbGxfZGF0YSddKQorCisgICAgZGVmIGNvbnZlcnRfcGF0aHMoc2VsZiwgKm5hbWVzKToKKyAgICAgICAgIiIiQ2FsbCBgY29udmVydF9wYXRoYCBvdmVyIGBuYW1lc2AuIiIiCisgICAgICAgIGZvciBuYW1lIGluIG5hbWVzOgorICAgICAgICAgICAgYXR0ciA9ICJpbnN0YWxsXyIgKyBuYW1lCisgICAgICAgICAgICBzZXRhdHRyKHNlbGYsIGF0dHIsIGNvbnZlcnRfcGF0aChnZXRhdHRyKHNlbGYsIGF0dHIpKSkKKworICAgIGRlZiBoYW5kbGVfZXh0cmFfcGF0aChzZWxmKToKKyAgICAgICAgIiIiU2V0IGBwYXRoX2ZpbGVgIGFuZCBgZXh0cmFfZGlyc2AgdXNpbmcgYGV4dHJhX3BhdGhgLiIiIgorICAgICAgICBpZiBzZWxmLmV4dHJhX3BhdGggaXMgTm9uZToKKyAgICAgICAgICAgIHNlbGYuZXh0cmFfcGF0aCA9IHNlbGYuZGlzdHJpYnV0aW9uLmV4dHJhX3BhdGgKKworICAgICAgICBpZiBzZWxmLmV4dHJhX3BhdGggaXMgbm90IE5vbmU6CisgICAgICAgICAgICBpZiBpc2luc3RhbmNlKHNlbGYuZXh0cmFfcGF0aCwgc3RyKToKKyAgICAgICAgICAgICAgICBzZWxmLmV4dHJhX3BhdGggPSBzZWxmLmV4dHJhX3BhdGguc3BsaXQoJywnKQorCisgICAgICAgICAgICBpZiBsZW4oc2VsZi5leHRyYV9wYXRoKSA9PSAxOgorICAgICAgICAgICAgICAgIHBhdGhfZmlsZSA9IGV4dHJhX2RpcnMgPSBzZWxmLmV4dHJhX3BhdGhbMF0KKyAgICAgICAgICAgIGVsaWYgbGVuKHNlbGYuZXh0cmFfcGF0aCkgPT0gMjoKKyAgICAgICAgICAgICAgICBwYXRoX2ZpbGUsIGV4dHJhX2RpcnMgPSBzZWxmLmV4dHJhX3BhdGgKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgcmFpc2UgUGFja2FnaW5nT3B0aW9uRXJyb3IoCisgICAgICAgICAgICAgICAgICAgICInZXh0cmFfcGF0aCcgb3B0aW9uIG11c3QgYmUgYSBsaXN0LCB0dXBsZSwgb3IgIgorICAgICAgICAgICAgICAgICAgICAiY29tbWEtc2VwYXJhdGVkIHN0cmluZyB3aXRoIDEgb3IgMiBlbGVtZW50cyIpCisKKyAgICAgICAgICAgICMgY29udmVydCB0byBsb2NhbCBmb3JtIGluIGNhc2UgVW5peCBub3RhdGlvbiB1c2VkIChhcyBpdAorICAgICAgICAgICAgIyBzaG91bGQgYmUgaW4gc2V0dXAgc2NyaXB0cykKKyAgICAgICAgICAgIGV4dHJhX2RpcnMgPSBjb252ZXJ0X3BhdGgoZXh0cmFfZGlycykKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHBhdGhfZmlsZSA9IE5vbmUKKyAgICAgICAgICAgIGV4dHJhX2RpcnMgPSAnJworCisgICAgICAgICMgWFhYIHNob3VsZCB3ZSB3YXJuIGlmIHBhdGhfZmlsZSBhbmQgbm90IGV4dHJhX2RpcnM/IChpbiB3aGljaAorICAgICAgICAjIGNhc2UgdGhlIHBhdGggZmlsZSB3b3VsZCBiZSBoYXJtbGVzcyBidXQgcG9pbnRsZXNzKQorICAgICAgICBzZWxmLnBhdGhfZmlsZSA9IHBhdGhfZmlsZQorICAgICAgICBzZWxmLmV4dHJhX2RpcnMgPSBleHRyYV9kaXJzCisKKyAgICBkZWYgY2hhbmdlX3Jvb3RzKHNlbGYsICpuYW1lcyk6CisgICAgICAgICIiIkNoYW5nZSB0aGUgaW5zdGFsbCBkaXJlY29yaWVzIHBvaW50ZWQgYnkgbmFtZSB1c2luZyByb290LiIiIgorICAgICAgICBmb3IgbmFtZSBpbiBuYW1lczoKKyAgICAgICAgICAgIGF0dHIgPSAiaW5zdGFsbF8iICsgbmFtZQorICAgICAgICAgICAgc2V0YXR0cihzZWxmLCBhdHRyLCBjaGFuZ2Vfcm9vdChzZWxmLnJvb3QsIGdldGF0dHIoc2VsZiwgYXR0cikpKQorCisgICAgZGVmIGNyZWF0ZV91c2VyX2RpcnMoc2VsZik6CisgICAgICAgICIiIkNyZWF0ZSBkaXJlY3RvcmllcyB1bmRlciBVU0VSQkFTRSBhcyBuZWVkZWQuIiIiCisgICAgICAgIGhvbWUgPSBjb252ZXJ0X3BhdGgob3MucGF0aC5leHBhbmR1c2VyKCJ+IikpCisgICAgICAgIGZvciBuYW1lLCBwYXRoIGluIHNlbGYuY29uZmlnX3ZhcnMuaXRlbXMoKToKKyAgICAgICAgICAgIGlmIHBhdGguc3RhcnRzd2l0aChob21lKSBhbmQgbm90IG9zLnBhdGguaXNkaXIocGF0aCk6CisgICAgICAgICAgICAgICAgb3MubWFrZWRpcnMocGF0aCwgMG83MDApCisKKyAgICAjIC0tIENvbW1hbmQgZXhlY3V0aW9uIG1ldGhvZHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisgICAgZGVmIHJ1bihzZWxmKToKKyAgICAgICAgIiIiUnVucyB0aGUgY29tbWFuZC4iIiIKKyAgICAgICAgIyBPYnZpb3VzbHkgaGF2ZSB0byBidWlsZCBiZWZvcmUgd2UgY2FuIGluc3RhbGwKKyAgICAgICAgaWYgbm90IHNlbGYuc2tpcF9idWlsZDoKKyAgICAgICAgICAgIHNlbGYucnVuX2NvbW1hbmQoJ2J1aWxkJykKKyAgICAgICAgICAgICMgSWYgd2UgYnVpbHQgZm9yIGFueSBvdGhlciBwbGF0Zm9ybSwgd2UgY2FuJ3QgaW5zdGFsbC4KKyAgICAgICAgICAgIGJ1aWxkX3BsYXQgPSBzZWxmLmRpc3RyaWJ1dGlvbi5nZXRfY29tbWFuZF9vYmooJ2J1aWxkJykucGxhdF9uYW1lCisgICAgICAgICAgICAjIGNoZWNrIHdhcm5fZGlyIC0gaXQgaXMgYSBjbHVlIHRoYXQgdGhlICdpbnN0YWxsX2Rpc3QnIGlzIGhhcHBlbmluZworICAgICAgICAgICAgIyBpbnRlcm5hbGx5LCBhbmQgbm90IHRvIHN5cy5wYXRoLCBzbyB3ZSBkb24ndCBjaGVjayB0aGUgcGxhdGZvcm0KKyAgICAgICAgICAgICMgbWF0Y2hlcyB3aGF0IHdlIGFyZSBydW5uaW5nLgorICAgICAgICAgICAgaWYgc2VsZi53YXJuX2RpciBhbmQgYnVpbGRfcGxhdCAhPSBnZXRfcGxhdGZvcm0oKToKKyAgICAgICAgICAgICAgICByYWlzZSBQYWNrYWdpbmdQbGF0Zm9ybUVycm9yKCJDYW4ndCBpbnN0YWxsIHdoZW4gIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNyb3NzLWNvbXBpbGluZyIpCisKKyAgICAgICAgIyBSdW4gYWxsIHN1Yi1jb21tYW5kcyAoYXQgbGVhc3QgdGhvc2UgdGhhdCBuZWVkIHRvIGJlIHJ1bikKKyAgICAgICAgZm9yIGNtZF9uYW1lIGluIHNlbGYuZ2V0X3N1Yl9jb21tYW5kcygpOgorICAgICAgICAgICAgc2VsZi5ydW5fY29tbWFuZChjbWRfbmFtZSkKKworICAgICAgICBpZiBzZWxmLnBhdGhfZmlsZToKKyAgICAgICAgICAgIHNlbGYuY3JlYXRlX3BhdGhfZmlsZSgpCisKKyAgICAgICAgIyB3cml0ZSBsaXN0IG9mIGluc3RhbGxlZCBmaWxlcywgaWYgcmVxdWVzdGVkLgorICAgICAgICBpZiBzZWxmLnJlY29yZDoKKyAgICAgICAgICAgIG91dHB1dHMgPSBzZWxmLmdldF9vdXRwdXRzKCkKKyAgICAgICAgICAgIGlmIHNlbGYucm9vdDogICAgICAgICAgICAgICAjIHN0cmlwIGFueSBwYWNrYWdlIHByZWZpeAorICAgICAgICAgICAgICAgIHJvb3RfbGVuID0gbGVuKHNlbGYucm9vdCkKKyAgICAgICAgICAgICAgICBmb3IgY291bnRlciBpbiByYW5nZShsZW4ob3V0cHV0cykpOgorICAgICAgICAgICAgICAgICAgICBvdXRwdXRzW2NvdW50ZXJdID0gb3V0cHV0c1tjb3VudGVyXVtyb290X2xlbjpdCisgICAgICAgICAgICBzZWxmLmV4ZWN1dGUod3JpdGVfZmlsZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAoc2VsZi5yZWNvcmQsIG91dHB1dHMpLAorICAgICAgICAgICAgICAgICAgICAgICAgICJ3cml0aW5nIGxpc3Qgb2YgaW5zdGFsbGVkIGZpbGVzIHRvICclcyciICUKKyAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnJlY29yZCkKKworICAgICAgICBub3JtcGF0aCwgbm9ybWNhc2UgPSBvcy5wYXRoLm5vcm1wYXRoLCBvcy5wYXRoLm5vcm1jYXNlCisgICAgICAgIHN5c19wYXRoID0gW25vcm1jYXNlKG5vcm1wYXRoKHApKSBmb3IgcCBpbiBzeXMucGF0aF0KKyAgICAgICAgaW5zdGFsbF9saWIgPSBub3JtY2FzZShub3JtcGF0aChzZWxmLmluc3RhbGxfbGliKSkKKyAgICAgICAgaWYgKHNlbGYud2Fybl9kaXIgYW5kCisgICAgICAgICAgICBub3QgKHNlbGYucGF0aF9maWxlIGFuZCBzZWxmLmluc3RhbGxfcGF0aF9maWxlKSBhbmQKKyAgICAgICAgICAgIGluc3RhbGxfbGliIG5vdCBpbiBzeXNfcGF0aCk6CisgICAgICAgICAgICBsb2dnZXIuZGVidWcoKCJtb2R1bGVzIGluc3RhbGxlZCB0byAnJXMnLCB3aGljaCBpcyBub3QgaW4gIgorICAgICAgICAgICAgICAgICAgICAgICAiUHl0aG9uJ3MgbW9kdWxlIHNlYXJjaCBwYXRoIChzeXMucGF0aCkgLS0gIgorICAgICAgICAgICAgICAgICAgICAgICAieW91J2xsIGhhdmUgdG8gY2hhbmdlIHRoZSBzZWFyY2ggcGF0aCB5b3Vyc2VsZiIpLAorICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmluc3RhbGxfbGliKQorCisgICAgZGVmIGNyZWF0ZV9wYXRoX2ZpbGUoc2VsZik6CisgICAgICAgICIiIkNyZWF0ZXMgdGhlIC5wdGggZmlsZSIiIgorICAgICAgICBmaWxlbmFtZSA9IG9zLnBhdGguam9pbihzZWxmLmluc3RhbGxfbGliYmFzZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5wYXRoX2ZpbGUgKyAiLnB0aCIpCisgICAgICAgIGlmIHNlbGYuaW5zdGFsbF9wYXRoX2ZpbGU6CisgICAgICAgICAgICBzZWxmLmV4ZWN1dGUod3JpdGVfZmlsZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAoZmlsZW5hbWUsIFtzZWxmLmV4dHJhX2RpcnNdKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAiY3JlYXRpbmcgJXMiICUgZmlsZW5hbWUpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBsb2dnZXIud2FybmluZygnJXM6IHBhdGggZmlsZSAlciBub3QgY3JlYXRlZCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmdldF9jb21tYW5kX25hbWUoKSwgIGZpbGVuYW1lKQorCisgICAgIyAtLSBSZXBvcnRpbmcgbWV0aG9kcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworICAgIGRlZiBnZXRfb3V0cHV0cyhzZWxmKToKKyAgICAgICAgIiIiQXNzZW1ibGVzIHRoZSBvdXRwdXRzIG9mIGFsbCB0aGUgc3ViLWNvbW1hbmRzLiIiIgorICAgICAgICBvdXRwdXRzID0gW10KKyAgICAgICAgZm9yIGNtZF9uYW1lIGluIHNlbGYuZ2V0X3N1Yl9jb21tYW5kcygpOgorICAgICAgICAgICAgY21kID0gc2VsZi5nZXRfZmluYWxpemVkX2NvbW1hbmQoY21kX25hbWUpCisgICAgICAgICAgICAjIEFkZCB0aGUgY29udGVudHMgb2YgY21kLmdldF9vdXRwdXRzKCksIGVuc3VyaW5nCisgICAgICAgICAgICAjIHRoYXQgb3V0cHV0cyBkb2Vzbid0IGNvbnRhaW4gZHVwbGljYXRlIGVudHJpZXMKKyAgICAgICAgICAgIGZvciBmaWxlbmFtZSBpbiBjbWQuZ2V0X291dHB1dHMoKToKKyAgICAgICAgICAgICAgICBpZiBmaWxlbmFtZSBub3QgaW4gb3V0cHV0czoKKyAgICAgICAgICAgICAgICAgICAgb3V0cHV0cy5hcHBlbmQoZmlsZW5hbWUpCisKKyAgICAgICAgaWYgc2VsZi5wYXRoX2ZpbGUgYW5kIHNlbGYuaW5zdGFsbF9wYXRoX2ZpbGU6CisgICAgICAgICAgICBvdXRwdXRzLmFwcGVuZChvcy5wYXRoLmpvaW4oc2VsZi5pbnN0YWxsX2xpYmJhc2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5wYXRoX2ZpbGUgKyAiLnB0aCIpKQorCisgICAgICAgIHJldHVybiBvdXRwdXRzCisKKyAgICBkZWYgZ2V0X2lucHV0cyhzZWxmKToKKyAgICAgICAgIiIiUmV0dXJucyB0aGUgaW5wdXRzIG9mIGFsbCB0aGUgc3ViLWNvbW1hbmRzIiIiCisgICAgICAgICMgWFhYIGdlZSwgdGhpcyBsb29rcyBmYW1pbGlhciA7LSgKKyAgICAgICAgaW5wdXRzID0gW10KKyAgICAgICAgZm9yIGNtZF9uYW1lIGluIHNlbGYuZ2V0X3N1Yl9jb21tYW5kcygpOgorICAgICAgICAgICAgY21kID0gc2VsZi5nZXRfZmluYWxpemVkX2NvbW1hbmQoY21kX25hbWUpCisgICAgICAgICAgICBpbnB1dHMuZXh0ZW5kKGNtZC5nZXRfaW5wdXRzKCkpCisKKyAgICAgICAgcmV0dXJuIGlucHV0cworCisgICAgIyAtLSBQcmVkaWNhdGVzIGZvciBzdWItY29tbWFuZCBsaXN0IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworICAgIGRlZiBoYXNfbGliKHNlbGYpOgorICAgICAgICAiIiJSZXR1cm5zIHRydWUgaWYgdGhlIGN1cnJlbnQgZGlzdHJpYnV0aW9uIGhhcyBhbnkgUHl0aG9uCisgICAgICAgIG1vZHVsZXMgdG8gaW5zdGFsbC4iIiIKKyAgICAgICAgcmV0dXJuIChzZWxmLmRpc3RyaWJ1dGlvbi5oYXNfcHVyZV9tb2R1bGVzKCkgb3IKKyAgICAgICAgICAgICAgICBzZWxmLmRpc3RyaWJ1dGlvbi5oYXNfZXh0X21vZHVsZXMoKSkKKworICAgIGRlZiBoYXNfaGVhZGVycyhzZWxmKToKKyAgICAgICAgIiIiUmV0dXJucyB0cnVlIGlmIHRoZSBjdXJyZW50IGRpc3RyaWJ1dGlvbiBoYXMgYW55IGhlYWRlcnMgdG8KKyAgICAgICAgaW5zdGFsbC4iIiIKKyAgICAgICAgcmV0dXJuIHNlbGYuZGlzdHJpYnV0aW9uLmhhc19oZWFkZXJzKCkKKworICAgIGRlZiBoYXNfc2NyaXB0cyhzZWxmKToKKyAgICAgICAgIiIiUmV0dXJucyB0cnVlIGlmIHRoZSBjdXJyZW50IGRpc3RyaWJ1dGlvbiBoYXMgYW55IHNjcmlwdHMgdG8uCisgICAgICAgIGluc3RhbGwuIiIiCisgICAgICAgIHJldHVybiBzZWxmLmRpc3RyaWJ1dGlvbi5oYXNfc2NyaXB0cygpCisKKyAgICBkZWYgaGFzX2RhdGEoc2VsZik6CisgICAgICAgICIiIlJldHVybnMgdHJ1ZSBpZiB0aGUgY3VycmVudCBkaXN0cmlidXRpb24gaGFzIGFueSBkYXRhIHRvLgorICAgICAgICBpbnN0YWxsLiIiIgorICAgICAgICByZXR1cm4gc2VsZi5kaXN0cmlidXRpb24uaGFzX2RhdGFfZmlsZXMoKQorCisgICAgIyAnc3ViX2NvbW1hbmRzJzogYSBsaXN0IG9mIGNvbW1hbmRzIHRoaXMgY29tbWFuZCBtaWdodCBoYXZlIHRvIHJ1biB0bworICAgICMgZ2V0IGl0cyB3b3JrIGRvbmUuICBTZWUgY21kLnB5IGZvciBtb3JlIGluZm8uCisgICAgc3ViX2NvbW1hbmRzID0gWygnaW5zdGFsbF9saWInLCBoYXNfbGliKSwKKyAgICAgICAgICAgICAgICAgICAgKCdpbnN0YWxsX2hlYWRlcnMnLCBoYXNfaGVhZGVycyksCisgICAgICAgICAgICAgICAgICAgICgnaW5zdGFsbF9zY3JpcHRzJywgaGFzX3NjcmlwdHMpLAorICAgICAgICAgICAgICAgICAgICAoJ2luc3RhbGxfZGF0YScsIGhhc19kYXRhKSwKKyAgICAgICAgICAgICAgICAgICAgIyBrZWVwIGluc3RhbGxfZGlzdGluZm8gbGFzdCwgYXMgaXQgbmVlZHMgdGhlIHJlY29yZAorICAgICAgICAgICAgICAgICAgICAjIHdpdGggZmlsZXMgdG8gYmUgY29tcGxldGVseSBnZW5lcmF0ZWQKKyAgICAgICAgICAgICAgICAgICAgKCdpbnN0YWxsX2Rpc3RpbmZvJywgbGFtYmRhIHNlbGY6IG5vdCBzZWxmLm5vX2Rpc3RpbmZvKSwKKyAgICAgICAgICAgICAgICAgICBdCmRpZmYgLS1naXQgYS9MaWIvcGFja2FnaW5nL2NvbW1hbmQvaW5zdGFsbF9kaXN0aW5mby5weSBiL0xpYi9wYWNrYWdpbmcvY29tbWFuZC9pbnN0YWxsX2Rpc3RpbmZvLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI0OTcyOWYKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvcGFja2FnaW5nL2NvbW1hbmQvaW5zdGFsbF9kaXN0aW5mby5weQpAQCAtMCwwICsxLDE0MyBAQAorIiIiQ3JlYXRlIHRoZSBQRVAgMzc2LWNvbXBsaWFudCAuZGlzdC1pbmZvIGRpcmVjdG9yeS4iIiIKKworIyBGb3JrZWQgZnJvbSB0aGUgZm9ybWVyIGluc3RhbGxfZWdnX2luZm8gY29tbWFuZCBieSBKb3NpcCBEam9sb25nYQorCitpbXBvcnQgb3MKK2ltcG9ydCBjc3YKK2ltcG9ydCBoYXNobGliCitmcm9tIHNodXRpbCBpbXBvcnQgcm10cmVlCisKK2Zyb20gcGFja2FnaW5nIGltcG9ydCBsb2dnZXIKK2Zyb20gcGFja2FnaW5nLmNvbW1hbmQuY21kIGltcG9ydCBDb21tYW5kCisKKworY2xhc3MgaW5zdGFsbF9kaXN0aW5mbyhDb21tYW5kKToKKworICAgIGRlc2NyaXB0aW9uID0gJ2NyZWF0ZSBhIC5kaXN0LWluZm8gZGlyZWN0b3J5IGZvciB0aGUgZGlzdHJpYnV0aW9uJworCisgICAgdXNlcl9vcHRpb25zID0gWworICAgICAgICAoJ2luc3RhbGwtZGlyPScsIE5vbmUsCisgICAgICAgICAiZGlyZWN0b3J5IHdoZXJlIHRoZSB0aGUgLmRpc3QtaW5mbyBkaXJlY3Rvcnkgd2lsbCBiZSBjcmVhdGVkIiksCisgICAgICAgICgnaW5zdGFsbGVyPScsIE5vbmUsCisgICAgICAgICAidGhlIG5hbWUgb2YgdGhlIGluc3RhbGxlciIpLAorICAgICAgICAoJ3JlcXVlc3RlZCcsIE5vbmUsCisgICAgICAgICAiZ2VuZXJhdGUgYSBSRVFVRVNURUQgZmlsZSIpLAorICAgICAgICAoJ25vLXJlcXVlc3RlZCcsIE5vbmUsCisgICAgICAgICAiZG8gbm90IGdlbmVyYXRlIGEgUkVRVUVTVEVEIGZpbGUiKSwKKyAgICAgICAgKCduby1yZWNvcmQnLCBOb25lLAorICAgICAgICAgImRvIG5vdCBnZW5lcmF0ZSBhIFJFQ09SRCBmaWxlIiksCisgICAgICAgICgnbm8tcmVzb3VyY2VzJywgTm9uZSwKKyAgICAgICAgICJkbyBub3QgZ2VuZXJhdGUgYSBSRVNPVVJDRVMgZmlsZSIpLAorICAgIF0KKworICAgIGJvb2xlYW5fb3B0aW9ucyA9IFsncmVxdWVzdGVkJywgJ25vLXJlY29yZCcsICduby1yZXNvdXJjZXMnXQorCisgICAgbmVnYXRpdmVfb3B0ID0geyduby1yZXF1ZXN0ZWQnOiAncmVxdWVzdGVkJ30KKworICAgIGRlZiBpbml0aWFsaXplX29wdGlvbnMoc2VsZik6CisgICAgICAgIHNlbGYuaW5zdGFsbF9kaXIgPSBOb25lCisgICAgICAgIHNlbGYuaW5zdGFsbGVyID0gTm9uZQorICAgICAgICBzZWxmLnJlcXVlc3RlZCA9IE5vbmUKKyAgICAgICAgc2VsZi5ub19yZWNvcmQgPSBOb25lCisgICAgICAgIHNlbGYubm9fcmVzb3VyY2VzID0gTm9uZQorICAgICAgICBzZWxmLm91dGZpbGVzID0gW10KKworICAgIGRlZiBmaW5hbGl6ZV9vcHRpb25zKHNlbGYpOgorICAgICAgICBzZWxmLnNldF91bmRlZmluZWRfb3B0aW9ucygnaW5zdGFsbF9kaXN0JywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2luc3RhbGxlcicsICdyZXF1ZXN0ZWQnLCAnbm9fcmVjb3JkJykKKworICAgICAgICBzZWxmLnNldF91bmRlZmluZWRfb3B0aW9ucygnaW5zdGFsbF9saWInLCAnaW5zdGFsbF9kaXInKQorCisgICAgICAgIGlmIHNlbGYuaW5zdGFsbGVyIGlzIE5vbmU6CisgICAgICAgICAgICAjIEZJWE1FIGRpc3R1dGlscyBvciBwYWNrYWdpbmc/CisgICAgICAgICAgICAjICsgZG9jdW1lbnQgZGVmYXVsdCBpbiB0aGUgb3B0aW9uIGhlbHAgdGV4dCBhYm92ZSBhbmQgaW4gaW5zdGFsbAorICAgICAgICAgICAgc2VsZi5pbnN0YWxsZXIgPSAnZGlzdHV0aWxzJworICAgICAgICBpZiBzZWxmLnJlcXVlc3RlZCBpcyBOb25lOgorICAgICAgICAgICAgc2VsZi5yZXF1ZXN0ZWQgPSBUcnVlCisgICAgICAgIGlmIHNlbGYubm9fcmVjb3JkIGlzIE5vbmU6CisgICAgICAgICAgICBzZWxmLm5vX3JlY29yZCA9IEZhbHNlCisgICAgICAgIGlmIHNlbGYubm9fcmVzb3VyY2VzIGlzIE5vbmU6CisgICAgICAgICAgICBzZWxmLm5vX3Jlc291cmNlcyA9IEZhbHNlCisKKyAgICAgICAgbWV0YWRhdGEgPSBzZWxmLmRpc3RyaWJ1dGlvbi5tZXRhZGF0YQorCisgICAgICAgIGJhc2VuYW1lID0gbWV0YWRhdGEuZ2V0X2Z1bGxuYW1lKGZpbGVzYWZlPVRydWUpICsgIi5kaXN0LWluZm8iCisKKyAgICAgICAgc2VsZi5pbnN0YWxsX2RpciA9IG9zLnBhdGguam9pbihzZWxmLmluc3RhbGxfZGlyLCBiYXNlbmFtZSkKKworICAgIGRlZiBydW4oc2VsZik6CisgICAgICAgIHRhcmdldCA9IHNlbGYuaW5zdGFsbF9kaXIKKworICAgICAgICBpZiBvcy5wYXRoLmlzZGlyKHRhcmdldCkgYW5kIG5vdCBvcy5wYXRoLmlzbGluayh0YXJnZXQpOgorICAgICAgICAgICAgaWYgbm90IHNlbGYuZHJ5X3J1bjoKKyAgICAgICAgICAgICAgICBybXRyZWUodGFyZ2V0KQorICAgICAgICBlbGlmIG9zLnBhdGguZXhpc3RzKHRhcmdldCk6CisgICAgICAgICAgICBzZWxmLmV4ZWN1dGUob3MudW5saW5rLCAoc2VsZi5pbnN0YWxsX2RpciwpLAorICAgICAgICAgICAgICAgICAgICAgICAgICJyZW1vdmluZyAiICsgdGFyZ2V0KQorCisgICAgICAgIHNlbGYuZXhlY3V0ZShvcy5tYWtlZGlycywgKHRhcmdldCwpLCAiY3JlYXRpbmcgIiArIHRhcmdldCkKKworICAgICAgICBtZXRhZGF0YV9wYXRoID0gb3MucGF0aC5qb2luKHNlbGYuaW5zdGFsbF9kaXIsICdNRVRBREFUQScpCisgICAgICAgIHNlbGYuZXhlY3V0ZShzZWxmLmRpc3RyaWJ1dGlvbi5tZXRhZGF0YS53cml0ZSwgKG1ldGFkYXRhX3BhdGgsKSwKKyAgICAgICAgICAgICAgICAgICAgICJjcmVhdGluZyAiICsgbWV0YWRhdGFfcGF0aCkKKyAgICAgICAgc2VsZi5vdXRmaWxlcy5hcHBlbmQobWV0YWRhdGFfcGF0aCkKKworICAgICAgICBpbnN0YWxsZXJfcGF0aCA9IG9zLnBhdGguam9pbihzZWxmLmluc3RhbGxfZGlyLCAnSU5TVEFMTEVSJykKKyAgICAgICAgbG9nZ2VyLmluZm8oJ2NyZWF0aW5nICVzJywgaW5zdGFsbGVyX3BhdGgpCisgICAgICAgIGlmIG5vdCBzZWxmLmRyeV9ydW46CisgICAgICAgICAgICB3aXRoIG9wZW4oaW5zdGFsbGVyX3BhdGgsICd3JykgYXMgZjoKKyAgICAgICAgICAgICAgICBmLndyaXRlKHNlbGYuaW5zdGFsbGVyKQorICAgICAgICBzZWxmLm91dGZpbGVzLmFwcGVuZChpbnN0YWxsZXJfcGF0aCkKKworICAgICAgICBpZiBzZWxmLnJlcXVlc3RlZDoKKyAgICAgICAgICAgIHJlcXVlc3RlZF9wYXRoID0gb3MucGF0aC5qb2luKHNlbGYuaW5zdGFsbF9kaXIsICdSRVFVRVNURUQnKQorICAgICAgICAgICAgbG9nZ2VyLmluZm8oJ2NyZWF0aW5nICVzJywgcmVxdWVzdGVkX3BhdGgpCisgICAgICAgICAgICBpZiBub3Qgc2VsZi5kcnlfcnVuOgorICAgICAgICAgICAgICAgIG9wZW4ocmVxdWVzdGVkX3BhdGgsICd3YicpLmNsb3NlKCkKKyAgICAgICAgICAgIHNlbGYub3V0ZmlsZXMuYXBwZW5kKHJlcXVlc3RlZF9wYXRoKQorCisgICAgICAgIGlmIG5vdCBzZWxmLm5vX3Jlc291cmNlczoKKyAgICAgICAgICAgIGluc3RhbGxfZGF0YSA9IHNlbGYuZ2V0X2ZpbmFsaXplZF9jb21tYW5kKCdpbnN0YWxsX2RhdGEnKQorICAgICAgICAgICAgaWYgaW5zdGFsbF9kYXRhLmdldF9yZXNvdXJjZXNfb3V0KCkgIT0gW106CisgICAgICAgICAgICAgICAgcmVzb3VyY2VzX3BhdGggPSBvcy5wYXRoLmpvaW4oc2VsZi5pbnN0YWxsX2RpciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUkVTT1VSQ0VTJykKKyAgICAgICAgICAgICAgICBsb2dnZXIuaW5mbygnY3JlYXRpbmcgJXMnLCByZXNvdXJjZXNfcGF0aCkKKyAgICAgICAgICAgICAgICBpZiBub3Qgc2VsZi5kcnlfcnVuOgorICAgICAgICAgICAgICAgICAgICB3aXRoIG9wZW4ocmVzb3VyY2VzX3BhdGgsICd3JykgYXMgZjoKKyAgICAgICAgICAgICAgICAgICAgICAgIHdyaXRlciA9IGNzdi53cml0ZXIoZiwgZGVsaW1pdGVyPScsJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZXRlcm1pbmF0b3I9J1xuJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcXVvdGVjaGFyPSciJykKKyAgICAgICAgICAgICAgICAgICAgICAgIGZvciByb3cgaW4gaW5zdGFsbF9kYXRhLmdldF9yZXNvdXJjZXNfb3V0KCk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgd3JpdGVyLndyaXRlcm93KHJvdykKKworICAgICAgICAgICAgICAgIHNlbGYub3V0ZmlsZXMuYXBwZW5kKHJlc291cmNlc19wYXRoKQorCisgICAgICAgIGlmIG5vdCBzZWxmLm5vX3JlY29yZDoKKyAgICAgICAgICAgIHJlY29yZF9wYXRoID0gb3MucGF0aC5qb2luKHNlbGYuaW5zdGFsbF9kaXIsICdSRUNPUkQnKQorICAgICAgICAgICAgbG9nZ2VyLmluZm8oJ2NyZWF0aW5nICVzJywgcmVjb3JkX3BhdGgpCisgICAgICAgICAgICBpZiBub3Qgc2VsZi5kcnlfcnVuOgorICAgICAgICAgICAgICAgIHdpdGggb3BlbihyZWNvcmRfcGF0aCwgJ3cnLCBlbmNvZGluZz0ndXRmLTgnKSBhcyBmOgorICAgICAgICAgICAgICAgICAgICB3cml0ZXIgPSBjc3Yud3JpdGVyKGYsIGRlbGltaXRlcj0nLCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZXRlcm1pbmF0b3I9J1xuJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBxdW90ZWNoYXI9JyInKQorCisgICAgICAgICAgICAgICAgICAgIGluc3RhbGwgPSBzZWxmLmdldF9maW5hbGl6ZWRfY29tbWFuZCgnaW5zdGFsbF9kaXN0JykKKworICAgICAgICAgICAgICAgICAgICBmb3IgZnBhdGggaW4gaW5zdGFsbC5nZXRfb3V0cHV0cygpOgorICAgICAgICAgICAgICAgICAgICAgICAgaWYgZnBhdGguZW5kc3dpdGgoJy5weWMnKSBvciBmcGF0aC5lbmRzd2l0aCgnLnB5bycpOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgZG8gbm90IHB1dCBzaXplIGFuZCBtZDUgaGFzaCwgYXMgaW4gUEVQLTM3NgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdyaXRlci53cml0ZXJvdygoZnBhdGgsICcnLCAnJykpCisgICAgICAgICAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemUgPSBvcy5wYXRoLmdldHNpemUoZnBhdGgpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aCBvcGVuKGZwYXRoLCAncmInKSBhcyBmcDoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFzaCA9IGhhc2hsaWIubWQ1KCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFzaC51cGRhdGUoZnAucmVhZCgpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1kNXN1bSA9IGhhc2guaGV4ZGlnZXN0KCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB3cml0ZXIud3JpdGVyb3coKGZwYXRoLCBtZDVzdW0sIHNpemUpKQorCisgICAgICAgICAgICAgICAgICAgICMgYWRkIHRoZSBSRUNPUkQgZmlsZSBpdHNlbGYKKyAgICAgICAgICAgICAgICAgICAgd3JpdGVyLndyaXRlcm93KChyZWNvcmRfcGF0aCwgJycsICcnKSkKKyAgICAgICAgICAgIHNlbGYub3V0ZmlsZXMuYXBwZW5kKHJlY29yZF9wYXRoKQorCisgICAgZGVmIGdldF9vdXRwdXRzKHNlbGYpOgorICAgICAgICByZXR1cm4gc2VsZi5vdXRmaWxlcwpkaWZmIC0tZ2l0IGEvTGliL3BhY2thZ2luZy9jb21tYW5kL2luc3RhbGxfaGVhZGVycy5weSBiL0xpYi9wYWNrYWdpbmcvY29tbWFuZC9pbnN0YWxsX2hlYWRlcnMucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTA0M2Q2YgotLS0gL2Rldi9udWxsCisrKyBiL0xpYi9wYWNrYWdpbmcvY29tbWFuZC9pbnN0YWxsX2hlYWRlcnMucHkKQEAgLTAsMCArMSw0MyBAQAorIiIiSW5zdGFsbCBDL0MrKyBoZWFkZXIgZmlsZXMgdG8gdGhlIFB5dGhvbiBpbmNsdWRlIGRpcmVjdG9yeS4iIiIKKworZnJvbSBwYWNrYWdpbmcuY29tbWFuZC5jbWQgaW1wb3J0IENvbW1hbmQKKworCisjIFhYWCBmb3JjZSBpcyBuZXZlciB1c2VkCitjbGFzcyBpbnN0YWxsX2hlYWRlcnMoQ29tbWFuZCk6CisKKyAgICBkZXNjcmlwdGlvbiA9ICJpbnN0YWxsIEMvQysrIGhlYWRlciBmaWxlcyIKKworICAgIHVzZXJfb3B0aW9ucyA9IFsoJ2luc3RhbGwtZGlyPScsICdkJywKKyAgICAgICAgICAgICAgICAgICAgICJkaXJlY3RvcnkgdG8gaW5zdGFsbCBoZWFkZXIgZmlsZXMgdG8iKSwKKyAgICAgICAgICAgICAgICAgICAgKCdmb3JjZScsICdmJywKKyAgICAgICAgICAgICAgICAgICAgICJmb3JjZSBpbnN0YWxsYXRpb24gKG92ZXJ3cml0ZSBleGlzdGluZyBmaWxlcykiKSwKKyAgICAgICAgICAgICAgICAgICBdCisKKyAgICBib29sZWFuX29wdGlvbnMgPSBbJ2ZvcmNlJ10KKworICAgIGRlZiBpbml0aWFsaXplX29wdGlvbnMoc2VsZik6CisgICAgICAgIHNlbGYuaW5zdGFsbF9kaXIgPSBOb25lCisgICAgICAgIHNlbGYuZm9yY2UgPSBGYWxzZQorICAgICAgICBzZWxmLm91dGZpbGVzID0gW10KKworICAgIGRlZiBmaW5hbGl6ZV9vcHRpb25zKHNlbGYpOgorICAgICAgICBzZWxmLnNldF91bmRlZmluZWRfb3B0aW9ucygnaW5zdGFsbF9kaXN0JywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCdpbnN0YWxsX2hlYWRlcnMnLCAnaW5zdGFsbF9kaXInKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZvcmNlJykKKworICAgIGRlZiBydW4oc2VsZik6CisgICAgICAgIGhlYWRlcnMgPSBzZWxmLmRpc3RyaWJ1dGlvbi5oZWFkZXJzCisgICAgICAgIGlmIG5vdCBoZWFkZXJzOgorICAgICAgICAgICAgcmV0dXJuCisKKyAgICAgICAgc2VsZi5ta3BhdGgoc2VsZi5pbnN0YWxsX2RpcikKKyAgICAgICAgZm9yIGhlYWRlciBpbiBoZWFkZXJzOgorICAgICAgICAgICAgb3V0ID0gc2VsZi5jb3B5X2ZpbGUoaGVhZGVyLCBzZWxmLmluc3RhbGxfZGlyKVswXQorICAgICAgICAgICAgc2VsZi5vdXRmaWxlcy5hcHBlbmQob3V0KQorCisgICAgZGVmIGdldF9pbnB1dHMoc2VsZik6CisgICAgICAgIHJldHVybiBzZWxmLmRpc3RyaWJ1dGlvbi5oZWFkZXJzIG9yIFtdCisKKyAgICBkZWYgZ2V0X291dHB1dHMoc2VsZik6CisgICAgICAgIHJldHVybiBzZWxmLm91dGZpbGVzCmRpZmYgLS1naXQgYS9MaWIvcGFja2FnaW5nL2NvbW1hbmQvaW5zdGFsbF9saWIucHkgYi9MaWIvcGFja2FnaW5nL2NvbW1hbmQvaW5zdGFsbF9saWIucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmZjNWQ0NQotLS0gL2Rldi9udWxsCisrKyBiL0xpYi9wYWNrYWdpbmcvY29tbWFuZC9pbnN0YWxsX2xpYi5weQpAQCAtMCwwICsxLDE4OCBAQAorIiIiSW5zdGFsbCBhbGwgbW9kdWxlcyAoZXh0ZW5zaW9ucyBhbmQgcHVyZSBQeXRob24pLiIiIgorCitpbXBvcnQgb3MKK2ltcG9ydCBpbXAKKworZnJvbSBwYWNrYWdpbmcgaW1wb3J0IGxvZ2dlcgorZnJvbSBwYWNrYWdpbmcuY29tbWFuZC5jbWQgaW1wb3J0IENvbW1hbmQKK2Zyb20gcGFja2FnaW5nLmVycm9ycyBpbXBvcnQgUGFja2FnaW5nT3B0aW9uRXJyb3IKKworCisjIEV4dGVuc2lvbiBmb3IgUHl0aG9uIHNvdXJjZSBmaWxlcy4KKyMgWFhYIGRlYWQgY29kZT8gIG1vc3Qgb2YgdGhlIGNvZGViYXNlIGNoZWNrcyBmb3IgbGl0ZXJhbCAnLnB5JworaWYgaGFzYXR0cihvcywgJ2V4dHNlcCcpOgorICAgIFBZVEhPTl9TT1VSQ0VfRVhURU5TSU9OID0gb3MuZXh0c2VwICsgInB5IgorZWxzZToKKyAgICBQWVRIT05fU09VUkNFX0VYVEVOU0lPTiA9ICIucHkiCisKKworY2xhc3MgaW5zdGFsbF9saWIoQ29tbWFuZCk6CisKKyAgICBkZXNjcmlwdGlvbiA9ICJpbnN0YWxsIGFsbCBtb2R1bGVzIChleHRlbnNpb25zIGFuZCBwdXJlIFB5dGhvbikiCisKKyAgICAjIFRoZSBvcHRpb25zIGZvciBjb250cm9sbGluZyBieXRlIGNvbXBpbGF0aW9uIGFyZSB0d28gaW5kZXBlbmRlbnQgc2V0czoKKyAgICAjICdjb21waWxlJyBpcyBzdHJpY3RseSBib29sZWFuLCBhbmQgb25seSBkZWNpZGVzIHdoZXRoZXIgdG8KKyAgICAjIGdlbmVyYXRlIC5weWMgZmlsZXMuICAnb3B0aW1pemUnIGlzIHRocmVlLXdheSAoMCwgMSwgb3IgMiksIGFuZAorICAgICMgZGVjaWRlcyBib3RoIHdoZXRoZXIgdG8gZ2VuZXJhdGUgLnB5byBmaWxlcyBhbmQgd2hhdCBsZXZlbCBvZgorICAgICMgb3B0aW1pemF0aW9uIHRvIHVzZS4KKworICAgIHVzZXJfb3B0aW9ucyA9IFsKKyAgICAgICAgKCdpbnN0YWxsLWRpcj0nLCAnZCcsICJkaXJlY3RvcnkgdG8gaW5zdGFsbCB0byIpLAorICAgICAgICAoJ2J1aWxkLWRpcj0nLCAnYicsICJidWlsZCBkaXJlY3RvcnkgKHdoZXJlIHRvIGluc3RhbGwgZnJvbSkiKSwKKyAgICAgICAgKCdmb3JjZScsICdmJywgImZvcmNlIGluc3RhbGxhdGlvbiAob3ZlcndyaXRlIGV4aXN0aW5nIGZpbGVzKSIpLAorICAgICAgICAoJ2NvbXBpbGUnLCAnYycsICJjb21waWxlIC5weSB0byAucHljIFtkZWZhdWx0XSIpLAorICAgICAgICAoJ25vLWNvbXBpbGUnLCBOb25lLCAiZG9uJ3QgY29tcGlsZSAucHkgZmlsZXMiKSwKKyAgICAgICAgKCdvcHRpbWl6ZT0nLCAnTycsCisgICAgICAgICAiYWxzbyBjb21waWxlIHdpdGggb3B0aW1pemF0aW9uOiAtTzEgZm9yIFwicHl0aG9uIC1PXCIsICIKKyAgICAgICAgICItTzIgZm9yIFwicHl0aG9uIC1PT1wiLCBhbmQgLU8wIHRvIGRpc2FibGUgW2RlZmF1bHQ6IC1PMF0iKSwKKyAgICAgICAgKCdza2lwLWJ1aWxkJywgTm9uZSwgInNraXAgdGhlIGJ1aWxkIHN0ZXBzIiksCisgICAgICAgIF0KKworICAgIGJvb2xlYW5fb3B0aW9ucyA9IFsnZm9yY2UnLCAnY29tcGlsZScsICdza2lwLWJ1aWxkJ10KKworICAgIG5lZ2F0aXZlX29wdCA9IHsnbm8tY29tcGlsZSc6ICdjb21waWxlJ30KKworICAgIGRlZiBpbml0aWFsaXplX29wdGlvbnMoc2VsZik6CisgICAgICAgICMgbGV0IHRoZSAnaW5zdGFsbF9kaXN0JyBjb21tYW5kIGRpY3RhdGUgb3VyIGluc3RhbGxhdGlvbiBkaXJlY3RvcnkKKyAgICAgICAgc2VsZi5pbnN0YWxsX2RpciA9IE5vbmUKKyAgICAgICAgc2VsZi5idWlsZF9kaXIgPSBOb25lCisgICAgICAgIHNlbGYuZm9yY2UgPSBGYWxzZQorICAgICAgICBzZWxmLmNvbXBpbGUgPSBOb25lCisgICAgICAgIHNlbGYub3B0aW1pemUgPSBOb25lCisgICAgICAgIHNlbGYuc2tpcF9idWlsZCA9IE5vbmUKKworICAgIGRlZiBmaW5hbGl6ZV9vcHRpb25zKHNlbGYpOgorICAgICAgICAjIEdldCBhbGwgdGhlIGluZm9ybWF0aW9uIHdlIG5lZWQgdG8gaW5zdGFsbCBwdXJlIFB5dGhvbiBtb2R1bGVzCisgICAgICAgICMgZnJvbSB0aGUgdW1icmVsbGEgJ2luc3RhbGxfZGlzdCcgY29tbWFuZCAtLSBidWlsZCAoc291cmNlKSBkaXJlY3RvcnksCisgICAgICAgICMgaW5zdGFsbCAodGFyZ2V0KSBkaXJlY3RvcnksIGFuZCB3aGV0aGVyIHRvIGNvbXBpbGUgLnB5IGZpbGVzLgorICAgICAgICBzZWxmLnNldF91bmRlZmluZWRfb3B0aW9ucygnaW5zdGFsbF9kaXN0JywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCdidWlsZF9saWInLCAnYnVpbGRfZGlyJyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgnaW5zdGFsbF9saWInLCAnaW5zdGFsbF9kaXInKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZvcmNlJywgJ2NvbXBpbGUnLCAnb3B0aW1pemUnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2tpcF9idWlsZCcpCisKKyAgICAgICAgaWYgc2VsZi5jb21waWxlIGlzIE5vbmU6CisgICAgICAgICAgICBzZWxmLmNvbXBpbGUgPSBUcnVlCisgICAgICAgIGlmIHNlbGYub3B0aW1pemUgaXMgTm9uZToKKyAgICAgICAgICAgIHNlbGYub3B0aW1pemUgPSAwCisKKyAgICAgICAgaWYgbm90IGlzaW5zdGFuY2Uoc2VsZi5vcHRpbWl6ZSwgaW50KToKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBzZWxmLm9wdGltaXplID0gaW50KHNlbGYub3B0aW1pemUpCisgICAgICAgICAgICAgICAgaWYgc2VsZi5vcHRpbWl6ZSBub3QgaW4gKDAsIDEsIDIpOgorICAgICAgICAgICAgICAgICAgICByYWlzZSBBc3NlcnRpb25FcnJvcgorICAgICAgICAgICAgZXhjZXB0IChWYWx1ZUVycm9yLCBBc3NlcnRpb25FcnJvcik6CisgICAgICAgICAgICAgICAgcmFpc2UgUGFja2FnaW5nT3B0aW9uRXJyb3IoIm9wdGltaXplIG11c3QgYmUgMCwgMSwgb3IgMiIpCisKKyAgICBkZWYgcnVuKHNlbGYpOgorICAgICAgICAjIE1ha2Ugc3VyZSB3ZSBoYXZlIGJ1aWx0IGV2ZXJ5dGhpbmcgd2UgbmVlZCBmaXJzdAorICAgICAgICBzZWxmLmJ1aWxkKCkKKworICAgICAgICAjIEluc3RhbGwgZXZlcnl0aGluZzogc2ltcGx5IGR1bXAgdGhlIGVudGlyZSBjb250ZW50cyBvZiB0aGUgYnVpbGQKKyAgICAgICAgIyBkaXJlY3RvcnkgdG8gdGhlIGluc3RhbGxhdGlvbiBkaXJlY3RvcnkgKHRoYXQncyB0aGUgYmVhdXR5IG9mCisgICAgICAgICMgaGF2aW5nIGEgYnVpbGQgZGlyZWN0b3J5ISkKKyAgICAgICAgb3V0ZmlsZXMgPSBzZWxmLmluc3RhbGwoKQorCisgICAgICAgICMgKE9wdGlvbmFsbHkpIGNvbXBpbGUgLnB5IHRvIC5weWMgYW5kL29yIC5weW8KKyAgICAgICAgaWYgb3V0ZmlsZXMgaXMgbm90IE5vbmUgYW5kIHNlbGYuZGlzdHJpYnV0aW9uLmhhc19wdXJlX21vZHVsZXMoKToKKyAgICAgICAgICAgICMgWFhYIGNvbW1lbnQgZnJvbSBkaXN0dXRpbHM6ICJUaGlzIFtwcmVmaXggc3RyaXBwaW5nXSBpcyBmYXIgZnJvbQorICAgICAgICAgICAgIyBjb21wbGV0ZSwgYnV0IGl0IHNob3VsZCBhdCBsZWFzdCBnZW5lcmF0ZSB1c2FibGUgYnl0ZWNvZGUgaW4gUlBNCisgICAgICAgICAgICAjIGRpc3RyaWJ1dGlvbnMuIiAtPiBuZWVkIHRvIGZpbmQgZXhhY3QgcmVxdWlyZW1lbnRzIGZvcgorICAgICAgICAgICAgIyBieXRlLWNvbXBpbGVkIGZpbGVzIGFuZCBmaXggaXQKKyAgICAgICAgICAgIGluc3RhbGxfcm9vdCA9IHNlbGYuZ2V0X2ZpbmFsaXplZF9jb21tYW5kKCdpbnN0YWxsX2Rpc3QnKS5yb290CisgICAgICAgICAgICBzZWxmLmJ5dGVfY29tcGlsZShvdXRmaWxlcywgcHJlZml4PWluc3RhbGxfcm9vdCkKKworICAgICMgLS0gVG9wLWxldmVsIHdvcmtlciBmdW5jdGlvbnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAgIyAoY2FsbGVkIGZyb20gJ3J1bigpJykKKworICAgIGRlZiBidWlsZChzZWxmKToKKyAgICAgICAgaWYgbm90IHNlbGYuc2tpcF9idWlsZDoKKyAgICAgICAgICAgIGlmIHNlbGYuZGlzdHJpYnV0aW9uLmhhc19wdXJlX21vZHVsZXMoKToKKyAgICAgICAgICAgICAgICBzZWxmLnJ1bl9jb21tYW5kKCdidWlsZF9weScpCisgICAgICAgICAgICBpZiBzZWxmLmRpc3RyaWJ1dGlvbi5oYXNfZXh0X21vZHVsZXMoKToKKyAgICAgICAgICAgICAgICBzZWxmLnJ1bl9jb21tYW5kKCdidWlsZF9leHQnKQorCisgICAgZGVmIGluc3RhbGwoc2VsZik6CisgICAgICAgIGlmIG9zLnBhdGguaXNkaXIoc2VsZi5idWlsZF9kaXIpOgorICAgICAgICAgICAgb3V0ZmlsZXMgPSBzZWxmLmNvcHlfdHJlZShzZWxmLmJ1aWxkX2Rpciwgc2VsZi5pbnN0YWxsX2RpcikKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGxvZ2dlci53YXJuaW5nKAorICAgICAgICAgICAgICAgICclczogJXIgZG9lcyBub3QgZXhpc3QgLS0gbm8gUHl0aG9uIG1vZHVsZXMgdG8gaW5zdGFsbCcsCisgICAgICAgICAgICAgICAgc2VsZi5nZXRfY29tbWFuZF9uYW1lKCksIHNlbGYuYnVpbGRfZGlyKQorICAgICAgICAgICAgcmV0dXJuCisgICAgICAgIHJldHVybiBvdXRmaWxlcworCisgICAgIyAtLSBVdGlsaXR5IG1ldGhvZHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworICAgIGRlZiBfbXV0YXRlX291dHB1dHMoc2VsZiwgaGFzX2FueSwgYnVpbGRfY21kLCBjbWRfb3B0aW9uLCBvdXRwdXRfZGlyKToKKyAgICAgICAgaWYgbm90IGhhc19hbnk6CisgICAgICAgICAgICByZXR1cm4gW10KKworICAgICAgICBidWlsZF9jbWQgPSBzZWxmLmdldF9maW5hbGl6ZWRfY29tbWFuZChidWlsZF9jbWQpCisgICAgICAgIGJ1aWxkX2ZpbGVzID0gYnVpbGRfY21kLmdldF9vdXRwdXRzKCkKKyAgICAgICAgYnVpbGRfZGlyID0gZ2V0YXR0cihidWlsZF9jbWQsIGNtZF9vcHRpb24pCisKKyAgICAgICAgcHJlZml4X2xlbiA9IGxlbihidWlsZF9kaXIpICsgbGVuKG9zLnNlcCkKKyAgICAgICAgb3V0cHV0cyA9IFtdCisgICAgICAgIGZvciBmaWxlIGluIGJ1aWxkX2ZpbGVzOgorICAgICAgICAgICAgb3V0cHV0cy5hcHBlbmQob3MucGF0aC5qb2luKG91dHB1dF9kaXIsIGZpbGVbcHJlZml4X2xlbjpdKSkKKworICAgICAgICByZXR1cm4gb3V0cHV0cworCisgICAgZGVmIF9ieXRlY29kZV9maWxlbmFtZXMoc2VsZiwgcHlfZmlsZW5hbWVzKToKKyAgICAgICAgYnl0ZWNvZGVfZmlsZXMgPSBbXQorICAgICAgICBmb3IgcHlfZmlsZSBpbiBweV9maWxlbmFtZXM6CisgICAgICAgICAgICAjIFNpbmNlIGJ1aWxkX3B5IGhhbmRsZXMgcGFja2FnZSBkYXRhIGluc3RhbGxhdGlvbiwgdGhlCisgICAgICAgICAgICAjIGxpc3Qgb2Ygb3V0cHV0cyBjYW4gY29udGFpbiBtb3JlIHRoYW4ganVzdCAucHkgZmlsZXMuCisgICAgICAgICAgICAjIE1ha2Ugc3VyZSB3ZSBvbmx5IHJlcG9ydCBieXRlY29kZSBmb3IgdGhlIC5weSBmaWxlcy4KKyAgICAgICAgICAgIGV4dCA9IG9zLnBhdGguc3BsaXRleHQob3MucGF0aC5ub3JtY2FzZShweV9maWxlKSlbMV0KKyAgICAgICAgICAgIGlmIGV4dCAhPSBQWVRIT05fU09VUkNFX0VYVEVOU0lPTjoKKyAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgaWYgc2VsZi5jb21waWxlOgorICAgICAgICAgICAgICAgIGJ5dGVjb2RlX2ZpbGVzLmFwcGVuZChpbXAuY2FjaGVfZnJvbV9zb3VyY2UocHlfZmlsZSwgVHJ1ZSkpCisgICAgICAgICAgICBpZiBzZWxmLm9wdGltaXplOgorICAgICAgICAgICAgICAgIGJ5dGVjb2RlX2ZpbGVzLmFwcGVuZChpbXAuY2FjaGVfZnJvbV9zb3VyY2UocHlfZmlsZSwgRmFsc2UpKQorCisgICAgICAgIHJldHVybiBieXRlY29kZV9maWxlcworCisgICAgIyAtLSBFeHRlcm5hbCBpbnRlcmZhY2UgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgICAjIChjYWxsZWQgYnkgb3V0c2lkZXJzKQorCisgICAgZGVmIGdldF9vdXRwdXRzKHNlbGYpOgorICAgICAgICAiIiJSZXR1cm4gdGhlIGxpc3Qgb2YgZmlsZXMgdGhhdCB3b3VsZCBiZSBpbnN0YWxsZWQgaWYgdGhpcyBjb21tYW5kCisgICAgICAgIHdlcmUgYWN0dWFsbHkgcnVuLiAgTm90IGFmZmVjdGVkIGJ5IHRoZSAiZHJ5LXJ1biIgZmxhZyBvciB3aGV0aGVyCisgICAgICAgIG1vZHVsZXMgaGF2ZSBhY3R1YWxseSBiZWVuIGJ1aWx0IHlldC4KKyAgICAgICAgIiIiCisgICAgICAgIHB1cmVfb3V0cHV0cyA9IFwKKyAgICAgICAgICAgIHNlbGYuX211dGF0ZV9vdXRwdXRzKHNlbGYuZGlzdHJpYnV0aW9uLmhhc19wdXJlX21vZHVsZXMoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdidWlsZF9weScsICdidWlsZF9saWInLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5pbnN0YWxsX2RpcikKKyAgICAgICAgaWYgc2VsZi5jb21waWxlOgorICAgICAgICAgICAgYnl0ZWNvZGVfb3V0cHV0cyA9IHNlbGYuX2J5dGVjb2RlX2ZpbGVuYW1lcyhwdXJlX291dHB1dHMpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBieXRlY29kZV9vdXRwdXRzID0gW10KKworICAgICAgICBleHRfb3V0cHV0cyA9IFwKKyAgICAgICAgICAgIHNlbGYuX211dGF0ZV9vdXRwdXRzKHNlbGYuZGlzdHJpYnV0aW9uLmhhc19leHRfbW9kdWxlcygpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2J1aWxkX2V4dCcsICdidWlsZF9saWInLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5pbnN0YWxsX2RpcikKKworICAgICAgICByZXR1cm4gcHVyZV9vdXRwdXRzICsgYnl0ZWNvZGVfb3V0cHV0cyArIGV4dF9vdXRwdXRzCisKKyAgICBkZWYgZ2V0X2lucHV0cyhzZWxmKToKKyAgICAgICAgIiIiR2V0IHRoZSBsaXN0IG9mIGZpbGVzIHRoYXQgYXJlIGlucHV0IHRvIHRoaXMgY29tbWFuZCwgaWUuIHRoZQorICAgICAgICBmaWxlcyB0aGF0IGdldCBpbnN0YWxsZWQgYXMgdGhleSBhcmUgbmFtZWQgaW4gdGhlIGJ1aWxkIHRyZWUuCisgICAgICAgIFRoZSBmaWxlcyBpbiB0aGlzIGxpc3QgY29ycmVzcG9uZCBvbmUtdG8tb25lIHRvIHRoZSBvdXRwdXQKKyAgICAgICAgZmlsZW5hbWVzIHJldHVybmVkIGJ5ICdnZXRfb3V0cHV0cygpJy4KKyAgICAgICAgIiIiCisgICAgICAgIGlucHV0cyA9IFtdCisKKyAgICAgICAgaWYgc2VsZi5kaXN0cmlidXRpb24uaGFzX3B1cmVfbW9kdWxlcygpOgorICAgICAgICAgICAgYnVpbGRfcHkgPSBzZWxmLmdldF9maW5hbGl6ZWRfY29tbWFuZCgnYnVpbGRfcHknKQorICAgICAgICAgICAgaW5wdXRzLmV4dGVuZChidWlsZF9weS5nZXRfb3V0cHV0cygpKQorCisgICAgICAgIGlmIHNlbGYuZGlzdHJpYnV0aW9uLmhhc19leHRfbW9kdWxlcygpOgorICAgICAgICAgICAgYnVpbGRfZXh0ID0gc2VsZi5nZXRfZmluYWxpemVkX2NvbW1hbmQoJ2J1aWxkX2V4dCcpCisgICAgICAgICAgICBpbnB1dHMuZXh0ZW5kKGJ1aWxkX2V4dC5nZXRfb3V0cHV0cygpKQorCisgICAgICAgIHJldHVybiBpbnB1dHMKZGlmZiAtLWdpdCBhL0xpYi9wYWNrYWdpbmcvY29tbWFuZC9pbnN0YWxsX3NjcmlwdHMucHkgYi9MaWIvcGFja2FnaW5nL2NvbW1hbmQvaW5zdGFsbF9zY3JpcHRzLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNmYWNiZTIKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvcGFja2FnaW5nL2NvbW1hbmQvaW5zdGFsbF9zY3JpcHRzLnB5CkBAIC0wLDAgKzEsNTkgQEAKKyIiIkluc3RhbGwgc2NyaXB0cy4iIiIKKworIyBDb250cmlidXRlZCBieSBCYXN0aWFuIEtsZWluZWlkYW0KKworaW1wb3J0IG9zCitmcm9tIHBhY2thZ2luZy5jb21tYW5kLmNtZCBpbXBvcnQgQ29tbWFuZAorZnJvbSBwYWNrYWdpbmcgaW1wb3J0IGxvZ2dlcgorCitjbGFzcyBpbnN0YWxsX3NjcmlwdHMoQ29tbWFuZCk6CisKKyAgICBkZXNjcmlwdGlvbiA9ICJpbnN0YWxsIHNjcmlwdHMgKFB5dGhvbiBvciBvdGhlcndpc2UpIgorCisgICAgdXNlcl9vcHRpb25zID0gWworICAgICAgICAoJ2luc3RhbGwtZGlyPScsICdkJywgImRpcmVjdG9yeSB0byBpbnN0YWxsIHNjcmlwdHMgdG8iKSwKKyAgICAgICAgKCdidWlsZC1kaXI9JywnYicsICJidWlsZCBkaXJlY3RvcnkgKHdoZXJlIHRvIGluc3RhbGwgZnJvbSkiKSwKKyAgICAgICAgKCdmb3JjZScsICdmJywgImZvcmNlIGluc3RhbGxhdGlvbiAob3ZlcndyaXRlIGV4aXN0aW5nIGZpbGVzKSIpLAorICAgICAgICAoJ3NraXAtYnVpbGQnLCBOb25lLCAic2tpcCB0aGUgYnVpbGQgc3RlcHMiKSwKKyAgICBdCisKKyAgICBib29sZWFuX29wdGlvbnMgPSBbJ2ZvcmNlJywgJ3NraXAtYnVpbGQnXQorCisKKyAgICBkZWYgaW5pdGlhbGl6ZV9vcHRpb25zKHNlbGYpOgorICAgICAgICBzZWxmLmluc3RhbGxfZGlyID0gTm9uZQorICAgICAgICBzZWxmLmZvcmNlID0gRmFsc2UKKyAgICAgICAgc2VsZi5idWlsZF9kaXIgPSBOb25lCisgICAgICAgIHNlbGYuc2tpcF9idWlsZCA9IE5vbmUKKworICAgIGRlZiBmaW5hbGl6ZV9vcHRpb25zKHNlbGYpOgorICAgICAgICBzZWxmLnNldF91bmRlZmluZWRfb3B0aW9ucygnYnVpbGQnLCAoJ2J1aWxkX3NjcmlwdHMnLCAnYnVpbGRfZGlyJykpCisgICAgICAgIHNlbGYuc2V0X3VuZGVmaW5lZF9vcHRpb25zKCdpbnN0YWxsX2Rpc3QnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoJ2luc3RhbGxfc2NyaXB0cycsICdpbnN0YWxsX2RpcicpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZm9yY2UnLCAnc2tpcF9idWlsZCcpCisKKyAgICBkZWYgcnVuKHNlbGYpOgorICAgICAgICBpZiBub3Qgc2VsZi5za2lwX2J1aWxkOgorICAgICAgICAgICAgc2VsZi5ydW5fY29tbWFuZCgnYnVpbGRfc2NyaXB0cycpCisKKyAgICAgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKHNlbGYuYnVpbGRfZGlyKToKKyAgICAgICAgICAgIHNlbGYub3V0ZmlsZXMgPSBbXQorICAgICAgICAgICAgcmV0dXJuCisKKyAgICAgICAgc2VsZi5vdXRmaWxlcyA9IHNlbGYuY29weV90cmVlKHNlbGYuYnVpbGRfZGlyLCBzZWxmLmluc3RhbGxfZGlyKQorICAgICAgICBpZiBvcy5uYW1lID09ICdwb3NpeCc6CisgICAgICAgICAgICAjIFNldCB0aGUgZXhlY3V0YWJsZSBiaXRzIChvd25lciwgZ3JvdXAsIGFuZCB3b3JsZCkgb24KKyAgICAgICAgICAgICMgYWxsIHRoZSBzY3JpcHRzIHdlIGp1c3QgaW5zdGFsbGVkLgorICAgICAgICAgICAgZm9yIGZpbGUgaW4gc2VsZi5nZXRfb3V0cHV0cygpOgorICAgICAgICAgICAgICAgIGlmIHNlbGYuZHJ5X3J1bjoKKyAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLmluZm8oImNoYW5naW5nIG1vZGUgb2YgJXMiLCBmaWxlKQorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIG1vZGUgPSAob3Muc3RhdChmaWxlKS5zdF9tb2RlIHwgMG81NTUpICYgMG83Nzc3CisgICAgICAgICAgICAgICAgICAgIGxvZ2dlci5pbmZvKCJjaGFuZ2luZyBtb2RlIG9mICVzIHRvICVvIiwgZmlsZSwgbW9kZSkKKyAgICAgICAgICAgICAgICAgICAgb3MuY2htb2QoZmlsZSwgbW9kZSkKKworICAgIGRlZiBnZXRfaW5wdXRzKHNlbGYpOgorICAgICAgICByZXR1cm4gc2VsZi5kaXN0cmlidXRpb24uc2NyaXB0cyBvciBbXQorCisgICAgZGVmIGdldF9vdXRwdXRzKHNlbGYpOgorICAgICAgICByZXR1cm4gc2VsZi5vdXRmaWxlcyBvciBbXQpkaWZmIC0tZ2l0IGEvTGliL3BhY2thZ2luZy9jb21tYW5kL3JlZ2lzdGVyLnB5IGIvTGliL3BhY2thZ2luZy9jb21tYW5kL3JlZ2lzdGVyLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU5ODA1ZjcKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvcGFja2FnaW5nL2NvbW1hbmQvcmVnaXN0ZXIucHkKQEAgLTAsMCArMSwyNjMgQEAKKyIiIlJlZ2lzdGVyIGEgcmVsZWFzZSB3aXRoIGEgcHJvamVjdCBpbmRleC4iIiIKKworIyBDb250cmlidXRlZCBieSBSaWNoYXJkIEpvbmVzCisKK2ltcG9ydCBnZXRwYXNzCitpbXBvcnQgdXJsbGliLmVycm9yCitpbXBvcnQgdXJsbGliLnBhcnNlCitpbXBvcnQgdXJsbGliLnJlcXVlc3QKKworZnJvbSBwYWNrYWdpbmcgaW1wb3J0IGxvZ2dlcgorZnJvbSBwYWNrYWdpbmcudXRpbCBpbXBvcnQgKHJlYWRfcHlwaXJjLCBnZW5lcmF0ZV9weXBpcmMsIERFRkFVTFRfUkVQT1NJVE9SWSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBERUZBVUxUX1JFQUxNLCBnZXRfcHlwaXJjX3BhdGgsIGVuY29kZV9tdWx0aXBhcnQpCitmcm9tIHBhY2thZ2luZy5jb21tYW5kLmNtZCBpbXBvcnQgQ29tbWFuZAorCitjbGFzcyByZWdpc3RlcihDb21tYW5kKToKKworICAgIGRlc2NyaXB0aW9uID0gInJlZ2lzdGVyIGEgcmVsZWFzZSB3aXRoIFB5UEkiCisgICAgdXNlcl9vcHRpb25zID0gWworICAgICAgICAoJ3JlcG9zaXRvcnk9JywgJ3InLAorICAgICAgICAgInJlcG9zaXRvcnkgVVJMIFtkZWZhdWx0OiAlc10iICUgREVGQVVMVF9SRVBPU0lUT1JZKSwKKyAgICAgICAgKCdzaG93LXJlc3BvbnNlJywgTm9uZSwKKyAgICAgICAgICJkaXNwbGF5IGZ1bGwgcmVzcG9uc2UgdGV4dCBmcm9tIHNlcnZlciIpLAorICAgICAgICAoJ2xpc3QtY2xhc3NpZmllcnMnLCBOb25lLAorICAgICAgICAgImxpc3QgdmFsaWQgVHJvdmUgY2xhc3NpZmllcnMiKSwKKyAgICAgICAgKCdzdHJpY3QnLCBOb25lICwKKyAgICAgICAgICJzdG9wIHRoZSByZWdpc3RyYXRpb24gaWYgdGhlIG1ldGFkYXRhIGlzIG5vdCBmdWxseSBjb21wbGlhbnQiKQorICAgICAgICBdCisKKyAgICBib29sZWFuX29wdGlvbnMgPSBbJ3Nob3ctcmVzcG9uc2UnLCAnbGlzdC1jbGFzc2lmaWVycycsICdzdHJpY3QnXQorCisgICAgZGVmIGluaXRpYWxpemVfb3B0aW9ucyhzZWxmKToKKyAgICAgICAgc2VsZi5yZXBvc2l0b3J5ID0gTm9uZQorICAgICAgICBzZWxmLnJlYWxtID0gTm9uZQorICAgICAgICBzZWxmLnNob3dfcmVzcG9uc2UgPSBGYWxzZQorICAgICAgICBzZWxmLmxpc3RfY2xhc3NpZmllcnMgPSBGYWxzZQorICAgICAgICBzZWxmLnN0cmljdCA9IEZhbHNlCisKKyAgICBkZWYgZmluYWxpemVfb3B0aW9ucyhzZWxmKToKKyAgICAgICAgaWYgc2VsZi5yZXBvc2l0b3J5IGlzIE5vbmU6CisgICAgICAgICAgICBzZWxmLnJlcG9zaXRvcnkgPSBERUZBVUxUX1JFUE9TSVRPUlkKKyAgICAgICAgaWYgc2VsZi5yZWFsbSBpcyBOb25lOgorICAgICAgICAgICAgc2VsZi5yZWFsbSA9IERFRkFVTFRfUkVBTE0KKworICAgIGRlZiBydW4oc2VsZik6CisgICAgICAgIHNlbGYuX3NldF9jb25maWcoKQorCisgICAgICAgICMgQ2hlY2sgdGhlIHBhY2thZ2UgbWV0YWRhdGEKKyAgICAgICAgY2hlY2sgPSBzZWxmLmRpc3RyaWJ1dGlvbi5nZXRfY29tbWFuZF9vYmooJ2NoZWNrJykKKyAgICAgICAgaWYgY2hlY2suc3RyaWN0ICE9IHNlbGYuc3RyaWN0IGFuZCBub3QgY2hlY2suYWxsOgorICAgICAgICAgICAgIyBJZiBjaGVjayB3YXMgYWxyZWFkeSBydW4gYnV0IHdpdGggZGlmZmVyZW50IG9wdGlvbnMsCisgICAgICAgICAgICAjIHJlLXJ1biBpdAorICAgICAgICAgICAgY2hlY2suc3RyaWN0ID0gc2VsZi5zdHJpY3QKKyAgICAgICAgICAgIGNoZWNrLmFsbCA9IFRydWUKKyAgICAgICAgICAgIHNlbGYuZGlzdHJpYnV0aW9uLmhhdmVfcnVuLnBvcCgnY2hlY2snLCBOb25lKQorICAgICAgICAgICAgc2VsZi5ydW5fY29tbWFuZCgnY2hlY2snKQorCisgICAgICAgIGlmIHNlbGYuZHJ5X3J1bjoKKyAgICAgICAgICAgIHNlbGYudmVyaWZ5X21ldGFkYXRhKCkKKyAgICAgICAgZWxpZiBzZWxmLmxpc3RfY2xhc3NpZmllcnM6CisgICAgICAgICAgICBzZWxmLmNsYXNzaWZpZXJzKCkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHNlbGYuc2VuZF9tZXRhZGF0YSgpCisKKyAgICBkZWYgX3NldF9jb25maWcoc2VsZik6CisgICAgICAgICcnJyBSZWFkcyB0aGUgY29uZmlndXJhdGlvbiBmaWxlIGFuZCBzZXQgYXR0cmlidXRlcy4KKyAgICAgICAgJycnCisgICAgICAgIGNvbmZpZyA9IHJlYWRfcHlwaXJjKHNlbGYucmVwb3NpdG9yeSwgc2VsZi5yZWFsbSkKKyAgICAgICAgaWYgY29uZmlnICE9IHt9OgorICAgICAgICAgICAgc2VsZi51c2VybmFtZSA9IGNvbmZpZ1sndXNlcm5hbWUnXQorICAgICAgICAgICAgc2VsZi5wYXNzd29yZCA9IGNvbmZpZ1sncGFzc3dvcmQnXQorICAgICAgICAgICAgc2VsZi5yZXBvc2l0b3J5ID0gY29uZmlnWydyZXBvc2l0b3J5J10KKyAgICAgICAgICAgIHNlbGYucmVhbG0gPSBjb25maWdbJ3JlYWxtJ10KKyAgICAgICAgICAgIHNlbGYuaGFzX2NvbmZpZyA9IFRydWUKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGlmIHNlbGYucmVwb3NpdG9yeSBub3QgaW4gKCdweXBpJywgREVGQVVMVF9SRVBPU0lUT1JZKToKKyAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCclcyBub3QgZm91bmQgaW4gLnB5cGlyYycgJSBzZWxmLnJlcG9zaXRvcnkpCisgICAgICAgICAgICBpZiBzZWxmLnJlcG9zaXRvcnkgPT0gJ3B5cGknOgorICAgICAgICAgICAgICAgIHNlbGYucmVwb3NpdG9yeSA9IERFRkFVTFRfUkVQT1NJVE9SWQorICAgICAgICAgICAgc2VsZi5oYXNfY29uZmlnID0gRmFsc2UKKworICAgIGRlZiBjbGFzc2lmaWVycyhzZWxmKToKKyAgICAgICAgJycnIEZldGNoIHRoZSBsaXN0IG9mIGNsYXNzaWZpZXJzIGZyb20gdGhlIHNlcnZlci4KKyAgICAgICAgJycnCisgICAgICAgIHJlc3BvbnNlID0gdXJsbGliLnJlcXVlc3QudXJsb3BlbihzZWxmLnJlcG9zaXRvcnkrJz86YWN0aW9uPWxpc3RfY2xhc3NpZmllcnMnKQorICAgICAgICBsb2dnZXIuaW5mbyhyZXNwb25zZS5yZWFkKCkpCisKKyAgICBkZWYgdmVyaWZ5X21ldGFkYXRhKHNlbGYpOgorICAgICAgICAnJycgU2VuZCB0aGUgbWV0YWRhdGEgdG8gdGhlIHBhY2thZ2UgaW5kZXggc2VydmVyIHRvIGJlIGNoZWNrZWQuCisgICAgICAgICcnJworICAgICAgICAjIHNlbmQgdGhlIGluZm8gdG8gdGhlIHNlcnZlciBhbmQgcmVwb3J0IHRoZSByZXN1bHQKKyAgICAgICAgY29kZSwgcmVzdWx0ID0gc2VsZi5wb3N0X3RvX3NlcnZlcihzZWxmLmJ1aWxkX3Bvc3RfZGF0YSgndmVyaWZ5JykpCisgICAgICAgIGxvZ2dlci5pbmZvKCdzZXJ2ZXIgcmVzcG9uc2UgKCVzKTogJXMnLCBjb2RlLCByZXN1bHQpCisKKworICAgIGRlZiBzZW5kX21ldGFkYXRhKHNlbGYpOgorICAgICAgICAnJycgU2VuZCB0aGUgbWV0YWRhdGEgdG8gdGhlIHBhY2thZ2UgaW5kZXggc2VydmVyLgorCisgICAgICAgICAgICBXZWxsLCBkbyB0aGUgZm9sbG93aW5nOgorICAgICAgICAgICAgMS4gZmlndXJlIHdobyB0aGUgdXNlciBpcywgYW5kIHRoZW4KKyAgICAgICAgICAgIDIuIHNlbmQgdGhlIGRhdGEgYXMgYSBCYXNpYyBhdXRoJ2VkIFBPU1QuCisKKyAgICAgICAgICAgIEZpcnN0IHdlIHRyeSB0byByZWFkIHRoZSB1c2VybmFtZS9wYXNzd29yZCBmcm9tICRIT01FLy5weXBpcmMsCisgICAgICAgICAgICB3aGljaCBpcyBhIENvbmZpZ1BhcnNlci1mb3JtYXR0ZWQgZmlsZSB3aXRoIGEgc2VjdGlvbgorICAgICAgICAgICAgW2Rpc3R1dGlsc10gY29udGFpbmluZyB1c2VybmFtZSBhbmQgcGFzc3dvcmQgZW50cmllcyAoYm90aAorICAgICAgICAgICAgaW4gY2xlYXIgdGV4dCkuIEVnOgorCisgICAgICAgICAgICAgICAgW2Rpc3R1dGlsc10KKyAgICAgICAgICAgICAgICBpbmRleC1zZXJ2ZXJzID0KKyAgICAgICAgICAgICAgICAgICAgcHlwaQorCisgICAgICAgICAgICAgICAgW3B5cGldCisgICAgICAgICAgICAgICAgdXNlcm5hbWU6IGZyZWQKKyAgICAgICAgICAgICAgICBwYXNzd29yZDogc2Vrcml0CisKKyAgICAgICAgICAgIE90aGVyd2lzZSwgdG8gZmlndXJlIHdobyB0aGUgdXNlciBpcywgd2Ugb2ZmZXIgdGhlIHVzZXIgdGhyZWUKKyAgICAgICAgICAgIGNob2ljZXM6CisKKyAgICAgICAgICAgICAxLiB1c2UgZXhpc3RpbmcgbG9naW4sCisgICAgICAgICAgICAgMi4gcmVnaXN0ZXIgYXMgYSBuZXcgdXNlciwgb3IKKyAgICAgICAgICAgICAzLiBzZXQgdGhlIHBhc3N3b3JkIHRvIGEgcmFuZG9tIHN0cmluZyBhbmQgZW1haWwgdGhlIHVzZXIuCisKKyAgICAgICAgJycnCisgICAgICAgICMgVE9ETyBmYWN0b3IgcmVnaXN0cmF0aW9uIG91dCBpbnRvIGFub3RoZXIgbWV0aG9kCisgICAgICAgICMgVE9ETyB1c2UgcHJpbnQgdG8gcHJpbnQsIG5vdCBsb2dnaW5nCisKKyAgICAgICAgIyBzZWUgaWYgd2UgY2FuIHNob3J0LWN1dCBhbmQgZ2V0IHRoZSB1c2VybmFtZS9wYXNzd29yZCBmcm9tIHRoZQorICAgICAgICAjIGNvbmZpZworICAgICAgICBpZiBzZWxmLmhhc19jb25maWc6CisgICAgICAgICAgICBjaG9pY2UgPSAnMScKKyAgICAgICAgICAgIHVzZXJuYW1lID0gc2VsZi51c2VybmFtZQorICAgICAgICAgICAgcGFzc3dvcmQgPSBzZWxmLnBhc3N3b3JkCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBjaG9pY2UgPSAneCcKKyAgICAgICAgICAgIHVzZXJuYW1lID0gcGFzc3dvcmQgPSAnJworCisgICAgICAgICMgZ2V0IHRoZSB1c2VyJ3MgbG9naW4gaW5mbworICAgICAgICBjaG9pY2VzID0gJzEgMiAzIDQnLnNwbGl0KCkKKyAgICAgICAgd2hpbGUgY2hvaWNlIG5vdCBpbiBjaG9pY2VzOgorICAgICAgICAgICAgbG9nZ2VyLmluZm8oJycnXAorV2UgbmVlZCB0byBrbm93IHdobyB5b3UgYXJlLCBzbyBwbGVhc2UgY2hvb3NlIGVpdGhlcjoKKyAxLiB1c2UgeW91ciBleGlzdGluZyBsb2dpbiwKKyAyLiByZWdpc3RlciBhcyBhIG5ldyB1c2VyLAorIDMuIGhhdmUgdGhlIHNlcnZlciBnZW5lcmF0ZSBhIG5ldyBwYXNzd29yZCBmb3IgeW91IChhbmQgZW1haWwgaXQgdG8geW91KSwgb3IKKyA0LiBxdWl0CitZb3VyIHNlbGVjdGlvbiBbZGVmYXVsdCAxXTogJycnKQorCisgICAgICAgICAgICBjaG9pY2UgPSBpbnB1dCgpCisgICAgICAgICAgICBpZiBub3QgY2hvaWNlOgorICAgICAgICAgICAgICAgIGNob2ljZSA9ICcxJworICAgICAgICAgICAgZWxpZiBjaG9pY2Ugbm90IGluIGNob2ljZXM6CisgICAgICAgICAgICAgICAgcHJpbnQoJ1BsZWFzZSBjaG9vc2Ugb25lIG9mIHRoZSBmb3VyIG9wdGlvbnMhJykKKworICAgICAgICBpZiBjaG9pY2UgPT0gJzEnOgorICAgICAgICAgICAgIyBnZXQgdGhlIHVzZXJuYW1lIGFuZCBwYXNzd29yZAorICAgICAgICAgICAgd2hpbGUgbm90IHVzZXJuYW1lOgorICAgICAgICAgICAgICAgIHVzZXJuYW1lID0gaW5wdXQoJ1VzZXJuYW1lOiAnKQorICAgICAgICAgICAgd2hpbGUgbm90IHBhc3N3b3JkOgorICAgICAgICAgICAgICAgIHBhc3N3b3JkID0gZ2V0cGFzcy5nZXRwYXNzKCdQYXNzd29yZDogJykKKworICAgICAgICAgICAgIyBzZXQgdXAgdGhlIGF1dGhlbnRpY2F0aW9uCisgICAgICAgICAgICBhdXRoID0gdXJsbGliLnJlcXVlc3QuSFRUUFBhc3N3b3JkTWdyKCkKKyAgICAgICAgICAgIGhvc3QgPSB1cmxsaWIucGFyc2UudXJscGFyc2Uoc2VsZi5yZXBvc2l0b3J5KVsxXQorICAgICAgICAgICAgYXV0aC5hZGRfcGFzc3dvcmQoc2VsZi5yZWFsbSwgaG9zdCwgdXNlcm5hbWUsIHBhc3N3b3JkKQorICAgICAgICAgICAgIyBzZW5kIHRoZSBpbmZvIHRvIHRoZSBzZXJ2ZXIgYW5kIHJlcG9ydCB0aGUgcmVzdWx0CisgICAgICAgICAgICBjb2RlLCByZXN1bHQgPSBzZWxmLnBvc3RfdG9fc2VydmVyKHNlbGYuYnVpbGRfcG9zdF9kYXRhKCdzdWJtaXQnKSwKKyAgICAgICAgICAgICAgICBhdXRoKQorICAgICAgICAgICAgbG9nZ2VyLmluZm8oJ1NlcnZlciByZXNwb25zZSAoJXMpOiAlcycsIGNvZGUsIHJlc3VsdCkKKworICAgICAgICAgICAgIyBwb3NzaWJseSBzYXZlIHRoZSBsb2dpbgorICAgICAgICAgICAgaWYgY29kZSA9PSAyMDA6CisgICAgICAgICAgICAgICAgaWYgc2VsZi5oYXNfY29uZmlnOgorICAgICAgICAgICAgICAgICAgICAjIHNoYXJpbmcgdGhlIHBhc3N3b3JkIGluIHRoZSBkaXN0cmlidXRpb24gaW5zdGFuY2UKKyAgICAgICAgICAgICAgICAgICAgIyBzbyB0aGUgdXBsb2FkIGNvbW1hbmQgY2FuIHJldXNlIGl0CisgICAgICAgICAgICAgICAgICAgIHNlbGYuZGlzdHJpYnV0aW9uLnBhc3N3b3JkID0gcGFzc3dvcmQKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICBsb2dnZXIuaW5mbygKKyAgICAgICAgICAgICAgICAgICAgICAgICdJIGNhbiBzdG9yZSB5b3VyIFB5UEkgbG9naW4gc28gZnV0dXJlIHN1Ym1pc3Npb25zICcKKyAgICAgICAgICAgICAgICAgICAgICAgICd3aWxsIGJlIGZhc3Rlci5cbih0aGUgbG9naW4gd2lsbCBiZSBzdG9yZWQgaW4gJXMpJywKKyAgICAgICAgICAgICAgICAgICAgICAgIGdldF9weXBpcmNfcGF0aCgpKQorICAgICAgICAgICAgICAgICAgICBjaG9pY2UgPSAnWCcKKyAgICAgICAgICAgICAgICAgICAgd2hpbGUgY2hvaWNlLmxvd2VyKCkgbm90IGluICgneScsICduJyk6CisgICAgICAgICAgICAgICAgICAgICAgICBjaG9pY2UgPSBpbnB1dCgnU2F2ZSB5b3VyIGxvZ2luICh5L04pPycpCisgICAgICAgICAgICAgICAgICAgICAgICBpZiBub3QgY2hvaWNlOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNob2ljZSA9ICduJworICAgICAgICAgICAgICAgICAgICBpZiBjaG9pY2UubG93ZXIoKSA9PSAneSc6CisgICAgICAgICAgICAgICAgICAgICAgICBnZW5lcmF0ZV9weXBpcmModXNlcm5hbWUsIHBhc3N3b3JkKQorCisgICAgICAgIGVsaWYgY2hvaWNlID09ICcyJzoKKyAgICAgICAgICAgIGRhdGEgPSB7JzphY3Rpb24nOiAndXNlcid9CisgICAgICAgICAgICBkYXRhWyduYW1lJ10gPSBkYXRhWydwYXNzd29yZCddID0gZGF0YVsnZW1haWwnXSA9ICcnCisgICAgICAgICAgICBkYXRhWydjb25maXJtJ10gPSBOb25lCisgICAgICAgICAgICB3aGlsZSBub3QgZGF0YVsnbmFtZSddOgorICAgICAgICAgICAgICAgIGRhdGFbJ25hbWUnXSA9IGlucHV0KCdVc2VybmFtZTogJykKKyAgICAgICAgICAgIHdoaWxlIGRhdGFbJ3Bhc3N3b3JkJ10gIT0gZGF0YVsnY29uZmlybSddOgorICAgICAgICAgICAgICAgIHdoaWxlIG5vdCBkYXRhWydwYXNzd29yZCddOgorICAgICAgICAgICAgICAgICAgICBkYXRhWydwYXNzd29yZCddID0gZ2V0cGFzcy5nZXRwYXNzKCdQYXNzd29yZDogJykKKyAgICAgICAgICAgICAgICB3aGlsZSBub3QgZGF0YVsnY29uZmlybSddOgorICAgICAgICAgICAgICAgICAgICBkYXRhWydjb25maXJtJ10gPSBnZXRwYXNzLmdldHBhc3MoJyBDb25maXJtOiAnKQorICAgICAgICAgICAgICAgIGlmIGRhdGFbJ3Bhc3N3b3JkJ10gIT0gZGF0YVsnY29uZmlybSddOgorICAgICAgICAgICAgICAgICAgICBkYXRhWydwYXNzd29yZCddID0gJycKKyAgICAgICAgICAgICAgICAgICAgZGF0YVsnY29uZmlybSddID0gTm9uZQorICAgICAgICAgICAgICAgICAgICBwcmludCgiUGFzc3dvcmQgYW5kIGNvbmZpcm0gZG9uJ3QgbWF0Y2ghIikKKyAgICAgICAgICAgIHdoaWxlIG5vdCBkYXRhWydlbWFpbCddOgorICAgICAgICAgICAgICAgIGRhdGFbJ2VtYWlsJ10gPSBpbnB1dCgnICAgRU1haWw6ICcpCisgICAgICAgICAgICBjb2RlLCByZXN1bHQgPSBzZWxmLnBvc3RfdG9fc2VydmVyKGRhdGEpCisgICAgICAgICAgICBpZiBjb2RlICE9IDIwMDoKKyAgICAgICAgICAgICAgICBsb2dnZXIuaW5mbygnc2VydmVyIHJlc3BvbnNlICglcyk6ICVzJywgY29kZSwgcmVzdWx0KQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBsb2dnZXIuaW5mbygneW91IHdpbGwgcmVjZWl2ZSBhbiBlbWFpbCBzaG9ydGx5OyBmb2xsb3cgdGhlICcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaW5zdHJ1Y3Rpb25zIGluIGl0IHRvIGNvbXBsZXRlIHJlZ2lzdHJhdGlvbi4nKQorICAgICAgICBlbGlmIGNob2ljZSA9PSAnMyc6CisgICAgICAgICAgICBkYXRhID0geyc6YWN0aW9uJzogJ3Bhc3N3b3JkX3Jlc2V0J30KKyAgICAgICAgICAgIGRhdGFbJ2VtYWlsJ10gPSAnJworICAgICAgICAgICAgd2hpbGUgbm90IGRhdGFbJ2VtYWlsJ106CisgICAgICAgICAgICAgICAgZGF0YVsnZW1haWwnXSA9IGlucHV0KCdZb3VyIGVtYWlsIGFkZHJlc3M6ICcpCisgICAgICAgICAgICBjb2RlLCByZXN1bHQgPSBzZWxmLnBvc3RfdG9fc2VydmVyKGRhdGEpCisgICAgICAgICAgICBsb2dnZXIuaW5mbygnc2VydmVyIHJlc3BvbnNlICglcyk6ICVzJywgY29kZSwgcmVzdWx0KQorCisgICAgZGVmIGJ1aWxkX3Bvc3RfZGF0YShzZWxmLCBhY3Rpb24pOgorICAgICAgICAjIGZpZ3VyZSB0aGUgZGF0YSB0byBzZW5kIC0gdGhlIG1ldGFkYXRhIHBsdXMgc29tZSBhZGRpdGlvbmFsCisgICAgICAgICMgaW5mb3JtYXRpb24gdXNlZCBieSB0aGUgcGFja2FnZSBzZXJ2ZXIKKyAgICAgICAgZGF0YSA9IHNlbGYuZGlzdHJpYnV0aW9uLm1ldGFkYXRhLnRvZGljdCgpCisgICAgICAgIGRhdGFbJzphY3Rpb24nXSA9IGFjdGlvbgorICAgICAgICByZXR1cm4gZGF0YQorCisgICAgIyBYWFggdG8gYmUgcmVmYWN0b3JlZCB3aXRoIHVwbG9hZC51cGxvYWRfZmlsZQorICAgIGRlZiBwb3N0X3RvX3NlcnZlcihzZWxmLCBkYXRhLCBhdXRoPU5vbmUpOgorICAgICAgICAnJycgUG9zdCBhIHF1ZXJ5IHRvIHRoZSBzZXJ2ZXIsIGFuZCByZXR1cm4gYSBzdHJpbmcgcmVzcG9uc2UuCisgICAgICAgICcnJworICAgICAgICBpZiAnbmFtZScgaW4gZGF0YToKKyAgICAgICAgICAgIGxvZ2dlci5pbmZvKCdSZWdpc3RlcmluZyAlcyB0byAlcycsIGRhdGFbJ25hbWUnXSwgc2VsZi5yZXBvc2l0b3J5KQorICAgICAgICAjIEJ1aWxkIHVwIHRoZSBNSU1FIHBheWxvYWQgZm9yIHRoZSB1cmxsaWIyIFBPU1QgZGF0YQorICAgICAgICBjb250ZW50X3R5cGUsIGJvZHkgPSBlbmNvZGVfbXVsdGlwYXJ0KGRhdGEuaXRlbXMoKSwgW10pCisKKyAgICAgICAgIyBidWlsZCB0aGUgUmVxdWVzdAorICAgICAgICBoZWFkZXJzID0geworICAgICAgICAgICAgJ0NvbnRlbnQtdHlwZSc6IGNvbnRlbnRfdHlwZSwKKyAgICAgICAgICAgICdDb250ZW50LWxlbmd0aCc6IHN0cihsZW4oYm9keSkpCisgICAgICAgIH0KKyAgICAgICAgcmVxID0gdXJsbGliLnJlcXVlc3QuUmVxdWVzdChzZWxmLnJlcG9zaXRvcnksIGJvZHksIGhlYWRlcnMpCisKKyAgICAgICAgIyBoYW5kbGUgSFRUUCBhbmQgaW5jbHVkZSB0aGUgQmFzaWMgQXV0aCBoYW5kbGVyCisgICAgICAgIG9wZW5lciA9IHVybGxpYi5yZXF1ZXN0LmJ1aWxkX29wZW5lcigKKyAgICAgICAgICAgIHVybGxpYi5yZXF1ZXN0LkhUVFBCYXNpY0F1dGhIYW5kbGVyKHBhc3N3b3JkX21ncj1hdXRoKQorICAgICAgICApCisgICAgICAgIGRhdGEgPSAnJworICAgICAgICB0cnk6CisgICAgICAgICAgICByZXN1bHQgPSBvcGVuZXIub3BlbihyZXEpCisgICAgICAgIGV4Y2VwdCB1cmxsaWIuZXJyb3IuSFRUUEVycm9yIGFzIGU6CisgICAgICAgICAgICBpZiBzZWxmLnNob3dfcmVzcG9uc2U6CisgICAgICAgICAgICAgICAgZGF0YSA9IGUuZnAucmVhZCgpCisgICAgICAgICAgICByZXN1bHQgPSBlLmNvZGUsIGUubXNnCisgICAgICAgIGV4Y2VwdCB1cmxsaWIuZXJyb3IuVVJMRXJyb3IgYXMgZToKKyAgICAgICAgICAgIHJlc3VsdCA9IDUwMCwgc3RyKGUpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBpZiBzZWxmLnNob3dfcmVzcG9uc2U6CisgICAgICAgICAgICAgICAgZGF0YSA9IHJlc3VsdC5yZWFkKCkKKyAgICAgICAgICAgIHJlc3VsdCA9IDIwMCwgJ09LJworICAgICAgICBpZiBzZWxmLnNob3dfcmVzcG9uc2U6CisgICAgICAgICAgICBkYXNoZXMgPSAnLScgKiA3NQorICAgICAgICAgICAgbG9nZ2VyLmluZm8oJyVzJXMlcycsIGRhc2hlcywgZGF0YSwgZGFzaGVzKQorCisgICAgICAgIHJldHVybiByZXN1bHQKZGlmZiAtLWdpdCBhL0xpYi9wYWNrYWdpbmcvY29tbWFuZC9zZGlzdC5weSBiL0xpYi9wYWNrYWdpbmcvY29tbWFuZC9zZGlzdC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMzk5OTgxCi0tLSAvZGV2L251bGwKKysrIGIvTGliL3BhY2thZ2luZy9jb21tYW5kL3NkaXN0LnB5CkBAIC0wLDAgKzEsMzQ3IEBACisiIiJDcmVhdGUgYSBzb3VyY2UgZGlzdHJpYnV0aW9uLiIiIgorCitpbXBvcnQgb3MKK2ltcG9ydCByZQoraW1wb3J0IHN5cworZnJvbSBpbyBpbXBvcnQgU3RyaW5nSU8KK2Zyb20gc2h1dGlsIGltcG9ydCBnZXRfYXJjaGl2ZV9mb3JtYXRzLCBybXRyZWUKKworZnJvbSBwYWNrYWdpbmcgaW1wb3J0IGxvZ2dlcgorZnJvbSBwYWNrYWdpbmcudXRpbCBpbXBvcnQgcmVzb2x2ZV9uYW1lCitmcm9tIHBhY2thZ2luZy5lcnJvcnMgaW1wb3J0IChQYWNrYWdpbmdQbGF0Zm9ybUVycm9yLCBQYWNrYWdpbmdPcHRpb25FcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhY2thZ2luZ01vZHVsZUVycm9yLCBQYWNrYWdpbmdGaWxlRXJyb3IpCitmcm9tIHBhY2thZ2luZy5jb21tYW5kIGltcG9ydCBnZXRfY29tbWFuZF9uYW1lcworZnJvbSBwYWNrYWdpbmcuY29tbWFuZC5jbWQgaW1wb3J0IENvbW1hbmQKK2Zyb20gcGFja2FnaW5nLm1hbmlmZXN0IGltcG9ydCBNYW5pZmVzdAorCisKK2RlZiBzaG93X2Zvcm1hdHMoKToKKyAgICAiIiJQcmludCBhbGwgcG9zc2libGUgdmFsdWVzIGZvciB0aGUgJ2Zvcm1hdHMnIG9wdGlvbiAodXNlZCBieQorICAgIHRoZSAiLS1oZWxwLWZvcm1hdHMiIGNvbW1hbmQtbGluZSBvcHRpb24pLgorICAgICIiIgorICAgIGZyb20gcGFja2FnaW5nLmZhbmN5X2dldG9wdCBpbXBvcnQgRmFuY3lHZXRvcHQKKyAgICBmb3JtYXRzID0gc29ydGVkKCgnZm9ybWF0cz0nICsgbmFtZSwgTm9uZSwgZGVzYykKKyAgICAgICAgICAgICAgICAgICAgIGZvciBuYW1lLCBkZXNjIGluIGdldF9hcmNoaXZlX2Zvcm1hdHMoKSkKKyAgICBGYW5jeUdldG9wdChmb3JtYXRzKS5wcmludF9oZWxwKAorICAgICAgICAiTGlzdCBvZiBhdmFpbGFibGUgc291cmNlIGRpc3RyaWJ1dGlvbiBmb3JtYXRzOiIpCisKKyMgYSBcIGZvbGxvd2VkIGJ5IHNvbWUgc3BhY2VzICsgRU9MCitfQ09MTEFQU0VfUEFUVEVSTiA9IHJlLmNvbXBpbGUoJ1xcXHdcbicsIHJlLk0pCitfQ09NTUVOVEVEX0xJTkUgPSByZS5jb21waWxlKCdeIy4qXG4kfF5cdypcbiQnLCByZS5NKQorCisKK2NsYXNzIHNkaXN0KENvbW1hbmQpOgorCisgICAgZGVzY3JpcHRpb24gPSAiY3JlYXRlIGEgc291cmNlIGRpc3RyaWJ1dGlvbiAodGFyYmFsbCwgemlwIGZpbGUsIGV0Yy4pIgorCisgICAgdXNlcl9vcHRpb25zID0gWworICAgICAgICAoJ21hbmlmZXN0PScsICdtJywKKyAgICAgICAgICJuYW1lIG9mIG1hbmlmZXN0IGZpbGUgW2RlZmF1bHQ6IE1BTklGRVNUXSIpLAorICAgICAgICAoJ3VzZS1kZWZhdWx0cycsIE5vbmUsCisgICAgICAgICAiaW5jbHVkZSB0aGUgZGVmYXVsdCBmaWxlIHNldCBpbiB0aGUgbWFuaWZlc3QgIgorICAgICAgICAgIltkZWZhdWx0OyBkaXNhYmxlIHdpdGggLS1uby1kZWZhdWx0c10iKSwKKyAgICAgICAgKCduby1kZWZhdWx0cycsIE5vbmUsCisgICAgICAgICAiZG9uJ3QgaW5jbHVkZSB0aGUgZGVmYXVsdCBmaWxlIHNldCIpLAorICAgICAgICAoJ3BydW5lJywgTm9uZSwKKyAgICAgICAgICJzcGVjaWZpY2FsbHkgZXhjbHVkZSBmaWxlcy9kaXJlY3RvcmllcyB0aGF0IHNob3VsZCBub3QgYmUgIgorICAgICAgICAgImRpc3RyaWJ1dGVkIChidWlsZCB0cmVlLCBSQ1MvQ1ZTIGRpcnMsIGV0Yy4pICIKKyAgICAgICAgICJbZGVmYXVsdDsgZGlzYWJsZSB3aXRoIC0tbm8tcHJ1bmVdIiksCisgICAgICAgICgnbm8tcHJ1bmUnLCBOb25lLAorICAgICAgICAgImRvbid0IGF1dG9tYXRpY2FsbHkgZXhjbHVkZSBhbnl0aGluZyIpLAorICAgICAgICAoJ21hbmlmZXN0LW9ubHknLCAnbycsCisgICAgICAgICAianVzdCByZWdlbmVyYXRlIHRoZSBtYW5pZmVzdCBhbmQgdGhlbiBzdG9wICIpLAorICAgICAgICAoJ2Zvcm1hdHM9JywgTm9uZSwKKyAgICAgICAgICJmb3JtYXRzIGZvciBzb3VyY2UgZGlzdHJpYnV0aW9uIChjb21tYS1zZXBhcmF0ZWQgbGlzdCkiKSwKKyAgICAgICAgKCdrZWVwLXRlbXAnLCAnaycsCisgICAgICAgICAia2VlcCB0aGUgZGlzdHJpYnV0aW9uIHRyZWUgYXJvdW5kIGFmdGVyIGNyZWF0aW5nICIgKworICAgICAgICAgImFyY2hpdmUgZmlsZShzKSIpLAorICAgICAgICAoJ2Rpc3QtZGlyPScsICdkJywKKyAgICAgICAgICJkaXJlY3RvcnkgdG8gcHV0IHRoZSBzb3VyY2UgZGlzdHJpYnV0aW9uIGFyY2hpdmUocykgaW4gIgorICAgICAgICAgIltkZWZhdWx0OiBkaXN0XSIpLAorICAgICAgICAoJ2NoZWNrLW1ldGFkYXRhJywgTm9uZSwKKyAgICAgICAgICJFbnN1cmUgdGhhdCBhbGwgcmVxdWlyZWQgZWxlbWVudHMgb2YgbWV0YWRhdGEgIgorICAgICAgICAgImFyZSBzdXBwbGllZC4gV2FybiBpZiBhbnkgbWlzc2luZy4gW2RlZmF1bHRdIiksCisgICAgICAgICgnb3duZXI9JywgJ3UnLAorICAgICAgICAgIk93bmVyIG5hbWUgdXNlZCB3aGVuIGNyZWF0aW5nIGEgdGFyIGZpbGUgW2RlZmF1bHQ6IGN1cnJlbnQgdXNlcl0iKSwKKyAgICAgICAgKCdncm91cD0nLCAnZycsCisgICAgICAgICAiR3JvdXAgbmFtZSB1c2VkIHdoZW4gY3JlYXRpbmcgYSB0YXIgZmlsZSBbZGVmYXVsdDogY3VycmVudCBncm91cF0iKSwKKyAgICAgICAgKCdtYW5pZmVzdC1idWlsZGVycz0nLCBOb25lLAorICAgICAgICAgIm1hbmlmZXN0IGJ1aWxkZXJzIChjb21tYS1zZXBhcmF0ZWQgbGlzdCkiKSwKKyAgICAgICAgXQorCisgICAgYm9vbGVhbl9vcHRpb25zID0gWyd1c2UtZGVmYXVsdHMnLCAncHJ1bmUnLAorICAgICAgICAgICAgICAgICAgICAgICAnbWFuaWZlc3Qtb25seScsICdrZWVwLXRlbXAnLCAnY2hlY2stbWV0YWRhdGEnXQorCisgICAgaGVscF9vcHRpb25zID0gWworICAgICAgICAoJ2hlbHAtZm9ybWF0cycsIE5vbmUsCisgICAgICAgICAibGlzdCBhdmFpbGFibGUgZGlzdHJpYnV0aW9uIGZvcm1hdHMiLCBzaG93X2Zvcm1hdHMpLAorICAgICAgICBdCisKKyAgICBuZWdhdGl2ZV9vcHQgPSB7J25vLWRlZmF1bHRzJzogJ3VzZS1kZWZhdWx0cycsCisgICAgICAgICAgICAgICAgICAgICduby1wcnVuZSc6ICdwcnVuZSd9CisKKyAgICBkZWZhdWx0X2Zvcm1hdCA9IHsncG9zaXgnOiAnZ3p0YXInLAorICAgICAgICAgICAgICAgICAgICAgICdudCc6ICd6aXAnfQorCisgICAgZGVmIGluaXRpYWxpemVfb3B0aW9ucyhzZWxmKToKKyAgICAgICAgc2VsZi5tYW5pZmVzdCA9IE5vbmUKKyAgICAgICAgIyAndXNlX2RlZmF1bHRzJzogaWYgdHJ1ZSwgd2Ugd2lsbCBpbmNsdWRlIHRoZSBkZWZhdWx0IGZpbGUgc2V0CisgICAgICAgICMgaW4gdGhlIG1hbmlmZXN0CisgICAgICAgIHNlbGYudXNlX2RlZmF1bHRzID0gVHJ1ZQorICAgICAgICBzZWxmLnBydW5lID0gVHJ1ZQorICAgICAgICBzZWxmLm1hbmlmZXN0X29ubHkgPSBGYWxzZQorICAgICAgICBzZWxmLmZvcm1hdHMgPSBOb25lCisgICAgICAgIHNlbGYua2VlcF90ZW1wID0gRmFsc2UKKyAgICAgICAgc2VsZi5kaXN0X2RpciA9IE5vbmUKKworICAgICAgICBzZWxmLmFyY2hpdmVfZmlsZXMgPSBOb25lCisgICAgICAgIHNlbGYubWV0YWRhdGFfY2hlY2sgPSBUcnVlCisgICAgICAgIHNlbGYub3duZXIgPSBOb25lCisgICAgICAgIHNlbGYuZ3JvdXAgPSBOb25lCisgICAgICAgIHNlbGYuZmlsZWxpc3QgPSBOb25lCisgICAgICAgIHNlbGYubWFuaWZlc3RfYnVpbGRlcnMgPSBOb25lCisKKyAgICBkZWYgX2NoZWNrX2FyY2hpdmVfZm9ybWF0cyhzZWxmLCBmb3JtYXRzKToKKyAgICAgICAgc3VwcG9ydGVkX2Zvcm1hdHMgPSBbbmFtZSBmb3IgbmFtZSwgZGVzYyBpbiBnZXRfYXJjaGl2ZV9mb3JtYXRzKCldCisgICAgICAgIGZvciBmb3JtYXQgaW4gZm9ybWF0czoKKyAgICAgICAgICAgIGlmIGZvcm1hdCBub3QgaW4gc3VwcG9ydGVkX2Zvcm1hdHM6CisgICAgICAgICAgICAgICAgcmV0dXJuIGZvcm1hdAorICAgICAgICByZXR1cm4gTm9uZQorCisgICAgZGVmIGZpbmFsaXplX29wdGlvbnMoc2VsZik6CisgICAgICAgIGlmIHNlbGYubWFuaWZlc3QgaXMgTm9uZToKKyAgICAgICAgICAgIHNlbGYubWFuaWZlc3QgPSAiTUFOSUZFU1QiCisKKyAgICAgICAgc2VsZi5lbnN1cmVfc3RyaW5nX2xpc3QoJ2Zvcm1hdHMnKQorICAgICAgICBpZiBzZWxmLmZvcm1hdHMgaXMgTm9uZToKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBzZWxmLmZvcm1hdHMgPSBbc2VsZi5kZWZhdWx0X2Zvcm1hdFtvcy5uYW1lXV0KKyAgICAgICAgICAgIGV4Y2VwdCBLZXlFcnJvcjoKKyAgICAgICAgICAgICAgICByYWlzZSBQYWNrYWdpbmdQbGF0Zm9ybUVycm9yKCJkb24ndCBrbm93IGhvdyB0byBjcmVhdGUgc291cmNlICIKKyAgICAgICAgICAgICAgICAgICAgICAgImRpc3RyaWJ1dGlvbnMgb24gcGxhdGZvcm0gJXMiICUgb3MubmFtZSkKKworICAgICAgICBiYWRfZm9ybWF0ID0gc2VsZi5fY2hlY2tfYXJjaGl2ZV9mb3JtYXRzKHNlbGYuZm9ybWF0cykKKyAgICAgICAgaWYgYmFkX2Zvcm1hdDoKKyAgICAgICAgICAgIHJhaXNlIFBhY2thZ2luZ09wdGlvbkVycm9yKCJ1bmtub3duIGFyY2hpdmUgZm9ybWF0ICclcyciIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICUgYmFkX2Zvcm1hdCkKKworICAgICAgICBpZiBzZWxmLmRpc3RfZGlyIGlzIE5vbmU6CisgICAgICAgICAgICBzZWxmLmRpc3RfZGlyID0gImRpc3QiCisKKyAgICAgICAgaWYgc2VsZi5maWxlbGlzdCBpcyBOb25lOgorICAgICAgICAgICAgc2VsZi5maWxlbGlzdCA9IE1hbmlmZXN0KCkKKworICAgICAgICBpZiBzZWxmLm1hbmlmZXN0X2J1aWxkZXJzIGlzIE5vbmU6CisgICAgICAgICAgICBzZWxmLm1hbmlmZXN0X2J1aWxkZXJzID0gW10KKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGlmIGlzaW5zdGFuY2Uoc2VsZi5tYW5pZmVzdF9idWlsZGVycywgc3RyKToKKyAgICAgICAgICAgICAgICBzZWxmLm1hbmlmZXN0X2J1aWxkZXJzID0gc2VsZi5tYW5pZmVzdF9idWlsZGVycy5zcGxpdCgnLCcpCisgICAgICAgICAgICBidWlsZGVycyA9IFtdCisgICAgICAgICAgICBmb3IgYnVpbGRlciBpbiBzZWxmLm1hbmlmZXN0X2J1aWxkZXJzOgorICAgICAgICAgICAgICAgIGJ1aWxkZXIgPSBidWlsZGVyLnN0cmlwKCkKKyAgICAgICAgICAgICAgICBpZiBidWlsZGVyID09ICcnOgorICAgICAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICAgICAgYnVpbGRlciA9IHJlc29sdmVfbmFtZShidWlsZGVyKQorICAgICAgICAgICAgICAgIGV4Y2VwdCBJbXBvcnRFcnJvciBhcyBlOgorICAgICAgICAgICAgICAgICAgICByYWlzZSBQYWNrYWdpbmdNb2R1bGVFcnJvcihlKQorCisgICAgICAgICAgICAgICAgYnVpbGRlcnMuYXBwZW5kKGJ1aWxkZXIpCisKKyAgICAgICAgICAgIHNlbGYubWFuaWZlc3RfYnVpbGRlcnMgPSBidWlsZGVycworCisgICAgZGVmIHJ1bihzZWxmKToKKyAgICAgICAgIyAnZmlsZWxpc3QnIGNvbnRhaW5zIHRoZSBsaXN0IG9mIGZpbGVzIHRoYXQgd2lsbCBtYWtlIHVwIHRoZQorICAgICAgICAjIG1hbmlmZXN0CisgICAgICAgIHNlbGYuZmlsZWxpc3QuY2xlYXIoKQorCisgICAgICAgICMgQ2hlY2sgdGhlIHBhY2thZ2UgbWV0YWRhdGEKKyAgICAgICAgaWYgc2VsZi5tZXRhZGF0YV9jaGVjazoKKyAgICAgICAgICAgIHNlbGYucnVuX2NvbW1hbmQoJ2NoZWNrJykKKworICAgICAgICAjIERvIHdoYXRldmVyIGl0IHRha2VzIHRvIGdldCB0aGUgbGlzdCBvZiBmaWxlcyB0byBwcm9jZXNzCisgICAgICAgICMgKHByb2Nlc3MgdGhlIG1hbmlmZXN0IHRlbXBsYXRlLCByZWFkIGFuIGV4aXN0aW5nIG1hbmlmZXN0LAorICAgICAgICAjIHdoYXRldmVyKS4gIEZpbGUgbGlzdCBpcyBhY2N1bXVsYXRlZCBpbiAnc2VsZi5maWxlbGlzdCcuCisgICAgICAgIHNlbGYuZ2V0X2ZpbGVfbGlzdCgpCisKKyAgICAgICAgIyBJZiB1c2VyIGp1c3Qgd2FudGVkIHVzIHRvIHJlZ2VuZXJhdGUgdGhlIG1hbmlmZXN0LCBzdG9wIG5vdy4KKyAgICAgICAgaWYgc2VsZi5tYW5pZmVzdF9vbmx5OgorICAgICAgICAgICAgcmV0dXJuCisKKyAgICAgICAgIyBPdGhlcndpc2UsIGdvIGFoZWFkIGFuZCBjcmVhdGUgdGhlIHNvdXJjZSBkaXN0cmlidXRpb24gdGFyYmFsbCwKKyAgICAgICAgIyBvciB6aXBmaWxlLCBvciB3aGF0ZXZlci4KKyAgICAgICAgc2VsZi5tYWtlX2Rpc3RyaWJ1dGlvbigpCisKKyAgICBkZWYgZ2V0X2ZpbGVfbGlzdChzZWxmKToKKyAgICAgICAgIiIiRmlndXJlIG91dCB0aGUgbGlzdCBvZiBmaWxlcyB0byBpbmNsdWRlIGluIHRoZSBzb3VyY2UKKyAgICAgICAgZGlzdHJpYnV0aW9uLCBhbmQgcHV0IGl0IGluICdzZWxmLmZpbGVsaXN0Jy4gIFRoaXMgbWlnaHQgaW52b2x2ZQorICAgICAgICByZWFkaW5nIHRoZSBtYW5pZmVzdCB0ZW1wbGF0ZSAoYW5kIHdyaXRpbmcgdGhlIG1hbmlmZXN0KSwgb3IganVzdAorICAgICAgICByZWFkaW5nIHRoZSBtYW5pZmVzdCwgb3IganVzdCB1c2luZyB0aGUgZGVmYXVsdCBmaWxlIHNldCAtLSBpdCBhbGwKKyAgICAgICAgZGVwZW5kcyBvbiB0aGUgdXNlcidzIG9wdGlvbnMuCisgICAgICAgICIiIgorICAgICAgICB0ZW1wbGF0ZV9leGlzdHMgPSBsZW4oc2VsZi5kaXN0cmlidXRpb24uZXh0cmFfZmlsZXMpID4gMAorICAgICAgICBpZiBub3QgdGVtcGxhdGVfZXhpc3RzOgorICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJyVzOiB1c2luZyBkZWZhdWx0IGZpbGUgbGlzdCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmdldF9jb21tYW5kX25hbWUoKSkKKyAgICAgICAgc2VsZi5maWxlbGlzdC5maW5kYWxsKCkKKworICAgICAgICBpZiBzZWxmLnVzZV9kZWZhdWx0czoKKyAgICAgICAgICAgIHNlbGYuYWRkX2RlZmF1bHRzKCkKKyAgICAgICAgaWYgdGVtcGxhdGVfZXhpc3RzOgorICAgICAgICAgICAgdGVtcGxhdGUgPSAnXG4nLmpvaW4oc2VsZi5kaXN0cmlidXRpb24uZXh0cmFfZmlsZXMpCisgICAgICAgICAgICBzZWxmLmZpbGVsaXN0LnJlYWRfdGVtcGxhdGUoU3RyaW5nSU8odGVtcGxhdGUpKQorCisgICAgICAgICMgY2FsbCBtYW5pZmVzdCBidWlsZGVycywgaWYgYW55LgorICAgICAgICBmb3IgYnVpbGRlciBpbiBzZWxmLm1hbmlmZXN0X2J1aWxkZXJzOgorICAgICAgICAgICAgYnVpbGRlcihzZWxmLmRpc3RyaWJ1dGlvbiwgc2VsZi5maWxlbGlzdCkKKworICAgICAgICBpZiBzZWxmLnBydW5lOgorICAgICAgICAgICAgc2VsZi5wcnVuZV9maWxlX2xpc3QoKQorCisgICAgICAgIHNlbGYuZmlsZWxpc3Qud3JpdGUoc2VsZi5tYW5pZmVzdCkKKworICAgIGRlZiBhZGRfZGVmYXVsdHMoc2VsZik6CisgICAgICAgICIiIkFkZCBhbGwgZGVmYXVsdCBmaWxlcyB0byBzZWxmLmZpbGVsaXN0LgorCisgICAgICAgIEluIGFkZGl0aW9uIHRvIHRoZSBzZXR1cC5jZmcgZmlsZSwgdGhpcyB3aWxsIGluY2x1ZGUgYWxsIGZpbGVzIHJldHVybmVkCisgICAgICAgIGJ5IHRoZSBnZXRfc291cmNlX2ZpbGVzIG9mIGV2ZXJ5IHJlZ2lzdGVyZWQgY29tbWFuZC4gIFRoaXMgd2lsbCBmaW5kCisgICAgICAgIFB5dGhvbiBtb2R1bGVzIGFuZCBwYWNrYWdlcywgZGF0YSBmaWxlcyBsaXN0ZWQgaW4gcGFja2FnZV9kYXRhXywKKyAgICAgICAgZGF0YV9maWxlcyBhbmQgZXh0cmFfZmlsZXMsIHNjcmlwdHMsIEMgc291cmNlcyBvZiBleHRlbnNpb24gbW9kdWxlcyBvcgorICAgICAgICBDIGxpYnJhcmllcyAoaGVhZGVycyBhcmUgbWlzc2luZykuCisgICAgICAgICIiIgorICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cygnc2V0dXAuY2ZnJyk6CisgICAgICAgICAgICBzZWxmLmZpbGVsaXN0LmFwcGVuZCgnc2V0dXAuY2ZnJykKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGxvZ2dlci53YXJuaW5nKCIlczogc3RhbmRhcmQgJ3NldHVwLmNmZycgZmlsZSBub3QgZm91bmQiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5nZXRfY29tbWFuZF9uYW1lKCkpCisKKyAgICAgICAgZm9yIGNtZF9uYW1lIGluIGdldF9jb21tYW5kX25hbWVzKCk6CisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgY21kX29iaiA9IHNlbGYuZ2V0X2ZpbmFsaXplZF9jb21tYW5kKGNtZF9uYW1lKQorICAgICAgICAgICAgZXhjZXB0IFBhY2thZ2luZ09wdGlvbkVycm9yOgorICAgICAgICAgICAgICAgIHBhc3MKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgc2VsZi5maWxlbGlzdC5leHRlbmQoY21kX29iai5nZXRfc291cmNlX2ZpbGVzKCkpCisKKyAgICBkZWYgcHJ1bmVfZmlsZV9saXN0KHNlbGYpOgorICAgICAgICAiIiJQcnVuZSBvZmYgYnJhbmNoZXMgdGhhdCBtaWdodCBzbGlwIGludG8gdGhlIGZpbGUgbGlzdCBhcyBjcmVhdGVkCisgICAgICAgIGJ5ICdyZWFkX3RlbXBsYXRlKCknLCBidXQgcmVhbGx5IGRvbid0IGJlbG9uZyB0aGVyZToKKyAgICAgICAgICAqIHRoZSBidWlsZCB0cmVlICh0eXBpY2FsbHkgImJ1aWxkIikKKyAgICAgICAgICAqIHRoZSByZWxlYXNlIHRyZWUgaXRzZWxmIChvbmx5IGFuIGlzc3VlIGlmIHdlIHJhbiAic2Rpc3QiCisgICAgICAgICAgICBwcmV2aW91c2x5IHdpdGggLS1rZWVwLXRlbXAsIG9yIGl0IGFib3J0ZWQpCisgICAgICAgICAgKiBhbnkgUkNTLCBDVlMsIC5zdm4sIC5oZywgLmdpdCwgLmJ6ciwgX2RhcmNzIGRpcmVjdG9yaWVzCisgICAgICAgICIiIgorICAgICAgICBidWlsZCA9IHNlbGYuZ2V0X2ZpbmFsaXplZF9jb21tYW5kKCdidWlsZCcpCisgICAgICAgIGJhc2VfZGlyID0gc2VsZi5kaXN0cmlidXRpb24uZ2V0X2Z1bGxuYW1lKCkKKworICAgICAgICBzZWxmLmZpbGVsaXN0LmV4Y2x1ZGVfcGF0dGVybihOb25lLCBwcmVmaXg9YnVpbGQuYnVpbGRfYmFzZSkKKyAgICAgICAgc2VsZi5maWxlbGlzdC5leGNsdWRlX3BhdHRlcm4oTm9uZSwgcHJlZml4PWJhc2VfZGlyKQorCisgICAgICAgICMgcHJ1bmluZyBvdXQgdmNzIGRpcmVjdG9yaWVzCisgICAgICAgICMgYm90aCBzZXBhcmF0b3JzIGFyZSB1c2VkIHVuZGVyIHdpbjMyCisgICAgICAgIGlmIHN5cy5wbGF0Zm9ybSA9PSAnd2luMzInOgorICAgICAgICAgICAgc2VwcyA9IHInL3xcXCcKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHNlcHMgPSAnLycKKworICAgICAgICB2Y3NfZGlycyA9IFsnUkNTJywgJ0NWUycsIHInXC5zdm4nLCByJ1wuaGcnLCByJ1wuZ2l0JywgcidcLmJ6cicsCisgICAgICAgICAgICAgICAgICAgICdfZGFyY3MnXQorICAgICAgICB2Y3NfcHRybiA9IHInKF58JXMpKCVzKSglcykuKicgJSAoc2VwcywgJ3wnLmpvaW4odmNzX2RpcnMpLCBzZXBzKQorICAgICAgICBzZWxmLmZpbGVsaXN0LmV4Y2x1ZGVfcGF0dGVybih2Y3NfcHRybiwgaXNfcmVnZXg9VHJ1ZSkKKworICAgIGRlZiBtYWtlX3JlbGVhc2VfdHJlZShzZWxmLCBiYXNlX2RpciwgZmlsZXMpOgorICAgICAgICAiIiJDcmVhdGUgdGhlIGRpcmVjdG9yeSB0cmVlIHRoYXQgd2lsbCBiZWNvbWUgdGhlIHNvdXJjZQorICAgICAgICBkaXN0cmlidXRpb24gYXJjaGl2ZS4gIEFsbCBkaXJlY3RvcmllcyBpbXBsaWVkIGJ5IHRoZSBmaWxlbmFtZXMgaW4KKyAgICAgICAgJ2ZpbGVzJyBhcmUgY3JlYXRlZCB1bmRlciAnYmFzZV9kaXInLCBhbmQgdGhlbiB3ZSBoYXJkIGxpbmsgb3IgY29weQorICAgICAgICAoaWYgaGFyZCBsaW5raW5nIGlzIHVuYXZhaWxhYmxlKSB0aG9zZSBmaWxlcyBpbnRvIHBsYWNlLgorICAgICAgICBFc3NlbnRpYWxseSwgdGhpcyBkdXBsaWNhdGVzIHRoZSBkZXZlbG9wZXIncyBzb3VyY2UgdHJlZSwgYnV0IGluIGEKKyAgICAgICAgZGlyZWN0b3J5IG5hbWVkIGFmdGVyIHRoZSBkaXN0cmlidXRpb24sIGNvbnRhaW5pbmcgb25seSB0aGUgZmlsZXMKKyAgICAgICAgdG8gYmUgZGlzdHJpYnV0ZWQuCisgICAgICAgICIiIgorICAgICAgICAjIENyZWF0ZSBhbGwgdGhlIGRpcmVjdG9yaWVzIHVuZGVyICdiYXNlX2RpcicgbmVjZXNzYXJ5IHRvCisgICAgICAgICMgcHV0ICdmaWxlcycgdGhlcmU7IHRoZSAnbWtwYXRoKCknIGlzIGp1c3Qgc28gd2UgZG9uJ3QgZGllCisgICAgICAgICMgaWYgdGhlIG1hbmlmZXN0IGhhcHBlbnMgdG8gYmUgZW1wdHkuCisgICAgICAgIHNlbGYubWtwYXRoKGJhc2VfZGlyKQorICAgICAgICBzZWxmLmNyZWF0ZV90cmVlKGJhc2VfZGlyLCBmaWxlcywgZHJ5X3J1bj1zZWxmLmRyeV9ydW4pCisKKyAgICAgICAgIyBBbmQgd2FsayBvdmVyIHRoZSBsaXN0IG9mIGZpbGVzLCBlaXRoZXIgbWFraW5nIGEgaGFyZCBsaW5rIChpZgorICAgICAgICAjIG9zLmxpbmsgZXhpc3RzKSB0byBlYWNoIG9uZSB0aGF0IGRvZXNuJ3QgYWxyZWFkeSBleGlzdCBpbiBpdHMKKyAgICAgICAgIyBjb3JyZXNwb25kaW5nIGxvY2F0aW9uIHVuZGVyICdiYXNlX2RpcicsIG9yIGNvcHlpbmcgZWFjaCBmaWxlCisgICAgICAgICMgdGhhdCdzIG91dC1vZi1kYXRlIGluICdiYXNlX2RpcicuICAoVXN1YWxseSwgYWxsIGZpbGVzIHdpbGwgYmUKKyAgICAgICAgIyBvdXQtb2YtZGF0ZSwgYmVjYXVzZSBieSBkZWZhdWx0IHdlIGJsb3cgYXdheSAnYmFzZV9kaXInIHdoZW4KKyAgICAgICAgIyB3ZSdyZSBkb25lIG1ha2luZyB0aGUgZGlzdHJpYnV0aW9uIGFyY2hpdmVzLikKKworICAgICAgICBpZiBoYXNhdHRyKG9zLCAnbGluaycpOiAgICAgICAgIyBjYW4gbWFrZSBoYXJkIGxpbmtzIG9uIHRoaXMgc3lzdGVtCisgICAgICAgICAgICBsaW5rID0gJ2hhcmQnCisgICAgICAgICAgICBtc2cgPSAibWFraW5nIGhhcmQgbGlua3MgaW4gJXMuLi4iICUgYmFzZV9kaXIKKyAgICAgICAgZWxzZTogICAgICAgICAgICAgICAgICAgICAgICAgICAjIG5vcGUsIGhhdmUgdG8gY29weQorICAgICAgICAgICAgbGluayA9IE5vbmUKKyAgICAgICAgICAgIG1zZyA9ICJjb3B5aW5nIGZpbGVzIHRvICVzLi4uIiAlIGJhc2VfZGlyCisKKyAgICAgICAgaWYgbm90IGZpbGVzOgorICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoIm5vIGZpbGVzIHRvIGRpc3RyaWJ1dGUgLS0gZW1wdHkgbWFuaWZlc3Q/IikKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGxvZ2dlci5pbmZvKG1zZykKKworICAgICAgICBmb3IgZmlsZSBpbiBzZWxmLmRpc3RyaWJ1dGlvbi5tZXRhZGF0YS5yZXF1aXJlc19maWxlczoKKyAgICAgICAgICAgIGlmIGZpbGUgbm90IGluIGZpbGVzOgorICAgICAgICAgICAgICAgIG1zZyA9ICInJXMnIG11c3QgYmUgaW5jbHVkZWQgZXhwbGljaXRseSBpbiAnZXh0cmFfZmlsZXMnIiBcCisgICAgICAgICAgICAgICAgICAgICAgICAlIGZpbGUKKyAgICAgICAgICAgICAgICByYWlzZSBQYWNrYWdpbmdGaWxlRXJyb3IobXNnKQorCisgICAgICAgIGZvciBmaWxlIGluIGZpbGVzOgorICAgICAgICAgICAgaWYgbm90IG9zLnBhdGguaXNmaWxlKGZpbGUpOgorICAgICAgICAgICAgICAgIGxvZ2dlci53YXJuaW5nKCInJXMnIG5vdCBhIHJlZ3VsYXIgZmlsZSAtLSBza2lwcGluZyIsIGZpbGUpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIGRlc3QgPSBvcy5wYXRoLmpvaW4oYmFzZV9kaXIsIGZpbGUpCisgICAgICAgICAgICAgICAgc2VsZi5jb3B5X2ZpbGUoZmlsZSwgZGVzdCwgbGluaz1saW5rKQorCisgICAgICAgIHNlbGYuZGlzdHJpYnV0aW9uLm1ldGFkYXRhLndyaXRlKG9zLnBhdGguam9pbihiYXNlX2RpciwgJ1BLRy1JTkZPJykpCisKKyAgICBkZWYgbWFrZV9kaXN0cmlidXRpb24oc2VsZik6CisgICAgICAgICIiIkNyZWF0ZSB0aGUgc291cmNlIGRpc3RyaWJ1dGlvbihzKS4gIEZpcnN0LCB3ZSBjcmVhdGUgdGhlIHJlbGVhc2UKKyAgICAgICAgdHJlZSB3aXRoICdtYWtlX3JlbGVhc2VfdHJlZSgpJzsgdGhlbiwgd2UgY3JlYXRlIGFsbCByZXF1aXJlZAorICAgICAgICBhcmNoaXZlIGZpbGVzIChhY2NvcmRpbmcgdG8gJ3NlbGYuZm9ybWF0cycpIGZyb20gdGhlIHJlbGVhc2UgdHJlZS4KKyAgICAgICAgRmluYWxseSwgd2UgY2xlYW4gdXAgYnkgYmxvd2luZyBhd2F5IHRoZSByZWxlYXNlIHRyZWUgKHVubGVzcworICAgICAgICAnc2VsZi5rZWVwX3RlbXAnIGlzIHRydWUpLiAgVGhlIGxpc3Qgb2YgYXJjaGl2ZSBmaWxlcyBjcmVhdGVkIGlzCisgICAgICAgIHN0b3JlZCBzbyBpdCBjYW4gYmUgcmV0cmlldmVkIGxhdGVyIGJ5ICdnZXRfYXJjaGl2ZV9maWxlcygpJy4KKyAgICAgICAgIiIiCisgICAgICAgICMgRG9uJ3Qgd2FybiBhYm91dCBtaXNzaW5nIG1ldGFkYXRhIGhlcmUgLS0gc2hvdWxkIGJlIChhbmQgaXMhKQorICAgICAgICAjIGRvbmUgZWxzZXdoZXJlLgorICAgICAgICBiYXNlX2RpciA9IHNlbGYuZGlzdHJpYnV0aW9uLmdldF9mdWxsbmFtZSgpCisgICAgICAgIGJhc2VfbmFtZSA9IG9zLnBhdGguam9pbihzZWxmLmRpc3RfZGlyLCBiYXNlX2RpcikKKworICAgICAgICBzZWxmLm1ha2VfcmVsZWFzZV90cmVlKGJhc2VfZGlyLCBzZWxmLmZpbGVsaXN0LmZpbGVzKQorICAgICAgICBhcmNoaXZlX2ZpbGVzID0gW10gICAgICAgICAgICAgICMgcmVtZW1iZXIgbmFtZXMgb2YgZmlsZXMgd2UgY3JlYXRlCisgICAgICAgICMgdGFyIGFyY2hpdmUgbXVzdCBiZSBjcmVhdGVkIGxhc3QgdG8gYXZvaWQgb3ZlcndyaXRlIGFuZCByZW1vdmUKKyAgICAgICAgaWYgJ3RhcicgaW4gc2VsZi5mb3JtYXRzOgorICAgICAgICAgICAgc2VsZi5mb3JtYXRzLmFwcGVuZChzZWxmLmZvcm1hdHMucG9wKHNlbGYuZm9ybWF0cy5pbmRleCgndGFyJykpKQorCisgICAgICAgIGZvciBmbXQgaW4gc2VsZi5mb3JtYXRzOgorICAgICAgICAgICAgZmlsZSA9IHNlbGYubWFrZV9hcmNoaXZlKGJhc2VfbmFtZSwgZm10LCBiYXNlX2Rpcj1iYXNlX2RpciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvd25lcj1zZWxmLm93bmVyLCBncm91cD1zZWxmLmdyb3VwKQorICAgICAgICAgICAgYXJjaGl2ZV9maWxlcy5hcHBlbmQoZmlsZSkKKyAgICAgICAgICAgIHNlbGYuZGlzdHJpYnV0aW9uLmRpc3RfZmlsZXMuYXBwZW5kKCgnc2Rpc3QnLCAnJywgZmlsZSkpCisKKyAgICAgICAgc2VsZi5hcmNoaXZlX2ZpbGVzID0gYXJjaGl2ZV9maWxlcworCisgICAgICAgIGlmIG5vdCBzZWxmLmtlZXBfdGVtcDoKKyAgICAgICAgICAgIGlmIHNlbGYuZHJ5X3J1bjoKKyAgICAgICAgICAgICAgICBsb2dnZXIuaW5mbygncmVtb3ZpbmcgJXMnLCBiYXNlX2RpcikKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgcm10cmVlKGJhc2VfZGlyKQorCisgICAgZGVmIGdldF9hcmNoaXZlX2ZpbGVzKHNlbGYpOgorICAgICAgICAiIiJSZXR1cm4gdGhlIGxpc3Qgb2YgYXJjaGl2ZSBmaWxlcyBjcmVhdGVkIHdoZW4gdGhlIGNvbW1hbmQKKyAgICAgICAgd2FzIHJ1biwgb3IgTm9uZSBpZiB0aGUgY29tbWFuZCBoYXNuJ3QgcnVuIHlldC4KKyAgICAgICAgIiIiCisgICAgICAgIHJldHVybiBzZWxmLmFyY2hpdmVfZmlsZXMKKworICAgIGRlZiBjcmVhdGVfdHJlZShzZWxmLCBiYXNlX2RpciwgZmlsZXMsIG1vZGU9MG83NzcsIGRyeV9ydW49RmFsc2UpOgorICAgICAgICBuZWVkX2RpciA9IHNldCgpCisgICAgICAgIGZvciBmaWxlIGluIGZpbGVzOgorICAgICAgICAgICAgbmVlZF9kaXIuYWRkKG9zLnBhdGguam9pbihiYXNlX2Rpciwgb3MucGF0aC5kaXJuYW1lKGZpbGUpKSkKKworICAgICAgICAjIE5vdyBjcmVhdGUgdGhlbQorICAgICAgICBmb3IgZGlyIGluIHNvcnRlZChuZWVkX2Rpcik6CisgICAgICAgICAgICBzZWxmLm1rcGF0aChkaXIsIG1vZGUsIGRyeV9ydW49ZHJ5X3J1bikKZGlmZiAtLWdpdCBhL0xpYi9wYWNrYWdpbmcvY29tbWFuZC90ZXN0LnB5IGIvTGliL3BhY2thZ2luZy9jb21tYW5kL3Rlc3QucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGQ1MzQ4ZgotLS0gL2Rldi9udWxsCisrKyBiL0xpYi9wYWNrYWdpbmcvY29tbWFuZC90ZXN0LnB5CkBAIC0wLDAgKzEsODAgQEAKKyIiIlJ1biB0aGUgcHJvamVjdCdzIHRlc3Qgc3VpdGUuIiIiCisKK2ltcG9ydCBvcworaW1wb3J0IHN5cworaW1wb3J0IGxvZ2dpbmcKK2ltcG9ydCB1bml0dGVzdAorCitmcm9tIHBhY2thZ2luZyBpbXBvcnQgbG9nZ2VyCitmcm9tIHBhY2thZ2luZy5jb21tYW5kLmNtZCBpbXBvcnQgQ29tbWFuZAorZnJvbSBwYWNrYWdpbmcuZGF0YWJhc2UgaW1wb3J0IGdldF9kaXN0cmlidXRpb24KK2Zyb20gcGFja2FnaW5nLmVycm9ycyBpbXBvcnQgUGFja2FnaW5nT3B0aW9uRXJyb3IKK2Zyb20gcGFja2FnaW5nLnV0aWwgaW1wb3J0IHJlc29sdmVfbmFtZQorCisKK2NsYXNzIHRlc3QoQ29tbWFuZCk6CisKKyAgICBkZXNjcmlwdGlvbiA9ICJydW4gdGhlIHByb2plY3QncyB0ZXN0IHN1aXRlIgorCisgICAgdXNlcl9vcHRpb25zID0gWworICAgICAgICAoJ3N1aXRlPScsICdzJywKKyAgICAgICAgICJ0ZXN0IHN1aXRlIHRvIHJ1biAoZm9yIGV4YW1wbGU6ICdzb21lX21vZHVsZS50ZXN0X3N1aXRlJykiKSwKKyAgICAgICAgKCdydW5uZXI9JywgTm9uZSwKKyAgICAgICAgICJ0ZXN0IHJ1bm5lciB0byBiZSBjYWxsZWQuIiksCisgICAgICAgICgndGVzdHMtcmVxdWlyZT0nLCBOb25lLAorICAgICAgICAgImxpc3Qgb2YgZGlzdHJpYnV0aW9ucyByZXF1aXJlZCB0byBydW4gdGhlIHRlc3Qgc3VpdGUuIiksCisgICAgXQorCisgICAgZGVmIGluaXRpYWxpemVfb3B0aW9ucyhzZWxmKToKKyAgICAgICAgc2VsZi5zdWl0ZSA9IE5vbmUKKyAgICAgICAgc2VsZi5ydW5uZXIgPSBOb25lCisgICAgICAgIHNlbGYudGVzdHNfcmVxdWlyZSA9IFtdCisKKyAgICBkZWYgZmluYWxpemVfb3B0aW9ucyhzZWxmKToKKyAgICAgICAgc2VsZi5idWlsZF9saWIgPSBzZWxmLmdldF9maW5hbGl6ZWRfY29tbWFuZCgiYnVpbGQiKS5idWlsZF9saWIKKyAgICAgICAgZm9yIHJlcXVpcmVtZW50IGluIHNlbGYudGVzdHNfcmVxdWlyZToKKyAgICAgICAgICAgIGlmIGdldF9kaXN0cmlidXRpb24ocmVxdWlyZW1lbnQpIGlzIE5vbmU6CisgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoInRlc3QgZGVwZW5kZW5jeSAlcyBpcyBub3QgaW5zdGFsbGVkLCAiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRlc3RzIG1heSBmYWlsIiwgcmVxdWlyZW1lbnQpCisgICAgICAgIGlmIChub3Qgc2VsZi5zdWl0ZSBhbmQgbm90IHNlbGYucnVubmVyIGFuZAorICAgICAgICAgICAgc2VsZi5nZXRfdXRfd2l0aF9kaXNjb3ZlcnkoKSBpcyBOb25lKToKKyAgICAgICAgICAgIHJhaXNlIFBhY2thZ2luZ09wdGlvbkVycm9yKAorICAgICAgICAgICAgICAgICJubyB0ZXN0IGRpc2NvdmVyeSBhdmFpbGFibGUsIHBsZWFzZSBnaXZlIGEgJ3N1aXRlJyBvciAiCisgICAgICAgICAgICAgICAgIidydW5uZXInIG9wdGlvbiBvciBpbnN0YWxsIHVuaXR0ZXN0MiIpCisKKyAgICBkZWYgZ2V0X3V0X3dpdGhfZGlzY292ZXJ5KHNlbGYpOgorICAgICAgICBpZiBoYXNhdHRyKHVuaXR0ZXN0LlRlc3RMb2FkZXIsICJkaXNjb3ZlciIpOgorICAgICAgICAgICAgcmV0dXJuIHVuaXR0ZXN0CisgICAgICAgIGVsc2U6CisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgaW1wb3J0IHVuaXR0ZXN0MgorICAgICAgICAgICAgICAgIHJldHVybiB1bml0dGVzdDIKKyAgICAgICAgICAgIGV4Y2VwdCBJbXBvcnRFcnJvcjoKKyAgICAgICAgICAgICAgICByZXR1cm4gTm9uZQorCisgICAgZGVmIHJ1bihzZWxmKToKKyAgICAgICAgcHJldl9zeXNwYXRoID0gc3lzLnBhdGhbOl0KKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgIyBidWlsZCByZWxlYXNlCisgICAgICAgICAgICBidWlsZCA9IHNlbGYucmVpbml0aWFsaXplX2NvbW1hbmQoJ2J1aWxkJykKKyAgICAgICAgICAgIHNlbGYucnVuX2NvbW1hbmQoJ2J1aWxkJykKKyAgICAgICAgICAgIHN5cy5wYXRoLmluc2VydCgwLCBidWlsZC5idWlsZF9saWIpCisKKyAgICAgICAgICAgICMgWFhYIG1heWJlIHdlIGNvdWxkIHBhc3MgdGhlIHZlcmJvc2UgYXJndW1lbnQgb2YgcHlzZXR1cCBoZXJlCisgICAgICAgICAgICBsb2dnZXIgPSBsb2dnaW5nLmdldExvZ2dlcigncGFja2FnaW5nJykKKyAgICAgICAgICAgIHZlcmJvc2UgPSBsb2dnZXIuZ2V0RWZmZWN0aXZlTGV2ZWwoKSA+PSBsb2dnaW5nLkRFQlVHCisgICAgICAgICAgICB2ZXJib3NpdHkgPSB2ZXJib3NlICsgMQorCisgICAgICAgICAgICAjIHJ1biB0aGUgdGVzdHMKKyAgICAgICAgICAgIGlmIHNlbGYucnVubmVyOgorICAgICAgICAgICAgICAgIHJlc29sdmVfbmFtZShzZWxmLnJ1bm5lcikoKQorICAgICAgICAgICAgZWxpZiBzZWxmLnN1aXRlOgorICAgICAgICAgICAgICAgIHJ1bm5lciA9IHVuaXR0ZXN0LlRleHRUZXN0UnVubmVyKHZlcmJvc2l0eT12ZXJib3NpdHkpCisgICAgICAgICAgICAgICAgcnVubmVyLnJ1bihyZXNvbHZlX25hbWUoc2VsZi5zdWl0ZSkoKSkKKyAgICAgICAgICAgIGVsaWYgc2VsZi5nZXRfdXRfd2l0aF9kaXNjb3ZlcnkoKToKKyAgICAgICAgICAgICAgICB1dCA9IHNlbGYuZ2V0X3V0X3dpdGhfZGlzY292ZXJ5KCkKKyAgICAgICAgICAgICAgICB0ZXN0X3N1aXRlID0gdXQuVGVzdExvYWRlcigpLmRpc2NvdmVyKG9zLmN1cmRpcikKKyAgICAgICAgICAgICAgICBydW5uZXIgPSB1dC5UZXh0VGVzdFJ1bm5lcih2ZXJib3NpdHk9dmVyYm9zaXR5KQorICAgICAgICAgICAgICAgIHJ1bm5lci5ydW4odGVzdF9zdWl0ZSkKKyAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgIHN5cy5wYXRoWzpdID0gcHJldl9zeXNwYXRoCmRpZmYgLS1naXQgYS9MaWIvcGFja2FnaW5nL2NvbW1hbmQvdXBsb2FkLnB5IGIvTGliL3BhY2thZ2luZy9jb21tYW5kL3VwbG9hZC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNTZkMmM2Ci0tLSAvZGV2L251bGwKKysrIGIvTGliL3BhY2thZ2luZy9jb21tYW5kL3VwbG9hZC5weQpAQCAtMCwwICsxLDE2OCBAQAorIiIiVXBsb2FkIGEgZGlzdHJpYnV0aW9uIHRvIGEgcHJvamVjdCBpbmRleC4iIiIKKworaW1wb3J0IG9zCitpbXBvcnQgc29ja2V0CitpbXBvcnQgbG9nZ2luZworaW1wb3J0IHBsYXRmb3JtCitpbXBvcnQgdXJsbGliLnBhcnNlCitmcm9tIGJhc2U2NCBpbXBvcnQgc3RhbmRhcmRfYjY0ZW5jb2RlCitmcm9tIGhhc2hsaWIgaW1wb3J0IG1kNQorZnJvbSB1cmxsaWIuZXJyb3IgaW1wb3J0IEhUVFBFcnJvcgorZnJvbSB1cmxsaWIucmVxdWVzdCBpbXBvcnQgdXJsb3BlbiwgUmVxdWVzdAorCitmcm9tIHBhY2thZ2luZyBpbXBvcnQgbG9nZ2VyCitmcm9tIHBhY2thZ2luZy5lcnJvcnMgaW1wb3J0IFBhY2thZ2luZ09wdGlvbkVycm9yCitmcm9tIHBhY2thZ2luZy51dGlsIGltcG9ydCAoc3Bhd24sIHJlYWRfcHlwaXJjLCBERUZBVUxUX1JFUE9TSVRPUlksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgREVGQVVMVF9SRUFMTSwgZW5jb2RlX211bHRpcGFydCkKK2Zyb20gcGFja2FnaW5nLmNvbW1hbmQuY21kIGltcG9ydCBDb21tYW5kCisKKworY2xhc3MgdXBsb2FkKENvbW1hbmQpOgorCisgICAgZGVzY3JpcHRpb24gPSAidXBsb2FkIGRpc3RyaWJ1dGlvbiB0byBQeVBJIgorCisgICAgdXNlcl9vcHRpb25zID0gWworICAgICAgICAoJ3JlcG9zaXRvcnk9JywgJ3InLAorICAgICAgICAgInJlcG9zaXRvcnkgVVJMIFtkZWZhdWx0OiAlc10iICUgREVGQVVMVF9SRVBPU0lUT1JZKSwKKyAgICAgICAgKCdzaG93LXJlc3BvbnNlJywgTm9uZSwKKyAgICAgICAgICJkaXNwbGF5IGZ1bGwgcmVzcG9uc2UgdGV4dCBmcm9tIHNlcnZlciIpLAorICAgICAgICAoJ3NpZ24nLCAncycsCisgICAgICAgICAic2lnbiBmaWxlcyB0byB1cGxvYWQgdXNpbmcgZ3BnIiksCisgICAgICAgICgnaWRlbnRpdHk9JywgJ2knLAorICAgICAgICAgIkdQRyBpZGVudGl0eSB1c2VkIHRvIHNpZ24gZmlsZXMiKSwKKyAgICAgICAgKCd1cGxvYWQtZG9jcycsIE5vbmUsCisgICAgICAgICAidXBsb2FkIGRvY3VtZW50YXRpb24gdG9vIiksCisgICAgICAgIF0KKworICAgIGJvb2xlYW5fb3B0aW9ucyA9IFsnc2hvdy1yZXNwb25zZScsICdzaWduJ10KKworICAgIGRlZiBpbml0aWFsaXplX29wdGlvbnMoc2VsZik6CisgICAgICAgIHNlbGYucmVwb3NpdG9yeSA9IE5vbmUKKyAgICAgICAgc2VsZi5yZWFsbSA9IE5vbmUKKyAgICAgICAgc2VsZi5zaG93X3Jlc3BvbnNlID0gRmFsc2UKKyAgICAgICAgc2VsZi51c2VybmFtZSA9ICcnCisgICAgICAgIHNlbGYucGFzc3dvcmQgPSAnJworICAgICAgICBzZWxmLnNob3dfcmVzcG9uc2UgPSBGYWxzZQorICAgICAgICBzZWxmLnNpZ24gPSBGYWxzZQorICAgICAgICBzZWxmLmlkZW50aXR5ID0gTm9uZQorICAgICAgICBzZWxmLnVwbG9hZF9kb2NzID0gRmFsc2UKKworICAgIGRlZiBmaW5hbGl6ZV9vcHRpb25zKHNlbGYpOgorICAgICAgICBpZiBzZWxmLnJlcG9zaXRvcnkgaXMgTm9uZToKKyAgICAgICAgICAgIHNlbGYucmVwb3NpdG9yeSA9IERFRkFVTFRfUkVQT1NJVE9SWQorICAgICAgICBpZiBzZWxmLnJlYWxtIGlzIE5vbmU6CisgICAgICAgICAgICBzZWxmLnJlYWxtID0gREVGQVVMVF9SRUFMTQorICAgICAgICBpZiBzZWxmLmlkZW50aXR5IGFuZCBub3Qgc2VsZi5zaWduOgorICAgICAgICAgICAgcmFpc2UgUGFja2FnaW5nT3B0aW9uRXJyb3IoCisgICAgICAgICAgICAgICAgIk11c3QgdXNlIC0tc2lnbiBmb3IgLS1pZGVudGl0eSB0byBoYXZlIG1lYW5pbmciKQorICAgICAgICBjb25maWcgPSByZWFkX3B5cGlyYyhzZWxmLnJlcG9zaXRvcnksIHNlbGYucmVhbG0pCisgICAgICAgIGlmIGNvbmZpZyAhPSB7fToKKyAgICAgICAgICAgIHNlbGYudXNlcm5hbWUgPSBjb25maWdbJ3VzZXJuYW1lJ10KKyAgICAgICAgICAgIHNlbGYucGFzc3dvcmQgPSBjb25maWdbJ3Bhc3N3b3JkJ10KKyAgICAgICAgICAgIHNlbGYucmVwb3NpdG9yeSA9IGNvbmZpZ1sncmVwb3NpdG9yeSddCisgICAgICAgICAgICBzZWxmLnJlYWxtID0gY29uZmlnWydyZWFsbSddCisKKyAgICAgICAgIyBnZXR0aW5nIHRoZSBwYXNzd29yZCBmcm9tIHRoZSBkaXN0cmlidXRpb24KKyAgICAgICAgIyBpZiBwcmV2aW91c2x5IHNldCBieSB0aGUgcmVnaXN0ZXIgY29tbWFuZAorICAgICAgICBpZiBub3Qgc2VsZi5wYXNzd29yZCBhbmQgc2VsZi5kaXN0cmlidXRpb24ucGFzc3dvcmQ6CisgICAgICAgICAgICBzZWxmLnBhc3N3b3JkID0gc2VsZi5kaXN0cmlidXRpb24ucGFzc3dvcmQKKworICAgIGRlZiBydW4oc2VsZik6CisgICAgICAgIGlmIG5vdCBzZWxmLmRpc3RyaWJ1dGlvbi5kaXN0X2ZpbGVzOgorICAgICAgICAgICAgcmFpc2UgUGFja2FnaW5nT3B0aW9uRXJyb3IoCisgICAgICAgICAgICAgICAgIk5vIGRpc3QgZmlsZSBjcmVhdGVkIGluIGVhcmxpZXIgY29tbWFuZCIpCisgICAgICAgIGZvciBjb21tYW5kLCBweXZlcnNpb24sIGZpbGVuYW1lIGluIHNlbGYuZGlzdHJpYnV0aW9uLmRpc3RfZmlsZXM6CisgICAgICAgICAgICBzZWxmLnVwbG9hZF9maWxlKGNvbW1hbmQsIHB5dmVyc2lvbiwgZmlsZW5hbWUpCisgICAgICAgIGlmIHNlbGYudXBsb2FkX2RvY3M6CisgICAgICAgICAgICB1cGxvYWRfZG9jcyA9IHNlbGYuZ2V0X2ZpbmFsaXplZF9jb21tYW5kKCJ1cGxvYWRfZG9jcyIpCisgICAgICAgICAgICB1cGxvYWRfZG9jcy5yZXBvc2l0b3J5ID0gc2VsZi5yZXBvc2l0b3J5CisgICAgICAgICAgICB1cGxvYWRfZG9jcy51c2VybmFtZSA9IHNlbGYudXNlcm5hbWUKKyAgICAgICAgICAgIHVwbG9hZF9kb2NzLnBhc3N3b3JkID0gc2VsZi5wYXNzd29yZAorICAgICAgICAgICAgdXBsb2FkX2RvY3MucnVuKCkKKworICAgICMgWFhYIHRvIGJlIHJlZmFjdG9yZWQgd2l0aCByZWdpc3Rlci5wb3N0X3RvX3NlcnZlcgorICAgIGRlZiB1cGxvYWRfZmlsZShzZWxmLCBjb21tYW5kLCBweXZlcnNpb24sIGZpbGVuYW1lKToKKyAgICAgICAgIyBNYWtlcyBzdXJlIHRoZSByZXBvc2l0b3J5IFVSTCBpcyBjb21wbGlhbnQKKyAgICAgICAgc2NoZW1lLCBuZXRsb2MsIHVybCwgcGFyYW1zLCBxdWVyeSwgZnJhZ21lbnRzID0gXAorICAgICAgICAgICAgdXJsbGliLnBhcnNlLnVybHBhcnNlKHNlbGYucmVwb3NpdG9yeSkKKyAgICAgICAgaWYgcGFyYW1zIG9yIHF1ZXJ5IG9yIGZyYWdtZW50czoKKyAgICAgICAgICAgIHJhaXNlIEFzc2VydGlvbkVycm9yKCJJbmNvbXBhdGlibGUgdXJsICVzIiAlIHNlbGYucmVwb3NpdG9yeSkKKworICAgICAgICBpZiBzY2hlbWUgbm90IGluICgnaHR0cCcsICdodHRwcycpOgorICAgICAgICAgICAgcmFpc2UgQXNzZXJ0aW9uRXJyb3IoInVuc3VwcG9ydGVkIHNjaGVtZSAiICsgc2NoZW1lKQorCisgICAgICAgICMgU2lnbiBpZiByZXF1ZXN0ZWQKKyAgICAgICAgaWYgc2VsZi5zaWduOgorICAgICAgICAgICAgZ3BnX2FyZ3MgPSBbImdwZyIsICItLWRldGFjaC1zaWduIiwgIi1hIiwgZmlsZW5hbWVdCisgICAgICAgICAgICBpZiBzZWxmLmlkZW50aXR5OgorICAgICAgICAgICAgICAgIGdwZ19hcmdzWzI6Ml0gPSBbIi0tbG9jYWwtdXNlciIsIHNlbGYuaWRlbnRpdHldCisgICAgICAgICAgICBzcGF3bihncGdfYXJncywKKyAgICAgICAgICAgICAgICAgIGRyeV9ydW49c2VsZi5kcnlfcnVuKQorCisgICAgICAgICMgRmlsbCBpbiB0aGUgZGF0YSAtIHNlbmQgYWxsIHRoZSBtZXRhZGF0YSBpbiBjYXNlIHdlIG5lZWQgdG8KKyAgICAgICAgIyByZWdpc3RlciBhIG5ldyByZWxlYXNlCisgICAgICAgIHdpdGggb3BlbihmaWxlbmFtZSwgJ3JiJykgYXMgZjoKKyAgICAgICAgICAgIGNvbnRlbnQgPSBmLnJlYWQoKQorCisgICAgICAgIGRhdGEgPSBzZWxmLmRpc3RyaWJ1dGlvbi5tZXRhZGF0YS50b2RpY3QoKQorCisgICAgICAgICMgZXh0cmEgdXBsb2FkIGluZm9zCisgICAgICAgIGRhdGFbJzphY3Rpb24nXSA9ICdmaWxlX3VwbG9hZCcKKyAgICAgICAgZGF0YVsncHJvdGNvbF92ZXJzaW9uJ10gPSAnMScKKyAgICAgICAgZGF0YVsnY29udGVudCddID0gKG9zLnBhdGguYmFzZW5hbWUoZmlsZW5hbWUpLCBjb250ZW50KQorICAgICAgICBkYXRhWydmaWxldHlwZSddID0gY29tbWFuZAorICAgICAgICBkYXRhWydweXZlcnNpb24nXSA9IHB5dmVyc2lvbgorICAgICAgICBkYXRhWydtZDVfZGlnZXN0J10gPSBtZDUoY29udGVudCkuaGV4ZGlnZXN0KCkKKworICAgICAgICBpZiBjb21tYW5kID09ICdiZGlzdF9kdW1iJzoKKyAgICAgICAgICAgIGRhdGFbJ2NvbW1lbnQnXSA9ICdidWlsdCBmb3IgJXMnICUgcGxhdGZvcm0ucGxhdGZvcm0odGVyc2U9VHJ1ZSkKKworICAgICAgICBpZiBzZWxmLnNpZ246CisgICAgICAgICAgICB3aXRoIG9wZW4oZmlsZW5hbWUgKyAnLmFzYycpIGFzIGZwOgorICAgICAgICAgICAgICAgIHNpZyA9IGZwLnJlYWQoKQorICAgICAgICAgICAgZGF0YVsnZ3BnX3NpZ25hdHVyZSddID0gWworICAgICAgICAgICAgICAgIChvcy5wYXRoLmJhc2VuYW1lKGZpbGVuYW1lKSArICIuYXNjIiwgc2lnKV0KKworICAgICAgICAjIHNldCB1cCB0aGUgYXV0aGVudGljYXRpb24KKyAgICAgICAgIyBUaGUgZXhhY3QgZW5jb2Rpbmcgb2YgdGhlIGF1dGhlbnRpY2F0aW9uIHN0cmluZyBpcyBkZWJhdGVkLgorICAgICAgICAjIEFueXdheSBQeVBJIG9ubHkgYWNjZXB0cyBhc2NpaSBmb3IgYm90aCB1c2VybmFtZSBvciBwYXNzd29yZC4KKyAgICAgICAgdXNlcl9wYXNzID0gKHNlbGYudXNlcm5hbWUgKyAiOiIgKyBzZWxmLnBhc3N3b3JkKS5lbmNvZGUoJ2FzY2lpJykKKyAgICAgICAgYXV0aCA9IGIiQmFzaWMgIiArIHN0YW5kYXJkX2I2NGVuY29kZSh1c2VyX3Bhc3MpCisKKyAgICAgICAgIyBCdWlsZCB1cCB0aGUgTUlNRSBwYXlsb2FkIGZvciB0aGUgUE9TVCBkYXRhCisgICAgICAgIGZpbGVzID0gW10KKyAgICAgICAgZm9yIGtleSBpbiAoJ2NvbnRlbnQnLCAnZ3BnX3NpZ25hdHVyZScpOgorICAgICAgICAgICAgaWYga2V5IGluIGRhdGE6CisgICAgICAgICAgICAgICAgZmlsZW5hbWVfLCB2YWx1ZSA9IGRhdGEucG9wKGtleSkKKyAgICAgICAgICAgICAgICBmaWxlcy5hcHBlbmQoKGtleSwgZmlsZW5hbWVfLCB2YWx1ZSkpCisKKyAgICAgICAgY29udGVudF90eXBlLCBib2R5ID0gZW5jb2RlX211bHRpcGFydChkYXRhLml0ZW1zKCksIGZpbGVzKQorCisgICAgICAgIGxvZ2dlci5pbmZvKCJTdWJtaXR0aW5nICVzIHRvICVzIiwgZmlsZW5hbWUsIHNlbGYucmVwb3NpdG9yeSkKKworICAgICAgICAjIGJ1aWxkIHRoZSBSZXF1ZXN0CisgICAgICAgIGhlYWRlcnMgPSB7J0NvbnRlbnQtdHlwZSc6IGNvbnRlbnRfdHlwZSwKKyAgICAgICAgICAgICAgICAgICAnQ29udGVudC1sZW5ndGgnOiBzdHIobGVuKGJvZHkpKSwKKyAgICAgICAgICAgICAgICAgICAnQXV0aG9yaXphdGlvbic6IGF1dGh9CisKKyAgICAgICAgcmVxdWVzdCA9IFJlcXVlc3Qoc2VsZi5yZXBvc2l0b3J5LCBib2R5LCBoZWFkZXJzKQorICAgICAgICAjIHNlbmQgdGhlIGRhdGEKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgcmVzdWx0ID0gdXJsb3BlbihyZXF1ZXN0KQorICAgICAgICAgICAgc3RhdHVzID0gcmVzdWx0LmNvZGUKKyAgICAgICAgICAgIHJlYXNvbiA9IHJlc3VsdC5tc2cKKyAgICAgICAgZXhjZXB0IHNvY2tldC5lcnJvciBhcyBlOgorICAgICAgICAgICAgbG9nZ2VyLmVycm9yKGUpCisgICAgICAgICAgICByZXR1cm4KKyAgICAgICAgZXhjZXB0IEhUVFBFcnJvciBhcyBlOgorICAgICAgICAgICAgc3RhdHVzID0gZS5jb2RlCisgICAgICAgICAgICByZWFzb24gPSBlLm1zZworCisgICAgICAgIGlmIHN0YXR1cyA9PSAyMDA6CisgICAgICAgICAgICBsb2dnZXIuaW5mbygnU2VydmVyIHJlc3BvbnNlICglcyk6ICVzJywgc3RhdHVzLCByZWFzb24pCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBsb2dnZXIuZXJyb3IoJ1VwbG9hZCBmYWlsZWQgKCVzKTogJXMnLCBzdGF0dXMsIHJlYXNvbikKKworICAgICAgICBpZiBzZWxmLnNob3dfcmVzcG9uc2UgYW5kIGxvZ2dlci5pc0VuYWJsZWRGb3IobG9nZ2luZy5JTkZPKToKKyAgICAgICAgICAgIHNlcCA9ICctJyAqIDc1CisgICAgICAgICAgICBsb2dnZXIuaW5mbygnJXNcbiVzXG4lcycsIHNlcCwgcmVzdWx0LnJlYWQoKS5kZWNvZGUoKSwgc2VwKQpkaWZmIC0tZ2l0IGEvTGliL3BhY2thZ2luZy9jb21tYW5kL3VwbG9hZF9kb2NzLnB5IGIvTGliL3BhY2thZ2luZy9jb21tYW5kL3VwbG9hZF9kb2NzLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMwZTM3YjUKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvcGFja2FnaW5nL2NvbW1hbmQvdXBsb2FkX2RvY3MucHkKQEAgLTAsMCArMSwxMzEgQEAKKyIiIlVwbG9hZCBIVE1MIGRvY3VtZW50YXRpb24gdG8gYSBwcm9qZWN0IGluZGV4LiIiIgorCitpbXBvcnQgb3MKK2ltcG9ydCBiYXNlNjQKK2ltcG9ydCBzb2NrZXQKK2ltcG9ydCB6aXBmaWxlCitpbXBvcnQgbG9nZ2luZworaW1wb3J0IGh0dHAuY2xpZW50CitpbXBvcnQgdXJsbGliLnBhcnNlCitmcm9tIGlvIGltcG9ydCBCeXRlc0lPCisKK2Zyb20gcGFja2FnaW5nIGltcG9ydCBsb2dnZXIKK2Zyb20gcGFja2FnaW5nLnV0aWwgaW1wb3J0IChyZWFkX3B5cGlyYywgREVGQVVMVF9SRVBPU0lUT1JZLCBERUZBVUxUX1JFQUxNLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuY29kZV9tdWx0aXBhcnQpCitmcm9tIHBhY2thZ2luZy5lcnJvcnMgaW1wb3J0IFBhY2thZ2luZ0ZpbGVFcnJvcgorZnJvbSBwYWNrYWdpbmcuY29tbWFuZC5jbWQgaW1wb3J0IENvbW1hbmQKKworCitkZWYgemlwX2RpcihkaXJlY3RvcnkpOgorICAgICIiIkNvbXByZXNzZXMgcmVjdXJzaXZlbHkgY29udGVudHMgb2YgZGlyZWN0b3J5IGludG8gYSBCeXRlc0lPIG9iamVjdCIiIgorICAgIGRlc3RpbmF0aW9uID0gQnl0ZXNJTygpCisgICAgd2l0aCB6aXBmaWxlLlppcEZpbGUoZGVzdGluYXRpb24sICJ3IikgYXMgemlwX2ZpbGU6CisgICAgICAgIGZvciByb290LCBkaXJzLCBmaWxlcyBpbiBvcy53YWxrKGRpcmVjdG9yeSk6CisgICAgICAgICAgICBmb3IgbmFtZSBpbiBmaWxlczoKKyAgICAgICAgICAgICAgICBmdWxsID0gb3MucGF0aC5qb2luKHJvb3QsIG5hbWUpCisgICAgICAgICAgICAgICAgcmVsYXRpdmUgPSByb290W2xlbihkaXJlY3RvcnkpOl0ubHN0cmlwKG9zLnBhdGguc2VwKQorICAgICAgICAgICAgICAgIGRlc3QgPSBvcy5wYXRoLmpvaW4ocmVsYXRpdmUsIG5hbWUpCisgICAgICAgICAgICAgICAgemlwX2ZpbGUud3JpdGUoZnVsbCwgZGVzdCkKKyAgICByZXR1cm4gZGVzdGluYXRpb24KKworCitjbGFzcyB1cGxvYWRfZG9jcyhDb21tYW5kKToKKworICAgIGRlc2NyaXB0aW9uID0gInVwbG9hZCBIVE1MIGRvY3VtZW50YXRpb24gdG8gUHlQSSIKKworICAgIHVzZXJfb3B0aW9ucyA9IFsKKyAgICAgICAgKCdyZXBvc2l0b3J5PScsICdyJywKKyAgICAgICAgICJyZXBvc2l0b3J5IFVSTCBbZGVmYXVsdDogJXNdIiAlIERFRkFVTFRfUkVQT1NJVE9SWSksCisgICAgICAgICgnc2hvdy1yZXNwb25zZScsIE5vbmUsCisgICAgICAgICAiZGlzcGxheSBmdWxsIHJlc3BvbnNlIHRleHQgZnJvbSBzZXJ2ZXIiKSwKKyAgICAgICAgKCd1cGxvYWQtZGlyPScsIE5vbmUsCisgICAgICAgICAiZGlyZWN0b3J5IHRvIHVwbG9hZCIpLAorICAgICAgICBdCisKKyAgICBkZWYgaW5pdGlhbGl6ZV9vcHRpb25zKHNlbGYpOgorICAgICAgICBzZWxmLnJlcG9zaXRvcnkgPSBOb25lCisgICAgICAgIHNlbGYucmVhbG0gPSBOb25lCisgICAgICAgIHNlbGYuc2hvd19yZXNwb25zZSA9IEZhbHNlCisgICAgICAgIHNlbGYudXBsb2FkX2RpciA9IE5vbmUKKyAgICAgICAgc2VsZi51c2VybmFtZSA9ICcnCisgICAgICAgIHNlbGYucGFzc3dvcmQgPSAnJworCisgICAgZGVmIGZpbmFsaXplX29wdGlvbnMoc2VsZik6CisgICAgICAgIGlmIHNlbGYucmVwb3NpdG9yeSBpcyBOb25lOgorICAgICAgICAgICAgc2VsZi5yZXBvc2l0b3J5ID0gREVGQVVMVF9SRVBPU0lUT1JZCisgICAgICAgIGlmIHNlbGYucmVhbG0gaXMgTm9uZToKKyAgICAgICAgICAgIHNlbGYucmVhbG0gPSBERUZBVUxUX1JFQUxNCisgICAgICAgIGlmIHNlbGYudXBsb2FkX2RpciBpcyBOb25lOgorICAgICAgICAgICAgYnVpbGQgPSBzZWxmLmdldF9maW5hbGl6ZWRfY29tbWFuZCgnYnVpbGQnKQorICAgICAgICAgICAgc2VsZi51cGxvYWRfZGlyID0gb3MucGF0aC5qb2luKGJ1aWxkLmJ1aWxkX2Jhc2UsICJkb2NzIikKKyAgICAgICAgICAgIGlmIG5vdCBvcy5wYXRoLmlzZGlyKHNlbGYudXBsb2FkX2Rpcik6CisgICAgICAgICAgICAgICAgc2VsZi51cGxvYWRfZGlyID0gb3MucGF0aC5qb2luKGJ1aWxkLmJ1aWxkX2Jhc2UsICJkb2MiKQorICAgICAgICBsb2dnZXIuaW5mbygnVXNpbmcgdXBsb2FkIGRpcmVjdG9yeSAlcycsIHNlbGYudXBsb2FkX2RpcikKKyAgICAgICAgc2VsZi52ZXJpZnlfdXBsb2FkX2RpcihzZWxmLnVwbG9hZF9kaXIpCisgICAgICAgIGNvbmZpZyA9IHJlYWRfcHlwaXJjKHNlbGYucmVwb3NpdG9yeSwgc2VsZi5yZWFsbSkKKyAgICAgICAgaWYgY29uZmlnICE9IHt9OgorICAgICAgICAgICAgc2VsZi51c2VybmFtZSA9IGNvbmZpZ1sndXNlcm5hbWUnXQorICAgICAgICAgICAgc2VsZi5wYXNzd29yZCA9IGNvbmZpZ1sncGFzc3dvcmQnXQorICAgICAgICAgICAgc2VsZi5yZXBvc2l0b3J5ID0gY29uZmlnWydyZXBvc2l0b3J5J10KKyAgICAgICAgICAgIHNlbGYucmVhbG0gPSBjb25maWdbJ3JlYWxtJ10KKworICAgIGRlZiB2ZXJpZnlfdXBsb2FkX2RpcihzZWxmLCB1cGxvYWRfZGlyKToKKyAgICAgICAgc2VsZi5lbnN1cmVfZGlybmFtZSgndXBsb2FkX2RpcicpCisgICAgICAgIGluZGV4X2xvY2F0aW9uID0gb3MucGF0aC5qb2luKHVwbG9hZF9kaXIsICJpbmRleC5odG1sIikKKyAgICAgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKGluZGV4X2xvY2F0aW9uKToKKyAgICAgICAgICAgIG1lc2cgPSAiTm8gJ2luZGV4Lmh0bWwgZm91bmQgaW4gZG9jcyBkaXJlY3RvcnkgKCVzKSIKKyAgICAgICAgICAgIHJhaXNlIFBhY2thZ2luZ0ZpbGVFcnJvcihtZXNnICUgdXBsb2FkX2RpcikKKworICAgIGRlZiBydW4oc2VsZik6CisgICAgICAgIG5hbWUgPSBzZWxmLmRpc3RyaWJ1dGlvbi5tZXRhZGF0YVsnTmFtZSddCisgICAgICAgIHZlcnNpb24gPSBzZWxmLmRpc3RyaWJ1dGlvbi5tZXRhZGF0YVsnVmVyc2lvbiddCisgICAgICAgIHppcF9maWxlID0gemlwX2RpcihzZWxmLnVwbG9hZF9kaXIpCisKKyAgICAgICAgZmllbGRzID0gWygnOmFjdGlvbicsICdkb2NfdXBsb2FkJyksCisgICAgICAgICAgICAgICAgICAoJ25hbWUnLCBuYW1lKSwgKCd2ZXJzaW9uJywgdmVyc2lvbildCisgICAgICAgIGZpbGVzID0gWygnY29udGVudCcsIG5hbWUsIHppcF9maWxlLmdldHZhbHVlKCkpXQorICAgICAgICBjb250ZW50X3R5cGUsIGJvZHkgPSBlbmNvZGVfbXVsdGlwYXJ0KGZpZWxkcywgZmlsZXMpCisKKyAgICAgICAgY3JlZGVudGlhbHMgPSBzZWxmLnVzZXJuYW1lICsgJzonICsgc2VsZi5wYXNzd29yZAorICAgICAgICAjIEZJWE1FIHNob3VsZCB1c2UgZXhwbGljaXQgZW5jb2RpbmcKKyAgICAgICAgYXV0aCA9IGIiQmFzaWMgIiArIGJhc2U2NC5lbmNvZGVieXRlcyhjcmVkZW50aWFscy5lbmNvZGUoKSkuc3RyaXAoKQorCisgICAgICAgIGxvZ2dlci5pbmZvKCJTdWJtaXR0aW5nIGRvY3VtZW50YXRpb24gdG8gJXMiLCBzZWxmLnJlcG9zaXRvcnkpCisKKyAgICAgICAgc2NoZW1lLCBuZXRsb2MsIHVybCwgcGFyYW1zLCBxdWVyeSwgZnJhZ21lbnRzID0gdXJsbGliLnBhcnNlLnVybHBhcnNlKAorICAgICAgICAgICAgc2VsZi5yZXBvc2l0b3J5KQorICAgICAgICBpZiBzY2hlbWUgPT0gImh0dHAiOgorICAgICAgICAgICAgY29ubiA9IGh0dHAuY2xpZW50LkhUVFBDb25uZWN0aW9uKG5ldGxvYykKKyAgICAgICAgZWxpZiBzY2hlbWUgPT0gImh0dHBzIjoKKyAgICAgICAgICAgIGNvbm4gPSBodHRwLmNsaWVudC5IVFRQU0Nvbm5lY3Rpb24obmV0bG9jKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmFpc2UgQXNzZXJ0aW9uRXJyb3IoInVuc3VwcG9ydGVkIHNjaGVtZSAlciIgJSBzY2hlbWUpCisKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgY29ubi5jb25uZWN0KCkKKyAgICAgICAgICAgIGNvbm4ucHV0cmVxdWVzdCgiUE9TVCIsIHVybCkKKyAgICAgICAgICAgIGNvbm4ucHV0aGVhZGVyKCdDb250ZW50LXR5cGUnLCBjb250ZW50X3R5cGUpCisgICAgICAgICAgICBjb25uLnB1dGhlYWRlcignQ29udGVudC1sZW5ndGgnLCBzdHIobGVuKGJvZHkpKSkKKyAgICAgICAgICAgIGNvbm4ucHV0aGVhZGVyKCdBdXRob3JpemF0aW9uJywgYXV0aCkKKyAgICAgICAgICAgIGNvbm4uZW5kaGVhZGVycygpCisgICAgICAgICAgICBjb25uLnNlbmQoYm9keSkKKworICAgICAgICBleGNlcHQgc29ja2V0LmVycm9yIGFzIGU6CisgICAgICAgICAgICBsb2dnZXIuZXJyb3IoZSkKKyAgICAgICAgICAgIHJldHVybgorCisgICAgICAgIHIgPSBjb25uLmdldHJlc3BvbnNlKCkKKworICAgICAgICBpZiByLnN0YXR1cyA9PSAyMDA6CisgICAgICAgICAgICBsb2dnZXIuaW5mbygnU2VydmVyIHJlc3BvbnNlICglcyk6ICVzJywgci5zdGF0dXMsIHIucmVhc29uKQorICAgICAgICBlbGlmIHIuc3RhdHVzID09IDMwMToKKyAgICAgICAgICAgIGxvY2F0aW9uID0gci5nZXRoZWFkZXIoJ0xvY2F0aW9uJykKKyAgICAgICAgICAgIGlmIGxvY2F0aW9uIGlzIE5vbmU6CisgICAgICAgICAgICAgICAgbG9jYXRpb24gPSAnaHR0cDovL3BhY2thZ2VzLnB5dGhvbi5vcmcvJXMvJyAlIG5hbWUKKyAgICAgICAgICAgIGxvZ2dlci5pbmZvKCdVcGxvYWQgc3VjY2Vzc2Z1bC4gVmlzaXQgJXMnLCBsb2NhdGlvbikKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGxvZ2dlci5lcnJvcignVXBsb2FkIGZhaWxlZCAoJXMpOiAlcycsIHIuc3RhdHVzLCByLnJlYXNvbikKKworICAgICAgICBpZiBzZWxmLnNob3dfcmVzcG9uc2UgYW5kIGxvZ2dlci5pc0VuYWJsZWRGb3IobG9nZ2luZy5JTkZPKToKKyAgICAgICAgICAgIHNlcCA9ICctJyAqIDc1CisgICAgICAgICAgICBsb2dnZXIuaW5mbygnJXNcbiVzXG4lcycsIHNlcCwgci5yZWFkKCkuZGVjb2RlKCd1dGYtOCcpLCBzZXApCmRpZmYgLS1naXQgYS9MaWIvcGFja2FnaW5nL2NvbW1hbmQvd2luaW5zdC0xMC4wLWFtZDY0LmV4ZSBiL0xpYi9wYWNrYWdpbmcvY29tbWFuZC93aW5pbnN0LTEwLjAtYW1kNjQuZXhlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjExZjk4Y2QKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvcGFja2FnaW5nL2NvbW1hbmQvd2luaW5zdC0xMC4wLWFtZDY0LmV4ZQpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9MaWIvcGFja2FnaW5nL2NvbW1hbmQvd2luaW5zdC0xMC4wLmV4ZSBiL0xpYi9wYWNrYWdpbmcvY29tbWFuZC93aW5pbnN0LTEwLjAuZXhlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhhYzZlMTkKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvcGFja2FnaW5nL2NvbW1hbmQvd2luaW5zdC0xMC4wLmV4ZQpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9MaWIvcGFja2FnaW5nL2NvbW1hbmQvd2luaW5zdC02LjAuZXhlIGIvTGliL3BhY2thZ2luZy9jb21tYW5kL3dpbmluc3QtNi4wLmV4ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNTdjODU1Ci0tLSAvZGV2L251bGwKKysrIGIvTGliL3BhY2thZ2luZy9jb21tYW5kL3dpbmluc3QtNi4wLmV4ZQpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9MaWIvcGFja2FnaW5nL2NvbW1hbmQvd2luaW5zdC03LjEuZXhlIGIvTGliL3BhY2thZ2luZy9jb21tYW5kL3dpbmluc3QtNy4xLmV4ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNDMzYmMxCi0tLSAvZGV2L251bGwKKysrIGIvTGliL3BhY2thZ2luZy9jb21tYW5kL3dpbmluc3QtNy4xLmV4ZQpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9MaWIvcGFja2FnaW5nL2NvbW1hbmQvd2luaW5zdC04LjAuZXhlIGIvTGliL3BhY2thZ2luZy9jb21tYW5kL3dpbmluc3QtOC4wLmV4ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NDAzYmZhCi0tLSAvZGV2L251bGwKKysrIGIvTGliL3BhY2thZ2luZy9jb21tYW5kL3dpbmluc3QtOC4wLmV4ZQpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9MaWIvcGFja2FnaW5nL2NvbW1hbmQvd2luaW5zdC05LjAtYW1kNjQuZXhlIGIvTGliL3BhY2thZ2luZy9jb21tYW5kL3dpbmluc3QtOS4wLWFtZDY0LmV4ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMWQ4MDExCi0tLSAvZGV2L251bGwKKysrIGIvTGliL3BhY2thZ2luZy9jb21tYW5kL3dpbmluc3QtOS4wLWFtZDY0LmV4ZQpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9MaWIvcGFja2FnaW5nL2NvbW1hbmQvd2luaW5zdC05LjAuZXhlIGIvTGliL3BhY2thZ2luZy9jb21tYW5kL3dpbmluc3QtOS4wLmV4ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYWRiMzFkCi0tLSAvZGV2L251bGwKKysrIGIvTGliL3BhY2thZ2luZy9jb21tYW5kL3dpbmluc3QtOS4wLmV4ZQpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9MaWIvcGFja2FnaW5nL2NvbXBhdC5weSBiL0xpYi9wYWNrYWdpbmcvY29tcGF0LnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJmY2U5MmQKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvcGFja2FnaW5nL2NvbXBhdC5weQpAQCAtMCwwICsxLDUwIEBACisiIiJTdXBwb3J0IGZvciBidWlsZC10aW1lIDJ0bzMgY29udmVyc2lvbi4iIiIKKworZnJvbSBwYWNrYWdpbmcgaW1wb3J0IGxvZ2dlcgorCisKKyMgWFhYIEhhdmluZyB0d28gY2xhc3NlcyB3aXRoIHRoZSBzYW1lIG5hbWUgaXMgbm90IGEgZ29vZCB0aGluZy4KKyMgWFhYIDJ0bzMtcmVsYXRlZCBjb2RlIHNob3VsZCBtb3ZlIGZyb20gdXRpbCB0byB0aGlzIG1vZHVsZQorCit0cnk6CisgICAgZnJvbSBwYWNrYWdpbmcudXRpbCBpbXBvcnQgTWl4aW4ydG8zIGFzIF9NaXhpbjJ0bzMKKyAgICBfQ09OVkVSVCA9IFRydWUKKyAgICBfS0xBU1MgPSBfTWl4aW4ydG8zCitleGNlcHQgSW1wb3J0RXJyb3I6CisgICAgX0NPTlZFUlQgPSBGYWxzZQorICAgIF9LTEFTUyA9IG9iamVjdAorCitfX2FsbF9fID0gWydNaXhpbjJ0bzMnXQorCisKK2NsYXNzIE1peGluMnRvMyhfS0xBU1MpOgorICAgICIiIiBUaGUgYmFzZSBjbGFzcyB3aGljaCBjYW4gYmUgdXNlZCBmb3IgcmVmYWN0b3JpbmcuIFdoZW4gcnVuIHVuZGVyCisgICAgUHl0aG9uIDMuMCwgdGhlIHJ1bl8ydG8zIG1ldGhvZCBwcm92aWRlZCBieSBNaXhpbjJ0bzMgaXMgb3ZlcnJpZGRlbi4KKyAgICBXaGVuIHJ1biBvbiBQeXRob24gMi54LCBpdCBtZXJlbHkgY3JlYXRlcyBhIGNsYXNzIHdoaWNoIG92ZXJyaWRlcyBydW5fMnRvMywKKyAgICB5ZXQgZG9lcyBub3RoaW5nIGluIHBhcnRpY3VsYXIgd2l0aCBpdC4KKyAgICAiIiIKKyAgICBpZiBfQ09OVkVSVDoKKworICAgICAgICBkZWYgX3J1bl8ydG8zKHNlbGYsIGZpbGVzPVtdLCBkb2N0ZXN0cz1bXSwgZml4ZXJzPVtdKToKKyAgICAgICAgICAgICIiIiBUYWtlcyBhIGxpc3Qgb2YgZmlsZXMgYW5kIGRvY3Rlc3RzLCBhbmQgcGVyZm9ybXMgY29udmVyc2lvbgorICAgICAgICAgICAgb24gdGhvc2UuCisgICAgICAgICAgICAgIC0gRmlyc3QsIHRoZSBmaWxlcyB3aGljaCBjb250YWluIHRoZSBjb2RlKGBmaWxlc2ApIGFyZSBjb252ZXJ0ZWQuCisgICAgICAgICAgICAgIC0gU2Vjb25kLCB0aGUgZG9jdGVzdHMgaW4gYGZpbGVzYCBhcmUgY29udmVydGVkLgorICAgICAgICAgICAgICAtIFRoaXJkbHksIHRoZSBkb2N0ZXN0cyBpbiBgZG9jdGVzdHNgIGFyZSBjb252ZXJ0ZWQuCisgICAgICAgICAgICAiIiIKKyAgICAgICAgICAgIGlmIGZpeGVyczoKKyAgICAgICAgICAgICAgICBzZWxmLmZpeGVyX25hbWVzID0gZml4ZXJzCisKKyAgICAgICAgICAgIGlmIGZpbGVzOgorICAgICAgICAgICAgICAgIGxvZ2dlci5pbmZvKCdjb252ZXJ0aW5nIFB5dGhvbiBjb2RlIGFuZCBkb2N0ZXN0cycpCisgICAgICAgICAgICAgICAgX0tMQVNTLnJ1bl8ydG8zKHNlbGYsIGZpbGVzKQorICAgICAgICAgICAgICAgIF9LTEFTUy5ydW5fMnRvMyhzZWxmLCBmaWxlcywgZG9jdGVzdHNfb25seT1UcnVlKQorCisgICAgICAgICAgICBpZiBkb2N0ZXN0czoKKyAgICAgICAgICAgICAgICBsb2dnZXIuaW5mbygnY29udmVydGluZyBkb2N0ZXN0cyBpbiB0ZXh0IGZpbGVzJykKKyAgICAgICAgICAgICAgICBfS0xBU1MucnVuXzJ0bzMoc2VsZiwgZG9jdGVzdHMsIGRvY3Rlc3RzX29ubHk9VHJ1ZSkKKyAgICBlbHNlOgorICAgICAgICAjIElmIHJ1biBvbiBQeXRob24gMi54LCB0aGVyZSBpcyBub3RoaW5nIHRvIGRvLgorCisgICAgICAgIGRlZiBfcnVuXzJ0bzMoc2VsZiwgZmlsZXM9W10sIGRvY3Rlc3RzPVtdLCBmaXhlcnM9W10pOgorICAgICAgICAgICAgcGFzcwpkaWZmIC0tZ2l0IGEvTGliL3BhY2thZ2luZy9jb21waWxlci9fX2luaXRfXy5weSBiL0xpYi9wYWNrYWdpbmcvY29tcGlsZXIvX19pbml0X18ucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDhlMDJjZQotLS0gL2Rldi9udWxsCisrKyBiL0xpYi9wYWNrYWdpbmcvY29tcGlsZXIvX19pbml0X18ucHkKQEAgLTAsMCArMSwyNzQgQEAKKyIiIkNvbXBpbGVyIGFic3RyYWN0aW9uIG1vZGVsIHVzZWQgYnkgcGFja2FnaW5nLgorCitBbiBhYnN0cmFjdCBiYXNlIGNsYXNzIGlzIGRlZmluZWQgaW4gdGhlIGNjb21waWxlciBzdWJtb2R1bGUsIGFuZAorY29uY3JldGUgaW1wbGVtZW50YXRpb25zIHN1aXRhYmxlIGZvciB2YXJpb3VzIHBsYXRmb3JtcyBhcmUgZGVmaW5lZCBpbgordGhlIG90aGVyIHN1Ym1vZHVsZXMuICBUaGUgZXh0ZW5zaW9uIG1vZHVsZSBpcyBhbHNvIHBsYWNlZCBpbiB0aGlzCitwYWNrYWdlLgorCitJbiBnZW5lcmFsLCBjb2RlIHNob3VsZCBub3QgaW5zdGFudGlhdGUgY29tcGlsZXIgY2xhc3NlcyBkaXJlY3RseSBidXQKK3VzZSB0aGUgbmV3X2NvbXBpbGVyIGFuZCBjdXN0b21pemVfY29tcGlsZXIgZnVuY3Rpb25zIHByb3ZpZGVkIGluIHRoaXMKK21vZHVsZS4KKworVGhlIGNvbXBpbGVyIHN5c3RlbSBoYXMgYSByZWdpc3RyYXRpb24gQVBJOiBnZXRfZGVmYXVsdF9jb21waWxlciwKK3NldF9jb21waWxlciwgc2hvd19jb21waWxlcnMuCisiIiIKKworaW1wb3J0IG9zCitpbXBvcnQgc3lzCitpbXBvcnQgcmUKK2ltcG9ydCBzeXNjb25maWcKKworZnJvbSBwYWNrYWdpbmcudXRpbCBpbXBvcnQgcmVzb2x2ZV9uYW1lCitmcm9tIHBhY2thZ2luZy5lcnJvcnMgaW1wb3J0IFBhY2thZ2luZ1BsYXRmb3JtRXJyb3IKK2Zyb20gcGFja2FnaW5nIGltcG9ydCBsb2dnZXIKKworZGVmIGN1c3RvbWl6ZV9jb21waWxlcihjb21waWxlcik6CisgICAgIiIiRG8gYW55IHBsYXRmb3JtLXNwZWNpZmljIGN1c3RvbWl6YXRpb24gb2YgYSBDQ29tcGlsZXIgaW5zdGFuY2UuCisKKyAgICBNYWlubHkgbmVlZGVkIG9uIFVuaXgsIHNvIHdlIGNhbiBwbHVnIGluIHRoZSBpbmZvcm1hdGlvbiB0aGF0CisgICAgdmFyaWVzIGFjcm9zcyBVbmljZXMgYW5kIGlzIHN0b3JlZCBpbiBQeXRob24ncyBNYWtlZmlsZS4KKyAgICAiIiIKKyAgICBpZiBjb21waWxlci5uYW1lID09ICJ1bml4IjoKKyAgICAgICAgY2MsIGN4eCwgb3B0LCBjZmxhZ3MsIGNjc2hhcmVkLCBsZHNoYXJlZCwgc29fZXh0LCBhciwgYXJfZmxhZ3MgPSAoCisgICAgICAgICAgICBzeXNjb25maWcuZ2V0X2NvbmZpZ192YXJzKCdDQycsICdDWFgnLCAnT1BUJywgJ0NGTEFHUycsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDQ1NIQVJFRCcsICdMRFNIQVJFRCcsICdTTycsICdBUicsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBUkZMQUdTJykpCisKKyAgICAgICAgaWYgJ0NDJyBpbiBvcy5lbnZpcm9uOgorICAgICAgICAgICAgY2MgPSBvcy5lbnZpcm9uWydDQyddCisgICAgICAgIGlmICdDWFgnIGluIG9zLmVudmlyb246CisgICAgICAgICAgICBjeHggPSBvcy5lbnZpcm9uWydDWFgnXQorICAgICAgICBpZiAnTERTSEFSRUQnIGluIG9zLmVudmlyb246CisgICAgICAgICAgICBsZHNoYXJlZCA9IG9zLmVudmlyb25bJ0xEU0hBUkVEJ10KKyAgICAgICAgaWYgJ0NQUCcgaW4gb3MuZW52aXJvbjoKKyAgICAgICAgICAgIGNwcCA9IG9zLmVudmlyb25bJ0NQUCddCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBjcHAgPSBjYyArICIgLUUiICAgICAgICAgICAjIG5vdCBhbHdheXMKKyAgICAgICAgaWYgJ0xERkxBR1MnIGluIG9zLmVudmlyb246CisgICAgICAgICAgICBsZHNoYXJlZCA9IGxkc2hhcmVkICsgJyAnICsgb3MuZW52aXJvblsnTERGTEFHUyddCisgICAgICAgIGlmICdDRkxBR1MnIGluIG9zLmVudmlyb246CisgICAgICAgICAgICBjZmxhZ3MgPSBvcHQgKyAnICcgKyBvcy5lbnZpcm9uWydDRkxBR1MnXQorICAgICAgICAgICAgbGRzaGFyZWQgPSBsZHNoYXJlZCArICcgJyArIG9zLmVudmlyb25bJ0NGTEFHUyddCisgICAgICAgIGlmICdDUFBGTEFHUycgaW4gb3MuZW52aXJvbjoKKyAgICAgICAgICAgIGNwcCA9IGNwcCArICcgJyArIG9zLmVudmlyb25bJ0NQUEZMQUdTJ10KKyAgICAgICAgICAgIGNmbGFncyA9IGNmbGFncyArICcgJyArIG9zLmVudmlyb25bJ0NQUEZMQUdTJ10KKyAgICAgICAgICAgIGxkc2hhcmVkID0gbGRzaGFyZWQgKyAnICcgKyBvcy5lbnZpcm9uWydDUFBGTEFHUyddCisgICAgICAgIGlmICdBUicgaW4gb3MuZW52aXJvbjoKKyAgICAgICAgICAgIGFyID0gb3MuZW52aXJvblsnQVInXQorICAgICAgICBpZiAnQVJGTEFHUycgaW4gb3MuZW52aXJvbjoKKyAgICAgICAgICAgIGFyY2hpdmVyID0gYXIgKyAnICcgKyBvcy5lbnZpcm9uWydBUkZMQUdTJ10KKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGlmIGFyX2ZsYWdzIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgICAgIGFyY2hpdmVyID0gYXIgKyAnICcgKyBhcl9mbGFncworICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAjIHNlZSBpZiBpdHMgdGhlIHByb3BlciBkZWZhdWx0IHZhbHVlCisgICAgICAgICAgICAgICAgIyBtbW0gSSBkb24ndCB3YW50IHRvIGJhY2twb3J0IHRoZSBtYWtlZmlsZQorICAgICAgICAgICAgICAgIGFyY2hpdmVyID0gYXIgKyAnIHJjJworCisgICAgICAgIGNjX2NtZCA9IGNjICsgJyAnICsgY2ZsYWdzCisgICAgICAgIGNvbXBpbGVyLnNldF9leGVjdXRhYmxlcygKKyAgICAgICAgICAgIHByZXByb2Nlc3Nvcj1jcHAsCisgICAgICAgICAgICBjb21waWxlcj1jY19jbWQsCisgICAgICAgICAgICBjb21waWxlcl9zbz1jY19jbWQgKyAnICcgKyBjY3NoYXJlZCwKKyAgICAgICAgICAgIGNvbXBpbGVyX2N4eD1jeHgsCisgICAgICAgICAgICBsaW5rZXJfc289bGRzaGFyZWQsCisgICAgICAgICAgICBsaW5rZXJfZXhlPWNjLAorICAgICAgICAgICAgYXJjaGl2ZXI9YXJjaGl2ZXIpCisKKyAgICAgICAgY29tcGlsZXIuc2hhcmVkX2xpYl9leHRlbnNpb24gPSBzb19leHQKKworCisjIE1hcCBhIHN5cy5wbGF0Zm9ybS9vcy5uYW1lICgncG9zaXgnLCAnbnQnKSB0byB0aGUgZGVmYXVsdCBjb21waWxlcgorIyB0eXBlIGZvciB0aGF0IHBsYXRmb3JtLiBLZXlzIGFyZSBpbnRlcnByZXRlZCBhcyByZSBtYXRjaAorIyBwYXR0ZXJucy4gT3JkZXIgaXMgaW1wb3J0YW50OyBwbGF0Zm9ybSBtYXBwaW5ncyBhcmUgcHJlZmVycmVkIG92ZXIKKyMgT1MgbmFtZXMuCitfZGVmYXVsdF9jb21waWxlcnMgPSAoCisgICAgIyBQbGF0Zm9ybSBzdHJpbmcgbWFwcGluZ3MKKworICAgICMgb24gYSBjeWd3aW4gYnVpbHQgcHl0aG9uIHdlIGNhbiB1c2UgZ2NjIGxpa2UgYW4gb3JkaW5hcnkgVU5JWGlzaAorICAgICMgY29tcGlsZXIKKyAgICAoJ2N5Z3dpbi4qJywgJ3VuaXgnKSwKKworICAgICMgT1MgbmFtZSBtYXBwaW5ncworICAgICgncG9zaXgnLCAndW5peCcpLAorICAgICgnbnQnLCAnbXN2YycpLAorKQorCitkZWYgZ2V0X2RlZmF1bHRfY29tcGlsZXIob3NuYW1lPU5vbmUsIHBsYXRmb3JtPU5vbmUpOgorICAgICIiIiBEZXRlcm1pbmUgdGhlIGRlZmF1bHQgY29tcGlsZXIgdG8gdXNlIGZvciB0aGUgZ2l2ZW4gcGxhdGZvcm0uCisKKyAgICAgICAgb3NuYW1lIHNob3VsZCBiZSBvbmUgb2YgdGhlIHN0YW5kYXJkIFB5dGhvbiBPUyBuYW1lcyAoaS5lLiB0aGUKKyAgICAgICAgb25lcyByZXR1cm5lZCBieSBvcy5uYW1lKSBhbmQgcGxhdGZvcm0gdGhlIGNvbW1vbiB2YWx1ZQorICAgICAgICByZXR1cm5lZCBieSBzeXMucGxhdGZvcm0gZm9yIHRoZSBwbGF0Zm9ybSBpbiBxdWVzdGlvbi4KKworICAgICAgICBUaGUgZGVmYXVsdCB2YWx1ZXMgYXJlIG9zLm5hbWUgYW5kIHN5cy5wbGF0Zm9ybSBpbiBjYXNlIHRoZQorICAgICAgICBwYXJhbWV0ZXJzIGFyZSBub3QgZ2l2ZW4uCisKKyAgICAiIiIKKyAgICBpZiBvc25hbWUgaXMgTm9uZToKKyAgICAgICAgb3NuYW1lID0gb3MubmFtZQorICAgIGlmIHBsYXRmb3JtIGlzIE5vbmU6CisgICAgICAgIHBsYXRmb3JtID0gc3lzLnBsYXRmb3JtCisgICAgZm9yIHBhdHRlcm4sIGNvbXBpbGVyIGluIF9kZWZhdWx0X2NvbXBpbGVyczoKKyAgICAgICAgaWYgcmUubWF0Y2gocGF0dGVybiwgcGxhdGZvcm0pIGlzIG5vdCBOb25lIG9yIFwKKyAgICAgICAgICAgcmUubWF0Y2gocGF0dGVybiwgb3NuYW1lKSBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIHJldHVybiBjb21waWxlcgorICAgICMgRGVmYXVsdHMgdG8gVW5peCBjb21waWxlcgorICAgIHJldHVybiAndW5peCcKKworCisjIGNvbXBpbGVyIG1hcHBpbmcKKyMgWFhYIHVzZWZ1bCB0byBleHBvc2UgdGhlbT8gKGkuZS4gZ2V0X2NvbXBpbGVyX25hbWVzKQorX0NPTVBJTEVSUyA9IHsKKyAgICAndW5peCc6ICdwYWNrYWdpbmcuY29tcGlsZXIudW5peGNjb21waWxlci5Vbml4Q0NvbXBpbGVyJywKKyAgICAnbXN2Yyc6ICdwYWNrYWdpbmcuY29tcGlsZXIubXN2Y2NvbXBpbGVyLk1TVkNDb21waWxlcicsCisgICAgJ2N5Z3dpbic6ICdwYWNrYWdpbmcuY29tcGlsZXIuY3lnd2luY2NvbXBpbGVyLkN5Z3dpbkNDb21waWxlcicsCisgICAgJ21pbmd3MzInOiAncGFja2FnaW5nLmNvbXBpbGVyLmN5Z3dpbmNjb21waWxlci5NaW5ndzMyQ0NvbXBpbGVyJywKKyAgICAnYmNwcCc6ICdwYWNrYWdpbmcuY29tcGlsZXIuYmNwcGNvbXBpbGVyLkJDUFBDb21waWxlcicsCit9CisKK2RlZiBzZXRfY29tcGlsZXIobG9jYXRpb24pOgorICAgICIiIkFkZCBvciBjaGFuZ2UgYSBjb21waWxlciIiIgorICAgIGNscyA9IHJlc29sdmVfbmFtZShsb2NhdGlvbikKKyAgICAjIFhYWCB3ZSB3YW50IHRvIGNoZWNrIHRoZSBjbGFzcyBoZXJlCisgICAgX0NPTVBJTEVSU1tjbHMubmFtZV0gPSBjbHMKKworCitkZWYgc2hvd19jb21waWxlcnMoKToKKyAgICAiIiJQcmludCBsaXN0IG9mIGF2YWlsYWJsZSBjb21waWxlcnMgKHVzZWQgYnkgdGhlICItLWhlbHAtY29tcGlsZXIiCisgICAgb3B0aW9ucyB0byAiYnVpbGQiLCAiYnVpbGRfZXh0IiwgImJ1aWxkX2NsaWIiKS4KKyAgICAiIiIKKyAgICBmcm9tIHBhY2thZ2luZy5mYW5jeV9nZXRvcHQgaW1wb3J0IEZhbmN5R2V0b3B0CisgICAgY29tcGlsZXJzID0gW10KKworICAgIGZvciBuYW1lLCBjbHMgaW4gX0NPTVBJTEVSUy5pdGVtcygpOgorICAgICAgICBpZiBpc2luc3RhbmNlKGNscywgc3RyKToKKyAgICAgICAgICAgIGNscyA9IHJlc29sdmVfbmFtZShjbHMpCisgICAgICAgICAgICBfQ09NUElMRVJTW25hbWVdID0gY2xzCisKKyAgICAgICAgY29tcGlsZXJzLmFwcGVuZCgoImNvbXBpbGVyPSIgKyBuYW1lLCBOb25lLCBjbHMuZGVzY3JpcHRpb24pKQorCisgICAgY29tcGlsZXJzLnNvcnQoKQorICAgIHByZXR0eV9wcmludGVyID0gRmFuY3lHZXRvcHQoY29tcGlsZXJzKQorICAgIHByZXR0eV9wcmludGVyLnByaW50X2hlbHAoIkxpc3Qgb2YgYXZhaWxhYmxlIGNvbXBpbGVyczoiKQorCisKK2RlZiBuZXdfY29tcGlsZXIocGxhdD1Ob25lLCBjb21waWxlcj1Ob25lLCBkcnlfcnVuPUZhbHNlLCBmb3JjZT1GYWxzZSk6CisgICAgIiIiR2VuZXJhdGUgYW4gaW5zdGFuY2Ugb2Ygc29tZSBDQ29tcGlsZXIgc3ViY2xhc3MgZm9yIHRoZSBzdXBwbGllZAorICAgIHBsYXRmb3JtL2NvbXBpbGVyIGNvbWJpbmF0aW9uLiAgJ3BsYXQnIGRlZmF1bHRzIHRvICdvcy5uYW1lJworICAgIChlZy4gJ3Bvc2l4JywgJ250JyksIGFuZCAnY29tcGlsZXInIGRlZmF1bHRzIHRvIHRoZSBkZWZhdWx0IGNvbXBpbGVyCisgICAgZm9yIHRoYXQgcGxhdGZvcm0uICBDdXJyZW50bHkgb25seSAncG9zaXgnIGFuZCAnbnQnIGFyZSBzdXBwb3J0ZWQsIGFuZAorICAgIHRoZSBkZWZhdWx0IGNvbXBpbGVycyBhcmUgInRyYWRpdGlvbmFsIFVuaXggaW50ZXJmYWNlIiAoVW5peENDb21waWxlcgorICAgIGNsYXNzKSBhbmQgVmlzdWFsIEMrKyAoTVNWQ0NvbXBpbGVyIGNsYXNzKS4gIE5vdGUgdGhhdCBpdCdzIHBlcmZlY3RseQorICAgIHBvc3NpYmxlIHRvIGFzayBmb3IgYSBVbml4IGNvbXBpbGVyIG9iamVjdCB1bmRlciBXaW5kb3dzLCBhbmQgYQorICAgIE1pY3Jvc29mdCBjb21waWxlciBvYmplY3QgdW5kZXIgVW5peCAtLSBpZiB5b3Ugc3VwcGx5IGEgdmFsdWUgZm9yCisgICAgJ2NvbXBpbGVyJywgJ3BsYXQnIGlzIGlnbm9yZWQuCisgICAgIiIiCisgICAgaWYgcGxhdCBpcyBOb25lOgorICAgICAgICBwbGF0ID0gb3MubmFtZQorCisgICAgdHJ5OgorICAgICAgICBpZiBjb21waWxlciBpcyBOb25lOgorICAgICAgICAgICAgY29tcGlsZXIgPSBnZXRfZGVmYXVsdF9jb21waWxlcihwbGF0KQorCisgICAgICAgIGNscyA9IF9DT01QSUxFUlNbY29tcGlsZXJdCisgICAgZXhjZXB0IEtleUVycm9yOgorICAgICAgICBtc2cgPSAiZG9uJ3Qga25vdyBob3cgdG8gY29tcGlsZSBDL0MrKyBjb2RlIG9uIHBsYXRmb3JtICclcyciICUgcGxhdAorICAgICAgICBpZiBjb21waWxlciBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIG1zZyA9IG1zZyArICIgd2l0aCAnJXMnIGNvbXBpbGVyIiAlIGNvbXBpbGVyCisgICAgICAgIHJhaXNlIFBhY2thZ2luZ1BsYXRmb3JtRXJyb3IobXNnKQorCisgICAgaWYgaXNpbnN0YW5jZShjbHMsIHN0cik6CisgICAgICAgIGNscyA9IHJlc29sdmVfbmFtZShjbHMpCisgICAgICAgIF9DT01QSUxFUlNbY29tcGlsZXJdID0gY2xzCisKKyAgICByZXR1cm4gY2xzKGRyeV9ydW4sIGZvcmNlKQorCisKK2RlZiBnZW5fcHJlcHJvY2Vzc19vcHRpb25zKG1hY3JvcywgaW5jbHVkZV9kaXJzKToKKyAgICAiIiJHZW5lcmF0ZSBDIHByZS1wcm9jZXNzb3Igb3B0aW9ucyAoLUQsIC1VLCAtSSkgYXMgdXNlZCBieSBhdCBsZWFzdAorICAgIHR3byB0eXBlcyBvZiBjb21waWxlcnM6IHRoZSB0eXBpY2FsIFVuaXggY29tcGlsZXIgYW5kIFZpc3VhbCBDKysuCisgICAgJ21hY3JvcycgaXMgdGhlIHVzdWFsIHRoaW5nLCBhIGxpc3Qgb2YgMS0gb3IgMi10dXBsZXMsIHdoZXJlIChuYW1lLCkKKyAgICBtZWFucyB1bmRlZmluZSAoLVUpIG1hY3JvICduYW1lJywgYW5kIChuYW1lLHZhbHVlKSBtZWFucyBkZWZpbmUgKC1EKQorICAgIG1hY3JvICduYW1lJyB0byAndmFsdWUnLiAgJ2luY2x1ZGVfZGlycycgaXMganVzdCBhIGxpc3Qgb2YgZGlyZWN0b3J5CisgICAgbmFtZXMgdG8gYmUgYWRkZWQgdG8gdGhlIGhlYWRlciBmaWxlIHNlYXJjaCBwYXRoICgtSSkuICBSZXR1cm5zIGEgbGlzdAorICAgIG9mIGNvbW1hbmQtbGluZSBvcHRpb25zIHN1aXRhYmxlIGZvciBlaXRoZXIgVW5peCBjb21waWxlcnMgb3IgVmlzdWFsCisgICAgQysrLgorICAgICIiIgorICAgICMgWFhYIGl0IHdvdWxkIGJlIG5pY2UgKG1haW5seSBhZXN0aGV0aWMsIGFuZCBzbyB3ZSBkb24ndCBnZW5lcmF0ZQorICAgICMgc3R1cGlkLWxvb2tpbmcgY29tbWFuZCBsaW5lcykgdG8gZ28gb3ZlciAnbWFjcm9zJyBhbmQgZWxpbWluYXRlCisgICAgIyByZWR1bmRhbnQgZGVmaW5pdGlvbnMvdW5kZWZpbml0aW9ucyAoaWUuIGVuc3VyZSB0aGF0IG9ubHkgdGhlCisgICAgIyBsYXRlc3QgbWVudGlvbiBvZiBhIHBhcnRpY3VsYXIgbWFjcm8gd2luZHMgdXAgb24gdGhlIGNvbW1hbmQKKyAgICAjIGxpbmUpLiAgSSBkb24ndCB0aGluayBpdCdzIGVzc2VudGlhbCwgdGhvdWdoLCBzaW5jZSBtb3N0IChhbGw/KQorICAgICMgVW5peCBDIGNvbXBpbGVycyBvbmx5IHBheSBhdHRlbnRpb24gdG8gdGhlIGxhdGVzdCAtRCBvciAtVQorICAgICMgbWVudGlvbiBvZiBhIG1hY3JvIG9uIHRoZWlyIGNvbW1hbmQgbGluZS4gIFNpbWlsYXIgc2l0dWF0aW9uIGZvcgorICAgICMgJ2luY2x1ZGVfZGlycycuICBJJ20gcHVudGluZyBvbiBib3RoIGZvciBub3cuICBBbnl3YXlzLCB3ZWVkaW5nIG91dAorICAgICMgcmVkdW5kYW5jaWVzIGxpa2UgdGhpcyBzaG91bGQgcHJvYmFibHkgYmUgdGhlIHByb3ZpbmNlIG9mCisgICAgIyBDQ29tcGlsZXIsIHNpbmNlIHRoZSBkYXRhIHN0cnVjdHVyZXMgdXNlZCBhcmUgaW5oZXJpdGVkIGZyb20gaXQKKyAgICAjIGFuZCB0aGVyZWZvcmUgY29tbW9uIHRvIGFsbCBDQ29tcGlsZXIgY2xhc3Nlcy4KKworICAgIHBwX29wdHMgPSBbXQorICAgIGZvciBtYWNybyBpbiBtYWNyb3M6CisKKyAgICAgICAgaWYgbm90IGlzaW5zdGFuY2UobWFjcm8sIHR1cGxlKSBhbmQgMSA8PSBsZW4obWFjcm8pIDw9IDI6CisgICAgICAgICAgICByYWlzZSBUeXBlRXJyb3IoCisgICAgICAgICAgICAgICAgImJhZCBtYWNybyBkZWZpbml0aW9uICclcyc6IGVhY2ggZWxlbWVudCBvZiAnbWFjcm9zJyIKKyAgICAgICAgICAgICAgICAibGlzdCBtdXN0IGJlIGEgMS0gb3IgMi10dXBsZSIgJSBtYWNybykKKworICAgICAgICBpZiBsZW4obWFjcm8pID09IDE6ICAgICAgICAjIHVuZGVmaW5lIHRoaXMgbWFjcm8KKyAgICAgICAgICAgIHBwX29wdHMuYXBwZW5kKCItVSVzIiAlIG1hY3JvWzBdKQorICAgICAgICBlbGlmIGxlbihtYWNybykgPT0gMjoKKyAgICAgICAgICAgIGlmIG1hY3JvWzFdIGlzIE5vbmU6ICAgICMgZGVmaW5lIHdpdGggbm8gZXhwbGljaXQgdmFsdWUKKyAgICAgICAgICAgICAgICBwcF9vcHRzLmFwcGVuZCgiLUQlcyIgJSBtYWNyb1swXSkKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgIyBYWFggKmRvbid0KiBuZWVkIHRvIGJlIGNsZXZlciBhYm91dCBxdW90aW5nIHRoZQorICAgICAgICAgICAgICAgICMgbWFjcm8gdmFsdWUgaGVyZSwgYmVjYXVzZSB3ZSdyZSBnb2luZyB0byBhdm9pZCB0aGUKKyAgICAgICAgICAgICAgICAjIHNoZWxsIGF0IGFsbCBjb3N0cyB3aGVuIHdlIHNwYXduIHRoZSBjb21tYW5kIQorICAgICAgICAgICAgICAgIHBwX29wdHMuYXBwZW5kKCItRCVzPSVzIiAlIG1hY3JvKQorCisgICAgZm9yIGRpciBpbiBpbmNsdWRlX2RpcnM6CisgICAgICAgIHBwX29wdHMuYXBwZW5kKCItSSVzIiAlIGRpcikKKworICAgIHJldHVybiBwcF9vcHRzCisKKworZGVmIGdlbl9saWJfb3B0aW9ucyhjb21waWxlciwgbGlicmFyeV9kaXJzLCBydW50aW1lX2xpYnJhcnlfZGlycywgbGlicmFyaWVzKToKKyAgICAiIiJHZW5lcmF0ZSBsaW5rZXIgb3B0aW9ucyBmb3Igc2VhcmNoaW5nIGxpYnJhcnkgZGlyZWN0b3JpZXMgYW5kCisgICAgbGlua2luZyB3aXRoIHNwZWNpZmljIGxpYnJhcmllcy4KKworICAgICdsaWJyYXJpZXMnIGFuZCAnbGlicmFyeV9kaXJzJyBhcmUsIHJlc3BlY3RpdmVseSwgbGlzdHMgb2YgbGlicmFyeSBuYW1lcworICAgIChub3QgZmlsZW5hbWVzISkgYW5kIHNlYXJjaCBkaXJlY3Rvcmllcy4gIFJldHVybnMgYSBsaXN0IG9mIGNvbW1hbmQtbGluZQorICAgIG9wdGlvbnMgc3VpdGFibGUgZm9yIHVzZSB3aXRoIHNvbWUgY29tcGlsZXIgKGRlcGVuZGluZyBvbiB0aGUgdHdvIGZvcm1hdAorICAgIHN0cmluZ3MgcGFzc2VkIGluKS4KKyAgICAiIiIKKyAgICBsaWJfb3B0cyA9IFtdCisKKyAgICBmb3IgZGlyIGluIGxpYnJhcnlfZGlyczoKKyAgICAgICAgbGliX29wdHMuYXBwZW5kKGNvbXBpbGVyLmxpYnJhcnlfZGlyX29wdGlvbihkaXIpKQorCisgICAgZm9yIGRpciBpbiBydW50aW1lX2xpYnJhcnlfZGlyczoKKyAgICAgICAgb3B0ID0gY29tcGlsZXIucnVudGltZV9saWJyYXJ5X2Rpcl9vcHRpb24oZGlyKQorICAgICAgICBpZiBpc2luc3RhbmNlKG9wdCwgbGlzdCk6CisgICAgICAgICAgICBsaWJfb3B0cy5leHRlbmQob3B0KQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgbGliX29wdHMuYXBwZW5kKG9wdCkKKworICAgICMgWFhYIGl0J3MgaW1wb3J0YW50IHRoYXQgd2UgKm5vdCogcmVtb3ZlIHJlZHVuZGFudCBsaWJyYXJ5IG1lbnRpb25zIQorICAgICMgc29tZXRpbWVzIHlvdSByZWFsbHkgZG8gaGF2ZSB0byBzYXkgIi1sZm9vIC1sYmFyIC1sZm9vIiBpbiBvcmRlciB0bworICAgICMgcmVzb2x2ZSBhbGwgc3ltYm9scy4gIEkganVzdCBob3BlIHdlIG5ldmVyIGhhdmUgdG8gc2F5ICItbGZvbyBvYmoubworICAgICMgLWxiYXIiIHRvIGdldCB0aGluZ3MgdG8gd29yayAtLSB0aGF0J3MgY2VydGFpbmx5IGEgcG9zc2liaWxpdHksIGJ1dCBhCisgICAgIyBwcmV0dHkgbmFzdHkgd2F5IHRvIGFycmFuZ2UgeW91ciBDIGNvZGUuCisKKyAgICBmb3IgbGliIGluIGxpYnJhcmllczoKKyAgICAgICAgbGliX2RpciwgbGliX25hbWUgPSBvcy5wYXRoLnNwbGl0KGxpYikKKyAgICAgICAgaWYgbGliX2RpciAhPSAnJzoKKyAgICAgICAgICAgIGxpYl9maWxlID0gY29tcGlsZXIuZmluZF9saWJyYXJ5X2ZpbGUoW2xpYl9kaXJdLCBsaWJfbmFtZSkKKyAgICAgICAgICAgIGlmIGxpYl9maWxlIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgICAgIGxpYl9vcHRzLmFwcGVuZChsaWJfZmlsZSkKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoIm5vIGxpYnJhcnkgZmlsZSBjb3JyZXNwb25kaW5nIHRvICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICInJXMnIGZvdW5kIChza2lwcGluZykiICUgbGliKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgbGliX29wdHMuYXBwZW5kKGNvbXBpbGVyLmxpYnJhcnlfb3B0aW9uKGxpYikpCisKKyAgICByZXR1cm4gbGliX29wdHMKZGlmZiAtLWdpdCBhL0xpYi9wYWNrYWdpbmcvY29tcGlsZXIvYmNwcGNvbXBpbGVyLnB5IGIvTGliL3BhY2thZ2luZy9jb21waWxlci9iY3BwY29tcGlsZXIucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDZjNzU4YwotLS0gL2Rldi9udWxsCisrKyBiL0xpYi9wYWNrYWdpbmcvY29tcGlsZXIvYmNwcGNvbXBpbGVyLnB5CkBAIC0wLDAgKzEsMzU1IEBACisiIiJDQ29tcGlsZXIgaW1wbGVtZW50YXRpb24gZm9yIHRoZSBCb3JsYW5kIEMrKyBjb21waWxlci4iIiIKKworIyBUaGlzIGltcGxlbWVudGF0aW9uIGJ5IEx5bGUgSm9obnNvbiwgYmFzZWQgb24gdGhlIG9yaWdpbmFsIG1zdmNjb21waWxlci5weQorIyBtb2R1bGUgYW5kIHVzaW5nIHRoZSBkaXJlY3Rpb25zIG9yaWdpbmFsbHkgcHVibGlzaGVkIGJ5IEdvcmRvbiBXaWxsaWFtcy4KKworIyBYWFggbG9va3MgbGlrZSB0aGVyZSdzIGEgTE9UIG9mIG92ZXJsYXAgYmV0d2VlbiB0aGVzZSB0d28gY2xhc3NlczoKKyMgc29tZW9uZSBzaG91bGQgc2l0IGRvd24gYW5kIGZhY3RvciBvdXQgdGhlIGNvbW1vbiBjb2RlIGFzCisjIFdpbmRvd3NDQ29tcGlsZXIhICAtLUdQVworCitpbXBvcnQgb3MKKworZnJvbSBwYWNrYWdpbmcuZXJyb3JzIGltcG9ydCAoUGFja2FnaW5nRXhlY0Vycm9yLCBDb21waWxlRXJyb3IsIExpYkVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlua0Vycm9yLCBVbmtub3duRmlsZUVycm9yKQorZnJvbSBwYWNrYWdpbmcuY29tcGlsZXIuY2NvbXBpbGVyIGltcG9ydCBDQ29tcGlsZXIKK2Zyb20gcGFja2FnaW5nLmNvbXBpbGVyIGltcG9ydCBnZW5fcHJlcHJvY2Vzc19vcHRpb25zCitmcm9tIHBhY2thZ2luZy5maWxlX3V0aWwgaW1wb3J0IHdyaXRlX2ZpbGUKK2Zyb20gcGFja2FnaW5nLmRlcF91dGlsIGltcG9ydCBuZXdlcgorZnJvbSBwYWNrYWdpbmcgaW1wb3J0IGxvZ2dlcgorCisKK2NsYXNzIEJDUFBDb21waWxlcihDQ29tcGlsZXIpIDoKKyAgICAiIiJDb25jcmV0ZSBjbGFzcyB0aGF0IGltcGxlbWVudHMgYW4gaW50ZXJmYWNlIHRvIHRoZSBCb3JsYW5kIEMvQysrCisgICAgY29tcGlsZXIsIGFzIGRlZmluZWQgYnkgdGhlIENDb21waWxlciBhYnN0cmFjdCBjbGFzcy4KKyAgICAiIiIKKworICAgIG5hbWUgPSAnYmNwcCcKKyAgICBkZXNjcmlwdGlvbiA9ICdCb3JsYW5kIEMrKyBDb21waWxlcicKKworICAgICMgSnVzdCBzZXQgdGhpcyBzbyBDQ29tcGlsZXIncyBjb25zdHJ1Y3RvciBkb2Vzbid0IGJhcmYuICBXZSBjdXJyZW50bHkKKyAgICAjIGRvbid0IHVzZSB0aGUgJ3NldF9leGVjdXRhYmxlcygpJyBidXJlYXVjcmFjeSBwcm92aWRlZCBieSBDQ29tcGlsZXIsCisgICAgIyBhcyBpdCByZWFsbHkgaXNuJ3QgbmVjZXNzYXJ5IGZvciB0aGlzIHNvcnQgb2Ygc2luZ2xlLWNvbXBpbGVyIGNsYXNzLgorICAgICMgV291bGQgYmUgbmljZSB0byBoYXZlIGEgY29uc2lzdGVudCBpbnRlcmZhY2Ugd2l0aCBVbml4Q0NvbXBpbGVyLAorICAgICMgdGhvdWdoLCBzbyBpdCdzIHdvcnRoIHRoaW5raW5nIGFib3V0LgorICAgIGV4ZWN1dGFibGVzID0ge30KKworICAgICMgUHJpdmF0ZSBjbGFzcyBkYXRhIChuZWVkIHRvIGRpc3Rpbmd1aXNoIEMgZnJvbSBDKysgc291cmNlIGZvciBjb21waWxlcikKKyAgICBfY19leHRlbnNpb25zID0gWycuYyddCisgICAgX2NwcF9leHRlbnNpb25zID0gWycuY2MnLCAnLmNwcCcsICcuY3h4J10KKworICAgICMgTmVlZGVkIGZvciB0aGUgZmlsZW5hbWUgZ2VuZXJhdGlvbiBtZXRob2RzIHByb3ZpZGVkIGJ5IHRoZQorICAgICMgYmFzZSBjbGFzcywgQ0NvbXBpbGVyLgorICAgIHNyY19leHRlbnNpb25zID0gX2NfZXh0ZW5zaW9ucyArIF9jcHBfZXh0ZW5zaW9ucworICAgIG9ial9leHRlbnNpb24gPSAnLm9iaicKKyAgICBzdGF0aWNfbGliX2V4dGVuc2lvbiA9ICcubGliJworICAgIHNoYXJlZF9saWJfZXh0ZW5zaW9uID0gJy5kbGwnCisgICAgc3RhdGljX2xpYl9mb3JtYXQgPSBzaGFyZWRfbGliX2Zvcm1hdCA9ICclcyVzJworICAgIGV4ZV9leHRlbnNpb24gPSAnLmV4ZScKKworCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGRyeV9ydW49RmFsc2UsIGZvcmNlPUZhbHNlKToKKyAgICAgICAgc3VwZXIoQkNQUENvbXBpbGVyLCBzZWxmKS5fX2luaXRfXyhkcnlfcnVuLCBmb3JjZSkKKworICAgICAgICAjIFRoZXNlIGV4ZWN1dGFibGVzIGFyZSBhc3N1bWVkIHRvIGFsbCBiZSBpbiB0aGUgcGF0aC4KKyAgICAgICAgIyBCb3JsYW5kIGRvZXNuJ3Qgc2VlbSB0byB1c2UgYW55IHNwZWNpYWwgcmVnaXN0cnkgc2V0dGluZ3MgdG8KKyAgICAgICAgIyBpbmRpY2F0ZSB0aGVpciBpbnN0YWxsYXRpb24gbG9jYXRpb25zLgorCisgICAgICAgIHNlbGYuY2MgPSAiYmNjMzIuZXhlIgorICAgICAgICBzZWxmLmxpbmtlciA9ICJpbGluazMyLmV4ZSIKKyAgICAgICAgc2VsZi5saWIgPSAidGxpYi5leGUiCisKKyAgICAgICAgc2VsZi5wcmVwcm9jZXNzX29wdGlvbnMgPSBOb25lCisgICAgICAgIHNlbGYuY29tcGlsZV9vcHRpb25zID0gWycvdFdNJywgJy9PMicsICcvcScsICcvZzAnXQorICAgICAgICBzZWxmLmNvbXBpbGVfb3B0aW9uc19kZWJ1ZyA9IFsnL3RXTScsICcvT2QnLCAnL3EnLCAnL2cwJ10KKworICAgICAgICBzZWxmLmxkZmxhZ3Nfc2hhcmVkID0gWycvVHBkJywgJy9HbicsICcvcScsICcveCddCisgICAgICAgIHNlbGYubGRmbGFnc19zaGFyZWRfZGVidWcgPSBbJy9UcGQnLCAnL0duJywgJy9xJywgJy94J10KKyAgICAgICAgc2VsZi5sZGZsYWdzX3N0YXRpYyA9IFtdCisgICAgICAgIHNlbGYubGRmbGFnc19leGUgPSBbJy9HbicsICcvcScsICcveCddCisgICAgICAgIHNlbGYubGRmbGFnc19leGVfZGVidWcgPSBbJy9HbicsICcvcScsICcveCcsJy9yJ10KKworCisgICAgIyAtLSBXb3JrZXIgbWV0aG9kcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworICAgIGRlZiBjb21waWxlKHNlbGYsIHNvdXJjZXMsCisgICAgICAgICAgICAgICAgb3V0cHV0X2Rpcj1Ob25lLCBtYWNyb3M9Tm9uZSwgaW5jbHVkZV9kaXJzPU5vbmUsIGRlYnVnPUZhbHNlLAorICAgICAgICAgICAgICAgIGV4dHJhX3ByZWFyZ3M9Tm9uZSwgZXh0cmFfcG9zdGFyZ3M9Tm9uZSwgZGVwZW5kcz1Ob25lKToKKworICAgICAgICBtYWNyb3MsIG9iamVjdHMsIGV4dHJhX3Bvc3RhcmdzLCBwcF9vcHRzLCBidWlsZCA9IFwKKyAgICAgICAgICAgICAgICBzZWxmLl9zZXR1cF9jb21waWxlKG91dHB1dF9kaXIsIG1hY3JvcywgaW5jbHVkZV9kaXJzLCBzb3VyY2VzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVwZW5kcywgZXh0cmFfcG9zdGFyZ3MpCisgICAgICAgIGNvbXBpbGVfb3B0cyA9IGV4dHJhX3ByZWFyZ3Mgb3IgW10KKyAgICAgICAgY29tcGlsZV9vcHRzLmFwcGVuZCgnLWMnKQorICAgICAgICBpZiBkZWJ1ZzoKKyAgICAgICAgICAgIGNvbXBpbGVfb3B0cy5leHRlbmQoc2VsZi5jb21waWxlX29wdGlvbnNfZGVidWcpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBjb21waWxlX29wdHMuZXh0ZW5kKHNlbGYuY29tcGlsZV9vcHRpb25zKQorCisgICAgICAgIGZvciBvYmogaW4gb2JqZWN0czoKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBzcmMsIGV4dCA9IGJ1aWxkW29ial0KKyAgICAgICAgICAgIGV4Y2VwdCBLZXlFcnJvcjoKKyAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgIyBYWFggd2h5IGRvIHRoZSBub3JtcGF0aCBoZXJlPworICAgICAgICAgICAgc3JjID0gb3MucGF0aC5ub3JtcGF0aChzcmMpCisgICAgICAgICAgICBvYmogPSBvcy5wYXRoLm5vcm1wYXRoKG9iaikKKyAgICAgICAgICAgICMgWFhYIF9zZXR1cF9jb21waWxlKCkgZGlkIGEgbWtwYXRoKCkgdG9vIGJ1dCBiZWZvcmUgdGhlIG5vcm1wYXRoLgorICAgICAgICAgICAgIyBJcyBpdCBwb3NzaWJsZSB0byBza2lwIHRoZSBub3JtcGF0aD8KKyAgICAgICAgICAgIHNlbGYubWtwYXRoKG9zLnBhdGguZGlybmFtZShvYmopKQorCisgICAgICAgICAgICBpZiBleHQgPT0gJy5yZXMnOgorICAgICAgICAgICAgICAgICMgVGhpcyBpcyBhbHJlYWR5IGEgYmluYXJ5IGZpbGUgLS0gc2tpcCBpdC4KKyAgICAgICAgICAgICAgICBjb250aW51ZSAjIHRoZSAnZm9yJyBsb29wCisgICAgICAgICAgICBpZiBleHQgPT0gJy5yYyc6CisgICAgICAgICAgICAgICAgIyBUaGlzIG5lZWRzIHRvIGJlIGNvbXBpbGVkIHRvIGEgLnJlcyBmaWxlIC0tIGRvIGl0IG5vdy4KKyAgICAgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgICAgIHNlbGYuc3Bhd24oWyJicmNjMzIiLCAiLWZvIiwgb2JqLCBzcmNdKQorICAgICAgICAgICAgICAgIGV4Y2VwdCBQYWNrYWdpbmdFeGVjRXJyb3IgYXMgbXNnOgorICAgICAgICAgICAgICAgICAgICByYWlzZSBDb21waWxlRXJyb3IobXNnKQorICAgICAgICAgICAgICAgIGNvbnRpbnVlICMgdGhlICdmb3InIGxvb3AKKworICAgICAgICAgICAgIyBUaGUgbmV4dCB0d28gYXJlIGJvdGggZm9yIHRoZSByZWFsIGNvbXBpbGVyLgorICAgICAgICAgICAgaWYgZXh0IGluIHNlbGYuX2NfZXh0ZW5zaW9uczoKKyAgICAgICAgICAgICAgICBpbnB1dF9vcHQgPSAiIgorICAgICAgICAgICAgZWxpZiBleHQgaW4gc2VsZi5fY3BwX2V4dGVuc2lvbnM6CisgICAgICAgICAgICAgICAgaW5wdXRfb3B0ID0gIi1QIgorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAjIFVua25vd24gZmlsZSB0eXBlIC0tIG5vIGV4dHJhIG9wdGlvbnMuICBUaGUgY29tcGlsZXIKKyAgICAgICAgICAgICAgICAjIHdpbGwgcHJvYmFibHkgZmFpbCwgYnV0IGxldCBpdCBqdXN0IGluIGNhc2UgdGhpcyBpcyBhCisgICAgICAgICAgICAgICAgIyBmaWxlIHRoZSBjb21waWxlciByZWNvZ25pemVzIGV2ZW4gaWYgd2UgZG9uJ3QuCisgICAgICAgICAgICAgICAgaW5wdXRfb3B0ID0gIiIKKworICAgICAgICAgICAgb3V0cHV0X29wdCA9ICItbyIgKyBvYmoKKworICAgICAgICAgICAgIyBDb21waWxlciBjb21tYW5kIGxpbmUgc3ludGF4IGlzOiAiYmNjMzIgW29wdGlvbnNdIGZpbGUocykiLgorICAgICAgICAgICAgIyBOb3RlIHRoYXQgdGhlIHNvdXJjZSBmaWxlIG5hbWVzIG11c3QgYXBwZWFyIGF0IHRoZSBlbmQgb2YKKyAgICAgICAgICAgICMgdGhlIGNvbW1hbmQgbGluZS4KKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBzZWxmLnNwYXduKFtzZWxmLmNjXSArIGNvbXBpbGVfb3B0cyArIHBwX29wdHMgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lucHV0X29wdCwgb3V0cHV0X29wdF0gKworICAgICAgICAgICAgICAgICAgICAgICAgICAgZXh0cmFfcG9zdGFyZ3MgKyBbc3JjXSkKKyAgICAgICAgICAgIGV4Y2VwdCBQYWNrYWdpbmdFeGVjRXJyb3IgYXMgbXNnOgorICAgICAgICAgICAgICAgIHJhaXNlIENvbXBpbGVFcnJvcihtc2cpCisKKyAgICAgICAgcmV0dXJuIG9iamVjdHMKKworCisgICAgZGVmIGNyZWF0ZV9zdGF0aWNfbGliKHNlbGYsIG9iamVjdHMsIG91dHB1dF9saWJuYW1lLCBvdXRwdXRfZGlyPU5vbmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGRlYnVnPUZhbHNlLCB0YXJnZXRfbGFuZz1Ob25lKToKKyAgICAgICAgb2JqZWN0cywgb3V0cHV0X2RpciA9IHNlbGYuX2ZpeF9vYmplY3RfYXJncyhvYmplY3RzLCBvdXRwdXRfZGlyKQorICAgICAgICBvdXRwdXRfZmlsZW5hbWUgPSBcCisgICAgICAgICAgICBzZWxmLmxpYnJhcnlfZmlsZW5hbWUob3V0cHV0X2xpYm5hbWUsIG91dHB1dF9kaXI9b3V0cHV0X2RpcikKKworICAgICAgICBpZiBzZWxmLl9uZWVkX2xpbmsob2JqZWN0cywgb3V0cHV0X2ZpbGVuYW1lKToKKyAgICAgICAgICAgIGxpYl9hcmdzID0gW291dHB1dF9maWxlbmFtZSwgJy91J10gKyBvYmplY3RzCisgICAgICAgICAgICBpZiBkZWJ1ZzoKKyAgICAgICAgICAgICAgICBwYXNzICAgICAgICAgICAgICAgICAgICAjIFhYWCB3aGF0IGdvZXMgaGVyZT8KKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBzZWxmLnNwYXduKFtzZWxmLmxpYl0gKyBsaWJfYXJncykKKyAgICAgICAgICAgIGV4Y2VwdCBQYWNrYWdpbmdFeGVjRXJyb3IgYXMgbXNnOgorICAgICAgICAgICAgICAgIHJhaXNlIExpYkVycm9yKG1zZykKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGxvZ2dlci5kZWJ1Zygic2tpcHBpbmcgJXMgKHVwLXRvLWRhdGUpIiwgb3V0cHV0X2ZpbGVuYW1lKQorCisKKyAgICBkZWYgbGluayhzZWxmLCB0YXJnZXRfZGVzYywgb2JqZWN0cywgb3V0cHV0X2ZpbGVuYW1lLCBvdXRwdXRfZGlyPU5vbmUsCisgICAgICAgICAgICAgbGlicmFyaWVzPU5vbmUsIGxpYnJhcnlfZGlycz1Ob25lLCBydW50aW1lX2xpYnJhcnlfZGlycz1Ob25lLAorICAgICAgICAgICAgIGV4cG9ydF9zeW1ib2xzPU5vbmUsIGRlYnVnPUZhbHNlLCBleHRyYV9wcmVhcmdzPU5vbmUsCisgICAgICAgICAgICAgZXh0cmFfcG9zdGFyZ3M9Tm9uZSwgYnVpbGRfdGVtcD1Ob25lLCB0YXJnZXRfbGFuZz1Ob25lKToKKworICAgICAgICAjIFhYWCB0aGlzIGlnbm9yZXMgJ2J1aWxkX3RlbXAnISAgc2hvdWxkIGZvbGxvdyB0aGUgbGVhZCBvZgorICAgICAgICAjIG1zdmNjb21waWxlci5weQorCisgICAgICAgIG9iamVjdHMsIG91dHB1dF9kaXIgPSBzZWxmLl9maXhfb2JqZWN0X2FyZ3Mob2JqZWN0cywgb3V0cHV0X2RpcikKKyAgICAgICAgbGlicmFyaWVzLCBsaWJyYXJ5X2RpcnMsIHJ1bnRpbWVfbGlicmFyeV9kaXJzID0gXAorICAgICAgICAgICAgc2VsZi5fZml4X2xpYl9hcmdzKGxpYnJhcmllcywgbGlicmFyeV9kaXJzLCBydW50aW1lX2xpYnJhcnlfZGlycykKKworICAgICAgICBpZiBydW50aW1lX2xpYnJhcnlfZGlyczoKKyAgICAgICAgICAgIGxvZ2dlci53YXJuaW5nKCJkb24ndCBrbm93IHdoYXQgdG8gZG8gd2l0aCAiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAiJ3J1bnRpbWVfbGlicmFyeV9kaXJzJzogJXIiLCBydW50aW1lX2xpYnJhcnlfZGlycykKKworICAgICAgICBpZiBvdXRwdXRfZGlyIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgb3V0cHV0X2ZpbGVuYW1lID0gb3MucGF0aC5qb2luKG91dHB1dF9kaXIsIG91dHB1dF9maWxlbmFtZSkKKworICAgICAgICBpZiBzZWxmLl9uZWVkX2xpbmsob2JqZWN0cywgb3V0cHV0X2ZpbGVuYW1lKToKKworICAgICAgICAgICAgIyBGaWd1cmUgb3V0IGxpbmtlciBhcmdzIGJhc2VkIG9uIHR5cGUgb2YgdGFyZ2V0LgorICAgICAgICAgICAgaWYgdGFyZ2V0X2Rlc2MgPT0gQ0NvbXBpbGVyLkVYRUNVVEFCTEU6CisgICAgICAgICAgICAgICAgc3RhcnR1cF9vYmogPSAnYzB3MzInCisgICAgICAgICAgICAgICAgaWYgZGVidWc6CisgICAgICAgICAgICAgICAgICAgIGxkX2FyZ3MgPSBzZWxmLmxkZmxhZ3NfZXhlX2RlYnVnWzpdCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgbGRfYXJncyA9IHNlbGYubGRmbGFnc19leGVbOl0KKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgc3RhcnR1cF9vYmogPSAnYzBkMzInCisgICAgICAgICAgICAgICAgaWYgZGVidWc6CisgICAgICAgICAgICAgICAgICAgIGxkX2FyZ3MgPSBzZWxmLmxkZmxhZ3Nfc2hhcmVkX2RlYnVnWzpdCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgbGRfYXJncyA9IHNlbGYubGRmbGFnc19zaGFyZWRbOl0KKworCisgICAgICAgICAgICAjIENyZWF0ZSBhIHRlbXBvcmFyeSBleHBvcnRzIGZpbGUgZm9yIHVzZSBieSB0aGUgbGlua2VyCisgICAgICAgICAgICBpZiBleHBvcnRfc3ltYm9scyBpcyBOb25lOgorICAgICAgICAgICAgICAgIGRlZl9maWxlID0gJycKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgaGVhZCwgdGFpbCA9IG9zLnBhdGguc3BsaXQob3V0cHV0X2ZpbGVuYW1lKQorICAgICAgICAgICAgICAgIG1vZG5hbWUsIGV4dCA9IG9zLnBhdGguc3BsaXRleHQodGFpbCkKKyAgICAgICAgICAgICAgICB0ZW1wX2RpciA9IG9zLnBhdGguZGlybmFtZShvYmplY3RzWzBdKSAjIHByZXNlcnZlIHRyZWUgc3RydWN0dXJlCisgICAgICAgICAgICAgICAgZGVmX2ZpbGUgPSBvcy5wYXRoLmpvaW4odGVtcF9kaXIsICclcy5kZWYnICUgbW9kbmFtZSkKKyAgICAgICAgICAgICAgICBjb250ZW50cyA9IFsnRVhQT1JUUyddCisgICAgICAgICAgICAgICAgZm9yIHN5bSBpbiAoZXhwb3J0X3N5bWJvbHMgb3IgW10pOgorICAgICAgICAgICAgICAgICAgICBjb250ZW50cy5hcHBlbmQoJyAgJXM9XyVzJyAlIChzeW0sIHN5bSkpCisgICAgICAgICAgICAgICAgc2VsZi5leGVjdXRlKHdyaXRlX2ZpbGUsIChkZWZfZmlsZSwgY29udGVudHMpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAid3JpdGluZyAlcyIgJSBkZWZfZmlsZSkKKworICAgICAgICAgICAgIyBCb3JsYW5kIEMrKyBoYXMgcHJvYmxlbXMgd2l0aCAnLycgaW4gcGF0aHMKKyAgICAgICAgICAgIG9iamVjdHMyID0gW29zLnBhdGgubm9ybXBhdGgobykgZm9yIG8gaW4gb2JqZWN0c10KKyAgICAgICAgICAgICMgc3BsaXQgb2JqZWN0cyBpbiAub2JqIGFuZCAucmVzIGZpbGVzCisgICAgICAgICAgICAjIEJvcmxhbmQgQysrIG5lZWRzIHRoZW0gYXQgZGlmZmVyZW50IHBvc2l0aW9ucyBpbiB0aGUgY29tbWFuZCBsaW5lCisgICAgICAgICAgICBvYmplY3RzID0gW3N0YXJ0dXBfb2JqXQorICAgICAgICAgICAgcmVzb3VyY2VzID0gW10KKyAgICAgICAgICAgIGZvciBmaWxlIGluIG9iamVjdHMyOgorICAgICAgICAgICAgICAgIGJhc2UsIGV4dCA9IG9zLnBhdGguc3BsaXRleHQob3MucGF0aC5ub3JtY2FzZShmaWxlKSkKKyAgICAgICAgICAgICAgICBpZiBleHQgPT0gJy5yZXMnOgorICAgICAgICAgICAgICAgICAgICByZXNvdXJjZXMuYXBwZW5kKGZpbGUpCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgb2JqZWN0cy5hcHBlbmQoZmlsZSkKKworCisgICAgICAgICAgICBmb3IgbCBpbiBsaWJyYXJ5X2RpcnM6CisgICAgICAgICAgICAgICAgbGRfYXJncy5hcHBlbmQoIi9MJXMiICUgb3MucGF0aC5ub3JtcGF0aChsKSkKKyAgICAgICAgICAgIGxkX2FyZ3MuYXBwZW5kKCIvTC4iKSAjIHdlIHNvbWV0aW1lcyB1c2UgcmVsYXRpdmUgcGF0aHMKKworICAgICAgICAgICAgIyBsaXN0IG9mIG9iamVjdCBmaWxlcworICAgICAgICAgICAgbGRfYXJncy5leHRlbmQob2JqZWN0cykKKworICAgICAgICAgICAgIyBYWFggdGhlIGNvbW1hbmQgbGluZSBzeW50YXggZm9yIEJvcmxhbmQgQysrIGlzIGEgYml0IHdvbmt5OworICAgICAgICAgICAgIyBjZXJ0YWluIGZpbGVuYW1lcyBhcmUgamFtbWVkIHRvZ2V0aGVyIGluIG9uZSBiaWcgc3RyaW5nLCBidXQKKyAgICAgICAgICAgICMgY29tbWEtZGVsaW1pdGVkLiAgVGhpcyBkb2Vzbid0IG1lc2ggdG9vIHdlbGwgd2l0aCB0aGUKKyAgICAgICAgICAgICMgVW5peC1jZW50cmljIGF0dGl0dWRlICh3aXRoIGEgRE9TL1dpbmRvd3MgcXVvdGluZyBoYWNrKSBvZgorICAgICAgICAgICAgIyAnc3Bhd24oKScsIHNvIGNvbnN0cnVjdGluZyB0aGUgYXJndW1lbnQgbGlzdCBpcyBhIGJpdAorICAgICAgICAgICAgIyBhd2t3YXJkLiAgTm90ZSB0aGF0IGRvaW5nIHRoZSBvYnZpb3VzIHRoaW5nIGFuZCBqYW1taW5nIGFsbAorICAgICAgICAgICAgIyB0aGUgZmlsZW5hbWVzIGFuZCBjb21tYXMgaW50byBvbmUgYXJndW1lbnQgd291bGQgYmUgd3JvbmcsCisgICAgICAgICAgICAjIGJlY2F1c2UgJ3NwYXduKCknIHdvdWxkIHF1b3RlIGFueSBmaWxlbmFtZXMgd2l0aCBzcGFjZXMgaW4KKyAgICAgICAgICAgICMgdGhlbS4gIEFyZ2hnaGghLiAgQXBwYXJlbnRseSBpdCB3b3JrcyBmaW5lIGFzIGNvZGVkLi4uCisKKyAgICAgICAgICAgICMgbmFtZSBvZiBkbGwvZXhlIGZpbGUKKyAgICAgICAgICAgIGxkX2FyZ3MuZXh0ZW5kKCgnLCcsb3V0cHV0X2ZpbGVuYW1lKSkKKyAgICAgICAgICAgICMgbm8gbWFwIGZpbGUgYW5kIHN0YXJ0IGxpYnJhcmllcworICAgICAgICAgICAgbGRfYXJncy5hcHBlbmQoJywsJykKKworICAgICAgICAgICAgZm9yIGxpYiBpbiBsaWJyYXJpZXM6CisgICAgICAgICAgICAgICAgIyBzZWUgaWYgd2UgZmluZCBpdCBhbmQgaWYgdGhlcmUgaXMgYSBiY3BwIHNwZWNpZmljIGxpYgorICAgICAgICAgICAgICAgICMgKHh4eF9iY3BwLmxpYikKKyAgICAgICAgICAgICAgICBsaWJmaWxlID0gc2VsZi5maW5kX2xpYnJhcnlfZmlsZShsaWJyYXJ5X2RpcnMsIGxpYiwgZGVidWcpCisgICAgICAgICAgICAgICAgaWYgbGliZmlsZSBpcyBOb25lOgorICAgICAgICAgICAgICAgICAgICBsZF9hcmdzLmFwcGVuZChsaWIpCisgICAgICAgICAgICAgICAgICAgICMgcHJvYmFibHkgYSBCQ1BQIGludGVybmFsIGxpYnJhcnkgLS0gZG9uJ3Qgd2FybgorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgICMgZnVsbCBuYW1lIHdoaWNoIHByZWZlcnMgYmNwcF94eHgubGliIG92ZXIgeHh4LmxpYgorICAgICAgICAgICAgICAgICAgICBsZF9hcmdzLmFwcGVuZChsaWJmaWxlKQorCisgICAgICAgICAgICAjIHNvbWUgZGVmYXVsdCBsaWJyYXJpZXMKKyAgICAgICAgICAgIGxkX2FyZ3MuYXBwZW5kKCdpbXBvcnQzMicpCisgICAgICAgICAgICBsZF9hcmdzLmFwcGVuZCgnY3czMm10JykKKworICAgICAgICAgICAgIyBkZWYgZmlsZSBmb3IgZXhwb3J0IHN5bWJvbHMKKyAgICAgICAgICAgIGxkX2FyZ3MuZXh0ZW5kKCgnLCcsZGVmX2ZpbGUpKQorICAgICAgICAgICAgIyBhZGQgcmVzb3VyY2UgZmlsZXMKKyAgICAgICAgICAgIGxkX2FyZ3MuYXBwZW5kKCcsJykKKyAgICAgICAgICAgIGxkX2FyZ3MuZXh0ZW5kKHJlc291cmNlcykKKworCisgICAgICAgICAgICBpZiBleHRyYV9wcmVhcmdzOgorICAgICAgICAgICAgICAgIGxkX2FyZ3NbOjBdID0gZXh0cmFfcHJlYXJncworICAgICAgICAgICAgaWYgZXh0cmFfcG9zdGFyZ3M6CisgICAgICAgICAgICAgICAgbGRfYXJncy5leHRlbmQoZXh0cmFfcG9zdGFyZ3MpCisKKyAgICAgICAgICAgIHNlbGYubWtwYXRoKG9zLnBhdGguZGlybmFtZShvdXRwdXRfZmlsZW5hbWUpKQorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIHNlbGYuc3Bhd24oW3NlbGYubGlua2VyXSArIGxkX2FyZ3MpCisgICAgICAgICAgICBleGNlcHQgUGFja2FnaW5nRXhlY0Vycm9yIGFzIG1zZzoKKyAgICAgICAgICAgICAgICByYWlzZSBMaW5rRXJyb3IobXNnKQorCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBsb2dnZXIuZGVidWcoInNraXBwaW5nICVzICh1cC10by1kYXRlKSIsIG91dHB1dF9maWxlbmFtZSkKKworICAgICMgLS0gTWlzY2VsbGFuZW91cyBtZXRob2RzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKworICAgIGRlZiBmaW5kX2xpYnJhcnlfZmlsZShzZWxmLCBkaXJzLCBsaWIsIGRlYnVnPUZhbHNlKToKKyAgICAgICAgIyBMaXN0IG9mIGVmZmVjdGl2ZSBsaWJyYXJ5IG5hbWVzIHRvIHRyeSwgaW4gb3JkZXIgb2YgcHJlZmVyZW5jZToKKyAgICAgICAgIyB4eHhfYmNwcC5saWIgaXMgYmV0dGVyIHRoYW4geHh4LmxpYgorICAgICAgICAjIGFuZCB4eHhfZC5saWIgaXMgYmV0dGVyIHRoYW4geHh4LmxpYiBpZiBkZWJ1ZyBpcyBzZXQKKyAgICAgICAgIworICAgICAgICAjIFRoZSAiX2JjcHAiIHN1ZmZpeCBpcyB0byBoYW5kbGUgYSBQeXRob24gaW5zdGFsbGF0aW9uIGZvciBwZW9wbGUKKyAgICAgICAgIyB3aXRoIG11bHRpcGxlIGNvbXBpbGVycyAocHJpbWFyaWx5IFBhY2thZ2luZyBoYWNrZXJzLCBJIHN1c3BlY3QKKyAgICAgICAgIyA7LSkuICBUaGUgaWRlYSBpcyB0aGV5J2QgaGF2ZSBvbmUgc3RhdGljIGxpYnJhcnkgZm9yIGVhY2gKKyAgICAgICAgIyBjb21waWxlciB0aGV5IGNhcmUgYWJvdXQsIHNpbmNlIChhbG1vc3Q/KSBldmVyeSBXaW5kb3dzIGNvbXBpbGVyCisgICAgICAgICMgc2VlbXMgdG8gaGF2ZSBhIGRpZmZlcmVudCBmb3JtYXQgZm9yIHN0YXRpYyBsaWJyYXJpZXMuCisgICAgICAgIGlmIGRlYnVnOgorICAgICAgICAgICAgZGxpYiA9IChsaWIgKyAiX2QiKQorICAgICAgICAgICAgdHJ5X25hbWVzID0gKGRsaWIgKyAiX2JjcHAiLCBsaWIgKyAiX2JjcHAiLCBkbGliLCBsaWIpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICB0cnlfbmFtZXMgPSAobGliICsgIl9iY3BwIiwgbGliKQorCisgICAgICAgIGZvciBkaXIgaW4gZGlyczoKKyAgICAgICAgICAgIGZvciBuYW1lIGluIHRyeV9uYW1lczoKKyAgICAgICAgICAgICAgICBsaWJmaWxlID0gb3MucGF0aC5qb2luKGRpciwgc2VsZi5saWJyYXJ5X2ZpbGVuYW1lKG5hbWUpKQorICAgICAgICAgICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKGxpYmZpbGUpOgorICAgICAgICAgICAgICAgICAgICByZXR1cm4gbGliZmlsZQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgIyBPb3BzLCBkaWRuJ3QgZmluZCBpdCBpbiAqYW55KiBvZiAnZGlycycKKyAgICAgICAgICAgIHJldHVybiBOb25lCisKKyAgICAjIG92ZXJ3cml0ZSB0aGUgb25lIGZyb20gQ0NvbXBpbGVyIHRvIHN1cHBvcnQgcmMgYW5kIHJlcy1maWxlcworICAgIGRlZiBvYmplY3RfZmlsZW5hbWVzKHNlbGYsIHNvdXJjZV9maWxlbmFtZXMsIHN0cmlwX2Rpcj1GYWxzZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBvdXRwdXRfZGlyPScnKToKKyAgICAgICAgaWYgb3V0cHV0X2RpciBpcyBOb25lOgorICAgICAgICAgICAgb3V0cHV0X2RpciA9ICcnCisgICAgICAgIG9ial9uYW1lcyA9IFtdCisgICAgICAgIGZvciBzcmNfbmFtZSBpbiBzb3VyY2VfZmlsZW5hbWVzOgorICAgICAgICAgICAgIyB1c2Ugbm9ybWNhc2UgdG8gbWFrZSBzdXJlICcucmMnIGlzIHJlYWxseSAnLnJjJyBhbmQgbm90ICcuUkMnCisgICAgICAgICAgICBiYXNlLCBleHQgPSBvcy5wYXRoLnNwbGl0ZXh0KG9zLnBhdGgubm9ybWNhc2Uoc3JjX25hbWUpKQorICAgICAgICAgICAgaWYgZXh0IG5vdCBpbiAoc2VsZi5zcmNfZXh0ZW5zaW9ucyArIFsnLnJjJywnLnJlcyddKToKKyAgICAgICAgICAgICAgICByYWlzZSBVbmtub3duRmlsZUVycm9yKCJ1bmtub3duIGZpbGUgdHlwZSAnJXMnIChmcm9tICclcycpIiAlIFwKKyAgICAgICAgICAgICAgICAgICAgICAoZXh0LCBzcmNfbmFtZSkpCisgICAgICAgICAgICBpZiBzdHJpcF9kaXI6CisgICAgICAgICAgICAgICAgYmFzZSA9IG9zLnBhdGguYmFzZW5hbWUoYmFzZSkKKyAgICAgICAgICAgIGlmIGV4dCA9PSAnLnJlcyc6CisgICAgICAgICAgICAgICAgIyB0aGVzZSBjYW4gZ28gdW5jaGFuZ2VkCisgICAgICAgICAgICAgICAgb2JqX25hbWVzLmFwcGVuZChvcy5wYXRoLmpvaW4ob3V0cHV0X2RpciwgYmFzZSArIGV4dCkpCisgICAgICAgICAgICBlbGlmIGV4dCA9PSAnLnJjJzoKKyAgICAgICAgICAgICAgICAjIHRoZXNlIG5lZWQgdG8gYmUgY29tcGlsZWQgdG8gLnJlcy1maWxlcworICAgICAgICAgICAgICAgIG9ial9uYW1lcy5hcHBlbmQob3MucGF0aC5qb2luKG91dHB1dF9kaXIsIGJhc2UgKyAnLnJlcycpKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBvYmpfbmFtZXMuYXBwZW5kKG9zLnBhdGguam9pbihvdXRwdXRfZGlyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhc2UgKyBzZWxmLm9ial9leHRlbnNpb24pKQorICAgICAgICByZXR1cm4gb2JqX25hbWVzCisKKworICAgIGRlZiBwcmVwcm9jZXNzKHNlbGYsIHNvdXJjZSwgb3V0cHV0X2ZpbGU9Tm9uZSwgbWFjcm9zPU5vbmUsCisgICAgICAgICAgICAgICAgICAgaW5jbHVkZV9kaXJzPU5vbmUsIGV4dHJhX3ByZWFyZ3M9Tm9uZSwKKyAgICAgICAgICAgICAgICAgICBleHRyYV9wb3N0YXJncz1Ob25lKToKKyAgICAgICAgXywgbWFjcm9zLCBpbmNsdWRlX2RpcnMgPSBcCisgICAgICAgICAgICBzZWxmLl9maXhfY29tcGlsZV9hcmdzKE5vbmUsIG1hY3JvcywgaW5jbHVkZV9kaXJzKQorICAgICAgICBwcF9vcHRzID0gZ2VuX3ByZXByb2Nlc3Nfb3B0aW9ucyhtYWNyb3MsIGluY2x1ZGVfZGlycykKKyAgICAgICAgcHBfYXJncyA9IFsnY3BwMzIuZXhlJ10gKyBwcF9vcHRzCisgICAgICAgIGlmIG91dHB1dF9maWxlIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgcHBfYXJncy5hcHBlbmQoJy1vJyArIG91dHB1dF9maWxlKQorICAgICAgICBpZiBleHRyYV9wcmVhcmdzOgorICAgICAgICAgICAgcHBfYXJnc1s6MF0gPSBleHRyYV9wcmVhcmdzCisgICAgICAgIGlmIGV4dHJhX3Bvc3RhcmdzOgorICAgICAgICAgICAgcHBfYXJncy5leHRlbmQoZXh0cmFfcG9zdGFyZ3MpCisgICAgICAgIHBwX2FyZ3MuYXBwZW5kKHNvdXJjZSkKKworICAgICAgICAjIFdlIG5lZWQgdG8gcHJlcHJvY2VzczogZWl0aGVyIHdlJ3JlIGJlaW5nIGZvcmNlZCB0bywgb3IgdGhlCisgICAgICAgICMgc291cmNlIGZpbGUgaXMgbmV3ZXIgdGhhbiB0aGUgdGFyZ2V0IChvciB0aGUgdGFyZ2V0IGRvZXNuJ3QKKyAgICAgICAgIyBleGlzdCkuCisgICAgICAgIGlmIHNlbGYuZm9yY2Ugb3Igb3V0cHV0X2ZpbGUgaXMgTm9uZSBvciBuZXdlcihzb3VyY2UsIG91dHB1dF9maWxlKToKKyAgICAgICAgICAgIGlmIG91dHB1dF9maWxlOgorICAgICAgICAgICAgICAgIHNlbGYubWtwYXRoKG9zLnBhdGguZGlybmFtZShvdXRwdXRfZmlsZSkpCisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgc2VsZi5zcGF3bihwcF9hcmdzKQorICAgICAgICAgICAgZXhjZXB0IFBhY2thZ2luZ0V4ZWNFcnJvciBhcyBtc2c6CisgICAgICAgICAgICAgICAgcmFpc2UgQ29tcGlsZUVycm9yKG1zZykKZGlmZiAtLWdpdCBhL0xpYi9wYWNrYWdpbmcvY29tcGlsZXIvY2NvbXBpbGVyLnB5IGIvTGliL3BhY2thZ2luZy9jb21waWxlci9jY29tcGlsZXIucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOThjNGI2OAotLS0gL2Rldi9udWxsCisrKyBiL0xpYi9wYWNrYWdpbmcvY29tcGlsZXIvY2NvbXBpbGVyLnB5CkBAIC0wLDAgKzEsODYzIEBACisiIiJBYnN0cmFjdCBiYXNlIGNsYXNzIGZvciBjb21waWxlcnMuCisKK1RoaXMgbW9kdWxlcyBjb250YWlucyBDQ29tcGlsZXIsIGFuIGFic3RyYWN0IGJhc2UgY2xhc3MgdGhhdCBkZWZpbmVzIHRoZQoraW50ZXJmYWNlIGZvciB0aGUgY29tcGlsZXIgYWJzdHJhY3Rpb24gbW9kZWwgdXNlZCBieSBwYWNrYWdpbmcuCisiIiIKKworaW1wb3J0IG9zCitmcm9tIHNodXRpbCBpbXBvcnQgbW92ZQorZnJvbSBwYWNrYWdpbmcgaW1wb3J0IGxvZ2dlcgorZnJvbSBwYWNrYWdpbmcudXRpbCBpbXBvcnQgc3BsaXRfcXVvdGVkLCBleGVjdXRlLCBuZXdlcl9ncm91cCwgc3Bhd24KK2Zyb20gcGFja2FnaW5nLmVycm9ycyBpbXBvcnQgKENvbXBpbGVFcnJvciwgTGlua0Vycm9yLCBVbmtub3duRmlsZUVycm9yKQorZnJvbSBwYWNrYWdpbmcuY29tcGlsZXIgaW1wb3J0IGdlbl9wcmVwcm9jZXNzX29wdGlvbnMKKworCitjbGFzcyBDQ29tcGlsZXI6CisgICAgIiIiQWJzdHJhY3QgYmFzZSBjbGFzcyB0byBkZWZpbmUgdGhlIGludGVyZmFjZSB0aGF0IG11c3QgYmUgaW1wbGVtZW50ZWQKKyAgICBieSByZWFsIGNvbXBpbGVyIGNsYXNzZXMuICBBbHNvIGhhcyBzb21lIHV0aWxpdHkgbWV0aG9kcyB1c2VkIGJ5CisgICAgc2V2ZXJhbCBjb21waWxlciBjbGFzc2VzLgorCisgICAgVGhlIGJhc2ljIGlkZWEgYmVoaW5kIGEgY29tcGlsZXIgYWJzdHJhY3Rpb24gY2xhc3MgaXMgdGhhdCBlYWNoCisgICAgaW5zdGFuY2UgY2FuIGJlIHVzZWQgZm9yIGFsbCB0aGUgY29tcGlsZS9saW5rIHN0ZXBzIGluIGJ1aWxkaW5nIGEKKyAgICBzaW5nbGUgcHJvamVjdC4gIFRodXMsIGF0dHJpYnV0ZXMgY29tbW9uIHRvIGFsbCBvZiB0aG9zZSBjb21waWxlIGFuZAorICAgIGxpbmsgc3RlcHMgLS0gaW5jbHVkZSBkaXJlY3RvcmllcywgbWFjcm9zIHRvIGRlZmluZSwgbGlicmFyaWVzIHRvIGxpbmsKKyAgICBhZ2FpbnN0LCBldGMuIC0tIGFyZSBhdHRyaWJ1dGVzIG9mIHRoZSBjb21waWxlciBpbnN0YW5jZS4gIFRvIGFsbG93IGZvcgorICAgIHZhcmlhYmlsaXR5IGluIGhvdyBpbmRpdmlkdWFsIGZpbGVzIGFyZSB0cmVhdGVkLCBtb3N0IG9mIHRob3NlCisgICAgYXR0cmlidXRlcyBtYXkgYmUgdmFyaWVkIG9uIGEgcGVyLWNvbXBpbGF0aW9uIG9yIHBlci1saW5rIGJhc2lzLgorICAgICIiIgorCisgICAgIyAnbmFtZScgaXMgYSBjbGFzcyBhdHRyaWJ1dGUgdGhhdCBpZGVudGlmaWVzIHRoaXMgY2xhc3MuICBJdAorICAgICMga2VlcHMgY29kZSB0aGF0IHdhbnRzIHRvIGtub3cgd2hhdCBraW5kIG9mIGNvbXBpbGVyIGl0J3MgZGVhbGluZyB3aXRoCisgICAgIyBmcm9tIGhhdmluZyB0byBpbXBvcnQgYWxsIHBvc3NpYmxlIGNvbXBpbGVyIGNsYXNzZXMganVzdCB0byBkbyBhbgorICAgICMgJ2lzaW5zdGFuY2UnLgorICAgIG5hbWUgPSBOb25lCisgICAgZGVzY3JpcHRpb24gPSBOb25lCisKKyAgICAjIFhYWCB0aGluZ3Mgbm90IGhhbmRsZWQgYnkgdGhpcyBjb21waWxlciBhYnN0cmFjdGlvbiBtb2RlbDoKKyAgICAjICAgKiBjbGllbnQgY2FuJ3QgcHJvdmlkZSBhZGRpdGlvbmFsIG9wdGlvbnMgZm9yIGEgY29tcGlsZXIsCisgICAgIyAgICAgZS5nLiB3YXJuaW5nLCBvcHRpbWl6YXRpb24sIGRlYnVnZ2luZyBmbGFncy4gIFBlcmhhcHMgdGhpcworICAgICMgICAgIHNob3VsZCBiZSB0aGUgZG9tYWluIG9mIGNvbmNyZXRlIGNvbXBpbGVyIGFic3RyYWN0aW9uIGNsYXNzZXMKKyAgICAjICAgICAoVW5peENDb21waWxlciwgTVNWQ0NvbXBpbGVyLCBldGMuKSAtLSBvciBwZXJoYXBzIHRoZSBiYXNlCisgICAgIyAgICAgY2xhc3Mgc2hvdWxkIGhhdmUgbWV0aG9kcyBmb3IgdGhlIGNvbW1vbiBvbmVzLgorICAgICMgICAqIGNhbid0IGNvbXBsZXRlbHkgb3ZlcnJpZGUgdGhlIGluY2x1ZGUgb3IgbGlicmFyeSBzZWFyY2hnCisgICAgIyAgICAgcGF0aCwgaWUuIG5vICJjYyAtSSAtSWRpcjEgLUlkaXIyIiBvciAiY2MgLUwgLUxkaXIxIC1MZGlyMiIuCisgICAgIyAgICAgSSdtIG5vdCBzdXJlIGhvdyB3aWRlbHkgc3VwcG9ydGVkIHRoaXMgaXMgZXZlbiBieSBVbml4CisgICAgIyAgICAgY29tcGlsZXJzLCBtdWNoIGxlc3Mgb24gb3RoZXIgcGxhdGZvcm1zLiAgQW5kIEknbSBldmVuIGxlc3MKKyAgICAjICAgICBzdXJlIGhvdyB1c2VmdWwgaXQgaXM7IG1heWJlIGZvciBjcm9zcy1jb21waWxpbmcsIGJ1dAorICAgICMgICAgIHN1cHBvcnQgZm9yIHRoYXQgaXMgYSB3YXlzIG9mZi4gIChBbmQgYW55d2F5cywgY3Jvc3MKKyAgICAjICAgICBjb21waWxlcnMgcHJvYmFibHkgaGF2ZSBhIGRlZGljYXRlZCBiaW5hcnkgd2l0aCB0aGUKKyAgICAjICAgICByaWdodCBwYXRocyBjb21waWxlZCBpbi4gIEkgaG9wZS4pCisgICAgIyAgICogY2FuJ3QgZG8gcmVhbGx5IGZyZWFreSB0aGluZ3Mgd2l0aCB0aGUgbGlicmFyeSBsaXN0L2xpYnJhcnkKKyAgICAjICAgICBkaXJzLCBlLmcuICItTGRpcjEgLWxmb28gLUxkaXIyIC1sZm9vIiB0byBsaW5rIGFnYWluc3QKKyAgICAjICAgICBkaWZmZXJlbnQgdmVyc2lvbnMgb2YgbGliZm9vLmEgaW4gZGlmZmVyZW50IGxvY2F0aW9ucy4gIEkKKyAgICAjICAgICB0aGluayB0aGlzIGlzIHVzZWxlc3Mgd2l0aG91dCB0aGUgYWJpbGl0eSB0byBudWxsIG91dCB0aGUKKyAgICAjICAgICBsaWJyYXJ5IHNlYXJjaCBwYXRoIGFueXdheXMuCisKKworICAgICMgU3ViY2xhc3NlcyB0aGF0IHJlbHkgb24gdGhlIHN0YW5kYXJkIGZpbGVuYW1lIGdlbmVyYXRpb24gbWV0aG9kcworICAgICMgaW1wbGVtZW50ZWQgYmVsb3cgc2hvdWxkIG92ZXJyaWRlIHRoZXNlOyBzZWUgdGhlIGNvbW1lbnQgbmVhcgorICAgICMgdGhvc2UgbWV0aG9kcyAoJ29iamVjdF9maWxlbmFtZXMoKScgZXQuIGFsLikgZm9yIGRldGFpbHM6CisgICAgc3JjX2V4dGVuc2lvbnMgPSBOb25lICAgICAgICAgICAgICAgIyBsaXN0IG9mIHN0cmluZ3MKKyAgICBvYmpfZXh0ZW5zaW9uID0gTm9uZSAgICAgICAgICAgICAgICAjIHN0cmluZworICAgIHN0YXRpY19saWJfZXh0ZW5zaW9uID0gTm9uZQorICAgIHNoYXJlZF9saWJfZXh0ZW5zaW9uID0gTm9uZSAgICAgICAgICMgc3RyaW5nCisgICAgc3RhdGljX2xpYl9mb3JtYXQgPSBOb25lICAgICAgICAgICAgIyBmb3JtYXQgc3RyaW5nCisgICAgc2hhcmVkX2xpYl9mb3JtYXQgPSBOb25lICAgICAgICAgICAgIyBwcm9iLiBzYW1lIGFzIHN0YXRpY19saWJfZm9ybWF0CisgICAgZXhlX2V4dGVuc2lvbiA9IE5vbmUgICAgICAgICAgICAgICAgIyBzdHJpbmcKKworICAgICMgRGVmYXVsdCBsYW5ndWFnZSBzZXR0aW5ncy4gbGFuZ3VhZ2VfbWFwIGlzIHVzZWQgdG8gZGV0ZWN0IGEgc291cmNlCisgICAgIyBmaWxlIG9yIEV4dGVuc2lvbiB0YXJnZXQgbGFuZ3VhZ2UsIGNoZWNraW5nIHNvdXJjZSBmaWxlbmFtZXMuCisgICAgIyBsYW5ndWFnZV9vcmRlciBpcyB1c2VkIHRvIGRldGVjdCB0aGUgbGFuZ3VhZ2UgcHJlY2VkZW5jZSwgd2hlbiBkZWNpZGluZworICAgICMgd2hhdCBsYW5ndWFnZSB0byB1c2Ugd2hlbiBtaXhpbmcgc291cmNlIHR5cGVzLiBGb3IgZXhhbXBsZSwgaWYgc29tZQorICAgICMgZXh0ZW5zaW9uIGhhcyB0d28gZmlsZXMgd2l0aCAiLmMiIGV4dGVuc2lvbiwgYW5kIG9uZSB3aXRoICIuY3BwIiwgaXQKKyAgICAjIGlzIHN0aWxsIGxpbmtlZCBhcyBjKysuCisgICAgbGFuZ3VhZ2VfbWFwID0geyIuYyI6ICJjIiwKKyAgICAgICAgICAgICAgICAgICAgIi5jYyI6ICJjKysiLAorICAgICAgICAgICAgICAgICAgICAiLmNwcCI6ICJjKysiLAorICAgICAgICAgICAgICAgICAgICAiLmN4eCI6ICJjKysiLAorICAgICAgICAgICAgICAgICAgICAiLm0iOiAib2JqYyIsCisgICAgICAgICAgICAgICAgICAgfQorICAgIGxhbmd1YWdlX29yZGVyID0gWyJjKysiLCAib2JqYyIsICJjIl0KKworICAgIGRlZiBfX2luaXRfXyhzZWxmLCBkcnlfcnVuPUZhbHNlLCBmb3JjZT1GYWxzZSk6CisgICAgICAgIHNlbGYuZHJ5X3J1biA9IGRyeV9ydW4KKyAgICAgICAgc2VsZi5mb3JjZSA9IGZvcmNlCisKKyAgICAgICAgIyAnb3V0cHV0X2Rpcic6IGEgY29tbW9uIG91dHB1dCBkaXJlY3RvcnkgZm9yIG9iamVjdCwgbGlicmFyeSwKKyAgICAgICAgIyBzaGFyZWQgb2JqZWN0LCBhbmQgc2hhcmVkIGxpYnJhcnkgZmlsZXMKKyAgICAgICAgc2VsZi5vdXRwdXRfZGlyID0gTm9uZQorCisgICAgICAgICMgJ21hY3Jvcyc6IGEgbGlzdCBvZiBtYWNybyBkZWZpbml0aW9ucyAob3IgdW5kZWZpbml0aW9ucykuICBBCisgICAgICAgICMgbWFjcm8gZGVmaW5pdGlvbiBpcyBhIDItdHVwbGUgKG5hbWUsIHZhbHVlKSwgd2hlcmUgdGhlIHZhbHVlIGlzCisgICAgICAgICMgZWl0aGVyIGEgc3RyaW5nIG9yIE5vbmUgKG5vIGV4cGxpY2l0IHZhbHVlKS4gIEEgbWFjcm8KKyAgICAgICAgIyB1bmRlZmluaXRpb24gaXMgYSAxLXR1cGxlIChuYW1lLCkuCisgICAgICAgIHNlbGYubWFjcm9zID0gW10KKworICAgICAgICAjICdpbmNsdWRlX2RpcnMnOiBhIGxpc3Qgb2YgZGlyZWN0b3JpZXMgdG8gc2VhcmNoIGZvciBpbmNsdWRlIGZpbGVzCisgICAgICAgIHNlbGYuaW5jbHVkZV9kaXJzID0gW10KKworICAgICAgICAjICdsaWJyYXJpZXMnOiBhIGxpc3Qgb2YgbGlicmFyaWVzIHRvIGluY2x1ZGUgaW4gYW55IGxpbmsKKyAgICAgICAgIyAobGlicmFyeSBuYW1lcywgbm90IGZpbGVuYW1lczogZWcuICJmb28iIG5vdCAibGliZm9vLmEiKQorICAgICAgICBzZWxmLmxpYnJhcmllcyA9IFtdCisKKyAgICAgICAgIyAnbGlicmFyeV9kaXJzJzogYSBsaXN0IG9mIGRpcmVjdG9yaWVzIHRvIHNlYXJjaCBmb3IgbGlicmFyaWVzCisgICAgICAgIHNlbGYubGlicmFyeV9kaXJzID0gW10KKworICAgICAgICAjICdydW50aW1lX2xpYnJhcnlfZGlycyc6IGEgbGlzdCBvZiBkaXJlY3RvcmllcyB0byBzZWFyY2ggZm9yCisgICAgICAgICMgc2hhcmVkIGxpYnJhcmllcy9vYmplY3RzIGF0IHJ1bnRpbWUKKyAgICAgICAgc2VsZi5ydW50aW1lX2xpYnJhcnlfZGlycyA9IFtdCisKKyAgICAgICAgIyAnb2JqZWN0cyc6IGEgbGlzdCBvZiBvYmplY3QgZmlsZXMgKG9yIHNpbWlsYXIsIHN1Y2ggYXMgZXhwbGljaXRseQorICAgICAgICAjIG5hbWVkIGxpYnJhcnkgZmlsZXMpIHRvIGluY2x1ZGUgb24gYW55IGxpbmsKKyAgICAgICAgc2VsZi5vYmplY3RzID0gW10KKworICAgICAgICBmb3Iga2V5LCB2YWx1ZSBpbiBzZWxmLmV4ZWN1dGFibGVzLml0ZW1zKCk6CisgICAgICAgICAgICBzZWxmLnNldF9leGVjdXRhYmxlKGtleSwgdmFsdWUpCisKKyAgICBkZWYgc2V0X2V4ZWN1dGFibGVzKHNlbGYsICoqYXJncyk6CisgICAgICAgICIiIkRlZmluZSB0aGUgZXhlY3V0YWJsZXMgKGFuZCBvcHRpb25zIGZvciB0aGVtKSB0aGF0IHdpbGwgYmUgcnVuCisgICAgICAgIHRvIHBlcmZvcm0gdGhlIHZhcmlvdXMgc3RhZ2VzIG9mIGNvbXBpbGF0aW9uLiAgVGhlIGV4YWN0IHNldCBvZgorICAgICAgICBleGVjdXRhYmxlcyB0aGF0IG1heSBiZSBzcGVjaWZpZWQgaGVyZSBkZXBlbmRzIG9uIHRoZSBjb21waWxlcgorICAgICAgICBjbGFzcyAodmlhIHRoZSAnZXhlY3V0YWJsZXMnIGNsYXNzIGF0dHJpYnV0ZSksIGJ1dCBtb3N0IHdpbGwgaGF2ZToKKyAgICAgICAgICBjb21waWxlciAgICAgIHRoZSBDL0MrKyBjb21waWxlcgorICAgICAgICAgIGxpbmtlcl9zbyAgICAgbGlua2VyIHVzZWQgdG8gY3JlYXRlIHNoYXJlZCBvYmplY3RzIGFuZCBsaWJyYXJpZXMKKyAgICAgICAgICBsaW5rZXJfZXhlICAgIGxpbmtlciB1c2VkIHRvIGNyZWF0ZSBiaW5hcnkgZXhlY3V0YWJsZXMKKyAgICAgICAgICBhcmNoaXZlciAgICAgIHN0YXRpYyBsaWJyYXJ5IGNyZWF0b3IKKworICAgICAgICBPbiBwbGF0Zm9ybXMgd2l0aCBhIGNvbW1hbmQgbGluZSAoVW5peCwgRE9TL1dpbmRvd3MpLCBlYWNoIG9mIHRoZXNlCisgICAgICAgIGlzIGEgc3RyaW5nIHRoYXQgd2lsbCBiZSBzcGxpdCBpbnRvIGV4ZWN1dGFibGUgbmFtZSBhbmQgKG9wdGlvbmFsKQorICAgICAgICBsaXN0IG9mIGFyZ3VtZW50cy4gIChTcGxpdHRpbmcgdGhlIHN0cmluZyBpcyBkb25lIHNpbWlsYXJseSB0byBob3cKKyAgICAgICAgVW5peCBzaGVsbHMgb3BlcmF0ZTogd29yZHMgYXJlIGRlbGltaXRlZCBieSBzcGFjZXMsIGJ1dCBxdW90ZXMgYW5kCisgICAgICAgIGJhY2tzbGFzaGVzIGNhbiBvdmVycmlkZSB0aGlzLiAgU2VlCisgICAgICAgICdkaXN0dXRpbHMudXRpbC5zcGxpdF9xdW90ZWQoKScuKQorICAgICAgICAiIiIKKworICAgICAgICAjIE5vdGUgdGhhdCBzb21lIENDb21waWxlciBpbXBsZW1lbnRhdGlvbiBjbGFzc2VzIHdpbGwgZGVmaW5lIGNsYXNzCisgICAgICAgICMgYXR0cmlidXRlcyAnY3BwJywgJ2NjJywgZXRjLiB3aXRoIGhhcmQtY29kZWQgZXhlY3V0YWJsZSBuYW1lczsKKyAgICAgICAgIyB0aGlzIGlzIGFwcHJvcHJpYXRlIHdoZW4gYSBjb21waWxlciBjbGFzcyBpcyBmb3IgZXhhY3RseSBvbmUKKyAgICAgICAgIyBjb21waWxlci9PUyBjb21iaW5hdGlvbiAoZWcuIE1TVkNDb21waWxlcikuICBPdGhlciBjb21waWxlcgorICAgICAgICAjIGNsYXNzZXMgKFVuaXhDQ29tcGlsZXIsIGluIHBhcnRpY3VsYXIpIGFyZSBkcml2ZW4gYnkgaW5mb3JtYXRpb24KKyAgICAgICAgIyBkaXNjb3ZlcmVkIGF0IHJ1bi10aW1lLCBzaW5jZSB0aGVyZSBhcmUgbWFueSBkaWZmZXJlbnQgd2F5cyB0byBkbworICAgICAgICAjIGJhc2ljYWxseSB0aGUgc2FtZSB0aGluZ3Mgd2l0aCBVbml4IEMgY29tcGlsZXJzLgorCisgICAgICAgIGZvciBrZXksIHZhbHVlIGluIGFyZ3MuaXRlbXMoKToKKyAgICAgICAgICAgIGlmIGtleSBub3QgaW4gc2VsZi5leGVjdXRhYmxlczoKKyAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJ1bmtub3duIGV4ZWN1dGFibGUgJyVzJyBmb3IgY2xhc3MgJXMiICUgXAorICAgICAgICAgICAgICAgICAgICAgIChrZXksIHNlbGYuX19jbGFzc19fLl9fbmFtZV9fKSkKKyAgICAgICAgICAgIHNlbGYuc2V0X2V4ZWN1dGFibGUoa2V5LCB2YWx1ZSkKKworICAgIGRlZiBzZXRfZXhlY3V0YWJsZShzZWxmLCBrZXksIHZhbHVlKToKKyAgICAgICAgaWYgaXNpbnN0YW5jZSh2YWx1ZSwgc3RyKToKKyAgICAgICAgICAgIHNldGF0dHIoc2VsZiwga2V5LCBzcGxpdF9xdW90ZWQodmFsdWUpKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgc2V0YXR0cihzZWxmLCBrZXksIHZhbHVlKQorCisgICAgZGVmIF9maW5kX21hY3JvKHNlbGYsIG5hbWUpOgorICAgICAgICBpID0gMAorICAgICAgICBmb3IgZGVmbiBpbiBzZWxmLm1hY3JvczoKKyAgICAgICAgICAgIGlmIGRlZm5bMF0gPT0gbmFtZToKKyAgICAgICAgICAgICAgICByZXR1cm4gaQorICAgICAgICAgICAgaSA9IGkgKyAxCisgICAgICAgIHJldHVybiBOb25lCisKKyAgICBkZWYgX2NoZWNrX21hY3JvX2RlZmluaXRpb25zKHNlbGYsIGRlZmluaXRpb25zKToKKyAgICAgICAgIiIiRW5zdXJlcyB0aGF0IGV2ZXJ5IGVsZW1lbnQgb2YgJ2RlZmluaXRpb25zJyBpcyBhIHZhbGlkIG1hY3JvCisgICAgICAgIGRlZmluaXRpb24sIGllLiBlaXRoZXIgKG5hbWUsdmFsdWUpIDItdHVwbGUgb3IgYSAobmFtZSwpIHR1cGxlLiAgRG8KKyAgICAgICAgbm90aGluZyBpZiBhbGwgZGVmaW5pdGlvbnMgYXJlIE9LLCByYWlzZSBUeXBlRXJyb3Igb3RoZXJ3aXNlLgorICAgICAgICAiIiIKKyAgICAgICAgZm9yIGRlZm4gaW4gZGVmaW5pdGlvbnM6CisgICAgICAgICAgICBpZiBub3QgKGlzaW5zdGFuY2UoZGVmbiwgdHVwbGUpIGFuZAorICAgICAgICAgICAgICAgICAgICAobGVuKGRlZm4pID09IDEgb3IKKyAgICAgICAgICAgICAgICAgICAgIChsZW4oZGVmbikgPT0gMiBhbmQKKyAgICAgICAgICAgICAgICAgICAgICAoaXNpbnN0YW5jZShkZWZuWzFdLCBzdHIpIG9yIGRlZm5bMV0gaXMgTm9uZSkpKSBhbmQKKyAgICAgICAgICAgICAgICAgICAgaXNpbnN0YW5jZShkZWZuWzBdLCBzdHIpKToKKyAgICAgICAgICAgICAgICByYWlzZSBUeXBlRXJyb3IoKCJpbnZhbGlkIG1hY3JvIGRlZmluaXRpb24gJyVzJzogIiAlIGRlZm4pICsgXAorICAgICAgICAgICAgICAgICAgICAgICJtdXN0IGJlIHR1cGxlIChzdHJpbmcsKSwgKHN0cmluZywgc3RyaW5nKSwgb3IgIiArIFwKKyAgICAgICAgICAgICAgICAgICAgICAiKHN0cmluZywgTm9uZSkiKQorCisKKyAgICAjIC0tIEJvb2trZWVwaW5nIG1ldGhvZHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisgICAgZGVmIGRlZmluZV9tYWNybyhzZWxmLCBuYW1lLCB2YWx1ZT1Ob25lKToKKyAgICAgICAgIiIiRGVmaW5lIGEgcHJlcHJvY2Vzc29yIG1hY3JvIGZvciBhbGwgY29tcGlsYXRpb25zIGRyaXZlbiBieSB0aGlzCisgICAgICAgIGNvbXBpbGVyIG9iamVjdC4gIFRoZSBvcHRpb25hbCBwYXJhbWV0ZXIgJ3ZhbHVlJyBzaG91bGQgYmUgYQorICAgICAgICBzdHJpbmc7IGlmIGl0IGlzIG5vdCBzdXBwbGllZCwgdGhlbiB0aGUgbWFjcm8gd2lsbCBiZSBkZWZpbmVkCisgICAgICAgIHdpdGhvdXQgYW4gZXhwbGljaXQgdmFsdWUgYW5kIHRoZSBleGFjdCBvdXRjb21lIGRlcGVuZHMgb24gdGhlCisgICAgICAgIGNvbXBpbGVyIHVzZWQgKFhYWCB0cnVlPyBkb2VzIEFOU0kgc2F5IGFueXRoaW5nIGFib3V0IHRoaXM/KQorICAgICAgICAiIiIKKyAgICAgICAgIyBEZWxldGUgZnJvbSB0aGUgbGlzdCBvZiBtYWNybyBkZWZpbml0aW9ucy91bmRlZmluaXRpb25zIGlmCisgICAgICAgICMgYWxyZWFkeSB0aGVyZSAoc28gdGhhdCB0aGlzIG9uZSB3aWxsIHRha2UgcHJlY2VkZW5jZSkuCisgICAgICAgIGkgPSBzZWxmLl9maW5kX21hY3JvKG5hbWUpCisgICAgICAgIGlmIGkgaXMgbm90IE5vbmU6CisgICAgICAgICAgICBkZWwgc2VsZi5tYWNyb3NbaV0KKworICAgICAgICBkZWZuID0gKG5hbWUsIHZhbHVlKQorICAgICAgICBzZWxmLm1hY3Jvcy5hcHBlbmQoZGVmbikKKworICAgIGRlZiB1bmRlZmluZV9tYWNybyhzZWxmLCBuYW1lKToKKyAgICAgICAgIiIiVW5kZWZpbmUgYSBwcmVwcm9jZXNzb3IgbWFjcm8gZm9yIGFsbCBjb21waWxhdGlvbnMgZHJpdmVuIGJ5CisgICAgICAgIHRoaXMgY29tcGlsZXIgb2JqZWN0LiAgSWYgdGhlIHNhbWUgbWFjcm8gaXMgZGVmaW5lZCBieQorICAgICAgICAnZGVmaW5lX21hY3JvKCknIGFuZCB1bmRlZmluZWQgYnkgJ3VuZGVmaW5lX21hY3JvKCknIHRoZSBsYXN0IGNhbGwKKyAgICAgICAgdGFrZXMgcHJlY2VkZW5jZSAoaW5jbHVkaW5nIG11bHRpcGxlIHJlZGVmaW5pdGlvbnMgb3IKKyAgICAgICAgdW5kZWZpbml0aW9ucykuICBJZiB0aGUgbWFjcm8gaXMgcmVkZWZpbmVkL3VuZGVmaW5lZCBvbiBhCisgICAgICAgIHBlci1jb21waWxhdGlvbiBiYXNpcyAoaWUuIGluIHRoZSBjYWxsIHRvICdjb21waWxlKCknKSwgdGhlbiB0aGF0CisgICAgICAgIHRha2VzIHByZWNlZGVuY2UuCisgICAgICAgICIiIgorICAgICAgICAjIERlbGV0ZSBmcm9tIHRoZSBsaXN0IG9mIG1hY3JvIGRlZmluaXRpb25zL3VuZGVmaW5pdGlvbnMgaWYKKyAgICAgICAgIyBhbHJlYWR5IHRoZXJlIChzbyB0aGF0IHRoaXMgb25lIHdpbGwgdGFrZSBwcmVjZWRlbmNlKS4KKyAgICAgICAgaSA9IHNlbGYuX2ZpbmRfbWFjcm8obmFtZSkKKyAgICAgICAgaWYgaSBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIGRlbCBzZWxmLm1hY3Jvc1tpXQorCisgICAgICAgIHVuZGVmbiA9IChuYW1lLCkKKyAgICAgICAgc2VsZi5tYWNyb3MuYXBwZW5kKHVuZGVmbikKKworICAgIGRlZiBhZGRfaW5jbHVkZV9kaXIoc2VsZiwgZGlyKToKKyAgICAgICAgIiIiQWRkICdkaXInIHRvIHRoZSBsaXN0IG9mIGRpcmVjdG9yaWVzIHRoYXQgd2lsbCBiZSBzZWFyY2hlZCBmb3IKKyAgICAgICAgaGVhZGVyIGZpbGVzLiAgVGhlIGNvbXBpbGVyIGlzIGluc3RydWN0ZWQgdG8gc2VhcmNoIGRpcmVjdG9yaWVzIGluCisgICAgICAgIHRoZSBvcmRlciBpbiB3aGljaCB0aGV5IGFyZSBzdXBwbGllZCBieSBzdWNjZXNzaXZlIGNhbGxzIHRvCisgICAgICAgICdhZGRfaW5jbHVkZV9kaXIoKScuCisgICAgICAgICIiIgorICAgICAgICBzZWxmLmluY2x1ZGVfZGlycy5hcHBlbmQoZGlyKQorCisgICAgZGVmIHNldF9pbmNsdWRlX2RpcnMoc2VsZiwgZGlycyk6CisgICAgICAgICIiIlNldCB0aGUgbGlzdCBvZiBkaXJlY3RvcmllcyB0aGF0IHdpbGwgYmUgc2VhcmNoZWQgdG8gJ2RpcnMnIChhCisgICAgICAgIGxpc3Qgb2Ygc3RyaW5ncykuICBPdmVycmlkZXMgYW55IHByZWNlZGluZyBjYWxscyB0bworICAgICAgICAnYWRkX2luY2x1ZGVfZGlyKCknOyBzdWJzZXF1ZW5jZSBjYWxscyB0byAnYWRkX2luY2x1ZGVfZGlyKCknIGFkZAorICAgICAgICB0byB0aGUgbGlzdCBwYXNzZWQgdG8gJ3NldF9pbmNsdWRlX2RpcnMoKScuICBUaGlzIGRvZXMgbm90IGFmZmVjdAorICAgICAgICBhbnkgbGlzdCBvZiBzdGFuZGFyZCBpbmNsdWRlIGRpcmVjdG9yaWVzIHRoYXQgdGhlIGNvbXBpbGVyIG1heQorICAgICAgICBzZWFyY2ggYnkgZGVmYXVsdC4KKyAgICAgICAgIiIiCisgICAgICAgIHNlbGYuaW5jbHVkZV9kaXJzID0gZGlyc1s6XQorCisgICAgZGVmIGFkZF9saWJyYXJ5KHNlbGYsIGxpYm5hbWUpOgorICAgICAgICAiIiJBZGQgJ2xpYm5hbWUnIHRvIHRoZSBsaXN0IG9mIGxpYnJhcmllcyB0aGF0IHdpbGwgYmUgaW5jbHVkZWQgaW4KKyAgICAgICAgYWxsIGxpbmtzIGRyaXZlbiBieSB0aGlzIGNvbXBpbGVyIG9iamVjdC4gIE5vdGUgdGhhdCAnbGlibmFtZScKKyAgICAgICAgc2hvdWxkICpub3QqIGJlIHRoZSBuYW1lIG9mIGEgZmlsZSBjb250YWluaW5nIGEgbGlicmFyeSwgYnV0IHRoZQorICAgICAgICBuYW1lIG9mIHRoZSBsaWJyYXJ5IGl0c2VsZjogdGhlIGFjdHVhbCBmaWxlbmFtZSB3aWxsIGJlIGluZmVycmVkIGJ5CisgICAgICAgIHRoZSBsaW5rZXIsIHRoZSBjb21waWxlciwgb3IgdGhlIGNvbXBpbGVyIGNsYXNzIChkZXBlbmRpbmcgb24gdGhlCisgICAgICAgIHBsYXRmb3JtKS4KKworICAgICAgICBUaGUgbGlua2VyIHdpbGwgYmUgaW5zdHJ1Y3RlZCB0byBsaW5rIGFnYWluc3QgbGlicmFyaWVzIGluIHRoZQorICAgICAgICBvcmRlciB0aGV5IHdlcmUgc3VwcGxpZWQgdG8gJ2FkZF9saWJyYXJ5KCknIGFuZC9vcgorICAgICAgICAnc2V0X2xpYnJhcmllcygpJy4gIEl0IGlzIHBlcmZlY3RseSB2YWxpZCB0byBkdXBsaWNhdGUgbGlicmFyeQorICAgICAgICBuYW1lczsgdGhlIGxpbmtlciB3aWxsIGJlIGluc3RydWN0ZWQgdG8gbGluayBhZ2FpbnN0IGxpYnJhcmllcyBhcworICAgICAgICBtYW55IHRpbWVzIGFzIHRoZXkgYXJlIG1lbnRpb25lZC4KKyAgICAgICAgIiIiCisgICAgICAgIHNlbGYubGlicmFyaWVzLmFwcGVuZChsaWJuYW1lKQorCisgICAgZGVmIHNldF9saWJyYXJpZXMoc2VsZiwgbGlibmFtZXMpOgorICAgICAgICAiIiJTZXQgdGhlIGxpc3Qgb2YgbGlicmFyaWVzIHRvIGJlIGluY2x1ZGVkIGluIGFsbCBsaW5rcyBkcml2ZW4gYnkKKyAgICAgICAgdGhpcyBjb21waWxlciBvYmplY3QgdG8gJ2xpYm5hbWVzJyAoYSBsaXN0IG9mIHN0cmluZ3MpLiAgVGhpcyBkb2VzCisgICAgICAgIG5vdCBhZmZlY3QgYW55IHN0YW5kYXJkIHN5c3RlbSBsaWJyYXJpZXMgdGhhdCB0aGUgbGlua2VyIG1heQorICAgICAgICBpbmNsdWRlIGJ5IGRlZmF1bHQuCisgICAgICAgICIiIgorICAgICAgICBzZWxmLmxpYnJhcmllcyA9IGxpYm5hbWVzWzpdCisKKworICAgIGRlZiBhZGRfbGlicmFyeV9kaXIoc2VsZiwgZGlyKToKKyAgICAgICAgIiIiQWRkICdkaXInIHRvIHRoZSBsaXN0IG9mIGRpcmVjdG9yaWVzIHRoYXQgd2lsbCBiZSBzZWFyY2hlZCBmb3IKKyAgICAgICAgbGlicmFyaWVzIHNwZWNpZmllZCB0byAnYWRkX2xpYnJhcnkoKScgYW5kICdzZXRfbGlicmFyaWVzKCknLiAgVGhlCisgICAgICAgIGxpbmtlciB3aWxsIGJlIGluc3RydWN0ZWQgdG8gc2VhcmNoIGZvciBsaWJyYXJpZXMgaW4gdGhlIG9yZGVyIHRoZXkKKyAgICAgICAgYXJlIHN1cHBsaWVkIHRvICdhZGRfbGlicmFyeV9kaXIoKScgYW5kL29yICdzZXRfbGlicmFyeV9kaXJzKCknLgorICAgICAgICAiIiIKKyAgICAgICAgc2VsZi5saWJyYXJ5X2RpcnMuYXBwZW5kKGRpcikKKworICAgIGRlZiBzZXRfbGlicmFyeV9kaXJzKHNlbGYsIGRpcnMpOgorICAgICAgICAiIiJTZXQgdGhlIGxpc3Qgb2YgbGlicmFyeSBzZWFyY2ggZGlyZWN0b3JpZXMgdG8gJ2RpcnMnIChhIGxpc3Qgb2YKKyAgICAgICAgc3RyaW5ncykuICBUaGlzIGRvZXMgbm90IGFmZmVjdCBhbnkgc3RhbmRhcmQgbGlicmFyeSBzZWFyY2ggcGF0aAorICAgICAgICB0aGF0IHRoZSBsaW5rZXIgbWF5IHNlYXJjaCBieSBkZWZhdWx0LgorICAgICAgICAiIiIKKyAgICAgICAgc2VsZi5saWJyYXJ5X2RpcnMgPSBkaXJzWzpdCisKKyAgICBkZWYgYWRkX3J1bnRpbWVfbGlicmFyeV9kaXIoc2VsZiwgZGlyKToKKyAgICAgICAgIiIiQWRkICdkaXInIHRvIHRoZSBsaXN0IG9mIGRpcmVjdG9yaWVzIHRoYXQgd2lsbCBiZSBzZWFyY2hlZCBmb3IKKyAgICAgICAgc2hhcmVkIGxpYnJhcmllcyBhdCBydW50aW1lLgorICAgICAgICAiIiIKKyAgICAgICAgc2VsZi5ydW50aW1lX2xpYnJhcnlfZGlycy5hcHBlbmQoZGlyKQorCisgICAgZGVmIHNldF9ydW50aW1lX2xpYnJhcnlfZGlycyhzZWxmLCBkaXJzKToKKyAgICAgICAgIiIiU2V0IHRoZSBsaXN0IG9mIGRpcmVjdG9yaWVzIHRvIHNlYXJjaCBmb3Igc2hhcmVkIGxpYnJhcmllcyBhdAorICAgICAgICBydW50aW1lIHRvICdkaXJzJyAoYSBsaXN0IG9mIHN0cmluZ3MpLiAgVGhpcyBkb2VzIG5vdCBhZmZlY3QgYW55CisgICAgICAgIHN0YW5kYXJkIHNlYXJjaCBwYXRoIHRoYXQgdGhlIHJ1bnRpbWUgbGlua2VyIG1heSBzZWFyY2ggYnkKKyAgICAgICAgZGVmYXVsdC4KKyAgICAgICAgIiIiCisgICAgICAgIHNlbGYucnVudGltZV9saWJyYXJ5X2RpcnMgPSBkaXJzWzpdCisKKyAgICBkZWYgYWRkX2xpbmtfb2JqZWN0KHNlbGYsIG9iamVjdCk6CisgICAgICAgICIiIkFkZCAnb2JqZWN0JyB0byB0aGUgbGlzdCBvZiBvYmplY3QgZmlsZXMgKG9yIGFuYWxvZ3Vlcywgc3VjaCBhcworICAgICAgICBleHBsaWNpdGx5IG5hbWVkIGxpYnJhcnkgZmlsZXMgb3IgdGhlIG91dHB1dCBvZiAicmVzb3VyY2UKKyAgICAgICAgY29tcGlsZXJzIikgdG8gYmUgaW5jbHVkZWQgaW4gZXZlcnkgbGluayBkcml2ZW4gYnkgdGhpcyBjb21waWxlcgorICAgICAgICBvYmplY3QuCisgICAgICAgICIiIgorICAgICAgICBzZWxmLm9iamVjdHMuYXBwZW5kKG9iamVjdCkKKworICAgIGRlZiBzZXRfbGlua19vYmplY3RzKHNlbGYsIG9iamVjdHMpOgorICAgICAgICAiIiJTZXQgdGhlIGxpc3Qgb2Ygb2JqZWN0IGZpbGVzIChvciBhbmFsb2d1ZXMpIHRvIGJlIGluY2x1ZGVkIGluCisgICAgICAgIGV2ZXJ5IGxpbmsgdG8gJ29iamVjdHMnLiAgVGhpcyBkb2VzIG5vdCBhZmZlY3QgYW55IHN0YW5kYXJkIG9iamVjdAorICAgICAgICBmaWxlcyB0aGF0IHRoZSBsaW5rZXIgbWF5IGluY2x1ZGUgYnkgZGVmYXVsdCAoc3VjaCBhcyBzeXN0ZW0KKyAgICAgICAgbGlicmFyaWVzKS4KKyAgICAgICAgIiIiCisgICAgICAgIHNlbGYub2JqZWN0cyA9IG9iamVjdHNbOl0KKworCisgICAgIyAtLSBQcml2YXRlIHV0aWxpdHkgbWV0aG9kcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgICMgKGhlcmUgZm9yIHRoZSBjb252ZW5pZW5jZSBvZiBzdWJjbGFzc2VzKQorCisgICAgIyBIZWxwZXIgbWV0aG9kIHRvIHByZXAgY29tcGlsZXIgaW4gc3ViY2xhc3MgY29tcGlsZSgpIG1ldGhvZHMKKyAgICBkZWYgX3NldHVwX2NvbXBpbGUoc2VsZiwgb3V0ZGlyLCBtYWNyb3MsIGluY2RpcnMsIHNvdXJjZXMsIGRlcGVuZHMsCisgICAgICAgICAgICAgICAgICAgICAgIGV4dHJhKToKKyAgICAgICAgIiIiUHJvY2VzcyBhcmd1bWVudHMgYW5kIGRlY2lkZSB3aGljaCBzb3VyY2UgZmlsZXMgdG8gY29tcGlsZS4iIiIKKyAgICAgICAgaWYgb3V0ZGlyIGlzIE5vbmU6CisgICAgICAgICAgICBvdXRkaXIgPSBzZWxmLm91dHB1dF9kaXIKKyAgICAgICAgZWxpZiBub3QgaXNpbnN0YW5jZShvdXRkaXIsIHN0cik6CisgICAgICAgICAgICByYWlzZSBUeXBlRXJyb3IoIidvdXRwdXRfZGlyJyBtdXN0IGJlIGEgc3RyaW5nIG9yIE5vbmUiKQorCisgICAgICAgIGlmIG1hY3JvcyBpcyBOb25lOgorICAgICAgICAgICAgbWFjcm9zID0gc2VsZi5tYWNyb3MKKyAgICAgICAgZWxpZiBpc2luc3RhbmNlKG1hY3JvcywgbGlzdCk6CisgICAgICAgICAgICBtYWNyb3MgPSBtYWNyb3MgKyAoc2VsZi5tYWNyb3Mgb3IgW10pCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByYWlzZSBUeXBlRXJyb3IoIidtYWNyb3MnIChpZiBzdXBwbGllZCkgbXVzdCBiZSBhIGxpc3Qgb2YgdHVwbGVzIikKKworICAgICAgICBpZiBpbmNkaXJzIGlzIE5vbmU6CisgICAgICAgICAgICBpbmNkaXJzID0gc2VsZi5pbmNsdWRlX2RpcnMKKyAgICAgICAgZWxpZiBpc2luc3RhbmNlKGluY2RpcnMsIChsaXN0LCB0dXBsZSkpOgorICAgICAgICAgICAgaW5jZGlycyA9IGxpc3QoaW5jZGlycykgKyAoc2VsZi5pbmNsdWRlX2RpcnMgb3IgW10pCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByYWlzZSBUeXBlRXJyb3IoCisgICAgICAgICAgICAgICAgIidpbmNsdWRlX2RpcnMnIChpZiBzdXBwbGllZCkgbXVzdCBiZSBhIGxpc3Qgb2Ygc3RyaW5ncyIpCisKKyAgICAgICAgaWYgZXh0cmEgaXMgTm9uZToKKyAgICAgICAgICAgIGV4dHJhID0gW10KKworICAgICAgICAjIEdldCB0aGUgbGlzdCBvZiBleHBlY3RlZCBvdXRwdXQgKG9iamVjdCkgZmlsZXMKKyAgICAgICAgb2JqZWN0cyA9IHNlbGYub2JqZWN0X2ZpbGVuYW1lcyhzb3VyY2VzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmlwX2Rpcj1GYWxzZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdXRwdXRfZGlyPW91dGRpcikKKyAgICAgICAgYXNzZXJ0IGxlbihvYmplY3RzKSA9PSBsZW4oc291cmNlcykKKworICAgICAgICBwcF9vcHRzID0gZ2VuX3ByZXByb2Nlc3Nfb3B0aW9ucyhtYWNyb3MsIGluY2RpcnMpCisKKyAgICAgICAgYnVpbGQgPSB7fQorICAgICAgICBmb3IgaSBpbiByYW5nZShsZW4oc291cmNlcykpOgorICAgICAgICAgICAgc3JjID0gc291cmNlc1tpXQorICAgICAgICAgICAgb2JqID0gb2JqZWN0c1tpXQorICAgICAgICAgICAgZXh0ID0gb3MucGF0aC5zcGxpdGV4dChzcmMpWzFdCisgICAgICAgICAgICBzZWxmLm1rcGF0aChvcy5wYXRoLmRpcm5hbWUob2JqKSkKKyAgICAgICAgICAgIGJ1aWxkW29ial0gPSAoc3JjLCBleHQpCisKKyAgICAgICAgcmV0dXJuIG1hY3Jvcywgb2JqZWN0cywgZXh0cmEsIHBwX29wdHMsIGJ1aWxkCisKKyAgICBkZWYgX2dldF9jY19hcmdzKHNlbGYsIHBwX29wdHMsIGRlYnVnLCBiZWZvcmUpOgorICAgICAgICAjIHdvcmtzIGZvciB1bml4Y2NvbXBpbGVyIGFuZCBjeWd3aW5jY29tcGlsZXIKKyAgICAgICAgY2NfYXJncyA9IHBwX29wdHMgKyBbJy1jJ10KKyAgICAgICAgaWYgZGVidWc6CisgICAgICAgICAgICBjY19hcmdzWzowXSA9IFsnLWcnXQorICAgICAgICBpZiBiZWZvcmU6CisgICAgICAgICAgICBjY19hcmdzWzowXSA9IGJlZm9yZQorICAgICAgICByZXR1cm4gY2NfYXJncworCisgICAgZGVmIF9maXhfY29tcGlsZV9hcmdzKHNlbGYsIG91dHB1dF9kaXIsIG1hY3JvcywgaW5jbHVkZV9kaXJzKToKKyAgICAgICAgIiIiVHlwZWNoZWNrIGFuZCBmaXgtdXAgc29tZSBvZiB0aGUgYXJndW1lbnRzIHRvIHRoZSAnY29tcGlsZSgpJworICAgICAgICBtZXRob2QsIGFuZCByZXR1cm4gZml4ZWQtdXAgdmFsdWVzLiAgU3BlY2lmaWNhbGx5OiBpZiAnb3V0cHV0X2RpcicKKyAgICAgICAgaXMgTm9uZSwgcmVwbGFjZXMgaXQgd2l0aCAnc2VsZi5vdXRwdXRfZGlyJzsgZW5zdXJlcyB0aGF0ICdtYWNyb3MnCisgICAgICAgIGlzIGEgbGlzdCwgYW5kIGF1Z21lbnRzIGl0IHdpdGggJ3NlbGYubWFjcm9zJzsgZW5zdXJlcyB0aGF0CisgICAgICAgICdpbmNsdWRlX2RpcnMnIGlzIGEgbGlzdCwgYW5kIGF1Z21lbnRzIGl0IHdpdGggJ3NlbGYuaW5jbHVkZV9kaXJzJy4KKyAgICAgICAgR3VhcmFudGVlcyB0aGF0IHRoZSByZXR1cm5lZCB2YWx1ZXMgYXJlIG9mIHRoZSBjb3JyZWN0IHR5cGUsCisgICAgICAgIGkuZS4gZm9yICdvdXRwdXRfZGlyJyBlaXRoZXIgc3RyaW5nIG9yIE5vbmUsIGFuZCBmb3IgJ21hY3JvcycgYW5kCisgICAgICAgICdpbmNsdWRlX2RpcnMnIGVpdGhlciBsaXN0IG9yIE5vbmUuCisgICAgICAgICIiIgorICAgICAgICBpZiBvdXRwdXRfZGlyIGlzIE5vbmU6CisgICAgICAgICAgICBvdXRwdXRfZGlyID0gc2VsZi5vdXRwdXRfZGlyCisgICAgICAgIGVsaWYgbm90IGlzaW5zdGFuY2Uob3V0cHV0X2Rpciwgc3RyKToKKyAgICAgICAgICAgIHJhaXNlIFR5cGVFcnJvcigiJ291dHB1dF9kaXInIG11c3QgYmUgYSBzdHJpbmcgb3IgTm9uZSIpCisKKyAgICAgICAgaWYgbWFjcm9zIGlzIE5vbmU6CisgICAgICAgICAgICBtYWNyb3MgPSBzZWxmLm1hY3JvcworICAgICAgICBlbGlmIGlzaW5zdGFuY2UobWFjcm9zLCBsaXN0KToKKyAgICAgICAgICAgIG1hY3JvcyA9IG1hY3JvcyArIChzZWxmLm1hY3JvcyBvciBbXSkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJhaXNlIFR5cGVFcnJvcigiJ21hY3JvcycgKGlmIHN1cHBsaWVkKSBtdXN0IGJlIGEgbGlzdCBvZiB0dXBsZXMiKQorCisgICAgICAgIGlmIGluY2x1ZGVfZGlycyBpcyBOb25lOgorICAgICAgICAgICAgaW5jbHVkZV9kaXJzID0gc2VsZi5pbmNsdWRlX2RpcnMKKyAgICAgICAgZWxpZiBpc2luc3RhbmNlKGluY2x1ZGVfZGlycywgKGxpc3QsIHR1cGxlKSk6CisgICAgICAgICAgICBpbmNsdWRlX2RpcnMgPSBsaXN0KGluY2x1ZGVfZGlycykgKyAoc2VsZi5pbmNsdWRlX2RpcnMgb3IgW10pCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByYWlzZSBUeXBlRXJyb3IoCisgICAgICAgICAgICAgICAgIidpbmNsdWRlX2RpcnMnIChpZiBzdXBwbGllZCkgbXVzdCBiZSBhIGxpc3Qgb2Ygc3RyaW5ncyIpCisKKyAgICAgICAgcmV0dXJuIG91dHB1dF9kaXIsIG1hY3JvcywgaW5jbHVkZV9kaXJzCisKKyAgICBkZWYgX2ZpeF9vYmplY3RfYXJncyhzZWxmLCBvYmplY3RzLCBvdXRwdXRfZGlyKToKKyAgICAgICAgIiIiVHlwZWNoZWNrIGFuZCBmaXggdXAgc29tZSBhcmd1bWVudHMgc3VwcGxpZWQgdG8gdmFyaW91cyBtZXRob2RzLgorICAgICAgICBTcGVjaWZpY2FsbHk6IGVuc3VyZSB0aGF0ICdvYmplY3RzJyBpcyBhIGxpc3Q7IGlmIG91dHB1dF9kaXIgaXMKKyAgICAgICAgTm9uZSwgcmVwbGFjZSB3aXRoIHNlbGYub3V0cHV0X2Rpci4gIFJldHVybiBmaXhlZCB2ZXJzaW9ucyBvZgorICAgICAgICAnb2JqZWN0cycgYW5kICdvdXRwdXRfZGlyJy4KKyAgICAgICAgIiIiCisgICAgICAgIGlmIG5vdCBpc2luc3RhbmNlKG9iamVjdHMsIChsaXN0LCB0dXBsZSkpOgorICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCInb2JqZWN0cycgbXVzdCBiZSBhIGxpc3Qgb3IgdHVwbGUgb2Ygc3RyaW5ncyIpCisgICAgICAgIG9iamVjdHMgPSBsaXN0KG9iamVjdHMpCisKKyAgICAgICAgaWYgb3V0cHV0X2RpciBpcyBOb25lOgorICAgICAgICAgICAgb3V0cHV0X2RpciA9IHNlbGYub3V0cHV0X2RpcgorICAgICAgICBlbGlmIG5vdCBpc2luc3RhbmNlKG91dHB1dF9kaXIsIHN0cik6CisgICAgICAgICAgICByYWlzZSBUeXBlRXJyb3IoIidvdXRwdXRfZGlyJyBtdXN0IGJlIGEgc3RyaW5nIG9yIE5vbmUiKQorCisgICAgICAgIHJldHVybiBvYmplY3RzLCBvdXRwdXRfZGlyCisKKyAgICBkZWYgX2ZpeF9saWJfYXJncyhzZWxmLCBsaWJyYXJpZXMsIGxpYnJhcnlfZGlycywgcnVudGltZV9saWJyYXJ5X2RpcnMpOgorICAgICAgICAiIiJUeXBlY2hlY2sgYW5kIGZpeCB1cCBzb21lIG9mIHRoZSBhcmd1bWVudHMgc3VwcGxpZWQgdG8gdGhlCisgICAgICAgICdsaW5rXyonIG1ldGhvZHMuICBTcGVjaWZpY2FsbHk6IGVuc3VyZSB0aGF0IGFsbCBhcmd1bWVudHMgYXJlCisgICAgICAgIGxpc3RzLCBhbmQgYXVnbWVudCB0aGVtIHdpdGggdGhlaXIgcGVybWFuZW50IHZlcnNpb25zCisgICAgICAgIChlZy4gJ3NlbGYubGlicmFyaWVzJyBhdWdtZW50cyAnbGlicmFyaWVzJykuICBSZXR1cm4gYSB0dXBsZSB3aXRoCisgICAgICAgIGZpeGVkIHZlcnNpb25zIG9mIGFsbCBhcmd1bWVudHMuCisgICAgICAgICIiIgorICAgICAgICBpZiBsaWJyYXJpZXMgaXMgTm9uZToKKyAgICAgICAgICAgIGxpYnJhcmllcyA9IHNlbGYubGlicmFyaWVzCisgICAgICAgIGVsaWYgaXNpbnN0YW5jZShsaWJyYXJpZXMsIChsaXN0LCB0dXBsZSkpOgorICAgICAgICAgICAgbGlicmFyaWVzID0gbGlzdChsaWJyYXJpZXMpICsgKHNlbGYubGlicmFyaWVzIG9yIFtdKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yKAorICAgICAgICAgICAgICAgICInbGlicmFyaWVzJyAoaWYgc3VwcGxpZWQpIG11c3QgYmUgYSBsaXN0IG9mIHN0cmluZ3MiKQorCisgICAgICAgIGlmIGxpYnJhcnlfZGlycyBpcyBOb25lOgorICAgICAgICAgICAgbGlicmFyeV9kaXJzID0gc2VsZi5saWJyYXJ5X2RpcnMKKyAgICAgICAgZWxpZiBpc2luc3RhbmNlKGxpYnJhcnlfZGlycywgKGxpc3QsIHR1cGxlKSk6CisgICAgICAgICAgICBsaWJyYXJ5X2RpcnMgPSBsaXN0KGxpYnJhcnlfZGlycykgKyAoc2VsZi5saWJyYXJ5X2RpcnMgb3IgW10pCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByYWlzZSBUeXBlRXJyb3IoCisgICAgICAgICAgICAgICAgIidsaWJyYXJ5X2RpcnMnIChpZiBzdXBwbGllZCkgbXVzdCBiZSBhIGxpc3Qgb2Ygc3RyaW5ncyIpCisKKyAgICAgICAgaWYgcnVudGltZV9saWJyYXJ5X2RpcnMgaXMgTm9uZToKKyAgICAgICAgICAgIHJ1bnRpbWVfbGlicmFyeV9kaXJzID0gc2VsZi5ydW50aW1lX2xpYnJhcnlfZGlycworICAgICAgICBlbGlmIGlzaW5zdGFuY2UocnVudGltZV9saWJyYXJ5X2RpcnMsIChsaXN0LCB0dXBsZSkpOgorICAgICAgICAgICAgcnVudGltZV9saWJyYXJ5X2RpcnMgPSAobGlzdChydW50aW1lX2xpYnJhcnlfZGlycykgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNlbGYucnVudGltZV9saWJyYXJ5X2RpcnMgb3IgW10pKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCIncnVudGltZV9saWJyYXJ5X2RpcnMnIChpZiBzdXBwbGllZCkgIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtdXN0IGJlIGEgbGlzdCBvZiBzdHJpbmdzIikKKworICAgICAgICByZXR1cm4gbGlicmFyaWVzLCBsaWJyYXJ5X2RpcnMsIHJ1bnRpbWVfbGlicmFyeV9kaXJzCisKKyAgICBkZWYgX25lZWRfbGluayhzZWxmLCBvYmplY3RzLCBvdXRwdXRfZmlsZSk6CisgICAgICAgICIiIlJldHVybiB0cnVlIGlmIHdlIG5lZWQgdG8gcmVsaW5rIHRoZSBmaWxlcyBsaXN0ZWQgaW4gJ29iamVjdHMnCisgICAgICAgIHRvIHJlY3JlYXRlICdvdXRwdXRfZmlsZScuCisgICAgICAgICIiIgorICAgICAgICBpZiBzZWxmLmZvcmNlOgorICAgICAgICAgICAgcmV0dXJuIFRydWUKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGlmIHNlbGYuZHJ5X3J1bjoKKyAgICAgICAgICAgICAgICBuZXdlciA9IG5ld2VyX2dyb3VwKG9iamVjdHMsIG91dHB1dF9maWxlLCBtaXNzaW5nPSduZXdlcicpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIG5ld2VyID0gbmV3ZXJfZ3JvdXAob2JqZWN0cywgb3V0cHV0X2ZpbGUpCisgICAgICAgICAgICByZXR1cm4gbmV3ZXIKKworICAgIGRlZiBkZXRlY3RfbGFuZ3VhZ2Uoc2VsZiwgc291cmNlcyk6CisgICAgICAgICIiIkRldGVjdCB0aGUgbGFuZ3VhZ2Ugb2YgYSBnaXZlbiBmaWxlLCBvciBsaXN0IG9mIGZpbGVzLiBVc2VzCisgICAgICAgIGxhbmd1YWdlX21hcCwgYW5kIGxhbmd1YWdlX29yZGVyIHRvIGRvIHRoZSBqb2IuCisgICAgICAgICIiIgorICAgICAgICBpZiBub3QgaXNpbnN0YW5jZShzb3VyY2VzLCBsaXN0KToKKyAgICAgICAgICAgIHNvdXJjZXMgPSBbc291cmNlc10KKyAgICAgICAgbGFuZyA9IE5vbmUKKyAgICAgICAgaW5kZXggPSBsZW4oc2VsZi5sYW5ndWFnZV9vcmRlcikKKyAgICAgICAgZm9yIHNvdXJjZSBpbiBzb3VyY2VzOgorICAgICAgICAgICAgYmFzZSwgZXh0ID0gb3MucGF0aC5zcGxpdGV4dChzb3VyY2UpCisgICAgICAgICAgICBleHRsYW5nID0gc2VsZi5sYW5ndWFnZV9tYXAuZ2V0KGV4dCkKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBleHRpbmRleCA9IHNlbGYubGFuZ3VhZ2Vfb3JkZXIuaW5kZXgoZXh0bGFuZykKKyAgICAgICAgICAgICAgICBpZiBleHRpbmRleCA8IGluZGV4OgorICAgICAgICAgICAgICAgICAgICBsYW5nID0gZXh0bGFuZworICAgICAgICAgICAgICAgICAgICBpbmRleCA9IGV4dGluZGV4CisgICAgICAgICAgICBleGNlcHQgVmFsdWVFcnJvcjoKKyAgICAgICAgICAgICAgICBwYXNzCisgICAgICAgIHJldHVybiBsYW5nCisKKyAgICAjIC0tIFdvcmtlciBtZXRob2RzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgICMgKG11c3QgYmUgaW1wbGVtZW50ZWQgYnkgc3ViY2xhc3NlcykKKworICAgIGRlZiBwcmVwcm9jZXNzKHNlbGYsIHNvdXJjZSwgb3V0cHV0X2ZpbGU9Tm9uZSwgbWFjcm9zPU5vbmUsCisgICAgICAgICAgICAgICAgICAgaW5jbHVkZV9kaXJzPU5vbmUsIGV4dHJhX3ByZWFyZ3M9Tm9uZSwgZXh0cmFfcG9zdGFyZ3M9Tm9uZSk6CisgICAgICAgICIiIlByZXByb2Nlc3MgYSBzaW5nbGUgQy9DKysgc291cmNlIGZpbGUsIG5hbWVkIGluICdzb3VyY2UnLgorICAgICAgICBPdXRwdXQgd2lsbCBiZSB3cml0dGVuIHRvIGZpbGUgbmFtZWQgJ291dHB1dF9maWxlJywgb3Igc3Rkb3V0IGlmCisgICAgICAgICdvdXRwdXRfZmlsZScgbm90IHN1cHBsaWVkLiAgJ21hY3JvcycgaXMgYSBsaXN0IG9mIG1hY3JvCisgICAgICAgIGRlZmluaXRpb25zIGFzIGZvciAnY29tcGlsZSgpJywgd2hpY2ggd2lsbCBhdWdtZW50IHRoZSBtYWNyb3Mgc2V0CisgICAgICAgIHdpdGggJ2RlZmluZV9tYWNybygpJyBhbmQgJ3VuZGVmaW5lX21hY3JvKCknLiAgJ2luY2x1ZGVfZGlycycgaXMgYQorICAgICAgICBsaXN0IG9mIGRpcmVjdG9yeSBuYW1lcyB0aGF0IHdpbGwgYmUgYWRkZWQgdG8gdGhlIGRlZmF1bHQgbGlzdC4KKworICAgICAgICBSYWlzZXMgUHJlcHJvY2Vzc0Vycm9yIG9uIGZhaWx1cmUuCisgICAgICAgICIiIgorICAgICAgICBwYXNzCisKKyAgICBkZWYgY29tcGlsZShzZWxmLCBzb3VyY2VzLCBvdXRwdXRfZGlyPU5vbmUsIG1hY3Jvcz1Ob25lLAorICAgICAgICAgICAgICAgIGluY2x1ZGVfZGlycz1Ob25lLCBkZWJ1Zz1GYWxzZSwgZXh0cmFfcHJlYXJncz1Ob25lLAorICAgICAgICAgICAgICAgIGV4dHJhX3Bvc3RhcmdzPU5vbmUsIGRlcGVuZHM9Tm9uZSk6CisgICAgICAgICIiIkNvbXBpbGUgb25lIG9yIG1vcmUgc291cmNlIGZpbGVzLgorCisgICAgICAgICdzb3VyY2VzJyBtdXN0IGJlIGEgbGlzdCBvZiBmaWxlbmFtZXMsIG1vc3QgbGlrZWx5IEMvQysrCisgICAgICAgIGZpbGVzLCBidXQgaW4gcmVhbGl0eSBhbnl0aGluZyB0aGF0IGNhbiBiZSBoYW5kbGVkIGJ5IGEKKyAgICAgICAgcGFydGljdWxhciBjb21waWxlciBhbmQgY29tcGlsZXIgY2xhc3MgKGVnLiBNU1ZDQ29tcGlsZXIgY2FuCisgICAgICAgIGhhbmRsZSByZXNvdXJjZSBmaWxlcyBpbiAnc291cmNlcycpLiAgUmV0dXJuIGEgbGlzdCBvZiBvYmplY3QKKyAgICAgICAgZmlsZW5hbWVzLCBvbmUgcGVyIHNvdXJjZSBmaWxlbmFtZSBpbiAnc291cmNlcycuICBEZXBlbmRpbmcgb24KKyAgICAgICAgdGhlIGltcGxlbWVudGF0aW9uLCBub3QgYWxsIHNvdXJjZSBmaWxlcyB3aWxsIG5lY2Vzc2FyaWx5IGJlCisgICAgICAgIGNvbXBpbGVkLCBidXQgYWxsIGNvcnJlc3BvbmRpbmcgb2JqZWN0IGZpbGVuYW1lcyB3aWxsIGJlCisgICAgICAgIHJldHVybmVkLgorCisgICAgICAgIElmICdvdXRwdXRfZGlyJyBpcyBnaXZlbiwgb2JqZWN0IGZpbGVzIHdpbGwgYmUgcHV0IHVuZGVyIGl0LCB3aGlsZQorICAgICAgICByZXRhaW5pbmcgdGhlaXIgb3JpZ2luYWwgcGF0aCBjb21wb25lbnQuICBUaGF0IGlzLCAiZm9vL2Jhci5jIgorICAgICAgICBub3JtYWxseSBjb21waWxlcyB0byAiZm9vL2Jhci5vIiAoZm9yIGEgVW5peCBpbXBsZW1lbnRhdGlvbik7IGlmCisgICAgICAgICdvdXRwdXRfZGlyJyBpcyAiYnVpbGQiLCB0aGVuIGl0IHdvdWxkIGNvbXBpbGUgdG8KKyAgICAgICAgImJ1aWxkL2Zvby9iYXIubyIuCisKKyAgICAgICAgJ21hY3JvcycsIGlmIGdpdmVuLCBtdXN0IGJlIGEgbGlzdCBvZiBtYWNybyBkZWZpbml0aW9ucy4gIEEgbWFjcm8KKyAgICAgICAgZGVmaW5pdGlvbiBpcyBlaXRoZXIgYSAobmFtZSwgdmFsdWUpIDItdHVwbGUgb3IgYSAobmFtZSwpIDEtdHVwbGUuCisgICAgICAgIFRoZSBmb3JtZXIgZGVmaW5lcyBhIG1hY3JvOyBpZiB0aGUgdmFsdWUgaXMgTm9uZSwgdGhlIG1hY3JvIGlzCisgICAgICAgIGRlZmluZWQgd2l0aG91dCBhbiBleHBsaWNpdCB2YWx1ZS4gIFRoZSAxLXR1cGxlIGNhc2UgdW5kZWZpbmVzIGEKKyAgICAgICAgbWFjcm8uICBMYXRlciBkZWZpbml0aW9ucy9yZWRlZmluaXRpb25zLyB1bmRlZmluaXRpb25zIHRha2UKKyAgICAgICAgcHJlY2VkZW5jZS4KKworICAgICAgICAnaW5jbHVkZV9kaXJzJywgaWYgZ2l2ZW4sIG11c3QgYmUgYSBsaXN0IG9mIHN0cmluZ3MsIHRoZQorICAgICAgICBkaXJlY3RvcmllcyB0byBhZGQgdG8gdGhlIGRlZmF1bHQgaW5jbHVkZSBmaWxlIHNlYXJjaCBwYXRoIGZvciB0aGlzCisgICAgICAgIGNvbXBpbGF0aW9uIG9ubHkuCisKKyAgICAgICAgJ2RlYnVnJyBpcyBhIGJvb2xlYW47IGlmIHRydWUsIHRoZSBjb21waWxlciB3aWxsIGJlIGluc3RydWN0ZWQgdG8KKyAgICAgICAgb3V0cHV0IGRlYnVnIHN5bWJvbHMgaW4gKG9yIGFsb25nc2lkZSkgdGhlIG9iamVjdCBmaWxlKHMpLgorCisgICAgICAgICdleHRyYV9wcmVhcmdzJyBhbmQgJ2V4dHJhX3Bvc3RhcmdzJyBhcmUgaW1wbGVtZW50YXRpb24tIGRlcGVuZGVudC4KKyAgICAgICAgT24gcGxhdGZvcm1zIHRoYXQgaGF2ZSB0aGUgbm90aW9uIG9mIGEgY29tbWFuZCBsaW5lIChlLmcuIFVuaXgsCisgICAgICAgIERPUy9XaW5kb3dzKSwgdGhleSBhcmUgbW9zdCBsaWtlbHkgbGlzdHMgb2Ygc3RyaW5nczogZXh0cmEKKyAgICAgICAgY29tbWFuZC1saW5lIGFyZ3VtZW50cyB0byBwcmVwYW5kL2FwcGVuZCB0byB0aGUgY29tcGlsZXIgY29tbWFuZAorICAgICAgICBsaW5lLiAgT24gb3RoZXIgcGxhdGZvcm1zLCBjb25zdWx0IHRoZSBpbXBsZW1lbnRhdGlvbiBjbGFzcworICAgICAgICBkb2N1bWVudGF0aW9uLiAgSW4gYW55IGV2ZW50LCB0aGV5IGFyZSBpbnRlbmRlZCBhcyBhbiBlc2NhcGUgaGF0Y2gKKyAgICAgICAgZm9yIHRob3NlIG9jY2FzaW9ucyB3aGVuIHRoZSBhYnN0cmFjdCBjb21waWxlciBmcmFtZXdvcmsgZG9lc24ndAorICAgICAgICBjdXQgdGhlIG11c3RhcmQuCisKKyAgICAgICAgJ2RlcGVuZHMnLCBpZiBnaXZlbiwgaXMgYSBsaXN0IG9mIGZpbGVuYW1lcyB0aGF0IGFsbCB0YXJnZXRzCisgICAgICAgIGRlcGVuZCBvbi4gIElmIGEgc291cmNlIGZpbGUgaXMgb2xkZXIgdGhhbiBhbnkgZmlsZSBpbgorICAgICAgICBkZXBlbmRzLCB0aGVuIHRoZSBzb3VyY2UgZmlsZSB3aWxsIGJlIHJlY29tcGlsZWQuICBUaGlzCisgICAgICAgIHN1cHBvcnRzIGRlcGVuZGVuY3kgdHJhY2tpbmcsIGJ1dCBvbmx5IGF0IGEgY29hcnNlCisgICAgICAgIGdyYW51bGFyaXR5LgorCisgICAgICAgIFJhaXNlcyBDb21waWxlRXJyb3Igb24gZmFpbHVyZS4KKyAgICAgICAgIiIiCisgICAgICAgICMgQSBjb25jcmV0ZSBjb21waWxlciBjbGFzcyBjYW4gZWl0aGVyIG92ZXJyaWRlIHRoaXMgbWV0aG9kCisgICAgICAgICMgZW50aXJlbHkgb3IgaW1wbGVtZW50IF9jb21waWxlKCkuCisKKyAgICAgICAgbWFjcm9zLCBvYmplY3RzLCBleHRyYV9wb3N0YXJncywgcHBfb3B0cywgYnVpbGQgPSBcCisgICAgICAgICAgICAgICAgc2VsZi5fc2V0dXBfY29tcGlsZShvdXRwdXRfZGlyLCBtYWNyb3MsIGluY2x1ZGVfZGlycywgc291cmNlcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlcGVuZHMsIGV4dHJhX3Bvc3RhcmdzKQorICAgICAgICBjY19hcmdzID0gc2VsZi5fZ2V0X2NjX2FyZ3MocHBfb3B0cywgZGVidWcsIGV4dHJhX3ByZWFyZ3MpCisKKyAgICAgICAgZm9yIG9iaiBpbiBvYmplY3RzOgorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIHNyYywgZXh0ID0gYnVpbGRbb2JqXQorICAgICAgICAgICAgZXhjZXB0IEtleUVycm9yOgorICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICBzZWxmLl9jb21waWxlKG9iaiwgc3JjLCBleHQsIGNjX2FyZ3MsIGV4dHJhX3Bvc3RhcmdzLCBwcF9vcHRzKQorCisgICAgICAgICMgUmV0dXJuICphbGwqIG9iamVjdCBmaWxlbmFtZXMsIG5vdCBqdXN0IHRoZSBvbmVzIHdlIGp1c3QgYnVpbHQuCisgICAgICAgIHJldHVybiBvYmplY3RzCisKKyAgICBkZWYgX2NvbXBpbGUoc2VsZiwgb2JqLCBzcmMsIGV4dCwgY2NfYXJncywgZXh0cmFfcG9zdGFyZ3MsIHBwX29wdHMpOgorICAgICAgICAiIiJDb21waWxlICdzcmMnIHRvIHByb2R1Y3QgJ29iaicuIiIiCisKKyAgICAgICAgIyBBIGNvbmNyZXRlIGNvbXBpbGVyIGNsYXNzIHRoYXQgZG9lcyBub3Qgb3ZlcnJpZGUgY29tcGlsZSgpCisgICAgICAgICMgc2hvdWxkIGltcGxlbWVudCBfY29tcGlsZSgpLgorICAgICAgICBwYXNzCisKKyAgICBkZWYgY3JlYXRlX3N0YXRpY19saWIoc2VsZiwgb2JqZWN0cywgb3V0cHV0X2xpYm5hbWUsIG91dHB1dF9kaXI9Tm9uZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgZGVidWc9RmFsc2UsIHRhcmdldF9sYW5nPU5vbmUpOgorICAgICAgICAiIiJMaW5rIGEgYnVuY2ggb2Ygc3R1ZmYgdG9nZXRoZXIgdG8gY3JlYXRlIGEgc3RhdGljIGxpYnJhcnkgZmlsZS4KKyAgICAgICAgVGhlICJidW5jaCBvZiBzdHVmZiIgY29uc2lzdHMgb2YgdGhlIGxpc3Qgb2Ygb2JqZWN0IGZpbGVzIHN1cHBsaWVkCisgICAgICAgIGFzICdvYmplY3RzJywgdGhlIGV4dHJhIG9iamVjdCBmaWxlcyBzdXBwbGllZCB0bworICAgICAgICAnYWRkX2xpbmtfb2JqZWN0KCknIGFuZC9vciAnc2V0X2xpbmtfb2JqZWN0cygpJywgdGhlIGxpYnJhcmllcworICAgICAgICBzdXBwbGllZCB0byAnYWRkX2xpYnJhcnkoKScgYW5kL29yICdzZXRfbGlicmFyaWVzKCknLCBhbmQgdGhlCisgICAgICAgIGxpYnJhcmllcyBzdXBwbGllZCBhcyAnbGlicmFyaWVzJyAoaWYgYW55KS4KKworICAgICAgICAnb3V0cHV0X2xpYm5hbWUnIHNob3VsZCBiZSBhIGxpYnJhcnkgbmFtZSwgbm90IGEgZmlsZW5hbWU7IHRoZQorICAgICAgICBmaWxlbmFtZSB3aWxsIGJlIGluZmVycmVkIGZyb20gdGhlIGxpYnJhcnkgbmFtZS4gICdvdXRwdXRfZGlyJyBpcworICAgICAgICB0aGUgZGlyZWN0b3J5IHdoZXJlIHRoZSBsaWJyYXJ5IGZpbGUgd2lsbCBiZSBwdXQuCisKKyAgICAgICAgJ2RlYnVnJyBpcyBhIGJvb2xlYW47IGlmIHRydWUsIGRlYnVnZ2luZyBpbmZvcm1hdGlvbiB3aWxsIGJlCisgICAgICAgIGluY2x1ZGVkIGluIHRoZSBsaWJyYXJ5IChub3RlIHRoYXQgb24gbW9zdCBwbGF0Zm9ybXMsIGl0IGlzIHRoZQorICAgICAgICBjb21waWxlIHN0ZXAgd2hlcmUgdGhpcyBtYXR0ZXJzOiB0aGUgJ2RlYnVnJyBmbGFnIGlzIGluY2x1ZGVkIGhlcmUKKyAgICAgICAganVzdCBmb3IgY29uc2lzdGVuY3kpLgorCisgICAgICAgICd0YXJnZXRfbGFuZycgaXMgdGhlIHRhcmdldCBsYW5ndWFnZSBmb3Igd2hpY2ggdGhlIGdpdmVuIG9iamVjdHMKKyAgICAgICAgYXJlIGJlaW5nIGNvbXBpbGVkLiBUaGlzIGFsbG93cyBzcGVjaWZpYyBsaW5rYWdlIHRpbWUgdHJlYXRtZW50IG9mCisgICAgICAgIGNlcnRhaW4gbGFuZ3VhZ2VzLgorCisgICAgICAgIFJhaXNlcyBMaWJFcnJvciBvbiBmYWlsdXJlLgorICAgICAgICAiIiIKKyAgICAgICAgcGFzcworCisgICAgIyB2YWx1ZXMgZm9yIHRhcmdldF9kZXNjIHBhcmFtZXRlciBpbiBsaW5rKCkKKyAgICBTSEFSRURfT0JKRUNUID0gInNoYXJlZF9vYmplY3QiCisgICAgU0hBUkVEX0xJQlJBUlkgPSAic2hhcmVkX2xpYnJhcnkiCisgICAgRVhFQ1VUQUJMRSA9ICJleGVjdXRhYmxlIgorCisgICAgZGVmIGxpbmsoc2VsZiwgdGFyZ2V0X2Rlc2MsIG9iamVjdHMsIG91dHB1dF9maWxlbmFtZSwgb3V0cHV0X2Rpcj1Ob25lLAorICAgICAgICAgICAgIGxpYnJhcmllcz1Ob25lLCBsaWJyYXJ5X2RpcnM9Tm9uZSwgcnVudGltZV9saWJyYXJ5X2RpcnM9Tm9uZSwKKyAgICAgICAgICAgICBleHBvcnRfc3ltYm9scz1Ob25lLCBkZWJ1Zz1GYWxzZSwgZXh0cmFfcHJlYXJncz1Ob25lLAorICAgICAgICAgICAgIGV4dHJhX3Bvc3RhcmdzPU5vbmUsIGJ1aWxkX3RlbXA9Tm9uZSwgdGFyZ2V0X2xhbmc9Tm9uZSk6CisgICAgICAgICIiIkxpbmsgYSBidW5jaCBvZiBzdHVmZiB0b2dldGhlciB0byBjcmVhdGUgYW4gZXhlY3V0YWJsZSBvcgorICAgICAgICBzaGFyZWQgbGlicmFyeSBmaWxlLgorCisgICAgICAgIFRoZSAiYnVuY2ggb2Ygc3R1ZmYiIGNvbnNpc3RzIG9mIHRoZSBsaXN0IG9mIG9iamVjdCBmaWxlcyBzdXBwbGllZAorICAgICAgICBhcyAnb2JqZWN0cycuICAnb3V0cHV0X2ZpbGVuYW1lJyBzaG91bGQgYmUgYSBmaWxlbmFtZS4gIElmCisgICAgICAgICdvdXRwdXRfZGlyJyBpcyBzdXBwbGllZCwgJ291dHB1dF9maWxlbmFtZScgaXMgcmVsYXRpdmUgdG8gaXQKKyAgICAgICAgKGkuZS4gJ291dHB1dF9maWxlbmFtZScgY2FuIHByb3ZpZGUgZGlyZWN0b3J5IGNvbXBvbmVudHMgaWYKKyAgICAgICAgbmVlZGVkKS4KKworICAgICAgICAnbGlicmFyaWVzJyBpcyBhIGxpc3Qgb2YgbGlicmFyaWVzIHRvIGxpbmsgYWdhaW5zdC4gIFRoZXNlIGFyZQorICAgICAgICBsaWJyYXJ5IG5hbWVzLCBub3QgZmlsZW5hbWVzLCBzaW5jZSB0aGV5J3JlIHRyYW5zbGF0ZWQgaW50bworICAgICAgICBmaWxlbmFtZXMgaW4gYSBwbGF0Zm9ybS1zcGVjaWZpYyB3YXkgKGVnLiAiZm9vIiBiZWNvbWVzICJsaWJmb28uYSIKKyAgICAgICAgb24gVW5peCBhbmQgImZvby5saWIiIG9uIERPUy9XaW5kb3dzKS4gIEhvd2V2ZXIsIHRoZXkgY2FuIGluY2x1ZGUgYQorICAgICAgICBkaXJlY3RvcnkgY29tcG9uZW50LCB3aGljaCBtZWFucyB0aGUgbGlua2VyIHdpbGwgbG9vayBpbiB0aGF0CisgICAgICAgIHNwZWNpZmljIGRpcmVjdG9yeSByYXRoZXIgdGhhbiBzZWFyY2hpbmcgYWxsIHRoZSBub3JtYWwgbG9jYXRpb25zLgorCisgICAgICAgICdsaWJyYXJ5X2RpcnMnLCBpZiBzdXBwbGllZCwgc2hvdWxkIGJlIGEgbGlzdCBvZiBkaXJlY3RvcmllcyB0bworICAgICAgICBzZWFyY2ggZm9yIGxpYnJhcmllcyB0aGF0IHdlcmUgc3BlY2lmaWVkIGFzIGJhcmUgbGlicmFyeSBuYW1lcworICAgICAgICAoaWUuIG5vIGRpcmVjdG9yeSBjb21wb25lbnQpLiAgVGhlc2UgYXJlIG9uIHRvcCBvZiB0aGUgc3lzdGVtCisgICAgICAgIGRlZmF1bHQgYW5kIHRob3NlIHN1cHBsaWVkIHRvICdhZGRfbGlicmFyeV9kaXIoKScgYW5kL29yCisgICAgICAgICdzZXRfbGlicmFyeV9kaXJzKCknLiAgJ3J1bnRpbWVfbGlicmFyeV9kaXJzJyBpcyBhIGxpc3Qgb2YKKyAgICAgICAgZGlyZWN0b3JpZXMgdGhhdCB3aWxsIGJlIGVtYmVkZGVkIGludG8gdGhlIHNoYXJlZCBsaWJyYXJ5IGFuZCB1c2VkCisgICAgICAgIHRvIHNlYXJjaCBmb3Igb3RoZXIgc2hhcmVkIGxpYnJhcmllcyB0aGF0ICppdCogZGVwZW5kcyBvbiBhdAorICAgICAgICBydW4tdGltZS4gIChUaGlzIG1heSBvbmx5IGJlIHJlbGV2YW50IG9uIFVuaXguKQorCisgICAgICAgICdleHBvcnRfc3ltYm9scycgaXMgYSBsaXN0IG9mIHN5bWJvbHMgdGhhdCB0aGUgc2hhcmVkIGxpYnJhcnkgd2lsbAorICAgICAgICBleHBvcnQuICAoVGhpcyBhcHBlYXJzIHRvIGJlIHJlbGV2YW50IG9ubHkgb24gV2luZG93cy4pCisKKyAgICAgICAgJ2RlYnVnJyBpcyBhcyBmb3IgJ2NvbXBpbGUoKScgYW5kICdjcmVhdGVfc3RhdGljX2xpYigpJywgd2l0aCB0aGUKKyAgICAgICAgc2xpZ2h0IGRpc3RpbmN0aW9uIHRoYXQgaXQgYWN0dWFsbHkgbWF0dGVycyBvbiBtb3N0IHBsYXRmb3JtcyAoYXMKKyAgICAgICAgb3Bwb3NlZCB0byAnY3JlYXRlX3N0YXRpY19saWIoKScsIHdoaWNoIGluY2x1ZGVzIGEgJ2RlYnVnJyBmbGFnCisgICAgICAgIG1vc3RseSBmb3IgZm9ybSdzIHNha2UpLgorCisgICAgICAgICdleHRyYV9wcmVhcmdzJyBhbmQgJ2V4dHJhX3Bvc3RhcmdzJyBhcmUgYXMgZm9yICdjb21waWxlKCknIChleGNlcHQKKyAgICAgICAgb2YgY291cnNlIHRoYXQgdGhleSBzdXBwbHkgY29tbWFuZC1saW5lIGFyZ3VtZW50cyBmb3IgdGhlCisgICAgICAgIHBhcnRpY3VsYXIgbGlua2VyIGJlaW5nIHVzZWQpLgorCisgICAgICAgICd0YXJnZXRfbGFuZycgaXMgdGhlIHRhcmdldCBsYW5ndWFnZSBmb3Igd2hpY2ggdGhlIGdpdmVuIG9iamVjdHMKKyAgICAgICAgYXJlIGJlaW5nIGNvbXBpbGVkLiBUaGlzIGFsbG93cyBzcGVjaWZpYyBsaW5rYWdlIHRpbWUgdHJlYXRtZW50IG9mCisgICAgICAgIGNlcnRhaW4gbGFuZ3VhZ2VzLgorCisgICAgICAgIFJhaXNlcyBMaW5rRXJyb3Igb24gZmFpbHVyZS4KKyAgICAgICAgIiIiCisgICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IKKworCisgICAgIyBPbGQgJ2xpbmtfKigpJyBtZXRob2RzLCByZXdyaXR0ZW4gdG8gdXNlIHRoZSBuZXcgJ2xpbmsoKScgbWV0aG9kLgorCisgICAgZGVmIGxpbmtfc2hhcmVkX2xpYihzZWxmLCBvYmplY3RzLCBvdXRwdXRfbGlibmFtZSwgb3V0cHV0X2Rpcj1Ob25lLAorICAgICAgICAgICAgICAgICAgICAgICAgbGlicmFyaWVzPU5vbmUsIGxpYnJhcnlfZGlycz1Ob25lLAorICAgICAgICAgICAgICAgICAgICAgICAgcnVudGltZV9saWJyYXJ5X2RpcnM9Tm9uZSwgZXhwb3J0X3N5bWJvbHM9Tm9uZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGRlYnVnPUZhbHNlLCBleHRyYV9wcmVhcmdzPU5vbmUsIGV4dHJhX3Bvc3RhcmdzPU5vbmUsCisgICAgICAgICAgICAgICAgICAgICAgICBidWlsZF90ZW1wPU5vbmUsIHRhcmdldF9sYW5nPU5vbmUpOgorICAgICAgICBzZWxmLmxpbmsoQ0NvbXBpbGVyLlNIQVJFRF9MSUJSQVJZLCBvYmplY3RzLAorICAgICAgICAgICAgICAgICAgc2VsZi5saWJyYXJ5X2ZpbGVuYW1lKG91dHB1dF9saWJuYW1lLCBsaWJfdHlwZT0nc2hhcmVkJyksCisgICAgICAgICAgICAgICAgICBvdXRwdXRfZGlyLAorICAgICAgICAgICAgICAgICAgbGlicmFyaWVzLCBsaWJyYXJ5X2RpcnMsIHJ1bnRpbWVfbGlicmFyeV9kaXJzLAorICAgICAgICAgICAgICAgICAgZXhwb3J0X3N5bWJvbHMsIGRlYnVnLAorICAgICAgICAgICAgICAgICAgZXh0cmFfcHJlYXJncywgZXh0cmFfcG9zdGFyZ3MsIGJ1aWxkX3RlbXAsIHRhcmdldF9sYW5nKQorCisgICAgZGVmIGxpbmtfc2hhcmVkX29iamVjdChzZWxmLCBvYmplY3RzLCBvdXRwdXRfZmlsZW5hbWUsIG91dHB1dF9kaXI9Tm9uZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnJhcmllcz1Ob25lLCBsaWJyYXJ5X2RpcnM9Tm9uZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ1bnRpbWVfbGlicmFyeV9kaXJzPU5vbmUsIGV4cG9ydF9zeW1ib2xzPU5vbmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWJ1Zz1GYWxzZSwgZXh0cmFfcHJlYXJncz1Ob25lLCBleHRyYV9wb3N0YXJncz1Ob25lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVpbGRfdGVtcD1Ob25lLCB0YXJnZXRfbGFuZz1Ob25lKToKKyAgICAgICAgc2VsZi5saW5rKENDb21waWxlci5TSEFSRURfT0JKRUNULCBvYmplY3RzLAorICAgICAgICAgICAgICAgICAgb3V0cHV0X2ZpbGVuYW1lLCBvdXRwdXRfZGlyLAorICAgICAgICAgICAgICAgICAgbGlicmFyaWVzLCBsaWJyYXJ5X2RpcnMsIHJ1bnRpbWVfbGlicmFyeV9kaXJzLAorICAgICAgICAgICAgICAgICAgZXhwb3J0X3N5bWJvbHMsIGRlYnVnLAorICAgICAgICAgICAgICAgICAgZXh0cmFfcHJlYXJncywgZXh0cmFfcG9zdGFyZ3MsIGJ1aWxkX3RlbXAsIHRhcmdldF9sYW5nKQorCisgICAgZGVmIGxpbmtfZXhlY3V0YWJsZShzZWxmLCBvYmplY3RzLCBvdXRwdXRfcHJvZ25hbWUsIG91dHB1dF9kaXI9Tm9uZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGxpYnJhcmllcz1Ob25lLCBsaWJyYXJ5X2RpcnM9Tm9uZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHJ1bnRpbWVfbGlicmFyeV9kaXJzPU5vbmUsIGRlYnVnPUZhbHNlLAorICAgICAgICAgICAgICAgICAgICAgICAgZXh0cmFfcHJlYXJncz1Ob25lLCBleHRyYV9wb3N0YXJncz1Ob25lLAorICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0X2xhbmc9Tm9uZSk6CisgICAgICAgIHNlbGYubGluayhDQ29tcGlsZXIuRVhFQ1VUQUJMRSwgb2JqZWN0cywKKyAgICAgICAgICAgICAgICAgIHNlbGYuZXhlY3V0YWJsZV9maWxlbmFtZShvdXRwdXRfcHJvZ25hbWUpLCBvdXRwdXRfZGlyLAorICAgICAgICAgICAgICAgICAgbGlicmFyaWVzLCBsaWJyYXJ5X2RpcnMsIHJ1bnRpbWVfbGlicmFyeV9kaXJzLCBOb25lLAorICAgICAgICAgICAgICAgICAgZGVidWcsIGV4dHJhX3ByZWFyZ3MsIGV4dHJhX3Bvc3RhcmdzLCBOb25lLCB0YXJnZXRfbGFuZykKKworCisgICAgIyAtLSBNaXNjZWxsYW5lb3VzIG1ldGhvZHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgICAjIFRoZXNlIGFyZSBhbGwgdXNlZCBieSB0aGUgJ2dlbl9saWJfb3B0aW9ucygpIGZ1bmN0aW9uOyB0aGVyZSBpcworICAgICMgbm8gYXBwcm9wcmlhdGUgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiBzbyBzdWJjbGFzc2VzIHNob3VsZAorICAgICMgaW1wbGVtZW50IGFsbCBvZiB0aGVzZS4KKworICAgIGRlZiBsaWJyYXJ5X2Rpcl9vcHRpb24oc2VsZiwgZGlyKToKKyAgICAgICAgIiIiUmV0dXJuIHRoZSBjb21waWxlciBvcHRpb24gdG8gYWRkICdkaXInIHRvIHRoZSBsaXN0IG9mCisgICAgICAgIGRpcmVjdG9yaWVzIHNlYXJjaGVkIGZvciBsaWJyYXJpZXMuCisgICAgICAgICIiIgorICAgICAgICByYWlzZSBOb3RJbXBsZW1lbnRlZEVycm9yCisKKyAgICBkZWYgcnVudGltZV9saWJyYXJ5X2Rpcl9vcHRpb24oc2VsZiwgZGlyKToKKyAgICAgICAgIiIiUmV0dXJuIHRoZSBjb21waWxlciBvcHRpb24gdG8gYWRkICdkaXInIHRvIHRoZSBsaXN0IG9mCisgICAgICAgIGRpcmVjdG9yaWVzIHNlYXJjaGVkIGZvciBydW50aW1lIGxpYnJhcmllcy4KKyAgICAgICAgIiIiCisgICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IKKworICAgIGRlZiBsaWJyYXJ5X29wdGlvbihzZWxmLCBsaWIpOgorICAgICAgICAiIiJSZXR1cm4gdGhlIGNvbXBpbGVyIG9wdGlvbiB0byBhZGQgJ2RpcicgdG8gdGhlIGxpc3Qgb2YgbGlicmFyaWVzCisgICAgICAgIGxpbmtlZCBpbnRvIHRoZSBzaGFyZWQgbGlicmFyeSBvciBleGVjdXRhYmxlLgorICAgICAgICAiIiIKKyAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcgorCisgICAgZGVmIGhhc19mdW5jdGlvbihzZWxmLCBmdW5jbmFtZSwgaW5jbHVkZXM9Tm9uZSwgaW5jbHVkZV9kaXJzPU5vbmUsCisgICAgICAgICAgICAgICAgICAgICBsaWJyYXJpZXM9Tm9uZSwgbGlicmFyeV9kaXJzPU5vbmUpOgorICAgICAgICAiIiJSZXR1cm4gYSBib29sZWFuIGluZGljYXRpbmcgd2hldGhlciBmdW5jbmFtZSBpcyBzdXBwb3J0ZWQgb24KKyAgICAgICAgdGhlIGN1cnJlbnQgcGxhdGZvcm0uICBUaGUgb3B0aW9uYWwgYXJndW1lbnRzIGNhbiBiZSB1c2VkIHRvCisgICAgICAgIGF1Z21lbnQgdGhlIGNvbXBpbGF0aW9uIGVudmlyb25tZW50LgorICAgICAgICAiIiIKKworICAgICAgICAjIHRoaXMgY2FuJ3QgYmUgaW5jbHVkZWQgYXQgbW9kdWxlIHNjb3BlIGJlY2F1c2UgaXQgdHJpZXMgdG8KKyAgICAgICAgIyBpbXBvcnQgbWF0aCB3aGljaCBtaWdodCBub3QgYmUgYXZhaWxhYmxlIGF0IHRoYXQgcG9pbnQgLSBtYXliZQorICAgICAgICAjIHRoZSBuZWNlc3NhcnkgbG9naWMgc2hvdWxkIGp1c3QgYmUgaW5saW5lZD8KKyAgICAgICAgaW1wb3J0IHRlbXBmaWxlCisgICAgICAgIGlmIGluY2x1ZGVzIGlzIE5vbmU6CisgICAgICAgICAgICBpbmNsdWRlcyA9IFtdCisgICAgICAgIGlmIGluY2x1ZGVfZGlycyBpcyBOb25lOgorICAgICAgICAgICAgaW5jbHVkZV9kaXJzID0gW10KKyAgICAgICAgaWYgbGlicmFyaWVzIGlzIE5vbmU6CisgICAgICAgICAgICBsaWJyYXJpZXMgPSBbXQorICAgICAgICBpZiBsaWJyYXJ5X2RpcnMgaXMgTm9uZToKKyAgICAgICAgICAgIGxpYnJhcnlfZGlycyA9IFtdCisgICAgICAgIGZkLCBmbmFtZSA9IHRlbXBmaWxlLm1rc3RlbXAoIi5jIiwgZnVuY25hbWUsIHRleHQ9VHJ1ZSkKKyAgICAgICAgd2l0aCBvcy5mZG9wZW4oZmQsICJ3IikgYXMgZjoKKyAgICAgICAgICAgIGZvciBpbmNsIGluIGluY2x1ZGVzOgorICAgICAgICAgICAgICAgIGYud3JpdGUoIiIiI2luY2x1ZGUgIiVzIlxuIiIiICUgaW5jbCkKKyAgICAgICAgICAgIGYud3JpdGUoIiIiXAorbWFpbiAoaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7CisgICAgJXMoKTsKK30KKyIiIiAlIGZ1bmNuYW1lKQorICAgICAgICB0cnk6CisgICAgICAgICAgICBvYmplY3RzID0gc2VsZi5jb21waWxlKFtmbmFtZV0sIGluY2x1ZGVfZGlycz1pbmNsdWRlX2RpcnMpCisgICAgICAgIGV4Y2VwdCBDb21waWxlRXJyb3I6CisgICAgICAgICAgICByZXR1cm4gRmFsc2UKKworICAgICAgICB0cnk6CisgICAgICAgICAgICBzZWxmLmxpbmtfZXhlY3V0YWJsZShvYmplY3RzLCAiYS5vdXQiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlicmFyaWVzPWxpYnJhcmllcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnJhcnlfZGlycz1saWJyYXJ5X2RpcnMpCisgICAgICAgIGV4Y2VwdCAoTGlua0Vycm9yLCBUeXBlRXJyb3IpOgorICAgICAgICAgICAgcmV0dXJuIEZhbHNlCisgICAgICAgIHJldHVybiBUcnVlCisKKyAgICBkZWYgZmluZF9saWJyYXJ5X2ZpbGUoc2VsZiwgZGlycywgbGliLCBkZWJ1Zz1GYWxzZSk6CisgICAgICAgICIiIlNlYXJjaCB0aGUgc3BlY2lmaWVkIGxpc3Qgb2YgZGlyZWN0b3JpZXMgZm9yIGEgc3RhdGljIG9yIHNoYXJlZAorICAgICAgICBsaWJyYXJ5IGZpbGUgJ2xpYicgYW5kIHJldHVybiB0aGUgZnVsbCBwYXRoIHRvIHRoYXQgZmlsZS4gIElmCisgICAgICAgICdkZWJ1ZycgaXMgdHJ1ZSwgbG9vayBmb3IgYSBkZWJ1Z2dpbmcgdmVyc2lvbiAoaWYgdGhhdCBtYWtlcyBzZW5zZSBvbgorICAgICAgICB0aGUgY3VycmVudCBwbGF0Zm9ybSkuICBSZXR1cm4gTm9uZSBpZiAnbGliJyB3YXNuJ3QgZm91bmQgaW4gYW55IG9mCisgICAgICAgIHRoZSBzcGVjaWZpZWQgZGlyZWN0b3JpZXMuCisgICAgICAgICIiIgorICAgICAgICByYWlzZSBOb3RJbXBsZW1lbnRlZEVycm9yCisKKyAgICAjIC0tIEZpbGVuYW1lIGdlbmVyYXRpb24gbWV0aG9kcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisgICAgIyBUaGUgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgZmlsZW5hbWUgZ2VuZXJhdGluZyBtZXRob2RzIGFyZQorICAgICMgcHJlanVkaWNlZCB0b3dhcmRzIHRoZSBVbml4L0RPUy9XaW5kb3dzIHZpZXcgb2YgdGhlIHdvcmxkOgorICAgICMgICAqIG9iamVjdCBmaWxlcyBhcmUgbmFtZWQgYnkgcmVwbGFjaW5nIHRoZSBzb3VyY2UgZmlsZSBleHRlbnNpb24KKyAgICAjICAgICAoZWcuIC5jLy5jcHAgLT4gLm8vLm9iaikKKyAgICAjICAgKiBsaWJyYXJ5IGZpbGVzIChzaGFyZWQgb3Igc3RhdGljKSBhcmUgbmFtZWQgYnkgcGx1Z2dpbmcgdGhlCisgICAgIyAgICAgbGlicmFyeSBuYW1lIGFuZCBleHRlbnNpb24gaW50byBhIGZvcm1hdCBzdHJpbmcsIGVnLgorICAgICMgICAgICJsaWIlcy4lcyIgJSAobGliX25hbWUsICIuYSIpIGZvciBVbml4IHN0YXRpYyBsaWJyYXJpZXMKKyAgICAjICAgKiBleGVjdXRhYmxlcyBhcmUgbmFtZWQgYnkgYXBwZW5kaW5nIGFuIGV4dGVuc2lvbiAocG9zc2libHkKKyAgICAjICAgICBlbXB0eSkgdG8gdGhlIHByb2dyYW0gbmFtZTogZWcuIHByb2duYW1lICsgIi5leGUiIGZvcgorICAgICMgICAgIFdpbmRvd3MKKyAgICAjCisgICAgIyBUbyByZWR1Y2UgcmVkdW5kYW50IGNvZGUsIHRoZXNlIG1ldGhvZHMgZXhwZWN0IHRvIGZpbmQKKyAgICAjIHNldmVyYWwgYXR0cmlidXRlcyBpbiB0aGUgY3VycmVudCBvYmplY3QgKHByZXN1bWFibHkgZGVmaW5lZAorICAgICMgYXMgY2xhc3MgYXR0cmlidXRlcyk6CisgICAgIyAgICogc3JjX2V4dGVuc2lvbnMgLQorICAgICMgICAgIGxpc3Qgb2YgQy9DKysgc291cmNlIGZpbGUgZXh0ZW5zaW9ucywgZWcuIFsnLmMnLCAnLmNwcCddCisgICAgIyAgICogb2JqX2V4dGVuc2lvbiAtCisgICAgIyAgICAgb2JqZWN0IGZpbGUgZXh0ZW5zaW9uLCBlZy4gJy5vJyBvciAnLm9iaicKKyAgICAjICAgKiBzdGF0aWNfbGliX2V4dGVuc2lvbiAtCisgICAgIyAgICAgZXh0ZW5zaW9uIGZvciBzdGF0aWMgbGlicmFyeSBmaWxlcywgZWcuICcuYScgb3IgJy5saWInCisgICAgIyAgICogc2hhcmVkX2xpYl9leHRlbnNpb24gLQorICAgICMgICAgIGV4dGVuc2lvbiBmb3Igc2hhcmVkIGxpYnJhcnkvb2JqZWN0IGZpbGVzLCBlZy4gJy5zbycsICcuZGxsJworICAgICMgICAqIHN0YXRpY19saWJfZm9ybWF0IC0KKyAgICAjICAgICBmb3JtYXQgc3RyaW5nIGZvciBnZW5lcmF0aW5nIHN0YXRpYyBsaWJyYXJ5IGZpbGVuYW1lcywKKyAgICAjICAgICBlZy4gJ2xpYiVzLiVzJyBvciAnJXMuJXMnCisgICAgIyAgICogc2hhcmVkX2xpYl9mb3JtYXQKKyAgICAjICAgICBmb3JtYXQgc3RyaW5nIGZvciBnZW5lcmF0aW5nIHNoYXJlZCBsaWJyYXJ5IGZpbGVuYW1lcworICAgICMgICAgIChwcm9iYWJseSBzYW1lIGFzIHN0YXRpY19saWJfZm9ybWF0LCBzaW5jZSB0aGUgZXh0ZW5zaW9uCisgICAgIyAgICAgaXMgb25lIG9mIHRoZSBpbnRlbmRlZCBwYXJhbWV0ZXJzIHRvIHRoZSBmb3JtYXQgc3RyaW5nKQorICAgICMgICAqIGV4ZV9leHRlbnNpb24gLQorICAgICMgICAgIGV4dGVuc2lvbiBmb3IgZXhlY3V0YWJsZSBmaWxlcywgZWcuICcnIG9yICcuZXhlJworCisgICAgZGVmIG9iamVjdF9maWxlbmFtZXMoc2VsZiwgc291cmNlX2ZpbGVuYW1lcywgc3RyaXBfZGlyPUZhbHNlLCBvdXRwdXRfZGlyPScnKToKKyAgICAgICAgaWYgb3V0cHV0X2RpciBpcyBOb25lOgorICAgICAgICAgICAgb3V0cHV0X2RpciA9ICcnCisgICAgICAgIG9ial9uYW1lcyA9IFtdCisgICAgICAgIGZvciBzcmNfbmFtZSBpbiBzb3VyY2VfZmlsZW5hbWVzOgorICAgICAgICAgICAgYmFzZSwgZXh0ID0gb3MucGF0aC5zcGxpdGV4dChzcmNfbmFtZSkKKyAgICAgICAgICAgIGJhc2UgPSBvcy5wYXRoLnNwbGl0ZHJpdmUoYmFzZSlbMV0gICMgQ2hvcCBvZmYgdGhlIGRyaXZlCisgICAgICAgICAgICBiYXNlID0gYmFzZVtvcy5wYXRoLmlzYWJzKGJhc2UpOl0gICMgSWYgYWJzLCBjaG9wIG9mZiBsZWFkaW5nIC8KKyAgICAgICAgICAgIGlmIGV4dCBub3QgaW4gc2VsZi5zcmNfZXh0ZW5zaW9uczoKKyAgICAgICAgICAgICAgICByYWlzZSBVbmtub3duRmlsZUVycm9yKCJ1bmtub3duIGZpbGUgdHlwZSAnJXMnIChmcm9tICclcycpIiAlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZXh0LCBzcmNfbmFtZSkpCisgICAgICAgICAgICBpZiBzdHJpcF9kaXI6CisgICAgICAgICAgICAgICAgYmFzZSA9IG9zLnBhdGguYmFzZW5hbWUoYmFzZSkKKyAgICAgICAgICAgIG9ial9uYW1lcy5hcHBlbmQob3MucGF0aC5qb2luKG91dHB1dF9kaXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYXNlICsgc2VsZi5vYmpfZXh0ZW5zaW9uKSkKKyAgICAgICAgcmV0dXJuIG9ial9uYW1lcworCisgICAgZGVmIHNoYXJlZF9vYmplY3RfZmlsZW5hbWUoc2VsZiwgYmFzZW5hbWUsIHN0cmlwX2Rpcj1GYWxzZSwgb3V0cHV0X2Rpcj0nJyk6CisgICAgICAgIGFzc2VydCBvdXRwdXRfZGlyIGlzIG5vdCBOb25lCisgICAgICAgIGlmIHN0cmlwX2RpcjoKKyAgICAgICAgICAgIGJhc2VuYW1lID0gb3MucGF0aC5iYXNlbmFtZShiYXNlbmFtZSkKKyAgICAgICAgcmV0dXJuIG9zLnBhdGguam9pbihvdXRwdXRfZGlyLCBiYXNlbmFtZSArIHNlbGYuc2hhcmVkX2xpYl9leHRlbnNpb24pCisKKyAgICBkZWYgZXhlY3V0YWJsZV9maWxlbmFtZShzZWxmLCBiYXNlbmFtZSwgc3RyaXBfZGlyPUZhbHNlLCBvdXRwdXRfZGlyPScnKToKKyAgICAgICAgYXNzZXJ0IG91dHB1dF9kaXIgaXMgbm90IE5vbmUKKyAgICAgICAgaWYgc3RyaXBfZGlyOgorICAgICAgICAgICAgYmFzZW5hbWUgPSBvcy5wYXRoLmJhc2VuYW1lKGJhc2VuYW1lKQorICAgICAgICByZXR1cm4gb3MucGF0aC5qb2luKG91dHB1dF9kaXIsIGJhc2VuYW1lICsgKHNlbGYuZXhlX2V4dGVuc2lvbiBvciAnJykpCisKKyAgICBkZWYgbGlicmFyeV9maWxlbmFtZShzZWxmLCBsaWJuYW1lLCBsaWJfdHlwZT0nc3RhdGljJywgICAgICMgb3IgJ3NoYXJlZCcKKyAgICAgICAgICAgICAgICAgICAgICAgICBzdHJpcF9kaXI9RmFsc2UsIG91dHB1dF9kaXI9JycpOgorICAgICAgICBhc3NlcnQgb3V0cHV0X2RpciBpcyBub3QgTm9uZQorICAgICAgICBpZiBsaWJfdHlwZSBub3QgaW4gKCJzdGF0aWMiLCAic2hhcmVkIiwgImR5bGliIik6CisgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKAorICAgICAgICAgICAgICAgICInbGliX3R5cGUnIG11c3QgYmUgJ3N0YXRpYycsICdzaGFyZWQnIG9yICdkeWxpYiciKQorICAgICAgICBmbXQgPSBnZXRhdHRyKHNlbGYsIGxpYl90eXBlICsgIl9saWJfZm9ybWF0IikKKyAgICAgICAgZXh0ID0gZ2V0YXR0cihzZWxmLCBsaWJfdHlwZSArICJfbGliX2V4dGVuc2lvbiIpCisKKyAgICAgICAgZGlyLCBiYXNlID0gb3MucGF0aC5zcGxpdChsaWJuYW1lKQorICAgICAgICBmaWxlbmFtZSA9IGZtdCAlIChiYXNlLCBleHQpCisgICAgICAgIGlmIHN0cmlwX2RpcjoKKyAgICAgICAgICAgIGRpciA9ICcnCisKKyAgICAgICAgcmV0dXJuIG9zLnBhdGguam9pbihvdXRwdXRfZGlyLCBkaXIsIGZpbGVuYW1lKQorCisKKyAgICAjIC0tIFV0aWxpdHkgbWV0aG9kcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisgICAgZGVmIGV4ZWN1dGUoc2VsZiwgZnVuYywgYXJncywgbXNnPU5vbmUsIGxldmVsPTEpOgorICAgICAgICBleGVjdXRlKGZ1bmMsIGFyZ3MsIG1zZywgc2VsZi5kcnlfcnVuKQorCisgICAgZGVmIHNwYXduKHNlbGYsIGNtZCk6CisgICAgICAgIHNwYXduKGNtZCwgZHJ5X3J1bj1zZWxmLmRyeV9ydW4pCisKKyAgICBkZWYgbW92ZV9maWxlKHNlbGYsIHNyYywgZHN0KToKKyAgICAgICAgbG9nZ2VyLmluZm8oIm1vdmluZyAlciB0byAlciIsIHNyYywgZHN0KQorICAgICAgICBpZiBzZWxmLmRyeV9ydW46CisgICAgICAgICAgICByZXR1cm4KKyAgICAgICAgcmV0dXJuIG1vdmUoc3JjLCBkc3QpCisKKyAgICBkZWYgbWtwYXRoKHNlbGYsIG5hbWUsIG1vZGU9MG83NzcpOgorICAgICAgICBuYW1lID0gb3MucGF0aC5ub3JtcGF0aChuYW1lKQorICAgICAgICBpZiBvcy5wYXRoLmlzZGlyKG5hbWUpIG9yIG5hbWUgPT0gJyc6CisgICAgICAgICAgICByZXR1cm4KKyAgICAgICAgaWYgc2VsZi5kcnlfcnVuOgorICAgICAgICAgICAgaGVhZCA9ICcnCisgICAgICAgICAgICBmb3IgcGFydCBpbiBuYW1lLnNwbGl0KG9zLnNlcCk6CisgICAgICAgICAgICAgICAgbG9nZ2VyLmluZm8oImNyZWF0ZWQgZGlyZWN0b3J5ICVzJXMiLCBoZWFkLCBwYXJ0KQorICAgICAgICAgICAgICAgIGhlYWQgKz0gcGFydCArIG9zLnNlcAorICAgICAgICAgICAgcmV0dXJuCisgICAgICAgIG9zLm1ha2VkaXJzKG5hbWUsIG1vZGUpCmRpZmYgLS1naXQgYS9MaWIvcGFja2FnaW5nL2NvbXBpbGVyL2N5Z3dpbmNjb21waWxlci5weSBiL0xpYi9wYWNrYWdpbmcvY29tcGlsZXIvY3lnd2luY2NvbXBpbGVyLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk1NTI2NjcKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvcGFja2FnaW5nL2NvbXBpbGVyL2N5Z3dpbmNjb21waWxlci5weQpAQCAtMCwwICsxLDM1NSBAQAorIiIiQ0NvbXBpbGVyIGltcGxlbWVudGF0aW9ucyBmb3IgQ3lnd2luIGFuZCBtaW5ndzMyIHZlcnNpb25zIG9mIEdDQy4KKworVGhpcyBtb2R1bGUgY29udGFpbnMgdGhlIEN5Z3dpbkNDb21waWxlciBjbGFzcywgYSBzdWJjbGFzcyBvZgorVW5peENDb21waWxlciB0aGF0IGhhbmRsZXMgdGhlIEN5Z3dpbiBwb3J0IG9mIHRoZSBHTlUgQyBjb21waWxlciB0bworV2luZG93cywgYW5kIHRoZSBNaW5ndzMyQ0NvbXBpbGVyIGNsYXNzIHdoaWNoIGhhbmRsZXMgdGhlIG1pbmd3MzIgcG9ydAorb2YgR0NDIChzYW1lIGFzIGN5Z3dpbiBpbiBuby1jeWd3aW4gbW9kZSkuCisiIiIKKworIyBwcm9ibGVtczoKKyMKKyMgKiBpZiB5b3UgdXNlIGEgbXN2YyBjb21waWxlZCBweXRob24gdmVyc2lvbiAoMS41LjIpCisjICAgMS4geW91IGhhdmUgdG8gaW5zZXJ0IGEgX19HTlVDX18gc2VjdGlvbiBpbiBpdHMgY29uZmlnLmgKKyMgICAyLiB5b3UgaGF2ZSB0byBnZW5lcmF0ZSBhIGltcG9ydCBsaWJyYXJ5IGZvciBpdHMgZGxsCisjICAgICAgLSBjcmVhdGUgYSBkZWYtZmlsZSBmb3IgcHl0aG9uPz8uZGxsCisjICAgICAgLSBjcmVhdGUgYSBpbXBvcnQgbGlicmFyeSB1c2luZworIyAgICAgICAgICAgICBkbGx0b29sIC0tZGxsbmFtZSBweXRob24xNS5kbGwgLS1kZWYgcHl0aG9uMTUuZGVmIFwKKyMgICAgICAgICAgICAgICAgICAgICAgIC0tb3V0cHV0LWxpYiBsaWJweXRob24xNS5hCisjCisjICAgc2VlIGFsc28gaHR0cDovL3N0YXJzaGlwLnB5dGhvbi5uZXQvY3Jldy9rZXJuci9taW5ndzMyL05vdGVzLmh0bWwKKyMKKyMgKiBXZSBwdXQgZXhwb3J0X3N5bWJvbHMgaW4gYSBkZWYtZmlsZSwgYW5kIGRvbid0IHVzZQorIyAgIC0tZXhwb3J0LWFsbC1zeW1ib2xzIGJlY2F1c2UgaXQgZG9lc24ndCB3b3JrZWQgcmVsaWFibGUgaW4gc29tZQorIyAgIHRlc3RlZCBjb25maWd1cmF0aW9ucy4gQW5kIGJlY2F1c2Ugb3RoZXIgd2luZG93cyBjb21waWxlcnMgYWxzbworIyAgIG5lZWQgdGhlaXIgc3ltYm9scyBzcGVjaWZpZWQgdGhpcyBubyBzZXJpb3VzIHByb2JsZW0uCisjCisjIHRlc3RlZCBjb25maWd1cmF0aW9uczoKKyMKKyMgKiBjeWd3aW4gZ2NjIDIuOTEuNTcvbGQgMi45LjQvZGxsd3JhcCAwLjIuNCB3b3JrcworIyAgIChhZnRlciBwYXRjaGluZyBweXRob24ncyBjb25maWcuaCBhbmQgZm9yIEMrKyBzb21lIG90aGVyIGluY2x1ZGUgZmlsZXMpCisjICAgc2VlIGFsc28gaHR0cDovL3N0YXJzaGlwLnB5dGhvbi5uZXQvY3Jldy9rZXJuci9taW5ndzMyL05vdGVzLmh0bWwKKyMgKiBtaW5ndzMyIGdjYyAyLjk1LjIvbGQgMi45LjQvZGxsd3JhcCAwLjIuNCB3b3JrcworIyAgIChsZCBkb2Vzbid0IHN1cHBvcnQgLXNoYXJlZCwgc28gd2UgdXNlIGRsbHdyYXApCisjICogY3lnd2luIGdjYyAyLjk1LjIvbGQgMi4xMC45MC9kbGx3cmFwIDIuMTAuOTAgd29ya3Mgbm93CisjICAgLSBpdHMgZGxsd3JhcCBkb2Vzbid0IHdvcmssIHRoZXJlIGlzIGEgYnVnIGluIGJpbnV0aWxzIDIuMTAuOTAKKyMgICAgIHNlZSBhbHNvIGh0dHA6Ly9zb3VyY2VzLnJlZGhhdC5jb20vbWwvY3lnd2luLzIwMDAtMDYvbXNnMDEyNzQuaHRtbAorIyAgIC0gdXNpbmcgZ2NjIC1tZGxsIGluc3RlYWQgZGxsd3JhcCBkb2Vzbid0IHdvcmsgd2l0aG91dCAtc3RhdGljIGJlY2F1c2UKKyMgICAgIGl0IHRyaWVzIHRvIGxpbmsgYWdhaW5zdCBkbGxzIGluc3RlYWQgdGhlaXIgaW1wb3J0IGxpYnJhcmllcy4gKElmCisjICAgICBpdCBmaW5kcyB0aGUgZGxsIGZpcnN0LikKKyMgICAgIEJ5IHNwZWNpZnlpbmcgLXN0YXRpYyB3ZSBmb3JjZSBsZCB0byBsaW5rIGFnYWluc3QgdGhlIGltcG9ydCBsaWJyYXJpZXMsCisjICAgICB0aGlzIGlzIHdpbmRvd3Mgc3RhbmRhcmQgYW5kIHRoZXJlIGFyZSBub3JtYWxseSBub3QgdGhlIG5lY2Vzc2FyeSBzeW1ib2xzCisjICAgICBpbiB0aGUgZGxscy4KKyMgICAqKiogb25seSB0aGUgdmVyc2lvbiBvZiBKdW5lIDIwMDAgc2hvd3MgdGhlc2UgcHJvYmxlbXMKKyMgKiBjeWd3aW4gZ2NjIDMuMi9sZCAyLjEzLjkwIHdvcmtzCisjICAgKGxkIHN1cHBvcnRzIC1zaGFyZWQpCisjICogbWluZ3cgZ2NjIDMuMi9sZCAyLjEzIHdvcmtzCisjICAgKGxkIHN1cHBvcnRzIC1zaGFyZWQpCisKKworaW1wb3J0IG9zCitpbXBvcnQgc3lzCisKK2Zyb20gcGFja2FnaW5nIGltcG9ydCBsb2dnZXIKK2Zyb20gcGFja2FnaW5nLmNvbXBpbGVyLnVuaXhjY29tcGlsZXIgaW1wb3J0IFVuaXhDQ29tcGlsZXIKK2Zyb20gcGFja2FnaW5nLnV0aWwgaW1wb3J0IHdyaXRlX2ZpbGUKK2Zyb20gcGFja2FnaW5nLmVycm9ycyBpbXBvcnQgUGFja2FnaW5nRXhlY0Vycm9yLCBDb21waWxlRXJyb3IsIFVua25vd25GaWxlRXJyb3IKK2Zyb20gcGFja2FnaW5nLnV0aWwgaW1wb3J0IGdldF9jb21waWxlcl92ZXJzaW9ucworaW1wb3J0IHN5c2NvbmZpZworCisjIFRPRE8gdXNlIHBsYXRmb3JtIGluc3RlYWQgb2Ygc3lzLnZlcnNpb24KKyMgKHBsYXRmb3JtIGRvZXMgdW5ob2x5IHN5cy52ZXJzaW9uIHBhcnNpbmcgdG9vLCBidXQgYXQgbGVhc3QgaXQgZ2l2ZXMgb3RoZXIKKyMgVk1zIGEgY2hhbmNlIHRvIG92ZXJyaWRlIHRoZSByZXR1cm5lZCB2YWx1ZXMpCisKKworZGVmIGdldF9tc3ZjcigpOgorICAgICIiIkluY2x1ZGUgdGhlIGFwcHJvcHJpYXRlIE1TVkMgcnVudGltZSBsaWJyYXJ5IGlmIFB5dGhvbiB3YXMgYnVpbHQKKyAgICB3aXRoIE1TVkMgNy4wIG9yIGxhdGVyLgorICAgICIiIgorICAgIG1zY19wb3MgPSBzeXMudmVyc2lvbi5maW5kKCdNU0Mgdi4nKQorICAgIGlmIG1zY19wb3MgIT0gLTE6CisgICAgICAgIG1zY192ZXIgPSBzeXMudmVyc2lvblttc2NfcG9zKzY6bXNjX3BvcysxMF0KKyAgICAgICAgaWYgbXNjX3ZlciA9PSAnMTMwMCc6CisgICAgICAgICAgICAjIE1TVkMgNy4wCisgICAgICAgICAgICByZXR1cm4gWydtc3ZjcjcwJ10KKyAgICAgICAgZWxpZiBtc2NfdmVyID09ICcxMzEwJzoKKyAgICAgICAgICAgICMgTVNWQyA3LjEKKyAgICAgICAgICAgIHJldHVybiBbJ21zdmNyNzEnXQorICAgICAgICBlbGlmIG1zY192ZXIgPT0gJzE0MDAnOgorICAgICAgICAgICAgIyBWUzIwMDUgLyBNU1ZDIDguMAorICAgICAgICAgICAgcmV0dXJuIFsnbXN2Y3I4MCddCisgICAgICAgIGVsaWYgbXNjX3ZlciA9PSAnMTUwMCc6CisgICAgICAgICAgICAjIFZTMjAwOCAvIE1TVkMgOS4wCisgICAgICAgICAgICByZXR1cm4gWydtc3ZjcjkwJ10KKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIlVua25vd24gTVMgQ29tcGlsZXIgdmVyc2lvbiAlcyAiICUgbXNjX3ZlcikKKworCitjbGFzcyBDeWd3aW5DQ29tcGlsZXIoVW5peENDb21waWxlcik6CisgICAgIiIiIEhhbmRsZXMgdGhlIEN5Z3dpbiBwb3J0IG9mIHRoZSBHTlUgQyBjb21waWxlciB0byBXaW5kb3dzLgorICAgICIiIgorICAgIG5hbWUgPSAnY3lnd2luJworICAgIGRlc2NyaXB0aW9uID0gJ0N5Z3dpbiBwb3J0IG9mIEdOVSBDIENvbXBpbGVyIGZvciBXaW4zMicKKyAgICBvYmpfZXh0ZW5zaW9uID0gIi5vIgorICAgIHN0YXRpY19saWJfZXh0ZW5zaW9uID0gIi5hIgorICAgIHNoYXJlZF9saWJfZXh0ZW5zaW9uID0gIi5kbGwiCisgICAgc3RhdGljX2xpYl9mb3JtYXQgPSAibGliJXMlcyIKKyAgICBzaGFyZWRfbGliX2Zvcm1hdCA9ICIlcyVzIgorICAgIGV4ZV9leHRlbnNpb24gPSAiLmV4ZSIKKworICAgIGRlZiBfX2luaXRfXyhzZWxmLCBkcnlfcnVuPUZhbHNlLCBmb3JjZT1GYWxzZSk6CisgICAgICAgIHN1cGVyKEN5Z3dpbkNDb21waWxlciwgc2VsZikuX19pbml0X18oZHJ5X3J1biwgZm9yY2UpCisKKyAgICAgICAgc3RhdHVzLCBkZXRhaWxzID0gY2hlY2tfY29uZmlnX2goKQorICAgICAgICBsb2dnZXIuZGVidWcoIlB5dGhvbidzIEdDQyBzdGF0dXM6ICVzIChkZXRhaWxzOiAlcykiLCBzdGF0dXMsIGRldGFpbHMpCisgICAgICAgIGlmIHN0YXR1cyBpcyBub3QgQ09ORklHX0hfT0s6CisgICAgICAgICAgICBzZWxmLndhcm4oCisgICAgICAgICAgICAgICAgIlB5dGhvbidzIHB5Y29uZmlnLmggZG9lc24ndCBzZWVtIHRvIHN1cHBvcnQgeW91ciBjb21waWxlci4gIgorICAgICAgICAgICAgICAgICJSZWFzb246ICVzLiAiCisgICAgICAgICAgICAgICAgIkNvbXBpbGluZyBtYXkgZmFpbCBiZWNhdXNlIG9mIHVuZGVmaW5lZCBwcmVwcm9jZXNzb3IgbWFjcm9zLiIKKyAgICAgICAgICAgICAgICAlIGRldGFpbHMpCisKKyAgICAgICAgc2VsZi5nY2NfdmVyc2lvbiwgc2VsZi5sZF92ZXJzaW9uLCBzZWxmLmRsbHdyYXBfdmVyc2lvbiA9IFwKKyAgICAgICAgICAgIGdldF9jb21waWxlcl92ZXJzaW9ucygpCisgICAgICAgIGxvZ2dlci5kZWJ1ZyhzZWxmLm5hbWUgKyAiOiBnY2MgJXMsIGxkICVzLCBkbGx3cmFwICVzXG4iLAorICAgICAgICAgICAgICAgICAgICAgc2VsZi5nY2NfdmVyc2lvbiwKKyAgICAgICAgICAgICAgICAgICAgIHNlbGYubGRfdmVyc2lvbiwKKyAgICAgICAgICAgICAgICAgICAgIHNlbGYuZGxsd3JhcF92ZXJzaW9uKQorCisgICAgICAgICMgbGRfdmVyc2lvbiA+PSAiMi4xMC45MCIgYW5kIDwgIjIuMTMiIHNob3VsZCBhbHNvIGJlIGFibGUgdG8gdXNlCisgICAgICAgICMgZ2NjIC1tZGxsIGluc3RlYWQgb2YgZGxsd3JhcAorICAgICAgICAjIE9sZGVyIGRsbHdyYXBzIGhhZCBvd24gdmVyc2lvbiBudW1iZXJzLCBuZXdlciBvbmVzIHVzZSB0aGUKKyAgICAgICAgIyBzYW1lIGFzIHRoZSByZXN0IG9mIGJpbnV0aWxzICggYWxzbyBsZCApCisgICAgICAgICMgZGxsd3JhcCAyLjEwLjkwIGlzIGJ1Z2d5CisgICAgICAgIGlmIHNlbGYubGRfdmVyc2lvbiA+PSAiMi4xMC45MCI6CisgICAgICAgICAgICBzZWxmLmxpbmtlcl9kbGwgPSAiZ2NjIgorICAgICAgICBlbHNlOgorICAgICAgICAgICAgc2VsZi5saW5rZXJfZGxsID0gImRsbHdyYXAiCisKKyAgICAgICAgIyBsZF92ZXJzaW9uID49ICIyLjEzIiBzdXBwb3J0IC1zaGFyZWQgc28gdXNlIGl0IGluc3RlYWQgb2YKKyAgICAgICAgIyAtbWRsbCAtc3RhdGljCisgICAgICAgIGlmIHNlbGYubGRfdmVyc2lvbiA+PSAiMi4xMyI6CisgICAgICAgICAgICBzaGFyZWRfb3B0aW9uID0gIi1zaGFyZWQiCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzaGFyZWRfb3B0aW9uID0gIi1tZGxsIC1zdGF0aWMiCisKKyAgICAgICAgIyBIYXJkLWNvZGUgR0NDIGJlY2F1c2UgdGhhdCdzIHdoYXQgdGhpcyBpcyBhbGwgYWJvdXQuCisgICAgICAgICMgWFhYIG9wdGltaXphdGlvbiwgd2FybmluZ3MgZXRjLiBzaG91bGQgYmUgY3VzdG9taXphYmxlLgorICAgICAgICBzZWxmLnNldF9leGVjdXRhYmxlcyhjb21waWxlcj0nZ2NjIC1tY3lnd2luIC1PIC1XYWxsJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcGlsZXJfc289J2djYyAtbWN5Z3dpbiAtbWRsbCAtTyAtV2FsbCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBpbGVyX2N4eD0nZysrIC1tY3lnd2luIC1PIC1XYWxsJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlua2VyX2V4ZT0nZ2NjIC1tY3lnd2luJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlua2VyX3NvPSgnJXMgLW1jeWd3aW4gJXMnICUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2VsZi5saW5rZXJfZGxsLCBzaGFyZWRfb3B0aW9uKSkpCisKKyAgICAgICAgIyBjeWd3aW4gYW5kIG1pbmd3MzIgbmVlZCBkaWZmZXJlbnQgc2V0cyBvZiBsaWJyYXJpZXMKKyAgICAgICAgaWYgc2VsZi5nY2NfdmVyc2lvbiA9PSAiMi45MS41NyI6CisgICAgICAgICAgICAjIGN5Z3dpbiBzaG91bGRuJ3QgbmVlZCBtc3ZjcnQsIGJ1dCB3aXRob3V0IHRoZSBkbGxzIHdpbGwgY3Jhc2gKKyAgICAgICAgICAgICMgKGdjYyB2ZXJzaW9uIDIuOTEuNTcpIC0tIHBlcmhhcHMgc29tZXRoaW5nIGFib3V0IGluaXRpYWxpemF0aW9uCisgICAgICAgICAgICBzZWxmLmRsbF9saWJyYXJpZXM9WyJtc3ZjcnQiXQorICAgICAgICAgICAgc2VsZi53YXJuKAorICAgICAgICAgICAgICAgICJDb25zaWRlciB1cGdyYWRpbmcgdG8gYSBuZXdlciB2ZXJzaW9uIG9mIGdjYyIpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICAjIEluY2x1ZGUgdGhlIGFwcHJvcHJpYXRlIE1TVkMgcnVudGltZSBsaWJyYXJ5IGlmIFB5dGhvbiB3YXMgYnVpbHQKKyAgICAgICAgICAgICMgd2l0aCBNU1ZDIDcuMCBvciBsYXRlci4KKyAgICAgICAgICAgIHNlbGYuZGxsX2xpYnJhcmllcyA9IGdldF9tc3ZjcigpCisKKyAgICBkZWYgX2NvbXBpbGUoc2VsZiwgb2JqLCBzcmMsIGV4dCwgY2NfYXJncywgZXh0cmFfcG9zdGFyZ3MsIHBwX29wdHMpOgorICAgICAgICAiIiJDb21waWxlIHRoZSBzb3VyY2UgYnkgc3Bhd25pbmcgR0NDIGFuZCB3aW5kcmVzIGlmIG5lZWRlZC4iIiIKKyAgICAgICAgaWYgZXh0ID09ICcucmMnIG9yIGV4dCA9PSAnLnJlcyc6CisgICAgICAgICAgICAjIGdjYyBuZWVkcyAnLnJlcycgYW5kICcucmMnIGNvbXBpbGVkIHRvIG9iamVjdCBmaWxlcyAhISEKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBzZWxmLnNwYXduKFsid2luZHJlcyIsICItaSIsIHNyYywgIi1vIiwgb2JqXSkKKyAgICAgICAgICAgIGV4Y2VwdCBQYWNrYWdpbmdFeGVjRXJyb3IgYXMgbXNnOgorICAgICAgICAgICAgICAgIHJhaXNlIENvbXBpbGVFcnJvcihtc2cpCisgICAgICAgIGVsc2U6ICMgZm9yIG90aGVyIGZpbGVzIHVzZSB0aGUgQy1jb21waWxlcgorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIHNlbGYuc3Bhd24oc2VsZi5jb21waWxlcl9zbyArIGNjX2FyZ3MgKyBbc3JjLCAnLW8nLCBvYmpdICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4dHJhX3Bvc3RhcmdzKQorICAgICAgICAgICAgZXhjZXB0IFBhY2thZ2luZ0V4ZWNFcnJvciBhcyBtc2c6CisgICAgICAgICAgICAgICAgcmFpc2UgQ29tcGlsZUVycm9yKG1zZykKKworICAgIGRlZiBsaW5rKHNlbGYsIHRhcmdldF9kZXNjLCBvYmplY3RzLCBvdXRwdXRfZmlsZW5hbWUsIG91dHB1dF9kaXI9Tm9uZSwKKyAgICAgICAgICAgICBsaWJyYXJpZXM9Tm9uZSwgbGlicmFyeV9kaXJzPU5vbmUsIHJ1bnRpbWVfbGlicmFyeV9kaXJzPU5vbmUsCisgICAgICAgICAgICAgZXhwb3J0X3N5bWJvbHM9Tm9uZSwgZGVidWc9RmFsc2UsIGV4dHJhX3ByZWFyZ3M9Tm9uZSwKKyAgICAgICAgICAgICBleHRyYV9wb3N0YXJncz1Ob25lLCBidWlsZF90ZW1wPU5vbmUsIHRhcmdldF9sYW5nPU5vbmUpOgorICAgICAgICAiIiJMaW5rIHRoZSBvYmplY3RzLiIiIgorICAgICAgICAjIHVzZSBzZXBhcmF0ZSBjb3BpZXMsIHNvIHdlIGNhbiBtb2RpZnkgdGhlIGxpc3RzCisgICAgICAgIGV4dHJhX3ByZWFyZ3MgPSBsaXN0KGV4dHJhX3ByZWFyZ3Mgb3IgW10pCisgICAgICAgIGxpYnJhcmllcyA9IGxpc3QobGlicmFyaWVzIG9yIFtdKQorICAgICAgICBvYmplY3RzID0gbGlzdChvYmplY3RzIG9yIFtdKQorCisgICAgICAgICMgQWRkaXRpb25hbCBsaWJyYXJpZXMKKyAgICAgICAgbGlicmFyaWVzLmV4dGVuZChzZWxmLmRsbF9saWJyYXJpZXMpCisKKyAgICAgICAgIyBoYW5kbGUgZXhwb3J0IHN5bWJvbHMgYnkgY3JlYXRpbmcgYSBkZWYtZmlsZQorICAgICAgICAjIHdpdGggZXhlY3V0YWJsZXMgdGhpcyBvbmx5IHdvcmtzIHdpdGggZ2NjL2xkIGFzIGxpbmtlcgorICAgICAgICBpZiAoKGV4cG9ydF9zeW1ib2xzIGlzIG5vdCBOb25lKSBhbmQKKyAgICAgICAgICAgICh0YXJnZXRfZGVzYyAhPSBzZWxmLkVYRUNVVEFCTEUgb3Igc2VsZi5saW5rZXJfZGxsID09ICJnY2MiKSk6CisgICAgICAgICAgICAjIChUaGUgbGlua2VyIGRvZXNuJ3QgZG8gYW55dGhpbmcgaWYgb3V0cHV0IGlzIHVwLXRvLWRhdGUuCisgICAgICAgICAgICAjIFNvIGl0IHdvdWxkIHByb2JhYmx5IGJldHRlciB0byBjaGVjayBpZiB3ZSByZWFsbHkgbmVlZCB0aGlzLAorICAgICAgICAgICAgIyBidXQgZm9yIHRoaXMgd2UgaGFkIHRvIGluc2VydCBzb21lIHVuY2hhbmdlZCBwYXJ0cyBvZgorICAgICAgICAgICAgIyBVbml4Q0NvbXBpbGVyLCBhbmQgdGhpcyBpcyBub3Qgd2hhdCB3ZSB3YW50LikKKworICAgICAgICAgICAgIyB3ZSB3YW50IHRvIHB1dCBzb21lIGZpbGVzIGluIHRoZSBzYW1lIGRpcmVjdG9yeSBhcyB0aGUKKyAgICAgICAgICAgICMgb2JqZWN0IGZpbGVzIGFyZSwgYnVpbGRfdGVtcCBkb2Vzbid0IGhlbHAgbXVjaAorICAgICAgICAgICAgIyB3aGVyZSBhcmUgdGhlIG9iamVjdCBmaWxlcworICAgICAgICAgICAgdGVtcF9kaXIgPSBvcy5wYXRoLmRpcm5hbWUob2JqZWN0c1swXSkKKyAgICAgICAgICAgICMgbmFtZSBvZiBkbGwgdG8gZ2l2ZSB0aGUgaGVscGVyIGZpbGVzIHRoZSBzYW1lIGJhc2UgbmFtZQorICAgICAgICAgICAgZGxsX25hbWUsIGRsbF9leHRlbnNpb24gPSBvcy5wYXRoLnNwbGl0ZXh0KAorICAgICAgICAgICAgICAgIG9zLnBhdGguYmFzZW5hbWUob3V0cHV0X2ZpbGVuYW1lKSkKKworICAgICAgICAgICAgIyBnZW5lcmF0ZSB0aGUgZmlsZW5hbWVzIGZvciB0aGVzZSBmaWxlcworICAgICAgICAgICAgZGVmX2ZpbGUgPSBvcy5wYXRoLmpvaW4odGVtcF9kaXIsIGRsbF9uYW1lICsgIi5kZWYiKQorICAgICAgICAgICAgbGliX2ZpbGUgPSBvcy5wYXRoLmpvaW4odGVtcF9kaXIsICdsaWInICsgZGxsX25hbWUgKyAiLmEiKQorCisgICAgICAgICAgICAjIEdlbmVyYXRlIC5kZWYgZmlsZQorICAgICAgICAgICAgY29udGVudHMgPSBbCisgICAgICAgICAgICAgICAgIkxJQlJBUlkgJXMiICUgb3MucGF0aC5iYXNlbmFtZShvdXRwdXRfZmlsZW5hbWUpLAorICAgICAgICAgICAgICAgICJFWFBPUlRTIl0KKyAgICAgICAgICAgIGZvciBzeW0gaW4gZXhwb3J0X3N5bWJvbHM6CisgICAgICAgICAgICAgICAgY29udGVudHMuYXBwZW5kKHN5bSkKKyAgICAgICAgICAgIHNlbGYuZXhlY3V0ZSh3cml0ZV9maWxlLCAoZGVmX2ZpbGUsIGNvbnRlbnRzKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAid3JpdGluZyAlcyIgJSBkZWZfZmlsZSkKKworICAgICAgICAgICAgIyBuZXh0IGFkZCBvcHRpb25zIGZvciBkZWYtZmlsZSBhbmQgdG8gY3JlYXRpbmcgaW1wb3J0IGxpYnJhcmllcworCisgICAgICAgICAgICAjIGRsbHdyYXAgdXNlcyBkaWZmZXJlbnQgb3B0aW9ucyB0aGFuIGdjYy9sZAorICAgICAgICAgICAgaWYgc2VsZi5saW5rZXJfZGxsID09ICJkbGx3cmFwIjoKKyAgICAgICAgICAgICAgICBleHRyYV9wcmVhcmdzLmV4dGVuZCgoIi0tb3V0cHV0LWxpYiIsIGxpYl9maWxlKSkKKyAgICAgICAgICAgICAgICAjIGZvciBkbGx3cmFwIHdlIGhhdmUgdG8gdXNlIGEgc3BlY2lhbCBvcHRpb24KKyAgICAgICAgICAgICAgICBleHRyYV9wcmVhcmdzLmV4dGVuZCgoIi0tZGVmIiwgZGVmX2ZpbGUpKQorICAgICAgICAgICAgIyB3ZSB1c2UgZ2NjL2xkIGhlcmUgYW5kIGNhbiBiZSBzdXJlIGxkIGlzID49IDIuOS4xMAorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAjIGRvZXNuJ3Qgd29yazogYmZkX2Nsb3NlIGJ1aWxkXC4uLlxsaWJmb28uYTogSW52YWxpZCBvcGVyYXRpb24KKyAgICAgICAgICAgICAgICAjZXh0cmFfcHJlYXJncy5leHRlbmQoKCItV2wsLS1vdXQtaW1wbGliLCVzIiAlIGxpYl9maWxlKSkKKyAgICAgICAgICAgICAgICAjIGZvciBnY2MvbGQgdGhlIGRlZi1maWxlIGlzIHNwZWNpZmllZCBhcyBhbnkgb2JqZWN0IGZpbGVzCisgICAgICAgICAgICAgICAgb2JqZWN0cy5hcHBlbmQoZGVmX2ZpbGUpCisKKyAgICAgICAgI2VuZDogaWYgKChleHBvcnRfc3ltYm9scyBpcyBub3QgTm9uZSkgYW5kCisgICAgICAgICMgICAgICAgICh0YXJnZXRfZGVzYyAhPSBzZWxmLkVYRUNVVEFCTEUgb3Igc2VsZi5saW5rZXJfZGxsID09ICJnY2MiKSk6CisKKyAgICAgICAgIyB3aG8gd2FudHMgc3ltYm9scyBhbmQgYSBtYW55IHRpbWVzIGxhcmdlciBvdXRwdXQgZmlsZQorICAgICAgICAjIHNob3VsZCBleHBsaWNpdGx5IHN3aXRjaCB0aGUgZGVidWcgbW9kZSBvbgorICAgICAgICAjIG90aGVyd2lzZSB3ZSBsZXQgZGxsd3JhcC9sZCBzdHJpcCB0aGUgb3V0cHV0IGZpbGUKKyAgICAgICAgIyAoT24gbXkgbWFjaGluZTogMTBLQiA8IHN0cmlwcGVkX2ZpbGUgPCA/PzEwMEtCCisgICAgICAgICMgICB1bnN0cmlwcGVkX2ZpbGUgPSBzdHJpcHBlZF9maWxlICsgWFhYIEtCCisgICAgICAgICMgICggWFhYPTI1NCBmb3IgYSB0eXBpY2FsIHB5dGhvbiBleHRlbnNpb24pKQorICAgICAgICBpZiBub3QgZGVidWc6CisgICAgICAgICAgICBleHRyYV9wcmVhcmdzLmFwcGVuZCgiLXMiKQorCisgICAgICAgIHN1cGVyKEN5Z3dpbkNDb21waWxlciwgc2VsZikubGluaygKKyAgICAgICAgICAgIHRhcmdldF9kZXNjLCBvYmplY3RzLCBvdXRwdXRfZmlsZW5hbWUsIG91dHB1dF9kaXIsIGxpYnJhcmllcywKKyAgICAgICAgICAgIGxpYnJhcnlfZGlycywgcnVudGltZV9saWJyYXJ5X2RpcnMsCisgICAgICAgICAgICBOb25lLCAjIGV4cG9ydF9zeW1ib2xzLCB3ZSBkbyB0aGlzIGluIG91ciBkZWYtZmlsZQorICAgICAgICAgICAgZGVidWcsIGV4dHJhX3ByZWFyZ3MsIGV4dHJhX3Bvc3RhcmdzLCBidWlsZF90ZW1wLCB0YXJnZXRfbGFuZykKKworICAgICMgLS0gTWlzY2VsbGFuZW91cyBtZXRob2RzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKyAgICBkZWYgb2JqZWN0X2ZpbGVuYW1lcyhzZWxmLCBzb3VyY2VfZmlsZW5hbWVzLCBzdHJpcF9kaXI9RmFsc2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgb3V0cHV0X2Rpcj0nJyk6CisgICAgICAgICIiIkFkZHMgc3VwcG9ydHMgZm9yIHJjIGFuZCByZXMgZmlsZXMuIiIiCisgICAgICAgIGlmIG91dHB1dF9kaXIgaXMgTm9uZToKKyAgICAgICAgICAgIG91dHB1dF9kaXIgPSAnJworICAgICAgICBvYmpfbmFtZXMgPSBbXQorICAgICAgICBmb3Igc3JjX25hbWUgaW4gc291cmNlX2ZpbGVuYW1lczoKKyAgICAgICAgICAgICMgdXNlIG5vcm1jYXNlIHRvIG1ha2Ugc3VyZSAnLnJjJyBpcyByZWFsbHkgJy5yYycgYW5kIG5vdCAnLlJDJworICAgICAgICAgICAgYmFzZSwgZXh0ID0gb3MucGF0aC5zcGxpdGV4dChvcy5wYXRoLm5vcm1jYXNlKHNyY19uYW1lKSkKKyAgICAgICAgICAgIGlmIGV4dCBub3QgaW4gKHNlbGYuc3JjX2V4dGVuc2lvbnMgKyBbJy5yYycsJy5yZXMnXSk6CisgICAgICAgICAgICAgICAgcmFpc2UgVW5rbm93bkZpbGVFcnJvcigidW5rbm93biBmaWxlIHR5cGUgJyVzJyAoZnJvbSAnJXMnKSIgJSAoZXh0LCBzcmNfbmFtZSkpCisgICAgICAgICAgICBpZiBzdHJpcF9kaXI6CisgICAgICAgICAgICAgICAgYmFzZSA9IG9zLnBhdGguYmFzZW5hbWUoYmFzZSkKKyAgICAgICAgICAgIGlmIGV4dCBpbiAoJy5yZXMnLCAnLnJjJyk6CisgICAgICAgICAgICAgICAgIyB0aGVzZSBuZWVkIHRvIGJlIGNvbXBpbGVkIHRvIG9iamVjdCBmaWxlcworICAgICAgICAgICAgICAgIG9ial9uYW1lcy5hcHBlbmQob3MucGF0aC5qb2luKG91dHB1dF9kaXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFzZSArIGV4dCArIHNlbGYub2JqX2V4dGVuc2lvbikpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIG9ial9uYW1lcy5hcHBlbmQob3MucGF0aC5qb2luKG91dHB1dF9kaXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFzZSArIHNlbGYub2JqX2V4dGVuc2lvbikpCisgICAgICAgIHJldHVybiBvYmpfbmFtZXMKKworIyB0aGUgc2FtZSBhcyBjeWd3aW4gcGx1cyBzb21lIGFkZGl0aW9uYWwgcGFyYW1ldGVycworY2xhc3MgTWluZ3czMkNDb21waWxlcihDeWd3aW5DQ29tcGlsZXIpOgorICAgICIiIiBIYW5kbGVzIHRoZSBNaW5ndzMyIHBvcnQgb2YgdGhlIEdOVSBDIGNvbXBpbGVyIHRvIFdpbmRvd3MuCisgICAgIiIiCisgICAgbmFtZSA9ICdtaW5ndzMyJworICAgIGRlc2NyaXB0aW9uID0gJ01pbkdXMzIgY29tcGlsZXInCisKKyAgICBkZWYgX19pbml0X18oc2VsZiwgZHJ5X3J1bj1GYWxzZSwgZm9yY2U9RmFsc2UpOgorICAgICAgICBzdXBlcihNaW5ndzMyQ0NvbXBpbGVyLCBzZWxmKS5fX2luaXRfXyhkcnlfcnVuLCBmb3JjZSkKKworICAgICAgICAjIGxkX3ZlcnNpb24gPj0gIjIuMTMiIHN1cHBvcnQgLXNoYXJlZCBzbyB1c2UgaXQgaW5zdGVhZCBvZgorICAgICAgICAjIC1tZGxsIC1zdGF0aWMKKyAgICAgICAgaWYgc2VsZi5sZF92ZXJzaW9uID49ICIyLjEzIjoKKyAgICAgICAgICAgIHNoYXJlZF9vcHRpb24gPSAiLXNoYXJlZCIKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHNoYXJlZF9vcHRpb24gPSAiLW1kbGwgLXN0YXRpYyIKKworICAgICAgICAjIEEgcmVhbCBtaW5ndzMyIGRvZXNuJ3QgbmVlZCB0byBzcGVjaWZ5IGEgZGlmZmVyZW50IGVudHJ5IHBvaW50LAorICAgICAgICAjIGJ1dCBjeWd3aW4gMi45MS41NyBpbiBuby1jeWd3aW4tbW9kZSBuZWVkcyBpdC4KKyAgICAgICAgaWYgc2VsZi5nY2NfdmVyc2lvbiA8PSAiMi45MS41NyI6CisgICAgICAgICAgICBlbnRyeV9wb2ludCA9ICctLWVudHJ5IF9EbGxNYWluQDEyJworICAgICAgICBlbHNlOgorICAgICAgICAgICAgZW50cnlfcG9pbnQgPSAnJworCisgICAgICAgIHNlbGYuc2V0X2V4ZWN1dGFibGVzKGNvbXBpbGVyPSdnY2MgLW1uby1jeWd3aW4gLU8gLVdhbGwnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21waWxlcl9zbz0nZ2NjIC1tbm8tY3lnd2luIC1tZGxsIC1PIC1XYWxsJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcGlsZXJfY3h4PSdnKysgLW1uby1jeWd3aW4gLU8gLVdhbGwnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5rZXJfZXhlPSdnY2MgLW1uby1jeWd3aW4nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5rZXJfc289JyVzIC1tbm8tY3lnd2luICVzICVzJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICUgKHNlbGYubGlua2VyX2RsbCwgc2hhcmVkX29wdGlvbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnRyeV9wb2ludCkpCisgICAgICAgICMgTWF5YmUgd2Ugc2hvdWxkIGFsc28gYXBwZW5kIC1tdGhyZWFkcywgYnV0IHRoZW4gdGhlIGZpbmlzaGVkCisgICAgICAgICMgZGxscyBuZWVkIGFub3RoZXIgZGxsIChtaW5nd20xMC5kbGwgc2VlIE1pbmd3MzIgZG9jcykKKyAgICAgICAgIyAoLW10aHJlYWRzOiBTdXBwb3J0IHRocmVhZC1zYWZlIGV4Y2VwdGlvbiBoYW5kbGluZyBvbiBgTWluZ3czMicpCisKKyAgICAgICAgIyBubyBhZGRpdGlvbmFsIGxpYnJhcmllcyBuZWVkZWQKKyAgICAgICAgc2VsZi5kbGxfbGlicmFyaWVzPVtdCisKKyAgICAgICAgIyBJbmNsdWRlIHRoZSBhcHByb3ByaWF0ZSBNU1ZDIHJ1bnRpbWUgbGlicmFyeSBpZiBQeXRob24gd2FzIGJ1aWx0CisgICAgICAgICMgd2l0aCBNU1ZDIDcuMCBvciBsYXRlci4KKyAgICAgICAgc2VsZi5kbGxfbGlicmFyaWVzID0gZ2V0X21zdmNyKCkKKworIyBCZWNhdXNlIHRoZXNlIGNvbXBpbGVycyBhcmVuJ3QgY29uZmlndXJlZCBpbiBQeXRob24ncyBweWNvbmZpZy5oIGZpbGUgYnkKKyMgZGVmYXVsdCwgd2Ugc2hvdWxkIGF0IGxlYXN0IHdhcm4gdGhlIHVzZXIgaWYgaGUgaXMgdXNpbmcgYSB1bm1vZGlmaWVkCisjIHZlcnNpb24uCisKK0NPTkZJR19IX09LID0gIm9rIgorQ09ORklHX0hfTk9UT0sgPSAibm90IG9rIgorQ09ORklHX0hfVU5DRVJUQUlOID0gInVuY2VydGFpbiIKKworZGVmIGNoZWNrX2NvbmZpZ19oKCk6CisgICAgIiIiQ2hlY2sgaWYgdGhlIGN1cnJlbnQgUHl0aG9uIGluc3RhbGxhdGlvbiBhcHBlYXJzIGFtZW5hYmxlIHRvIGJ1aWxkaW5nCisgICAgZXh0ZW5zaW9ucyB3aXRoIEdDQy4KKworICAgIFJldHVybnMgYSB0dXBsZSAoc3RhdHVzLCBkZXRhaWxzKSwgd2hlcmUgJ3N0YXR1cycgaXMgb25lIG9mIHRoZSBmb2xsb3dpbmcKKyAgICBjb25zdGFudHM6CisKKyAgICAtIENPTkZJR19IX09LOiBhbGwgaXMgd2VsbCwgZ28gYWhlYWQgYW5kIGNvbXBpbGUKKyAgICAtIENPTkZJR19IX05PVE9LOiBkb2Vzbid0IGxvb2sgZ29vZAorICAgIC0gQ09ORklHX0hfVU5DRVJUQUlOOiBub3Qgc3VyZSAtLSB1bmFibGUgdG8gcmVhZCBweWNvbmZpZy5oCisKKyAgICAnZGV0YWlscycgaXMgYSBodW1hbi1yZWFkYWJsZSBzdHJpbmcgZXhwbGFpbmluZyB0aGUgc2l0dWF0aW9uLgorCisgICAgTm90ZSB0aGVyZSBhcmUgdHdvIHdheXMgdG8gY29uY2x1ZGUgIk9LIjogZWl0aGVyICdzeXMudmVyc2lvbicgY29udGFpbnMKKyAgICB0aGUgc3RyaW5nICJHQ0MiIChpbXBseWluZyB0aGF0IHRoaXMgUHl0aG9uIHdhcyBidWlsdCB3aXRoIEdDQyksIG9yIHRoZQorICAgIGluc3RhbGxlZCAicHljb25maWcuaCIgY29udGFpbnMgdGhlIHN0cmluZyAiX19HTlVDX18iLgorICAgICIiIgorCisgICAgIyBYWFggc2luY2UgdGhpcyBmdW5jdGlvbiBhbHNvIGNoZWNrcyBzeXMudmVyc2lvbiwgaXQncyBub3Qgc3RyaWN0bHkgYQorICAgICMgInB5Y29uZmlnLmgiIGNoZWNrIC0tIHNob3VsZCBwcm9iYWJseSBiZSByZW5hbWVkLi4uCisgICAgIyBpZiBzeXMudmVyc2lvbiBjb250YWlucyBHQ0MgdGhlbiBweXRob24gd2FzIGNvbXBpbGVkIHdpdGggR0NDLCBhbmQgdGhlCisgICAgIyBweWNvbmZpZy5oIGZpbGUgc2hvdWxkIGJlIE9LCisgICAgaWYgIkdDQyIgaW4gc3lzLnZlcnNpb246CisgICAgICAgIHJldHVybiBDT05GSUdfSF9PSywgInN5cy52ZXJzaW9uIG1lbnRpb25zICdHQ0MnIgorCisgICAgIyBsZXQncyBzZWUgaWYgX19HTlVDX18gaXMgbWVudGlvbmVkIGluIHB5dGhvbi5oCisgICAgZm4gPSBzeXNjb25maWcuZ2V0X2NvbmZpZ19oX2ZpbGVuYW1lKCkKKyAgICB0cnk6CisgICAgICAgIHdpdGggb3BlbihmbikgYXMgY29uZmlnX2g6CisgICAgICAgICAgICBpZiAiX19HTlVDX18iIGluIGNvbmZpZ19oLnJlYWQoKToKKyAgICAgICAgICAgICAgICByZXR1cm4gQ09ORklHX0hfT0ssICInJXMnIG1lbnRpb25zICdfX0dOVUNfXyciICUgZm4KKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgcmV0dXJuIENPTkZJR19IX05PVE9LLCAiJyVzJyBkb2VzIG5vdCBtZW50aW9uICdfX0dOVUNfXyciICUgZm4KKyAgICBleGNlcHQgSU9FcnJvciBhcyBleGM6CisgICAgICAgIHJldHVybiAoQ09ORklHX0hfVU5DRVJUQUlOLAorICAgICAgICAgICAgICAgICJjb3VsZG4ndCByZWFkICclcyc6ICVzIiAlIChmbiwgZXhjLnN0cmVycm9yKSkKZGlmZiAtLWdpdCBhL0xpYi9wYWNrYWdpbmcvY29tcGlsZXIvZXh0ZW5zaW9uLnB5IGIvTGliL3BhY2thZ2luZy9jb21waWxlci9leHRlbnNpb24ucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjZmNmU5YQotLS0gL2Rldi9udWxsCisrKyBiL0xpYi9wYWNrYWdpbmcvY29tcGlsZXIvZXh0ZW5zaW9uLnB5CkBAIC0wLDAgKzEsMTIxIEBACisiIiJDbGFzcyByZXByZXNlbnRpbmcgQy9DKysgZXh0ZW5zaW9uIG1vZHVsZXMuIiIiCisKK2Zyb20gcGFja2FnaW5nIGltcG9ydCBsb2dnZXIKKworIyBUaGlzIGNsYXNzIGlzIHJlYWxseSBvbmx5IHVzZWQgYnkgdGhlICJidWlsZF9leHQiIGNvbW1hbmQsIHNvIGl0IG1pZ2h0CisjIG1ha2Ugc2Vuc2UgdG8gcHV0IGl0IGluIGRpc3R1dGlscy5jb21tYW5kLmJ1aWxkX2V4dC4gIEhvd2V2ZXIsIHRoYXQKKyMgbW9kdWxlIGlzIGFscmVhZHkgYmlnIGVub3VnaCwgYW5kIEkgd2FudCB0byBtYWtlIHRoaXMgY2xhc3MgYSBiaXQgbW9yZQorIyBjb21wbGV4IHRvIHNpbXBsaWZ5IHNvbWUgY29tbW9uIGNhc2VzICgiZm9vIiBtb2R1bGUgaW4gImZvby5jIikgYW5kIGRvCisjIGJldHRlciBlcnJvci1jaGVja2luZyAoImZvby5jIiBhY3R1YWxseSBleGlzdHMpLgorIworIyBBbHNvLCBwdXR0aW5nIHRoaXMgaW4gYnVpbGRfZXh0LnB5IG1lYW5zIGV2ZXJ5IHNldHVwIHNjcmlwdCB3b3VsZCBoYXZlIHRvCisjIGltcG9ydCB0aGF0IGxhcmdlLWlzaCBtb2R1bGUgKGluZGlyZWN0bHksIHRocm91Z2ggZGlzdHV0aWxzLmNvcmUpIGluCisjIG9yZGVyIHRvIGRvIGFueXRoaW5nLgorCisKK2NsYXNzIEV4dGVuc2lvbjoKKyAgICAiIiJKdXN0IGEgY29sbGVjdGlvbiBvZiBhdHRyaWJ1dGVzIHRoYXQgZGVzY3JpYmVzIGFuIGV4dGVuc2lvbgorICAgIG1vZHVsZSBhbmQgZXZlcnl0aGluZyBuZWVkZWQgdG8gYnVpbGQgaXQgKGhvcGVmdWxseSBpbiBhIHBvcnRhYmxlCisgICAgd2F5LCBidXQgdGhlcmUgYXJlIGhvb2tzIHRoYXQgbGV0IHlvdSBiZSBhcyB1bnBvcnRhYmxlIGFzIHlvdSBuZWVkKS4KKworICAgIEluc3RhbmNlIGF0dHJpYnV0ZXM6CisgICAgICBuYW1lIDogc3RyaW5nCisgICAgICAgIHRoZSBmdWxsIG5hbWUgb2YgdGhlIGV4dGVuc2lvbiwgaW5jbHVkaW5nIGFueSBwYWNrYWdlcyAtLSBpZS4KKyAgICAgICAgKm5vdCogYSBmaWxlbmFtZSBvciBwYXRobmFtZSwgYnV0IFB5dGhvbiBkb3R0ZWQgbmFtZQorICAgICAgc291cmNlcyA6IFtzdHJpbmddCisgICAgICAgIGxpc3Qgb2Ygc291cmNlIGZpbGVuYW1lcywgcmVsYXRpdmUgdG8gdGhlIGRpc3RyaWJ1dGlvbiByb290CisgICAgICAgICh3aGVyZSB0aGUgc2V0dXAgc2NyaXB0IGxpdmVzKSwgaW4gVW5peCBmb3JtIChzbGFzaC1zZXBhcmF0ZWQpCisgICAgICAgIGZvciBwb3J0YWJpbGl0eS4gIFNvdXJjZSBmaWxlcyBtYXkgYmUgQywgQysrLCBTV0lHICguaSksCisgICAgICAgIHBsYXRmb3JtLXNwZWNpZmljIHJlc291cmNlIGZpbGVzLCBvciB3aGF0ZXZlciBlbHNlIGlzIHJlY29nbml6ZWQKKyAgICAgICAgYnkgdGhlICJidWlsZF9leHQiIGNvbW1hbmQgYXMgc291cmNlIGZvciBhIFB5dGhvbiBleHRlbnNpb24uCisgICAgICBpbmNsdWRlX2RpcnMgOiBbc3RyaW5nXQorICAgICAgICBsaXN0IG9mIGRpcmVjdG9yaWVzIHRvIHNlYXJjaCBmb3IgQy9DKysgaGVhZGVyIGZpbGVzIChpbiBVbml4CisgICAgICAgIGZvcm0gZm9yIHBvcnRhYmlsaXR5KQorICAgICAgZGVmaW5lX21hY3JvcyA6IFsobmFtZSA6IHN0cmluZywgdmFsdWUgOiBzdHJpbmd8Tm9uZSldCisgICAgICAgIGxpc3Qgb2YgbWFjcm9zIHRvIGRlZmluZTsgZWFjaCBtYWNybyBpcyBkZWZpbmVkIHVzaW5nIGEgMi10dXBsZSwKKyAgICAgICAgd2hlcmUgJ3ZhbHVlJyBpcyBlaXRoZXIgdGhlIHN0cmluZyB0byBkZWZpbmUgaXQgdG8gb3IgTm9uZSB0bworICAgICAgICBkZWZpbmUgaXQgd2l0aG91dCBhIHBhcnRpY3VsYXIgdmFsdWUgKGVxdWl2YWxlbnQgb2YgIiNkZWZpbmUKKyAgICAgICAgRk9PIiBpbiBzb3VyY2Ugb3IgLURGT08gb24gVW5peCBDIGNvbXBpbGVyIGNvbW1hbmQgbGluZSkKKyAgICAgIHVuZGVmX21hY3JvcyA6IFtzdHJpbmddCisgICAgICAgIGxpc3Qgb2YgbWFjcm9zIHRvIHVuZGVmaW5lIGV4cGxpY2l0bHkKKyAgICAgIGxpYnJhcnlfZGlycyA6IFtzdHJpbmddCisgICAgICAgIGxpc3Qgb2YgZGlyZWN0b3JpZXMgdG8gc2VhcmNoIGZvciBDL0MrKyBsaWJyYXJpZXMgYXQgbGluayB0aW1lCisgICAgICBsaWJyYXJpZXMgOiBbc3RyaW5nXQorICAgICAgICBsaXN0IG9mIGxpYnJhcnkgbmFtZXMgKG5vdCBmaWxlbmFtZXMgb3IgcGF0aHMpIHRvIGxpbmsgYWdhaW5zdAorICAgICAgcnVudGltZV9saWJyYXJ5X2RpcnMgOiBbc3RyaW5nXQorICAgICAgICBsaXN0IG9mIGRpcmVjdG9yaWVzIHRvIHNlYXJjaCBmb3IgQy9DKysgbGlicmFyaWVzIGF0IHJ1biB0aW1lCisgICAgICAgIChmb3Igc2hhcmVkIGV4dGVuc2lvbnMsIHRoaXMgaXMgd2hlbiB0aGUgZXh0ZW5zaW9uIGlzIGxvYWRlZCkKKyAgICAgIGV4dHJhX29iamVjdHMgOiBbc3RyaW5nXQorICAgICAgICBsaXN0IG9mIGV4dHJhIGZpbGVzIHRvIGxpbmsgd2l0aCAoZWcuIG9iamVjdCBmaWxlcyBub3QgaW1wbGllZAorICAgICAgICBieSAnc291cmNlcycsIHN0YXRpYyBsaWJyYXJ5IHRoYXQgbXVzdCBiZSBleHBsaWNpdGx5IHNwZWNpZmllZCwKKyAgICAgICAgYmluYXJ5IHJlc291cmNlIGZpbGVzLCBldGMuKQorICAgICAgZXh0cmFfY29tcGlsZV9hcmdzIDogW3N0cmluZ10KKyAgICAgICAgYW55IGV4dHJhIHBsYXRmb3JtLSBhbmQgY29tcGlsZXItc3BlY2lmaWMgaW5mb3JtYXRpb24gdG8gdXNlCisgICAgICAgIHdoZW4gY29tcGlsaW5nIHRoZSBzb3VyY2UgZmlsZXMgaW4gJ3NvdXJjZXMnLiAgRm9yIHBsYXRmb3JtcyBhbmQKKyAgICAgICAgY29tcGlsZXJzIHdoZXJlICJjb21tYW5kIGxpbmUiIG1ha2VzIHNlbnNlLCB0aGlzIGlzIHR5cGljYWxseSBhCisgICAgICAgIGxpc3Qgb2YgY29tbWFuZC1saW5lIGFyZ3VtZW50cywgYnV0IGZvciBvdGhlciBwbGF0Zm9ybXMgaXQgY291bGQKKyAgICAgICAgYmUgYW55dGhpbmcuCisgICAgICBleHRyYV9saW5rX2FyZ3MgOiBbc3RyaW5nXQorICAgICAgICBhbnkgZXh0cmEgcGxhdGZvcm0tIGFuZCBjb21waWxlci1zcGVjaWZpYyBpbmZvcm1hdGlvbiB0byB1c2UKKyAgICAgICAgd2hlbiBsaW5raW5nIG9iamVjdCBmaWxlcyB0b2dldGhlciB0byBjcmVhdGUgdGhlIGV4dGVuc2lvbiAob3IKKyAgICAgICAgdG8gY3JlYXRlIGEgbmV3IHN0YXRpYyBQeXRob24gaW50ZXJwcmV0ZXIpLiAgU2ltaWxhcgorICAgICAgICBpbnRlcnByZXRhdGlvbiBhcyBmb3IgJ2V4dHJhX2NvbXBpbGVfYXJncycuCisgICAgICBleHBvcnRfc3ltYm9scyA6IFtzdHJpbmddCisgICAgICAgIGxpc3Qgb2Ygc3ltYm9scyB0byBiZSBleHBvcnRlZCBmcm9tIGEgc2hhcmVkIGV4dGVuc2lvbi4gIE5vdAorICAgICAgICB1c2VkIG9uIGFsbCBwbGF0Zm9ybXMsIGFuZCBub3QgZ2VuZXJhbGx5IG5lY2Vzc2FyeSBmb3IgUHl0aG9uCisgICAgICAgIGV4dGVuc2lvbnMsIHdoaWNoIHR5cGljYWxseSBleHBvcnQgZXhhY3RseSBvbmUgc3ltYm9sOiAiaW5pdCIgKworICAgICAgICBleHRlbnNpb25fbmFtZS4KKyAgICAgIHN3aWdfb3B0cyA6IFtzdHJpbmddCisgICAgICAgIGFueSBleHRyYSBvcHRpb25zIHRvIHBhc3MgdG8gU1dJRyBpZiBhIHNvdXJjZSBmaWxlIGhhcyB0aGUgLmkKKyAgICAgICAgZXh0ZW5zaW9uLgorICAgICAgZGVwZW5kcyA6IFtzdHJpbmddCisgICAgICAgIGxpc3Qgb2YgZmlsZXMgdGhhdCB0aGUgZXh0ZW5zaW9uIGRlcGVuZHMgb24KKyAgICAgIGxhbmd1YWdlIDogc3RyaW5nCisgICAgICAgIGV4dGVuc2lvbiBsYW5ndWFnZSAoaS5lLiAiYyIsICJjKysiLCAib2JqYyIpLiBXaWxsIGJlIGRldGVjdGVkCisgICAgICAgIGZyb20gdGhlIHNvdXJjZSBleHRlbnNpb25zIGlmIG5vdCBwcm92aWRlZC4KKyAgICAgIG9wdGlvbmFsIDogYm9vbGVhbgorICAgICAgICBzcGVjaWZpZXMgdGhhdCBhIGJ1aWxkIGZhaWx1cmUgaW4gdGhlIGV4dGVuc2lvbiBzaG91bGQgbm90IGFib3J0IHRoZQorICAgICAgICBidWlsZCBwcm9jZXNzLCBidXQgc2ltcGx5IG5vdCBpbnN0YWxsIHRoZSBmYWlsaW5nIGV4dGVuc2lvbi4KKyAgICAiIiIKKworICAgICMgKiprd2FyZ3MgYXJlIGFsbG93ZWQgc28gdGhhdCBhIHdhcm5pbmcgaXMgZW1pdHRlZCBpbnN0ZWFkIG9mIGFuCisgICAgIyBleGNlcHRpb24KKyAgICBkZWYgX19pbml0X18oc2VsZiwgbmFtZSwgc291cmNlcywgaW5jbHVkZV9kaXJzPU5vbmUsIGRlZmluZV9tYWNyb3M9Tm9uZSwKKyAgICAgICAgICAgICAgICAgdW5kZWZfbWFjcm9zPU5vbmUsIGxpYnJhcnlfZGlycz1Ob25lLCBsaWJyYXJpZXM9Tm9uZSwKKyAgICAgICAgICAgICAgICAgcnVudGltZV9saWJyYXJ5X2RpcnM9Tm9uZSwgZXh0cmFfb2JqZWN0cz1Ob25lLAorICAgICAgICAgICAgICAgICBleHRyYV9jb21waWxlX2FyZ3M9Tm9uZSwgZXh0cmFfbGlua19hcmdzPU5vbmUsCisgICAgICAgICAgICAgICAgIGV4cG9ydF9zeW1ib2xzPU5vbmUsIHN3aWdfb3B0cz1Ob25lLCBkZXBlbmRzPU5vbmUsCisgICAgICAgICAgICAgICAgIGxhbmd1YWdlPU5vbmUsIG9wdGlvbmFsPU5vbmUsICoqa3cpOgorICAgICAgICBpZiBub3QgaXNpbnN0YW5jZShuYW1lLCBzdHIpOgorICAgICAgICAgICAgcmFpc2UgQXNzZXJ0aW9uRXJyb3IoIiduYW1lJyBtdXN0IGJlIGEgc3RyaW5nIikKKworICAgICAgICBpZiBub3QgaXNpbnN0YW5jZShzb3VyY2VzLCBsaXN0KToKKyAgICAgICAgICAgIHJhaXNlIEFzc2VydGlvbkVycm9yKCInc291cmNlcycgbXVzdCBiZSBhIGxpc3Qgb2Ygc3RyaW5ncyIpCisKKyAgICAgICAgZm9yIHYgaW4gc291cmNlczoKKyAgICAgICAgICAgIGlmIG5vdCBpc2luc3RhbmNlKHYsIHN0cik6CisgICAgICAgICAgICAgICAgcmFpc2UgQXNzZXJ0aW9uRXJyb3IoIidzb3VyY2VzJyBtdXN0IGJlIGEgbGlzdCBvZiBzdHJpbmdzIikKKworICAgICAgICBzZWxmLm5hbWUgPSBuYW1lCisgICAgICAgIHNlbGYuc291cmNlcyA9IHNvdXJjZXMKKyAgICAgICAgc2VsZi5pbmNsdWRlX2RpcnMgPSBpbmNsdWRlX2RpcnMgb3IgW10KKyAgICAgICAgc2VsZi5kZWZpbmVfbWFjcm9zID0gZGVmaW5lX21hY3JvcyBvciBbXQorICAgICAgICBzZWxmLnVuZGVmX21hY3JvcyA9IHVuZGVmX21hY3JvcyBvciBbXQorICAgICAgICBzZWxmLmxpYnJhcnlfZGlycyA9IGxpYnJhcnlfZGlycyBvciBbXQorICAgICAgICBzZWxmLmxpYnJhcmllcyA9IGxpYnJhcmllcyBvciBbXQorICAgICAgICBzZWxmLnJ1bnRpbWVfbGlicmFyeV9kaXJzID0gcnVudGltZV9saWJyYXJ5X2RpcnMgb3IgW10KKyAgICAgICAgc2VsZi5leHRyYV9vYmplY3RzID0gZXh0cmFfb2JqZWN0cyBvciBbXQorICAgICAgICBzZWxmLmV4dHJhX2NvbXBpbGVfYXJncyA9IGV4dHJhX2NvbXBpbGVfYXJncyBvciBbXQorICAgICAgICBzZWxmLmV4dHJhX2xpbmtfYXJncyA9IGV4dHJhX2xpbmtfYXJncyBvciBbXQorICAgICAgICBzZWxmLmV4cG9ydF9zeW1ib2xzID0gZXhwb3J0X3N5bWJvbHMgb3IgW10KKyAgICAgICAgc2VsZi5zd2lnX29wdHMgPSBzd2lnX29wdHMgb3IgW10KKyAgICAgICAgc2VsZi5kZXBlbmRzID0gZGVwZW5kcyBvciBbXQorICAgICAgICBzZWxmLmxhbmd1YWdlID0gbGFuZ3VhZ2UKKyAgICAgICAgc2VsZi5vcHRpb25hbCA9IG9wdGlvbmFsCisKKyAgICAgICAgIyBJZiB0aGVyZSBhcmUgdW5rbm93biBrZXl3b3JkIG9wdGlvbnMsIHdhcm4gYWJvdXQgdGhlbQorICAgICAgICBpZiBsZW4oa3cpID4gMDoKKyAgICAgICAgICAgIG9wdGlvbnMgPSBbcmVwcihvcHRpb24pIGZvciBvcHRpb24gaW4ga3ddCisgICAgICAgICAgICBvcHRpb25zID0gJywgJy5qb2luKHNvcnRlZChvcHRpb25zKSkKKyAgICAgICAgICAgIGxvZ2dlci53YXJuaW5nKAorICAgICAgICAgICAgICAgICd1bmtub3duIGFyZ3VtZW50cyBnaXZlbiB0byBFeHRlbnNpb246ICVzJywgb3B0aW9ucykKZGlmZiAtLWdpdCBhL0xpYi9wYWNrYWdpbmcvY29tcGlsZXIvbXN2Yzljb21waWxlci5weSBiL0xpYi9wYWNrYWdpbmcvY29tcGlsZXIvbXN2Yzljb21waWxlci5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMjlhYTc3Ci0tLSAvZGV2L251bGwKKysrIGIvTGliL3BhY2thZ2luZy9jb21waWxlci9tc3ZjOWNvbXBpbGVyLnB5CkBAIC0wLDAgKzEsNzIwIEBACisiIiJDQ29tcGlsZXIgaW1wbGVtZW50YXRpb24gZm9yIHRoZSBNaWNyb3NvZnQgVmlzdWFsIFN0dWRpbyAyMDA4IGNvbXBpbGVyLgorCitUaGUgTVNWQ0NvbXBpbGVyIGNsYXNzIGlzIGNvbXBhdGlibGUgd2l0aCBWUyAyMDA1IGFuZCBWUyAyMDA4LiAgTGVnYWN5CitzdXBwb3J0IGZvciBvbGRlciB2ZXJzaW9ucyBvZiBWUyBhcmUgaW4gdGhlIG1zdmNjb21waWxlciBtb2R1bGUuCisiIiIKKworIyBXcml0dGVuIGJ5IFBlcnJ5IFN0b2xsCisjIGhhY2tlZCBieSBSb2JpbiBCZWNrZXIgYW5kIFRob21hcyBIZWxsZXIgdG8gZG8gYSBiZXR0ZXIgam9iIG9mCisjICAgZmluZGluZyBEZXZTdHVkaW8gKHRocm91Z2ggdGhlIHJlZ2lzdHJ5KQorIyBwb3J0ZWQgdG8gVlMyMDA1IGFuZCBWUyAyMDA4IGJ5IENocmlzdGlhbiBIZWltZXMKK2ltcG9ydCBvcworaW1wb3J0IHN1YnByb2Nlc3MKK2ltcG9ydCBzeXMKK2ltcG9ydCByZQorCitmcm9tIHBhY2thZ2luZy5lcnJvcnMgaW1wb3J0IChQYWNrYWdpbmdFeGVjRXJyb3IsIFBhY2thZ2luZ1BsYXRmb3JtRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb21waWxlRXJyb3IsIExpYkVycm9yLCBMaW5rRXJyb3IpCitmcm9tIHBhY2thZ2luZy5jb21waWxlci5jY29tcGlsZXIgaW1wb3J0IENDb21waWxlcgorZnJvbSBwYWNrYWdpbmcuY29tcGlsZXIgaW1wb3J0IGdlbl9saWJfb3B0aW9ucworZnJvbSBwYWNrYWdpbmcgaW1wb3J0IGxvZ2dlcgorZnJvbSBwYWNrYWdpbmcudXRpbCBpbXBvcnQgZ2V0X3BsYXRmb3JtCisKK2ltcG9ydCB3aW5yZWcKKworUmVnT3BlbktleUV4ID0gd2lucmVnLk9wZW5LZXlFeAorUmVnRW51bUtleSA9IHdpbnJlZy5FbnVtS2V5CitSZWdFbnVtVmFsdWUgPSB3aW5yZWcuRW51bVZhbHVlCitSZWdFcnJvciA9IHdpbnJlZy5lcnJvcgorCitIS0VZUyA9ICh3aW5yZWcuSEtFWV9VU0VSUywKKyAgICAgICAgIHdpbnJlZy5IS0VZX0NVUlJFTlRfVVNFUiwKKyAgICAgICAgIHdpbnJlZy5IS0VZX0xPQ0FMX01BQ0hJTkUsCisgICAgICAgICB3aW5yZWcuSEtFWV9DTEFTU0VTX1JPT1QpCisKK1ZTX0JBU0UgPSByIlNvZnR3YXJlXE1pY3Jvc29mdFxWaXN1YWxTdHVkaW9cJTAuMWYiCitXSU5TREtfQkFTRSA9IHIiU29mdHdhcmVcTWljcm9zb2Z0XE1pY3Jvc29mdCBTREtzXFdpbmRvd3MiCitORVRfQkFTRSA9IHIiU29mdHdhcmVcTWljcm9zb2Z0XC5ORVRGcmFtZXdvcmsiCisKKyMgQSBtYXAga2V5ZWQgYnkgZ2V0X3BsYXRmb3JtKCkgcmV0dXJuIHZhbHVlcyB0byB2YWx1ZXMgYWNjZXB0ZWQgYnkKKyMgJ3ZjdmFyc2FsbC5iYXQnLiAgTm90ZSBhIGNyb3NzLWNvbXBpbGUgbWF5IGNvbWJpbmUgdGhlc2UgKGVnLCAneDg2X2FtZDY0JyBpcworIyB0aGUgcGFyYW0gdG8gY3Jvc3MtY29tcGlsZSBvbiB4ODYgdGFyZ2V0dGluZyBhbWQ2NC4pCitQTEFUX1RPX1ZDVkFSUyA9IHsKKyAgICAnd2luMzInIDogJ3g4NicsCisgICAgJ3dpbi1hbWQ2NCcgOiAnYW1kNjQnLAorICAgICd3aW4taWE2NCcgOiAnaWE2NCcsCit9CisKKworY2xhc3MgUmVnOgorICAgICIiIkhlbHBlciBjbGFzcyB0byByZWFkIHZhbHVlcyBmcm9tIHRoZSByZWdpc3RyeQorICAgICIiIgorCisgICAgZGVmIGdldF92YWx1ZShjbHMsIHBhdGgsIGtleSk6CisgICAgICAgIGZvciBiYXNlIGluIEhLRVlTOgorICAgICAgICAgICAgZCA9IGNscy5yZWFkX3ZhbHVlcyhiYXNlLCBwYXRoKQorICAgICAgICAgICAgaWYgZCBhbmQga2V5IGluIGQ6CisgICAgICAgICAgICAgICAgcmV0dXJuIGRba2V5XQorICAgICAgICByYWlzZSBLZXlFcnJvcihrZXkpCisgICAgZ2V0X3ZhbHVlID0gY2xhc3NtZXRob2QoZ2V0X3ZhbHVlKQorCisgICAgZGVmIHJlYWRfa2V5cyhjbHMsIGJhc2UsIGtleSk6CisgICAgICAgICIiIlJldHVybiBsaXN0IG9mIHJlZ2lzdHJ5IGtleXMuIiIiCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIGhhbmRsZSA9IFJlZ09wZW5LZXlFeChiYXNlLCBrZXkpCisgICAgICAgIGV4Y2VwdCBSZWdFcnJvcjoKKyAgICAgICAgICAgIHJldHVybiBOb25lCisgICAgICAgIEwgPSBbXQorICAgICAgICBpID0gMAorICAgICAgICB3aGlsZSBUcnVlOgorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIGsgPSBSZWdFbnVtS2V5KGhhbmRsZSwgaSkKKyAgICAgICAgICAgIGV4Y2VwdCBSZWdFcnJvcjoKKyAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAgTC5hcHBlbmQoaykKKyAgICAgICAgICAgIGkgKz0gMQorICAgICAgICByZXR1cm4gTAorICAgIHJlYWRfa2V5cyA9IGNsYXNzbWV0aG9kKHJlYWRfa2V5cykKKworICAgIGRlZiByZWFkX3ZhbHVlcyhjbHMsIGJhc2UsIGtleSk6CisgICAgICAgICIiIlJldHVybiBkaWN0IG9mIHJlZ2lzdHJ5IGtleXMgYW5kIHZhbHVlcy4KKworICAgICAgICBBbGwgbmFtZXMgYXJlIGNvbnZlcnRlZCB0byBsb3dlcmNhc2UuCisgICAgICAgICIiIgorICAgICAgICB0cnk6CisgICAgICAgICAgICBoYW5kbGUgPSBSZWdPcGVuS2V5RXgoYmFzZSwga2V5KQorICAgICAgICBleGNlcHQgUmVnRXJyb3I6CisgICAgICAgICAgICByZXR1cm4gTm9uZQorICAgICAgICBkID0ge30KKyAgICAgICAgaSA9IDAKKyAgICAgICAgd2hpbGUgVHJ1ZToKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBuYW1lLCB2YWx1ZSwgdHlwZSA9IFJlZ0VudW1WYWx1ZShoYW5kbGUsIGkpCisgICAgICAgICAgICBleGNlcHQgUmVnRXJyb3I6CisgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgICAgIG5hbWUgPSBuYW1lLmxvd2VyKCkKKyAgICAgICAgICAgIGRbY2xzLmNvbnZlcnRfbWJjcyhuYW1lKV0gPSBjbHMuY29udmVydF9tYmNzKHZhbHVlKQorICAgICAgICAgICAgaSArPSAxCisgICAgICAgIHJldHVybiBkCisgICAgcmVhZF92YWx1ZXMgPSBjbGFzc21ldGhvZChyZWFkX3ZhbHVlcykKKworICAgIGRlZiBjb252ZXJ0X21iY3Mocyk6CisgICAgICAgIGRlYyA9IGdldGF0dHIocywgImRlY29kZSIsIE5vbmUpCisgICAgICAgIGlmIGRlYyBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBzID0gZGVjKCJtYmNzIikKKyAgICAgICAgICAgIGV4Y2VwdCBVbmljb2RlRXJyb3I6CisgICAgICAgICAgICAgICAgcGFzcworICAgICAgICByZXR1cm4gcworICAgIGNvbnZlcnRfbWJjcyA9IHN0YXRpY21ldGhvZChjb252ZXJ0X21iY3MpCisKK2NsYXNzIE1hY3JvRXhwYW5kZXI6CisKKyAgICBkZWYgX19pbml0X18oc2VsZiwgdmVyc2lvbik6CisgICAgICAgIHNlbGYubWFjcm9zID0ge30KKyAgICAgICAgc2VsZi52c2Jhc2UgPSBWU19CQVNFICUgdmVyc2lvbgorICAgICAgICBzZWxmLmxvYWRfbWFjcm9zKHZlcnNpb24pCisKKyAgICBkZWYgc2V0X21hY3JvKHNlbGYsIG1hY3JvLCBwYXRoLCBrZXkpOgorICAgICAgICBzZWxmLm1hY3Jvc1siJCglcykiICUgbWFjcm9dID0gUmVnLmdldF92YWx1ZShwYXRoLCBrZXkpCisKKyAgICBkZWYgbG9hZF9tYWNyb3Moc2VsZiwgdmVyc2lvbik6CisgICAgICAgIHNlbGYuc2V0X21hY3JvKCJWQ0luc3RhbGxEaXIiLCBzZWxmLnZzYmFzZSArIHIiXFNldHVwXFZDIiwgInByb2R1Y3RkaXIiKQorICAgICAgICBzZWxmLnNldF9tYWNybygiVlNJbnN0YWxsRGlyIiwgc2VsZi52c2Jhc2UgKyByIlxTZXR1cFxWUyIsICJwcm9kdWN0ZGlyIikKKyAgICAgICAgc2VsZi5zZXRfbWFjcm8oIkZyYW1ld29ya0RpciIsIE5FVF9CQVNFLCAiaW5zdGFsbHJvb3QiKQorICAgICAgICB0cnk6CisgICAgICAgICAgICBpZiB2ZXJzaW9uID49IDguMDoKKyAgICAgICAgICAgICAgICBzZWxmLnNldF9tYWNybygiRnJhbWV3b3JrU0RLRGlyIiwgTkVUX0JBU0UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNka2luc3RhbGxyb290djIuMCIpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHJhaXNlIEtleUVycm9yKCJzZGtpbnN0YWxscm9vdHYyLjAiKQorICAgICAgICBleGNlcHQgS2V5RXJyb3I6CisgICAgICAgICAgICByYWlzZSBQYWNrYWdpbmdQbGF0Zm9ybUVycm9yKAorIiIiUHl0aG9uIHdhcyBidWlsdCB3aXRoIFZpc3VhbCBTdHVkaW8gMjAwODsgZXh0ZW5zaW9ucyBtdXN0IGJlIGJ1aWx0IHdpdGggYQorY29tcGlsZXIgdGhhbiBjYW4gZ2VuZXJhdGUgY29tcGF0aWJsZSBiaW5hcmllcy4gVmlzdWFsIFN0dWRpbyAyMDA4IHdhcyBub3QKK2ZvdW5kIG9uIHRoaXMgc3lzdGVtLiBJZiB5b3UgaGF2ZSBDeWd3aW4gaW5zdGFsbGVkLCB5b3UgY2FuIHRyeSBjb21waWxpbmcKK3dpdGggTWluZ1czMiwgYnkgcGFzc2luZyAiLWMgbWluZ3czMiIgdG8gcHlzZXR1cC4iIiIpCisKKyAgICAgICAgaWYgdmVyc2lvbiA+PSA5LjA6CisgICAgICAgICAgICBzZWxmLnNldF9tYWNybygiRnJhbWV3b3JrVmVyc2lvbiIsIHNlbGYudnNiYXNlLCAiY2xyIHZlcnNpb24iKQorICAgICAgICAgICAgc2VsZi5zZXRfbWFjcm8oIldpbmRvd3NTZGtEaXIiLCBXSU5TREtfQkFTRSwgImN1cnJlbnRpbnN0YWxsZm9sZGVyIikKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHAgPSByIlNvZnR3YXJlXE1pY3Jvc29mdFxORVQgRnJhbWV3b3JrIFNldHVwXFByb2R1Y3QiCisgICAgICAgICAgICBmb3IgYmFzZSBpbiBIS0VZUzoKKyAgICAgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgICAgIGggPSBSZWdPcGVuS2V5RXgoYmFzZSwgcCkKKyAgICAgICAgICAgICAgICBleGNlcHQgUmVnRXJyb3I6CisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICAgICAga2V5ID0gUmVnRW51bUtleShoLCAwKQorICAgICAgICAgICAgICAgIGQgPSBSZWcuZ2V0X3ZhbHVlKGJhc2UsIHIiJXNcJXMiICUgKHAsIGtleSkpCisgICAgICAgICAgICAgICAgc2VsZi5tYWNyb3NbIiQoRnJhbWV3b3JrVmVyc2lvbikiXSA9IGRbInZlcnNpb24iXQorCisgICAgZGVmIHN1YihzZWxmLCBzKToKKyAgICAgICAgZm9yIGssIHYgaW4gc2VsZi5tYWNyb3MuaXRlbXMoKToKKyAgICAgICAgICAgIHMgPSBzLnJlcGxhY2UoaywgdikKKyAgICAgICAgcmV0dXJuIHMKKworZGVmIGdldF9idWlsZF92ZXJzaW9uKCk6CisgICAgIiIiUmV0dXJuIHRoZSB2ZXJzaW9uIG9mIE1TVkMgdGhhdCB3YXMgdXNlZCB0byBidWlsZCBQeXRob24uCisKKyAgICBGb3IgUHl0aG9uIDIuMyBhbmQgdXAsIHRoZSB2ZXJzaW9uIG51bWJlciBpcyBpbmNsdWRlZCBpbgorICAgIHN5cy52ZXJzaW9uLiAgRm9yIGVhcmxpZXIgdmVyc2lvbnMsIGFzc3VtZSB0aGUgY29tcGlsZXIgaXMgTVNWQyA2LgorICAgICIiIgorICAgIHByZWZpeCA9ICJNU0Mgdi4iCisgICAgaSA9IHN5cy52ZXJzaW9uLmZpbmQocHJlZml4KQorICAgIGlmIGkgPT0gLTE6CisgICAgICAgIHJldHVybiA2CisgICAgaSA9IGkgKyBsZW4ocHJlZml4KQorICAgIHMsIHJlc3QgPSBzeXMudmVyc2lvbltpOl0uc3BsaXQoIiAiLCAxKQorICAgIG1ham9yVmVyc2lvbiA9IGludChzWzotMl0pIC0gNgorICAgIG1pbm9yVmVyc2lvbiA9IGludChzWzI6M10pIC8gMTAuMAorICAgICMgSSBkb24ndCB0aGluayBwYXRocyBhcmUgYWZmZWN0ZWQgYnkgbWlub3IgdmVyc2lvbiBpbiB2ZXJzaW9uIDYKKyAgICBpZiBtYWpvclZlcnNpb24gPT0gNjoKKyAgICAgICAgbWlub3JWZXJzaW9uID0gMAorICAgIGlmIG1ham9yVmVyc2lvbiA+PSA2OgorICAgICAgICByZXR1cm4gbWFqb3JWZXJzaW9uICsgbWlub3JWZXJzaW9uCisgICAgIyBlbHNlIHdlIGRvbid0IGtub3cgd2hhdCB2ZXJzaW9uIG9mIHRoZSBjb21waWxlciB0aGlzIGlzCisgICAgcmV0dXJuIE5vbmUKKworZGVmIG5vcm1hbGl6ZV9hbmRfcmVkdWNlX3BhdGhzKHBhdGhzKToKKyAgICAiIiJSZXR1cm4gYSBsaXN0IG9mIG5vcm1hbGl6ZWQgcGF0aHMgd2l0aCBkdXBsaWNhdGVzIHJlbW92ZWQuCisKKyAgICBUaGUgY3VycmVudCBvcmRlciBvZiBwYXRocyBpcyBtYWludGFpbmVkLgorICAgICIiIgorICAgICMgUGF0aHMgYXJlIG5vcm1hbGl6ZWQgc28gdGhpbmdzIGxpa2U6ICAvYSBhbmQgL2EvIGFyZW4ndCBib3RoIHByZXNlcnZlZC4KKyAgICByZWR1Y2VkX3BhdGhzID0gW10KKyAgICBmb3IgcCBpbiBwYXRoczoKKyAgICAgICAgbnAgPSBvcy5wYXRoLm5vcm1wYXRoKHApCisgICAgICAgICMgWFhYKG5ub3J3aXR6KTogTyhuKioyKSwgaWYgcmVkdWNlZF9wYXRocyBnZXRzIGxvbmcgcGVyaGFwcyB1c2UgYSBzZXQuCisgICAgICAgIGlmIG5wIG5vdCBpbiByZWR1Y2VkX3BhdGhzOgorICAgICAgICAgICAgcmVkdWNlZF9wYXRocy5hcHBlbmQobnApCisgICAgcmV0dXJuIHJlZHVjZWRfcGF0aHMKKworZGVmIHJlbW92ZUR1cGxpY2F0ZXModmFyaWFibGUpOgorICAgICIiIlJlbW92ZSBkdXBsaWNhdGUgdmFsdWVzIG9mIGFuIGVudmlyb25tZW50IHZhcmlhYmxlLgorICAgICIiIgorICAgIG9sZExpc3QgPSB2YXJpYWJsZS5zcGxpdChvcy5wYXRoc2VwKQorICAgIG5ld0xpc3QgPSBbXQorICAgIGZvciBpIGluIG9sZExpc3Q6CisgICAgICAgIGlmIGkgbm90IGluIG5ld0xpc3Q6CisgICAgICAgICAgICBuZXdMaXN0LmFwcGVuZChpKQorICAgIG5ld1ZhcmlhYmxlID0gb3MucGF0aHNlcC5qb2luKG5ld0xpc3QpCisgICAgcmV0dXJuIG5ld1ZhcmlhYmxlCisKK2RlZiBmaW5kX3ZjdmFyc2FsbCh2ZXJzaW9uKToKKyAgICAiIiJGaW5kIHRoZSB2Y3ZhcnNhbGwuYmF0IGZpbGUKKworICAgIEF0IGZpcnN0IGl0IHRyaWVzIHRvIGZpbmQgdGhlIHByb2R1Y3RkaXIgb2YgVlMgMjAwOCBpbiB0aGUgcmVnaXN0cnkuIElmCisgICAgdGhhdCBmYWlscyBpdCBmYWxscyBiYWNrIHRvIHRoZSBWUzkwQ09NTlRPT0xTIGVudiB2YXIuCisgICAgIiIiCisgICAgdnNiYXNlID0gVlNfQkFTRSAlIHZlcnNpb24KKyAgICB0cnk6CisgICAgICAgIHByb2R1Y3RkaXIgPSBSZWcuZ2V0X3ZhbHVlKHIiJXNcU2V0dXBcVkMiICUgdnNiYXNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicHJvZHVjdGRpciIpCisgICAgZXhjZXB0IEtleUVycm9yOgorICAgICAgICBsb2dnZXIuZGVidWcoIlVuYWJsZSB0byBmaW5kIHByb2R1Y3RkaXIgaW4gcmVnaXN0cnkiKQorICAgICAgICBwcm9kdWN0ZGlyID0gTm9uZQorCisgICAgaWYgbm90IHByb2R1Y3RkaXIgb3Igbm90IG9zLnBhdGguaXNkaXIocHJvZHVjdGRpcik6CisgICAgICAgIHRvb2xza2V5ID0gIlZTJTAuZjBDT01OVE9PTFMiICUgdmVyc2lvbgorICAgICAgICB0b29sc2RpciA9IG9zLmVudmlyb24uZ2V0KHRvb2xza2V5LCBOb25lKQorCisgICAgICAgIGlmIHRvb2xzZGlyIGFuZCBvcy5wYXRoLmlzZGlyKHRvb2xzZGlyKToKKyAgICAgICAgICAgIHByb2R1Y3RkaXIgPSBvcy5wYXRoLmpvaW4odG9vbHNkaXIsIG9zLnBhcmRpciwgb3MucGFyZGlyLCAiVkMiKQorICAgICAgICAgICAgcHJvZHVjdGRpciA9IG9zLnBhdGguYWJzcGF0aChwcm9kdWN0ZGlyKQorICAgICAgICAgICAgaWYgbm90IG9zLnBhdGguaXNkaXIocHJvZHVjdGRpcik6CisgICAgICAgICAgICAgICAgbG9nZ2VyLmRlYnVnKCIlcyBpcyBub3QgYSB2YWxpZCBkaXJlY3RvcnkiLCBwcm9kdWN0ZGlyKQorICAgICAgICAgICAgICAgIHJldHVybiBOb25lCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBsb2dnZXIuZGVidWcoImVudiB2YXIgJXMgaXMgbm90IHNldCBvciBpbnZhbGlkIiwgdG9vbHNrZXkpCisgICAgaWYgbm90IHByb2R1Y3RkaXI6CisgICAgICAgIGxvZ2dlci5kZWJ1Zygibm8gcHJvZHVjdGRpciBmb3VuZCIpCisgICAgICAgIHJldHVybiBOb25lCisgICAgdmN2YXJzYWxsID0gb3MucGF0aC5qb2luKHByb2R1Y3RkaXIsICJ2Y3ZhcnNhbGwuYmF0IikKKyAgICBpZiBvcy5wYXRoLmlzZmlsZSh2Y3ZhcnNhbGwpOgorICAgICAgICByZXR1cm4gdmN2YXJzYWxsCisgICAgbG9nZ2VyLmRlYnVnKCJ1bmFibGUgdG8gZmluZCB2Y3ZhcnNhbGwuYmF0IikKKyAgICByZXR1cm4gTm9uZQorCitkZWYgcXVlcnlfdmN2YXJzYWxsKHZlcnNpb24sIGFyY2g9Ing4NiIpOgorICAgICIiIkxhdW5jaCB2Y3ZhcnNhbGwuYmF0IGFuZCByZWFkIHRoZSBzZXR0aW5ncyBmcm9tIGl0cyBlbnZpcm9ubWVudAorICAgICIiIgorICAgIHZjdmFyc2FsbCA9IGZpbmRfdmN2YXJzYWxsKHZlcnNpb24pCisgICAgaW50ZXJlc3RpbmcgPSBzZXQoKCJpbmNsdWRlIiwgImxpYiIsICJsaWJwYXRoIiwgInBhdGgiKSkKKyAgICByZXN1bHQgPSB7fQorCisgICAgaWYgdmN2YXJzYWxsIGlzIE5vbmU6CisgICAgICAgIHJhaXNlIFBhY2thZ2luZ1BsYXRmb3JtRXJyb3IoIlVuYWJsZSB0byBmaW5kIHZjdmFyc2FsbC5iYXQiKQorICAgIGxvZ2dlci5kZWJ1ZygiY2FsbGluZyAndmN2YXJzYWxsLmJhdCAlcycgKHZlcnNpb249JXMpIiwgYXJjaCwgdmVyc2lvbikKKyAgICBwb3BlbiA9IHN1YnByb2Nlc3MuUG9wZW4oJyIlcyIgJXMgJiBzZXQnICUgKHZjdmFyc2FsbCwgYXJjaCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZG91dD1zdWJwcm9jZXNzLlBJUEUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZGVycj1zdWJwcm9jZXNzLlBJUEUpCisKKyAgICBzdGRvdXQsIHN0ZGVyciA9IHBvcGVuLmNvbW11bmljYXRlKCkKKyAgICBpZiBwb3Blbi53YWl0KCkgIT0gMDoKKyAgICAgICAgcmFpc2UgUGFja2FnaW5nUGxhdGZvcm1FcnJvcihzdGRlcnIuZGVjb2RlKCJtYmNzIikpCisKKyAgICBzdGRvdXQgPSBzdGRvdXQuZGVjb2RlKCJtYmNzIikKKyAgICBmb3IgbGluZSBpbiBzdGRvdXQuc3BsaXQoIlxuIik6CisgICAgICAgIGxpbmUgPSBSZWcuY29udmVydF9tYmNzKGxpbmUpCisgICAgICAgIGlmICc9JyBub3QgaW4gbGluZToKKyAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgIGxpbmUgPSBsaW5lLnN0cmlwKCkKKyAgICAgICAga2V5LCB2YWx1ZSA9IGxpbmUuc3BsaXQoJz0nLCAxKQorICAgICAgICBrZXkgPSBrZXkubG93ZXIoKQorICAgICAgICBpZiBrZXkgaW4gaW50ZXJlc3Rpbmc6CisgICAgICAgICAgICBpZiB2YWx1ZS5lbmRzd2l0aChvcy5wYXRoc2VwKToKKyAgICAgICAgICAgICAgICB2YWx1ZSA9IHZhbHVlWzotMV0KKyAgICAgICAgICAgIHJlc3VsdFtrZXldID0gcmVtb3ZlRHVwbGljYXRlcyh2YWx1ZSkKKworICAgIGlmIGxlbihyZXN1bHQpICE9IGxlbihpbnRlcmVzdGluZyk6CisgICAgICAgIHJhaXNlIFZhbHVlRXJyb3Ioc3RyKGxpc3QocmVzdWx0KSkpCisKKyAgICByZXR1cm4gcmVzdWx0CisKKyMgTW9yZSBnbG9iYWxzCitWRVJTSU9OID0gZ2V0X2J1aWxkX3ZlcnNpb24oKQoraWYgVkVSU0lPTiA8IDguMDoKKyAgICByYWlzZSBQYWNrYWdpbmdQbGF0Zm9ybUVycm9yKCJWQyAlMC4xZiBpcyBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMgbW9kdWxlIiAlIFZFUlNJT04pCisjIE1BQ1JPUyA9IE1hY3JvRXhwYW5kZXIoVkVSU0lPTikKKworY2xhc3MgTVNWQ0NvbXBpbGVyKENDb21waWxlcikgOgorICAgICIiIkNvbmNyZXRlIGNsYXNzIHRoYXQgaW1wbGVtZW50cyBhbiBpbnRlcmZhY2UgdG8gTWljcm9zb2Z0IFZpc3VhbCBDKyssCisgICAgICAgYXMgZGVmaW5lZCBieSB0aGUgQ0NvbXBpbGVyIGFic3RyYWN0IGNsYXNzLiIiIgorCisgICAgbmFtZSA9ICdtc3ZjJworICAgIGRlc2NyaXB0aW9uID0gJ01pY3Jvc29mdCBWaXN1YWwgQysrJworCisgICAgIyBKdXN0IHNldCB0aGlzIHNvIENDb21waWxlcidzIGNvbnN0cnVjdG9yIGRvZXNuJ3QgYmFyZi4gIFdlIGN1cnJlbnRseQorICAgICMgZG9uJ3QgdXNlIHRoZSAnc2V0X2V4ZWN1dGFibGVzKCknIGJ1cmVhdWNyYWN5IHByb3ZpZGVkIGJ5IENDb21waWxlciwKKyAgICAjIGFzIGl0IHJlYWxseSBpc24ndCBuZWNlc3NhcnkgZm9yIHRoaXMgc29ydCBvZiBzaW5nbGUtY29tcGlsZXIgY2xhc3MuCisgICAgIyBXb3VsZCBiZSBuaWNlIHRvIGhhdmUgYSBjb25zaXN0ZW50IGludGVyZmFjZSB3aXRoIFVuaXhDQ29tcGlsZXIsCisgICAgIyB0aG91Z2gsIHNvIGl0J3Mgd29ydGggdGhpbmtpbmcgYWJvdXQuCisgICAgZXhlY3V0YWJsZXMgPSB7fQorCisgICAgIyBQcml2YXRlIGNsYXNzIGRhdGEgKG5lZWQgdG8gZGlzdGluZ3Vpc2ggQyBmcm9tIEMrKyBzb3VyY2UgZm9yIGNvbXBpbGVyKQorICAgIF9jX2V4dGVuc2lvbnMgPSBbJy5jJ10KKyAgICBfY3BwX2V4dGVuc2lvbnMgPSBbJy5jYycsICcuY3BwJywgJy5jeHgnXQorICAgIF9yY19leHRlbnNpb25zID0gWycucmMnXQorICAgIF9tY19leHRlbnNpb25zID0gWycubWMnXQorCisgICAgIyBOZWVkZWQgZm9yIHRoZSBmaWxlbmFtZSBnZW5lcmF0aW9uIG1ldGhvZHMgcHJvdmlkZWQgYnkgdGhlCisgICAgIyBiYXNlIGNsYXNzLCBDQ29tcGlsZXIuCisgICAgc3JjX2V4dGVuc2lvbnMgPSAoX2NfZXh0ZW5zaW9ucyArIF9jcHBfZXh0ZW5zaW9ucyArCisgICAgICAgICAgICAgICAgICAgICAgX3JjX2V4dGVuc2lvbnMgKyBfbWNfZXh0ZW5zaW9ucykKKyAgICByZXNfZXh0ZW5zaW9uID0gJy5yZXMnCisgICAgb2JqX2V4dGVuc2lvbiA9ICcub2JqJworICAgIHN0YXRpY19saWJfZXh0ZW5zaW9uID0gJy5saWInCisgICAgc2hhcmVkX2xpYl9leHRlbnNpb24gPSAnLmRsbCcKKyAgICBzdGF0aWNfbGliX2Zvcm1hdCA9IHNoYXJlZF9saWJfZm9ybWF0ID0gJyVzJXMnCisgICAgZXhlX2V4dGVuc2lvbiA9ICcuZXhlJworCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGRyeV9ydW49RmFsc2UsIGZvcmNlPUZhbHNlKToKKyAgICAgICAgc3VwZXIoTVNWQ0NvbXBpbGVyLCBzZWxmKS5fX2luaXRfXyhkcnlfcnVuLCBmb3JjZSkKKyAgICAgICAgc2VsZi5fX3ZlcnNpb24gPSBWRVJTSU9OCisgICAgICAgIHNlbGYuX19yb290ID0gciJTb2Z0d2FyZVxNaWNyb3NvZnRcVmlzdWFsU3R1ZGlvIgorICAgICAgICAjIHNlbGYuX19tYWNyb3MgPSBNQUNST1MKKyAgICAgICAgc2VsZi5fX3BhdGhzID0gW10KKyAgICAgICAgIyB0YXJnZXQgcGxhdGZvcm0gKC5wbGF0X25hbWUgaXMgY29uc2lzdGVudCB3aXRoICdiZGlzdCcpCisgICAgICAgIHNlbGYucGxhdF9uYW1lID0gTm9uZQorICAgICAgICBzZWxmLl9fYXJjaCA9IE5vbmUgIyBkZXByZWNhdGVkIG5hbWUKKyAgICAgICAgc2VsZi5pbml0aWFsaXplZCA9IEZhbHNlCisKKyAgICBkZWYgaW5pdGlhbGl6ZShzZWxmLCBwbGF0X25hbWU9Tm9uZSk6CisgICAgICAgICMgbXVsdGktaW5pdCBtZWFucyB3ZSB3b3VsZCBuZWVkIHRvIGNoZWNrIHBsYXRmb3JtIHNhbWUgZWFjaCB0aW1lLi4uCisgICAgICAgIGFzc2VydCBub3Qgc2VsZi5pbml0aWFsaXplZCwgImRvbid0IGluaXQgbXVsdGlwbGUgdGltZXMiCisgICAgICAgIGlmIHBsYXRfbmFtZSBpcyBOb25lOgorICAgICAgICAgICAgcGxhdF9uYW1lID0gZ2V0X3BsYXRmb3JtKCkKKyAgICAgICAgIyBzYW5pdHkgY2hlY2sgZm9yIHBsYXRmb3JtcyB0byBwcmV2ZW50IG9ic2N1cmUgZXJyb3JzIGxhdGVyLgorICAgICAgICBva19wbGF0cyA9ICd3aW4zMicsICd3aW4tYW1kNjQnLCAnd2luLWlhNjQnCisgICAgICAgIGlmIHBsYXRfbmFtZSBub3QgaW4gb2tfcGxhdHM6CisgICAgICAgICAgICByYWlzZSBQYWNrYWdpbmdQbGF0Zm9ybUVycm9yKCItLXBsYXQtbmFtZSBtdXN0IGJlIG9uZSBvZiAlcyIgJQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAob2tfcGxhdHMsKSkKKworICAgICAgICBpZiAiRElTVFVUSUxTX1VTRV9TREsiIGluIG9zLmVudmlyb24gYW5kICJNU1NkayIgaW4gb3MuZW52aXJvbiBhbmQgc2VsZi5maW5kX2V4ZSgiY2wuZXhlIik6CisgICAgICAgICAgICAjIEFzc3VtZSB0aGF0IHRoZSBTREsgc2V0IHVwIGV2ZXJ5dGhpbmcgYWxyaWdodDsgZG9uJ3QgdHJ5IHRvIGJlCisgICAgICAgICAgICAjIHNtYXJ0ZXIKKyAgICAgICAgICAgIHNlbGYuY2MgPSAiY2wuZXhlIgorICAgICAgICAgICAgc2VsZi5saW5rZXIgPSAibGluay5leGUiCisgICAgICAgICAgICBzZWxmLmxpYiA9ICJsaWIuZXhlIgorICAgICAgICAgICAgc2VsZi5yYyA9ICJyYy5leGUiCisgICAgICAgICAgICBzZWxmLm1jID0gIm1jLmV4ZSIKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgICMgT24geDg2LCAndmN2YXJzMzIuYmF0IGFtZDY0JyBjcmVhdGVzIGFuIGVudiB0aGF0IGRvZXNuJ3Qgd29yazsKKyAgICAgICAgICAgICMgdG8gY3Jvc3MgY29tcGlsZSwgeW91IHVzZSAneDg2X2FtZDY0Jy4KKyAgICAgICAgICAgICMgT24gQU1ENjQsICd2Y3ZhcnMzMi5iYXQgYW1kNjQnIGlzIGEgbmF0aXZlIGJ1aWxkIGVudjsgdG8gY3Jvc3MKKyAgICAgICAgICAgICMgY29tcGlsZSB1c2UgJ3g4NicgKGllLCBpdCBydW5zIHRoZSB4ODYgY29tcGlsZXIgZGlyZWN0bHkpCisgICAgICAgICAgICAjIE5vIGlkZWEgaG93IGl0YW5pdW0gaGFuZGxlcyB0aGlzLCBpZiBhdCBhbGwuCisgICAgICAgICAgICBpZiBwbGF0X25hbWUgPT0gZ2V0X3BsYXRmb3JtKCkgb3IgcGxhdF9uYW1lID09ICd3aW4zMic6CisgICAgICAgICAgICAgICAgIyBuYXRpdmUgYnVpbGQgb3IgY3Jvc3MtY29tcGlsZSB0byB3aW4zMgorICAgICAgICAgICAgICAgIHBsYXRfc3BlYyA9IFBMQVRfVE9fVkNWQVJTW3BsYXRfbmFtZV0KKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgIyBjcm9zcyBjb21waWxlIGZyb20gd2luMzIgLT4gc29tZSA2NGJpdAorICAgICAgICAgICAgICAgIHBsYXRfc3BlYyA9IFBMQVRfVE9fVkNWQVJTW2dldF9wbGF0Zm9ybSgpXSArICdfJyArIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBQTEFUX1RPX1ZDVkFSU1twbGF0X25hbWVdCisKKyAgICAgICAgICAgIHZjX2VudiA9IHF1ZXJ5X3ZjdmFyc2FsbChWRVJTSU9OLCBwbGF0X3NwZWMpCisKKyAgICAgICAgICAgICMgdGFrZSBjYXJlIHRvIG9ubHkgdXNlIHN0cmluZ3MgaW4gdGhlIGVudmlyb25tZW50LgorICAgICAgICAgICAgc2VsZi5fX3BhdGhzID0gdmNfZW52WydwYXRoJ10uc3BsaXQob3MucGF0aHNlcCkKKyAgICAgICAgICAgIG9zLmVudmlyb25bJ2xpYiddID0gdmNfZW52WydsaWInXQorICAgICAgICAgICAgb3MuZW52aXJvblsnaW5jbHVkZSddID0gdmNfZW52WydpbmNsdWRlJ10KKworICAgICAgICAgICAgaWYgbGVuKHNlbGYuX19wYXRocykgPT0gMDoKKyAgICAgICAgICAgICAgICByYWlzZSBQYWNrYWdpbmdQbGF0Zm9ybUVycm9yKCJQeXRob24gd2FzIGJ1aWx0IHdpdGggJXMsICIKKyAgICAgICAgICAgICAgICAgICAgICAgImFuZCBleHRlbnNpb25zIG5lZWQgdG8gYmUgYnVpbHQgd2l0aCB0aGUgc2FtZSAiCisgICAgICAgICAgICAgICAgICAgICAgICJ2ZXJzaW9uIG9mIHRoZSBjb21waWxlciwgYnV0IGl0IGlzbid0IGluc3RhbGxlZC4iCisgICAgICAgICAgICAgICAgICAgICAgICUgc2VsZi5fX3Byb2R1Y3QpCisKKyAgICAgICAgICAgIHNlbGYuY2MgPSBzZWxmLmZpbmRfZXhlKCJjbC5leGUiKQorICAgICAgICAgICAgc2VsZi5saW5rZXIgPSBzZWxmLmZpbmRfZXhlKCJsaW5rLmV4ZSIpCisgICAgICAgICAgICBzZWxmLmxpYiA9IHNlbGYuZmluZF9leGUoImxpYi5leGUiKQorICAgICAgICAgICAgc2VsZi5yYyA9IHNlbGYuZmluZF9leGUoInJjLmV4ZSIpICAgIyByZXNvdXJjZSBjb21waWxlcgorICAgICAgICAgICAgc2VsZi5tYyA9IHNlbGYuZmluZF9leGUoIm1jLmV4ZSIpICAgIyBtZXNzYWdlIGNvbXBpbGVyCisgICAgICAgICAgICAjc2VsZi5zZXRfcGF0aF9lbnZfdmFyKCdsaWInKQorICAgICAgICAgICAgI3NlbGYuc2V0X3BhdGhfZW52X3ZhcignaW5jbHVkZScpCisKKyAgICAgICAgIyBleHRlbmQgdGhlIE1TVkMgcGF0aCB3aXRoIHRoZSBjdXJyZW50IHBhdGgKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgZm9yIHAgaW4gb3MuZW52aXJvblsncGF0aCddLnNwbGl0KCc7Jyk6CisgICAgICAgICAgICAgICAgc2VsZi5fX3BhdGhzLmFwcGVuZChwKQorICAgICAgICBleGNlcHQgS2V5RXJyb3I6CisgICAgICAgICAgICBwYXNzCisgICAgICAgIHNlbGYuX19wYXRocyA9IG5vcm1hbGl6ZV9hbmRfcmVkdWNlX3BhdGhzKHNlbGYuX19wYXRocykKKyAgICAgICAgb3MuZW52aXJvblsncGF0aCddID0gIjsiLmpvaW4oc2VsZi5fX3BhdGhzKQorCisgICAgICAgIHNlbGYucHJlcHJvY2Vzc19vcHRpb25zID0gTm9uZQorICAgICAgICBpZiBzZWxmLl9fYXJjaCA9PSAieDg2IjoKKyAgICAgICAgICAgIHNlbGYuY29tcGlsZV9vcHRpb25zID0gWyAnL25vbG9nbycsICcvT3gnLCAnL01EJywgJy9XMycsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy9ETkRFQlVHJ10KKyAgICAgICAgICAgIHNlbGYuY29tcGlsZV9vcHRpb25zX2RlYnVnID0gWycvbm9sb2dvJywgJy9PZCcsICcvTURkJywgJy9XMycsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnL1o3JywgJy9EX0RFQlVHJ10KKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgICMgV2luNjQKKyAgICAgICAgICAgIHNlbGYuY29tcGlsZV9vcHRpb25zID0gWyAnL25vbG9nbycsICcvT3gnLCAnL01EJywgJy9XMycsICcvR1MtJyAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy9ETkRFQlVHJ10KKyAgICAgICAgICAgIHNlbGYuY29tcGlsZV9vcHRpb25zX2RlYnVnID0gWycvbm9sb2dvJywgJy9PZCcsICcvTURkJywgJy9XMycsICcvR1MtJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcvWjcnLCAnL0RfREVCVUcnXQorCisgICAgICAgIHNlbGYubGRmbGFnc19zaGFyZWQgPSBbJy9ETEwnLCAnL25vbG9nbycsICcvSU5DUkVNRU5UQUw6Tk8nXQorICAgICAgICBpZiBzZWxmLl9fdmVyc2lvbiA+PSA3OgorICAgICAgICAgICAgc2VsZi5sZGZsYWdzX3NoYXJlZF9kZWJ1ZyA9IFsKKyAgICAgICAgICAgICAgICAnL0RMTCcsICcvbm9sb2dvJywgJy9JTkNSRU1FTlRBTDpubycsICcvREVCVUcnLCAnL3BkYjpOb25lJworICAgICAgICAgICAgICAgIF0KKyAgICAgICAgc2VsZi5sZGZsYWdzX3N0YXRpYyA9IFsgJy9ub2xvZ28nXQorCisgICAgICAgIHNlbGYuaW5pdGlhbGl6ZWQgPSBUcnVlCisKKyAgICAjIC0tIFdvcmtlciBtZXRob2RzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisgICAgZGVmIG9iamVjdF9maWxlbmFtZXMoc2VsZiwKKyAgICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2VfZmlsZW5hbWVzLAorICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmlwX2Rpcj1GYWxzZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBvdXRwdXRfZGlyPScnKToKKyAgICAgICAgIyBDb3BpZWQgZnJvbSBjY29tcGlsZXIucHksIGV4dGVuZGVkIHRvIHJldHVybiAucmVzIGFzICdvYmplY3QnLWZpbGUKKyAgICAgICAgIyBmb3IgLnJjIGlucHV0IGZpbGUKKyAgICAgICAgaWYgb3V0cHV0X2RpciBpcyBOb25lOiBvdXRwdXRfZGlyID0gJycKKyAgICAgICAgb2JqX25hbWVzID0gW10KKyAgICAgICAgZm9yIHNyY19uYW1lIGluIHNvdXJjZV9maWxlbmFtZXM6CisgICAgICAgICAgICBiYXNlLCBleHQgPSBvcy5wYXRoLnNwbGl0ZXh0KHNyY19uYW1lKQorICAgICAgICAgICAgYmFzZSA9IG9zLnBhdGguc3BsaXRkcml2ZShiYXNlKVsxXSAjIENob3Agb2ZmIHRoZSBkcml2ZQorICAgICAgICAgICAgYmFzZSA9IGJhc2Vbb3MucGF0aC5pc2FicyhiYXNlKTpdICAjIElmIGFicywgY2hvcCBvZmYgbGVhZGluZyAvCisgICAgICAgICAgICBpZiBleHQgbm90IGluIHNlbGYuc3JjX2V4dGVuc2lvbnM6CisgICAgICAgICAgICAgICAgIyBCZXR0ZXIgdG8gcmFpc2UgYW4gZXhjZXB0aW9uIGluc3RlYWQgb2Ygc2lsZW50bHkgY29udGludWluZworICAgICAgICAgICAgICAgICMgYW5kIGxhdGVyIGNvbXBsYWluIGFib3V0IHNvdXJjZXMgYW5kIHRhcmdldHMgaGF2aW5nCisgICAgICAgICAgICAgICAgIyBkaWZmZXJlbnQgbGVuZ3RocworICAgICAgICAgICAgICAgIHJhaXNlIENvbXBpbGVFcnJvcigiRG9uJ3Qga25vdyBob3cgdG8gY29tcGlsZSAlcyIgJSBzcmNfbmFtZSkKKyAgICAgICAgICAgIGlmIHN0cmlwX2RpcjoKKyAgICAgICAgICAgICAgICBiYXNlID0gb3MucGF0aC5iYXNlbmFtZShiYXNlKQorICAgICAgICAgICAgaWYgZXh0IGluIHNlbGYuX3JjX2V4dGVuc2lvbnM6CisgICAgICAgICAgICAgICAgb2JqX25hbWVzLmFwcGVuZChvcy5wYXRoLmpvaW4ob3V0cHV0X2RpciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYXNlICsgc2VsZi5yZXNfZXh0ZW5zaW9uKSkKKyAgICAgICAgICAgIGVsaWYgZXh0IGluIHNlbGYuX21jX2V4dGVuc2lvbnM6CisgICAgICAgICAgICAgICAgb2JqX25hbWVzLmFwcGVuZChvcy5wYXRoLmpvaW4ob3V0cHV0X2RpciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYXNlICsgc2VsZi5yZXNfZXh0ZW5zaW9uKSkKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgb2JqX25hbWVzLmFwcGVuZChvcy5wYXRoLmpvaW4ob3V0cHV0X2RpciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYXNlICsgc2VsZi5vYmpfZXh0ZW5zaW9uKSkKKyAgICAgICAgcmV0dXJuIG9ial9uYW1lcworCisKKyAgICBkZWYgY29tcGlsZShzZWxmLCBzb3VyY2VzLAorICAgICAgICAgICAgICAgIG91dHB1dF9kaXI9Tm9uZSwgbWFjcm9zPU5vbmUsIGluY2x1ZGVfZGlycz1Ob25lLCBkZWJ1Zz1GYWxzZSwKKyAgICAgICAgICAgICAgICBleHRyYV9wcmVhcmdzPU5vbmUsIGV4dHJhX3Bvc3RhcmdzPU5vbmUsIGRlcGVuZHM9Tm9uZSk6CisKKyAgICAgICAgaWYgbm90IHNlbGYuaW5pdGlhbGl6ZWQ6CisgICAgICAgICAgICBzZWxmLmluaXRpYWxpemUoKQorICAgICAgICBjb21waWxlX2luZm8gPSBzZWxmLl9zZXR1cF9jb21waWxlKG91dHB1dF9kaXIsIG1hY3JvcywgaW5jbHVkZV9kaXJzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZXMsIGRlcGVuZHMsIGV4dHJhX3Bvc3RhcmdzKQorICAgICAgICBtYWNyb3MsIG9iamVjdHMsIGV4dHJhX3Bvc3RhcmdzLCBwcF9vcHRzLCBidWlsZCA9IGNvbXBpbGVfaW5mbworCisgICAgICAgIGNvbXBpbGVfb3B0cyA9IGV4dHJhX3ByZWFyZ3Mgb3IgW10KKyAgICAgICAgY29tcGlsZV9vcHRzLmFwcGVuZCgnL2MnKQorICAgICAgICBpZiBkZWJ1ZzoKKyAgICAgICAgICAgIGNvbXBpbGVfb3B0cy5leHRlbmQoc2VsZi5jb21waWxlX29wdGlvbnNfZGVidWcpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBjb21waWxlX29wdHMuZXh0ZW5kKHNlbGYuY29tcGlsZV9vcHRpb25zKQorCisgICAgICAgIGZvciBvYmogaW4gb2JqZWN0czoKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBzcmMsIGV4dCA9IGJ1aWxkW29ial0KKyAgICAgICAgICAgIGV4Y2VwdCBLZXlFcnJvcjoKKyAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgaWYgZGVidWc6CisgICAgICAgICAgICAgICAgIyBwYXNzIHRoZSBmdWxsIHBhdGhuYW1lIHRvIE1TVkMgaW4gZGVidWcgbW9kZSwKKyAgICAgICAgICAgICAgICAjIHRoaXMgYWxsb3dzIHRoZSBkZWJ1Z2dlciB0byBmaW5kIHRoZSBzb3VyY2UgZmlsZQorICAgICAgICAgICAgICAgICMgd2l0aG91dCBhc2tpbmcgdGhlIHVzZXIgdG8gYnJvd3NlIGZvciBpdAorICAgICAgICAgICAgICAgIHNyYyA9IG9zLnBhdGguYWJzcGF0aChzcmMpCisKKyAgICAgICAgICAgIGlmIGV4dCBpbiBzZWxmLl9jX2V4dGVuc2lvbnM6CisgICAgICAgICAgICAgICAgaW5wdXRfb3B0ID0gIi9UYyIgKyBzcmMKKyAgICAgICAgICAgIGVsaWYgZXh0IGluIHNlbGYuX2NwcF9leHRlbnNpb25zOgorICAgICAgICAgICAgICAgIGlucHV0X29wdCA9ICIvVHAiICsgc3JjCisgICAgICAgICAgICBlbGlmIGV4dCBpbiBzZWxmLl9yY19leHRlbnNpb25zOgorICAgICAgICAgICAgICAgICMgY29tcGlsZSAuUkMgdG8gLlJFUyBmaWxlCisgICAgICAgICAgICAgICAgaW5wdXRfb3B0ID0gc3JjCisgICAgICAgICAgICAgICAgb3V0cHV0X29wdCA9ICIvZm8iICsgb2JqCisgICAgICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgICAgICBzZWxmLnNwYXduKFtzZWxmLnJjXSArIHBwX29wdHMgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtvdXRwdXRfb3B0XSArIFtpbnB1dF9vcHRdKQorICAgICAgICAgICAgICAgIGV4Y2VwdCBQYWNrYWdpbmdFeGVjRXJyb3IgYXMgbXNnOgorICAgICAgICAgICAgICAgICAgICByYWlzZSBDb21waWxlRXJyb3IobXNnKQorICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICBlbGlmIGV4dCBpbiBzZWxmLl9tY19leHRlbnNpb25zOgorICAgICAgICAgICAgICAgICMgQ29tcGlsZSAuTUMgdG8gLlJDIGZpbGUgdG8gLlJFUyBmaWxlLgorICAgICAgICAgICAgICAgICMgICAqICctaCBkaXInIHNwZWNpZmllcyB0aGUgZGlyZWN0b3J5IGZvciB0aGUKKyAgICAgICAgICAgICAgICAjICAgICBnZW5lcmF0ZWQgaW5jbHVkZSBmaWxlCisgICAgICAgICAgICAgICAgIyAgICogJy1yIGRpcicgc3BlY2lmaWVzIHRoZSB0YXJnZXQgZGlyZWN0b3J5IG9mIHRoZQorICAgICAgICAgICAgICAgICMgICAgIGdlbmVyYXRlZCBSQyBmaWxlIGFuZCB0aGUgYmluYXJ5IG1lc3NhZ2UgcmVzb3VyY2UKKyAgICAgICAgICAgICAgICAjICAgICBpdCBpbmNsdWRlcworICAgICAgICAgICAgICAgICMKKyAgICAgICAgICAgICAgICAjIEZvciBub3cgKHNpbmNlIHRoZXJlIGFyZSBubyBvcHRpb25zIHRvIGNoYW5nZSB0aGlzKSwKKyAgICAgICAgICAgICAgICAjIHdlIHVzZSB0aGUgc291cmNlLWRpcmVjdG9yeSBmb3IgdGhlIGluY2x1ZGUgZmlsZSBhbmQKKyAgICAgICAgICAgICAgICAjIHRoZSBidWlsZCBkaXJlY3RvcnkgZm9yIHRoZSBSQyBmaWxlIGFuZCBtZXNzYWdlCisgICAgICAgICAgICAgICAgIyByZXNvdXJjZXMuIFRoaXMgd29ya3MgYXQgbGVhc3QgZm9yIHdpbjMyYWxsLgorICAgICAgICAgICAgICAgIGhfZGlyID0gb3MucGF0aC5kaXJuYW1lKHNyYykKKyAgICAgICAgICAgICAgICByY19kaXIgPSBvcy5wYXRoLmRpcm5hbWUob2JqKQorICAgICAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICAgICAgIyBmaXJzdCBjb21waWxlIC5NQyB0byAuUkMgYW5kIC5IIGZpbGUKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5zcGF3bihbc2VsZi5tY10gKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsnLWgnLCBoX2RpciwgJy1yJywgcmNfZGlyXSArIFtzcmNdKQorICAgICAgICAgICAgICAgICAgICBiYXNlLCBfID0gb3MucGF0aC5zcGxpdGV4dChvcy5wYXRoLmJhc2VuYW1lKHNyYykpCisgICAgICAgICAgICAgICAgICAgIHJjX2ZpbGUgPSBvcy5wYXRoLmpvaW4ocmNfZGlyLCBiYXNlICsgJy5yYycpCisgICAgICAgICAgICAgICAgICAgICMgdGhlbiBjb21waWxlIC5SQyB0byAuUkVTIGZpbGUKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5zcGF3bihbc2VsZi5yY10gKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsiL2ZvIiArIG9ial0gKyBbcmNfZmlsZV0pCisKKyAgICAgICAgICAgICAgICBleGNlcHQgUGFja2FnaW5nRXhlY0Vycm9yIGFzIG1zZzoKKyAgICAgICAgICAgICAgICAgICAgcmFpc2UgQ29tcGlsZUVycm9yKG1zZykKKyAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAjIGhvdyB0byBoYW5kbGUgdGhpcyBmaWxlPworICAgICAgICAgICAgICAgIHJhaXNlIENvbXBpbGVFcnJvcigiRG9uJ3Qga25vdyBob3cgdG8gY29tcGlsZSAlcyB0byAlcyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJSAoc3JjLCBvYmopKQorCisgICAgICAgICAgICBvdXRwdXRfb3B0ID0gIi9GbyIgKyBvYmoKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBzZWxmLnNwYXduKFtzZWxmLmNjXSArIGNvbXBpbGVfb3B0cyArIHBwX29wdHMgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lucHV0X29wdCwgb3V0cHV0X29wdF0gKworICAgICAgICAgICAgICAgICAgICAgICAgICAgZXh0cmFfcG9zdGFyZ3MpCisgICAgICAgICAgICBleGNlcHQgUGFja2FnaW5nRXhlY0Vycm9yIGFzIG1zZzoKKyAgICAgICAgICAgICAgICByYWlzZSBDb21waWxlRXJyb3IobXNnKQorCisgICAgICAgIHJldHVybiBvYmplY3RzCisKKworICAgIGRlZiBjcmVhdGVfc3RhdGljX2xpYihzZWxmLAorICAgICAgICAgICAgICAgICAgICAgICAgICBvYmplY3RzLAorICAgICAgICAgICAgICAgICAgICAgICAgICBvdXRwdXRfbGlibmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0cHV0X2Rpcj1Ob25lLAorICAgICAgICAgICAgICAgICAgICAgICAgICBkZWJ1Zz1GYWxzZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0X2xhbmc9Tm9uZSk6CisKKyAgICAgICAgaWYgbm90IHNlbGYuaW5pdGlhbGl6ZWQ6CisgICAgICAgICAgICBzZWxmLmluaXRpYWxpemUoKQorICAgICAgICBvYmplY3RzLCBvdXRwdXRfZGlyID0gc2VsZi5fZml4X29iamVjdF9hcmdzKG9iamVjdHMsIG91dHB1dF9kaXIpCisgICAgICAgIG91dHB1dF9maWxlbmFtZSA9IHNlbGYubGlicmFyeV9maWxlbmFtZShvdXRwdXRfbGlibmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91dHB1dF9kaXI9b3V0cHV0X2RpcikKKworICAgICAgICBpZiBzZWxmLl9uZWVkX2xpbmsob2JqZWN0cywgb3V0cHV0X2ZpbGVuYW1lKToKKyAgICAgICAgICAgIGxpYl9hcmdzID0gb2JqZWN0cyArIFsnL09VVDonICsgb3V0cHV0X2ZpbGVuYW1lXQorICAgICAgICAgICAgaWYgZGVidWc6CisgICAgICAgICAgICAgICAgcGFzcyAjIFhYWCB3aGF0IGdvZXMgaGVyZT8KKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBzZWxmLnNwYXduKFtzZWxmLmxpYl0gKyBsaWJfYXJncykKKyAgICAgICAgICAgIGV4Y2VwdCBQYWNrYWdpbmdFeGVjRXJyb3IgYXMgbXNnOgorICAgICAgICAgICAgICAgIHJhaXNlIExpYkVycm9yKG1zZykKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGxvZ2dlci5kZWJ1Zygic2tpcHBpbmcgJXMgKHVwLXRvLWRhdGUpIiwgb3V0cHV0X2ZpbGVuYW1lKQorCisKKyAgICBkZWYgbGluayhzZWxmLCB0YXJnZXRfZGVzYywgb2JqZWN0cywgb3V0cHV0X2ZpbGVuYW1lLCBvdXRwdXRfZGlyPU5vbmUsCisgICAgICAgICAgICAgbGlicmFyaWVzPU5vbmUsIGxpYnJhcnlfZGlycz1Ob25lLCBydW50aW1lX2xpYnJhcnlfZGlycz1Ob25lLAorICAgICAgICAgICAgIGV4cG9ydF9zeW1ib2xzPU5vbmUsIGRlYnVnPUZhbHNlLCBleHRyYV9wcmVhcmdzPU5vbmUsCisgICAgICAgICAgICAgZXh0cmFfcG9zdGFyZ3M9Tm9uZSwgYnVpbGRfdGVtcD1Ob25lLCB0YXJnZXRfbGFuZz1Ob25lKToKKyAgICAgICAgaWYgbm90IHNlbGYuaW5pdGlhbGl6ZWQ6CisgICAgICAgICAgICBzZWxmLmluaXRpYWxpemUoKQorICAgICAgICBvYmplY3RzLCBvdXRwdXRfZGlyID0gc2VsZi5fZml4X29iamVjdF9hcmdzKG9iamVjdHMsIG91dHB1dF9kaXIpCisgICAgICAgIGZpeGVkX2FyZ3MgPSBzZWxmLl9maXhfbGliX2FyZ3MobGlicmFyaWVzLCBsaWJyYXJ5X2RpcnMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcnVudGltZV9saWJyYXJ5X2RpcnMpCisgICAgICAgIGxpYnJhcmllcywgbGlicmFyeV9kaXJzLCBydW50aW1lX2xpYnJhcnlfZGlycyA9IGZpeGVkX2FyZ3MKKworICAgICAgICBpZiBydW50aW1lX2xpYnJhcnlfZGlyczoKKyAgICAgICAgICAgIHNlbGYud2FybigiZG9uJ3Qga25vdyB3aGF0IHRvIGRvIHdpdGggJ3J1bnRpbWVfbGlicmFyeV9kaXJzJzogIgorICAgICAgICAgICAgICAgICAgICAgICsgc3RyKHJ1bnRpbWVfbGlicmFyeV9kaXJzKSkKKworICAgICAgICBsaWJfb3B0cyA9IGdlbl9saWJfb3B0aW9ucyhzZWxmLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJyYXJ5X2RpcnMsIHJ1bnRpbWVfbGlicmFyeV9kaXJzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJyYXJpZXMpCisgICAgICAgIGlmIG91dHB1dF9kaXIgaXMgbm90IE5vbmU6CisgICAgICAgICAgICBvdXRwdXRfZmlsZW5hbWUgPSBvcy5wYXRoLmpvaW4ob3V0cHV0X2Rpciwgb3V0cHV0X2ZpbGVuYW1lKQorCisgICAgICAgIGlmIHNlbGYuX25lZWRfbGluayhvYmplY3RzLCBvdXRwdXRfZmlsZW5hbWUpOgorICAgICAgICAgICAgaWYgdGFyZ2V0X2Rlc2MgPT0gQ0NvbXBpbGVyLkVYRUNVVEFCTEU6CisgICAgICAgICAgICAgICAgaWYgZGVidWc6CisgICAgICAgICAgICAgICAgICAgIGxkZmxhZ3MgPSBzZWxmLmxkZmxhZ3Nfc2hhcmVkX2RlYnVnWzE6XQorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIGxkZmxhZ3MgPSBzZWxmLmxkZmxhZ3Nfc2hhcmVkWzE6XQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBpZiBkZWJ1ZzoKKyAgICAgICAgICAgICAgICAgICAgbGRmbGFncyA9IHNlbGYubGRmbGFnc19zaGFyZWRfZGVidWcKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICBsZGZsYWdzID0gc2VsZi5sZGZsYWdzX3NoYXJlZAorCisgICAgICAgICAgICBleHBvcnRfb3B0cyA9IFtdCisgICAgICAgICAgICBmb3Igc3ltIGluIChleHBvcnRfc3ltYm9scyBvciBbXSk6CisgICAgICAgICAgICAgICAgZXhwb3J0X29wdHMuYXBwZW5kKCIvRVhQT1JUOiIgKyBzeW0pCisKKyAgICAgICAgICAgIGxkX2FyZ3MgPSAobGRmbGFncyArIGxpYl9vcHRzICsgZXhwb3J0X29wdHMgKworICAgICAgICAgICAgICAgICAgICAgICBvYmplY3RzICsgWycvT1VUOicgKyBvdXRwdXRfZmlsZW5hbWVdKQorCisgICAgICAgICAgICAjIFRoZSBNU1ZDIGxpbmtlciBnZW5lcmF0ZXMgLmxpYiBhbmQgLmV4cCBmaWxlcywgd2hpY2ggY2Fubm90IGJlCisgICAgICAgICAgICAjIHN1cHByZXNzZWQgYnkgYW55IGxpbmtlciBzd2l0Y2hlcy4gVGhlIC5saWIgZmlsZXMgbWF5IGV2ZW4gYmUKKyAgICAgICAgICAgICMgbmVlZGVkISBNYWtlIHN1cmUgdGhleSBhcmUgZ2VuZXJhdGVkIGluIHRoZSB0ZW1wb3JhcnkgYnVpbGQKKyAgICAgICAgICAgICMgZGlyZWN0b3J5LiBTaW5jZSB0aGV5IGhhdmUgZGlmZmVyZW50IG5hbWVzIGZvciBkZWJ1ZyBhbmQgcmVsZWFzZQorICAgICAgICAgICAgIyBidWlsZHMsIHRoZXkgY2FuIGdvIGludG8gdGhlIHNhbWUgZGlyZWN0b3J5LgorICAgICAgICAgICAgYnVpbGRfdGVtcCA9IG9zLnBhdGguZGlybmFtZShvYmplY3RzWzBdKQorICAgICAgICAgICAgaWYgZXhwb3J0X3N5bWJvbHMgaXMgbm90IE5vbmU6CisgICAgICAgICAgICAgICAgZGxsX25hbWUsIGRsbF9leHQgPSBvcy5wYXRoLnNwbGl0ZXh0KAorICAgICAgICAgICAgICAgICAgICBvcy5wYXRoLmJhc2VuYW1lKG91dHB1dF9maWxlbmFtZSkpCisgICAgICAgICAgICAgICAgaW1wbGliX2ZpbGUgPSBvcy5wYXRoLmpvaW4oCisgICAgICAgICAgICAgICAgICAgIGJ1aWxkX3RlbXAsCisgICAgICAgICAgICAgICAgICAgIHNlbGYubGlicmFyeV9maWxlbmFtZShkbGxfbmFtZSkpCisgICAgICAgICAgICAgICAgbGRfYXJncy5hcHBlbmQoJy9JTVBMSUI6JyArIGltcGxpYl9maWxlKQorCisgICAgICAgICAgICAjIEVtYmVkZGVkIG1hbmlmZXN0cyBhcmUgcmVjb21tZW5kZWQgLSBzZWUgTVNETiBhcnRpY2xlIHRpdGxlZAorICAgICAgICAgICAgIyAiSG93IHRvOiBFbWJlZCBhIE1hbmlmZXN0IEluc2lkZSBhIEMvQysrIEFwcGxpY2F0aW9uIgorICAgICAgICAgICAgIyAoY3VycmVudGx5IGF0IGh0dHA6Ly9tc2RuMi5taWNyb3NvZnQuY29tL2VuLXVzL2xpYnJhcnkvbXMyMzU1OTEoVlMuODApLmFzcHgpCisgICAgICAgICAgICAjIEFzayB0aGUgbGlua2VyIHRvIGdlbmVyYXRlIHRoZSBtYW5pZmVzdCBpbiB0aGUgdGVtcCBkaXIsIHNvCisgICAgICAgICAgICAjIHdlIGNhbiBlbWJlZCBpdCBsYXRlci4KKyAgICAgICAgICAgIHRlbXBfbWFuaWZlc3QgPSBvcy5wYXRoLmpvaW4oCisgICAgICAgICAgICAgICAgICAgIGJ1aWxkX3RlbXAsCisgICAgICAgICAgICAgICAgICAgIG9zLnBhdGguYmFzZW5hbWUob3V0cHV0X2ZpbGVuYW1lKSArICIubWFuaWZlc3QiKQorICAgICAgICAgICAgbGRfYXJncy5hcHBlbmQoJy9NQU5JRkVTVEZJTEU6JyArIHRlbXBfbWFuaWZlc3QpCisKKyAgICAgICAgICAgIGlmIGV4dHJhX3ByZWFyZ3M6CisgICAgICAgICAgICAgICAgbGRfYXJnc1s6MF0gPSBleHRyYV9wcmVhcmdzCisgICAgICAgICAgICBpZiBleHRyYV9wb3N0YXJnczoKKyAgICAgICAgICAgICAgICBsZF9hcmdzLmV4dGVuZChleHRyYV9wb3N0YXJncykKKworICAgICAgICAgICAgc2VsZi5ta3BhdGgob3MucGF0aC5kaXJuYW1lKG91dHB1dF9maWxlbmFtZSkpCisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgc2VsZi5zcGF3bihbc2VsZi5saW5rZXJdICsgbGRfYXJncykKKyAgICAgICAgICAgIGV4Y2VwdCBQYWNrYWdpbmdFeGVjRXJyb3IgYXMgbXNnOgorICAgICAgICAgICAgICAgIHJhaXNlIExpbmtFcnJvcihtc2cpCisKKyAgICAgICAgICAgICMgZW1iZWQgdGhlIG1hbmlmZXN0CisgICAgICAgICAgICAjIFhYWCAtIHRoaXMgaXMgc29tZXdoYXQgZnJhZ2lsZSAtIGlmIG10LmV4ZSBmYWlscywgZGlzdHV0aWxzCisgICAgICAgICAgICAjIHdpbGwgc3RpbGwgY29uc2lkZXIgdGhlIERMTCB1cC10by1kYXRlLCBidXQgaXQgd2lsbCBub3QgaGF2ZSBhCisgICAgICAgICAgICAjIG1hbmlmZXN0LiAgTWF5YmUgd2Ugc2hvdWxkIGxpbmsgdG8gYSB0ZW1wIGZpbGU/ICBPVE9ILCB0aGF0CisgICAgICAgICAgICAjIGltcGxpZXMgYSBidWlsZCBlbnZpcm9ubWVudCBlcnJvciB0aGF0IHNob3VsZG4ndCBnbyB1bmRldGVjdGVkLgorICAgICAgICAgICAgaWYgdGFyZ2V0X2Rlc2MgPT0gQ0NvbXBpbGVyLkVYRUNVVEFCTEU6CisgICAgICAgICAgICAgICAgbWZpZCA9IDEKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgbWZpZCA9IDIKKyAgICAgICAgICAgICAgICBzZWxmLl9yZW1vdmVfdmlzdWFsX2NfcmVmKHRlbXBfbWFuaWZlc3QpCisgICAgICAgICAgICBvdXRfYXJnID0gJy1vdXRwdXRyZXNvdXJjZTolczslcycgJSAob3V0cHV0X2ZpbGVuYW1lLCBtZmlkKQorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIHNlbGYuc3Bhd24oWydtdC5leGUnLCAnLW5vbG9nbycsICctbWFuaWZlc3QnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlbXBfbWFuaWZlc3QsIG91dF9hcmddKQorICAgICAgICAgICAgZXhjZXB0IFBhY2thZ2luZ0V4ZWNFcnJvciBhcyBtc2c6CisgICAgICAgICAgICAgICAgcmFpc2UgTGlua0Vycm9yKG1zZykKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGxvZ2dlci5kZWJ1Zygic2tpcHBpbmcgJXMgKHVwLXRvLWRhdGUpIiwgb3V0cHV0X2ZpbGVuYW1lKQorCisgICAgZGVmIF9yZW1vdmVfdmlzdWFsX2NfcmVmKHNlbGYsIG1hbmlmZXN0X2ZpbGUpOgorICAgICAgICB0cnk6CisgICAgICAgICAgICAjIFJlbW92ZSByZWZlcmVuY2VzIHRvIHRoZSBWaXN1YWwgQyBydW50aW1lLCBzbyB0aGV5IHdpbGwKKyAgICAgICAgICAgICMgZmFsbCB0aHJvdWdoIHRvIHRoZSBWaXN1YWwgQyBkZXBlbmRlbmN5IG9mIFB5dGhvbi5leGUuCisgICAgICAgICAgICAjIFRoaXMgd2F5LCB3aGVuIGluc3RhbGxlZCBmb3IgYSByZXN0cmljdGVkIHVzZXIgKGUuZy4KKyAgICAgICAgICAgICMgcnVudGltZXMgYXJlIG5vdCBpbiBXaW5TeFMgZm9sZGVyLCBidXQgaW4gUHl0aG9uJ3Mgb3duCisgICAgICAgICAgICAjIGZvbGRlciksIHRoZSBydW50aW1lcyBkbyBub3QgbmVlZCB0byBiZSBpbiBldmVyeSBmb2xkZXIKKyAgICAgICAgICAgICMgd2l0aCAucHlkJ3MuCisgICAgICAgICAgICB3aXRoIG9wZW4obWFuaWZlc3RfZmlsZSkgYXMgbWFuaWZlc3RfZjoKKyAgICAgICAgICAgICAgICBtYW5pZmVzdF9idWYgPSBtYW5pZmVzdF9mLnJlYWQoKQorICAgICAgICAgICAgcGF0dGVybiA9IHJlLmNvbXBpbGUoCisgICAgICAgICAgICAgICAgciIiIjxhc3NlbWJseUlkZW50aXR5Lio/bmFtZT0oInwnKU1pY3Jvc29mdFwuIiIiXAorICAgICAgICAgICAgICAgIHIiIiJWQ1xkezJ9XC5DUlQoInwnKS4qPygvPnw8L2Fzc2VtYmx5SWRlbnRpdHk+KSIiIiwKKyAgICAgICAgICAgICAgICByZS5ET1RBTEwpCisgICAgICAgICAgICBtYW5pZmVzdF9idWYgPSByZS5zdWIocGF0dGVybiwgIiIsIG1hbmlmZXN0X2J1ZikKKyAgICAgICAgICAgIHBhdHRlcm4gPSAiPGRlcGVuZGVudEFzc2VtYmx5PlxzKjwvZGVwZW5kZW50QXNzZW1ibHk+IgorICAgICAgICAgICAgbWFuaWZlc3RfYnVmID0gcmUuc3ViKHBhdHRlcm4sICIiLCBtYW5pZmVzdF9idWYpCisgICAgICAgICAgICB3aXRoIG9wZW4obWFuaWZlc3RfZmlsZSwgJ3cnKSBhcyBtYW5pZmVzdF9mOgorICAgICAgICAgICAgICAgIG1hbmlmZXN0X2Yud3JpdGUobWFuaWZlc3RfYnVmKQorICAgICAgICBleGNlcHQgSU9FcnJvcjoKKyAgICAgICAgICAgIHBhc3MKKworICAgICMgLS0gTWlzY2VsbGFuZW91cyBtZXRob2RzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAgIyBUaGVzZSBhcmUgYWxsIHVzZWQgYnkgdGhlICdnZW5fbGliX29wdGlvbnMoKSBmdW5jdGlvbiwgaW4KKyAgICAjIGNjb21waWxlci5weS4KKworICAgIGRlZiBsaWJyYXJ5X2Rpcl9vcHRpb24oc2VsZiwgZGlyKToKKyAgICAgICAgcmV0dXJuICIvTElCUEFUSDoiICsgZGlyCisKKyAgICBkZWYgcnVudGltZV9saWJyYXJ5X2Rpcl9vcHRpb24oc2VsZiwgZGlyKToKKyAgICAgICAgcmFpc2UgUGFja2FnaW5nUGxhdGZvcm1FcnJvcigKKyAgICAgICAgICAgICAgImRvbid0IGtub3cgaG93IHRvIHNldCBydW50aW1lIGxpYnJhcnkgc2VhcmNoIHBhdGggZm9yIE1TVkMrKyIpCisKKyAgICBkZWYgbGlicmFyeV9vcHRpb24oc2VsZiwgbGliKToKKyAgICAgICAgcmV0dXJuIHNlbGYubGlicmFyeV9maWxlbmFtZShsaWIpCisKKworICAgIGRlZiBmaW5kX2xpYnJhcnlfZmlsZShzZWxmLCBkaXJzLCBsaWIsIGRlYnVnPUZhbHNlKToKKyAgICAgICAgIyBQcmVmZXIgYSBkZWJ1Z2dpbmcgbGlicmFyeSBpZiBmb3VuZCAoYW5kIHJlcXVlc3RlZCksIGJ1dCBkZWFsCisgICAgICAgICMgd2l0aCBpdCBpZiB3ZSBkb24ndCBoYXZlIG9uZS4KKyAgICAgICAgaWYgZGVidWc6CisgICAgICAgICAgICB0cnlfbmFtZXMgPSBbbGliICsgIl9kIiwgbGliXQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgdHJ5X25hbWVzID0gW2xpYl0KKyAgICAgICAgZm9yIGRpciBpbiBkaXJzOgorICAgICAgICAgICAgZm9yIG5hbWUgaW4gdHJ5X25hbWVzOgorICAgICAgICAgICAgICAgIGxpYmZpbGUgPSBvcy5wYXRoLmpvaW4oZGlyLCBzZWxmLmxpYnJhcnlfZmlsZW5hbWUobmFtZSkpCisgICAgICAgICAgICAgICAgaWYgb3MucGF0aC5leGlzdHMobGliZmlsZSk6CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBsaWJmaWxlCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICAjIE9vcHMsIGRpZG4ndCBmaW5kIGl0IGluICphbnkqIG9mICdkaXJzJworICAgICAgICAgICAgcmV0dXJuIE5vbmUKKworICAgICMgSGVscGVyIG1ldGhvZHMgZm9yIHVzaW5nIHRoZSBNU1ZDIHJlZ2lzdHJ5IHNldHRpbmdzCisKKyAgICBkZWYgZmluZF9leGUoc2VsZiwgZXhlKToKKyAgICAgICAgIiIiUmV0dXJuIHBhdGggdG8gYW4gTVNWQyBleGVjdXRhYmxlIHByb2dyYW0uCisKKyAgICAgICAgVHJpZXMgdG8gZmluZCB0aGUgcHJvZ3JhbSBpbiBzZXZlcmFsIHBsYWNlczogZmlyc3QsIG9uZSBvZiB0aGUKKyAgICAgICAgTVNWQyBwcm9ncmFtIHNlYXJjaCBwYXRocyBmcm9tIHRoZSByZWdpc3RyeTsgbmV4dCwgdGhlIGRpcmVjdG9yaWVzCisgICAgICAgIGluIHRoZSBQQVRIIGVudmlyb25tZW50IHZhcmlhYmxlLiAgSWYgYW55IG9mIHRob3NlIHdvcmssIHJldHVybiBhbgorICAgICAgICBhYnNvbHV0ZSBwYXRoIHRoYXQgaXMga25vd24gdG8gZXhpc3QuICBJZiBub25lIG9mIHRoZW0gd29yaywganVzdAorICAgICAgICByZXR1cm4gdGhlIG9yaWdpbmFsIHByb2dyYW0gbmFtZSwgJ2V4ZScuCisgICAgICAgICIiIgorICAgICAgICBmb3IgcCBpbiBzZWxmLl9fcGF0aHM6CisgICAgICAgICAgICBmbiA9IG9zLnBhdGguam9pbihvcy5wYXRoLmFic3BhdGgocCksIGV4ZSkKKyAgICAgICAgICAgIGlmIG9zLnBhdGguaXNmaWxlKGZuKToKKyAgICAgICAgICAgICAgICByZXR1cm4gZm4KKworICAgICAgICAjIGRpZG4ndCBmaW5kIGl0OyB0cnkgZXhpc3RpbmcgcGF0aAorICAgICAgICBmb3IgcCBpbiBvcy5lbnZpcm9uWydQYXRoJ10uc3BsaXQoJzsnKToKKyAgICAgICAgICAgIGZuID0gb3MucGF0aC5qb2luKG9zLnBhdGguYWJzcGF0aChwKSxleGUpCisgICAgICAgICAgICBpZiBvcy5wYXRoLmlzZmlsZShmbik6CisgICAgICAgICAgICAgICAgcmV0dXJuIGZuCisKKyAgICAgICAgcmV0dXJuIGV4ZQpkaWZmIC0tZ2l0IGEvTGliL3BhY2thZ2luZy9jb21waWxlci9tc3ZjY29tcGlsZXIucHkgYi9MaWIvcGFja2FnaW5nL2NvbXBpbGVyL21zdmNjb21waWxlci5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zOWExMGIyCi0tLSAvZGV2L251bGwKKysrIGIvTGliL3BhY2thZ2luZy9jb21waWxlci9tc3ZjY29tcGlsZXIucHkKQEAgLTAsMCArMSw2MzUgQEAKKyIiIkNDb21waWxlciBpbXBsZW1lbnRhdGlvbiBmb3Igb2xkIE1pY3Jvc29mdCBWaXN1YWwgU3R1ZGlvIGNvbXBpbGVycy4KKworRm9yIGEgY29tcGlsZXIgY29tcGF0aWJsZSB3aXRoIFZTIDIwMDUgYW5kIDIwMDgsIHVzZSBtc3ZjOWNvbXBpbGVyLgorIiIiCisKKyMgV3JpdHRlbiBieSBQZXJyeSBTdG9sbAorIyBoYWNrZWQgYnkgUm9iaW4gQmVja2VyIGFuZCBUaG9tYXMgSGVsbGVyIHRvIGRvIGEgYmV0dGVyIGpvYiBvZgorIyAgIGZpbmRpbmcgRGV2U3R1ZGlvICh0aHJvdWdoIHRoZSByZWdpc3RyeSkKKworCitpbXBvcnQgc3lzCitpbXBvcnQgb3MKKworZnJvbSBwYWNrYWdpbmcuZXJyb3JzIGltcG9ydCAoUGFja2FnaW5nRXhlY0Vycm9yLCBQYWNrYWdpbmdQbGF0Zm9ybUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29tcGlsZUVycm9yLCBMaWJFcnJvciwgTGlua0Vycm9yKQorZnJvbSBwYWNrYWdpbmcuY29tcGlsZXIuY2NvbXBpbGVyIGltcG9ydCBDQ29tcGlsZXIKK2Zyb20gcGFja2FnaW5nLmNvbXBpbGVyIGltcG9ydCBnZW5fbGliX29wdGlvbnMKK2Zyb20gcGFja2FnaW5nIGltcG9ydCBsb2dnZXIKKworX2Nhbl9yZWFkX3JlZyA9IEZhbHNlCit0cnk6CisgICAgaW1wb3J0IHdpbnJlZworCisgICAgX2Nhbl9yZWFkX3JlZyA9IFRydWUKKyAgICBoa2V5X21vZCA9IHdpbnJlZworCisgICAgUmVnT3BlbktleUV4ID0gd2lucmVnLk9wZW5LZXlFeAorICAgIFJlZ0VudW1LZXkgPSB3aW5yZWcuRW51bUtleQorICAgIFJlZ0VudW1WYWx1ZSA9IHdpbnJlZy5FbnVtVmFsdWUKKyAgICBSZWdFcnJvciA9IHdpbnJlZy5lcnJvcgorCitleGNlcHQgSW1wb3J0RXJyb3I6CisgICAgdHJ5OgorICAgICAgICBpbXBvcnQgd2luMzJhcGkKKyAgICAgICAgaW1wb3J0IHdpbjMyY29uCisgICAgICAgIF9jYW5fcmVhZF9yZWcgPSBUcnVlCisgICAgICAgIGhrZXlfbW9kID0gd2luMzJjb24KKworICAgICAgICBSZWdPcGVuS2V5RXggPSB3aW4zMmFwaS5SZWdPcGVuS2V5RXgKKyAgICAgICAgUmVnRW51bUtleSA9IHdpbjMyYXBpLlJlZ0VudW1LZXkKKyAgICAgICAgUmVnRW51bVZhbHVlID0gd2luMzJhcGkuUmVnRW51bVZhbHVlCisgICAgICAgIFJlZ0Vycm9yID0gd2luMzJhcGkuZXJyb3IKKworICAgIGV4Y2VwdCBJbXBvcnRFcnJvcjoKKyAgICAgICAgbG9nZ2VyLndhcm5pbmcoCisgICAgICAgICAgICAiY2FuJ3QgcmVhZCByZWdpc3RyeSB0byBmaW5kIHRoZSBuZWNlc3NhcnkgY29tcGlsZXIgc2V0dGluZztcbiIKKyAgICAgICAgICAgICJtYWtlIHN1cmUgdGhhdCBQeXRob24gbW9kdWxlcyBfd2lucmVnLCB3aW4zMmFwaSBvciB3aW4zMmNvbiAiCisgICAgICAgICAgICAiYXJlIGluc3RhbGxlZC4iKQorCitpZiBfY2FuX3JlYWRfcmVnOgorICAgIEhLRVlTID0gKGhrZXlfbW9kLkhLRVlfVVNFUlMsCisgICAgICAgICAgICAgaGtleV9tb2QuSEtFWV9DVVJSRU5UX1VTRVIsCisgICAgICAgICAgICAgaGtleV9tb2QuSEtFWV9MT0NBTF9NQUNISU5FLAorICAgICAgICAgICAgIGhrZXlfbW9kLkhLRVlfQ0xBU1NFU19ST09UKQorCisKK2RlZiByZWFkX2tleXMoYmFzZSwga2V5KToKKyAgICAiIiJSZXR1cm4gbGlzdCBvZiByZWdpc3RyeSBrZXlzLiIiIgorCisgICAgdHJ5OgorICAgICAgICBoYW5kbGUgPSBSZWdPcGVuS2V5RXgoYmFzZSwga2V5KQorICAgIGV4Y2VwdCBSZWdFcnJvcjoKKyAgICAgICAgcmV0dXJuIE5vbmUKKyAgICBMID0gW10KKyAgICBpID0gMAorICAgIHdoaWxlIFRydWU6CisgICAgICAgIHRyeToKKyAgICAgICAgICAgIGsgPSBSZWdFbnVtS2V5KGhhbmRsZSwgaSkKKyAgICAgICAgZXhjZXB0IFJlZ0Vycm9yOgorICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgTC5hcHBlbmQoaykKKyAgICAgICAgaSA9IGkgKyAxCisgICAgcmV0dXJuIEwKKworCitkZWYgcmVhZF92YWx1ZXMoYmFzZSwga2V5KToKKyAgICAiIiJSZXR1cm4gZGljdCBvZiByZWdpc3RyeSBrZXlzIGFuZCB2YWx1ZXMuCisKKyAgICBBbGwgbmFtZXMgYXJlIGNvbnZlcnRlZCB0byBsb3dlcmNhc2UuCisgICAgIiIiCisgICAgdHJ5OgorICAgICAgICBoYW5kbGUgPSBSZWdPcGVuS2V5RXgoYmFzZSwga2V5KQorICAgIGV4Y2VwdCBSZWdFcnJvcjoKKyAgICAgICAgcmV0dXJuIE5vbmUKKyAgICBkID0ge30KKyAgICBpID0gMAorICAgIHdoaWxlIFRydWU6CisgICAgICAgIHRyeToKKyAgICAgICAgICAgIG5hbWUsIHZhbHVlLCB0eXBlID0gUmVnRW51bVZhbHVlKGhhbmRsZSwgaSkKKyAgICAgICAgZXhjZXB0IFJlZ0Vycm9yOgorICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgbmFtZSA9IG5hbWUubG93ZXIoKQorICAgICAgICBkW2NvbnZlcnRfbWJjcyhuYW1lKV0gPSBjb252ZXJ0X21iY3ModmFsdWUpCisgICAgICAgIGkgPSBpICsgMQorICAgIHJldHVybiBkCisKKworZGVmIGNvbnZlcnRfbWJjcyhzKToKKyAgICBlbmMgPSBnZXRhdHRyKHMsICJlbmNvZGUiLCBOb25lKQorICAgIGlmIGVuYyBpcyBub3QgTm9uZToKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgcyA9IGVuYygibWJjcyIpCisgICAgICAgIGV4Y2VwdCBVbmljb2RlRXJyb3I6CisgICAgICAgICAgICBwYXNzCisgICAgcmV0dXJuIHMKKworCitjbGFzcyBNYWNyb0V4cGFuZGVyOgorCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHZlcnNpb24pOgorICAgICAgICBzZWxmLm1hY3JvcyA9IHt9CisgICAgICAgIHNlbGYubG9hZF9tYWNyb3ModmVyc2lvbikKKworICAgIGRlZiBzZXRfbWFjcm8oc2VsZiwgbWFjcm8sIHBhdGgsIGtleSk6CisgICAgICAgIGZvciBiYXNlIGluIEhLRVlTOgorICAgICAgICAgICAgZCA9IHJlYWRfdmFsdWVzKGJhc2UsIHBhdGgpCisgICAgICAgICAgICBpZiBkOgorICAgICAgICAgICAgICAgIHNlbGYubWFjcm9zWyIkKCVzKSIgJSBtYWNyb10gPSBkW2tleV0KKyAgICAgICAgICAgICAgICBicmVhaworCisgICAgZGVmIGxvYWRfbWFjcm9zKHNlbGYsIHZlcnNpb24pOgorICAgICAgICB2c2Jhc2UgPSByIlNvZnR3YXJlXE1pY3Jvc29mdFxWaXN1YWxTdHVkaW9cJTAuMWYiICUgdmVyc2lvbgorICAgICAgICBzZWxmLnNldF9tYWNybygiVkNJbnN0YWxsRGlyIiwgdnNiYXNlICsgciJcU2V0dXBcVkMiLCAicHJvZHVjdGRpciIpCisgICAgICAgIHNlbGYuc2V0X21hY3JvKCJWU0luc3RhbGxEaXIiLCB2c2Jhc2UgKyByIlxTZXR1cFxWUyIsICJwcm9kdWN0ZGlyIikKKyAgICAgICAgbmV0ID0gciJTb2Z0d2FyZVxNaWNyb3NvZnRcLk5FVEZyYW1ld29yayIKKyAgICAgICAgc2VsZi5zZXRfbWFjcm8oIkZyYW1ld29ya0RpciIsIG5ldCwgImluc3RhbGxyb290IikKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgaWYgdmVyc2lvbiA+IDcuMDoKKyAgICAgICAgICAgICAgICBzZWxmLnNldF9tYWNybygiRnJhbWV3b3JrU0RLRGlyIiwgbmV0LCAic2RraW5zdGFsbHJvb3R2MS4xIikKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgc2VsZi5zZXRfbWFjcm8oIkZyYW1ld29ya1NES0RpciIsIG5ldCwgInNka2luc3RhbGxyb290IikKKyAgICAgICAgZXhjZXB0IEtleUVycm9yOgorICAgICAgICAgICAgcmFpc2UgUGFja2FnaW5nUGxhdGZvcm1FcnJvcigKKyIiIlB5dGhvbiB3YXMgYnVpbHQgd2l0aCBWaXN1YWwgU3R1ZGlvIDIwMDM7IGV4dGVuc2lvbnMgbXVzdCBiZSBidWlsdCB3aXRoCithIGNvbXBpbGVyIHRoYW4gY2FuIGdlbmVyYXRlIGNvbXBhdGlibGUgYmluYXJpZXMuIFZpc3VhbCBTdHVkaW8gMjAwMyB3YXMKK25vdCBmb3VuZCBvbiB0aGlzIHN5c3RlbS4gSWYgeW91IGhhdmUgQ3lnd2luIGluc3RhbGxlZCwgeW91IGNhbiB0cnkKK2NvbXBpbGluZyB3aXRoIE1pbmdXMzIsIGJ5IHBhc3NpbmcgIi1jIG1pbmd3MzIiIHRvIHB5c2V0dXAuIiIiKQorCisgICAgICAgIHAgPSByIlNvZnR3YXJlXE1pY3Jvc29mdFxORVQgRnJhbWV3b3JrIFNldHVwXFByb2R1Y3QiCisgICAgICAgIGZvciBiYXNlIGluIEhLRVlTOgorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIGggPSBSZWdPcGVuS2V5RXgoYmFzZSwgcCkKKyAgICAgICAgICAgIGV4Y2VwdCBSZWdFcnJvcjoKKyAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAga2V5ID0gUmVnRW51bUtleShoLCAwKQorICAgICAgICAgICAgZCA9IHJlYWRfdmFsdWVzKGJhc2UsIHIiJXNcJXMiICUgKHAsIGtleSkpCisgICAgICAgICAgICBzZWxmLm1hY3Jvc1siJChGcmFtZXdvcmtWZXJzaW9uKSJdID0gZFsidmVyc2lvbiJdCisKKyAgICBkZWYgc3ViKHNlbGYsIHMpOgorICAgICAgICBmb3IgaywgdiBpbiBzZWxmLm1hY3Jvcy5pdGVtcygpOgorICAgICAgICAgICAgcyA9IHMucmVwbGFjZShrLCB2KQorICAgICAgICByZXR1cm4gcworCisKK2RlZiBnZXRfYnVpbGRfdmVyc2lvbigpOgorICAgICIiIlJldHVybiB0aGUgdmVyc2lvbiBvZiBNU1ZDIHRoYXQgd2FzIHVzZWQgdG8gYnVpbGQgUHl0aG9uLgorCisgICAgRm9yIFB5dGhvbiAyLjMgYW5kIHVwLCB0aGUgdmVyc2lvbiBudW1iZXIgaXMgaW5jbHVkZWQgaW4KKyAgICBzeXMudmVyc2lvbi4gIEZvciBlYXJsaWVyIHZlcnNpb25zLCBhc3N1bWUgdGhlIGNvbXBpbGVyIGlzIE1TVkMgNi4KKyAgICAiIiIKKworICAgIHByZWZpeCA9ICJNU0Mgdi4iCisgICAgaSA9IHN5cy52ZXJzaW9uLmZpbmQocHJlZml4KQorICAgIGlmIGkgPT0gLTE6CisgICAgICAgIHJldHVybiA2CisgICAgaSA9IGkgKyBsZW4ocHJlZml4KQorICAgIHMsIHJlc3QgPSBzeXMudmVyc2lvbltpOl0uc3BsaXQoIiAiLCAxKQorICAgIG1ham9yVmVyc2lvbiA9IGludChzWzotMl0pIC0gNgorICAgIG1pbm9yVmVyc2lvbiA9IGludChzWzI6M10pIC8gMTAuMAorICAgICMgSSBkb24ndCB0aGluayBwYXRocyBhcmUgYWZmZWN0ZWQgYnkgbWlub3IgdmVyc2lvbiBpbiB2ZXJzaW9uIDYKKyAgICBpZiBtYWpvclZlcnNpb24gPT0gNjoKKyAgICAgICAgbWlub3JWZXJzaW9uID0gMAorICAgIGlmIG1ham9yVmVyc2lvbiA+PSA2OgorICAgICAgICByZXR1cm4gbWFqb3JWZXJzaW9uICsgbWlub3JWZXJzaW9uCisgICAgIyBlbHNlIHdlIGRvbid0IGtub3cgd2hhdCB2ZXJzaW9uIG9mIHRoZSBjb21waWxlciB0aGlzIGlzCisgICAgcmV0dXJuIE5vbmUKKworCitkZWYgZ2V0X2J1aWxkX2FyY2hpdGVjdHVyZSgpOgorICAgICIiIlJldHVybiB0aGUgcHJvY2Vzc29yIGFyY2hpdGVjdHVyZS4KKworICAgIFBvc3NpYmxlIHJlc3VsdHMgYXJlICJJbnRlbCIsICJJdGFuaXVtIiwgb3IgIkFNRDY0Ii4KKyAgICAiIiIKKworICAgIHByZWZpeCA9ICIgYml0ICgiCisgICAgaSA9IHN5cy52ZXJzaW9uLmZpbmQocHJlZml4KQorICAgIGlmIGkgPT0gLTE6CisgICAgICAgIHJldHVybiAiSW50ZWwiCisgICAgaiA9IHN5cy52ZXJzaW9uLmZpbmQoIikiLCBpKQorICAgIHJldHVybiBzeXMudmVyc2lvbltpK2xlbihwcmVmaXgpOmpdCisKKworZGVmIG5vcm1hbGl6ZV9hbmRfcmVkdWNlX3BhdGhzKHBhdGhzKToKKyAgICAiIiJSZXR1cm4gYSBsaXN0IG9mIG5vcm1hbGl6ZWQgcGF0aHMgd2l0aCBkdXBsaWNhdGVzIHJlbW92ZWQuCisKKyAgICBUaGUgY3VycmVudCBvcmRlciBvZiBwYXRocyBpcyBtYWludGFpbmVkLgorICAgICIiIgorICAgICMgUGF0aHMgYXJlIG5vcm1hbGl6ZWQgc28gdGhpbmdzIGxpa2U6ICAvYSBhbmQgL2EvIGFyZW4ndCBib3RoIHByZXNlcnZlZC4KKyAgICByZWR1Y2VkX3BhdGhzID0gW10KKyAgICBmb3IgcCBpbiBwYXRoczoKKyAgICAgICAgbnAgPSBvcy5wYXRoLm5vcm1wYXRoKHApCisgICAgICAgICMgWFhYKG5ub3J3aXR6KTogTyhuKioyKSwgaWYgcmVkdWNlZF9wYXRocyBnZXRzIGxvbmcgcGVyaGFwcyB1c2UgYSBzZXQuCisgICAgICAgIGlmIG5wIG5vdCBpbiByZWR1Y2VkX3BhdGhzOgorICAgICAgICAgICAgcmVkdWNlZF9wYXRocy5hcHBlbmQobnApCisgICAgcmV0dXJuIHJlZHVjZWRfcGF0aHMKKworCitjbGFzcyBNU1ZDQ29tcGlsZXIoQ0NvbXBpbGVyKToKKyAgICAiIiJDb25jcmV0ZSBjbGFzcyB0aGF0IGltcGxlbWVudHMgYW4gaW50ZXJmYWNlIHRvIE1pY3Jvc29mdCBWaXN1YWwgQysrLAorICAgICAgIGFzIGRlZmluZWQgYnkgdGhlIENDb21waWxlciBhYnN0cmFjdCBjbGFzcy4iIiIKKworICAgIG5hbWUgPSAnbXN2YycKKyAgICBkZXNjcmlwdGlvbiA9ICJNaWNyb3NvZnQgVmlzdWFsIEMrKyIKKworICAgICMgSnVzdCBzZXQgdGhpcyBzbyBDQ29tcGlsZXIncyBjb25zdHJ1Y3RvciBkb2Vzbid0IGJhcmYuICBXZSBjdXJyZW50bHkKKyAgICAjIGRvbid0IHVzZSB0aGUgJ3NldF9leGVjdXRhYmxlcygpJyBidXJlYXVjcmFjeSBwcm92aWRlZCBieSBDQ29tcGlsZXIsCisgICAgIyBhcyBpdCByZWFsbHkgaXNuJ3QgbmVjZXNzYXJ5IGZvciB0aGlzIHNvcnQgb2Ygc2luZ2xlLWNvbXBpbGVyIGNsYXNzLgorICAgICMgV291bGQgYmUgbmljZSB0byBoYXZlIGEgY29uc2lzdGVudCBpbnRlcmZhY2Ugd2l0aCBVbml4Q0NvbXBpbGVyLAorICAgICMgdGhvdWdoLCBzbyBpdCdzIHdvcnRoIHRoaW5raW5nIGFib3V0LgorICAgIGV4ZWN1dGFibGVzID0ge30KKworICAgICMgUHJpdmF0ZSBjbGFzcyBkYXRhIChuZWVkIHRvIGRpc3Rpbmd1aXNoIEMgZnJvbSBDKysgc291cmNlIGZvciBjb21waWxlcikKKyAgICBfY19leHRlbnNpb25zID0gWycuYyddCisgICAgX2NwcF9leHRlbnNpb25zID0gWycuY2MnLCAnLmNwcCcsICcuY3h4J10KKyAgICBfcmNfZXh0ZW5zaW9ucyA9IFsnLnJjJ10KKyAgICBfbWNfZXh0ZW5zaW9ucyA9IFsnLm1jJ10KKworICAgICMgTmVlZGVkIGZvciB0aGUgZmlsZW5hbWUgZ2VuZXJhdGlvbiBtZXRob2RzIHByb3ZpZGVkIGJ5IHRoZQorICAgICMgYmFzZSBjbGFzcywgQ0NvbXBpbGVyLgorICAgIHNyY19leHRlbnNpb25zID0gKF9jX2V4dGVuc2lvbnMgKyBfY3BwX2V4dGVuc2lvbnMgKworICAgICAgICAgICAgICAgICAgICAgIF9yY19leHRlbnNpb25zICsgX21jX2V4dGVuc2lvbnMpCisgICAgcmVzX2V4dGVuc2lvbiA9ICcucmVzJworICAgIG9ial9leHRlbnNpb24gPSAnLm9iaicKKyAgICBzdGF0aWNfbGliX2V4dGVuc2lvbiA9ICcubGliJworICAgIHNoYXJlZF9saWJfZXh0ZW5zaW9uID0gJy5kbGwnCisgICAgc3RhdGljX2xpYl9mb3JtYXQgPSBzaGFyZWRfbGliX2Zvcm1hdCA9ICclcyVzJworICAgIGV4ZV9leHRlbnNpb24gPSAnLmV4ZScKKworICAgIGRlZiBfX2luaXRfXyhzZWxmLCBkcnlfcnVuPUZhbHNlLCBmb3JjZT1GYWxzZSk6CisgICAgICAgIHN1cGVyKE1TVkNDb21waWxlciwgc2VsZikuX19pbml0X18oZHJ5X3J1biwgZm9yY2UpCisgICAgICAgIHNlbGYuX192ZXJzaW9uID0gZ2V0X2J1aWxkX3ZlcnNpb24oKQorICAgICAgICBzZWxmLl9fYXJjaCA9IGdldF9idWlsZF9hcmNoaXRlY3R1cmUoKQorICAgICAgICBpZiBzZWxmLl9fYXJjaCA9PSAiSW50ZWwiOgorICAgICAgICAgICAgIyB4ODYKKyAgICAgICAgICAgIGlmIHNlbGYuX192ZXJzaW9uID49IDc6CisgICAgICAgICAgICAgICAgc2VsZi5fX3Jvb3QgPSByIlNvZnR3YXJlXE1pY3Jvc29mdFxWaXN1YWxTdHVkaW8iCisgICAgICAgICAgICAgICAgc2VsZi5fX21hY3JvcyA9IE1hY3JvRXhwYW5kZXIoc2VsZi5fX3ZlcnNpb24pCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHNlbGYuX19yb290ID0gciJTb2Z0d2FyZVxNaWNyb3NvZnRcRGV2c3R1ZGlvIgorICAgICAgICAgICAgc2VsZi5fX3Byb2R1Y3QgPSAiVmlzdWFsIFN0dWRpbyB2ZXJzaW9uICVzIiAlIHNlbGYuX192ZXJzaW9uCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICAjIFdpbjY0LiBBc3N1bWUgdGhpcyB3YXMgYnVpbHQgd2l0aCB0aGUgcGxhdGZvcm0gU0RLCisgICAgICAgICAgICBzZWxmLl9fcHJvZHVjdCA9ICJNaWNyb3NvZnQgU0RLIGNvbXBpbGVyICVzIiAlIChzZWxmLl9fdmVyc2lvbiArIDYpCisKKyAgICAgICAgc2VsZi5pbml0aWFsaXplZCA9IEZhbHNlCisKKyAgICBkZWYgaW5pdGlhbGl6ZShzZWxmKToKKyAgICAgICAgc2VsZi5fX3BhdGhzID0gW10KKyAgICAgICAgaWYgKCJESVNUVVRJTFNfVVNFX1NESyIgaW4gb3MuZW52aXJvbiBhbmQgIk1TU2RrIiBpbiBvcy5lbnZpcm9uIGFuZAorICAgICAgICAgICAgc2VsZi5maW5kX2V4ZSgiY2wuZXhlIikpOgorICAgICAgICAgICAgIyBBc3N1bWUgdGhhdCB0aGUgU0RLIHNldCB1cCBldmVyeXRoaW5nIGFscmlnaHQ7IGRvbid0IHRyeSB0byBiZQorICAgICAgICAgICAgIyBzbWFydGVyCisgICAgICAgICAgICBzZWxmLmNjID0gImNsLmV4ZSIKKyAgICAgICAgICAgIHNlbGYubGlua2VyID0gImxpbmsuZXhlIgorICAgICAgICAgICAgc2VsZi5saWIgPSAibGliLmV4ZSIKKyAgICAgICAgICAgIHNlbGYucmMgPSAicmMuZXhlIgorICAgICAgICAgICAgc2VsZi5tYyA9ICJtYy5leGUiCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzZWxmLl9fcGF0aHMgPSBzZWxmLmdldF9tc3ZjX3BhdGhzKCJwYXRoIikKKworICAgICAgICAgICAgaWYgbGVuKHNlbGYuX19wYXRocykgPT0gMDoKKyAgICAgICAgICAgICAgICByYWlzZSBQYWNrYWdpbmdQbGF0Zm9ybUVycm9yKCJQeXRob24gd2FzIGJ1aWx0IHdpdGggJXMgIgorICAgICAgICAgICAgICAgICAgICAiYW5kIGV4dGVuc2lvbnMgbmVlZCB0byBiZSBidWlsdCB3aXRoIHRoZSBzYW1lICIKKyAgICAgICAgICAgICAgICAgICAgInZlcnNpb24gb2YgdGhlIGNvbXBpbGVyLCBidXQgaXQgaXNuJ3QgaW5zdGFsbGVkLiIgJQorICAgICAgICAgICAgICAgICAgICBzZWxmLl9fcHJvZHVjdCkKKworICAgICAgICAgICAgc2VsZi5jYyA9IHNlbGYuZmluZF9leGUoImNsLmV4ZSIpCisgICAgICAgICAgICBzZWxmLmxpbmtlciA9IHNlbGYuZmluZF9leGUoImxpbmsuZXhlIikKKyAgICAgICAgICAgIHNlbGYubGliID0gc2VsZi5maW5kX2V4ZSgibGliLmV4ZSIpCisgICAgICAgICAgICBzZWxmLnJjID0gc2VsZi5maW5kX2V4ZSgicmMuZXhlIikgICAjIHJlc291cmNlIGNvbXBpbGVyCisgICAgICAgICAgICBzZWxmLm1jID0gc2VsZi5maW5kX2V4ZSgibWMuZXhlIikgICAjIG1lc3NhZ2UgY29tcGlsZXIKKyAgICAgICAgICAgIHNlbGYuc2V0X3BhdGhfZW52X3ZhcignbGliJykKKyAgICAgICAgICAgIHNlbGYuc2V0X3BhdGhfZW52X3ZhcignaW5jbHVkZScpCisKKyAgICAgICAgIyBleHRlbmQgdGhlIE1TVkMgcGF0aCB3aXRoIHRoZSBjdXJyZW50IHBhdGgKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgZm9yIHAgaW4gb3MuZW52aXJvblsncGF0aCddLnNwbGl0KCc7Jyk6CisgICAgICAgICAgICAgICAgc2VsZi5fX3BhdGhzLmFwcGVuZChwKQorICAgICAgICBleGNlcHQgS2V5RXJyb3I6CisgICAgICAgICAgICBwYXNzCisgICAgICAgIHNlbGYuX19wYXRocyA9IG5vcm1hbGl6ZV9hbmRfcmVkdWNlX3BhdGhzKHNlbGYuX19wYXRocykKKyAgICAgICAgb3MuZW52aXJvblsncGF0aCddID0gJzsnLmpvaW4oc2VsZi5fX3BhdGhzKQorCisgICAgICAgIHNlbGYucHJlcHJvY2Vzc19vcHRpb25zID0gTm9uZQorICAgICAgICBpZiBzZWxmLl9fYXJjaCA9PSAiSW50ZWwiOgorICAgICAgICAgICAgc2VsZi5jb21waWxlX29wdGlvbnMgPSBbJy9ub2xvZ28nLCAnL094JywgJy9NRCcsICcvVzMnLCAnL0dYJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcvRE5ERUJVRyddCisgICAgICAgICAgICBzZWxmLmNvbXBpbGVfb3B0aW9uc19kZWJ1ZyA9IFsnL25vbG9nbycsICcvT2QnLCAnL01EZCcsICcvVzMnLCAnL0dYJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcvWjcnLCAnL0RfREVCVUcnXQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgIyBXaW42NAorICAgICAgICAgICAgc2VsZi5jb21waWxlX29wdGlvbnMgPSBbJy9ub2xvZ28nLCAnL094JywgJy9NRCcsICcvVzMnLCAnL0dTLScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnL0ROREVCVUcnXQorICAgICAgICAgICAgc2VsZi5jb21waWxlX29wdGlvbnNfZGVidWcgPSBbJy9ub2xvZ28nLCAnL09kJywgJy9NRGQnLCAnL1czJywgJy9HUy0nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy9aNycsICcvRF9ERUJVRyddCisKKyAgICAgICAgc2VsZi5sZGZsYWdzX3NoYXJlZCA9IFsnL0RMTCcsICcvbm9sb2dvJywgJy9JTkNSRU1FTlRBTDpOTyddCisgICAgICAgIGlmIHNlbGYuX192ZXJzaW9uID49IDc6CisgICAgICAgICAgICBzZWxmLmxkZmxhZ3Nfc2hhcmVkX2RlYnVnID0gWworICAgICAgICAgICAgICAgICcvRExMJywgJy9ub2xvZ28nLCAnL0lOQ1JFTUVOVEFMOm5vJywgJy9ERUJVRycKKyAgICAgICAgICAgICAgICBdCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzZWxmLmxkZmxhZ3Nfc2hhcmVkX2RlYnVnID0gWworICAgICAgICAgICAgICAgICcvRExMJywgJy9ub2xvZ28nLCAnL0lOQ1JFTUVOVEFMOm5vJywgJy9wZGI6Tm9uZScsICcvREVCVUcnCisgICAgICAgICAgICAgICAgXQorICAgICAgICBzZWxmLmxkZmxhZ3Nfc3RhdGljID0gWyAnL25vbG9nbyddCisKKyAgICAgICAgc2VsZi5pbml0aWFsaXplZCA9IFRydWUKKworICAgICMgLS0gV29ya2VyIG1ldGhvZHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKyAgICBkZWYgb2JqZWN0X2ZpbGVuYW1lcyhzZWxmLCBzb3VyY2VfZmlsZW5hbWVzLCBzdHJpcF9kaXI9RmFsc2UsIG91dHB1dF9kaXI9JycpOgorICAgICAgICAjIENvcGllZCBmcm9tIGNjb21waWxlci5weSwgZXh0ZW5kZWQgdG8gcmV0dXJuIC5yZXMgYXMgJ29iamVjdCctZmlsZQorICAgICAgICAjIGZvciAucmMgaW5wdXQgZmlsZQorICAgICAgICBpZiBvdXRwdXRfZGlyIGlzIE5vbmU6CisgICAgICAgICAgICBvdXRwdXRfZGlyID0gJycKKyAgICAgICAgb2JqX25hbWVzID0gW10KKyAgICAgICAgZm9yIHNyY19uYW1lIGluIHNvdXJjZV9maWxlbmFtZXM6CisgICAgICAgICAgICBiYXNlLCBleHQgPSBvcy5wYXRoLnNwbGl0ZXh0KHNyY19uYW1lKQorICAgICAgICAgICAgYmFzZSA9IG9zLnBhdGguc3BsaXRkcml2ZShiYXNlKVsxXSAgIyBDaG9wIG9mZiB0aGUgZHJpdmUKKyAgICAgICAgICAgIGJhc2UgPSBiYXNlW29zLnBhdGguaXNhYnMoYmFzZSk6XSAgIyBJZiBhYnMsIGNob3Agb2ZmIGxlYWRpbmcgLworICAgICAgICAgICAgaWYgZXh0IG5vdCBpbiBzZWxmLnNyY19leHRlbnNpb25zOgorICAgICAgICAgICAgICAgICMgQmV0dGVyIHRvIHJhaXNlIGFuIGV4Y2VwdGlvbiBpbnN0ZWFkIG9mIHNpbGVudGx5IGNvbnRpbnVpbmcKKyAgICAgICAgICAgICAgICAjIGFuZCBsYXRlciBjb21wbGFpbiBhYm91dCBzb3VyY2VzIGFuZCB0YXJnZXRzIGhhdmluZworICAgICAgICAgICAgICAgICMgZGlmZmVyZW50IGxlbmd0aHMKKyAgICAgICAgICAgICAgICByYWlzZSBDb21waWxlRXJyb3IoIkRvbid0IGtub3cgaG93IHRvIGNvbXBpbGUgJXMiICUgc3JjX25hbWUpCisgICAgICAgICAgICBpZiBzdHJpcF9kaXI6CisgICAgICAgICAgICAgICAgYmFzZSA9IG9zLnBhdGguYmFzZW5hbWUoYmFzZSkKKyAgICAgICAgICAgIGlmIGV4dCBpbiBzZWxmLl9yY19leHRlbnNpb25zOgorICAgICAgICAgICAgICAgIG9ial9uYW1lcy5hcHBlbmQob3MucGF0aC5qb2luKG91dHB1dF9kaXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFzZSArIHNlbGYucmVzX2V4dGVuc2lvbikpCisgICAgICAgICAgICBlbGlmIGV4dCBpbiBzZWxmLl9tY19leHRlbnNpb25zOgorICAgICAgICAgICAgICAgIG9ial9uYW1lcy5hcHBlbmQob3MucGF0aC5qb2luKG91dHB1dF9kaXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFzZSArIHNlbGYucmVzX2V4dGVuc2lvbikpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIG9ial9uYW1lcy5hcHBlbmQob3MucGF0aC5qb2luKG91dHB1dF9kaXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFzZSArIHNlbGYub2JqX2V4dGVuc2lvbikpCisgICAgICAgIHJldHVybiBvYmpfbmFtZXMKKworICAgIGRlZiBjb21waWxlKHNlbGYsIHNvdXJjZXMsCisgICAgICAgICAgICAgICAgb3V0cHV0X2Rpcj1Ob25lLCBtYWNyb3M9Tm9uZSwgaW5jbHVkZV9kaXJzPU5vbmUsIGRlYnVnPUZhbHNlLAorICAgICAgICAgICAgICAgIGV4dHJhX3ByZWFyZ3M9Tm9uZSwgZXh0cmFfcG9zdGFyZ3M9Tm9uZSwgZGVwZW5kcz1Ob25lKToKKworICAgICAgICBpZiBub3Qgc2VsZi5pbml0aWFsaXplZDoKKyAgICAgICAgICAgIHNlbGYuaW5pdGlhbGl6ZSgpCisgICAgICAgIG1hY3Jvcywgb2JqZWN0cywgZXh0cmFfcG9zdGFyZ3MsIHBwX29wdHMsIGJ1aWxkID0gXAorICAgICAgICAgICAgICAgIHNlbGYuX3NldHVwX2NvbXBpbGUob3V0cHV0X2RpciwgbWFjcm9zLCBpbmNsdWRlX2RpcnMsIHNvdXJjZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXBlbmRzLCBleHRyYV9wb3N0YXJncykKKworICAgICAgICBjb21waWxlX29wdHMgPSBleHRyYV9wcmVhcmdzIG9yIFtdCisgICAgICAgIGNvbXBpbGVfb3B0cy5hcHBlbmQoJy9jJykKKyAgICAgICAgaWYgZGVidWc6CisgICAgICAgICAgICBjb21waWxlX29wdHMuZXh0ZW5kKHNlbGYuY29tcGlsZV9vcHRpb25zX2RlYnVnKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgY29tcGlsZV9vcHRzLmV4dGVuZChzZWxmLmNvbXBpbGVfb3B0aW9ucykKKworICAgICAgICBmb3Igb2JqIGluIG9iamVjdHM6CisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgc3JjLCBleHQgPSBidWlsZFtvYmpdCisgICAgICAgICAgICBleGNlcHQgS2V5RXJyb3I6CisgICAgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgICAgIGlmIGRlYnVnOgorICAgICAgICAgICAgICAgICMgcGFzcyB0aGUgZnVsbCBwYXRobmFtZSB0byBNU1ZDIGluIGRlYnVnIG1vZGUsCisgICAgICAgICAgICAgICAgIyB0aGlzIGFsbG93cyB0aGUgZGVidWdnZXIgdG8gZmluZCB0aGUgc291cmNlIGZpbGUKKyAgICAgICAgICAgICAgICAjIHdpdGhvdXQgYXNraW5nIHRoZSB1c2VyIHRvIGJyb3dzZSBmb3IgaXQKKyAgICAgICAgICAgICAgICBzcmMgPSBvcy5wYXRoLmFic3BhdGgoc3JjKQorCisgICAgICAgICAgICBpZiBleHQgaW4gc2VsZi5fY19leHRlbnNpb25zOgorICAgICAgICAgICAgICAgIGlucHV0X29wdCA9ICIvVGMiICsgc3JjCisgICAgICAgICAgICBlbGlmIGV4dCBpbiBzZWxmLl9jcHBfZXh0ZW5zaW9uczoKKyAgICAgICAgICAgICAgICBpbnB1dF9vcHQgPSAiL1RwIiArIHNyYworICAgICAgICAgICAgZWxpZiBleHQgaW4gc2VsZi5fcmNfZXh0ZW5zaW9uczoKKyAgICAgICAgICAgICAgICAjIGNvbXBpbGUgLlJDIHRvIC5SRVMgZmlsZQorICAgICAgICAgICAgICAgIGlucHV0X29wdCA9IHNyYworICAgICAgICAgICAgICAgIG91dHB1dF9vcHQgPSAiL2ZvIiArIG9iagorICAgICAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5zcGF3bihbc2VsZi5yY10gKyBwcF9vcHRzICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbb3V0cHV0X29wdF0gKyBbaW5wdXRfb3B0XSkKKyAgICAgICAgICAgICAgICBleGNlcHQgUGFja2FnaW5nRXhlY0Vycm9yIGFzIG1zZzoKKyAgICAgICAgICAgICAgICAgICAgcmFpc2UgQ29tcGlsZUVycm9yKG1zZykKKyAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgZWxpZiBleHQgaW4gc2VsZi5fbWNfZXh0ZW5zaW9uczoKKworICAgICAgICAgICAgICAgICMgQ29tcGlsZSAuTUMgdG8gLlJDIGZpbGUgdG8gLlJFUyBmaWxlLgorICAgICAgICAgICAgICAgICMgICAqICctaCBkaXInIHNwZWNpZmllcyB0aGUgZGlyZWN0b3J5IGZvciB0aGUKKyAgICAgICAgICAgICAgICAjICAgICBnZW5lcmF0ZWQgaW5jbHVkZSBmaWxlCisgICAgICAgICAgICAgICAgIyAgICogJy1yIGRpcicgc3BlY2lmaWVzIHRoZSB0YXJnZXQgZGlyZWN0b3J5IG9mIHRoZQorICAgICAgICAgICAgICAgICMgICAgIGdlbmVyYXRlZCBSQyBmaWxlIGFuZCB0aGUgYmluYXJ5IG1lc3NhZ2UgcmVzb3VyY2UKKyAgICAgICAgICAgICAgICAjICAgICBpdCBpbmNsdWRlcworICAgICAgICAgICAgICAgICMKKyAgICAgICAgICAgICAgICAjIEZvciBub3cgKHNpbmNlIHRoZXJlIGFyZSBubyBvcHRpb25zIHRvIGNoYW5nZSB0aGlzKSwKKyAgICAgICAgICAgICAgICAjIHdlIHVzZSB0aGUgc291cmNlLWRpcmVjdG9yeSBmb3IgdGhlIGluY2x1ZGUgZmlsZSBhbmQKKyAgICAgICAgICAgICAgICAjIHRoZSBidWlsZCBkaXJlY3RvcnkgZm9yIHRoZSBSQyBmaWxlIGFuZCBtZXNzYWdlCisgICAgICAgICAgICAgICAgIyByZXNvdXJjZXMuIFRoaXMgd29ya3MgYXQgbGVhc3QgZm9yIHdpbjMyYWxsLgorCisgICAgICAgICAgICAgICAgaF9kaXIgPSBvcy5wYXRoLmRpcm5hbWUoc3JjKQorICAgICAgICAgICAgICAgIHJjX2RpciA9IG9zLnBhdGguZGlybmFtZShvYmopCisgICAgICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgICAgICAjIGZpcnN0IGNvbXBpbGUgLk1DIHRvIC5SQyBhbmQgLkggZmlsZQorICAgICAgICAgICAgICAgICAgICBzZWxmLnNwYXduKFtzZWxmLm1jXSArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyctaCcsIGhfZGlyLCAnLXInLCByY19kaXJdICsgW3NyY10pCisgICAgICAgICAgICAgICAgICAgIGJhc2UsIF8gPSBvcy5wYXRoLnNwbGl0ZXh0KG9zLnBhdGguYmFzZW5hbWUoc3JjKSkKKyAgICAgICAgICAgICAgICAgICAgcmNfZmlsZSA9IG9zLnBhdGguam9pbihyY19kaXIsIGJhc2UgKyAnLnJjJykKKyAgICAgICAgICAgICAgICAgICAgIyB0aGVuIGNvbXBpbGUgLlJDIHRvIC5SRVMgZmlsZQorICAgICAgICAgICAgICAgICAgICBzZWxmLnNwYXduKFtzZWxmLnJjXSArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsiL2ZvIiArIG9ial0gKyBbcmNfZmlsZV0pCisKKyAgICAgICAgICAgICAgICBleGNlcHQgUGFja2FnaW5nRXhlY0Vycm9yIGFzIG1zZzoKKyAgICAgICAgICAgICAgICAgICAgcmFpc2UgQ29tcGlsZUVycm9yKG1zZykKKyAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAjIGhvdyB0byBoYW5kbGUgdGhpcyBmaWxlPworICAgICAgICAgICAgICAgIHJhaXNlIENvbXBpbGVFcnJvcigKKyAgICAgICAgICAgICAgICAgICAgIkRvbid0IGtub3cgaG93IHRvIGNvbXBpbGUgJXMgdG8gJXMiICUKKyAgICAgICAgICAgICAgICAgICAgKHNyYywgb2JqKSkKKworICAgICAgICAgICAgb3V0cHV0X29wdCA9ICIvRm8iICsgb2JqCisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgc2VsZi5zcGF3bihbc2VsZi5jY10gKyBjb21waWxlX29wdHMgKyBwcF9vcHRzICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpbnB1dF9vcHQsIG91dHB1dF9vcHRdICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4dHJhX3Bvc3RhcmdzKQorICAgICAgICAgICAgZXhjZXB0IFBhY2thZ2luZ0V4ZWNFcnJvciBhcyBtc2c6CisgICAgICAgICAgICAgICAgcmFpc2UgQ29tcGlsZUVycm9yKG1zZykKKworICAgICAgICByZXR1cm4gb2JqZWN0cworCisgICAgZGVmIGNyZWF0ZV9zdGF0aWNfbGliKHNlbGYsIG9iamVjdHMsIG91dHB1dF9saWJuYW1lLCBvdXRwdXRfZGlyPU5vbmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGRlYnVnPUZhbHNlLCB0YXJnZXRfbGFuZz1Ob25lKToKKyAgICAgICAgaWYgbm90IHNlbGYuaW5pdGlhbGl6ZWQ6CisgICAgICAgICAgICBzZWxmLmluaXRpYWxpemUoKQorICAgICAgICBvYmplY3RzLCBvdXRwdXRfZGlyID0gc2VsZi5fZml4X29iamVjdF9hcmdzKG9iamVjdHMsIG91dHB1dF9kaXIpCisgICAgICAgIG91dHB1dF9maWxlbmFtZSA9IFwKKyAgICAgICAgICAgIHNlbGYubGlicmFyeV9maWxlbmFtZShvdXRwdXRfbGlibmFtZSwgb3V0cHV0X2Rpcj1vdXRwdXRfZGlyKQorCisgICAgICAgIGlmIHNlbGYuX25lZWRfbGluayhvYmplY3RzLCBvdXRwdXRfZmlsZW5hbWUpOgorICAgICAgICAgICAgbGliX2FyZ3MgPSBvYmplY3RzICsgWycvT1VUOicgKyBvdXRwdXRfZmlsZW5hbWVdCisgICAgICAgICAgICBpZiBkZWJ1ZzoKKyAgICAgICAgICAgICAgICBwYXNzICAgICAgICAgICAgICAgICAgICAjIFhYWCB3aGF0IGdvZXMgaGVyZT8KKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBzZWxmLnNwYXduKFtzZWxmLmxpYl0gKyBsaWJfYXJncykKKyAgICAgICAgICAgIGV4Y2VwdCBQYWNrYWdpbmdFeGVjRXJyb3IgYXMgbXNnOgorICAgICAgICAgICAgICAgIHJhaXNlIExpYkVycm9yKG1zZykKKworICAgICAgICBlbHNlOgorICAgICAgICAgICAgbG9nZ2VyLmRlYnVnKCJza2lwcGluZyAlcyAodXAtdG8tZGF0ZSkiLCBvdXRwdXRfZmlsZW5hbWUpCisKKyAgICBkZWYgbGluayhzZWxmLCB0YXJnZXRfZGVzYywgb2JqZWN0cywgb3V0cHV0X2ZpbGVuYW1lLCBvdXRwdXRfZGlyPU5vbmUsCisgICAgICAgICAgICAgbGlicmFyaWVzPU5vbmUsIGxpYnJhcnlfZGlycz1Ob25lLCBydW50aW1lX2xpYnJhcnlfZGlycz1Ob25lLAorICAgICAgICAgICAgIGV4cG9ydF9zeW1ib2xzPU5vbmUsIGRlYnVnPUZhbHNlLCBleHRyYV9wcmVhcmdzPU5vbmUsCisgICAgICAgICAgICAgZXh0cmFfcG9zdGFyZ3M9Tm9uZSwgYnVpbGRfdGVtcD1Ob25lLCB0YXJnZXRfbGFuZz1Ob25lKToKKworICAgICAgICBpZiBub3Qgc2VsZi5pbml0aWFsaXplZDoKKyAgICAgICAgICAgIHNlbGYuaW5pdGlhbGl6ZSgpCisgICAgICAgIG9iamVjdHMsIG91dHB1dF9kaXIgPSBzZWxmLl9maXhfb2JqZWN0X2FyZ3Mob2JqZWN0cywgb3V0cHV0X2RpcikKKyAgICAgICAgbGlicmFyaWVzLCBsaWJyYXJ5X2RpcnMsIHJ1bnRpbWVfbGlicmFyeV9kaXJzID0gXAorICAgICAgICAgICAgc2VsZi5fZml4X2xpYl9hcmdzKGxpYnJhcmllcywgbGlicmFyeV9kaXJzLCBydW50aW1lX2xpYnJhcnlfZGlycykKKworICAgICAgICBpZiBydW50aW1lX2xpYnJhcnlfZGlyczoKKyAgICAgICAgICAgIHNlbGYud2FybigiZG9uJ3Qga25vdyB3aGF0IHRvIGRvIHdpdGggJ3J1bnRpbWVfbGlicmFyeV9kaXJzJzogJXMiCisgICAgICAgICAgICAgICAgICAgICAgJSAocnVudGltZV9saWJyYXJ5X2RpcnMsKSkKKworICAgICAgICBsaWJfb3B0cyA9IGdlbl9saWJfb3B0aW9ucyhzZWxmLCBsaWJyYXJ5X2RpcnMsIHJ1bnRpbWVfbGlicmFyeV9kaXJzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJyYXJpZXMpCisgICAgICAgIGlmIG91dHB1dF9kaXIgaXMgbm90IE5vbmU6CisgICAgICAgICAgICBvdXRwdXRfZmlsZW5hbWUgPSBvcy5wYXRoLmpvaW4ob3V0cHV0X2Rpciwgb3V0cHV0X2ZpbGVuYW1lKQorCisgICAgICAgIGlmIHNlbGYuX25lZWRfbGluayhvYmplY3RzLCBvdXRwdXRfZmlsZW5hbWUpOgorCisgICAgICAgICAgICBpZiB0YXJnZXRfZGVzYyA9PSBDQ29tcGlsZXIuRVhFQ1VUQUJMRToKKyAgICAgICAgICAgICAgICBpZiBkZWJ1ZzoKKyAgICAgICAgICAgICAgICAgICAgbGRmbGFncyA9IHNlbGYubGRmbGFnc19zaGFyZWRfZGVidWdbMTpdCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgbGRmbGFncyA9IHNlbGYubGRmbGFnc19zaGFyZWRbMTpdCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIGlmIGRlYnVnOgorICAgICAgICAgICAgICAgICAgICBsZGZsYWdzID0gc2VsZi5sZGZsYWdzX3NoYXJlZF9kZWJ1ZworICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIGxkZmxhZ3MgPSBzZWxmLmxkZmxhZ3Nfc2hhcmVkCisKKyAgICAgICAgICAgIGV4cG9ydF9vcHRzID0gW10KKyAgICAgICAgICAgIGZvciBzeW0gaW4gKGV4cG9ydF9zeW1ib2xzIG9yIFtdKToKKyAgICAgICAgICAgICAgICBleHBvcnRfb3B0cy5hcHBlbmQoIi9FWFBPUlQ6IiArIHN5bSkKKworICAgICAgICAgICAgbGRfYXJncyA9IChsZGZsYWdzICsgbGliX29wdHMgKyBleHBvcnRfb3B0cyArCisgICAgICAgICAgICAgICAgICAgICAgIG9iamVjdHMgKyBbJy9PVVQ6JyArIG91dHB1dF9maWxlbmFtZV0pCisKKyAgICAgICAgICAgICMgVGhlIE1TVkMgbGlua2VyIGdlbmVyYXRlcyAubGliIGFuZCAuZXhwIGZpbGVzLCB3aGljaCBjYW5ub3QgYmUKKyAgICAgICAgICAgICMgc3VwcHJlc3NlZCBieSBhbnkgbGlua2VyIHN3aXRjaGVzLiBUaGUgLmxpYiBmaWxlcyBtYXkgZXZlbiBiZQorICAgICAgICAgICAgIyBuZWVkZWQhIE1ha2Ugc3VyZSB0aGV5IGFyZSBnZW5lcmF0ZWQgaW4gdGhlIHRlbXBvcmFyeSBidWlsZAorICAgICAgICAgICAgIyBkaXJlY3RvcnkuIFNpbmNlIHRoZXkgaGF2ZSBkaWZmZXJlbnQgbmFtZXMgZm9yIGRlYnVnIGFuZCByZWxlYXNlCisgICAgICAgICAgICAjIGJ1aWxkcywgdGhleSBjYW4gZ28gaW50byB0aGUgc2FtZSBkaXJlY3RvcnkuCisgICAgICAgICAgICBpZiBleHBvcnRfc3ltYm9scyBpcyBub3QgTm9uZToKKyAgICAgICAgICAgICAgICBkbGxfbmFtZSwgZGxsX2V4dCA9IG9zLnBhdGguc3BsaXRleHQoCisgICAgICAgICAgICAgICAgICAgIG9zLnBhdGguYmFzZW5hbWUob3V0cHV0X2ZpbGVuYW1lKSkKKyAgICAgICAgICAgICAgICBpbXBsaWJfZmlsZSA9IG9zLnBhdGguam9pbigKKyAgICAgICAgICAgICAgICAgICAgb3MucGF0aC5kaXJuYW1lKG9iamVjdHNbMF0pLAorICAgICAgICAgICAgICAgICAgICBzZWxmLmxpYnJhcnlfZmlsZW5hbWUoZGxsX25hbWUpKQorICAgICAgICAgICAgICAgIGxkX2FyZ3MuYXBwZW5kKCcvSU1QTElCOicgKyBpbXBsaWJfZmlsZSkKKworICAgICAgICAgICAgaWYgZXh0cmFfcHJlYXJnczoKKyAgICAgICAgICAgICAgICBsZF9hcmdzWzowXSA9IGV4dHJhX3ByZWFyZ3MKKyAgICAgICAgICAgIGlmIGV4dHJhX3Bvc3RhcmdzOgorICAgICAgICAgICAgICAgIGxkX2FyZ3MuZXh0ZW5kKGV4dHJhX3Bvc3RhcmdzKQorCisgICAgICAgICAgICBzZWxmLm1rcGF0aChvcy5wYXRoLmRpcm5hbWUob3V0cHV0X2ZpbGVuYW1lKSkKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBzZWxmLnNwYXduKFtzZWxmLmxpbmtlcl0gKyBsZF9hcmdzKQorICAgICAgICAgICAgZXhjZXB0IFBhY2thZ2luZ0V4ZWNFcnJvciBhcyBtc2c6CisgICAgICAgICAgICAgICAgcmFpc2UgTGlua0Vycm9yKG1zZykKKworICAgICAgICBlbHNlOgorICAgICAgICAgICAgbG9nZ2VyLmRlYnVnKCJza2lwcGluZyAlcyAodXAtdG8tZGF0ZSkiLCBvdXRwdXRfZmlsZW5hbWUpCisKKyAgICAjIC0tIE1pc2NlbGxhbmVvdXMgbWV0aG9kcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgICMgVGhlc2UgYXJlIGFsbCB1c2VkIGJ5IHRoZSAnZ2VuX2xpYl9vcHRpb25zKCkgZnVuY3Rpb24sIGluCisgICAgIyBjY29tcGlsZXIucHkuCisKKyAgICBkZWYgbGlicmFyeV9kaXJfb3B0aW9uKHNlbGYsIGRpcik6CisgICAgICAgIHJldHVybiAiL0xJQlBBVEg6IiArIGRpcgorCisgICAgZGVmIHJ1bnRpbWVfbGlicmFyeV9kaXJfb3B0aW9uKHNlbGYsIGRpcik6CisgICAgICAgIHJhaXNlIFBhY2thZ2luZ1BsYXRmb3JtRXJyb3IoImRvbid0IGtub3cgaG93IHRvIHNldCBydW50aW1lIGxpYnJhcnkgc2VhcmNoIHBhdGggZm9yIE1TVkMrKyIpCisKKyAgICBkZWYgbGlicmFyeV9vcHRpb24oc2VsZiwgbGliKToKKyAgICAgICAgcmV0dXJuIHNlbGYubGlicmFyeV9maWxlbmFtZShsaWIpCisKKyAgICBkZWYgZmluZF9saWJyYXJ5X2ZpbGUoc2VsZiwgZGlycywgbGliLCBkZWJ1Zz1GYWxzZSk6CisgICAgICAgICMgUHJlZmVyIGEgZGVidWdnaW5nIGxpYnJhcnkgaWYgZm91bmQgKGFuZCByZXF1ZXN0ZWQpLCBidXQgZGVhbAorICAgICAgICAjIHdpdGggaXQgaWYgd2UgZG9uJ3QgaGF2ZSBvbmUuCisgICAgICAgIGlmIGRlYnVnOgorICAgICAgICAgICAgdHJ5X25hbWVzID0gW2xpYiArICJfZCIsIGxpYl0KKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHRyeV9uYW1lcyA9IFtsaWJdCisgICAgICAgIGZvciBkaXIgaW4gZGlyczoKKyAgICAgICAgICAgIGZvciBuYW1lIGluIHRyeV9uYW1lczoKKyAgICAgICAgICAgICAgICBsaWJmaWxlID0gb3MucGF0aC5qb2luKGRpciwgc2VsZi5saWJyYXJ5X2ZpbGVuYW1lKG5hbWUpKQorICAgICAgICAgICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKGxpYmZpbGUpOgorICAgICAgICAgICAgICAgICAgICByZXR1cm4gbGliZmlsZQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgIyBPb3BzLCBkaWRuJ3QgZmluZCBpdCBpbiAqYW55KiBvZiAnZGlycycKKyAgICAgICAgICAgIHJldHVybiBOb25lCisKKyAgICAjIEhlbHBlciBtZXRob2RzIGZvciB1c2luZyB0aGUgTVNWQyByZWdpc3RyeSBzZXR0aW5ncworCisgICAgZGVmIGZpbmRfZXhlKHNlbGYsIGV4ZSk6CisgICAgICAgICIiIlJldHVybiBwYXRoIHRvIGFuIE1TVkMgZXhlY3V0YWJsZSBwcm9ncmFtLgorCisgICAgICAgIFRyaWVzIHRvIGZpbmQgdGhlIHByb2dyYW0gaW4gc2V2ZXJhbCBwbGFjZXM6IGZpcnN0LCBvbmUgb2YgdGhlCisgICAgICAgIE1TVkMgcHJvZ3JhbSBzZWFyY2ggcGF0aHMgZnJvbSB0aGUgcmVnaXN0cnk7IG5leHQsIHRoZSBkaXJlY3RvcmllcworICAgICAgICBpbiB0aGUgUEFUSCBlbnZpcm9ubWVudCB2YXJpYWJsZS4gIElmIGFueSBvZiB0aG9zZSB3b3JrLCByZXR1cm4gYW4KKyAgICAgICAgYWJzb2x1dGUgcGF0aCB0aGF0IGlzIGtub3duIHRvIGV4aXN0LiAgSWYgbm9uZSBvZiB0aGVtIHdvcmssIGp1c3QKKyAgICAgICAgcmV0dXJuIHRoZSBvcmlnaW5hbCBwcm9ncmFtIG5hbWUsICdleGUnLgorICAgICAgICAiIiIKKworICAgICAgICBmb3IgcCBpbiBzZWxmLl9fcGF0aHM6CisgICAgICAgICAgICBmbiA9IG9zLnBhdGguam9pbihvcy5wYXRoLmFic3BhdGgocCksIGV4ZSkKKyAgICAgICAgICAgIGlmIG9zLnBhdGguaXNmaWxlKGZuKToKKyAgICAgICAgICAgICAgICByZXR1cm4gZm4KKworICAgICAgICAjIGRpZG4ndCBmaW5kIGl0OyB0cnkgZXhpc3RpbmcgcGF0aAorICAgICAgICBmb3IgcCBpbiBvcy5lbnZpcm9uWydQYXRoJ10uc3BsaXQoJzsnKToKKyAgICAgICAgICAgIGZuID0gb3MucGF0aC5qb2luKG9zLnBhdGguYWJzcGF0aChwKSwgZXhlKQorICAgICAgICAgICAgaWYgb3MucGF0aC5pc2ZpbGUoZm4pOgorICAgICAgICAgICAgICAgIHJldHVybiBmbgorCisgICAgICAgIHJldHVybiBleGUKKworICAgIGRlZiBnZXRfbXN2Y19wYXRocyhzZWxmLCBwYXRoLCBwbGF0Zm9ybT0neDg2Jyk6CisgICAgICAgICIiIkdldCBhIGxpc3Qgb2YgZGV2c3R1ZGlvIGRpcmVjdG9yaWVzIChpbmNsdWRlLCBsaWIgb3IgcGF0aCkuCisKKyAgICAgICAgUmV0dXJuIGEgbGlzdCBvZiBzdHJpbmdzLiAgVGhlIGxpc3Qgd2lsbCBiZSBlbXB0eSBpZiB1bmFibGUgdG8KKyAgICAgICAgYWNjZXNzIHRoZSByZWdpc3RyeSBvciBhcHByb3ByaWF0ZSByZWdpc3RyeSBrZXlzIG5vdCBmb3VuZC4KKyAgICAgICAgIiIiCisKKyAgICAgICAgaWYgbm90IF9jYW5fcmVhZF9yZWc6CisgICAgICAgICAgICByZXR1cm4gW10KKworICAgICAgICBwYXRoID0gcGF0aCArICIgZGlycyIKKyAgICAgICAgaWYgc2VsZi5fX3ZlcnNpb24gPj0gNzoKKyAgICAgICAgICAgIGtleSA9IChyIiVzXCUwLjFmXFZDXFZDX09CSkVDVFNfUExBVEZPUk1fSU5GT1xXaW4zMlxEaXJlY3RvcmllcyIKKyAgICAgICAgICAgICAgICAgICAlIChzZWxmLl9fcm9vdCwgc2VsZi5fX3ZlcnNpb24pKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAga2V5ID0gKHIiJXNcNi4wXEJ1aWxkIFN5c3RlbVxDb21wb25lbnRzXFBsYXRmb3JtcyIKKyAgICAgICAgICAgICAgICAgICByIlxXaW4zMiAoJXMpXERpcmVjdG9yaWVzIiAlIChzZWxmLl9fcm9vdCwgcGxhdGZvcm0pKQorCisgICAgICAgIGZvciBiYXNlIGluIEhLRVlTOgorICAgICAgICAgICAgZCA9IHJlYWRfdmFsdWVzKGJhc2UsIGtleSkKKyAgICAgICAgICAgIGlmIGQ6CisgICAgICAgICAgICAgICAgaWYgc2VsZi5fX3ZlcnNpb24gPj0gNzoKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYuX19tYWNyb3Muc3ViKGRbcGF0aF0pLnNwbGl0KCI7IikKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICByZXR1cm4gZFtwYXRoXS5zcGxpdCgiOyIpCisgICAgICAgICMgTVNWQyA2IHNlZW1zIHRvIGNyZWF0ZSB0aGUgcmVnaXN0cnkgZW50cmllcyB3ZSBuZWVkIG9ubHkgd2hlbgorICAgICAgICAjIHRoZSBHVUkgaXMgcnVuLgorICAgICAgICBpZiBzZWxmLl9fdmVyc2lvbiA9PSA2OgorICAgICAgICAgICAgZm9yIGJhc2UgaW4gSEtFWVM6CisgICAgICAgICAgICAgICAgaWYgcmVhZF92YWx1ZXMoYmFzZSwgciIlc1w2LjAiICUgc2VsZi5fX3Jvb3QpIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgICAgICAgICBzZWxmLndhcm4oIkl0IHNlZW1zIHlvdSBoYXZlIFZpc3VhbCBTdHVkaW8gNiBpbnN0YWxsZWQsICIKKyAgICAgICAgICAgICAgICAgICAgICAgICJidXQgdGhlIGV4cGVjdGVkIHJlZ2lzdHJ5IHNldHRpbmdzIGFyZSBub3QgcHJlc2VudC5cbiIKKyAgICAgICAgICAgICAgICAgICAgICAgICJZb3UgbXVzdCBhdCBsZWFzdCBydW4gdGhlIFZpc3VhbCBTdHVkaW8gR1VJIG9uY2UgIgorICAgICAgICAgICAgICAgICAgICAgICAgInNvIHRoYXQgdGhlc2UgZW50cmllcyBhcmUgY3JlYXRlZC4iKQorICAgICAgICAgICAgICAgICAgICBicmVhaworICAgICAgICByZXR1cm4gW10KKworICAgIGRlZiBzZXRfcGF0aF9lbnZfdmFyKHNlbGYsIG5hbWUpOgorICAgICAgICAiIiJTZXQgZW52aXJvbm1lbnQgdmFyaWFibGUgJ25hbWUnIHRvIGFuIE1TVkMgcGF0aCB0eXBlIHZhbHVlLgorCisgICAgICAgIFRoaXMgaXMgZXF1aXZhbGVudCB0byBhIFNFVCBjb21tYW5kIHByaW9yIHRvIGV4ZWN1dGlvbiBvZiBzcGF3bmVkCisgICAgICAgIGNvbW1hbmRzLgorICAgICAgICAiIiIKKworICAgICAgICBpZiBuYW1lID09ICJsaWIiOgorICAgICAgICAgICAgcCA9IHNlbGYuZ2V0X21zdmNfcGF0aHMoImxpYnJhcnkiKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcCA9IHNlbGYuZ2V0X21zdmNfcGF0aHMobmFtZSkKKyAgICAgICAgaWYgcDoKKyAgICAgICAgICAgIG9zLmVudmlyb25bbmFtZV0gPSAnOycuam9pbihwKQorCisKK2lmIGdldF9idWlsZF92ZXJzaW9uKCkgPj0gOC4wOgorICAgIGxvZ2dlci5kZWJ1ZygiaW1wb3J0aW5nIG5ldyBjb21waWxlciBmcm9tIGRpc3R1dGlscy5tc3ZjOWNvbXBpbGVyIikKKyAgICBPbGRNU1ZDQ29tcGlsZXIgPSBNU1ZDQ29tcGlsZXIKKyAgICBmcm9tIHBhY2thZ2luZy5jb21waWxlci5tc3ZjOWNvbXBpbGVyIGltcG9ydCBNU1ZDQ29tcGlsZXIKKyAgICAjIGdldF9idWlsZF9hcmNoaXRlY3R1cmUgbm90IHJlYWxseSByZWxldmFudCBub3cgd2Ugc3VwcG9ydCBjcm9zcy1jb21waWxlCisgICAgZnJvbSBwYWNrYWdpbmcuY29tcGlsZXIubXN2Yzljb21waWxlciBpbXBvcnQgTWFjcm9FeHBhbmRlcgpkaWZmIC0tZ2l0IGEvTGliL3BhY2thZ2luZy9jb21waWxlci91bml4Y2NvbXBpbGVyLnB5IGIvTGliL3BhY2thZ2luZy9jb21waWxlci91bml4Y2NvbXBpbGVyLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM0NThmYWEKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvcGFja2FnaW5nL2NvbXBpbGVyL3VuaXhjY29tcGlsZXIucHkKQEAgLTAsMCArMSwzMzkgQEAKKyIiIkNDb21waWxlciBpbXBsZW1lbnRhdGlvbiBmb3IgVW5peCBjb21waWxlcnMuCisKK1RoaXMgbW9kdWxlIGNvbnRhaW5zIHRoZSBVbml4Q0NvbXBpbGVyIGNsYXNzLCBhIHN1YmNsYXNzIG9mIENDb21waWxlcgordGhhdCBoYW5kbGVzIHRoZSAidHlwaWNhbCIgVW5peC1zdHlsZSBjb21tYW5kLWxpbmUgQyBjb21waWxlcjoKKyAgKiBtYWNyb3MgZGVmaW5lZCB3aXRoIC1EbmFtZVs9dmFsdWVdCisgICogbWFjcm9zIHVuZGVmaW5lZCB3aXRoIC1VbmFtZQorICAqIGluY2x1ZGUgc2VhcmNoIGRpcmVjdG9yaWVzIHNwZWNpZmllZCB3aXRoIC1JZGlyCisgICogbGlicmFyaWVzIHNwZWNpZmllZCB3aXRoIC1sbGxpYgorICAqIGxpYnJhcnkgc2VhcmNoIGRpcmVjdG9yaWVzIHNwZWNpZmllZCB3aXRoIC1MZGlyCisgICogY29tcGlsZSBoYW5kbGVkIGJ5ICdjYycgKG9yIHNpbWlsYXIpIGV4ZWN1dGFibGUgd2l0aCAtYyBvcHRpb246CisgICAgY29tcGlsZXMgLmMgdG8gLm8KKyAgKiBsaW5rIHN0YXRpYyBsaWJyYXJ5IGhhbmRsZWQgYnkgJ2FyJyBjb21tYW5kIChwb3NzaWJseSB3aXRoICdyYW5saWInKQorICAqIGxpbmsgc2hhcmVkIGxpYnJhcnkgaGFuZGxlZCBieSAnY2MgLXNoYXJlZCcKKyIiIgorCitpbXBvcnQgb3MsIHN5cworCitmcm9tIHBhY2thZ2luZy51dGlsIGltcG9ydCBuZXdlcgorZnJvbSBwYWNrYWdpbmcuY29tcGlsZXIuY2NvbXBpbGVyIGltcG9ydCBDQ29tcGlsZXIKK2Zyb20gcGFja2FnaW5nLmNvbXBpbGVyIGltcG9ydCBnZW5fcHJlcHJvY2Vzc19vcHRpb25zLCBnZW5fbGliX29wdGlvbnMKK2Zyb20gcGFja2FnaW5nLmVycm9ycyBpbXBvcnQgKFBhY2thZ2luZ0V4ZWNFcnJvciwgQ29tcGlsZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpYkVycm9yLCBMaW5rRXJyb3IpCitmcm9tIHBhY2thZ2luZyBpbXBvcnQgbG9nZ2VyCitpbXBvcnQgc3lzY29uZmlnCisKKworIyBYWFggVGhpbmdzIG5vdCBjdXJyZW50bHkgaGFuZGxlZDoKKyMgICAqIG9wdGltaXphdGlvbi9kZWJ1Zy93YXJuaW5nIGZsYWdzOyB3ZSBqdXN0IHVzZSB3aGF0ZXZlcidzIGluIFB5dGhvbidzCisjICAgICBNYWtlZmlsZSBhbmQgbGl2ZSB3aXRoIGl0LiAgSXMgdGhpcyBhZGVxdWF0ZT8gIElmIG5vdCwgd2UgbWlnaHQKKyMgICAgIGhhdmUgdG8gaGF2ZSBhIGJ1bmNoIG9mIHN1YmNsYXNzZXMgR05VQ0NvbXBpbGVyLCBTR0lDQ29tcGlsZXIsCisjICAgICBTdW5DQ29tcGlsZXIsIGFuZCBJIHN1c3BlY3QgZG93biB0aGF0IHJvYWQgbGllcyBtYWRuZXNzLgorIyAgICogZXZlbiBpZiB3ZSBkb24ndCBrbm93IGEgd2FybmluZyBmbGFnIGZyb20gYW4gb3B0aW1pemF0aW9uIGZsYWcsCisjICAgICB3ZSBuZWVkIHNvbWUgd2F5IGZvciBvdXRzaWRlcnMgdG8gZmVlZCBwcmVwcm9jZXNzb3IvY29tcGlsZXIvbGlua2VyCisjICAgICBmbGFncyBpbiB0byB1cyAtLSBlZy4gYSBzeXNhZG1pbiBtaWdodCB3YW50IHRvIG1hbmRhdGUgY2VydGFpbiBmbGFncworIyAgICAgdmlhIGEgc2l0ZSBjb25maWcgZmlsZSwgb3IgYSB1c2VyIG1pZ2h0IHdhbnQgdG8gc2V0IHNvbWV0aGluZyBmb3IKKyMgICAgIGNvbXBpbGluZyB0aGlzIG1vZHVsZSBkaXN0cmlidXRpb24gb25seSB2aWEgdGhlIHB5c2V0dXAgY29tbWFuZAorIyAgICAgbGluZSwgd2hhdGV2ZXIuICBBcyBsb25nIGFzIHRoZXNlIG9wdGlvbnMgY29tZSBmcm9tIHNvbWV0aGluZyBvbiB0aGUKKyMgICAgIGN1cnJlbnQgc3lzdGVtLCB0aGV5IGNhbiBiZSBhcyBzeXN0ZW0tZGVwZW5kZW50IGFzIHRoZXkgbGlrZSwgYW5kIHdlCisjICAgICBzaG91bGQganVzdCBoYXBwaWx5IHN0dWZmIHRoZW0gaW50byB0aGUgcHJlcHJvY2Vzc29yL2NvbXBpbGVyL2xpbmtlcgorIyAgICAgb3B0aW9ucyBhbmQgY2Fycnkgb24uCisKK2RlZiBfZGFyd2luX2NvbXBpbGVyX2ZpeHVwKGNvbXBpbGVyX3NvLCBjY19hcmdzKToKKyAgICAiIiIKKyAgICBUaGlzIGZ1bmN0aW9uIHdpbGwgc3RyaXAgJy1pc3lzcm9vdCBQQVRIJyBhbmQgJy1hcmNoIEFSQ0gnIGZyb20gdGhlCisgICAgY29tcGlsZSBmbGFncyBpZiB0aGUgdXNlciBoYXMgc3BlY2lmaWVkIG9uZSB0aGVtIGluIGV4dHJhX2NvbXBpbGVfZmxhZ3MuCisKKyAgICBUaGlzIGlzIG5lZWRlZCBiZWNhdXNlICctYXJjaCBBUkNIJyBhZGRzIGFub3RoZXIgYXJjaGl0ZWN0dXJlIHRvIHRoZQorICAgIGJ1aWxkLCB3aXRob3V0IGEgd2F5IHRvIHJlbW92ZSBhbiBhcmNoaXRlY3R1cmUuIEZ1cnRoZXJtb3JlIEdDQyB3aWxsCisgICAgYmFyZiBpZiBtdWx0aXBsZSAnLWlzeXNyb290JyBhcmd1bWVudHMgYXJlIHByZXNlbnQuCisgICAgIiIiCisgICAgc3RyaXBBcmNoID0gc3RyaXBTeXNyb290ID0gRmFsc2UKKworICAgIGNvbXBpbGVyX3NvID0gbGlzdChjb21waWxlcl9zbykKKyAgICBrZXJuZWxfdmVyc2lvbiA9IG9zLnVuYW1lKClbMl0gIyA4LjQuMworICAgIG1ham9yX3ZlcnNpb24gPSBpbnQoa2VybmVsX3ZlcnNpb24uc3BsaXQoJy4nKVswXSkKKworICAgIGlmIG1ham9yX3ZlcnNpb24gPCA4OgorICAgICAgICAjIE9TWCBiZWZvcmUgMTAuNC4wLCB0aGVzZSBkb24ndCBzdXBwb3J0IC1hcmNoIGFuZCAtaXN5c3Jvb3QgYXQKKyAgICAgICAgIyBhbGwuCisgICAgICAgIHN0cmlwQXJjaCA9IHN0cmlwU3lzcm9vdCA9IFRydWUKKyAgICBlbHNlOgorICAgICAgICBzdHJpcEFyY2ggPSAnLWFyY2gnIGluIGNjX2FyZ3MKKyAgICAgICAgc3RyaXBTeXNyb290ID0gJy1pc3lzcm9vdCcgaW4gY2NfYXJncworCisgICAgaWYgc3RyaXBBcmNoIG9yICdBUkNIRkxBR1MnIGluIG9zLmVudmlyb246CisgICAgICAgIHdoaWxlIFRydWU6CisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgaW5kZXggPSBjb21waWxlcl9zby5pbmRleCgnLWFyY2gnKQorICAgICAgICAgICAgICAgICMgU3RyaXAgdGhpcyBhcmd1bWVudCBhbmQgdGhlIG5leHQgb25lOgorICAgICAgICAgICAgICAgIGRlbCBjb21waWxlcl9zb1tpbmRleDppbmRleCsyXQorICAgICAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3I6CisgICAgICAgICAgICAgICAgYnJlYWsKKworICAgIGlmICdBUkNIRkxBR1MnIGluIG9zLmVudmlyb24gYW5kIG5vdCBzdHJpcEFyY2g6CisgICAgICAgICMgVXNlciBzcGVjaWZpZWQgZGlmZmVyZW50IC1hcmNoIGZsYWdzIGluIHRoZSBlbnZpcm9uLAorICAgICAgICAjIHNlZSBhbHNvIHRoZSBzeXNjb25maWcKKyAgICAgICAgY29tcGlsZXJfc28gPSBjb21waWxlcl9zbyArIG9zLmVudmlyb25bJ0FSQ0hGTEFHUyddLnNwbGl0KCkKKworICAgIGlmIHN0cmlwU3lzcm9vdDoKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgaW5kZXggPSBjb21waWxlcl9zby5pbmRleCgnLWlzeXNyb290JykKKyAgICAgICAgICAgICMgU3RyaXAgdGhpcyBhcmd1bWVudCBhbmQgdGhlIG5leHQgb25lOgorICAgICAgICAgICAgZGVsIGNvbXBpbGVyX3NvW2luZGV4OmluZGV4KzJdCisgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yOgorICAgICAgICAgICAgcGFzcworCisgICAgIyBDaGVjayBpZiB0aGUgU0RLIHRoYXQgaXMgdXNlZCBkdXJpbmcgY29tcGlsYXRpb24gYWN0dWFsbHkgZXhpc3RzLAorICAgICMgdGhlIHVuaXZlcnNhbCBidWlsZCByZXF1aXJlcyB0aGUgdXNhZ2Ugb2YgYSB1bml2ZXJzYWwgU0RLIGFuZCBub3QgYWxsCisgICAgIyB1c2VycyBoYXZlIHRoYXQgaW5zdGFsbGVkIGJ5IGRlZmF1bHQuCisgICAgc3lzcm9vdCA9IE5vbmUKKyAgICBpZiAnLWlzeXNyb290JyBpbiBjY19hcmdzOgorICAgICAgICBpZHggPSBjY19hcmdzLmluZGV4KCctaXN5c3Jvb3QnKQorICAgICAgICBzeXNyb290ID0gY2NfYXJnc1tpZHgrMV0KKyAgICBlbGlmICctaXN5c3Jvb3QnIGluIGNvbXBpbGVyX3NvOgorICAgICAgICBpZHggPSBjb21waWxlcl9zby5pbmRleCgnLWlzeXNyb290JykKKyAgICAgICAgc3lzcm9vdCA9IGNvbXBpbGVyX3NvW2lkeCsxXQorCisgICAgaWYgc3lzcm9vdCBhbmQgbm90IG9zLnBhdGguaXNkaXIoc3lzcm9vdCk6CisgICAgICAgIGxvZ2dlci53YXJuaW5nKAorICAgICAgICAgICAgImNvbXBpbGluZyB3aXRoIGFuIFNESyB0aGF0IGRvZXNuJ3Qgc2VlbSB0byBleGlzdDogJXI7XG4iCisgICAgICAgICAgICAicGxlYXNlIGNoZWNrIHlvdXIgWGNvZGUgaW5zdGFsbGF0aW9uIiwgc3lzcm9vdCkKKworICAgIHJldHVybiBjb21waWxlcl9zbworCitjbGFzcyBVbml4Q0NvbXBpbGVyKENDb21waWxlcik6CisKKyAgICBuYW1lID0gJ3VuaXgnCisgICAgZGVzY3JpcHRpb24gPSAnU3RhbmRhcmQgVU5JWC1zdHlsZSBjb21waWxlcicKKworICAgICMgVGhlc2UgYXJlIHVzZWQgYnkgQ0NvbXBpbGVyIGluIHR3byBwbGFjZXM6IHRoZSBjb25zdHJ1Y3RvciBzZXRzCisgICAgIyBpbnN0YW5jZSBhdHRyaWJ1dGVzICdwcmVwcm9jZXNzb3InLCAnY29tcGlsZXInLCBldGMuIGZyb20gdGhlbSwgYW5kCisgICAgIyAnc2V0X2V4ZWN1dGFibGUoKScgYWxsb3dzIGFueSBvZiB0aGVzZSB0byBiZSBzZXQuICBUaGUgZGVmYXVsdHMgaGVyZQorICAgICMgYXJlIHByZXR0eSBnZW5lcmljOyB0aGV5IHdpbGwgcHJvYmFibHkgaGF2ZSB0byBiZSBzZXQgYnkgYW4gb3V0c2lkZXIKKyAgICAjIChlZy4gdXNpbmcgaW5mb3JtYXRpb24gZGlzY292ZXJlZCBieSB0aGUgc3lzY29uZmlnIGFib3V0IGJ1aWxkaW5nCisgICAgIyBQeXRob24gZXh0ZW5zaW9ucykuCisgICAgZXhlY3V0YWJsZXMgPSB7J3ByZXByb2Nlc3NvcicgOiBOb25lLAorICAgICAgICAgICAgICAgICAgICdjb21waWxlcicgICAgIDogWyJjYyJdLAorICAgICAgICAgICAgICAgICAgICdjb21waWxlcl9zbycgIDogWyJjYyJdLAorICAgICAgICAgICAgICAgICAgICdjb21waWxlcl9jeHgnIDogWyJjYyJdLAorICAgICAgICAgICAgICAgICAgICdsaW5rZXJfc28nICAgIDogWyJjYyIsICItc2hhcmVkIl0sCisgICAgICAgICAgICAgICAgICAgJ2xpbmtlcl9leGUnICAgOiBbImNjIl0sCisgICAgICAgICAgICAgICAgICAgJ2FyY2hpdmVyJyAgICAgOiBbImFyIiwgIi1jciJdLAorICAgICAgICAgICAgICAgICAgICdyYW5saWInICAgICAgIDogTm9uZSwKKyAgICAgICAgICAgICAgICAgIH0KKworICAgIGlmIHN5cy5wbGF0Zm9ybVs6Nl0gPT0gImRhcndpbiI6CisgICAgICAgIGV4ZWN1dGFibGVzWydyYW5saWInXSA9IFsicmFubGliIl0KKworICAgICMgTmVlZGVkIGZvciB0aGUgZmlsZW5hbWUgZ2VuZXJhdGlvbiBtZXRob2RzIHByb3ZpZGVkIGJ5IHRoZSBiYXNlCisgICAgIyBjbGFzcywgQ0NvbXBpbGVyLiAgWFhYIHdob2V2ZXIgaW5zdGFudGlhdGVzL3VzZXMgYSBwYXJ0aWN1bGFyCisgICAgIyBVbml4Q0NvbXBpbGVyIGluc3RhbmNlIHNob3VsZCBzZXQgJ3NoYXJlZF9saWJfZXh0JyAtLSB3ZSBzZXQgYQorICAgICMgcmVhc29uYWJsZSBjb21tb24gZGVmYXVsdCBoZXJlLCBidXQgaXQncyBub3QgbmVjZXNzYXJpbHkgdXNlZCBvbiBhbGwKKyAgICAjIFVuaWNlcyEKKworICAgIHNyY19leHRlbnNpb25zID0gWyIuYyIsIi5DIiwiLmNjIiwiLmN4eCIsIi5jcHAiLCIubSJdCisgICAgb2JqX2V4dGVuc2lvbiA9ICIubyIKKyAgICBzdGF0aWNfbGliX2V4dGVuc2lvbiA9ICIuYSIKKyAgICBzaGFyZWRfbGliX2V4dGVuc2lvbiA9ICIuc28iCisgICAgZHlsaWJfbGliX2V4dGVuc2lvbiA9ICIuZHlsaWIiCisgICAgc3RhdGljX2xpYl9mb3JtYXQgPSBzaGFyZWRfbGliX2Zvcm1hdCA9IGR5bGliX2xpYl9mb3JtYXQgPSAibGliJXMlcyIKKyAgICBpZiBzeXMucGxhdGZvcm0gPT0gImN5Z3dpbiI6CisgICAgICAgIGV4ZV9leHRlbnNpb24gPSAiLmV4ZSIKKworICAgIGRlZiBwcmVwcm9jZXNzKHNlbGYsIHNvdXJjZSwKKyAgICAgICAgICAgICAgICAgICBvdXRwdXRfZmlsZT1Ob25lLCBtYWNyb3M9Tm9uZSwgaW5jbHVkZV9kaXJzPU5vbmUsCisgICAgICAgICAgICAgICAgICAgZXh0cmFfcHJlYXJncz1Ob25lLCBleHRyYV9wb3N0YXJncz1Ob25lKToKKyAgICAgICAgaWdub3JlLCBtYWNyb3MsIGluY2x1ZGVfZGlycyA9IFwKKyAgICAgICAgICAgIHNlbGYuX2ZpeF9jb21waWxlX2FyZ3MoTm9uZSwgbWFjcm9zLCBpbmNsdWRlX2RpcnMpCisgICAgICAgIHBwX29wdHMgPSBnZW5fcHJlcHJvY2Vzc19vcHRpb25zKG1hY3JvcywgaW5jbHVkZV9kaXJzKQorICAgICAgICBwcF9hcmdzID0gc2VsZi5wcmVwcm9jZXNzb3IgKyBwcF9vcHRzCisgICAgICAgIGlmIG91dHB1dF9maWxlOgorICAgICAgICAgICAgcHBfYXJncy5leHRlbmQoKCctbycsIG91dHB1dF9maWxlKSkKKyAgICAgICAgaWYgZXh0cmFfcHJlYXJnczoKKyAgICAgICAgICAgIHBwX2FyZ3NbOjBdID0gZXh0cmFfcHJlYXJncworICAgICAgICBpZiBleHRyYV9wb3N0YXJnczoKKyAgICAgICAgICAgIHBwX2FyZ3MuZXh0ZW5kKGV4dHJhX3Bvc3RhcmdzKQorICAgICAgICBwcF9hcmdzLmFwcGVuZChzb3VyY2UpCisKKyAgICAgICAgIyBXZSBuZWVkIHRvIHByZXByb2Nlc3M6IGVpdGhlciB3ZSdyZSBiZWluZyBmb3JjZWQgdG8sIG9yIHdlJ3JlCisgICAgICAgICMgZ2VuZXJhdGluZyBvdXRwdXQgdG8gc3Rkb3V0LCBvciB0aGVyZSdzIGEgdGFyZ2V0IG91dHB1dCBmaWxlIGFuZAorICAgICAgICAjIHRoZSBzb3VyY2UgZmlsZSBpcyBuZXdlciB0aGFuIHRoZSB0YXJnZXQgKG9yIHRoZSB0YXJnZXQgZG9lc24ndAorICAgICAgICAjIGV4aXN0KS4KKyAgICAgICAgaWYgc2VsZi5mb3JjZSBvciBvdXRwdXRfZmlsZSBpcyBOb25lIG9yIG5ld2VyKHNvdXJjZSwgb3V0cHV0X2ZpbGUpOgorICAgICAgICAgICAgaWYgb3V0cHV0X2ZpbGU6CisgICAgICAgICAgICAgICAgc2VsZi5ta3BhdGgob3MucGF0aC5kaXJuYW1lKG91dHB1dF9maWxlKSkKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBzZWxmLnNwYXduKHBwX2FyZ3MpCisgICAgICAgICAgICBleGNlcHQgUGFja2FnaW5nRXhlY0Vycm9yIGFzIG1zZzoKKyAgICAgICAgICAgICAgICByYWlzZSBDb21waWxlRXJyb3IobXNnKQorCisgICAgZGVmIF9jb21waWxlKHNlbGYsIG9iaiwgc3JjLCBleHQsIGNjX2FyZ3MsIGV4dHJhX3Bvc3RhcmdzLCBwcF9vcHRzKToKKyAgICAgICAgY29tcGlsZXJfc28gPSBzZWxmLmNvbXBpbGVyX3NvCisgICAgICAgIGlmIHN5cy5wbGF0Zm9ybSA9PSAnZGFyd2luJzoKKyAgICAgICAgICAgIGNvbXBpbGVyX3NvID0gX2Rhcndpbl9jb21waWxlcl9maXh1cChjb21waWxlcl9zbywgY2NfYXJncyArIGV4dHJhX3Bvc3RhcmdzKQorICAgICAgICB0cnk6CisgICAgICAgICAgICBzZWxmLnNwYXduKGNvbXBpbGVyX3NvICsgY2NfYXJncyArIFtzcmMsICctbycsIG9ial0gKworICAgICAgICAgICAgICAgICAgICAgICBleHRyYV9wb3N0YXJncykKKyAgICAgICAgZXhjZXB0IFBhY2thZ2luZ0V4ZWNFcnJvciBhcyBtc2c6CisgICAgICAgICAgICByYWlzZSBDb21waWxlRXJyb3IobXNnKQorCisgICAgZGVmIGNyZWF0ZV9zdGF0aWNfbGliKHNlbGYsIG9iamVjdHMsIG91dHB1dF9saWJuYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICBvdXRwdXRfZGlyPU5vbmUsIGRlYnVnPUZhbHNlLCB0YXJnZXRfbGFuZz1Ob25lKToKKyAgICAgICAgb2JqZWN0cywgb3V0cHV0X2RpciA9IHNlbGYuX2ZpeF9vYmplY3RfYXJncyhvYmplY3RzLCBvdXRwdXRfZGlyKQorCisgICAgICAgIG91dHB1dF9maWxlbmFtZSA9IFwKKyAgICAgICAgICAgIHNlbGYubGlicmFyeV9maWxlbmFtZShvdXRwdXRfbGlibmFtZSwgb3V0cHV0X2Rpcj1vdXRwdXRfZGlyKQorCisgICAgICAgIGlmIHNlbGYuX25lZWRfbGluayhvYmplY3RzLCBvdXRwdXRfZmlsZW5hbWUpOgorICAgICAgICAgICAgc2VsZi5ta3BhdGgob3MucGF0aC5kaXJuYW1lKG91dHB1dF9maWxlbmFtZSkpCisgICAgICAgICAgICBzZWxmLnNwYXduKHNlbGYuYXJjaGl2ZXIgKworICAgICAgICAgICAgICAgICAgICAgICBbb3V0cHV0X2ZpbGVuYW1lXSArCisgICAgICAgICAgICAgICAgICAgICAgIG9iamVjdHMgKyBzZWxmLm9iamVjdHMpCisKKyAgICAgICAgICAgICMgTm90IG1hbnkgVW5pY2VzIHJlcXVpcmVkIHJhbmxpYiBhbnltb3JlIC0tIFN1bk9TIDQueCBpcywgSQorICAgICAgICAgICAgIyB0aGluayB0aGUgb25seSBtYWpvciBVbml4IHRoYXQgZG9lcy4gIE1heWJlIHdlIG5lZWQgc29tZQorICAgICAgICAgICAgIyBwbGF0Zm9ybSBpbnRlbGxpZ2VuY2UgaGVyZSB0byBza2lwIHJhbmxpYiBpZiBpdCdzIG5vdAorICAgICAgICAgICAgIyBuZWVkZWQgLS0gb3IgbWF5YmUgUHl0aG9uJ3MgY29uZmlndXJlIHNjcmlwdCB0b29rIGNhcmUgb2YKKyAgICAgICAgICAgICMgaXQgZm9yIHVzLCBoZW5jZSB0aGUgY2hlY2sgZm9yIGxlYWRpbmcgY29sb24uCisgICAgICAgICAgICBpZiBzZWxmLnJhbmxpYjoKKyAgICAgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgICAgIHNlbGYuc3Bhd24oc2VsZi5yYW5saWIgKyBbb3V0cHV0X2ZpbGVuYW1lXSkKKyAgICAgICAgICAgICAgICBleGNlcHQgUGFja2FnaW5nRXhlY0Vycm9yIGFzIG1zZzoKKyAgICAgICAgICAgICAgICAgICAgcmFpc2UgTGliRXJyb3IobXNnKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgbG9nZ2VyLmRlYnVnKCJza2lwcGluZyAlcyAodXAtdG8tZGF0ZSkiLCBvdXRwdXRfZmlsZW5hbWUpCisKKyAgICBkZWYgbGluayhzZWxmLCB0YXJnZXRfZGVzYywgb2JqZWN0cywKKyAgICAgICAgICAgICBvdXRwdXRfZmlsZW5hbWUsIG91dHB1dF9kaXI9Tm9uZSwgbGlicmFyaWVzPU5vbmUsCisgICAgICAgICAgICAgbGlicmFyeV9kaXJzPU5vbmUsIHJ1bnRpbWVfbGlicmFyeV9kaXJzPU5vbmUsCisgICAgICAgICAgICAgZXhwb3J0X3N5bWJvbHM9Tm9uZSwgZGVidWc9RmFsc2UsIGV4dHJhX3ByZWFyZ3M9Tm9uZSwKKyAgICAgICAgICAgICBleHRyYV9wb3N0YXJncz1Ob25lLCBidWlsZF90ZW1wPU5vbmUsIHRhcmdldF9sYW5nPU5vbmUpOgorICAgICAgICBvYmplY3RzLCBvdXRwdXRfZGlyID0gc2VsZi5fZml4X29iamVjdF9hcmdzKG9iamVjdHMsIG91dHB1dF9kaXIpCisgICAgICAgIGxpYnJhcmllcywgbGlicmFyeV9kaXJzLCBydW50aW1lX2xpYnJhcnlfZGlycyA9IFwKKyAgICAgICAgICAgIHNlbGYuX2ZpeF9saWJfYXJncyhsaWJyYXJpZXMsIGxpYnJhcnlfZGlycywgcnVudGltZV9saWJyYXJ5X2RpcnMpCisKKyAgICAgICAgbGliX29wdHMgPSBnZW5fbGliX29wdGlvbnMoc2VsZiwgbGlicmFyeV9kaXJzLCBydW50aW1lX2xpYnJhcnlfZGlycywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlicmFyaWVzKQorICAgICAgICBpZiB0eXBlKG91dHB1dF9kaXIpIG5vdCBpbiAoc3RyLCB0eXBlKE5vbmUpKToKKyAgICAgICAgICAgIHJhaXNlIFR5cGVFcnJvcigiJ291dHB1dF9kaXInIG11c3QgYmUgYSBzdHJpbmcgb3IgTm9uZSIpCisgICAgICAgIGlmIG91dHB1dF9kaXIgaXMgbm90IE5vbmU6CisgICAgICAgICAgICBvdXRwdXRfZmlsZW5hbWUgPSBvcy5wYXRoLmpvaW4ob3V0cHV0X2Rpciwgb3V0cHV0X2ZpbGVuYW1lKQorCisgICAgICAgIGlmIHNlbGYuX25lZWRfbGluayhvYmplY3RzLCBvdXRwdXRfZmlsZW5hbWUpOgorICAgICAgICAgICAgbGRfYXJncyA9IChvYmplY3RzICsgc2VsZi5vYmplY3RzICsKKyAgICAgICAgICAgICAgICAgICAgICAgbGliX29wdHMgKyBbJy1vJywgb3V0cHV0X2ZpbGVuYW1lXSkKKyAgICAgICAgICAgIGlmIGRlYnVnOgorICAgICAgICAgICAgICAgIGxkX2FyZ3NbOjBdID0gWyctZyddCisgICAgICAgICAgICBpZiBleHRyYV9wcmVhcmdzOgorICAgICAgICAgICAgICAgIGxkX2FyZ3NbOjBdID0gZXh0cmFfcHJlYXJncworICAgICAgICAgICAgaWYgZXh0cmFfcG9zdGFyZ3M6CisgICAgICAgICAgICAgICAgbGRfYXJncy5leHRlbmQoZXh0cmFfcG9zdGFyZ3MpCisgICAgICAgICAgICBzZWxmLm1rcGF0aChvcy5wYXRoLmRpcm5hbWUob3V0cHV0X2ZpbGVuYW1lKSkKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBpZiB0YXJnZXRfZGVzYyA9PSBDQ29tcGlsZXIuRVhFQ1VUQUJMRToKKyAgICAgICAgICAgICAgICAgICAgbGlua2VyID0gc2VsZi5saW5rZXJfZXhlWzpdCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgbGlua2VyID0gc2VsZi5saW5rZXJfc29bOl0KKyAgICAgICAgICAgICAgICBpZiB0YXJnZXRfbGFuZyA9PSAiYysrIiBhbmQgc2VsZi5jb21waWxlcl9jeHg6CisgICAgICAgICAgICAgICAgICAgICMgc2tpcCBvdmVyIGVudmlyb25tZW50IHZhcmlhYmxlIHNldHRpbmdzIGlmIC91c3IvYmluL2VudgorICAgICAgICAgICAgICAgICAgICAjIGlzIHVzZWQgdG8gc2V0IHVwIHRoZSBsaW5rZXIncyBlbnZpcm9ubWVudC4KKyAgICAgICAgICAgICAgICAgICAgIyBUaGlzIGlzIG5lZWRlZCBvbiBPU1guIE5vdGU6IHRoaXMgYXNzdW1lcyB0aGF0IHRoZQorICAgICAgICAgICAgICAgICAgICAjIG5vcm1hbCBhbmQgQysrIGNvbXBpbGVyIGhhdmUgdGhlIHNhbWUgZW52aXJvbm1lbnQKKyAgICAgICAgICAgICAgICAgICAgIyBzZXR0aW5ncy4KKyAgICAgICAgICAgICAgICAgICAgaSA9IDAKKyAgICAgICAgICAgICAgICAgICAgaWYgb3MucGF0aC5iYXNlbmFtZShsaW5rZXJbMF0pID09ICJlbnYiOgorICAgICAgICAgICAgICAgICAgICAgICAgaSA9IDEKKyAgICAgICAgICAgICAgICAgICAgICAgIHdoaWxlICc9JyBpbiBsaW5rZXJbaV06CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaSA9IGkgKyAxCisKKyAgICAgICAgICAgICAgICAgICAgbGlua2VyW2ldID0gc2VsZi5jb21waWxlcl9jeHhbaV0KKworICAgICAgICAgICAgICAgIGlmIHN5cy5wbGF0Zm9ybSA9PSAnZGFyd2luJzoKKyAgICAgICAgICAgICAgICAgICAgbGlua2VyID0gX2Rhcndpbl9jb21waWxlcl9maXh1cChsaW5rZXIsIGxkX2FyZ3MpCisKKyAgICAgICAgICAgICAgICBzZWxmLnNwYXduKGxpbmtlciArIGxkX2FyZ3MpCisgICAgICAgICAgICBleGNlcHQgUGFja2FnaW5nRXhlY0Vycm9yIGFzIG1zZzoKKyAgICAgICAgICAgICAgICByYWlzZSBMaW5rRXJyb3IobXNnKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgbG9nZ2VyLmRlYnVnKCJza2lwcGluZyAlcyAodXAtdG8tZGF0ZSkiLCBvdXRwdXRfZmlsZW5hbWUpCisKKyAgICAjIC0tIE1pc2NlbGxhbmVvdXMgbWV0aG9kcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgICMgVGhlc2UgYXJlIGFsbCB1c2VkIGJ5IHRoZSAnZ2VuX2xpYl9vcHRpb25zKCkgZnVuY3Rpb24sIGluCisgICAgIyBjY29tcGlsZXIucHkuCisKKyAgICBkZWYgbGlicmFyeV9kaXJfb3B0aW9uKHNlbGYsIGRpcik6CisgICAgICAgIHJldHVybiAiLUwiICsgZGlyCisKKyAgICBkZWYgX2lzX2djYyhzZWxmLCBjb21waWxlcl9uYW1lKToKKyAgICAgICAgcmV0dXJuICJnY2MiIGluIGNvbXBpbGVyX25hbWUgb3IgImcrKyIgaW4gY29tcGlsZXJfbmFtZQorCisgICAgZGVmIHJ1bnRpbWVfbGlicmFyeV9kaXJfb3B0aW9uKHNlbGYsIGRpcik6CisgICAgICAgICMgWFhYIEhhY2tpc2gsIGF0IHRoZSB2ZXJ5IGxlYXN0LiAgU2VlIFB5dGhvbiBidWcgIzQ0NTkwMjoKKyAgICAgICAgIyBodHRwOi8vc291cmNlZm9yZ2UubmV0L3RyYWNrZXIvaW5kZXgucGhwCisgICAgICAgICMgICA/ZnVuYz1kZXRhaWwmYWlkPTQ0NTkwMiZncm91cF9pZD01NDcwJmF0aWQ9MTA1NDcwCisgICAgICAgICMgTGlua2VycyBvbiBkaWZmZXJlbnQgcGxhdGZvcm1zIG5lZWQgZGlmZmVyZW50IG9wdGlvbnMgdG8KKyAgICAgICAgIyBzcGVjaWZ5IHRoYXQgZGlyZWN0b3JpZXMgbmVlZCB0byBiZSBhZGRlZCB0byB0aGUgbGlzdCBvZgorICAgICAgICAjIGRpcmVjdG9yaWVzIHNlYXJjaGVkIGZvciBkZXBlbmRlbmNpZXMgd2hlbiBhIGR5bmFtaWMgbGlicmFyeQorICAgICAgICAjIGlzIHNvdWdodC4gIEdDQyBvbiBHTlUgc3lzdGVtcyAoTGludXgsIEZyZWVCU0QsIC4uLikgaGFzIHRvCisgICAgICAgICMgYmUgdG9sZCB0byBwYXNzIHRoZSAtUiBvcHRpb24gdGhyb3VnaCB0byB0aGUgbGlua2VyLCB3aGVyZWFzCisgICAgICAgICMgb3RoZXIgY29tcGlsZXJzIGFuZCBnY2Mgb24gb3RoZXIgc3lzdGVtcyBqdXN0IGtub3cgdGhpcy4KKyAgICAgICAgIyBPdGhlciBjb21waWxlcnMgbWF5IG5lZWQgc29tZXRoaW5nIHNsaWdodGx5IGRpZmZlcmVudC4gIEF0CisgICAgICAgICMgdGhpcyB0aW1lLCB0aGVyZSdzIG5vIHdheSB0byBkZXRlcm1pbmUgdGhpcyBpbmZvcm1hdGlvbiBmcm9tCisgICAgICAgICMgdGhlIGNvbmZpZ3VyYXRpb24gZGF0YSBzdG9yZWQgaW4gdGhlIFB5dGhvbiBpbnN0YWxsYXRpb24sIHNvCisgICAgICAgICMgd2UgdXNlIHRoaXMgaGFjay4KKworICAgICAgICBjb21waWxlciA9IG9zLnBhdGguYmFzZW5hbWUoc3lzY29uZmlnLmdldF9jb25maWdfdmFyKCJDQyIpKQorICAgICAgICBpZiBzeXMucGxhdGZvcm1bOjZdID09ICJkYXJ3aW4iOgorICAgICAgICAgICAgIyBNYWNPU1gncyBsaW5rZXIgZG9lc24ndCB1bmRlcnN0YW5kIHRoZSAtUiBmbGFnIGF0IGFsbAorICAgICAgICAgICAgcmV0dXJuICItTCIgKyBkaXIKKyAgICAgICAgZWxpZiBzeXMucGxhdGZvcm1bOjVdID09ICJocC11eCI6CisgICAgICAgICAgICBpZiBzZWxmLl9pc19nY2MoY29tcGlsZXIpOgorICAgICAgICAgICAgICAgIHJldHVybiBbIi1XbCwrcyIsICItTCIgKyBkaXJdCisgICAgICAgICAgICByZXR1cm4gWyIrcyIsICItTCIgKyBkaXJdCisgICAgICAgIGVsaWYgc3lzLnBsYXRmb3JtWzo3XSA9PSAiaXJpeDY0NiIgb3Igc3lzLnBsYXRmb3JtWzo2XSA9PSAib3NmMVY1IjoKKyAgICAgICAgICAgIHJldHVybiBbIi1ycGF0aCIsIGRpcl0KKyAgICAgICAgZWxpZiBzZWxmLl9pc19nY2MoY29tcGlsZXIpOgorICAgICAgICAgICAgIyBnY2Mgb24gbm9uLUdOVSBzeXN0ZW1zIGRvZXMgbm90IG5lZWQgLVdsLCBidXQgY2FuCisgICAgICAgICAgICAjIHVzZSBpdCBhbnl3YXkuICBTaW5jZSBkaXN0dXRpbHMgaGFzIGFsd2F5cyBwYXNzZWQgaW4KKyAgICAgICAgICAgICMgLVdsIHdoZW5ldmVyIGdjYyB3YXMgdXNlZCBpbiB0aGUgcGFzdCBpdCBpcyBwcm9iYWJseQorICAgICAgICAgICAgIyBzYWZlc3QgdG8ga2VlcCBkb2luZyBzby4KKyAgICAgICAgICAgIGlmIHN5c2NvbmZpZy5nZXRfY29uZmlnX3ZhcigiR05VTEQiKSA9PSAieWVzIjoKKyAgICAgICAgICAgICAgICAjIEdOVSBsZCBuZWVkcyBhbiBleHRyYSBvcHRpb24gdG8gZ2V0IGEgUlVOUEFUSAorICAgICAgICAgICAgICAgICMgaW5zdGVhZCBvZiBqdXN0IGFuIFJQQVRILgorICAgICAgICAgICAgICAgIHJldHVybiAiLVdsLC0tZW5hYmxlLW5ldy1kdGFncywtUiIgKyBkaXIKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgcmV0dXJuICItV2wsLVIiICsgZGlyCisgICAgICAgIGVsaWYgc3lzLnBsYXRmb3JtWzozXSA9PSAiYWl4IjoKKyAgICAgICAgICAgIHJldHVybiAiLWJsaWJwYXRoOiIgKyBkaXIKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgICMgTm8gaWRlYSBob3cgLS1lbmFibGUtbmV3LWR0YWdzIHdvdWxkIGJlIHBhc3NlZCBvbiB0bworICAgICAgICAgICAgIyBsZCBpZiB0aGlzIHN5c3RlbSB3YXMgdXNpbmcgR05VIGxkLiAgRG9uJ3Qga25vdyBpZiBhCisgICAgICAgICAgICAjIHN5c3RlbSBsaWtlIHRoaXMgZXZlbiBleGlzdHMuCisgICAgICAgICAgICByZXR1cm4gIi1SIiArIGRpcgorCisgICAgZGVmIGxpYnJhcnlfb3B0aW9uKHNlbGYsIGxpYik6CisgICAgICAgIHJldHVybiAiLWwiICsgbGliCisKKyAgICBkZWYgZmluZF9saWJyYXJ5X2ZpbGUoc2VsZiwgZGlycywgbGliLCBkZWJ1Zz1GYWxzZSk6CisgICAgICAgIHNoYXJlZF9mID0gc2VsZi5saWJyYXJ5X2ZpbGVuYW1lKGxpYiwgbGliX3R5cGU9J3NoYXJlZCcpCisgICAgICAgIGR5bGliX2YgPSBzZWxmLmxpYnJhcnlfZmlsZW5hbWUobGliLCBsaWJfdHlwZT0nZHlsaWInKQorICAgICAgICBzdGF0aWNfZiA9IHNlbGYubGlicmFyeV9maWxlbmFtZShsaWIsIGxpYl90eXBlPSdzdGF0aWMnKQorCisgICAgICAgIGZvciBkaXIgaW4gZGlyczoKKyAgICAgICAgICAgIHNoYXJlZCA9IG9zLnBhdGguam9pbihkaXIsIHNoYXJlZF9mKQorICAgICAgICAgICAgZHlsaWIgPSBvcy5wYXRoLmpvaW4oZGlyLCBkeWxpYl9mKQorICAgICAgICAgICAgc3RhdGljID0gb3MucGF0aC5qb2luKGRpciwgc3RhdGljX2YpCisgICAgICAgICAgICAjIFdlJ3JlIHNlY29uZC1ndWVzc2luZyB0aGUgbGlua2VyIGhlcmUsIHdpdGggbm90IG11Y2ggaGFyZAorICAgICAgICAgICAgIyBkYXRhIHRvIGdvIG9uOiBHQ0Mgc2VlbXMgdG8gcHJlZmVyIHRoZSBzaGFyZWQgbGlicmFyeSwgc28gSSdtCisgICAgICAgICAgICAjIGFzc3VtaW5nIHRoYXQgKmFsbCogVW5peCBDIGNvbXBpbGVycyBkby4gIEFuZCBvZiBjb3Vyc2UgSSdtCisgICAgICAgICAgICAjIGlnbm9yaW5nIGV2ZW4gR0NDJ3MgIi1zdGF0aWMiIG9wdGlvbi4gIFNvIHN1ZSBtZS4KKyAgICAgICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKGR5bGliKToKKyAgICAgICAgICAgICAgICByZXR1cm4gZHlsaWIKKyAgICAgICAgICAgIGVsaWYgb3MucGF0aC5leGlzdHMoc2hhcmVkKToKKyAgICAgICAgICAgICAgICByZXR1cm4gc2hhcmVkCisgICAgICAgICAgICBlbGlmIG9zLnBhdGguZXhpc3RzKHN0YXRpYyk6CisgICAgICAgICAgICAgICAgcmV0dXJuIHN0YXRpYworCisgICAgICAgICMgT29wcywgZGlkbid0IGZpbmQgaXQgaW4gKmFueSogb2YgJ2RpcnMnCisgICAgICAgIHJldHVybiBOb25lCmRpZmYgLS1naXQgYS9MaWIvcGFja2FnaW5nL2NvbmZpZy5weSBiL0xpYi9wYWNrYWdpbmcvY29uZmlnLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFiMDI2YTgKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvcGFja2FnaW5nL2NvbmZpZy5weQpAQCAtMCwwICsxLDM5MSBAQAorIiIiVXRpbGl0aWVzIHRvIGZpbmQgYW5kIHJlYWQgY29uZmlnIGZpbGVzIHVzZWQgYnkgcGFja2FnaW5nLiIiIgorCitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKK2ltcG9ydCBsb2dnaW5nCisKK2Zyb20gc2hsZXggaW1wb3J0IHNwbGl0Citmcm9tIGNvbmZpZ3BhcnNlciBpbXBvcnQgUmF3Q29uZmlnUGFyc2VyCitmcm9tIHBhY2thZ2luZyBpbXBvcnQgbG9nZ2VyCitmcm9tIHBhY2thZ2luZy5lcnJvcnMgaW1wb3J0IFBhY2thZ2luZ09wdGlvbkVycm9yCitmcm9tIHBhY2thZ2luZy5jb21waWxlci5leHRlbnNpb24gaW1wb3J0IEV4dGVuc2lvbgorZnJvbSBwYWNrYWdpbmcudXRpbCBpbXBvcnQgKGNoZWNrX2Vudmlyb24sIGlnbG9iLCByZXNvbHZlX25hbWUsIHN0cnRvYm9vbCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcGxpdF9tdWx0aWxpbmUpCitmcm9tIHBhY2thZ2luZy5jb21waWxlciBpbXBvcnQgc2V0X2NvbXBpbGVyCitmcm9tIHBhY2thZ2luZy5jb21tYW5kIGltcG9ydCBzZXRfY29tbWFuZAorZnJvbSBwYWNrYWdpbmcubWFya2VycyBpbXBvcnQgaW50ZXJwcmV0CisKKworZGVmIF9jaGVja19uYW1lKG5hbWUsIHBhY2thZ2VzKToKKyAgICBpZiAnLicgbm90IGluIG5hbWU6CisgICAgICAgIHJldHVybgorICAgIHBhcnRzID0gbmFtZS5zcGxpdCgnLicpCisgICAgcGFyZW50ID0gJy4nLmpvaW4ocGFydHNbOi0xXSkKKyAgICBpZiBwYXJlbnQgbm90IGluIHBhY2thZ2VzOgorICAgICAgICAjIHdlIGNvdWxkIGxvZyBhIHdhcm5pbmcgaW5zdGVhZCBvZiByYWlzaW5nLCBidXQgd2hhdCdzIHRoZSB1c2UKKyAgICAgICAgIyBvZiBsZXR0aW5nIHBlb3BsZSBidWlsZCBtb2R1bGVzIHRoZXkgY2FuJ3QgaW1wb3J0PworICAgICAgICByYWlzZSBQYWNrYWdpbmdPcHRpb25FcnJvcigKKyAgICAgICAgICAgICdwYXJlbnQgcGFja2FnZSBmb3IgZXh0ZW5zaW9uICVyIG5vdCBmb3VuZCcgJSBuYW1lKQorCisKK2RlZiBfcG9wX3ZhbHVlcyh2YWx1ZXNfZGN0LCBrZXkpOgorICAgICIiIlJlbW92ZSB2YWx1ZXMgZnJvbSB0aGUgZGljdGlvbmFyeSBhbmQgY29udmVydCB0aGVtIGFzIGEgbGlzdCIiIgorICAgIHZhbHNfc3RyID0gdmFsdWVzX2RjdC5wb3Aoa2V5LCAnJykKKyAgICBpZiBub3QgdmFsc19zdHI6CisgICAgICAgIHJldHVybgorICAgIGZpZWxkcyA9IFtdCisgICAgIyB0aGUgbGluZSBzZXBhcmF0b3IgaXMgXG4gZm9yIHNldHVwLmNmZyBmaWxlcworICAgIGZvciBmaWVsZCBpbiB2YWxzX3N0ci5zcGxpdCgnXG4nKToKKyAgICAgICAgdG1wX3ZhbHMgPSBmaWVsZC5zcGxpdCgnLS0nKQorICAgICAgICBpZiBsZW4odG1wX3ZhbHMpID09IDIgYW5kIG5vdCBpbnRlcnByZXQodG1wX3ZhbHNbMV0pOgorICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgZmllbGRzLmFwcGVuZCh0bXBfdmFsc1swXSkKKyAgICAjIEdldCBiYXNoIG9wdGlvbnMgbGlrZSBgZ2NjIC1wcmludC1maWxlLW5hbWU9bGliZ2NjLmFgIFhYWCBiYXNoIG9wdGlvbnM/CisgICAgdmFscyA9IHNwbGl0KCcgJy5qb2luKGZpZWxkcykpCisgICAgaWYgdmFsczoKKyAgICAgICAgcmV0dXJuIHZhbHMKKworCitkZWYgX3JlbF9wYXRoKGJhc2UsIHBhdGgpOgorICAgICMgbm9ybWFsaXplcyBhbmQgcmV0dXJucyBhIGxzdHJpcHBlZC0vLXNlcGFyYXRlZCBwYXRoCisgICAgYmFzZSA9IGJhc2UucmVwbGFjZShvcy5wYXRoLnNlcCwgJy8nKQorICAgIHBhdGggPSBwYXRoLnJlcGxhY2Uob3MucGF0aC5zZXAsICcvJykKKyAgICBhc3NlcnQgcGF0aC5zdGFydHN3aXRoKGJhc2UpCisgICAgcmV0dXJuIHBhdGhbbGVuKGJhc2UpOl0ubHN0cmlwKCcvJykKKworCitkZWYgZ2V0X3Jlc291cmNlc19kZXN0cyhyZXNvdXJjZXNfcm9vdCwgcnVsZXMpOgorICAgICIiIkZpbmQgZGVzdGluYXRpb25zIGZvciByZXNvdXJjZXMgZmlsZXMiIiIKKyAgICBkZXN0aW5hdGlvbnMgPSB7fQorICAgIGZvciBiYXNlLCBzdWZmaXgsIGRlc3QgaW4gcnVsZXM6CisgICAgICAgIHByZWZpeCA9IG9zLnBhdGguam9pbihyZXNvdXJjZXNfcm9vdCwgYmFzZSkKKyAgICAgICAgZm9yIGFic19iYXNlIGluIGlnbG9iKHByZWZpeCk6CisgICAgICAgICAgICBhYnNfZ2xvYiA9IG9zLnBhdGguam9pbihhYnNfYmFzZSwgc3VmZml4KQorICAgICAgICAgICAgZm9yIGFic19wYXRoIGluIGlnbG9iKGFic19nbG9iKToKKyAgICAgICAgICAgICAgICByZXNvdXJjZV9maWxlID0gX3JlbF9wYXRoKHJlc291cmNlc19yb290LCBhYnNfcGF0aCkKKyAgICAgICAgICAgICAgICBpZiBkZXN0IGlzIE5vbmU6ICAjIHJlbW92ZSB0aGUgZW50cnkgaWYgaXQgd2FzIGhlcmUKKyAgICAgICAgICAgICAgICAgICAgZGVzdGluYXRpb25zLnBvcChyZXNvdXJjZV9maWxlLCBOb25lKQorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIHJlbF9wYXRoID0gX3JlbF9wYXRoKGFic19iYXNlLCBhYnNfcGF0aCkKKyAgICAgICAgICAgICAgICAgICAgcmVsX2Rlc3QgPSBkZXN0LnJlcGxhY2Uob3MucGF0aC5zZXAsICcvJykucnN0cmlwKCcvJykKKyAgICAgICAgICAgICAgICAgICAgZGVzdGluYXRpb25zW3Jlc291cmNlX2ZpbGVdID0gcmVsX2Rlc3QgKyAnLycgKyByZWxfcGF0aAorICAgIHJldHVybiBkZXN0aW5hdGlvbnMKKworCitjbGFzcyBDb25maWc6CisgICAgIiIiQ2xhc3MgdXNlZCB0byB3b3JrIHdpdGggY29uZmlndXJhdGlvbiBmaWxlcyIiIgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBkaXN0KToKKyAgICAgICAgc2VsZi5kaXN0ID0gZGlzdAorICAgICAgICBzZWxmLnNldHVwX2hvb2tzID0gW10KKworICAgIGRlZiBydW5faG9va3Moc2VsZiwgY29uZmlnKToKKyAgICAgICAgIiIiUnVuIHNldHVwIGhvb2tzIGluIHRoZSBvcmRlciBkZWZpbmVkIGluIHRoZSBzcGVjLiIiIgorICAgICAgICBmb3IgaG9vayBpbiBzZWxmLnNldHVwX2hvb2tzOgorICAgICAgICAgICAgaG9vayhjb25maWcpCisKKyAgICBkZWYgZmluZF9jb25maWdfZmlsZXMoc2VsZik6CisgICAgICAgICIiIkZpbmQgYXMgbWFueSBjb25maWd1cmF0aW9uIGZpbGVzIGFzIHNob3VsZCBiZSBwcm9jZXNzZWQgZm9yIHRoaXMKKyAgICAgICAgcGxhdGZvcm0sIGFuZCByZXR1cm4gYSBsaXN0IG9mIGZpbGVuYW1lcyBpbiB0aGUgb3JkZXIgaW4gd2hpY2ggdGhleQorICAgICAgICBzaG91bGQgYmUgcGFyc2VkLiAgVGhlIGZpbGVuYW1lcyByZXR1cm5lZCBhcmUgZ3VhcmFudGVlZCB0byBleGlzdAorICAgICAgICAobW9kdWxvIG5hc3R5IHJhY2UgY29uZGl0aW9ucykuCisKKyAgICAgICAgVGhlcmUgYXJlIHRocmVlIHBvc3NpYmxlIGNvbmZpZyBmaWxlczogcGFja2FnaW5nLmNmZyBpbiB0aGUKKyAgICAgICAgUGFja2FnaW5nIGluc3RhbGxhdGlvbiBkaXJlY3RvcnkgKGllLiB3aGVyZSB0aGUgdG9wLWxldmVsCisgICAgICAgIFBhY2thZ2luZyBfX2luc3RfXy5weSBmaWxlIGxpdmVzKSwgYSBmaWxlIGluIHRoZSB1c2VyJ3MgaG9tZQorICAgICAgICBkaXJlY3RvcnkgbmFtZWQgLnB5ZGlzdHV0aWxzLmNmZyBvbiBVbml4IGFuZCBweWRpc3R1dGlscy5jZmcKKyAgICAgICAgb24gV2luZG93cy9NYWM7IGFuZCBzZXR1cC5jZmcgaW4gdGhlIGN1cnJlbnQgZGlyZWN0b3J5LgorCisgICAgICAgIFRoZSBmaWxlIGluIHRoZSB1c2VyJ3MgaG9tZSBkaXJlY3RvcnkgY2FuIGJlIGRpc2FibGVkIHdpdGggdGhlCisgICAgICAgIC0tbm8tdXNlci1jZmcgb3B0aW9uLgorICAgICAgICAiIiIKKyAgICAgICAgZmlsZXMgPSBbXQorICAgICAgICBjaGVja19lbnZpcm9uKCkKKworICAgICAgICAjIFdoZXJlIHRvIGxvb2sgZm9yIHRoZSBzeXN0ZW0td2lkZSBQYWNrYWdpbmcgY29uZmlnIGZpbGUKKyAgICAgICAgc3lzX2RpciA9IG9zLnBhdGguZGlybmFtZShzeXMubW9kdWxlc1sncGFja2FnaW5nJ10uX19maWxlX18pCisKKyAgICAgICAgIyBMb29rIGZvciB0aGUgc3lzdGVtIGNvbmZpZyBmaWxlCisgICAgICAgIHN5c19maWxlID0gb3MucGF0aC5qb2luKHN5c19kaXIsICJwYWNrYWdpbmcuY2ZnIikKKyAgICAgICAgaWYgb3MucGF0aC5pc2ZpbGUoc3lzX2ZpbGUpOgorICAgICAgICAgICAgZmlsZXMuYXBwZW5kKHN5c19maWxlKQorCisgICAgICAgICMgV2hhdCB0byBjYWxsIHRoZSBwZXItdXNlciBjb25maWcgZmlsZQorICAgICAgICBpZiBvcy5uYW1lID09ICdwb3NpeCc6CisgICAgICAgICAgICB1c2VyX2ZpbGVuYW1lID0gIi5weWRpc3R1dGlscy5jZmciCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICB1c2VyX2ZpbGVuYW1lID0gInB5ZGlzdHV0aWxzLmNmZyIKKworICAgICAgICAjIEFuZCBsb29rIGZvciB0aGUgdXNlciBjb25maWcgZmlsZQorICAgICAgICBpZiBzZWxmLmRpc3Qud2FudF91c2VyX2NmZzoKKyAgICAgICAgICAgIHVzZXJfZmlsZSA9IG9zLnBhdGguam9pbihvcy5wYXRoLmV4cGFuZHVzZXIoJ34nKSwgdXNlcl9maWxlbmFtZSkKKyAgICAgICAgICAgIGlmIG9zLnBhdGguaXNmaWxlKHVzZXJfZmlsZSk6CisgICAgICAgICAgICAgICAgZmlsZXMuYXBwZW5kKHVzZXJfZmlsZSkKKworICAgICAgICAjIEFsbCBwbGF0Zm9ybXMgc3VwcG9ydCBsb2NhbCBzZXR1cC5jZmcKKyAgICAgICAgbG9jYWxfZmlsZSA9ICJzZXR1cC5jZmciCisgICAgICAgIGlmIG9zLnBhdGguaXNmaWxlKGxvY2FsX2ZpbGUpOgorICAgICAgICAgICAgZmlsZXMuYXBwZW5kKGxvY2FsX2ZpbGUpCisKKyAgICAgICAgaWYgbG9nZ2VyLmlzRW5hYmxlZEZvcihsb2dnaW5nLkRFQlVHKToKKyAgICAgICAgICAgIGxvZ2dlci5kZWJ1ZygidXNpbmcgY29uZmlnIGZpbGVzOiAlcyIsICcsICcuam9pbihmaWxlcykpCisgICAgICAgIHJldHVybiBmaWxlcworCisgICAgZGVmIF9jb252ZXJ0X21ldGFkYXRhKHNlbGYsIG5hbWUsIHZhbHVlKToKKyAgICAgICAgIyBjb252ZXJ0cyBhIHZhbHVlIGZvdW5kIGluIHNldHVwLmNmZyBpbnRvIGEgdmFsaWQgbWV0YWRhdGEKKyAgICAgICAgIyBYWFgKKyAgICAgICAgcmV0dXJuIHZhbHVlCisKKyAgICBkZWYgX3JlYWRfc2V0dXBfY2ZnKHNlbGYsIHBhcnNlciwgY2ZnX2ZpbGVuYW1lKToKKyAgICAgICAgY2ZnX2RpcmVjdG9yeSA9IG9zLnBhdGguZGlybmFtZShvcy5wYXRoLmFic3BhdGgoY2ZnX2ZpbGVuYW1lKSkKKyAgICAgICAgY29udGVudCA9IHt9CisgICAgICAgIGZvciBzZWN0aW9uIGluIHBhcnNlci5zZWN0aW9ucygpOgorICAgICAgICAgICAgY29udGVudFtzZWN0aW9uXSA9IGRpY3QocGFyc2VyLml0ZW1zKHNlY3Rpb24pKQorCisgICAgICAgICMgZ2xvYmFsIHNldHVwIGhvb2tzIGFyZSBjYWxsZWQgZmlyc3QKKyAgICAgICAgaWYgJ2dsb2JhbCcgaW4gY29udGVudDoKKyAgICAgICAgICAgIGlmICdzZXR1cF9ob29rcycgaW4gY29udGVudFsnZ2xvYmFsJ106CisgICAgICAgICAgICAgICAgc2V0dXBfaG9va3MgPSBzcGxpdF9tdWx0aWxpbmUoY29udGVudFsnZ2xvYmFsJ11bJ3NldHVwX2hvb2tzJ10pCisKKyAgICAgICAgICAgICAgICAjIGFkZCBwcm9qZWN0IGRpcmVjdG9yeSB0byBzeXMucGF0aCwgdG8gYWxsb3cgaG9va3MgdG8gYmUKKyAgICAgICAgICAgICAgICAjIGRpc3RyaWJ1dGVkIHdpdGggdGhlIHByb2plY3QKKyAgICAgICAgICAgICAgICBzeXMucGF0aC5pbnNlcnQoMCwgY2ZnX2RpcmVjdG9yeSkKKyAgICAgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgICAgIGZvciBsaW5lIGluIHNldHVwX2hvb2tzOgorICAgICAgICAgICAgICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhvb2sgPSByZXNvbHZlX25hbWUobGluZSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGV4Y2VwdCBJbXBvcnRFcnJvciBhcyBlOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvZ2dlci53YXJuaW5nKCdjYW5ub3QgZmluZCBzZXR1cCBob29rOiAlcycsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZS5hcmdzWzBdKQorICAgICAgICAgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnNldHVwX2hvb2tzLmFwcGVuZChob29rKQorICAgICAgICAgICAgICAgICAgICBzZWxmLnJ1bl9ob29rcyhjb250ZW50KQorICAgICAgICAgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICAgICAgICAgIHN5cy5wYXRoLnBvcCgwKQorCisgICAgICAgIG1ldGFkYXRhID0gc2VsZi5kaXN0Lm1ldGFkYXRhCisKKyAgICAgICAgIyBzZXR0aW5nIHRoZSBtZXRhZGF0YSB2YWx1ZXMKKyAgICAgICAgaWYgJ21ldGFkYXRhJyBpbiBjb250ZW50OgorICAgICAgICAgICAgZm9yIGtleSwgdmFsdWUgaW4gY29udGVudFsnbWV0YWRhdGEnXS5pdGVtcygpOgorICAgICAgICAgICAgICAgIGtleSA9IGtleS5yZXBsYWNlKCdfJywgJy0nKQorICAgICAgICAgICAgICAgIGlmIG1ldGFkYXRhLmlzX211bHRpX2ZpZWxkKGtleSk6CisgICAgICAgICAgICAgICAgICAgIHZhbHVlID0gc3BsaXRfbXVsdGlsaW5lKHZhbHVlKQorCisgICAgICAgICAgICAgICAgaWYga2V5ID09ICdwcm9qZWN0LXVybCc6CisgICAgICAgICAgICAgICAgICAgIHZhbHVlID0gWyhsYWJlbC5zdHJpcCgpLCB1cmwuc3RyaXAoKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIGxhYmVsLCB1cmwgaW4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Yuc3BsaXQoJywnKSBmb3IgdiBpbiB2YWx1ZV1dCisKKyAgICAgICAgICAgICAgICBpZiBrZXkgPT0gJ2Rlc2NyaXB0aW9uLWZpbGUnOgorICAgICAgICAgICAgICAgICAgICBpZiAnZGVzY3JpcHRpb24nIGluIGNvbnRlbnRbJ21ldGFkYXRhJ106CisgICAgICAgICAgICAgICAgICAgICAgICBtc2cgPSAoImRlc2NyaXB0aW9uIGFuZCBkZXNjcmlwdGlvbi1maWxlJyBhcmUgIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtdXR1YWxseSBleGNsdXNpdmUiKQorICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2UgUGFja2FnaW5nT3B0aW9uRXJyb3IobXNnKQorCisgICAgICAgICAgICAgICAgICAgIGZpbGVuYW1lcyA9IHZhbHVlLnNwbGl0KCkKKworICAgICAgICAgICAgICAgICAgICAjIGNvbmNhdGVuYXRlIGFsbCBmaWxlcworICAgICAgICAgICAgICAgICAgICB2YWx1ZSA9IFtdCisgICAgICAgICAgICAgICAgICAgIGZvciBmaWxlbmFtZSBpbiBmaWxlbmFtZXM6CisgICAgICAgICAgICAgICAgICAgICAgICAjIHdpbGwgcmFpc2UgaWYgZmlsZSBub3QgZm91bmQKKyAgICAgICAgICAgICAgICAgICAgICAgIHdpdGggb3BlbihmaWxlbmFtZSkgYXMgZGVzY3JpcHRpb25fZmlsZToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZS5hcHBlbmQoZGVzY3JpcHRpb25fZmlsZS5yZWFkKCkuc3RyaXAoKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICMgYWRkIGZpbGVuYW1lIGFzIGEgcmVxdWlyZWQgZmlsZQorICAgICAgICAgICAgICAgICAgICAgICAgaWYgZmlsZW5hbWUgbm90IGluIG1ldGFkYXRhLnJlcXVpcmVzX2ZpbGVzOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1ldGFkYXRhLnJlcXVpcmVzX2ZpbGVzLmFwcGVuZChmaWxlbmFtZSkKKyAgICAgICAgICAgICAgICAgICAgdmFsdWUgPSAnXG4nLmpvaW4odmFsdWUpLnN0cmlwKCkKKyAgICAgICAgICAgICAgICAgICAga2V5ID0gJ2Rlc2NyaXB0aW9uJworCisgICAgICAgICAgICAgICAgaWYgbWV0YWRhdGEuaXNfbWV0YWRhdGFfZmllbGQoa2V5KToKKyAgICAgICAgICAgICAgICAgICAgbWV0YWRhdGFba2V5XSA9IHNlbGYuX2NvbnZlcnRfbWV0YWRhdGEoa2V5LCB2YWx1ZSkKKworICAgICAgICBpZiAnZmlsZXMnIGluIGNvbnRlbnQ6CisgICAgICAgICAgICBmaWxlcyA9IGNvbnRlbnRbJ2ZpbGVzJ10KKyAgICAgICAgICAgIHNlbGYuZGlzdC5wYWNrYWdlX2RpciA9IGZpbGVzLnBvcCgncGFja2FnZXNfcm9vdCcsIE5vbmUpCisKKyAgICAgICAgICAgIGZpbGVzID0gZGljdCgoa2V5LCBzcGxpdF9tdWx0aWxpbmUodmFsdWUpKSBmb3Iga2V5LCB2YWx1ZSBpbgorICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVzLml0ZW1zKCkpCisKKyAgICAgICAgICAgIHNlbGYuZGlzdC5wYWNrYWdlcyA9IFtdCisKKyAgICAgICAgICAgIHBhY2thZ2VzID0gZmlsZXMuZ2V0KCdwYWNrYWdlcycsIFtdKQorICAgICAgICAgICAgaWYgaXNpbnN0YW5jZShwYWNrYWdlcywgc3RyKToKKyAgICAgICAgICAgICAgICBwYWNrYWdlcyA9IFtwYWNrYWdlc10KKworICAgICAgICAgICAgZm9yIHBhY2thZ2UgaW4gcGFja2FnZXM6CisgICAgICAgICAgICAgICAgaWYgJzonIGluIHBhY2thZ2U6CisgICAgICAgICAgICAgICAgICAgIGRpcl8sIHBhY2thZ2UgPSBwYWNrYWdlLnNwbGl0KCc6JykKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5kaXN0LnBhY2thZ2VfZGlyW3BhY2thZ2VdID0gZGlyXworICAgICAgICAgICAgICAgIHNlbGYuZGlzdC5wYWNrYWdlcy5hcHBlbmQocGFja2FnZSkKKworICAgICAgICAgICAgc2VsZi5kaXN0LnB5X21vZHVsZXMgPSBmaWxlcy5nZXQoJ21vZHVsZXMnLCBbXSkKKyAgICAgICAgICAgIGlmIGlzaW5zdGFuY2Uoc2VsZi5kaXN0LnB5X21vZHVsZXMsIHN0cik6CisgICAgICAgICAgICAgICAgc2VsZi5kaXN0LnB5X21vZHVsZXMgPSBbc2VsZi5kaXN0LnB5X21vZHVsZXNdCisgICAgICAgICAgICBzZWxmLmRpc3Quc2NyaXB0cyA9IGZpbGVzLmdldCgnc2NyaXB0cycsIFtdKQorICAgICAgICAgICAgaWYgaXNpbnN0YW5jZShzZWxmLmRpc3Quc2NyaXB0cywgc3RyKToKKyAgICAgICAgICAgICAgICBzZWxmLmRpc3Quc2NyaXB0cyA9IFtzZWxmLmRpc3Quc2NyaXB0c10KKworICAgICAgICAgICAgc2VsZi5kaXN0LnBhY2thZ2VfZGF0YSA9IHt9CisgICAgICAgICAgICAjIGJvb2trZWVwaW5nIGZvciB0aGUgbG9vcCBiZWxvdworICAgICAgICAgICAgZmlyc3RsaW5lID0gVHJ1ZQorICAgICAgICAgICAgcHJldiA9IE5vbmUKKworICAgICAgICAgICAgZm9yIGxpbmUgaW4gZmlsZXMuZ2V0KCdwYWNrYWdlX2RhdGEnLCBbXSk6CisgICAgICAgICAgICAgICAgaWYgJz0nIGluIGxpbmU6CisgICAgICAgICAgICAgICAgICAgICMgcGFja2FnZSBuYW1lIC0tIGZpbGUgZ2xvYnMgb3Igc3BlY3MKKyAgICAgICAgICAgICAgICAgICAga2V5LCB2YWx1ZSA9IGxpbmUuc3BsaXQoJz0nKQorICAgICAgICAgICAgICAgICAgICBwcmV2ID0gc2VsZi5kaXN0LnBhY2thZ2VfZGF0YVtrZXkuc3RyaXAoKV0gPSB2YWx1ZS5zcGxpdCgpCisgICAgICAgICAgICAgICAgZWxpZiBmaXJzdGxpbmU6CisgICAgICAgICAgICAgICAgICAgICMgaW52YWxpZCBjb250aW51YXRpb24gb24gdGhlIGZpcnN0IGxpbmUKKyAgICAgICAgICAgICAgICAgICAgcmFpc2UgUGFja2FnaW5nT3B0aW9uRXJyb3IoCisgICAgICAgICAgICAgICAgICAgICAgICAnbWFsZm9ybWVkIHBhY2thZ2VfZGF0YSBmaXJzdCBsaW5lOiAlciAobWlzc2VzICI9IiknICUKKyAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUpCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgIyBjb250aW51YXRpb24sIGFkZCB0byBsYXN0IHNlZW4gcGFja2FnZSBuYW1lCisgICAgICAgICAgICAgICAgICAgIHByZXYuZXh0ZW5kKGxpbmUuc3BsaXQoKSkKKworICAgICAgICAgICAgICAgIGZpcnN0bGluZSA9IEZhbHNlCisKKyAgICAgICAgICAgIHNlbGYuZGlzdC5kYXRhX2ZpbGVzID0gW10KKyAgICAgICAgICAgIGZvciBkYXRhIGluIGZpbGVzLmdldCgnZGF0YV9maWxlcycsIFtdKToKKyAgICAgICAgICAgICAgICBkYXRhID0gZGF0YS5zcGxpdCgnPScpCisgICAgICAgICAgICAgICAgaWYgbGVuKGRhdGEpICE9IDI6CisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICAgICAga2V5LCB2YWx1ZSA9IGRhdGEKKyAgICAgICAgICAgICAgICB2YWx1ZXMgPSBbdi5zdHJpcCgpIGZvciB2IGluIHZhbHVlLnNwbGl0KCcsJyldCisgICAgICAgICAgICAgICAgc2VsZi5kaXN0LmRhdGFfZmlsZXMuYXBwZW5kKChrZXksIHZhbHVlcykpCisKKyAgICAgICAgICAgICMgbWFuaWZlc3QgdGVtcGxhdGUKKyAgICAgICAgICAgIHNlbGYuZGlzdC5leHRyYV9maWxlcyA9IGZpbGVzLmdldCgnZXh0cmFfZmlsZXMnLCBbXSkKKworICAgICAgICAgICAgcmVzb3VyY2VzID0gW10KKyAgICAgICAgICAgIGZvciBydWxlIGluIGZpbGVzLmdldCgncmVzb3VyY2VzJywgW10pOgorICAgICAgICAgICAgICAgIGdsb2IsIGRlc3RpbmF0aW9uID0gcnVsZS5zcGxpdCgnPScsIDEpCisgICAgICAgICAgICAgICAgcmljaF9nbG9iID0gZ2xvYi5zdHJpcCgpLnNwbGl0KCcgJywgMSkKKyAgICAgICAgICAgICAgICBpZiBsZW4ocmljaF9nbG9iKSA9PSAyOgorICAgICAgICAgICAgICAgICAgICBwcmVmaXgsIHN1ZmZpeCA9IHJpY2hfZ2xvYgorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIGFzc2VydCBsZW4ocmljaF9nbG9iKSA9PSAxCisgICAgICAgICAgICAgICAgICAgIHByZWZpeCA9ICcnCisgICAgICAgICAgICAgICAgICAgIHN1ZmZpeCA9IGdsb2IKKyAgICAgICAgICAgICAgICBpZiBkZXN0aW5hdGlvbiA9PSAnPGV4Y2x1ZGU+JzoKKyAgICAgICAgICAgICAgICAgICAgZGVzdGluYXRpb24gPSBOb25lCisgICAgICAgICAgICAgICAgcmVzb3VyY2VzLmFwcGVuZCgKKyAgICAgICAgICAgICAgICAgICAgKHByZWZpeC5zdHJpcCgpLCBzdWZmaXguc3RyaXAoKSwgZGVzdGluYXRpb24uc3RyaXAoKSkpCisgICAgICAgICAgICAgICAgc2VsZi5kaXN0LmRhdGFfZmlsZXMgPSBnZXRfcmVzb3VyY2VzX2Rlc3RzKAorICAgICAgICAgICAgICAgICAgICBjZmdfZGlyZWN0b3J5LCByZXNvdXJjZXMpCisKKyAgICAgICAgZXh0X21vZHVsZXMgPSBzZWxmLmRpc3QuZXh0X21vZHVsZXMKKyAgICAgICAgZm9yIHNlY3Rpb25fa2V5IGluIGNvbnRlbnQ6CisgICAgICAgICAgICAjIG5vIHN0ci5wYXJ0aXRpb24gaW4gMi40IDooCisgICAgICAgICAgICBsYWJlbHMgPSBzZWN0aW9uX2tleS5zcGxpdCgnOicpCisgICAgICAgICAgICBpZiBsZW4obGFiZWxzKSA9PSAyIGFuZCBsYWJlbHNbMF0gPT0gJ2V4dGVuc2lvbic6CisgICAgICAgICAgICAgICAgdmFsdWVzX2RjdCA9IGNvbnRlbnRbc2VjdGlvbl9rZXldCisgICAgICAgICAgICAgICAgaWYgJ25hbWUnIGluIHZhbHVlc19kY3Q6CisgICAgICAgICAgICAgICAgICAgIHJhaXNlIFBhY2thZ2luZ09wdGlvbkVycm9yKAorICAgICAgICAgICAgICAgICAgICAgICAgJ2V4dGVuc2lvbiBuYW1lIHNob3VsZCBiZSBnaXZlbiBhcyBbZXh0ZW5zaW9uOiBuYW1lXSwgJworICAgICAgICAgICAgICAgICAgICAgICAgJ25vdCBhcyBrZXknKQorICAgICAgICAgICAgICAgIG5hbWUgPSBsYWJlbHNbMV0uc3RyaXAoKQorICAgICAgICAgICAgICAgIF9jaGVja19uYW1lKG5hbWUsIHNlbGYuZGlzdC5wYWNrYWdlcykKKyAgICAgICAgICAgICAgICBleHRfbW9kdWxlcy5hcHBlbmQoRXh0ZW5zaW9uKAorICAgICAgICAgICAgICAgICAgICBuYW1lLAorICAgICAgICAgICAgICAgICAgICBfcG9wX3ZhbHVlcyh2YWx1ZXNfZGN0LCAnc291cmNlcycpLAorICAgICAgICAgICAgICAgICAgICBfcG9wX3ZhbHVlcyh2YWx1ZXNfZGN0LCAnaW5jbHVkZV9kaXJzJyksCisgICAgICAgICAgICAgICAgICAgIF9wb3BfdmFsdWVzKHZhbHVlc19kY3QsICdkZWZpbmVfbWFjcm9zJyksCisgICAgICAgICAgICAgICAgICAgIF9wb3BfdmFsdWVzKHZhbHVlc19kY3QsICd1bmRlZl9tYWNyb3MnKSwKKyAgICAgICAgICAgICAgICAgICAgX3BvcF92YWx1ZXModmFsdWVzX2RjdCwgJ2xpYnJhcnlfZGlycycpLAorICAgICAgICAgICAgICAgICAgICBfcG9wX3ZhbHVlcyh2YWx1ZXNfZGN0LCAnbGlicmFyaWVzJyksCisgICAgICAgICAgICAgICAgICAgIF9wb3BfdmFsdWVzKHZhbHVlc19kY3QsICdydW50aW1lX2xpYnJhcnlfZGlycycpLAorICAgICAgICAgICAgICAgICAgICBfcG9wX3ZhbHVlcyh2YWx1ZXNfZGN0LCAnZXh0cmFfb2JqZWN0cycpLAorICAgICAgICAgICAgICAgICAgICBfcG9wX3ZhbHVlcyh2YWx1ZXNfZGN0LCAnZXh0cmFfY29tcGlsZV9hcmdzJyksCisgICAgICAgICAgICAgICAgICAgIF9wb3BfdmFsdWVzKHZhbHVlc19kY3QsICdleHRyYV9saW5rX2FyZ3MnKSwKKyAgICAgICAgICAgICAgICAgICAgX3BvcF92YWx1ZXModmFsdWVzX2RjdCwgJ2V4cG9ydF9zeW1ib2xzJyksCisgICAgICAgICAgICAgICAgICAgIF9wb3BfdmFsdWVzKHZhbHVlc19kY3QsICdzd2lnX29wdHMnKSwKKyAgICAgICAgICAgICAgICAgICAgX3BvcF92YWx1ZXModmFsdWVzX2RjdCwgJ2RlcGVuZHMnKSwKKyAgICAgICAgICAgICAgICAgICAgdmFsdWVzX2RjdC5wb3AoJ2xhbmd1YWdlJywgTm9uZSksCisgICAgICAgICAgICAgICAgICAgIHZhbHVlc19kY3QucG9wKCdvcHRpb25hbCcsIE5vbmUpLAorICAgICAgICAgICAgICAgICAgICAqKnZhbHVlc19kY3QpKQorCisgICAgZGVmIHBhcnNlX2NvbmZpZ19maWxlcyhzZWxmLCBmaWxlbmFtZXM9Tm9uZSk6CisgICAgICAgIGlmIGZpbGVuYW1lcyBpcyBOb25lOgorICAgICAgICAgICAgZmlsZW5hbWVzID0gc2VsZi5maW5kX2NvbmZpZ19maWxlcygpCisKKyAgICAgICAgbG9nZ2VyLmRlYnVnKCJEaXN0cmlidXRpb24ucGFyc2VfY29uZmlnX2ZpbGVzKCk6IikKKworICAgICAgICBwYXJzZXIgPSBSYXdDb25maWdQYXJzZXIoKQorCisgICAgICAgIGZvciBmaWxlbmFtZSBpbiBmaWxlbmFtZXM6CisgICAgICAgICAgICBsb2dnZXIuZGVidWcoIiAgcmVhZGluZyAlcyIsIGZpbGVuYW1lKQorICAgICAgICAgICAgcGFyc2VyLnJlYWQoZmlsZW5hbWUsIGVuY29kaW5nPSd1dGYtOCcpCisKKyAgICAgICAgICAgIGlmIG9zLnBhdGguc3BsaXQoZmlsZW5hbWUpWy0xXSA9PSAnc2V0dXAuY2ZnJzoKKyAgICAgICAgICAgICAgICBzZWxmLl9yZWFkX3NldHVwX2NmZyhwYXJzZXIsIGZpbGVuYW1lKQorCisgICAgICAgICAgICBmb3Igc2VjdGlvbiBpbiBwYXJzZXIuc2VjdGlvbnMoKToKKyAgICAgICAgICAgICAgICBpZiBzZWN0aW9uID09ICdnbG9iYWwnOgorICAgICAgICAgICAgICAgICAgICBpZiBwYXJzZXIuaGFzX29wdGlvbignZ2xvYmFsJywgJ2NvbXBpbGVycycpOgorICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fbG9hZF9jb21waWxlcnMocGFyc2VyLmdldCgnZ2xvYmFsJywgJ2NvbXBpbGVycycpKQorCisgICAgICAgICAgICAgICAgICAgIGlmIHBhcnNlci5oYXNfb3B0aW9uKCdnbG9iYWwnLCAnY29tbWFuZHMnKToKKyAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX2xvYWRfY29tbWFuZHMocGFyc2VyLmdldCgnZ2xvYmFsJywgJ2NvbW1hbmRzJykpCisKKyAgICAgICAgICAgICAgICBvcHRpb25zID0gcGFyc2VyLm9wdGlvbnMoc2VjdGlvbikKKyAgICAgICAgICAgICAgICBvcHRfZGljdCA9IHNlbGYuZGlzdC5nZXRfb3B0aW9uX2RpY3Qoc2VjdGlvbikKKworICAgICAgICAgICAgICAgIGZvciBvcHQgaW4gb3B0aW9uczoKKyAgICAgICAgICAgICAgICAgICAgaWYgb3B0ID09ICdfX25hbWVfXyc6CisgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgICAgICAgICB2YWwgPSBwYXJzZXIuZ2V0KHNlY3Rpb24sIG9wdCkKKyAgICAgICAgICAgICAgICAgICAgb3B0ID0gb3B0LnJlcGxhY2UoJy0nLCAnXycpCisKKyAgICAgICAgICAgICAgICAgICAgaWYgb3B0ID09ICdzdWJfY29tbWFuZHMnOgorICAgICAgICAgICAgICAgICAgICAgICAgdmFsID0gc3BsaXRfbXVsdGlsaW5lKHZhbCkKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIGlzaW5zdGFuY2UodmFsLCBzdHIpOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbCA9IFt2YWxdCisKKyAgICAgICAgICAgICAgICAgICAgIyBIb29rcyB1c2UgYSBzdWZmaXggc3lzdGVtIHRvIHByZXZlbnQgYmVpbmcgb3ZlcnJpZGVuCisgICAgICAgICAgICAgICAgICAgICMgYnkgYSBjb25maWcgZmlsZSBwcm9jZXNzZWQgbGF0ZXIgKGkuZS4gYSBob29rIHNldCBpbgorICAgICAgICAgICAgICAgICAgICAjIHRoZSB1c2VyIGNvbmZpZyBmaWxlIGNhbm5vdCBiZSByZXBsYWNlZCBieSBhIGhvb2sKKyAgICAgICAgICAgICAgICAgICAgIyBzZXQgaW4gYSBwcm9qZWN0IGNvbmZpZyBmaWxlLCB1bmxlc3MgdGhleSBoYXZlIHRoZQorICAgICAgICAgICAgICAgICAgICAjIHNhbWUgc3VmZml4KS4KKyAgICAgICAgICAgICAgICAgICAgaWYgKG9wdC5zdGFydHN3aXRoKCJwcmVfaG9vay4iKSBvcgorICAgICAgICAgICAgICAgICAgICAgICAgb3B0LnN0YXJ0c3dpdGgoInBvc3RfaG9vay4iKSk6CisgICAgICAgICAgICAgICAgICAgICAgICBob29rX3R5cGUsIGFsaWFzID0gb3B0LnNwbGl0KCIuIikKKyAgICAgICAgICAgICAgICAgICAgICAgIGhvb2tfZGljdCA9IG9wdF9kaWN0LnNldGRlZmF1bHQoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaG9va190eXBlLCAoZmlsZW5hbWUsIHt9KSlbMV0KKyAgICAgICAgICAgICAgICAgICAgICAgIGhvb2tfZGljdFthbGlhc10gPSB2YWwKKyAgICAgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgICAgIG9wdF9kaWN0W29wdF0gPSBmaWxlbmFtZSwgdmFsCisKKyAgICAgICAgICAgICMgTWFrZSB0aGUgUmF3Q29uZmlnUGFyc2VyIGZvcmdldCBldmVyeXRoaW5nIChzbyB3ZSByZXRhaW4KKyAgICAgICAgICAgICMgdGhlIG9yaWdpbmFsIGZpbGVuYW1lcyB0aGF0IG9wdGlvbnMgY29tZSBmcm9tKQorICAgICAgICAgICAgcGFyc2VyLl9faW5pdF9fKCkKKworICAgICAgICAjIElmIHRoZXJlIHdhcyBhICJnbG9iYWwiIHNlY3Rpb24gaW4gdGhlIGNvbmZpZyBmaWxlLCB1c2UgaXQKKyAgICAgICAgIyB0byBzZXQgRGlzdHJpYnV0aW9uIG9wdGlvbnMuCisgICAgICAgIGlmICdnbG9iYWwnIGluIHNlbGYuZGlzdC5jb21tYW5kX29wdGlvbnM6CisgICAgICAgICAgICBmb3Igb3B0LCAoc3JjLCB2YWwpIGluIHNlbGYuZGlzdC5jb21tYW5kX29wdGlvbnNbJ2dsb2JhbCddLml0ZW1zKCk6CisgICAgICAgICAgICAgICAgYWxpYXMgPSBzZWxmLmRpc3QubmVnYXRpdmVfb3B0LmdldChvcHQpCisgICAgICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgICAgICBpZiBhbGlhczoKKyAgICAgICAgICAgICAgICAgICAgICAgIHNldGF0dHIoc2VsZi5kaXN0LCBhbGlhcywgbm90IHN0cnRvYm9vbCh2YWwpKQorICAgICAgICAgICAgICAgICAgICBlbGlmIG9wdCA9PSAnZHJ5X3J1bic6ICAjIEZJWE1FIHVnaCEKKyAgICAgICAgICAgICAgICAgICAgICAgIHNldGF0dHIoc2VsZi5kaXN0LCBvcHQsIHN0cnRvYm9vbCh2YWwpKQorICAgICAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICAgICAgc2V0YXR0cihzZWxmLmRpc3QsIG9wdCwgdmFsKQorICAgICAgICAgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yIGFzIG1zZzoKKyAgICAgICAgICAgICAgICAgICAgcmFpc2UgUGFja2FnaW5nT3B0aW9uRXJyb3IobXNnKQorCisgICAgZGVmIF9sb2FkX2NvbXBpbGVycyhzZWxmLCBjb21waWxlcnMpOgorICAgICAgICBjb21waWxlcnMgPSBzcGxpdF9tdWx0aWxpbmUoY29tcGlsZXJzKQorICAgICAgICBpZiBpc2luc3RhbmNlKGNvbXBpbGVycywgc3RyKToKKyAgICAgICAgICAgIGNvbXBpbGVycyA9IFtjb21waWxlcnNdCisgICAgICAgIGZvciBjb21waWxlciBpbiBjb21waWxlcnM6CisgICAgICAgICAgICBzZXRfY29tcGlsZXIoY29tcGlsZXIuc3RyaXAoKSkKKworICAgIGRlZiBfbG9hZF9jb21tYW5kcyhzZWxmLCBjb21tYW5kcyk6CisgICAgICAgIGNvbW1hbmRzID0gc3BsaXRfbXVsdGlsaW5lKGNvbW1hbmRzKQorICAgICAgICBpZiBpc2luc3RhbmNlKGNvbW1hbmRzLCBzdHIpOgorICAgICAgICAgICAgY29tbWFuZHMgPSBbY29tbWFuZHNdCisgICAgICAgIGZvciBjb21tYW5kIGluIGNvbW1hbmRzOgorICAgICAgICAgICAgc2V0X2NvbW1hbmQoY29tbWFuZC5zdHJpcCgpKQpkaWZmIC0tZ2l0IGEvTGliL3BhY2thZ2luZy9jcmVhdGUucHkgYi9MaWIvcGFja2FnaW5nL2NyZWF0ZS5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZDQ1Y2E5Ci0tLSAvZGV2L251bGwKKysrIGIvTGliL3BhY2thZ2luZy9jcmVhdGUucHkKQEAgLTAsMCArMSw2ODIgQEAKKyIiIkludGVyYWN0aXZlIGhlbHBlciB1c2VkIHRvIGNyZWF0ZSBhIHNldHVwLmNmZyBmaWxlLgorCitUaGlzIHNjcmlwdCB3aWxsIGdlbmVyYXRlIGEgcGFja2FnaW5nIGNvbmZpZ3VyYXRpb24gZmlsZSBieSBsb29raW5nIGF0Cit0aGUgY3VycmVudCBkaXJlY3RvcnkgYW5kIGFza2luZyB0aGUgdXNlciBxdWVzdGlvbnMuICBJdCBpcyBpbnRlbmRlZCB0bworYmUgY2FsbGVkIGFzICpweXNldHVwIGNyZWF0ZSouCisiIiIKKworIyAgT3JpZ2luYWwgY29kZSBieSBTZWFuIFJlaWZzY2huZWlkZXIgPGphZm9AdHVtbXkuY29tPgorCisjICBPcmlnaW5hbCBUT0RPIGxpc3Q6CisjICBMb29rIGZvciBhIGxpY2Vuc2UgZmlsZSBhbmQgYXV0b21hdGljYWxseSBhZGQgdGhlIGNhdGVnb3J5LgorIyAgV2hlbiBhIC5jIGZpbGUgaXMgZm91bmQgZHVyaW5nIHRoZSB3YWxrLCBjYW4gd2UgYWRkIGl0IGFzIGFuIGV4dGVuc2lvbj8KKyMgIEFzayBpZiB0aGVyZSBpcyBhIG1haW50YWluZXIgZGlmZmVyZW50IHRoYXQgdGhlIGF1dGhvcgorIyAgQXNrIGZvciB0aGUgcGxhdGZvcm0gKGNhbiB3ZSBkZXRlY3QgdGhpcyB2aWEgImltcG9ydCB3aW4zMiIgb3Igc29tZXRoaW5nPykKKyMgIEFzayBmb3IgdGhlIGRlcGVuZGVuY2llcy4KKyMgIEFzayBmb3IgdGhlIFJlcXVpcmVzLURpc3QKKyMgIEFzayBmb3IgdGhlIFByb3ZpZGVzLURpc3QKKyMgIEFzayBmb3IgYSBkZXNjcmlwdGlvbgorIyAgRGV0ZWN0IHNjcmlwdHMgKG5vdCBzdXJlIGhvdy4gICMhIG91dHNpZGUgb2YgcGFja2FnZT8pCisKK2ltcG9ydCBvcworaW1wb3J0IHJlCitpbXBvcnQgaW1wCitpbXBvcnQgc3lzCitpbXBvcnQgZ2xvYgoraW1wb3J0IHNodXRpbAoraW1wb3J0IHN5c2NvbmZpZworZnJvbSBoYXNobGliIGltcG9ydCBtZDUKK2Zyb20gdGV4dHdyYXAgaW1wb3J0IGRlZGVudAorZnJvbSB0b2tlbml6ZSBpbXBvcnQgZGV0ZWN0X2VuY29kaW5nCitmcm9tIGNvbmZpZ3BhcnNlciBpbXBvcnQgUmF3Q29uZmlnUGFyc2VyCisKK2Zyb20gcGFja2FnaW5nIGltcG9ydCBsb2dnZXIKKyMgaW1wb3J0aW5nIHRoaXMgd2l0aCBhbiB1bmRlcnNjb3JlIGFzIGl0IHNob3VsZCBiZSByZXBsYWNlZCBieSB0aGUKKyMgZGljdCBmb3JtIG9yIGFub3RoZXIgc3RydWN0dXJlcyBmb3IgYWxsIHB1cnBvc2VzCitmcm9tIHBhY2thZ2luZy5fdHJvdmUgaW1wb3J0IGFsbF9jbGFzc2lmaWVycyBhcyBfQ0xBU1NJRklFUlNfTElTVAorZnJvbSBwYWNrYWdpbmcudmVyc2lvbiBpbXBvcnQgaXNfdmFsaWRfdmVyc2lvbgorCitfRklMRU5BTUUgPSAnc2V0dXAuY2ZnJworX0RFRkFVTFRfQ0ZHID0gJy5weXBrZ2NyZWF0ZScgICMgRklYTUUgdXNlIGEgc2VjdGlvbiBpbiB1c2VyIC5weWRpc3R1dGlscy5jZmcKKworX2hlbHB0ZXh0ID0geworICAgICduYW1lJzogJycnCitUaGUgbmFtZSBvZiB0aGUgcHJvamVjdCB0byBiZSBwYWNrYWdlZCwgdXN1YWxseSBhIHNpbmdsZSB3b3JkIGNvbXBvc2VkCitvZiBsb3dlci1jYXNlIGNoYXJhY3RlcnMgc3VjaCBhcyAiem9wZS5pbnRlcmZhY2UiLCAic3FsYWxjaGVteSIgb3IKKyJDaGVycnlQeSIuCisnJycsCisgICAgJ3ZlcnNpb24nOiAnJycKK1ZlcnNpb24gbnVtYmVyIG9mIHRoZSBzb2Z0d2FyZSwgdHlwaWNhbGx5IDIgb3IgMyBudW1iZXJzIHNlcGFyYXRlZCBieQorZG90cyBzdWNoIGFzICIxLjAiLCAiMC42YjMiLCBvciAiMy4yLjEiLiAgIjAuMS4wIiBpcyByZWNvbW1lbmRlZCBmb3IKK2luaXRpYWwgZGV2ZWxvcG1lbnQuCisnJycsCisgICAgJ3N1bW1hcnknOiAnJycKK0Egb25lLWxpbmUgc3VtbWFyeSBvZiB3aGF0IHRoaXMgcHJvamVjdCBpcyBvciBkb2VzLCB0eXBpY2FsbHkgYSBzZW50ZW5jZQorODAgY2hhcmFjdGVycyBvciBsZXNzIGluIGxlbmd0aC4KKycnJywKKyAgICAnYXV0aG9yJzogJycnCitUaGUgZnVsbCBuYW1lIG9mIHRoZSBhdXRob3IgKHR5cGljYWxseSB5b3UpLgorJycnLAorICAgICdhdXRob3JfZW1haWwnOiAnJycKK0VtYWlsIGFkZHJlc3Mgb2YgdGhlIHByb2plY3QgYXV0aG9yLgorJycnLAorICAgICdkb19jbGFzc2lmaWVyJzogJycnCitUcm92ZSBjbGFzc2lmaWVycyBhcmUgb3B0aW9uYWwgaWRlbnRpZmllcnMgdGhhdCBhbGxvdyB5b3UgdG8gc3BlY2lmeSB0aGUKK2ludGVuZGVkIGF1ZGllbmNlIGJ5IHNheWluZyB0aGluZ3MgbGlrZSAiQmV0YSBzb2Z0d2FyZSB3aXRoIGEgdGV4dCBVSQorZm9yIExpbnV4IHVuZGVyIHRoZSBQU0YgbGljZW5zZSIuICBIb3dldmVyLCB0aGlzIGNhbiBiZSBhIHNvbWV3aGF0CitpbnZvbHZlZCBwcm9jZXNzLgorJycnLAorICAgICdwYWNrYWdlcyc6ICcnJworUHl0aG9uIHBhY2thZ2VzIGluY2x1ZGVkIGluIHRoZSBwcm9qZWN0LgorJycnLAorICAgICdtb2R1bGVzJzogJycnCitQdXJlIFB5dGhvbiBtb2R1bGVzIGluY2x1ZGVkIGluIHRoZSBwcm9qZWN0LgorJycnLAorICAgICdleHRyYV9maWxlcyc6ICcnJworWW91IGNhbiBwcm92aWRlIGV4dHJhIGZpbGVzL2RpcnMgY29udGFpbmVkIGluIHlvdXIgcHJvamVjdC4KK0l0IGhhcyB0byBmb2xsb3cgdGhlIHRlbXBsYXRlIHN5bnRheC4gWFhYIGFkZCBoZWxwIGhlcmUuCisnJycsCisKKyAgICAnaG9tZV9wYWdlJzogJycnCitUaGUgaG9tZSBwYWdlIGZvciB0aGUgcHJvamVjdCwgdHlwaWNhbGx5IGEgcHVibGljIFdlYiBwYWdlLgorJycnLAorICAgICd0cm92ZV9saWNlbnNlJzogJycnCitPcHRpb25hbGx5IHlvdSBjYW4gc3BlY2lmeSBhIGxpY2Vuc2UuICBUeXBlIGEgc3RyaW5nIHRoYXQgaWRlbnRpZmllcyBhCitjb21tb24gbGljZW5zZSwgYW5kIHRoZW4geW91IGNhbiBzZWxlY3QgYSBsaXN0IG9mIGxpY2Vuc2Ugc3BlY2lmaWVycy4KKycnJywKKyAgICAndHJvdmVfZ2VuZXJpYyc6ICcnJworT3B0aW9uYWxseSwgeW91IGNhbiBzZXQgb3RoZXIgdHJvdmUgaWRlbnRpZmllcnMgZm9yIHRoaW5ncyBzdWNoIGFzIHRoZQoraHVtYW4gbGFuZ3VhZ2UsIHByb2dyYW1taW5nIGxhbmd1YWdlLCB1c2VyIGludGVyZmFjZSwgZXRjLgorJycnLAorICAgICdzZXR1cC5weSBmb3VuZCc6ICcnJworVGhlIHNldHVwLnB5IHNjcmlwdCB3aWxsIGJlIGV4ZWN1dGVkIHRvIHJldHJpZXZlIHRoZSBtZXRhZGF0YS4KK0FuIGludGVyYWN0aXZlIGhlbHBlciB3aWxsIGJlIHJ1biBpZiB5b3UgYW5zd2VyICJuIiwKKycnJywKK30KKworUFJPSkVDVF9NQVRVUklUWSA9IFsnRGV2ZWxvcG1lbnQgU3RhdHVzIDo6IDEgLSBQbGFubmluZycsCisgICAgICAgICAgICAgICAgICAgICdEZXZlbG9wbWVudCBTdGF0dXMgOjogMiAtIFByZS1BbHBoYScsCisgICAgICAgICAgICAgICAgICAgICdEZXZlbG9wbWVudCBTdGF0dXMgOjogMyAtIEFscGhhJywKKyAgICAgICAgICAgICAgICAgICAgJ0RldmVsb3BtZW50IFN0YXR1cyA6OiA0IC0gQmV0YScsCisgICAgICAgICAgICAgICAgICAgICdEZXZlbG9wbWVudCBTdGF0dXMgOjogNSAtIFByb2R1Y3Rpb24vU3RhYmxlJywKKyAgICAgICAgICAgICAgICAgICAgJ0RldmVsb3BtZW50IFN0YXR1cyA6OiA2IC0gTWF0dXJlJywKKyAgICAgICAgICAgICAgICAgICAgJ0RldmVsb3BtZW50IFN0YXR1cyA6OiA3IC0gSW5hY3RpdmUnXQorCisjIFhYWCBldmVyeXRoaW5nIG5lZWRzIGRvY3N0cmluZ3MgYW5kIHRlc3RzIChib3RoIGxvdy1sZXZlbCB0ZXN0cyBvZiB2YXJpb3VzCisjIG1ldGhvZHMgYW5kIGZ1bmN0aW9uYWwgdGVzdHMgb2YgcnVubmluZyB0aGUgc2NyaXB0KQorCisKK2RlZiBsb2FkX3NldHVwKCk6CisgICAgIiIicnVuIHRoZSBzZXR1cCBzY3JpcHQgKGkuZSB0aGUgc2V0dXAucHkgZmlsZSkKKworICAgIFRoaXMgZnVuY3Rpb24gbG9hZCB0aGUgc2V0dXAgZmlsZSBpbiBhbGwgY2FzZXMgKGV2ZW4gaWYgaXQgaGF2ZSBhbHJlYWR5CisgICAgYmVlbiBsb2FkZWQgYmVmb3JlLCBiZWNhdXNlIHdlIGFyZSBtb25rZXkgcGF0Y2hpbmcgaXRzIHNldHVwIGZ1bmN0aW9uIHdpdGgKKyAgICBhIHBhcnRpY3VsYXIgb25lIiIiCisgICAgd2l0aCBvcGVuKCJzZXR1cC5weSIsICJyYiIpIGFzIGY6CisgICAgICAgIGVuY29kaW5nLCBsaW5lcyA9IGRldGVjdF9lbmNvZGluZyhmLnJlYWRsaW5lKQorICAgIHdpdGggb3Blbigic2V0dXAucHkiLCBlbmNvZGluZz1lbmNvZGluZykgYXMgZjoKKyAgICAgICAgaW1wLmxvYWRfbW9kdWxlKCJzZXR1cCIsIGYsICJzZXR1cC5weSIsICgiLnB5IiwgInIiLCBpbXAuUFlfU09VUkNFKSkKKworCitkZWYgYXNrX3luKHF1ZXN0aW9uLCBkZWZhdWx0PU5vbmUsIGhlbHB0ZXh0PU5vbmUpOgorICAgIHF1ZXN0aW9uICs9ICcgKHkvbiknCisgICAgd2hpbGUgVHJ1ZToKKyAgICAgICAgYW5zd2VyID0gYXNrKHF1ZXN0aW9uLCBkZWZhdWx0LCBoZWxwdGV4dCwgcmVxdWlyZWQ9VHJ1ZSkKKyAgICAgICAgaWYgYW5zd2VyIGFuZCBhbnN3ZXJbMF0ubG93ZXIoKSBpbiAoJ3knLCAnbicpOgorICAgICAgICAgICAgcmV0dXJuIGFuc3dlclswXS5sb3dlcigpCisKKyAgICAgICAgbG9nZ2VyLmVycm9yKCdZb3UgbXVzdCBzZWxlY3QgIlkiIG9yICJOIi4nKQorCisKKyMgWFhYIHVzZSB1dGlsLmFzaworIyBGSVhNRTogaWYgcHJvbXB0IGVuZHMgd2l0aCAnPycsIGRvbid0IGFkZCAnOicKKworCitkZWYgYXNrKHF1ZXN0aW9uLCBkZWZhdWx0PU5vbmUsIGhlbHB0ZXh0PU5vbmUsIHJlcXVpcmVkPVRydWUsCisgICAgICAgIGxlbmd0aHk9RmFsc2UsIG11bHRpbGluZT1GYWxzZSk6CisgICAgcHJvbXB0ID0gJyVzOiAnICUgKHF1ZXN0aW9uLCkKKyAgICBpZiBkZWZhdWx0OgorICAgICAgICBwcm9tcHQgPSAnJXMgWyVzXTogJyAlIChxdWVzdGlvbiwgZGVmYXVsdCkKKyAgICAgICAgaWYgZGVmYXVsdCBhbmQgbGVuKHF1ZXN0aW9uKSArIGxlbihkZWZhdWx0KSA+IDcwOgorICAgICAgICAgICAgcHJvbXB0ID0gJyVzXG4gICAgWyVzXTogJyAlIChxdWVzdGlvbiwgZGVmYXVsdCkKKyAgICBpZiBsZW5ndGh5IG9yIG11bHRpbGluZToKKyAgICAgICAgcHJvbXB0ICs9ICdcbiAgID4gJworCisgICAgaWYgbm90IGhlbHB0ZXh0OgorICAgICAgICBoZWxwdGV4dCA9ICdObyBhZGRpdGlvbmFsIGhlbHAgYXZhaWxhYmxlLicKKworICAgIGhlbHB0ZXh0ID0gaGVscHRleHQuc3RyaXAoIlxuIikKKworICAgIHdoaWxlIFRydWU6CisgICAgICAgIGxpbmUgPSBpbnB1dChwcm9tcHQpLnN0cmlwKCkKKyAgICAgICAgaWYgbGluZSA9PSAnPyc6CisgICAgICAgICAgICBwcmludCgnPScgKiA3MCkKKyAgICAgICAgICAgIHByaW50KGhlbHB0ZXh0KQorICAgICAgICAgICAgcHJpbnQoJz0nICogNzApCisgICAgICAgICAgICBjb250aW51ZQorICAgICAgICBpZiBkZWZhdWx0IGFuZCBub3QgbGluZToKKyAgICAgICAgICAgIHJldHVybiBkZWZhdWx0CisgICAgICAgIGlmIG5vdCBsaW5lIGFuZCByZXF1aXJlZDoKKyAgICAgICAgICAgIHByaW50KCcqJyAqIDcwKQorICAgICAgICAgICAgcHJpbnQoJ1RoaXMgdmFsdWUgY2Fubm90IGJlIGVtcHR5LicpCisgICAgICAgICAgICBwcmludCgnPT09PT09PT09PT09PT09PT09PT09PT09PT09JykKKyAgICAgICAgICAgIGlmIGhlbHB0ZXh0OgorICAgICAgICAgICAgICAgIHByaW50KGhlbHB0ZXh0KQorICAgICAgICAgICAgcHJpbnQoJyonICogNzApCisgICAgICAgICAgICBjb250aW51ZQorICAgICAgICByZXR1cm4gbGluZQorCisKK2RlZiBjb252ZXJ0X3luX3RvX2Jvb2woeW4sIHllcz1UcnVlLCBubz1GYWxzZSk6CisgICAgIiIiQ29udmVydCBhIHkveWVzIG9yIG4vbm8gdG8gYSBib29sZWFuIHZhbHVlLiIiIgorICAgIGlmIHluLmxvd2VyKCkuc3RhcnRzd2l0aCgneScpOgorICAgICAgICByZXR1cm4geWVzCisgICAgZWxzZToKKyAgICAgICAgcmV0dXJuIG5vCisKKworZGVmIF9idWlsZF9jbGFzc2lmaWVyc19kaWN0KGNsYXNzaWZpZXJzKToKKyAgICBkID0ge30KKyAgICBmb3Iga2V5IGluIGNsYXNzaWZpZXJzOgorICAgICAgICBzdWJkaWN0ID0gZAorICAgICAgICBmb3Igc3Via2V5IGluIGtleS5zcGxpdCgnIDo6ICcpOgorICAgICAgICAgICAgaWYgc3Via2V5IG5vdCBpbiBzdWJkaWN0OgorICAgICAgICAgICAgICAgIHN1YmRpY3Rbc3Via2V5XSA9IHt9CisgICAgICAgICAgICBzdWJkaWN0ID0gc3ViZGljdFtzdWJrZXldCisgICAgcmV0dXJuIGQKKworQ0xBU1NJRklFUlMgPSBfYnVpbGRfY2xhc3NpZmllcnNfZGljdChfQ0xBU1NJRklFUlNfTElTVCkKKworCitkZWYgX2J1aWxkX2xpY2VuY2VzKGNsYXNzaWZpZXJzKToKKyAgICByZXMgPSBbXQorICAgIGZvciBpbmRleCwgaXRlbSBpbiBlbnVtZXJhdGUoY2xhc3NpZmllcnMpOgorICAgICAgICBpZiBub3QgaXRlbS5zdGFydHN3aXRoKCdMaWNlbnNlIDo6ICcpOgorICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgcmVzLmFwcGVuZCgoaW5kZXgsIGl0ZW0uc3BsaXQoJyA6OiAnKVstMV0ubG93ZXIoKSkpCisgICAgcmV0dXJuIHJlcworCitMSUNFTkNFUyA9IF9idWlsZF9saWNlbmNlcyhfQ0xBU1NJRklFUlNfTElTVCkKKworCitjbGFzcyBNYWluUHJvZ3JhbToKKyAgICAiIiJNYWtlIGEgcHJvamVjdCBzZXR1cCBjb25maWd1cmF0aW9uIGZpbGUgKHNldHVwLmNmZykuIiIiCisKKyAgICBkZWYgX19pbml0X18oc2VsZik6CisgICAgICAgIHNlbGYuY29uZmlncGFyc2VyID0gTm9uZQorICAgICAgICBzZWxmLmNsYXNzaWZpZXJzID0gc2V0KCkKKyAgICAgICAgc2VsZi5kYXRhID0geyduYW1lJzogJycsCisgICAgICAgICAgICAgICAgICAgICAndmVyc2lvbic6ICcxLjAuMCcsCisgICAgICAgICAgICAgICAgICAgICAnY2xhc3NpZmllcic6IHNlbGYuY2xhc3NpZmllcnMsCisgICAgICAgICAgICAgICAgICAgICAncGFja2FnZXMnOiBbXSwKKyAgICAgICAgICAgICAgICAgICAgICdtb2R1bGVzJzogW10sCisgICAgICAgICAgICAgICAgICAgICAncGxhdGZvcm0nOiBbXSwKKyAgICAgICAgICAgICAgICAgICAgICdyZXNvdXJjZXMnOiBbXSwKKyAgICAgICAgICAgICAgICAgICAgICdleHRyYV9maWxlcyc6IFtdLAorICAgICAgICAgICAgICAgICAgICAgJ3NjcmlwdHMnOiBbXSwKKyAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgc2VsZi5fbG9hZF9kZWZhdWx0cygpCisKKyAgICBkZWYgX19jYWxsX18oc2VsZik6CisgICAgICAgIHNldHVwY2ZnX2RlZmluZWQgPSBGYWxzZQorICAgICAgICBpZiBzZWxmLmhhc19zZXR1cF9weSgpIGFuZCBzZWxmLl9wcm9tcHRfdXNlcl9mb3JfY29udmVyc2lvbigpOgorICAgICAgICAgICAgc2V0dXBjZmdfZGVmaW5lZCA9IHNlbGYuY29udmVydF9weV90b19jZmcoKQorICAgICAgICBpZiBub3Qgc2V0dXBjZmdfZGVmaW5lZDoKKyAgICAgICAgICAgIHNlbGYuZGVmaW5lX2NmZ192YWx1ZXMoKQorICAgICAgICBzZWxmLl93cml0ZV9jZmcoKQorCisgICAgZGVmIGhhc19zZXR1cF9weShzZWxmKToKKyAgICAgICAgIiIiVGVzdCBmb3IgdGhlIGV4aXN0ZW5jZSBvZiBhIHNldHVwLnB5IGZpbGUuIiIiCisgICAgICAgIHJldHVybiBvcy5wYXRoLmV4aXN0cygnc2V0dXAucHknKQorCisgICAgZGVmIGRlZmluZV9jZmdfdmFsdWVzKHNlbGYpOgorICAgICAgICBzZWxmLmluc3BlY3QoKQorICAgICAgICBzZWxmLnF1ZXJ5X3VzZXIoKQorCisgICAgZGVmIF9sb29rdXBfb3B0aW9uKHNlbGYsIGtleSk6CisgICAgICAgIGlmIG5vdCBzZWxmLmNvbmZpZ3BhcnNlci5oYXNfb3B0aW9uKCdERUZBVUxUJywga2V5KToKKyAgICAgICAgICAgIHJldHVybiBOb25lCisgICAgICAgIHJldHVybiBzZWxmLmNvbmZpZ3BhcnNlci5nZXQoJ0RFRkFVTFQnLCBrZXkpCisKKyAgICBkZWYgX2xvYWRfZGVmYXVsdHMoc2VsZik6CisgICAgICAgICMgTG9hZCBkZWZhdWx0IHZhbHVlcyBmcm9tIGEgdXNlciBjb25maWd1cmF0aW9uIGZpbGUKKyAgICAgICAgc2VsZi5jb25maWdwYXJzZXIgPSBSYXdDb25maWdQYXJzZXIoKQorICAgICAgICAjIFRPRE8gcmVwbGFjZSB3aXRoIHNlY3Rpb24gaW4gZGlzdHV0aWxzIGNvbmZpZyBmaWxlCisgICAgICAgIGRlZmF1bHRfY2ZnID0gb3MucGF0aC5leHBhbmR1c2VyKG9zLnBhdGguam9pbignficsIF9ERUZBVUxUX0NGRykpCisgICAgICAgIHNlbGYuY29uZmlncGFyc2VyLnJlYWQoZGVmYXVsdF9jZmcpCisgICAgICAgIHNlbGYuZGF0YVsnYXV0aG9yJ10gPSBzZWxmLl9sb29rdXBfb3B0aW9uKCdhdXRob3InKQorICAgICAgICBzZWxmLmRhdGFbJ2F1dGhvcl9lbWFpbCddID0gc2VsZi5fbG9va3VwX29wdGlvbignYXV0aG9yX2VtYWlsJykKKworICAgIGRlZiBfcHJvbXB0X3VzZXJfZm9yX2NvbnZlcnNpb24oc2VsZik6CisgICAgICAgICMgUHJvbXB0IHRoZSB1c2VyIGFib3V0IHdoZXRoZXIgdGhleSB3b3VsZCBsaWtlIHRvIHVzZSB0aGUgc2V0dXAucHkKKyAgICAgICAgIyBjb252ZXJzaW9uIHV0aWxpdHkgdG8gZ2VuZXJhdGUgYSBzZXR1cC5jZmcgb3IgZ2VuZXJhdGUgdGhlIHNldHVwLmNmZworICAgICAgICAjIGZyb20gc2NyYXRjaAorICAgICAgICBhbnN3ZXIgPSBhc2tfeW4oKCdBIGxlZ2FjeSBzZXR1cC5weSBoYXMgYmVlbiBmb3VuZC5cbicKKyAgICAgICAgICAgICAgICAgICAgICAgICAnV291bGQgeW91IGxpa2UgdG8gY29udmVydCBpdCB0byBhIHNldHVwLmNmZz8nKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ9InkiLAorICAgICAgICAgICAgICAgICAgICAgICAgaGVscHRleHQ9X2hlbHB0ZXh0WydzZXR1cC5weSBmb3VuZCddKQorICAgICAgICByZXR1cm4gY29udmVydF95bl90b19ib29sKGFuc3dlcikKKworICAgIGRlZiBfZG90dGVkX3BhY2thZ2VzKHNlbGYsIGRhdGEpOgorICAgICAgICBwYWNrYWdlcyA9IHNvcnRlZChkYXRhKQorICAgICAgICBtb2RpZmllZF9wa2dzID0gW10KKyAgICAgICAgZm9yIHBrZyBpbiBwYWNrYWdlczoKKyAgICAgICAgICAgIHBrZyA9IHBrZy5sc3RyaXAoJy4vJykKKyAgICAgICAgICAgIHBrZyA9IHBrZy5yZXBsYWNlKCcvJywgJy4nKQorICAgICAgICAgICAgbW9kaWZpZWRfcGtncy5hcHBlbmQocGtnKQorICAgICAgICByZXR1cm4gbW9kaWZpZWRfcGtncworCisgICAgZGVmIF93cml0ZV9jZmcoc2VsZik6CisgICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKF9GSUxFTkFNRSk6CisgICAgICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cygnJXMub2xkJyAlIF9GSUxFTkFNRSk6CisgICAgICAgICAgICAgICAgbWVzc2FnZSA9ICgiRVJST1I6ICUobmFtZSlzLm9sZCBiYWNrdXAgZXhpc3RzLCBwbGVhc2UgY2hlY2sgIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgInRoYXQgY3VycmVudCAlKG5hbWUpcyBpcyBjb3JyZWN0IGFuZCByZW1vdmUgIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIiUobmFtZSlzLm9sZCIgJSB7J25hbWUnOiBfRklMRU5BTUV9KQorICAgICAgICAgICAgICAgIGxvZ2dlci5lcnJvcihtZXNzYWdlKQorICAgICAgICAgICAgICAgIHJldHVybgorICAgICAgICAgICAgc2h1dGlsLm1vdmUoX0ZJTEVOQU1FLCAnJXMub2xkJyAlIF9GSUxFTkFNRSkKKworICAgICAgICB3aXRoIG9wZW4oX0ZJTEVOQU1FLCAndycsIGVuY29kaW5nPSd1dGYtOCcpIGFzIGZwOgorICAgICAgICAgICAgZnAud3JpdGUoJ1ttZXRhZGF0YV1cbicpCisgICAgICAgICAgICAjIFRPRE8gdXNlIG1ldGFkYXRhIG1vZHVsZSBpbnN0ZWFkIG9mIGhhcmQtY29kaW5nIGZpZWxkLXNwZWNpZmljCisgICAgICAgICAgICAjIGJlaGF2aW9yIGhlcmUKKworICAgICAgICAgICAgIyBzaW1wbGUgc3RyaW5nIGVudHJpZXMKKyAgICAgICAgICAgIGZvciBuYW1lIGluICgnbmFtZScsICd2ZXJzaW9uJywgJ3N1bW1hcnknLCAnZG93bmxvYWRfdXJsJyk6CisgICAgICAgICAgICAgICAgZnAud3JpdGUoJyVzID0gJXNcbicgJSAobmFtZSwgc2VsZi5kYXRhLmdldChuYW1lLCAnVU5LTk9XTicpKSkKKworICAgICAgICAgICAgIyBvcHRpb25hbCBzdHJpbmcgZW50cmllcworICAgICAgICAgICAgaWYgJ2tleXdvcmRzJyBpbiBzZWxmLmRhdGEgYW5kIHNlbGYuZGF0YVsna2V5d29yZHMnXToKKyAgICAgICAgICAgICAgICAjIFhYWCBzaG91ZCB1c2UgY29tbWEgdG8gc2VwYXJhdGUsIG5vdCBzcGFjZQorICAgICAgICAgICAgICAgIGZwLndyaXRlKCdrZXl3b3JkcyA9ICVzXG4nICUgJyAnLmpvaW4oc2VsZi5kYXRhWydrZXl3b3JkcyddKSkKKyAgICAgICAgICAgIGZvciBuYW1lIGluICgnaG9tZV9wYWdlJywgJ2F1dGhvcicsICdhdXRob3JfZW1haWwnLAorICAgICAgICAgICAgICAgICAgICAgICAgICdtYWludGFpbmVyJywgJ21haW50YWluZXJfZW1haWwnLCAnZGVzY3JpcHRpb24tZmlsZScpOgorICAgICAgICAgICAgICAgIGlmIG5hbWUgaW4gc2VsZi5kYXRhIGFuZCBzZWxmLmRhdGFbbmFtZV06CisgICAgICAgICAgICAgICAgICAgIGZwLndyaXRlKCclcyA9ICVzXG4nICUgKG5hbWUsIHNlbGYuZGF0YVtuYW1lXSkpCisgICAgICAgICAgICBpZiAnZGVzY3JpcHRpb24nIGluIHNlbGYuZGF0YToKKyAgICAgICAgICAgICAgICBmcC53cml0ZSgKKyAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uID0gJXNcbicKKyAgICAgICAgICAgICAgICAgICAgJSAnXG4gICAgICAgfCcuam9pbihzZWxmLmRhdGFbJ2Rlc2NyaXB0aW9uJ10uc3BsaXQoJ1xuJykpKQorCisgICAgICAgICAgICAjIG11bHRpcGxlIHVzZSBzdHJpbmcgZW50cmllcworICAgICAgICAgICAgZm9yIG5hbWUgaW4gKCdwbGF0Zm9ybScsICdzdXBwb3J0ZWQtcGxhdGZvcm0nLCAnY2xhc3NpZmllcicsCisgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVzLWRpc3QnLCAncHJvdmlkZXMtZGlzdCcsICdvYnNvbGV0ZXMtZGlzdCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVzLWV4dGVybmFsJyk6CisgICAgICAgICAgICAgICAgaWYgbm90KG5hbWUgaW4gc2VsZi5kYXRhIGFuZCBzZWxmLmRhdGFbbmFtZV0pOgorICAgICAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgICAgIGZwLndyaXRlKCclcyA9ICcgJSBuYW1lKQorICAgICAgICAgICAgICAgIGZwLndyaXRlKCcnLmpvaW4oJyAgICAlc1xuJyAlIHZhbAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHZhbCBpbiBzZWxmLmRhdGFbbmFtZV0pLmxzdHJpcCgpKQorCisgICAgICAgICAgICBmcC53cml0ZSgnXG5bZmlsZXNdXG4nKQorCisgICAgICAgICAgICBmb3IgbmFtZSBpbiAoJ3BhY2thZ2VzJywgJ21vZHVsZXMnLCAnc2NyaXB0cycsICdleHRyYV9maWxlcycpOgorICAgICAgICAgICAgICAgIGlmIG5vdChuYW1lIGluIHNlbGYuZGF0YSBhbmQgc2VsZi5kYXRhW25hbWVdKToKKyAgICAgICAgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgICAgICAgICBmcC53cml0ZSgnJXMgPSAlc1xuJworICAgICAgICAgICAgICAgICAgICAgICAgICUgKG5hbWUsICdcbiAgICAnLmpvaW4oc2VsZi5kYXRhW25hbWVdKS5zdHJpcCgpKSkKKworICAgICAgICAgICAgaWYgc2VsZi5kYXRhLmdldCgncGFja2FnZV9kYXRhJyk6CisgICAgICAgICAgICAgICAgZnAud3JpdGUoJ3BhY2thZ2VfZGF0YSA9XG4nKQorICAgICAgICAgICAgICAgIGZvciBwa2csIHNwZWMgaW4gc29ydGVkKHNlbGYuZGF0YVsncGFja2FnZV9kYXRhJ10uaXRlbXMoKSk6CisgICAgICAgICAgICAgICAgICAgICMgcHV0IG9uZSBzcGVjIHBlciBsaW5lLCBpbmRlbnRlZCB1bmRlciB0aGUgcGFja2FnZSBuYW1lCisgICAgICAgICAgICAgICAgICAgIGluZGVudCA9ICcgJyAqIChsZW4ocGtnKSArIDcpCisgICAgICAgICAgICAgICAgICAgIHNwZWMgPSAoJ1xuJyArIGluZGVudCkuam9pbihzcGVjKQorICAgICAgICAgICAgICAgICAgICBmcC53cml0ZSgnICAgICVzID0gJXNcbicgJSAocGtnLCBzcGVjKSkKKyAgICAgICAgICAgICAgICBmcC53cml0ZSgnXG4nKQorCisgICAgICAgICAgICBpZiBzZWxmLmRhdGEuZ2V0KCdyZXNvdXJjZXMnKToKKyAgICAgICAgICAgICAgICBmcC53cml0ZSgncmVzb3VyY2VzID1cbicpCisgICAgICAgICAgICAgICAgZm9yIHNyYywgZGVzdCBpbiBzZWxmLmRhdGFbJ3Jlc291cmNlcyddOgorICAgICAgICAgICAgICAgICAgICBmcC53cml0ZSgnICAgICVzID0gJXNcbicgJSAoc3JjLCBkZXN0KSkKKyAgICAgICAgICAgICAgICBmcC53cml0ZSgnXG4nKQorCisgICAgICAgIG9zLmNobW9kKF9GSUxFTkFNRSwgMG82NDQpCisgICAgICAgIGxvZ2dlci5pbmZvKCdXcm90ZSAiJXMiLicgJSBfRklMRU5BTUUpCisKKyAgICBkZWYgY29udmVydF9weV90b19jZmcoc2VsZik6CisgICAgICAgICIiIkdlbmVyYXRlIGEgc2V0dXAuY2ZnIGZyb20gYW4gZXhpc3Rpbmcgc2V0dXAucHkuCisKKyAgICAgICAgSXQgb25seSBleHBvcnRzIHRoZSBkaXN0dXRpbHMgbWV0YWRhdGEgKHNldHVwdG9vbHMgc3BlY2lmaWMgbWV0YWRhdGEKKyAgICAgICAgaXMgbm90IGN1cnJlbnRseSBzdXBwb3J0ZWQpLgorICAgICAgICAiIiIKKyAgICAgICAgZGF0YSA9IHNlbGYuZGF0YQorCisgICAgICAgIGRlZiBzZXR1cF9tb2NrKCoqYXR0cnMpOgorICAgICAgICAgICAgIiIiTW9jayB0aGUgc2V0dXAoKiphdHRycykgaW4gb3JkZXIgdG8gcmV0cmlldmUgbWV0YWRhdGEuIiIiCisKKyAgICAgICAgICAgICMgVE9ETyB1c2UgY29uZmlnIGFuZCBtZXRhZGF0YSBpbnN0ZWFkIG9mIERpc3RyaWJ1dGlvbgorICAgICAgICAgICAgZnJvbSBkaXN0dXRpbHMuZGlzdCBpbXBvcnQgRGlzdHJpYnV0aW9uCisgICAgICAgICAgICBkaXN0ID0gRGlzdHJpYnV0aW9uKGF0dHJzKQorICAgICAgICAgICAgZGlzdC5wYXJzZV9jb25maWdfZmlsZXMoKQorCisgICAgICAgICAgICAjIDEuIHJldHJpZXZlIG1ldGFkYXRhIGZpZWxkcyB0aGF0IGFyZSBxdWl0ZSBzaW1pbGFyIGluCisgICAgICAgICAgICAjIFBFUCAzMTQgYW5kIFBFUCAzNDUKKyAgICAgICAgICAgIGxhYmVscyA9ICgoJ25hbWUnLCkgKiAyLAorICAgICAgICAgICAgICAgICAgICAgICgndmVyc2lvbicsKSAqIDIsCisgICAgICAgICAgICAgICAgICAgICAgKCdhdXRob3InLCkgKiAyLAorICAgICAgICAgICAgICAgICAgICAgICgnYXV0aG9yX2VtYWlsJywpICogMiwKKyAgICAgICAgICAgICAgICAgICAgICAoJ21haW50YWluZXInLCkgKiAyLAorICAgICAgICAgICAgICAgICAgICAgICgnbWFpbnRhaW5lcl9lbWFpbCcsKSAqIDIsCisgICAgICAgICAgICAgICAgICAgICAgKCdkZXNjcmlwdGlvbicsICdzdW1tYXJ5JyksCisgICAgICAgICAgICAgICAgICAgICAgKCdsb25nX2Rlc2NyaXB0aW9uJywgJ2Rlc2NyaXB0aW9uJyksCisgICAgICAgICAgICAgICAgICAgICAgKCd1cmwnLCAnaG9tZV9wYWdlJyksCisgICAgICAgICAgICAgICAgICAgICAgKCdwbGF0Zm9ybXMnLCAncGxhdGZvcm0nKSwKKyAgICAgICAgICAgICAgICAgICAgICAoJ3Byb3ZpZGVzJywgJ3Byb3ZpZGVzLWRpc3QnKSwKKyAgICAgICAgICAgICAgICAgICAgICAoJ29ic29sZXRlcycsICdvYnNvbGV0ZXMtZGlzdCcpLAorICAgICAgICAgICAgICAgICAgICAgICgncmVxdWlyZXMnLCAncmVxdWlyZXMtZGlzdCcpKQorCisgICAgICAgICAgICBnZXQgPSBsYW1iZGEgbGFiOiBnZXRhdHRyKGRpc3QubWV0YWRhdGEsIGxhYi5yZXBsYWNlKCctJywgJ18nKSkKKyAgICAgICAgICAgIGRhdGEudXBkYXRlKChuZXcsIGdldChvbGQpKSBmb3Igb2xkLCBuZXcgaW4gbGFiZWxzIGlmIGdldChvbGQpKQorCisgICAgICAgICAgICAjIDIuIHJldHJpZXZlIGRhdGEgdGhhdCByZXF1aXJlcyBzcGVjaWFsIHByb2Nlc3NpbmcKKyAgICAgICAgICAgIGRhdGFbJ2NsYXNzaWZpZXInXS51cGRhdGUoZGlzdC5nZXRfY2xhc3NpZmllcnMoKSBvciBbXSkKKyAgICAgICAgICAgIGRhdGFbJ3NjcmlwdHMnXS5leHRlbmQoZGlzdC5zY3JpcHRzIG9yIFtdKQorICAgICAgICAgICAgZGF0YVsncGFja2FnZXMnXS5leHRlbmQoZGlzdC5wYWNrYWdlcyBvciBbXSkKKyAgICAgICAgICAgIGRhdGFbJ21vZHVsZXMnXS5leHRlbmQoZGlzdC5weV9tb2R1bGVzIG9yIFtdKQorICAgICAgICAgICAgIyAyLjEgZGF0YV9maWxlcyAtPiByZXNvdXJjZXMKKyAgICAgICAgICAgIGlmIGRpc3QuZGF0YV9maWxlczoKKyAgICAgICAgICAgICAgICBpZiAobGVuKGRpc3QuZGF0YV9maWxlcykgPCAyIG9yCisgICAgICAgICAgICAgICAgICAgIGlzaW5zdGFuY2UoZGlzdC5kYXRhX2ZpbGVzWzFdLCBzdHIpKToKKyAgICAgICAgICAgICAgICAgICAgZGlzdC5kYXRhX2ZpbGVzID0gWygnJywgZGlzdC5kYXRhX2ZpbGVzKV0KKyAgICAgICAgICAgICAgICAjIGFkZCB0b2tlbnMgaW4gdGhlIGRlc3RpbmF0aW9uIHBhdGhzCisgICAgICAgICAgICAgICAgdmFycyA9IHsnZGlzdHJpYnV0aW9uLm5hbWUnOiBkYXRhWyduYW1lJ119CisgICAgICAgICAgICAgICAgcGF0aF90b2tlbnMgPSBzeXNjb25maWcuZ2V0X3BhdGhzKHZhcnM9dmFycykuaXRlbXMoKQorICAgICAgICAgICAgICAgICMgc29ydCB0b2tlbnMgdG8gdXNlIHRoZSBsb25nZXN0IG9uZSBmaXJzdAorICAgICAgICAgICAgICAgIHBhdGhfdG9rZW5zID0gc29ydGVkKHBhdGhfdG9rZW5zLCBrZXk9bGFtYmRhIHg6IGxlbih4WzFdKSkKKyAgICAgICAgICAgICAgICBmb3IgZGVzdCwgc3JjcyBpbiAoZGlzdC5kYXRhX2ZpbGVzIG9yIFtdKToKKyAgICAgICAgICAgICAgICAgICAgZGVzdCA9IG9zLnBhdGguam9pbihzeXMucHJlZml4LCBkZXN0KQorICAgICAgICAgICAgICAgICAgICBkZXN0ID0gZGVzdC5yZXBsYWNlKG9zLnBhdGguc2VwLCAnLycpCisgICAgICAgICAgICAgICAgICAgIGZvciB0b2ssIHBhdGggaW4gcGF0aF90b2tlbnM6CisgICAgICAgICAgICAgICAgICAgICAgICBwYXRoID0gcGF0aC5yZXBsYWNlKG9zLnBhdGguc2VwLCAnLycpCisgICAgICAgICAgICAgICAgICAgICAgICBpZiBub3QgZGVzdC5zdGFydHN3aXRoKHBhdGgpOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCisKKyAgICAgICAgICAgICAgICAgICAgICAgIGRlc3QgPSAoJ3slc30nICUgdG9rKSArIGRlc3RbbGVuKHBhdGgpOl0KKyAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVzID0gWygnLyAnLmpvaW4oc3JjLnJzcGxpdCgnLycsIDEpKSwgZGVzdCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciBzcmMgaW4gc3Jjc10KKyAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFbJ3Jlc291cmNlcyddLmV4dGVuZChmaWxlcykKKworICAgICAgICAgICAgIyAyLjIgcGFja2FnZV9kYXRhCisgICAgICAgICAgICBkYXRhWydwYWNrYWdlX2RhdGEnXSA9IGRpc3QucGFja2FnZV9kYXRhLmNvcHkoKQorCisgICAgICAgICAgICAjIFVzZSBSRUFETUUgZmlsZSBpZiBpdHMgY29udGVudCBpcyB0aGUgZGVzY2lwdGlvbgorICAgICAgICAgICAgaWYgImRlc2NyaXB0aW9uIiBpbiBkYXRhOgorICAgICAgICAgICAgICAgIHJlZiA9IG1kNShyZS5zdWIoJ1xzJywgJycsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmRhdGFbJ2Rlc2NyaXB0aW9uJ10pLmxvd2VyKCkuZW5jb2RlKCkpCisgICAgICAgICAgICAgICAgcmVmID0gcmVmLmRpZ2VzdCgpCisgICAgICAgICAgICAgICAgZm9yIHJlYWRtZSBpbiBnbG9iLmdsb2IoJ1JFQURNRSonKToKKyAgICAgICAgICAgICAgICAgICAgd2l0aCBvcGVuKHJlYWRtZSwgZW5jb2Rpbmc9J3V0Zi04JykgYXMgZnA6CisgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50cyA9IGZwLnJlYWQoKQorICAgICAgICAgICAgICAgICAgICBjb250ZW50cyA9IHJlLnN1YignXHMnLCAnJywgY29udGVudHMubG93ZXIoKSkuZW5jb2RlKCkKKyAgICAgICAgICAgICAgICAgICAgdmFsID0gbWQ1KGNvbnRlbnRzKS5kaWdlc3QoKQorICAgICAgICAgICAgICAgICAgICBpZiB2YWwgPT0gcmVmOgorICAgICAgICAgICAgICAgICAgICAgICAgZGVsIGRhdGFbJ2Rlc2NyaXB0aW9uJ10KKyAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFbJ2Rlc2NyaXB0aW9uLWZpbGUnXSA9IHJlYWRtZQorICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsKKworICAgICAgICAjIGFwcGx5IG1vbmtleSBwYXRjaCB0byBkaXN0dXRpbHMgKHYxKSBhbmQgc2V0dXB0b29scyAoaWYgbmVlZGVkKQorICAgICAgICAjIChhYm9ydCB0aGUgZmVhdHVyZSBpZiBkaXN0dXRpbHMgdjEgaGFzIGJlZW4ga2lsbGVkKQorICAgICAgICB0cnk6CisgICAgICAgICAgICBmcm9tIGRpc3R1dGlscyBpbXBvcnQgY29yZQorICAgICAgICAgICAgY29yZS5zZXR1cCAgIyBtYWtlIHN1cmUgaXQncyBub3QgZDIgbWFza2VyYWRpbmcgYXMgZDEKKyAgICAgICAgZXhjZXB0IChJbXBvcnRFcnJvciwgQXR0cmlidXRlRXJyb3IpOgorICAgICAgICAgICAgcmV0dXJuCisgICAgICAgIHNhdmVkX3NldHVwcyA9IFsoY29yZSwgY29yZS5zZXR1cCldCisgICAgICAgIGNvcmUuc2V0dXAgPSBzZXR1cF9tb2NrCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIGltcG9ydCBzZXR1cHRvb2xzCisgICAgICAgIGV4Y2VwdCBJbXBvcnRFcnJvcjoKKyAgICAgICAgICAgIHBhc3MKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHNhdmVkX3NldHVwcy5hcHBlbmQoKHNldHVwdG9vbHMsIHNldHVwdG9vbHMuc2V0dXApKQorICAgICAgICAgICAgc2V0dXB0b29scy5zZXR1cCA9IHNldHVwX21vY2sKKyAgICAgICAgIyBnZXQgbWV0YWRhdGEgYnkgZXhlY3V0aW5nIHRoZSBzZXR1cC5weSB3aXRoIHRoZSBwYXRjaGVkIHNldHVwKC4uLikKKyAgICAgICAgc3VjY2VzcyA9IEZhbHNlICAjIGZvciBweXRob24gPCAyLjQKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgbG9hZF9zZXR1cCgpCisgICAgICAgICAgICBzdWNjZXNzID0gVHJ1ZQorICAgICAgICBmaW5hbGx5OiAgIyByZXZlcnQgbW9ua2V5IHBhdGNoZXMKKyAgICAgICAgICAgIGZvciBwYXRjaGVkX21vZHVsZSwgb3JpZ2luYWxfc2V0dXAgaW4gc2F2ZWRfc2V0dXBzOgorICAgICAgICAgICAgICAgIHBhdGNoZWRfbW9kdWxlLnNldHVwID0gb3JpZ2luYWxfc2V0dXAKKyAgICAgICAgaWYgbm90IHNlbGYuZGF0YToKKyAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoJ1VuYWJsZSB0byBsb2FkIG1ldGFkYXRhIGZyb20gc2V0dXAucHknKQorICAgICAgICByZXR1cm4gc3VjY2VzcworCisgICAgZGVmIGluc3BlY3Qoc2VsZik6CisgICAgICAgICIiIkluc3BlY3QgdGhlIGN1cnJlbnQgd29ya2luZyBkaXJldG9yeSBmb3IgYSBuYW1lIGFuZCB2ZXJzaW9uLgorCisgICAgICAgIFRoaXMgaW5mb3JtYXRpb24gaXMgaGFydmVzdGVkIGluIHdoZXJlIHRoZSBkaXJlY3RvcnkgaXMgbmFtZWQKKyAgICAgICAgbGlrZSBbbmFtZV0tW3ZlcnNpb25dLgorICAgICAgICAiIiIKKyAgICAgICAgZGlyX25hbWUgPSBvcy5wYXRoLmJhc2VuYW1lKG9zLmdldGN3ZCgpKQorICAgICAgICBzZWxmLmRhdGFbJ25hbWUnXSA9IGRpcl9uYW1lCisgICAgICAgIG1hdGNoID0gcmUubWF0Y2gocicoLiopLShcZC4rKScsIGRpcl9uYW1lKQorICAgICAgICBpZiBtYXRjaDoKKyAgICAgICAgICAgIHNlbGYuZGF0YVsnbmFtZSddID0gbWF0Y2guZ3JvdXAoMSkKKyAgICAgICAgICAgIHNlbGYuZGF0YVsndmVyc2lvbiddID0gbWF0Y2guZ3JvdXAoMikKKyAgICAgICAgICAgICMgVE9ETyBuZWVkcyB0ZXN0aW5nIQorICAgICAgICAgICAgaWYgbm90IGlzX3ZhbGlkX3ZlcnNpb24oc2VsZi5kYXRhWyd2ZXJzaW9uJ10pOgorICAgICAgICAgICAgICAgIG1zZyA9ICJJbnZhbGlkIHZlcnNpb24gZGlzY292ZXJlZDogJXMiICUgc2VsZi5kYXRhWyd2ZXJzaW9uJ10KKyAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKG1zZykKKworICAgIGRlZiBxdWVyeV91c2VyKHNlbGYpOgorICAgICAgICBzZWxmLmRhdGFbJ25hbWUnXSA9IGFzaygnUHJvamVjdCBuYW1lJywgc2VsZi5kYXRhWyduYW1lJ10sCisgICAgICAgICAgICAgIF9oZWxwdGV4dFsnbmFtZSddKQorCisgICAgICAgIHNlbGYuZGF0YVsndmVyc2lvbiddID0gYXNrKCdDdXJyZW50IHZlcnNpb24gbnVtYmVyJywKKyAgICAgICAgICAgICAgc2VsZi5kYXRhLmdldCgndmVyc2lvbicpLCBfaGVscHRleHRbJ3ZlcnNpb24nXSkKKyAgICAgICAgc2VsZi5kYXRhWydzdW1tYXJ5J10gPSBhc2soJ1Byb2plY3QgZGVzY3JpcHRpb24gc3VtbWFyeScsCisgICAgICAgICAgICAgIHNlbGYuZGF0YS5nZXQoJ3N1bW1hcnknKSwgX2hlbHB0ZXh0WydzdW1tYXJ5J10sCisgICAgICAgICAgICAgIGxlbmd0aHk9VHJ1ZSkKKyAgICAgICAgc2VsZi5kYXRhWydhdXRob3InXSA9IGFzaygnQXV0aG9yIG5hbWUnLAorICAgICAgICAgICAgICBzZWxmLmRhdGEuZ2V0KCdhdXRob3InKSwgX2hlbHB0ZXh0WydhdXRob3InXSkKKyAgICAgICAgc2VsZi5kYXRhWydhdXRob3JfZW1haWwnXSA9IGFzaygnQXV0aG9yIGVtYWlsIGFkZHJlc3MnLAorICAgICAgICAgICAgICBzZWxmLmRhdGEuZ2V0KCdhdXRob3JfZW1haWwnKSwgX2hlbHB0ZXh0WydhdXRob3JfZW1haWwnXSkKKyAgICAgICAgc2VsZi5kYXRhWydob21lX3BhZ2UnXSA9IGFzaygnUHJvamVjdCBob21lIHBhZ2UnLAorICAgICAgICAgICAgICBzZWxmLmRhdGEuZ2V0KCdob21lX3BhZ2UnKSwgX2hlbHB0ZXh0Wydob21lX3BhZ2UnXSwKKyAgICAgICAgICAgICAgcmVxdWlyZWQ9RmFsc2UpCisKKyAgICAgICAgaWYgYXNrX3luKCdEbyB5b3Ugd2FudCBtZSB0byBhdXRvbWF0aWNhbGx5IGJ1aWxkIHRoZSBmaWxlIGxpc3QgJworICAgICAgICAgICAgICAnd2l0aCBldmVyeXRoaW5nIEkgY2FuIGZpbmQgaW4gdGhlIGN1cnJlbnQgZGlyZWN0b3J5PyAnCisgICAgICAgICAgICAgICdJZiB5b3Ugc2F5IG5vLCB5b3Ugd2lsbCBoYXZlIHRvIGRlZmluZSB0aGVtIG1hbnVhbGx5LicpID09ICd5JzoKKyAgICAgICAgICAgIHNlbGYuX2ZpbmRfZmlsZXMoKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgd2hpbGUgYXNrX3luKCdEbyB5b3Ugd2FudCB0byBhZGQgYSBzaW5nbGUgbW9kdWxlPycKKyAgICAgICAgICAgICAgICAgICAgICAgICcgKHlvdSB3aWxsIGJlIGFibGUgdG8gYWRkIGZ1bGwgcGFja2FnZXMgbmV4dCknLAorICAgICAgICAgICAgICAgICAgICBoZWxwdGV4dD1faGVscHRleHRbJ21vZHVsZXMnXSkgPT0gJ3knOgorICAgICAgICAgICAgICAgIHNlbGYuX3NldF9tdWx0aSgnTW9kdWxlIG5hbWUnLCAnbW9kdWxlcycpCisKKyAgICAgICAgICAgIHdoaWxlIGFza195bignRG8geW91IHdhbnQgdG8gYWRkIGEgcGFja2FnZT8nLAorICAgICAgICAgICAgICAgICAgICBoZWxwdGV4dD1faGVscHRleHRbJ3BhY2thZ2VzJ10pID09ICd5JzoKKyAgICAgICAgICAgICAgICBzZWxmLl9zZXRfbXVsdGkoJ1BhY2thZ2UgbmFtZScsICdwYWNrYWdlcycpCisKKyAgICAgICAgICAgIHdoaWxlIGFza195bignRG8geW91IHdhbnQgdG8gYWRkIGFuIGV4dHJhIGZpbGU/JywKKyAgICAgICAgICAgICAgICAgICAgICAgIGhlbHB0ZXh0PV9oZWxwdGV4dFsnZXh0cmFfZmlsZXMnXSkgPT0gJ3knOgorICAgICAgICAgICAgICAgIHNlbGYuX3NldF9tdWx0aSgnRXh0cmEgZmlsZS9kaXIgbmFtZScsICdleHRyYV9maWxlcycpCisKKyAgICAgICAgaWYgYXNrX3luKCdEbyB5b3Ugd2FudCB0byBzZXQgVHJvdmUgY2xhc3NpZmllcnM/JywKKyAgICAgICAgICAgICAgICAgIGhlbHB0ZXh0PV9oZWxwdGV4dFsnZG9fY2xhc3NpZmllciddKSA9PSAneSc6CisgICAgICAgICAgICBzZWxmLnNldF9jbGFzc2lmaWVyKCkKKworICAgIGRlZiBfZmluZF9maWxlcyhzZWxmKToKKyAgICAgICAgIyB3ZSBhcmUgbG9va2luZyBmb3IgcHl0aG9uIG1vZHVsZXMgYW5kIHBhY2thZ2VzLAorICAgICAgICAjIG90aGVyIHN0dWZmIGFyZSBhZGRlZCBhcyByZWd1bGFyIGZpbGVzCisgICAgICAgIHBrZ3MgPSBzZWxmLmRhdGFbJ3BhY2thZ2VzJ10KKyAgICAgICAgbW9kdWxlcyA9IHNlbGYuZGF0YVsnbW9kdWxlcyddCisgICAgICAgIGV4dHJhX2ZpbGVzID0gc2VsZi5kYXRhWydleHRyYV9maWxlcyddCisKKyAgICAgICAgZGVmIGlzX3BhY2thZ2UocGF0aCk6CisgICAgICAgICAgICByZXR1cm4gb3MucGF0aC5leGlzdHMob3MucGF0aC5qb2luKHBhdGgsICdfX2luaXRfXy5weScpKQorCisgICAgICAgIGN1cmRpciA9IG9zLmdldGN3ZCgpCisgICAgICAgIHNjYW5uZWQgPSBbXQorICAgICAgICBfcHJlZiA9IFsnbGliJywgJ2luY2x1ZGUnLCAnZGlzdCcsICdidWlsZCcsICcuJywgJ34nXQorICAgICAgICBfc3VmID0gWycucHljJ10KKworICAgICAgICBkZWYgdG9fc2tpcChwYXRoKToKKyAgICAgICAgICAgIHBhdGggPSByZWxhdGl2ZShwYXRoKQorCisgICAgICAgICAgICBmb3IgcHJlZiBpbiBfcHJlZjoKKyAgICAgICAgICAgICAgICBpZiBwYXRoLnN0YXJ0c3dpdGgocHJlZik6CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBUcnVlCisKKyAgICAgICAgICAgIGZvciBzdWYgaW4gX3N1ZjoKKyAgICAgICAgICAgICAgICBpZiBwYXRoLmVuZHN3aXRoKHN1Zik6CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBUcnVlCisKKyAgICAgICAgICAgIHJldHVybiBGYWxzZQorCisgICAgICAgIGRlZiByZWxhdGl2ZShwYXRoKToKKyAgICAgICAgICAgIHJldHVybiBwYXRoW2xlbihjdXJkaXIpICsgMTpdCisKKyAgICAgICAgZGVmIGRvdHRlZChwYXRoKToKKyAgICAgICAgICAgIHJlcyA9IHJlbGF0aXZlKHBhdGgpLnJlcGxhY2Uob3MucGF0aC5zZXAsICcuJykKKyAgICAgICAgICAgIGlmIHJlcy5lbmRzd2l0aCgnLnB5Jyk6CisgICAgICAgICAgICAgICAgcmVzID0gcmVzWzotbGVuKCcucHknKV0KKyAgICAgICAgICAgIHJldHVybiByZXMKKworICAgICAgICAjIGZpcnN0IHBhc3M6IHBhY2thZ2VzCisgICAgICAgIGZvciByb290LCBkaXJzLCBmaWxlcyBpbiBvcy53YWxrKGN1cmRpcik6CisgICAgICAgICAgICBpZiB0b19za2lwKHJvb3QpOgorICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICBmb3IgZGlyXyBpbiBzb3J0ZWQoZGlycyk6CisgICAgICAgICAgICAgICAgaWYgdG9fc2tpcChkaXJfKToKKyAgICAgICAgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgICAgICAgICBmdWxscGF0aCA9IG9zLnBhdGguam9pbihyb290LCBkaXJfKQorICAgICAgICAgICAgICAgIGRvdHRlZF9uYW1lID0gZG90dGVkKGZ1bGxwYXRoKQorICAgICAgICAgICAgICAgIGlmIGlzX3BhY2thZ2UoZnVsbHBhdGgpIGFuZCBkb3R0ZWRfbmFtZSBub3QgaW4gcGtnczoKKyAgICAgICAgICAgICAgICAgICAgcGtncy5hcHBlbmQoZG90dGVkX25hbWUpCisgICAgICAgICAgICAgICAgICAgIHNjYW5uZWQuYXBwZW5kKGZ1bGxwYXRoKQorCisgICAgICAgICMgbW9kdWxlcyBhbmQgZXh0cmEgZmlsZXMKKyAgICAgICAgZm9yIHJvb3QsIGRpcnMsIGZpbGVzIGluIG9zLndhbGsoY3VyZGlyKToKKyAgICAgICAgICAgIGlmIHRvX3NraXAocm9vdCk6CisgICAgICAgICAgICAgICAgY29udGludWUKKworICAgICAgICAgICAgaWYgYW55KHJvb3Quc3RhcnRzd2l0aChwYXRoKSBmb3IgcGF0aCBpbiBzY2FubmVkKToKKyAgICAgICAgICAgICAgICBjb250aW51ZQorCisgICAgICAgICAgICBmb3IgZmlsZSBpbiBzb3J0ZWQoZmlsZXMpOgorICAgICAgICAgICAgICAgIGZ1bGxwYXRoID0gb3MucGF0aC5qb2luKHJvb3QsIGZpbGUpCisgICAgICAgICAgICAgICAgaWYgdG9fc2tpcChmdWxscGF0aCk6CisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICAgICAgIyBzaW5nbGUgbW9kdWxlPworICAgICAgICAgICAgICAgIGlmIG9zLnBhdGguc3BsaXRleHQoZmlsZSlbLTFdID09ICcucHknOgorICAgICAgICAgICAgICAgICAgICBtb2R1bGVzLmFwcGVuZChkb3R0ZWQoZnVsbHBhdGgpKQorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIGV4dHJhX2ZpbGVzLmFwcGVuZChyZWxhdGl2ZShmdWxscGF0aCkpCisKKyAgICBkZWYgX3NldF9tdWx0aShzZWxmLCBxdWVzdGlvbiwgbmFtZSk6CisgICAgICAgIGV4aXN0aW5nX3ZhbHVlcyA9IHNlbGYuZGF0YVtuYW1lXQorICAgICAgICB2YWx1ZSA9IGFzayhxdWVzdGlvbiwgaGVscHRleHQ9X2hlbHB0ZXh0W25hbWVdKS5zdHJpcCgpCisgICAgICAgIGlmIHZhbHVlIG5vdCBpbiBleGlzdGluZ192YWx1ZXM6CisgICAgICAgICAgICBleGlzdGluZ192YWx1ZXMuYXBwZW5kKHZhbHVlKQorCisgICAgZGVmIHNldF9jbGFzc2lmaWVyKHNlbGYpOgorICAgICAgICBzZWxmLnNldF9tYXR1cml0eV9zdGF0dXMoc2VsZi5jbGFzc2lmaWVycykKKyAgICAgICAgc2VsZi5zZXRfbGljZW5zZShzZWxmLmNsYXNzaWZpZXJzKQorICAgICAgICBzZWxmLnNldF9vdGhlcl9jbGFzc2lmaWVyKHNlbGYuY2xhc3NpZmllcnMpCisKKyAgICBkZWYgc2V0X290aGVyX2NsYXNzaWZpZXIoc2VsZiwgY2xhc3NpZmllcnMpOgorICAgICAgICBpZiBhc2tfeW4oJ0RvIHlvdSB3YW50IHRvIHNldCBvdGhlciB0cm92ZSBpZGVudGlmaWVycz8nLCAnbicsCisgICAgICAgICAgICAgICAgICBfaGVscHRleHRbJ3Ryb3ZlX2dlbmVyaWMnXSkgIT0gJ3knOgorICAgICAgICAgICAgcmV0dXJuCisgICAgICAgIHNlbGYud2Fsa19jbGFzc2lmaWVycyhjbGFzc2lmaWVycywgW0NMQVNTSUZJRVJTXSwgJycpCisKKyAgICBkZWYgd2Fsa19jbGFzc2lmaWVycyhzZWxmLCBjbGFzc2lmaWVycywgdHJvdmVwYXRoLCBkZXNjKToKKyAgICAgICAgdHJvdmUgPSB0cm92ZXBhdGhbLTFdCisKKyAgICAgICAgaWYgbm90IHRyb3ZlOgorICAgICAgICAgICAgcmV0dXJuCisKKyAgICAgICAgZm9yIGtleSBpbiBzb3J0ZWQodHJvdmUpOgorICAgICAgICAgICAgaWYgbGVuKHRyb3ZlW2tleV0pID09IDA6CisgICAgICAgICAgICAgICAgaWYgYXNrX3luKCdBZGQgIiVzIicgJSBkZXNjWzQ6XSArICcgOjogJyArIGtleSwgJ24nKSA9PSAneSc6CisgICAgICAgICAgICAgICAgICAgIGNsYXNzaWZpZXJzLmFkZChkZXNjWzQ6XSArICcgOjogJyArIGtleSkKKyAgICAgICAgICAgICAgICBjb250aW51ZQorCisgICAgICAgICAgICBpZiBhc2tfeW4oJ0RvIHlvdSB3YW50IHRvIHNldCBpdGVtcyB1bmRlclxuICAgIiVzIiAoJWQgc3ViLWl0ZW1zKT8nCisgICAgICAgICAgICAgICAgICAgICAgJSAoa2V5LCBsZW4odHJvdmVba2V5XSkpLCAnbicsCisgICAgICAgICAgICAgICAgICAgICAgX2hlbHB0ZXh0Wyd0cm92ZV9nZW5lcmljJ10pID09ICd5JzoKKyAgICAgICAgICAgICAgICBzZWxmLndhbGtfY2xhc3NpZmllcnMoY2xhc3NpZmllcnMsIHRyb3ZlcGF0aCArIFt0cm92ZVtrZXldXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzYyArICcgOjogJyArIGtleSkKKworICAgIGRlZiBzZXRfbGljZW5zZShzZWxmLCBjbGFzc2lmaWVycyk6CisgICAgICAgIHdoaWxlIFRydWU6CisgICAgICAgICAgICBsaWNlbnNlID0gYXNrKCdXaGF0IGxpY2Vuc2UgZG8geW91IHVzZT8nLAorICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwdGV4dD1faGVscHRleHRbJ3Ryb3ZlX2xpY2Vuc2UnXSwgcmVxdWlyZWQ9RmFsc2UpCisgICAgICAgICAgICBpZiBub3QgbGljZW5zZToKKyAgICAgICAgICAgICAgICByZXR1cm4KKworICAgICAgICAgICAgbGljZW5zZV93b3JkcyA9IGxpY2Vuc2UubG93ZXIoKS5zcGxpdCgnICcpCisgICAgICAgICAgICBmb3VuZF9saXN0ID0gW10KKworICAgICAgICAgICAgZm9yIGluZGV4LCBsaWNlbmNlIGluIExJQ0VOQ0VTOgorICAgICAgICAgICAgICAgIGZvciB3b3JkIGluIGxpY2Vuc2Vfd29yZHM6CisgICAgICAgICAgICAgICAgICAgIGlmIHdvcmQgaW4gbGljZW5jZToKKyAgICAgICAgICAgICAgICAgICAgICAgIGZvdW5kX2xpc3QuYXBwZW5kKGluZGV4KQorICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsKKworICAgICAgICAgICAgaWYgbGVuKGZvdW5kX2xpc3QpID09IDA6CisgICAgICAgICAgICAgICAgbG9nZ2VyLmVycm9yKCdDb3VsZCBub3QgZmluZCBhIG1hdGNoaW5nIGxpY2Vuc2UgZm9yICIlcyInICUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGljZW5zZSkKKyAgICAgICAgICAgICAgICBjb250aW51ZQorCisgICAgICAgICAgICBxdWVzdGlvbiA9ICdNYXRjaGluZyBsaWNlbnNlczpcblxuJworCisgICAgICAgICAgICBmb3IgaW5kZXgsIGxpc3RfaW5kZXggaW4gZW51bWVyYXRlKGZvdW5kX2xpc3QpOgorICAgICAgICAgICAgICAgIHF1ZXN0aW9uICs9ICcgICAlcykgJXNcbicgJSAoaW5kZXggKyAxLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX0NMQVNTSUZJRVJTX0xJU1RbbGlzdF9pbmRleF0pCisKKyAgICAgICAgICAgIHF1ZXN0aW9uICs9ICgnXG5UeXBlIHRoZSBudW1iZXIgb2YgdGhlIGxpY2Vuc2UgeW91IHdpc2ggdG8gdXNlIG9yICcKKyAgICAgICAgICAgICAgICAgICAgICAgICAnPyB0byB0cnkgYWdhaW46JykKKyAgICAgICAgICAgIGNob2ljZSA9IGFzayhxdWVzdGlvbiwgcmVxdWlyZWQ9RmFsc2UpCisKKyAgICAgICAgICAgIGlmIGNob2ljZSA9PSAnPyc6CisgICAgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgICAgIGlmIGNob2ljZSA9PSAnJzoKKyAgICAgICAgICAgICAgICByZXR1cm4KKworICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIGluZGV4ID0gZm91bmRfbGlzdFtpbnQoY2hvaWNlKSAtIDFdCisgICAgICAgICAgICBleGNlcHQgVmFsdWVFcnJvcjoKKyAgICAgICAgICAgICAgICBsb2dnZXIuZXJyb3IoCisgICAgICAgICAgICAgICAgICAgICJJbnZhbGlkIHNlbGVjdGlvbiwgdHlwZSBhIG51bWJlciBmcm9tIHRoZSBsaXN0IGFib3ZlLiIpCisKKyAgICAgICAgICAgIGNsYXNzaWZpZXJzLmFkZChfQ0xBU1NJRklFUlNfTElTVFtpbmRleF0pCisKKyAgICBkZWYgc2V0X21hdHVyaXR5X3N0YXR1cyhzZWxmLCBjbGFzc2lmaWVycyk6CisgICAgICAgIG1hdHVyaXR5X25hbWUgPSBsYW1iZGEgbWF0OiBtYXQuc3BsaXQoJy0gJylbLTFdCisgICAgICAgIG1hdHVyaXR5X3F1ZXN0aW9uID0gJycnXAorICAgICAgICAgICAgUGxlYXNlIHNlbGVjdCB0aGUgcHJvamVjdCBzdGF0dXM6CisKKyAgICAgICAgICAgICVzCisKKyAgICAgICAgICAgIFN0YXR1cycnJyAlICdcbicuam9pbignJXMgLSAlcycgJSAoaSwgbWF0dXJpdHlfbmFtZShuKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgaSwgbiBpbiBlbnVtZXJhdGUoUFJPSkVDVF9NQVRVUklUWSkpCisgICAgICAgIHdoaWxlIFRydWU6CisgICAgICAgICAgICBjaG9pY2UgPSBhc2soZGVkZW50KG1hdHVyaXR5X3F1ZXN0aW9uKSwgcmVxdWlyZWQ9RmFsc2UpCisKKyAgICAgICAgICAgIGlmIGNob2ljZToKKyAgICAgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgICAgIGNob2ljZSA9IGludChjaG9pY2UpIC0gMQorICAgICAgICAgICAgICAgICAgICBrZXkgPSBQUk9KRUNUX01BVFVSSVRZW2Nob2ljZV0KKyAgICAgICAgICAgICAgICAgICAgY2xhc3NpZmllcnMuYWRkKGtleSkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuCisgICAgICAgICAgICAgICAgZXhjZXB0IChJbmRleEVycm9yLCBWYWx1ZUVycm9yKToKKyAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLmVycm9yKAorICAgICAgICAgICAgICAgICAgICAgICAgIkludmFsaWQgc2VsZWN0aW9uLCB0eXBlIGEgc2luZ2xlIGRpZ2l0IG51bWJlci4iKQorCisKK2RlZiBtYWluKCk6CisgICAgIiIiTWFpbiBlbnRyeSBwb2ludC4iIiIKKyAgICBwcm9ncmFtID0gTWFpblByb2dyYW0oKQorICAgICMgIyB1bmNvbW1lbnQgd2hlbiBpbXBsZW1lbnRlZAorICAgICMgaWYgbm90IHByb2dyYW0ubG9hZF9leGlzdGluZ19zZXR1cF9zY3JpcHQoKToKKyAgICAjICAgICBwcm9ncmFtLmluc3BlY3RfZGlyZWN0b3J5KCkKKyAgICAjICAgICBwcm9ncmFtLnF1ZXJ5X3VzZXIoKQorICAgICMgICAgIHByb2dyYW0udXBkYXRlX2NvbmZpZ19maWxlKCkKKyAgICAjIHByb2dyYW0ud3JpdGVfc2V0dXBfc2NyaXB0KCkKKyAgICAjIHBhY2thZ2luZy51dGlsLmNmZ190b19hcmdzKCkKKyAgICBwcm9ncmFtKCkKZGlmZiAtLWdpdCBhL0xpYi9wYWNrYWdpbmcvZGF0YWJhc2UucHkgYi9MaWIvcGFja2FnaW5nL2RhdGFiYXNlLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUwMjhkYzUKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvcGFja2FnaW5nL2RhdGFiYXNlLnB5CkBAIC0wLDAgKzEsNjUxIEBACisiIiJQRVAgMzc2IGltcGxlbWVudGF0aW9uLiIiIgorCitpbXBvcnQgb3MKK2ltcG9ydCByZQoraW1wb3J0IGNzdgoraW1wb3J0IHN5cworaW1wb3J0IHppcGltcG9ydAorZnJvbSBpbyBpbXBvcnQgU3RyaW5nSU8KK2Zyb20gaGFzaGxpYiBpbXBvcnQgbWQ1CisKK2Zyb20gcGFja2FnaW5nIGltcG9ydCBsb2dnZXIKK2Zyb20gcGFja2FnaW5nLmVycm9ycyBpbXBvcnQgUGFja2FnaW5nRXJyb3IKK2Zyb20gcGFja2FnaW5nLnZlcnNpb24gaW1wb3J0IHN1Z2dlc3Rfbm9ybWFsaXplZF92ZXJzaW9uLCBWZXJzaW9uUHJlZGljYXRlCitmcm9tIHBhY2thZ2luZy5tZXRhZGF0YSBpbXBvcnQgTWV0YWRhdGEKKworCitfX2FsbF9fID0gWworICAgICdEaXN0cmlidXRpb24nLCAnRWdnSW5mb0Rpc3RyaWJ1dGlvbicsICdkaXN0aW5mb19kaXJuYW1lJywKKyAgICAnZ2V0X2Rpc3RyaWJ1dGlvbnMnLCAnZ2V0X2Rpc3RyaWJ1dGlvbicsICdnZXRfZmlsZV91c2VycycsCisgICAgJ3Byb3ZpZGVzX2Rpc3RyaWJ1dGlvbicsICdvYnNvbGV0ZXNfZGlzdHJpYnV0aW9uJywKKyAgICAnZW5hYmxlX2NhY2hlJywgJ2Rpc2FibGVfY2FjaGUnLCAnY2xlYXJfY2FjaGUnLAorICAgICMgWFhYIHRoZXNlIGZ1bmN0aW9ucycgbmFtZXMgbG9vayBsaWtlIGdldF9maWxlX3VzZXJzIGJ1dCBhcmUgbm90IHJlbGF0ZWQKKyAgICAnZ2V0X2ZpbGVfcGF0aCcsICdnZXRfZmlsZSddCisKKworIyBUT0RPIHVwZGF0ZSBkb2NzCisKK0RJU1RfRklMRVMgPSAoJ0lOU1RBTExFUicsICdNRVRBREFUQScsICdSRUNPUkQnLCAnUkVRVUVTVEVEJywgJ1JFU09VUkNFUycpCisKKyMgQ2FjaGUKK19jYWNoZV9uYW1lID0ge30gICMgbWFwcyBuYW1lcyB0byBEaXN0cmlidXRpb24gaW5zdGFuY2VzCitfY2FjaGVfbmFtZV9lZ2cgPSB7fSAgIyBtYXBzIG5hbWVzIHRvIEVnZ0luZm9EaXN0cmlidXRpb24gaW5zdGFuY2VzCitfY2FjaGVfcGF0aCA9IHt9ICAjIG1hcHMgcGF0aHMgdG8gRGlzdHJpYnV0aW9uIGluc3RhbmNlcworX2NhY2hlX3BhdGhfZWdnID0ge30gICMgbWFwcyBwYXRocyB0byBFZ2dJbmZvRGlzdHJpYnV0aW9uIGluc3RhbmNlcworX2NhY2hlX2dlbmVyYXRlZCA9IEZhbHNlICAjIGluZGljYXRlcyBpZiAuZGlzdC1pbmZvIGRpc3RyaWJ1dGlvbnMgYXJlIGNhY2hlZAorX2NhY2hlX2dlbmVyYXRlZF9lZ2cgPSBGYWxzZSAgIyBpbmRpY2F0ZXMgaWYgLmRpc3QtaW5mbyBhbmQgLmVnZyBhcmUgY2FjaGVkCitfY2FjaGVfZW5hYmxlZCA9IFRydWUKKworCitkZWYgZW5hYmxlX2NhY2hlKCk6CisgICAgIiIiCisgICAgRW5hYmxlcyB0aGUgaW50ZXJuYWwgY2FjaGUuCisKKyAgICBOb3RlIHRoYXQgdGhpcyBmdW5jdGlvbiB3aWxsIG5vdCBjbGVhciB0aGUgY2FjaGUgaW4gYW55IGNhc2UsIGZvciB0aGF0CisgICAgZnVuY3Rpb25hbGl0eSBzZWUgOmZ1bmM6YGNsZWFyX2NhY2hlYC4KKyAgICAiIiIKKyAgICBnbG9iYWwgX2NhY2hlX2VuYWJsZWQKKworICAgIF9jYWNoZV9lbmFibGVkID0gVHJ1ZQorCisKK2RlZiBkaXNhYmxlX2NhY2hlKCk6CisgICAgIiIiCisgICAgRGlzYWJsZXMgdGhlIGludGVybmFsIGNhY2hlLgorCisgICAgTm90ZSB0aGF0IHRoaXMgZnVuY3Rpb24gd2lsbCBub3QgY2xlYXIgdGhlIGNhY2hlIGluIGFueSBjYXNlLCBmb3IgdGhhdAorICAgIGZ1bmN0aW9uYWxpdHkgc2VlIDpmdW5jOmBjbGVhcl9jYWNoZWAuCisgICAgIiIiCisgICAgZ2xvYmFsIF9jYWNoZV9lbmFibGVkCisKKyAgICBfY2FjaGVfZW5hYmxlZCA9IEZhbHNlCisKKworZGVmIGNsZWFyX2NhY2hlKCk6CisgICAgIiIiIENsZWFycyB0aGUgaW50ZXJuYWwgY2FjaGUuICIiIgorICAgIGdsb2JhbCBfY2FjaGVfZ2VuZXJhdGVkLCBfY2FjaGVfZ2VuZXJhdGVkX2VnZworCisgICAgX2NhY2hlX25hbWUuY2xlYXIoKQorICAgIF9jYWNoZV9uYW1lX2VnZy5jbGVhcigpCisgICAgX2NhY2hlX3BhdGguY2xlYXIoKQorICAgIF9jYWNoZV9wYXRoX2VnZy5jbGVhcigpCisgICAgX2NhY2hlX2dlbmVyYXRlZCA9IEZhbHNlCisgICAgX2NhY2hlX2dlbmVyYXRlZF9lZ2cgPSBGYWxzZQorCisKK2RlZiBfeWllbGRfZGlzdHJpYnV0aW9ucyhpbmNsdWRlX2Rpc3QsIGluY2x1ZGVfZWdnLCBwYXRocyk6CisgICAgIiIiCisgICAgWWllbGQgLmRpc3QtaW5mbyBhbmQgLmVnZygtaW5mbykgZGlzdHJpYnV0aW9ucywgYmFzZWQgb24gdGhlIGFyZ3VtZW50cworCisgICAgOnBhcmFtZXRlciBpbmNsdWRlX2Rpc3Q6IHlpZWxkIC5kaXN0LWluZm8gZGlzdHJpYnV0aW9ucworICAgIDpwYXJhbWV0ZXIgaW5jbHVkZV9lZ2c6IHlpZWxkIC5lZ2coLWluZm8pIGRpc3RyaWJ1dGlvbnMKKyAgICAiIiIKKyAgICBmb3IgcGF0aCBpbiBwYXRoczoKKyAgICAgICAgcmVhbHBhdGggPSBvcy5wYXRoLnJlYWxwYXRoKHBhdGgpCisgICAgICAgIGlmIG5vdCBvcy5wYXRoLmlzZGlyKHJlYWxwYXRoKToKKyAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgIGZvciBkaXIgaW4gb3MubGlzdGRpcihyZWFscGF0aCk6CisgICAgICAgICAgICBkaXN0X3BhdGggPSBvcy5wYXRoLmpvaW4ocmVhbHBhdGgsIGRpcikKKyAgICAgICAgICAgIGlmIGluY2x1ZGVfZGlzdCBhbmQgZGlyLmVuZHN3aXRoKCcuZGlzdC1pbmZvJyk6CisgICAgICAgICAgICAgICAgeWllbGQgRGlzdHJpYnV0aW9uKGRpc3RfcGF0aCkKKyAgICAgICAgICAgIGVsaWYgaW5jbHVkZV9lZ2cgYW5kIChkaXIuZW5kc3dpdGgoJy5lZ2ctaW5mbycpIG9yCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlyLmVuZHN3aXRoKCcuZWdnJykpOgorICAgICAgICAgICAgICAgIHlpZWxkIEVnZ0luZm9EaXN0cmlidXRpb24oZGlzdF9wYXRoKQorCisKK2RlZiBfZ2VuZXJhdGVfY2FjaGUodXNlX2VnZ19pbmZvLCBwYXRocyk6CisgICAgZ2xvYmFsIF9jYWNoZV9nZW5lcmF0ZWQsIF9jYWNoZV9nZW5lcmF0ZWRfZWdnCisKKyAgICBpZiBfY2FjaGVfZ2VuZXJhdGVkX2VnZyBvciAoX2NhY2hlX2dlbmVyYXRlZCBhbmQgbm90IHVzZV9lZ2dfaW5mbyk6CisgICAgICAgIHJldHVybgorICAgIGVsc2U6CisgICAgICAgIGdlbl9kaXN0ID0gbm90IF9jYWNoZV9nZW5lcmF0ZWQKKyAgICAgICAgZ2VuX2VnZyA9IHVzZV9lZ2dfaW5mbworCisgICAgICAgIGZvciBkaXN0IGluIF95aWVsZF9kaXN0cmlidXRpb25zKGdlbl9kaXN0LCBnZW5fZWdnLCBwYXRocyk6CisgICAgICAgICAgICBpZiBpc2luc3RhbmNlKGRpc3QsIERpc3RyaWJ1dGlvbik6CisgICAgICAgICAgICAgICAgX2NhY2hlX3BhdGhbZGlzdC5wYXRoXSA9IGRpc3QKKyAgICAgICAgICAgICAgICBpZiBkaXN0Lm5hbWUgbm90IGluIF9jYWNoZV9uYW1lOgorICAgICAgICAgICAgICAgICAgICBfY2FjaGVfbmFtZVtkaXN0Lm5hbWVdID0gW10KKyAgICAgICAgICAgICAgICBfY2FjaGVfbmFtZVtkaXN0Lm5hbWVdLmFwcGVuZChkaXN0KQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBfY2FjaGVfcGF0aF9lZ2dbZGlzdC5wYXRoXSA9IGRpc3QKKyAgICAgICAgICAgICAgICBpZiBkaXN0Lm5hbWUgbm90IGluIF9jYWNoZV9uYW1lX2VnZzoKKyAgICAgICAgICAgICAgICAgICAgX2NhY2hlX25hbWVfZWdnW2Rpc3QubmFtZV0gPSBbXQorICAgICAgICAgICAgICAgIF9jYWNoZV9uYW1lX2VnZ1tkaXN0Lm5hbWVdLmFwcGVuZChkaXN0KQorCisgICAgICAgIGlmIGdlbl9kaXN0OgorICAgICAgICAgICAgX2NhY2hlX2dlbmVyYXRlZCA9IFRydWUKKyAgICAgICAgaWYgZ2VuX2VnZzoKKyAgICAgICAgICAgIF9jYWNoZV9nZW5lcmF0ZWRfZWdnID0gVHJ1ZQorCisKK2NsYXNzIERpc3RyaWJ1dGlvbjoKKyAgICAiIiJDcmVhdGVkIHdpdGggdGhlICpwYXRoKiBvZiB0aGUgYGAuZGlzdC1pbmZvYGAgZGlyZWN0b3J5IHByb3ZpZGVkIHRvIHRoZQorICAgIGNvbnN0cnVjdG9yLiBJdCByZWFkcyB0aGUgbWV0YWRhdGEgY29udGFpbmVkIGluIGBgTUVUQURBVEFgYCB3aGVuIGl0IGlzCisgICAgaW5zdGFudGlhdGVkLiIiIgorCisgICAgbmFtZSA9ICcnCisgICAgIiIiVGhlIG5hbWUgb2YgdGhlIGRpc3RyaWJ1dGlvbi4iIiIKKworICAgIHZlcnNpb24gPSAnJworICAgICIiIlRoZSB2ZXJzaW9uIG9mIHRoZSBkaXN0cmlidXRpb24uIiIiCisKKyAgICBtZXRhZGF0YSA9IE5vbmUKKyAgICAiIiJBIDpjbGFzczpgcGFja2FnaW5nLm1ldGFkYXRhLk1ldGFkYXRhYCBpbnN0YW5jZSBsb2FkZWQgd2l0aAorICAgIHRoZSBkaXN0cmlidXRpb24ncyBgYE1FVEFEQVRBYGAgZmlsZS4iIiIKKworICAgIHJlcXVlc3RlZCA9IEZhbHNlCisgICAgIiIiQSBib29sZWFuIHRoYXQgaW5kaWNhdGVzIHdoZXRoZXIgdGhlIGBgUkVRVUVTVEVEYGAgbWV0YWRhdGEgZmlsZSBpcworICAgIHByZXNlbnQgKGluIG90aGVyIHdvcmRzLCB3aGV0aGVyIHRoZSBwYWNrYWdlIHdhcyBpbnN0YWxsZWQgYnkgdXNlcgorICAgIHJlcXVlc3Qgb3IgaXQgd2FzIGluc3RhbGxlZCBhcyBhIGRlcGVuZGVuY3kpLiIiIgorCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHBhdGgpOgorICAgICAgICBpZiBfY2FjaGVfZW5hYmxlZCBhbmQgcGF0aCBpbiBfY2FjaGVfcGF0aDoKKyAgICAgICAgICAgIHNlbGYubWV0YWRhdGEgPSBfY2FjaGVfcGF0aFtwYXRoXS5tZXRhZGF0YQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgbWV0YWRhdGFfcGF0aCA9IG9zLnBhdGguam9pbihwYXRoLCAnTUVUQURBVEEnKQorICAgICAgICAgICAgc2VsZi5tZXRhZGF0YSA9IE1ldGFkYXRhKHBhdGg9bWV0YWRhdGFfcGF0aCkKKworICAgICAgICBzZWxmLm5hbWUgPSBzZWxmLm1ldGFkYXRhWydOYW1lJ10KKyAgICAgICAgc2VsZi52ZXJzaW9uID0gc2VsZi5tZXRhZGF0YVsnVmVyc2lvbiddCisgICAgICAgIHNlbGYucGF0aCA9IHBhdGgKKworICAgICAgICBpZiBfY2FjaGVfZW5hYmxlZCBhbmQgcGF0aCBub3QgaW4gX2NhY2hlX3BhdGg6CisgICAgICAgICAgICBfY2FjaGVfcGF0aFtwYXRoXSA9IHNlbGYKKworICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKKyAgICAgICAgcmV0dXJuICc8RGlzdHJpYnV0aW9uICVyICVzIGF0ICVyPicgJSAoCisgICAgICAgICAgICBzZWxmLm5hbWUsIHNlbGYudmVyc2lvbiwgc2VsZi5wYXRoKQorCisgICAgZGVmIF9nZXRfcmVjb3JkcyhzZWxmLCBsb2NhbD1GYWxzZSk6CisgICAgICAgIHJlc3VsdHMgPSBbXQorICAgICAgICB3aXRoIHNlbGYuZ2V0X2Rpc3RpbmZvX2ZpbGUoJ1JFQ09SRCcpIGFzIHJlY29yZDoKKyAgICAgICAgICAgIHJlY29yZF9yZWFkZXIgPSBjc3YucmVhZGVyKHJlY29yZCwgZGVsaW1pdGVyPScsJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmV0ZXJtaW5hdG9yPSdcbicpCisgICAgICAgICAgICBmb3Igcm93IGluIHJlY29yZF9yZWFkZXI6CisgICAgICAgICAgICAgICAgbWlzc2luZyA9IFtOb25lIGZvciBpIGluIHJhbmdlKGxlbihyb3cpLCAzKV0KKyAgICAgICAgICAgICAgICBwYXRoLCBjaGVja3N1bSwgc2l6ZSA9IHJvdyArIG1pc3NpbmcKKyAgICAgICAgICAgICAgICBpZiBsb2NhbDoKKyAgICAgICAgICAgICAgICAgICAgcGF0aCA9IHBhdGgucmVwbGFjZSgnLycsIG9zLnNlcCkKKyAgICAgICAgICAgICAgICAgICAgcGF0aCA9IG9zLnBhdGguam9pbihzeXMucHJlZml4LCBwYXRoKQorICAgICAgICAgICAgICAgIHJlc3VsdHMuYXBwZW5kKChwYXRoLCBjaGVja3N1bSwgc2l6ZSkpCisgICAgICAgIHJldHVybiByZXN1bHRzCisKKyAgICBkZWYgZ2V0X3Jlc291cmNlX3BhdGgoc2VsZiwgcmVsYXRpdmVfcGF0aCk6CisgICAgICAgIHdpdGggc2VsZi5nZXRfZGlzdGluZm9fZmlsZSgnUkVTT1VSQ0VTJykgYXMgcmVzb3VyY2VzX2ZpbGU6CisgICAgICAgICAgICByZXNvdXJjZXNfcmVhZGVyID0gY3N2LnJlYWRlcihyZXNvdXJjZXNfZmlsZSwgZGVsaW1pdGVyPScsJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmV0ZXJtaW5hdG9yPSdcbicpCisgICAgICAgICAgICBmb3IgcmVsYXRpdmUsIGRlc3RpbmF0aW9uIGluIHJlc291cmNlc19yZWFkZXI6CisgICAgICAgICAgICAgICAgaWYgcmVsYXRpdmUgPT0gcmVsYXRpdmVfcGF0aDoKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGRlc3RpbmF0aW9uCisgICAgICAgIHJhaXNlIEtleUVycm9yKAorICAgICAgICAgICAgJ25vIHJlc291cmNlIGZpbGUgd2l0aCByZWxhdGl2ZSBwYXRoICVyIGlzIGluc3RhbGxlZCcgJQorICAgICAgICAgICAgcmVsYXRpdmVfcGF0aCkKKworICAgIGRlZiBsaXN0X2luc3RhbGxlZF9maWxlcyhzZWxmLCBsb2NhbD1GYWxzZSk6CisgICAgICAgICIiIgorICAgICAgICBJdGVyYXRlcyBvdmVyIHRoZSBgYFJFQ09SRGBgIGVudHJpZXMgYW5kIHJldHVybnMgYSB0dXBsZQorICAgICAgICBgYChwYXRoLCBtZDUsIHNpemUpYGAgZm9yIGVhY2ggbGluZS4gSWYgKmxvY2FsKiBpcyBgYFRydWVgYCwKKyAgICAgICAgdGhlIHJldHVybmVkIHBhdGggaXMgdHJhbnNmb3JtZWQgaW50byBhIGxvY2FsIGFic29sdXRlIHBhdGguCisgICAgICAgIE90aGVyd2lzZSB0aGUgcmF3IHZhbHVlIGZyb20gUkVDT1JEIGlzIHJldHVybmVkLgorCisgICAgICAgIEEgbG9jYWwgYWJzb2x1dGUgcGF0aCBpcyBhbiBhYnNvbHV0ZSBwYXRoIGluIHdoaWNoIG9jY3VycmVuY2VzIG9mCisgICAgICAgIGBgJy8nYGAgaGF2ZSBiZWVuIHJlcGxhY2VkIGJ5IHRoZSBzeXN0ZW0gc2VwYXJhdG9yIGdpdmVuIGJ5IGBgb3Muc2VwYGAuCisKKyAgICAgICAgOnBhcmFtZXRlciBsb2NhbDogZmxhZyB0byBzYXkgaWYgdGhlIHBhdGggc2hvdWxkIGJlIHJldHVybmVkIGFzIGEgbG9jYWwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgYWJzb2x1dGUgcGF0aAorCisgICAgICAgIDp0eXBlIGxvY2FsOiBib29sZWFuCisgICAgICAgIDpyZXR1cm5zOiBpdGVyYXRvciBvZiAocGF0aCwgbWQ1LCBzaXplKQorICAgICAgICAiIiIKKyAgICAgICAgZm9yIHJlc3VsdCBpbiBzZWxmLl9nZXRfcmVjb3Jkcyhsb2NhbCk6CisgICAgICAgICAgICB5aWVsZCByZXN1bHQKKworICAgIGRlZiB1c2VzKHNlbGYsIHBhdGgpOgorICAgICAgICAiIiIKKyAgICAgICAgUmV0dXJucyBgYFRydWVgYCBpZiBwYXRoIGlzIGxpc3RlZCBpbiBgYFJFQ09SRGBgLiAqcGF0aCogY2FuIGJlIGEgbG9jYWwKKyAgICAgICAgYWJzb2x1dGUgcGF0aCBvciBhIHJlbGF0aXZlIGBgJy8nYGAtc2VwYXJhdGVkIHBhdGguCisKKyAgICAgICAgOnJ0eXBlOiBib29sZWFuCisgICAgICAgICIiIgorICAgICAgICBmb3IgcCwgY2hlY2tzdW0sIHNpemUgaW4gc2VsZi5fZ2V0X3JlY29yZHMoKToKKyAgICAgICAgICAgIGxvY2FsX2Fic29sdXRlID0gb3MucGF0aC5qb2luKHN5cy5wcmVmaXgsIHApCisgICAgICAgICAgICBpZiBwYXRoID09IHAgb3IgcGF0aCA9PSBsb2NhbF9hYnNvbHV0ZToKKyAgICAgICAgICAgICAgICByZXR1cm4gVHJ1ZQorICAgICAgICByZXR1cm4gRmFsc2UKKworICAgIGRlZiBnZXRfZGlzdGluZm9fZmlsZShzZWxmLCBwYXRoLCBiaW5hcnk9RmFsc2UpOgorICAgICAgICAiIiIKKyAgICAgICAgUmV0dXJucyBhIGZpbGUgbG9jYXRlZCB1bmRlciB0aGUgYGAuZGlzdC1pbmZvYGAgZGlyZWN0b3J5LiBSZXR1cm5zIGEKKyAgICAgICAgYGBmaWxlYGAgaW5zdGFuY2UgZm9yIHRoZSBmaWxlIHBvaW50ZWQgYnkgKnBhdGgqLgorCisgICAgICAgIDpwYXJhbWV0ZXIgcGF0aDogYSBgYCcvJ2BgLXNlcGFyYXRlZCBwYXRoIHJlbGF0aXZlIHRvIHRoZQorICAgICAgICAgICAgICAgICAgICAgICAgIGBgLmRpc3QtaW5mb2BgIGRpcmVjdG9yeSBvciBhbiBhYnNvbHV0ZSBwYXRoOworICAgICAgICAgICAgICAgICAgICAgICAgIElmICpwYXRoKiBpcyBhbiBhYnNvbHV0ZSBwYXRoIGFuZCBkb2Vzbid0IHN0YXJ0CisgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aCB0aGUgYGAuZGlzdC1pbmZvYGAgZGlyZWN0b3J5IHBhdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgYSA6Y2xhc3M6YFBhY2thZ2luZ0Vycm9yYCBpcyByYWlzZWQKKyAgICAgICAgOnR5cGUgcGF0aDogc3RyaW5nCisgICAgICAgIDpwYXJhbWV0ZXIgYmluYXJ5OiBJZiAqYmluYXJ5KiBpcyBgYFRydWVgYCwgb3BlbnMgdGhlIGZpbGUgaW4gcmVhZC1vbmx5CisgICAgICAgICAgICAgICAgICAgICAgICAgICBiaW5hcnkgbW9kZSAoYGByYmBgKSwgb3RoZXJ3aXNlIG9wZW5zIGl0IGluCisgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkLW9ubHkgbW9kZSAoYGByYGApLgorICAgICAgICA6cnR5cGU6IGZpbGUgb2JqZWN0CisgICAgICAgICIiIgorICAgICAgICBvcGVuX2ZsYWdzID0gJ3InCisgICAgICAgIGlmIGJpbmFyeToKKyAgICAgICAgICAgIG9wZW5fZmxhZ3MgKz0gJ2InCisKKyAgICAgICAgIyBDaGVjayBpZiBpdCBpcyBhbiBhYnNvbHV0ZSBwYXRoICAjIFhYWCB1c2UgcmVscGF0aCwgYWRkIHRlc3RzCisgICAgICAgIGlmIHBhdGguZmluZChvcy5zZXApID49IDA6CisgICAgICAgICAgICAjIGl0J3MgYW4gYWJzb2x1dGUgcGF0aD8KKyAgICAgICAgICAgIGRpc3RpbmZvX2Rpcm5hbWUsIHBhdGggPSBwYXRoLnNwbGl0KG9zLnNlcClbLTI6XQorICAgICAgICAgICAgaWYgZGlzdGluZm9fZGlybmFtZSAhPSBzZWxmLnBhdGguc3BsaXQob3Muc2VwKVstMV06CisgICAgICAgICAgICAgICAgcmFpc2UgUGFja2FnaW5nRXJyb3IoCisgICAgICAgICAgICAgICAgICAgICdkaXN0LWluZm8gZmlsZSAlciBkb2VzIG5vdCBiZWxvbmcgdG8gdGhlICVyICVzICcKKyAgICAgICAgICAgICAgICAgICAgJ2Rpc3RyaWJ1dGlvbicgJSAocGF0aCwgc2VsZi5uYW1lLCBzZWxmLnZlcnNpb24pKQorCisgICAgICAgICMgVGhlIGZpbGUgbXVzdCBiZSByZWxhdGl2ZQorICAgICAgICBpZiBwYXRoIG5vdCBpbiBESVNUX0ZJTEVTOgorICAgICAgICAgICAgcmFpc2UgUGFja2FnaW5nRXJyb3IoJ2ludmFsaWQgcGF0aCBmb3IgYSBkaXN0LWluZm8gZmlsZTogJXInICUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGgpCisKKyAgICAgICAgcGF0aCA9IG9zLnBhdGguam9pbihzZWxmLnBhdGgsIHBhdGgpCisgICAgICAgIHJldHVybiBvcGVuKHBhdGgsIG9wZW5fZmxhZ3MpCisKKyAgICBkZWYgbGlzdF9kaXN0aW5mb19maWxlcyhzZWxmLCBsb2NhbD1GYWxzZSk6CisgICAgICAgICIiIgorICAgICAgICBJdGVyYXRlcyBvdmVyIHRoZSBgYFJFQ09SRGBgIGVudHJpZXMgYW5kIHJldHVybnMgcGF0aHMgZm9yIGVhY2ggbGluZSBpZgorICAgICAgICB0aGUgcGF0aCBpcyBwb2ludGluZyB0byBhIGZpbGUgbG9jYXRlZCBpbiB0aGUgYGAuZGlzdC1pbmZvYGAgZGlyZWN0b3J5CisgICAgICAgIG9yIG9uZSBvZiBpdHMgc3ViZGlyZWN0b3JpZXMuCisKKyAgICAgICAgOnBhcmFtZXRlciBsb2NhbDogSWYgKmxvY2FsKiBpcyBgYFRydWVgYCwgZWFjaCByZXR1cm5lZCBwYXRoIGlzCisgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybWVkIGludG8gYSBsb2NhbCBhYnNvbHV0ZSBwYXRoLiBPdGhlcndpc2UgdGhlCisgICAgICAgICAgICAgICAgICAgICAgICAgIHJhdyB2YWx1ZSBmcm9tIGBgUkVDT1JEYGAgaXMgcmV0dXJuZWQuCisgICAgICAgIDp0eXBlIGxvY2FsOiBib29sZWFuCisgICAgICAgIDpyZXR1cm5zOiBpdGVyYXRvciBvZiBwYXRocworICAgICAgICAiIiIKKyAgICAgICAgZm9yIHBhdGgsIGNoZWNrc3VtLCBzaXplIGluIHNlbGYuX2dldF9yZWNvcmRzKGxvY2FsKToKKyAgICAgICAgICAgICMgWFhYIGFkZCBzZXBhcmF0b3Igb3IgdXNlIHJlYWwgcmVscGF0aCBhbGdvCisgICAgICAgICAgICBpZiBwYXRoLnN0YXJ0c3dpdGgoc2VsZi5wYXRoKToKKyAgICAgICAgICAgICAgICB5aWVsZCBwYXRoCisKKyAgICBkZWYgX19lcV9fKHNlbGYsIG90aGVyKToKKyAgICAgICAgcmV0dXJuIGlzaW5zdGFuY2Uob3RoZXIsIERpc3RyaWJ1dGlvbikgYW5kIHNlbGYucGF0aCA9PSBvdGhlci5wYXRoCisKKyAgICAjIFNlZSBodHRwOi8vZG9jcy5weXRob24ub3JnL3JlZmVyZW5jZS9kYXRhbW9kZWwjb2JqZWN0Ll9faGFzaF9fCisgICAgX19oYXNoX18gPSBvYmplY3QuX19oYXNoX18KKworCitjbGFzcyBFZ2dJbmZvRGlzdHJpYnV0aW9uOgorICAgICIiIkNyZWF0ZWQgd2l0aCB0aGUgKnBhdGgqIG9mIHRoZSBgYC5lZ2ctaW5mb2BgIGRpcmVjdG9yeSBvciBmaWxlIHByb3ZpZGVkCisgICAgdG8gdGhlIGNvbnN0cnVjdG9yLiBJdCByZWFkcyB0aGUgbWV0YWRhdGEgY29udGFpbmVkIGluIHRoZSBmaWxlIGl0c2VsZiwgb3IKKyAgICBpZiB0aGUgZ2l2ZW4gcGF0aCBoYXBwZW5zIHRvIGJlIGEgZGlyZWN0b3J5LCB0aGUgbWV0YWRhdGEgaXMgcmVhZCBmcm9tIHRoZQorICAgIGZpbGUgYGBQS0ctSU5GT2BgIHVuZGVyIHRoYXQgZGlyZWN0b3J5LiIiIgorCisgICAgbmFtZSA9ICcnCisgICAgIiIiVGhlIG5hbWUgb2YgdGhlIGRpc3RyaWJ1dGlvbi4iIiIKKworICAgIHZlcnNpb24gPSAnJworICAgICIiIlRoZSB2ZXJzaW9uIG9mIHRoZSBkaXN0cmlidXRpb24uIiIiCisKKyAgICBtZXRhZGF0YSA9IE5vbmUKKyAgICAiIiJBIDpjbGFzczpgcGFja2FnaW5nLm1ldGFkYXRhLk1ldGFkYXRhYCBpbnN0YW5jZSBsb2FkZWQgd2l0aAorICAgIHRoZSBkaXN0cmlidXRpb24ncyBgYE1FVEFEQVRBYGAgZmlsZS4iIiIKKworICAgIF9SRVFVSVJFTUVOVCA9IHJlLmNvbXBpbGUoCisgICAgICAgIHInKD9QPG5hbWU+Wy1BLVphLXowLTlfLl0rKVxzKicKKyAgICAgICAgcicoP1A8Zmlyc3Q+KD86PHw8PXwhPXw9PXw+PXw+KVstQS1aYS16MC05Xy5dKyk/XHMqJworICAgICAgICByJyg/UDxyZXN0Pig/OlxzKixccyooPzo8fDw9fCE9fD09fD49fD4pWy1BLVphLXowLTlfLl0rKSopXHMqJworICAgICAgICByJyg/UDxleHRyYXM+XFsuKlxdKT8nKQorCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHBhdGgpOgorICAgICAgICBzZWxmLnBhdGggPSBwYXRoCisgICAgICAgIGlmIF9jYWNoZV9lbmFibGVkIGFuZCBwYXRoIGluIF9jYWNoZV9wYXRoX2VnZzoKKyAgICAgICAgICAgIHNlbGYubWV0YWRhdGEgPSBfY2FjaGVfcGF0aF9lZ2dbcGF0aF0ubWV0YWRhdGEKKyAgICAgICAgICAgIHNlbGYubmFtZSA9IHNlbGYubWV0YWRhdGFbJ05hbWUnXQorICAgICAgICAgICAgc2VsZi52ZXJzaW9uID0gc2VsZi5tZXRhZGF0YVsnVmVyc2lvbiddCisgICAgICAgICAgICByZXR1cm4KKworICAgICAgICAjIHJldXNlZCBmcm9tIERpc3RyaWJ1dGUncyBwa2dfcmVzb3VyY2VzCisgICAgICAgIGRlZiB5aWVsZF9saW5lcyhzdHJzKToKKyAgICAgICAgICAgICIiIllpZWxkIG5vbi1lbXB0eS9ub24tY29tbWVudCBsaW5lcyBvZiBhIGBgYmFzZXN0cmluZ2BgCisgICAgICAgICAgICBvciBzZXF1ZW5jZSIiIgorICAgICAgICAgICAgaWYgaXNpbnN0YW5jZShzdHJzLCBzdHIpOgorICAgICAgICAgICAgICAgIGZvciBzIGluIHN0cnMuc3BsaXRsaW5lcygpOgorICAgICAgICAgICAgICAgICAgICBzID0gcy5zdHJpcCgpCisgICAgICAgICAgICAgICAgICAgICMgc2tpcCBibGFuayBsaW5lcy9jb21tZW50cworICAgICAgICAgICAgICAgICAgICBpZiBzIGFuZCBub3Qgcy5zdGFydHN3aXRoKCcjJyk6CisgICAgICAgICAgICAgICAgICAgICAgICB5aWVsZCBzCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIGZvciBzcyBpbiBzdHJzOgorICAgICAgICAgICAgICAgICAgICBmb3IgcyBpbiB5aWVsZF9saW5lcyhzcyk6CisgICAgICAgICAgICAgICAgICAgICAgICB5aWVsZCBzCisKKyAgICAgICAgcmVxdWlyZXMgPSBOb25lCisKKyAgICAgICAgaWYgcGF0aC5lbmRzd2l0aCgnLmVnZycpOgorICAgICAgICAgICAgaWYgb3MucGF0aC5pc2RpcihwYXRoKToKKyAgICAgICAgICAgICAgICBtZXRhX3BhdGggPSBvcy5wYXRoLmpvaW4ocGF0aCwgJ0VHRy1JTkZPJywgJ1BLRy1JTkZPJykKKyAgICAgICAgICAgICAgICBzZWxmLm1ldGFkYXRhID0gTWV0YWRhdGEocGF0aD1tZXRhX3BhdGgpCisgICAgICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgICAgICByZXFfcGF0aCA9IG9zLnBhdGguam9pbihwYXRoLCAnRUdHLUlORk8nLCAncmVxdWlyZXMudHh0JykKKyAgICAgICAgICAgICAgICAgICAgd2l0aCBvcGVuKHJlcV9wYXRoLCAncicpIGFzIGZwOgorICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZXMgPSBmcC5yZWFkKCkKKyAgICAgICAgICAgICAgICBleGNlcHQgSU9FcnJvcjoKKyAgICAgICAgICAgICAgICAgICAgcmVxdWlyZXMgPSBOb25lCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICMgRklYTUUgaGFuZGxlIHRoZSBjYXNlIHdoZXJlIHppcGZpbGUgaXMgbm90IGF2YWlsYWJsZQorICAgICAgICAgICAgICAgIHppcGYgPSB6aXBpbXBvcnQuemlwaW1wb3J0ZXIocGF0aCkKKyAgICAgICAgICAgICAgICBmaWxlb2JqID0gU3RyaW5nSU8oCisgICAgICAgICAgICAgICAgICAgIHppcGYuZ2V0X2RhdGEoJ0VHRy1JTkZPL1BLRy1JTkZPJykuZGVjb2RlKCd1dGY4JykpCisgICAgICAgICAgICAgICAgc2VsZi5tZXRhZGF0YSA9IE1ldGFkYXRhKGZpbGVvYmo9ZmlsZW9iaikKKyAgICAgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVzID0gemlwZi5nZXRfZGF0YSgnRUdHLUlORk8vcmVxdWlyZXMudHh0JykKKyAgICAgICAgICAgICAgICBleGNlcHQgSU9FcnJvcjoKKyAgICAgICAgICAgICAgICAgICAgcmVxdWlyZXMgPSBOb25lCisgICAgICAgICAgICBzZWxmLm5hbWUgPSBzZWxmLm1ldGFkYXRhWydOYW1lJ10KKyAgICAgICAgICAgIHNlbGYudmVyc2lvbiA9IHNlbGYubWV0YWRhdGFbJ1ZlcnNpb24nXQorCisgICAgICAgIGVsaWYgcGF0aC5lbmRzd2l0aCgnLmVnZy1pbmZvJyk6CisgICAgICAgICAgICBpZiBvcy5wYXRoLmlzZGlyKHBhdGgpOgorICAgICAgICAgICAgICAgIHBhdGggPSBvcy5wYXRoLmpvaW4ocGF0aCwgJ1BLRy1JTkZPJykKKyAgICAgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgICAgIHdpdGggb3Blbihvcy5wYXRoLmpvaW4ocGF0aCwgJ3JlcXVpcmVzLnR4dCcpLCAncicpIGFzIGZwOgorICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZXMgPSBmcC5yZWFkKCkKKyAgICAgICAgICAgICAgICBleGNlcHQgSU9FcnJvcjoKKyAgICAgICAgICAgICAgICAgICAgcmVxdWlyZXMgPSBOb25lCisgICAgICAgICAgICBzZWxmLm1ldGFkYXRhID0gTWV0YWRhdGEocGF0aD1wYXRoKQorICAgICAgICAgICAgc2VsZi5uYW1lID0gc2VsZi5tZXRhZGF0YVsnTmFtZSddCisgICAgICAgICAgICBzZWxmLnZlcnNpb24gPSBzZWxmLm1ldGFkYXRhWydWZXJzaW9uJ10KKworICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigncGF0aCBtdXN0IGVuZCB3aXRoIC5lZ2ctaW5mbyBvciAuZWdnLCBnb3QgJXInICUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aCkKKworICAgICAgICBpZiByZXF1aXJlcyBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIGlmIHNlbGYubWV0YWRhdGFbJ01ldGFkYXRhLVZlcnNpb24nXSA9PSAnMS4xJzoKKyAgICAgICAgICAgICAgICAjIHdlIGNhbid0IGhhdmUgMS4xIG1ldGFkYXRhICphbmQqIFNldHVwdG9vbHMgcmVxdWlyZXMKKyAgICAgICAgICAgICAgICBmb3IgZmllbGQgaW4gKCdPYnNvbGV0ZXMnLCAnUmVxdWlyZXMnLCAnUHJvdmlkZXMnKToKKyAgICAgICAgICAgICAgICAgICAgZGVsIHNlbGYubWV0YWRhdGFbZmllbGRdCisKKyAgICAgICAgcmVxcyA9IFtdCisKKyAgICAgICAgaWYgcmVxdWlyZXMgaXMgbm90IE5vbmU6CisgICAgICAgICAgICBmb3IgbGluZSBpbiB5aWVsZF9saW5lcyhyZXF1aXJlcyk6CisgICAgICAgICAgICAgICAgaWYgbGluZS5zdGFydHN3aXRoKCdbJyk6CisgICAgICAgICAgICAgICAgICAgIGxvZ2dlci53YXJuaW5nKAorICAgICAgICAgICAgICAgICAgICAgICAgJ2V4dGVuc2lvbnMgaW4gcmVxdWlyZXMudHh0IGFyZSBub3Qgc3VwcG9ydGVkICcKKyAgICAgICAgICAgICAgICAgICAgICAgICcodXNlZCBieSAlciAlcyknLCBzZWxmLm5hbWUsIHNlbGYudmVyc2lvbikKKyAgICAgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICBtYXRjaCA9IHNlbGYuX1JFUVVJUkVNRU5ULm1hdGNoKGxpbmUuc3RyaXAoKSkKKyAgICAgICAgICAgICAgICAgICAgaWYgbm90IG1hdGNoOgorICAgICAgICAgICAgICAgICAgICAgICAgIyB0aGlzIGhhcHBlbnMgd2hlbiB3ZSBlbmNvdW50ZXIgZXh0cmFzOyBzaW5jZSB0aGV5CisgICAgICAgICAgICAgICAgICAgICAgICAjIGFyZSB3cml0dGVuIGF0IHRoZSBlbmQgb2YgdGhlIGZpbGUgd2UganVzdCBleGl0CisgICAgICAgICAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICAgICAgaWYgbWF0Y2guZ3JvdXAoJ2V4dHJhcycpOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zZyA9ICgnZXh0cmEgcmVxdWlyZW1lbnRzIGFyZSBub3Qgc3VwcG9ydGVkICcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyh1c2VkIGJ5ICVyICVzKScsIHNlbGYubmFtZSwgc2VsZi52ZXJzaW9uKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvZ2dlci53YXJuaW5nKG1zZywgc2VsZi5uYW1lKQorICAgICAgICAgICAgICAgICAgICAgICAgbmFtZSA9IG1hdGNoLmdyb3VwKCduYW1lJykKKyAgICAgICAgICAgICAgICAgICAgICAgIHZlcnNpb24gPSBOb25lCisgICAgICAgICAgICAgICAgICAgICAgICBpZiBtYXRjaC5ncm91cCgnZmlyc3QnKToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJzaW9uID0gbWF0Y2guZ3JvdXAoJ2ZpcnN0JykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiBtYXRjaC5ncm91cCgncmVzdCcpOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJzaW9uICs9IG1hdGNoLmdyb3VwKCdyZXN0JykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJzaW9uID0gdmVyc2lvbi5yZXBsYWNlKCcgJywgJycpICAjIHRyaW0gc3BhY2VzCisgICAgICAgICAgICAgICAgICAgICAgICBpZiB2ZXJzaW9uIGlzIE5vbmU6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxcy5hcHBlbmQobmFtZSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxcy5hcHBlbmQoJyVzICglcyknICUgKG5hbWUsIHZlcnNpb24pKQorCisgICAgICAgICAgICBpZiBsZW4ocmVxcykgPiAwOgorICAgICAgICAgICAgICAgIHNlbGYubWV0YWRhdGFbJ1JlcXVpcmVzLURpc3QnXSArPSByZXFzCisKKyAgICAgICAgaWYgX2NhY2hlX2VuYWJsZWQ6CisgICAgICAgICAgICBfY2FjaGVfcGF0aF9lZ2dbc2VsZi5wYXRoXSA9IHNlbGYKKworICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKKyAgICAgICAgcmV0dXJuICc8RWdnSW5mb0Rpc3RyaWJ1dGlvbiAlciAlcyBhdCAlcj4nICUgKAorICAgICAgICAgICAgc2VsZi5uYW1lLCBzZWxmLnZlcnNpb24sIHNlbGYucGF0aCkKKworICAgIGRlZiBsaXN0X2luc3RhbGxlZF9maWxlcyhzZWxmLCBsb2NhbD1GYWxzZSk6CisKKyAgICAgICAgZGVmIF9tZDUocGF0aCk6CisgICAgICAgICAgICB3aXRoIG9wZW4ocGF0aCwgJ3JiJykgYXMgZjoKKyAgICAgICAgICAgICAgICBjb250ZW50ID0gZi5yZWFkKCkKKyAgICAgICAgICAgIHJldHVybiBtZDUoY29udGVudCkuaGV4ZGlnZXN0KCkKKworICAgICAgICBkZWYgX3NpemUocGF0aCk6CisgICAgICAgICAgICByZXR1cm4gb3Muc3RhdChwYXRoKS5zdF9zaXplCisKKyAgICAgICAgcGF0aCA9IHNlbGYucGF0aAorICAgICAgICBpZiBsb2NhbDoKKyAgICAgICAgICAgIHBhdGggPSBwYXRoLnJlcGxhY2UoJy8nLCBvcy5zZXApCisKKyAgICAgICAgIyBYWFggV2hhdCBhYm91dCBzY3JpcHRzIGFuZCBkYXRhIGZpbGVzID8KKyAgICAgICAgaWYgb3MucGF0aC5pc2ZpbGUocGF0aCk6CisgICAgICAgICAgICByZXR1cm4gWyhwYXRoLCBfbWQ1KHBhdGgpLCBfc2l6ZShwYXRoKSldCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBmaWxlcyA9IFtdCisgICAgICAgICAgICBmb3Igcm9vdCwgZGlyLCBmaWxlc18gaW4gb3Mud2FsayhwYXRoKToKKyAgICAgICAgICAgICAgICBmb3IgaXRlbSBpbiBmaWxlc186CisgICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBvcy5wYXRoLmpvaW4ocm9vdCwgaXRlbSkKKyAgICAgICAgICAgICAgICAgICAgZmlsZXMuYXBwZW5kKChpdGVtLCBfbWQ1KGl0ZW0pLCBfc2l6ZShpdGVtKSkpCisgICAgICAgICAgICByZXR1cm4gZmlsZXMKKworICAgICAgICByZXR1cm4gW10KKworICAgIGRlZiB1c2VzKHNlbGYsIHBhdGgpOgorICAgICAgICByZXR1cm4gRmFsc2UKKworICAgIGRlZiBfX2VxX18oc2VsZiwgb3RoZXIpOgorICAgICAgICByZXR1cm4gKGlzaW5zdGFuY2Uob3RoZXIsIEVnZ0luZm9EaXN0cmlidXRpb24pIGFuZAorICAgICAgICAgICAgICAgIHNlbGYucGF0aCA9PSBvdGhlci5wYXRoKQorCisgICAgIyBTZWUgaHR0cDovL2RvY3MucHl0aG9uLm9yZy9yZWZlcmVuY2UvZGF0YW1vZGVsI29iamVjdC5fX2hhc2hfXworICAgIF9faGFzaF9fID0gb2JqZWN0Ll9faGFzaF9fCisKKworZGVmIGRpc3RpbmZvX2Rpcm5hbWUobmFtZSwgdmVyc2lvbik6CisgICAgIiIiCisgICAgVGhlICpuYW1lKiBhbmQgKnZlcnNpb24qIHBhcmFtZXRlcnMgYXJlIGNvbnZlcnRlZCBpbnRvIHRoZWlyCisgICAgZmlsZW5hbWUtZXNjYXBlZCBmb3JtLCBpLmUuIGFueSBgYCctJ2BgIGNoYXJhY3RlcnMgYXJlIHJlcGxhY2VkCisgICAgd2l0aCBgYCdfJ2BgIG90aGVyIHRoYW4gdGhlIG9uZSBpbiBgYCdkaXN0LWluZm8nYGAgYW5kIHRoZSBvbmUKKyAgICBzZXBhcmF0aW5nIHRoZSBuYW1lIGZyb20gdGhlIHZlcnNpb24gbnVtYmVyLgorCisgICAgOnBhcmFtZXRlciBuYW1lOiBpcyBjb252ZXJ0ZWQgdG8gYSBzdGFuZGFyZCBkaXN0cmlidXRpb24gbmFtZSBieSByZXBsYWNpbmcKKyAgICAgICAgICAgICAgICAgICAgIGFueSBydW5zIG9mIG5vbi0gYWxwaGFudW1lcmljIGNoYXJhY3RlcnMgd2l0aCBhIHNpbmdsZQorICAgICAgICAgICAgICAgICAgICAgYGAnLSdgYC4KKyAgICA6dHlwZSBuYW1lOiBzdHJpbmcKKyAgICA6cGFyYW1ldGVyIHZlcnNpb246IGlzIGNvbnZlcnRlZCB0byBhIHN0YW5kYXJkIHZlcnNpb24gc3RyaW5nLiBTcGFjZXMKKyAgICAgICAgICAgICAgICAgICAgICAgIGJlY29tZSBkb3RzLCBhbmQgYWxsIG90aGVyIG5vbi1hbHBoYW51bWVyaWMgY2hhcmFjdGVycworICAgICAgICAgICAgICAgICAgICAgICAgKGV4Y2VwdCBkb3RzKSBiZWNvbWUgZGFzaGVzLCB3aXRoIHJ1bnMgb2YgbXVsdGlwbGUKKyAgICAgICAgICAgICAgICAgICAgICAgIGRhc2hlcyBjb25kZW5zZWQgdG8gYSBzaW5nbGUgZGFzaC4KKyAgICA6dHlwZSB2ZXJzaW9uOiBzdHJpbmcKKyAgICA6cmV0dXJuczogZGlyZWN0b3J5IG5hbWUKKyAgICA6cnR5cGU6IHN0cmluZyIiIgorICAgIGZpbGVfZXh0ZW5zaW9uID0gJy5kaXN0LWluZm8nCisgICAgbmFtZSA9IG5hbWUucmVwbGFjZSgnLScsICdfJykKKyAgICBub3JtYWxpemVkX3ZlcnNpb24gPSBzdWdnZXN0X25vcm1hbGl6ZWRfdmVyc2lvbih2ZXJzaW9uKQorICAgICMgQmVjYXVzZSB0aGlzIGlzIGEgbG9va3VwIHByb2NlZHVyZSwgc29tZXRoaW5nIHdpbGwgYmUgcmV0dXJuZWQgZXZlbiBpZgorICAgICMgICBpdCBpcyBhIHZlcnNpb24gdGhhdCBjYW5ub3QgYmUgbm9ybWFsaXplZAorICAgIGlmIG5vcm1hbGl6ZWRfdmVyc2lvbiBpcyBOb25lOgorICAgICAgICAjIFVuYWJsZSB0byBhY2hpZXZlIG5vcm1hbGl0eT8KKyAgICAgICAgbm9ybWFsaXplZF92ZXJzaW9uID0gdmVyc2lvbgorICAgIHJldHVybiAnLScuam9pbihbbmFtZSwgbm9ybWFsaXplZF92ZXJzaW9uXSkgKyBmaWxlX2V4dGVuc2lvbgorCisKK2RlZiBnZXRfZGlzdHJpYnV0aW9ucyh1c2VfZWdnX2luZm89RmFsc2UsIHBhdGhzPU5vbmUpOgorICAgICIiIgorICAgIFByb3ZpZGVzIGFuIGl0ZXJhdG9yIHRoYXQgbG9va3MgZm9yIGBgLmRpc3QtaW5mb2BgIGRpcmVjdG9yaWVzIGluCisgICAgYGBzeXMucGF0aGBgIGFuZCByZXR1cm5zIDpjbGFzczpgRGlzdHJpYnV0aW9uYCBpbnN0YW5jZXMgZm9yIGVhY2ggb25lIG9mCisgICAgdGhlbS4gSWYgdGhlIHBhcmFtZXRlcnMgKnVzZV9lZ2dfaW5mbyogaXMgYGBUcnVlYGAsIHRoZW4gdGhlIGBgLmVnZy1pbmZvYGAKKyAgICBmaWxlcyBhbmQgZGlyZWN0b3JlcyBhcmUgaXRlcmF0ZWQgYXMgd2VsbC4KKworICAgIDpydHlwZTogaXRlcmF0b3Igb2YgOmNsYXNzOmBEaXN0cmlidXRpb25gIGFuZCA6Y2xhc3M6YEVnZ0luZm9EaXN0cmlidXRpb25gCisgICAgICAgICAgICBpbnN0YW5jZXMKKyAgICAiIiIKKyAgICBpZiBwYXRocyBpcyBOb25lOgorICAgICAgICBwYXRocyA9IHN5cy5wYXRoCisKKyAgICBpZiBub3QgX2NhY2hlX2VuYWJsZWQ6CisgICAgICAgIGZvciBkaXN0IGluIF95aWVsZF9kaXN0cmlidXRpb25zKFRydWUsIHVzZV9lZ2dfaW5mbywgcGF0aHMpOgorICAgICAgICAgICAgeWllbGQgZGlzdAorICAgIGVsc2U6CisgICAgICAgIF9nZW5lcmF0ZV9jYWNoZSh1c2VfZWdnX2luZm8sIHBhdGhzKQorCisgICAgICAgIGZvciBkaXN0IGluIF9jYWNoZV9wYXRoLnZhbHVlcygpOgorICAgICAgICAgICAgeWllbGQgZGlzdAorCisgICAgICAgIGlmIHVzZV9lZ2dfaW5mbzoKKyAgICAgICAgICAgIGZvciBkaXN0IGluIF9jYWNoZV9wYXRoX2VnZy52YWx1ZXMoKToKKyAgICAgICAgICAgICAgICB5aWVsZCBkaXN0CisKKworZGVmIGdldF9kaXN0cmlidXRpb24obmFtZSwgdXNlX2VnZ19pbmZvPUZhbHNlLCBwYXRocz1Ob25lKToKKyAgICAiIiIKKyAgICBTY2FucyBhbGwgZWxlbWVudHMgaW4gYGBzeXMucGF0aGBgIGFuZCBsb29rcyBmb3IgYWxsIGRpcmVjdG9yaWVzCisgICAgZW5kaW5nIHdpdGggYGAuZGlzdC1pbmZvYGAuIFJldHVybnMgYSA6Y2xhc3M6YERpc3RyaWJ1dGlvbmAKKyAgICBjb3JyZXNwb25kaW5nIHRvIHRoZSBgYC5kaXN0LWluZm9gYCBkaXJlY3RvcnkgdGhhdCBjb250YWlucyB0aGUKKyAgICBgYE1FVEFEQVRBYGAgdGhhdCBtYXRjaGVzICpuYW1lKiBmb3IgdGhlICpuYW1lKiBtZXRhZGF0YSBmaWVsZC4KKyAgICBJZiBubyBkaXN0cmlidXRpb24gZXhpc3RzIHdpdGggdGhlIGdpdmVuICpuYW1lKiBhbmQgdGhlIHBhcmFtZXRlcgorICAgICp1c2VfZWdnX2luZm8qIGlzIHNldCB0byBgYFRydWVgYCwgdGhlbiBhbGwgZmlsZXMgYW5kIGRpcmVjdG9yaWVzIGVuZGluZworICAgIHdpdGggYGAuZWdnLWluZm9gYCBhcmUgc2Nhbm5lZC4gQSA6Y2xhc3M6YEVnZ0luZm9EaXN0cmlidXRpb25gIGluc3RhbmNlIGlzCisgICAgcmV0dXJuZWQgaWYgb25lIGlzIGZvdW5kIHRoYXQgaGFzIG1ldGFkYXRhIHRoYXQgbWF0Y2hlcyAqbmFtZSogZm9yIHRoZQorICAgICpuYW1lKiBtZXRhZGF0YSBmaWVsZC4KKworICAgIFRoaXMgZnVuY3Rpb24gb25seSByZXR1cm5zIHRoZSBmaXJzdCByZXN1bHQgZm91bmQsIGFzIG5vIG1vcmUgdGhhbiBvbmUKKyAgICB2YWx1ZSBpcyBleHBlY3RlZC4gSWYgdGhlIGRpcmVjdG9yeSBpcyBub3QgZm91bmQsIGBgTm9uZWBgIGlzIHJldHVybmVkLgorCisgICAgOnJ0eXBlOiA6Y2xhc3M6YERpc3RyaWJ1dGlvbmAgb3IgOmNsYXNzOmBFZ2dJbmZvRGlzdHJpYnV0aW9uYCBvciBOb25lCisgICAgIiIiCisgICAgaWYgcGF0aHMgaXMgTm9uZToKKyAgICAgICAgcGF0aHMgPSBzeXMucGF0aAorCisgICAgaWYgbm90IF9jYWNoZV9lbmFibGVkOgorICAgICAgICBmb3IgZGlzdCBpbiBfeWllbGRfZGlzdHJpYnV0aW9ucyhUcnVlLCB1c2VfZWdnX2luZm8sIHBhdGhzKToKKyAgICAgICAgICAgIGlmIGRpc3QubmFtZSA9PSBuYW1lOgorICAgICAgICAgICAgICAgIHJldHVybiBkaXN0CisgICAgZWxzZToKKyAgICAgICAgX2dlbmVyYXRlX2NhY2hlKHVzZV9lZ2dfaW5mbywgcGF0aHMpCisKKyAgICAgICAgaWYgbmFtZSBpbiBfY2FjaGVfbmFtZToKKyAgICAgICAgICAgIHJldHVybiBfY2FjaGVfbmFtZVtuYW1lXVswXQorICAgICAgICBlbGlmIHVzZV9lZ2dfaW5mbyBhbmQgbmFtZSBpbiBfY2FjaGVfbmFtZV9lZ2c6CisgICAgICAgICAgICByZXR1cm4gX2NhY2hlX25hbWVfZWdnW25hbWVdWzBdCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByZXR1cm4gTm9uZQorCisKK2RlZiBvYnNvbGV0ZXNfZGlzdHJpYnV0aW9uKG5hbWUsIHZlcnNpb249Tm9uZSwgdXNlX2VnZ19pbmZvPUZhbHNlKToKKyAgICAiIiIKKyAgICBJdGVyYXRlcyBvdmVyIGFsbCBkaXN0cmlidXRpb25zIHRvIGZpbmQgd2hpY2ggZGlzdHJpYnV0aW9ucyBvYnNvbGV0ZQorICAgICpuYW1lKi4KKworICAgIElmIGEgKnZlcnNpb24qIGlzIHByb3ZpZGVkLCBpdCB3aWxsIGJlIHVzZWQgdG8gZmlsdGVyIHRoZSByZXN1bHRzLgorICAgIElmIHRoZSBhcmd1bWVudCAqdXNlX2VnZ19pbmZvKiBpcyBzZXQgdG8gYGBUcnVlYGAsIHRoZW4gYGAuZWdnLWluZm9gYAorICAgIGRpc3RyaWJ1dGlvbnMgd2lsbCBiZSBjb25zaWRlcmVkIGFzIHdlbGwuCisKKyAgICA6dHlwZSBuYW1lOiBzdHJpbmcKKyAgICA6dHlwZSB2ZXJzaW9uOiBzdHJpbmcKKyAgICA6cGFyYW1ldGVyIG5hbWU6CisgICAgIiIiCisgICAgZm9yIGRpc3QgaW4gZ2V0X2Rpc3RyaWJ1dGlvbnModXNlX2VnZ19pbmZvKToKKyAgICAgICAgb2Jzb2xldGVkID0gKGRpc3QubWV0YWRhdGFbJ09ic29sZXRlcy1EaXN0J10gKworICAgICAgICAgICAgICAgICAgICAgZGlzdC5tZXRhZGF0YVsnT2Jzb2xldGVzJ10pCisgICAgICAgIGZvciBvYnMgaW4gb2Jzb2xldGVkOgorICAgICAgICAgICAgb19jb21wb25lbnRzID0gb2JzLnNwbGl0KCcgJywgMSkKKyAgICAgICAgICAgIGlmIGxlbihvX2NvbXBvbmVudHMpID09IDEgb3IgdmVyc2lvbiBpcyBOb25lOgorICAgICAgICAgICAgICAgIGlmIG5hbWUgPT0gb19jb21wb25lbnRzWzBdOgorICAgICAgICAgICAgICAgICAgICB5aWVsZCBkaXN0CisgICAgICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICAgICAgcHJlZGljYXRlID0gVmVyc2lvblByZWRpY2F0ZShvYnMpCisgICAgICAgICAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3I6CisgICAgICAgICAgICAgICAgICAgIHJhaXNlIFBhY2thZ2luZ0Vycm9yKAorICAgICAgICAgICAgICAgICAgICAgICAgJ2Rpc3RyaWJ1dGlvbiAlciBoYXMgaWxsLWZvcm1lZCBvYnNvbGV0ZXMgZmllbGQ6ICcKKyAgICAgICAgICAgICAgICAgICAgICAgICclcicgJSAoZGlzdC5uYW1lLCBvYnMpKQorICAgICAgICAgICAgICAgIGlmIG5hbWUgPT0gb19jb21wb25lbnRzWzBdIGFuZCBwcmVkaWNhdGUubWF0Y2godmVyc2lvbik6CisgICAgICAgICAgICAgICAgICAgIHlpZWxkIGRpc3QKKyAgICAgICAgICAgICAgICAgICAgYnJlYWsKKworCitkZWYgcHJvdmlkZXNfZGlzdHJpYnV0aW9uKG5hbWUsIHZlcnNpb249Tm9uZSwgdXNlX2VnZ19pbmZvPUZhbHNlKToKKyAgICAiIiIKKyAgICBJdGVyYXRlcyBvdmVyIGFsbCBkaXN0cmlidXRpb25zIHRvIGZpbmQgd2hpY2ggZGlzdHJpYnV0aW9ucyBwcm92aWRlICpuYW1lKi4KKyAgICBJZiBhICp2ZXJzaW9uKiBpcyBwcm92aWRlZCwgaXQgd2lsbCBiZSB1c2VkIHRvIGZpbHRlciB0aGUgcmVzdWx0cy4gU2NhbnMKKyAgICBhbGwgZWxlbWVudHMgaW4gYGBzeXMucGF0aGBgICBhbmQgbG9va3MgZm9yIGFsbCBkaXJlY3RvcmllcyBlbmRpbmcgd2l0aAorICAgIGBgLmRpc3QtaW5mb2BgLiBSZXR1cm5zIGEgOmNsYXNzOmBEaXN0cmlidXRpb25gICBjb3JyZXNwb25kaW5nIHRvIHRoZQorICAgIGBgLmRpc3QtaW5mb2BgIGRpcmVjdG9yeSB0aGF0IGNvbnRhaW5zIGEgYGBNRVRBREFUQWBgIHRoYXQgbWF0Y2hlcyAqbmFtZSoKKyAgICBmb3IgdGhlIG5hbWUgbWV0YWRhdGEuIElmIHRoZSBhcmd1bWVudCAqdXNlX2VnZ19pbmZvKiBpcyBzZXQgdG8gYGBUcnVlYGAsCisgICAgdGhlbiBhbGwgZmlsZXMgYW5kIGRpcmVjdG9yaWVzIGVuZGluZyB3aXRoIGBgLmVnZy1pbmZvYGAgYXJlIGNvbnNpZGVyZWQKKyAgICBhcyB3ZWxsIGFuZCByZXR1cm5zIGFuIDpjbGFzczpgRWdnSW5mb0Rpc3RyaWJ1dGlvbmAgaW5zdGFuY2UuCisKKyAgICBUaGlzIGZ1bmN0aW9uIG9ubHkgcmV0dXJucyB0aGUgZmlyc3QgcmVzdWx0IGZvdW5kLCBzaW5jZSBubyBtb3JlIHRoYW4KKyAgICBvbmUgdmFsdWVzIGFyZSBleHBlY3RlZC4gSWYgdGhlIGRpcmVjdG9yeSBpcyBub3QgZm91bmQsIHJldHVybnMgYGBOb25lYGAuCisKKyAgICA6cGFyYW1ldGVyIHZlcnNpb246IGEgdmVyc2lvbiBzcGVjaWZpZXIgdGhhdCBpbmRpY2F0ZXMgdGhlIHZlcnNpb24KKyAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkLCBjb25mb3JtaW5nIHRvIHRoZSBmb3JtYXQgaW4gYGBQRVAtMzQ1YGAKKworICAgIDp0eXBlIG5hbWU6IHN0cmluZworICAgIDp0eXBlIHZlcnNpb246IHN0cmluZworICAgICIiIgorICAgIHByZWRpY2F0ZSA9IE5vbmUKKyAgICBpZiBub3QgdmVyc2lvbiBpcyBOb25lOgorICAgICAgICB0cnk6CisgICAgICAgICAgICBwcmVkaWNhdGUgPSBWZXJzaW9uUHJlZGljYXRlKG5hbWUgKyAnICgnICsgdmVyc2lvbiArICcpJykKKyAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3I6CisgICAgICAgICAgICByYWlzZSBQYWNrYWdpbmdFcnJvcignaW52YWxpZCBuYW1lIG9yIHZlcnNpb246ICVyLCAlcicgJQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG5hbWUsIHZlcnNpb24pKQorCisgICAgZm9yIGRpc3QgaW4gZ2V0X2Rpc3RyaWJ1dGlvbnModXNlX2VnZ19pbmZvKToKKyAgICAgICAgcHJvdmlkZWQgPSBkaXN0Lm1ldGFkYXRhWydQcm92aWRlcy1EaXN0J10gKyBkaXN0Lm1ldGFkYXRhWydQcm92aWRlcyddCisKKyAgICAgICAgZm9yIHAgaW4gcHJvdmlkZWQ6CisgICAgICAgICAgICBwX2NvbXBvbmVudHMgPSBwLnJzcGxpdCgnICcsIDEpCisgICAgICAgICAgICBpZiBsZW4ocF9jb21wb25lbnRzKSA9PSAxIG9yIHByZWRpY2F0ZSBpcyBOb25lOgorICAgICAgICAgICAgICAgIGlmIG5hbWUgPT0gcF9jb21wb25lbnRzWzBdOgorICAgICAgICAgICAgICAgICAgICB5aWVsZCBkaXN0CisgICAgICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHBfbmFtZSwgcF92ZXIgPSBwX2NvbXBvbmVudHMKKyAgICAgICAgICAgICAgICBpZiBsZW4ocF92ZXIpIDwgMiBvciBwX3ZlclswXSAhPSAnKCcgb3IgcF92ZXJbLTFdICE9ICcpJzoKKyAgICAgICAgICAgICAgICAgICAgcmFpc2UgUGFja2FnaW5nRXJyb3IoCisgICAgICAgICAgICAgICAgICAgICAgICAnZGlzdHJpYnV0aW9uICVyIGhhcyBpbnZhbGlkIFByb3ZpZGVzIGZpZWxkOiAlcicgJQorICAgICAgICAgICAgICAgICAgICAgICAgKGRpc3QubmFtZSwgcCkpCisgICAgICAgICAgICAgICAgcF92ZXIgPSBwX3ZlclsxOi0xXSAgIyB0cmltIG9mZiB0aGUgcGFyZW50aGVzaXMKKyAgICAgICAgICAgICAgICBpZiBwX25hbWUgPT0gbmFtZSBhbmQgcHJlZGljYXRlLm1hdGNoKHBfdmVyKToKKyAgICAgICAgICAgICAgICAgICAgeWllbGQgZGlzdAorICAgICAgICAgICAgICAgICAgICBicmVhaworCisKK2RlZiBnZXRfZmlsZV91c2VycyhwYXRoKToKKyAgICAiIiIKKyAgICBJdGVyYXRlcyBvdmVyIGFsbCBkaXN0cmlidXRpb25zIHRvIGZpbmQgb3V0IHdoaWNoIGRpc3RyaWJ1dGlvbnMgdXNlCisgICAgKnBhdGgqLgorCisgICAgOnBhcmFtZXRlciBwYXRoOiBjYW4gYmUgYSBsb2NhbCBhYnNvbHV0ZSBwYXRoIG9yIGEgcmVsYXRpdmUKKyAgICAgICAgICAgICAgICAgICAgIGBgJy8nYGAtc2VwYXJhdGVkIHBhdGguCisgICAgOnR5cGUgcGF0aDogc3RyaW5nCisgICAgOnJ0eXBlOiBpdGVyYXRvciBvZiA6Y2xhc3M6YERpc3RyaWJ1dGlvbmAgaW5zdGFuY2VzCisgICAgIiIiCisgICAgZm9yIGRpc3QgaW4gZ2V0X2Rpc3RyaWJ1dGlvbnMoKToKKyAgICAgICAgaWYgZGlzdC51c2VzKHBhdGgpOgorICAgICAgICAgICAgeWllbGQgZGlzdAorCisKK2RlZiBnZXRfZmlsZV9wYXRoKGRpc3RyaWJ1dGlvbl9uYW1lLCByZWxhdGl2ZV9wYXRoKToKKyAgICAiIiJSZXR1cm4gdGhlIHBhdGggdG8gYSByZXNvdXJjZSBmaWxlLiIiIgorICAgIGRpc3QgPSBnZXRfZGlzdHJpYnV0aW9uKGRpc3RyaWJ1dGlvbl9uYW1lKQorICAgIGlmIGRpc3QgaXMgbm90IE5vbmU6CisgICAgICAgIHJldHVybiBkaXN0LmdldF9yZXNvdXJjZV9wYXRoKHJlbGF0aXZlX3BhdGgpCisgICAgcmFpc2UgTG9va3VwRXJyb3IoJ25vIGRpc3RyaWJ1dGlvbiBuYW1lZCAlciBmb3VuZCcgJSBkaXN0cmlidXRpb25fbmFtZSkKKworCitkZWYgZ2V0X2ZpbGUoZGlzdHJpYnV0aW9uX25hbWUsIHJlbGF0aXZlX3BhdGgsICphcmdzLCAqKmt3YXJncyk6CisgICAgIiIiT3BlbiBhbmQgcmV0dXJuIGEgcmVzb3VyY2UgZmlsZS4iIiIKKyAgICByZXR1cm4gb3BlbihnZXRfZmlsZV9wYXRoKGRpc3RyaWJ1dGlvbl9uYW1lLCByZWxhdGl2ZV9wYXRoKSwKKyAgICAgICAgICAgICAgICAqYXJncywgKiprd2FyZ3MpCmRpZmYgLS1naXQgYS9MaWIvcGFja2FnaW5nL2RlcGdyYXBoLnB5IGIvTGliL3BhY2thZ2luZy9kZXBncmFwaC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNjMzYjYzCi0tLSAvZGV2L251bGwKKysrIGIvTGliL3BhY2thZ2luZy9kZXBncmFwaC5weQpAQCAtMCwwICsxLDI3MCBAQAorIiIiQ2xhc3MgYW5kIGZ1bmN0aW9ucyBkZWFsaW5nIHdpdGggZGVwZW5kZW5jaWVzIGJldHdlZW4gZGlzdHJpYnV0aW9ucy4KKworVGhpcyBtb2R1bGUgcHJvdmlkZXMgYSBEZXBlbmRlbmN5R3JhcGggY2xhc3MgdG8gcmVwcmVzZW50IHRoZQorZGVwZW5kZW5jaWVzIGJldHdlZW4gZGlzdHJpYnV0aW9ucy4gIEF1eGlsaWFyeSBmdW5jdGlvbnMgY2FuIGdlbmVyYXRlIGEKK2dyYXBoLCBmaW5kIHJldmVyc2UgZGVwZW5kZW5jaWVzLCBhbmQgcHJpbnQgYSBncmFwaCBpbiBET1QgZm9ybWF0LgorIiIiCisKK2ltcG9ydCBzeXMKKworZnJvbSBpbyBpbXBvcnQgU3RyaW5nSU8KK2Zyb20gcGFja2FnaW5nLmVycm9ycyBpbXBvcnQgUGFja2FnaW5nRXJyb3IKK2Zyb20gcGFja2FnaW5nLnZlcnNpb24gaW1wb3J0IFZlcnNpb25QcmVkaWNhdGUsIElycmF0aW9uYWxWZXJzaW9uRXJyb3IKKworX19hbGxfXyA9IFsnRGVwZW5kZW5jeUdyYXBoJywgJ2dlbmVyYXRlX2dyYXBoJywgJ2RlcGVuZGVudF9kaXN0cycsCisgICAgICAgICAgICdncmFwaF90b19kb3QnXQorCisKK2NsYXNzIERlcGVuZGVuY3lHcmFwaDoKKyAgICAiIiIKKyAgICBSZXByZXNlbnRzIGEgZGVwZW5kZW5jeSBncmFwaCBiZXR3ZWVuIGRpc3RyaWJ1dGlvbnMuCisKKyAgICBUaGUgZGVwZW5kZW5jeSByZWxhdGlvbnNoaXBzIGFyZSBzdG9yZWQgaW4gYW4gYGBhZGphY2VuY3lfbGlzdGBgIHRoYXQgbWFwcworICAgIGRpc3RyaWJ1dGlvbnMgdG8gYSBsaXN0IG9mIGBgKG90aGVyLCBsYWJlbClgYCB0dXBsZXMgd2hlcmUgIGBgb3RoZXJgYAorICAgIGlzIGEgZGlzdHJpYnV0aW9uIGFuZCB0aGUgZWRnZSBpcyBsYWJlbGVkIHdpdGggYGBsYWJlbGBgIChpLmUuIHRoZSB2ZXJzaW9uCisgICAgc3BlY2lmaWVyLCBpZiBzdWNoIHdhcyBwcm92aWRlZCkuIEFsc28sIGZvciBtb3JlIGVmZmljaWVudCB0cmF2ZXJzYWwsIGZvcgorICAgIGV2ZXJ5IGRpc3RyaWJ1dGlvbiBgYHhgYCwgYSBsaXN0IG9mIHByZWRlY2Vzc29ycyBpcyBrZXB0IGluCisgICAgYGByZXZlcnNlX2xpc3RbeF1gYC4gQW4gZWRnZSBmcm9tIGRpc3RyaWJ1dGlvbiBgYGFgYCB0bworICAgIGRpc3RyaWJ1dGlvbiBgYGJgYCBtZWFucyB0aGF0IGBgYWBgIGRlcGVuZHMgb24gYGBiYGAuIElmIGFueSBtaXNzaW5nCisgICAgZGVwZW5kZW5jaWVzIGFyZSBmb3VuZCwgdGhleSBhcmUgc3RvcmVkIGluIGBgbWlzc2luZ2BgLCB3aGljaCBpcyBhCisgICAgZGljdGlvbmFyeSB0aGF0IG1hcHMgZGlzdHJpYnV0aW9ucyB0byBhIGxpc3Qgb2YgcmVxdWlyZW1lbnRzIHRoYXQgd2VyZSBub3QKKyAgICBwcm92aWRlZCBieSBhbnkgb3RoZXIgZGlzdHJpYnV0aW9ucy4KKyAgICAiIiIKKworICAgIGRlZiBfX2luaXRfXyhzZWxmKToKKyAgICAgICAgc2VsZi5hZGphY2VuY3lfbGlzdCA9IHt9CisgICAgICAgIHNlbGYucmV2ZXJzZV9saXN0ID0ge30KKyAgICAgICAgc2VsZi5taXNzaW5nID0ge30KKworICAgIGRlZiBhZGRfZGlzdHJpYnV0aW9uKHNlbGYsIGRpc3RyaWJ1dGlvbik6CisgICAgICAgICIiIkFkZCB0aGUgKmRpc3RyaWJ1dGlvbiogdG8gdGhlIGdyYXBoLgorCisgICAgICAgIDp0eXBlIGRpc3RyaWJ1dGlvbjogOmNsYXNzOmBwYWNrYWdpbmcuZGF0YWJhc2UuRGlzdHJpYnV0aW9uYCBvcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpjbGFzczpgcGFja2FnaW5nLmRhdGFiYXNlLkVnZ0luZm9EaXN0cmlidXRpb25gCisgICAgICAgICIiIgorICAgICAgICBzZWxmLmFkamFjZW5jeV9saXN0W2Rpc3RyaWJ1dGlvbl0gPSBbXQorICAgICAgICBzZWxmLnJldmVyc2VfbGlzdFtkaXN0cmlidXRpb25dID0gW10KKyAgICAgICAgc2VsZi5taXNzaW5nW2Rpc3RyaWJ1dGlvbl0gPSBbXQorCisgICAgZGVmIGFkZF9lZGdlKHNlbGYsIHgsIHksIGxhYmVsPU5vbmUpOgorICAgICAgICAiIiJBZGQgYW4gZWRnZSBmcm9tIGRpc3RyaWJ1dGlvbiAqeCogdG8gZGlzdHJpYnV0aW9uICp5KiB3aXRoIHRoZSBnaXZlbgorICAgICAgICAqbGFiZWwqLgorCisgICAgICAgIDp0eXBlIHg6IDpjbGFzczpgcGFja2FnaW5nLmRhdGFiYXNlLkRpc3RyaWJ1dGlvbmAgb3IKKyAgICAgICAgICAgICAgICAgOmNsYXNzOmBwYWNrYWdpbmcuZGF0YWJhc2UuRWdnSW5mb0Rpc3RyaWJ1dGlvbmAKKyAgICAgICAgOnR5cGUgeTogOmNsYXNzOmBwYWNrYWdpbmcuZGF0YWJhc2UuRGlzdHJpYnV0aW9uYCBvcgorICAgICAgICAgICAgICAgICA6Y2xhc3M6YHBhY2thZ2luZy5kYXRhYmFzZS5FZ2dJbmZvRGlzdHJpYnV0aW9uYAorICAgICAgICA6dHlwZSBsYWJlbDogYGBzdHJgYCBvciBgYE5vbmVgYAorICAgICAgICAiIiIKKyAgICAgICAgc2VsZi5hZGphY2VuY3lfbGlzdFt4XS5hcHBlbmQoKHksIGxhYmVsKSkKKyAgICAgICAgIyBtdWx0aXBsZSBlZGdlcyBhcmUgYWxsb3dlZCwgc28gYmUgY2FyZWZ1bAorICAgICAgICBpZiB4IG5vdCBpbiBzZWxmLnJldmVyc2VfbGlzdFt5XToKKyAgICAgICAgICAgIHNlbGYucmV2ZXJzZV9saXN0W3ldLmFwcGVuZCh4KQorCisgICAgZGVmIGFkZF9taXNzaW5nKHNlbGYsIGRpc3RyaWJ1dGlvbiwgcmVxdWlyZW1lbnQpOgorICAgICAgICAiIiIKKyAgICAgICAgQWRkIGEgbWlzc2luZyAqcmVxdWlyZW1lbnQqIGZvciB0aGUgZ2l2ZW4gKmRpc3RyaWJ1dGlvbiouCisKKyAgICAgICAgOnR5cGUgZGlzdHJpYnV0aW9uOiA6Y2xhc3M6YHBhY2thZ2luZy5kYXRhYmFzZS5EaXN0cmlidXRpb25gIG9yCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmNsYXNzOmBwYWNrYWdpbmcuZGF0YWJhc2UuRWdnSW5mb0Rpc3RyaWJ1dGlvbmAKKyAgICAgICAgOnR5cGUgcmVxdWlyZW1lbnQ6IGBgc3RyYGAKKyAgICAgICAgIiIiCisgICAgICAgIHNlbGYubWlzc2luZ1tkaXN0cmlidXRpb25dLmFwcGVuZChyZXF1aXJlbWVudCkKKworICAgIGRlZiBfcmVwcl9kaXN0KHNlbGYsIGRpc3QpOgorICAgICAgICByZXR1cm4gJyVyICVzJyAlIChkaXN0Lm5hbWUsIGRpc3QudmVyc2lvbikKKworICAgIGRlZiByZXByX25vZGUoc2VsZiwgZGlzdCwgbGV2ZWw9MSk6CisgICAgICAgICIiIlByaW50cyBvbmx5IGEgc3ViZ3JhcGgiIiIKKyAgICAgICAgb3V0cHV0ID0gW10KKyAgICAgICAgb3V0cHV0LmFwcGVuZChzZWxmLl9yZXByX2Rpc3QoZGlzdCkpCisgICAgICAgIGZvciBvdGhlciwgbGFiZWwgaW4gc2VsZi5hZGphY2VuY3lfbGlzdFtkaXN0XToKKyAgICAgICAgICAgIGRpc3QgPSBzZWxmLl9yZXByX2Rpc3Qob3RoZXIpCisgICAgICAgICAgICBpZiBsYWJlbCBpcyBub3QgTm9uZToKKyAgICAgICAgICAgICAgICBkaXN0ID0gJyVzIFslc10nICUgKGRpc3QsIGxhYmVsKQorICAgICAgICAgICAgb3V0cHV0LmFwcGVuZCgnICAgICcgKiBsZXZlbCArIHN0cihkaXN0KSkKKyAgICAgICAgICAgIHN1Ym91dHB1dCA9IHNlbGYucmVwcl9ub2RlKG90aGVyLCBsZXZlbCArIDEpCisgICAgICAgICAgICBzdWJzID0gc3Vib3V0cHV0LnNwbGl0KCdcbicpCisgICAgICAgICAgICBvdXRwdXQuZXh0ZW5kKHN1YnNbMTpdKQorICAgICAgICByZXR1cm4gJ1xuJy5qb2luKG91dHB1dCkKKworICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKKyAgICAgICAgIiIiUmVwcmVzZW50YXRpb24gb2YgdGhlIGdyYXBoIiIiCisgICAgICAgIG91dHB1dCA9IFtdCisgICAgICAgIGZvciBkaXN0LCBhZGpzIGluIHNlbGYuYWRqYWNlbmN5X2xpc3QuaXRlbXMoKToKKyAgICAgICAgICAgIG91dHB1dC5hcHBlbmQoc2VsZi5yZXByX25vZGUoZGlzdCkpCisgICAgICAgIHJldHVybiAnXG4nLmpvaW4ob3V0cHV0KQorCisKK2RlZiBncmFwaF90b19kb3QoZ3JhcGgsIGYsIHNraXBfZGlzY29ubmVjdGVkPVRydWUpOgorICAgICIiIldyaXRlcyBhIERPVCBvdXRwdXQgZm9yIHRoZSBncmFwaCB0byB0aGUgcHJvdmlkZWQgZmlsZSAqZiouCisKKyAgICBJZiAqc2tpcF9kaXNjb25uZWN0ZWQqIGlzIHNldCB0byBgYFRydWVgYCwgdGhlbiBhbGwgZGlzdHJpYnV0aW9ucworICAgIHRoYXQgYXJlIG5vdCBkZXBlbmRlbnQgb24gYW55IG90aGVyIGRpc3RyaWJ1dGlvbiBhcmUgc2tpcHBlZC4KKworICAgIDp0eXBlIGY6IGhhcyB0byBzdXBwb3J0IGBgZmlsZWBgLWxpa2Ugb3BlcmF0aW9ucworICAgIDp0eXBlIHNraXBfZGlzY29ubmVjdGVkOiBgYGJvb2xgYAorICAgICIiIgorICAgIGRpc2Nvbm5lY3RlZCA9IFtdCisKKyAgICBmLndyaXRlKCJkaWdyYXBoIGRlcGVuZGVuY2llcyB7XG4iKQorICAgIGZvciBkaXN0LCBhZGpzIGluIGdyYXBoLmFkamFjZW5jeV9saXN0Lml0ZW1zKCk6CisgICAgICAgIGlmIGxlbihhZGpzKSA9PSAwIGFuZCBub3Qgc2tpcF9kaXNjb25uZWN0ZWQ6CisgICAgICAgICAgICBkaXNjb25uZWN0ZWQuYXBwZW5kKGRpc3QpCisgICAgICAgIGZvciBvdGhlciwgbGFiZWwgaW4gYWRqczoKKyAgICAgICAgICAgIGlmIG5vdCBsYWJlbCBpcyBOb25lOgorICAgICAgICAgICAgICAgIGYud3JpdGUoJyIlcyIgLT4gIiVzIiBbbGFiZWw9IiVzIl1cbicgJQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZGlzdC5uYW1lLCBvdGhlci5uYW1lLCBsYWJlbCkpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIGYud3JpdGUoJyIlcyIgLT4gIiVzIlxuJyAlIChkaXN0Lm5hbWUsIG90aGVyLm5hbWUpKQorICAgIGlmIG5vdCBza2lwX2Rpc2Nvbm5lY3RlZCBhbmQgbGVuKGRpc2Nvbm5lY3RlZCkgPiAwOgorICAgICAgICBmLndyaXRlKCdzdWJncmFwaCBkaXNjb25uZWN0ZWQge1xuJykKKyAgICAgICAgZi53cml0ZSgnbGFiZWwgPSAiRGlzY29ubmVjdGVkIlxuJykKKyAgICAgICAgZi53cml0ZSgnYmdjb2xvciA9IHJlZFxuJykKKworICAgICAgICBmb3IgZGlzdCBpbiBkaXNjb25uZWN0ZWQ6CisgICAgICAgICAgICBmLndyaXRlKCciJXMiJyAlIGRpc3QubmFtZSkKKyAgICAgICAgICAgIGYud3JpdGUoJ1xuJykKKyAgICAgICAgZi53cml0ZSgnfVxuJykKKyAgICBmLndyaXRlKCd9XG4nKQorCisKK2RlZiBnZW5lcmF0ZV9ncmFwaChkaXN0cyk6CisgICAgIiIiR2VuZXJhdGVzIGEgZGVwZW5kZW5jeSBncmFwaCBmcm9tIHRoZSBnaXZlbiBkaXN0cmlidXRpb25zLgorCisgICAgOnBhcmFtZXRlciBkaXN0czogYSBsaXN0IG9mIGRpc3RyaWJ1dGlvbnMKKyAgICA6dHlwZSBkaXN0czogbGlzdCBvZiA6Y2xhc3M6YHBhY2thZ2luZy5kYXRhYmFzZS5EaXN0cmlidXRpb25gIGFuZAorICAgICAgICAgICAgICAgICA6Y2xhc3M6YHBhY2thZ2luZy5kYXRhYmFzZS5FZ2dJbmZvRGlzdHJpYnV0aW9uYCBpbnN0YW5jZXMKKyAgICA6cnR5cGU6IGEgOmNsYXNzOmBEZXBlbmRlbmN5R3JhcGhgIGluc3RhbmNlCisgICAgIiIiCisgICAgZ3JhcGggPSBEZXBlbmRlbmN5R3JhcGgoKQorICAgIHByb3ZpZGVkID0ge30gICMgbWFwcyBuYW1lcyB0byBsaXN0cyBvZiAodmVyc2lvbiwgZGlzdCkgdHVwbGVzCisKKyAgICAjIGZpcnN0LCBidWlsZCB0aGUgZ3JhcGggYW5kIGZpbmQgb3V0IHRoZSBwcm92aWRlcworICAgIGZvciBkaXN0IGluIGRpc3RzOgorICAgICAgICBncmFwaC5hZGRfZGlzdHJpYnV0aW9uKGRpc3QpCisgICAgICAgIHByb3ZpZGVzID0gKGRpc3QubWV0YWRhdGFbJ1Byb3ZpZGVzLURpc3QnXSArCisgICAgICAgICAgICAgICAgICAgIGRpc3QubWV0YWRhdGFbJ1Byb3ZpZGVzJ10gKworICAgICAgICAgICAgICAgICAgICBbJyVzICglcyknICUgKGRpc3QubmFtZSwgZGlzdC52ZXJzaW9uKV0pCisKKyAgICAgICAgZm9yIHAgaW4gcHJvdmlkZXM6CisgICAgICAgICAgICBjb21wcyA9IHAuc3RyaXAoKS5yc3BsaXQoIiAiLCAxKQorICAgICAgICAgICAgbmFtZSA9IGNvbXBzWzBdCisgICAgICAgICAgICB2ZXJzaW9uID0gTm9uZQorICAgICAgICAgICAgaWYgbGVuKGNvbXBzKSA9PSAyOgorICAgICAgICAgICAgICAgIHZlcnNpb24gPSBjb21wc1sxXQorICAgICAgICAgICAgICAgIGlmIGxlbih2ZXJzaW9uKSA8IDMgb3IgdmVyc2lvblswXSAhPSAnKCcgb3IgdmVyc2lvblstMV0gIT0gJyknOgorICAgICAgICAgICAgICAgICAgICByYWlzZSBQYWNrYWdpbmdFcnJvcignZGlzdHJpYnV0aW9uICVyIGhhcyBpbGwtZm9ybWVkJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvdmlkZXMgZmllbGQ6ICVyJyAlIChkaXN0Lm5hbWUsIHApKQorICAgICAgICAgICAgICAgIHZlcnNpb24gPSB2ZXJzaW9uWzE6LTFdICAjIHRyaW0gb2ZmIHBhcmVudGhlc2lzCisgICAgICAgICAgICBpZiBuYW1lIG5vdCBpbiBwcm92aWRlZDoKKyAgICAgICAgICAgICAgICBwcm92aWRlZFtuYW1lXSA9IFtdCisgICAgICAgICAgICBwcm92aWRlZFtuYW1lXS5hcHBlbmQoKHZlcnNpb24sIGRpc3QpKQorCisgICAgIyBub3cgbWFrZSB0aGUgZWRnZXMKKyAgICBmb3IgZGlzdCBpbiBkaXN0czoKKyAgICAgICAgcmVxdWlyZXMgPSBkaXN0Lm1ldGFkYXRhWydSZXF1aXJlcy1EaXN0J10gKyBkaXN0Lm1ldGFkYXRhWydSZXF1aXJlcyddCisgICAgICAgIGZvciByZXEgaW4gcmVxdWlyZXM6CisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgcHJlZGljYXRlID0gVmVyc2lvblByZWRpY2F0ZShyZXEpCisgICAgICAgICAgICBleGNlcHQgSXJyYXRpb25hbFZlcnNpb25FcnJvcjoKKyAgICAgICAgICAgICAgICAjIFhYWCBjb21wYXQtbW9kZSBpZiBjYW5ub3QgcmVhZCB0aGUgdmVyc2lvbgorICAgICAgICAgICAgICAgIG5hbWUgPSByZXEuc3BsaXQoKVswXQorICAgICAgICAgICAgICAgIHByZWRpY2F0ZSA9IFZlcnNpb25QcmVkaWNhdGUobmFtZSkKKworICAgICAgICAgICAgbmFtZSA9IHByZWRpY2F0ZS5uYW1lCisKKyAgICAgICAgICAgIGlmIG5hbWUgbm90IGluIHByb3ZpZGVkOgorICAgICAgICAgICAgICAgIGdyYXBoLmFkZF9taXNzaW5nKGRpc3QsIHJlcSkKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgbWF0Y2hlZCA9IEZhbHNlCisgICAgICAgICAgICAgICAgZm9yIHZlcnNpb24sIHByb3ZpZGVyIGluIHByb3ZpZGVkW25hbWVdOgorICAgICAgICAgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgICAgICAgICBtYXRjaCA9IHByZWRpY2F0ZS5tYXRjaCh2ZXJzaW9uKQorICAgICAgICAgICAgICAgICAgICBleGNlcHQgSXJyYXRpb25hbFZlcnNpb25FcnJvcjoKKyAgICAgICAgICAgICAgICAgICAgICAgICMgWFhYIHNtYWxsIGNvbXBhdC1tb2RlCisgICAgICAgICAgICAgICAgICAgICAgICBpZiB2ZXJzaW9uLnNwbGl0KCcgJykgPT0gMToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRjaCA9IFRydWUKKyAgICAgICAgICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2ggPSBGYWxzZQorCisgICAgICAgICAgICAgICAgICAgIGlmIG1hdGNoOgorICAgICAgICAgICAgICAgICAgICAgICAgZ3JhcGguYWRkX2VkZ2UoZGlzdCwgcHJvdmlkZXIsIHJlcSkKKyAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoZWQgPSBUcnVlCisgICAgICAgICAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAgICAgIGlmIG5vdCBtYXRjaGVkOgorICAgICAgICAgICAgICAgICAgICBncmFwaC5hZGRfbWlzc2luZyhkaXN0LCByZXEpCisgICAgcmV0dXJuIGdyYXBoCisKKworZGVmIGRlcGVuZGVudF9kaXN0cyhkaXN0cywgZGlzdCk6CisgICAgIiIiUmVjdXJzaXZlbHkgZ2VuZXJhdGUgYSBsaXN0IG9mIGRpc3RyaWJ1dGlvbnMgZnJvbSAqZGlzdHMqIHRoYXQgYXJlCisgICAgZGVwZW5kZW50IG9uICpkaXN0Ki4KKworICAgIDpwYXJhbSBkaXN0czogYSBsaXN0IG9mIGRpc3RyaWJ1dGlvbnMKKyAgICA6cGFyYW0gZGlzdDogYSBkaXN0cmlidXRpb24sIG1lbWJlciBvZiAqZGlzdHMqIGZvciB3aGljaCB3ZSBhcmUgaW50ZXJlc3RlZAorICAgICIiIgorICAgIGlmIGRpc3Qgbm90IGluIGRpc3RzOgorICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCdnaXZlbiBkaXN0cmlidXRpb24gJXIgaXMgbm90IGEgbWVtYmVyIG9mIHRoZSBsaXN0JyAlCisgICAgICAgICAgICAgICAgICAgICAgICAgZGlzdC5uYW1lKQorICAgIGdyYXBoID0gZ2VuZXJhdGVfZ3JhcGgoZGlzdHMpCisKKyAgICBkZXAgPSBbZGlzdF0gICMgZGVwZW5kZW50IGRpc3RyaWJ1dGlvbnMKKyAgICBmcmluZ2UgPSBncmFwaC5yZXZlcnNlX2xpc3RbZGlzdF0gICMgbGlzdCBvZiBub2RlcyB3ZSBzaG91bGQgaW5zcGVjdAorCisgICAgd2hpbGUgbm90IGxlbihmcmluZ2UpID09IDA6CisgICAgICAgIG5vZGUgPSBmcmluZ2UucG9wKCkKKyAgICAgICAgZGVwLmFwcGVuZChub2RlKQorICAgICAgICBmb3IgcHJldiBpbiBncmFwaC5yZXZlcnNlX2xpc3Rbbm9kZV06CisgICAgICAgICAgICBpZiBwcmV2IG5vdCBpbiBkZXA6CisgICAgICAgICAgICAgICAgZnJpbmdlLmFwcGVuZChwcmV2KQorCisgICAgZGVwLnBvcCgwKSAgIyByZW1vdmUgZGlzdCBmcm9tIGRlcCwgd2FzIHRoZXJlIHRvIHByZXZlbnQgaW5maW5pdGUgbG9vcHMKKyAgICByZXR1cm4gZGVwCisKKworZGVmIG1haW4oKToKKyAgICAjIFhYWCBtb3ZlIHRvIHJ1bi5fZ3JhcGgKKyAgICBmcm9tIHBhY2thZ2luZy5kYXRhYmFzZSBpbXBvcnQgZ2V0X2Rpc3RyaWJ1dGlvbnMKKyAgICB0ZW1wb3V0ID0gU3RyaW5nSU8oKQorICAgIHRyeToKKyAgICAgICAgb2xkID0gc3lzLnN0ZGVycgorICAgICAgICBzeXMuc3RkZXJyID0gdGVtcG91dAorICAgICAgICB0cnk6CisgICAgICAgICAgICBkaXN0cyA9IGxpc3QoZ2V0X2Rpc3RyaWJ1dGlvbnModXNlX2VnZ19pbmZvPVRydWUpKQorICAgICAgICAgICAgZ3JhcGggPSBnZW5lcmF0ZV9ncmFwaChkaXN0cykKKyAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgIHN5cy5zdGRlcnIgPSBvbGQKKyAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CisgICAgICAgIHRlbXBvdXQuc2VlaygwKQorICAgICAgICB0ZW1wb3V0ID0gdGVtcG91dC5yZWFkKCkKKyAgICAgICAgcHJpbnQoJ0NvdWxkIG5vdCBnZW5lcmF0ZSB0aGUgZ3JhcGgnKQorICAgICAgICBwcmludCh0ZW1wb3V0KQorICAgICAgICBwcmludChlKQorICAgICAgICBzeXMuZXhpdCgxKQorCisgICAgZm9yIGRpc3QsIHJlcXMgaW4gZ3JhcGgubWlzc2luZy5pdGVtcygpOgorICAgICAgICBpZiBsZW4ocmVxcykgPiAwOgorICAgICAgICAgICAgcHJpbnQoIldhcm5pbmc6IE1pc3NpbmcgZGVwZW5kZW5jaWVzIGZvciAlcjoiICUgZGlzdC5uYW1lLAorICAgICAgICAgICAgICAgICAgIiwgIi5qb2luKHJlcXMpKQorICAgICMgWFhYIHJlcGxhY2Ugd2l0aCBhcmdwYXJzZQorICAgIGlmIGxlbihzeXMuYXJndikgPT0gMToKKyAgICAgICAgcHJpbnQoJ0RlcGVuZGVuY3kgZ3JhcGg6JykKKyAgICAgICAgcHJpbnQoJyAgICcsIHJlcHIoZ3JhcGgpLnJlcGxhY2UoJ1xuJywgJ1xuICAgICcpKQorICAgICAgICBzeXMuZXhpdCgwKQorICAgIGVsaWYgbGVuKHN5cy5hcmd2KSA+IDEgYW5kIHN5cy5hcmd2WzFdIGluICgnLWQnLCAnLS1kb3QnKToKKyAgICAgICAgaWYgbGVuKHN5cy5hcmd2KSA+IDI6CisgICAgICAgICAgICBmaWxlbmFtZSA9IHN5cy5hcmd2WzJdCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBmaWxlbmFtZSA9ICdkZXBncmFwaC5kb3QnCisKKyAgICAgICAgd2l0aCBvcGVuKGZpbGVuYW1lLCAndycpIGFzIGY6CisgICAgICAgICAgICBncmFwaF90b19kb3QoZ3JhcGgsIGYsIFRydWUpCisgICAgICAgIHRlbXBvdXQuc2VlaygwKQorICAgICAgICB0ZW1wb3V0ID0gdGVtcG91dC5yZWFkKCkKKyAgICAgICAgcHJpbnQodGVtcG91dCkKKyAgICAgICAgcHJpbnQoJ0RvdCBmaWxlIHdyaXR0ZW4gYXQgJXInICUgZmlsZW5hbWUpCisgICAgICAgIHN5cy5leGl0KDApCisgICAgZWxzZToKKyAgICAgICAgcHJpbnQoJ1N1cHBvcnRlZCBvcHRpb246IC1kIFtmaWxlbmFtZV0nKQorICAgICAgICBzeXMuZXhpdCgxKQpkaWZmIC0tZ2l0IGEvTGliL3BhY2thZ2luZy9kaXN0LnB5IGIvTGliL3BhY2thZ2luZy9kaXN0LnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYwNzc2N2UKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvcGFja2FnaW5nL2Rpc3QucHkKQEAgLTAsMCArMSw3NjkgQEAKKyIiIkNsYXNzIHJlcHJlc2VudGluZyB0aGUgcHJvamVjdCBiZWluZyBidWlsdC9pbnN0YWxsZWQvZXRjLiIiIgorCitpbXBvcnQgb3MKK2ltcG9ydCByZQorCitmcm9tIHBhY2thZ2luZyBpbXBvcnQgbG9nZ2VyCitmcm9tIHBhY2thZ2luZy51dGlsIGltcG9ydCBzdHJ0b2Jvb2wsIHJlc29sdmVfbmFtZQorZnJvbSBwYWNrYWdpbmcuY29uZmlnIGltcG9ydCBDb25maWcKK2Zyb20gcGFja2FnaW5nLmVycm9ycyBpbXBvcnQgKFBhY2thZ2luZ09wdGlvbkVycm9yLCBQYWNrYWdpbmdBcmdFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhY2thZ2luZ01vZHVsZUVycm9yLCBQYWNrYWdpbmdDbGFzc0Vycm9yKQorZnJvbSBwYWNrYWdpbmcuY29tbWFuZCBpbXBvcnQgZ2V0X2NvbW1hbmRfY2xhc3MsIFNUQU5EQVJEX0NPTU1BTkRTCitmcm9tIHBhY2thZ2luZy5jb21tYW5kLmNtZCBpbXBvcnQgQ29tbWFuZAorZnJvbSBwYWNrYWdpbmcubWV0YWRhdGEgaW1wb3J0IE1ldGFkYXRhCitmcm9tIHBhY2thZ2luZy5mYW5jeV9nZXRvcHQgaW1wb3J0IEZhbmN5R2V0b3B0CisKKyMgUmVnZXggdG8gZGVmaW5lIGFjY2VwdGFibGUgUGFja2FnaW5nIGNvbW1hbmQgbmFtZXMuICBUaGlzIGlzIG5vdCAqcXVpdGUqCisjIHRoZSBzYW1lIGFzIGEgUHl0aG9uIG5hbWUgLS0gbGVhZGluZyB1bmRlcnNjb3JlcyBhcmUgbm90IGFsbG93ZWQuICBUaGUgZmFjdAorIyB0aGF0IHRoZXkncmUgdmVyeSBzaW1pbGFyIGlzIG5vIGNvaW5jaWRlbmNlOiB0aGUgZGVmYXVsdCBuYW1pbmcgc2NoZW1lIGlzCisjIHRvIGxvb2sgZm9yIGEgUHl0aG9uIG1vZHVsZSBuYW1lZCBhZnRlciB0aGUgY29tbWFuZC4KK2NvbW1hbmRfcmUgPSByZS5jb21waWxlKHInXlthLXpBLVpdKFthLXpBLVowLTlfXSopJCcpCisKK1VTQUdFID0gIiIiXAordXNhZ2U6ICUoc2NyaXB0KXMgW2dsb2JhbF9vcHRzXSBjbWQxIFtjbWQxX29wdHNdIFtjbWQyIFtjbWQyX29wdHNdIC4uLl0KKyAgIG9yOiAlKHNjcmlwdClzIC0taGVscCBbY21kMSBjbWQyIC4uLl0KKyAgIG9yOiAlKHNjcmlwdClzIC0taGVscC1jb21tYW5kcworICAgb3I6ICUoc2NyaXB0KXMgY21kIC0taGVscAorIiIiCisKKworZGVmIGdlbl91c2FnZShzY3JpcHRfbmFtZSk6CisgICAgc2NyaXB0ID0gb3MucGF0aC5iYXNlbmFtZShzY3JpcHRfbmFtZSkKKyAgICByZXR1cm4gVVNBR0UgJSB7J3NjcmlwdCc6IHNjcmlwdH0KKworCitjbGFzcyBEaXN0cmlidXRpb246CisgICAgIiIiQ2xhc3MgdXNlZCB0byByZXByZXNlbnQgYSBwcm9qZWN0IGFuZCB3b3JrIHdpdGggaXQuCisKKyAgICBNb3N0IG9mIHRoZSB3b3JrIGhpZGluZyBiZWhpbmQgJ3B5c2V0dXAgcnVuJyBpcyByZWFsbHkgZG9uZSB3aXRoaW4gYQorICAgIERpc3RyaWJ1dGlvbiBpbnN0YW5jZSwgd2hpY2ggZmFybXMgdGhlIHdvcmsgb3V0IHRvIHRoZSBjb21tYW5kcworICAgIHNwZWNpZmllZCBvbiB0aGUgY29tbWFuZCBsaW5lLgorICAgICIiIgorCisgICAgIyAnZ2xvYmFsX29wdGlvbnMnIGRlc2NyaWJlcyB0aGUgY29tbWFuZC1saW5lIG9wdGlvbnMgdGhhdCBtYXkgYmUKKyAgICAjIHN1cHBsaWVkIHRvIHRoZSBzZXR1cCBzY3JpcHQgcHJpb3IgdG8gYW55IGFjdHVhbCBjb21tYW5kcy4KKyAgICAjIEVnLiAicHlzZXR1cCBydW4gLW4iIG9yICJweXNldHVwIHJ1biAtLWRyeS1ydW4iIGJvdGggdGFrZSBhZHZhbnRhZ2Ugb2YKKyAgICAjIHRoZXNlIGdsb2JhbCBvcHRpb25zLiAgVGhpcyBsaXN0IHNob3VsZCBiZSBrZXB0IHRvIGEgYmFyZSBtaW5pbXVtLAorICAgICMgc2luY2UgZXZlcnkgZ2xvYmFsIG9wdGlvbiBpcyBhbHNvIHZhbGlkIGFzIGEgY29tbWFuZCBvcHRpb24gLS0gYW5kIHdlCisgICAgIyBkb24ndCB3YW50IHRvIHBvbGx1dGUgdGhlIGNvbW1hbmRzIHdpdGggdG9vIG1hbnkgb3B0aW9ucyB0aGF0IHRoZXkKKyAgICAjIGhhdmUgbWluaW1hbCBjb250cm9sIG92ZXIuCisgICAgZ2xvYmFsX29wdGlvbnMgPSBbCisgICAgICAgICgnZHJ5LXJ1bicsICduJywgImRvbid0IGFjdHVhbGx5IGRvIGFueXRoaW5nIiksCisgICAgICAgICgnaGVscCcsICdoJywgInNob3cgZGV0YWlsZWQgaGVscCBtZXNzYWdlIiksCisgICAgICAgICgnbm8tdXNlci1jZmcnLCBOb25lLCAnaWdub3JlIHB5ZGlzdHV0aWxzLmNmZyBpbiB5b3VyIGhvbWUgZGlyZWN0b3J5JyksCisgICAgXQorCisgICAgIyAnY29tbW9uX3VzYWdlJyBpcyBhIHNob3J0ICgyLTMgbGluZSkgc3RyaW5nIGRlc2NyaWJpbmcgdGhlIGNvbW1vbgorICAgICMgdXNhZ2Ugb2YgdGhlIHNldHVwIHNjcmlwdC4KKyAgICBjb21tb25fdXNhZ2UgPSAiIiJcCitDb21tb24gY29tbWFuZHM6IChzZWUgJy0taGVscC1jb21tYW5kcycgZm9yIG1vcmUpCisKKyAgcHlzZXR1cCBydW4gYnVpbGQgICAgICB3aWxsIGJ1aWxkIHRoZSBwcm9qZWN0IHVuZGVybmVhdGggJ2J1aWxkLycKKyAgcHlzZXR1cCBydW4gaW5zdGFsbCAgICB3aWxsIGluc3RhbGwgdGhlIHByb2plY3QKKyIiIgorCisgICAgIyBvcHRpb25zIHRoYXQgYXJlIG5vdCBwcm9wYWdhdGVkIHRvIHRoZSBjb21tYW5kcworICAgIGRpc3BsYXlfb3B0aW9ucyA9IFsKKyAgICAgICAgKCdoZWxwLWNvbW1hbmRzJywgTm9uZSwKKyAgICAgICAgICJsaXN0IGFsbCBhdmFpbGFibGUgY29tbWFuZHMiKSwKKyAgICAgICAgKCd1c2UtMnRvMycsIE5vbmUsCisgICAgICAgICAidXNlIDJ0bzMgdG8gbWFrZSBzb3VyY2UgcHl0aG9uIDMueCBjb21wYXRpYmxlIiksCisgICAgICAgICgnY29udmVydC0ydG8zLWRvY3Rlc3RzJywgTm9uZSwKKyAgICAgICAgICJ1c2UgMnRvMyB0byBjb252ZXJ0IGRvY3Rlc3RzIGluIHNlcGFyYXRlIHRleHQgZmlsZXMiKSwKKyAgICAgICAgXQorICAgIGRpc3BsYXlfb3B0aW9uX25hbWVzID0gW3hbMF0ucmVwbGFjZSgnLScsICdfJykgZm9yIHggaW4gZGlzcGxheV9vcHRpb25zXQorCisgICAgIyBuZWdhdGl2ZSBvcHRpb25zIGFyZSBvcHRpb25zIHRoYXQgZXhjbHVkZSBvdGhlciBvcHRpb25zCisgICAgbmVnYXRpdmVfb3B0ID0ge30KKworICAgICMgLS0gQ3JlYXRpb24vaW5pdGlhbGl6YXRpb24gbWV0aG9kcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGF0dHJzPU5vbmUpOgorICAgICAgICAiIiJDb25zdHJ1Y3QgYSBuZXcgRGlzdHJpYnV0aW9uIGluc3RhbmNlOiBpbml0aWFsaXplIGFsbCB0aGUKKyAgICAgICAgYXR0cmlidXRlcyBvZiBhIERpc3RyaWJ1dGlvbiwgYW5kIHRoZW4gdXNlICdhdHRycycgKGEgZGljdGlvbmFyeQorICAgICAgICBtYXBwaW5nIGF0dHJpYnV0ZSBuYW1lcyB0byB2YWx1ZXMpIHRvIGFzc2lnbiBzb21lIG9mIHRob3NlCisgICAgICAgIGF0dHJpYnV0ZXMgdGhlaXIgInJlYWwiIHZhbHVlcy4gIChBbnkgYXR0cmlidXRlcyBub3QgbWVudGlvbmVkIGluCisgICAgICAgICdhdHRycycgd2lsbCBiZSBhc3NpZ25lZCB0byBzb21lIG51bGwgdmFsdWU6IDAsIE5vbmUsIGFuIGVtcHR5IGxpc3QKKyAgICAgICAgb3IgZGljdGlvbmFyeSwgZXRjLikgIE1vc3QgaW1wb3J0YW50bHksIGluaXRpYWxpemUgdGhlCisgICAgICAgICdjb21tYW5kX29iaicgYXR0cmlidXRlIHRvIHRoZSBlbXB0eSBkaWN0aW9uYXJ5OyB0aGlzIHdpbGwgYmUKKyAgICAgICAgZmlsbGVkIGluIHdpdGggcmVhbCBjb21tYW5kIG9iamVjdHMgYnkgJ3BhcnNlX2NvbW1hbmRfbGluZSgpJy4KKyAgICAgICAgIiIiCisKKyAgICAgICAgIyBEZWZhdWx0IHZhbHVlcyBmb3Igb3VyIGNvbW1hbmQtbGluZSBvcHRpb25zCisgICAgICAgIHNlbGYuZHJ5X3J1biA9IEZhbHNlCisgICAgICAgIHNlbGYuaGVscCA9IEZhbHNlCisgICAgICAgIGZvciBhdHRyIGluIHNlbGYuZGlzcGxheV9vcHRpb25fbmFtZXM6CisgICAgICAgICAgICBzZXRhdHRyKHNlbGYsIGF0dHIsIEZhbHNlKQorCisgICAgICAgICMgU3RvcmUgdGhlIGNvbmZpZ3VyYXRpb24KKyAgICAgICAgc2VsZi5jb25maWcgPSBDb25maWcoc2VsZikKKworICAgICAgICAjIFN0b3JlIHRoZSBkaXN0cmlidXRpb24gbWV0YWRhdGEgKG5hbWUsIHZlcnNpb24sIGF1dGhvciwgYW5kIHNvCisgICAgICAgICMgZm9ydGgpIGluIGEgc2VwYXJhdGUgb2JqZWN0IC0tIHdlJ3JlIGdldHRpbmcgdG8gaGF2ZSBlbm91Z2gKKyAgICAgICAgIyBpbmZvcm1hdGlvbiBoZXJlIChhbmQgZW5vdWdoIGNvbW1hbmQtbGluZSBvcHRpb25zKSB0aGF0IGl0J3MKKyAgICAgICAgIyB3b3J0aCBpdC4KKyAgICAgICAgc2VsZi5tZXRhZGF0YSA9IE1ldGFkYXRhKCkKKworICAgICAgICAjICdjbWRjbGFzcycgbWFwcyBjb21tYW5kIG5hbWVzIHRvIGNsYXNzIG9iamVjdHMsIHNvIHdlCisgICAgICAgICMgY2FuIDEpIHF1aWNrbHkgZmlndXJlIG91dCB3aGljaCBjbGFzcyB0byBpbnN0YW50aWF0ZSB3aGVuCisgICAgICAgICMgd2UgbmVlZCB0byBjcmVhdGUgYSBuZXcgY29tbWFuZCBvYmplY3QsIGFuZCAyKSBoYXZlIGEgd2F5CisgICAgICAgICMgZm9yIHRoZSBzZXR1cCBzY3JpcHQgdG8gb3ZlcnJpZGUgY29tbWFuZCBjbGFzc2VzCisgICAgICAgIHNlbGYuY21kY2xhc3MgPSB7fQorCisgICAgICAgICMgJ3NjcmlwdF9uYW1lJyBhbmQgJ3NjcmlwdF9hcmdzJyBhcmUgdXN1YWxseSBzZXQgdG8gc3lzLmFyZ3ZbMF0KKyAgICAgICAgIyBhbmQgc3lzLmFyZ3ZbMTpdLCBidXQgdGhleSBjYW4gYmUgb3ZlcnJpZGRlbiB3aGVuIHRoZSBjYWxsZXIgaXMKKyAgICAgICAgIyBub3QgbmVjZXNzYXJpbHkgYSBzZXR1cCBzY3JpcHQgcnVuIGZyb20gdGhlIGNvbW1hbmQgbGluZS4KKyAgICAgICAgc2VsZi5zY3JpcHRfbmFtZSA9IE5vbmUKKyAgICAgICAgc2VsZi5zY3JpcHRfYXJncyA9IE5vbmUKKworICAgICAgICAjICdjb21tYW5kX29wdGlvbnMnIGlzIHdoZXJlIHdlIHN0b3JlIGNvbW1hbmQgb3B0aW9ucyBiZXR3ZWVuCisgICAgICAgICMgcGFyc2luZyB0aGVtIChmcm9tIGNvbmZpZyBmaWxlcywgdGhlIGNvbW1hbmQgbGluZSwgZXRjLikgYW5kIHdoZW4KKyAgICAgICAgIyB0aGV5IGFyZSBhY3R1YWxseSBuZWVkZWQgLS0gaWUuIHdoZW4gdGhlIGNvbW1hbmQgaW4gcXVlc3Rpb24gaXMKKyAgICAgICAgIyBpbnN0YW50aWF0ZWQuICBJdCBpcyBhIGRpY3Rpb25hcnkgb2YgZGljdGlvbmFyaWVzIG9mIDItdHVwbGVzOgorICAgICAgICAjICAgY29tbWFuZF9vcHRpb25zID0geyBjb21tYW5kX25hbWUgOiB7IG9wdGlvbiA6IChzb3VyY2UsIHZhbHVlKSB9IH0KKyAgICAgICAgc2VsZi5jb21tYW5kX29wdGlvbnMgPSB7fQorCisgICAgICAgICMgJ2Rpc3RfZmlsZXMnIGlzIHRoZSBsaXN0IG9mIChjb21tYW5kLCBweXZlcnNpb24sIGZpbGUpIHRoYXQKKyAgICAgICAgIyBoYXZlIGJlZW4gY3JlYXRlZCBieSBhbnkgZGlzdCBjb21tYW5kcyBydW4gc28gZmFyLiBUaGlzIGlzCisgICAgICAgICMgZmlsbGVkIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciB0aGUgcnVuIGlzIGRyeSBvciBub3QuIHB5dmVyc2lvbgorICAgICAgICAjIGdpdmVzIHN5c2NvbmZpZy5nZXRfcHl0aG9uX3ZlcnNpb24oKSBpZiB0aGUgZGlzdCBmaWxlIGlzCisgICAgICAgICMgc3BlY2lmaWMgdG8gYSBQeXRob24gdmVyc2lvbiwgJ2FueScgaWYgaXQgaXMgZ29vZCBmb3IgYWxsCisgICAgICAgICMgUHl0aG9uIHZlcnNpb25zIG9uIHRoZSB0YXJnZXQgcGxhdGZvcm0sIGFuZCAnJyBmb3IgYSBzb3VyY2UKKyAgICAgICAgIyBmaWxlLiBweXZlcnNpb24gc2hvdWxkIG5vdCBiZSB1c2VkIHRvIHNwZWNpZnkgbWluaW11bSBvcgorICAgICAgICAjIG1heGltdW0gcmVxdWlyZWQgUHl0aG9uIHZlcnNpb25zOyB1c2UgdGhlIG1ldGFpbmZvIGZvciB0aGF0CisgICAgICAgICMgaW5zdGVhZC4KKyAgICAgICAgc2VsZi5kaXN0X2ZpbGVzID0gW10KKworICAgICAgICAjIFRoZXNlIG9wdGlvbnMgYXJlIHJlYWxseSB0aGUgYnVzaW5lc3Mgb2YgdmFyaW91cyBjb21tYW5kcywgcmF0aGVyCisgICAgICAgICMgdGhhbiBvZiB0aGUgRGlzdHJpYnV0aW9uIGl0c2VsZi4gIFdlIHByb3ZpZGUgYWxpYXNlcyBmb3IgdGhlbSBpbgorICAgICAgICAjIERpc3RyaWJ1dGlvbiBhcyBhIGNvbnZlbmllbmNlIHRvIHRoZSBkZXZlbG9wZXIuCisgICAgICAgIHNlbGYucGFja2FnZXMgPSBbXQorICAgICAgICBzZWxmLnBhY2thZ2VfZGF0YSA9IHt9CisgICAgICAgIHNlbGYucGFja2FnZV9kaXIgPSBOb25lCisgICAgICAgIHNlbGYucHlfbW9kdWxlcyA9IFtdCisgICAgICAgIHNlbGYubGlicmFyaWVzID0gW10KKyAgICAgICAgc2VsZi5oZWFkZXJzID0gW10KKyAgICAgICAgc2VsZi5leHRfbW9kdWxlcyA9IFtdCisgICAgICAgIHNlbGYuZXh0X3BhY2thZ2UgPSBOb25lCisgICAgICAgIHNlbGYuaW5jbHVkZV9kaXJzID0gW10KKyAgICAgICAgc2VsZi5leHRyYV9wYXRoID0gTm9uZQorICAgICAgICBzZWxmLnNjcmlwdHMgPSBbXQorICAgICAgICBzZWxmLmRhdGFfZmlsZXMgPSB7fQorICAgICAgICBzZWxmLnBhc3N3b3JkID0gJycKKyAgICAgICAgc2VsZi51c2VfMnRvMyA9IEZhbHNlCisgICAgICAgIHNlbGYuY29udmVydF8ydG8zX2RvY3Rlc3RzID0gW10KKyAgICAgICAgc2VsZi5leHRyYV9maWxlcyA9IFtdCisKKyAgICAgICAgIyBBbmQgbm93IGluaXRpYWxpemUgYm9va2tlZXBpbmcgc3R1ZmYgdGhhdCBjYW4ndCBiZSBzdXBwbGllZCBieQorICAgICAgICAjIHRoZSBjYWxsZXIgYXQgYWxsLiAgJ2NvbW1hbmRfb2JqJyBtYXBzIGNvbW1hbmQgbmFtZXMgdG8KKyAgICAgICAgIyBDb21tYW5kIGluc3RhbmNlcyAtLSB0aGF0J3MgaG93IHdlIGVuZm9yY2UgdGhhdCBldmVyeSBjb21tYW5kCisgICAgICAgICMgY2xhc3MgaXMgYSBzaW5nbGV0b24uCisgICAgICAgIHNlbGYuY29tbWFuZF9vYmogPSB7fQorCisgICAgICAgICMgJ2hhdmVfcnVuJyBtYXBzIGNvbW1hbmQgbmFtZXMgdG8gYm9vbGVhbiB2YWx1ZXM7IGl0IGtlZXBzIHRyYWNrCisgICAgICAgICMgb2Ygd2hldGhlciB3ZSBoYXZlIGFjdHVhbGx5IHJ1biBhIHBhcnRpY3VsYXIgY29tbWFuZCwgdG8gbWFrZSBpdAorICAgICAgICAjIGNoZWFwIHRvICJydW4iIGEgY29tbWFuZCB3aGVuZXZlciB3ZSB0aGluayB3ZSBtaWdodCBuZWVkIHRvIC0tIGlmCisgICAgICAgICMgaXQncyBhbHJlYWR5IGJlZW4gZG9uZSwgbm8gbmVlZCBmb3IgZXhwZW5zaXZlIGZpbGVzeXN0ZW0KKyAgICAgICAgIyBvcGVyYXRpb25zLCB3ZSBqdXN0IGNoZWNrIHRoZSAnaGF2ZV9ydW4nIGRpY3Rpb25hcnkgYW5kIGNhcnJ5IG9uLgorICAgICAgICAjIEl0J3Mgb25seSBzYWZlIHRvIHF1ZXJ5ICdoYXZlX3J1bicgZm9yIGEgY29tbWFuZCBjbGFzcyB0aGF0IGhhcworICAgICAgICAjIGJlZW4gaW5zdGFudGlhdGVkIC0tIGEgZmFsc2UgdmFsdWUgd2lsbCBiZSBpbnNlcnRlZCB3aGVuIHRoZQorICAgICAgICAjIGNvbW1hbmQgb2JqZWN0IGlzIGNyZWF0ZWQsIGFuZCByZXBsYWNlZCB3aXRoIGEgdHJ1ZSB2YWx1ZSB3aGVuCisgICAgICAgICMgdGhlIGNvbW1hbmQgaXMgc3VjY2Vzc2Z1bGx5IHJ1bi4gIFRodXMgaXQncyBwcm9iYWJseSBiZXN0IHRvIHVzZQorICAgICAgICAjICcuZ2V0KCknIHJhdGhlciB0aGFuIGEgc3RyYWlnaHQgbG9va3VwLgorICAgICAgICBzZWxmLmhhdmVfcnVuID0ge30KKworICAgICAgICAjIE5vdyB3ZSdsbCB1c2UgdGhlIGF0dHJzIGRpY3Rpb25hcnkgKHVsdGltYXRlbHksIGtleXdvcmQgYXJncyBmcm9tCisgICAgICAgICMgdGhlIHNldHVwIHNjcmlwdCkgdG8gcG9zc2libHkgb3ZlcnJpZGUgYW55IG9yIGFsbCBvZiB0aGVzZQorICAgICAgICAjIGRpc3RyaWJ1dGlvbiBvcHRpb25zLgorCisgICAgICAgIGlmIGF0dHJzIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgIyBQdWxsIG91dCB0aGUgc2V0IG9mIGNvbW1hbmQgb3B0aW9ucyBhbmQgd29yayBvbiB0aGVtCisgICAgICAgICAgICAjIHNwZWNpZmljYWxseS4gIE5vdGUgdGhhdCB0aGlzIG9yZGVyIGd1YXJhbnRlZXMgdGhhdCBhbGlhc2VkCisgICAgICAgICAgICAjIGNvbW1hbmQgb3B0aW9ucyB3aWxsIG92ZXJyaWRlIGFueSBzdXBwbGllZCByZWR1bmRhbnRseQorICAgICAgICAgICAgIyB0aHJvdWdoIHRoZSBnZW5lcmFsIG9wdGlvbnMgZGljdGlvbmFyeS4KKyAgICAgICAgICAgIG9wdGlvbnMgPSBhdHRycy5nZXQoJ29wdGlvbnMnKQorICAgICAgICAgICAgaWYgb3B0aW9ucyBpcyBub3QgTm9uZToKKyAgICAgICAgICAgICAgICBkZWwgYXR0cnNbJ29wdGlvbnMnXQorICAgICAgICAgICAgICAgIGZvciBjb21tYW5kLCBjbWRfb3B0aW9ucyBpbiBvcHRpb25zLml0ZW1zKCk6CisgICAgICAgICAgICAgICAgICAgIG9wdF9kaWN0ID0gc2VsZi5nZXRfb3B0aW9uX2RpY3QoY29tbWFuZCkKKyAgICAgICAgICAgICAgICAgICAgZm9yIG9wdCwgdmFsIGluIGNtZF9vcHRpb25zLml0ZW1zKCk6CisgICAgICAgICAgICAgICAgICAgICAgICBvcHRfZGljdFtvcHRdID0gKCJzZXR1cCBzY3JpcHQiLCB2YWwpCisKKyAgICAgICAgICAgICMgTm93IHdvcmsgb24gdGhlIHJlc3Qgb2YgdGhlIGF0dHJpYnV0ZXMuICBBbnkgYXR0cmlidXRlIHRoYXQncworICAgICAgICAgICAgIyBub3QgYWxyZWFkeSBkZWZpbmVkIGlzIGludmFsaWQhCisgICAgICAgICAgICBmb3Iga2V5LCB2YWwgaW4gYXR0cnMuaXRlbXMoKToKKyAgICAgICAgICAgICAgICBpZiBzZWxmLm1ldGFkYXRhLmlzX21ldGFkYXRhX2ZpZWxkKGtleSk6CisgICAgICAgICAgICAgICAgICAgIHNlbGYubWV0YWRhdGFba2V5XSA9IHZhbAorICAgICAgICAgICAgICAgIGVsaWYgaGFzYXR0cihzZWxmLCBrZXkpOgorICAgICAgICAgICAgICAgICAgICBzZXRhdHRyKHNlbGYsIGtleSwgdmFsKQorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIGxvZ2dlci53YXJuaW5nKAorICAgICAgICAgICAgICAgICAgICAgICAgJ3Vua25vd24gYXJndW1lbnQgZ2l2ZW4gdG8gRGlzdHJpYnV0aW9uOiAlcicsIGtleSkKKworICAgICAgICAjIG5vLXVzZXItY2ZnIGlzIGhhbmRsZWQgYmVmb3JlIG90aGVyIGNvbW1hbmQgbGluZSBhcmdzCisgICAgICAgICMgYmVjYXVzZSBvdGhlciBhcmdzIG92ZXJyaWRlIHRoZSBjb25maWcgZmlsZXMsIGFuZCB0aGlzCisgICAgICAgICMgb25lIGlzIG5lZWRlZCBiZWZvcmUgd2UgY2FuIGxvYWQgdGhlIGNvbmZpZyBmaWxlcy4KKyAgICAgICAgIyBJZiBhdHRyc1snc2NyaXB0X2FyZ3MnXSB3YXNuJ3QgcGFzc2VkLCBhc3N1bWUgZmFsc2UuCisgICAgICAgICMKKyAgICAgICAgIyBUaGlzIGFsc28gbWFrZSBzdXJlIHdlIGp1c3QgbG9vayBhdCB0aGUgZ2xvYmFsIG9wdGlvbnMKKyAgICAgICAgc2VsZi53YW50X3VzZXJfY2ZnID0gVHJ1ZQorCisgICAgICAgIGlmIHNlbGYuc2NyaXB0X2FyZ3MgaXMgbm90IE5vbmU6CisgICAgICAgICAgICBmb3IgYXJnIGluIHNlbGYuc2NyaXB0X2FyZ3M6CisgICAgICAgICAgICAgICAgaWYgbm90IGFyZy5zdGFydHN3aXRoKCctJyk6CisgICAgICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgICAgICAgICAgaWYgYXJnID09ICctLW5vLXVzZXItY2ZnJzoKKyAgICAgICAgICAgICAgICAgICAgc2VsZi53YW50X3VzZXJfY2ZnID0gRmFsc2UKKyAgICAgICAgICAgICAgICAgICAgYnJlYWsKKworICAgICAgICBzZWxmLmZpbmFsaXplX29wdGlvbnMoKQorCisgICAgZGVmIGdldF9vcHRpb25fZGljdChzZWxmLCBjb21tYW5kKToKKyAgICAgICAgIiIiR2V0IHRoZSBvcHRpb24gZGljdGlvbmFyeSBmb3IgYSBnaXZlbiBjb21tYW5kLiAgSWYgdGhhdAorICAgICAgICBjb21tYW5kJ3Mgb3B0aW9uIGRpY3Rpb25hcnkgaGFzbid0IGJlZW4gY3JlYXRlZCB5ZXQsIHRoZW4gY3JlYXRlIGl0CisgICAgICAgIGFuZCByZXR1cm4gdGhlIG5ldyBkaWN0aW9uYXJ5OyBvdGhlcndpc2UsIHJldHVybiB0aGUgZXhpc3RpbmcKKyAgICAgICAgb3B0aW9uIGRpY3Rpb25hcnkuCisgICAgICAgICIiIgorICAgICAgICBkID0gc2VsZi5jb21tYW5kX29wdGlvbnMuZ2V0KGNvbW1hbmQpCisgICAgICAgIGlmIGQgaXMgTm9uZToKKyAgICAgICAgICAgIGQgPSBzZWxmLmNvbW1hbmRfb3B0aW9uc1tjb21tYW5kXSA9IHt9CisgICAgICAgIHJldHVybiBkCisKKyAgICBkZWYgZ2V0X2Z1bGxuYW1lKHNlbGYsIGZpbGVzYWZlPUZhbHNlKToKKyAgICAgICAgcmV0dXJuIHNlbGYubWV0YWRhdGEuZ2V0X2Z1bGxuYW1lKGZpbGVzYWZlKQorCisgICAgZGVmIGR1bXBfb3B0aW9uX2RpY3RzKHNlbGYsIGhlYWRlcj1Ob25lLCBjb21tYW5kcz1Ob25lLCBpbmRlbnQ9IiIpOgorICAgICAgICBmcm9tIHBwcmludCBpbXBvcnQgcGZvcm1hdAorCisgICAgICAgIGlmIGNvbW1hbmRzIGlzIE5vbmU6ICAgICAgICAgICAgICMgZHVtcCBhbGwgY29tbWFuZCBvcHRpb24gZGljdHMKKyAgICAgICAgICAgIGNvbW1hbmRzID0gc29ydGVkKHNlbGYuY29tbWFuZF9vcHRpb25zKQorCisgICAgICAgIGlmIGhlYWRlciBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIGxvZ2dlci5pbmZvKGluZGVudCArIGhlYWRlcikKKyAgICAgICAgICAgIGluZGVudCA9IGluZGVudCArICIgICIKKworICAgICAgICBpZiBub3QgY29tbWFuZHM6CisgICAgICAgICAgICBsb2dnZXIuaW5mbyhpbmRlbnQgKyAibm8gY29tbWFuZHMga25vd24geWV0IikKKyAgICAgICAgICAgIHJldHVybgorCisgICAgICAgIGZvciBjbWRfbmFtZSBpbiBjb21tYW5kczoKKyAgICAgICAgICAgIG9wdF9kaWN0ID0gc2VsZi5jb21tYW5kX29wdGlvbnMuZ2V0KGNtZF9uYW1lKQorICAgICAgICAgICAgaWYgb3B0X2RpY3QgaXMgTm9uZToKKyAgICAgICAgICAgICAgICBsb2dnZXIuaW5mbyhpbmRlbnQgKyAibm8gb3B0aW9uIGRpY3QgZm9yICVyIGNvbW1hbmQiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNtZF9uYW1lKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBsb2dnZXIuaW5mbyhpbmRlbnQgKyAib3B0aW9uIGRpY3QgZm9yICVyIGNvbW1hbmQ6IiwgY21kX25hbWUpCisgICAgICAgICAgICAgICAgb3V0ID0gcGZvcm1hdChvcHRfZGljdCkKKyAgICAgICAgICAgICAgICBmb3IgbGluZSBpbiBvdXQuc3BsaXQoJ1xuJyk6CisgICAgICAgICAgICAgICAgICAgIGxvZ2dlci5pbmZvKGluZGVudCArICIgICIgKyBsaW5lKQorCisgICAgIyAtLSBDb25maWcgZmlsZSBmaW5kaW5nL3BhcnNpbmcgbWV0aG9kcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgICAjIFhYWCB0byBiZSByZW1vdmVkCisgICAgZGVmIHBhcnNlX2NvbmZpZ19maWxlcyhzZWxmLCBmaWxlbmFtZXM9Tm9uZSk6CisgICAgICAgIHJldHVybiBzZWxmLmNvbmZpZy5wYXJzZV9jb25maWdfZmlsZXMoZmlsZW5hbWVzKQorCisgICAgZGVmIGZpbmRfY29uZmlnX2ZpbGVzKHNlbGYpOgorICAgICAgICByZXR1cm4gc2VsZi5jb25maWcuZmluZF9jb25maWdfZmlsZXMoKQorCisgICAgIyAtLSBDb21tYW5kLWxpbmUgcGFyc2luZyBtZXRob2RzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworICAgIGRlZiBwYXJzZV9jb21tYW5kX2xpbmUoc2VsZik6CisgICAgICAgICIiIlBhcnNlIHRoZSBzZXR1cCBzY3JpcHQncyBjb21tYW5kIGxpbmUsIHRha2VuIGZyb20gdGhlCisgICAgICAgICdzY3JpcHRfYXJncycgaW5zdGFuY2UgYXR0cmlidXRlICh3aGljaCBkZWZhdWx0cyB0byAnc3lzLmFyZ3ZbMTpdJworICAgICAgICAtLSBzZWUgJ3NldHVwKCknIGluIHJ1bi5weSkuICBUaGlzIGxpc3QgaXMgZmlyc3QgcHJvY2Vzc2VkIGZvcgorICAgICAgICAiZ2xvYmFsIG9wdGlvbnMiIC0tIG9wdGlvbnMgdGhhdCBzZXQgYXR0cmlidXRlcyBvZiB0aGUgRGlzdHJpYnV0aW9uCisgICAgICAgIGluc3RhbmNlLiAgVGhlbiwgaXQgaXMgYWx0ZXJuYXRlbHkgc2Nhbm5lZCBmb3IgUGFja2FnaW5nIGNvbW1hbmRzCisgICAgICAgIGFuZCBvcHRpb25zIGZvciB0aGF0IGNvbW1hbmQuICBFYWNoIG5ldyBjb21tYW5kIHRlcm1pbmF0ZXMgdGhlCisgICAgICAgIG9wdGlvbnMgZm9yIHRoZSBwcmV2aW91cyBjb21tYW5kLiAgVGhlIGFsbG93ZWQgb3B0aW9ucyBmb3IgYQorICAgICAgICBjb21tYW5kIGFyZSBkZXRlcm1pbmVkIGJ5IHRoZSAndXNlcl9vcHRpb25zJyBhdHRyaWJ1dGUgb2YgdGhlCisgICAgICAgIGNvbW1hbmQgY2xhc3MgLS0gdGh1cywgd2UgaGF2ZSB0byBiZSBhYmxlIHRvIGxvYWQgY29tbWFuZCBjbGFzc2VzCisgICAgICAgIGluIG9yZGVyIHRvIHBhcnNlIHRoZSBjb21tYW5kIGxpbmUuICBBbnkgZXJyb3IgaW4gdGhhdCAnb3B0aW9ucycKKyAgICAgICAgYXR0cmlidXRlIHJhaXNlcyBQYWNrYWdpbmdHZXRvcHRFcnJvcjsgYW55IGVycm9yIG9uIHRoZQorICAgICAgICBjb21tYW5kIGxpbmUgcmFpc2VzIFBhY2thZ2luZ0FyZ0Vycm9yLiAgSWYgbm8gUGFja2FnaW5nIGNvbW1hbmRzCisgICAgICAgIHdlcmUgZm91bmQgb24gdGhlIGNvbW1hbmQgbGluZSwgcmFpc2VzIFBhY2thZ2luZ0FyZ0Vycm9yLiAgUmV0dXJuCisgICAgICAgIHRydWUgaWYgY29tbWFuZCBsaW5lIHdhcyBzdWNjZXNzZnVsbHkgcGFyc2VkIGFuZCB3ZSBzaG91bGQgY2FycnkKKyAgICAgICAgb24gd2l0aCBleGVjdXRpbmcgY29tbWFuZHM7IGZhbHNlIGlmIG5vIGVycm9ycyBidXQgd2Ugc2hvdWxkbid0CisgICAgICAgIGV4ZWN1dGUgY29tbWFuZHMgKGN1cnJlbnRseSwgdGhpcyBvbmx5IGhhcHBlbnMgaWYgdXNlciBhc2tzIGZvcgorICAgICAgICBoZWxwKS4KKyAgICAgICAgIiIiCisgICAgICAgICMKKyAgICAgICAgIyBXZSBub3cgaGF2ZSBlbm91Z2ggaW5mb3JtYXRpb24gdG8gc2hvdyB0aGUgTWFjaW50b3NoIGRpYWxvZworICAgICAgICAjIHRoYXQgYWxsb3dzIHRoZSB1c2VyIHRvIGludGVyYWN0aXZlbHkgc3BlY2lmeSB0aGUgImNvbW1hbmQgbGluZSIuCisgICAgICAgICMKKyAgICAgICAgdG9wbGV2ZWxfb3B0aW9ucyA9IHNlbGYuX2dldF90b3BsZXZlbF9vcHRpb25zKCkKKworICAgICAgICAjIFdlIGhhdmUgdG8gcGFyc2UgdGhlIGNvbW1hbmQgbGluZSBhIGJpdCBhdCBhIHRpbWUgLS0gZ2xvYmFsCisgICAgICAgICMgb3B0aW9ucywgdGhlbiB0aGUgZmlyc3QgY29tbWFuZCwgdGhlbiBpdHMgb3B0aW9ucywgYW5kIHNvIG9uIC0tCisgICAgICAgICMgYmVjYXVzZSBlYWNoIGNvbW1hbmQgd2lsbCBiZSBoYW5kbGVkIGJ5IGEgZGlmZmVyZW50IGNsYXNzLCBhbmQKKyAgICAgICAgIyB0aGUgb3B0aW9ucyB0aGF0IGFyZSB2YWxpZCBmb3IgYSBwYXJ0aWN1bGFyIGNsYXNzIGFyZW4ndCBrbm93bgorICAgICAgICAjIHVudGlsIHdlIGhhdmUgbG9hZGVkIHRoZSBjb21tYW5kIGNsYXNzLCB3aGljaCBkb2Vzbid0IGhhcHBlbgorICAgICAgICAjIHVudGlsIHdlIGtub3cgd2hhdCB0aGUgY29tbWFuZCBpcy4KKworICAgICAgICBzZWxmLmNvbW1hbmRzID0gW10KKyAgICAgICAgcGFyc2VyID0gRmFuY3lHZXRvcHQodG9wbGV2ZWxfb3B0aW9ucyArIHNlbGYuZGlzcGxheV9vcHRpb25zKQorICAgICAgICBwYXJzZXIuc2V0X25lZ2F0aXZlX2FsaWFzZXMoc2VsZi5uZWdhdGl2ZV9vcHQpCisgICAgICAgIGFyZ3MgPSBwYXJzZXIuZ2V0b3B0KGFyZ3M9c2VsZi5zY3JpcHRfYXJncywgb2JqZWN0PXNlbGYpCisgICAgICAgIG9wdGlvbl9vcmRlciA9IHBhcnNlci5nZXRfb3B0aW9uX29yZGVyKCkKKworICAgICAgICAjIGZvciBkaXNwbGF5IG9wdGlvbnMgd2UgcmV0dXJuIGltbWVkaWF0ZWx5CisgICAgICAgIGlmIHNlbGYuaGFuZGxlX2Rpc3BsYXlfb3B0aW9ucyhvcHRpb25fb3JkZXIpOgorICAgICAgICAgICAgcmV0dXJuCisKKyAgICAgICAgd2hpbGUgYXJnczoKKyAgICAgICAgICAgIGFyZ3MgPSBzZWxmLl9wYXJzZV9jb21tYW5kX29wdHMocGFyc2VyLCBhcmdzKQorICAgICAgICAgICAgaWYgYXJncyBpcyBOb25lOiAgICAgICAgICAgICMgdXNlciBhc2tlZCBmb3IgaGVscCAoYW5kIGdvdCBpdCkKKyAgICAgICAgICAgICAgICByZXR1cm4KKworICAgICAgICAjIEhhbmRsZSB0aGUgY2FzZXMgb2YgLS1oZWxwIGFzIGEgImdsb2JhbCIgb3B0aW9uLCBpZS4KKyAgICAgICAgIyAicHlzZXR1cCBydW4gLS1oZWxwIiBhbmQgInB5c2V0dXAgcnVuIC0taGVscCBjb21tYW5kIC4uLiIuICBGb3IgdGhlCisgICAgICAgICMgZm9ybWVyLCB3ZSBzaG93IGdsb2JhbCBvcHRpb25zICgtLWRyeS1ydW4sIGV0Yy4pCisgICAgICAgICMgYW5kIGRpc3BsYXktb25seSBvcHRpb25zICgtLW5hbWUsIC0tdmVyc2lvbiwgZXRjLik7IGZvciB0aGUKKyAgICAgICAgIyBsYXR0ZXIsIHdlIG9taXQgdGhlIGRpc3BsYXktb25seSBvcHRpb25zIGFuZCBzaG93IGhlbHAgZm9yCisgICAgICAgICMgZWFjaCBjb21tYW5kIGxpc3RlZCBvbiB0aGUgY29tbWFuZCBsaW5lLgorICAgICAgICBpZiBzZWxmLmhlbHA6CisgICAgICAgICAgICBzZWxmLl9zaG93X2hlbHAocGFyc2VyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXlfb3B0aW9ucz1sZW4oc2VsZi5jb21tYW5kcykgPT0gMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21tYW5kcz1zZWxmLmNvbW1hbmRzKQorICAgICAgICAgICAgcmV0dXJuCisKKyAgICAgICAgcmV0dXJuIFRydWUKKworICAgIGRlZiBfZ2V0X3RvcGxldmVsX29wdGlvbnMoc2VsZik6CisgICAgICAgICIiIlJldHVybiB0aGUgbm9uLWRpc3BsYXkgb3B0aW9ucyByZWNvZ25pemVkIGF0IHRoZSB0b3AgbGV2ZWwuCisKKyAgICAgICAgVGhpcyBpbmNsdWRlcyBvcHRpb25zIHRoYXQgYXJlIHJlY29nbml6ZWQgKm9ubHkqIGF0IHRoZSB0b3AKKyAgICAgICAgbGV2ZWwgYXMgd2VsbCBhcyBvcHRpb25zIHJlY29nbml6ZWQgZm9yIGNvbW1hbmRzLgorICAgICAgICAiIiIKKyAgICAgICAgcmV0dXJuIHNlbGYuZ2xvYmFsX29wdGlvbnMKKworICAgIGRlZiBfcGFyc2VfY29tbWFuZF9vcHRzKHNlbGYsIHBhcnNlciwgYXJncyk6CisgICAgICAgICIiIlBhcnNlIHRoZSBjb21tYW5kLWxpbmUgb3B0aW9ucyBmb3IgYSBzaW5nbGUgY29tbWFuZC4KKyAgICAgICAgJ3BhcnNlcicgbXVzdCBiZSBhIEZhbmN5R2V0b3B0IGluc3RhbmNlOyAnYXJncycgbXVzdCBiZSB0aGUgbGlzdAorICAgICAgICBvZiBhcmd1bWVudHMsIHN0YXJ0aW5nIHdpdGggdGhlIGN1cnJlbnQgY29tbWFuZCAod2hvc2Ugb3B0aW9ucworICAgICAgICB3ZSBhcmUgYWJvdXQgdG8gcGFyc2UpLiAgUmV0dXJucyBhIG5ldyB2ZXJzaW9uIG9mICdhcmdzJyB3aXRoCisgICAgICAgIHRoZSBuZXh0IGNvbW1hbmQgYXQgdGhlIGZyb250IG9mIHRoZSBsaXN0OyB3aWxsIGJlIHRoZSBlbXB0eQorICAgICAgICBsaXN0IGlmIHRoZXJlIGFyZSBubyBtb3JlIGNvbW1hbmRzIG9uIHRoZSBjb21tYW5kIGxpbmUuICBSZXR1cm5zCisgICAgICAgIE5vbmUgaWYgdGhlIHVzZXIgYXNrZWQgZm9yIGhlbHAgb24gdGhpcyBjb21tYW5kLgorICAgICAgICAiIiIKKyAgICAgICAgIyBQdWxsIHRoZSBjdXJyZW50IGNvbW1hbmQgZnJvbSB0aGUgaGVhZCBvZiB0aGUgY29tbWFuZCBsaW5lCisgICAgICAgIGNvbW1hbmQgPSBhcmdzWzBdCisgICAgICAgIGlmIG5vdCBjb21tYW5kX3JlLm1hdGNoKGNvbW1hbmQpOgorICAgICAgICAgICAgcmFpc2UgU3lzdGVtRXhpdCgiaW52YWxpZCBjb21tYW5kIG5hbWUgJXIiICUgY29tbWFuZCkKKyAgICAgICAgc2VsZi5jb21tYW5kcy5hcHBlbmQoY29tbWFuZCkKKworICAgICAgICAjIERpZyB1cCB0aGUgY29tbWFuZCBjbGFzcyB0aGF0IGltcGxlbWVudHMgdGhpcyBjb21tYW5kLCBzbyB3ZQorICAgICAgICAjIDEpIGtub3cgdGhhdCBpdCdzIGEgdmFsaWQgY29tbWFuZCwgYW5kIDIpIGtub3cgd2hpY2ggb3B0aW9ucworICAgICAgICAjIGl0IHRha2VzLgorICAgICAgICB0cnk6CisgICAgICAgICAgICBjbWRfY2xhc3MgPSBnZXRfY29tbWFuZF9jbGFzcyhjb21tYW5kKQorICAgICAgICBleGNlcHQgUGFja2FnaW5nTW9kdWxlRXJyb3IgYXMgbXNnOgorICAgICAgICAgICAgcmFpc2UgUGFja2FnaW5nQXJnRXJyb3IobXNnKQorCisgICAgICAgICMgWFhYIFdlIHdhbnQgdG8gcHVzaCB0aGlzIGluIHBhY2thZ2luZy5jb21tYW5kCisgICAgICAgICMKKyAgICAgICAgIyBSZXF1aXJlIHRoYXQgdGhlIGNvbW1hbmQgY2xhc3MgYmUgZGVyaXZlZCBmcm9tIENvbW1hbmQgLS0gd2FudAorICAgICAgICAjIHRvIGJlIHN1cmUgdGhhdCB0aGUgYmFzaWMgImNvbW1hbmQiIGludGVyZmFjZSBpcyBpbXBsZW1lbnRlZC4KKyAgICAgICAgZm9yIG1ldGggaW4gKCdpbml0aWFsaXplX29wdGlvbnMnLCAnZmluYWxpemVfb3B0aW9ucycsICdydW4nKToKKyAgICAgICAgICAgIGlmIGhhc2F0dHIoY21kX2NsYXNzLCBtZXRoKToKKyAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgcmFpc2UgUGFja2FnaW5nQ2xhc3NFcnJvcigKKyAgICAgICAgICAgICAgICAnY29tbWFuZCAlciBtdXN0IGltcGxlbWVudCAlcicgJSAoY21kX2NsYXNzLCBtZXRoKSkKKworICAgICAgICAjIEFsc28gbWFrZSBzdXJlIHRoYXQgdGhlIGNvbW1hbmQgb2JqZWN0IHByb3ZpZGVzIGEgbGlzdCBvZiBpdHMKKyAgICAgICAgIyBrbm93biBvcHRpb25zLgorICAgICAgICBpZiBub3QgKGhhc2F0dHIoY21kX2NsYXNzLCAndXNlcl9vcHRpb25zJykgYW5kCisgICAgICAgICAgICAgICAgaXNpbnN0YW5jZShjbWRfY2xhc3MudXNlcl9vcHRpb25zLCBsaXN0KSk6CisgICAgICAgICAgICByYWlzZSBQYWNrYWdpbmdDbGFzc0Vycm9yKAorICAgICAgICAgICAgICAgICJjb21tYW5kIGNsYXNzICVzIG11c3QgcHJvdmlkZSAiCisgICAgICAgICAgICAgICAgIid1c2VyX29wdGlvbnMnIGF0dHJpYnV0ZSAoYSBsaXN0IG9mIHR1cGxlcykiICUgY21kX2NsYXNzKQorCisgICAgICAgICMgSWYgdGhlIGNvbW1hbmQgY2xhc3MgaGFzIGEgbGlzdCBvZiBuZWdhdGl2ZSBhbGlhcyBvcHRpb25zLAorICAgICAgICAjIG1lcmdlIGl0IGluIHdpdGggdGhlIGdsb2JhbCBuZWdhdGl2ZSBhbGlhc2VzLgorICAgICAgICBuZWdhdGl2ZV9vcHQgPSBzZWxmLm5lZ2F0aXZlX29wdAorICAgICAgICBpZiBoYXNhdHRyKGNtZF9jbGFzcywgJ25lZ2F0aXZlX29wdCcpOgorICAgICAgICAgICAgbmVnYXRpdmVfb3B0ID0gbmVnYXRpdmVfb3B0LmNvcHkoKQorICAgICAgICAgICAgbmVnYXRpdmVfb3B0LnVwZGF0ZShjbWRfY2xhc3MubmVnYXRpdmVfb3B0KQorCisgICAgICAgICMgQ2hlY2sgZm9yIGhlbHBfb3B0aW9ucyBpbiBjb21tYW5kIGNsYXNzLiAgVGhleSBoYXZlIGEgZGlmZmVyZW50CisgICAgICAgICMgZm9ybWF0ICh0dXBsZSBvZiBmb3VyKSBzbyB3ZSBuZWVkIHRvIHByZXByb2Nlc3MgdGhlbSBoZXJlLgorICAgICAgICBpZiAoaGFzYXR0cihjbWRfY2xhc3MsICdoZWxwX29wdGlvbnMnKSBhbmQKKyAgICAgICAgICAgIGlzaW5zdGFuY2UoY21kX2NsYXNzLmhlbHBfb3B0aW9ucywgbGlzdCkpOgorICAgICAgICAgICAgaGVscF9vcHRpb25zID0gY21kX2NsYXNzLmhlbHBfb3B0aW9uc1s6XQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgaGVscF9vcHRpb25zID0gW10KKworICAgICAgICAjIEFsbCBjb21tYW5kcyBzdXBwb3J0IHRoZSBnbG9iYWwgb3B0aW9ucyB0b28sIGp1c3QgYnkgYWRkaW5nCisgICAgICAgICMgaW4gJ2dsb2JhbF9vcHRpb25zJy4KKyAgICAgICAgcGFyc2VyLnNldF9vcHRpb25fdGFibGUoc2VsZi5nbG9iYWxfb3B0aW9ucyArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNtZF9jbGFzcy51c2VyX29wdGlvbnMgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwX29wdGlvbnMpCisgICAgICAgIHBhcnNlci5zZXRfbmVnYXRpdmVfYWxpYXNlcyhuZWdhdGl2ZV9vcHQpCisgICAgICAgIGFyZ3MsIG9wdHMgPSBwYXJzZXIuZ2V0b3B0KGFyZ3NbMTpdKQorICAgICAgICBpZiBoYXNhdHRyKG9wdHMsICdoZWxwJykgYW5kIG9wdHMuaGVscDoKKyAgICAgICAgICAgIHNlbGYuX3Nob3dfaGVscChwYXJzZXIsIGRpc3BsYXlfb3B0aW9ucz1GYWxzZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21tYW5kcz1bY21kX2NsYXNzXSkKKyAgICAgICAgICAgIHJldHVybgorCisgICAgICAgIGlmIChoYXNhdHRyKGNtZF9jbGFzcywgJ2hlbHBfb3B0aW9ucycpIGFuZAorICAgICAgICAgICAgaXNpbnN0YW5jZShjbWRfY2xhc3MuaGVscF9vcHRpb25zLCBsaXN0KSk6CisgICAgICAgICAgICBoZWxwX29wdGlvbl9mb3VuZCA9IEZhbHNlCisgICAgICAgICAgICBmb3IgaGVscF9vcHRpb24sIHNob3J0LCBkZXNjLCBmdW5jIGluIGNtZF9jbGFzcy5oZWxwX29wdGlvbnM6CisgICAgICAgICAgICAgICAgaWYgaGFzYXR0cihvcHRzLCBoZWxwX29wdGlvbi5yZXBsYWNlKCctJywgJ18nKSk6CisgICAgICAgICAgICAgICAgICAgIGhlbHBfb3B0aW9uX2ZvdW5kID0gVHJ1ZQorICAgICAgICAgICAgICAgICAgICBpZiBjYWxsYWJsZShmdW5jKToKKyAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmMoKQorICAgICAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2UgUGFja2FnaW5nQ2xhc3NFcnJvcigKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaW52YWxpZCBoZWxwIGZ1bmN0aW9uICVyIGZvciBoZWxwIG9wdGlvbiAlcjogIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtdXN0IGJlIGEgY2FsbGFibGUgb2JqZWN0IChmdW5jdGlvbiwgZXRjLikiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJSAoZnVuYywgaGVscF9vcHRpb24pKQorCisgICAgICAgICAgICBpZiBoZWxwX29wdGlvbl9mb3VuZDoKKyAgICAgICAgICAgICAgICByZXR1cm4KKworICAgICAgICAjIFB1dCB0aGUgb3B0aW9ucyBmcm9tIHRoZSBjb21tYW5kIGxpbmUgaW50byB0aGVpciBvZmZpY2lhbAorICAgICAgICAjIGhvbGRpbmcgcGVuLCB0aGUgJ2NvbW1hbmRfb3B0aW9ucycgZGljdGlvbmFyeS4KKyAgICAgICAgb3B0X2RpY3QgPSBzZWxmLmdldF9vcHRpb25fZGljdChjb21tYW5kKQorICAgICAgICBmb3IgbmFtZSwgdmFsdWUgaW4gdmFycyhvcHRzKS5pdGVtcygpOgorICAgICAgICAgICAgb3B0X2RpY3RbbmFtZV0gPSAoImNvbW1hbmQgbGluZSIsIHZhbHVlKQorCisgICAgICAgIHJldHVybiBhcmdzCisKKyAgICBkZWYgZmluYWxpemVfb3B0aW9ucyhzZWxmKToKKyAgICAgICAgIiIiU2V0IGZpbmFsIHZhbHVlcyBmb3IgYWxsIHRoZSBvcHRpb25zIG9uIHRoZSBEaXN0cmlidXRpb24KKyAgICAgICAgaW5zdGFuY2UsIGFuYWxvZ291cyB0byB0aGUgLmZpbmFsaXplX29wdGlvbnMoKSBtZXRob2Qgb2YgQ29tbWFuZAorICAgICAgICBvYmplY3RzLgorICAgICAgICAiIiIKKyAgICAgICAgaWYgZ2V0YXR0cihzZWxmLCAnY29udmVydF8ydG8zX2RvY3Rlc3RzJywgTm9uZSk6CisgICAgICAgICAgICBzZWxmLmNvbnZlcnRfMnRvM19kb2N0ZXN0cyA9IFtvcy5wYXRoLmpvaW4ocCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHAgaW4gc2VsZi5jb252ZXJ0XzJ0bzNfZG9jdGVzdHNdCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzZWxmLmNvbnZlcnRfMnRvM19kb2N0ZXN0cyA9IFtdCisKKyAgICBkZWYgX3Nob3dfaGVscChzZWxmLCBwYXJzZXIsIGdsb2JhbF9vcHRpb25zPVRydWUsIGRpc3BsYXlfb3B0aW9ucz1UcnVlLAorICAgICAgICAgICAgICAgICAgIGNvbW1hbmRzPVtdKToKKyAgICAgICAgIiIiU2hvdyBoZWxwIGZvciB0aGUgc2V0dXAgc2NyaXB0IGNvbW1hbmQgbGluZSBpbiB0aGUgZm9ybSBvZgorICAgICAgICBzZXZlcmFsIGxpc3RzIG9mIGNvbW1hbmQtbGluZSBvcHRpb25zLiAgJ3BhcnNlcicgc2hvdWxkIGJlIGEKKyAgICAgICAgRmFuY3lHZXRvcHQgaW5zdGFuY2U7IGRvIG5vdCBleHBlY3QgaXQgdG8gYmUgcmV0dXJuZWQgaW4gdGhlCisgICAgICAgIHNhbWUgc3RhdGUsIGFzIGl0cyBvcHRpb24gdGFibGUgd2lsbCBiZSByZXNldCB0byBtYWtlIGl0CisgICAgICAgIGdlbmVyYXRlIHRoZSBjb3JyZWN0IGhlbHAgdGV4dC4KKworICAgICAgICBJZiAnZ2xvYmFsX29wdGlvbnMnIGlzIHRydWUsIGxpc3RzIHRoZSBnbG9iYWwgb3B0aW9uczoKKyAgICAgICAgLS1kcnktcnVuLCBldGMuICBJZiAnZGlzcGxheV9vcHRpb25zJyBpcyB0cnVlLCBsaXN0cworICAgICAgICB0aGUgImRpc3BsYXktb25seSIgb3B0aW9uczogLS1oZWxwLWNvbW1hbmRzLiAgRmluYWxseSwKKyAgICAgICAgbGlzdHMgcGVyLWNvbW1hbmQgaGVscCBmb3IgZXZlcnkgY29tbWFuZCBuYW1lIG9yIGNvbW1hbmQgY2xhc3MKKyAgICAgICAgaW4gJ2NvbW1hbmRzJy4KKyAgICAgICAgIiIiCisgICAgICAgIGlmIGdsb2JhbF9vcHRpb25zOgorICAgICAgICAgICAgaWYgZGlzcGxheV9vcHRpb25zOgorICAgICAgICAgICAgICAgIG9wdGlvbnMgPSBzZWxmLl9nZXRfdG9wbGV2ZWxfb3B0aW9ucygpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIG9wdGlvbnMgPSBzZWxmLmdsb2JhbF9vcHRpb25zCisgICAgICAgICAgICBwYXJzZXIuc2V0X29wdGlvbl90YWJsZShvcHRpb25zKQorICAgICAgICAgICAgcGFyc2VyLnByaW50X2hlbHAoc2VsZi5jb21tb25fdXNhZ2UgKyAiXG5HbG9iYWwgb3B0aW9uczoiKQorICAgICAgICAgICAgcHJpbnQoKQorCisgICAgICAgIGlmIGRpc3BsYXlfb3B0aW9uczoKKyAgICAgICAgICAgIHBhcnNlci5zZXRfb3B0aW9uX3RhYmxlKHNlbGYuZGlzcGxheV9vcHRpb25zKQorICAgICAgICAgICAgcGFyc2VyLnByaW50X2hlbHAoCisgICAgICAgICAgICAgICAgIkluZm9ybWF0aW9uIGRpc3BsYXkgb3B0aW9ucyAoanVzdCBkaXNwbGF5ICIgKworICAgICAgICAgICAgICAgICJpbmZvcm1hdGlvbiwgaWdub3JlIGFueSBjb21tYW5kcykiKQorICAgICAgICAgICAgcHJpbnQoKQorCisgICAgICAgIGZvciBjb21tYW5kIGluIHNlbGYuY29tbWFuZHM6CisgICAgICAgICAgICBpZiBpc2luc3RhbmNlKGNvbW1hbmQsIHR5cGUpIGFuZCBpc3N1YmNsYXNzKGNvbW1hbmQsIENvbW1hbmQpOgorICAgICAgICAgICAgICAgIGNscyA9IGNvbW1hbmQKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgY2xzID0gZ2V0X2NvbW1hbmRfY2xhc3MoY29tbWFuZCkKKyAgICAgICAgICAgIGlmIChoYXNhdHRyKGNscywgJ2hlbHBfb3B0aW9ucycpIGFuZAorICAgICAgICAgICAgICAgIGlzaW5zdGFuY2UoY2xzLmhlbHBfb3B0aW9ucywgbGlzdCkpOgorICAgICAgICAgICAgICAgIHBhcnNlci5zZXRfb3B0aW9uX3RhYmxlKGNscy51c2VyX29wdGlvbnMgKyBjbHMuaGVscF9vcHRpb25zKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBwYXJzZXIuc2V0X29wdGlvbl90YWJsZShjbHMudXNlcl9vcHRpb25zKQorICAgICAgICAgICAgcGFyc2VyLnByaW50X2hlbHAoIk9wdGlvbnMgZm9yICVyIGNvbW1hbmQ6IiAlIGNscy5fX25hbWVfXykKKyAgICAgICAgICAgIHByaW50KCkKKworICAgICAgICBwcmludChnZW5fdXNhZ2Uoc2VsZi5zY3JpcHRfbmFtZSkpCisKKyAgICBkZWYgaGFuZGxlX2Rpc3BsYXlfb3B0aW9ucyhzZWxmLCBvcHRpb25fb3JkZXIpOgorICAgICAgICAiIiJJZiB0aGVyZSB3ZXJlIGFueSBub24tZ2xvYmFsICJkaXNwbGF5LW9ubHkiIG9wdGlvbnMKKyAgICAgICAgKC0taGVscC1jb21tYW5kcykgb24gdGhlIGNvbW1hbmQgbGluZSwgZGlzcGxheSB0aGUgcmVxdWVzdGVkIGluZm8gYW5kCisgICAgICAgIHJldHVybiB0cnVlOyBlbHNlIHJldHVybiBmYWxzZS4KKyAgICAgICAgIiIiCisgICAgICAgICMgVXNlciBqdXN0IHdhbnRzIGEgbGlzdCBvZiBjb21tYW5kcyAtLSB3ZSdsbCBwcmludCBpdCBvdXQgYW5kIHN0b3AKKyAgICAgICAgIyBwcm9jZXNzaW5nIG5vdyAoaWUuIGlmIHRoZXkgcmFuICJzZXR1cCAtLWhlbHAtY29tbWFuZHMgZm9vIGJhciIsCisgICAgICAgICMgd2UgaWdub3JlICJmb28gYmFyIikuCisgICAgICAgIGlmIHNlbGYuaGVscF9jb21tYW5kczoKKyAgICAgICAgICAgIHNlbGYucHJpbnRfY29tbWFuZHMoKQorICAgICAgICAgICAgcHJpbnQoKQorICAgICAgICAgICAgcHJpbnQoZ2VuX3VzYWdlKHNlbGYuc2NyaXB0X25hbWUpKQorICAgICAgICAgICAgcmV0dXJuIFRydWUKKworICAgICAgICAjIElmIHVzZXIgc3VwcGxpZWQgYW55IG9mIHRoZSAiZGlzcGxheSBtZXRhZGF0YSIgb3B0aW9ucywgdGhlbgorICAgICAgICAjIGRpc3BsYXkgdGhhdCBtZXRhZGF0YSBpbiB0aGUgb3JkZXIgaW4gd2hpY2ggdGhlIHVzZXIgc3VwcGxpZWQgdGhlCisgICAgICAgICMgbWV0YWRhdGEgb3B0aW9ucy4KKyAgICAgICAgYW55X2Rpc3BsYXlfb3B0aW9ucyA9IEZhbHNlCisgICAgICAgIGlzX2Rpc3BsYXlfb3B0aW9uID0gc2V0KCkKKyAgICAgICAgZm9yIG9wdGlvbiBpbiBzZWxmLmRpc3BsYXlfb3B0aW9uczoKKyAgICAgICAgICAgIGlzX2Rpc3BsYXlfb3B0aW9uLmFkZChvcHRpb25bMF0pCisKKyAgICAgICAgZm9yIG9wdCwgdmFsIGluIG9wdGlvbl9vcmRlcjoKKyAgICAgICAgICAgIGlmIHZhbCBhbmQgb3B0IGluIGlzX2Rpc3BsYXlfb3B0aW9uOgorICAgICAgICAgICAgICAgIG9wdCA9IG9wdC5yZXBsYWNlKCctJywgJ18nKQorICAgICAgICAgICAgICAgIHZhbHVlID0gc2VsZi5tZXRhZGF0YVtvcHRdCisgICAgICAgICAgICAgICAgaWYgb3B0IGluICgna2V5d29yZHMnLCAncGxhdGZvcm0nKToKKyAgICAgICAgICAgICAgICAgICAgcHJpbnQoJywnLmpvaW4odmFsdWUpKQorICAgICAgICAgICAgICAgIGVsaWYgb3B0IGluICgnY2xhc3NpZmllcicsICdwcm92aWRlcycsICdyZXF1aXJlcycsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdvYnNvbGV0ZXMnKToKKyAgICAgICAgICAgICAgICAgICAgcHJpbnQoJ1xuJy5qb2luKHZhbHVlKSkKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICBwcmludCh2YWx1ZSkKKyAgICAgICAgICAgICAgICBhbnlfZGlzcGxheV9vcHRpb25zID0gVHJ1ZQorCisgICAgICAgIHJldHVybiBhbnlfZGlzcGxheV9vcHRpb25zCisKKyAgICBkZWYgcHJpbnRfY29tbWFuZF9saXN0KHNlbGYsIGNvbW1hbmRzLCBoZWFkZXIsIG1heF9sZW5ndGgpOgorICAgICAgICAiIiJQcmludCBhIHN1YnNldCBvZiB0aGUgbGlzdCBvZiBhbGwgY29tbWFuZHMgLS0gdXNlZCBieQorICAgICAgICAncHJpbnRfY29tbWFuZHMoKScuCisgICAgICAgICIiIgorICAgICAgICBwcmludChoZWFkZXIgKyAiOiIpCisKKyAgICAgICAgZm9yIGNtZCBpbiBjb21tYW5kczoKKyAgICAgICAgICAgIGNscyA9IHNlbGYuY21kY2xhc3MuZ2V0KGNtZCkgb3IgZ2V0X2NvbW1hbmRfY2xhc3MoY21kKQorICAgICAgICAgICAgZGVzY3JpcHRpb24gPSBnZXRhdHRyKGNscywgJ2Rlc2NyaXB0aW9uJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnKG5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZSknKQorCisgICAgICAgICAgICBwcmludCgiICAlLSpzICAlcyIgJSAobWF4X2xlbmd0aCwgY21kLCBkZXNjcmlwdGlvbikpCisKKyAgICBkZWYgX2dldF9jb21tYW5kX2dyb3VwcyhzZWxmKToKKyAgICAgICAgIiIiSGVscGVyIGZ1bmN0aW9uIHRvIHJldHJpZXZlIGFsbCB0aGUgY29tbWFuZCBjbGFzcyBuYW1lcyBkaXZpZGVkCisgICAgICAgIGludG8gc3RhbmRhcmQgY29tbWFuZHMgKGxpc3RlZCBpbgorICAgICAgICBwYWNrYWdpbmcuY29tbWFuZC5TVEFOREFSRF9DT01NQU5EUykgYW5kIGV4dHJhIGNvbW1hbmRzIChnaXZlbiBpbgorICAgICAgICBzZWxmLmNtZGNsYXNzIGFuZCBub3Qgc3RhbmRhcmQgY29tbWFuZHMpLgorICAgICAgICAiIiIKKyAgICAgICAgZXh0cmFfY29tbWFuZHMgPSBbY21kIGZvciBjbWQgaW4gc2VsZi5jbWRjbGFzcworICAgICAgICAgICAgICAgICAgICAgICAgICBpZiBjbWQgbm90IGluIFNUQU5EQVJEX0NPTU1BTkRTXQorICAgICAgICByZXR1cm4gU1RBTkRBUkRfQ09NTUFORFMsIGV4dHJhX2NvbW1hbmRzCisKKyAgICBkZWYgcHJpbnRfY29tbWFuZHMoc2VsZik6CisgICAgICAgICIiIlByaW50IG91dCBhIGhlbHAgbWVzc2FnZSBsaXN0aW5nIGFsbCBhdmFpbGFibGUgY29tbWFuZHMgd2l0aCBhCisgICAgICAgIGRlc2NyaXB0aW9uIG9mIGVhY2guICBUaGUgbGlzdCBpcyBkaXZpZGVkIGludG8gc3RhbmRhcmQgY29tbWFuZHMKKyAgICAgICAgKGxpc3RlZCBpbiBwYWNrYWdpbmcuY29tbWFuZC5TVEFOREFSRF9DT01NQU5EUykgYW5kIGV4dHJhIGNvbW1hbmRzCisgICAgICAgIChnaXZlbiBpbiBzZWxmLmNtZGNsYXNzIGFuZCBub3Qgc3RhbmRhcmQgY29tbWFuZHMpLiAgVGhlCisgICAgICAgIGRlc2NyaXB0aW9ucyBjb21lIGZyb20gdGhlIGNvbW1hbmQgY2xhc3MgYXR0cmlidXRlCisgICAgICAgICdkZXNjcmlwdGlvbicuCisgICAgICAgICIiIgorICAgICAgICBzdGRfY29tbWFuZHMsIGV4dHJhX2NvbW1hbmRzID0gc2VsZi5fZ2V0X2NvbW1hbmRfZ3JvdXBzKCkKKyAgICAgICAgbWF4X2xlbmd0aCA9IDAKKyAgICAgICAgZm9yIGNtZCBpbiAoc3RkX2NvbW1hbmRzICsgZXh0cmFfY29tbWFuZHMpOgorICAgICAgICAgICAgaWYgbGVuKGNtZCkgPiBtYXhfbGVuZ3RoOgorICAgICAgICAgICAgICAgIG1heF9sZW5ndGggPSBsZW4oY21kKQorCisgICAgICAgIHNlbGYucHJpbnRfY29tbWFuZF9saXN0KHN0ZF9jb21tYW5kcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlN0YW5kYXJkIGNvbW1hbmRzIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4X2xlbmd0aCkKKyAgICAgICAgaWYgZXh0cmFfY29tbWFuZHM6CisgICAgICAgICAgICBwcmludCgpCisgICAgICAgICAgICBzZWxmLnByaW50X2NvbW1hbmRfbGlzdChleHRyYV9jb21tYW5kcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJFeHRyYSBjb21tYW5kcyIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhfbGVuZ3RoKQorCisgICAgIyAtLSBDb21tYW5kIGNsYXNzL29iamVjdCBtZXRob2RzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworICAgIGRlZiBnZXRfY29tbWFuZF9vYmooc2VsZiwgY29tbWFuZCwgY3JlYXRlPVRydWUpOgorICAgICAgICAiIiJSZXR1cm4gdGhlIGNvbW1hbmQgb2JqZWN0IGZvciAnY29tbWFuZCcuICBOb3JtYWxseSB0aGlzIG9iamVjdAorICAgICAgICBpcyBjYWNoZWQgb24gYSBwcmV2aW91cyBjYWxsIHRvICdnZXRfY29tbWFuZF9vYmooKSc7IGlmIG5vIGNvbW1hbmQKKyAgICAgICAgb2JqZWN0IGZvciAnY29tbWFuZCcgaXMgaW4gdGhlIGNhY2hlLCB0aGVuIHdlIGVpdGhlciBjcmVhdGUgYW5kCisgICAgICAgIHJldHVybiBpdCAoaWYgJ2NyZWF0ZScgaXMgdHJ1ZSkgb3IgcmV0dXJuIE5vbmUuCisgICAgICAgICIiIgorICAgICAgICBjbWRfb2JqID0gc2VsZi5jb21tYW5kX29iai5nZXQoY29tbWFuZCkKKyAgICAgICAgaWYgbm90IGNtZF9vYmogYW5kIGNyZWF0ZToKKyAgICAgICAgICAgIGxvZ2dlci5kZWJ1ZygiRGlzdHJpYnV0aW9uLmdldF9jb21tYW5kX29iaigpOiAiCisgICAgICAgICAgICAgICAgICAgICAgICAgImNyZWF0aW5nICVyIGNvbW1hbmQgb2JqZWN0IiwgY29tbWFuZCkKKworICAgICAgICAgICAgY2xzID0gZ2V0X2NvbW1hbmRfY2xhc3MoY29tbWFuZCkKKyAgICAgICAgICAgIGNtZF9vYmogPSBzZWxmLmNvbW1hbmRfb2JqW2NvbW1hbmRdID0gY2xzKHNlbGYpCisgICAgICAgICAgICBzZWxmLmhhdmVfcnVuW2NvbW1hbmRdID0gMAorCisgICAgICAgICAgICAjIFNldCBhbnkgb3B0aW9ucyB0aGF0IHdlcmUgc3VwcGxpZWQgaW4gY29uZmlnIGZpbGVzIG9yIG9uIHRoZQorICAgICAgICAgICAgIyBjb21tYW5kIGxpbmUuICAoWFhYIHN1cHBvcnQgZm9yIGVycm9yIHJlcG9ydGluZyBpcyBzdWJvcHRpbWFsCisgICAgICAgICAgICAjIGhlcmU6IGVycm9ycyBhcmVuJ3QgcmVwb3J0ZWQgdW50aWwgZmluYWxpemVfb3B0aW9ucyBpcyBjYWxsZWQsCisgICAgICAgICAgICAjIHdoaWNoIG1lYW5zIHdlIHdvbid0IHJlcG9ydCB0aGUgc291cmNlIG9mIHRoZSBlcnJvci4pCisgICAgICAgICAgICBvcHRpb25zID0gc2VsZi5jb21tYW5kX29wdGlvbnMuZ2V0KGNvbW1hbmQpCisgICAgICAgICAgICBpZiBvcHRpb25zOgorICAgICAgICAgICAgICAgIHNlbGYuX3NldF9jb21tYW5kX29wdGlvbnMoY21kX29iaiwgb3B0aW9ucykKKworICAgICAgICByZXR1cm4gY21kX29iagorCisgICAgZGVmIF9zZXRfY29tbWFuZF9vcHRpb25zKHNlbGYsIGNvbW1hbmRfb2JqLCBvcHRpb25fZGljdD1Ob25lKToKKyAgICAgICAgIiIiU2V0IHRoZSBvcHRpb25zIGZvciAnY29tbWFuZF9vYmonIGZyb20gJ29wdGlvbl9kaWN0Jy4gIEJhc2ljYWxseQorICAgICAgICB0aGlzIG1lYW5zIGNvcHlpbmcgZWxlbWVudHMgb2YgYSBkaWN0aW9uYXJ5ICgnb3B0aW9uX2RpY3QnKSB0bworICAgICAgICBhdHRyaWJ1dGVzIG9mIGFuIGluc3RhbmNlICgnY29tbWFuZCcpLgorCisgICAgICAgICdjb21tYW5kX29iaicgbXVzdCBiZSBhIENvbW1hbmQgaW5zdGFuY2UuICBJZiAnb3B0aW9uX2RpY3QnIGlzIG5vdAorICAgICAgICBzdXBwbGllZCwgdXNlcyB0aGUgc3RhbmRhcmQgb3B0aW9uIGRpY3Rpb25hcnkgZm9yIHRoaXMgY29tbWFuZAorICAgICAgICAoZnJvbSAnc2VsZi5jb21tYW5kX29wdGlvbnMnKS4KKyAgICAgICAgIiIiCisgICAgICAgIGNvbW1hbmRfbmFtZSA9IGNvbW1hbmRfb2JqLmdldF9jb21tYW5kX25hbWUoKQorICAgICAgICBpZiBvcHRpb25fZGljdCBpcyBOb25lOgorICAgICAgICAgICAgb3B0aW9uX2RpY3QgPSBzZWxmLmdldF9vcHRpb25fZGljdChjb21tYW5kX25hbWUpCisKKyAgICAgICAgbG9nZ2VyLmRlYnVnKCIgIHNldHRpbmcgb3B0aW9ucyBmb3IgJXIgY29tbWFuZDoiLCBjb21tYW5kX25hbWUpCisKKyAgICAgICAgZm9yIG9wdGlvbiwgKHNvdXJjZSwgdmFsdWUpIGluIG9wdGlvbl9kaWN0Lml0ZW1zKCk6CisgICAgICAgICAgICBsb2dnZXIuZGVidWcoIiAgICAlcyA9ICVzIChmcm9tICVzKSIsIG9wdGlvbiwgdmFsdWUsIHNvdXJjZSkKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBib29sX29wdHMgPSBbeC5yZXBsYWNlKCctJywgJ18nKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgeCBpbiBjb21tYW5kX29iai5ib29sZWFuX29wdGlvbnNdCisgICAgICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6CisgICAgICAgICAgICAgICAgYm9vbF9vcHRzID0gW10KKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBuZWdfb3B0ID0gY29tbWFuZF9vYmoubmVnYXRpdmVfb3B0CisgICAgICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6CisgICAgICAgICAgICAgICAgbmVnX29wdCA9IHt9CisKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBpc19zdHJpbmcgPSBpc2luc3RhbmNlKHZhbHVlLCBzdHIpCisgICAgICAgICAgICAgICAgaWYgb3B0aW9uIGluIG5lZ19vcHQgYW5kIGlzX3N0cmluZzoKKyAgICAgICAgICAgICAgICAgICAgc2V0YXR0cihjb21tYW5kX29iaiwgbmVnX29wdFtvcHRpb25dLCBub3Qgc3RydG9ib29sKHZhbHVlKSkKKyAgICAgICAgICAgICAgICBlbGlmIG9wdGlvbiBpbiBib29sX29wdHMgYW5kIGlzX3N0cmluZzoKKyAgICAgICAgICAgICAgICAgICAgc2V0YXR0cihjb21tYW5kX29iaiwgb3B0aW9uLCBzdHJ0b2Jvb2wodmFsdWUpKQorICAgICAgICAgICAgICAgIGVsaWYgaGFzYXR0cihjb21tYW5kX29iaiwgb3B0aW9uKToKKyAgICAgICAgICAgICAgICAgICAgc2V0YXR0cihjb21tYW5kX29iaiwgb3B0aW9uLCB2YWx1ZSkKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICByYWlzZSBQYWNrYWdpbmdPcHRpb25FcnJvcigKKyAgICAgICAgICAgICAgICAgICAgICAgICJlcnJvciBpbiAlczogY29tbWFuZCAlciBoYXMgbm8gc3VjaCBvcHRpb24gJXIiICUKKyAgICAgICAgICAgICAgICAgICAgICAgIChzb3VyY2UsIGNvbW1hbmRfbmFtZSwgb3B0aW9uKSkKKyAgICAgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yIGFzIG1zZzoKKyAgICAgICAgICAgICAgICByYWlzZSBQYWNrYWdpbmdPcHRpb25FcnJvcihtc2cpCisKKyAgICBkZWYgcmVpbml0aWFsaXplX2NvbW1hbmQoc2VsZiwgY29tbWFuZCwgcmVpbml0X3N1YmNvbW1hbmRzPUZhbHNlKToKKyAgICAgICAgIiIiUmVpbml0aWFsaXplcyBhIGNvbW1hbmQgdG8gdGhlIHN0YXRlIGl0IHdhcyBpbiB3aGVuIGZpcnN0CisgICAgICAgIHJldHVybmVkIGJ5ICdnZXRfY29tbWFuZF9vYmooKSc6IGkuZS4sIGluaXRpYWxpemVkIGJ1dCBub3QgeWV0CisgICAgICAgIGZpbmFsaXplZC4gIFRoaXMgcHJvdmlkZXMgdGhlIG9wcG9ydHVuaXR5IHRvIHNuZWFrIG9wdGlvbgorICAgICAgICB2YWx1ZXMgaW4gcHJvZ3JhbW1hdGljYWxseSwgb3ZlcnJpZGluZyBvciBzdXBwbGVtZW50aW5nCisgICAgICAgIHVzZXItc3VwcGxpZWQgdmFsdWVzIGZyb20gdGhlIGNvbmZpZyBmaWxlcyBhbmQgY29tbWFuZCBsaW5lLgorICAgICAgICBZb3UnbGwgaGF2ZSB0byByZS1maW5hbGl6ZSB0aGUgY29tbWFuZCBvYmplY3QgKGJ5IGNhbGxpbmcKKyAgICAgICAgJ2ZpbmFsaXplX29wdGlvbnMoKScgb3IgJ2Vuc3VyZV9maW5hbGl6ZWQoKScpIGJlZm9yZSB1c2luZyBpdCBmb3IKKyAgICAgICAgcmVhbC4KKworICAgICAgICAnY29tbWFuZCcgc2hvdWxkIGJlIGEgY29tbWFuZCBuYW1lIChzdHJpbmcpIG9yIGNvbW1hbmQgb2JqZWN0LiAgSWYKKyAgICAgICAgJ3JlaW5pdF9zdWJjb21tYW5kcycgaXMgdHJ1ZSwgYWxzbyByZWluaXRpYWxpemVzIHRoZSBjb21tYW5kJ3MKKyAgICAgICAgc3ViLWNvbW1hbmRzLCBhcyBkZWNsYXJlZCBieSB0aGUgJ3N1Yl9jb21tYW5kcycgY2xhc3MgYXR0cmlidXRlIChpZgorICAgICAgICBpdCBoYXMgb25lKS4gIFNlZSB0aGUgImluc3RhbGxfZGlzdCIgY29tbWFuZCBmb3IgYW4gZXhhbXBsZS4gIE9ubHkKKyAgICAgICAgcmVpbml0aWFsaXplcyB0aGUgc3ViLWNvbW1hbmRzIHRoYXQgYWN0dWFsbHkgbWF0dGVyLCBpLmUuIHRob3NlCisgICAgICAgIHdob3NlIHRlc3QgcHJlZGljYXRlIHJldHVybiB0cnVlLgorCisgICAgICAgIFJldHVybnMgdGhlIHJlaW5pdGlhbGl6ZWQgY29tbWFuZCBvYmplY3QuICBJdCB3aWxsIGJlIHRoZSBzYW1lCisgICAgICAgIG9iamVjdCBhcyB0aGUgb25lIHN0b3JlZCBpbiB0aGUgc2VsZi5jb21tYW5kX29iaiBhdHRyaWJ1dGUuCisgICAgICAgICIiIgorICAgICAgICBpZiBub3QgaXNpbnN0YW5jZShjb21tYW5kLCBDb21tYW5kKToKKyAgICAgICAgICAgIGNvbW1hbmRfbmFtZSA9IGNvbW1hbmQKKyAgICAgICAgICAgIGNvbW1hbmQgPSBzZWxmLmdldF9jb21tYW5kX29iaihjb21tYW5kX25hbWUpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBjb21tYW5kX25hbWUgPSBjb21tYW5kLmdldF9jb21tYW5kX25hbWUoKQorCisgICAgICAgIGlmIG5vdCBjb21tYW5kLmZpbmFsaXplZDoKKyAgICAgICAgICAgIHJldHVybiBjb21tYW5kCisKKyAgICAgICAgY29tbWFuZC5pbml0aWFsaXplX29wdGlvbnMoKQorICAgICAgICBzZWxmLmhhdmVfcnVuW2NvbW1hbmRfbmFtZV0gPSAwCisgICAgICAgIGNvbW1hbmQuZmluYWxpemVkID0gRmFsc2UKKyAgICAgICAgc2VsZi5fc2V0X2NvbW1hbmRfb3B0aW9ucyhjb21tYW5kKQorCisgICAgICAgIGlmIHJlaW5pdF9zdWJjb21tYW5kczoKKyAgICAgICAgICAgIGZvciBzdWIgaW4gY29tbWFuZC5nZXRfc3ViX2NvbW1hbmRzKCk6CisgICAgICAgICAgICAgICAgc2VsZi5yZWluaXRpYWxpemVfY29tbWFuZChzdWIsIHJlaW5pdF9zdWJjb21tYW5kcykKKworICAgICAgICByZXR1cm4gY29tbWFuZAorCisgICAgIyAtLSBNZXRob2RzIHRoYXQgb3BlcmF0ZSBvbiB0aGUgRGlzdHJpYnV0aW9uIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworICAgIGRlZiBydW5fY29tbWFuZHMoc2VsZik6CisgICAgICAgICIiIlJ1biBlYWNoIGNvbW1hbmQgdGhhdCB3YXMgc2VlbiBvbiB0aGUgc2V0dXAgc2NyaXB0IGNvbW1hbmQgbGluZS4KKyAgICAgICAgVXNlcyB0aGUgbGlzdCBvZiBjb21tYW5kcyBmb3VuZCBhbmQgY2FjaGUgb2YgY29tbWFuZCBvYmplY3RzCisgICAgICAgIGNyZWF0ZWQgYnkgJ2dldF9jb21tYW5kX29iaigpJy4KKyAgICAgICAgIiIiCisgICAgICAgIGZvciBjbWQgaW4gc2VsZi5jb21tYW5kczoKKyAgICAgICAgICAgIHNlbGYucnVuX2NvbW1hbmQoY21kKQorCisgICAgIyAtLSBNZXRob2RzIHRoYXQgb3BlcmF0ZSBvbiBpdHMgQ29tbWFuZHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworICAgIGRlZiBydW5fY29tbWFuZChzZWxmLCBjb21tYW5kLCBvcHRpb25zPU5vbmUpOgorICAgICAgICAiIiJEbyB3aGF0ZXZlciBpdCB0YWtlcyB0byBydW4gYSBjb21tYW5kIChpbmNsdWRpbmcgbm90aGluZyBhdCBhbGwsCisgICAgICAgIGlmIHRoZSBjb21tYW5kIGhhcyBhbHJlYWR5IGJlZW4gcnVuKS4gIFNwZWNpZmljYWxseTogaWYgd2UgaGF2ZQorICAgICAgICBhbHJlYWR5IGNyZWF0ZWQgYW5kIHJ1biB0aGUgY29tbWFuZCBuYW1lZCBieSAnY29tbWFuZCcsIHJldHVybgorICAgICAgICBzaWxlbnRseSB3aXRob3V0IGRvaW5nIGFueXRoaW5nLiAgSWYgdGhlIGNvbW1hbmQgbmFtZWQgYnkgJ2NvbW1hbmQnCisgICAgICAgIGRvZXNuJ3QgZXZlbiBoYXZlIGEgY29tbWFuZCBvYmplY3QgeWV0LCBjcmVhdGUgb25lLiAgVGhlbiBpbnZva2UKKyAgICAgICAgJ3J1bigpJyBvbiB0aGF0IGNvbW1hbmQgb2JqZWN0IChvciBhbiBleGlzdGluZyBvbmUpLgorICAgICAgICAiIiIKKyAgICAgICAgIyBBbHJlYWR5IGJlZW4gaGVyZSwgZG9uZSB0aGF0PyB0aGVuIHJldHVybiBzaWxlbnRseS4KKyAgICAgICAgaWYgc2VsZi5oYXZlX3J1bi5nZXQoY29tbWFuZCk6CisgICAgICAgICAgICByZXR1cm4KKworICAgICAgICBpZiBvcHRpb25zIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgc2VsZi5jb21tYW5kX29wdGlvbnNbY29tbWFuZF0gPSBvcHRpb25zCisKKyAgICAgICAgY21kX29iaiA9IHNlbGYuZ2V0X2NvbW1hbmRfb2JqKGNvbW1hbmQpCisgICAgICAgIGNtZF9vYmouZW5zdXJlX2ZpbmFsaXplZCgpCisgICAgICAgIHNlbGYucnVuX2NvbW1hbmRfaG9va3MoY21kX29iaiwgJ3ByZV9ob29rJykKKyAgICAgICAgbG9nZ2VyLmluZm8oInJ1bm5pbmcgJXMiLCBjb21tYW5kKQorICAgICAgICBjbWRfb2JqLnJ1bigpCisgICAgICAgIHNlbGYucnVuX2NvbW1hbmRfaG9va3MoY21kX29iaiwgJ3Bvc3RfaG9vaycpCisgICAgICAgIHNlbGYuaGF2ZV9ydW5bY29tbWFuZF0gPSAxCisKKyAgICBkZWYgcnVuX2NvbW1hbmRfaG9va3Moc2VsZiwgY21kX29iaiwgaG9va19raW5kKToKKyAgICAgICAgIiIiUnVuIGhvb2tzIHJlZ2lzdGVyZWQgZm9yIHRoYXQgY29tbWFuZCBhbmQgcGhhc2UuCisKKyAgICAgICAgKmNtZF9vYmoqIGlzIGEgZmluYWxpemVkIGNvbW1hbmQgb2JqZWN0OyAqaG9va19raW5kKiBpcyBlaXRoZXIKKyAgICAgICAgJ3ByZV9ob29rJyBvciAncG9zdF9ob29rJy4KKyAgICAgICAgIiIiCisgICAgICAgIGlmIGhvb2tfa2luZCBub3QgaW4gKCdwcmVfaG9vaycsICdwb3N0X2hvb2snKToKKyAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoJ2ludmFsaWQgaG9vayBraW5kOiAlcicgJSBob29rX2tpbmQpCisKKyAgICAgICAgaG9va3MgPSBnZXRhdHRyKGNtZF9vYmosIGhvb2tfa2luZCwgTm9uZSkKKworICAgICAgICBpZiBob29rcyBpcyBOb25lOgorICAgICAgICAgICAgcmV0dXJuCisKKyAgICAgICAgZm9yIGhvb2sgaW4gaG9va3MudmFsdWVzKCk6CisgICAgICAgICAgICBpZiBpc2luc3RhbmNlKGhvb2ssIHN0cik6CisgICAgICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgICAgICBob29rX29iaiA9IHJlc29sdmVfbmFtZShob29rKQorICAgICAgICAgICAgICAgIGV4Y2VwdCBJbXBvcnRFcnJvciBhcyBlOgorICAgICAgICAgICAgICAgICAgICByYWlzZSBQYWNrYWdpbmdNb2R1bGVFcnJvcihlKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBob29rX29iaiA9IGhvb2sKKworICAgICAgICAgICAgaWYgbm90IGNhbGxhYmxlKGhvb2tfb2JqKToKKyAgICAgICAgICAgICAgICByYWlzZSBQYWNrYWdpbmdPcHRpb25FcnJvcignaG9vayAlciBpcyBub3QgY2FsbGFibGUnICUgaG9vaykKKworICAgICAgICAgICAgbG9nZ2VyLmluZm8oJ3J1bm5pbmcgJXMgJXMgZm9yIGNvbW1hbmQgJXMnLAorICAgICAgICAgICAgICAgICAgICAgICAgaG9va19raW5kLCBob29rLCBjbWRfb2JqLmdldF9jb21tYW5kX25hbWUoKSkKKyAgICAgICAgICAgIGhvb2tfb2JqKGNtZF9vYmopCisKKyAgICAjIC0tIERpc3RyaWJ1dGlvbiBxdWVyeSBtZXRob2RzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgIGRlZiBoYXNfcHVyZV9tb2R1bGVzKHNlbGYpOgorICAgICAgICByZXR1cm4gbGVuKHNlbGYucGFja2FnZXMgb3Igc2VsZi5weV9tb2R1bGVzIG9yIFtdKSA+IDAKKworICAgIGRlZiBoYXNfZXh0X21vZHVsZXMoc2VsZik6CisgICAgICAgIHJldHVybiBzZWxmLmV4dF9tb2R1bGVzIGFuZCBsZW4oc2VsZi5leHRfbW9kdWxlcykgPiAwCisKKyAgICBkZWYgaGFzX2NfbGlicmFyaWVzKHNlbGYpOgorICAgICAgICByZXR1cm4gc2VsZi5saWJyYXJpZXMgYW5kIGxlbihzZWxmLmxpYnJhcmllcykgPiAwCisKKyAgICBkZWYgaGFzX21vZHVsZXMoc2VsZik6CisgICAgICAgIHJldHVybiBzZWxmLmhhc19wdXJlX21vZHVsZXMoKSBvciBzZWxmLmhhc19leHRfbW9kdWxlcygpCisKKyAgICBkZWYgaGFzX2hlYWRlcnMoc2VsZik6CisgICAgICAgIHJldHVybiBzZWxmLmhlYWRlcnMgYW5kIGxlbihzZWxmLmhlYWRlcnMpID4gMAorCisgICAgZGVmIGhhc19zY3JpcHRzKHNlbGYpOgorICAgICAgICByZXR1cm4gc2VsZi5zY3JpcHRzIGFuZCBsZW4oc2VsZi5zY3JpcHRzKSA+IDAKKworICAgIGRlZiBoYXNfZGF0YV9maWxlcyhzZWxmKToKKyAgICAgICAgcmV0dXJuIHNlbGYuZGF0YV9maWxlcyBhbmQgbGVuKHNlbGYuZGF0YV9maWxlcykgPiAwCisKKyAgICBkZWYgaXNfcHVyZShzZWxmKToKKyAgICAgICAgcmV0dXJuIChzZWxmLmhhc19wdXJlX21vZHVsZXMoKSBhbmQKKyAgICAgICAgICAgICAgICBub3Qgc2VsZi5oYXNfZXh0X21vZHVsZXMoKSBhbmQKKyAgICAgICAgICAgICAgICBub3Qgc2VsZi5oYXNfY19saWJyYXJpZXMoKSkKZGlmZiAtLWdpdCBhL0xpYi9wYWNrYWdpbmcvZXJyb3JzLnB5IGIvTGliL3BhY2thZ2luZy9lcnJvcnMucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODg3ODEyOQotLS0gL2Rldi9udWxsCisrKyBiL0xpYi9wYWNrYWdpbmcvZXJyb3JzLnB5CkBAIC0wLDAgKzEsMTM4IEBACisiIiJFeGNlcHRpb25zIHVzZWQgdGhyb3VnaG91dCB0aGUgcGFja2FnZS4KKworU3VibW9kdWxlcyBvZiBwYWNrYWdpbmcgbWF5IHJhaXNlIGV4Y2VwdGlvbnMgZGVmaW5lZCBpbiB0aGlzIG1vZHVsZSBhcword2VsbCBhcyBzdGFuZGFyZCBleGNlcHRpb25zOyBpbiBwYXJ0aWN1bGFyLCBTeXN0ZW1FeGl0IGlzIHVzdWFsbHkgcmFpc2VkCitmb3IgZXJyb3JzIHRoYXQgYXJlIG9idmlvdXNseSB0aGUgZW5kLXVzZXIncyBmYXVsdCAoZS5nLiBiYWQKK2NvbW1hbmQtbGluZSBhcmd1bWVudHMpLgorIiIiCisKKworY2xhc3MgUGFja2FnaW5nRXJyb3IoRXhjZXB0aW9uKToKKyAgICAiIiJUaGUgcm9vdCBvZiBhbGwgUGFja2FnaW5nIGV2aWwuIiIiCisKKworY2xhc3MgUGFja2FnaW5nTW9kdWxlRXJyb3IoUGFja2FnaW5nRXJyb3IpOgorICAgICIiIlVuYWJsZSB0byBsb2FkIGFuIGV4cGVjdGVkIG1vZHVsZSwgb3IgdG8gZmluZCBhbiBleHBlY3RlZCBjbGFzcworICAgIHdpdGhpbiBzb21lIG1vZHVsZSAoaW4gcGFydGljdWxhciwgY29tbWFuZCBtb2R1bGVzIGFuZCBjbGFzc2VzKS4iIiIKKworCitjbGFzcyBQYWNrYWdpbmdDbGFzc0Vycm9yKFBhY2thZ2luZ0Vycm9yKToKKyAgICAiIiJTb21lIGNvbW1hbmQgY2xhc3MgKG9yIHBvc3NpYmx5IGRpc3RyaWJ1dGlvbiBjbGFzcywgaWYgYW55b25lCisgICAgZmVlbHMgYSBuZWVkIHRvIHN1YmNsYXNzIERpc3RyaWJ1dGlvbikgaXMgZm91bmQgbm90IHRvIGJlIGhvbGRpbmcKKyAgICB1cCBpdHMgZW5kIG9mIHRoZSBiYXJnYWluLCBpZS4gaW1wbGVtZW50aW5nIHNvbWUgcGFydCBvZiB0aGUKKyAgICAiY29tbWFuZCAiaW50ZXJmYWNlLiIiIgorCisKK2NsYXNzIFBhY2thZ2luZ0dldG9wdEVycm9yKFBhY2thZ2luZ0Vycm9yKToKKyAgICAiIiJUaGUgb3B0aW9uIHRhYmxlIHByb3ZpZGVkIHRvICdmYW5jeV9nZXRvcHQoKScgaXMgYm9ndXMuIiIiCisKKworY2xhc3MgUGFja2FnaW5nQXJnRXJyb3IoUGFja2FnaW5nRXJyb3IpOgorICAgICIiIlJhaXNlZCBieSBmYW5jeV9nZXRvcHQgaW4gcmVzcG9uc2UgdG8gZ2V0b3B0LmVycm9yIC0tIGllLiBhbgorICAgIGVycm9yIGluIHRoZSBjb21tYW5kIGxpbmUgdXNhZ2UuIiIiCisKKworY2xhc3MgUGFja2FnaW5nRmlsZUVycm9yKFBhY2thZ2luZ0Vycm9yKToKKyAgICAiIiJBbnkgcHJvYmxlbXMgaW4gdGhlIGZpbGVzeXN0ZW06IGV4cGVjdGVkIGZpbGUgbm90IGZvdW5kLCBldGMuCisgICAgVHlwaWNhbGx5IHRoaXMgaXMgZm9yIHByb2JsZW1zIHRoYXQgd2UgZGV0ZWN0IGJlZm9yZSBJT0Vycm9yIG9yCisgICAgT1NFcnJvciBjb3VsZCBiZSByYWlzZWQuIiIiCisKKworY2xhc3MgUGFja2FnaW5nT3B0aW9uRXJyb3IoUGFja2FnaW5nRXJyb3IpOgorICAgICIiIlN5bnRhY3RpYy9zZW1hbnRpYyBlcnJvcnMgaW4gY29tbWFuZCBvcHRpb25zLCBzdWNoIGFzIHVzZSBvZgorICAgIG11dHVhbGx5IGNvbmZsaWN0aW5nIG9wdGlvbnMsIG9yIGluY29uc2lzdGVudCBvcHRpb25zLAorICAgIGJhZGx5LXNwZWxsZWQgdmFsdWVzLCBldGMuICBObyBkaXN0aW5jdGlvbiBpcyBtYWRlIGJldHdlZW4gb3B0aW9uCisgICAgdmFsdWVzIG9yaWdpbmF0aW5nIGluIHRoZSBzZXR1cCBzY3JpcHQsIHRoZSBjb21tYW5kIGxpbmUsIGNvbmZpZworICAgIGZpbGVzLCBvciB3aGF0LWhhdmUteW91IC0tIGJ1dCBpZiB3ZSAqa25vdyogc29tZXRoaW5nIG9yaWdpbmF0ZWQgaW4KKyAgICB0aGUgc2V0dXAgc2NyaXB0LCB3ZSdsbCByYWlzZSBQYWNrYWdpbmdTZXR1cEVycm9yIGluc3RlYWQuIiIiCisKKworY2xhc3MgUGFja2FnaW5nU2V0dXBFcnJvcihQYWNrYWdpbmdFcnJvcik6CisgICAgIiIiRm9yIGVycm9ycyB0aGF0IGNhbiBiZSBkZWZpbml0ZWx5IGJsYW1lZCBvbiB0aGUgc2V0dXAgc2NyaXB0LAorICAgIHN1Y2ggYXMgaW52YWxpZCBrZXl3b3JkIGFyZ3VtZW50cyB0byAnc2V0dXAoKScuIiIiCisKKworY2xhc3MgUGFja2FnaW5nUGxhdGZvcm1FcnJvcihQYWNrYWdpbmdFcnJvcik6CisgICAgIiIiV2UgZG9uJ3Qga25vdyBob3cgdG8gZG8gc29tZXRoaW5nIG9uIHRoZSBjdXJyZW50IHBsYXRmb3JtIChidXQKKyAgICB3ZSBkbyBrbm93IGhvdyB0byBkbyBpdCBvbiBzb21lIHBsYXRmb3JtKSAtLSBlZy4gdHJ5aW5nIHRvIGNvbXBpbGUKKyAgICBDIGZpbGVzIG9uIGEgcGxhdGZvcm0gbm90IHN1cHBvcnRlZCBieSBhIENDb21waWxlciBzdWJjbGFzcy4iIiIKKworCitjbGFzcyBQYWNrYWdpbmdFeGVjRXJyb3IoUGFja2FnaW5nRXJyb3IpOgorICAgICIiIkFueSBwcm9ibGVtcyBleGVjdXRpbmcgYW4gZXh0ZXJuYWwgcHJvZ3JhbSAoc3VjaCBhcyB0aGUgQworICAgIGNvbXBpbGVyLCB3aGVuIGNvbXBpbGluZyBDIGZpbGVzKS4iIiIKKworCitjbGFzcyBQYWNrYWdpbmdJbnRlcm5hbEVycm9yKFBhY2thZ2luZ0Vycm9yKToKKyAgICAiIiJJbnRlcm5hbCBpbmNvbnNpc3RlbmNpZXMgb3IgaW1wb3NzaWJpbGl0aWVzIChvYnZpb3VzbHksIHRoaXMKKyAgICBzaG91bGQgbmV2ZXIgYmUgc2VlbiBpZiB0aGUgY29kZSBpcyB3b3JraW5nISkuIiIiCisKKworY2xhc3MgUGFja2FnaW5nVGVtcGxhdGVFcnJvcihQYWNrYWdpbmdFcnJvcik6CisgICAgIiIiU3ludGF4IGVycm9yIGluIGEgZmlsZSBsaXN0IHRlbXBsYXRlLiIiIgorCisKK2NsYXNzIFBhY2thZ2luZ1B5UElFcnJvcihQYWNrYWdpbmdFcnJvcik6CisgICAgIiIiQW55IHByb2JsZW0gb2NjdXJpbmcgZHVyaW5nIHVzaW5nIHRoZSBpbmRleGVzLiIiIgorCisKKyMgRXhjZXB0aW9uIGNsYXNzZXMgdXNlZCBieSB0aGUgQ0NvbXBpbGVyIGltcGxlbWVudGF0aW9uIGNsYXNzZXMKK2NsYXNzIENDb21waWxlckVycm9yKEV4Y2VwdGlvbik6CisgICAgIiIiU29tZSBjb21waWxlL2xpbmsgb3BlcmF0aW9uIGZhaWxlZC4iIiIKKworCitjbGFzcyBQcmVwcm9jZXNzRXJyb3IoQ0NvbXBpbGVyRXJyb3IpOgorICAgICIiIkZhaWx1cmUgdG8gcHJlcHJvY2VzcyBvbmUgb3IgbW9yZSBDL0MrKyBmaWxlcy4iIiIKKworCitjbGFzcyBDb21waWxlRXJyb3IoQ0NvbXBpbGVyRXJyb3IpOgorICAgICIiIkZhaWx1cmUgdG8gY29tcGlsZSBvbmUgb3IgbW9yZSBDL0MrKyBzb3VyY2UgZmlsZXMuIiIiCisKKworY2xhc3MgTGliRXJyb3IoQ0NvbXBpbGVyRXJyb3IpOgorICAgICIiIkZhaWx1cmUgdG8gY3JlYXRlIGEgc3RhdGljIGxpYnJhcnkgZnJvbSBvbmUgb3IgbW9yZSBDL0MrKyBvYmplY3QKKyAgICBmaWxlcy4iIiIKKworCitjbGFzcyBMaW5rRXJyb3IoQ0NvbXBpbGVyRXJyb3IpOgorICAgICIiIkZhaWx1cmUgdG8gbGluayBvbmUgb3IgbW9yZSBDL0MrKyBvYmplY3QgZmlsZXMgaW50byBhbiBleGVjdXRhYmxlCisgICAgb3Igc2hhcmVkIGxpYnJhcnkgZmlsZS4iIiIKKworCitjbGFzcyBVbmtub3duRmlsZUVycm9yKENDb21waWxlckVycm9yKToKKyAgICAiIiJBdHRlbXB0IHRvIHByb2Nlc3MgYW4gdW5rbm93biBmaWxlIHR5cGUuIiIiCisKKworY2xhc3MgTWV0YWRhdGFNaXNzaW5nRXJyb3IoUGFja2FnaW5nRXJyb3IpOgorICAgICIiIkEgcmVxdWlyZWQgbWV0YWRhdGEgaXMgbWlzc2luZyIiIgorCisKK2NsYXNzIE1ldGFkYXRhQ29uZmxpY3RFcnJvcihQYWNrYWdpbmdFcnJvcik6CisgICAgIiIiQXR0ZW1wdCB0byByZWFkIG9yIHdyaXRlIG1ldGFkYXRhIGZpZWxkcyB0aGF0IGFyZSBjb25mbGljdHVhbC4iIiIKKworCitjbGFzcyBNZXRhZGF0YVVucmVjb2duaXplZFZlcnNpb25FcnJvcihQYWNrYWdpbmdFcnJvcik6CisgICAgIiIiVW5rbm93biBtZXRhZGF0YSB2ZXJzaW9uIG51bWJlci4iIiIKKworCitjbGFzcyBJcnJhdGlvbmFsVmVyc2lvbkVycm9yKEV4Y2VwdGlvbik6CisgICAgIiIiVGhpcyBpcyBhbiBpcnJhdGlvbmFsIHZlcnNpb24uIiIiCisgICAgcGFzcworCisKK2NsYXNzIEh1Z2VNYWpvclZlcnNpb25OdW1FcnJvcihJcnJhdGlvbmFsVmVyc2lvbkVycm9yKToKKyAgICAiIiJBbiBpcnJhdGlvbmFsIHZlcnNpb24gYmVjYXVzZSB0aGUgbWFqb3IgdmVyc2lvbiBudW1iZXIgaXMgaHVnZQorICAgIChvZnRlbiBiZWNhdXNlIGEgeWVhciBvciBkYXRlIHdhcyB1c2VkKS4KKworICAgIFNlZSBgZXJyb3Jfb25faHVnZV9tYWpvcl9udW1gIG9wdGlvbiBpbiBgTm9ybWFsaXplZFZlcnNpb25gIGZvciBkZXRhaWxzLgorICAgIFRoaXMgZ3VhcmQgY2FuIGJlIGRpc2FibGVkIGJ5IHNldHRpbmcgdGhhdCBvcHRpb24gRmFsc2UuCisgICAgIiIiCisgICAgcGFzcworCisKK2NsYXNzIEluc3RhbGxhdGlvbkV4Y2VwdGlvbihFeGNlcHRpb24pOgorICAgICIiIkJhc2UgZXhjZXB0aW9uIGZvciBpbnN0YWxsYXRpb24gc2NyaXB0cyIiIgorCisKK2NsYXNzIEluc3RhbGxhdGlvbkNvbmZsaWN0KEluc3RhbGxhdGlvbkV4Y2VwdGlvbik6CisgICAgIiIiUmFpc2VkIHdoZW4gYSBjb25mbGljdCBpcyBkZXRlY3RlZCIiIgpkaWZmIC0tZ2l0IGEvTGliL3BhY2thZ2luZy9mYW5jeV9nZXRvcHQucHkgYi9MaWIvcGFja2FnaW5nL2ZhbmN5X2dldG9wdC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MWRkNWZjCi0tLSAvZGV2L251bGwKKysrIGIvTGliL3BhY2thZ2luZy9mYW5jeV9nZXRvcHQucHkKQEAgLTAsMCArMSwzODggQEAKKyIiIkNvbW1hbmQgbGluZSBwYXJzaW5nIG1hY2hpbmVyeS4KKworVGhlIEZhbmN5R2V0b3B0IGNsYXNzIGlzIGEgV3JhcHBlciBhcm91bmQgdGhlIGdldG9wdCBtb2R1bGUgdGhhdAorcHJvdmlkZXMgdGhlIGZvbGxvd2luZyBhZGRpdGlvbmFsIGZlYXR1cmVzOgorICAqIHNob3J0IGFuZCBsb25nIG9wdGlvbnMgYXJlIHRpZWQgdG9nZXRoZXIKKyAgKiBvcHRpb25zIGhhdmUgaGVscCBzdHJpbmdzLCBzbyBmYW5jeV9nZXRvcHQgY291bGQgcG90ZW50aWFsbHkKKyAgICBjcmVhdGUgYSBjb21wbGV0ZSB1c2FnZSBzdW1tYXJ5CisgICogb3B0aW9ucyBzZXQgYXR0cmlidXRlcyBvZiBhIHBhc3NlZC1pbiBvYmplY3QuCisKK0l0IGlzIHVzZWQgdW5kZXIgdGhlIGhvb2QgYnkgdGhlIGNvbW1hbmQgY2xhc3Nlcy4gIERvIG5vdCB1c2UgZGlyZWN0bHkuCisiIiIKKworaW1wb3J0IGdldG9wdAoraW1wb3J0IHJlCitpbXBvcnQgc3lzCitpbXBvcnQgdGV4dHdyYXAKKworZnJvbSBwYWNrYWdpbmcuZXJyb3JzIGltcG9ydCBQYWNrYWdpbmdHZXRvcHRFcnJvciwgUGFja2FnaW5nQXJnRXJyb3IKKworIyBNdWNoIGxpa2UgY29tbWFuZF9yZSBpbiBwYWNrYWdpbmcuY29yZSwgdGhpcyBpcyBjbG9zZSB0byBidXQgbm90IHF1aXRlCisjIHRoZSBzYW1lIGFzIGEgUHl0aG9uIE5BTUUgLS0gZXhjZXB0LCBpbiB0aGUgc3Bpcml0IG9mIG1vc3QgR05VCisjIHV0aWxpdGllcywgd2UgdXNlICctJyBpbiBwbGFjZSBvZiAnXycuICAoVGhlIHNwaXJpdCBvZiBMSVNQIGxpdmVzIG9uISkKKyMgVGhlIHNpbWlsYXJpdGllcyB0byBOQU1FIGFyZSBhZ2FpbiBub3QgYSBjb2luY2lkZW5jZS4uLgorbG9uZ29wdF9wYXQgPSByJ1thLXpBLVpdKD86W2EtekEtWjAtOS1dKiknCitsb25nb3B0X3JlID0gcmUuY29tcGlsZShyJ14lcyQnICUgbG9uZ29wdF9wYXQpCisKKyMgRm9yIHJlY29nbml6aW5nICJuZWdhdGl2ZSBhbGlhcyIgb3B0aW9ucywgZWcuICJxdWlldD0hdmVyYm9zZSIKK25lZ19hbGlhc19yZSA9IHJlLmNvbXBpbGUoIl4oJXMpPSEoJXMpJCIgJSAobG9uZ29wdF9wYXQsIGxvbmdvcHRfcGF0KSkKKworCitjbGFzcyBGYW5jeUdldG9wdDoKKyAgICAiIiJXcmFwcGVyIGFyb3VuZCB0aGUgc3RhbmRhcmQgJ2dldG9wdCgpJyBtb2R1bGUgdGhhdCBwcm92aWRlcyBzb21lCisgICAgaGFuZHkgZXh0cmEgZnVuY3Rpb25hbGl0eToKKyAgICAgICogc2hvcnQgYW5kIGxvbmcgb3B0aW9ucyBhcmUgdGllZCB0b2dldGhlcgorICAgICAgKiBvcHRpb25zIGhhdmUgaGVscCBzdHJpbmdzLCBhbmQgaGVscCB0ZXh0IGNhbiBiZSBhc3NlbWJsZWQKKyAgICAgICAgZnJvbSB0aGVtCisgICAgICAqIG9wdGlvbnMgc2V0IGF0dHJpYnV0ZXMgb2YgYSBwYXNzZWQtaW4gb2JqZWN0CisgICAgICAqIGJvb2xlYW4gb3B0aW9ucyBjYW4gaGF2ZSAibmVnYXRpdmUgYWxpYXNlcyIgLS0gZWcuIGlmCisgICAgICAgIC0tcXVpZXQgaXMgdGhlICJuZWdhdGl2ZSBhbGlhcyIgb2YgLS12ZXJib3NlLCB0aGVuICItLXF1aWV0IgorICAgICAgICBvbiB0aGUgY29tbWFuZCBsaW5lIHNldHMgJ3ZlcmJvc2UnIHRvIGZhbHNlCisgICAgIiIiCisKKyAgICBkZWYgX19pbml0X18oc2VsZiwgb3B0aW9uX3RhYmxlPU5vbmUpOgorCisgICAgICAgICMgVGhlIG9wdGlvbiB0YWJsZSBpcyAoY3VycmVudGx5KSBhIGxpc3Qgb2YgdHVwbGVzLiAgVGhlCisgICAgICAgICMgdHVwbGVzIG1heSBoYXZlIDMgb3IgZm91ciB2YWx1ZXM6CisgICAgICAgICMgICAobG9uZ19vcHRpb24sIHNob3J0X29wdGlvbiwgaGVscF9zdHJpbmcgWywgcmVwZWF0YWJsZV0pCisgICAgICAgICMgaWYgYW4gb3B0aW9uIHRha2VzIGFuIGFyZ3VtZW50LCBpdHMgbG9uZ19vcHRpb24gc2hvdWxkIGhhdmUgJz0nCisgICAgICAgICMgYXBwZW5kZWQ7IHNob3J0X29wdGlvbiBzaG91bGQganVzdCBiZSBhIHNpbmdsZSBjaGFyYWN0ZXIsIG5vICc6JworICAgICAgICAjIGluIGFueSBjYXNlLiAgSWYgYSBsb25nX29wdGlvbiBkb2Vzbid0IGhhdmUgYSBjb3JyZXNwb25kaW5nCisgICAgICAgICMgc2hvcnRfb3B0aW9uLCBzaG9ydF9vcHRpb24gc2hvdWxkIGJlIE5vbmUuICBBbGwgb3B0aW9uIHR1cGxlcworICAgICAgICAjIG11c3QgaGF2ZSBsb25nIG9wdGlvbnMuCisgICAgICAgIHNlbGYub3B0aW9uX3RhYmxlID0gb3B0aW9uX3RhYmxlCisKKyAgICAgICAgIyAnb3B0aW9uX2luZGV4JyBtYXBzIGxvbmcgb3B0aW9uIG5hbWVzIHRvIGVudHJpZXMgaW4gdGhlIG9wdGlvbgorICAgICAgICAjIHRhYmxlIChpZS4gdGhvc2UgMy10dXBsZXMpLgorICAgICAgICBzZWxmLm9wdGlvbl9pbmRleCA9IHt9CisgICAgICAgIGlmIHNlbGYub3B0aW9uX3RhYmxlOgorICAgICAgICAgICAgc2VsZi5fYnVpbGRfaW5kZXgoKQorCisgICAgICAgICMgJ2FsaWFzJyByZWNvcmRzIChkdWgpIGFsaWFzIG9wdGlvbnM7IHsnZm9vJzogJ2Jhcid9IG1lYW5zCisgICAgICAgICMgLS1mb28gaXMgYW4gYWxpYXMgZm9yIC0tYmFyCisgICAgICAgIHNlbGYuYWxpYXMgPSB7fQorCisgICAgICAgICMgJ25lZ2F0aXZlX2FsaWFzJyBrZWVwcyB0cmFjayBvZiBvcHRpb25zIHRoYXQgYXJlIHRoZSBib29sZWFuCisgICAgICAgICMgb3Bwb3NpdGUgb2Ygc29tZSBvdGhlciBvcHRpb24KKyAgICAgICAgc2VsZi5uZWdhdGl2ZV9hbGlhcyA9IHt9CisKKyAgICAgICAgIyBUaGVzZSBrZWVwIHRyYWNrIG9mIHRoZSBpbmZvcm1hdGlvbiBpbiB0aGUgb3B0aW9uIHRhYmxlLiAgV2UKKyAgICAgICAgIyBkb24ndCBhY3R1YWxseSBwb3B1bGF0ZSB0aGVzZSBzdHJ1Y3R1cmVzIHVudGlsIHdlJ3JlIHJlYWR5IHRvCisgICAgICAgICMgcGFyc2UgdGhlIGNvbW1hbmQgbGluZSwgc2luY2UgdGhlICdvcHRpb25fdGFibGUnIHBhc3NlZCBpbiBoZXJlCisgICAgICAgICMgaXNuJ3QgbmVjZXNzYXJpbHkgdGhlIGZpbmFsIHdvcmQuCisgICAgICAgIHNlbGYuc2hvcnRfb3B0cyA9IFtdCisgICAgICAgIHNlbGYubG9uZ19vcHRzID0gW10KKyAgICAgICAgc2VsZi5zaG9ydDJsb25nID0ge30KKyAgICAgICAgc2VsZi5hdHRyX25hbWUgPSB7fQorICAgICAgICBzZWxmLnRha2VzX2FyZyA9IHt9CisKKyAgICAgICAgIyBBbmQgJ29wdGlvbl9vcmRlcicgaXMgZmlsbGVkIHVwIGluICdnZXRvcHQoKSc7IGl0IHJlY29yZHMgdGhlCisgICAgICAgICMgb3JpZ2luYWwgb3JkZXIgb2Ygb3B0aW9ucyAoYW5kIHRoZWlyIHZhbHVlcykgb24gdGhlIGNvbW1hbmQgbGluZSwKKyAgICAgICAgIyBidXQgZXhwYW5kcyBzaG9ydCBvcHRpb25zLCBjb252ZXJ0cyBhbGlhc2VzLCBldGMuCisgICAgICAgIHNlbGYub3B0aW9uX29yZGVyID0gW10KKworICAgIGRlZiBfYnVpbGRfaW5kZXgoc2VsZik6CisgICAgICAgIHNlbGYub3B0aW9uX2luZGV4LmNsZWFyKCkKKyAgICAgICAgZm9yIG9wdGlvbiBpbiBzZWxmLm9wdGlvbl90YWJsZToKKyAgICAgICAgICAgIHNlbGYub3B0aW9uX2luZGV4W29wdGlvblswXV0gPSBvcHRpb24KKworICAgIGRlZiBzZXRfb3B0aW9uX3RhYmxlKHNlbGYsIG9wdGlvbl90YWJsZSk6CisgICAgICAgIHNlbGYub3B0aW9uX3RhYmxlID0gb3B0aW9uX3RhYmxlCisgICAgICAgIHNlbGYuX2J1aWxkX2luZGV4KCkKKworICAgIGRlZiBhZGRfb3B0aW9uKHNlbGYsIGxvbmdfb3B0aW9uLCBzaG9ydF9vcHRpb249Tm9uZSwgaGVscF9zdHJpbmc9Tm9uZSk6CisgICAgICAgIGlmIGxvbmdfb3B0aW9uIGluIHNlbGYub3B0aW9uX2luZGV4OgorICAgICAgICAgICAgcmFpc2UgUGFja2FnaW5nR2V0b3B0RXJyb3IoCisgICAgICAgICAgICAgICAgICAib3B0aW9uIGNvbmZsaWN0OiBhbHJlYWR5IGFuIG9wdGlvbiAnJXMnIiAlIGxvbmdfb3B0aW9uKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgb3B0aW9uID0gKGxvbmdfb3B0aW9uLCBzaG9ydF9vcHRpb24sIGhlbHBfc3RyaW5nKQorICAgICAgICAgICAgc2VsZi5vcHRpb25fdGFibGUuYXBwZW5kKG9wdGlvbikKKyAgICAgICAgICAgIHNlbGYub3B0aW9uX2luZGV4W2xvbmdfb3B0aW9uXSA9IG9wdGlvbgorCisgICAgZGVmIGhhc19vcHRpb24oc2VsZiwgbG9uZ19vcHRpb24pOgorICAgICAgICAiIiJSZXR1cm4gdHJ1ZSBpZiB0aGUgb3B0aW9uIHRhYmxlIGZvciB0aGlzIHBhcnNlciBoYXMgYW4KKyAgICAgICAgb3B0aW9uIHdpdGggbG9uZyBuYW1lICdsb25nX29wdGlvbicuIiIiCisgICAgICAgIHJldHVybiBsb25nX29wdGlvbiBpbiBzZWxmLm9wdGlvbl9pbmRleAorCisgICAgZGVmIF9jaGVja19hbGlhc19kaWN0KHNlbGYsIGFsaWFzZXMsIHdoYXQpOgorICAgICAgICBhc3NlcnQgaXNpbnN0YW5jZShhbGlhc2VzLCBkaWN0KQorICAgICAgICBmb3IgYWxpYXMsIG9wdCBpbiBhbGlhc2VzLml0ZW1zKCk6CisgICAgICAgICAgICBpZiBhbGlhcyBub3QgaW4gc2VsZi5vcHRpb25faW5kZXg6CisgICAgICAgICAgICAgICAgcmFpc2UgUGFja2FnaW5nR2V0b3B0RXJyb3IoCisgICAgICAgICAgICAgICAgICAgICAgKCJpbnZhbGlkICVzICclcyc6ICIKKyAgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbiAnJXMnIG5vdCBkZWZpbmVkIikgJSAod2hhdCwgYWxpYXMsIGFsaWFzKSkKKyAgICAgICAgICAgIGlmIG9wdCBub3QgaW4gc2VsZi5vcHRpb25faW5kZXg6CisgICAgICAgICAgICAgICAgcmFpc2UgUGFja2FnaW5nR2V0b3B0RXJyb3IoCisgICAgICAgICAgICAgICAgICAgICAgKCJpbnZhbGlkICVzICclcyc6ICIKKyAgICAgICAgICAgICAgICAgICAgICAgImFsaWFzZWQgb3B0aW9uICclcycgbm90IGRlZmluZWQiKSAlICh3aGF0LCBhbGlhcywgb3B0KSkKKworICAgIGRlZiBzZXRfYWxpYXNlcyhzZWxmLCBhbGlhcyk6CisgICAgICAgICIiIlNldCB0aGUgYWxpYXNlcyBmb3IgdGhpcyBvcHRpb24gcGFyc2VyLiIiIgorICAgICAgICBzZWxmLl9jaGVja19hbGlhc19kaWN0KGFsaWFzLCAiYWxpYXMiKQorICAgICAgICBzZWxmLmFsaWFzID0gYWxpYXMKKworICAgIGRlZiBzZXRfbmVnYXRpdmVfYWxpYXNlcyhzZWxmLCBuZWdhdGl2ZV9hbGlhcyk6CisgICAgICAgICIiIlNldCB0aGUgbmVnYXRpdmUgYWxpYXNlcyBmb3IgdGhpcyBvcHRpb24gcGFyc2VyLgorICAgICAgICAnbmVnYXRpdmVfYWxpYXMnIHNob3VsZCBiZSBhIGRpY3Rpb25hcnkgbWFwcGluZyBvcHRpb24gbmFtZXMgdG8KKyAgICAgICAgb3B0aW9uIG5hbWVzLCBib3RoIHRoZSBrZXkgYW5kIHZhbHVlIG11c3QgYWxyZWFkeSBiZSBkZWZpbmVkCisgICAgICAgIGluIHRoZSBvcHRpb24gdGFibGUuIiIiCisgICAgICAgIHNlbGYuX2NoZWNrX2FsaWFzX2RpY3QobmVnYXRpdmVfYWxpYXMsICJuZWdhdGl2ZSBhbGlhcyIpCisgICAgICAgIHNlbGYubmVnYXRpdmVfYWxpYXMgPSBuZWdhdGl2ZV9hbGlhcworCisgICAgZGVmIF9ncm9rX29wdGlvbl90YWJsZShzZWxmKToKKyAgICAgICAgIiIiUG9wdWxhdGUgdGhlIHZhcmlvdXMgZGF0YSBzdHJ1Y3R1cmVzIHRoYXQga2VlcCB0YWJzIG9uIHRoZQorICAgICAgICBvcHRpb24gdGFibGUuICBDYWxsZWQgYnkgJ2dldG9wdCgpJyBiZWZvcmUgaXQgY2FuIGRvIGFueXRoaW5nCisgICAgICAgIHdvcnRod2hpbGUuCisgICAgICAgICIiIgorICAgICAgICBzZWxmLmxvbmdfb3B0cyA9IFtdCisgICAgICAgIHNlbGYuc2hvcnRfb3B0cyA9IFtdCisgICAgICAgIHNlbGYuc2hvcnQybG9uZy5jbGVhcigpCisgICAgICAgIHNlbGYucmVwZWF0ID0ge30KKworICAgICAgICBmb3Igb3B0aW9uIGluIHNlbGYub3B0aW9uX3RhYmxlOgorICAgICAgICAgICAgaWYgbGVuKG9wdGlvbikgPT0gMzoKKyAgICAgICAgICAgICAgICBsb25nb3B0LCBzaG9ydCwgaGVscCA9IG9wdGlvbgorICAgICAgICAgICAgICAgIHJlcGVhdCA9IDAKKyAgICAgICAgICAgIGVsaWYgbGVuKG9wdGlvbikgPT0gNDoKKyAgICAgICAgICAgICAgICBsb25nb3B0LCBzaG9ydCwgaGVscCwgcmVwZWF0ID0gb3B0aW9uCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICMgdGhlIG9wdGlvbiB0YWJsZSBpcyBwYXJ0IG9mIHRoZSBjb2RlLCBzbyBzaW1wbHkKKyAgICAgICAgICAgICAgICAjIGFzc2VydCB0aGF0IGl0IGlzIGNvcnJlY3QKKyAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJpbnZhbGlkIG9wdGlvbiB0dXBsZTogJXIiICUgb3B0aW9uKQorCisgICAgICAgICAgICAjIFR5cGUtIGFuZCB2YWx1ZS1jaGVjayB0aGUgb3B0aW9uIG5hbWVzCisgICAgICAgICAgICBpZiBub3QgaXNpbnN0YW5jZShsb25nb3B0LCBzdHIpIG9yIGxlbihsb25nb3B0KSA8IDI6CisgICAgICAgICAgICAgICAgcmFpc2UgUGFja2FnaW5nR2V0b3B0RXJyb3IoCisgICAgICAgICAgICAgICAgICAgICAgKCJpbnZhbGlkIGxvbmcgb3B0aW9uICclcyc6ICIKKyAgICAgICAgICAgICAgICAgICAgICAgIm11c3QgYmUgYSBzdHJpbmcgb2YgbGVuZ3RoID49IDIiKSAlIGxvbmdvcHQpCisKKyAgICAgICAgICAgIGlmIChub3QgKChzaG9ydCBpcyBOb25lKSBvcgorICAgICAgICAgICAgICAgICAgICAgKGlzaW5zdGFuY2Uoc2hvcnQsIHN0cikgYW5kIGxlbihzaG9ydCkgPT0gMSkpKToKKyAgICAgICAgICAgICAgICByYWlzZSBQYWNrYWdpbmdHZXRvcHRFcnJvcigKKyAgICAgICAgICAgICAgICAgICAgICAoImludmFsaWQgc2hvcnQgb3B0aW9uICclcyc6ICIKKyAgICAgICAgICAgICAgICAgICAgICAgIm11c3QgYmUgYSBzaW5nbGUgY2hhcmFjdGVyIG9yIE5vbmUiKSAlIHNob3J0KQorCisgICAgICAgICAgICBzZWxmLnJlcGVhdFtsb25nb3B0XSA9IHJlcGVhdAorICAgICAgICAgICAgc2VsZi5sb25nX29wdHMuYXBwZW5kKGxvbmdvcHQpCisKKyAgICAgICAgICAgIGlmIGxvbmdvcHRbLTFdID09ICc9JzogICAgICAgICAgICAgIyBvcHRpb24gdGFrZXMgYW4gYXJndW1lbnQ/CisgICAgICAgICAgICAgICAgaWYgc2hvcnQ6CisgICAgICAgICAgICAgICAgICAgIHNob3J0ID0gc2hvcnQgKyAnOicKKyAgICAgICAgICAgICAgICBsb25nb3B0ID0gbG9uZ29wdFswOi0xXQorICAgICAgICAgICAgICAgIHNlbGYudGFrZXNfYXJnW2xvbmdvcHRdID0gMQorICAgICAgICAgICAgZWxzZToKKworICAgICAgICAgICAgICAgICMgSXMgb3B0aW9uIGlzIGEgIm5lZ2F0aXZlIGFsaWFzIiBmb3Igc29tZSBvdGhlciBvcHRpb24gKGVnLgorICAgICAgICAgICAgICAgICMgInF1aWV0IiA9PSAiIXZlcmJvc2UiKT8KKyAgICAgICAgICAgICAgICBhbGlhc190byA9IHNlbGYubmVnYXRpdmVfYWxpYXMuZ2V0KGxvbmdvcHQpCisgICAgICAgICAgICAgICAgaWYgYWxpYXNfdG8gaXMgbm90IE5vbmU6CisgICAgICAgICAgICAgICAgICAgIGlmIHNlbGYudGFrZXNfYXJnW2FsaWFzX3RvXToKKyAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIFBhY2thZ2luZ0dldG9wdEVycm9yKAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCJpbnZhbGlkIG5lZ2F0aXZlIGFsaWFzICclcyc6ICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYWxpYXNlZCBvcHRpb24gJyVzJyB0YWtlcyBhIHZhbHVlIikgJSBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGxvbmdvcHQsIGFsaWFzX3RvKSkKKworICAgICAgICAgICAgICAgICAgICBzZWxmLmxvbmdfb3B0c1stMV0gPSBsb25nb3B0ICAgIyBYWFggcmVkdW5kYW50PyEKKyAgICAgICAgICAgICAgICAgICAgc2VsZi50YWtlc19hcmdbbG9uZ29wdF0gPSAwCisKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICBzZWxmLnRha2VzX2FyZ1tsb25nb3B0XSA9IDAKKworICAgICAgICAgICAgIyBJZiB0aGlzIGlzIGFuIGFsaWFzIG9wdGlvbiwgbWFrZSBzdXJlIGl0cyAidGFrZXMgYXJnIiBmbGFnIGlzCisgICAgICAgICAgICAjIHRoZSBzYW1lIGFzIHRoZSBvcHRpb24gaXQncyBhbGlhc2VkIHRvLgorICAgICAgICAgICAgYWxpYXNfdG8gPSBzZWxmLmFsaWFzLmdldChsb25nb3B0KQorICAgICAgICAgICAgaWYgYWxpYXNfdG8gaXMgbm90IE5vbmU6CisgICAgICAgICAgICAgICAgaWYgc2VsZi50YWtlc19hcmdbbG9uZ29wdF0gIT0gc2VsZi50YWtlc19hcmdbYWxpYXNfdG9dOgorICAgICAgICAgICAgICAgICAgICByYWlzZSBQYWNrYWdpbmdHZXRvcHRFcnJvcigKKyAgICAgICAgICAgICAgICAgICAgICAgICAgKCJpbnZhbGlkIGFsaWFzICclcyc6IGluY29uc2lzdGVudCB3aXRoICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJhbGlhc2VkIG9wdGlvbiAnJXMnIChvbmUgb2YgdGhlbSB0YWtlcyBhIHZhbHVlLCAiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAidGhlIG90aGVyIGRvZXNuJ3QiKSAlIChsb25nb3B0LCBhbGlhc190bykpCisKKyAgICAgICAgICAgICMgTm93IGVuZm9yY2Ugc29tZSBib25kYWdlIG9uIHRoZSBsb25nIG9wdGlvbiBuYW1lLCBzbyB3ZSBjYW4KKyAgICAgICAgICAgICMgbGF0ZXIgdHJhbnNsYXRlIGl0IHRvIGFuIGF0dHJpYnV0ZSBuYW1lIG9uIHNvbWUgb2JqZWN0LiAgSGF2ZQorICAgICAgICAgICAgIyB0byBkbyB0aGlzIGEgYml0IGxhdGUgdG8gbWFrZSBzdXJlIHdlJ3ZlIHJlbW92ZWQgYW55IHRyYWlsaW5nCisgICAgICAgICAgICAjICc9Jy4KKyAgICAgICAgICAgIGlmIG5vdCBsb25nb3B0X3JlLm1hdGNoKGxvbmdvcHQpOgorICAgICAgICAgICAgICAgIHJhaXNlIFBhY2thZ2luZ0dldG9wdEVycm9yKAorICAgICAgICAgICAgICAgICAgICAgICgiaW52YWxpZCBsb25nIG9wdGlvbiBuYW1lICclcycgIiArCisgICAgICAgICAgICAgICAgICAgICAgICIobXVzdCBiZSBsZXR0ZXJzLCBudW1iZXJzLCBoeXBoZW5zIG9ubHkiKSAlIGxvbmdvcHQpCisKKyAgICAgICAgICAgIHNlbGYuYXR0cl9uYW1lW2xvbmdvcHRdID0gbG9uZ29wdC5yZXBsYWNlKCctJywgJ18nKQorICAgICAgICAgICAgaWYgc2hvcnQ6CisgICAgICAgICAgICAgICAgc2VsZi5zaG9ydF9vcHRzLmFwcGVuZChzaG9ydCkKKyAgICAgICAgICAgICAgICBzZWxmLnNob3J0Mmxvbmdbc2hvcnRbMF1dID0gbG9uZ29wdAorCisgICAgZGVmIGdldG9wdChzZWxmLCBhcmdzPU5vbmUsIG9iamVjdD1Ob25lKToKKyAgICAgICAgIiIiUGFyc2UgY29tbWFuZC1saW5lIG9wdGlvbnMgaW4gYXJncy4gU3RvcmUgYXMgYXR0cmlidXRlcyBvbiBvYmplY3QuCisKKyAgICAgICAgSWYgJ2FyZ3MnIGlzIE5vbmUgb3Igbm90IHN1cHBsaWVkLCB1c2VzICdzeXMuYXJndlsxOl0nLiAgSWYKKyAgICAgICAgJ29iamVjdCcgaXMgTm9uZSBvciBub3Qgc3VwcGxpZWQsIGNyZWF0ZXMgYSBuZXcgT3B0aW9uRHVtbXkKKyAgICAgICAgb2JqZWN0LCBzdG9yZXMgb3B0aW9uIHZhbHVlcyB0aGVyZSwgYW5kIHJldHVybnMgYSB0dXBsZSAoYXJncywKKyAgICAgICAgb2JqZWN0KS4gIElmICdvYmplY3QnIGlzIHN1cHBsaWVkLCBpdCBpcyBtb2RpZmllZCBpbiBwbGFjZSBhbmQKKyAgICAgICAgJ2dldG9wdCgpJyBqdXN0IHJldHVybnMgJ2FyZ3MnOyBpbiBib3RoIGNhc2VzLCB0aGUgcmV0dXJuZWQKKyAgICAgICAgJ2FyZ3MnIGlzIGEgbW9kaWZpZWQgY29weSBvZiB0aGUgcGFzc2VkLWluICdhcmdzJyBsaXN0LCB3aGljaAorICAgICAgICBpcyBsZWZ0IHVudG91Y2hlZC4KKyAgICAgICAgIiIiCisgICAgICAgIGlmIGFyZ3MgaXMgTm9uZToKKyAgICAgICAgICAgIGFyZ3MgPSBzeXMuYXJndlsxOl0KKyAgICAgICAgaWYgb2JqZWN0IGlzIE5vbmU6CisgICAgICAgICAgICBvYmplY3QgPSBPcHRpb25EdW1teSgpCisgICAgICAgICAgICBjcmVhdGVkX29iamVjdCA9IDEKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGNyZWF0ZWRfb2JqZWN0ID0gMAorCisgICAgICAgIHNlbGYuX2dyb2tfb3B0aW9uX3RhYmxlKCkKKworICAgICAgICBzaG9ydF9vcHRzID0gJyAnLmpvaW4oc2VsZi5zaG9ydF9vcHRzKQorCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIG9wdHMsIGFyZ3MgPSBnZXRvcHQuZ2V0b3B0KGFyZ3MsIHNob3J0X29wdHMsIHNlbGYubG9uZ19vcHRzKQorICAgICAgICBleGNlcHQgZ2V0b3B0LmVycm9yIGFzIG1zZzoKKyAgICAgICAgICAgIHJhaXNlIFBhY2thZ2luZ0FyZ0Vycm9yKG1zZykKKworICAgICAgICBmb3Igb3B0LCB2YWwgaW4gb3B0czoKKyAgICAgICAgICAgIGlmIGxlbihvcHQpID09IDIgYW5kIG9wdFswXSA9PSAnLSc6ICAgIyBpdCdzIGEgc2hvcnQgb3B0aW9uCisgICAgICAgICAgICAgICAgb3B0ID0gc2VsZi5zaG9ydDJsb25nW29wdFsxXV0KKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgYXNzZXJ0IGxlbihvcHQpID4gMiBhbmQgb3B0WzoyXSA9PSAnLS0nCisgICAgICAgICAgICAgICAgb3B0ID0gb3B0WzI6XQorCisgICAgICAgICAgICBhbGlhcyA9IHNlbGYuYWxpYXMuZ2V0KG9wdCkKKyAgICAgICAgICAgIGlmIGFsaWFzOgorICAgICAgICAgICAgICAgIG9wdCA9IGFsaWFzCisKKyAgICAgICAgICAgIGlmIG5vdCBzZWxmLnRha2VzX2FyZ1tvcHRdOiAgICAgIyBib29sZWFuIG9wdGlvbj8KKyAgICAgICAgICAgICAgICBhc3NlcnQgdmFsID09ICcnLCAiYm9vbGVhbiBvcHRpb24gY2FuJ3QgaGF2ZSB2YWx1ZSIKKyAgICAgICAgICAgICAgICBhbGlhcyA9IHNlbGYubmVnYXRpdmVfYWxpYXMuZ2V0KG9wdCkKKyAgICAgICAgICAgICAgICBpZiBhbGlhczoKKyAgICAgICAgICAgICAgICAgICAgb3B0ID0gYWxpYXMKKyAgICAgICAgICAgICAgICAgICAgdmFsID0gMAorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIHZhbCA9IDEKKworICAgICAgICAgICAgYXR0ciA9IHNlbGYuYXR0cl9uYW1lW29wdF0KKyAgICAgICAgICAgICMgVGhlIG9ubHkgcmVwZWF0aW5nIG9wdGlvbiBhdCB0aGUgbW9tZW50IGlzICd2ZXJib3NlJy4KKyAgICAgICAgICAgICMgSXQgaGFzIGEgbmVnYXRpdmUgb3B0aW9uIC1xIHF1aWV0LCB3aGljaCBzaG91bGQgc2V0IHZlcmJvc2UgPSAwLgorICAgICAgICAgICAgaWYgdmFsIGFuZCBzZWxmLnJlcGVhdC5nZXQoYXR0cikgaXMgbm90IE5vbmU6CisgICAgICAgICAgICAgICAgdmFsID0gZ2V0YXR0cihvYmplY3QsIGF0dHIsIDApICsgMQorICAgICAgICAgICAgc2V0YXR0cihvYmplY3QsIGF0dHIsIHZhbCkKKyAgICAgICAgICAgIHNlbGYub3B0aW9uX29yZGVyLmFwcGVuZCgob3B0LCB2YWwpKQorCisgICAgICAgICMgZm9yIG9wdHMKKyAgICAgICAgaWYgY3JlYXRlZF9vYmplY3Q6CisgICAgICAgICAgICByZXR1cm4gYXJncywgb2JqZWN0CisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByZXR1cm4gYXJncworCisgICAgZGVmIGdldF9vcHRpb25fb3JkZXIoc2VsZik6CisgICAgICAgICIiIlJldHVybnMgdGhlIGxpc3Qgb2YgKG9wdGlvbiwgdmFsdWUpIHR1cGxlcyBwcm9jZXNzZWQgYnkgdGhlCisgICAgICAgIHByZXZpb3VzIHJ1biBvZiAnZ2V0b3B0KCknLiAgUmFpc2VzIFJ1bnRpbWVFcnJvciBpZgorICAgICAgICAnZ2V0b3B0KCknIGhhc24ndCBiZWVuIGNhbGxlZCB5ZXQuCisgICAgICAgICIiIgorICAgICAgICBpZiBzZWxmLm9wdGlvbl9vcmRlciBpcyBOb25lOgorICAgICAgICAgICAgcmFpc2UgUnVudGltZUVycm9yKCInZ2V0b3B0KCknIGhhc24ndCBiZWVuIGNhbGxlZCB5ZXQiKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmV0dXJuIHNlbGYub3B0aW9uX29yZGVyCisKKyAgICAgICAgcmV0dXJuIHNlbGYub3B0aW9uX29yZGVyCisKKyAgICBkZWYgZ2VuZXJhdGVfaGVscChzZWxmLCBoZWFkZXI9Tm9uZSk6CisgICAgICAgICIiIkdlbmVyYXRlIGhlbHAgdGV4dCAoYSBsaXN0IG9mIHN0cmluZ3MsIG9uZSBwZXIgc3VnZ2VzdGVkIGxpbmUgb2YKKyAgICAgICAgb3V0cHV0KSBmcm9tIHRoZSBvcHRpb24gdGFibGUgZm9yIHRoaXMgRmFuY3lHZXRvcHQgb2JqZWN0LgorICAgICAgICAiIiIKKyAgICAgICAgIyBCbGl0aGVseSBhc3N1bWUgdGhlIG9wdGlvbiB0YWJsZSBpcyBnb29kOiBwcm9iYWJseSB3b3VsZG4ndCBjYWxsCisgICAgICAgICMgJ2dlbmVyYXRlX2hlbHAoKScgdW5sZXNzIHlvdSd2ZSBhbHJlYWR5IGNhbGxlZCAnZ2V0b3B0KCknLgorCisgICAgICAgICMgRmlyc3QgcGFzczogZGV0ZXJtaW5lIG1heGltdW0gbGVuZ3RoIG9mIGxvbmcgb3B0aW9uIG5hbWVzCisgICAgICAgIG1heF9vcHQgPSAwCisgICAgICAgIGZvciBvcHRpb24gaW4gc2VsZi5vcHRpb25fdGFibGU6CisgICAgICAgICAgICBsb25nb3B0ID0gb3B0aW9uWzBdCisgICAgICAgICAgICBzaG9ydCA9IG9wdGlvblsxXQorICAgICAgICAgICAgbCA9IGxlbihsb25nb3B0KQorICAgICAgICAgICAgaWYgbG9uZ29wdFstMV0gPT0gJz0nOgorICAgICAgICAgICAgICAgIGwgPSBsIC0gMQorICAgICAgICAgICAgaWYgc2hvcnQgaXMgbm90IE5vbmU6CisgICAgICAgICAgICAgICAgbCA9IGwgKyA1ICAgICAgICAgICAgICAgICAgICMgIiAoLXgpIiB3aGVyZSBzaG9ydCA9PSAneCcKKyAgICAgICAgICAgIGlmIGwgPiBtYXhfb3B0OgorICAgICAgICAgICAgICAgIG1heF9vcHQgPSBsCisKKyAgICAgICAgb3B0X3dpZHRoID0gbWF4X29wdCArIDIgKyAyICsgMiAgICAgIyByb29tIGZvciBpbmRlbnQgKyBkYXNoZXMgKyBndXR0ZXIKKworICAgICAgICAjIFR5cGljYWwgaGVscCBibG9jayBsb29rcyBsaWtlIHRoaXM6CisgICAgICAgICMgICAtLWZvbyAgICAgICBjb250cm9scyBmb29uYWJ1bGF0aW9uCisgICAgICAgICMgSGVscCBibG9jayBmb3IgbG9uZ2VzdCBvcHRpb24gbG9va3MgbGlrZSB0aGlzOgorICAgICAgICAjICAgLS1mbGltZmxhbSAgc2V0IHRoZSBmbGltLWZsYW0gbGV2ZWwKKyAgICAgICAgIyBhbmQgd2l0aCB3cmFwcGVkIHRleHQ6CisgICAgICAgICMgICAtLWZsaW1mbGFtICBzZXQgdGhlIGZsaW0tZmxhbSBsZXZlbCAobXVzdCBiZSBiZXR3ZWVuCisgICAgICAgICMgICAgICAgICAgICAgICAwIGFuZCAxMDAsIGV4Y2VwdCBvbiBUdWVzZGF5cykKKyAgICAgICAgIyBPcHRpb25zIHdpdGggc2hvcnQgbmFtZXMgd2lsbCBoYXZlIHRoZSBzaG9ydCBuYW1lIHNob3duIChidXQKKyAgICAgICAgIyBpdCBkb2Vzbid0IGNvbnRyaWJ1dGUgdG8gbWF4X29wdCk6CisgICAgICAgICMgICAtLWZvbyAoLWYpICBjb250cm9scyBmb29uYWJ1bGF0aW9uCisgICAgICAgICMgSWYgYWRkaW5nIHRoZSBzaG9ydCBvcHRpb24gd291bGQgbWFrZSB0aGUgbGVmdCBjb2x1bW4gdG9vIHdpZGUsCisgICAgICAgICMgd2UgcHVzaCB0aGUgZXhwbGFuYXRpb24gb2ZmIHRvIHRoZSBuZXh0IGxpbmUKKyAgICAgICAgIyAgIC0tZmxpbWZsYW0gKC1sKQorICAgICAgICAjICAgICAgICAgICAgICAgc2V0IHRoZSBmbGltLWZsYW0gbGV2ZWwKKyAgICAgICAgIyBJbXBvcnRhbnQgcGFyYW1ldGVyczoKKyAgICAgICAgIyAgIC0gMiBzcGFjZXMgYmVmb3JlIG9wdGlvbiBibG9jayBzdGFydCBsaW5lcworICAgICAgICAjICAgLSAyIGRhc2hlcyBmb3IgZWFjaCBsb25nIG9wdGlvbiBuYW1lCisgICAgICAgICMgICAtIG1pbi4gMiBzcGFjZXMgYmV0d2VlbiBvcHRpb24gYW5kIGV4cGxhbmF0aW9uIChndXR0ZXIpCisgICAgICAgICMgICAtIDUgY2hhcmFjdGVycyAoaW5jbC4gc3BhY2UpIGZvciBzaG9ydCBvcHRpb24gbmFtZQorCisgICAgICAgICMgTm93IGdlbmVyYXRlIGxpbmVzIG9mIGhlbHAgdGV4dC4gIChJZiA4MCBjb2x1bW5zIHdlcmUgZ29vZCBlbm91Z2gKKyAgICAgICAgIyBmb3IgSmVzdXMsIHRoZW4gNzggY29sdW1ucyBhcmUgZ29vZCBlbm91Z2ggZm9yIG1lISkKKyAgICAgICAgbGluZV93aWR0aCA9IDc4CisgICAgICAgIHRleHRfd2lkdGggPSBsaW5lX3dpZHRoIC0gb3B0X3dpZHRoCisgICAgICAgIGJpZ19pbmRlbnQgPSAnICcgKiBvcHRfd2lkdGgKKyAgICAgICAgaWYgaGVhZGVyOgorICAgICAgICAgICAgbGluZXMgPSBbaGVhZGVyXQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgbGluZXMgPSBbJ09wdGlvbiBzdW1tYXJ5OiddCisKKyAgICAgICAgZm9yIG9wdGlvbiBpbiBzZWxmLm9wdGlvbl90YWJsZToKKyAgICAgICAgICAgIGxvbmdvcHQsIHNob3J0LCBoZWxwID0gb3B0aW9uWzozXQorICAgICAgICAgICAgdGV4dCA9IHRleHR3cmFwLndyYXAoaGVscCwgdGV4dF93aWR0aCkKKworICAgICAgICAgICAgIyBDYXNlIDE6IG5vIHNob3J0IG9wdGlvbiBhdCBhbGwgKG1ha2VzIGxpZmUgZWFzeSkKKyAgICAgICAgICAgIGlmIHNob3J0IGlzIE5vbmU6CisgICAgICAgICAgICAgICAgaWYgdGV4dDoKKyAgICAgICAgICAgICAgICAgICAgbGluZXMuYXBwZW5kKCIgIC0tJS0qcyAgJXMiICUgKG1heF9vcHQsIGxvbmdvcHQsIHRleHRbMF0pKQorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIGxpbmVzLmFwcGVuZCgiICAtLSUtKnMgICIgJSAobWF4X29wdCwgbG9uZ29wdCkpCisKKyAgICAgICAgICAgICMgQ2FzZSAyOiB3ZSBoYXZlIGEgc2hvcnQgb3B0aW9uLCBzbyB3ZSBoYXZlIHRvIGluY2x1ZGUgaXQKKyAgICAgICAgICAgICMganVzdCBhZnRlciB0aGUgbG9uZyBvcHRpb24KKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgb3B0X25hbWVzID0gIiVzICgtJXMpIiAlIChsb25nb3B0LCBzaG9ydCkKKyAgICAgICAgICAgICAgICBpZiB0ZXh0OgorICAgICAgICAgICAgICAgICAgICBsaW5lcy5hcHBlbmQoIiAgLS0lLSpzICAlcyIgJQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1heF9vcHQsIG9wdF9uYW1lcywgdGV4dFswXSkpCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgbGluZXMuYXBwZW5kKCIgIC0tJS0qcyIgJSBvcHRfbmFtZXMpCisKKyAgICAgICAgICAgIGZvciBsIGluIHRleHRbMTpdOgorICAgICAgICAgICAgICAgIGxpbmVzLmFwcGVuZChiaWdfaW5kZW50ICsgbCkKKworICAgICAgICByZXR1cm4gbGluZXMKKworICAgIGRlZiBwcmludF9oZWxwKHNlbGYsIGhlYWRlcj1Ob25lLCBmaWxlPU5vbmUpOgorICAgICAgICBpZiBmaWxlIGlzIE5vbmU6CisgICAgICAgICAgICBmaWxlID0gc3lzLnN0ZG91dAorICAgICAgICBmb3IgbGluZSBpbiBzZWxmLmdlbmVyYXRlX2hlbHAoaGVhZGVyKToKKyAgICAgICAgICAgIGZpbGUud3JpdGUobGluZSArICJcbiIpCisKKworZGVmIGZhbmN5X2dldG9wdChvcHRpb25zLCBuZWdhdGl2ZV9vcHQsIG9iamVjdCwgYXJncyk6CisgICAgcGFyc2VyID0gRmFuY3lHZXRvcHQob3B0aW9ucykKKyAgICBwYXJzZXIuc2V0X25lZ2F0aXZlX2FsaWFzZXMobmVnYXRpdmVfb3B0KQorICAgIHJldHVybiBwYXJzZXIuZ2V0b3B0KGFyZ3MsIG9iamVjdCkKKworCitjbGFzcyBPcHRpb25EdW1teToKKyAgICAiIiJEdW1teSBjbGFzcyBqdXN0IHVzZWQgYXMgYSBwbGFjZSB0byBob2xkIGNvbW1hbmQtbGluZSBvcHRpb24KKyAgICB2YWx1ZXMgYXMgaW5zdGFuY2UgYXR0cmlidXRlcy4iIiIKKworICAgIGRlZiBfX2luaXRfXyhzZWxmLCBvcHRpb25zPVtdKToKKyAgICAgICAgIiIiQ3JlYXRlIGEgbmV3IE9wdGlvbkR1bW15IGluc3RhbmNlLiAgVGhlIGF0dHJpYnV0ZXMgbGlzdGVkIGluCisgICAgICAgICdvcHRpb25zJyB3aWxsIGJlIGluaXRpYWxpemVkIHRvIE5vbmUuIiIiCisgICAgICAgIGZvciBvcHQgaW4gb3B0aW9uczoKKyAgICAgICAgICAgIHNldGF0dHIoc2VsZiwgb3B0LCBOb25lKQpkaWZmIC0tZ2l0IGEvTGliL3BhY2thZ2luZy9pbnN0YWxsLnB5IGIvTGliL3BhY2thZ2luZy9pbnN0YWxsLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc3NmJhNDAKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvcGFja2FnaW5nL2luc3RhbGwucHkKQEAgLTAsMCArMSw1MjkgQEAKKyIiIkJ1aWxkaW5nIGJsb2NrcyBmb3IgaW5zdGFsbGVycy4KKworV2hlbiB1c2VkIGFzIGEgc2NyaXB0LCB0aGlzIG1vZHVsZSBpbnN0YWxscyBhIHJlbGVhc2UgdGhhbmtzIHRvIGluZm8KK29idGFpbmVkIGZyb20gYW4gaW5kZXggKGUuZy4gUHlQSSksIHdpdGggZGVwZW5kZW5jaWVzLgorCitUaGlzIGlzIGEgaGlnaGVyLWxldmVsIG1vZHVsZSBidWlsdCBvbiBwYWNrYWdpbmcuZGF0YWJhc2UgYW5kCitwYWNrYWdpbmcucHlwaS4KKyIiIgoraW1wb3J0IG9zCitpbXBvcnQgc3lzCitpbXBvcnQgc3RhdAoraW1wb3J0IGVycm5vCitpbXBvcnQgc2h1dGlsCitpbXBvcnQgbG9nZ2luZworaW1wb3J0IHRlbXBmaWxlCitmcm9tIHN5c2NvbmZpZyBpbXBvcnQgZ2V0X2NvbmZpZ192YXIsIGdldF9wYXRoLCBpc19weXRob25fYnVpbGQKKworZnJvbSBwYWNrYWdpbmcgaW1wb3J0IGxvZ2dlcgorZnJvbSBwYWNrYWdpbmcuZGlzdCBpbXBvcnQgRGlzdHJpYnV0aW9uCitmcm9tIHBhY2thZ2luZy51dGlsIGltcG9ydCAoX2lzX2FyY2hpdmVfZmlsZSwgYXNrLCBnZXRfaW5zdGFsbF9tZXRob2QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWdnaW5mb190b19kaXN0aW5mbykKK2Zyb20gcGFja2FnaW5nLnB5cGkgaW1wb3J0IHdyYXBwZXIKK2Zyb20gcGFja2FnaW5nLnZlcnNpb24gaW1wb3J0IGdldF92ZXJzaW9uX3ByZWRpY2F0ZQorZnJvbSBwYWNrYWdpbmcuZGF0YWJhc2UgaW1wb3J0IGdldF9kaXN0cmlidXRpb25zLCBnZXRfZGlzdHJpYnV0aW9uCitmcm9tIHBhY2thZ2luZy5kZXBncmFwaCBpbXBvcnQgZ2VuZXJhdGVfZ3JhcGgKKworZnJvbSBwYWNrYWdpbmcuZXJyb3JzIGltcG9ydCAoUGFja2FnaW5nRXJyb3IsIEluc3RhbGxhdGlvbkV4Y2VwdGlvbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEluc3RhbGxhdGlvbkNvbmZsaWN0LCBDQ29tcGlsZXJFcnJvcikKK2Zyb20gcGFja2FnaW5nLnB5cGkuZXJyb3JzIGltcG9ydCBQcm9qZWN0Tm90Rm91bmQsIFJlbGVhc2VOb3RGb3VuZAorZnJvbSBwYWNrYWdpbmcgaW1wb3J0IGRhdGFiYXNlCisKKworX19hbGxfXyA9IFsnaW5zdGFsbF9kaXN0cycsICdpbnN0YWxsX2Zyb21faW5mb3MnLCAnZ2V0X2luZm9zJywgJ3JlbW92ZScsCisgICAgICAgICAgICdpbnN0YWxsJywgJ2luc3RhbGxfbG9jYWxfcHJvamVjdCddCisKKworZGVmIF9tb3ZlX2ZpbGVzKGZpbGVzLCBkZXN0aW5hdGlvbik6CisgICAgIiIiTW92ZSB0aGUgbGlzdCBvZiBmaWxlcyBpbiB0aGUgZGVzdGluYXRpb24gZm9sZGVyLCBrZWVwaW5nIHRoZSBzYW1lCisgICAgc3RydWN0dXJlLgorCisgICAgUmV0dXJuIGEgbGlzdCBvZiB0dXBsZSAob2xkLCBuZXcpIGVtcGxhY2VtZW50IG9mIGZpbGVzCisKKyAgICA6cGFyYW0gZmlsZXM6IGEgbGlzdCBvZiBmaWxlcyB0byBtb3ZlLgorICAgIDpwYXJhbSBkZXN0aW5hdGlvbjogdGhlIGRlc3RpbmF0aW9uIGRpcmVjdG9yeSB0byBwdXQgb24gdGhlIGZpbGVzLgorICAgICIiIgorCisgICAgZm9yIG9sZCBpbiBmaWxlczoKKyAgICAgICAgZmlsZW5hbWUgPSBvcy5wYXRoLnNwbGl0KG9sZClbLTFdCisgICAgICAgIG5ldyA9IG9zLnBhdGguam9pbihkZXN0aW5hdGlvbiwgZmlsZW5hbWUpCisgICAgICAgICMgdHJ5IHRvIG1ha2UgdGhlIHBhdGhzLgorICAgICAgICB0cnk6CisgICAgICAgICAgICBvcy5tYWtlZGlycyhvcy5wYXRoLmRpcm5hbWUobmV3KSkKKyAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKKyAgICAgICAgICAgIGlmIGUuZXJybm8gIT0gZXJybm8uRUVYSVNUOgorICAgICAgICAgICAgICAgIHJhaXNlCisgICAgICAgIG9zLnJlbmFtZShvbGQsIG5ldykKKyAgICAgICAgeWllbGQgb2xkLCBuZXcKKworCitkZWYgX3J1bl9kaXN0dXRpbHNfaW5zdGFsbChwYXRoKToKKyAgICAjIGJhY2t3YXJkIGNvbXBhdDogdXNpbmcgc2V0dXB0b29scyBvciBwbGFpbi1kaXN0dXRpbHMKKyAgICBjbWQgPSAnJXMgc2V0dXAucHkgaW5zdGFsbCAtLXJlY29yZD0lcycKKyAgICByZWNvcmRfZmlsZSA9IG9zLnBhdGguam9pbihwYXRoLCAnUkVDT1JEJykKKyAgICBvcy5zeXN0ZW0oY21kICUgKHN5cy5leGVjdXRhYmxlLCByZWNvcmRfZmlsZSkpCisgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKHJlY29yZF9maWxlKToKKyAgICAgICAgcmFpc2UgVmFsdWVFcnJvcignZmFpbGVkIHRvIGluc3RhbGwnKQorICAgIGVsc2U6CisgICAgICAgIGVnZ2luZm9fdG9fZGlzdGluZm8ocmVjb3JkX2ZpbGUsIHJlbW92ZV9lZ2dpbmZvPVRydWUpCisKKworZGVmIF9ydW5fc2V0dXB0b29sc19pbnN0YWxsKHBhdGgpOgorICAgIGNtZCA9ICclcyBzZXR1cC5weSBpbnN0YWxsIC0tcmVjb3JkPSVzIC0tc2luZ2xlLXZlcnNpb24tZXh0ZXJuYWxseS1tYW5hZ2VkJworICAgIHJlY29yZF9maWxlID0gb3MucGF0aC5qb2luKHBhdGgsICdSRUNPUkQnKQorCisgICAgb3Muc3lzdGVtKGNtZCAlIChzeXMuZXhlY3V0YWJsZSwgcmVjb3JkX2ZpbGUpKQorICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhyZWNvcmRfZmlsZSk6CisgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoJ2ZhaWxlZCB0byBpbnN0YWxsJykKKyAgICBlbHNlOgorICAgICAgICBlZ2dpbmZvX3RvX2Rpc3RpbmZvKHJlY29yZF9maWxlLCByZW1vdmVfZWdnaW5mbz1UcnVlKQorCisKK2RlZiBfcnVuX3BhY2thZ2luZ19pbnN0YWxsKHBhdGgpOgorICAgICMgWFhYIGNoZWNrIGZvciBhIHZhbGlkIHNldHVwLmNmZz8KKyAgICBkaXN0ID0gRGlzdHJpYnV0aW9uKCkKKyAgICBkaXN0LnBhcnNlX2NvbmZpZ19maWxlcygpCisgICAgdHJ5OgorICAgICAgICBkaXN0LnJ1bl9jb21tYW5kKCdpbnN0YWxsX2Rpc3QnKQorICAgICAgICBuYW1lID0gZGlzdC5tZXRhZGF0YVsnTmFtZSddCisgICAgICAgIHJldHVybiBkYXRhYmFzZS5nZXRfZGlzdHJpYnV0aW9uKG5hbWUpIGlzIG5vdCBOb25lCisgICAgZXhjZXB0IChJT0Vycm9yLCBvcy5lcnJvciwgUGFja2FnaW5nRXJyb3IsIENDb21waWxlckVycm9yKSBhcyBtc2c6CisgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIkZhaWxlZCB0byBpbnN0YWxsLCAiICsgc3RyKG1zZykpCisKKworZGVmIF9pbnN0YWxsX2Rpc3QoZGlzdCwgcGF0aCk6CisgICAgIiIiSW5zdGFsbCBhIGRpc3RyaWJ1dGlvbiBpbnRvIGEgcGF0aC4KKworICAgIFRoaXM6CisKKyAgICAqIHVucGFjayB0aGUgZGlzdHJpYnV0aW9uCisgICAgKiBjb3B5IHRoZSBmaWxlcyBpbiAicGF0aCIKKyAgICAqIGRldGVybWluZSBpZiB0aGUgZGlzdHJpYnV0aW9uIGlzIHBhY2thZ2luZyBvciBkaXN0dXRpbHMxLgorICAgICIiIgorICAgIHdoZXJlID0gZGlzdC51bnBhY2soKQorCisgICAgaWYgd2hlcmUgaXMgTm9uZToKKyAgICAgICAgcmFpc2UgVmFsdWVFcnJvcignQ2Fubm90IGxvY2F0ZSB0aGUgdW5wYWNrZWQgYXJjaGl2ZScpCisKKyAgICByZXR1cm4gX3J1bl9pbnN0YWxsX2Zyb21fYXJjaGl2ZSh3aGVyZSkKKworCitkZWYgaW5zdGFsbF9sb2NhbF9wcm9qZWN0KHBhdGgpOgorICAgICIiIkluc3RhbGwgYSBkaXN0cmlidXRpb24gZnJvbSBhIHNvdXJjZSBkaXJlY3RvcnkuCisKKyAgICBJZiB0aGUgc291cmNlIGRpcmVjdG9yeSBjb250YWlucyBhIHNldHVwLnB5IGluc3RhbGwgdXNpbmcgZGlzdHV0aWxzMS4KKyAgICBJZiBhIHNldHVwLmNmZyBpcyBmb3VuZCwgaW5zdGFsbCB1c2luZyB0aGUgaW5zdGFsbF9kaXN0IGNvbW1hbmQuCisKKyAgICBSZXR1cm5zIFRydWUgb24gc3VjY2VzcywgRmFsc2Ugb24gRmFpbHVyZS4KKyAgICAiIiIKKyAgICBwYXRoID0gb3MucGF0aC5hYnNwYXRoKHBhdGgpCisgICAgaWYgb3MucGF0aC5pc2RpcihwYXRoKToKKyAgICAgICAgbG9nZ2VyLmluZm8oJ0luc3RhbGxpbmcgZnJvbSBzb3VyY2UgZGlyZWN0b3J5OiAlcicsIHBhdGgpCisgICAgICAgIHJldHVybiBfcnVuX2luc3RhbGxfZnJvbV9kaXIocGF0aCkKKyAgICBlbGlmIF9pc19hcmNoaXZlX2ZpbGUocGF0aCk6CisgICAgICAgIGxvZ2dlci5pbmZvKCdJbnN0YWxsaW5nIGZyb20gYXJjaGl2ZTogJXInLCBwYXRoKQorICAgICAgICBfdW5wYWNrZWRfZGlyID0gdGVtcGZpbGUubWtkdGVtcCgpCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHNodXRpbC51bnBhY2tfYXJjaGl2ZShwYXRoLCBfdW5wYWNrZWRfZGlyKQorICAgICAgICAgICAgcmV0dXJuIF9ydW5faW5zdGFsbF9mcm9tX2FyY2hpdmUoX3VucGFja2VkX2RpcikKKyAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgIHNodXRpbC5ybXRyZWUoX3VucGFja2VkX2RpcikKKyAgICBlbHNlOgorICAgICAgICBsb2dnZXIud2FybmluZygnTm8gcHJvamVjdCB0byBpbnN0YWxsLicpCisgICAgICAgIHJldHVybiBGYWxzZQorCisKK2RlZiBfcnVuX2luc3RhbGxfZnJvbV9hcmNoaXZlKHNvdXJjZV9kaXIpOgorICAgICMgWFhYIG5lZWQgYSBiZXR0ZXIgd2F5CisgICAgZm9yIGl0ZW0gaW4gb3MubGlzdGRpcihzb3VyY2VfZGlyKToKKyAgICAgICAgZnVsbHBhdGggPSBvcy5wYXRoLmpvaW4oc291cmNlX2RpciwgaXRlbSkKKyAgICAgICAgaWYgb3MucGF0aC5pc2RpcihmdWxscGF0aCk6CisgICAgICAgICAgICBzb3VyY2VfZGlyID0gZnVsbHBhdGgKKyAgICAgICAgICAgIGJyZWFrCisgICAgcmV0dXJuIF9ydW5faW5zdGFsbF9mcm9tX2Rpcihzb3VyY2VfZGlyKQorCisKK2luc3RhbGxfbWV0aG9kcyA9IHsKKyAgICAncGFja2FnaW5nJzogX3J1bl9wYWNrYWdpbmdfaW5zdGFsbCwKKyAgICAnc2V0dXB0b29scyc6IF9ydW5fc2V0dXB0b29sc19pbnN0YWxsLAorICAgICdkaXN0dXRpbHMnOiBfcnVuX2Rpc3R1dGlsc19pbnN0YWxsfQorCisKK2RlZiBfcnVuX2luc3RhbGxfZnJvbV9kaXIoc291cmNlX2Rpcik6CisgICAgb2xkX2RpciA9IG9zLmdldGN3ZCgpCisgICAgb3MuY2hkaXIoc291cmNlX2RpcikKKyAgICBpbnN0YWxsX21ldGhvZCA9IGdldF9pbnN0YWxsX21ldGhvZChzb3VyY2VfZGlyKQorICAgIGZ1bmMgPSBpbnN0YWxsX21ldGhvZHNbaW5zdGFsbF9tZXRob2RdCisgICAgdHJ5OgorICAgICAgICBmdW5jID0gaW5zdGFsbF9tZXRob2RzW2luc3RhbGxfbWV0aG9kXQorICAgICAgICB0cnk6CisgICAgICAgICAgICBmdW5jKHNvdXJjZV9kaXIpCisgICAgICAgICAgICByZXR1cm4gVHJ1ZQorICAgICAgICBleGNlcHQgVmFsdWVFcnJvciBhcyBlcnI6CisgICAgICAgICAgICAjIGZhaWxlZCB0byBpbnN0YWxsCisgICAgICAgICAgICBsb2dnZXIuaW5mbyhzdHIoZXJyKSkKKyAgICAgICAgICAgIHJldHVybiBGYWxzZQorICAgIGZpbmFsbHk6CisgICAgICAgIG9zLmNoZGlyKG9sZF9kaXIpCisKKworZGVmIGluc3RhbGxfZGlzdHMoZGlzdHMsIHBhdGgsIHBhdGhzPU5vbmUpOgorICAgICIiIkluc3RhbGwgYWxsIGRpc3RyaWJ1dGlvbnMgcHJvdmlkZWQgaW4gZGlzdHMsIHdpdGggdGhlIGdpdmVuIHByZWZpeC4KKworICAgIElmIGFuIGVycm9yIG9jY3VycyB3aGlsZSBpbnN0YWxsaW5nIG9uZSBvZiB0aGUgZGlzdHJpYnV0aW9ucywgdW5pbnN0YWxsIGFsbAorICAgIHRoZSBpbnN0YWxsZWQgZGlzdHJpYnV0aW9uIChpbiB0aGUgY29udGV4dCBpZiB0aGlzIGZ1bmN0aW9uKS4KKworICAgIFJldHVybiBhIGxpc3Qgb2YgaW5zdGFsbGVkIGRpc3RzLgorCisgICAgOnBhcmFtIGRpc3RzOiBkaXN0cmlidXRpb25zIHRvIGluc3RhbGwKKyAgICA6cGFyYW0gcGF0aDogYmFzZSBwYXRoIHRvIGluc3RhbGwgZGlzdHJpYnV0aW9uIGluCisgICAgOnBhcmFtIHBhdGhzOiBsaXN0IG9mIHBhdGhzIChkZWZhdWx0cyB0byBzeXMucGF0aCkgdG8gbG9vayBmb3IgaW5mbworICAgICIiIgorCisgICAgaW5zdGFsbGVkX2Rpc3RzID0gW10KKyAgICBmb3IgZGlzdCBpbiBkaXN0czoKKyAgICAgICAgbG9nZ2VyLmluZm8oJ0luc3RhbGxpbmcgJXIgJXMuLi4nLCBkaXN0Lm5hbWUsIGRpc3QudmVyc2lvbikKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgX2luc3RhbGxfZGlzdChkaXN0LCBwYXRoKQorICAgICAgICAgICAgaW5zdGFsbGVkX2Rpc3RzLmFwcGVuZChkaXN0KQorICAgICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CisgICAgICAgICAgICBsb2dnZXIuaW5mbygnRmFpbGVkOiAlcycsIGUpCisKKyAgICAgICAgICAgICMgcmV2ZXJ0aW5nCisgICAgICAgICAgICBmb3IgaW5zdGFsbGVkX2Rpc3QgaW4gaW5zdGFsbGVkX2Rpc3RzOgorICAgICAgICAgICAgICAgIGxvZ2dlci5pbmZvKCdSZXZlcnRpbmcgJXInLCBpbnN0YWxsZWRfZGlzdCkKKyAgICAgICAgICAgICAgICByZW1vdmUoaW5zdGFsbGVkX2Rpc3QubmFtZSwgcGF0aHMpCisgICAgICAgICAgICByYWlzZSBlCisgICAgcmV0dXJuIGluc3RhbGxlZF9kaXN0cworCisKK2RlZiBpbnN0YWxsX2Zyb21faW5mb3MoaW5zdGFsbF9wYXRoPU5vbmUsIGluc3RhbGw9W10sIHJlbW92ZT1bXSwgY29uZmxpY3RzPVtdLAorICAgICAgICAgICAgICAgICAgICAgICBwYXRocz1Ob25lKToKKyAgICAiIiJJbnN0YWxsIGFuZCByZW1vdmUgdGhlIGdpdmVuIGRpc3RyaWJ1dGlvbnMuCisKKyAgICBUaGUgZnVuY3Rpb24gc2lnbmF0dXJlIGlzIG1hZGUgdG8gYmUgY29tcGF0aWJsZSB3aXRoIHRoZSBvbmUgb2YgZ2V0X2luZm9zLgorICAgIFRoZSBhaW0gb2YgdGhpcyBzY3JpcHQgaXMgdG8gcG92aWRlIGEgd2F5IHRvIGluc3RhbGwvcmVtb3ZlIHdoYXQncyBhc2tlZCwKKyAgICBhbmQgdG8gcm9sbGJhY2sgaWYgbmVlZGVkLgorCisgICAgU28sIGl0J3Mgbm90IHBvc3NpYmxlIHRvIGJlIGluIGFuIGluY29uc2lzdGFudCBzdGF0ZSwgaXQgY291bGQgYmUgZWl0aGVyCisgICAgaW5zdGFsbGVkLCBlaXRoZXIgdW5pbnN0YWxsZWQsIG5vdCBoYWxmLWluc3RhbGxlZC4KKworICAgIFRoZSBwcm9jZXNzIGZvbGxvdyB0aG9zZSBzdGVwczoKKworICAgICAgICAxLiBNb3ZlIGFsbCBkaXN0cmlidXRpb25zIHRoYXQgd2lsbCBiZSByZW1vdmVkIGluIGEgdGVtcG9yYXJ5IGxvY2F0aW9uCisgICAgICAgIDIuIEluc3RhbGwgYWxsIHRoZSBkaXN0cmlidXRpb25zIHRoYXQgd2lsbCBiZSBpbnN0YWxsZWQgaW4gYSB0ZW1wLiBsb2MuCisgICAgICAgIDMuIElmIHRoZSBpbnN0YWxsYXRpb24gZmFpbHMsIHJvbGxiYWNrIChlZy4gbW92ZSBiYWNrKSB0aG9zZQorICAgICAgICAgICBkaXN0cmlidXRpb25zLCBvciByZW1vdmUgd2hhdCBoYXZlIGJlZW4gaW5zdGFsbGVkLgorICAgICAgICA0LiBFbHNlLCBtb3ZlIHRoZSBkaXN0cmlidXRpb25zIHRvIHRoZSByaWdodCBsb2NhdGlvbnMsIGFuZCByZW1vdmUgZm9yCisgICAgICAgICAgIHJlYWwgdGhlIGRpc3RyaWJ1dGlvbnMgdGhhdHMgbmVlZCB0byBiZSByZW1vdmVkLgorCisgICAgOnBhcmFtIGluc3RhbGxfcGF0aDogdGhlIGluc3RhbGxhdGlvbiBwYXRoIHdoZXJlIHdlIHdhbnQgdG8gaW5zdGFsbCB0aGUKKyAgICAgICAgICAgICAgICAgICAgICAgICBkaXN0cmlidXRpb25zLgorICAgIDpwYXJhbSBpbnN0YWxsOiBsaXN0IG9mIGRpc3RyaWJ1dGlvbnMgdGhhdCB3aWxsIGJlIGluc3RhbGxlZDsgaW5zdGFsbF9wYXRoCisgICAgICAgICAgICAgICAgICAgIG11c3QgYmUgcHJvdmlkZWQgaWYgdGhpcyBsaXN0IGlzIG5vdCBlbXB0eS4KKyAgICA6cGFyYW0gcmVtb3ZlOiBsaXN0IG9mIGRpc3RyaWJ1dGlvbnMgdGhhdCB3aWxsIGJlIHJlbW92ZWQuCisgICAgOnBhcmFtIGNvbmZsaWN0czogbGlzdCBvZiBjb25mbGljdGluZyBkaXN0cmlidXRpb25zLCBlZy4gdGhhdCB3aWxsIGJlIGluCisgICAgICAgICAgICAgICAgICAgICAgY29uZmxpY3Qgb25jZSB0aGUgaW5zdGFsbCBhbmQgcmVtb3ZlIGRpc3RyaWJ1dGlvbiB3aWxsIGJlCisgICAgICAgICAgICAgICAgICAgICAgcHJvY2Vzc2VkLgorICAgIDpwYXJhbSBwYXRoczogbGlzdCBvZiBwYXRocyAoZGVmYXVsdHMgdG8gc3lzLnBhdGgpIHRvIGxvb2sgZm9yIGluZm8KKyAgICAiIiIKKyAgICAjIGZpcnN0IG9mIGFsbCwgaWYgd2UgaGF2ZSBjb25mbGljdHMsIHN0b3AgaGVyZS4KKyAgICBpZiBjb25mbGljdHM6CisgICAgICAgIHJhaXNlIEluc3RhbGxhdGlvbkNvbmZsaWN0KGNvbmZsaWN0cykKKworICAgIGlmIGluc3RhbGwgYW5kIG5vdCBpbnN0YWxsX3BhdGg6CisgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIkRpc3RyaWJ1dGlvbnMgYXJlIHRvIGJlIGluc3RhbGxlZCBidXQgYGluc3RhbGxfcGF0aGAiCisgICAgICAgICAgICAgICAgICAgICAgICAgIiBpcyBub3QgcHJvdmlkZWQuIikKKworICAgICMgYmVmb3JlIHJlbW92aW5nIHRoZSBmaWxlcywgd2Ugd2lsbCBzdGFydCBieSBtb3ZpbmcgdGhlbSBhd2F5CisgICAgIyB0aGVuLCBpZiBhbnkgZXJyb3Igb2NjdXJzLCB3ZSBjb3VsZCByZXBsYWNlIHRoZW0gaW4gdGhlIGdvb2QgcGxhY2UuCisgICAgdGVtcF9maWxlcyA9IHt9ICAjIGNvbnRhaW5zIGxpc3RzIG9mIHtkaXN0OiAob2xkLCBuZXcpfSBwYXRocworICAgIHRlbXBfZGlyID0gTm9uZQorICAgIGlmIHJlbW92ZToKKyAgICAgICAgdGVtcF9kaXIgPSB0ZW1wZmlsZS5ta2R0ZW1wKCkKKyAgICAgICAgZm9yIGRpc3QgaW4gcmVtb3ZlOgorICAgICAgICAgICAgZmlsZXMgPSBkaXN0Lmxpc3RfaW5zdGFsbGVkX2ZpbGVzKCkKKyAgICAgICAgICAgIHRlbXBfZmlsZXNbZGlzdF0gPSBfbW92ZV9maWxlcyhmaWxlcywgdGVtcF9kaXIpCisgICAgdHJ5OgorICAgICAgICBpZiBpbnN0YWxsOgorICAgICAgICAgICAgaW5zdGFsbF9kaXN0cyhpbnN0YWxsLCBpbnN0YWxsX3BhdGgsIHBhdGhzKQorICAgIGV4Y2VwdDoKKyAgICAgICAgIyBpZiBhbiBlcnJvciBvY2N1cnMsIHB1dCBiYWNrIHRoZSBmaWxlcyBpbiB0aGUgcmlnaHQgcGxhY2UuCisgICAgICAgIGZvciBmaWxlcyBpbiB0ZW1wX2ZpbGVzLnZhbHVlcygpOgorICAgICAgICAgICAgZm9yIG9sZCwgbmV3IGluIGZpbGVzOgorICAgICAgICAgICAgICAgIHNodXRpbC5tb3ZlKG5ldywgb2xkKQorICAgICAgICBpZiB0ZW1wX2RpcjoKKyAgICAgICAgICAgIHNodXRpbC5ybXRyZWUodGVtcF9kaXIpCisgICAgICAgICMgbm93IHJlLXJhaXNpbmcKKyAgICAgICAgcmFpc2UKKworICAgICMgd2UgY2FuIHJlbW92ZSB0aGVtIGZvciBnb29kCisgICAgZm9yIGZpbGVzIGluIHRlbXBfZmlsZXMudmFsdWVzKCk6CisgICAgICAgIGZvciBvbGQsIG5ldyBpbiBmaWxlczoKKyAgICAgICAgICAgIG9zLnJlbW92ZShuZXcpCisgICAgaWYgdGVtcF9kaXI6CisgICAgICAgIHNodXRpbC5ybXRyZWUodGVtcF9kaXIpCisKKworZGVmIF9nZXRfc2V0dXB0b29sc19kZXBzKHJlbGVhc2UpOgorICAgICMgTm90SW1wbGVtZW50ZWRFcnJvcgorICAgIHBhc3MKKworCitkZWYgZ2V0X2luZm9zKHJlcXVpcmVtZW50cywgaW5kZXg9Tm9uZSwgaW5zdGFsbGVkPU5vbmUsIHByZWZlcl9maW5hbD1UcnVlKToKKyAgICAiIiJSZXR1cm4gdGhlIGluZm9ybWF0aW9ucyBvbiB3aGF0J3MgZ29pbmcgdG8gYmUgaW5zdGFsbGVkIGFuZCB1cGdyYWRlZC4KKworICAgIDpwYXJhbSByZXF1aXJlbWVudHM6IGlzIGEgKnN0cmluZyogY29udGFpbmluZyB0aGUgcmVxdWlyZW1lbnRzIGZvciB0aGlzCisgICAgICAgICAgICAgICAgICAgICAgICAgcHJvamVjdCAoZm9yIGluc3RhbmNlICJGb29CYXIgMS4xIiBvciAiQmFyQmF6ICg8MS4yKSIpCisgICAgOnBhcmFtIGluZGV4OiBJZiBhbiBpbmRleCBpcyBzcGVjaWZpZWQsIHVzZSB0aGlzIG9uZSwgb3RoZXJ3aXNlLCB1c2UKKyAgICAgICAgICAgICAgICAgIDpjbGFzcyBpbmRleC5DbGllbnRXcmFwcGVyOiB0byBnZXQgcHJvamVjdCBtZXRhZGF0YXMuCisgICAgOnBhcmFtIGluc3RhbGxlZDogYSBsaXN0IG9mIGFscmVhZHkgaW5zdGFsbGVkIGRpc3RyaWJ1dGlvbnMuCisgICAgOnBhcmFtIHByZWZlcl9maW5hbDogd2hlbiBwaWNraW5nIHVwIHRoZSByZWxlYXNlcywgcHJlZmVyIGEgImZpbmFsIiBvbmUKKyAgICAgICAgICAgICAgICAgICAgICAgICBvdmVyIGEgYmV0YS9hbHBoYS9ldGMgb25lLgorCisgICAgVGhlIHJlc3VsdHMgYXJlIHJldHVybmVkIGluIGEgZGljdCwgY29udGFpbmluZyBhbGwgdGhlIG9wZXJhdGlvbnMKKyAgICBuZWVkZWQgdG8gaW5zdGFsbCB0aGUgZ2l2ZW4gcmVxdWlyZW1lbnRzOjoKKworICAgICAgICA+Pj4gZ2V0X2luc3RhbGxfaW5mbygiRm9vQmFyICg8PTEuMikiKQorICAgICAgICB7J2luc3RhbGwnOiBbPEZvb0JhciAxLjE+XSwgJ3JlbW92ZSc6IFtdLCAnY29uZmxpY3QnOiBbXX0KKworICAgIENvbmZsaWN0IGNvbnRhaW5zIGFsbCB0aGUgY29uZmxpY3RpbmcgZGlzdHJpYnV0aW9ucywgaWYgdGhlcmUgaXMgYQorICAgIGNvbmZsaWN0LgorICAgICIiIgorICAgICMgdGhpcyBmdW5jdGlvbiBkb2VzIHNldmVyYWwgdGhpbmdzOgorICAgICMgMS4gZ2V0IGEgcmVsZWFzZSBzcGVjaWZpZWQgYnkgdGhlIHJlcXVpcmVtZW50cworICAgICMgMi4gZ2F0aGVyIGl0cyBtZXRhZGF0YSwgdXNpbmcgc2V0dXB0b29scyBjb21wYXRpYmlsaXR5IGlmIG5lZWRlZAorICAgICMgMy4gY29tcGFyZSB0aGlzIHRyZWUgd2l0aCB3aGF0IGlzIGN1cnJlbnRseSBpbnN0YWxsZWQgb24gdGhlIHN5c3RlbSwKKyAgICAjICAgIHJldHVybiB0aGUgcmVxdWlyZW1lbnRzIG9mIHdoYXQgaXMgbWlzc2luZworICAgICMgNC4gZG8gdGhhdCByZWN1cnNpdmVseSBhbmQgbWVyZ2UgYmFjayB0aGUgcmVzdWx0cworICAgICMgNS4gcmV0dXJuIGEgZGljdCBjb250YWluaW5nIGluZm9ybWF0aW9uIGFib3V0IHdoYXQgaXMgbmVlZGVkIHRvIGluc3RhbGwKKyAgICAjICAgIG9yIHJlbW92ZQorCisgICAgaWYgbm90IGluc3RhbGxlZDoKKyAgICAgICAgbG9nZ2VyLmRlYnVnKCdSZWFkaW5nIGluc3RhbGxlZCBkaXN0cmlidXRpb25zJykKKyAgICAgICAgaW5zdGFsbGVkID0gbGlzdChnZXRfZGlzdHJpYnV0aW9ucyh1c2VfZWdnX2luZm89VHJ1ZSkpCisKKyAgICBpbmZvcyA9IHsnaW5zdGFsbCc6IFtdLCAncmVtb3ZlJzogW10sICdjb25mbGljdCc6IFtdfQorICAgICMgSXMgYSBjb21wYXRpYmxlIHZlcnNpb24gb2YgdGhlIHByb2plY3QgYWxyZWFkeSBpbnN0YWxsZWQgPworICAgIHByZWRpY2F0ZSA9IGdldF92ZXJzaW9uX3ByZWRpY2F0ZShyZXF1aXJlbWVudHMpCisgICAgZm91bmQgPSBGYWxzZQorCisgICAgIyBjaGVjayB0aGF0IHRoZSBwcm9qZWN0IGlzbid0IGFscmVhZHkgaW5zdGFsbGVkCisgICAgZm9yIGluc3RhbGxlZF9wcm9qZWN0IGluIGluc3RhbGxlZDoKKyAgICAgICAgIyBpcyBpdCBhIGNvbXBhdGlibGUgcHJvamVjdCA/CisgICAgICAgIGlmIHByZWRpY2F0ZS5uYW1lLmxvd2VyKCkgIT0gaW5zdGFsbGVkX3Byb2plY3QubmFtZS5sb3dlcigpOgorICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgZm91bmQgPSBUcnVlCisgICAgICAgIGxvZ2dlci5pbmZvKCdGb3VuZCAlciAlcycsIGluc3RhbGxlZF9wcm9qZWN0Lm5hbWUsCisgICAgICAgICAgICAgICAgICAgIGluc3RhbGxlZF9wcm9qZWN0LnZlcnNpb24pCisKKyAgICAgICAgIyBpZiB3ZSBhbHJlYWR5IGhhdmUgc29tZXRoaW5nIGluc3RhbGxlZCwgY2hlY2sgaXQgbWF0Y2hlcyB0aGUKKyAgICAgICAgIyByZXF1aXJlbWVudHMKKyAgICAgICAgaWYgcHJlZGljYXRlLm1hdGNoKGluc3RhbGxlZF9wcm9qZWN0LnZlcnNpb24pOgorICAgICAgICAgICAgcmV0dXJuIGluZm9zCisgICAgICAgIGJyZWFrCisKKyAgICBpZiBub3QgZm91bmQ6CisgICAgICAgIGxvZ2dlci5kZWJ1ZygnUHJvamVjdCBub3QgaW5zdGFsbGVkJykKKworICAgIGlmIG5vdCBpbmRleDoKKyAgICAgICAgaW5kZXggPSB3cmFwcGVyLkNsaWVudFdyYXBwZXIoKQorCisgICAgaWYgbm90IGluc3RhbGxlZDoKKyAgICAgICAgaW5zdGFsbGVkID0gZ2V0X2Rpc3RyaWJ1dGlvbnModXNlX2VnZ19pbmZvPVRydWUpCisKKyAgICAjIEdldCBhbGwgdGhlIHJlbGVhc2VzIHRoYXQgbWF0Y2ggdGhlIHJlcXVpcmVtZW50cworICAgIHRyeToKKyAgICAgICAgcmVsZWFzZSA9IGluZGV4LmdldF9yZWxlYXNlKHJlcXVpcmVtZW50cykKKyAgICBleGNlcHQgKFJlbGVhc2VOb3RGb3VuZCwgUHJvamVjdE5vdEZvdW5kKToKKyAgICAgICAgcmFpc2UgSW5zdGFsbGF0aW9uRXhjZXB0aW9uKCdSZWxlYXNlIG5vdCBmb3VuZDogJXInICUgcmVxdWlyZW1lbnRzKQorCisgICAgaWYgcmVsZWFzZSBpcyBOb25lOgorICAgICAgICBsb2dnZXIuaW5mbygnQ291bGQgbm90IGZpbmQgYSBtYXRjaGluZyBwcm9qZWN0JykKKyAgICAgICAgcmV0dXJuIGluZm9zCisKKyAgICBtZXRhZGF0YSA9IHJlbGVhc2UuZmV0Y2hfbWV0YWRhdGEoKQorCisgICAgIyB3ZSBuZWVkIHRvIGJ1aWxkIHNldHVwdG9vbHMgZGVwcyBpZiBhbnkKKyAgICBpZiAncmVxdWlyZXNfZGlzdCcgbm90IGluIG1ldGFkYXRhOgorICAgICAgICBtZXRhZGF0YVsncmVxdWlyZXNfZGlzdCddID0gX2dldF9zZXR1cHRvb2xzX2RlcHMocmVsZWFzZSkKKworICAgICMgYnVpbGQgdGhlIGRlcGVuZGVuY3kgZ3JhcGggd2l0aCBsb2NhbCBhbmQgcmVxdWlyZWQgZGVwZW5kZW5jaWVzCisgICAgZGlzdHMgPSBsaXN0KGluc3RhbGxlZCkKKyAgICBkaXN0cy5hcHBlbmQocmVsZWFzZSkKKyAgICBkZXBncmFwaCA9IGdlbmVyYXRlX2dyYXBoKGRpc3RzKQorCisgICAgIyBHZXQgd2hhdCB0aGUgbWlzc2luZyBkZXBzIGFyZQorICAgIGRpc3RzID0gZGVwZ3JhcGgubWlzc2luZ1tyZWxlYXNlXQorICAgIGlmIGRpc3RzOgorICAgICAgICBsb2dnZXIuaW5mbygiTWlzc2luZyBkZXBlbmRlbmNpZXMgZm91bmQsIHJldHJpZXZpbmcgbWV0YWRhdGEiKQorICAgICAgICAjIHdlIGhhdmUgbWlzc2luZyBkZXBzCisgICAgICAgIGZvciBkaXN0IGluIGRpc3RzOgorICAgICAgICAgICAgX3VwZGF0ZV9pbmZvcyhpbmZvcywgZ2V0X2luZm9zKGRpc3QsIGluZGV4LCBpbnN0YWxsZWQpKQorCisgICAgIyBGaWxsIGluIHRoZSBpbmZvcworICAgIGV4aXN0aW5nID0gW2QgZm9yIGQgaW4gaW5zdGFsbGVkIGlmIGQubmFtZSA9PSByZWxlYXNlLm5hbWVdCisgICAgaWYgZXhpc3Rpbmc6CisgICAgICAgIGluZm9zWydyZW1vdmUnXS5hcHBlbmQoZXhpc3RpbmdbMF0pCisgICAgICAgIGluZm9zWydjb25mbGljdCddLmV4dGVuZChkZXBncmFwaC5yZXZlcnNlX2xpc3RbZXhpc3RpbmdbMF1dKQorICAgIGluZm9zWydpbnN0YWxsJ10uYXBwZW5kKHJlbGVhc2UpCisgICAgcmV0dXJuIGluZm9zCisKKworZGVmIF91cGRhdGVfaW5mb3MoaW5mb3MsIG5ld19pbmZvcyk6CisgICAgIiIiZXh0ZW5kcyB0aGUgbGlzdHMgY29udGFpbmVkIGluIHRoZSBgaW5mb2AgZGljdCB3aXRoIHRob3NlIGNvbnRhaW5lZAorICAgIGluIHRoZSBgbmV3X2luZm9gIG9uZQorICAgICIiIgorICAgIGZvciBrZXksIHZhbHVlIGluIGluZm9zLml0ZW1zKCk6CisgICAgICAgIGlmIGtleSBpbiBuZXdfaW5mb3M6CisgICAgICAgICAgICBpbmZvc1trZXldLmV4dGVuZChuZXdfaW5mb3Nba2V5XSkKKworCitkZWYgcmVtb3ZlKHByb2plY3RfbmFtZSwgcGF0aHM9Tm9uZSwgYXV0b19jb25maXJtPVRydWUpOgorICAgICIiIlJlbW92ZXMgYSBzaW5nbGUgcHJvamVjdCBmcm9tIHRoZSBpbnN0YWxsYXRpb24uCisKKyAgICBSZXR1cm5zIFRydWUgb24gc3VjY2VzcworICAgICIiIgorICAgIGRpc3QgPSBnZXRfZGlzdHJpYnV0aW9uKHByb2plY3RfbmFtZSwgdXNlX2VnZ19pbmZvPVRydWUsIHBhdGhzPXBhdGhzKQorICAgIGlmIGRpc3QgaXMgTm9uZToKKyAgICAgICAgcmFpc2UgUGFja2FnaW5nRXJyb3IoJ0Rpc3RyaWJ1dGlvbiAlciBub3QgZm91bmQnICUgcHJvamVjdF9uYW1lKQorICAgIGZpbGVzID0gZGlzdC5saXN0X2luc3RhbGxlZF9maWxlcyhsb2NhbD1UcnVlKQorICAgIHJtZGlycyA9IFtdCisgICAgcm1maWxlcyA9IFtdCisgICAgdG1wID0gdGVtcGZpbGUubWtkdGVtcChwcmVmaXg9cHJvamVjdF9uYW1lICsgJy11bmluc3RhbGwnKQorCisgICAgZGVmIF9tb3ZlX2ZpbGUoc291cmNlLCB0YXJnZXQpOgorICAgICAgICB0cnk6CisgICAgICAgICAgICBvcy5yZW5hbWUoc291cmNlLCB0YXJnZXQpCisgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGVycjoKKyAgICAgICAgICAgIHJldHVybiBlcnIKKyAgICAgICAgcmV0dXJuIE5vbmUKKworICAgIHN1Y2Nlc3MgPSBUcnVlCisgICAgZXJyb3IgPSBOb25lCisgICAgdHJ5OgorICAgICAgICBmb3IgZmlsZV8sIG1kNSwgc2l6ZSBpbiBmaWxlczoKKyAgICAgICAgICAgIGlmIG9zLnBhdGguaXNmaWxlKGZpbGVfKToKKyAgICAgICAgICAgICAgICBkaXJuYW1lLCBmaWxlbmFtZSA9IG9zLnBhdGguc3BsaXQoZmlsZV8pCisgICAgICAgICAgICAgICAgdG1wZmlsZSA9IG9zLnBhdGguam9pbih0bXAsIGZpbGVuYW1lKQorICAgICAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICAgICAgZXJyb3IgPSBfbW92ZV9maWxlKGZpbGVfLCB0bXBmaWxlKQorICAgICAgICAgICAgICAgICAgICBpZiBlcnJvciBpcyBub3QgTm9uZToKKyAgICAgICAgICAgICAgICAgICAgICAgIHN1Y2Nlc3MgPSBGYWxzZQorICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgICAgICAgICBpZiBub3Qgb3MucGF0aC5pc2ZpbGUoZmlsZV8pOgorICAgICAgICAgICAgICAgICAgICAgICAgb3MucmVuYW1lKHRtcGZpbGUsIGZpbGVfKQorICAgICAgICAgICAgICAgIGlmIGZpbGVfIG5vdCBpbiBybWZpbGVzOgorICAgICAgICAgICAgICAgICAgICBybWZpbGVzLmFwcGVuZChmaWxlXykKKyAgICAgICAgICAgICAgICBpZiBkaXJuYW1lIG5vdCBpbiBybWRpcnM6CisgICAgICAgICAgICAgICAgICAgIHJtZGlycy5hcHBlbmQoZGlybmFtZSkKKyAgICBmaW5hbGx5OgorICAgICAgICBzaHV0aWwucm10cmVlKHRtcCkKKworICAgIGlmIG5vdCBzdWNjZXNzOgorICAgICAgICBsb2dnZXIuaW5mbygnJXIgY2Fubm90IGJlIHJlbW92ZWQuJywgcHJvamVjdF9uYW1lKQorICAgICAgICBsb2dnZXIuaW5mbygnRXJyb3I6ICVzJywgZXJyb3IpCisgICAgICAgIHJldHVybiBGYWxzZQorCisgICAgbG9nZ2VyLmluZm8oJ1JlbW92aW5nICVyOiAnLCBwcm9qZWN0X25hbWUpCisKKyAgICBmb3IgZmlsZV8gaW4gcm1maWxlczoKKyAgICAgICAgbG9nZ2VyLmluZm8oJyAgJXMnLCBmaWxlXykKKworICAgICMgVGFrZW4gZnJvbSB0aGUgcGlwIHByb2plY3QKKyAgICBpZiBhdXRvX2NvbmZpcm06CisgICAgICAgIHJlc3BvbnNlID0gJ3knCisgICAgZWxzZToKKyAgICAgICAgcmVzcG9uc2UgPSBhc2soJ1Byb2NlZWQgKHkvbik/ICcsICgneScsICduJykpCisKKyAgICBpZiByZXNwb25zZSA9PSAneSc6CisgICAgICAgIGZpbGVfY291bnQgPSAwCisgICAgICAgIGZvciBmaWxlXyBpbiBybWZpbGVzOgorICAgICAgICAgICAgb3MucmVtb3ZlKGZpbGVfKQorICAgICAgICAgICAgZmlsZV9jb3VudCArPSAxCisKKyAgICAgICAgZGlyX2NvdW50ID0gMAorICAgICAgICBmb3IgZGlybmFtZSBpbiBybWRpcnM6CisgICAgICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMoZGlybmFtZSk6CisgICAgICAgICAgICAgICAgIyBjb3VsZAorICAgICAgICAgICAgICAgIGNvbnRpbnVlCisKKyAgICAgICAgICAgIGZpbGVzX2NvdW50ID0gMAorICAgICAgICAgICAgZm9yIHJvb3QsIGRpciwgZmlsZXMgaW4gb3Mud2FsayhkaXJuYW1lKToKKyAgICAgICAgICAgICAgICBmaWxlc19jb3VudCArPSBsZW4oZmlsZXMpCisKKyAgICAgICAgICAgIGlmIGZpbGVzX2NvdW50ID4gMDoKKyAgICAgICAgICAgICAgICAjIFhYWCBXYXJuaW5nCisgICAgICAgICAgICAgICAgY29udGludWUKKworICAgICAgICAgICAgIyBlbXB0eSBkaXJzIHdpdGggb25seSBlbXB0eSBkaXJzCisgICAgICAgICAgICBpZiBvcy5zdGF0KGRpcm5hbWUpLnN0X21vZGUgJiBzdGF0LlNfSVdVU1I6CisgICAgICAgICAgICAgICAgIyBYWFggQWRkIGEgY2FsbGFibGUgaW4gc2h1dGlsLnJtdHJlZSB0byBjb3VudAorICAgICAgICAgICAgICAgICMgdGhlIG51bWJlciBvZiBkZWxldGVkIGVsZW1lbnRzCisgICAgICAgICAgICAgICAgc2h1dGlsLnJtdHJlZShkaXJuYW1lKQorICAgICAgICAgICAgICAgIGRpcl9jb3VudCArPSAxCisKKyAgICAgICAgIyByZW1vdmluZyB0aGUgdG9wIHBhdGgKKyAgICAgICAgIyBYWFggY291bnQgaXQgPworICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cyhkaXN0LnBhdGgpOgorICAgICAgICAgICAgc2h1dGlsLnJtdHJlZShkaXN0LnBhdGgpCisKKyAgICAgICAgbG9nZ2VyLmluZm8oJ1N1Y2Nlc3M6IHJlbW92ZWQgJWQgZmlsZXMgYW5kICVkIGRpcnMnLAorICAgICAgICAgICAgICAgICAgICBmaWxlX2NvdW50LCBkaXJfY291bnQpCisKKyAgICByZXR1cm4gVHJ1ZQorCisKK2RlZiBpbnN0YWxsKHByb2plY3QpOgorICAgICIiIkluc3RhbGxzIGEgcHJvamVjdC4KKworICAgIFJldHVybnMgVHJ1ZSBvbiBzdWNjZXNzLCBGYWxzZSBvbiBmYWlsdXJlCisgICAgIiIiCisgICAgaWYgaXNfcHl0aG9uX2J1aWxkKCk6CisgICAgICAgICMgUHl0aG9uIHdvdWxkIHRyeSB0byBpbnN0YWxsIGludG8gdGhlIHNpdGUtcGFja2FnZXMgZGlyZWN0b3J5IHVuZGVyCisgICAgICAgICMgJFBSRUZJWCwgYnV0IHdoZW4gcnVubmluZyBmcm9tIGFuIHVuaW5zdGFsbGVkIGNvZGUgY2hlY2tvdXQgd2UgZG9uJ3QKKyAgICAgICAgIyB3YW50IHRvIGNyZWF0ZSBkaXJlY3RvcmllcyB1bmRlciB0aGUgaW5zdGFsbGF0aW9uIHJvb3QKKyAgICAgICAgbWVzc2FnZSA9ICgnaW5zdGFsbGluZyB0aGlyZC1wYXJ0eSBwcm9qZWN0cyBmcm9tIGFuIHVuaW5zdGFsbGVkICcKKyAgICAgICAgICAgICAgICAgICAnUHl0aG9uIGlzIG5vdCBzdXBwb3J0ZWQnKQorICAgICAgICBsb2dnZXIuZXJyb3IobWVzc2FnZSkKKyAgICAgICAgcmV0dXJuIEZhbHNlCisKKyAgICBsb2dnZXIuaW5mbygnQ2hlY2tpbmcgdGhlIGluc3RhbGxhdGlvbiBsb2NhdGlvbi4uLicpCisgICAgcHVyZWxpYl9wYXRoID0gZ2V0X3BhdGgoJ3B1cmVsaWInKQorCisgICAgIyB0cnlpbmcgdG8gd3JpdGUgYSBmaWxlIHRoZXJlCisgICAgdHJ5OgorICAgICAgICB3aXRoIHRlbXBmaWxlLk5hbWVkVGVtcG9yYXJ5RmlsZShzdWZmaXg9cHJvamVjdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlyPXB1cmVsaWJfcGF0aCkgYXMgdGVzdGZpbGU6CisgICAgICAgICAgICB0ZXN0ZmlsZS53cml0ZShiJ3Rlc3QnKQorICAgIGV4Y2VwdCBPU0Vycm9yOgorICAgICAgICAjIEZJWE1FIHRoaXMgc2hvdWxkIGNoZWNrIHRoZSBlcnJubywgb3IgYmUgcmVtb3ZlZCBhbHRvZ2V0aGVyIChyYWNlCisgICAgICAgICMgY29uZGl0aW9uOiB0aGUgZGlyZWN0b3J5IHBlcm1pc3Npb25zIGNvdWxkIGJlIGNoYW5nZWQgYmV0d2VlbiBoZXJlCisgICAgICAgICMgYW5kIHRoZSBhY3R1YWwgaW5zdGFsbCkKKyAgICAgICAgbG9nZ2VyLmluZm8oJ1VuYWJsZSB0byB3cml0ZSBpbiAiJXMiLiBEbyB5b3UgaGF2ZSB0aGUgcGVybWlzc2lvbnMgPycKKyAgICAgICAgICAgICAgICAgICAgJSBwdXJlbGliX3BhdGgpCisgICAgICAgIHJldHVybiBGYWxzZQorCisgICAgbG9nZ2VyLmluZm8oJ0dldHRpbmcgaW5mb3JtYXRpb24gYWJvdXQgJXIuLi4nLCBwcm9qZWN0KQorICAgIHRyeToKKyAgICAgICAgaW5mbyA9IGdldF9pbmZvcyhwcm9qZWN0KQorICAgIGV4Y2VwdCBJbnN0YWxsYXRpb25FeGNlcHRpb246CisgICAgICAgIGxvZ2dlci5pbmZvKCdDb3VuZCBub3QgZmluZCAlcicsIHByb2plY3QpCisgICAgICAgIHJldHVybiBGYWxzZQorCisgICAgaWYgaW5mb1snaW5zdGFsbCddID09IFtdOgorICAgICAgICBsb2dnZXIuaW5mbygnTm90aGluZyB0byBpbnN0YWxsJykKKyAgICAgICAgcmV0dXJuIEZhbHNlCisKKyAgICBpbnN0YWxsX3BhdGggPSBnZXRfY29uZmlnX3ZhcignYmFzZScpCisgICAgdHJ5OgorICAgICAgICBpbnN0YWxsX2Zyb21faW5mb3MoaW5zdGFsbF9wYXRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5mb1snaW5zdGFsbCddLCBpbmZvWydyZW1vdmUnXSwgaW5mb1snY29uZmxpY3QnXSkKKworICAgIGV4Y2VwdCBJbnN0YWxsYXRpb25Db25mbGljdCBhcyBlOgorICAgICAgICBpZiBsb2dnZXIuaXNFbmFibGVkRm9yKGxvZ2dpbmcuSU5GTyk6CisgICAgICAgICAgICBwcm9qZWN0cyA9ICgnJXIgJXMnICUgKHAubmFtZSwgcC52ZXJzaW9uKSBmb3IgcCBpbiBlLmFyZ3NbMF0pCisgICAgICAgICAgICBsb2dnZXIuaW5mbygnJXIgY29uZmxpY3RzIHdpdGggJXMnLCBwcm9qZWN0LCAnLCcuam9pbihwcm9qZWN0cykpCisKKyAgICByZXR1cm4gVHJ1ZQpkaWZmIC0tZ2l0IGEvTGliL3BhY2thZ2luZy9tYW5pZmVzdC5weSBiL0xpYi9wYWNrYWdpbmcvbWFuaWZlc3QucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDBlNzMzMAotLS0gL2Rldi9udWxsCisrKyBiL0xpYi9wYWNrYWdpbmcvbWFuaWZlc3QucHkKQEAgLTAsMCArMSwzODEgQEAKKyIiIkNsYXNzIHJlcHJlc2VudGluZyB0aGUgbGlzdCBvZiBmaWxlcyBpbiBhIGRpc3RyaWJ1dGlvbi4KKworVGhlIE1hbmlmZXN0IGNsYXNzIGNhbiBiZSB1c2VkIHRvOgorCisgLSByZWFkIG9yIHdyaXRlIGEgTUFOSUZFU1QgZmlsZQorIC0gcmVhZCBhIHRlbXBsYXRlIGZpbGUgYW5kIGZpbmQgb3V0IHRoZSBmaWxlIGxpc3QKKyIiIgorIyBYWFggdG9kbzogZG9jdW1lbnQgKyBhZGQgdGVzdHMKK2ltcG9ydCByZQoraW1wb3J0IG9zCitpbXBvcnQgZm5tYXRjaAorCitmcm9tIHBhY2thZ2luZyBpbXBvcnQgbG9nZ2VyCitmcm9tIHBhY2thZ2luZy51dGlsIGltcG9ydCB3cml0ZV9maWxlLCBjb252ZXJ0X3BhdGgKK2Zyb20gcGFja2FnaW5nLmVycm9ycyBpbXBvcnQgKFBhY2thZ2luZ1RlbXBsYXRlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQYWNrYWdpbmdJbnRlcm5hbEVycm9yKQorCitfX2FsbF9fID0gWydNYW5pZmVzdCddCisKKyMgYSBcIGZvbGxvd2VkIGJ5IHNvbWUgc3BhY2VzICsgRU9MCitfQ09MTEFQU0VfUEFUVEVSTiA9IHJlLmNvbXBpbGUoJ1xcXHcqXG4nLCByZS5NKQorX0NPTU1FTlRFRF9MSU5FID0gcmUuY29tcGlsZSgnIy4qPyg/PVxuKXxcbig/PSQpJywgcmUuTSB8IHJlLlMpCisKKworY2xhc3MgTWFuaWZlc3Qob2JqZWN0KToKKyAgICAiIiJBIGxpc3Qgb2YgZmlsZXMgYnVpbHQgYnkgb24gZXhwbG9yaW5nIHRoZSBmaWxlc3lzdGVtIGFuZCBmaWx0ZXJlZCBieQorICAgIGFwcGx5aW5nIHZhcmlvdXMgcGF0dGVybnMgdG8gd2hhdCB3ZSBmaW5kIHRoZXJlLgorICAgICIiIgorCisgICAgZGVmIF9faW5pdF9fKHNlbGYpOgorICAgICAgICBzZWxmLmFsbGZpbGVzID0gTm9uZQorICAgICAgICBzZWxmLmZpbGVzID0gW10KKworICAgICMKKyAgICAjIFB1YmxpYyBBUEkKKyAgICAjCisKKyAgICBkZWYgZmluZGFsbChzZWxmLCBkaXI9b3MuY3VyZGlyKToKKyAgICAgICAgc2VsZi5hbGxmaWxlcyA9IF9maW5kYWxsKGRpcikKKworICAgIGRlZiBhcHBlbmQoc2VsZiwgaXRlbSk6CisgICAgICAgIHNlbGYuZmlsZXMuYXBwZW5kKGl0ZW0pCisKKyAgICBkZWYgZXh0ZW5kKHNlbGYsIGl0ZW1zKToKKyAgICAgICAgc2VsZi5maWxlcy5leHRlbmQoaXRlbXMpCisKKyAgICBkZWYgc29ydChzZWxmKToKKyAgICAgICAgIyBOb3QgYSBzdHJpY3QgbGV4aWNhbCBzb3J0IQorICAgICAgICBzZWxmLmZpbGVzID0gW29zLnBhdGguam9pbigqcGF0aF90dXBsZSkgZm9yIHBhdGhfdHVwbGUgaW4KKyAgICAgICAgICAgICAgICAgICAgICBzb3J0ZWQob3MucGF0aC5zcGxpdChwYXRoKSBmb3IgcGF0aCBpbiBzZWxmLmZpbGVzKV0KKworICAgIGRlZiBjbGVhcihzZWxmKToKKyAgICAgICAgIiIiQ2xlYXIgYWxsIGNvbGxlY3RlZCBmaWxlcy4iIiIKKyAgICAgICAgc2VsZi5maWxlcyA9IFtdCisgICAgICAgIGlmIHNlbGYuYWxsZmlsZXMgaXMgbm90IE5vbmU6CisgICAgICAgICAgICBzZWxmLmFsbGZpbGVzID0gW10KKworICAgIGRlZiByZW1vdmVfZHVwbGljYXRlcyhzZWxmKToKKyAgICAgICAgIyBBc3N1bWVzIGxpc3QgaGFzIGJlZW4gc29ydGVkIQorICAgICAgICBmb3IgaSBpbiByYW5nZShsZW4oc2VsZi5maWxlcykgLSAxLCAwLCAtMSk6CisgICAgICAgICAgICBpZiBzZWxmLmZpbGVzW2ldID09IHNlbGYuZmlsZXNbaSAtIDFdOgorICAgICAgICAgICAgICAgIGRlbCBzZWxmLmZpbGVzW2ldCisKKyAgICBkZWYgcmVhZF90ZW1wbGF0ZShzZWxmLCBwYXRoX29yX2ZpbGUpOgorICAgICAgICAiIiJSZWFkIGFuZCBwYXJzZSBhIG1hbmlmZXN0IHRlbXBsYXRlIGZpbGUuCisgICAgICAgICdwYXRoJyBjYW4gYmUgYSBwYXRoIG9yIGEgZmlsZS1saWtlIG9iamVjdC4KKworICAgICAgICBVcGRhdGVzIHRoZSBsaXN0IGFjY29yZGluZ2x5LgorICAgICAgICAiIiIKKyAgICAgICAgaWYgaXNpbnN0YW5jZShwYXRoX29yX2ZpbGUsIHN0cik6CisgICAgICAgICAgICBmID0gb3BlbihwYXRoX29yX2ZpbGUpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBmID0gcGF0aF9vcl9maWxlCisKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgY29udGVudCA9IGYucmVhZCgpCisgICAgICAgICAgICAjIGZpcnN0LCBsZXQncyB1bndyYXAgY29sbGFwc2VkIGxpbmVzCisgICAgICAgICAgICBjb250ZW50ID0gX0NPTExBUFNFX1BBVFRFUk4uc3ViKCcnLCBjb250ZW50KQorICAgICAgICAgICAgIyBuZXh0LCBsZXQncyByZW1vdmUgY29tbWVudGVkIGxpbmVzIGFuZCBlbXB0eSBsaW5lcworICAgICAgICAgICAgY29udGVudCA9IF9DT01NRU5URURfTElORS5zdWIoJycsIGNvbnRlbnQpCisKKyAgICAgICAgICAgICMgbm93IHdlIGhhdmUgb3VyIGNsZWFuZWQgdXAgbGluZXMKKyAgICAgICAgICAgIGxpbmVzID0gW2xpbmUuc3RyaXAoKSBmb3IgbGluZSBpbiBjb250ZW50LnNwbGl0KCdcbicpXQorICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgZi5jbG9zZSgpCisKKyAgICAgICAgZm9yIGxpbmUgaW4gbGluZXM6CisgICAgICAgICAgICBpZiBsaW5lID09ICcnOgorICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgc2VsZi5fcHJvY2Vzc190ZW1wbGF0ZV9saW5lKGxpbmUpCisgICAgICAgICAgICBleGNlcHQgUGFja2FnaW5nVGVtcGxhdGVFcnJvciBhcyBtc2c6CisgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoIiVzLCAlcyIsIHBhdGhfb3JfZmlsZSwgbXNnKQorCisgICAgZGVmIHdyaXRlKHNlbGYsIHBhdGgpOgorICAgICAgICAiIiJXcml0ZSB0aGUgZmlsZSBsaXN0IGluICdzZWxmLmZpbGVsaXN0JyAocHJlc3VtYWJseSBhcyBmaWxsZWQgaW4KKyAgICAgICAgYnkgJ2FkZF9kZWZhdWx0cygpJyBhbmQgJ3JlYWRfdGVtcGxhdGUoKScpIHRvIHRoZSBtYW5pZmVzdCBmaWxlCisgICAgICAgIG5hbWVkIGJ5ICdzZWxmLm1hbmlmZXN0Jy4KKyAgICAgICAgIiIiCisgICAgICAgIGlmIG9zLnBhdGguaXNmaWxlKHBhdGgpOgorICAgICAgICAgICAgd2l0aCBvcGVuKHBhdGgpIGFzIGZwOgorICAgICAgICAgICAgICAgIGZpcnN0X2xpbmUgPSBmcC5yZWFkbGluZSgpCisKKyAgICAgICAgICAgIGlmIGZpcnN0X2xpbmUgIT0gJyMgZmlsZSBHRU5FUkFURUQgYnkgcGFja2FnaW5nLCBkbyBOT1QgZWRpdFxuJzoKKyAgICAgICAgICAgICAgICBsb2dnZXIuaW5mbygibm90IHdyaXRpbmcgdG8gbWFudWFsbHkgbWFpbnRhaW5lZCAiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1hbmlmZXN0IGZpbGUgJXIiLCBwYXRoKQorICAgICAgICAgICAgICAgIHJldHVybgorCisgICAgICAgIHNlbGYuc29ydCgpCisgICAgICAgIHNlbGYucmVtb3ZlX2R1cGxpY2F0ZXMoKQorICAgICAgICBjb250ZW50ID0gc2VsZi5maWxlc1s6XQorICAgICAgICBjb250ZW50Lmluc2VydCgwLCAnIyBmaWxlIEdFTkVSQVRFRCBieSBwYWNrYWdpbmcsIGRvIE5PVCBlZGl0JykKKyAgICAgICAgbG9nZ2VyLmluZm8oIndyaXRpbmcgbWFuaWZlc3QgZmlsZSAlciIsIHBhdGgpCisgICAgICAgIHdyaXRlX2ZpbGUocGF0aCwgY29udGVudCkKKworICAgIGRlZiByZWFkKHNlbGYsIHBhdGgpOgorICAgICAgICAiIiJSZWFkIHRoZSBtYW5pZmVzdCBmaWxlIChuYW1lZCBieSAnc2VsZi5tYW5pZmVzdCcpIGFuZCB1c2UgaXQgdG8KKyAgICAgICAgZmlsbCBpbiAnc2VsZi5maWxlbGlzdCcsIHRoZSBsaXN0IG9mIGZpbGVzIHRvIGluY2x1ZGUgaW4gdGhlIHNvdXJjZQorICAgICAgICBkaXN0cmlidXRpb24uCisgICAgICAgICIiIgorICAgICAgICBsb2dnZXIuaW5mbygicmVhZGluZyBtYW5pZmVzdCBmaWxlICVyIiwgcGF0aCkKKyAgICAgICAgd2l0aCBvcGVuKHBhdGgpIGFzIG1hbmlmZXN0OgorICAgICAgICAgICAgZm9yIGxpbmUgaW4gbWFuaWZlc3QucmVhZGxpbmVzKCk6CisgICAgICAgICAgICAgICAgc2VsZi5hcHBlbmQobGluZSkKKworICAgIGRlZiBleGNsdWRlX3BhdHRlcm4oc2VsZiwgcGF0dGVybiwgYW5jaG9yPVRydWUsIHByZWZpeD1Ob25lLAorICAgICAgICAgICAgICAgICAgICAgICAgaXNfcmVnZXg9RmFsc2UpOgorICAgICAgICAiIiJSZW1vdmUgc3RyaW5ncyAocHJlc3VtYWJseSBmaWxlbmFtZXMpIGZyb20gJ2ZpbGVzJyB0aGF0IG1hdGNoCisgICAgICAgICdwYXR0ZXJuJy4KKworICAgICAgICBPdGhlciBwYXJhbWV0ZXJzIGFyZSB0aGUgc2FtZSBhcyBmb3IgJ2luY2x1ZGVfcGF0dGVybigpJywgYWJvdmUuCisgICAgICAgIFRoZSBsaXN0ICdzZWxmLmZpbGVzJyBpcyBtb2RpZmllZCBpbiBwbGFjZS4gUmV0dXJuIFRydWUgaWYgZmlsZXMgYXJlCisgICAgICAgIGZvdW5kLgorICAgICAgICAiIiIKKyAgICAgICAgZmlsZXNfZm91bmQgPSBGYWxzZQorICAgICAgICBwYXR0ZXJuX3JlID0gX3RyYW5zbGF0ZV9wYXR0ZXJuKHBhdHRlcm4sIGFuY2hvciwgcHJlZml4LCBpc19yZWdleCkKKyAgICAgICAgZm9yIGkgaW4gcmFuZ2UobGVuKHNlbGYuZmlsZXMpIC0gMSwgLTEsIC0xKToKKyAgICAgICAgICAgIGlmIHBhdHRlcm5fcmUuc2VhcmNoKHNlbGYuZmlsZXNbaV0pOgorICAgICAgICAgICAgICAgIGRlbCBzZWxmLmZpbGVzW2ldCisgICAgICAgICAgICAgICAgZmlsZXNfZm91bmQgPSBUcnVlCisKKyAgICAgICAgcmV0dXJuIGZpbGVzX2ZvdW5kCisKKyAgICAjCisgICAgIyBQcml2YXRlIEFQSQorICAgICMKKworICAgIGRlZiBfcGFyc2VfdGVtcGxhdGVfbGluZShzZWxmLCBsaW5lKToKKyAgICAgICAgd29yZHMgPSBsaW5lLnNwbGl0KCkKKyAgICAgICAgaWYgbGVuKHdvcmRzKSA9PSAxIGFuZCB3b3Jkc1swXSBub3QgaW4gKAorICAgICAgICAgICAgICAnaW5jbHVkZScsICdleGNsdWRlJywgJ2dsb2JhbC1pbmNsdWRlJywgJ2dsb2JhbC1leGNsdWRlJywKKyAgICAgICAgICAgICAgJ3JlY3Vyc2l2ZS1pbmNsdWRlJywgJ3JlY3Vyc2l2ZS1leGNsdWRlJywgJ2dyYWZ0JywgJ3BydW5lJyk6CisgICAgICAgICAgICAjIG5vIGFjdGlvbiBnaXZlbiwgbGV0J3MgdXNlIHRoZSBkZWZhdWx0ICdpbmNsdWRlJworICAgICAgICAgICAgd29yZHMuaW5zZXJ0KDAsICdpbmNsdWRlJykKKworICAgICAgICBhY3Rpb24gPSB3b3Jkc1swXQorICAgICAgICBwYXR0ZXJucyA9IGRpciA9IGRpcl9wYXR0ZXJuID0gTm9uZQorCisgICAgICAgIGlmIGFjdGlvbiBpbiAoJ2luY2x1ZGUnLCAnZXhjbHVkZScsCisgICAgICAgICAgICAgICAgICAgICAgJ2dsb2JhbC1pbmNsdWRlJywgJ2dsb2JhbC1leGNsdWRlJyk6CisgICAgICAgICAgICBpZiBsZW4od29yZHMpIDwgMjoKKyAgICAgICAgICAgICAgICByYWlzZSBQYWNrYWdpbmdUZW1wbGF0ZUVycm9yKAorICAgICAgICAgICAgICAgICAgICAgICIlciBleHBlY3RzIDxwYXR0ZXJuMT4gPHBhdHRlcm4yPiAuLi4iICUgYWN0aW9uKQorCisgICAgICAgICAgICBwYXR0ZXJucyA9IFtjb252ZXJ0X3BhdGgod29yZCkgZm9yIHdvcmQgaW4gd29yZHNbMTpdXQorCisgICAgICAgIGVsaWYgYWN0aW9uIGluICgncmVjdXJzaXZlLWluY2x1ZGUnLCAncmVjdXJzaXZlLWV4Y2x1ZGUnKToKKyAgICAgICAgICAgIGlmIGxlbih3b3JkcykgPCAzOgorICAgICAgICAgICAgICAgIHJhaXNlIFBhY2thZ2luZ1RlbXBsYXRlRXJyb3IoCisgICAgICAgICAgICAgICAgICAgICAgIiVyIGV4cGVjdHMgPGRpcj4gPHBhdHRlcm4xPiA8cGF0dGVybjI+IC4uLiIgJSBhY3Rpb24pCisKKyAgICAgICAgICAgIGRpciA9IGNvbnZlcnRfcGF0aCh3b3Jkc1sxXSkKKyAgICAgICAgICAgIHBhdHRlcm5zID0gW2NvbnZlcnRfcGF0aCh3b3JkKSBmb3Igd29yZCBpbiB3b3Jkc1syOl1dCisKKyAgICAgICAgZWxpZiBhY3Rpb24gaW4gKCdncmFmdCcsICdwcnVuZScpOgorICAgICAgICAgICAgaWYgbGVuKHdvcmRzKSAhPSAyOgorICAgICAgICAgICAgICAgIHJhaXNlIFBhY2thZ2luZ1RlbXBsYXRlRXJyb3IoCisgICAgICAgICAgICAgICAgICAgICAiJXIgZXhwZWN0cyBhIHNpbmdsZSA8ZGlyX3BhdHRlcm4+IiAlIGFjdGlvbikKKworICAgICAgICAgICAgZGlyX3BhdHRlcm4gPSBjb252ZXJ0X3BhdGgod29yZHNbMV0pCisKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJhaXNlIFBhY2thZ2luZ1RlbXBsYXRlRXJyb3IoInVua25vd24gYWN0aW9uICVyIiAlIGFjdGlvbikKKworICAgICAgICByZXR1cm4gYWN0aW9uLCBwYXR0ZXJucywgZGlyLCBkaXJfcGF0dGVybgorCisgICAgZGVmIF9wcm9jZXNzX3RlbXBsYXRlX2xpbmUoc2VsZiwgbGluZSk6CisgICAgICAgICMgUGFyc2UgdGhlIGxpbmU6IHNwbGl0IGl0IHVwLCBtYWtlIHN1cmUgdGhlIHJpZ2h0IG51bWJlciBvZiB3b3JkcworICAgICAgICAjIGlzIHRoZXJlLCBhbmQgcmV0dXJuIHRoZSByZWxldmFudCB3b3Jkcy4gICdhY3Rpb24nIGlzIGFsd2F5cworICAgICAgICAjIGRlZmluZWQ6IGl0J3MgdGhlIGZpcnN0IHdvcmQgb2YgdGhlIGxpbmUuICBXaGljaCBvZiB0aGUgb3RoZXIKKyAgICAgICAgIyB0aHJlZSBhcmUgZGVmaW5lZCBkZXBlbmRzIG9uIHRoZSBhY3Rpb247IGl0J2xsIGJlIGVpdGhlcgorICAgICAgICAjIHBhdHRlcm5zLCAoZGlyIGFuZCBwYXR0ZXJucyksIG9yIChkaXJfcGF0dGVybikuCisgICAgICAgIGFjdGlvbiwgcGF0dGVybnMsIGRpciwgZGlyX3BhdHRlcm4gPSBzZWxmLl9wYXJzZV90ZW1wbGF0ZV9saW5lKGxpbmUpCisKKyAgICAgICAgIyBPSywgbm93IHdlIGtub3cgdGhhdCB0aGUgYWN0aW9uIGlzIHZhbGlkIGFuZCB3ZSBoYXZlIHRoZQorICAgICAgICAjIHJpZ2h0IG51bWJlciBvZiB3b3JkcyBvbiB0aGUgbGluZSBmb3IgdGhhdCBhY3Rpb24gLS0gc28gd2UKKyAgICAgICAgIyBjYW4gcHJvY2VlZCB3aXRoIG1pbmltYWwgZXJyb3ItY2hlY2tpbmcuCisgICAgICAgIGlmIGFjdGlvbiA9PSAnaW5jbHVkZSc6CisgICAgICAgICAgICBmb3IgcGF0dGVybiBpbiBwYXR0ZXJuczoKKyAgICAgICAgICAgICAgICBpZiBub3Qgc2VsZi5faW5jbHVkZV9wYXR0ZXJuKHBhdHRlcm4sIGFuY2hvcj1UcnVlKToKKyAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoIm5vIGZpbGVzIGZvdW5kIG1hdGNoaW5nICVyIiwgcGF0dGVybikKKworICAgICAgICBlbGlmIGFjdGlvbiA9PSAnZXhjbHVkZSc6CisgICAgICAgICAgICBmb3IgcGF0dGVybiBpbiBwYXR0ZXJuczoKKyAgICAgICAgICAgICAgICBpZiBub3Qgc2VsZi5leGNsdWRlX3BhdHRlcm4ocGF0dGVybiwgYW5jaG9yPVRydWUpOgorICAgICAgICAgICAgICAgICAgICBsb2dnZXIud2FybmluZygibm8gcHJldmlvdXNseS1pbmNsdWRlZCBmaWxlcyAiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJmb3VuZCBtYXRjaGluZyAlciIsIHBhdHRlcm4pCisKKyAgICAgICAgZWxpZiBhY3Rpb24gPT0gJ2dsb2JhbC1pbmNsdWRlJzoKKyAgICAgICAgICAgIGZvciBwYXR0ZXJuIGluIHBhdHRlcm5zOgorICAgICAgICAgICAgICAgIGlmIG5vdCBzZWxmLl9pbmNsdWRlX3BhdHRlcm4ocGF0dGVybiwgYW5jaG9yPUZhbHNlKToKKyAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoIm5vIGZpbGVzIGZvdW5kIG1hdGNoaW5nICVyICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFueXdoZXJlIGluIGRpc3RyaWJ1dGlvbiIsIHBhdHRlcm4pCisKKyAgICAgICAgZWxpZiBhY3Rpb24gPT0gJ2dsb2JhbC1leGNsdWRlJzoKKyAgICAgICAgICAgIGZvciBwYXR0ZXJuIGluIHBhdHRlcm5zOgorICAgICAgICAgICAgICAgIGlmIG5vdCBzZWxmLmV4Y2x1ZGVfcGF0dGVybihwYXR0ZXJuLCBhbmNob3I9RmFsc2UpOgorICAgICAgICAgICAgICAgICAgICBsb2dnZXIud2FybmluZygibm8gcHJldmlvdXNseS1pbmNsdWRlZCBmaWxlcyAiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtYXRjaGluZyAlciBmb3VuZCBhbnl3aGVyZSBpbiAiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkaXN0cmlidXRpb24iLCBwYXR0ZXJuKQorCisgICAgICAgIGVsaWYgYWN0aW9uID09ICdyZWN1cnNpdmUtaW5jbHVkZSc6CisgICAgICAgICAgICBmb3IgcGF0dGVybiBpbiBwYXR0ZXJuczoKKyAgICAgICAgICAgICAgICBpZiBub3Qgc2VsZi5faW5jbHVkZV9wYXR0ZXJuKHBhdHRlcm4sIHByZWZpeD1kaXIpOgorICAgICAgICAgICAgICAgICAgICBsb2dnZXIud2FybmluZygibm8gZmlsZXMgZm91bmQgbWF0Y2hpbmcgJXIgIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5kZXIgZGlyZWN0b3J5ICVyIiwgcGF0dGVybiwgZGlyKQorCisgICAgICAgIGVsaWYgYWN0aW9uID09ICdyZWN1cnNpdmUtZXhjbHVkZSc6CisgICAgICAgICAgICBmb3IgcGF0dGVybiBpbiBwYXR0ZXJuczoKKyAgICAgICAgICAgICAgICBpZiBub3Qgc2VsZi5leGNsdWRlX3BhdHRlcm4ocGF0dGVybiwgcHJlZml4PWRpcik6CisgICAgICAgICAgICAgICAgICAgIGxvZ2dlci53YXJuaW5nKCJubyBwcmV2aW91c2x5LWluY2x1ZGVkIGZpbGVzICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1hdGNoaW5nICVyIGZvdW5kIHVuZGVyIGRpcmVjdG9yeSAlciIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdHRlcm4sIGRpcikKKworICAgICAgICBlbGlmIGFjdGlvbiA9PSAnZ3JhZnQnOgorICAgICAgICAgICAgaWYgbm90IHNlbGYuX2luY2x1ZGVfcGF0dGVybihOb25lLCBwcmVmaXg9ZGlyX3BhdHRlcm4pOgorICAgICAgICAgICAgICAgIGxvZ2dlci53YXJuaW5nKCJubyBkaXJlY3RvcmllcyBmb3VuZCBtYXRjaGluZyAlciIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlyX3BhdHRlcm4pCisKKyAgICAgICAgZWxpZiBhY3Rpb24gPT0gJ3BydW5lJzoKKyAgICAgICAgICAgIGlmIG5vdCBzZWxmLmV4Y2x1ZGVfcGF0dGVybihOb25lLCBwcmVmaXg9ZGlyX3BhdHRlcm4pOgorICAgICAgICAgICAgICAgIGxvZ2dlci53YXJuaW5nKCJubyBwcmV2aW91c2x5LWluY2x1ZGVkIGRpcmVjdG9yaWVzIGZvdW5kICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWF0Y2hpbmcgJXIiLCBkaXJfcGF0dGVybikKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJhaXNlIFBhY2thZ2luZ0ludGVybmFsRXJyb3IoCisgICAgICAgICAgICAgICAgInRoaXMgY2Fubm90IGhhcHBlbjogaW52YWxpZCBhY3Rpb24gJXIiICUgYWN0aW9uKQorCisgICAgZGVmIF9pbmNsdWRlX3BhdHRlcm4oc2VsZiwgcGF0dGVybiwgYW5jaG9yPVRydWUsIHByZWZpeD1Ob25lLAorICAgICAgICAgICAgICAgICAgICAgICAgIGlzX3JlZ2V4PUZhbHNlKToKKyAgICAgICAgIiIiU2VsZWN0IHN0cmluZ3MgKHByZXN1bWFibHkgZmlsZW5hbWVzKSBmcm9tICdzZWxmLmZpbGVzJyB0aGF0CisgICAgICAgIG1hdGNoICdwYXR0ZXJuJywgYSBVbml4LXN0eWxlIHdpbGRjYXJkIChnbG9iKSBwYXR0ZXJuLgorCisgICAgICAgIFBhdHRlcm5zIGFyZSBub3QgcXVpdGUgdGhlIHNhbWUgYXMgaW1wbGVtZW50ZWQgYnkgdGhlICdmbm1hdGNoJworICAgICAgICBtb2R1bGU6ICcqJyBhbmQgJz8nICBtYXRjaCBub24tc3BlY2lhbCBjaGFyYWN0ZXJzLCB3aGVyZSAic3BlY2lhbCIKKyAgICAgICAgaXMgcGxhdGZvcm0tZGVwZW5kZW50OiBzbGFzaCBvbiBVbml4OyBjb2xvbiwgc2xhc2gsIGFuZCBiYWNrc2xhc2ggb24KKyAgICAgICAgRE9TL1dpbmRvd3M7IGFuZCBjb2xvbiBvbiBNYWMgT1MuCisKKyAgICAgICAgSWYgJ2FuY2hvcicgaXMgdHJ1ZSAodGhlIGRlZmF1bHQpLCB0aGVuIHRoZSBwYXR0ZXJuIG1hdGNoIGlzIG1vcmUKKyAgICAgICAgc3RyaW5nZW50OiAiKi5weSIgd2lsbCBtYXRjaCAiZm9vLnB5IiBidXQgbm90ICJmb28vYmFyLnB5Ii4gIElmCisgICAgICAgICdhbmNob3InIGlzIGZhbHNlLCBib3RoIG9mIHRoZXNlIHdpbGwgbWF0Y2guCisKKyAgICAgICAgSWYgJ3ByZWZpeCcgaXMgc3VwcGxpZWQsIHRoZW4gb25seSBmaWxlbmFtZXMgc3RhcnRpbmcgd2l0aCAncHJlZml4JworICAgICAgICAoaXRzZWxmIGEgcGF0dGVybikgYW5kIGVuZGluZyB3aXRoICdwYXR0ZXJuJywgd2l0aCBhbnl0aGluZyBpbiBiZXR3ZWVuCisgICAgICAgIHRoZW0sIHdpbGwgbWF0Y2guICAnYW5jaG9yJyBpcyBpZ25vcmVkIGluIHRoaXMgY2FzZS4KKworICAgICAgICBJZiAnaXNfcmVnZXgnIGlzIHRydWUsICdhbmNob3InIGFuZCAncHJlZml4JyBhcmUgaWdub3JlZCwgYW5kCisgICAgICAgICdwYXR0ZXJuJyBpcyBhc3N1bWVkIHRvIGJlIGVpdGhlciBhIHN0cmluZyBjb250YWluaW5nIGEgcmVnZXggb3IgYQorICAgICAgICByZWdleCBvYmplY3QgLS0gbm8gdHJhbnNsYXRpb24gaXMgZG9uZSwgdGhlIHJlZ2V4IGlzIGp1c3QgY29tcGlsZWQKKyAgICAgICAgYW5kIHVzZWQgYXMtaXMuCisKKyAgICAgICAgU2VsZWN0ZWQgc3RyaW5ncyB3aWxsIGJlIGFkZGVkIHRvIHNlbGYuZmlsZXMuCisKKyAgICAgICAgUmV0dXJuIFRydWUgaWYgZmlsZXMgYXJlIGZvdW5kLgorICAgICAgICAiIiIKKyAgICAgICAgIyBYWFggZG9jc3RyaW5nIGx5aW5nIGFib3V0IHdoYXQgdGhlIHNwZWNpYWwgY2hhcnMgYXJlPworICAgICAgICBmaWxlc19mb3VuZCA9IEZhbHNlCisgICAgICAgIHBhdHRlcm5fcmUgPSBfdHJhbnNsYXRlX3BhdHRlcm4ocGF0dGVybiwgYW5jaG9yLCBwcmVmaXgsIGlzX3JlZ2V4KQorCisgICAgICAgICMgZGVsYXllZCBsb2FkaW5nIG9mIGFsbGZpbGVzIGxpc3QKKyAgICAgICAgaWYgc2VsZi5hbGxmaWxlcyBpcyBOb25lOgorICAgICAgICAgICAgc2VsZi5maW5kYWxsKCkKKworICAgICAgICBmb3IgbmFtZSBpbiBzZWxmLmFsbGZpbGVzOgorICAgICAgICAgICAgaWYgcGF0dGVybl9yZS5zZWFyY2gobmFtZSk6CisgICAgICAgICAgICAgICAgc2VsZi5maWxlcy5hcHBlbmQobmFtZSkKKyAgICAgICAgICAgICAgICBmaWxlc19mb3VuZCA9IFRydWUKKworICAgICAgICByZXR1cm4gZmlsZXNfZm91bmQKKworCisjCisjIFV0aWxpdHkgZnVuY3Rpb25zCisjCitkZWYgX2ZpbmRhbGwoZGlyPW9zLmN1cmRpcik6CisgICAgIiIiRmluZCBhbGwgZmlsZXMgdW5kZXIgJ2RpcicgYW5kIHJldHVybiB0aGUgbGlzdCBvZiBmdWxsIGZpbGVuYW1lcworICAgIChyZWxhdGl2ZSB0byAnZGlyJykuCisgICAgIiIiCisgICAgZnJvbSBzdGF0IGltcG9ydCBTX0lTUkVHLCBTX0lTRElSLCBTX0lTTE5LCisKKyAgICBsaXN0ID0gW10KKyAgICBzdGFjayA9IFtkaXJdCisgICAgcG9wID0gc3RhY2sucG9wCisgICAgcHVzaCA9IHN0YWNrLmFwcGVuZAorCisgICAgd2hpbGUgc3RhY2s6CisgICAgICAgIGRpciA9IHBvcCgpCisgICAgICAgIG5hbWVzID0gb3MubGlzdGRpcihkaXIpCisKKyAgICAgICAgZm9yIG5hbWUgaW4gbmFtZXM6CisgICAgICAgICAgICBpZiBkaXIgIT0gb3MuY3VyZGlyOiAgICAgICAgIyBhdm9pZCB0aGUgZHJlYWRlZCAiLi8iIHN5bmRyb21lCisgICAgICAgICAgICAgICAgZnVsbG5hbWUgPSBvcy5wYXRoLmpvaW4oZGlyLCBuYW1lKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBmdWxsbmFtZSA9IG5hbWUKKworICAgICAgICAgICAgIyBBdm9pZCBleGNlc3Mgc3RhdCBjYWxscyAtLSBqdXN0IG9uZSB3aWxsIGRvLCB0aGFuayB5b3UhCisgICAgICAgICAgICBzdGF0ID0gb3Muc3RhdChmdWxsbmFtZSkKKyAgICAgICAgICAgIG1vZGUgPSBzdGF0LnN0X21vZGUKKyAgICAgICAgICAgIGlmIFNfSVNSRUcobW9kZSk6CisgICAgICAgICAgICAgICAgbGlzdC5hcHBlbmQoZnVsbG5hbWUpCisgICAgICAgICAgICBlbGlmIFNfSVNESVIobW9kZSkgYW5kIG5vdCBTX0lTTE5LKG1vZGUpOgorICAgICAgICAgICAgICAgIHB1c2goZnVsbG5hbWUpCisKKyAgICByZXR1cm4gbGlzdAorCisKK2RlZiBfZ2xvYl90b19yZShwYXR0ZXJuKToKKyAgICAiIiJUcmFuc2xhdGUgYSBzaGVsbC1saWtlIGdsb2IgcGF0dGVybiB0byBhIHJlZ3VsYXIgZXhwcmVzc2lvbi4KKworICAgIFJldHVybiBhIHN0cmluZyBjb250YWluaW5nIHRoZSByZWdleC4gIERpZmZlcnMgZnJvbQorICAgICdmbm1hdGNoLnRyYW5zbGF0ZSgpJyBpbiB0aGF0ICcqJyBkb2VzIG5vdCBtYXRjaCAic3BlY2lhbCBjaGFyYWN0ZXJzIgorICAgICh3aGljaCBhcmUgcGxhdGZvcm0tc3BlY2lmaWMpLgorICAgICIiIgorICAgIHBhdHRlcm5fcmUgPSBmbm1hdGNoLnRyYW5zbGF0ZShwYXR0ZXJuKQorCisgICAgIyAnPycgYW5kICcqJyBpbiB0aGUgZ2xvYiBwYXR0ZXJuIGJlY29tZSAnLicgYW5kICcuKicgaW4gdGhlIFJFLCB3aGljaAorICAgICMgSU1ITyBpcyB3cm9uZyAtLSAnPycgYW5kICcqJyBhcmVuJ3Qgc3VwcG9zZWQgdG8gbWF0Y2ggc2xhc2ggaW4gVW5peCwKKyAgICAjIGFuZCBieSBleHRlbnNpb24gdGhleSBzaG91bGRuJ3QgbWF0Y2ggc3VjaCAic3BlY2lhbCBjaGFyYWN0ZXJzIiB1bmRlcgorICAgICMgYW55IE9TLiAgU28gY2hhbmdlIGFsbCBub24tZXNjYXBlZCBkb3RzIGluIHRoZSBSRSB0byBtYXRjaCBhbnkKKyAgICAjIGNoYXJhY3RlciBleGNlcHQgdGhlIHNwZWNpYWwgY2hhcmFjdGVycyAoY3VycmVudGx5OiBqdXN0IG9zLnNlcCkuCisgICAgc2VwID0gb3Muc2VwCisgICAgaWYgb3Muc2VwID09ICdcXCc6CisgICAgICAgICMgd2UncmUgdXNpbmcgYSByZWdleCB0byBtYW5pcHVsYXRlIGEgcmVnZXgsIHNvIHdlIG5lZWQKKyAgICAgICAgIyB0byBlc2NhcGUgdGhlIGJhY2tzbGFzaCB0d2ljZQorICAgICAgICBzZXAgPSByJ1xcXFwnCisgICAgZXNjYXBlZCA9IHInXDFbXiVzXScgJSBzZXAKKyAgICBwYXR0ZXJuX3JlID0gcmUuc3ViKHInKCg/PCFcXCkoXFxcXCkqKVwuJywgZXNjYXBlZCwgcGF0dGVybl9yZSkKKyAgICByZXR1cm4gcGF0dGVybl9yZQorCisKK2RlZiBfdHJhbnNsYXRlX3BhdHRlcm4ocGF0dGVybiwgYW5jaG9yPVRydWUsIHByZWZpeD1Ob25lLCBpc19yZWdleD1GYWxzZSk6CisgICAgIiIiVHJhbnNsYXRlIGEgc2hlbGwtbGlrZSB3aWxkY2FyZCBwYXR0ZXJuIHRvIGEgY29tcGlsZWQgcmVndWxhcgorICAgIGV4cHJlc3Npb24uCisKKyAgICBSZXR1cm4gdGhlIGNvbXBpbGVkIHJlZ2V4LiAgSWYgJ2lzX3JlZ2V4JyB0cnVlLAorICAgIHRoZW4gJ3BhdHRlcm4nIGlzIGRpcmVjdGx5IGNvbXBpbGVkIHRvIGEgcmVnZXggKGlmIGl0J3MgYSBzdHJpbmcpCisgICAgb3IganVzdCByZXR1cm5lZCBhcy1pcyAoYXNzdW1lcyBpdCdzIGEgcmVnZXggb2JqZWN0KS4KKyAgICAiIiIKKyAgICBpZiBpc19yZWdleDoKKyAgICAgICAgaWYgaXNpbnN0YW5jZShwYXR0ZXJuLCBzdHIpOgorICAgICAgICAgICAgcmV0dXJuIHJlLmNvbXBpbGUocGF0dGVybikKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJldHVybiBwYXR0ZXJuCisKKyAgICBpZiBwYXR0ZXJuOgorICAgICAgICBwYXR0ZXJuX3JlID0gX2dsb2JfdG9fcmUocGF0dGVybikKKyAgICBlbHNlOgorICAgICAgICBwYXR0ZXJuX3JlID0gJycKKworICAgIGlmIHByZWZpeCBpcyBub3QgTm9uZToKKyAgICAgICAgIyBkaXRjaCBlbmQgb2YgcGF0dGVybiBjaGFyYWN0ZXIKKyAgICAgICAgZW1wdHlfcGF0dGVybiA9IF9nbG9iX3RvX3JlKCcnKQorICAgICAgICBwcmVmaXhfcmUgPSBfZ2xvYl90b19yZShwcmVmaXgpWzotbGVuKGVtcHR5X3BhdHRlcm4pXQorICAgICAgICBzZXAgPSBvcy5zZXAKKyAgICAgICAgaWYgb3Muc2VwID09ICdcXCc6CisgICAgICAgICAgICBzZXAgPSByJ1xcJworICAgICAgICBwYXR0ZXJuX3JlID0gIl4iICsgc2VwLmpvaW4oKHByZWZpeF9yZSwgIi4qIiArIHBhdHRlcm5fcmUpKQorICAgIGVsc2U6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgbm8gcHJlZml4IC0tIHJlc3BlY3QgYW5jaG9yIGZsYWcKKyAgICAgICAgaWYgYW5jaG9yOgorICAgICAgICAgICAgcGF0dGVybl9yZSA9ICJeIiArIHBhdHRlcm5fcmUKKworICAgIHJldHVybiByZS5jb21waWxlKHBhdHRlcm5fcmUpCmRpZmYgLS1naXQgYS9MaWIvcGFja2FnaW5nL21hcmtlcnMucHkgYi9MaWIvcGFja2FnaW5nL21hcmtlcnMucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjNmZGMxOQotLS0gL2Rldi9udWxsCisrKyBiL0xpYi9wYWNrYWdpbmcvbWFya2Vycy5weQpAQCAtMCwwICsxLDE4OSBAQAorIiIiUGFyc2VyIGZvciB0aGUgZW52aXJvbm1lbnQgbWFya2VycyBtaWNyby1sYW5ndWFnZSBkZWZpbmVkIGluIFBFUCAzNDUuIiIiCisKK2ltcG9ydCBvcworaW1wb3J0IHN5cworaW1wb3J0IHBsYXRmb3JtCitmcm9tIGlvIGltcG9ydCBCeXRlc0lPCitmcm9tIHRva2VuaXplIGltcG9ydCB0b2tlbml6ZSwgTkFNRSwgT1AsIFNUUklORywgRU5ETUFSS0VSLCBFTkNPRElORworCitfX2FsbF9fID0gWydpbnRlcnByZXQnXQorCisKKyMgYWxsb3dlZCBvcGVyYXRvcnMKK19PUEVSQVRPUlMgPSB7Jz09JzogbGFtYmRhIHgsIHk6IHggPT0geSwKKyAgICAgICAgICAgICAgJyE9JzogbGFtYmRhIHgsIHk6IHggIT0geSwKKyAgICAgICAgICAgICAgJz4nOiBsYW1iZGEgeCwgeTogeCA+IHksCisgICAgICAgICAgICAgICc+PSc6IGxhbWJkYSB4LCB5OiB4ID49IHksCisgICAgICAgICAgICAgICc8JzogbGFtYmRhIHgsIHk6IHggPCB5LAorICAgICAgICAgICAgICAnPD0nOiBsYW1iZGEgeCwgeTogeCA8PSB5LAorICAgICAgICAgICAgICAnaW4nOiBsYW1iZGEgeCwgeTogeCBpbiB5LAorICAgICAgICAgICAgICAnbm90IGluJzogbGFtYmRhIHgsIHk6IHggbm90IGluIHl9CisKKworZGVmIF9vcGVyYXRlKG9wZXJhdGlvbiwgeCwgeSk6CisgICAgcmV0dXJuIF9PUEVSQVRPUlNbb3BlcmF0aW9uXSh4LCB5KQorCisKKyMgcmVzdHJpY3RlZCBzZXQgb2YgdmFyaWFibGVzCitfVkFSUyA9IHsnc3lzLnBsYXRmb3JtJzogc3lzLnBsYXRmb3JtLAorICAgICAgICAgJ3B5dGhvbl92ZXJzaW9uJzogJyVzLiVzJyAlIHN5cy52ZXJzaW9uX2luZm9bOjJdLAorICAgICAgICAgIyBGSVhNRSBwYXJzaW5nIHN5cy5wbGF0Zm9ybSBpcyBub3QgcmVsaWFibGUsIGJ1dCB0aGVyZSBpcyBubyBvdGhlcgorICAgICAgICAgIyB3YXkgdG8gZ2V0IGUuZy4gMi43LjIrLCBhbmQgdGhlIFBFUCBpcyBkZWZpbmVkIHdpdGggc3lzLnZlcnNpb24KKyAgICAgICAgICdweXRob25fZnVsbF92ZXJzaW9uJzogc3lzLnZlcnNpb24uc3BsaXQoJyAnLCAxKVswXSwKKyAgICAgICAgICdvcy5uYW1lJzogb3MubmFtZSwKKyAgICAgICAgICdwbGF0Zm9ybS52ZXJzaW9uJzogcGxhdGZvcm0udmVyc2lvbigpLAorICAgICAgICAgJ3BsYXRmb3JtLm1hY2hpbmUnOiBwbGF0Zm9ybS5tYWNoaW5lKCksCisgICAgICAgICAncGxhdGZvcm0ucHl0aG9uX2ltcGxlbWVudGF0aW9uJzogcGxhdGZvcm0ucHl0aG9uX2ltcGxlbWVudGF0aW9uKCksCisgICAgICAgIH0KKworCitjbGFzcyBfT3BlcmF0aW9uOgorCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGV4ZWN1dGlvbl9jb250ZXh0PU5vbmUpOgorICAgICAgICBzZWxmLmxlZnQgPSBOb25lCisgICAgICAgIHNlbGYub3AgPSBOb25lCisgICAgICAgIHNlbGYucmlnaHQgPSBOb25lCisgICAgICAgIGlmIGV4ZWN1dGlvbl9jb250ZXh0IGlzIE5vbmU6CisgICAgICAgICAgICBleGVjdXRpb25fY29udGV4dCA9IHt9CisgICAgICAgIHNlbGYuZXhlY3V0aW9uX2NvbnRleHQgPSBleGVjdXRpb25fY29udGV4dAorCisgICAgZGVmIF9nZXRfdmFyKHNlbGYsIG5hbWUpOgorICAgICAgICBpZiBuYW1lIGluIHNlbGYuZXhlY3V0aW9uX2NvbnRleHQ6CisgICAgICAgICAgICByZXR1cm4gc2VsZi5leGVjdXRpb25fY29udGV4dFtuYW1lXQorICAgICAgICByZXR1cm4gX1ZBUlNbbmFtZV0KKworICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKKyAgICAgICAgcmV0dXJuICclcyAlcyAlcycgJSAoc2VsZi5sZWZ0LCBzZWxmLm9wLCBzZWxmLnJpZ2h0KQorCisgICAgZGVmIF9pc19zdHJpbmcoc2VsZiwgdmFsdWUpOgorICAgICAgICBpZiB2YWx1ZSBpcyBOb25lIG9yIGxlbih2YWx1ZSkgPCAyOgorICAgICAgICAgICAgcmV0dXJuIEZhbHNlCisgICAgICAgIGZvciBkZWxpbWl0ZXIgaW4gJyJcJyc6CisgICAgICAgICAgICBpZiB2YWx1ZVswXSA9PSB2YWx1ZVstMV0gPT0gZGVsaW1pdGVyOgorICAgICAgICAgICAgICAgIHJldHVybiBUcnVlCisgICAgICAgIHJldHVybiBGYWxzZQorCisgICAgZGVmIF9pc19uYW1lKHNlbGYsIHZhbHVlKToKKyAgICAgICAgcmV0dXJuIHZhbHVlIGluIF9WQVJTCisKKyAgICBkZWYgX2NvbnZlcnQoc2VsZiwgdmFsdWUpOgorICAgICAgICBpZiB2YWx1ZSBpbiBfVkFSUzoKKyAgICAgICAgICAgIHJldHVybiBzZWxmLl9nZXRfdmFyKHZhbHVlKQorICAgICAgICByZXR1cm4gdmFsdWUuc3RyaXAoJyJcJycpCisKKyAgICBkZWYgX2NoZWNrX25hbWUoc2VsZiwgdmFsdWUpOgorICAgICAgICBpZiB2YWx1ZSBub3QgaW4gX1ZBUlM6CisgICAgICAgICAgICByYWlzZSBOYW1lRXJyb3IodmFsdWUpCisKKyAgICBkZWYgX25vbnNlbnNlX29wKHNlbGYpOgorICAgICAgICBtc2cgPSAnVGhpcyBvcGVyYXRpb24gaXMgbm90IHN1cHBvcnRlZCA6ICIlcyInICUgc2VsZgorICAgICAgICByYWlzZSBTeW50YXhFcnJvcihtc2cpCisKKyAgICBkZWYgX19jYWxsX18oc2VsZik6CisgICAgICAgICMgbWFrZSBzdXJlIHdlIGRvIHNvbWV0aGluZyB1c2VmdWwKKyAgICAgICAgaWYgc2VsZi5faXNfc3RyaW5nKHNlbGYubGVmdCk6CisgICAgICAgICAgICBpZiBzZWxmLl9pc19zdHJpbmcoc2VsZi5yaWdodCk6CisgICAgICAgICAgICAgICAgc2VsZi5fbm9uc2Vuc2Vfb3AoKQorICAgICAgICAgICAgc2VsZi5fY2hlY2tfbmFtZShzZWxmLnJpZ2h0KQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgaWYgbm90IHNlbGYuX2lzX3N0cmluZyhzZWxmLnJpZ2h0KToKKyAgICAgICAgICAgICAgICBzZWxmLl9ub25zZW5zZV9vcCgpCisgICAgICAgICAgICBzZWxmLl9jaGVja19uYW1lKHNlbGYubGVmdCkKKworICAgICAgICBpZiBzZWxmLm9wIG5vdCBpbiBfT1BFUkFUT1JTOgorICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCdPcGVyYXRvciBub3Qgc3VwcG9ydGVkICIlcyInICUgc2VsZi5vcCkKKworICAgICAgICBsZWZ0ID0gc2VsZi5fY29udmVydChzZWxmLmxlZnQpCisgICAgICAgIHJpZ2h0ID0gc2VsZi5fY29udmVydChzZWxmLnJpZ2h0KQorICAgICAgICByZXR1cm4gX29wZXJhdGUoc2VsZi5vcCwgbGVmdCwgcmlnaHQpCisKKworY2xhc3MgX09SOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBsZWZ0LCByaWdodD1Ob25lKToKKyAgICAgICAgc2VsZi5sZWZ0ID0gbGVmdAorICAgICAgICBzZWxmLnJpZ2h0ID0gcmlnaHQKKworICAgIGRlZiBmaWxsZWQoc2VsZik6CisgICAgICAgIHJldHVybiBzZWxmLnJpZ2h0IGlzIG5vdCBOb25lCisKKyAgICBkZWYgX19yZXByX18oc2VsZik6CisgICAgICAgIHJldHVybiAnT1IoJXIsICVyKScgJSAoc2VsZi5sZWZ0LCBzZWxmLnJpZ2h0KQorCisgICAgZGVmIF9fY2FsbF9fKHNlbGYpOgorICAgICAgICByZXR1cm4gc2VsZi5sZWZ0KCkgb3Igc2VsZi5yaWdodCgpCisKKworY2xhc3MgX0FORDoKKyAgICBkZWYgX19pbml0X18oc2VsZiwgbGVmdCwgcmlnaHQ9Tm9uZSk6CisgICAgICAgIHNlbGYubGVmdCA9IGxlZnQKKyAgICAgICAgc2VsZi5yaWdodCA9IHJpZ2h0CisKKyAgICBkZWYgZmlsbGVkKHNlbGYpOgorICAgICAgICByZXR1cm4gc2VsZi5yaWdodCBpcyBub3QgTm9uZQorCisgICAgZGVmIF9fcmVwcl9fKHNlbGYpOgorICAgICAgICByZXR1cm4gJ0FORCglciwgJXIpJyAlIChzZWxmLmxlZnQsIHNlbGYucmlnaHQpCisKKyAgICBkZWYgX19jYWxsX18oc2VsZik6CisgICAgICAgIHJldHVybiBzZWxmLmxlZnQoKSBhbmQgc2VsZi5yaWdodCgpCisKKworZGVmIGludGVycHJldChtYXJrZXIsIGV4ZWN1dGlvbl9jb250ZXh0PU5vbmUpOgorICAgICIiIkludGVycHJldCBhIG1hcmtlciBhbmQgcmV0dXJuIGEgcmVzdWx0IGRlcGVuZGluZyBvbiBlbnZpcm9ubWVudC4iIiIKKyAgICBtYXJrZXIgPSBtYXJrZXIuc3RyaXAoKS5lbmNvZGUoKQorICAgIG9wcyA9IFtdCisgICAgb3Bfc3RhcnRpbmcgPSBUcnVlCisgICAgZm9yIHRva2VuIGluIHRva2VuaXplKEJ5dGVzSU8obWFya2VyKS5yZWFkbGluZSk6CisgICAgICAgICMgVW5wYWNrIHRva2VuCisgICAgICAgIHRva3R5cGUsIHRva3ZhbCwgcm93Y29sLCBsaW5lLCBsb2dpY2FsX2xpbmUgPSB0b2tlbgorICAgICAgICBpZiB0b2t0eXBlIG5vdCBpbiAoTkFNRSwgT1AsIFNUUklORywgRU5ETUFSS0VSLCBFTkNPRElORyk6CisgICAgICAgICAgICByYWlzZSBTeW50YXhFcnJvcignVHlwZSBub3Qgc3VwcG9ydGVkICIlcyInICUgdG9rdmFsKQorCisgICAgICAgIGlmIG9wX3N0YXJ0aW5nOgorICAgICAgICAgICAgb3AgPSBfT3BlcmF0aW9uKGV4ZWN1dGlvbl9jb250ZXh0KQorICAgICAgICAgICAgaWYgbGVuKG9wcykgPiAwOgorICAgICAgICAgICAgICAgIGxhc3QgPSBvcHNbLTFdCisgICAgICAgICAgICAgICAgaWYgaXNpbnN0YW5jZShsYXN0LCAoX09SLCBfQU5EKSkgYW5kIG5vdCBsYXN0LmZpbGxlZCgpOgorICAgICAgICAgICAgICAgICAgICBsYXN0LnJpZ2h0ID0gb3AKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICBvcHMuYXBwZW5kKG9wKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBvcHMuYXBwZW5kKG9wKQorICAgICAgICAgICAgb3Bfc3RhcnRpbmcgPSBGYWxzZQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgb3AgPSBvcHNbLTFdCisKKyAgICAgICAgaWYgKHRva3R5cGUgPT0gRU5ETUFSS0VSIG9yCisgICAgICAgICAgICAodG9rdHlwZSA9PSBOQU1FIGFuZCB0b2t2YWwgaW4gKCdhbmQnLCAnb3InKSkpOgorICAgICAgICAgICAgaWYgdG9rdHlwZSA9PSBOQU1FIGFuZCB0b2t2YWwgPT0gJ2FuZCc6CisgICAgICAgICAgICAgICAgb3BzLmFwcGVuZChfQU5EKG9wcy5wb3AoKSkpCisgICAgICAgICAgICBlbGlmIHRva3R5cGUgPT0gTkFNRSBhbmQgdG9rdmFsID09ICdvcic6CisgICAgICAgICAgICAgICAgb3BzLmFwcGVuZChfT1Iob3BzLnBvcCgpKSkKKyAgICAgICAgICAgIG9wX3N0YXJ0aW5nID0gVHJ1ZQorICAgICAgICAgICAgY29udGludWUKKworICAgICAgICBpZiBpc2luc3RhbmNlKG9wLCAoX09SLCBfQU5EKSkgYW5kIG9wLnJpZ2h0IGlzIG5vdCBOb25lOgorICAgICAgICAgICAgb3AgPSBvcC5yaWdodAorCisgICAgICAgIGlmICgodG9rdHlwZSBpbiAoTkFNRSwgU1RSSU5HKSBhbmQgdG9rdmFsIG5vdCBpbiAoJ2luJywgJ25vdCcpKQorICAgICAgICAgICAgb3IgKHRva3R5cGUgPT0gT1AgYW5kIHRva3ZhbCA9PSAnLicpKToKKyAgICAgICAgICAgIGlmIG9wLm9wIGlzIE5vbmU6CisgICAgICAgICAgICAgICAgaWYgb3AubGVmdCBpcyBOb25lOgorICAgICAgICAgICAgICAgICAgICBvcC5sZWZ0ID0gdG9rdmFsCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgb3AubGVmdCArPSB0b2t2YWwKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgaWYgb3AucmlnaHQgaXMgTm9uZToKKyAgICAgICAgICAgICAgICAgICAgb3AucmlnaHQgPSB0b2t2YWwKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICBvcC5yaWdodCArPSB0b2t2YWwKKyAgICAgICAgZWxpZiB0b2t0eXBlID09IE9QIG9yIHRva3ZhbCBpbiAoJ2luJywgJ25vdCcpOgorICAgICAgICAgICAgaWYgdG9rdmFsID09ICdpbicgYW5kIG9wLm9wID09ICdub3QnOgorICAgICAgICAgICAgICAgIG9wLm9wID0gJ25vdCBpbicKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgb3Aub3AgPSB0b2t2YWwKKworICAgIGZvciBvcCBpbiBvcHM6CisgICAgICAgIGlmIG5vdCBvcCgpOgorICAgICAgICAgICAgcmV0dXJuIEZhbHNlCisgICAgcmV0dXJuIFRydWUKZGlmZiAtLWdpdCBhL0xpYi9wYWNrYWdpbmcvbWV0YWRhdGEucHkgYi9MaWIvcGFja2FnaW5nL21ldGFkYXRhLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI5OTNlYmIKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvcGFja2FnaW5nL21ldGFkYXRhLnB5CkBAIC0wLDAgKzEsNTcwIEBACisiIiJJbXBsZW1lbnRhdGlvbiBvZiB0aGUgTWV0YWRhdGEgZm9yIFB5dGhvbiBwYWNrYWdlcyBQRVBzLgorCitTdXBwb3J0cyBhbGwgbWV0YWRhdGEgZm9ybWF0cyAoMS4wLCAxLjEsIDEuMikuCisiIiIKKworaW1wb3J0IHJlCitpbXBvcnQgbG9nZ2luZworCitmcm9tIGlvIGltcG9ydCBTdHJpbmdJTworZnJvbSBlbWFpbCBpbXBvcnQgbWVzc2FnZV9mcm9tX2ZpbGUKK2Zyb20gcGFja2FnaW5nIGltcG9ydCBsb2dnZXIKK2Zyb20gcGFja2FnaW5nLm1hcmtlcnMgaW1wb3J0IGludGVycHJldAorZnJvbSBwYWNrYWdpbmcudmVyc2lvbiBpbXBvcnQgKGlzX3ZhbGlkX3ByZWRpY2F0ZSwgaXNfdmFsaWRfdmVyc2lvbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc192YWxpZF92ZXJzaW9ucykKK2Zyb20gcGFja2FnaW5nLmVycm9ycyBpbXBvcnQgKE1ldGFkYXRhTWlzc2luZ0Vycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWV0YWRhdGFDb25mbGljdEVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWV0YWRhdGFVbnJlY29nbml6ZWRWZXJzaW9uRXJyb3IpCisKK3RyeToKKyAgICAjIGRvY3V0aWxzIGlzIGluc3RhbGxlZAorICAgIGZyb20gZG9jdXRpbHMudXRpbHMgaW1wb3J0IFJlcG9ydGVyCisgICAgZnJvbSBkb2N1dGlscy5wYXJzZXJzLnJzdCBpbXBvcnQgUGFyc2VyCisgICAgZnJvbSBkb2N1dGlscyBpbXBvcnQgZnJvbnRlbmQKKyAgICBmcm9tIGRvY3V0aWxzIGltcG9ydCBub2RlcworCisgICAgY2xhc3MgU2lsZW50UmVwb3J0ZXIoUmVwb3J0ZXIpOgorCisgICAgICAgIGRlZiBfX2luaXRfXyhzZWxmLCBzb3VyY2UsIHJlcG9ydF9sZXZlbCwgaGFsdF9sZXZlbCwgc3RyZWFtPU5vbmUsCisgICAgICAgICAgICAgICAgICAgICBkZWJ1Zz0wLCBlbmNvZGluZz0nYXNjaWknLCBlcnJvcl9oYW5kbGVyPSdyZXBsYWNlJyk6CisgICAgICAgICAgICBzZWxmLm1lc3NhZ2VzID0gW10KKyAgICAgICAgICAgIHN1cGVyKFNpbGVudFJlcG9ydGVyLCBzZWxmKS5fX2luaXRfXygKKyAgICAgICAgICAgICAgICBzb3VyY2UsIHJlcG9ydF9sZXZlbCwgaGFsdF9sZXZlbCwgc3RyZWFtLAorICAgICAgICAgICAgICAgIGRlYnVnLCBlbmNvZGluZywgZXJyb3JfaGFuZGxlcikKKworICAgICAgICBkZWYgc3lzdGVtX21lc3NhZ2Uoc2VsZiwgbGV2ZWwsIG1lc3NhZ2UsICpjaGlsZHJlbiwgKiprd2FyZ3MpOgorICAgICAgICAgICAgc2VsZi5tZXNzYWdlcy5hcHBlbmQoKGxldmVsLCBtZXNzYWdlLCBjaGlsZHJlbiwga3dhcmdzKSkKKworICAgIF9IQVNfRE9DVVRJTFMgPSBUcnVlCitleGNlcHQgSW1wb3J0RXJyb3I6CisgICAgIyBkb2N1dGlscyBpcyBub3QgaW5zdGFsbGVkCisgICAgX0hBU19ET0NVVElMUyA9IEZhbHNlCisKKyMgcHVibGljIEFQSSBvZiB0aGlzIG1vZHVsZQorX19hbGxfXyA9IFsnTWV0YWRhdGEnLCAnUEtHX0lORk9fRU5DT0RJTkcnLCAnUEtHX0lORk9fUFJFRkVSUkVEX1ZFUlNJT04nXQorCisjIEVuY29kaW5nIHVzZWQgZm9yIHRoZSBQS0ctSU5GTyBmaWxlcworUEtHX0lORk9fRU5DT0RJTkcgPSAndXRmLTgnCisKKyMgcHJlZmVycmVkIHZlcnNpb24uIEhvcGVmdWxseSB3aWxsIGJlIGNoYW5nZWQKKyMgdG8gMS4yIG9uY2UgUEVQIDM0NSBpcyBzdXBwb3J0ZWQgZXZlcnl3aGVyZQorUEtHX0lORk9fUFJFRkVSUkVEX1ZFUlNJT04gPSAnMS4wJworCitfTElORV9QUkVGSVggPSByZS5jb21waWxlKCdcbiAgICAgICBcfCcpCitfMjQxX0ZJRUxEUyA9ICgnTWV0YWRhdGEtVmVyc2lvbicsICdOYW1lJywgJ1ZlcnNpb24nLCAnUGxhdGZvcm0nLAorICAgICAgICAgICAgICAgJ1N1bW1hcnknLCAnRGVzY3JpcHRpb24nLAorICAgICAgICAgICAgICAgJ0tleXdvcmRzJywgJ0hvbWUtcGFnZScsICdBdXRob3InLCAnQXV0aG9yLWVtYWlsJywKKyAgICAgICAgICAgICAgICdMaWNlbnNlJykKKworXzMxNF9GSUVMRFMgPSAoJ01ldGFkYXRhLVZlcnNpb24nLCAnTmFtZScsICdWZXJzaW9uJywgJ1BsYXRmb3JtJywKKyAgICAgICAgICAgICAgICdTdXBwb3J0ZWQtUGxhdGZvcm0nLCAnU3VtbWFyeScsICdEZXNjcmlwdGlvbicsCisgICAgICAgICAgICAgICAnS2V5d29yZHMnLCAnSG9tZS1wYWdlJywgJ0F1dGhvcicsICdBdXRob3ItZW1haWwnLAorICAgICAgICAgICAgICAgJ0xpY2Vuc2UnLCAnQ2xhc3NpZmllcicsICdEb3dubG9hZC1VUkwnLCAnT2Jzb2xldGVzJywKKyAgICAgICAgICAgICAgICdQcm92aWRlcycsICdSZXF1aXJlcycpCisKK18zMTRfTUFSS0VSUyA9ICgnT2Jzb2xldGVzJywgJ1Byb3ZpZGVzJywgJ1JlcXVpcmVzJywgJ0NsYXNzaWZpZXInLAorICAgICAgICAgICAgICAgICdEb3dubG9hZC1VUkwnKQorCitfMzQ1X0ZJRUxEUyA9ICgnTWV0YWRhdGEtVmVyc2lvbicsICdOYW1lJywgJ1ZlcnNpb24nLCAnUGxhdGZvcm0nLAorICAgICAgICAgICAgICAgJ1N1cHBvcnRlZC1QbGF0Zm9ybScsICdTdW1tYXJ5JywgJ0Rlc2NyaXB0aW9uJywKKyAgICAgICAgICAgICAgICdLZXl3b3JkcycsICdIb21lLXBhZ2UnLCAnQXV0aG9yJywgJ0F1dGhvci1lbWFpbCcsCisgICAgICAgICAgICAgICAnTWFpbnRhaW5lcicsICdNYWludGFpbmVyLWVtYWlsJywgJ0xpY2Vuc2UnLAorICAgICAgICAgICAgICAgJ0NsYXNzaWZpZXInLCAnRG93bmxvYWQtVVJMJywgJ09ic29sZXRlcy1EaXN0JywKKyAgICAgICAgICAgICAgICdQcm9qZWN0LVVSTCcsICdQcm92aWRlcy1EaXN0JywgJ1JlcXVpcmVzLURpc3QnLAorICAgICAgICAgICAgICAgJ1JlcXVpcmVzLVB5dGhvbicsICdSZXF1aXJlcy1FeHRlcm5hbCcpCisKK18zNDVfTUFSS0VSUyA9ICgnUHJvdmlkZXMtRGlzdCcsICdSZXF1aXJlcy1EaXN0JywgJ1JlcXVpcmVzLVB5dGhvbicsCisgICAgICAgICAgICAgICAgJ09ic29sZXRlcy1EaXN0JywgJ1JlcXVpcmVzLUV4dGVybmFsJywgJ01haW50YWluZXInLAorICAgICAgICAgICAgICAgICdNYWludGFpbmVyLWVtYWlsJywgJ1Byb2plY3QtVVJMJykKKworX0FMTF9GSUVMRFMgPSBzZXQoKQorX0FMTF9GSUVMRFMudXBkYXRlKF8yNDFfRklFTERTKQorX0FMTF9GSUVMRFMudXBkYXRlKF8zMTRfRklFTERTKQorX0FMTF9GSUVMRFMudXBkYXRlKF8zNDVfRklFTERTKQorCisKK2RlZiBfdmVyc2lvbjJmaWVsZGxpc3QodmVyc2lvbik6CisgICAgaWYgdmVyc2lvbiA9PSAnMS4wJzoKKyAgICAgICAgcmV0dXJuIF8yNDFfRklFTERTCisgICAgZWxpZiB2ZXJzaW9uID09ICcxLjEnOgorICAgICAgICByZXR1cm4gXzMxNF9GSUVMRFMKKyAgICBlbGlmIHZlcnNpb24gPT0gJzEuMic6CisgICAgICAgIHJldHVybiBfMzQ1X0ZJRUxEUworICAgIHJhaXNlIE1ldGFkYXRhVW5yZWNvZ25pemVkVmVyc2lvbkVycm9yKHZlcnNpb24pCisKKworZGVmIF9iZXN0X3ZlcnNpb24oZmllbGRzKToKKyAgICAiIiJEZXRlY3QgdGhlIGJlc3QgdmVyc2lvbiBkZXBlbmRpbmcgb24gdGhlIGZpZWxkcyB1c2VkLiIiIgorICAgIGRlZiBfaGFzX21hcmtlcihrZXlzLCBtYXJrZXJzKToKKyAgICAgICAgZm9yIG1hcmtlciBpbiBtYXJrZXJzOgorICAgICAgICAgICAgaWYgbWFya2VyIGluIGtleXM6CisgICAgICAgICAgICAgICAgcmV0dXJuIFRydWUKKyAgICAgICAgcmV0dXJuIEZhbHNlCisKKyAgICBrZXlzID0gbGlzdChmaWVsZHMpCisgICAgcG9zc2libGVfdmVyc2lvbnMgPSBbJzEuMCcsICcxLjEnLCAnMS4yJ10KKworICAgICMgZmlyc3QgbGV0J3MgdHJ5IHRvIHNlZSBpZiBhIGZpZWxkIGlzIG5vdCBwYXJ0IG9mIG9uZSBvZiB0aGUgdmVyc2lvbgorICAgIGZvciBrZXkgaW4ga2V5czoKKyAgICAgICAgaWYga2V5IG5vdCBpbiBfMjQxX0ZJRUxEUyBhbmQgJzEuMCcgaW4gcG9zc2libGVfdmVyc2lvbnM6CisgICAgICAgICAgICBwb3NzaWJsZV92ZXJzaW9ucy5yZW1vdmUoJzEuMCcpCisgICAgICAgIGlmIGtleSBub3QgaW4gXzMxNF9GSUVMRFMgYW5kICcxLjEnIGluIHBvc3NpYmxlX3ZlcnNpb25zOgorICAgICAgICAgICAgcG9zc2libGVfdmVyc2lvbnMucmVtb3ZlKCcxLjEnKQorICAgICAgICBpZiBrZXkgbm90IGluIF8zNDVfRklFTERTIGFuZCAnMS4yJyBpbiBwb3NzaWJsZV92ZXJzaW9uczoKKyAgICAgICAgICAgIHBvc3NpYmxlX3ZlcnNpb25zLnJlbW92ZSgnMS4yJykKKworICAgICMgcG9zc2libGVfdmVyc2lvbiBjb250YWlucyBxdWFsaWZpZWQgdmVyc2lvbnMKKyAgICBpZiBsZW4ocG9zc2libGVfdmVyc2lvbnMpID09IDE6CisgICAgICAgIHJldHVybiBwb3NzaWJsZV92ZXJzaW9uc1swXSAgICMgZm91bmQgIQorICAgIGVsaWYgbGVuKHBvc3NpYmxlX3ZlcnNpb25zKSA9PSAwOgorICAgICAgICByYWlzZSBNZXRhZGF0YUNvbmZsaWN0RXJyb3IoJ1Vua25vd24gbWV0YWRhdGEgc2V0JykKKworICAgICMgbGV0J3Mgc2VlIGlmIG9uZSB1bmlxdWUgbWFya2VyIGlzIGZvdW5kCisgICAgaXNfMV8xID0gJzEuMScgaW4gcG9zc2libGVfdmVyc2lvbnMgYW5kIF9oYXNfbWFya2VyKGtleXMsIF8zMTRfTUFSS0VSUykKKyAgICBpc18xXzIgPSAnMS4yJyBpbiBwb3NzaWJsZV92ZXJzaW9ucyBhbmQgX2hhc19tYXJrZXIoa2V5cywgXzM0NV9NQVJLRVJTKQorICAgIGlmIGlzXzFfMSBhbmQgaXNfMV8yOgorICAgICAgICByYWlzZSBNZXRhZGF0YUNvbmZsaWN0RXJyb3IoJ1lvdSB1c2VkIGluY29tcGF0aWJsZSAxLjEgYW5kIDEuMiBmaWVsZHMnKQorCisgICAgIyB3ZSBoYXZlIHRoZSBjaG9pY2UsIGVpdGhlciAxLjAsIG9yIDEuMgorICAgICMgICAtIDEuMCBoYXMgYSBicm9rZW4gU3VtbWFyeSBmaWVsZCBidXQgd29ya3Mgd2l0aCBhbGwgdG9vbHMKKyAgICAjICAgLSAxLjEgaXMgdG8gYXZvaWQKKyAgICAjICAgLSAxLjIgZml4ZXMgU3VtbWFyeSBidXQgaXMgbm90IHdpZGVzcHJlYWQgeWV0CisgICAgaWYgbm90IGlzXzFfMSBhbmQgbm90IGlzXzFfMjoKKyAgICAgICAgIyB3ZSBjb3VsZG4ndCBmaW5kIGFueSBzcGVjaWZpYyBtYXJrZXIKKyAgICAgICAgaWYgUEtHX0lORk9fUFJFRkVSUkVEX1ZFUlNJT04gaW4gcG9zc2libGVfdmVyc2lvbnM6CisgICAgICAgICAgICByZXR1cm4gUEtHX0lORk9fUFJFRkVSUkVEX1ZFUlNJT04KKyAgICBpZiBpc18xXzE6CisgICAgICAgIHJldHVybiAnMS4xJworCisgICAgIyBkZWZhdWx0IG1hcmtlciB3aGVuIDEuMCBpcyBkaXNxdWFsaWZpZWQKKyAgICByZXR1cm4gJzEuMicKKworCitfQVRUUjJGSUVMRCA9IHsKKyAgICAnbWV0YWRhdGFfdmVyc2lvbic6ICdNZXRhZGF0YS1WZXJzaW9uJywKKyAgICAnbmFtZSc6ICdOYW1lJywKKyAgICAndmVyc2lvbic6ICdWZXJzaW9uJywKKyAgICAncGxhdGZvcm0nOiAnUGxhdGZvcm0nLAorICAgICdzdXBwb3J0ZWRfcGxhdGZvcm0nOiAnU3VwcG9ydGVkLVBsYXRmb3JtJywKKyAgICAnc3VtbWFyeSc6ICdTdW1tYXJ5JywKKyAgICAnZGVzY3JpcHRpb24nOiAnRGVzY3JpcHRpb24nLAorICAgICdrZXl3b3Jkcyc6ICdLZXl3b3JkcycsCisgICAgJ2hvbWVfcGFnZSc6ICdIb21lLXBhZ2UnLAorICAgICdhdXRob3InOiAnQXV0aG9yJywKKyAgICAnYXV0aG9yX2VtYWlsJzogJ0F1dGhvci1lbWFpbCcsCisgICAgJ21haW50YWluZXInOiAnTWFpbnRhaW5lcicsCisgICAgJ21haW50YWluZXJfZW1haWwnOiAnTWFpbnRhaW5lci1lbWFpbCcsCisgICAgJ2xpY2Vuc2UnOiAnTGljZW5zZScsCisgICAgJ2NsYXNzaWZpZXInOiAnQ2xhc3NpZmllcicsCisgICAgJ2Rvd25sb2FkX3VybCc6ICdEb3dubG9hZC1VUkwnLAorICAgICdvYnNvbGV0ZXNfZGlzdCc6ICdPYnNvbGV0ZXMtRGlzdCcsCisgICAgJ3Byb3ZpZGVzX2Rpc3QnOiAnUHJvdmlkZXMtRGlzdCcsCisgICAgJ3JlcXVpcmVzX2Rpc3QnOiAnUmVxdWlyZXMtRGlzdCcsCisgICAgJ3JlcXVpcmVzX3B5dGhvbic6ICdSZXF1aXJlcy1QeXRob24nLAorICAgICdyZXF1aXJlc19leHRlcm5hbCc6ICdSZXF1aXJlcy1FeHRlcm5hbCcsCisgICAgJ3JlcXVpcmVzJzogJ1JlcXVpcmVzJywKKyAgICAncHJvdmlkZXMnOiAnUHJvdmlkZXMnLAorICAgICdvYnNvbGV0ZXMnOiAnT2Jzb2xldGVzJywKKyAgICAncHJvamVjdF91cmwnOiAnUHJvamVjdC1VUkwnLAorfQorCitfUFJFRElDQVRFX0ZJRUxEUyA9ICgnUmVxdWlyZXMtRGlzdCcsICdPYnNvbGV0ZXMtRGlzdCcsICdQcm92aWRlcy1EaXN0JykKK19WRVJTSU9OU19GSUVMRFMgPSAoJ1JlcXVpcmVzLVB5dGhvbicsKQorX1ZFUlNJT05fRklFTERTID0gKCdWZXJzaW9uJywpCitfTElTVEZJRUxEUyA9ICgnUGxhdGZvcm0nLCAnQ2xhc3NpZmllcicsICdPYnNvbGV0ZXMnLAorICAgICAgICAgICAgICAgJ1JlcXVpcmVzJywgJ1Byb3ZpZGVzJywgJ09ic29sZXRlcy1EaXN0JywKKyAgICAgICAgICAgICAgICdQcm92aWRlcy1EaXN0JywgJ1JlcXVpcmVzLURpc3QnLCAnUmVxdWlyZXMtRXh0ZXJuYWwnLAorICAgICAgICAgICAgICAgJ1Byb2plY3QtVVJMJywgJ1N1cHBvcnRlZC1QbGF0Zm9ybScpCitfTElTVFRVUExFRklFTERTID0gKCdQcm9qZWN0LVVSTCcsKQorCitfRUxFTUVOVFNGSUVMRCA9ICgnS2V5d29yZHMnLCkKKworX1VOSUNPREVGSUVMRFMgPSAoJ0F1dGhvcicsICdNYWludGFpbmVyJywgJ1N1bW1hcnknLCAnRGVzY3JpcHRpb24nKQorCitfTUlTU0lORyA9IG9iamVjdCgpCisKK19GSUxFU0FGRSA9IHJlLmNvbXBpbGUoJ1teQS1aYS16MC05Ll0rJykKKworCitjbGFzcyBNZXRhZGF0YToKKyAgICAiIiJUaGUgbWV0YWRhdGEgb2YgYSByZWxlYXNlLgorCisgICAgU3VwcG9ydHMgdmVyc2lvbnMgMS4wLCAxLjEgYW5kIDEuMiAoYXV0by1kZXRlY3RlZCkuIFlvdSBjYW4KKyAgICBpbnN0YW50aWF0ZSB0aGUgY2xhc3Mgd2l0aCBvbmUgb2YgdGhlc2UgYXJndW1lbnRzIChvciBub25lKToKKyAgICAtICpwYXRoKiwgdGhlIHBhdGggdG8gYSBNRVRBREFUQSBmaWxlCisgICAgLSAqZmlsZW9iaiogZ2l2ZSBhIGZpbGUtbGlrZSBvYmplY3Qgd2l0aCBNRVRBREFUQSBhcyBjb250ZW50CisgICAgLSAqbWFwcGluZyogaXMgYSBkaWN0LWxpa2Ugb2JqZWN0CisgICAgIiIiCisgICAgIyBUT0RPIGRvY3VtZW50IHRoYXQgZXhlY3V0aW9uX2NvbnRleHQgYW5kIHBsYXRmb3JtX2RlcGVuZGVudCBhcmUgdXNlZAorICAgICMgdG8gZmlsdGVyIG9uIHF1ZXJ5LCBub3Qgd2hlbiBzZXR0aW5nIGEga2V5CisgICAgIyBhbHNvIGRvY3VtZW50IHRoZSBtYXBwaW5nIEFQSSBhbmQgVU5LTk9XTiBkZWZhdWx0IGtleQorCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHBhdGg9Tm9uZSwgcGxhdGZvcm1fZGVwZW5kZW50PUZhbHNlLAorICAgICAgICAgICAgICAgICBleGVjdXRpb25fY29udGV4dD1Ob25lLCBmaWxlb2JqPU5vbmUsIG1hcHBpbmc9Tm9uZSk6CisgICAgICAgIHNlbGYuX2ZpZWxkcyA9IHt9CisgICAgICAgIHNlbGYucmVxdWlyZXNfZmlsZXMgPSBbXQorICAgICAgICBzZWxmLmRvY3V0aWxzX3N1cHBvcnQgPSBfSEFTX0RPQ1VUSUxTCisgICAgICAgIHNlbGYucGxhdGZvcm1fZGVwZW5kZW50ID0gcGxhdGZvcm1fZGVwZW5kZW50CisgICAgICAgIHNlbGYuZXhlY3V0aW9uX2NvbnRleHQgPSBleGVjdXRpb25fY29udGV4dAorICAgICAgICBpZiBbcGF0aCwgZmlsZW9iaiwgbWFwcGluZ10uY291bnQoTm9uZSkgPCAyOgorICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCdwYXRoLCBmaWxlb2JqIGFuZCBtYXBwaW5nIGFyZSBleGNsdXNpdmUnKQorICAgICAgICBpZiBwYXRoIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgc2VsZi5yZWFkKHBhdGgpCisgICAgICAgIGVsaWYgZmlsZW9iaiBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIHNlbGYucmVhZF9maWxlKGZpbGVvYmopCisgICAgICAgIGVsaWYgbWFwcGluZyBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIHNlbGYudXBkYXRlKG1hcHBpbmcpCisKKyAgICBkZWYgX3NldF9iZXN0X3ZlcnNpb24oc2VsZik6CisgICAgICAgIHNlbGYuX2ZpZWxkc1snTWV0YWRhdGEtVmVyc2lvbiddID0gX2Jlc3RfdmVyc2lvbihzZWxmLl9maWVsZHMpCisKKyAgICBkZWYgX3dyaXRlX2ZpZWxkKHNlbGYsIGZpbGUsIG5hbWUsIHZhbHVlKToKKyAgICAgICAgZmlsZS53cml0ZSgnJXM6ICVzXG4nICUgKG5hbWUsIHZhbHVlKSkKKworICAgIGRlZiBfX2dldGl0ZW1fXyhzZWxmLCBuYW1lKToKKyAgICAgICAgcmV0dXJuIHNlbGYuZ2V0KG5hbWUpCisKKyAgICBkZWYgX19zZXRpdGVtX18oc2VsZiwgbmFtZSwgdmFsdWUpOgorICAgICAgICByZXR1cm4gc2VsZi5zZXQobmFtZSwgdmFsdWUpCisKKyAgICBkZWYgX19kZWxpdGVtX18oc2VsZiwgbmFtZSk6CisgICAgICAgIGZpZWxkX25hbWUgPSBzZWxmLl9jb252ZXJ0X25hbWUobmFtZSkKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgZGVsIHNlbGYuX2ZpZWxkc1tmaWVsZF9uYW1lXQorICAgICAgICBleGNlcHQgS2V5RXJyb3I6CisgICAgICAgICAgICByYWlzZSBLZXlFcnJvcihuYW1lKQorICAgICAgICBzZWxmLl9zZXRfYmVzdF92ZXJzaW9uKCkKKworICAgIGRlZiBfX2NvbnRhaW5zX18oc2VsZiwgbmFtZSk6CisgICAgICAgIHJldHVybiAobmFtZSBpbiBzZWxmLl9maWVsZHMgb3IKKyAgICAgICAgICAgICAgICBzZWxmLl9jb252ZXJ0X25hbWUobmFtZSkgaW4gc2VsZi5fZmllbGRzKQorCisgICAgZGVmIF9jb252ZXJ0X25hbWUoc2VsZiwgbmFtZSk6CisgICAgICAgIGlmIG5hbWUgaW4gX0FMTF9GSUVMRFM6CisgICAgICAgICAgICByZXR1cm4gbmFtZQorICAgICAgICBuYW1lID0gbmFtZS5yZXBsYWNlKCctJywgJ18nKS5sb3dlcigpCisgICAgICAgIHJldHVybiBfQVRUUjJGSUVMRC5nZXQobmFtZSwgbmFtZSkKKworICAgIGRlZiBfZGVmYXVsdF92YWx1ZShzZWxmLCBuYW1lKToKKyAgICAgICAgaWYgbmFtZSBpbiBfTElTVEZJRUxEUyBvciBuYW1lIGluIF9FTEVNRU5UU0ZJRUxEOgorICAgICAgICAgICAgcmV0dXJuIFtdCisgICAgICAgIHJldHVybiAnVU5LTk9XTicKKworICAgIGRlZiBfY2hlY2tfcnN0X2RhdGEoc2VsZiwgZGF0YSk6CisgICAgICAgICIiIlJldHVybiB3YXJuaW5ncyB3aGVuIHRoZSBwcm92aWRlZCBkYXRhIGhhcyBzeW50YXggZXJyb3JzLiIiIgorICAgICAgICBzb3VyY2VfcGF0aCA9IFN0cmluZ0lPKCkKKyAgICAgICAgcGFyc2VyID0gUGFyc2VyKCkKKyAgICAgICAgc2V0dGluZ3MgPSBmcm9udGVuZC5PcHRpb25QYXJzZXIoKS5nZXRfZGVmYXVsdF92YWx1ZXMoKQorICAgICAgICBzZXR0aW5ncy50YWJfd2lkdGggPSA0CisgICAgICAgIHNldHRpbmdzLnBlcF9yZWZlcmVuY2VzID0gTm9uZQorICAgICAgICBzZXR0aW5ncy5yZmNfcmVmZXJlbmNlcyA9IE5vbmUKKyAgICAgICAgcmVwb3J0ZXIgPSBTaWxlbnRSZXBvcnRlcihzb3VyY2VfcGF0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0dGluZ3MucmVwb3J0X2xldmVsLAorICAgICAgICAgICAgICAgICAgICAgICAgICBzZXR0aW5ncy5oYWx0X2xldmVsLAorICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJlYW09c2V0dGluZ3Mud2FybmluZ19zdHJlYW0sCisgICAgICAgICAgICAgICAgICAgICAgICAgIGRlYnVnPXNldHRpbmdzLmRlYnVnLAorICAgICAgICAgICAgICAgICAgICAgICAgICBlbmNvZGluZz1zZXR0aW5ncy5lcnJvcl9lbmNvZGluZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JfaGFuZGxlcj1zZXR0aW5ncy5lcnJvcl9lbmNvZGluZ19lcnJvcl9oYW5kbGVyKQorCisgICAgICAgIGRvY3VtZW50ID0gbm9kZXMuZG9jdW1lbnQoc2V0dGluZ3MsIHJlcG9ydGVyLCBzb3VyY2U9c291cmNlX3BhdGgpCisgICAgICAgIGRvY3VtZW50Lm5vdGVfc291cmNlKHNvdXJjZV9wYXRoLCAtMSkKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgcGFyc2VyLnBhcnNlKGRhdGEsIGRvY3VtZW50KQorICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6CisgICAgICAgICAgICByZXBvcnRlci5tZXNzYWdlcy5hcHBlbmQoKC0xLCAnQ291bGQgbm90IGZpbmlzaCB0aGUgcGFyc2luZy4nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnJywge30pKQorCisgICAgICAgIHJldHVybiByZXBvcnRlci5tZXNzYWdlcworCisgICAgZGVmIF9wbGF0Zm9ybShzZWxmLCB2YWx1ZSk6CisgICAgICAgIGlmIG5vdCBzZWxmLnBsYXRmb3JtX2RlcGVuZGVudCBvciAnOycgbm90IGluIHZhbHVlOgorICAgICAgICAgICAgcmV0dXJuIFRydWUsIHZhbHVlCisgICAgICAgIHZhbHVlLCBtYXJrZXIgPSB2YWx1ZS5zcGxpdCgnOycpCisgICAgICAgIHJldHVybiBpbnRlcnByZXQobWFya2VyLCBzZWxmLmV4ZWN1dGlvbl9jb250ZXh0KSwgdmFsdWUKKworICAgIGRlZiBfcmVtb3ZlX2xpbmVfcHJlZml4KHNlbGYsIHZhbHVlKToKKyAgICAgICAgcmV0dXJuIF9MSU5FX1BSRUZJWC5zdWIoJ1xuJywgdmFsdWUpCisKKyAgICAjCisgICAgIyBQdWJsaWMgQVBJCisgICAgIworICAgIGRlZiBnZXRfZnVsbG5hbWUoc2VsZiwgZmlsZXNhZmU9RmFsc2UpOgorICAgICAgICAiIiJSZXR1cm4gdGhlIGRpc3RyaWJ1dGlvbiBuYW1lIHdpdGggdmVyc2lvbi4KKworICAgICAgICBJZiBmaWxlc2FmZSBpcyB0cnVlLCByZXR1cm4gYSBmaWxlbmFtZS1lc2NhcGVkIGZvcm0uIiIiCisgICAgICAgIG5hbWUsIHZlcnNpb24gPSBzZWxmWydOYW1lJ10sIHNlbGZbJ1ZlcnNpb24nXQorICAgICAgICBpZiBmaWxlc2FmZToKKyAgICAgICAgICAgICMgRm9yIGJvdGggbmFtZSBhbmQgdmVyc2lvbiBhbnkgcnVucyBvZiBub24tYWxwaGFudW1lcmljIG9yICcuJworICAgICAgICAgICAgIyBjaGFyYWN0ZXJzIGFyZSByZXBsYWNlZCB3aXRoIGEgc2luZ2xlICctJy4gIEFkZGl0aW9uYWxseSBhbnkKKyAgICAgICAgICAgICMgc3BhY2VzIGluIHRoZSB2ZXJzaW9uIHN0cmluZyBiZWNvbWUgJy4nCisgICAgICAgICAgICBuYW1lID0gX0ZJTEVTQUZFLnN1YignLScsIG5hbWUpCisgICAgICAgICAgICB2ZXJzaW9uID0gX0ZJTEVTQUZFLnN1YignLScsIHZlcnNpb24ucmVwbGFjZSgnICcsICcuJykpCisgICAgICAgIHJldHVybiAnJXMtJXMnICUgKG5hbWUsIHZlcnNpb24pCisKKyAgICBkZWYgaXNfbWV0YWRhdGFfZmllbGQoc2VsZiwgbmFtZSk6CisgICAgICAgICIiInJldHVybiBUcnVlIGlmIG5hbWUgaXMgYSB2YWxpZCBtZXRhZGF0YSBrZXkiIiIKKyAgICAgICAgbmFtZSA9IHNlbGYuX2NvbnZlcnRfbmFtZShuYW1lKQorICAgICAgICByZXR1cm4gbmFtZSBpbiBfQUxMX0ZJRUxEUworCisgICAgZGVmIGlzX211bHRpX2ZpZWxkKHNlbGYsIG5hbWUpOgorICAgICAgICBuYW1lID0gc2VsZi5fY29udmVydF9uYW1lKG5hbWUpCisgICAgICAgIHJldHVybiBuYW1lIGluIF9MSVNURklFTERTCisKKyAgICBkZWYgcmVhZChzZWxmLCBmaWxlcGF0aCk6CisgICAgICAgICIiIlJlYWQgdGhlIG1ldGFkYXRhIHZhbHVlcyBmcm9tIGEgZmlsZSBwYXRoLiIiIgorICAgICAgICB3aXRoIG9wZW4oZmlsZXBhdGgsICdyJywgZW5jb2Rpbmc9J3V0Zi04JykgYXMgZnA6CisgICAgICAgICAgICBzZWxmLnJlYWRfZmlsZShmcCkKKworICAgIGRlZiByZWFkX2ZpbGUoc2VsZiwgZmlsZW9iKToKKyAgICAgICAgIiIiUmVhZCB0aGUgbWV0YWRhdGEgdmFsdWVzIGZyb20gYSBmaWxlIG9iamVjdC4iIiIKKyAgICAgICAgbXNnID0gbWVzc2FnZV9mcm9tX2ZpbGUoZmlsZW9iKQorICAgICAgICBzZWxmLl9maWVsZHNbJ01ldGFkYXRhLVZlcnNpb24nXSA9IG1zZ1snbWV0YWRhdGEtdmVyc2lvbiddCisKKyAgICAgICAgZm9yIGZpZWxkIGluIF92ZXJzaW9uMmZpZWxkbGlzdChzZWxmWydNZXRhZGF0YS1WZXJzaW9uJ10pOgorICAgICAgICAgICAgaWYgZmllbGQgaW4gX0xJU1RGSUVMRFM6CisgICAgICAgICAgICAgICAgIyB3ZSBjYW4gaGF2ZSBtdWx0aXBsZSBsaW5lcworICAgICAgICAgICAgICAgIHZhbHVlcyA9IG1zZy5nZXRfYWxsKGZpZWxkKQorICAgICAgICAgICAgICAgIGlmIGZpZWxkIGluIF9MSVNUVFVQTEVGSUVMRFMgYW5kIHZhbHVlcyBpcyBub3QgTm9uZToKKyAgICAgICAgICAgICAgICAgICAgdmFsdWVzID0gW3R1cGxlKHZhbHVlLnNwbGl0KCcsJykpIGZvciB2YWx1ZSBpbiB2YWx1ZXNdCisgICAgICAgICAgICAgICAgc2VsZi5zZXQoZmllbGQsIHZhbHVlcykKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgIyBzaW5nbGUgbGluZQorICAgICAgICAgICAgICAgIHZhbHVlID0gbXNnW2ZpZWxkXQorICAgICAgICAgICAgICAgIGlmIHZhbHVlIGlzIG5vdCBOb25lIGFuZCB2YWx1ZSAhPSAnVU5LTk9XTic6CisgICAgICAgICAgICAgICAgICAgIHNlbGYuc2V0KGZpZWxkLCB2YWx1ZSkKKworICAgIGRlZiB3cml0ZShzZWxmLCBmaWxlcGF0aCk6CisgICAgICAgICIiIldyaXRlIHRoZSBtZXRhZGF0YSBmaWVsZHMgdG8gZmlsZXBhdGguIiIiCisgICAgICAgIHdpdGggb3BlbihmaWxlcGF0aCwgJ3cnLCBlbmNvZGluZz0ndXRmLTgnKSBhcyBmcDoKKyAgICAgICAgICAgIHNlbGYud3JpdGVfZmlsZShmcCkKKworICAgIGRlZiB3cml0ZV9maWxlKHNlbGYsIGZpbGVvYmplY3QpOgorICAgICAgICAiIiJXcml0ZSB0aGUgUEtHLUlORk8gZm9ybWF0IGRhdGEgdG8gYSBmaWxlIG9iamVjdC4iIiIKKyAgICAgICAgc2VsZi5fc2V0X2Jlc3RfdmVyc2lvbigpCisgICAgICAgIGZvciBmaWVsZCBpbiBfdmVyc2lvbjJmaWVsZGxpc3Qoc2VsZlsnTWV0YWRhdGEtVmVyc2lvbiddKToKKyAgICAgICAgICAgIHZhbHVlcyA9IHNlbGYuZ2V0KGZpZWxkKQorICAgICAgICAgICAgaWYgZmllbGQgaW4gX0VMRU1FTlRTRklFTEQ6CisgICAgICAgICAgICAgICAgc2VsZi5fd3JpdGVfZmllbGQoZmlsZW9iamVjdCwgZmllbGQsICcsJy5qb2luKHZhbHVlcykpCisgICAgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgICAgIGlmIGZpZWxkIG5vdCBpbiBfTElTVEZJRUxEUzoKKyAgICAgICAgICAgICAgICBpZiBmaWVsZCA9PSAnRGVzY3JpcHRpb24nOgorICAgICAgICAgICAgICAgICAgICB2YWx1ZXMgPSB2YWx1ZXMucmVwbGFjZSgnXG4nLCAnXG4gICAgICAgfCcpCisgICAgICAgICAgICAgICAgdmFsdWVzID0gW3ZhbHVlc10KKworICAgICAgICAgICAgaWYgZmllbGQgaW4gX0xJU1RUVVBMRUZJRUxEUzoKKyAgICAgICAgICAgICAgICB2YWx1ZXMgPSBbJywnLmpvaW4odmFsdWUpIGZvciB2YWx1ZSBpbiB2YWx1ZXNdCisKKyAgICAgICAgICAgIGZvciB2YWx1ZSBpbiB2YWx1ZXM6CisgICAgICAgICAgICAgICAgc2VsZi5fd3JpdGVfZmllbGQoZmlsZW9iamVjdCwgZmllbGQsIHZhbHVlKQorCisgICAgZGVmIHVwZGF0ZShzZWxmLCBvdGhlcj1Ob25lLCAqKmt3YXJncyk6CisgICAgICAgICIiIlNldCBtZXRhZGF0YSB2YWx1ZXMgZnJvbSB0aGUgZ2l2ZW4gaXRlcmFibGUgYG90aGVyYCBhbmQga3dhcmdzLgorCisgICAgICAgIEJlaGF2aW9yIGlzIGxpa2UgYGRpY3QudXBkYXRlYDogSWYgYG90aGVyYCBoYXMgYSBgYGtleXNgYCBtZXRob2QsCisgICAgICAgIHRoZXkgYXJlIGxvb3BlZCBvdmVyIGFuZCBgYHNlbGZba2V5XWBgIGlzIGFzc2lnbmVkIGBgb3RoZXJba2V5XWBgLgorICAgICAgICBFbHNlLCBgYG90aGVyYGAgaXMgYW4gaXRlcmFibGUgb2YgYGAoa2V5LCB2YWx1ZSlgYCBpdGVyYWJsZXMuCisKKyAgICAgICAgS2V5cyB0aGF0IGRvbid0IG1hdGNoIGEgbWV0YWRhdGEgZmllbGQgb3IgdGhhdCBoYXZlIGFuIGVtcHR5IHZhbHVlIGFyZQorICAgICAgICBkcm9wcGVkLgorICAgICAgICAiIiIKKyAgICAgICAgIyBYWFggdGhlIGNvZGUgc2hvdWxkIGp1c3QgdXNlIHNlbGYuc2V0LCB3aGljaCBkb2VzIHRiZSBzYW1lIGNoZWNrcyBhbmQKKyAgICAgICAgIyBjb252ZXJzaW9ucyBhbHJlYWR5LCBidXQgdGhhdCB3b3VsZCBicmVhayBwYWNrYWdpbmcucHlwaTogaXQgdXNlcyB0aGUKKyAgICAgICAgIyB1cGRhdGUgbWV0aG9kLCB3aGljaCBkb2VzIG5vdCBjYWxsIF9zZXRfYmVzdF92ZXJzaW9uICh3aGljaCBzZXQKKyAgICAgICAgIyBkb2VzKSwgYW5kIHRodXMgYWxsb3dzIGhhdmluZyBhIE1ldGFkYXRhIG9iamVjdCAoYXMgbG9uZyBhcyB5b3UgZG9uJ3QKKyAgICAgICAgIyBtb2RpZnkgb3Igd3JpdGUgaXQpIHdpdGggZXh0cmEgZmllbGRzIGZyb20gUHlQSSB0aGF0IGFyZSBub3QgZmllbGRzCisgICAgICAgICMgZGVmaW5lZCBpbiBNZXRhZGF0YSBQRVBzLiAgdG8gc29sdmUgaXQsIHRoZSBiZXN0X3ZlcnNpb24gc3lzdGVtCisgICAgICAgICMgc2hvdWxkIGJlIHJld29ya2VkIHNvIHRoYXQgaXQncyBjYWxsZWQgb25seSBmb3Igd3JpdGluZywgb3IgaW4gYSBuZXcKKyAgICAgICAgIyBzdHJpY3QgbW9kZSwgb3Igd2l0aCBhIG5ldywgbW9yZSBsYXggTWV0YWRhdGEgc3ViY2xhc3MgaW4gcDdnLnB5cGkKKyAgICAgICAgZGVmIF9zZXQoa2V5LCB2YWx1ZSk6CisgICAgICAgICAgICBpZiBrZXkgaW4gX0FUVFIyRklFTEQgYW5kIHZhbHVlOgorICAgICAgICAgICAgICAgIHNlbGYuc2V0KHNlbGYuX2NvbnZlcnRfbmFtZShrZXkpLCB2YWx1ZSkKKworICAgICAgICBpZiBub3Qgb3RoZXI6CisgICAgICAgICAgICAjIG90aGVyIGlzIE5vbmUgb3IgZW1wdHkgY29udGFpbmVyCisgICAgICAgICAgICBwYXNzCisgICAgICAgIGVsaWYgaGFzYXR0cihvdGhlciwgJ2tleXMnKToKKyAgICAgICAgICAgIGZvciBrIGluIG90aGVyLmtleXMoKToKKyAgICAgICAgICAgICAgICBfc2V0KGssIG90aGVyW2tdKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgZm9yIGssIHYgaW4gb3RoZXI6CisgICAgICAgICAgICAgICAgX3NldChrLCB2KQorCisgICAgICAgIGlmIGt3YXJnczoKKyAgICAgICAgICAgIGZvciBrLCB2IGluIGt3YXJncy5pdGVtcygpOgorICAgICAgICAgICAgICAgIF9zZXQoaywgdikKKworICAgIGRlZiBzZXQoc2VsZiwgbmFtZSwgdmFsdWUpOgorICAgICAgICAiIiJDb250cm9sIHRoZW4gc2V0IGEgbWV0YWRhdGEgZmllbGQuIiIiCisgICAgICAgIG5hbWUgPSBzZWxmLl9jb252ZXJ0X25hbWUobmFtZSkKKworICAgICAgICBpZiAoKG5hbWUgaW4gX0VMRU1FTlRTRklFTEQgb3IgbmFtZSA9PSAnUGxhdGZvcm0nKSBhbmQKKyAgICAgICAgICAgIG5vdCBpc2luc3RhbmNlKHZhbHVlLCAobGlzdCwgdHVwbGUpKSk6CisgICAgICAgICAgICBpZiBpc2luc3RhbmNlKHZhbHVlLCBzdHIpOgorICAgICAgICAgICAgICAgIHZhbHVlID0gW3Yuc3RyaXAoKSBmb3IgdiBpbiB2YWx1ZS5zcGxpdCgnLCcpXQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICB2YWx1ZSA9IFtdCisgICAgICAgIGVsaWYgKG5hbWUgaW4gX0xJU1RGSUVMRFMgYW5kCisgICAgICAgICAgICAgIG5vdCBpc2luc3RhbmNlKHZhbHVlLCAobGlzdCwgdHVwbGUpKSk6CisgICAgICAgICAgICBpZiBpc2luc3RhbmNlKHZhbHVlLCBzdHIpOgorICAgICAgICAgICAgICAgIHZhbHVlID0gW3ZhbHVlXQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICB2YWx1ZSA9IFtdCisKKyAgICAgICAgaWYgbG9nZ2VyLmlzRW5hYmxlZEZvcihsb2dnaW5nLldBUk5JTkcpOgorICAgICAgICAgICAgcHJvamVjdF9uYW1lID0gc2VsZlsnTmFtZSddCisKKyAgICAgICAgICAgIGlmIG5hbWUgaW4gX1BSRURJQ0FURV9GSUVMRFMgYW5kIHZhbHVlIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgICAgIGZvciB2IGluIHZhbHVlOgorICAgICAgICAgICAgICAgICAgICAjIGNoZWNrIHRoYXQgdGhlIHZhbHVlcyBhcmUgdmFsaWQgcHJlZGljYXRlcworICAgICAgICAgICAgICAgICAgICBpZiBub3QgaXNfdmFsaWRfcHJlZGljYXRlKHYuc3BsaXQoJzsnKVswXSk6CisgICAgICAgICAgICAgICAgICAgICAgICBsb2dnZXIud2FybmluZygKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAnJXI6ICVyIGlzIG5vdCBhIHZhbGlkIHByZWRpY2F0ZSAoZmllbGQgJXIpJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0X25hbWUsIHYsIG5hbWUpCisgICAgICAgICAgICAjIEZJWE1FIHRoaXMgcmVqZWN0cyBVTktOT1dOLCBpcyB0aGF0IHJpZ2h0PworICAgICAgICAgICAgZWxpZiBuYW1lIGluIF9WRVJTSU9OU19GSUVMRFMgYW5kIHZhbHVlIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgICAgIGlmIG5vdCBpc192YWxpZF92ZXJzaW9ucyh2YWx1ZSk6CisgICAgICAgICAgICAgICAgICAgIGxvZ2dlci53YXJuaW5nKCclcjogJXIgaXMgbm90IGEgdmFsaWQgdmVyc2lvbiAoZmllbGQgJXIpJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvamVjdF9uYW1lLCB2YWx1ZSwgbmFtZSkKKyAgICAgICAgICAgIGVsaWYgbmFtZSBpbiBfVkVSU0lPTl9GSUVMRFMgYW5kIHZhbHVlIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgICAgIGlmIG5vdCBpc192YWxpZF92ZXJzaW9uKHZhbHVlKToKKyAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJyVyOiAlciBpcyBub3QgYSB2YWxpZCB2ZXJzaW9uIChmaWVsZCAlciknLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9qZWN0X25hbWUsIHZhbHVlLCBuYW1lKQorCisgICAgICAgIGlmIG5hbWUgaW4gX1VOSUNPREVGSUVMRFM6CisgICAgICAgICAgICBpZiBuYW1lID09ICdEZXNjcmlwdGlvbic6CisgICAgICAgICAgICAgICAgdmFsdWUgPSBzZWxmLl9yZW1vdmVfbGluZV9wcmVmaXgodmFsdWUpCisKKyAgICAgICAgc2VsZi5fZmllbGRzW25hbWVdID0gdmFsdWUKKyAgICAgICAgc2VsZi5fc2V0X2Jlc3RfdmVyc2lvbigpCisKKyAgICBkZWYgZ2V0KHNlbGYsIG5hbWUsIGRlZmF1bHQ9X01JU1NJTkcpOgorICAgICAgICAiIiJHZXQgYSBtZXRhZGF0YSBmaWVsZC4iIiIKKyAgICAgICAgbmFtZSA9IHNlbGYuX2NvbnZlcnRfbmFtZShuYW1lKQorICAgICAgICBpZiBuYW1lIG5vdCBpbiBzZWxmLl9maWVsZHM6CisgICAgICAgICAgICBpZiBkZWZhdWx0IGlzIF9NSVNTSU5HOgorICAgICAgICAgICAgICAgIGRlZmF1bHQgPSBzZWxmLl9kZWZhdWx0X3ZhbHVlKG5hbWUpCisgICAgICAgICAgICByZXR1cm4gZGVmYXVsdAorICAgICAgICBpZiBuYW1lIGluIF9VTklDT0RFRklFTERTOgorICAgICAgICAgICAgdmFsdWUgPSBzZWxmLl9maWVsZHNbbmFtZV0KKyAgICAgICAgICAgIHJldHVybiB2YWx1ZQorICAgICAgICBlbGlmIG5hbWUgaW4gX0xJU1RGSUVMRFM6CisgICAgICAgICAgICB2YWx1ZSA9IHNlbGYuX2ZpZWxkc1tuYW1lXQorICAgICAgICAgICAgaWYgdmFsdWUgaXMgTm9uZToKKyAgICAgICAgICAgICAgICByZXR1cm4gW10KKyAgICAgICAgICAgIHJlcyA9IFtdCisgICAgICAgICAgICBmb3IgdmFsIGluIHZhbHVlOgorICAgICAgICAgICAgICAgIHZhbGlkLCB2YWwgPSBzZWxmLl9wbGF0Zm9ybSh2YWwpCisgICAgICAgICAgICAgICAgaWYgbm90IHZhbGlkOgorICAgICAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgICAgIGlmIG5hbWUgbm90IGluIF9MSVNUVFVQTEVGSUVMRFM6CisgICAgICAgICAgICAgICAgICAgIHJlcy5hcHBlbmQodmFsKQorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgICMgVGhhdCdzIGZvciBQcm9qZWN0LVVSTAorICAgICAgICAgICAgICAgICAgICByZXMuYXBwZW5kKCh2YWxbMF0sIHZhbFsxXSkpCisgICAgICAgICAgICByZXR1cm4gcmVzCisKKyAgICAgICAgZWxpZiBuYW1lIGluIF9FTEVNRU5UU0ZJRUxEOgorICAgICAgICAgICAgdmFsaWQsIHZhbHVlID0gc2VsZi5fcGxhdGZvcm0oc2VsZi5fZmllbGRzW25hbWVdKQorICAgICAgICAgICAgaWYgbm90IHZhbGlkOgorICAgICAgICAgICAgICAgIHJldHVybiBbXQorICAgICAgICAgICAgaWYgaXNpbnN0YW5jZSh2YWx1ZSwgc3RyKToKKyAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWUuc3BsaXQoJywnKQorICAgICAgICB2YWxpZCwgdmFsdWUgPSBzZWxmLl9wbGF0Zm9ybShzZWxmLl9maWVsZHNbbmFtZV0pCisgICAgICAgIGlmIG5vdCB2YWxpZDoKKyAgICAgICAgICAgIHJldHVybiBOb25lCisgICAgICAgIHJldHVybiB2YWx1ZQorCisgICAgZGVmIGNoZWNrKHNlbGYsIHN0cmljdD1GYWxzZSwgcmVzdHJ1Y3R1cmVkdGV4dD1GYWxzZSk6CisgICAgICAgICIiIkNoZWNrIGlmIHRoZSBtZXRhZGF0YSBpcyBjb21wbGlhbnQuIElmIHN0cmljdCBpcyBGYWxzZSB0aGVuIHJhaXNlIGlmCisgICAgICAgIG5vIE5hbWUgb3IgVmVyc2lvbiBhcmUgcHJvdmlkZWQiIiIKKyAgICAgICAgIyBYWFggc2hvdWxkIGNoZWNrIHRoZSB2ZXJzaW9ucyAoaWYgdGhlIGZpbGUgd2FzIGxvYWRlZCkKKyAgICAgICAgbWlzc2luZywgd2FybmluZ3MgPSBbXSwgW10KKworICAgICAgICBmb3IgYXR0ciBpbiAoJ05hbWUnLCAnVmVyc2lvbicpOiAgIyByZXF1aXJlZCBieSBQRVAgMzQ1CisgICAgICAgICAgICBpZiBhdHRyIG5vdCBpbiBzZWxmOgorICAgICAgICAgICAgICAgIG1pc3NpbmcuYXBwZW5kKGF0dHIpCisKKyAgICAgICAgaWYgc3RyaWN0IGFuZCBtaXNzaW5nICE9IFtdOgorICAgICAgICAgICAgbXNnID0gJ21pc3NpbmcgcmVxdWlyZWQgbWV0YWRhdGE6ICVzJyAlICcsICcuam9pbihtaXNzaW5nKQorICAgICAgICAgICAgcmFpc2UgTWV0YWRhdGFNaXNzaW5nRXJyb3IobXNnKQorCisgICAgICAgIGZvciBhdHRyIGluICgnSG9tZS1wYWdlJywgJ0F1dGhvcicpOgorICAgICAgICAgICAgaWYgYXR0ciBub3QgaW4gc2VsZjoKKyAgICAgICAgICAgICAgICBtaXNzaW5nLmFwcGVuZChhdHRyKQorCisgICAgICAgIGlmIF9IQVNfRE9DVVRJTFMgYW5kIHJlc3RydWN0dXJlZHRleHQ6CisgICAgICAgICAgICB3YXJuaW5ncy5leHRlbmQoc2VsZi5fY2hlY2tfcnN0X2RhdGEoc2VsZlsnRGVzY3JpcHRpb24nXSkpCisKKyAgICAgICAgIyBjaGVja2luZyBtZXRhZGF0YSAxLjIgKFhYWCBuZWVkcyB0byBjaGVjayAxLjEsIDEuMCkKKyAgICAgICAgaWYgc2VsZlsnTWV0YWRhdGEtVmVyc2lvbiddICE9ICcxLjInOgorICAgICAgICAgICAgcmV0dXJuIG1pc3NpbmcsIHdhcm5pbmdzCisKKyAgICAgICAgZGVmIGlzX3ZhbGlkX3ByZWRpY2F0ZXModmFsdWUpOgorICAgICAgICAgICAgZm9yIHYgaW4gdmFsdWU6CisgICAgICAgICAgICAgICAgaWYgbm90IGlzX3ZhbGlkX3ByZWRpY2F0ZSh2LnNwbGl0KCc7JylbMF0pOgorICAgICAgICAgICAgICAgICAgICByZXR1cm4gRmFsc2UKKyAgICAgICAgICAgIHJldHVybiBUcnVlCisKKyAgICAgICAgZm9yIGZpZWxkcywgY29udHJvbGxlciBpbiAoKF9QUkVESUNBVEVfRklFTERTLCBpc192YWxpZF9wcmVkaWNhdGVzKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKF9WRVJTSU9OU19GSUVMRFMsIGlzX3ZhbGlkX3ZlcnNpb25zKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKF9WRVJTSU9OX0ZJRUxEUywgaXNfdmFsaWRfdmVyc2lvbikpOgorICAgICAgICAgICAgZm9yIGZpZWxkIGluIGZpZWxkczoKKyAgICAgICAgICAgICAgICB2YWx1ZSA9IHNlbGYuZ2V0KGZpZWxkLCBOb25lKQorICAgICAgICAgICAgICAgIGlmIHZhbHVlIGlzIG5vdCBOb25lIGFuZCBub3QgY29udHJvbGxlcih2YWx1ZSk6CisgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdzLmFwcGVuZCgnV3JvbmcgdmFsdWUgZm9yICVyOiAlcycgJSAoZmllbGQsIHZhbHVlKSkKKworICAgICAgICByZXR1cm4gbWlzc2luZywgd2FybmluZ3MKKworICAgIGRlZiB0b2RpY3Qoc2VsZik6CisgICAgICAgICIiIlJldHVybiBmaWVsZHMgYXMgYSBkaWN0LgorCisgICAgICAgIEZpZWxkIG5hbWVzIHdpbGwgYmUgY29udmVydGVkIHRvIHVzZSB0aGUgdW5kZXJzY29yZS1sb3dlcmNhc2Ugc3R5bGUKKyAgICAgICAgaW5zdGVhZCBvZiBoeXBoZW4tbWl4ZWQgY2FzZSAoaS5lLiBob21lX3BhZ2UgaW5zdGVhZCBvZiBIb21lLXBhZ2UpLgorICAgICAgICAiIiIKKyAgICAgICAgZGF0YSA9IHsKKyAgICAgICAgICAgICdtZXRhZGF0YV92ZXJzaW9uJzogc2VsZlsnTWV0YWRhdGEtVmVyc2lvbiddLAorICAgICAgICAgICAgJ25hbWUnOiBzZWxmWydOYW1lJ10sCisgICAgICAgICAgICAndmVyc2lvbic6IHNlbGZbJ1ZlcnNpb24nXSwKKyAgICAgICAgICAgICdzdW1tYXJ5Jzogc2VsZlsnU3VtbWFyeSddLAorICAgICAgICAgICAgJ2hvbWVfcGFnZSc6IHNlbGZbJ0hvbWUtcGFnZSddLAorICAgICAgICAgICAgJ2F1dGhvcic6IHNlbGZbJ0F1dGhvciddLAorICAgICAgICAgICAgJ2F1dGhvcl9lbWFpbCc6IHNlbGZbJ0F1dGhvci1lbWFpbCddLAorICAgICAgICAgICAgJ2xpY2Vuc2UnOiBzZWxmWydMaWNlbnNlJ10sCisgICAgICAgICAgICAnZGVzY3JpcHRpb24nOiBzZWxmWydEZXNjcmlwdGlvbiddLAorICAgICAgICAgICAgJ2tleXdvcmRzJzogc2VsZlsnS2V5d29yZHMnXSwKKyAgICAgICAgICAgICdwbGF0Zm9ybSc6IHNlbGZbJ1BsYXRmb3JtJ10sCisgICAgICAgICAgICAnY2xhc3NpZmllcic6IHNlbGZbJ0NsYXNzaWZpZXInXSwKKyAgICAgICAgICAgICdkb3dubG9hZF91cmwnOiBzZWxmWydEb3dubG9hZC1VUkwnXSwKKyAgICAgICAgfQorCisgICAgICAgIGlmIHNlbGZbJ01ldGFkYXRhLVZlcnNpb24nXSA9PSAnMS4yJzoKKyAgICAgICAgICAgIGRhdGFbJ3JlcXVpcmVzX2Rpc3QnXSA9IHNlbGZbJ1JlcXVpcmVzLURpc3QnXQorICAgICAgICAgICAgZGF0YVsncmVxdWlyZXNfcHl0aG9uJ10gPSBzZWxmWydSZXF1aXJlcy1QeXRob24nXQorICAgICAgICAgICAgZGF0YVsncmVxdWlyZXNfZXh0ZXJuYWwnXSA9IHNlbGZbJ1JlcXVpcmVzLUV4dGVybmFsJ10KKyAgICAgICAgICAgIGRhdGFbJ3Byb3ZpZGVzX2Rpc3QnXSA9IHNlbGZbJ1Byb3ZpZGVzLURpc3QnXQorICAgICAgICAgICAgZGF0YVsnb2Jzb2xldGVzX2Rpc3QnXSA9IHNlbGZbJ09ic29sZXRlcy1EaXN0J10KKyAgICAgICAgICAgIGRhdGFbJ3Byb2plY3RfdXJsJ10gPSBbJywnLmpvaW4odXJsKSBmb3IgdXJsIGluCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGZbJ1Byb2plY3QtVVJMJ11dCisKKyAgICAgICAgZWxpZiBzZWxmWydNZXRhZGF0YS1WZXJzaW9uJ10gPT0gJzEuMSc6CisgICAgICAgICAgICBkYXRhWydwcm92aWRlcyddID0gc2VsZlsnUHJvdmlkZXMnXQorICAgICAgICAgICAgZGF0YVsncmVxdWlyZXMnXSA9IHNlbGZbJ1JlcXVpcmVzJ10KKyAgICAgICAgICAgIGRhdGFbJ29ic29sZXRlcyddID0gc2VsZlsnT2Jzb2xldGVzJ10KKworICAgICAgICByZXR1cm4gZGF0YQorCisgICAgIyBNYXBwaW5nIEFQSQorICAgICMgWFhYIHRoZXNlIG1ldGhvZHMgc2hvdWxkIHJldHVybiB2aWV3cyBvciBzZXRzIGluIDMueAorCisgICAgZGVmIGtleXMoc2VsZik6CisgICAgICAgIHJldHVybiBsaXN0KF92ZXJzaW9uMmZpZWxkbGlzdChzZWxmWydNZXRhZGF0YS1WZXJzaW9uJ10pKQorCisgICAgZGVmIF9faXRlcl9fKHNlbGYpOgorICAgICAgICBmb3Iga2V5IGluIHNlbGYua2V5cygpOgorICAgICAgICAgICAgeWllbGQga2V5CisKKyAgICBkZWYgdmFsdWVzKHNlbGYpOgorICAgICAgICByZXR1cm4gW3NlbGZba2V5XSBmb3Iga2V5IGluIHNlbGYua2V5cygpXQorCisgICAgZGVmIGl0ZW1zKHNlbGYpOgorICAgICAgICByZXR1cm4gWyhrZXksIHNlbGZba2V5XSkgZm9yIGtleSBpbiBzZWxmLmtleXMoKV0KZGlmZiAtLWdpdCBhL0xpYi9wYWNrYWdpbmcvcHlwaS9fX2luaXRfXy5weSBiL0xpYi9wYWNrYWdpbmcvcHlwaS9fX2luaXRfXy5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NjYwYzUwCi0tLSAvZGV2L251bGwKKysrIGIvTGliL3BhY2thZ2luZy9weXBpL19faW5pdF9fLnB5CkBAIC0wLDAgKzEsOSBAQAorIiIiTG93LWxldmVsIGFuZCBoaWdoLWxldmVsIEFQSXMgdG8gaW50ZXJhY3Qgd2l0aCBwcm9qZWN0IGluZGV4ZXMuIiIiCisKK19fYWxsX18gPSBbJ3NpbXBsZScsCisgICAgICAgICAgICd4bWxycGMnLAorICAgICAgICAgICAnZGlzdCcsCisgICAgICAgICAgICdlcnJvcnMnLAorICAgICAgICAgICAnbWlycm9ycyddCisKK2Zyb20gcGFja2FnaW5nLnB5cGkuZGlzdCBpbXBvcnQgUmVsZWFzZUluZm8sIFJlbGVhc2VzTGlzdCwgRGlzdEluZm8KZGlmZiAtLWdpdCBhL0xpYi9wYWNrYWdpbmcvcHlwaS9iYXNlLnB5IGIvTGliL3BhY2thZ2luZy9weXBpL2Jhc2UucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzA1ZmNhOQotLS0gL2Rldi9udWxsCisrKyBiL0xpYi9wYWNrYWdpbmcvcHlwaS9iYXNlLnB5CkBAIC0wLDAgKzEsNDggQEAKKyIiIkJhc2UgY2xhc3MgZm9yIGluZGV4IGNyYXdsZXJzLiIiIgorCitmcm9tIHBhY2thZ2luZy5weXBpLmRpc3QgaW1wb3J0IFJlbGVhc2VzTGlzdAorCisKK2NsYXNzIEJhc2VDbGllbnQ6CisgICAgIiIiQmFzZSBjbGFzcyBjb250YWluaW5nIGNvbW1vbiBtZXRob2RzIGZvciB0aGUgaW5kZXggY3Jhd2xlcnMvY2xpZW50cyIiIgorCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHByZWZlcl9maW5hbCwgcHJlZmVyX3NvdXJjZSk6CisgICAgICAgIHNlbGYuX3ByZWZlcl9maW5hbCA9IHByZWZlcl9maW5hbAorICAgICAgICBzZWxmLl9wcmVmZXJfc291cmNlID0gcHJlZmVyX3NvdXJjZQorICAgICAgICBzZWxmLl9pbmRleCA9IHNlbGYKKworICAgIGRlZiBfZ2V0X3ByZWZlcl9maW5hbChzZWxmLCBwcmVmZXJfZmluYWw9Tm9uZSk6CisgICAgICAgICIiIlJldHVybiB0aGUgcHJlZmVyX2ZpbmFsIGludGVybmFsIHBhcmFtZXRlciBvciB0aGUgc3BlY2lmaWVkIG9uZSBpZgorICAgICAgICBwcm92aWRlZCIiIgorICAgICAgICBpZiBwcmVmZXJfZmluYWw6CisgICAgICAgICAgICByZXR1cm4gcHJlZmVyX2ZpbmFsCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByZXR1cm4gc2VsZi5fcHJlZmVyX2ZpbmFsCisKKyAgICBkZWYgX2dldF9wcmVmZXJfc291cmNlKHNlbGYsIHByZWZlcl9zb3VyY2U9Tm9uZSk6CisgICAgICAgICIiIlJldHVybiB0aGUgcHJlZmVyX3NvdXJjZSBpbnRlcm5hbCBwYXJhbWV0ZXIgb3IgdGhlIHNwZWNpZmllZCBvbmUgaWYKKyAgICAgICAgcHJvdmlkZWQiIiIKKyAgICAgICAgaWYgcHJlZmVyX3NvdXJjZToKKyAgICAgICAgICAgIHJldHVybiBwcmVmZXJfc291cmNlCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByZXR1cm4gc2VsZi5fcHJlZmVyX3NvdXJjZQorCisgICAgZGVmIF9nZXRfcHJvamVjdChzZWxmLCBwcm9qZWN0X25hbWUpOgorICAgICAgICAiIiJSZXR1cm4gYW4gcHJvamVjdCBpbnN0YW5jZSwgY3JlYXRlIGl0IGlmIG5lY2Vzc2FyeSIiIgorICAgICAgICByZXR1cm4gc2VsZi5fcHJvamVjdHMuc2V0ZGVmYXVsdChwcm9qZWN0X25hbWUubG93ZXIoKSwKKyAgICAgICAgICAgICAgICAgICAgUmVsZWFzZXNMaXN0KHByb2plY3RfbmFtZSwgaW5kZXg9c2VsZi5faW5kZXgpKQorCisgICAgZGVmIGRvd25sb2FkX2Rpc3RyaWJ1dGlvbihzZWxmLCByZXF1aXJlbWVudHMsIHRlbXBfcGF0aD1Ob25lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJlZmVyX3NvdXJjZT1Ob25lLCBwcmVmZXJfZmluYWw9Tm9uZSk6CisgICAgICAgICIiIkRvd25sb2FkIGEgZGlzdHJpYnV0aW9uIGZyb20gdGhlIGxhc3QgcmVsZWFzZSBhY2NvcmRpbmcgdG8gdGhlCisgICAgICAgIHJlcXVpcmVtZW50cy4KKworICAgICAgICBJZiB0ZW1wX3BhdGggaXMgcHJvdmlkZWQsIGRvd25sb2FkIHRvIHRoaXMgcGF0aCwgb3RoZXJ3aXNlLCBjcmVhdGUgYQorICAgICAgICB0ZW1wb3JhcnkgbG9jYXRpb24gZm9yIHRoZSBkb3dubG9hZCBhbmQgcmV0dXJuIGl0LgorICAgICAgICAiIiIKKyAgICAgICAgcHJlZmVyX2ZpbmFsID0gc2VsZi5fZ2V0X3ByZWZlcl9maW5hbChwcmVmZXJfZmluYWwpCisgICAgICAgIHByZWZlcl9zb3VyY2UgPSBzZWxmLl9nZXRfcHJlZmVyX3NvdXJjZShwcmVmZXJfc291cmNlKQorICAgICAgICByZWxlYXNlID0gc2VsZi5nZXRfcmVsZWFzZShyZXF1aXJlbWVudHMsIHByZWZlcl9maW5hbCkKKyAgICAgICAgaWYgcmVsZWFzZToKKyAgICAgICAgICAgIGRpc3QgPSByZWxlYXNlLmdldF9kaXN0cmlidXRpb24ocHJlZmVyX3NvdXJjZT1wcmVmZXJfc291cmNlKQorICAgICAgICAgICAgcmV0dXJuIGRpc3QuZG93bmxvYWQodGVtcF9wYXRoKQpkaWZmIC0tZ2l0IGEvTGliL3BhY2thZ2luZy9weXBpL2Rpc3QucHkgYi9MaWIvcGFja2FnaW5nL3B5cGkvZGlzdC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NDE0NjVlCi0tLSAvZGV2L251bGwKKysrIGIvTGliL3BhY2thZ2luZy9weXBpL2Rpc3QucHkKQEAgLTAsMCArMSw1NDQgQEAKKyIiIkNsYXNzZXMgcmVwcmVzZW50aW5nIHJlbGVhc2VzIGFuZCBkaXN0cmlidXRpb25zIHJldHJpZXZlZCBmcm9tIGluZGV4ZXMuCisKK0EgcHJvamVjdCAoPSB1bmlxdWUgbmFtZSkgY2FuIGhhdmUgc2V2ZXJhbCByZWxlYXNlcyAoPSB2ZXJzaW9ucykgYW5kCitlYWNoIHJlbGVhc2UgY2FuIGhhdmUgc2V2ZXJhbCBkaXN0cmlidXRpb25zICg9IHNkaXN0IGFuZCBiZGlzdHMpLgorCitSZWxlYXNlIG9iamVjdHMgY29udGFpbiBtZXRhZGF0YS1yZWxhdGVkIGluZm9ybWF0aW9uIChzZWUgUEVQIDM3Nik7CitkaXN0cmlidXRpb24gb2JqZWN0cyBjb250YWluIGRvd25sb2FkLXJlbGF0ZWQgaW5mb3JtYXRpb24uCisiIiIKKworaW1wb3J0IHJlCitpbXBvcnQgaGFzaGxpYgoraW1wb3J0IHRlbXBmaWxlCitpbXBvcnQgdXJsbGliLnJlcXVlc3QKK2ltcG9ydCB1cmxsaWIucGFyc2UKK2ltcG9ydCB1cmxsaWIuZXJyb3IKK2ltcG9ydCB1cmxsaWIucGFyc2UKK2Zyb20gc2h1dGlsIGltcG9ydCB1bnBhY2tfYXJjaGl2ZQorCitmcm9tIHBhY2thZ2luZy5lcnJvcnMgaW1wb3J0IElycmF0aW9uYWxWZXJzaW9uRXJyb3IKK2Zyb20gcGFja2FnaW5nLnZlcnNpb24gaW1wb3J0IChzdWdnZXN0X25vcm1hbGl6ZWRfdmVyc2lvbiwgTm9ybWFsaXplZFZlcnNpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0X3ZlcnNpb25fcHJlZGljYXRlKQorZnJvbSBwYWNrYWdpbmcubWV0YWRhdGEgaW1wb3J0IE1ldGFkYXRhCitmcm9tIHBhY2thZ2luZy5weXBpLmVycm9ycyBpbXBvcnQgKEhhc2hEb2VzTm90TWF0Y2gsIFVuc3VwcG9ydGVkSGFzaE5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENhbnRQYXJzZUFyY2hpdmVOYW1lKQorCisKK19fYWxsX18gPSBbJ1JlbGVhc2VJbmZvJywgJ0Rpc3RJbmZvJywgJ1JlbGVhc2VzTGlzdCcsICdnZXRfaW5mb3NfZnJvbV91cmwnXQorCitFWFRFTlNJT05TID0gIi50YXIuZ3ogLnRhci5iejIgLnRhciAuemlwIC50Z3ogLmVnZyIuc3BsaXQoKQorTUQ1X0hBU0ggPSByZS5jb21waWxlKHInXi4qI21kNT0oW2EtZjAtOV0rKSQnKQorRElTVF9UWVBFUyA9IFsnYmRpc3QnLCAnc2Rpc3QnXQorCisKK2NsYXNzIEluZGV4UmVmZXJlbmNlOgorICAgICIiIk1peGluIHVzZWQgdG8gc3RvcmUgdGhlIGluZGV4IHJlZmVyZW5jZSIiIgorICAgIGRlZiBzZXRfaW5kZXgoc2VsZiwgaW5kZXg9Tm9uZSk6CisgICAgICAgIHNlbGYuX2luZGV4ID0gaW5kZXgKKworCitjbGFzcyBSZWxlYXNlSW5mbyhJbmRleFJlZmVyZW5jZSk6CisgICAgIiIiUmVwcmVzZW50IGEgcmVsZWFzZSBvZiBhIHByb2plY3QgKGEgcHJvamVjdCB3aXRoIGEgc3BlY2lmaWMgdmVyc2lvbikuCisgICAgVGhlIHJlbGVhc2UgY29udGFpbiB0aGUgX21ldGFkYXRhIGluZm9ybWF0aW9ucyByZWxhdGVkIHRvIHRoaXMgc3BlY2lmaWMKKyAgICB2ZXJzaW9uLCBhbmQgaXMgYWxzbyBhIGNvbnRhaW5lciBmb3IgZGlzdHJpYnV0aW9uIHJlbGF0ZWQgaW5mb3JtYXRpb25zLgorCisgICAgU2VlIHRoZSBEaXN0SW5mbyBjbGFzcyBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCBkaXN0cmlidXRpb25zLgorICAgICIiIgorCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIG5hbWUsIHZlcnNpb24sIG1ldGFkYXRhPU5vbmUsIGhpZGRlbj1GYWxzZSwKKyAgICAgICAgICAgICAgICAgaW5kZXg9Tm9uZSwgKiprd2FyZ3MpOgorICAgICAgICAiIiIKKyAgICAgICAgOnBhcmFtIG5hbWU6IHRoZSBuYW1lIG9mIHRoZSBkaXN0cmlidXRpb24KKyAgICAgICAgOnBhcmFtIHZlcnNpb246IHRoZSB2ZXJzaW9uIG9mIHRoZSBkaXN0cmlidXRpb24KKyAgICAgICAgOnBhcmFtIG1ldGFkYXRhOiB0aGUgbWV0YWRhdGEgZmllbGRzIG9mIHRoZSByZWxlYXNlLgorICAgICAgICA6dHlwZSBtZXRhZGF0YTogZGljdAorICAgICAgICA6cGFyYW0ga3dhcmdzOiBvcHRpb25hbCBhcmd1bWVudHMgZm9yIGEgbmV3IGRpc3RyaWJ1dGlvbi4KKyAgICAgICAgIiIiCisgICAgICAgIHNlbGYuc2V0X2luZGV4KGluZGV4KQorICAgICAgICBzZWxmLm5hbWUgPSBuYW1lCisgICAgICAgIHNlbGYuX3ZlcnNpb24gPSBOb25lCisgICAgICAgIHNlbGYudmVyc2lvbiA9IHZlcnNpb24KKyAgICAgICAgaWYgbWV0YWRhdGE6CisgICAgICAgICAgICBzZWxmLm1ldGFkYXRhID0gTWV0YWRhdGEobWFwcGluZz1tZXRhZGF0YSkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHNlbGYubWV0YWRhdGEgPSBOb25lCisgICAgICAgIHNlbGYuZGlzdHMgPSB7fQorICAgICAgICBzZWxmLmhpZGRlbiA9IGhpZGRlbgorCisgICAgICAgIGlmICdkaXN0X3R5cGUnIGluIGt3YXJnczoKKyAgICAgICAgICAgIGRpc3RfdHlwZSA9IGt3YXJncy5wb3AoJ2Rpc3RfdHlwZScpCisgICAgICAgICAgICBzZWxmLmFkZF9kaXN0cmlidXRpb24oZGlzdF90eXBlLCAqKmt3YXJncykKKworICAgIGRlZiBzZXRfdmVyc2lvbihzZWxmLCB2ZXJzaW9uKToKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgc2VsZi5fdmVyc2lvbiA9IE5vcm1hbGl6ZWRWZXJzaW9uKHZlcnNpb24pCisgICAgICAgIGV4Y2VwdCBJcnJhdGlvbmFsVmVyc2lvbkVycm9yOgorICAgICAgICAgICAgc3VnZ2VzdGlvbiA9IHN1Z2dlc3Rfbm9ybWFsaXplZF92ZXJzaW9uKHZlcnNpb24pCisgICAgICAgICAgICBpZiBzdWdnZXN0aW9uOgorICAgICAgICAgICAgICAgIHNlbGYudmVyc2lvbiA9IHN1Z2dlc3Rpb24KKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgcmFpc2UgSXJyYXRpb25hbFZlcnNpb25FcnJvcih2ZXJzaW9uKQorCisgICAgZGVmIGdldF92ZXJzaW9uKHNlbGYpOgorICAgICAgICByZXR1cm4gc2VsZi5fdmVyc2lvbgorCisgICAgdmVyc2lvbiA9IHByb3BlcnR5KGdldF92ZXJzaW9uLCBzZXRfdmVyc2lvbikKKworICAgIGRlZiBmZXRjaF9tZXRhZGF0YShzZWxmKToKKyAgICAgICAgIiIiSWYgdGhlIG1ldGFkYXRhIGlzIG5vdCBzZXQsIHVzZSB0aGUgaW5kZXhlcyB0byBnZXQgaXQiIiIKKyAgICAgICAgaWYgbm90IHNlbGYubWV0YWRhdGE6CisgICAgICAgICAgICBzZWxmLl9pbmRleC5nZXRfbWV0YWRhdGEoc2VsZi5uYW1lLCBzdHIoc2VsZi52ZXJzaW9uKSkKKyAgICAgICAgcmV0dXJuIHNlbGYubWV0YWRhdGEKKworICAgIEBwcm9wZXJ0eQorICAgIGRlZiBpc19maW5hbChzZWxmKToKKyAgICAgICAgIiIicHJveHkgdG8gdmVyc2lvbi5pc19maW5hbCIiIgorICAgICAgICByZXR1cm4gc2VsZi52ZXJzaW9uLmlzX2ZpbmFsCisKKyAgICBkZWYgZmV0Y2hfZGlzdHJpYnV0aW9ucyhzZWxmKToKKyAgICAgICAgaWYgc2VsZi5kaXN0cyBpcyBOb25lOgorICAgICAgICAgICAgc2VsZi5faW5kZXguZ2V0X2Rpc3RyaWJ1dGlvbnMoc2VsZi5uYW1lLCBzdHIoc2VsZi52ZXJzaW9uKSkKKyAgICAgICAgICAgIGlmIHNlbGYuZGlzdHMgaXMgTm9uZToKKyAgICAgICAgICAgICAgICBzZWxmLmRpc3RzID0ge30KKyAgICAgICAgcmV0dXJuIHNlbGYuZGlzdHMKKworICAgIGRlZiBhZGRfZGlzdHJpYnV0aW9uKHNlbGYsIGRpc3RfdHlwZT0nc2Rpc3QnLCBweXRob25fdmVyc2lvbj1Ob25lLAorICAgICAgICAgICAgICAgICAgICAgICAgICoqcGFyYW1zKToKKyAgICAgICAgIiIiQWRkIGRpc3RyaWJ1dGlvbiBpbmZvcm1hdGlvbnMgdG8gdGhpcyByZWxlYXNlLgorICAgICAgICBJZiBkaXN0cmlidXRpb24gaW5mb3JtYXRpb24gaXMgYWxyZWFkeSBzZXQgZm9yIHRoaXMgZGlzdHJpYnV0aW9uIHR5cGUsCisgICAgICAgIGFkZCB0aGUgZ2l2ZW4gdXJsIHBhdGhzIHRvIHRoZSBkaXN0cmlidXRpb24uIFRoaXMgY2FuIGJlIHVzZWZ1bCB3aGlsZQorICAgICAgICBzb21lIG9mIHRoZW0gZmFpbHMgdG8gZG93bmxvYWQuCisKKyAgICAgICAgOnBhcmFtIGRpc3RfdHlwZTogdGhlIGRpc3RyaWJ1dGlvbiB0eXBlIChlZy4gInNkaXN0IiwgImJkaXN0IiwgZXRjLikKKyAgICAgICAgOnBhcmFtIHBhcmFtczogdGhlIGZpZWxkcyB0byBiZSBwYXNzZWQgdG8gdGhlIGRpc3RyaWJ1dGlvbiBvYmplY3QKKyAgICAgICAgICAgICAgICAgICAgICAgKHNlZSB0aGUgOmNsYXNzOkRpc3RJbmZvIGNvbnN0cnVjdG9yKS4KKyAgICAgICAgIiIiCisgICAgICAgIGlmIGRpc3RfdHlwZSBub3QgaW4gRElTVF9UWVBFUzoKKyAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoZGlzdF90eXBlKQorICAgICAgICBpZiBkaXN0X3R5cGUgaW4gc2VsZi5kaXN0czoKKyAgICAgICAgICAgIHNlbGYuZGlzdHNbZGlzdF90eXBlXS5hZGRfdXJsKCoqcGFyYW1zKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgc2VsZi5kaXN0c1tkaXN0X3R5cGVdID0gRGlzdEluZm8oc2VsZiwgZGlzdF90eXBlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXg9c2VsZi5faW5kZXgsICoqcGFyYW1zKQorICAgICAgICBpZiBweXRob25fdmVyc2lvbjoKKyAgICAgICAgICAgIHNlbGYuZGlzdHNbZGlzdF90eXBlXS5weXRob25fdmVyc2lvbiA9IHB5dGhvbl92ZXJzaW9uCisKKyAgICBkZWYgZ2V0X2Rpc3RyaWJ1dGlvbihzZWxmLCBkaXN0X3R5cGU9Tm9uZSwgcHJlZmVyX3NvdXJjZT1UcnVlKToKKyAgICAgICAgIiIiUmV0dXJuIGEgZGlzdHJpYnV0aW9uLgorCisgICAgICAgIElmIGRpc3RfdHlwZSBpcyBzZXQsIGZpbmQgZmlyc3QgZm9yIHRoaXMgZGlzdHJpYnV0aW9uIHR5cGUsIGFuZCBqdXN0CisgICAgICAgIGFjdCBhcyBhbiBhbGlhcyBvZiBfX2dldF9pdGVtX18uCisKKyAgICAgICAgSWYgcHJlZmVyX3NvdXJjZSBpcyBUcnVlLCBzZWFyY2ggZmlyc3QgZm9yIHNvdXJjZSBkaXN0cmlidXRpb24sIGFuZCBpZgorICAgICAgICBub3QgcmV0dXJuIG9uZSBleGlzdGluZyBkaXN0cmlidXRpb24uCisgICAgICAgICIiIgorICAgICAgICBpZiBsZW4oc2VsZi5kaXN0cykgPT0gMDoKKyAgICAgICAgICAgIHJhaXNlIExvb2t1cEVycm9yCisgICAgICAgIGlmIGRpc3RfdHlwZToKKyAgICAgICAgICAgIHJldHVybiBzZWxmW2Rpc3RfdHlwZV0KKyAgICAgICAgaWYgcHJlZmVyX3NvdXJjZToKKyAgICAgICAgICAgIGlmICJzZGlzdCIgaW4gc2VsZi5kaXN0czoKKyAgICAgICAgICAgICAgICBkaXN0ID0gc2VsZlsic2Rpc3QiXQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBkaXN0ID0gbmV4dChzZWxmLmRpc3RzLnZhbHVlcygpKQorICAgICAgICAgICAgcmV0dXJuIGRpc3QKKworICAgIGRlZiB1bnBhY2soc2VsZiwgcGF0aD1Ob25lLCBwcmVmZXJfc291cmNlPVRydWUpOgorICAgICAgICAiIiJVbnBhY2sgdGhlIGRpc3RyaWJ1dGlvbiB0byB0aGUgZ2l2ZW4gcGF0aC4KKworICAgICAgICBJZiBub3QgZGVzdGluYXRpb24gaXMgZ2l2ZW4sIGNyZWF0ZXMgYSB0ZW1wb3JhcnkgbG9jYXRpb24uCisKKyAgICAgICAgUmV0dXJucyB0aGUgbG9jYXRpb24gb2YgdGhlIGV4dHJhY3RlZCBmaWxlcyAocm9vdCkuCisgICAgICAgICIiIgorICAgICAgICByZXR1cm4gc2VsZi5nZXRfZGlzdHJpYnV0aW9uKHByZWZlcl9zb3VyY2U9cHJlZmVyX3NvdXJjZSlcCisgICAgICAgICAgICAgICAgICAgLnVucGFjayhwYXRoPXBhdGgpCisKKyAgICBkZWYgZG93bmxvYWQoc2VsZiwgdGVtcF9wYXRoPU5vbmUsIHByZWZlcl9zb3VyY2U9VHJ1ZSk6CisgICAgICAgICIiIkRvd25sb2FkIHRoZSBkaXN0cmlidXRpb24sIHVzaW5nIHRoZSByZXF1aXJlbWVudHMuCisKKyAgICAgICAgSWYgbW9yZSB0aGFuIG9uZSBkaXN0cmlidXRpb24gbWF0Y2ggdGhlIHJlcXVpcmVtZW50cywgdXNlIHRoZSBsYXN0CisgICAgICAgIHZlcnNpb24uCisgICAgICAgIERvd25sb2FkIHRoZSBkaXN0cmlidXRpb24sIGFuZCBwdXQgaXQgaW4gdGhlIHRlbXBfcGF0aC4gSWYgbm8gdGVtcF9wYXRoCisgICAgICAgIGlzIGdpdmVuLCBjcmVhdGVzIGFuZCByZXR1cm4gb25lLgorCisgICAgICAgIFJldHVybnMgdGhlIGNvbXBsZXRlIGFic29sdXRlIHBhdGggdG8gdGhlIGRvd25sb2FkZWQgYXJjaGl2ZS4KKyAgICAgICAgIiIiCisgICAgICAgIHJldHVybiBzZWxmLmdldF9kaXN0cmlidXRpb24ocHJlZmVyX3NvdXJjZT1wcmVmZXJfc291cmNlKVwKKyAgICAgICAgICAgICAgICAgICAuZG93bmxvYWQocGF0aD10ZW1wX3BhdGgpCisKKyAgICBkZWYgc2V0X21ldGFkYXRhKHNlbGYsIG1ldGFkYXRhKToKKyAgICAgICAgaWYgbm90IHNlbGYubWV0YWRhdGE6CisgICAgICAgICAgICBzZWxmLm1ldGFkYXRhID0gTWV0YWRhdGEoKQorICAgICAgICBzZWxmLm1ldGFkYXRhLnVwZGF0ZShtZXRhZGF0YSkKKworICAgIGRlZiBfX2dldGl0ZW1fXyhzZWxmLCBpdGVtKToKKyAgICAgICAgIiIiZGlzdHJpYnV0aW9ucyBhcmUgYXZhaWxhYmxlIHVzaW5nIHJlbGVhc2VbInNkaXN0Il0iIiIKKyAgICAgICAgcmV0dXJuIHNlbGYuZGlzdHNbaXRlbV0KKworICAgIGRlZiBfY2hlY2tfaXNfY29tcGFyYWJsZShzZWxmLCBvdGhlcik6CisgICAgICAgIGlmIG5vdCBpc2luc3RhbmNlKG90aGVyLCBSZWxlYXNlSW5mbyk6CisgICAgICAgICAgICByYWlzZSBUeXBlRXJyb3IoImNhbm5vdCBjb21wYXJlICVzIGFuZCAlcyIKKyAgICAgICAgICAgICAgICAlICh0eXBlKHNlbGYpLl9fbmFtZV9fLCB0eXBlKG90aGVyKS5fX25hbWVfXykpCisgICAgICAgIGVsaWYgc2VsZi5uYW1lICE9IG90aGVyLm5hbWU6CisgICAgICAgICAgICByYWlzZSBUeXBlRXJyb3IoImNhbm5vdCBjb21wYXJlICVzIGFuZCAlcyIKKyAgICAgICAgICAgICAgICAlIChzZWxmLm5hbWUsIG90aGVyLm5hbWUpKQorCisgICAgZGVmIF9fcmVwcl9fKHNlbGYpOgorICAgICAgICByZXR1cm4gIjwlcyAlcz4iICUgKHNlbGYubmFtZSwgc2VsZi52ZXJzaW9uKQorCisgICAgZGVmIF9fZXFfXyhzZWxmLCBvdGhlcik6CisgICAgICAgIHNlbGYuX2NoZWNrX2lzX2NvbXBhcmFibGUob3RoZXIpCisgICAgICAgIHJldHVybiBzZWxmLnZlcnNpb24gPT0gb3RoZXIudmVyc2lvbgorCisgICAgZGVmIF9fbHRfXyhzZWxmLCBvdGhlcik6CisgICAgICAgIHNlbGYuX2NoZWNrX2lzX2NvbXBhcmFibGUob3RoZXIpCisgICAgICAgIHJldHVybiBzZWxmLnZlcnNpb24gPCBvdGhlci52ZXJzaW9uCisKKyAgICBkZWYgX19uZV9fKHNlbGYsIG90aGVyKToKKyAgICAgICAgcmV0dXJuIG5vdCBzZWxmLl9fZXFfXyhvdGhlcikKKworICAgIGRlZiBfX2d0X18oc2VsZiwgb3RoZXIpOgorICAgICAgICByZXR1cm4gbm90IChzZWxmLl9fbHRfXyhvdGhlcikgb3Igc2VsZi5fX2VxX18ob3RoZXIpKQorCisgICAgZGVmIF9fbGVfXyhzZWxmLCBvdGhlcik6CisgICAgICAgIHJldHVybiBzZWxmLl9fZXFfXyhvdGhlcikgb3Igc2VsZi5fX2x0X18ob3RoZXIpCisKKyAgICBkZWYgX19nZV9fKHNlbGYsIG90aGVyKToKKyAgICAgICAgcmV0dXJuIHNlbGYuX19lcV9fKG90aGVyKSBvciBzZWxmLl9fZ3RfXyhvdGhlcikKKworICAgICMgU2VlIGh0dHA6Ly9kb2NzLnB5dGhvbi5vcmcvcmVmZXJlbmNlL2RhdGFtb2RlbCNvYmplY3QuX19oYXNoX18KKyAgICBfX2hhc2hfXyA9IG9iamVjdC5fX2hhc2hfXworCisKK2NsYXNzIERpc3RJbmZvKEluZGV4UmVmZXJlbmNlKToKKyAgICAiIiJSZXByZXNlbnRzIGEgZGlzdHJpYnV0aW9uIHJldHJpZXZlZCBmcm9tIGFuIGluZGV4IChzZGlzdCwgYmRpc3QsIC4uLikKKyAgICAiIiIKKworICAgIGRlZiBfX2luaXRfXyhzZWxmLCByZWxlYXNlLCBkaXN0X3R5cGU9Tm9uZSwgdXJsPU5vbmUsIGhhc2huYW1lPU5vbmUsCisgICAgICAgICAgICAgICAgIGhhc2h2YWw9Tm9uZSwgaXNfZXh0ZXJuYWw9VHJ1ZSwgcHl0aG9uX3ZlcnNpb249Tm9uZSwKKyAgICAgICAgICAgICAgICAgaW5kZXg9Tm9uZSk6CisgICAgICAgICIiIkNyZWF0ZSBhIG5ldyBpbnN0YW5jZSBvZiBEaXN0SW5mby4KKworICAgICAgICA6cGFyYW0gcmVsZWFzZTogYSBEaXN0SW5mbyBjbGFzcyBpcyByZWxhdGl2ZSB0byBhIHJlbGVhc2UuCisgICAgICAgIDpwYXJhbSBkaXN0X3R5cGU6IHRoZSB0eXBlIG9mIHRoZSBkaXN0IChlZy4gc291cmNlLCBiaW4tKiwgZXRjLikKKyAgICAgICAgOnBhcmFtIHVybDogVVJMIHdoZXJlIHdlIGZvdW5kIHRoaXMgZGlzdHJpYnV0aW9uCisgICAgICAgIDpwYXJhbSBoYXNobmFtZTogdGhlIG5hbWUgb2YgdGhlIGhhc2ggd2Ugd2FudCB0byB1c2UuIFJlZmVyIHRvIHRoZQorICAgICAgICAgICAgICAgICAgICAgICAgIGhhc2hsaWIubmV3IGRvY3VtZW50YXRpb24gZm9yIG1vcmUgaW5mb3JtYXRpb24uCisgICAgICAgIDpwYXJhbSBoYXNodmFsOiB0aGUgaGFzaCB2YWx1ZS4KKyAgICAgICAgOnBhcmFtIGlzX2V4dGVybmFsOiB3ZSBuZWVkIHRvIGtub3cgaWYgdGhlIHByb3ZpZGVkIHVybCBjb21lcyBmcm9tCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW4gaW5kZXggYnJvd3NpbmcsIG9yIGZyb20gYW4gZXh0ZXJuYWwgcmVzb3VyY2UuCisKKyAgICAgICAgIiIiCisgICAgICAgIHNlbGYuc2V0X2luZGV4KGluZGV4KQorICAgICAgICBzZWxmLnJlbGVhc2UgPSByZWxlYXNlCisgICAgICAgIHNlbGYuZGlzdF90eXBlID0gZGlzdF90eXBlCisgICAgICAgIHNlbGYucHl0aG9uX3ZlcnNpb24gPSBweXRob25fdmVyc2lvbgorICAgICAgICBzZWxmLl91bnBhY2tlZF9kaXIgPSBOb25lCisgICAgICAgICMgc2V0IHRoZSBkb3dubG9hZGVkIHBhdGggdG8gTm9uZSBieSBkZWZhdWx0LiBUaGUgZ29hbCBoZXJlCisgICAgICAgICMgaXMgdG8gbm90IGRvd25sb2FkIGRpc3RyaWJ1dGlvbnMgbXVsdGlwbGUgdGltZXMKKyAgICAgICAgc2VsZi5kb3dubG9hZGVkX2xvY2F0aW9uID0gTm9uZQorICAgICAgICAjIFdlIHN0b3JlIHVybHMgaW4gZGljdCwgYmVjYXVzZSB3ZSBuZWVkIHRvIGhhdmUgYSBiaXQgbW9yZSBpbmZvcworICAgICAgICAjIHRoYW4gdGhlIHNpbXBsZSBVUkwuIEl0IHdpbGwgYmUgdXNlZCBsYXRlciB0byBmaW5kIHRoZSBnb29kIHVybCB0bworICAgICAgICAjIHVzZS4KKyAgICAgICAgIyBXZSBoYXZlIHR3byBfdXJsKiBhdHRyaWJ1dGVzOiBfdXJsIGFuZCB1cmxzLiB1cmxzIGNvbnRhaW5zIGEgbGlzdAorICAgICAgICAjIG9mIGRpY3QgZm9yIHRoZSBkaWZmZXJlbnQgdXJscywgYW5kIF91cmwgY29udGFpbnMgdGhlIGNob29zZW4gdXJsLCBpbgorICAgICAgICAjIG9yZGVyIHRvIGRvbnQgbWFrZSB0aGUgc2VsZWN0aW9uIHByb2Nlc3MgbXVsdGlwbGUgdGltZXMuCisgICAgICAgIHNlbGYudXJscyA9IFtdCisgICAgICAgIHNlbGYuX3VybCA9IE5vbmUKKyAgICAgICAgc2VsZi5hZGRfdXJsKHVybCwgaGFzaG5hbWUsIGhhc2h2YWwsIGlzX2V4dGVybmFsKQorCisgICAgZGVmIGFkZF91cmwoc2VsZiwgdXJsPU5vbmUsIGhhc2huYW1lPU5vbmUsIGhhc2h2YWw9Tm9uZSwgaXNfZXh0ZXJuYWw9VHJ1ZSk6CisgICAgICAgICIiIkFkZCBhIG5ldyB1cmwgdG8gdGhlIGxpc3Qgb2YgdXJscyIiIgorICAgICAgICBpZiBoYXNobmFtZSBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBoYXNobGliLm5ldyhoYXNobmFtZSkKKyAgICAgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yOgorICAgICAgICAgICAgICAgIHJhaXNlIFVuc3VwcG9ydGVkSGFzaE5hbWUoaGFzaG5hbWUpCisgICAgICAgIGlmIHVybCBub3QgaW4gW3VbJ3VybCddIGZvciB1IGluIHNlbGYudXJsc106CisgICAgICAgICAgICBzZWxmLnVybHMuYXBwZW5kKHsKKyAgICAgICAgICAgICAgICAndXJsJzogdXJsLAorICAgICAgICAgICAgICAgICdoYXNobmFtZSc6IGhhc2huYW1lLAorICAgICAgICAgICAgICAgICdoYXNodmFsJzogaGFzaHZhbCwKKyAgICAgICAgICAgICAgICAnaXNfZXh0ZXJuYWwnOiBpc19leHRlcm5hbCwKKyAgICAgICAgICAgIH0pCisgICAgICAgICAgICAjIHJlc2V0IHRoZSB1cmwgc2VsZWN0aW9uIHByb2Nlc3MKKyAgICAgICAgICAgIHNlbGYuX3VybCA9IE5vbmUKKworICAgIEBwcm9wZXJ0eQorICAgIGRlZiB1cmwoc2VsZik6CisgICAgICAgICIiIlBpY2sgdXAgdGhlIHJpZ2h0IHVybCBmb3IgdGhlIGxpc3Qgb2YgdXJscyBpbiBzZWxmLnVybHMiIiIKKyAgICAgICAgIyBXZSByZXR1cm4gaW50ZXJuYWwgdXJscyBvdmVyIGV4dGVybmFscy4KKyAgICAgICAgIyBJZiB0aGVyZSBpcyBtb3JlIHRoYW4gb25lIGludGVybmFsIG9yIGV4dGVybmFsLCByZXR1cm4gdGhlIGZpcnN0CisgICAgICAgICMgb25lLgorICAgICAgICBpZiBzZWxmLl91cmwgaXMgTm9uZToKKyAgICAgICAgICAgIGlmIGxlbihzZWxmLnVybHMpID4gMToKKyAgICAgICAgICAgICAgICBpbnRlcm5hbHNfdXJscyA9IFt1IGZvciB1IGluIHNlbGYudXJscyBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgdVsnaXNfZXh0ZXJuYWwnXSA9PSBGYWxzZV0KKyAgICAgICAgICAgICAgICBpZiBsZW4oaW50ZXJuYWxzX3VybHMpID49IDE6CisgICAgICAgICAgICAgICAgICAgIHNlbGYuX3VybCA9IGludGVybmFsc191cmxzWzBdCisgICAgICAgICAgICBpZiBzZWxmLl91cmwgaXMgTm9uZToKKyAgICAgICAgICAgICAgICBzZWxmLl91cmwgPSBzZWxmLnVybHNbMF0KKyAgICAgICAgcmV0dXJuIHNlbGYuX3VybAorCisgICAgQHByb3BlcnR5CisgICAgZGVmIGlzX3NvdXJjZShzZWxmKToKKyAgICAgICAgIiIicmV0dXJuIGlmIHRoZSBkaXN0cmlidXRpb24gaXMgYSBzb3VyY2Ugb25lIG9yIG5vdCIiIgorICAgICAgICByZXR1cm4gc2VsZi5kaXN0X3R5cGUgPT0gJ3NkaXN0JworCisgICAgZGVmIGRvd25sb2FkKHNlbGYsIHBhdGg9Tm9uZSk6CisgICAgICAgICIiIkRvd25sb2FkIHRoZSBkaXN0cmlidXRpb24gdG8gYSBwYXRoLCBhbmQgcmV0dXJuIGl0LgorCisgICAgICAgIElmIHRoZSBwYXRoIGlzIGdpdmVuIGluIHBhdGgsIHVzZSB0aGlzLCBvdGhlcndpc2UsIGdlbmVyYXRlcyBhIG5ldyBvbmUKKyAgICAgICAgUmV0dXJuIHRoZSBkb3dubG9hZCBsb2NhdGlvbi4KKyAgICAgICAgIiIiCisgICAgICAgIGlmIHBhdGggaXMgTm9uZToKKyAgICAgICAgICAgIHBhdGggPSB0ZW1wZmlsZS5ta2R0ZW1wKCkKKworICAgICAgICAjIGlmIHdlIGRvIG5vdCBoYXZlIGRvd25sb2FkZWQgaXQgeWV0LCBkbyBpdC4KKyAgICAgICAgaWYgc2VsZi5kb3dubG9hZGVkX2xvY2F0aW9uIGlzIE5vbmU6CisgICAgICAgICAgICB1cmwgPSBzZWxmLnVybFsndXJsJ10KKyAgICAgICAgICAgIGFyY2hpdmVfbmFtZSA9IHVybGxpYi5wYXJzZS51cmxwYXJzZSh1cmwpWzJdLnNwbGl0KCcvJylbLTFdCisgICAgICAgICAgICBmaWxlbmFtZSwgaGVhZGVycyA9IHVybGxpYi5yZXF1ZXN0LnVybHJldHJpZXZlKHVybCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGggKyAiLyIgKyBhcmNoaXZlX25hbWUpCisgICAgICAgICAgICBzZWxmLmRvd25sb2FkZWRfbG9jYXRpb24gPSBmaWxlbmFtZQorICAgICAgICAgICAgc2VsZi5fY2hlY2tfbWQ1KGZpbGVuYW1lKQorICAgICAgICByZXR1cm4gc2VsZi5kb3dubG9hZGVkX2xvY2F0aW9uCisKKyAgICBkZWYgdW5wYWNrKHNlbGYsIHBhdGg9Tm9uZSk6CisgICAgICAgICIiIlVucGFjayB0aGUgZGlzdHJpYnV0aW9uIHRvIHRoZSBnaXZlbiBwYXRoLgorCisgICAgICAgIElmIG5vdCBkZXN0aW5hdGlvbiBpcyBnaXZlbiwgY3JlYXRlcyBhIHRlbXBvcmFyeSBsb2NhdGlvbi4KKworICAgICAgICBSZXR1cm5zIHRoZSBsb2NhdGlvbiBvZiB0aGUgZXh0cmFjdGVkIGZpbGVzIChyb290KS4KKyAgICAgICAgIiIiCisgICAgICAgIGlmIG5vdCBzZWxmLl91bnBhY2tlZF9kaXI6CisgICAgICAgICAgICBpZiBwYXRoIGlzIE5vbmU6CisgICAgICAgICAgICAgICAgcGF0aCA9IHRlbXBmaWxlLm1rZHRlbXAoKQorCisgICAgICAgICAgICBmaWxlbmFtZSA9IHNlbGYuZG93bmxvYWQocGF0aCkKKyAgICAgICAgICAgIHVucGFja19hcmNoaXZlKGZpbGVuYW1lLCBwYXRoKQorICAgICAgICAgICAgc2VsZi5fdW5wYWNrZWRfZGlyID0gcGF0aAorCisgICAgICAgIHJldHVybiBwYXRoCisKKyAgICBkZWYgX2NoZWNrX21kNShzZWxmLCBmaWxlbmFtZSk6CisgICAgICAgICIiIkNoZWNrIHRoYXQgdGhlIG1kNSBjaGVja3N1bSBvZiB0aGUgZ2l2ZW4gZmlsZSBtYXRjaGVzIHRoZSBvbmUgaW4KKyAgICAgICAgdXJsIHBhcmFtIiIiCisgICAgICAgIGhhc2huYW1lID0gc2VsZi51cmxbJ2hhc2huYW1lJ10KKyAgICAgICAgZXhwZWN0ZWRfaGFzaHZhbCA9IHNlbGYudXJsWydoYXNodmFsJ10KKyAgICAgICAgaWYgTm9uZSBub3QgaW4gKGV4cGVjdGVkX2hhc2h2YWwsIGhhc2huYW1lKToKKyAgICAgICAgICAgIHdpdGggb3BlbihmaWxlbmFtZSwgJ3JiJykgYXMgZjoKKyAgICAgICAgICAgICAgICBoYXNodmFsID0gaGFzaGxpYi5uZXcoaGFzaG5hbWUpCisgICAgICAgICAgICAgICAgaGFzaHZhbC51cGRhdGUoZi5yZWFkKCkpCisKKyAgICAgICAgICAgIGlmIGhhc2h2YWwuaGV4ZGlnZXN0KCkgIT0gZXhwZWN0ZWRfaGFzaHZhbDoKKyAgICAgICAgICAgICAgICByYWlzZSBIYXNoRG9lc05vdE1hdGNoKCJnb3QgJXMgaW5zdGVhZCBvZiAlcyIKKyAgICAgICAgICAgICAgICAgICAgJSAoaGFzaHZhbC5oZXhkaWdlc3QoKSwgZXhwZWN0ZWRfaGFzaHZhbCkpCisKKyAgICBkZWYgX19yZXByX18oc2VsZik6CisgICAgICAgIGlmIHNlbGYucmVsZWFzZSBpcyBOb25lOgorICAgICAgICAgICAgcmV0dXJuICI8PyA/ICVzPiIgJSBzZWxmLmRpc3RfdHlwZQorCisgICAgICAgIHJldHVybiAiPCVzICVzICVzPiIgJSAoCisgICAgICAgICAgICBzZWxmLnJlbGVhc2UubmFtZSwgc2VsZi5yZWxlYXNlLnZlcnNpb24sIHNlbGYuZGlzdF90eXBlIG9yICIiKQorCisKK2NsYXNzIFJlbGVhc2VzTGlzdChJbmRleFJlZmVyZW5jZSk6CisgICAgIiIiQSBjb250YWluZXIgb2YgUmVsZWFzZS4KKworICAgIFByb3ZpZGVzIHVzZWZ1bCBtZXRob2RzIGFuZCBmYWNpbGl0aWVzIHRvIHNvcnQgYW5kIGZpbHRlciByZWxlYXNlcy4KKyAgICAiIiIKKyAgICBkZWYgX19pbml0X18oc2VsZiwgbmFtZSwgcmVsZWFzZXM9Tm9uZSwgY29udGFpbnNfaGlkZGVuPUZhbHNlLCBpbmRleD1Ob25lKToKKyAgICAgICAgc2VsZi5zZXRfaW5kZXgoaW5kZXgpCisgICAgICAgIHNlbGYucmVsZWFzZXMgPSBbXQorICAgICAgICBzZWxmLm5hbWUgPSBuYW1lCisgICAgICAgIHNlbGYuY29udGFpbnNfaGlkZGVuID0gY29udGFpbnNfaGlkZGVuCisgICAgICAgIGlmIHJlbGVhc2VzOgorICAgICAgICAgICAgc2VsZi5hZGRfcmVsZWFzZXMocmVsZWFzZXMpCisKKyAgICBkZWYgZmV0Y2hfcmVsZWFzZXMoc2VsZik6CisgICAgICAgIHNlbGYuX2luZGV4LmdldF9yZWxlYXNlcyhzZWxmLm5hbWUpCisgICAgICAgIHJldHVybiBzZWxmLnJlbGVhc2VzCisKKyAgICBkZWYgZmlsdGVyKHNlbGYsIHByZWRpY2F0ZSk6CisgICAgICAgICIiIkZpbHRlciBhbmQgcmV0dXJuIGEgc3Vic2V0IG9mIHJlbGVhc2VzIG1hdGNoaW5nIHRoZSBnaXZlbiBwcmVkaWNhdGUuCisgICAgICAgICIiIgorICAgICAgICByZXR1cm4gUmVsZWFzZXNMaXN0KHNlbGYubmFtZSwgW3JlbGVhc2UgZm9yIHJlbGVhc2UgaW4gc2VsZi5yZWxlYXNlcworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIHByZWRpY2F0ZS5tYXRjaChyZWxlYXNlLnZlcnNpb24pXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRleD1zZWxmLl9pbmRleCkKKworICAgIGRlZiBnZXRfbGFzdChzZWxmLCByZXF1aXJlbWVudHMsIHByZWZlcl9maW5hbD1Ob25lKToKKyAgICAgICAgIiIiUmV0dXJuIHRoZSAibGFzdCIgcmVsZWFzZSwgdGhhdCBzYXRpc2Z5IHRoZSBnaXZlbiBwcmVkaWNhdGVzLgorCisgICAgICAgICJsYXN0IiBpcyBkZWZpbmVkIGJ5IHRoZSB2ZXJzaW9uIG51bWJlciBvZiB0aGUgcmVsZWFzZXMsIHlvdSBhbHNvIGNvdWxkCisgICAgICAgIHNldCBwcmVmZXJfZmluYWwgcGFyYW1ldGVyIHRvIFRydWUgb3IgRmFsc2UgdG8gY2hhbmdlIHRoZSBvcmRlciByZXN1bHRzCisgICAgICAgICIiIgorICAgICAgICBwcmVkaWNhdGUgPSBnZXRfdmVyc2lvbl9wcmVkaWNhdGUocmVxdWlyZW1lbnRzKQorICAgICAgICByZWxlYXNlcyA9IHNlbGYuZmlsdGVyKHByZWRpY2F0ZSkKKyAgICAgICAgaWYgbGVuKHJlbGVhc2VzKSA9PSAwOgorICAgICAgICAgICAgcmV0dXJuIE5vbmUKKyAgICAgICAgcmVsZWFzZXMuc29ydF9yZWxlYXNlcyhwcmVmZXJfZmluYWwsIHJldmVyc2U9VHJ1ZSkKKyAgICAgICAgcmV0dXJuIHJlbGVhc2VzWzBdCisKKyAgICBkZWYgYWRkX3JlbGVhc2VzKHNlbGYsIHJlbGVhc2VzKToKKyAgICAgICAgIiIiQWRkIHJlbGVhc2VzIGluIHRoZSByZWxlYXNlIGxpc3QuCisKKyAgICAgICAgOnBhcmFtOiByZWxlYXNlcyBpcyBhIGxpc3Qgb2YgUmVsZWFzZUluZm8gb2JqZWN0cy4KKyAgICAgICAgIiIiCisgICAgICAgIGZvciByIGluIHJlbGVhc2VzOgorICAgICAgICAgICAgc2VsZi5hZGRfcmVsZWFzZShyZWxlYXNlPXIpCisKKyAgICBkZWYgYWRkX3JlbGVhc2Uoc2VsZiwgdmVyc2lvbj1Ob25lLCBkaXN0X3R5cGU9J3NkaXN0JywgcmVsZWFzZT1Ob25lLAorICAgICAgICAgICAgICAgICAgICAqKmRpc3RfYXJncyk6CisgICAgICAgICIiIkFkZCBhIHJlbGVhc2UgdG8gdGhlIGxpc3QuCisKKyAgICAgICAgVGhlIHJlbGVhc2UgY2FuIGJlIHBhc3NlZCBpbiB0aGUgYHJlbGVhc2VgIHBhcmFtZXRlciwgYW5kIGluIHRoaXMgY2FzZSwKKyAgICAgICAgaXQgd2lsbCBiZSBjcmF3bGVkIHRvIGV4dHJhY3QgdGhlIHVzZWZ1bCBpbmZvcm1hdGlvbnMgaWYgbmVjZXNzYXJ5LCBvcgorICAgICAgICB0aGUgcmVsZWFzZSBpbmZvcm1hdGlvbnMgY2FuIGJlIGRpcmVjdGx5IHBhc3NlZCBpbiB0aGUgYHZlcnNpb25gIGFuZAorICAgICAgICBgZGlzdF90eXBlYCBhcmd1bWVudHMuCisKKyAgICAgICAgT3RoZXIga2V5d29yZHMgYXJndW1lbnRzIGNhbiBiZSBwcm92aWRlZCwgYW5kIHdpbGwgYmUgZm9yd2FyZGVkIHRvIHRoZQorICAgICAgICBkaXN0cmlidXRpb24gY3JlYXRpb24gKGVnLiB0aGUgYXJndW1lbnRzIG9mIHRoZSBEaXN0SW5mbyBjb25zdHJ1Y3RvcikuCisgICAgICAgICIiIgorICAgICAgICBpZiByZWxlYXNlOgorICAgICAgICAgICAgaWYgcmVsZWFzZS5uYW1lLmxvd2VyKCkgIT0gc2VsZi5uYW1lLmxvd2VyKCk6CisgICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiJXMgaXMgbm90IHRoZSBzYW1lIHByb2plY3QgYXMgJXMiICUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChyZWxlYXNlLm5hbWUsIHNlbGYubmFtZSkpCisgICAgICAgICAgICB2ZXJzaW9uID0gc3RyKHJlbGVhc2UudmVyc2lvbikKKworICAgICAgICAgICAgaWYgdmVyc2lvbiBub3QgaW4gc2VsZi5nZXRfdmVyc2lvbnMoKToKKyAgICAgICAgICAgICAgICAjIGFwcGVuZCBvbmx5IGlmIG5vdCBhbHJlYWR5IGV4aXN0cworICAgICAgICAgICAgICAgIHNlbGYucmVsZWFzZXMuYXBwZW5kKHJlbGVhc2UpCisgICAgICAgICAgICBmb3IgZGlzdCBpbiByZWxlYXNlLmRpc3RzLnZhbHVlcygpOgorICAgICAgICAgICAgICAgIGZvciB1cmwgaW4gZGlzdC51cmxzOgorICAgICAgICAgICAgICAgICAgICBzZWxmLmFkZF9yZWxlYXNlKHZlcnNpb24sIGRpc3QuZGlzdF90eXBlLCAqKnVybCkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIG1hdGNoZXMgPSBbciBmb3IgciBpbiBzZWxmLnJlbGVhc2VzCisgICAgICAgICAgICAgICAgICAgICAgIGlmIHN0cihyLnZlcnNpb24pID09IHZlcnNpb24gYW5kIHIubmFtZSA9PSBzZWxmLm5hbWVdCisgICAgICAgICAgICBpZiBub3QgbWF0Y2hlczoKKyAgICAgICAgICAgICAgICByZWxlYXNlID0gUmVsZWFzZUluZm8oc2VsZi5uYW1lLCB2ZXJzaW9uLCBpbmRleD1zZWxmLl9pbmRleCkKKyAgICAgICAgICAgICAgICBzZWxmLnJlbGVhc2VzLmFwcGVuZChyZWxlYXNlKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICByZWxlYXNlID0gbWF0Y2hlc1swXQorCisgICAgICAgICAgICByZWxlYXNlLmFkZF9kaXN0cmlidXRpb24oZGlzdF90eXBlPWRpc3RfdHlwZSwgKipkaXN0X2FyZ3MpCisKKyAgICBkZWYgc29ydF9yZWxlYXNlcyhzZWxmLCBwcmVmZXJfZmluYWw9RmFsc2UsIHJldmVyc2U9VHJ1ZSwgKmFyZ3MsICoqa3dhcmdzKToKKyAgICAgICAgIiIiU29ydCB0aGUgcmVzdWx0cyB3aXRoIHRoZSBnaXZlbiBwcm9wZXJ0aWVzLgorCisgICAgICAgIFRoZSBgcHJlZmVyX2ZpbmFsYCBhcmd1bWVudCBjYW4gYmUgdXNlZCB0byBzcGVjaWZ5IGlmIGZpbmFsCisgICAgICAgIGRpc3RyaWJ1dGlvbnMgKGVnLiBub3QgZGV2LCBiZXRhIG9yIGFscGhhKSB3b3VsZCBiZSBwcmVmZXJyZWQgb3Igbm90LgorCisgICAgICAgIFJlc3VsdHMgY2FuIGJlIGludmVydGVkIGJ5IHVzaW5nIGByZXZlcnNlYC4KKworICAgICAgICBBbnkgb3RoZXIgcGFyYW1ldGVyIHByb3ZpZGVkIHdpbGwgYmUgZm9yd2FyZGVkIHRvIHRoZSBzb3J0ZWQgY2FsbC4gWW91CisgICAgICAgIGNhbm5vdCByZWRlZmluZSB0aGUga2V5IGFyZ3VtZW50IG9mICJzb3J0ZWQiIGhlcmUsIGFzIGl0IGlzIHVzZWQKKyAgICAgICAgaW50ZXJuYWxseSB0byBzb3J0IHRoZSByZWxlYXNlcy4KKyAgICAgICAgIiIiCisKKyAgICAgICAgc29ydF9ieSA9IFtdCisgICAgICAgIGlmIHByZWZlcl9maW5hbDoKKyAgICAgICAgICAgIHNvcnRfYnkuYXBwZW5kKCJpc19maW5hbCIpCisgICAgICAgIHNvcnRfYnkuYXBwZW5kKCJ2ZXJzaW9uIikKKworICAgICAgICBzZWxmLnJlbGVhc2VzLnNvcnQoCisgICAgICAgICAgICBrZXk9bGFtYmRhIGk6IHR1cGxlKGdldGF0dHIoaSwgYXJnKSBmb3IgYXJnIGluIHNvcnRfYnkpLAorICAgICAgICAgICAgcmV2ZXJzZT1yZXZlcnNlLCAqYXJncywgKiprd2FyZ3MpCisKKyAgICBkZWYgZ2V0X3JlbGVhc2Uoc2VsZiwgdmVyc2lvbik6CisgICAgICAgICIiIlJldHVybiBhIHJlbGVhc2UgZnJvbSBpdHMgdmVyc2lvbi4iIiIKKyAgICAgICAgbWF0Y2hlcyA9IFtyIGZvciByIGluIHNlbGYucmVsZWFzZXMgaWYgc3RyKHIudmVyc2lvbikgPT0gdmVyc2lvbl0KKyAgICAgICAgaWYgbGVuKG1hdGNoZXMpICE9IDE6CisgICAgICAgICAgICByYWlzZSBLZXlFcnJvcih2ZXJzaW9uKQorICAgICAgICByZXR1cm4gbWF0Y2hlc1swXQorCisgICAgZGVmIGdldF92ZXJzaW9ucyhzZWxmKToKKyAgICAgICAgIiIiUmV0dXJuIGEgbGlzdCBvZiByZWxlYXNlcyB2ZXJzaW9ucyBjb250YWluZWQiIiIKKyAgICAgICAgcmV0dXJuIFtzdHIoci52ZXJzaW9uKSBmb3IgciBpbiBzZWxmLnJlbGVhc2VzXQorCisgICAgZGVmIF9fZ2V0aXRlbV9fKHNlbGYsIGtleSk6CisgICAgICAgIHJldHVybiBzZWxmLnJlbGVhc2VzW2tleV0KKworICAgIGRlZiBfX2xlbl9fKHNlbGYpOgorICAgICAgICByZXR1cm4gbGVuKHNlbGYucmVsZWFzZXMpCisKKyAgICBkZWYgX19yZXByX18oc2VsZik6CisgICAgICAgIHN0cmluZyA9ICdQcm9qZWN0ICIlcyInICUgc2VsZi5uYW1lCisgICAgICAgIGlmIHNlbGYuZ2V0X3ZlcnNpb25zKCk6CisgICAgICAgICAgICBzdHJpbmcgKz0gJyB2ZXJzaW9uczogJXMnICUgJywgJy5qb2luKHNlbGYuZ2V0X3ZlcnNpb25zKCkpCisgICAgICAgIHJldHVybiAnPCVzPicgJSBzdHJpbmcKKworCitkZWYgZ2V0X2luZm9zX2Zyb21fdXJsKHVybCwgcHJvYmFibGVfZGlzdF9uYW1lPU5vbmUsIGlzX2V4dGVybmFsPVRydWUpOgorICAgICIiIkdldCB1c2VmdWwgaW5mb3JtYXRpb25zIGZyb20gYW4gVVJMLgorCisgICAgUmV0dXJuIGEgZGljdCBvZiAobmFtZSwgdmVyc2lvbiwgdXJsLCBoYXNodHlwZSwgaGFzaCwgaXNfZXh0ZXJuYWwpCisKKyAgICA6cGFyYW0gdXJsOiBjb21wbGV0ZSB1cmwgb2YgdGhlIGRpc3RyaWJ1dGlvbgorICAgIDpwYXJhbSBwcm9iYWJsZV9kaXN0X25hbWU6IEEgcHJvYmFibGUgbmFtZSBvZiB0aGUgcHJvamVjdC4KKyAgICA6cGFyYW0gaXNfZXh0ZXJuYWw6IFRlbGwgaWYgdGhlIHVybCBjb21tZXMgZnJvbSBhbiBpbmRleCBvciBmcm9tCisgICAgICAgICAgICAgICAgICAgICAgICBhbiBleHRlcm5hbCBVUkwuCisgICAgIiIiCisgICAgIyBpZiB0aGUgdXJsIGNvbnRhaW5zIGEgbWQ1IGhhc2gsIGdldCBpdC4KKyAgICBtZDVfaGFzaCA9IE5vbmUKKyAgICBtYXRjaCA9IE1ENV9IQVNILm1hdGNoKHVybCkKKyAgICBpZiBtYXRjaCBpcyBub3QgTm9uZToKKyAgICAgICAgbWQ1X2hhc2ggPSBtYXRjaC5ncm91cCgxKQorICAgICAgICAjIHJlbW92ZSB0aGUgaGFzaAorICAgICAgICB1cmwgPSB1cmwucmVwbGFjZSgiI21kNT0lcyIgJSBtZDVfaGFzaCwgIiIpCisKKyAgICAjIHBhcnNlIHRoZSBhcmNoaXZlIG5hbWUgdG8gZmluZCBkaXN0IG5hbWUgYW5kIHZlcnNpb24KKyAgICBhcmNoaXZlX25hbWUgPSB1cmxsaWIucGFyc2UudXJscGFyc2UodXJsKVsyXS5zcGxpdCgnLycpWy0xXQorICAgIGV4dGVuc2lvbl9tYXRjaGVkID0gRmFsc2UKKyAgICAjIHJlbW92ZSB0aGUgZXh0ZW5zaW9uIGZyb20gdGhlIG5hbWUKKyAgICBmb3IgZXh0IGluIEVYVEVOU0lPTlM6CisgICAgICAgIGlmIGFyY2hpdmVfbmFtZS5lbmRzd2l0aChleHQpOgorICAgICAgICAgICAgYXJjaGl2ZV9uYW1lID0gYXJjaGl2ZV9uYW1lWzotbGVuKGV4dCldCisgICAgICAgICAgICBleHRlbnNpb25fbWF0Y2hlZCA9IFRydWUKKworICAgIG5hbWUsIHZlcnNpb24gPSBzcGxpdF9hcmNoaXZlX25hbWUoYXJjaGl2ZV9uYW1lKQorICAgIGlmIGV4dGVuc2lvbl9tYXRjaGVkIGlzIFRydWU6CisgICAgICAgIHJldHVybiB7J25hbWUnOiBuYW1lLAorICAgICAgICAgICAgICAgICd2ZXJzaW9uJzogdmVyc2lvbiwKKyAgICAgICAgICAgICAgICAndXJsJzogdXJsLAorICAgICAgICAgICAgICAgICdoYXNobmFtZSc6ICJtZDUiLAorICAgICAgICAgICAgICAgICdoYXNodmFsJzogbWQ1X2hhc2gsCisgICAgICAgICAgICAgICAgJ2lzX2V4dGVybmFsJzogaXNfZXh0ZXJuYWwsCisgICAgICAgICAgICAgICAgJ2Rpc3RfdHlwZSc6ICdzZGlzdCd9CisKKworZGVmIHNwbGl0X2FyY2hpdmVfbmFtZShhcmNoaXZlX25hbWUsIHByb2JhYmxlX25hbWU9Tm9uZSk6CisgICAgIiIiU3BsaXQgYW4gYXJjaGl2ZSBuYW1lIGludG8gdHdvIHBhcnRzOiBuYW1lIGFuZCB2ZXJzaW9uLgorCisgICAgUmV0dXJuIHRoZSB0dXBsZSAobmFtZSwgdmVyc2lvbikKKyAgICAiIiIKKyAgICAjIFRyeSB0byBkZXRlcm1pbmUgd2ljaCBwYXJ0IGlzIHRoZSBuYW1lIGFuZCB3aWNoIGlzIHRoZSB2ZXJzaW9uIHVzaW5nIHRoZQorICAgICMgIi0iIHNlcGFyYXRvci4gVGFrZSB0aGUgbGFyZ2VyIHBhcnQgdG8gYmUgdGhlIHZlcnNpb24gbnVtYmVyIHRoZW4gcmVkdWNlCisgICAgIyBpZiB0aGlzIG5vdCB3b3Jrcy4KKyAgICBkZWYgZWFnZXJfc3BsaXQoc3RyLCBtYXhzcGxpdD0yKToKKyAgICAgICAgIyBzcGxpdCB1c2luZyB0aGUgIi0iIHNlcGFyYXRvcgorICAgICAgICBzcGxpdHMgPSBzdHIucnNwbGl0KCItIiwgbWF4c3BsaXQpCisgICAgICAgIG5hbWUgPSBzcGxpdHNbMF0KKyAgICAgICAgdmVyc2lvbiA9ICItIi5qb2luKHNwbGl0c1sxOl0pCisgICAgICAgIGlmIHZlcnNpb24uc3RhcnRzd2l0aCgiLSIpOgorICAgICAgICAgICAgdmVyc2lvbiA9IHZlcnNpb25bMTpdCisgICAgICAgIGlmIHN1Z2dlc3Rfbm9ybWFsaXplZF92ZXJzaW9uKHZlcnNpb24pIGlzIE5vbmUgYW5kIG1heHNwbGl0ID49IDA6CisgICAgICAgICAgICAjIHdlIGRvbnQgZ2V0IGEgZ29vZCB2ZXJzaW9uIG51bWJlcjogcmVjdXJzZSAhCisgICAgICAgICAgICByZXR1cm4gZWFnZXJfc3BsaXQoc3RyLCBtYXhzcGxpdCAtIDEpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByZXR1cm4gbmFtZSwgdmVyc2lvbgorICAgIGlmIHByb2JhYmxlX25hbWUgaXMgbm90IE5vbmU6CisgICAgICAgIHByb2JhYmxlX25hbWUgPSBwcm9iYWJsZV9uYW1lLmxvd2VyKCkKKyAgICBuYW1lID0gTm9uZQorICAgIGlmIHByb2JhYmxlX25hbWUgaXMgbm90IE5vbmUgYW5kIHByb2JhYmxlX25hbWUgaW4gYXJjaGl2ZV9uYW1lOgorICAgICAgICAjIHdlIGdldCB0aGUgbmFtZSBmcm9tIHByb2JhYmxlX25hbWUsIGlmIGdpdmVuLgorICAgICAgICBuYW1lID0gcHJvYmFibGVfbmFtZQorICAgICAgICB2ZXJzaW9uID0gYXJjaGl2ZV9uYW1lLmxzdHJpcChuYW1lKQorICAgIGVsc2U6CisgICAgICAgIG5hbWUsIHZlcnNpb24gPSBlYWdlcl9zcGxpdChhcmNoaXZlX25hbWUpCisKKyAgICB2ZXJzaW9uID0gc3VnZ2VzdF9ub3JtYWxpemVkX3ZlcnNpb24odmVyc2lvbikKKyAgICBpZiB2ZXJzaW9uIGlzIG5vdCBOb25lIGFuZCBuYW1lICE9ICIiOgorICAgICAgICByZXR1cm4gbmFtZS5sb3dlcigpLCB2ZXJzaW9uCisgICAgZWxzZToKKyAgICAgICAgcmFpc2UgQ2FudFBhcnNlQXJjaGl2ZU5hbWUoYXJjaGl2ZV9uYW1lKQpkaWZmIC0tZ2l0IGEvTGliL3BhY2thZ2luZy9weXBpL2Vycm9ycy5weSBiL0xpYi9wYWNrYWdpbmcvcHlwaS9lcnJvcnMucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjE5MWFjMQotLS0gL2Rldi9udWxsCisrKyBiL0xpYi9wYWNrYWdpbmcvcHlwaS9lcnJvcnMucHkKQEAgLTAsMCArMSwzOSBAQAorIiIiRXhjZXB0aW9ucyByYWlzZWQgYnkgcGFja2FnaW5nLnB5cGkgY29kZS4iIiIKKworZnJvbSBwYWNrYWdpbmcuZXJyb3JzIGltcG9ydCBQYWNrYWdpbmdQeVBJRXJyb3IKKworCitjbGFzcyBQcm9qZWN0Tm90Rm91bmQoUGFja2FnaW5nUHlQSUVycm9yKToKKyAgICAiIiJQcm9qZWN0IGhhcyBub3QgYmVlbiBmb3VuZCIiIgorCisKK2NsYXNzIERpc3RyaWJ1dGlvbk5vdEZvdW5kKFBhY2thZ2luZ1B5UElFcnJvcik6CisgICAgIiIiVGhlIHJlbGVhc2UgaGFzIG5vdCBiZWVuIGZvdW5kIiIiCisKKworY2xhc3MgUmVsZWFzZU5vdEZvdW5kKFBhY2thZ2luZ1B5UElFcnJvcik6CisgICAgIiIiVGhlIHJlbGVhc2UgaGFzIG5vdCBiZWVuIGZvdW5kIiIiCisKKworY2xhc3MgQ2FudFBhcnNlQXJjaGl2ZU5hbWUoUGFja2FnaW5nUHlQSUVycm9yKToKKyAgICAiIiJBbiBhcmNoaXZlIG5hbWUgY2FuJ3QgYmUgcGFyc2VkIHRvIGZpbmQgZGlzdHJpYnV0aW9uIG5hbWUgYW5kIHZlcnNpb24iIiIKKworCitjbGFzcyBEb3dubG9hZEVycm9yKFBhY2thZ2luZ1B5UElFcnJvcik6CisgICAgIiIiQW4gZXJyb3IgaGFzIG9jY3VycyB3aGlsZSBkb3dubG9hZGluZyIiIgorCisKK2NsYXNzIEhhc2hEb2VzTm90TWF0Y2goRG93bmxvYWRFcnJvcik6CisgICAgIiIiQ29tcGFyZWQgaGFzaGVzIGRvZXMgbm90IG1hdGNoIiIiCisKKworY2xhc3MgVW5zdXBwb3J0ZWRIYXNoTmFtZShQYWNrYWdpbmdQeVBJRXJyb3IpOgorICAgICIiIkEgdW5zdXBwb3J0ZWQgaGFzaG5hbWUgaGFzIGJlZW4gdXNlZCIiIgorCisKK2NsYXNzIFVuYWJsZVRvRG93bmxvYWQoUGFja2FnaW5nUHlQSUVycm9yKToKKyAgICAiIiJBbGwgbWlycm9ycyBoYXZlIGJlZW4gdHJpZWQsIHdpdGhvdXQgc3VjY2VzcyIiIgorCisKK2NsYXNzIEludmFsaWRTZWFyY2hGaWVsZChQYWNrYWdpbmdQeVBJRXJyb3IpOgorICAgICIiIkFuIGludmFsaWQgc2VhcmNoIGZpZWxkIGhhcyBiZWVuIHVzZWQiIiIKZGlmZiAtLWdpdCBhL0xpYi9wYWNrYWdpbmcvcHlwaS9taXJyb3JzLnB5IGIvTGliL3BhY2thZ2luZy9weXBpL21pcnJvcnMucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTY0NmFjZmYKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvcGFja2FnaW5nL3B5cGkvbWlycm9ycy5weQpAQCAtMCwwICsxLDUyIEBACisiIiJVdGlsaXRpZXMgcmVsYXRlZCB0byB0aGUgbWlycm9yIGluZnJhc3RydWN0dXJlIGRlZmluZWQgaW4gUEVQIDM4MS4iIiIKKworZnJvbSBzdHJpbmcgaW1wb3J0IGFzY2lpX2xvd2VyY2FzZQoraW1wb3J0IHNvY2tldAorCitERUZBVUxUX01JUlJPUl9VUkwgPSAibGFzdC5weXBpLnB5dGhvbi5vcmciCisKKworZGVmIGdldF9taXJyb3JzKGhvc3RuYW1lPU5vbmUpOgorICAgICIiIlJldHVybiB0aGUgbGlzdCBvZiBtaXJyb3JzIGZyb20gdGhlIGxhc3QgcmVjb3JkIGZvdW5kIG9uIHRoZSBETlMKKyAgICBlbnRyeTo6CisKKyAgICA+Pj4gZnJvbSBwYWNrYWdpbmcucHlwaS5taXJyb3JzIGltcG9ydCBnZXRfbWlycm9ycworICAgID4+PiBnZXRfbWlycm9ycygpCisgICAgWydhLnB5cGkucHl0aG9uLm9yZycsICdiLnB5cGkucHl0aG9uLm9yZycsICdjLnB5cGkucHl0aG9uLm9yZycsCisgICAgJ2QucHlwaS5weXRob24ub3JnJ10KKworICAgICIiIgorICAgIGlmIGhvc3RuYW1lIGlzIE5vbmU6CisgICAgICAgIGhvc3RuYW1lID0gREVGQVVMVF9NSVJST1JfVVJMCisKKyAgICAjIHJldHVybiB0aGUgbGFzdCBtaXJyb3IgcmVnaXN0ZXJlZCBvbiBQeVBJLgorICAgIHRyeToKKyAgICAgICAgaG9zdG5hbWUgPSBzb2NrZXQuZ2V0aG9zdGJ5bmFtZV9leChob3N0bmFtZSlbMF0KKyAgICBleGNlcHQgc29ja2V0LmdhaWVycm9yOgorICAgICAgICByZXR1cm4gW10KKyAgICBlbmRfbGV0dGVyID0gaG9zdG5hbWUuc3BsaXQoIi4iLCAxKQorCisgICAgIyBkZXRlcm1pbmUgdGhlIGxpc3QgZnJvbSB0aGUgbGFzdCBvbmUuCisgICAgcmV0dXJuIFsiJXMuJXMiICUgKHMsIGVuZF9sZXR0ZXJbMV0pIGZvciBzIGluIHN0cmluZ19yYW5nZShlbmRfbGV0dGVyWzBdKV0KKworCitkZWYgc3RyaW5nX3JhbmdlKGxhc3QpOgorICAgICIiIkNvbXB1dGUgdGhlIHJhbmdlIG9mIHN0cmluZyBiZXR3ZWVuICJhIiBhbmQgbGFzdC4KKworICAgIFRoaXMgd29ya3MgZm9yIHNpbXBsZSAiYSB0byB6IiBsaXN0cywgYnV0IGFsc28gZm9yICJhIHRvIHp6IiBsaXN0cy4KKyAgICAiIiIKKyAgICBmb3IgayBpbiByYW5nZShsZW4obGFzdCkpOgorICAgICAgICBmb3IgeCBpbiBwcm9kdWN0KGFzY2lpX2xvd2VyY2FzZSwgcmVwZWF0PShrICsgMSkpOgorICAgICAgICAgICAgcmVzdWx0ID0gJycuam9pbih4KQorICAgICAgICAgICAgeWllbGQgcmVzdWx0CisgICAgICAgICAgICBpZiByZXN1bHQgPT0gbGFzdDoKKyAgICAgICAgICAgICAgICByZXR1cm4KKworCitkZWYgcHJvZHVjdCgqYXJncywgKiprd2RzKToKKyAgICBwb29scyA9IFt0dXBsZShhcmcpIGZvciBhcmcgaW4gYXJnc10gKiBrd2RzLmdldCgncmVwZWF0JywgMSkKKyAgICByZXN1bHQgPSBbW11dCisgICAgZm9yIHBvb2wgaW4gcG9vbHM6CisgICAgICAgIHJlc3VsdCA9IFt4ICsgW3ldIGZvciB4IGluIHJlc3VsdCBmb3IgeSBpbiBwb29sXQorICAgIGZvciBwcm9kIGluIHJlc3VsdDoKKyAgICAgICAgeWllbGQgdHVwbGUocHJvZCkKZGlmZiAtLWdpdCBhL0xpYi9wYWNrYWdpbmcvcHlwaS9zaW1wbGUucHkgYi9MaWIvcGFja2FnaW5nL3B5cGkvc2ltcGxlLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUyNmQ1NWQKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvcGFja2FnaW5nL3B5cGkvc2ltcGxlLnB5CkBAIC0wLDAgKzEsNDYyIEBACisiIiJTcGlkZXIgdXNpbmcgdGhlIHNjcmVlbi1zY3JhcGluZyAic2ltcGxlIiBQeVBJIEFQSS4KKworVGhpcyBtb2R1bGUgY29udGFpbnMgdGhlIGNsYXNzIENyYXdsZXIsIGEgc2ltcGxlIHNwaWRlciB0aGF0CitjYW4gYmUgdXNlZCB0byBmaW5kIGFuZCByZXRyaWV2ZSBkaXN0cmlidXRpb25zIGZyb20gYSBwcm9qZWN0IGluZGV4CisobGlrZSB0aGUgUHl0aG9uIFBhY2thZ2UgSW5kZXgpLCB1c2luZyBpdHMgc28tY2FsbGVkIHNpbXBsZSBBUEkgKHNlZQorcmVmZXJlbmNlIGltcGxlbWVudGF0aW9uIGF2YWlsYWJsZSBhdCBodHRwOi8vcHlwaS5weXRob24ub3JnL3NpbXBsZS8pLgorIiIiCisKK2ltcG9ydCBodHRwLmNsaWVudAoraW1wb3J0IHJlCitpbXBvcnQgc29ja2V0CitpbXBvcnQgc3lzCitpbXBvcnQgdXJsbGliLnJlcXVlc3QKK2ltcG9ydCB1cmxsaWIucGFyc2UKK2ltcG9ydCB1cmxsaWIuZXJyb3IKK2ltcG9ydCBvcworCitmcm9tIGZubWF0Y2ggaW1wb3J0IHRyYW5zbGF0ZQorZnJvbSBmdW5jdG9vbHMgaW1wb3J0IHdyYXBzCitmcm9tIHBhY2thZ2luZyBpbXBvcnQgbG9nZ2VyCitmcm9tIHBhY2thZ2luZy5tZXRhZGF0YSBpbXBvcnQgTWV0YWRhdGEKK2Zyb20gcGFja2FnaW5nLnZlcnNpb24gaW1wb3J0IGdldF92ZXJzaW9uX3ByZWRpY2F0ZQorZnJvbSBwYWNrYWdpbmcgaW1wb3J0IF9fdmVyc2lvbl9fIGFzIHBhY2thZ2luZ192ZXJzaW9uCitmcm9tIHBhY2thZ2luZy5weXBpLmJhc2UgaW1wb3J0IEJhc2VDbGllbnQKK2Zyb20gcGFja2FnaW5nLnB5cGkuZGlzdCBpbXBvcnQgKFJlbGVhc2VzTGlzdCwgRVhURU5TSU9OUywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldF9pbmZvc19mcm9tX3VybCwgTUQ1X0hBU0gpCitmcm9tIHBhY2thZ2luZy5weXBpLmVycm9ycyBpbXBvcnQgKFBhY2thZ2luZ1B5UElFcnJvciwgRG93bmxvYWRFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVW5hYmxlVG9Eb3dubG9hZCwgQ2FudFBhcnNlQXJjaGl2ZU5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlbGVhc2VOb3RGb3VuZCwgUHJvamVjdE5vdEZvdW5kKQorZnJvbSBwYWNrYWdpbmcucHlwaS5taXJyb3JzIGltcG9ydCBnZXRfbWlycm9ycworCitfX2FsbF9fID0gWydDcmF3bGVyJywgJ0RFRkFVTFRfU0lNUExFX0lOREVYX1VSTCddCisKKyMgLS0gQ29uc3RhbnRzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitERUZBVUxUX1NJTVBMRV9JTkRFWF9VUkwgPSAiaHR0cDovL2EucHlwaS5weXRob24ub3JnL3NpbXBsZS8iCitERUZBVUxUX0hPU1RTID0gKCIqIiwpCitTT0NLRVRfVElNRU9VVCA9IDE1CitVU0VSX0FHRU5UID0gIlB5dGhvbi11cmxsaWIvJXMuJXMgcGFja2FnaW5nLyVzIiAlICgKKyAgICBzeXMudmVyc2lvbl9pbmZvWzBdLCBzeXMudmVyc2lvbl9pbmZvWzFdLCBwYWNrYWdpbmdfdmVyc2lvbikKKworIyAtLSBSZWdleHBzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0VHR19GUkFHTUVOVCA9IHJlLmNvbXBpbGUocideZWdnPShbLUEtWmEtejAtOV8uXSspJCcpCitIUkVGID0gcmUuY29tcGlsZSgiIiJocmVmXFxzKj1cXHMqWyciXT8oW14nIj4gXSspIiIiLCByZS5JKQorVVJMX1NDSEVNRSA9IHJlLmNvbXBpbGUoJyhbLSsuYS16MC05XXsyLH0pOicsIHJlLkkpLm1hdGNoCisKKyMgVGhpcyBwYXR0ZXJuIG1hdGNoZXMgYSBjaGFyYWN0ZXIgZW50aXR5IHJlZmVyZW5jZSAoYSBkZWNpbWFsIG51bWVyaWMKKyMgcmVmZXJlbmNlcywgYSBoZXhhZGVjaW1hbCBudW1lcmljIHJlZmVyZW5jZSwgb3IgYSBuYW1lZCByZWZlcmVuY2UpLgorRU5USVRZX1NVQiA9IHJlLmNvbXBpbGUocicmKCMoXGQrfHhbXGRhLWZBLUZdKyl8W1x3LjotXSspOz8nKS5zdWIKK1JFTCA9IHJlLmNvbXBpbGUoIiIiPChbXj5dKlxzcmVsXHMqPVxzKlsnIl0/KFteJyI+XSspW14+XSopPiIiIiwgcmUuSSkKKworCitkZWYgc29ja2V0X3RpbWVvdXQodGltZW91dD1TT0NLRVRfVElNRU9VVCk6CisgICAgIiIiRGVjb3JhdG9yIHRvIGFkZCBhIHNvY2tldCB0aW1lb3V0IHdoZW4gcmVxdWVzdGluZyBwYWdlcyBvbiBQeVBJLgorICAgICIiIgorICAgIGRlZiB3cmFwcGVyKGZ1bmMpOgorICAgICAgICBAd3JhcHMoZnVuYykKKyAgICAgICAgZGVmIHdyYXBwZWQoc2VsZiwgKmFyZ3MsICoqa3dhcmdzKToKKyAgICAgICAgICAgIG9sZF90aW1lb3V0ID0gc29ja2V0LmdldGRlZmF1bHR0aW1lb3V0KCkKKyAgICAgICAgICAgIGlmIGhhc2F0dHIoc2VsZiwgIl90aW1lb3V0Iik6CisgICAgICAgICAgICAgICAgdGltZW91dCA9IHNlbGYuX3RpbWVvdXQKKyAgICAgICAgICAgIHNvY2tldC5zZXRkZWZhdWx0dGltZW91dCh0aW1lb3V0KQorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIHJldHVybiBmdW5jKHNlbGYsICphcmdzLCAqKmt3YXJncykKKyAgICAgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICAgICAgc29ja2V0LnNldGRlZmF1bHR0aW1lb3V0KG9sZF90aW1lb3V0KQorICAgICAgICByZXR1cm4gd3JhcHBlZAorICAgIHJldHVybiB3cmFwcGVyCisKKworZGVmIHdpdGhfbWlycm9yX3N1cHBvcnQoKToKKyAgICAiIiJEZWNvcmF0b3IgdGhhdCBtYWtlcyB0aGUgbWlycm9yaW5nIHN1cHBvcnQgZWFzaWVyIiIiCisgICAgZGVmIHdyYXBwZXIoZnVuYyk6CisgICAgICAgIEB3cmFwcyhmdW5jKQorICAgICAgICBkZWYgd3JhcHBlZChzZWxmLCAqYXJncywgKiprd2FyZ3MpOgorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIHJldHVybiBmdW5jKHNlbGYsICphcmdzLCAqKmt3YXJncykKKyAgICAgICAgICAgIGV4Y2VwdCBEb3dubG9hZEVycm9yOgorICAgICAgICAgICAgICAgICMgaWYgYW4gZXJyb3Igb2NjdXJzLCB0cnkgd2l0aCB0aGUgbmV4dCBpbmRleF91cmwKKyAgICAgICAgICAgICAgICBpZiBzZWxmLl9taXJyb3JzX3RyaWVzID49IHNlbGYuX21pcnJvcnNfbWF4X3RyaWVzOgorICAgICAgICAgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9zd2l0Y2hfdG9fbmV4dF9taXJyb3IoKQorICAgICAgICAgICAgICAgICAgICBleGNlcHQgS2V5RXJyb3I6CisgICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBVbmFibGVUb0Rvd25sb2FkKCJUcmllZCBhbGwgbWlycm9ycyIpCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5fbWlycm9yc190cmllcyArPSAxCisgICAgICAgICAgICAgICAgc2VsZi5fcHJvamVjdHMuY2xlYXIoKQorICAgICAgICAgICAgICAgIHJldHVybiB3cmFwcGVkKHNlbGYsICphcmdzLCAqKmt3YXJncykKKyAgICAgICAgcmV0dXJuIHdyYXBwZWQKKyAgICByZXR1cm4gd3JhcHBlcgorCisKK2NsYXNzIENyYXdsZXIoQmFzZUNsaWVudCk6CisgICAgIiIiUHJvdmlkZXMgdXNlZnVsIHRvb2xzIHRvIHJlcXVlc3QgdGhlIFB5dGhvbiBQYWNrYWdlIEluZGV4IHNpbXBsZSBBUEkuCisKKyAgICBZb3UgY2FuIHNwZWNpZnkgYm90aCBtaXJyb3JzIGFuZCBtaXJyb3JzX3VybCwgYnV0IG1pcnJvcnNfdXJsIHdpbGwgb25seSBiZQorICAgIHVzZWQgaWYgbWlycm9ycyBpcyBzZXQgdG8gTm9uZS4KKworICAgIDpwYXJhbSBpbmRleF91cmw6IHRoZSB1cmwgb2YgdGhlIHNpbXBsZSBpbmRleCB0byBzZWFyY2ggb24uCisgICAgOnBhcmFtIHByZWZlcl9maW5hbDogaWYgdGhlIHZlcnNpb24gaXMgbm90IG1lbnRpb25lZCwgYW5kIHRoZSBsYXN0CisgICAgICAgICAgICAgICAgICAgICAgICAgdmVyc2lvbiBpcyBub3QgYSAiZmluYWwiIG9uZSAoYWxwaGEsIGJldGEsIGV0Yy4pLAorICAgICAgICAgICAgICAgICAgICAgICAgIHBpY2sgdXAgdGhlIGxhc3QgZmluYWwgdmVyc2lvbi4KKyAgICA6cGFyYW0gcHJlZmVyX3NvdXJjZTogaWYgdGhlIGRpc3RyaWJ1dGlvbiB0eXBlIGlzIG5vdCBtZW50aW9uZWQsIHBpY2sgdXAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIHNvdXJjZSBvbmUgaWYgYXZhaWxhYmxlLgorICAgIDpwYXJhbSBmb2xsb3dfZXh0ZXJuYWxzOiB0ZWxsIGlmIGZvbGxvd2luZyBleHRlcm5hbCBsaW5rcyBpcyBuZWVkZWQgb3IKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm90LiBEZWZhdWx0IGlzIEZhbHNlLgorICAgIDpwYXJhbSBob3N0czogYSBsaXN0IG9mIGhvc3RzIGFsbG93ZWQgdG8gYmUgcHJvY2Vzc2VkIHdoaWxlIHVzaW5nCisgICAgICAgICAgICAgICAgICBmb2xsb3dfZXh0ZXJuYWxzPVRydWUuIERlZmF1bHQgYmVoYXZpb3IgaXMgdG8gZm9sbG93IGFsbAorICAgICAgICAgICAgICAgICAgaG9zdHMuCisgICAgOnBhcmFtIGZvbGxvd19leHRlcm5hbHM6IHRlbGwgaWYgZm9sbG93aW5nIGV4dGVybmFsIGxpbmtzIGlzIG5lZWRlZCBvcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub3QuIERlZmF1bHQgaXMgRmFsc2UuCisgICAgOnBhcmFtIG1pcnJvcnNfdXJsOiB0aGUgdXJsIHRvIGxvb2sgb24gZm9yIEROUyByZWNvcmRzIGdpdmluZyBtaXJyb3IKKyAgICAgICAgICAgICAgICAgICAgICAgIGFkZHJlc3Nlcy4KKyAgICA6cGFyYW0gbWlycm9yczogYSBsaXN0IG9mIG1pcnJvcnMgKHNlZSBQRVAgMzgxKS4KKyAgICA6cGFyYW0gdGltZW91dDogdGltZSBpbiBzZWNvbmRzIHRvIGNvbnNpZGVyIGEgdXJsIGhhcyB0aW1lb3V0ZWQuCisgICAgOnBhcmFtIG1pcnJvcnNfbWF4X3RyaWVzIjogbnVtYmVyIG9mIHRpbWVzIHRvIHRyeSByZXF1ZXN0aW5nIGluZm9ybWF0aW9ucworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uIG1pcnJvcnMgYmVmb3JlIHN3aXRjaGluZy4KKyAgICAiIiIKKworICAgIGRlZiBfX2luaXRfXyhzZWxmLCBpbmRleF91cmw9REVGQVVMVF9TSU1QTEVfSU5ERVhfVVJMLCBwcmVmZXJfZmluYWw9RmFsc2UsCisgICAgICAgICAgICAgICAgIHByZWZlcl9zb3VyY2U9VHJ1ZSwgaG9zdHM9REVGQVVMVF9IT1NUUywKKyAgICAgICAgICAgICAgICAgZm9sbG93X2V4dGVybmFscz1GYWxzZSwgbWlycm9yc191cmw9Tm9uZSwgbWlycm9ycz1Ob25lLAorICAgICAgICAgICAgICAgICB0aW1lb3V0PVNPQ0tFVF9USU1FT1VULCBtaXJyb3JzX21heF90cmllcz0wKToKKyAgICAgICAgc3VwZXIoQ3Jhd2xlciwgc2VsZikuX19pbml0X18ocHJlZmVyX2ZpbmFsLCBwcmVmZXJfc291cmNlKQorICAgICAgICBzZWxmLmZvbGxvd19leHRlcm5hbHMgPSBmb2xsb3dfZXh0ZXJuYWxzCisKKyAgICAgICAgIyBtaXJyb3JpbmcgYXR0cmlidXRlcy4KKyAgICAgICAgcGFyc2VkID0gdXJsbGliLnBhcnNlLnVybHBhcnNlKGluZGV4X3VybCkKKyAgICAgICAgc2VsZi5zY2hlbWUgPSBwYXJzZWRbMF0KKyAgICAgICAgaWYgc2VsZi5zY2hlbWUgPT0gJ2ZpbGUnOgorICAgICAgICAgICAgZW5kZXIgPSBvcy5wYXRoLnNlcAorICAgICAgICBlbHNlOgorICAgICAgICAgICAgZW5kZXIgPSAnLycKKyAgICAgICAgaWYgbm90IGluZGV4X3VybC5lbmRzd2l0aChlbmRlcik6CisgICAgICAgICAgICBpbmRleF91cmwgKz0gZW5kZXIKKyAgICAgICAgIyBpZiBubyBtaXJyb3JzIGFyZSBkZWZpbmVkLCB1c2UgdGhlIG1ldGhvZCBkZXNjcmliZWQgaW4gUEVQIDM4MS4KKyAgICAgICAgaWYgbWlycm9ycyBpcyBOb25lOgorICAgICAgICAgICAgbWlycm9ycyA9IGdldF9taXJyb3JzKG1pcnJvcnNfdXJsKQorICAgICAgICBzZWxmLl9taXJyb3JzID0gc2V0KG1pcnJvcnMpCisgICAgICAgIHNlbGYuX21pcnJvcnNfdXNlZCA9IHNldCgpCisgICAgICAgIHNlbGYuaW5kZXhfdXJsID0gaW5kZXhfdXJsCisgICAgICAgIHNlbGYuX21pcnJvcnNfbWF4X3RyaWVzID0gbWlycm9yc19tYXhfdHJpZXMKKyAgICAgICAgc2VsZi5fbWlycm9yc190cmllcyA9IDAKKyAgICAgICAgc2VsZi5fdGltZW91dCA9IHRpbWVvdXQKKworICAgICAgICAjIGNyZWF0ZSBhIHJlZ2V4cCB0byBtYXRjaCBhbGwgZ2l2ZW4gaG9zdHMKKyAgICAgICAgc2VsZi5fYWxsb3dlZF9ob3N0cyA9IHJlLmNvbXBpbGUoJ3wnLmpvaW4obWFwKHRyYW5zbGF0ZSwgaG9zdHMpKSkubWF0Y2gKKworICAgICAgICAjIHdlIGtlZXAgYW4gaW5kZXggb2YgcGFnZXMgd2UgaGF2ZSBwcm9jZXNzZWQsIGluIG9yZGVyIHRvIGF2b2lkCisgICAgICAgICMgc2Nhbm5pbmcgdGhlbSBtdWx0cGxlIHRpbWUgKGVnLiBpZiB0aGVyZSBpcyBtdWx0aXBsZSBwYWdlcyBwb2ludGluZworICAgICAgICAjIG9uIG9uZSkKKyAgICAgICAgc2VsZi5fcHJvY2Vzc2VkX3VybHMgPSBbXQorICAgICAgICBzZWxmLl9wcm9qZWN0cyA9IHt9CisKKyAgICBAd2l0aF9taXJyb3Jfc3VwcG9ydCgpCisgICAgZGVmIHNlYXJjaF9wcm9qZWN0cyhzZWxmLCBuYW1lPU5vbmUsICoqa3dhcmdzKToKKyAgICAgICAgIiIiU2VhcmNoIHRoZSBpbmRleCBmb3IgcHJvamVjdHMgY29udGFpbmluZyB0aGUgZ2l2ZW4gbmFtZS4KKworICAgICAgICBSZXR1cm4gYSBsaXN0IG9mIG5hbWVzLgorICAgICAgICAiIiIKKyAgICAgICAgaWYgJyonIGluIG5hbWU6CisgICAgICAgICAgICBuYW1lLnJlcGxhY2UoJyonLCAnLionKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgbmFtZSA9ICIlcyVzJXMiICUgKCcqLj8nLCBuYW1lLCAnKi4/JykKKyAgICAgICAgbmFtZSA9IG5hbWUucmVwbGFjZSgnKicsICdbXjxdKicpICAjIGF2b2lkIG1hdGNoaW5nIGVuZCB0YWcKKyAgICAgICAgcGF0dGVybiA9ICgnPGFbXj5dKj4oJXMpPC9hPicgJSBuYW1lKS5lbmNvZGUoJ3V0Zi04JykKKyAgICAgICAgcHJvamVjdG5hbWUgPSByZS5jb21waWxlKHBhdHRlcm4sIHJlLkkpCisgICAgICAgIG1hdGNoaW5nX3Byb2plY3RzID0gW10KKworICAgICAgICB3aXRoIHNlbGYuX29wZW5fdXJsKHNlbGYuaW5kZXhfdXJsKSBhcyBpbmRleDoKKyAgICAgICAgICAgIGluZGV4X2NvbnRlbnQgPSBpbmRleC5yZWFkKCkKKworICAgICAgICBmb3IgbWF0Y2ggaW4gcHJvamVjdG5hbWUuZmluZGl0ZXIoaW5kZXhfY29udGVudCk6CisgICAgICAgICAgICBwcm9qZWN0X25hbWUgPSBtYXRjaC5ncm91cCgxKS5kZWNvZGUoJ3V0Zi04JykKKyAgICAgICAgICAgIG1hdGNoaW5nX3Byb2plY3RzLmFwcGVuZChzZWxmLl9nZXRfcHJvamVjdChwcm9qZWN0X25hbWUpKQorICAgICAgICByZXR1cm4gbWF0Y2hpbmdfcHJvamVjdHMKKworICAgIGRlZiBnZXRfcmVsZWFzZXMoc2VsZiwgcmVxdWlyZW1lbnRzLCBwcmVmZXJfZmluYWw9Tm9uZSwKKyAgICAgICAgICAgICAgICAgICAgIGZvcmNlX3VwZGF0ZT1GYWxzZSk6CisgICAgICAgICIiIlNlYXJjaCBmb3IgcmVsZWFzZXMgYW5kIHJldHVybiBhIFJlbGVhc2VzTGlzdCBvYmplY3QgY29udGFpbmluZworICAgICAgICB0aGUgcmVzdWx0cy4KKyAgICAgICAgIiIiCisgICAgICAgIHByZWRpY2F0ZSA9IGdldF92ZXJzaW9uX3ByZWRpY2F0ZShyZXF1aXJlbWVudHMpCisgICAgICAgIGlmIHByZWRpY2F0ZS5uYW1lLmxvd2VyKCkgaW4gc2VsZi5fcHJvamVjdHMgYW5kIG5vdCBmb3JjZV91cGRhdGU6CisgICAgICAgICAgICByZXR1cm4gc2VsZi5fcHJvamVjdHMuZ2V0KHByZWRpY2F0ZS5uYW1lLmxvd2VyKCkpCisgICAgICAgIHByZWZlcl9maW5hbCA9IHNlbGYuX2dldF9wcmVmZXJfZmluYWwocHJlZmVyX2ZpbmFsKQorICAgICAgICBsb2dnZXIuZGVidWcoJ1JlYWRpbmcgaW5mbyBvbiBQeVBJIGFib3V0ICVzJywgcHJlZGljYXRlLm5hbWUpCisgICAgICAgIHNlbGYuX3Byb2Nlc3NfaW5kZXhfcGFnZShwcmVkaWNhdGUubmFtZSkKKworICAgICAgICBpZiBwcmVkaWNhdGUubmFtZS5sb3dlcigpIG5vdCBpbiBzZWxmLl9wcm9qZWN0czoKKyAgICAgICAgICAgIHJhaXNlIFByb2plY3ROb3RGb3VuZAorCisgICAgICAgIHJlbGVhc2VzID0gc2VsZi5fcHJvamVjdHMuZ2V0KHByZWRpY2F0ZS5uYW1lLmxvd2VyKCkpCisgICAgICAgIHJlbGVhc2VzLnNvcnRfcmVsZWFzZXMocHJlZmVyX2ZpbmFsPXByZWZlcl9maW5hbCkKKyAgICAgICAgcmV0dXJuIHJlbGVhc2VzCisKKyAgICBkZWYgZ2V0X3JlbGVhc2Uoc2VsZiwgcmVxdWlyZW1lbnRzLCBwcmVmZXJfZmluYWw9Tm9uZSk6CisgICAgICAgICIiIlJldHVybiBvbmx5IG9uZSByZWxlYXNlIHRoYXQgZnVsZmlsbCB0aGUgZ2l2ZW4gcmVxdWlyZW1lbnRzIiIiCisgICAgICAgIHByZWRpY2F0ZSA9IGdldF92ZXJzaW9uX3ByZWRpY2F0ZShyZXF1aXJlbWVudHMpCisgICAgICAgIHJlbGVhc2UgPSBzZWxmLmdldF9yZWxlYXNlcyhwcmVkaWNhdGUsIHByZWZlcl9maW5hbClcCisgICAgICAgICAgICAgICAgICAgICAgLmdldF9sYXN0KHByZWRpY2F0ZSkKKyAgICAgICAgaWYgbm90IHJlbGVhc2U6CisgICAgICAgICAgICByYWlzZSBSZWxlYXNlTm90Rm91bmQoIk5vIHJlbGVhc2UgbWF0Y2hlcyB0aGUgZ2l2ZW4gY3JpdGVyaWFzIikKKyAgICAgICAgcmV0dXJuIHJlbGVhc2UKKworICAgIGRlZiBnZXRfZGlzdHJpYnV0aW9ucyhzZWxmLCBwcm9qZWN0X25hbWUsIHZlcnNpb24pOgorICAgICAgICAiIiJSZXR1cm4gdGhlIGRpc3RyaWJ1dGlvbnMgZm91bmQgb24gdGhlIGluZGV4IGZvciB0aGUgc3BlY2lmaWMgZ2l2ZW4KKyAgICAgICAgcmVsZWFzZSIiIgorICAgICAgICAjIGFzIHRoZSBkZWZhdWx0IGJlaGF2aW9yIG9mIGdldF9yZWxlYXNlIGlzIHRvIHJldHVybiBhIHJlbGVhc2UKKyAgICAgICAgIyBjb250YWluaW5nIHRoZSBkaXN0cmlidXRpb25zLCBqdXN0IGFsaWFzIGl0LgorICAgICAgICByZXR1cm4gc2VsZi5nZXRfcmVsZWFzZSgiJXMgKCVzKSIgJSAocHJvamVjdF9uYW1lLCB2ZXJzaW9uKSkKKworICAgIGRlZiBnZXRfbWV0YWRhdGEoc2VsZiwgcHJvamVjdF9uYW1lLCB2ZXJzaW9uKToKKyAgICAgICAgIiIiUmV0dXJuIHRoZSBtZXRhZGF0YXMgZnJvbSB0aGUgc2ltcGxlIGluZGV4LgorCisgICAgICAgIEN1cnJlbnRseSwgZG93bmxvYWQgb25lIGFyY2hpdmUsIGV4dHJhY3QgaXQgYW5kIHVzZSB0aGUgUEtHLUlORk8gZmlsZS4KKyAgICAgICAgIiIiCisgICAgICAgIHJlbGVhc2UgPSBzZWxmLmdldF9kaXN0cmlidXRpb25zKHByb2plY3RfbmFtZSwgdmVyc2lvbikKKyAgICAgICAgaWYgbm90IHJlbGVhc2UubWV0YWRhdGE6CisgICAgICAgICAgICBsb2NhdGlvbiA9IHJlbGVhc2UuZ2V0X2Rpc3RyaWJ1dGlvbigpLnVucGFjaygpCisgICAgICAgICAgICBwa2dfaW5mbyA9IG9zLnBhdGguam9pbihsb2NhdGlvbiwgJ1BLRy1JTkZPJykKKyAgICAgICAgICAgIHJlbGVhc2UubWV0YWRhdGEgPSBNZXRhZGF0YShwa2dfaW5mbykKKyAgICAgICAgcmV0dXJuIHJlbGVhc2UKKworICAgIGRlZiBfc3dpdGNoX3RvX25leHRfbWlycm9yKHNlbGYpOgorICAgICAgICAiIiJTd2l0Y2ggdG8gdGhlIG5leHQgbWlycm9yIChlZy4gcG9pbnQgc2VsZi5pbmRleF91cmwgdG8gdGhlIG5leHQKKyAgICAgICAgbWlycm9yIHVybC4KKworICAgICAgICBSYWlzZSBhIEtleUVycm9yIGlmIGFsbCBtaXJyb3JzIGhhdmUgYmVlbiB0cmllZC4KKyAgICAgICAgIiIiCisgICAgICAgIHNlbGYuX21pcnJvcnNfdXNlZC5hZGQoc2VsZi5pbmRleF91cmwpCisgICAgICAgIGluZGV4X3VybCA9IHNlbGYuX21pcnJvcnMucG9wKCkKKyAgICAgICAgIyBYWFggdXNlIHVybGxpYi5wYXJzZSBmb3IgYSByZWFsIGNoZWNrIG9mIG1pc3Npbmcgc2NoZW1lIHBhcnQKKyAgICAgICAgaWYgbm90IGluZGV4X3VybC5zdGFydHN3aXRoKCgiaHR0cDovLyIsICJodHRwczovLyIsICJmaWxlOi8vIikpOgorICAgICAgICAgICAgaW5kZXhfdXJsID0gImh0dHA6Ly8lcyIgJSBpbmRleF91cmwKKworICAgICAgICBpZiBub3QgaW5kZXhfdXJsLmVuZHN3aXRoKCIvc2ltcGxlIik6CisgICAgICAgICAgICBpbmRleF91cmwgPSAiJXMvc2ltcGxlLyIgJSBpbmRleF91cmwKKworICAgICAgICBzZWxmLmluZGV4X3VybCA9IGluZGV4X3VybAorCisgICAgZGVmIF9pc19icm93c2FibGUoc2VsZiwgdXJsKToKKyAgICAgICAgIiIiVGVsbCBpZiB0aGUgZ2l2ZW4gVVJMIGNhbiBiZSBicm93c2VkIG9yIG5vdC4KKworICAgICAgICBJdCB1c2VzIHRoZSBmb2xsb3dfZXh0ZXJuYWxzIGFuZCB0aGUgaG9zdHMgbGlzdCB0byB0ZWxsIGlmIHRoZSBnaXZlbgorICAgICAgICB1cmwgaXMgYnJvd3NhYmxlIG9yIG5vdC4KKyAgICAgICAgIiIiCisgICAgICAgICMgaWYgX2luZGV4X3VybCBpcyBjb250YWluZWQgaW4gdGhlIGdpdmVuIFVSTCwgd2UgYXJlIGJyb3dzaW5nIHRoZQorICAgICAgICAjIGluZGV4LCBhbmQgaXQncyBhbHdheXMgImJyb3dzYWJsZSIuCisgICAgICAgICMgbG9jYWwgZmlsZXMgYXJlIGFsd2F5cyBjb25zaWRlcmVkIGJyb3dhYmxlIHJlc291cmNlcworICAgICAgICBpZiBzZWxmLmluZGV4X3VybCBpbiB1cmwgb3IgdXJsbGliLnBhcnNlLnVybHBhcnNlKHVybClbMF0gPT0gImZpbGUiOgorICAgICAgICAgICAgcmV0dXJuIFRydWUKKyAgICAgICAgZWxpZiBzZWxmLmZvbGxvd19leHRlcm5hbHM6CisgICAgICAgICAgICBpZiBzZWxmLl9hbGxvd2VkX2hvc3RzKHVybGxpYi5wYXJzZS51cmxwYXJzZSh1cmwpWzFdKTogICMgMSBpcyBuZXRsb2MKKyAgICAgICAgICAgICAgICByZXR1cm4gVHJ1ZQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICByZXR1cm4gRmFsc2UKKyAgICAgICAgcmV0dXJuIEZhbHNlCisKKyAgICBkZWYgX2lzX2Rpc3RyaWJ1dGlvbihzZWxmLCBsaW5rKToKKyAgICAgICAgIiIiVGVsbCBpZiB0aGUgZ2l2ZW4gVVJMIG1hdGNoZXMgdG8gYSBkaXN0cmlidXRpb24gbmFtZSBvciBub3QuCisgICAgICAgICIiIgorICAgICAgICAjWFhYIGZpbmQgYSBiZXR0ZXIgd2F5IHRvIGNoZWNrIHRoYXQgbGlua3MgYXJlIGRpc3RyaWJ1dGlvbnMKKyAgICAgICAgIyBVc2luZyBhIHJlZ2V4cCA/CisgICAgICAgIGZvciBleHQgaW4gRVhURU5TSU9OUzoKKyAgICAgICAgICAgIGlmIGV4dCBpbiBsaW5rOgorICAgICAgICAgICAgICAgIHJldHVybiBUcnVlCisgICAgICAgIHJldHVybiBGYWxzZQorCisgICAgZGVmIF9yZWdpc3Rlcl9yZWxlYXNlKHNlbGYsIHJlbGVhc2U9Tm9uZSwgcmVsZWFzZV9pbmZvPXt9KToKKyAgICAgICAgIiIiUmVnaXN0ZXIgYSBuZXcgcmVsZWFzZS4KKworICAgICAgICBCb3RoIGEgcmVsZWFzZSBvciBhIGRpY3Qgb2YgcmVsZWFzZV9pbmZvIGNhbiBiZSBwcm92aWRlZCwgdGhlIHByZWZlcnJlZAorICAgICAgICB3YXkgKGVnLiB0aGUgcXVpY2tlcikgaXMgdGhlIGRpY3Qgb25lLgorCisgICAgICAgIFJldHVybiB0aGUgbGlzdCBvZiBleGlzdGluZyByZWxlYXNlcyBmb3IgdGhlIGdpdmVuIHByb2plY3QuCisgICAgICAgICIiIgorICAgICAgICAjIENoZWNrIGlmIHRoZSBwcm9qZWN0IGFscmVhZHkgaGFzIGEgbGlzdCBvZiByZWxlYXNlcyAocmVmZXJpbmcgdG8KKyAgICAgICAgIyB0aGUgcHJvamVjdCBuYW1lKS4gSWYgbm90LCBjcmVhdGUgYSBuZXcgcmVsZWFzZSBsaXN0LgorICAgICAgICAjIFRoZW4sIGFkZCB0aGUgcmVsZWFzZSB0byB0aGUgbGlzdC4KKyAgICAgICAgaWYgcmVsZWFzZToKKyAgICAgICAgICAgIG5hbWUgPSByZWxlYXNlLm5hbWUKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIG5hbWUgPSByZWxlYXNlX2luZm9bJ25hbWUnXQorICAgICAgICBpZiBuYW1lLmxvd2VyKCkgbm90IGluIHNlbGYuX3Byb2plY3RzOgorICAgICAgICAgICAgc2VsZi5fcHJvamVjdHNbbmFtZS5sb3dlcigpXSA9IFJlbGVhc2VzTGlzdChuYW1lLCBpbmRleD1zZWxmLl9pbmRleCkKKworICAgICAgICBpZiByZWxlYXNlOgorICAgICAgICAgICAgc2VsZi5fcHJvamVjdHNbbmFtZS5sb3dlcigpXS5hZGRfcmVsZWFzZShyZWxlYXNlPXJlbGVhc2UpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBuYW1lID0gcmVsZWFzZV9pbmZvLnBvcCgnbmFtZScpCisgICAgICAgICAgICB2ZXJzaW9uID0gcmVsZWFzZV9pbmZvLnBvcCgndmVyc2lvbicpCisgICAgICAgICAgICBkaXN0X3R5cGUgPSByZWxlYXNlX2luZm8ucG9wKCdkaXN0X3R5cGUnKQorICAgICAgICAgICAgc2VsZi5fcHJvamVjdHNbbmFtZS5sb3dlcigpXS5hZGRfcmVsZWFzZSh2ZXJzaW9uLCBkaXN0X3R5cGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoqcmVsZWFzZV9pbmZvKQorICAgICAgICByZXR1cm4gc2VsZi5fcHJvamVjdHNbbmFtZS5sb3dlcigpXQorCisgICAgZGVmIF9wcm9jZXNzX3VybChzZWxmLCB1cmwsIHByb2plY3RfbmFtZT1Ob25lLCBmb2xsb3dfbGlua3M9VHJ1ZSk6CisgICAgICAgICIiIlByb2Nlc3MgYW4gdXJsIGFuZCBzZWFyY2ggZm9yIGRpc3RyaWJ1dGlvbnMgcGFja2FnZXMuCisKKyAgICAgICAgRm9yIGVhY2ggVVJMIGZvdW5kLCBpZiBpdCdzIGEgZG93bmxvYWQsIGNyZWF0ZXMgYSBQeVBJZGlzdHJpYnV0aW9uCisgICAgICAgIG9iamVjdC4gSWYgaXQncyBhIGhvbWVwYWdlIGFuZCB3ZSBjYW4gZm9sbG93IGxpbmtzLCBwcm9jZXNzIGl0IHRvby4KKworICAgICAgICA6cGFyYW0gdXJsOiB0aGUgdXJsIHRvIHByb2Nlc3MKKyAgICAgICAgOnBhcmFtIHByb2plY3RfbmFtZTogdGhlIHByb2plY3QgbmFtZSB3ZSBhcmUgc2VhcmNoaW5nIGZvci4KKyAgICAgICAgOnBhcmFtIGZvbGxvd19saW5rczogRG8gbm90IHdhbnQgdG8gZm9sbG93IGxpbmtzIG1vcmUgdGhhbiBmcm9tIG9uZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbC4gVGhpcyBwYXJhbWV0ZXIgdGVsbHMgaWYgd2Ugd2FudCB0byBmb2xsb3cKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGxpbmtzIHdlIGZpbmQgKGVnLiBydW4gcmVjdXJzaXZlbHkgdGhpcworICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXRob2Qgb24gaXQpCisgICAgICAgICIiIgorICAgICAgICB3aXRoIHNlbGYuX29wZW5fdXJsKHVybCkgYXMgZjoKKyAgICAgICAgICAgIGJhc2VfdXJsID0gZi51cmwKKyAgICAgICAgICAgIGlmIHVybCBub3QgaW4gc2VsZi5fcHJvY2Vzc2VkX3VybHM6CisgICAgICAgICAgICAgICAgc2VsZi5fcHJvY2Vzc2VkX3VybHMuYXBwZW5kKHVybCkKKyAgICAgICAgICAgICAgICBsaW5rX21hdGNoZXIgPSBzZWxmLl9nZXRfbGlua19tYXRjaGVyKHVybCkKKyAgICAgICAgICAgICAgICBmb3IgbGluaywgaXNfZG93bmxvYWQgaW4gbGlua19tYXRjaGVyKGYucmVhZCgpLmRlY29kZSgpLCBiYXNlX3VybCk6CisgICAgICAgICAgICAgICAgICAgIGlmIGxpbmsgbm90IGluIHNlbGYuX3Byb2Nlc3NlZF91cmxzOgorICAgICAgICAgICAgICAgICAgICAgICAgaWYgc2VsZi5faXNfZGlzdHJpYnV0aW9uKGxpbmspIG9yIGlzX2Rvd25sb2FkOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX3Byb2Nlc3NlZF91cmxzLmFwcGVuZChsaW5rKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgaXQncyBhIGRpc3RyaWJ1dGlvbiwgc28gY3JlYXRlIGEgZGlzdCBvYmplY3QKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZm9zID0gZ2V0X2luZm9zX2Zyb21fdXJsKGxpbmssIHByb2plY3RfbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNfZXh0ZXJuYWw9c2VsZi5pbmRleF91cmwgbm90IGluIHVybCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBleGNlcHQgQ2FudFBhcnNlQXJjaGl2ZU5hbWUgYXMgZToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmVyc2lvbiBoYXMgbm90IGJlZW4gcGFyc2VkOiAlcyIsIGUpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fcmVnaXN0ZXJfcmVsZWFzZShyZWxlYXNlX2luZm89aW5mb3MpCisgICAgICAgICAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIHNlbGYuX2lzX2Jyb3dzYWJsZShsaW5rKSBhbmQgZm9sbG93X2xpbmtzOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9wcm9jZXNzX3VybChsaW5rLCBwcm9qZWN0X25hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2xsb3dfbGlua3M9RmFsc2UpCisKKyAgICBkZWYgX2dldF9saW5rX21hdGNoZXIoc2VsZiwgdXJsKToKKyAgICAgICAgIiIiUmV0dXJucyB0aGUgcmlnaHQgbGluayBtYXRjaGVyIGZ1bmN0aW9uIG9mIHRoZSBnaXZlbiB1cmwKKyAgICAgICAgIiIiCisgICAgICAgIGlmIHNlbGYuaW5kZXhfdXJsIGluIHVybDoKKyAgICAgICAgICAgIHJldHVybiBzZWxmLl9zaW1wbGVfbGlua19tYXRjaGVyCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByZXR1cm4gc2VsZi5fZGVmYXVsdF9saW5rX21hdGNoZXIKKworICAgIGRlZiBfZ2V0X2Z1bGxfdXJsKHNlbGYsIHVybCwgYmFzZV91cmwpOgorICAgICAgICByZXR1cm4gdXJsbGliLnBhcnNlLnVybGpvaW4oYmFzZV91cmwsIHNlbGYuX2h0bWxkZWNvZGUodXJsKSkKKworICAgIGRlZiBfc2ltcGxlX2xpbmtfbWF0Y2hlcihzZWxmLCBjb250ZW50LCBiYXNlX3VybCk6CisgICAgICAgICIiIllpZWxkIGFsbCBsaW5rcyB3aXRoIGEgcmVsPSJkb3dubG9hZCIgb3IgcmVsPSJob21lcGFnZSIuCisKKyAgICAgICAgVGhpcyBtYXRjaGVzIHRoZSBzaW1wbGUgaW5kZXggcmVxdWlyZW1lbnRzIGZvciBtYXRjaGluZyBsaW5rcy4KKyAgICAgICAgSWYgZm9sbG93X2V4dGVybmFscyBpcyBzZXQgdG8gRmFsc2UsIGRvbnQgeWVsZCB0aGUgZXh0ZXJuYWwKKyAgICAgICAgdXJscy4KKworICAgICAgICA6cGFyYW0gY29udGVudDogdGhlIGNvbnRlbnQgb2YgdGhlIHBhZ2Ugd2Ugd2FudCB0byBwYXJzZQorICAgICAgICA6cGFyYW0gYmFzZV91cmw6IHRoZSB1cmwgb2YgdGhpcyBwYWdlLgorICAgICAgICAiIiIKKyAgICAgICAgZm9yIG1hdGNoIGluIEhSRUYuZmluZGl0ZXIoY29udGVudCk6CisgICAgICAgICAgICB1cmwgPSBzZWxmLl9nZXRfZnVsbF91cmwobWF0Y2guZ3JvdXAoMSksIGJhc2VfdXJsKQorICAgICAgICAgICAgaWYgTUQ1X0hBU0gubWF0Y2godXJsKToKKyAgICAgICAgICAgICAgICB5aWVsZCAodXJsLCBUcnVlKQorCisgICAgICAgIGZvciBtYXRjaCBpbiBSRUwuZmluZGl0ZXIoY29udGVudCk6CisgICAgICAgICAgICAjIHNlYXJjaCBmb3IgcmVsIGxpbmtzLgorICAgICAgICAgICAgdGFnLCByZWwgPSBtYXRjaC5ncm91cHMoKQorICAgICAgICAgICAgcmVscyA9IFtzLnN0cmlwKCkgZm9yIHMgaW4gcmVsLmxvd2VyKCkuc3BsaXQoJywnKV0KKyAgICAgICAgICAgIGlmICdob21lcGFnZScgaW4gcmVscyBvciAnZG93bmxvYWQnIGluIHJlbHM6CisgICAgICAgICAgICAgICAgZm9yIG1hdGNoIGluIEhSRUYuZmluZGl0ZXIodGFnKToKKyAgICAgICAgICAgICAgICAgICAgdXJsID0gc2VsZi5fZ2V0X2Z1bGxfdXJsKG1hdGNoLmdyb3VwKDEpLCBiYXNlX3VybCkKKyAgICAgICAgICAgICAgICAgICAgaWYgJ2Rvd25sb2FkJyBpbiByZWxzIG9yIHNlbGYuX2lzX2Jyb3dzYWJsZSh1cmwpOgorICAgICAgICAgICAgICAgICAgICAgICAgIyB5aWVsZCBhIGxpc3Qgb2YgKHVybCwgaXNfZG93bmxvYWQpCisgICAgICAgICAgICAgICAgICAgICAgICB5aWVsZCAodXJsLCAnZG93bmxvYWQnIGluIHJlbHMpCisKKyAgICBkZWYgX2RlZmF1bHRfbGlua19tYXRjaGVyKHNlbGYsIGNvbnRlbnQsIGJhc2VfdXJsKToKKyAgICAgICAgIiIiWWllbGQgYWxsIGxpbmtzIGZvdW5kIG9uIHRoZSBwYWdlLgorICAgICAgICAiIiIKKyAgICAgICAgZm9yIG1hdGNoIGluIEhSRUYuZmluZGl0ZXIoY29udGVudCk6CisgICAgICAgICAgICB1cmwgPSBzZWxmLl9nZXRfZnVsbF91cmwobWF0Y2guZ3JvdXAoMSksIGJhc2VfdXJsKQorICAgICAgICAgICAgaWYgc2VsZi5faXNfYnJvd3NhYmxlKHVybCk6CisgICAgICAgICAgICAgICAgeWllbGQgKHVybCwgRmFsc2UpCisKKyAgICBAd2l0aF9taXJyb3Jfc3VwcG9ydCgpCisgICAgZGVmIF9wcm9jZXNzX2luZGV4X3BhZ2Uoc2VsZiwgbmFtZSk6CisgICAgICAgICIiIkZpbmQgYW5kIHByb2Nlc3MgYSBQeVBJIHBhZ2UgZm9yIHRoZSBnaXZlbiBwcm9qZWN0IG5hbWUuCisKKyAgICAgICAgOnBhcmFtIG5hbWU6IHRoZSBuYW1lIG9mIHRoZSBwcm9qZWN0IHRvIGZpbmQgdGhlIHBhZ2UKKyAgICAgICAgIiIiCisgICAgICAgICMgQnJvd3NlIGFuZCBpbmRleCB0aGUgY29udGVudCBvZiB0aGUgZ2l2ZW4gUHlQSSBwYWdlLgorICAgICAgICBpZiBzZWxmLnNjaGVtZSA9PSAnZmlsZSc6CisgICAgICAgICAgICBlbmRlciA9IG9zLnBhdGguc2VwCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBlbmRlciA9ICcvJworICAgICAgICB1cmwgPSBzZWxmLmluZGV4X3VybCArIG5hbWUgKyBlbmRlcgorICAgICAgICBzZWxmLl9wcm9jZXNzX3VybCh1cmwsIG5hbWUpCisKKyAgICBAc29ja2V0X3RpbWVvdXQoKQorICAgIGRlZiBfb3Blbl91cmwoc2VsZiwgdXJsKToKKyAgICAgICAgIiIiT3BlbiBhIHVybGxpYjIgcmVxdWVzdCwgaGFuZGxpbmcgSFRUUCBhdXRoZW50aWNhdGlvbiwgYW5kIGxvY2FsCisgICAgICAgIGZpbGVzIHN1cHBvcnQuCisKKyAgICAgICAgIiIiCisgICAgICAgIHNjaGVtZSwgbmV0bG9jLCBwYXRoLCBwYXJhbXMsIHF1ZXJ5LCBmcmFnID0gdXJsbGliLnBhcnNlLnVybHBhcnNlKHVybCkKKworICAgICAgICAjIGF1dGhlbnRpY2F0aW9uIHN0dWZmCisgICAgICAgIGlmIHNjaGVtZSBpbiAoJ2h0dHAnLCAnaHR0cHMnKToKKyAgICAgICAgICAgIGF1dGgsIGhvc3QgPSB1cmxsaWIucGFyc2Uuc3BsaXR1c2VyKG5ldGxvYykKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGF1dGggPSBOb25lCisKKyAgICAgICAgIyBhZGQgaW5kZXguaHRtbCBhdXRvbWF0aWNhbGx5IGZvciBmaWxlc3lzdGVtIHBhdGhzCisgICAgICAgIGlmIHNjaGVtZSA9PSAnZmlsZSc6CisgICAgICAgICAgICBpZiB1cmwuZW5kc3dpdGgob3MucGF0aC5zZXApOgorICAgICAgICAgICAgICAgIHVybCArPSAiaW5kZXguaHRtbCIKKworICAgICAgICAjIGFkZCBhdXRob3JpemF0aW9uIGhlYWRlcnMgaWYgYXV0aCBpcyBwcm92aWRlZAorICAgICAgICBpZiBhdXRoOgorICAgICAgICAgICAgYXV0aCA9ICJCYXNpYyAiICsgXAorICAgICAgICAgICAgICAgIHVybGxpYi5wYXJzZS51bnF1b3RlKGF1dGgpLmVuY29kZSgnYmFzZTY0Jykuc3RyaXAoKQorICAgICAgICAgICAgbmV3X3VybCA9IHVybGxpYi5wYXJzZS51cmx1bnBhcnNlKCgKKyAgICAgICAgICAgICAgICBzY2hlbWUsIGhvc3QsIHBhdGgsIHBhcmFtcywgcXVlcnksIGZyYWcpKQorICAgICAgICAgICAgcmVxdWVzdCA9IHVybGxpYi5yZXF1ZXN0LlJlcXVlc3QobmV3X3VybCkKKyAgICAgICAgICAgIHJlcXVlc3QuYWRkX2hlYWRlcigiQXV0aG9yaXphdGlvbiIsIGF1dGgpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByZXF1ZXN0ID0gdXJsbGliLnJlcXVlc3QuUmVxdWVzdCh1cmwpCisgICAgICAgIHJlcXVlc3QuYWRkX2hlYWRlcignVXNlci1BZ2VudCcsIFVTRVJfQUdFTlQpCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIGZwID0gdXJsbGliLnJlcXVlc3QudXJsb3BlbihyZXF1ZXN0KQorICAgICAgICBleGNlcHQgKFZhbHVlRXJyb3IsIGh0dHAuY2xpZW50LkludmFsaWRVUkwpIGFzIHY6CisgICAgICAgICAgICBtc2cgPSAnICcuam9pbihbc3RyKGFyZykgZm9yIGFyZyBpbiB2LmFyZ3NdKQorICAgICAgICAgICAgcmFpc2UgUGFja2FnaW5nUHlQSUVycm9yKCclcyAlcycgJSAodXJsLCBtc2cpKQorICAgICAgICBleGNlcHQgdXJsbGliLmVycm9yLkhUVFBFcnJvciBhcyB2OgorICAgICAgICAgICAgcmV0dXJuIHYKKyAgICAgICAgZXhjZXB0IHVybGxpYi5lcnJvci5VUkxFcnJvciBhcyB2OgorICAgICAgICAgICAgcmFpc2UgRG93bmxvYWRFcnJvcigiRG93bmxvYWQgZXJyb3IgZm9yICVzOiAlcyIgJSAodXJsLCB2LnJlYXNvbikpCisgICAgICAgIGV4Y2VwdCBodHRwLmNsaWVudC5CYWRTdGF0dXNMaW5lIGFzIHY6CisgICAgICAgICAgICByYWlzZSBEb3dubG9hZEVycm9yKCclcyByZXR1cm5lZCBhIGJhZCBzdGF0dXMgbGluZS4gJworICAgICAgICAgICAgICAgICdUaGUgc2VydmVyIG1pZ2h0IGJlIGRvd24sICVzJyAlICh1cmwsIHYubGluZSkpCisgICAgICAgIGV4Y2VwdCBodHRwLmNsaWVudC5IVFRQRXhjZXB0aW9uIGFzIHY6CisgICAgICAgICAgICByYWlzZSBEb3dubG9hZEVycm9yKCJEb3dubG9hZCBlcnJvciBmb3IgJXM6ICVzIiAlICh1cmwsIHYpKQorICAgICAgICBleGNlcHQgc29ja2V0LnRpbWVvdXQ6CisgICAgICAgICAgICByYWlzZSBEb3dubG9hZEVycm9yKCJUaGUgc2VydmVyIHRpbWVvdXRlZCIpCisKKyAgICAgICAgaWYgYXV0aDoKKyAgICAgICAgICAgICMgUHV0IGF1dGhlbnRpY2F0aW9uIGluZm8gYmFjayBpbnRvIHJlcXVlc3QgVVJMIGlmIHNhbWUgaG9zdCwKKyAgICAgICAgICAgICMgc28gdGhhdCBsaW5rcyBmb3VuZCBvbiB0aGUgcGFnZSB3aWxsIHdvcmsKKyAgICAgICAgICAgIHMyLCBoMiwgcGF0aDIsIHBhcmFtMiwgcXVlcnkyLCBmcmFnMiA9IFwKKyAgICAgICAgICAgICAgICB1cmxsaWIucGFyc2UudXJscGFyc2UoZnAudXJsKQorICAgICAgICAgICAgaWYgczIgPT0gc2NoZW1lIGFuZCBoMiA9PSBob3N0OgorICAgICAgICAgICAgICAgIGZwLnVybCA9IHVybGxpYi5wYXJzZS51cmx1bnBhcnNlKAorICAgICAgICAgICAgICAgICAgICAoczIsIG5ldGxvYywgcGF0aDIsIHBhcmFtMiwgcXVlcnkyLCBmcmFnMikpCisgICAgICAgIHJldHVybiBmcAorCisgICAgZGVmIF9kZWNvZGVfZW50aXR5KHNlbGYsIG1hdGNoKToKKyAgICAgICAgd2hhdCA9IG1hdGNoLmdyb3VwKDEpCisgICAgICAgIGlmIHdoYXQuc3RhcnRzd2l0aCgnI3gnKToKKyAgICAgICAgICAgIHdoYXQgPSBpbnQod2hhdFsyOl0sIDE2KQorICAgICAgICBlbGlmIHdoYXQuc3RhcnRzd2l0aCgnIycpOgorICAgICAgICAgICAgd2hhdCA9IGludCh3aGF0WzE6XSkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGZyb20gaHRtbC5lbnRpdGllcyBpbXBvcnQgbmFtZTJjb2RlcG9pbnQKKyAgICAgICAgICAgIHdoYXQgPSBuYW1lMmNvZGVwb2ludC5nZXQod2hhdCwgbWF0Y2guZ3JvdXAoMCkpCisgICAgICAgIHJldHVybiBjaHIod2hhdCkKKworICAgIGRlZiBfaHRtbGRlY29kZShzZWxmLCB0ZXh0KToKKyAgICAgICAgIiIiRGVjb2RlIEhUTUwgZW50aXRpZXMgaW4gdGhlIGdpdmVuIHRleHQuIiIiCisgICAgICAgIHJldHVybiBFTlRJVFlfU1VCKHNlbGYuX2RlY29kZV9lbnRpdHksIHRleHQpCmRpZmYgLS1naXQgYS9MaWIvcGFja2FnaW5nL3B5cGkvd3JhcHBlci5weSBiL0xpYi9wYWNrYWdpbmcvcHlwaS93cmFwcGVyLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk0NWQwOGEKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvcGFja2FnaW5nL3B5cGkvd3JhcHBlci5weQpAQCAtMCwwICsxLDk5IEBACisiIiJDb252ZW5pZW50IGNsaWVudCBmb3IgYWxsIFB5UEkgQVBJcy4KKworVGhpcyBtb2R1bGUgcHJvdmlkZXMgYSBDbGllbnRXcmFwcGVyIGNsYXNzIHdoaWNoIHdpbGwgdXNlIHRoZSAic2ltcGxlIgorb3IgWE1MLVJQQyBBUEkgdG8gcmVxdWVzdCBpbmZvcm1hdGlvbiBvciBmaWxlcyBmcm9tIGFuIGluZGV4LgorIiIiCisKK2Zyb20gcGFja2FnaW5nLnB5cGkgaW1wb3J0IHNpbXBsZSwgeG1scnBjCisKK19XUkFQUEVSX01BUFBJTkdTID0geydnZXRfcmVsZWFzZSc6ICdzaW1wbGUnLAorICAgICAgICAgICAgICAgICAgICAgJ2dldF9yZWxlYXNlcyc6ICdzaW1wbGUnLAorICAgICAgICAgICAgICAgICAgICAgJ3NlYXJjaF9wcm9qZWN0cyc6ICdzaW1wbGUnLAorICAgICAgICAgICAgICAgICAgICAgJ2dldF9tZXRhZGF0YSc6ICd4bWxycGMnLAorICAgICAgICAgICAgICAgICAgICAgJ2dldF9kaXN0cmlidXRpb25zJzogJ3NpbXBsZSd9CisKK19XUkFQUEVSX0lOREVYRVMgPSB7J3htbHJwYyc6IHhtbHJwYy5DbGllbnQsCisgICAgICAgICAgICAgICAgICAgICdzaW1wbGUnOiBzaW1wbGUuQ3Jhd2xlcn0KKworCitkZWYgc3dpdGNoX2luZGV4X2lmX2ZhaWxzKGZ1bmMsIHdyYXBwZXIpOgorICAgICIiIkRlY29yYXRvciB0aGF0IHN3aXRjaCBvZiBpbmRleCAoZm9yIGluc3RhbmNlIGZyb20geG1scnBjIHRvIHNpbXBsZSkKKyAgICBpZiB0aGUgZmlyc3QgbWlycm9yIHJldHVybiBhbiBlbXB0eSBsaXN0IG9yIHJhaXNlcyBhbiBleGNlcHRpb24uCisgICAgIiIiCisgICAgZGVmIGRlY29yYXRvcigqYXJncywgKiprd2FyZ3MpOgorICAgICAgICByZXRyeSA9IFRydWUKKyAgICAgICAgZXhjZXB0aW9uID0gTm9uZQorICAgICAgICBtZXRob2RzID0gW2Z1bmNdCisgICAgICAgIGZvciBmIGluIHdyYXBwZXIuX2luZGV4ZXMudmFsdWVzKCk6CisgICAgICAgICAgICBpZiBmICE9IGZ1bmMuX19zZWxmX18gYW5kIGhhc2F0dHIoZiwgZnVuYy5fX25hbWVfXyk6CisgICAgICAgICAgICAgICAgbWV0aG9kcy5hcHBlbmQoZ2V0YXR0cihmLCBmdW5jLl9fbmFtZV9fKSkKKyAgICAgICAgZm9yIG1ldGhvZCBpbiBtZXRob2RzOgorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIHJlc3BvbnNlID0gbWV0aG9kKCphcmdzLCAqKmt3YXJncykKKyAgICAgICAgICAgICAgICByZXRyeSA9IEZhbHNlCisgICAgICAgICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CisgICAgICAgICAgICAgICAgZXhjZXB0aW9uID0gZQorICAgICAgICAgICAgaWYgbm90IHJldHJ5OgorICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgIGlmIHJldHJ5IGFuZCBleGNlcHRpb246CisgICAgICAgICAgICByYWlzZSBleGNlcHRpb24KKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJldHVybiByZXNwb25zZQorICAgIHJldHVybiBkZWNvcmF0b3IKKworCitjbGFzcyBDbGllbnRXcmFwcGVyOgorICAgICIiIldyYXBwZXIgYXJvdW5kIHNpbXBsZSBhbmQgeG1scnBjIGNsaWVudHMsCisKKyAgICBDaG9vc2UgdGhlIGJlc3QgaW1wbGVtZW50YXRpb24gdG8gdXNlIGRlcGVuZGluZyB0aGUgbmVlZHMsIHVzaW5nIHRoZSBnaXZlbgorICAgIG1hcHBpbmdzLgorICAgIElmIG9uZSBvZiB0aGUgaW5kZXhlcyByZXR1cm5zIGFuIGVycm9yLCB0cmllcyB0byB1c2Ugb3RoZXJzIGluZGV4ZXMuCisKKyAgICA6cGFyYW0gaW5kZXg6IHRlbGwgd2hpY2ggaW5kZXggdG8gcmVseSBvbiBieSBkZWZhdWx0LgorICAgIDpwYXJhbSBpbmRleF9jbGFzc2VzOiBhIGRpY3Qgb2YgbmFtZTpjbGFzcyB0byB1c2UgYXMgaW5kZXhlcy4KKyAgICA6cGFyYW0gaW5kZXhlczogYSBkaWN0IG9mIG5hbWU6aW5kZXggYWxyZWFkeSBpbnN0YW50aWF0ZWQKKyAgICA6cGFyYW0gbWFwcGluZ3M6IHRoZSBtYXBwaW5ncyB0byB1c2UgZm9yIHRoaXMgd3JhcHBlcgorICAgICIiIgorCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGRlZmF1bHRfaW5kZXg9J3NpbXBsZScsIGluZGV4X2NsYXNzZXM9X1dSQVBQRVJfSU5ERVhFUywKKyAgICAgICAgICAgICAgICAgaW5kZXhlcz17fSwgbWFwcGluZ3M9X1dSQVBQRVJfTUFQUElOR1MpOgorICAgICAgICBzZWxmLl9wcm9qZWN0cyA9IHt9CisgICAgICAgIHNlbGYuX21hcHBpbmdzID0gbWFwcGluZ3MKKyAgICAgICAgc2VsZi5faW5kZXhlcyA9IGluZGV4ZXMKKyAgICAgICAgc2VsZi5fZGVmYXVsdF9pbmRleCA9IGRlZmF1bHRfaW5kZXgKKworICAgICAgICAjIGluc3RhbnRpYXRlIHRoZSBjbGFzc2VzIGFuZCBzZXQgdGhlaXIgX3Byb2plY3QgYXR0cmlidXRlIHRvIHRoZSBvbmUKKyAgICAgICAgIyBvZiB0aGUgd3JhcHBlci4KKyAgICAgICAgZm9yIG5hbWUsIGNscyBpbiBpbmRleF9jbGFzc2VzLml0ZW1zKCk6CisgICAgICAgICAgICBvYmogPSBzZWxmLl9pbmRleGVzLnNldGRlZmF1bHQobmFtZSwgY2xzKCkpCisgICAgICAgICAgICBvYmouX3Byb2plY3RzID0gc2VsZi5fcHJvamVjdHMKKyAgICAgICAgICAgIG9iai5faW5kZXggPSBzZWxmCisKKyAgICBkZWYgX19nZXRhdHRyX18oc2VsZiwgbWV0aG9kX25hbWUpOgorICAgICAgICAiIiJXaGVuIGFza2luZyBmb3IgbWV0aG9kcyBvZiB0aGUgd3JhcHBlciwgcmV0dXJuIHRoZSBpbXBsZW1lbnRhdGlvbiBvZgorICAgICAgICB0aGUgd3JhcHBlZCBjbGFzc2VzLCBkZXBlbmRpbmcgdGhlIG1hcHBpbmcuCisKKyAgICAgICAgRGVjb3JhdGUgdGhlIG1ldGhvZHMgdG8gc3dpdGNoIG9mIGltcGxlbWVudGF0aW9uIGlmIGFuIGVycm9yIG9jY3VycworICAgICAgICAiIiIKKyAgICAgICAgcmVhbF9tZXRob2QgPSBOb25lCisgICAgICAgIGlmIG1ldGhvZF9uYW1lIGluIF9XUkFQUEVSX01BUFBJTkdTOgorICAgICAgICAgICAgb2JqID0gc2VsZi5faW5kZXhlc1tfV1JBUFBFUl9NQVBQSU5HU1ttZXRob2RfbmFtZV1dCisgICAgICAgICAgICByZWFsX21ldGhvZCA9IGdldGF0dHIob2JqLCBtZXRob2RfbmFtZSkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgICMgdGhlIG1ldGhvZCBpcyBub3QgZGVmaW5lZCBpbiB0aGUgbWFwcGluZ3MsIHNvIHdlIHRyeSBmaXJzdCB0byBnZXQKKyAgICAgICAgICAgICMgaXQgdmlhIHRoZSBkZWZhdWx0IGluZGV4LCBhbmQgcmVseSBvbiBvdGhlcnMgaWYgbmVlZGVkLgorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIHJlYWxfbWV0aG9kID0gZ2V0YXR0cihzZWxmLl9pbmRleGVzW3NlbGYuX2RlZmF1bHRfaW5kZXhdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXRob2RfbmFtZSkKKyAgICAgICAgICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKKyAgICAgICAgICAgICAgICBvdGhlcl9pbmRleGVzID0gW2kgZm9yIGkgaW4gc2VsZi5faW5kZXhlcworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgaSAhPSBzZWxmLl9kZWZhdWx0X2luZGV4XQorICAgICAgICAgICAgICAgIGZvciBpbmRleCBpbiBvdGhlcl9pbmRleGVzOgorICAgICAgICAgICAgICAgICAgICByZWFsX21ldGhvZCA9IGdldGF0dHIoc2VsZi5faW5kZXhlc1tpbmRleF0sIG1ldGhvZF9uYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTm9uZSkKKyAgICAgICAgICAgICAgICAgICAgaWYgcmVhbF9tZXRob2Q6CisgICAgICAgICAgICAgICAgICAgICAgICBicmVhaworICAgICAgICBpZiByZWFsX21ldGhvZDoKKyAgICAgICAgICAgIHJldHVybiBzd2l0Y2hfaW5kZXhfaWZfZmFpbHMocmVhbF9tZXRob2QsIHNlbGYpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByYWlzZSBBdHRyaWJ1dGVFcnJvcigiTm8gaW5kZXggaGF2ZSBhdHRyaWJ1dGUgJyVzJyIgJSBtZXRob2RfbmFtZSkKZGlmZiAtLWdpdCBhL0xpYi9wYWNrYWdpbmcvcHlwaS94bWxycGMucHkgYi9MaWIvcGFja2FnaW5nL3B5cGkveG1scnBjLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJlZmRmNmQKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvcGFja2FnaW5nL3B5cGkveG1scnBjLnB5CkBAIC0wLDAgKzEsMjAwIEBACisiIiJTcGlkZXIgdXNpbmcgdGhlIFhNTC1SUEMgUHlQSSBBUEkuCisKK1RoaXMgbW9kdWxlIGNvbnRhaW5zIHRoZSBjbGFzcyBDbGllbnQsIGEgc3BpZGVyIHRoYXQgY2FuIGJlIHVzZWQgdG8gZmluZAorYW5kIHJldHJpZXZlIGRpc3RyaWJ1dGlvbnMgZnJvbSBhIHByb2plY3QgaW5kZXggKGxpa2UgdGhlIFB5dGhvbiBQYWNrYWdlCitJbmRleCksIHVzaW5nIGl0cyBYTUwtUlBDIEFQSSAoc2VlIGRvY3VtZW50YXRpb24gb2YgdGhlIHJlZmVyZW5jZQoraW1wbGVtZW50YXRpb24gYXQgaHR0cDovL3dpa2kucHl0aG9uLm9yZy9tb2luL1B5UGlYbWxScGMpLgorIiIiCisKK2ltcG9ydCB4bWxycGMuY2xpZW50CisKK2Zyb20gcGFja2FnaW5nIGltcG9ydCBsb2dnZXIKK2Zyb20gcGFja2FnaW5nLmVycm9ycyBpbXBvcnQgSXJyYXRpb25hbFZlcnNpb25FcnJvcgorZnJvbSBwYWNrYWdpbmcudmVyc2lvbiBpbXBvcnQgZ2V0X3ZlcnNpb25fcHJlZGljYXRlCitmcm9tIHBhY2thZ2luZy5weXBpLmJhc2UgaW1wb3J0IEJhc2VDbGllbnQKK2Zyb20gcGFja2FnaW5nLnB5cGkuZXJyb3JzIGltcG9ydCAoUHJvamVjdE5vdEZvdW5kLCBJbnZhbGlkU2VhcmNoRmllbGQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlbGVhc2VOb3RGb3VuZCkKK2Zyb20gcGFja2FnaW5nLnB5cGkuZGlzdCBpbXBvcnQgUmVsZWFzZUluZm8KKworX19hbGxfXyA9IFsnQ2xpZW50JywgJ0RFRkFVTFRfWE1MUlBDX0lOREVYX1VSTCddCisKK0RFRkFVTFRfWE1MUlBDX0lOREVYX1VSTCA9ICdodHRwOi8vcHl0aG9uLm9yZy9weXBpJworCitfU0VBUkNIX0ZJRUxEUyA9IFsnbmFtZScsICd2ZXJzaW9uJywgJ2F1dGhvcicsICdhdXRob3JfZW1haWwnLCAnbWFpbnRhaW5lcicsCisgICAgICAgICAgICAgICAgICAnbWFpbnRhaW5lcl9lbWFpbCcsICdob21lX3BhZ2UnLCAnbGljZW5zZScsICdzdW1tYXJ5JywKKyAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicsICdrZXl3b3JkcycsICdwbGF0Zm9ybScsICdkb3dubG9hZF91cmwnXQorCisKK2NsYXNzIENsaWVudChCYXNlQ2xpZW50KToKKyAgICAiIiJDbGllbnQgdG8gcXVlcnkgaW5kZXhlcyB1c2luZyBYTUwtUlBDIG1ldGhvZCBjYWxscy4KKworICAgIElmIG5vIHNlcnZlcl91cmwgaXMgc3BlY2lmaWVkLCB1c2UgdGhlIGRlZmF1bHQgUHlQSSBYTUwtUlBDIFVSTCwKKyAgICBkZWZpbmVkIGluIHRoZSBERUZBVUxUX1hNTFJQQ19JTkRFWF9VUkwgY29uc3RhbnQ6OgorCisgICAgICAgID4+PiBjbGllbnQgPSBDbGllbnQoKQorICAgICAgICA+Pj4gY2xpZW50LnNlcnZlcl91cmwgPT0gREVGQVVMVF9YTUxSUENfSU5ERVhfVVJMCisgICAgICAgIFRydWUKKworICAgICAgICA+Pj4gY2xpZW50ID0gQ2xpZW50KCJodHRwOi8vc29tZXVybC8iKQorICAgICAgICA+Pj4gY2xpZW50LnNlcnZlcl91cmwKKyAgICAgICAgJ2h0dHA6Ly9zb21ldXJsLycKKyAgICAiIiIKKworICAgIGRlZiBfX2luaXRfXyhzZWxmLCBzZXJ2ZXJfdXJsPURFRkFVTFRfWE1MUlBDX0lOREVYX1VSTCwgcHJlZmVyX2ZpbmFsPUZhbHNlLAorICAgICAgICAgICAgICAgICBwcmVmZXJfc291cmNlPVRydWUpOgorICAgICAgICBzdXBlcihDbGllbnQsIHNlbGYpLl9faW5pdF9fKHByZWZlcl9maW5hbCwgcHJlZmVyX3NvdXJjZSkKKyAgICAgICAgc2VsZi5zZXJ2ZXJfdXJsID0gc2VydmVyX3VybAorICAgICAgICBzZWxmLl9wcm9qZWN0cyA9IHt9CisKKyAgICBkZWYgZ2V0X3JlbGVhc2Uoc2VsZiwgcmVxdWlyZW1lbnRzLCBwcmVmZXJfZmluYWw9RmFsc2UpOgorICAgICAgICAiIiJSZXR1cm4gYSByZWxlYXNlIHdpdGggYWxsIGNvbXBsZXRlIG1ldGFkYXRhIGFuZCBkaXN0cmlidXRpb24KKyAgICAgICAgcmVsYXRlZCBpbmZvcm1hdGlvbnMuCisgICAgICAgICIiIgorICAgICAgICBwcmVmZXJfZmluYWwgPSBzZWxmLl9nZXRfcHJlZmVyX2ZpbmFsKHByZWZlcl9maW5hbCkKKyAgICAgICAgcHJlZGljYXRlID0gZ2V0X3ZlcnNpb25fcHJlZGljYXRlKHJlcXVpcmVtZW50cykKKyAgICAgICAgcmVsZWFzZXMgPSBzZWxmLmdldF9yZWxlYXNlcyhwcmVkaWNhdGUubmFtZSkKKyAgICAgICAgcmVsZWFzZSA9IHJlbGVhc2VzLmdldF9sYXN0KHByZWRpY2F0ZSwgcHJlZmVyX2ZpbmFsKQorICAgICAgICBzZWxmLmdldF9tZXRhZGF0YShyZWxlYXNlLm5hbWUsIHN0cihyZWxlYXNlLnZlcnNpb24pKQorICAgICAgICBzZWxmLmdldF9kaXN0cmlidXRpb25zKHJlbGVhc2UubmFtZSwgc3RyKHJlbGVhc2UudmVyc2lvbikpCisgICAgICAgIHJldHVybiByZWxlYXNlCisKKyAgICBkZWYgZ2V0X3JlbGVhc2VzKHNlbGYsIHJlcXVpcmVtZW50cywgcHJlZmVyX2ZpbmFsPU5vbmUsIHNob3dfaGlkZGVuPVRydWUsCisgICAgICAgICAgICAgICAgICAgICBmb3JjZV91cGRhdGU9RmFsc2UpOgorICAgICAgICAiIiJSZXR1cm4gdGhlIGxpc3Qgb2YgZXhpc3RpbmcgcmVsZWFzZXMgZm9yIGEgc3BlY2lmaWMgcHJvamVjdC4KKworICAgICAgICBDYWNoZSB0aGUgcmVzdWx0cyBmcm9tIG9uZSBjYWxsIHRvIGFub3RoZXIuCisKKyAgICAgICAgSWYgc2hvd19oaWRkZW4gaXMgVHJ1ZSwgcmV0dXJuIHRoZSBoaWRkZW4gcmVsZWFzZXMgdG9vLgorICAgICAgICBJZiBmb3JjZV91cGRhdGUgaXMgVHJ1ZSwgcmVwcm9jZXNzIHRoZSBpbmRleCB0byB1cGRhdGUgdGhlCisgICAgICAgIGluZm9ybWF0aW9ucyAoZWcuIG1ha2UgYSBuZXcgWE1MLVJQQyBjYWxsKS4KKyAgICAgICAgOjoKKworICAgICAgICAgICAgPj4+IGNsaWVudCA9IENsaWVudCgpCisgICAgICAgICAgICA+Pj4gY2xpZW50LmdldF9yZWxlYXNlcygnRm9vJykKKyAgICAgICAgICAgIFsnMS4xJywgJzEuMicsICcxLjMnXQorCisgICAgICAgIElmIG5vIHN1Y2ggcHJvamVjdCBleGlzdHMsIHJhaXNlIGEgUHJvamVjdE5vdEZvdW5kIGV4Y2VwdGlvbjo6CisKKyAgICAgICAgICAgID4+PiBjbGllbnQuZ2V0X3Byb2plY3RfdmVyc2lvbnMoJ1VuZXhpc3RpbmdQcm9qZWN0JykKKyAgICAgICAgICAgIFByb2plY3ROb3RGb3VuZDogVW5leGlzdGluZ1Byb2plY3QKKworICAgICAgICAiIiIKKyAgICAgICAgZGVmIGdldF92ZXJzaW9ucyhwcm9qZWN0X25hbWUsIHNob3dfaGlkZGVuKToKKyAgICAgICAgICAgIHJldHVybiBzZWxmLnByb3h5LnBhY2thZ2VfcmVsZWFzZXMocHJvamVjdF9uYW1lLCBzaG93X2hpZGRlbikKKworICAgICAgICBwcmVkaWNhdGUgPSBnZXRfdmVyc2lvbl9wcmVkaWNhdGUocmVxdWlyZW1lbnRzKQorICAgICAgICBwcmVmZXJfZmluYWwgPSBzZWxmLl9nZXRfcHJlZmVyX2ZpbmFsKHByZWZlcl9maW5hbCkKKyAgICAgICAgcHJvamVjdF9uYW1lID0gcHJlZGljYXRlLm5hbWUKKyAgICAgICAgaWYgbm90IGZvcmNlX3VwZGF0ZSBhbmQgKHByb2plY3RfbmFtZS5sb3dlcigpIGluIHNlbGYuX3Byb2plY3RzKToKKyAgICAgICAgICAgIHByb2plY3QgPSBzZWxmLl9wcm9qZWN0c1twcm9qZWN0X25hbWUubG93ZXIoKV0KKyAgICAgICAgICAgIGlmIG5vdCBwcm9qZWN0LmNvbnRhaW5zX2hpZGRlbiBhbmQgc2hvd19oaWRkZW46CisgICAgICAgICAgICAgICAgIyBpZiBoaWRkZW4gcmVsZWFzZXMgYXJlIHJlcXVlc3RlZCwgYW5kIGhhdmUgYW4gZXhpc3RpbmcKKyAgICAgICAgICAgICAgICAjIGxpc3Qgb2YgcmVsZWFzZXMgdGhhdCBkb2VzIG5vdCBjb250YWlucyBoaWRkZW4gb25lcworICAgICAgICAgICAgICAgIGFsbF92ZXJzaW9ucyA9IGdldF92ZXJzaW9ucyhwcm9qZWN0X25hbWUsIHNob3dfaGlkZGVuKQorICAgICAgICAgICAgICAgIGV4aXN0aW5nX3ZlcnNpb25zID0gcHJvamVjdC5nZXRfdmVyc2lvbnMoKQorICAgICAgICAgICAgICAgIGhpZGRlbl92ZXJzaW9ucyA9IHNldChhbGxfdmVyc2lvbnMpIC0gc2V0KGV4aXN0aW5nX3ZlcnNpb25zKQorICAgICAgICAgICAgICAgIGZvciB2ZXJzaW9uIGluIGhpZGRlbl92ZXJzaW9uczoKKyAgICAgICAgICAgICAgICAgICAgcHJvamVjdC5hZGRfcmVsZWFzZShyZWxlYXNlPVJlbGVhc2VJbmZvKHByb2plY3RfbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVyc2lvbiwgaW5kZXg9c2VsZi5faW5kZXgpKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgdmVyc2lvbnMgPSBnZXRfdmVyc2lvbnMocHJvamVjdF9uYW1lLCBzaG93X2hpZGRlbikKKyAgICAgICAgICAgIGlmIG5vdCB2ZXJzaW9uczoKKyAgICAgICAgICAgICAgICByYWlzZSBQcm9qZWN0Tm90Rm91bmQocHJvamVjdF9uYW1lKQorICAgICAgICAgICAgcHJvamVjdCA9IHNlbGYuX2dldF9wcm9qZWN0KHByb2plY3RfbmFtZSkKKyAgICAgICAgICAgIHByb2plY3QuYWRkX3JlbGVhc2VzKFtSZWxlYXNlSW5mbyhwcm9qZWN0X25hbWUsIHZlcnNpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXg9c2VsZi5faW5kZXgpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHZlcnNpb24gaW4gdmVyc2lvbnNdKQorICAgICAgICBwcm9qZWN0ID0gcHJvamVjdC5maWx0ZXIocHJlZGljYXRlKQorICAgICAgICBpZiBsZW4ocHJvamVjdCkgPT0gMDoKKyAgICAgICAgICAgIHJhaXNlIFJlbGVhc2VOb3RGb3VuZCgiJXMiICUgcHJlZGljYXRlKQorICAgICAgICBwcm9qZWN0LnNvcnRfcmVsZWFzZXMocHJlZmVyX2ZpbmFsKQorICAgICAgICByZXR1cm4gcHJvamVjdAorCisKKyAgICBkZWYgZ2V0X2Rpc3RyaWJ1dGlvbnMoc2VsZiwgcHJvamVjdF9uYW1lLCB2ZXJzaW9uKToKKyAgICAgICAgIiIiR3JhYiBpbmZvcm1hdGlvbnMgYWJvdXQgZGlzdHJpYnV0aW9ucyBmcm9tIFhNTC1SUEMuCisKKyAgICAgICAgUmV0dXJuIGEgUmVsZWFzZUluZm8gb2JqZWN0LCB3aXRoIGRpc3RyaWJ1dGlvbi1yZWxhdGVkIGluZm9ybWF0aW9ucworICAgICAgICBmaWxsZWQgaW4uCisgICAgICAgICIiIgorICAgICAgICB1cmxfaW5mb3MgPSBzZWxmLnByb3h5LnJlbGVhc2VfdXJscyhwcm9qZWN0X25hbWUsIHZlcnNpb24pCisgICAgICAgIHByb2plY3QgPSBzZWxmLl9nZXRfcHJvamVjdChwcm9qZWN0X25hbWUpCisgICAgICAgIGlmIHZlcnNpb24gbm90IGluIHByb2plY3QuZ2V0X3ZlcnNpb25zKCk6CisgICAgICAgICAgICBwcm9qZWN0LmFkZF9yZWxlYXNlKHJlbGVhc2U9UmVsZWFzZUluZm8ocHJvamVjdF9uYW1lLCB2ZXJzaW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZGV4PXNlbGYuX2luZGV4KSkKKyAgICAgICAgcmVsZWFzZSA9IHByb2plY3QuZ2V0X3JlbGVhc2UodmVyc2lvbikKKyAgICAgICAgZm9yIGluZm8gaW4gdXJsX2luZm9zOgorICAgICAgICAgICAgcGFja2FnZXR5cGUgPSBpbmZvWydwYWNrYWdldHlwZSddCisgICAgICAgICAgICBkaXN0X2luZm9zID0geyd1cmwnOiBpbmZvWyd1cmwnXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgJ2hhc2h2YWwnOiBpbmZvWydtZDVfZGlnZXN0J10sCisgICAgICAgICAgICAgICAgICAgICAgICAgICdoYXNobmFtZSc6ICdtZDUnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAnaXNfZXh0ZXJuYWwnOiBGYWxzZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgJ3B5dGhvbl92ZXJzaW9uJzogaW5mb1sncHl0aG9uX3ZlcnNpb24nXX0KKyAgICAgICAgICAgIHJlbGVhc2UuYWRkX2Rpc3RyaWJ1dGlvbihwYWNrYWdldHlwZSwgKipkaXN0X2luZm9zKQorICAgICAgICByZXR1cm4gcmVsZWFzZQorCisgICAgZGVmIGdldF9tZXRhZGF0YShzZWxmLCBwcm9qZWN0X25hbWUsIHZlcnNpb24pOgorICAgICAgICAiIiJSZXRyaWV2ZSBwcm9qZWN0IG1ldGFkYXRhLgorCisgICAgICAgIFJldHVybiBhIFJlbGVhc2VJbmZvIG9iamVjdCwgd2l0aCBtZXRhZGF0YSBpbmZvcm1hdGlvbnMgZmlsbGVkIGluLgorICAgICAgICAiIiIKKyAgICAgICAgIyB0byBiZSBjYXNlLWluc2Vuc2l0aXZlLCBnZXQgdGhlIGluZm9ybWF0aW9ucyBmcm9tIHRoZSBYTUxSUEMgQVBJCisgICAgICAgIHByb2plY3RzID0gW2RbJ25hbWUnXSBmb3IgZCBpbgorICAgICAgICAgICAgICAgICAgICBzZWxmLnByb3h5LnNlYXJjaCh7J25hbWUnOiBwcm9qZWN0X25hbWV9KQorICAgICAgICAgICAgICAgICAgICBpZiBkWyduYW1lJ10ubG93ZXIoKSA9PSBwcm9qZWN0X25hbWVdCisgICAgICAgIGlmIGxlbihwcm9qZWN0cykgPiAwOgorICAgICAgICAgICAgcHJvamVjdF9uYW1lID0gcHJvamVjdHNbMF0KKworICAgICAgICBtZXRhZGF0YSA9IHNlbGYucHJveHkucmVsZWFzZV9kYXRhKHByb2plY3RfbmFtZSwgdmVyc2lvbikKKyAgICAgICAgcHJvamVjdCA9IHNlbGYuX2dldF9wcm9qZWN0KHByb2plY3RfbmFtZSkKKyAgICAgICAgaWYgdmVyc2lvbiBub3QgaW4gcHJvamVjdC5nZXRfdmVyc2lvbnMoKToKKyAgICAgICAgICAgIHByb2plY3QuYWRkX3JlbGVhc2UocmVsZWFzZT1SZWxlYXNlSW5mbyhwcm9qZWN0X25hbWUsIHZlcnNpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXg9c2VsZi5faW5kZXgpKQorICAgICAgICByZWxlYXNlID0gcHJvamVjdC5nZXRfcmVsZWFzZSh2ZXJzaW9uKQorICAgICAgICByZWxlYXNlLnNldF9tZXRhZGF0YShtZXRhZGF0YSkKKyAgICAgICAgcmV0dXJuIHJlbGVhc2UKKworICAgIGRlZiBzZWFyY2hfcHJvamVjdHMoc2VsZiwgbmFtZT1Ob25lLCBvcGVyYXRvcj0ib3IiLCAqKmt3YXJncyk6CisgICAgICAgICIiIkZpbmQgdXNpbmcgdGhlIGtleXMgcHJvdmlkZWQgaW4ga3dhcmdzLgorCisgICAgICAgIFlvdSBjYW4gc2V0IG9wZXJhdG9yIHRvICJhbmQiIG9yICJvciIuCisgICAgICAgICIiIgorICAgICAgICBmb3Iga2V5IGluIGt3YXJnczoKKyAgICAgICAgICAgIGlmIGtleSBub3QgaW4gX1NFQVJDSF9GSUVMRFM6CisgICAgICAgICAgICAgICAgcmFpc2UgSW52YWxpZFNlYXJjaEZpZWxkKGtleSkKKyAgICAgICAgaWYgbmFtZToKKyAgICAgICAgICAgIGt3YXJnc1sibmFtZSJdID0gbmFtZQorICAgICAgICBwcm9qZWN0cyA9IHNlbGYucHJveHkuc2VhcmNoKGt3YXJncywgb3BlcmF0b3IpCisgICAgICAgIGZvciBwIGluIHByb2plY3RzOgorICAgICAgICAgICAgcHJvamVjdCA9IHNlbGYuX2dldF9wcm9qZWN0KHBbJ25hbWUnXSkKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBwcm9qZWN0LmFkZF9yZWxlYXNlKHJlbGVhc2U9UmVsZWFzZUluZm8ocFsnbmFtZSddLAorICAgICAgICAgICAgICAgICAgICBwWyd2ZXJzaW9uJ10sIG1ldGFkYXRhPXsnc3VtbWFyeSc6IHBbJ3N1bW1hcnknXX0sCisgICAgICAgICAgICAgICAgICAgIGluZGV4PXNlbGYuX2luZGV4KSkKKyAgICAgICAgICAgIGV4Y2VwdCBJcnJhdGlvbmFsVmVyc2lvbkVycm9yIGFzIGU6CisgICAgICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoIklycmF0aW9uYWwgdmVyc2lvbiBlcnJvciBmb3VuZDogJXMiLCBlKQorICAgICAgICByZXR1cm4gW3NlbGYuX3Byb2plY3RzW3BbJ25hbWUnXS5sb3dlcigpXSBmb3IgcCBpbiBwcm9qZWN0c10KKworICAgIGRlZiBnZXRfYWxsX3Byb2plY3RzKHNlbGYpOgorICAgICAgICAiIiJSZXR1cm4gdGhlIGxpc3Qgb2YgYWxsIHByb2plY3RzIHJlZ2lzdGVyZWQgaW4gdGhlIHBhY2thZ2UgaW5kZXgiIiIKKyAgICAgICAgcHJvamVjdHMgPSBzZWxmLnByb3h5Lmxpc3RfcGFja2FnZXMoKQorICAgICAgICBmb3IgbmFtZSBpbiBwcm9qZWN0czoKKyAgICAgICAgICAgIHNlbGYuZ2V0X3JlbGVhc2VzKG5hbWUsIHNob3dfaGlkZGVuPVRydWUpCisKKyAgICAgICAgcmV0dXJuIFtzZWxmLl9wcm9qZWN0c1tuYW1lLmxvd2VyKCldIGZvciBuYW1lIGluIHNldChwcm9qZWN0cyldCisKKyAgICBAcHJvcGVydHkKKyAgICBkZWYgcHJveHkoc2VsZik6CisgICAgICAgICIiIlByb3BlcnR5IHVzZWQgdG8gcmV0dXJuIHRoZSBYTUxSUEMgc2VydmVyIHByb3h5LgorCisgICAgICAgIElmIG5vIHNlcnZlciBwcm94eSBpcyBkZWZpbmVkIHlldCwgY3JlYXRlcyBhIG5ldyBvbmU6OgorCisgICAgICAgICAgICA+Pj4gY2xpZW50ID0gQ2xpZW50KCkKKyAgICAgICAgICAgID4+PiBjbGllbnQucHJveHkoKQorICAgICAgICAgICAgPFNlcnZlclByb3h5IGZvciBweXRob24ub3JnL3B5cGk+CisKKyAgICAgICAgIiIiCisgICAgICAgIGlmIG5vdCBoYXNhdHRyKHNlbGYsICdfc2VydmVyX3Byb3h5Jyk6CisgICAgICAgICAgICBzZWxmLl9zZXJ2ZXJfcHJveHkgPSB4bWxycGMuY2xpZW50LlNlcnZlclByb3h5KHNlbGYuc2VydmVyX3VybCkKKworICAgICAgICByZXR1cm4gc2VsZi5fc2VydmVyX3Byb3h5CmRpZmYgLS1naXQgYS9MaWIvcGFja2FnaW5nL3J1bi5weSBiL0xpYi9wYWNrYWdpbmcvcnVuLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMzNjAwYTcKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvcGFja2FnaW5nL3J1bi5weQpAQCAtMCwwICsxLDY2MyBAQAorIiIiTWFpbiBjb21tYW5kIGxpbmUgcGFyc2VyLiAgSW1wbGVtZW50cyB0aGUgcHlzZXR1cCBzY3JpcHQuIiIiCisKK2ltcG9ydCBvcworaW1wb3J0IHJlCitpbXBvcnQgc3lzCitpbXBvcnQgZ2V0b3B0CitpbXBvcnQgbG9nZ2luZworCitmcm9tIHBhY2thZ2luZyBpbXBvcnQgbG9nZ2VyCitmcm9tIHBhY2thZ2luZy5kaXN0IGltcG9ydCBEaXN0cmlidXRpb24KK2Zyb20gcGFja2FnaW5nLnV0aWwgaW1wb3J0IF9pc19hcmNoaXZlX2ZpbGUsIGdlbmVyYXRlX3NldHVwX3B5Citmcm9tIHBhY2thZ2luZy5jb21tYW5kIGltcG9ydCBnZXRfY29tbWFuZF9jbGFzcywgU1RBTkRBUkRfQ09NTUFORFMKK2Zyb20gcGFja2FnaW5nLmluc3RhbGwgaW1wb3J0IGluc3RhbGwsIGluc3RhbGxfbG9jYWxfcHJvamVjdCwgcmVtb3ZlCitmcm9tIHBhY2thZ2luZy5kYXRhYmFzZSBpbXBvcnQgZ2V0X2Rpc3RyaWJ1dGlvbiwgZ2V0X2Rpc3RyaWJ1dGlvbnMKK2Zyb20gcGFja2FnaW5nLmRlcGdyYXBoIGltcG9ydCBnZW5lcmF0ZV9ncmFwaAorZnJvbSBwYWNrYWdpbmcuZmFuY3lfZ2V0b3B0IGltcG9ydCBGYW5jeUdldG9wdAorZnJvbSBwYWNrYWdpbmcuZXJyb3JzIGltcG9ydCAoUGFja2FnaW5nQXJnRXJyb3IsIFBhY2thZ2luZ0Vycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUGFja2FnaW5nTW9kdWxlRXJyb3IsIFBhY2thZ2luZ0NsYXNzRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDQ29tcGlsZXJFcnJvcikKKworCitjb21tYW5kX3JlID0gcmUuY29tcGlsZShyJ15bYS16QS1aXShbYS16QS1aMC05X10qKSQnKQorCitjb21tb25fdXNhZ2UgPSAiIiJcCitBY3Rpb25zOgorJShhY3Rpb25zKXMKKworVG8gZ2V0IG1vcmUgaGVscCBvbiBhbiBhY3Rpb24sIHVzZToKKworICAgIHB5c2V0dXAgYWN0aW9uIC0taGVscAorIiIiCisKK2dsb2JhbF9vcHRpb25zID0gWworICAgICMgVGhlIGZvdXJ0aCBlbnRyeSBmb3IgdmVyYm9zZSBtZWFucyB0aGF0IGl0IGNhbiBiZSByZXBlYXRlZC4KKyAgICAoJ3ZlcmJvc2UnLCAndicsICJydW4gdmVyYm9zZWx5IChkZWZhdWx0KSIsIFRydWUpLAorICAgICgncXVpZXQnLCAncScsICJydW4gcXVpZXRseSAodHVybnMgdmVyYm9zaXR5IG9mZikiKSwKKyAgICAoJ2RyeS1ydW4nLCAnbicsICJkb24ndCBhY3R1YWxseSBkbyBhbnl0aGluZyIpLAorICAgICgnaGVscCcsICdoJywgInNob3cgZGV0YWlsZWQgaGVscCBtZXNzYWdlIiksCisgICAgKCduby11c2VyLWNmZycsIE5vbmUsICdpZ25vcmUgcHlkaXN0dXRpbHMuY2ZnIGluIHlvdXIgaG9tZSBkaXJlY3RvcnknKSwKKyAgICAoJ3ZlcnNpb24nLCBOb25lLCAnRGlzcGxheSB0aGUgdmVyc2lvbicpLAorXQorCituZWdhdGl2ZV9vcHQgPSB7J3F1aWV0JzogJ3ZlcmJvc2UnfQorCitkaXNwbGF5X29wdGlvbnMgPSBbCisgICAgKCdoZWxwLWNvbW1hbmRzJywgTm9uZSwgImxpc3QgYWxsIGF2YWlsYWJsZSBjb21tYW5kcyIpLAorXQorCitkaXNwbGF5X29wdGlvbl9uYW1lcyA9IFt4WzBdLnJlcGxhY2UoJy0nLCAnXycpIGZvciB4IGluIGRpc3BsYXlfb3B0aW9uc10KKworCitkZWYgX3BhcnNlX2FyZ3MoYXJncywgb3B0aW9ucywgbG9uZ19vcHRpb25zKToKKyAgICAiIiJUcmFuc2Zvcm0gc3lzLmFyZ3YgaW5wdXQgaW50byBhIGRpY3QuCisKKyAgICA6cGFyYW0gYXJnczogdGhlIGFyZ3MgdG8gcGFyc2UgKGkuZSBzeXMuYXJndikKKyAgICA6cGFyYW0gb3B0aW9uczogdGhlIGxpc3Qgb2Ygb3B0aW9ucyB0byBwYXNzIHRvIGdldG9wdAorICAgIDpwYXJhbSBsb25nX29wdGlvbnM6IHRoZSBsaXN0IG9mIHN0cmluZyB3aXRoIHRoZSBuYW1lcyBvZiB0aGUgbG9uZyBvcHRpb25zCisgICAgICAgICAgICAgICAgICAgICAgICAgdG8gYmUgcGFzc2VkIHRvIGdldG9wdC4KKworICAgIFRoZSBmdW5jdGlvbiByZXR1cm5zIGEgZGljdCB3aXRoIG9wdGlvbnMvbG9uZ19vcHRpb25zIGFzIGtleXMgYW5kIG1hdGNoaW5nCisgICAgdmFsdWVzIGFzIHZhbHVlcy4KKyAgICAiIiIKKyAgICBvcHRsaXN0LCBhcmdzID0gZ2V0b3B0LmdudV9nZXRvcHQoYXJncywgb3B0aW9ucywgbG9uZ19vcHRpb25zKQorICAgIG9wdGRpY3QgPSB7fQorICAgIG9wdGRpY3RbJ2FyZ3MnXSA9IGFyZ3MKKyAgICBmb3IgaywgdiBpbiBvcHRsaXN0OgorICAgICAgICBrID0gay5sc3RyaXAoJy0nKQorICAgICAgICBpZiBrIG5vdCBpbiBvcHRkaWN0OgorICAgICAgICAgICAgb3B0ZGljdFtrXSA9IFtdCisgICAgICAgICAgICBpZiB2OgorICAgICAgICAgICAgICAgIG9wdGRpY3Rba10uYXBwZW5kKHYpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBvcHRkaWN0W2tdLmFwcGVuZCh2KQorICAgIHJldHVybiBvcHRkaWN0CisKKworY2xhc3MgYWN0aW9uX2hlbHA6CisgICAgIiIiUHJpbnRzIGEgaGVscCBtZXNzYWdlIHdoZW4gdGhlIHN0YW5kYXJkIGhlbHAgZmxhZ3M6IC1oIGFuZCAtLWhlbHAKKyAgICBhcmUgdXNlZCBvbiB0aGUgY29tbWFuZGxpbmUuCisgICAgIiIiCisKKyAgICBkZWYgX19pbml0X18oc2VsZiwgaGVscF9tc2cpOgorICAgICAgICBzZWxmLmhlbHBfbXNnID0gaGVscF9tc2cKKworICAgIGRlZiBfX2NhbGxfXyhzZWxmLCBmKToKKyAgICAgICAgZGVmIHdyYXBwZXIoKmFyZ3MsICoqa3dhcmdzKToKKyAgICAgICAgICAgIGZfYXJncyA9IGFyZ3NbMV0KKyAgICAgICAgICAgIGlmICctLWhlbHAnIGluIGZfYXJncyBvciAnLWgnIGluIGZfYXJnczoKKyAgICAgICAgICAgICAgICBwcmludChzZWxmLmhlbHBfbXNnKQorICAgICAgICAgICAgICAgIHJldHVybgorICAgICAgICAgICAgcmV0dXJuIGYoKmFyZ3MsICoqa3dhcmdzKQorICAgICAgICByZXR1cm4gd3JhcHBlcgorCisKK0BhY3Rpb25faGVscCgiIiJcCitVc2FnZTogcHlzZXR1cCBjcmVhdGUKKyAgIG9yOiBweXNldHVwIGNyZWF0ZSAtLWhlbHAKKworQ3JlYXRlIGEgbmV3IFB5dGhvbiBwcm9qZWN0LgorIiIiKQorZGVmIF9jcmVhdGUoZGlzdHBhdGNoZXIsIGFyZ3MsICoqa3cpOgorICAgIGZyb20gcGFja2FnaW5nLmNyZWF0ZSBpbXBvcnQgbWFpbgorICAgIHJldHVybiBtYWluKCkKKworCitAYWN0aW9uX2hlbHAoIiIiXAorVXNhZ2U6IHB5c2V0dXAgZ2VuZXJhdGUtc2V0dXAKKyAgIG9yOiBweXNldHVwIGdlbmVyYXRlLXNldHVwIC0taGVscAorCitHZW5lcmF0ZSBhIHNldHVwLnB5IHNjcmlwdCBmb3IgYmFja3dhcmQtY29tcGF0aWJpbGl0eSBwdXJwb3Nlcy4KKyIiIikKK2RlZiBfZ2VuZXJhdGUoZGlzdHBhdGNoZXIsIGFyZ3MsICoqa3cpOgorICAgIGdlbmVyYXRlX3NldHVwX3B5KCkKKyAgICBsb2dnZXIuaW5mbygnVGhlIHNldHVwLnB5IHdhcyBnZW5lcmF0ZWQnKQorCisKK0BhY3Rpb25faGVscCgiIiJcCitVc2FnZTogcHlzZXR1cCBncmFwaCBkaXN0CisgICBvcjogcHlzZXR1cCBncmFwaCAtLWhlbHAKKworUHJpbnQgZGVwZW5kZW5jeSBncmFwaCBmb3IgdGhlIGRpc3RyaWJ1dGlvbi4KKworcG9zaXRpb25hbCBhcmd1bWVudHM6CisgICBkaXN0ICBpbnN0YWxsZWQgZGlzdHJpYnV0aW9uIG5hbWUKKyIiIikKK2RlZiBfZ3JhcGgoZGlzcGF0Y2hlciwgYXJncywgKiprdyk6CisgICAgbmFtZSA9IGFyZ3NbMV0KKyAgICBkaXN0ID0gZ2V0X2Rpc3RyaWJ1dGlvbihuYW1lLCB1c2VfZWdnX2luZm89VHJ1ZSkKKyAgICBpZiBkaXN0IGlzIE5vbmU6CisgICAgICAgIGxvZ2dlci53YXJuaW5nKCdEaXN0cmlidXRpb24gbm90IGZvdW5kLicpCisgICAgICAgIHJldHVybiAxCisgICAgZWxzZToKKyAgICAgICAgZGlzdHMgPSBnZXRfZGlzdHJpYnV0aW9ucyh1c2VfZWdnX2luZm89VHJ1ZSkKKyAgICAgICAgZ3JhcGggPSBnZW5lcmF0ZV9ncmFwaChkaXN0cykKKyAgICAgICAgcHJpbnQoZ3JhcGgucmVwcl9ub2RlKGRpc3QpKQorCisKK0BhY3Rpb25faGVscCgiIiJcCitVc2FnZTogcHlzZXR1cCBpbnN0YWxsIFtkaXN0XQorICAgb3I6IHB5c2V0dXAgaW5zdGFsbCBbYXJjaGl2ZV0KKyAgIG9yOiBweXNldHVwIGluc3RhbGwgW3NyY19kaXJdCisgICBvcjogcHlzZXR1cCBpbnN0YWxsIC0taGVscAorCitJbnN0YWxsIGEgUHl0aG9uIGRpc3RyaWJ1dGlvbiBmcm9tIHRoZSBpbmRleGVzLCBzb3VyY2UgZGlyZWN0b3J5LCBvciBzZGlzdC4KKworcG9zaXRpb25hbCBhcmd1bWVudHM6CisgICBhcmNoaXZlICBwYXRoIHRvIHNvdXJjZSBkaXN0cmlidXRpb24gKHppcCwgdGFyLmd6KQorICAgZGlzdCAgICAgZGlzdHJpYnV0aW9uIG5hbWUgdG8gaW5zdGFsbCBmcm9tIHRoZSBpbmRleGVzCisgICBzY3JfZGlyICBwYXRoIHRvIHNvdXJjZSBkaXJlY3RvcnkKKyIiIikKK2RlZiBfaW5zdGFsbChkaXNwYXRjaGVyLCBhcmdzLCAqKmt3KToKKyAgICAjIGZpcnN0IGNoZWNrIGlmIHdlIGFyZSBpbiBhIHNvdXJjZSBkaXJlY3RvcnkKKyAgICBpZiBsZW4oYXJncykgPCAyOgorICAgICAgICAjIGFyZSB3ZSBpbnNpZGUgYSBwcm9qZWN0IGRpcj8KKyAgICAgICAgaWYgb3MucGF0aC5pc2ZpbGUoJ3NldHVwLmNmZycpIG9yIG9zLnBhdGguaXNmaWxlKCdzZXR1cC5weScpOgorICAgICAgICAgICAgYXJncy5pbnNlcnQoMSwgb3MuZ2V0Y3dkKCkpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBsb2dnZXIud2FybmluZygnTm8gcHJvamVjdCB0byBpbnN0YWxsLicpCisgICAgICAgICAgICByZXR1cm4gMQorCisgICAgdGFyZ2V0ID0gYXJnc1sxXQorICAgICMgaW5zdGFsbGluZyBmcm9tIGEgc291cmNlIGRpciBvciBhcmNoaXZlIGZpbGU/CisgICAgaWYgb3MucGF0aC5pc2Rpcih0YXJnZXQpIG9yIF9pc19hcmNoaXZlX2ZpbGUodGFyZ2V0KToKKyAgICAgICAgcmV0dXJuIG5vdCBpbnN0YWxsX2xvY2FsX3Byb2plY3QodGFyZ2V0KQorICAgIGVsc2U6CisgICAgICAgICMgZG93bmxvYWQgZnJvbSBQeVBJCisgICAgICAgIHJldHVybiBub3QgaW5zdGFsbCh0YXJnZXQpCisKKworQGFjdGlvbl9oZWxwKCIiIlwKK1VzYWdlOiBweXNldHVwIG1ldGFkYXRhIFtkaXN0XQorICAgb3I6IHB5c2V0dXAgbWV0YWRhdGEgW2Rpc3RdIFstZiBmaWVsZCAuLi5dCisgICBvcjogcHlzZXR1cCBtZXRhZGF0YSAtLWhlbHAKKworUHJpbnQgbWV0YWRhdGEgZm9yIHRoZSBkaXN0cmlidXRpb24uCisKK3Bvc2l0aW9uYWwgYXJndW1lbnRzOgorICAgZGlzdCAgaW5zdGFsbGVkIGRpc3RyaWJ1dGlvbiBuYW1lCisKK29wdGlvbmFsIGFyZ3VtZW50czoKKyAgIC1mICAgICBtZXRhZGF0YSBmaWVsZCB0byBwcmludDsgb21pdCB0byBnZXQgYWxsIGZpZWxkcworIiIiKQorZGVmIF9tZXRhZGF0YShkaXNwYXRjaGVyLCBhcmdzLCAqKmt3KToKKyAgICBvcHRzID0gX3BhcnNlX2FyZ3MoYXJnc1sxOl0sICdmOicsIFtdKQorICAgIGlmIG9wdHNbJ2FyZ3MnXToKKyAgICAgICAgbmFtZSA9IG9wdHNbJ2FyZ3MnXVswXQorICAgICAgICBkaXN0ID0gZ2V0X2Rpc3RyaWJ1dGlvbihuYW1lLCB1c2VfZWdnX2luZm89VHJ1ZSkKKyAgICAgICAgaWYgZGlzdCBpcyBOb25lOgorICAgICAgICAgICAgbG9nZ2VyLndhcm5pbmcoJyVyIG5vdCBpbnN0YWxsZWQnLCBuYW1lKQorICAgICAgICAgICAgcmV0dXJuIDEKKyAgICBlbGlmIG9zLnBhdGguaXNmaWxlKCdzZXR1cC5jZmcnKToKKyAgICAgICAgbG9nZ2VyLmluZm8oJ3NlYXJjaGluZyBsb2NhbCBkaXIgZm9yIG1ldGFkYXRhJykKKyAgICAgICAgZGlzdCA9IERpc3RyaWJ1dGlvbigpICAjIFhYWCB1c2UgY29uZmlnIG1vZHVsZQorICAgICAgICBkaXN0LnBhcnNlX2NvbmZpZ19maWxlcygpCisgICAgZWxzZToKKyAgICAgICAgbG9nZ2VyLndhcm5pbmcoJ25vIGFyZ3VtZW50IGdpdmVuIGFuZCBubyBsb2NhbCBzZXR1cC5jZmcgZm91bmQnKQorICAgICAgICByZXR1cm4gMQorCisgICAgbWV0YWRhdGEgPSBkaXN0Lm1ldGFkYXRhCisKKyAgICBpZiAnZicgaW4gb3B0czoKKyAgICAgICAga2V5cyA9IChrIGZvciBrIGluIG9wdHNbJ2YnXSBpZiBrIGluIG1ldGFkYXRhKQorICAgIGVsc2U6CisgICAgICAgIGtleXMgPSBtZXRhZGF0YS5rZXlzKCkKKworICAgIGZvciBrZXkgaW4ga2V5czoKKyAgICAgICAgaWYga2V5IGluIG1ldGFkYXRhOgorICAgICAgICAgICAgcHJpbnQobWV0YWRhdGEuX2NvbnZlcnRfbmFtZShrZXkpICsgJzonKQorICAgICAgICAgICAgdmFsdWUgPSBtZXRhZGF0YVtrZXldCisgICAgICAgICAgICBpZiBpc2luc3RhbmNlKHZhbHVlLCBsaXN0KToKKyAgICAgICAgICAgICAgICBmb3IgdiBpbiB2YWx1ZToKKyAgICAgICAgICAgICAgICAgICAgcHJpbnQoJyAgICcsIHYpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHByaW50KCcgICAnLCB2YWx1ZS5yZXBsYWNlKCdcbicsICdcbiAgICAnKSkKKworCitAYWN0aW9uX2hlbHAoIiIiXAorVXNhZ2U6IHB5c2V0dXAgcmVtb3ZlIGRpc3QgWy15XQorICAgb3I6IHB5c2V0dXAgcmVtb3ZlIC0taGVscAorCitVbmluc3RhbGwgYSBQeXRob24gZGlzdHJpYnV0aW9uLgorCitwb3NpdGlvbmFsIGFyZ3VtZW50czoKKyAgIGRpc3QgIGluc3RhbGxlZCBkaXN0cmlidXRpb24gbmFtZQorCitvcHRpb25hbCBhcmd1bWVudHM6CisgICAteSAgYXV0byBjb25maXJtIGRpc3RyaWJ1dGlvbiByZW1vdmFsCisiIiIpCitkZWYgX3JlbW92ZShkaXN0cGF0Y2hlciwgYXJncywgKiprdyk6CisgICAgb3B0cyA9IF9wYXJzZV9hcmdzKGFyZ3NbMTpdLCAneScsIFtdKQorICAgIGlmICd5JyBpbiBvcHRzOgorICAgICAgICBhdXRvX2NvbmZpcm0gPSBUcnVlCisgICAgZWxzZToKKyAgICAgICAgYXV0b19jb25maXJtID0gRmFsc2UKKworICAgIHJldGNvZGUgPSAwCisgICAgZm9yIGRpc3QgaW4gc2V0KG9wdHNbJ2FyZ3MnXSk6CisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHJlbW92ZShkaXN0LCBhdXRvX2NvbmZpcm09YXV0b19jb25maXJtKQorICAgICAgICBleGNlcHQgUGFja2FnaW5nRXJyb3I6CisgICAgICAgICAgICBsb2dnZXIud2FybmluZygnJXIgbm90IGluc3RhbGxlZCcsIGRpc3QpCisgICAgICAgICAgICByZXRjb2RlID0gMQorCisgICAgcmV0dXJuIHJldGNvZGUKKworCitAYWN0aW9uX2hlbHAoIiIiXAorVXNhZ2U6IHB5c2V0dXAgcnVuIFtnbG9iYWxfb3B0c10gY21kMSBbY21kMV9vcHRzXSBbY21kMiBbY21kMl9vcHRzXSAuLi5dCisgICBvcjogcHlzZXR1cCBydW4gLS1oZWxwCisgICBvcjogcHlzZXR1cCBydW4gLS1saXN0LWNvbW1hbmRzCisgICBvcjogcHlzZXR1cCBydW4gY21kIC0taGVscAorIiIiKQorZGVmIF9ydW4oZGlzcGF0Y2hlciwgYXJncywgKiprdyk6CisgICAgcGFyc2VyID0gZGlzcGF0Y2hlci5wYXJzZXIKKyAgICBhcmdzID0gYXJnc1sxOl0KKworICAgIGNvbW1hbmRzID0gU1RBTkRBUkRfQ09NTUFORFMgICMgRklYTUUgZGlzcGxheSBleHRyYSBjb21tYW5kcworCisgICAgaWYgYXJncyA9PSBbJy0tbGlzdC1jb21tYW5kcyddOgorICAgICAgICBwcmludCgnTGlzdCBvZiBhdmFpbGFibGUgY29tbWFuZHM6JykKKyAgICAgICAgZm9yIGNtZCBpbiBjb21tYW5kczoKKyAgICAgICAgICAgIGNscyA9IGRpc3BhdGNoZXIuY21kY2xhc3MuZ2V0KGNtZCkgb3IgZ2V0X2NvbW1hbmRfY2xhc3MoY21kKQorICAgICAgICAgICAgZGVzYyA9IGdldGF0dHIoY2xzLCAnZGVzY3JpcHRpb24nLCAnKG5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZSknKQorICAgICAgICAgICAgcHJpbnQoJyAgJXM6ICVzJyAlIChjbWQsIGRlc2MpKQorICAgICAgICByZXR1cm4KKworICAgIHdoaWxlIGFyZ3M6CisgICAgICAgIGFyZ3MgPSBkaXNwYXRjaGVyLl9wYXJzZV9jb21tYW5kX29wdHMocGFyc2VyLCBhcmdzKQorICAgICAgICBpZiBhcmdzIGlzIE5vbmU6CisgICAgICAgICAgICByZXR1cm4KKworICAgICMgY3JlYXRlIHRoZSBEaXN0cmlidXRpb24gY2xhc3MKKyAgICAjIG5lZWQgdG8gZmVlZCBzZXR1cC5jZmcgaGVyZSAhCisgICAgZGlzdCA9IERpc3RyaWJ1dGlvbigpCisKKyAgICAjIEZpbmQgYW5kIHBhcnNlIHRoZSBjb25maWcgZmlsZShzKTogdGhleSB3aWxsIG92ZXJyaWRlIG9wdGlvbnMgZnJvbQorICAgICMgdGhlIHNldHVwIHNjcmlwdCwgYnV0IGJlIG92ZXJyaWRkZW4gYnkgdGhlIGNvbW1hbmQgbGluZS4KKworICAgICMgWFhYIHN0aWxsIG5lZWQgdG8gYmUgZXh0cmFjdGVkIGZyb20gRGlzdHJpYnV0aW9uCisgICAgZGlzdC5wYXJzZV9jb25maWdfZmlsZXMoKQorCisgICAgZm9yIGNtZCBpbiBkaXNwYXRjaGVyLmNvbW1hbmRzOgorICAgICAgICAjIEZJWE1FIG5lZWQgdG8gY2F0Y2ggTWV0YWRhdGFNaXNzaW5nRXJyb3IgaGVyZSAoZnJvbSB0aGUgY2hlY2sgY29tbWFuZAorICAgICAgICAjIGUuZy4pLS1vciBjYXRjaCBhbnkgZXhjZXB0aW9uLCBwcmludCBhbiBlcnJvciBtZXNzYWdlIGFuZCBleGl0IHdpdGggMQorICAgICAgICBkaXN0LnJ1bl9jb21tYW5kKGNtZCwgZGlzcGF0Y2hlci5jb21tYW5kX29wdGlvbnNbY21kXSkKKworICAgIHJldHVybiAwCisKKworQGFjdGlvbl9oZWxwKCIiIlwKK1VzYWdlOiBweXNldHVwIGxpc3QgW2Rpc3QgLi4uXQorICAgb3I6IHB5c2V0dXAgbGlzdCAtLWhlbHAKKworUHJpbnQgbmFtZSwgdmVyc2lvbiBhbmQgbG9jYXRpb24gZm9yIHRoZSBtYXRjaGluZyBpbnN0YWxsZWQgZGlzdHJpYnV0aW9ucy4KKworcG9zaXRpb25hbCBhcmd1bWVudHM6CisgICBkaXN0ICBpbnN0YWxsZWQgZGlzdHJpYnV0aW9uIG5hbWU7IG9taXQgdG8gZ2V0IGFsbCBkaXN0cmlidXRpb25zCisiIiIpCitkZWYgX2xpc3QoZGlzcGF0Y2hlciwgYXJncywgKiprdyk6CisgICAgb3B0cyA9IF9wYXJzZV9hcmdzKGFyZ3NbMTpdLCAnJywgW10pCisgICAgZGlzdHMgPSBnZXRfZGlzdHJpYnV0aW9ucyh1c2VfZWdnX2luZm89VHJ1ZSkKKyAgICBpZiBvcHRzWydhcmdzJ106CisgICAgICAgIHJlc3VsdHMgPSAoZCBmb3IgZCBpbiBkaXN0cyBpZiBkLm5hbWUubG93ZXIoKSBpbiBvcHRzWydhcmdzJ10pCisgICAgICAgIGxpc3RhbGwgPSBGYWxzZQorICAgIGVsc2U6CisgICAgICAgIHJlc3VsdHMgPSBkaXN0cworICAgICAgICBsaXN0YWxsID0gVHJ1ZQorCisgICAgbnVtYmVyID0gMAorICAgIGZvciBkaXN0IGluIHJlc3VsdHM6CisgICAgICAgIHByaW50KCclciAlcyAoZnJvbSAlciknICUgKGRpc3QubmFtZSwgZGlzdC52ZXJzaW9uLCBkaXN0LnBhdGgpKQorICAgICAgICBudW1iZXIgKz0gMQorCisgICAgaWYgbnVtYmVyID09IDA6CisgICAgICAgIGlmIGxpc3RhbGw6CisgICAgICAgICAgICBsb2dnZXIuaW5mbygnTm90aGluZyBzZWVtcyB0byBiZSBpbnN0YWxsZWQuJykKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGxvZ2dlci53YXJuaW5nKCdObyBtYXRjaGluZyBkaXN0cmlidXRpb24gZm91bmQuJykKKyAgICAgICAgICAgIHJldHVybiAxCisgICAgZWxzZToKKyAgICAgICAgbG9nZ2VyLmluZm8oJ0ZvdW5kICVkIHByb2plY3RzIGluc3RhbGxlZC4nLCBudW1iZXIpCisKKworQGFjdGlvbl9oZWxwKCIiIlwKK1VzYWdlOiBweXNldHVwIHNlYXJjaCBbcHJvamVjdF0gWy0tc2ltcGxlIFt1cmxdXSBbLS14bWxycGMgW3VybF0gWy0tZmllbGRuYW1lIHZhbHVlIC4uLl0gLS1vcGVyYXRvciBvcnxhbmRdCisgICBvcjogcHlzZXR1cCBzZWFyY2ggLS1oZWxwCisKK1NlYXJjaCB0aGUgaW5kZXhlcyBmb3IgdGhlIG1hdGNoaW5nIHByb2plY3RzLgorCitwb3NpdGlvbmFsIGFyZ3VtZW50czoKKyAgICBwcm9qZWN0ICAgICB0aGUgcHJvamVjdCBwYXR0ZXJuIHRvIHNlYXJjaCBmb3IKKworb3B0aW9uYWwgYXJndW1lbnRzOgorICAgIC0teG1scnBjIFt1cmxdICAgICAgd2hldGhlciB0byB1c2UgdGhlIHhtbHJwYyBpbmRleCBvciBub3QuIElmIGFuIHVybCBpcworICAgICAgICAgICAgICAgICAgICAgICAgc3BlY2lmaWVkLCBpdCB3aWxsIGJlIHVzZWQgcmF0aGVyIHRoYW4gdGhlIGRlZmF1bHQgb25lLgorCisgICAgLS1zaW1wbGUgW3VybF0gICAgICB3aGV0aGVyIHRvIHVzZSB0aGUgc2ltcGxlIGluZGV4IG9yIG5vdC4gSWYgYW4gdXJsIGlzCisgICAgICAgICAgICAgICAgICAgICAgICBzcGVjaWZpZWQsIGl0IHdpbGwgYmUgdXNlZCByYXRoZXIgdGhhbiB0aGUgZGVmYXVsdCBvbmUuCisKKyAgICAtLWZpZWxkbmFtZSB2YWx1ZSAgIE1ha2UgYSBzZWFyY2ggb24gdGhpcyBmaWVsZC4gQ2FuIG9ubHkgYmUgdXNlZCBpZgorICAgICAgICAgICAgICAgICAgICAgICAgLS14bWxycGMgaGFzIGJlZW4gc2VsZWN0ZWQgb3IgaXMgdGhlIGRlZmF1bHQgaW5kZXguCisKKyAgICAtLW9wZXJhdG9yIG9yfGFuZCAgIERlZmluZXMgd2hhdCBpcyB0aGUgb3BlcmF0b3IgdG8gdXNlIHdoZW4gZG9pbmcgeG1scnBjCisgICAgICAgICAgICAgICAgICAgICAgICBzZWFyY2hzIHdpdGggbXVsdGlwbGUgZmllbGRuYW1lcy4gQ2FuIG9ubHkgYmUgdXNlZCBpZgorICAgICAgICAgICAgICAgICAgICAgICAgLS14bWxycGMgaGFzIGJlZW4gc2VsZWN0ZWQgb3IgaXMgdGhlIGRlZmF1bHQgaW5kZXguCisiIiIpCitkZWYgX3NlYXJjaChkaXNwYXRjaGVyLCBhcmdzLCAqKmt3KToKKyAgICAiIiJUaGUgc2VhcmNoIGFjdGlvbi4KKworICAgIEl0IGlzIGFibGUgdG8gc2VhcmNoIGZvciBhIHNwZWNpZmljIGluZGV4IChzcGVjaWZpZWQgd2l0aCAtLWluZGV4KSwgdXNpbmcKKyAgICB0aGUgc2ltcGxlIG9yIHhtbHJwYyBpbmRleCB0eXBlcyAod2l0aCAtLXR5cGUgeG1scnBjIC8gLS10eXBlIHNpbXBsZSkKKyAgICAiIiIKKyAgICAjb3B0cyA9IF9wYXJzZV9hcmdzKGFyZ3NbMTpdLCAnJywgWydzaW1wbGUnLCAneG1scnBjJ10pCisgICAgIyAxLiB3aGF0IGtpbmQgb2YgaW5kZXggaXMgcmVxdWVzdGVkID8gKHhtbHJwYyAvIHNpbXBsZSkKKyAgICBsb2dnZXIuZXJyb3IoJ25vdCBpbXBsZW1lbnRlZCcpCisgICAgcmV0dXJuIDEKKworCithY3Rpb25zID0gWworICAgICgncnVuJywgJ1J1biBvbmUgb3Igc2V2ZXJhbCBjb21tYW5kcycsIF9ydW4pLAorICAgICgnbWV0YWRhdGEnLCAnRGlzcGxheSB0aGUgbWV0YWRhdGEgb2YgYSBwcm9qZWN0JywgX21ldGFkYXRhKSwKKyAgICAoJ2luc3RhbGwnLCAnSW5zdGFsbCBhIHByb2plY3QnLCBfaW5zdGFsbCksCisgICAgKCdyZW1vdmUnLCAnUmVtb3ZlIGEgcHJvamVjdCcsIF9yZW1vdmUpLAorICAgICgnc2VhcmNoJywgJ1NlYXJjaCBmb3IgYSBwcm9qZWN0IGluIHRoZSBpbmRleGVzJywgX3NlYXJjaCksCisgICAgKCdsaXN0JywgJ0xpc3QgaW5zdGFsbGVkIHByb2plY3RzJywgX2xpc3QpLAorICAgICgnZ3JhcGgnLCAnRGlzcGxheSBhIGdyYXBoJywgX2dyYXBoKSwKKyAgICAoJ2NyZWF0ZScsICdDcmVhdGUgYSBwcm9qZWN0JywgX2NyZWF0ZSksCisgICAgKCdnZW5lcmF0ZS1zZXR1cCcsICdHZW5lcmF0ZSBhIGJhY2t3YXJkLWNvbXBhdGlibGUgc2V0dXAucHknLCBfZ2VuZXJhdGUpLAorXQorCisKK2NsYXNzIERpc3BhdGNoZXI6CisgICAgIiIiUmVhZHMgdGhlIGNvbW1hbmQtbGluZSBvcHRpb25zCisgICAgIiIiCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGFyZ3M9Tm9uZSk6CisgICAgICAgIHNlbGYudmVyYm9zZSA9IDEKKyAgICAgICAgc2VsZi5kcnlfcnVuID0gRmFsc2UKKyAgICAgICAgc2VsZi5oZWxwID0gRmFsc2UKKyAgICAgICAgc2VsZi5jbWRjbGFzcyA9IHt9CisgICAgICAgIHNlbGYuY29tbWFuZHMgPSBbXQorICAgICAgICBzZWxmLmNvbW1hbmRfb3B0aW9ucyA9IHt9CisKKyAgICAgICAgZm9yIGF0dHIgaW4gZGlzcGxheV9vcHRpb25fbmFtZXM6CisgICAgICAgICAgICBzZXRhdHRyKHNlbGYsIGF0dHIsIEZhbHNlKQorCisgICAgICAgIHNlbGYucGFyc2VyID0gRmFuY3lHZXRvcHQoZ2xvYmFsX29wdGlvbnMgKyBkaXNwbGF5X29wdGlvbnMpCisgICAgICAgIHNlbGYucGFyc2VyLnNldF9uZWdhdGl2ZV9hbGlhc2VzKG5lZ2F0aXZlX29wdCkKKyAgICAgICAgIyBGSVhNRSB0aGlzIHBhcnNlcyBldmVyeXRoaW5nLCBpbmNsdWRpbmcgY29tbWFuZCBvcHRpb25zIChlLmcuICJydW4KKyAgICAgICAgIyBidWlsZCAtaSIgZXJyb3JzIHdpdGggIm9wdGlvbiAtaSBub3QgcmVjb2duaXplZCIpCisgICAgICAgIGFyZ3MgPSBzZWxmLnBhcnNlci5nZXRvcHQoYXJncz1hcmdzLCBvYmplY3Q9c2VsZikKKworICAgICAgICAjIGlmIGZpcnN0IGFyZyBpcyAicnVuIiwgd2UgaGF2ZSBzb21lIGNvbW1hbmRzCisgICAgICAgIGlmIGxlbihhcmdzKSA9PSAwOgorICAgICAgICAgICAgc2VsZi5hY3Rpb24gPSBOb25lCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzZWxmLmFjdGlvbiA9IGFyZ3NbMF0KKworICAgICAgICBhbGxvd2VkID0gW2FjdGlvblswXSBmb3IgYWN0aW9uIGluIGFjdGlvbnNdICsgW05vbmVdCisgICAgICAgIGlmIHNlbGYuYWN0aW9uIG5vdCBpbiBhbGxvd2VkOgorICAgICAgICAgICAgbXNnID0gJ1VucmVjb2duaXplZCBhY3Rpb24gIiVzIicgJSBzZWxmLmFjdGlvbgorICAgICAgICAgICAgcmFpc2UgUGFja2FnaW5nQXJnRXJyb3IobXNnKQorCisgICAgICAgIHNlbGYuX3NldF9sb2dnZXIoKQorICAgICAgICBzZWxmLmFyZ3MgPSBhcmdzCisKKyAgICAgICAgIyBmb3IgZGlzcGxheSBvcHRpb25zIHdlIHJldHVybiBpbW1lZGlhdGVseQorICAgICAgICBpZiBzZWxmLmhlbHAgb3Igc2VsZi5hY3Rpb24gaXMgTm9uZToKKyAgICAgICAgICAgIHNlbGYuX3Nob3dfaGVscChzZWxmLnBhcnNlciwgZGlzcGxheV9vcHRpb25zXz1GYWxzZSkKKworICAgIGRlZiBfc2V0X2xvZ2dlcihzZWxmKToKKyAgICAgICAgIyBzZXR0aW5nIHVwIHRoZSBsb2dnaW5nIGxldmVsIGZyb20gdGhlIGNvbW1hbmQtbGluZSBvcHRpb25zCisgICAgICAgICMgLXEgZ2V0cyB3YXJuaW5nLCBlcnJvciBhbmQgY3JpdGljYWwKKyAgICAgICAgaWYgc2VsZi52ZXJib3NlID09IDA6CisgICAgICAgICAgICBsZXZlbCA9IGxvZ2dpbmcuV0FSTklORworICAgICAgICAjIGRlZmF1bHQgbGV2ZWwgb3IgLXYgZ2V0cyBpbmZvIHRvbworICAgICAgICAjIFhYWCB0aGVyZSdzIGEgYnVnIHNvbWV3aGVyZTogdGhlIGhlbHAgdGV4dCBzYXlzIHRoYXQgLXYgaXMgZGVmYXVsdAorICAgICAgICAjIChhbmQgdmVyYm9zZSBpcyBzZXQgdG8gMSBhYm92ZSksIGJ1dCB3aGVuIHRoZSB1c2VyIGV4cGxpY2l0bHkgZ2l2ZXMKKyAgICAgICAgIyAtdiBvbiB0aGUgY29tbWFuZCBsaW5lLCBzZWxmLnZlcmJvc2UgaXMgaW5jcmVtZW50ZWQgdG8gMiEgIEhlcmUgd2UKKyAgICAgICAgIyBjb21wZW5zYXRlIGZvciB0aGF0IChJIHRlc3RlZCBtYW51YWxseSkuICBPbiBhIHJlbGF0ZWQgbm90ZSwgSSB0aGluaworICAgICAgICAjIGl0J3MgYSBnb29kIHRoaW5nIHRvIHVzZSAtcS9ub3RoaW5nLy12Ly12diBvbiB0aGUgY29tbWFuZCBsaW5lCisgICAgICAgICMgaW5zdGVhZCBvZiBsb2dnaW5nIGNvbnN0YW50czsgaXQgd2lsbCBiZSBlYXN5IHRvIGFkZCBzdXBwb3J0IGZvcgorICAgICAgICAjIGxvZ2dpbmcgY29uZmlndXJhdGlvbiBpbiBzZXR1cC5jZmcgZm9yIGFkdmFuY2VkIHVzZXJzLiAtLW1lcndvaworICAgICAgICBlbGlmIHNlbGYudmVyYm9zZSBpbiAoMSwgMik6CisgICAgICAgICAgICBsZXZlbCA9IGxvZ2dpbmcuSU5GTworICAgICAgICBlbHNlOiAgIyAtdnYgYW5kIG1vcmUgZm9yIGRlYnVnCisgICAgICAgICAgICBsZXZlbCA9IGxvZ2dpbmcuREVCVUcKKworICAgICAgICAjIHNldHRpbmcgdXAgdGhlIHN0cmVhbSBoYW5kbGVyCisgICAgICAgIGhhbmRsZXIgPSBsb2dnaW5nLlN0cmVhbUhhbmRsZXIoc3lzLnN0ZGVycikKKyAgICAgICAgaGFuZGxlci5zZXRMZXZlbChsZXZlbCkKKyAgICAgICAgbG9nZ2VyLmFkZEhhbmRsZXIoaGFuZGxlcikKKyAgICAgICAgbG9nZ2VyLnNldExldmVsKGxldmVsKQorCisgICAgZGVmIF9wYXJzZV9jb21tYW5kX29wdHMoc2VsZiwgcGFyc2VyLCBhcmdzKToKKyAgICAgICAgIyBQdWxsIHRoZSBjdXJyZW50IGNvbW1hbmQgZnJvbSB0aGUgaGVhZCBvZiB0aGUgY29tbWFuZCBsaW5lCisgICAgICAgIGNvbW1hbmQgPSBhcmdzWzBdCisgICAgICAgIGlmIG5vdCBjb21tYW5kX3JlLm1hdGNoKGNvbW1hbmQpOgorICAgICAgICAgICAgcmFpc2UgU3lzdGVtRXhpdCgiaW52YWxpZCBjb21tYW5kIG5hbWUgJXIiICUgKGNvbW1hbmQsKSkKKyAgICAgICAgc2VsZi5jb21tYW5kcy5hcHBlbmQoY29tbWFuZCkKKworICAgICAgICAjIERpZyB1cCB0aGUgY29tbWFuZCBjbGFzcyB0aGF0IGltcGxlbWVudHMgdGhpcyBjb21tYW5kLCBzbyB3ZQorICAgICAgICAjIDEpIGtub3cgdGhhdCBpdCdzIGEgdmFsaWQgY29tbWFuZCwgYW5kIDIpIGtub3cgd2hpY2ggb3B0aW9ucworICAgICAgICAjIGl0IHRha2VzLgorICAgICAgICB0cnk6CisgICAgICAgICAgICBjbWRfY2xhc3MgPSBnZXRfY29tbWFuZF9jbGFzcyhjb21tYW5kKQorICAgICAgICBleGNlcHQgUGFja2FnaW5nTW9kdWxlRXJyb3IgYXMgbXNnOgorICAgICAgICAgICAgcmFpc2UgUGFja2FnaW5nQXJnRXJyb3IobXNnKQorCisgICAgICAgICMgWFhYIFdlIHdhbnQgdG8gcHVzaCB0aGlzIGluIHBhY2thZ2luZy5jb21tYW5kCisgICAgICAgICMKKyAgICAgICAgIyBSZXF1aXJlIHRoYXQgdGhlIGNvbW1hbmQgY2xhc3MgYmUgZGVyaXZlZCBmcm9tIENvbW1hbmQgLS0gd2FudAorICAgICAgICAjIHRvIGJlIHN1cmUgdGhhdCB0aGUgYmFzaWMgImNvbW1hbmQiIGludGVyZmFjZSBpcyBpbXBsZW1lbnRlZC4KKyAgICAgICAgZm9yIG1ldGggaW4gKCdpbml0aWFsaXplX29wdGlvbnMnLCAnZmluYWxpemVfb3B0aW9ucycsICdydW4nKToKKyAgICAgICAgICAgIGlmIGhhc2F0dHIoY21kX2NsYXNzLCBtZXRoKToKKyAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgcmFpc2UgUGFja2FnaW5nQ2xhc3NFcnJvcigKKyAgICAgICAgICAgICAgICAnY29tbWFuZCAlciBtdXN0IGltcGxlbWVudCAlcicgJSAoY21kX2NsYXNzLCBtZXRoKSkKKworICAgICAgICAjIEFsc28gbWFrZSBzdXJlIHRoYXQgdGhlIGNvbW1hbmQgb2JqZWN0IHByb3ZpZGVzIGEgbGlzdCBvZiBpdHMKKyAgICAgICAgIyBrbm93biBvcHRpb25zLgorICAgICAgICBpZiBub3QgKGhhc2F0dHIoY21kX2NsYXNzLCAndXNlcl9vcHRpb25zJykgYW5kCisgICAgICAgICAgICAgICAgaXNpbnN0YW5jZShjbWRfY2xhc3MudXNlcl9vcHRpb25zLCBsaXN0KSk6CisgICAgICAgICAgICByYWlzZSBQYWNrYWdpbmdDbGFzc0Vycm9yKAorICAgICAgICAgICAgICAgICJjb21tYW5kIGNsYXNzICVzIG11c3QgcHJvdmlkZSAiCisgICAgICAgICAgICAgICAgIid1c2VyX29wdGlvbnMnIGF0dHJpYnV0ZSAoYSBsaXN0IG9mIHR1cGxlcykiICUgY21kX2NsYXNzKQorCisgICAgICAgICMgSWYgdGhlIGNvbW1hbmQgY2xhc3MgaGFzIGEgbGlzdCBvZiBuZWdhdGl2ZSBhbGlhcyBvcHRpb25zLAorICAgICAgICAjIG1lcmdlIGl0IGluIHdpdGggdGhlIGdsb2JhbCBuZWdhdGl2ZSBhbGlhc2VzLgorICAgICAgICBfbmVnYXRpdmVfb3B0ID0gbmVnYXRpdmVfb3B0LmNvcHkoKQorCisgICAgICAgIGlmIGhhc2F0dHIoY21kX2NsYXNzLCAnbmVnYXRpdmVfb3B0Jyk6CisgICAgICAgICAgICBfbmVnYXRpdmVfb3B0LnVwZGF0ZShjbWRfY2xhc3MubmVnYXRpdmVfb3B0KQorCisgICAgICAgICMgQ2hlY2sgZm9yIGhlbHBfb3B0aW9ucyBpbiBjb21tYW5kIGNsYXNzLiAgVGhleSBoYXZlIGEgZGlmZmVyZW50CisgICAgICAgICMgZm9ybWF0ICh0dXBsZSBvZiBmb3VyKSBzbyB3ZSBuZWVkIHRvIHByZXByb2Nlc3MgdGhlbSBoZXJlLgorICAgICAgICBpZiAoaGFzYXR0cihjbWRfY2xhc3MsICdoZWxwX29wdGlvbnMnKSBhbmQKKyAgICAgICAgICAgIGlzaW5zdGFuY2UoY21kX2NsYXNzLmhlbHBfb3B0aW9ucywgbGlzdCkpOgorICAgICAgICAgICAgaGVscF9vcHRpb25zID0gY21kX2NsYXNzLmhlbHBfb3B0aW9uc1s6XQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgaGVscF9vcHRpb25zID0gW10KKworICAgICAgICAjIEFsbCBjb21tYW5kcyBzdXBwb3J0IHRoZSBnbG9iYWwgb3B0aW9ucyB0b28sIGp1c3QgYnkgYWRkaW5nCisgICAgICAgICMgaW4gJ2dsb2JhbF9vcHRpb25zJy4KKyAgICAgICAgcGFyc2VyLnNldF9vcHRpb25fdGFibGUoZ2xvYmFsX29wdGlvbnMgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbWRfY2xhc3MudXNlcl9vcHRpb25zICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscF9vcHRpb25zKQorICAgICAgICBwYXJzZXIuc2V0X25lZ2F0aXZlX2FsaWFzZXMoX25lZ2F0aXZlX29wdCkKKyAgICAgICAgYXJncywgb3B0cyA9IHBhcnNlci5nZXRvcHQoYXJnc1sxOl0pCisKKyAgICAgICAgaWYgaGFzYXR0cihvcHRzLCAnaGVscCcpIGFuZCBvcHRzLmhlbHA6CisgICAgICAgICAgICBzZWxmLl9zaG93X2NvbW1hbmRfaGVscChjbWRfY2xhc3MpCisgICAgICAgICAgICByZXR1cm4KKworICAgICAgICBpZiAoaGFzYXR0cihjbWRfY2xhc3MsICdoZWxwX29wdGlvbnMnKSBhbmQKKyAgICAgICAgICAgIGlzaW5zdGFuY2UoY21kX2NsYXNzLmhlbHBfb3B0aW9ucywgbGlzdCkpOgorICAgICAgICAgICAgaGVscF9vcHRpb25fZm91bmQgPSBGYWxzZQorICAgICAgICAgICAgZm9yIGhlbHBfb3B0aW9uLCBzaG9ydCwgZGVzYywgZnVuYyBpbiBjbWRfY2xhc3MuaGVscF9vcHRpb25zOgorICAgICAgICAgICAgICAgIGlmIGhhc2F0dHIob3B0cywgaGVscF9vcHRpb24ucmVwbGFjZSgnLScsICdfJykpOgorICAgICAgICAgICAgICAgICAgICBoZWxwX29wdGlvbl9mb3VuZCA9IFRydWUKKyAgICAgICAgICAgICAgICAgICAgaWYgY2FsbGFibGUoZnVuYyk6CisgICAgICAgICAgICAgICAgICAgICAgICBmdW5jKCkKKyAgICAgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIFBhY2thZ2luZ0NsYXNzRXJyb3IoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgImludmFsaWQgaGVscCBmdW5jdGlvbiAlciBmb3IgaGVscCBvcHRpb24gJXI6ICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAibXVzdCBiZSBhIGNhbGxhYmxlIG9iamVjdCAoZnVuY3Rpb24sIGV0Yy4pIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICUgKGZ1bmMsIGhlbHBfb3B0aW9uKSkKKworICAgICAgICAgICAgaWYgaGVscF9vcHRpb25fZm91bmQ6CisgICAgICAgICAgICAgICAgcmV0dXJuCisKKyAgICAgICAgIyBQdXQgdGhlIG9wdGlvbnMgZnJvbSB0aGUgY29tbWFuZCBsaW5lIGludG8gdGhlaXIgb2ZmaWNpYWwKKyAgICAgICAgIyBob2xkaW5nIHBlbiwgdGhlICdjb21tYW5kX29wdGlvbnMnIGRpY3Rpb25hcnkuCisgICAgICAgIG9wdF9kaWN0ID0gc2VsZi5nZXRfb3B0aW9uX2RpY3QoY29tbWFuZCkKKyAgICAgICAgZm9yIG5hbWUsIHZhbHVlIGluIHZhcnMob3B0cykuaXRlbXMoKToKKyAgICAgICAgICAgIG9wdF9kaWN0W25hbWVdID0gKCJjb21tYW5kIGxpbmUiLCB2YWx1ZSkKKworICAgICAgICByZXR1cm4gYXJncworCisgICAgZGVmIGdldF9vcHRpb25fZGljdChzZWxmLCBjb21tYW5kKToKKyAgICAgICAgIiIiR2V0IHRoZSBvcHRpb24gZGljdGlvbmFyeSBmb3IgYSBnaXZlbiBjb21tYW5kLiAgSWYgdGhhdAorICAgICAgICBjb21tYW5kJ3Mgb3B0aW9uIGRpY3Rpb25hcnkgaGFzbid0IGJlZW4gY3JlYXRlZCB5ZXQsIHRoZW4gY3JlYXRlIGl0CisgICAgICAgIGFuZCByZXR1cm4gdGhlIG5ldyBkaWN0aW9uYXJ5OyBvdGhlcndpc2UsIHJldHVybiB0aGUgZXhpc3RpbmcKKyAgICAgICAgb3B0aW9uIGRpY3Rpb25hcnkuCisgICAgICAgICIiIgorICAgICAgICBkID0gc2VsZi5jb21tYW5kX29wdGlvbnMuZ2V0KGNvbW1hbmQpCisgICAgICAgIGlmIGQgaXMgTm9uZToKKyAgICAgICAgICAgIGQgPSBzZWxmLmNvbW1hbmRfb3B0aW9uc1tjb21tYW5kXSA9IHt9CisgICAgICAgIHJldHVybiBkCisKKyAgICBkZWYgc2hvd19oZWxwKHNlbGYpOgorICAgICAgICBzZWxmLl9zaG93X2hlbHAoc2VsZi5wYXJzZXIpCisKKyAgICBkZWYgcHJpbnRfdXNhZ2Uoc2VsZiwgcGFyc2VyKToKKyAgICAgICAgcGFyc2VyLnNldF9vcHRpb25fdGFibGUoZ2xvYmFsX29wdGlvbnMpCisKKyAgICAgICAgYWN0aW9uc18gPSBbJyAgICAlczogJXMnICUgKG5hbWUsIGRlc2MpIGZvciBuYW1lLCBkZXNjLCBfXyBpbiBhY3Rpb25zXQorICAgICAgICB1c2FnZSA9IGNvbW1vbl91c2FnZSAlIHsnYWN0aW9ucyc6ICdcbicuam9pbihhY3Rpb25zXyl9CisKKyAgICAgICAgcGFyc2VyLnByaW50X2hlbHAodXNhZ2UgKyAiXG5HbG9iYWwgb3B0aW9uczoiKQorCisgICAgZGVmIF9zaG93X2hlbHAoc2VsZiwgcGFyc2VyLCBnbG9iYWxfb3B0aW9uc189VHJ1ZSwgZGlzcGxheV9vcHRpb25zXz1UcnVlLAorICAgICAgICAgICAgICAgICAgIGNvbW1hbmRzPVtdKToKKyAgICAgICAgIyBsYXRlIGltcG9ydCBiZWNhdXNlIG9mIG11dHVhbCBkZXBlbmRlbmNlIGJldHdlZW4gdGhlc2UgbW9kdWxlcworICAgICAgICBmcm9tIHBhY2thZ2luZy5jb21tYW5kLmNtZCBpbXBvcnQgQ29tbWFuZAorCisgICAgICAgIHByaW50KCdVc2FnZTogcHlzZXR1cCBbb3B0aW9uc10gYWN0aW9uIFthY3Rpb25fb3B0aW9uc10nKQorICAgICAgICBwcmludCgpCisgICAgICAgIGlmIGdsb2JhbF9vcHRpb25zXzoKKyAgICAgICAgICAgIHNlbGYucHJpbnRfdXNhZ2Uoc2VsZi5wYXJzZXIpCisgICAgICAgICAgICBwcmludCgpCisKKyAgICAgICAgaWYgZGlzcGxheV9vcHRpb25zXzoKKyAgICAgICAgICAgIHBhcnNlci5zZXRfb3B0aW9uX3RhYmxlKGRpc3BsYXlfb3B0aW9ucykKKyAgICAgICAgICAgIHBhcnNlci5wcmludF9oZWxwKAorICAgICAgICAgICAgICAgICJJbmZvcm1hdGlvbiBkaXNwbGF5IG9wdGlvbnMgKGp1c3QgZGlzcGxheSAiICsKKyAgICAgICAgICAgICAgICAiaW5mb3JtYXRpb24sIGlnbm9yZSBhbnkgY29tbWFuZHMpIikKKyAgICAgICAgICAgIHByaW50KCkKKworICAgICAgICBmb3IgY29tbWFuZCBpbiBjb21tYW5kczoKKyAgICAgICAgICAgIGlmIGlzaW5zdGFuY2UoY29tbWFuZCwgdHlwZSkgYW5kIGlzc3ViY2xhc3MoY29tbWFuZCwgQ29tbWFuZCk6CisgICAgICAgICAgICAgICAgY2xzID0gY29tbWFuZAorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBjbHMgPSBnZXRfY29tbWFuZF9jbGFzcyhjb21tYW5kKQorICAgICAgICAgICAgaWYgKGhhc2F0dHIoY2xzLCAnaGVscF9vcHRpb25zJykgYW5kCisgICAgICAgICAgICAgICAgaXNpbnN0YW5jZShjbHMuaGVscF9vcHRpb25zLCBsaXN0KSk6CisgICAgICAgICAgICAgICAgcGFyc2VyLnNldF9vcHRpb25fdGFibGUoY2xzLnVzZXJfb3B0aW9ucyArIGNscy5oZWxwX29wdGlvbnMpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHBhcnNlci5zZXRfb3B0aW9uX3RhYmxlKGNscy51c2VyX29wdGlvbnMpCisKKyAgICAgICAgICAgIHBhcnNlci5wcmludF9oZWxwKCJPcHRpb25zIGZvciAlciBjb21tYW5kOiIgJSBjbHMuX19uYW1lX18pCisgICAgICAgICAgICBwcmludCgpCisKKyAgICBkZWYgX3Nob3dfY29tbWFuZF9oZWxwKHNlbGYsIGNvbW1hbmQpOgorICAgICAgICBpZiBpc2luc3RhbmNlKGNvbW1hbmQsIHN0cik6CisgICAgICAgICAgICBjb21tYW5kID0gZ2V0X2NvbW1hbmRfY2xhc3MoY29tbWFuZCkKKworICAgICAgICBkZXNjID0gZ2V0YXR0cihjb21tYW5kLCAnZGVzY3JpcHRpb24nLCAnKG5vIGRlc2NyaXB0aW9uIGF2YWlsYWJsZSknKQorICAgICAgICBwcmludCgnRGVzY3JpcHRpb246JywgZGVzYykKKyAgICAgICAgcHJpbnQoKQorCisgICAgICAgIGlmIChoYXNhdHRyKGNvbW1hbmQsICdoZWxwX29wdGlvbnMnKSBhbmQKKyAgICAgICAgICAgIGlzaW5zdGFuY2UoY29tbWFuZC5oZWxwX29wdGlvbnMsIGxpc3QpKToKKyAgICAgICAgICAgIHNlbGYucGFyc2VyLnNldF9vcHRpb25fdGFibGUoY29tbWFuZC51c2VyX29wdGlvbnMgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21tYW5kLmhlbHBfb3B0aW9ucykKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHNlbGYucGFyc2VyLnNldF9vcHRpb25fdGFibGUoY29tbWFuZC51c2VyX29wdGlvbnMpCisKKyAgICAgICAgc2VsZi5wYXJzZXIucHJpbnRfaGVscCgiT3B0aW9uczoiKQorICAgICAgICBwcmludCgpCisKKyAgICBkZWYgX2dldF9jb21tYW5kX2dyb3VwcyhzZWxmKToKKyAgICAgICAgIiIiSGVscGVyIGZ1bmN0aW9uIHRvIHJldHJpZXZlIGFsbCB0aGUgY29tbWFuZCBjbGFzcyBuYW1lcyBkaXZpZGVkCisgICAgICAgIGludG8gc3RhbmRhcmQgY29tbWFuZHMgKGxpc3RlZCBpbgorICAgICAgICBwYWNrYWdpbmcuY29tbWFuZC5TVEFOREFSRF9DT01NQU5EUykgYW5kIGV4dHJhIGNvbW1hbmRzIChnaXZlbiBpbgorICAgICAgICBzZWxmLmNtZGNsYXNzIGFuZCBub3Qgc3RhbmRhcmQgY29tbWFuZHMpLgorICAgICAgICAiIiIKKyAgICAgICAgZXh0cmFfY29tbWFuZHMgPSBbY21kIGZvciBjbWQgaW4gc2VsZi5jbWRjbGFzcworICAgICAgICAgICAgICAgICAgICAgICAgICBpZiBjbWQgbm90IGluIFNUQU5EQVJEX0NPTU1BTkRTXQorICAgICAgICByZXR1cm4gU1RBTkRBUkRfQ09NTUFORFMsIGV4dHJhX2NvbW1hbmRzCisKKyAgICBkZWYgcHJpbnRfY29tbWFuZHMoc2VsZik6CisgICAgICAgICIiIlByaW50IG91dCBhIGhlbHAgbWVzc2FnZSBsaXN0aW5nIGFsbCBhdmFpbGFibGUgY29tbWFuZHMgd2l0aCBhCisgICAgICAgIGRlc2NyaXB0aW9uIG9mIGVhY2guICBUaGUgbGlzdCBpcyBkaXZpZGVkIGludG8gc3RhbmRhcmQgY29tbWFuZHMKKyAgICAgICAgKGxpc3RlZCBpbiBwYWNrYWdpbmcuY29tbWFuZC5TVEFOREFSRF9DT01NQU5EUykgYW5kIGV4dHJhIGNvbW1hbmRzCisgICAgICAgIChnaXZlbiBpbiBzZWxmLmNtZGNsYXNzIGFuZCBub3Qgc3RhbmRhcmQgY29tbWFuZHMpLiAgVGhlCisgICAgICAgIGRlc2NyaXB0aW9ucyBjb21lIGZyb20gdGhlIGNvbW1hbmQgY2xhc3MgYXR0cmlidXRlCisgICAgICAgICdkZXNjcmlwdGlvbicuCisgICAgICAgICIiIgorICAgICAgICBzdGRfY29tbWFuZHMsIGV4dHJhX2NvbW1hbmRzID0gc2VsZi5fZ2V0X2NvbW1hbmRfZ3JvdXBzKCkKKyAgICAgICAgbWF4X2xlbmd0aCA9IG1heChsZW4oY29tbWFuZCkKKyAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgY29tbWFuZHMgaW4gKHN0ZF9jb21tYW5kcywgZXh0cmFfY29tbWFuZHMpCisgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIGNvbW1hbmQgaW4gY29tbWFuZHMpCisKKyAgICAgICAgc2VsZi5wcmludF9jb21tYW5kX2xpc3Qoc3RkX2NvbW1hbmRzLCAiU3RhbmRhcmQgY29tbWFuZHMiLCBtYXhfbGVuZ3RoKQorICAgICAgICBpZiBleHRyYV9jb21tYW5kczoKKyAgICAgICAgICAgIHByaW50KCkKKyAgICAgICAgICAgIHNlbGYucHJpbnRfY29tbWFuZF9saXN0KGV4dHJhX2NvbW1hbmRzLCAiRXh0cmEgY29tbWFuZHMiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4X2xlbmd0aCkKKworICAgIGRlZiBwcmludF9jb21tYW5kX2xpc3Qoc2VsZiwgY29tbWFuZHMsIGhlYWRlciwgbWF4X2xlbmd0aCk6CisgICAgICAgICIiIlByaW50IGEgc3Vic2V0IG9mIHRoZSBsaXN0IG9mIGFsbCBjb21tYW5kcyAtLSB1c2VkIGJ5CisgICAgICAgICdwcmludF9jb21tYW5kcygpJy4KKyAgICAgICAgIiIiCisgICAgICAgIHByaW50KGhlYWRlciArICI6IikKKworICAgICAgICBmb3IgY21kIGluIGNvbW1hbmRzOgorICAgICAgICAgICAgY2xzID0gc2VsZi5jbWRjbGFzcy5nZXQoY21kKSBvciBnZXRfY29tbWFuZF9jbGFzcyhjbWQpCisgICAgICAgICAgICBkZXNjcmlwdGlvbiA9IGdldGF0dHIoY2xzLCAnZGVzY3JpcHRpb24nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcobm8gZGVzY3JpcHRpb24gYXZhaWxhYmxlKScpCisKKyAgICAgICAgICAgIHByaW50KCIgICUtKnMgICVzIiAlIChtYXhfbGVuZ3RoLCBjbWQsIGRlc2NyaXB0aW9uKSkKKworICAgIGRlZiBfX2NhbGxfXyhzZWxmKToKKyAgICAgICAgaWYgc2VsZi5hY3Rpb24gaXMgTm9uZToKKyAgICAgICAgICAgIHJldHVybgorCisgICAgICAgIGZvciBhY3Rpb24sIGRlc2MsIGZ1bmMgaW4gYWN0aW9uczoKKyAgICAgICAgICAgIGlmIGFjdGlvbiA9PSBzZWxmLmFjdGlvbjoKKyAgICAgICAgICAgICAgICByZXR1cm4gZnVuYyhzZWxmLCBzZWxmLmFyZ3MpCisgICAgICAgIHJldHVybiAtMQorCisKK2RlZiBtYWluKGFyZ3M9Tm9uZSk6CisgICAgb2xkX2xldmVsID0gbG9nZ2VyLmxldmVsCisgICAgb2xkX2hhbmRsZXJzID0gbGlzdChsb2dnZXIuaGFuZGxlcnMpCisgICAgdHJ5OgorICAgICAgICBkaXNwYXRjaGVyID0gRGlzcGF0Y2hlcihhcmdzKQorICAgICAgICBpZiBkaXNwYXRjaGVyLmFjdGlvbiBpcyBOb25lOgorICAgICAgICAgICAgcmV0dXJuCisgICAgICAgIHJldHVybiBkaXNwYXRjaGVyKCkKKyAgICBleGNlcHQgS2V5Ym9hcmRJbnRlcnJ1cHQ6CisgICAgICAgIGxvZ2dlci5pbmZvKCdpbnRlcnJ1cHRlZCcpCisgICAgICAgIHJldHVybiAxCisgICAgZXhjZXB0IChJT0Vycm9yLCBvcy5lcnJvciwgUGFja2FnaW5nRXJyb3IsIENDb21waWxlckVycm9yKSBhcyBleGM6CisgICAgICAgIGxvZ2dlci5leGNlcHRpb24oZXhjKQorICAgICAgICByZXR1cm4gMQorICAgIGZpbmFsbHk6CisgICAgICAgIGxvZ2dlci5zZXRMZXZlbChvbGRfbGV2ZWwpCisgICAgICAgIGxvZ2dlci5oYW5kbGVyc1s6XSA9IG9sZF9oYW5kbGVycworCisKK2lmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CisgICAgc3lzLmV4aXQobWFpbigpKQpkaWZmIC0tZ2l0IGEvTGliL3BhY2thZ2luZy90ZXN0cy9MT05HX0RFU0MudHh0IGIvTGliL3BhY2thZ2luZy90ZXN0cy9MT05HX0RFU0MudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJiNDM1OGEKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvcGFja2FnaW5nL3Rlc3RzL0xPTkdfREVTQy50eHQKQEAgLTAsMCArMSw0NCBAQAorQ0xWYXVsdAorPT09PT09PQorCitDTFZhdWx0IHVzZXMgS2V5cmluZyB0byBwcm92aWRlIGEgY29tbWFuZC1saW5lIHV0aWxpdHkgdG8gc2FmZWx5IHN0b3JlCithbmQgcmV0cmlldmUgcGFzc3dvcmRzLgorCitJbnN0YWxsIGl0IHVzaW5nIHBpcCBvciB0aGUgc2V0dXAucHkgc2NyaXB0OjoKKworICAgICQgcHl0aG9uIHNldHVwLnB5IGluc3RhbGwKKworICAgICQgcGlwIGluc3RhbGwgY2x2YXVsdAorCitPbmNlIGl0J3MgaW5zdGFsbGVkLCB5b3Ugd2lsbCBoYXZlIHRocmVlIHNjcmlwdHMgaW5zdGFsbGVkIGluIHlvdXIKK1B5dGhvbiBzY3JpcHRzIGZvbGRlciwgeW91IGNhbiB1c2UgdG8gbGlzdCwgc3RvcmUgYW5kIHJldHJpZXZlIHBhc3N3b3Jkczo6CisKKyAgICAkIGNsdmF1bHQtc2V0IGJsb2cKKyAgICBTZXQgeW91ciBwYXNzd29yZDoKKyAgICBTZXQgdGhlIGFzc29jaWF0ZWQgdXNlcm5hbWUgKGNhbiBiZSBibGFuayk6IHRhcmVrCisgICAgU2V0IGEgZGVzY3JpcHRpb24gKGNhbiBiZSBibGFuayk6IE15IGJsb2cgcGFzc3dvcmQKKyAgICBQYXNzd29yZCBzZXQuCisKKyAgICAkIGNsdmF1bHQtZ2V0IGJsb2cKKyAgICBUaGUgdXNlcm5hbWUgaXMgInRhcmVrIgorICAgIFRoZSBwYXNzd29yZCBoYXMgYmVlbiBjb3BpZWQgaW4geW91ciBjbGlwYm9hcmQKKworICAgICQgY2x2YXVsdC1saXN0CisgICAgUmVnaXN0ZXJlZCBzZXJ2aWNlczoKKyAgICBibG9nICAgIE15IGJsb2cgcGFzc3dvcmQKKworCisqY2x2YXVsdC1zZXQqIHRha2VzIGEgc2VydmljZSBuYW1lIHRoZW4gcHJvbXB0IHlvdSBmb3IgYSBwYXNzd29yZCwgYW5kIHNvbWUKK29wdGlvbmFsIGluZm9ybWF0aW9uIGFib3V0IHlvdXIgc2VydmljZS4gVGhlIHBhc3N3b3JkIGlzIHNhZmVseSBzdG9yZWQgaW4KK2Ega2V5cmluZyB3aGlsZSB0aGUgZGVzY3JpcHRpb24gaXMgc2F2ZWQgaW4gYSBgYC5jbHZhdWx0YGAgZmlsZSBpbiB5b3VyCitob21lIGRpcmVjdG9yeS4gVGhpcyBmaWxlIGlzIGNyZWF0ZWQgYXV0b21hdGljYWxseSB0aGUgZmlyc3QgdGltZSB0aGUgY29tbWFuZAoraXMgdXNlZC4KKworKmNsdmF1bHQtZ2V0KiBjb3BpZXMgdGhlIHBhc3N3b3JkIGZvciBhIGdpdmVuIHNlcnZpY2UgaW4geW91ciBjbGlwYm9hcmQsIGFuZAorZGlzcGxheXMgdGhlIGFzc29jaWF0ZWQgdXNlciBpZiBhbnkuCisKKypjbHZhdWx0LWxpc3QqIGxpc3RzIGFsbCByZWdpc3RlcmVkIHNlcnZpY2VzLCB3aXRoIHRoZWlyIGRlc2NyaXB0aW9uIHdoZW4KK2dpdmVuLgorCisKK1Byb2plY3QgcGFnZTogaHR0cDovL2JpdGJ1Y2tldC5vcmcvdGFyZWsvY2x2YXVsdApkaWZmIC0tZ2l0IGEvTGliL3BhY2thZ2luZy90ZXN0cy9QS0ctSU5GTyBiL0xpYi9wYWNrYWdpbmcvdGVzdHMvUEtHLUlORk8KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjQ4NTQ2ZQotLS0gL2Rldi9udWxsCisrKyBiL0xpYi9wYWNrYWdpbmcvdGVzdHMvUEtHLUlORk8KQEAgLTAsMCArMSw1NyBAQAorTWV0YWRhdGEtVmVyc2lvbjogMS4yCitOYW1lOiBDTFZhdWx0CitWZXJzaW9uOiAwLjUKK1N1bW1hcnk6IENvbW1hbmQtTGluZSB1dGlsaXR5IHRvIHN0b3JlIGFuZCByZXRyaWV2ZSBwYXNzd29yZHMKK0hvbWUtcGFnZTogaHR0cDovL2JpdGJ1Y2tldC5vcmcvdGFyZWsvY2x2YXVsdAorQXV0aG9yOiBUYXJlayBaaWFkZQorQXV0aG9yLWVtYWlsOiB0YXJla0B6aWFkZS5vcmcKK0xpY2Vuc2U6IFBTRgorS2V5d29yZHM6IGtleXJpbmcscGFzc3dvcmQsY3J5cHQKK1JlcXVpcmVzLURpc3Q6IGZvbzsgc3lzLnBsYXRmb3JtID09ICdva29vaycKK1JlcXVpcmVzLURpc3Q6IGJhcjsgc3lzLnBsYXRmb3JtID09ICclcycKK1BsYXRmb3JtOiBVTktOT1dOCitEZXNjcmlwdGlvbjogQ0xWYXVsdAorICAgICAgIHw9PT09PT09CisgICAgICAgfAorICAgICAgIHxDTFZhdWx0IHVzZXMgS2V5cmluZyB0byBwcm92aWRlIGEgY29tbWFuZC1saW5lIHV0aWxpdHkgdG8gc2FmZWx5IHN0b3JlCisgICAgICAgfGFuZCByZXRyaWV2ZSBwYXNzd29yZHMuCisgICAgICAgfAorICAgICAgIHxJbnN0YWxsIGl0IHVzaW5nIHBpcCBvciB0aGUgc2V0dXAucHkgc2NyaXB0OjoKKyAgICAgICB8CisgICAgICAgfCAgICAkIHB5dGhvbiBzZXR1cC5weSBpbnN0YWxsCisgICAgICAgfAorICAgICAgIHwgICAgJCBwaXAgaW5zdGFsbCBjbHZhdWx0CisgICAgICAgfAorICAgICAgIHxPbmNlIGl0J3MgaW5zdGFsbGVkLCB5b3Ugd2lsbCBoYXZlIHRocmVlIHNjcmlwdHMgaW5zdGFsbGVkIGluIHlvdXIKKyAgICAgICB8UHl0aG9uIHNjcmlwdHMgZm9sZGVyLCB5b3UgY2FuIHVzZSB0byBsaXN0LCBzdG9yZSBhbmQgcmV0cmlldmUgcGFzc3dvcmRzOjoKKyAgICAgICB8CisgICAgICAgfCAgICAkIGNsdmF1bHQtc2V0IGJsb2cKKyAgICAgICB8ICAgIFNldCB5b3VyIHBhc3N3b3JkOgorICAgICAgIHwgICAgU2V0IHRoZSBhc3NvY2lhdGVkIHVzZXJuYW1lIChjYW4gYmUgYmxhbmspOiB0YXJlaworICAgICAgIHwgICAgU2V0IGEgZGVzY3JpcHRpb24gKGNhbiBiZSBibGFuayk6IE15IGJsb2cgcGFzc3dvcmQKKyAgICAgICB8ICAgIFBhc3N3b3JkIHNldC4KKyAgICAgICB8CisgICAgICAgfCAgICAkIGNsdmF1bHQtZ2V0IGJsb2cKKyAgICAgICB8ICAgIFRoZSB1c2VybmFtZSBpcyAidGFyZWsiCisgICAgICAgfCAgICBUaGUgcGFzc3dvcmQgaGFzIGJlZW4gY29waWVkIGluIHlvdXIgY2xpcGJvYXJkCisgICAgICAgfAorICAgICAgIHwgICAgJCBjbHZhdWx0LWxpc3QKKyAgICAgICB8ICAgIFJlZ2lzdGVyZWQgc2VydmljZXM6CisgICAgICAgfCAgICBibG9nICAgIE15IGJsb2cgcGFzc3dvcmQKKyAgICAgICB8CisgICAgICAgfAorICAgICAgIHwqY2x2YXVsdC1zZXQqIHRha2VzIGEgc2VydmljZSBuYW1lIHRoZW4gcHJvbXB0IHlvdSBmb3IgYSBwYXNzd29yZCwgYW5kIHNvbWUKKyAgICAgICB8b3B0aW9uYWwgaW5mb3JtYXRpb24gYWJvdXQgeW91ciBzZXJ2aWNlLiBUaGUgcGFzc3dvcmQgaXMgc2FmZWx5IHN0b3JlZCBpbgorICAgICAgIHxhIGtleXJpbmcgd2hpbGUgdGhlIGRlc2NyaXB0aW9uIGlzIHNhdmVkIGluIGEgYGAuY2x2YXVsdGBgIGZpbGUgaW4geW91cgorICAgICAgIHxob21lIGRpcmVjdG9yeS4gVGhpcyBmaWxlIGlzIGNyZWF0ZWQgYXV0b21hdGljYWxseSB0aGUgZmlyc3QgdGltZSB0aGUgY29tbWFuZAorICAgICAgIHxpcyB1c2VkLgorICAgICAgIHwKKyAgICAgICB8KmNsdmF1bHQtZ2V0KiBjb3BpZXMgdGhlIHBhc3N3b3JkIGZvciBhIGdpdmVuIHNlcnZpY2UgaW4geW91ciBjbGlwYm9hcmQsIGFuZAorICAgICAgIHxkaXNwbGF5cyB0aGUgYXNzb2NpYXRlZCB1c2VyIGlmIGFueS4KKyAgICAgICB8CisgICAgICAgfCpjbHZhdWx0LWxpc3QqIGxpc3RzIGFsbCByZWdpc3RlcmVkIHNlcnZpY2VzLCB3aXRoIHRoZWlyIGRlc2NyaXB0aW9uIHdoZW4KKyAgICAgICB8Z2l2ZW4uCisgICAgICAgfAorICAgICAgIHwKKyAgICAgICB8UHJvamVjdCBwYWdlOiBodHRwOi8vYml0YnVja2V0Lm9yZy90YXJlay9jbHZhdWx0CisgICAgICAgfApkaWZmIC0tZ2l0IGEvTGliL3BhY2thZ2luZy90ZXN0cy9TRVRVUFRPT0xTLVBLRy1JTkZPIGIvTGliL3BhY2thZ2luZy90ZXN0cy9TRVRVUFRPT0xTLVBLRy1JTkZPCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRmZjhkMDAKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvcGFja2FnaW5nL3Rlc3RzL1NFVFVQVE9PTFMtUEtHLUlORk8KQEAgLTAsMCArMSwxODIgQEAKK01ldGFkYXRhLVZlcnNpb246IDEuMAorTmFtZTogc2V0dXB0b29scworVmVyc2lvbjogMC42YzkKK1N1bW1hcnk6IERvd25sb2FkLCBidWlsZCwgaW5zdGFsbCwgdXBncmFkZSwgYW5kIHVuaW5zdGFsbCBQeXRob24gcGFja2FnZXMgLS0gZWFzaWx5IQorSG9tZS1wYWdlOiBodHRwOi8vcHlwaS5weXRob24ub3JnL3B5cGkvc2V0dXB0b29scworQXV0aG9yOiBQaGlsbGlwIEouIEVieQorQXV0aG9yLWVtYWlsOiBkaXN0dXRpbHMtc2lnQHB5dGhvbi5vcmcKK0xpY2Vuc2U6IFBTRiBvciBaUEwKK0Rlc2NyaXB0aW9uOiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgICAgICAgIEluc3RhbGxpbmcgYW5kIFVzaW5nIFNldHVwdG9vbHMKKyAgICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCisgICAgICAgIC4uIGNvbnRlbnRzOjogKipUYWJsZSBvZiBDb250ZW50cyoqCisKKworICAgICAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAgICAgIEluc3RhbGxhdGlvbiBJbnN0cnVjdGlvbnMKKyAgICAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisgICAgICAgIFdpbmRvd3MKKyAgICAgICAgPT09PT09PQorCisgICAgICAgIEluc3RhbGwgc2V0dXB0b29scyB1c2luZyB0aGUgcHJvdmlkZWQgYGAuZXhlYGAgaW5zdGFsbGVyLiAgSWYgeW91J3ZlIHByZXZpb3VzbHkKKyAgICAgICAgaW5zdGFsbGVkIG9sZGVyIHZlcnNpb25zIG9mIHNldHVwdG9vbHMsIHBsZWFzZSBkZWxldGUgYWxsIGBgc2V0dXB0b29scyouZWdnYGAKKyAgICAgICAgYW5kIGBgc2V0dXB0b29scy5wdGhgYCBmaWxlcyBmcm9tIHlvdXIgc3lzdGVtJ3MgYGBzaXRlLXBhY2thZ2VzYGAgZGlyZWN0b3J5CisgICAgICAgIChhbmQgYW55IG90aGVyIGBgc3lzLnBhdGhgYCBkaXJlY3RvcmllcykgRklSU1QuCisKKyAgICAgICAgSWYgeW91IGFyZSB1cGdyYWRpbmcgYSBwcmV2aW91cyB2ZXJzaW9uIG9mIHNldHVwdG9vbHMgdGhhdCB3YXMgaW5zdGFsbGVkIHVzaW5nCisgICAgICAgIGFuIGBgLmV4ZWBgIGluc3RhbGxlciwgcGxlYXNlIGJlIHN1cmUgdG8gYWxzbyAqdW5pbnN0YWxsIHRoYXQgb2xkZXIgdmVyc2lvbioKKyAgICAgICAgdmlhIHlvdXIgc3lzdGVtJ3MgIkFkZC9SZW1vdmUgUHJvZ3JhbXMiIGZlYXR1cmUsIEJFRk9SRSBpbnN0YWxsaW5nIHRoZSBuZXdlcgorICAgICAgICB2ZXJzaW9uLgorCisgICAgICAgIE9uY2UgaW5zdGFsbGF0aW9uIGlzIGNvbXBsZXRlLCB5b3Ugd2lsbCBmaW5kIGFuIGBgZWFzeV9pbnN0YWxsLmV4ZWBgIHByb2dyYW0gaW4KKyAgICAgICAgeW91ciBQeXRob24gYGBTY3JpcHRzYGAgc3ViZGlyZWN0b3J5LiAgQmUgc3VyZSB0byBhZGQgdGhpcyBkaXJlY3RvcnkgdG8geW91cgorICAgICAgICBgYFBBVEhgYCBlbnZpcm9ubWVudCB2YXJpYWJsZSwgaWYgeW91IGhhdmVuJ3QgYWxyZWFkeSBkb25lIHNvLgorCisKKyAgICAgICAgUlBNLUJhc2VkIFN5c3RlbXMKKyAgICAgICAgPT09PT09PT09PT09PT09PT0KKworICAgICAgICBJbnN0YWxsIHNldHVwdG9vbHMgdXNpbmcgdGhlIHByb3ZpZGVkIHNvdXJjZSBSUE0uICBUaGUgaW5jbHVkZWQgYGAuc3BlY2BgIGZpbGUKKyAgICAgICAgYXNzdW1lcyB5b3UgYXJlIGluc3RhbGxpbmcgdXNpbmcgdGhlIGRlZmF1bHQgYGBweXRob25gYCBleGVjdXRhYmxlLCBhbmQgaXMgbm90CisgICAgICAgIHNwZWNpZmljIHRvIGEgcGFydGljdWxhciBQeXRob24gdmVyc2lvbi4gIFRoZSBgYGVhc3lfaW5zdGFsbGBgIGV4ZWN1dGFibGUgd2lsbAorICAgICAgICBiZSBpbnN0YWxsZWQgdG8gYSBzeXN0ZW0gYGBiaW5gYCBkaXJlY3Rvcnkgc3VjaCBhcyBgYC91c3IvYmluYGAuCisKKyAgICAgICAgSWYgeW91IHdpc2ggdG8gaW5zdGFsbCB0byBhIGxvY2F0aW9uIG90aGVyIHRoYW4gdGhlIGRlZmF1bHQgUHl0aG9uCisgICAgICAgIGluc3RhbGxhdGlvbidzIGRlZmF1bHQgYGBzaXRlLXBhY2thZ2VzYGAgZGlyZWN0b3J5IChhbmQgYGAkcHJlZml4L2JpbmBgIGZvcgorICAgICAgICBzY3JpcHRzKSwgcGxlYXNlIHVzZSB0aGUgYGAuZWdnYGAtYmFzZWQgaW5zdGFsbGF0aW9uIGFwcHJvYWNoIGRlc2NyaWJlZCBpbiB0aGUKKyAgICAgICAgZm9sbG93aW5nIHNlY3Rpb24uCisKKworICAgICAgICBDeWd3aW4sIE1hYyBPUyBYLCBMaW51eCwgT3RoZXIKKyAgICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKKyAgICAgICAgMS4gRG93bmxvYWQgdGhlIGFwcHJvcHJpYXRlIGVnZyBmb3IgeW91ciB2ZXJzaW9uIG9mIFB5dGhvbiAoZS5nLgorICAgICAgICBgYHNldHVwdG9vbHMtMC42YzktcHkyLjQuZWdnYGApLiAgRG8gTk9UIHJlbmFtZSBpdC4KKworICAgICAgICAyLiBSdW4gaXQgYXMgaWYgaXQgd2VyZSBhIHNoZWxsIHNjcmlwdCwgZS5nLiBgYHNoIHNldHVwdG9vbHMtMC42YzktcHkyLjQuZWdnYGAuCisgICAgICAgIFNldHVwdG9vbHMgd2lsbCBpbnN0YWxsIGl0c2VsZiB1c2luZyB0aGUgbWF0Y2hpbmcgdmVyc2lvbiBvZiBQeXRob24gKGUuZy4KKyAgICAgICAgYGBweXRob24yLjRgYCksIGFuZCB3aWxsIHBsYWNlIHRoZSBgYGVhc3lfaW5zdGFsbGBgIGV4ZWN1dGFibGUgaW4gdGhlCisgICAgICAgIGRlZmF1bHQgbG9jYXRpb24gZm9yIGluc3RhbGxpbmcgUHl0aG9uIHNjcmlwdHMgKGFzIGRldGVybWluZWQgYnkgdGhlCisgICAgICAgIHN0YW5kYXJkIGRpc3R1dGlscyBjb25maWd1cmF0aW9uIGZpbGVzLCBvciBieSB0aGUgUHl0aG9uIGluc3RhbGxhdGlvbikuCisKKyAgICAgICAgSWYgeW91IHdhbnQgdG8gaW5zdGFsbCBzZXR1cHRvb2xzIHRvIHNvbWV3aGVyZSBvdGhlciB0aGFuIGBgc2l0ZS1wYWNrYWdlc2BgIG9yCisgICAgICAgIHlvdXIgZGVmYXVsdCBkaXN0dXRpbHMgaW5zdGFsbGF0aW9uIGxvY2F0aW9ucyBmb3IgbGlicmFyaWVzIGFuZCBzY3JpcHRzLCB5b3UKKyAgICAgICAgbWF5IGluY2x1ZGUgRWFzeUluc3RhbGwgY29tbWFuZC1saW5lIG9wdGlvbnMgc3VjaCBhcyBgYC0tcHJlZml4YGAsCisgICAgICAgIGBgLS1pbnN0YWxsLWRpcmBgLCBhbmQgc28gb24sIGZvbGxvd2luZyB0aGUgYGAuZWdnYGAgZmlsZW5hbWUgb24gdGhlIHNhbWUKKyAgICAgICAgY29tbWFuZCBsaW5lLiAgRm9yIGV4YW1wbGU6OgorCisgICAgICAgIHNoIHNldHVwdG9vbHMtMC42YzktcHkyLjQuZWdnIC0tcHJlZml4PX4KKworICAgICAgICBZb3UgY2FuIHVzZSBgYC0taGVscGBgIHRvIGdldCBhIGZ1bGwgb3B0aW9ucyBsaXN0LCBidXQgd2UgcmVjb21tZW5kIGNvbnN1bHRpbmcKKyAgICAgICAgdGhlIGBFYXN5SW5zdGFsbCBtYW51YWxgXyBmb3IgZGV0YWlsZWQgaW5zdHJ1Y3Rpb25zLCBlc3BlY2lhbGx5IGB0aGUgc2VjdGlvbgorICAgICAgICBvbiBjdXN0b20gaW5zdGFsbGF0aW9uIGxvY2F0aW9uc2BfLgorCisgICAgICAgIC4uIF9FYXN5SW5zdGFsbCBtYW51YWw6IGh0dHA6Ly9wZWFrLnRlbGVjb21tdW5pdHkuY29tL0RldkNlbnRlci9FYXN5SW5zdGFsbAorICAgICAgICAuLiBfdGhlIHNlY3Rpb24gb24gY3VzdG9tIGluc3RhbGxhdGlvbiBsb2NhdGlvbnM6IGh0dHA6Ly9wZWFrLnRlbGVjb21tdW5pdHkuY29tL0RldkNlbnRlci9FYXN5SW5zdGFsbCNjdXN0b20taW5zdGFsbGF0aW9uLWxvY2F0aW9ucworCisKKyAgICAgICAgQ3lnd2luIE5vdGUKKyAgICAgICAgLS0tLS0tLS0tLS0KKworICAgICAgICBJZiB5b3UgYXJlIHRyeWluZyB0byBpbnN0YWxsIHNldHVwdG9vbHMgZm9yIHRoZSAqKldpbmRvd3MqKiB2ZXJzaW9uIG9mIFB5dGhvbgorICAgICAgICAoYXMgb3Bwb3NlZCB0byB0aGUgQ3lnd2luIHZlcnNpb24gdGhhdCBsaXZlcyBpbiBgYC91c3IvYmluYGApLCB5b3UgbXVzdCBtYWtlCisgICAgICAgIHN1cmUgdGhhdCBhbiBhcHByb3ByaWF0ZSBleGVjdXRhYmxlIChgYHB5dGhvbjIuM2BgLCBgYHB5dGhvbjIuNGBgLCBvcgorICAgICAgICBgYHB5dGhvbjIuNWBgKSBpcyBvbiB5b3VyICoqQ3lnd2luKiogYGBQQVRIYGAgd2hlbiBpbnZva2luZyB0aGUgZWdnLiAgRm9yCisgICAgICAgIGV4YW1wbGUsIGRvaW5nIHRoZSBmb2xsb3dpbmcgYXQgYSBDeWd3aW4gYmFzaCBwcm9tcHQgd2lsbCBpbnN0YWxsIHNldHVwdG9vbHMKKyAgICAgICAgZm9yIHRoZSAqKldpbmRvd3MqKiBQeXRob24gZm91bmQgYXQgYGBDOlxcUHl0aG9uMjRgYDo6CisKKyAgICAgICAgbG4gLXMgL2N5Z2RyaXZlL2MvUHl0aG9uMjQvcHl0aG9uLmV4ZSBweXRob24yLjQKKyAgICAgICAgUEFUSD0uOiRQQVRIIHNoIHNldHVwdG9vbHMtMC42YzktcHkyLjQuZWdnCisgICAgICAgIHJtIHB5dGhvbjIuNAorCisKKyAgICAgICAgRG93bmxvYWRzCisgICAgICAgID09PT09PT09PQorCisgICAgICAgIEFsbCBzZXR1cHRvb2xzIGRvd25sb2FkcyBjYW4gYmUgZm91bmQgYXQgYHRoZSBwcm9qZWN0J3MgaG9tZSBwYWdlIGluIHRoZSBQeXRob24KKyAgICAgICAgUGFja2FnZSBJbmRleGBfLiAgU2Nyb2xsIHRvIHRoZSB2ZXJ5IGJvdHRvbSBvZiB0aGUgcGFnZSB0byBmaW5kIHRoZSBsaW5rcy4KKworICAgICAgICAuLiBfdGhlIHByb2plY3QncyBob21lIHBhZ2UgaW4gdGhlIFB5dGhvbiBQYWNrYWdlIEluZGV4OiBodHRwOi8vcHlwaS5weXRob24ub3JnL3B5cGkvc2V0dXB0b29scworCisgICAgICAgIEluIGFkZGl0aW9uIHRvIHRoZSBQeVBJIGRvd25sb2FkcywgdGhlIGRldmVsb3BtZW50IHZlcnNpb24gb2YgYGBzZXR1cHRvb2xzYGAKKyAgICAgICAgaXMgYXZhaWxhYmxlIGZyb20gdGhlIGBQeXRob24gU1ZOIHNhbmRib3hgXywgYW5kIGluLWRldmVsb3BtZW50IHZlcnNpb25zIG9mIHRoZQorICAgICAgICBgMC42IGJyYW5jaGBfIGFyZSBhdmFpbGFibGUgYXMgd2VsbC4KKworICAgICAgICAuLiBfMC42IGJyYW5jaDogaHR0cDovL3N2bi5weXRob24ub3JnL3Byb2plY3RzL3NhbmRib3gvYnJhbmNoZXMvc2V0dXB0b29scy0wLjYvI2VnZz1zZXR1cHRvb2xzLWRldjA2CisKKyAgICAgICAgLi4gX1B5dGhvbiBTVk4gc2FuZGJveDogaHR0cDovL3N2bi5weXRob24ub3JnL3Byb2plY3RzL3NhbmRib3gvdHJ1bmsvc2V0dXB0b29scy8jZWdnPXNldHVwdG9vbHMtZGV2CisKKyAgICAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgICAgICAgVXNpbmcgU2V0dXB0b29scyBhbmQgRWFzeUluc3RhbGwKKyAgICAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworICAgICAgICBIZXJlIGFyZSBzb21lIG9mIHRoZSBhdmFpbGFibGUgbWFudWFscywgdHV0b3JpYWxzLCBhbmQgb3RoZXIgcmVzb3VyY2VzIGZvcgorICAgICAgICBsZWFybmluZyBhYm91dCBTZXR1cHRvb2xzLCBQeXRob24gRWdncywgYW5kIEVhc3lJbnN0YWxsOgorCisgICAgICAgICogYFRoZSBFYXN5SW5zdGFsbCB1c2VyJ3MgZ3VpZGUgYW5kIHJlZmVyZW5jZSBtYW51YWxgXworICAgICAgICAqIGBUaGUgc2V0dXB0b29scyBEZXZlbG9wZXIncyBHdWlkZWBfCisgICAgICAgICogYFRoZSBwa2dfcmVzb3VyY2VzIEFQSSByZWZlcmVuY2VgXworICAgICAgICAqIGBQYWNrYWdlIENvbXBhdGliaWxpdHkgTm90ZXNgXyAodXNlci1tYWludGFpbmVkKQorICAgICAgICAqIGBUaGUgSW50ZXJuYWwgU3RydWN0dXJlIG9mIFB5dGhvbiBFZ2dzYF8KKworICAgICAgICBRdWVzdGlvbnMsIGNvbW1lbnRzLCBhbmQgYnVnIHJlcG9ydHMgc2hvdWxkIGJlIGRpcmVjdGVkIHRvIHRoZSBgZGlzdHV0aWxzLXNpZworICAgICAgICBtYWlsaW5nIGxpc3RgXy4gIElmIHlvdSBoYXZlIHdyaXR0ZW4gKG9yIGtub3cgb2YpIGFueSB0dXRvcmlhbHMsIGRvY3VtZW50YXRpb24sCisgICAgICAgIHBsdWctaW5zLCBvciBvdGhlciByZXNvdXJjZXMgZm9yIHNldHVwdG9vbHMgdXNlcnMsIHBsZWFzZSBsZXQgdXMga25vdyBhYm91dAorICAgICAgICB0aGVtIHRoZXJlLCBzbyB0aGlzIHJlZmVyZW5jZSBsaXN0IGNhbiBiZSB1cGRhdGVkLiAgSWYgeW91IGhhdmUgd29ya2luZywKKyAgICAgICAgKnRlc3RlZCogcGF0Y2hlcyB0byBjb3JyZWN0IHByb2JsZW1zIG9yIGFkZCBmZWF0dXJlcywgeW91IG1heSBzdWJtaXQgdGhlbSB0bworICAgICAgICB0aGUgYHNldHVwdG9vbHMgYnVnIHRyYWNrZXJgXy4KKworICAgICAgICAuLiBfc2V0dXB0b29scyBidWcgdHJhY2tlcjogaHR0cDovL2J1Z3MucHl0aG9uLm9yZy9zZXR1cHRvb2xzLworICAgICAgICAuLiBfUGFja2FnZSBDb21wYXRpYmlsaXR5IE5vdGVzOiBodHRwOi8vcGVhay50ZWxlY29tbXVuaXR5LmNvbS9EZXZDZW50ZXIvUGFja2FnZU5vdGVzCisgICAgICAgIC4uIF9UaGUgSW50ZXJuYWwgU3RydWN0dXJlIG9mIFB5dGhvbiBFZ2dzOiBodHRwOi8vcGVhay50ZWxlY29tbXVuaXR5LmNvbS9EZXZDZW50ZXIvRWdnRm9ybWF0cworICAgICAgICAuLiBfVGhlIHNldHVwdG9vbHMgRGV2ZWxvcGVyJ3MgR3VpZGU6IGh0dHA6Ly9wZWFrLnRlbGVjb21tdW5pdHkuY29tL0RldkNlbnRlci9zZXR1cHRvb2xzCisgICAgICAgIC4uIF9UaGUgcGtnX3Jlc291cmNlcyBBUEkgcmVmZXJlbmNlOiBodHRwOi8vcGVhay50ZWxlY29tbXVuaXR5LmNvbS9EZXZDZW50ZXIvUGtnUmVzb3VyY2VzCisgICAgICAgIC4uIF9UaGUgRWFzeUluc3RhbGwgdXNlcidzIGd1aWRlIGFuZCByZWZlcmVuY2UgbWFudWFsOiBodHRwOi8vcGVhay50ZWxlY29tbXVuaXR5LmNvbS9EZXZDZW50ZXIvRWFzeUluc3RhbGwKKyAgICAgICAgLi4gX2Rpc3R1dGlscy1zaWcgbWFpbGluZyBsaXN0OiBodHRwOi8vbWFpbC5weXRob24ub3JnL3BpcGVybWFpbC9kaXN0dXRpbHMtc2lnLworCisKKyAgICAgICAgLS0tLS0tLQorICAgICAgICBDcmVkaXRzCisgICAgICAgIC0tLS0tLS0KKworICAgICAgICAqIFRoZSBvcmlnaW5hbCBkZXNpZ24gZm9yIHRoZSBgYC5lZ2dgYCBmb3JtYXQgYW5kIHRoZSBgYHBrZ19yZXNvdXJjZXNgYCBBUEkgd2FzCisgICAgICAgIGNvLWNyZWF0ZWQgYnkgUGhpbGxpcCBFYnkgYW5kIEJvYiBJcHBvbGl0by4gIEJvYiBhbHNvIGltcGxlbWVudGVkIHRoZSBmaXJzdAorICAgICAgICB2ZXJzaW9uIG9mIGBgcGtnX3Jlc291cmNlc2BgLCBhbmQgc3VwcGxpZWQgdGhlIE9TIFggb3BlcmF0aW5nIHN5c3RlbSB2ZXJzaW9uCisgICAgICAgIGNvbXBhdGliaWxpdHkgYWxnb3JpdGhtLgorCisgICAgICAgICogSWFuIEJpY2tpbmcgaW1wbGVtZW50ZWQgbWFueSBlYXJseSAiY3JlYXR1cmUgY29tZm9ydCIgZmVhdHVyZXMgb2YKKyAgICAgICAgZWFzeV9pbnN0YWxsLCBpbmNsdWRpbmcgc3VwcG9ydCBmb3IgZG93bmxvYWRpbmcgdmlhIFNvdXJjZWZvcmdlIGFuZAorICAgICAgICBTdWJ2ZXJzaW9uIHJlcG9zaXRvcmllcy4gIElhbidzIGNvbW1lbnRzIG9uIHRoZSBXZWItU0lHIGFib3V0IFdTR0kKKyAgICAgICAgYXBwbGljYXRpb24gZGVwbG95bWVudCBhbHNvIGluc3BpcmVkIHRoZSBjb25jZXB0IG9mICJlbnRyeSBwb2ludHMiIGluIGVnZ3MsCisgICAgICAgIGFuZCBoZSBoYXMgZ2l2ZW4gdGFsa3MgYXQgUHlDb24gYW5kIGVsc2V3aGVyZSB0byBpbmZvcm0gYW5kIGVkdWNhdGUgdGhlCisgICAgICAgIGNvbW11bml0eSBhYm91dCBlZ2dzIGFuZCBzZXR1cHRvb2xzLgorCisgICAgICAgICogSmltIEZ1bHRvbiBjb250cmlidXRlZCB0aW1lIGFuZCBlZmZvcnQgdG8gYnVpbGQgYXV0b21hdGVkIHRlc3RzIG9mIHZhcmlvdXMKKyAgICAgICAgYXNwZWN0cyBvZiBgYGVhc3lfaW5zdGFsbGBgLCBhbmQgc3VwcGxpZWQgdGhlIGRvY3Rlc3RzIGZvciB0aGUgY29tbWFuZC1saW5lCisgICAgICAgIGBgLmV4ZWBgIHdyYXBwZXJzIG9uIFdpbmRvd3MuCisKKyAgICAgICAgKiBQaGlsbGlwIEouIEVieSBpcyB0aGUgcHJpbmNpcGFsIGF1dGhvciBhbmQgbWFpbnRhaW5lciBvZiBzZXR1cHRvb2xzLCBhbmQKKyAgICAgICAgZmlyc3QgcHJvcG9zZWQgdGhlIGlkZWEgb2YgYW4gaW1wb3J0YWJsZSBiaW5hcnkgZGlzdHJpYnV0aW9uIGZvcm1hdCBmb3IKKyAgICAgICAgUHl0aG9uIGFwcGxpY2F0aW9uIHBsdWctaW5zLgorCisgICAgICAgICogU2lnbmlmaWNhbnQgcGFydHMgb2YgdGhlIGltcGxlbWVudGF0aW9uIG9mIHNldHVwdG9vbHMgd2VyZSBmdW5kZWQgYnkgdGhlIE9wZW4KKyAgICAgICAgU291cmNlIEFwcGxpY2F0aW9ucyBGb3VuZGF0aW9uLCB0byBwcm92aWRlIGEgcGx1Zy1pbiBpbmZyYXN0cnVjdHVyZSBmb3IgdGhlCisgICAgICAgIENoYW5kbGVyIFBJTSBhcHBsaWNhdGlvbi4gIEluIGFkZGl0aW9uLCBtYW55IE9TQUYgc3RhZmZlcnMgKHN1Y2ggYXMgTWlrZQorICAgICAgICAiQ29kZSBCZWFyIiBUYXlsb3IpIGNvbnRyaWJ1dGVkIHRoZWlyIHRpbWUgYW5kIHN0cmVzcyBhcyBndWluZWEgcGlncyBmb3IgdGhlCisgICAgICAgIHVzZSBvZiBlZ2dzIGFuZCBzZXR1cHRvb2xzLCBldmVuIGJlZm9yZSBlZ2dzIHdlcmUgImNvb2wiLiAgKFRoYW5rcywgZ3V5cyEpCisKKworS2V5d29yZHM6IENQQU4gUHlQSSBkaXN0dXRpbHMgZWdncyBwYWNrYWdlIG1hbmFnZW1lbnQKK1BsYXRmb3JtOiBVTktOT1dOCitDbGFzc2lmaWVyOiBEZXZlbG9wbWVudCBTdGF0dXMgOjogMyAtIEFscGhhCitDbGFzc2lmaWVyOiBJbnRlbmRlZCBBdWRpZW5jZSA6OiBEZXZlbG9wZXJzCitDbGFzc2lmaWVyOiBMaWNlbnNlIDo6IE9TSSBBcHByb3ZlZCA6OiBQeXRob24gU29mdHdhcmUgRm91bmRhdGlvbiBMaWNlbnNlCitDbGFzc2lmaWVyOiBMaWNlbnNlIDo6IE9TSSBBcHByb3ZlZCA6OiBab3BlIFB1YmxpYyBMaWNlbnNlCitDbGFzc2lmaWVyOiBPcGVyYXRpbmcgU3lzdGVtIDo6IE9TIEluZGVwZW5kZW50CitDbGFzc2lmaWVyOiBQcm9ncmFtbWluZyBMYW5ndWFnZSA6OiBQeXRob24KK0NsYXNzaWZpZXI6IFRvcGljIDo6IFNvZnR3YXJlIERldmVsb3BtZW50IDo6IExpYnJhcmllcyA6OiBQeXRob24gTW9kdWxlcworQ2xhc3NpZmllcjogVG9waWMgOjogU3lzdGVtIDo6IEFyY2hpdmluZyA6OiBQYWNrYWdpbmcKK0NsYXNzaWZpZXI6IFRvcGljIDo6IFN5c3RlbSA6OiBTeXN0ZW1zIEFkbWluaXN0cmF0aW9uCitDbGFzc2lmaWVyOiBUb3BpYyA6OiBVdGlsaXRpZXMKZGlmZiAtLWdpdCBhL0xpYi9wYWNrYWdpbmcvdGVzdHMvU0VUVVBUT09MUy1QS0ctSU5GTzIgYi9MaWIvcGFja2FnaW5nL3Rlc3RzL1NFVFVQVE9PTFMtUEtHLUlORk8yCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRiMzkwNmEKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvcGFja2FnaW5nL3Rlc3RzL1NFVFVQVE9PTFMtUEtHLUlORk8yCkBAIC0wLDAgKzEsMTgzIEBACitNZXRhZGF0YS1WZXJzaW9uOiAxLjEKK05hbWU6IHNldHVwdG9vbHMKK1ZlcnNpb246IDAuNmM5CitTdW1tYXJ5OiBEb3dubG9hZCwgYnVpbGQsIGluc3RhbGwsIHVwZ3JhZGUsIGFuZCB1bmluc3RhbGwgUHl0aG9uIHBhY2thZ2VzIC0tIGVhc2lseSEKK0hvbWUtcGFnZTogaHR0cDovL3B5cGkucHl0aG9uLm9yZy9weXBpL3NldHVwdG9vbHMKK0F1dGhvcjogUGhpbGxpcCBKLiBFYnkKK0F1dGhvci1lbWFpbDogZGlzdHV0aWxzLXNpZ0BweXRob24ub3JnCitMaWNlbnNlOiBQU0Ygb3IgWlBMCitEZXNjcmlwdGlvbjogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICAgICAgICBJbnN0YWxsaW5nIGFuZCBVc2luZyBTZXR1cHRvb2xzCisgICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworICAgICAgICAuLiBjb250ZW50czo6ICoqVGFibGUgb2YgQ29udGVudHMqKgorCisKKyAgICAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgICAgICBJbnN0YWxsYXRpb24gSW5zdHJ1Y3Rpb25zCisgICAgICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworICAgICAgICBXaW5kb3dzCisgICAgICAgID09PT09PT0KKworICAgICAgICBJbnN0YWxsIHNldHVwdG9vbHMgdXNpbmcgdGhlIHByb3ZpZGVkIGBgLmV4ZWBgIGluc3RhbGxlci4gIElmIHlvdSd2ZSBwcmV2aW91c2x5CisgICAgICAgIGluc3RhbGxlZCBvbGRlciB2ZXJzaW9ucyBvZiBzZXR1cHRvb2xzLCBwbGVhc2UgZGVsZXRlIGFsbCBgYHNldHVwdG9vbHMqLmVnZ2BgCisgICAgICAgIGFuZCBgYHNldHVwdG9vbHMucHRoYGAgZmlsZXMgZnJvbSB5b3VyIHN5c3RlbSdzIGBgc2l0ZS1wYWNrYWdlc2BgIGRpcmVjdG9yeQorICAgICAgICAoYW5kIGFueSBvdGhlciBgYHN5cy5wYXRoYGAgZGlyZWN0b3JpZXMpIEZJUlNULgorCisgICAgICAgIElmIHlvdSBhcmUgdXBncmFkaW5nIGEgcHJldmlvdXMgdmVyc2lvbiBvZiBzZXR1cHRvb2xzIHRoYXQgd2FzIGluc3RhbGxlZCB1c2luZworICAgICAgICBhbiBgYC5leGVgYCBpbnN0YWxsZXIsIHBsZWFzZSBiZSBzdXJlIHRvIGFsc28gKnVuaW5zdGFsbCB0aGF0IG9sZGVyIHZlcnNpb24qCisgICAgICAgIHZpYSB5b3VyIHN5c3RlbSdzICJBZGQvUmVtb3ZlIFByb2dyYW1zIiBmZWF0dXJlLCBCRUZPUkUgaW5zdGFsbGluZyB0aGUgbmV3ZXIKKyAgICAgICAgdmVyc2lvbi4KKworICAgICAgICBPbmNlIGluc3RhbGxhdGlvbiBpcyBjb21wbGV0ZSwgeW91IHdpbGwgZmluZCBhbiBgYGVhc3lfaW5zdGFsbC5leGVgYCBwcm9ncmFtIGluCisgICAgICAgIHlvdXIgUHl0aG9uIGBgU2NyaXB0c2BgIHN1YmRpcmVjdG9yeS4gIEJlIHN1cmUgdG8gYWRkIHRoaXMgZGlyZWN0b3J5IHRvIHlvdXIKKyAgICAgICAgYGBQQVRIYGAgZW52aXJvbm1lbnQgdmFyaWFibGUsIGlmIHlvdSBoYXZlbid0IGFscmVhZHkgZG9uZSBzby4KKworCisgICAgICAgIFJQTS1CYXNlZCBTeXN0ZW1zCisgICAgICAgID09PT09PT09PT09PT09PT09CisKKyAgICAgICAgSW5zdGFsbCBzZXR1cHRvb2xzIHVzaW5nIHRoZSBwcm92aWRlZCBzb3VyY2UgUlBNLiAgVGhlIGluY2x1ZGVkIGBgLnNwZWNgYCBmaWxlCisgICAgICAgIGFzc3VtZXMgeW91IGFyZSBpbnN0YWxsaW5nIHVzaW5nIHRoZSBkZWZhdWx0IGBgcHl0aG9uYGAgZXhlY3V0YWJsZSwgYW5kIGlzIG5vdAorICAgICAgICBzcGVjaWZpYyB0byBhIHBhcnRpY3VsYXIgUHl0aG9uIHZlcnNpb24uICBUaGUgYGBlYXN5X2luc3RhbGxgYCBleGVjdXRhYmxlIHdpbGwKKyAgICAgICAgYmUgaW5zdGFsbGVkIHRvIGEgc3lzdGVtIGBgYmluYGAgZGlyZWN0b3J5IHN1Y2ggYXMgYGAvdXNyL2JpbmBgLgorCisgICAgICAgIElmIHlvdSB3aXNoIHRvIGluc3RhbGwgdG8gYSBsb2NhdGlvbiBvdGhlciB0aGFuIHRoZSBkZWZhdWx0IFB5dGhvbgorICAgICAgICBpbnN0YWxsYXRpb24ncyBkZWZhdWx0IGBgc2l0ZS1wYWNrYWdlc2BgIGRpcmVjdG9yeSAoYW5kIGBgJHByZWZpeC9iaW5gYCBmb3IKKyAgICAgICAgc2NyaXB0cyksIHBsZWFzZSB1c2UgdGhlIGBgLmVnZ2BgLWJhc2VkIGluc3RhbGxhdGlvbiBhcHByb2FjaCBkZXNjcmliZWQgaW4gdGhlCisgICAgICAgIGZvbGxvd2luZyBzZWN0aW9uLgorCisKKyAgICAgICAgQ3lnd2luLCBNYWMgT1MgWCwgTGludXgsIE90aGVyCisgICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCisgICAgICAgIDEuIERvd25sb2FkIHRoZSBhcHByb3ByaWF0ZSBlZ2cgZm9yIHlvdXIgdmVyc2lvbiBvZiBQeXRob24gKGUuZy4KKyAgICAgICAgYGBzZXR1cHRvb2xzLTAuNmM5LXB5Mi40LmVnZ2BgKS4gIERvIE5PVCByZW5hbWUgaXQuCisKKyAgICAgICAgMi4gUnVuIGl0IGFzIGlmIGl0IHdlcmUgYSBzaGVsbCBzY3JpcHQsIGUuZy4gYGBzaCBzZXR1cHRvb2xzLTAuNmM5LXB5Mi40LmVnZ2BgLgorICAgICAgICBTZXR1cHRvb2xzIHdpbGwgaW5zdGFsbCBpdHNlbGYgdXNpbmcgdGhlIG1hdGNoaW5nIHZlcnNpb24gb2YgUHl0aG9uIChlLmcuCisgICAgICAgIGBgcHl0aG9uMi40YGApLCBhbmQgd2lsbCBwbGFjZSB0aGUgYGBlYXN5X2luc3RhbGxgYCBleGVjdXRhYmxlIGluIHRoZQorICAgICAgICBkZWZhdWx0IGxvY2F0aW9uIGZvciBpbnN0YWxsaW5nIFB5dGhvbiBzY3JpcHRzIChhcyBkZXRlcm1pbmVkIGJ5IHRoZQorICAgICAgICBzdGFuZGFyZCBkaXN0dXRpbHMgY29uZmlndXJhdGlvbiBmaWxlcywgb3IgYnkgdGhlIFB5dGhvbiBpbnN0YWxsYXRpb24pLgorCisgICAgICAgIElmIHlvdSB3YW50IHRvIGluc3RhbGwgc2V0dXB0b29scyB0byBzb21ld2hlcmUgb3RoZXIgdGhhbiBgYHNpdGUtcGFja2FnZXNgYCBvcgorICAgICAgICB5b3VyIGRlZmF1bHQgZGlzdHV0aWxzIGluc3RhbGxhdGlvbiBsb2NhdGlvbnMgZm9yIGxpYnJhcmllcyBhbmQgc2NyaXB0cywgeW91CisgICAgICAgIG1heSBpbmNsdWRlIEVhc3lJbnN0YWxsIGNvbW1hbmQtbGluZSBvcHRpb25zIHN1Y2ggYXMgYGAtLXByZWZpeGBgLAorICAgICAgICBgYC0taW5zdGFsbC1kaXJgYCwgYW5kIHNvIG9uLCBmb2xsb3dpbmcgdGhlIGBgLmVnZ2BgIGZpbGVuYW1lIG9uIHRoZSBzYW1lCisgICAgICAgIGNvbW1hbmQgbGluZS4gIEZvciBleGFtcGxlOjoKKworICAgICAgICBzaCBzZXR1cHRvb2xzLTAuNmM5LXB5Mi40LmVnZyAtLXByZWZpeD1+CisKKyAgICAgICAgWW91IGNhbiB1c2UgYGAtLWhlbHBgYCB0byBnZXQgYSBmdWxsIG9wdGlvbnMgbGlzdCwgYnV0IHdlIHJlY29tbWVuZCBjb25zdWx0aW5nCisgICAgICAgIHRoZSBgRWFzeUluc3RhbGwgbWFudWFsYF8gZm9yIGRldGFpbGVkIGluc3RydWN0aW9ucywgZXNwZWNpYWxseSBgdGhlIHNlY3Rpb24KKyAgICAgICAgb24gY3VzdG9tIGluc3RhbGxhdGlvbiBsb2NhdGlvbnNgXy4KKworICAgICAgICAuLiBfRWFzeUluc3RhbGwgbWFudWFsOiBodHRwOi8vcGVhay50ZWxlY29tbXVuaXR5LmNvbS9EZXZDZW50ZXIvRWFzeUluc3RhbGwKKyAgICAgICAgLi4gX3RoZSBzZWN0aW9uIG9uIGN1c3RvbSBpbnN0YWxsYXRpb24gbG9jYXRpb25zOiBodHRwOi8vcGVhay50ZWxlY29tbXVuaXR5LmNvbS9EZXZDZW50ZXIvRWFzeUluc3RhbGwjY3VzdG9tLWluc3RhbGxhdGlvbi1sb2NhdGlvbnMKKworCisgICAgICAgIEN5Z3dpbiBOb3RlCisgICAgICAgIC0tLS0tLS0tLS0tCisKKyAgICAgICAgSWYgeW91IGFyZSB0cnlpbmcgdG8gaW5zdGFsbCBzZXR1cHRvb2xzIGZvciB0aGUgKipXaW5kb3dzKiogdmVyc2lvbiBvZiBQeXRob24KKyAgICAgICAgKGFzIG9wcG9zZWQgdG8gdGhlIEN5Z3dpbiB2ZXJzaW9uIHRoYXQgbGl2ZXMgaW4gYGAvdXNyL2JpbmBgKSwgeW91IG11c3QgbWFrZQorICAgICAgICBzdXJlIHRoYXQgYW4gYXBwcm9wcmlhdGUgZXhlY3V0YWJsZSAoYGBweXRob24yLjNgYCwgYGBweXRob24yLjRgYCwgb3IKKyAgICAgICAgYGBweXRob24yLjVgYCkgaXMgb24geW91ciAqKkN5Z3dpbioqIGBgUEFUSGBgIHdoZW4gaW52b2tpbmcgdGhlIGVnZy4gIEZvcgorICAgICAgICBleGFtcGxlLCBkb2luZyB0aGUgZm9sbG93aW5nIGF0IGEgQ3lnd2luIGJhc2ggcHJvbXB0IHdpbGwgaW5zdGFsbCBzZXR1cHRvb2xzCisgICAgICAgIGZvciB0aGUgKipXaW5kb3dzKiogUHl0aG9uIGZvdW5kIGF0IGBgQzpcXFB5dGhvbjI0YGA6OgorCisgICAgICAgIGxuIC1zIC9jeWdkcml2ZS9jL1B5dGhvbjI0L3B5dGhvbi5leGUgcHl0aG9uMi40CisgICAgICAgIFBBVEg9LjokUEFUSCBzaCBzZXR1cHRvb2xzLTAuNmM5LXB5Mi40LmVnZworICAgICAgICBybSBweXRob24yLjQKKworCisgICAgICAgIERvd25sb2FkcworICAgICAgICA9PT09PT09PT0KKworICAgICAgICBBbGwgc2V0dXB0b29scyBkb3dubG9hZHMgY2FuIGJlIGZvdW5kIGF0IGB0aGUgcHJvamVjdCdzIGhvbWUgcGFnZSBpbiB0aGUgUHl0aG9uCisgICAgICAgIFBhY2thZ2UgSW5kZXhgXy4gIFNjcm9sbCB0byB0aGUgdmVyeSBib3R0b20gb2YgdGhlIHBhZ2UgdG8gZmluZCB0aGUgbGlua3MuCisKKyAgICAgICAgLi4gX3RoZSBwcm9qZWN0J3MgaG9tZSBwYWdlIGluIHRoZSBQeXRob24gUGFja2FnZSBJbmRleDogaHR0cDovL3B5cGkucHl0aG9uLm9yZy9weXBpL3NldHVwdG9vbHMKKworICAgICAgICBJbiBhZGRpdGlvbiB0byB0aGUgUHlQSSBkb3dubG9hZHMsIHRoZSBkZXZlbG9wbWVudCB2ZXJzaW9uIG9mIGBgc2V0dXB0b29sc2BgCisgICAgICAgIGlzIGF2YWlsYWJsZSBmcm9tIHRoZSBgUHl0aG9uIFNWTiBzYW5kYm94YF8sIGFuZCBpbi1kZXZlbG9wbWVudCB2ZXJzaW9ucyBvZiB0aGUKKyAgICAgICAgYDAuNiBicmFuY2hgXyBhcmUgYXZhaWxhYmxlIGFzIHdlbGwuCisKKyAgICAgICAgLi4gXzAuNiBicmFuY2g6IGh0dHA6Ly9zdm4ucHl0aG9uLm9yZy9wcm9qZWN0cy9zYW5kYm94L2JyYW5jaGVzL3NldHVwdG9vbHMtMC42LyNlZ2c9c2V0dXB0b29scy1kZXYwNgorCisgICAgICAgIC4uIF9QeXRob24gU1ZOIHNhbmRib3g6IGh0dHA6Ly9zdm4ucHl0aG9uLm9yZy9wcm9qZWN0cy9zYW5kYm94L3RydW5rL3NldHVwdG9vbHMvI2VnZz1zZXR1cHRvb2xzLWRldgorCisgICAgICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAgICAgIFVzaW5nIFNldHVwdG9vbHMgYW5kIEVhc3lJbnN0YWxsCisgICAgICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKyAgICAgICAgSGVyZSBhcmUgc29tZSBvZiB0aGUgYXZhaWxhYmxlIG1hbnVhbHMsIHR1dG9yaWFscywgYW5kIG90aGVyIHJlc291cmNlcyBmb3IKKyAgICAgICAgbGVhcm5pbmcgYWJvdXQgU2V0dXB0b29scywgUHl0aG9uIEVnZ3MsIGFuZCBFYXN5SW5zdGFsbDoKKworICAgICAgICAqIGBUaGUgRWFzeUluc3RhbGwgdXNlcidzIGd1aWRlIGFuZCByZWZlcmVuY2UgbWFudWFsYF8KKyAgICAgICAgKiBgVGhlIHNldHVwdG9vbHMgRGV2ZWxvcGVyJ3MgR3VpZGVgXworICAgICAgICAqIGBUaGUgcGtnX3Jlc291cmNlcyBBUEkgcmVmZXJlbmNlYF8KKyAgICAgICAgKiBgUGFja2FnZSBDb21wYXRpYmlsaXR5IE5vdGVzYF8gKHVzZXItbWFpbnRhaW5lZCkKKyAgICAgICAgKiBgVGhlIEludGVybmFsIFN0cnVjdHVyZSBvZiBQeXRob24gRWdnc2BfCisKKyAgICAgICAgUXVlc3Rpb25zLCBjb21tZW50cywgYW5kIGJ1ZyByZXBvcnRzIHNob3VsZCBiZSBkaXJlY3RlZCB0byB0aGUgYGRpc3R1dGlscy1zaWcKKyAgICAgICAgbWFpbGluZyBsaXN0YF8uICBJZiB5b3UgaGF2ZSB3cml0dGVuIChvciBrbm93IG9mKSBhbnkgdHV0b3JpYWxzLCBkb2N1bWVudGF0aW9uLAorICAgICAgICBwbHVnLWlucywgb3Igb3RoZXIgcmVzb3VyY2VzIGZvciBzZXR1cHRvb2xzIHVzZXJzLCBwbGVhc2UgbGV0IHVzIGtub3cgYWJvdXQKKyAgICAgICAgdGhlbSB0aGVyZSwgc28gdGhpcyByZWZlcmVuY2UgbGlzdCBjYW4gYmUgdXBkYXRlZC4gIElmIHlvdSBoYXZlIHdvcmtpbmcsCisgICAgICAgICp0ZXN0ZWQqIHBhdGNoZXMgdG8gY29ycmVjdCBwcm9ibGVtcyBvciBhZGQgZmVhdHVyZXMsIHlvdSBtYXkgc3VibWl0IHRoZW0gdG8KKyAgICAgICAgdGhlIGBzZXR1cHRvb2xzIGJ1ZyB0cmFja2VyYF8uCisKKyAgICAgICAgLi4gX3NldHVwdG9vbHMgYnVnIHRyYWNrZXI6IGh0dHA6Ly9idWdzLnB5dGhvbi5vcmcvc2V0dXB0b29scy8KKyAgICAgICAgLi4gX1BhY2thZ2UgQ29tcGF0aWJpbGl0eSBOb3RlczogaHR0cDovL3BlYWsudGVsZWNvbW11bml0eS5jb20vRGV2Q2VudGVyL1BhY2thZ2VOb3RlcworICAgICAgICAuLiBfVGhlIEludGVybmFsIFN0cnVjdHVyZSBvZiBQeXRob24gRWdnczogaHR0cDovL3BlYWsudGVsZWNvbW11bml0eS5jb20vRGV2Q2VudGVyL0VnZ0Zvcm1hdHMKKyAgICAgICAgLi4gX1RoZSBzZXR1cHRvb2xzIERldmVsb3BlcidzIEd1aWRlOiBodHRwOi8vcGVhay50ZWxlY29tbXVuaXR5LmNvbS9EZXZDZW50ZXIvc2V0dXB0b29scworICAgICAgICAuLiBfVGhlIHBrZ19yZXNvdXJjZXMgQVBJIHJlZmVyZW5jZTogaHR0cDovL3BlYWsudGVsZWNvbW11bml0eS5jb20vRGV2Q2VudGVyL1BrZ1Jlc291cmNlcworICAgICAgICAuLiBfVGhlIEVhc3lJbnN0YWxsIHVzZXIncyBndWlkZSBhbmQgcmVmZXJlbmNlIG1hbnVhbDogaHR0cDovL3BlYWsudGVsZWNvbW11bml0eS5jb20vRGV2Q2VudGVyL0Vhc3lJbnN0YWxsCisgICAgICAgIC4uIF9kaXN0dXRpbHMtc2lnIG1haWxpbmcgbGlzdDogaHR0cDovL21haWwucHl0aG9uLm9yZy9waXBlcm1haWwvZGlzdHV0aWxzLXNpZy8KKworCisgICAgICAgIC0tLS0tLS0KKyAgICAgICAgQ3JlZGl0cworICAgICAgICAtLS0tLS0tCisKKyAgICAgICAgKiBUaGUgb3JpZ2luYWwgZGVzaWduIGZvciB0aGUgYGAuZWdnYGAgZm9ybWF0IGFuZCB0aGUgYGBwa2dfcmVzb3VyY2VzYGAgQVBJIHdhcworICAgICAgICBjby1jcmVhdGVkIGJ5IFBoaWxsaXAgRWJ5IGFuZCBCb2IgSXBwb2xpdG8uICBCb2IgYWxzbyBpbXBsZW1lbnRlZCB0aGUgZmlyc3QKKyAgICAgICAgdmVyc2lvbiBvZiBgYHBrZ19yZXNvdXJjZXNgYCwgYW5kIHN1cHBsaWVkIHRoZSBPUyBYIG9wZXJhdGluZyBzeXN0ZW0gdmVyc2lvbgorICAgICAgICBjb21wYXRpYmlsaXR5IGFsZ29yaXRobS4KKworICAgICAgICAqIElhbiBCaWNraW5nIGltcGxlbWVudGVkIG1hbnkgZWFybHkgImNyZWF0dXJlIGNvbWZvcnQiIGZlYXR1cmVzIG9mCisgICAgICAgIGVhc3lfaW5zdGFsbCwgaW5jbHVkaW5nIHN1cHBvcnQgZm9yIGRvd25sb2FkaW5nIHZpYSBTb3VyY2Vmb3JnZSBhbmQKKyAgICAgICAgU3VidmVyc2lvbiByZXBvc2l0b3JpZXMuICBJYW4ncyBjb21tZW50cyBvbiB0aGUgV2ViLVNJRyBhYm91dCBXU0dJCisgICAgICAgIGFwcGxpY2F0aW9uIGRlcGxveW1lbnQgYWxzbyBpbnNwaXJlZCB0aGUgY29uY2VwdCBvZiAiZW50cnkgcG9pbnRzIiBpbiBlZ2dzLAorICAgICAgICBhbmQgaGUgaGFzIGdpdmVuIHRhbGtzIGF0IFB5Q29uIGFuZCBlbHNld2hlcmUgdG8gaW5mb3JtIGFuZCBlZHVjYXRlIHRoZQorICAgICAgICBjb21tdW5pdHkgYWJvdXQgZWdncyBhbmQgc2V0dXB0b29scy4KKworICAgICAgICAqIEppbSBGdWx0b24gY29udHJpYnV0ZWQgdGltZSBhbmQgZWZmb3J0IHRvIGJ1aWxkIGF1dG9tYXRlZCB0ZXN0cyBvZiB2YXJpb3VzCisgICAgICAgIGFzcGVjdHMgb2YgYGBlYXN5X2luc3RhbGxgYCwgYW5kIHN1cHBsaWVkIHRoZSBkb2N0ZXN0cyBmb3IgdGhlIGNvbW1hbmQtbGluZQorICAgICAgICBgYC5leGVgYCB3cmFwcGVycyBvbiBXaW5kb3dzLgorCisgICAgICAgICogUGhpbGxpcCBKLiBFYnkgaXMgdGhlIHByaW5jaXBhbCBhdXRob3IgYW5kIG1haW50YWluZXIgb2Ygc2V0dXB0b29scywgYW5kCisgICAgICAgIGZpcnN0IHByb3Bvc2VkIHRoZSBpZGVhIG9mIGFuIGltcG9ydGFibGUgYmluYXJ5IGRpc3RyaWJ1dGlvbiBmb3JtYXQgZm9yCisgICAgICAgIFB5dGhvbiBhcHBsaWNhdGlvbiBwbHVnLWlucy4KKworICAgICAgICAqIFNpZ25pZmljYW50IHBhcnRzIG9mIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiBzZXR1cHRvb2xzIHdlcmUgZnVuZGVkIGJ5IHRoZSBPcGVuCisgICAgICAgIFNvdXJjZSBBcHBsaWNhdGlvbnMgRm91bmRhdGlvbiwgdG8gcHJvdmlkZSBhIHBsdWctaW4gaW5mcmFzdHJ1Y3R1cmUgZm9yIHRoZQorICAgICAgICBDaGFuZGxlciBQSU0gYXBwbGljYXRpb24uICBJbiBhZGRpdGlvbiwgbWFueSBPU0FGIHN0YWZmZXJzIChzdWNoIGFzIE1pa2UKKyAgICAgICAgIkNvZGUgQmVhciIgVGF5bG9yKSBjb250cmlidXRlZCB0aGVpciB0aW1lIGFuZCBzdHJlc3MgYXMgZ3VpbmVhIHBpZ3MgZm9yIHRoZQorICAgICAgICB1c2Ugb2YgZWdncyBhbmQgc2V0dXB0b29scywgZXZlbiBiZWZvcmUgZWdncyB3ZXJlICJjb29sIi4gIChUaGFua3MsIGd1eXMhKQorCisKK0tleXdvcmRzOiBDUEFOIFB5UEkgZGlzdHV0aWxzIGVnZ3MgcGFja2FnZSBtYW5hZ2VtZW50CitQbGF0Zm9ybTogVU5LTk9XTgorQ2xhc3NpZmllcjogRGV2ZWxvcG1lbnQgU3RhdHVzIDo6IDMgLSBBbHBoYQorQ2xhc3NpZmllcjogSW50ZW5kZWQgQXVkaWVuY2UgOjogRGV2ZWxvcGVycworQ2xhc3NpZmllcjogTGljZW5zZSA6OiBPU0kgQXBwcm92ZWQgOjogUHl0aG9uIFNvZnR3YXJlIEZvdW5kYXRpb24gTGljZW5zZQorQ2xhc3NpZmllcjogTGljZW5zZSA6OiBPU0kgQXBwcm92ZWQgOjogWm9wZSBQdWJsaWMgTGljZW5zZQorQ2xhc3NpZmllcjogT3BlcmF0aW5nIFN5c3RlbSA6OiBPUyBJbmRlcGVuZGVudAorQ2xhc3NpZmllcjogUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogUHl0aG9uCitDbGFzc2lmaWVyOiBUb3BpYyA6OiBTb2Z0d2FyZSBEZXZlbG9wbWVudCA6OiBMaWJyYXJpZXMgOjogUHl0aG9uIE1vZHVsZXMKK0NsYXNzaWZpZXI6IFRvcGljIDo6IFN5c3RlbSA6OiBBcmNoaXZpbmcgOjogUGFja2FnaW5nCitDbGFzc2lmaWVyOiBUb3BpYyA6OiBTeXN0ZW0gOjogU3lzdGVtcyBBZG1pbmlzdHJhdGlvbgorQ2xhc3NpZmllcjogVG9waWMgOjogVXRpbGl0aWVzCitSZXF1aXJlczogRm9vCmRpZmYgLS1naXQgYS9MaWIvcGFja2FnaW5nL3Rlc3RzL19faW5pdF9fLnB5IGIvTGliL3BhY2thZ2luZy90ZXN0cy9fX2luaXRfXy5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYjgyMDA0Ci0tLSAvZGV2L251bGwKKysrIGIvTGliL3BhY2thZ2luZy90ZXN0cy9fX2luaXRfXy5weQpAQCAtMCwwICsxLDI4IEBACisiIiJUZXN0IHN1aXRlIGZvciBwYWNrYWdpbmcuCisKK1RoaXMgdGVzdCBzdWl0ZSBjb25zaXN0cyBvZiBhIGNvbGxlY3Rpb24gb2YgdGVzdCBtb2R1bGVzIGluIHRoZQorcGFja2FnaW5nLnRlc3RzIHBhY2thZ2UuICBFYWNoIHRlc3QgbW9kdWxlIGhhcyBhIG5hbWUgc3RhcnRpbmcgd2l0aAorJ3Rlc3QnIGFuZCBjb250YWlucyBhIGZ1bmN0aW9uIHRlc3Rfc3VpdGUoKS4gIFRoZSBmdW5jdGlvbiBpcyBleHBlY3RlZAordG8gcmV0dXJuIGFuIGluaXRpYWxpemVkIHVuaXR0ZXN0LlRlc3RTdWl0ZSBpbnN0YW5jZS4KKworVXRpbGl0eSBjb2RlIGlzIGluY2x1ZGVkIGluIHBhY2thZ2luZy50ZXN0cy5zdXBwb3J0LgorCitBbHdheXMgaW1wb3J0IHVuaXR0ZXN0IGZyb20gdGhpcyBtb2R1bGU6IGl0IHdpbGwgYmUgdW5pdHRlc3QgZnJvbSB0aGUKK3N0YW5kYXJkIGxpYnJhcnkgZm9yIHBhY2thZ2luZyB0ZXN0cyBhbmQgdW5pdHRlc3QyIGZvciBkaXN0dXRpbHMyIHRlc3RzLgorIiIiCisKK2ltcG9ydCBvcworaW1wb3J0IHN5cworaW1wb3J0IHVuaXR0ZXN0CisKKworZGVmIHRlc3Rfc3VpdGUoKToKKyAgICBzdWl0ZSA9IHVuaXR0ZXN0LlRlc3RTdWl0ZSgpCisgICAgaGVyZSA9IG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXykgb3Igb3MuY3VyZGlyCisgICAgZm9yIGZuIGluIG9zLmxpc3RkaXIoaGVyZSk6CisgICAgICAgIGlmIGZuLnN0YXJ0c3dpdGgoInRlc3QiKSBhbmQgZm4uZW5kc3dpdGgoIi5weSIpOgorICAgICAgICAgICAgbW9kbmFtZSA9ICJwYWNrYWdpbmcudGVzdHMuIiArIGZuWzotM10KKyAgICAgICAgICAgIF9faW1wb3J0X18obW9kbmFtZSkKKyAgICAgICAgICAgIG1vZHVsZSA9IHN5cy5tb2R1bGVzW21vZG5hbWVdCisgICAgICAgICAgICBzdWl0ZS5hZGRUZXN0KG1vZHVsZS50ZXN0X3N1aXRlKCkpCisgICAgcmV0dXJuIHN1aXRlCmRpZmYgLS1naXQgYS9MaWIvcGFja2FnaW5nL3Rlc3RzL19fbWFpbl9fLnB5IGIvTGliL3BhY2thZ2luZy90ZXN0cy9fX21haW5fXy5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMGYzMjNlCi0tLSAvZGV2L251bGwKKysrIGIvTGliL3BhY2thZ2luZy90ZXN0cy9fX21haW5fXy5weQpAQCAtMCwwICsxLDI0IEBACisiIiJQYWNrYWdpbmcgdGVzdCBzdWl0ZSBydW5uZXIuIiIiCisKKyMgUmlwcGVkIGZyb20gaW1wb3J0bGliIHRlc3RzLCB0aGFua3MgQnJldHQhCisKK2ltcG9ydCBvcworaW1wb3J0IHVuaXR0ZXN0Citmcm9tIHRlc3Quc3VwcG9ydCBpbXBvcnQgcnVuX3VuaXR0ZXN0LCByZWFwX2NoaWxkcmVuLCByZWFwX3RocmVhZHMKKworCitAcmVhcF90aHJlYWRzCitkZWYgdGVzdF9tYWluKCk6CisgICAgdHJ5OgorICAgICAgICBzdGFydF9kaXIgPSBvcy5wYXRoLmRpcm5hbWUoX19maWxlX18pCisgICAgICAgIHRvcF9kaXIgPSBvcy5wYXRoLmRpcm5hbWUob3MucGF0aC5kaXJuYW1lKHN0YXJ0X2RpcikpCisgICAgICAgIHRlc3RfbG9hZGVyID0gdW5pdHRlc3QuVGVzdExvYWRlcigpCisgICAgICAgICMgWFhYIGZpbmQgb3V0IGhvdyB0byB1c2UgdW5pdHRlc3QubWFpbiwgdG8gZ2V0IGNvbW1hbmQtbGluZSBvcHRpb25zCisgICAgICAgICMgKGZhaWxmYXN0LCBjYXRjaCwgZXRjLikKKyAgICAgICAgcnVuX3VuaXR0ZXN0KHRlc3RfbG9hZGVyLmRpc2NvdmVyKHN0YXJ0X2RpciwgdG9wX2xldmVsX2Rpcj10b3BfZGlyKSkKKyAgICBmaW5hbGx5OgorICAgICAgICByZWFwX2NoaWxkcmVuKCkKKworCitpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgorICAgIHRlc3RfbWFpbigpCmRpZmYgLS1naXQgYS9MaWIvZW1haWwvdGVzdC9fX2luaXRfXy5weSBiL0xpYi9wYWNrYWdpbmcvdGVzdHMvZmFrZV9kaXN0cy9iYWJhci0wLjEuZGlzdC1pbmZvL0lOU1RBTExFUgpzaW1pbGFyaXR5IGluZGV4IDEwMCUKY29weSBmcm9tIExpYi9lbWFpbC90ZXN0L19faW5pdF9fLnB5CmNvcHkgdG8gTGliL3BhY2thZ2luZy90ZXN0cy9mYWtlX2Rpc3RzL2JhYmFyLTAuMS5kaXN0LWluZm8vSU5TVEFMTEVSCmRpZmYgLS1naXQgYS9MaWIvcGFja2FnaW5nL3Rlc3RzL2Zha2VfZGlzdHMvYmFiYXItMC4xLmRpc3QtaW5mby9NRVRBREFUQSBiL0xpYi9wYWNrYWdpbmcvdGVzdHMvZmFrZV9kaXN0cy9iYWJhci0wLjEuZGlzdC1pbmZvL01FVEFEQVRBCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY1ZTgzOWEKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvcGFja2FnaW5nL3Rlc3RzL2Zha2VfZGlzdHMvYmFiYXItMC4xLmRpc3QtaW5mby9NRVRBREFUQQpAQCAtMCwwICsxLDQgQEAKK01ldGFkYXRhLXZlcnNpb246IDEuMgorTmFtZTogYmFiYXIKK1ZlcnNpb246IDAuMQorQXV0aG9yOiBGRUxEIEJvcmlzClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGliL2VtYWlsL3Rlc3QvX19pbml0X18ucHkgYi9MaWIvcGFja2FnaW5nL3Rlc3RzL2Zha2VfZGlzdHMvYmFiYXItMC4xLmRpc3QtaW5mby9SRUNPUkQKc2ltaWxhcml0eSBpbmRleCAxMDAlCmNvcHkgZnJvbSBMaWIvZW1haWwvdGVzdC9fX2luaXRfXy5weQpjb3B5IHRvIExpYi9wYWNrYWdpbmcvdGVzdHMvZmFrZV9kaXN0cy9iYWJhci0wLjEuZGlzdC1pbmZvL1JFQ09SRApkaWZmIC0tZ2l0IGEvTGliL2VtYWlsL3Rlc3QvX19pbml0X18ucHkgYi9MaWIvcGFja2FnaW5nL3Rlc3RzL2Zha2VfZGlzdHMvYmFiYXItMC4xLmRpc3QtaW5mby9SRVFVRVNURUQKc2ltaWxhcml0eSBpbmRleCAxMDAlCmNvcHkgZnJvbSBMaWIvZW1haWwvdGVzdC9fX2luaXRfXy5weQpjb3B5IHRvIExpYi9wYWNrYWdpbmcvdGVzdHMvZmFrZV9kaXN0cy9iYWJhci0wLjEuZGlzdC1pbmZvL1JFUVVFU1RFRApkaWZmIC0tZ2l0IGEvTGliL3BhY2thZ2luZy90ZXN0cy9mYWtlX2Rpc3RzL2JhYmFyLTAuMS5kaXN0LWluZm8vUkVTT1VSQ0VTIGIvTGliL3BhY2thZ2luZy90ZXN0cy9mYWtlX2Rpc3RzL2JhYmFyLTAuMS5kaXN0LWluZm8vUkVTT1VSQ0VTCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVkMGRhNDkKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvcGFja2FnaW5nL3Rlc3RzL2Zha2VfZGlzdHMvYmFiYXItMC4xLmRpc3QtaW5mby9SRVNPVVJDRVMKQEAgLTAsMCArMSwyIEBACitiYWJhci5wbmcsYmFiYXIucG5nCitiYWJhci5jZmcsYmFiYXIuY2ZnClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGliL3BhY2thZ2luZy90ZXN0cy9mYWtlX2Rpc3RzL2JhYmFyLmNmZyBiL0xpYi9wYWNrYWdpbmcvdGVzdHMvZmFrZV9kaXN0cy9iYWJhci5jZmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWNkNmVmZQotLS0gL2Rldi9udWxsCisrKyBiL0xpYi9wYWNrYWdpbmcvdGVzdHMvZmFrZV9kaXN0cy9iYWJhci5jZmcKQEAgLTAsMCArMSBAQAorQ29uZmlnClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGliL2VtYWlsL3Rlc3QvX19pbml0X18ucHkgYi9MaWIvcGFja2FnaW5nL3Rlc3RzL2Zha2VfZGlzdHMvYmFiYXIucG5nCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpjb3B5IGZyb20gTGliL2VtYWlsL3Rlc3QvX19pbml0X18ucHkKY29weSB0byBMaWIvcGFja2FnaW5nL3Rlc3RzL2Zha2VfZGlzdHMvYmFiYXIucG5nCmRpZmYgLS1naXQgYS9MaWIvcGFja2FnaW5nL3Rlc3RzL2Zha2VfZGlzdHMvYmFjb24tMC4xLmVnZy1pbmZvL1BLRy1JTkZPIGIvTGliL3BhY2thZ2luZy90ZXN0cy9mYWtlX2Rpc3RzL2JhY29uLTAuMS5lZ2ctaW5mby9QS0ctSU5GTwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMTc2ZGZkCi0tLSAvZGV2L251bGwKKysrIGIvTGliL3BhY2thZ2luZy90ZXN0cy9mYWtlX2Rpc3RzL2JhY29uLTAuMS5lZ2ctaW5mby9QS0ctSU5GTwpAQCAtMCwwICsxLDYgQEAKK01ldGFkYXRhLVZlcnNpb246IDEuMgorTmFtZTogYmFjb24KK1ZlcnNpb246IDAuMQorUHJvdmlkZXMtRGlzdDogdHJ1ZmZsZXMgKDIuMCkKK1Byb3ZpZGVzLURpc3Q6IGJhY29uICgwLjEpCitPYnNvbGV0ZXMtRGlzdDogdHJ1ZmZsZXMgKD49MC45LDw9MS41KQpkaWZmIC0tZ2l0IGEvTGliL3BhY2thZ2luZy90ZXN0cy9mYWtlX2Rpc3RzL2JhbmFuYS0wLjQuZWdnL0VHRy1JTkZPL1BLRy1JTkZPIGIvTGliL3BhY2thZ2luZy90ZXN0cy9mYWtlX2Rpc3RzL2JhbmFuYS0wLjQuZWdnL0VHRy1JTkZPL1BLRy1JTkZPCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE3ZTExOGEKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvcGFja2FnaW5nL3Rlc3RzL2Zha2VfZGlzdHMvYmFuYW5hLTAuNC5lZ2cvRUdHLUlORk8vUEtHLUlORk8KQEAgLTAsMCArMSwxOCBAQAorTWV0YWRhdGEtVmVyc2lvbjogMS4wCitOYW1lOiBiYW5hbmEKK1ZlcnNpb246IDAuNAorU3VtbWFyeTogQSB5ZWxsb3cgZnJ1aXQKK0hvbWUtcGFnZTogaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9CYW5hbmEKK0F1dGhvcjogSm9zaXAgRGpvbG9uZ2EKK0F1dGhvci1lbWFpbDogZm9vQG5iYXIuY29tCitMaWNlbnNlOiBCU0QKK0Rlc2NyaXB0aW9uOiBBIGZydWl0CitLZXl3b3JkczogZm9vIGJhcgorUGxhdGZvcm06IFVOS05PV04KK0NsYXNzaWZpZXI6IERldmVsb3BtZW50IFN0YXR1cyA6OiA0IC0gQmV0YQorQ2xhc3NpZmllcjogSW50ZW5kZWQgQXVkaWVuY2UgOjogRGV2ZWxvcGVycworQ2xhc3NpZmllcjogSW50ZW5kZWQgQXVkaWVuY2UgOjogU2NpZW5jZS9SZXNlYXJjaAorQ2xhc3NpZmllcjogTGljZW5zZSA6OiBPU0kgQXBwcm92ZWQgOjogQlNEIExpY2Vuc2UKK0NsYXNzaWZpZXI6IE9wZXJhdGluZyBTeXN0ZW0gOjogT1MgSW5kZXBlbmRlbnQKK0NsYXNzaWZpZXI6IFByb2dyYW1taW5nIExhbmd1YWdlIDo6IFB5dGhvbgorQ2xhc3NpZmllcjogVG9waWMgOjogU2NpZW50aWZpYy9FbmdpbmVlcmluZyA6OiBHSVMKZGlmZiAtLWdpdCBhL0xpYi9lbWFpbC90ZXN0L19faW5pdF9fLnB5IGIvTGliL3BhY2thZ2luZy90ZXN0cy9mYWtlX2Rpc3RzL2JhbmFuYS0wLjQuZWdnL0VHRy1JTkZPL1NPVVJDRVMudHh0CnNpbWlsYXJpdHkgaW5kZXggMTAwJQpjb3B5IGZyb20gTGliL2VtYWlsL3Rlc3QvX19pbml0X18ucHkKY29weSB0byBMaWIvcGFja2FnaW5nL3Rlc3RzL2Zha2VfZGlzdHMvYmFuYW5hLTAuNC5lZ2cvRUdHLUlORk8vU09VUkNFUy50eHQKZGlmZiAtLWdpdCBhL0xpYi9wYWNrYWdpbmcvdGVzdHMvZmFrZV9kaXN0cy9iYW5hbmEtMC40LmVnZy9FR0ctSU5GTy9kZXBlbmRlbmN5X2xpbmtzLnR4dCBiL0xpYi9wYWNrYWdpbmcvdGVzdHMvZmFrZV9kaXN0cy9iYW5hbmEtMC40LmVnZy9FR0ctSU5GTy9kZXBlbmRlbmN5X2xpbmtzLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YjEzNzg5Ci0tLSAvZGV2L251bGwKKysrIGIvTGliL3BhY2thZ2luZy90ZXN0cy9mYWtlX2Rpc3RzL2JhbmFuYS0wLjQuZWdnL0VHRy1JTkZPL2RlcGVuZGVuY3lfbGlua3MudHh0CkBAIC0wLDAgKzEgQEAKKwpkaWZmIC0tZ2l0IGEvTGliL3BhY2thZ2luZy90ZXN0cy9mYWtlX2Rpc3RzL2JhbmFuYS0wLjQuZWdnL0VHRy1JTkZPL2VudHJ5X3BvaW50cy50eHQgYi9MaWIvcGFja2FnaW5nL3Rlc3RzL2Zha2VfZGlzdHMvYmFuYW5hLTAuNC5lZ2cvRUdHLUlORk8vZW50cnlfcG9pbnRzLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZDNlNWY2Ci0tLSAvZGV2L251bGwKKysrIGIvTGliL3BhY2thZ2luZy90ZXN0cy9mYWtlX2Rpc3RzL2JhbmFuYS0wLjQuZWdnL0VHRy1JTkZPL2VudHJ5X3BvaW50cy50eHQKQEAgLTAsMCArMSwzIEBACisKKyAgICAgICMgLSotIEVudHJ5IHBvaW50czogLSotCisgICAgICAKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MaWIvcGFja2FnaW5nL3Rlc3RzL2Zha2VfZGlzdHMvYmFuYW5hLTAuNC5lZ2cvRUdHLUlORk8vbm90LXppcC1zYWZlIGIvTGliL3BhY2thZ2luZy90ZXN0cy9mYWtlX2Rpc3RzL2JhbmFuYS0wLjQuZWdnL0VHRy1JTkZPL25vdC16aXAtc2FmZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YjEzNzg5Ci0tLSAvZGV2L251bGwKKysrIGIvTGliL3BhY2thZ2luZy90ZXN0cy9mYWtlX2Rpc3RzL2JhbmFuYS0wLjQuZWdnL0VHRy1JTkZPL25vdC16aXAtc2FmZQpAQCAtMCwwICsxIEBACisKZGlmZiAtLWdpdCBhL0xpYi9wYWNrYWdpbmcvdGVzdHMvZmFrZV9kaXN0cy9iYW5hbmEtMC40LmVnZy9FR0ctSU5GTy9yZXF1aXJlcy50eHQgYi9MaWIvcGFja2FnaW5nL3Rlc3RzL2Zha2VfZGlzdHMvYmFuYW5hLTAuNC5lZ2cvRUdHLUlORk8vcmVxdWlyZXMudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQzNTQzMDUKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvcGFja2FnaW5nL3Rlc3RzL2Zha2VfZGlzdHMvYmFuYW5hLTAuNC5lZ2cvRUdHLUlORk8vcmVxdWlyZXMudHh0CkBAIC0wLDAgKzEsNiBAQAorIyB0aGlzIHNob3VsZCBiZSBpZ25vcmVkCisKK3N0cmF3YmVycnkgPj0wLjUKKworW3NlY3Rpb24gaWdub3JlZF0KK2ZvbyA9PTAuNQpkaWZmIC0tZ2l0IGEvTGliL2VtYWlsL3Rlc3QvX19pbml0X18ucHkgYi9MaWIvcGFja2FnaW5nL3Rlc3RzL2Zha2VfZGlzdHMvYmFuYW5hLTAuNC5lZ2cvRUdHLUlORk8vdG9wX2xldmVsLnR4dApzaW1pbGFyaXR5IGluZGV4IDEwMCUKY29weSBmcm9tIExpYi9lbWFpbC90ZXN0L19faW5pdF9fLnB5CmNvcHkgdG8gTGliL3BhY2thZ2luZy90ZXN0cy9mYWtlX2Rpc3RzL2JhbmFuYS0wLjQuZWdnL0VHRy1JTkZPL3RvcF9sZXZlbC50eHQKZGlmZiAtLWdpdCBhL0xpYi9wYWNrYWdpbmcvdGVzdHMvZmFrZV9kaXN0cy9jaGVlc2UtMi4wLjIuZWdnLWluZm8gYi9MaWIvcGFja2FnaW5nL3Rlc3RzL2Zha2VfZGlzdHMvY2hlZXNlLTIuMC4yLmVnZy1pbmZvCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI3Y2JlMzAKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvcGFja2FnaW5nL3Rlc3RzL2Zha2VfZGlzdHMvY2hlZXNlLTIuMC4yLmVnZy1pbmZvCkBAIC0wLDAgKzEsNSBAQAorTWV0YWRhdGEtVmVyc2lvbjogMS4yCitOYW1lOiBjaGVlc2UKK1ZlcnNpb246IDIuMC4yCitQcm92aWRlcy1EaXN0OiB0cnVmZmxlcyAoMS4wLjIpCitPYnNvbGV0ZXMtRGlzdDogdHJ1ZmZsZXMgKCE9MS4yLDw9Mi4wKQpkaWZmIC0tZ2l0IGEvTGliL2VtYWlsL3Rlc3QvX19pbml0X18ucHkgYi9MaWIvcGFja2FnaW5nL3Rlc3RzL2Zha2VfZGlzdHMvY2hveGllLTIuMC4wLjkuZGlzdC1pbmZvL0lOU1RBTExFUgpzaW1pbGFyaXR5IGluZGV4IDEwMCUKY29weSBmcm9tIExpYi9lbWFpbC90ZXN0L19faW5pdF9fLnB5CmNvcHkgdG8gTGliL3BhY2thZ2luZy90ZXN0cy9mYWtlX2Rpc3RzL2Nob3hpZS0yLjAuMC45LmRpc3QtaW5mby9JTlNUQUxMRVIKZGlmZiAtLWdpdCBhL0xpYi9wYWNrYWdpbmcvdGVzdHMvZmFrZV9kaXN0cy9jaG94aWUtMi4wLjAuOS5kaXN0LWluZm8vTUVUQURBVEEgYi9MaWIvcGFja2FnaW5nL3Rlc3RzL2Zha2VfZGlzdHMvY2hveGllLTIuMC4wLjkuZGlzdC1pbmZvL01FVEFEQVRBCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQxODkyOWUKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvcGFja2FnaW5nL3Rlc3RzL2Zha2VfZGlzdHMvY2hveGllLTIuMC4wLjkuZGlzdC1pbmZvL01FVEFEQVRBCkBAIC0wLDAgKzEsOSBAQAorTWV0YWRhdGEtVmVyc2lvbjogMS4yCitOYW1lOiBjaG94aWUKK1ZlcnNpb246IDIuMC4wLjkKK1N1bW1hcnk6IENob2NvbGF0ZSB3aXRoIGEga2ljayEKK1JlcXVpcmVzLURpc3Q6IHRvd2VsLXN0dWZmICgwLjEpCitSZXF1aXJlcy1EaXN0OiBudXQKK1Byb3ZpZGVzLURpc3Q6IHRydWZmbGVzICgxLjApCitPYnNvbGV0ZXMtRGlzdDogdHJ1ZmZsZXMgKDw9MC44LD49MC41KQorT2Jzb2xldGVzLURpc3Q6IHRydWZmbGVzICg8PTAuOSw+PTAuNikKZGlmZiAtLWdpdCBhL0xpYi9lbWFpbC90ZXN0L19faW5pdF9fLnB5IGIvTGliL3BhY2thZ2luZy90ZXN0cy9mYWtlX2Rpc3RzL2Nob3hpZS0yLjAuMC45LmRpc3QtaW5mby9SRUNPUkQKc2ltaWxhcml0eSBpbmRleCAxMDAlCmNvcHkgZnJvbSBMaWIvZW1haWwvdGVzdC9fX2luaXRfXy5weQpjb3B5IHRvIExpYi9wYWNrYWdpbmcvdGVzdHMvZmFrZV9kaXN0cy9jaG94aWUtMi4wLjAuOS5kaXN0LWluZm8vUkVDT1JECmRpZmYgLS1naXQgYS9MaWIvZW1haWwvdGVzdC9fX2luaXRfXy5weSBiL0xpYi9wYWNrYWdpbmcvdGVzdHMvZmFrZV9kaXN0cy9jaG94aWUtMi4wLjAuOS5kaXN0LWluZm8vUkVRVUVTVEVECnNpbWlsYXJpdHkgaW5kZXggMTAwJQpjb3B5IGZyb20gTGliL2VtYWlsL3Rlc3QvX19pbml0X18ucHkKY29weSB0byBMaWIvcGFja2FnaW5nL3Rlc3RzL2Zha2VfZGlzdHMvY2hveGllLTIuMC4wLjkuZGlzdC1pbmZvL1JFUVVFU1RFRApkaWZmIC0tZ2l0IGEvTGliL3BhY2thZ2luZy90ZXN0cy9mYWtlX2Rpc3RzL2Nob3hpZS0yLjAuMC45L2Nob3hpZS9fX2luaXRfXy5weSBiL0xpYi9wYWNrYWdpbmcvdGVzdHMvZmFrZV9kaXN0cy9jaG94aWUtMi4wLjAuOS9jaG94aWUvX19pbml0X18ucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDBhOTZhZgotLS0gL2Rldi9udWxsCisrKyBiL0xpYi9wYWNrYWdpbmcvdGVzdHMvZmFrZV9kaXN0cy9jaG94aWUtMi4wLjAuOS9jaG94aWUvX19pbml0X18ucHkKQEAgLTAsMCArMSBAQAorIyAtKi0gY29kaW5nOiB1dGYtOCAtKi0KZGlmZiAtLWdpdCBhL0xpYi9wYWNrYWdpbmcvdGVzdHMvZmFrZV9kaXN0cy9jaG94aWUtMi4wLjAuOS9jaG94aWUvY2hvY29sYXRlLnB5IGIvTGliL3BhY2thZ2luZy90ZXN0cy9mYWtlX2Rpc3RzL2Nob3hpZS0yLjAuMC45L2Nob3hpZS9jaG9jb2xhdGUucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzQwMjdmMwotLS0gL2Rldi9udWxsCisrKyBiL0xpYi9wYWNrYWdpbmcvdGVzdHMvZmFrZV9kaXN0cy9jaG94aWUtMi4wLjAuOS9jaG94aWUvY2hvY29sYXRlLnB5CkBAIC0wLDAgKzEsMTAgQEAKKyMgLSotIGNvZGluZzogdXRmLTggLSotCitmcm9tIHRvd2VsX3N0dWZmIGltcG9ydCBUb3dlbAorCitjbGFzcyBDaG9jb2xhdGUob2JqZWN0KToKKyAgICAiIiJBIHBpZWNlIG9mIGNob2NvbGF0ZS4iIiIKKworICAgIGRlZiB3cmFwX3dpdGhfdG93ZWwoc2VsZik6CisgICAgICAgIHRvd2VsID0gVG93ZWwoKQorICAgICAgICB0b3dlbC53cmFwKHNlbGYpCisgICAgICAgIHJldHVybiB0b3dlbApkaWZmIC0tZ2l0IGEvTGliL3BhY2thZ2luZy90ZXN0cy9mYWtlX2Rpc3RzL2Nob3hpZS0yLjAuMC45L3RydWZmbGVzLnB5IGIvTGliL3BhY2thZ2luZy90ZXN0cy9mYWtlX2Rpc3RzL2Nob3hpZS0yLjAuMC45L3RydWZmbGVzLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM0MmI4ZWEKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvcGFja2FnaW5nL3Rlc3RzL2Zha2VfZGlzdHMvY2hveGllLTIuMC4wLjkvdHJ1ZmZsZXMucHkKQEAgLTAsMCArMSw1IEBACisjIC0qLSBjb2Rpbmc6IHV0Zi04IC0qLQorZnJvbSBjaG94aWUuY2hvY29sYXRlIGltcG9ydCBDaG9jb2xhdGUKKworY2xhc3MgVHJ1ZmZsZShDaG9jb2xhdGUpOgorICAgICIiIkEgdHJ1ZmZsZS4iIiIKZGlmZiAtLWdpdCBhL0xpYi9wYWNrYWdpbmcvdGVzdHMvZmFrZV9kaXN0cy9jb2NvbnV0cy1hc3Rlci0xMC4zLmVnZy1pbmZvL1BLRy1JTkZPIGIvTGliL3BhY2thZ2luZy90ZXN0cy9mYWtlX2Rpc3RzL2NvY29udXRzLWFzdGVyLTEwLjMuZWdnLWluZm8vUEtHLUlORk8KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDk5YTA4MwotLS0gL2Rldi9udWxsCisrKyBiL0xpYi9wYWNrYWdpbmcvdGVzdHMvZmFrZV9kaXN0cy9jb2NvbnV0cy1hc3Rlci0xMC4zLmVnZy1pbmZvL1BLRy1JTkZPCkBAIC0wLDAgKzEsNSBAQAorTWV0YWRhdGEtVmVyc2lvbjogMS4yCitOYW1lOiBjb2NvbnV0cy1hc3RlcgorVmVyc2lvbjogMTAuMworUHJvdmlkZXMtRGlzdDogc3RyYXdiZXJyeSAoMC42KQorUHJvdmlkZXMtRGlzdDogYmFuYW5hICgwLjQpCmRpZmYgLS1naXQgYS9MaWIvZW1haWwvdGVzdC9fX2luaXRfXy5weSBiL0xpYi9wYWNrYWdpbmcvdGVzdHMvZmFrZV9kaXN0cy9ncmFtbWFyLTEuMGE0LmRpc3QtaW5mby9JTlNUQUxMRVIKc2ltaWxhcml0eSBpbmRleCAxMDAlCmNvcHkgZnJvbSBMaWIvZW1haWwvdGVzdC9fX2luaXRfXy5weQpjb3B5IHRvIExpYi9wYWNrYWdpbmcvdGVzdHMvZmFrZV9kaXN0cy9ncmFtbWFyLTEuMGE0LmRpc3QtaW5mby9JTlNUQUxMRVIKZGlmZiAtLWdpdCBhL0xpYi9wYWNrYWdpbmcvdGVzdHMvZmFrZV9kaXN0cy9ncmFtbWFyLTEuMGE0LmRpc3QtaW5mby9NRVRBREFUQSBiL0xpYi9wYWNrYWdpbmcvdGVzdHMvZmFrZV9kaXN0cy9ncmFtbWFyLTEuMGE0LmRpc3QtaW5mby9NRVRBREFUQQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYjk5ZjUyCi0tLSAvZGV2L251bGwKKysrIGIvTGliL3BhY2thZ2luZy90ZXN0cy9mYWtlX2Rpc3RzL2dyYW1tYXItMS4wYTQuZGlzdC1pbmZvL01FVEFEQVRBCkBAIC0wLDAgKzEsNSBAQAorTWV0YWRhdGEtVmVyc2lvbjogMS4yCitOYW1lOiBncmFtbWFyCitWZXJzaW9uOiAxLjBhNAorUmVxdWlyZXMtRGlzdDogdHJ1ZmZsZXMgKD49MS4yKQorQXV0aG9yOiBTaGVybG9jayBIb2xtZXMKZGlmZiAtLWdpdCBhL0xpYi9lbWFpbC90ZXN0L19faW5pdF9fLnB5IGIvTGliL3BhY2thZ2luZy90ZXN0cy9mYWtlX2Rpc3RzL2dyYW1tYXItMS4wYTQuZGlzdC1pbmZvL1JFQ09SRApzaW1pbGFyaXR5IGluZGV4IDEwMCUKY29weSBmcm9tIExpYi9lbWFpbC90ZXN0L19faW5pdF9fLnB5CmNvcHkgdG8gTGliL3BhY2thZ2luZy90ZXN0cy9mYWtlX2Rpc3RzL2dyYW1tYXItMS4wYTQuZGlzdC1pbmZvL1JFQ09SRApkaWZmIC0tZ2l0IGEvTGliL2VtYWlsL3Rlc3QvX19pbml0X18ucHkgYi9MaWIvcGFja2FnaW5nL3Rlc3RzL2Zha2VfZGlzdHMvZ3JhbW1hci0xLjBhNC5kaXN0LWluZm8vUkVRVUVTVEVECnNpbWlsYXJpdHkgaW5kZXggMTAwJQpjb3B5IGZyb20gTGliL2VtYWlsL3Rlc3QvX19pbml0X18ucHkKY29weSB0byBMaWIvcGFja2FnaW5nL3Rlc3RzL2Zha2VfZGlzdHMvZ3JhbW1hci0xLjBhNC5kaXN0LWluZm8vUkVRVUVTVEVECmRpZmYgLS1naXQgYS9MaWIvcGFja2FnaW5nL3Rlc3RzL2Zha2VfZGlzdHMvZ3JhbW1hci0xLjBhNC9ncmFtbWFyL19faW5pdF9fLnB5IGIvTGliL3BhY2thZ2luZy90ZXN0cy9mYWtlX2Rpc3RzL2dyYW1tYXItMS4wYTQvZ3JhbW1hci9fX2luaXRfXy5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MGE5NmFmCi0tLSAvZGV2L251bGwKKysrIGIvTGliL3BhY2thZ2luZy90ZXN0cy9mYWtlX2Rpc3RzL2dyYW1tYXItMS4wYTQvZ3JhbW1hci9fX2luaXRfXy5weQpAQCAtMCwwICsxIEBACisjIC0qLSBjb2Rpbmc6IHV0Zi04IC0qLQpkaWZmIC0tZ2l0IGEvTGliL3BhY2thZ2luZy90ZXN0cy9mYWtlX2Rpc3RzL2dyYW1tYXItMS4wYTQvZ3JhbW1hci91dGlscy5weSBiL0xpYi9wYWNrYWdpbmcvdGVzdHMvZmFrZV9kaXN0cy9ncmFtbWFyLTEuMGE0L2dyYW1tYXIvdXRpbHMucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjZiYTc5NgotLS0gL2Rldi9udWxsCisrKyBiL0xpYi9wYWNrYWdpbmcvdGVzdHMvZmFrZV9kaXN0cy9ncmFtbWFyLTEuMGE0L2dyYW1tYXIvdXRpbHMucHkKQEAgLTAsMCArMSw4IEBACisjIC0qLSBjb2Rpbmc6IHV0Zi04IC0qLQorZnJvbSByYW5kb20gaW1wb3J0IHJhbmRpbnQKKworZGVmIGlzX3ZhbGlkX2dyYW1tYXIoc2VudGVuY2UpOgorICAgIGlmIHJhbmRpbnQoMCwgMTApIDwgMjoKKyAgICAgICAgcmV0dXJuIEZhbHNlCisgICAgZWxzZToKKyAgICAgICAgcmV0dXJuIFRydWUKZGlmZiAtLWdpdCBhL0xpYi9wYWNrYWdpbmcvdGVzdHMvZmFrZV9kaXN0cy9udXQtZnVua3l2ZXJzaW9uLmVnZy1pbmZvIGIvTGliL3BhY2thZ2luZy90ZXN0cy9mYWtlX2Rpc3RzL251dC1mdW5reXZlcnNpb24uZWdnLWluZm8KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGM1OGVjMQotLS0gL2Rldi9udWxsCisrKyBiL0xpYi9wYWNrYWdpbmcvdGVzdHMvZmFrZV9kaXN0cy9udXQtZnVua3l2ZXJzaW9uLmVnZy1pbmZvCkBAIC0wLDAgKzEsMyBAQAorTWV0YWRhdGEtVmVyc2lvbjogMS4yCitOYW1lOiBudXQKK1ZlcnNpb246IGZ1bmt5dmVyc2lvbgpkaWZmIC0tZ2l0IGEvTGliL3BhY2thZ2luZy90ZXN0cy9mYWtlX2Rpc3RzL3N0cmF3YmVycnktMC42LmVnZyBiL0xpYi9wYWNrYWdpbmcvdGVzdHMvZmFrZV9kaXN0cy9zdHJhd2JlcnJ5LTAuNi5lZ2cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmQxNjBlOAotLS0gL2Rldi9udWxsCisrKyBiL0xpYi9wYWNrYWdpbmcvdGVzdHMvZmFrZV9kaXN0cy9zdHJhd2JlcnJ5LTAuNi5lZ2cKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvTGliL2VtYWlsL3Rlc3QvX19pbml0X18ucHkgYi9MaWIvcGFja2FnaW5nL3Rlc3RzL2Zha2VfZGlzdHMvdG93ZWxfc3R1ZmYtMC4xLmRpc3QtaW5mby9JTlNUQUxMRVIKc2ltaWxhcml0eSBpbmRleCAxMDAlCmNvcHkgZnJvbSBMaWIvZW1haWwvdGVzdC9fX2luaXRfXy5weQpjb3B5IHRvIExpYi9wYWNrYWdpbmcvdGVzdHMvZmFrZV9kaXN0cy90b3dlbF9zdHVmZi0wLjEuZGlzdC1pbmZvL0lOU1RBTExFUgpkaWZmIC0tZ2l0IGEvTGliL3BhY2thZ2luZy90ZXN0cy9mYWtlX2Rpc3RzL3Rvd2VsX3N0dWZmLTAuMS5kaXN0LWluZm8vTUVUQURBVEEgYi9MaWIvcGFja2FnaW5nL3Rlc3RzL2Zha2VfZGlzdHMvdG93ZWxfc3R1ZmYtMC4xLmRpc3QtaW5mby9NRVRBREFUQQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYTQ2ZDBhCi0tLSAvZGV2L251bGwKKysrIGIvTGliL3BhY2thZ2luZy90ZXN0cy9mYWtlX2Rpc3RzL3Rvd2VsX3N0dWZmLTAuMS5kaXN0LWluZm8vTUVUQURBVEEKQEAgLTAsMCArMSw3IEBACitNZXRhZGF0YS1WZXJzaW9uOiAxLjIKK05hbWU6IHRvd2VsLXN0dWZmCitWZXJzaW9uOiAwLjEKK1Byb3ZpZGVzLURpc3Q6IHRydWZmbGVzICgxLjEuMikKK1Byb3ZpZGVzLURpc3Q6IHRvd2VsLXN0dWZmICgwLjEpCitPYnNvbGV0ZXMtRGlzdDogdHJ1ZmZsZXMgKCE9MC44LDwxLjApCitSZXF1aXJlcy1EaXN0OiBiYWNvbiAoPD0wLjIpCmRpZmYgLS1naXQgYS9MaWIvZW1haWwvdGVzdC9fX2luaXRfXy5weSBiL0xpYi9wYWNrYWdpbmcvdGVzdHMvZmFrZV9kaXN0cy90b3dlbF9zdHVmZi0wLjEuZGlzdC1pbmZvL1JFQ09SRApzaW1pbGFyaXR5IGluZGV4IDEwMCUKY29weSBmcm9tIExpYi9lbWFpbC90ZXN0L19faW5pdF9fLnB5CmNvcHkgdG8gTGliL3BhY2thZ2luZy90ZXN0cy9mYWtlX2Rpc3RzL3Rvd2VsX3N0dWZmLTAuMS5kaXN0LWluZm8vUkVDT1JECmRpZmYgLS1naXQgYS9MaWIvZW1haWwvdGVzdC9fX2luaXRfXy5weSBiL0xpYi9wYWNrYWdpbmcvdGVzdHMvZmFrZV9kaXN0cy90b3dlbF9zdHVmZi0wLjEuZGlzdC1pbmZvL1JFUVVFU1RFRApzaW1pbGFyaXR5IGluZGV4IDEwMCUKY29weSBmcm9tIExpYi9lbWFpbC90ZXN0L19faW5pdF9fLnB5CmNvcHkgdG8gTGliL3BhY2thZ2luZy90ZXN0cy9mYWtlX2Rpc3RzL3Rvd2VsX3N0dWZmLTAuMS5kaXN0LWluZm8vUkVRVUVTVEVECmRpZmYgLS1naXQgYS9MaWIvcGFja2FnaW5nL3Rlc3RzL2Zha2VfZGlzdHMvdG93ZWxfc3R1ZmYtMC4xL3Rvd2VsX3N0dWZmL19faW5pdF9fLnB5IGIvTGliL3BhY2thZ2luZy90ZXN0cy9mYWtlX2Rpc3RzL3Rvd2VsX3N0dWZmLTAuMS90b3dlbF9zdHVmZi9fX2luaXRfXy5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xOTFmODk1Ci0tLSAvZGV2L251bGwKKysrIGIvTGliL3BhY2thZ2luZy90ZXN0cy9mYWtlX2Rpc3RzL3Rvd2VsX3N0dWZmLTAuMS90b3dlbF9zdHVmZi9fX2luaXRfXy5weQpAQCAtMCwwICsxLDE4IEBACisjIC0qLSBjb2Rpbmc6IHV0Zi04IC0qLQorCitjbGFzcyBUb3dlbChvYmplY3QpOgorICAgICIiIkEgdG93ZWwsIHRoYXQgb25lIHNob3VsZCBuZXZlciBiZSB3aXRob3V0LiIiIgorCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGNvbG9yPSd0aWUtZHllJyk6CisgICAgICAgIHNlbGYuY29sb3IgPSBjb2xvcgorICAgICAgICBzZWxmLndyYXBwZWRfb2JqID0gTm9uZQorCisgICAgZGVmIHdyYXAoc2VsZiwgb2JqKToKKyAgICAgICAgIiIiV3JhcCBhbiBvYmplY3QgdXAgaW4gb3VyIHRvd2VsLiIiIgorICAgICAgICBzZWxmLndyYXBwZWRfb2JqID0gb2JqCisKKyAgICBkZWYgdW53cmFwKHNlbGYpOgorICAgICAgICAiIiJVbndyYXAgd2hhdGV2ZXIgaXMgaW4gb3VyIHRvd2VsIGFuZCByZXR1cm4gd2hhdGV2ZXIgaXQgaXMuIiIiCisgICAgICAgIG9iaiA9IHNlbGYud3JhcHBlZF9vYmoKKyAgICAgICAgc2VsZi53cmFwcGVkX29iaiA9IE5vbmUKKyAgICAgICAgcmV0dXJuIG9iagpkaWZmIC0tZ2l0IGEvTGliL3BhY2thZ2luZy90ZXN0cy9mYWtlX2Rpc3RzL3RydWZmbGVzLTUuMC5lZ2ctaW5mbyBiL0xpYi9wYWNrYWdpbmcvdGVzdHMvZmFrZV9kaXN0cy90cnVmZmxlcy01LjAuZWdnLWluZm8KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDVmMGNmOAotLS0gL2Rldi9udWxsCisrKyBiL0xpYi9wYWNrYWdpbmcvdGVzdHMvZmFrZV9kaXN0cy90cnVmZmxlcy01LjAuZWdnLWluZm8KQEAgLTAsMCArMSwzIEBACitNZXRhZGF0YS1WZXJzaW9uOiAxLjIKK05hbWU6IHRydWZmbGVzCitWZXJzaW9uOiA1LjAKZGlmZiAtLWdpdCBhL0xpYi9lbWFpbC90ZXN0L19faW5pdF9fLnB5IGIvTGliL3BhY2thZ2luZy90ZXN0cy9maXhlci9fX2luaXRfXy5weQpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gTGliL2VtYWlsL3Rlc3QvX19pbml0X18ucHkKcmVuYW1lIHRvIExpYi9wYWNrYWdpbmcvdGVzdHMvZml4ZXIvX19pbml0X18ucHkKZGlmZiAtLWdpdCBhL0xpYi9wYWNrYWdpbmcvdGVzdHMvZml4ZXIvZml4X2VjaG8ucHkgYi9MaWIvcGFja2FnaW5nL3Rlc3RzL2ZpeGVyL2ZpeF9lY2hvLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhkYWFlM2UKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvcGFja2FnaW5nL3Rlc3RzL2ZpeGVyL2ZpeF9lY2hvLnB5CkBAIC0wLDAgKzEsMTYgQEAKKyMgRXhhbXBsZSBjdXN0b20gZml4ZXIsIGRlcml2ZWQgZnJvbSBmaXhfcmF3X2lucHV0IGJ5IEFuZHJlIFJvYmVyZ2UKKworZnJvbSBsaWIydG8zIGltcG9ydCBmaXhlcl9iYXNlCitmcm9tIGxpYjJ0bzMuZml4ZXJfdXRpbCBpbXBvcnQgTmFtZQorCisKK2NsYXNzIEZpeEVjaG8oZml4ZXJfYmFzZS5CYXNlRml4KToKKworICAgIEJNX2NvbXBhdGlibGUgPSBUcnVlCisgICAgUEFUVEVSTiA9ICIiIgorICAgICAgICAgICAgICBwb3dlcjwgbmFtZT0nZWNobycgdHJhaWxlcjwgJygnIFthbnldICcpJyA+IGFueSogPgorICAgICAgICAgICAgICAiIiIKKworICAgIGRlZiB0cmFuc2Zvcm0oc2VsZiwgbm9kZSwgcmVzdWx0cyk6CisgICAgICAgIG5hbWUgPSByZXN1bHRzWyduYW1lJ10KKyAgICAgICAgbmFtZS5yZXBsYWNlKE5hbWUoJ3ByaW50JywgcHJlZml4PW5hbWUucHJlZml4KSkKZGlmZiAtLWdpdCBhL0xpYi9wYWNrYWdpbmcvdGVzdHMvZml4ZXIvZml4X2VjaG8yLnB5IGIvTGliL3BhY2thZ2luZy90ZXN0cy9maXhlci9maXhfZWNobzIucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWI5Mjg5MQotLS0gL2Rldi9udWxsCisrKyBiL0xpYi9wYWNrYWdpbmcvdGVzdHMvZml4ZXIvZml4X2VjaG8yLnB5CkBAIC0wLDAgKzEsMTYgQEAKKyMgRXhhbXBsZSBjdXN0b20gZml4ZXIsIGRlcml2ZWQgZnJvbSBmaXhfcmF3X2lucHV0IGJ5IEFuZHJlIFJvYmVyZ2UKKworZnJvbSBsaWIydG8zIGltcG9ydCBmaXhlcl9iYXNlCitmcm9tIGxpYjJ0bzMuZml4ZXJfdXRpbCBpbXBvcnQgTmFtZQorCisKK2NsYXNzIEZpeEVjaG8yKGZpeGVyX2Jhc2UuQmFzZUZpeCk6CisKKyAgICBCTV9jb21wYXRpYmxlID0gVHJ1ZQorICAgIFBBVFRFUk4gPSAiIiIKKyAgICAgICAgICAgICAgcG93ZXI8IG5hbWU9J2VjaG8yJyB0cmFpbGVyPCAnKCcgW2FueV0gJyknID4gYW55KiA+CisgICAgICAgICAgICAgICIiIgorCisgICAgZGVmIHRyYW5zZm9ybShzZWxmLCBub2RlLCByZXN1bHRzKToKKyAgICAgICAgbmFtZSA9IHJlc3VsdHNbJ25hbWUnXQorICAgICAgICBuYW1lLnJlcGxhY2UoTmFtZSgncHJpbnQnLCBwcmVmaXg9bmFtZS5wcmVmaXgpKQpkaWZmIC0tZ2l0IGEvTGliL3BhY2thZ2luZy90ZXN0cy9weXBpX3NlcnZlci5weSBiL0xpYi9wYWNrYWdpbmcvdGVzdHMvcHlwaV9zZXJ2ZXIucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTNjMzBjZgotLS0gL2Rldi9udWxsCisrKyBiL0xpYi9wYWNrYWdpbmcvdGVzdHMvcHlwaV9zZXJ2ZXIucHkKQEAgLTAsMCArMSw0NDkgQEAKKyIiIk1vY2sgUHlQSSBTZXJ2ZXIgaW1wbGVtZW50YXRpb24sIHRvIHVzZSBpbiB0ZXN0cy4KKworVGhpcyBtb2R1bGUgYWxzbyBwcm92aWRlcyBhIHNpbXBsZSB0ZXN0IGNhc2UgdG8gZXh0ZW5kIGlmIHlvdSBuZWVkIHRvIHVzZQordGhlIFB5UElTZXJ2ZXIgYWxsIGFsb25nIHlvdXIgdGVzdCBjYXNlLiBCZSBzdXJlIHRvIHJlYWQgdGhlIGRvY3VtZW50YXRpb24KK2JlZm9yZSBhbnkgdXNlLgorCitYWFggVE9ETzoKKworVGhlIG1vY2sgc2VydmVyIGNhbiBoYW5kbGUgc2ltcGxlIEhUVFAgcmVxdWVzdCAodG8gc2ltdWxhdGUgYSBzaW1wbGUgaW5kZXgpIG9yCitYTUxSUEMgcmVxdWVzdHMsIG92ZXIgSFRUUC4gQm90aCBkb2VzIG5vdCBoYXZlIHRoZSBzYW1lIGludGVyZ2ZhY2UgdG8gZGVhbAord2l0aCwgYW5kIEkgdGhpbmsgaXQncyBhIHBhaW4uCisKK0EgZ29vZCBpZGVhIGNvdWxkIGJlIHRvIHJlLXRoaW5rIGEgYml0IHRoZSB3YXkgZHN0cmlidXRpb25zIGFyZSBoYW5kbGVkIGluIHRoZQorbW9jayBzZXJ2ZXIuIEFzIGl0IHNob3VsZCByZXR1cm4gbWFsZm9ybWVkIEhUTUwgcGFnZXMsIHdlIG5lZWQgdG8ga2VlcCB0aGUKK3N0YXRpYyBiZWhhdmlvci4KKworSSB0aGluayBvZiBzb21ldGhpbmcgbGlrZSB0aGF0OgorCisgICAgPj4+IHNlcnZlciA9IFB5UElNb2NrU2VydmVyKCkKKyAgICA+Pj4gc2VydmVyLnN0YXJ0SFRUUCgpCisgICAgPj4+IHNlcnZlci5zdGFydFhNTFJQQygpCisKK1RoZW4sIHRoZSBzZXJ2ZXIgbXVzdCBoYXZlIG9ubHkgb25lIHBvcnQgdG8gcmVseSBvbiwgZWcuCisKKyAgICA+Pj4gc2VydmVyLmZ1bGxhZGRyZXNzKCkKKyAgICAiaHR0cDovL2lwOnBvcnQvIgorCitJdCBjb3VsZCBiZSBzaW1wbGUgdG8gaGF2ZSBvbmUgSFRUUCBzZXJ2ZXIsIHJlbGF5aW5nIHRoZSByZXF1ZXN0cyB0byB0aGUgdHdvCitpbXBsZW1lbnRhdGlvbnMgKHN0YXRpYyBIVFRQIGFuZCBYTUxSUEMgb3ZlciBIVFRQKS4KKyIiIgorCitpbXBvcnQgb3MKK2ltcG9ydCBxdWV1ZQoraW1wb3J0IHNlbGVjdAoraW1wb3J0IHRocmVhZGluZworZnJvbSBmdW5jdG9vbHMgaW1wb3J0IHdyYXBzCitmcm9tIGh0dHAuc2VydmVyIGltcG9ydCBIVFRQU2VydmVyLCBTaW1wbGVIVFRQUmVxdWVzdEhhbmRsZXIKK2Zyb20geG1scnBjLnNlcnZlciBpbXBvcnQgU2ltcGxlWE1MUlBDU2VydmVyCisKK2Zyb20gcGFja2FnaW5nLnRlc3RzIGltcG9ydCB1bml0dGVzdAorCisKK1BZUElfREVGQVVMVF9TVEFUSUNfUEFUSCA9IG9zLnBhdGguam9pbigKKyAgICBvcy5wYXRoLmRpcm5hbWUob3MucGF0aC5hYnNwYXRoKF9fZmlsZV9fKSksICdweXBpc2VydmVyJykKKworCitkZWYgdXNlX3htbHJwY19zZXJ2ZXIoKnNlcnZlcl9hcmdzLCAqKnNlcnZlcl9rd2FyZ3MpOgorICAgIHNlcnZlcl9rd2FyZ3NbJ3NlcnZlX3htbHJwYyddID0gVHJ1ZQorICAgIHJldHVybiB1c2VfcHlwaV9zZXJ2ZXIoKnNlcnZlcl9hcmdzLCAqKnNlcnZlcl9rd2FyZ3MpCisKKworZGVmIHVzZV9odHRwX3NlcnZlcigqc2VydmVyX2FyZ3MsICoqc2VydmVyX2t3YXJncyk6CisgICAgc2VydmVyX2t3YXJnc1snc2VydmVfeG1scnBjJ10gPSBGYWxzZQorICAgIHJldHVybiB1c2VfcHlwaV9zZXJ2ZXIoKnNlcnZlcl9hcmdzLCAqKnNlcnZlcl9rd2FyZ3MpCisKKworZGVmIHVzZV9weXBpX3NlcnZlcigqc2VydmVyX2FyZ3MsICoqc2VydmVyX2t3YXJncyk6CisgICAgIiIiRGVjb3JhdG9yIHRvIG1ha2UgdXNlIG9mIHRoZSBQeVBJU2VydmVyIGZvciB0ZXN0IG1ldGhvZHMsCisgICAganVzdCB3aGVuIG5lZWRlZCwgYW5kIG5vdCBmb3IgdGhlIGVudGlyZSBkdXJhdGlvbiBvZiB0aGUgdGVzdGNhc2UuCisgICAgIiIiCisgICAgZGVmIHdyYXBwZXIoZnVuYyk6CisgICAgICAgIEB3cmFwcyhmdW5jKQorICAgICAgICBkZWYgd3JhcHBlZCgqYXJncywgKiprd2FyZ3MpOgorICAgICAgICAgICAgc2VydmVyID0gUHlQSVNlcnZlcigqc2VydmVyX2FyZ3MsICoqc2VydmVyX2t3YXJncykKKyAgICAgICAgICAgIHNlcnZlci5zdGFydCgpCisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgZnVuYyhzZXJ2ZXI9c2VydmVyLCAqYXJncywgKiprd2FyZ3MpCisgICAgICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgICAgIHNlcnZlci5zdG9wKCkKKyAgICAgICAgcmV0dXJuIHdyYXBwZWQKKyAgICByZXR1cm4gd3JhcHBlcgorCisKK2NsYXNzIFB5UElTZXJ2ZXJUZXN0Q2FzZSh1bml0dGVzdC5UZXN0Q2FzZSk6CisKKyAgICBkZWYgc2V0VXAoc2VsZik6CisgICAgICAgIHN1cGVyKFB5UElTZXJ2ZXJUZXN0Q2FzZSwgc2VsZikuc2V0VXAoKQorICAgICAgICBzZWxmLnB5cGkgPSBQeVBJU2VydmVyKCkKKyAgICAgICAgc2VsZi5weXBpLnN0YXJ0KCkKKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKHNlbGYucHlwaS5zdG9wKQorCisKK2NsYXNzIFB5UElTZXJ2ZXIodGhyZWFkaW5nLlRocmVhZCk6CisgICAgIiIiUHlQSSBNb2NrZWQgc2VydmVyLgorICAgIFByb3ZpZGVzIGEgbW9ja2VkIHZlcnNpb24gb2YgdGhlIFB5UEkgQVBJJ3MsIHRvIGVhc2UgdGVzdHMuCisKKyAgICBTdXBwb3J0IHNlcnZpbmcgc3RhdGljIGNvbnRlbnQgYW5kIHNlcnZpbmcgcHJldmlvdXNseSBnaXZlbiB0ZXh0LgorICAgICIiIgorCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHRlc3Rfc3RhdGljX3BhdGg9Tm9uZSwKKyAgICAgICAgICAgICAgICAgc3RhdGljX2ZpbGVzeXN0ZW1fcGF0aHM9Tm9uZSwKKyAgICAgICAgICAgICAgICAgc3RhdGljX3VyaV9wYXRocz1bInNpbXBsZSIsICJwYWNrYWdlcyJdLCBzZXJ2ZV94bWxycGM9RmFsc2UpOgorICAgICAgICAiIiJJbml0aWFsaXplIHRoZSBzZXJ2ZXIuCisKKyAgICAgICAgRGVmYXVsdCBiZWhhdmlvciBpcyB0byBzdGFydCB0aGUgSFRUUCBzZXJ2ZXIuIFlvdSBjYW4gZWl0aGVyIHN0YXJ0IHRoZQorICAgICAgICB4bWxycGMgc2VydmVyIGJ5IHNldHRpbmcgeG1scnBjIHRvIFRydWUuIENhdXRpb246IE9ubHkgb25lIHNlcnZlciB3aWxsCisgICAgICAgIGJlIHN0YXJ0ZWQuCisKKyAgICAgICAgc3RhdGljX3VyaV9wYXRocyBhbmQgc3RhdGljX2Jhc2VfcGF0aCBhcmUgcGFyYW1ldGVycyB1c2VkIHRvIHByb3ZpZGVzCisgICAgICAgIHJlc3BlY3RpdmVseSB0aGUgaHR0cF9wYXRocyB0byBzZXJ2ZSBzdGF0aWNhbGx5LCBhbmQgd2hlcmUgdG8gZmluZCB0aGUKKyAgICAgICAgbWF0Y2hpbmcgZmlsZXMgb24gdGhlIGZpbGVzeXN0ZW0uCisgICAgICAgICIiIgorICAgICAgICAjIHdlIHdhbnQgdG8gbGF1bmNoIHRoZSBzZXJ2ZXIgaW4gYSBuZXcgZGVkaWNhdGVkIHRocmVhZCwgdG8gbm90IGZyZWV6ZQorICAgICAgICAjIHRlc3RzLgorICAgICAgICBzdXBlcihQeVBJU2VydmVyLCBzZWxmKS5fX2luaXRfXygpCisgICAgICAgIHNlbGYuX3J1biA9IFRydWUKKyAgICAgICAgc2VsZi5fc2VydmVfeG1scnBjID0gc2VydmVfeG1scnBjCisgICAgICAgIGlmIHN0YXRpY19maWxlc3lzdGVtX3BhdGhzIGlzIE5vbmU6CisgICAgICAgICAgICBzdGF0aWNfZmlsZXN5c3RlbV9wYXRocyA9IFsiZGVmYXVsdCJdCisKKyAgICAgICAgI1RPRE8gYWxsb3cgdG8gc2VydmUgWE1MUlBDIGFuZCBIVFRQIHN0YXRpYyBmaWxlcyBhdCB0aGUgc2FtZSB0aW1lLgorICAgICAgICBpZiBub3Qgc2VsZi5fc2VydmVfeG1scnBjOgorICAgICAgICAgICAgc2VsZi5zZXJ2ZXIgPSBIVFRQU2VydmVyKCgnMTI3LjAuMC4xJywgMCksIFB5UElSZXF1ZXN0SGFuZGxlcikKKyAgICAgICAgICAgIHNlbGYuc2VydmVyLlJlcXVlc3RIYW5kbGVyQ2xhc3MucHlwaV9zZXJ2ZXIgPSBzZWxmCisKKyAgICAgICAgICAgIHNlbGYucmVxdWVzdF9xdWV1ZSA9IHF1ZXVlLlF1ZXVlKCkKKyAgICAgICAgICAgIHNlbGYuX3JlcXVlc3RzID0gW10KKyAgICAgICAgICAgIHNlbGYuZGVmYXVsdF9yZXNwb25zZV9zdGF0dXMgPSA0MDQKKyAgICAgICAgICAgIHNlbGYuZGVmYXVsdF9yZXNwb25zZV9oZWFkZXJzID0gWygnQ29udGVudC10eXBlJywgJ3RleHQvcGxhaW4nKV0KKyAgICAgICAgICAgIHNlbGYuZGVmYXVsdF9yZXNwb25zZV9kYXRhID0gIlRoZSBwYWdlIGRvZXMgbm90IGV4aXN0cyIKKworICAgICAgICAgICAgIyBpbml0aWFsaXplIHN0YXRpYyBwYXRocyAvIGZpbGVzeXN0ZW1zCisgICAgICAgICAgICBzZWxmLnN0YXRpY191cmlfcGF0aHMgPSBzdGF0aWNfdXJpX3BhdGhzCisKKyAgICAgICAgICAgICMgYXBwZW5kIHRoZSBzdGF0aWMgcGF0aHMgZGVmaW5lZCBsb2NhbGx5CisgICAgICAgICAgICBpZiB0ZXN0X3N0YXRpY19wYXRoIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgICAgIHN0YXRpY19maWxlc3lzdGVtX3BhdGhzLmFwcGVuZCh0ZXN0X3N0YXRpY19wYXRoKQorICAgICAgICAgICAgc2VsZi5zdGF0aWNfZmlsZXN5c3RlbV9wYXRocyA9IFsKKyAgICAgICAgICAgICAgICBQWVBJX0RFRkFVTFRfU1RBVElDX1BBVEggKyAiLyIgKyBwYXRoCisgICAgICAgICAgICAgICAgZm9yIHBhdGggaW4gc3RhdGljX2ZpbGVzeXN0ZW1fcGF0aHNdCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICAjIFhNTFJQQyBzZXJ2ZXIKKyAgICAgICAgICAgIHNlbGYuc2VydmVyID0gUHlQSVhNTFJQQ1NlcnZlcigoJzEyNy4wLjAuMScsIDApKQorICAgICAgICAgICAgc2VsZi54bWxycGMgPSBYTUxSUENNb2NrSW5kZXgoKQorICAgICAgICAgICAgIyByZWdpc3RlciB0aGUgeG1scnBjIG1ldGhvZHMKKyAgICAgICAgICAgIHNlbGYuc2VydmVyLnJlZ2lzdGVyX2ludHJvc3BlY3Rpb25fZnVuY3Rpb25zKCkKKyAgICAgICAgICAgIHNlbGYuc2VydmVyLnJlZ2lzdGVyX2luc3RhbmNlKHNlbGYueG1scnBjKQorCisgICAgICAgIHNlbGYuYWRkcmVzcyA9ICgnMTI3LjAuMC4xJywgc2VsZi5zZXJ2ZXIuc2VydmVyX3BvcnQpCisgICAgICAgICMgdG8gbm90IGhhdmUgdW53YW50ZWQgb3V0cHV0cy4KKyAgICAgICAgc2VsZi5zZXJ2ZXIuUmVxdWVzdEhhbmRsZXJDbGFzcy5sb2dfcmVxdWVzdCA9IGxhbWJkYSAqXzogTm9uZQorCisgICAgZGVmIHJ1bihzZWxmKToKKyAgICAgICAgIyBsb29wIGJlY2F1c2Ugd2UgY2FuJ3Qgc3RvcCBpdCBvdGhlcndpc2UsIGZvciBweXRob24gPCAyLjYKKyAgICAgICAgd2hpbGUgc2VsZi5fcnVuOgorICAgICAgICAgICAgciwgdywgZSA9IHNlbGVjdC5zZWxlY3QoW3NlbGYuc2VydmVyXSwgW10sIFtdLCAwLjUpCisgICAgICAgICAgICBpZiByOgorICAgICAgICAgICAgICAgIHNlbGYuc2VydmVyLmhhbmRsZV9yZXF1ZXN0KCkKKworICAgIGRlZiBzdG9wKHNlbGYpOgorICAgICAgICAiIiJzZWxmIHNodXRkb3duIGlzIG5vdCBzdXBwb3J0ZWQgZm9yIHB5dGhvbiA8IDIuNiIiIgorICAgICAgICBzZWxmLl9ydW4gPSBGYWxzZQorICAgICAgICBpZiBzZWxmLmlzX2FsaXZlKCk6CisgICAgICAgICAgICBzZWxmLmpvaW4oKQorICAgICAgICBzZWxmLnNlcnZlci5zZXJ2ZXJfY2xvc2UoKQorCisgICAgZGVmIGdldF9uZXh0X3Jlc3BvbnNlKHNlbGYpOgorICAgICAgICByZXR1cm4gKHNlbGYuZGVmYXVsdF9yZXNwb25zZV9zdGF0dXMsCisgICAgICAgICAgICAgICAgc2VsZi5kZWZhdWx0X3Jlc3BvbnNlX2hlYWRlcnMsCisgICAgICAgICAgICAgICAgc2VsZi5kZWZhdWx0X3Jlc3BvbnNlX2RhdGEpCisKKyAgICBAcHJvcGVydHkKKyAgICBkZWYgcmVxdWVzdHMoc2VsZik6CisgICAgICAgICIiIlVzZSB0aGlzIHByb3BlcnR5IHRvIGdldCBhbGwgcmVxdWVzdHMgdGhhdCBoYXZlIGJlZW4gbWFkZQorICAgICAgICB0byB0aGUgc2VydmVyCisgICAgICAgICIiIgorICAgICAgICB3aGlsZSBUcnVlOgorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIHNlbGYuX3JlcXVlc3RzLmFwcGVuZChzZWxmLnJlcXVlc3RfcXVldWUuZ2V0X25vd2FpdCgpKQorICAgICAgICAgICAgZXhjZXB0IHF1ZXVlLkVtcHR5OgorICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgIHJldHVybiBzZWxmLl9yZXF1ZXN0cworCisgICAgQHByb3BlcnR5CisgICAgZGVmIGZ1bGxfYWRkcmVzcyhzZWxmKToKKyAgICAgICAgcmV0dXJuICJodHRwOi8vJXM6JXMiICUgc2VsZi5hZGRyZXNzCisKKworY2xhc3MgUHlQSVJlcXVlc3RIYW5kbGVyKFNpbXBsZUhUVFBSZXF1ZXN0SGFuZGxlcik6CisgICAgIyB3ZSBuZWVkIHRvIGFjY2VzcyB0aGUgcHlwaSBzZXJ2ZXIgd2hpbGUgc2VydmluZyB0aGUgY29udGVudAorICAgIHB5cGlfc2VydmVyID0gTm9uZQorCisgICAgZGVmIHNlcnZlX3JlcXVlc3Qoc2VsZik6CisgICAgICAgICIiIlNlcnZlIHRoZSBjb250ZW50LgorCisgICAgICAgIEFsc28gcmVjb3JkIHRoZSByZXF1ZXN0cyB0byBiZSBhY2Nlc3NlZCBsYXRlci4gSWYgdHJ5aW5nIHRvIGFjY2VzcyBhbgorICAgICAgICB1cmwgbWF0Y2hpbmcgYSBzdGF0aWMgdXJpLCBzZXJ2ZSBzdGF0aWMgY29udGVudCwgb3RoZXJ3aXNlIHNlcnZlCisgICAgICAgIHdoYXQgaXMgcHJvdmlkZWQgYnkgdGhlIGBnZXRfbmV4dF9yZXNwb25zZWAgbWV0aG9kLgorCisgICAgICAgIElmIG5vdGhpbmcgaXMgZGVmaW5lZCB0aGVyZSwgcmV0dXJuIGEgNDA0IGhlYWRlci4KKyAgICAgICAgIiIiCisgICAgICAgICMgcmVjb3JkIHRoZSByZXF1ZXN0LiBSZWFkIHRoZSBpbnB1dCBvbmx5IG9uIFBVVCBvciBQT1NUIHJlcXVlc3RzCisgICAgICAgIGlmIHNlbGYuY29tbWFuZCBpbiAoIlBVVCIsICJQT1NUIik6CisgICAgICAgICAgICBpZiAnY29udGVudC1sZW5ndGgnIGluIHNlbGYuaGVhZGVyczoKKyAgICAgICAgICAgICAgICByZXF1ZXN0X2RhdGEgPSBzZWxmLnJmaWxlLnJlYWQoCisgICAgICAgICAgICAgICAgICAgIGludChzZWxmLmhlYWRlcnNbJ2NvbnRlbnQtbGVuZ3RoJ10pKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICByZXF1ZXN0X2RhdGEgPSBzZWxmLnJmaWxlLnJlYWQoKQorCisgICAgICAgIGVsaWYgc2VsZi5jb21tYW5kIGluICgiR0VUIiwgIkRFTEVURSIpOgorICAgICAgICAgICAgcmVxdWVzdF9kYXRhID0gJycKKworICAgICAgICBzZWxmLnB5cGlfc2VydmVyLnJlcXVlc3RfcXVldWUucHV0KChzZWxmLCByZXF1ZXN0X2RhdGEpKQorCisgICAgICAgICMgc2VydmUgdGhlIGNvbnRlbnQgZnJvbSBsb2NhbCBkaXNjIGlmIHdlIHJlcXVlc3QgYW4gVVJMIGJlZ2lubmluZworICAgICAgICAjIGJ5IGEgcGF0dGVybiBkZWZpbmVkIGluIGBzdGF0aWNfcGF0aHNgCisgICAgICAgIHVybF9wYXJ0cyA9IHNlbGYucGF0aC5zcGxpdCgiLyIpCisgICAgICAgIGlmIChsZW4odXJsX3BhcnRzKSA+IDEgYW5kCisgICAgICAgICAgICAgICAgdXJsX3BhcnRzWzFdIGluIHNlbGYucHlwaV9zZXJ2ZXIuc3RhdGljX3VyaV9wYXRocyk6CisgICAgICAgICAgICBkYXRhID0gTm9uZQorICAgICAgICAgICAgIyBhbHdheXMgdGFrZSB0aGUgbGFzdCBmaXJzdC4KKyAgICAgICAgICAgIGZzX3BhdGhzID0gW10KKyAgICAgICAgICAgIGZzX3BhdGhzLmV4dGVuZChzZWxmLnB5cGlfc2VydmVyLnN0YXRpY19maWxlc3lzdGVtX3BhdGhzKQorICAgICAgICAgICAgZnNfcGF0aHMucmV2ZXJzZSgpCisgICAgICAgICAgICByZWxhdGl2ZV9wYXRoID0gc2VsZi5wYXRoCisgICAgICAgICAgICBmb3IgZnNfcGF0aCBpbiBmc19wYXRoczoKKyAgICAgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgICAgIGlmIHNlbGYucGF0aC5lbmRzd2l0aCgiLyIpOgorICAgICAgICAgICAgICAgICAgICAgICAgcmVsYXRpdmVfcGF0aCArPSAiaW5kZXguaHRtbCIKKworICAgICAgICAgICAgICAgICAgICBpZiByZWxhdGl2ZV9wYXRoLmVuZHN3aXRoKCcudGFyLmd6Jyk6CisgICAgICAgICAgICAgICAgICAgICAgICB3aXRoIG9wZW4oZnNfcGF0aCArIHJlbGF0aXZlX3BhdGgsICdyYicpIGFzIGZpbGU6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YSA9IGZpbGUucmVhZCgpCisgICAgICAgICAgICAgICAgICAgICAgICBoZWFkZXJzID0gWygnQ29udGVudC10eXBlJywgJ2FwcGxpY2F0aW9uL3gtZ3RhcicpXQorICAgICAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICAgICAgd2l0aCBvcGVuKGZzX3BhdGggKyByZWxhdGl2ZV9wYXRoKSBhcyBmaWxlOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEgPSBmaWxlLnJlYWQoKS5lbmNvZGUoKQorICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVycyA9IFsoJ0NvbnRlbnQtdHlwZScsICd0ZXh0L2h0bWwnKV0KKworICAgICAgICAgICAgICAgICAgICBoZWFkZXJzLmFwcGVuZCgoJ0NvbnRlbnQtTGVuZ3RoJywgbGVuKGRhdGEpKSkKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5tYWtlX3Jlc3BvbnNlKGRhdGEsIGhlYWRlcnM9aGVhZGVycykKKworICAgICAgICAgICAgICAgIGV4Y2VwdCBJT0Vycm9yOgorICAgICAgICAgICAgICAgICAgICBwYXNzCisKKyAgICAgICAgICAgIGlmIGRhdGEgaXMgTm9uZToKKyAgICAgICAgICAgICAgICBzZWxmLm1ha2VfcmVzcG9uc2UoIk5vdCBmb3VuZCIsIDQwNCkKKworICAgICAgICAjIG90aGVyd2lzZSBzZXJ2ZSB0aGUgY29udGVudCBmcm9tIGdldF9uZXh0X3Jlc3BvbnNlCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICAjIHNlbmQgYmFjayBhIHJlc3BvbnNlCisgICAgICAgICAgICBzdGF0dXMsIGhlYWRlcnMsIGRhdGEgPSBzZWxmLnB5cGlfc2VydmVyLmdldF9uZXh0X3Jlc3BvbnNlKCkKKyAgICAgICAgICAgIHNlbGYubWFrZV9yZXNwb25zZShkYXRhLCBzdGF0dXMsIGhlYWRlcnMpCisKKyAgICBkb19QT1NUID0gZG9fR0VUID0gZG9fREVMRVRFID0gZG9fUFVUID0gc2VydmVfcmVxdWVzdAorCisgICAgZGVmIG1ha2VfcmVzcG9uc2Uoc2VsZiwgZGF0YSwgc3RhdHVzPTIwMCwKKyAgICAgICAgICAgICAgICAgICAgICBoZWFkZXJzPVsoJ0NvbnRlbnQtdHlwZScsICd0ZXh0L2h0bWwnKV0pOgorICAgICAgICAiIiJTZW5kIHRoZSByZXNwb25zZSB0byB0aGUgSFRUUCBjbGllbnQiIiIKKyAgICAgICAgaWYgbm90IGlzaW5zdGFuY2Uoc3RhdHVzLCBpbnQpOgorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIHN0YXR1cyA9IGludChzdGF0dXMpCisgICAgICAgICAgICBleGNlcHQgVmFsdWVFcnJvcjoKKyAgICAgICAgICAgICAgICAjIHdlIHByb2JhYmx5IGdvdCBzb21ldGhpbmcgbGlrZSBZWVkgQ29kZW5hbWUuCisgICAgICAgICAgICAgICAgIyBKdXN0IGdldCB0aGUgZmlyc3QgMyBkaWdpdHMKKyAgICAgICAgICAgICAgICBzdGF0dXMgPSBpbnQoc3RhdHVzWzozXSkKKworICAgICAgICBzZWxmLnNlbmRfcmVzcG9uc2Uoc3RhdHVzKQorICAgICAgICBmb3IgaGVhZGVyLCB2YWx1ZSBpbiBoZWFkZXJzOgorICAgICAgICAgICAgc2VsZi5zZW5kX2hlYWRlcihoZWFkZXIsIHZhbHVlKQorICAgICAgICBzZWxmLmVuZF9oZWFkZXJzKCkKKworICAgICAgICBpZiBpc2luc3RhbmNlKGRhdGEsIHN0cik6CisgICAgICAgICAgICBkYXRhID0gZGF0YS5lbmNvZGUoJ3V0Zi04JykKKworICAgICAgICBzZWxmLndmaWxlLndyaXRlKGRhdGEpCisKKworY2xhc3MgUHlQSVhNTFJQQ1NlcnZlcihTaW1wbGVYTUxSUENTZXJ2ZXIpOgorICAgIGRlZiBzZXJ2ZXJfYmluZChzZWxmKToKKyAgICAgICAgIiIiT3ZlcnJpZGUgc2VydmVyX2JpbmQgdG8gc3RvcmUgdGhlIHNlcnZlciBuYW1lLiIiIgorICAgICAgICBzdXBlcihQeVBJWE1MUlBDU2VydmVyLCBzZWxmKS5zZXJ2ZXJfYmluZCgpCisgICAgICAgIGhvc3QsIHBvcnQgPSBzZWxmLnNvY2tldC5nZXRzb2NrbmFtZSgpWzoyXQorICAgICAgICBzZWxmLnNlcnZlcl9wb3J0ID0gcG9ydAorCisKK2NsYXNzIE1vY2tEaXN0OgorICAgICIiIkZha2UgZGlzdHJpYnV0aW9uLCB1c2VkIGluIHRoZSBNb2NrIFB5UEkgU2VydmVyIiIiCisKKyAgICBkZWYgX19pbml0X18oc2VsZiwgbmFtZSwgdmVyc2lvbj0iMS4wIiwgaGlkZGVuPUZhbHNlLCB1cmw9Imh0dHA6Ly91cmwvIiwKKyAgICAgICAgICAgICB0eXBlPSJzZGlzdCIsIGZpbGVuYW1lPSIiLCBzaXplPTEwMDAwLAorICAgICAgICAgICAgIGRpZ2VzdD0iMTIzNDU2IiwgZG93bmxvYWRzPTcsIGhhc19zaWc9RmFsc2UsCisgICAgICAgICAgICAgcHl0aG9uX3ZlcnNpb249InNvdXJjZSIsIGNvbW1lbnQ9ImNvbW1lbnQiLAorICAgICAgICAgICAgIGF1dGhvcj0iSm9obiBEb2UiLCBhdXRob3JfZW1haWw9ImpvaG5AZG9lLm5hbWUiLAorICAgICAgICAgICAgIG1haW50YWluZXI9Ik1haW4gVGF5bmVyIiwgbWFpbnRhaW5lcl9lbWFpbD0ibWFpbnRhaW5lcl9tYWlsIiwKKyAgICAgICAgICAgICBwcm9qZWN0X3VybD0iaHR0cDovL3Byb2plY3RfdXJsLyIsIGhvbWVwYWdlPSJodHRwOi8vaG9tZXBhZ2UvIiwKKyAgICAgICAgICAgICBrZXl3b3Jkcz0iIiwgcGxhdGZvcm09IlVOS05PV04iLCBjbGFzc2lmaWVycz1bXSwgbGljZW5jZT0iIiwKKyAgICAgICAgICAgICBkZXNjcmlwdGlvbj0iRGVzY3JpcHRpb24iLCBzdW1tYXJ5PSJTdW1tYXJ5Iiwgc3RhYmxlX3ZlcnNpb249IiIsCisgICAgICAgICAgICAgb3JkZXJpbmc9IiIsIGRvY3VtZW50YXRpb25faWQ9IiIsIGNvZGVfa3dhbGl0ZWVfaWQ9IiIsCisgICAgICAgICAgICAgaW5zdGFsbGFiaWxpdHlfaWQ9IiIsIG9ic29sZXRlcz1bXSwgb2Jzb2xldGVzX2Rpc3Q9W10sCisgICAgICAgICAgICAgcHJvdmlkZXM9W10sIHByb3ZpZGVzX2Rpc3Q9W10sIHJlcXVpcmVzPVtdLCByZXF1aXJlc19kaXN0PVtdLAorICAgICAgICAgICAgIHJlcXVpcmVzX2V4dGVybmFsPVtdLCByZXF1aXJlc19weXRob249IiIpOgorCisgICAgICAgICMgYmFzaWMgZmllbGRzCisgICAgICAgIHNlbGYubmFtZSA9IG5hbWUKKyAgICAgICAgc2VsZi52ZXJzaW9uID0gdmVyc2lvbgorICAgICAgICBzZWxmLmhpZGRlbiA9IGhpZGRlbgorCisgICAgICAgICMgVVJMIGluZm9zCisgICAgICAgIHNlbGYudXJsID0gdXJsCisgICAgICAgIHNlbGYuZGlnZXN0ID0gZGlnZXN0CisgICAgICAgIHNlbGYuZG93bmxvYWRzID0gZG93bmxvYWRzCisgICAgICAgIHNlbGYuaGFzX3NpZyA9IGhhc19zaWcKKyAgICAgICAgc2VsZi5weXRob25fdmVyc2lvbiA9IHB5dGhvbl92ZXJzaW9uCisgICAgICAgIHNlbGYuY29tbWVudCA9IGNvbW1lbnQKKyAgICAgICAgc2VsZi50eXBlID0gdHlwZQorCisgICAgICAgICMgbWV0YWRhdGEKKyAgICAgICAgc2VsZi5hdXRob3IgPSBhdXRob3IKKyAgICAgICAgc2VsZi5hdXRob3JfZW1haWwgPSBhdXRob3JfZW1haWwKKyAgICAgICAgc2VsZi5tYWludGFpbmVyID0gbWFpbnRhaW5lcgorICAgICAgICBzZWxmLm1haW50YWluZXJfZW1haWwgPSBtYWludGFpbmVyX2VtYWlsCisgICAgICAgIHNlbGYucHJvamVjdF91cmwgPSBwcm9qZWN0X3VybAorICAgICAgICBzZWxmLmhvbWVwYWdlID0gaG9tZXBhZ2UKKyAgICAgICAgc2VsZi5rZXl3b3JkcyA9IGtleXdvcmRzCisgICAgICAgIHNlbGYucGxhdGZvcm0gPSBwbGF0Zm9ybQorICAgICAgICBzZWxmLmNsYXNzaWZpZXJzID0gY2xhc3NpZmllcnMKKyAgICAgICAgc2VsZi5saWNlbmNlID0gbGljZW5jZQorICAgICAgICBzZWxmLmRlc2NyaXB0aW9uID0gZGVzY3JpcHRpb24KKyAgICAgICAgc2VsZi5zdW1tYXJ5ID0gc3VtbWFyeQorICAgICAgICBzZWxmLnN0YWJsZV92ZXJzaW9uID0gc3RhYmxlX3ZlcnNpb24KKyAgICAgICAgc2VsZi5vcmRlcmluZyA9IG9yZGVyaW5nCisgICAgICAgIHNlbGYuY2hlZXNlY2FrZV9kb2N1bWVudGF0aW9uX2lkID0gZG9jdW1lbnRhdGlvbl9pZAorICAgICAgICBzZWxmLmNoZWVzZWNha2VfY29kZV9rd2FsaXRlZV9pZCA9IGNvZGVfa3dhbGl0ZWVfaWQKKyAgICAgICAgc2VsZi5jaGVlc2VjYWtlX2luc3RhbGxhYmlsaXR5X2lkID0gaW5zdGFsbGFiaWxpdHlfaWQKKworICAgICAgICBzZWxmLm9ic29sZXRlcyA9IG9ic29sZXRlcworICAgICAgICBzZWxmLm9ic29sZXRlc19kaXN0ID0gb2Jzb2xldGVzX2Rpc3QKKyAgICAgICAgc2VsZi5wcm92aWRlcyA9IHByb3ZpZGVzCisgICAgICAgIHNlbGYucHJvdmlkZXNfZGlzdCA9IHByb3ZpZGVzX2Rpc3QKKyAgICAgICAgc2VsZi5yZXF1aXJlcyA9IHJlcXVpcmVzCisgICAgICAgIHNlbGYucmVxdWlyZXNfZGlzdCA9IHJlcXVpcmVzX2Rpc3QKKyAgICAgICAgc2VsZi5yZXF1aXJlc19leHRlcm5hbCA9IHJlcXVpcmVzX2V4dGVybmFsCisgICAgICAgIHNlbGYucmVxdWlyZXNfcHl0aG9uID0gcmVxdWlyZXNfcHl0aG9uCisKKyAgICBkZWYgdXJsX2luZm9zKHNlbGYpOgorICAgICAgICByZXR1cm4geworICAgICAgICAgICAgJ3VybCc6IHNlbGYudXJsLAorICAgICAgICAgICAgJ3BhY2thZ2V0eXBlJzogc2VsZi50eXBlLAorICAgICAgICAgICAgJ2ZpbGVuYW1lJzogJ2ZpbGVuYW1lLnRhci5neicsCisgICAgICAgICAgICAnc2l6ZSc6ICc2MDAwJywKKyAgICAgICAgICAgICdtZDVfZGlnZXN0Jzogc2VsZi5kaWdlc3QsCisgICAgICAgICAgICAnZG93bmxvYWRzJzogc2VsZi5kb3dubG9hZHMsCisgICAgICAgICAgICAnaGFzX3NpZyc6IHNlbGYuaGFzX3NpZywKKyAgICAgICAgICAgICdweXRob25fdmVyc2lvbic6IHNlbGYucHl0aG9uX3ZlcnNpb24sCisgICAgICAgICAgICAnY29tbWVudF90ZXh0Jzogc2VsZi5jb21tZW50LAorICAgICAgICB9CisKKyAgICBkZWYgbWV0YWRhdGEoc2VsZik6CisgICAgICAgIHJldHVybiB7CisgICAgICAgICAgICAnbWFpbnRhaW5lcic6IHNlbGYubWFpbnRhaW5lciwKKyAgICAgICAgICAgICdwcm9qZWN0X3VybCc6IFtzZWxmLnByb2plY3RfdXJsXSwKKyAgICAgICAgICAgICdtYWludGFpbmVyX2VtYWlsJzogc2VsZi5tYWludGFpbmVyX2VtYWlsLAorICAgICAgICAgICAgJ2NoZWVzZWNha2VfY29kZV9rd2FsaXRlZV9pZCc6IHNlbGYuY2hlZXNlY2FrZV9jb2RlX2t3YWxpdGVlX2lkLAorICAgICAgICAgICAgJ2tleXdvcmRzJzogc2VsZi5rZXl3b3JkcywKKyAgICAgICAgICAgICdvYnNvbGV0ZXNfZGlzdCc6IHNlbGYub2Jzb2xldGVzX2Rpc3QsCisgICAgICAgICAgICAncmVxdWlyZXNfZXh0ZXJuYWwnOiBzZWxmLnJlcXVpcmVzX2V4dGVybmFsLAorICAgICAgICAgICAgJ2F1dGhvcic6IHNlbGYuYXV0aG9yLAorICAgICAgICAgICAgJ2F1dGhvcl9lbWFpbCc6IHNlbGYuYXV0aG9yX2VtYWlsLAorICAgICAgICAgICAgJ2Rvd25sb2FkX3VybCc6IHNlbGYudXJsLAorICAgICAgICAgICAgJ3BsYXRmb3JtJzogc2VsZi5wbGF0Zm9ybSwKKyAgICAgICAgICAgICd2ZXJzaW9uJzogc2VsZi52ZXJzaW9uLAorICAgICAgICAgICAgJ29ic29sZXRlcyc6IHNlbGYub2Jzb2xldGVzLAorICAgICAgICAgICAgJ3Byb3ZpZGVzJzogc2VsZi5wcm92aWRlcywKKyAgICAgICAgICAgICdjaGVlc2VjYWtlX2RvY3VtZW50YXRpb25faWQnOiBzZWxmLmNoZWVzZWNha2VfZG9jdW1lbnRhdGlvbl9pZCwKKyAgICAgICAgICAgICdfcHlwaV9oaWRkZW4nOiBzZWxmLmhpZGRlbiwKKyAgICAgICAgICAgICdkZXNjcmlwdGlvbic6IHNlbGYuZGVzY3JpcHRpb24sCisgICAgICAgICAgICAnX3B5cGlfb3JkZXJpbmcnOiAxOSwKKyAgICAgICAgICAgICdyZXF1aXJlc19kaXN0Jzogc2VsZi5yZXF1aXJlc19kaXN0LAorICAgICAgICAgICAgJ3JlcXVpcmVzX3B5dGhvbic6IHNlbGYucmVxdWlyZXNfcHl0aG9uLAorICAgICAgICAgICAgJ2NsYXNzaWZpZXJzJzogW10sCisgICAgICAgICAgICAnbmFtZSc6IHNlbGYubmFtZSwKKyAgICAgICAgICAgICdsaWNlbmNlJzogc2VsZi5saWNlbmNlLCAgIyBYWFggbGljZW5jZSBvciBsaWNlbnNlPworICAgICAgICAgICAgJ3N1bW1hcnknOiBzZWxmLnN1bW1hcnksCisgICAgICAgICAgICAnaG9tZV9wYWdlJzogc2VsZi5ob21lcGFnZSwKKyAgICAgICAgICAgICdzdGFibGVfdmVyc2lvbic6IHNlbGYuc3RhYmxlX3ZlcnNpb24sCisgICAgICAgICAgICAjIEZJWE1FIGRvZXNuJ3QgdGhhdCByZXByb2R1Y2UgdGhlIGJ1ZyBmcm9tIDY1MjdkMzEwNmU5Zj8KKyAgICAgICAgICAgICdwcm92aWRlc19kaXN0JzogKHNlbGYucHJvdmlkZXNfZGlzdCBvcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiJXMgKCVzKSIgJSAoc2VsZi5uYW1lLCBzZWxmLnZlcnNpb24pKSwKKyAgICAgICAgICAgICdyZXF1aXJlcyc6IHNlbGYucmVxdWlyZXMsCisgICAgICAgICAgICAnY2hlZXNlY2FrZV9pbnN0YWxsYWJpbGl0eV9pZCc6IHNlbGYuY2hlZXNlY2FrZV9pbnN0YWxsYWJpbGl0eV9pZCwKKyAgICAgICAgfQorCisgICAgZGVmIHNlYXJjaF9yZXN1bHQoc2VsZik6CisgICAgICAgIHJldHVybiB7CisgICAgICAgICAgICAnX3B5cGlfb3JkZXJpbmcnOiAwLAorICAgICAgICAgICAgJ3ZlcnNpb24nOiBzZWxmLnZlcnNpb24sCisgICAgICAgICAgICAnbmFtZSc6IHNlbGYubmFtZSwKKyAgICAgICAgICAgICdzdW1tYXJ5Jzogc2VsZi5zdW1tYXJ5LAorICAgICAgICB9CisKKworY2xhc3MgWE1MUlBDTW9ja0luZGV4OgorICAgICIiIk1vY2sgWE1MUlBDIHNlcnZlciIiIgorCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGRpc3RzPVtdKToKKyAgICAgICAgc2VsZi5fZGlzdHMgPSBkaXN0cworICAgICAgICBzZWxmLl9zZWFyY2hfcmVzdWx0ID0gW10KKworICAgIGRlZiBhZGRfZGlzdHJpYnV0aW9ucyhzZWxmLCBkaXN0cyk6CisgICAgICAgIGZvciBkaXN0IGluIGRpc3RzOgorICAgICAgICAgICAgc2VsZi5fZGlzdHMuYXBwZW5kKE1vY2tEaXN0KCoqZGlzdCkpCisKKyAgICBkZWYgc2V0X2Rpc3RyaWJ1dGlvbnMoc2VsZiwgZGlzdHMpOgorICAgICAgICBzZWxmLl9kaXN0cyA9IFtdCisgICAgICAgIHNlbGYuYWRkX2Rpc3RyaWJ1dGlvbnMoZGlzdHMpCisKKyAgICBkZWYgc2V0X3NlYXJjaF9yZXN1bHQoc2VsZiwgcmVzdWx0KToKKyAgICAgICAgIiIic2V0IGEgcHJlZGVmaW5lZCBzZWFyY2ggcmVzdWx0IiIiCisgICAgICAgIHNlbGYuX3NlYXJjaF9yZXN1bHQgPSByZXN1bHQKKworICAgIGRlZiBfZ2V0X3NlYXJjaF9yZXN1bHRzKHNlbGYpOgorICAgICAgICByZXN1bHRzID0gW10KKyAgICAgICAgZm9yIG5hbWUgaW4gc2VsZi5fc2VhcmNoX3Jlc3VsdDoKKyAgICAgICAgICAgIGZvdW5kX2Rpc3QgPSBbZCBmb3IgZCBpbiBzZWxmLl9kaXN0cyBpZiBkLm5hbWUgPT0gbmFtZV0KKyAgICAgICAgICAgIGlmIGZvdW5kX2Rpc3Q6CisgICAgICAgICAgICAgICAgcmVzdWx0cy5hcHBlbmQoZm91bmRfZGlzdFswXSkKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgZGlzdCA9IE1vY2tEaXN0KG5hbWUpCisgICAgICAgICAgICAgICAgcmVzdWx0cy5hcHBlbmQoZGlzdCkKKyAgICAgICAgICAgICAgICBzZWxmLl9kaXN0cy5hcHBlbmQoZGlzdCkKKyAgICAgICAgcmV0dXJuIFtyLnNlYXJjaF9yZXN1bHQoKSBmb3IgciBpbiByZXN1bHRzXQorCisgICAgZGVmIGxpc3RfcGFja2FnZXMoc2VsZik6CisgICAgICAgIHJldHVybiBbZC5uYW1lIGZvciBkIGluIHNlbGYuX2Rpc3RzXQorCisgICAgZGVmIHBhY2thZ2VfcmVsZWFzZXMoc2VsZiwgcGFja2FnZV9uYW1lLCBzaG93X2hpZGRlbj1GYWxzZSk6CisgICAgICAgIGlmIHNob3dfaGlkZGVuOgorICAgICAgICAgICAgIyByZXR1cm4gYWxsCisgICAgICAgICAgICByZXR1cm4gW2QudmVyc2lvbiBmb3IgZCBpbiBzZWxmLl9kaXN0cyBpZiBkLm5hbWUgPT0gcGFja2FnZV9uYW1lXQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgIyByZXR1cm4gb25seSB1bi1oaWRkZW4KKyAgICAgICAgICAgIHJldHVybiBbZC52ZXJzaW9uIGZvciBkIGluIHNlbGYuX2Rpc3RzIGlmIGQubmFtZSA9PSBwYWNrYWdlX25hbWUKKyAgICAgICAgICAgICAgICAgICAgYW5kIG5vdCBkLmhpZGRlbl0KKworICAgIGRlZiByZWxlYXNlX3VybHMoc2VsZiwgcGFja2FnZV9uYW1lLCB2ZXJzaW9uKToKKyAgICAgICAgcmV0dXJuIFtkLnVybF9pbmZvcygpIGZvciBkIGluIHNlbGYuX2Rpc3RzCisgICAgICAgICAgICAgICAgaWYgZC5uYW1lID09IHBhY2thZ2VfbmFtZSBhbmQgZC52ZXJzaW9uID09IHZlcnNpb25dCisKKyAgICBkZWYgcmVsZWFzZV9kYXRhKHNlbGYsIHBhY2thZ2VfbmFtZSwgdmVyc2lvbik6CisgICAgICAgIHJlbGVhc2UgPSBbZCBmb3IgZCBpbiBzZWxmLl9kaXN0cworICAgICAgICAgICAgICAgICAgIGlmIGQubmFtZSA9PSBwYWNrYWdlX25hbWUgYW5kIGQudmVyc2lvbiA9PSB2ZXJzaW9uXQorICAgICAgICBpZiByZWxlYXNlOgorICAgICAgICAgICAgcmV0dXJuIHJlbGVhc2VbMF0ubWV0YWRhdGEoKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmV0dXJuIHt9CisKKyAgICBkZWYgc2VhcmNoKHNlbGYsIHNwZWMsIG9wZXJhdG9yPSJhbmQiKToKKyAgICAgICAgcmV0dXJuIHNlbGYuX2dldF9zZWFyY2hfcmVzdWx0cygpCmRpZmYgLS1naXQgYS9MaWIvcGFja2FnaW5nL3Rlc3RzL3B5cGlfdGVzdF9zZXJ2ZXIucHkgYi9MaWIvcGFja2FnaW5nL3Rlc3RzL3B5cGlfdGVzdF9zZXJ2ZXIucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGM4YzY0MQotLS0gL2Rldi9udWxsCisrKyBiL0xpYi9wYWNrYWdpbmcvdGVzdHMvcHlwaV90ZXN0X3NlcnZlci5weQpAQCAtMCwwICsxLDU5IEBACisiIiJUZXN0IFB5UEkgU2VydmVyIGltcGxlbWVudGF0aW9uIGF0IHRlc3RweXBpLnB5dGhvbi5vcmcsIHRvIHVzZSBpbiB0ZXN0cy4KKworVGhpcyBpcyBhIGRyb3AtaW4gcmVwbGFjZW1lbnQgZm9yIHRoZSBtb2NrIHB5cGkgc2VydmVyIGZvciB0ZXN0aW5nIGFnYWluc3QgYQorcmVhbCBweXBpIHNlcnZlciBob3N0ZWQgYnkgcHl0aG9uLm9yZyBlc3BlY2lhbGx5IGZvciB0ZXN0aW5nIGFnYWluc3QuCisiIiIKKworaW1wb3J0IHVuaXR0ZXN0CisKK1BZUElfREVGQVVMVF9TVEFUSUNfUEFUSCA9IE5vbmUKKworCitkZWYgdXNlX3htbHJwY19zZXJ2ZXIoKnNlcnZlcl9hcmdzLCAqKnNlcnZlcl9rd2FyZ3MpOgorICAgIHNlcnZlcl9rd2FyZ3NbJ3NlcnZlX3htbHJwYyddID0gVHJ1ZQorICAgIHJldHVybiB1c2VfcHlwaV9zZXJ2ZXIoKnNlcnZlcl9hcmdzLCAqKnNlcnZlcl9rd2FyZ3MpCisKKworZGVmIHVzZV9odHRwX3NlcnZlcigqc2VydmVyX2FyZ3MsICoqc2VydmVyX2t3YXJncyk6CisgICAgc2VydmVyX2t3YXJnc1snc2VydmVfeG1scnBjJ10gPSBGYWxzZQorICAgIHJldHVybiB1c2VfcHlwaV9zZXJ2ZXIoKnNlcnZlcl9hcmdzLCAqKnNlcnZlcl9rd2FyZ3MpCisKKworZGVmIHVzZV9weXBpX3NlcnZlcigqc2VydmVyX2FyZ3MsICoqc2VydmVyX2t3YXJncyk6CisgICAgIiIiRGVjb3JhdG9yIHRvIG1ha2UgdXNlIG9mIHRoZSBQeVBJU2VydmVyIGZvciB0ZXN0IG1ldGhvZHMsCisgICAganVzdCB3aGVuIG5lZWRlZCwgYW5kIG5vdCBmb3IgdGhlIGVudGlyZSBkdXJhdGlvbiBvZiB0aGUgdGVzdGNhc2UuCisgICAgIiIiCisgICAgZGVmIHdyYXBwZXIoZnVuYyk6CisgICAgICAgIGRlZiB3cmFwcGVkKCphcmdzLCAqKmt3YXJncyk6CisgICAgICAgICAgICBzZXJ2ZXIgPSBQeVBJU2VydmVyKCpzZXJ2ZXJfYXJncywgKipzZXJ2ZXJfa3dhcmdzKQorICAgICAgICAgICAgZnVuYyhzZXJ2ZXI9c2VydmVyLCAqYXJncywgKiprd2FyZ3MpCisgICAgICAgIHJldHVybiB3cmFwcGVkCisgICAgcmV0dXJuIHdyYXBwZXIKKworCitjbGFzcyBQeVBJU2VydmVyVGVzdENhc2UodW5pdHRlc3QuVGVzdENhc2UpOgorCisgICAgZGVmIHNldFVwKHNlbGYpOgorICAgICAgICBzdXBlcihQeVBJU2VydmVyVGVzdENhc2UsIHNlbGYpLnNldFVwKCkKKyAgICAgICAgc2VsZi5weXBpID0gUHlQSVNlcnZlcigpCisgICAgICAgIHNlbGYucHlwaS5zdGFydCgpCisgICAgICAgIHNlbGYuYWRkQ2xlYW51cChzZWxmLnB5cGkuc3RvcCkKKworCitjbGFzcyBQeVBJU2VydmVyOgorICAgICIiIlNoaW0gdG8gYWNjZXNzIHRlc3RweXBpLnB5dGhvbi5vcmcsIGZvciB0ZXN0aW5nIGEgcmVhbCBzZXJ2ZXIuIiIiCisKKyAgICBkZWYgX19pbml0X18oc2VsZiwgdGVzdF9zdGF0aWNfcGF0aD1Ob25lLAorICAgICAgICAgICAgICAgICBzdGF0aWNfZmlsZXN5c3RlbV9wYXRocz1bImRlZmF1bHQiXSwKKyAgICAgICAgICAgICAgICAgc3RhdGljX3VyaV9wYXRocz1bInNpbXBsZSJdLCBzZXJ2ZV94bWxycGM9RmFsc2UpOgorICAgICAgICBzZWxmLmFkZHJlc3MgPSAoJ3Rlc3RweXBpLnB5dGhvbi5vcmcnLCAnODAnKQorCisgICAgZGVmIHN0YXJ0KHNlbGYpOgorICAgICAgICBwYXNzCisKKyAgICBkZWYgc3RvcChzZWxmKToKKyAgICAgICAgcGFzcworCisgICAgQHByb3BlcnR5CisgICAgZGVmIGZ1bGxfYWRkcmVzcyhzZWxmKToKKyAgICAgICAgcmV0dXJuICJodHRwOi8vJXM6JXMiICUgc2VsZi5hZGRyZXNzCmRpZmYgLS1naXQgYS9MaWIvcGFja2FnaW5nL3Rlc3RzL3B5cGlzZXJ2ZXIvZG93bmxvYWRzX3dpdGhfbWQ1L3BhY2thZ2VzL3NvdXJjZS9mL2Zvb2Jhci9mb29iYXItMC4xLnRhci5neiBiL0xpYi9wYWNrYWdpbmcvdGVzdHMvcHlwaXNlcnZlci9kb3dubG9hZHNfd2l0aF9tZDUvcGFja2FnZXMvc291cmNlL2YvZm9vYmFyL2Zvb2Jhci0wLjEudGFyLmd6Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMzMzk2MWUKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvcGFja2FnaW5nL3Rlc3RzL3B5cGlzZXJ2ZXIvZG93bmxvYWRzX3dpdGhfbWQ1L3BhY2thZ2VzL3NvdXJjZS9mL2Zvb2Jhci9mb29iYXItMC4xLnRhci5negpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9MaWIvZW1haWwvdGVzdC9fX2luaXRfXy5weSBiL0xpYi9wYWNrYWdpbmcvdGVzdHMvcHlwaXNlcnZlci9kb3dubG9hZHNfd2l0aF9tZDUvc2ltcGxlL2JhZG1kNS9iYWRtZDUtMC4xLnRhci5negpzaW1pbGFyaXR5IGluZGV4IDEwMCUKY29weSBmcm9tIExpYi9lbWFpbC90ZXN0L19faW5pdF9fLnB5CmNvcHkgdG8gTGliL3BhY2thZ2luZy90ZXN0cy9weXBpc2VydmVyL2Rvd25sb2Fkc193aXRoX21kNS9zaW1wbGUvYmFkbWQ1L2JhZG1kNS0wLjEudGFyLmd6CmRpZmYgLS1naXQgYS9MaWIvcGFja2FnaW5nL3Rlc3RzL3B5cGlzZXJ2ZXIvZG93bmxvYWRzX3dpdGhfbWQ1L3NpbXBsZS9iYWRtZDUvaW5kZXguaHRtbCBiL0xpYi9wYWNrYWdpbmcvdGVzdHMvcHlwaXNlcnZlci9kb3dubG9hZHNfd2l0aF9tZDUvc2ltcGxlL2JhZG1kNS9pbmRleC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI4OWYxYmQKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvcGFja2FnaW5nL3Rlc3RzL3B5cGlzZXJ2ZXIvZG93bmxvYWRzX3dpdGhfbWQ1L3NpbXBsZS9iYWRtZDUvaW5kZXguaHRtbApAQCAtMCwwICsxLDMgQEAKKzxodG1sPjxib2R5PgorPGEgaHJlZj0iYmFkbWQ1LTAuMS50YXIuZ3ojbWQ1PTNlM2Q4NjY5M2Q2NTY0YzgwNzI3MmIxMWIzMDY5ZGZlIiByZWw9ImRvd25sb2FkIj5iYWRtZDUtMC4xLnRhci5nejwvYT48YnIvPgorPC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL0xpYi9wYWNrYWdpbmcvdGVzdHMvcHlwaXNlcnZlci9kb3dubG9hZHNfd2l0aF9tZDUvc2ltcGxlL2Zvb2Jhci9pbmRleC5odG1sIGIvTGliL3BhY2thZ2luZy90ZXN0cy9weXBpc2VydmVyL2Rvd25sb2Fkc193aXRoX21kNS9zaW1wbGUvZm9vYmFyL2luZGV4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWU0MmIxNgotLS0gL2Rldi9udWxsCisrKyBiL0xpYi9wYWNrYWdpbmcvdGVzdHMvcHlwaXNlcnZlci9kb3dubG9hZHNfd2l0aF9tZDUvc2ltcGxlL2Zvb2Jhci9pbmRleC5odG1sCkBAIC0wLDAgKzEsMyBAQAorPGh0bWw+PGJvZHk+Cis8YSBocmVmPSJmb29iYXItMC4xLnRhci5neiNtZDU9ZmUxODgwNGM1YjcyMmZmMDI0Y2FiZGY1MTQ5MjRmYzQiIHJlbD0iZG93bmxvYWQiPmZvb2Jhci0wLjEudGFyLmd6PC9hPjxici8+Cis8L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGliL3BhY2thZ2luZy90ZXN0cy9weXBpc2VydmVyL2Rvd25sb2Fkc193aXRoX21kNS9zaW1wbGUvaW5kZXguaHRtbCBiL0xpYi9wYWNrYWdpbmcvdGVzdHMvcHlwaXNlcnZlci9kb3dubG9hZHNfd2l0aF9tZDUvc2ltcGxlL2luZGV4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWJhZWUwNAotLS0gL2Rldi9udWxsCisrKyBiL0xpYi9wYWNrYWdpbmcvdGVzdHMvcHlwaXNlcnZlci9kb3dubG9hZHNfd2l0aF9tZDUvc2ltcGxlL2luZGV4Lmh0bWwKQEAgLTAsMCArMSwyIEBACis8YSBocmVmPSJmb29iYXIvIj5mb29iYXIvPC9hPiAKKzxhIGhyZWY9ImJhZG1kNS8iPmJhZG1kNS88L2E+IApkaWZmIC0tZ2l0IGEvTGliL3BhY2thZ2luZy90ZXN0cy9weXBpc2VydmVyL2Zvb19iYXJfYmF6L3NpbXBsZS9iYXIvaW5kZXguaHRtbCBiL0xpYi9wYWNrYWdpbmcvdGVzdHMvcHlwaXNlcnZlci9mb29fYmFyX2Jhei9zaW1wbGUvYmFyL2luZGV4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzNkNDJjNQotLS0gL2Rldi9udWxsCisrKyBiL0xpYi9wYWNrYWdpbmcvdGVzdHMvcHlwaXNlcnZlci9mb29fYmFyX2Jhei9zaW1wbGUvYmFyL2luZGV4Lmh0bWwKQEAgLTAsMCArMSw2IEBACis8aHRtbD48aGVhZD48dGl0bGU+TGlua3MgZm9yIGJhcjwvdGl0bGU+PC9oZWFkPjxib2R5PjxoMT5MaW5rcyBmb3IgYmFyPC9oMT4KKzxhIHJlbD0iZG93bmxvYWQiIGhyZWY9Ii4uLy4uL3BhY2thZ2VzL3NvdXJjZS9GL2Jhci9iYXItMS4wLnRhci5neiI+YmFyLTEuMC50YXIuZ3o8L2E+PGJyLz4gCis8YSByZWw9ImRvd25sb2FkIiBocmVmPSIuLi8uLi9wYWNrYWdlcy9zb3VyY2UvRi9iYXIvYmFyLTEuMC4xLnRhci5neiI+YmFyLTEuMC4xLnRhci5nejwvYT48YnIvPiAKKzxhIHJlbD0iZG93bmxvYWQiIGhyZWY9Ii4uLy4uL3BhY2thZ2VzL3NvdXJjZS9GL2Jhci9iYXItMi4wLnRhci5neiI+YmFyLTIuMC50YXIuZ3o8L2E+PGJyLz4gCis8YSByZWw9ImRvd25sb2FkIiBocmVmPSIuLi8uLi9wYWNrYWdlcy9zb3VyY2UvRi9iYXIvYmFyLTIuMC4xLnRhci5neiI+YmFyLTIuMC4xLnRhci5nejwvYT48YnIvPiAKKzwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9MaWIvcGFja2FnaW5nL3Rlc3RzL3B5cGlzZXJ2ZXIvZm9vX2Jhcl9iYXovc2ltcGxlL2Jhei9pbmRleC5odG1sIGIvTGliL3BhY2thZ2luZy90ZXN0cy9weXBpc2VydmVyL2Zvb19iYXJfYmF6L3NpbXBsZS9iYXovaW5kZXguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZjM0MzEyCi0tLSAvZGV2L251bGwKKysrIGIvTGliL3BhY2thZ2luZy90ZXN0cy9weXBpc2VydmVyL2Zvb19iYXJfYmF6L3NpbXBsZS9iYXovaW5kZXguaHRtbApAQCAtMCwwICsxLDYgQEAKKzxodG1sPjxoZWFkPjx0aXRsZT5MaW5rcyBmb3IgYmF6PC90aXRsZT48L2hlYWQ+PGJvZHk+PGgxPkxpbmtzIGZvciBiYXo8L2gxPgorPGEgcmVsPSJkb3dubG9hZCIgaHJlZj0iLi4vLi4vcGFja2FnZXMvc291cmNlL0YvYmF6L2Jhei0xLjAudGFyLmd6Ij5iYXotMS4wLnRhci5nejwvYT48YnIvPiAKKzxhIHJlbD0iZG93bmxvYWQiIGhyZWY9Ii4uLy4uL3BhY2thZ2VzL3NvdXJjZS9GL2Jhei9iYXotMS4wLjEudGFyLmd6Ij5iYXotMS4wLjEudGFyLmd6PC9hPjxici8+IAorPGEgcmVsPSJkb3dubG9hZCIgaHJlZj0iLi4vLi4vcGFja2FnZXMvc291cmNlL0YvYmF6L2Jhei0yLjAudGFyLmd6Ij5iYXotMi4wLnRhci5nejwvYT48YnIvPiAKKzxhIHJlbD0iZG93bmxvYWQiIGhyZWY9Ii4uLy4uL3BhY2thZ2VzL3NvdXJjZS9GL2Jhei9iYXotMi4wLjEudGFyLmd6Ij5iYXotMi4wLjEudGFyLmd6PC9hPjxici8+IAorPC9ib2R5PjwvaHRtbD4KZGlmZiAtLWdpdCBhL0xpYi9wYWNrYWdpbmcvdGVzdHMvcHlwaXNlcnZlci9mb29fYmFyX2Jhei9zaW1wbGUvZm9vL2luZGV4Lmh0bWwgYi9MaWIvcGFja2FnaW5nL3Rlc3RzL3B5cGlzZXJ2ZXIvZm9vX2Jhcl9iYXovc2ltcGxlL2Zvby9pbmRleC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA1NjVlMTEKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvcGFja2FnaW5nL3Rlc3RzL3B5cGlzZXJ2ZXIvZm9vX2Jhcl9iYXovc2ltcGxlL2Zvby9pbmRleC5odG1sCkBAIC0wLDAgKzEsNiBAQAorPGh0bWw+PGhlYWQ+PHRpdGxlPkxpbmtzIGZvciBmb288L3RpdGxlPjwvaGVhZD48Ym9keT48aDE+TGlua3MgZm9yIGZvbzwvaDE+Cis8YSByZWw9ImRvd25sb2FkIiBocmVmPSIuLi8uLi9wYWNrYWdlcy9zb3VyY2UvRi9mb28vZm9vLTEuMC50YXIuZ3oiPmZvby0xLjAudGFyLmd6PC9hPjxici8+IAorPGEgcmVsPSJkb3dubG9hZCIgaHJlZj0iLi4vLi4vcGFja2FnZXMvc291cmNlL0YvZm9vL2Zvby0xLjAuMS50YXIuZ3oiPmZvby0xLjAuMS50YXIuZ3o8L2E+PGJyLz4gCis8YSByZWw9ImRvd25sb2FkIiBocmVmPSIuLi8uLi9wYWNrYWdlcy9zb3VyY2UvRi9mb28vZm9vLTIuMC50YXIuZ3oiPmZvby0yLjAudGFyLmd6PC9hPjxici8+IAorPGEgcmVsPSJkb3dubG9hZCIgaHJlZj0iLi4vLi4vcGFja2FnZXMvc291cmNlL0YvZm9vL2Zvby0yLjAuMS50YXIuZ3oiPmZvby0yLjAuMS50YXIuZ3o8L2E+PGJyLz4gCis8L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGliL3BhY2thZ2luZy90ZXN0cy9weXBpc2VydmVyL2Zvb19iYXJfYmF6L3NpbXBsZS9pbmRleC5odG1sIGIvTGliL3BhY2thZ2luZy90ZXN0cy9weXBpc2VydmVyL2Zvb19iYXJfYmF6L3NpbXBsZS9pbmRleC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE3MGNmZDMKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvcGFja2FnaW5nL3Rlc3RzL3B5cGlzZXJ2ZXIvZm9vX2Jhcl9iYXovc2ltcGxlL2luZGV4Lmh0bWwKQEAgLTAsMCArMSwzIEBACis8YSBocmVmPSJmb28vIj5mb28vPC9hPiAKKzxhIGhyZWY9ImJhci8iPmJhci88L2E+IAorPGEgaHJlZj0iYmF6LyI+YmF6LzwvYT4gCmRpZmYgLS1naXQgYS9MaWIvcGFja2FnaW5nL3Rlc3RzL3B5cGlzZXJ2ZXIvcHJvamVjdF9saXN0L3NpbXBsZS9pbmRleC5odG1sIGIvTGliL3BhY2thZ2luZy90ZXN0cy9weXBpc2VydmVyL3Byb2plY3RfbGlzdC9zaW1wbGUvaW5kZXguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMzZkNzI4Ci0tLSAvZGV2L251bGwKKysrIGIvTGliL3BhY2thZ2luZy90ZXN0cy9weXBpc2VydmVyL3Byb2plY3RfbGlzdC9zaW1wbGUvaW5kZXguaHRtbApAQCAtMCwwICsxLDUgQEAKKzxhIGNsYXNzPSJ0ZXN0IiBocmVmPSJ5ZWFoIj5Gb29CYXItYmFyPC9hPgorPGEgY2xhc3M9InRlc3QiIGhyZWY9InllYWgiPkZvb2Jhci1iYXo8L2E+Cis8YSBjbGFzcz0idGVzdCIgaHJlZj0ieWVhaCI+QmF6LUZvb0JhcjwvYT4KKzxhIGNsYXNzPSJ0ZXN0IiBocmVmPSJ5ZWFoIj5CYXo8L2E+Cis8YSBjbGFzcz0idGVzdCIgaHJlZj0ieWVhaCI+Rm9vPC9hPgpkaWZmIC0tZ2l0IGEvTGliL3BhY2thZ2luZy90ZXN0cy9weXBpc2VydmVyL3Rlc3RfZm91bmRfbGlua3Mvc2ltcGxlL2Zvb2Jhci9pbmRleC5odG1sIGIvTGliL3BhY2thZ2luZy90ZXN0cy9weXBpc2VydmVyL3Rlc3RfZm91bmRfbGlua3Mvc2ltcGxlL2Zvb2Jhci9pbmRleC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEyODJhNGUKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvcGFja2FnaW5nL3Rlc3RzL3B5cGlzZXJ2ZXIvdGVzdF9mb3VuZF9saW5rcy9zaW1wbGUvZm9vYmFyL2luZGV4Lmh0bWwKQEAgLTAsMCArMSw2IEBACis8aHRtbD48aGVhZD48dGl0bGU+TGlua3MgZm9yIEZvb2JhcjwvdGl0bGU+PC9oZWFkPjxib2R5PjxoMT5MaW5rcyBmb3IgRm9vYmFyPC9oMT4KKzxhIHJlbD0iZG93bmxvYWQiIGhyZWY9Ii4uLy4uL3BhY2thZ2VzL3NvdXJjZS9GL0Zvb2Jhci9Gb29iYXItMS4wLnRhci5neiNtZDU9OThmYTgzM2ZkYWJjZGQ3OGQwMDI0NWFlYWQ2NmMxNzQiPkZvb2Jhci0xLjAudGFyLmd6PC9hPjxici8+IAorPGEgcmVsPSJkb3dubG9hZCIgaHJlZj0iLi4vLi4vcGFja2FnZXMvc291cmNlL0YvRm9vYmFyL0Zvb2Jhci0xLjAuMS50YXIuZ3ojbWQ1PTIzNTFlZmIyMGY2YjdiNWQ5Y2U4MGZhNGNiMWJkOWNhIj5Gb29iYXItMS4wLjEudGFyLmd6PC9hPjxici8+IAorPGEgcmVsPSJkb3dubG9hZCIgaHJlZj0iLi4vLi4vcGFja2FnZXMvc291cmNlL0YvRm9vYmFyL0Zvb2Jhci0yLjAudGFyLmd6I21kNT05OGZhODMzZmRhYmNkZDc4ZDAwMjQ1YWVhZDY2YzI3NCI+Rm9vYmFyLTIuMC50YXIuZ3o8L2E+PGJyLz4gCis8YSByZWw9ImRvd25sb2FkIiBocmVmPSIuLi8uLi9wYWNrYWdlcy9zb3VyY2UvRi9Gb29iYXIvRm9vYmFyLTIuMC4xLnRhci5neiNtZDU9MjM1MmVmYjIwZjZiN2I1ZDljZTgwZmE0Y2IyYmQ5Y2EiPkZvb2Jhci0yLjAuMS50YXIuZ3o8L2E+PGJyLz4gCis8L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGliL3BhY2thZ2luZy90ZXN0cy9weXBpc2VydmVyL3Rlc3RfZm91bmRfbGlua3Mvc2ltcGxlL2luZGV4Lmh0bWwgYi9MaWIvcGFja2FnaW5nL3Rlc3RzL3B5cGlzZXJ2ZXIvdGVzdF9mb3VuZF9saW5rcy9zaW1wbGUvaW5kZXguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMWE3YmI3Ci0tLSAvZGV2L251bGwKKysrIGIvTGliL3BhY2thZ2luZy90ZXN0cy9weXBpc2VydmVyL3Rlc3RfZm91bmRfbGlua3Mvc2ltcGxlL2luZGV4Lmh0bWwKQEAgLTAsMCArMSBAQAorPGEgaHJlZj0iZm9vYmFyLyI+Zm9vYmFyLzwvYT4gCmRpZmYgLS1naXQgYS9MaWIvcGFja2FnaW5nL3Rlc3RzL3B5cGlzZXJ2ZXIvdGVzdF9weXBpX3NlcnZlci9leHRlcm5hbC9pbmRleC5odG1sIGIvTGliL3BhY2thZ2luZy90ZXN0cy9weXBpc2VydmVyL3Rlc3RfcHlwaV9zZXJ2ZXIvZXh0ZXJuYWwvaW5kZXguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNjVlZTBhCi0tLSAvZGV2L251bGwKKysrIGIvTGliL3BhY2thZ2luZy90ZXN0cy9weXBpc2VydmVyL3Rlc3RfcHlwaV9zZXJ2ZXIvZXh0ZXJuYWwvaW5kZXguaHRtbApAQCAtMCwwICsxIEBACitpbmRleC5odG1sIGZyb20gZXh0ZXJuYWwgc2VydmVyCmRpZmYgLS1naXQgYS9MaWIvcGFja2FnaW5nL3Rlc3RzL3B5cGlzZXJ2ZXIvdGVzdF9weXBpX3NlcnZlci9zaW1wbGUvaW5kZXguaHRtbCBiL0xpYi9wYWNrYWdpbmcvdGVzdHMvcHlwaXNlcnZlci90ZXN0X3B5cGlfc2VydmVyL3NpbXBsZS9pbmRleC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZmOTc2NjcKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvcGFja2FnaW5nL3Rlc3RzL3B5cGlzZXJ2ZXIvdGVzdF9weXBpX3NlcnZlci9zaW1wbGUvaW5kZXguaHRtbApAQCAtMCwwICsxIEBACitZZWFoCmRpZmYgLS1naXQgYS9MaWIvcGFja2FnaW5nL3Rlc3RzL3B5cGlzZXJ2ZXIvd2l0aF9leHRlcm5hbHMvZXh0ZXJuYWwvZXh0ZXJuYWwuaHRtbCBiL0xpYi9wYWNrYWdpbmcvdGVzdHMvcHlwaXNlcnZlci93aXRoX2V4dGVybmFscy9leHRlcm5hbC9leHRlcm5hbC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkyZTQ3MDIKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvcGFja2FnaW5nL3Rlc3RzL3B5cGlzZXJ2ZXIvd2l0aF9leHRlcm5hbHMvZXh0ZXJuYWwvZXh0ZXJuYWwuaHRtbApAQCAtMCwwICsxLDMgQEAKKzxodG1sPjxib2R5PgorPGEgaHJlZj0iL2Zvb2Jhci0wLjEudGFyLmd6I21kNT0xX19iYWRfbWQ1X19fIj5iYWQgb2xkIGxpbms8L2E+Cis8L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGliL3BhY2thZ2luZy90ZXN0cy9weXBpc2VydmVyL3dpdGhfZXh0ZXJuYWxzL3NpbXBsZS9mb29iYXIvaW5kZXguaHRtbCBiL0xpYi9wYWNrYWdpbmcvdGVzdHMvcHlwaXNlcnZlci93aXRoX2V4dGVybmFscy9zaW1wbGUvZm9vYmFyL2luZGV4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjEwMGEyNgotLS0gL2Rldi9udWxsCisrKyBiL0xpYi9wYWNrYWdpbmcvdGVzdHMvcHlwaXNlcnZlci93aXRoX2V4dGVybmFscy9zaW1wbGUvZm9vYmFyL2luZGV4Lmh0bWwKQEAgLTAsMCArMSw0IEBACis8aHRtbD48Ym9keT4KKzxhIHJlbCA9ImRvd25sb2FkIiBocmVmPSIvZm9vYmFyLTAuMS50YXIuZ3ojbWQ1PTEyMzQ1Njc4OTAxMjM0NTY3Ij5mb29iYXItMC4xLnRhci5nejwvYT48YnIvPgorPGEgaHJlZj0iLi4vLi4vZXh0ZXJuYWwvZXh0ZXJuYWwuaHRtbCIgcmVsPSJob21lcGFnZSI+ZXh0ZXJuYWwgaG9tZXBhZ2U8L2E+PGJyLz4KKzwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9MaWIvcGFja2FnaW5nL3Rlc3RzL3B5cGlzZXJ2ZXIvd2l0aF9leHRlcm5hbHMvc2ltcGxlL2luZGV4Lmh0bWwgYi9MaWIvcGFja2FnaW5nL3Rlc3RzL3B5cGlzZXJ2ZXIvd2l0aF9leHRlcm5hbHMvc2ltcGxlL2luZGV4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTFhN2JiNwotLS0gL2Rldi9udWxsCisrKyBiL0xpYi9wYWNrYWdpbmcvdGVzdHMvcHlwaXNlcnZlci93aXRoX2V4dGVybmFscy9zaW1wbGUvaW5kZXguaHRtbApAQCAtMCwwICsxIEBACis8YSBocmVmPSJmb29iYXIvIj5mb29iYXIvPC9hPiAKZGlmZiAtLWdpdCBhL0xpYi9wYWNrYWdpbmcvdGVzdHMvcHlwaXNlcnZlci93aXRoX25vcmVsX2xpbmtzL2V4dGVybmFsL2hvbWVwYWdlLmh0bWwgYi9MaWIvcGFja2FnaW5nL3Rlc3RzL3B5cGlzZXJ2ZXIvd2l0aF9ub3JlbF9saW5rcy9leHRlcm5hbC9ob21lcGFnZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFjYzBjMzIKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvcGFja2FnaW5nL3Rlc3RzL3B5cGlzZXJ2ZXIvd2l0aF9ub3JlbF9saW5rcy9leHRlcm5hbC9ob21lcGFnZS5odG1sCkBAIC0wLDAgKzEsNyBAQAorPGh0bWw+Cis8Ym9keT4KKzxwPmEgcmVsPWhvbWVwYWdlIEhUTUwgcGFnZTwvcD4KKzxhIGhyZWY9Ii9mb29iYXItMi4wLnRhci5neiI+Zm9vYmFyIDIuMDwvYT4KKzwvYm9keT4KKzwvaHRtbD4KKwpkaWZmIC0tZ2l0IGEvTGliL3BhY2thZ2luZy90ZXN0cy9weXBpc2VydmVyL3dpdGhfbm9yZWxfbGlua3MvZXh0ZXJuYWwvbm9ucmVsLmh0bWwgYi9MaWIvcGFja2FnaW5nL3Rlc3RzL3B5cGlzZXJ2ZXIvd2l0aF9ub3JlbF9saW5rcy9leHRlcm5hbC9ub25yZWwuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNmFjZTIyCi0tLSAvZGV2L251bGwKKysrIGIvTGliL3BhY2thZ2luZy90ZXN0cy9weXBpc2VydmVyL3dpdGhfbm9yZWxfbGlua3MvZXh0ZXJuYWwvbm9ucmVsLmh0bWwKQEAgLTAsMCArMSBAQAorQSBwYWdlIGxpbmtlZCB3aXRob3V0IHJlbD0iZG93bmxvYWQiIG9yIHJlbD0iaG9tZXBhZ2UiIGxpbmsuCmRpZmYgLS1naXQgYS9MaWIvcGFja2FnaW5nL3Rlc3RzL3B5cGlzZXJ2ZXIvd2l0aF9ub3JlbF9saW5rcy9zaW1wbGUvZm9vYmFyL2luZGV4Lmh0bWwgYi9MaWIvcGFja2FnaW5nL3Rlc3RzL3B5cGlzZXJ2ZXIvd2l0aF9ub3JlbF9saW5rcy9zaW1wbGUvZm9vYmFyL2luZGV4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTcxZGY5MwotLS0gL2Rldi9udWxsCisrKyBiL0xpYi9wYWNrYWdpbmcvdGVzdHMvcHlwaXNlcnZlci93aXRoX25vcmVsX2xpbmtzL3NpbXBsZS9mb29iYXIvaW5kZXguaHRtbApAQCAtMCwwICsxLDYgQEAKKzxodG1sPjxib2R5PgorPGEgcmVsPSJkb3dubG9hZCIgaHJlZj0iL2Zvb2Jhci0wLjEudGFyLmd6IiByZWw9ImRvd25sb2FkIj5mb29iYXItMC4xLnRhci5nejwvYT48YnIvPgorPGEgaHJlZj0iLi4vLi4vZXh0ZXJuYWwvaG9tZXBhZ2UuaHRtbCIgcmVsPSJob21lcGFnZSI+ZXh0ZXJuYWwgaG9tZXBhZ2U8L2E+PGJyLz4KKzxhIGhyZWY9Ii4uLy4uL2V4dGVybmFsL25vbnJlbC5odG1sIj51bnJlbGF0ZWQgbGluazwvYT48YnIvPgorPGEgaHJlZj0iL3VucmVsYXRlZC0wLjIudGFyLmd6Ij51bnJlbGF0ZWQgZG93bmxvYWQ8L2E+PC9ici8+Cis8L2JvZHk+PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGliL3BhY2thZ2luZy90ZXN0cy9weXBpc2VydmVyL3dpdGhfbm9yZWxfbGlua3Mvc2ltcGxlL2luZGV4Lmh0bWwgYi9MaWIvcGFja2FnaW5nL3Rlc3RzL3B5cGlzZXJ2ZXIvd2l0aF9ub3JlbF9saW5rcy9zaW1wbGUvaW5kZXguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMWE3YmI3Ci0tLSAvZGV2L251bGwKKysrIGIvTGliL3BhY2thZ2luZy90ZXN0cy9weXBpc2VydmVyL3dpdGhfbm9yZWxfbGlua3Mvc2ltcGxlL2luZGV4Lmh0bWwKQEAgLTAsMCArMSBAQAorPGEgaHJlZj0iZm9vYmFyLyI+Zm9vYmFyLzwvYT4gCmRpZmYgLS1naXQgYS9MaWIvcGFja2FnaW5nL3Rlc3RzL3B5cGlzZXJ2ZXIvd2l0aF9yZWFsX2V4dGVybmFscy9zaW1wbGUvZm9vYmFyL2luZGV4Lmh0bWwgYi9MaWIvcGFja2FnaW5nL3Rlc3RzL3B5cGlzZXJ2ZXIvd2l0aF9yZWFsX2V4dGVybmFscy9zaW1wbGUvZm9vYmFyL2luZGV4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjI4ODVhZQotLS0gL2Rldi9udWxsCisrKyBiL0xpYi9wYWNrYWdpbmcvdGVzdHMvcHlwaXNlcnZlci93aXRoX3JlYWxfZXh0ZXJuYWxzL3NpbXBsZS9mb29iYXIvaW5kZXguaHRtbApAQCAtMCwwICsxLDQgQEAKKzxodG1sPjxib2R5PgorPGEgcmVsPSJkb3dubG9hZCIgaHJlZj0iL2Zvb2Jhci0wLjEudGFyLmd6I21kNT0wX2NvcnJlY3RfbWQ1Ij5mb29iYXItMC4xLnRhci5nejwvYT48YnIvPgorPGEgaHJlZj0iaHR0cDovL2EtcmVhbGx5LWV4dGVybmFsLXdlYnNpdGUvZXh0ZXJuYWwvZXh0ZXJuYWwuaHRtbCIgcmVsPSJob21lcGFnZSI+ZXh0ZXJuYWwgaG9tZXBhZ2U8L2E+PGJyLz4KKzwvYm9keT48L2h0bWw+CmRpZmYgLS1naXQgYS9MaWIvcGFja2FnaW5nL3Rlc3RzL3B5cGlzZXJ2ZXIvd2l0aF9yZWFsX2V4dGVybmFscy9zaW1wbGUvaW5kZXguaHRtbCBiL0xpYi9wYWNrYWdpbmcvdGVzdHMvcHlwaXNlcnZlci93aXRoX3JlYWxfZXh0ZXJuYWxzL3NpbXBsZS9pbmRleC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmExYTdiYjcKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvcGFja2FnaW5nL3Rlc3RzL3B5cGlzZXJ2ZXIvd2l0aF9yZWFsX2V4dGVybmFscy9zaW1wbGUvaW5kZXguaHRtbApAQCAtMCwwICsxIEBACis8YSBocmVmPSJmb29iYXIvIj5mb29iYXIvPC9hPiAKZGlmZiAtLWdpdCBhL0xpYi9wYWNrYWdpbmcvdGVzdHMvc3VwcG9ydC5weSBiL0xpYi9wYWNrYWdpbmcvdGVzdHMvc3VwcG9ydC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNzZkM2RiCi0tLSAvZGV2L251bGwKKysrIGIvTGliL3BhY2thZ2luZy90ZXN0cy9zdXBwb3J0LnB5CkBAIC0wLDAgKzEsNDAwIEBACisiIiJTdXBwb3J0IGNvZGUgZm9yIHBhY2thZ2luZyB0ZXN0IGNhc2VzLgorCisqVGhpcyBtb2R1bGUgc2hvdWxkIG5vdCBiZSBjb25zaWRlcmVkIHB1YmxpYzogaXRzIGNvbnRlbnQgYW5kIEFQSSBtYXkKK2NoYW5nZSBpbiBpbmNvbXBhdGlibGUgd2F5cy4qCisKK0EgZmV3IGhlbHBlciBjbGFzc2VzIGFyZSBwcm92aWRlZDogTG9nZ2luZ0NhdGNoZXIsIFRlbXBkaXJNYW5hZ2VyIGFuZAorRW52aXJvblJlc3RvcmVyLiBUaGV5IGFyZSB3cml0dGVuIHRvIGJlIHVzZWQgYXMgbWl4aW5zOjoKKworICAgIGZyb20gcGFja2FnaW5nLnRlc3RzIGltcG9ydCB1bml0dGVzdAorICAgIGZyb20gcGFja2FnaW5nLnRlc3RzLnN1cHBvcnQgaW1wb3J0IExvZ2dpbmdDYXRjaGVyCisKKyAgICBjbGFzcyBTb21lVGVzdENhc2UoTG9nZ2luZ0NhdGNoZXIsIHVuaXR0ZXN0LlRlc3RDYXNlKToKKyAgICAgICAgLi4uCisKK0lmIHlvdSBuZWVkIHRvIGRlZmluZSBhIHNldFVwIG1ldGhvZCBvbiB5b3VyIHRlc3QgY2xhc3MsIHlvdSBoYXZlIHRvCitjYWxsIHRoZSBtaXhpbiBjbGFzcycgc2V0VXAgbWV0aG9kIG9yIGl0IHdvbid0IHdvcmsgKHNhbWUgdGhpbmcgZm9yCit0ZWFyRG93bik6CisKKyAgICAgICAgZGVmIHNldFVwKHNlbGYpOgorICAgICAgICAgICAgc3VwZXIoU29tZVRlc3RDYXNlLCBzZWxmKS5zZXRVcCgpCisgICAgICAgICAgICAuLi4gICMgb3RoZXIgc2V0dXAgY29kZQorCitBbHNvIHByb3ZpZGVkIGlzIGEgRHVtbXlDb21tYW5kIGNsYXNzLCB1c2VmdWwgdG8gbW9jayBjb21tYW5kcyBpbiB0aGUKK3Rlc3RzIG9mIGFub3RoZXIgY29tbWFuZCB0aGF0IG5lZWRzIHRoZW0sIGZvciBleGFtcGxlIHRvIGZha2UKK2NvbXBpbGF0aW9uIGluIGJ1aWxkX2V4dCAodGhpcyByZXF1aXJlcyB0aGF0IHRoZSBtb2NrIGJ1aWxkX2V4dCBjb21tYW5kCitiZSBpbmplY3RlZCBpbnRvIHRoZSBkaXN0cmlidXRpb24gb2JqZWN0J3MgY29tbWFuZF9vYmogZGljdGlvbmFyeSkuCisKK0ZvciB0ZXN0cyB0aGF0IG5lZWQgdG8gY29tcGlsZSBhbiBleHRlbnNpb24gbW9kdWxlLCB1c2UgdGhlCitjb3B5X3h4bW9kdWxlX2MgYW5kIGZpeHVwX2J1aWxkX2V4dCBmdW5jdGlvbnMuCisKK0VhY2ggY2xhc3Mgb3IgZnVuY3Rpb24gaGFzIGEgZG9jc3RyaW5nIHRvIGV4cGxhaW4gaXRzIHB1cnBvc2UgYW5kIHVzYWdlLgorRXhpc3RpbmcgdGVzdHMgc2hvdWxkIGFsc28gYmUgdXNlZCBhcyBleGFtcGxlcy4KKyIiIgorCitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKK2ltcG9ydCBzaHV0aWwKK2ltcG9ydCBsb2dnaW5nCitpbXBvcnQgd2Vha3JlZgoraW1wb3J0IHRlbXBmaWxlCitpbXBvcnQgc3lzY29uZmlnCisKK2Zyb20gcGFja2FnaW5nLmRpc3QgaW1wb3J0IERpc3RyaWJ1dGlvbgorZnJvbSBwYWNrYWdpbmcudXRpbCBpbXBvcnQgcmVzb2x2ZV9uYW1lCitmcm9tIHBhY2thZ2luZy5jb21tYW5kIGltcG9ydCBzZXRfY29tbWFuZCwgX0NPTU1BTkRTCisKK2Zyb20gcGFja2FnaW5nLnRlc3RzIGltcG9ydCB1bml0dGVzdAorZnJvbSB0ZXN0LnN1cHBvcnQgaW1wb3J0IHJlcXVpcmVzX3psaWIsIHVubGluaworCisjIGRlZmluZSBfX2FsbF9fIHRvIG1ha2UgcHlkb2MgbW9yZSB1c2VmdWwKK19fYWxsX18gPSBbCisgICAgIyBUZXN0Q2FzZSBtaXhpbnMKKyAgICAnTG9nZ2luZ0NhdGNoZXInLCAnVGVtcGRpck1hbmFnZXInLCAnRW52aXJvblJlc3RvcmVyJywKKyAgICAjIG1vY2tzCisgICAgJ0R1bW15Q29tbWFuZCcsICdUZXN0RGlzdHJpYnV0aW9uJywgJ0lucHV0cycsCisgICAgIyBtaXNjLiBmdW5jdGlvbnMgYW5kIGRlY29yYXRvcnMKKyAgICAnZmFrZV9kZWMnLCAnY3JlYXRlX2Rpc3RyaWJ1dGlvbicsICd1c2VfY29tbWFuZCcsCisgICAgJ2NvcHlfeHhtb2R1bGVfYycsICdmaXh1cF9idWlsZF9leHQnLAorICAgICdza2lwXzJ0bzNfb3B0aW1pemUnLAorICAgICMgaW1wb3J0ZWQgZnJvbSB0aGlzIG1vZHVsZSBmb3IgYmFja3BvcnQgcHVycG9zZXMKKyAgICAndW5pdHRlc3QnLCAncmVxdWlyZXNfemxpYicsICdza2lwX3VubGVzc19zeW1saW5rJywKK10KKworCitsb2dnZXIgPSBsb2dnaW5nLmdldExvZ2dlcigncGFja2FnaW5nJykKK2xvZ2dlcjJ0bzMgPSBsb2dnaW5nLmdldExvZ2dlcignUmVmYWN0b3JpbmdUb29sJykKKworCitjbGFzcyBfVGVzdEhhbmRsZXIobG9nZ2luZy5oYW5kbGVycy5CdWZmZXJpbmdIYW5kbGVyKToKKyAgICAjIHN0b2xlbiBhbmQgYWRhcHRlZCBmcm9tIHRlc3Quc3VwcG9ydAorCisgICAgZGVmIF9faW5pdF9fKHNlbGYpOgorICAgICAgICBzdXBlcihfVGVzdEhhbmRsZXIsIHNlbGYpLl9faW5pdF9fKDApCisgICAgICAgIHNlbGYuc2V0TGV2ZWwobG9nZ2luZy5ERUJVRykKKworICAgIGRlZiBzaG91bGRGbHVzaChzZWxmKToKKyAgICAgICAgcmV0dXJuIEZhbHNlCisKKyAgICBkZWYgZW1pdChzZWxmLCByZWNvcmQpOgorICAgICAgICBzZWxmLmJ1ZmZlci5hcHBlbmQocmVjb3JkKQorCisKK2NsYXNzIExvZ2dpbmdDYXRjaGVyOgorICAgICIiIlRlc3RDYXNlLWNvbXBhdGlibGUgbWl4aW4gdG8gcmVjZWl2ZSBsb2dnaW5nIGNhbGxzLgorCisgICAgVXBvbiBzZXRVcCwgaW5zdGFuY2VzIG9mIHRoaXMgY2xhc3NlcyBnZXQgYSBCdWZmZXJpbmdIYW5kbGVyIHRoYXQncworICAgIGNvbmZpZ3VyZWQgdG8gcmVjb3JkIGFsbCBtZXNzYWdlcyBsb2dnZWQgdG8gdGhlICdwYWNrYWdpbmcnIGxvZ2dlci4KKworICAgIFVzZSBnZXRfbG9ncyB0byByZXRyaWV2ZSBtZXNzYWdlcyBhbmQgc2VsZi5sb2doYW5kbGVyLmZsdXNoIHRvIGRpc2NhcmQKKyAgICB0aGVtLiAgZ2V0X2xvZ3MgYXV0b21hdGljYWxseSBmbHVzaGVzIHRoZSBsb2dzLCB1bmxlc3MgeW91IHBhc3MKKyAgICAqZmx1c2g9RmFsc2UqLCBmb3IgZXhhbXBsZSB0byBtYWtlIG11bHRpcGxlIGNhbGxzIHRvIHRoZSBtZXRob2Qgd2l0aAorICAgIGRpZmZlcmVudCBsZXZlbCBhcmd1bWVudHMuICBJZiB5b3VyIHRlc3QgY2FsbHMgc29tZSBjb2RlIHRoYXQgZ2VuZXJhdGVzCisgICAgbG9nZ2luZyBtZXNzYWdlIGFuZCB0aGVuIHlvdSBkb24ndCBjYWxsIGdldF9sb2dzLCB5b3Ugd2lsbCBuZWVkIHRvIGZsdXNoCisgICAgbWFudWFsbHkgYmVmb3JlIHRlc3Rpbmcgb3RoZXIgY29kZSBpbiB0aGUgc2FtZSB0ZXN0XyogbWV0aG9kLCBvdGhlcndpc2UKKyAgICBnZXRfbG9ncyBpbiB0aGUgbmV4dCBsaW5lcyB3aWxsIHNlZSBtZXNzYWdlcyBmcm9tIHRoZSBwcmV2aW91cyBsaW5lcy4KKyAgICBTZWUgZXhhbXBsZSBpbiB0ZXN0X2NvbW1hbmRfY2hlY2suCisgICAgIiIiCisKKyAgICBkZWYgc2V0VXAoc2VsZik6CisgICAgICAgIHN1cGVyKExvZ2dpbmdDYXRjaGVyLCBzZWxmKS5zZXRVcCgpCisgICAgICAgIHNlbGYubG9naGFuZGxlciA9IGhhbmRsZXIgPSBfVGVzdEhhbmRsZXIoKQorICAgICAgICBzZWxmLl9vbGRfbGV2ZWxzID0gbG9nZ2VyLmxldmVsLCBsb2dnZXIydG8zLmxldmVsCisgICAgICAgIGxvZ2dlci5hZGRIYW5kbGVyKGhhbmRsZXIpCisgICAgICAgIGxvZ2dlci5zZXRMZXZlbChsb2dnaW5nLkRFQlVHKSAgIyB3ZSB3YW50IGFsbCBtZXNzYWdlcworICAgICAgICBsb2dnZXIydG8zLnNldExldmVsKGxvZ2dpbmcuQ1JJVElDQUwpICAjIHdlIGRvbid0IHdhbnQgMnRvMyBtZXNzYWdlcworCisgICAgZGVmIHRlYXJEb3duKHNlbGYpOgorICAgICAgICBoYW5kbGVyID0gc2VsZi5sb2doYW5kbGVyCisgICAgICAgICMgQWxsIHRoaXMgaXMgbmVjZXNzYXJ5IHRvIHByb3Blcmx5IHNodXQgZG93biB0aGUgbG9nZ2luZyBzeXN0ZW0gYW5kCisgICAgICAgICMgYXZvaWQgYSByZWdydGVzdCBjb21wbGFpbnQuICBUaGFua3MgdG8gVmluYXkgU2FqaXAgZm9yIHRoZSBoZWxwLgorICAgICAgICBoYW5kbGVyLmNsb3NlKCkKKyAgICAgICAgbG9nZ2VyLnJlbW92ZUhhbmRsZXIoaGFuZGxlcikKKyAgICAgICAgZm9yIHJlZiBpbiB3ZWFrcmVmLmdldHdlYWtyZWZzKGhhbmRsZXIpOgorICAgICAgICAgICAgbG9nZ2luZy5fcmVtb3ZlSGFuZGxlclJlZihyZWYpCisgICAgICAgIGRlbCBzZWxmLmxvZ2hhbmRsZXIKKyAgICAgICAgbG9nZ2VyLnNldExldmVsKHNlbGYuX29sZF9sZXZlbHNbMF0pCisgICAgICAgIGxvZ2dlcjJ0bzMuc2V0TGV2ZWwoc2VsZi5fb2xkX2xldmVsc1sxXSkKKyAgICAgICAgc3VwZXIoTG9nZ2luZ0NhdGNoZXIsIHNlbGYpLnRlYXJEb3duKCkKKworICAgIGRlZiBnZXRfbG9ncyhzZWxmLCBsZXZlbD1sb2dnaW5nLldBUk5JTkcsIGZsdXNoPVRydWUpOgorICAgICAgICAiIiJSZXR1cm4gYWxsIGxvZyBtZXNzYWdlcyB3aXRoIGdpdmVuIGxldmVsLgorCisgICAgICAgICpsZXZlbCogZGVmYXVsdHMgdG8gbG9nZ2luZy5XQVJOSU5HLgorCisgICAgICAgIEZvciBsb2cgY2FsbHMgd2l0aCBhcmd1bWVudHMgKGkuZS4gIGxvZ2dlci5pbmZvKCdibGEgYmxhICVyJywgYXJnKSksCisgICAgICAgIHRoZSBtZXNzYWdlcyB3aWxsIGJlIGZvcm1hdHRlZCBiZWZvcmUgYmVpbmcgcmV0dXJuZWQgKGUuZy4gImJsYSBibGEKKyAgICAgICAgJ3RoaW5nJyIpLgorCisgICAgICAgIFJldHVybnMgYSBsaXN0LiAgQXV0b21hdGljYWxseSBmbHVzaGVzIHRoZSBsb2doYW5kbGVyIGFmdGVyIGJlaW5nCisgICAgICAgIGNhbGxlZCwgdW5sZXNzICpmbHVzaCogaXMgRmFsc2UgKHRoaXMgaXMgdXNlZnVsIHRvIGdldCBlLmcuIGFsbAorICAgICAgICB3YXJuaW5ncyB0aGVuIGFsbCBpbmZvIG1lc3NhZ2VzKS4KKyAgICAgICAgIiIiCisgICAgICAgIG1lc3NhZ2VzID0gW2xvZy5nZXRNZXNzYWdlKCkgZm9yIGxvZyBpbiBzZWxmLmxvZ2hhbmRsZXIuYnVmZmVyCisgICAgICAgICAgICAgICAgICAgIGlmIGxvZy5sZXZlbG5vID09IGxldmVsXQorICAgICAgICBpZiBmbHVzaDoKKyAgICAgICAgICAgIHNlbGYubG9naGFuZGxlci5mbHVzaCgpCisgICAgICAgIHJldHVybiBtZXNzYWdlcworCisKK2NsYXNzIFRlbXBkaXJNYW5hZ2VyOgorICAgICIiIlRlc3RDYXNlLWNvbXBhdGlibGUgbWl4aW4gdG8gY3JlYXRlIHRlbXBvcmFyeSBkaXJlY3RvcmllcyBhbmQgZmlsZXMuCisKKyAgICBEaXJlY3RvcmllcyBhbmQgZmlsZXMgY3JlYXRlZCBpbiBhIHRlc3RfKiBtZXRob2Qgd2lsbCBiZSByZW1vdmVkIGFmdGVyIGl0CisgICAgaGFzIHJ1bi4KKyAgICAiIiIKKworICAgIGRlZiBzZXRVcChzZWxmKToKKyAgICAgICAgc3VwZXIoVGVtcGRpck1hbmFnZXIsIHNlbGYpLnNldFVwKCkKKyAgICAgICAgc2VsZi5fb2xkZGlyID0gb3MuZ2V0Y3dkKCkKKyAgICAgICAgc2VsZi5fYmFzZXRlbXBkaXIgPSB0ZW1wZmlsZS5ta2R0ZW1wKCkKKyAgICAgICAgc2VsZi5fZmlsZXMgPSBbXQorCisgICAgZGVmIHRlYXJEb3duKHNlbGYpOgorICAgICAgICBmb3IgaGFuZGxlLCBuYW1lIGluIHNlbGYuX2ZpbGVzOgorICAgICAgICAgICAgaGFuZGxlLmNsb3NlKCkKKyAgICAgICAgICAgIHVubGluayhuYW1lKQorCisgICAgICAgIG9zLmNoZGlyKHNlbGYuX29sZGRpcikKKyAgICAgICAgc2h1dGlsLnJtdHJlZShzZWxmLl9iYXNldGVtcGRpcikKKyAgICAgICAgc3VwZXIoVGVtcGRpck1hbmFnZXIsIHNlbGYpLnRlYXJEb3duKCkKKworICAgIGRlZiBta3RlbXBmaWxlKHNlbGYpOgorICAgICAgICAiIiJDcmVhdGUgYSByZWFkLXdyaXRlIHRlbXBvcmFyeSBmaWxlIGFuZCByZXR1cm4gaXQuIiIiCisgICAgICAgIGZkLCBmbiA9IHRlbXBmaWxlLm1rc3RlbXAoZGlyPXNlbGYuX2Jhc2V0ZW1wZGlyKQorICAgICAgICBvcy5jbG9zZShmZCkKKyAgICAgICAgZnAgPSBvcGVuKGZuLCAndysnKQorICAgICAgICBzZWxmLl9maWxlcy5hcHBlbmQoKGZwLCBmbikpCisgICAgICAgIHJldHVybiBmcAorCisgICAgZGVmIG1rZHRlbXAoc2VsZik6CisgICAgICAgICIiIkNyZWF0ZSBhIHRlbXBvcmFyeSBkaXJlY3RvcnkgYW5kIHJldHVybiBpdHMgcGF0aC4iIiIKKyAgICAgICAgZCA9IHRlbXBmaWxlLm1rZHRlbXAoZGlyPXNlbGYuX2Jhc2V0ZW1wZGlyKQorICAgICAgICByZXR1cm4gZAorCisgICAgZGVmIHdyaXRlX2ZpbGUoc2VsZiwgcGF0aCwgY29udGVudD0neHh4JywgZW5jb2Rpbmc9Tm9uZSk6CisgICAgICAgICIiIldyaXRlIGEgZmlsZSBhdCB0aGUgZ2l2ZW4gcGF0aC4KKworICAgICAgICBwYXRoIGNhbiBiZSBhIHN0cmluZywgYSB0dXBsZSBvciBhIGxpc3Q7IGlmIGl0J3MgYSB0dXBsZSBvciBsaXN0LAorICAgICAgICBvcy5wYXRoLmpvaW4gd2lsbCBiZSB1c2VkIHRvIHByb2R1Y2UgYSBwYXRoLgorICAgICAgICAiIiIKKyAgICAgICAgaWYgaXNpbnN0YW5jZShwYXRoLCAobGlzdCwgdHVwbGUpKToKKyAgICAgICAgICAgIHBhdGggPSBvcy5wYXRoLmpvaW4oKnBhdGgpCisgICAgICAgIHdpdGggb3BlbihwYXRoLCAndycsIGVuY29kaW5nPWVuY29kaW5nKSBhcyBmOgorICAgICAgICAgICAgZi53cml0ZShjb250ZW50KQorCisgICAgZGVmIGNyZWF0ZV9kaXN0KHNlbGYsICoqa3cpOgorICAgICAgICAiIiJDcmVhdGUgYSBzdHViIGRpc3RyaWJ1dGlvbiBvYmplY3QgYW5kIGZpbGVzLgorCisgICAgICAgIFRoaXMgZnVuY3Rpb24gY3JlYXRlcyBhIERpc3RyaWJ1dGlvbiBpbnN0YW5jZSAodXNlIGtleXdvcmQgYXJndW1lbnRzCisgICAgICAgIHRvIGN1c3RvbWl6ZSBpdCkgYW5kIGEgdGVtcG9yYXJ5IGRpcmVjdG9yeSB3aXRoIGEgcHJvamVjdCBzdHJ1Y3R1cmUKKyAgICAgICAgKGN1cnJlbnRseSBhbiBlbXB0eSBkaXJlY3RvcnkpLgorCisgICAgICAgIEl0IHJldHVybnMgdGhlIHBhdGggdG8gdGhlIGRpcmVjdG9yeSBhbmQgdGhlIERpc3RyaWJ1dGlvbiBpbnN0YW5jZS4KKyAgICAgICAgWW91IGNhbiB1c2Ugc2VsZi53cml0ZV9maWxlIHRvIHdyaXRlIGFueSBmaWxlIGluIHRoYXQKKyAgICAgICAgZGlyZWN0b3J5LCBlLmcuIHNldHVwIHNjcmlwdHMgb3IgUHl0aG9uIG1vZHVsZXMuCisgICAgICAgICIiIgorICAgICAgICBpZiAnbmFtZScgbm90IGluIGt3OgorICAgICAgICAgICAga3dbJ25hbWUnXSA9ICdmb28nCisgICAgICAgIHRtcF9kaXIgPSBzZWxmLm1rZHRlbXAoKQorICAgICAgICBwcm9qZWN0X2RpciA9IG9zLnBhdGguam9pbih0bXBfZGlyLCBrd1snbmFtZSddKQorICAgICAgICBvcy5ta2Rpcihwcm9qZWN0X2RpcikKKyAgICAgICAgZGlzdCA9IERpc3RyaWJ1dGlvbihhdHRycz1rdykKKyAgICAgICAgcmV0dXJuIHByb2plY3RfZGlyLCBkaXN0CisKKyAgICBkZWYgYXNzZXJ0SXNGaWxlKHNlbGYsICphcmdzKToKKyAgICAgICAgcGF0aCA9IG9zLnBhdGguam9pbigqYXJncykKKyAgICAgICAgZGlybmFtZSA9IG9zLnBhdGguZGlybmFtZShwYXRoKQorICAgICAgICBmaWxlID0gb3MucGF0aC5iYXNlbmFtZShwYXRoKQorICAgICAgICBpZiBvcy5wYXRoLmlzZGlyKGRpcm5hbWUpOgorICAgICAgICAgICAgZmlsZXMgPSBvcy5saXN0ZGlyKGRpcm5hbWUpCisgICAgICAgICAgICBtc2cgPSAiJXMgbm90IGZvdW5kIGluICVzOiAlcyIgJSAoZmlsZSwgZGlybmFtZSwgZmlsZXMpCisgICAgICAgICAgICBhc3NlcnQgb3MucGF0aC5pc2ZpbGUocGF0aCksIG1zZworICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmFpc2UgQXNzZXJ0aW9uRXJyb3IoCisgICAgICAgICAgICAgICAgICAgICclcyBub3QgZm91bmQuICVzIGRvZXMgbm90IGV4aXN0JyAlIChmaWxlLCBkaXJuYW1lKSkKKworICAgIGRlZiBhc3NlcnRJc05vdEZpbGUoc2VsZiwgKmFyZ3MpOgorICAgICAgICBwYXRoID0gb3MucGF0aC5qb2luKCphcmdzKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKG9zLnBhdGguaXNmaWxlKHBhdGgpLCAiJXIgZXhpc3RzIiAlIHBhdGgpCisKKworY2xhc3MgRW52aXJvblJlc3RvcmVyOgorICAgICIiIlRlc3RDYXNlLWNvbXBhdGlibGUgbWl4aW4gdG8gcmVzdG9yZSBvciBkZWxldGUgZW52aXJvbm1lbnQgdmFyaWFibGVzLgorCisgICAgVGhlIHZhcmlhYmxlcyB0byByZXN0b3JlIChvciBkZWxldGUgaWYgdGhleSB3ZXJlIG5vdCBvcmlnaW5hbGx5IHByZXNlbnQpCisgICAgbXVzdCBiZSBleHBsaWNpdGx5IGxpc3RlZCBpbiBzZWxmLnJlc3RvcmVfZW52aXJvbi4gIEl0J3MgYmV0dGVyIHRvIGJlCisgICAgYXdhcmUgb2Ygd2hhdCB3ZSdyZSBtb2RpZnlpbmcgaW5zdGVhZCBvZiBzYXZpbmcgYW5kIHJlc3RvcmluZyB0aGUgd2hvbGUKKyAgICBlbnZpcm9ubWVudC4KKyAgICAiIiIKKworICAgIGRlZiBzZXRVcChzZWxmKToKKyAgICAgICAgc3VwZXIoRW52aXJvblJlc3RvcmVyLCBzZWxmKS5zZXRVcCgpCisgICAgICAgIHNlbGYuX3NhdmVkID0gW10KKyAgICAgICAgc2VsZi5fYWRkZWQgPSBbXQorICAgICAgICBmb3Iga2V5IGluIHNlbGYucmVzdG9yZV9lbnZpcm9uOgorICAgICAgICAgICAgaWYga2V5IGluIG9zLmVudmlyb246CisgICAgICAgICAgICAgICAgc2VsZi5fc2F2ZWQuYXBwZW5kKChrZXksIG9zLmVudmlyb25ba2V5XSkpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHNlbGYuX2FkZGVkLmFwcGVuZChrZXkpCisKKyAgICBkZWYgdGVhckRvd24oc2VsZik6CisgICAgICAgIGZvciBrZXksIHZhbHVlIGluIHNlbGYuX3NhdmVkOgorICAgICAgICAgICAgb3MuZW52aXJvbltrZXldID0gdmFsdWUKKyAgICAgICAgZm9yIGtleSBpbiBzZWxmLl9hZGRlZDoKKyAgICAgICAgICAgIG9zLmVudmlyb24ucG9wKGtleSwgTm9uZSkKKyAgICAgICAgc3VwZXIoRW52aXJvblJlc3RvcmVyLCBzZWxmKS50ZWFyRG93bigpCisKKworY2xhc3MgRHVtbXlDb21tYW5kOgorICAgICIiIkNsYXNzIHRvIHN0b3JlIG9wdGlvbnMgZm9yIHJldHJpZXZhbCB2aWEgc2V0X3VuZGVmaW5lZF9vcHRpb25zKCkuCisKKyAgICBVc2VmdWwgZm9yIG1vY2tpbmcgb25lIGRlcGVuZGVuY3kgY29tbWFuZCBpbiB0aGUgdGVzdHMgZm9yIGFub3RoZXIKKyAgICBjb21tYW5kLCBzZWUgZS5nLiB0aGUgZHVtbXkgYnVpbGQgY29tbWFuZCBpbiB0ZXN0X2J1aWxkX3NjcmlwdHMuCisgICAgIiIiCisgICAgIyBYWFggZG9lcyBub3Qgd29yayB3aXRoIGRpc3QucmVpbml0aWFsaXplX2NvbW1hbmQsIHdoaWNoIHR5cGVjaGVja3MKKyAgICAjIGFuZCB3YW50cyBhIGZpbmFsaXplZCBhdHRyaWJ1dGUKKworICAgIGRlZiBfX2luaXRfXyhzZWxmLCAqKmt3YXJncyk6CisgICAgICAgIGZvciBrdywgdmFsIGluIGt3YXJncy5pdGVtcygpOgorICAgICAgICAgICAgc2V0YXR0cihzZWxmLCBrdywgdmFsKQorCisgICAgZGVmIGVuc3VyZV9maW5hbGl6ZWQoc2VsZik6CisgICAgICAgIHBhc3MKKworCitjbGFzcyBUZXN0RGlzdHJpYnV0aW9uKERpc3RyaWJ1dGlvbik6CisgICAgIiIiRGlzdHJpYnV0aW9uIHN1YmNsYXNzZXMgdGhhdCBhdm9pZHMgdGhlIGRlZmF1bHQgc2VhcmNoIGZvcgorICAgIGNvbmZpZ3VyYXRpb24gZmlsZXMuCisKKyAgICBUaGUgLl9jb25maWdfZmlsZXMgYXR0cmlidXRlIG11c3QgYmUgc2V0IGJlZm9yZQorICAgIC5wYXJzZV9jb25maWdfZmlsZXMoKSBpcyBjYWxsZWQuCisgICAgIiIiCisKKyAgICBkZWYgZmluZF9jb25maWdfZmlsZXMoc2VsZik6CisgICAgICAgIHJldHVybiBzZWxmLl9jb25maWdfZmlsZXMKKworCitjbGFzcyBJbnB1dHM6CisgICAgIiIiRmFrZXMgdXNlciBpbnB1dHMuIiIiCisgICAgIyBUT0RPIGRvY3VtZW50IHVzYWdlCisgICAgIyBUT0RPIHVzZSBjb250ZXh0IG1hbmFnZXIgb3Igc29tZXRoaW5nIGZvciBhdXRvIGNsZWFudXAKKworICAgIGRlZiBfX2luaXRfXyhzZWxmLCAqYW5zd2Vycyk6CisgICAgICAgIHNlbGYuYW5zd2VycyA9IGFuc3dlcnMKKyAgICAgICAgc2VsZi5pbmRleCA9IDAKKworICAgIGRlZiBfX2NhbGxfXyhzZWxmLCBwcm9tcHQ9JycpOgorICAgICAgICB0cnk6CisgICAgICAgICAgICByZXR1cm4gc2VsZi5hbnN3ZXJzW3NlbGYuaW5kZXhdCisgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICBzZWxmLmluZGV4ICs9IDEKKworCitkZWYgY3JlYXRlX2Rpc3RyaWJ1dGlvbihjb25maWdmaWxlcz0oKSk6CisgICAgIiIiUHJlcGFyZXMgYSBkaXN0cmlidXRpb24gd2l0aCBnaXZlbiBjb25maWcgZmlsZXMgcGFyc2VkLiIiIgorICAgIGQgPSBUZXN0RGlzdHJpYnV0aW9uKCkKKyAgICBkLmNvbmZpZy5maW5kX2NvbmZpZ19maWxlcyA9IGQuZmluZF9jb25maWdfZmlsZXMKKyAgICBkLl9jb25maWdfZmlsZXMgPSBjb25maWdmaWxlcworICAgIGQucGFyc2VfY29uZmlnX2ZpbGVzKCkKKyAgICBkLnBhcnNlX2NvbW1hbmRfbGluZSgpCisgICAgcmV0dXJuIGQKKworCitkZWYgdXNlX2NvbW1hbmQodGVzdGNhc2UsIGZ1bGxuYW1lKToKKyAgICAiIiJSZWdpc3RlciBjb21tYW5kIGF0ICpmdWxsbmFtZSogZm9yIHRoZSBkdXJhdGlvbiBvZiBhIHRlc3QuIiIiCisgICAgc2V0X2NvbW1hbmQoZnVsbG5hbWUpCisgICAgIyBYWFggbWF5YmUgc2V0X2NvbW1hbmQgc2hvdWxkIHJldHVybiB0aGUgY2xhc3Mgb2JqZWN0CisgICAgbmFtZSA9IHJlc29sdmVfbmFtZShmdWxsbmFtZSkuZ2V0X2NvbW1hbmRfbmFtZSgpCisgICAgIyBYWFggbWF5YmUgd2UgbmVlZCBhIHB1YmxpYyBBUEkgdG8gcmVtb3ZlIGNvbW1hbmRzCisgICAgdGVzdGNhc2UuYWRkQ2xlYW51cChfQ09NTUFORFMuX19kZWxpdGVtX18sIG5hbWUpCisKKworZGVmIGZha2VfZGVjKCphcmdzLCAqKmt3KToKKyAgICAiIiJGYWtlIGRlY29yYXRvciIiIgorICAgIGRlZiBfd3JhcChmdW5jKToKKyAgICAgICAgZGVmIF9fd3JhcCgqYXJncywgKiprdyk6CisgICAgICAgICAgICByZXR1cm4gZnVuYygqYXJncywgKiprdykKKyAgICAgICAgcmV0dXJuIF9fd3JhcAorICAgIHJldHVybiBfd3JhcAorCisKK2RlZiBjb3B5X3h4bW9kdWxlX2MoZGlyZWN0b3J5KToKKyAgICAiIiJIZWxwZXIgZm9yIHRlc3RzIHRoYXQgbmVlZCB0aGUgeHhtb2R1bGUuYyBzb3VyY2UgZmlsZS4KKworICAgIEV4YW1wbGUgdXNlOgorCisgICAgICAgIGRlZiB0ZXN0X2NvbXBpbGUoc2VsZik6CisgICAgICAgICAgICBjb3B5X3h4bW9kdWxlX2Moc2VsZi50bXBkaXIpCisgICAgICAgICAgICBzZWxmLmFzc2VydEluKCd4eG1vZHVsZS5jJywgb3MubGlzdGRpcihzZWxmLnRtcGRpcikpCisKKyAgICBJZiB0aGUgc291cmNlIGZpbGUgY2FuIGJlIGZvdW5kLCBpdCB3aWxsIGJlIGNvcGllZCB0byAqZGlyZWN0b3J5Ki4gIElmIG5vdCwKKyAgICB0aGUgdGVzdCB3aWxsIGJlIHNraXBwZWQuICBFcnJvcnMgZHVyaW5nIGNvcHkgYXJlIG5vdCBjYXVnaHQuCisgICAgIiIiCisgICAgZmlsZW5hbWUgPSBfZ2V0X3h4bW9kdWxlX3BhdGgoKQorICAgIGlmIGZpbGVuYW1lIGlzIE5vbmU6CisgICAgICAgIHJhaXNlIHVuaXR0ZXN0LlNraXBUZXN0KCdjYW5ub3QgZmluZCB4eG1vZHVsZS5jJykKKyAgICBzaHV0aWwuY29weShmaWxlbmFtZSwgZGlyZWN0b3J5KQorCisKK2RlZiBfZ2V0X3h4bW9kdWxlX3BhdGgoKToKKyAgICBpZiBzeXNjb25maWcuaXNfcHl0aG9uX2J1aWxkKCk6CisgICAgICAgIHNyY2RpciA9IHN5c2NvbmZpZy5nZXRfY29uZmlnX3ZhcigncHJvamVjdGJhc2UnKQorICAgICAgICBwYXRoID0gb3MucGF0aC5qb2luKG9zLmdldGN3ZCgpLCBzcmNkaXIsICdNb2R1bGVzJywgJ3h4bW9kdWxlLmMnKQorICAgIGVsc2U6CisgICAgICAgIHBhdGggPSBvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKSwgJ3h4bW9kdWxlLmMnKQorICAgIGlmIG9zLnBhdGguZXhpc3RzKHBhdGgpOgorICAgICAgICByZXR1cm4gcGF0aAorCisKK2RlZiBmaXh1cF9idWlsZF9leHQoY21kKToKKyAgICAiIiJGdW5jdGlvbiBuZWVkZWQgdG8gbWFrZSBidWlsZF9leHQgdGVzdHMgcGFzcy4KKworICAgIFdoZW4gUHl0aG9uIHdhcyBidWlsdCB3aXRoIC0tZW5hYmxlLXNoYXJlZCBvbiBVbml4LCAtTC4gaXMgbm90IGVub3VnaCB0bworICAgIGZpbmQgbGlicHl0aG9uPGJsYWg+LnNvLCBiZWNhdXNlIHJlZ3J0ZXN0IHJ1bnMgaW4gYSB0ZW1wZGlyLCBub3QgaW4gdGhlCisgICAgc291cmNlIGRpcmVjdG9yeSB3aGVyZSB0aGUgLnNvIGxpdmVzLiAgKE1hYyBPUyBYIGVtYmVkcyBhYnNvbHV0ZSBwYXRocworICAgIHRvIHNoYXJlZCBsaWJyYXJpZXMgaW50byBleGVjdXRhYmxlcywgc28gdGhlIGZpeHVwIGlzIGEgbm8tb3Agb24gdGhhdAorICAgIHBsYXRmb3JtLikKKworICAgIFdoZW4gUHl0aG9uIHdhcyBidWlsdCB3aXRoIGluIGRlYnVnIG1vZGUgb24gV2luZG93cywgYnVpbGRfZXh0IGNvbW1hbmRzCisgICAgbmVlZCB0aGVpciBkZWJ1ZyBhdHRyaWJ1dGUgc2V0LCBhbmQgaXQgaXMgbm90IGRvbmUgYXV0b21hdGljYWxseSBmb3IKKyAgICBzb21lIHJlYXNvbi4KKworICAgIFRoaXMgZnVuY3Rpb24gaGFuZGxlcyBib3RoIG9mIHRoZXNlIHRoaW5ncywgYW5kIGFsc28gZml4ZXMKKyAgICBjbWQuZGlzdHJpYnV0aW9uLmluY2x1ZGVfZGlycyBpZiB0aGUgcnVubmluZyBQeXRob24gaXMgYW4gdW5pbnN0YWxsZWQKKyAgICBidWlsZC4gIEV4YW1wbGUgdXNlOgorCisgICAgICAgIGNtZCA9IGJ1aWxkX2V4dChkaXN0KQorICAgICAgICBzdXBwb3J0LmZpeHVwX2J1aWxkX2V4dChjbWQpCisgICAgICAgIGNtZC5lbnN1cmVfZmluYWxpemVkKCkKKyAgICAiIiIKKyAgICBpZiBvcy5uYW1lID09ICdudCc6CisgICAgICAgIGNtZC5kZWJ1ZyA9IHN5cy5leGVjdXRhYmxlLmVuZHN3aXRoKCdfZC5leGUnKQorICAgIGVsaWYgc3lzY29uZmlnLmdldF9jb25maWdfdmFyKCdQeV9FTkFCTEVfU0hBUkVEJyk6CisgICAgICAgICMgVG8gZnVydGhlciBhZGQgdG8gdGhlIHNoYXJlZCBidWlsZHMgZnVuIG9uIFVuaXgsIHdlIGNhbid0IGp1c3QgYWRkCisgICAgICAgICMgbGlicmFyeV9kaXJzIHRvIHRoZSBFeHRlbnNpb24oKSBpbnN0YW5jZSBiZWNhdXNlIHRoYXQgZG9lc24ndCBnZXQKKyAgICAgICAgIyBwbHVtYmVkIHRocm91Z2ggdG8gdGhlIGZpbmFsIGNvbXBpbGVyIGNvbW1hbmQuCisgICAgICAgIHJ1bnNoYXJlZCA9IHN5c2NvbmZpZy5nZXRfY29uZmlnX3ZhcignUlVOU0hBUkVEJykKKyAgICAgICAgaWYgcnVuc2hhcmVkIGlzIE5vbmU6CisgICAgICAgICAgICBjbWQubGlicmFyeV9kaXJzID0gWycuJ10KKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGlmIHN5cy5wbGF0Zm9ybSA9PSAnZGFyd2luJzoKKyAgICAgICAgICAgICAgICBjbWQubGlicmFyeV9kaXJzID0gW10KKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgbmFtZSwgZXF1YWxzLCB2YWx1ZSA9IHJ1bnNoYXJlZC5wYXJ0aXRpb24oJz0nKQorICAgICAgICAgICAgICAgIGNtZC5saWJyYXJ5X2RpcnMgPSB2YWx1ZS5zcGxpdChvcy5wYXRoc2VwKQorCisgICAgIyBBbGxvdyB0ZXN0cyB0byBydW4gd2l0aCBhbiB1bmluc3RhbGxlZCBQeXRob24KKyAgICBpZiBzeXNjb25maWcuaXNfcHl0aG9uX2J1aWxkKCk6CisgICAgICAgIHB5c3JjZGlyID0gc3lzY29uZmlnLmdldF9jb25maWdfdmFyKCdwcm9qZWN0YmFzZScpCisgICAgICAgIGNtZC5kaXN0cmlidXRpb24uaW5jbHVkZV9kaXJzLmFwcGVuZChvcy5wYXRoLmpvaW4ocHlzcmNkaXIsICdJbmNsdWRlJykpCisKKwordHJ5OgorICAgIGZyb20gdGVzdC5zdXBwb3J0IGltcG9ydCBza2lwX3VubGVzc19zeW1saW5rCitleGNlcHQgSW1wb3J0RXJyb3I6CisgICAgc2tpcF91bmxlc3Nfc3ltbGluayA9IHVuaXR0ZXN0LnNraXAoCisgICAgICAgICdyZXF1aXJlcyB0ZXN0LnN1cHBvcnQuc2tpcF91bmxlc3Nfc3ltbGluaycpCisKK3NraXBfMnRvM19vcHRpbWl6ZSA9IHVuaXR0ZXN0LnNraXBJZihzeXMuZmxhZ3Mub3B0aW1pemUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjJ0bzMgZG9lc24ndCB3b3JrIHVuZGVyIC1PIikKZGlmZiAtLWdpdCBhL0xpYi9wYWNrYWdpbmcvdGVzdHMvdGVzdF9jY29tcGlsZXIucHkgYi9MaWIvcGFja2FnaW5nL3Rlc3RzL3Rlc3RfY2NvbXBpbGVyLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRkNGJkZDkKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvcGFja2FnaW5nL3Rlc3RzL3Rlc3RfY2NvbXBpbGVyLnB5CkBAIC0wLDAgKzEsMTUgQEAKKyIiIlRlc3RzIGZvciBkaXN0dXRpbHMuY29tcGlsZXIuY2NvbXBpbGVyLiIiIgorCitmcm9tIHBhY2thZ2luZy5jb21waWxlciBpbXBvcnQgY2NvbXBpbGVyCitmcm9tIHBhY2thZ2luZy50ZXN0cyBpbXBvcnQgdW5pdHRlc3QsIHN1cHBvcnQKKworCitjbGFzcyBDQ29tcGlsZXJUZXN0Q2FzZSh1bml0dGVzdC5UZXN0Q2FzZSk6CisgICAgcGFzcyAgIyBYWFggbmVlZCBzb21lIHRlc3RzIG9uIENDb21waWxlcgorCisKK2RlZiB0ZXN0X3N1aXRlKCk6CisgICAgcmV0dXJuIHVuaXR0ZXN0Lm1ha2VTdWl0ZShDQ29tcGlsZXJUZXN0Q2FzZSkKKworaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKKyAgICB1bml0dGVzdC5tYWluKGRlZmF1bHRUZXN0PSJ0ZXN0X3N1aXRlIikKZGlmZiAtLWdpdCBhL0xpYi9wYWNrYWdpbmcvdGVzdHMvdGVzdF9jb21tYW5kX2JkaXN0LnB5IGIvTGliL3BhY2thZ2luZy90ZXN0cy90ZXN0X2NvbW1hbmRfYmRpc3QucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2IyZWEwMQotLS0gL2Rldi9udWxsCisrKyBiL0xpYi9wYWNrYWdpbmcvdGVzdHMvdGVzdF9jb21tYW5kX2JkaXN0LnB5CkBAIC0wLDAgKzEsNjEgQEAKKyIiIlRlc3RzIGZvciBkaXN0dXRpbHMuY29tbWFuZC5iZGlzdC4iIiIKK2ltcG9ydCBvcworZnJvbSB0ZXN0LnN1cHBvcnQgaW1wb3J0IGNhcHR1cmVkX3N0ZG91dAorZnJvbSBwYWNrYWdpbmcuY29tbWFuZC5iZGlzdCBpbXBvcnQgYmRpc3QsIHNob3dfZm9ybWF0cworZnJvbSBwYWNrYWdpbmcudGVzdHMgaW1wb3J0IHVuaXR0ZXN0LCBzdXBwb3J0CisKKworY2xhc3MgQnVpbGRUZXN0Q2FzZShzdXBwb3J0LlRlbXBkaXJNYW5hZ2VyLAorICAgICAgICAgICAgICAgICAgICBzdXBwb3J0LkxvZ2dpbmdDYXRjaGVyLAorICAgICAgICAgICAgICAgICAgICB1bml0dGVzdC5UZXN0Q2FzZSk6CisKKyAgICBkZWYgdGVzdF9mb3JtYXRzKHNlbGYpOgorICAgICAgICAjIGxldCdzIGNyZWF0ZSBhIGNvbW1hbmQgYW5kIG1ha2Ugc3VyZQorICAgICAgICAjIHdlIGNhbiBzZXQgdGhlIGZvcm1hdAorICAgICAgICBkaXN0ID0gc2VsZi5jcmVhdGVfZGlzdCgpWzFdCisgICAgICAgIGNtZCA9IGJkaXN0KGRpc3QpCisgICAgICAgIGNtZC5mb3JtYXRzID0gWydtc2knXQorICAgICAgICBjbWQuZW5zdXJlX2ZpbmFsaXplZCgpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY21kLmZvcm1hdHMsIFsnbXNpJ10pCisKKyAgICAgICAgIyB3aGF0IGZvcm1hdHMgZG9lcyBiZGlzdCBvZmZlcj8KKyAgICAgICAgIyBYWFggaGFyZC1jb2RlZCBsaXN0cyBhcmUgbm90IHRoZSBiZXN0IHdheSB0byBmaW5kIGF2YWlsYWJsZSBiZGlzdF8qCisgICAgICAgICMgY29tbWFuZHM7IHdlIHNob3VsZCBhZGQgYSByZWdpc3RyeQorICAgICAgICBmb3JtYXRzID0gWydienRhcicsICdnenRhcicsICdtc2knLCAndGFyJywgJ3dpbmluc3QnLCAnemlwJ10KKyAgICAgICAgZm91bmQgPSBzb3J0ZWQoY21kLmZvcm1hdF9jb21tYW5kKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGZvdW5kLCBmb3JtYXRzKQorCisgICAgZGVmIHRlc3Rfc2tpcF9idWlsZChzZWxmKToKKyAgICAgICAgIyBidWcgIzEwOTQ2OiBiZGlzdCAtLXNraXAtYnVpbGQgc2hvdWxkIHRyaWNrbGUgZG93biB0byBzdWJjb21tYW5kcworICAgICAgICBkaXN0ID0gc2VsZi5jcmVhdGVfZGlzdCgpWzFdCisgICAgICAgIGNtZCA9IGJkaXN0KGRpc3QpCisgICAgICAgIGNtZC5za2lwX2J1aWxkID0gVHJ1ZQorICAgICAgICBjbWQuZW5zdXJlX2ZpbmFsaXplZCgpCisgICAgICAgIGRpc3QuY29tbWFuZF9vYmpbJ2JkaXN0J10gPSBjbWQKKworICAgICAgICBuYW1lcyA9IFsnYmRpc3RfZHVtYicsICdiZGlzdF93aW5pbnN0J10KKyAgICAgICAgaWYgb3MubmFtZSA9PSAnbnQnOgorICAgICAgICAgICAgbmFtZXMuYXBwZW5kKCdiZGlzdF9tc2knKQorCisgICAgICAgIGZvciBuYW1lIGluIG5hbWVzOgorICAgICAgICAgICAgc3ViY21kID0gY21kLmdldF9maW5hbGl6ZWRfY29tbWFuZChuYW1lKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHN1YmNtZC5za2lwX2J1aWxkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICclcyBzaG91bGQgdGFrZSAtLXNraXAtYnVpbGQgZnJvbSBiZGlzdCcgJSBuYW1lKQorCisgICAgZGVmIHRlc3Rfc2hvd19mb3JtYXRzKHNlbGYpOgorICAgICAgICB3aXRoIGNhcHR1cmVkX3N0ZG91dCgpIGFzIHN0ZG91dDoKKyAgICAgICAgICAgIHNob3dfZm9ybWF0cygpCisgICAgICAgIHN0ZG91dCA9IHN0ZG91dC5nZXR2YWx1ZSgpCisKKyAgICAgICAgIyB0aGUgb3V0cHV0IHNob3VsZCBiZSBhIGhlYWRlciBsaW5lICsgb25lIGxpbmUgcGVyIGZvcm1hdAorICAgICAgICBudW1fZm9ybWF0cyA9IGxlbihiZGlzdC5mb3JtYXRfY29tbWFuZHMpCisgICAgICAgIG91dHB1dCA9IFtsaW5lIGZvciBsaW5lIGluIHN0ZG91dC5zcGxpdCgnXG4nKQorICAgICAgICAgICAgICAgICAgaWYgbGluZS5zdHJpcCgpLnN0YXJ0c3dpdGgoJy0tZm9ybWF0cz0nKV0KKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4ob3V0cHV0KSwgbnVtX2Zvcm1hdHMpCisKKworZGVmIHRlc3Rfc3VpdGUoKToKKyAgICByZXR1cm4gdW5pdHRlc3QubWFrZVN1aXRlKEJ1aWxkVGVzdENhc2UpCisKK2lmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CisgICAgdW5pdHRlc3QubWFpbihkZWZhdWx0VGVzdD0ndGVzdF9zdWl0ZScpCmRpZmYgLS1naXQgYS9MaWIvcGFja2FnaW5nL3Rlc3RzL3Rlc3RfY29tbWFuZF9iZGlzdF9kdW1iLnB5IGIvTGliL3BhY2thZ2luZy90ZXN0cy90ZXN0X2NvbW1hbmRfYmRpc3RfZHVtYi5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNWNmNjU4Ci0tLSAvZGV2L251bGwKKysrIGIvTGliL3BhY2thZ2luZy90ZXN0cy90ZXN0X2NvbW1hbmRfYmRpc3RfZHVtYi5weQpAQCAtMCwwICsxLDkxIEBACisiIiJUZXN0cyBmb3IgZGlzdHV0aWxzLmNvbW1hbmQuYmRpc3RfZHVtYi4iIiIKKworaW1wb3J0IG9zCitpbXBvcnQgaW1wCitpbXBvcnQgc3lzCitpbXBvcnQgemlwZmlsZQoraW1wb3J0IHBhY2thZ2luZy51dGlsCisKK2Zyb20gcGFja2FnaW5nLmRpc3QgaW1wb3J0IERpc3RyaWJ1dGlvbgorZnJvbSBwYWNrYWdpbmcuY29tbWFuZC5iZGlzdF9kdW1iIGltcG9ydCBiZGlzdF9kdW1iCitmcm9tIHBhY2thZ2luZy50ZXN0cyBpbXBvcnQgdW5pdHRlc3QsIHN1cHBvcnQKK2Zyb20gcGFja2FnaW5nLnRlc3RzLnN1cHBvcnQgaW1wb3J0IHJlcXVpcmVzX3psaWIKKworCitjbGFzcyBCdWlsZER1bWJUZXN0Q2FzZShzdXBwb3J0LlRlbXBkaXJNYW5hZ2VyLAorICAgICAgICAgICAgICAgICAgICAgICAgc3VwcG9ydC5Mb2dnaW5nQ2F0Y2hlciwKKyAgICAgICAgICAgICAgICAgICAgICAgIHVuaXR0ZXN0LlRlc3RDYXNlKToKKworICAgIGRlZiBzZXRVcChzZWxmKToKKyAgICAgICAgc3VwZXIoQnVpbGREdW1iVGVzdENhc2UsIHNlbGYpLnNldFVwKCkKKyAgICAgICAgc2VsZi5vbGRfbG9jYXRpb24gPSBvcy5nZXRjd2QoKQorCisgICAgZGVmIHRlYXJEb3duKHNlbGYpOgorICAgICAgICBvcy5jaGRpcihzZWxmLm9sZF9sb2NhdGlvbikKKyAgICAgICAgcGFja2FnaW5nLnV0aWwuX3BhdGhfY3JlYXRlZC5jbGVhcigpCisgICAgICAgIHN1cGVyKEJ1aWxkRHVtYlRlc3RDYXNlLCBzZWxmKS50ZWFyRG93bigpCisKKyAgICBAcmVxdWlyZXNfemxpYgorICAgIGRlZiB0ZXN0X3NpbXBsZV9idWlsdChzZWxmKToKKworICAgICAgICAjIGxldCdzIGNyZWF0ZSBhIHNpbXBsZSBwYWNrYWdlCisgICAgICAgIHRtcF9kaXIgPSBzZWxmLm1rZHRlbXAoKQorICAgICAgICBwa2dfZGlyID0gb3MucGF0aC5qb2luKHRtcF9kaXIsICdmb28nKQorICAgICAgICBvcy5ta2Rpcihwa2dfZGlyKQorICAgICAgICBzZWxmLndyaXRlX2ZpbGUoKHBrZ19kaXIsICdmb28ucHknKSwgJyMnKQorICAgICAgICBzZWxmLndyaXRlX2ZpbGUoKHBrZ19kaXIsICdNQU5JRkVTVC5pbicpLCAnaW5jbHVkZSBmb28ucHknKQorICAgICAgICBzZWxmLndyaXRlX2ZpbGUoKHBrZ19kaXIsICdSRUFETUUnKSwgJycpCisKKyAgICAgICAgZGlzdCA9IERpc3RyaWJ1dGlvbih7J25hbWUnOiAnZm9vJywgJ3ZlcnNpb24nOiAnMC4xJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3B5X21vZHVsZXMnOiBbJ2ZvbyddLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaG9tZV9wYWdlJzogJ3h4eCcsICdhdXRob3InOiAneHh4JywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2F1dGhvcl9lbWFpbCc6ICd4eHgnfSkKKyAgICAgICAgb3MuY2hkaXIocGtnX2RpcikKKyAgICAgICAgY21kID0gYmRpc3RfZHVtYihkaXN0KQorCisgICAgICAgICMgc28gdGhlIG91dHB1dCBpcyB0aGUgc2FtZSBubyBtYXR0ZXIKKyAgICAgICAgIyB3aGF0IGlzIHRoZSBwbGF0Zm9ybQorICAgICAgICBjbWQuZm9ybWF0ID0gJ3ppcCcKKworICAgICAgICBjbWQuZW5zdXJlX2ZpbmFsaXplZCgpCisgICAgICAgIGNtZC5ydW4oKQorCisgICAgICAgICMgc2VlIHdoYXQgd2UgaGF2ZQorICAgICAgICBkaXN0X2NyZWF0ZWQgPSBvcy5saXN0ZGlyKG9zLnBhdGguam9pbihwa2dfZGlyLCAnZGlzdCcpKQorICAgICAgICBiYXNlID0gIiVzLiVzLnppcCIgJSAoZGlzdC5nZXRfZnVsbG5hbWUoKSwgY21kLnBsYXRfbmFtZSkKKyAgICAgICAgaWYgb3MubmFtZSA9PSAnb3MyJzoKKyAgICAgICAgICAgIGJhc2UgPSBiYXNlLnJlcGxhY2UoJzonLCAnLScpCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkaXN0X2NyZWF0ZWQsIFtiYXNlXSkKKworICAgICAgICAjIG5vdyBsZXQncyBjaGVjayB3aGF0IHdlIGhhdmUgaW4gdGhlIHppcCBmaWxlCisgICAgICAgIHdpdGggemlwZmlsZS5aaXBGaWxlKG9zLnBhdGguam9pbignZGlzdCcsIGJhc2UpKSBhcyBmcDoKKyAgICAgICAgICAgIGNvbnRlbnRzID0gZnAubmFtZWxpc3QoKQorCisgICAgICAgIGNvbnRlbnRzID0gc29ydGVkKG9zLnBhdGguYmFzZW5hbWUoZm4pIGZvciBmbiBpbiBjb250ZW50cykKKyAgICAgICAgd2FudGVkID0gWydmb28ucHknLAorICAgICAgICAgICAgICAgICAgJ2Zvby4lcy5weWMnICUgaW1wLmdldF90YWcoKSwKKyAgICAgICAgICAgICAgICAgICdNRVRBREFUQScsICdJTlNUQUxMRVInLCAnUkVRVUVTVEVEJywgJ1JFQ09SRCddCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY29udGVudHMsIHNvcnRlZCh3YW50ZWQpKQorCisgICAgZGVmIHRlc3RfZmluYWxpemVfb3B0aW9ucyhzZWxmKToKKyAgICAgICAgcGtnX2RpciwgZGlzdCA9IHNlbGYuY3JlYXRlX2Rpc3QoKQorICAgICAgICBvcy5jaGRpcihwa2dfZGlyKQorICAgICAgICBjbWQgPSBiZGlzdF9kdW1iKGRpc3QpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY21kLmJkaXN0X2RpciwgTm9uZSkKKyAgICAgICAgY21kLmZpbmFsaXplX29wdGlvbnMoKQorCisgICAgICAgICMgYmRpc3RfZGlyIGlzIGluaXRpYWxpemVkIHRvIGJkaXN0X2Jhc2UvZHVtYiBpZiBub3Qgc2V0CisgICAgICAgIGJhc2UgPSBjbWQuZ2V0X2ZpbmFsaXplZF9jb21tYW5kKCdiZGlzdCcpLmJkaXN0X2Jhc2UKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbWQuYmRpc3RfZGlyLCBvcy5wYXRoLmpvaW4oYmFzZSwgJ2R1bWInKSkKKworICAgICAgICAjIHRoZSBmb3JtYXQgaXMgc2V0IHRvIGEgZGVmYXVsdCB2YWx1ZSBkZXBlbmRpbmcgb24gdGhlIG9zLm5hbWUKKyAgICAgICAgZGVmYXVsdCA9IGNtZC5kZWZhdWx0X2Zvcm1hdFtvcy5uYW1lXQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNtZC5mb3JtYXQsIGRlZmF1bHQpCisKKworZGVmIHRlc3Rfc3VpdGUoKToKKyAgICByZXR1cm4gdW5pdHRlc3QubWFrZVN1aXRlKEJ1aWxkRHVtYlRlc3RDYXNlKQorCitpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgorICAgIHVuaXR0ZXN0Lm1haW4oZGVmYXVsdFRlc3Q9J3Rlc3Rfc3VpdGUnKQpkaWZmIC0tZ2l0IGEvTGliL3BhY2thZ2luZy90ZXN0cy90ZXN0X2NvbW1hbmRfYmRpc3RfbXNpLnB5IGIvTGliL3BhY2thZ2luZy90ZXN0cy90ZXN0X2NvbW1hbmRfYmRpc3RfbXNpLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg2NzU0YTgKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvcGFja2FnaW5nL3Rlc3RzL3Rlc3RfY29tbWFuZF9iZGlzdF9tc2kucHkKQEAgLTAsMCArMSwyNSBAQAorIiIiVGVzdHMgZm9yIGRpc3R1dGlscy5jb21tYW5kLmJkaXN0X21zaS4iIiIKK2ltcG9ydCBzeXMKKworZnJvbSBwYWNrYWdpbmcudGVzdHMgaW1wb3J0IHVuaXR0ZXN0LCBzdXBwb3J0CisKKworQHVuaXR0ZXN0LnNraXBVbmxlc3Moc3lzLnBsYXRmb3JtID09ICd3aW4zMicsICd0aGVzZSB0ZXN0cyByZXF1aXJlIFdpbmRvd3MnKQorY2xhc3MgQkRpc3RNU0lUZXN0Q2FzZShzdXBwb3J0LlRlbXBkaXJNYW5hZ2VyLAorICAgICAgICAgICAgICAgICAgICAgICBzdXBwb3J0LkxvZ2dpbmdDYXRjaGVyLAorICAgICAgICAgICAgICAgICAgICAgICB1bml0dGVzdC5UZXN0Q2FzZSk6CisKKyAgICBkZWYgdGVzdF9taW5pbWFsKHNlbGYpOgorICAgICAgICAjIG1pbmltYWwgdGVzdCBYWFggbmVlZCBtb3JlIHRlc3RzCisgICAgICAgIGZyb20gcGFja2FnaW5nLmNvbW1hbmQuYmRpc3RfbXNpIGltcG9ydCBiZGlzdF9tc2kKKyAgICAgICAgcHJvamVjdF9kaXIsIGRpc3QgPSBzZWxmLmNyZWF0ZV9kaXN0KCkKKyAgICAgICAgY21kID0gYmRpc3RfbXNpKGRpc3QpCisgICAgICAgIGNtZC5lbnN1cmVfZmluYWxpemVkKCkKKworCitkZWYgdGVzdF9zdWl0ZSgpOgorICAgIHJldHVybiB1bml0dGVzdC5tYWtlU3VpdGUoQkRpc3RNU0lUZXN0Q2FzZSkKKworCitpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgorICAgIHVuaXR0ZXN0Lm1haW4oZGVmYXVsdFRlc3Q9J3Rlc3Rfc3VpdGUnKQpkaWZmIC0tZ2l0IGEvTGliL3BhY2thZ2luZy90ZXN0cy90ZXN0X2NvbW1hbmRfYmRpc3Rfd2luaW5zdC5weSBiL0xpYi9wYWNrYWdpbmcvdGVzdHMvdGVzdF9jb21tYW5kX2JkaXN0X3dpbmluc3QucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDliZGFhZAotLS0gL2Rldi9udWxsCisrKyBiL0xpYi9wYWNrYWdpbmcvdGVzdHMvdGVzdF9jb21tYW5kX2JkaXN0X3dpbmluc3QucHkKQEAgLTAsMCArMSwzMiBAQAorIiIiVGVzdHMgZm9yIGRpc3R1dGlscy5jb21tYW5kLmJkaXN0X3dpbmluc3QuIiIiCisKK2Zyb20gcGFja2FnaW5nLmNvbW1hbmQuYmRpc3Rfd2luaW5zdCBpbXBvcnQgYmRpc3Rfd2luaW5zdAorZnJvbSBwYWNrYWdpbmcudGVzdHMgaW1wb3J0IHVuaXR0ZXN0LCBzdXBwb3J0CisKKworY2xhc3MgQnVpbGRXaW5JbnN0VGVzdENhc2Uoc3VwcG9ydC5UZW1wZGlyTWFuYWdlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1cHBvcnQuTG9nZ2luZ0NhdGNoZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICB1bml0dGVzdC5UZXN0Q2FzZSk6CisKKyAgICBkZWYgdGVzdF9nZXRfZXhlX2J5dGVzKHNlbGYpOgorCisgICAgICAgICMgaXNzdWU1NzMxOiBjb21tYW5kIHdhcyBicm9rZW4gb24gbm9uLXdpbmRvd3MgcGxhdGZvcm1zCisgICAgICAgICMgdGhpcyB0ZXN0IG1ha2VzIHN1cmUgaXQgd29ya3Mgbm93IGZvciBldmVyeSBwbGF0Zm9ybQorICAgICAgICAjIGxldCdzIGNyZWF0ZSBhIGNvbW1hbmQKKyAgICAgICAgcGtnX3B0aCwgZGlzdCA9IHNlbGYuY3JlYXRlX2Rpc3QoKQorICAgICAgICBjbWQgPSBiZGlzdF93aW5pbnN0KGRpc3QpCisgICAgICAgIGNtZC5lbnN1cmVfZmluYWxpemVkKCkKKworICAgICAgICAjIGxldCdzIHJ1biB0aGUgY29kZSB0aGF0IGZpbmRzIHRoZSByaWdodCB3aW5pbnN0Ki5leGUgZmlsZQorICAgICAgICAjIGFuZCBtYWtlIHN1cmUgaXQgZmluZHMgaXQgYW5kIHJldHVybnMgaXRzIGNvbnRlbnQKKyAgICAgICAgIyBubyBtYXR0ZXIgd2hhdCBwbGF0Zm9ybSB3ZSBoYXZlCisgICAgICAgIGV4ZV9maWxlID0gY21kLmdldF9leGVfYnl0ZXMoKQorICAgICAgICBzZWxmLmFzc2VydEdyZWF0ZXIobGVuKGV4ZV9maWxlKSwgMTApCisKKworZGVmIHRlc3Rfc3VpdGUoKToKKyAgICByZXR1cm4gdW5pdHRlc3QubWFrZVN1aXRlKEJ1aWxkV2luSW5zdFRlc3RDYXNlKQorCisKK2lmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CisgICAgdW5pdHRlc3QubWFpbihkZWZhdWx0VGVzdD0ndGVzdF9zdWl0ZScpCmRpZmYgLS1naXQgYS9MaWIvcGFja2FnaW5nL3Rlc3RzL3Rlc3RfY29tbWFuZF9idWlsZC5weSBiL0xpYi9wYWNrYWdpbmcvdGVzdHMvdGVzdF9jb21tYW5kX2J1aWxkLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI4MGQ3MDkKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvcGFja2FnaW5nL3Rlc3RzL3Rlc3RfY29tbWFuZF9idWlsZC5weQpAQCAtMCwwICsxLDU2IEBACisiIiJUZXN0cyBmb3IgZGlzdHV0aWxzLmNvbW1hbmQuYnVpbGQuIiIiCitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKKworZnJvbSBwYWNrYWdpbmcuY29tbWFuZC5idWlsZCBpbXBvcnQgYnVpbGQKK2Zyb20gc3lzY29uZmlnIGltcG9ydCBnZXRfcGxhdGZvcm0KK2Zyb20gcGFja2FnaW5nLnRlc3RzIGltcG9ydCB1bml0dGVzdCwgc3VwcG9ydAorCisKK2NsYXNzIEJ1aWxkVGVzdENhc2Uoc3VwcG9ydC5UZW1wZGlyTWFuYWdlciwKKyAgICAgICAgICAgICAgICAgICAgc3VwcG9ydC5Mb2dnaW5nQ2F0Y2hlciwKKyAgICAgICAgICAgICAgICAgICAgdW5pdHRlc3QuVGVzdENhc2UpOgorCisgICAgZGVmIHRlc3RfZmluYWxpemVfb3B0aW9ucyhzZWxmKToKKyAgICAgICAgcGtnX2RpciwgZGlzdCA9IHNlbGYuY3JlYXRlX2Rpc3QoKQorICAgICAgICBjbWQgPSBidWlsZChkaXN0KQorICAgICAgICBjbWQuZmluYWxpemVfb3B0aW9ucygpCisKKyAgICAgICAgIyBpZiBub3Qgc3BlY2lmaWVkLCBwbGF0X25hbWUgZ2V0cyB0aGUgY3VycmVudCBwbGF0Zm9ybQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNtZC5wbGF0X25hbWUsIGdldF9wbGF0Zm9ybSgpKQorCisgICAgICAgICMgYnVpbGRfcHVyZWxpYiBpcyBidWlsZCArIGxpYgorICAgICAgICB3YW50ZWQgPSBvcy5wYXRoLmpvaW4oY21kLmJ1aWxkX2Jhc2UsICdsaWInKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNtZC5idWlsZF9wdXJlbGliLCB3YW50ZWQpCisKKyAgICAgICAgIyBidWlsZF9wbGF0bGliIGlzICdidWlsZC9saWIucGxhdGZvcm0teC54Wy1weWRlYnVnXScKKyAgICAgICAgIyBleGFtcGxlczoKKyAgICAgICAgIyAgIGJ1aWxkL2xpYi5tYWNvc3gtMTAuMy1pMzg2LTIuNworICAgICAgICBweXZlcnNpb24gPSAnJXMuJXMnICUgc3lzLnZlcnNpb25faW5mb1s6Ml0KKyAgICAgICAgcGxhdF9zcGVjID0gJy4lcy0lcycgJSAoY21kLnBsYXRfbmFtZSwgcHl2ZXJzaW9uKQorICAgICAgICBpZiBoYXNhdHRyKHN5cywgJ2dldHRvdGFscmVmY291bnQnKToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShjbWQuYnVpbGRfcGxhdGxpYi5lbmRzd2l0aCgnLXB5ZGVidWcnKSkKKyAgICAgICAgICAgIHBsYXRfc3BlYyArPSAnLXB5ZGVidWcnCisgICAgICAgIHdhbnRlZCA9IG9zLnBhdGguam9pbihjbWQuYnVpbGRfYmFzZSwgJ2xpYicgKyBwbGF0X3NwZWMpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY21kLmJ1aWxkX3BsYXRsaWIsIHdhbnRlZCkKKworICAgICAgICAjIGJ5IGRlZmF1bHQsIGJ1aWxkX2xpYiA9IGJ1aWxkX3B1cmVsaWIKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbWQuYnVpbGRfbGliLCBjbWQuYnVpbGRfcHVyZWxpYikKKworICAgICAgICAjIGJ1aWxkX3RlbXAgaXMgYnVpbGQvdGVtcC48cGxhdD4KKyAgICAgICAgd2FudGVkID0gb3MucGF0aC5qb2luKGNtZC5idWlsZF9iYXNlLCAndGVtcCcgKyBwbGF0X3NwZWMpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY21kLmJ1aWxkX3RlbXAsIHdhbnRlZCkKKworICAgICAgICAjIGJ1aWxkX3NjcmlwdHMgaXMgYnVpbGQvc2NyaXB0cy14LngKKyAgICAgICAgd2FudGVkID0gb3MucGF0aC5qb2luKGNtZC5idWlsZF9iYXNlLCAnc2NyaXB0cy0nICsgcHl2ZXJzaW9uKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNtZC5idWlsZF9zY3JpcHRzLCB3YW50ZWQpCisKKyAgICAgICAgIyBleGVjdXRhYmxlIGlzIG9zLnBhdGgubm9ybXBhdGgoc3lzLmV4ZWN1dGFibGUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY21kLmV4ZWN1dGFibGUsIG9zLnBhdGgubm9ybXBhdGgoc3lzLmV4ZWN1dGFibGUpKQorCisKK2RlZiB0ZXN0X3N1aXRlKCk6CisgICAgcmV0dXJuIHVuaXR0ZXN0Lm1ha2VTdWl0ZShCdWlsZFRlc3RDYXNlKQorCitpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgorICAgIHVuaXR0ZXN0Lm1haW4oZGVmYXVsdFRlc3Q9InRlc3Rfc3VpdGUiKQpkaWZmIC0tZ2l0IGEvTGliL3BhY2thZ2luZy90ZXN0cy90ZXN0X2NvbW1hbmRfYnVpbGRfY2xpYi5weSBiL0xpYi9wYWNrYWdpbmcvdGVzdHMvdGVzdF9jb21tYW5kX2J1aWxkX2NsaWIucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTJhODU4MwotLS0gL2Rldi9udWxsCisrKyBiL0xpYi9wYWNrYWdpbmcvdGVzdHMvdGVzdF9jb21tYW5kX2J1aWxkX2NsaWIucHkKQEAgLTAsMCArMSwxNDEgQEAKKyIiIlRlc3RzIGZvciBkaXN0dXRpbHMuY29tbWFuZC5idWlsZF9jbGliLiIiIgoraW1wb3J0IG9zCitpbXBvcnQgc3lzCisKK2Zyb20gcGFja2FnaW5nLnV0aWwgaW1wb3J0IGZpbmRfZXhlY3V0YWJsZQorZnJvbSBwYWNrYWdpbmcuY29tbWFuZC5idWlsZF9jbGliIGltcG9ydCBidWlsZF9jbGliCitmcm9tIHBhY2thZ2luZy5lcnJvcnMgaW1wb3J0IFBhY2thZ2luZ1NldHVwRXJyb3IKK2Zyb20gcGFja2FnaW5nLnRlc3RzIGltcG9ydCB1bml0dGVzdCwgc3VwcG9ydAorCisKK2NsYXNzIEJ1aWxkQ0xpYlRlc3RDYXNlKHN1cHBvcnQuVGVtcGRpck1hbmFnZXIsCisgICAgICAgICAgICAgICAgICAgICAgICBzdXBwb3J0LkxvZ2dpbmdDYXRjaGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgdW5pdHRlc3QuVGVzdENhc2UpOgorCisgICAgZGVmIHRlc3RfY2hlY2tfbGlicmFyeV9kaXN0KHNlbGYpOgorICAgICAgICBwa2dfZGlyLCBkaXN0ID0gc2VsZi5jcmVhdGVfZGlzdCgpCisgICAgICAgIGNtZCA9IGJ1aWxkX2NsaWIoZGlzdCkKKworICAgICAgICAjICdsaWJyYXJpZXMnIG9wdGlvbiBtdXN0IGJlIGEgbGlzdAorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhQYWNrYWdpbmdTZXR1cEVycm9yLCBjbWQuY2hlY2tfbGlicmFyeV9saXN0LCAnZm9vJykKKworICAgICAgICAjIGVhY2ggZWxlbWVudCBvZiAnbGlicmFyaWVzJyBtdXN0IGEgMi10dXBsZQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhQYWNrYWdpbmdTZXR1cEVycm9yLCBjbWQuY2hlY2tfbGlicmFyeV9saXN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICBbJ2ZvbzEnLCAnZm9vMiddKQorCisgICAgICAgICMgZmlyc3QgZWxlbWVudCBvZiBlYWNoIHR1cGxlIGluICdsaWJyYXJpZXMnCisgICAgICAgICMgbXVzdCBiZSBhIHN0cmluZyAodGhlIGxpYnJhcnkgbmFtZSkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoUGFja2FnaW5nU2V0dXBFcnJvciwgY21kLmNoZWNrX2xpYnJhcnlfbGlzdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgWygxLCAnZm9vMScpLCAoJ25hbWUnLCAnZm9vMicpXSkKKworICAgICAgICAjIGxpYnJhcnkgbmFtZSBtYXkgbm90IGNvbnRhaW4gZGlyZWN0b3J5IHNlcGFyYXRvcnMKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoUGFja2FnaW5nU2V0dXBFcnJvciwgY21kLmNoZWNrX2xpYnJhcnlfbGlzdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgWygnbmFtZScsICdmb28xJyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAoJ2Fub3RoZXIvbmFtZScsICdmb28yJyldKQorCisgICAgICAgICMgc2Vjb25kIGVsZW1lbnQgb2YgZWFjaCB0dXBsZSBtdXN0IGJlIGEgZGljdGlvbmFyeSAoYnVpbGQgaW5mbykKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoUGFja2FnaW5nU2V0dXBFcnJvciwgY21kLmNoZWNrX2xpYnJhcnlfbGlzdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgWygnbmFtZScsIHt9KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICgnYW5vdGhlcicsICdmb28yJyldKQorCisgICAgICAgICMgdGhvc2Ugd29yaworICAgICAgICBsaWJzID0gWygnbmFtZScsIHt9KSwgKCduYW1lJywgeydvayc6ICdnb29kJ30pXQorICAgICAgICBjbWQuY2hlY2tfbGlicmFyeV9saXN0KGxpYnMpCisKKyAgICBkZWYgdGVzdF9nZXRfc291cmNlX2ZpbGVzKHNlbGYpOgorICAgICAgICBwa2dfZGlyLCBkaXN0ID0gc2VsZi5jcmVhdGVfZGlzdCgpCisgICAgICAgIGNtZCA9IGJ1aWxkX2NsaWIoZGlzdCkKKworICAgICAgICAjICJpbiAnbGlicmFyaWVzJyBvcHRpb24gJ3NvdXJjZXMnIG11c3QgYmUgcHJlc2VudCBhbmQgbXVzdCBiZQorICAgICAgICAjIGEgbGlzdCBvZiBzb3VyY2UgZmlsZW5hbWVzCisgICAgICAgIGNtZC5saWJyYXJpZXMgPSBbKCduYW1lJywge30pXQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhQYWNrYWdpbmdTZXR1cEVycm9yLCBjbWQuZ2V0X3NvdXJjZV9maWxlcykKKworICAgICAgICBjbWQubGlicmFyaWVzID0gWygnbmFtZScsIHsnc291cmNlcyc6IDF9KV0KKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoUGFja2FnaW5nU2V0dXBFcnJvciwgY21kLmdldF9zb3VyY2VfZmlsZXMpCisKKyAgICAgICAgY21kLmxpYnJhcmllcyA9IFsoJ25hbWUnLCB7J3NvdXJjZXMnOiBbJ2EnLCAnYiddfSldCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY21kLmdldF9zb3VyY2VfZmlsZXMoKSwgWydhJywgJ2InXSkKKworICAgICAgICBjbWQubGlicmFyaWVzID0gWygnbmFtZScsIHsnc291cmNlcyc6ICgnYScsICdiJyl9KV0KKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbWQuZ2V0X3NvdXJjZV9maWxlcygpLCBbJ2EnLCAnYiddKQorCisgICAgICAgIGNtZC5saWJyYXJpZXMgPSBbKCduYW1lJywgeydzb3VyY2VzJzogKCdhJywgJ2InKX0pLAorICAgICAgICAgICAgICAgICAgICAgICAgICgnbmFtZTInLCB7J3NvdXJjZXMnOiBbJ2MnLCAnZCddfSldCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY21kLmdldF9zb3VyY2VfZmlsZXMoKSwgWydhJywgJ2InLCAnYycsICdkJ10pCisKKyAgICBkZWYgdGVzdF9idWlsZF9saWJyYXJpZXMoc2VsZik6CisgICAgICAgIHBrZ19kaXIsIGRpc3QgPSBzZWxmLmNyZWF0ZV9kaXN0KCkKKyAgICAgICAgY21kID0gYnVpbGRfY2xpYihkaXN0KQorCisgICAgICAgIGNsYXNzIEZha2VDb21waWxlcjoKKyAgICAgICAgICAgIGRlZiBjb21waWxlKCphcmdzLCAqKmt3KToKKyAgICAgICAgICAgICAgICBwYXNzCisgICAgICAgICAgICBjcmVhdGVfc3RhdGljX2xpYiA9IGNvbXBpbGUKKworICAgICAgICBjbWQuY29tcGlsZXIgPSBGYWtlQ29tcGlsZXIoKQorCisgICAgICAgICMgYnVpbGRfbGlicmFyaWVzIGlzIGFsc28gZG9pbmcgYSBiaXQgb2YgdHlwZSBjaGVja2luZworICAgICAgICBsaWIgPSBbKCduYW1lJywgeydzb3VyY2VzJzogJ25vdHZhbGlkJ30pXQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhQYWNrYWdpbmdTZXR1cEVycm9yLCBjbWQuYnVpbGRfbGlicmFyaWVzLCBsaWIpCisKKyAgICAgICAgbGliID0gWygnbmFtZScsIHsnc291cmNlcyc6IFtdfSldCisgICAgICAgIGNtZC5idWlsZF9saWJyYXJpZXMobGliKQorCisgICAgICAgIGxpYiA9IFsoJ25hbWUnLCB7J3NvdXJjZXMnOiAoKX0pXQorICAgICAgICBjbWQuYnVpbGRfbGlicmFyaWVzKGxpYikKKworICAgIGRlZiB0ZXN0X2ZpbmFsaXplX29wdGlvbnMoc2VsZik6CisgICAgICAgIHBrZ19kaXIsIGRpc3QgPSBzZWxmLmNyZWF0ZV9kaXN0KCkKKyAgICAgICAgY21kID0gYnVpbGRfY2xpYihkaXN0KQorCisgICAgICAgIGNtZC5pbmNsdWRlX2RpcnMgPSAnb25lLWRpcicKKyAgICAgICAgY21kLmZpbmFsaXplX29wdGlvbnMoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNtZC5pbmNsdWRlX2RpcnMsIFsnb25lLWRpciddKQorCisgICAgICAgIGNtZC5pbmNsdWRlX2RpcnMgPSBOb25lCisgICAgICAgIGNtZC5maW5hbGl6ZV9vcHRpb25zKCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbWQuaW5jbHVkZV9kaXJzLCBbXSkKKworICAgICAgICBjbWQuZGlzdHJpYnV0aW9uLmxpYnJhcmllcyA9ICdXT05UV09SSycKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoUGFja2FnaW5nU2V0dXBFcnJvciwgY21kLmZpbmFsaXplX29wdGlvbnMpCisKKyAgICBAdW5pdHRlc3Quc2tpcElmKHN5cy5wbGF0Zm9ybSA9PSAnd2luMzInLCAnZGlzYWJsZWQgb24gd2luMzInKQorICAgIGRlZiB0ZXN0X3J1bihzZWxmKToKKyAgICAgICAgcGtnX2RpciwgZGlzdCA9IHNlbGYuY3JlYXRlX2Rpc3QoKQorICAgICAgICBjbWQgPSBidWlsZF9jbGliKGRpc3QpCisKKyAgICAgICAgZm9vX2MgPSBvcy5wYXRoLmpvaW4ocGtnX2RpciwgJ2Zvby5jJykKKyAgICAgICAgc2VsZi53cml0ZV9maWxlKGZvb19jLCAnaW50IG1haW4odm9pZCkgeyByZXR1cm4gMTt9XG4nKQorICAgICAgICBjbWQubGlicmFyaWVzID0gWygnZm9vJywgeydzb3VyY2VzJzogW2Zvb19jXX0pXQorCisgICAgICAgIGJ1aWxkX3RlbXAgPSBvcy5wYXRoLmpvaW4ocGtnX2RpciwgJ2J1aWxkJykKKyAgICAgICAgb3MubWtkaXIoYnVpbGRfdGVtcCkKKyAgICAgICAgY21kLmJ1aWxkX3RlbXAgPSBidWlsZF90ZW1wCisgICAgICAgIGNtZC5idWlsZF9jbGliID0gYnVpbGRfdGVtcAorCisgICAgICAgICMgYmVmb3JlIHdlIHJ1biB0aGUgY29tbWFuZCwgd2Ugd2FudCB0byBtYWtlIHN1cmUKKyAgICAgICAgIyBhbGwgY29tbWFuZHMgYXJlIHByZXNlbnQgb24gdGhlIHN5c3RlbQorICAgICAgICAjIGJ5IGNyZWF0aW5nIGEgY29tcGlsZXIgYW5kIGNoZWNraW5nIGl0cyBleGVjdXRhYmxlcworICAgICAgICBmcm9tIHBhY2thZ2luZy5jb21waWxlciBpbXBvcnQgbmV3X2NvbXBpbGVyLCBjdXN0b21pemVfY29tcGlsZXIKKworICAgICAgICBjb21waWxlciA9IG5ld19jb21waWxlcigpCisgICAgICAgIGN1c3RvbWl6ZV9jb21waWxlcihjb21waWxlcikKKyAgICAgICAgZm9yIGNjbWQgaW4gY29tcGlsZXIuZXhlY3V0YWJsZXMudmFsdWVzKCk6CisgICAgICAgICAgICBpZiBjY21kIGlzIE5vbmU6CisgICAgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgICAgIGlmIGZpbmRfZXhlY3V0YWJsZShjY21kWzBdKSBpcyBOb25lOgorICAgICAgICAgICAgICAgIHJhaXNlIHVuaXR0ZXN0LlNraXBUZXN0KCJjYW4ndCB0ZXN0IikKKworICAgICAgICAjIHRoaXMgc2hvdWxkIHdvcmsKKyAgICAgICAgY21kLnJ1bigpCisKKyAgICAgICAgIyBsZXQncyBjaGVjayB0aGUgcmVzdWx0CisgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ2xpYmZvby5hJywgb3MubGlzdGRpcihidWlsZF90ZW1wKSkKKworCitkZWYgdGVzdF9zdWl0ZSgpOgorICAgIHJldHVybiB1bml0dGVzdC5tYWtlU3VpdGUoQnVpbGRDTGliVGVzdENhc2UpCisKK2lmIF9fbmFtZV9fID09ICJfX21haW5fXyI6CisgICAgdW5pdHRlc3QubWFpbihkZWZhdWx0VGVzdD0idGVzdF9zdWl0ZSIpCmRpZmYgLS1naXQgYS9MaWIvcGFja2FnaW5nL3Rlc3RzL3Rlc3RfY29tbWFuZF9idWlsZF9leHQucHkgYi9MaWIvcGFja2FnaW5nL3Rlc3RzL3Rlc3RfY29tbWFuZF9idWlsZF9leHQucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWEwMGMxMQotLS0gL2Rldi9udWxsCisrKyBiL0xpYi9wYWNrYWdpbmcvdGVzdHMvdGVzdF9jb21tYW5kX2J1aWxkX2V4dC5weQpAQCAtMCwwICsxLDM5NCBAQAoraW1wb3J0IG9zCitpbXBvcnQgc3lzCitpbXBvcnQgc2l0ZQoraW1wb3J0IHN5c2NvbmZpZworaW1wb3J0IHRleHR3cmFwCitmcm9tIHBhY2thZ2luZy5kaXN0IGltcG9ydCBEaXN0cmlidXRpb24KK2Zyb20gcGFja2FnaW5nLmVycm9ycyBpbXBvcnQgKFVua25vd25GaWxlRXJyb3IsIENvbXBpbGVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhY2thZ2luZ1BsYXRmb3JtRXJyb3IpCitmcm9tIHBhY2thZ2luZy5jb21tYW5kLmJ1aWxkX2V4dCBpbXBvcnQgYnVpbGRfZXh0Citmcm9tIHBhY2thZ2luZy5jb21waWxlci5leHRlbnNpb24gaW1wb3J0IEV4dGVuc2lvbgorCitmcm9tIHRlc3Quc2NyaXB0X2hlbHBlciBpbXBvcnQgYXNzZXJ0X3B5dGhvbl9vaworZnJvbSBwYWNrYWdpbmcudGVzdHMgaW1wb3J0IHN1cHBvcnQsIHVuaXR0ZXN0CisKKworY2xhc3MgQnVpbGRFeHRUZXN0Q2FzZShzdXBwb3J0LlRlbXBkaXJNYW5hZ2VyLAorICAgICAgICAgICAgICAgICAgICAgICBzdXBwb3J0LkxvZ2dpbmdDYXRjaGVyLAorICAgICAgICAgICAgICAgICAgICAgICB1bml0dGVzdC5UZXN0Q2FzZSk6CisgICAgZGVmIHNldFVwKHNlbGYpOgorICAgICAgICBzdXBlcihCdWlsZEV4dFRlc3RDYXNlLCBzZWxmKS5zZXRVcCgpCisgICAgICAgIHNlbGYudG1wX2RpciA9IHNlbGYubWtkdGVtcCgpCisgICAgICAgIHNlbGYub2xkX3VzZXJfYmFzZSA9IHNpdGUuVVNFUl9CQVNFCisgICAgICAgIHNpdGUuVVNFUl9CQVNFID0gc2VsZi5ta2R0ZW1wKCkKKworICAgIGRlZiB0ZWFyRG93bihzZWxmKToKKyAgICAgICAgc2l0ZS5VU0VSX0JBU0UgPSBzZWxmLm9sZF91c2VyX2Jhc2UKKyAgICAgICAgc3VwZXIoQnVpbGRFeHRUZXN0Q2FzZSwgc2VsZikudGVhckRvd24oKQorCisgICAgZGVmIHRlc3RfYnVpbGRfZXh0KHNlbGYpOgorICAgICAgICBzdXBwb3J0LmNvcHlfeHhtb2R1bGVfYyhzZWxmLnRtcF9kaXIpCisgICAgICAgIHh4X2MgPSBvcy5wYXRoLmpvaW4oc2VsZi50bXBfZGlyLCAneHhtb2R1bGUuYycpCisgICAgICAgIHh4X2V4dCA9IEV4dGVuc2lvbigneHgnLCBbeHhfY10pCisgICAgICAgIGRpc3QgPSBEaXN0cmlidXRpb24oeyduYW1lJzogJ3h4JywgJ2V4dF9tb2R1bGVzJzogW3h4X2V4dF19KQorICAgICAgICBkaXN0LnBhY2thZ2VfZGlyID0gc2VsZi50bXBfZGlyCisgICAgICAgIGNtZCA9IGJ1aWxkX2V4dChkaXN0KQorICAgICAgICBzdXBwb3J0LmZpeHVwX2J1aWxkX2V4dChjbWQpCisgICAgICAgIGNtZC5idWlsZF9saWIgPSBzZWxmLnRtcF9kaXIKKyAgICAgICAgY21kLmJ1aWxkX3RlbXAgPSBzZWxmLnRtcF9kaXIKKyAgICAgICAgY21kLmVuc3VyZV9maW5hbGl6ZWQoKQorICAgICAgICBjbWQucnVuKCkKKworICAgICAgICBjb2RlID0gdGV4dHdyYXAuZGVkZW50KCIiIlwKKyAgICAgICAgICAgIGltcG9ydCBzeXMKKyAgICAgICAgICAgIHN5cy5wYXRoLmluc2VydCgwLCAlcikKKworICAgICAgICAgICAgaW1wb3J0IHh4CisKKyAgICAgICAgICAgIGZvciBhdHRyIGluICgnZXJyb3InLCAnZm9vJywgJ25ldycsICdyb2onKToKKyAgICAgICAgICAgICAgICBhc3NlcnQgaGFzYXR0cih4eCwgYXR0cikKKworICAgICAgICAgICAgYXNzZXJ0IHh4LmZvbygyLCA1KSA9PSA3CisgICAgICAgICAgICBhc3NlcnQgeHguZm9vKDEzLCAxNSkgPT0gMjgKKyAgICAgICAgICAgIGFzc2VydCB4eC5uZXcoKS5kZW1vKCkgaXMgTm9uZQorICAgICAgICAgICAgZG9jID0gJ1RoaXMgaXMgYSB0ZW1wbGF0ZSBtb2R1bGUganVzdCBmb3IgaW5zdHJ1Y3Rpb24uJworICAgICAgICAgICAgYXNzZXJ0IHh4Ll9fZG9jX18gPT0gZG9jCisgICAgICAgICAgICBhc3NlcnQgaXNpbnN0YW5jZSh4eC5OdWxsKCksIHh4Lk51bGwpCisgICAgICAgICAgICBhc3NlcnQgaXNpbnN0YW5jZSh4eC5TdHIoKSwgeHguU3RyKQorICAgICAgICAgICAgIiIiKQorICAgICAgICBjb2RlID0gY29kZSAlIHNlbGYudG1wX2RpcgorICAgICAgICBhc3NlcnRfcHl0aG9uX29rKCctYycsIGNvZGUpCisKKyAgICBkZWYgdGVzdF9zb2xhcmlzX2VuYWJsZV9zaGFyZWQoc2VsZik6CisgICAgICAgIGRpc3QgPSBEaXN0cmlidXRpb24oeyduYW1lJzogJ3h4J30pCisgICAgICAgIGNtZCA9IGJ1aWxkX2V4dChkaXN0KQorICAgICAgICBvbGQgPSBzeXMucGxhdGZvcm0KKworICAgICAgICBzeXMucGxhdGZvcm0gPSAnc3Vub3MnICAjIGZvb2xpbmcgZmluYWxpemVfb3B0aW9ucworCisgICAgICAgIG9sZF92YXIgPSBzeXNjb25maWcuZ2V0X2NvbmZpZ192YXIoJ1B5X0VOQUJMRV9TSEFSRUQnKQorICAgICAgICBzeXNjb25maWcuX0NPTkZJR19WQVJTWydQeV9FTkFCTEVfU0hBUkVEJ10gPSAxCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIGNtZC5lbnN1cmVfZmluYWxpemVkKCkKKyAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgIHN5cy5wbGF0Zm9ybSA9IG9sZAorICAgICAgICAgICAgaWYgb2xkX3ZhciBpcyBOb25lOgorICAgICAgICAgICAgICAgIGRlbCBzeXNjb25maWcuX0NPTkZJR19WQVJTWydQeV9FTkFCTEVfU0hBUkVEJ10KKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgc3lzY29uZmlnLl9DT05GSUdfVkFSU1snUHlfRU5BQkxFX1NIQVJFRCddID0gb2xkX3ZhcgorCisgICAgICAgICMgbWFrZSBzdXJlIHdlIGdldCBzb21lIGxpYnJhcnkgZGlycyB1bmRlciBzb2xhcmlzCisgICAgICAgIHNlbGYuYXNzZXJ0R3JlYXRlcihsZW4oY21kLmxpYnJhcnlfZGlycyksIDApCisKKyAgICBkZWYgdGVzdF91c2VyX3NpdGUoc2VsZik6CisgICAgICAgIGRpc3QgPSBEaXN0cmlidXRpb24oeyduYW1lJzogJ3h4J30pCisgICAgICAgIGNtZCA9IGJ1aWxkX2V4dChkaXN0KQorCisgICAgICAgICMgbWFraW5nIHN1cmUgdGhlIHVzZXIgb3B0aW9uIGlzIHRoZXJlCisgICAgICAgIG9wdGlvbnMgPSBbbmFtZSBmb3IgbmFtZSwgc2hvcnQsIGxhYmVsIGluCisgICAgICAgICAgICAgICAgICAgY21kLnVzZXJfb3B0aW9uc10KKyAgICAgICAgc2VsZi5hc3NlcnRJbigndXNlcicsIG9wdGlvbnMpCisKKyAgICAgICAgIyBzZXR0aW5nIGEgdmFsdWUKKyAgICAgICAgY21kLnVzZXIgPSBUcnVlCisKKyAgICAgICAgIyBzZXR0aW5nIHVzZXIgYmFzZWQgbGliIGFuZCBpbmNsdWRlCisgICAgICAgIGxpYiA9IG9zLnBhdGguam9pbihzaXRlLlVTRVJfQkFTRSwgJ2xpYicpCisgICAgICAgIGluY2wgPSBvcy5wYXRoLmpvaW4oc2l0ZS5VU0VSX0JBU0UsICdpbmNsdWRlJykKKyAgICAgICAgb3MubWtkaXIobGliKQorICAgICAgICBvcy5ta2RpcihpbmNsKQorCisgICAgICAgICMgbGV0J3MgcnVuIGZpbmFsaXplCisgICAgICAgIGNtZC5lbnN1cmVfZmluYWxpemVkKCkKKworICAgICAgICAjIHNlZSBpZiBpbmNsdWRlX2RpcnMgYW5kIGxpYnJhcnlfZGlycworICAgICAgICAjIHdlcmUgc2V0CisgICAgICAgIHNlbGYuYXNzZXJ0SW4obGliLCBjbWQubGlicmFyeV9kaXJzKQorICAgICAgICBzZWxmLmFzc2VydEluKGxpYiwgY21kLnJwYXRoKQorICAgICAgICBzZWxmLmFzc2VydEluKGluY2wsIGNtZC5pbmNsdWRlX2RpcnMpCisKKyAgICBkZWYgdGVzdF9vcHRpb25hbF9leHRlbnNpb24oc2VsZik6CisKKyAgICAgICAgIyB0aGlzIGV4dGVuc2lvbiB3aWxsIGZhaWwsIGJ1dCBsZXQncyBpZ25vcmUgdGhpcyBmYWlsdXJlCisgICAgICAgICMgd2l0aCB0aGUgb3B0aW9uYWwgYXJndW1lbnQuCisgICAgICAgIG1vZHVsZXMgPSBbRXh0ZW5zaW9uKCdmb28nLCBbJ3h4eCddLCBvcHRpb25hbD1GYWxzZSldCisgICAgICAgIGRpc3QgPSBEaXN0cmlidXRpb24oeyduYW1lJzogJ3h4JywgJ2V4dF9tb2R1bGVzJzogbW9kdWxlc30pCisgICAgICAgIGNtZCA9IGJ1aWxkX2V4dChkaXN0KQorICAgICAgICBjbWQuZW5zdXJlX2ZpbmFsaXplZCgpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKChVbmtub3duRmlsZUVycm9yLCBDb21waWxlRXJyb3IpLAorICAgICAgICAgICAgICAgICAgICAgICAgICBjbWQucnVuKSAgIyBzaG91bGQgcmFpc2UgYW4gZXJyb3IKKworICAgICAgICBtb2R1bGVzID0gW0V4dGVuc2lvbignZm9vJywgWyd4eHgnXSwgb3B0aW9uYWw9VHJ1ZSldCisgICAgICAgIGRpc3QgPSBEaXN0cmlidXRpb24oeyduYW1lJzogJ3h4JywgJ2V4dF9tb2R1bGVzJzogbW9kdWxlc30pCisgICAgICAgIGNtZCA9IGJ1aWxkX2V4dChkaXN0KQorICAgICAgICBjbWQuZW5zdXJlX2ZpbmFsaXplZCgpCisgICAgICAgIGNtZC5ydW4oKSAgIyBzaG91bGQgcGFzcworCisgICAgZGVmIHRlc3RfZmluYWxpemVfb3B0aW9ucyhzZWxmKToKKyAgICAgICAgIyBNYWtlIHN1cmUgUHl0aG9uJ3MgaW5jbHVkZSBkaXJlY3RvcmllcyAoZm9yIFB5dGhvbi5oLCBweWNvbmZpZy5oLAorICAgICAgICAjIGV0Yy4pIGFyZSBpbiB0aGUgaW5jbHVkZSBzZWFyY2ggcGF0aC4KKyAgICAgICAgbW9kdWxlcyA9IFtFeHRlbnNpb24oJ2ZvbycsIFsneHh4J10sIG9wdGlvbmFsPUZhbHNlKV0KKyAgICAgICAgZGlzdCA9IERpc3RyaWJ1dGlvbih7J25hbWUnOiAneHgnLCAnZXh0X21vZHVsZXMnOiBtb2R1bGVzfSkKKyAgICAgICAgY21kID0gYnVpbGRfZXh0KGRpc3QpCisgICAgICAgIGNtZC5maW5hbGl6ZV9vcHRpb25zKCkKKworICAgICAgICBweV9pbmNsdWRlID0gc3lzY29uZmlnLmdldF9wYXRoKCdpbmNsdWRlJykKKyAgICAgICAgc2VsZi5hc3NlcnRJbihweV9pbmNsdWRlLCBjbWQuaW5jbHVkZV9kaXJzKQorCisgICAgICAgIHBsYXRfcHlfaW5jbHVkZSA9IHN5c2NvbmZpZy5nZXRfcGF0aCgncGxhdGluY2x1ZGUnKQorICAgICAgICBzZWxmLmFzc2VydEluKHBsYXRfcHlfaW5jbHVkZSwgY21kLmluY2x1ZGVfZGlycykKKworICAgICAgICAjIG1ha2Ugc3VyZSBjbWQubGlicmFyaWVzIGlzIHR1cm5lZCBpbnRvIGEgbGlzdAorICAgICAgICAjIGlmIGl0J3MgYSBzdHJpbmcKKyAgICAgICAgY21kID0gYnVpbGRfZXh0KGRpc3QpCisgICAgICAgIGNtZC5saWJyYXJpZXMgPSAnbXlfbGliLCBvdGhlcl9saWIgbGFzdGxpYicKKyAgICAgICAgY21kLmZpbmFsaXplX29wdGlvbnMoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNtZC5saWJyYXJpZXMsIFsnbXlfbGliJywgJ290aGVyX2xpYicsICdsYXN0bGliJ10pCisKKyAgICAgICAgIyBtYWtlIHN1cmUgY21kLmxpYnJhcnlfZGlycyBpcyB0dXJuZWQgaW50byBhIGxpc3QKKyAgICAgICAgIyBpZiBpdCdzIGEgc3RyaW5nCisgICAgICAgIGNtZCA9IGJ1aWxkX2V4dChkaXN0KQorICAgICAgICBjbWQubGlicmFyeV9kaXJzID0gJ215X2xpYl9kaXIlc290aGVyX2xpYl9kaXInICUgb3MucGF0aHNlcAorICAgICAgICBjbWQuZmluYWxpemVfb3B0aW9ucygpCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ215X2xpYl9kaXInLCBjbWQubGlicmFyeV9kaXJzKQorICAgICAgICBzZWxmLmFzc2VydEluKCdvdGhlcl9saWJfZGlyJywgY21kLmxpYnJhcnlfZGlycykKKworICAgICAgICAjIG1ha2Ugc3VyZSBycGF0aCBpcyB0dXJuZWQgaW50byBhIGxpc3QKKyAgICAgICAgIyBpZiBpdCdzIGEgc3RyaW5nCisgICAgICAgIGNtZCA9IGJ1aWxkX2V4dChkaXN0KQorICAgICAgICBjbWQucnBhdGggPSAnb25lJXN0d28nICUgb3MucGF0aHNlcAorICAgICAgICBjbWQuZmluYWxpemVfb3B0aW9ucygpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY21kLnJwYXRoLCBbJ29uZScsICd0d28nXSkKKworICAgICAgICAjIFhYWCBtb3JlIHRlc3RzIHRvIHBlcmZvcm0gZm9yIHdpbjMyCisKKyAgICAgICAgIyBtYWtlIHN1cmUgZGVmaW5lIGlzIHR1cm5lZCBpbnRvIDItdHVwbGVzCisgICAgICAgICMgc3RyaW5ncyBpZiB0aGV5IGFyZSAnLCctc2VwYXJhdGVkIHN0cmluZ3MKKyAgICAgICAgY21kID0gYnVpbGRfZXh0KGRpc3QpCisgICAgICAgIGNtZC5kZWZpbmUgPSAnb25lLHR3bycKKyAgICAgICAgY21kLmZpbmFsaXplX29wdGlvbnMoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNtZC5kZWZpbmUsIFsoJ29uZScsICcxJyksICgndHdvJywgJzEnKV0pCisKKyAgICAgICAgIyBtYWtlIHN1cmUgdW5kZWYgaXMgdHVybmVkIGludG8gYSBsaXN0IG9mCisgICAgICAgICMgc3RyaW5ncyBpZiB0aGV5IGFyZSAnLCctc2VwYXJhdGVkIHN0cmluZ3MKKyAgICAgICAgY21kID0gYnVpbGRfZXh0KGRpc3QpCisgICAgICAgIGNtZC51bmRlZiA9ICdvbmUsdHdvJworICAgICAgICBjbWQuZmluYWxpemVfb3B0aW9ucygpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY21kLnVuZGVmLCBbJ29uZScsICd0d28nXSkKKworICAgICAgICAjIG1ha2Ugc3VyZSBzd2lnX29wdHMgaXMgdHVybmVkIGludG8gYSBsaXN0CisgICAgICAgIGNtZCA9IGJ1aWxkX2V4dChkaXN0KQorICAgICAgICBjbWQuc3dpZ19vcHRzID0gTm9uZQorICAgICAgICBjbWQuZmluYWxpemVfb3B0aW9ucygpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY21kLnN3aWdfb3B0cywgW10pCisKKyAgICAgICAgY21kID0gYnVpbGRfZXh0KGRpc3QpCisgICAgICAgIGNtZC5zd2lnX29wdHMgPSAnMSAyJworICAgICAgICBjbWQuZmluYWxpemVfb3B0aW9ucygpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY21kLnN3aWdfb3B0cywgWycxJywgJzInXSkKKworICAgIGRlZiB0ZXN0X2dldF9zb3VyY2VfZmlsZXMoc2VsZik6CisgICAgICAgIG1vZHVsZXMgPSBbRXh0ZW5zaW9uKCdmb28nLCBbJ3h4eCddLCBvcHRpb25hbD1GYWxzZSldCisgICAgICAgIGRpc3QgPSBEaXN0cmlidXRpb24oeyduYW1lJzogJ3h4JywgJ2V4dF9tb2R1bGVzJzogbW9kdWxlc30pCisgICAgICAgIGNtZCA9IGJ1aWxkX2V4dChkaXN0KQorICAgICAgICBjbWQuZW5zdXJlX2ZpbmFsaXplZCgpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY21kLmdldF9zb3VyY2VfZmlsZXMoKSwgWyd4eHgnXSkKKworICAgIGRlZiB0ZXN0X2NvbXBpbGVyX29wdGlvbihzZWxmKToKKyAgICAgICAgIyBjbWQuY29tcGlsZXIgaXMgYW4gb3B0aW9uIGFuZAorICAgICAgICAjIHNob3VsZCBub3QgYmUgb3ZlcnJpZGVuIGJ5IGEgY29tcGlsZXIgaW5zdGFuY2UKKyAgICAgICAgIyB3aGVuIHRoZSBjb21tYW5kIGlzIHJ1bgorICAgICAgICBkaXN0ID0gRGlzdHJpYnV0aW9uKCkKKyAgICAgICAgY21kID0gYnVpbGRfZXh0KGRpc3QpCisgICAgICAgIGNtZC5jb21waWxlciA9ICd1bml4JworICAgICAgICBjbWQuZW5zdXJlX2ZpbmFsaXplZCgpCisgICAgICAgIGNtZC5ydW4oKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNtZC5jb21waWxlciwgJ3VuaXgnKQorCisgICAgZGVmIHRlc3RfZ2V0X291dHB1dHMoc2VsZik6CisgICAgICAgIHRtcF9kaXIgPSBzZWxmLm1rZHRlbXAoKQorICAgICAgICBjX2ZpbGUgPSBvcy5wYXRoLmpvaW4odG1wX2RpciwgJ2Zvby5jJykKKyAgICAgICAgc2VsZi53cml0ZV9maWxlKGNfZmlsZSwgJ3ZvaWQgUHlJbml0X2Zvbyh2b2lkKSB7fVxuJykKKyAgICAgICAgZXh0ID0gRXh0ZW5zaW9uKCdmb28nLCBbY19maWxlXSwgb3B0aW9uYWw9RmFsc2UpCisgICAgICAgIGRpc3QgPSBEaXN0cmlidXRpb24oeyduYW1lJzogJ3h4JywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2V4dF9tb2R1bGVzJzogW2V4dF19KQorICAgICAgICBjbWQgPSBidWlsZF9leHQoZGlzdCkKKyAgICAgICAgc3VwcG9ydC5maXh1cF9idWlsZF9leHQoY21kKQorICAgICAgICBjbWQuZW5zdXJlX2ZpbmFsaXplZCgpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGNtZC5nZXRfb3V0cHV0cygpKSwgMSkKKworICAgICAgICBjbWQuYnVpbGRfbGliID0gb3MucGF0aC5qb2luKHNlbGYudG1wX2RpciwgJ2J1aWxkJykKKyAgICAgICAgY21kLmJ1aWxkX3RlbXAgPSBvcy5wYXRoLmpvaW4oc2VsZi50bXBfZGlyLCAndGVtcHQnKQorCisgICAgICAgICMgaXNzdWUgIzU5NzcgOiBkaXN0dXRpbHMgYnVpbGRfZXh0LmdldF9vdXRwdXRzCisgICAgICAgICMgcmV0dXJucyB3cm9uZyByZXN1bHQgd2l0aCAtLWlucGxhY2UKKyAgICAgICAgb3RoZXJfdG1wX2RpciA9IG9zLnBhdGgucmVhbHBhdGgoc2VsZi5ta2R0ZW1wKCkpCisgICAgICAgIG9sZF93ZCA9IG9zLmdldGN3ZCgpCisgICAgICAgIG9zLmNoZGlyKG90aGVyX3RtcF9kaXIpCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIGNtZC5pbnBsYWNlID0gVHJ1ZQorICAgICAgICAgICAgY21kLnJ1bigpCisgICAgICAgICAgICBzb19maWxlID0gY21kLmdldF9vdXRwdXRzKClbMF0KKyAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgIG9zLmNoZGlyKG9sZF93ZCkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG9zLnBhdGguZXhpc3RzKHNvX2ZpbGUpKQorICAgICAgICBzb19leHQgPSBzeXNjb25maWcuZ2V0X2NvbmZpZ192YXIoJ1NPJykKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHNvX2ZpbGUuZW5kc3dpdGgoc29fZXh0KSkKKyAgICAgICAgc29fZGlyID0gb3MucGF0aC5kaXJuYW1lKHNvX2ZpbGUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc29fZGlyLCBvdGhlcl90bXBfZGlyKQorCisgICAgICAgIGNtZC5pbnBsYWNlID0gRmFsc2UKKyAgICAgICAgY21kLnJ1bigpCisgICAgICAgIHNvX2ZpbGUgPSBjbWQuZ2V0X291dHB1dHMoKVswXQorICAgICAgICBzZWxmLmFzc2VydFRydWUob3MucGF0aC5leGlzdHMoc29fZmlsZSkpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShzb19maWxlLmVuZHN3aXRoKHNvX2V4dCkpCisgICAgICAgIHNvX2RpciA9IG9zLnBhdGguZGlybmFtZShzb19maWxlKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNvX2RpciwgY21kLmJ1aWxkX2xpYikKKworICAgICAgICAjIGlucGxhY2UgPSBGYWxzZSwgY21kLnBhY2thZ2UgPSAnYmFyJworICAgICAgICBidWlsZF9weSA9IGNtZC5nZXRfZmluYWxpemVkX2NvbW1hbmQoJ2J1aWxkX3B5JykKKyAgICAgICAgYnVpbGRfcHkucGFja2FnZV9kaXIgPSAnYmFyJworICAgICAgICBwYXRoID0gY21kLmdldF9leHRfZnVsbHBhdGgoJ2ZvbycpCisgICAgICAgICMgY2hlY2tpbmcgdGhhdCB0aGUgbGFzdCBkaXJlY3RvcnkgaXMgdGhlIGJ1aWxkX2RpcgorICAgICAgICBwYXRoID0gb3MucGF0aC5zcGxpdChwYXRoKVswXQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBhdGgsIGNtZC5idWlsZF9saWIpCisKKyAgICAgICAgIyBpbnBsYWNlID0gVHJ1ZSwgY21kLnBhY2thZ2UgPSAnYmFyJworICAgICAgICBjbWQuaW5wbGFjZSA9IFRydWUKKyAgICAgICAgb3RoZXJfdG1wX2RpciA9IG9zLnBhdGgucmVhbHBhdGgoc2VsZi5ta2R0ZW1wKCkpCisgICAgICAgIG9sZF93ZCA9IG9zLmdldGN3ZCgpCisgICAgICAgIG9zLmNoZGlyKG90aGVyX3RtcF9kaXIpCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHBhdGggPSBjbWQuZ2V0X2V4dF9mdWxscGF0aCgnZm9vJykKKyAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgIG9zLmNoZGlyKG9sZF93ZCkKKyAgICAgICAgIyBjaGVja2luZyB0aGF0IHRoZSBsYXN0IGRpcmVjdG9yeSBpcyBiYXIKKyAgICAgICAgcGF0aCA9IG9zLnBhdGguc3BsaXQocGF0aClbMF0KKyAgICAgICAgbGFzdGRpciA9IG9zLnBhdGguc3BsaXQocGF0aClbLTFdCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGFzdGRpciwgJ2JhcicpCisKKyAgICBkZWYgdGVzdF9leHRfZnVsbHBhdGgoc2VsZik6CisgICAgICAgIGV4dCA9IHN5c2NvbmZpZy5nZXRfY29uZmlnX3ZhcnMoKVsnU08nXQorICAgICAgICAjIGJ1aWxkaW5nIGx4bWwuZXRyZWUgaW5wbGFjZQorICAgICAgICAjZXRyZWVfYyA9IG9zLnBhdGguam9pbihzZWxmLnRtcF9kaXIsICdseG1sLmV0cmVlLmMnKQorICAgICAgICAjZXRyZWVfZXh0ID0gRXh0ZW5zaW9uKCdseG1sLmV0cmVlJywgW2V0cmVlX2NdKQorICAgICAgICAjZGlzdCA9IERpc3RyaWJ1dGlvbih7J25hbWUnOiAnbHhtbCcsICdleHRfbW9kdWxlcyc6IFtldHJlZV9leHRdfSkKKyAgICAgICAgZGlzdCA9IERpc3RyaWJ1dGlvbigpCisgICAgICAgIGNtZCA9IGJ1aWxkX2V4dChkaXN0KQorICAgICAgICBjbWQuaW5wbGFjZSA9IFRydWUKKyAgICAgICAgY21kLmRpc3RyaWJ1dGlvbi5wYWNrYWdlX2RpciA9ICdzcmMnCisgICAgICAgIGNtZC5kaXN0cmlidXRpb24ucGFja2FnZXMgPSBbJ2x4bWwnLCAnbHhtbC5odG1sJ10KKyAgICAgICAgY3VyZGlyID0gb3MuZ2V0Y3dkKCkKKyAgICAgICAgd2FudGVkID0gb3MucGF0aC5qb2luKGN1cmRpciwgJ3NyYycsICdseG1sJywgJ2V0cmVlJyArIGV4dCkKKyAgICAgICAgcGF0aCA9IGNtZC5nZXRfZXh0X2Z1bGxwYXRoKCdseG1sLmV0cmVlJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh3YW50ZWQsIHBhdGgpCisKKyAgICAgICAgIyBidWlsZGluZyBseG1sLmV0cmVlIG5vdCBpbnBsYWNlCisgICAgICAgIGNtZC5pbnBsYWNlID0gRmFsc2UKKyAgICAgICAgY21kLmJ1aWxkX2xpYiA9IG9zLnBhdGguam9pbihjdXJkaXIsICd0bXBkaXInKQorICAgICAgICB3YW50ZWQgPSBvcy5wYXRoLmpvaW4oY3VyZGlyLCAndG1wZGlyJywgJ2x4bWwnLCAnZXRyZWUnICsgZXh0KQorICAgICAgICBwYXRoID0gY21kLmdldF9leHRfZnVsbHBhdGgoJ2x4bWwuZXRyZWUnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHdhbnRlZCwgcGF0aCkKKworICAgICAgICAjIGJ1aWxkaW5nIHR3aXN0ZWQucnVubmVyLnBvcnRtYXAgbm90IGlucGxhY2UKKyAgICAgICAgYnVpbGRfcHkgPSBjbWQuZ2V0X2ZpbmFsaXplZF9jb21tYW5kKCdidWlsZF9weScpCisgICAgICAgIGJ1aWxkX3B5LnBhY2thZ2VfZGlyID0gTm9uZQorICAgICAgICBjbWQuZGlzdHJpYnV0aW9uLnBhY2thZ2VzID0gWyd0d2lzdGVkJywgJ3R3aXN0ZWQucnVubmVyLnBvcnRtYXAnXQorICAgICAgICBwYXRoID0gY21kLmdldF9leHRfZnVsbHBhdGgoJ3R3aXN0ZWQucnVubmVyLnBvcnRtYXAnKQorICAgICAgICB3YW50ZWQgPSBvcy5wYXRoLmpvaW4oY3VyZGlyLCAndG1wZGlyJywgJ3R3aXN0ZWQnLCAncnVubmVyJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwb3J0bWFwJyArIGV4dCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh3YW50ZWQsIHBhdGgpCisKKyAgICAgICAgIyBidWlsZGluZyB0d2lzdGVkLnJ1bm5lci5wb3J0bWFwIGlucGxhY2UKKyAgICAgICAgY21kLmlucGxhY2UgPSBUcnVlCisgICAgICAgIHBhdGggPSBjbWQuZ2V0X2V4dF9mdWxscGF0aCgndHdpc3RlZC5ydW5uZXIucG9ydG1hcCcpCisgICAgICAgIHdhbnRlZCA9IG9zLnBhdGguam9pbihjdXJkaXIsICd0d2lzdGVkJywgJ3J1bm5lcicsICdwb3J0bWFwJyArIGV4dCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh3YW50ZWQsIHBhdGgpCisKKyAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhzeXMucGxhdGZvcm0gPT0gJ2RhcndpbicsCisgICAgICAgICAgICAgICAgICAgICAgICAgJ3Rlc3Qgb25seSByZWxldmFudCBmb3IgTWFjIE9TIFgnKQorICAgIGRlZiB0ZXN0X2RlcGxveW1lbnRfdGFyZ2V0X2RlZmF1bHQoc2VsZik6CisgICAgICAgICMgSXNzdWUgOTUxNjogVGVzdCB0aGF0LCBpbiB0aGUgYWJzZW5jZSBvZiB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUsCisgICAgICAgICMgYW4gZXh0ZW5zaW9uIG1vZHVsZSBpcyBjb21waWxlZCB3aXRoIHRoZSBzYW1lIGRlcGxveW1lbnQgdGFyZ2V0IGFzCisgICAgICAgICMgIHRoZSBpbnRlcnByZXRlci4KKyAgICAgICAgc2VsZi5fdHJ5X2NvbXBpbGVfZGVwbG95bWVudF90YXJnZXQoJz09JywgTm9uZSkKKworICAgIEB1bml0dGVzdC5za2lwVW5sZXNzKHN5cy5wbGF0Zm9ybSA9PSAnZGFyd2luJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAndGVzdCBvbmx5IHJlbGV2YW50IGZvciBNYWMgT1MgWCcpCisgICAgZGVmIHRlc3RfZGVwbG95bWVudF90YXJnZXRfdG9vX2xvdyhzZWxmKToKKyAgICAgICAgIyBJc3N1ZSA5NTE2OiBUZXN0IHRoYXQgYW4gZXh0ZW5zaW9uIG1vZHVsZSBpcyBub3QgYWxsb3dlZCB0byBiZQorICAgICAgICAjIGNvbXBpbGVkIHdpdGggYSBkZXBsb3ltZW50IHRhcmdldCBsZXNzIHRoYW4gdGhhdCBvZiB0aGUgaW50ZXJwcmV0ZXIuCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFBhY2thZ2luZ1BsYXRmb3JtRXJyb3IsCisgICAgICAgICAgICBzZWxmLl90cnlfY29tcGlsZV9kZXBsb3ltZW50X3RhcmdldCwgJz4nLCAnMTAuMScpCisKKyAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhzeXMucGxhdGZvcm0gPT0gJ2RhcndpbicsCisgICAgICAgICAgICAgICAgICAgICAgICAgJ3Rlc3Qgb25seSByZWxldmFudCBmb3IgTWFjIE9TIFgnKQorICAgIGRlZiB0ZXN0X2RlcGxveW1lbnRfdGFyZ2V0X2hpZ2hlcl9vayhzZWxmKToKKyAgICAgICAgIyBJc3N1ZSA5NTE2OiBUZXN0IHRoYXQgYW4gZXh0ZW5zaW9uIG1vZHVsZSBjYW4gYmUgY29tcGlsZWQgd2l0aCBhCisgICAgICAgICMgZGVwbG95bWVudCB0YXJnZXQgaGlnaGVyIHRoYW4gdGhhdCBvZiB0aGUgaW50ZXJwcmV0ZXI6IHRoZSBleHQKKyAgICAgICAgIyBtb2R1bGUgbWF5IGRlcGVuZCBvbiBzb21lIG5ld2VyIE9TIGZlYXR1cmUuCisgICAgICAgIGRlcHRhcmdldCA9IHN5c2NvbmZpZy5nZXRfY29uZmlnX3ZhcignTUFDT1NYX0RFUExPWU1FTlRfVEFSR0VUJykKKyAgICAgICAgaWYgZGVwdGFyZ2V0OgorICAgICAgICAgICAgIyBpbmNyZW1lbnQgdGhlIG1pbm9yIHZlcnNpb24gbnVtYmVyIChpLmUuIDEwLjYgLT4gMTAuNykKKyAgICAgICAgICAgIGRlcHRhcmdldCA9IFtpbnQoeCkgZm9yIHggaW4gZGVwdGFyZ2V0LnNwbGl0KCcuJyldCisgICAgICAgICAgICBkZXB0YXJnZXRbLTFdICs9IDEKKyAgICAgICAgICAgIGRlcHRhcmdldCA9ICcuJy5qb2luKHN0cihpKSBmb3IgaSBpbiBkZXB0YXJnZXQpCisgICAgICAgICAgICBzZWxmLl90cnlfY29tcGlsZV9kZXBsb3ltZW50X3RhcmdldCgnPCcsIGRlcHRhcmdldCkKKworICAgIGRlZiBfdHJ5X2NvbXBpbGVfZGVwbG95bWVudF90YXJnZXQoc2VsZiwgb3BlcmF0b3IsIHRhcmdldCk6CisgICAgICAgIG9yaWdfZW52aXJvbiA9IG9zLmVudmlyb24KKyAgICAgICAgb3MuZW52aXJvbiA9IG9yaWdfZW52aXJvbi5jb3B5KCkKKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKHNldGF0dHIsIG9zLCAnZW52aXJvbicsIG9yaWdfZW52aXJvbikKKworICAgICAgICBpZiB0YXJnZXQgaXMgTm9uZToKKyAgICAgICAgICAgIGlmIG9zLmVudmlyb24uZ2V0KCdNQUNPU1hfREVQTE9ZTUVOVF9UQVJHRVQnKToKKyAgICAgICAgICAgICAgICBkZWwgb3MuZW52aXJvblsnTUFDT1NYX0RFUExPWU1FTlRfVEFSR0VUJ10KKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIG9zLmVudmlyb25bJ01BQ09TWF9ERVBMT1lNRU5UX1RBUkdFVCddID0gdGFyZ2V0CisKKyAgICAgICAgZGVwdGFyZ2V0X2MgPSBvcy5wYXRoLmpvaW4oc2VsZi50bXBfZGlyLCAnZGVwdGFyZ2V0bW9kdWxlLmMnKQorCisgICAgICAgIHdpdGggb3BlbihkZXB0YXJnZXRfYywgJ3cnKSBhcyBmcDoKKyAgICAgICAgICAgIGZwLndyaXRlKHRleHR3cmFwLmRlZGVudCgnJydcCisgICAgICAgICAgICAgICAgI2luY2x1ZGUgPEF2YWlsYWJpbGl0eU1hY3Jvcy5oPgorCisgICAgICAgICAgICAgICAgaW50IGR1bW15OworCisgICAgICAgICAgICAgICAgI2lmIFRBUkdFVCAlcyBNQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRAorICAgICAgICAgICAgICAgICNlbHNlCisgICAgICAgICAgICAgICAgI2Vycm9yICJVbmV4cGVjdGVkIHRhcmdldCIKKyAgICAgICAgICAgICAgICAjZW5kaWYKKworICAgICAgICAgICAgJycnICUgb3BlcmF0b3IpKQorCisgICAgICAgICMgZ2V0IHRoZSBkZXBsb3ltZW50IHRhcmdldCB0aGF0IHRoZSBpbnRlcnByZXRlciB3YXMgYnVpbHQgd2l0aAorICAgICAgICB0YXJnZXQgPSBzeXNjb25maWcuZ2V0X2NvbmZpZ192YXIoJ01BQ09TWF9ERVBMT1lNRU5UX1RBUkdFVCcpCisgICAgICAgIHRhcmdldCA9IHR1cGxlKG1hcChpbnQsIHRhcmdldC5zcGxpdCgnLicpKSkKKyAgICAgICAgdGFyZ2V0ID0gJyUwMmQlMDFkMCcgJSB0YXJnZXQKKworICAgICAgICBkZXB0YXJnZXRfZXh0ID0gRXh0ZW5zaW9uKAorICAgICAgICAgICAgJ2RlcHRhcmdldCcsCisgICAgICAgICAgICBbZGVwdGFyZ2V0X2NdLAorICAgICAgICAgICAgZXh0cmFfY29tcGlsZV9hcmdzPVsnLURUQVJHRVQ9JXMnICUgKHRhcmdldCwpXSwKKyAgICAgICAgKQorICAgICAgICBkaXN0ID0gRGlzdHJpYnV0aW9uKHsKKyAgICAgICAgICAgICduYW1lJzogJ2RlcHRhcmdldCcsCisgICAgICAgICAgICAnZXh0X21vZHVsZXMnOiBbZGVwdGFyZ2V0X2V4dF0sCisgICAgICAgIH0pCisgICAgICAgIGRpc3QucGFja2FnZV9kaXIgPSBzZWxmLnRtcF9kaXIKKyAgICAgICAgY21kID0gYnVpbGRfZXh0KGRpc3QpCisgICAgICAgIGNtZC5idWlsZF9saWIgPSBzZWxmLnRtcF9kaXIKKyAgICAgICAgY21kLmJ1aWxkX3RlbXAgPSBzZWxmLnRtcF9kaXIKKworICAgICAgICB0cnk6CisgICAgICAgICAgICBjbWQuZW5zdXJlX2ZpbmFsaXplZCgpCisgICAgICAgICAgICBjbWQucnVuKCkKKyAgICAgICAgZXhjZXB0IENvbXBpbGVFcnJvcjoKKyAgICAgICAgICAgIHNlbGYuZmFpbCgiV3JvbmcgZGVwbG95bWVudCB0YXJnZXQgZHVyaW5nIGNvbXBpbGF0aW9uIikKKworCitkZWYgdGVzdF9zdWl0ZSgpOgorICAgIHJldHVybiB1bml0dGVzdC5tYWtlU3VpdGUoQnVpbGRFeHRUZXN0Q2FzZSkKKworaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKKyAgICB1bml0dGVzdC5tYWluKGRlZmF1bHRUZXN0PSd0ZXN0X3N1aXRlJykKZGlmZiAtLWdpdCBhL0xpYi9wYWNrYWdpbmcvdGVzdHMvdGVzdF9jb21tYW5kX2J1aWxkX3B5LnB5IGIvTGliL3BhY2thZ2luZy90ZXN0cy90ZXN0X2NvbW1hbmRfYnVpbGRfcHkucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDU5OWJmMgotLS0gL2Rldi9udWxsCisrKyBiL0xpYi9wYWNrYWdpbmcvdGVzdHMvdGVzdF9jb21tYW5kX2J1aWxkX3B5LnB5CkBAIC0wLDAgKzEsMTQ2IEBACisiIiJUZXN0cyBmb3IgZGlzdHV0aWxzLmNvbW1hbmQuYnVpbGRfcHkuIiIiCisKK2ltcG9ydCBvcworaW1wb3J0IHN5cworaW1wb3J0IGltcAorCitmcm9tIHBhY2thZ2luZy5jb21tYW5kLmJ1aWxkX3B5IGltcG9ydCBidWlsZF9weQorZnJvbSBwYWNrYWdpbmcuZGlzdCBpbXBvcnQgRGlzdHJpYnV0aW9uCitmcm9tIHBhY2thZ2luZy5lcnJvcnMgaW1wb3J0IFBhY2thZ2luZ0ZpbGVFcnJvcgorCitmcm9tIHBhY2thZ2luZy50ZXN0cyBpbXBvcnQgdW5pdHRlc3QsIHN1cHBvcnQKKworCitjbGFzcyBCdWlsZFB5VGVzdENhc2Uoc3VwcG9ydC5UZW1wZGlyTWFuYWdlciwKKyAgICAgICAgICAgICAgICAgICAgICBzdXBwb3J0LkxvZ2dpbmdDYXRjaGVyLAorICAgICAgICAgICAgICAgICAgICAgIHVuaXR0ZXN0LlRlc3RDYXNlKToKKworICAgIGRlZiB0ZXN0X3BhY2thZ2VfZGF0YShzZWxmKToKKyAgICAgICAgc291cmNlcyA9IHNlbGYubWtkdGVtcCgpCisgICAgICAgIHBrZ19kaXIgPSBvcy5wYXRoLmpvaW4oc291cmNlcywgJ3BrZycpCisgICAgICAgIG9zLm1rZGlyKHBrZ19kaXIpCisgICAgICAgIGYgPSBvcGVuKG9zLnBhdGguam9pbihwa2dfZGlyLCAiX19pbml0X18ucHkiKSwgInciKQorICAgICAgICB0cnk6CisgICAgICAgICAgICBmLndyaXRlKCIjIFByZXRlbmQgdGhpcyBpcyBhIHBhY2thZ2UuIikKKyAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgIGYuY2xvc2UoKQorICAgICAgICAjIGxldCdzIGhhdmUgdHdvIGZpbGVzIHRvIG1ha2Ugc3VyZSBnbG9iYmluZyB3b3JrcworICAgICAgICBmID0gb3Blbihvcy5wYXRoLmpvaW4ocGtnX2RpciwgIlJFQURNRS50eHQiKSwgInciKQorICAgICAgICB0cnk6CisgICAgICAgICAgICBmLndyaXRlKCJJbmZvIGFib3V0IHRoaXMgcGFja2FnZSIpCisgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICBmLmNsb3NlKCkKKyAgICAgICAgZiA9IG9wZW4ob3MucGF0aC5qb2luKHBrZ19kaXIsICJIQUNLSU5HLnR4dCIpLCAidyIpCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIGYud3JpdGUoIkhvdyB0byBjb250cmlidXRlIikKKyAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgIGYuY2xvc2UoKQorCisgICAgICAgIGRlc3RpbmF0aW9uID0gc2VsZi5ta2R0ZW1wKCkKKworICAgICAgICBkaXN0ID0gRGlzdHJpYnV0aW9uKHsicGFja2FnZXMiOiBbInBrZyJdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGFja2FnZV9kaXIiOiBzb3VyY2VzfSkKKworICAgICAgICBkaXN0LmNvbW1hbmRfb2JqWyJidWlsZCJdID0gc3VwcG9ydC5EdW1teUNvbW1hbmQoCisgICAgICAgICAgICBmb3JjZT1GYWxzZSwKKyAgICAgICAgICAgIGJ1aWxkX2xpYj1kZXN0aW5hdGlvbiwKKyAgICAgICAgICAgIHVzZV8ydG8zX2ZpeGVycz1Ob25lLAorICAgICAgICAgICAgY29udmVydF8ydG8zX2RvY3Rlc3RzPU5vbmUsCisgICAgICAgICAgICB1c2VfMnRvMz1GYWxzZSkKKyAgICAgICAgZGlzdC5wYWNrYWdlcyA9IFsicGtnIl0KKyAgICAgICAgZGlzdC5wYWNrYWdlX2RhdGEgPSB7InBrZyI6IFsiKi50eHQiXX0KKyAgICAgICAgZGlzdC5wYWNrYWdlX2RpciA9IHNvdXJjZXMKKworICAgICAgICBjbWQgPSBidWlsZF9weShkaXN0KQorICAgICAgICBjbWQuY29tcGlsZSA9IFRydWUKKyAgICAgICAgY21kLmVuc3VyZV9maW5hbGl6ZWQoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNtZC5wYWNrYWdlX2RhdGEsIGRpc3QucGFja2FnZV9kYXRhKQorCisgICAgICAgIGNtZC5ydW4oKQorCisgICAgICAgICMgVGhpcyBtYWtlcyBzdXJlIHRoZSBsaXN0IG9mIG91dHB1dHMgaW5jbHVkZXMgYnl0ZS1jb21waWxlZAorICAgICAgICAjIGZpbGVzIGZvciBQeXRob24gbW9kdWxlcyBidXQgbm90IGZvciBwYWNrYWdlIGRhdGEgZmlsZXMKKyAgICAgICAgIyAodGhlcmUgc2hvdWxkbid0ICpiZSogYnl0ZS1jb2RlIGZpbGVzIGZvciB0aG9zZSEpLgorICAgICAgICAjIEZJWE1FIHRoZSB0ZXN0IGJlbG93IGlzIG5vdCBkb2luZyB3aGF0IHRoZSBjb21tZW50IGFib3ZlIHNheXMsIGFuZAorICAgICAgICAjIGlmIGl0IGRpZCBpdCB3b3VsZCBzaG93IGEgY29kZSBidWc6IGlmIHdlIGFkZCBhIGRlbW8ucHkgZmlsZSB0bworICAgICAgICAjIHBhY2thZ2VfZGF0YSwgaXQgZ2V0cyBieXRlLWNvbXBpbGVkIQorICAgICAgICBvdXRwdXRzID0gY21kLmdldF9vdXRwdXRzKCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4ob3V0cHV0cyksIDQsIG91dHB1dHMpCisgICAgICAgIHBrZ2Rlc3QgPSBvcy5wYXRoLmpvaW4oZGVzdGluYXRpb24sICJwa2ciKQorICAgICAgICBmaWxlcyA9IG9zLmxpc3RkaXIocGtnZGVzdCkKKyAgICAgICAgcHljYWNoZV9kaXIgPSBvcy5wYXRoLmpvaW4ocGtnZGVzdCwgIl9fcHljYWNoZV9fIikKKyAgICAgICAgc2VsZi5hc3NlcnRJbigiX19pbml0X18ucHkiLCBmaWxlcykKKyAgICAgICAgc2VsZi5hc3NlcnRJbigiUkVBRE1FLnR4dCIsIGZpbGVzKQorICAgICAgICBzZWxmLmFzc2VydEluKCJIQUNLSU5HLnR4dCIsIGZpbGVzKQorICAgICAgICBweWNfZmlsZXMgPSBvcy5saXN0ZGlyKHB5Y2FjaGVfZGlyKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKFsiX19pbml0X18uJXMucHljIiAlIGltcC5nZXRfdGFnKCldLCBweWNfZmlsZXMpCisKKyAgICBkZWYgdGVzdF9lbXB0eV9wYWNrYWdlX2RpcihzZWxmKToKKyAgICAgICAgIyBTZWUgU0YgMTY2ODU5Ni8xNzIwODk3LgorICAgICAgICAjIGNyZWF0ZSB0aGUgZGlzdHJpYnV0aW9uIGZpbGVzLgorICAgICAgICBzb3VyY2VzID0gc2VsZi5ta2R0ZW1wKCkKKyAgICAgICAgcGtnID0gb3MucGF0aC5qb2luKHNvdXJjZXMsICdwa2cnKQorICAgICAgICBvcy5ta2Rpcihwa2cpCisgICAgICAgIG9wZW4ob3MucGF0aC5qb2luKHBrZywgIl9faW5pdF9fLnB5IiksICJ3YiIpLmNsb3NlKCkKKyAgICAgICAgdGVzdGRpciA9IG9zLnBhdGguam9pbihwa2csICJkb2MiKQorICAgICAgICBvcy5ta2Rpcih0ZXN0ZGlyKQorICAgICAgICBvcGVuKG9zLnBhdGguam9pbih0ZXN0ZGlyLCAidGVzdGZpbGUiKSwgIndiIikuY2xvc2UoKQorCisgICAgICAgIG9zLmNoZGlyKHNvdXJjZXMpCisgICAgICAgIGRpc3QgPSBEaXN0cmlidXRpb24oeyJwYWNrYWdlcyI6IFsicGtnIl0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYWNrYWdlX2RpciI6IHNvdXJjZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYWNrYWdlX2RhdGEiOiB7InBrZyI6IFsiZG9jLyoiXX19KQorICAgICAgICBkaXN0LnNjcmlwdF9hcmdzID0gWyJidWlsZCJdCisgICAgICAgIGRpc3QucGFyc2VfY29tbWFuZF9saW5lKCkKKworICAgICAgICB0cnk6CisgICAgICAgICAgICBkaXN0LnJ1bl9jb21tYW5kcygpCisgICAgICAgIGV4Y2VwdCBQYWNrYWdpbmdGaWxlRXJyb3I6CisgICAgICAgICAgICBzZWxmLmZhaWwoImZhaWxlZCBwYWNrYWdlX2RhdGEgdGVzdCB3aGVuIHBhY2thZ2VfZGlyIGlzICcnIikKKworICAgIGRlZiB0ZXN0X2J5dGVfY29tcGlsZShzZWxmKToKKyAgICAgICAgcHJvamVjdF9kaXIsIGRpc3QgPSBzZWxmLmNyZWF0ZV9kaXN0KHB5X21vZHVsZXM9Wydib2lsZWRlZ2dzJ10pCisgICAgICAgIG9zLmNoZGlyKHByb2plY3RfZGlyKQorICAgICAgICBzZWxmLndyaXRlX2ZpbGUoJ2JvaWxlZGVnZ3MucHknLCAnaW1wb3J0IGFudGlncmF2aXR5JykKKyAgICAgICAgY21kID0gYnVpbGRfcHkoZGlzdCkKKyAgICAgICAgY21kLmNvbXBpbGUgPSBUcnVlCisgICAgICAgIGNtZC5idWlsZF9saWIgPSAnaGVyZScKKyAgICAgICAgY21kLmZpbmFsaXplX29wdGlvbnMoKQorICAgICAgICBjbWQucnVuKCkKKworICAgICAgICBmb3VuZCA9IG9zLmxpc3RkaXIoY21kLmJ1aWxkX2xpYikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzb3J0ZWQoZm91bmQpLCBbJ19fcHljYWNoZV9fJywgJ2JvaWxlZGVnZ3MucHknXSkKKyAgICAgICAgZm91bmQgPSBvcy5saXN0ZGlyKG9zLnBhdGguam9pbihjbWQuYnVpbGRfbGliLCAnX19weWNhY2hlX18nKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmb3VuZCwgWydib2lsZWRlZ2dzLiVzLnB5YycgJSBpbXAuZ2V0X3RhZygpXSkKKworICAgIGRlZiB0ZXN0X2J5dGVfY29tcGlsZV9vcHRpbWl6ZWQoc2VsZik6CisgICAgICAgIHByb2plY3RfZGlyLCBkaXN0ID0gc2VsZi5jcmVhdGVfZGlzdChweV9tb2R1bGVzPVsnYm9pbGVkZWdncyddKQorICAgICAgICBvcy5jaGRpcihwcm9qZWN0X2RpcikKKyAgICAgICAgc2VsZi53cml0ZV9maWxlKCdib2lsZWRlZ2dzLnB5JywgJ2ltcG9ydCBhbnRpZ3Jhdml0eScpCisgICAgICAgIGNtZCA9IGJ1aWxkX3B5KGRpc3QpCisgICAgICAgIGNtZC5jb21waWxlID0gVHJ1ZQorICAgICAgICBjbWQub3B0aW1pemUgPSAxCisgICAgICAgIGNtZC5idWlsZF9saWIgPSAnaGVyZScKKyAgICAgICAgY21kLmZpbmFsaXplX29wdGlvbnMoKQorICAgICAgICBjbWQucnVuKCkKKworICAgICAgICBmb3VuZCA9IG9zLmxpc3RkaXIoY21kLmJ1aWxkX2xpYikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzb3J0ZWQoZm91bmQpLCBbJ19fcHljYWNoZV9fJywgJ2JvaWxlZGVnZ3MucHknXSkKKyAgICAgICAgZm91bmQgPSBvcy5saXN0ZGlyKG9zLnBhdGguam9pbihjbWQuYnVpbGRfbGliLCAnX19weWNhY2hlX18nKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzb3J0ZWQoZm91bmQpLCBbJ2JvaWxlZGVnZ3MuJXMucHljJyAlIGltcC5nZXRfdGFnKCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdib2lsZWRlZ2dzLiVzLnB5bycgJSBpbXAuZ2V0X3RhZygpXSkKKworICAgIGRlZiB0ZXN0X2J5dGVfY29tcGlsZV91bmRlcl9CKHNlbGYpOgorICAgICAgICAjIG1ha2Ugc3VyZSBieXRlIGNvbXBpbGF0aW9uIHdvcmtzIHVuZGVyIC1CIChkb250X3dyaXRlX2J5dGVjb2RlKQorICAgICAgICBzZWxmLmFkZENsZWFudXAoc2V0YXR0ciwgc3lzLCAnZG9udF93cml0ZV9ieXRlY29kZScsCisgICAgICAgICAgICAgICAgICAgICAgICBzeXMuZG9udF93cml0ZV9ieXRlY29kZSkKKyAgICAgICAgc3lzLmRvbnRfd3JpdGVfYnl0ZWNvZGUgPSBUcnVlCisgICAgICAgIHNlbGYudGVzdF9ieXRlX2NvbXBpbGUoKQorICAgICAgICBzZWxmLnRlc3RfYnl0ZV9jb21waWxlX29wdGltaXplZCgpCisKKworZGVmIHRlc3Rfc3VpdGUoKToKKyAgICByZXR1cm4gdW5pdHRlc3QubWFrZVN1aXRlKEJ1aWxkUHlUZXN0Q2FzZSkKKworaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKKyAgICB1bml0dGVzdC5tYWluKGRlZmF1bHRUZXN0PSJ0ZXN0X3N1aXRlIikKZGlmZiAtLWdpdCBhL0xpYi9wYWNrYWdpbmcvdGVzdHMvdGVzdF9jb21tYW5kX2J1aWxkX3NjcmlwdHMucHkgYi9MaWIvcGFja2FnaW5nL3Rlc3RzL3Rlc3RfY29tbWFuZF9idWlsZF9zY3JpcHRzLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZkM2FjMjQKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvcGFja2FnaW5nL3Rlc3RzL3Rlc3RfY29tbWFuZF9idWlsZF9zY3JpcHRzLnB5CkBAIC0wLDAgKzEsMTA5IEBACisiIiJUZXN0cyBmb3IgZGlzdHV0aWxzLmNvbW1hbmQuYnVpbGRfc2NyaXB0cy4iIiIKKworaW1wb3J0IG9zCitpbXBvcnQgc3lzCitpbXBvcnQgc3lzY29uZmlnCitmcm9tIHBhY2thZ2luZy5kaXN0IGltcG9ydCBEaXN0cmlidXRpb24KK2Zyb20gcGFja2FnaW5nLmNvbW1hbmQuYnVpbGRfc2NyaXB0cyBpbXBvcnQgYnVpbGRfc2NyaXB0cworCitmcm9tIHBhY2thZ2luZy50ZXN0cyBpbXBvcnQgdW5pdHRlc3QsIHN1cHBvcnQKKworCitjbGFzcyBCdWlsZFNjcmlwdHNUZXN0Q2FzZShzdXBwb3J0LlRlbXBkaXJNYW5hZ2VyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VwcG9ydC5Mb2dnaW5nQ2F0Y2hlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuaXR0ZXN0LlRlc3RDYXNlKToKKworICAgIGRlZiB0ZXN0X2RlZmF1bHRfc2V0dGluZ3Moc2VsZik6CisgICAgICAgIGNtZCA9IHNlbGYuZ2V0X2J1aWxkX3NjcmlwdHNfY21kKCIvZm9vL2JhciIsIFtdKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGNtZC5mb3JjZSkKKyAgICAgICAgc2VsZi5hc3NlcnRJcyhjbWQuYnVpbGRfZGlyLCBOb25lKQorCisgICAgICAgIGNtZC5maW5hbGl6ZV9vcHRpb25zKCkKKworICAgICAgICBzZWxmLmFzc2VydFRydWUoY21kLmZvcmNlKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNtZC5idWlsZF9kaXIsICIvZm9vL2JhciIpCisKKyAgICBkZWYgdGVzdF9idWlsZChzZWxmKToKKyAgICAgICAgc291cmNlID0gc2VsZi5ta2R0ZW1wKCkKKyAgICAgICAgdGFyZ2V0ID0gc2VsZi5ta2R0ZW1wKCkKKyAgICAgICAgZXhwZWN0ZWQgPSBzZWxmLndyaXRlX3NhbXBsZV9zY3JpcHRzKHNvdXJjZSkKKworICAgICAgICBjbWQgPSBzZWxmLmdldF9idWlsZF9zY3JpcHRzX2NtZCh0YXJnZXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtvcy5wYXRoLmpvaW4oc291cmNlLCBmbikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciBmbiBpbiBleHBlY3RlZF0pCisgICAgICAgIGNtZC5maW5hbGl6ZV9vcHRpb25zKCkKKyAgICAgICAgY21kLnJ1bigpCisKKyAgICAgICAgYnVpbHQgPSBvcy5saXN0ZGlyKHRhcmdldCkKKyAgICAgICAgZm9yIG5hbWUgaW4gZXhwZWN0ZWQ6CisgICAgICAgICAgICBzZWxmLmFzc2VydEluKG5hbWUsIGJ1aWx0KQorCisgICAgZGVmIGdldF9idWlsZF9zY3JpcHRzX2NtZChzZWxmLCB0YXJnZXQsIHNjcmlwdHMpOgorICAgICAgICBkaXN0ID0gRGlzdHJpYnV0aW9uKCkKKyAgICAgICAgZGlzdC5zY3JpcHRzID0gc2NyaXB0cworICAgICAgICBkaXN0LmNvbW1hbmRfb2JqWyJidWlsZCJdID0gc3VwcG9ydC5EdW1teUNvbW1hbmQoCisgICAgICAgICAgICBidWlsZF9zY3JpcHRzPXRhcmdldCwKKyAgICAgICAgICAgIGZvcmNlPVRydWUsCisgICAgICAgICAgICBleGVjdXRhYmxlPXN5cy5leGVjdXRhYmxlLAorICAgICAgICAgICAgdXNlXzJ0bzM9RmFsc2UsCisgICAgICAgICAgICB1c2VfMnRvM19maXhlcnM9Tm9uZSwKKyAgICAgICAgICAgIGNvbnZlcnRfMnRvM19kb2N0ZXN0cz1Ob25lCisgICAgICAgICAgICApCisgICAgICAgIHJldHVybiBidWlsZF9zY3JpcHRzKGRpc3QpCisKKyAgICBkZWYgd3JpdGVfc2FtcGxlX3NjcmlwdHMoc2VsZiwgZGlyKToKKyAgICAgICAgZXhwZWN0ZWQgPSBbXQorICAgICAgICBleHBlY3RlZC5hcHBlbmQoInNjcmlwdDEucHkiKQorICAgICAgICBzZWxmLndyaXRlX3NjcmlwdChkaXIsICJzY3JpcHQxLnB5IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgKCIjISAvdXNyL2Jpbi9lbnYgcHl0aG9uMi4zXG4iCisgICAgICAgICAgICAgICAgICAgICAgICAgICAiIyBib2d1cyBzY3JpcHQgdy8gUHl0aG9uIHNoLWJhbmdcbiIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXNzXG4iKSkKKyAgICAgICAgZXhwZWN0ZWQuYXBwZW5kKCJzY3JpcHQyLnB5IikKKyAgICAgICAgc2VsZi53cml0ZV9zY3JpcHQoZGlyLCAic2NyaXB0Mi5weSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICgiIyEvdXNyL2Jpbi9weXRob25cbiIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICIjIGJvZ3VzIHNjcmlwdCB3LyBQeXRob24gc2gtYmFuZ1xuIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhc3NcbiIpKQorICAgICAgICBleHBlY3RlZC5hcHBlbmQoInNoZWxsLnNoIikKKyAgICAgICAgc2VsZi53cml0ZV9zY3JpcHQoZGlyLCAic2hlbGwuc2giLAorICAgICAgICAgICAgICAgICAgICAgICAgICAoIiMhL2Jpbi9zaFxuIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIiMgYm9ndXMgc2hlbGwgc2NyaXB0IHcvIHNoLWJhbmdcbiIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJleGl0IDBcbiIpKQorICAgICAgICByZXR1cm4gZXhwZWN0ZWQKKworICAgIGRlZiB3cml0ZV9zY3JpcHQoc2VsZiwgZGlyLCBuYW1lLCB0ZXh0KToKKyAgICAgICAgd2l0aCBvcGVuKG9zLnBhdGguam9pbihkaXIsIG5hbWUpLCAidyIpIGFzIGY6CisgICAgICAgICAgICBmLndyaXRlKHRleHQpCisKKyAgICBkZWYgdGVzdF92ZXJzaW9uX2ludChzZWxmKToKKyAgICAgICAgc291cmNlID0gc2VsZi5ta2R0ZW1wKCkKKyAgICAgICAgdGFyZ2V0ID0gc2VsZi5ta2R0ZW1wKCkKKyAgICAgICAgZXhwZWN0ZWQgPSBzZWxmLndyaXRlX3NhbXBsZV9zY3JpcHRzKHNvdXJjZSkKKworCisgICAgICAgIGNtZCA9IHNlbGYuZ2V0X2J1aWxkX3NjcmlwdHNfY21kKHRhcmdldCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW29zLnBhdGguam9pbihzb3VyY2UsIGZuKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIGZuIGluIGV4cGVjdGVkXSkKKyAgICAgICAgY21kLmZpbmFsaXplX29wdGlvbnMoKQorCisgICAgICAgICMgaHR0cDovL2J1Z3MucHl0aG9uLm9yZy9pc3N1ZTQ1MjQKKyAgICAgICAgIworICAgICAgICAjIE9uIGxpbnV4LWcrKy0zMiB3aXRoIGNvbW1hbmQgbGluZSBgLi9jb25maWd1cmUgLS1lbmFibGUtaXB2NgorICAgICAgICAjIC0td2l0aC1zdWZmaXg9M2AsIHB5dGhvbiBpcyBjb21waWxlZCBva2F5IGJ1dCB0aGUgYnVpbGQgc2NyaXB0cworICAgICAgICAjIGZhaWxlZCB3aGVuIHdyaXRpbmcgdGhlIG5hbWUgb2YgdGhlIGV4ZWN1dGFibGUKKyAgICAgICAgb2xkID0gc3lzY29uZmlnLmdldF9jb25maWdfdmFycygpLmdldCgnVkVSU0lPTicpCisgICAgICAgIHN5c2NvbmZpZy5fQ09ORklHX1ZBUlNbJ1ZFUlNJT04nXSA9IDQKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgY21kLnJ1bigpCisgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICBpZiBvbGQgaXMgbm90IE5vbmU6CisgICAgICAgICAgICAgICAgc3lzY29uZmlnLl9DT05GSUdfVkFSU1snVkVSU0lPTiddID0gb2xkCisKKyAgICAgICAgYnVpbHQgPSBvcy5saXN0ZGlyKHRhcmdldCkKKyAgICAgICAgZm9yIG5hbWUgaW4gZXhwZWN0ZWQ6CisgICAgICAgICAgICBzZWxmLmFzc2VydEluKG5hbWUsIGJ1aWx0KQorCitkZWYgdGVzdF9zdWl0ZSgpOgorICAgIHJldHVybiB1bml0dGVzdC5tYWtlU3VpdGUoQnVpbGRTY3JpcHRzVGVzdENhc2UpCisKK2lmIF9fbmFtZV9fID09ICJfX21haW5fXyI6CisgICAgdW5pdHRlc3QubWFpbihkZWZhdWx0VGVzdD0idGVzdF9zdWl0ZSIpCmRpZmYgLS1naXQgYS9MaWIvcGFja2FnaW5nL3Rlc3RzL3Rlc3RfY29tbWFuZF9jaGVjay5weSBiL0xpYi9wYWNrYWdpbmcvdGVzdHMvdGVzdF9jb21tYW5kX2NoZWNrLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBiOTEwNTAKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvcGFja2FnaW5nL3Rlc3RzL3Rlc3RfY29tbWFuZF9jaGVjay5weQpAQCAtMCwwICsxLDE2MSBAQAorIiIiVGVzdHMgZm9yIGRpc3R1dGlscy5jb21tYW5kLmNoZWNrLiIiIgorCitmcm9tIHBhY2thZ2luZy5jb21tYW5kLmNoZWNrIGltcG9ydCBjaGVjaworZnJvbSBwYWNrYWdpbmcubWV0YWRhdGEgaW1wb3J0IF9IQVNfRE9DVVRJTFMKK2Zyb20gcGFja2FnaW5nLmVycm9ycyBpbXBvcnQgUGFja2FnaW5nU2V0dXBFcnJvciwgTWV0YWRhdGFNaXNzaW5nRXJyb3IKK2Zyb20gcGFja2FnaW5nLnRlc3RzIGltcG9ydCB1bml0dGVzdCwgc3VwcG9ydAorCisKK2NsYXNzIENoZWNrVGVzdENhc2Uoc3VwcG9ydC5Mb2dnaW5nQ2F0Y2hlciwKKyAgICAgICAgICAgICAgICAgICAgc3VwcG9ydC5UZW1wZGlyTWFuYWdlciwKKyAgICAgICAgICAgICAgICAgICAgdW5pdHRlc3QuVGVzdENhc2UpOgorCisgICAgZGVmIF9ydW4oc2VsZiwgbWV0YWRhdGE9Tm9uZSwgKipvcHRpb25zKToKKyAgICAgICAgaWYgbWV0YWRhdGEgaXMgTm9uZToKKyAgICAgICAgICAgIG1ldGFkYXRhID0geyduYW1lJzogJ3h4eCcsICd2ZXJzaW9uJzogJzEuMid9CisgICAgICAgIHBrZ19pbmZvLCBkaXN0ID0gc2VsZi5jcmVhdGVfZGlzdCgqKm1ldGFkYXRhKQorICAgICAgICBjbWQgPSBjaGVjayhkaXN0KQorICAgICAgICBjbWQuaW5pdGlhbGl6ZV9vcHRpb25zKCkKKyAgICAgICAgZm9yIG5hbWUsIHZhbHVlIGluIG9wdGlvbnMuaXRlbXMoKToKKyAgICAgICAgICAgIHNldGF0dHIoY21kLCBuYW1lLCB2YWx1ZSkKKyAgICAgICAgY21kLmVuc3VyZV9maW5hbGl6ZWQoKQorICAgICAgICBjbWQucnVuKCkKKyAgICAgICAgcmV0dXJuIGNtZAorCisgICAgZGVmIHRlc3RfY2hlY2tfbWV0YWRhdGEoc2VsZik6CisgICAgICAgICMgbGV0J3MgcnVuIHRoZSBjb21tYW5kIHdpdGggbm8gbWV0YWRhdGEgYXQgYWxsCisgICAgICAgICMgYnkgZGVmYXVsdCwgY2hlY2sgaXMgY2hlY2tpbmcgdGhlIG1ldGFkYXRhCisgICAgICAgICMgc2hvdWxkIGhhdmUgc29tZSB3YXJuaW5ncworICAgICAgICBzZWxmLl9ydW4oKQorICAgICAgICAjIHRyaWNrOiB1c2luZyBhc3NlcnROb3RFcXVhbCB3aXRoIGFuIGVtcHR5IGxpc3Qgd2lsbCBnaXZlIHVzIGEgbW9yZQorICAgICAgICAjIHVzZWZ1bCBlcnJvciBtZXNzYWdlIHRoYW4gYXNzZXJ0R3JlYXRlciguLiwgMCkgd2hlbiB0aGUgY29kZSBjaGFuZ2UKKyAgICAgICAgIyBhbmQgdGhlIHRlc3QgZmFpbHMKKyAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbChzZWxmLmdldF9sb2dzKCksIFtdKQorCisgICAgICAgICMgbm93IGxldCdzIGFkZCB0aGUgcmVxdWlyZWQgZmllbGRzCisgICAgICAgICMgYW5kIHJ1biBpdCBhZ2FpbiwgdG8gbWFrZSBzdXJlIHdlIGRvbid0IGdldAorICAgICAgICAjIGFueSB3YXJuaW5nIGFueW1vcmUKKyAgICAgICAgbWV0YWRhdGEgPSB7J2hvbWVfcGFnZSc6ICd4eHgnLCAnYXV0aG9yJzogJ3h4eCcsCisgICAgICAgICAgICAgICAgICAgICdhdXRob3JfZW1haWwnOiAneHh4JywKKyAgICAgICAgICAgICAgICAgICAgJ25hbWUnOiAneHh4JywgJ3ZlcnNpb24nOiAnNC4yJywKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICBzZWxmLl9ydW4obWV0YWRhdGEpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5nZXRfbG9ncygpLCBbXSkKKworICAgICAgICAjIG5vdyB3aXRoIHRoZSBzdHJpY3QgbW9kZSwgd2Ugc2hvdWxkCisgICAgICAgICMgZ2V0IGFuIGVycm9yIGlmIHRoZXJlIGFyZSBtaXNzaW5nIG1ldGFkYXRhCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE1ldGFkYXRhTWlzc2luZ0Vycm9yLCBzZWxmLl9ydW4sIHt9LCAqKnsnc3RyaWN0JzogMX0pCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFBhY2thZ2luZ1NldHVwRXJyb3IsIHNlbGYuX3J1biwKKyAgICAgICAgICAgIHsnbmFtZSc6ICd4eHgnLCAndmVyc2lvbic6ICd4eHgnfSwgKip7J3N0cmljdCc6IDF9KQorCisgICAgICAgICMgY2xlYXIgd2FybmluZ3MgZnJvbSB0aGUgcHJldmlvdXMgY2FsbHMKKyAgICAgICAgc2VsZi5sb2doYW5kbGVyLmZsdXNoKCkKKworICAgICAgICAjIGFuZCBvZiBjb3Vyc2UsIG5vIGVycm9yIHdoZW4gYWxsIG1ldGFkYXRhIGZpZWxkcyBhcmUgcHJlc2VudAorICAgICAgICBzZWxmLl9ydW4obWV0YWRhdGEsIHN0cmljdD1UcnVlKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuZ2V0X2xvZ3MoKSwgW10pCisKKyAgICAgICAgIyBub3cgYSB0ZXN0IHdpdGggbm9uLUFTQ0lJIGNoYXJhY3RlcnMKKyAgICAgICAgbWV0YWRhdGEgPSB7J2hvbWVfcGFnZSc6ICd4eHgnLCAnYXV0aG9yJzogJ1x1MDBjOXJpYycsCisgICAgICAgICAgICAgICAgICAgICdhdXRob3JfZW1haWwnOiAneHh4JywgJ25hbWUnOiAneHh4JywKKyAgICAgICAgICAgICAgICAgICAgJ3ZlcnNpb24nOiAnMS4yJywKKyAgICAgICAgICAgICAgICAgICAgJ3N1bW1hcnknOiAnU29tZXRoaW5nIGFib3V0IGVzc3pldCBcdTAwZGYnLAorICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nOiAnTW9yZSB0aGluZ3MgYWJvdXQgZXNzemV0IFx1MDBkZid9CisgICAgICAgIHNlbGYuX3J1bihtZXRhZGF0YSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmdldF9sb2dzKCksIFtdKQorCisgICAgZGVmIHRlc3RfY2hlY2tfbWV0YWRhdGFfMV8yKHNlbGYpOgorICAgICAgICAjIGxldCdzIHJ1biB0aGUgY29tbWFuZCB3aXRoIG5vIG1ldGFkYXRhIGF0IGFsbAorICAgICAgICAjIGJ5IGRlZmF1bHQsIGNoZWNrIGlzIGNoZWNraW5nIHRoZSBtZXRhZGF0YQorICAgICAgICAjIHNob3VsZCBoYXZlIHNvbWUgd2FybmluZ3MKKyAgICAgICAgc2VsZi5fcnVuKCkKKyAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbChzZWxmLmdldF9sb2dzKCksIFtdKQorCisgICAgICAgICMgbm93IGxldCdzIGFkZCB0aGUgcmVxdWlyZWQgZmllbGRzIGFuZCBydW4gaXQgYWdhaW4sIHRvIG1ha2Ugc3VyZSB3ZQorICAgICAgICAjIGRvbid0IGdldCBhbnkgd2FybmluZyBhbnltb3JlIGxldCdzIHVzZSByZXF1aXJlc19weXRob24gYXMgYSBtYXJrZXIKKyAgICAgICAgIyB0byBlbmZvcmNlIE1ldGFkYXRhLVZlcnNpb24gMS4yCisgICAgICAgIG1ldGFkYXRhID0geydob21lX3BhZ2UnOiAneHh4JywgJ2F1dGhvcic6ICd4eHgnLAorICAgICAgICAgICAgICAgICAgICAnYXV0aG9yX2VtYWlsJzogJ3h4eCcsCisgICAgICAgICAgICAgICAgICAgICduYW1lJzogJ3h4eCcsICd2ZXJzaW9uJzogJzQuMicsCisgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlc19weXRob24nOiAnMi40JywKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICBzZWxmLl9ydW4obWV0YWRhdGEpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5nZXRfbG9ncygpLCBbXSkKKworICAgICAgICAjIG5vdyB3aXRoIHRoZSBzdHJpY3QgbW9kZSwgd2Ugc2hvdWxkCisgICAgICAgICMgZ2V0IGFuIGVycm9yIGlmIHRoZXJlIGFyZSBtaXNzaW5nIG1ldGFkYXRhCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE1ldGFkYXRhTWlzc2luZ0Vycm9yLCBzZWxmLl9ydW4sIHt9LCAqKnsnc3RyaWN0JzogMX0pCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFBhY2thZ2luZ1NldHVwRXJyb3IsIHNlbGYuX3J1biwKKyAgICAgICAgICAgIHsnbmFtZSc6ICd4eHgnLCAndmVyc2lvbic6ICd4eHgnfSwgKip7J3N0cmljdCc6IDF9KQorCisgICAgICAgICMgY29tcGxhaW4gYWJvdXQgdmVyc2lvbiBmb3JtYXQKKyAgICAgICAgbWV0YWRhdGFbJ3ZlcnNpb24nXSA9ICd4eHgnCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFBhY2thZ2luZ1NldHVwRXJyb3IsIHNlbGYuX3J1biwgbWV0YWRhdGEsCisgICAgICAgICAgICAqKnsnc3RyaWN0JzogMX0pCisKKyAgICAgICAgIyBjbGVhciB3YXJuaW5ncyBmcm9tIHRoZSBwcmV2aW91cyBjYWxscworICAgICAgICBzZWxmLmxvZ2hhbmRsZXIuZmx1c2goKQorCisgICAgICAgICMgbm93IHdpdGggY29ycmVjdCB2ZXJzaW9uIGZvcm1hdCBhZ2FpbgorICAgICAgICBtZXRhZGF0YVsndmVyc2lvbiddID0gJzQuMicKKyAgICAgICAgc2VsZi5fcnVuKG1ldGFkYXRhLCBzdHJpY3Q9VHJ1ZSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmdldF9sb2dzKCksIFtdKQorCisgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3MoX0hBU19ET0NVVElMUywgInJlcXVpcmVzIGRvY3V0aWxzIikKKyAgICBkZWYgdGVzdF9jaGVja19yZXN0cnVjdHVyZWR0ZXh0KHNlbGYpOgorICAgICAgICAjIGxldCdzIHNlZSBpZiBpdCBkZXRlY3RzIGJyb2tlbiByZXN0IGluIGRlc2NyaXB0aW9uCisgICAgICAgIGJyb2tlbl9yZXN0ID0gJ3RpdGxlXG49PT1cblxudGVzdCcKKyAgICAgICAgcGtnX2luZm8sIGRpc3QgPSBzZWxmLmNyZWF0ZV9kaXN0KGRlc2NyaXB0aW9uPWJyb2tlbl9yZXN0KQorICAgICAgICBjbWQgPSBjaGVjayhkaXN0KQorICAgICAgICBjbWQuY2hlY2tfcmVzdHJ1Y3R1cmVkdGV4dCgpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKHNlbGYuZ2V0X2xvZ3MoKSksIDEpCisKKyAgICAgICAgIyBsZXQncyBzZWUgaWYgd2UgaGF2ZSBhbiBlcnJvciB3aXRoIHN0cmljdD0xCisgICAgICAgIG1ldGFkYXRhID0geydob21lX3BhZ2UnOiAneHh4JywgJ2F1dGhvcic6ICd4eHgnLAorICAgICAgICAgICAgICAgICAgICAnYXV0aG9yX2VtYWlsJzogJ3h4eCcsCisgICAgICAgICAgICAgICAgICAgICduYW1lJzogJ3h4eCcsICd2ZXJzaW9uJzogJzEuMicsCisgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbic6IGJyb2tlbl9yZXN0fQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhQYWNrYWdpbmdTZXR1cEVycm9yLCBzZWxmLl9ydW4sIG1ldGFkYXRhLAorICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJpY3Q9VHJ1ZSwgYWxsPVRydWUpCisgICAgICAgIHNlbGYubG9naGFuZGxlci5mbHVzaCgpCisKKyAgICAgICAgIyBhbmQgbm9uLWJyb2tlbiByZXN0LCBpbmNsdWRpbmcgYSBub24tQVNDSUkgY2hhcmFjdGVyIHRvIHRlc3QgIzEyMTE0CisgICAgICAgIGRpc3QgPSBzZWxmLmNyZWF0ZV9kaXN0KGRlc2NyaXB0aW9uPSd0aXRsZVxuPT09PT1cblxudGVzdCBcdTAwZGYnKVsxXQorICAgICAgICBjbWQgPSBjaGVjayhkaXN0KQorICAgICAgICBjbWQuY2hlY2tfcmVzdHJ1Y3R1cmVkdGV4dCgpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5nZXRfbG9ncygpLCBbXSkKKworICAgIGRlZiB0ZXN0X2NoZWNrX2FsbChzZWxmKToKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoUGFja2FnaW5nU2V0dXBFcnJvciwgc2VsZi5fcnVuLAorICAgICAgICAgICAgICAgICAgICAgICAgICB7J25hbWUnOiAneHh4JywgJ3ZlcnNpb24nOiAneHh4J30sICoqeydzdHJpY3QnOiAxLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FsbCc6IDF9KQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhNZXRhZGF0YU1pc3NpbmdFcnJvciwgc2VsZi5fcnVuLAorICAgICAgICAgICAgICAgICAgICAgICAgICB7fSwgKip7J3N0cmljdCc6IDEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYWxsJzogMX0pCisKKyAgICBkZWYgdGVzdF9jaGVja19ob29rcyhzZWxmKToKKyAgICAgICAgcGtnX2luZm8sIGRpc3QgPSBzZWxmLmNyZWF0ZV9kaXN0KCkKKyAgICAgICAgZGlzdC5jb21tYW5kX29wdGlvbnNbJ2luc3RhbGxfZGlzdCddID0geworICAgICAgICAgICAgJ3ByZV9ob29rJzogKCdmaWxlJywgeyJhIjogJ3NvbWUubm9uZXh0aXN0YW50Lmhvb2suZ2hycnJhYXJyaGxsJ30pLAorICAgICAgICB9CisgICAgICAgIGNtZCA9IGNoZWNrKGRpc3QpCisgICAgICAgIGNtZC5jaGVja19ob29rc19yZXNvbHZhYmxlKCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oc2VsZi5nZXRfbG9ncygpKSwgMSkKKworICAgIGRlZiB0ZXN0X3dhcm4oc2VsZik6CisgICAgICAgIF8sIGRpc3QgPSBzZWxmLmNyZWF0ZV9kaXN0KCkKKyAgICAgICAgY21kID0gY2hlY2soZGlzdCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmdldF9sb2dzKCksIFtdKQorICAgICAgICBjbWQud2FybignaGVsbG8nKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuZ2V0X2xvZ3MoKSwgWydjaGVjazogaGVsbG8nXSkKKyAgICAgICAgY21kLndhcm4oJ2hlbGxvICVzJywgJ3dvcmxkJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmdldF9sb2dzKCksIFsnY2hlY2s6IGhlbGxvIHdvcmxkJ10pCisgICAgICAgIGNtZC53YXJuKCdoZWxsbyAlcyAlcycsICdiZWF1dGlmdWwnLCAnd29ybGQnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuZ2V0X2xvZ3MoKSwgWydjaGVjazogaGVsbG8gYmVhdXRpZnVsIHdvcmxkJ10pCisKKworZGVmIHRlc3Rfc3VpdGUoKToKKyAgICByZXR1cm4gdW5pdHRlc3QubWFrZVN1aXRlKENoZWNrVGVzdENhc2UpCisKK2lmIF9fbmFtZV9fID09ICJfX21haW5fXyI6CisgICAgdW5pdHRlc3QubWFpbihkZWZhdWx0VGVzdD0idGVzdF9zdWl0ZSIpCmRpZmYgLS1naXQgYS9MaWIvcGFja2FnaW5nL3Rlc3RzL3Rlc3RfY29tbWFuZF9jbGVhbi5weSBiL0xpYi9wYWNrYWdpbmcvdGVzdHMvdGVzdF9jb21tYW5kX2NsZWFuLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE3OGMzYTcKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvcGFja2FnaW5nL3Rlc3RzL3Rlc3RfY29tbWFuZF9jbGVhbi5weQpAQCAtMCwwICsxLDQ2IEBACisiIiJUZXN0cyBmb3IgZGlzdHV0aWxzLmNvbW1hbmQuY2xlYW4uIiIiCitpbXBvcnQgb3MKKworZnJvbSBwYWNrYWdpbmcuY29tbWFuZC5jbGVhbiBpbXBvcnQgY2xlYW4KK2Zyb20gcGFja2FnaW5nLnRlc3RzIGltcG9ydCB1bml0dGVzdCwgc3VwcG9ydAorCisKK2NsYXNzIGNsZWFuVGVzdENhc2Uoc3VwcG9ydC5UZW1wZGlyTWFuYWdlciwgc3VwcG9ydC5Mb2dnaW5nQ2F0Y2hlciwKKyAgICAgICAgICAgICAgICAgICAgdW5pdHRlc3QuVGVzdENhc2UpOgorCisgICAgZGVmIHRlc3Rfc2ltcGxlX3J1bihzZWxmKToKKyAgICAgICAgcGtnX2RpciwgZGlzdCA9IHNlbGYuY3JlYXRlX2Rpc3QoKQorICAgICAgICBjbWQgPSBjbGVhbihkaXN0KQorCisgICAgICAgICMgbGV0J3MgYWRkIHNvbWUgZWxlbWVudHMgY2xlYW4gc2hvdWxkIHJlbW92ZQorICAgICAgICBkaXJzID0gWyhkLCBvcy5wYXRoLmpvaW4ocGtnX2RpciwgZCkpCisgICAgICAgICAgICAgICAgZm9yIGQgaW4gKCdidWlsZF90ZW1wJywgJ2J1aWxkX2xpYicsICdiZGlzdF9iYXNlJywKKyAgICAgICAgICAgICAgICAnYnVpbGRfc2NyaXB0cycsICdidWlsZF9iYXNlJyldCisKKyAgICAgICAgZm9yIG5hbWUsIHBhdGggaW4gZGlyczoKKyAgICAgICAgICAgIG9zLm1rZGlyKHBhdGgpCisgICAgICAgICAgICBzZXRhdHRyKGNtZCwgbmFtZSwgcGF0aCkKKyAgICAgICAgICAgIGlmIG5hbWUgPT0gJ2J1aWxkX2Jhc2UnOgorICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICBmb3IgZiBpbiAoJ29uZScsICd0d28nLCAndGhyZWUnKToKKyAgICAgICAgICAgICAgICBzZWxmLndyaXRlX2ZpbGUoKHBhdGgsIGYpKQorCisgICAgICAgICMgbGV0J3MgcnVuIHRoZSBjb21tYW5kCisgICAgICAgIGNtZC5hbGwgPSBUcnVlCisgICAgICAgIGNtZC5lbnN1cmVfZmluYWxpemVkKCkKKyAgICAgICAgY21kLnJ1bigpCisKKyAgICAgICAgIyBtYWtlIHN1cmUgdGhlIGZpbGVzIHdoZXJlIHJlbW92ZWQKKyAgICAgICAgZm9yIG5hbWUsIHBhdGggaW4gZGlyczoKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2Uob3MucGF0aC5leGlzdHMocGF0aCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICclciB3YXMgbm90IHJlbW92ZWQnICUgcGF0aCkKKworICAgICAgICAjIGxldCdzIHJ1biB0aGUgY29tbWFuZCBhZ2FpbiAoc2hvdWxkIHNwaXQgd2FybmluZ3MgYnV0IHN1Y2NlZWQpCisgICAgICAgIGNtZC5ydW4oKQorCisKK2RlZiB0ZXN0X3N1aXRlKCk6CisgICAgcmV0dXJuIHVuaXR0ZXN0Lm1ha2VTdWl0ZShjbGVhblRlc3RDYXNlKQorCitpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgorICAgIHVuaXR0ZXN0Lm1haW4oZGVmYXVsdFRlc3Q9InRlc3Rfc3VpdGUiKQpkaWZmIC0tZ2l0IGEvTGliL3BhY2thZ2luZy90ZXN0cy90ZXN0X2NvbW1hbmRfY21kLnB5IGIvTGliL3BhY2thZ2luZy90ZXN0cy90ZXN0X2NvbW1hbmRfY21kLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZkMDBlYzMKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvcGFja2FnaW5nL3Rlc3RzL3Rlc3RfY29tbWFuZF9jbWQucHkKQEAgLTAsMCArMSwxMDIgQEAKKyIiIlRlc3RzIGZvciBkaXN0dXRpbHMuY21kLiIiIgoraW1wb3J0IG9zCitpbXBvcnQgbG9nZ2luZworCitmcm9tIHBhY2thZ2luZy5jb21tYW5kLmNtZCBpbXBvcnQgQ29tbWFuZAorZnJvbSBwYWNrYWdpbmcuZGlzdCBpbXBvcnQgRGlzdHJpYnV0aW9uCitmcm9tIHBhY2thZ2luZy5lcnJvcnMgaW1wb3J0IFBhY2thZ2luZ09wdGlvbkVycm9yCitmcm9tIHBhY2thZ2luZy50ZXN0cyBpbXBvcnQgc3VwcG9ydCwgdW5pdHRlc3QKKworCitjbGFzcyBNeUNtZChDb21tYW5kKToKKyAgICBkZWYgaW5pdGlhbGl6ZV9vcHRpb25zKHNlbGYpOgorICAgICAgICBwYXNzCisKKworY2xhc3MgQ29tbWFuZFRlc3RDYXNlKHN1cHBvcnQuTG9nZ2luZ0NhdGNoZXIsCisgICAgICAgICAgICAgICAgICAgICAgdW5pdHRlc3QuVGVzdENhc2UpOgorCisgICAgZGVmIHNldFVwKHNlbGYpOgorICAgICAgICBzdXBlcihDb21tYW5kVGVzdENhc2UsIHNlbGYpLnNldFVwKCkKKyAgICAgICAgZGlzdCA9IERpc3RyaWJ1dGlvbigpCisgICAgICAgIHNlbGYuY21kID0gTXlDbWQoZGlzdCkKKworICAgIGRlZiB0ZXN0X21ha2VfZmlsZShzZWxmKToKKyAgICAgICAgY21kID0gc2VsZi5jbWQKKworICAgICAgICAjIG1ha2luZyBzdXJlIGl0IHJhaXNlcyB3aGVuIGluZmlsZXMgaXMgbm90IGEgc3RyaW5nIG9yIGEgbGlzdC90dXBsZQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGNtZC5tYWtlX2ZpbGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGluZmlsZXM9MSwgb3V0ZmlsZT0nJywgZnVuYz0nZnVuYycsIGFyZ3M9KCkpCisKKyAgICAgICAgIyBtYWtpbmcgc3VyZSBleGVjdXRlIGdldHMgY2FsbGVkIHByb3Blcmx5CisgICAgICAgIGRlZiBfZXhlY3V0ZShmdW5jLCBhcmdzLCBleGVjX21zZywgbGV2ZWwpOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChleGVjX21zZywgJ2dlbmVyYXRpbmcgb3V0IGZyb20gaW4nKQorICAgICAgICBjbWQuZm9yY2UgPSBUcnVlCisgICAgICAgIGNtZC5leGVjdXRlID0gX2V4ZWN1dGUKKyAgICAgICAgY21kLm1ha2VfZmlsZShpbmZpbGVzPSdpbicsIG91dGZpbGU9J291dCcsIGZ1bmM9J2Z1bmMnLCBhcmdzPSgpKQorCisgICAgZGVmIHRlc3RfZHVtcF9vcHRpb25zKHNlbGYpOgorICAgICAgICBjbWQgPSBzZWxmLmNtZAorICAgICAgICBjbWQub3B0aW9uMSA9IDEKKyAgICAgICAgY21kLm9wdGlvbjIgPSAxCisgICAgICAgIGNtZC51c2VyX29wdGlvbnMgPSBbKCdvcHRpb24xJywgJycsICcnKSwgKCdvcHRpb24yJywgJycsICcnKV0KKyAgICAgICAgY21kLmR1bXBfb3B0aW9ucygpCisKKyAgICAgICAgd2FudGVkID0gWyJjb21tYW5kIG9wdGlvbnMgZm9yICdNeUNtZCc6IiwgJyAgb3B0aW9uMSA9IDEnLAorICAgICAgICAgICAgICAgICAgJyAgb3B0aW9uMiA9IDEnXQorICAgICAgICBtc2dzID0gc2VsZi5nZXRfbG9ncyhsb2dnaW5nLklORk8pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobXNncywgd2FudGVkKQorCisgICAgZGVmIHRlc3RfZW5zdXJlX3N0cmluZyhzZWxmKToKKyAgICAgICAgY21kID0gc2VsZi5jbWQKKyAgICAgICAgY21kLm9wdGlvbjEgPSAnb2snCisgICAgICAgIGNtZC5lbnN1cmVfc3RyaW5nKCdvcHRpb24xJykKKworICAgICAgICBjbWQub3B0aW9uMiA9IE5vbmUKKyAgICAgICAgY21kLmVuc3VyZV9zdHJpbmcoJ29wdGlvbjInLCAneHh4JykKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGhhc2F0dHIoY21kLCAnb3B0aW9uMicpKQorCisgICAgICAgIGNtZC5vcHRpb24zID0gMQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhQYWNrYWdpbmdPcHRpb25FcnJvciwgY21kLmVuc3VyZV9zdHJpbmcsICdvcHRpb24zJykKKworICAgIGRlZiB0ZXN0X2Vuc3VyZV9zdHJpbmdfbGlzdChzZWxmKToKKyAgICAgICAgY21kID0gc2VsZi5jbWQKKyAgICAgICAgY21kLm9wdGlvbjEgPSAnb2ssZG9rJworICAgICAgICBjbWQuZW5zdXJlX3N0cmluZ19saXN0KCdvcHRpb24xJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbWQub3B0aW9uMSwgWydvaycsICdkb2snXSkKKworICAgICAgICBjbWQueWVzX3N0cmluZ19saXN0ID0gWydvbmUnLCAndHdvJywgJ3RocmVlJ10KKyAgICAgICAgY21kLnllc19zdHJpbmdfbGlzdDIgPSAnb2snCisgICAgICAgIGNtZC5lbnN1cmVfc3RyaW5nX2xpc3QoJ3llc19zdHJpbmdfbGlzdCcpCisgICAgICAgIGNtZC5lbnN1cmVfc3RyaW5nX2xpc3QoJ3llc19zdHJpbmdfbGlzdDInKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNtZC55ZXNfc3RyaW5nX2xpc3QsIFsnb25lJywgJ3R3bycsICd0aHJlZSddKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNtZC55ZXNfc3RyaW5nX2xpc3QyLCBbJ29rJ10pCisKKyAgICAgICAgY21kLm5vdF9zdHJpbmdfbGlzdCA9IFsnb25lJywgMiwgJ3RocmVlJ10KKyAgICAgICAgY21kLm5vdF9zdHJpbmdfbGlzdDIgPSBvYmplY3QoKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhQYWNrYWdpbmdPcHRpb25FcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY21kLmVuc3VyZV9zdHJpbmdfbGlzdCwgJ25vdF9zdHJpbmdfbGlzdCcpCisKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoUGFja2FnaW5nT3B0aW9uRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGNtZC5lbnN1cmVfc3RyaW5nX2xpc3QsICdub3Rfc3RyaW5nX2xpc3QyJykKKworICAgIGRlZiB0ZXN0X2Vuc3VyZV9maWxlbmFtZShzZWxmKToKKyAgICAgICAgY21kID0gc2VsZi5jbWQKKyAgICAgICAgY21kLm9wdGlvbjEgPSBfX2ZpbGVfXworICAgICAgICBjbWQuZW5zdXJlX2ZpbGVuYW1lKCdvcHRpb24xJykKKyAgICAgICAgY21kLm9wdGlvbjIgPSAneHh4JworICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhQYWNrYWdpbmdPcHRpb25FcnJvciwgY21kLmVuc3VyZV9maWxlbmFtZSwgJ29wdGlvbjInKQorCisgICAgZGVmIHRlc3RfZW5zdXJlX2Rpcm5hbWUoc2VsZik6CisgICAgICAgIGNtZCA9IHNlbGYuY21kCisgICAgICAgIGNtZC5vcHRpb24xID0gb3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKSBvciBvcy5jdXJkaXIKKyAgICAgICAgY21kLmVuc3VyZV9kaXJuYW1lKCdvcHRpb24xJykKKyAgICAgICAgY21kLm9wdGlvbjIgPSAneHh4JworICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhQYWNrYWdpbmdPcHRpb25FcnJvciwgY21kLmVuc3VyZV9kaXJuYW1lLCAnb3B0aW9uMicpCisKKworZGVmIHRlc3Rfc3VpdGUoKToKKyAgICByZXR1cm4gdW5pdHRlc3QubWFrZVN1aXRlKENvbW1hbmRUZXN0Q2FzZSkKKworaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKKyAgICB1bml0dGVzdC5tYWluKGRlZmF1bHRUZXN0PSd0ZXN0X3N1aXRlJykKZGlmZiAtLWdpdCBhL0xpYi9wYWNrYWdpbmcvdGVzdHMvdGVzdF9jb21tYW5kX2NvbmZpZy5weSBiL0xpYi9wYWNrYWdpbmcvdGVzdHMvdGVzdF9jb21tYW5kX2NvbmZpZy5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYWU3NWI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGliL3BhY2thZ2luZy90ZXN0cy90ZXN0X2NvbW1hbmRfY29uZmlnLnB5CkBAIC0wLDAgKzEsNzYgQEAKKyIiIlRlc3RzIGZvciBkaXN0dXRpbHMuY29tbWFuZC5jb25maWcuIiIiCitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKK2ltcG9ydCBsb2dnaW5nCisKK2Zyb20gcGFja2FnaW5nLmNvbW1hbmQuY29uZmlnIGltcG9ydCBkdW1wX2ZpbGUsIGNvbmZpZworZnJvbSBwYWNrYWdpbmcudGVzdHMgaW1wb3J0IHVuaXR0ZXN0LCBzdXBwb3J0CisKKworY2xhc3MgQ29uZmlnVGVzdENhc2Uoc3VwcG9ydC5Mb2dnaW5nQ2F0Y2hlciwKKyAgICAgICAgICAgICAgICAgICAgIHN1cHBvcnQuVGVtcGRpck1hbmFnZXIsCisgICAgICAgICAgICAgICAgICAgICB1bml0dGVzdC5UZXN0Q2FzZSk6CisKKyAgICBkZWYgdGVzdF9kdW1wX2ZpbGUoc2VsZik6CisgICAgICAgIHRoaXNfZmlsZSA9IF9fZmlsZV9fLnJzdHJpcCgnY28nKQorICAgICAgICB3aXRoIG9wZW4odGhpc19maWxlKSBhcyBmOgorICAgICAgICAgICAgbnVtbGluZXMgPSBsZW4oZi5yZWFkbGluZXMoKSkKKworICAgICAgICBkdW1wX2ZpbGUodGhpc19maWxlLCAnSSBhbSB0aGUgaGVhZGVyJykKKworICAgICAgICBsb2dzID0gW10KKyAgICAgICAgZm9yIGxvZyBpbiBzZWxmLmdldF9sb2dzKGxvZ2dpbmcuSU5GTyk6CisgICAgICAgICAgICBsb2dzLmV4dGVuZChsaW5lIGZvciBsaW5lIGluIGxvZy5zcGxpdCgnXG4nKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4obG9ncyksIG51bWxpbmVzICsgMikKKworICAgIEB1bml0dGVzdC5za2lwSWYoc3lzLnBsYXRmb3JtID09ICd3aW4zMicsICdkaXNhYmxlZCBvbiB3aW4zMicpCisgICAgZGVmIHRlc3Rfc2VhcmNoX2NwcChzZWxmKToKKyAgICAgICAgcGtnX2RpciwgZGlzdCA9IHNlbGYuY3JlYXRlX2Rpc3QoKQorICAgICAgICBjbWQgPSBjb25maWcoZGlzdCkKKworICAgICAgICAjIHNpbXBsZSBwYXR0ZXJuIHNlYXJjaGVzCisgICAgICAgIG1hdGNoID0gY21kLnNlYXJjaF9jcHAocGF0dGVybj0neHh4JywgYm9keT0nLyogeHh4ICovJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtYXRjaCwgMCkKKworICAgICAgICBtYXRjaCA9IGNtZC5zZWFyY2hfY3BwKHBhdHRlcm49J19jb25maWd0ZXN0JywgYm9keT0nLyogeHh4ICovJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtYXRjaCwgMSkKKworICAgIGRlZiB0ZXN0X2ZpbmFsaXplX29wdGlvbnMoc2VsZik6CisgICAgICAgICMgZmluYWxpemVfb3B0aW9ucyBkb2VzIGEgYml0IG9mIHRyYW5zZm9ybWF0aW9uCisgICAgICAgICMgb24gb3B0aW9ucworICAgICAgICBwa2dfZGlyLCBkaXN0ID0gc2VsZi5jcmVhdGVfZGlzdCgpCisgICAgICAgIGNtZCA9IGNvbmZpZyhkaXN0KQorICAgICAgICBjbWQuaW5jbHVkZV9kaXJzID0gJ29uZSVzdHdvJyAlIG9zLnBhdGhzZXAKKyAgICAgICAgY21kLmxpYnJhcmllcyA9ICdvbmUnCisgICAgICAgIGNtZC5saWJyYXJ5X2RpcnMgPSAndGhyZWUlc2ZvdXInICUgb3MucGF0aHNlcAorICAgICAgICBjbWQuZW5zdXJlX2ZpbmFsaXplZCgpCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbWQuaW5jbHVkZV9kaXJzLCBbJ29uZScsICd0d28nXSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbWQubGlicmFyaWVzLCBbJ29uZSddKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNtZC5saWJyYXJ5X2RpcnMsIFsndGhyZWUnLCAnZm91ciddKQorCisgICAgZGVmIHRlc3RfY2xlYW4oc2VsZik6CisgICAgICAgICMgX2NsZWFuIHJlbW92ZXMgZmlsZXMKKyAgICAgICAgdG1wX2RpciA9IHNlbGYubWtkdGVtcCgpCisgICAgICAgIGYxID0gb3MucGF0aC5qb2luKHRtcF9kaXIsICdvbmUnKQorICAgICAgICBmMiA9IG9zLnBhdGguam9pbih0bXBfZGlyLCAndHdvJykKKworICAgICAgICBzZWxmLndyaXRlX2ZpbGUoZjEsICd4eHgnKQorICAgICAgICBzZWxmLndyaXRlX2ZpbGUoZjIsICd4eHgnKQorCisgICAgICAgIGZvciBmIGluIChmMSwgZjIpOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG9zLnBhdGguZXhpc3RzKGYpKQorCisgICAgICAgIHBrZ19kaXIsIGRpc3QgPSBzZWxmLmNyZWF0ZV9kaXN0KCkKKyAgICAgICAgY21kID0gY29uZmlnKGRpc3QpCisgICAgICAgIGNtZC5fY2xlYW4oZjEsIGYyKQorCisgICAgICAgIGZvciBmIGluIChmMSwgZjIpOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShvcy5wYXRoLmV4aXN0cyhmKSkKKworCitkZWYgdGVzdF9zdWl0ZSgpOgorICAgIHJldHVybiB1bml0dGVzdC5tYWtlU3VpdGUoQ29uZmlnVGVzdENhc2UpCisKK2lmIF9fbmFtZV9fID09ICJfX21haW5fXyI6CisgICAgdW5pdHRlc3QubWFpbihkZWZhdWx0VGVzdD0idGVzdF9zdWl0ZSIpCmRpZmYgLS1naXQgYS9MaWIvcGFja2FnaW5nL3Rlc3RzL3Rlc3RfY29tbWFuZF9pbnN0YWxsX2RhdGEucHkgYi9MaWIvcGFja2FnaW5nL3Rlc3RzL3Rlc3RfY29tbWFuZF9pbnN0YWxsX2RhdGEucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGQ0MzczZAotLS0gL2Rldi9udWxsCisrKyBiL0xpYi9wYWNrYWdpbmcvdGVzdHMvdGVzdF9jb21tYW5kX2luc3RhbGxfZGF0YS5weQpAQCAtMCwwICsxLDE0OCBAQAorIiIiVGVzdHMgZm9yIHBhY2thZ2luZy5jb21tYW5kLmluc3RhbGxfZGF0YS4iIiIKK2ltcG9ydCBvcworaW1wb3J0IHN5cworaW1wb3J0IHN5c2NvbmZpZworaW1wb3J0IHBhY2thZ2luZy5kYXRhYmFzZQorZnJvbSBzeXNjb25maWcgaW1wb3J0IF9nZXRfZGVmYXVsdF9zY2hlbWUKK2Zyb20gcGFja2FnaW5nLnRlc3RzIGltcG9ydCB1bml0dGVzdCwgc3VwcG9ydAorZnJvbSBwYWNrYWdpbmcuY29tbWFuZC5pbnN0YWxsX2RhdGEgaW1wb3J0IGluc3RhbGxfZGF0YQorZnJvbSBwYWNrYWdpbmcuY29tbWFuZC5pbnN0YWxsX2Rpc3QgaW1wb3J0IGluc3RhbGxfZGlzdAorZnJvbSBwYWNrYWdpbmcuY29tbWFuZC5pbnN0YWxsX2Rpc3RpbmZvIGltcG9ydCBpbnN0YWxsX2Rpc3RpbmZvCisKKworY2xhc3MgSW5zdGFsbERhdGFUZXN0Q2FzZShzdXBwb3J0LlRlbXBkaXJNYW5hZ2VyLAorICAgICAgICAgICAgICAgICAgICAgICAgICBzdXBwb3J0LkxvZ2dpbmdDYXRjaGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICB1bml0dGVzdC5UZXN0Q2FzZSk6CisKKyAgICBkZWYgc2V0VXAoc2VsZik6CisgICAgICAgIHN1cGVyKEluc3RhbGxEYXRhVGVzdENhc2UsIHNlbGYpLnNldFVwKCkKKyAgICAgICAgc2NoZW1lID0gX2dldF9kZWZhdWx0X3NjaGVtZSgpCisgICAgICAgIG9sZF9pdGVtcyA9IHN5c2NvbmZpZy5fU0NIRU1FUy5pdGVtcyhzY2hlbWUpCisKKyAgICAgICAgZGVmIHJlc3RvcmUoKToKKyAgICAgICAgICAgIHN5c2NvbmZpZy5fU0NIRU1FUy5yZW1vdmVfc2VjdGlvbihzY2hlbWUpCisgICAgICAgICAgICBzeXNjb25maWcuX1NDSEVNRVMuYWRkX3NlY3Rpb24oc2NoZW1lKQorICAgICAgICAgICAgZm9yIG9wdGlvbiwgdmFsdWUgaW4gb2xkX2l0ZW1zOgorICAgICAgICAgICAgICAgIHN5c2NvbmZpZy5fU0NIRU1FUy5zZXQoc2NoZW1lLCBvcHRpb24sIHZhbHVlKQorCisgICAgICAgIHNlbGYuYWRkQ2xlYW51cChyZXN0b3JlKQorCisgICAgZGVmIHRlc3Rfc2ltcGxlX3J1bihzZWxmKToKKyAgICAgICAgcGtnX2RpciwgZGlzdCA9IHNlbGYuY3JlYXRlX2Rpc3QoKQorICAgICAgICBjbWQgPSBpbnN0YWxsX2RhdGEoZGlzdCkKKyAgICAgICAgY21kLmluc3RhbGxfZGlyID0gaW5zdCA9IG9zLnBhdGguam9pbihwa2dfZGlyLCAnaW5zdCcpCisgICAgICAgIHNjaGVtZSA9IF9nZXRfZGVmYXVsdF9zY2hlbWUoKQorCisgICAgICAgIHN5c2NvbmZpZy5fU0NIRU1FUy5zZXQoc2NoZW1lLCAnaW5zdCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3MucGF0aC5qb2luKHBrZ19kaXIsICdpbnN0JykpCisgICAgICAgIHN5c2NvbmZpZy5fU0NIRU1FUy5zZXQoc2NoZW1lLCAnaW5zdDInLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9zLnBhdGguam9pbihwa2dfZGlyLCAnaW5zdDInKSkKKworICAgICAgICBvbmUgPSBvcy5wYXRoLmpvaW4ocGtnX2RpciwgJ29uZScpCisgICAgICAgIHNlbGYud3JpdGVfZmlsZShvbmUsICd4eHgnKQorICAgICAgICBpbnN0MiA9IG9zLnBhdGguam9pbihwa2dfZGlyLCAnaW5zdDInKQorICAgICAgICB0d28gPSBvcy5wYXRoLmpvaW4ocGtnX2RpciwgJ3R3bycpCisgICAgICAgIHNlbGYud3JpdGVfZmlsZSh0d28sICd4eHgnKQorCisgICAgICAgICMgRklYTUUgdGhpcyBjcmVhdGVzIGEgbGl0ZXJhbCBce2luc3QyXH0gZGlyZWN0b3J5IQorICAgICAgICBjbWQuZGF0YV9maWxlcyA9IHtvbmU6ICd7aW5zdH0vb25lJywgdHdvOiAne2luc3QyfS90d28nfQorICAgICAgICBzZWxmLmFzc2VydENvdW50RXF1YWwoY21kLmdldF9pbnB1dHMoKSwgW29uZSwgdHdvXSkKKworICAgICAgICAjIGxldCdzIHJ1biB0aGUgY29tbWFuZAorICAgICAgICBjbWQuZW5zdXJlX2ZpbmFsaXplZCgpCisgICAgICAgIGNtZC5ydW4oKQorCisgICAgICAgICMgbGV0J3MgY2hlY2sgdGhlIHJlc3VsdAorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihjbWQuZ2V0X291dHB1dHMoKSksIDIpCisgICAgICAgIHJ0d28gPSBvcy5wYXRoLnNwbGl0KHR3bylbLTFdCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShvcy5wYXRoLmV4aXN0cyhvcy5wYXRoLmpvaW4oaW5zdDIsIHJ0d28pKSkKKyAgICAgICAgcm9uZSA9IG9zLnBhdGguc3BsaXQob25lKVstMV0KKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG9zLnBhdGguZXhpc3RzKG9zLnBhdGguam9pbihpbnN0LCByb25lKSkpCisgICAgICAgIGNtZC5vdXRmaWxlcyA9IFtdCisKKyAgICAgICAgIyBsZXQncyB0cnkgd2l0aCB3YXJuX2RpciBvbmUKKyAgICAgICAgY21kLndhcm5fZGlyID0gVHJ1ZQorICAgICAgICBjbWQuZmluYWxpemVkID0gRmFsc2UKKyAgICAgICAgY21kLmVuc3VyZV9maW5hbGl6ZWQoKQorICAgICAgICBjbWQucnVuKCkKKworICAgICAgICAjIGxldCdzIGNoZWNrIHRoZSByZXN1bHQKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oY21kLmdldF9vdXRwdXRzKCkpLCAyKQorICAgICAgICBzZWxmLmFzc2VydFRydWUob3MucGF0aC5leGlzdHMob3MucGF0aC5qb2luKGluc3QyLCBydHdvKSkpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShvcy5wYXRoLmV4aXN0cyhvcy5wYXRoLmpvaW4oaW5zdCwgcm9uZSkpKQorICAgICAgICBjbWQub3V0ZmlsZXMgPSBbXQorCisgICAgICAgICMgbm93IHVzaW5nIHJvb3QgYW5kIGVtcHR5IGRpcgorICAgICAgICBjbWQucm9vdCA9IG9zLnBhdGguam9pbihwa2dfZGlyLCAncm9vdCcpCisgICAgICAgIHRocmVlID0gb3MucGF0aC5qb2luKGNtZC5pbnN0YWxsX2RpciwgJ3RocmVlJykKKyAgICAgICAgc2VsZi53cml0ZV9maWxlKHRocmVlLCAneHgnKQorCisgICAgICAgIHN5c2NvbmZpZy5fU0NIRU1FUy5zZXQoc2NoZW1lLCAnaW5zdDMnLCBjbWQuaW5zdGFsbF9kaXIpCisKKyAgICAgICAgY21kLmRhdGFfZmlsZXMgPSB7b25lOiAne2luc3R9L29uZScsIHR3bzogJ3tpbnN0Mn0vdHdvJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyZWU6ICd7aW5zdDN9L3RocmVlJ30KKyAgICAgICAgY21kLmZpbmFsaXplZCA9IEZhbHNlCisgICAgICAgIGNtZC5lbnN1cmVfZmluYWxpemVkKCkKKyAgICAgICAgY21kLnJ1bigpCisKKyAgICAgICAgIyBsZXQncyBjaGVjayB0aGUgcmVzdWx0CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGNtZC5nZXRfb3V0cHV0cygpKSwgMykKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG9zLnBhdGguZXhpc3RzKG9zLnBhdGguam9pbihpbnN0MiwgcnR3bykpKQorICAgICAgICBzZWxmLmFzc2VydFRydWUob3MucGF0aC5leGlzdHMob3MucGF0aC5qb2luKGluc3QsIHJvbmUpKSkKKworICAgIGRlZiB0ZXN0X3Jlc291cmNlcyhzZWxmKToKKyAgICAgICAgaW5zdGFsbF9kaXIgPSBzZWxmLm1rZHRlbXAoKQorICAgICAgICBzY3JpcHRzX2RpciA9IHNlbGYubWtkdGVtcCgpCisgICAgICAgIHByb2plY3RfZGlyLCBkaXN0ID0gc2VsZi5jcmVhdGVfZGlzdCgKKyAgICAgICAgICAgIG5hbWU9J1NwYW1saWInLCB2ZXJzaW9uPScwLjEnLAorICAgICAgICAgICAgZGF0YV9maWxlcz17J3NwYW1kJzogJ3tzY3JpcHRzfS9zcGFtZCd9KQorCisgICAgICAgIG9zLmNoZGlyKHByb2plY3RfZGlyKQorICAgICAgICBzZWxmLndyaXRlX2ZpbGUoJ3NwYW1kJywgJyMgUHl0aG9uIHNjcmlwdCcpCisgICAgICAgIHN5c2NvbmZpZy5fU0NIRU1FUy5zZXQoX2dldF9kZWZhdWx0X3NjaGVtZSgpLCAnc2NyaXB0cycsIHNjcmlwdHNfZGlyKQorICAgICAgICBzeXMucGF0aC5pbnNlcnQoMCwgaW5zdGFsbF9kaXIpCisgICAgICAgIHBhY2thZ2luZy5kYXRhYmFzZS5kaXNhYmxlX2NhY2hlKCkKKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKHN5cy5wYXRoLnJlbW92ZSwgaW5zdGFsbF9kaXIpCisgICAgICAgIHNlbGYuYWRkQ2xlYW51cChwYWNrYWdpbmcuZGF0YWJhc2UuZW5hYmxlX2NhY2hlKQorCisgICAgICAgIGNtZCA9IGluc3RhbGxfZGlzdChkaXN0KQorICAgICAgICBjbWQub3V0cHV0cyA9IFsnc3BhbWQnXQorICAgICAgICBjbWQuaW5zdGFsbF9saWIgPSBpbnN0YWxsX2RpcgorICAgICAgICBkaXN0LmNvbW1hbmRfb2JqWydpbnN0YWxsX2Rpc3QnXSA9IGNtZAorCisgICAgICAgIGNtZCA9IGluc3RhbGxfZGF0YShkaXN0KQorICAgICAgICBjbWQuaW5zdGFsbF9kaXIgPSBpbnN0YWxsX2RpcgorICAgICAgICBjbWQuZW5zdXJlX2ZpbmFsaXplZCgpCisgICAgICAgIGRpc3QuY29tbWFuZF9vYmpbJ2luc3RhbGxfZGF0YSddID0gY21kCisgICAgICAgIGNtZC5ydW4oKQorCisgICAgICAgIGNtZCA9IGluc3RhbGxfZGlzdGluZm8oZGlzdCkKKyAgICAgICAgY21kLmVuc3VyZV9maW5hbGl6ZWQoKQorICAgICAgICBkaXN0LmNvbW1hbmRfb2JqWydpbnN0YWxsX2Rpc3RpbmZvJ10gPSBjbWQKKyAgICAgICAgY21kLnJ1bigpCisKKyAgICAgICAgIyBmaXJzdCBhIGZldyBzYW5pdHkgY2hlY2tzCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwob3MubGlzdGRpcihzY3JpcHRzX2RpciksIFsnc3BhbWQnXSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvcy5saXN0ZGlyKGluc3RhbGxfZGlyKSwgWydTcGFtbGliLTAuMS5kaXN0LWluZm8nXSkKKworICAgICAgICAjIG5vdyB0aGUgcmVhbCB0ZXN0CisgICAgICAgIGZuID0gb3MucGF0aC5qb2luKGluc3RhbGxfZGlyLCAnU3BhbWxpYi0wLjEuZGlzdC1pbmZvJywgJ1JFU09VUkNFUycpCisgICAgICAgIHdpdGggb3BlbihmbiwgZW5jb2Rpbmc9J3V0Zi04JykgYXMgZnA6CisgICAgICAgICAgICBjb250ZW50ID0gZnAucmVhZCgpLnN0cmlwKCkKKworICAgICAgICBleHBlY3RlZCA9ICdzcGFtZCwlcycgJSBvcy5wYXRoLmpvaW4oc2NyaXB0c19kaXIsICdzcGFtZCcpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY29udGVudCwgZXhwZWN0ZWQpCisKKyAgICAgICAgIyBqdXN0IHRvIGJlIHN1cmUsIHdlIGFsc28gdGVzdCB0aGF0IGdldF9maWxlIHdvcmtzIGhlcmUsIGV2ZW4gdGhvdWdoCisgICAgICAgICMgcGFja2FnaW5nLmRhdGFiYXNlIGhhcyBpdHMgb3duIHRlc3QgZmlsZQorICAgICAgICB3aXRoIHBhY2thZ2luZy5kYXRhYmFzZS5nZXRfZmlsZSgnU3BhbWxpYicsICdzcGFtZCcpIGFzIGZwOgorICAgICAgICAgICAgY29udGVudCA9IGZwLnJlYWQoKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJyMgUHl0aG9uIHNjcmlwdCcsIGNvbnRlbnQpCisKKworZGVmIHRlc3Rfc3VpdGUoKToKKyAgICByZXR1cm4gdW5pdHRlc3QubWFrZVN1aXRlKEluc3RhbGxEYXRhVGVzdENhc2UpCisKK2lmIF9fbmFtZV9fID09ICJfX21haW5fXyI6CisgICAgdW5pdHRlc3QubWFpbihkZWZhdWx0VGVzdD0idGVzdF9zdWl0ZSIpCmRpZmYgLS1naXQgYS9MaWIvcGFja2FnaW5nL3Rlc3RzL3Rlc3RfY29tbWFuZF9pbnN0YWxsX2Rpc3QucHkgYi9MaWIvcGFja2FnaW5nL3Rlc3RzL3Rlc3RfY29tbWFuZF9pbnN0YWxsX2Rpc3QucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzM0NWQyZQotLS0gL2Rldi9udWxsCisrKyBiL0xpYi9wYWNrYWdpbmcvdGVzdHMvdGVzdF9jb21tYW5kX2luc3RhbGxfZGlzdC5weQpAQCAtMCwwICsxLDI0MSBAQAorIiIiVGVzdHMgZm9yIHBhY2thZ2luZy5jb21tYW5kLmluc3RhbGwuIiIiCisKK2ltcG9ydCBvcworaW1wb3J0IGltcAoraW1wb3J0IHN5cworZnJvbSBzeXNjb25maWcgaW1wb3J0IChnZXRfc2NoZW1lX25hbWVzLCBnZXRfY29uZmlnX3ZhcnMsCisgICAgICAgICAgICAgICAgICAgICAgIF9TQ0hFTUVTLCBnZXRfY29uZmlnX3ZhciwgZ2V0X3BhdGgpCisKK2Zyb20gcGFja2FnaW5nLmNvbW1hbmQuYnVpbGRfZXh0IGltcG9ydCBidWlsZF9leHQKK2Zyb20gcGFja2FnaW5nLmNvbW1hbmQuaW5zdGFsbF9kaXN0IGltcG9ydCBpbnN0YWxsX2Rpc3QKK2Zyb20gcGFja2FnaW5nLmNvbXBpbGVyLmV4dGVuc2lvbiBpbXBvcnQgRXh0ZW5zaW9uCitmcm9tIHBhY2thZ2luZy5kaXN0IGltcG9ydCBEaXN0cmlidXRpb24KK2Zyb20gcGFja2FnaW5nLmVycm9ycyBpbXBvcnQgUGFja2FnaW5nT3B0aW9uRXJyb3IKKworZnJvbSBwYWNrYWdpbmcudGVzdHMgaW1wb3J0IHVuaXR0ZXN0LCBzdXBwb3J0CisKKworX0NPTkZJR19WQVJTID0gZ2V0X2NvbmZpZ192YXJzKCkKKworCitkZWYgX21ha2VfZXh0X25hbWUobW9kbmFtZSk6CisgICAgaWYgb3MubmFtZSA9PSAnbnQnIGFuZCBzeXMuZXhlY3V0YWJsZS5lbmRzd2l0aCgnX2QuZXhlJyk6CisgICAgICAgIG1vZG5hbWUgKz0gJ19kJworICAgIHJldHVybiBtb2RuYW1lICsgZ2V0X2NvbmZpZ192YXIoJ1NPJykKKworCitjbGFzcyBJbnN0YWxsVGVzdENhc2Uoc3VwcG9ydC5UZW1wZGlyTWFuYWdlciwKKyAgICAgICAgICAgICAgICAgICAgICBzdXBwb3J0LkxvZ2dpbmdDYXRjaGVyLAorICAgICAgICAgICAgICAgICAgICAgIHVuaXR0ZXN0LlRlc3RDYXNlKToKKworICAgIGRlZiB0ZXN0X2hvbWVfaW5zdGFsbGF0aW9uX3NjaGVtZShzZWxmKToKKyAgICAgICAgIyBUaGlzIGVuc3VyZSB0d28gdGhpbmdzOgorICAgICAgICAjIC0gdGhhdCAtLWhvbWUgZ2VuZXJhdGVzIHRoZSBkZXNpcmVkIHNldCBvZiBkaXJlY3RvcnkgbmFtZXMKKyAgICAgICAgIyAtIHRlc3QgLS1ob21lIGlzIHN1cHBvcnRlZCBvbiBhbGwgcGxhdGZvcm1zCisgICAgICAgIGJ1aWxkZGlyID0gc2VsZi5ta2R0ZW1wKCkKKyAgICAgICAgZGVzdGluYXRpb24gPSBvcy5wYXRoLmpvaW4oYnVpbGRkaXIsICJpbnN0YWxsYXRpb24iKQorCisgICAgICAgIGRpc3QgPSBEaXN0cmlidXRpb24oeyJuYW1lIjogImZvb3BrZyJ9KQorICAgICAgICBkaXN0LmNvbW1hbmRfb2JqWyJidWlsZCJdID0gc3VwcG9ydC5EdW1teUNvbW1hbmQoCisgICAgICAgICAgICBidWlsZF9iYXNlPWJ1aWxkZGlyLAorICAgICAgICAgICAgYnVpbGRfbGliPW9zLnBhdGguam9pbihidWlsZGRpciwgImxpYiIpLAorICAgICAgICApCisKKyAgICAgICAgb2xkX3Bvc2l4X3ByZWZpeCA9IF9TQ0hFTUVTLmdldCgncG9zaXhfcHJlZml4JywgJ3BsYXRpbmNsdWRlJykKKyAgICAgICAgb2xkX3Bvc2l4X2hvbWUgPSBfU0NIRU1FUy5nZXQoJ3Bvc2l4X2hvbWUnLCAncGxhdGluY2x1ZGUnKQorCisgICAgICAgIG5ld19wYXRoID0gJ3twbGF0YmFzZX0vaW5jbHVkZS9weXRob257cHlfdmVyc2lvbl9zaG9ydH0nCisgICAgICAgIF9TQ0hFTUVTLnNldCgncG9zaXhfcHJlZml4JywgJ3BsYXRpbmNsdWRlJywgbmV3X3BhdGgpCisgICAgICAgIF9TQ0hFTUVTLnNldCgncG9zaXhfaG9tZScsICdwbGF0aW5jbHVkZScsICd7cGxhdGJhc2V9L2luY2x1ZGUvcHl0aG9uJykKKworICAgICAgICB0cnk6CisgICAgICAgICAgICBjbWQgPSBpbnN0YWxsX2Rpc3QoZGlzdCkKKyAgICAgICAgICAgIGNtZC5ob21lID0gZGVzdGluYXRpb24KKyAgICAgICAgICAgIGNtZC5lbnN1cmVfZmluYWxpemVkKCkKKyAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgIF9TQ0hFTUVTLnNldCgncG9zaXhfcHJlZml4JywgJ3BsYXRpbmNsdWRlJywgb2xkX3Bvc2l4X3ByZWZpeCkKKyAgICAgICAgICAgIF9TQ0hFTUVTLnNldCgncG9zaXhfaG9tZScsICdwbGF0aW5jbHVkZScsIG9sZF9wb3NpeF9ob21lKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY21kLmluc3RhbGxfYmFzZSwgZGVzdGluYXRpb24pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY21kLmluc3RhbGxfcGxhdGJhc2UsIGRlc3RpbmF0aW9uKQorCisgICAgICAgIGRlZiBjaGVja19wYXRoKGdvdCwgZXhwZWN0ZWQpOgorICAgICAgICAgICAgZ290ID0gb3MucGF0aC5ub3JtcGF0aChnb3QpCisgICAgICAgICAgICBleHBlY3RlZCA9IG9zLnBhdGgubm9ybXBhdGgoZXhwZWN0ZWQpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGdvdCwgZXhwZWN0ZWQpCisKKyAgICAgICAgbGliZGlyID0gb3MucGF0aC5qb2luKGRlc3RpbmF0aW9uLCAibGliIiwgInB5dGhvbiIpCisgICAgICAgIGNoZWNrX3BhdGgoY21kLmluc3RhbGxfbGliLCBsaWJkaXIpCisgICAgICAgIGNoZWNrX3BhdGgoY21kLmluc3RhbGxfcGxhdGxpYiwgbGliZGlyKQorICAgICAgICBjaGVja19wYXRoKGNtZC5pbnN0YWxsX3B1cmVsaWIsIGxpYmRpcikKKyAgICAgICAgY2hlY2tfcGF0aChjbWQuaW5zdGFsbF9oZWFkZXJzLAorICAgICAgICAgICAgICAgICAgIG9zLnBhdGguam9pbihkZXN0aW5hdGlvbiwgImluY2x1ZGUiLCAicHl0aG9uIiwgImZvb3BrZyIpKQorICAgICAgICBjaGVja19wYXRoKGNtZC5pbnN0YWxsX3NjcmlwdHMsIG9zLnBhdGguam9pbihkZXN0aW5hdGlvbiwgImJpbiIpKQorICAgICAgICBjaGVja19wYXRoKGNtZC5pbnN0YWxsX2RhdGEsIGRlc3RpbmF0aW9uKQorCisgICAgZGVmIHRlc3RfdXNlcl9zaXRlKHNlbGYpOgorICAgICAgICAjIHRlc3QgaW5zdGFsbCB3aXRoIC0tdXNlcgorICAgICAgICAjIHByZXBhcmluZyB0aGUgZW52aXJvbm1lbnQgZm9yIHRoZSB0ZXN0CisgICAgICAgIHNlbGYub2xkX3VzZXJfYmFzZSA9IGdldF9jb25maWdfdmFyKCd1c2VyYmFzZScpCisgICAgICAgIHNlbGYub2xkX3VzZXJfc2l0ZSA9IGdldF9wYXRoKCdwdXJlbGliJywgJyVzX3VzZXInICUgb3MubmFtZSkKKyAgICAgICAgc2VsZi50bXBkaXIgPSBzZWxmLm1rZHRlbXAoKQorICAgICAgICBzZWxmLnVzZXJfYmFzZSA9IG9zLnBhdGguam9pbihzZWxmLnRtcGRpciwgJ0InKQorICAgICAgICBzZWxmLnVzZXJfc2l0ZSA9IG9zLnBhdGguam9pbihzZWxmLnRtcGRpciwgJ1MnKQorICAgICAgICBfQ09ORklHX1ZBUlNbJ3VzZXJiYXNlJ10gPSBzZWxmLnVzZXJfYmFzZQorICAgICAgICBzY2hlbWUgPSAnJXNfdXNlcicgJSBvcy5uYW1lCisgICAgICAgIF9TQ0hFTUVTLnNldChzY2hlbWUsICdwdXJlbGliJywgc2VsZi51c2VyX3NpdGUpCisKKyAgICAgICAgZGVmIF9leHBhbmR1c2VyKHBhdGgpOgorICAgICAgICAgICAgaWYgcGF0aFswXSA9PSAnfic6CisgICAgICAgICAgICAgICAgcGF0aCA9IG9zLnBhdGgubm9ybXBhdGgoc2VsZi50bXBkaXIpICsgcGF0aFsxOl0KKyAgICAgICAgICAgIHJldHVybiBwYXRoCisKKyAgICAgICAgc2VsZi5vbGRfZXhwYW5kID0gb3MucGF0aC5leHBhbmR1c2VyCisgICAgICAgIG9zLnBhdGguZXhwYW5kdXNlciA9IF9leHBhbmR1c2VyCisKKyAgICAgICAgZGVmIGNsZWFudXAoKToKKyAgICAgICAgICAgIF9DT05GSUdfVkFSU1sndXNlcmJhc2UnXSA9IHNlbGYub2xkX3VzZXJfYmFzZQorICAgICAgICAgICAgX1NDSEVNRVMuc2V0KHNjaGVtZSwgJ3B1cmVsaWInLCBzZWxmLm9sZF91c2VyX3NpdGUpCisgICAgICAgICAgICBvcy5wYXRoLmV4cGFuZHVzZXIgPSBzZWxmLm9sZF9leHBhbmQKKworICAgICAgICBzZWxmLmFkZENsZWFudXAoY2xlYW51cCkKKworICAgICAgICBzY2hlbWVzID0gZ2V0X3NjaGVtZV9uYW1lcygpCisgICAgICAgIGZvciBrZXkgaW4gKCdudF91c2VyJywgJ3Bvc2l4X3VzZXInLCAnb3MyX2hvbWUnKToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4oa2V5LCBzY2hlbWVzKQorCisgICAgICAgIGRpc3QgPSBEaXN0cmlidXRpb24oeyduYW1lJzogJ3h4J30pCisgICAgICAgIGNtZCA9IGluc3RhbGxfZGlzdChkaXN0KQorCisgICAgICAgICMgbWFraW5nIHN1cmUgdGhlIHVzZXIgb3B0aW9uIGlzIHRoZXJlCisgICAgICAgIG9wdGlvbnMgPSBbbmFtZSBmb3IgbmFtZSwgc2hvcnQsIGxhYmxlIGluCisgICAgICAgICAgICAgICAgICAgY21kLnVzZXJfb3B0aW9uc10KKyAgICAgICAgc2VsZi5hc3NlcnRJbigndXNlcicsIG9wdGlvbnMpCisKKyAgICAgICAgIyBzZXR0aW5nIGEgdmFsdWUKKyAgICAgICAgY21kLnVzZXIgPSBUcnVlCisKKyAgICAgICAgIyB1c2VyIGJhc2UgYW5kIHNpdGUgc2hvdWxkbid0IGJlIGNyZWF0ZWQgeWV0CisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2Uob3MucGF0aC5leGlzdHMoc2VsZi51c2VyX2Jhc2UpKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKG9zLnBhdGguZXhpc3RzKHNlbGYudXNlcl9zaXRlKSkKKworICAgICAgICAjIGxldCdzIHJ1biBmaW5hbGl6ZQorICAgICAgICBjbWQuZW5zdXJlX2ZpbmFsaXplZCgpCisKKyAgICAgICAgIyBub3cgdGhleSBzaG91bGQKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG9zLnBhdGguZXhpc3RzKHNlbGYudXNlcl9iYXNlKSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG9zLnBhdGguZXhpc3RzKHNlbGYudXNlcl9zaXRlKSkKKworICAgICAgICBzZWxmLmFzc2VydEluKCd1c2VyYmFzZScsIGNtZC5jb25maWdfdmFycykKKyAgICAgICAgc2VsZi5hc3NlcnRJbigndXNlcnNpdGUnLCBjbWQuY29uZmlnX3ZhcnMpCisKKyAgICBkZWYgdGVzdF9oYW5kbGVfZXh0cmFfcGF0aChzZWxmKToKKyAgICAgICAgZGlzdCA9IERpc3RyaWJ1dGlvbih7J25hbWUnOiAneHgnLCAnZXh0cmFfcGF0aCc6ICdwYXRoLGRpcnMnfSkKKyAgICAgICAgY21kID0gaW5zdGFsbF9kaXN0KGRpc3QpCisKKyAgICAgICAgIyB0d28gZWxlbWVudHMKKyAgICAgICAgY21kLmhhbmRsZV9leHRyYV9wYXRoKCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbWQuZXh0cmFfcGF0aCwgWydwYXRoJywgJ2RpcnMnXSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbWQuZXh0cmFfZGlycywgJ2RpcnMnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNtZC5wYXRoX2ZpbGUsICdwYXRoJykKKworICAgICAgICAjIG9uZSBlbGVtZW50CisgICAgICAgIGNtZC5leHRyYV9wYXRoID0gWydwYXRoJ10KKyAgICAgICAgY21kLmhhbmRsZV9leHRyYV9wYXRoKCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbWQuZXh0cmFfcGF0aCwgWydwYXRoJ10pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY21kLmV4dHJhX2RpcnMsICdwYXRoJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbWQucGF0aF9maWxlLCAncGF0aCcpCisKKyAgICAgICAgIyBub25lCisgICAgICAgIGRpc3QuZXh0cmFfcGF0aCA9IGNtZC5leHRyYV9wYXRoID0gTm9uZQorICAgICAgICBjbWQuaGFuZGxlX2V4dHJhX3BhdGgoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNtZC5leHRyYV9wYXRoLCBOb25lKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNtZC5leHRyYV9kaXJzLCAnJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbWQucGF0aF9maWxlLCBOb25lKQorCisgICAgICAgICMgdGhyZWUgZWxlbWVudHMgKG5vIHdheSAhKQorICAgICAgICBjbWQuZXh0cmFfcGF0aCA9ICdwYXRoLGRpcnMsYWdhaW4nCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFBhY2thZ2luZ09wdGlvbkVycm9yLCBjbWQuaGFuZGxlX2V4dHJhX3BhdGgpCisKKyAgICBkZWYgdGVzdF9maW5hbGl6ZV9vcHRpb25zKHNlbGYpOgorICAgICAgICBkaXN0ID0gRGlzdHJpYnV0aW9uKHsnbmFtZSc6ICd4eCd9KQorICAgICAgICBjbWQgPSBpbnN0YWxsX2Rpc3QoZGlzdCkKKworICAgICAgICAjIG11c3Qgc3VwcGx5IGVpdGhlciBwcmVmaXgvZXhlYy1wcmVmaXgvaG9tZSBvcgorICAgICAgICAjIGluc3RhbGwtYmFzZS9pbnN0YWxsLXBsYXRiYXNlIC0tIG5vdCBib3RoCisgICAgICAgIGNtZC5wcmVmaXggPSAncHJlZml4JworICAgICAgICBjbWQuaW5zdGFsbF9iYXNlID0gJ2Jhc2UnCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFBhY2thZ2luZ09wdGlvbkVycm9yLCBjbWQuZmluYWxpemVfb3B0aW9ucykKKworICAgICAgICAjIG11c3Qgc3VwcGx5IGVpdGhlciBob21lIG9yIHByZWZpeC9leGVjLXByZWZpeCAtLSBub3QgYm90aAorICAgICAgICBjbWQuaW5zdGFsbF9iYXNlID0gTm9uZQorICAgICAgICBjbWQuaG9tZSA9ICdob21lJworICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhQYWNrYWdpbmdPcHRpb25FcnJvciwgY21kLmZpbmFsaXplX29wdGlvbnMpCisKKyAgICAgICAgIyBjYW4ndCBjb21iaW5lIHVzZXIgd2l0aCB3aXRoIHByZWZpeC9leGVjX3ByZWZpeC9ob21lIG9yCisgICAgICAgICMgaW5zdGFsbF8ocGxhdCliYXNlCisgICAgICAgIGNtZC5wcmVmaXggPSBOb25lCisgICAgICAgIGNtZC51c2VyID0gJ3VzZXInCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFBhY2thZ2luZ09wdGlvbkVycm9yLCBjbWQuZmluYWxpemVfb3B0aW9ucykKKworICAgIGRlZiB0ZXN0X29sZF9yZWNvcmQoc2VsZik6CisgICAgICAgICMgdGVzdCBwcmUtUEVQIDM3NiAtLXJlY29yZCBvcHRpb24gKG91dHNpZGUgZGlzdC1pbmZvIGRpcikKKyAgICAgICAgaW5zdGFsbF9kaXIgPSBzZWxmLm1rZHRlbXAoKQorICAgICAgICBwcm9qZWN0X2RpciwgZGlzdCA9IHNlbGYuY3JlYXRlX2Rpc3QocHlfbW9kdWxlcz1bJ2hlbGxvJ10sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY3JpcHRzPVsnc2F5aGknXSkKKyAgICAgICAgb3MuY2hkaXIocHJvamVjdF9kaXIpCisgICAgICAgIHNlbGYud3JpdGVfZmlsZSgnaGVsbG8ucHknLCAiZGVmIG1haW4oKTogcHJpbnQoJ28gaGFpJykiKQorICAgICAgICBzZWxmLndyaXRlX2ZpbGUoJ3NheWhpJywgJ2Zyb20gaGVsbG8gaW1wb3J0IG1haW47IG1haW4oKScpCisKKyAgICAgICAgY21kID0gaW5zdGFsbF9kaXN0KGRpc3QpCisgICAgICAgIGRpc3QuY29tbWFuZF9vYmpbJ2luc3RhbGxfZGlzdCddID0gY21kCisgICAgICAgIGNtZC5yb290ID0gaW5zdGFsbF9kaXIKKyAgICAgICAgY21kLnJlY29yZCA9IG9zLnBhdGguam9pbihwcm9qZWN0X2RpciwgJ2ZpbGVsaXN0JykKKyAgICAgICAgY21kLmVuc3VyZV9maW5hbGl6ZWQoKQorICAgICAgICBjbWQucnVuKCkKKworICAgICAgICB3aXRoIG9wZW4oY21kLnJlY29yZCkgYXMgZjoKKyAgICAgICAgICAgIGNvbnRlbnQgPSBmLnJlYWQoKQorCisgICAgICAgIGZvdW5kID0gW29zLnBhdGguYmFzZW5hbWUobGluZSkgZm9yIGxpbmUgaW4gY29udGVudC5zcGxpdGxpbmVzKCldCisgICAgICAgIGV4cGVjdGVkID0gWydoZWxsby5weScsICdoZWxsby4lcy5weWMnICUgaW1wLmdldF90YWcoKSwgJ3NheWhpJywKKyAgICAgICAgICAgICAgICAgICAgJ01FVEFEQVRBJywgJ0lOU1RBTExFUicsICdSRVFVRVNURUQnLCAnUkVDT1JEJ10KKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzb3J0ZWQoZm91bmQpLCBzb3J0ZWQoZXhwZWN0ZWQpKQorCisgICAgICAgICMgWFhYIHRlc3QgdGhhdCBmYW5jeV9nZXRvcHQgaXMgb2theSB3aXRoIG9wdGlvbnMgbmFtZWQKKyAgICAgICAgIyByZWNvcmQgYW5kIG5vLXJlY29yZCBidXQgdW5yZWxhdGVkCisKKyAgICBkZWYgdGVzdF9vbGRfcmVjb3JkX2V4dGVuc2lvbnMoc2VsZik6CisgICAgICAgICMgdGVzdCBwcmUtUEVQIDM3NiAtLXJlY29yZCBvcHRpb24gd2l0aCBleHQgbW9kdWxlcworICAgICAgICBpbnN0YWxsX2RpciA9IHNlbGYubWtkdGVtcCgpCisgICAgICAgIHByb2plY3RfZGlyLCBkaXN0ID0gc2VsZi5jcmVhdGVfZGlzdChleHRfbW9kdWxlcz1bCisgICAgICAgICAgICBFeHRlbnNpb24oJ3h4JywgWyd4eG1vZHVsZS5jJ10pXSkKKyAgICAgICAgb3MuY2hkaXIocHJvamVjdF9kaXIpCisgICAgICAgIHN1cHBvcnQuY29weV94eG1vZHVsZV9jKHByb2plY3RfZGlyKQorCisgICAgICAgIGJ1aWxkZXh0Y21kID0gYnVpbGRfZXh0KGRpc3QpCisgICAgICAgIHN1cHBvcnQuZml4dXBfYnVpbGRfZXh0KGJ1aWxkZXh0Y21kKQorICAgICAgICBidWlsZGV4dGNtZC5lbnN1cmVfZmluYWxpemVkKCkKKworICAgICAgICBjbWQgPSBpbnN0YWxsX2Rpc3QoZGlzdCkKKyAgICAgICAgZGlzdC5jb21tYW5kX29ialsnaW5zdGFsbF9kaXN0J10gPSBjbWQKKyAgICAgICAgZGlzdC5jb21tYW5kX29ialsnYnVpbGRfZXh0J10gPSBidWlsZGV4dGNtZAorICAgICAgICBjbWQucm9vdCA9IGluc3RhbGxfZGlyCisgICAgICAgIGNtZC5yZWNvcmQgPSBvcy5wYXRoLmpvaW4ocHJvamVjdF9kaXIsICdmaWxlbGlzdCcpCisgICAgICAgIGNtZC5lbnN1cmVfZmluYWxpemVkKCkKKyAgICAgICAgY21kLnJ1bigpCisKKyAgICAgICAgd2l0aCBvcGVuKGNtZC5yZWNvcmQpIGFzIGY6CisgICAgICAgICAgICBjb250ZW50ID0gZi5yZWFkKCkKKworICAgICAgICBmb3VuZCA9IFtvcy5wYXRoLmJhc2VuYW1lKGxpbmUpIGZvciBsaW5lIGluIGNvbnRlbnQuc3BsaXRsaW5lcygpXQorICAgICAgICBleHBlY3RlZCA9IFtfbWFrZV9leHRfbmFtZSgneHgnKSwKKyAgICAgICAgICAgICAgICAgICAgJ01FVEFEQVRBJywgJ0lOU1RBTExFUicsICdSRVFVRVNURUQnLCAnUkVDT1JEJ10KKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmb3VuZCwgZXhwZWN0ZWQpCisKKworZGVmIHRlc3Rfc3VpdGUoKToKKyAgICByZXR1cm4gdW5pdHRlc3QubWFrZVN1aXRlKEluc3RhbGxUZXN0Q2FzZSkKKworaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKKyAgICB1bml0dGVzdC5tYWluKGRlZmF1bHRUZXN0PSJ0ZXN0X3N1aXRlIikKZGlmZiAtLWdpdCBhL0xpYi9wYWNrYWdpbmcvdGVzdHMvdGVzdF9jb21tYW5kX2luc3RhbGxfZGlzdGluZm8ucHkgYi9MaWIvcGFja2FnaW5nL3Rlc3RzL3Rlc3RfY29tbWFuZF9pbnN0YWxsX2Rpc3RpbmZvLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMzMTUzZTcKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvcGFja2FnaW5nL3Rlc3RzL3Rlc3RfY29tbWFuZF9pbnN0YWxsX2Rpc3RpbmZvLnB5CkBAIC0wLDAgKzEsMjUyIEBACisiIiJUZXN0cyBmb3IgYGBwYWNrYWdpbmcuY29tbWFuZC5pbnN0YWxsX2Rpc3RpbmZvYGAuCisKK1dyaXRpbmcgb2YgdGhlIFJFU09VUkNFUyBmaWxlIGlzIHRlc3RlZCBpbiB0ZXN0X2NvbW1hbmRfaW5zdGFsbF9kYXRhLgorIiIiCisKK2ltcG9ydCBvcworaW1wb3J0IGNzdgoraW1wb3J0IGhhc2hsaWIKK2ltcG9ydCBzeXNjb25maWcKKworZnJvbSBwYWNrYWdpbmcuY29tbWFuZC5pbnN0YWxsX2Rpc3RpbmZvIGltcG9ydCBpbnN0YWxsX2Rpc3RpbmZvCitmcm9tIHBhY2thZ2luZy5jb21tYW5kLmNtZCBpbXBvcnQgQ29tbWFuZAorZnJvbSBwYWNrYWdpbmcuY29tcGlsZXIuZXh0ZW5zaW9uIGltcG9ydCBFeHRlbnNpb24KK2Zyb20gcGFja2FnaW5nLm1ldGFkYXRhIGltcG9ydCBNZXRhZGF0YQorZnJvbSBwYWNrYWdpbmcudGVzdHMgaW1wb3J0IHVuaXR0ZXN0LCBzdXBwb3J0CisKKworY2xhc3MgRHVtbXlJbnN0YWxsQ21kKENvbW1hbmQpOgorCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGRpc3Q9Tm9uZSk6CisgICAgICAgIHNlbGYub3V0cHV0cyA9IFtdCisgICAgICAgIHNlbGYuZGlzdHJpYnV0aW9uID0gZGlzdAorCisgICAgZGVmIF9fZ2V0YXR0cl9fKHNlbGYsIG5hbWUpOgorICAgICAgICByZXR1cm4gTm9uZQorCisgICAgZGVmIGVuc3VyZV9maW5hbGl6ZWQoc2VsZik6CisgICAgICAgIHBhc3MKKworICAgIGRlZiBnZXRfb3V0cHV0cyhzZWxmKToKKyAgICAgICAgcmV0dXJuIChzZWxmLm91dHB1dHMgKworICAgICAgICAgICAgICAgIHNlbGYuZ2V0X2ZpbmFsaXplZF9jb21tYW5kKCdpbnN0YWxsX2Rpc3RpbmZvJykuZ2V0X291dHB1dHMoKSkKKworCitjbGFzcyBJbnN0YWxsRGlzdGluZm9UZXN0Q2FzZShzdXBwb3J0LlRlbXBkaXJNYW5hZ2VyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VwcG9ydC5Mb2dnaW5nQ2F0Y2hlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuaXR0ZXN0LlRlc3RDYXNlKToKKworICAgIGNoZWNrTGlzdHMgPSBsYW1iZGEgc2VsZiwgeCwgeTogc2VsZi5hc3NlcnRMaXN0RXF1YWwoc29ydGVkKHgpLCBzb3J0ZWQoeSkpCisKKyAgICBkZWYgdGVzdF9lbXB0eV9pbnN0YWxsKHNlbGYpOgorICAgICAgICBwa2dfZGlyLCBkaXN0ID0gc2VsZi5jcmVhdGVfZGlzdChuYW1lPSdmb28nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJzaW9uPScxLjAnKQorICAgICAgICBpbnN0YWxsX2RpciA9IHNlbGYubWtkdGVtcCgpCisKKyAgICAgICAgaW5zdGFsbCA9IER1bW15SW5zdGFsbENtZChkaXN0KQorICAgICAgICBkaXN0LmNvbW1hbmRfb2JqWydpbnN0YWxsX2Rpc3QnXSA9IGluc3RhbGwKKworICAgICAgICBjbWQgPSBpbnN0YWxsX2Rpc3RpbmZvKGRpc3QpCisgICAgICAgIGRpc3QuY29tbWFuZF9vYmpbJ2luc3RhbGxfZGlzdGluZm8nXSA9IGNtZAorCisgICAgICAgIGNtZC5pbnN0YWxsX2RpciA9IGluc3RhbGxfZGlyCisgICAgICAgIGNtZC5lbnN1cmVfZmluYWxpemVkKCkKKyAgICAgICAgY21kLnJ1bigpCisKKyAgICAgICAgc2VsZi5jaGVja0xpc3RzKG9zLmxpc3RkaXIoaW5zdGFsbF9kaXIpLCBbJ2Zvby0xLjAuZGlzdC1pbmZvJ10pCisKKyAgICAgICAgZGlzdF9pbmZvID0gb3MucGF0aC5qb2luKGluc3RhbGxfZGlyLCAnZm9vLTEuMC5kaXN0LWluZm8nKQorICAgICAgICBzZWxmLmNoZWNrTGlzdHMob3MubGlzdGRpcihkaXN0X2luZm8pLAorICAgICAgICAgICAgICAgICAgICAgICAgWydNRVRBREFUQScsICdSRUNPUkQnLCAnUkVRVUVTVEVEJywgJ0lOU1RBTExFUiddKQorICAgICAgICB3aXRoIG9wZW4ob3MucGF0aC5qb2luKGRpc3RfaW5mbywgJ0lOU1RBTExFUicpKSBhcyBmcDoKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZnAucmVhZCgpLCAnZGlzdHV0aWxzJykKKyAgICAgICAgd2l0aCBvcGVuKG9zLnBhdGguam9pbihkaXN0X2luZm8sICdSRVFVRVNURUQnKSkgYXMgZnA6CisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGZwLnJlYWQoKSwgJycpCisgICAgICAgIG1ldGFfcGF0aCA9IG9zLnBhdGguam9pbihkaXN0X2luZm8sICdNRVRBREFUQScpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShNZXRhZGF0YShwYXRoPW1ldGFfcGF0aCkuY2hlY2soKSkKKworICAgIGRlZiB0ZXN0X2luc3RhbGxlcihzZWxmKToKKyAgICAgICAgcGtnX2RpciwgZGlzdCA9IHNlbGYuY3JlYXRlX2Rpc3QobmFtZT0nZm9vJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVyc2lvbj0nMS4wJykKKyAgICAgICAgaW5zdGFsbF9kaXIgPSBzZWxmLm1rZHRlbXAoKQorCisgICAgICAgIGluc3RhbGwgPSBEdW1teUluc3RhbGxDbWQoZGlzdCkKKyAgICAgICAgZGlzdC5jb21tYW5kX29ialsnaW5zdGFsbF9kaXN0J10gPSBpbnN0YWxsCisKKyAgICAgICAgY21kID0gaW5zdGFsbF9kaXN0aW5mbyhkaXN0KQorICAgICAgICBkaXN0LmNvbW1hbmRfb2JqWydpbnN0YWxsX2Rpc3RpbmZvJ10gPSBjbWQKKworICAgICAgICBjbWQuaW5zdGFsbF9kaXIgPSBpbnN0YWxsX2RpcgorICAgICAgICBjbWQuaW5zdGFsbGVyID0gJ2JhY29uLXB5dGhvbicKKyAgICAgICAgY21kLmVuc3VyZV9maW5hbGl6ZWQoKQorICAgICAgICBjbWQucnVuKCkKKworICAgICAgICBkaXN0X2luZm8gPSBvcy5wYXRoLmpvaW4oaW5zdGFsbF9kaXIsICdmb28tMS4wLmRpc3QtaW5mbycpCisgICAgICAgIHdpdGggb3Blbihvcy5wYXRoLmpvaW4oZGlzdF9pbmZvLCAnSU5TVEFMTEVSJykpIGFzIGZwOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmcC5yZWFkKCksICdiYWNvbi1weXRob24nKQorCisgICAgZGVmIHRlc3RfcmVxdWVzdGVkKHNlbGYpOgorICAgICAgICBwa2dfZGlyLCBkaXN0ID0gc2VsZi5jcmVhdGVfZGlzdChuYW1lPSdmb28nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJzaW9uPScxLjAnKQorICAgICAgICBpbnN0YWxsX2RpciA9IHNlbGYubWtkdGVtcCgpCisKKyAgICAgICAgaW5zdGFsbCA9IER1bW15SW5zdGFsbENtZChkaXN0KQorICAgICAgICBkaXN0LmNvbW1hbmRfb2JqWydpbnN0YWxsX2Rpc3QnXSA9IGluc3RhbGwKKworICAgICAgICBjbWQgPSBpbnN0YWxsX2Rpc3RpbmZvKGRpc3QpCisgICAgICAgIGRpc3QuY29tbWFuZF9vYmpbJ2luc3RhbGxfZGlzdGluZm8nXSA9IGNtZAorCisgICAgICAgIGNtZC5pbnN0YWxsX2RpciA9IGluc3RhbGxfZGlyCisgICAgICAgIGNtZC5yZXF1ZXN0ZWQgPSBGYWxzZQorICAgICAgICBjbWQuZW5zdXJlX2ZpbmFsaXplZCgpCisgICAgICAgIGNtZC5ydW4oKQorCisgICAgICAgIGRpc3RfaW5mbyA9IG9zLnBhdGguam9pbihpbnN0YWxsX2RpciwgJ2Zvby0xLjAuZGlzdC1pbmZvJykKKyAgICAgICAgc2VsZi5jaGVja0xpc3RzKG9zLmxpc3RkaXIoZGlzdF9pbmZvKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIFsnTUVUQURBVEEnLCAnUkVDT1JEJywgJ0lOU1RBTExFUiddKQorCisgICAgZGVmIHRlc3Rfbm9fcmVjb3JkKHNlbGYpOgorICAgICAgICBwa2dfZGlyLCBkaXN0ID0gc2VsZi5jcmVhdGVfZGlzdChuYW1lPSdmb28nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJzaW9uPScxLjAnKQorICAgICAgICBpbnN0YWxsX2RpciA9IHNlbGYubWtkdGVtcCgpCisKKyAgICAgICAgaW5zdGFsbCA9IER1bW15SW5zdGFsbENtZChkaXN0KQorICAgICAgICBkaXN0LmNvbW1hbmRfb2JqWydpbnN0YWxsX2Rpc3QnXSA9IGluc3RhbGwKKworICAgICAgICBjbWQgPSBpbnN0YWxsX2Rpc3RpbmZvKGRpc3QpCisgICAgICAgIGRpc3QuY29tbWFuZF9vYmpbJ2luc3RhbGxfZGlzdGluZm8nXSA9IGNtZAorCisgICAgICAgIGNtZC5pbnN0YWxsX2RpciA9IGluc3RhbGxfZGlyCisgICAgICAgIGNtZC5ub19yZWNvcmQgPSBUcnVlCisgICAgICAgIGNtZC5lbnN1cmVfZmluYWxpemVkKCkKKyAgICAgICAgY21kLnJ1bigpCisKKyAgICAgICAgZGlzdF9pbmZvID0gb3MucGF0aC5qb2luKGluc3RhbGxfZGlyLCAnZm9vLTEuMC5kaXN0LWluZm8nKQorICAgICAgICBzZWxmLmNoZWNrTGlzdHMob3MubGlzdGRpcihkaXN0X2luZm8pLAorICAgICAgICAgICAgICAgICAgICAgICAgWydNRVRBREFUQScsICdSRVFVRVNURUQnLCAnSU5TVEFMTEVSJ10pCisKKyAgICBkZWYgdGVzdF9yZWNvcmRfYmFzaWMoc2VsZik6CisgICAgICAgIGluc3RhbGxfZGlyID0gc2VsZi5ta2R0ZW1wKCkKKyAgICAgICAgbW9kdWxlc19kZXN0ID0gb3MucGF0aC5qb2luKGluc3RhbGxfZGlyLCAnbGliJykKKyAgICAgICAgc2NyaXB0c19kZXN0ID0gb3MucGF0aC5qb2luKGluc3RhbGxfZGlyLCAnYmluJykKKyAgICAgICAgcHJvamVjdF9kaXIsIGRpc3QgPSBzZWxmLmNyZWF0ZV9kaXN0KAorICAgICAgICAgICAgbmFtZT0nU3BhbWxpYicsIHZlcnNpb249JzAuMScsCisgICAgICAgICAgICBweV9tb2R1bGVzPVsnc3BhbSddLCBzY3JpcHRzPVsnc3BhbWQnXSwKKyAgICAgICAgICAgIGV4dF9tb2R1bGVzPVtFeHRlbnNpb24oJ19zcGVlZHNwYW0nLCBbJ19zcGVlZHNwYW0uYyddKV0pCisKKyAgICAgICAgIyB1c2luZyBhIHJlYWwgaW5zdGFsbF9kaXN0IGNvbW1hbmQgaXMgdG9vIHBhaW5mdWwsIHNvIHdlIHVzZSBhIG1vY2sKKyAgICAgICAgIyBjbGFzcyB0aGF0J3Mgb25seSBhIGhvbGRlciBmb3Igb3B0aW9ucyB0byBiZSB1c2VkIGJ5IGluc3RhbGxfZGlzdGluZm8KKyAgICAgICAgIyBhbmQgd2UgY3JlYXRlIHBsYWNlaG9sZGVyIGZpbGVzIG1hbnVhbGx5IGluc3RlYWQgb2YgdXNpbmcgYnVpbGRfKi4KKyAgICAgICAgIyB0aGUgaW5zdGFsbF8qIGNvbW1hbmRzIHdpbGwgc3RpbGwgYmUgY29uc3VsdGVkIGJ5IGluc3RhbGxfZGlzdGluZm8uCisgICAgICAgIG9zLmNoZGlyKHByb2plY3RfZGlyKQorICAgICAgICBzZWxmLndyaXRlX2ZpbGUoJ3NwYW0nLCAnIyBQeXRob24gbW9kdWxlJykKKyAgICAgICAgc2VsZi53cml0ZV9maWxlKCdzcGFtZCcsICcjIFB5dGhvbiBzY3JpcHQnKQorICAgICAgICBleHRtb2QgPSAnX3NwZWVkc3BhbScgKyBzeXNjb25maWcuZ2V0X2NvbmZpZ192YXIoJ1NPJykKKyAgICAgICAgc2VsZi53cml0ZV9maWxlKGV4dG1vZCwgJycpCisKKyAgICAgICAgaW5zdGFsbCA9IER1bW15SW5zdGFsbENtZChkaXN0KQorICAgICAgICBpbnN0YWxsLm91dHB1dHMgPSBbJ3NwYW0nLCAnc3BhbWQnLCBleHRtb2RdCisgICAgICAgIGluc3RhbGwuaW5zdGFsbF9saWIgPSBtb2R1bGVzX2Rlc3QKKyAgICAgICAgaW5zdGFsbC5pbnN0YWxsX3NjcmlwdHMgPSBzY3JpcHRzX2Rlc3QKKyAgICAgICAgZGlzdC5jb21tYW5kX29ialsnaW5zdGFsbF9kaXN0J10gPSBpbnN0YWxsCisKKyAgICAgICAgY21kID0gaW5zdGFsbF9kaXN0aW5mbyhkaXN0KQorICAgICAgICBjbWQuZW5zdXJlX2ZpbmFsaXplZCgpCisgICAgICAgIGRpc3QuY29tbWFuZF9vYmpbJ2luc3RhbGxfZGlzdGluZm8nXSA9IGNtZAorICAgICAgICBjbWQucnVuKCkKKworICAgICAgICAjIGNoZWNrc3VtIGFuZCBzaXplIGFyZSBub3QgaGFyZC1jb2RlZCBmb3IgTUVUQURBVEEgYXMgaXQgaXMKKyAgICAgICAgIyBwbGF0Zm9ybS1kZXBlbmRlbnQgKGxpbmUgZW5kaW5ncykKKyAgICAgICAgbWV0YWRhdGEgPSBvcy5wYXRoLmpvaW4obW9kdWxlc19kZXN0LCAnU3BhbWxpYi0wLjEuZGlzdC1pbmZvJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ01FVEFEQVRBJykKKyAgICAgICAgd2l0aCBvcGVuKG1ldGFkYXRhLCAncmInKSBhcyBmcDoKKyAgICAgICAgICAgIGNvbnRlbnQgPSBmcC5yZWFkKCkKKworICAgICAgICBtZXRhZGF0YV9zaXplID0gc3RyKGxlbihjb250ZW50KSkKKyAgICAgICAgbWV0YWRhdGFfbWQ1ID0gaGFzaGxpYi5tZDUoY29udGVudCkuaGV4ZGlnZXN0KCkKKworICAgICAgICByZWNvcmQgPSBvcy5wYXRoLmpvaW4obW9kdWxlc19kZXN0LCAnU3BhbWxpYi0wLjEuZGlzdC1pbmZvJywgJ1JFQ09SRCcpCisgICAgICAgIHdpdGggb3BlbihyZWNvcmQsIGVuY29kaW5nPSd1dGYtOCcpIGFzIGZwOgorICAgICAgICAgICAgY29udGVudCA9IGZwLnJlYWQoKQorCisgICAgICAgIGZvdW5kID0gW10KKyAgICAgICAgZm9yIGxpbmUgaW4gY29udGVudC5zcGxpdGxpbmVzKCk6CisgICAgICAgICAgICBmaWxlbmFtZSwgY2hlY2tzdW0sIHNpemUgPSBsaW5lLnNwbGl0KCcsJykKKyAgICAgICAgICAgIGZpbGVuYW1lID0gb3MucGF0aC5iYXNlbmFtZShmaWxlbmFtZSkKKyAgICAgICAgICAgIGZvdW5kLmFwcGVuZCgoZmlsZW5hbWUsIGNoZWNrc3VtLCBzaXplKSkKKworICAgICAgICBleHBlY3RlZCA9IFsKKyAgICAgICAgICAgICgnc3BhbScsICc2YWIyZjI4OGVmMjU0NTg2OGVmZmU2ODc1NzQ0OGI0NScsICcxNScpLAorICAgICAgICAgICAgKCdzcGFtZCcsICdkMTNlNjE1NmNlNzg5MTlhOTgxZTQyNGIyZmRjZDk3NCcsICcxNScpLAorICAgICAgICAgICAgKGV4dG1vZCwgJ2Q0MWQ4Y2Q5OGYwMGIyMDRlOTgwMDk5OGVjZjg0MjdlJywgJzAnKSwKKyAgICAgICAgICAgICgnTUVUQURBVEEnLCBtZXRhZGF0YV9tZDUsIG1ldGFkYXRhX3NpemUpLAorICAgICAgICAgICAgKCdJTlNUQUxMRVInLCAnNDRlM2ZkZTA1ZjNmNTM3ZWQ4NTgzMTk2OWFjZjM5NmQnLCAnOScpLAorICAgICAgICAgICAgKCdSRVFVRVNURUQnLCAnZDQxZDhjZDk4ZjAwYjIwNGU5ODAwOTk4ZWNmODQyN2UnLCAnMCcpLAorICAgICAgICAgICAgKCdSRUNPUkQnLCAnJywgJycpLAorICAgICAgICBdCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZm91bmQsIGV4cGVjdGVkKQorCisgICAgZGVmIHRlc3RfcmVjb3JkKHNlbGYpOgorICAgICAgICBwa2dfZGlyLCBkaXN0ID0gc2VsZi5jcmVhdGVfZGlzdChuYW1lPSdmb28nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJzaW9uPScxLjAnKQorICAgICAgICBpbnN0YWxsX2RpciA9IHNlbGYubWtkdGVtcCgpCisKKyAgICAgICAgaW5zdGFsbCA9IER1bW15SW5zdGFsbENtZChkaXN0KQorICAgICAgICBkaXN0LmNvbW1hbmRfb2JqWydpbnN0YWxsX2Rpc3QnXSA9IGluc3RhbGwKKworICAgICAgICBmYWtlX2Rpc3RzID0gb3MucGF0aC5qb2luKG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXyksICdmYWtlX2Rpc3RzJykKKyAgICAgICAgZmFrZV9kaXN0cyA9IG9zLnBhdGgucmVhbHBhdGgoZmFrZV9kaXN0cykKKworICAgICAgICAjIGZvciB0ZXN0aW5nLCB3ZSBzaW1wbHkgYWRkIGFsbCBmaWxlcyBmcm9tIF9iYWNrcG9ydCdzIGZha2VfZGlzdHMKKyAgICAgICAgZGlycyA9IFtdCisgICAgICAgIGZvciBkaXIgaW4gb3MubGlzdGRpcihmYWtlX2Rpc3RzKToKKyAgICAgICAgICAgIGZ1bGxfcGF0aCA9IG9zLnBhdGguam9pbihmYWtlX2Rpc3RzLCBkaXIpCisgICAgICAgICAgICBpZiAobm90IGRpci5lbmRzd2l0aCgnLmVnZycpIG9yIGRpci5lbmRzd2l0aCgnLmVnZy1pbmZvJykgb3IKKyAgICAgICAgICAgICAgICBkaXIuZW5kc3dpdGgoJy5kaXN0LWluZm8nKSkgYW5kIG9zLnBhdGguaXNkaXIoZnVsbF9wYXRoKToKKyAgICAgICAgICAgICAgICBkaXJzLmFwcGVuZChmdWxsX3BhdGgpCisKKyAgICAgICAgZm9yIGRpciBpbiBkaXJzOgorICAgICAgICAgICAgZm9yIHBhdGgsIHN1YmRpcnMsIGZpbGVzIGluIG9zLndhbGsoZGlyKToKKyAgICAgICAgICAgICAgICBpbnN0YWxsLm91dHB1dHMgKz0gW29zLnBhdGguam9pbihwYXRoLCBmKSBmb3IgZiBpbiBmaWxlc10KKyAgICAgICAgICAgICAgICBpbnN0YWxsLm91dHB1dHMgKz0gW29zLnBhdGguam9pbigncGF0aCcsIGYgKyAnYycpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgZiBpbiBmaWxlcyBpZiBmLmVuZHN3aXRoKCcucHknKV0KKworICAgICAgICBjbWQgPSBpbnN0YWxsX2Rpc3RpbmZvKGRpc3QpCisgICAgICAgIGRpc3QuY29tbWFuZF9vYmpbJ2luc3RhbGxfZGlzdGluZm8nXSA9IGNtZAorCisgICAgICAgIGNtZC5pbnN0YWxsX2RpciA9IGluc3RhbGxfZGlyCisgICAgICAgIGNtZC5lbnN1cmVfZmluYWxpemVkKCkKKyAgICAgICAgY21kLnJ1bigpCisKKyAgICAgICAgZGlzdF9pbmZvID0gb3MucGF0aC5qb2luKGluc3RhbGxfZGlyLCAnZm9vLTEuMC5kaXN0LWluZm8nKQorCisgICAgICAgIGV4cGVjdGVkID0gW10KKyAgICAgICAgZm9yIGYgaW4gaW5zdGFsbC5nZXRfb3V0cHV0cygpOgorICAgICAgICAgICAgaWYgKGYuZW5kc3dpdGgoKCcucHljJywgJy5weW8nKSkgb3IgZiA9PSBvcy5wYXRoLmpvaW4oCisgICAgICAgICAgICAgICAgaW5zdGFsbF9kaXIsICdmb28tMS4wLmRpc3QtaW5mbycsICdSRUNPUkQnKSk6CisgICAgICAgICAgICAgICAgZXhwZWN0ZWQuYXBwZW5kKFtmLCAnJywgJyddKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBzaXplID0gb3MucGF0aC5nZXRzaXplKGYpCisgICAgICAgICAgICAgICAgbWQ1ID0gaGFzaGxpYi5tZDUoKQorICAgICAgICAgICAgICAgIHdpdGggb3BlbihmLCAncmInKSBhcyBmcDoKKyAgICAgICAgICAgICAgICAgICAgbWQ1LnVwZGF0ZShmcC5yZWFkKCkpCisgICAgICAgICAgICAgICAgaGFzaCA9IG1kNS5oZXhkaWdlc3QoKQorICAgICAgICAgICAgICAgIGV4cGVjdGVkLmFwcGVuZChbZiwgaGFzaCwgc3RyKHNpemUpXSkKKworICAgICAgICBwYXJzZWQgPSBbXQorICAgICAgICB3aXRoIG9wZW4ob3MucGF0aC5qb2luKGRpc3RfaW5mbywgJ1JFQ09SRCcpLCAncicpIGFzIGY6CisgICAgICAgICAgICByZWFkZXIgPSBjc3YucmVhZGVyKGYsIGRlbGltaXRlcj0nLCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmV0ZXJtaW5hdG9yPW9zLmxpbmVzZXAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHF1b3RlY2hhcj0nIicpCisgICAgICAgICAgICBwYXJzZWQgPSBsaXN0KHJlYWRlcikKKworICAgICAgICBzZWxmLm1heERpZmYgPSBOb25lCisgICAgICAgIHNlbGYuY2hlY2tMaXN0cyhwYXJzZWQsIGV4cGVjdGVkKQorCisKK2RlZiB0ZXN0X3N1aXRlKCk6CisgICAgcmV0dXJuIHVuaXR0ZXN0Lm1ha2VTdWl0ZShJbnN0YWxsRGlzdGluZm9UZXN0Q2FzZSkKKworCitpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgorICAgIHVuaXR0ZXN0Lm1haW4oZGVmYXVsdFRlc3Q9InRlc3Rfc3VpdGUiKQpkaWZmIC0tZ2l0IGEvTGliL3BhY2thZ2luZy90ZXN0cy90ZXN0X2NvbW1hbmRfaW5zdGFsbF9oZWFkZXJzLnB5IGIvTGliL3BhY2thZ2luZy90ZXN0cy90ZXN0X2NvbW1hbmRfaW5zdGFsbF9oZWFkZXJzLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYyOTA2YTcKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvcGFja2FnaW5nL3Rlc3RzL3Rlc3RfY29tbWFuZF9pbnN0YWxsX2hlYWRlcnMucHkKQEAgLTAsMCArMSwzOCBAQAorIiIiVGVzdHMgZm9yIHBhY2thZ2luZy5jb21tYW5kLmluc3RhbGxfaGVhZGVycy4iIiIKK2ltcG9ydCBvcworCitmcm9tIHBhY2thZ2luZy5jb21tYW5kLmluc3RhbGxfaGVhZGVycyBpbXBvcnQgaW5zdGFsbF9oZWFkZXJzCitmcm9tIHBhY2thZ2luZy50ZXN0cyBpbXBvcnQgdW5pdHRlc3QsIHN1cHBvcnQKKworCitjbGFzcyBJbnN0YWxsSGVhZGVyc1Rlc3RDYXNlKHN1cHBvcnQuVGVtcGRpck1hbmFnZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1cHBvcnQuTG9nZ2luZ0NhdGNoZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuaXR0ZXN0LlRlc3RDYXNlKToKKworICAgIGRlZiB0ZXN0X3NpbXBsZV9ydW4oc2VsZik6CisgICAgICAgICMgd2UgaGF2ZSB0d28gaGVhZGVycworICAgICAgICBoZWFkZXJfbGlzdCA9IHNlbGYubWtkdGVtcCgpCisgICAgICAgIGhlYWRlcjEgPSBvcy5wYXRoLmpvaW4oaGVhZGVyX2xpc3QsICdoZWFkZXIxJykKKyAgICAgICAgaGVhZGVyMiA9IG9zLnBhdGguam9pbihoZWFkZXJfbGlzdCwgJ2hlYWRlcjInKQorICAgICAgICBzZWxmLndyaXRlX2ZpbGUoaGVhZGVyMSkKKyAgICAgICAgc2VsZi53cml0ZV9maWxlKGhlYWRlcjIpCisgICAgICAgIGhlYWRlcnMgPSBbaGVhZGVyMSwgaGVhZGVyMl0KKworICAgICAgICBwa2dfZGlyLCBkaXN0ID0gc2VsZi5jcmVhdGVfZGlzdChoZWFkZXJzPWhlYWRlcnMpCisgICAgICAgIGNtZCA9IGluc3RhbGxfaGVhZGVycyhkaXN0KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNtZC5nZXRfaW5wdXRzKCksIGhlYWRlcnMpCisKKyAgICAgICAgIyBsZXQncyBydW4gdGhlIGNvbW1hbmQKKyAgICAgICAgY21kLmluc3RhbGxfZGlyID0gb3MucGF0aC5qb2luKHBrZ19kaXIsICdpbnN0JykKKyAgICAgICAgY21kLmVuc3VyZV9maW5hbGl6ZWQoKQorICAgICAgICBjbWQucnVuKCkKKworICAgICAgICAjIGxldCdzIGNoZWNrIHRoZSByZXN1bHRzCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGNtZC5nZXRfb3V0cHV0cygpKSwgMikKKworCitkZWYgdGVzdF9zdWl0ZSgpOgorICAgIHJldHVybiB1bml0dGVzdC5tYWtlU3VpdGUoSW5zdGFsbEhlYWRlcnNUZXN0Q2FzZSkKKworaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKKyAgICB1bml0dGVzdC5tYWluKGRlZmF1bHRUZXN0PSJ0ZXN0X3N1aXRlIikKZGlmZiAtLWdpdCBhL0xpYi9wYWNrYWdpbmcvdGVzdHMvdGVzdF9jb21tYW5kX2luc3RhbGxfbGliLnB5IGIvTGliL3BhY2thZ2luZy90ZXN0cy90ZXN0X2NvbW1hbmRfaW5zdGFsbF9saWIucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzllOGZhOAotLS0gL2Rldi9udWxsCisrKyBiL0xpYi9wYWNrYWdpbmcvdGVzdHMvdGVzdF9jb21tYW5kX2luc3RhbGxfbGliLnB5CkBAIC0wLDAgKzEsMTEwIEBACisiIiJUZXN0cyBmb3IgcGFja2FnaW5nLmNvbW1hbmQuaW5zdGFsbF9kYXRhLiIiIgoraW1wb3J0IG9zCitpbXBvcnQgc3lzCitpbXBvcnQgaW1wCisKK2Zyb20gcGFja2FnaW5nLnRlc3RzIGltcG9ydCB1bml0dGVzdCwgc3VwcG9ydAorZnJvbSBwYWNrYWdpbmcuY29tbWFuZC5pbnN0YWxsX2xpYiBpbXBvcnQgaW5zdGFsbF9saWIKK2Zyb20gcGFja2FnaW5nLmNvbXBpbGVyLmV4dGVuc2lvbiBpbXBvcnQgRXh0ZW5zaW9uCitmcm9tIHBhY2thZ2luZy5lcnJvcnMgaW1wb3J0IFBhY2thZ2luZ09wdGlvbkVycm9yCisKKworY2xhc3MgSW5zdGFsbExpYlRlc3RDYXNlKHN1cHBvcnQuVGVtcGRpck1hbmFnZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgc3VwcG9ydC5Mb2dnaW5nQ2F0Y2hlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICBzdXBwb3J0LkVudmlyb25SZXN0b3JlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICB1bml0dGVzdC5UZXN0Q2FzZSk6CisKKyAgICByZXN0b3JlX2Vudmlyb24gPSBbJ1BZVEhPTlBBVEgnXQorCisgICAgZGVmIHRlc3RfZmluYWxpemVfb3B0aW9ucyhzZWxmKToKKyAgICAgICAgZGlzdCA9IHNlbGYuY3JlYXRlX2Rpc3QoKVsxXQorICAgICAgICBjbWQgPSBpbnN0YWxsX2xpYihkaXN0KQorCisgICAgICAgIGNtZC5maW5hbGl6ZV9vcHRpb25zKCkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGNtZC5jb21waWxlKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNtZC5vcHRpbWl6ZSwgMCkKKworICAgICAgICAjIG9wdGltaXplIG11c3QgYmUgMCwgMSwgb3IgMgorICAgICAgICBjbWQub3B0aW1pemUgPSAnZm9vJworICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhQYWNrYWdpbmdPcHRpb25FcnJvciwgY21kLmZpbmFsaXplX29wdGlvbnMpCisgICAgICAgIGNtZC5vcHRpbWl6ZSA9ICc0JworICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhQYWNrYWdpbmdPcHRpb25FcnJvciwgY21kLmZpbmFsaXplX29wdGlvbnMpCisKKyAgICAgICAgY21kLm9wdGltaXplID0gJzInCisgICAgICAgIGNtZC5maW5hbGl6ZV9vcHRpb25zKCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbWQub3B0aW1pemUsIDIpCisKKyAgICBkZWYgdGVzdF9ieXRlX2NvbXBpbGUoc2VsZik6CisgICAgICAgIHByb2plY3RfZGlyLCBkaXN0ID0gc2VsZi5jcmVhdGVfZGlzdCgpCisgICAgICAgIG9zLmNoZGlyKHByb2plY3RfZGlyKQorICAgICAgICBjbWQgPSBpbnN0YWxsX2xpYihkaXN0KQorICAgICAgICBjbWQuY29tcGlsZSA9IFRydWUKKyAgICAgICAgY21kLm9wdGltaXplID0gMQorCisgICAgICAgIGYgPSBvcy5wYXRoLmpvaW4ocHJvamVjdF9kaXIsICdmb28ucHknKQorICAgICAgICBzZWxmLndyaXRlX2ZpbGUoZiwgJyMgcHl0aG9uIGZpbGUnKQorICAgICAgICBjbWQuYnl0ZV9jb21waWxlKFtmXSkKKyAgICAgICAgcHljX2ZpbGUgPSBpbXAuY2FjaGVfZnJvbV9zb3VyY2UoJ2Zvby5weScsIFRydWUpCisgICAgICAgIHB5b19maWxlID0gaW1wLmNhY2hlX2Zyb21fc291cmNlKCdmb28ucHknLCBGYWxzZSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG9zLnBhdGguZXhpc3RzKHB5Y19maWxlKSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG9zLnBhdGguZXhpc3RzKHB5b19maWxlKSkKKworICAgIGRlZiB0ZXN0X2J5dGVfY29tcGlsZV91bmRlcl9CKHNlbGYpOgorICAgICAgICAjIG1ha2Ugc3VyZSBieXRlIGNvbXBpbGF0aW9uIHdvcmtzIHVuZGVyIC1CIChkb250X3dyaXRlX2J5dGVjb2RlKQorICAgICAgICBzZWxmLmFkZENsZWFudXAoc2V0YXR0ciwgc3lzLCAnZG9udF93cml0ZV9ieXRlY29kZScsCisgICAgICAgICAgICAgICAgICAgICAgICBzeXMuZG9udF93cml0ZV9ieXRlY29kZSkKKyAgICAgICAgc3lzLmRvbnRfd3JpdGVfYnl0ZWNvZGUgPSBUcnVlCisgICAgICAgIHNlbGYudGVzdF9ieXRlX2NvbXBpbGUoKQorCisgICAgZGVmIHRlc3RfZ2V0X291dHB1dHMoc2VsZik6CisgICAgICAgIHByb2plY3RfZGlyLCBkaXN0ID0gc2VsZi5jcmVhdGVfZGlzdCgpCisgICAgICAgIG9zLmNoZGlyKHByb2plY3RfZGlyKQorICAgICAgICBvcy5ta2Rpcignc3BhbScpCisgICAgICAgIGNtZCA9IGluc3RhbGxfbGliKGRpc3QpCisKKyAgICAgICAgIyBzZXR0aW5nIHVwIGEgZGlzdCBlbnZpcm9ubWVudAorICAgICAgICBjbWQuY29tcGlsZSA9IFRydWUKKyAgICAgICAgY21kLm9wdGltaXplID0gMQorICAgICAgICBjbWQuaW5zdGFsbF9kaXIgPSBzZWxmLm1rZHRlbXAoKQorICAgICAgICBmID0gb3MucGF0aC5qb2luKHByb2plY3RfZGlyLCAnc3BhbScsICdfX2luaXRfXy5weScpCisgICAgICAgIHNlbGYud3JpdGVfZmlsZShmLCAnIyBweXRob24gcGFja2FnZScpCisgICAgICAgIGNtZC5kaXN0cmlidXRpb24uZXh0X21vZHVsZXMgPSBbRXh0ZW5zaW9uKCdmb28nLCBbJ3h4eCddKV0KKyAgICAgICAgY21kLmRpc3RyaWJ1dGlvbi5wYWNrYWdlcyA9IFsnc3BhbSddCisKKyAgICAgICAgIyBtYWtlIHN1cmUgdGhlIGJ1aWxkX2xpYiBpcyBzZXQgdGhlIHRlbXAgZGlyICAjIFhYWCB3aGF0PyAgdGhpcyBpcyBub3QKKyAgICAgICAgIyBuZWVkZWQgaW4gdGhlIHNhbWUgZGlzdHV0aWxzIHRlc3QgYW5kIHNob3VsZCB3b3JrIHdpdGhvdXQgbWFudWFsCisgICAgICAgICMgaW50ZXJ2ZW50aW9uCisgICAgICAgIGJ1aWxkX2RpciA9IG9zLnBhdGguc3BsaXQocHJvamVjdF9kaXIpWzBdCisgICAgICAgIGNtZC5nZXRfZmluYWxpemVkX2NvbW1hbmQoJ2J1aWxkX3B5JykuYnVpbGRfbGliID0gYnVpbGRfZGlyCisKKyAgICAgICAgIyBnZXRfb3V0cHV0cyBzaG91bGQgcmV0dXJuIDQgZWxlbWVudHM6IHNwYW0vX19pbml0X18ucHksIC5weWMgYW5kCisgICAgICAgICMgLnB5bywgZm9vLmltcG9ydC10YWctYWJpZmxhZ3Muc28gLyBmb28ucHlkCisgICAgICAgIG91dHB1dHMgPSBjbWQuZ2V0X291dHB1dHMoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihvdXRwdXRzKSwgNCwgb3V0cHV0cykKKworICAgIGRlZiB0ZXN0X2dldF9pbnB1dHMoc2VsZik6CisgICAgICAgIHByb2plY3RfZGlyLCBkaXN0ID0gc2VsZi5jcmVhdGVfZGlzdCgpCisgICAgICAgIG9zLmNoZGlyKHByb2plY3RfZGlyKQorICAgICAgICBvcy5ta2Rpcignc3BhbScpCisgICAgICAgIGNtZCA9IGluc3RhbGxfbGliKGRpc3QpCisKKyAgICAgICAgIyBzZXR0aW5nIHVwIGEgZGlzdCBlbnZpcm9ubWVudAorICAgICAgICBjbWQuY29tcGlsZSA9IFRydWUKKyAgICAgICAgY21kLm9wdGltaXplID0gMQorICAgICAgICBjbWQuaW5zdGFsbF9kaXIgPSBzZWxmLm1rZHRlbXAoKQorICAgICAgICBmID0gb3MucGF0aC5qb2luKHByb2plY3RfZGlyLCAnc3BhbScsICdfX2luaXRfXy5weScpCisgICAgICAgIHNlbGYud3JpdGVfZmlsZShmLCAnIyBweXRob24gcGFja2FnZScpCisgICAgICAgIGNtZC5kaXN0cmlidXRpb24uZXh0X21vZHVsZXMgPSBbRXh0ZW5zaW9uKCdmb28nLCBbJ3h4eCddKV0KKyAgICAgICAgY21kLmRpc3RyaWJ1dGlvbi5wYWNrYWdlcyA9IFsnc3BhbSddCisKKyAgICAgICAgIyBnZXRfaW5wdXRzIHNob3VsZCByZXR1cm4gMiBlbGVtZW50czogc3BhbS9fX2luaXRfXy5weSBhbmQKKyAgICAgICAgIyBmb28uaW1wb3J0LXRhZy1hYmlmbGFncy5zbyAvIGZvby5weWQKKyAgICAgICAgaW5wdXRzID0gY21kLmdldF9pbnB1dHMoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihpbnB1dHMpLCAyLCBpbnB1dHMpCisKKworZGVmIHRlc3Rfc3VpdGUoKToKKyAgICByZXR1cm4gdW5pdHRlc3QubWFrZVN1aXRlKEluc3RhbGxMaWJUZXN0Q2FzZSkKKworaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKKyAgICB1bml0dGVzdC5tYWluKGRlZmF1bHRUZXN0PSJ0ZXN0X3N1aXRlIikKZGlmZiAtLWdpdCBhL0xpYi9wYWNrYWdpbmcvdGVzdHMvdGVzdF9jb21tYW5kX2luc3RhbGxfc2NyaXB0cy5weSBiL0xpYi9wYWNrYWdpbmcvdGVzdHMvdGVzdF9jb21tYW5kX2luc3RhbGxfc2NyaXB0cy5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NDUyYTM0Ci0tLSAvZGV2L251bGwKKysrIGIvTGliL3BhY2thZ2luZy90ZXN0cy90ZXN0X2NvbW1hbmRfaW5zdGFsbF9zY3JpcHRzLnB5CkBAIC0wLDAgKzEsNzUgQEAKKyIiIlRlc3RzIGZvciBwYWNrYWdpbmcuY29tbWFuZC5pbnN0YWxsX3NjcmlwdHMuIiIiCitpbXBvcnQgb3MKKworZnJvbSBwYWNrYWdpbmcudGVzdHMgaW1wb3J0IHVuaXR0ZXN0LCBzdXBwb3J0Citmcm9tIHBhY2thZ2luZy5jb21tYW5kLmluc3RhbGxfc2NyaXB0cyBpbXBvcnQgaW5zdGFsbF9zY3JpcHRzCitmcm9tIHBhY2thZ2luZy5kaXN0IGltcG9ydCBEaXN0cmlidXRpb24KKworCitjbGFzcyBJbnN0YWxsU2NyaXB0c1Rlc3RDYXNlKHN1cHBvcnQuVGVtcGRpck1hbmFnZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1cHBvcnQuTG9nZ2luZ0NhdGNoZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuaXR0ZXN0LlRlc3RDYXNlKToKKworICAgIGRlZiB0ZXN0X2RlZmF1bHRfc2V0dGluZ3Moc2VsZik6CisgICAgICAgIGRpc3QgPSBEaXN0cmlidXRpb24oKQorICAgICAgICBkaXN0LmNvbW1hbmRfb2JqWyJidWlsZCJdID0gc3VwcG9ydC5EdW1teUNvbW1hbmQoCisgICAgICAgICAgICBidWlsZF9zY3JpcHRzPSIvZm9vL2JhciIpCisgICAgICAgIGRpc3QuY29tbWFuZF9vYmpbImluc3RhbGxfZGlzdCJdID0gc3VwcG9ydC5EdW1teUNvbW1hbmQoCisgICAgICAgICAgICBpbnN0YWxsX3NjcmlwdHM9Ii9zcGxhdC9mdW5rIiwKKyAgICAgICAgICAgIGZvcmNlPVRydWUsCisgICAgICAgICAgICBza2lwX2J1aWxkPVRydWUsCisgICAgICAgICAgICApCisgICAgICAgIGNtZCA9IGluc3RhbGxfc2NyaXB0cyhkaXN0KQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGNtZC5mb3JjZSkKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShjbWQuc2tpcF9idWlsZCkKKyAgICAgICAgc2VsZi5hc3NlcnRJcyhjbWQuYnVpbGRfZGlyLCBOb25lKQorICAgICAgICBzZWxmLmFzc2VydElzKGNtZC5pbnN0YWxsX2RpciwgTm9uZSkKKworICAgICAgICBjbWQuZmluYWxpemVfb3B0aW9ucygpCisKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGNtZC5mb3JjZSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGNtZC5za2lwX2J1aWxkKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNtZC5idWlsZF9kaXIsICIvZm9vL2JhciIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY21kLmluc3RhbGxfZGlyLCAiL3NwbGF0L2Z1bmsiKQorCisgICAgZGVmIHRlc3RfaW5zdGFsbGF0aW9uKHNlbGYpOgorICAgICAgICBzb3VyY2UgPSBzZWxmLm1rZHRlbXAoKQorICAgICAgICBleHBlY3RlZCA9IFtdCisKKyAgICAgICAgZGVmIHdyaXRlX3NjcmlwdChuYW1lLCB0ZXh0KToKKyAgICAgICAgICAgIGV4cGVjdGVkLmFwcGVuZChuYW1lKQorICAgICAgICAgICAgd2l0aCBvcGVuKG9zLnBhdGguam9pbihzb3VyY2UsIG5hbWUpLCAidyIpIGFzIGY6CisgICAgICAgICAgICAgICAgZi53cml0ZSh0ZXh0KQorCisgICAgICAgIHdyaXRlX3NjcmlwdCgic2NyaXB0MS5weSIsICgiIyEgL3Vzci9iaW4vZW52IHB5dGhvbjIuM1xuIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiMgYm9ndXMgc2NyaXB0IHcvIFB5dGhvbiBzaC1iYW5nXG4iCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGFzc1xuIikpCisgICAgICAgIHdyaXRlX3NjcmlwdCgic2NyaXB0Mi5weSIsICgiIyEvdXNyL2Jpbi9weXRob25cbiIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIjIGJvZ3VzIHNjcmlwdCB3LyBQeXRob24gc2gtYmFuZ1xuIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhc3NcbiIpKQorICAgICAgICB3cml0ZV9zY3JpcHQoInNoZWxsLnNoIiwgKCIjIS9iaW4vc2hcbiIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiIyBib2d1cyBzaGVsbCBzY3JpcHQgdy8gc2gtYmFuZ1xuIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleGl0IDBcbiIpKQorCisgICAgICAgIHRhcmdldCA9IHNlbGYubWtkdGVtcCgpCisgICAgICAgIGRpc3QgPSBEaXN0cmlidXRpb24oKQorICAgICAgICBkaXN0LmNvbW1hbmRfb2JqWyJidWlsZCJdID0gc3VwcG9ydC5EdW1teUNvbW1hbmQoYnVpbGRfc2NyaXB0cz1zb3VyY2UpCisgICAgICAgIGRpc3QuY29tbWFuZF9vYmpbImluc3RhbGxfZGlzdCJdID0gc3VwcG9ydC5EdW1teUNvbW1hbmQoCisgICAgICAgICAgICBpbnN0YWxsX3NjcmlwdHM9dGFyZ2V0LAorICAgICAgICAgICAgZm9yY2U9VHJ1ZSwKKyAgICAgICAgICAgIHNraXBfYnVpbGQ9VHJ1ZSwKKyAgICAgICAgICAgICkKKyAgICAgICAgY21kID0gaW5zdGFsbF9zY3JpcHRzKGRpc3QpCisgICAgICAgIGNtZC5maW5hbGl6ZV9vcHRpb25zKCkKKyAgICAgICAgY21kLnJ1bigpCisKKyAgICAgICAgaW5zdGFsbGVkID0gb3MubGlzdGRpcih0YXJnZXQpCisgICAgICAgIGZvciBuYW1lIGluIGV4cGVjdGVkOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRJbihuYW1lLCBpbnN0YWxsZWQpCisKKworZGVmIHRlc3Rfc3VpdGUoKToKKyAgICByZXR1cm4gdW5pdHRlc3QubWFrZVN1aXRlKEluc3RhbGxTY3JpcHRzVGVzdENhc2UpCisKK2lmIF9fbmFtZV9fID09ICJfX21haW5fXyI6CisgICAgdW5pdHRlc3QubWFpbihkZWZhdWx0VGVzdD0idGVzdF9zdWl0ZSIpCmRpZmYgLS1naXQgYS9MaWIvcGFja2FnaW5nL3Rlc3RzL3Rlc3RfY29tbWFuZF9yZWdpc3Rlci5weSBiL0xpYi9wYWNrYWdpbmcvdGVzdHMvdGVzdF9jb21tYW5kX3JlZ2lzdGVyLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA3ZmFkODkKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvcGFja2FnaW5nL3Rlc3RzL3Rlc3RfY29tbWFuZF9yZWdpc3Rlci5weQpAQCAtMCwwICsxLDI2MCBAQAorIiIiVGVzdHMgZm9yIHBhY2thZ2luZy5jb21tYW5kLnJlZ2lzdGVyLiIiIgoraW1wb3J0IG9zCitpbXBvcnQgZ2V0cGFzcworaW1wb3J0IHVybGxpYi5yZXF1ZXN0CitpbXBvcnQgdXJsbGliLmVycm9yCitpbXBvcnQgdXJsbGliLnBhcnNlCisKK3RyeToKKyAgICBpbXBvcnQgZG9jdXRpbHMKKyAgICBET0NVVElMU19TVVBQT1JUID0gVHJ1ZQorZXhjZXB0IEltcG9ydEVycm9yOgorICAgIERPQ1VUSUxTX1NVUFBPUlQgPSBGYWxzZQorCitmcm9tIHBhY2thZ2luZy50ZXN0cyBpbXBvcnQgdW5pdHRlc3QsIHN1cHBvcnQKK2Zyb20gcGFja2FnaW5nLnRlc3RzLnN1cHBvcnQgaW1wb3J0IElucHV0cworZnJvbSBwYWNrYWdpbmcuY29tbWFuZCBpbXBvcnQgcmVnaXN0ZXIgYXMgcmVnaXN0ZXJfbW9kdWxlCitmcm9tIHBhY2thZ2luZy5jb21tYW5kLnJlZ2lzdGVyIGltcG9ydCByZWdpc3RlcgorZnJvbSBwYWNrYWdpbmcuZXJyb3JzIGltcG9ydCBQYWNrYWdpbmdTZXR1cEVycm9yCisKKworUFlQSVJDX05PUEFTU1dPUkQgPSAiIiJcCitbZGlzdHV0aWxzXQorCitpbmRleC1zZXJ2ZXJzID0KKyAgICBzZXJ2ZXIxCisKK1tzZXJ2ZXIxXQordXNlcm5hbWU6bWUKKyIiIgorCitXQU5URURfUFlQSVJDID0gIiIiXAorW2Rpc3R1dGlsc10KK2luZGV4LXNlcnZlcnMgPQorICAgIHB5cGkKKworW3B5cGldCit1c2VybmFtZTp0YXJlaworcGFzc3dvcmQ6cGFzc3dvcmQKKyIiIgorCisKK2NsYXNzIEZha2VPcGVuZXI6CisgICAgIiIiRmFrZXMgYSBQeVBJIHNlcnZlciIiIgorICAgIGRlZiBfX2luaXRfXyhzZWxmKToKKyAgICAgICAgc2VsZi5yZXFzID0gW10KKworICAgIGRlZiBfX2NhbGxfXyhzZWxmLCAqYXJncyk6CisgICAgICAgIHJldHVybiBzZWxmCisKKyAgICBkZWYgb3BlbihzZWxmLCByZXEpOgorICAgICAgICBzZWxmLnJlcXMuYXBwZW5kKHJlcSkKKyAgICAgICAgcmV0dXJuIHNlbGYKKworICAgIGRlZiByZWFkKHNlbGYpOgorICAgICAgICByZXR1cm4gJ3h4eCcKKworCitjbGFzcyBSZWdpc3RlclRlc3RDYXNlKHN1cHBvcnQuVGVtcGRpck1hbmFnZXIsCisgICAgICAgICAgICAgICAgICAgICAgIHN1cHBvcnQuRW52aXJvblJlc3RvcmVyLAorICAgICAgICAgICAgICAgICAgICAgICBzdXBwb3J0LkxvZ2dpbmdDYXRjaGVyLAorICAgICAgICAgICAgICAgICAgICAgICB1bml0dGVzdC5UZXN0Q2FzZSk6CisKKyAgICByZXN0b3JlX2Vudmlyb24gPSBbJ0hPTUUnXQorCisgICAgZGVmIHNldFVwKHNlbGYpOgorICAgICAgICBzdXBlcihSZWdpc3RlclRlc3RDYXNlLCBzZWxmKS5zZXRVcCgpCisgICAgICAgIHNlbGYudG1wX2RpciA9IHNlbGYubWtkdGVtcCgpCisgICAgICAgIHNlbGYucmMgPSBvcy5wYXRoLmpvaW4oc2VsZi50bXBfZGlyLCAnLnB5cGlyYycpCisgICAgICAgIG9zLmVudmlyb25bJ0hPTUUnXSA9IHNlbGYudG1wX2RpcgorCisgICAgICAgICMgcGF0Y2hpbmcgdGhlIHBhc3N3b3JkIHByb21wdAorICAgICAgICBzZWxmLl9vbGRfZ2V0cGFzcyA9IGdldHBhc3MuZ2V0cGFzcworCisgICAgICAgIGRlZiBfZ2V0cGFzcyhwcm9tcHQpOgorICAgICAgICAgICAgcmV0dXJuICdwYXNzd29yZCcKKworICAgICAgICBnZXRwYXNzLmdldHBhc3MgPSBfZ2V0cGFzcworICAgICAgICBzZWxmLm9sZF9vcGVuZXIgPSB1cmxsaWIucmVxdWVzdC5idWlsZF9vcGVuZXIKKyAgICAgICAgc2VsZi5jb25uID0gdXJsbGliLnJlcXVlc3QuYnVpbGRfb3BlbmVyID0gRmFrZU9wZW5lcigpCisKKyAgICBkZWYgdGVhckRvd24oc2VsZik6CisgICAgICAgIGdldHBhc3MuZ2V0cGFzcyA9IHNlbGYuX29sZF9nZXRwYXNzCisgICAgICAgIHVybGxpYi5yZXF1ZXN0LmJ1aWxkX29wZW5lciA9IHNlbGYub2xkX29wZW5lcgorICAgICAgICBpZiBoYXNhdHRyKHJlZ2lzdGVyX21vZHVsZSwgJ2lucHV0Jyk6CisgICAgICAgICAgICBkZWwgcmVnaXN0ZXJfbW9kdWxlLmlucHV0CisgICAgICAgIHN1cGVyKFJlZ2lzdGVyVGVzdENhc2UsIHNlbGYpLnRlYXJEb3duKCkKKworICAgIGRlZiBfZ2V0X2NtZChzZWxmLCBtZXRhZGF0YT1Ob25lKToKKyAgICAgICAgaWYgbWV0YWRhdGEgaXMgTm9uZToKKyAgICAgICAgICAgIG1ldGFkYXRhID0geydob21lX3BhZ2UnOiAneHh4JywgJ2F1dGhvcic6ICd4eHgnLAorICAgICAgICAgICAgICAgICAgICAgICAgJ2F1dGhvcl9lbWFpbCc6ICd4eHgnLAorICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnOiAneHh4JywgJ3ZlcnNpb24nOiAneHh4J30KKyAgICAgICAgcGtnX2luZm8sIGRpc3QgPSBzZWxmLmNyZWF0ZV9kaXN0KCoqbWV0YWRhdGEpCisgICAgICAgIHJldHVybiByZWdpc3RlcihkaXN0KQorCisgICAgZGVmIHRlc3RfY3JlYXRlX3B5cGlyYyhzZWxmKToKKyAgICAgICAgIyB0aGlzIHRlc3QgbWFrZXMgc3VyZSBhIC5weXBpcmMgZmlsZQorICAgICAgICAjIGlzIGNyZWF0ZWQgd2hlbiByZXF1ZXN0ZWQuCisKKyAgICAgICAgIyBsZXQncyBjcmVhdGUgYSByZWdpc3RlciBpbnN0YW5jZQorICAgICAgICBjbWQgPSBzZWxmLl9nZXRfY21kKCkKKworICAgICAgICAjIHdlIHNob3VsZG4ndCBoYXZlIGEgLnB5cGlyYyBmaWxlIHlldAorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKG9zLnBhdGguZXhpc3RzKHNlbGYucmMpKQorCisgICAgICAgICMgcGF0Y2hpbmcgaW5wdXQgYW5kIGdldHBhc3MuZ2V0cGFzcworICAgICAgICAjIHNvIHJlZ2lzdGVyIGdldHMgaGFwcHkKKyAgICAgICAgIyBIZXJlJ3Mgd2hhdCB3ZSBhcmUgZmFraW5nIDoKKyAgICAgICAgIyB1c2UgeW91ciBleGlzdGluZyBsb2dpbiAoY2hvaWNlIDEuKQorICAgICAgICAjIFVzZXJuYW1lIDogJ3RhcmVrJworICAgICAgICAjIFBhc3N3b3JkIDogJ3Bhc3N3b3JkJworICAgICAgICAjIFNhdmUgeW91ciBsb2dpbiAoeS9OKT8gOiAneScKKyAgICAgICAgaW5wdXRzID0gSW5wdXRzKCcxJywgJ3RhcmVrJywgJ3knKQorICAgICAgICByZWdpc3Rlcl9tb2R1bGUuaW5wdXQgPSBpbnB1dHMKKyAgICAgICAgY21kLmVuc3VyZV9maW5hbGl6ZWQoKQorICAgICAgICBjbWQucnVuKCkKKworICAgICAgICAjIHdlIHNob3VsZCBoYXZlIGEgYnJhbmQgbmV3IC5weXBpcmMgZmlsZQorICAgICAgICBzZWxmLmFzc2VydFRydWUob3MucGF0aC5leGlzdHMoc2VsZi5yYykpCisKKyAgICAgICAgIyB3aXRoIHRoZSBjb250ZW50IHNpbWlsYXIgdG8gV0FOVEVEX1BZUElSQworICAgICAgICB3aXRoIG9wZW4oc2VsZi5yYykgYXMgZnA6CisgICAgICAgICAgICBjb250ZW50ID0gZnAucmVhZCgpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY29udGVudCwgV0FOVEVEX1BZUElSQykKKworICAgICAgICAjIG5vdyBsZXQncyBtYWtlIHN1cmUgdGhlIC5weXBpcmMgZmlsZSBnZW5lcmF0ZWQKKyAgICAgICAgIyByZWFsbHkgd29ya3MgOiB3ZSBzaG91bGRuJ3QgYmUgYXNrZWQgYW55dGhpbmcKKyAgICAgICAgIyBpZiB3ZSBydW4gdGhlIGNvbW1hbmQgYWdhaW4KKyAgICAgICAgZGVmIF9ub193YXkocHJvbXB0PScnKToKKyAgICAgICAgICAgIHJhaXNlIEFzc2VydGlvbkVycm9yKHByb21wdCkKKworICAgICAgICByZWdpc3Rlcl9tb2R1bGUuaW5wdXQgPSBfbm9fd2F5CisgICAgICAgIGNtZC5zaG93X3Jlc3BvbnNlID0gVHJ1ZQorICAgICAgICBjbWQuZmluYWxpemVkID0gRmFsc2UKKyAgICAgICAgY21kLmVuc3VyZV9maW5hbGl6ZWQoKQorICAgICAgICBjbWQucnVuKCkKKworICAgICAgICAjIGxldCdzIHNlZSB3aGF0IHRoZSBzZXJ2ZXIgcmVjZWl2ZWQgOiB3ZSBzaG91bGQKKyAgICAgICAgIyBoYXZlIDIgc2ltaWxhciByZXF1ZXN0cworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihzZWxmLmNvbm4ucmVxcyksIDIpCisgICAgICAgIHJlcTEgPSBkaWN0KHNlbGYuY29ubi5yZXFzWzBdLmhlYWRlcnMpCisgICAgICAgIHJlcTIgPSBkaWN0KHNlbGYuY29ubi5yZXFzWzFdLmhlYWRlcnMpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVxMlsnQ29udGVudC1sZW5ndGgnXSwgcmVxMVsnQ29udGVudC1sZW5ndGgnXSkKKyAgICAgICAgc2VsZi5hc3NlcnRJbihiJ3h4eCcsIHNlbGYuY29ubi5yZXFzWzFdLmRhdGEpCisKKyAgICBkZWYgdGVzdF9wYXNzd29yZF9ub3RfaW5fZmlsZShzZWxmKToKKworICAgICAgICBzZWxmLndyaXRlX2ZpbGUoc2VsZi5yYywgUFlQSVJDX05PUEFTU1dPUkQpCisgICAgICAgIGNtZCA9IHNlbGYuX2dldF9jbWQoKQorICAgICAgICBjbWQuZmluYWxpemVfb3B0aW9ucygpCisgICAgICAgIGNtZC5fc2V0X2NvbmZpZygpCisgICAgICAgIGNtZC5zZW5kX21ldGFkYXRhKCkKKworICAgICAgICAjIGRpc3QucGFzc3dvcmQgc2hvdWxkIGJlIHNldAorICAgICAgICAjIHRoZXJlZm9yZSB1c2VkIGFmdGVyd2FyZHMgYnkgb3RoZXIgY29tbWFuZHMKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbWQuZGlzdHJpYnV0aW9uLnBhc3N3b3JkLCAncGFzc3dvcmQnKQorCisgICAgZGVmIHRlc3RfcmVnaXN0cmF0aW9uKHNlbGYpOgorICAgICAgICAjIHRoaXMgdGVzdCBydW5zIGNob2ljZSAyCisgICAgICAgIGNtZCA9IHNlbGYuX2dldF9jbWQoKQorICAgICAgICBpbnB1dHMgPSBJbnB1dHMoJzInLCAndGFyZWsnLCAndGFyZWtAemlhZGUub3JnJykKKyAgICAgICAgcmVnaXN0ZXJfbW9kdWxlLmlucHV0ID0gaW5wdXRzCisgICAgICAgICMgbGV0J3MgcnVuIHRoZSBjb21tYW5kCisgICAgICAgICMgRklYTUUgZG9lcyB0aGlzIHNlbmQgYSByZWFsIHJlcXVlc3Q/IHVzZSBhIG1vY2sgc2VydmVyCisgICAgICAgIGNtZC5lbnN1cmVfZmluYWxpemVkKCkKKyAgICAgICAgY21kLnJ1bigpCisKKyAgICAgICAgIyB3ZSBzaG91bGQgaGF2ZSBzZW5kIGEgcmVxdWVzdAorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihzZWxmLmNvbm4ucmVxcyksIDEpCisgICAgICAgIHJlcSA9IHNlbGYuY29ubi5yZXFzWzBdCisgICAgICAgIGhlYWRlcnMgPSBkaWN0KHJlcS5oZWFkZXJzKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGhlYWRlcnNbJ0NvbnRlbnQtbGVuZ3RoJ10sICc2MjgnKQorICAgICAgICBzZWxmLmFzc2VydEluKGIndGFyZWsnLCByZXEuZGF0YSkKKworICAgIGRlZiB0ZXN0X3Bhc3N3b3JkX3Jlc2V0KHNlbGYpOgorICAgICAgICAjIHRoaXMgdGVzdCBydW5zIGNob2ljZSAzCisgICAgICAgIGNtZCA9IHNlbGYuX2dldF9jbWQoKQorICAgICAgICBpbnB1dHMgPSBJbnB1dHMoJzMnLCAndGFyZWtAemlhZGUub3JnJykKKyAgICAgICAgcmVnaXN0ZXJfbW9kdWxlLmlucHV0ID0gaW5wdXRzCisgICAgICAgIGNtZC5lbnN1cmVfZmluYWxpemVkKCkKKyAgICAgICAgY21kLnJ1bigpCisKKyAgICAgICAgIyB3ZSBzaG91bGQgaGF2ZSBzZW5kIGEgcmVxdWVzdAorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihzZWxmLmNvbm4ucmVxcyksIDEpCisgICAgICAgIHJlcSA9IHNlbGYuY29ubi5yZXFzWzBdCisgICAgICAgIGhlYWRlcnMgPSBkaWN0KHJlcS5oZWFkZXJzKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGhlYWRlcnNbJ0NvbnRlbnQtbGVuZ3RoJ10sICcyOTgnKQorICAgICAgICBzZWxmLmFzc2VydEluKGIndGFyZWsnLCByZXEuZGF0YSkKKworICAgIEB1bml0dGVzdC5za2lwVW5sZXNzKERPQ1VUSUxTX1NVUFBPUlQsICduZWVkcyBkb2N1dGlscycpCisgICAgZGVmIHRlc3Rfc3RyaWN0KHNlbGYpOgorICAgICAgICAjIHRlc3RpbmcgdGhlIHN0cmljdCBvcHRpb246IHdoZW4gb24sIHRoZSByZWdpc3RlciBjb21tYW5kIHN0b3BzIGlmIHRoZQorICAgICAgICAjIG1ldGFkYXRhIGlzIGluY29tcGxldGUgb3IgaWYgZGVzY3JpcHRpb24gY29udGFpbnMgYmFkIHJlU1QKKworICAgICAgICAjIGVtcHR5IG1ldGFkYXRhICAjIFhYWCB0aGlzIGlzIG5vdCByZWFsbHkgZW1wdHkuLgorICAgICAgICBjbWQgPSBzZWxmLl9nZXRfY21kKHsnbmFtZSc6ICd4eHgnLCAndmVyc2lvbic6ICd4eHgnfSkKKyAgICAgICAgY21kLmVuc3VyZV9maW5hbGl6ZWQoKQorICAgICAgICBjbWQuc3RyaWN0ID0gVHJ1ZQorICAgICAgICBpbnB1dHMgPSBJbnB1dHMoJzEnLCAndGFyZWsnLCAneScpCisgICAgICAgIHJlZ2lzdGVyX21vZHVsZS5pbnB1dCA9IGlucHV0cworICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhQYWNrYWdpbmdTZXR1cEVycm9yLCBjbWQucnVuKQorCisgICAgICAgICMgbWV0YWRhdGEgaXMgT0sgYnV0IGRlc2NyaXB0aW9uIGlzIGJyb2tlbgorICAgICAgICBtZXRhZGF0YSA9IHsnaG9tZV9wYWdlJzogJ3h4eCcsICdhdXRob3InOiAneHh4JywKKyAgICAgICAgICAgICAgICAgICAgJ2F1dGhvcl9lbWFpbCc6ICfDqXjDqXjDqScsCisgICAgICAgICAgICAgICAgICAgICduYW1lJzogJ3h4eCcsICd2ZXJzaW9uJzogJzQuMicsCisgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbic6ICd0aXRsZVxuPT1cblxudGV4dCd9CisKKyAgICAgICAgY21kID0gc2VsZi5fZ2V0X2NtZChtZXRhZGF0YSkKKyAgICAgICAgY21kLmVuc3VyZV9maW5hbGl6ZWQoKQorICAgICAgICBjbWQuc3RyaWN0ID0gVHJ1ZQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhQYWNrYWdpbmdTZXR1cEVycm9yLCBjbWQucnVuKQorCisgICAgICAgICMgbm93IHNvbWV0aGluZyB0aGF0IHdvcmtzCisgICAgICAgIG1ldGFkYXRhWydkZXNjcmlwdGlvbiddID0gJ3RpdGxlXG49PT09PVxuXG50ZXh0JworICAgICAgICBjbWQgPSBzZWxmLl9nZXRfY21kKG1ldGFkYXRhKQorICAgICAgICBjbWQuZW5zdXJlX2ZpbmFsaXplZCgpCisgICAgICAgIGNtZC5zdHJpY3QgPSBUcnVlCisgICAgICAgIGlucHV0cyA9IElucHV0cygnMScsICd0YXJlaycsICd5JykKKyAgICAgICAgcmVnaXN0ZXJfbW9kdWxlLmlucHV0ID0gaW5wdXRzCisgICAgICAgIGNtZC5lbnN1cmVfZmluYWxpemVkKCkKKyAgICAgICAgY21kLnJ1bigpCisKKyAgICAgICAgIyBzdHJpY3QgaXMgbm90IGJ5IGRlZmF1bHQKKyAgICAgICAgY21kID0gc2VsZi5fZ2V0X2NtZCgpCisgICAgICAgIGNtZC5lbnN1cmVfZmluYWxpemVkKCkKKyAgICAgICAgaW5wdXRzID0gSW5wdXRzKCcxJywgJ3RhcmVrJywgJ3knKQorICAgICAgICByZWdpc3Rlcl9tb2R1bGUuaW5wdXQgPSBpbnB1dHMKKyAgICAgICAgY21kLmVuc3VyZV9maW5hbGl6ZWQoKQorICAgICAgICBjbWQucnVuKCkKKworICAgICAgICAjIGFuZCBmaW5hbGx5IGEgVW5pY29kZSB0ZXN0IChidWcgIzEyMTE0KQorICAgICAgICBtZXRhZGF0YSA9IHsnaG9tZV9wYWdlJzogJ3h4eCcsICdhdXRob3InOiAnXHUwMGM5cmljJywKKyAgICAgICAgICAgICAgICAgICAgJ2F1dGhvcl9lbWFpbCc6ICd4eHgnLCAnbmFtZSc6ICd4eHgnLAorICAgICAgICAgICAgICAgICAgICAndmVyc2lvbic6ICd4eHgnLAorICAgICAgICAgICAgICAgICAgICAnc3VtbWFyeSc6ICdTb21ldGhpbmcgYWJvdXQgZXNzemV0IFx1MDBkZicsCisgICAgICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbic6ICdNb3JlIHRoaW5ncyBhYm91dCBlc3N6ZXQgXHUwMGRmJ30KKworICAgICAgICBjbWQgPSBzZWxmLl9nZXRfY21kKG1ldGFkYXRhKQorICAgICAgICBjbWQuZW5zdXJlX2ZpbmFsaXplZCgpCisgICAgICAgIGNtZC5zdHJpY3QgPSBUcnVlCisgICAgICAgIGlucHV0cyA9IElucHV0cygnMScsICd0YXJlaycsICd5JykKKyAgICAgICAgcmVnaXN0ZXJfbW9kdWxlLmlucHV0ID0gaW5wdXRzCisgICAgICAgIGNtZC5lbnN1cmVfZmluYWxpemVkKCkKKyAgICAgICAgY21kLnJ1bigpCisKKyAgICBkZWYgdGVzdF9yZWdpc3Rlcl9wZXAzNDUoc2VsZik6CisgICAgICAgIGNtZCA9IHNlbGYuX2dldF9jbWQoe30pCisgICAgICAgIGNtZC5lbnN1cmVfZmluYWxpemVkKCkKKyAgICAgICAgY21kLmRpc3RyaWJ1dGlvbi5tZXRhZGF0YVsnUmVxdWlyZXMtRGlzdCddID0gWydseG1sJ10KKyAgICAgICAgZGF0YSA9IGNtZC5idWlsZF9wb3N0X2RhdGEoJ3N1Ym1pdCcpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGF0YVsnbWV0YWRhdGFfdmVyc2lvbiddLCAnMS4yJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkYXRhWydyZXF1aXJlc19kaXN0J10sIFsnbHhtbCddKQorCisKK2RlZiB0ZXN0X3N1aXRlKCk6CisgICAgcmV0dXJuIHVuaXR0ZXN0Lm1ha2VTdWl0ZShSZWdpc3RlclRlc3RDYXNlKQorCitpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgorICAgIHVuaXR0ZXN0Lm1haW4oZGVmYXVsdFRlc3Q9InRlc3Rfc3VpdGUiKQpkaWZmIC0tZ2l0IGEvTGliL3BhY2thZ2luZy90ZXN0cy90ZXN0X2NvbW1hbmRfc2Rpc3QucHkgYi9MaWIvcGFja2FnaW5nL3Rlc3RzL3Rlc3RfY29tbWFuZF9zZGlzdC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kOTc0NzE4Ci0tLSAvZGV2L251bGwKKysrIGIvTGliL3BhY2thZ2luZy90ZXN0cy90ZXN0X2NvbW1hbmRfc2Rpc3QucHkKQEAgLTAsMCArMSwzOTQgQEAKKyIiIlRlc3RzIGZvciBwYWNrYWdpbmcuY29tbWFuZC5zZGlzdC4iIiIKK2ltcG9ydCBvcworaW1wb3J0IHRhcmZpbGUKK2ltcG9ydCB6aXBmaWxlCisKK3RyeToKKyAgICBpbXBvcnQgZ3JwCisgICAgaW1wb3J0IHB3ZAorICAgIFVJRF9HSURfU1VQUE9SVCA9IFRydWUKK2V4Y2VwdCBJbXBvcnRFcnJvcjoKKyAgICBVSURfR0lEX1NVUFBPUlQgPSBGYWxzZQorCitmcm9tIHNodXRpbCBpbXBvcnQgZ2V0X2FyY2hpdmVfZm9ybWF0cworZnJvbSBvcy5wYXRoIGltcG9ydCBqb2luCitmcm9tIHBhY2thZ2luZy5kaXN0IGltcG9ydCBEaXN0cmlidXRpb24KK2Zyb20gcGFja2FnaW5nLnV0aWwgaW1wb3J0IGZpbmRfZXhlY3V0YWJsZQorZnJvbSBwYWNrYWdpbmcuZXJyb3JzIGltcG9ydCBQYWNrYWdpbmdPcHRpb25FcnJvcgorZnJvbSBwYWNrYWdpbmcuY29tbWFuZC5zZGlzdCBpbXBvcnQgc2Rpc3QsIHNob3dfZm9ybWF0cworCitmcm9tIHRlc3Quc3VwcG9ydCBpbXBvcnQgY2FwdHVyZWRfc3Rkb3V0Citmcm9tIHBhY2thZ2luZy50ZXN0cyBpbXBvcnQgc3VwcG9ydCwgdW5pdHRlc3QKK2Zyb20gcGFja2FnaW5nLnRlc3RzLnN1cHBvcnQgaW1wb3J0IHJlcXVpcmVzX3psaWIKKworCitNQU5JRkVTVCA9ICIiIlwKKyMgZmlsZSBHRU5FUkFURUQgYnkgcGFja2FnaW5nLCBkbyBOT1QgZWRpdAoraW5yb290LnR4dAorc2V0dXAuY2ZnCitkYXRhJShzZXApc2RhdGEuZHQKK3NjcmlwdHMlKHNlcClzc2NyaXB0LnB5Citzb21lJShzZXApc2ZpbGUudHh0Citzb21lJShzZXApc290aGVyX2ZpbGUudHh0Citzb21lY29kZSUoc2VwKXNfX2luaXRfXy5weQorc29tZWNvZGUlKHNlcClzZG9jLmRhdAorc29tZWNvZGUlKHNlcClzZG9jLnR4dAorIiIiCisKKworZGVmIGJ1aWxkZXIoZGlzdCwgZmlsZWxpc3QpOgorICAgIGZpbGVsaXN0LmFwcGVuZCgnYmFoJykKKworCitjbGFzcyBTRGlzdFRlc3RDYXNlKHN1cHBvcnQuVGVtcGRpck1hbmFnZXIsCisgICAgICAgICAgICAgICAgICAgIHN1cHBvcnQuTG9nZ2luZ0NhdGNoZXIsCisgICAgICAgICAgICAgICAgICAgIHN1cHBvcnQuRW52aXJvblJlc3RvcmVyLAorICAgICAgICAgICAgICAgICAgICB1bml0dGVzdC5UZXN0Q2FzZSk6CisKKyAgICByZXN0b3JlX2Vudmlyb24gPSBbJ0hPTUUnXQorCisgICAgZGVmIHNldFVwKHNlbGYpOgorICAgICAgICBzdXBlcihTRGlzdFRlc3RDYXNlLCBzZWxmKS5zZXRVcCgpCisgICAgICAgIHNlbGYudG1wX2RpciA9IHNlbGYubWtkdGVtcCgpCisgICAgICAgIG9zLmVudmlyb25bJ0hPTUUnXSA9IHNlbGYudG1wX2RpcgorICAgICAgICAjIHNldHRpbmcgdXAgYW4gZW52aXJvbm1lbnQKKyAgICAgICAgc2VsZi5vbGRfcGF0aCA9IG9zLmdldGN3ZCgpCisgICAgICAgIG9zLm1rZGlyKGpvaW4oc2VsZi50bXBfZGlyLCAnc29tZWNvZGUnKSkKKyAgICAgICAgb3MubWtkaXIoam9pbihzZWxmLnRtcF9kaXIsICdkaXN0JykpCisgICAgICAgICMgYSBwYWNrYWdlLCBhbmQgYSBSRUFETUUKKyAgICAgICAgc2VsZi53cml0ZV9maWxlKChzZWxmLnRtcF9kaXIsICdSRUFETUUnKSwgJ3h4eCcpCisgICAgICAgIHNlbGYud3JpdGVfZmlsZSgoc2VsZi50bXBfZGlyLCAnc29tZWNvZGUnLCAnX19pbml0X18ucHknKSwgJyMnKQorICAgICAgICBvcy5jaGRpcihzZWxmLnRtcF9kaXIpCisKKyAgICBkZWYgdGVhckRvd24oc2VsZik6CisgICAgICAgICMgYmFjayB0byBub3JtYWwKKyAgICAgICAgb3MuY2hkaXIoc2VsZi5vbGRfcGF0aCkKKyAgICAgICAgc3VwZXIoU0Rpc3RUZXN0Q2FzZSwgc2VsZikudGVhckRvd24oKQorCisgICAgZGVmIGdldF9jbWQoc2VsZiwgbWV0YWRhdGE9Tm9uZSk6CisgICAgICAgICIiIlJldHVybnMgYSBjbWQiIiIKKyAgICAgICAgaWYgbWV0YWRhdGEgaXMgTm9uZToKKyAgICAgICAgICAgIG1ldGFkYXRhID0geyduYW1lJzogJ2Zha2UnLCAndmVyc2lvbic6ICcxLjAnLAorICAgICAgICAgICAgICAgICAgICAgICAgJ2hvbWVfcGFnZSc6ICd4eHgnLCAnYXV0aG9yJzogJ3h4eCcsCisgICAgICAgICAgICAgICAgICAgICAgICAnYXV0aG9yX2VtYWlsJzogJ3h4eCd9CisgICAgICAgIGRpc3QgPSBEaXN0cmlidXRpb24obWV0YWRhdGEpCisgICAgICAgIGRpc3QucGFja2FnZXMgPSBbJ3NvbWVjb2RlJ10KKyAgICAgICAgY21kID0gc2Rpc3QoZGlzdCkKKyAgICAgICAgY21kLmRpc3RfZGlyID0gJ2Rpc3QnCisgICAgICAgIHJldHVybiBkaXN0LCBjbWQKKworICAgIEByZXF1aXJlc196bGliCisgICAgZGVmIHRlc3RfcHJ1bmVfZmlsZV9saXN0KHNlbGYpOgorICAgICAgICAjIHRoaXMgdGVzdCBjcmVhdGVzIGEgcGFja2FnZSB3aXRoIHNvbWUgdmNzIGRpcnMgaW4gaXQKKyAgICAgICAgIyBhbmQgbGF1bmNoIHNkaXN0IHRvIG1ha2Ugc3VyZSB0aGV5IGdldCBwcnVuZWQKKyAgICAgICAgIyBvbiBhbGwgc3lzdGVtcworCisgICAgICAgICMgY3JlYXRpbmcgVkNTIGRpcmVjdG9yaWVzIHdpdGggc29tZSBmaWxlcyBpbiB0aGVtCisgICAgICAgIG9zLm1rZGlyKGpvaW4oc2VsZi50bXBfZGlyLCAnc29tZWNvZGUnLCAnLnN2bicpKQorICAgICAgICBzZWxmLndyaXRlX2ZpbGUoKHNlbGYudG1wX2RpciwgJ3NvbWVjb2RlJywgJy5zdm4nLCAnb2sucHknKSwgJ3h4eCcpCisKKyAgICAgICAgb3MubWtkaXIoam9pbihzZWxmLnRtcF9kaXIsICdzb21lY29kZScsICcuaGcnKSkKKyAgICAgICAgc2VsZi53cml0ZV9maWxlKChzZWxmLnRtcF9kaXIsICdzb21lY29kZScsICcuaGcnLAorICAgICAgICAgICAgICAgICAgICAgICAgICdvaycpLCAneHh4JykKKworICAgICAgICBvcy5ta2Rpcihqb2luKHNlbGYudG1wX2RpciwgJ3NvbWVjb2RlJywgJy5naXQnKSkKKyAgICAgICAgc2VsZi53cml0ZV9maWxlKChzZWxmLnRtcF9kaXIsICdzb21lY29kZScsICcuZ2l0JywKKyAgICAgICAgICAgICAgICAgICAgICAgICAnb2snKSwgJ3h4eCcpCisKKyAgICAgICAgIyBub3cgYnVpbGRpbmcgYSBzZGlzdAorICAgICAgICBkaXN0LCBjbWQgPSBzZWxmLmdldF9jbWQoKQorCisgICAgICAgICMgemlwIGlzIGF2YWlsYWJsZSB1bml2ZXJzYWxseQorICAgICAgICAjICh0YXIgbWlnaHQgbm90IGJlIGluc3RhbGxlZCB1bmRlciB3aW4zMikKKyAgICAgICAgY21kLmZvcm1hdHMgPSBbJ3ppcCddCisKKyAgICAgICAgY21kLmVuc3VyZV9maW5hbGl6ZWQoKQorICAgICAgICBjbWQucnVuKCkKKworICAgICAgICAjIG5vdyBsZXQncyBjaGVjayB3aGF0IHdlIGhhdmUKKyAgICAgICAgZGlzdF9mb2xkZXIgPSBqb2luKHNlbGYudG1wX2RpciwgJ2Rpc3QnKQorICAgICAgICBmaWxlcyA9IG9zLmxpc3RkaXIoZGlzdF9mb2xkZXIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZmlsZXMsIFsnZmFrZS0xLjAuemlwJ10pCisKKyAgICAgICAgd2l0aCB6aXBmaWxlLlppcEZpbGUoam9pbihkaXN0X2ZvbGRlciwgJ2Zha2UtMS4wLnppcCcpKSBhcyB6aXBfZmlsZToKKyAgICAgICAgICAgIGNvbnRlbnQgPSB6aXBfZmlsZS5uYW1lbGlzdCgpCisKKyAgICAgICAgIyBtYWtpbmcgc3VyZSBldmVyeXRoaW5nIGhhcyBiZWVuIHBydW5lZCBjb3JyZWN0bHkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oY29udGVudCksIDIpCisKKyAgICBAcmVxdWlyZXNfemxpYgorICAgIEB1bml0dGVzdC5za2lwSWYoZmluZF9leGVjdXRhYmxlKCd0YXInKSBpcyBOb25lIG9yCisgICAgICAgICAgICAgICAgICAgICBmaW5kX2V4ZWN1dGFibGUoJ2d6aXAnKSBpcyBOb25lLAorICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVzIHRhciBhbmQgZ3ppcCBwcm9ncmFtcycpCisgICAgZGVmIHRlc3RfbWFrZV9kaXN0cmlidXRpb24oc2VsZik6CisgICAgICAgICMgYnVpbGRpbmcgYSBzZGlzdAorICAgICAgICBkaXN0LCBjbWQgPSBzZWxmLmdldF9jbWQoKQorCisgICAgICAgICMgY3JlYXRpbmcgYSBnenRhciB0aGVuIGEgdGFyCisgICAgICAgIGNtZC5mb3JtYXRzID0gWydnenRhcicsICd0YXInXQorICAgICAgICBjbWQuZW5zdXJlX2ZpbmFsaXplZCgpCisgICAgICAgIGNtZC5ydW4oKQorCisgICAgICAgICMgbWFraW5nIHN1cmUgd2UgaGF2ZSB0d28gZmlsZXMKKyAgICAgICAgZGlzdF9mb2xkZXIgPSBqb2luKHNlbGYudG1wX2RpciwgJ2Rpc3QnKQorICAgICAgICByZXN1bHQgPSBzb3J0ZWQob3MubGlzdGRpcihkaXN0X2ZvbGRlcikpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzdWx0LCBbJ2Zha2UtMS4wLnRhcicsICdmYWtlLTEuMC50YXIuZ3onXSkKKworICAgICAgICBvcy5yZW1vdmUoam9pbihkaXN0X2ZvbGRlciwgJ2Zha2UtMS4wLnRhcicpKQorICAgICAgICBvcy5yZW1vdmUoam9pbihkaXN0X2ZvbGRlciwgJ2Zha2UtMS4wLnRhci5neicpKQorCisgICAgICAgICMgbm93IHRyeWluZyBhIHRhciB0aGVuIGEgZ3p0YXIKKyAgICAgICAgY21kLmZvcm1hdHMgPSBbJ3RhcicsICdnenRhciddCisgICAgICAgIGNtZC5maW5hbGl6ZWQgPSBGYWxzZQorICAgICAgICBjbWQuZW5zdXJlX2ZpbmFsaXplZCgpCisgICAgICAgIGNtZC5ydW4oKQorCisgICAgICAgIHJlc3VsdCA9IHNvcnRlZChvcy5saXN0ZGlyKGRpc3RfZm9sZGVyKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXN1bHQsIFsnZmFrZS0xLjAudGFyJywgJ2Zha2UtMS4wLnRhci5neiddKQorCisgICAgQHJlcXVpcmVzX3psaWIKKyAgICBkZWYgdGVzdF9hZGRfZGVmYXVsdHMoc2VsZik6CisKKyAgICAgICAgIyBodHRwOi8vYnVncy5weXRob24ub3JnL2lzc3VlMjI3OQorCisgICAgICAgICMgYWRkX2RlZmF1bHQgc2hvdWxkIGFsc28gaW5jbHVkZQorICAgICAgICAjIGRhdGFfZmlsZXMgYW5kIHBhY2thZ2VfZGF0YQorICAgICAgICBkaXN0LCBjbWQgPSBzZWxmLmdldF9jbWQoKQorCisgICAgICAgICMgZmlsbGluZyBkYXRhX2ZpbGVzIGJ5IHBvaW50aW5nIGZpbGVzCisgICAgICAgICMgaW4gcGFja2FnZV9kYXRhCisgICAgICAgIGRpc3QucGFja2FnZV9kYXRhID0geycnOiBbJyouY2ZnJywgJyouZGF0J10sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzb21lY29kZSc6IFsnKi50eHQnXX0KKyAgICAgICAgc2VsZi53cml0ZV9maWxlKChzZWxmLnRtcF9kaXIsICdzZXR1cC5jZmcnKSwgJyMnKQorICAgICAgICBzZWxmLndyaXRlX2ZpbGUoKHNlbGYudG1wX2RpciwgJ3NvbWVjb2RlJywgJ2RvYy50eHQnKSwgJyMnKQorICAgICAgICBzZWxmLndyaXRlX2ZpbGUoKHNlbGYudG1wX2RpciwgJ3NvbWVjb2RlJywgJ2RvYy5kYXQnKSwgJyMnKQorCisgICAgICAgICMgYWRkaW5nIHNvbWUgZGF0YSBpbiBkYXRhX2ZpbGVzCisgICAgICAgIGRhdGFfZGlyID0gam9pbihzZWxmLnRtcF9kaXIsICdkYXRhJykKKyAgICAgICAgb3MubWtkaXIoZGF0YV9kaXIpCisgICAgICAgIHNlbGYud3JpdGVfZmlsZSgoZGF0YV9kaXIsICdkYXRhLmR0JyksICcjJykKKyAgICAgICAgc29tZV9kaXIgPSBqb2luKHNlbGYudG1wX2RpciwgJ3NvbWUnKQorICAgICAgICBvcy5ta2Rpcihzb21lX2RpcikKKyAgICAgICAgc2VsZi53cml0ZV9maWxlKChzZWxmLnRtcF9kaXIsICdpbnJvb3QudHh0JyksICcjJykKKyAgICAgICAgc2VsZi53cml0ZV9maWxlKChzb21lX2RpciwgJ2ZpbGUudHh0JyksICcjJykKKyAgICAgICAgc2VsZi53cml0ZV9maWxlKChzb21lX2RpciwgJ290aGVyX2ZpbGUudHh0JyksICcjJykKKworICAgICAgICBkaXN0LmRhdGFfZmlsZXMgPSB7J2RhdGEvZGF0YS5kdCc6ICd7YXBwZGF0YX0vZGF0YS5kdCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAnaW5yb290LnR4dCc6ICd7YXBwZGF0YX0vaW5yb290LnR4dCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAnc29tZS9maWxlLnR4dCc6ICd7YXBwZGF0YX0vZmlsZS50eHQnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NvbWUvb3RoZXJfZmlsZS50eHQnOiAne2FwcGRhdGF9L290aGVyX2ZpbGUudHh0J30KKworICAgICAgICAjIGFkZGluZyBhIHNjcmlwdAorICAgICAgICBzY3JpcHRfZGlyID0gam9pbihzZWxmLnRtcF9kaXIsICdzY3JpcHRzJykKKyAgICAgICAgb3MubWtkaXIoc2NyaXB0X2RpcikKKyAgICAgICAgc2VsZi53cml0ZV9maWxlKChzY3JpcHRfZGlyLCAnc2NyaXB0LnB5JyksICcjJykKKyAgICAgICAgZGlzdC5zY3JpcHRzID0gW2pvaW4oJ3NjcmlwdHMnLCAnc2NyaXB0LnB5JyldCisKKyAgICAgICAgY21kLmZvcm1hdHMgPSBbJ3ppcCddCisgICAgICAgIGNtZC51c2VfZGVmYXVsdHMgPSBUcnVlCisKKyAgICAgICAgY21kLmVuc3VyZV9maW5hbGl6ZWQoKQorICAgICAgICBjbWQucnVuKCkKKworICAgICAgICAjIG5vdyBsZXQncyBjaGVjayB3aGF0IHdlIGhhdmUKKyAgICAgICAgZGlzdF9mb2xkZXIgPSBqb2luKHNlbGYudG1wX2RpciwgJ2Rpc3QnKQorICAgICAgICBmaWxlcyA9IG9zLmxpc3RkaXIoZGlzdF9mb2xkZXIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZmlsZXMsIFsnZmFrZS0xLjAuemlwJ10pCisKKyAgICAgICAgd2l0aCB6aXBmaWxlLlppcEZpbGUoam9pbihkaXN0X2ZvbGRlciwgJ2Zha2UtMS4wLnppcCcpKSBhcyB6aXBfZmlsZToKKyAgICAgICAgICAgIGNvbnRlbnQgPSB6aXBfZmlsZS5uYW1lbGlzdCgpCisKKyAgICAgICAgIyBNYWtpbmcgc3VyZSBldmVyeXRoaW5nIHdhcyBhZGRlZC4gVGhpcyBpbmNsdWRlcyA4IGNvZGUgYW5kIGRhdGEKKyAgICAgICAgIyBmaWxlcyBpbiBhZGRpdGlvbiB0byBQS0ctSU5GTyBhbmQgc2V0dXAuY2ZnCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGNvbnRlbnQpLCAxMCkKKworICAgICAgICAjIENoZWNraW5nIHRoZSBNQU5JRkVTVAorICAgICAgICB3aXRoIG9wZW4oam9pbihzZWxmLnRtcF9kaXIsICdNQU5JRkVTVCcpKSBhcyBmcDoKKyAgICAgICAgICAgIG1hbmlmZXN0ID0gZnAucmVhZCgpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobWFuaWZlc3QsIE1BTklGRVNUICUgeydzZXAnOiBvcy5zZXB9KQorCisgICAgQHJlcXVpcmVzX3psaWIKKyAgICBkZWYgdGVzdF9tZXRhZGF0YV9jaGVja19vcHRpb24oc2VsZik6CisgICAgICAgICMgdGVzdGluZyB0aGUgYGNoZWNrLW1ldGFkYXRhYCBvcHRpb24KKyAgICAgICAgZGlzdCwgY21kID0gc2VsZi5nZXRfY21kKG1ldGFkYXRhPXsnbmFtZSc6ICd4eHgnLCAndmVyc2lvbic6ICd4eHgnfSkKKworICAgICAgICAjIHRoaXMgc2hvdWxkIGNhdXNlIHRoZSBjaGVjayBzdWJjb21tYW5kIHRvIGxvZyB0d28gd2FybmluZ3M6CisgICAgICAgICMgdmVyc2lvbiBpcyBpbnZhbGlkLCBob21lLXBhZ2UgYW5kIGF1dGhvciBhcmUgbWlzc2luZworICAgICAgICBjbWQuZW5zdXJlX2ZpbmFsaXplZCgpCisgICAgICAgIGNtZC5ydW4oKQorICAgICAgICB3YXJuaW5ncyA9IHNlbGYuZ2V0X2xvZ3MoKQorICAgICAgICBjaGVja193YXJuaW5ncyA9IFttc2cgZm9yIG1zZyBpbiB3YXJuaW5ncyBpZgorICAgICAgICAgICAgICAgICAgICAgICAgICBub3QgbXNnLnN0YXJ0c3dpdGgoJ3NkaXN0OicpXQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihjaGVja193YXJuaW5ncyksIDIsIHdhcm5pbmdzKQorCisgICAgICAgICMgdHJ5aW5nIHdpdGggYSBjb21wbGV0ZSBzZXQgb2YgbWV0YWRhdGEKKyAgICAgICAgc2VsZi5sb2doYW5kbGVyLmZsdXNoKCkKKyAgICAgICAgZGlzdCwgY21kID0gc2VsZi5nZXRfY21kKCkKKyAgICAgICAgY21kLmVuc3VyZV9maW5hbGl6ZWQoKQorICAgICAgICBjbWQubWV0YWRhdGFfY2hlY2sgPSBGYWxzZQorICAgICAgICBjbWQucnVuKCkKKyAgICAgICAgd2FybmluZ3MgPSBzZWxmLmdldF9sb2dzKCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4od2FybmluZ3MpLCAyKQorICAgICAgICBzZWxmLmFzc2VydEluKCd1c2luZyBkZWZhdWx0IGZpbGUgbGlzdCcsIHdhcm5pbmdzWzBdKQorICAgICAgICBzZWxmLmFzc2VydEluKCInc2V0dXAuY2ZnJyBmaWxlIG5vdCBmb3VuZCIsIHdhcm5pbmdzWzFdKQorCisgICAgZGVmIHRlc3Rfc2hvd19mb3JtYXRzKHNlbGYpOgorICAgICAgICB3aXRoIGNhcHR1cmVkX3N0ZG91dCgpIGFzIHN0ZG91dDoKKyAgICAgICAgICAgIHNob3dfZm9ybWF0cygpCisgICAgICAgIHN0ZG91dCA9IHN0ZG91dC5nZXR2YWx1ZSgpCisKKyAgICAgICAgIyB0aGUgb3V0cHV0IHNob3VsZCBiZSBhIGhlYWRlciBsaW5lICsgb25lIGxpbmUgcGVyIGZvcm1hdAorICAgICAgICBudW1fZm9ybWF0cyA9IGxlbihnZXRfYXJjaGl2ZV9mb3JtYXRzKCkpCisgICAgICAgIG91dHB1dCA9IFtsaW5lIGZvciBsaW5lIGluIHN0ZG91dC5zcGxpdCgnXG4nKQorICAgICAgICAgICAgICAgICAgaWYgbGluZS5zdHJpcCgpLnN0YXJ0c3dpdGgoJy0tZm9ybWF0cz0nKV0KKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4ob3V0cHV0KSwgbnVtX2Zvcm1hdHMpCisKKyAgICBkZWYgdGVzdF9maW5hbGl6ZV9vcHRpb25zKHNlbGYpOgorICAgICAgICBkaXN0LCBjbWQgPSBzZWxmLmdldF9jbWQoKQorICAgICAgICBjbWQuZmluYWxpemVfb3B0aW9ucygpCisKKyAgICAgICAgIyBkZWZhdWx0IG9wdGlvbnMgc2V0IGJ5IGZpbmFsaXplCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY21kLm1hbmlmZXN0LCAnTUFOSUZFU1QnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNtZC5kaXN0X2RpciwgJ2Rpc3QnKQorCisgICAgICAgICMgZm9ybWF0cyBoYXMgdG8gYmUgYSBzdHJpbmcgc3BsaXRhYmxlIG9uICgnICcsICcsJykgb3IKKyAgICAgICAgIyBhIHN0cmluZ2xpc3QKKyAgICAgICAgY21kLmZvcm1hdHMgPSAxCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFBhY2thZ2luZ09wdGlvbkVycm9yLCBjbWQuZmluYWxpemVfb3B0aW9ucykKKyAgICAgICAgY21kLmZvcm1hdHMgPSBbJ3ppcCddCisgICAgICAgIGNtZC5maW5hbGl6ZV9vcHRpb25zKCkKKworICAgICAgICAjIGZvcm1hdHMgaGFzIHRvIGJlIGtub3duCisgICAgICAgIGNtZC5mb3JtYXRzID0gJ3N1cGF6aXBhJworICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhQYWNrYWdpbmdPcHRpb25FcnJvciwgY21kLmZpbmFsaXplX29wdGlvbnMpCisKKyAgICBAcmVxdWlyZXNfemxpYgorICAgIGRlZiB0ZXN0X3RlbXBsYXRlKHNlbGYpOgorICAgICAgICBkaXN0LCBjbWQgPSBzZWxmLmdldF9jbWQoKQorICAgICAgICBkaXN0LmV4dHJhX2ZpbGVzID0gWydpbmNsdWRlIHllYWgnXQorICAgICAgICBjbWQuZW5zdXJlX2ZpbmFsaXplZCgpCisgICAgICAgIHNlbGYud3JpdGVfZmlsZSgoc2VsZi50bXBfZGlyLCAneWVhaCcpLCAneHh4JykKKyAgICAgICAgY21kLnJ1bigpCisgICAgICAgIHdpdGggb3BlbihjbWQubWFuaWZlc3QpIGFzIGY6CisgICAgICAgICAgICBjb250ZW50ID0gZi5yZWFkKCkKKworICAgICAgICBzZWxmLmFzc2VydEluKCd5ZWFoJywgY29udGVudCkKKworICAgIEByZXF1aXJlc196bGliCisgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3MoVUlEX0dJRF9TVVBQT1JULCAicmVxdWlyZXMgZ3JwIGFuZCBwd2Qgc3VwcG9ydCIpCisgICAgQHVuaXR0ZXN0LnNraXBJZihmaW5kX2V4ZWN1dGFibGUoJ3RhcicpIGlzIE5vbmUgb3IKKyAgICAgICAgICAgICAgICAgICAgIGZpbmRfZXhlY3V0YWJsZSgnZ3ppcCcpIGlzIE5vbmUsCisgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZXMgdGFyIGFuZCBnemlwIHByb2dyYW1zJykKKyAgICBkZWYgdGVzdF9tYWtlX2Rpc3RyaWJ1dGlvbl9vd25lcl9ncm91cChzZWxmKToKKyAgICAgICAgIyBidWlsZGluZyBhIHNkaXN0CisgICAgICAgIGRpc3QsIGNtZCA9IHNlbGYuZ2V0X2NtZCgpCisKKyAgICAgICAgIyBjcmVhdGluZyBhIGd6dGFyIGFuZCBzcGVjaWZ5aW5nIHRoZSBvd25lcitncm91cAorICAgICAgICBjbWQuZm9ybWF0cyA9IFsnZ3p0YXInXQorICAgICAgICBjbWQub3duZXIgPSBwd2QuZ2V0cHd1aWQoMClbMF0KKyAgICAgICAgY21kLmdyb3VwID0gZ3JwLmdldGdyZ2lkKDApWzBdCisgICAgICAgIGNtZC5lbnN1cmVfZmluYWxpemVkKCkKKyAgICAgICAgY21kLnJ1bigpCisKKyAgICAgICAgIyBtYWtpbmcgc3VyZSB3ZSBoYXZlIHRoZSBnb29kIHJpZ2h0cworICAgICAgICBhcmNoaXZlX25hbWUgPSBqb2luKHNlbGYudG1wX2RpciwgJ2Rpc3QnLCAnZmFrZS0xLjAudGFyLmd6JykKKyAgICAgICAgd2l0aCB0YXJmaWxlLm9wZW4oYXJjaGl2ZV9uYW1lKSBhcyBhcmNoaXZlOgorICAgICAgICAgICAgZm9yIG1lbWJlciBpbiBhcmNoaXZlLmdldG1lbWJlcnMoKToKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1lbWJlci51aWQsIDApCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtZW1iZXIuZ2lkLCAwKQorCisgICAgICAgICMgYnVpbGRpbmcgYSBzZGlzdCBhZ2FpbgorICAgICAgICBkaXN0LCBjbWQgPSBzZWxmLmdldF9jbWQoKQorCisgICAgICAgICMgY3JlYXRpbmcgYSBnenRhcgorICAgICAgICBjbWQuZm9ybWF0cyA9IFsnZ3p0YXInXQorICAgICAgICBjbWQuZW5zdXJlX2ZpbmFsaXplZCgpCisgICAgICAgIGNtZC5ydW4oKQorCisgICAgICAgICMgbWFraW5nIHN1cmUgd2UgaGF2ZSB0aGUgZ29vZCByaWdodHMKKyAgICAgICAgYXJjaGl2ZV9uYW1lID0gam9pbihzZWxmLnRtcF9kaXIsICdkaXN0JywgJ2Zha2UtMS4wLnRhci5neicpCisgICAgICAgIHdpdGggdGFyZmlsZS5vcGVuKGFyY2hpdmVfbmFtZSkgYXMgYXJjaGl2ZToKKworICAgICAgICAgICAgIyBub3RlIHRoYXQgd2UgYXJlIG5vdCB0ZXN0aW5nIHRoZSBncm91cCBvd25lcnNoaXAgaGVyZQorICAgICAgICAgICAgIyBiZWNhdXNlLCBkZXBlbmRpbmcgb24gdGhlIHBsYXRmb3JtcyBhbmQgdGhlIGNvbnRhaW5lcgorICAgICAgICAgICAgIyByaWdodHMgKHNlZSAjNzQwOCkKKyAgICAgICAgICAgIGZvciBtZW1iZXIgaW4gYXJjaGl2ZS5nZXRtZW1iZXJzKCk6CisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtZW1iZXIudWlkLCBvcy5nZXR1aWQoKSkKKworICAgIEByZXF1aXJlc196bGliCisgICAgZGVmIHRlc3RfZ2V0X2ZpbGVfbGlzdChzZWxmKToKKyAgICAgICAgIyBtYWtlIHN1cmUgTUFOSUZFU1QgaXMgcmVjYWxjdWxhdGVkCisgICAgICAgIGRpc3QsIGNtZCA9IHNlbGYuZ2V0X2NtZCgpCisgICAgICAgICMgZmlsbGluZyBkYXRhX2ZpbGVzIGJ5IHBvaW50aW5nIGZpbGVzIGluIHBhY2thZ2VfZGF0YQorICAgICAgICBkaXN0LnBhY2thZ2VfZGF0YSA9IHsnc29tZWNvZGUnOiBbJyoudHh0J119CisgICAgICAgIHNlbGYud3JpdGVfZmlsZSgoc2VsZi50bXBfZGlyLCAnc29tZWNvZGUnLCAnZG9jLnR4dCcpLCAnIycpCisgICAgICAgIGNtZC5lbnN1cmVfZmluYWxpemVkKCkKKyAgICAgICAgY21kLnJ1bigpCisKKyAgICAgICAgIyBTaG91bGQgcHJvZHVjZSBmb3VyIGxpbmVzLiBUaG9zZSBsaW5lcyBhcmUgb25lIGNvbW1lbnQsIG9uZSBkZWZhdWx0CisgICAgICAgICMgKFJFQURNRSkgYW5kIHR3byBwYWNrYWdlIGZpbGVzLgorICAgICAgICB3aXRoIG9wZW4oY21kLm1hbmlmZXN0KSBhcyBmOgorICAgICAgICAgICAgbWFuaWZlc3QgPSBbbGluZS5zdHJpcCgpIGZvciBsaW5lIGluIGYucmVhZCgpLnNwbGl0KCdcbicpCisgICAgICAgICAgICAgICAgICAgICAgICBpZiBsaW5lLnN0cmlwKCkgIT0gJyddCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKG1hbmlmZXN0KSwgMykKKworICAgICAgICAjIEFkZGluZyBhIGZpbGUKKyAgICAgICAgc2VsZi53cml0ZV9maWxlKChzZWxmLnRtcF9kaXIsICdzb21lY29kZScsICdkb2MyLnR4dCcpLCAnIycpCisKKyAgICAgICAgIyBtYWtlIHN1cmUgYnVpbGRfcHkgaXMgcmVpbml0aWFsaXplZCwgbGlrZSBhIGZyZXNoIHJ1bgorICAgICAgICBidWlsZF9weSA9IGRpc3QuZ2V0X2NvbW1hbmRfb2JqKCdidWlsZF9weScpCisgICAgICAgIGJ1aWxkX3B5LmZpbmFsaXplZCA9IEZhbHNlCisgICAgICAgIGJ1aWxkX3B5LmVuc3VyZV9maW5hbGl6ZWQoKQorCisgICAgICAgIGNtZC5ydW4oKQorCisgICAgICAgIHdpdGggb3BlbihjbWQubWFuaWZlc3QpIGFzIGY6CisgICAgICAgICAgICBtYW5pZmVzdDIgPSBbbGluZS5zdHJpcCgpIGZvciBsaW5lIGluIGYucmVhZCgpLnNwbGl0KCdcbicpCisgICAgICAgICAgICAgICAgICAgICAgICAgaWYgbGluZS5zdHJpcCgpICE9ICcnXQorCisgICAgICAgICMgRG8gd2UgaGF2ZSB0aGUgbmV3IGZpbGUgaW4gTUFOSUZFU1Q/CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKG1hbmlmZXN0MiksIDQpCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ2RvYzIudHh0JywgbWFuaWZlc3QyWy0xXSkKKworICAgIEByZXF1aXJlc196bGliCisgICAgZGVmIHRlc3RfbWFuaWZlc3RfbWFya2VyKHNlbGYpOgorICAgICAgICAjIGNoZWNrIHRoYXQgYXV0b2dlbmVyYXRlZCBNQU5JRkVTVHMgaGF2ZSBhIG1hcmtlcgorICAgICAgICBkaXN0LCBjbWQgPSBzZWxmLmdldF9jbWQoKQorICAgICAgICBjbWQuZW5zdXJlX2ZpbmFsaXplZCgpCisgICAgICAgIGNtZC5ydW4oKQorCisgICAgICAgIHdpdGggb3BlbihjbWQubWFuaWZlc3QpIGFzIGY6CisgICAgICAgICAgICBtYW5pZmVzdCA9IFtsaW5lLnN0cmlwKCkgZm9yIGxpbmUgaW4gZi5yZWFkKCkuc3BsaXQoJ1xuJykKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIGxpbmUuc3RyaXAoKSAhPSAnJ10KKworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1hbmlmZXN0WzBdLAorICAgICAgICAgICAgICAgICAgICAgICAgICcjIGZpbGUgR0VORVJBVEVEIGJ5IHBhY2thZ2luZywgZG8gTk9UIGVkaXQnKQorCisgICAgQHJlcXVpcmVzX3psaWIKKyAgICBkZWYgdGVzdF9tYW51YWxfbWFuaWZlc3Qoc2VsZik6CisgICAgICAgICMgY2hlY2sgdGhhdCBhIE1BTklGRVNUIHdpdGhvdXQgYSBtYXJrZXIgaXMgbGVmdCBhbG9uZQorICAgICAgICBkaXN0LCBjbWQgPSBzZWxmLmdldF9jbWQoKQorICAgICAgICBjbWQuZW5zdXJlX2ZpbmFsaXplZCgpCisgICAgICAgIHNlbGYud3JpdGVfZmlsZSgoc2VsZi50bXBfZGlyLCBjbWQubWFuaWZlc3QpLCAnUkVBRE1FLm1hbnVhbCcpCisgICAgICAgIGNtZC5ydW4oKQorCisgICAgICAgIHdpdGggb3BlbihjbWQubWFuaWZlc3QpIGFzIGY6CisgICAgICAgICAgICBtYW5pZmVzdCA9IFtsaW5lLnN0cmlwKCkgZm9yIGxpbmUgaW4gZi5yZWFkKCkuc3BsaXQoJ1xuJykKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIGxpbmUuc3RyaXAoKSAhPSAnJ10KKworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1hbmlmZXN0LCBbJ1JFQURNRS5tYW51YWwnXSkKKworICAgIEByZXF1aXJlc196bGliCisgICAgZGVmIHRlc3RfbWFuaWZlc3RfYnVpbGRlcihzZWxmKToKKyAgICAgICAgZGlzdCwgY21kID0gc2VsZi5nZXRfY21kKCkKKyAgICAgICAgY21kLm1hbmlmZXN0X2J1aWxkZXJzID0gJ3BhY2thZ2luZy50ZXN0cy50ZXN0X2NvbW1hbmRfc2Rpc3QuYnVpbGRlcicKKyAgICAgICAgY21kLmVuc3VyZV9maW5hbGl6ZWQoKQorICAgICAgICBjbWQucnVuKCkKKyAgICAgICAgc2VsZi5hc3NlcnRJbignYmFoJywgY21kLmZpbGVsaXN0LmZpbGVzKQorCisKK2RlZiB0ZXN0X3N1aXRlKCk6CisgICAgcmV0dXJuIHVuaXR0ZXN0Lm1ha2VTdWl0ZShTRGlzdFRlc3RDYXNlKQorCitpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgorICAgIHVuaXR0ZXN0Lm1haW4oZGVmYXVsdFRlc3Q9InRlc3Rfc3VpdGUiKQpkaWZmIC0tZ2l0IGEvTGliL3BhY2thZ2luZy90ZXN0cy90ZXN0X2NvbW1hbmRfdGVzdC5weSBiL0xpYi9wYWNrYWdpbmcvdGVzdHMvdGVzdF9jb21tYW5kX3Rlc3QucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2FhMWY3OQotLS0gL2Rldi9udWxsCisrKyBiL0xpYi9wYWNrYWdpbmcvdGVzdHMvdGVzdF9jb21tYW5kX3Rlc3QucHkKQEAgLTAsMCArMSwyMjQgQEAKK2ltcG9ydCBvcworaW1wb3J0IHJlCitpbXBvcnQgc3lzCitpbXBvcnQgc2h1dGlsCitpbXBvcnQgdW5pdHRlc3QgYXMgdXQxCitpbXBvcnQgcGFja2FnaW5nLmRhdGFiYXNlCisKK2Zyb20gb3MucGF0aCBpbXBvcnQgam9pbgorZnJvbSBvcGVyYXRvciBpbXBvcnQgZ2V0aXRlbSwgc2V0aXRlbSwgZGVsaXRlbQorZnJvbSBwYWNrYWdpbmcuY29tbWFuZC5idWlsZCBpbXBvcnQgYnVpbGQKK2Zyb20gcGFja2FnaW5nLnRlc3RzIGltcG9ydCB1bml0dGVzdAorZnJvbSBwYWNrYWdpbmcudGVzdHMuc3VwcG9ydCBpbXBvcnQgKFRlbXBkaXJNYW5hZ2VyLCBFbnZpcm9uUmVzdG9yZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9nZ2luZ0NhdGNoZXIpCitmcm9tIHBhY2thZ2luZy5jb21tYW5kLnRlc3QgaW1wb3J0IHRlc3QKK2Zyb20gcGFja2FnaW5nLmNvbW1hbmQgaW1wb3J0IHNldF9jb21tYW5kCitmcm9tIHBhY2thZ2luZy5kaXN0IGltcG9ydCBEaXN0cmlidXRpb24KKworCitFWFBFQ1RFRF9PVVRQVVRfUkUgPSByJycnRkFJTDogdGVzdF9ibGFoIFwobXlvd250ZXN0bW9kdWxlLlNvbWVUZXN0XCkKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1RyYWNlYmFjayBcKG1vc3QgcmVjZW50IGNhbGwgbGFzdFwpOgorICBGaWxlICIuKy9teW93bnRlc3Rtb2R1bGUucHkiLCBsaW5lIFxkKywgaW4gdGVzdF9ibGFoCisgICAgc2VsZi5mYWlsXCgiaG9ycmlibHkiXCkKK0Fzc2VydGlvbkVycm9yOiBob3JyaWJseQorJycnCisKK2hlcmUgPSBvcy5wYXRoLmRpcm5hbWUob3MucGF0aC5hYnNwYXRoKF9fZmlsZV9fKSkKKworCitjbGFzcyBNb2NrQnVpbGRDbWQoYnVpbGQpOgorICAgIGJ1aWxkX2xpYiA9ICJtb2NrIGJ1aWxkIGxpYiIKKyAgICBjb21tYW5kX25hbWUgPSAnYnVpbGQnCisgICAgcGxhdF9uYW1lID0gJ3doYXRldmVyJworCisgICAgZGVmIGluaXRpYWxpemVfb3B0aW9ucyhzZWxmKToKKyAgICAgICAgcGFzcworCisgICAgZGVmIGZpbmFsaXplX29wdGlvbnMoc2VsZik6CisgICAgICAgIHBhc3MKKworICAgIGRlZiBydW4oc2VsZik6CisgICAgICAgIHNlbGYuX3JlY29yZC5hcHBlbmQoImJ1aWxkIGhhcyBydW4iKQorCisKK2NsYXNzIFRlc3RUZXN0KFRlbXBkaXJNYW5hZ2VyLAorICAgICAgICAgICAgICAgRW52aXJvblJlc3RvcmVyLAorICAgICAgICAgICAgICAgTG9nZ2luZ0NhdGNoZXIsCisgICAgICAgICAgICAgICB1bml0dGVzdC5UZXN0Q2FzZSk6CisKKyAgICByZXN0b3JlX2Vudmlyb24gPSBbJ1BZVEhPTlBBVEgnXQorCisgICAgZGVmIHNldFVwKHNlbGYpOgorICAgICAgICBzdXBlcihUZXN0VGVzdCwgc2VsZikuc2V0VXAoKQorICAgICAgICBzZWxmLmFkZENsZWFudXAocGFja2FnaW5nLmRhdGFiYXNlLmNsZWFyX2NhY2hlKQorICAgICAgICBuZXdfcHl0aG9ucGF0aCA9IG9zLnBhdGguZGlybmFtZShvcy5wYXRoLmRpcm5hbWUoaGVyZSkpCisgICAgICAgIHB5dGhvbnBhdGggPSBvcy5lbnZpcm9uLmdldCgnUFlUSE9OUEFUSCcpCisgICAgICAgIGlmIHB5dGhvbnBhdGggaXMgbm90IE5vbmU6CisgICAgICAgICAgICBuZXdfcHl0aG9ucGF0aCA9IG9zLnBhdGhzZXAuam9pbigobmV3X3B5dGhvbnBhdGgsIHB5dGhvbnBhdGgpKQorICAgICAgICBvcy5lbnZpcm9uWydQWVRIT05QQVRIJ10gPSBuZXdfcHl0aG9ucGF0aAorCisgICAgZGVmIGFzc2VydF9yZV9tYXRjaChzZWxmLCBwYXR0ZXJuLCBzdHJpbmcpOgorICAgICAgICBkZWYgcXVvdGUocyk6CisgICAgICAgICAgICBsaW5lcyA9IFsnIyMgJyArIGxpbmUgZm9yIGxpbmUgaW4gcy5zcGxpdCgnXG4nKV0KKyAgICAgICAgICAgIHNlcCA9IFsiIyIgKiA2MF0KKyAgICAgICAgICAgIHJldHVybiBbJyddICsgc2VwICsgbGluZXMgKyBzZXAKKyAgICAgICAgbXNnID0gcXVvdGUocGF0dGVybikgKyBbImRpZG4ndCBtYXRjaCJdICsgcXVvdGUoc3RyaW5nKQorICAgICAgICBtc2cgPSAiXG4iLmpvaW4obXNnKQorICAgICAgICBpZiBub3QgcmUuc2VhcmNoKHBhdHRlcm4sIHN0cmluZyk6CisgICAgICAgICAgICBzZWxmLmZhaWwobXNnKQorCisgICAgZGVmIHByZXBhcmVfZGlzdChzZWxmLCBkaXN0X25hbWUpOgorICAgICAgICBwa2dfZGlyID0gam9pbihvcy5wYXRoLmRpcm5hbWUoX19maWxlX18pLCAiZGlzdHMiLCBkaXN0X25hbWUpCisgICAgICAgIHRlbXBfcGtnX2RpciA9IGpvaW4oc2VsZi5ta2R0ZW1wKCksIGRpc3RfbmFtZSkKKyAgICAgICAgc2h1dGlsLmNvcHl0cmVlKHBrZ19kaXIsIHRlbXBfcGtnX2RpcikKKyAgICAgICAgcmV0dXJuIHRlbXBfcGtnX2RpcgorCisgICAgZGVmIHNhZmVseV9yZXBsYWNlKHNlbGYsIG9iaiwgYXR0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgbmV3X3ZhbD1Ob25lLCBkZWxldGU9RmFsc2UsIGRpY3Rpb25hcnk9RmFsc2UpOgorICAgICAgICAiIiJSZXBsYWNlIGEgb2JqZWN0J3MgYXR0cmlidXRlIHJldHVybmluZyB0byBpdHMgb3JpZ2luYWwgc3RhdGUgYXQgdGhlCisgICAgICAgIGVuZCBvZiB0aGUgdGVzdCBydW4uIENyZWF0ZXMgdGhlIGF0dHJpYnV0ZSBpZiBub3QgcHJlc2VudCBiZWZvcmUKKyAgICAgICAgKGRlbGV0aW5nIGFmdGVyd2FyZHMpLiBXaGVuIGRlbGV0ZT1UcnVlLCBtYWtlcyBzdXJlIHRoZSB2YWx1ZSBpcyBkZWwnZAorICAgICAgICBmb3IgdGhlIHRlc3QgcnVuLiBJZiBkaWN0aW9uYXJ5IGlzIHNldCB0byBUcnVlLCBvcGVyYXRlcyBvZiBpdHMgaXRlbXMKKyAgICAgICAgcmF0aGVyIHRoYW4gYXR0cmlidXRlcy4iIiIKKyAgICAgICAgaWYgZGljdGlvbmFyeToKKyAgICAgICAgICAgIF9zZXRhdHRyLCBfZ2V0YXR0ciwgX2RlbGF0dHIgPSBzZXRpdGVtLCBnZXRpdGVtLCBkZWxpdGVtCisKKyAgICAgICAgICAgIGRlZiBfaGFzYXR0cihfZGljdCwgdmFsdWUpOgorICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZSBpbiBfZGljdAorICAgICAgICBlbHNlOgorICAgICAgICAgICAgX3NldGF0dHIsIF9nZXRhdHRyLCBfZGVsYXR0ciwgX2hhc2F0dHIgPSAoc2V0YXR0ciwgZ2V0YXR0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbGF0dHIsIGhhc2F0dHIpCisKKyAgICAgICAgb3JpZ19oYXNfYXR0ciA9IF9oYXNhdHRyKG9iaiwgYXR0cikKKyAgICAgICAgaWYgb3JpZ19oYXNfYXR0cjoKKyAgICAgICAgICAgIG9yaWdfdmFsID0gX2dldGF0dHIob2JqLCBhdHRyKQorCisgICAgICAgIGlmIGRlbGV0ZSBpcyBGYWxzZToKKyAgICAgICAgICAgIF9zZXRhdHRyKG9iaiwgYXR0ciwgbmV3X3ZhbCkKKyAgICAgICAgZWxpZiBvcmlnX2hhc19hdHRyOgorICAgICAgICAgICAgX2RlbGF0dHIob2JqLCBhdHRyKQorCisgICAgICAgIGRlZiBkb19jbGVhbnVwKCk6CisgICAgICAgICAgICBpZiBvcmlnX2hhc19hdHRyOgorICAgICAgICAgICAgICAgIF9zZXRhdHRyKG9iaiwgYXR0ciwgb3JpZ192YWwpCisgICAgICAgICAgICBlbGlmIF9oYXNhdHRyKG9iaiwgYXR0cik6CisgICAgICAgICAgICAgICAgX2RlbGF0dHIob2JqLCBhdHRyKQorCisgICAgICAgIHNlbGYuYWRkQ2xlYW51cChkb19jbGVhbnVwKQorCisgICAgZGVmIHRlc3RfcnVuc191bml0dGVzdChzZWxmKToKKyAgICAgICAgbW9kdWxlX25hbWUsIGFfbW9kdWxlID0gc2VsZi5wcmVwYXJlX2FfbW9kdWxlKCkKKyAgICAgICAgcmVjb3JkID0gW10KKyAgICAgICAgYV9tb2R1bGUucmVjb3JkZXIgPSBsYW1iZGEgKmFyZ3M6IHJlY29yZC5hcHBlbmQoInN1aXRlIikKKworICAgICAgICBjbGFzcyBNb2NrVGV4dFRlc3RSdW5uZXI6CisgICAgICAgICAgICBkZWYgX19pbml0X18oKl8sICoqX18pOgorICAgICAgICAgICAgICAgIHBhc3MKKworICAgICAgICAgICAgZGVmIHJ1bihfc2VsZiwgc3VpdGUpOgorICAgICAgICAgICAgICAgIHJlY29yZC5hcHBlbmQoInJ1biIpCisKKyAgICAgICAgc2VsZi5zYWZlbHlfcmVwbGFjZSh1dDEsICJUZXh0VGVzdFJ1bm5lciIsIE1vY2tUZXh0VGVzdFJ1bm5lcikKKworICAgICAgICBkaXN0ID0gRGlzdHJpYnV0aW9uKCkKKyAgICAgICAgY21kID0gdGVzdChkaXN0KQorICAgICAgICBjbWQuc3VpdGUgPSAiJXMucmVjb3JkZXIiICUgbW9kdWxlX25hbWUKKyAgICAgICAgY21kLnJ1bigpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVjb3JkLCBbInN1aXRlIiwgInJ1biJdKQorCisgICAgZGVmIHRlc3RfYnVpbGRzX2JlZm9yZV9ydW5uaW5nX3Rlc3RzKHNlbGYpOgorICAgICAgICBzZWxmLmFkZENsZWFudXAoc2V0X2NvbW1hbmQsICdwYWNrYWdpbmcuY29tbWFuZC5idWlsZC5idWlsZCcpCisgICAgICAgIHNldF9jb21tYW5kKCdwYWNrYWdpbmcudGVzdHMudGVzdF9jb21tYW5kX3Rlc3QuTW9ja0J1aWxkQ21kJykKKworICAgICAgICBkaXN0ID0gRGlzdHJpYnV0aW9uKCkKKyAgICAgICAgZGlzdC5nZXRfY29tbWFuZF9vYmooJ2J1aWxkJykuX3JlY29yZCA9IHJlY29yZCA9IFtdCisgICAgICAgIGNtZCA9IHRlc3QoZGlzdCkKKyAgICAgICAgY21kLnJ1bm5lciA9IHNlbGYucHJlcGFyZV9uYW1lZF9mdW5jdGlvbihsYW1iZGE6IE5vbmUpCisgICAgICAgIGNtZC5lbnN1cmVfZmluYWxpemVkKCkKKyAgICAgICAgY21kLnJ1bigpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoWydidWlsZCBoYXMgcnVuJ10sIHJlY29yZCkKKworICAgIEB1bml0dGVzdC5za2lwKCduZWVkcyB0byBiZSB3cml0dGVuJykKKyAgICBkZWYgdGVzdF93b3Jrc193aXRoXzJ0bzMoc2VsZik6CisgICAgICAgIHBhc3MKKworICAgIGRlZiB0ZXN0X2NoZWNrc19yZXF1aXJlcyhzZWxmKToKKyAgICAgICAgZGlzdCA9IERpc3RyaWJ1dGlvbigpCisgICAgICAgIGNtZCA9IHRlc3QoZGlzdCkKKyAgICAgICAgcGhvbnlfcHJvamVjdCA9ICdvaG5vX29obm8taW1wb3NzaWJsZV8xMjM0LW5hbWVfc3RvcC10aGF0IScKKyAgICAgICAgY21kLnRlc3RzX3JlcXVpcmUgPSBbcGhvbnlfcHJvamVjdF0KKyAgICAgICAgY21kLmVuc3VyZV9maW5hbGl6ZWQoKQorICAgICAgICBsb2dzID0gc2VsZi5nZXRfbG9ncygpCisgICAgICAgIHNlbGYuYXNzZXJ0SW4ocGhvbnlfcHJvamVjdCwgbG9nc1stMV0pCisKKyAgICBkZWYgcHJlcGFyZV9hX21vZHVsZShzZWxmKToKKyAgICAgICAgdG1wX2RpciA9IHNlbGYubWtkdGVtcCgpCisgICAgICAgIHN5cy5wYXRoLmFwcGVuZCh0bXBfZGlyKQorICAgICAgICBzZWxmLmFkZENsZWFudXAoc3lzLnBhdGgucmVtb3ZlLCB0bXBfZGlyKQorCisgICAgICAgIHNlbGYud3JpdGVfZmlsZSgodG1wX2RpciwgJ3BhY2thZ2luZ190ZXN0c19hLnB5JyksICcnKQorICAgICAgICBpbXBvcnQgcGFja2FnaW5nX3Rlc3RzX2EgYXMgYV9tb2R1bGUKKyAgICAgICAgcmV0dXJuICJwYWNrYWdpbmdfdGVzdHNfYSIsIGFfbW9kdWxlCisKKyAgICBkZWYgcHJlcGFyZV9uYW1lZF9mdW5jdGlvbihzZWxmLCBmdW5jKToKKyAgICAgICAgbW9kdWxlX25hbWUsIGFfbW9kdWxlID0gc2VsZi5wcmVwYXJlX2FfbW9kdWxlKCkKKyAgICAgICAgYV9tb2R1bGUucmVjb3JkZXIgPSBmdW5jCisgICAgICAgIHJldHVybiAiJXMucmVjb3JkZXIiICUgbW9kdWxlX25hbWUKKworICAgIGRlZiB0ZXN0X2N1c3RvbV9ydW5uZXIoc2VsZik6CisgICAgICAgIGRpc3QgPSBEaXN0cmlidXRpb24oKQorICAgICAgICBjbWQgPSB0ZXN0KGRpc3QpCisgICAgICAgIHJlY29yZCA9IFtdCisgICAgICAgIGNtZC5ydW5uZXIgPSBzZWxmLnByZXBhcmVfbmFtZWRfZnVuY3Rpb24oCisgICAgICAgICAgICBsYW1iZGE6IHJlY29yZC5hcHBlbmQoInJ1bm5lciBjYWxsZWQiKSkKKyAgICAgICAgY21kLmVuc3VyZV9maW5hbGl6ZWQoKQorICAgICAgICBjbWQucnVuKCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChbInJ1bm5lciBjYWxsZWQiXSwgcmVjb3JkKQorCisgICAgZGVmIHByZXBhcmVfbW9ja191dDIoc2VsZik6CisgICAgICAgIGNsYXNzIE1vY2tVVENsYXNzOgorICAgICAgICAgICAgZGVmIF9faW5pdF9fKCpfLCAqKl9fKToKKyAgICAgICAgICAgICAgICBwYXNzCisKKyAgICAgICAgICAgIGRlZiBkaXNjb3ZlcihzZWxmKToKKyAgICAgICAgICAgICAgICBwYXNzCisKKyAgICAgICAgICAgIGRlZiBydW4oc2VsZiwgXyk6CisgICAgICAgICAgICAgICAgcGFzcworCisgICAgICAgIGNsYXNzIE1vY2tVVE1vZHVsZToKKyAgICAgICAgICAgIFRlc3RMb2FkZXIgPSBNb2NrVVRDbGFzcworICAgICAgICAgICAgVGV4dFRlc3RSdW5uZXIgPSBNb2NrVVRDbGFzcworCisgICAgICAgIG1vY2tfdXQyID0gTW9ja1VUTW9kdWxlKCkKKyAgICAgICAgc2VsZi5zYWZlbHlfcmVwbGFjZShzeXMubW9kdWxlcywgInVuaXR0ZXN0MiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9ja191dDIsIGRpY3Rpb25hcnk9VHJ1ZSkKKyAgICAgICAgcmV0dXJuIG1vY2tfdXQyCisKKyAgICBkZWYgdGVzdF9nZXRzX3VuaXR0ZXN0X2Rpc2NvdmVyeShzZWxmKToKKyAgICAgICAgbW9ja191dDIgPSBzZWxmLnByZXBhcmVfbW9ja191dDIoKQorICAgICAgICBkaXN0ID0gRGlzdHJpYnV0aW9uKCkKKyAgICAgICAgY21kID0gdGVzdChkaXN0KQorICAgICAgICBzZWxmLnNhZmVseV9yZXBsYWNlKHV0MS5UZXN0TG9hZGVyLCAiZGlzY292ZXIiLCBsYW1iZGE6IE5vbmUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY21kLmdldF91dF93aXRoX2Rpc2NvdmVyeSgpLCB1dDEpCisKKyAgICAgICAgZGVsIHV0MS5UZXN0TG9hZGVyLmRpc2NvdmVyCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY21kLmdldF91dF93aXRoX2Rpc2NvdmVyeSgpLCBtb2NrX3V0MikKKworICAgIGRlZiB0ZXN0X2NhbGxzX2Rpc2NvdmVyKHNlbGYpOgorICAgICAgICBzZWxmLnNhZmVseV9yZXBsYWNlKHV0MS5UZXN0TG9hZGVyLCAiZGlzY292ZXIiLCBkZWxldGU9VHJ1ZSkKKyAgICAgICAgbW9ja191dDIgPSBzZWxmLnByZXBhcmVfbW9ja191dDIoKQorICAgICAgICByZWNvcmQgPSBbXQorICAgICAgICBtb2NrX3V0Mi5UZXN0TG9hZGVyLmRpc2NvdmVyID0gbGFtYmRhIHNlbGYsIHBhdGg6IHJlY29yZC5hcHBlbmQocGF0aCkKKyAgICAgICAgZGlzdCA9IERpc3RyaWJ1dGlvbigpCisgICAgICAgIGNtZCA9IHRlc3QoZGlzdCkKKyAgICAgICAgY21kLnJ1bigpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoW29zLmN1cmRpcl0sIHJlY29yZCkKKworCitkZWYgdGVzdF9zdWl0ZSgpOgorICAgIHJldHVybiB1bml0dGVzdC5tYWtlU3VpdGUoVGVzdFRlc3QpCisKK2lmIF9fbmFtZV9fID09ICJfX21haW5fXyI6CisgICAgdW5pdHRlc3QubWFpbihkZWZhdWx0VGVzdD0idGVzdF9zdWl0ZSIpCmRpZmYgLS1naXQgYS9MaWIvcGFja2FnaW5nL3Rlc3RzL3Rlc3RfY29tbWFuZF91cGxvYWQucHkgYi9MaWIvcGFja2FnaW5nL3Rlc3RzL3Rlc3RfY29tbWFuZF91cGxvYWQucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWY2OGMxZAotLS0gL2Rldi9udWxsCisrKyBiL0xpYi9wYWNrYWdpbmcvdGVzdHMvdGVzdF9jb21tYW5kX3VwbG9hZC5weQpAQCAtMCwwICsxLDE1OSBAQAorIiIiVGVzdHMgZm9yIHBhY2thZ2luZy5jb21tYW5kLnVwbG9hZC4iIiIKK2ltcG9ydCBvcworCitmcm9tIHBhY2thZ2luZy5jb21tYW5kLnVwbG9hZCBpbXBvcnQgdXBsb2FkCitmcm9tIHBhY2thZ2luZy5kaXN0IGltcG9ydCBEaXN0cmlidXRpb24KK2Zyb20gcGFja2FnaW5nLmVycm9ycyBpbXBvcnQgUGFja2FnaW5nT3B0aW9uRXJyb3IKKworZnJvbSBwYWNrYWdpbmcudGVzdHMgaW1wb3J0IHVuaXR0ZXN0LCBzdXBwb3J0Cit0cnk6CisgICAgaW1wb3J0IHRocmVhZGluZworICAgIGZyb20gcGFja2FnaW5nLnRlc3RzLnB5cGlfc2VydmVyIGltcG9ydCBQeVBJU2VydmVyVGVzdENhc2UKK2V4Y2VwdCBJbXBvcnRFcnJvcjoKKyAgICB0aHJlYWRpbmcgPSBOb25lCisgICAgUHlQSVNlcnZlclRlc3RDYXNlID0gdW5pdHRlc3QuVGVzdENhc2UKKworCitQWVBJUkNfTk9QQVNTV09SRCA9ICIiIlwKK1tkaXN0dXRpbHNdCisKK2luZGV4LXNlcnZlcnMgPQorICAgIHNlcnZlcjEKKworW3NlcnZlcjFdCit1c2VybmFtZTptZQorIiIiCisKK1BZUElSQyA9ICIiIlwKK1tkaXN0dXRpbHNdCisKK2luZGV4LXNlcnZlcnMgPQorICAgIHNlcnZlcjEKKyAgICBzZXJ2ZXIyCisKK1tzZXJ2ZXIxXQordXNlcm5hbWU6bWUKK3Bhc3N3b3JkOnNlY3JldAorCitbc2VydmVyMl0KK3VzZXJuYW1lOm1lYWdhaW4KK3Bhc3N3b3JkOiBzZWNyZXQKK3JlYWxtOmFjbWUKK3JlcG9zaXRvcnk6aHR0cDovL2Fub3RoZXIucHlwaS8KKyIiIgorCisKK0B1bml0dGVzdC5za2lwSWYodGhyZWFkaW5nIGlzIE5vbmUsICduZWVkcyB0aHJlYWRpbmcnKQorY2xhc3MgVXBsb2FkVGVzdENhc2Uoc3VwcG9ydC5UZW1wZGlyTWFuYWdlciwgc3VwcG9ydC5FbnZpcm9uUmVzdG9yZXIsCisgICAgICAgICAgICAgICAgICAgICBzdXBwb3J0LkxvZ2dpbmdDYXRjaGVyLCBQeVBJU2VydmVyVGVzdENhc2UpOgorCisgICAgcmVzdG9yZV9lbnZpcm9uID0gWydIT01FJ10KKworICAgIGRlZiBzZXRVcChzZWxmKToKKyAgICAgICAgc3VwZXIoVXBsb2FkVGVzdENhc2UsIHNlbGYpLnNldFVwKCkKKyAgICAgICAgc2VsZi50bXBfZGlyID0gc2VsZi5ta2R0ZW1wKCkKKyAgICAgICAgc2VsZi5yYyA9IG9zLnBhdGguam9pbihzZWxmLnRtcF9kaXIsICcucHlwaXJjJykKKyAgICAgICAgb3MuZW52aXJvblsnSE9NRSddID0gc2VsZi50bXBfZGlyCisKKyAgICBkZWYgdGVzdF9maW5hbGl6ZV9vcHRpb25zKHNlbGYpOgorICAgICAgICAjIG5ldyBmb3JtYXQKKyAgICAgICAgc2VsZi53cml0ZV9maWxlKHNlbGYucmMsIFBZUElSQykKKyAgICAgICAgZGlzdCA9IERpc3RyaWJ1dGlvbigpCisgICAgICAgIGNtZCA9IHVwbG9hZChkaXN0KQorICAgICAgICBjbWQuZmluYWxpemVfb3B0aW9ucygpCisgICAgICAgIGZvciBhdHRyLCBleHBlY3RlZCBpbiAoKCd1c2VybmFtZScsICdtZScpLCAoJ3Bhc3N3b3JkJywgJ3NlY3JldCcpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgncmVhbG0nLCAncHlwaScpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgncmVwb3NpdG9yeScsICdodHRwOi8vcHlwaS5weXRob24ub3JnL3B5cGknKSk6CisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGdldGF0dHIoY21kLCBhdHRyKSwgZXhwZWN0ZWQpCisKKyAgICBkZWYgdGVzdF9maW5hbGl6ZV9vcHRpb25zX3Vuc2lnbmVkX2lkZW50aXR5X3JhaXNlc19leGNlcHRpb24oc2VsZik6CisgICAgICAgIHNlbGYud3JpdGVfZmlsZShzZWxmLnJjLCBQWVBJUkMpCisgICAgICAgIGRpc3QgPSBEaXN0cmlidXRpb24oKQorICAgICAgICBjbWQgPSB1cGxvYWQoZGlzdCkKKyAgICAgICAgY21kLmlkZW50aXR5ID0gVHJ1ZQorICAgICAgICBjbWQuc2lnbiA9IEZhbHNlCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFBhY2thZ2luZ09wdGlvbkVycm9yLCBjbWQuZmluYWxpemVfb3B0aW9ucykKKworICAgIGRlZiB0ZXN0X3NhdmVkX3Bhc3N3b3JkKHNlbGYpOgorICAgICAgICAjIGZpbGUgd2l0aCBubyBwYXNzd29yZAorICAgICAgICBzZWxmLndyaXRlX2ZpbGUoc2VsZi5yYywgUFlQSVJDX05PUEFTU1dPUkQpCisKKyAgICAgICAgIyBtYWtlIHN1cmUgaXQgcGFzc2VzCisgICAgICAgIGRpc3QgPSBEaXN0cmlidXRpb24oKQorICAgICAgICBjbWQgPSB1cGxvYWQoZGlzdCkKKyAgICAgICAgY21kLmVuc3VyZV9maW5hbGl6ZWQoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNtZC5wYXNzd29yZCwgTm9uZSkKKworICAgICAgICAjIG1ha2Ugc3VyZSB3ZSBnZXQgaXQgYXMgd2VsbCwgaWYgYW5vdGhlciBjb21tYW5kCisgICAgICAgICMgaW5pdGlhbGl6ZWQgaXQgYXQgdGhlIGRpc3QgbGV2ZWwKKyAgICAgICAgZGlzdC5wYXNzd29yZCA9ICd4eHgnCisgICAgICAgIGNtZCA9IHVwbG9hZChkaXN0KQorICAgICAgICBjbWQuZmluYWxpemVfb3B0aW9ucygpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY21kLnBhc3N3b3JkLCAneHh4JykKKworICAgIGRlZiB0ZXN0X3VwbG9hZF93aXRob3V0X2ZpbGVzX3JhaXNlc19leGNlcHRpb24oc2VsZik6CisgICAgICAgIGRpc3QgPSBEaXN0cmlidXRpb24oKQorICAgICAgICBjbWQgPSB1cGxvYWQoZGlzdCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoUGFja2FnaW5nT3B0aW9uRXJyb3IsIGNtZC5ydW4pCisKKyAgICBkZWYgdGVzdF91cGxvYWQoc2VsZik6CisgICAgICAgIHBhdGggPSBvcy5wYXRoLmpvaW4oc2VsZi50bXBfZGlyLCAneHh4JykKKyAgICAgICAgc2VsZi53cml0ZV9maWxlKHBhdGgpCisgICAgICAgIGNvbW1hbmQsIHB5dmVyc2lvbiwgZmlsZW5hbWUgPSAneHh4JywgJzMuMycsIHBhdGgKKyAgICAgICAgZGlzdF9maWxlcyA9IFsoY29tbWFuZCwgcHl2ZXJzaW9uLCBmaWxlbmFtZSldCisKKyAgICAgICAgIyBsZXQncyBydW4gaXQKKyAgICAgICAgZGlzdCA9IHNlbGYuY3JlYXRlX2Rpc3QoZGlzdF9maWxlcz1kaXN0X2ZpbGVzLCBhdXRob3I9J2TDqWTDqScpWzFdCisgICAgICAgIGNtZCA9IHVwbG9hZChkaXN0KQorICAgICAgICBjbWQuZW5zdXJlX2ZpbmFsaXplZCgpCisgICAgICAgIGNtZC5yZXBvc2l0b3J5ID0gc2VsZi5weXBpLmZ1bGxfYWRkcmVzcworICAgICAgICBjbWQucnVuKCkKKworICAgICAgICAjIHdoYXQgZGlkIHdlIHNlbmQ/CisgICAgICAgIGhhbmRsZXIsIHJlcXVlc3RfZGF0YSA9IHNlbGYucHlwaS5yZXF1ZXN0c1stMV0KKyAgICAgICAgaGVhZGVycyA9IGhhbmRsZXIuaGVhZGVycworICAgICAgICBzZWxmLmFzc2VydEluKCdkw6lkw6knLmVuY29kZSgndXRmLTgnKSwgcmVxdWVzdF9kYXRhKQorICAgICAgICBzZWxmLmFzc2VydEluKGIneHh4JywgcmVxdWVzdF9kYXRhKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaW50KGhlYWRlcnNbJ2NvbnRlbnQtbGVuZ3RoJ10pLCBsZW4ocmVxdWVzdF9kYXRhKSkKKyAgICAgICAgc2VsZi5hc3NlcnRMZXNzKGludChoZWFkZXJzWydjb250ZW50LWxlbmd0aCddKSwgMjUwMCkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGhlYWRlcnNbJ2NvbnRlbnQtdHlwZSddLnN0YXJ0c3dpdGgoCisgICAgICAgICAgICAnbXVsdGlwYXJ0L2Zvcm0tZGF0YScpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGhhbmRsZXIuY29tbWFuZCwgJ1BPU1QnKQorICAgICAgICBzZWxmLmFzc2VydE5vdEluKCdcbicsIGhlYWRlcnNbJ2F1dGhvcml6YXRpb24nXSkKKworICAgIGRlZiB0ZXN0X3VwbG9hZF9kb2NzKHNlbGYpOgorICAgICAgICBwYXRoID0gb3MucGF0aC5qb2luKHNlbGYudG1wX2RpciwgJ3h4eCcpCisgICAgICAgIHNlbGYud3JpdGVfZmlsZShwYXRoKQorICAgICAgICBjb21tYW5kLCBweXZlcnNpb24sIGZpbGVuYW1lID0gJ3h4eCcsICczLjMnLCBwYXRoCisgICAgICAgIGRpc3RfZmlsZXMgPSBbKGNvbW1hbmQsIHB5dmVyc2lvbiwgZmlsZW5hbWUpXQorICAgICAgICBkb2NzX3BhdGggPSBvcy5wYXRoLmpvaW4oc2VsZi50bXBfZGlyLCAiYnVpbGQiLCAiZG9jcyIpCisgICAgICAgIG9zLm1ha2VkaXJzKGRvY3NfcGF0aCkKKyAgICAgICAgc2VsZi53cml0ZV9maWxlKChkb2NzX3BhdGgsICJpbmRleC5odG1sIiksICJ5ZWxsb3ciKQorICAgICAgICBzZWxmLndyaXRlX2ZpbGUoc2VsZi5yYywgUFlQSVJDKQorCisgICAgICAgICMgbGV0J3MgcnVuIGl0CisgICAgICAgIGRpc3QgPSBzZWxmLmNyZWF0ZV9kaXN0KGRpc3RfZmlsZXM9ZGlzdF9maWxlcywgYXV0aG9yPSdkw6lkw6knKVsxXQorCisgICAgICAgIGNtZCA9IHVwbG9hZChkaXN0KQorICAgICAgICBjbWQuZ2V0X2ZpbmFsaXplZF9jb21tYW5kKCJidWlsZCIpLnJ1bigpCisgICAgICAgIGNtZC51cGxvYWRfZG9jcyA9IFRydWUKKyAgICAgICAgY21kLmVuc3VyZV9maW5hbGl6ZWQoKQorICAgICAgICBjbWQucmVwb3NpdG9yeSA9IHNlbGYucHlwaS5mdWxsX2FkZHJlc3MKKyAgICAgICAgb3MuY2hkaXIoc2VsZi50bXBfZGlyKQorICAgICAgICBjbWQucnVuKCkKKworICAgICAgICBoYW5kbGVyLCByZXF1ZXN0X2RhdGEgPSBzZWxmLnB5cGkucmVxdWVzdHNbLTFdCisgICAgICAgIGFjdGlvbiwgbmFtZSwgY29udGVudCA9IHJlcXVlc3RfZGF0YS5zcGxpdCgKKyAgICAgICAgICAgICItLS0tLS0tLS0tLS0tLS0tR0hTS0ZKRExHRFM3NTQzRkpLTEZIUkU3NTY0Mjc1Njc0MzI1NCIKKyAgICAgICAgICAgIC5lbmNvZGUoKSlbMTo0XQorCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oYiduYW1lPSI6YWN0aW9uIicsIGFjdGlvbikKKyAgICAgICAgc2VsZi5hc3NlcnRJbihiJ2RvY191cGxvYWQnLCBhY3Rpb24pCisKKworZGVmIHRlc3Rfc3VpdGUoKToKKyAgICByZXR1cm4gdW5pdHRlc3QubWFrZVN1aXRlKFVwbG9hZFRlc3RDYXNlKQorCitpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgorICAgIHVuaXR0ZXN0Lm1haW4oZGVmYXVsdFRlc3Q9InRlc3Rfc3VpdGUiKQpkaWZmIC0tZ2l0IGEvTGliL3BhY2thZ2luZy90ZXN0cy90ZXN0X2NvbW1hbmRfdXBsb2FkX2RvY3MucHkgYi9MaWIvcGFja2FnaW5nL3Rlc3RzL3Rlc3RfY29tbWFuZF91cGxvYWRfZG9jcy5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MDNlNzMzCi0tLSAvZGV2L251bGwKKysrIGIvTGliL3BhY2thZ2luZy90ZXN0cy90ZXN0X2NvbW1hbmRfdXBsb2FkX2RvY3MucHkKQEAgLTAsMCArMSwxODYgQEAKKyIiIlRlc3RzIGZvciBwYWNrYWdpbmcuY29tbWFuZC51cGxvYWRfZG9jcy4iIiIKK2ltcG9ydCBvcworaW1wb3J0IHNodXRpbAoraW1wb3J0IGxvZ2dpbmcKK2ltcG9ydCB6aXBmaWxlCit0cnk6CisgICAgaW1wb3J0IF9zc2wKK2V4Y2VwdCBJbXBvcnRFcnJvcjoKKyAgICBfc3NsID0gTm9uZQorCitmcm9tIHBhY2thZ2luZy5jb21tYW5kIGltcG9ydCB1cGxvYWRfZG9jcyBhcyB1cGxvYWRfZG9jc19tb2QKK2Zyb20gcGFja2FnaW5nLmNvbW1hbmQudXBsb2FkX2RvY3MgaW1wb3J0IHVwbG9hZF9kb2NzLCB6aXBfZGlyCitmcm9tIHBhY2thZ2luZy5kaXN0IGltcG9ydCBEaXN0cmlidXRpb24KK2Zyb20gcGFja2FnaW5nLmVycm9ycyBpbXBvcnQgUGFja2FnaW5nRmlsZUVycm9yLCBQYWNrYWdpbmdPcHRpb25FcnJvcgorCitmcm9tIHBhY2thZ2luZy50ZXN0cyBpbXBvcnQgdW5pdHRlc3QsIHN1cHBvcnQKK3RyeToKKyAgICBpbXBvcnQgdGhyZWFkaW5nCisgICAgZnJvbSBwYWNrYWdpbmcudGVzdHMucHlwaV9zZXJ2ZXIgaW1wb3J0IFB5UElTZXJ2ZXJUZXN0Q2FzZQorZXhjZXB0IEltcG9ydEVycm9yOgorICAgIHRocmVhZGluZyA9IE5vbmUKKyAgICBQeVBJU2VydmVyVGVzdENhc2UgPSB1bml0dGVzdC5UZXN0Q2FzZQorCisKK1BZUElSQyA9ICIiIlwKK1tkaXN0dXRpbHNdCitpbmRleC1zZXJ2ZXJzID0gc2VydmVyMQorCitbc2VydmVyMV0KK3JlcG9zaXRvcnkgPSAlcwordXNlcm5hbWUgPSByZWFsX3NsaW1fc2hhZHkKK3Bhc3N3b3JkID0gbG9uZ19pc2xhbmQKKyIiIgorCisKK0B1bml0dGVzdC5za2lwSWYodGhyZWFkaW5nIGlzIE5vbmUsICJOZWVkcyB0aHJlYWRpbmciKQorY2xhc3MgVXBsb2FkRG9jc1Rlc3RDYXNlKHN1cHBvcnQuVGVtcGRpck1hbmFnZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgc3VwcG9ydC5FbnZpcm9uUmVzdG9yZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgc3VwcG9ydC5Mb2dnaW5nQ2F0Y2hlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICBQeVBJU2VydmVyVGVzdENhc2UpOgorCisgICAgcmVzdG9yZV9lbnZpcm9uID0gWydIT01FJ10KKworICAgIGRlZiBzZXRVcChzZWxmKToKKyAgICAgICAgc3VwZXIoVXBsb2FkRG9jc1Rlc3RDYXNlLCBzZWxmKS5zZXRVcCgpCisgICAgICAgIHNlbGYudG1wX2RpciA9IHNlbGYubWtkdGVtcCgpCisgICAgICAgIHNlbGYucmMgPSBvcy5wYXRoLmpvaW4oc2VsZi50bXBfZGlyLCAnLnB5cGlyYycpCisgICAgICAgIG9zLmVudmlyb25bJ0hPTUUnXSA9IHNlbGYudG1wX2RpcgorICAgICAgICBzZWxmLmRpc3QgPSBEaXN0cmlidXRpb24oKQorICAgICAgICBzZWxmLmRpc3QubWV0YWRhdGFbJ05hbWUnXSA9ICJkaXN0ci1uYW1lIgorICAgICAgICBzZWxmLmNtZCA9IHVwbG9hZF9kb2NzKHNlbGYuZGlzdCkKKworICAgIGRlZiB0ZXN0X2RlZmF1bHRfdXBsb2FkZGlyKHNlbGYpOgorICAgICAgICBzYW5kYm94ID0gc2VsZi5ta2R0ZW1wKCkKKyAgICAgICAgb3MuY2hkaXIoc2FuZGJveCkKKyAgICAgICAgb3MubWtkaXIoImJ1aWxkIikKKyAgICAgICAgc2VsZi5wcmVwYXJlX3NhbXBsZV9kaXIoImJ1aWxkIikKKyAgICAgICAgc2VsZi5jbWQuZW5zdXJlX2ZpbmFsaXplZCgpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5jbWQudXBsb2FkX2Rpciwgb3MucGF0aC5qb2luKCJidWlsZCIsICJkb2NzIikpCisKKyAgICBkZWYgdGVzdF9kZWZhdWx0X3VwbG9hZGRpcl9sb29rc19mb3JfZG9jX2Fsc28oc2VsZik6CisgICAgICAgIHNhbmRib3ggPSBzZWxmLm1rZHRlbXAoKQorICAgICAgICBvcy5jaGRpcihzYW5kYm94KQorICAgICAgICBvcy5ta2RpcigiYnVpbGQiKQorICAgICAgICBzZWxmLnByZXBhcmVfc2FtcGxlX2RpcigiYnVpbGQiKQorICAgICAgICBvcy5yZW5hbWUob3MucGF0aC5qb2luKCJidWlsZCIsICJkb2NzIiksIG9zLnBhdGguam9pbigiYnVpbGQiLCAiZG9jIikpCisgICAgICAgIHNlbGYuY21kLmVuc3VyZV9maW5hbGl6ZWQoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuY21kLnVwbG9hZF9kaXIsIG9zLnBhdGguam9pbigiYnVpbGQiLCAiZG9jIikpCisKKyAgICBkZWYgcHJlcGFyZV9zYW1wbGVfZGlyKHNlbGYsIHNhbXBsZV9kaXI9Tm9uZSk6CisgICAgICAgIGlmIHNhbXBsZV9kaXIgaXMgTm9uZToKKyAgICAgICAgICAgIHNhbXBsZV9kaXIgPSBzZWxmLm1rZHRlbXAoKQorICAgICAgICBvcy5ta2Rpcihvcy5wYXRoLmpvaW4oc2FtcGxlX2RpciwgImRvY3MiKSkKKyAgICAgICAgc2VsZi53cml0ZV9maWxlKChzYW1wbGVfZGlyLCAiZG9jcyIsICJpbmRleC5odG1sIiksICJDZSBtb3J0ZWwgZW5udWkiKQorICAgICAgICBzZWxmLndyaXRlX2ZpbGUoKHNhbXBsZV9kaXIsICJpbmRleC5odG1sIiksICJPaCBsYSBsYSIpCisgICAgICAgIHJldHVybiBzYW1wbGVfZGlyCisKKyAgICBkZWYgdGVzdF96aXBfZGlyKHNlbGYpOgorICAgICAgICBzb3VyY2VfZGlyID0gc2VsZi5wcmVwYXJlX3NhbXBsZV9kaXIoKQorICAgICAgICBjb21wcmVzc2VkID0gemlwX2Rpcihzb3VyY2VfZGlyKQorCisgICAgICAgIHppcF9mID0gemlwZmlsZS5aaXBGaWxlKGNvbXByZXNzZWQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoemlwX2YubmFtZWxpc3QoKSwgWydpbmRleC5odG1sJywgJ2RvY3MvaW5kZXguaHRtbCddKQorCisgICAgZGVmIHByZXBhcmVfY29tbWFuZChzZWxmKToKKyAgICAgICAgc2VsZi5jbWQudXBsb2FkX2RpciA9IHNlbGYucHJlcGFyZV9zYW1wbGVfZGlyKCkKKyAgICAgICAgc2VsZi5jbWQuZW5zdXJlX2ZpbmFsaXplZCgpCisgICAgICAgIHNlbGYuY21kLnJlcG9zaXRvcnkgPSBzZWxmLnB5cGkuZnVsbF9hZGRyZXNzCisgICAgICAgIHNlbGYuY21kLnVzZXJuYW1lID0gInVzZXJuYW1lIgorICAgICAgICBzZWxmLmNtZC5wYXNzd29yZCA9ICJwYXNzd29yZCIKKworICAgIGRlZiB0ZXN0X3VwbG9hZChzZWxmKToKKyAgICAgICAgc2VsZi5wcmVwYXJlX2NvbW1hbmQoKQorICAgICAgICBzZWxmLmNtZC5ydW4oKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKHNlbGYucHlwaS5yZXF1ZXN0cyksIDEpCisgICAgICAgIGhhbmRsZXIsIHJlcXVlc3RfZGF0YSA9IHNlbGYucHlwaS5yZXF1ZXN0c1stMV0KKyAgICAgICAgc2VsZi5hc3NlcnRJbihiImNvbnRlbnQiLCByZXF1ZXN0X2RhdGEpCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oIkJhc2ljIiwgaGFuZGxlci5oZWFkZXJzWydhdXRob3JpemF0aW9uJ10pCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShoYW5kbGVyLmhlYWRlcnNbJ2NvbnRlbnQtdHlwZSddCisgICAgICAgICAgICAuc3RhcnRzd2l0aCgnbXVsdGlwYXJ0L2Zvcm0tZGF0YTsnKSkKKworICAgICAgICBhY3Rpb24sIG5hbWUsIHZlcnNpb24sIGNvbnRlbnQgPSByZXF1ZXN0X2RhdGEuc3BsaXQoCisgICAgICAgICAgICBiJy0tLS0tLS0tLS0tLS0tLS1HSFNLRkpETEdEUzc1NDNGSktMRkhSRTc1NjQyNzU2NzQzMjU0JylbMTo1XQorCisgICAgICAgICMgY2hlY2sgdGhhdCB3ZSBwaWNrZWQgdGhlIHJpZ2h0IGNodW5rcworICAgICAgICBzZWxmLmFzc2VydEluKGInbmFtZT0iOmFjdGlvbiInLCBhY3Rpb24pCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oYiduYW1lPSJuYW1lIicsIG5hbWUpCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oYiduYW1lPSJ2ZXJzaW9uIicsIHZlcnNpb24pCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oYiduYW1lPSJjb250ZW50IicsIGNvbnRlbnQpCisKKyAgICAgICAgIyBjaGVjayB0aGVpciBjb250ZW50cworICAgICAgICBzZWxmLmFzc2VydEluKGInZG9jX3VwbG9hZCcsIGFjdGlvbikKKyAgICAgICAgc2VsZi5hc3NlcnRJbihiJ2Rpc3RyLW5hbWUnLCBuYW1lKQorICAgICAgICBzZWxmLmFzc2VydEluKGInZG9jcy9pbmRleC5odG1sJywgY29udGVudCkKKyAgICAgICAgc2VsZi5hc3NlcnRJbihiJ0NlIG1vcnRlbCBlbm51aScsIGNvbnRlbnQpCisKKyAgICBAdW5pdHRlc3Quc2tpcElmKF9zc2wgaXMgTm9uZSwgJ05lZWRzIFNTTCBzdXBwb3J0JykKKyAgICBkZWYgdGVzdF9odHRwc19jb25uZWN0aW9uKHNlbGYpOgorICAgICAgICBzZWxmLmh0dHBzX2NhbGxlZCA9IEZhbHNlCisgICAgICAgIHNlbGYuYWRkQ2xlYW51cCgKKyAgICAgICAgICAgIHNldGF0dHIsIHVwbG9hZF9kb2NzX21vZC5odHRwLmNsaWVudCwgJ0hUVFBTQ29ubmVjdGlvbicsCisgICAgICAgICAgICB1cGxvYWRfZG9jc19tb2QuaHR0cC5jbGllbnQuSFRUUFNDb25uZWN0aW9uKQorCisgICAgICAgIGRlZiBodHRwc19jb25uX3dyYXBwZXIoKmFyZ3MpOgorICAgICAgICAgICAgc2VsZi5odHRwc19jYWxsZWQgPSBUcnVlCisgICAgICAgICAgICAjIHRoZSB0ZXN0aW5nIHNlcnZlciBpcyBodHRwCisgICAgICAgICAgICByZXR1cm4gdXBsb2FkX2RvY3NfbW9kLmh0dHAuY2xpZW50LkhUVFBDb25uZWN0aW9uKCphcmdzKQorCisgICAgICAgIHVwbG9hZF9kb2NzX21vZC5odHRwLmNsaWVudC5IVFRQU0Nvbm5lY3Rpb24gPSBodHRwc19jb25uX3dyYXBwZXIKKworICAgICAgICBzZWxmLnByZXBhcmVfY29tbWFuZCgpCisgICAgICAgIHNlbGYuY21kLnJ1bigpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2Uoc2VsZi5odHRwc19jYWxsZWQpCisKKyAgICAgICAgc2VsZi5jbWQucmVwb3NpdG9yeSA9IHNlbGYuY21kLnJlcG9zaXRvcnkucmVwbGFjZSgiaHR0cCIsICJodHRwcyIpCisgICAgICAgIHNlbGYuY21kLnJ1bigpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShzZWxmLmh0dHBzX2NhbGxlZCkKKworICAgIGRlZiB0ZXN0X2hhbmRsaW5nX3Jlc3BvbnNlKHNlbGYpOgorICAgICAgICBzZWxmLnB5cGkuZGVmYXVsdF9yZXNwb25zZV9zdGF0dXMgPSAnNDAzIEZvcmJpZGRlbicKKyAgICAgICAgc2VsZi5wcmVwYXJlX2NvbW1hbmQoKQorICAgICAgICBzZWxmLmNtZC5ydW4oKQorICAgICAgICBlcnJvcnMgPSBzZWxmLmdldF9sb2dzKGxvZ2dpbmcuRVJST1IpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGVycm9ycyksIDEpCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ1VwbG9hZCBmYWlsZWQgKDQwMyk6IEZvcmJpZGRlbicsIGVycm9yc1swXSkKKworICAgICAgICBzZWxmLnB5cGkuZGVmYXVsdF9yZXNwb25zZV9zdGF0dXMgPSAnMzAxIE1vdmVkIFBlcm1hbmVudGx5JworICAgICAgICBzZWxmLnB5cGkuZGVmYXVsdF9yZXNwb25zZV9oZWFkZXJzLmFwcGVuZCgKKyAgICAgICAgICAgICgiTG9jYXRpb24iLCAiYnJhbmRfbmV3X2xvY2F0aW9uIikpCisgICAgICAgIHNlbGYuY21kLnJ1bigpCisgICAgICAgIGxhc3Rsb2cgPSBzZWxmLmdldF9sb2dzKGxvZ2dpbmcuSU5GTylbLTFdCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ2JyYW5kX25ld19sb2NhdGlvbicsIGxhc3Rsb2cpCisKKyAgICBkZWYgdGVzdF9yZWFkc19weXBpcmNfZGF0YShzZWxmKToKKyAgICAgICAgc2VsZi53cml0ZV9maWxlKHNlbGYucmMsIFBZUElSQyAlIHNlbGYucHlwaS5mdWxsX2FkZHJlc3MpCisgICAgICAgIHNlbGYuY21kLnJlcG9zaXRvcnkgPSBzZWxmLnB5cGkuZnVsbF9hZGRyZXNzCisgICAgICAgIHNlbGYuY21kLnVwbG9hZF9kaXIgPSBzZWxmLnByZXBhcmVfc2FtcGxlX2RpcigpCisgICAgICAgIHNlbGYuY21kLmVuc3VyZV9maW5hbGl6ZWQoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuY21kLnVzZXJuYW1lLCAicmVhbF9zbGltX3NoYWR5IikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmNtZC5wYXNzd29yZCwgImxvbmdfaXNsYW5kIikKKworICAgIGRlZiB0ZXN0X2NoZWNrc19pbmRleF9odG1sX3ByZXNlbmNlKHNlbGYpOgorICAgICAgICBzZWxmLmNtZC51cGxvYWRfZGlyID0gc2VsZi5wcmVwYXJlX3NhbXBsZV9kaXIoKQorICAgICAgICBvcy5yZW1vdmUob3MucGF0aC5qb2luKHNlbGYuY21kLnVwbG9hZF9kaXIsICJpbmRleC5odG1sIikpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFBhY2thZ2luZ0ZpbGVFcnJvciwgc2VsZi5jbWQuZW5zdXJlX2ZpbmFsaXplZCkKKworICAgIGRlZiB0ZXN0X2NoZWNrc191cGxvYWRfZGlyKHNlbGYpOgorICAgICAgICBzZWxmLmNtZC51cGxvYWRfZGlyID0gc2VsZi5wcmVwYXJlX3NhbXBsZV9kaXIoKQorICAgICAgICBzaHV0aWwucm10cmVlKG9zLnBhdGguam9pbihzZWxmLmNtZC51cGxvYWRfZGlyKSkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoUGFja2FnaW5nT3B0aW9uRXJyb3IsIHNlbGYuY21kLmVuc3VyZV9maW5hbGl6ZWQpCisKKyAgICBkZWYgdGVzdF9zaG93X3Jlc3BvbnNlKHNlbGYpOgorICAgICAgICBzZWxmLnByZXBhcmVfY29tbWFuZCgpCisgICAgICAgIHNlbGYuY21kLnNob3dfcmVzcG9uc2UgPSBUcnVlCisgICAgICAgIHNlbGYuY21kLnJ1bigpCisgICAgICAgIHJlY29yZCA9IHNlbGYuZ2V0X2xvZ3MobG9nZ2luZy5JTkZPKVstMV0KKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHJlY29yZCwgInNob3VsZCByZXBvcnQgdGhlIHJlc3BvbnNlIikKKyAgICAgICAgc2VsZi5hc3NlcnRJbihzZWxmLnB5cGkuZGVmYXVsdF9yZXNwb25zZV9kYXRhLCByZWNvcmQpCisKKworZGVmIHRlc3Rfc3VpdGUoKToKKyAgICByZXR1cm4gdW5pdHRlc3QubWFrZVN1aXRlKFVwbG9hZERvY3NUZXN0Q2FzZSkKKworaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKKyAgICB1bml0dGVzdC5tYWluKGRlZmF1bHRUZXN0PSJ0ZXN0X3N1aXRlIikKZGlmZiAtLWdpdCBhL0xpYi9wYWNrYWdpbmcvdGVzdHMvdGVzdF9jb21waWxlci5weSBiL0xpYi9wYWNrYWdpbmcvdGVzdHMvdGVzdF9jb21waWxlci5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYzYyMGNiCi0tLSAvZGV2L251bGwKKysrIGIvTGliL3BhY2thZ2luZy90ZXN0cy90ZXN0X2NvbXBpbGVyLnB5CkBAIC0wLDAgKzEsNjYgQEAKKyIiIlRlc3RzIGZvciBkaXN0dXRpbHMuY29tcGlsZXIuIiIiCitpbXBvcnQgb3MKKworZnJvbSBwYWNrYWdpbmcuY29tcGlsZXIgaW1wb3J0IChnZXRfZGVmYXVsdF9jb21waWxlciwgY3VzdG9taXplX2NvbXBpbGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZW5fbGliX29wdGlvbnMpCitmcm9tIHBhY2thZ2luZy50ZXN0cyBpbXBvcnQgdW5pdHRlc3QsIHN1cHBvcnQKKworCitjbGFzcyBGYWtlQ29tcGlsZXI6CisKKyAgICBuYW1lID0gJ2Zha2UnCisgICAgZGVzY3JpcHRpb24gPSAnRmFrZScKKworICAgIGRlZiBsaWJyYXJ5X2Rpcl9vcHRpb24oc2VsZiwgZGlyKToKKyAgICAgICAgcmV0dXJuICItTCIgKyBkaXIKKworICAgIGRlZiBydW50aW1lX2xpYnJhcnlfZGlyX29wdGlvbihzZWxmLCBkaXIpOgorICAgICAgICByZXR1cm4gWyItY29vbCIsICItUiIgKyBkaXJdCisKKyAgICBkZWYgZmluZF9saWJyYXJ5X2ZpbGUoc2VsZiwgZGlycywgbGliLCBkZWJ1Zz1GYWxzZSk6CisgICAgICAgIHJldHVybiAnZm91bmQnCisKKyAgICBkZWYgbGlicmFyeV9vcHRpb24oc2VsZiwgbGliKToKKyAgICAgICAgcmV0dXJuICItbCIgKyBsaWIKKworCitjbGFzcyBDb21waWxlclRlc3RDYXNlKHN1cHBvcnQuRW52aXJvblJlc3RvcmVyLCB1bml0dGVzdC5UZXN0Q2FzZSk6CisKKyAgICByZXN0b3JlX2Vudmlyb24gPSBbJ0FSJywgJ0FSRkxBR1MnXQorCisgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3MoZ2V0X2RlZmF1bHRfY29tcGlsZXIoKSA9PSAndW5peCcsCisgICAgICAgICAgICAgICAgICAgICAgICAnaXJyZWxldmFudCBpZiBkZWZhdWx0IGNvbXBpbGVyIGlzIG5vdCB1bml4JykKKyAgICBkZWYgdGVzdF9jdXN0b21pemVfY29tcGlsZXIoc2VsZik6CisKKyAgICAgICAgb3MuZW52aXJvblsnQVInXSA9ICdteV9hcicKKyAgICAgICAgb3MuZW52aXJvblsnQVJGTEFHUyddID0gJy1hcmZsYWdzJworCisgICAgICAgICMgbWFrZSBzdXJlIEFSIGdldHMgY2F1Z2h0CisgICAgICAgIGNsYXNzIGNvbXBpbGVyOgorICAgICAgICAgICAgbmFtZSA9ICd1bml4JworCisgICAgICAgICAgICBkZWYgc2V0X2V4ZWN1dGFibGVzKHNlbGYsICoqa3cpOgorICAgICAgICAgICAgICAgIHNlbGYuZXhlcyA9IGt3CisKKyAgICAgICAgY29tcCA9IGNvbXBpbGVyKCkKKyAgICAgICAgY3VzdG9taXplX2NvbXBpbGVyKGNvbXApCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY29tcC5leGVzWydhcmNoaXZlciddLCAnbXlfYXIgLWFyZmxhZ3MnKQorCisgICAgZGVmIHRlc3RfZ2VuX2xpYl9vcHRpb25zKHNlbGYpOgorICAgICAgICBjb21waWxlciA9IEZha2VDb21waWxlcigpCisgICAgICAgIGxpYmRpcnMgPSBbJ2xpYjEnLCAnbGliMiddCisgICAgICAgIHJ1bmxpYmRpcnMgPSBbJ3J1bmxpYjEnXQorICAgICAgICBsaWJzID0gW29zLnBhdGguam9pbignZGlyJywgJ25hbWUnKSwgJ25hbWUyJ10KKworICAgICAgICBvcHRzID0gZ2VuX2xpYl9vcHRpb25zKGNvbXBpbGVyLCBsaWJkaXJzLCBydW5saWJkaXJzLCBsaWJzKQorICAgICAgICB3YW50ZWQgPSBbJy1MbGliMScsICctTGxpYjInLCAnLWNvb2wnLCAnLVJydW5saWIxJywgJ2ZvdW5kJywKKyAgICAgICAgICAgICAgICAgICctbG5hbWUyJ10KKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvcHRzLCB3YW50ZWQpCisKKworZGVmIHRlc3Rfc3VpdGUoKToKKyAgICByZXR1cm4gdW5pdHRlc3QubWFrZVN1aXRlKENvbXBpbGVyVGVzdENhc2UpCisKKworaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKKyAgICB1bml0dGVzdC5tYWluKGRlZmF1bHRUZXN0PSJ0ZXN0X3N1aXRlIikKZGlmZiAtLWdpdCBhL0xpYi9wYWNrYWdpbmcvdGVzdHMvdGVzdF9jb25maWcucHkgYi9MaWIvcGFja2FnaW5nL3Rlc3RzL3Rlc3RfY29uZmlnLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBkNzZiMjkKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvcGFja2FnaW5nL3Rlc3RzL3Rlc3RfY29uZmlnLnB5CkBAIC0wLDAgKzEsNTE5IEBACisiIiJUZXN0cyBmb3IgcGFja2FnaW5nLmNvbmZpZy4iIiIKK2ltcG9ydCBvcworaW1wb3J0IHN5cworCitmcm9tIHBhY2thZ2luZyBpbXBvcnQgY29tbWFuZAorZnJvbSBwYWNrYWdpbmcuZGlzdCBpbXBvcnQgRGlzdHJpYnV0aW9uCitmcm9tIHBhY2thZ2luZy5lcnJvcnMgaW1wb3J0IFBhY2thZ2luZ0ZpbGVFcnJvciwgUGFja2FnaW5nT3B0aW9uRXJyb3IKK2Zyb20gcGFja2FnaW5nLmNvbXBpbGVyIGltcG9ydCBuZXdfY29tcGlsZXIsIF9DT01QSUxFUlMKK2Zyb20gcGFja2FnaW5nLmNvbW1hbmQuc2Rpc3QgaW1wb3J0IHNkaXN0CisKK2Zyb20gcGFja2FnaW5nLnRlc3RzIGltcG9ydCB1bml0dGVzdCwgc3VwcG9ydAorZnJvbSBwYWNrYWdpbmcudGVzdHMuc3VwcG9ydCBpbXBvcnQgcmVxdWlyZXNfemxpYgorCisKK1NFVFVQX0NGRyA9ICIiIgorW21ldGFkYXRhXQorbmFtZSA9IFJlc3RpbmdQYXJyb3QKK3ZlcnNpb24gPSAwLjYuNAorYXV0aG9yID0gQ2FybCBNZXllcgorYXV0aG9yX2VtYWlsID0gY2FybEBvZGRiaXJkLm5ldAorbWFpbnRhaW5lciA9IMOJcmljIEFyYXVqbworbWFpbnRhaW5lcl9lbWFpbCA9IG1lcndva0BuZXR3b2sub3JnCitzdW1tYXJ5ID0gQSBzYW1wbGUgcHJvamVjdCBkZW1vbnN0cmF0aW5nIHBhY2thZ2luZworZGVzY3JpcHRpb24tZmlsZSA9ICUoZGVzY3JpcHRpb24tZmlsZSlzCitrZXl3b3JkcyA9IHBhY2thZ2luZywgc2FtcGxlIHByb2plY3QKKworY2xhc3NpZmllciA9CisgIERldmVsb3BtZW50IFN0YXR1cyA6OiA0IC0gQmV0YQorICBFbnZpcm9ubWVudCA6OiBDb25zb2xlIChUZXh0IEJhc2VkKQorICBFbnZpcm9ubWVudCA6OiBYMTEgQXBwbGljYXRpb25zIDo6IEdUSzsgcHl0aG9uX3ZlcnNpb24gPCAnMycKKyAgTGljZW5zZSA6OiBPU0kgQXBwcm92ZWQgOjogTUlUIExpY2Vuc2UKKyAgUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogUHl0aG9uCisgIFByb2dyYW1taW5nIExhbmd1YWdlIDo6IFB5dGhvbiA6OiAyCisgIFByb2dyYW1taW5nIExhbmd1YWdlIDo6IFB5dGhvbiA6OiAzCisKK3JlcXVpcmVzX3B5dGhvbiA9ID49Mi40LCA8My4yCisKK3JlcXVpcmVzX2Rpc3QgPQorICBQZXRTaG9wcGUKKyAgTWljaGFlbFBhbGluICg+IDEuMSkKKyAgcHl3aW4zMjsgc3lzLnBsYXRmb3JtID09ICd3aW4zMicKKyAgcHlzcWxpdGUyOyBweXRob25fdmVyc2lvbiA8ICcyLjUnCisgIGlub3RpZnkgKDAuMC4xKTsgc3lzLnBsYXRmb3JtID09ICdsaW51eDInCisKK3JlcXVpcmVzX2V4dGVybmFsID0gbGlieG1sMgorCitwcm92aWRlc19kaXN0ID0gcGFja2FnaW5nLXNhbXBsZS1wcm9qZWN0ICgwLjIpCisgICAgICAgICAgICAgICAgdW5pdHRlc3QyLXNhbXBsZS1wcm9qZWN0CisKK3Byb2plY3RfdXJsID0KKyAgTWFpbiByZXBvc2l0b3J5LCBodHRwOi8vYml0YnVja2V0Lm9yZy9jYXJsam0vc2FtcGxlLWRpc3R1dGlsczItcHJvamVjdAorICBGb3JrIGluIHByb2dyZXNzLCBodHRwOi8vYml0YnVja2V0Lm9yZy9NZXJ3b2svc2FtcGxlLWRpc3R1dGlsczItcHJvamVjdAorCitbZmlsZXNdCitwYWNrYWdlc19yb290ID0gc3JjCisKK3BhY2thZ2VzID0gb25lCisgICAgICAgICAgIHR3bworICAgICAgICAgICB0aHJlZQorCittb2R1bGVzID0gaGF2ZW4KKworc2NyaXB0cyA9CisgIHNjcmlwdDEucHkKKyAgc2NyaXB0cy9maW5kLWNvY29udXRzCisgIGJpbi90YXVudAorCitwYWNrYWdlX2RhdGEgPQorICBjaGVlc2UgPSBkYXRhL3RlbXBsYXRlcy8qIGRvYy8qCisgICAgICBkb2MvaW1hZ2VzLyoucG5nCisKKworZXh0cmFfZmlsZXMgPSAlKGV4dHJhLWZpbGVzKXMKKworIyBSZXBsYWNlcyBNQU5JRkVTVC5pbgorIyBGSVhNRSBubywgaXQncyBleHRyYV9maWxlcworIyAoYnV0IHNkaXN0X2V4dHJhIGlzIGEgYmV0dGVyIG5hbWUsIHNob3VsZCB1c2UgaXQpCitzZGlzdF9leHRyYSA9CisgIGluY2x1ZGUgVEhBTktTIEhBQ0tJTkcKKyAgcmVjdXJzaXZlLWluY2x1ZGUgZXhhbXBsZXMgKi50eHQgKi5weQorICBwcnVuZSBleGFtcGxlcy9zYW1wbGU/L2J1aWxkCisKK3Jlc291cmNlcz0KKyAgYm0vIHtiMSxiMn0uZ2lmID0ge2ljb259CisgIENmKi8gKi5DRkcgPSB7Y29uZmlnfS9iYUJhci8KKyAgaW5pdF9zY3JpcHQgPSB7c2NyaXB0fS9KdW5HbGUvCisKK1tnbG9iYWxdCitjb21tYW5kcyA9CisgICAgcGFja2FnaW5nLnRlc3RzLnRlc3RfY29uZmlnLkZvb0JhckJhelRlc3QKKworY29tcGlsZXJzID0KKyAgICBwYWNrYWdpbmcudGVzdHMudGVzdF9jb25maWcuRENvbXBpbGVyCisKK3NldHVwX2hvb2tzID0gJShzZXR1cC1ob29rcylzCisKKworCitbaW5zdGFsbF9kaXN0XQorc3ViX2NvbW1hbmRzID0gZm9vCisiIiIKKworU0VUVVBfQ0ZHX1BLR0RBVEFfQlVHR1lfMSA9ICIiIgorW2ZpbGVzXQorcGFja2FnZV9kYXRhID0gZm9vLioKKyIiIgorCitTRVRVUF9DRkdfUEtHREFUQV9CVUdHWV8yID0gIiIiCitbZmlsZXNdCitwYWNrYWdlX2RhdGEgPQorICAgIGZvby4qCisiIiIKKworIyBDYW4gbm90IGJlIG1lcmdlZCB3aXRoIFNFVFVQX0NGRyBlbHNlIGluc3RhbGxfZGlzdAorIyBjb21tYW5kIHdpbGwgZmFpbCB3aGVuIHRyeWluZyB0byBjb21waWxlIEMgc291cmNlcworIyBUT0RPIHVzZSBhIER1bW15Q29tbWFuZCB0byBtb2NrIGJ1aWxkX2V4dAorRVhUX1NFVFVQX0NGRyA9ICIiIgorW2ZpbGVzXQorcGFja2FnZXMgPSBvbmUKKyAgICAgICAgICAgdHdvCisgICAgICAgICAgIHBhcmVudC51bmRlY2xhcmVkCisKK1tleHRlbnNpb246b25lLnNwZWVkX2NvY29udXRzXQorc291cmNlcyA9IGNfc3JjL3NwZWVkX2NvY29udXRzLmMKK2V4dHJhX2xpbmtfYXJncyA9ICJgZ2NjIC1wcmludC1maWxlLW5hbWU9bGliZ2NjLmFgIiAtc2hhcmVkCitkZWZpbmVfbWFjcm9zID0gSEFWRV9DQUlSTyBIQVZFX0dUSzIKK2xpYnJhcmllcyA9IGdlY29kZWludCBnZWNvZGVrZXJuZWwgLS0gc3lzLnBsYXRmb3JtICE9ICd3aW4zMicKKyAgICBHZWNvZGVJbnQgR2Vjb2RlS2VybmVsIC0tIHN5cy5wbGF0Zm9ybSA9PSAnd2luMzInCisKK1tleHRlbnNpb246IHR3by5mYXN0X3RhdW50XQorc291cmNlcyA9IGN4eF9zcmMvdXRpbHNfdGF1bnQuY3h4CisgICAgICAgICAgY3h4X3NyYy9weXRob25fbW9kdWxlLmN4eAoraW5jbHVkZV9kaXJzID0gL3Vzci9pbmNsdWRlL2dlY29kZQorICAgIC91c3IvaW5jbHVkZS9ibGl0egorZXh0cmFfY29tcGlsZV9hcmdzID0gLWZQSUMgLU8yCisgICAgLURHRUNPREVfVkVSU0lPTj0kKC4vZ2Vjb2RlX3ZlcnNpb24pIC0tIHN5cy5wbGF0Zm9ybSAhPSAnd2luMzInCisgICAgL0RHRUNPREVfVkVSU0lPTj13aW4zMiAtLSBzeXMucGxhdGZvcm0gPT0gJ3dpbjMyJworbGFuZ3VhZ2UgPSBjeHgKKworIyBjb3JuZXIgY2FzZTogaWYgdGhlIHBhcmVudCBwYWNrYWdlIG9mIGFuIGV4dGVuc2lvbiBpcyBkZWNsYXJlZCBidXQKKyMgbm90IGl0cyBncmFuZHBhcmVudCwgaXQncyBsZWdhbAorW2V4dGVuc2lvbjogcGFyZW50LnVuZGVjbGFyZWQuX3NwZWVkXQorc291cmNlcyA9IHBhcmVudC91bmRlY2xhcmVkL19zcGVlZC5jCisiIiIKKworRVhUX1NFVFVQX0NGR19CVUdHWV8xID0gIiIiCitbZXh0ZW5zaW9uOiByZWFsbmFtZV0KK25hbWUgPSBjcmFzaF9oZXJlCisiIiIKKworRVhUX1NFVFVQX0NGR19CVUdHWV8yID0gIiIiCitbZmlsZXNdCitwYWNrYWdlcyA9IGhhbQorCitbZXh0ZW5zaW9uOiBzcGFtLmVnZ3NdCisiIiIKKworRVhUX1NFVFVQX0NGR19CVUdHWV8zID0gIiIiCitbZmlsZXNdCitwYWNrYWdlcyA9IG9rCisgICAgICAgICAgIG9rLndvcmtzCisKK1tleHRlbnNpb246IG9rLndvcmtzLmJyZWFrcy5fZXh0XQorIiIiCisKK0hPT0tTX01PRFVMRSA9ICIiIgoraW1wb3J0IGxvZ2dpbmcKKworbG9nZ2VyID0gbG9nZ2luZy5nZXRMb2dnZXIoJ3BhY2thZ2luZycpCisKK2RlZiBsb2dnaW5nX2hvb2soY29uZmlnKToKKyAgICBsb2dnZXIud2FybmluZygnbG9nZ2luZ19ob29rIGNhbGxlZCcpCisiIiIKKworCitjbGFzcyBEQ29tcGlsZXI6CisgICAgbmFtZSA9ICdkJworICAgIGRlc2NyaXB0aW9uID0gJ0QgQ29tcGlsZXInCisKKyAgICBkZWYgX19pbml0X18oc2VsZiwgKmFyZ3MpOgorICAgICAgICBwYXNzCisKKworZGVmIHZlcnNpb25faG9vayhjb25maWcpOgorICAgIGNvbmZpZ1snbWV0YWRhdGEnXVsndmVyc2lvbiddICs9ICcuZGV2MScKKworCitkZWYgZmlyc3RfaG9vayhjb25maWcpOgorICAgIGNvbmZpZ1snZmlsZXMnXVsnbW9kdWxlcyddICs9ICdcbiBmaXJzdCcKKworCitkZWYgdGhpcmRfaG9vayhjb25maWcpOgorICAgIGNvbmZpZ1snZmlsZXMnXVsnbW9kdWxlcyddICs9ICdcbiB0aGlyZCcKKworCitjbGFzcyBGb29CYXJCYXpUZXN0OgorCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGRpc3QpOgorICAgICAgICBzZWxmLmRpc3RyaWJ1dGlvbiA9IGRpc3QKKyAgICAgICAgc2VsZi5fcmVjb3JkID0gW10KKworICAgIEBjbGFzc21ldGhvZAorICAgIGRlZiBnZXRfY29tbWFuZF9uYW1lKGNscyk6CisgICAgICAgIHJldHVybiAnZm9vJworCisgICAgZGVmIHJ1bihzZWxmKToKKyAgICAgICAgc2VsZi5fcmVjb3JkLmFwcGVuZCgnZm9vIGhhcyBydW4nKQorCisgICAgZGVmIG5vdGhpbmcoc2VsZik6CisgICAgICAgIHBhc3MKKworICAgIGRlZiBnZXRfc291cmNlX2ZpbGVzKHNlbGYpOgorICAgICAgICByZXR1cm4gW10KKworICAgIGVuc3VyZV9maW5hbGl6ZWQgPSBmaW5hbGl6ZV9vcHRpb25zID0gaW5pdGlhbGl6ZV9vcHRpb25zID0gbm90aGluZworCisKK2NsYXNzIENvbmZpZ1Rlc3RDYXNlKHN1cHBvcnQuVGVtcGRpck1hbmFnZXIsCisgICAgICAgICAgICAgICAgICAgICBzdXBwb3J0LkVudmlyb25SZXN0b3JlciwKKyAgICAgICAgICAgICAgICAgICAgIHN1cHBvcnQuTG9nZ2luZ0NhdGNoZXIsCisgICAgICAgICAgICAgICAgICAgICB1bml0dGVzdC5UZXN0Q2FzZSk6CisKKyAgICByZXN0b3JlX2Vudmlyb24gPSBbJ1BMQVQnXQorCisgICAgZGVmIHNldFVwKHNlbGYpOgorICAgICAgICBzdXBlcihDb25maWdUZXN0Q2FzZSwgc2VsZikuc2V0VXAoKQorICAgICAgICB0ZW1wZGlyID0gc2VsZi5ta2R0ZW1wKCkKKyAgICAgICAgc2VsZi53b3JraW5nX2RpciA9IG9zLmdldGN3ZCgpCisgICAgICAgIG9zLmNoZGlyKHRlbXBkaXIpCisgICAgICAgIHNlbGYudGVtcGRpciA9IHRlbXBkaXIKKworICAgIGRlZiB3cml0ZV9zZXR1cChzZWxmLCBrd2FyZ3M9Tm9uZSk6CisgICAgICAgIG9wdHMgPSB7J2Rlc2NyaXB0aW9uLWZpbGUnOiAnUkVBRE1FJywgJ2V4dHJhLWZpbGVzJzogJycsCisgICAgICAgICAgICAgICAgJ3NldHVwLWhvb2tzJzogJ3BhY2thZ2luZy50ZXN0cy50ZXN0X2NvbmZpZy52ZXJzaW9uX2hvb2snfQorICAgICAgICBpZiBrd2FyZ3M6CisgICAgICAgICAgICBvcHRzLnVwZGF0ZShrd2FyZ3MpCisgICAgICAgIHNlbGYud3JpdGVfZmlsZSgnc2V0dXAuY2ZnJywgU0VUVVBfQ0ZHICUgb3B0cywgZW5jb2Rpbmc9J3V0Zi04JykKKworICAgIGRlZiBnZXRfZGlzdChzZWxmKToKKyAgICAgICAgZGlzdCA9IERpc3RyaWJ1dGlvbigpCisgICAgICAgIGRpc3QucGFyc2VfY29uZmlnX2ZpbGVzKCkKKyAgICAgICAgcmV0dXJuIGRpc3QKKworICAgIGRlZiB0ZXN0X2NvbmZpZyhzZWxmKToKKyAgICAgICAgc2VsZi53cml0ZV9zZXR1cCgpCisgICAgICAgIHNlbGYud3JpdGVfZmlsZSgnUkVBRE1FJywgJ3llYWgnKQorICAgICAgICBvcy5ta2RpcignYm0nKQorICAgICAgICBzZWxmLndyaXRlX2ZpbGUoKCdibScsICdiMS5naWYnKSwgJycpCisgICAgICAgIHNlbGYud3JpdGVfZmlsZSgoJ2JtJywgJ2IyLmdpZicpLCAnJykKKyAgICAgICAgb3MubWtkaXIoJ0NmZycpCisgICAgICAgIHNlbGYud3JpdGVfZmlsZSgoJ0NmZycsICdkYXRhLkNGRycpLCAnJykKKyAgICAgICAgc2VsZi53cml0ZV9maWxlKCdpbml0X3NjcmlwdCcsICcnKQorCisgICAgICAgICMgdHJ5IHRvIGxvYWQgdGhlIG1ldGFkYXRhIG5vdworICAgICAgICBkaXN0ID0gc2VsZi5nZXRfZGlzdCgpCisKKyAgICAgICAgIyBjaGVjayB3aGF0IHdhcyBkb25lCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGlzdC5tZXRhZGF0YVsnQXV0aG9yJ10sICdDYXJsIE1leWVyJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkaXN0Lm1ldGFkYXRhWydBdXRob3ItRW1haWwnXSwgJ2NhcmxAb2RkYmlyZC5uZXQnKQorCisgICAgICAgICMgdGhlIGhvb2sgYWRkcyAuZGV2MQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRpc3QubWV0YWRhdGFbJ1ZlcnNpb24nXSwgJzAuNi40LmRldjEnKQorCisgICAgICAgIHdhbnRlZCA9IFsKKyAgICAgICAgICAgICdEZXZlbG9wbWVudCBTdGF0dXMgOjogNCAtIEJldGEnLAorICAgICAgICAgICAgJ0Vudmlyb25tZW50IDo6IENvbnNvbGUgKFRleHQgQmFzZWQpJywKKyAgICAgICAgICAgICJFbnZpcm9ubWVudCA6OiBYMTEgQXBwbGljYXRpb25zIDo6IEdUSzsgcHl0aG9uX3ZlcnNpb24gPCAnMyciLAorICAgICAgICAgICAgJ0xpY2Vuc2UgOjogT1NJIEFwcHJvdmVkIDo6IE1JVCBMaWNlbnNlJywKKyAgICAgICAgICAgICdQcm9ncmFtbWluZyBMYW5ndWFnZSA6OiBQeXRob24nLAorICAgICAgICAgICAgJ1Byb2dyYW1taW5nIExhbmd1YWdlIDo6IFB5dGhvbiA6OiAyJywKKyAgICAgICAgICAgICdQcm9ncmFtbWluZyBMYW5ndWFnZSA6OiBQeXRob24gOjogMyddCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGlzdC5tZXRhZGF0YVsnQ2xhc3NpZmllciddLCB3YW50ZWQpCisKKyAgICAgICAgd2FudGVkID0gWydwYWNrYWdpbmcnLCAnc2FtcGxlIHByb2plY3QnXQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRpc3QubWV0YWRhdGFbJ0tleXdvcmRzJ10sIHdhbnRlZCkKKworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRpc3QubWV0YWRhdGFbJ1JlcXVpcmVzLVB5dGhvbiddLCAnPj0yLjQsIDwzLjInKQorCisgICAgICAgIHdhbnRlZCA9IFsnUGV0U2hvcHBlJywKKyAgICAgICAgICAgICAgICAgICdNaWNoYWVsUGFsaW4gKD4gMS4xKScsCisgICAgICAgICAgICAgICAgICAicHl3aW4zMjsgc3lzLnBsYXRmb3JtID09ICd3aW4zMiciLAorICAgICAgICAgICAgICAgICAgInB5c3FsaXRlMjsgcHl0aG9uX3ZlcnNpb24gPCAnMi41JyIsCisgICAgICAgICAgICAgICAgICAiaW5vdGlmeSAoMC4wLjEpOyBzeXMucGxhdGZvcm0gPT0gJ2xpbnV4MiciXQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGlzdC5tZXRhZGF0YVsnUmVxdWlyZXMtRGlzdCddLCB3YW50ZWQpCisgICAgICAgIHVybHMgPSBbKCdNYWluIHJlcG9zaXRvcnknLAorICAgICAgICAgICAgICAgICAnaHR0cDovL2JpdGJ1Y2tldC5vcmcvY2FybGptL3NhbXBsZS1kaXN0dXRpbHMyLXByb2plY3QnKSwKKyAgICAgICAgICAgICAgICAoJ0ZvcmsgaW4gcHJvZ3Jlc3MnLAorICAgICAgICAgICAgICAgICAnaHR0cDovL2JpdGJ1Y2tldC5vcmcvTWVyd29rL3NhbXBsZS1kaXN0dXRpbHMyLXByb2plY3QnKV0KKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkaXN0Lm1ldGFkYXRhWydQcm9qZWN0LVVybCddLCB1cmxzKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGlzdC5wYWNrYWdlcywgWydvbmUnLCAndHdvJywgJ3RocmVlJ10pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGlzdC5weV9tb2R1bGVzLCBbJ2hhdmVuJ10pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGlzdC5wYWNrYWdlX2RhdGEsCisgICAgICAgICAgICAgICAgICAgICAgICAgeydjaGVlc2UnOiBbJ2RhdGEvdGVtcGxhdGVzLyonLCAnZG9jLyonLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkb2MvaW1hZ2VzLyoucG5nJ119KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRpc3QuZGF0YV9maWxlcywKKyAgICAgICAgICAgIHsnYm0vYjEuZ2lmJzogJ3tpY29ufS9iMS5naWYnLAorICAgICAgICAgICAgICdibS9iMi5naWYnOiAne2ljb259L2IyLmdpZicsCisgICAgICAgICAgICAgJ0NmZy9kYXRhLkNGRyc6ICd7Y29uZmlnfS9iYUJhci9kYXRhLkNGRycsCisgICAgICAgICAgICAgJ2luaXRfc2NyaXB0JzogJ3tzY3JpcHR9L0p1bkdsZS9pbml0X3NjcmlwdCd9KQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGlzdC5wYWNrYWdlX2RpciwgJ3NyYycpCisKKyAgICAgICAgIyBNYWtlIHN1cmUgd2UgZ2V0IHRoZSBmb28gY29tbWFuZCBsb2FkZWQuICBXZSB1c2UgYSBzdHJpbmcgY29tcGFyaXNvbgorICAgICAgICAjIGluc3RlYWQgb2YgYXNzZXJ0SXNJbnN0YW5jZSBiZWNhdXNlIHRoZSBjbGFzcyBpcyBub3QgdGhlIHNhbWUgd2hlbgorICAgICAgICAjIHRoaXMgdGVzdCBpcyBydW4gZGlyZWN0bHk6IGZvbyBpcyBwYWNrYWdpbmcudGVzdHMudGVzdF9jb25maWcuRm9vCisgICAgICAgICMgYmVjYXVzZSBnZXRfY29tbWFuZF9jbGFzcyB1c2VzIHRoZSBmdWxsIG5hbWUsIGJ1dCBhIGJhcmUgIkZvbyIgaW4KKyAgICAgICAgIyB0aGlzIGZpbGUgd291bGQgYmUgX19tYWluX18uRm9vIHdoZW4gcnVuIGFzICJweXRob24gdGVzdF9jb25maWcucHkiLgorICAgICAgICAjIFRoZSBuYW1lIEZvb0JhckJhelRlc3Qgc2hvdWxkIGJlIHVuaXF1ZSBlbm91Z2ggdG8gcHJldmVudAorICAgICAgICAjIGNvbGxpc2lvbnMuCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGlzdC5nZXRfY29tbWFuZF9vYmooJ2ZvbycpLl9fY2xhc3NfXy5fX25hbWVfXywKKyAgICAgICAgICAgICAgICAgICAgICAgICAnRm9vQmFyQmF6VGVzdCcpCisKKyAgICAgICAgIyBkaWQgdGhlIFJFQURNRSBnb3QgbG9hZGVkID8KKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkaXN0Lm1ldGFkYXRhWydkZXNjcmlwdGlvbiddLCAneWVhaCcpCisKKyAgICAgICAgIyBkbyB3ZSBoYXZlIHRoZSBEIENvbXBpbGVyIGVuYWJsZWQgPworICAgICAgICBzZWxmLmFzc2VydEluKCdkJywgX0NPTVBJTEVSUykKKyAgICAgICAgZCA9IG5ld19jb21waWxlcihjb21waWxlcj0nZCcpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZC5kZXNjcmlwdGlvbiwgJ0QgQ29tcGlsZXInKQorCisgICAgICAgICMgY2hlY2sgZXJyb3IgcmVwb3J0aW5nIGZvciBpbnZhbGlkIHBhY2thZ2VfZGF0YSB2YWx1ZQorICAgICAgICBzZWxmLndyaXRlX2ZpbGUoJ3NldHVwLmNmZycsIFNFVFVQX0NGR19QS0dEQVRBX0JVR0dZXzEpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFBhY2thZ2luZ09wdGlvbkVycm9yLCBzZWxmLmdldF9kaXN0KQorCisgICAgICAgIHNlbGYud3JpdGVfZmlsZSgnc2V0dXAuY2ZnJywgU0VUVVBfQ0ZHX1BLR0RBVEFfQlVHR1lfMikKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoUGFja2FnaW5nT3B0aW9uRXJyb3IsIHNlbGYuZ2V0X2Rpc3QpCisKKyAgICBkZWYgdGVzdF9tdWx0aXBsZV9kZXNjcmlwdGlvbl9maWxlKHNlbGYpOgorICAgICAgICBzZWxmLndyaXRlX3NldHVwKHsnZGVzY3JpcHRpb24tZmlsZSc6ICdSRUFETUUgIENIQU5HRVMnfSkKKyAgICAgICAgc2VsZi53cml0ZV9maWxlKCdSRUFETUUnLCAneWVhaCcpCisgICAgICAgIHNlbGYud3JpdGVfZmlsZSgnQ0hBTkdFUycsICdjaGFuZ2Vsb2cyJykKKyAgICAgICAgZGlzdCA9IHNlbGYuZ2V0X2Rpc3QoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRpc3QubWV0YWRhdGEucmVxdWlyZXNfZmlsZXMsIFsnUkVBRE1FJywgJ0NIQU5HRVMnXSkKKworICAgIGRlZiB0ZXN0X211bHRpbGluZV9kZXNjcmlwdGlvbl9maWxlKHNlbGYpOgorICAgICAgICBzZWxmLndyaXRlX3NldHVwKHsnZGVzY3JpcHRpb24tZmlsZSc6ICdSRUFETUVcbiAgQ0hBTkdFUyd9KQorICAgICAgICBzZWxmLndyaXRlX2ZpbGUoJ1JFQURNRScsICd5ZWFoJykKKyAgICAgICAgc2VsZi53cml0ZV9maWxlKCdDSEFOR0VTJywgJ2NoYW5nZWxvZycpCisgICAgICAgIGRpc3QgPSBzZWxmLmdldF9kaXN0KCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkaXN0Lm1ldGFkYXRhWydkZXNjcmlwdGlvbiddLCAneWVhaFxuY2hhbmdlbG9nJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkaXN0Lm1ldGFkYXRhLnJlcXVpcmVzX2ZpbGVzLCBbJ1JFQURNRScsICdDSEFOR0VTJ10pCisKKyAgICBkZWYgdGVzdF9wYXJzZV9leHRlbnNpb25zX2luX2NvbmZpZyhzZWxmKToKKyAgICAgICAgc2VsZi53cml0ZV9maWxlKCdzZXR1cC5jZmcnLCBFWFRfU0VUVVBfQ0ZHKQorICAgICAgICBkaXN0ID0gc2VsZi5nZXRfZGlzdCgpCisKKyAgICAgICAgZXh0X21vZHVsZXMgPSBkaWN0KChtb2QubmFtZSwgbW9kKSBmb3IgbW9kIGluIGRpc3QuZXh0X21vZHVsZXMpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGV4dF9tb2R1bGVzKSwgMykKKyAgICAgICAgZXh0ID0gZXh0X21vZHVsZXMuZ2V0KCdvbmUuc3BlZWRfY29jb251dHMnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV4dC5zb3VyY2VzLCBbJ2Nfc3JjL3NwZWVkX2NvY29udXRzLmMnXSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChleHQuZGVmaW5lX21hY3JvcywgWydIQVZFX0NBSVJPJywgJ0hBVkVfR1RLMiddKQorICAgICAgICBsaWJzID0gWydnZWNvZGVpbnQnLCAnZ2Vjb2Rla2VybmVsJ10KKyAgICAgICAgaWYgc3lzLnBsYXRmb3JtID09ICd3aW4zMic6CisgICAgICAgICAgICBsaWJzID0gWydHZWNvZGVJbnQnLCAnR2Vjb2RlS2VybmVsJ10KKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChleHQubGlicmFyaWVzLCBsaWJzKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV4dC5leHRyYV9saW5rX2FyZ3MsCisgICAgICAgICAgICBbJ2BnY2MgLXByaW50LWZpbGUtbmFtZT1saWJnY2MuYWAnLCAnLXNoYXJlZCddKQorCisgICAgICAgIGV4dCA9IGV4dF9tb2R1bGVzLmdldCgndHdvLmZhc3RfdGF1bnQnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV4dC5zb3VyY2VzLAorICAgICAgICAgICAgWydjeHhfc3JjL3V0aWxzX3RhdW50LmN4eCcsICdjeHhfc3JjL3B5dGhvbl9tb2R1bGUuY3h4J10pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXh0LmluY2x1ZGVfZGlycywKKyAgICAgICAgICAgIFsnL3Vzci9pbmNsdWRlL2dlY29kZScsICcvdXNyL2luY2x1ZGUvYmxpdHonXSkKKyAgICAgICAgY2FyZ3MgPSBbJy1mUElDJywgJy1PMiddCisgICAgICAgIGlmIHN5cy5wbGF0Zm9ybSA9PSAnd2luMzInOgorICAgICAgICAgICAgY2FyZ3MuYXBwZW5kKCIvREdFQ09ERV9WRVJTSU9OPXdpbjMyIikKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGNhcmdzLmFwcGVuZCgnLURHRUNPREVfVkVSU0lPTj0kKC4vZ2Vjb2RlX3ZlcnNpb24pJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChleHQuZXh0cmFfY29tcGlsZV9hcmdzLCBjYXJncykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChleHQubGFuZ3VhZ2UsICdjeHgnKQorCisgICAgICAgIHNlbGYud3JpdGVfZmlsZSgnc2V0dXAuY2ZnJywgRVhUX1NFVFVQX0NGR19CVUdHWV8xKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhQYWNrYWdpbmdPcHRpb25FcnJvciwgc2VsZi5nZXRfZGlzdCkKKworICAgICAgICBzZWxmLndyaXRlX2ZpbGUoJ3NldHVwLmNmZycsIEVYVF9TRVRVUF9DRkdfQlVHR1lfMikKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoUGFja2FnaW5nT3B0aW9uRXJyb3IsIHNlbGYuZ2V0X2Rpc3QpCisKKyAgICAgICAgc2VsZi53cml0ZV9maWxlKCdzZXR1cC5jZmcnLCBFWFRfU0VUVVBfQ0ZHX0JVR0dZXzMpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFBhY2thZ2luZ09wdGlvbkVycm9yLCBzZWxmLmdldF9kaXN0KQorCisgICAgZGVmIHRlc3RfcHJvamVjdF9zZXR1cF9ob29rX3dvcmtzKHNlbGYpOgorICAgICAgICAjIEJ1ZyAjMTE2Mzc6IGVuc3VyZSB0aGUgcHJvamVjdCBkaXJlY3RvcnkgaXMgb24gc3lzLnBhdGggdG8gYWxsb3cKKyAgICAgICAgIyBwcm9qZWN0LXNwZWNpZmljIGhvb2tzCisgICAgICAgIHNlbGYud3JpdGVfc2V0dXAoeydzZXR1cC1ob29rcyc6ICdob29rcy5sb2dnaW5nX2hvb2snfSkKKyAgICAgICAgc2VsZi53cml0ZV9maWxlKCdSRUFETUUnLCAneWVhaCcpCisgICAgICAgIHNlbGYud3JpdGVfZmlsZSgnaG9va3MucHknLCBIT09LU19NT0RVTEUpCisgICAgICAgIHNlbGYuZ2V0X2Rpc3QoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKFsnbG9nZ2luZ19ob29rIGNhbGxlZCddLCBzZWxmLmdldF9sb2dzKCkpCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ2hvb2tzJywgc3lzLm1vZHVsZXMpCisKKyAgICBkZWYgdGVzdF9taXNzaW5nX3NldHVwX2hvb2tfd2FybnMoc2VsZik6CisgICAgICAgIHNlbGYud3JpdGVfc2V0dXAoeydzZXR1cC1ob29rcyc6ICdkb2VzLl9ub3QuZXhpc3QnfSkKKyAgICAgICAgc2VsZi53cml0ZV9maWxlKCdSRUFETUUnLCAneWVhaCcpCisgICAgICAgIHNlbGYuZ2V0X2Rpc3QoKQorICAgICAgICBsb2dzID0gc2VsZi5nZXRfbG9ncygpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoMSwgbGVuKGxvZ3MpKQorICAgICAgICBzZWxmLmFzc2VydEluKCdjYW5ub3QgZmluZCBzZXR1cCBob29rJywgbG9nc1swXSkKKworICAgIGRlZiB0ZXN0X211bHRpcGxlX3NldHVwX2hvb2tzKHNlbGYpOgorICAgICAgICBzZWxmLndyaXRlX3NldHVwKHsKKyAgICAgICAgICAgICdzZXR1cC1ob29rcyc6ICdcbiAgcGFja2FnaW5nLnRlc3RzLnRlc3RfY29uZmlnLmZpcnN0X2hvb2snCisgICAgICAgICAgICAgICAgICAgICAgICAgICAnXG4gIHBhY2thZ2luZy50ZXN0cy50ZXN0X2NvbmZpZy5taXNzaW5nX2hvb2snCisgICAgICAgICAgICAgICAgICAgICAgICAgICAnXG4gIHBhY2thZ2luZy50ZXN0cy50ZXN0X2NvbmZpZy50aGlyZF9ob29rJywKKyAgICAgICAgfSkKKyAgICAgICAgc2VsZi53cml0ZV9maWxlKCdSRUFETUUnLCAneWVhaCcpCisgICAgICAgIGRpc3QgPSBzZWxmLmdldF9kaXN0KCkKKworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKFsnaGF2ZW4nLCAnZmlyc3QnLCAndGhpcmQnXSwgZGlzdC5weV9tb2R1bGVzKQorICAgICAgICBsb2dzID0gc2VsZi5nZXRfbG9ncygpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoMSwgbGVuKGxvZ3MpKQorICAgICAgICBzZWxmLmFzc2VydEluKCdjYW5ub3QgZmluZCBzZXR1cCBob29rJywgbG9nc1swXSkKKworICAgIGRlZiB0ZXN0X21ldGFkYXRhX3JlcXVpcmVzX2Rlc2NyaXB0aW9uX2ZpbGVzX21pc3Npbmcoc2VsZik6CisgICAgICAgIHNlbGYud3JpdGVfc2V0dXAoeydkZXNjcmlwdGlvbi1maWxlJzogJ1JFQURNRSBSRUFETUUyJ30pCisgICAgICAgIHNlbGYud3JpdGVfZmlsZSgnUkVBRE1FJywgJ3llYWgnKQorICAgICAgICBzZWxmLndyaXRlX2ZpbGUoJ1JFQURNRTInLCAneWVhaCcpCisgICAgICAgIG9zLm1rZGlyKCdzcmMnKQorICAgICAgICBzZWxmLndyaXRlX2ZpbGUoKCdzcmMnLCAnaGF2ZW4ucHknKSwgJyMnKQorICAgICAgICBzZWxmLndyaXRlX2ZpbGUoJ3NjcmlwdDEucHknLCAnIycpCisgICAgICAgIG9zLm1rZGlyKCdzY3JpcHRzJykKKyAgICAgICAgc2VsZi53cml0ZV9maWxlKCgnc2NyaXB0cycsICdmaW5kLWNvY29udXRzJyksICcjJykKKyAgICAgICAgb3MubWtkaXIoJ2JpbicpCisgICAgICAgIHNlbGYud3JpdGVfZmlsZSgoJ2JpbicsICd0YXVudCcpLCAnIycpCisKKyAgICAgICAgZm9yIHBrZyBpbiAoJ29uZScsICd0d28nLCAndGhyZWUnKToKKyAgICAgICAgICAgIHBrZyA9IG9zLnBhdGguam9pbignc3JjJywgcGtnKQorICAgICAgICAgICAgb3MubWtkaXIocGtnKQorICAgICAgICAgICAgc2VsZi53cml0ZV9maWxlKChwa2csICdfX2luaXRfXy5weScpLCAnIycpCisKKyAgICAgICAgZGlzdCA9IHNlbGYuZ2V0X2Rpc3QoKQorICAgICAgICBjbWQgPSBzZGlzdChkaXN0KQorICAgICAgICBjbWQuZmluYWxpemVfb3B0aW9ucygpCisgICAgICAgIGNtZC5nZXRfZmlsZV9saXN0KCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoUGFja2FnaW5nRmlsZUVycm9yLCBjbWQubWFrZV9kaXN0cmlidXRpb24pCisKKyAgICBAcmVxdWlyZXNfemxpYgorICAgIGRlZiB0ZXN0X21ldGFkYXRhX3JlcXVpcmVzX2Rlc2NyaXB0aW9uX2ZpbGVzKHNlbGYpOgorICAgICAgICAjIENyZWF0ZSB0aGUgZm9sbG93aW5nIGZpbGUgc3RydWN0dXJlOgorICAgICAgICAjICAgUkVBRE1FCisgICAgICAgICMgICBSRUFETUUyCisgICAgICAgICMgICBzY3JpcHQxLnB5CisgICAgICAgICMgICBzY3JpcHRzLworICAgICAgICAjICAgICAgIGZpbmQtY29jb251dHMKKyAgICAgICAgIyAgIGJpbi8KKyAgICAgICAgIyAgICAgICB0YXVudAorICAgICAgICAjICAgc3JjLworICAgICAgICAjICAgICAgIGhhdmVuLnB5CisgICAgICAgICMgICAgICAgb25lL19faW5pdF9fLnB5CisgICAgICAgICMgICAgICAgdHdvL19faW5pdF9fLnB5CisgICAgICAgICMgICAgICAgdGhyZWUvX19pbml0X18ucHkKKworICAgICAgICBzZWxmLndyaXRlX3NldHVwKHsnZGVzY3JpcHRpb24tZmlsZSc6ICdSRUFETUVcbiAgUkVBRE1FMicsCisgICAgICAgICAgICAgICAgICAgICAgICAgICdleHRyYS1maWxlcyc6ICdcbiAgUkVBRE1FMyd9KQorICAgICAgICBzZWxmLndyaXRlX2ZpbGUoJ1JFQURNRScsICd5ZWFoIDEnKQorICAgICAgICBzZWxmLndyaXRlX2ZpbGUoJ1JFQURNRTInLCAneWVhaCAyJykKKyAgICAgICAgc2VsZi53cml0ZV9maWxlKCdSRUFETUUzJywgJ3llYWggMycpCisgICAgICAgIG9zLm1rZGlyKCdzcmMnKQorICAgICAgICBzZWxmLndyaXRlX2ZpbGUoKCdzcmMnLCAnaGF2ZW4ucHknKSwgJyMnKQorICAgICAgICBzZWxmLndyaXRlX2ZpbGUoJ3NjcmlwdDEucHknLCAnIycpCisgICAgICAgIG9zLm1rZGlyKCdzY3JpcHRzJykKKyAgICAgICAgc2VsZi53cml0ZV9maWxlKCgnc2NyaXB0cycsICdmaW5kLWNvY29udXRzJyksICcjJykKKyAgICAgICAgb3MubWtkaXIoJ2JpbicpCisgICAgICAgIHNlbGYud3JpdGVfZmlsZSgoJ2JpbicsICd0YXVudCcpLCAnIycpCisKKyAgICAgICAgZm9yIHBrZyBpbiAoJ29uZScsICd0d28nLCAndGhyZWUnKToKKyAgICAgICAgICAgIHBrZyA9IG9zLnBhdGguam9pbignc3JjJywgcGtnKQorICAgICAgICAgICAgb3MubWtkaXIocGtnKQorICAgICAgICAgICAgc2VsZi53cml0ZV9maWxlKChwa2csICdfX2luaXRfXy5weScpLCAnIycpCisKKyAgICAgICAgZGlzdCA9IHNlbGYuZ2V0X2Rpc3QoKQorICAgICAgICBzZWxmLmFzc2VydEluKCd5ZWFoIDFcbnllYWggMicsIGRpc3QubWV0YWRhdGFbJ2Rlc2NyaXB0aW9uJ10pCisKKyAgICAgICAgY21kID0gc2Rpc3QoZGlzdCkKKyAgICAgICAgY21kLmZpbmFsaXplX29wdGlvbnMoKQorICAgICAgICBjbWQuZ2V0X2ZpbGVfbGlzdCgpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFBhY2thZ2luZ0ZpbGVFcnJvciwgY21kLm1ha2VfZGlzdHJpYnV0aW9uKQorCisgICAgICAgIHNlbGYud3JpdGVfc2V0dXAoeydkZXNjcmlwdGlvbi1maWxlJzogJ1JFQURNRVxuICBSRUFETUUyJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgJ2V4dHJhLWZpbGVzJzogJ1xuICBSRUFETUUyXG4gICAgUkVBRE1FJ30pCisgICAgICAgIGRpc3QgPSBzZWxmLmdldF9kaXN0KCkKKyAgICAgICAgY21kID0gc2Rpc3QoZGlzdCkKKyAgICAgICAgY21kLmZpbmFsaXplX29wdGlvbnMoKQorICAgICAgICBjbWQuZ2V0X2ZpbGVfbGlzdCgpCisgICAgICAgIGNtZC5tYWtlX2Rpc3RyaWJ1dGlvbigpCisgICAgICAgIHdpdGggb3BlbignTUFOSUZFU1QnKSBhcyBmcDoKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ1JFQURNRVxuUkVBRE1FMlxuJywgZnAucmVhZCgpKQorCisgICAgZGVmIHRlc3Rfc3ViX2NvbW1hbmRzKHNlbGYpOgorICAgICAgICBzZWxmLndyaXRlX3NldHVwKCkKKyAgICAgICAgc2VsZi53cml0ZV9maWxlKCdSRUFETUUnLCAneWVhaCcpCisgICAgICAgIG9zLm1rZGlyKCdzcmMnKQorICAgICAgICBzZWxmLndyaXRlX2ZpbGUoKCdzcmMnLCAnaGF2ZW4ucHknKSwgJyMnKQorICAgICAgICBzZWxmLndyaXRlX2ZpbGUoJ3NjcmlwdDEucHknLCAnIycpCisgICAgICAgIG9zLm1rZGlyKCdzY3JpcHRzJykKKyAgICAgICAgc2VsZi53cml0ZV9maWxlKCgnc2NyaXB0cycsICdmaW5kLWNvY29udXRzJyksICcjJykKKyAgICAgICAgb3MubWtkaXIoJ2JpbicpCisgICAgICAgIHNlbGYud3JpdGVfZmlsZSgoJ2JpbicsICd0YXVudCcpLCAnIycpCisKKyAgICAgICAgZm9yIHBrZyBpbiAoJ29uZScsICd0d28nLCAndGhyZWUnKToKKyAgICAgICAgICAgIHBrZyA9IG9zLnBhdGguam9pbignc3JjJywgcGtnKQorICAgICAgICAgICAgb3MubWtkaXIocGtnKQorICAgICAgICAgICAgc2VsZi53cml0ZV9maWxlKChwa2csICdfX2luaXRfXy5weScpLCAnIycpCisKKyAgICAgICAgIyB0cnkgdG8gcnVuIHRoZSBpbnN0YWxsIGNvbW1hbmQgdG8gc2VlIGlmIGZvbyBpcyBjYWxsZWQKKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKGNvbW1hbmQuX0NPTU1BTkRTLl9fZGVsaXRlbV9fLCAnZm9vJykKKyAgICAgICAgZGlzdCA9IHNlbGYuZ2V0X2Rpc3QoKQorICAgICAgICBkaXN0LnJ1bl9jb21tYW5kKCdpbnN0YWxsX2Rpc3QnKQorICAgICAgICBjbWQgPSBkaXN0LmdldF9jb21tYW5kX29iaignZm9vJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbWQuX19jbGFzc19fLl9fbmFtZV9fLCAnRm9vQmFyQmF6VGVzdCcpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY21kLl9yZWNvcmQsIFsnZm9vIGhhcyBydW4nXSkKKworCitkZWYgdGVzdF9zdWl0ZSgpOgorICAgIHJldHVybiB1bml0dGVzdC5tYWtlU3VpdGUoQ29uZmlnVGVzdENhc2UpCisKK2lmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CisgICAgdW5pdHRlc3QubWFpbihkZWZhdWx0VGVzdD0ndGVzdF9zdWl0ZScpCmRpZmYgLS1naXQgYS9MaWIvcGFja2FnaW5nL3Rlc3RzL3Rlc3RfY3JlYXRlLnB5IGIvTGliL3BhY2thZ2luZy90ZXN0cy90ZXN0X2NyZWF0ZS5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NmJjMzMxCi0tLSAvZGV2L251bGwKKysrIGIvTGliL3BhY2thZ2luZy90ZXN0cy90ZXN0X2NyZWF0ZS5weQpAQCAtMCwwICsxLDIzMyBAQAorIiIiVGVzdHMgZm9yIHBhY2thZ2luZy5jcmVhdGUuIiIiCitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKK2ltcG9ydCBzeXNjb25maWcKK2Zyb20gdGV4dHdyYXAgaW1wb3J0IGRlZGVudAorZnJvbSBwYWNrYWdpbmcgaW1wb3J0IGNyZWF0ZQorZnJvbSBwYWNrYWdpbmcuY3JlYXRlIGltcG9ydCBNYWluUHJvZ3JhbSwgYXNrX3luLCBhc2ssIG1haW4KKworZnJvbSBwYWNrYWdpbmcudGVzdHMgaW1wb3J0IHN1cHBvcnQsIHVuaXR0ZXN0Citmcm9tIHBhY2thZ2luZy50ZXN0cy5zdXBwb3J0IGltcG9ydCBJbnB1dHMKKworCitjbGFzcyBDcmVhdGVUZXN0Q2FzZShzdXBwb3J0LlRlbXBkaXJNYW5hZ2VyLAorICAgICAgICAgICAgICAgICAgICAgc3VwcG9ydC5FbnZpcm9uUmVzdG9yZXIsCisgICAgICAgICAgICAgICAgICAgICBzdXBwb3J0LkxvZ2dpbmdDYXRjaGVyLAorICAgICAgICAgICAgICAgICAgICAgdW5pdHRlc3QuVGVzdENhc2UpOgorCisgICAgbWF4RGlmZiA9IE5vbmUKKyAgICByZXN0b3JlX2Vudmlyb24gPSBbJ1BMQVQnXQorCisgICAgZGVmIHNldFVwKHNlbGYpOgorICAgICAgICBzdXBlcihDcmVhdGVUZXN0Q2FzZSwgc2VsZikuc2V0VXAoKQorICAgICAgICBzZWxmLndkaXIgPSBzZWxmLm1rZHRlbXAoKQorICAgICAgICBvcy5jaGRpcihzZWxmLndkaXIpCisgICAgICAgICMgcGF0Y2ggc3lzY29uZmlnCisgICAgICAgIHNlbGYuX29sZF9nZXRfcGF0aHMgPSBzeXNjb25maWcuZ2V0X3BhdGhzCisgICAgICAgIHN5c2NvbmZpZy5nZXRfcGF0aHMgPSBsYW1iZGEgKmFyZ3MsICoqa3dhcmdzOiB7CisgICAgICAgICAgICAnbWFuJzogc3lzLnByZWZpeCArICcvc2hhcmUvbWFuJywKKyAgICAgICAgICAgICdkb2MnOiBzeXMucHJlZml4ICsgJy9zaGFyZS9kb2MvcHl4Zm9pbCcsIH0KKworICAgIGRlZiB0ZWFyRG93bihzZWxmKToKKyAgICAgICAgc3lzY29uZmlnLmdldF9wYXRocyA9IHNlbGYuX29sZF9nZXRfcGF0aHMKKyAgICAgICAgaWYgaGFzYXR0cihjcmVhdGUsICdpbnB1dCcpOgorICAgICAgICAgICAgZGVsIGNyZWF0ZS5pbnB1dAorICAgICAgICBzdXBlcihDcmVhdGVUZXN0Q2FzZSwgc2VsZikudGVhckRvd24oKQorCisgICAgZGVmIHRlc3RfYXNrX3luKHNlbGYpOgorICAgICAgICBjcmVhdGUuaW5wdXQgPSBJbnB1dHMoJ3knKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCd5JywgYXNrX3luKCdpcyB0aGlzIGEgdGVzdCcpKQorCisgICAgZGVmIHRlc3RfYXNrKHNlbGYpOgorICAgICAgICBjcmVhdGUuaW5wdXQgPSBJbnB1dHMoJ2EnLCAnYicpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ2EnLCBhc2soJ2lzIHRoaXMgYSB0ZXN0JykpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ2InLCBhc2soc3RyKGxpc3QocmFuZ2UoMCwgNzApKSksIGRlZmF1bHQ9J2MnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlbmd0aHk9VHJ1ZSkpCisKKyAgICBkZWYgdGVzdF9zZXRfbXVsdGkoc2VsZik6CisgICAgICAgIG1haW5wcm9ncmFtID0gTWFpblByb2dyYW0oKQorICAgICAgICBjcmVhdGUuaW5wdXQgPSBJbnB1dHMoJ2FhYWFhJykKKyAgICAgICAgbWFpbnByb2dyYW0uZGF0YVsnYXV0aG9yJ10gPSBbXQorICAgICAgICBtYWlucHJvZ3JhbS5fc2V0X211bHRpKCdfc2V0X211bHRpIHRlc3QnLCAnYXV0aG9yJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChbJ2FhYWFhJ10sIG1haW5wcm9ncmFtLmRhdGFbJ2F1dGhvciddKQorCisgICAgZGVmIHRlc3RfZmluZF9maWxlcyhzZWxmKToKKyAgICAgICAgIyBtYWtpbmcgc3VyZSB3ZSBzY2FuIGEgcHJvamVjdCBkaXIgY29ycmVjdGx5CisgICAgICAgIG1haW5wcm9ncmFtID0gTWFpblByb2dyYW0oKQorCisgICAgICAgICMgYnVpbGRpbmcgdGhlIHN0cnVjdHVyZQorICAgICAgICB0ZW1wZGlyID0gc2VsZi53ZGlyCisgICAgICAgIGRpcnMgPSBbJ3BrZzEnLCAnZGF0YScsICdwa2cyJywgJ3BrZzIvc3ViJ10KKyAgICAgICAgZmlsZXMgPSBbCisgICAgICAgICAgICAnUkVBRE1FJywKKyAgICAgICAgICAgICdkYXRhL2RhdGExJywKKyAgICAgICAgICAgICdmb28ucHknLAorICAgICAgICAgICAgJ3BrZzEvX19pbml0X18ucHknLAorICAgICAgICAgICAgJ3BrZzEvYmFyLnB5JywKKyAgICAgICAgICAgICdwa2cyL19faW5pdF9fLnB5JywKKyAgICAgICAgICAgICdwa2cyL3N1Yi9fX2luaXRfXy5weScsCisgICAgICAgIF0KKworICAgICAgICBmb3IgZGlyXyBpbiBkaXJzOgorICAgICAgICAgICAgb3MubWtkaXIob3MucGF0aC5qb2luKHRlbXBkaXIsIGRpcl8pKQorCisgICAgICAgIGZvciBmaWxlXyBpbiBmaWxlczoKKyAgICAgICAgICAgIHNlbGYud3JpdGVfZmlsZSgodGVtcGRpciwgZmlsZV8pLCAneHh4JykKKworICAgICAgICBtYWlucHJvZ3JhbS5fZmluZF9maWxlcygpCisgICAgICAgIG1haW5wcm9ncmFtLmRhdGFbJ3BhY2thZ2VzJ10uc29ydCgpCisKKyAgICAgICAgIyBkbyB3ZSBoYXZlIHdoYXQgd2Ugd2FudD8KKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtYWlucHJvZ3JhbS5kYXRhWydwYWNrYWdlcyddLAorICAgICAgICAgICAgICAgICAgICAgICAgIFsncGtnMScsICdwa2cyJywgJ3BrZzIuc3ViJ10pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobWFpbnByb2dyYW0uZGF0YVsnbW9kdWxlcyddLCBbJ2ZvbyddKQorICAgICAgICBkYXRhX2ZuID0gb3MucGF0aC5qb2luKCdkYXRhJywgJ2RhdGExJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtYWlucHJvZ3JhbS5kYXRhWydleHRyYV9maWxlcyddLAorICAgICAgICAgICAgICAgICAgICAgICAgIFsnUkVBRE1FJywgZGF0YV9mbl0pCisKKyAgICBkZWYgdGVzdF9jb252ZXJ0X3NldHVwX3B5X3RvX2NmZyhzZWxmKToKKyAgICAgICAgc2VsZi53cml0ZV9maWxlKChzZWxmLndkaXIsICdzZXR1cC5weScpLAorICAgICAgICAgICAgICAgICAgICAgICAgZGVkZW50KCIiIgorICAgICAgICAjIGNvZGluZzogdXRmLTgKKyAgICAgICAgZnJvbSBkaXN0dXRpbHMuY29yZSBpbXBvcnQgc2V0dXAKKworICAgICAgICBsb25nX2Rlc2NyaXB0aW9uID0gJycnTXkgc3VwZXIgRGVhdGgtc2NyaXB0aW9uCisgICAgICAgIGJhcmJhciBpcyBub3cgb24gdGhlIHB1YmxpYyBkb21haW4sCisgICAgICAgIGhvLCBiYWJ5ICEnJycKKworICAgICAgICBzZXR1cChuYW1lPSdweXhmb2lsJywKKyAgICAgICAgICAgICAgdmVyc2lvbj0nMC4yJywKKyAgICAgICAgICAgICAgZGVzY3JpcHRpb249J1B5dGhvbiBiaW5kaW5ncyBmb3IgdGhlIFhmb2lsIGVuZ2luZScsCisgICAgICAgICAgICAgIGxvbmdfZGVzY3JpcHRpb249bG9uZ19kZXNjcmlwdGlvbiwKKyAgICAgICAgICAgICAgbWFpbnRhaW5lcj0nQW5kcsOpIEVzcGF6ZScsCisgICAgICAgICAgICAgIG1haW50YWluZXJfZW1haWw9J2FuZHJlLmVzcGF6ZUBsb2dpbGFiLmZyJywKKyAgICAgICAgICAgICAgdXJsPSdodHRwOi8vd3d3LnB5dGhvbi1zY2llbmNlLm9yZy9wcm9qZWN0L3B5eGZvaWwnLAorICAgICAgICAgICAgICBsaWNlbnNlPSdHUEx2MicsCisgICAgICAgICAgICAgIHBhY2thZ2VzPVsncHl4Zm9pbCcsICdiYWJhcicsICdtZSddLAorICAgICAgICAgICAgICBkYXRhX2ZpbGVzPVsKKyAgICAgICAgICAgICAgICAgICgnc2hhcmUvZG9jL3B5eGZvaWwnLCBbJ1JFQURNRS5yc3QnXSksCisgICAgICAgICAgICAgICAgICAoJ3NoYXJlL21hbicsIFsncHl4Zm9pbC4xJ10pLAorICAgICAgICAgICAgICAgICAgICAgICAgIF0sCisgICAgICAgICAgICAgIHB5X21vZHVsZXM9WydteV9saWInLCAnbXltb2R1bGUnXSwKKyAgICAgICAgICAgICAgcGFja2FnZV9kaXI9eworICAgICAgICAgICAgICAgICAgJ2JhYmFyJzogJycsCisgICAgICAgICAgICAgICAgICAnbWUnOiAnTWFydGluaXF1ZS9MYW1lbnRpbicsCisgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgIHBhY2thZ2VfZGF0YT17CisgICAgICAgICAgICAgICAgICAnYmFiYXInOiBbJ1BvbScsICdGbG9yYScsICdBbGV4YW5kZXInXSwKKyAgICAgICAgICAgICAgICAgICdtZSc6IFsnZGFkeScsICdtdW15JywgJ3N5cycsICdicm8nXSwKKyAgICAgICAgICAgICAgICAgICdweXhmb2lsJzogWydmZW5naW5lLnNvJ10sCisgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICBzY3JpcHRzPVsnbXlfc2NyaXB0JywgJ2Jpbi9ydW4nXSwKKyAgICAgICAgICAgICAgKQorICAgICAgICAiIiIpLCBlbmNvZGluZz0ndXRmLTgnKQorICAgICAgICBjcmVhdGUuaW5wdXQgPSBJbnB1dHMoJ3knKQorICAgICAgICBtYWluKCkKKworICAgICAgICBwYXRoID0gb3MucGF0aC5qb2luKHNlbGYud2RpciwgJ3NldHVwLmNmZycpCisgICAgICAgIHdpdGggb3BlbihwYXRoLCBlbmNvZGluZz0ndXRmLTgnKSBhcyBmcDoKKyAgICAgICAgICAgIGNvbnRlbnRzID0gZnAucmVhZCgpCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjb250ZW50cywgZGVkZW50KCIiIlwKKyAgICAgICAgICAgIFttZXRhZGF0YV0KKyAgICAgICAgICAgIG5hbWUgPSBweXhmb2lsCisgICAgICAgICAgICB2ZXJzaW9uID0gMC4yCisgICAgICAgICAgICBzdW1tYXJ5ID0gUHl0aG9uIGJpbmRpbmdzIGZvciB0aGUgWGZvaWwgZW5naW5lCisgICAgICAgICAgICBkb3dubG9hZF91cmwgPSBVTktOT1dOCisgICAgICAgICAgICBob21lX3BhZ2UgPSBodHRwOi8vd3d3LnB5dGhvbi1zY2llbmNlLm9yZy9wcm9qZWN0L3B5eGZvaWwKKyAgICAgICAgICAgIG1haW50YWluZXIgPSBBbmRyw6kgRXNwYXplCisgICAgICAgICAgICBtYWludGFpbmVyX2VtYWlsID0gYW5kcmUuZXNwYXplQGxvZ2lsYWIuZnIKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uID0gTXkgc3VwZXIgRGVhdGgtc2NyaXB0aW9uCisgICAgICAgICAgICAgICAgICAgfGJhcmJhciBpcyBub3cgb24gdGhlIHB1YmxpYyBkb21haW4sCisgICAgICAgICAgICAgICAgICAgfGhvLCBiYWJ5ICEKKworICAgICAgICAgICAgW2ZpbGVzXQorICAgICAgICAgICAgcGFja2FnZXMgPSBweXhmb2lsCisgICAgICAgICAgICAgICAgYmFiYXIKKyAgICAgICAgICAgICAgICBtZQorICAgICAgICAgICAgbW9kdWxlcyA9IG15X2xpYgorICAgICAgICAgICAgICAgIG15bW9kdWxlCisgICAgICAgICAgICBzY3JpcHRzID0gbXlfc2NyaXB0CisgICAgICAgICAgICAgICAgYmluL3J1bgorICAgICAgICAgICAgcGFja2FnZV9kYXRhID0KKyAgICAgICAgICAgICAgICBiYWJhciA9IFBvbQorICAgICAgICAgICAgICAgICAgICAgICAgRmxvcmEKKyAgICAgICAgICAgICAgICAgICAgICAgIEFsZXhhbmRlcgorICAgICAgICAgICAgICAgIG1lID0gZGFkeQorICAgICAgICAgICAgICAgICAgICAgbXVteQorICAgICAgICAgICAgICAgICAgICAgc3lzCisgICAgICAgICAgICAgICAgICAgICBicm8KKyAgICAgICAgICAgICAgICBweXhmb2lsID0gZmVuZ2luZS5zbworCisgICAgICAgICAgICByZXNvdXJjZXMgPQorICAgICAgICAgICAgICAgIFJFQURNRS5yc3QgPSB7ZG9jfQorICAgICAgICAgICAgICAgIHB5eGZvaWwuMSA9IHttYW59CisKKyAgICAgICAgICAgICIiIikpCisKKyAgICBkZWYgdGVzdF9jb252ZXJ0X3NldHVwX3B5X3RvX2NmZ193aXRoX2Rlc2NyaXB0aW9uX2luX3JlYWRtZShzZWxmKToKKyAgICAgICAgc2VsZi53cml0ZV9maWxlKChzZWxmLndkaXIsICdzZXR1cC5weScpLAorICAgICAgICAgICAgICAgICAgICAgICAgZGVkZW50KCIiIgorICAgICAgICAjIGNvZGluZzogdXRmLTgKKyAgICAgICAgZnJvbSBkaXN0dXRpbHMuY29yZSBpbXBvcnQgc2V0dXAKKyAgICAgICAgd2l0aCBvcGVuKCdSRUFETUUudHh0JykgYXMgZnA6CisgICAgICAgICAgICBsb25nX2Rlc2NyaXB0aW9uID0gZnAucmVhZCgpCisKKyAgICAgICAgc2V0dXAobmFtZT0ncHl4Zm9pbCcsCisgICAgICAgICAgICAgIHZlcnNpb249JzAuMicsCisgICAgICAgICAgICAgIGRlc2NyaXB0aW9uPSdQeXRob24gYmluZGluZ3MgZm9yIHRoZSBYZm9pbCBlbmdpbmUnLAorICAgICAgICAgICAgICBsb25nX2Rlc2NyaXB0aW9uPWxvbmdfZGVzY3JpcHRpb24sCisgICAgICAgICAgICAgIG1haW50YWluZXI9J0FuZHLDqSBFc3BhemUnLAorICAgICAgICAgICAgICBtYWludGFpbmVyX2VtYWlsPSdhbmRyZS5lc3BhemVAbG9naWxhYi5mcicsCisgICAgICAgICAgICAgIHVybD0naHR0cDovL3d3dy5weXRob24tc2NpZW5jZS5vcmcvcHJvamVjdC9weXhmb2lsJywKKyAgICAgICAgICAgICAgbGljZW5zZT0nR1BMdjInLAorICAgICAgICAgICAgICBwYWNrYWdlcz1bJ3B5eGZvaWwnXSwKKyAgICAgICAgICAgICAgcGFja2FnZV9kYXRhPXsncHl4Zm9pbCc6IFsnZmVuZ2luZS5zbycsICdiYWJhci5zbyddfSwKKyAgICAgICAgICAgICAgZGF0YV9maWxlcz1bCisgICAgICAgICAgICAgICAgKCdzaGFyZS9kb2MvcHl4Zm9pbCcsIFsnUkVBRE1FLnJzdCddKSwKKyAgICAgICAgICAgICAgICAoJ3NoYXJlL21hbicsIFsncHl4Zm9pbC4xJ10pLAorICAgICAgICAgICAgICBdLAorICAgICAgICApCisgICAgICAgICIiIiksIGVuY29kaW5nPSd1dGYtOCcpCisgICAgICAgIHNlbGYud3JpdGVfZmlsZSgoc2VsZi53ZGlyLCAnUkVBRE1FLnR4dCcpLAorICAgICAgICAgICAgICAgICAgICAgICAgZGVkZW50KCcnJworTXkgc3VwZXIgRGVhdGgtc2NyaXB0aW9uCitiYXJiYXIgaXMgbm93IGluIHRoZSBwdWJsaWMgZG9tYWluLAoraG8sIGJhYnkhCisgICAgICAgICAgICAgICAgICAgICAgICAnJycpKQorICAgICAgICBjcmVhdGUuaW5wdXQgPSBJbnB1dHMoJ3knKQorICAgICAgICBtYWluKCkKKworICAgICAgICBwYXRoID0gb3MucGF0aC5qb2luKHNlbGYud2RpciwgJ3NldHVwLmNmZycpCisgICAgICAgIHdpdGggb3BlbihwYXRoLCBlbmNvZGluZz0ndXRmLTgnKSBhcyBmcDoKKyAgICAgICAgICAgIGNvbnRlbnRzID0gZnAucmVhZCgpCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjb250ZW50cywgZGVkZW50KCIiIlwKKyAgICAgICAgICAgIFttZXRhZGF0YV0KKyAgICAgICAgICAgIG5hbWUgPSBweXhmb2lsCisgICAgICAgICAgICB2ZXJzaW9uID0gMC4yCisgICAgICAgICAgICBzdW1tYXJ5ID0gUHl0aG9uIGJpbmRpbmdzIGZvciB0aGUgWGZvaWwgZW5naW5lCisgICAgICAgICAgICBkb3dubG9hZF91cmwgPSBVTktOT1dOCisgICAgICAgICAgICBob21lX3BhZ2UgPSBodHRwOi8vd3d3LnB5dGhvbi1zY2llbmNlLm9yZy9wcm9qZWN0L3B5eGZvaWwKKyAgICAgICAgICAgIG1haW50YWluZXIgPSBBbmRyw6kgRXNwYXplCisgICAgICAgICAgICBtYWludGFpbmVyX2VtYWlsID0gYW5kcmUuZXNwYXplQGxvZ2lsYWIuZnIKKyAgICAgICAgICAgIGRlc2NyaXB0aW9uLWZpbGUgPSBSRUFETUUudHh0CisKKyAgICAgICAgICAgIFtmaWxlc10KKyAgICAgICAgICAgIHBhY2thZ2VzID0gcHl4Zm9pbAorICAgICAgICAgICAgcGFja2FnZV9kYXRhID0KKyAgICAgICAgICAgICAgICBweXhmb2lsID0gZmVuZ2luZS5zbworICAgICAgICAgICAgICAgICAgICAgICAgICBiYWJhci5zbworCisgICAgICAgICAgICByZXNvdXJjZXMgPQorICAgICAgICAgICAgICAgIFJFQURNRS5yc3QgPSB7ZG9jfQorICAgICAgICAgICAgICAgIHB5eGZvaWwuMSA9IHttYW59CisKKyAgICAgICAgICAgICIiIikpCisKKworZGVmIHRlc3Rfc3VpdGUoKToKKyAgICByZXR1cm4gdW5pdHRlc3QubWFrZVN1aXRlKENyZWF0ZVRlc3RDYXNlKQorCitpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgorICAgIHVuaXR0ZXN0Lm1haW4oZGVmYXVsdFRlc3Q9J3Rlc3Rfc3VpdGUnKQpkaWZmIC0tZ2l0IGEvTGliL3BhY2thZ2luZy90ZXN0cy90ZXN0X2N5Z3dpbmNjb21waWxlci5weSBiL0xpYi9wYWNrYWdpbmcvdGVzdHMvdGVzdF9jeWd3aW5jY29tcGlsZXIucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTdjNDNjZAotLS0gL2Rldi9udWxsCisrKyBiL0xpYi9wYWNrYWdpbmcvdGVzdHMvdGVzdF9jeWd3aW5jY29tcGlsZXIucHkKQEAgLTAsMCArMSw4OCBAQAorIiIiVGVzdHMgZm9yIHBhY2thZ2luZy5jeWd3aW5jY29tcGlsZXIuIiIiCitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKK2ltcG9ydCBzeXNjb25maWcKK2Zyb20gcGFja2FnaW5nLmNvbXBpbGVyLmN5Z3dpbmNjb21waWxlciBpbXBvcnQgKAorICAgIGNoZWNrX2NvbmZpZ19oLCBnZXRfbXN2Y3IsCisgICAgQ09ORklHX0hfT0ssIENPTkZJR19IX05PVE9LLCBDT05GSUdfSF9VTkNFUlRBSU4pCisKK2Zyb20gcGFja2FnaW5nLnRlc3RzIGltcG9ydCB1bml0dGVzdCwgc3VwcG9ydAorCisKK2NsYXNzIEN5Z3dpbkNDb21waWxlclRlc3RDYXNlKHN1cHBvcnQuVGVtcGRpck1hbmFnZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bml0dGVzdC5UZXN0Q2FzZSk6CisKKyAgICBkZWYgc2V0VXAoc2VsZik6CisgICAgICAgIHN1cGVyKEN5Z3dpbkNDb21waWxlclRlc3RDYXNlLCBzZWxmKS5zZXRVcCgpCisgICAgICAgIHNlbGYudmVyc2lvbiA9IHN5cy52ZXJzaW9uCisgICAgICAgIHNlbGYucHl0aG9uX2ggPSBvcy5wYXRoLmpvaW4oc2VsZi5ta2R0ZW1wKCksICdweXRob24uaCcpCisgICAgICAgIHNlbGYub2xkX2dldF9jb25maWdfaF9maWxlbmFtZSA9IHN5c2NvbmZpZy5nZXRfY29uZmlnX2hfZmlsZW5hbWUKKyAgICAgICAgc3lzY29uZmlnLmdldF9jb25maWdfaF9maWxlbmFtZSA9IHNlbGYuX2dldF9jb25maWdfaF9maWxlbmFtZQorCisgICAgZGVmIHRlYXJEb3duKHNlbGYpOgorICAgICAgICBzeXMudmVyc2lvbiA9IHNlbGYudmVyc2lvbgorICAgICAgICBzeXNjb25maWcuZ2V0X2NvbmZpZ19oX2ZpbGVuYW1lID0gc2VsZi5vbGRfZ2V0X2NvbmZpZ19oX2ZpbGVuYW1lCisgICAgICAgIHN1cGVyKEN5Z3dpbkNDb21waWxlclRlc3RDYXNlLCBzZWxmKS50ZWFyRG93bigpCisKKyAgICBkZWYgX2dldF9jb25maWdfaF9maWxlbmFtZShzZWxmKToKKyAgICAgICAgcmV0dXJuIHNlbGYucHl0aG9uX2gKKworICAgIGRlZiB0ZXN0X2NoZWNrX2NvbmZpZ19oKHNlbGYpOgorICAgICAgICAjIGNoZWNrX2NvbmZpZ19oIGxvb2tzIGZvciAiR0NDIiBpbiBzeXMudmVyc2lvbiBmaXJzdAorICAgICAgICAjIHJldHVybnMgQ09ORklHX0hfT0sgaWYgZm91bmQKKyAgICAgICAgc3lzLnZlcnNpb24gPSAoJzIuNi4xIChyMjYxOjY3NTE1LCBEZWMgIDYgMjAwOCwgMTY6NDI6MjEpIFxuW0dDQyAnCisgICAgICAgICAgICAgICAgICAgICAgICc0LjAuMSAoQXBwbGUgQ29tcHV0ZXIsIEluYy4gYnVpbGQgNTM3MCldJykKKworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNoZWNrX2NvbmZpZ19oKClbMF0sIENPTkZJR19IX09LKQorCisgICAgICAgICMgdGhlbiBpdCB0cmllcyB0byBzZWUgaWYgaXQgY2FuIGZpbmQgIl9fR05VQ19fIiBpbiBweWNvbmZpZy5oCisgICAgICAgIHN5cy52ZXJzaW9uID0gJ3NvbWV0aGluZyB3aXRob3V0IHRoZSAqQ0Mgd29yZCcKKworICAgICAgICAjIGlmIHRoZSBmaWxlIGRvZXNuJ3QgZXhpc3QgaXQgcmV0dXJucyAgQ09ORklHX0hfVU5DRVJUQUlOCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY2hlY2tfY29uZmlnX2goKVswXSwgQ09ORklHX0hfVU5DRVJUQUlOKQorCisgICAgICAgICMgaWYgaXQgZXhpc3RzIGJ1dCBkb2VzIG5vdCBjb250YWluIF9fR05VQ19fLCBpdCByZXR1cm5zIENPTkZJR19IX05PVE9LCisgICAgICAgIHNlbGYud3JpdGVfZmlsZShzZWxmLnB5dGhvbl9oLCAneHh4JykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjaGVja19jb25maWdfaCgpWzBdLCBDT05GSUdfSF9OT1RPSykKKworICAgICAgICAjIGFuZCBDT05GSUdfSF9PSyBpZiBfX0dOVUNfXyBpcyBmb3VuZAorICAgICAgICBzZWxmLndyaXRlX2ZpbGUoc2VsZi5weXRob25faCwgJ3h4eCBfX0dOVUNfXyB4eHgnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNoZWNrX2NvbmZpZ19oKClbMF0sIENPTkZJR19IX09LKQorCisgICAgZGVmIHRlc3RfZ2V0X21zdmNyKHNlbGYpOgorICAgICAgICAjIG5vbmUKKyAgICAgICAgc3lzLnZlcnNpb24gPSAoJzIuNi4xIChyMjYxOjY3NTE1LCBEZWMgIDYgMjAwOCwgMTY6NDI6MjEpICcKKyAgICAgICAgICAgICAgICAgICAgICAgJ1xuW0dDQyA0LjAuMSAoQXBwbGUgQ29tcHV0ZXIsIEluYy4gYnVpbGQgNTM3MCldJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChnZXRfbXN2Y3IoKSwgTm9uZSkKKworICAgICAgICAjIE1TVkMgNy4wCisgICAgICAgIHN5cy52ZXJzaW9uID0gKCcyLjUuMSAocjI1MTo1NDg2MywgQXByIDE4IDIwMDcsIDA4OjUxOjA4KSAnCisgICAgICAgICAgICAgICAgICAgICAgICdbTVNDIHYuMTMwMCAzMiBiaXRzIChJbnRlbCldJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChnZXRfbXN2Y3IoKSwgWydtc3ZjcjcwJ10pCisKKyAgICAgICAgIyBNU1ZDIDcuMQorICAgICAgICBzeXMudmVyc2lvbiA9ICgnMi41LjEgKHIyNTE6NTQ4NjMsIEFwciAxOCAyMDA3LCAwODo1MTowOCkgJworICAgICAgICAgICAgICAgICAgICAgICAnW01TQyB2LjEzMTAgMzIgYml0cyAoSW50ZWwpXScpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZ2V0X21zdmNyKCksIFsnbXN2Y3I3MSddKQorCisgICAgICAgICMgVlMyMDA1IC8gTVNWQyA4LjAKKyAgICAgICAgc3lzLnZlcnNpb24gPSAoJzIuNS4xIChyMjUxOjU0ODYzLCBBcHIgMTggMjAwNywgMDg6NTE6MDgpICcKKyAgICAgICAgICAgICAgICAgICAgICAgJ1tNU0Mgdi4xNDAwIDMyIGJpdHMgKEludGVsKV0nKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGdldF9tc3ZjcigpLCBbJ21zdmNyODAnXSkKKworICAgICAgICAjIFZTMjAwOCAvIE1TVkMgOS4wCisgICAgICAgIHN5cy52ZXJzaW9uID0gKCcyLjUuMSAocjI1MTo1NDg2MywgQXByIDE4IDIwMDcsIDA4OjUxOjA4KSAnCisgICAgICAgICAgICAgICAgICAgICAgICdbTVNDIHYuMTUwMCAzMiBiaXRzIChJbnRlbCldJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChnZXRfbXN2Y3IoKSwgWydtc3ZjcjkwJ10pCisKKyAgICAgICAgIyB1bmtub3duCisgICAgICAgIHN5cy52ZXJzaW9uID0gKCcyLjUuMSAocjI1MTo1NDg2MywgQXByIDE4IDIwMDcsIDA4OjUxOjA4KSAnCisgICAgICAgICAgICAgICAgICAgICAgICdbTVNDIHYuMTk5OSAzMiBiaXRzIChJbnRlbCldJykKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgZ2V0X21zdmNyKQorCisKK2RlZiB0ZXN0X3N1aXRlKCk6CisgICAgcmV0dXJuIHVuaXR0ZXN0Lm1ha2VTdWl0ZShDeWd3aW5DQ29tcGlsZXJUZXN0Q2FzZSkKKworaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKKyAgICB1bml0dGVzdC5tYWluKGRlZmF1bHRUZXN0PSd0ZXN0X3N1aXRlJykKZGlmZiAtLWdpdCBhL0xpYi9wYWNrYWdpbmcvdGVzdHMvdGVzdF9kYXRhYmFzZS5weSBiL0xpYi9wYWNrYWdpbmcvdGVzdHMvdGVzdF9kYXRhYmFzZS5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZDkxYjk0Ci0tLSAvZGV2L251bGwKKysrIGIvTGliL3BhY2thZ2luZy90ZXN0cy90ZXN0X2RhdGFiYXNlLnB5CkBAIC0wLDAgKzEsNjg2IEBACitpbXBvcnQgb3MKK2ltcG9ydCBpbworaW1wb3J0IGNzdgoraW1wb3J0IHN5cworaW1wb3J0IHNodXRpbAoraW1wb3J0IHRlbXBmaWxlCitmcm9tIGhhc2hsaWIgaW1wb3J0IG1kNQorZnJvbSB0ZXh0d3JhcCBpbXBvcnQgZGVkZW50CisKK2Zyb20gcGFja2FnaW5nLnRlc3RzLnRlc3RfdXRpbCBpbXBvcnQgR2xvYlRlc3RDYXNlQmFzZQorZnJvbSBwYWNrYWdpbmcudGVzdHMuc3VwcG9ydCBpbXBvcnQgcmVxdWlyZXNfemxpYgorCitpbXBvcnQgcGFja2FnaW5nLmRhdGFiYXNlCitmcm9tIHBhY2thZ2luZy5jb25maWcgaW1wb3J0IGdldF9yZXNvdXJjZXNfZGVzdHMKK2Zyb20gcGFja2FnaW5nLmVycm9ycyBpbXBvcnQgUGFja2FnaW5nRXJyb3IKK2Zyb20gcGFja2FnaW5nLm1ldGFkYXRhIGltcG9ydCBNZXRhZGF0YQorZnJvbSBwYWNrYWdpbmcudGVzdHMgaW1wb3J0IHVuaXR0ZXN0LCBzdXBwb3J0Citmcm9tIHBhY2thZ2luZy5kYXRhYmFzZSBpbXBvcnQgKAorICAgIERpc3RyaWJ1dGlvbiwgRWdnSW5mb0Rpc3RyaWJ1dGlvbiwgZ2V0X2Rpc3RyaWJ1dGlvbiwgZ2V0X2Rpc3RyaWJ1dGlvbnMsCisgICAgcHJvdmlkZXNfZGlzdHJpYnV0aW9uLCBvYnNvbGV0ZXNfZGlzdHJpYnV0aW9uLCBnZXRfZmlsZV91c2VycywKKyAgICBlbmFibGVfY2FjaGUsIGRpc2FibGVfY2FjaGUsIGRpc3RpbmZvX2Rpcm5hbWUsIF95aWVsZF9kaXN0cmlidXRpb25zLAorICAgIGdldF9maWxlLCBnZXRfZmlsZV9wYXRoKQorCisjIFRPRE8gQWRkIGEgdGVzdCBmb3IgZ2V0dGluZyBhIGRpc3RyaWJ1dGlvbiBwcm92aWRlZCBieSBhbm90aGVyIGRpc3RyaWJ1dGlvbgorIyBUT0RPIEFkZCBhIHRlc3QgZm9yIGFic29sdXRlIHBhdGhlZCBSRUNPUkQgaXRlbXMgKGUuZy4gL2V0Yy9teWFwcC9jb25maWcuaW5pKQorIyBUT0RPIEFkZCB0ZXN0cyBmcm9tIHRoZSBmb3JtZXIgcGVwMzc2IHByb2plY3QgKHppcHBlZCBzaXRlLXBhY2thZ2VzLCBldGMuKQorCisKK2RlZiBnZXRfaGV4ZGlnZXN0KGZpbGVuYW1lKToKKyAgICB3aXRoIG9wZW4oZmlsZW5hbWUsICdyYicpIGFzIGZpbGU6CisgICAgICAgIGNoZWNrc3VtID0gbWQ1KGZpbGUucmVhZCgpKQorICAgIHJldHVybiBjaGVja3N1bS5oZXhkaWdlc3QoKQorCisKK2RlZiByZWNvcmRfcGllY2VzKHBhdGgpOgorICAgIHBhdGggPSBvcy5wYXRoLmpvaW4oKnBhdGgpCisgICAgZGlnZXN0ID0gZ2V0X2hleGRpZ2VzdChwYXRoKQorICAgIHNpemUgPSBvcy5wYXRoLmdldHNpemUocGF0aCkKKyAgICByZXR1cm4gcGF0aCwgZGlnZXN0LCBzaXplCisKKworY2xhc3MgRmFrZURpc3RzTWl4aW46CisKKyAgICBkZWYgc2V0VXAoc2VsZik6CisgICAgICAgIHN1cGVyKEZha2VEaXN0c01peGluLCBzZWxmKS5zZXRVcCgpCisgICAgICAgIHNlbGYuYWRkQ2xlYW51cChlbmFibGVfY2FjaGUpCisgICAgICAgIGRpc2FibGVfY2FjaGUoKQorCisgICAgICAgICMgbWFrZSBhIGNvcHkgdGhhdCB3ZSBjYW4gd3JpdGUgaW50byBmb3Igb3VyIGZha2UgaW5zdGFsbGVkCisgICAgICAgICMgZGlzdHJpYnV0aW9ucworICAgICAgICB0bXBkaXIgPSB0ZW1wZmlsZS5ta2R0ZW1wKCkKKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKHNodXRpbC5ybXRyZWUsIHRtcGRpcikKKyAgICAgICAgc2VsZi5mYWtlX2Rpc3RzX3BhdGggPSBvcy5wYXRoLnJlYWxwYXRoKAorICAgICAgICAgICAgb3MucGF0aC5qb2luKHRtcGRpciwgJ2Zha2VfZGlzdHMnKSkKKyAgICAgICAgZmFrZV9kaXN0c19zcmMgPSBvcy5wYXRoLmFic3BhdGgoCisgICAgICAgICAgICBvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKSwgJ2Zha2VfZGlzdHMnKSkKKyAgICAgICAgc2h1dGlsLmNvcHl0cmVlKGZha2VfZGlzdHNfc3JjLCBzZWxmLmZha2VfZGlzdHNfcGF0aCkKKyAgICAgICAgIyBYWFggdWdseSB3b3JrYXJvdW5kOiByZXZlcnQgY29weXN0YXQgY2FsbHMgZG9uZSBieSBzaHV0aWwgYmVoaW5kIG91cgorICAgICAgICAjIGJhY2sgKHRvIGF2b2lkIGdldHRpbmcgYSByZWFkLW9ubHkgY29weSBvZiBhIHJlYWQtb25seSBmaWxlKS4gIHdlCisgICAgICAgICMgY291bGQgcGFzcyBhIGN1c3RvbSBjb3B5X2Z1bmN0aW9uIHRvIGNoYW5nZSB0aGUgbW9kZSBvZiBmaWxlcywgYnV0CisgICAgICAgICMgc2h1dGlsIGdpdmVzIG5vIGNvbnRyb2wgb3ZlciB0aGUgbW9kZSBvZiBkaXJlY3RvcmllcyA6KAorICAgICAgICAjIHNlZSBodHRwOi8vYnVncy5weXRob24ub3JnL2lzc3VlMTY2NjMxOAorICAgICAgICBmb3Igcm9vdCwgZGlycywgZmlsZXMgaW4gb3Mud2FsayhzZWxmLmZha2VfZGlzdHNfcGF0aCk6CisgICAgICAgICAgICBvcy5jaG1vZChyb290LCAwbzc1NSkKKyAgICAgICAgICAgIGZvciBmIGluIGZpbGVzOgorICAgICAgICAgICAgICAgIG9zLmNobW9kKG9zLnBhdGguam9pbihyb290LCBmKSwgMG82NDQpCisgICAgICAgICAgICBmb3IgZCBpbiBkaXJzOgorICAgICAgICAgICAgICAgIG9zLmNobW9kKG9zLnBhdGguam9pbihyb290LCBkKSwgMG83NTUpCisKKworY2xhc3MgQ29tbW9uRGlzdHJpYnV0aW9uVGVzdHMoRmFrZURpc3RzTWl4aW4pOgorICAgICIiIk1peGluIHVzZWQgdG8gdGVzdCB0aGUgaW50ZXJmYWNlIGNvbW1vbiB0byBib3RoIERpc3RyaWJ1dGlvbiBjbGFzc2VzLgorCisgICAgRGVyaXZlZCBjbGFzc2VzIGRlZmluZSBjbHMsIHNhbXBsZV9kaXN0LCBkaXJzIGFuZCByZWNvcmRzLiAgVGhlc2UKKyAgICBhdHRyaWJ1dGVzIGFyZSB1c2VkIGluIHRlc3QgbWV0aG9kcy4gIFNlZSBzb3VyY2UgY29kZSBmb3IgZGV0YWlscy4KKyAgICAiIiIKKworICAgIGRlZiB0ZXN0X2luc3RhbnRpYXRpb24oc2VsZik6CisgICAgICAgICMgY2hlY2sgdGhhdCB1c2VmdWwgYXR0cmlidXRlcyBhcmUgaGVyZQorICAgICAgICBuYW1lLCB2ZXJzaW9uLCBkaXN0ZGlyID0gc2VsZi5zYW1wbGVfZGlzdAorICAgICAgICBoZXJlID0gb3MucGF0aC5hYnNwYXRoKG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXykpCisgICAgICAgIGRpc3RfcGF0aCA9IG9zLnBhdGguam9pbihoZXJlLCAnZmFrZV9kaXN0cycsIGRpc3RkaXIpCisKKyAgICAgICAgZGlzdCA9IHNlbGYuZGlzdCA9IHNlbGYuY2xzKGRpc3RfcGF0aCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkaXN0LnBhdGgsIGRpc3RfcGF0aCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkaXN0Lm5hbWUsIG5hbWUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGlzdC5tZXRhZGF0YVsnTmFtZSddLCBuYW1lKQorICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2UoZGlzdC5tZXRhZGF0YSwgTWV0YWRhdGEpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGlzdC52ZXJzaW9uLCB2ZXJzaW9uKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRpc3QubWV0YWRhdGFbJ1ZlcnNpb24nXSwgdmVyc2lvbikKKworICAgIEByZXF1aXJlc196bGliCisgICAgZGVmIHRlc3RfcmVwcihzZWxmKToKKyAgICAgICAgZGlzdCA9IHNlbGYuY2xzKHNlbGYuZGlyc1swXSkKKyAgICAgICAgIyBqdXN0IGNoZWNrIHRoYXQgdGhlIGNsYXNzIG5hbWUgaXMgaW4gdGhlIHJlcHIKKyAgICAgICAgc2VsZi5hc3NlcnRJbihzZWxmLmNscy5fX25hbWVfXywgcmVwcihkaXN0KSkKKworICAgIEByZXF1aXJlc196bGliCisgICAgZGVmIHRlc3RfY29tcGFyaXNvbihzZWxmKToKKyAgICAgICAgIyB0ZXN0cyBmb3IgX19lcV9fIGFuZCBfX2hhc2hfXworICAgICAgICBkaXN0ID0gc2VsZi5jbHMoc2VsZi5kaXJzWzBdKQorICAgICAgICBkaXN0MiA9IHNlbGYuY2xzKHNlbGYuZGlyc1swXSkKKyAgICAgICAgZGlzdDMgPSBzZWxmLmNscyhzZWxmLmRpcnNbMV0pCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oZGlzdCwge2Rpc3Q6IFRydWV9KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRpc3QsIGRpc3QpCisKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vdChkaXN0LCBkaXN0MikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkaXN0LCBkaXN0MikKKyAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbChkaXN0LCBkaXN0MykKKyAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbChkaXN0LCAoKSkKKworICAgIGRlZiB0ZXN0X2xpc3RfaW5zdGFsbGVkX2ZpbGVzKHNlbGYpOgorICAgICAgICBmb3IgZGlyXyBpbiBzZWxmLmRpcnM6CisgICAgICAgICAgICBkaXN0ID0gc2VsZi5jbHMoZGlyXykKKyAgICAgICAgICAgIGZvciBwYXRoLCBtZDVfLCBzaXplIGluIGRpc3QubGlzdF9pbnN0YWxsZWRfZmlsZXMoKToKKyAgICAgICAgICAgICAgICByZWNvcmRfZGF0YSA9IHNlbGYucmVjb3Jkc1tkaXN0LnBhdGhdCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRJbihwYXRoLCByZWNvcmRfZGF0YSkKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1kNV8sIHJlY29yZF9kYXRhW3BhdGhdWzBdKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2l6ZSwgcmVjb3JkX2RhdGFbcGF0aF1bMV0pCisKKworY2xhc3MgVGVzdERpc3RyaWJ1dGlvbihDb21tb25EaXN0cmlidXRpb25UZXN0cywgdW5pdHRlc3QuVGVzdENhc2UpOgorCisgICAgY2xzID0gRGlzdHJpYnV0aW9uCisgICAgc2FtcGxlX2Rpc3QgPSAnY2hveGllJywgJzIuMC4wLjknLCAnY2hveGllLTIuMC4wLjkuZGlzdC1pbmZvJworCisgICAgZGVmIHNldFVwKHNlbGYpOgorICAgICAgICBzdXBlcihUZXN0RGlzdHJpYnV0aW9uLCBzZWxmKS5zZXRVcCgpCisgICAgICAgIHNlbGYuZGlycyA9IFtvcy5wYXRoLmpvaW4oc2VsZi5mYWtlX2Rpc3RzX3BhdGgsIGYpCisgICAgICAgICAgICAgICAgICAgICBmb3IgZiBpbiBvcy5saXN0ZGlyKHNlbGYuZmFrZV9kaXN0c19wYXRoKQorICAgICAgICAgICAgICAgICAgICAgaWYgZi5lbmRzd2l0aCgnLmRpc3QtaW5mbycpXQorCisgICAgICAgIHNlbGYucmVjb3JkcyA9IHt9CisgICAgICAgIGZvciBkaXN0aW5mb19kaXIgaW4gc2VsZi5kaXJzOgorCisgICAgICAgICAgICByZWNvcmRfZmlsZSA9IG9zLnBhdGguam9pbihkaXN0aW5mb19kaXIsICdSRUNPUkQnKQorICAgICAgICAgICAgd2l0aCBvcGVuKHJlY29yZF9maWxlLCAndycpIGFzIGZpbGU6CisgICAgICAgICAgICAgICAgcmVjb3JkX3dyaXRlciA9IGNzdi53cml0ZXIoCisgICAgICAgICAgICAgICAgICAgIGZpbGUsIGRlbGltaXRlcj0nLCcsIHF1b3Rpbmc9Y3N2LlFVT1RFX05PTkUsCisgICAgICAgICAgICAgICAgICAgIGxpbmV0ZXJtaW5hdG9yPSdcbicpCisKKyAgICAgICAgICAgICAgICBkaXN0X2xvY2F0aW9uID0gZGlzdGluZm9fZGlyLnJlcGxhY2UoJy5kaXN0LWluZm8nLCAnJykKKworICAgICAgICAgICAgICAgIGZvciBwYXRoLCBkaXJzLCBmaWxlcyBpbiBvcy53YWxrKGRpc3RfbG9jYXRpb24pOgorICAgICAgICAgICAgICAgICAgICBmb3IgZiBpbiBmaWxlczoKKyAgICAgICAgICAgICAgICAgICAgICAgIHJlY29yZF93cml0ZXIud3JpdGVyb3cocmVjb3JkX3BpZWNlcygocGF0aCwgZikpKQorICAgICAgICAgICAgICAgIGZvciBmaWxlIGluICgnSU5TVEFMTEVSJywgJ01FVEFEQVRBJywgJ1JFUVVFU1RFRCcpOgorICAgICAgICAgICAgICAgICAgICByZWNvcmRfd3JpdGVyLndyaXRlcm93KHJlY29yZF9waWVjZXMoKGRpc3RpbmZvX2RpciwgZmlsZSkpKQorICAgICAgICAgICAgICAgIHJlY29yZF93cml0ZXIud3JpdGVyb3coW3JlY29yZF9maWxlXSkKKworICAgICAgICAgICAgd2l0aCBvcGVuKHJlY29yZF9maWxlKSBhcyBmaWxlOgorICAgICAgICAgICAgICAgIHJlY29yZF9yZWFkZXIgPSBjc3YucmVhZGVyKGZpbGUsIGxpbmV0ZXJtaW5hdG9yPSdcbicpCisgICAgICAgICAgICAgICAgcmVjb3JkX2RhdGEgPSB7fQorICAgICAgICAgICAgICAgIGZvciByb3cgaW4gcmVjb3JkX3JlYWRlcjoKKyAgICAgICAgICAgICAgICAgICAgaWYgcm93ID09IFtdOgorICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgICAgICAgICAgICAgcGF0aCwgbWQ1Xywgc2l6ZSA9IChyb3dbOl0gKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtOb25lIGZvciBpIGluIHJhbmdlKGxlbihyb3cpLCAzKV0pCisgICAgICAgICAgICAgICAgICAgIHJlY29yZF9kYXRhW3BhdGhdID0gbWQ1Xywgc2l6ZQorICAgICAgICAgICAgc2VsZi5yZWNvcmRzW2Rpc3RpbmZvX2Rpcl0gPSByZWNvcmRfZGF0YQorCisgICAgZGVmIHRlc3RfaW5zdGFudGlhdGlvbihzZWxmKToKKyAgICAgICAgc3VwZXIoVGVzdERpc3RyaWJ1dGlvbiwgc2VsZikudGVzdF9pbnN0YW50aWF0aW9uKCkKKyAgICAgICAgc2VsZi5hc3NlcnRJc0luc3RhbmNlKHNlbGYuZGlzdC5yZXF1ZXN0ZWQsIGJvb2wpCisKKyAgICBkZWYgdGVzdF91c2VzKHNlbGYpOgorICAgICAgICAjIFRlc3QgdG8gZGV0ZXJtaW5lIGlmIGEgZGlzdHJpYnV0aW9uIHVzZXMgYSBzcGVjaWZpZWQgZmlsZS4KKyAgICAgICAgIyBDcml0ZXJpYSB0byB0ZXN0IGFnYWluc3QKKyAgICAgICAgZGlzdGluZm9fbmFtZSA9ICdncmFtbWFyLTEuMGE0JworICAgICAgICBkaXN0aW5mb19kaXIgPSBvcy5wYXRoLmpvaW4oc2VsZi5mYWtlX2Rpc3RzX3BhdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXN0aW5mb19uYW1lICsgJy5kaXN0LWluZm8nKQorICAgICAgICB0cnVlX3BhdGggPSBbc2VsZi5mYWtlX2Rpc3RzX3BhdGgsIGRpc3RpbmZvX25hbWUsCisgICAgICAgICAgICAgICAgICAgICAnZ3JhbW1hcicsICd1dGlscy5weSddCisgICAgICAgIHRydWVfcGF0aCA9IG9zLnBhdGguam9pbigqdHJ1ZV9wYXRoKQorICAgICAgICBmYWxzZV9wYXRoID0gW3NlbGYuZmFrZV9kaXN0c19wYXRoLCAndG93ZWxfc3R1ZmYtMC4xJywgJ3Rvd2VsX3N0dWZmJywKKyAgICAgICAgICAgICAgICAgICAgICAnX19pbml0X18ucHknXQorICAgICAgICBmYWxzZV9wYXRoID0gb3MucGF0aC5qb2luKCpmYWxzZV9wYXRoKQorCisgICAgICAgICMgVGVzdCBpZiB0aGUgZGlzdHJpYnV0aW9uIHVzZXMgdGhlIGZpbGUgaW4gcXVlc3Rpb24KKyAgICAgICAgZGlzdCA9IERpc3RyaWJ1dGlvbihkaXN0aW5mb19kaXIpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShkaXN0LnVzZXModHJ1ZV9wYXRoKSwgJ2Rpc3QgJXIgaXMgc3VwcG9zZWQgdG8gdXNlICVyJyAlCisgICAgICAgICAgICAgICAgICAgICAgICAoZGlzdCwgdHJ1ZV9wYXRoKSkKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShkaXN0LnVzZXMoZmFsc2VfcGF0aCksICdkaXN0ICVyIGlzIG5vdCBzdXBwb3NlZCB0byAnCisgICAgICAgICAgICAgICAgICAgICAgICAgJ3VzZSAlcicgJSAoZGlzdCwgdHJ1ZV9wYXRoKSkKKworICAgIGRlZiB0ZXN0X2dldF9kaXN0aW5mb19maWxlKHNlbGYpOgorICAgICAgICAjIFRlc3QgdGhlIHJldHJpZXZhbCBvZiBkaXN0LWluZm8gZmlsZSBvYmplY3RzLgorICAgICAgICBkaXN0aW5mb19uYW1lID0gJ2Nob3hpZS0yLjAuMC45JworICAgICAgICBvdGhlcl9kaXN0aW5mb19uYW1lID0gJ2dyYW1tYXItMS4wYTQnCisgICAgICAgIGRpc3RpbmZvX2RpciA9IG9zLnBhdGguam9pbihzZWxmLmZha2VfZGlzdHNfcGF0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3RpbmZvX25hbWUgKyAnLmRpc3QtaW5mbycpCisgICAgICAgIGRpc3QgPSBEaXN0cmlidXRpb24oZGlzdGluZm9fZGlyKQorICAgICAgICAjIFRlc3QgZm9yIGtub3duIGdvb2QgZmlsZSBtYXRjaGVzCisgICAgICAgIGRpc3RpbmZvX2ZpbGVzID0gWworICAgICAgICAgICAgIyBSZWxhdGl2ZSBwYXRocworICAgICAgICAgICAgJ0lOU1RBTExFUicsICdNRVRBREFUQScsCisgICAgICAgICAgICAjIEFic29sdXRlIHBhdGhzCisgICAgICAgICAgICBvcy5wYXRoLmpvaW4oZGlzdGluZm9fZGlyLCAnUkVDT1JEJyksCisgICAgICAgICAgICBvcy5wYXRoLmpvaW4oZGlzdGluZm9fZGlyLCAnUkVRVUVTVEVEJyksCisgICAgICAgIF0KKworICAgICAgICBmb3IgZGlzdGZpbGUgaW4gZGlzdGluZm9fZmlsZXM6CisgICAgICAgICAgICB3aXRoIGRpc3QuZ2V0X2Rpc3RpbmZvX2ZpbGUoZGlzdGZpbGUpIGFzIHZhbHVlOgorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZSh2YWx1ZSwgaW8uVGV4dElPV3JhcHBlcikKKyAgICAgICAgICAgICAgICAjIElzIGl0IHRoZSBjb3JyZWN0IGZpbGU/CisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh2YWx1ZS5uYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3MucGF0aC5qb2luKGRpc3RpbmZvX2RpciwgZGlzdGZpbGUpKQorCisgICAgICAgICMgVGVzdCBhbiBhYnNvbHV0ZSBwYXRoIHRoYXQgaXMgcGFydCBvZiBhbm90aGVyIGRpc3RyaWJ1dGlvbnMgZGlzdC1pbmZvCisgICAgICAgIG90aGVyX2Rpc3RpbmZvX2ZpbGUgPSBvcy5wYXRoLmpvaW4oCisgICAgICAgICAgICBzZWxmLmZha2VfZGlzdHNfcGF0aCwgb3RoZXJfZGlzdGluZm9fbmFtZSArICcuZGlzdC1pbmZvJywKKyAgICAgICAgICAgICdSRVFVRVNURUQnKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhQYWNrYWdpbmdFcnJvciwgZGlzdC5nZXRfZGlzdGluZm9fZmlsZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgb3RoZXJfZGlzdGluZm9fZmlsZSkKKyAgICAgICAgIyBUZXN0IGZvciBhIGZpbGUgdGhhdCBzaG91bGQgbm90IGV4aXN0CisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFBhY2thZ2luZ0Vycm9yLCBkaXN0LmdldF9kaXN0aW5mb19maWxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAnTUFHSUNGSUxFJykKKworICAgIGRlZiB0ZXN0X2xpc3RfZGlzdGluZm9fZmlsZXMoc2VsZik6CisgICAgICAgIGRpc3RpbmZvX25hbWUgPSAndG93ZWxfc3R1ZmYtMC4xJworICAgICAgICBkaXN0aW5mb19kaXIgPSBvcy5wYXRoLmpvaW4oc2VsZi5mYWtlX2Rpc3RzX3BhdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXN0aW5mb19uYW1lICsgJy5kaXN0LWluZm8nKQorICAgICAgICBkaXN0ID0gRGlzdHJpYnV0aW9uKGRpc3RpbmZvX2RpcikKKyAgICAgICAgIyBUZXN0IGZvciB0aGUgaXRlcmF0aW9uIG9mIHRoZSByYXcgcGF0aAorICAgICAgICBkaXN0aW5mb19maWxlcyA9IFtvcy5wYXRoLmpvaW4oZGlzdGluZm9fZGlyLCBmaWxlbmFtZSkgZm9yIGZpbGVuYW1lIGluCisgICAgICAgICAgICAgICAgICAgICAgICAgIG9zLmxpc3RkaXIoZGlzdGluZm9fZGlyKV0KKyAgICAgICAgZm91bmQgPSBkaXN0Lmxpc3RfZGlzdGluZm9fZmlsZXMoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNvcnRlZChmb3VuZCksIHNvcnRlZChkaXN0aW5mb19maWxlcykpCisgICAgICAgICMgVGVzdCBmb3IgdGhlIGl0ZXJhdGlvbiBvZiBsb2NhbCBhYnNvbHV0ZSBwYXRocworICAgICAgICBkaXN0aW5mb19maWxlcyA9IFtvcy5wYXRoLmpvaW4oc3lzLnByZWZpeCwgZGlzdGluZm9fZGlyLCBwYXRoKSBmb3IKKyAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aCBpbiBkaXN0aW5mb19maWxlc10KKyAgICAgICAgZm91bmQgPSBzb3J0ZWQoZGlzdC5saXN0X2Rpc3RpbmZvX2ZpbGVzKGxvY2FsPVRydWUpKQorICAgICAgICBpZiBvcy5zZXAgIT0gJy8nOgorICAgICAgICAgICAgc2VsZi5hc3NlcnROb3RJbignLycsIGZvdW5kWzBdKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRJbihvcy5zZXAsIGZvdW5kWzBdKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGZvdW5kLCBzb3J0ZWQoZGlzdGluZm9fZmlsZXMpKQorCisgICAgZGVmIHRlc3RfZ2V0X3Jlc291cmNlc19wYXRoKHNlbGYpOgorICAgICAgICBkaXN0aW5mb19uYW1lID0gJ2JhYmFyLTAuMScKKyAgICAgICAgZGlzdGluZm9fZGlyID0gb3MucGF0aC5qb2luKHNlbGYuZmFrZV9kaXN0c19wYXRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzdGluZm9fbmFtZSArICcuZGlzdC1pbmZvJykKKyAgICAgICAgZGlzdCA9IERpc3RyaWJ1dGlvbihkaXN0aW5mb19kaXIpCisgICAgICAgIHJlc291cmNlX3BhdGggPSBkaXN0LmdldF9yZXNvdXJjZV9wYXRoKCdiYWJhci5wbmcnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlc291cmNlX3BhdGgsICdiYWJhci5wbmcnKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhLZXlFcnJvciwgZGlzdC5nZXRfcmVzb3VyY2VfcGF0aCwgJ25vdGV4aXN0JykKKworCitjbGFzcyBUZXN0RWdnSW5mb0Rpc3RyaWJ1dGlvbihDb21tb25EaXN0cmlidXRpb25UZXN0cywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1cHBvcnQuTG9nZ2luZ0NhdGNoZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bml0dGVzdC5UZXN0Q2FzZSk6CisKKyAgICBjbHMgPSBFZ2dJbmZvRGlzdHJpYnV0aW9uCisgICAgc2FtcGxlX2Rpc3QgPSAnYmFjb24nLCAnMC4xJywgJ2JhY29uLTAuMS5lZ2ctaW5mbycKKworICAgIGRlZiBzZXRVcChzZWxmKToKKyAgICAgICAgc3VwZXIoVGVzdEVnZ0luZm9EaXN0cmlidXRpb24sIHNlbGYpLnNldFVwKCkKKworICAgICAgICBzZWxmLmRpcnMgPSBbb3MucGF0aC5qb2luKHNlbGYuZmFrZV9kaXN0c19wYXRoLCBmKQorICAgICAgICAgICAgICAgICAgICAgZm9yIGYgaW4gb3MubGlzdGRpcihzZWxmLmZha2VfZGlzdHNfcGF0aCkKKyAgICAgICAgICAgICAgICAgICAgIGlmIGYuZW5kc3dpdGgoJy5lZ2cnKSBvciBmLmVuZHN3aXRoKCcuZWdnLWluZm8nKV0KKworICAgICAgICBzZWxmLnJlY29yZHMgPSB7fQorCisgICAgQHVuaXR0ZXN0LnNraXAoJ25vdCBpbXBsZW1lbnRlZCB5ZXQnKQorICAgIGRlZiB0ZXN0X2xpc3RfaW5zdGFsbGVkX2ZpbGVzKHNlbGYpOgorICAgICAgICAjIEVnZ0luZm9EaXN0cmlidXRpb24gZGVmaW5lcyBsaXN0X2luc3RhbGxlZF9maWxlcyBidXQgdGhlcmUgaXMgbm8KKyAgICAgICAgIyB0ZXN0IGZvciBpdCB5ZXQ7IHNvbWVvbmUgd2l0aCBzZXR1cHRvb2xzIGV4cGVydGlzZSBuZWVkcyB0byBhZGQgYQorICAgICAgICAjIGZpbGUgd2l0aCB0aGUgbGlzdCBvZiBpbnN0YWxsZWQgZmlsZXMgZm9yIG9uZSBvZiB0aGUgZWdnIGZha2UgZGlzdHMKKyAgICAgICAgIyBhbmQgd3JpdGUgdGhlIHN1cHBvcnQgY29kZSB0byBwb3B1bGF0ZSBzZWxmLnJlY29yZHMgKGFuZCB0aGVuIGRlbGV0ZQorICAgICAgICAjIHRoaXMgbWV0aG9kKQorICAgICAgICBwYXNzCisKKworY2xhc3MgVGVzdERhdGFiYXNlKHN1cHBvcnQuTG9nZ2luZ0NhdGNoZXIsCisgICAgICAgICAgICAgICAgICAgRmFrZURpc3RzTWl4aW4sCisgICAgICAgICAgICAgICAgICAgdW5pdHRlc3QuVGVzdENhc2UpOgorCisgICAgZGVmIHNldFVwKHNlbGYpOgorICAgICAgICBzdXBlcihUZXN0RGF0YWJhc2UsIHNlbGYpLnNldFVwKCkKKyAgICAgICAgc3lzLnBhdGguaW5zZXJ0KDAsIHNlbGYuZmFrZV9kaXN0c19wYXRoKQorICAgICAgICBzZWxmLmFkZENsZWFudXAoc3lzLnBhdGgucmVtb3ZlLCBzZWxmLmZha2VfZGlzdHNfcGF0aCkKKworICAgIGRlZiB0ZXN0X2NhY2hlcyhzZWxmKToKKyAgICAgICAgIyBzYW5pdHkgY2hlY2sgZm9yIGludGVybmFsIGNhY2hlcworICAgICAgICBmb3IgbmFtZSBpbiAoJ19jYWNoZV9uYW1lJywgJ19jYWNoZV9uYW1lX2VnZycsCisgICAgICAgICAgICAgICAgICAgICAnX2NhY2hlX3BhdGgnLCAnX2NhY2hlX3BhdGhfZWdnJyk6CisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGdldGF0dHIocGFja2FnaW5nLmRhdGFiYXNlLCBuYW1lKSwge30pCisKKyAgICBkZWYgdGVzdF9kaXN0aW5mb19kaXJuYW1lKHNlbGYpOgorICAgICAgICAjIEdpdmVuIGEgbmFtZSBhbmQgYSB2ZXJzaW9uLCB3ZSBleHBlY3QgdGhlIGRpc3RpbmZvX2Rpcm5hbWUgZnVuY3Rpb24KKyAgICAgICAgIyB0byByZXR1cm4gYSBzdGFuZGFyZCBkaXN0cmlidXRpb24gaW5mb3JtYXRpb24gZGlyZWN0b3J5IG5hbWUuCisKKyAgICAgICAgaXRlbXMgPSBbCisgICAgICAgICAgICAjIChuYW1lLCB2ZXJzaW9uLCBzdGFuZGFyZF9kaXJuYW1lKQorICAgICAgICAgICAgIyBUZXN0IGZvciBhIHZlcnkgc2ltcGxlIHNpbmdsZSB3b3JkIG5hbWUgYW5kIGRlY2ltYWwgdmVyc2lvbgorICAgICAgICAgICAgIyBudW1iZXIKKyAgICAgICAgICAgICgnZG9jdXRpbHMnLCAnMC41JywgJ2RvY3V0aWxzLTAuNS5kaXN0LWluZm8nKSwKKyAgICAgICAgICAgICMgVGVzdCBmb3IgYW5vdGhlciBleGNlcHQgdGhpcyB0aW1lIHdpdGggYSAnLScgaW4gdGhlIG5hbWUsIHdoaWNoCisgICAgICAgICAgICAjIG5lZWRzIHRvIGJlIHRyYW5zZm9ybWVkIGR1cmluZyB0aGUgbmFtZSBsb29rdXAKKyAgICAgICAgICAgICgncHl0aG9uLWxkYXAnLCAnMi41JywgJ3B5dGhvbl9sZGFwLTIuNS5kaXN0LWluZm8nKSwKKyAgICAgICAgICAgICMgVGVzdCBmb3IgYm90aCAnLScgaW4gdGhlIG5hbWUgYW5kIGEgZnVua3kgdmVyc2lvbiBudW1iZXIKKyAgICAgICAgICAgICgncHl0aG9uLWxkYXAnLCAnMi41IGEtLS01JywgJ3B5dGhvbl9sZGFwLTIuNSBhLS0tNS5kaXN0LWluZm8nKSwKKyAgICAgICAgICAgIF0KKworICAgICAgICAjIExvb3AgdGhyb3VnaCB0aGUgaXRlbXMgdG8gdmFsaWRhdGUgdGhlIHJlc3VsdHMKKyAgICAgICAgZm9yIG5hbWUsIHZlcnNpb24sIHN0YW5kYXJkX2Rpcm5hbWUgaW4gaXRlbXM6CisgICAgICAgICAgICBkaXJuYW1lID0gZGlzdGluZm9fZGlybmFtZShuYW1lLCB2ZXJzaW9uKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkaXJuYW1lLCBzdGFuZGFyZF9kaXJuYW1lKQorCisgICAgQHJlcXVpcmVzX3psaWIKKyAgICBkZWYgdGVzdF9nZXRfZGlzdHJpYnV0aW9ucyhzZWxmKToKKyAgICAgICAgIyBMb29rdXAgYWxsIGRpc3RyaWJ1dGlvbnMgZm91bmQgaW4gdGhlIGBgc3lzLnBhdGhgYC4KKyAgICAgICAgIyBUaGlzIHRlc3QgY291bGQgcG90ZW50aWFsbHkgcGljayB1cCBvdGhlciBpbnN0YWxsZWQgZGlzdHJpYnV0aW9ucworICAgICAgICBmYWtlX2Rpc3RzID0gWygnZ3JhbW1hcicsICcxLjBhNCcpLCAoJ2Nob3hpZScsICcyLjAuMC45JyksCisgICAgICAgICAgICAgICAgICAgICAgKCd0b3dlbC1zdHVmZicsICcwLjEnKSwgKCdiYWJhcicsICcwLjEnKV0KKyAgICAgICAgZm91bmRfZGlzdHMgPSBbXQorCisgICAgICAgICMgVmVyaWZ5IHRoZSBmYWtlIGRpc3RzIGhhdmUgYmVlbiBmb3VuZC4KKyAgICAgICAgZGlzdHMgPSBbZGlzdCBmb3IgZGlzdCBpbiBnZXRfZGlzdHJpYnV0aW9ucygpXQorICAgICAgICBmb3IgZGlzdCBpbiBkaXN0czoKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShkaXN0LCBEaXN0cmlidXRpb24pCisgICAgICAgICAgICBpZiAoZGlzdC5uYW1lIGluIGRpY3QoZmFrZV9kaXN0cykgYW5kCisgICAgICAgICAgICAgICAgZGlzdC5wYXRoLnN0YXJ0c3dpdGgoc2VsZi5mYWtlX2Rpc3RzX3BhdGgpKToKKyAgICAgICAgICAgICAgICBmb3VuZF9kaXN0cy5hcHBlbmQoKGRpc3QubmFtZSwgZGlzdC52ZXJzaW9uKSkKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgIyBjaGVjayB0aGF0IGl0IGRvZXNuJ3QgZmluZCBhbnl0aGluZyBtb3JlIHRoYW4gdGhpcworICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoZGlzdC5wYXRoLnN0YXJ0c3dpdGgoc2VsZi5mYWtlX2Rpc3RzX3BhdGgpKQorICAgICAgICAgICAgIyBvdGhlcndpc2Ugd2UgZG9uJ3QgY2FyZSB3aGF0IG90aGVyIGRpc3RyaWJ1dGlvbnMgYXJlIGZvdW5kCisKKyAgICAgICAgIyBGaW5hbGx5LCB0ZXN0IHRoYXQgd2UgZm91bmQgYWxsIHRoYXQgd2Ugd2VyZSBsb29raW5nIGZvcgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNvcnRlZChmb3VuZF9kaXN0cyksIHNvcnRlZChmYWtlX2Rpc3RzKSkKKworICAgICAgICAjIE5vdywgdGVzdCBpZiB0aGUgZWdnLWluZm8gZGlzdHJpYnV0aW9ucyBhcmUgZm91bmQgY29ycmVjdGx5IGFzIHdlbGwKKyAgICAgICAgZmFrZV9kaXN0cyArPSBbKCdiYWNvbicsICcwLjEnKSwgKCdjaGVlc2UnLCAnMi4wLjInKSwKKyAgICAgICAgICAgICAgICAgICAgICAgKCdjb2NvbnV0cy1hc3RlcicsICcxMC4zJyksCisgICAgICAgICAgICAgICAgICAgICAgICgnYmFuYW5hJywgJzAuNCcpLCAoJ3N0cmF3YmVycnknLCAnMC42JyksCisgICAgICAgICAgICAgICAgICAgICAgICgndHJ1ZmZsZXMnLCAnNS4wJyksICgnbnV0JywgJ2Z1bmt5dmVyc2lvbicpXQorICAgICAgICBmb3VuZF9kaXN0cyA9IFtdCisKKyAgICAgICAgZGlzdHMgPSBbZGlzdCBmb3IgZGlzdCBpbiBnZXRfZGlzdHJpYnV0aW9ucyh1c2VfZWdnX2luZm89VHJ1ZSldCisgICAgICAgIGZvciBkaXN0IGluIGRpc3RzOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRJc0luc3RhbmNlKGRpc3QsIChEaXN0cmlidXRpb24sIEVnZ0luZm9EaXN0cmlidXRpb24pKQorICAgICAgICAgICAgaWYgKGRpc3QubmFtZSBpbiBkaWN0KGZha2VfZGlzdHMpIGFuZAorICAgICAgICAgICAgICAgIGRpc3QucGF0aC5zdGFydHN3aXRoKHNlbGYuZmFrZV9kaXN0c19wYXRoKSk6CisgICAgICAgICAgICAgICAgZm91bmRfZGlzdHMuYXBwZW5kKChkaXN0Lm5hbWUsIGRpc3QudmVyc2lvbikpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoZGlzdC5wYXRoLnN0YXJ0c3dpdGgoc2VsZi5mYWtlX2Rpc3RzX3BhdGgpKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc29ydGVkKGZha2VfZGlzdHMpLCBzb3J0ZWQoZm91bmRfZGlzdHMpKQorCisgICAgQHJlcXVpcmVzX3psaWIKKyAgICBkZWYgdGVzdF9nZXRfZGlzdHJpYnV0aW9uKHNlbGYpOgorICAgICAgICAjIFRlc3QgZm9yIGxvb2tpbmcgdXAgYSBkaXN0cmlidXRpb24gYnkgbmFtZS4KKyAgICAgICAgIyBUZXN0IHRoZSBsb29rdXAgb2YgdGhlIHRvd2VsLXN0dWZmIGRpc3RyaWJ1dGlvbgorICAgICAgICBuYW1lID0gJ3Rvd2VsLXN0dWZmJyAgIyBOb3RlOiBUaGlzIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBkaXJlY3RvcnkgbmFtZQorCisgICAgICAgICMgTG9va3VwIHRoZSBkaXN0cmlidXRpb24KKyAgICAgICAgZGlzdCA9IGdldF9kaXN0cmlidXRpb24obmFtZSkKKyAgICAgICAgc2VsZi5hc3NlcnRJc0luc3RhbmNlKGRpc3QsIERpc3RyaWJ1dGlvbikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkaXN0Lm5hbWUsIG5hbWUpCisKKyAgICAgICAgIyBWZXJpZnkgdGhhdCBhbiB1bmtub3duIGRpc3RyaWJ1dGlvbiByZXR1cm5zIE5vbmUKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUoZ2V0X2Rpc3RyaWJ1dGlvbignYm9ndXMnKSkKKworICAgICAgICAjIFZlcmlmeSBwYXJ0aWFsIG5hbWUgbWF0Y2hpbmcgZG9lc24ndCB3b3JrCisgICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKGdldF9kaXN0cmlidXRpb24oJ3Rvd2VsJykpCisKKyAgICAgICAgIyBWZXJpZnkgdGhhdCBpdCBkb2VzIG5vdCBmaW5kIGVnZy1pbmZvIGRpc3RyaWJ1dGlvbnMsIHdoZW4gbm90CisgICAgICAgICMgaW5zdHJ1Y3RlZCB0bworICAgICAgICBzZWxmLmFzc2VydElzTm9uZShnZXRfZGlzdHJpYnV0aW9uKCdiYWNvbicpKQorICAgICAgICBzZWxmLmFzc2VydElzTm9uZShnZXRfZGlzdHJpYnV0aW9uKCdjaGVlc2UnKSkKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUoZ2V0X2Rpc3RyaWJ1dGlvbignc3RyYXdiZXJyeScpKQorICAgICAgICBzZWxmLmFzc2VydElzTm9uZShnZXRfZGlzdHJpYnV0aW9uKCdiYW5hbmEnKSkKKworICAgICAgICAjIE5vdyBjaGVjayB0aGF0IGl0IHdvcmtzIHdlbGwgaW4gYm90aCBzaXR1YXRpb25zLCB3aGVuIGVnZy1pbmZvCisgICAgICAgICMgaXMgYSBmaWxlIGFuZCBkaXJlY3RvcnkgcmVzcGVjdGl2ZWx5LgorICAgICAgICBkaXN0ID0gZ2V0X2Rpc3RyaWJ1dGlvbignY2hlZXNlJywgdXNlX2VnZ19pbmZvPVRydWUpCisgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShkaXN0LCBFZ2dJbmZvRGlzdHJpYnV0aW9uKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRpc3QubmFtZSwgJ2NoZWVzZScpCisKKyAgICAgICAgZGlzdCA9IGdldF9kaXN0cmlidXRpb24oJ2JhY29uJywgdXNlX2VnZ19pbmZvPVRydWUpCisgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShkaXN0LCBFZ2dJbmZvRGlzdHJpYnV0aW9uKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRpc3QubmFtZSwgJ2JhY29uJykKKworICAgICAgICBkaXN0ID0gZ2V0X2Rpc3RyaWJ1dGlvbignYmFuYW5hJywgdXNlX2VnZ19pbmZvPVRydWUpCisgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShkaXN0LCBFZ2dJbmZvRGlzdHJpYnV0aW9uKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRpc3QubmFtZSwgJ2JhbmFuYScpCisKKyAgICAgICAgZGlzdCA9IGdldF9kaXN0cmlidXRpb24oJ3N0cmF3YmVycnknLCB1c2VfZWdnX2luZm89VHJ1ZSkKKyAgICAgICAgc2VsZi5hc3NlcnRJc0luc3RhbmNlKGRpc3QsIEVnZ0luZm9EaXN0cmlidXRpb24pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGlzdC5uYW1lLCAnc3RyYXdiZXJyeScpCisKKyAgICBkZWYgdGVzdF9nZXRfZmlsZV91c2VycyhzZWxmKToKKyAgICAgICAgIyBUZXN0IHRoZSBpdGVyYXRpb24gb2YgZGlzdHJpYnV0aW9ucyB0aGF0IHVzZSBhIGZpbGUuCisgICAgICAgIG5hbWUgPSAndG93ZWxfc3R1ZmYtMC4xJworICAgICAgICBwYXRoID0gb3MucGF0aC5qb2luKHNlbGYuZmFrZV9kaXN0c19wYXRoLCBuYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0b3dlbF9zdHVmZicsICdfX2luaXRfXy5weScpCisgICAgICAgIGZvciBkaXN0IGluIGdldF9maWxlX3VzZXJzKHBhdGgpOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRJc0luc3RhbmNlKGRpc3QsIERpc3RyaWJ1dGlvbikKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGlzdC5uYW1lLCBuYW1lKQorCisgICAgQHJlcXVpcmVzX3psaWIKKyAgICBkZWYgdGVzdF9wcm92aWRlcyhzZWxmKToKKyAgICAgICAgIyBUZXN0IGZvciBsb29raW5nIHVwIGRpc3RyaWJ1dGlvbnMgYnkgd2hhdCB0aGV5IHByb3ZpZGUKKyAgICAgICAgY2hlY2tMaXN0cyA9IGxhbWJkYSB4LCB5OiBzZWxmLmFzc2VydEVxdWFsKHNvcnRlZCh4KSwgc29ydGVkKHkpKQorCisgICAgICAgIGwgPSBbZGlzdC5uYW1lIGZvciBkaXN0IGluIHByb3ZpZGVzX2Rpc3RyaWJ1dGlvbigndHJ1ZmZsZXMnKV0KKyAgICAgICAgY2hlY2tMaXN0cyhsLCBbJ2Nob3hpZScsICd0b3dlbC1zdHVmZiddKQorCisgICAgICAgIGwgPSBbZGlzdC5uYW1lIGZvciBkaXN0IGluIHByb3ZpZGVzX2Rpc3RyaWJ1dGlvbigndHJ1ZmZsZXMnLCAnMS4wJyldCisgICAgICAgIGNoZWNrTGlzdHMobCwgWydjaG94aWUnXSkKKworICAgICAgICBsID0gW2Rpc3QubmFtZSBmb3IgZGlzdCBpbiBwcm92aWRlc19kaXN0cmlidXRpb24oJ3RydWZmbGVzJywgJzEuMCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VfZWdnX2luZm89VHJ1ZSldCisgICAgICAgIGNoZWNrTGlzdHMobCwgWydjaG94aWUnLCAnY2hlZXNlJ10pCisKKyAgICAgICAgbCA9IFtkaXN0Lm5hbWUgZm9yIGRpc3QgaW4gcHJvdmlkZXNfZGlzdHJpYnV0aW9uKCd0cnVmZmxlcycsICcxLjEuMicpXQorICAgICAgICBjaGVja0xpc3RzKGwsIFsndG93ZWwtc3R1ZmYnXSkKKworICAgICAgICBsID0gW2Rpc3QubmFtZSBmb3IgZGlzdCBpbiBwcm92aWRlc19kaXN0cmlidXRpb24oJ3RydWZmbGVzJywgJzEuMScpXQorICAgICAgICBjaGVja0xpc3RzKGwsIFsndG93ZWwtc3R1ZmYnXSkKKworICAgICAgICBsID0gW2Rpc3QubmFtZSBmb3IgZGlzdCBpbiBwcm92aWRlc19kaXN0cmlidXRpb24oJ3RydWZmbGVzJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICchPTEuMSw8PTIuMCcpXQorICAgICAgICBjaGVja0xpc3RzKGwsIFsnY2hveGllJ10pCisKKyAgICAgICAgbCA9IFtkaXN0Lm5hbWUgZm9yIGRpc3QgaW4gcHJvdmlkZXNfZGlzdHJpYnV0aW9uKCd0cnVmZmxlcycsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnIT0xLjEsPD0yLjAnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZV9lZ2dfaW5mbz1UcnVlKV0KKyAgICAgICAgY2hlY2tMaXN0cyhsLCBbJ2Nob3hpZScsICdiYWNvbicsICdjaGVlc2UnXSkKKworICAgICAgICBsID0gW2Rpc3QubmFtZSBmb3IgZGlzdCBpbiBwcm92aWRlc19kaXN0cmlidXRpb24oJ3RydWZmbGVzJywgJz4xLjAnKV0KKyAgICAgICAgY2hlY2tMaXN0cyhsLCBbJ3Rvd2VsLXN0dWZmJ10pCisKKyAgICAgICAgbCA9IFtkaXN0Lm5hbWUgZm9yIGRpc3QgaW4gcHJvdmlkZXNfZGlzdHJpYnV0aW9uKCd0cnVmZmxlcycsICc+MS41JyldCisgICAgICAgIGNoZWNrTGlzdHMobCwgW10pCisKKyAgICAgICAgbCA9IFtkaXN0Lm5hbWUgZm9yIGRpc3QgaW4gcHJvdmlkZXNfZGlzdHJpYnV0aW9uKCd0cnVmZmxlcycsICc+MS41JywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZV9lZ2dfaW5mbz1UcnVlKV0KKyAgICAgICAgY2hlY2tMaXN0cyhsLCBbJ2JhY29uJ10pCisKKyAgICAgICAgbCA9IFtkaXN0Lm5hbWUgZm9yIGRpc3QgaW4gcHJvdmlkZXNfZGlzdHJpYnV0aW9uKCd0cnVmZmxlcycsICc+PTEuMCcpXQorICAgICAgICBjaGVja0xpc3RzKGwsIFsnY2hveGllJywgJ3Rvd2VsLXN0dWZmJ10pCisKKyAgICAgICAgbCA9IFtkaXN0Lm5hbWUgZm9yIGRpc3QgaW4gcHJvdmlkZXNfZGlzdHJpYnV0aW9uKCdzdHJhd2JlcnJ5JywgJzAuNicsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VfZWdnX2luZm89VHJ1ZSldCisgICAgICAgIGNoZWNrTGlzdHMobCwgWydjb2NvbnV0cy1hc3RlciddKQorCisgICAgICAgIGwgPSBbZGlzdC5uYW1lIGZvciBkaXN0IGluIHByb3ZpZGVzX2Rpc3RyaWJ1dGlvbignc3RyYXdiZXJyeScsICc+PTAuNScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VfZWdnX2luZm89VHJ1ZSldCisgICAgICAgIGNoZWNrTGlzdHMobCwgWydjb2NvbnV0cy1hc3RlciddKQorCisgICAgICAgIGwgPSBbZGlzdC5uYW1lIGZvciBkaXN0IGluIHByb3ZpZGVzX2Rpc3RyaWJ1dGlvbignc3RyYXdiZXJyeScsICc+MC42JywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZV9lZ2dfaW5mbz1UcnVlKV0KKyAgICAgICAgY2hlY2tMaXN0cyhsLCBbXSkKKworICAgICAgICBsID0gW2Rpc3QubmFtZSBmb3IgZGlzdCBpbiBwcm92aWRlc19kaXN0cmlidXRpb24oJ2JhbmFuYScsICcwLjQnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlX2VnZ19pbmZvPVRydWUpXQorICAgICAgICBjaGVja0xpc3RzKGwsIFsnY29jb251dHMtYXN0ZXInXSkKKworICAgICAgICBsID0gW2Rpc3QubmFtZSBmb3IgZGlzdCBpbiBwcm92aWRlc19kaXN0cmlidXRpb24oJ2JhbmFuYScsICc+PTAuMycsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VfZWdnX2luZm89VHJ1ZSldCisgICAgICAgIGNoZWNrTGlzdHMobCwgWydjb2NvbnV0cy1hc3RlciddKQorCisgICAgICAgIGwgPSBbZGlzdC5uYW1lIGZvciBkaXN0IGluIHByb3ZpZGVzX2Rpc3RyaWJ1dGlvbignYmFuYW5hJywgJyE9MC40JywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZV9lZ2dfaW5mbz1UcnVlKV0KKyAgICAgICAgY2hlY2tMaXN0cyhsLCBbXSkKKworICAgIEByZXF1aXJlc196bGliCisgICAgZGVmIHRlc3Rfb2Jzb2xldGVzKHNlbGYpOgorICAgICAgICAjIFRlc3QgbG9va2luZyBmb3IgZGlzdHJpYnV0aW9ucyBiYXNlZCBvbiB3aGF0IHRoZXkgb2Jzb2xldGUKKyAgICAgICAgY2hlY2tMaXN0cyA9IGxhbWJkYSB4LCB5OiBzZWxmLmFzc2VydEVxdWFsKHNvcnRlZCh4KSwgc29ydGVkKHkpKQorCisgICAgICAgIGwgPSBbZGlzdC5uYW1lIGZvciBkaXN0IGluIG9ic29sZXRlc19kaXN0cmlidXRpb24oJ3RydWZmbGVzJywgJzEuMCcpXQorICAgICAgICBjaGVja0xpc3RzKGwsIFtdKQorCisgICAgICAgIGwgPSBbZGlzdC5uYW1lIGZvciBkaXN0IGluIG9ic29sZXRlc19kaXN0cmlidXRpb24oJ3RydWZmbGVzJywgJzEuMCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlX2VnZ19pbmZvPVRydWUpXQorICAgICAgICBjaGVja0xpc3RzKGwsIFsnY2hlZXNlJywgJ2JhY29uJ10pCisKKyAgICAgICAgbCA9IFtkaXN0Lm5hbWUgZm9yIGRpc3QgaW4gb2Jzb2xldGVzX2Rpc3RyaWJ1dGlvbigndHJ1ZmZsZXMnLCAnMC44JyldCisgICAgICAgIGNoZWNrTGlzdHMobCwgWydjaG94aWUnXSkKKworICAgICAgICBsID0gW2Rpc3QubmFtZSBmb3IgZGlzdCBpbiBvYnNvbGV0ZXNfZGlzdHJpYnV0aW9uKCd0cnVmZmxlcycsICcwLjgnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZV9lZ2dfaW5mbz1UcnVlKV0KKyAgICAgICAgY2hlY2tMaXN0cyhsLCBbJ2Nob3hpZScsICdjaGVlc2UnXSkKKworICAgICAgICBsID0gW2Rpc3QubmFtZSBmb3IgZGlzdCBpbiBvYnNvbGV0ZXNfZGlzdHJpYnV0aW9uKCd0cnVmZmxlcycsICcwLjkuNicpXQorICAgICAgICBjaGVja0xpc3RzKGwsIFsnY2hveGllJywgJ3Rvd2VsLXN0dWZmJ10pCisKKyAgICAgICAgbCA9IFtkaXN0Lm5hbWUgZm9yIGRpc3QgaW4gb2Jzb2xldGVzX2Rpc3RyaWJ1dGlvbigndHJ1ZmZsZXMnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcwLjUuMi4zJyldCisgICAgICAgIGNoZWNrTGlzdHMobCwgWydjaG94aWUnLCAndG93ZWwtc3R1ZmYnXSkKKworICAgICAgICBsID0gW2Rpc3QubmFtZSBmb3IgZGlzdCBpbiBvYnNvbGV0ZXNfZGlzdHJpYnV0aW9uKCd0cnVmZmxlcycsICcwLjInKV0KKyAgICAgICAgY2hlY2tMaXN0cyhsLCBbJ3Rvd2VsLXN0dWZmJ10pCisKKyAgICBAcmVxdWlyZXNfemxpYgorICAgIGRlZiB0ZXN0X3lpZWxkX2Rpc3RyaWJ1dGlvbihzZWxmKToKKyAgICAgICAgIyB0ZXN0cyB0aGUgaW50ZXJuYWwgZnVuY3Rpb24gX3lpZWxkX2Rpc3RyaWJ1dGlvbnMKKyAgICAgICAgY2hlY2tMaXN0cyA9IGxhbWJkYSB4LCB5OiBzZWxmLmFzc2VydEVxdWFsKHNvcnRlZCh4KSwgc29ydGVkKHkpKQorCisgICAgICAgIGVnZ3MgPSBbKCdiYWNvbicsICcwLjEnKSwgKCdiYW5hbmEnLCAnMC40JyksICgnc3RyYXdiZXJyeScsICcwLjYnKSwKKyAgICAgICAgICAgICAgICAoJ3RydWZmbGVzJywgJzUuMCcpLCAoJ2NoZWVzZScsICcyLjAuMicpLAorICAgICAgICAgICAgICAgICgnY29jb251dHMtYXN0ZXInLCAnMTAuMycpLCAoJ251dCcsICdmdW5reXZlcnNpb24nKV0KKyAgICAgICAgZGlzdHMgPSBbKCdjaG94aWUnLCAnMi4wLjAuOScpLCAoJ2dyYW1tYXInLCAnMS4wYTQnKSwKKyAgICAgICAgICAgICAgICAgKCd0b3dlbC1zdHVmZicsICcwLjEnKSwgKCdiYWJhcicsICcwLjEnKV0KKworICAgICAgICBjaGVja0xpc3RzKFtdLCBfeWllbGRfZGlzdHJpYnV0aW9ucyhGYWxzZSwgRmFsc2UsIHN5cy5wYXRoKSkKKworICAgICAgICBmb3VuZCA9IFsoZGlzdC5uYW1lLCBkaXN0LnZlcnNpb24pCisgICAgICAgICAgICAgICAgIGZvciBkaXN0IGluIF95aWVsZF9kaXN0cmlidXRpb25zKEZhbHNlLCBUcnVlLCBzeXMucGF0aCkKKyAgICAgICAgICAgICAgICAgaWYgZGlzdC5wYXRoLnN0YXJ0c3dpdGgoc2VsZi5mYWtlX2Rpc3RzX3BhdGgpXQorICAgICAgICBjaGVja0xpc3RzKGVnZ3MsIGZvdW5kKQorCisgICAgICAgIGZvdW5kID0gWyhkaXN0Lm5hbWUsIGRpc3QudmVyc2lvbikKKyAgICAgICAgICAgICAgICAgZm9yIGRpc3QgaW4gX3lpZWxkX2Rpc3RyaWJ1dGlvbnMoVHJ1ZSwgRmFsc2UsIHN5cy5wYXRoKQorICAgICAgICAgICAgICAgICBpZiBkaXN0LnBhdGguc3RhcnRzd2l0aChzZWxmLmZha2VfZGlzdHNfcGF0aCldCisgICAgICAgIGNoZWNrTGlzdHMoZGlzdHMsIGZvdW5kKQorCisgICAgICAgIGZvdW5kID0gWyhkaXN0Lm5hbWUsIGRpc3QudmVyc2lvbikKKyAgICAgICAgICAgICAgICAgZm9yIGRpc3QgaW4gX3lpZWxkX2Rpc3RyaWJ1dGlvbnMoVHJ1ZSwgVHJ1ZSwgc3lzLnBhdGgpCisgICAgICAgICAgICAgICAgIGlmIGRpc3QucGF0aC5zdGFydHN3aXRoKHNlbGYuZmFrZV9kaXN0c19wYXRoKV0KKyAgICAgICAgY2hlY2tMaXN0cyhkaXN0cyArIGVnZ3MsIGZvdW5kKQorCisKK2NsYXNzIERhdGFGaWxlc1Rlc3RDYXNlKEdsb2JUZXN0Q2FzZUJhc2UpOgorCisgICAgZGVmIGFzc2VydFJ1bGVzTWF0Y2goc2VsZiwgcnVsZXMsIHNwZWMpOgorICAgICAgICB0ZW1wZGlyID0gc2VsZi5idWlsZF9maWxlc190cmVlKHNwZWMpCisgICAgICAgIGV4cGVjdGVkID0gc2VsZi5jbGVhbl90cmVlKHNwZWMpCisgICAgICAgIHJlc3VsdCA9IGdldF9yZXNvdXJjZXNfZGVzdHModGVtcGRpciwgcnVsZXMpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXhwZWN0ZWQsIHJlc3VsdCkKKworICAgIGRlZiBjbGVhbl90cmVlKHNlbGYsIHNwZWMpOgorICAgICAgICBmaWxlcyA9IHt9CisgICAgICAgIGZvciBwYXRoLCB2YWx1ZSBpbiBzcGVjLml0ZW1zKCk6CisgICAgICAgICAgICBpZiB2YWx1ZSBpcyBub3QgTm9uZToKKyAgICAgICAgICAgICAgICBmaWxlc1twYXRoXSA9IHZhbHVlCisgICAgICAgIHJldHVybiBmaWxlcworCisgICAgZGVmIHRlc3Rfc2ltcGxlX2dsb2Ioc2VsZik6CisgICAgICAgIHJ1bGVzID0gWygnJywgJyoudHBsJywgJ3tkYXRhfScpXQorICAgICAgICBzcGVjID0geydjb3Vjb3UudHBsJzogJ3tkYXRhfS9jb3Vjb3UudHBsJywKKyAgICAgICAgICAgICAgICAnRG9ub3R3YW50JzogTm9uZX0KKyAgICAgICAgc2VsZi5hc3NlcnRSdWxlc01hdGNoKHJ1bGVzLCBzcGVjKQorCisgICAgZGVmIHRlc3RfbXVsdGlwbGVfbWF0Y2goc2VsZik6CisgICAgICAgIHJ1bGVzID0gWygnc2NyaXB0cycsICcqLmJpbicsICd7YXBwZGF0YX0nKSwKKyAgICAgICAgICAgICAgICAgKCdzY3JpcHRzJywgJyonLCAne2FwcHNjcmlwdH0nKV0KKyAgICAgICAgc3BlYyA9IHsnc2NyaXB0cy9zY3JpcHQuYmluJzogJ3thcHBzY3JpcHR9L3NjcmlwdC5iaW4nLAorICAgICAgICAgICAgICAgICdCYWJhcmxpa2VzdHJhd2JlcnJ5JzogTm9uZX0KKyAgICAgICAgc2VsZi5hc3NlcnRSdWxlc01hdGNoKHJ1bGVzLCBzcGVjKQorCisgICAgZGVmIHRlc3Rfc2V0X21hdGNoKHNlbGYpOgorICAgICAgICBydWxlcyA9IFsoJ3NjcmlwdHMnLCAnKi57YmluLHNofScsICd7YXBwc2NyaXB0fScpXQorICAgICAgICBzcGVjID0geydzY3JpcHRzL3NjcmlwdC5iaW4nOiAne2FwcHNjcmlwdH0vc2NyaXB0LmJpbicsCisgICAgICAgICAgICAgICAgJ3NjcmlwdHMvYmFiYXIuc2gnOiAgJ3thcHBzY3JpcHR9L2JhYmFyLnNoJywKKyAgICAgICAgICAgICAgICAnQmFiYXJsaWtlc3RyYXdiZXJyeSc6IE5vbmV9CisgICAgICAgIHNlbGYuYXNzZXJ0UnVsZXNNYXRjaChydWxlcywgc3BlYykKKworICAgIGRlZiB0ZXN0X3NldF9tYXRjaF9tdWx0aXBsZShzZWxmKToKKyAgICAgICAgcnVsZXMgPSBbKCdzY3JpcHRzJywgJ3NjcmlwdHtzLH0ue2JpbixzaH0nLCAne2FwcHNjcmlwdH0nKV0KKyAgICAgICAgc3BlYyA9IHsnc2NyaXB0cy9zY3JpcHRzLmJpbic6ICd7YXBwc2NyaXB0fS9zY3JpcHRzLmJpbicsCisgICAgICAgICAgICAgICAgJ3NjcmlwdHMvc2NyaXB0LnNoJzogICd7YXBwc2NyaXB0fS9zY3JpcHQuc2gnLAorICAgICAgICAgICAgICAgICdCYWJhcmxpa2VzdHJhd2JlcnJ5JzogTm9uZX0KKyAgICAgICAgc2VsZi5hc3NlcnRSdWxlc01hdGNoKHJ1bGVzLCBzcGVjKQorCisgICAgZGVmIHRlc3Rfc2V0X21hdGNoX2V4Y2x1ZGUoc2VsZik6CisgICAgICAgIHJ1bGVzID0gWygnc2NyaXB0cycsICcqJywgJ3thcHBzY3JpcHR9JyksCisgICAgICAgICAgICAgICAgICgnJywgb3MucGF0aC5qb2luKCcqKicsICcqLnNoJyksIE5vbmUpXQorICAgICAgICBzcGVjID0geydzY3JpcHRzL3NjcmlwdHMuYmluJzogJ3thcHBzY3JpcHR9L3NjcmlwdHMuYmluJywKKyAgICAgICAgICAgICAgICAnc2NyaXB0cy9zY3JpcHQuc2gnOiAgTm9uZSwKKyAgICAgICAgICAgICAgICAnQmFiYXJsaWtlc3RyYXdiZXJyeSc6IE5vbmV9CisgICAgICAgIHNlbGYuYXNzZXJ0UnVsZXNNYXRjaChydWxlcywgc3BlYykKKworICAgIGRlZiB0ZXN0X2dsb2JfaW5fYmFzZShzZWxmKToKKyAgICAgICAgcnVsZXMgPSBbKCdzY3JpcConLCAnKi5iaW4nLCAne2FwcHNjcmlwdH0nKV0KKyAgICAgICAgc3BlYyA9IHsnc2NyaXB0cy9zY3JpcHRzLmJpbic6ICd7YXBwc2NyaXB0fS9zY3JpcHRzLmJpbicsCisgICAgICAgICAgICAgICAgJ3Njcmlwb3VpbGxlL2JhYmFyLmJpbic6ICd7YXBwc2NyaXB0fS9iYWJhci5iaW4nLAorICAgICAgICAgICAgICAgICdzY3JpcHRvcnR1L2xvdHVzLmJpbic6ICd7YXBwc2NyaXB0fS9sb3R1cy5iaW4nLAorICAgICAgICAgICAgICAgICdCYWJhcmxpa2VzdHJhd2JlcnJ5JzogTm9uZX0KKyAgICAgICAgc2VsZi5hc3NlcnRSdWxlc01hdGNoKHJ1bGVzLCBzcGVjKQorCisgICAgZGVmIHRlc3RfcmVjdXJzaXZlX2dsb2Ioc2VsZik6CisgICAgICAgIHJ1bGVzID0gWygnJywgb3MucGF0aC5qb2luKCcqKicsICcqLmJpbicpLCAne2JpbmFyeX0nKV0KKyAgICAgICAgc3BlYyA9IHsnYmluYXJ5MC5iaW4nOiAne2JpbmFyeX0vYmluYXJ5MC5iaW4nLAorICAgICAgICAgICAgICAgICdzY3JpcHRzL2JpbmFyeTEuYmluJzogJ3tiaW5hcnl9L3NjcmlwdHMvYmluYXJ5MS5iaW4nLAorICAgICAgICAgICAgICAgICdzY3JpcHRzL2Jpbi9iaW5hcnkyLmJpbic6ICd7YmluYXJ5fS9zY3JpcHRzL2Jpbi9iaW5hcnkyLmJpbicsCisgICAgICAgICAgICAgICAgJ3lvdS9raWxsL3BhbmRhYmVhci5ndXknOiBOb25lfQorICAgICAgICBzZWxmLmFzc2VydFJ1bGVzTWF0Y2gocnVsZXMsIHNwZWMpCisKKyAgICBkZWYgdGVzdF9maW5hbF9leGVtcGxlX2dsb2Ioc2VsZik6CisgICAgICAgIHJ1bGVzID0gWworICAgICAgICAgICAgKCdtYWlsbWFuL2RhdGFiYXNlL3NjaGVtYXMvJywgJyonLCAne2FwcGRhdGF9L3NjaGVtYXMnKSwKKyAgICAgICAgICAgICgnJywgb3MucGF0aC5qb2luKCcqKicsICcqLnRwbCcpLCAne2FwcGRhdGF9L3RlbXBsYXRlcycpLAorICAgICAgICAgICAgKCcnLCBvcy5wYXRoLmpvaW4oJ2RldmVsb3Blci1kb2NzJywgJyoqJywgJyoudHh0JyksICd7ZG9jfScpLAorICAgICAgICAgICAgKCcnLCAnUkVBRE1FJywgJ3tkb2N9JyksCisgICAgICAgICAgICAoJ21haWxtYW4vZXRjLycsICcqJywgJ3tjb25maWd9JyksCisgICAgICAgICAgICAoJ21haWxtYW4vZm9vLycsIG9zLnBhdGguam9pbignKionLCAnYmFyJywgJyouY2ZnJyksCisgICAgICAgICAgICAgJ3tjb25maWd9L2JheicpLAorICAgICAgICAgICAgKCdtYWlsbWFuL2Zvby8nLCBvcy5wYXRoLmpvaW4oJyoqJywgJyouY2ZnJyksICd7Y29uZmlnfS9obW0nKSwKKyAgICAgICAgICAgICgnJywgJ3NvbWUtbmV3LXNlbWFudGljLnNucycsICd7ZnVua3ktY3JhenktY2F0ZWdvcnl9JyksCisgICAgICAgIF0KKyAgICAgICAgc3BlYyA9IHsKKyAgICAgICAgICAgICdSRUFETUUnOiAne2RvY30vUkVBRE1FJywKKyAgICAgICAgICAgICdzb21lLnRwbCc6ICd7YXBwZGF0YX0vdGVtcGxhdGVzL3NvbWUudHBsJywKKyAgICAgICAgICAgICdzb21lLW5ldy1zZW1hbnRpYy5zbnMnOgorICAgICAgICAgICAgICAgICd7ZnVua3ktY3JhenktY2F0ZWdvcnl9L3NvbWUtbmV3LXNlbWFudGljLnNucycsCisgICAgICAgICAgICAnbWFpbG1hbi9kYXRhYmFzZS9tYWlsbWFuLmRiJzogTm9uZSwKKyAgICAgICAgICAgICdtYWlsbWFuL2RhdGFiYXNlL3NjaGVtYXMvYmxhaC5zY2hlbWEnOgorICAgICAgICAgICAgICAgICd7YXBwZGF0YX0vc2NoZW1hcy9ibGFoLnNjaGVtYScsCisgICAgICAgICAgICAnbWFpbG1hbi9ldGMvbXkuY25mJzogJ3tjb25maWd9L215LmNuZicsCisgICAgICAgICAgICAnbWFpbG1hbi9mb28vc29tZS9wYXRoL2Jhci9teS5jZmcnOgorICAgICAgICAgICAgICAgICd7Y29uZmlnfS9obW0vc29tZS9wYXRoL2Jhci9teS5jZmcnLAorICAgICAgICAgICAgJ21haWxtYW4vZm9vL3NvbWUvcGF0aC9vdGhlci5jZmcnOgorICAgICAgICAgICAgICAgICd7Y29uZmlnfS9obW0vc29tZS9wYXRoL290aGVyLmNmZycsCisgICAgICAgICAgICAnZGV2ZWxvcGVyLWRvY3MvaW5kZXgudHh0JzogJ3tkb2N9L2RldmVsb3Blci1kb2NzL2luZGV4LnR4dCcsCisgICAgICAgICAgICAnZGV2ZWxvcGVyLWRvY3MvYXBpL3RvYy50eHQnOiAne2RvY30vZGV2ZWxvcGVyLWRvY3MvYXBpL3RvYy50eHQnLAorICAgICAgICB9CisgICAgICAgIHNlbGYubWF4RGlmZiA9IE5vbmUKKyAgICAgICAgc2VsZi5hc3NlcnRSdWxlc01hdGNoKHJ1bGVzLCBzcGVjKQorCisgICAgZGVmIHRlc3RfZ2V0X2ZpbGUoc2VsZik6CisgICAgICAgICMgQ3JlYXRlIGEgZmFrZSBkaXN0CisgICAgICAgIHRlbXBfc2l0ZV9wYWNrYWdlcyA9IHRlbXBmaWxlLm1rZHRlbXAoKQorICAgICAgICBzZWxmLmFkZENsZWFudXAoc2h1dGlsLnJtdHJlZSwgdGVtcF9zaXRlX3BhY2thZ2VzKQorCisgICAgICAgIGRpc3RfbmFtZSA9ICd0ZXN0JworICAgICAgICBkaXN0X2luZm8gPSBvcy5wYXRoLmpvaW4odGVtcF9zaXRlX3BhY2thZ2VzLCAndGVzdC0wLjEuZGlzdC1pbmZvJykKKyAgICAgICAgb3MubWtkaXIoZGlzdF9pbmZvKQorCisgICAgICAgIG1ldGFkYXRhX3BhdGggPSBvcy5wYXRoLmpvaW4oZGlzdF9pbmZvLCAnTUVUQURBVEEnKQorICAgICAgICByZXNvdXJjZXNfcGF0aCA9IG9zLnBhdGguam9pbihkaXN0X2luZm8sICdSRVNPVVJDRVMnKQorCisgICAgICAgIHdpdGggb3BlbihtZXRhZGF0YV9wYXRoLCAndycpIGFzIGZwOgorICAgICAgICAgICAgZnAud3JpdGUoZGVkZW50KCIiIlwKKyAgICAgICAgICAgICAgICBNZXRhZGF0YS1WZXJzaW9uOiAxLjIKKyAgICAgICAgICAgICAgICBOYW1lOiB0ZXN0CisgICAgICAgICAgICAgICAgVmVyc2lvbjogMC4xCisgICAgICAgICAgICAgICAgU3VtbWFyeTogdGVzdAorICAgICAgICAgICAgICAgIEF1dGhvcjogbWUKKyAgICAgICAgICAgICAgICAiIiIpKQorCisgICAgICAgIHRlc3RfcGF0aCA9ICd0ZXN0LmNmZycKKworICAgICAgICBmZCwgdGVzdF9yZXNvdXJjZV9wYXRoID0gdGVtcGZpbGUubWtzdGVtcCgpCisgICAgICAgIG9zLmNsb3NlKGZkKQorICAgICAgICBzZWxmLmFkZENsZWFudXAob3MucmVtb3ZlLCB0ZXN0X3Jlc291cmNlX3BhdGgpCisKKyAgICAgICAgd2l0aCBvcGVuKHRlc3RfcmVzb3VyY2VfcGF0aCwgJ3cnKSBhcyBmcDoKKyAgICAgICAgICAgIGZwLndyaXRlKCdDb25maWcnKQorCisgICAgICAgIHdpdGggb3BlbihyZXNvdXJjZXNfcGF0aCwgJ3cnKSBhcyBmcDoKKyAgICAgICAgICAgIGZwLndyaXRlKCclcywlcycgJSAodGVzdF9wYXRoLCB0ZXN0X3Jlc291cmNlX3BhdGgpKQorCisgICAgICAgICMgQWRkIGZha2Ugc2l0ZS1wYWNrYWdlcyB0byBzeXMucGF0aCB0byByZXRyaWV2ZSBmYWtlIGRpc3QKKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKHN5cy5wYXRoLnJlbW92ZSwgdGVtcF9zaXRlX3BhY2thZ2VzKQorICAgICAgICBzeXMucGF0aC5pbnNlcnQoMCwgdGVtcF9zaXRlX3BhY2thZ2VzKQorCisgICAgICAgICMgRm9yY2UgcGFja2FnaW5nLmRhdGFiYXNlIHRvIHJlc2NhbiB0aGUgc3lzLnBhdGgKKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKGVuYWJsZV9jYWNoZSkKKyAgICAgICAgZGlzYWJsZV9jYWNoZSgpCisKKyAgICAgICAgIyBUcnkgdG8gcmV0cmlldmUgcmVzb3VyY2VzIHBhdGhzIGFuZCBmaWxlcworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGdldF9maWxlX3BhdGgoZGlzdF9uYW1lLCB0ZXN0X3BhdGgpLAorICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RfcmVzb3VyY2VfcGF0aCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoS2V5RXJyb3IsIGdldF9maWxlX3BhdGgsIGRpc3RfbmFtZSwgJ2ktZG9udC1leGlzdCcpCisKKyAgICAgICAgd2l0aCBnZXRfZmlsZShkaXN0X25hbWUsIHRlc3RfcGF0aCkgYXMgZnA6CisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGZwLnJlYWQoKSwgJ0NvbmZpZycpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEtleUVycm9yLCBnZXRfZmlsZSwgZGlzdF9uYW1lLCAnaS1kb250LWV4aXN0JykKKworCitkZWYgdGVzdF9zdWl0ZSgpOgorICAgIHN1aXRlID0gdW5pdHRlc3QuVGVzdFN1aXRlKCkKKyAgICBsb2FkID0gdW5pdHRlc3QuZGVmYXVsdFRlc3RMb2FkZXIubG9hZFRlc3RzRnJvbVRlc3RDYXNlCisgICAgc3VpdGUuYWRkVGVzdChsb2FkKFRlc3REaXN0cmlidXRpb24pKQorICAgIHN1aXRlLmFkZFRlc3QobG9hZChUZXN0RWdnSW5mb0Rpc3RyaWJ1dGlvbikpCisgICAgc3VpdGUuYWRkVGVzdChsb2FkKFRlc3REYXRhYmFzZSkpCisgICAgc3VpdGUuYWRkVGVzdChsb2FkKERhdGFGaWxlc1Rlc3RDYXNlKSkKKyAgICByZXR1cm4gc3VpdGUKKworCitpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgorICAgIHVuaXR0ZXN0Lm1haW4oZGVmYXVsdFRlc3Q9J3Rlc3Rfc3VpdGUnKQpkaWZmIC0tZ2l0IGEvTGliL3BhY2thZ2luZy90ZXN0cy90ZXN0X2RlcGdyYXBoLnB5IGIvTGliL3BhY2thZ2luZy90ZXN0cy90ZXN0X2RlcGdyYXBoLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg4MzMzMDIKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvcGFja2FnaW5nL3Rlc3RzL3Rlc3RfZGVwZ3JhcGgucHkKQEAgLTAsMCArMSwzMTAgQEAKKyIiIlRlc3RzIGZvciBwYWNrYWdpbmcuZGVwZ3JhcGggIiIiCitpbXBvcnQgb3MKK2ltcG9ydCByZQoraW1wb3J0IHN5cworZnJvbSBpbyBpbXBvcnQgU3RyaW5nSU8KKworZnJvbSBwYWNrYWdpbmcgaW1wb3J0IGRlcGdyYXBoCitmcm9tIHBhY2thZ2luZy5kYXRhYmFzZSBpbXBvcnQgZ2V0X2Rpc3RyaWJ1dGlvbiwgZW5hYmxlX2NhY2hlLCBkaXNhYmxlX2NhY2hlCisKK2Zyb20gcGFja2FnaW5nLnRlc3RzIGltcG9ydCB1bml0dGVzdCwgc3VwcG9ydAorZnJvbSBwYWNrYWdpbmcudGVzdHMuc3VwcG9ydCBpbXBvcnQgcmVxdWlyZXNfemxpYgorCisKK2NsYXNzIERlcEdyYXBoVGVzdENhc2Uoc3VwcG9ydC5Mb2dnaW5nQ2F0Y2hlciwKKyAgICAgICAgICAgICAgICAgICAgICAgdW5pdHRlc3QuVGVzdENhc2UpOgorCisgICAgRElTVFJPU19ESVNUID0gKCdjaG94aWUnLCAnZ3JhbW1hcicsICd0b3dlbC1zdHVmZicpCisgICAgRElTVFJPU19FR0cgPSAoJ2JhY29uJywgJ2JhbmFuYScsICdzdHJhd2JlcnJ5JywgJ2NoZWVzZScpCisgICAgQkFEX0VHR1MgPSAoJ251dCcsKQorCisgICAgRURHRSA9IHJlLmNvbXBpbGUoCisgICAgICAgICAgIHInIig/UDxmcm9tPi4qKSIgLT4gIig/UDx0bz4uKikiIFxbbGFiZWw9Iig/UDxsYWJlbD4uKikiXF0nKQorCisgICAgZGVmIGNoZWNrTGlzdHMoc2VsZiwgbDEsIGwyKToKKyAgICAgICAgIiIiIENvbXBhcmUgdHdvIGxpc3RzIHdpdGhvdXQgdGFraW5nIHRoZSBvcmRlciBpbnRvIGNvbnNpZGVyYXRpb24gIiIiCisgICAgICAgIHNlbGYuYXNzZXJ0TGlzdEVxdWFsKHNvcnRlZChsMSksIHNvcnRlZChsMikpCisKKyAgICBkZWYgc2V0VXAoc2VsZik6CisgICAgICAgIHN1cGVyKERlcEdyYXBoVGVzdENhc2UsIHNlbGYpLnNldFVwKCkKKyAgICAgICAgcGF0aCA9IG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUoX19maWxlX18pLCAnZmFrZV9kaXN0cycpCisgICAgICAgIHBhdGggPSBvcy5wYXRoLmFic3BhdGgocGF0aCkKKyAgICAgICAgc3lzLnBhdGguaW5zZXJ0KDAsIHBhdGgpCisgICAgICAgIHNlbGYuYWRkQ2xlYW51cChzeXMucGF0aC5yZW1vdmUsIHBhdGgpCisgICAgICAgIHNlbGYuYWRkQ2xlYW51cChlbmFibGVfY2FjaGUpCisgICAgICAgIGRpc2FibGVfY2FjaGUoKQorCisgICAgZGVmIHRlc3RfZ2VuZXJhdGVfZ3JhcGgoc2VsZik6CisgICAgICAgIGRpc3RzID0gW10KKyAgICAgICAgZm9yIG5hbWUgaW4gc2VsZi5ESVNUUk9TX0RJU1Q6CisgICAgICAgICAgICBkaXN0ID0gZ2V0X2Rpc3RyaWJ1dGlvbihuYW1lKQorICAgICAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbChkaXN0LCBOb25lKQorICAgICAgICAgICAgZGlzdHMuYXBwZW5kKGRpc3QpCisKKyAgICAgICAgY2hveGllLCBncmFtbWFyLCB0b3dlbCA9IGRpc3RzCisKKyAgICAgICAgZ3JhcGggPSBkZXBncmFwaC5nZW5lcmF0ZV9ncmFwaChkaXN0cykKKworICAgICAgICBkZXBzID0gWyh4Lm5hbWUsIHkpIGZvciB4LCB5IGluIGdyYXBoLmFkamFjZW5jeV9saXN0W2Nob3hpZV1dCisgICAgICAgIHNlbGYuY2hlY2tMaXN0cyhbKCd0b3dlbC1zdHVmZicsICd0b3dlbC1zdHVmZiAoMC4xKScpXSwgZGVwcykKKyAgICAgICAgc2VsZi5hc3NlcnRJbihjaG94aWUsIGdyYXBoLnJldmVyc2VfbGlzdFt0b3dlbF0pCisgICAgICAgIHNlbGYuY2hlY2tMaXN0cyhncmFwaC5taXNzaW5nW2Nob3hpZV0sIFsnbnV0J10pCisKKyAgICAgICAgZGVwcyA9IFsoeC5uYW1lLCB5KSBmb3IgeCwgeSBpbiBncmFwaC5hZGphY2VuY3lfbGlzdFtncmFtbWFyXV0KKyAgICAgICAgc2VsZi5jaGVja0xpc3RzKFtdLCBkZXBzKQorICAgICAgICBzZWxmLmNoZWNrTGlzdHMoZ3JhcGgubWlzc2luZ1tncmFtbWFyXSwgWyd0cnVmZmxlcyAoPj0xLjIpJ10pCisKKyAgICAgICAgZGVwcyA9IFsoeC5uYW1lLCB5KSBmb3IgeCwgeSBpbiBncmFwaC5hZGphY2VuY3lfbGlzdFt0b3dlbF1dCisgICAgICAgIHNlbGYuY2hlY2tMaXN0cyhbXSwgZGVwcykKKyAgICAgICAgc2VsZi5jaGVja0xpc3RzKGdyYXBoLm1pc3NpbmdbdG93ZWxdLCBbJ2JhY29uICg8PTAuMiknXSkKKworICAgIEByZXF1aXJlc196bGliCisgICAgZGVmIHRlc3RfZ2VuZXJhdGVfZ3JhcGhfZWdnKHNlbGYpOgorICAgICAgICBkaXN0cyA9IFtdCisgICAgICAgIGZvciBuYW1lIGluIHNlbGYuRElTVFJPU19ESVNUICsgc2VsZi5ESVNUUk9TX0VHRzoKKyAgICAgICAgICAgIGRpc3QgPSBnZXRfZGlzdHJpYnV0aW9uKG5hbWUsIHVzZV9lZ2dfaW5mbz1UcnVlKQorICAgICAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbChkaXN0LCBOb25lKQorICAgICAgICAgICAgZGlzdHMuYXBwZW5kKGRpc3QpCisKKyAgICAgICAgY2hveGllLCBncmFtbWFyLCB0b3dlbCwgYmFjb24sIGJhbmFuYSwgc3RyYXdiZXJyeSwgY2hlZXNlID0gZGlzdHMKKworICAgICAgICBncmFwaCA9IGRlcGdyYXBoLmdlbmVyYXRlX2dyYXBoKGRpc3RzKQorCisgICAgICAgIGRlcHMgPSBbKHgubmFtZSwgeSkgZm9yIHgsIHkgaW4gZ3JhcGguYWRqYWNlbmN5X2xpc3RbY2hveGllXV0KKyAgICAgICAgc2VsZi5jaGVja0xpc3RzKFsoJ3Rvd2VsLXN0dWZmJywgJ3Rvd2VsLXN0dWZmICgwLjEpJyldLCBkZXBzKQorICAgICAgICBzZWxmLmFzc2VydEluKGNob3hpZSwgZ3JhcGgucmV2ZXJzZV9saXN0W3Rvd2VsXSkKKyAgICAgICAgc2VsZi5jaGVja0xpc3RzKGdyYXBoLm1pc3NpbmdbY2hveGllXSwgWydudXQnXSkKKworICAgICAgICBkZXBzID0gWyh4Lm5hbWUsIHkpIGZvciB4LCB5IGluIGdyYXBoLmFkamFjZW5jeV9saXN0W2dyYW1tYXJdXQorICAgICAgICBzZWxmLmNoZWNrTGlzdHMoWygnYmFjb24nLCAndHJ1ZmZsZXMgKD49MS4yKScpXSwgZGVwcykKKyAgICAgICAgc2VsZi5jaGVja0xpc3RzKGdyYXBoLm1pc3NpbmdbZ3JhbW1hcl0sIFtdKQorICAgICAgICBzZWxmLmFzc2VydEluKGdyYW1tYXIsIGdyYXBoLnJldmVyc2VfbGlzdFtiYWNvbl0pCisKKyAgICAgICAgZGVwcyA9IFsoeC5uYW1lLCB5KSBmb3IgeCwgeSBpbiBncmFwaC5hZGphY2VuY3lfbGlzdFt0b3dlbF1dCisgICAgICAgIHNlbGYuY2hlY2tMaXN0cyhbKCdiYWNvbicsICdiYWNvbiAoPD0wLjIpJyldLCBkZXBzKQorICAgICAgICBzZWxmLmNoZWNrTGlzdHMoZ3JhcGgubWlzc2luZ1t0b3dlbF0sIFtdKQorICAgICAgICBzZWxmLmFzc2VydEluKHRvd2VsLCBncmFwaC5yZXZlcnNlX2xpc3RbYmFjb25dKQorCisgICAgICAgIGRlcHMgPSBbKHgubmFtZSwgeSkgZm9yIHgsIHkgaW4gZ3JhcGguYWRqYWNlbmN5X2xpc3RbYmFjb25dXQorICAgICAgICBzZWxmLmNoZWNrTGlzdHMoW10sIGRlcHMpCisgICAgICAgIHNlbGYuY2hlY2tMaXN0cyhncmFwaC5taXNzaW5nW2JhY29uXSwgW10pCisKKyAgICAgICAgZGVwcyA9IFsoeC5uYW1lLCB5KSBmb3IgeCwgeSBpbiBncmFwaC5hZGphY2VuY3lfbGlzdFtiYW5hbmFdXQorICAgICAgICBzZWxmLmNoZWNrTGlzdHMoWygnc3RyYXdiZXJyeScsICdzdHJhd2JlcnJ5ICg+PTAuNSknKV0sIGRlcHMpCisgICAgICAgIHNlbGYuY2hlY2tMaXN0cyhncmFwaC5taXNzaW5nW2JhbmFuYV0sIFtdKQorICAgICAgICBzZWxmLmFzc2VydEluKGJhbmFuYSwgZ3JhcGgucmV2ZXJzZV9saXN0W3N0cmF3YmVycnldKQorCisgICAgICAgIGRlcHMgPSBbKHgubmFtZSwgeSkgZm9yIHgsIHkgaW4gZ3JhcGguYWRqYWNlbmN5X2xpc3Rbc3RyYXdiZXJyeV1dCisgICAgICAgIHNlbGYuY2hlY2tMaXN0cyhbXSwgZGVwcykKKyAgICAgICAgc2VsZi5jaGVja0xpc3RzKGdyYXBoLm1pc3Npbmdbc3RyYXdiZXJyeV0sIFtdKQorCisgICAgICAgIGRlcHMgPSBbKHgubmFtZSwgeSkgZm9yIHgsIHkgaW4gZ3JhcGguYWRqYWNlbmN5X2xpc3RbY2hlZXNlXV0KKyAgICAgICAgc2VsZi5jaGVja0xpc3RzKFtdLCBkZXBzKQorICAgICAgICBzZWxmLmNoZWNrTGlzdHMoZ3JhcGgubWlzc2luZ1tjaGVlc2VdLCBbXSkKKworICAgIGRlZiB0ZXN0X2RlcGVuZGVudF9kaXN0cyhzZWxmKToKKyAgICAgICAgZGlzdHMgPSBbXQorICAgICAgICBmb3IgbmFtZSBpbiBzZWxmLkRJU1RST1NfRElTVDoKKyAgICAgICAgICAgIGRpc3QgPSBnZXRfZGlzdHJpYnV0aW9uKG5hbWUpCisgICAgICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKGRpc3QsIE5vbmUpCisgICAgICAgICAgICBkaXN0cy5hcHBlbmQoZGlzdCkKKworICAgICAgICBjaG94aWUsIGdyYW1tYXIsIHRvd2VsID0gZGlzdHMKKworICAgICAgICBkZXBzID0gW2QubmFtZSBmb3IgZCBpbiBkZXBncmFwaC5kZXBlbmRlbnRfZGlzdHMoZGlzdHMsIGNob3hpZSldCisgICAgICAgIHNlbGYuY2hlY2tMaXN0cyhbXSwgZGVwcykKKworICAgICAgICBkZXBzID0gW2QubmFtZSBmb3IgZCBpbiBkZXBncmFwaC5kZXBlbmRlbnRfZGlzdHMoZGlzdHMsIGdyYW1tYXIpXQorICAgICAgICBzZWxmLmNoZWNrTGlzdHMoW10sIGRlcHMpCisKKyAgICAgICAgZGVwcyA9IFtkLm5hbWUgZm9yIGQgaW4gZGVwZ3JhcGguZGVwZW5kZW50X2Rpc3RzKGRpc3RzLCB0b3dlbCldCisgICAgICAgIHNlbGYuY2hlY2tMaXN0cyhbJ2Nob3hpZSddLCBkZXBzKQorCisgICAgQHJlcXVpcmVzX3psaWIKKyAgICBkZWYgdGVzdF9kZXBlbmRlbnRfZGlzdHNfZWdnKHNlbGYpOgorICAgICAgICBkaXN0cyA9IFtdCisgICAgICAgIGZvciBuYW1lIGluIHNlbGYuRElTVFJPU19ESVNUICsgc2VsZi5ESVNUUk9TX0VHRzoKKyAgICAgICAgICAgIGRpc3QgPSBnZXRfZGlzdHJpYnV0aW9uKG5hbWUsIHVzZV9lZ2dfaW5mbz1UcnVlKQorICAgICAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbChkaXN0LCBOb25lKQorICAgICAgICAgICAgZGlzdHMuYXBwZW5kKGRpc3QpCisKKyAgICAgICAgY2hveGllLCBncmFtbWFyLCB0b3dlbCwgYmFjb24sIGJhbmFuYSwgc3RyYXdiZXJyeSwgY2hlZXNlID0gZGlzdHMKKworICAgICAgICBkZXBzID0gW2QubmFtZSBmb3IgZCBpbiBkZXBncmFwaC5kZXBlbmRlbnRfZGlzdHMoZGlzdHMsIGNob3hpZSldCisgICAgICAgIHNlbGYuY2hlY2tMaXN0cyhbXSwgZGVwcykKKworICAgICAgICBkZXBzID0gW2QubmFtZSBmb3IgZCBpbiBkZXBncmFwaC5kZXBlbmRlbnRfZGlzdHMoZGlzdHMsIGdyYW1tYXIpXQorICAgICAgICBzZWxmLmNoZWNrTGlzdHMoW10sIGRlcHMpCisKKyAgICAgICAgZGVwcyA9IFtkLm5hbWUgZm9yIGQgaW4gZGVwZ3JhcGguZGVwZW5kZW50X2Rpc3RzKGRpc3RzLCB0b3dlbCldCisgICAgICAgIHNlbGYuY2hlY2tMaXN0cyhbJ2Nob3hpZSddLCBkZXBzKQorCisgICAgICAgIGRlcHMgPSBbZC5uYW1lIGZvciBkIGluIGRlcGdyYXBoLmRlcGVuZGVudF9kaXN0cyhkaXN0cywgYmFjb24pXQorICAgICAgICBzZWxmLmNoZWNrTGlzdHMoWydjaG94aWUnLCAndG93ZWwtc3R1ZmYnLCAnZ3JhbW1hciddLCBkZXBzKQorCisgICAgICAgIGRlcHMgPSBbZC5uYW1lIGZvciBkIGluIGRlcGdyYXBoLmRlcGVuZGVudF9kaXN0cyhkaXN0cywgc3RyYXdiZXJyeSldCisgICAgICAgIHNlbGYuY2hlY2tMaXN0cyhbJ2JhbmFuYSddLCBkZXBzKQorCisgICAgICAgIGRlcHMgPSBbZC5uYW1lIGZvciBkIGluIGRlcGdyYXBoLmRlcGVuZGVudF9kaXN0cyhkaXN0cywgY2hlZXNlKV0KKyAgICAgICAgc2VsZi5jaGVja0xpc3RzKFtdLCBkZXBzKQorCisgICAgQHJlcXVpcmVzX3psaWIKKyAgICBkZWYgdGVzdF9ncmFwaF90b19kb3Qoc2VsZik6CisgICAgICAgIGV4cGVjdGVkID0gKAorICAgICAgICAgICAgKCd0b3dlbC1zdHVmZicsICdiYWNvbicsICdiYWNvbiAoPD0wLjIpJyksCisgICAgICAgICAgICAoJ2dyYW1tYXInLCAnYmFjb24nLCAndHJ1ZmZsZXMgKD49MS4yKScpLAorICAgICAgICAgICAgKCdjaG94aWUnLCAndG93ZWwtc3R1ZmYnLCAndG93ZWwtc3R1ZmYgKDAuMSknKSwKKyAgICAgICAgICAgICgnYmFuYW5hJywgJ3N0cmF3YmVycnknLCAnc3RyYXdiZXJyeSAoPj0wLjUpJyksCisgICAgICAgICkKKworICAgICAgICBkaXN0cyA9IFtdCisgICAgICAgIGZvciBuYW1lIGluIHNlbGYuRElTVFJPU19ESVNUICsgc2VsZi5ESVNUUk9TX0VHRzoKKyAgICAgICAgICAgIGRpc3QgPSBnZXRfZGlzdHJpYnV0aW9uKG5hbWUsIHVzZV9lZ2dfaW5mbz1UcnVlKQorICAgICAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbChkaXN0LCBOb25lKQorICAgICAgICAgICAgZGlzdHMuYXBwZW5kKGRpc3QpCisKKyAgICAgICAgZ3JhcGggPSBkZXBncmFwaC5nZW5lcmF0ZV9ncmFwaChkaXN0cykKKyAgICAgICAgYnVmID0gU3RyaW5nSU8oKQorICAgICAgICBkZXBncmFwaC5ncmFwaF90b19kb3QoZ3JhcGgsIGJ1ZikKKyAgICAgICAgYnVmLnNlZWsoMCkKKyAgICAgICAgbWF0Y2hlcyA9IFtdCisgICAgICAgIGxpbmVzID0gYnVmLnJlYWRsaW5lcygpCisgICAgICAgIGZvciBsaW5lIGluIGxpbmVzWzE6LTFdOiAgIyBza2lwIHRoZSBmaXJzdCBhbmQgdGhlIGxhc3QgbGluZXMKKyAgICAgICAgICAgIGlmIGxpbmVbLTFdID09ICdcbic6CisgICAgICAgICAgICAgICAgbGluZSA9IGxpbmVbOi0xXQorICAgICAgICAgICAgbWF0Y2ggPSBzZWxmLkVER0UubWF0Y2gobGluZS5zdHJpcCgpKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRJc05vdChtYXRjaCwgTm9uZSkKKyAgICAgICAgICAgIG1hdGNoZXMuYXBwZW5kKG1hdGNoLmdyb3VwcygpKQorCisgICAgICAgIHNlbGYuY2hlY2tMaXN0cyhtYXRjaGVzLCBleHBlY3RlZCkKKworICAgIEByZXF1aXJlc196bGliCisgICAgZGVmIHRlc3RfZ3JhcGhfZGlzY29ubmVjdGVkX3RvX2RvdChzZWxmKToKKyAgICAgICAgZGVwZW5kZW5jaWVzX2V4cGVjdGVkID0gKAorICAgICAgICAgICAgKCd0b3dlbC1zdHVmZicsICdiYWNvbicsICdiYWNvbiAoPD0wLjIpJyksCisgICAgICAgICAgICAoJ2dyYW1tYXInLCAnYmFjb24nLCAndHJ1ZmZsZXMgKD49MS4yKScpLAorICAgICAgICAgICAgKCdjaG94aWUnLCAndG93ZWwtc3R1ZmYnLCAndG93ZWwtc3R1ZmYgKDAuMSknKSwKKyAgICAgICAgICAgICgnYmFuYW5hJywgJ3N0cmF3YmVycnknLCAnc3RyYXdiZXJyeSAoPj0wLjUpJyksCisgICAgICAgICkKKyAgICAgICAgZGlzY29ubmVjdGVkX2V4cGVjdGVkID0gKCdjaGVlc2UnLCAnYmFjb24nLCAnc3RyYXdiZXJyeScpCisKKyAgICAgICAgZGlzdHMgPSBbXQorICAgICAgICBmb3IgbmFtZSBpbiBzZWxmLkRJU1RST1NfRElTVCArIHNlbGYuRElTVFJPU19FR0c6CisgICAgICAgICAgICBkaXN0ID0gZ2V0X2Rpc3RyaWJ1dGlvbihuYW1lLCB1c2VfZWdnX2luZm89VHJ1ZSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwoZGlzdCwgTm9uZSkKKyAgICAgICAgICAgIGRpc3RzLmFwcGVuZChkaXN0KQorCisgICAgICAgIGdyYXBoID0gZGVwZ3JhcGguZ2VuZXJhdGVfZ3JhcGgoZGlzdHMpCisgICAgICAgIGJ1ZiA9IFN0cmluZ0lPKCkKKyAgICAgICAgZGVwZ3JhcGguZ3JhcGhfdG9fZG90KGdyYXBoLCBidWYsIHNraXBfZGlzY29ubmVjdGVkPUZhbHNlKQorICAgICAgICBidWYuc2VlaygwKQorICAgICAgICBsaW5lcyA9IGJ1Zi5yZWFkbGluZXMoKQorCisgICAgICAgIGRlcGVuZGVuY2llc19saW5lcyA9IFtdCisgICAgICAgIGRpc2Nvbm5lY3RlZF9saW5lcyA9IFtdCisKKyAgICAgICAgIyBGaXJzdCBzb3J0IG91dHB1dCBsaW5lcyBpbnRvIGRlcGVuZGVuY2llcyBhbmQgZGlzY29ubmVjdGVkIGxpbmVzLgorICAgICAgICAjIFdlIGFsc28gc2tpcCB0aGUgYXR0cmlidXRlIGxpbmVzLCBhbmQgZG9uJ3QgaW5jbHVkZSB0aGUgInsiIGFuZCAifSIKKyAgICAgICAgIyBsaW5lcy4KKyAgICAgICAgZGlzY29ubmVjdGVkX2FjdGl2ZSA9IEZhbHNlCisgICAgICAgIGZvciBsaW5lIGluIGxpbmVzWzE6LTFdOiAgIyBTa2lwIGZpcnN0IGFuZCBsYXN0IGxpbmUKKyAgICAgICAgICAgIGlmIGxpbmUuc3RhcnRzd2l0aCgnc3ViZ3JhcGggZGlzY29ubmVjdGVkJyk6CisgICAgICAgICAgICAgICAgZGlzY29ubmVjdGVkX2FjdGl2ZSA9IFRydWUKKyAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgaWYgbGluZS5zdGFydHN3aXRoKCd9JykgYW5kIGRpc2Nvbm5lY3RlZF9hY3RpdmU6CisgICAgICAgICAgICAgICAgZGlzY29ubmVjdGVkX2FjdGl2ZSA9IEZhbHNlCisgICAgICAgICAgICAgICAgY29udGludWUKKworICAgICAgICAgICAgaWYgZGlzY29ubmVjdGVkX2FjdGl2ZToKKyAgICAgICAgICAgICAgICAjIFNraXAgdGhlICdsYWJlbCA9ICJEaXNjb25uZWN0ZWQiJywgZXRjLiBhdHRyaWJ1dGUgbGluZXMuCisgICAgICAgICAgICAgICAgaWYgJyA9ICcgbm90IGluIGxpbmU6CisgICAgICAgICAgICAgICAgICAgIGRpc2Nvbm5lY3RlZF9saW5lcy5hcHBlbmQobGluZSkKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgZGVwZW5kZW5jaWVzX2xpbmVzLmFwcGVuZChsaW5lKQorCisgICAgICAgIGRlcGVuZGVuY2llc19tYXRjaGVzID0gW10KKyAgICAgICAgZm9yIGxpbmUgaW4gZGVwZW5kZW5jaWVzX2xpbmVzOgorICAgICAgICAgICAgaWYgbGluZVstMV0gPT0gJ1xuJzoKKyAgICAgICAgICAgICAgICBsaW5lID0gbGluZVs6LTFdCisgICAgICAgICAgICBtYXRjaCA9IHNlbGYuRURHRS5tYXRjaChsaW5lLnN0cmlwKCkpCisgICAgICAgICAgICBzZWxmLmFzc2VydElzTm90KG1hdGNoLCBOb25lKQorICAgICAgICAgICAgZGVwZW5kZW5jaWVzX21hdGNoZXMuYXBwZW5kKG1hdGNoLmdyb3VwcygpKQorCisgICAgICAgIGRpc2Nvbm5lY3RlZF9tYXRjaGVzID0gW10KKyAgICAgICAgZm9yIGxpbmUgaW4gZGlzY29ubmVjdGVkX2xpbmVzOgorICAgICAgICAgICAgaWYgbGluZVstMV0gPT0gJ1xuJzoKKyAgICAgICAgICAgICAgICBsaW5lID0gbGluZVs6LTFdCisgICAgICAgICAgICBsaW5lID0gbGluZS5zdHJpcCgnIicpCisgICAgICAgICAgICBkaXNjb25uZWN0ZWRfbWF0Y2hlcy5hcHBlbmQobGluZSkKKworICAgICAgICBzZWxmLmNoZWNrTGlzdHMoZGVwZW5kZW5jaWVzX21hdGNoZXMsIGRlcGVuZGVuY2llc19leHBlY3RlZCkKKyAgICAgICAgc2VsZi5jaGVja0xpc3RzKGRpc2Nvbm5lY3RlZF9tYXRjaGVzLCBkaXNjb25uZWN0ZWRfZXhwZWN0ZWQpCisKKyAgICBAcmVxdWlyZXNfemxpYgorICAgIGRlZiB0ZXN0X2dyYXBoX2JhZF92ZXJzaW9uX3RvX2RvdChzZWxmKToKKyAgICAgICAgZXhwZWN0ZWQgPSAoCisgICAgICAgICAgICAoJ3Rvd2VsLXN0dWZmJywgJ2JhY29uJywgJ2JhY29uICg8PTAuMiknKSwKKyAgICAgICAgICAgICgnZ3JhbW1hcicsICdiYWNvbicsICd0cnVmZmxlcyAoPj0xLjIpJyksCisgICAgICAgICAgICAoJ2Nob3hpZScsICd0b3dlbC1zdHVmZicsICd0b3dlbC1zdHVmZiAoMC4xKScpLAorICAgICAgICAgICAgKCdiYW5hbmEnLCAnc3RyYXdiZXJyeScsICdzdHJhd2JlcnJ5ICg+PTAuNSknKSwKKyAgICAgICAgKQorCisgICAgICAgIGRpc3RzID0gW10KKyAgICAgICAgZm9yIG5hbWUgaW4gc2VsZi5ESVNUUk9TX0RJU1QgKyBzZWxmLkRJU1RST1NfRUdHICsgc2VsZi5CQURfRUdHUzoKKyAgICAgICAgICAgIGRpc3QgPSBnZXRfZGlzdHJpYnV0aW9uKG5hbWUsIHVzZV9lZ2dfaW5mbz1UcnVlKQorICAgICAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbChkaXN0LCBOb25lKQorICAgICAgICAgICAgZGlzdHMuYXBwZW5kKGRpc3QpCisKKyAgICAgICAgZ3JhcGggPSBkZXBncmFwaC5nZW5lcmF0ZV9ncmFwaChkaXN0cykKKyAgICAgICAgYnVmID0gU3RyaW5nSU8oKQorICAgICAgICBkZXBncmFwaC5ncmFwaF90b19kb3QoZ3JhcGgsIGJ1ZikKKyAgICAgICAgYnVmLnNlZWsoMCkKKyAgICAgICAgbWF0Y2hlcyA9IFtdCisgICAgICAgIGxpbmVzID0gYnVmLnJlYWRsaW5lcygpCisgICAgICAgIGZvciBsaW5lIGluIGxpbmVzWzE6LTFdOiAgIyBza2lwIHRoZSBmaXJzdCBhbmQgdGhlIGxhc3QgbGluZXMKKyAgICAgICAgICAgIGlmIGxpbmVbLTFdID09ICdcbic6CisgICAgICAgICAgICAgICAgbGluZSA9IGxpbmVbOi0xXQorICAgICAgICAgICAgbWF0Y2ggPSBzZWxmLkVER0UubWF0Y2gobGluZS5zdHJpcCgpKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRJc05vdChtYXRjaCwgTm9uZSkKKyAgICAgICAgICAgIG1hdGNoZXMuYXBwZW5kKG1hdGNoLmdyb3VwcygpKQorCisgICAgICAgIHNlbGYuY2hlY2tMaXN0cyhtYXRjaGVzLCBleHBlY3RlZCkKKworICAgIEByZXF1aXJlc196bGliCisgICAgZGVmIHRlc3RfcmVwcihzZWxmKToKKyAgICAgICAgZGlzdHMgPSBbXQorICAgICAgICBmb3IgbmFtZSBpbiBzZWxmLkRJU1RST1NfRElTVCArIHNlbGYuRElTVFJPU19FR0cgKyBzZWxmLkJBRF9FR0dTOgorICAgICAgICAgICAgZGlzdCA9IGdldF9kaXN0cmlidXRpb24obmFtZSwgdXNlX2VnZ19pbmZvPVRydWUpCisgICAgICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKGRpc3QsIE5vbmUpCisgICAgICAgICAgICBkaXN0cy5hcHBlbmQoZGlzdCkKKworICAgICAgICBncmFwaCA9IGRlcGdyYXBoLmdlbmVyYXRlX2dyYXBoKGRpc3RzKQorICAgICAgICBzZWxmLmFzc2VydFRydWUocmVwcihncmFwaCkpCisKKyAgICBAcmVxdWlyZXNfemxpYgorICAgIGRlZiB0ZXN0X21haW4oc2VsZik6CisgICAgICAgIHRlbXBvdXQgPSBTdHJpbmdJTygpCisgICAgICAgIG9sZCA9IHN5cy5zdGRvdXQKKyAgICAgICAgc3lzLnN0ZG91dCA9IHRlbXBvdXQKKyAgICAgICAgb2xkYXJndiA9IHN5cy5hcmd2WzpdCisgICAgICAgIHN5cy5hcmd2WzpdID0gWydzY3JpcHQucHknXQorICAgICAgICB0cnk6CisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgZGVwZ3JhcGgubWFpbigpCisgICAgICAgICAgICBleGNlcHQgU3lzdGVtRXhpdDoKKyAgICAgICAgICAgICAgICBwYXNzCisgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICBzeXMuc3Rkb3V0ID0gb2xkCisgICAgICAgICAgICBzeXMuYXJndls6XSA9IG9sZGFyZ3YKKworICAgICAgICAjIGNoZWNrcyB3aGF0IG1haW4gZGlkIFhYWCBjb3VsZCBkbyBtb3JlIGhlcmUKKyAgICAgICAgdGVtcG91dC5zZWVrKDApCisgICAgICAgIHJlcyA9IHRlbXBvdXQucmVhZCgpCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ3Rvd2VsJywgcmVzKQorCisKK2RlZiB0ZXN0X3N1aXRlKCk6CisgICAgcmV0dXJuIHVuaXR0ZXN0Lm1ha2VTdWl0ZShEZXBHcmFwaFRlc3RDYXNlKQorCitpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgorICAgIHVuaXR0ZXN0Lm1haW4oZGVmYXVsdFRlc3Q9InRlc3Rfc3VpdGUiKQpkaWZmIC0tZ2l0IGEvTGliL3BhY2thZ2luZy90ZXN0cy90ZXN0X2Rpc3QucHkgYi9MaWIvcGFja2FnaW5nL3Rlc3RzL3Rlc3RfZGlzdC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNjIzOTkwCi0tLSAvZGV2L251bGwKKysrIGIvTGliL3BhY2thZ2luZy90ZXN0cy90ZXN0X2Rpc3QucHkKQEAgLTAsMCArMSwyNjQgQEAKKyIiIlRlc3RzIGZvciBwYWNrYWdpbmcuZGlzdC4iIiIKK2ltcG9ydCBvcworaW1wb3J0IHN5cworaW1wb3J0IHRleHR3cmFwCisKK2ltcG9ydCBwYWNrYWdpbmcuZGlzdAorCitmcm9tIHBhY2thZ2luZy5kaXN0IGltcG9ydCBEaXN0cmlidXRpb24KK2Zyb20gcGFja2FnaW5nLmNvbW1hbmQuY21kIGltcG9ydCBDb21tYW5kCitmcm9tIHBhY2thZ2luZy5lcnJvcnMgaW1wb3J0IFBhY2thZ2luZ01vZHVsZUVycm9yLCBQYWNrYWdpbmdPcHRpb25FcnJvcgorZnJvbSBwYWNrYWdpbmcudGVzdHMgaW1wb3J0IHN1cHBvcnQsIHVuaXR0ZXN0Citmcm9tIHBhY2thZ2luZy50ZXN0cy5zdXBwb3J0IGltcG9ydCBjcmVhdGVfZGlzdHJpYnV0aW9uLCB1c2VfY29tbWFuZAorZnJvbSB0ZXN0LnN1cHBvcnQgaW1wb3J0IHVubG9hZAorCisKK2NsYXNzIHRlc3RfZGlzdChDb21tYW5kKToKKyAgICAiIiJDdXN0b20gY29tbWFuZCB1c2VkIGZvciB0ZXN0aW5nLiIiIgorCisgICAgdXNlcl9vcHRpb25zID0gWworICAgICAgICAoJ3NhbXBsZS1vcHRpb249JywgJ1MnLAorICAgICAgICAgImhlbHAgdGV4dCIpLAorICAgICAgICBdCisKKyAgICBkZWYgaW5pdGlhbGl6ZV9vcHRpb25zKHNlbGYpOgorICAgICAgICBzZWxmLnNhbXBsZV9vcHRpb24gPSBOb25lCisgICAgICAgIHNlbGYuX3JlY29yZCA9IFtdCisKKyAgICBkZWYgZmluYWxpemVfb3B0aW9ucyhzZWxmKToKKyAgICAgICAgaWYgc2VsZi5zYW1wbGVfb3B0aW9uIGlzIE5vbmU6CisgICAgICAgICAgICBzZWxmLnNhbXBsZV9vcHRpb24gPSAnZGVmYXVsdCB2YWx1ZScKKworICAgIGRlZiBydW4oc2VsZik6CisgICAgICAgIHNlbGYuX3JlY29yZC5hcHBlbmQoJ3Rlc3RfZGlzdCBoYXMgcnVuJykKKworCitjbGFzcyBEaXN0cmlidXRpb25UZXN0Q2FzZShzdXBwb3J0LlRlbXBkaXJNYW5hZ2VyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VwcG9ydC5Mb2dnaW5nQ2F0Y2hlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1cHBvcnQuRW52aXJvblJlc3RvcmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5pdHRlc3QuVGVzdENhc2UpOgorCisgICAgcmVzdG9yZV9lbnZpcm9uID0gWydIT01FJywgJ1BMQVQnXQorCisgICAgZGVmIHNldFVwKHNlbGYpOgorICAgICAgICBzdXBlcihEaXN0cmlidXRpb25UZXN0Q2FzZSwgc2VsZikuc2V0VXAoKQorICAgICAgICAjIFhYWCB0aGlzIGlzIHVnbHksIHdlIHNob3VsZCBmaXggdGhlIGZ1bmN0aW9ucyB0byBhY2NlcHQgYXJncworICAgICAgICAjIChkZWZhdWx0aW5nIHRvIHN5cy5hcmd2KQorICAgICAgICBzZWxmLmFyZ3YgPSBzeXMuYXJndiwgc3lzLmFyZ3ZbOl0KKyAgICAgICAgZGVsIHN5cy5hcmd2WzE6XQorCisgICAgZGVmIHRlYXJEb3duKHNlbGYpOgorICAgICAgICBzeXMuYXJndiA9IHNlbGYuYXJndlswXQorICAgICAgICBzeXMuYXJndls6XSA9IHNlbGYuYXJndlsxXQorICAgICAgICBzdXBlcihEaXN0cmlidXRpb25UZXN0Q2FzZSwgc2VsZikudGVhckRvd24oKQorCisgICAgQHVuaXR0ZXN0LnNraXAoJ25lZWRzIHRvIGJlIHVwZGF0ZWQnKQorICAgIGRlZiB0ZXN0X2RlYnVnX21vZGUoc2VsZik6CisgICAgICAgIHRtcGRpciA9IHNlbGYubWtkdGVtcCgpCisgICAgICAgIHNldHVwY2ZnID0gb3MucGF0aC5qb2luKHRtcGRpciwgJ3NldHVwLmNmZycpCisgICAgICAgIHdpdGggb3BlbihzZXR1cGNmZywgInciKSBhcyBmOgorICAgICAgICAgICAgZi53cml0ZSgiW2dsb2JhbF1cbiIpCisgICAgICAgICAgICBmLndyaXRlKCJjb21tYW5kX3BhY2thZ2VzID0gZm9vLmJhciwgc3BsYXQiKQorCisgICAgICAgIGZpbGVzID0gW3NldHVwY2ZnXQorICAgICAgICBzeXMuYXJndi5hcHBlbmQoImJ1aWxkIikKKyAgICAgICAgX18sIHN0ZG91dCA9IGNhcHR1cmVkX3N0ZG91dChjcmVhdGVfZGlzdHJpYnV0aW9uLCBmaWxlcykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdGRvdXQsICcnKQorICAgICAgICAjIFhYWCBkZWJ1ZyBtb2RlIGRvZXMgbm90IGV4aXN0IGFueW1vcmUsIHRlc3QgbG9nZ2luZyBsZXZlbHMgaW4gdGhpcworICAgICAgICAjIHRlc3QgaW5zdGVhZAorICAgICAgICBwYWNrYWdpbmcuZGlzdC5ERUJVRyA9IFRydWUKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgX18sIHN0ZG91dCA9IGNhcHR1cmVkX3N0ZG91dChjcmVhdGVfZGlzdHJpYnV0aW9uLCBmaWxlcykKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3Rkb3V0LCAnJykKKyAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgIHBhY2thZ2luZy5kaXN0LkRFQlVHID0gRmFsc2UKKworICAgIGRlZiB0ZXN0X2JhZF9hdHRyKHNlbGYpOgorICAgICAgICBEaXN0cmlidXRpb24oYXR0cnM9eydhdXRob3InOiAneHh4JywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbmFtZSc6ICd4eHgnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICd2ZXJzaW9uJzogJzEuMicsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2hvbWVfcGFnZSc6ICd4eHh4JywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFkb3B0bmFtZSc6ICd4eHgnfSkKKyAgICAgICAgbG9ncyA9IHNlbGYuZ2V0X2xvZ3MoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihsb2dzKSwgMSkKKyAgICAgICAgc2VsZi5hc3NlcnRJbigndW5rbm93biBhcmd1bWVudCcsIGxvZ3NbMF0pCisKKyAgICBkZWYgdGVzdF9lbXB0eV9vcHRpb25zKHNlbGYpOgorICAgICAgICAjIGFuIGVtcHR5IG9wdGlvbnMgZGljdGlvbmFyeSBzaG91bGQgbm90IHN0YXkgaW4gdGhlCisgICAgICAgICMgbGlzdCBvZiBhdHRyaWJ1dGVzCisgICAgICAgIGRpc3QgPSBEaXN0cmlidXRpb24oYXR0cnM9eydhdXRob3InOiAneHh4JywgJ25hbWUnOiAneHh4JywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3ZlcnNpb24nOiAnMS4yJywgJ2hvbWVfcGFnZSc6ICd4eHh4JywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ29wdGlvbnMnOiB7fX0pCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmdldF9sb2dzKCksIFtdKQorICAgICAgICBzZWxmLmFzc2VydE5vdEluKCdvcHRpb25zJywgZGlyKGRpc3QpKQorCisgICAgZGVmIHRlc3Rfbm9uX2VtcHR5X29wdGlvbnMoc2VsZik6CisgICAgICAgICMgVE9ETzogaG93IHRvIGFjdHVhbGx5IHVzZSBvcHRpb25zIGlzIG5vdCBkb2N1bWVudGVkIGV4Y2VwdAorICAgICAgICAjIGZvciBhIGZldyBjcnlwdGljIGNvbW1lbnRzIGluIGRpc3QucHkuICBJZiB0aGlzIGlzIHRvIHN0YXkKKyAgICAgICAgIyBpbiB0aGUgcHVibGljIEFQSSwgaXQgZGVzZXJ2ZXMgc29tZSBiZXR0ZXIgZG9jdW1lbnRhdGlvbi4KKworICAgICAgICAjIEhlcmUgaXMgYW4gZXhhbXBsZSBvZiBob3cgaXQncyB1c2VkIG91dCB0aGVyZToKKyAgICAgICAgIyBodHRwOi8vc3ZuLnB5dGhvbm1hYy5vcmcvcHkyYXBwL3B5MmFwcC90cnVuay9kb2MvCisgICAgICAgICMgaW5kZXguaHRtbCNzcGVjaWZ5aW5nLWN1c3RvbWl6YXRpb25zCisgICAgICAgIGRpc3QgPSBEaXN0cmlidXRpb24oYXR0cnM9eydhdXRob3InOiAneHh4JywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnOiAneHh4JywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3ZlcnNpb24nOiAneHh4JywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2hvbWVfcGFnZSc6ICd4eHh4JywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ29wdGlvbnMnOiB7J3NkaXN0Jzogeydvd25lcic6ICdyb290J319fSkKKworICAgICAgICBzZWxmLmFzc2VydEluKCdvd25lcicsIGRpc3QuZ2V0X29wdGlvbl9kaWN0KCdzZGlzdCcpKQorCisgICAgZGVmIHRlc3RfZmluYWxpemVfb3B0aW9ucyhzZWxmKToKKyAgICAgICAgYXR0cnMgPSB7J2tleXdvcmRzJzogJ29uZSx0d28nLAorICAgICAgICAgICAgICAgICAncGxhdGZvcm0nOiAnb25lLHR3byd9CisKKyAgICAgICAgZGlzdCA9IERpc3RyaWJ1dGlvbihhdHRycz1hdHRycykKKyAgICAgICAgZGlzdC5maW5hbGl6ZV9vcHRpb25zKCkKKworICAgICAgICAjIGZpbmFsaXplX29wdGlvbiBzcGxpdHMgcGxhdGZvcm1zIGFuZCBrZXl3b3JkcworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRpc3QubWV0YWRhdGFbJ3BsYXRmb3JtJ10sIFsnb25lJywgJ3R3byddKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRpc3QubWV0YWRhdGFbJ2tleXdvcmRzJ10sIFsnb25lJywgJ3R3byddKQorCisgICAgZGVmIHRlc3RfY3VzdG9tX3B5ZGlzdHV0aWxzKHNlbGYpOgorICAgICAgICAjIEJ1ZyAjMjE2NjogIG1ha2Ugc3VyZSBweWRpc3R1dGlscy5jZmcgaXMgZm91bmQKKyAgICAgICAgaWYgb3MubmFtZSA9PSAncG9zaXgnOgorICAgICAgICAgICAgdXNlcl9maWxlbmFtZSA9ICIucHlkaXN0dXRpbHMuY2ZnIgorICAgICAgICBlbHNlOgorICAgICAgICAgICAgdXNlcl9maWxlbmFtZSA9ICJweWRpc3R1dGlscy5jZmciCisKKyAgICAgICAgdGVtcF9kaXIgPSBzZWxmLm1rZHRlbXAoKQorICAgICAgICB1c2VyX2ZpbGVuYW1lID0gb3MucGF0aC5qb2luKHRlbXBfZGlyLCB1c2VyX2ZpbGVuYW1lKQorICAgICAgICB3aXRoIG9wZW4odXNlcl9maWxlbmFtZSwgJ3cnKSBhcyBmOgorICAgICAgICAgICAgZi53cml0ZSgnLicpCisKKyAgICAgICAgZGlzdCA9IERpc3RyaWJ1dGlvbigpCisKKyAgICAgICAgb3MuZW52aXJvblsnSE9NRSddID0gdGVtcF9kaXIKKyAgICAgICAgZmlsZXMgPSBkaXN0LmZpbmRfY29uZmlnX2ZpbGVzKCkKKyAgICAgICAgc2VsZi5hc3NlcnRJbih1c2VyX2ZpbGVuYW1lLCBmaWxlcykKKworICAgIGRlZiB0ZXN0X2ZpbmRfY29uZmlnX2ZpbGVzX2Rpc2FibGUoc2VsZik6CisgICAgICAgICMgQnVnICMxMTgwOiBBbGxvdyB1c2VycyB0byBkaXNhYmxlIHRoZWlyIG93biBjb25maWcgZmlsZS4KKyAgICAgICAgdGVtcF9ob21lID0gc2VsZi5ta2R0ZW1wKCkKKyAgICAgICAgaWYgb3MubmFtZSA9PSAncG9zaXgnOgorICAgICAgICAgICAgdXNlcl9maWxlbmFtZSA9IG9zLnBhdGguam9pbih0ZW1wX2hvbWUsICIucHlkaXN0dXRpbHMuY2ZnIikKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHVzZXJfZmlsZW5hbWUgPSBvcy5wYXRoLmpvaW4odGVtcF9ob21lLCAicHlkaXN0dXRpbHMuY2ZnIikKKworICAgICAgICB3aXRoIG9wZW4odXNlcl9maWxlbmFtZSwgJ3cnKSBhcyBmOgorICAgICAgICAgICAgZi53cml0ZSgnW2Rpc3R1dGlsczJdXG4nKQorCisgICAgICAgIGRlZiBfZXhwYW5kZXIocGF0aCk6CisgICAgICAgICAgICByZXR1cm4gdGVtcF9ob21lCisKKyAgICAgICAgb2xkX2V4cGFuZGVyID0gb3MucGF0aC5leHBhbmR1c2VyCisgICAgICAgIG9zLnBhdGguZXhwYW5kdXNlciA9IF9leHBhbmRlcgorICAgICAgICB0cnk6CisgICAgICAgICAgICBkID0gcGFja2FnaW5nLmRpc3QuRGlzdHJpYnV0aW9uKCkKKyAgICAgICAgICAgIGFsbF9maWxlcyA9IGQuZmluZF9jb25maWdfZmlsZXMoKQorCisgICAgICAgICAgICBkID0gcGFja2FnaW5nLmRpc3QuRGlzdHJpYnV0aW9uKGF0dHJzPXsnc2NyaXB0X2FyZ3MnOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyctLW5vLXVzZXItY2ZnJ119KQorICAgICAgICAgICAgZmlsZXMgPSBkLmZpbmRfY29uZmlnX2ZpbGVzKCkKKyAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgIG9zLnBhdGguZXhwYW5kdXNlciA9IG9sZF9leHBhbmRlcgorCisgICAgICAgICMgbWFrZSBzdXJlIC0tbm8tdXNlci1jZmcgZGlzYWJsZXMgdGhlIHVzZXIgY2ZnIGZpbGUKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgobGVuKGFsbF9maWxlcykgLSAxKSwgbGVuKGZpbGVzKSkKKworICAgIGRlZiB0ZXN0X3NwZWNpYWxfaG9va3NfcGFyc2luZyhzZWxmKToKKyAgICAgICAgdGVtcF9ob21lID0gc2VsZi5ta2R0ZW1wKCkKKyAgICAgICAgY29uZmlnX2ZpbGVzID0gW29zLnBhdGguam9pbih0ZW1wX2hvbWUsICJjb25maWcxLmNmZyIpLAorICAgICAgICAgICAgICAgICAgICAgICAgb3MucGF0aC5qb2luKHRlbXBfaG9tZSwgImNvbmZpZzIuY2ZnIildCisKKyAgICAgICAgIyBTdG9yZSB0d28gYWxpYXNlZCBob29rcyBpbiBjb25maWcgZmlsZXMKKyAgICAgICAgc2VsZi53cml0ZV9maWxlKCh0ZW1wX2hvbWUsICJjb25maWcxLmNmZyIpLAorICAgICAgICAgICAgICAgICAgICAgICAgJ1t0ZXN0X2Rpc3RdXG5wcmUtaG9vay5hID0gdHlwZScpCisgICAgICAgIHNlbGYud3JpdGVfZmlsZSgodGVtcF9ob21lLCAiY29uZmlnMi5jZmciKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICdbdGVzdF9kaXN0XVxucHJlLWhvb2suYiA9IHR5cGUnKQorCisgICAgICAgIHVzZV9jb21tYW5kKHNlbGYsICdwYWNrYWdpbmcudGVzdHMudGVzdF9kaXN0LnRlc3RfZGlzdCcpCisKKyAgICAgICAgZGlzdCA9IGNyZWF0ZV9kaXN0cmlidXRpb24oY29uZmlnX2ZpbGVzKQorICAgICAgICBjbWQgPSBkaXN0LmdldF9jb21tYW5kX29iaigidGVzdF9kaXN0IikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbWQucHJlX2hvb2ssIHsiYSI6ICd0eXBlJywgImIiOiAndHlwZSd9KQorCisgICAgZGVmIHRlc3RfaG9va3NfZ2V0X3J1bihzZWxmKToKKyAgICAgICAgdGVtcF9ob21lID0gc2VsZi5ta2R0ZW1wKCkKKyAgICAgICAgbW9kdWxlX25hbWUgPSBvcy5wYXRoLnNwbGl0KHRlbXBfaG9tZSlbLTFdCisgICAgICAgIHB5bmFtZSA9ICclcy5weScgJSBtb2R1bGVfbmFtZQorICAgICAgICBjb25maWdfZmlsZSA9IG9zLnBhdGguam9pbih0ZW1wX2hvbWUsICJjb25maWcxLmNmZyIpCisgICAgICAgIGhvb2tzX21vZHVsZSA9IG9zLnBhdGguam9pbih0ZW1wX2hvbWUsIHB5bmFtZSkKKworICAgICAgICBzZWxmLndyaXRlX2ZpbGUoY29uZmlnX2ZpbGUsIHRleHR3cmFwLmRlZGVudCgnJydcCisgICAgICAgICAgICBbdGVzdF9kaXN0XQorICAgICAgICAgICAgcHJlLWhvb2sudGVzdCA9ICUobW9kbmFtZSlzLmxvZ19wcmVfY2FsbAorICAgICAgICAgICAgcG9zdC1ob29rLnRlc3QgPSAlKG1vZG5hbWUpcy5sb2dfcG9zdF9jYWxsJycnCisgICAgICAgICAgICAlIHsnbW9kbmFtZSc6IG1vZHVsZV9uYW1lfSkpCisKKyAgICAgICAgc2VsZi53cml0ZV9maWxlKGhvb2tzX21vZHVsZSwgdGV4dHdyYXAuZGVkZW50KCcnJ1wKKyAgICAgICAgICAgIHJlY29yZCA9IFtdCisKKyAgICAgICAgICAgIGRlZiBsb2dfcHJlX2NhbGwoY21kKToKKyAgICAgICAgICAgICAgICByZWNvcmQuYXBwZW5kKCdwcmUtJXMnICUgY21kLmdldF9jb21tYW5kX25hbWUoKSkKKworICAgICAgICAgICAgZGVmIGxvZ19wb3N0X2NhbGwoY21kKToKKyAgICAgICAgICAgICAgICByZWNvcmQuYXBwZW5kKCdwb3N0LSVzJyAlIGNtZC5nZXRfY29tbWFuZF9uYW1lKCkpCisgICAgICAgICAgICAnJycpKQorCisgICAgICAgIHVzZV9jb21tYW5kKHNlbGYsICdwYWNrYWdpbmcudGVzdHMudGVzdF9kaXN0LnRlc3RfZGlzdCcpCisgICAgICAgIGQgPSBjcmVhdGVfZGlzdHJpYnV0aW9uKFtjb25maWdfZmlsZV0pCisgICAgICAgIGNtZCA9IGQuZ2V0X2NvbW1hbmRfb2JqKCJ0ZXN0X2Rpc3QiKQorCisgICAgICAgICMgcHJlcGFyZSB0aGUgY2FsbCByZWNvcmRlcnMKKyAgICAgICAgc3lzLnBhdGguYXBwZW5kKHRlbXBfaG9tZSkKKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKHN5cy5wYXRoLnJlbW92ZSwgdGVtcF9ob21lKQorICAgICAgICBzZWxmLmFkZENsZWFudXAodW5sb2FkLCBtb2R1bGVfbmFtZSkKKyAgICAgICAgcmVjb3JkID0gX19pbXBvcnRfXyhtb2R1bGVfbmFtZSkucmVjb3JkCisKKyAgICAgICAgY21kLnJ1biA9IGxhbWJkYTogcmVjb3JkLmFwcGVuZCgncnVuJykKKyAgICAgICAgY21kLmZpbmFsaXplX29wdGlvbnMgPSBsYW1iZGE6IHJlY29yZC5hcHBlbmQoJ2ZpbmFsaXplJykKKyAgICAgICAgZC5ydW5fY29tbWFuZCgndGVzdF9kaXN0JykKKworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlY29yZCwgWydmaW5hbGl6ZScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3ByZS10ZXN0X2Rpc3QnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdydW4nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwb3N0LXRlc3RfZGlzdCddKQorCisgICAgZGVmIHRlc3RfaG9va3NfaW1wb3J0YWJsZShzZWxmKToKKyAgICAgICAgdGVtcF9ob21lID0gc2VsZi5ta2R0ZW1wKCkKKyAgICAgICAgY29uZmlnX2ZpbGUgPSBvcy5wYXRoLmpvaW4odGVtcF9ob21lLCAiY29uZmlnMS5jZmciKQorCisgICAgICAgIHNlbGYud3JpdGVfZmlsZShjb25maWdfZmlsZSwgdGV4dHdyYXAuZGVkZW50KCcnJ1wKKyAgICAgICAgICAgIFt0ZXN0X2Rpc3RdCisgICAgICAgICAgICBwcmUtaG9vay50ZXN0ID0gbm9uZXhpc3RlbnQuZG90dGVkLm5hbWUnJycpKQorCisgICAgICAgIHVzZV9jb21tYW5kKHNlbGYsICdwYWNrYWdpbmcudGVzdHMudGVzdF9kaXN0LnRlc3RfZGlzdCcpCisgICAgICAgIGQgPSBjcmVhdGVfZGlzdHJpYnV0aW9uKFtjb25maWdfZmlsZV0pCisgICAgICAgIGNtZCA9IGQuZ2V0X2NvbW1hbmRfb2JqKCJ0ZXN0X2Rpc3QiKQorICAgICAgICBjbWQuZW5zdXJlX2ZpbmFsaXplZCgpCisKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoUGFja2FnaW5nTW9kdWxlRXJyb3IsIGQucnVuX2NvbW1hbmQsICd0ZXN0X2Rpc3QnKQorCisgICAgZGVmIHRlc3RfaG9va3NfY2FsbGFibGUoc2VsZik6CisgICAgICAgIHRlbXBfaG9tZSA9IHNlbGYubWtkdGVtcCgpCisgICAgICAgIGNvbmZpZ19maWxlID0gb3MucGF0aC5qb2luKHRlbXBfaG9tZSwgImNvbmZpZzEuY2ZnIikKKworICAgICAgICBzZWxmLndyaXRlX2ZpbGUoY29uZmlnX2ZpbGUsIHRleHR3cmFwLmRlZGVudCgnJydcCisgICAgICAgICAgICBbdGVzdF9kaXN0XQorICAgICAgICAgICAgcHJlLWhvb2sudGVzdCA9IHBhY2thZ2luZy50ZXN0cy50ZXN0X2Rpc3QuX19kb2NfXycnJykpCisKKyAgICAgICAgdXNlX2NvbW1hbmQoc2VsZiwgJ3BhY2thZ2luZy50ZXN0cy50ZXN0X2Rpc3QudGVzdF9kaXN0JykKKyAgICAgICAgZCA9IGNyZWF0ZV9kaXN0cmlidXRpb24oW2NvbmZpZ19maWxlXSkKKyAgICAgICAgY21kID0gZC5nZXRfY29tbWFuZF9vYmooInRlc3RfZGlzdCIpCisgICAgICAgIGNtZC5lbnN1cmVfZmluYWxpemVkKCkKKworICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhQYWNrYWdpbmdPcHRpb25FcnJvciwgZC5ydW5fY29tbWFuZCwgJ3Rlc3RfZGlzdCcpCisKKworZGVmIHRlc3Rfc3VpdGUoKToKKyAgICByZXR1cm4gdW5pdHRlc3QubWFrZVN1aXRlKERpc3RyaWJ1dGlvblRlc3RDYXNlKQorCitpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgorICAgIHVuaXR0ZXN0Lm1haW4oZGVmYXVsdFRlc3Q9InRlc3Rfc3VpdGUiKQpkaWZmIC0tZ2l0IGEvTGliL3BhY2thZ2luZy90ZXN0cy90ZXN0X2V4dGVuc2lvbi5weSBiL0xpYi9wYWNrYWdpbmcvdGVzdHMvdGVzdF9leHRlbnNpb24ucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDExODJlNQotLS0gL2Rldi9udWxsCisrKyBiL0xpYi9wYWNrYWdpbmcvdGVzdHMvdGVzdF9leHRlbnNpb24ucHkKQEAgLTAsMCArMSwxNSBAQAorIiIiVGVzdHMgZm9yIHBhY2thZ2luZy5leHRlbnNpb24uIiIiCitpbXBvcnQgb3MKKworZnJvbSBwYWNrYWdpbmcuY29tcGlsZXIuZXh0ZW5zaW9uIGltcG9ydCBFeHRlbnNpb24KK2Zyb20gcGFja2FnaW5nLnRlc3RzIGltcG9ydCB1bml0dGVzdAorCitjbGFzcyBFeHRlbnNpb25UZXN0Q2FzZSh1bml0dGVzdC5UZXN0Q2FzZSk6CisKKyAgICBwYXNzCisKK2RlZiB0ZXN0X3N1aXRlKCk6CisgICAgcmV0dXJuIHVuaXR0ZXN0Lm1ha2VTdWl0ZShFeHRlbnNpb25UZXN0Q2FzZSkKKworaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKKyAgICB1bml0dGVzdC5tYWluKGRlZmF1bHRUZXN0PSJ0ZXN0X3N1aXRlIikKZGlmZiAtLWdpdCBhL0xpYi9wYWNrYWdpbmcvdGVzdHMvdGVzdF9pbnN0YWxsLnB5IGIvTGliL3BhY2thZ2luZy90ZXN0cy90ZXN0X2luc3RhbGwucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2MxZjVkMwotLS0gL2Rldi9udWxsCisrKyBiL0xpYi9wYWNrYWdpbmcvdGVzdHMvdGVzdF9pbnN0YWxsLnB5CkBAIC0wLDAgKzEsMzkxIEBACisiIiJUZXN0cyBmb3IgdGhlIHBhY2thZ2luZy5pbnN0YWxsIG1vZHVsZS4iIiIKK2ltcG9ydCBvcworaW1wb3J0IGxvZ2dpbmcKK2Zyb20gdGVtcGZpbGUgaW1wb3J0IG1rc3RlbXAKK2Zyb20gc3lzY29uZmlnIGltcG9ydCBpc19weXRob25fYnVpbGQKKworZnJvbSBwYWNrYWdpbmcgaW1wb3J0IGluc3RhbGwKK2Zyb20gcGFja2FnaW5nLnB5cGkueG1scnBjIGltcG9ydCBDbGllbnQKK2Zyb20gcGFja2FnaW5nLm1ldGFkYXRhIGltcG9ydCBNZXRhZGF0YQorZnJvbSBwYWNrYWdpbmcudGVzdHMuc3VwcG9ydCBpbXBvcnQgKExvZ2dpbmdDYXRjaGVyLCBUZW1wZGlyTWFuYWdlciwgdW5pdHRlc3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFrZV9kZWMpCit0cnk6CisgICAgaW1wb3J0IHRocmVhZGluZworICAgIGZyb20gcGFja2FnaW5nLnRlc3RzLnB5cGlfc2VydmVyIGltcG9ydCB1c2VfeG1scnBjX3NlcnZlcgorZXhjZXB0IEltcG9ydEVycm9yOgorICAgIHRocmVhZGluZyA9IE5vbmUKKyAgICB1c2VfeG1scnBjX3NlcnZlciA9IGZha2VfZGVjCisKKworY2xhc3MgSW5zdGFsbGVkRGlzdDoKKyAgICAiIiJEaXN0cmlidXRpb24gb2JqZWN0LCByZXByZXNlbnQgZGlzdHJpYnV0aW9ucyBjdXJyZW50bHkgaW5zdGFsbGVkIG9uIHRoZQorICAgIHN5c3RlbSIiIgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBuYW1lLCB2ZXJzaW9uLCBkZXBzKToKKyAgICAgICAgc2VsZi5tZXRhZGF0YSA9IE1ldGFkYXRhKCkKKyAgICAgICAgc2VsZi5uYW1lID0gbmFtZQorICAgICAgICBzZWxmLnZlcnNpb24gPSB2ZXJzaW9uCisgICAgICAgIHNlbGYubWV0YWRhdGFbJ05hbWUnXSA9IG5hbWUKKyAgICAgICAgc2VsZi5tZXRhZGF0YVsnVmVyc2lvbiddID0gdmVyc2lvbgorICAgICAgICBzZWxmLm1ldGFkYXRhWydSZXF1aXJlcy1EaXN0J10gPSBkZXBzCisKKyAgICBkZWYgX19yZXByX18oc2VsZik6CisgICAgICAgIHJldHVybiAnPEluc3RhbGxlZERpc3QgJXI+JyAlIHNlbGYubWV0YWRhdGFbJ05hbWUnXQorCisKK2NsYXNzIFRvSW5zdGFsbERpc3Q6CisgICAgIiIiRGlzdHJpYnV0aW9uIHRoYXQgd2lsbCBiZSBpbnN0YWxsZWQiIiIKKworICAgIGRlZiBfX2luaXRfXyhzZWxmLCBmaWxlcz1GYWxzZSk6CisgICAgICAgIHNlbGYuX2ZpbGVzID0gZmlsZXMKKyAgICAgICAgc2VsZi5pbnN0YWxsX2NhbGxlZCA9IEZhbHNlCisgICAgICAgIHNlbGYuaW5zdGFsbF9jYWxsZWRfd2l0aCA9IHt9CisgICAgICAgIHNlbGYudW5pbnN0YWxsX2NhbGxlZCA9IEZhbHNlCisgICAgICAgIHNlbGYuX3JlYWxfZmlsZXMgPSBbXQorICAgICAgICBzZWxmLm5hbWUgPSAiZmFrZSIKKyAgICAgICAgc2VsZi52ZXJzaW9uID0gImZha2UiCisgICAgICAgIGlmIGZpbGVzOgorICAgICAgICAgICAgZm9yIGYgaW4gcmFuZ2UoMCwgMyk6CisgICAgICAgICAgICAgICAgZnAsIGZuID0gbWtzdGVtcCgpCisgICAgICAgICAgICAgICAgb3MuY2xvc2UoZnApCisgICAgICAgICAgICAgICAgc2VsZi5fcmVhbF9maWxlcy5hcHBlbmQoZm4pCisKKyAgICBkZWYgX3VubGlua19pbnN0YWxsZWRfZmlsZXMoc2VsZik6CisgICAgICAgIGlmIHNlbGYuX2ZpbGVzOgorICAgICAgICAgICAgZm9yIGZuIGluIHNlbGYuX3JlYWxfZmlsZXM6CisgICAgICAgICAgICAgICAgb3MudW5saW5rKGZuKQorCisgICAgZGVmIGxpc3RfaW5zdGFsbGVkX2ZpbGVzKHNlbGYsICoqYXJncyk6CisgICAgICAgIGlmIHNlbGYuX2ZpbGVzOgorICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3JlYWxfZmlsZXMKKworICAgIGRlZiBnZXRfaW5zdGFsbChzZWxmLCAqKmFyZ3MpOgorICAgICAgICByZXR1cm4gc2VsZi5saXN0X2luc3RhbGxlZF9maWxlcygpCisKKworY2xhc3MgTWFnaWNNb2NrOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCByZXR1cm5fdmFsdWU9Tm9uZSwgcmFpc2VfZXhjZXB0aW9uPUZhbHNlKToKKyAgICAgICAgc2VsZi5jYWxsZWQgPSBGYWxzZQorICAgICAgICBzZWxmLl90aW1lc19jYWxsZWQgPSAwCisgICAgICAgIHNlbGYuX2NhbGxlZF93aXRoID0gW10KKyAgICAgICAgc2VsZi5fcmV0dXJuX3ZhbHVlID0gcmV0dXJuX3ZhbHVlCisgICAgICAgIHNlbGYuX3JhaXNlID0gcmFpc2VfZXhjZXB0aW9uCisKKyAgICBkZWYgX19jYWxsX18oc2VsZiwgKmFyZ3MsICoqa3dhcmdzKToKKyAgICAgICAgc2VsZi5jYWxsZWQgPSBUcnVlCisgICAgICAgIHNlbGYuX3RpbWVzX2NhbGxlZCA9IHNlbGYuX3RpbWVzX2NhbGxlZCArIDEKKyAgICAgICAgc2VsZi5fY2FsbGVkX3dpdGguYXBwZW5kKChhcmdzLCBrd2FyZ3MpKQorICAgICAgICBpdGVyYWJsZSA9IGhhc2F0dHIoc2VsZi5fcmFpc2UsICdfX2l0ZXJfXycpCisgICAgICAgIGlmIHNlbGYuX3JhaXNlOgorICAgICAgICAgICAgaWYgKChub3QgaXRlcmFibGUgYW5kIHNlbGYuX3JhaXNlKQorICAgICAgICAgICAgICAgICAgICBvciBzZWxmLl9yYWlzZVtzZWxmLl90aW1lc19jYWxsZWQgLSAxXSk6CisgICAgICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uCisgICAgICAgIHJldHVybiBzZWxmLl9yZXR1cm5fdmFsdWUKKworICAgIGRlZiBjYWxsZWRfd2l0aChzZWxmLCAqYXJncywgKiprd2FyZ3MpOgorICAgICAgICByZXR1cm4gKGFyZ3MsIGt3YXJncykgaW4gc2VsZi5fY2FsbGVkX3dpdGgKKworCitkZWYgZ2V0X2luc3RhbGxlZF9kaXN0cyhkaXN0cyk6CisgICAgIiIiUmV0dXJuIGEgbGlzdCBvZiBmYWtlIGluc3RhbGxlZCBkaXN0cy4KKyAgICBUaGUgbGlzdCBpcyBuYW1lLCB2ZXJzaW9uLCBkZXBzIiIiCisgICAgb2JqZWN0cyA9IFtdCisgICAgZm9yIG5hbWUsIHZlcnNpb24sIGRlcHMgaW4gZGlzdHM6CisgICAgICAgIG9iamVjdHMuYXBwZW5kKEluc3RhbGxlZERpc3QobmFtZSwgdmVyc2lvbiwgZGVwcykpCisgICAgcmV0dXJuIG9iamVjdHMKKworCitjbGFzcyBUZXN0SW5zdGFsbChMb2dnaW5nQ2F0Y2hlciwgVGVtcGRpck1hbmFnZXIsIHVuaXR0ZXN0LlRlc3RDYXNlKToKKyAgICBkZWYgX2dldF9jbGllbnQoc2VsZiwgc2VydmVyLCAqYXJncywgKiprd2FyZ3MpOgorICAgICAgICByZXR1cm4gQ2xpZW50KHNlcnZlci5mdWxsX2FkZHJlc3MsICphcmdzLCAqKmt3YXJncykKKworICAgIGRlZiBfZ2V0X3Jlc3VsdHMoc2VsZiwgb3V0cHV0KToKKyAgICAgICAgIiIicmV0dXJuIGEgbGlzdCBvZiByZXN1bHRzIiIiCisgICAgICAgIGluc3RhbGxlZCA9IFsoby5uYW1lLCBzdHIoby52ZXJzaW9uKSkgZm9yIG8gaW4gb3V0cHV0WydpbnN0YWxsJ11dCisgICAgICAgIHJlbW92ZSA9IFsoby5uYW1lLCBzdHIoby52ZXJzaW9uKSkgZm9yIG8gaW4gb3V0cHV0WydyZW1vdmUnXV0KKyAgICAgICAgY29uZmxpY3QgPSBbKG8ubmFtZSwgc3RyKG8udmVyc2lvbikpIGZvciBvIGluIG91dHB1dFsnY29uZmxpY3QnXV0KKyAgICAgICAgcmV0dXJuIGluc3RhbGxlZCwgcmVtb3ZlLCBjb25mbGljdAorCisgICAgQHVuaXR0ZXN0LnNraXBJZih0aHJlYWRpbmcgaXMgTm9uZSwgJ25lZWRzIHRocmVhZGluZycpCisgICAgQHVzZV94bWxycGNfc2VydmVyKCkKKyAgICBkZWYgdGVzdF9leGlzdGluZ19kZXBzKHNlbGYsIHNlcnZlcik6CisgICAgICAgICMgVGVzdCB0aGF0IHRoZSBpbnN0YWxsZXIgZ2V0IHRoZSBkZXBlbmRlbmNpZXMgZnJvbSB0aGUgbWV0YWRhdGFzCisgICAgICAgICMgYW5kIGFzayB0aGUgaW5kZXggZm9yIHRoaXMgZGVwZW5kZW5jaWVzLgorICAgICAgICAjIEluIHRoaXMgdGVzdCBjYXNlLCB3ZSBoYXZlIGNob3hpZSB0aGF0IGlzIGRlcGVuZGVudCBmcm9tIHRvd2VsLXN0dWZmCisgICAgICAgICMgMC4xLCB3aGljaCBpcyBpbi10dXJuIGRlcGVuZGVudCBvbiBiYWNvbiA8PSAwLjI6CisgICAgICAgICMgY2hveGllIC0+IHRvd2VsLXN0dWZmIC0+IGJhY29uLgorICAgICAgICAjIEVhY2ggcmVsZWFzZSBtZXRhZGF0YSBpcyBub3QgcHJvdmlkZWQgaW4gbWV0YWRhdGEgMS4yLgorICAgICAgICBjbGllbnQgPSBzZWxmLl9nZXRfY2xpZW50KHNlcnZlcikKKyAgICAgICAgYXJjaGl2ZV9wYXRoID0gJyVzL2Rpc3RyaWJ1dGlvbi50YXIuZ3onICUgc2VydmVyLmZ1bGxfYWRkcmVzcworICAgICAgICBzZXJ2ZXIueG1scnBjLnNldF9kaXN0cmlidXRpb25zKFsKKyAgICAgICAgICAgIHsnbmFtZSc6ICdjaG94aWUnLAorICAgICAgICAgICAgICd2ZXJzaW9uJzogJzIuMC4wLjknLAorICAgICAgICAgICAgICdyZXF1aXJlc19kaXN0JzogWyd0b3dlbC1zdHVmZiAoMC4xKSddLAorICAgICAgICAgICAgICd1cmwnOiBhcmNoaXZlX3BhdGh9LAorICAgICAgICAgICAgeyduYW1lJzogJ3Rvd2VsLXN0dWZmJywKKyAgICAgICAgICAgICAndmVyc2lvbic6ICcwLjEnLAorICAgICAgICAgICAgICdyZXF1aXJlc19kaXN0JzogWydiYWNvbiAoPD0gMC4yKSddLAorICAgICAgICAgICAgICd1cmwnOiBhcmNoaXZlX3BhdGh9LAorICAgICAgICAgICAgeyduYW1lJzogJ2JhY29uJywKKyAgICAgICAgICAgICAndmVyc2lvbic6ICcwLjEnLAorICAgICAgICAgICAgICdyZXF1aXJlc19kaXN0JzogW10sCisgICAgICAgICAgICAgJ3VybCc6IGFyY2hpdmVfcGF0aH0sCisgICAgICAgICAgICBdKQorICAgICAgICBpbnN0YWxsZWQgPSBnZXRfaW5zdGFsbGVkX2Rpc3RzKFsoJ2JhY29uJywgJzAuMScsIFtdKV0pCisgICAgICAgIG91dHB1dCA9IGluc3RhbGwuZ2V0X2luZm9zKCJjaG94aWUiLCBpbmRleD1jbGllbnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluc3RhbGxlZD1pbnN0YWxsZWQpCisKKyAgICAgICAgIyB3ZSBkb24ndCBoYXZlIGluc3RhbGxlZCBiYWNvbiBhcyBpdCdzIGFscmVhZHkgaW5zdGFsbGVkIHN5c3RlbS13aWRlCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoMCwgbGVuKG91dHB1dFsncmVtb3ZlJ10pKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKDIsIGxlbihvdXRwdXRbJ2luc3RhbGwnXSkpCisgICAgICAgIHJlYWRhYmxlX291dHB1dCA9IFsoby5uYW1lLCBzdHIoby52ZXJzaW9uKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciBvIGluIG91dHB1dFsnaW5zdGFsbCddXQorICAgICAgICBzZWxmLmFzc2VydEluKCgndG93ZWwtc3R1ZmYnLCAnMC4xJyksIHJlYWRhYmxlX291dHB1dCkKKyAgICAgICAgc2VsZi5hc3NlcnRJbigoJ2Nob3hpZScsICcyLjAuMC45JyksIHJlYWRhYmxlX291dHB1dCkKKworICAgIEB1bml0dGVzdC5za2lwSWYodGhyZWFkaW5nIGlzIE5vbmUsICduZWVkcyB0aHJlYWRpbmcnKQorICAgIEB1c2VfeG1scnBjX3NlcnZlcigpCisgICAgZGVmIHRlc3RfdXBncmFkZV9leGlzdGluZ19kZXBzKHNlbGYsIHNlcnZlcik6CisgICAgICAgIGNsaWVudCA9IHNlbGYuX2dldF9jbGllbnQoc2VydmVyKQorICAgICAgICBhcmNoaXZlX3BhdGggPSAnJXMvZGlzdHJpYnV0aW9uLnRhci5neicgJSBzZXJ2ZXIuZnVsbF9hZGRyZXNzCisgICAgICAgIHNlcnZlci54bWxycGMuc2V0X2Rpc3RyaWJ1dGlvbnMoWworICAgICAgICAgICAgeyduYW1lJzogJ2Nob3hpZScsCisgICAgICAgICAgICAgJ3ZlcnNpb24nOiAnMi4wLjAuOScsCisgICAgICAgICAgICAgJ3JlcXVpcmVzX2Rpc3QnOiBbJ3Rvd2VsLXN0dWZmICgwLjEpJ10sCisgICAgICAgICAgICAgJ3VybCc6IGFyY2hpdmVfcGF0aH0sCisgICAgICAgICAgICB7J25hbWUnOiAndG93ZWwtc3R1ZmYnLAorICAgICAgICAgICAgICd2ZXJzaW9uJzogJzAuMScsCisgICAgICAgICAgICAgJ3JlcXVpcmVzX2Rpc3QnOiBbJ2JhY29uICg+PSAwLjIpJ10sCisgICAgICAgICAgICAgJ3VybCc6IGFyY2hpdmVfcGF0aH0sCisgICAgICAgICAgICB7J25hbWUnOiAnYmFjb24nLAorICAgICAgICAgICAgICd2ZXJzaW9uJzogJzAuMicsCisgICAgICAgICAgICAgJ3JlcXVpcmVzX2Rpc3QnOiBbXSwKKyAgICAgICAgICAgICAndXJsJzogYXJjaGl2ZV9wYXRofSwKKyAgICAgICAgICAgIF0pCisKKyAgICAgICAgb3V0cHV0ID0gaW5zdGFsbC5nZXRfaW5mb3MoImNob3hpZSIsIGluZGV4PWNsaWVudCwKKyAgICAgICAgICAgICAgICAgICAgIGluc3RhbGxlZD1nZXRfaW5zdGFsbGVkX2Rpc3RzKFsoJ2JhY29uJywgJzAuMScsIFtdKV0pKQorICAgICAgICBpbnN0YWxsZWQgPSBbKG8ubmFtZSwgc3RyKG8udmVyc2lvbikpIGZvciBvIGluIG91dHB1dFsnaW5zdGFsbCddXQorCisgICAgICAgICMgd2UgbmVlZCBiYWNvbiAwLjIsIGJ1dCAwLjEgaXMgaW5zdGFsbGVkLgorICAgICAgICAjIFNvIHdlIGV4cGVjdCB0byByZW1vdmUgMC4xIGFuZCB0byBpbnN0YWxsIDAuMiBpbnN0ZWFkLgorICAgICAgICByZW1vdmUgPSBbKG8ubmFtZSwgc3RyKG8udmVyc2lvbikpIGZvciBvIGluIG91dHB1dFsncmVtb3ZlJ11dCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oKCdjaG94aWUnLCAnMi4wLjAuOScpLCBpbnN0YWxsZWQpCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oKCd0b3dlbC1zdHVmZicsICcwLjEnKSwgaW5zdGFsbGVkKQorICAgICAgICBzZWxmLmFzc2VydEluKCgnYmFjb24nLCAnMC4yJyksIGluc3RhbGxlZCkKKyAgICAgICAgc2VsZi5hc3NlcnRJbigoJ2JhY29uJywgJzAuMScpLCByZW1vdmUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoMCwgbGVuKG91dHB1dFsnY29uZmxpY3QnXSkpCisKKyAgICBAdW5pdHRlc3Quc2tpcElmKHRocmVhZGluZyBpcyBOb25lLCAnbmVlZHMgdGhyZWFkaW5nJykKKyAgICBAdXNlX3htbHJwY19zZXJ2ZXIoKQorICAgIGRlZiB0ZXN0X2NvbmZsaWN0cyhzZWxmLCBzZXJ2ZXIpOgorICAgICAgICAjIFRlc3RzIHRoYXQgY29uZmxpY3RzIGFyZSBkZXRlY3RlZAorICAgICAgICBjbGllbnQgPSBzZWxmLl9nZXRfY2xpZW50KHNlcnZlcikKKyAgICAgICAgYXJjaGl2ZV9wYXRoID0gJyVzL2Rpc3RyaWJ1dGlvbi50YXIuZ3onICUgc2VydmVyLmZ1bGxfYWRkcmVzcworCisgICAgICAgICMgY2hveGllIGRlcGVuZHMgb24gdG93ZWwtc3R1ZmYsIHdoaWNoIGRlcGVuZHMgb24gYmFjb24uCisgICAgICAgIHNlcnZlci54bWxycGMuc2V0X2Rpc3RyaWJ1dGlvbnMoWworICAgICAgICAgICAgeyduYW1lJzogJ2Nob3hpZScsCisgICAgICAgICAgICAgJ3ZlcnNpb24nOiAnMi4wLjAuOScsCisgICAgICAgICAgICAgJ3JlcXVpcmVzX2Rpc3QnOiBbJ3Rvd2VsLXN0dWZmICgwLjEpJ10sCisgICAgICAgICAgICAgJ3VybCc6IGFyY2hpdmVfcGF0aH0sCisgICAgICAgICAgICB7J25hbWUnOiAndG93ZWwtc3R1ZmYnLAorICAgICAgICAgICAgICd2ZXJzaW9uJzogJzAuMScsCisgICAgICAgICAgICAgJ3JlcXVpcmVzX2Rpc3QnOiBbJ2JhY29uICg+PSAwLjIpJ10sCisgICAgICAgICAgICAgJ3VybCc6IGFyY2hpdmVfcGF0aH0sCisgICAgICAgICAgICB7J25hbWUnOiAnYmFjb24nLAorICAgICAgICAgICAgICd2ZXJzaW9uJzogJzAuMicsCisgICAgICAgICAgICAgJ3JlcXVpcmVzX2Rpc3QnOiBbXSwKKyAgICAgICAgICAgICAndXJsJzogYXJjaGl2ZV9wYXRofSwKKyAgICAgICAgICAgIF0pCisKKyAgICAgICAgIyBuYW1lLCB2ZXJzaW9uLCBkZXBzLgorICAgICAgICBhbHJlYWR5X2luc3RhbGxlZCA9IFsoJ2JhY29uJywgJzAuMScsIFtdKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCdjaGlja2VuJywgJzEuMScsIFsnYmFjb24gKDAuMSknXSldCisgICAgICAgIG91dHB1dCA9IGluc3RhbGwuZ2V0X2luZm9zKAorICAgICAgICAgICAgJ2Nob3hpZScsIGluZGV4PWNsaWVudCwKKyAgICAgICAgICAgIGluc3RhbGxlZD1nZXRfaW5zdGFsbGVkX2Rpc3RzKGFscmVhZHlfaW5zdGFsbGVkKSkKKworICAgICAgICAjIHdlIG5lZWQgYmFjb24gMC4yLCBidXQgMC4xIGlzIGluc3RhbGxlZC4KKyAgICAgICAgIyBTbyB3ZSBleHBlY3QgdG8gcmVtb3ZlIDAuMSBhbmQgdG8gaW5zdGFsbCAwLjIgaW5zdGVhZC4KKyAgICAgICAgaW5zdGFsbGVkLCByZW1vdmUsIGNvbmZsaWN0ID0gc2VsZi5fZ2V0X3Jlc3VsdHMob3V0cHV0KQorICAgICAgICBzZWxmLmFzc2VydEluKCgnY2hveGllJywgJzIuMC4wLjknKSwgaW5zdGFsbGVkKQorICAgICAgICBzZWxmLmFzc2VydEluKCgndG93ZWwtc3R1ZmYnLCAnMC4xJyksIGluc3RhbGxlZCkKKyAgICAgICAgc2VsZi5hc3NlcnRJbigoJ2JhY29uJywgJzAuMicpLCBpbnN0YWxsZWQpCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oKCdiYWNvbicsICcwLjEnKSwgcmVtb3ZlKQorICAgICAgICBzZWxmLmFzc2VydEluKCgnY2hpY2tlbicsICcxLjEnKSwgY29uZmxpY3QpCisKKyAgICBAdW5pdHRlc3Quc2tpcElmKHRocmVhZGluZyBpcyBOb25lLCAnbmVlZHMgdGhyZWFkaW5nJykKKyAgICBAdXNlX3htbHJwY19zZXJ2ZXIoKQorICAgIGRlZiB0ZXN0X2luc3RhbGxhdGlvbl91bmV4aXN0aW5nX3Byb2plY3Qoc2VsZiwgc2VydmVyKToKKyAgICAgICAgIyBUZXN0IHRoYXQgdGhlIGlzbnRhbGxlZCByYWlzZXMgYW4gZXhjZXB0aW9uIGlmIHRoZSBwcm9qZWN0IGRvZXMgbm90CisgICAgICAgICMgZXhpc3RzLgorICAgICAgICBjbGllbnQgPSBzZWxmLl9nZXRfY2xpZW50KHNlcnZlcikKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoaW5zdGFsbC5JbnN0YWxsYXRpb25FeGNlcHRpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAgIGluc3RhbGwuZ2V0X2luZm9zLAorICAgICAgICAgICAgICAgICAgICAgICAgICAndW5leGlzdGluZyBwcm9qZWN0JywgaW5kZXg9Y2xpZW50KQorCisgICAgZGVmIHRlc3RfbW92ZV9maWxlcyhzZWxmKToKKyAgICAgICAgIyB0ZXN0IHRoYXQgdGhlIGZpbGVzIGFyZSByZWFsbHkgbW92ZWQsIGFuZCB0aGF0IHRoZSBuZXcgcGF0aCBpcworICAgICAgICAjIHJldHVybmVkLgorICAgICAgICBwYXRoID0gc2VsZi5ta2R0ZW1wKCkKKyAgICAgICAgbmV3cGF0aCA9IHNlbGYubWtkdGVtcCgpCisgICAgICAgIGZpbGVzID0gW29zLnBhdGguam9pbihwYXRoLCBzdHIoeCkpIGZvciB4IGluIHJhbmdlKDEsIDIwKV0KKyAgICAgICAgZm9yIGYgaW4gZmlsZXM6CisgICAgICAgICAgICBvcGVuKGYsICdhYisnKS5jbG9zZSgpCisgICAgICAgIG91dHB1dCA9IFtvIGZvciBvIGluIGluc3RhbGwuX21vdmVfZmlsZXMoZmlsZXMsIG5ld3BhdGgpXQorCisgICAgICAgICMgY2hlY2sgdGhhdCBvdXRwdXQgcmV0dXJuIHRoZSBsaXN0IG9mIG9sZC9uZXcgcGxhY2VzCisgICAgICAgIGZvciBmaWxlXyBpbiBmaWxlczoKKyAgICAgICAgICAgIG5hbWUgPSBvcy5wYXRoLnNwbGl0KGZpbGVfKVstMV0KKyAgICAgICAgICAgIG5ld2xvYyA9IG9zLnBhdGguam9pbihuZXdwYXRoLCBuYW1lKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRJbigoZmlsZV8sIG5ld2xvYyksIG91dHB1dCkKKworICAgICAgICAjIHJlbW92ZSB0aGUgZmlsZXMKKyAgICAgICAgZm9yIGYgaW4gW29bMV0gZm9yIG8gaW4gb3V0cHV0XTogICMgb1sxXSBpcyB0aGUgbmV3IHBsYWNlCisgICAgICAgICAgICBvcy5yZW1vdmUoZikKKworICAgIGRlZiB0ZXN0X3VwZGF0ZV9pbmZvcyhzZWxmKToKKyAgICAgICAgdGVzdHMgPSBbWworICAgICAgICAgICAgeydmb28nOiBbJ2Zvb2JhcicsICdmb28nLCAnYmF6J10sICdiYXonOiBbJ2ZvbycsICdmb28nXX0sCisgICAgICAgICAgICB7J2Zvbyc6IFsnYWRkaXRpb25hbF9jb250ZW50JywgJ3llYWgnXSwgJ2Jheic6IFsndGVzdCcsICdmb28nXX0sCisgICAgICAgICAgICB7J2Zvbyc6IFsnZm9vYmFyJywgJ2ZvbycsICdiYXonLCAnYWRkaXRpb25hbF9jb250ZW50JywgJ3llYWgnXSwKKyAgICAgICAgICAgICAnYmF6JzogWydmb28nLCAnZm9vJywgJ3Rlc3QnLCAnZm9vJ119LAorICAgICAgICBdXQorCisgICAgICAgIGZvciBkaWN0MSwgZGljdDIsIGV4cGVjdCBpbiB0ZXN0czoKKyAgICAgICAgICAgIGluc3RhbGwuX3VwZGF0ZV9pbmZvcyhkaWN0MSwgZGljdDIpCisgICAgICAgICAgICBmb3Iga2V5IGluIGV4cGVjdDoKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV4cGVjdFtrZXldLCBkaWN0MVtrZXldKQorCisgICAgZGVmIHRlc3RfaW5zdGFsbF9kaXN0c19yb2xsYmFjayhzZWxmKToKKyAgICAgICAgIyBpZiBvbmUgb2YgdGhlIGRpc3RyaWJ1dGlvbiBpbnN0YWxsYXRpb24gZmFpbHMsIGNhbGwgdW5pbnN0YWxsIG9uIGFsbAorICAgICAgICAjIGluc3RhbGxlZCBkaXN0cmlidXRpb25zLgorCisgICAgICAgIG9sZF9pbnN0YWxsX2Rpc3QgPSBpbnN0YWxsLl9pbnN0YWxsX2Rpc3QKKyAgICAgICAgb2xkX3VuaW5zdGFsbCA9IGdldGF0dHIoaW5zdGFsbCwgJ3VuaW5zdGFsbCcsIE5vbmUpCisKKyAgICAgICAgaW5zdGFsbC5faW5zdGFsbF9kaXN0ID0gTWFnaWNNb2NrKHJldHVybl92YWx1ZT1bXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlX2V4Y2VwdGlvbj0oRmFsc2UsIFRydWUpKQorICAgICAgICBpbnN0YWxsLnJlbW92ZSA9IE1hZ2ljTW9jaygpCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIGQxID0gVG9JbnN0YWxsRGlzdCgpCisgICAgICAgICAgICBkMiA9IFRvSW5zdGFsbERpc3QoKQorICAgICAgICAgICAgcGF0aCA9IHNlbGYubWtkdGVtcCgpCisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhFeGNlcHRpb24sIGluc3RhbGwuaW5zdGFsbF9kaXN0cywgW2QxLCBkMl0sIHBhdGgpCisgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoaW5zdGFsbC5faW5zdGFsbF9kaXN0LmNhbGxlZF93aXRoKGQxLCBwYXRoKSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShpbnN0YWxsLnJlbW92ZS5jYWxsZWQpCisgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICBpbnN0YWxsLl9pbnN0YWxsX2Rpc3QgPSBvbGRfaW5zdGFsbF9kaXN0CisgICAgICAgICAgICBpbnN0YWxsLnJlbW92ZSA9IG9sZF91bmluc3RhbGwKKworICAgIGRlZiB0ZXN0X2luc3RhbGxfZGlzdHNfc3VjY2VzcyhzZWxmKToKKyAgICAgICAgb2xkX2luc3RhbGxfZGlzdCA9IGluc3RhbGwuX2luc3RhbGxfZGlzdAorICAgICAgICBpbnN0YWxsLl9pbnN0YWxsX2Rpc3QgPSBNYWdpY01vY2socmV0dXJuX3ZhbHVlPVtdKQorICAgICAgICB0cnk6CisgICAgICAgICAgICAjIHRlc3QgdGhhdCB0aGUgaW5zdGFsbCBtZXRob2QgaXMgY2FsbGVkIG9uIGVhY2ggZGlzdHJpYnV0aW9ucworICAgICAgICAgICAgZDEgPSBUb0luc3RhbGxEaXN0KCkKKyAgICAgICAgICAgIGQyID0gVG9JbnN0YWxsRGlzdCgpCisKKyAgICAgICAgICAgICMgc2hvdWxkIGNhbGwgaW5zdGFsbAorICAgICAgICAgICAgcGF0aCA9IHNlbGYubWtkdGVtcCgpCisgICAgICAgICAgICBpbnN0YWxsLmluc3RhbGxfZGlzdHMoW2QxLCBkMl0sIHBhdGgpCisgICAgICAgICAgICBmb3IgZGlzdCBpbiAoZDEsIGQyKToKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoaW5zdGFsbC5faW5zdGFsbF9kaXN0LmNhbGxlZF93aXRoKGRpc3QsIHBhdGgpKQorICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgaW5zdGFsbC5faW5zdGFsbF9kaXN0ID0gb2xkX2luc3RhbGxfZGlzdAorCisgICAgZGVmIHRlc3RfaW5zdGFsbF9mcm9tX2luZm9zX2NvbmZsaWN0KHNlbGYpOgorICAgICAgICAjIGFzc2VydCBjb25mbGljdHMgcmFpc2UgYW4gZXhjZXB0aW9uCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKGluc3RhbGwuSW5zdGFsbGF0aW9uQ29uZmxpY3QsCisgICAgICAgICAgICBpbnN0YWxsLmluc3RhbGxfZnJvbV9pbmZvcywKKyAgICAgICAgICAgIGNvbmZsaWN0cz1bVG9JbnN0YWxsRGlzdCgpXSkKKworICAgIGRlZiB0ZXN0X2luc3RhbGxfZnJvbV9pbmZvc19yZW1vdmVfc3VjY2VzcyhzZWxmKToKKyAgICAgICAgb2xkX2luc3RhbGxfZGlzdHMgPSBpbnN0YWxsLmluc3RhbGxfZGlzdHMKKyAgICAgICAgaW5zdGFsbC5pbnN0YWxsX2Rpc3RzID0gbGFtYmRhIHgsIHk9Tm9uZTogTm9uZQorICAgICAgICB0cnk6CisgICAgICAgICAgICBkaXN0cyA9IFtdCisgICAgICAgICAgICBmb3IgaSBpbiByYW5nZSgyKToKKyAgICAgICAgICAgICAgICBkaXN0cy5hcHBlbmQoVG9JbnN0YWxsRGlzdChmaWxlcz1UcnVlKSkKKyAgICAgICAgICAgIGluc3RhbGwuaW5zdGFsbF9mcm9tX2luZm9zKHJlbW92ZT1kaXN0cykKKworICAgICAgICAgICAgIyBhc3NlcnQgdGhhdCB0aGUgZmlsZXMgaGF2ZSBiZWVuIHJlbW92ZWQKKyAgICAgICAgICAgIGZvciBkaXN0IGluIGRpc3RzOgorICAgICAgICAgICAgICAgIGZvciBmIGluIGRpc3QubGlzdF9pbnN0YWxsZWRfZmlsZXMoKToKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShvcy5wYXRoLmV4aXN0cyhmKSkKKyAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgIGluc3RhbGwuaW5zdGFsbF9kaXN0cyA9IG9sZF9pbnN0YWxsX2Rpc3RzCisKKyAgICBkZWYgdGVzdF9pbnN0YWxsX2Zyb21faW5mb3NfcmVtb3ZlX3JvbGxiYWNrKHNlbGYpOgorICAgICAgICBvbGRfaW5zdGFsbF9kaXN0ID0gaW5zdGFsbC5faW5zdGFsbF9kaXN0CisgICAgICAgIG9sZF91bmluc3RhbGwgPSBnZXRhdHRyKGluc3RhbGwsICd1bmluc3RhbGwnLCBOb25lKQorCisgICAgICAgIGluc3RhbGwuX2luc3RhbGxfZGlzdCA9IE1hZ2ljTW9jayhyZXR1cm5fdmFsdWU9W10sCisgICAgICAgICAgICAgICAgcmFpc2VfZXhjZXB0aW9uPShGYWxzZSwgVHJ1ZSkpCisgICAgICAgIGluc3RhbGwudW5pbnN0YWxsID0gTWFnaWNNb2NrKCkKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgIyBhc3NlcnQgdGhhdCBpZiBhbiBlcnJvciBvY2N1cnMsIHRoZSByZW1vdmVkIGZpbGVzIGFyZSByZXN0b3JlZC4KKyAgICAgICAgICAgIHJlbW92ZSA9IFtdCisgICAgICAgICAgICBmb3IgaSBpbiByYW5nZSgyKToKKyAgICAgICAgICAgICAgICByZW1vdmUuYXBwZW5kKFRvSW5zdGFsbERpc3QoZmlsZXM9VHJ1ZSkpCisgICAgICAgICAgICB0b19pbnN0YWxsID0gW1RvSW5zdGFsbERpc3QoKSwgVG9JbnN0YWxsRGlzdCgpXQorICAgICAgICAgICAgdGVtcF9kaXIgPSBzZWxmLm1rZHRlbXAoKQorCisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhFeGNlcHRpb24sIGluc3RhbGwuaW5zdGFsbF9mcm9tX2luZm9zLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5zdGFsbF9wYXRoPXRlbXBfZGlyLCBpbnN0YWxsPXRvX2luc3RhbGwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW1vdmU9cmVtb3ZlKQorICAgICAgICAgICAgIyBhc3NlcnQgdGhhdCB0aGUgZmlsZXMgYXJlIGluIHRoZSBzYW1lIHBsYWNlCisgICAgICAgICAgICAjIGFzc2VydCB0aGF0IHRoZSBmaWxlcyBoYXZlIGJlZW4gcmVtb3ZlZAorICAgICAgICAgICAgZm9yIGRpc3QgaW4gcmVtb3ZlOgorICAgICAgICAgICAgICAgIGZvciBmIGluIGRpc3QubGlzdF9pbnN0YWxsZWRfZmlsZXMoKToKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG9zLnBhdGguZXhpc3RzKGYpKQorICAgICAgICAgICAgICAgIGRpc3QuX3VubGlua19pbnN0YWxsZWRfZmlsZXMoKQorICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgaW5zdGFsbC5faW5zdGFsbF9kaXN0ID0gb2xkX2luc3RhbGxfZGlzdAorICAgICAgICAgICAgaW5zdGFsbC51bmluc3RhbGwgPSBvbGRfdW5pbnN0YWxsCisKKyAgICBkZWYgdGVzdF9pbnN0YWxsX2Zyb21faW5mb3NfaW5zdGFsbF9zdWNjZXMoc2VsZik6CisgICAgICAgIG9sZF9pbnN0YWxsX2Rpc3QgPSBpbnN0YWxsLl9pbnN0YWxsX2Rpc3QKKyAgICAgICAgaW5zdGFsbC5faW5zdGFsbF9kaXN0ID0gTWFnaWNNb2NrKFtdKQorICAgICAgICB0cnk6CisgICAgICAgICAgICAjIGFzc2VydCB0aGF0IHRoZSBkaXN0cmlidXRpb24gY2FuIGJlIGluc3RhbGxlZAorICAgICAgICAgICAgaW5zdGFsbF9wYXRoID0gIm15X2luc3RhbGxfcGF0aCIKKyAgICAgICAgICAgIHRvX2luc3RhbGwgPSBbVG9JbnN0YWxsRGlzdCgpLCBUb0luc3RhbGxEaXN0KCldCisKKyAgICAgICAgICAgIGluc3RhbGwuaW5zdGFsbF9mcm9tX2luZm9zKGluc3RhbGxfcGF0aCwgaW5zdGFsbD10b19pbnN0YWxsKQorICAgICAgICAgICAgZm9yIGRpc3QgaW4gdG9faW5zdGFsbDoKKyAgICAgICAgICAgICAgICBpbnN0YWxsLl9pbnN0YWxsX2Rpc3QuY2FsbGVkX3dpdGgoaW5zdGFsbF9wYXRoKQorICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgaW5zdGFsbC5faW5zdGFsbF9kaXN0ID0gb2xkX2luc3RhbGxfZGlzdAorCisgICAgZGVmIHRlc3RfaW5zdGFsbF9wZXJtaXNzaW9uX2RlbmllZChzZWxmKToKKyAgICAgICAgIyBpZiB3ZSBkb24ndCBoYXZlIGFjY2VzcyB0byB0aGUgaW5zdGFsbGF0aW9uIHBhdGgsIHdlIHNob3VsZCBhYm9ydAorICAgICAgICAjIGltbWVkaWF0ZWx5CisgICAgICAgIHByb2plY3QgPSBvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKSwgJ3BhY2thZ2UudGd6JykKKworICAgICAgICAjIHdoZW4gcnVubmluZyBmcm9tIGFuIHVuaW5zdGFsbGVkIGJ1aWxkLCBhIHdhcm5pbmcgaXMgZW1pdHRlZCBhbmQgdGhlCisgICAgICAgICMgaW5zdGFsbGF0aW9uIGlzIG5vdCBhdHRlbXB0ZWQKKyAgICAgICAgaWYgaXNfcHl0aG9uX2J1aWxkKCk6CisgICAgICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGluc3RhbGwuaW5zdGFsbChwcm9qZWN0KSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoMSwgbGVuKHNlbGYuZ2V0X2xvZ3MobG9nZ2luZy5FUlJPUikpKQorICAgICAgICAgICAgcmV0dXJuCisKKyAgICAgICAgaW5zdGFsbF9wYXRoID0gc2VsZi5ta2R0ZW1wKCkKKyAgICAgICAgb2xkX2dldF9wYXRoID0gaW5zdGFsbC5nZXRfcGF0aAorICAgICAgICBpbnN0YWxsLmdldF9wYXRoID0gbGFtYmRhIHBhdGg6IGluc3RhbGxfcGF0aAorICAgICAgICBvbGRfbW9kID0gb3Muc3RhdChpbnN0YWxsX3BhdGgpLnN0X21vZGUKKyAgICAgICAgb3MuY2htb2QoaW5zdGFsbF9wYXRoLCAwKQorICAgICAgICB0cnk6CisgICAgICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGluc3RhbGwuaW5zdGFsbChwcm9qZWN0KSkKKyAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgIG9zLmNobW9kKGluc3RhbGxfcGF0aCwgb2xkX21vZCkKKyAgICAgICAgICAgIGluc3RhbGwuZ2V0X3BhdGggPSBvbGRfZ2V0X3BhdGgKKworCitkZWYgdGVzdF9zdWl0ZSgpOgorICAgIHN1aXRlID0gdW5pdHRlc3QuVGVzdFN1aXRlKCkKKyAgICBzdWl0ZS5hZGRUZXN0KHVuaXR0ZXN0Lm1ha2VTdWl0ZShUZXN0SW5zdGFsbCkpCisgICAgcmV0dXJuIHN1aXRlCisKK2lmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CisgICAgdW5pdHRlc3QubWFpbihkZWZhdWx0VGVzdD0ndGVzdF9zdWl0ZScpCmRpZmYgLS1naXQgYS9MaWIvcGFja2FnaW5nL3Rlc3RzL3Rlc3RfbWFuaWZlc3QucHkgYi9MaWIvcGFja2FnaW5nL3Rlc3RzL3Rlc3RfbWFuaWZlc3QucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2FhNTljMQotLS0gL2Rldi9udWxsCisrKyBiL0xpYi9wYWNrYWdpbmcvdGVzdHMvdGVzdF9tYW5pZmVzdC5weQpAQCAtMCwwICsxLDMzMSBAQAorIiIiVGVzdHMgZm9yIHBhY2thZ2luZy5tYW5pZmVzdC4iIiIKK2ltcG9ydCBvcworaW1wb3J0IHJlCitmcm9tIGlvIGltcG9ydCBTdHJpbmdJTworZnJvbSBwYWNrYWdpbmcuZXJyb3JzIGltcG9ydCBQYWNrYWdpbmdUZW1wbGF0ZUVycm9yCitmcm9tIHBhY2thZ2luZy5tYW5pZmVzdCBpbXBvcnQgTWFuaWZlc3QsIF90cmFuc2xhdGVfcGF0dGVybiwgX2dsb2JfdG9fcmUKKworZnJvbSBwYWNrYWdpbmcudGVzdHMgaW1wb3J0IHVuaXR0ZXN0LCBzdXBwb3J0CisKK01BTklGRVNUX0lOID0gIiIiXAoraW5jbHVkZSBvaworaW5jbHVkZSB4bworZXhjbHVkZSB4bworaW5jbHVkZSBmb28udG1wCitpbmNsdWRlIGJ1aWxkb3V0LmNmZworZ2xvYmFsLWluY2x1ZGUgKi54CitnbG9iYWwtaW5jbHVkZSAqLnR4dAorZ2xvYmFsLWV4Y2x1ZGUgKi50bXAKK3JlY3Vyc2l2ZS1pbmNsdWRlIGYgKi5vbworcmVjdXJzaXZlLWV4Y2x1ZGUgZ2xvYmFsICoueAorZ3JhZnQgZGlyCitwcnVuZSBkaXIzCisiIiIKKworTUFOSUZFU1RfSU5fMiA9ICIiIlwKK3JlY3Vyc2l2ZS1pbmNsdWRlIGZvbyAqLnB5ICAgIyBvaworIyBub3RoaW5nIGhlcmUKKworIworCityZWN1cnNpdmUtaW5jbHVkZSBiYXIgXFwKKyAgKi5kYXQgICAqLnR4dAorIiIiCisKK01BTklGRVNUX0lOXzMgPSAiIiJcCitSRUFETUUKK2ZpbGUxCisiIiIKKworCitkZWYgbWFrZV9sb2NhbF9wYXRoKHMpOgorICAgICIiIkNvbnZlcnRzICcvJyBpbiBhIHN0cmluZyB0byBvcy5zZXAiIiIKKyAgICByZXR1cm4gcy5yZXBsYWNlKCcvJywgb3Muc2VwKQorCisKK2NsYXNzIE1hbmlmZXN0VGVzdENhc2Uoc3VwcG9ydC5UZW1wZGlyTWFuYWdlciwKKyAgICAgICAgICAgICAgICAgICAgICAgc3VwcG9ydC5Mb2dnaW5nQ2F0Y2hlciwKKyAgICAgICAgICAgICAgICAgICAgICAgdW5pdHRlc3QuVGVzdENhc2UpOgorCisgICAgZGVmIGFzc2VydE5vV2FybmluZ3Moc2VsZik6CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5nZXRfbG9ncygpLCBbXSkKKworICAgIGRlZiBhc3NlcnRXYXJuaW5ncyhzZWxmKToKKyAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbChzZWxmLmdldF9sb2dzKCksIFtdKQorCisgICAgZGVmIHRlc3RfbWFuaWZlc3RfcmVhZGVyKHNlbGYpOgorICAgICAgICB0bXBkaXIgPSBzZWxmLm1rZHRlbXAoKQorICAgICAgICBNQU5JRkVTVCA9IG9zLnBhdGguam9pbih0bXBkaXIsICdNQU5JRkVTVC5pbicpCisgICAgICAgIHdpdGggb3BlbihNQU5JRkVTVCwgJ3cnKSBhcyBmOgorICAgICAgICAgICAgZi53cml0ZShNQU5JRkVTVF9JTl8yKQorCisgICAgICAgIG1hbmlmZXN0ID0gTWFuaWZlc3QoKQorICAgICAgICBtYW5pZmVzdC5yZWFkX3RlbXBsYXRlKE1BTklGRVNUKQorCisgICAgICAgIHdhcm5pbmdzID0gc2VsZi5nZXRfbG9ncygpCisgICAgICAgICMgdGhlIG1hbmlmZXN0IHNob3VsZCBoYXZlIGJlZW4gcmVhZCBhbmQgMyB3YXJuaW5ncyBpc3N1ZWQKKyAgICAgICAgIyAod2UgZGlkbid0IHByb3ZpZGUgdGhlIGZpbGVzKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKDMsIGxlbih3YXJuaW5ncykpCisgICAgICAgIGZvciB3YXJuaW5nIGluIHdhcm5pbmdzOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRJbignbm8gZmlsZXMgZm91bmQgbWF0Y2hpbmcnLCB3YXJuaW5nKQorCisgICAgICAgICMgbWFuaWZlc3QgYWxzbyBhY2NlcHRzIGZpbGUtbGlrZSBvYmplY3RzCisgICAgICAgIHdpdGggb3BlbihNQU5JRkVTVCkgYXMgZjoKKyAgICAgICAgICAgIG1hbmlmZXN0LnJlYWRfdGVtcGxhdGUoZikKKworICAgICAgICAjIHRoZSBtYW5pZmVzdCBzaG91bGQgaGF2ZSBiZWVuIHJlYWQgYW5kIDMgd2FybmluZ3MgaXNzdWVkCisgICAgICAgICMgKHdlIGRpZG4ndCBwcm92aWRlIHRoZSBmaWxlcykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgzLCBsZW4od2FybmluZ3MpKQorCisgICAgZGVmIHRlc3RfZGVmYXVsdF9hY3Rpb25zKHNlbGYpOgorICAgICAgICB0bXBkaXIgPSBzZWxmLm1rZHRlbXAoKQorICAgICAgICBzZWxmLmFkZENsZWFudXAob3MuY2hkaXIsIG9zLmdldGN3ZCgpKQorICAgICAgICBvcy5jaGRpcih0bXBkaXIpCisgICAgICAgIHNlbGYud3JpdGVfZmlsZSgnUkVBRE1FJywgJ3h4eCcpCisgICAgICAgIHNlbGYud3JpdGVfZmlsZSgnZmlsZTEnLCAneHh4JykKKyAgICAgICAgY29udGVudCA9IFN0cmluZ0lPKE1BTklGRVNUX0lOXzMpCisgICAgICAgIG1hbmlmZXN0ID0gTWFuaWZlc3QoKQorICAgICAgICBtYW5pZmVzdC5yZWFkX3RlbXBsYXRlKGNvbnRlbnQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoWydSRUFETUUnLCAnZmlsZTEnXSwgbWFuaWZlc3QuZmlsZXMpCisKKyAgICBkZWYgdGVzdF9nbG9iX3RvX3JlKHNlbGYpOgorICAgICAgICBzZXAgPSBvcy5zZXAKKyAgICAgICAgaWYgb3Muc2VwID09ICdcXCc6CisgICAgICAgICAgICBzZXAgPSByJ1xcJworCisgICAgICAgIGZvciBnbG9iLCByZWdleCBpbiAoCisgICAgICAgICAgICAjIHNpbXBsZSBjYXNlcworICAgICAgICAgICAgKCdmb28qJywgcidmb29bXiUoc2VwKXNdKlxaKD9tcyknKSwKKyAgICAgICAgICAgICgnZm9vPycsIHInZm9vW14lKHNlcClzXVxaKD9tcyknKSwKKyAgICAgICAgICAgICgnZm9vPz8nLCByJ2Zvb1teJShzZXApc11bXiUoc2VwKXNdXFooP21zKScpLAorICAgICAgICAgICAgIyBzcGVjaWFsIGNhc2VzCisgICAgICAgICAgICAocidmb29cXConLCByJ2Zvb1xcXFxbXiUoc2VwKXNdKlxaKD9tcyknKSwKKyAgICAgICAgICAgIChyJ2Zvb1xcXConLCByJ2Zvb1xcXFxcXFteJShzZXApc10qXFooP21zKScpLAorICAgICAgICAgICAgKCdmb28/Pz8/Jywgcidmb29bXiUoc2VwKXNdW14lKHNlcClzXVteJShzZXApc11bXiUoc2VwKXNdXFooP21zKScpLAorICAgICAgICAgICAgKHInZm9vXFw/PycsIHInZm9vXFxcXFteJShzZXApc11bXiUoc2VwKXNdXFooP21zKScpLAorICAgICAgICApOgorICAgICAgICAgICAgcmVnZXggPSByZWdleCAlIHsnc2VwJzogc2VwfQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChfZ2xvYl90b19yZShnbG9iKSwgcmVnZXgpCisKKyAgICBkZWYgdGVzdF9wcm9jZXNzX3RlbXBsYXRlX2xpbmUoc2VsZik6CisgICAgICAgICMgdGVzdGluZyAgYWxsIE1BTklGRVNULmluIHRlbXBsYXRlIHBhdHRlcm5zCisgICAgICAgIG1hbmlmZXN0ID0gTWFuaWZlc3QoKQorICAgICAgICBsID0gbWFrZV9sb2NhbF9wYXRoCisKKyAgICAgICAgIyBzaW11bGF0ZWQgZmlsZSBsaXN0CisgICAgICAgIG1hbmlmZXN0LmFsbGZpbGVzID0gWydmb28udG1wJywgJ29rJywgJ3hvJywgJ2ZvdXIudHh0JywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdidWlsZG91dC5jZmcnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBmaWxlbGlzdCBkb2VzIG5vdCBmaWx0ZXIgb3V0IFZDUyBkaXJlY3RvcmllcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgaXQncyBzZGlzdCB0aGF0IGRvZXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGwoJy5oZy9sYXN0LW1lc3NhZ2UudHh0JyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsKCdnbG9iYWwvb25lLnR4dCcpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbCgnZ2xvYmFsL3R3by50eHQnKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGwoJ2dsb2JhbC9maWxlcy54JyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsKCdnbG9iYWwvaGVyZS50bXAnKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGwoJ2Yvby9mLm9vJyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsKCdkaXIvZ3JhZnQtb25lJyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsKCdkaXIvZGlyMi9ncmFmdDInKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGwoJ2RpcjMvb2snKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGwoJ2RpcjMvc3ViL29rLnR4dCcpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdCisKKyAgICAgICAgZm9yIGxpbmUgaW4gTUFOSUZFU1RfSU4uc3BsaXQoJ1xuJyk6CisgICAgICAgICAgICBpZiBsaW5lLnN0cmlwKCkgPT0gJyc6CisgICAgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgICAgIG1hbmlmZXN0Ll9wcm9jZXNzX3RlbXBsYXRlX2xpbmUobGluZSkKKworICAgICAgICB3YW50ZWQgPSBbJ29rJywKKyAgICAgICAgICAgICAgICAgICdidWlsZG91dC5jZmcnLAorICAgICAgICAgICAgICAgICAgJ2ZvdXIudHh0JywKKyAgICAgICAgICAgICAgICAgIGwoJy5oZy9sYXN0LW1lc3NhZ2UudHh0JyksCisgICAgICAgICAgICAgICAgICBsKCdnbG9iYWwvb25lLnR4dCcpLAorICAgICAgICAgICAgICAgICAgbCgnZ2xvYmFsL3R3by50eHQnKSwKKyAgICAgICAgICAgICAgICAgIGwoJ2Yvby9mLm9vJyksCisgICAgICAgICAgICAgICAgICBsKCdkaXIvZ3JhZnQtb25lJyksCisgICAgICAgICAgICAgICAgICBsKCdkaXIvZGlyMi9ncmFmdDInKSwKKyAgICAgICAgICAgICAgICAgXQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobWFuaWZlc3QuZmlsZXMsIHdhbnRlZCkKKworICAgIGRlZiB0ZXN0X3JlbW92ZV9kdXBsaWNhdGVzKHNlbGYpOgorICAgICAgICBtYW5pZmVzdCA9IE1hbmlmZXN0KCkKKyAgICAgICAgbWFuaWZlc3QuZmlsZXMgPSBbJ2EnLCAnYicsICdhJywgJ2cnLCAnYycsICdnJ10KKyAgICAgICAgIyBmaWxlcyBtdXN0IGJlIHNvcnRlZCBiZWZvcmVoYW5kIChsaWtlIHNkaXN0IGRvZXMpCisgICAgICAgIG1hbmlmZXN0LnNvcnQoKQorICAgICAgICBtYW5pZmVzdC5yZW1vdmVfZHVwbGljYXRlcygpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobWFuaWZlc3QuZmlsZXMsIFsnYScsICdiJywgJ2MnLCAnZyddKQorCisgICAgZGVmIHRlc3RfdHJhbnNsYXRlX3BhdHRlcm4oc2VsZik6CisgICAgICAgICMgYmxhY2tib3ggdGVzdCBvZiBhIHByaXZhdGUgZnVuY3Rpb24KKworICAgICAgICAjIG5vdCByZWdleAorICAgICAgICBwYXR0ZXJuID0gX3RyYW5zbGF0ZV9wYXR0ZXJuKCdhJywgYW5jaG9yPVRydWUsIGlzX3JlZ2V4PUZhbHNlKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoaGFzYXR0cihwYXR0ZXJuLCAnc2VhcmNoJykpCisKKyAgICAgICAgIyBpcyBhIHJlZ2V4CisgICAgICAgIHJlZ2V4ID0gcmUuY29tcGlsZSgnYScpCisgICAgICAgIHBhdHRlcm4gPSBfdHJhbnNsYXRlX3BhdHRlcm4ocmVnZXgsIGFuY2hvcj1UcnVlLCBpc19yZWdleD1UcnVlKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBhdHRlcm4sIHJlZ2V4KQorCisgICAgICAgICMgcGxhaW4gc3RyaW5nIGZsYWdnZWQgYXMgcmVnZXgKKyAgICAgICAgcGF0dGVybiA9IF90cmFuc2xhdGVfcGF0dGVybignYScsIGFuY2hvcj1UcnVlLCBpc19yZWdleD1UcnVlKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoaGFzYXR0cihwYXR0ZXJuLCAnc2VhcmNoJykpCisKKyAgICAgICAgIyBnbG9iIHN1cHBvcnQKKyAgICAgICAgcGF0dGVybiA9IF90cmFuc2xhdGVfcGF0dGVybignKi5weScsIGFuY2hvcj1UcnVlLCBpc19yZWdleD1GYWxzZSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHBhdHRlcm4uc2VhcmNoKCdmaWxlbGlzdC5weScpKQorCisgICAgZGVmIHRlc3RfZXhjbHVkZV9wYXR0ZXJuKHNlbGYpOgorICAgICAgICAjIHJldHVybiBGYWxzZSBpZiBubyBtYXRjaAorICAgICAgICBtYW5pZmVzdCA9IE1hbmlmZXN0KCkKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShtYW5pZmVzdC5leGNsdWRlX3BhdHRlcm4oJyoucHknKSkKKworICAgICAgICAjIHJldHVybiBUcnVlIGlmIGZpbGVzIG1hdGNoCisgICAgICAgIG1hbmlmZXN0ID0gTWFuaWZlc3QoKQorICAgICAgICBtYW5pZmVzdC5maWxlcyA9IFsnYS5weScsICdiLnB5J10KKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG1hbmlmZXN0LmV4Y2x1ZGVfcGF0dGVybignKi5weScpKQorCisgICAgICAgICMgdGVzdCBleGNsdWRlcworICAgICAgICBtYW5pZmVzdCA9IE1hbmlmZXN0KCkKKyAgICAgICAgbWFuaWZlc3QuZmlsZXMgPSBbJ2EucHknLCAnYS50eHQnXQorICAgICAgICBtYW5pZmVzdC5leGNsdWRlX3BhdHRlcm4oJyoucHknKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1hbmlmZXN0LmZpbGVzLCBbJ2EudHh0J10pCisKKyAgICBkZWYgdGVzdF9pbmNsdWRlX3BhdHRlcm4oc2VsZik6CisgICAgICAgICMgcmV0dXJuIEZhbHNlIGlmIG5vIG1hdGNoCisgICAgICAgIG1hbmlmZXN0ID0gTWFuaWZlc3QoKQorICAgICAgICBtYW5pZmVzdC5hbGxmaWxlcyA9IFtdCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UobWFuaWZlc3QuX2luY2x1ZGVfcGF0dGVybignKi5weScpKQorCisgICAgICAgICMgcmV0dXJuIFRydWUgaWYgZmlsZXMgbWF0Y2gKKyAgICAgICAgbWFuaWZlc3QgPSBNYW5pZmVzdCgpCisgICAgICAgIG1hbmlmZXN0LmFsbGZpbGVzID0gWydhLnB5JywgJ2IudHh0J10KKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG1hbmlmZXN0Ll9pbmNsdWRlX3BhdHRlcm4oJyoucHknKSkKKworICAgICAgICAjIHRlc3QgKiBtYXRjaGVzIGFsbCBmaWxlcworICAgICAgICBtYW5pZmVzdCA9IE1hbmlmZXN0KCkKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUobWFuaWZlc3QuYWxsZmlsZXMpCisgICAgICAgIG1hbmlmZXN0LmFsbGZpbGVzID0gWydhLnB5JywgJ2IudHh0J10KKyAgICAgICAgbWFuaWZlc3QuX2luY2x1ZGVfcGF0dGVybignKicpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobWFuaWZlc3QuYWxsZmlsZXMsIFsnYS5weScsICdiLnR4dCddKQorCisgICAgZGVmIHRlc3RfcHJvY2Vzc190ZW1wbGF0ZShzZWxmKToKKyAgICAgICAgbCA9IG1ha2VfbG9jYWxfcGF0aAorICAgICAgICAjIGludmFsaWQgbGluZXMKKyAgICAgICAgbWFuaWZlc3QgPSBNYW5pZmVzdCgpCisgICAgICAgIGZvciBhY3Rpb24gaW4gKCdpbmNsdWRlJywgJ2V4Y2x1ZGUnLCAnZ2xvYmFsLWluY2x1ZGUnLAorICAgICAgICAgICAgICAgICAgICAgICAnZ2xvYmFsLWV4Y2x1ZGUnLCAncmVjdXJzaXZlLWluY2x1ZGUnLAorICAgICAgICAgICAgICAgICAgICAgICAncmVjdXJzaXZlLWV4Y2x1ZGUnLCAnZ3JhZnQnLCAncHJ1bmUnKToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFBhY2thZ2luZ1RlbXBsYXRlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYW5pZmVzdC5fcHJvY2Vzc190ZW1wbGF0ZV9saW5lLCBhY3Rpb24pCisKKyAgICAgICAgIyBpbXBsaWNpdCBpbmNsdWRlCisgICAgICAgIG1hbmlmZXN0ID0gTWFuaWZlc3QoKQorICAgICAgICBtYW5pZmVzdC5hbGxmaWxlcyA9IFsnYS5weScsICdiLnR4dCcsIGwoJ2QvYy5weScpXQorCisgICAgICAgIG1hbmlmZXN0Ll9wcm9jZXNzX3RlbXBsYXRlX2xpbmUoJyoucHknKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1hbmlmZXN0LmZpbGVzLCBbJ2EucHknXSkKKyAgICAgICAgc2VsZi5hc3NlcnROb1dhcm5pbmdzKCkKKworICAgICAgICAjIGluY2x1ZGUKKyAgICAgICAgbWFuaWZlc3QgPSBNYW5pZmVzdCgpCisgICAgICAgIG1hbmlmZXN0LmFsbGZpbGVzID0gWydhLnB5JywgJ2IudHh0JywgbCgnZC9jLnB5JyldCisKKyAgICAgICAgbWFuaWZlc3QuX3Byb2Nlc3NfdGVtcGxhdGVfbGluZSgnaW5jbHVkZSAqLnB5JykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtYW5pZmVzdC5maWxlcywgWydhLnB5J10pCisgICAgICAgIHNlbGYuYXNzZXJ0Tm9XYXJuaW5ncygpCisKKyAgICAgICAgbWFuaWZlc3QuX3Byb2Nlc3NfdGVtcGxhdGVfbGluZSgnaW5jbHVkZSAqLnJiJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtYW5pZmVzdC5maWxlcywgWydhLnB5J10pCisgICAgICAgIHNlbGYuYXNzZXJ0V2FybmluZ3MoKQorCisgICAgICAgICMgZXhjbHVkZQorICAgICAgICBtYW5pZmVzdCA9IE1hbmlmZXN0KCkKKyAgICAgICAgbWFuaWZlc3QuZmlsZXMgPSBbJ2EucHknLCAnYi50eHQnLCBsKCdkL2MucHknKV0KKworICAgICAgICBtYW5pZmVzdC5fcHJvY2Vzc190ZW1wbGF0ZV9saW5lKCdleGNsdWRlICoucHknKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1hbmlmZXN0LmZpbGVzLCBbJ2IudHh0JywgbCgnZC9jLnB5JyldKQorICAgICAgICBzZWxmLmFzc2VydE5vV2FybmluZ3MoKQorCisgICAgICAgIG1hbmlmZXN0Ll9wcm9jZXNzX3RlbXBsYXRlX2xpbmUoJ2V4Y2x1ZGUgKi5yYicpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobWFuaWZlc3QuZmlsZXMsIFsnYi50eHQnLCBsKCdkL2MucHknKV0pCisgICAgICAgIHNlbGYuYXNzZXJ0V2FybmluZ3MoKQorCisgICAgICAgICMgZ2xvYmFsLWluY2x1ZGUKKyAgICAgICAgbWFuaWZlc3QgPSBNYW5pZmVzdCgpCisgICAgICAgIG1hbmlmZXN0LmFsbGZpbGVzID0gWydhLnB5JywgJ2IudHh0JywgbCgnZC9jLnB5JyldCisKKyAgICAgICAgbWFuaWZlc3QuX3Byb2Nlc3NfdGVtcGxhdGVfbGluZSgnZ2xvYmFsLWluY2x1ZGUgKi5weScpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobWFuaWZlc3QuZmlsZXMsIFsnYS5weScsIGwoJ2QvYy5weScpXSkKKyAgICAgICAgc2VsZi5hc3NlcnROb1dhcm5pbmdzKCkKKworICAgICAgICBtYW5pZmVzdC5fcHJvY2Vzc190ZW1wbGF0ZV9saW5lKCdnbG9iYWwtaW5jbHVkZSAqLnJiJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtYW5pZmVzdC5maWxlcywgWydhLnB5JywgbCgnZC9jLnB5JyldKQorICAgICAgICBzZWxmLmFzc2VydFdhcm5pbmdzKCkKKworICAgICAgICAjIGdsb2JhbC1leGNsdWRlCisgICAgICAgIG1hbmlmZXN0ID0gTWFuaWZlc3QoKQorICAgICAgICBtYW5pZmVzdC5maWxlcyA9IFsnYS5weScsICdiLnR4dCcsIGwoJ2QvYy5weScpXQorCisgICAgICAgIG1hbmlmZXN0Ll9wcm9jZXNzX3RlbXBsYXRlX2xpbmUoJ2dsb2JhbC1leGNsdWRlICoucHknKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1hbmlmZXN0LmZpbGVzLCBbJ2IudHh0J10pCisgICAgICAgIHNlbGYuYXNzZXJ0Tm9XYXJuaW5ncygpCisKKyAgICAgICAgbWFuaWZlc3QuX3Byb2Nlc3NfdGVtcGxhdGVfbGluZSgnZ2xvYmFsLWV4Y2x1ZGUgKi5yYicpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobWFuaWZlc3QuZmlsZXMsIFsnYi50eHQnXSkKKyAgICAgICAgc2VsZi5hc3NlcnRXYXJuaW5ncygpCisKKyAgICAgICAgIyByZWN1cnNpdmUtaW5jbHVkZQorICAgICAgICBtYW5pZmVzdCA9IE1hbmlmZXN0KCkKKyAgICAgICAgbWFuaWZlc3QuYWxsZmlsZXMgPSBbJ2EucHknLCBsKCdkL2IucHknKSwgbCgnZC9jLnR4dCcpLCBsKCdkL2QvZS5weScpXQorCisgICAgICAgIG1hbmlmZXN0Ll9wcm9jZXNzX3RlbXBsYXRlX2xpbmUoJ3JlY3Vyc2l2ZS1pbmNsdWRlIGQgKi5weScpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobWFuaWZlc3QuZmlsZXMsIFtsKCdkL2IucHknKSwgbCgnZC9kL2UucHknKV0pCisgICAgICAgIHNlbGYuYXNzZXJ0Tm9XYXJuaW5ncygpCisKKyAgICAgICAgbWFuaWZlc3QuX3Byb2Nlc3NfdGVtcGxhdGVfbGluZSgncmVjdXJzaXZlLWluY2x1ZGUgZSAqLnB5JykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtYW5pZmVzdC5maWxlcywgW2woJ2QvYi5weScpLCBsKCdkL2QvZS5weScpXSkKKyAgICAgICAgc2VsZi5hc3NlcnRXYXJuaW5ncygpCisKKyAgICAgICAgIyByZWN1cnNpdmUtZXhjbHVkZQorICAgICAgICBtYW5pZmVzdCA9IE1hbmlmZXN0KCkKKyAgICAgICAgbWFuaWZlc3QuZmlsZXMgPSBbJ2EucHknLCBsKCdkL2IucHknKSwgbCgnZC9jLnR4dCcpLCBsKCdkL2QvZS5weScpXQorCisgICAgICAgIG1hbmlmZXN0Ll9wcm9jZXNzX3RlbXBsYXRlX2xpbmUoJ3JlY3Vyc2l2ZS1leGNsdWRlIGQgKi5weScpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobWFuaWZlc3QuZmlsZXMsIFsnYS5weScsIGwoJ2QvYy50eHQnKV0pCisgICAgICAgIHNlbGYuYXNzZXJ0Tm9XYXJuaW5ncygpCisKKyAgICAgICAgbWFuaWZlc3QuX3Byb2Nlc3NfdGVtcGxhdGVfbGluZSgncmVjdXJzaXZlLWV4Y2x1ZGUgZSAqLnB5JykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtYW5pZmVzdC5maWxlcywgWydhLnB5JywgbCgnZC9jLnR4dCcpXSkKKyAgICAgICAgc2VsZi5hc3NlcnRXYXJuaW5ncygpCisKKyAgICAgICAgIyBncmFmdAorICAgICAgICBtYW5pZmVzdCA9IE1hbmlmZXN0KCkKKyAgICAgICAgbWFuaWZlc3QuYWxsZmlsZXMgPSBbJ2EucHknLCBsKCdkL2IucHknKSwgbCgnZC9kL2UucHknKSwgbCgnZi9mLnB5JyldCisKKyAgICAgICAgbWFuaWZlc3QuX3Byb2Nlc3NfdGVtcGxhdGVfbGluZSgnZ3JhZnQgZCcpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobWFuaWZlc3QuZmlsZXMsIFtsKCdkL2IucHknKSwgbCgnZC9kL2UucHknKV0pCisgICAgICAgIHNlbGYuYXNzZXJ0Tm9XYXJuaW5ncygpCisKKyAgICAgICAgbWFuaWZlc3QuX3Byb2Nlc3NfdGVtcGxhdGVfbGluZSgnZ3JhZnQgZScpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobWFuaWZlc3QuZmlsZXMsIFtsKCdkL2IucHknKSwgbCgnZC9kL2UucHknKV0pCisgICAgICAgIHNlbGYuYXNzZXJ0V2FybmluZ3MoKQorCisgICAgICAgICMgcHJ1bmUKKyAgICAgICAgbWFuaWZlc3QgPSBNYW5pZmVzdCgpCisgICAgICAgIG1hbmlmZXN0LmZpbGVzID0gWydhLnB5JywgbCgnZC9iLnB5JyksIGwoJ2QvZC9lLnB5JyksIGwoJ2YvZi5weScpXQorCisgICAgICAgIG1hbmlmZXN0Ll9wcm9jZXNzX3RlbXBsYXRlX2xpbmUoJ3BydW5lIGQnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1hbmlmZXN0LmZpbGVzLCBbJ2EucHknLCBsKCdmL2YucHknKV0pCisgICAgICAgIHNlbGYuYXNzZXJ0Tm9XYXJuaW5ncygpCisKKyAgICAgICAgbWFuaWZlc3QuX3Byb2Nlc3NfdGVtcGxhdGVfbGluZSgncHJ1bmUgZScpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobWFuaWZlc3QuZmlsZXMsIFsnYS5weScsIGwoJ2YvZi5weScpXSkKKyAgICAgICAgc2VsZi5hc3NlcnRXYXJuaW5ncygpCisKKworZGVmIHRlc3Rfc3VpdGUoKToKKyAgICByZXR1cm4gdW5pdHRlc3QubWFrZVN1aXRlKE1hbmlmZXN0VGVzdENhc2UpCisKK2lmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CisgICAgdW5pdHRlc3QubWFpbihkZWZhdWx0VGVzdD0ndGVzdF9zdWl0ZScpCmRpZmYgLS1naXQgYS9MaWIvcGFja2FnaW5nL3Rlc3RzL3Rlc3RfbWFya2Vycy5weSBiL0xpYi9wYWNrYWdpbmcvdGVzdHMvdGVzdF9tYXJrZXJzLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE0OTRjNmIKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvcGFja2FnaW5nL3Rlc3RzL3Rlc3RfbWFya2Vycy5weQpAQCAtMCwwICsxLDc1IEBACisiIiJUZXN0cyBmb3IgcGFja2FnaW5nLm1hcmtlcnMuIiIiCitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKK2ltcG9ydCBwbGF0Zm9ybQorZnJvbSBwYWNrYWdpbmcubWFya2VycyBpbXBvcnQgaW50ZXJwcmV0CisKK2Zyb20gcGFja2FnaW5nLnRlc3RzIGltcG9ydCB1bml0dGVzdAorZnJvbSBwYWNrYWdpbmcudGVzdHMuc3VwcG9ydCBpbXBvcnQgTG9nZ2luZ0NhdGNoZXIKKworCitjbGFzcyBNYXJrZXJzVGVzdENhc2UoTG9nZ2luZ0NhdGNoZXIsCisgICAgICAgICAgICAgICAgICAgICAgdW5pdHRlc3QuVGVzdENhc2UpOgorCisgICAgZGVmIHRlc3RfaW50ZXJwcmV0KHNlbGYpOgorICAgICAgICBzeXNfcGxhdGZvcm0gPSBzeXMucGxhdGZvcm0KKyAgICAgICAgdmVyc2lvbiA9IHN5cy52ZXJzaW9uLnNwbGl0KClbMF0KKyAgICAgICAgb3NfbmFtZSA9IG9zLm5hbWUKKyAgICAgICAgcGxhdGZvcm1fdmVyc2lvbiA9IHBsYXRmb3JtLnZlcnNpb24oKQorICAgICAgICBwbGF0Zm9ybV9tYWNoaW5lID0gcGxhdGZvcm0ubWFjaGluZSgpCisgICAgICAgIHBsYXRmb3JtX3B5dGhvbl9pbXBsZW1lbnRhdGlvbiA9IHBsYXRmb3JtLnB5dGhvbl9pbXBsZW1lbnRhdGlvbigpCisKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGludGVycHJldCgic3lzLnBsYXRmb3JtID09ICclcyciICUgc3lzX3BsYXRmb3JtKSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGludGVycHJldCgKKyAgICAgICAgICAgICJzeXMucGxhdGZvcm0gPT0gJyVzJyBhbmQgcHl0aG9uX2Z1bGxfdmVyc2lvbiA9PSAnJXMnIiAlCisgICAgICAgICAgICAoc3lzX3BsYXRmb3JtLCB2ZXJzaW9uKSkpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShpbnRlcnByZXQoIiclcycgPT0gc3lzLnBsYXRmb3JtIiAlIHN5c19wbGF0Zm9ybSkpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShpbnRlcnByZXQoJ29zLm5hbWUgPT0gIiVzIicgJSBvc19uYW1lKSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGludGVycHJldCgKKyAgICAgICAgICAgICdwbGF0Zm9ybS52ZXJzaW9uID09ICIlcyIgYW5kIHBsYXRmb3JtLm1hY2hpbmUgPT0gIiVzIicgJQorICAgICAgICAgICAgKHBsYXRmb3JtX3ZlcnNpb24sIHBsYXRmb3JtX21hY2hpbmUpKSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGludGVycHJldCgncGxhdGZvcm0ucHl0aG9uX2ltcGxlbWVudGF0aW9uID09ICIlcyInICUKKyAgICAgICAgICAgIHBsYXRmb3JtX3B5dGhvbl9pbXBsZW1lbnRhdGlvbikpCisKKyAgICAgICAgIyBzdHVmZiB0aGF0IG5lZWQgdG8gcmFpc2UgYSBzeW50YXggZXJyb3IKKyAgICAgICAgb3BzID0gKCdvcy5uYW1lID09IG9zLm5hbWUnLCAnb3MubmFtZSA9PSAyJywgIicyJyA9PSAnMiciLAorICAgICAgICAgICAgICAgJ29rcGpvbm9uJywgJycsICdvcy5uYW1lID09JywgJ3B5dGhvbl92ZXJzaW9uID09IDIuNCcpCisgICAgICAgIGZvciBvcCBpbiBvcHM6CisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhTeW50YXhFcnJvciwgaW50ZXJwcmV0LCBvcCkKKworICAgICAgICAjIGNvbWJpbmVkIG9wZXJhdGlvbnMKKyAgICAgICAgT1AgPSAnb3MubmFtZSA9PSAiJXMiJyAlIG9zX25hbWUKKyAgICAgICAgRkFMU0VPUCA9ICdvcy5uYW1lID09ICJidXV1dSInCisgICAgICAgIEFORCA9ICcgYW5kICcKKyAgICAgICAgT1IgPSAnIG9yICcKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGludGVycHJldChPUCArIEFORCArIE9QKSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGludGVycHJldChPUCArIEFORCArIE9QICsgQU5EICsgT1ApKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoaW50ZXJwcmV0KE9QICsgT1IgKyBPUCkpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShpbnRlcnByZXQoT1AgKyBPUiArIEZBTFNFT1ApKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoaW50ZXJwcmV0KE9QICsgT1IgKyBPUCArIE9SICsgRkFMU0VPUCkpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShpbnRlcnByZXQoT1AgKyBPUiArIEZBTFNFT1AgKyBPUiArIEZBTFNFT1ApKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoaW50ZXJwcmV0KEZBTFNFT1AgKyBPUiArIE9QKSkKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShpbnRlcnByZXQoRkFMU0VPUCArIEFORCArIEZBTFNFT1ApKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGludGVycHJldChGQUxTRU9QICsgT1IgKyBGQUxTRU9QKSkKKworICAgICAgICAjIG90aGVyIG9wZXJhdG9ycworICAgICAgICBzZWxmLmFzc2VydFRydWUoaW50ZXJwcmV0KCJvcy5uYW1lICE9ICdidXV1dSciKSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGludGVycHJldCgicHl0aG9uX3ZlcnNpb24gPiAnMS4wJyIpKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoaW50ZXJwcmV0KCJweXRob25fdmVyc2lvbiA8ICc1LjAnIikpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShpbnRlcnByZXQoInB5dGhvbl92ZXJzaW9uIDw9ICc1LjAnIikpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShpbnRlcnByZXQoInB5dGhvbl92ZXJzaW9uID49ICcxLjAnIikpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShpbnRlcnByZXQoIiclcycgaW4gb3MubmFtZSIgJSBvc19uYW1lKSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGludGVycHJldCgiJ2J1dXV1JyBub3QgaW4gb3MubmFtZSIpKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoaW50ZXJwcmV0KAorICAgICAgICAgICAgIididXV1dScgbm90IGluIG9zLm5hbWUgYW5kICclcycgaW4gb3MubmFtZSIgJSBvc19uYW1lKSkKKworICAgICAgICAjIGV4ZWN1dGlvbiBjb250ZXh0CisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShpbnRlcnByZXQoJ3B5dGhvbl92ZXJzaW9uID09ICIwLjEiJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7J3B5dGhvbl92ZXJzaW9uJzogJzAuMSd9KSkKKworCitkZWYgdGVzdF9zdWl0ZSgpOgorICAgIHJldHVybiB1bml0dGVzdC5tYWtlU3VpdGUoTWFya2Vyc1Rlc3RDYXNlKQorCitpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgorICAgIHVuaXR0ZXN0Lm1haW4oZGVmYXVsdFRlc3Q9J3Rlc3Rfc3VpdGUnKQpkaWZmIC0tZ2l0IGEvTGliL3BhY2thZ2luZy90ZXN0cy90ZXN0X21ldGFkYXRhLnB5IGIvTGliL3BhY2thZ2luZy90ZXN0cy90ZXN0X21ldGFkYXRhLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU0YTdhZjMKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvcGFja2FnaW5nL3Rlc3RzL3Rlc3RfbWV0YWRhdGEucHkKQEAgLTAsMCArMSw0NTQgQEAKKyIiIlRlc3RzIGZvciBwYWNrYWdpbmcubWV0YWRhdGEuIiIiCitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKK2Zyb20gdGV4dHdyYXAgaW1wb3J0IGRlZGVudAorZnJvbSBpbyBpbXBvcnQgU3RyaW5nSU8KKworZnJvbSBwYWNrYWdpbmcuZXJyb3JzIGltcG9ydCAoTWV0YWRhdGFDb25mbGljdEVycm9yLCBNZXRhZGF0YU1pc3NpbmdFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1ldGFkYXRhVW5yZWNvZ25pemVkVmVyc2lvbkVycm9yKQorZnJvbSBwYWNrYWdpbmcubWV0YWRhdGEgaW1wb3J0IE1ldGFkYXRhLCBQS0dfSU5GT19QUkVGRVJSRURfVkVSU0lPTgorCitmcm9tIHBhY2thZ2luZy50ZXN0cyBpbXBvcnQgdW5pdHRlc3QKK2Zyb20gcGFja2FnaW5nLnRlc3RzLnN1cHBvcnQgaW1wb3J0IChMb2dnaW5nQ2F0Y2hlciwgVGVtcGRpck1hbmFnZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRW52aXJvblJlc3RvcmVyKQorCisKK2NsYXNzIE1ldGFkYXRhVGVzdENhc2UoTG9nZ2luZ0NhdGNoZXIsCisgICAgICAgICAgICAgICAgICAgICAgIFRlbXBkaXJNYW5hZ2VyLAorICAgICAgICAgICAgICAgICAgICAgICBFbnZpcm9uUmVzdG9yZXIsCisgICAgICAgICAgICAgICAgICAgICAgIHVuaXR0ZXN0LlRlc3RDYXNlKToKKworICAgIG1heERpZmYgPSBOb25lCisgICAgcmVzdG9yZV9lbnZpcm9uID0gWydIT01FJ10KKworICAgIGRlZiBzZXRVcChzZWxmKToKKyAgICAgICAgc3VwZXIoTWV0YWRhdGFUZXN0Q2FzZSwgc2VsZikuc2V0VXAoKQorICAgICAgICBzZWxmLmFyZ3YgPSBzeXMuYXJndiwgc3lzLmFyZ3ZbOl0KKworICAgIGRlZiB0ZWFyRG93bihzZWxmKToKKyAgICAgICAgc3lzLmFyZ3YgPSBzZWxmLmFyZ3ZbMF0KKyAgICAgICAgc3lzLmFyZ3ZbOl0gPSBzZWxmLmFyZ3ZbMV0KKyAgICAgICAgc3VwZXIoTWV0YWRhdGFUZXN0Q2FzZSwgc2VsZikudGVhckRvd24oKQorCisgICAgIyMjIyAgVGVzdCB2YXJpb3VzIG1ldGhvZHMgb2YgdGhlIE1ldGFkYXRhIGNsYXNzCisKKyAgICBkZWYgdGVzdF9pbnN0YW50aWF0aW9uKHNlbGYpOgorICAgICAgICBQS0dfSU5GTyA9IG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUoX19maWxlX18pLCAnUEtHLUlORk8nKQorICAgICAgICB3aXRoIG9wZW4oUEtHX0lORk8sICdyJywgZW5jb2Rpbmc9J3V0Zi04JykgYXMgZjoKKyAgICAgICAgICAgIGNvbnRlbnRzID0gZi5yZWFkKCkKKyAgICAgICAgZnAgPSBTdHJpbmdJTyhjb250ZW50cykKKworICAgICAgICBtID0gTWV0YWRhdGEoKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhNZXRhZGF0YVVucmVjb2duaXplZFZlcnNpb25FcnJvciwgbS5pdGVtcykKKworICAgICAgICBtID0gTWV0YWRhdGEoUEtHX0lORk8pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKG0uaXRlbXMoKSksIDIyKQorCisgICAgICAgIG0gPSBNZXRhZGF0YShmaWxlb2JqPWZwKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihtLml0ZW1zKCkpLCAyMikKKworICAgICAgICBtID0gTWV0YWRhdGEobWFwcGluZz1kaWN0KG5hbWU9J1Rlc3QnLCB2ZXJzaW9uPScxLjAnKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4obS5pdGVtcygpKSwgMTEpCisKKyAgICAgICAgZCA9IGRpY3QobS5pdGVtcygpKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIE1ldGFkYXRhLAorICAgICAgICAgICAgICAgICAgICAgICAgICBQS0dfSU5GTywgZmlsZW9iaj1mcCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBNZXRhZGF0YSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgUEtHX0lORk8sIG1hcHBpbmc9ZCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBNZXRhZGF0YSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZW9iaj1mcCwgbWFwcGluZz1kKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIE1ldGFkYXRhLAorICAgICAgICAgICAgICAgICAgICAgICAgICBQS0dfSU5GTywgbWFwcGluZz1tLCBmaWxlb2JqPWZwKQorCisgICAgZGVmIHRlc3RfbWV0YWRhdGFfbWFya2VycyhzZWxmKToKKyAgICAgICAgIyBzZWUgaWYgd2UgY2FuIGJlIHBsYXRmb3JtLWF3YXJlCisgICAgICAgIFBLR19JTkZPID0gb3MucGF0aC5qb2luKG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXyksICdQS0ctSU5GTycpCisgICAgICAgIHdpdGggb3BlbihQS0dfSU5GTywgJ3InLCBlbmNvZGluZz0ndXRmLTgnKSBhcyBmOgorICAgICAgICAgICAgY29udGVudCA9IGYucmVhZCgpICUgc3lzLnBsYXRmb3JtCisgICAgICAgIG1ldGFkYXRhID0gTWV0YWRhdGEocGxhdGZvcm1fZGVwZW5kZW50PVRydWUpCisKKyAgICAgICAgbWV0YWRhdGEucmVhZF9maWxlKFN0cmluZ0lPKGNvbnRlbnQpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1ldGFkYXRhWydSZXF1aXJlcy1EaXN0J10sIFsnYmFyJ10pCisgICAgICAgIG1ldGFkYXRhWydOYW1lJ10gPSAiYmF6OyBzeXMucGxhdGZvcm0gPT0gJ2JsYWgnIgorICAgICAgICAjIEZJWE1FIGlzIE5vbmUgb3IgJ1VOS05PV04nIGNvcnJlY3QgaGVyZT8KKyAgICAgICAgIyB3aGVyZSBpcyB0aGF0IGRvY3VtZW50ZWQ/CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobWV0YWRhdGFbJ05hbWUnXSwgTm9uZSkKKworICAgICAgICAjIHRlc3Qgd2l0aCBjb250ZXh0CisgICAgICAgIGNvbnRleHQgPSB7J3N5cy5wbGF0Zm9ybSc6ICdva29vayd9CisgICAgICAgIG1ldGFkYXRhID0gTWV0YWRhdGEocGxhdGZvcm1fZGVwZW5kZW50PVRydWUsIGV4ZWN1dGlvbl9jb250ZXh0PWNvbnRleHQpCisgICAgICAgIG1ldGFkYXRhLnJlYWRfZmlsZShTdHJpbmdJTyhjb250ZW50KSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtZXRhZGF0YVsnUmVxdWlyZXMtRGlzdCddLCBbJ2ZvbyddKQorCisgICAgZGVmIHRlc3RfbWFwcGluZ19hcGkoc2VsZik6CisgICAgICAgIFBLR19JTkZPID0gb3MucGF0aC5qb2luKG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXyksICdQS0ctSU5GTycpCisgICAgICAgIHdpdGggb3BlbihQS0dfSU5GTywgJ3InLCBlbmNvZGluZz0ndXRmLTgnKSBhcyBmOgorICAgICAgICAgICAgY29udGVudCA9IGYucmVhZCgpICUgc3lzLnBsYXRmb3JtCisgICAgICAgIG1ldGFkYXRhID0gTWV0YWRhdGEoZmlsZW9iaj1TdHJpbmdJTyhjb250ZW50KSkKKyAgICAgICAgc2VsZi5hc3NlcnRJbignVmVyc2lvbicsIG1ldGFkYXRhLmtleXMoKSkKKyAgICAgICAgc2VsZi5hc3NlcnRJbignMC41JywgbWV0YWRhdGEudmFsdWVzKCkpCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oKCdWZXJzaW9uJywgJzAuNScpLCBtZXRhZGF0YS5pdGVtcygpKQorCisgICAgICAgIG1ldGFkYXRhLnVwZGF0ZSh7J3ZlcnNpb24nOiAnMC42J30pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobWV0YWRhdGFbJ1ZlcnNpb24nXSwgJzAuNicpCisgICAgICAgIG1ldGFkYXRhLnVwZGF0ZShbKCd2ZXJzaW9uJywgJzAuNycpXSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtZXRhZGF0YVsnVmVyc2lvbiddLCAnMC43JykKKworICAgICAgICAjIG1ha2Ugc3VyZSB1cGRhdGUgbWV0aG9kIGNoZWNrcyB2YWx1ZXMgbGlrZSB0aGUgc2V0IG1ldGhvZCBkb2VzCisgICAgICAgIG1ldGFkYXRhLnVwZGF0ZSh7J3ZlcnNpb24nOiAnMS0tMid9KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihzZWxmLmdldF9sb2dzKCkpLCAxKQorCisgICAgICAgICMgWFhYIGNhdmVhdDogdGhlIGtleXMgbWV0aG9kIGFuZCBmcmllbmRzIGFyZSBub3QgMy54LXN0eWxlIHZpZXdzCisgICAgICAgICMgc2hvdWxkIGJlIGNoYW5nZWQgb3IgZG9jdW1lbnRlZAorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxpc3QobWV0YWRhdGEpLCBtZXRhZGF0YS5rZXlzKCkpCisKKyAgICBkZWYgdGVzdF9yZWFkX21ldGFkYXRhKHNlbGYpOgorICAgICAgICBmaWVsZHMgPSB7J25hbWUnOiAncHJvamVjdCcsCisgICAgICAgICAgICAgICAgICAndmVyc2lvbic6ICcxLjAnLAorICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJzogJ2Rlc2MnLAorICAgICAgICAgICAgICAgICAgJ3N1bW1hcnknOiAneHh4JywKKyAgICAgICAgICAgICAgICAgICdkb3dubG9hZF91cmwnOiAnaHR0cDovL2V4YW1wbGUuY29tJywKKyAgICAgICAgICAgICAgICAgICdrZXl3b3Jkcyc6IFsnb25lJywgJ3R3byddLAorICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVzX2Rpc3QnOiBbJ2ZvbyddfQorCisgICAgICAgIG1ldGFkYXRhID0gTWV0YWRhdGEobWFwcGluZz1maWVsZHMpCisgICAgICAgIFBLR19JTkZPID0gU3RyaW5nSU8oKQorICAgICAgICBtZXRhZGF0YS53cml0ZV9maWxlKFBLR19JTkZPKQorICAgICAgICBQS0dfSU5GTy5zZWVrKDApCisKKyAgICAgICAgbWV0YWRhdGEgPSBNZXRhZGF0YShmaWxlb2JqPVBLR19JTkZPKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobWV0YWRhdGFbJ25hbWUnXSwgJ3Byb2plY3QnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1ldGFkYXRhWyd2ZXJzaW9uJ10sICcxLjAnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1ldGFkYXRhWydzdW1tYXJ5J10sICd4eHgnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1ldGFkYXRhWydkb3dubG9hZF91cmwnXSwgJ2h0dHA6Ly9leGFtcGxlLmNvbScpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobWV0YWRhdGFbJ2tleXdvcmRzJ10sIFsnb25lJywgJ3R3byddKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1ldGFkYXRhWydwbGF0Zm9ybSddLCBbXSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtZXRhZGF0YVsnb2Jzb2xldGVzJ10sIFtdKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1ldGFkYXRhWydyZXF1aXJlcy1kaXN0J10sIFsnZm9vJ10pCisKKyAgICBkZWYgdGVzdF93cml0ZV9tZXRhZGF0YShzZWxmKToKKyAgICAgICAgIyBjaGVjayBzdXBwb3J0IG9mIG5vbi1BU0NJSSB2YWx1ZXMKKyAgICAgICAgdG1wX2RpciA9IHNlbGYubWtkdGVtcCgpCisgICAgICAgIG15X2ZpbGUgPSBvcy5wYXRoLmpvaW4odG1wX2RpciwgJ2YnKQorCisgICAgICAgIG1ldGFkYXRhID0gTWV0YWRhdGEobWFwcGluZz17J2F1dGhvcic6ICdNaXN0ZXIgQ2Fmw6knLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJzogJ215LnByb2plY3QnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhdXRob3InOiAnQ2Fmw6kgSnVuaW9yJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc3VtbWFyeSc6ICdDYWbDqSB0b3Jyw6lmacOpJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nOiAnSMOpaMOpaMOpJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAna2V5d29yZHMnOiBbJ2NhZsOpJywgJ2NvZmZlZSddfSkKKyAgICAgICAgbWV0YWRhdGEud3JpdGUobXlfZmlsZSkKKworICAgICAgICAjIHRoZSBmaWxlIHNob3VsZCB1c2UgVVRGLTgKKyAgICAgICAgbWV0YWRhdGEyID0gTWV0YWRhdGEoKQorICAgICAgICB3aXRoIG9wZW4obXlfZmlsZSwgZW5jb2Rpbmc9J3V0Zi04JykgYXMgZnA6CisgICAgICAgICAgICBtZXRhZGF0YTIucmVhZF9maWxlKGZwKQorCisgICAgICAgICMgWFhYIHdoZW4ga2V5d29yZHMgYXJlIG5vdCBkZWZpbmVkLCBtZXRhZGF0YSB3aWxsIGhhdmUKKyAgICAgICAgIyAnS2V5d29yZHMnOiBbXSBidXQgbWV0YWRhdGEyIHdpbGwgaGF2ZSAnS2V5d29yZHMnOiBbJyddCisgICAgICAgICMgYmVjYXVzZSBvZiBhIHZhbHVlLnNwbGl0KCcsJykgaW4gTWV0YWRhdGEuZ2V0CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobWV0YWRhdGEuaXRlbXMoKSwgbWV0YWRhdGEyLml0ZW1zKCkpCisKKyAgICAgICAgIyBBU0NJSSBhbHNvIHdvcmtzLCBpdCdzIGEgc3Vic2V0IG9mIFVURi04CisgICAgICAgIG1ldGFkYXRhID0gTWV0YWRhdGEobWFwcGluZz17J2F1dGhvcic6ICdNaXN0ZXIgQ2FmZScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnOiAnbXkucHJvamVjdCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2F1dGhvcic6ICdDYWZlIEp1bmlvcicsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3N1bW1hcnknOiAnQ2FmZSB0b3JyZWZpZScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJzogJ0hlaGVoZSd9KQorICAgICAgICBtZXRhZGF0YS53cml0ZShteV9maWxlKQorCisgICAgICAgIG1ldGFkYXRhMiA9IE1ldGFkYXRhKCkKKyAgICAgICAgd2l0aCBvcGVuKG15X2ZpbGUsIGVuY29kaW5nPSd1dGYtOCcpIGFzIGZwOgorICAgICAgICAgICAgbWV0YWRhdGEyLnJlYWRfZmlsZShmcCkKKworICAgIGRlZiB0ZXN0X21ldGFkYXRhX3JlYWRfd3JpdGUoc2VsZik6CisgICAgICAgIFBLR19JTkZPID0gb3MucGF0aC5qb2luKG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXyksICdQS0ctSU5GTycpCisgICAgICAgIG1ldGFkYXRhID0gTWV0YWRhdGEoUEtHX0lORk8pCisgICAgICAgIG91dCA9IFN0cmluZ0lPKCkKKyAgICAgICAgbWV0YWRhdGEud3JpdGVfZmlsZShvdXQpCisKKyAgICAgICAgb3V0LnNlZWsoMCkKKyAgICAgICAgcmVzID0gTWV0YWRhdGEoKQorICAgICAgICByZXMucmVhZF9maWxlKG91dCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtZXRhZGF0YS52YWx1ZXMoKSwgcmVzLnZhbHVlcygpKQorCisgICAgIyMjIyAgVGVzdCBjaGVja3MKKworICAgIGRlZiB0ZXN0X2NoZWNrX3ZlcnNpb24oc2VsZik6CisgICAgICAgIG1ldGFkYXRhID0gTWV0YWRhdGEoKQorICAgICAgICBtZXRhZGF0YVsnTmFtZSddID0gJ3ZpbXBkYicKKyAgICAgICAgbWV0YWRhdGFbJ0hvbWUtcGFnZSddID0gJ2h0dHA6Ly9weXBpLnB5dGhvbi5vcmcnCisgICAgICAgIG1ldGFkYXRhWydBdXRob3InXSA9ICdNb250eSBQeXRob24nCisgICAgICAgIG1ldGFkYXRhLmRvY3V0aWxzX3N1cHBvcnQgPSBGYWxzZQorICAgICAgICBtaXNzaW5nLCB3YXJuaW5ncyA9IG1ldGFkYXRhLmNoZWNrKCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtaXNzaW5nLCBbJ1ZlcnNpb24nXSkKKworICAgIGRlZiB0ZXN0X2NoZWNrX3ZlcnNpb25fc3RyaWN0KHNlbGYpOgorICAgICAgICBtZXRhZGF0YSA9IE1ldGFkYXRhKCkKKyAgICAgICAgbWV0YWRhdGFbJ05hbWUnXSA9ICd2aW1wZGInCisgICAgICAgIG1ldGFkYXRhWydIb21lLXBhZ2UnXSA9ICdodHRwOi8vcHlwaS5weXRob24ub3JnJworICAgICAgICBtZXRhZGF0YVsnQXV0aG9yJ10gPSAnTW9udHkgUHl0aG9uJworICAgICAgICBtZXRhZGF0YS5kb2N1dGlsc19zdXBwb3J0ID0gRmFsc2UKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoTWV0YWRhdGFNaXNzaW5nRXJyb3IsIG1ldGFkYXRhLmNoZWNrLCBzdHJpY3Q9VHJ1ZSkKKworICAgIGRlZiB0ZXN0X2NoZWNrX25hbWUoc2VsZik6CisgICAgICAgIG1ldGFkYXRhID0gTWV0YWRhdGEoKQorICAgICAgICBtZXRhZGF0YVsnVmVyc2lvbiddID0gJzEuMCcKKyAgICAgICAgbWV0YWRhdGFbJ0hvbWUtcGFnZSddID0gJ2h0dHA6Ly9weXBpLnB5dGhvbi5vcmcnCisgICAgICAgIG1ldGFkYXRhWydBdXRob3InXSA9ICdNb250eSBQeXRob24nCisgICAgICAgIG1ldGFkYXRhLmRvY3V0aWxzX3N1cHBvcnQgPSBGYWxzZQorICAgICAgICBtaXNzaW5nLCB3YXJuaW5ncyA9IG1ldGFkYXRhLmNoZWNrKCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtaXNzaW5nLCBbJ05hbWUnXSkKKworICAgIGRlZiB0ZXN0X2NoZWNrX25hbWVfc3RyaWN0KHNlbGYpOgorICAgICAgICBtZXRhZGF0YSA9IE1ldGFkYXRhKCkKKyAgICAgICAgbWV0YWRhdGFbJ1ZlcnNpb24nXSA9ICcxLjAnCisgICAgICAgIG1ldGFkYXRhWydIb21lLXBhZ2UnXSA9ICdodHRwOi8vcHlwaS5weXRob24ub3JnJworICAgICAgICBtZXRhZGF0YVsnQXV0aG9yJ10gPSAnTW9udHkgUHl0aG9uJworICAgICAgICBtZXRhZGF0YS5kb2N1dGlsc19zdXBwb3J0ID0gRmFsc2UKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoTWV0YWRhdGFNaXNzaW5nRXJyb3IsIG1ldGFkYXRhLmNoZWNrLCBzdHJpY3Q9VHJ1ZSkKKworICAgIGRlZiB0ZXN0X2NoZWNrX2F1dGhvcihzZWxmKToKKyAgICAgICAgbWV0YWRhdGEgPSBNZXRhZGF0YSgpCisgICAgICAgIG1ldGFkYXRhWydWZXJzaW9uJ10gPSAnMS4wJworICAgICAgICBtZXRhZGF0YVsnTmFtZSddID0gJ3ZpbXBkYicKKyAgICAgICAgbWV0YWRhdGFbJ0hvbWUtcGFnZSddID0gJ2h0dHA6Ly9weXBpLnB5dGhvbi5vcmcnCisgICAgICAgIG1ldGFkYXRhLmRvY3V0aWxzX3N1cHBvcnQgPSBGYWxzZQorICAgICAgICBtaXNzaW5nLCB3YXJuaW5ncyA9IG1ldGFkYXRhLmNoZWNrKCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtaXNzaW5nLCBbJ0F1dGhvciddKQorCisgICAgZGVmIHRlc3RfY2hlY2tfaG9tZXBhZ2Uoc2VsZik6CisgICAgICAgIG1ldGFkYXRhID0gTWV0YWRhdGEoKQorICAgICAgICBtZXRhZGF0YVsnVmVyc2lvbiddID0gJzEuMCcKKyAgICAgICAgbWV0YWRhdGFbJ05hbWUnXSA9ICd2aW1wZGInCisgICAgICAgIG1ldGFkYXRhWydBdXRob3InXSA9ICdNb250eSBQeXRob24nCisgICAgICAgIG1ldGFkYXRhLmRvY3V0aWxzX3N1cHBvcnQgPSBGYWxzZQorICAgICAgICBtaXNzaW5nLCB3YXJuaW5ncyA9IG1ldGFkYXRhLmNoZWNrKCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtaXNzaW5nLCBbJ0hvbWUtcGFnZSddKQorCisgICAgZGVmIHRlc3RfY2hlY2tfcHJlZGljYXRlcyhzZWxmKToKKyAgICAgICAgbWV0YWRhdGEgPSBNZXRhZGF0YSgpCisgICAgICAgIG1ldGFkYXRhWydWZXJzaW9uJ10gPSAncnInCisgICAgICAgIG1ldGFkYXRhWydOYW1lJ10gPSAndmltcGRiJworICAgICAgICBtZXRhZGF0YVsnSG9tZS1wYWdlJ10gPSAnaHR0cDovL3B5cGkucHl0aG9uLm9yZycKKyAgICAgICAgbWV0YWRhdGFbJ0F1dGhvciddID0gJ01vbnR5IFB5dGhvbicKKyAgICAgICAgbWV0YWRhdGFbJ1JlcXVpcmVzLWRpc3QnXSA9IFsnRm9vIChhKSddCisgICAgICAgIG1ldGFkYXRhWydPYnNvbGV0ZXMtZGlzdCddID0gWydGb28gKGEpJ10KKyAgICAgICAgbWV0YWRhdGFbJ1Byb3ZpZGVzLWRpc3QnXSA9IFsnRm9vIChhKSddCisgICAgICAgIG1pc3NpbmcsIHdhcm5pbmdzID0gbWV0YWRhdGEuY2hlY2soKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbih3YXJuaW5ncyksIDQpCisKKyAgICAjIyMjICBUZXN0IGZpZWxkcyBhbmQgbWV0YWRhdGEgdmVyc2lvbnMKKworICAgIGRlZiB0ZXN0X21ldGFkYXRhX3ZlcnNpb25zKHNlbGYpOgorICAgICAgICBtZXRhZGF0YSA9IE1ldGFkYXRhKG1hcHBpbmc9eyduYW1lJzogJ3Byb2plY3QnLCAndmVyc2lvbic6ICcxLjAnfSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtZXRhZGF0YVsnTWV0YWRhdGEtVmVyc2lvbiddLAorICAgICAgICAgICAgICAgICAgICAgICAgIFBLR19JTkZPX1BSRUZFUlJFRF9WRVJTSU9OKQorICAgICAgICBzZWxmLmFzc2VydE5vdEluKCdQcm92aWRlcycsIG1ldGFkYXRhKQorICAgICAgICBzZWxmLmFzc2VydE5vdEluKCdSZXF1aXJlcycsIG1ldGFkYXRhKQorICAgICAgICBzZWxmLmFzc2VydE5vdEluKCdPYnNvbGV0ZXMnLCBtZXRhZGF0YSkKKworICAgICAgICBtZXRhZGF0YVsnQ2xhc3NpZmllciddID0gWydvayddCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobWV0YWRhdGFbJ01ldGFkYXRhLVZlcnNpb24nXSwgJzEuMScpCisKKyAgICAgICAgbWV0YWRhdGEgPSBNZXRhZGF0YSgpCisgICAgICAgIG1ldGFkYXRhWydEb3dubG9hZC1VUkwnXSA9ICdvaycKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtZXRhZGF0YVsnTWV0YWRhdGEtVmVyc2lvbiddLCAnMS4xJykKKworICAgICAgICBtZXRhZGF0YSA9IE1ldGFkYXRhKCkKKyAgICAgICAgbWV0YWRhdGFbJ09ic29sZXRlcyddID0gJ29rJworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1ldGFkYXRhWydNZXRhZGF0YS1WZXJzaW9uJ10sICcxLjEnKQorCisgICAgICAgIGRlbCBtZXRhZGF0YVsnT2Jzb2xldGVzJ10KKyAgICAgICAgbWV0YWRhdGFbJ09ic29sZXRlcy1EaXN0J10gPSAnb2snCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobWV0YWRhdGFbJ01ldGFkYXRhLVZlcnNpb24nXSwgJzEuMicpCisKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoTWV0YWRhdGFDb25mbGljdEVycm9yLCBtZXRhZGF0YS5zZXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICdPYnNvbGV0ZXMnLCAnb2snKQorCisgICAgICAgIGRlbCBtZXRhZGF0YVsnT2Jzb2xldGVzJ10KKyAgICAgICAgZGVsIG1ldGFkYXRhWydPYnNvbGV0ZXMtRGlzdCddCisgICAgICAgIG1ldGFkYXRhWydWZXJzaW9uJ10gPSAnMScKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtZXRhZGF0YVsnTWV0YWRhdGEtVmVyc2lvbiddLCAnMS4wJykKKworICAgICAgICAjIG1ha2Ugc3VyZSB0aGUgX2Jlc3RfdmVyc2lvbiBmdW5jdGlvbiB3b3JrcyBva2F5IHdpdGgKKyAgICAgICAgIyBub24tY29uZmxpY3RpbmcgZmllbGRzIGZyb20gMS4xIGFuZCAxLjIgKGkuZS4gd2Ugd2FudCBvbmx5IHRoZQorICAgICAgICAjIHJlcXVpcmVzL3JlcXVpcmVzLWRpc3QgYW5kIGNvLiBwYWlycyB0byBjYXVzZSBhIGNvbmZsaWN0LCBub3QgYWxsCisgICAgICAgICMgZmllbGRzIGluIF8zMTRfTUFSS0VSUykKKyAgICAgICAgbWV0YWRhdGEgPSBNZXRhZGF0YSgpCisgICAgICAgIG1ldGFkYXRhWydSZXF1aXJlcy1QeXRob24nXSA9ICczJworICAgICAgICBtZXRhZGF0YVsnQ2xhc3NpZmllciddID0gWydQcm9ncmFtbWluZyBsYW5ndWFnZSA6OiBQeXRob24gOjogMyddCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobWV0YWRhdGFbJ01ldGFkYXRhLVZlcnNpb24nXSwgJzEuMicpCisKKyAgICAgICAgUEtHX0lORk8gPSBvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NFVFVQVE9PTFMtUEtHLUlORk8nKQorICAgICAgICBtZXRhZGF0YSA9IE1ldGFkYXRhKFBLR19JTkZPKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1ldGFkYXRhWydNZXRhZGF0YS1WZXJzaW9uJ10sICcxLjAnKQorCisgICAgICAgIFBLR19JTkZPID0gb3MucGF0aC5qb2luKG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdTRVRVUFRPT0xTLVBLRy1JTkZPMicpCisgICAgICAgIG1ldGFkYXRhID0gTWV0YWRhdGEoUEtHX0lORk8pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobWV0YWRhdGFbJ01ldGFkYXRhLVZlcnNpb24nXSwgJzEuMScpCisKKyAgICAgICAgIyBVcGRhdGUgdGhlIF9maWVsZHMgZGljdCBkaXJlY3RseSB0byBwcmV2ZW50ICdNZXRhZGF0YS1WZXJzaW9uJworICAgICAgICAjIGZyb20gYmVpbmcgdXBkYXRlZCBieSB0aGUgX3NldF9iZXN0X3ZlcnNpb24oKSBtZXRob2QuCisgICAgICAgIG1ldGFkYXRhLl9maWVsZHNbJ01ldGFkYXRhLVZlcnNpb24nXSA9ICcxLjYxOCcKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoTWV0YWRhdGFVbnJlY29nbml6ZWRWZXJzaW9uRXJyb3IsIG1ldGFkYXRhLmtleXMpCisKKyAgICBkZWYgdGVzdF92ZXJzaW9uKHNlbGYpOgorICAgICAgICBNZXRhZGF0YShtYXBwaW5nPXsnYXV0aG9yJzogJ3h4eCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lJzogJ3h4eCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICd2ZXJzaW9uJzogJ3h4eCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICdob21lX3BhZ2UnOiAneHh4eCd9KQorICAgICAgICBsb2dzID0gc2VsZi5nZXRfbG9ncygpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoMSwgbGVuKGxvZ3MpKQorICAgICAgICBzZWxmLmFzc2VydEluKCdub3QgYSB2YWxpZCB2ZXJzaW9uJywgbG9nc1swXSkKKworICAgIGRlZiB0ZXN0X2Rlc2NyaXB0aW9uKHNlbGYpOgorICAgICAgICBQS0dfSU5GTyA9IG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUoX19maWxlX18pLCAnUEtHLUlORk8nKQorICAgICAgICB3aXRoIG9wZW4oUEtHX0lORk8sICdyJywgZW5jb2Rpbmc9J3V0Zi04JykgYXMgZjoKKyAgICAgICAgICAgIGNvbnRlbnQgPSBmLnJlYWQoKSAlIHN5cy5wbGF0Zm9ybQorICAgICAgICBtZXRhZGF0YSA9IE1ldGFkYXRhKCkKKyAgICAgICAgbWV0YWRhdGEucmVhZF9maWxlKFN0cmluZ0lPKGNvbnRlbnQpKQorCisgICAgICAgICMgc2VlIGlmIHdlIGNhbiByZWFkIHRoZSBkZXNjcmlwdGlvbiBub3cKKyAgICAgICAgREVTQyA9IG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUoX19maWxlX18pLCAnTE9OR19ERVNDLnR4dCcpCisgICAgICAgIHdpdGggb3BlbihERVNDKSBhcyBmOgorICAgICAgICAgICAgd2FudGVkID0gZi5yZWFkKCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh3YW50ZWQsIG1ldGFkYXRhWydEZXNjcmlwdGlvbiddKQorCisgICAgICAgICMgc2F2ZSB0aGUgZmlsZSBzb21ld2hlcmUgYW5kIG1ha2Ugc3VyZSB3ZSBjYW4gcmVhZCBpdCBiYWNrCisgICAgICAgIG91dCA9IFN0cmluZ0lPKCkKKyAgICAgICAgbWV0YWRhdGEud3JpdGVfZmlsZShvdXQpCisgICAgICAgIG91dC5zZWVrKDApCisKKyAgICAgICAgb3V0LnNlZWsoMCkKKyAgICAgICAgbWV0YWRhdGEgPSBNZXRhZGF0YSgpCisgICAgICAgIG1ldGFkYXRhLnJlYWRfZmlsZShvdXQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwod2FudGVkLCBtZXRhZGF0YVsnRGVzY3JpcHRpb24nXSkKKworICAgIGRlZiB0ZXN0X2Rlc2NyaXB0aW9uX2ZvbGRpbmcoc2VsZik6CisgICAgICAgICMgbWFrZSBzdXJlIHRoZSBpbmRlbnRhdGlvbiBpcyBwcmVzZXJ2ZWQKKyAgICAgICAgb3V0ID0gU3RyaW5nSU8oKQorICAgICAgICBkZXNjID0gZGVkZW50KCIiIlwKKyAgICAgICAgZXhhbXBsZTo6CisgICAgICAgICAgICAgIFdlIHN0YXJ0IGhlcmUKKyAgICAgICAgICAgIGFuZCBjb250aW51ZSBoZXJlCisgICAgICAgICAgYW5kIGVuZCBoZXJlLgorICAgICAgICAiIiIpCisKKyAgICAgICAgbWV0YWRhdGEgPSBNZXRhZGF0YSgpCisgICAgICAgIG1ldGFkYXRhWydkZXNjcmlwdGlvbiddID0gZGVzYworICAgICAgICBtZXRhZGF0YS53cml0ZV9maWxlKG91dCkKKworICAgICAgICBmb2xkZWRfZGVzYyA9IGRlc2MucmVwbGFjZSgnXG4nLCAnXG4nICsgKDcgKiAnICcpICsgJ3wnKQorICAgICAgICBzZWxmLmFzc2VydEluKGZvbGRlZF9kZXNjLCBvdXQuZ2V0dmFsdWUoKSkKKworICAgIGRlZiB0ZXN0X3Byb2plY3RfdXJsKHNlbGYpOgorICAgICAgICBtZXRhZGF0YSA9IE1ldGFkYXRhKCkKKyAgICAgICAgbWV0YWRhdGFbJ1Byb2plY3QtVVJMJ10gPSBbKCdvbmUnLCAnaHR0cDovL29rJyldCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobWV0YWRhdGFbJ1Byb2plY3QtVVJMJ10sIFsoJ29uZScsICdodHRwOi8vb2snKV0pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobWV0YWRhdGFbJ01ldGFkYXRhLVZlcnNpb24nXSwgJzEuMicpCisKKyAgICAgICAgIyBtYWtlIHN1cmUgdGhpcyBwYXJ0aWN1bGFyIGZpZWxkIGlzIGhhbmRsZWQgcHJvcGVybHkgd2hlbiB3cml0dGVuCisgICAgICAgIGZwID0gU3RyaW5nSU8oKQorICAgICAgICBtZXRhZGF0YS53cml0ZV9maWxlKGZwKQorICAgICAgICBzZWxmLmFzc2VydEluKCdQcm9qZWN0LVVSTDogb25lLGh0dHA6Ly9vaycsIGZwLmdldHZhbHVlKCkuc3BsaXQoJ1xuJykpCisKKyAgICAgICAgZnAuc2VlaygwKQorICAgICAgICBtZXRhZGF0YSA9IE1ldGFkYXRhKCkKKyAgICAgICAgbWV0YWRhdGEucmVhZF9maWxlKGZwKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1ldGFkYXRhWydQcm9qZWN0LVVybCddLCBbKCdvbmUnLCAnaHR0cDovL29rJyldKQorCisgICAgIyBUT0RPIGNvcHkgdGVzdHMgZm9yIHYxLjEgcmVxdWlyZXMsIG9ic29sZXRlcyBhbmQgcHJvdmlkZXMgZnJvbSBkaXN0dXRpbHMKKyAgICAjICh0aGV5J3JlIHVzZWxlc3MgYnV0IHdlIHN1cHBvcnQgdGhlbSBzbyB3ZSBzaG91bGQgdGVzdCB0aGVtIGFueXdheSkKKworICAgIGRlZiB0ZXN0X3Byb3ZpZGVzX2Rpc3Qoc2VsZik6CisgICAgICAgIGZpZWxkcyA9IHsnbmFtZSc6ICdwcm9qZWN0JywKKyAgICAgICAgICAgICAgICAgICd2ZXJzaW9uJzogJzEuMCcsCisgICAgICAgICAgICAgICAgICAncHJvdmlkZXNfZGlzdCc6IFsncHJvamVjdCcsICdteS5wcm9qZWN0J119CisgICAgICAgIG1ldGFkYXRhID0gTWV0YWRhdGEobWFwcGluZz1maWVsZHMpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobWV0YWRhdGFbJ1Byb3ZpZGVzLURpc3QnXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBbJ3Byb2plY3QnLCAnbXkucHJvamVjdCddKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1ldGFkYXRhWydNZXRhZGF0YS1WZXJzaW9uJ10sICcxLjInLCBtZXRhZGF0YSkKKyAgICAgICAgc2VsZi5hc3NlcnROb3RJbignUmVxdWlyZXMnLCBtZXRhZGF0YSkKKyAgICAgICAgc2VsZi5hc3NlcnROb3RJbignT2Jzb2xldGVzJywgbWV0YWRhdGEpCisKKyAgICBAdW5pdHRlc3Quc2tpcCgnbmVlZHMgdG8gYmUgaW1wbGVtZW50ZWQnKQorICAgIGRlZiB0ZXN0X3Byb3ZpZGVzX2lsbGVnYWwoc2VsZik6CisgICAgICAgICMgVE9ETyBjaGVjayB0aGUgdmVyc2lvbnMgKGxpa2UgZGlzdHV0aWxzIGRvZXMgZm9yIG9sZCBwcm92aWRlcyBmaWVsZCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgTWV0YWRhdGEsCisgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmc9eyduYW1lJzogJ3Byb2plY3QnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndmVyc2lvbic6ICcxLjAnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvdmlkZXNfZGlzdCc6IFsnbXkucGtnIChzcGxhdCknXX0pCisKKyAgICBkZWYgdGVzdF9yZXF1aXJlc19kaXN0KHNlbGYpOgorICAgICAgICBmaWVsZHMgPSB7J25hbWUnOiAncHJvamVjdCcsCisgICAgICAgICAgICAgICAgICAndmVyc2lvbic6ICcxLjAnLAorICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVzX2Rpc3QnOiBbJ290aGVyJywgJ2Fub3RoZXIgKD09MS4wKSddfQorICAgICAgICBtZXRhZGF0YSA9IE1ldGFkYXRhKG1hcHBpbmc9ZmllbGRzKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1ldGFkYXRhWydSZXF1aXJlcy1EaXN0J10sCisgICAgICAgICAgICAgICAgICAgICAgICAgWydvdGhlcicsICdhbm90aGVyICg9PTEuMCknXSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtZXRhZGF0YVsnTWV0YWRhdGEtVmVyc2lvbiddLCAnMS4yJykKKyAgICAgICAgc2VsZi5hc3NlcnROb3RJbignUHJvdmlkZXMnLCBtZXRhZGF0YSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtZXRhZGF0YVsnUmVxdWlyZXMtRGlzdCddLAorICAgICAgICAgICAgICAgICAgICAgICAgIFsnb3RoZXInLCAnYW5vdGhlciAoPT0xLjApJ10pCisgICAgICAgIHNlbGYuYXNzZXJ0Tm90SW4oJ09ic29sZXRlcycsIG1ldGFkYXRhKQorCisgICAgICAgICMgbWFrZSBzdXJlIHdyaXRlX2ZpbGUgdXNlcyBvbmUgUkZDIDgyMiBoZWFkZXIgcGVyIGl0ZW0KKyAgICAgICAgZnAgPSBTdHJpbmdJTygpCisgICAgICAgIG1ldGFkYXRhLndyaXRlX2ZpbGUoZnApCisgICAgICAgIGxpbmVzID0gZnAuZ2V0dmFsdWUoKS5zcGxpdCgnXG4nKQorICAgICAgICBzZWxmLmFzc2VydEluKCdSZXF1aXJlcy1EaXN0OiBvdGhlcicsIGxpbmVzKQorICAgICAgICBzZWxmLmFzc2VydEluKCdSZXF1aXJlcy1EaXN0OiBhbm90aGVyICg9PTEuMCknLCBsaW5lcykKKworICAgICAgICAjIHRlc3Qgd2FybmluZ3MgZm9yIGludmFsaWQgdmVyc2lvbiBwcmVkaWNhdGVzCisgICAgICAgICMgWFhYIHRoaXMgd291bGQgY2F1c2Ugbm8gd2FybmluZ3MgaWYgd2UgdXNlZCB1cGRhdGUgKG9yIHRoZSBtYXBwaW5nCisgICAgICAgICMgYXJndW1lbnQgb2YgdGhlIGNvbnN0cnVjdG9yKSwgc2VlIGNvbW1lbnQgaW4gTWV0YWRhdGEudXBkYXRlCisgICAgICAgIG1ldGFkYXRhID0gTWV0YWRhdGEoKQorICAgICAgICBtZXRhZGF0YVsnUmVxdWlyZXMtRGlzdCddID0gJ0Z1bmt5IChHcm9vdmllKScKKyAgICAgICAgbWV0YWRhdGFbJ1JlcXVpcmVzLVB5dGhvbiddID0gJzEtNCcKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oc2VsZi5nZXRfbG9ncygpKSwgMikKKworICAgICAgICAjIHRlc3QgbXVsdGlwbGUgdmVyc2lvbiBwcmVkaWNhdGVzCisgICAgICAgIG1ldGFkYXRhID0gTWV0YWRhdGEoKQorCisgICAgICAgICMgWFhYIGNoZWNrIFBFUCBhbmQgc2VlIGlmIDMgPT0gMy4wCisgICAgICAgIG1ldGFkYXRhWydSZXF1aXJlcy1QeXRob24nXSA9ICc+PTIuNiwgPDMuMCcKKyAgICAgICAgbWV0YWRhdGFbJ1JlcXVpcmVzLURpc3QnXSA9IFsnRm9vICg+PTIuNiwgPDMuMCknXQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuZ2V0X2xvZ3MoKSwgW10pCisKKyAgICBAdW5pdHRlc3Quc2tpcCgnbmVlZHMgdG8gYmUgaW1wbGVtZW50ZWQnKQorICAgIGRlZiB0ZXN0X3JlcXVpcmVzX2lsbGVnYWwoc2VsZik6CisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIE1ldGFkYXRhLAorICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBwaW5nPXsnbmFtZSc6ICdwcm9qZWN0JywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3ZlcnNpb24nOiAnMS4wJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3JlcXVpcmVzJzogWydteS5wa2cgKHNwbGF0KSddfSkKKworICAgIGRlZiB0ZXN0X29ic29sZXRlc19kaXN0KHNlbGYpOgorICAgICAgICBmaWVsZHMgPSB7J25hbWUnOiAncHJvamVjdCcsCisgICAgICAgICAgICAgICAgICAndmVyc2lvbic6ICcxLjAnLAorICAgICAgICAgICAgICAgICAgJ29ic29sZXRlc19kaXN0JzogWydvdGhlcicsICdhbm90aGVyICg8MS4wKSddfQorICAgICAgICBtZXRhZGF0YSA9IE1ldGFkYXRhKG1hcHBpbmc9ZmllbGRzKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1ldGFkYXRhWydPYnNvbGV0ZXMtRGlzdCddLAorICAgICAgICAgICAgICAgICAgICAgICAgIFsnb3RoZXInLCAnYW5vdGhlciAoPDEuMCknXSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtZXRhZGF0YVsnTWV0YWRhdGEtVmVyc2lvbiddLCAnMS4yJykKKyAgICAgICAgc2VsZi5hc3NlcnROb3RJbignUHJvdmlkZXMnLCBtZXRhZGF0YSkKKyAgICAgICAgc2VsZi5hc3NlcnROb3RJbignUmVxdWlyZXMnLCBtZXRhZGF0YSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtZXRhZGF0YVsnT2Jzb2xldGVzLURpc3QnXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBbJ290aGVyJywgJ2Fub3RoZXIgKDwxLjApJ10pCisKKyAgICBAdW5pdHRlc3Quc2tpcCgnbmVlZHMgdG8gYmUgaW1wbGVtZW50ZWQnKQorICAgIGRlZiB0ZXN0X29ic29sZXRlc19pbGxlZ2FsKHNlbGYpOgorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBNZXRhZGF0YSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwcGluZz17J25hbWUnOiAncHJvamVjdCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd2ZXJzaW9uJzogJzEuMCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdvYnNvbGV0ZXMnOiBbJ215LnBrZyAoc3BsYXQpJ119KQorCisKK2RlZiB0ZXN0X3N1aXRlKCk6CisgICAgcmV0dXJuIHVuaXR0ZXN0Lm1ha2VTdWl0ZShNZXRhZGF0YVRlc3RDYXNlKQorCitpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgorICAgIHVuaXR0ZXN0Lm1haW4oZGVmYXVsdFRlc3Q9J3Rlc3Rfc3VpdGUnKQpkaWZmIC0tZ2l0IGEvTGliL3BhY2thZ2luZy90ZXN0cy90ZXN0X21peGluMnRvMy5weSBiL0xpYi9wYWNrYWdpbmcvdGVzdHMvdGVzdF9taXhpbjJ0bzMucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDhhMTAyYgotLS0gL2Rldi9udWxsCisrKyBiL0xpYi9wYWNrYWdpbmcvdGVzdHMvdGVzdF9taXhpbjJ0bzMucHkKQEAgLTAsMCArMSw4NyBAQAoraW1wb3J0IHRleHR3cmFwCisKK2Zyb20gcGFja2FnaW5nLnRlc3RzIGltcG9ydCB1bml0dGVzdCwgc3VwcG9ydAorZnJvbSBwYWNrYWdpbmcuY29tcGF0IGltcG9ydCBNaXhpbjJ0bzMKKworCitjbGFzcyBNaXhpbjJ0bzNUZXN0Q2FzZShzdXBwb3J0LlRlbXBkaXJNYW5hZ2VyLAorICAgICAgICAgICAgICAgICAgICAgICAgc3VwcG9ydC5Mb2dnaW5nQ2F0Y2hlciwKKyAgICAgICAgICAgICAgICAgICAgICAgIHVuaXR0ZXN0LlRlc3RDYXNlKToKKworICAgIGRlZiBzZXRVcChzZWxmKToKKyAgICAgICAgc3VwZXIoTWl4aW4ydG8zVGVzdENhc2UsIHNlbGYpLnNldFVwKCkKKyAgICAgICAgc2VsZi5maWxlbmFtZSA9IHNlbGYubWt0ZW1wZmlsZSgpLm5hbWUKKworICAgIGRlZiBjaGVjayhzZWxmLCBzb3VyY2UsIHdhbnRlZCwgKiprd2FyZ3MpOgorICAgICAgICBzb3VyY2UgPSB0ZXh0d3JhcC5kZWRlbnQoc291cmNlKQorICAgICAgICB3aXRoIG9wZW4oc2VsZi5maWxlbmFtZSwgJ3cnKSBhcyBmcDoKKyAgICAgICAgICAgIGZwLndyaXRlKHNvdXJjZSkKKworICAgICAgICBNaXhpbjJ0bzMoKS5fcnVuXzJ0bzMoKiprd2FyZ3MpCisKKyAgICAgICAgd2FudGVkID0gdGV4dHdyYXAuZGVkZW50KHdhbnRlZCkKKyAgICAgICAgd2l0aCBvcGVuKHNlbGYuZmlsZW5hbWUpIGFzIGZwOgorICAgICAgICAgICAgY29udmVydGVkID0gZnAucmVhZCgpCisgICAgICAgIHNlbGYuYXNzZXJ0TXVsdGlMaW5lRXF1YWwoY29udmVydGVkLCB3YW50ZWQpCisKKyAgICBkZWYgdGVzdF9jb252ZXJzaW9uKHNlbGYpOgorICAgICAgICAjIGNoZWNrIHRoYXQgY29kZSBhbmQgZG9jdGVzdHMgZ2V0IGNvbnZlcnRlZAorICAgICAgICBzZWxmLmNoZWNrKCcnJ1wKKyAgICAgICAgICAgICIiIkV4YW1wbGUgZG9jc3RyaW5nLgorCisgICAgICAgICAgICA+Pj4gcHJpbnQgdGVzdAorICAgICAgICAgICAgdGVzdAorCisgICAgICAgICAgICBJdCB3b3Jrcy4KKyAgICAgICAgICAgICIiIgorICAgICAgICAgICAgcHJpbnQgJ3Rlc3QnCisgICAgICAgICAgICAnJycsCisgICAgICAgICAgICAnJydcCisgICAgICAgICAgICAiIiJFeGFtcGxlIGRvY3N0cmluZy4KKworICAgICAgICAgICAgPj4+IHByaW50KHRlc3QpCisgICAgICAgICAgICB0ZXN0CisKKyAgICAgICAgICAgIEl0IHdvcmtzLgorICAgICAgICAgICAgIiIiCisgICAgICAgICAgICBwcmludCgndGVzdCcpCisKKyAgICAgICAgICAgICcnJywgICMgMnRvMyBhZGRzIGEgbmV3bGluZSBoZXJlCisgICAgICAgICAgICBmaWxlcz1bc2VsZi5maWxlbmFtZV0pCisKKyAgICBkZWYgdGVzdF9kb2N0ZXN0c19jb252ZXJzaW9uKHNlbGYpOgorICAgICAgICAjIGNoZWNrIHRoYXQgZG9jdGVzdCBmaWxlcyBhcmUgY29udmVydGVkCisgICAgICAgIHNlbGYuY2hlY2soJycnXAorICAgICAgICAgICAgV2VsY29tZSB0byB0aGUgZG9jLgorCisgICAgICAgICAgICA+Pj4gcHJpbnQgdGVzdAorICAgICAgICAgICAgdGVzdAorICAgICAgICAgICAgJycnLAorICAgICAgICAgICAgJycnXAorICAgICAgICAgICAgV2VsY29tZSB0byB0aGUgZG9jLgorCisgICAgICAgICAgICA+Pj4gcHJpbnQodGVzdCkKKyAgICAgICAgICAgIHRlc3QKKworICAgICAgICAgICAgJycnLAorICAgICAgICAgICAgZG9jdGVzdHM9W3NlbGYuZmlsZW5hbWVdKQorCisgICAgZGVmIHRlc3RfYWRkaXRpb25hbF9maXhlcnMoc2VsZik6CisgICAgICAgICMgbWFrZSBzdXJlIHRoZSBmaXhlcnMgYXJndW1lbnQgd29ya3MKKyAgICAgICAgc2VsZi5jaGVjaygiIiJcCisgICAgICAgICAgICBlY2hvKCc0MicpCisgICAgICAgICAgICBlY2hvMignb2ggbm8nKQorICAgICAgICAgICAgIiIiLAorICAgICAgICAgICAgIiIiXAorICAgICAgICAgICAgcHJpbnQoJzQyJykKKyAgICAgICAgICAgIHByaW50KCdvaCBubycpCisgICAgICAgICAgICAiIiIsCisgICAgICAgICAgICBmaWxlcz1bc2VsZi5maWxlbmFtZV0sCisgICAgICAgICAgICBmaXhlcnM9WydwYWNrYWdpbmcudGVzdHMuZml4ZXInXSkKKworCitkZWYgdGVzdF9zdWl0ZSgpOgorICAgIHJldHVybiB1bml0dGVzdC5tYWtlU3VpdGUoTWl4aW4ydG8zVGVzdENhc2UpCisKK2lmIF9fbmFtZV9fID09ICJfX21haW5fXyI6CisgICAgdW5pdHRlc3QubWFpbihkZWZhdWx0VGVzdD0idGVzdF9zdWl0ZSIpCmRpZmYgLS1naXQgYS9MaWIvcGFja2FnaW5nL3Rlc3RzL3Rlc3RfbXN2Yzljb21waWxlci5weSBiL0xpYi9wYWNrYWdpbmcvdGVzdHMvdGVzdF9tc3ZjOWNvbXBpbGVyLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRjM2FlNjUKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvcGFja2FnaW5nL3Rlc3RzL3Rlc3RfbXN2Yzljb21waWxlci5weQpAQCAtMCwwICsxLDE0MCBAQAorIiIiVGVzdHMgZm9yIHBhY2thZ2luZy5jb21waWxlci5tc3ZjOWNvbXBpbGVyLiIiIgoraW1wb3J0IG9zCitpbXBvcnQgc3lzCisKK2Zyb20gcGFja2FnaW5nLmVycm9ycyBpbXBvcnQgUGFja2FnaW5nUGxhdGZvcm1FcnJvcgorCitmcm9tIHBhY2thZ2luZy50ZXN0cyBpbXBvcnQgdW5pdHRlc3QsIHN1cHBvcnQKKworX01BTklGRVNUID0gIiIiXAorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9InllcyI/PgorPGFzc2VtYmx5IHhtbG5zPSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOmFzbS52MSIKKyAgICAgICAgICBtYW5pZmVzdFZlcnNpb249IjEuMCI+CisgIDx0cnVzdEluZm8geG1sbnM9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206YXNtLnYzIj4KKyAgICA8c2VjdXJpdHk+CisgICAgICA8cmVxdWVzdGVkUHJpdmlsZWdlcz4KKyAgICAgICAgPHJlcXVlc3RlZEV4ZWN1dGlvbkxldmVsIGxldmVsPSJhc0ludm9rZXIiIHVpQWNjZXNzPSJmYWxzZSI+CisgICAgICAgIDwvcmVxdWVzdGVkRXhlY3V0aW9uTGV2ZWw+CisgICAgICA8L3JlcXVlc3RlZFByaXZpbGVnZXM+CisgICAgPC9zZWN1cml0eT4KKyAgPC90cnVzdEluZm8+CisgIDxkZXBlbmRlbmN5PgorICAgIDxkZXBlbmRlbnRBc3NlbWJseT4KKyAgICAgIDxhc3NlbWJseUlkZW50aXR5IHR5cGU9IndpbjMyIiBuYW1lPSJNaWNyb3NvZnQuVkM5MC5DUlQiCisgICAgICAgICB2ZXJzaW9uPSI5LjAuMjEwMjIuOCIgcHJvY2Vzc29yQXJjaGl0ZWN0dXJlPSJ4ODYiCisgICAgICAgICBwdWJsaWNLZXlUb2tlbj0iWFhYWCI+CisgICAgICA8L2Fzc2VtYmx5SWRlbnRpdHk+CisgICAgPC9kZXBlbmRlbnRBc3NlbWJseT4KKyAgPC9kZXBlbmRlbmN5PgorICA8ZGVwZW5kZW5jeT4KKyAgICA8ZGVwZW5kZW50QXNzZW1ibHk+CisgICAgICA8YXNzZW1ibHlJZGVudGl0eSB0eXBlPSJ3aW4zMiIgbmFtZT0iTWljcm9zb2Z0LlZDOTAuTUZDIgorICAgICAgICB2ZXJzaW9uPSI5LjAuMjEwMjIuOCIgcHJvY2Vzc29yQXJjaGl0ZWN0dXJlPSJ4ODYiCisgICAgICAgIHB1YmxpY0tleVRva2VuPSJYWFhYIj48L2Fzc2VtYmx5SWRlbnRpdHk+CisgICAgPC9kZXBlbmRlbnRBc3NlbWJseT4KKyAgPC9kZXBlbmRlbmN5PgorPC9hc3NlbWJseT4KKyIiIgorCitfQ0xFQU5FRF9NQU5JRkVTVCA9ICIiIlwKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04IiBzdGFuZGFsb25lPSJ5ZXMiPz4KKzxhc3NlbWJseSB4bWxucz0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTphc20udjEiCisgICAgICAgICAgbWFuaWZlc3RWZXJzaW9uPSIxLjAiPgorICA8dHJ1c3RJbmZvIHhtbG5zPSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOmFzbS52MyI+CisgICAgPHNlY3VyaXR5PgorICAgICAgPHJlcXVlc3RlZFByaXZpbGVnZXM+CisgICAgICAgIDxyZXF1ZXN0ZWRFeGVjdXRpb25MZXZlbCBsZXZlbD0iYXNJbnZva2VyIiB1aUFjY2Vzcz0iZmFsc2UiPgorICAgICAgICA8L3JlcXVlc3RlZEV4ZWN1dGlvbkxldmVsPgorICAgICAgPC9yZXF1ZXN0ZWRQcml2aWxlZ2VzPgorICAgIDwvc2VjdXJpdHk+CisgIDwvdHJ1c3RJbmZvPgorICA8ZGVwZW5kZW5jeT4KKworICA8L2RlcGVuZGVuY3k+CisgIDxkZXBlbmRlbmN5PgorICAgIDxkZXBlbmRlbnRBc3NlbWJseT4KKyAgICAgIDxhc3NlbWJseUlkZW50aXR5IHR5cGU9IndpbjMyIiBuYW1lPSJNaWNyb3NvZnQuVkM5MC5NRkMiCisgICAgICAgIHZlcnNpb249IjkuMC4yMTAyMi44IiBwcm9jZXNzb3JBcmNoaXRlY3R1cmU9Ing4NiIKKyAgICAgICAgcHVibGljS2V5VG9rZW49IlhYWFgiPjwvYXNzZW1ibHlJZGVudGl0eT4KKyAgICA8L2RlcGVuZGVudEFzc2VtYmx5PgorICA8L2RlcGVuZGVuY3k+Cis8L2Fzc2VtYmx5PiIiIgorCisKK2NsYXNzIG1zdmM5Y29tcGlsZXJUZXN0Q2FzZShzdXBwb3J0LlRlbXBkaXJNYW5hZ2VyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuaXR0ZXN0LlRlc3RDYXNlKToKKworICAgIEB1bml0dGVzdC5za2lwVW5sZXNzKHN5cy5wbGF0Zm9ybSA9PSAid2luMzIiLCAicnVucyBvbmx5IG9uIHdpbjMyIikKKyAgICBkZWYgdGVzdF9ub19jb21waWxlcihzZWxmKToKKyAgICAgICAgIyBtYWtlIHN1cmUgcXVlcnlfdmN2YXJzYWxsIHJhaXNlcyBhIFBhY2thZ2luZ1BsYXRmb3JtRXJyb3IgaWYKKyAgICAgICAgIyB0aGUgY29tcGlsZXIgaXMgbm90IGZvdW5kCisgICAgICAgIGZyb20gcGFja2FnaW5nLmNvbXBpbGVyLm1zdmNjb21waWxlciBpbXBvcnQgZ2V0X2J1aWxkX3ZlcnNpb24KKyAgICAgICAgaWYgZ2V0X2J1aWxkX3ZlcnNpb24oKSA8IDguMDoKKyAgICAgICAgICAgIHJhaXNlIHVuaXR0ZXN0LlNraXBUZXN0KCdvbmx5IGZvciBNU1ZDOC4wIG9yIGFib3ZlJykKKworICAgICAgICBmcm9tIHBhY2thZ2luZy5jb21waWxlciBpbXBvcnQgbXN2Yzljb21waWxlcgorICAgICAgICBmcm9tIHBhY2thZ2luZy5jb21waWxlci5tc3ZjOWNvbXBpbGVyIGltcG9ydCBxdWVyeV92Y3ZhcnNhbGwKKworICAgICAgICBkZWYgX2ZpbmRfdmN2YXJzYWxsKHZlcnNpb24pOgorICAgICAgICAgICAgcmV0dXJuIE5vbmUKKworICAgICAgICBvbGRfZmluZF92Y3ZhcnNhbGwgPSBtc3ZjOWNvbXBpbGVyLmZpbmRfdmN2YXJzYWxsCisgICAgICAgIG1zdmM5Y29tcGlsZXIuZmluZF92Y3ZhcnNhbGwgPSBfZmluZF92Y3ZhcnNhbGwKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoUGFja2FnaW5nUGxhdGZvcm1FcnJvciwgcXVlcnlfdmN2YXJzYWxsLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnd29udCBmaW5kIHRoaXMgdmVyc2lvbicpCisgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICBtc3ZjOWNvbXBpbGVyLmZpbmRfdmN2YXJzYWxsID0gb2xkX2ZpbmRfdmN2YXJzYWxsCisKKyAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhzeXMucGxhdGZvcm0gPT0gIndpbjMyIiwgInJ1bnMgb25seSBvbiB3aW4zMiIpCisgICAgZGVmIHRlc3RfcmVnX2NsYXNzKHNlbGYpOgorICAgICAgICBmcm9tIHBhY2thZ2luZy5jb21waWxlci5tc3ZjY29tcGlsZXIgaW1wb3J0IGdldF9idWlsZF92ZXJzaW9uCisgICAgICAgIGlmIGdldF9idWlsZF92ZXJzaW9uKCkgPCA4LjA6CisgICAgICAgICAgICByYWlzZSB1bml0dGVzdC5Ta2lwVGVzdCgicmVxdWlyZXMgTVNWQyA4LjAgb3IgbGF0ZXIiKQorCisgICAgICAgIGZyb20gcGFja2FnaW5nLmNvbXBpbGVyLm1zdmM5Y29tcGlsZXIgaW1wb3J0IFJlZworICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhLZXlFcnJvciwgUmVnLmdldF92YWx1ZSwgJ3h4eCcsICd4eHgnKQorCisgICAgICAgICMgbG9va2luZyBmb3IgdmFsdWVzIHRoYXQgc2hvdWxkIGV4aXN0IG9uIGFsbAorICAgICAgICAjIHdpbmRvd3MgcmVnaXN0ZXJpZXMgdmVyc2lvbnMuCisgICAgICAgIHBhdGggPSByJ0NvbnRyb2wgUGFuZWxcRGVza3RvcCcKKyAgICAgICAgdiA9IFJlZy5nZXRfdmFsdWUocGF0aCwgJ2RyYWdmdWxsd2luZG93cycpCisgICAgICAgIHNlbGYuYXNzZXJ0SW4odiwgKCcwJywgJzEnLCAnMicpKQorCisgICAgICAgIGltcG9ydCB3aW5yZWcKKyAgICAgICAgSEtDVSA9IHdpbnJlZy5IS0VZX0NVUlJFTlRfVVNFUgorICAgICAgICBrZXlzID0gUmVnLnJlYWRfa2V5cyhIS0NVLCAneHh4eCcpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoa2V5cywgTm9uZSkKKworICAgICAgICBrZXlzID0gUmVnLnJlYWRfa2V5cyhIS0NVLCByJ0NvbnRyb2wgUGFuZWwnKQorICAgICAgICBzZWxmLmFzc2VydEluKCdEZXNrdG9wJywga2V5cykKKworICAgIEB1bml0dGVzdC5za2lwVW5sZXNzKHN5cy5wbGF0Zm9ybSA9PSAid2luMzIiLCAicnVucyBvbmx5IG9uIHdpbjMyIikKKyAgICBkZWYgdGVzdF9yZW1vdmVfdmlzdWFsX2NfcmVmKHNlbGYpOgorICAgICAgICBmcm9tIHBhY2thZ2luZy5jb21waWxlci5tc3ZjY29tcGlsZXIgaW1wb3J0IGdldF9idWlsZF92ZXJzaW9uCisgICAgICAgIGlmIGdldF9idWlsZF92ZXJzaW9uKCkgPCA4LjA6CisgICAgICAgICAgICByYWlzZSB1bml0dGVzdC5Ta2lwVGVzdCgicmVxdWlyZXMgTVNWQyA4LjAgb3IgbGF0ZXIiKQorCisgICAgICAgIGZyb20gcGFja2FnaW5nLmNvbXBpbGVyLm1zdmM5Y29tcGlsZXIgaW1wb3J0IE1TVkNDb21waWxlcgorICAgICAgICB0ZW1wZGlyID0gc2VsZi5ta2R0ZW1wKCkKKyAgICAgICAgbWFuaWZlc3QgPSBvcy5wYXRoLmpvaW4odGVtcGRpciwgJ21hbmlmZXN0JykKKyAgICAgICAgd2l0aCBvcGVuKG1hbmlmZXN0LCAndycpIGFzIGY6CisgICAgICAgICAgICBmLndyaXRlKF9NQU5JRkVTVCkKKworICAgICAgICBjb21waWxlciA9IE1TVkNDb21waWxlcigpCisgICAgICAgIGNvbXBpbGVyLl9yZW1vdmVfdmlzdWFsX2NfcmVmKG1hbmlmZXN0KQorCisgICAgICAgICMgc2VlIHdoYXQgd2UgZ290CisgICAgICAgIHdpdGggb3BlbihtYW5pZmVzdCkgYXMgZjoKKyAgICAgICAgICAgICMgcmVtb3ZpbmcgdHJhaWxpbmcgc3BhY2VzCisgICAgICAgICAgICBjb250ZW50ID0gJ1xuJy5qb2luKGxpbmUucnN0cmlwKCkgZm9yIGxpbmUgaW4gZi5yZWFkbGluZXMoKSkKKworICAgICAgICAjIG1ha2VzIHN1cmUgdGhlIG1hbmlmZXN0IHdhcyBwcm9wZXJseSBjbGVhbmVkCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY29udGVudCwgX0NMRUFORURfTUFOSUZFU1QpCisKKworZGVmIHRlc3Rfc3VpdGUoKToKKyAgICByZXR1cm4gdW5pdHRlc3QubWFrZVN1aXRlKG1zdmM5Y29tcGlsZXJUZXN0Q2FzZSkKKworaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKKyAgICB1bml0dGVzdC5tYWluKGRlZmF1bHRUZXN0PSJ0ZXN0X3N1aXRlIikKZGlmZiAtLWdpdCBhL0xpYi9wYWNrYWdpbmcvdGVzdHMvdGVzdF9weXBpX2Rpc3QucHkgYi9MaWIvcGFja2FnaW5nL3Rlc3RzL3Rlc3RfcHlwaV9kaXN0LnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQzYzhjYmUKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvcGFja2FnaW5nL3Rlc3RzL3Rlc3RfcHlwaV9kaXN0LnB5CkBAIC0wLDAgKzEsMjg3IEBACisiIiJUZXN0cyBmb3IgdGhlIHBhY2thZ2luZy5weXBpLmRpc3QgbW9kdWxlLiIiIgorCitpbXBvcnQgb3MKK2ltcG9ydCBzaHV0aWwKK2Zyb20gcGFja2FnaW5nLnZlcnNpb24gaW1wb3J0IFZlcnNpb25QcmVkaWNhdGUKK2Zyb20gcGFja2FnaW5nLnB5cGkuZGlzdCBpbXBvcnQgKFJlbGVhc2VJbmZvLCBSZWxlYXNlc0xpc3QsIERpc3RJbmZvLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3BsaXRfYXJjaGl2ZV9uYW1lLCBnZXRfaW5mb3NfZnJvbV91cmwpCitmcm9tIHBhY2thZ2luZy5weXBpLmVycm9ycyBpbXBvcnQgSGFzaERvZXNOb3RNYXRjaCwgVW5zdXBwb3J0ZWRIYXNoTmFtZQorCitmcm9tIHBhY2thZ2luZy50ZXN0cyBpbXBvcnQgdW5pdHRlc3QKK2Zyb20gcGFja2FnaW5nLnRlc3RzLnN1cHBvcnQgaW1wb3J0IFRlbXBkaXJNYW5hZ2VyLCByZXF1aXJlc196bGliLCBmYWtlX2RlYwordHJ5OgorICAgIGltcG9ydCB0aHJlYWRpbmcKKyAgICBmcm9tIHBhY2thZ2luZy50ZXN0cy5weXBpX3NlcnZlciBpbXBvcnQgdXNlX3B5cGlfc2VydmVyCitleGNlcHQgSW1wb3J0RXJyb3I6CisgICAgdGhyZWFkaW5nID0gTm9uZQorICAgIHVzZV9weXBpX3NlcnZlciA9IGZha2VfZGVjCisKKworZGVmIERpc3QoKmFyZ3MsICoqa3dhcmdzKToKKyAgICAjIERpc3RJbmZvIHRha2VzIGEgcmVsZWFzZSBhcyBhIGZpcnN0IHBhcmFtZXRlciwgYXZvaWQgdGhpcyBpbiB0ZXN0cy4KKyAgICByZXR1cm4gRGlzdEluZm8oTm9uZSwgKmFyZ3MsICoqa3dhcmdzKQorCisKK2NsYXNzIFRlc3RSZWxlYXNlSW5mbyh1bml0dGVzdC5UZXN0Q2FzZSk6CisKKyAgICBkZWYgdGVzdF9pbnN0YW50aWF0aW9uKHNlbGYpOgorICAgICAgICAjIFRlc3QgdGhlIERpc3RJbmZvIGNsYXNzIHByb3ZpZGVzIHVzIHRoZSBnb29kIGF0dHJpYnV0ZXMgd2hlbgorICAgICAgICAjIGdpdmVuIG9uIGNvbnN0cnVjdGlvbgorICAgICAgICByZWxlYXNlID0gUmVsZWFzZUluZm8oIkZvb0JhciIsICIxLjEiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCJGb29CYXIiLCByZWxlYXNlLm5hbWUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoIjEuMSIsICIlcyIgJSByZWxlYXNlLnZlcnNpb24pCisKKyAgICBkZWYgdGVzdF9hZGRfZGlzdChzZWxmKToKKyAgICAgICAgIyBlbXB0eSBkaXN0cmlidXRpb24gdHlwZSBzaG91bGQgYXNzdW1lICJzZGlzdCIKKyAgICAgICAgcmVsZWFzZSA9IFJlbGVhc2VJbmZvKCJGb29CYXIiLCAiMS4xIikKKyAgICAgICAgcmVsZWFzZS5hZGRfZGlzdHJpYnV0aW9uKHVybD0iaHR0cDovL2V4YW1wbGUub3JnLyIpCisgICAgICAgICMgc2hvdWxkIG5vdCBmYWlsCisgICAgICAgIHJlbGVhc2VbJ3NkaXN0J10KKworICAgIGRlZiB0ZXN0X2dldF91bmtub3duX2Rpc3RyaWJ1dGlvbihzZWxmKToKKyAgICAgICAgIyBzaG91bGQgcmFpc2UgYSBLZXlFcnJvcgorICAgICAgICBwYXNzCisKKyAgICBkZWYgdGVzdF9nZXRfaW5mb3NfZnJvbV91cmwoc2VsZik6CisgICAgICAgICMgVGVzdCB0aGF0IHRoZSB0aGUgVVJMcyBhcmUgcGFyc2VkIHRoZSByaWdodCB3YXkKKyAgICAgICAgdXJsX2xpc3QgPSB7CisgICAgICAgICAgICAnRm9vQmFyLTEuMS4wLnRhci5neic6IHsKKyAgICAgICAgICAgICAgICAnbmFtZSc6ICdmb29iYXInLCAgIyBsb3dlcmNhc2UgdGhlIG5hbWUKKyAgICAgICAgICAgICAgICAndmVyc2lvbic6ICcxLjEuMCcsCisgICAgICAgICAgICB9LAorICAgICAgICAgICAgJ0Zvby1CYXItMS4xLjAuemlwJzogeworICAgICAgICAgICAgICAgICduYW1lJzogJ2Zvby1iYXInLCAgIyBrZWVwIHRoZSBkYXNoCisgICAgICAgICAgICAgICAgJ3ZlcnNpb24nOiAnMS4xLjAnLAorICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICdmb29iYXItMS4xYjIudGFyLmd6I21kNT0xMjMxMjMxMjMxMjMxMjMnOiB7CisgICAgICAgICAgICAgICAgJ25hbWUnOiAnZm9vYmFyJywKKyAgICAgICAgICAgICAgICAndmVyc2lvbic6ICcxLjFiMicsCisgICAgICAgICAgICAgICAgJ3VybCc6ICdodHRwOi8vZXhhbXBsZS5vcmcvZm9vYmFyLTEuMWIyLnRhci5neicsICAjIG5vIGhhc2gKKyAgICAgICAgICAgICAgICAnaGFzaHZhbCc6ICcxMjMxMjMxMjMxMjMxMjMnLAorICAgICAgICAgICAgICAgICdoYXNobmFtZSc6ICdtZDUnLAorICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICdmb29iYXItMS4xLXJjMi50YXIuZ3onOiB7ICAjIHVzZSBzdWdnZXN0ZWQgbmFtZQorICAgICAgICAgICAgICAgICduYW1lJzogJ2Zvb2JhcicsCisgICAgICAgICAgICAgICAgJ3ZlcnNpb24nOiAnMS4xYzInLAorICAgICAgICAgICAgICAgICd1cmwnOiAnaHR0cDovL2V4YW1wbGUub3JnL2Zvb2Jhci0xLjEtcmMyLnRhci5neicsCisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICBmb3IgdXJsLCBhdHRyaWJ1dGVzIGluIHVybF9saXN0Lml0ZW1zKCk6CisgICAgICAgICAgICAjIGZvciBlYWNoIHVybAorICAgICAgICAgICAgaW5mb3MgPSBnZXRfaW5mb3NfZnJvbV91cmwoImh0dHA6Ly9leGFtcGxlLm9yZy8iICsgdXJsKQorICAgICAgICAgICAgZm9yIGF0dHJpYnV0ZSwgZXhwZWN0ZWQgaW4gYXR0cmlidXRlcy5pdGVtcygpOgorICAgICAgICAgICAgICAgIGdvdCA9IGluZm9zLmdldChhdHRyaWJ1dGUpCisgICAgICAgICAgICAgICAgaWYgYXR0cmlidXRlID09ICJ2ZXJzaW9uIjoKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgiJXMiICUgZ290LCBleHBlY3RlZCkKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGdvdCwgZXhwZWN0ZWQpCisKKyAgICBkZWYgdGVzdF9zcGxpdF9hcmNoaXZlX25hbWUoc2VsZik6CisgICAgICAgICMgVGVzdCB3ZSBjYW4gc3BsaXQgdGhlIGFyY2hpdmUgbmFtZXMKKyAgICAgICAgbmFtZXMgPSB7CisgICAgICAgICAgICAnZm9vLWJhci1iYXotMS4wLXJjMic6ICgnZm9vLWJhci1iYXonLCAnMS4wYzInKSwKKyAgICAgICAgICAgICdmb28tYmFyLWJhei0xLjAnOiAoJ2Zvby1iYXItYmF6JywgJzEuMCcpLAorICAgICAgICAgICAgJ2Zvb2JhcmJhei0xLjAnOiAoJ2Zvb2JhcmJheicsICcxLjAnKSwKKyAgICAgICAgfQorICAgICAgICBmb3IgbmFtZSwgcmVzdWx0cyBpbiBuYW1lcy5pdGVtcygpOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXN1bHRzLCBzcGxpdF9hcmNoaXZlX25hbWUobmFtZSkpCisKKworY2xhc3MgVGVzdERpc3RJbmZvKFRlbXBkaXJNYW5hZ2VyLCB1bml0dGVzdC5UZXN0Q2FzZSk6CisgICAgc3JjcGF0aCA9ICIvcGFja2FnZXMvc291cmNlL2YvZm9vYmFyL2Zvb2Jhci0wLjEudGFyLmd6IgorCisgICAgZGVmIHRlc3RfZ2V0X3VybChzZWxmKToKKyAgICAgICAgIyBUZXN0IHRoYXQgdGhlIHVybCBwcm9wZXJ0eSB3b3JrcyB3ZWxsCisKKyAgICAgICAgZCA9IERpc3QodXJsPSJ0ZXN0X3VybCIpCisgICAgICAgIHNlbGYuYXNzZXJ0RGljdEVxdWFsKGQudXJsLCB7CisgICAgICAgICAgICAidXJsIjogInRlc3RfdXJsIiwKKyAgICAgICAgICAgICJpc19leHRlcm5hbCI6IFRydWUsCisgICAgICAgICAgICAiaGFzaG5hbWUiOiBOb25lLAorICAgICAgICAgICAgImhhc2h2YWwiOiBOb25lLAorICAgICAgICB9KQorCisgICAgICAgICMgYWRkIGEgbmV3IHVybAorICAgICAgICBkLmFkZF91cmwodXJsPSJpbnRlcm5hbF91cmwiLCBpc19leHRlcm5hbD1GYWxzZSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkLl91cmwsIE5vbmUpCisgICAgICAgIHNlbGYuYXNzZXJ0RGljdEVxdWFsKGQudXJsLCB7CisgICAgICAgICAgICAidXJsIjogImludGVybmFsX3VybCIsCisgICAgICAgICAgICAiaXNfZXh0ZXJuYWwiOiBGYWxzZSwKKyAgICAgICAgICAgICJoYXNobmFtZSI6IE5vbmUsCisgICAgICAgICAgICAiaGFzaHZhbCI6IE5vbmUsCisgICAgICAgIH0pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoMiwgbGVuKGQudXJscykpCisKKyAgICBkZWYgdGVzdF9jb21wYXJpc29uKHNlbGYpOgorICAgICAgICAjIFRlc3QgdGhhdCB3ZSBjYW4gY29tcGFyZSBEaXN0SW5mb3JpYnV0aW9uSW5mb0xpc3QKKyAgICAgICAgZm9vMSA9IFJlbGVhc2VJbmZvKCJmb28iLCAiMS4wIikKKyAgICAgICAgZm9vMiA9IFJlbGVhc2VJbmZvKCJmb28iLCAiMi4wIikKKyAgICAgICAgYmFyID0gUmVsZWFzZUluZm8oImJhciIsICIyLjAiKQorICAgICAgICAjIGFzc2VydCB3ZSB1c2UgdGhlIHZlcnNpb24gdG8gY29tcGFyZQorICAgICAgICBzZWxmLmFzc2VydFRydWUoZm9vMSA8IGZvbzIpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoZm9vMSA+IGZvbzIpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoZm9vMSA9PSBmb28yKQorCisgICAgICAgICMgYXNzZXJ0IHdlIGNhbid0IGNvbXBhcmUgZGlzdHMgd2l0aCBkaWZmZXJlbnQgbmFtZXMKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBmb28xLl9fZXFfXywgYmFyKQorCisgICAgQHVuaXR0ZXN0LnNraXBJZih0aHJlYWRpbmcgaXMgTm9uZSwgJ25lZWRzIHRocmVhZGluZycpCisgICAgQHVzZV9weXBpX3NlcnZlcigiZG93bmxvYWRzX3dpdGhfbWQ1IikKKyAgICBkZWYgdGVzdF9kb3dubG9hZChzZWxmLCBzZXJ2ZXIpOgorICAgICAgICAjIERvd25sb2FkIGlzIHBvc3NpYmxlLCBhbmQgdGhlIG1kNSBpcyBjaGVja2VkIGlmIGdpdmVuCisKKyAgICAgICAgdXJsID0gc2VydmVyLmZ1bGxfYWRkcmVzcyArIHNlbGYuc3JjcGF0aAorCisgICAgICAgICMgY2hlY2sgdGhhdCBhIG1kNSBpZiBnaXZlbgorICAgICAgICBkaXN0ID0gRGlzdCh1cmw9dXJsLCBoYXNobmFtZT0ibWQ1IiwKKyAgICAgICAgICAgICAgICAgICAgaGFzaHZhbD0iZmUxODgwNGM1YjcyMmZmMDI0Y2FiZGY1MTQ5MjRmYzQiKQorICAgICAgICBkaXN0LmRvd25sb2FkKHNlbGYubWtkdGVtcCgpKQorCisgICAgICAgICMgYSB3cm9uZyBtZDUgZmFpbHMKKyAgICAgICAgZGlzdDIgPSBEaXN0KHVybD11cmwsIGhhc2huYW1lPSJtZDUiLCBoYXNodmFsPSJ3cm9uZ21kNSIpCisKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoSGFzaERvZXNOb3RNYXRjaCwgZGlzdDIuZG93bmxvYWQsIHNlbGYubWtkdGVtcCgpKQorCisgICAgICAgICMgd2UgY2FuIG9taXQgdGhlIG1kNSBoYXNoCisgICAgICAgIGRpc3QzID0gRGlzdCh1cmw9dXJsKQorICAgICAgICBkaXN0My5kb3dubG9hZChzZWxmLm1rZHRlbXAoKSkKKworICAgICAgICAjIGFuZCBzcGVjaWZ5IGEgdGVtcG9yYXJ5IGxvY2F0aW9uCisgICAgICAgICMgZm9yIGFuIGFscmVhZHkgZG93bmxvYWRlZCBkaXN0CisgICAgICAgIHBhdGgxID0gc2VsZi5ta2R0ZW1wKCkKKyAgICAgICAgZGlzdDMuZG93bmxvYWQocGF0aD1wYXRoMSkKKyAgICAgICAgIyBhbmQgZm9yIGEgbmV3IG9uZQorICAgICAgICBwYXRoMl9iYXNlID0gc2VsZi5ta2R0ZW1wKCkKKyAgICAgICAgZGlzdDQgPSBEaXN0KHVybD11cmwpCisgICAgICAgIHBhdGgyID0gZGlzdDQuZG93bmxvYWQocGF0aD1wYXRoMl9iYXNlKQorICAgICAgICBzZWxmLmFzc2VydEluKHBhdGgyX2Jhc2UsIHBhdGgyKQorCisgICAgZGVmIHRlc3RfaGFzaG5hbWUoc2VsZik6CisgICAgICAgICMgSW52YWxpZCBoYXNobmFtZXMgcmFpc2VzIGFuIGV4Y2VwdGlvbiBvbiBhc3NpZ25hdGlvbgorICAgICAgICBEaXN0KGhhc2huYW1lPSJtZDUiLCBoYXNodmFsPSJ2YWx1ZSIpCisKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVW5zdXBwb3J0ZWRIYXNoTmFtZSwgRGlzdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaGFzaG5hbWU9ImludmFsaWRfaGFzaG5hbWUiLAorICAgICAgICAgICAgICAgICAgICAgICAgICBoYXNodmFsPSJ2YWx1ZSIpCisKKyAgICBAdW5pdHRlc3Quc2tpcElmKHRocmVhZGluZyBpcyBOb25lLCAnbmVlZHMgdGhyZWFkaW5nJykKKyAgICBAcmVxdWlyZXNfemxpYgorICAgIEB1c2VfcHlwaV9zZXJ2ZXIoJ2Rvd25sb2Fkc193aXRoX21kNScpCisgICAgZGVmIHRlc3RfdW5wYWNrKHNlbGYsIHNlcnZlcik6CisgICAgICAgIHVybCA9IHNlcnZlci5mdWxsX2FkZHJlc3MgKyBzZWxmLnNyY3BhdGgKKyAgICAgICAgZGlzdDEgPSBEaXN0KHVybD11cmwpCisKKyAgICAgICAgIyB1bnBhY2sgdGhlIGRpc3RyaWJ1dGlvbiBpbiBhIHNwZWNmaWVkIGZvbGRlcgorICAgICAgICBkaXN0MV9oZXJlID0gc2VsZi5ta2R0ZW1wKCkKKyAgICAgICAgZGlzdDFfdGhlcmUgPSBkaXN0MS51bnBhY2socGF0aD1kaXN0MV9oZXJlKQorCisgICAgICAgICMgYXNzZXJ0IHdlIHVucGFjayB0byB0aGUgcGF0aCBwcm92aWRlZAorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRpc3QxX2hlcmUsIGRpc3QxX3RoZXJlKQorICAgICAgICBkaXN0MV9yZXN1bHQgPSBvcy5saXN0ZGlyKGRpc3QxX3RoZXJlKQorICAgICAgICBzZWxmLmFzc2VydEluKCdwYWYnLCBkaXN0MV9yZXN1bHQpCisgICAgICAgIG9zLnJlbW92ZShvcy5wYXRoLmpvaW4oZGlzdDFfdGhlcmUsICdwYWYnKSkKKworICAgICAgICAjIFRlc3QgdW5wYWNrIHdvcmtzIHdpdGhvdXQgYSBwYXRoIGFyZ3VtZW50CisgICAgICAgIGRpc3QyID0gRGlzdCh1cmw9dXJsKQorICAgICAgICAjIGRvaW5nIGFuIHVucGFjaworICAgICAgICBkaXN0Ml90aGVyZSA9IGRpc3QyLnVucGFjaygpCisgICAgICAgIHNlbGYuYWRkQ2xlYW51cChzaHV0aWwucm10cmVlLCBkaXN0Ml90aGVyZSkKKyAgICAgICAgZGlzdDJfcmVzdWx0ID0gb3MubGlzdGRpcihkaXN0Ml90aGVyZSkKKyAgICAgICAgc2VsZi5hc3NlcnRJbigncGFmJywgZGlzdDJfcmVzdWx0KQorICAgICAgICBvcy5yZW1vdmUob3MucGF0aC5qb2luKGRpc3QyX3RoZXJlLCAncGFmJykpCisKKworY2xhc3MgVGVzdFJlbGVhc2VzTGlzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CisKKyAgICBkZWYgdGVzdF9maWx0ZXIoc2VsZik6CisgICAgICAgICMgVGVzdCB3ZSBmaWx0ZXIgdGhlIGRpc3RyaWJ1dGlvbnMgdGhlIHJpZ2h0IHdheSwgdXNpbmcgdmVyc2lvbgorICAgICAgICAjIHByZWRpY2F0ZSBtYXRjaCBtZXRob2QKKyAgICAgICAgcmVsZWFzZXMgPSBSZWxlYXNlc0xpc3QoJ0Zvb0JhcicsICgKKyAgICAgICAgICAgIFJlbGVhc2VJbmZvKCJGb29CYXIiLCAiMS4xIiksCisgICAgICAgICAgICBSZWxlYXNlSW5mbygiRm9vQmFyIiwgIjEuMS4xIiksCisgICAgICAgICAgICBSZWxlYXNlSW5mbygiRm9vQmFyIiwgIjEuMiIpLAorICAgICAgICAgICAgUmVsZWFzZUluZm8oIkZvb0JhciIsICIxLjIuMSIpLAorICAgICAgICApKQorICAgICAgICBmaWx0ZXJlZCA9IHJlbGVhc2VzLmZpbHRlcihWZXJzaW9uUHJlZGljYXRlKCJGb29CYXIgKDwxLjIpIikpCisgICAgICAgIHNlbGYuYXNzZXJ0Tm90SW4ocmVsZWFzZXNbMl0sIGZpbHRlcmVkKQorICAgICAgICBzZWxmLmFzc2VydE5vdEluKHJlbGVhc2VzWzNdLCBmaWx0ZXJlZCkKKyAgICAgICAgc2VsZi5hc3NlcnRJbihyZWxlYXNlc1swXSwgZmlsdGVyZWQpCisgICAgICAgIHNlbGYuYXNzZXJ0SW4ocmVsZWFzZXNbMV0sIGZpbHRlcmVkKQorCisgICAgZGVmIHRlc3RfYXBwZW5kKHNlbGYpOgorICAgICAgICAjIFdoZW4gYWRkaW5nIGEgbmV3IGl0ZW0gdG8gdGhlIGxpc3QsIHRoZSBiZWhhdmlvciBpcyB0byB0ZXN0IGlmCisgICAgICAgICMgYSByZWxlYXNlIHdpdGggdGhlIHNhbWUgbmFtZSBhbmQgdmVyc2lvbiBudW1iZXIgYWxyZWFkeSBleGlzdHMsCisgICAgICAgICMgYW5kIGlmIHNvLCB0byBhZGQgYSBuZXcgZGlzdHJpYnV0aW9uIGZvciBpdC4gSWYgdGhlIGRpc3RyaWJ1dGlvbiB0eXBlCisgICAgICAgICMgaXMgYWxyZWFkeSBkZWZpbmVkIHRvbywgYWRkIHVybCBpbmZvcm1hdGlvbnMgdG8gdGhlIGV4aXN0aW5nIERpc3RJbmZvCisgICAgICAgICMgb2JqZWN0LgorCisgICAgICAgIHJlbGVhc2VzID0gUmVsZWFzZXNMaXN0KCJGb29CYXIiLCBbCisgICAgICAgICAgICBSZWxlYXNlSW5mbygiRm9vQmFyIiwgIjEuMSIsIHVybD0iZXh0ZXJuYWxfdXJsIiwKKyAgICAgICAgICAgICAgICAgICAgICAgIGRpc3RfdHlwZT0ic2Rpc3QiKSwKKyAgICAgICAgXSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgxLCBsZW4ocmVsZWFzZXMpKQorICAgICAgICByZWxlYXNlcy5hZGRfcmVsZWFzZShyZWxlYXNlPVJlbGVhc2VJbmZvKCJGb29CYXIiLCAiMS4xIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw9ImludGVybmFsX3VybCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNfZXh0ZXJuYWw9RmFsc2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzdF90eXBlPSJzZGlzdCIpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKDEsIGxlbihyZWxlYXNlcykpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoMiwgbGVuKHJlbGVhc2VzWzBdWydzZGlzdCddLnVybHMpKQorCisgICAgICAgIHJlbGVhc2VzLmFkZF9yZWxlYXNlKHJlbGVhc2U9UmVsZWFzZUluZm8oIkZvb0JhciIsICIxLjEuMSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzdF90eXBlPSJzZGlzdCIpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKDIsIGxlbihyZWxlYXNlcykpCisKKyAgICAgICAgIyB3aGVuIGFkZGluZyBhIGRpc3RyaWJ1dGlvbiB3aGl0aCBhIGRpZmZlcmVudCB0eXBlLCBhIG5ldyBkaXN0cmlidXRpb24KKyAgICAgICAgIyBoYXMgdG8gYmUgYWRkZWQuCisgICAgICAgIHJlbGVhc2VzLmFkZF9yZWxlYXNlKHJlbGVhc2U9UmVsZWFzZUluZm8oIkZvb0JhciIsICIxLjEuMSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzdF90eXBlPSJiZGlzdCIpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKDIsIGxlbihyZWxlYXNlcykpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoMiwgbGVuKHJlbGVhc2VzWzFdLmRpc3RzKSkKKworICAgIGRlZiB0ZXN0X3ByZWZlcl9maW5hbChzZWxmKToKKyAgICAgICAgIyBDYW4gb3JkZXIgdGhlIGRpc3RyaWJ1dGlvbnMgdXNpbmcgcHJlZmVyX2ZpbmFsCisgICAgICAgIGZiMTAgPSBSZWxlYXNlSW5mbygiRm9vQmFyIiwgIjEuMCIpICAjIGZpbmFsIGRpc3RyaWJ1dGlvbgorICAgICAgICBmYjExYSA9IFJlbGVhc2VJbmZvKCJGb29CYXIiLCAiMS4xYTEiKSAgIyBhbHBoYQorICAgICAgICBmYjEyYSA9IFJlbGVhc2VJbmZvKCJGb29CYXIiLCAiMS4yYTEiKSAgIyBhbHBoYQorICAgICAgICBmYjEyYiA9IFJlbGVhc2VJbmZvKCJGb29CYXIiLCAiMS4yYjEiKSAgIyBiZXRhCisgICAgICAgIGRpc3RzID0gUmVsZWFzZXNMaXN0KCJGb29CYXIiLCBbZmIxMCwgZmIxMWEsIGZiMTJhLCBmYjEyYl0pCisKKyAgICAgICAgZGlzdHMuc29ydF9yZWxlYXNlcyhwcmVmZXJfZmluYWw9VHJ1ZSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmYjEwLCBkaXN0c1swXSkKKworICAgICAgICBkaXN0cy5zb3J0X3JlbGVhc2VzKHByZWZlcl9maW5hbD1GYWxzZSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmYjEyYiwgZGlzdHNbMF0pCisKKyAgICBAdW5pdHRlc3Quc2tpcCgnbWV0aG9kIG5vdCBpbXBsZW1lbnRlZCB5ZXQnKQorICAgIGRlZiB0ZXN0X3ByZWZlcl9zb3VyY2Uoc2VsZik6CisgICAgICAgICMgT3JkZXJpbmcgc3VwcG9ydHMgcHJlZmVyX3NvdXJjZQorICAgICAgICBmYl9zb3VyY2UgPSBEaXN0KCJGb29CYXIiLCAiMS4wIiwgdHlwZT0ic291cmNlIikKKyAgICAgICAgZmJfYmluYXJ5ID0gRGlzdCgiRm9vQmFyIiwgIjEuMCIsIHR5cGU9ImJpbmFyeSIpCisgICAgICAgIGZiMl9iaW5hcnkgPSBEaXN0KCJGb29CYXIiLCAiMi4wIiwgdHlwZT0iYmluYXJ5IikKKyAgICAgICAgZGlzdHMgPSBSZWxlYXNlc0xpc3QoW2ZiX2JpbmFyeSwgZmJfc291cmNlXSkKKworICAgICAgICBkaXN0cy5zb3J0X2Rpc3RyaWJ1dGlvbnMocHJlZmVyX3NvdXJjZT1UcnVlKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGZiX3NvdXJjZSwgZGlzdHNbMF0pCisKKyAgICAgICAgZGlzdHMuc29ydF9kaXN0cmlidXRpb25zKHByZWZlcl9zb3VyY2U9RmFsc2UpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZmJfYmluYXJ5LCBkaXN0c1swXSkKKworICAgICAgICBkaXN0cy5hcHBlbmQoZmIyX2JpbmFyeSkKKyAgICAgICAgZGlzdHMuc29ydF9kaXN0cmlidXRpb25zKHByZWZlcl9zb3VyY2U9VHJ1ZSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmYjJfYmluYXJ5LCBkaXN0c1swXSkKKworICAgIGRlZiB0ZXN0X2dldF9sYXN0KHNlbGYpOgorICAgICAgICBkaXN0cyA9IFJlbGVhc2VzTGlzdCgnRm9vJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkaXN0cy5nZXRfbGFzdCgnRm9vIDEuMCcpLCBOb25lKQorCisKK2RlZiB0ZXN0X3N1aXRlKCk6CisgICAgc3VpdGUgPSB1bml0dGVzdC5UZXN0U3VpdGUoKQorICAgIHN1aXRlLmFkZFRlc3QodW5pdHRlc3QubWFrZVN1aXRlKFRlc3REaXN0SW5mbykpCisgICAgc3VpdGUuYWRkVGVzdCh1bml0dGVzdC5tYWtlU3VpdGUoVGVzdFJlbGVhc2VJbmZvKSkKKyAgICBzdWl0ZS5hZGRUZXN0KHVuaXR0ZXN0Lm1ha2VTdWl0ZShUZXN0UmVsZWFzZXNMaXN0KSkKKyAgICByZXR1cm4gc3VpdGUKKworaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKKyAgICB1bml0dGVzdC5tYWluKGRlZmF1bHRUZXN0PSd0ZXN0X3N1aXRlJykKZGlmZiAtLWdpdCBhL0xpYi9wYWNrYWdpbmcvdGVzdHMvdGVzdF9weXBpX3NlcnZlci5weSBiL0xpYi9wYWNrYWdpbmcvdGVzdHMvdGVzdF9weXBpX3NlcnZlci5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNTdjNDk0Ci0tLSAvZGV2L251bGwKKysrIGIvTGliL3BhY2thZ2luZy90ZXN0cy90ZXN0X3B5cGlfc2VydmVyLnB5CkBAIC0wLDAgKzEsODggQEAKKyIiIlRlc3RzIGZvciBwYWNrYWdpbmcuY29tbWFuZC5iZGlzdC4iIiIKK2ltcG9ydCB1cmxsaWIucmVxdWVzdAoraW1wb3J0IHVybGxpYi5wYXJzZQoraW1wb3J0IHVybGxpYi5lcnJvcgorCit0cnk6CisgICAgaW1wb3J0IHRocmVhZGluZworICAgIGZyb20gcGFja2FnaW5nLnRlc3RzLnB5cGlfc2VydmVyIGltcG9ydCAoCisgICAgICAgIFB5UElTZXJ2ZXIsIFBZUElfREVGQVVMVF9TVEFUSUNfUEFUSCkKK2V4Y2VwdCBJbXBvcnRFcnJvcjoKKyAgICB0aHJlYWRpbmcgPSBOb25lCisgICAgUHlQSVNlcnZlciA9IE5vbmUKKyAgICBQWVBJX0RFRkFVTFRfU1RBVElDX1BBVEggPSBOb25lCisKK2Zyb20gcGFja2FnaW5nLnRlc3RzIGltcG9ydCB1bml0dGVzdAorCisKK0B1bml0dGVzdC5za2lwSWYodGhyZWFkaW5nIGlzIE5vbmUsICJOZWVkcyB0aHJlYWRpbmciKQorY2xhc3MgUHlQSVNlcnZlclRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgorCisgICAgZGVmIHRlc3RfcmVjb3Jkc19yZXF1ZXN0cyhzZWxmKToKKyAgICAgICAgIyBXZSBleHBlY3QgdGhhdCBQeVBJU2VydmVyIGNhbiBsb2cgb3VyIHJlcXVlc3RzCisgICAgICAgIHNlcnZlciA9IFB5UElTZXJ2ZXIoKQorICAgICAgICBzZXJ2ZXIuZGVmYXVsdF9yZXNwb25zZV9zdGF0dXMgPSAyMDAKKworICAgICAgICB0cnk6CisgICAgICAgICAgICBzZXJ2ZXIuc3RhcnQoKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oc2VydmVyLnJlcXVlc3RzKSwgMCkKKworICAgICAgICAgICAgZGF0YSA9IGInUm9jayBBcm91bmQgVGhlIEJ1bmtlcicKKworICAgICAgICAgICAgaGVhZGVycyA9IHsiWC10ZXN0LWhlYWRlciI6ICJNaXN0ZXIgSWNlYmVyZyJ9CisKKyAgICAgICAgICAgIHJlcXVlc3QgPSB1cmxsaWIucmVxdWVzdC5SZXF1ZXN0KAorICAgICAgICAgICAgICAgIHNlcnZlci5mdWxsX2FkZHJlc3MsIGRhdGEsIGhlYWRlcnMpCisgICAgICAgICAgICB1cmxsaWIucmVxdWVzdC51cmxvcGVuKHJlcXVlc3QpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihzZXJ2ZXIucmVxdWVzdHMpLCAxKQorICAgICAgICAgICAgaGFuZGxlciwgcmVxdWVzdF9kYXRhID0gc2VydmVyLnJlcXVlc3RzWy0xXQorICAgICAgICAgICAgc2VsZi5hc3NlcnRJbihkYXRhLCByZXF1ZXN0X2RhdGEpCisgICAgICAgICAgICBzZWxmLmFzc2VydEluKCJ4LXRlc3QtaGVhZGVyIiwgaGFuZGxlci5oZWFkZXJzKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChoYW5kbGVyLmhlYWRlcnNbIngtdGVzdC1oZWFkZXIiXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk1pc3RlciBJY2ViZXJnIikKKworICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgc2VydmVyLnN0b3AoKQorCisgICAgZGVmIHRlc3Rfc2VydmVfc3RhdGljX2NvbnRlbnQoc2VsZik6CisgICAgICAgICMgUFlQSSBNb2NrZWQgc2VydmVyIGNhbiBzZXJ2ZSBzdGF0aWMgY29udGVudCBmcm9tIGRpc2suCisKKyAgICAgICAgZGVmIHVzZXNfbG9jYWxfZmlsZXNfZm9yKHNlcnZlciwgdXJsX3BhdGgpOgorICAgICAgICAgICAgIiIiVGVzdCB0aGF0IGZpbGVzIGFyZSBzZXJ2ZWQgc3RhdGljYWxseSAoZWcuIHRoZSBvdXRwdXQgZnJvbSB0aGUKKyAgICAgICAgICAgIHNlcnZlciBpcyB0aGUgc2FtZSB0aGFuIHRoZSBvbmUgbWFkZSBieSBhIHNpbXBsZSBmaWxlIHJlYWQuCisgICAgICAgICAgICAiIiIKKyAgICAgICAgICAgIHVybCA9IHNlcnZlci5mdWxsX2FkZHJlc3MgKyB1cmxfcGF0aAorICAgICAgICAgICAgcmVxdWVzdCA9IHVybGxpYi5yZXF1ZXN0LlJlcXVlc3QodXJsKQorICAgICAgICAgICAgcmVzcG9uc2UgPSB1cmxsaWIucmVxdWVzdC51cmxvcGVuKHJlcXVlc3QpCisgICAgICAgICAgICB3aXRoIG9wZW4oUFlQSV9ERUZBVUxUX1NUQVRJQ19QQVRIICsgIi90ZXN0X3B5cGlfc2VydmVyIgorICAgICAgICAgICAgICAgICAgICAgICsgdXJsX3BhdGgpIGFzIGZpbGU6CisgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlLnJlYWQoKS5kZWNvZGUoKSA9PSBmaWxlLnJlYWQoKQorCisgICAgICAgIHNlcnZlciA9IFB5UElTZXJ2ZXIoc3RhdGljX3VyaV9wYXRocz1bInNpbXBsZSIsICJleHRlcm5hbCJdLAorICAgICAgICAgICAgc3RhdGljX2ZpbGVzeXN0ZW1fcGF0aHM9WyJ0ZXN0X3B5cGlfc2VydmVyIl0pCisgICAgICAgIHNlcnZlci5zdGFydCgpCisgICAgICAgIHRyeToKKyAgICAgICAgICAgICMgdGhlIGZpbGUgZG9lcyBub3QgZXhpc3RzIG9uIHRoZSBkaXNjLCBzbyBpdCBtaWdodCBub3QgYmUgc2VydmVkCisgICAgICAgICAgICB1cmwgPSBzZXJ2ZXIuZnVsbF9hZGRyZXNzICsgIi9zaW1wbGUvdW5leGlzdGluZ19wYWdlIgorICAgICAgICAgICAgcmVxdWVzdCA9IHVybGxpYi5yZXF1ZXN0LlJlcXVlc3QodXJsKQorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIHVybGxpYi5yZXF1ZXN0LnVybG9wZW4ocmVxdWVzdCkKKyAgICAgICAgICAgIGV4Y2VwdCB1cmxsaWIuZXJyb3IuSFRUUEVycm9yIGFzIGU6CisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChlLmNvZGUsIDQwNCkKKworICAgICAgICAgICAgIyBub3cgdHJ5IHNlcnZpbmcgYSBjb250ZW50IHRoYXQgZG8gZXhpc3RzCisgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUodXNlc19sb2NhbF9maWxlc19mb3Ioc2VydmVyLCAiL3NpbXBsZS9pbmRleC5odG1sIikpCisKKyAgICAgICAgICAgICMgYW5kIGFub3RoZXIgb25lIGluIGFub3RoZXIgcm9vdCBwYXRoCisgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUodXNlc19sb2NhbF9maWxlc19mb3Ioc2VydmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIvZXh0ZXJuYWwvaW5kZXguaHRtbCIpKQorCisgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICBzZXJ2ZXIuc3RvcCgpCisKKworZGVmIHRlc3Rfc3VpdGUoKToKKyAgICByZXR1cm4gdW5pdHRlc3QubWFrZVN1aXRlKFB5UElTZXJ2ZXJUZXN0KQorCitpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgorICAgIHVuaXR0ZXN0Lm1haW4oZGVmYXVsdFRlc3Q9InRlc3Rfc3VpdGUiKQpkaWZmIC0tZ2l0IGEvTGliL3BhY2thZ2luZy90ZXN0cy90ZXN0X3B5cGlfc2ltcGxlLnB5IGIvTGliL3BhY2thZ2luZy90ZXN0cy90ZXN0X3B5cGlfc2ltcGxlLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU5MjA0YzQKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvcGFja2FnaW5nL3Rlc3RzL3Rlc3RfcHlwaV9zaW1wbGUucHkKQEAgLTAsMCArMSwzNTMgQEAKKyIiIlRlc3RzIGZvciB0aGUgcGFja2FnaW5nLnB5cGkuc2ltcGxlIG1vZHVsZS4iIiIKK2ltcG9ydCByZQoraW1wb3J0IG9zCitpbXBvcnQgc3lzCitpbXBvcnQgaHR0cC5jbGllbnQKK2ltcG9ydCB1cmxsaWIuZXJyb3IKK2ltcG9ydCB1cmxsaWIucGFyc2UKK2ltcG9ydCB1cmxsaWIucmVxdWVzdAorCitmcm9tIHBhY2thZ2luZy5weXBpLnNpbXBsZSBpbXBvcnQgQ3Jhd2xlcgorCitmcm9tIHBhY2thZ2luZy50ZXN0cyBpbXBvcnQgdW5pdHRlc3QKK2Zyb20gcGFja2FnaW5nLnRlc3RzLnN1cHBvcnQgaW1wb3J0IChUZW1wZGlyTWFuYWdlciwgTG9nZ2luZ0NhdGNoZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFrZV9kZWMpCisKK3RyeToKKyAgICBpbXBvcnQgX3RocmVhZAorICAgIGZyb20gcGFja2FnaW5nLnRlc3RzLnB5cGlfc2VydmVyIGltcG9ydCAodXNlX3B5cGlfc2VydmVyLCBQeVBJU2VydmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFlQSV9ERUZBVUxUX1NUQVRJQ19QQVRIKQorZXhjZXB0IEltcG9ydEVycm9yOgorICAgIF90aHJlYWQgPSBOb25lCisgICAgdXNlX3B5cGlfc2VydmVyID0gZmFrZV9kZWMKKyAgICBQWVBJX0RFRkFVTFRfU1RBVElDX1BBVEggPSBvcy5wYXRoLmpvaW4oCisgICAgICAgIG9zLnBhdGguZGlybmFtZShvcy5wYXRoLmFic3BhdGgoX19maWxlX18pKSwgJ3B5cGlzZXJ2ZXInKQorCisKKworY2xhc3MgU2ltcGxlQ3Jhd2xlclRlc3RDYXNlKFRlbXBkaXJNYW5hZ2VyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIExvZ2dpbmdDYXRjaGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuaXR0ZXN0LlRlc3RDYXNlKToKKworICAgIGRlZiBfZ2V0X3NpbXBsZV9jcmF3bGVyKHNlbGYsIHNlcnZlciwgYmFzZV91cmw9Ii9zaW1wbGUvIiwgaG9zdHM9Tm9uZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAqYXJncywgKiprd2FyZ3MpOgorICAgICAgICAiIiJCdWlsZCBhbmQgcmV0dXJuIGEgU2ltcGxlSW5kZXggd2l0aCB0aGUgdGVzdCBzZXJ2ZXIgdXJscyIiIgorICAgICAgICBpZiBob3N0cyBpcyBOb25lOgorICAgICAgICAgICAgaG9zdHMgPSAoc2VydmVyLmZ1bGxfYWRkcmVzcy5yZXBsYWNlKCJodHRwOi8vIiwgIiIpLCkKKyAgICAgICAga3dhcmdzWydob3N0cyddID0gaG9zdHMKKyAgICAgICAgcmV0dXJuIENyYXdsZXIoc2VydmVyLmZ1bGxfYWRkcmVzcyArIGJhc2VfdXJsLCAqYXJncywKKyAgICAgICAgICAgICAgICAgICAgICAgKiprd2FyZ3MpCisKKyAgICBAdW5pdHRlc3Quc2tpcElmKF90aHJlYWQgaXMgTm9uZSwgJ25lZWRzIHRocmVhZHMnKQorICAgIEB1c2VfcHlwaV9zZXJ2ZXIoKQorICAgIGRlZiB0ZXN0X2JhZF91cmxzKHNlbGYsIHNlcnZlcik6CisgICAgICAgIGNyYXdsZXIgPSBDcmF3bGVyKCkKKyAgICAgICAgdXJsID0gJ2h0dHA6Ly8xMjcuMC4wLjE6MC9ub25lc3VjaC90ZXN0X3NpbXBsZScKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgdiA9IGNyYXdsZXIuX29wZW5fdXJsKHVybCkKKyAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyB2OgorICAgICAgICAgICAgc2VsZi5hc3NlcnRJbih1cmwsIHN0cih2KSkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHYuY2xvc2UoKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRJc0luc3RhbmNlKHYsIHVybGxpYi5lcnJvci5IVFRQRXJyb3IpCisKKyAgICAgICAgIyBpc3N1ZSAxNgorICAgICAgICAjIGVhc3lfaW5zdGFsbCBpbnF1YW50LmNvbnRlbnRtaXJyb3IucGxvbmUgYnJlYWtzIGJlY2F1c2Ugb2YgYSB0eXBvCisgICAgICAgICMgaW4gaXRzIGhvbWUgVVJMCisgICAgICAgIGNyYXdsZXIgPSBDcmF3bGVyKGhvc3RzPSgnZXhhbXBsZS5vcmcnLCkpCisgICAgICAgIHVybCA9ICgndXJsOiUyMGh0dHBzOi8vc3ZuLnBsb25lLm9yZy9zdm4vY29sbGVjdGl2ZS8nCisgICAgICAgICAgICAgICAnaW5xdWFudC5jb250ZW50bWlycm9yLnBsb25lL3RydW5rJykKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgdiA9IGNyYXdsZXIuX29wZW5fdXJsKHVybCkKKyAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyB2OgorICAgICAgICAgICAgc2VsZi5hc3NlcnRJbih1cmwsIHN0cih2KSkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHYuY2xvc2UoKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRJc0luc3RhbmNlKHYsIHVybGxpYi5lcnJvci5IVFRQRXJyb3IpCisKKyAgICAgICAgZGVmIF91cmxvcGVuKCphcmdzKToKKyAgICAgICAgICAgIHJhaXNlIGh0dHAuY2xpZW50LkJhZFN0YXR1c0xpbmUoJ2xpbmUnKQorCisgICAgICAgIG9sZF91cmxvcGVuID0gdXJsbGliLnJlcXVlc3QudXJsb3BlbgorICAgICAgICB1cmxsaWIucmVxdWVzdC51cmxvcGVuID0gX3VybG9wZW4KKyAgICAgICAgdXJsID0gJ2h0dHA6Ly9leGFtcGxlLm9yZycKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgdiA9IGNyYXdsZXIuX29wZW5fdXJsKHVybCkKKyAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyB2OgorICAgICAgICAgICAgc2VsZi5hc3NlcnRJbignbGluZScsIHN0cih2KSkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHYuY2xvc2UoKQorICAgICAgICAgICAgIyBUT0RPIHVzZSBzZWxmLmFzc2VydFJhaXNlcworICAgICAgICAgICAgcmFpc2UgQXNzZXJ0aW9uRXJyb3IoJ1Nob3VsZCBoYXZlIHJhaXNlIGhlcmUhJykKKyAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgIHVybGxpYi5yZXF1ZXN0LnVybG9wZW4gPSBvbGRfdXJsb3BlbgorCisgICAgICAgICMgaXNzdWUgMjAKKyAgICAgICAgdXJsID0gJ2h0dHA6Ly9odHRwOi8vc3ZuLnB5dGhvbnBhc3RlLm9yZy9QYXN0ZS93cGhwL3RydW5rJworICAgICAgICB0cnk6CisgICAgICAgICAgICBjcmF3bGVyLl9vcGVuX3VybCh1cmwpCisgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgdjoKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ0Rvd25sb2FkIGVycm9yJywgc3RyKHYpKQorCisgICAgICAgICMgaXNzdWUgIzE2MAorICAgICAgICB1cmwgPSBzZXJ2ZXIuZnVsbF9hZGRyZXNzCisgICAgICAgIHBhZ2UgPSAoJzxhIGhyZWY9Imh0dHA6Ly93d3cuZmFtZmFtZmFtLmNvbV0oJworICAgICAgICAgICAgICAgICdodHRwOi8vd3d3LmZhbWZhbWZhbS5jb20vIj4nKQorICAgICAgICBjcmF3bGVyLl9wcm9jZXNzX3VybCh1cmwsIHBhZ2UpCisKKyAgICBAdW5pdHRlc3Quc2tpcElmKF90aHJlYWQgaXMgTm9uZSwgJ25lZWRzIHRocmVhZHMnKQorICAgIEB1c2VfcHlwaV9zZXJ2ZXIoInRlc3RfZm91bmRfbGlua3MiKQorICAgIGRlZiB0ZXN0X2ZvdW5kX2xpbmtzKHNlbGYsIHNlcnZlcik6CisgICAgICAgICMgQnJvd3NlIHRoZSBpbmRleCwgYXNraW5nIGZvciBhIHNwZWNpZmllZCByZWxlYXNlIHZlcnNpb24KKyAgICAgICAgIyBUaGUgUHlQSSBpbmRleCBjb250YWlucyBsaW5rcyBmb3IgdmVyc2lvbiAxLjAsIDEuMSwgMi4wIGFuZCAyLjAuMQorICAgICAgICBjcmF3bGVyID0gc2VsZi5fZ2V0X3NpbXBsZV9jcmF3bGVyKHNlcnZlcikKKyAgICAgICAgbGFzdF9yZWxlYXNlID0gY3Jhd2xlci5nZXRfcmVsZWFzZSgiZm9vYmFyIikKKworICAgICAgICAjIHdlIGhhdmUgc2Nhbm5lZCB0aGUgaW5kZXggcGFnZQorICAgICAgICBzZWxmLmFzc2VydEluKHNlcnZlci5mdWxsX2FkZHJlc3MgKyAiL3NpbXBsZS9mb29iYXIvIiwKKyAgICAgICAgICAgIGNyYXdsZXIuX3Byb2Nlc3NlZF91cmxzKQorCisgICAgICAgICMgd2UgaGF2ZSBmb3VuZCA0IHJlbGVhc2VzIGluIHRoaXMgcGFnZQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihjcmF3bGVyLl9wcm9qZWN0c1siZm9vYmFyIl0pLCA0KQorCisgICAgICAgICMgYW5kIHJldHVybmVkIHRoZSBtb3N0IHJlY2VudCBvbmUKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgiJXMiICUgbGFzdF9yZWxlYXNlLnZlcnNpb24sICcyLjAuMScpCisKKyAgICBkZWYgdGVzdF9pc19icm93c2FibGUoc2VsZik6CisgICAgICAgIGNyYXdsZXIgPSBDcmF3bGVyKGZvbGxvd19leHRlcm5hbHM9RmFsc2UpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShjcmF3bGVyLl9pc19icm93c2FibGUoY3Jhd2xlci5pbmRleF91cmwgKyAidGVzdCIpKQorCisgICAgICAgICMgTm93LCB3aGVuIGZvbGxvd2luZyBleHRlcm5hbHMsIHdlIGNhbiBoYXZlIGEgbGlzdCBvZiBob3N0cyB0byB0cnVzdC4KKyAgICAgICAgIyBhbmQgZG9uJ3QgZm9sbG93IG90aGVyIGV4dGVybmFsIGxpbmtzIHRoYW4gdGhlIG9uZSBkZXNjcmliZWQgaGVyZS4KKyAgICAgICAgY3Jhd2xlciA9IENyYXdsZXIoaG9zdHM9WyJweXBpLnB5dGhvbi5vcmciLCAiZXhhbXBsZS5vcmciXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgZm9sbG93X2V4dGVybmFscz1UcnVlKQorICAgICAgICBnb29kX3VybHMgPSAoCisgICAgICAgICAgICAiaHR0cDovL3B5cGkucHl0aG9uLm9yZy9mb28vYmFyIiwKKyAgICAgICAgICAgICJodHRwOi8vcHlwaS5weXRob24ub3JnL3NpbXBsZS9mb29iYXIiLAorICAgICAgICAgICAgImh0dHA6Ly9leGFtcGxlLm9yZyIsCisgICAgICAgICAgICAiaHR0cDovL2V4YW1wbGUub3JnLyIsCisgICAgICAgICAgICAiaHR0cDovL2V4YW1wbGUub3JnL3NpbXBsZS8iLAorICAgICAgICApCisgICAgICAgIGJhZF91cmxzID0gKAorICAgICAgICAgICAgImh0dHA6Ly9weXRob24ub3JnIiwKKyAgICAgICAgICAgICJodHRwOi8vZXhhbXBsZS50bGQiLAorICAgICAgICApCisKKyAgICAgICAgZm9yIHVybCBpbiBnb29kX3VybHM6CisgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoY3Jhd2xlci5faXNfYnJvd3NhYmxlKHVybCkpCisKKyAgICAgICAgZm9yIHVybCBpbiBiYWRfdXJsczoKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoY3Jhd2xlci5faXNfYnJvd3NhYmxlKHVybCkpCisKKyAgICAgICAgIyBhbGxvdyBhbGwgaG9zdHMKKyAgICAgICAgY3Jhd2xlciA9IENyYXdsZXIoZm9sbG93X2V4dGVybmFscz1UcnVlLCBob3N0cz0oIioiLCkpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShjcmF3bGVyLl9pc19icm93c2FibGUoImh0dHA6Ly9hbi1leHRlcm5hbC5saW5rL3BhdGgiKSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGNyYXdsZXIuX2lzX2Jyb3dzYWJsZSgicHlwaS5leGFtcGxlLm9yZy9hL3BhdGgiKSkKKworICAgICAgICAjIHNwZWNpZnkgYSBsaXN0IG9mIGhvc3RzIHdlIHdhbnQgdG8gYWxsb3cKKyAgICAgICAgY3Jhd2xlciA9IENyYXdsZXIoZm9sbG93X2V4dGVybmFscz1UcnVlLAorICAgICAgICAgICAgICAgICAgICAgICAgICBob3N0cz0oIiouZXhhbXBsZS5vcmciLCkpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoY3Jhd2xlci5faXNfYnJvd3NhYmxlKCJodHRwOi8vYW4tZXh0ZXJuYWwubGluay9wYXRoIikpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSgKKyAgICAgICAgICAgIGNyYXdsZXIuX2lzX2Jyb3dzYWJsZSgiaHR0cDovL3B5cGkuZXhhbXBsZS5vcmcvYS9wYXRoIikpCisKKyAgICBAdW5pdHRlc3Quc2tpcElmKF90aHJlYWQgaXMgTm9uZSwgJ25lZWRzIHRocmVhZHMnKQorICAgIEB1c2VfcHlwaV9zZXJ2ZXIoIndpdGhfZXh0ZXJuYWxzIikKKyAgICBkZWYgdGVzdF9mb2xsb3dfZXh0ZXJuYWxzKHNlbGYsIHNlcnZlcik6CisgICAgICAgICMgSW5jbHVkZSBleHRlcm5hbCBwYWdlcworICAgICAgICAjIFRyeSB0byByZXF1ZXN0IHRoZSBwYWNrYWdlIGluZGV4LCB3aWNoIGNvbnRhaW5zIGxpbmtzIHRvICJleHRlcm5hbHMiCisgICAgICAgICMgcmVzb3VyY2VzLiBUaGV5IGhhdmUgdG8gIGJlIHNjYW5uZWQgdG9vLgorICAgICAgICBjcmF3bGVyID0gc2VsZi5fZ2V0X3NpbXBsZV9jcmF3bGVyKHNlcnZlciwgZm9sbG93X2V4dGVybmFscz1UcnVlKQorICAgICAgICBjcmF3bGVyLmdldF9yZWxlYXNlKCJmb29iYXIiKQorICAgICAgICBzZWxmLmFzc2VydEluKHNlcnZlci5mdWxsX2FkZHJlc3MgKyAiL2V4dGVybmFsL2V4dGVybmFsLmh0bWwiLAorICAgICAgICAgICAgY3Jhd2xlci5fcHJvY2Vzc2VkX3VybHMpCisKKyAgICBAdW5pdHRlc3Quc2tpcElmKF90aHJlYWQgaXMgTm9uZSwgJ25lZWRzIHRocmVhZHMnKQorICAgIEB1c2VfcHlwaV9zZXJ2ZXIoIndpdGhfcmVhbF9leHRlcm5hbHMiKQorICAgIGRlZiB0ZXN0X3Jlc3RyaWN0X2hvc3RzKHNlbGYsIHNlcnZlcik6CisgICAgICAgICMgT25seSB1c2UgYSBsaXN0IG9mIGFsbG93ZWQgaG9zdHMgaXMgcG9zc2libGUKKyAgICAgICAgIyBUZXN0IHRoYXQgdGVsbGluZyB0aGUgc2ltcGxlIHB5UEkgY2xpZW50IHRvIG5vdCByZXRyaWV2ZSBleHRlcm5hbAorICAgICAgICAjIHdvcmtzCisgICAgICAgIGNyYXdsZXIgPSBzZWxmLl9nZXRfc2ltcGxlX2NyYXdsZXIoc2VydmVyLCBmb2xsb3dfZXh0ZXJuYWxzPUZhbHNlKQorICAgICAgICBjcmF3bGVyLmdldF9yZWxlYXNlKCJmb29iYXIiKQorICAgICAgICBzZWxmLmFzc2VydE5vdEluKHNlcnZlci5mdWxsX2FkZHJlc3MgKyAiL2V4dGVybmFsL2V4dGVybmFsLmh0bWwiLAorICAgICAgICAgICAgY3Jhd2xlci5fcHJvY2Vzc2VkX3VybHMpCisKKyAgICBAdW5pdHRlc3Quc2tpcElmKF90aHJlYWQgaXMgTm9uZSwgJ25lZWRzIHRocmVhZHMnKQorICAgIEB1c2VfcHlwaV9zZXJ2ZXIoc3RhdGljX2ZpbGVzeXN0ZW1fcGF0aHM9WyJ3aXRoX2V4dGVybmFscyJdLAorICAgICAgICBzdGF0aWNfdXJpX3BhdGhzPVsic2ltcGxlIiwgImV4dGVybmFsIl0pCisgICAgZGVmIHRlc3RfbGlua3NfcHJpb3JpdHkoc2VsZiwgc2VydmVyKToKKyAgICAgICAgIyBEb3dubG9hZCBsaW5rcyBmcm9tIHRoZSBweXBpIHNpbXBsZSBpbmRleCBzaG91bGQgYmUgdXNlZCBiZWZvcmUKKyAgICAgICAgIyBleHRlcm5hbCBkb3dubG9hZCBsaW5rcy4KKyAgICAgICAgIyBodHRwOi8vYml0YnVja2V0Lm9yZy90YXJlay9kaXN0cmlidXRlL2lzc3VlLzE2My9tZDUtdmFsaWRhdGlvbi1lcnJvcgorICAgICAgICAjCisgICAgICAgICMgVXNlY2FzZSA6CisgICAgICAgICMgLSBzb21lb25lIHVwbG9hZHMgYSBwYWNrYWdlIG9uIHB5cGksIGEgbWQ1IGlzIGdlbmVyYXRlZAorICAgICAgICAjIC0gc29tZW9uZSBtYW51YWxseSBjb2luZGV4ZXMgdGhpcyBsaW5rICh3aXRoIHRoZSBtZDUgaW4gdGhlIHVybCkgb250bworICAgICAgICAjICAgYW4gZXh0ZXJuYWwgcGFnZSBhY2Nlc3NpYmxlIGZyb20gdGhlIHBhY2thZ2UgcGFnZS4KKyAgICAgICAgIyAtIHNvbWVvbmUgcmV1cGxvYWRzIHRoZSBwYWNrYWdlICh3aXRoIGEgZGlmZmVyZW50IG1kNSkKKyAgICAgICAgIyAtIHdoaWxlIGVhc3lfaW5zdGFsbGluZywgYW4gTUQ1IGVycm9yIG9jY3VycyBiZWNhdXNlIHRoZSBleHRlcm5hbAorICAgICAgICAjIGxpbmsgaXMgdXNlZAorICAgICAgICAjIC0+IFRoZSBpbmRleCBzaG91bGQgdXNlIHRoZSBsaW5rIGZyb20gcHlwaSwgbm90IHRoZSBleHRlcm5hbCBvbmUuCisKKyAgICAgICAgIyBzdGFydCBhbiBpbmRleCBzZXJ2ZXIKKyAgICAgICAgaW5kZXhfdXJsID0gc2VydmVyLmZ1bGxfYWRkcmVzcyArICcvc2ltcGxlLycKKworICAgICAgICAjIHNjYW4gYSB0ZXN0IGluZGV4CisgICAgICAgIGNyYXdsZXIgPSBDcmF3bGVyKGluZGV4X3VybCwgZm9sbG93X2V4dGVybmFscz1UcnVlKQorICAgICAgICByZWxlYXNlcyA9IGNyYXdsZXIuZ2V0X3JlbGVhc2VzKCJmb29iYXIiKQorICAgICAgICBzZXJ2ZXIuc3RvcCgpCisKKyAgICAgICAgIyB3ZSBoYXZlIG9ubHkgb25lIGxpbmssIGJlY2F1c2UgbGlua3MgYXJlIGNvbXBhcmVkIHdpdGhvdXQgbWQ1CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoMSwgbGVuKHJlbGVhc2VzKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgxLCBsZW4ocmVsZWFzZXNbMF0uZGlzdHMpKQorICAgICAgICAjIHRoZSBsaW5rIHNob3VsZCBiZSBmcm9tIHRoZSBpbmRleAorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKDIsIGxlbihyZWxlYXNlc1swXS5kaXN0c1snc2Rpc3QnXS51cmxzKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnMTIzNDU2Nzg5MDEyMzQ1NjcnLAorICAgICAgICAgICAgICAgICAgICAgICAgIHJlbGVhc2VzWzBdLmRpc3RzWydzZGlzdCddLnVybFsnaGFzaHZhbCddKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCdtZDUnLCByZWxlYXNlc1swXS5kaXN0c1snc2Rpc3QnXS51cmxbJ2hhc2huYW1lJ10pCisKKyAgICBAdW5pdHRlc3Quc2tpcElmKF90aHJlYWQgaXMgTm9uZSwgJ25lZWRzIHRocmVhZHMnKQorICAgIEB1c2VfcHlwaV9zZXJ2ZXIoc3RhdGljX2ZpbGVzeXN0ZW1fcGF0aHM9WyJ3aXRoX25vcmVsX2xpbmtzIl0sCisgICAgICAgIHN0YXRpY191cmlfcGF0aHM9WyJzaW1wbGUiLCAiZXh0ZXJuYWwiXSkKKyAgICBkZWYgdGVzdF9ub3Rfc2Nhbl9hbGxfbGlua3Moc2VsZiwgc2VydmVyKToKKyAgICAgICAgIyBEbyBub3QgZm9sbG93IGFsbCBpbmRleCBwYWdlIGxpbmtzLgorICAgICAgICAjIFRoZSBsaW5rcyBub3QgdGFnZ2VkIHdpdGggcmVsPSJkb3dubG9hZCIgYW5kIHJlbD0iaG9tZXBhZ2UiIGhhdmUKKyAgICAgICAgIyB0byBub3QgYmUgcHJvY2Vzc2VkIGJ5IHRoZSBwYWNrYWdlIGluZGV4LCB3aGlsZSBwcm9jZXNzaW5nICJwYWdlcyIuCisKKyAgICAgICAgIyBwcm9jZXNzIHRoZSBwYWdlcworICAgICAgICBjcmF3bGVyID0gc2VsZi5fZ2V0X3NpbXBsZV9jcmF3bGVyKHNlcnZlciwgZm9sbG93X2V4dGVybmFscz1UcnVlKQorICAgICAgICBjcmF3bGVyLmdldF9yZWxlYXNlcygiZm9vYmFyIikKKyAgICAgICAgIyBub3cgaXQgc2hvdWxkIGhhdmUgcHJvY2Vzc2VkIG9ubHkgcGFnZXMgd2l0aCBsaW5rcyByZWw9ImRvd25sb2FkIgorICAgICAgICAjIGFuZCByZWw9ImhvbWVwYWdlIgorICAgICAgICBzZWxmLmFzc2VydEluKCIlcy9zaW1wbGUvZm9vYmFyLyIgJSBzZXJ2ZXIuZnVsbF9hZGRyZXNzLAorICAgICAgICAgICAgY3Jhd2xlci5fcHJvY2Vzc2VkX3VybHMpICAjIGl0J3MgdGhlIHNpbXBsZSBpbmRleCBwYWdlCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oIiVzL2V4dGVybmFsL2hvbWVwYWdlLmh0bWwiICUgc2VydmVyLmZ1bGxfYWRkcmVzcywKKyAgICAgICAgICAgIGNyYXdsZXIuX3Byb2Nlc3NlZF91cmxzKSAgIyB0aGUgZXh0ZXJuYWwgaG9tZXBhZ2UgaXMgcmVsPSJob21lcGFnZSIKKyAgICAgICAgc2VsZi5hc3NlcnROb3RJbigiJXMvZXh0ZXJuYWwvbm9ucmVsLmh0bWwiICUgc2VydmVyLmZ1bGxfYWRkcmVzcywKKyAgICAgICAgICAgIGNyYXdsZXIuX3Byb2Nlc3NlZF91cmxzKSAgIyB0aGlzIGxpbmsgY29udGFpbnMgbm8gcmVsPSoKKyAgICAgICAgc2VsZi5hc3NlcnROb3RJbigiJXMvdW5yZWxhdGVkLTAuMi50YXIuZ3oiICUgc2VydmVyLmZ1bGxfYWRkcmVzcywKKyAgICAgICAgICAgIGNyYXdsZXIuX3Byb2Nlc3NlZF91cmxzKSAgIyBsaW5rZWQgZnJvbSBzaW1wbGUgaW5kZXggKG5vIHJlbCkKKyAgICAgICAgc2VsZi5hc3NlcnRJbigiJXMvZm9vYmFyLTAuMS50YXIuZ3oiICUgc2VydmVyLmZ1bGxfYWRkcmVzcywKKyAgICAgICAgICAgIGNyYXdsZXIuX3Byb2Nlc3NlZF91cmxzKSAgIyBsaW5rZWQgZnJvbSBzaW1wbGUgaW5kZXggKHJlbCkKKyAgICAgICAgc2VsZi5hc3NlcnRJbigiJXMvZm9vYmFyLTIuMC50YXIuZ3oiICUgc2VydmVyLmZ1bGxfYWRkcmVzcywKKyAgICAgICAgICAgIGNyYXdsZXIuX3Byb2Nlc3NlZF91cmxzKSAgIyBsaW5rZWQgZnJvbSBleHRlcm5hbCBob21lcGFnZSAocmVsKQorCisgICAgQHVuaXR0ZXN0LnNraXBJZihfdGhyZWFkIGlzIE5vbmUsICduZWVkcyB0aHJlYWRzJykKKyAgICBkZWYgdGVzdF91c2VzX21pcnJvcnMoc2VsZik6CisgICAgICAgICMgV2hlbiB0aGUgbWFpbiByZXBvc2l0b3J5IHNlZW1zIGRvd24sIHRyeSB1c2luZyB0aGUgZ2l2ZW4gbWlycm9ycyIiIgorICAgICAgICBzZXJ2ZXIgPSBQeVBJU2VydmVyKCJmb29fYmFyX2JheiIpCisgICAgICAgIG1pcnJvciA9IFB5UElTZXJ2ZXIoImZvb19iYXJfYmF6IikKKyAgICAgICAgbWlycm9yLnN0YXJ0KCkgICMgd2UgZG9udCBzdGFydCB0aGUgc2VydmVyIGhlcmUKKworICAgICAgICB0cnk6CisgICAgICAgICAgICAjIGNyZWF0ZSB0aGUgaW5kZXggdXNpbmcgYm90aCBzZXJ2ZXJzCisgICAgICAgICAgICBjcmF3bGVyID0gQ3Jhd2xlcihzZXJ2ZXIuZnVsbF9hZGRyZXNzICsgIi9zaW1wbGUvIiwgaG9zdHM9KCcqJywpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBzZXQgdGhlIHRpbWVvdXQgdG8gMXMgZm9yIHRoZSB0ZXN0cworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGltZW91dD0xLCBtaXJyb3JzPVttaXJyb3IuZnVsbF9hZGRyZXNzXSkKKworICAgICAgICAgICAgIyB0aGlzIHNob3VsZCBub3QgcmFpc2UgYSB0aW1lb3V0CisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKDQsIGxlbihjcmF3bGVyLmdldF9yZWxlYXNlcygiZm9vIikpKQorICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgbWlycm9yLnN0b3AoKQorICAgICAgICAgICAgc2VydmVyLnN0b3AoKQorCisgICAgZGVmIHRlc3Rfc2ltcGxlX2xpbmtfbWF0Y2hlcihzZWxmKToKKyAgICAgICAgIyBUZXN0IHRoYXQgdGhlIHNpbXBsZSBsaW5rIG1hdGNoZXIgZmluZHMgdGhlIHJpZ2h0IGxpbmtzIiIiCisgICAgICAgIGNyYXdsZXIgPSBDcmF3bGVyKGZvbGxvd19leHRlcm5hbHM9RmFsc2UpCisKKyAgICAgICAgIyBIZXJlLCB3ZSBkZWZpbmU6CisgICAgICAgICMgICAxLiBvbmUgbGluayB0aGF0IG11c3QgYmUgZm9sbG93ZWQsIGNhdXNlIGl0J3MgYSBkb3dubG9hZCBvbmUKKyAgICAgICAgIyAgIDIuIG9uZSBsaW5rIHRoYXQgbXVzdCAqbm90KiBiZSBmb2xsb3dlZCwgY2F1c2UgdGhlIGlzX2Jyb3dzYWJsZQorICAgICAgICAjICAgICAgcmV0dXJucyBmYWxzZSBmb3IgaXQuCisgICAgICAgICMgICAzLiBvbmUgbGluayB0aGF0IG11c3QgYmUgZm9sbG93ZWQgY2F1c2UgaXQncyBhIGhvbWVwYWdlIHRoYXQgaXMKKyAgICAgICAgIyAgICAgIGJyb3dzYWJsZQorICAgICAgICAjICAgNC4gb25lIGxpbmsgdGhhdCBtdXN0IGJlIGZvbGxvd2VkLCBiZWNhdXNlIGl0IGNvbnRhaW4gYSBtZDUgaGFzaAorICAgICAgICBzZWxmLmFzc2VydFRydWUoY3Jhd2xlci5faXNfYnJvd3NhYmxlKCIlc3Rlc3QiICUgY3Jhd2xlci5pbmRleF91cmwpKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGNyYXdsZXIuX2lzX2Jyb3dzYWJsZSgiaHR0cDovL2RsLWxpbmsyIikpCisgICAgICAgIGNvbnRlbnQgPSAiIiIKKyAgICAgICAgPGEgaHJlZj0iaHR0cDovL2RsLWxpbmsxIiByZWw9ImRvd25sb2FkIj5kb3dubG9hZF9saW5rMTwvYT4KKyAgICAgICAgPGEgaHJlZj0iaHR0cDovL2RsLWxpbmsyIiByZWw9ImhvbWVwYWdlIj5ob21lcGFnZV9saW5rMTwvYT4KKyAgICAgICAgPGEgaHJlZj0iJShpbmRleF91cmwpc3Rlc3QiIHJlbD0iaG9tZXBhZ2UiPmhvbWVwYWdlX2xpbmsyPC9hPgorICAgICAgICA8YSBocmVmPSIlKGluZGV4X3VybClzdGVzdC9mb29iYXItMS50YXIuZ3ojbWQ1PWFiY2RlZj5kb3dubG9hZF9saW5rMjwvYT4KKyAgICAgICAgIiIiICUgeydpbmRleF91cmwnOiBjcmF3bGVyLmluZGV4X3VybH0KKworICAgICAgICAjIFRlc3QgdGhhdCB0aGUgc2ltcGxlIGxpbmsgbWF0Y2hlciB5aWVsZCB0aGUgZ29vZCBsaW5rcy4KKyAgICAgICAgZ2VuZXJhdG9yID0gY3Jhd2xlci5fc2ltcGxlX2xpbmtfbWF0Y2hlcihjb250ZW50LCBjcmF3bGVyLmluZGV4X3VybCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgoJyVzdGVzdC9mb29iYXItMS50YXIuZ3ojbWQ1PWFiY2RlZicgJQorICAgICAgICAgICAgICAgICAgICAgICAgICBjcmF3bGVyLmluZGV4X3VybCwgVHJ1ZSksIG5leHQoZ2VuZXJhdG9yKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgoJ2h0dHA6Ly9kbC1saW5rMScsIFRydWUpLCBuZXh0KGdlbmVyYXRvcikpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoKCclc3Rlc3QnICUgY3Jhd2xlci5pbmRleF91cmwsIEZhbHNlKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBuZXh0KGdlbmVyYXRvcikpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFN0b3BJdGVyYXRpb24sIGdlbmVyYXRvci5fX25leHRfXykKKworICAgICAgICAjIEZvbGxvdyB0aGUgZXh0ZXJuYWwgbGlua3MgaXMgcG9zc2libGUgKGVnLiBob21lcGFnZXMpCisgICAgICAgIGNyYXdsZXIuZm9sbG93X2V4dGVybmFscyA9IFRydWUKKyAgICAgICAgZ2VuZXJhdG9yID0gY3Jhd2xlci5fc2ltcGxlX2xpbmtfbWF0Y2hlcihjb250ZW50LCBjcmF3bGVyLmluZGV4X3VybCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgoJyVzdGVzdC9mb29iYXItMS50YXIuZ3ojbWQ1PWFiY2RlZicgJQorICAgICAgICAgICAgICAgICAgICAgICAgICBjcmF3bGVyLmluZGV4X3VybCwgVHJ1ZSksIG5leHQoZ2VuZXJhdG9yKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgoJ2h0dHA6Ly9kbC1saW5rMScsIFRydWUpLCBuZXh0KGdlbmVyYXRvcikpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoKCdodHRwOi8vZGwtbGluazInLCBGYWxzZSksIG5leHQoZ2VuZXJhdG9yKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgoJyVzdGVzdCcgJSBjcmF3bGVyLmluZGV4X3VybCwgRmFsc2UpLAorICAgICAgICAgICAgICAgICAgICAgICAgIG5leHQoZ2VuZXJhdG9yKSkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoU3RvcEl0ZXJhdGlvbiwgZ2VuZXJhdG9yLl9fbmV4dF9fKQorCisgICAgZGVmIHRlc3RfYnJvd3NlX2xvY2FsX2ZpbGVzKHNlbGYpOgorICAgICAgICAjIFRlc3QgdGhhdCB3ZSBjYW4gYnJvd3NlIGxvY2FsIGZpbGVzIiIiCisgICAgICAgIGluZGV4X3VybCA9ICJmaWxlOi8vIiArIFBZUElfREVGQVVMVF9TVEFUSUNfUEFUSAorICAgICAgICBpZiBzeXMucGxhdGZvcm0gPT0gJ3dpbjMyJzoKKyAgICAgICAgICAgICMgdW5kZXIgd2luZG93cyB0aGUgY29ycmVjdCBzeW50YXggaXM6CisgICAgICAgICAgICAjICAgZmlsZTovLy9DfFx0aGVccGF0aFxoZXJlCisgICAgICAgICAgICAjIGluc3RlYWQgb2YKKyAgICAgICAgICAgICMgICBmaWxlOi8vQzpcdGhlXHBhdGhcaGVyZQorICAgICAgICAgICAgZml4ID0gcmUuY29tcGlsZShyJ14oZmlsZTovLykoW0EtWmEtel0pKDopJykKKyAgICAgICAgICAgIGluZGV4X3VybCA9IGZpeC5zdWIoJ1xcMS9cXDJ8JywgaW5kZXhfdXJsKQorCisgICAgICAgIGluZGV4X3BhdGggPSBvcy5zZXAuam9pbihbaW5kZXhfdXJsLCAidGVzdF9mb3VuZF9saW5rcyIsICJzaW1wbGUiXSkKKyAgICAgICAgY3Jhd2xlciA9IENyYXdsZXIoaW5kZXhfcGF0aCkKKyAgICAgICAgZGlzdHMgPSBjcmF3bGVyLmdldF9yZWxlYXNlcygiZm9vYmFyIikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCg0LCBsZW4oZGlzdHMpKQorCisgICAgZGVmIHRlc3RfZ2V0X2xpbmtfbWF0Y2hlcihzZWxmKToKKyAgICAgICAgY3Jhd2xlciA9IENyYXdsZXIoImh0dHA6Ly9leGFtcGxlLm9yZyIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ19zaW1wbGVfbGlua19tYXRjaGVyJywgY3Jhd2xlci5fZ2V0X2xpbmtfbWF0Y2hlcigKKyAgICAgICAgICAgICAgICAgICAgICAgICAiaHR0cDovL2V4YW1wbGUub3JnL3NvbWUvZmlsZSIpLl9fbmFtZV9fKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCdfZGVmYXVsdF9saW5rX21hdGNoZXInLCBjcmF3bGVyLl9nZXRfbGlua19tYXRjaGVyKAorICAgICAgICAgICAgICAgICAgICAgICAgICJodHRwOi8vb3RoZXItdXJsIikuX19uYW1lX18pCisKKyAgICBkZWYgdGVzdF9kZWZhdWx0X2xpbmtfbWF0Y2hlcihzZWxmKToKKyAgICAgICAgY3Jhd2xlciA9IENyYXdsZXIoImh0dHA6Ly9leGFtcGxlLm9yZyIsIG1pcnJvcnM9W10pCisgICAgICAgIGNyYXdsZXIuZm9sbG93X2V4dGVybmFscyA9IFRydWUKKyAgICAgICAgY3Jhd2xlci5faXNfYnJvd3NhYmxlID0gbGFtYmRhICphcmdzOiBUcnVlCisgICAgICAgIGJhc2VfdXJsID0gImh0dHA6Ly9leGFtcGxlLm9yZy9zb21lL2ZpbGUvIgorICAgICAgICBjb250ZW50ID0gIiIiCis8YSBocmVmPSIuLi9ob21lcGFnZSIgcmVsPSJob21lcGFnZSI+bGluazwvYT4KKzxhIGhyZWY9Ii4uL2Rvd25sb2FkIiByZWw9ImRvd25sb2FkIj5saW5rMjwvYT4KKzxhIGhyZWY9Ii4uL3NpbXBsZXVybCI+bGluazI8L2E+CisgICAgICAgICIiIgorICAgICAgICBmb3VuZF9saW5rcyA9IHNldCh1cmkgZm9yIHVyaSwgXyBpbgorICAgICAgICAgICAgICAgICAgICAgICAgICBjcmF3bGVyLl9kZWZhdWx0X2xpbmtfbWF0Y2hlcihjb250ZW50LCBiYXNlX3VybCkpCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ2h0dHA6Ly9leGFtcGxlLm9yZy9zb21lL2hvbWVwYWdlJywgZm91bmRfbGlua3MpCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ2h0dHA6Ly9leGFtcGxlLm9yZy9zb21lL3NpbXBsZXVybCcsIGZvdW5kX2xpbmtzKQorICAgICAgICBzZWxmLmFzc2VydEluKCdodHRwOi8vZXhhbXBsZS5vcmcvc29tZS9kb3dubG9hZCcsIGZvdW5kX2xpbmtzKQorCisgICAgQHVuaXR0ZXN0LnNraXBJZihfdGhyZWFkIGlzIE5vbmUsICduZWVkcyB0aHJlYWRzJykKKyAgICBAdXNlX3B5cGlfc2VydmVyKCJwcm9qZWN0X2xpc3QiKQorICAgIGRlZiB0ZXN0X3NlYXJjaF9wcm9qZWN0cyhzZWxmLCBzZXJ2ZXIpOgorICAgICAgICAjIHdlIGNhbiBzZWFyY2ggdGhlIGluZGV4IGZvciBzb21lIHByb2plY3RzLCBvbiB0aGVpciBuYW1lcworICAgICAgICAjIHRoZSBjYXNlIHVzZWQgbm8gbWF0dGVycyBoZXJlCisgICAgICAgIGNyYXdsZXIgPSBzZWxmLl9nZXRfc2ltcGxlX2NyYXdsZXIoc2VydmVyKQorICAgICAgICB0ZXN0cyA9ICgoJ0Zvb2JhcicsIFsnRm9vQmFyLWJhcicsICdGb29iYXItYmF6JywgJ0Jhei1Gb29CYXInXSksCisgICAgICAgICAgICAgICAgICgnZm9vYmFyKicsIFsnRm9vQmFyLWJhcicsICdGb29iYXItYmF6J10pLAorICAgICAgICAgICAgICAgICAoJypmb29iYXInLCBbJ0Jhei1Gb29CYXInXSkpCisKKyAgICAgICAgZm9yIHNlYXJjaCwgZXhwZWN0ZWQgaW4gdGVzdHM6CisgICAgICAgICAgICBwcm9qZWN0cyA9IFtwLm5hbWUgZm9yIHAgaW4gY3Jhd2xlci5zZWFyY2hfcHJvamVjdHMoc2VhcmNoKV0KKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0TGlzdEVxdWFsKGV4cGVjdGVkLCBwcm9qZWN0cykKKworCitkZWYgdGVzdF9zdWl0ZSgpOgorICAgIHJldHVybiB1bml0dGVzdC5tYWtlU3VpdGUoU2ltcGxlQ3Jhd2xlclRlc3RDYXNlKQorCitpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgorICAgIHVuaXR0ZXN0Lm1haW4oZGVmYXVsdFRlc3Q9InRlc3Rfc3VpdGUiKQpkaWZmIC0tZ2l0IGEvTGliL3BhY2thZ2luZy90ZXN0cy90ZXN0X3B5cGlfeG1scnBjLnB5IGIvTGliL3BhY2thZ2luZy90ZXN0cy90ZXN0X3B5cGlfeG1scnBjLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI3YjM4MmQKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvcGFja2FnaW5nL3Rlc3RzL3Rlc3RfcHlwaV94bWxycGMucHkKQEAgLTAsMCArMSwxMDEgQEAKKyIiIlRlc3RzIGZvciB0aGUgcGFja2FnaW5nLnB5cGkueG1scnBjIG1vZHVsZS4iIiIKKworZnJvbSBwYWNrYWdpbmcucHlwaS54bWxycGMgaW1wb3J0IENsaWVudCwgSW52YWxpZFNlYXJjaEZpZWxkLCBQcm9qZWN0Tm90Rm91bmQKKworZnJvbSBwYWNrYWdpbmcudGVzdHMgaW1wb3J0IHVuaXR0ZXN0Citmcm9tIHBhY2thZ2luZy50ZXN0cy5zdXBwb3J0IGltcG9ydCBmYWtlX2RlYworCit0cnk6CisgICAgaW1wb3J0IHRocmVhZGluZworICAgIGZyb20gcGFja2FnaW5nLnRlc3RzLnB5cGlfc2VydmVyIGltcG9ydCB1c2VfeG1scnBjX3NlcnZlcgorZXhjZXB0IEltcG9ydEVycm9yOgorICAgIHRocmVhZGluZyA9IE5vbmUKKyAgICB1c2VfeG1scnBjX3NlcnZlciA9IGZha2VfZGVjCisKKworQHVuaXR0ZXN0LnNraXBJZih0aHJlYWRpbmcgaXMgTm9uZSwgIk5lZWRzIHRocmVhZGluZyIpCitjbGFzcyBUZXN0WE1MUlBDQ2xpZW50KHVuaXR0ZXN0LlRlc3RDYXNlKToKKyAgICBkZWYgX2dldF9jbGllbnQoc2VsZiwgc2VydmVyLCAqYXJncywgKiprd2FyZ3MpOgorICAgICAgICByZXR1cm4gQ2xpZW50KHNlcnZlci5mdWxsX2FkZHJlc3MsICphcmdzLCAqKmt3YXJncykKKworICAgIEB1c2VfeG1scnBjX3NlcnZlcigpCisgICAgZGVmIHRlc3Rfc2VhcmNoX3Byb2plY3RzKHNlbGYsIHNlcnZlcik6CisgICAgICAgIGNsaWVudCA9IHNlbGYuX2dldF9jbGllbnQoc2VydmVyKQorICAgICAgICBzZXJ2ZXIueG1scnBjLnNldF9zZWFyY2hfcmVzdWx0KFsnRm9vQmFyJywgJ0ZvbycsICdGb29Gb28nXSkKKyAgICAgICAgcmVzdWx0cyA9IFtyLm5hbWUgZm9yIHIgaW4gY2xpZW50LnNlYXJjaF9wcm9qZWN0cyhuYW1lPSdGb28nKV0KKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgzLCBsZW4ocmVzdWx0cykpCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ0Zvb0JhcicsIHJlc3VsdHMpCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ0ZvbycsIHJlc3VsdHMpCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ0Zvb0ZvbycsIHJlc3VsdHMpCisKKyAgICBkZWYgdGVzdF9zZWFyY2hfcHJvamVjdHNfYmFkX2ZpZWxkcyhzZWxmKToKKyAgICAgICAgY2xpZW50ID0gQ2xpZW50KCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoSW52YWxpZFNlYXJjaEZpZWxkLCBjbGllbnQuc2VhcmNoX3Byb2plY3RzLAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbnZhbGlkPSJ0ZXN0IikKKworICAgIEB1c2VfeG1scnBjX3NlcnZlcigpCisgICAgZGVmIHRlc3RfZ2V0X3JlbGVhc2VzKHNlbGYsIHNlcnZlcik6CisgICAgICAgIGNsaWVudCA9IHNlbGYuX2dldF9jbGllbnQoc2VydmVyKQorICAgICAgICBzZXJ2ZXIueG1scnBjLnNldF9kaXN0cmlidXRpb25zKFsKKyAgICAgICAgICAgIHsnbmFtZSc6ICdGb29CYXInLCAndmVyc2lvbic6ICcxLjEnfSwKKyAgICAgICAgICAgIHsnbmFtZSc6ICdGb29CYXInLCAndmVyc2lvbic6ICcxLjInLCAndXJsJzogJ2h0dHA6Ly9zb21lL3VybC8nfSwKKyAgICAgICAgICAgIHsnbmFtZSc6ICdGb29CYXInLCAndmVyc2lvbic6ICcxLjMnLCAndXJsJzogJ2h0dHA6Ly9vdGhlci91cmwvJ30sCisgICAgICAgIF0pCisKKyAgICAgICAgIyB1c2UgYSBsYW1iZGEgaGVyZSB0byBhdm9pZCBhbiB1c2VsZXNzIG1vY2sgY2FsbAorICAgICAgICBzZXJ2ZXIueG1scnBjLmxpc3RfcmVsZWFzZXMgPSBsYW1iZGEgKmEsICoqazogWycxLjEnLCAnMS4yJywgJzEuMyddCisKKyAgICAgICAgcmVsZWFzZXMgPSBjbGllbnQuZ2V0X3JlbGVhc2VzKCdGb29CYXIgKDw9MS4yKScpCisgICAgICAgICMgZG9udCBjYWxsIHJlbGVhc2VfZGF0YSBhbmQgcmVsZWFzZV91cmw7IGp1c3QgcmV0dXJuIG5hbWUgYW5kIHZlcnNpb24uCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoMiwgbGVuKHJlbGVhc2VzKSkKKyAgICAgICAgdmVyc2lvbnMgPSByZWxlYXNlcy5nZXRfdmVyc2lvbnMoKQorICAgICAgICBzZWxmLmFzc2VydEluKCcxLjEnLCB2ZXJzaW9ucykKKyAgICAgICAgc2VsZi5hc3NlcnRJbignMS4yJywgdmVyc2lvbnMpCisgICAgICAgIHNlbGYuYXNzZXJ0Tm90SW4oJzEuMycsIHZlcnNpb25zKQorCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFByb2plY3ROb3RGb3VuZCwgY2xpZW50LmdldF9yZWxlYXNlcywgJ0ZvbycpCisKKyAgICBAdXNlX3htbHJwY19zZXJ2ZXIoKQorICAgIGRlZiB0ZXN0X2dldF9kaXN0cmlidXRpb25zKHNlbGYsIHNlcnZlcik6CisgICAgICAgIGNsaWVudCA9IHNlbGYuX2dldF9jbGllbnQoc2VydmVyKQorICAgICAgICBzZXJ2ZXIueG1scnBjLnNldF9kaXN0cmlidXRpb25zKFsKKyAgICAgICAgICAgIHsnbmFtZSc6ICdGb29CYXInLCAndmVyc2lvbic6ICcxLjEnLAorICAgICAgICAgICAgICd1cmwnOiAnaHR0cDovL2V4YW1wbGUub3JnL2Zvb2Jhci0xLjEtc2Rpc3QudGFyLmd6JywKKyAgICAgICAgICAgICAnZGlnZXN0JzogJzEyMzQ1NjcnLAorICAgICAgICAgICAgICd0eXBlJzogJ3NkaXN0JywgJ3B5dGhvbl92ZXJzaW9uJzogJ3NvdXJjZSd9LAorICAgICAgICAgICAgeyduYW1lJzonRm9vQmFyJywgJ3ZlcnNpb24nOiAnMS4xJywKKyAgICAgICAgICAgICAndXJsJzogJ2h0dHA6Ly9leGFtcGxlLm9yZy9mb29iYXItMS4xLWJkaXN0LnRhci5neicsCisgICAgICAgICAgICAgJ2RpZ2VzdCc6ICc4OTEyMzQ1JywgJ3R5cGUnOiAnYmRpc3QnfSwKKyAgICAgICAgXSkKKworICAgICAgICByZWxlYXNlcyA9IGNsaWVudC5nZXRfcmVsZWFzZXMoJ0Zvb0JhcicsICcxLjEnKQorICAgICAgICBjbGllbnQuZ2V0X2Rpc3RyaWJ1dGlvbnMoJ0Zvb0JhcicsICcxLjEnKQorICAgICAgICByZWxlYXNlID0gcmVsZWFzZXMuZ2V0X3JlbGVhc2UoJzEuMScpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSgnaHR0cDovL2V4YW1wbGUub3JnL2Zvb2Jhci0xLjEtc2Rpc3QudGFyLmd6JywKKyAgICAgICAgICAgICAgICAgICAgICAgIHJlbGVhc2VbJ3NkaXN0J10udXJsWyd1cmwnXSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKCdodHRwOi8vZXhhbXBsZS5vcmcvZm9vYmFyLTEuMS1iZGlzdC50YXIuZ3onLAorICAgICAgICAgICAgICAgIHJlbGVhc2VbJ2JkaXN0J10udXJsWyd1cmwnXSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZWxlYXNlWydzZGlzdCddLnB5dGhvbl92ZXJzaW9uLCAnc291cmNlJykKKworICAgIEB1c2VfeG1scnBjX3NlcnZlcigpCisgICAgZGVmIHRlc3RfZ2V0X21ldGFkYXRhKHNlbGYsIHNlcnZlcik6CisgICAgICAgIGNsaWVudCA9IHNlbGYuX2dldF9jbGllbnQoc2VydmVyKQorICAgICAgICBzZXJ2ZXIueG1scnBjLnNldF9kaXN0cmlidXRpb25zKFsKKyAgICAgICAgICAgIHsnbmFtZSc6ICdGb29CYXInLAorICAgICAgICAgICAgICd2ZXJzaW9uJzogJzEuMScsCisgICAgICAgICAgICAgJ2tleXdvcmRzJzogJycsCisgICAgICAgICAgICAgJ29ic29sZXRlc19kaXN0JzogWydGb29Gb28nXSwKKyAgICAgICAgICAgICAncmVxdWlyZXNfZXh0ZXJuYWwnOiBbJ0ZvbyddLAorICAgICAgICAgICAgfV0pCisgICAgICAgIHJlbGVhc2UgPSBjbGllbnQuZ2V0X21ldGFkYXRhKCdGb29CYXInLCAnMS4xJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChbJ0ZvbyddLCByZWxlYXNlLm1ldGFkYXRhWydyZXF1aXJlc19leHRlcm5hbCddKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKFsnRm9vRm9vJ10sIHJlbGVhc2UubWV0YWRhdGFbJ29ic29sZXRlc19kaXN0J10pCisKKworZGVmIHRlc3Rfc3VpdGUoKToKKyAgICBzdWl0ZSA9IHVuaXR0ZXN0LlRlc3RTdWl0ZSgpCisgICAgc3VpdGUuYWRkVGVzdCh1bml0dGVzdC5tYWtlU3VpdGUoVGVzdFhNTFJQQ0NsaWVudCkpCisgICAgcmV0dXJuIHN1aXRlCisKK2lmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CisgICAgdW5pdHRlc3QubWFpbihkZWZhdWx0VGVzdD0ndGVzdF9zdWl0ZScpCmRpZmYgLS1naXQgYS9MaWIvcGFja2FnaW5nL3Rlc3RzL3Rlc3RfcnVuLnB5IGIvTGliL3BhY2thZ2luZy90ZXN0cy90ZXN0X3J1bi5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNGU3YjA3Ci0tLSAvZGV2L251bGwKKysrIGIvTGliL3BhY2thZ2luZy90ZXN0cy90ZXN0X3J1bi5weQpAQCAtMCwwICsxLDkyIEBACisiIiJUZXN0cyBmb3IgcGFja2FnaW5nLnJ1bi4iIiIKKworaW1wb3J0IG9zCitpbXBvcnQgc3lzCitmcm9tIGlvIGltcG9ydCBTdHJpbmdJTworCitmcm9tIHBhY2thZ2luZyBpbXBvcnQgaW5zdGFsbAorZnJvbSBwYWNrYWdpbmcudGVzdHMgaW1wb3J0IHVuaXR0ZXN0LCBzdXBwb3J0Citmcm9tIHBhY2thZ2luZy5ydW4gaW1wb3J0IG1haW4KKworZnJvbSB0ZXN0LnNjcmlwdF9oZWxwZXIgaW1wb3J0IGFzc2VydF9weXRob25fb2sKKworIyBzZXR1cCBzY3JpcHQgdGhhdCB1c2VzIF9fZmlsZV9fCitzZXR1cF91c2luZ19fX2ZpbGVfXyA9ICIiIlwKK19fZmlsZV9fCisKK2Zyb20gcGFja2FnaW5nLnJ1biBpbXBvcnQgc2V0dXAKK3NldHVwKCkKKyIiIgorCitzZXR1cF9wcmludHNfY3dkID0gIiIiXAoraW1wb3J0IG9zCitwcmludCBvcy5nZXRjd2QoKQorCitmcm9tIHBhY2thZ2luZy5ydW4gaW1wb3J0IHNldHVwCitzZXR1cCgpCisiIiIKKworCitjbGFzcyBSdW5UZXN0Q2FzZShzdXBwb3J0LlRlbXBkaXJNYW5hZ2VyLAorICAgICAgICAgICAgICAgICAgc3VwcG9ydC5Mb2dnaW5nQ2F0Y2hlciwKKyAgICAgICAgICAgICAgICAgIHVuaXR0ZXN0LlRlc3RDYXNlKToKKworICAgIGRlZiBzZXRVcChzZWxmKToKKyAgICAgICAgc3VwZXIoUnVuVGVzdENhc2UsIHNlbGYpLnNldFVwKCkKKyAgICAgICAgc2VsZi5vbGRfYXJndiA9IHN5cy5hcmd2LCBzeXMuYXJndls6XQorCisgICAgZGVmIHRlYXJEb3duKHNlbGYpOgorICAgICAgICBzeXMuYXJndiA9IHNlbGYub2xkX2FyZ3ZbMF0KKyAgICAgICAgc3lzLmFyZ3ZbOl0gPSBzZWxmLm9sZF9hcmd2WzFdCisgICAgICAgIHN1cGVyKFJ1blRlc3RDYXNlLCBzZWxmKS50ZWFyRG93bigpCisKKyAgICAjIFRPRE8gcmVzdG9yZSB0aGUgdGVzdHMgcmVtb3ZlZCBzaXggbW9udGhzIGFnbyBhbmQgcG9ydCB0aGVtIHRvIHB5c2V0dXAKKworICAgIGRlZiB0ZXN0X2luc3RhbGwoc2VsZik6CisgICAgICAgICMgbWFraW5nIHN1cmUgaW5zdGFsbCByZXR1cm5zIDAgb3IgMSBleGl0IGNvZGVzCisgICAgICAgIHByb2plY3QgPSBvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKSwgJ3BhY2thZ2UudGd6JykKKyAgICAgICAgaW5zdGFsbF9wYXRoID0gc2VsZi5ta2R0ZW1wKCkKKyAgICAgICAgb2xkX2dldF9wYXRoID0gaW5zdGFsbC5nZXRfcGF0aAorICAgICAgICBpbnN0YWxsLmdldF9wYXRoID0gbGFtYmRhIHBhdGg6IGluc3RhbGxfcGF0aAorICAgICAgICBvbGRfbW9kID0gb3Muc3RhdChpbnN0YWxsX3BhdGgpLnN0X21vZGUKKyAgICAgICAgb3MuY2htb2QoaW5zdGFsbF9wYXRoLCAwKQorICAgICAgICBvbGRfc3RkZXJyID0gc3lzLnN0ZGVycgorICAgICAgICBzeXMuc3RkZXJyID0gU3RyaW5nSU8oKQorICAgICAgICB0cnk6CisgICAgICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGluc3RhbGwuaW5zdGFsbChwcm9qZWN0KSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobWFpbihbJ2luc3RhbGwnLCAnYmxhYmxhJ10pLCAxKQorICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgc3lzLnN0ZGVyciA9IG9sZF9zdGRlcnIKKyAgICAgICAgICAgIG9zLmNobW9kKGluc3RhbGxfcGF0aCwgb2xkX21vZCkKKyAgICAgICAgICAgIGluc3RhbGwuZ2V0X3BhdGggPSBvbGRfZ2V0X3BhdGgKKworICAgIGRlZiB0ZXN0X3Nob3dfaGVscChzZWxmKToKKyAgICAgICAgIyBzbW9rZSB0ZXN0LCBqdXN0IG1ha2VzIHN1cmUgc29tZSBoZWxwIGlzIGRpc3BsYXllZAorICAgICAgICBzdGF0dXMsIG91dCwgZXJyID0gYXNzZXJ0X3B5dGhvbl9vaygnLW0nLCAncGFja2FnaW5nLnJ1bicsICctLWhlbHAnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0YXR1cywgMCkKKyAgICAgICAgc2VsZi5hc3NlcnRHcmVhdGVyKG91dCwgYicnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGVyciwgYicnKQorCisgICAgZGVmIHRlc3RfbGlzdF9jb21tYW5kcyhzZWxmKToKKyAgICAgICAgc3RhdHVzLCBvdXQsIGVyciA9IGFzc2VydF9weXRob25fb2soJy1tJywgJ3BhY2thZ2luZy5ydW4nLCAncnVuJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy0tbGlzdC1jb21tYW5kcycpCisgICAgICAgICMgY2hlY2sgdGhhdCBzb21ldGhpbmcgaXMgZGlzcGxheWVkCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RhdHVzLCAwKQorICAgICAgICBzZWxmLmFzc2VydEdyZWF0ZXIob3V0LCBiJycpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXJyLCBiJycpCisKKyAgICAgICAgIyBtYWtlIHN1cmUgdGhlIG1hbnVhbCBncm91cGluZyBvZiBjb21tYW5kcyBpcyByZXNwZWN0ZWQKKyAgICAgICAgY2hlY2tfcG9zaXRpb24gPSBvdXQuZmluZChiJyAgY2hlY2s6ICcpCisgICAgICAgIGJ1aWxkX3Bvc2l0aW9uID0gb3V0LmZpbmQoYicgIGJ1aWxkOiAnKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoY2hlY2tfcG9zaXRpb24sIG91dCkgICMgIm91dCIgcHJpbnRlZCBhcyBkZWJ1Z2dpbmcgYWlkCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShidWlsZF9wb3NpdGlvbiwgb3V0KQorICAgICAgICBzZWxmLmFzc2VydExlc3MoY2hlY2tfcG9zaXRpb24sIGJ1aWxkX3Bvc2l0aW9uLCBvdXQpCisKKyAgICAgICAgIyBUT0RPIHRlc3QgdGhhdCBjdXN0b20gY29tbWFuZHMgZG9uJ3QgYnJlYWsgLS1saXN0LWNvbW1hbmRzCisKKworZGVmIHRlc3Rfc3VpdGUoKToKKyAgICByZXR1cm4gdW5pdHRlc3QubWFrZVN1aXRlKFJ1blRlc3RDYXNlKQorCitpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgorICAgIHVuaXR0ZXN0Lm1haW4oZGVmYXVsdFRlc3Q9InRlc3Rfc3VpdGUiKQpkaWZmIC0tZ2l0IGEvTGliL3BhY2thZ2luZy90ZXN0cy90ZXN0X3N1cHBvcnQucHkgYi9MaWIvcGFja2FnaW5nL3Rlc3RzL3Rlc3Rfc3VwcG9ydC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYWU5ZTFiCi0tLSAvZGV2L251bGwKKysrIGIvTGliL3BhY2thZ2luZy90ZXN0cy90ZXN0X3N1cHBvcnQucHkKQEAgLTAsMCArMSw3OCBAQAoraW1wb3J0IG9zCitpbXBvcnQgdGVtcGZpbGUKKworZnJvbSBwYWNrYWdpbmcuZGlzdCBpbXBvcnQgRGlzdHJpYnV0aW9uCitmcm9tIHBhY2thZ2luZy50ZXN0cyBpbXBvcnQgc3VwcG9ydCwgdW5pdHRlc3QKKworCitjbGFzcyBUZXN0aW5nU3VwcG9ydFRlc3RDYXNlKHVuaXR0ZXN0LlRlc3RDYXNlKToKKworICAgIGRlZiB0ZXN0X2Zha2VfZGVjKHNlbGYpOgorICAgICAgICBAc3VwcG9ydC5mYWtlX2RlYygxLCAyLCBrPTMpCisgICAgICAgIGRlZiBmdW5jKGFyZzAsICphcmdzLCAqKmthcmdzKToKKyAgICAgICAgICAgIHJldHVybiBhcmcwLCBhcmdzLCBrYXJncworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGZ1bmMoLTEsIC0yLCBrPS0zKSwgKC0xLCAoLTIsKSwgeydrJzogLTN9KSkKKworICAgIGRlZiB0ZXN0X1RlbXBkaXJNYW5hZ2VyKHNlbGYpOgorICAgICAgICBmaWxlcyA9IHt9CisKKyAgICAgICAgY2xhc3MgVGVzdGVyKHN1cHBvcnQuVGVtcGRpck1hbmFnZXIsIHVuaXR0ZXN0LlRlc3RDYXNlKToKKworICAgICAgICAgICAgZGVmIHRlc3RfbWt0ZW1wZmlsZShzZWxmMik6CisgICAgICAgICAgICAgICAgdG1wZmlsZSA9IHNlbGYyLm1rdGVtcGZpbGUoKQorICAgICAgICAgICAgICAgIGZpbGVzWyd0ZXN0X21rdGVtcGZpbGUnXSA9IHRtcGZpbGUubmFtZQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShvcy5wYXRoLmlzZmlsZSh0bXBmaWxlLm5hbWUpKQorCisgICAgICAgICAgICBkZWYgdGVzdF9ta2R0ZW1wKHNlbGYyKToKKyAgICAgICAgICAgICAgICB0bXBkaXIgPSBzZWxmMi5ta2R0ZW1wKCkKKyAgICAgICAgICAgICAgICBmaWxlc1sndGVzdF9ta2R0ZW1wJ10gPSB0bXBkaXIKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUob3MucGF0aC5pc2Rpcih0bXBkaXIpKQorCisgICAgICAgICAgICBkZWYgdGVzdF93cml0ZV9maWxlKHNlbGYyKToKKyAgICAgICAgICAgICAgICB0bXBkaXIgPSBzZWxmMi5ta2R0ZW1wKCkKKyAgICAgICAgICAgICAgICBmaWxlc1sndGVzdF93cml0ZV9maWxlJ10gPSB0bXBkaXIKKyAgICAgICAgICAgICAgICBzZWxmMi53cml0ZV9maWxlKCh0bXBkaXIsICdmaWxlMScpLCAnbWUgZmlsZSAxJykKKyAgICAgICAgICAgICAgICBmaWxlMSA9IG9zLnBhdGguam9pbih0bXBkaXIsICdmaWxlMScpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG9zLnBhdGguaXNmaWxlKGZpbGUxKSkKKyAgICAgICAgICAgICAgICB0ZXh0ID0gJycKKyAgICAgICAgICAgICAgICB3aXRoIG9wZW4oZmlsZTEsICdyJykgYXMgZjoKKyAgICAgICAgICAgICAgICAgICAgdGV4dCA9IGYucmVhZCgpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh0ZXh0LCAnbWUgZmlsZSAxJykKKworICAgICAgICAgICAgZGVmIHRlc3RfY3JlYXRlX2Rpc3Qoc2VsZjIpOgorICAgICAgICAgICAgICAgIHByb2plY3RfZGlyLCBkaXN0ID0gc2VsZjIuY3JlYXRlX2Rpc3QoKQorICAgICAgICAgICAgICAgIGZpbGVzWyd0ZXN0X2NyZWF0ZV9kaXN0J10gPSBwcm9qZWN0X2RpcgorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShvcy5wYXRoLmlzZGlyKHByb2plY3RfZGlyKSkKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2UoZGlzdCwgRGlzdHJpYnV0aW9uKQorCisgICAgICAgICAgICBkZWYgdGVzdF9hc3NlcnRJc0ZpbGUoc2VsZjIpOgorICAgICAgICAgICAgICAgIGZkLCBmbiA9IHRlbXBmaWxlLm1rc3RlbXAoKQorICAgICAgICAgICAgICAgIG9zLmNsb3NlKGZkKQorICAgICAgICAgICAgICAgIHNlbGYuYWRkQ2xlYW51cChzdXBwb3J0LnVubGluaywgZm4pCisgICAgICAgICAgICAgICAgc2VsZjIuYXNzZXJ0SXNGaWxlKGZuKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEFzc2VydGlvbkVycm9yLCBzZWxmMi5hc3NlcnRJc0ZpbGUsICdmb08nKQorCisgICAgICAgICAgICBkZWYgdGVzdF9hc3NlcnRJc05vdEZpbGUoc2VsZjIpOgorICAgICAgICAgICAgICAgIHRtcGRpciA9IHNlbGYyLm1rZHRlbXAoKQorICAgICAgICAgICAgICAgIHNlbGYyLmFzc2VydElzTm90RmlsZSh0bXBkaXIpCisKKyAgICAgICAgdGVzdGVyID0gVGVzdGVyKCkKKyAgICAgICAgZm9yIG5hbWUgaW4gKCd0ZXN0X21rdGVtcGZpbGUnLCAndGVzdF9ta2R0ZW1wJywgJ3Rlc3Rfd3JpdGVfZmlsZScsCisgICAgICAgICAgICAgICAgICAgICAndGVzdF9jcmVhdGVfZGlzdCcsICd0ZXN0X2Fzc2VydElzRmlsZScsCisgICAgICAgICAgICAgICAgICAgICAndGVzdF9hc3NlcnRJc05vdEZpbGUnKToKKyAgICAgICAgICAgIHRlc3Rlci5zZXRVcCgpCisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgZ2V0YXR0cih0ZXN0ZXIsIG5hbWUpKCkKKyAgICAgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICAgICAgdGVzdGVyLnRlYXJEb3duKCkKKworICAgICAgICAgICAgIyBjaGVjayBjbGVhbi11cAorICAgICAgICAgICAgaWYgbmFtZSBpbiBmaWxlczoKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEZhbHNlKG9zLnBhdGguZXhpc3RzKGZpbGVzW25hbWVdKSkKKworCitkZWYgdGVzdF9zdWl0ZSgpOgorICAgIHJldHVybiB1bml0dGVzdC5tYWtlU3VpdGUoVGVzdGluZ1N1cHBvcnRUZXN0Q2FzZSkKKworaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKKyAgICB1bml0dGVzdC5tYWluKGRlZmF1bHRUZXN0PSJ0ZXN0X3N1aXRlIikKZGlmZiAtLWdpdCBhL0xpYi9wYWNrYWdpbmcvdGVzdHMvdGVzdF91bmluc3RhbGwucHkgYi9MaWIvcGFja2FnaW5nL3Rlc3RzL3Rlc3RfdW5pbnN0YWxsLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIwZDliYTcKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvcGFja2FnaW5nL3Rlc3RzL3Rlc3RfdW5pbnN0YWxsLnB5CkBAIC0wLDAgKzEsMTI0IEBACisiIiJUZXN0cyBmb3IgdGhlIHBhY2thZ2luZy51bmluc3RhbGwgbW9kdWxlLiIiIgoraW1wb3J0IG9zCitpbXBvcnQgbG9nZ2luZworaW1wb3J0IHBhY2thZ2luZy51dGlsCisKK2Zyb20gcGFja2FnaW5nLmVycm9ycyBpbXBvcnQgUGFja2FnaW5nRXJyb3IKK2Zyb20gcGFja2FnaW5nLmluc3RhbGwgaW1wb3J0IHJlbW92ZQorZnJvbSBwYWNrYWdpbmcuZGF0YWJhc2UgaW1wb3J0IGRpc2FibGVfY2FjaGUsIGVuYWJsZV9jYWNoZQorCitmcm9tIHBhY2thZ2luZy50ZXN0cyBpbXBvcnQgdW5pdHRlc3QsIHN1cHBvcnQKKworU0VUVVBfQ0ZHID0gIiIiCitbbWV0YWRhdGFdCituYW1lID0gJShuYW1lKXMKK3ZlcnNpb24gPSAlKHZlcnNpb24pcworCitbZmlsZXNdCitwYWNrYWdlcyA9CisgICAgJShwa2cpcworICAgICUocGtnKXMuc3ViCisiIiIKKworCitjbGFzcyBVbmluc3RhbGxUZXN0Q2FzZShzdXBwb3J0LlRlbXBkaXJNYW5hZ2VyLAorICAgICAgICAgICAgICAgICAgICAgICAgc3VwcG9ydC5Mb2dnaW5nQ2F0Y2hlciwKKyAgICAgICAgICAgICAgICAgICAgICAgIHN1cHBvcnQuRW52aXJvblJlc3RvcmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgdW5pdHRlc3QuVGVzdENhc2UpOgorCisgICAgcmVzdG9yZV9lbnZpcm9uID0gWydQTEFUJ10KKworICAgIGRlZiBzZXRVcChzZWxmKToKKyAgICAgICAgc3VwZXIoVW5pbnN0YWxsVGVzdENhc2UsIHNlbGYpLnNldFVwKCkKKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKGVuYWJsZV9jYWNoZSkKKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKHBhY2thZ2luZy51dGlsLl9wYXRoX2NyZWF0ZWQuY2xlYXIpCisgICAgICAgIGRpc2FibGVfY2FjaGUoKQorCisgICAgZGVmIGdldF9wYXRoKHNlbGYsIGRpc3QsIG5hbWUpOgorICAgICAgICAjIHRoZSBkaXN0IGFyZ3VtZW50IG11c3QgY29udGFpbiBhbiBpbnN0YWxsX2Rpc3QgY29tbWFuZCBjb3JyZWN0bHkKKyAgICAgICAgIyBpbml0aWFsaXplZCB3aXRoIGEgcHJlZml4IG9wdGlvbiBhbmQgZmluYWxpemVkIGJlZm9yZWQgdGhpcyBtZXRob2QKKyAgICAgICAgIyBjYW4gYmUgY2FsbGVkIHN1Y2Nlc3NmdWxseTsgcHJhY3RpY2FsbHksIHRoaXMgbWVhbnMgdGhhdCB5b3Ugc2hvdWxkCisgICAgICAgICMgY2FsbCBzZWxmLmluc3RhbGxfZGlzdCBiZWZvcmUgc2VsZi5nZXRfcGF0aAorICAgICAgICBjbWQgPSBkaXN0LmdldF9jb21tYW5kX29iaignaW5zdGFsbF9kaXN0JykKKyAgICAgICAgcmV0dXJuIGdldGF0dHIoY21kLCAnaW5zdGFsbF8nICsgbmFtZSkKKworICAgIGRlZiBtYWtlX2Rpc3Qoc2VsZiwgbmFtZT0nRm9vJywgKiprdyk6CisgICAgICAgIGt3WyduYW1lJ10gPSBuYW1lCisgICAgICAgIHBrZyA9IG5hbWUubG93ZXIoKQorICAgICAgICBpZiAndmVyc2lvbicgbm90IGluIGt3OgorICAgICAgICAgICAga3dbJ3ZlcnNpb24nXSA9ICcwLjEnCisgICAgICAgIHByb2plY3RfZGlyLCBkaXN0ID0gc2VsZi5jcmVhdGVfZGlzdCgqKmt3KQorICAgICAgICBrd1sncGtnJ10gPSBwa2cKKworICAgICAgICBwa2dfZGlyID0gb3MucGF0aC5qb2luKHByb2plY3RfZGlyLCBwa2cpCisgICAgICAgIG9zLm1ha2VkaXJzKG9zLnBhdGguam9pbihwa2dfZGlyLCAnc3ViJykpCisKKyAgICAgICAgc2VsZi53cml0ZV9maWxlKChwcm9qZWN0X2RpciwgJ3NldHVwLmNmZycpLCBTRVRVUF9DRkcgJSBrdykKKyAgICAgICAgc2VsZi53cml0ZV9maWxlKChwa2dfZGlyLCAnX19pbml0X18ucHknKSwgJyMnKQorICAgICAgICBzZWxmLndyaXRlX2ZpbGUoKHBrZ19kaXIsIHBrZyArICdfdXRpbHMucHknKSwgJyMnKQorICAgICAgICBzZWxmLndyaXRlX2ZpbGUoKHBrZ19kaXIsICdzdWInLCAnX19pbml0X18ucHknKSwgJyMnKQorICAgICAgICBzZWxmLndyaXRlX2ZpbGUoKHBrZ19kaXIsICdzdWInLCBwa2cgKyAnX3V0aWxzLnB5JyksICcjJykKKworICAgICAgICByZXR1cm4gcHJvamVjdF9kaXIKKworICAgIGRlZiBpbnN0YWxsX2Rpc3Qoc2VsZiwgbmFtZT0nRm9vJywgZGlybmFtZT1Ob25lLCAqKmt3KToKKyAgICAgICAgaWYgbm90IGRpcm5hbWU6CisgICAgICAgICAgICBkaXJuYW1lID0gc2VsZi5tYWtlX2Rpc3QobmFtZSwgKiprdykKKyAgICAgICAgb3MuY2hkaXIoZGlybmFtZSkKKworICAgICAgICBkaXN0ID0gc3VwcG9ydC5UZXN0RGlzdHJpYnV0aW9uKCkKKyAgICAgICAgIyBmb3Igc29tZSB1bmZhdGhvbWFibGUgcmVhc29uLCB0aGUgdGVzdHMgd2lsbCBmYWlsIGhvcnJpYmx5IGlmIHRoZQorICAgICAgICAjIHBhcnNlX2NvbmZpZ19maWxlcyBtZXRob2QgaXMgbm90IGNhbGxlZCwgZXZlbiBpZiBpdCBkb2Vzbid0IGRvCisgICAgICAgICMgYW55dGhpbmcgdXNlZnVsOyB0cnlpbmcgdG8gYnVpbGQgYW5kIHVzZSBhIGNvbW1hbmQgb2JqZWN0IG1hbnVhbGx5CisgICAgICAgICMgYWxzbyBmYWlscworICAgICAgICBkaXN0LnBhcnNlX2NvbmZpZ19maWxlcygpCisgICAgICAgIGRpc3QuZmluYWxpemVfb3B0aW9ucygpCisgICAgICAgIGRpc3QucnVuX2NvbW1hbmQoJ2luc3RhbGxfZGlzdCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgeydwcmVmaXgnOiAoJ2NvbW1hbmQgbGluZScsIHNlbGYubWtkdGVtcCgpKX0pCisKKyAgICAgICAgc2l0ZV9wYWNrYWdlcyA9IHNlbGYuZ2V0X3BhdGgoZGlzdCwgJ3B1cmVsaWInKQorICAgICAgICByZXR1cm4gZGlzdCwgc2l0ZV9wYWNrYWdlcworCisgICAgZGVmIHRlc3RfdW5pbnN0YWxsX3Vua25vd25fZGlzdHJpYnV0aW9uKHNlbGYpOgorICAgICAgICBkaXN0LCBzaXRlX3BhY2thZ2VzID0gc2VsZi5pbnN0YWxsX2Rpc3QoJ0Zvb3NwYW0nKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhQYWNrYWdpbmdFcnJvciwgcmVtb3ZlLCAnRm9vJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aHM9W3NpdGVfcGFja2FnZXNdKQorCisgICAgZGVmIHRlc3RfdW5pbnN0YWxsKHNlbGYpOgorICAgICAgICBkaXN0LCBzaXRlX3BhY2thZ2VzID0gc2VsZi5pbnN0YWxsX2Rpc3QoKQorICAgICAgICBzZWxmLmFzc2VydElzRmlsZShzaXRlX3BhY2thZ2VzLCAnZm9vJywgJ19faW5pdF9fLnB5JykKKyAgICAgICAgc2VsZi5hc3NlcnRJc0ZpbGUoc2l0ZV9wYWNrYWdlcywgJ2ZvbycsICdzdWInLCAnX19pbml0X18ucHknKQorICAgICAgICBzZWxmLmFzc2VydElzRmlsZShzaXRlX3BhY2thZ2VzLCAnRm9vLTAuMS5kaXN0LWluZm8nLCAnUkVDT1JEJykKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHJlbW92ZSgnRm9vJywgcGF0aHM9W3NpdGVfcGFja2FnZXNdKSkKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vdEZpbGUoc2l0ZV9wYWNrYWdlcywgJ2ZvbycsICdzdWInLCAnX19pbml0X18ucHknKQorICAgICAgICBzZWxmLmFzc2VydElzTm90RmlsZShzaXRlX3BhY2thZ2VzLCAnRm9vLTAuMS5kaXN0LWluZm8nLCAnUkVDT1JEJykKKworICAgIGRlZiB0ZXN0X3VuaW5zdGFsbF9lcnJvcl9oYW5kbGluZyhzZWxmKToKKyAgICAgICAgIyBtYWtlcyBzdXJlIGlmIHRoZXJlIGFyZSBPU0Vycm9ycyAobGlrZSBwZXJtaXNzaW9uIGRlbmllZCkKKyAgICAgICAgIyByZW1vdmUoKSBzdG9wcyBhbmQgZGlzcGxheXMgYSBjbGVhbiBlcnJvcgorICAgICAgICBkaXN0LCBzaXRlX3BhY2thZ2VzID0gc2VsZi5pbnN0YWxsX2Rpc3QoJ01laCcpCisKKyAgICAgICAgIyBicmVha2luZyBvcy5yZW5hbWUKKyAgICAgICAgb2xkID0gb3MucmVuYW1lCisKKyAgICAgICAgZGVmIF9yZW5hbWUoc291cmNlLCB0YXJnZXQpOgorICAgICAgICAgICAgcmFpc2UgT1NFcnJvcig0MiwgJ2ltcG9zc2libGUgb3BlcmF0aW9uJykKKworICAgICAgICBvcy5yZW5hbWUgPSBfcmVuYW1lCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UocmVtb3ZlKCdNZWgnLCBwYXRocz1bc2l0ZV9wYWNrYWdlc10pKQorICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgb3MucmVuYW1lID0gb2xkCisKKyAgICAgICAgbG9ncyA9IFtsb2cgZm9yIGxvZyBpbiBzZWxmLmdldF9sb2dzKGxvZ2dpbmcuSU5GTykKKyAgICAgICAgICAgICAgICBpZiBsb2cuc3RhcnRzd2l0aCgnRXJyb3I6JyldCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobG9ncywgWydFcnJvcjogW0Vycm5vIDQyXSBpbXBvc3NpYmxlIG9wZXJhdGlvbiddKQorCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShyZW1vdmUoJ01laCcsIHBhdGhzPVtzaXRlX3BhY2thZ2VzXSkpCisKKworZGVmIHRlc3Rfc3VpdGUoKToKKyAgICByZXR1cm4gdW5pdHRlc3QubWFrZVN1aXRlKFVuaW5zdGFsbFRlc3RDYXNlKQorCitpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgorICAgIHVuaXR0ZXN0Lm1haW4oZGVmYXVsdFRlc3Q9J3Rlc3Rfc3VpdGUnKQpkaWZmIC0tZ2l0IGEvTGliL3BhY2thZ2luZy90ZXN0cy90ZXN0X3VuaXhjY29tcGlsZXIucHkgYi9MaWIvcGFja2FnaW5nL3Rlc3RzL3Rlc3RfdW5peGNjb21waWxlci5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNmExYWYzCi0tLSAvZGV2L251bGwKKysrIGIvTGliL3BhY2thZ2luZy90ZXN0cy90ZXN0X3VuaXhjY29tcGlsZXIucHkKQEAgLTAsMCArMSwxMzIgQEAKKyIiIlRlc3RzIGZvciBwYWNrYWdpbmcudW5peGNjb21waWxlci4iIiIKK2ltcG9ydCBzeXMKKworaW1wb3J0IHN5c2NvbmZpZworZnJvbSBwYWNrYWdpbmcuY29tcGlsZXIudW5peGNjb21waWxlciBpbXBvcnQgVW5peENDb21waWxlcgorZnJvbSBwYWNrYWdpbmcudGVzdHMgaW1wb3J0IHVuaXR0ZXN0CisKKworY2xhc3MgVW5peENDb21waWxlclRlc3RDYXNlKHVuaXR0ZXN0LlRlc3RDYXNlKToKKworICAgIGRlZiBzZXRVcChzZWxmKToKKyAgICAgICAgc2VsZi5fYmFja3VwX3BsYXRmb3JtID0gc3lzLnBsYXRmb3JtCisgICAgICAgIHNlbGYuX2JhY2t1cF9nZXRfY29uZmlnX3ZhciA9IHN5c2NvbmZpZy5nZXRfY29uZmlnX3ZhcgorCisgICAgICAgIGNsYXNzIENvbXBpbGVyV3JhcHBlcihVbml4Q0NvbXBpbGVyKToKKyAgICAgICAgICAgIGRlZiBycGF0aF9mb28oc2VsZik6CisgICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYucnVudGltZV9saWJyYXJ5X2Rpcl9vcHRpb24oJy9mb28nKQorICAgICAgICBzZWxmLmNjID0gQ29tcGlsZXJXcmFwcGVyKCkKKworICAgIGRlZiB0ZWFyRG93bihzZWxmKToKKyAgICAgICAgc3lzLnBsYXRmb3JtID0gc2VsZi5fYmFja3VwX3BsYXRmb3JtCisgICAgICAgIHN5c2NvbmZpZy5nZXRfY29uZmlnX3ZhciA9IHNlbGYuX2JhY2t1cF9nZXRfY29uZmlnX3ZhcgorCisgICAgQHVuaXR0ZXN0LnNraXBJZihzeXMucGxhdGZvcm0gPT0gJ3dpbjMyJywgJ2lycmVsZXZhbnQgb24gd2luMzInKQorICAgIGRlZiB0ZXN0X3J1bnRpbWVfbGliZGlyX29wdGlvbihzZWxmKToKKworICAgICAgICAjIElzc3VlICM1OTAwOiBFbnN1cmUgUlVOUEFUSCBpcyBhZGRlZCB0byBleHRlbnNpb24KKyAgICAgICAgIyBtb2R1bGVzIHdpdGggUlBBVEggaWYgR05VIGxkIGlzIHVzZWQKKworICAgICAgICAjIGRhcndpbgorICAgICAgICBzeXMucGxhdGZvcm0gPSAnZGFyd2luJworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuY2MucnBhdGhfZm9vKCksICctTC9mb28nKQorCisgICAgICAgICMgaHAtdXgKKyAgICAgICAgc3lzLnBsYXRmb3JtID0gJ2hwLXV4JworICAgICAgICBvbGRfZ2N2ID0gc3lzY29uZmlnLmdldF9jb25maWdfdmFyCisKKyAgICAgICAgZGVmIGdjdih2KToKKyAgICAgICAgICAgIHJldHVybiAneHh4JworICAgICAgICBzeXNjb25maWcuZ2V0X2NvbmZpZ192YXIgPSBnY3YKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmNjLnJwYXRoX2ZvbygpLCBbJytzJywgJy1ML2ZvbyddKQorCisgICAgICAgIGRlZiBnY3Yodik6CisgICAgICAgICAgICByZXR1cm4gJ2djYycKKyAgICAgICAgc3lzY29uZmlnLmdldF9jb25maWdfdmFyID0gZ2N2CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5jYy5ycGF0aF9mb28oKSwgWyctV2wsK3MnLCAnLUwvZm9vJ10pCisKKyAgICAgICAgZGVmIGdjdih2KToKKyAgICAgICAgICAgIHJldHVybiAnZysrJworICAgICAgICBzeXNjb25maWcuZ2V0X2NvbmZpZ192YXIgPSBnY3YKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmNjLnJwYXRoX2ZvbygpLCBbJy1XbCwrcycsICctTC9mb28nXSkKKworICAgICAgICBzeXNjb25maWcuZ2V0X2NvbmZpZ192YXIgPSBvbGRfZ2N2CisKKyAgICAgICAgIyBpcml4NjQ2CisgICAgICAgIHN5cy5wbGF0Zm9ybSA9ICdpcml4NjQ2JworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuY2MucnBhdGhfZm9vKCksIFsnLXJwYXRoJywgJy9mb28nXSkKKworICAgICAgICAjIG9zZjFWNQorICAgICAgICBzeXMucGxhdGZvcm0gPSAnb3NmMVY1JworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuY2MucnBhdGhfZm9vKCksIFsnLXJwYXRoJywgJy9mb28nXSkKKworICAgICAgICAjIEdDQyBHTlVMRAorICAgICAgICBzeXMucGxhdGZvcm0gPSAnYmFyJworCisgICAgICAgIGRlZiBnY3Yodik6CisgICAgICAgICAgICBpZiB2ID09ICdDQyc6CisgICAgICAgICAgICAgICAgcmV0dXJuICdnY2MnCisgICAgICAgICAgICBlbGlmIHYgPT0gJ0dOVUxEJzoKKyAgICAgICAgICAgICAgICByZXR1cm4gJ3llcycKKyAgICAgICAgc3lzY29uZmlnLmdldF9jb25maWdfdmFyID0gZ2N2CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5jYy5ycGF0aF9mb28oKSwgJy1XbCwtLWVuYWJsZS1uZXctZHRhZ3MsLVIvZm9vJykKKworICAgICAgICAjIEdDQyBub24tR05VTEQKKyAgICAgICAgc3lzLnBsYXRmb3JtID0gJ2JhcicKKworICAgICAgICBkZWYgZ2N2KHYpOgorICAgICAgICAgICAgaWYgdiA9PSAnQ0MnOgorICAgICAgICAgICAgICAgIHJldHVybiAnZ2NjJworICAgICAgICAgICAgZWxpZiB2ID09ICdHTlVMRCc6CisgICAgICAgICAgICAgICAgcmV0dXJuICdubycKKyAgICAgICAgc3lzY29uZmlnLmdldF9jb25maWdfdmFyID0gZ2N2CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5jYy5ycGF0aF9mb28oKSwgJy1XbCwtUi9mb28nKQorCisgICAgICAgICMgR0NDIEdOVUxEIHdpdGggZnVsbHkgcXVhbGlmaWVkIGNvbmZpZ3VyYXRpb24gcHJlZml4CisgICAgICAgICMgc2VlICM3NjE3CisgICAgICAgIHN5cy5wbGF0Zm9ybSA9ICdiYXInCisKKyAgICAgICAgZGVmIGdjdih2KToKKyAgICAgICAgICAgIGlmIHYgPT0gJ0NDJzoKKyAgICAgICAgICAgICAgICByZXR1cm4gJ3g4Nl82NC1wYy1saW51eC1nbnUtZ2NjLTQuNC4yJworICAgICAgICAgICAgZWxpZiB2ID09ICdHTlVMRCc6CisgICAgICAgICAgICAgICAgcmV0dXJuICd5ZXMnCisgICAgICAgIHN5c2NvbmZpZy5nZXRfY29uZmlnX3ZhciA9IGdjdgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuY2MucnBhdGhfZm9vKCksICctV2wsLS1lbmFibGUtbmV3LWR0YWdzLC1SL2ZvbycpCisKKyAgICAgICAgIyBub24tR0NDIEdOVUxECisgICAgICAgIHN5cy5wbGF0Zm9ybSA9ICdiYXInCisKKyAgICAgICAgZGVmIGdjdih2KToKKyAgICAgICAgICAgIGlmIHYgPT0gJ0NDJzoKKyAgICAgICAgICAgICAgICByZXR1cm4gJ2NjJworICAgICAgICAgICAgZWxpZiB2ID09ICdHTlVMRCc6CisgICAgICAgICAgICAgICAgcmV0dXJuICd5ZXMnCisgICAgICAgIHN5c2NvbmZpZy5nZXRfY29uZmlnX3ZhciA9IGdjdgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuY2MucnBhdGhfZm9vKCksICctUi9mb28nKQorCisgICAgICAgICMgbm9uLUdDQyBub24tR05VTEQKKyAgICAgICAgc3lzLnBsYXRmb3JtID0gJ2JhcicKKworICAgICAgICBkZWYgZ2N2KHYpOgorICAgICAgICAgICAgaWYgdiA9PSAnQ0MnOgorICAgICAgICAgICAgICAgIHJldHVybiAnY2MnCisgICAgICAgICAgICBlbGlmIHYgPT0gJ0dOVUxEJzoKKyAgICAgICAgICAgICAgICByZXR1cm4gJ25vJworICAgICAgICBzeXNjb25maWcuZ2V0X2NvbmZpZ192YXIgPSBnY3YKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmNjLnJwYXRoX2ZvbygpLCAnLVIvZm9vJykKKworICAgICAgICAjIEFJWCBDL0MrKyBsaW5rZXIKKyAgICAgICAgc3lzLnBsYXRmb3JtID0gJ2FpeCcKKworICAgICAgICBkZWYgZ2N2KHYpOgorICAgICAgICAgICAgcmV0dXJuICd4eHgnCisgICAgICAgIHN5c2NvbmZpZy5nZXRfY29uZmlnX3ZhciA9IGdjdgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuY2MucnBhdGhfZm9vKCksICctYmxpYnBhdGg6L2ZvbycpCisKKworZGVmIHRlc3Rfc3VpdGUoKToKKyAgICByZXR1cm4gdW5pdHRlc3QubWFrZVN1aXRlKFVuaXhDQ29tcGlsZXJUZXN0Q2FzZSkKKworaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKKyAgICB1bml0dGVzdC5tYWluKGRlZmF1bHRUZXN0PSJ0ZXN0X3N1aXRlIikKZGlmZiAtLWdpdCBhL0xpYi9wYWNrYWdpbmcvdGVzdHMvdGVzdF91dGlsLnB5IGIvTGliL3BhY2thZ2luZy90ZXN0cy90ZXN0X3V0aWwucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2Y3ZWQxOAotLS0gL2Rldi9udWxsCisrKyBiL0xpYi9wYWNrYWdpbmcvdGVzdHMvdGVzdF91dGlsLnB5CkBAIC0wLDAgKzEsMTAxMyBAQAorIiIiVGVzdHMgZm9yIHBhY2thZ2luZy51dGlsLiIiIgoraW1wb3J0IG9zCitpbXBvcnQgc3lzCitpbXBvcnQgdGltZQoraW1wb3J0IGxvZ2dpbmcKK2ltcG9ydCB0ZW1wZmlsZQoraW1wb3J0IHRleHR3cmFwCitpbXBvcnQgd2FybmluZ3MKK2ltcG9ydCBzdWJwcm9jZXNzCitmcm9tIGlvIGltcG9ydCBTdHJpbmdJTworCitmcm9tIHBhY2thZ2luZy5lcnJvcnMgaW1wb3J0ICgKKyAgICBQYWNrYWdpbmdQbGF0Zm9ybUVycm9yLCBQYWNrYWdpbmdGaWxlRXJyb3IsCisgICAgUGFja2FnaW5nRXhlY0Vycm9yLCBJbnN0YWxsYXRpb25FeGNlcHRpb24pCitmcm9tIHBhY2thZ2luZyBpbXBvcnQgdXRpbAorZnJvbSBwYWNrYWdpbmcuZGlzdCBpbXBvcnQgRGlzdHJpYnV0aW9uCitmcm9tIHBhY2thZ2luZy51dGlsIGltcG9ydCAoCisgICAgY29udmVydF9wYXRoLCBjaGFuZ2Vfcm9vdCwgc3BsaXRfcXVvdGVkLCBzdHJ0b2Jvb2wsIHJ1bl8ydG8zLAorICAgIGdldF9jb21waWxlcl92ZXJzaW9ucywgX01BQ19PU19YX0xEX1ZFUlNJT04sIGJ5dGVfY29tcGlsZSwgZmluZF9wYWNrYWdlcywKKyAgICBzcGF3biwgZ2V0X3B5cGlyY19wYXRoLCBnZW5lcmF0ZV9weXBpcmMsIHJlYWRfcHlwaXJjLCByZXNvbHZlX25hbWUsIGlnbG9iLAorICAgIFJJQ0hfR0xPQiwgZWdnaW5mb190b19kaXN0aW5mbywgaXNfc2V0dXB0b29scywgaXNfZGlzdHV0aWxzLCBpc19wYWNrYWdpbmcsCisgICAgZ2V0X2luc3RhbGxfbWV0aG9kLCBjZmdfdG9fYXJncywgZ2VuZXJhdGVfc2V0dXBfcHksIGVuY29kZV9tdWx0aXBhcnQpCisKK2Zyb20gcGFja2FnaW5nLnRlc3RzIGltcG9ydCBzdXBwb3J0LCB1bml0dGVzdAorZnJvbSBwYWNrYWdpbmcudGVzdHMudGVzdF9jb25maWcgaW1wb3J0IFNFVFVQX0NGRworZnJvbSB0ZXN0LnNjcmlwdF9oZWxwZXIgaW1wb3J0IGFzc2VydF9weXRob25fb2ssIGFzc2VydF9weXRob25fZmFpbHVyZQorCisKK1BZUElSQyA9ICIiIlwKK1tkaXN0dXRpbHNdCitpbmRleC1zZXJ2ZXJzID0KKyAgICBweXBpCisgICAgc2VydmVyMQorCitbcHlwaV0KK3VzZXJuYW1lOm1lCitwYXNzd29yZDp4eHh4CisKK1tzZXJ2ZXIxXQorcmVwb3NpdG9yeTpodHRwOi8vZXhhbXBsZS5jb20KK3VzZXJuYW1lOnRhcmVrCitwYXNzd29yZDpzZWNyZXQKKyIiIgorCitQWVBJUkNfT0xEID0gIiIiXAorW3NlcnZlci1sb2dpbl0KK3VzZXJuYW1lOnRhcmVrCitwYXNzd29yZDpzZWNyZXQKKyIiIgorCitXQU5URUQgPSAiIiJcCitbZGlzdHV0aWxzXQoraW5kZXgtc2VydmVycyA9CisgICAgcHlwaQorCitbcHlwaV0KK3VzZXJuYW1lOnRhcmVrCitwYXNzd29yZDp4eHgKKyIiIgorCitFWFBFQ1RFRF9NVUxUSVBBUlRfT1VUUFVUID0gWworICAgIGInLS0teCcsCisgICAgYidDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9InVzZXJuYW1lIicsCisgICAgYicnLAorICAgIGInd29rJywKKyAgICBiJy0tLXgnLAorICAgIGInQ29udGVudC1EaXNwb3NpdGlvbjogZm9ybS1kYXRhOyBuYW1lPSJwYXNzd29yZCInLAorICAgIGInJywKKyAgICBiJ3NlY3JldCcsCisgICAgYictLS14JywKKyAgICBiJ0NvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0icGljdHVyZSI7IGZpbGVuYW1lPSJ3b2sucG5nIicsCisgICAgYicnLAorICAgIGInUE5HODknLAorICAgIGInLS0teC0tJywKKyAgICBiJycsCitdCisKKworY2xhc3MgRmFrZVBvcGVuOgorICAgIHRlc3RfY2xhc3MgPSBOb25lCisKKyAgICBkZWYgX19pbml0X18oc2VsZiwgYXJncywgYnVmc2l6ZT0wLCBleGVjdXRhYmxlPU5vbmUsCisgICAgICAgICAgICAgICAgIHN0ZGluPU5vbmUsIHN0ZG91dD1Ob25lLCBzdGRlcnI9Tm9uZSwKKyAgICAgICAgICAgICAgICAgcHJlZXhlY19mbj1Ob25lLCBjbG9zZV9mZHM9RmFsc2UsCisgICAgICAgICAgICAgICAgIHNoZWxsPUZhbHNlLCBjd2Q9Tm9uZSwgZW52PU5vbmUsIHVuaXZlcnNhbF9uZXdsaW5lcz1GYWxzZSwKKyAgICAgICAgICAgICAgICAgc3RhcnR1cGluZm89Tm9uZSwgY3JlYXRpb25mbGFncz0wLAorICAgICAgICAgICAgICAgICByZXN0b3JlX3NpZ25hbHM9VHJ1ZSwgc3RhcnRfbmV3X3Nlc3Npb249RmFsc2UsCisgICAgICAgICAgICAgICAgIHBhc3NfZmRzPSgpKToKKyAgICAgICAgaWYgaXNpbnN0YW5jZShhcmdzLCBzdHIpOgorICAgICAgICAgICAgYXJncyA9IGFyZ3Muc3BsaXQoKQorICAgICAgICBzZWxmLmNtZCA9IGFyZ3NbMF0KKyAgICAgICAgZXhlcyA9IHNlbGYudGVzdF9jbGFzcy5fZXhlcworICAgICAgICBpZiBzZWxmLmNtZCBub3QgaW4gZXhlczoKKyAgICAgICAgICAgICMgd2UgZG9uJ3Qgd2FudCB0byBjYWxsIHRoZSBzeXN0ZW0sIHJldHVybmluZyBhbiBlbXB0eQorICAgICAgICAgICAgIyBvdXRwdXQgc28gaXQgZG9lc24ndCBtYXRjaAorICAgICAgICAgICAgc2VsZi5zdGRvdXQgPSBTdHJpbmdJTygpCisgICAgICAgICAgICBzZWxmLnN0ZGVyciA9IFN0cmluZ0lPKCkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHNlbGYuc3Rkb3V0ID0gU3RyaW5nSU8oZXhlc1tzZWxmLmNtZF0pCisgICAgICAgICAgICBzZWxmLnN0ZGVyciA9IFN0cmluZ0lPKCkKKworICAgIGRlZiBjb21tdW5pY2F0ZShzZWxmLCBpbnB1dD1Ob25lLCB0aW1lb3V0PU5vbmUpOgorICAgICAgICByZXR1cm4gc2VsZi5zdGRvdXQucmVhZCgpLCBzZWxmLnN0ZGVyci5yZWFkKCkKKworICAgIGRlZiB3YWl0KHNlbGYsIHRpbWVvdXQ9Tm9uZSk6CisgICAgICAgIHJldHVybiAwCisKKworY2xhc3MgVXRpbFRlc3RDYXNlKHN1cHBvcnQuRW52aXJvblJlc3RvcmVyLAorICAgICAgICAgICAgICAgICAgIHN1cHBvcnQuVGVtcGRpck1hbmFnZXIsCisgICAgICAgICAgICAgICAgICAgc3VwcG9ydC5Mb2dnaW5nQ2F0Y2hlciwKKyAgICAgICAgICAgICAgICAgICB1bml0dGVzdC5UZXN0Q2FzZSk6CisKKyAgICByZXN0b3JlX2Vudmlyb24gPSBbJ0hPTUUnLCAnUExBVCddCisKKyAgICBkZWYgc2V0VXAoc2VsZik6CisgICAgICAgIHN1cGVyKFV0aWxUZXN0Q2FzZSwgc2VsZikuc2V0VXAoKQorICAgICAgICBzZWxmLmFkZENsZWFudXAob3MuY2hkaXIsIG9zLmdldGN3ZCgpKQorICAgICAgICB0ZW1wZGlyID0gc2VsZi5ta2R0ZW1wKCkKKyAgICAgICAgc2VsZi5yYyA9IG9zLnBhdGguam9pbih0ZW1wZGlyLCAnLnB5cGlyYycpCisgICAgICAgIG9zLmVudmlyb25bJ0hPTUUnXSA9IHRlbXBkaXIKKyAgICAgICAgb3MuY2hkaXIodGVtcGRpcikKKyAgICAgICAgIyBzYXZpbmcgdGhlIGVudmlyb25tZW50CisgICAgICAgIHNlbGYubmFtZSA9IG9zLm5hbWUKKyAgICAgICAgc2VsZi5wbGF0Zm9ybSA9IHN5cy5wbGF0Zm9ybQorICAgICAgICBzZWxmLnZlcnNpb24gPSBzeXMudmVyc2lvbgorICAgICAgICBzZWxmLnNlcCA9IG9zLnNlcAorICAgICAgICBzZWxmLmpvaW4gPSBvcy5wYXRoLmpvaW4KKyAgICAgICAgc2VsZi5pc2FicyA9IG9zLnBhdGguaXNhYnMKKyAgICAgICAgc2VsZi5zcGxpdGRyaXZlID0gb3MucGF0aC5zcGxpdGRyaXZlCisKKyAgICAgICAgIyBwYXRjaGluZyBvcy51bmFtZQorICAgICAgICBpZiBoYXNhdHRyKG9zLCAndW5hbWUnKToKKyAgICAgICAgICAgIHNlbGYudW5hbWUgPSBvcy51bmFtZQorICAgICAgICAgICAgc2VsZi5fdW5hbWUgPSBvcy51bmFtZSgpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzZWxmLnVuYW1lID0gTm9uZQorICAgICAgICAgICAgc2VsZi5fdW5hbWUgPSBOb25lCisgICAgICAgIG9zLnVuYW1lID0gc2VsZi5fZ2V0X3VuYW1lCisKKyAgICBkZWYgX2dldF91bmFtZShzZWxmKToKKyAgICAgICAgcmV0dXJuIHNlbGYuX3VuYW1lCisKKyAgICBkZWYgdGVhckRvd24oc2VsZik6CisgICAgICAgICMgZ2V0dGluZyBiYWNrIHRoZSBlbnZpcm9ubWVudAorICAgICAgICBvcy5uYW1lID0gc2VsZi5uYW1lCisgICAgICAgIHN5cy5wbGF0Zm9ybSA9IHNlbGYucGxhdGZvcm0KKyAgICAgICAgc3lzLnZlcnNpb24gPSBzZWxmLnZlcnNpb24KKyAgICAgICAgb3Muc2VwID0gc2VsZi5zZXAKKyAgICAgICAgb3MucGF0aC5qb2luID0gc2VsZi5qb2luCisgICAgICAgIG9zLnBhdGguaXNhYnMgPSBzZWxmLmlzYWJzCisgICAgICAgIG9zLnBhdGguc3BsaXRkcml2ZSA9IHNlbGYuc3BsaXRkcml2ZQorICAgICAgICBpZiBzZWxmLnVuYW1lIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgb3MudW5hbWUgPSBzZWxmLnVuYW1lCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBkZWwgb3MudW5hbWUKKyAgICAgICAgc3VwZXIoVXRpbFRlc3RDYXNlLCBzZWxmKS50ZWFyRG93bigpCisKKyAgICBkZWYgbW9ja19wb3BlbihzZWxmKToKKyAgICAgICAgc2VsZi5vbGRfZmluZF9leGVjdXRhYmxlID0gdXRpbC5maW5kX2V4ZWN1dGFibGUKKyAgICAgICAgdXRpbC5maW5kX2V4ZWN1dGFibGUgPSBzZWxmLl9maW5kX2V4ZWN1dGFibGUKKyAgICAgICAgc2VsZi5fZXhlcyA9IHt9CisgICAgICAgIHNlbGYub2xkX3BvcGVuID0gc3VicHJvY2Vzcy5Qb3BlbgorICAgICAgICBzZWxmLm9sZF9zdGRvdXQgPSBzeXMuc3Rkb3V0CisgICAgICAgIHNlbGYub2xkX3N0ZGVyciA9IHN5cy5zdGRlcnIKKyAgICAgICAgRmFrZVBvcGVuLnRlc3RfY2xhc3MgPSBzZWxmCisgICAgICAgIHN1YnByb2Nlc3MuUG9wZW4gPSBGYWtlUG9wZW4KKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKHNlbGYudW5tb2NrX3BvcGVuKQorCisgICAgZGVmIHVubW9ja19wb3BlbihzZWxmKToKKyAgICAgICAgdXRpbC5maW5kX2V4ZWN1dGFibGUgPSBzZWxmLm9sZF9maW5kX2V4ZWN1dGFibGUKKyAgICAgICAgc3VicHJvY2Vzcy5Qb3BlbiA9IHNlbGYub2xkX3BvcGVuCisgICAgICAgIHN5cy5zdGRvdXQgPSBzZWxmLm9sZF9zdGRvdXQKKyAgICAgICAgc3lzLnN0ZGVyciA9IHNlbGYub2xkX3N0ZGVycgorCisgICAgZGVmIHRlc3Rfc2V0X3BsYXRmb3JtKHNlbGYpOgorICAgICAgICBzZWxmLmFkZENsZWFudXAodXRpbC5zZXRfcGxhdGZvcm0sIHV0aWwuZ2V0X3BsYXRmb3JtKCkpCisgICAgICAgIHV0aWwuc2V0X3BsYXRmb3JtKCJmYWtlIikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgiZmFrZSIsIHV0aWwuZ2V0X3BsYXRmb3JtKCkpCisKKyAgICBkZWYgdGVzdF9jb252ZXJ0X3BhdGgoc2VsZik6CisgICAgICAgICMgbGludXgvbWFjCisgICAgICAgIG9zLnNlcCA9ICcvJworCisgICAgICAgIGRlZiBfam9pbihwYXRoKToKKyAgICAgICAgICAgIHJldHVybiAnLycuam9pbihwYXRoKQorICAgICAgICBvcy5wYXRoLmpvaW4gPSBfam9pbgorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY29udmVydF9wYXRoKCcvaG9tZS90by9teS9zdHVmZicpLAorICAgICAgICAgICAgICAgICAgICAgICAgICcvaG9tZS90by9teS9zdHVmZicpCisKKyAgICAgICAgIyB3aW4KKyAgICAgICAgb3Muc2VwID0gJ1xcJworCisgICAgICAgIGRlZiBfam9pbigqcGF0aCk6CisgICAgICAgICAgICByZXR1cm4gJ1xcJy5qb2luKHBhdGgpCisgICAgICAgIG9zLnBhdGguam9pbiA9IF9qb2luCisKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgY29udmVydF9wYXRoLCAnL2hvbWUvdG8vbXkvc3R1ZmYnKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBjb252ZXJ0X3BhdGgsICdob21lL3RvL215L3N0dWZmLycpCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjb252ZXJ0X3BhdGgoJ2hvbWUvdG8vbXkvc3R1ZmYnKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAnaG9tZVxcdG9cXG15XFxzdHVmZicpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY29udmVydF9wYXRoKCcuJyksCisgICAgICAgICAgICAgICAgICAgICAgICAgb3MuY3VyZGlyKQorCisgICAgZGVmIHRlc3RfY2hhbmdlX3Jvb3Qoc2VsZik6CisgICAgICAgICMgbGludXgvbWFjCisgICAgICAgIG9zLm5hbWUgPSAncG9zaXgnCisKKyAgICAgICAgZGVmIF9pc2FicyhwYXRoKToKKyAgICAgICAgICAgIHJldHVybiBwYXRoWzBdID09ICcvJworICAgICAgICBvcy5wYXRoLmlzYWJzID0gX2lzYWJzCisKKyAgICAgICAgZGVmIF9qb2luKCpwYXRoKToKKyAgICAgICAgICAgIHJldHVybiAnLycuam9pbihwYXRoKQorICAgICAgICBvcy5wYXRoLmpvaW4gPSBfam9pbgorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY2hhbmdlX3Jvb3QoJy9yb290JywgJy9vbGQvaXRzL2hlcmUnKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAnL3Jvb3Qvb2xkL2l0cy9oZXJlJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjaGFuZ2Vfcm9vdCgnL3Jvb3QnLCAnaXRzL2hlcmUnKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAnL3Jvb3QvaXRzL2hlcmUnKQorCisgICAgICAgICMgd2luZG93cworICAgICAgICBvcy5uYW1lID0gJ250JworCisgICAgICAgIGRlZiBfaXNhYnMocGF0aCk6CisgICAgICAgICAgICByZXR1cm4gcGF0aC5zdGFydHN3aXRoKCdjOlxcJykKKyAgICAgICAgb3MucGF0aC5pc2FicyA9IF9pc2FicworCisgICAgICAgIGRlZiBfc3BsaXRkcml2ZShwYXRoKToKKyAgICAgICAgICAgIGlmIHBhdGguc3RhcnRzd2l0aCgnYzonKToKKyAgICAgICAgICAgICAgICByZXR1cm4gJycsIHBhdGgucmVwbGFjZSgnYzonLCAnJykKKyAgICAgICAgICAgIHJldHVybiAnJywgcGF0aAorICAgICAgICBvcy5wYXRoLnNwbGl0ZHJpdmUgPSBfc3BsaXRkcml2ZQorCisgICAgICAgIGRlZiBfam9pbigqcGF0aCk6CisgICAgICAgICAgICByZXR1cm4gJ1xcJy5qb2luKHBhdGgpCisgICAgICAgIG9zLnBhdGguam9pbiA9IF9qb2luCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjaGFuZ2Vfcm9vdCgnYzpcXHJvb3QnLCAnYzpcXG9sZFxcaXRzXFxoZXJlJyksCisgICAgICAgICAgICAgICAgICAgICAgICAgJ2M6XFxyb290XFxvbGRcXGl0c1xcaGVyZScpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY2hhbmdlX3Jvb3QoJ2M6XFxyb290JywgJ2l0c1xcaGVyZScpLAorICAgICAgICAgICAgICAgICAgICAgICAgICdjOlxccm9vdFxcaXRzXFxoZXJlJykKKworICAgICAgICAjIEJ1Z3NCdW5ueSBvcyAoaXQncyBhIGdyZWF0IG9zKQorICAgICAgICBvcy5uYW1lID0gJ0J1Z3NCdW5ueScKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoUGFja2FnaW5nUGxhdGZvcm1FcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhbmdlX3Jvb3QsICdjOlxccm9vdCcsICdpdHNcXGhlcmUnKQorCisgICAgICAgICMgWFhYIHBsYXRmb3JtcyB0byBiZSBjb3ZlcmVkOiBvczIsIG1hYworCisgICAgZGVmIHRlc3Rfc3BsaXRfcXVvdGVkKHNlbGYpOgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNwbGl0X3F1b3RlZCgnIiJvbmUiIiAidHdvIiBcJ3RocmVlXCcgXFxmb3VyJyksCisgICAgICAgICAgICAgICAgICAgICAgICAgWydvbmUnLCAndHdvJywgJ3RocmVlJywgJ2ZvdXInXSkKKworICAgIGRlZiB0ZXN0X3N0cnRvYm9vbChzZWxmKToKKyAgICAgICAgeWVzID0gKCd5JywgJ1knLCAneWVzJywgJ1RydWUnLCAndCcsICd0cnVlJywgJ1RydWUnLCAnT24nLCAnb24nLCAnMScpCisgICAgICAgIG5vID0gKCduJywgJ25vJywgJ2YnLCAnZmFsc2UnLCAnb2ZmJywgJzAnLCAnT2ZmJywgJ05vJywgJ04nKQorCisgICAgICAgIGZvciB5IGluIHllczoKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShzdHJ0b2Jvb2woeSkpCisKKyAgICAgICAgZm9yIG4gaW4gbm86CisgICAgICAgICAgICBzZWxmLmFzc2VydEZhbHNlKHN0cnRvYm9vbChuKSkKKworICAgIGRlZiB0ZXN0X2ZpbmRfZXhlX3ZlcnNpb24oc2VsZik6CisgICAgICAgICMgdGhlIGxkIHZlcnNpb24gc2NoZW1lIHVuZGVyIE1BQyBPUyBpczoKKyAgICAgICAgIyAgIF5AKCMpUFJPR1JBTTpsZCAgUFJPSkVDVDpsZDY0LVZFUlNJT04KKyAgICAgICAgIworICAgICAgICAjIHdoZXJlIFZFUlNJT04gaXMgYSAyLWRpZ2l0IG51bWJlciBmb3IgbWFqb3IKKyAgICAgICAgIyByZXZpc2lvbnMuIEZvciBpbnN0YW5jZSB1bmRlciBMZW9wYXJkLCBpdCdzCisgICAgICAgICMgY3VycmVudGx5IDc3CisgICAgICAgICMKKyAgICAgICAgIyBEb3RzIGFyZSB1c2VkIHdoZW4gYnJhbmNoaW5nIGlzIGRvbmUuCisgICAgICAgICMKKyAgICAgICAgIyBUaGUgU25vd0xlb3BhcmQgbGQ2NCBpcyBjdXJyZW50bHkgOTUuMi4xMgorCisgICAgICAgIGZvciBvdXRwdXQsIHZlcnNpb24gaW4gKCgnQCgjKVBST0dSQU06bGQgIFBST0pFQ1Q6bGQ2NC03NycsICc3NycpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoJ0AoIylQUk9HUkFNOmxkICBQUk9KRUNUOmxkNjQtOTUuMi4xMicsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnOTUuMi4xMicpKToKKyAgICAgICAgICAgIHJlc3VsdCA9IF9NQUNfT1NfWF9MRF9WRVJTSU9OLnNlYXJjaChvdXRwdXQpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlc3VsdC5ncm91cCgxKSwgdmVyc2lvbikKKworICAgIGRlZiBfZmluZF9leGVjdXRhYmxlKHNlbGYsIG5hbWUpOgorICAgICAgICBpZiBuYW1lIGluIHNlbGYuX2V4ZXM6CisgICAgICAgICAgICByZXR1cm4gbmFtZQorICAgICAgICByZXR1cm4gTm9uZQorCisgICAgZGVmIHRlc3RfZ2V0X2NvbXBpbGVyX3ZlcnNpb25zKHNlbGYpOgorICAgICAgICBzZWxmLm1vY2tfcG9wZW4oKQorICAgICAgICAjIGdldF92ZXJzaW9ucyBjYWxscyBkaXN0dXRpbHMuc3Bhd24uZmluZF9leGVjdXRhYmxlIG9uCisgICAgICAgICMgJ2djYycsICdsZCcgYW5kICdkbGx3cmFwJworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGdldF9jb21waWxlcl92ZXJzaW9ucygpLCAoTm9uZSwgTm9uZSwgTm9uZSkpCisKKyAgICAgICAgIyBMZXQncyBmYWtlIHdlIGhhdmUgJ2djYycgYW5kIGl0IHJldHVybnMgJzMuNC41JworICAgICAgICBzZWxmLl9leGVzWydnY2MnXSA9ICdnY2MgKEdDQykgMy40LjUgKG1pbmd3IHNwZWNpYWwpXG5GU0YnCisgICAgICAgIHJlcyA9IGdldF9jb21waWxlcl92ZXJzaW9ucygpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKHJlc1swXSksICczLjQuNScpCisKKyAgICAgICAgIyBhbmQgbGV0J3Mgc2VlIHdoYXQgaGFwcGVucyB3aGVuIHRoZSB2ZXJzaW9uCisgICAgICAgICMgZG9lc24ndCBtYXRjaCB0aGUgcmVndWxhciBleHByZXNzaW9uCisgICAgICAgICMgKFxkK1wuXGQrKFwuXGQrKSopCisgICAgICAgIHNlbGYuX2V4ZXNbJ2djYyddID0gJ3Zlcnkgc3RyYW5nZSBvdXRwdXQnCisgICAgICAgIHJlcyA9IGdldF9jb21waWxlcl92ZXJzaW9ucygpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzWzBdLCBOb25lKQorCisgICAgICAgICMgc2FtZSB0aGluZyBmb3IgbGQKKyAgICAgICAgaWYgc3lzLnBsYXRmb3JtICE9ICdkYXJ3aW4nOgorICAgICAgICAgICAgc2VsZi5fZXhlc1snbGQnXSA9ICdHTlUgbGQgdmVyc2lvbiAyLjE3LjUwIDIwMDYwODI0JworICAgICAgICAgICAgcmVzID0gZ2V0X2NvbXBpbGVyX3ZlcnNpb25zKCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKHJlc1sxXSksICcyLjE3LjUwJykKKyAgICAgICAgICAgIHNlbGYuX2V4ZXNbJ2xkJ10gPSAnQCgjKVBST0dSQU06bGQgIFBST0pFQ1Q6bGQ2NC03NycKKyAgICAgICAgICAgIHJlcyA9IGdldF9jb21waWxlcl92ZXJzaW9ucygpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlc1sxXSwgTm9uZSkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHNlbGYuX2V4ZXNbJ2xkJ10gPSAnR05VIGxkIHZlcnNpb24gMi4xNy41MCAyMDA2MDgyNCcKKyAgICAgICAgICAgIHJlcyA9IGdldF9jb21waWxlcl92ZXJzaW9ucygpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlc1sxXSwgTm9uZSkKKyAgICAgICAgICAgIHNlbGYuX2V4ZXNbJ2xkJ10gPSAnQCgjKVBST0dSQU06bGQgIFBST0pFQ1Q6bGQ2NC03NycKKyAgICAgICAgICAgIHJlcyA9IGdldF9jb21waWxlcl92ZXJzaW9ucygpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cihyZXNbMV0pLCAnNzcnKQorCisgICAgICAgICMgYW5kIGRsbHdyYXAKKyAgICAgICAgc2VsZi5fZXhlc1snZGxsd3JhcCddID0gJ0dOVSBkbGx3cmFwIDIuMTcuNTAgMjAwNjA4MjRcbkZTRicKKyAgICAgICAgcmVzID0gZ2V0X2NvbXBpbGVyX3ZlcnNpb25zKCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdHIocmVzWzJdKSwgJzIuMTcuNTAnKQorICAgICAgICBzZWxmLl9leGVzWydkbGx3cmFwJ10gPSAnQ2hlZXNlIFdyYXAnCisgICAgICAgIHJlcyA9IGdldF9jb21waWxlcl92ZXJzaW9ucygpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzWzJdLCBOb25lKQorCisgICAgZGVmIHRlc3RfYnl0ZV9jb21waWxlX3VuZGVyX0Ioc2VsZik6CisgICAgICAgICMgbWFrZSBzdXJlIGJ5dGUgY29tcGlsYXRpb24gd29ya3MgdW5kZXIgLUIgKGRvbnRfd3JpdGVfYnl0ZWNvZGUpCisgICAgICAgIHNlbGYuYWRkQ2xlYW51cChzZXRhdHRyLCBzeXMsICdkb250X3dyaXRlX2J5dGVjb2RlJywKKyAgICAgICAgICAgICAgICAgICAgICAgIHN5cy5kb250X3dyaXRlX2J5dGVjb2RlKQorICAgICAgICBzeXMuZG9udF93cml0ZV9ieXRlY29kZSA9IFRydWUKKyAgICAgICAgYnl0ZV9jb21waWxlKFtdKQorCisgICAgZGVmIHRlc3RfbmV3ZXIoc2VsZik6CisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFBhY2thZ2luZ0ZpbGVFcnJvciwgdXRpbC5uZXdlciwgJ3h4eCcsICd4eHgnKQorICAgICAgICBzZWxmLm5ld2VyX2YxID0gc2VsZi5ta3RlbXBmaWxlKCkKKyAgICAgICAgdGltZS5zbGVlcCgxKQorICAgICAgICBzZWxmLm5ld2VyX2YyID0gc2VsZi5ta3RlbXBmaWxlKCkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHV0aWwubmV3ZXIoc2VsZi5uZXdlcl9mMi5uYW1lLCBzZWxmLm5ld2VyX2YxLm5hbWUpKQorCisgICAgZGVmIHRlc3RfZmluZF9wYWNrYWdlcyhzZWxmKToKKyAgICAgICAgIyBsZXQncyBjcmVhdGUgYSBzdHJ1Y3R1cmUgd2Ugd2FudCB0byBzY2FuOgorICAgICAgICAjCisgICAgICAgICMgICBwa2cxCisgICAgICAgICMgICAgIF9faW5pdF9fCisgICAgICAgICMgICAgIHBrZzIKKyAgICAgICAgIyAgICAgICBfX2luaXRfXworICAgICAgICAjICAgICBwa2czCisgICAgICAgICMgICAgICAgX19pbml0X18KKyAgICAgICAgIyAgICAgICBwa2c2CisgICAgICAgICMgICAgICAgICAgIF9faW5pdF9fCisgICAgICAgICMgICAgIHBrZzQgICAgPC0tLSBub3QgYSBwa2cKKyAgICAgICAgIyAgICAgICBwa2c4CisgICAgICAgICMgICAgICAgICAgX19pbml0X18KKyAgICAgICAgIyAgIHBrZzUKKyAgICAgICAgIyAgICAgX19pbml0X18KKyAgICAgICAgIworICAgICAgICByb290ID0gc2VsZi5ta2R0ZW1wKCkKKyAgICAgICAgcGtnMSA9IG9zLnBhdGguam9pbihyb290LCAncGtnMScpCisgICAgICAgIG9zLm1ha2VkaXJzKG9zLnBhdGguam9pbihwa2cxLCAncGtnMicpKQorICAgICAgICBvcy5tYWtlZGlycyhvcy5wYXRoLmpvaW4ocGtnMSwgJ3BrZzMnLCAncGtnNicpKQorICAgICAgICBvcy5tYWtlZGlycyhvcy5wYXRoLmpvaW4ocGtnMSwgJ3BrZzQnLCAncGtnOCcpKQorICAgICAgICBvcy5tYWtlZGlycyhvcy5wYXRoLmpvaW4ocm9vdCwgJ3BrZzUnKSkKKyAgICAgICAgc2VsZi53cml0ZV9maWxlKChwa2cxLCAnX19pbml0X18ucHknKSkKKyAgICAgICAgc2VsZi53cml0ZV9maWxlKChwa2cxLCAncGtnMicsICdfX2luaXRfXy5weScpKQorICAgICAgICBzZWxmLndyaXRlX2ZpbGUoKHBrZzEsICdwa2czJywgJ19faW5pdF9fLnB5JykpCisgICAgICAgIHNlbGYud3JpdGVfZmlsZSgocGtnMSwgJ3BrZzMnLCAncGtnNicsICdfX2luaXRfXy5weScpKQorICAgICAgICBzZWxmLndyaXRlX2ZpbGUoKHBrZzEsICdwa2c0JywgJ3BrZzgnLCAnX19pbml0X18ucHknKSkKKyAgICAgICAgc2VsZi53cml0ZV9maWxlKChyb290LCAncGtnNScsICdfX2luaXRfXy5weScpKQorCisgICAgICAgIHJlcyA9IGZpbmRfcGFja2FnZXMoW3Jvb3RdLCBbJ3BrZzEucGtnMiddKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNvcnRlZChyZXMpLAorICAgICAgICAgICAgICAgICAgICAgICAgIFsncGtnMScsICdwa2cxLnBrZzMnLCAncGtnMS5wa2czLnBrZzYnLCAncGtnNSddKQorCisgICAgZGVmIHRlc3RfcmVzb2x2ZV9uYW1lKHNlbGYpOgorICAgICAgICAjIHRlc3QgcmF3IG1vZHVsZSBuYW1lCisgICAgICAgIHRtcGRpciA9IHNlbGYubWtkdGVtcCgpCisgICAgICAgIHN5cy5wYXRoLmFwcGVuZCh0bXBkaXIpCisgICAgICAgIHNlbGYuYWRkQ2xlYW51cChzeXMucGF0aC5yZW1vdmUsIHRtcGRpcikKKyAgICAgICAgc2VsZi53cml0ZV9maWxlKCh0bXBkaXIsICdoZWxsby5weScpLCAnJykKKworICAgICAgICBvcy5tYWtlZGlycyhvcy5wYXRoLmpvaW4odG1wZGlyLCAnYScsICdiJykpCisgICAgICAgIHNlbGYud3JpdGVfZmlsZSgodG1wZGlyLCAnYScsICdfX2luaXRfXy5weScpLCAnJykKKyAgICAgICAgc2VsZi53cml0ZV9maWxlKCh0bXBkaXIsICdhJywgJ2InLCAnX19pbml0X18ucHknKSwgJycpCisgICAgICAgIHNlbGYud3JpdGVfZmlsZSgodG1wZGlyLCAnYScsICdiJywgJ2MucHknKSwgJ2NsYXNzIEZvbzogcGFzcycpCisgICAgICAgIHNlbGYud3JpdGVfZmlsZSgodG1wZGlyLCAnYScsICdiJywgJ2QucHknKSwgdGV4dHdyYXAuZGVkZW50KCIiIlwKKyAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcyBGb29CYXI6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzIEJhcjoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZiBiYXooc2VsZik6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFzcworICAgICAgICAgICAgICAgICAgICAgICAgICAgICIiIikpCisKKyAgICAgICAgIyBjaGVjayBQeXRob24sIEMgYW5kIGJ1aWx0LWluIG1vZHVsZQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlc29sdmVfbmFtZSgnaGVsbG8nKS5fX25hbWVfXywgJ2hlbGxvJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXNvbHZlX25hbWUoJ19jc3YnKS5fX25hbWVfXywgJ19jc3YnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlc29sdmVfbmFtZSgnc3lzJykuX19uYW1lX18sICdzeXMnKQorCisgICAgICAgICMgdGVzdCBtb2R1bGUuYXR0cgorICAgICAgICBzZWxmLmFzc2VydElzKHJlc29sdmVfbmFtZSgnYnVpbHRpbnMuc3RyJyksIHN0cikKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUocmVzb2x2ZV9uYW1lKCdoZWxsby5fX2RvY19fJykpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzb2x2ZV9uYW1lKCdhLmIuYy5Gb28nKS5fX25hbWVfXywgJ0ZvbycpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzb2x2ZV9uYW1lKCdhLmIuZC5Gb29CYXIuQmFyLmJheicpLl9fbmFtZV9fLCAnYmF6JykKKworICAgICAgICAjIGVycm9yIGlmIG1vZHVsZSBub3QgZm91bmQKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoSW1wb3J0RXJyb3IsIHJlc29sdmVfbmFtZSwgJ25vbmV4aXN0ZW50JykKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoSW1wb3J0RXJyb3IsIHJlc29sdmVfbmFtZSwgJ25vbi5leGlzdGVudCcpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEltcG9ydEVycm9yLCByZXNvbHZlX25hbWUsICdhLm5vJykKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoSW1wb3J0RXJyb3IsIHJlc29sdmVfbmFtZSwgJ2EuYi5ubycpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEltcG9ydEVycm9yLCByZXNvbHZlX25hbWUsICdhLmIubm8ubm8nKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhJbXBvcnRFcnJvciwgcmVzb2x2ZV9uYW1lLCAnaW52YS1saWQnKQorCisgICAgICAgICMgbG9va2luZyB1cCBidWlsdC1pbiBuYW1lcyBpcyBub3Qgc3VwcG9ydGVkCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEltcG9ydEVycm9yLCByZXNvbHZlX25hbWUsICdzdHInKQorCisgICAgICAgICMgZXJyb3IgaWYgbW9kdWxlIGZvdW5kIGJ1dCBub3QgYXR0cgorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhJbXBvcnRFcnJvciwgcmVzb2x2ZV9uYW1lLCAnYS5iLlNwYW0nKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhJbXBvcnRFcnJvciwgcmVzb2x2ZV9uYW1lLCAnYS5iLmMuU3BhbScpCisKKyAgICBAc3VwcG9ydC5za2lwXzJ0bzNfb3B0aW1pemUKKyAgICBkZWYgdGVzdF9ydW5fMnRvM19vbl9jb2RlKHNlbGYpOgorICAgICAgICBjb250ZW50ID0gInByaW50ICd0ZXN0JyIKKyAgICAgICAgY29udmVydGVkX2NvbnRlbnQgPSAicHJpbnQoJ3Rlc3QnKSIKKyAgICAgICAgZmlsZV9oYW5kbGUgPSBzZWxmLm1rdGVtcGZpbGUoKQorICAgICAgICBmaWxlX25hbWUgPSBmaWxlX2hhbmRsZS5uYW1lCisgICAgICAgIGZpbGVfaGFuZGxlLndyaXRlKGNvbnRlbnQpCisgICAgICAgIGZpbGVfaGFuZGxlLmZsdXNoKCkKKyAgICAgICAgZmlsZV9oYW5kbGUuc2VlaygwKQorICAgICAgICBydW5fMnRvMyhbZmlsZV9uYW1lXSkKKyAgICAgICAgbmV3X2NvbnRlbnQgPSAiIi5qb2luKGZpbGVfaGFuZGxlLnJlYWQoKSkKKyAgICAgICAgZmlsZV9oYW5kbGUuY2xvc2UoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG5ld19jb250ZW50LCBjb252ZXJ0ZWRfY29udGVudCkKKworICAgIEBzdXBwb3J0LnNraXBfMnRvM19vcHRpbWl6ZQorICAgIGRlZiB0ZXN0X3J1bl8ydG8zX29uX2RvY3Rlc3RzKHNlbGYpOgorICAgICAgICAjIHRvIGNoZWNrIGlmIHRleHQgZmlsZXMgY29udGFpbmluZyBkb2N0ZXN0cyBvbmx5IGdldCBjb252ZXJ0ZWQuCisgICAgICAgIGNvbnRlbnQgPSAiPj4+IHByaW50ICd0ZXN0J1xudGVzdFxuIgorICAgICAgICBjb252ZXJ0ZWRfY29udGVudCA9ICI+Pj4gcHJpbnQoJ3Rlc3QnKVxudGVzdFxuXG4iCisgICAgICAgIGZpbGVfaGFuZGxlID0gc2VsZi5ta3RlbXBmaWxlKCkKKyAgICAgICAgZmlsZV9uYW1lID0gZmlsZV9oYW5kbGUubmFtZQorICAgICAgICBmaWxlX2hhbmRsZS53cml0ZShjb250ZW50KQorICAgICAgICBmaWxlX2hhbmRsZS5mbHVzaCgpCisgICAgICAgIGZpbGVfaGFuZGxlLnNlZWsoMCkKKyAgICAgICAgcnVuXzJ0bzMoW2ZpbGVfbmFtZV0sIGRvY3Rlc3RzX29ubHk9VHJ1ZSkKKyAgICAgICAgbmV3X2NvbnRlbnQgPSAiIi5qb2luKGZpbGVfaGFuZGxlLnJlYWRsaW5lcygpKQorICAgICAgICBmaWxlX2hhbmRsZS5jbG9zZSgpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobmV3X2NvbnRlbnQsIGNvbnZlcnRlZF9jb250ZW50KQorCisgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3Mob3MubmFtZSBpbiAoJ250JywgJ3Bvc2l4JyksCisgICAgICAgICAgICAgICAgICAgICAgICAgJ3J1bnMgb25seSB1bmRlciBwb3NpeCBvciBudCcpCisgICAgZGVmIHRlc3Rfc3Bhd24oc2VsZik6CisgICAgICAgIHRtcGRpciA9IHNlbGYubWtkdGVtcCgpCisKKyAgICAgICAgIyBjcmVhdGluZyBzb21ldGhpbmcgZXhlY3V0YWJsZQorICAgICAgICAjIHRocm91Z2ggdGhlIHNoZWxsIHRoYXQgcmV0dXJucyAxCisgICAgICAgIGlmIG9zLm5hbWUgPT0gJ3Bvc2l4JzoKKyAgICAgICAgICAgIGV4ZSA9IG9zLnBhdGguam9pbih0bXBkaXIsICdmb28uc2gnKQorICAgICAgICAgICAgc2VsZi53cml0ZV9maWxlKGV4ZSwgJyMhL2Jpbi9zaFxuZXhpdCAxJykKKyAgICAgICAgICAgIG9zLmNobW9kKGV4ZSwgMG83NzcpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBleGUgPSBvcy5wYXRoLmpvaW4odG1wZGlyLCAnZm9vLmJhdCcpCisgICAgICAgICAgICBzZWxmLndyaXRlX2ZpbGUoZXhlLCAnZXhpdCAxJykKKworICAgICAgICBvcy5jaG1vZChleGUsIDBvNzc3KQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhQYWNrYWdpbmdFeGVjRXJyb3IsIHNwYXduLCBbZXhlXSkKKworICAgICAgICAjIG5vdyBzb21ldGhpbmcgdGhhdCB3b3JrcworICAgICAgICBpZiBvcy5uYW1lID09ICdwb3NpeCc6CisgICAgICAgICAgICBleGUgPSBvcy5wYXRoLmpvaW4odG1wZGlyLCAnZm9vLnNoJykKKyAgICAgICAgICAgIHNlbGYud3JpdGVfZmlsZShleGUsICcjIS9iaW4vc2hcbmV4aXQgMCcpCisgICAgICAgICAgICBvcy5jaG1vZChleGUsIDBvNzc3KQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgZXhlID0gb3MucGF0aC5qb2luKHRtcGRpciwgJ2Zvby5iYXQnKQorICAgICAgICAgICAgc2VsZi53cml0ZV9maWxlKGV4ZSwgJ2V4aXQgMCcpCisKKyAgICAgICAgb3MuY2htb2QoZXhlLCAwbzc3NykKKyAgICAgICAgc3Bhd24oW2V4ZV0pICAjIHNob3VsZCB3b3JrIHdpdGhvdXQgYW55IGVycm9yCisKKyAgICBkZWYgdGVzdF9zZXJ2ZXJfcmVnaXN0cmF0aW9uKHNlbGYpOgorICAgICAgICAjIFRoaXMgdGVzdCBtYWtlcyBzdXJlIHdlIGtub3cgaG93IHRvOgorICAgICAgICAjIDEuIGhhbmRsZSBzZXZlcmFsIHNlY3Rpb25zIGluIC5weXBpcmMKKyAgICAgICAgIyAyLiBoYW5kbGUgdGhlIG9sZCBmb3JtYXQKKworICAgICAgICAjIG5ldyBmb3JtYXQKKyAgICAgICAgc2VsZi53cml0ZV9maWxlKHNlbGYucmMsIFBZUElSQykKKyAgICAgICAgY29uZmlnID0gcmVhZF9weXBpcmMoKQorCisgICAgICAgIGNvbmZpZyA9IHNvcnRlZChjb25maWcuaXRlbXMoKSkKKyAgICAgICAgZXhwZWN0ZWQgPSBbKCdwYXNzd29yZCcsICd4eHh4JyksICgncmVhbG0nLCAncHlwaScpLAorICAgICAgICAgICAgICAgICAgICAoJ3JlcG9zaXRvcnknLCAnaHR0cDovL3B5cGkucHl0aG9uLm9yZy9weXBpJyksCisgICAgICAgICAgICAgICAgICAgICgnc2VydmVyJywgJ3B5cGknKSwgKCd1c2VybmFtZScsICdtZScpXQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNvbmZpZywgZXhwZWN0ZWQpCisKKyAgICAgICAgIyBvbGQgZm9ybWF0CisgICAgICAgIHNlbGYud3JpdGVfZmlsZShzZWxmLnJjLCBQWVBJUkNfT0xEKQorICAgICAgICBjb25maWcgPSByZWFkX3B5cGlyYygpCisgICAgICAgIGNvbmZpZyA9IHNvcnRlZChjb25maWcuaXRlbXMoKSkKKyAgICAgICAgZXhwZWN0ZWQgPSBbKCdwYXNzd29yZCcsICdzZWNyZXQnKSwgKCdyZWFsbScsICdweXBpJyksCisgICAgICAgICAgICAgICAgICAgICgncmVwb3NpdG9yeScsICdodHRwOi8vcHlwaS5weXRob24ub3JnL3B5cGknKSwKKyAgICAgICAgICAgICAgICAgICAgKCdzZXJ2ZXInLCAnc2VydmVyLWxvZ2luJyksICgndXNlcm5hbWUnLCAndGFyZWsnKV0KKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjb25maWcsIGV4cGVjdGVkKQorCisgICAgZGVmIHRlc3Rfc2VydmVyX2VtcHR5X3JlZ2lzdHJhdGlvbihzZWxmKToKKyAgICAgICAgcmMgPSBnZXRfcHlwaXJjX3BhdGgoKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKG9zLnBhdGguZXhpc3RzKHJjKSkKKyAgICAgICAgZ2VuZXJhdGVfcHlwaXJjKCd0YXJlaycsICd4eHgnKQorICAgICAgICBzZWxmLmFzc2VydFRydWUob3MucGF0aC5leGlzdHMocmMpKQorICAgICAgICB3aXRoIG9wZW4ocmMpIGFzIGY6CisgICAgICAgICAgICBjb250ZW50ID0gZi5yZWFkKCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjb250ZW50LCBXQU5URUQpCisKKyAgICBkZWYgdGVzdF9jZmdfdG9fYXJncyhzZWxmKToKKyAgICAgICAgb3B0cyA9IHsnZGVzY3JpcHRpb24tZmlsZSc6ICdSRUFETUUnLCAnZXh0cmEtZmlsZXMnOiAnJywKKyAgICAgICAgICAgICAgICAnc2V0dXAtaG9va3MnOiAncGFja2FnaW5nLnRlc3RzLnRlc3RfY29uZmlnLnZlcnNpb25faG9vayd9CisgICAgICAgIHNlbGYud3JpdGVfZmlsZSgnc2V0dXAuY2ZnJywgU0VUVVBfQ0ZHICUgb3B0cywgZW5jb2Rpbmc9J3V0Zi04JykKKyAgICAgICAgc2VsZi53cml0ZV9maWxlKCdSRUFETUUnLCAnbG9vb29uZyBkZXNjcmlwdGlvbicpCisKKyAgICAgICAgd2l0aCB3YXJuaW5ncy5jYXRjaF93YXJuaW5ncygpOgorICAgICAgICAgICAgd2FybmluZ3Muc2ltcGxlZmlsdGVyKCdpZ25vcmUnLCBEZXByZWNhdGlvbldhcm5pbmcpCisgICAgICAgICAgICBhcmdzID0gY2ZnX3RvX2FyZ3MoKQorICAgICAgICAjIHVzZSBEaXN0cmlidXRpb24gdG8gZ2V0IHRoZSBjb250ZW50cyBvZiB0aGUgc2V0dXAuY2ZnIGZpbGUKKyAgICAgICAgZGlzdCA9IERpc3RyaWJ1dGlvbigpCisgICAgICAgIGRpc3QucGFyc2VfY29uZmlnX2ZpbGVzKCkKKyAgICAgICAgbWV0YWRhdGEgPSBkaXN0Lm1ldGFkYXRhCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChhcmdzWyduYW1lJ10sIG1ldGFkYXRhWydOYW1lJ10pCisgICAgICAgICMgKyAuZGV2MSBiZWNhdXNlIHRoZSB0ZXN0IFNFVFVQX0NGRyBhbHNvIHRlc3RzIGEgaG9vayBmdW5jdGlvbiBpbgorICAgICAgICAjIHRlc3RfY29uZmlnLnB5IGZvciBhcHBlbmRpbmcgdG8gdGhlIHZlcnNpb24gc3RyaW5nCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYXJnc1sndmVyc2lvbiddICsgJy5kZXYxJywgbWV0YWRhdGFbJ1ZlcnNpb24nXSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChhcmdzWydhdXRob3InXSwgbWV0YWRhdGFbJ0F1dGhvciddKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGFyZ3NbJ2F1dGhvcl9lbWFpbCddLCBtZXRhZGF0YVsnQXV0aG9yLUVtYWlsJ10pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYXJnc1snbWFpbnRhaW5lciddLCBtZXRhZGF0YVsnTWFpbnRhaW5lciddKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGFyZ3NbJ21haW50YWluZXJfZW1haWwnXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBtZXRhZGF0YVsnTWFpbnRhaW5lci1FbWFpbCddKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGFyZ3NbJ2Rlc2NyaXB0aW9uJ10sIG1ldGFkYXRhWydTdW1tYXJ5J10pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYXJnc1snbG9uZ19kZXNjcmlwdGlvbiddLCBtZXRhZGF0YVsnRGVzY3JpcHRpb24nXSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChhcmdzWydjbGFzc2lmaWVycyddLCBtZXRhZGF0YVsnQ2xhc3NpZmllciddKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGFyZ3NbJ3JlcXVpcmVzJ10sIG1ldGFkYXRhWydSZXF1aXJlcy1EaXN0J10pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYXJnc1sncHJvdmlkZXMnXSwgbWV0YWRhdGFbJ1Byb3ZpZGVzLURpc3QnXSkKKworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGFyZ3NbJ3BhY2thZ2VfZGlyJ10uZ2V0KCcnKSwgZGlzdC5wYWNrYWdlX2RpcikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChhcmdzWydwYWNrYWdlcyddLCBkaXN0LnBhY2thZ2VzKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGFyZ3NbJ3NjcmlwdHMnXSwgZGlzdC5zY3JpcHRzKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGFyZ3NbJ3B5X21vZHVsZXMnXSwgZGlzdC5weV9tb2R1bGVzKQorCisgICAgZGVmIHRlc3RfZ2VuZXJhdGVfc2V0dXBfcHkoc2VsZik6CisgICAgICAgIG9zLmNoZGlyKHNlbGYubWtkdGVtcCgpKQorICAgICAgICBzZWxmLndyaXRlX2ZpbGUoJ3NldHVwLmNmZycsIHRleHR3cmFwLmRlZGVudCgiIiJcCisgICAgICAgICAgICBbbWV0YWRhdGFdCisgICAgICAgICAgICBuYW1lID0gU1BBTQorICAgICAgICAgICAgY2xhc3NpZmllciA9IFByb2dyYW1taW5nIExhbmd1YWdlIDo6IFB5dGhvbgorICAgICAgICAgICAgIiIiKSkKKyAgICAgICAgZ2VuZXJhdGVfc2V0dXBfcHkoKQorICAgICAgICBzZWxmLmFzc2VydFRydWUob3MucGF0aC5leGlzdHMoJ3NldHVwLnB5JyksICdzZXR1cC5weSBub3QgY3JlYXRlZCcpCisgICAgICAgIHJjLCBvdXQsIGVyciA9IGFzc2VydF9weXRob25fb2soJ3NldHVwLnB5JywgJy0tbmFtZScpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwob3V0LCBiJ1NQQU1cbicpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXJyLCBiJycpCisKKyAgICAgICAgIyBhIGdlbmVyYXRlZCBzZXR1cC5weSBzaG91bGQgY29tcGxhaW4gaWYgbm8gc2V0dXAuY2ZnIGlzIHByZXNlbnQKKyAgICAgICAgb3MudW5saW5rKCdzZXR1cC5jZmcnKQorICAgICAgICByYywgb3V0LCBlcnIgPSBhc3NlcnRfcHl0aG9uX2ZhaWx1cmUoJ3NldHVwLnB5JywgJy0tbmFtZScpCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oYidzZXR1cC5jZmcnLCBlcnIpCisKKyAgICBkZWYgdGVzdF9lbmNvZGVfbXVsdGlwYXJ0KHNlbGYpOgorICAgICAgICBmaWVsZHMgPSBbKCd1c2VybmFtZScsICd3b2snKSwgKCdwYXNzd29yZCcsICdzZWNyZXQnKV0KKyAgICAgICAgZmlsZXMgPSBbKCdwaWN0dXJlJywgJ3dvay5wbmcnLCBiJ1BORzg5JyldCisgICAgICAgIGNvbnRlbnRfdHlwZSwgYm9keSA9IGVuY29kZV9tdWx0aXBhcnQoZmllbGRzLCBmaWxlcywgYicteCcpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYidtdWx0aXBhcnQvZm9ybS1kYXRhOyBib3VuZGFyeT0teCcsIGNvbnRlbnRfdHlwZSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChFWFBFQ1RFRF9NVUxUSVBBUlRfT1VUUFVULCBib2R5LnNwbGl0KGInXHJcbicpKQorCisKK2NsYXNzIEdsb2JUZXN0Q2FzZUJhc2Uoc3VwcG9ydC5UZW1wZGlyTWFuYWdlciwKKyAgICAgICAgICAgICAgICAgICAgICAgc3VwcG9ydC5Mb2dnaW5nQ2F0Y2hlciwKKyAgICAgICAgICAgICAgICAgICAgICAgdW5pdHRlc3QuVGVzdENhc2UpOgorCisgICAgZGVmIGJ1aWxkX2ZpbGVzX3RyZWUoc2VsZiwgZmlsZXMpOgorICAgICAgICB0ZW1wZGlyID0gc2VsZi5ta2R0ZW1wKCkKKyAgICAgICAgZm9yIGZpbGVwYXRoIGluIGZpbGVzOgorICAgICAgICAgICAgaXNfZGlyID0gZmlsZXBhdGguZW5kc3dpdGgoJy8nKQorICAgICAgICAgICAgZmlsZXBhdGggPSBvcy5wYXRoLmpvaW4odGVtcGRpciwgKmZpbGVwYXRoLnNwbGl0KCcvJykpCisgICAgICAgICAgICBpZiBpc19kaXI6CisgICAgICAgICAgICAgICAgZGlybmFtZSA9IGZpbGVwYXRoCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIGRpcm5hbWUgPSBvcy5wYXRoLmRpcm5hbWUoZmlsZXBhdGgpCisgICAgICAgICAgICBpZiBkaXJuYW1lIGFuZCBub3Qgb3MucGF0aC5leGlzdHMoZGlybmFtZSk6CisgICAgICAgICAgICAgICAgb3MubWFrZWRpcnMoZGlybmFtZSkKKyAgICAgICAgICAgIGlmIG5vdCBpc19kaXI6CisgICAgICAgICAgICAgICAgc2VsZi53cml0ZV9maWxlKGZpbGVwYXRoLCAnYmFiYXInKQorICAgICAgICByZXR1cm4gdGVtcGRpcgorCisgICAgQHN0YXRpY21ldGhvZAorICAgIGRlZiBvc19kZXBlbmRlbnRfcGF0aChwYXRoKToKKyAgICAgICAgcGF0aCA9IHBhdGgucnN0cmlwKCcvJykuc3BsaXQoJy8nKQorICAgICAgICByZXR1cm4gb3MucGF0aC5qb2luKCpwYXRoKQorCisgICAgZGVmIGNsZWFuX3RyZWUoc2VsZiwgc3BlYyk6CisgICAgICAgIGZpbGVzID0gW10KKyAgICAgICAgZm9yIHBhdGgsIGluY2x1ZGVzIGluIHNwZWMuaXRlbXMoKToKKyAgICAgICAgICAgIGlmIGluY2x1ZGVzOgorICAgICAgICAgICAgICAgIGZpbGVzLmFwcGVuZChzZWxmLm9zX2RlcGVuZGVudF9wYXRoKHBhdGgpKQorICAgICAgICByZXR1cm4gZmlsZXMKKworCitjbGFzcyBHbG9iVGVzdENhc2UoR2xvYlRlc3RDYXNlQmFzZSk6CisKKyAgICBkZWYgYXNzZXJ0R2xvYk1hdGNoKHNlbGYsIGdsb2IsIHNwZWMpOgorICAgICAgICB0ZW1wZGlyID0gc2VsZi5idWlsZF9maWxlc190cmVlKHNwZWMpCisgICAgICAgIGV4cGVjdGVkID0gc2VsZi5jbGVhbl90cmVlKHNwZWMpCisgICAgICAgIG9zLmNoZGlyKHRlbXBkaXIpCisgICAgICAgIHJlc3VsdCA9IGxpc3QoaWdsb2IoZ2xvYikpCisgICAgICAgIHNlbGYuYXNzZXJ0Q291bnRFcXVhbChleHBlY3RlZCwgcmVzdWx0KQorCisgICAgZGVmIHRlc3RfcmVnZXhfcmljaF9nbG9iKHNlbGYpOgorICAgICAgICBtYXRjaGVzID0gUklDSF9HTE9CLmZpbmRhbGwoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHIiYmFiYXIgYWltZSBsZXMge2ZyYWlzZXN9IGVzdCBsZXMge2h1aXRyZXN9IikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChbImZyYWlzZXMiLCAiaHVpdHJlcyJdLCBtYXRjaGVzKQorCisgICAgZGVmIHRlc3Rfc2ltcGxlX2dsb2Ioc2VsZik6CisgICAgICAgIGdsb2IgPSAnKi50cD8nCisgICAgICAgIHNwZWMgPSB7J2NvdWNvdS50cGwnOiBUcnVlLAorICAgICAgICAgICAgICAgICAnY291Y291LnRwaic6IFRydWUsCisgICAgICAgICAgICAgICAgICdEb25vdHdhbnQnOiBGYWxzZX0KKyAgICAgICAgc2VsZi5hc3NlcnRHbG9iTWF0Y2goZ2xvYiwgc3BlYykKKworICAgIGRlZiB0ZXN0X3NpbXBsZV9nbG9iX2luX2RpcihzZWxmKToKKyAgICAgICAgZ2xvYiA9IG9zLnBhdGguam9pbignYmFiYXInLCAnKi50cD8nKQorICAgICAgICBzcGVjID0geydiYWJhci9jb3Vjb3UudHBsJzogVHJ1ZSwKKyAgICAgICAgICAgICAgICAgJ2JhYmFyL2NvdWNvdS50cGonOiBUcnVlLAorICAgICAgICAgICAgICAgICAnYmFiYXIvdG90by5iaW4nOiBGYWxzZSwKKyAgICAgICAgICAgICAgICAgJ0Rvbm90d2FudCc6IEZhbHNlfQorICAgICAgICBzZWxmLmFzc2VydEdsb2JNYXRjaChnbG9iLCBzcGVjKQorCisgICAgZGVmIHRlc3RfcmVjdXJzaXZlX2dsb2JfaGVhZChzZWxmKToKKyAgICAgICAgZ2xvYiA9IG9zLnBhdGguam9pbignKionLCAndGlwJywgJyoudD9sJykKKyAgICAgICAgc3BlYyA9IHsnYmFiYXIvemF6YS96dXp1L3RpcC9jb3Vjb3UudHBsJzogVHJ1ZSwKKyAgICAgICAgICAgICAgICAgJ2JhYmFyL3ovdGlwL2NvdWNvdS50cGwnOiBUcnVlLAorICAgICAgICAgICAgICAgICAnYmFiYXIvdGlwL2NvdWNvdS50cGwnOiBUcnVlLAorICAgICAgICAgICAgICAgICAnYmFiYXIvemVvcC90aXAvYmFiYXIvYmFiYXIudHBsJzogRmFsc2UsCisgICAgICAgICAgICAgICAgICdiYWJhci96L3RpcC9jb3Vjb3UuYmluJzogRmFsc2UsCisgICAgICAgICAgICAgICAgICdiYWJhci90b3RvLmJpbic6IEZhbHNlLAorICAgICAgICAgICAgICAgICAnem96by96dXp1L3RpcC9iYWJhci50cGwnOiBUcnVlLAorICAgICAgICAgICAgICAgICAnem96by90aXAvYmFiYXIudHBsJzogVHJ1ZSwKKyAgICAgICAgICAgICAgICAgJ0Rvbm90d2FudCc6IEZhbHNlfQorICAgICAgICBzZWxmLmFzc2VydEdsb2JNYXRjaChnbG9iLCBzcGVjKQorCisgICAgZGVmIHRlc3RfcmVjdXJzaXZlX2dsb2JfdGFpbChzZWxmKToKKyAgICAgICAgZ2xvYiA9IG9zLnBhdGguam9pbignYmFiYXInLCAnKionKQorICAgICAgICBzcGVjID0geydiYWJhci96YXphLyc6IFRydWUsCisgICAgICAgICAgICAgICAgJ2JhYmFyL3phemEvenV6dS8nOiBUcnVlLAorICAgICAgICAgICAgICAgICdiYWJhci96YXphL3p1enUvYmFiYXIueG1sJzogVHJ1ZSwKKyAgICAgICAgICAgICAgICAnYmFiYXIvemF6YS96dXp1L3RvdG8ueG1sJzogVHJ1ZSwKKyAgICAgICAgICAgICAgICAnYmFiYXIvemF6YS96dXp1L3RvdG8uY3N2JzogVHJ1ZSwKKyAgICAgICAgICAgICAgICAnYmFiYXIvemF6YS9jb3Vjb3UudHBsJzogVHJ1ZSwKKyAgICAgICAgICAgICAgICAnYmFiYXIvYnVidS50cGwnOiBUcnVlLAorICAgICAgICAgICAgICAgICd6b3pvL3p1enUvdGlwL2JhYmFyLnRwbCc6IEZhbHNlLAorICAgICAgICAgICAgICAgICd6b3pvL3RpcC9iYWJhci50cGwnOiBGYWxzZSwKKyAgICAgICAgICAgICAgICAnRG9ub3R3YW50JzogRmFsc2V9CisgICAgICAgIHNlbGYuYXNzZXJ0R2xvYk1hdGNoKGdsb2IsIHNwZWMpCisKKyAgICBkZWYgdGVzdF9yZWN1cnNpdmVfZ2xvYl9taWRkbGUoc2VsZik6CisgICAgICAgIGdsb2IgPSBvcy5wYXRoLmpvaW4oJ2JhYmFyJywgJyoqJywgJ3RpcCcsICcqLnQ/bCcpCisgICAgICAgIHNwZWMgPSB7J2JhYmFyL3phemEvenV6dS90aXAvY291Y291LnRwbCc6IFRydWUsCisgICAgICAgICAgICAgICAgICdiYWJhci96L3RpcC9jb3Vjb3UudHBsJzogVHJ1ZSwKKyAgICAgICAgICAgICAgICAgJ2JhYmFyL3RpcC9jb3Vjb3UudHBsJzogVHJ1ZSwKKyAgICAgICAgICAgICAgICAgJ2JhYmFyL3plb3AvdGlwL2JhYmFyL2JhYmFyLnRwbCc6IEZhbHNlLAorICAgICAgICAgICAgICAgICAnYmFiYXIvei90aXAvY291Y291LmJpbic6IEZhbHNlLAorICAgICAgICAgICAgICAgICAnYmFiYXIvdG90by5iaW4nOiBGYWxzZSwKKyAgICAgICAgICAgICAgICAgJ3pvem8venV6dS90aXAvYmFiYXIudHBsJzogRmFsc2UsCisgICAgICAgICAgICAgICAgICd6b3pvL3RpcC9iYWJhci50cGwnOiBGYWxzZSwKKyAgICAgICAgICAgICAgICAgJ0Rvbm90d2FudCc6IEZhbHNlfQorICAgICAgICBzZWxmLmFzc2VydEdsb2JNYXRjaChnbG9iLCBzcGVjKQorCisgICAgZGVmIHRlc3RfZ2xvYl9zZXRfdGFpbChzZWxmKToKKyAgICAgICAgZ2xvYiA9IG9zLnBhdGguam9pbignYmluJywgJyoue2JpbixzaCxleGV9JykKKyAgICAgICAgc3BlYyA9IHsnYmluL2JhYmFyLmJpbic6IFRydWUsCisgICAgICAgICAgICAgICAgICdiaW4vemVwaGlyLnNoJzogVHJ1ZSwKKyAgICAgICAgICAgICAgICAgJ2Jpbi9jZWxlc3RpbmUuZXhlJzogVHJ1ZSwKKyAgICAgICAgICAgICAgICAgJ2Jpbi9jb3JuZWxpdXMuYmF0JzogRmFsc2UsCisgICAgICAgICAgICAgICAgICdiaW4vY29ybmVsaXVzLnhtbCc6IEZhbHNlLAorICAgICAgICAgICAgICAgICAndG90by95dXJnJzogRmFsc2UsCisgICAgICAgICAgICAgICAgICdEb25vdHdhbnQnOiBGYWxzZX0KKyAgICAgICAgc2VsZi5hc3NlcnRHbG9iTWF0Y2goZ2xvYiwgc3BlYykKKworICAgIGRlZiB0ZXN0X2dsb2Jfc2V0X21pZGRsZShzZWxmKToKKyAgICAgICAgZ2xvYiA9IG9zLnBhdGguam9pbigneG1sJywgJ3tiYWJhcix0b3RvfS54bWwnKQorICAgICAgICBzcGVjID0geyd4bWwvYmFiYXIueG1sJzogVHJ1ZSwKKyAgICAgICAgICAgICAgICAgJ3htbC90b3RvLnhtbCc6IFRydWUsCisgICAgICAgICAgICAgICAgICd4bWwvYmFiYXIueHNsdCc6IEZhbHNlLAorICAgICAgICAgICAgICAgICAneG1sL2Nvcm5lbGl1cy5zZ21sJzogRmFsc2UsCisgICAgICAgICAgICAgICAgICd4bWwvemVwaGlyLnhtbCc6IEZhbHNlLAorICAgICAgICAgICAgICAgICAndG90by95dXJnLnhtbCc6IEZhbHNlLAorICAgICAgICAgICAgICAgICAnRG9ub3R3YW50JzogRmFsc2V9CisgICAgICAgIHNlbGYuYXNzZXJ0R2xvYk1hdGNoKGdsb2IsIHNwZWMpCisKKyAgICBkZWYgdGVzdF9nbG9iX3NldF9oZWFkKHNlbGYpOgorICAgICAgICBnbG9iID0gb3MucGF0aC5qb2luKCd7eG1sLHhzbHR9JywgJ2JhYmFyLionKQorICAgICAgICBzcGVjID0geyd4bWwvYmFiYXIueG1sJzogVHJ1ZSwKKyAgICAgICAgICAgICAgICAgJ3htbC90b3RvLnhtbCc6IEZhbHNlLAorICAgICAgICAgICAgICAgICAneHNsdC9iYWJhci54c2x0JzogVHJ1ZSwKKyAgICAgICAgICAgICAgICAgJ3hzbHQvdG90by54c2x0JzogRmFsc2UsCisgICAgICAgICAgICAgICAgICd0b3RvL3l1cmcueG1sJzogRmFsc2UsCisgICAgICAgICAgICAgICAgICdEb25vdHdhbnQnOiBGYWxzZX0KKyAgICAgICAgc2VsZi5hc3NlcnRHbG9iTWF0Y2goZ2xvYiwgc3BlYykKKworICAgIGRlZiB0ZXN0X2dsb2JfYWxsKHNlbGYpOgorICAgICAgICBkaXJzID0gJ3slcywlc30nICUgKG9zLnBhdGguam9pbigneG1sJywgJyonKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcy5wYXRoLmpvaW4oJ3hzbHQnLCAnKionKSkKKyAgICAgICAgZ2xvYiA9IG9zLnBhdGguam9pbihkaXJzLCAnYmFiYXIueG1sJykKKyAgICAgICAgc3BlYyA9IHsneG1sL2EvYmFiYXIueG1sJzogVHJ1ZSwKKyAgICAgICAgICAgICAgICAgJ3htbC9iL2JhYmFyLnhtbCc6IFRydWUsCisgICAgICAgICAgICAgICAgICd4bWwvYS9jL2JhYmFyLnhtbCc6IEZhbHNlLAorICAgICAgICAgICAgICAgICAneHNsdC9hL2JhYmFyLnhtbCc6IFRydWUsCisgICAgICAgICAgICAgICAgICd4c2x0L2IvYmFiYXIueG1sJzogVHJ1ZSwKKyAgICAgICAgICAgICAgICAgJ3hzbHQvYS9jL2JhYmFyLnhtbCc6IFRydWUsCisgICAgICAgICAgICAgICAgICd0b3RvL3l1cmcueG1sJzogRmFsc2UsCisgICAgICAgICAgICAgICAgICdEb25vdHdhbnQnOiBGYWxzZX0KKyAgICAgICAgc2VsZi5hc3NlcnRHbG9iTWF0Y2goZ2xvYiwgc3BlYykKKworICAgIGRlZiB0ZXN0X2ludmFsaWRfZ2xvYl9wYXR0ZXJuKHNlbGYpOgorICAgICAgICBpbnZhbGlkcyA9IFsKKyAgICAgICAgICAgICdwcG9vYSoqJywKKyAgICAgICAgICAgICdhenphZWF6NCoqLycsCisgICAgICAgICAgICAnLyoqZGRzZnMnLAorICAgICAgICAgICAgJyoqIyMxZSImZScsCisgICAgICAgICAgICAnRFNGYioqYzAwOScsCisgICAgICAgICAgICAneycsCisgICAgICAgICAgICAne2FhUVNERmEnLAorICAgICAgICAgICAgJ30nLAorICAgICAgICAgICAgJ2FRU0RGU2FhfScsCisgICAgICAgICAgICAneyoqYSwnLAorICAgICAgICAgICAgJywqKmF9JywKKyAgICAgICAgICAgICd7YSoqLCcsCisgICAgICAgICAgICAnLGIqKn0nLAorICAgICAgICAgICAgJ3thKiphLGJhYmFyfScsCisgICAgICAgICAgICAne2JvYixiKip6fScsCisgICAgICAgIF0KKyAgICAgICAgZm9yIHBhdHRlcm4gaW4gaW52YWxpZHM6CisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBpZ2xvYiwgcGF0dGVybikKKworCitjbGFzcyBFZ2dJbmZvVG9EaXN0SW5mb1Rlc3RDYXNlKHN1cHBvcnQuVGVtcGRpck1hbmFnZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1cHBvcnQuTG9nZ2luZ0NhdGNoZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuaXR0ZXN0LlRlc3RDYXNlKToKKworICAgIGRlZiBnZXRfbWV0YWRhdGFfZmlsZV9wYXRocyhzZWxmLCBkaXN0aW5mb19wYXRoKToKKyAgICAgICAgcmVxX21ldGFkYXRhX2ZpbGVzID0gWydNRVRBREFUQScsICdSRUNPUkQnLCAnSU5TVEFMTEVSJ10KKyAgICAgICAgbWV0YWRhdGFfZmlsZV9wYXRocyA9IFtdCisgICAgICAgIGZvciBtZXRhZGF0YV9maWxlIGluIHJlcV9tZXRhZGF0YV9maWxlczoKKyAgICAgICAgICAgIHBhdGggPSBvcy5wYXRoLmpvaW4oZGlzdGluZm9fcGF0aCwgbWV0YWRhdGFfZmlsZSkKKyAgICAgICAgICAgIG1ldGFkYXRhX2ZpbGVfcGF0aHMuYXBwZW5kKHBhdGgpCisgICAgICAgIHJldHVybiBtZXRhZGF0YV9maWxlX3BhdGhzCisKKyAgICBkZWYgdGVzdF9lZ2dpbmZvX3RvX2Rpc3RpbmZvX3NldHVwdG9vbHMoc2VsZik6CisgICAgICAgIGRpc3RpbmZvID0gJ2hlbGxvLTAuMS4xLXB5My4zLmRpc3QtaW5mbycKKyAgICAgICAgZWdnaW5mbyA9ICdoZWxsby0wLjEuMS1weTMuMy5lZ2ctaW5mbycKKyAgICAgICAgZGlycyA9IFtlZ2dpbmZvXQorICAgICAgICBmaWxlcyA9IFsnaGVsbG8ucHknLCAnaGVsbG8ucHljJ10KKyAgICAgICAgZXh0cmFfbWV0YWRhdGEgPSBbJ2RlcGVuZGVuY3lfbGlua3MudHh0JywgJ2VudHJ5X3BvaW50cy50eHQnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAnbm90LXppcC1zYWZlJywgJ1BLRy1JTkZPJywgJ3RvcF9sZXZlbC50eHQnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAnU09VUkNFUy50eHQnXQorICAgICAgICBmb3IgZiBpbiBleHRyYV9tZXRhZGF0YToKKyAgICAgICAgICAgIGZpbGVzLmFwcGVuZChvcy5wYXRoLmpvaW4oZWdnaW5mbywgZikpCisKKyAgICAgICAgdGVtcGRpciwgcmVjb3JkX2ZpbGUgPSBzZWxmLmJ1aWxkX2Rpc3RfdHJlZShmaWxlcywgZGlycykKKyAgICAgICAgZGlzdGluZm9fcGF0aCA9IG9zLnBhdGguam9pbih0ZW1wZGlyLCBkaXN0aW5mbykKKyAgICAgICAgZWdnaW5mb19wYXRoID0gb3MucGF0aC5qb2luKHRlbXBkaXIsIGVnZ2luZm8pCisgICAgICAgIG1ldGFkYXRhX2ZpbGVfcGF0aHMgPSBzZWxmLmdldF9tZXRhZGF0YV9maWxlX3BhdGhzKGRpc3RpbmZvX3BhdGgpCisKKyAgICAgICAgZWdnaW5mb190b19kaXN0aW5mbyhyZWNvcmRfZmlsZSkKKyAgICAgICAgIyB0ZXN0IHRoYXQgZGlyZWN0b3JpZXMgYW5kIGZpbGVzIGdldCBjcmVhdGVkCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShvcy5wYXRoLmlzZGlyKGRpc3RpbmZvX3BhdGgpKQorICAgICAgICBzZWxmLmFzc2VydFRydWUob3MucGF0aC5pc2RpcihlZ2dpbmZvX3BhdGgpKQorCisgICAgICAgIGZvciBtZmlsZSBpbiBtZXRhZGF0YV9maWxlX3BhdGhzOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG9zLnBhdGguaXNmaWxlKG1maWxlKSkKKworICAgIGRlZiB0ZXN0X2VnZ2luZm9fdG9fZGlzdGluZm9fZGlzdHV0aWxzKHNlbGYpOgorICAgICAgICBkaXN0aW5mbyA9ICdoZWxsby0wLjEuMS1weTMuMy5kaXN0LWluZm8nCisgICAgICAgIGVnZ2luZm8gPSAnaGVsbG8tMC4xLjEtcHkzLjMuZWdnLWluZm8nCisgICAgICAgICMgZWdnaW5mbyBpcyBhIGZpbGUgaW4gZGlzdHV0aWxzIHdoaWNoIGNvbnRhaW5zIHRoZSBtZXRhZGF0YQorICAgICAgICBmaWxlcyA9IFsnaGVsbG8ucHknLCAnaGVsbG8ucHljJywgZWdnaW5mb10KKworICAgICAgICB0ZW1wZGlyLCByZWNvcmRfZmlsZSA9IHNlbGYuYnVpbGRfZGlzdF90cmVlKGZpbGVzLCBkaXJzPVtdKQorICAgICAgICBkaXN0aW5mb19wYXRoID0gb3MucGF0aC5qb2luKHRlbXBkaXIsIGRpc3RpbmZvKQorICAgICAgICBlZ2dpbmZvX3BhdGggPSBvcy5wYXRoLmpvaW4odGVtcGRpciwgZWdnaW5mbykKKyAgICAgICAgbWV0YWRhdGFfZmlsZV9wYXRocyA9IHNlbGYuZ2V0X21ldGFkYXRhX2ZpbGVfcGF0aHMoZGlzdGluZm9fcGF0aCkKKworICAgICAgICBlZ2dpbmZvX3RvX2Rpc3RpbmZvKHJlY29yZF9maWxlKQorICAgICAgICAjIHRlc3QgdGhhdCBkaXJlY3RvcmllcyBhbmQgZmlsZXMgZ2V0IGNyZWF0ZWQKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG9zLnBhdGguaXNkaXIoZGlzdGluZm9fcGF0aCkpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShvcy5wYXRoLmlzZmlsZShlZ2dpbmZvX3BhdGgpKQorCisgICAgICAgIGZvciBtZmlsZSBpbiBtZXRhZGF0YV9maWxlX3BhdGhzOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG9zLnBhdGguaXNmaWxlKG1maWxlKSkKKworICAgIGRlZiBidWlsZF9kaXN0X3RyZWUoc2VsZiwgZmlsZXMsIGRpcnMpOgorICAgICAgICB0ZW1wZGlyID0gc2VsZi5ta2R0ZW1wKCkKKyAgICAgICAgcmVjb3JkX2ZpbGVfcGF0aCA9IG9zLnBhdGguam9pbih0ZW1wZGlyLCAnUkVDT1JEJykKKyAgICAgICAgZmlsZV9wYXRocywgZGlyX3BhdGhzID0gKFtdLCBbXSkKKyAgICAgICAgZm9yIGQgaW4gZGlyczoKKyAgICAgICAgICAgIHBhdGggPSBvcy5wYXRoLmpvaW4odGVtcGRpciwgZCkKKyAgICAgICAgICAgIG9zLm1ha2VkaXJzKHBhdGgpCisgICAgICAgICAgICBkaXJfcGF0aHMuYXBwZW5kKHBhdGgpCisgICAgICAgIGZvciBmIGluIGZpbGVzOgorICAgICAgICAgICAgcGF0aCA9IG9zLnBhdGguam9pbih0ZW1wZGlyLCBmKQorICAgICAgICAgICAgd2l0aCBvcGVuKHBhdGgsICd3JykgYXMgX2Y6CisgICAgICAgICAgICAgICAgX2Yud3JpdGUoZikKKyAgICAgICAgICAgIGZpbGVfcGF0aHMuYXBwZW5kKHBhdGgpCisKKyAgICAgICAgd2l0aCBvcGVuKHJlY29yZF9maWxlX3BhdGgsICd3JykgYXMgcmVjb3JkX2ZpbGU6CisgICAgICAgICAgICBmb3IgZnBhdGggaW4gZmlsZV9wYXRoczoKKyAgICAgICAgICAgICAgICByZWNvcmRfZmlsZS53cml0ZShmcGF0aCArICdcbicpCisgICAgICAgICAgICBmb3IgZHBhdGggaW4gZGlyX3BhdGhzOgorICAgICAgICAgICAgICAgIHJlY29yZF9maWxlLndyaXRlKGRwYXRoICsgJ1xuJykKKworICAgICAgICByZXR1cm4gKHRlbXBkaXIsIHJlY29yZF9maWxlX3BhdGgpCisKKworY2xhc3MgUGFja2FnaW5nTGliQ2hlY2tzKHN1cHBvcnQuVGVtcGRpck1hbmFnZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgc3VwcG9ydC5Mb2dnaW5nQ2F0Y2hlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICB1bml0dGVzdC5UZXN0Q2FzZSk6CisKKyAgICBkZWYgc2V0VXAoc2VsZik6CisgICAgICAgIHN1cGVyKFBhY2thZ2luZ0xpYkNoZWNrcywgc2VsZikuc2V0VXAoKQorICAgICAgICBzZWxmLl9lbXB0eV9kaXIgPSBzZWxmLm1rZHRlbXAoKQorCisgICAgZGVmIHRlc3RfZW1wdHlfcGFja2FnZV9pc19ub3RfYmFzZWRfb25fYW55dGhpbmcoc2VsZik6CisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoaXNfc2V0dXB0b29scyhzZWxmLl9lbXB0eV9kaXIpKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGlzX2Rpc3R1dGlscyhzZWxmLl9lbXB0eV9kaXIpKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGlzX3BhY2thZ2luZyhzZWxmLl9lbXB0eV9kaXIpKQorCisgICAgZGVmIHRlc3Rfc2V0dXBfcHlfaW1wb3J0aW5nX3NldHVwdG9vbHNfaXNfc2V0dXB0b29sc19iYXNlZChzZWxmKToKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGlzX3NldHVwdG9vbHMoc2VsZi5fc2V0dXB0b29sc19zZXR1cF9weV9wa2coKSkpCisKKyAgICBkZWYgdGVzdF9lZ2dfaW5mb19kaXJfYW5kX3NldHVwX3B5X2lzX3NldHVwdG9vbHNfYmFzZWQoc2VsZik6CisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShpc19zZXR1cHRvb2xzKHNlbGYuX3NldHVwdG9vbHNfZWdnX2luZm9fcGtnKCkpKQorCisgICAgZGVmIHRlc3RfZWdnX2luZm9fYW5kX25vbl9zZXR1cHRvb2xzX3NldHVwX3B5X2lzX3NldHVwdG9vbHNfYmFzZWQoc2VsZik6CisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShpc19zZXR1cHRvb2xzKHNlbGYuX2VnZ19pbmZvX3dpdGhfbm9fc2V0dXB0b29scygpKSkKKworICAgIGRlZiB0ZXN0X3NldHVwX3B5X25vdF9pbXBvcnRpbmdfc2V0dXB0b29sc19pc19ub3Rfc2V0dXB0b29sc19iYXNlZChzZWxmKToKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShpc19zZXR1cHRvb2xzKHNlbGYuX3JhbmRvbV9zZXR1cF9weV9wa2coKSkpCisKKyAgICBkZWYgdGVzdF9zZXR1cF9weV9pbXBvcnRpbmdfZGlzdHV0aWxzX2lzX2Rpc3R1dGlsc19iYXNlZChzZWxmKToKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGlzX2Rpc3R1dGlscyhzZWxmLl9kaXN0dXRpbHNfc2V0dXBfcHlfcGtnKCkpKQorCisgICAgZGVmIHRlc3RfcGtnX2luZm9fZmlsZV9hbmRfc2V0dXBfcHlfaXNfZGlzdHV0aWxzX2Jhc2VkKHNlbGYpOgorICAgICAgICBzZWxmLmFzc2VydFRydWUoaXNfZGlzdHV0aWxzKHNlbGYuX2Rpc3R1dGlsc19wa2dfaW5mbygpKSkKKworICAgIGRlZiB0ZXN0X3BrZ19pbmZvX2FuZF9ub25fZGlzdHV0aWxzX3NldHVwX3B5X2lzX2Rpc3R1dGlsc19iYXNlZChzZWxmKToKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGlzX2Rpc3R1dGlscyhzZWxmLl9wa2dfaW5mb193aXRoX25vX2Rpc3R1dGlscygpKSkKKworICAgIGRlZiB0ZXN0X3NldHVwX3B5X25vdF9pbXBvcnRpbmdfZGlzdHV0aWxzX2lzX25vdF9kaXN0dXRpbHNfYmFzZWQoc2VsZik6CisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoaXNfZGlzdHV0aWxzKHNlbGYuX3JhbmRvbV9zZXR1cF9weV9wa2coKSkpCisKKyAgICBkZWYgdGVzdF9zZXR1cF9jZmdfd2l0aF9ub19tZXRhZGF0YV9zZWN0aW9uX2lzX25vdF9wYWNrYWdpbmdfYmFzZWQoc2VsZik6CisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoaXNfcGFja2FnaW5nKHNlbGYuX3NldHVwX2NmZ193aXRoX25vX21ldGFkYXRhX3BrZygpKSkKKworICAgIGRlZiB0ZXN0X3NldHVwX2NmZ193aXRoX3ZhbGlkX21ldGFkYXRhX3NlY3Rpb25faXNfcGFja2FnaW5nX2Jhc2VkKHNlbGYpOgorICAgICAgICBzZWxmLmFzc2VydFRydWUoaXNfcGFja2FnaW5nKHNlbGYuX3ZhbGlkX3NldHVwX2NmZ19wa2coKSkpCisKKyAgICBkZWYgdGVzdF9zZXR1cF9jZmdfYW5kX2ludmFsaWRfc2V0dXBfY2ZnX2lzX25vdF9wYWNrYWdpbmdfYmFzZWQoc2VsZik6CisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoaXNfcGFja2FnaW5nKHNlbGYuX2ludmFsaWRfc2V0dXBfY2ZnX3BrZygpKSkKKworICAgIGRlZiB0ZXN0X2dldF9pbnN0YWxsX21ldGhvZF93aXRoX3NldHVwdG9vbHNfcGtnKHNlbGYpOgorICAgICAgICBwYXRoID0gc2VsZi5fc2V0dXB0b29sc19zZXR1cF9weV9wa2coKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCJzZXR1cHRvb2xzIiwgZ2V0X2luc3RhbGxfbWV0aG9kKHBhdGgpKQorCisgICAgZGVmIHRlc3RfZ2V0X2luc3RhbGxfbWV0aG9kX3dpdGhfZGlzdHV0aWxzX3BrZyhzZWxmKToKKyAgICAgICAgcGF0aCA9IHNlbGYuX2Rpc3R1dGlsc19wa2dfaW5mbygpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoImRpc3R1dGlscyIsIGdldF9pbnN0YWxsX21ldGhvZChwYXRoKSkKKworICAgIGRlZiB0ZXN0X2dldF9pbnN0YWxsX21ldGhvZF93aXRoX3BhY2thZ2luZ19wa2coc2VsZik6CisgICAgICAgIHBhdGggPSBzZWxmLl92YWxpZF9zZXR1cF9jZmdfcGtnKCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgicGFja2FnaW5nIiwgZ2V0X2luc3RhbGxfbWV0aG9kKHBhdGgpKQorCisgICAgZGVmIHRlc3RfZ2V0X2luc3RhbGxfbWV0aG9kX3dpdGhfdW5rbm93bl9wa2coc2VsZik6CisgICAgICAgIHBhdGggPSBzZWxmLl9pbnZhbGlkX3NldHVwX2NmZ19wa2coKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhJbnN0YWxsYXRpb25FeGNlcHRpb24sIGdldF9pbnN0YWxsX21ldGhvZCwgcGF0aCkKKworICAgIGRlZiB0ZXN0X2lzX3NldHVwdG9vbHNfbG9nc19zZXR1cF9weV90ZXh0X2ZvdW5kKHNlbGYpOgorICAgICAgICBpc19zZXR1cHRvb2xzKHNlbGYuX3NldHVwdG9vbHNfc2V0dXBfcHlfcGtnKCkpCisgICAgICAgIGV4cGVjdGVkID0gWydzZXR1cC5weSBmaWxlIGZvdW5kLicsCisgICAgICAgICAgICAgICAgICAgICdObyBlZ2ctaW5mbyBkaXJlY3RvcnkgZm91bmQuJywKKyAgICAgICAgICAgICAgICAgICAgJ0ZvdW5kIHNldHVwdG9vbHMgdGV4dCBpbiBzZXR1cC5weS4nXQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV4cGVjdGVkLCBzZWxmLmdldF9sb2dzKGxvZ2dpbmcuREVCVUcpKQorCisgICAgZGVmIHRlc3RfaXNfc2V0dXB0b29sc19sb2dzX3NldHVwX3B5X3RleHRfbm90X2ZvdW5kKHNlbGYpOgorICAgICAgICBkaXJlY3RvcnkgPSBzZWxmLl9yYW5kb21fc2V0dXBfcHlfcGtnKCkKKyAgICAgICAgaXNfc2V0dXB0b29scyhkaXJlY3RvcnkpCisgICAgICAgIGV4cGVjdGVkID0gWydzZXR1cC5weSBmaWxlIGZvdW5kLicsICdObyBlZ2ctaW5mbyBkaXJlY3RvcnkgZm91bmQuJywKKyAgICAgICAgICAgICAgICAgICAgJ05vIHNldHVwdG9vbHMgdGV4dCBmb3VuZCBpbiBzZXR1cC5weS4nXQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV4cGVjdGVkLCBzZWxmLmdldF9sb2dzKGxvZ2dpbmcuREVCVUcpKQorCisgICAgZGVmIHRlc3RfaXNfc2V0dXB0b29sc19sb2dzX2VnZ19pbmZvX2Rpcl9mb3VuZChzZWxmKToKKyAgICAgICAgaXNfc2V0dXB0b29scyhzZWxmLl9zZXR1cHRvb2xzX2VnZ19pbmZvX3BrZygpKQorICAgICAgICBleHBlY3RlZCA9IFsnc2V0dXAucHkgZmlsZSBmb3VuZC4nLCAnRm91bmQgZWdnLWluZm8gZGlyZWN0b3J5LiddCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXhwZWN0ZWQsIHNlbGYuZ2V0X2xvZ3MobG9nZ2luZy5ERUJVRykpCisKKyAgICBkZWYgdGVzdF9pc19kaXN0dXRpbHNfbG9nc19zZXR1cF9weV90ZXh0X2ZvdW5kKHNlbGYpOgorICAgICAgICBpc19kaXN0dXRpbHMoc2VsZi5fZGlzdHV0aWxzX3NldHVwX3B5X3BrZygpKQorICAgICAgICBleHBlY3RlZCA9IFsnc2V0dXAucHkgZmlsZSBmb3VuZC4nLAorICAgICAgICAgICAgICAgICAgICAnTm8gUEtHLUlORk8gZmlsZSBmb3VuZC4nLAorICAgICAgICAgICAgICAgICAgICAnRm91bmQgZGlzdHV0aWxzIHRleHQgaW4gc2V0dXAucHkuJ10KKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChleHBlY3RlZCwgc2VsZi5nZXRfbG9ncyhsb2dnaW5nLkRFQlVHKSkKKworICAgIGRlZiB0ZXN0X2lzX2Rpc3R1dGlsc19sb2dzX3NldHVwX3B5X3RleHRfbm90X2ZvdW5kKHNlbGYpOgorICAgICAgICBkaXJlY3RvcnkgPSBzZWxmLl9yYW5kb21fc2V0dXBfcHlfcGtnKCkKKyAgICAgICAgaXNfZGlzdHV0aWxzKGRpcmVjdG9yeSkKKyAgICAgICAgZXhwZWN0ZWQgPSBbJ3NldHVwLnB5IGZpbGUgZm91bmQuJywgJ05vIFBLRy1JTkZPIGZpbGUgZm91bmQuJywKKyAgICAgICAgICAgICAgICAgICAgJ05vIGRpc3R1dGlscyB0ZXh0IGZvdW5kIGluIHNldHVwLnB5LiddCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXhwZWN0ZWQsIHNlbGYuZ2V0X2xvZ3MobG9nZ2luZy5ERUJVRykpCisKKyAgICBkZWYgdGVzdF9pc19kaXN0dXRpbHNfbG9nc19wa2dfaW5mb19maWxlX2ZvdW5kKHNlbGYpOgorICAgICAgICBpc19kaXN0dXRpbHMoc2VsZi5fZGlzdHV0aWxzX3BrZ19pbmZvKCkpCisgICAgICAgIGV4cGVjdGVkID0gWydzZXR1cC5weSBmaWxlIGZvdW5kLicsICdQS0ctSU5GTyBmaWxlIGZvdW5kLiddCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXhwZWN0ZWQsIHNlbGYuZ2V0X2xvZ3MobG9nZ2luZy5ERUJVRykpCisKKyAgICBkZWYgdGVzdF9pc19wYWNrYWdpbmdfbG9nc19zZXR1cF9jZmdfZm91bmQoc2VsZik6CisgICAgICAgIGlzX3BhY2thZ2luZyhzZWxmLl92YWxpZF9zZXR1cF9jZmdfcGtnKCkpCisgICAgICAgIGV4cGVjdGVkID0gWydzZXR1cC5jZmcgZmlsZSBmb3VuZC4nXQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV4cGVjdGVkLCBzZWxmLmdldF9sb2dzKGxvZ2dpbmcuREVCVUcpKQorCisgICAgZGVmIHRlc3RfaXNfcGFja2FnaW5nX2xvZ3Nfc2V0dXBfY2ZnX25vdF9mb3VuZChzZWxmKToKKyAgICAgICAgaXNfcGFja2FnaW5nKHNlbGYuX2VtcHR5X2RpcikKKyAgICAgICAgZXhwZWN0ZWQgPSBbJ05vIHNldHVwLmNmZyBmaWxlIGZvdW5kLiddCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXhwZWN0ZWQsIHNlbGYuZ2V0X2xvZ3MobG9nZ2luZy5ERUJVRykpCisKKyAgICBkZWYgX3dyaXRlX3NldHVwdG9vbHNfc2V0dXBfcHkoc2VsZiwgZGlyZWN0b3J5KToKKyAgICAgICAgc2VsZi53cml0ZV9maWxlKChkaXJlY3RvcnksICdzZXR1cC5weScpLAorICAgICAgICAgICAgICAgICJmcm9tIHNldHVwdG9vbHMgaW1wb3J0IHNldHVwIikKKworICAgIGRlZiBfd3JpdGVfZGlzdHV0aWxzX3NldHVwX3B5KHNlbGYsIGRpcmVjdG9yeSk6CisgICAgICAgIHNlbGYud3JpdGVfZmlsZShbZGlyZWN0b3J5LCAnc2V0dXAucHknXSwKKyAgICAgICAgICAgICAgICAiZnJvbSBkaXN0dXRpbHMuY29yZSBpbXBvcnQgc2V0dXAiKQorCisgICAgZGVmIF93cml0ZV9wYWNrYWdpbmdfc2V0dXBfY2ZnKHNlbGYsIGRpcmVjdG9yeSk6CisgICAgICAgIHNlbGYud3JpdGVfZmlsZShbZGlyZWN0b3J5LCAnc2V0dXAuY2ZnJ10sCisgICAgICAgICAgICAgICAgICAgICAgICAoIlttZXRhZGF0YV1cbiIKKyAgICAgICAgICAgICAgICAgICAgICAgICAibmFtZSA9IG15cGFja2FnZVxuIgorICAgICAgICAgICAgICAgICAgICAgICAgICJ2ZXJzaW9uID0gMC4xLjBcbiIpKQorCisgICAgZGVmIF9zZXR1cHRvb2xzX3NldHVwX3B5X3BrZyhzZWxmKToKKyAgICAgICAgdG1wID0gc2VsZi5ta2R0ZW1wKCkKKyAgICAgICAgc2VsZi5fd3JpdGVfc2V0dXB0b29sc19zZXR1cF9weSh0bXApCisgICAgICAgIHJldHVybiB0bXAKKworICAgIGRlZiBfZGlzdHV0aWxzX3NldHVwX3B5X3BrZyhzZWxmKToKKyAgICAgICAgdG1wID0gc2VsZi5ta2R0ZW1wKCkKKyAgICAgICAgc2VsZi5fd3JpdGVfZGlzdHV0aWxzX3NldHVwX3B5KHRtcCkKKyAgICAgICAgcmV0dXJuIHRtcAorCisgICAgZGVmIF92YWxpZF9zZXR1cF9jZmdfcGtnKHNlbGYpOgorICAgICAgICB0bXAgPSBzZWxmLm1rZHRlbXAoKQorICAgICAgICBzZWxmLl93cml0ZV9wYWNrYWdpbmdfc2V0dXBfY2ZnKHRtcCkKKyAgICAgICAgcmV0dXJuIHRtcAorCisgICAgZGVmIF9zZXR1cHRvb2xzX2VnZ19pbmZvX3BrZyhzZWxmKToKKyAgICAgICAgdG1wID0gc2VsZi5ta2R0ZW1wKCkKKyAgICAgICAgc2VsZi5fd3JpdGVfc2V0dXB0b29sc19zZXR1cF9weSh0bXApCisgICAgICAgIHRlbXBmaWxlLm1rZHRlbXAoc3VmZml4PScuZWdnLWluZm8nLCBkaXI9dG1wKQorICAgICAgICByZXR1cm4gdG1wCisKKyAgICBkZWYgX2Rpc3R1dGlsc19wa2dfaW5mbyhzZWxmKToKKyAgICAgICAgdG1wID0gc2VsZi5fZGlzdHV0aWxzX3NldHVwX3B5X3BrZygpCisgICAgICAgIHNlbGYud3JpdGVfZmlsZShbdG1wLCAnUEtHLUlORk8nXSwgJycsIGVuY29kaW5nPSdVVEYtOCcpCisgICAgICAgIHJldHVybiB0bXAKKworICAgIGRlZiBfc2V0dXBfY2ZnX3dpdGhfbm9fbWV0YWRhdGFfcGtnKHNlbGYpOgorICAgICAgICB0bXAgPSBzZWxmLm1rZHRlbXAoKQorICAgICAgICBzZWxmLndyaXRlX2ZpbGUoW3RtcCwgJ3NldHVwLmNmZyddLAorICAgICAgICAgICAgICAgICAgICAgICAgKCJbb3RoZXJzZWN0aW9uXVxuIgorICAgICAgICAgICAgICAgICAgICAgICAgICJmb28gPSBiYXJcbiIpKQorICAgICAgICByZXR1cm4gdG1wCisKKyAgICBkZWYgX2ludmFsaWRfc2V0dXBfY2ZnX3BrZyhzZWxmKToKKyAgICAgICAgdG1wID0gc2VsZi5ta2R0ZW1wKCkKKyAgICAgICAgc2VsZi53cml0ZV9maWxlKFt0bXAsICdzZXR1cC5jZmcnXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICgiW21ldGFkYXRhXVxuIgorICAgICAgICAgICAgICAgICAgICAgICAgICJuYW1lID0gam9oblxuIgorICAgICAgICAgICAgICAgICAgICAgICAgICJsYXN0X25hbWUgPSBkb2VcbiIpKQorICAgICAgICByZXR1cm4gdG1wCisKKyAgICBkZWYgX2VnZ19pbmZvX3dpdGhfbm9fc2V0dXB0b29scyhzZWxmKToKKyAgICAgICAgdG1wID0gc2VsZi5fcmFuZG9tX3NldHVwX3B5X3BrZygpCisgICAgICAgIHRlbXBmaWxlLm1rZHRlbXAoc3VmZml4PScuZWdnLWluZm8nLCBkaXI9dG1wKQorICAgICAgICByZXR1cm4gdG1wCisKKyAgICBkZWYgX3BrZ19pbmZvX3dpdGhfbm9fZGlzdHV0aWxzKHNlbGYpOgorICAgICAgICB0bXAgPSBzZWxmLl9yYW5kb21fc2V0dXBfcHlfcGtnKCkKKyAgICAgICAgc2VsZi53cml0ZV9maWxlKFt0bXAsICdQS0ctSU5GTyddLCAnJywgZW5jb2Rpbmc9J1VURi04JykKKyAgICAgICAgcmV0dXJuIHRtcAorCisgICAgZGVmIF9yYW5kb21fc2V0dXBfcHlfcGtnKHNlbGYpOgorICAgICAgICB0bXAgPSBzZWxmLm1rZHRlbXAoKQorICAgICAgICBzZWxmLndyaXRlX2ZpbGUoKHRtcCwgJ3NldHVwLnB5JyksICJmcm9tIG15cGFja2FnZSBpbXBvcnQgc2V0dXAiKQorICAgICAgICByZXR1cm4gdG1wCisKKworZGVmIHRlc3Rfc3VpdGUoKToKKyAgICBzdWl0ZSA9IHVuaXR0ZXN0Lm1ha2VTdWl0ZShVdGlsVGVzdENhc2UpCisgICAgc3VpdGUuYWRkVGVzdCh1bml0dGVzdC5tYWtlU3VpdGUoR2xvYlRlc3RDYXNlKSkKKyAgICBzdWl0ZS5hZGRUZXN0KHVuaXR0ZXN0Lm1ha2VTdWl0ZShFZ2dJbmZvVG9EaXN0SW5mb1Rlc3RDYXNlKSkKKyAgICBzdWl0ZS5hZGRUZXN0KHVuaXR0ZXN0Lm1ha2VTdWl0ZShQYWNrYWdpbmdMaWJDaGVja3MpKQorICAgIHJldHVybiBzdWl0ZQorCisKK2lmIF9fbmFtZV9fID09ICJfX21haW5fXyI6CisgICAgdW5pdHRlc3QubWFpbihkZWZhdWx0VGVzdD0idGVzdF9zdWl0ZSIpCmRpZmYgLS1naXQgYS9MaWIvcGFja2FnaW5nL3Rlc3RzL3Rlc3RfdmVyc2lvbi5weSBiL0xpYi9wYWNrYWdpbmcvdGVzdHMvdGVzdF92ZXJzaW9uLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJkMTc4YmYKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvcGFja2FnaW5nL3Rlc3RzL3Rlc3RfdmVyc2lvbi5weQpAQCAtMCwwICsxLDI3MSBAQAorIiIiVGVzdHMgZm9yIHBhY2thZ2luZy52ZXJzaW9uLiIiIgoraW1wb3J0IGRvY3Rlc3QKKworZnJvbSBwYWNrYWdpbmcudmVyc2lvbiBpbXBvcnQgTm9ybWFsaXplZFZlcnNpb24gYXMgVgorZnJvbSBwYWNrYWdpbmcudmVyc2lvbiBpbXBvcnQgSHVnZU1ham9yVmVyc2lvbk51bUVycm9yLCBJcnJhdGlvbmFsVmVyc2lvbkVycm9yCitmcm9tIHBhY2thZ2luZy52ZXJzaW9uIGltcG9ydCBzdWdnZXN0X25vcm1hbGl6ZWRfdmVyc2lvbiBhcyBzdWdnZXN0Citmcm9tIHBhY2thZ2luZy52ZXJzaW9uIGltcG9ydCBWZXJzaW9uUHJlZGljYXRlCitmcm9tIHBhY2thZ2luZy50ZXN0cyBpbXBvcnQgdW5pdHRlc3QKKworCitjbGFzcyBWZXJzaW9uVGVzdENhc2UodW5pdHRlc3QuVGVzdENhc2UpOgorCisgICAgdmVyc2lvbnMgPSAoKFYoJzEuMCcpLCAnMS4wJyksCisgICAgICAgICAgICAgICAgKFYoJzEuMScpLCAnMS4xJyksCisgICAgICAgICAgICAgICAgKFYoJzEuMi4zJyksICcxLjIuMycpLAorICAgICAgICAgICAgICAgIChWKCcxLjInKSwgJzEuMicpLAorICAgICAgICAgICAgICAgIChWKCcxLjIuM2E0JyksICcxLjIuM2E0JyksCisgICAgICAgICAgICAgICAgKFYoJzEuMmM0JyksICcxLjJjNCcpLAorICAgICAgICAgICAgICAgIChWKCc0LjE3cmMyJyksICc0LjE3cmMyJyksCisgICAgICAgICAgICAgICAgKFYoJzEuMi4zLjQnKSwgJzEuMi4zLjQnKSwKKyAgICAgICAgICAgICAgICAoVignMS4yLjMuNC4wYjMnKSwgJzEuMi4zLjRiMycpLAorICAgICAgICAgICAgICAgIChWKCcxLjIuMC4wLjAnKSwgJzEuMicpLAorICAgICAgICAgICAgICAgIChWKCcxLjAuZGV2MzQ1JyksICcxLjAuZGV2MzQ1JyksCisgICAgICAgICAgICAgICAgKFYoJzEuMC5wb3N0NDU2LmRldjYyMycpLCAnMS4wLnBvc3Q0NTYuZGV2NjIzJykpCisKKyAgICBkZWYgdGVzdF9yZXByKHNlbGYpOgorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVwcihWKCcxLjAnKSksICJOb3JtYWxpemVkVmVyc2lvbignMS4wJykiKQorCisgICAgZGVmIHRlc3RfYmFzaWNfdmVyc2lvbnMoc2VsZik6CisKKyAgICAgICAgZm9yIHYsIHMgaW4gc2VsZi52ZXJzaW9uczoKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKHYpLCBzKQorCisgICAgZGVmIHRlc3RfaGFzaChzZWxmKToKKworICAgICAgICBmb3IgdiwgcyBpbiBzZWxmLnZlcnNpb25zOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChoYXNoKHYpLCBoYXNoKFYocykpKQorCisgICAgICAgIHZlcnNpb25zID0gc2V0KFt2IGZvciB2LCBzIGluIHNlbGYudmVyc2lvbnNdKQorICAgICAgICBmb3IgdiwgcyBpbiBzZWxmLnZlcnNpb25zOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRJbih2LCB2ZXJzaW9ucykKKworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNldChbVignMS4wJyldKSwgc2V0KFtWKCcxLjAnKSwgVignMS4wJyldKSkKKworICAgIGRlZiB0ZXN0X2Zyb21fcGFydHMoc2VsZik6CisKKyAgICAgICAgZm9yIHYsIHMgaW4gc2VsZi52ZXJzaW9uczoKKyAgICAgICAgICAgIHYyID0gVi5mcm9tX3BhcnRzKCp2LnBhcnRzKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh2LCB2MikKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKHYpLCBzdHIodjIpKQorCisgICAgZGVmIHRlc3RfaXJyYXRpb25hbF92ZXJzaW9ucyhzZWxmKToKKworICAgICAgICBpcnJhdGlvbmFsID0gKCcxJywgJzEuMmEnLCAnMS4yLjNiJywgJzEuMDInLCAnMS4yYTAzJywKKyAgICAgICAgICAgICAgICAgICAgICAnMS4yYTMuMDQnLCAnMS4yLmRldi4yJywgJzEuMmRldicsICcxLjIuZGV2JywKKyAgICAgICAgICAgICAgICAgICAgICAnMS4yLmRldjIucG9zdDInLCAnMS4yLnBvc3QyLmRldjMucG9zdDQnKQorCisgICAgICAgIGZvciBzIGluIGlycmF0aW9uYWw6CisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhJcnJhdGlvbmFsVmVyc2lvbkVycm9yLCBWLCBzKQorCisgICAgZGVmIHRlc3RfaHVnZV92ZXJzaW9uKHNlbGYpOgorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKFYoJzE5ODAuMCcpKSwgJzE5ODAuMCcpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEh1Z2VNYWpvclZlcnNpb25OdW1FcnJvciwgViwgJzE5ODEuMCcpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKFYoJzE5ODEuMCcsIGVycm9yX29uX2h1Z2VfbWFqb3JfbnVtPUZhbHNlKSksCisgICAgICAgICAgICAgICAgICAgICAgICAgJzE5ODEuMCcpCisKKyAgICBkZWYgdGVzdF9jb21wYXJpc29uKHNlbGYpOgorICAgICAgICBjb21wYXJpc29uX2RvY3Rlc3Rfc3RyaW5nID0gciIiIgorICAgICAgICA+Pj4gVignMS4yLjAnKSA9PSAnMS4yJworICAgICAgICBUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CisgICAgICAgIC4uLgorICAgICAgICBUeXBlRXJyb3I6IGNhbm5vdCBjb21wYXJlIE5vcm1hbGl6ZWRWZXJzaW9uIGFuZCBzdHIKKworICAgICAgICA+Pj4gVignMS4yJykgPCAnMS4zJworICAgICAgICBUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CisgICAgICAgIC4uLgorICAgICAgICBUeXBlRXJyb3I6IGNhbm5vdCBjb21wYXJlIE5vcm1hbGl6ZWRWZXJzaW9uIGFuZCBzdHIKKworICAgICAgICA+Pj4gVignMS4yLjAnKSA9PSBWKCcxLjInKQorICAgICAgICBUcnVlCisgICAgICAgID4+PiBWKCcxLjIuMCcpID09IFYoJzEuMi4zJykKKyAgICAgICAgRmFsc2UKKyAgICAgICAgPj4+IFYoJzEuMi4wJykgIT0gVignMS4yLjMnKQorICAgICAgICBUcnVlCisgICAgICAgID4+PiBWKCcxLjIuMCcpIDwgVignMS4yLjMnKQorICAgICAgICBUcnVlCisgICAgICAgID4+PiBWKCcxLjIuMCcpIDwgVignMS4yLjAnKQorICAgICAgICBGYWxzZQorICAgICAgICA+Pj4gVignMS4yLjAnKSA8PSBWKCcxLjIuMCcpCisgICAgICAgIFRydWUKKyAgICAgICAgPj4+IFYoJzEuMi4wJykgPD0gVignMS4yLjMnKQorICAgICAgICBUcnVlCisgICAgICAgID4+PiBWKCcxLjIuMycpIDw9IFYoJzEuMi4wJykKKyAgICAgICAgRmFsc2UKKyAgICAgICAgPj4+IFYoJzEuMi4wJykgPj0gVignMS4yLjAnKQorICAgICAgICBUcnVlCisgICAgICAgID4+PiBWKCcxLjIuMycpID49IFYoJzEuMi4wJykKKyAgICAgICAgVHJ1ZQorICAgICAgICA+Pj4gVignMS4yLjAnKSA+PSBWKCcxLjIuMycpCisgICAgICAgIEZhbHNlCisgICAgICAgID4+PiBWKCcxLjIuMHJjMScpID49IFYoJzEuMi4wJykKKyAgICAgICAgRmFsc2UKKyAgICAgICAgPj4+IFYoJzEuMCcpID4gVignMS4wYjInKQorICAgICAgICBUcnVlCisgICAgICAgID4+PiBWKCcxLjAnKSA+IFYoJzEuMGMyJykKKyAgICAgICAgVHJ1ZQorICAgICAgICA+Pj4gVignMS4wJykgPiBWKCcxLjByYzInKQorICAgICAgICBUcnVlCisgICAgICAgID4+PiBWKCcxLjByYzInKSA+IFYoJzEuMHJjMScpCisgICAgICAgIFRydWUKKyAgICAgICAgPj4+IFYoJzEuMGM0JykgPiBWKCcxLjBjMScpCisgICAgICAgIFRydWUKKyAgICAgICAgPj4+IChWKCcxLjAnKSA+IFYoJzEuMGMyJykgPiBWKCcxLjBjMScpID4gVignMS4wYjInKSA+IFYoJzEuMGIxJykKKyAgICAgICAgLi4uICA+IFYoJzEuMGEyJykgPiBWKCcxLjBhMScpKQorICAgICAgICBUcnVlCisgICAgICAgID4+PiAoVignMS4wLjAnKSA+IFYoJzEuMC4wYzInKSA+IFYoJzEuMC4wYzEnKSA+IFYoJzEuMC4wYjInKSA+IFYoJzEuMC4wYjEnKQorICAgICAgICAuLi4gID4gVignMS4wLjBhMicpID4gVignMS4wLjBhMScpKQorICAgICAgICBUcnVlCisKKyAgICAgICAgPj4+IFYoJzEuMCcpIDwgVignMS4wLnBvc3Q0NTYuZGV2NjIzJykKKyAgICAgICAgVHJ1ZQorCisgICAgICAgID4+PiBWKCcxLjAucG9zdDQ1Ni5kZXY2MjMnKSA8IFYoJzEuMC5wb3N0NDU2JykgIDwgVignMS4wLnBvc3QxMjM0JykKKyAgICAgICAgVHJ1ZQorCisgICAgICAgID4+PiAoVignMS4wYTEnKQorICAgICAgICAuLi4gIDwgVignMS4wYTIuZGV2NDU2JykKKyAgICAgICAgLi4uICA8IFYoJzEuMGEyJykKKyAgICAgICAgLi4uICA8IFYoJzEuMGEyLjEuZGV2NDU2JykgICMgZS5nLiBuZWVkIHRvIGRvIGEgcXVpY2sgcG9zdCByZWxlYXNlIG9uIDEuMGEyCisgICAgICAgIC4uLiAgPCBWKCcxLjBhMi4xJykKKyAgICAgICAgLi4uICA8IFYoJzEuMGIxLmRldjQ1NicpCisgICAgICAgIC4uLiAgPCBWKCcxLjBiMicpCisgICAgICAgIC4uLiAgPCBWKCcxLjBjMS5kZXY0NTYnKQorICAgICAgICAuLi4gIDwgVignMS4wYzEnKQorICAgICAgICAuLi4gIDwgVignMS4wLmRldjcnKQorICAgICAgICAuLi4gIDwgVignMS4wLmRldjE4JykKKyAgICAgICAgLi4uICA8IFYoJzEuMC5kZXY0NTYnKQorICAgICAgICAuLi4gIDwgVignMS4wLmRldjEyMzQnKQorICAgICAgICAuLi4gIDwgVignMS4wcmMxJykKKyAgICAgICAgLi4uICA8IFYoJzEuMHJjMicpCisgICAgICAgIC4uLiAgPCBWKCcxLjAnKQorICAgICAgICAuLi4gIDwgVignMS4wLnBvc3Q0NTYuZGV2NjIzJykgICMgZGV2ZWxvcG1lbnQgdmVyc2lvbiBvZiBhIHBvc3QgcmVsZWFzZQorICAgICAgICAuLi4gIDwgVignMS4wLnBvc3Q0NTYnKSkKKyAgICAgICAgVHJ1ZQorICAgICAgICAiIiIKKyAgICAgICAgZG9jdGVzdC5zY3JpcHRfZnJvbV9leGFtcGxlcyhjb21wYXJpc29uX2RvY3Rlc3Rfc3RyaW5nKQorCisgICAgICAgICMgdGhlIGRvY3Rlc3QgYWJvdmUgaXMgbmV2ZXIgcnVuLCBzbyB0ZW1wb3JhcmlseSBhZGQgcmVhbCB1bml0CisgICAgICAgICMgdGVzdHMgdW50aWwgdGhlIGRvY3Rlc3QgaXMgcmV3cml0dGVuCisgICAgICAgIHNlbGYuYXNzZXJ0TGVzc0VxdWFsKFYoJzEuMi4wcmMxJyksIFYoJzEuMi4wJykpCisgICAgICAgIHNlbGYuYXNzZXJ0R3JlYXRlcihWKCcxLjAnKSwgVignMS4wYzInKSkKKyAgICAgICAgc2VsZi5hc3NlcnRHcmVhdGVyKFYoJzEuMCcpLCBWKCcxLjByYzInKSkKKyAgICAgICAgc2VsZi5hc3NlcnRHcmVhdGVyKFYoJzEuMHJjMicpLCBWKCcxLjByYzEnKSkKKyAgICAgICAgc2VsZi5hc3NlcnRHcmVhdGVyKFYoJzEuMGM0JyksIFYoJzEuMGMxJykpCisKKyAgICBkZWYgdGVzdF9zdWdnZXN0X25vcm1hbGl6ZWRfdmVyc2lvbihzZWxmKToKKworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN1Z2dlc3QoJzEuMCcpLCAnMS4wJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdWdnZXN0KCcxLjAtYWxwaGExJyksICcxLjBhMScpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3VnZ2VzdCgnMS4wYzInKSwgJzEuMGMyJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdWdnZXN0KCd3YWxsYSB3YWxsYSB3YXNoaW5ndG9uJyksIE5vbmUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3VnZ2VzdCgnMi40YzEnKSwgJzIuNGMxJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdWdnZXN0KCd2MS4wJyksICcxLjAnKQorCisgICAgICAgICMgZnJvbSBzZXR1cHRvb2xzCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3VnZ2VzdCgnMC40YTEucjEwJyksICcwLjRhMS5wb3N0MTAnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN1Z2dlc3QoJzAuN2ExZGV2LXI2NjYwOCcpLCAnMC43YTEuZGV2NjY2MDgnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN1Z2dlc3QoJzAuNmE5LmRldi1yNDE0NzUnKSwgJzAuNmE5LmRldjQxNDc1JykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdWdnZXN0KCcyLjRwcmV2aWV3MScpLCAnMi40YzEnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN1Z2dlc3QoJzIuNHByZTEnKSwgJzIuNGMxJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdWdnZXN0KCcyLjEtcmMyJyksICcyLjFjMicpCisKKyAgICAgICAgIyBmcm9tIHB5cGkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdWdnZXN0KCcwLjFkZXYnKSwgJzAuMS5kZXYwJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdWdnZXN0KCcwLjEuZGV2JyksICcwLjEuZGV2MCcpCisKKyAgICAgICAgIyB3ZSB3YW50IHRvIGJlIGFibGUgdG8gcGFyc2UgVHdpc3RlZAorICAgICAgICAjIGRldmVsb3BtZW50IHZlcnNpb25zIGFyZSBsaWtlIHBvc3QgcmVsZWFzZXMgaW4gVHdpc3RlZAorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN1Z2dlc3QoJzkuMC4wK3IyMzYzJyksICc5LjAuMC5wb3N0MjM2MycpCisKKyAgICAgICAgIyBwcmUtcmVsZWFzZXMgYXJlIHVzaW5nIG1hcmtlcnMgbGlrZSAicHJlMSIKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdWdnZXN0KCc5LjAuMHByZTEnKSwgJzkuMC4wYzEnKQorCisgICAgICAgICMgd2Ugd2FudCB0byBiZSBhYmxlIHRvIHBhcnNlIFRjbC1USworICAgICAgICAjIHRoZXkgdXMgInAxIiAicDIiIGZvciBwb3N0IHJlbGVhc2VzCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3VnZ2VzdCgnMS40cDEnKSwgJzEuNC5wb3N0MScpCisKKyAgICBkZWYgdGVzdF9wcmVkaWNhdGUoc2VsZik6CisgICAgICAgICMgVmVyc2lvblByZWRpY2F0ZSBrbm93cyBob3cgdG8gcGFyc2Ugc3R1ZmYgbGlrZToKKyAgICAgICAgIworICAgICAgICAjICAgUHJvamVjdCAoPj12ZXJzaW9uLCB2ZXIyKQorCisgICAgICAgIHByZWRpY2F0ZXMgPSAoJ3pvcGUuaW50ZXJmYWNlICg+My41LjApJywKKyAgICAgICAgICAgICAgICAgICAgICAnQW5vdGhlclByb2plY3QgKDMuNCknLAorICAgICAgICAgICAgICAgICAgICAgICdPdGhlclByb2plY3QgKDwzLjApJywKKyAgICAgICAgICAgICAgICAgICAgICAnTm9WZXJzaW9uJywKKyAgICAgICAgICAgICAgICAgICAgICAnSGV5ICg+PTIuNSw8Mi43KScpCisKKyAgICAgICAgZm9yIHByZWRpY2F0ZSBpbiBwcmVkaWNhdGVzOgorICAgICAgICAgICAgVmVyc2lvblByZWRpY2F0ZShwcmVkaWNhdGUpCisKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKFZlcnNpb25QcmVkaWNhdGUoJ0hleSAoPj0yLjUsPDIuNyknKS5tYXRjaCgnMi42JykpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShWZXJzaW9uUHJlZGljYXRlKCdIbycpLm1hdGNoKCcyLjYnKSkKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShWZXJzaW9uUHJlZGljYXRlKCdIZXkgKD49Mi41LCE9Mi42LDwyLjcpJykubWF0Y2goJzIuNicpKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoVmVyc2lvblByZWRpY2F0ZSgnSG8gKDwzLjApJykubWF0Y2goJzIuNicpKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoVmVyc2lvblByZWRpY2F0ZSgnSG8gKDwzLjAsIT0yLjUpJykubWF0Y2goJzIuNi4wJykpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoVmVyc2lvblByZWRpY2F0ZSgnSG8gKDwzLjAsIT0yLjYpJykubWF0Y2goJzIuNi4wJykpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShWZXJzaW9uUHJlZGljYXRlKCdIbyAoMi41KScpLm1hdGNoKCcyLjUuNCcpKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKFZlcnNpb25QcmVkaWNhdGUoJ0hvICghPTIuNSknKS5tYXRjaCgnMi41LjInKSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKFZlcnNpb25QcmVkaWNhdGUoJ0hleSAoPD0yLjUpJykubWF0Y2goJzIuNS45JykpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoVmVyc2lvblByZWRpY2F0ZSgnSGV5ICg8PTIuNSknKS5tYXRjaCgnMi42LjAnKSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKFZlcnNpb25QcmVkaWNhdGUoJ0hleSAoPj0yLjUpJykubWF0Y2goJzIuNS4xJykpCisKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgVmVyc2lvblByZWRpY2F0ZSwgJycpCisKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKFZlcnNpb25QcmVkaWNhdGUoJ0hleSAyLjUnKS5tYXRjaCgnMi41LjEnKSkKKworICAgICAgICAjIFhYWCBuZWVkIHRvIHNpbGVudCB0aGUgbWljcm8gdmVyc2lvbiBpbiB0aGlzIGNhc2UKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShWZXJzaW9uUHJlZGljYXRlKCdIbyAoPDMuMCwhPTIuNiknKS5tYXRjaCgnMi42LjMnKSkKKworICAgICAgICAjIE1ha2Ugc3VyZSBhIHByZWRpY2F0ZSB0aGF0IGVuZHMgd2l0aCBhIG51bWJlciB3b3JrcworICAgICAgICBzZWxmLmFzc2VydFRydWUoVmVyc2lvblByZWRpY2F0ZSgndmlydHVhbGVudjUgKDEuMCknKS5tYXRjaCgnMS4wJykpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShWZXJzaW9uUHJlZGljYXRlKCd2aXJ0dWFsZW52NScpLm1hdGNoKCcxLjAnKSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKFZlcnNpb25QcmVkaWNhdGUoJ3ZpNXR3bycpLm1hdGNoKCcxLjAnKSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKFZlcnNpb25QcmVkaWNhdGUoJzV0d28nKS5tYXRjaCgnMS4wJykpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShWZXJzaW9uUHJlZGljYXRlKCd2aTV0d28gMS4wJykubWF0Y2goJzEuMCcpKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoVmVyc2lvblByZWRpY2F0ZSgnNXR3byAxLjAnKS5tYXRjaCgnMS4wJykpCisKKyAgICAgICAgIyB0ZXN0IHJlcHIKKyAgICAgICAgZm9yIHByZWRpY2F0ZSBpbiBwcmVkaWNhdGVzOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdHIoVmVyc2lvblByZWRpY2F0ZShwcmVkaWNhdGUpKSwgcHJlZGljYXRlKQorCisgICAgZGVmIHRlc3RfcHJlZGljYXRlX25hbWUoc2VsZik6CisgICAgICAgICMgVGVzdCB0aGF0IG5hbWVzIGFyZSBwYXJzZWQgdGhlIHJpZ2h0IHdheQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ0hleScsIFZlcnNpb25QcmVkaWNhdGUoJ0hleSAoPDEuMSknKS5uYW1lKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCdGb28tQmFyJywgVmVyc2lvblByZWRpY2F0ZSgnRm9vLUJhciAoMS4xKScpLm5hbWUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ0ZvbyBCYXInLCBWZXJzaW9uUHJlZGljYXRlKCdGb28gQmFyICgxLjEpJykubmFtZSkKKworICAgIGRlZiB0ZXN0X2lzX2ZpbmFsKHNlbGYpOgorICAgICAgICAjIFZlcnNpb25QcmVkaWNhdGUga25vd3MgaXMgYSBkaXN0cmlidXRpb24gaXMgYSBmaW5hbCBvbmUgb3Igbm90LgorICAgICAgICBmaW5hbF92ZXJzaW9ucyA9ICgnMS4wJywgJzEuMC5wb3N0NDU2JykKKyAgICAgICAgb3RoZXJfdmVyc2lvbnMgPSAoJzEuMC5kZXYxJywgJzEuMGEyJywgJzEuMGMzJykKKworICAgICAgICBmb3IgdmVyc2lvbiBpbiBmaW5hbF92ZXJzaW9uczoKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShWKHZlcnNpb24pLmlzX2ZpbmFsKQorICAgICAgICBmb3IgdmVyc2lvbiBpbiBvdGhlcl92ZXJzaW9uczoKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoVih2ZXJzaW9uKS5pc19maW5hbCkKKworCitjbGFzcyBWZXJzaW9uV2hpdGVCb3hUZXN0Q2FzZSh1bml0dGVzdC5UZXN0Q2FzZSk6CisKKyAgICBkZWYgdGVzdF9wYXJzZV9udW1kb3RzKHNlbGYpOgorICAgICAgICAjIEZvciBjb2RlIGNvdmVyYWdlIGNvbXBsZXRlbmVzcywgYXMgcGFkX3plcm9zX2xlbmd0aCBjYW4ndCBiZSBzZXQgb3IKKyAgICAgICAgIyBpbmZsdWVuY2VkIGZyb20gdGhlIHB1YmxpYyBpbnRlcmZhY2UKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgIFYoJzEuMCcpLl9wYXJzZV9udW1kb3RzKCcxLjAnLCAnMS4wJywgcGFkX3plcm9zX2xlbmd0aD0zKSwKKyAgICAgICAgICAgIFsxLCAwLCAwXSkKKworCitkZWYgdGVzdF9zdWl0ZSgpOgorICAgICNSRUFETUUgPSBvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKSwgJ1JFQURNRS50eHQnKQorICAgICNzdWl0ZSA9IFtkb2N0ZXN0LkRvY0ZpbGVTdWl0ZShSRUFETUUpLCB1bml0dGVzdC5tYWtlU3VpdGUoVmVyc2lvblRlc3RDYXNlKV0KKyAgICBzdWl0ZSA9IFt1bml0dGVzdC5tYWtlU3VpdGUoVmVyc2lvblRlc3RDYXNlKSwKKyAgICAgICAgICAgICB1bml0dGVzdC5tYWtlU3VpdGUoVmVyc2lvbldoaXRlQm94VGVzdENhc2UpXQorICAgIHJldHVybiB1bml0dGVzdC5UZXN0U3VpdGUoc3VpdGUpCisKK2lmIF9fbmFtZV9fID09ICJfX21haW5fXyI6CisgICAgdW5pdHRlc3QubWFpbihkZWZhdWx0VGVzdD0idGVzdF9zdWl0ZSIpCmRpZmYgLS1naXQgYS9MaWIvcGFja2FnaW5nL3V0aWwucHkgYi9MaWIvcGFja2FnaW5nL3V0aWwucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTFmNjc4MgotLS0gL2Rldi9udWxsCisrKyBiL0xpYi9wYWNrYWdpbmcvdXRpbC5weQpAQCAtMCwwICsxLDE0ODAgQEAKKyIiIk1pc2NlbGxhbmVvdXMgdXRpbGl0eSBmdW5jdGlvbnMuIiIiCisKK2ltcG9ydCBvcworaW1wb3J0IHJlCitpbXBvcnQgY3N2CitpbXBvcnQgaW1wCitpbXBvcnQgc3lzCitpbXBvcnQgZXJybm8KK2ltcG9ydCBjb2RlY3MKK2ltcG9ydCBzaHV0aWwKK2ltcG9ydCBzdHJpbmcKK2ltcG9ydCBoYXNobGliCitpbXBvcnQgcG9zaXhwYXRoCitpbXBvcnQgc3VicHJvY2VzcworaW1wb3J0IHN5c2NvbmZpZworZnJvbSBnbG9iIGltcG9ydCBpZ2xvYiBhcyBzdGRfaWdsb2IKK2Zyb20gZm5tYXRjaCBpbXBvcnQgZm5tYXRjaGNhc2UKK2Zyb20gaW5zcGVjdCBpbXBvcnQgZ2V0c291cmNlCitmcm9tIGNvbmZpZ3BhcnNlciBpbXBvcnQgUmF3Q29uZmlnUGFyc2VyCisKK2Zyb20gcGFja2FnaW5nIGltcG9ydCBsb2dnZXIKK2Zyb20gcGFja2FnaW5nLmVycm9ycyBpbXBvcnQgKFBhY2thZ2luZ1BsYXRmb3JtRXJyb3IsIFBhY2thZ2luZ0ZpbGVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhY2thZ2luZ0V4ZWNFcnJvciwgSW5zdGFsbGF0aW9uRXhjZXB0aW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUGFja2FnaW5nSW50ZXJuYWxFcnJvcikKKworX19hbGxfXyA9IFsKKyAgICAjIGZpbGUgZGVwZW5kZW5jaWVzCisgICAgJ25ld2VyJywgJ25ld2VyX2dyb3VwJywKKyAgICAjIGhlbHBlcnMgZm9yIGNvbW1hbmRzIChkcnktcnVuIHN5c3RlbSkKKyAgICAnZXhlY3V0ZScsICd3cml0ZV9maWxlJywKKyAgICAjIHNwYXduaW5nIHByb2dyYW1zCisgICAgJ2ZpbmRfZXhlY3V0YWJsZScsICdzcGF3bicsCisgICAgIyBwYXRoIG1hbmlwdWxhdGlvbgorICAgICdjb252ZXJ0X3BhdGgnLCAnY2hhbmdlX3Jvb3QnLAorICAgICMgMnRvMyBjb252ZXJzaW9uCisgICAgJ01peGluMnRvMycsICdydW5fMnRvMycsCisgICAgIyBwYWNrYWdpbmcgY29tcGF0aWJpbGl0eSBoZWxwZXJzCisgICAgJ2NmZ190b19hcmdzJywgJ2dlbmVyYXRlX3NldHVwX3B5JywKKyAgICAnZWdnaW5mb190b19kaXN0aW5mbycsCisgICAgJ2dldF9pbnN0YWxsX21ldGhvZCcsCisgICAgIyBtaXNjCisgICAgJ2FzaycsICdjaGVja19lbnZpcm9uJywgJ2VuY29kZV9tdWx0aXBhcnQnLCAncmVzb2x2ZV9uYW1lJywKKyAgICAjIHF1ZXJ5aW5nIGZvciBpbmZvcm1hdGlvbiAgVE9ETyBtb3ZlIHRvIHN5c2NvbmZpZworICAgICdnZXRfY29tcGlsZXJfdmVyc2lvbnMnLCAnZ2V0X3BsYXRmb3JtJywgJ3NldF9wbGF0Zm9ybScsCisgICAgIyBjb25maWd1cmF0aW9uICBUT0RPIG1vdmUgdG8gcGFja2FnaW5nLmNvbmZpZworICAgICdnZXRfcHlwaXJjX3BhdGgnLCAncmVhZF9weXBpcmMnLCAnZ2VuZXJhdGVfcHlwaXJjJywKKyAgICAnc3RydG9ib29sJywgJ3NwbGl0X211bHRpbGluZScsCitdCisKK19QTEFURk9STSA9IE5vbmUKK19ERUZBVUxUX0lOU1RBTExFUiA9ICdwYWNrYWdpbmcnCisKKworZGVmIG5ld2VyKHNvdXJjZSwgdGFyZ2V0KToKKyAgICAiIiJUZWxsIGlmIHRoZSB0YXJnZXQgaXMgbmV3ZXIgdGhhbiB0aGUgc291cmNlLgorCisgICAgUmV0dXJucyB0cnVlIGlmICdzb3VyY2UnIGV4aXN0cyBhbmQgaXMgbW9yZSByZWNlbnRseSBtb2RpZmllZCB0aGFuCisgICAgJ3RhcmdldCcsIG9yIGlmICdzb3VyY2UnIGV4aXN0cyBhbmQgJ3RhcmdldCcgZG9lc24ndC4KKworICAgIFJldHVybnMgZmFsc2UgaWYgYm90aCBleGlzdCBhbmQgJ3RhcmdldCcgaXMgdGhlIHNhbWUgYWdlIG9yIHlvdW5nZXIKKyAgICB0aGFuICdzb3VyY2UnLiBSYWlzZSBQYWNrYWdpbmdGaWxlRXJyb3IgaWYgJ3NvdXJjZScgZG9lcyBub3QgZXhpc3QuCisKKyAgICBOb3RlIHRoYXQgdGhpcyB0ZXN0IGlzIG5vdCB2ZXJ5IGFjY3VyYXRlOiBmaWxlcyBjcmVhdGVkIGluIHRoZSBzYW1lIHNlY29uZAorICAgIHdpbGwgaGF2ZSB0aGUgc2FtZSAiYWdlIi4KKyAgICAiIiIKKyAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMoc291cmNlKToKKyAgICAgICAgcmFpc2UgUGFja2FnaW5nRmlsZUVycm9yKCJmaWxlICclcycgZG9lcyBub3QgZXhpc3QiICUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9zLnBhdGguYWJzcGF0aChzb3VyY2UpKQorICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyh0YXJnZXQpOgorICAgICAgICByZXR1cm4gVHJ1ZQorCisgICAgcmV0dXJuIG9zLnN0YXQoc291cmNlKS5zdF9tdGltZSA+IG9zLnN0YXQodGFyZ2V0KS5zdF9tdGltZQorCisKK2RlZiBnZXRfcGxhdGZvcm0oKToKKyAgICAiIiJSZXR1cm4gYSBzdHJpbmcgdGhhdCBpZGVudGlmaWVzIHRoZSBjdXJyZW50IHBsYXRmb3JtLgorCisgICAgQnkgZGVmYXVsdCwgd2lsbCByZXR1cm4gdGhlIHZhbHVlIHJldHVybmVkIGJ5IHN5c2NvbmZpZy5nZXRfcGxhdGZvcm0oKSwKKyAgICBidXQgaXQgY2FuIGJlIGNoYW5nZWQgYnkgY2FsbGluZyBzZXRfcGxhdGZvcm0oKS4KKyAgICAiIiIKKyAgICBnbG9iYWwgX1BMQVRGT1JNCisgICAgaWYgX1BMQVRGT1JNIGlzIE5vbmU6CisgICAgICAgIF9QTEFURk9STSA9IHN5c2NvbmZpZy5nZXRfcGxhdGZvcm0oKQorICAgIHJldHVybiBfUExBVEZPUk0KKworCitkZWYgc2V0X3BsYXRmb3JtKGlkZW50aWZpZXIpOgorICAgICIiIlNldCB0aGUgcGxhdGZvcm0gc3RyaW5nIGlkZW50aWZpZXIgcmV0dXJuZWQgYnkgZ2V0X3BsYXRmb3JtKCkuCisKKyAgICBOb3RlIHRoYXQgdGhpcyBjaGFuZ2UgZG9lc24ndCBpbXBhY3QgdGhlIHZhbHVlIHJldHVybmVkIGJ5CisgICAgc3lzY29uZmlnLmdldF9wbGF0Zm9ybSgpOyBpdCBpcyBsb2NhbCB0byBwYWNrYWdpbmcuCisgICAgIiIiCisgICAgZ2xvYmFsIF9QTEFURk9STQorICAgIF9QTEFURk9STSA9IGlkZW50aWZpZXIKKworCitkZWYgY29udmVydF9wYXRoKHBhdGhuYW1lKToKKyAgICAiIiJSZXR1cm4gJ3BhdGhuYW1lJyBhcyBhIG5hbWUgdGhhdCB3aWxsIHdvcmsgb24gdGhlIG5hdGl2ZSBmaWxlc3lzdGVtLgorCisgICAgVGhlIHBhdGggaXMgc3BsaXQgb24gJy8nIGFuZCBwdXQgYmFjayB0b2dldGhlciBhZ2FpbiB1c2luZyB0aGUgY3VycmVudAorICAgIGRpcmVjdG9yeSBzZXBhcmF0b3IuICBOZWVkZWQgYmVjYXVzZSBmaWxlbmFtZXMgaW4gdGhlIHNldHVwIHNjcmlwdCBhcmUKKyAgICBhbHdheXMgc3VwcGxpZWQgaW4gVW5peCBzdHlsZSwgYW5kIGhhdmUgdG8gYmUgY29udmVydGVkIHRvIHRoZSBsb2NhbAorICAgIGNvbnZlbnRpb24gYmVmb3JlIHdlIGNhbiBhY3R1YWxseSB1c2UgdGhlbSBpbiB0aGUgZmlsZXN5c3RlbS4gIFJhaXNlcworICAgIFZhbHVlRXJyb3Igb24gbm9uLVVuaXgtaXNoIHN5c3RlbXMgaWYgJ3BhdGhuYW1lJyBlaXRoZXIgc3RhcnRzIG9yCisgICAgZW5kcyB3aXRoIGEgc2xhc2guCisgICAgIiIiCisgICAgaWYgb3Muc2VwID09ICcvJzoKKyAgICAgICAgcmV0dXJuIHBhdGhuYW1lCisgICAgaWYgbm90IHBhdGhuYW1lOgorICAgICAgICByZXR1cm4gcGF0aG5hbWUKKyAgICBpZiBwYXRobmFtZVswXSA9PSAnLyc6CisgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoInBhdGggJyVzJyBjYW5ub3QgYmUgYWJzb2x1dGUiICUgcGF0aG5hbWUpCisgICAgaWYgcGF0aG5hbWVbLTFdID09ICcvJzoKKyAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigicGF0aCAnJXMnIGNhbm5vdCBlbmQgd2l0aCAnLyciICUgcGF0aG5hbWUpCisKKyAgICBwYXRocyA9IHBhdGhuYW1lLnNwbGl0KCcvJykKKyAgICB3aGlsZSBvcy5jdXJkaXIgaW4gcGF0aHM6CisgICAgICAgIHBhdGhzLnJlbW92ZShvcy5jdXJkaXIpCisgICAgaWYgbm90IHBhdGhzOgorICAgICAgICByZXR1cm4gb3MuY3VyZGlyCisgICAgcmV0dXJuIG9zLnBhdGguam9pbigqcGF0aHMpCisKKworZGVmIGNoYW5nZV9yb290KG5ld19yb290LCBwYXRobmFtZSk6CisgICAgIiIiUmV0dXJuICdwYXRobmFtZScgd2l0aCAnbmV3X3Jvb3QnIHByZXBlbmRlZC4KKworICAgIElmICdwYXRobmFtZScgaXMgcmVsYXRpdmUsIHRoaXMgaXMgZXF1aXZhbGVudCB0bworICAgIG9zLnBhdGguam9pbihuZXdfcm9vdCxwYXRobmFtZSkuIE90aGVyd2lzZSwgaXQgcmVxdWlyZXMgbWFraW5nICdwYXRobmFtZScKKyAgICByZWxhdGl2ZSBhbmQgdGhlbiBqb2luaW5nIHRoZSB0d28sIHdoaWNoIGlzIHRyaWNreSBvbiBET1MvV2luZG93cy4KKyAgICAiIiIKKyAgICBpZiBvcy5uYW1lID09ICdwb3NpeCc6CisgICAgICAgIGlmIG5vdCBvcy5wYXRoLmlzYWJzKHBhdGhuYW1lKToKKyAgICAgICAgICAgIHJldHVybiBvcy5wYXRoLmpvaW4obmV3X3Jvb3QsIHBhdGhuYW1lKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmV0dXJuIG9zLnBhdGguam9pbihuZXdfcm9vdCwgcGF0aG5hbWVbMTpdKQorCisgICAgZWxpZiBvcy5uYW1lID09ICdudCc6CisgICAgICAgIGRyaXZlLCBwYXRoID0gb3MucGF0aC5zcGxpdGRyaXZlKHBhdGhuYW1lKQorICAgICAgICBpZiBwYXRoWzBdID09ICdcXCc6CisgICAgICAgICAgICBwYXRoID0gcGF0aFsxOl0KKyAgICAgICAgcmV0dXJuIG9zLnBhdGguam9pbihuZXdfcm9vdCwgcGF0aCkKKworICAgIGVsaWYgb3MubmFtZSA9PSAnb3MyJzoKKyAgICAgICAgZHJpdmUsIHBhdGggPSBvcy5wYXRoLnNwbGl0ZHJpdmUocGF0aG5hbWUpCisgICAgICAgIGlmIHBhdGhbMF0gPT0gb3Muc2VwOgorICAgICAgICAgICAgcGF0aCA9IHBhdGhbMTpdCisgICAgICAgIHJldHVybiBvcy5wYXRoLmpvaW4obmV3X3Jvb3QsIHBhdGgpCisKKyAgICBlbHNlOgorICAgICAgICByYWlzZSBQYWNrYWdpbmdQbGF0Zm9ybUVycm9yKCJub3RoaW5nIGtub3duIGFib3V0ICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGxhdGZvcm0gJyVzJyIgJSBvcy5uYW1lKQorCitfZW52aXJvbl9jaGVja2VkID0gRmFsc2UKKworCitkZWYgY2hlY2tfZW52aXJvbigpOgorICAgICIiIkVuc3VyZSB0aGF0ICdvcy5lbnZpcm9uJyBoYXMgYWxsIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgbmVlZGVkLgorCisgICAgV2UgZ3VhcmFudGVlIHRoYXQgdXNlcnMgY2FuIHVzZSBpbiBjb25maWcgZmlsZXMsIGNvbW1hbmQtbGluZSBvcHRpb25zLAorICAgIGV0Yy4gIEN1cnJlbnRseSB0aGlzIGluY2x1ZGVzOgorICAgICAgSE9NRSAtIHVzZXIncyBob21lIGRpcmVjdG9yeSAoVW5peCBvbmx5KQorICAgICAgUExBVCAtIGRlc2NyaXB0aW9uIG9mIHRoZSBjdXJyZW50IHBsYXRmb3JtLCBpbmNsdWRpbmcgaGFyZHdhcmUKKyAgICAgICAgICAgICBhbmQgT1MgKHNlZSAnZ2V0X3BsYXRmb3JtKCknKQorICAgICIiIgorICAgIGdsb2JhbCBfZW52aXJvbl9jaGVja2VkCisgICAgaWYgX2Vudmlyb25fY2hlY2tlZDoKKyAgICAgICAgcmV0dXJuCisKKyAgICBpZiBvcy5uYW1lID09ICdwb3NpeCcgYW5kICdIT01FJyBub3QgaW4gb3MuZW52aXJvbjoKKyAgICAgICAgaW1wb3J0IHB3ZAorICAgICAgICBvcy5lbnZpcm9uWydIT01FJ10gPSBwd2QuZ2V0cHd1aWQob3MuZ2V0dWlkKCkpWzVdCisKKyAgICBpZiAnUExBVCcgbm90IGluIG9zLmVudmlyb246CisgICAgICAgIG9zLmVudmlyb25bJ1BMQVQnXSA9IHN5c2NvbmZpZy5nZXRfcGxhdGZvcm0oKQorCisgICAgX2Vudmlyb25fY2hlY2tlZCA9IFRydWUKKworCisjIE5lZWRlZCBieSAnc3BsaXRfcXVvdGVkKCknCitfd29yZGNoYXJzX3JlID0gX3NxdW90ZV9yZSA9IF9kcXVvdGVfcmUgPSBOb25lCisKKworZGVmIF9pbml0X3JlZ2V4KCk6CisgICAgZ2xvYmFsIF93b3JkY2hhcnNfcmUsIF9zcXVvdGVfcmUsIF9kcXVvdGVfcmUKKyAgICBfd29yZGNoYXJzX3JlID0gcmUuY29tcGlsZShyJ1teXFxcJ1wiJXMgXSonICUgc3RyaW5nLndoaXRlc3BhY2UpCisgICAgX3NxdW90ZV9yZSA9IHJlLmNvbXBpbGUociInKD86W14nXFxdfFxcLikqJyIpCisgICAgX2RxdW90ZV9yZSA9IHJlLmNvbXBpbGUociciKD86W14iXFxdfFxcLikqIicpCisKKworIyBUT0RPIHJlcGxhY2Ugd2l0aCBzaGxleC5zcGxpdCBhZnRlciB0ZXN0aW5nCisKK2RlZiBzcGxpdF9xdW90ZWQocyk6CisgICAgIiIiU3BsaXQgYSBzdHJpbmcgdXAgYWNjb3JkaW5nIHRvIFVuaXggc2hlbGwtbGlrZSBydWxlcyBmb3IgcXVvdGVzIGFuZAorICAgIGJhY2tzbGFzaGVzLgorCisgICAgSW4gc2hvcnQ6IHdvcmRzIGFyZSBkZWxpbWl0ZWQgYnkgc3BhY2VzLCBhcyBsb25nIGFzIHRob3NlCisgICAgc3BhY2VzIGFyZSBub3QgZXNjYXBlZCBieSBhIGJhY2tzbGFzaCwgb3IgaW5zaWRlIGEgcXVvdGVkIHN0cmluZy4KKyAgICBTaW5nbGUgYW5kIGRvdWJsZSBxdW90ZXMgYXJlIGVxdWl2YWxlbnQsIGFuZCB0aGUgcXVvdGUgY2hhcmFjdGVycyBjYW4KKyAgICBiZSBiYWNrc2xhc2gtZXNjYXBlZC4gIFRoZSBiYWNrc2xhc2ggaXMgc3RyaXBwZWQgZnJvbSBhbnkgdHdvLWNoYXJhY3RlcgorICAgIGVzY2FwZSBzZXF1ZW5jZSwgbGVhdmluZyBvbmx5IHRoZSBlc2NhcGVkIGNoYXJhY3Rlci4gIFRoZSBxdW90ZQorICAgIGNoYXJhY3RlcnMgYXJlIHN0cmlwcGVkIGZyb20gYW55IHF1b3RlZCBzdHJpbmcuICBSZXR1cm5zIGEgbGlzdCBvZgorICAgIHdvcmRzLgorICAgICIiIgorICAgICMgVGhpcyBpcyBhIG5pY2UgYWxnb3JpdGhtIGZvciBzcGxpdHRpbmcgdXAgYSBzaW5nbGUgc3RyaW5nLCBzaW5jZSBpdAorICAgICMgZG9lc24ndCByZXF1aXJlIGNoYXJhY3Rlci1ieS1jaGFyYWN0ZXIgZXhhbWluYXRpb24uICBJdCB3YXMgYSBsaXR0bGUKKyAgICAjIGJpdCBvZiBhIGJyYWluLWJlbmRlciB0byBnZXQgaXQgd29ya2luZyByaWdodCwgdGhvdWdoLi4uCisgICAgaWYgX3dvcmRjaGFyc19yZSBpcyBOb25lOgorICAgICAgICBfaW5pdF9yZWdleCgpCisKKyAgICBzID0gcy5zdHJpcCgpCisgICAgd29yZHMgPSBbXQorICAgIHBvcyA9IDAKKworICAgIHdoaWxlIHM6CisgICAgICAgIG0gPSBfd29yZGNoYXJzX3JlLm1hdGNoKHMsIHBvcykKKyAgICAgICAgZW5kID0gbS5lbmQoKQorICAgICAgICBpZiBlbmQgPT0gbGVuKHMpOgorICAgICAgICAgICAgd29yZHMuYXBwZW5kKHNbOmVuZF0pCisgICAgICAgICAgICBicmVhaworCisgICAgICAgIGlmIHNbZW5kXSBpbiBzdHJpbmcud2hpdGVzcGFjZTogICMgdW5lc2NhcGVkLCB1bnF1b3RlZCB3aGl0ZXNwYWNlOiBub3cKKyAgICAgICAgICAgIHdvcmRzLmFwcGVuZChzWzplbmRdKSAgICAgICAgIyB3ZSBkZWZpbml0ZWx5IGhhdmUgYSB3b3JkIGRlbGltaXRlcgorICAgICAgICAgICAgcyA9IHNbZW5kOl0ubHN0cmlwKCkKKyAgICAgICAgICAgIHBvcyA9IDAKKworICAgICAgICBlbGlmIHNbZW5kXSA9PSAnXFwnOiAgICAgICAgICAgICAjIHByZXNlcnZlIHdoYXRldmVyIGlzIGJlaW5nIGVzY2FwZWQ7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgd2lsbCBiZWNvbWUgcGFydCBvZiB0aGUgY3VycmVudCB3b3JkCisgICAgICAgICAgICBzID0gc1s6ZW5kXSArIHNbZW5kICsgMTpdCisgICAgICAgICAgICBwb3MgPSBlbmQgKyAxCisKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGlmIHNbZW5kXSA9PSAiJyI6ICAgICAgICAgICAgIyBzbHVycCBzaW5nbHktcXVvdGVkIHN0cmluZworICAgICAgICAgICAgICAgIG0gPSBfc3F1b3RlX3JlLm1hdGNoKHMsIGVuZCkKKyAgICAgICAgICAgIGVsaWYgc1tlbmRdID09ICciJzogICAgICAgICAgIyBzbHVycCBkb3VibHktcXVvdGVkIHN0cmluZworICAgICAgICAgICAgICAgIG0gPSBfZHF1b3RlX3JlLm1hdGNoKHMsIGVuZCkKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgcmFpc2UgUnVudGltZUVycm9yKCJ0aGlzIGNhbid0IGhhcHBlbiAiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIoYmFkIGNoYXIgJyVjJykiICUgc1tlbmRdKQorCisgICAgICAgICAgICBpZiBtIGlzIE5vbmU6CisgICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiYmFkIHN0cmluZyAobWlzbWF0Y2hlZCAlcyBxdW90ZXM/KSIgJSBzW2VuZF0pCisKKyAgICAgICAgICAgIGJlZywgZW5kID0gbS5zcGFuKCkKKyAgICAgICAgICAgIHMgPSBzWzpiZWddICsgc1tiZWcgKyAxOmVuZCAtIDFdICsgc1tlbmQ6XQorICAgICAgICAgICAgcG9zID0gbS5lbmQoKSAtIDIKKworICAgICAgICBpZiBwb3MgPj0gbGVuKHMpOgorICAgICAgICAgICAgd29yZHMuYXBwZW5kKHMpCisgICAgICAgICAgICBicmVhaworCisgICAgcmV0dXJuIHdvcmRzCisKKworZGVmIHNwbGl0X211bHRpbGluZSh2YWx1ZSk6CisgICAgIiIiU3BsaXQgYSBtdWx0aWxpbmUgc3RyaW5nIGludG8gYSBsaXN0LCBleGNsdWRpbmcgYmxhbmsgbGluZXMuIiIiCisKKyAgICByZXR1cm4gW2VsZW1lbnQgZm9yIGVsZW1lbnQgaW4KKyAgICAgICAgICAgIChsaW5lLnN0cmlwKCkgZm9yIGxpbmUgaW4gdmFsdWUuc3BsaXQoJ1xuJykpCisgICAgICAgICAgICBpZiBlbGVtZW50XQorCisKK2RlZiBleGVjdXRlKGZ1bmMsIGFyZ3MsIG1zZz1Ob25lLCBkcnlfcnVuPUZhbHNlKToKKyAgICAiIiJQZXJmb3JtIHNvbWUgYWN0aW9uIHRoYXQgYWZmZWN0cyB0aGUgb3V0c2lkZSB3b3JsZC4KKworICAgIFNvbWUgYWN0aW9ucyAoZS5nLiB3cml0aW5nIHRvIHRoZSBmaWxlc3lzdGVtKSBhcmUgc3BlY2lhbCBiZWNhdXNlCisgICAgdGhleSBhcmUgZGlzYWJsZWQgYnkgdGhlICdkcnlfcnVuJyBmbGFnLiAgVGhpcyBtZXRob2QgdGFrZXMgY2FyZSBvZiBhbGwKKyAgICB0aGF0IGJ1cmVhdWNyYWN5IGZvciB5b3U7IGFsbCB5b3UgaGF2ZSB0byBkbyBpcyBzdXBwbHkgdGhlCisgICAgZnVuY3Rpb24gdG8gY2FsbCBhbmQgYW4gYXJndW1lbnQgdHVwbGUgZm9yIGl0ICh0byBlbWJvZHkgdGhlCisgICAgImV4dGVybmFsIGFjdGlvbiIgYmVpbmcgcGVyZm9ybWVkKSwgYW5kIGFuIG9wdGlvbmFsIG1lc3NhZ2UgdG8KKyAgICBwcmludC4KKyAgICAiIiIKKyAgICBpZiBtc2cgaXMgTm9uZToKKyAgICAgICAgbXNnID0gIiVzJXIiICUgKGZ1bmMuX19uYW1lX18sIGFyZ3MpCisgICAgICAgIGlmIG1zZ1stMjpdID09ICcsKSc6ICAgICAgICAjIGNvcnJlY3QgZm9yIHNpbmdsZXRvbiB0dXBsZQorICAgICAgICAgICAgbXNnID0gbXNnWzA6LTJdICsgJyknCisKKyAgICBsb2dnZXIuaW5mbyhtc2cpCisgICAgaWYgbm90IGRyeV9ydW46CisgICAgICAgIGZ1bmMoKmFyZ3MpCisKKworZGVmIHN0cnRvYm9vbCh2YWwpOgorICAgICIiIkNvbnZlcnQgYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdHJ1dGggdG8gYSBib29sZWFuLgorCisgICAgVHJ1ZSB2YWx1ZXMgYXJlICd5JywgJ3llcycsICd0JywgJ3RydWUnLCAnb24nLCBhbmQgJzEnOyBmYWxzZSB2YWx1ZXMKKyAgICBhcmUgJ24nLCAnbm8nLCAnZicsICdmYWxzZScsICdvZmYnLCBhbmQgJzAnLiAgUmFpc2VzIFZhbHVlRXJyb3IgaWYKKyAgICAndmFsJyBpcyBhbnl0aGluZyBlbHNlLgorICAgICIiIgorICAgIHZhbCA9IHZhbC5sb3dlcigpCisgICAgaWYgdmFsIGluICgneScsICd5ZXMnLCAndCcsICd0cnVlJywgJ29uJywgJzEnKToKKyAgICAgICAgcmV0dXJuIFRydWUKKyAgICBlbGlmIHZhbCBpbiAoJ24nLCAnbm8nLCAnZicsICdmYWxzZScsICdvZmYnLCAnMCcpOgorICAgICAgICByZXR1cm4gRmFsc2UKKyAgICBlbHNlOgorICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJpbnZhbGlkIHRydXRoIHZhbHVlICVyIiAlICh2YWwsKSkKKworCitkZWYgYnl0ZV9jb21waWxlKHB5X2ZpbGVzLCBvcHRpbWl6ZT0wLCBmb3JjZT1GYWxzZSwgcHJlZml4PU5vbmUsCisgICAgICAgICAgICAgICAgIGJhc2VfZGlyPU5vbmUsIGRyeV9ydW49RmFsc2UsIGRpcmVjdD1Ob25lKToKKyAgICAiIiJCeXRlLWNvbXBpbGUgYSBjb2xsZWN0aW9uIG9mIFB5dGhvbiBzb3VyY2UgZmlsZXMgdG8gZWl0aGVyIC5weWMKKyAgICBvciAucHlvIGZpbGVzIGluIGEgX19weWNhY2hlX18gc3ViZGlyZWN0b3J5LgorCisgICAgJ3B5X2ZpbGVzJyBpcyBhIGxpc3Qgb2YgZmlsZXMgdG8gY29tcGlsZTsgYW55IGZpbGVzIHRoYXQgZG9uJ3QgZW5kIGluCisgICAgIi5weSIgYXJlIHNpbGVudGx5IHNraXBwZWQuICdvcHRpbWl6ZScgbXVzdCBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZzoKKyAgICAgIDAgLSBkb24ndCBvcHRpbWl6ZSAoZ2VuZXJhdGUgLnB5YykKKyAgICAgIDEgLSBub3JtYWwgb3B0aW1pemF0aW9uIChsaWtlICJweXRob24gLU8iKQorICAgICAgMiAtIGV4dHJhIG9wdGltaXphdGlvbiAobGlrZSAicHl0aG9uIC1PTyIpCisgICAgVGhpcyBmdW5jdGlvbiBpcyBpbmRlcGVuZGVudCBmcm9tIHRoZSBydW5uaW5nIFB5dGhvbidzIC1PIG9yIC1CIG9wdGlvbnM7CisgICAgaXQgaXMgZnVsbHkgY29udHJvbGxlZCBieSB0aGUgcGFyYW1ldGVycyBwYXNzZWQgaW4uCisKKyAgICBJZiAnZm9yY2UnIGlzIHRydWUsIGFsbCBmaWxlcyBhcmUgcmVjb21waWxlZCByZWdhcmRsZXNzIG9mCisgICAgdGltZXN0YW1wcy4KKworICAgIFRoZSBzb3VyY2UgZmlsZW5hbWUgZW5jb2RlZCBpbiBlYWNoIGJ5dGVjb2RlIGZpbGUgZGVmYXVsdHMgdG8gdGhlCisgICAgZmlsZW5hbWVzIGxpc3RlZCBpbiAncHlfZmlsZXMnOyB5b3UgY2FuIG1vZGlmeSB0aGVzZSB3aXRoICdwcmVmaXgnIGFuZAorICAgICdiYXNlZGlyJy4gICdwcmVmaXgnIGlzIGEgc3RyaW5nIHRoYXQgd2lsbCBiZSBzdHJpcHBlZCBvZmYgb2YgZWFjaAorICAgIHNvdXJjZSBmaWxlbmFtZSwgYW5kICdiYXNlX2RpcicgaXMgYSBkaXJlY3RvcnkgbmFtZSB0aGF0IHdpbGwgYmUKKyAgICBwcmVwZW5kZWQgKGFmdGVyICdwcmVmaXgnIGlzIHN0cmlwcGVkKS4gIFlvdSBjYW4gc3VwcGx5IGVpdGhlciBvciBib3RoCisgICAgKG9yIG5laXRoZXIpIG9mICdwcmVmaXgnIGFuZCAnYmFzZV9kaXInLCBhcyB5b3Ugd2lzaC4KKworICAgIElmICdkcnlfcnVuJyBpcyB0cnVlLCBkb2Vzbid0IGFjdHVhbGx5IGRvIGFueXRoaW5nIHRoYXQgd291bGQKKyAgICBhZmZlY3QgdGhlIGZpbGVzeXN0ZW0uCisKKyAgICBCeXRlLWNvbXBpbGF0aW9uIGlzIGVpdGhlciBkb25lIGRpcmVjdGx5IGluIHRoaXMgaW50ZXJwcmV0ZXIgcHJvY2VzcworICAgIHdpdGggdGhlIHN0YW5kYXJkIHB5X2NvbXBpbGUgbW9kdWxlLCBvciBpbmRpcmVjdGx5IGJ5IHdyaXRpbmcgYQorICAgIHRlbXBvcmFyeSBzY3JpcHQgYW5kIGV4ZWN1dGluZyBpdC4gIE5vcm1hbGx5LCB5b3Ugc2hvdWxkIGxldAorICAgICdieXRlX2NvbXBpbGUoKScgZmlndXJlIG91dCB0byB1c2UgZGlyZWN0IGNvbXBpbGF0aW9uIG9yIG5vdCAoc2VlCisgICAgdGhlIHNvdXJjZSBmb3IgZGV0YWlscykuICBUaGUgJ2RpcmVjdCcgZmxhZyBpcyB1c2VkIGJ5IHRoZSBzY3JpcHQKKyAgICBnZW5lcmF0ZWQgaW4gaW5kaXJlY3QgbW9kZTsgdW5sZXNzIHlvdSBrbm93IHdoYXQgeW91J3JlIGRvaW5nLCBsZWF2ZQorICAgIGl0IHNldCB0byBOb25lLgorICAgICIiIgorICAgICMgRklYTUUgdXNlIGNvbXBpbGVhbGwgKyByZW1vdmUgZGlyZWN0L2luZGlyZWN0IHNoZW5hbmlnYW5zCisKKyAgICAjIEZpcnN0LCBpZiB0aGUgY2FsbGVyIGRpZG4ndCBmb3JjZSB1cyBpbnRvIGRpcmVjdCBvciBpbmRpcmVjdCBtb2RlLAorICAgICMgZmlndXJlIG91dCB3aGljaCBtb2RlIHdlIHNob3VsZCBiZSBpbi4gIFdlIHRha2UgYSBjb25zZXJ2YXRpdmUKKyAgICAjIGFwcHJvYWNoOiBjaG9vc2UgZGlyZWN0IG1vZGUgKm9ubHkqIGlmIHRoZSBjdXJyZW50IGludGVycHJldGVyIGlzCisgICAgIyBpbiBkZWJ1ZyBtb2RlIGFuZCBvcHRpbWl6ZSBpcyAwLiAgSWYgd2UncmUgbm90IGluIGRlYnVnIG1vZGUgKC1PCisgICAgIyBvciAtT08pLCB3ZSBkb24ndCBrbm93IHdoaWNoIGxldmVsIG9mIG9wdGltaXphdGlvbiB0aGlzCisgICAgIyBpbnRlcnByZXRlciBpcyBydW5uaW5nIHdpdGgsIHNvIHdlIGNhbid0IGRvIGRpcmVjdAorICAgICMgYnl0ZS1jb21waWxhdGlvbiBhbmQgYmUgY2VydGFpbiB0aGF0IGl0J3MgdGhlIHJpZ2h0IHRoaW5nLiAgVGh1cywKKyAgICAjIGFsd2F5cyBjb21waWxlIGluZGlyZWN0bHkgaWYgdGhlIGN1cnJlbnQgaW50ZXJwcmV0ZXIgaXMgaW4gZWl0aGVyCisgICAgIyBvcHRpbWl6ZSBtb2RlLCBvciBpZiBlaXRoZXIgb3B0aW1pemF0aW9uIGxldmVsIHdhcyByZXF1ZXN0ZWQgYnkKKyAgICAjIHRoZSBjYWxsZXIuCisgICAgaWYgZGlyZWN0IGlzIE5vbmU6CisgICAgICAgIGRpcmVjdCA9IChfX2RlYnVnX18gYW5kIG9wdGltaXplID09IDApCisKKyAgICAjICJJbmRpcmVjdCIgYnl0ZS1jb21waWxhdGlvbjogd3JpdGUgYSB0ZW1wb3Jhcnkgc2NyaXB0IGFuZCB0aGVuCisgICAgIyBydW4gaXQgd2l0aCB0aGUgYXBwcm9wcmlhdGUgZmxhZ3MuCisgICAgaWYgbm90IGRpcmVjdDoKKyAgICAgICAgZnJvbSB0ZW1wZmlsZSBpbXBvcnQgbWtzdGVtcAorICAgICAgICAjIFhYWCB1c2Ugc29tZXRoaW5nIGJldHRlciB0aGFuIG1rc3RlbXAKKyAgICAgICAgc2NyaXB0X2ZkLCBzY3JpcHRfbmFtZSA9IG1rc3RlbXAoIi5weSIpCisgICAgICAgIG9zLmNsb3NlKHNjcmlwdF9mZCkKKyAgICAgICAgc2NyaXB0X2ZkID0gTm9uZQorICAgICAgICBsb2dnZXIuaW5mbygid3JpdGluZyBieXRlLWNvbXBpbGF0aW9uIHNjcmlwdCAnJXMnIiwgc2NyaXB0X25hbWUpCisgICAgICAgIGlmIG5vdCBkcnlfcnVuOgorICAgICAgICAgICAgaWYgc2NyaXB0X2ZkIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgICAgIHNjcmlwdCA9IG9zLmZkb3BlbihzY3JpcHRfZmQsICJ3IiwgZW5jb2Rpbmc9J3V0Zi04JykKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgc2NyaXB0ID0gb3BlbihzY3JpcHRfbmFtZSwgInciLCBlbmNvZGluZz0ndXRmLTgnKQorCisgICAgICAgICAgICB3aXRoIHNjcmlwdDoKKyAgICAgICAgICAgICAgICBzY3JpcHQud3JpdGUoIiIiXAorZnJvbSBwYWNrYWdpbmcudXRpbCBpbXBvcnQgYnl0ZV9jb21waWxlCitmaWxlcyA9IFsKKyIiIikKKworICAgICAgICAgICAgICAgICMgWFhYIHdvdWxkIGJlIG5pY2UgdG8gd3JpdGUgYWJzb2x1dGUgZmlsZW5hbWVzLCBqdXN0IGZvcgorICAgICAgICAgICAgICAgICMgc2FmZXR5J3Mgc2FrZSAoc2NyaXB0IHNob3VsZCBiZSBtb3JlIHJvYnVzdCBpbiB0aGUgZmFjZSBvZgorICAgICAgICAgICAgICAgICMgY2hkaXInaW5nIGJlZm9yZSBydW5uaW5nIGl0KS4gIEJ1dCB0aGlzIHJlcXVpcmVzIGFic3BhdGgnaW5nCisgICAgICAgICAgICAgICAgIyAncHJlZml4JyBhcyB3ZWxsLCBhbmQgdGhhdCBicmVha3MgdGhlIGhhY2sgaW4gYnVpbGRfbGliJ3MKKyAgICAgICAgICAgICAgICAjICdieXRlX2NvbXBpbGUoKScgbWV0aG9kIHRoYXQgY2FyZWZ1bGx5IHRhY2tzIG9uIGEgdHJhaWxpbmcKKyAgICAgICAgICAgICAgICAjIHNsYXNoIChvcy5zZXAgcmVhbGx5KSB0byBtYWtlIHN1cmUgdGhlIHByZWZpeCBoZXJlIGlzICJqdXN0CisgICAgICAgICAgICAgICAgIyByaWdodCIuICBUaGlzIHdob2xlIHByZWZpeCBidXNpbmVzcyBpcyByYXRoZXIgZGVsaWNhdGUgLS0gdGhlCisgICAgICAgICAgICAgICAgIyBwcm9ibGVtIGlzIHRoYXQgaXQncyByZWFsbHkgYSBkaXJlY3RvcnksIGJ1dCBJJ20gdHJlYXRpbmcgaXQKKyAgICAgICAgICAgICAgICAjIGFzIGEgZHVtYiBzdHJpbmcsIHNvIHRyYWlsaW5nIHNsYXNoZXMgYW5kIHNvIGZvcnRoIG1hdHRlci4KKworICAgICAgICAgICAgICAgICNweV9maWxlcyA9IG1hcChvcy5wYXRoLmFic3BhdGgsIHB5X2ZpbGVzKQorICAgICAgICAgICAgICAgICNpZiBwcmVmaXg6CisgICAgICAgICAgICAgICAgIyAgICBwcmVmaXggPSBvcy5wYXRoLmFic3BhdGgocHJlZml4KQorCisgICAgICAgICAgICAgICAgc2NyaXB0LndyaXRlKCIsXG4iLmpvaW4obWFwKHJlcHIsIHB5X2ZpbGVzKSkgKyAiXVxuIikKKyAgICAgICAgICAgICAgICBzY3JpcHQud3JpdGUoIiIiCitieXRlX2NvbXBpbGUoZmlsZXMsIG9wdGltaXplPSVyLCBmb3JjZT0lciwKKyAgICAgICAgICAgICBwcmVmaXg9JXIsIGJhc2VfZGlyPSVyLAorICAgICAgICAgICAgIGRyeV9ydW49RmFsc2UsCisgICAgICAgICAgICAgZGlyZWN0PVRydWUpCisiIiIgJSAob3B0aW1pemUsIGZvcmNlLCBwcmVmaXgsIGJhc2VfZGlyKSkKKworICAgICAgICBjbWQgPSBbc3lzLmV4ZWN1dGFibGUsIHNjcmlwdF9uYW1lXQorCisgICAgICAgIGVudiA9IG9zLmVudmlyb24uY29weSgpCisgICAgICAgIGVudlsnUFlUSE9OUEFUSCddID0gb3MucGF0aC5wYXRoc2VwLmpvaW4oc3lzLnBhdGgpCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHNwYXduKGNtZCwgZW52PWVudikKKyAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgIGV4ZWN1dGUob3MucmVtb3ZlLCAoc2NyaXB0X25hbWUsKSwgInJlbW92aW5nICVzIiAlIHNjcmlwdF9uYW1lLAorICAgICAgICAgICAgICAgICAgICBkcnlfcnVuPWRyeV9ydW4pCisKKyAgICAjICJEaXJlY3QiIGJ5dGUtY29tcGlsYXRpb246IHVzZSB0aGUgcHlfY29tcGlsZSBtb2R1bGUgdG8gY29tcGlsZQorICAgICMgcmlnaHQgaGVyZSwgcmlnaHQgbm93LiAgTm90ZSB0aGF0IHRoZSBzY3JpcHQgZ2VuZXJhdGVkIGluIGluZGlyZWN0CisgICAgIyBtb2RlIHNpbXBseSBjYWxscyAnYnl0ZV9jb21waWxlKCknIGluIGRpcmVjdCBtb2RlLCBhIHdlaXJkIHNvcnQgb2YKKyAgICAjIGNyb3NzLXByb2Nlc3MgcmVjdXJzaW9uLiAgSGV5LCBpdCB3b3JrcyEKKyAgICBlbHNlOgorICAgICAgICBmcm9tIHB5X2NvbXBpbGUgaW1wb3J0IGNvbXBpbGUKKworICAgICAgICBmb3IgZmlsZSBpbiBweV9maWxlczoKKyAgICAgICAgICAgIGlmIGZpbGVbLTM6XSAhPSAiLnB5IjoKKyAgICAgICAgICAgICAgICAjIFRoaXMgbGV0cyB1cyBiZSBsYXp5IGFuZCBub3QgZmlsdGVyIGZpbGVuYW1lcyBpbgorICAgICAgICAgICAgICAgICMgdGhlICJpbnN0YWxsX2xpYiIgY29tbWFuZC4KKyAgICAgICAgICAgICAgICBjb250aW51ZQorCisgICAgICAgICAgICAjIFRlcm1pbm9sb2d5IGZyb20gdGhlIHB5X2NvbXBpbGUgbW9kdWxlOgorICAgICAgICAgICAgIyAgIGNmaWxlIC0gYnl0ZS1jb21waWxlZCBmaWxlCisgICAgICAgICAgICAjICAgZGZpbGUgLSBwdXJwb3J0ZWQgc291cmNlIGZpbGVuYW1lIChzYW1lIGFzICdmaWxlJyBieSBkZWZhdWx0KQorICAgICAgICAgICAgIyBUaGUgc2Vjb25kIGFyZ3VtZW50IHRvIGNhY2hlX2Zyb21fc291cmNlIGZvcmNlcyB0aGUgZXh0ZW5zaW9uIHRvCisgICAgICAgICAgICAjIGJlIC5weWMgKGlmIHRydWUpIG9yIC5weW8gKGlmIGZhbHNlKTsgd2l0aG91dCBpdCwgdGhlIGV4dGVuc2lvbgorICAgICAgICAgICAgIyB3b3VsZCBkZXBlbmQgb24gdGhlIGNhbGxpbmcgUHl0aG9uJ3MgLU8gb3B0aW9uCisgICAgICAgICAgICBjZmlsZSA9IGltcC5jYWNoZV9mcm9tX3NvdXJjZShmaWxlLCBub3Qgb3B0aW1pemUpCisgICAgICAgICAgICBkZmlsZSA9IGZpbGUKKworICAgICAgICAgICAgaWYgcHJlZml4OgorICAgICAgICAgICAgICAgIGlmIGZpbGVbOmxlbihwcmVmaXgpXSAhPSBwcmVmaXg6CisgICAgICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoImludmFsaWQgcHJlZml4OiBmaWxlbmFtZSAlciBkb2Vzbid0ICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3RhcnQgd2l0aCAlciIgJSAoZmlsZSwgcHJlZml4KSkKKyAgICAgICAgICAgICAgICBkZmlsZSA9IGRmaWxlW2xlbihwcmVmaXgpOl0KKyAgICAgICAgICAgIGlmIGJhc2VfZGlyOgorICAgICAgICAgICAgICAgIGRmaWxlID0gb3MucGF0aC5qb2luKGJhc2VfZGlyLCBkZmlsZSkKKworICAgICAgICAgICAgY2ZpbGVfYmFzZSA9IG9zLnBhdGguYmFzZW5hbWUoY2ZpbGUpCisgICAgICAgICAgICBpZiBkaXJlY3Q6CisgICAgICAgICAgICAgICAgaWYgZm9yY2Ugb3IgbmV3ZXIoZmlsZSwgY2ZpbGUpOgorICAgICAgICAgICAgICAgICAgICBsb2dnZXIuaW5mbygiYnl0ZS1jb21waWxpbmcgJXMgdG8gJXMiLCBmaWxlLCBjZmlsZV9iYXNlKQorICAgICAgICAgICAgICAgICAgICBpZiBub3QgZHJ5X3J1bjoKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBpbGUoZmlsZSwgY2ZpbGUsIGRmaWxlKQorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIGxvZ2dlci5kZWJ1Zygic2tpcHBpbmcgYnl0ZS1jb21waWxhdGlvbiBvZiAlcyB0byAlcyIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlLCBjZmlsZV9iYXNlKQorCisKK19SRV9WRVJTSU9OID0gcmUuY29tcGlsZSgnKFxkK1wuXGQrKFwuXGQrKSopJykKK19NQUNfT1NfWF9MRF9WRVJTSU9OID0gcmUuY29tcGlsZSgnXkBcKCNcKVBST0dSQU06bGQgICcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUFJPSkVDVDpsZDY0LSgoXGQrKShcLlxkKykqKScpCisKKworZGVmIF9maW5kX2xkX3ZlcnNpb24oKToKKyAgICAiIiJGaW5kIHRoZSBsZCB2ZXJzaW9uLiAgVGhlIHZlcnNpb24gc2NoZW1lIGRpZmZlcnMgdW5kZXIgTWFjIE9TIFguIiIiCisgICAgaWYgc3lzLnBsYXRmb3JtID09ICdkYXJ3aW4nOgorICAgICAgICByZXR1cm4gX2ZpbmRfZXhlX3ZlcnNpb24oJ2xkIC12JywgX01BQ19PU19YX0xEX1ZFUlNJT04pCisgICAgZWxzZToKKyAgICAgICAgcmV0dXJuIF9maW5kX2V4ZV92ZXJzaW9uKCdsZCAtdicpCisKKworZGVmIF9maW5kX2V4ZV92ZXJzaW9uKGNtZCwgcGF0dGVybj1fUkVfVkVSU0lPTik6CisgICAgIiIiRmluZCB0aGUgdmVyc2lvbiBvZiBhbiBleGVjdXRhYmxlIGJ5IHJ1bm5pbmcgYGNtZGAgaW4gdGhlIHNoZWxsLgorCisgICAgYHBhdHRlcm5gIGlzIGEgY29tcGlsZWQgcmVndWxhciBleHByZXNzaW9uLiAgSWYgbm90IHByb3ZpZGVkLCBkZWZhdWx0cworICAgIHRvIF9SRV9WRVJTSU9OLiBJZiB0aGUgY29tbWFuZCBpcyBub3QgZm91bmQsIG9yIHRoZSBvdXRwdXQgZG9lcyBub3QKKyAgICBtYXRjaCB0aGUgbWF0dGVybiwgcmV0dXJucyBOb25lLgorICAgICIiIgorICAgIGZyb20gc3VicHJvY2VzcyBpbXBvcnQgUG9wZW4sIFBJUEUKKyAgICBleGVjdXRhYmxlID0gY21kLnNwbGl0KClbMF0KKyAgICBpZiBmaW5kX2V4ZWN1dGFibGUoZXhlY3V0YWJsZSkgaXMgTm9uZToKKyAgICAgICAgcmV0dXJuIE5vbmUKKyAgICBwaXBlID0gUG9wZW4oY21kLCBzaGVsbD1UcnVlLCBzdGRvdXQ9UElQRSwgc3RkZXJyPVBJUEUpCisgICAgdHJ5OgorICAgICAgICBzdGRvdXQsIHN0ZGVyciA9IHBpcGUuY29tbXVuaWNhdGUoKQorICAgIGZpbmFsbHk6CisgICAgICAgIHBpcGUuc3Rkb3V0LmNsb3NlKCkKKyAgICAgICAgcGlwZS5zdGRlcnIuY2xvc2UoKQorICAgICMgc29tZSBjb21tYW5kcyBsaWtlIGxkIHVuZGVyIE1hY09TIFgsIHdpbGwgZ2l2ZSB0aGUKKyAgICAjIG91dHB1dCBpbiB0aGUgc3RkZXJyLCByYXRoZXIgdGhhbiBzdGRvdXQuCisgICAgaWYgc3Rkb3V0ICE9ICcnOgorICAgICAgICBvdXRfc3RyaW5nID0gc3Rkb3V0CisgICAgZWxzZToKKyAgICAgICAgb3V0X3N0cmluZyA9IHN0ZGVycgorCisgICAgcmVzdWx0ID0gcGF0dGVybi5zZWFyY2gob3V0X3N0cmluZykKKyAgICBpZiByZXN1bHQgaXMgTm9uZToKKyAgICAgICAgcmV0dXJuIE5vbmUKKyAgICByZXR1cm4gcmVzdWx0Lmdyb3VwKDEpCisKKworZGVmIGdldF9jb21waWxlcl92ZXJzaW9ucygpOgorICAgICIiIlJldHVybiBhIHR1cGxlIHByb3ZpZGluZyB0aGUgdmVyc2lvbnMgb2YgZ2NjLCBsZCBhbmQgZGxsd3JhcAorCisgICAgRm9yIGVhY2ggY29tbWFuZCwgaWYgYSBjb21tYW5kIGlzIG5vdCBmb3VuZCwgTm9uZSBpcyByZXR1cm5lZC4KKyAgICBPdGhlcndpc2UgYSBzdHJpbmcgd2l0aCB0aGUgdmVyc2lvbiBpcyByZXR1cm5lZC4KKyAgICAiIiIKKyAgICBnY2MgPSBfZmluZF9leGVfdmVyc2lvbignZ2NjIC1kdW1wdmVyc2lvbicpCisgICAgbGQgPSBfZmluZF9sZF92ZXJzaW9uKCkKKyAgICBkbGx3cmFwID0gX2ZpbmRfZXhlX3ZlcnNpb24oJ2RsbHdyYXAgLS12ZXJzaW9uJykKKyAgICByZXR1cm4gZ2NjLCBsZCwgZGxsd3JhcAorCisKK2RlZiBuZXdlcl9ncm91cChzb3VyY2VzLCB0YXJnZXQsIG1pc3Npbmc9J2Vycm9yJyk6CisgICAgIiIiUmV0dXJuIHRydWUgaWYgJ3RhcmdldCcgaXMgb3V0LW9mLWRhdGUgd2l0aCByZXNwZWN0IHRvIGFueSBmaWxlCisgICAgbGlzdGVkIGluICdzb3VyY2VzJy4KKworICAgIEluIG90aGVyIHdvcmRzLCBpZiAndGFyZ2V0JyBleGlzdHMgYW5kIGlzIG5ld2VyCisgICAgdGhhbiBldmVyeSBmaWxlIGluICdzb3VyY2VzJywgcmV0dXJuIGZhbHNlOyBvdGhlcndpc2UgcmV0dXJuIHRydWUuCisgICAgJ21pc3NpbmcnIGNvbnRyb2xzIHdoYXQgd2UgZG8gd2hlbiBhIHNvdXJjZSBmaWxlIGlzIG1pc3Npbmc7IHRoZQorICAgIGRlZmF1bHQgKCJlcnJvciIpIGlzIHRvIGJsb3cgdXAgd2l0aCBhbiBPU0Vycm9yIGZyb20gaW5zaWRlICdzdGF0KCknOworICAgIGlmIGl0IGlzICJpZ25vcmUiLCB3ZSBzaWxlbnRseSBkcm9wIGFueSBtaXNzaW5nIHNvdXJjZSBmaWxlczsgaWYgaXQgaXMKKyAgICAibmV3ZXIiLCBhbnkgbWlzc2luZyBzb3VyY2UgZmlsZXMgbWFrZSB1cyBhc3N1bWUgdGhhdCAndGFyZ2V0JyBpcworICAgIG91dC1vZi1kYXRlICh0aGlzIGlzIGhhbmR5IGluICJkcnktcnVuIiBtb2RlOiBpdCdsbCBtYWtlIHlvdSBwcmV0ZW5kIHRvCisgICAgY2Fycnkgb3V0IGNvbW1hbmRzIHRoYXQgd291bGRuJ3Qgd29yayBiZWNhdXNlIGlucHV0cyBhcmUgbWlzc2luZywgYnV0CisgICAgdGhhdCBkb2Vzbid0IG1hdHRlciBiZWNhdXNlIHlvdSdyZSBub3QgYWN0dWFsbHkgZ29pbmcgdG8gcnVuIHRoZQorICAgIGNvbW1hbmRzKS4KKyAgICAiIiIKKyAgICAjIElmIHRoZSB0YXJnZXQgZG9lc24ndCBldmVuIGV4aXN0LCB0aGVuIGl0J3MgZGVmaW5pdGVseSBvdXQtb2YtZGF0ZS4KKyAgICBpZiBub3Qgb3MucGF0aC5leGlzdHModGFyZ2V0KToKKyAgICAgICAgcmV0dXJuIFRydWUKKworICAgICMgT3RoZXJ3aXNlIHdlIGhhdmUgdG8gZmluZCBvdXQgdGhlIGhhcmQgd2F5OiBpZiAqYW55KiBzb3VyY2UgZmlsZQorICAgICMgaXMgbW9yZSByZWNlbnQgdGhhbiAndGFyZ2V0JywgdGhlbiAndGFyZ2V0JyBpcyBvdXQtb2YtZGF0ZSBhbmQKKyAgICAjIHdlIGNhbiBpbW1lZGlhdGVseSByZXR1cm4gdHJ1ZS4gIElmIHdlIGZhbGwgdGhyb3VnaCB0byB0aGUgZW5kCisgICAgIyBvZiB0aGUgbG9vcCwgdGhlbiAndGFyZ2V0JyBpcyB1cC10by1kYXRlIGFuZCB3ZSByZXR1cm4gZmFsc2UuCisgICAgdGFyZ2V0X210aW1lID0gb3Muc3RhdCh0YXJnZXQpLnN0X210aW1lCisKKyAgICBmb3Igc291cmNlIGluIHNvdXJjZXM6CisgICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhzb3VyY2UpOgorICAgICAgICAgICAgaWYgbWlzc2luZyA9PSAnZXJyb3InOiAgICAgICMgYmxvdyB1cCB3aGVuIHdlIHN0YXQoKSB0aGUgZmlsZQorICAgICAgICAgICAgICAgIHBhc3MKKyAgICAgICAgICAgIGVsaWYgbWlzc2luZyA9PSAnaWdub3JlJzogICAjIG1pc3Npbmcgc291cmNlIGRyb3BwZWQgZnJvbQorICAgICAgICAgICAgICAgIGNvbnRpbnVlICAgICAgICAgICAgICAgICMgdGFyZ2V0J3MgZGVwZW5kZW5jeSBsaXN0CisgICAgICAgICAgICBlbGlmIG1pc3NpbmcgPT0gJ25ld2VyJzogICAgIyBtaXNzaW5nIHNvdXJjZSBtZWFucyB0YXJnZXQgaXMKKyAgICAgICAgICAgICAgICByZXR1cm4gVHJ1ZSAgICAgICAgICAgICAjIG91dC1vZi1kYXRlCisKKyAgICAgICAgaWYgb3Muc3RhdChzb3VyY2UpLnN0X210aW1lID4gdGFyZ2V0X210aW1lOgorICAgICAgICAgICAgcmV0dXJuIFRydWUKKworICAgIHJldHVybiBGYWxzZQorCisKK2RlZiB3cml0ZV9maWxlKGZpbGVuYW1lLCBjb250ZW50cyk6CisgICAgIiIiQ3JlYXRlICpmaWxlbmFtZSogYW5kIHdyaXRlICpjb250ZW50cyogdG8gaXQuCisKKyAgICAqY29udGVudHMqIGlzIGEgc2VxdWVuY2Ugb2Ygc3RyaW5ncyB3aXRob3V0IGxpbmUgdGVybWluYXRvcnMuCisKKyAgICBUaGlzIGZ1bmN0aW9ucyBpcyBub3QgaW50ZW5kZWQgdG8gcmVwbGFjZSB0aGUgdXN1YWwgd2l0aCBvcGVuICsgd3JpdGUKKyAgICBpZGlvbSBpbiBhbGwgY2FzZXMsIG9ubHkgd2l0aCBDb21tYW5kLmV4ZWN1dGUsIHdoaWNoIHJ1bnMgZGVwZW5kaW5nIG9uCisgICAgdGhlIGRyeV9ydW4gYXJndW1lbnQgYW5kIGFsc28gbG9ncyBpdHMgYXJndW1lbnRzKS4KKyAgICAiIiIKKyAgICB3aXRoIG9wZW4oZmlsZW5hbWUsICJ3IikgYXMgZjoKKyAgICAgICAgZm9yIGxpbmUgaW4gY29udGVudHM6CisgICAgICAgICAgICBmLndyaXRlKGxpbmUgKyAiXG4iKQorCisKK2RlZiBfaXNfcGFja2FnZShwYXRoKToKKyAgICByZXR1cm4gb3MucGF0aC5pc2RpcihwYXRoKSBhbmQgb3MucGF0aC5pc2ZpbGUoCisgICAgICAgIG9zLnBhdGguam9pbihwYXRoLCAnX19pbml0X18ucHknKSkKKworCisjIENvZGUgdGFrZW4gZnJvbSB0aGUgcGlwIHByb2plY3QKK2RlZiBfaXNfYXJjaGl2ZV9maWxlKG5hbWUpOgorICAgIGFyY2hpdmVzID0gKCcuemlwJywgJy50YXIuZ3onLCAnLnRhci5iejInLCAnLnRneicsICcudGFyJykKKyAgICBleHQgPSBzcGxpdGV4dChuYW1lKVsxXS5sb3dlcigpCisgICAgcmV0dXJuIGV4dCBpbiBhcmNoaXZlcworCisKK2RlZiBfdW5kZXIocGF0aCwgcm9vdCk6CisgICAgIyBYWFggdXNlIG9zLnBhdGgKKyAgICBwYXRoID0gcGF0aC5zcGxpdChvcy5zZXApCisgICAgcm9vdCA9IHJvb3Quc3BsaXQob3Muc2VwKQorICAgIGlmIGxlbihyb290KSA+IGxlbihwYXRoKToKKyAgICAgICAgcmV0dXJuIEZhbHNlCisgICAgZm9yIHBvcywgcGFydCBpbiBlbnVtZXJhdGUocm9vdCk6CisgICAgICAgIGlmIHBhdGhbcG9zXSAhPSBwYXJ0OgorICAgICAgICAgICAgcmV0dXJuIEZhbHNlCisgICAgcmV0dXJuIFRydWUKKworCitkZWYgX3BhY2thZ2VfbmFtZShyb290X3BhdGgsIHBhdGgpOgorICAgICMgUmV0dXJuIGEgZG90dGVkIHBhY2thZ2UgbmFtZSwgZ2l2ZW4gYSBzdWJwYXRoCisgICAgaWYgbm90IF91bmRlcihwYXRoLCByb290X3BhdGgpOgorICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCciJXMiIGlzIG5vdCBhIHN1YnBhdGggb2YgIiVzIicgJSAocGF0aCwgcm9vdF9wYXRoKSkKKyAgICByZXR1cm4gcGF0aFtsZW4ocm9vdF9wYXRoKSArIDE6XS5yZXBsYWNlKG9zLnNlcCwgJy4nKQorCisKK2RlZiBmaW5kX3BhY2thZ2VzKHBhdGhzPShvcy5jdXJkaXIsKSwgZXhjbHVkZT0oKSk6CisgICAgIiIiUmV0dXJuIGEgbGlzdCBhbGwgUHl0aG9uIHBhY2thZ2VzIGZvdW5kIHJlY3Vyc2l2ZWx5IHdpdGhpbgorICAgIGRpcmVjdG9yaWVzICdwYXRocycKKworICAgICdwYXRocycgc2hvdWxkIGJlIHN1cHBsaWVkIGFzIGEgc2VxdWVuY2Ugb2YgImNyb3NzLXBsYXRmb3JtIgorICAgIChpLmUuIFVSTC1zdHlsZSkgcGF0aDsgaXQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gdGhlIGFwcHJvcHJpYXRlIGxvY2FsCisgICAgcGF0aCBzeW50YXguCisKKyAgICAnZXhjbHVkZScgaXMgYSBzZXF1ZW5jZSBvZiBwYWNrYWdlIG5hbWVzIHRvIGV4Y2x1ZGU7ICcqJyBjYW4gYmUgdXNlZCBhcworICAgIGEgd2lsZGNhcmQgaW4gdGhlIG5hbWVzLCBzdWNoIHRoYXQgJ2Zvby4qJyB3aWxsIGV4Y2x1ZGUgYWxsIHN1YnBhY2thZ2VzCisgICAgb2YgJ2ZvbycgKGJ1dCBub3QgJ2ZvbycgaXRzZWxmKS4KKyAgICAiIiIKKyAgICBwYWNrYWdlcyA9IFtdCisgICAgZGlzY2FyZGVkID0gW10KKworICAgIGRlZiBfZGlzY2FyZGVkKHBhdGgpOgorICAgICAgICBmb3IgZGlzY2FyZCBpbiBkaXNjYXJkZWQ6CisgICAgICAgICAgICBpZiBfdW5kZXIocGF0aCwgZGlzY2FyZCk6CisgICAgICAgICAgICAgICAgcmV0dXJuIFRydWUKKyAgICAgICAgcmV0dXJuIEZhbHNlCisKKyAgICBmb3IgcGF0aCBpbiBwYXRoczoKKyAgICAgICAgcGF0aCA9IGNvbnZlcnRfcGF0aChwYXRoKQorICAgICAgICBmb3Igcm9vdCwgZGlycywgZmlsZXMgaW4gb3Mud2FsayhwYXRoKToKKyAgICAgICAgICAgIGZvciBkaXJfIGluIGRpcnM6CisgICAgICAgICAgICAgICAgZnVsbHBhdGggPSBvcy5wYXRoLmpvaW4ocm9vdCwgZGlyXykKKyAgICAgICAgICAgICAgICBpZiBfZGlzY2FyZGVkKGZ1bGxwYXRoKToKKyAgICAgICAgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgICAgICAgICAjIHdlIHdvcmsgb25seSB3aXRoIFB5dGhvbiBwYWNrYWdlcworICAgICAgICAgICAgICAgIGlmIG5vdCBfaXNfcGFja2FnZShmdWxscGF0aCk6CisgICAgICAgICAgICAgICAgICAgIGRpc2NhcmRlZC5hcHBlbmQoZnVsbHBhdGgpCisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICAgICAgIyBzZWUgaWYgaXQncyBleGNsdWRlZAorICAgICAgICAgICAgICAgIGV4Y2x1ZGVkID0gRmFsc2UKKyAgICAgICAgICAgICAgICBwYWNrYWdlX25hbWUgPSBfcGFja2FnZV9uYW1lKHBhdGgsIGZ1bGxwYXRoKQorICAgICAgICAgICAgICAgIGZvciBwYXR0ZXJuIGluIGV4Y2x1ZGU6CisgICAgICAgICAgICAgICAgICAgIGlmIGZubWF0Y2hjYXNlKHBhY2thZ2VfbmFtZSwgcGF0dGVybik6CisgICAgICAgICAgICAgICAgICAgICAgICBleGNsdWRlZCA9IFRydWUKKyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgICAgICAgICAgaWYgZXhjbHVkZWQ6CisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCisKKyAgICAgICAgICAgICAgICAjIGFkZGluZyBpdCB0byB0aGUgbGlzdAorICAgICAgICAgICAgICAgIHBhY2thZ2VzLmFwcGVuZChwYWNrYWdlX25hbWUpCisgICAgcmV0dXJuIHBhY2thZ2VzCisKKworZGVmIHJlc29sdmVfbmFtZShuYW1lKToKKyAgICAiIiJSZXNvbHZlIGEgbmFtZSBsaWtlIGBgbW9kdWxlLm9iamVjdGBgIHRvIGFuIG9iamVjdCBhbmQgcmV0dXJuIGl0LgorCisgICAgVGhpcyBmdW5jdGlvbnMgc3VwcG9ydHMgcGFja2FnZXMgYW5kIGF0dHJpYnV0ZXMgd2l0aG91dCBkZXB0aCBsaW1pdGF0aW9uOgorICAgIGBgcGFja2FnZS5wYWNrYWdlLm1vZHVsZS5jbGFzcy5jbGFzcy5mdW5jdGlvbi5hdHRyYGAgaXMgdmFsaWQgaW5wdXQuCisgICAgSG93ZXZlciwgbG9va2luZyB1cCBidWlsdGlucyBpcyBub3QgZGlyZWN0bHkgc3VwcG9ydGVkOiB1c2UKKyAgICBgYGJ1aWx0aW5zLm5hbWVgYC4KKworICAgIFJhaXNlcyBJbXBvcnRFcnJvciBpZiBpbXBvcnRpbmcgdGhlIG1vZHVsZSBmYWlscyBvciBpZiBvbmUgcmVxdWVzdGVkCisgICAgYXR0cmlidXRlIGlzIG5vdCBmb3VuZC4KKyAgICAiIiIKKyAgICBpZiAnLicgbm90IGluIG5hbWU6CisgICAgICAgICMgc2hvcnRjdXQKKyAgICAgICAgX19pbXBvcnRfXyhuYW1lKQorICAgICAgICByZXR1cm4gc3lzLm1vZHVsZXNbbmFtZV0KKworICAgICMgRklYTUUgY2xlYW4gdXAgdGhpcyBjb2RlIQorICAgIHBhcnRzID0gbmFtZS5zcGxpdCgnLicpCisgICAgY3Vyc29yID0gbGVuKHBhcnRzKQorICAgIG1vZHVsZV9uYW1lID0gcGFydHNbOmN1cnNvcl0KKyAgICByZXQgPSAnJworCisgICAgd2hpbGUgY3Vyc29yID4gMDoKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgcmV0ID0gX19pbXBvcnRfXygnLicuam9pbihtb2R1bGVfbmFtZSkpCisgICAgICAgICAgICBicmVhaworICAgICAgICBleGNlcHQgSW1wb3J0RXJyb3I6CisgICAgICAgICAgICBjdXJzb3IgLT0gMQorICAgICAgICAgICAgbW9kdWxlX25hbWUgPSBwYXJ0c1s6Y3Vyc29yXQorCisgICAgaWYgcmV0ID09ICcnOgorICAgICAgICByYWlzZSBJbXBvcnRFcnJvcihwYXJ0c1swXSkKKworICAgIGZvciBwYXJ0IGluIHBhcnRzWzE6XToKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgcmV0ID0gZ2V0YXR0cihyZXQsIHBhcnQpCisgICAgICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvciBhcyBleGM6CisgICAgICAgICAgICByYWlzZSBJbXBvcnRFcnJvcihleGMpCisKKyAgICByZXR1cm4gcmV0CisKKworZGVmIHNwbGl0ZXh0KHBhdGgpOgorICAgICIiIkxpa2Ugb3MucGF0aC5zcGxpdGV4dCwgYnV0IHRha2Ugb2ZmIC50YXIgdG9vIiIiCisgICAgYmFzZSwgZXh0ID0gcG9zaXhwYXRoLnNwbGl0ZXh0KHBhdGgpCisgICAgaWYgYmFzZS5sb3dlcigpLmVuZHN3aXRoKCcudGFyJyk6CisgICAgICAgIGV4dCA9IGJhc2VbLTQ6XSArIGV4dAorICAgICAgICBiYXNlID0gYmFzZVs6LTRdCisgICAgcmV0dXJuIGJhc2UsIGV4dAorCisKK2lmIHN5cy5wbGF0Zm9ybSA9PSAnZGFyd2luJzoKKyAgICBfY2ZnX3RhcmdldCA9IE5vbmUKKyAgICBfY2ZnX3RhcmdldF9zcGxpdCA9IE5vbmUKKworCitkZWYgc3Bhd24oY21kLCBzZWFyY2hfcGF0aD1UcnVlLCBkcnlfcnVuPUZhbHNlLCBlbnY9Tm9uZSk6CisgICAgIiIiUnVuIGFub3RoZXIgcHJvZ3JhbSBzcGVjaWZpZWQgYXMgYSBjb21tYW5kIGxpc3QgJ2NtZCcgaW4gYSBuZXcgcHJvY2Vzcy4KKworICAgICdjbWQnIGlzIGp1c3QgdGhlIGFyZ3VtZW50IGxpc3QgZm9yIHRoZSBuZXcgcHJvY2VzcywgaWUuCisgICAgY21kWzBdIGlzIHRoZSBwcm9ncmFtIHRvIHJ1biBhbmQgY21kWzE6XSBhcmUgdGhlIHJlc3Qgb2YgaXRzIGFyZ3VtZW50cy4KKyAgICBUaGVyZSBpcyBubyB3YXkgdG8gcnVuIGEgcHJvZ3JhbSB3aXRoIGEgbmFtZSBkaWZmZXJlbnQgZnJvbSB0aGF0IG9mIGl0cworICAgIGV4ZWN1dGFibGUuCisKKyAgICBJZiAnc2VhcmNoX3BhdGgnIGlzIHRydWUgKHRoZSBkZWZhdWx0KSwgdGhlIHN5c3RlbSdzIGV4ZWN1dGFibGUKKyAgICBzZWFyY2ggcGF0aCB3aWxsIGJlIHVzZWQgdG8gZmluZCB0aGUgcHJvZ3JhbTsgb3RoZXJ3aXNlLCBjbWRbMF0KKyAgICBtdXN0IGJlIHRoZSBleGFjdCBwYXRoIHRvIHRoZSBleGVjdXRhYmxlLiAgSWYgJ2RyeV9ydW4nIGlzIHRydWUsCisgICAgdGhlIGNvbW1hbmQgd2lsbCBub3QgYWN0dWFsbHkgYmUgcnVuLgorCisgICAgSWYgJ2VudicgaXMgZ2l2ZW4sIGl0J3MgYSBlbnZpcm9ubWVudCBkaWN0aW9uYXJ5IHVzZWQgZm9yIHRoZSBleGVjdXRpb24KKyAgICBlbnZpcm9ubWVudC4KKworICAgIFJhaXNlIFBhY2thZ2luZ0V4ZWNFcnJvciBpZiBydW5uaW5nIHRoZSBwcm9ncmFtIGZhaWxzIGluIGFueSB3YXk7IGp1c3QKKyAgICByZXR1cm4gb24gc3VjY2Vzcy4KKyAgICAiIiIKKyAgICBsb2dnZXIuZGVidWcoJ3NwYXduOiBydW5uaW5nICVyJywgY21kKQorICAgIGlmIGRyeV9ydW46CisgICAgICAgIGxvZ2dlci5kZWJ1ZygnZHJ5IHJ1biwgbm8gcHJvY2VzcyBhY3R1YWxseSBzcGF3bmVkJykKKyAgICAgICAgcmV0dXJuCisgICAgaWYgc3lzLnBsYXRmb3JtID09ICdkYXJ3aW4nOgorICAgICAgICBnbG9iYWwgX2NmZ190YXJnZXQsIF9jZmdfdGFyZ2V0X3NwbGl0CisgICAgICAgIGlmIF9jZmdfdGFyZ2V0IGlzIE5vbmU6CisgICAgICAgICAgICBfY2ZnX3RhcmdldCA9IHN5c2NvbmZpZy5nZXRfY29uZmlnX3ZhcigKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTUFDT1NYX0RFUExPWU1FTlRfVEFSR0VUJykgb3IgJycKKyAgICAgICAgICAgIGlmIF9jZmdfdGFyZ2V0OgorICAgICAgICAgICAgICAgIF9jZmdfdGFyZ2V0X3NwbGl0ID0gW2ludCh4KSBmb3IgeCBpbiBfY2ZnX3RhcmdldC5zcGxpdCgnLicpXQorICAgICAgICBpZiBfY2ZnX3RhcmdldDoKKyAgICAgICAgICAgICMgZW5zdXJlIHRoYXQgdGhlIGRlcGxveW1lbnQgdGFyZ2V0IG9mIGJ1aWxkIHByb2Nlc3MgaXMgbm90IGxlc3MKKyAgICAgICAgICAgICMgdGhhbiB0aGF0IHVzZWQgd2hlbiB0aGUgaW50ZXJwcmV0ZXIgd2FzIGJ1aWx0LiBUaGlzIGVuc3VyZXMKKyAgICAgICAgICAgICMgZXh0ZW5zaW9uIG1vZHVsZXMgYXJlIGJ1aWx0IHdpdGggY29ycmVjdCBjb21wYXRpYmlsaXR5IHZhbHVlcworICAgICAgICAgICAgZW52ID0gZW52IG9yIG9zLmVudmlyb24KKyAgICAgICAgICAgIGN1cl90YXJnZXQgPSBlbnYuZ2V0KCdNQUNPU1hfREVQTE9ZTUVOVF9UQVJHRVQnLCBfY2ZnX3RhcmdldCkKKyAgICAgICAgICAgIGlmIF9jZmdfdGFyZ2V0X3NwbGl0ID4gW2ludCh4KSBmb3IgeCBpbiBjdXJfdGFyZ2V0LnNwbGl0KCcuJyldOgorICAgICAgICAgICAgICAgIG15X21zZyA9ICgnJE1BQ09TWF9ERVBMT1lNRU5UX1RBUkdFVCBtaXNtYXRjaDogJworICAgICAgICAgICAgICAgICAgICAgICAgICAnbm93ICIlcyIgYnV0ICIlcyIgZHVyaW5nIGNvbmZpZ3VyZScKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJSAoY3VyX3RhcmdldCwgX2NmZ190YXJnZXQpKQorICAgICAgICAgICAgICAgIHJhaXNlIFBhY2thZ2luZ1BsYXRmb3JtRXJyb3IobXlfbXNnKQorICAgICAgICAgICAgZW52ID0gZGljdChlbnYsIE1BQ09TWF9ERVBMT1lNRU5UX1RBUkdFVD1jdXJfdGFyZ2V0KQorCisgICAgZXhpdF9zdGF0dXMgPSBzdWJwcm9jZXNzLmNhbGwoY21kLCBlbnY9ZW52KQorICAgIGlmIGV4aXRfc3RhdHVzICE9IDA6CisgICAgICAgIG1zZyA9ICJjb21tYW5kICVyIGZhaWxlZCB3aXRoIGV4aXQgc3RhdHVzICVkIgorICAgICAgICByYWlzZSBQYWNrYWdpbmdFeGVjRXJyb3IobXNnICUgKGNtZCwgZXhpdF9zdGF0dXMpKQorCisKK2RlZiBmaW5kX2V4ZWN1dGFibGUoZXhlY3V0YWJsZSwgcGF0aD1Ob25lKToKKyAgICAiIiJUcnkgdG8gZmluZCAnZXhlY3V0YWJsZScgaW4gdGhlIGRpcmVjdG9yaWVzIGxpc3RlZCBpbiAncGF0aCcuCisKKyAgICAqcGF0aCogaXMgYSBzdHJpbmcgbGlzdGluZyBkaXJlY3RvcmllcyBzZXBhcmF0ZWQgYnkgJ29zLnBhdGhzZXAnIGFuZAorICAgIGRlZmF1bHRzIHRvIG9zLmVudmlyb25bJ1BBVEgnXS4gIFJldHVybnMgdGhlIGNvbXBsZXRlIGZpbGVuYW1lIG9yIE5vbmUKKyAgICBpZiBub3QgZm91bmQuCisgICAgIiIiCisgICAgaWYgcGF0aCBpcyBOb25lOgorICAgICAgICBwYXRoID0gb3MuZW52aXJvblsnUEFUSCddCisgICAgcGF0aHMgPSBwYXRoLnNwbGl0KG9zLnBhdGhzZXApCisgICAgYmFzZSwgZXh0ID0gb3MucGF0aC5zcGxpdGV4dChleGVjdXRhYmxlKQorCisgICAgaWYgKHN5cy5wbGF0Zm9ybSA9PSAnd2luMzInIG9yIG9zLm5hbWUgPT0gJ29zMicpIGFuZCAoZXh0ICE9ICcuZXhlJyk6CisgICAgICAgIGV4ZWN1dGFibGUgPSBleGVjdXRhYmxlICsgJy5leGUnCisKKyAgICBpZiBub3Qgb3MucGF0aC5pc2ZpbGUoZXhlY3V0YWJsZSk6CisgICAgICAgIGZvciBwIGluIHBhdGhzOgorICAgICAgICAgICAgZiA9IG9zLnBhdGguam9pbihwLCBleGVjdXRhYmxlKQorICAgICAgICAgICAgaWYgb3MucGF0aC5pc2ZpbGUoZik6CisgICAgICAgICAgICAgICAgIyB0aGUgZmlsZSBleGlzdHMsIHdlIGhhdmUgYSBzaG90IGF0IHNwYXduIHdvcmtpbmcKKyAgICAgICAgICAgICAgICByZXR1cm4gZgorICAgICAgICByZXR1cm4gTm9uZQorICAgIGVsc2U6CisgICAgICAgIHJldHVybiBleGVjdXRhYmxlCisKKworREVGQVVMVF9SRVBPU0lUT1JZID0gJ2h0dHA6Ly9weXBpLnB5dGhvbi5vcmcvcHlwaScKK0RFRkFVTFRfUkVBTE0gPSAncHlwaScKK0RFRkFVTFRfUFlQSVJDID0gIiIiXAorW2Rpc3R1dGlsc10KK2luZGV4LXNlcnZlcnMgPQorICAgIHB5cGkKKworW3B5cGldCit1c2VybmFtZTolcworcGFzc3dvcmQ6JXMKKyIiIgorCisKK2RlZiBnZXRfcHlwaXJjX3BhdGgoKToKKyAgICAiIiJSZXR1cm4gcGF0aCB0byBweXBpcmMgY29uZmlnIGZpbGUuIiIiCisgICAgcmV0dXJuIG9zLnBhdGguam9pbihvcy5wYXRoLmV4cGFuZHVzZXIoJ34nKSwgJy5weXBpcmMnKQorCisKK2RlZiBnZW5lcmF0ZV9weXBpcmModXNlcm5hbWUsIHBhc3N3b3JkKToKKyAgICAiIiJDcmVhdGUgYSBkZWZhdWx0IC5weXBpcmMgZmlsZS4iIiIKKyAgICByYyA9IGdldF9weXBpcmNfcGF0aCgpCisgICAgd2l0aCBvcGVuKHJjLCAndycpIGFzIGY6CisgICAgICAgIGYud3JpdGUoREVGQVVMVF9QWVBJUkMgJSAodXNlcm5hbWUsIHBhc3N3b3JkKSkKKyAgICB0cnk6CisgICAgICAgIG9zLmNobW9kKHJjLCAwbzYwMCkKKyAgICBleGNlcHQgT1NFcnJvcjoKKyAgICAgICAgIyBzaG91bGQgZG8gc29tZXRoaW5nIGJldHRlciBoZXJlCisgICAgICAgIHBhc3MKKworCitkZWYgcmVhZF9weXBpcmMocmVwb3NpdG9yeT1ERUZBVUxUX1JFUE9TSVRPUlksIHJlYWxtPURFRkFVTFRfUkVBTE0pOgorICAgICIiIlJlYWQgdGhlIC5weXBpcmMgZmlsZS4iIiIKKyAgICByYyA9IGdldF9weXBpcmNfcGF0aCgpCisgICAgaWYgb3MucGF0aC5leGlzdHMocmMpOgorICAgICAgICBjb25maWcgPSBSYXdDb25maWdQYXJzZXIoKQorICAgICAgICBjb25maWcucmVhZChyYykKKyAgICAgICAgc2VjdGlvbnMgPSBjb25maWcuc2VjdGlvbnMoKQorICAgICAgICBpZiAnZGlzdHV0aWxzJyBpbiBzZWN0aW9uczoKKyAgICAgICAgICAgICMgbGV0J3MgZ2V0IHRoZSBsaXN0IG9mIHNlcnZlcnMKKyAgICAgICAgICAgIGluZGV4X3NlcnZlcnMgPSBjb25maWcuZ2V0KCdkaXN0dXRpbHMnLCAnaW5kZXgtc2VydmVycycpCisgICAgICAgICAgICBfc2VydmVycyA9IFtzZXJ2ZXIuc3RyaXAoKSBmb3Igc2VydmVyIGluCisgICAgICAgICAgICAgICAgICAgICAgICBpbmRleF9zZXJ2ZXJzLnNwbGl0KCdcbicpCisgICAgICAgICAgICAgICAgICAgICAgICBpZiBzZXJ2ZXIuc3RyaXAoKSAhPSAnJ10KKyAgICAgICAgICAgIGlmIF9zZXJ2ZXJzID09IFtdOgorICAgICAgICAgICAgICAgICMgbm90aGluZyBzZXQsIGxldCdzIHRyeSB0byBnZXQgdGhlIGRlZmF1bHQgcHlwaQorICAgICAgICAgICAgICAgIGlmICdweXBpJyBpbiBzZWN0aW9uczoKKyAgICAgICAgICAgICAgICAgICAgX3NlcnZlcnMgPSBbJ3B5cGknXQorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgICMgdGhlIGZpbGUgaXMgbm90IHByb3Blcmx5IGRlZmluZWQsIHJldHVybmluZworICAgICAgICAgICAgICAgICAgICAjIGFuIGVtcHR5IGRpY3QKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHt9CisgICAgICAgICAgICBmb3Igc2VydmVyIGluIF9zZXJ2ZXJzOgorICAgICAgICAgICAgICAgIGN1cnJlbnQgPSB7J3NlcnZlcic6IHNlcnZlcn0KKyAgICAgICAgICAgICAgICBjdXJyZW50Wyd1c2VybmFtZSddID0gY29uZmlnLmdldChzZXJ2ZXIsICd1c2VybmFtZScpCisKKyAgICAgICAgICAgICAgICAjIG9wdGlvbmFsIHBhcmFtcworICAgICAgICAgICAgICAgIGZvciBrZXksIGRlZmF1bHQgaW4gKCgncmVwb3NpdG9yeScsIERFRkFVTFRfUkVQT1NJVE9SWSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCdyZWFsbScsIERFRkFVTFRfUkVBTE0pLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgncGFzc3dvcmQnLCBOb25lKSk6CisgICAgICAgICAgICAgICAgICAgIGlmIGNvbmZpZy5oYXNfb3B0aW9uKHNlcnZlciwga2V5KToKKyAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRba2V5XSA9IGNvbmZpZy5nZXQoc2VydmVyLCBrZXkpCisgICAgICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50W2tleV0gPSBkZWZhdWx0CisgICAgICAgICAgICAgICAgaWYgKGN1cnJlbnRbJ3NlcnZlciddID09IHJlcG9zaXRvcnkgb3IKKyAgICAgICAgICAgICAgICAgICAgY3VycmVudFsncmVwb3NpdG9yeSddID09IHJlcG9zaXRvcnkpOgorICAgICAgICAgICAgICAgICAgICByZXR1cm4gY3VycmVudAorICAgICAgICBlbGlmICdzZXJ2ZXItbG9naW4nIGluIHNlY3Rpb25zOgorICAgICAgICAgICAgIyBvbGQgZm9ybWF0CisgICAgICAgICAgICBzZXJ2ZXIgPSAnc2VydmVyLWxvZ2luJworICAgICAgICAgICAgaWYgY29uZmlnLmhhc19vcHRpb24oc2VydmVyLCAncmVwb3NpdG9yeScpOgorICAgICAgICAgICAgICAgIHJlcG9zaXRvcnkgPSBjb25maWcuZ2V0KHNlcnZlciwgJ3JlcG9zaXRvcnknKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICByZXBvc2l0b3J5ID0gREVGQVVMVF9SRVBPU0lUT1JZCisKKyAgICAgICAgICAgIHJldHVybiB7J3VzZXJuYW1lJzogY29uZmlnLmdldChzZXJ2ZXIsICd1c2VybmFtZScpLAorICAgICAgICAgICAgICAgICAgICAncGFzc3dvcmQnOiBjb25maWcuZ2V0KHNlcnZlciwgJ3Bhc3N3b3JkJyksCisgICAgICAgICAgICAgICAgICAgICdyZXBvc2l0b3J5JzogcmVwb3NpdG9yeSwKKyAgICAgICAgICAgICAgICAgICAgJ3NlcnZlcic6IHNlcnZlciwKKyAgICAgICAgICAgICAgICAgICAgJ3JlYWxtJzogREVGQVVMVF9SRUFMTX0KKworICAgIHJldHVybiB7fQorCisKKyMgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIDJ0bzMgc3VwcG9ydAorCitkZWYgcnVuXzJ0bzMoZmlsZXMsIGRvY3Rlc3RzX29ubHk9RmFsc2UsIGZpeGVyX25hbWVzPU5vbmUsCisgICAgICAgICAgICAgb3B0aW9ucz1Ob25lLCBleHBsaWNpdD1Ob25lKToKKyAgICAiIiIgV3JhcHBlciBmdW5jdGlvbiBhcm91bmQgdGhlIHJlZmFjdG9yKCkgY2xhc3Mgd2hpY2gKKyAgICBwZXJmb3JtcyB0aGUgY29udmVyc2lvbnMgb24gYSBsaXN0IG9mIHB5dGhvbiBmaWxlcy4KKyAgICBJbnZva2UgMnRvMyBvbiBhIGxpc3Qgb2YgUHl0aG9uIGZpbGVzLiBUaGUgZmlsZXMgc2hvdWxkIGFsbCBjb21lCisgICAgZnJvbSB0aGUgYnVpbGQgYXJlYSwgYXMgdGhlIG1vZGlmaWNhdGlvbiBpcyBkb25lIGluLXBsYWNlLiIiIgorCisgICAgI2lmIG5vdCBmaWxlczoKKyAgICAjICAgIHJldHVybgorCisgICAgIyBNYWtlIHRoaXMgY2xhc3MgbG9jYWwsIHRvIGRlbGF5IGltcG9ydCBvZiAydG8zCisgICAgZnJvbSBsaWIydG8zLnJlZmFjdG9yIGltcG9ydCBnZXRfZml4ZXJzX2Zyb21fcGFja2FnZSwgUmVmYWN0b3JpbmdUb29sCisgICAgZml4ZXJzID0gZ2V0X2ZpeGVyc19mcm9tX3BhY2thZ2UoJ2xpYjJ0bzMuZml4ZXMnKQorCisgICAgaWYgZml4ZXJfbmFtZXM6CisgICAgICAgIGZvciBmaXhlcm5hbWUgaW4gZml4ZXJfbmFtZXM6CisgICAgICAgICAgICBmaXhlcnMuZXh0ZW5kKGdldF9maXhlcnNfZnJvbV9wYWNrYWdlKGZpeGVybmFtZSkpCisgICAgciA9IFJlZmFjdG9yaW5nVG9vbChmaXhlcnMsIG9wdGlvbnM9b3B0aW9ucykKKyAgICByLnJlZmFjdG9yKGZpbGVzLCB3cml0ZT1UcnVlLCBkb2N0ZXN0c19vbmx5PWRvY3Rlc3RzX29ubHkpCisKKworY2xhc3MgTWl4aW4ydG8zOgorICAgICIiIiBXcmFwcGVyIGNsYXNzIGZvciBjb21tYW5kcyB0aGF0IHJ1biAydG8zLgorICAgIFRvIGNvbmZpZ3VyZSAydG8zLCBzZXR1cCBzY3JpcHRzIG1heSBlaXRoZXIgY2hhbmdlCisgICAgdGhlIGNsYXNzIHZhcmlhYmxlcywgb3IgaW5oZXJpdCBmcm9tIHRoaXMgY2xhc3MKKyAgICB0byBvdmVycmlkZSBob3cgMnRvMyBpcyBpbnZva2VkLgorICAgICIiIgorICAgICMgbGlzdCBvZiBmaXhlcnMgdG8gcnVuOyBkZWZhdWx0cyB0byBhbGwgaW1wbGljaXQgZnJvbSBsaWIydG8zLmZpeGVycworICAgIGZpeGVyX25hbWVzID0gTm9uZQorICAgICMgZGljdCBvZiBvcHRpb25zCisgICAgb3B0aW9ucyA9IE5vbmUKKyAgICAjIGxpc3Qgb2YgZXh0cmEgZml4ZXJzIHRvIGludm9rZQorICAgIGV4cGxpY2l0ID0gTm9uZQorICAgICMgVE9ETyBuZWVkIGEgYmV0dGVyIHdheSB0byBhZGQganVzdCBvbmUgZml4ZXIgZnJvbSBhIHBhY2thZ2UKKyAgICAjIFRPRE8gbmVlZCBhIHdheSB0byBleGNsdWRlIGluZGl2aWR1YWwgZml4ZXJzCisKKyAgICBkZWYgcnVuXzJ0bzMoc2VsZiwgZmlsZXMsIGRvY3Rlc3RzX29ubHk9RmFsc2UpOgorICAgICAgICAiIiIgSXNzdWVzIGEgY2FsbCB0byB1dGlsLnJ1bl8ydG8zLiAiIiIKKyAgICAgICAgcmV0dXJuIHJ1bl8ydG8zKGZpbGVzLCBkb2N0ZXN0c19vbmx5LCBzZWxmLmZpeGVyX25hbWVzLAorICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5vcHRpb25zLCBzZWxmLmV4cGxpY2l0KQorCisgICAgIyBUT0RPIHByb3ZpZGUgaW5pdGlhbGl6ZS9maW5hbGl6ZV9vcHRpb25zCisKKworUklDSF9HTE9CID0gcmUuY29tcGlsZShyJ1x7KFtefV0qKVx9JykKK19DSEVDS19SRUNVUlNJVkVfR0xPQiA9IHJlLmNvbXBpbGUocidbXi9cXCx7XVwqXCp8XCpcKlteL1xcLH1dJykKK19DSEVDS19NSVNNQVRDSF9TRVQgPSByZS5jb21waWxlKHInXltee10qXH18XHtbXn1dKiQnKQorCisKK2RlZiBpZ2xvYihwYXRoX2dsb2IpOgorICAgICIiIkV4dGVuZGVkIGdsb2JiaW5nIGZ1bmN0aW9uIHRoYXQgc3VwcG9ydHMgKiogYW5kIHtvcHQxLG9wdDIsb3B0M30uIiIiCisgICAgaWYgX0NIRUNLX1JFQ1VSU0lWRV9HTE9CLnNlYXJjaChwYXRoX2dsb2IpOgorICAgICAgICBtc2cgPSAiIiJpbnZhbGlkIGdsb2IgJXI6IHJlY3Vyc2l2ZSBnbG9iICIqKiIgbXVzdCBiZSB1c2VkIGFsb25lIiIiCisgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IobXNnICUgcGF0aF9nbG9iKQorICAgIGlmIF9DSEVDS19NSVNNQVRDSF9TRVQuc2VhcmNoKHBhdGhfZ2xvYik6CisgICAgICAgIG1zZyA9ICIiImludmFsaWQgZ2xvYiAlcjogbWlzbWF0Y2hpbmcgc2V0IG1hcmtlciAneycgb3IgJ30nIiIiCisgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IobXNnICUgcGF0aF9nbG9iKQorICAgIHJldHVybiBfaWdsb2IocGF0aF9nbG9iKQorCisKK2RlZiBfaWdsb2IocGF0aF9nbG9iKToKKyAgICByaWNoX3BhdGhfZ2xvYiA9IFJJQ0hfR0xPQi5zcGxpdChwYXRoX2dsb2IsIDEpCisgICAgaWYgbGVuKHJpY2hfcGF0aF9nbG9iKSA+IDE6CisgICAgICAgIGFzc2VydCBsZW4ocmljaF9wYXRoX2dsb2IpID09IDMsIHJpY2hfcGF0aF9nbG9iCisgICAgICAgIHByZWZpeCwgc2V0LCBzdWZmaXggPSByaWNoX3BhdGhfZ2xvYgorICAgICAgICBmb3IgaXRlbSBpbiBzZXQuc3BsaXQoJywnKToKKyAgICAgICAgICAgIGZvciBwYXRoIGluIF9pZ2xvYignJy5qb2luKChwcmVmaXgsIGl0ZW0sIHN1ZmZpeCkpKToKKyAgICAgICAgICAgICAgICB5aWVsZCBwYXRoCisgICAgZWxzZToKKyAgICAgICAgaWYgJyoqJyBub3QgaW4gcGF0aF9nbG9iOgorICAgICAgICAgICAgZm9yIGl0ZW0gaW4gc3RkX2lnbG9iKHBhdGhfZ2xvYik6CisgICAgICAgICAgICAgICAgeWllbGQgaXRlbQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcHJlZml4LCByYWRpY2FsID0gcGF0aF9nbG9iLnNwbGl0KCcqKicsIDEpCisgICAgICAgICAgICBpZiBwcmVmaXggPT0gJyc6CisgICAgICAgICAgICAgICAgcHJlZml4ID0gJy4nCisgICAgICAgICAgICBpZiByYWRpY2FsID09ICcnOgorICAgICAgICAgICAgICAgIHJhZGljYWwgPSAnKicKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgIyB3ZSBzdXBwb3J0IGJvdGgKKyAgICAgICAgICAgICAgICByYWRpY2FsID0gcmFkaWNhbC5sc3RyaXAoJy8nKQorICAgICAgICAgICAgICAgIHJhZGljYWwgPSByYWRpY2FsLmxzdHJpcCgnXFwnKQorICAgICAgICAgICAgZm9yIHBhdGgsIGRpciwgZmlsZXMgaW4gb3Mud2FsayhwcmVmaXgpOgorICAgICAgICAgICAgICAgIHBhdGggPSBvcy5wYXRoLm5vcm1wYXRoKHBhdGgpCisgICAgICAgICAgICAgICAgZm9yIGZpbGUgaW4gX2lnbG9iKG9zLnBhdGguam9pbihwYXRoLCByYWRpY2FsKSk6CisgICAgICAgICAgICAgICAgICAgIHlpZWxkIGZpbGUKKworCisjIEhPV1RPIGNoYW5nZSBjZmdfdG9fYXJncworIworIyBUaGlzIGZ1bmN0aW9uIGhhcyB0d28gbWFqb3IgY29uc3RyYWludHM6IEl0IGlzIGNvcGllZCBieSBpbnNwZWN0LmdldHNvdXJjZQorIyBpbiBnZW5lcmF0ZV9zZXR1cF9weTsgaXQgaXMgdXNlZCBpbiBnZW5lcmF0ZWQgc2V0dXAucHkgd2hpY2ggbWF5IGJlIHJ1biBieQorIyBhbnkgUHl0aG9uIHZlcnNpb24gc3VwcG9ydGVkIGJ5IGRpc3R1dGlsczIgKDIuNC0zLjMpLgorIworIyAqIEtlZXAgb2JqZWN0cyBsaWtlIEQxX0QyX1NFVFVQX0FSR1Mgc3RhdGljLCBpLmUuIGluIHRoZSBmdW5jdGlvbiBib2R5CisjICAgaW5zdGVhZCBvZiBnbG9iYWwuCisjICogSWYgeW91IHVzZSBhIGZ1bmN0aW9uIGZyb20gYW5vdGhlciBtb2R1bGUsIHVwZGF0ZSB0aGUgaW1wb3J0cyBpbgorIyAgIFNFVFVQX1RFTVBMQVRFLiAgVXNlIG9ubHkgbW9kdWxlcywgY2xhc3NlcyBhbmQgZnVuY3Rpb25zIGNvbXBhdGlibGUgd2l0aAorIyAgIGFsbCB2ZXJzaW9uczogY29kZWNzLm9wZW4gaW5zdGVhZCBvZiBvcGVuLCBSYXdDb25maWdQYXJzZXIucmVhZGZwIGluc3RlYWQKKyMgICBvZiByZWFkLCBzdGFuZGFyZCBleGNlcHRpb25zIGluc3RlYWQgb2YgUGFja2FnaW5nKkVycm9yLCBldGMuCisjICogSWYgeW91IHVzZSBhIGZ1bmN0aW9uIGZyb20gdGhpcyBtb2R1bGUsIHVwZGF0ZSB0aGUgdGVtcGxhdGUgYW5kCisjICAgZ2VuZXJhdGVfc2V0dXBfcHkuCisjCisjIHRlc3RfdXRpbCB0ZXN0cyB0aGlzIGZ1bmN0aW9uIGFuZCB0aGUgZ2VuZXJhdGVkIHNldHVwLnB5LCBidXQgZG9lcyBub3QgdGVzdAorIyB0aGF0IGl0J3MgY29tcGF0aWJsZSB3aXRoIGFsbCBQeXRob24gdmVyc2lvbnMuCisKK2RlZiBjZmdfdG9fYXJncyhwYXRoPSdzZXR1cC5jZmcnKToKKyAgICAiIiJDb21wYXRpYmlsaXR5IGhlbHBlciB0byB1c2Ugc2V0dXAuY2ZnIGluIHNldHVwLnB5LgorCisgICAgVGhpcyBmdW5jdGlvbnMgdXNlcyBhbiBleGlzdGluZyBzZXR1cC5jZmcgdG8gZ2VuZXJhdGUgYSBkaWN0aW9ubmFyeSBvZgorICAgIGtleXdvcmRzIHRoYXQgY2FuIGJlIHVzZWQgYnkgZGlzdHV0aWxzLmNvcmUuc2V0dXAoKiprd2FyZ3MpLiAgSXQgaXMgdXNlZAorICAgIGJ5IGdlbmVyYXRlX3NldHVwX3B5LgorCisgICAgKmZpbGUqIGlzIHRoZSBwYXRoIHRvIHRoZSBzZXR1cC5jZmcgZmlsZS4gIElmIGl0IGRvZXNuJ3QgZXhpc3QsCisgICAgUGFja2FnaW5nRmlsZUVycm9yIGlzIHJhaXNlZC4KKyAgICAiIiIKKworICAgICMgWFhYICoqID09IG5lZWRzIHRlc3RpbmcKKyAgICBEMV9EMl9TRVRVUF9BUkdTID0geyJuYW1lIjogKCJtZXRhZGF0YSIsKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ2ZXJzaW9uIjogKCJtZXRhZGF0YSIsKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICJhdXRob3IiOiAoIm1ldGFkYXRhIiwpLAorICAgICAgICAgICAgICAgICAgICAgICAgImF1dGhvcl9lbWFpbCI6ICgibWV0YWRhdGEiLCksCisgICAgICAgICAgICAgICAgICAgICAgICAibWFpbnRhaW5lciI6ICgibWV0YWRhdGEiLCksCisgICAgICAgICAgICAgICAgICAgICAgICAibWFpbnRhaW5lcl9lbWFpbCI6ICgibWV0YWRhdGEiLCksCisgICAgICAgICAgICAgICAgICAgICAgICAidXJsIjogKCJtZXRhZGF0YSIsICJob21lX3BhZ2UiKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICgibWV0YWRhdGEiLCAic3VtbWFyeSIpLAorICAgICAgICAgICAgICAgICAgICAgICAgImxvbmdfZGVzY3JpcHRpb24iOiAoIm1ldGFkYXRhIiwgImRlc2NyaXB0aW9uIiksCisgICAgICAgICAgICAgICAgICAgICAgICAiZG93bmxvYWQtdXJsIjogKCJtZXRhZGF0YSIsKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICJjbGFzc2lmaWVycyI6ICgibWV0YWRhdGEiLCAiY2xhc3NpZmllciIpLAorICAgICAgICAgICAgICAgICAgICAgICAgInBsYXRmb3JtcyI6ICgibWV0YWRhdGEiLCAicGxhdGZvcm0iKSwgICMgKioKKyAgICAgICAgICAgICAgICAgICAgICAgICJsaWNlbnNlIjogKCJtZXRhZGF0YSIsKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICJyZXF1aXJlcyI6ICgibWV0YWRhdGEiLCAicmVxdWlyZXNfZGlzdCIpLAorICAgICAgICAgICAgICAgICAgICAgICAgInByb3ZpZGVzIjogKCJtZXRhZGF0YSIsICJwcm92aWRlc19kaXN0IiksICAjICoqCisgICAgICAgICAgICAgICAgICAgICAgICAib2Jzb2xldGVzIjogKCJtZXRhZGF0YSIsICJvYnNvbGV0ZXNfZGlzdCIpLCAgIyAqKgorICAgICAgICAgICAgICAgICAgICAgICAgInBhY2thZ2VfZGlyIjogKCJmaWxlcyIsICdwYWNrYWdlc19yb290JyksCisgICAgICAgICAgICAgICAgICAgICAgICAicGFja2FnZXMiOiAoImZpbGVzIiwpLAorICAgICAgICAgICAgICAgICAgICAgICAgInNjcmlwdHMiOiAoImZpbGVzIiwpLAorICAgICAgICAgICAgICAgICAgICAgICAgInB5X21vZHVsZXMiOiAoImZpbGVzIiwgIm1vZHVsZXMiKSwgICMgKioKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKworICAgIE1VTFRJX0ZJRUxEUyA9ICgiY2xhc3NpZmllcnMiLAorICAgICAgICAgICAgICAgICAgICAicGxhdGZvcm1zIiwKKyAgICAgICAgICAgICAgICAgICAgInJlcXVpcmVzIiwKKyAgICAgICAgICAgICAgICAgICAgInByb3ZpZGVzIiwKKyAgICAgICAgICAgICAgICAgICAgIm9ic29sZXRlcyIsCisgICAgICAgICAgICAgICAgICAgICJwYWNrYWdlcyIsCisgICAgICAgICAgICAgICAgICAgICJzY3JpcHRzIiwKKyAgICAgICAgICAgICAgICAgICAgInB5X21vZHVsZXMiKQorCisgICAgZGVmIGhhc19nZXRfb3B0aW9uKGNvbmZpZywgc2VjdGlvbiwgb3B0aW9uKToKKyAgICAgICAgaWYgY29uZmlnLmhhc19vcHRpb24oc2VjdGlvbiwgb3B0aW9uKToKKyAgICAgICAgICAgIHJldHVybiBjb25maWcuZ2V0KHNlY3Rpb24sIG9wdGlvbikKKyAgICAgICAgZWxpZiBjb25maWcuaGFzX29wdGlvbihzZWN0aW9uLCBvcHRpb24ucmVwbGFjZSgnXycsICctJykpOgorICAgICAgICAgICAgcmV0dXJuIGNvbmZpZy5nZXQoc2VjdGlvbiwgb3B0aW9uLnJlcGxhY2UoJ18nLCAnLScpKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmV0dXJuIEZhbHNlCisKKyAgICAjIFRoZSByZWFsIGNvZGUgc3RhcnRzIGhlcmUKKyAgICBjb25maWcgPSBSYXdDb25maWdQYXJzZXIoKQorICAgIGYgPSBjb2RlY3Mub3BlbihwYXRoLCBlbmNvZGluZz0ndXRmLTgnKQorICAgIHRyeToKKyAgICAgICAgY29uZmlnLnJlYWRmcChmKQorICAgIGZpbmFsbHk6CisgICAgICAgIGYuY2xvc2UoKQorCisgICAga3dhcmdzID0ge30KKyAgICBmb3IgYXJnIGluIEQxX0QyX1NFVFVQX0FSR1M6CisgICAgICAgIGlmIGxlbihEMV9EMl9TRVRVUF9BUkdTW2FyZ10pID09IDI6CisgICAgICAgICAgICAjIFRoZSBkaXN0dXRpbHMgZmllbGQgbmFtZSBpcyBkaWZmZXJlbnQgdGhhbiBwYWNrYWdpbmcncworICAgICAgICAgICAgc2VjdGlvbiwgb3B0aW9uID0gRDFfRDJfU0VUVVBfQVJHU1thcmddCisKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgICMgVGhlIGRpc3R1dGlscyBmaWVsZCBuYW1lIGlzIHRoZSBzYW1lIHRoYW50IHBhY2thZ2luZydzCisgICAgICAgICAgICBzZWN0aW9uID0gRDFfRDJfU0VUVVBfQVJHU1thcmddWzBdCisgICAgICAgICAgICBvcHRpb24gPSBhcmcKKworICAgICAgICBpbl9jZmdfdmFsdWUgPSBoYXNfZ2V0X29wdGlvbihjb25maWcsIHNlY3Rpb24sIG9wdGlvbikKKyAgICAgICAgaWYgbm90IGluX2NmZ192YWx1ZToKKyAgICAgICAgICAgICMgVGhlcmUgaXMgbm8gc3VjaCBvcHRpb24gaW4gdGhlIHNldHVwLmNmZworICAgICAgICAgICAgaWYgYXJnID09ICdsb25nX2Rlc2NyaXB0aW9uJzoKKyAgICAgICAgICAgICAgICBmaWxlbmFtZXMgPSBoYXNfZ2V0X29wdGlvbihjb25maWcsIHNlY3Rpb24sICdkZXNjcmlwdGlvbi1maWxlJykKKyAgICAgICAgICAgICAgICBpZiBmaWxlbmFtZXM6CisgICAgICAgICAgICAgICAgICAgIGZpbGVuYW1lcyA9IHNwbGl0X211bHRpbGluZShmaWxlbmFtZXMpCisgICAgICAgICAgICAgICAgICAgIGluX2NmZ192YWx1ZSA9IFtdCisgICAgICAgICAgICAgICAgICAgIGZvciBmaWxlbmFtZSBpbiBmaWxlbmFtZXM6CisgICAgICAgICAgICAgICAgICAgICAgICBmcCA9IGNvZGVjcy5vcGVuKGZpbGVuYW1lLCBlbmNvZGluZz0ndXRmLTgnKQorICAgICAgICAgICAgICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluX2NmZ192YWx1ZS5hcHBlbmQoZnAucmVhZCgpKQorICAgICAgICAgICAgICAgICAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcC5jbG9zZSgpCisgICAgICAgICAgICAgICAgICAgIGluX2NmZ192YWx1ZSA9ICdcblxuJy5qb2luKGluX2NmZ192YWx1ZSkKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgY29udGludWUKKworICAgICAgICBpZiBhcmcgPT0gJ3BhY2thZ2VfZGlyJyBhbmQgaW5fY2ZnX3ZhbHVlOgorICAgICAgICAgICAgaW5fY2ZnX3ZhbHVlID0geycnOiBpbl9jZmdfdmFsdWV9CisKKyAgICAgICAgaWYgYXJnIGluIE1VTFRJX0ZJRUxEUzoKKyAgICAgICAgICAgICMgc3VwcG9ydCBtdWx0aWxpbmUgb3B0aW9ucworICAgICAgICAgICAgaW5fY2ZnX3ZhbHVlID0gc3BsaXRfbXVsdGlsaW5lKGluX2NmZ192YWx1ZSkKKworICAgICAgICBrd2FyZ3NbYXJnXSA9IGluX2NmZ192YWx1ZQorCisgICAgcmV0dXJuIGt3YXJncworCisKK1NFVFVQX1RFTVBMQVRFID0gIiIiXAorIyBUaGlzIHNjcmlwdCB3YXMgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgcGFja2FnaW5nCitpbXBvcnQgY29kZWNzCitmcm9tIGRpc3R1dGlscy5jb3JlIGltcG9ydCBzZXR1cAordHJ5OgorICAgIGZyb20gQ29uZmlnUGFyc2VyIGltcG9ydCBSYXdDb25maWdQYXJzZXIKK2V4Y2VwdCBJbXBvcnRFcnJvcjoKKyAgICBmcm9tIGNvbmZpZ3BhcnNlciBpbXBvcnQgUmF3Q29uZmlnUGFyc2VyCisKKworJShzcGxpdF9tdWx0aWxpbmUpcworCislKGNmZ190b19hcmdzKXMKKworc2V0dXAoKipjZmdfdG9fYXJncygpKQorIiIiCisKKworZGVmIGdlbmVyYXRlX3NldHVwX3B5KCk6CisgICAgIiIiR2VuZXJhdGUgYSBkaXN0dXRpbHMgY29tcGF0aWJsZSBzZXR1cC5weSB1c2luZyBhbiBleGlzdGluZyBzZXR1cC5jZmcuCisKKyAgICBSYWlzZXMgYSBQYWNrYWdpbmdGaWxlRXJyb3Igd2hlbiBhIHNldHVwLnB5IGFscmVhZHkgZXhpc3RzLgorICAgICIiIgorICAgIGlmIG9zLnBhdGguZXhpc3RzKCJzZXR1cC5weSIpOgorICAgICAgICByYWlzZSBQYWNrYWdpbmdGaWxlRXJyb3IoImEgc2V0dXAucHkgZmlsZSBhbHJlYWR5IGV4aXN0cyIpCisKKyAgICBzb3VyY2UgPSBTRVRVUF9URU1QTEFURSAlIHsnc3BsaXRfbXVsdGlsaW5lJzogZ2V0c291cmNlKHNwbGl0X211bHRpbGluZSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NmZ190b19hcmdzJzogZ2V0c291cmNlKGNmZ190b19hcmdzKX0KKyAgICB3aXRoIG9wZW4oInNldHVwLnB5IiwgInciLCBlbmNvZGluZz0ndXRmLTgnKSBhcyBmcDoKKyAgICAgICAgZnAud3JpdGUoc291cmNlKQorCisKKyMgVGFrZW4gZnJvbSB0aGUgcGlwIHByb2plY3QKKyMgaHR0cHM6Ly9naXRodWIuY29tL3B5cGEvcGlwL2Jsb2IvbWFzdGVyL3BpcC91dGlsLnB5CitkZWYgYXNrKG1lc3NhZ2UsIG9wdGlvbnMpOgorICAgICIiIlByb21wdCB0aGUgdXNlciB3aXRoICptZXNzYWdlKjsgKm9wdGlvbnMqIGNvbnRhaW5zIGFsbG93ZWQgcmVzcG9uc2VzLiIiIgorICAgIHdoaWxlIFRydWU6CisgICAgICAgIHJlc3BvbnNlID0gaW5wdXQobWVzc2FnZSkKKyAgICAgICAgcmVzcG9uc2UgPSByZXNwb25zZS5zdHJpcCgpLmxvd2VyKCkKKyAgICAgICAgaWYgcmVzcG9uc2Ugbm90IGluIG9wdGlvbnM6CisgICAgICAgICAgICBwcmludCgnaW52YWxpZCByZXNwb25zZTonLCByZXByKHJlc3BvbnNlKSkKKyAgICAgICAgICAgIHByaW50KCdjaG9vc2Ugb25lIG9mJywgJywgJy5qb2luKHJlcHIobykgZm9yIG8gaW4gb3B0aW9ucykpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByZXR1cm4gcmVzcG9uc2UKKworCitkZWYgX3BhcnNlX3JlY29yZF9maWxlKHJlY29yZF9maWxlKToKKyAgICBkaXN0aW5mbywgZXh0cmFfbWV0YWRhdGEsIGluc3RhbGxlZCA9ICh7fSwgW10sIFtdKQorICAgIHdpdGggb3BlbihyZWNvcmRfZmlsZSwgJ3InKSBhcyByZmlsZToKKyAgICAgICAgZm9yIHBhdGggaW4gcmZpbGU6CisgICAgICAgICAgICBwYXRoID0gcGF0aC5zdHJpcCgpCisgICAgICAgICAgICBpZiBwYXRoLmVuZHN3aXRoKCdlZ2ctaW5mbycpIGFuZCBvcy5wYXRoLmlzZmlsZShwYXRoKToKKyAgICAgICAgICAgICAgICBkaXN0aW5mb19kaXIgPSBwYXRoLnJlcGxhY2UoJ2VnZy1pbmZvJywgJ2Rpc3QtaW5mbycpCisgICAgICAgICAgICAgICAgbWV0YWRhdGEgPSBwYXRoCisgICAgICAgICAgICAgICAgZWdnaW5mbyA9IHBhdGgKKyAgICAgICAgICAgIGVsaWYgcGF0aC5lbmRzd2l0aCgnZWdnLWluZm8nKSBhbmQgb3MucGF0aC5pc2RpcihwYXRoKToKKyAgICAgICAgICAgICAgICBkaXN0aW5mb19kaXIgPSBwYXRoLnJlcGxhY2UoJ2VnZy1pbmZvJywgJ2Rpc3QtaW5mbycpCisgICAgICAgICAgICAgICAgZWdnaW5mbyA9IHBhdGgKKyAgICAgICAgICAgICAgICBmb3IgbWV0YWRhdGFfZmlsZSBpbiBvcy5saXN0ZGlyKHBhdGgpOgorICAgICAgICAgICAgICAgICAgICBtZXRhZGF0YV9mcGF0aCA9IG9zLnBhdGguam9pbihwYXRoLCBtZXRhZGF0YV9maWxlKQorICAgICAgICAgICAgICAgICAgICBpZiBtZXRhZGF0YV9maWxlID09ICdQS0ctSU5GTyc6CisgICAgICAgICAgICAgICAgICAgICAgICBtZXRhZGF0YSA9IG1ldGFkYXRhX2ZwYXRoCisgICAgICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgICAgICBleHRyYV9tZXRhZGF0YS5hcHBlbmQobWV0YWRhdGFfZnBhdGgpCisgICAgICAgICAgICBlbGlmICdlZ2ctaW5mbycgaW4gcGF0aCBhbmQgb3MucGF0aC5pc2ZpbGUocGF0aCk6CisgICAgICAgICAgICAgICAgIyBza2lwIGV4dHJhIG1ldGFkYXRhIGZpbGVzCisgICAgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgaW5zdGFsbGVkLmFwcGVuZChwYXRoKQorCisgICAgZGlzdGluZm9bJ2VnZ2luZm8nXSA9IGVnZ2luZm8KKyAgICBkaXN0aW5mb1snbWV0YWRhdGEnXSA9IG1ldGFkYXRhCisgICAgZGlzdGluZm9bJ2Rpc3RpbmZvX2RpciddID0gZGlzdGluZm9fZGlyCisgICAgZGlzdGluZm9bJ2luc3RhbGxlcl9wYXRoJ10gPSBvcy5wYXRoLmpvaW4oZGlzdGluZm9fZGlyLCAnSU5TVEFMTEVSJykKKyAgICBkaXN0aW5mb1snbWV0YWRhdGFfcGF0aCddID0gb3MucGF0aC5qb2luKGRpc3RpbmZvX2RpciwgJ01FVEFEQVRBJykKKyAgICBkaXN0aW5mb1sncmVjb3JkX3BhdGgnXSA9IG9zLnBhdGguam9pbihkaXN0aW5mb19kaXIsICdSRUNPUkQnKQorICAgIGRpc3RpbmZvWydyZXF1ZXN0ZWRfcGF0aCddID0gb3MucGF0aC5qb2luKGRpc3RpbmZvX2RpciwgJ1JFUVVFU1RFRCcpCisgICAgaW5zdGFsbGVkLmV4dGVuZChbZGlzdGluZm9bJ2luc3RhbGxlcl9wYXRoJ10sIGRpc3RpbmZvWydtZXRhZGF0YV9wYXRoJ11dKQorICAgIGRpc3RpbmZvWydpbnN0YWxsZWQnXSA9IGluc3RhbGxlZAorICAgIGRpc3RpbmZvWydleHRyYV9tZXRhZGF0YSddID0gZXh0cmFfbWV0YWRhdGEKKyAgICByZXR1cm4gZGlzdGluZm8KKworCitkZWYgX3dyaXRlX3JlY29yZF9maWxlKHJlY29yZF9wYXRoLCBpbnN0YWxsZWRfZmlsZXMpOgorICAgIHdpdGggb3BlbihyZWNvcmRfcGF0aCwgJ3cnLCBlbmNvZGluZz0ndXRmLTgnKSBhcyBmOgorICAgICAgICB3cml0ZXIgPSBjc3Yud3JpdGVyKGYsIGRlbGltaXRlcj0nLCcsIGxpbmV0ZXJtaW5hdG9yPW9zLmxpbmVzZXAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcXVvdGVjaGFyPSciJykKKworICAgICAgICBmb3IgZnBhdGggaW4gaW5zdGFsbGVkX2ZpbGVzOgorICAgICAgICAgICAgaWYgZnBhdGguZW5kc3dpdGgoJy5weWMnKSBvciBmcGF0aC5lbmRzd2l0aCgnLnB5bycpOgorICAgICAgICAgICAgICAgICMgZG8gbm90IHB1dCBzaXplIGFuZCBtZDUgaGFzaCwgYXMgaW4gUEVQLTM3NgorICAgICAgICAgICAgICAgIHdyaXRlci53cml0ZXJvdygoZnBhdGgsICcnLCAnJykpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIGhhc2ggPSBoYXNobGliLm1kNSgpCisgICAgICAgICAgICAgICAgd2l0aCBvcGVuKGZwYXRoLCAncmInKSBhcyBmcDoKKyAgICAgICAgICAgICAgICAgICAgaGFzaC51cGRhdGUoZnAucmVhZCgpKQorICAgICAgICAgICAgICAgIG1kNXN1bSA9IGhhc2guaGV4ZGlnZXN0KCkKKyAgICAgICAgICAgICAgICBzaXplID0gb3MucGF0aC5nZXRzaXplKGZwYXRoKQorICAgICAgICAgICAgICAgIHdyaXRlci53cml0ZXJvdygoZnBhdGgsIG1kNXN1bSwgc2l6ZSkpCisKKyAgICAgICAgIyBhZGQgdGhlIFJFQ09SRCBmaWxlIGl0c2VsZgorICAgICAgICB3cml0ZXIud3JpdGVyb3coKHJlY29yZF9wYXRoLCAnJywgJycpKQorICAgIHJldHVybiByZWNvcmRfcGF0aAorCisKK2RlZiBlZ2dpbmZvX3RvX2Rpc3RpbmZvKHJlY29yZF9maWxlLCBpbnN0YWxsZXI9X0RFRkFVTFRfSU5TVEFMTEVSLAorICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdGVkPUZhbHNlLCByZW1vdmVfZWdnaW5mbz1GYWxzZSk6CisgICAgIiIiQ3JlYXRlIGZpbGVzIGFuZCBkaXJlY3RvcmllcyByZXF1aXJlZCBmb3IgUEVQIDM3NgorCisgICAgOnBhcmFtIHJlY29yZF9maWxlOiBwYXRoIHRvIFJFQ09SRCBmaWxlIGFzIHByb2R1Y2VkIGJ5IHNldHVwLnB5IC0tcmVjb3JkCisgICAgOnBhcmFtIGluc3RhbGxlcjogaW5zdGFsbGVyIG5hbWUKKyAgICA6cGFyYW0gcmVxdWVzdGVkOiBUcnVlIGlmIG5vdCBpbnN0YWxsZWQgYXMgYSBkZXBlbmRlbmN5CisgICAgOnBhcmFtIHJlbW92ZV9lZ2dpbmZvOiBkZWxldGUgZWdnaW5mbyBkaXI/CisgICAgIiIiCisgICAgZGlzdGluZm8gPSBfcGFyc2VfcmVjb3JkX2ZpbGUocmVjb3JkX2ZpbGUpCisgICAgZGlzdGluZm9fZGlyID0gZGlzdGluZm9bJ2Rpc3RpbmZvX2RpciddCisgICAgaWYgb3MucGF0aC5pc2RpcihkaXN0aW5mb19kaXIpIGFuZCBub3Qgb3MucGF0aC5pc2xpbmsoZGlzdGluZm9fZGlyKToKKyAgICAgICAgc2h1dGlsLnJtdHJlZShkaXN0aW5mb19kaXIpCisgICAgZWxpZiBvcy5wYXRoLmV4aXN0cyhkaXN0aW5mb19kaXIpOgorICAgICAgICBvcy51bmxpbmsoZGlzdGluZm9fZGlyKQorCisgICAgb3MubWFrZWRpcnMoZGlzdGluZm9fZGlyKQorCisgICAgIyBjb3B5IHNldHVwdG9vbHMgZXh0cmEgbWV0YWRhdGEgZmlsZXMKKyAgICBpZiBkaXN0aW5mb1snZXh0cmFfbWV0YWRhdGEnXToKKyAgICAgICAgZm9yIHBhdGggaW4gZGlzdGluZm9bJ2V4dHJhX21ldGFkYXRhJ106CisgICAgICAgICAgICBzaHV0aWwuY29weTIocGF0aCwgZGlzdGluZm9fZGlyKQorICAgICAgICAgICAgbmV3X3BhdGggPSBwYXRoLnJlcGxhY2UoJ2VnZy1pbmZvJywgJ2Rpc3QtaW5mbycpCisgICAgICAgICAgICBkaXN0aW5mb1snaW5zdGFsbGVkJ10uYXBwZW5kKG5ld19wYXRoKQorCisgICAgbWV0YWRhdGFfcGF0aCA9IGRpc3RpbmZvWydtZXRhZGF0YV9wYXRoJ10KKyAgICBsb2dnZXIuaW5mbygnY3JlYXRpbmcgJXMnLCBtZXRhZGF0YV9wYXRoKQorICAgIHNodXRpbC5jb3B5MihkaXN0aW5mb1snbWV0YWRhdGEnXSwgbWV0YWRhdGFfcGF0aCkKKworICAgIGluc3RhbGxlcl9wYXRoID0gZGlzdGluZm9bJ2luc3RhbGxlcl9wYXRoJ10KKyAgICBsb2dnZXIuaW5mbygnY3JlYXRpbmcgJXMnLCBpbnN0YWxsZXJfcGF0aCkKKyAgICB3aXRoIG9wZW4oaW5zdGFsbGVyX3BhdGgsICd3JykgYXMgZjoKKyAgICAgICAgZi53cml0ZShpbnN0YWxsZXIpCisKKyAgICBpZiByZXF1ZXN0ZWQ6CisgICAgICAgIHJlcXVlc3RlZF9wYXRoID0gZGlzdGluZm9bJ3JlcXVlc3RlZF9wYXRoJ10KKyAgICAgICAgbG9nZ2VyLmluZm8oJ2NyZWF0aW5nICVzJywgcmVxdWVzdGVkX3BhdGgpCisgICAgICAgIG9wZW4ocmVxdWVzdGVkX3BhdGgsICd3YicpLmNsb3NlKCkKKyAgICAgICAgZGlzdGluZm9bJ2luc3RhbGxlZCddLmFwcGVuZChyZXF1ZXN0ZWRfcGF0aCkKKworICAgIHJlY29yZF9wYXRoID0gZGlzdGluZm9bJ3JlY29yZF9wYXRoJ10KKyAgICBsb2dnZXIuaW5mbygnY3JlYXRpbmcgJXMnLCByZWNvcmRfcGF0aCkKKyAgICBfd3JpdGVfcmVjb3JkX2ZpbGUocmVjb3JkX3BhdGgsIGRpc3RpbmZvWydpbnN0YWxsZWQnXSkKKworICAgIGlmIHJlbW92ZV9lZ2dpbmZvOgorICAgICAgICBlZ2dpbmZvID0gZGlzdGluZm9bJ2VnZ2luZm8nXQorICAgICAgICBsb2dnZXIuaW5mbygncmVtb3ZpbmcgJXMnLCBlZ2dpbmZvKQorICAgICAgICBpZiBvcy5wYXRoLmlzZmlsZShlZ2dpbmZvKToKKyAgICAgICAgICAgIG9zLnJlbW92ZShlZ2dpbmZvKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgc2h1dGlsLnJtdHJlZShlZ2dpbmZvKQorCisKK2RlZiBfaGFzX2VnZ19pbmZvKHNyY2Rpcik6CisgICAgaWYgb3MucGF0aC5pc2RpcihzcmNkaXIpOgorICAgICAgICBmb3IgaXRlbSBpbiBvcy5saXN0ZGlyKHNyY2Rpcik6CisgICAgICAgICAgICBmdWxsX3BhdGggPSBvcy5wYXRoLmpvaW4oc3JjZGlyLCBpdGVtKQorICAgICAgICAgICAgaWYgaXRlbS5lbmRzd2l0aCgnLmVnZy1pbmZvJykgYW5kIG9zLnBhdGguaXNkaXIoZnVsbF9wYXRoKToKKyAgICAgICAgICAgICAgICBsb2dnZXIuZGVidWcoIkZvdW5kIGVnZy1pbmZvIGRpcmVjdG9yeS4iKQorICAgICAgICAgICAgICAgIHJldHVybiBUcnVlCisgICAgbG9nZ2VyLmRlYnVnKCJObyBlZ2ctaW5mbyBkaXJlY3RvcnkgZm91bmQuIikKKyAgICByZXR1cm4gRmFsc2UKKworCitkZWYgX2hhc19zZXR1cHRvb2xzX3RleHQoc2V0dXBfcHkpOgorICAgIHJldHVybiBfaGFzX3RleHQoc2V0dXBfcHksICdzZXR1cHRvb2xzJykKKworCitkZWYgX2hhc19kaXN0dXRpbHNfdGV4dChzZXR1cF9weSk6CisgICAgcmV0dXJuIF9oYXNfdGV4dChzZXR1cF9weSwgJ2Rpc3R1dGlscycpCisKKworZGVmIF9oYXNfdGV4dChzZXR1cF9weSwgaW5zdGFsbGVyKToKKyAgICBpbnN0YWxsZXJfcGF0dGVybiA9IHJlLmNvbXBpbGUoJ2ltcG9ydCB7MH18ZnJvbSB7MH0nLmZvcm1hdChpbnN0YWxsZXIpKQorICAgIHdpdGggb3BlbihzZXR1cF9weSwgJ3InLCBlbmNvZGluZz0ndXRmLTgnKSBhcyBzZXR1cDoKKyAgICAgICAgZm9yIGxpbmUgaW4gc2V0dXA6CisgICAgICAgICAgICBpZiByZS5zZWFyY2goaW5zdGFsbGVyX3BhdHRlcm4sIGxpbmUpOgorICAgICAgICAgICAgICAgIGxvZ2dlci5kZWJ1ZygiRm91bmQgJXMgdGV4dCBpbiBzZXR1cC5weS4iLCBpbnN0YWxsZXIpCisgICAgICAgICAgICAgICAgcmV0dXJuIFRydWUKKyAgICBsb2dnZXIuZGVidWcoIk5vICVzIHRleHQgZm91bmQgaW4gc2V0dXAucHkuIiwgaW5zdGFsbGVyKQorICAgIHJldHVybiBGYWxzZQorCisKK2RlZiBfaGFzX3JlcXVpcmVkX21ldGFkYXRhKHNldHVwX2NmZyk6CisgICAgY29uZmlnID0gUmF3Q29uZmlnUGFyc2VyKCkKKyAgICBjb25maWcucmVhZChbc2V0dXBfY2ZnXSwgZW5jb2Rpbmc9J3V0ZjgnKQorICAgIHJldHVybiAoY29uZmlnLmhhc19zZWN0aW9uKCdtZXRhZGF0YScpIGFuZAorICAgICAgICAgICAgJ25hbWUnIGluIGNvbmZpZy5vcHRpb25zKCdtZXRhZGF0YScpIGFuZAorICAgICAgICAgICAgJ3ZlcnNpb24nIGluIGNvbmZpZy5vcHRpb25zKCdtZXRhZGF0YScpKQorCisKK2RlZiBfaGFzX3BrZ19pbmZvKHNyY2Rpcik6CisgICAgcGtnX2luZm8gPSBvcy5wYXRoLmpvaW4oc3JjZGlyLCAnUEtHLUlORk8nKQorICAgIGhhc19wa2dfaW5mbyA9IG9zLnBhdGguaXNmaWxlKHBrZ19pbmZvKQorICAgIGlmIGhhc19wa2dfaW5mbzoKKyAgICAgICAgbG9nZ2VyLmRlYnVnKCJQS0ctSU5GTyBmaWxlIGZvdW5kLiIpCisgICAgZWxzZToKKyAgICAgICAgbG9nZ2VyLmRlYnVnKCJObyBQS0ctSU5GTyBmaWxlIGZvdW5kLiIpCisgICAgcmV0dXJuIGhhc19wa2dfaW5mbworCisKK2RlZiBfaGFzX3NldHVwX3B5KHNyY2Rpcik6CisgICAgc2V0dXBfcHkgPSBvcy5wYXRoLmpvaW4oc3JjZGlyLCAnc2V0dXAucHknKQorICAgIGlmIG9zLnBhdGguaXNmaWxlKHNldHVwX3B5KToKKyAgICAgICAgbG9nZ2VyLmRlYnVnKCdzZXR1cC5weSBmaWxlIGZvdW5kLicpCisgICAgICAgIHJldHVybiBUcnVlCisgICAgcmV0dXJuIEZhbHNlCisKKworZGVmIF9oYXNfc2V0dXBfY2ZnKHNyY2Rpcik6CisgICAgc2V0dXBfY2ZnID0gb3MucGF0aC5qb2luKHNyY2RpciwgJ3NldHVwLmNmZycpCisgICAgaWYgb3MucGF0aC5pc2ZpbGUoc2V0dXBfY2ZnKToKKyAgICAgICAgbG9nZ2VyLmRlYnVnKCdzZXR1cC5jZmcgZmlsZSBmb3VuZC4nKQorICAgICAgICByZXR1cm4gVHJ1ZQorICAgIGxvZ2dlci5kZWJ1ZygiTm8gc2V0dXAuY2ZnIGZpbGUgZm91bmQuIikKKyAgICByZXR1cm4gRmFsc2UKKworCitkZWYgaXNfc2V0dXB0b29scyhwYXRoKToKKyAgICAiIiJDaGVjayBpZiB0aGUgcHJvamVjdCBpcyBiYXNlZCBvbiBzZXR1cHRvb2xzLgorCisgICAgOnBhcmFtIHBhdGg6IHBhdGggdG8gc291cmNlIGRpcmVjdG9yeSBjb250YWluaW5nIGEgc2V0dXAucHkgc2NyaXB0LgorCisgICAgUmV0dXJuIFRydWUgaWYgdGhlIHByb2plY3QgcmVxdWlyZXMgc2V0dXB0b29scyB0byBpbnN0YWxsLCBlbHNlIEZhbHNlLgorICAgICIiIgorICAgIHNyY2RpciA9IG9zLnBhdGguYWJzcGF0aChwYXRoKQorICAgIHNldHVwX3B5ID0gb3MucGF0aC5qb2luKHNyY2RpciwgJ3NldHVwLnB5JykKKworICAgIHJldHVybiBfaGFzX3NldHVwX3B5KHNyY2RpcikgYW5kIChfaGFzX2VnZ19pbmZvKHNyY2Rpcikgb3IKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX2hhc19zZXR1cHRvb2xzX3RleHQoc2V0dXBfcHkpKQorCisKK2RlZiBpc19kaXN0dXRpbHMocGF0aCk6CisgICAgIiIiQ2hlY2sgaWYgdGhlIHByb2plY3QgaXMgYmFzZWQgb24gZGlzdHV0aWxzLgorCisgICAgOnBhcmFtIHBhdGg6IHBhdGggdG8gc291cmNlIGRpcmVjdG9yeSBjb250YWluaW5nIGEgc2V0dXAucHkgc2NyaXB0LgorCisgICAgUmV0dXJuIFRydWUgaWYgdGhlIHByb2plY3QgcmVxdWlyZXMgZGlzdHV0aWxzIHRvIGluc3RhbGwsIGVsc2UgRmFsc2UuCisgICAgIiIiCisgICAgc3JjZGlyID0gb3MucGF0aC5hYnNwYXRoKHBhdGgpCisgICAgc2V0dXBfcHkgPSBvcy5wYXRoLmpvaW4oc3JjZGlyLCAnc2V0dXAucHknKQorCisgICAgcmV0dXJuIF9oYXNfc2V0dXBfcHkoc3JjZGlyKSBhbmQgKF9oYXNfcGtnX2luZm8oc3JjZGlyKSBvcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfaGFzX2Rpc3R1dGlsc190ZXh0KHNldHVwX3B5KSkKKworCitkZWYgaXNfcGFja2FnaW5nKHBhdGgpOgorICAgICIiIkNoZWNrIGlmIHRoZSBwcm9qZWN0IGlzIGJhc2VkIG9uIHBhY2thZ2luZworCisgICAgOnBhcmFtIHBhdGg6IHBhdGggdG8gc291cmNlIGRpcmVjdG9yeSBjb250YWluaW5nIGEgc2V0dXAuY2ZnIGZpbGUuCisKKyAgICBSZXR1cm4gVHJ1ZSBpZiB0aGUgcHJvamVjdCBoYXMgYSB2YWxpZCBzZXR1cC5jZmcsIGVsc2UgRmFsc2UuCisgICAgIiIiCisgICAgc3JjZGlyID0gb3MucGF0aC5hYnNwYXRoKHBhdGgpCisgICAgc2V0dXBfY2ZnID0gb3MucGF0aC5qb2luKHNyY2RpciwgJ3NldHVwLmNmZycpCisKKyAgICByZXR1cm4gX2hhc19zZXR1cF9jZmcoc3JjZGlyKSBhbmQgX2hhc19yZXF1aXJlZF9tZXRhZGF0YShzZXR1cF9jZmcpCisKKworZGVmIGdldF9pbnN0YWxsX21ldGhvZChwYXRoKToKKyAgICAiIiJDaGVjayBpZiB0aGUgcHJvamVjdCBpcyBiYXNlZCBvbiBwYWNrYWdpbmcsIHNldHVwdG9vbHMsIG9yIGRpc3R1dGlscworCisgICAgOnBhcmFtIHBhdGg6IHBhdGggdG8gc291cmNlIGRpcmVjdG9yeSBjb250YWluaW5nIGEgc2V0dXAuY2ZnIGZpbGUsCisgICAgICAgICAgICAgICAgIG9yIHNldHVwLnB5LgorCisgICAgUmV0dXJucyBhIHN0cmluZyByZXByZXNlbnRpbmcgdGhlIGJlc3QgaW5zdGFsbCBtZXRob2QgdG8gdXNlLgorICAgICIiIgorICAgIGlmIGlzX3BhY2thZ2luZyhwYXRoKToKKyAgICAgICAgcmV0dXJuICJwYWNrYWdpbmciCisgICAgZWxpZiBpc19zZXR1cHRvb2xzKHBhdGgpOgorICAgICAgICByZXR1cm4gInNldHVwdG9vbHMiCisgICAgZWxpZiBpc19kaXN0dXRpbHMocGF0aCk6CisgICAgICAgIHJldHVybiAiZGlzdHV0aWxzIgorICAgIGVsc2U6CisgICAgICAgIHJhaXNlIEluc3RhbGxhdGlvbkV4Y2VwdGlvbignQ2Fubm90IGRldGVjdCBpbnN0YWxsIG1ldGhvZCcpCisKKworIyBYWFggdG8gYmUgcmVwbGFjZWQgYnkgc2h1dGlsLmNvcHl0cmVlCitkZWYgY29weV90cmVlKHNyYywgZHN0LCBwcmVzZXJ2ZV9tb2RlPVRydWUsIHByZXNlcnZlX3RpbWVzPVRydWUsCisgICAgICAgICAgICAgIHByZXNlcnZlX3N5bWxpbmtzPUZhbHNlLCB1cGRhdGU9RmFsc2UsIGRyeV9ydW49RmFsc2UpOgorICAgICMgRklYTUUgdXNlIG9mIHRoaXMgZnVuY3Rpb24gaXMgd2h5IHdlIGdldCBzcHVyaW91cyBsb2dnaW5nIG1lc3NhZ2Ugb24KKyAgICAjIHN0ZG91dCB3aGVuIHRlc3RzIHJ1bjsga2lsbCBhbmQgcmVwbGFjZSBieSBzaHV0aWwhCisgICAgZnJvbSBkaXN0dXRpbHMuZmlsZV91dGlsIGltcG9ydCBjb3B5X2ZpbGUKKworICAgIGlmIG5vdCBkcnlfcnVuIGFuZCBub3Qgb3MucGF0aC5pc2RpcihzcmMpOgorICAgICAgICByYWlzZSBQYWNrYWdpbmdGaWxlRXJyb3IoCisgICAgICAgICAgICAgICJjYW5ub3QgY29weSB0cmVlICclcyc6IG5vdCBhIGRpcmVjdG9yeSIgJSBzcmMpCisgICAgdHJ5OgorICAgICAgICBuYW1lcyA9IG9zLmxpc3RkaXIoc3JjKQorICAgIGV4Y2VwdCBvcy5lcnJvciBhcyBlOgorICAgICAgICBlcnJzdHIgPSBlWzFdCisgICAgICAgIGlmIGRyeV9ydW46CisgICAgICAgICAgICBuYW1lcyA9IFtdCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByYWlzZSBQYWNrYWdpbmdGaWxlRXJyb3IoCisgICAgICAgICAgICAgICAgICAiZXJyb3IgbGlzdGluZyBmaWxlcyBpbiAnJXMnOiAlcyIgJSAoc3JjLCBlcnJzdHIpKQorCisgICAgaWYgbm90IGRyeV9ydW46CisgICAgICAgIF9ta3BhdGgoZHN0KQorCisgICAgb3V0cHV0cyA9IFtdCisKKyAgICBmb3IgbiBpbiBuYW1lczoKKyAgICAgICAgc3JjX25hbWUgPSBvcy5wYXRoLmpvaW4oc3JjLCBuKQorICAgICAgICBkc3RfbmFtZSA9IG9zLnBhdGguam9pbihkc3QsIG4pCisKKyAgICAgICAgaWYgcHJlc2VydmVfc3ltbGlua3MgYW5kIG9zLnBhdGguaXNsaW5rKHNyY19uYW1lKToKKyAgICAgICAgICAgIGxpbmtfZGVzdCA9IG9zLnJlYWRsaW5rKHNyY19uYW1lKQorICAgICAgICAgICAgbG9nZ2VyLmluZm8oImxpbmtpbmcgJXMgLT4gJXMiLCBkc3RfbmFtZSwgbGlua19kZXN0KQorICAgICAgICAgICAgaWYgbm90IGRyeV9ydW46CisgICAgICAgICAgICAgICAgb3Muc3ltbGluayhsaW5rX2Rlc3QsIGRzdF9uYW1lKQorICAgICAgICAgICAgb3V0cHV0cy5hcHBlbmQoZHN0X25hbWUpCisKKyAgICAgICAgZWxpZiBvcy5wYXRoLmlzZGlyKHNyY19uYW1lKToKKyAgICAgICAgICAgIG91dHB1dHMuZXh0ZW5kKAorICAgICAgICAgICAgICAgIGNvcHlfdHJlZShzcmNfbmFtZSwgZHN0X25hbWUsIHByZXNlcnZlX21vZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHByZXNlcnZlX3RpbWVzLCBwcmVzZXJ2ZV9zeW1saW5rcywgdXBkYXRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICBkcnlfcnVuPWRyeV9ydW4pKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgY29weV9maWxlKHNyY19uYW1lLCBkc3RfbmFtZSwgcHJlc2VydmVfbW9kZSwKKyAgICAgICAgICAgICAgICAgICAgICBwcmVzZXJ2ZV90aW1lcywgdXBkYXRlLCBkcnlfcnVuPWRyeV9ydW4pCisgICAgICAgICAgICBvdXRwdXRzLmFwcGVuZChkc3RfbmFtZSkKKworICAgIHJldHVybiBvdXRwdXRzCisKKyMgY2FjaGUgZm9yIGJ5IG1rcGF0aCgpIC0tIGluIGFkZGl0aW9uIHRvIGNoZWFwZW5pbmcgcmVkdW5kYW50IGNhbGxzLAorIyBlbGltaW5hdGVzIHJlZHVuZGFudCAiY3JlYXRpbmcgL2Zvby9iYXIvYmF6IiBtZXNzYWdlcyBpbiBkcnktcnVuIG1vZGUKK19wYXRoX2NyZWF0ZWQgPSBzZXQoKQorCisKKyMgSSBkb24ndCB1c2Ugb3MubWFrZWRpcnMgYmVjYXVzZSBhKSBpdCdzIG5ldyB0byBQeXRob24gMS41LjIsIGFuZAorIyBiKSBpdCBibG93cyB1cCBpZiB0aGUgZGlyZWN0b3J5IGFscmVhZHkgZXhpc3RzIChJIHdhbnQgdG8gc2lsZW50bHkKKyMgc3VjY2VlZCBpbiB0aGF0IGNhc2UpLgorZGVmIF9ta3BhdGgobmFtZSwgbW9kZT0wbzc3NywgZHJ5X3J1bj1GYWxzZSk6CisgICAgIyBEZXRlY3QgYSBjb21tb24gYnVnIC0tIG5hbWUgaXMgTm9uZQorICAgIGlmIG5vdCBpc2luc3RhbmNlKG5hbWUsIHN0cik6CisgICAgICAgIHJhaXNlIFBhY2thZ2luZ0ludGVybmFsRXJyb3IoCisgICAgICAgICAgICAgICJta3BhdGg6ICduYW1lJyBtdXN0IGJlIGEgc3RyaW5nIChnb3QgJXIpIiAlIChuYW1lLCkpCisKKyAgICAjIFhYWCB3aGF0J3MgdGhlIGJldHRlciB3YXkgdG8gaGFuZGxlIHZlcmJvc2l0eT8gcHJpbnQgYXMgd2UgY3JlYXRlCisgICAgIyBlYWNoIGRpcmVjdG9yeSBpbiB0aGUgcGF0aCAodGhlIGN1cnJlbnQgYmVoYXZpb3VyKSwgb3Igb25seSBhbm5vdW5jZQorICAgICMgdGhlIGNyZWF0aW9uIG9mIHRoZSB3aG9sZSBwYXRoPyAocXVpdGUgZWFzeSB0byBkbyB0aGUgbGF0dGVyIHNpbmNlCisgICAgIyB3ZSdyZSBub3QgdXNpbmcgYSByZWN1cnNpdmUgYWxnb3JpdGhtKQorCisgICAgbmFtZSA9IG9zLnBhdGgubm9ybXBhdGgobmFtZSkKKyAgICBjcmVhdGVkX2RpcnMgPSBbXQorICAgIGlmIG9zLnBhdGguaXNkaXIobmFtZSkgb3IgbmFtZSA9PSAnJzoKKyAgICAgICAgcmV0dXJuIGNyZWF0ZWRfZGlycworICAgIGlmIG9zLnBhdGguYWJzcGF0aChuYW1lKSBpbiBfcGF0aF9jcmVhdGVkOgorICAgICAgICByZXR1cm4gY3JlYXRlZF9kaXJzCisKKyAgICBoZWFkLCB0YWlsID0gb3MucGF0aC5zcGxpdChuYW1lKQorICAgIHRhaWxzID0gW3RhaWxdICAgICAgICAgICAgICAgICAgICAgICMgc3RhY2sgb2YgbG9uZSBkaXJzIHRvIGNyZWF0ZQorCisgICAgd2hpbGUgaGVhZCBhbmQgdGFpbCBhbmQgbm90IG9zLnBhdGguaXNkaXIoaGVhZCk6CisgICAgICAgIGhlYWQsIHRhaWwgPSBvcy5wYXRoLnNwbGl0KGhlYWQpCisgICAgICAgIHRhaWxzLmluc2VydCgwLCB0YWlsKSAgICAgICAgICAjIHB1c2ggbmV4dCBoaWdoZXIgZGlyIG9udG8gc3RhY2sKKworICAgICMgbm93ICdoZWFkJyBjb250YWlucyB0aGUgZGVlcGVzdCBkaXJlY3RvcnkgdGhhdCBhbHJlYWR5IGV4aXN0cworICAgICMgKHRoYXQgaXMsIHRoZSBjaGlsZCBvZiAnaGVhZCcgaW4gJ25hbWUnIGlzIHRoZSBoaWdoZXN0IGRpcmVjdG9yeQorICAgICMgdGhhdCBkb2VzICpub3QqIGV4aXN0KQorICAgIGZvciBkIGluIHRhaWxzOgorICAgICAgICBoZWFkID0gb3MucGF0aC5qb2luKGhlYWQsIGQpCisgICAgICAgIGFic19oZWFkID0gb3MucGF0aC5hYnNwYXRoKGhlYWQpCisKKyAgICAgICAgaWYgYWJzX2hlYWQgaW4gX3BhdGhfY3JlYXRlZDoKKyAgICAgICAgICAgIGNvbnRpbnVlCisKKyAgICAgICAgbG9nZ2VyLmluZm8oImNyZWF0aW5nICVzIiwgaGVhZCkKKyAgICAgICAgaWYgbm90IGRyeV9ydW46CisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgb3MubWtkaXIoaGVhZCwgbW9kZSkKKyAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGV4YzoKKyAgICAgICAgICAgICAgICBpZiBub3QgKGV4Yy5lcnJubyA9PSBlcnJuby5FRVhJU1QgYW5kIG9zLnBhdGguaXNkaXIoaGVhZCkpOgorICAgICAgICAgICAgICAgICAgICByYWlzZSBQYWNrYWdpbmdGaWxlRXJyb3IoCisgICAgICAgICAgICAgICAgICAgICAgICAgICJjb3VsZCBub3QgY3JlYXRlICclcyc6ICVzIiAlIChoZWFkLCBleGMuYXJnc1stMV0pKQorICAgICAgICAgICAgY3JlYXRlZF9kaXJzLmFwcGVuZChoZWFkKQorCisgICAgICAgIF9wYXRoX2NyZWF0ZWQuYWRkKGFic19oZWFkKQorICAgIHJldHVybiBjcmVhdGVkX2RpcnMKKworCitkZWYgZW5jb2RlX211bHRpcGFydChmaWVsZHMsIGZpbGVzLCBib3VuZGFyeT1Ob25lKToKKyAgICAiIiJQcmVwYXJlIGEgbXVsdGlwYXJ0IEhUVFAgcmVxdWVzdC4KKworICAgICpmaWVsZHMqIGlzIGEgc2VxdWVuY2Ugb2YgKG5hbWU6IHN0ciwgdmFsdWU6IHN0cikgZWxlbWVudHMgZm9yIHJlZ3VsYXIKKyAgICBmb3JtIGZpZWxkcywgKmZpbGVzKiBpcyBhIHNlcXVlbmNlIG9mIChuYW1lOiBzdHIsIGZpbGVuYW1lOiBzdHIsIHZhbHVlOgorICAgIGJ5dGVzKSBlbGVtZW50cyBmb3IgZGF0YSB0byBiZSB1cGxvYWRlZCBhcyBmaWxlcy4KKworICAgIFJldHVybnMgKGNvbnRlbnRfdHlwZTogYnl0ZXMsIGJvZHk6IGJ5dGVzKSByZWFkeSBmb3IgaHR0cC5jbGllbnQuSFRUUC4KKyAgICAiIiIKKyAgICAjIFRha2VuIGZyb20gaHR0cDovL2NvZGUuYWN0aXZlc3RhdGUuY29tL3JlY2lwZXMvMTQ2MzA2CisKKyAgICBpZiBib3VuZGFyeSBpcyBOb25lOgorICAgICAgICBib3VuZGFyeSA9IGInLS0tLS0tLS0tLS0tLS1HSFNLRkpETEdEUzc1NDNGSktMRkhSRTc1NjQyNzU2NzQzMjU0JworICAgIGVsaWYgbm90IGlzaW5zdGFuY2UoYm91bmRhcnksIGJ5dGVzKToKKyAgICAgICAgcmFpc2UgVHlwZUVycm9yKCdib3VuZGFyeSBtdXN0IGJlIGJ5dGVzLCBub3QgJXInICUgdHlwZShib3VuZGFyeSkpCisKKyAgICBsID0gW10KKyAgICBmb3Iga2V5LCB2YWx1ZXMgaW4gZmllbGRzOgorICAgICAgICAjIGhhbmRsZSBtdWx0aXBsZSBlbnRyaWVzIGZvciB0aGUgc2FtZSBuYW1lCisgICAgICAgIGlmIG5vdCBpc2luc3RhbmNlKHZhbHVlcywgKHR1cGxlLCBsaXN0KSk6CisgICAgICAgICAgICB2YWx1ZXMgPSBbdmFsdWVzXQorCisgICAgICAgIGZvciB2YWx1ZSBpbiB2YWx1ZXM6CisgICAgICAgICAgICBsLmV4dGVuZCgoCisgICAgICAgICAgICAgICAgYictLScgKyBib3VuZGFyeSwKKyAgICAgICAgICAgICAgICAoJ0NvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT0iJXMiJyAlCisgICAgICAgICAgICAgICAgIGtleSkuZW5jb2RlKCd1dGYtOCcpLAorICAgICAgICAgICAgICAgIGInJywKKyAgICAgICAgICAgICAgICB2YWx1ZS5lbmNvZGUoJ3V0Zi04JykpKQorCisgICAgZm9yIGtleSwgZmlsZW5hbWUsIHZhbHVlIGluIGZpbGVzOgorICAgICAgICBsLmV4dGVuZCgoCisgICAgICAgICAgICBiJy0tJyArIGJvdW5kYXJ5LAorICAgICAgICAgICAgKCdDb250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9IiVzIjsgZmlsZW5hbWU9IiVzIicgJQorICAgICAgICAgICAgIChrZXksIGZpbGVuYW1lKSkuZW5jb2RlKCd1dGYtOCcpLAorICAgICAgICAgICAgYicnLAorICAgICAgICAgICAgdmFsdWUpKQorCisgICAgbC5hcHBlbmQoYictLScgKyBib3VuZGFyeSArIGInLS0nKQorICAgIGwuYXBwZW5kKGInJykKKworICAgIGJvZHkgPSBiJ1xyXG4nLmpvaW4obCkKKyAgICBjb250ZW50X3R5cGUgPSBiJ211bHRpcGFydC9mb3JtLWRhdGE7IGJvdW5kYXJ5PScgKyBib3VuZGFyeQorICAgIHJldHVybiBjb250ZW50X3R5cGUsIGJvZHkKZGlmZiAtLWdpdCBhL0xpYi9wYWNrYWdpbmcvdmVyc2lvbi5weSBiL0xpYi9wYWNrYWdpbmcvdmVyc2lvbi5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xOTcwMzIyCi0tLSAvZGV2L251bGwKKysrIGIvTGliL3BhY2thZ2luZy92ZXJzaW9uLnB5CkBAIC0wLDAgKzEsNDUxIEBACisiIiJJbXBsZW1lbnRhdGlvbiBvZiB0aGUgdmVyc2lvbmluZyBzY2hlbWUgZGVmaW5lZCBpbiBQRVAgMzg2LiIiIgorCitpbXBvcnQgcmUKKworZnJvbSBwYWNrYWdpbmcuZXJyb3JzIGltcG9ydCBJcnJhdGlvbmFsVmVyc2lvbkVycm9yLCBIdWdlTWFqb3JWZXJzaW9uTnVtRXJyb3IKKworX19hbGxfXyA9IFsnTm9ybWFsaXplZFZlcnNpb24nLCAnc3VnZ2VzdF9ub3JtYWxpemVkX3ZlcnNpb24nLAorICAgICAgICAgICAnVmVyc2lvblByZWRpY2F0ZScsICdpc192YWxpZF92ZXJzaW9uJywgJ2lzX3ZhbGlkX3ZlcnNpb25zJywKKyAgICAgICAgICAgJ2lzX3ZhbGlkX3ByZWRpY2F0ZSddCisKKyMgQSBtYXJrZXIgdXNlZCBpbiB0aGUgc2Vjb25kIGFuZCB0aGlyZCBwYXJ0cyBvZiB0aGUgYHBhcnRzYCB0dXBsZSwgZm9yCisjIHZlcnNpb25zIHRoYXQgZG9uJ3QgaGF2ZSB0aG9zZSBzZWdtZW50cywgdG8gc29ydCBwcm9wZXJseS4gQW4gZXhhbXBsZQorIyBvZiB2ZXJzaW9ucyBpbiBzb3J0IG9yZGVyICgnaGlnaGVzdCcgbGFzdCk6CisjICAgMS4wYjEgICAgICAgICAgICAgICAgICgoMSwwKSwgKCdiJywxKSwgKCd6JywpKQorIyAgIDEuMC5kZXYzNDUgICAgICAgICAgICAoKDEsMCksICgneicsKSwgICgnZGV2JywgMzQ1KSkKKyMgICAxLjAgICAgICAgICAgICAgICAgICAgKCgxLDApLCAoJ3onLCksICAoJ3onLCkpCisjICAgMS4wLnBvc3QyNTYuZGV2MzQ1ICAgICgoMSwwKSwgKCd6JywpLCAgKCd6JywgJ3Bvc3QnLCAyNTYsICdkZXYnLCAzNDUpKQorIyAgIDEuMC5wb3N0MzQ1ICAgICAgICAgICAoKDEsMCksICgneicsKSwgICgneicsICdwb3N0JywgMzQ1LCAneicpKQorIyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXiAgICAgICAgXiAgICAgICAgICAgICAgICAgXgorIyAgICdiJyA8ICd6JyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0vICAgICAgICAgfCAgICAgICAgICAgICAgICAgfAorIyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgfAorIyAgICdkZXYnIDwgJ3onIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0vICAgICAgICAgICAgICAgICAgfAorIyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorIyAgICdkZXYnIDwgJ3onIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0vCisjICdmJyBmb3IgJ2ZpbmFsJyB3b3VsZCBiZSBraW5kIG9mIG5pY2UsIGJ1dCBkdWUgdG8gYnVncyBpbiB0aGUgc3VwcG9ydCBvZgorIyAncmMnIHdlIG11c3QgdXNlICd6JworX0ZJTkFMX01BUktFUiA9ICgneicsKQorCitfVkVSU0lPTl9SRSA9IHJlLmNvbXBpbGUocicnJworICAgIF4KKyAgICAoP1A8dmVyc2lvbj5cZCtcLlxkKykgICAgICAgICAgIyBtaW5pbXVtICdOLk4nCisgICAgKD9QPGV4dHJhdmVyc2lvbj4oPzpcLlxkKykqKSAgICMgYW55IG51bWJlciBvZiBleHRyYSAnLk4nIHNlZ21lbnRzCisgICAgKD86CisgICAgICAgICg/UDxwcmVyZWw+W2FiY118cmMpICAgICAgICMgJ2EnPWFscGhhLCAnYic9YmV0YSwgJ2MnPXJlbGVhc2UgY2FuZGlkYXRlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgJ3JjJz0gYWxpYXMgZm9yIHJlbGVhc2UgY2FuZGlkYXRlCisgICAgICAgICg/UDxwcmVyZWx2ZXJzaW9uPlxkKyg/OlwuXGQrKSopCisgICAgKT8KKyAgICAoP1A8cG9zdGRldj4oXC5wb3N0KD9QPHBvc3Q+XGQrKSk/KFwuZGV2KD9QPGRldj5cZCspKT8pPworICAgICQnJycsIHJlLlZFUkJPU0UpCisKKworY2xhc3MgTm9ybWFsaXplZFZlcnNpb246CisgICAgIiIiQSByYXRpb25hbCB2ZXJzaW9uLgorCisgICAgR29vZDoKKyAgICAgICAgMS4yICAgICAgICAgIyBlcXVpdmFsZW50IHRvICIxLjIuMCIKKyAgICAgICAgMS4yLjAKKyAgICAgICAgMS4yYTEKKyAgICAgICAgMS4yLjNhMgorICAgICAgICAxLjIuM2IxCisgICAgICAgIDEuMi4zYzEKKyAgICAgICAgMS4yLjMuNAorICAgICAgICBUT0RPOiBmaWxsIHRoaXMgb3V0CisKKyAgICBCYWQ6CisgICAgICAgIDEgICAgICAgICAgICMgbWluaW51bSB0d28gbnVtYmVycworICAgICAgICAxLjJhICAgICAgICAjIHJlbGVhc2UgbGV2ZWwgbXVzdCBoYXZlIGEgcmVsZWFzZSBzZXJpYWwKKyAgICAgICAgMS4yLjNiCisgICAgIiIiCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHMsIGVycm9yX29uX2h1Z2VfbWFqb3JfbnVtPVRydWUpOgorICAgICAgICAiIiJDcmVhdGUgYSBOb3JtYWxpemVkVmVyc2lvbiBpbnN0YW5jZSBmcm9tIGEgdmVyc2lvbiBzdHJpbmcuCisKKyAgICAgICAgQHBhcmFtIHMge3N0cn0gVGhlIHZlcnNpb24gc3RyaW5nLgorICAgICAgICBAcGFyYW0gZXJyb3Jfb25faHVnZV9tYWpvcl9udW0ge2Jvb2x9IFdoZXRoZXIgdG8gY29uc2lkZXIgYW4KKyAgICAgICAgICAgIGFwcGFyZW50IHVzZSBvZiBhIHllYXIgb3IgZnVsbCBkYXRlIGFzIHRoZSBtYWpvciB2ZXJzaW9uIG51bWJlcgorICAgICAgICAgICAgYW4gZXJyb3IuIERlZmF1bHQgVHJ1ZS4gT25lIG9mIHRoZSBvYnNlcnZlZCBwYXR0ZXJucyBvbiBQeVBJIGJlZm9yZQorICAgICAgICAgICAgdGhlIGludHJvZHVjdGlvbiBvZiBgTm9ybWFsaXplZFZlcnNpb25gIHdhcyB2ZXJzaW9uIG51bWJlcnMgbGlrZQorICAgICAgICAgICAgdGhpczoKKyAgICAgICAgICAgICAgICAyMDA5LjAxLjAzCisgICAgICAgICAgICAgICAgMjAwNDA2MDMKKyAgICAgICAgICAgICAgICAyMDA1LjAxCisgICAgICAgICAgICBUaGlzIGd1YXJkIGlzIGhlcmUgdG8gc3Ryb25nbHkgZW5jb3VyYWdlIHRoZSBwYWNrYWdlIGF1dGhvciB0bworICAgICAgICAgICAgdXNlIGFuIGFsdGVybmF0ZSB2ZXJzaW9uLCBiZWNhdXNlIGEgcmVsZWFzZSBkZXBsb3llZCBpbnRvIFB5UEkKKyAgICAgICAgICAgIGFuZCwgZS5nLiBkb3duc3RyZWFtIExpbnV4IHBhY2thZ2UgbWFuYWdlcnMsIHdpbGwgZm9yZXZlciByZW1vdmUKKyAgICAgICAgICAgIHRoZSBwb3NzaWJpbGl0eSBvZiB1c2luZyBhIHZlcnNpb24gbnVtYmVyIGxpa2UgIjEuMCIgKGkuZS4KKyAgICAgICAgICAgIHdoZXJlIHRoZSBtYWpvciBudW1iZXIgaXMgbGVzcyB0aGFuIHRoYXQgaHVnZSBtYWpvciBudW1iZXIpLgorICAgICAgICAiIiIKKyAgICAgICAgc2VsZi5pc19maW5hbCA9IFRydWUgICMgYnkgZGVmYXVsdCwgY29uc2lkZXIgYSB2ZXJzaW9uIGFzIGZpbmFsLgorICAgICAgICBzZWxmLl9wYXJzZShzLCBlcnJvcl9vbl9odWdlX21ham9yX251bSkKKworICAgIEBjbGFzc21ldGhvZAorICAgIGRlZiBmcm9tX3BhcnRzKGNscywgdmVyc2lvbiwgcHJlcmVsZWFzZT1fRklOQUxfTUFSS0VSLAorICAgICAgICAgICAgICAgICAgIGRldnBvc3Q9X0ZJTkFMX01BUktFUik6CisgICAgICAgIHJldHVybiBjbHMoY2xzLnBhcnRzX3RvX3N0cigodmVyc2lvbiwgcHJlcmVsZWFzZSwgZGV2cG9zdCkpKQorCisgICAgZGVmIF9wYXJzZShzZWxmLCBzLCBlcnJvcl9vbl9odWdlX21ham9yX251bT1UcnVlKToKKyAgICAgICAgIiIiUGFyc2VzIGEgc3RyaW5nIHZlcnNpb24gaW50byBwYXJ0cy4iIiIKKyAgICAgICAgbWF0Y2ggPSBfVkVSU0lPTl9SRS5zZWFyY2gocykKKyAgICAgICAgaWYgbm90IG1hdGNoOgorICAgICAgICAgICAgcmFpc2UgSXJyYXRpb25hbFZlcnNpb25FcnJvcihzKQorCisgICAgICAgIGdyb3VwcyA9IG1hdGNoLmdyb3VwZGljdCgpCisgICAgICAgIHBhcnRzID0gW10KKworICAgICAgICAjIG1haW4gdmVyc2lvbgorICAgICAgICBibG9jayA9IHNlbGYuX3BhcnNlX251bWRvdHMoZ3JvdXBzWyd2ZXJzaW9uJ10sIHMsIEZhbHNlLCAyKQorICAgICAgICBleHRyYXZlcnNpb24gPSBncm91cHMuZ2V0KCdleHRyYXZlcnNpb24nKQorICAgICAgICBpZiBleHRyYXZlcnNpb24gbm90IGluICgnJywgTm9uZSk6CisgICAgICAgICAgICBibG9jayArPSBzZWxmLl9wYXJzZV9udW1kb3RzKGV4dHJhdmVyc2lvblsxOl0sIHMpCisgICAgICAgIHBhcnRzLmFwcGVuZCh0dXBsZShibG9jaykpCisKKyAgICAgICAgIyBwcmVyZWxlYXNlCisgICAgICAgIHByZXJlbCA9IGdyb3Vwcy5nZXQoJ3ByZXJlbCcpCisgICAgICAgIGlmIHByZXJlbCBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIGJsb2NrID0gW3ByZXJlbF0KKyAgICAgICAgICAgIGJsb2NrICs9IHNlbGYuX3BhcnNlX251bWRvdHMoZ3JvdXBzLmdldCgncHJlcmVsdmVyc2lvbicpLCBzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRfemVyb3NfbGVuZ3RoPTEpCisgICAgICAgICAgICBwYXJ0cy5hcHBlbmQodHVwbGUoYmxvY2spKQorICAgICAgICAgICAgc2VsZi5pc19maW5hbCA9IEZhbHNlCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBwYXJ0cy5hcHBlbmQoX0ZJTkFMX01BUktFUikKKworICAgICAgICAjIHBvc3RkZXYKKyAgICAgICAgaWYgZ3JvdXBzLmdldCgncG9zdGRldicpOgorICAgICAgICAgICAgcG9zdCA9IGdyb3Vwcy5nZXQoJ3Bvc3QnKQorICAgICAgICAgICAgZGV2ID0gZ3JvdXBzLmdldCgnZGV2JykKKyAgICAgICAgICAgIHBvc3RkZXYgPSBbXQorICAgICAgICAgICAgaWYgcG9zdCBpcyBub3QgTm9uZToKKyAgICAgICAgICAgICAgICBwb3N0ZGV2LmV4dGVuZCgoX0ZJTkFMX01BUktFUlswXSwgJ3Bvc3QnLCBpbnQocG9zdCkpKQorICAgICAgICAgICAgICAgIGlmIGRldiBpcyBOb25lOgorICAgICAgICAgICAgICAgICAgICBwb3N0ZGV2LmFwcGVuZChfRklOQUxfTUFSS0VSWzBdKQorICAgICAgICAgICAgaWYgZGV2IGlzIG5vdCBOb25lOgorICAgICAgICAgICAgICAgIHBvc3RkZXYuZXh0ZW5kKCgnZGV2JywgaW50KGRldikpKQorICAgICAgICAgICAgICAgIHNlbGYuaXNfZmluYWwgPSBGYWxzZQorICAgICAgICAgICAgcGFydHMuYXBwZW5kKHR1cGxlKHBvc3RkZXYpKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcGFydHMuYXBwZW5kKF9GSU5BTF9NQVJLRVIpCisgICAgICAgIHNlbGYucGFydHMgPSB0dXBsZShwYXJ0cykKKyAgICAgICAgaWYgZXJyb3Jfb25faHVnZV9tYWpvcl9udW0gYW5kIHNlbGYucGFydHNbMF1bMF0gPiAxOTgwOgorICAgICAgICAgICAgcmFpc2UgSHVnZU1ham9yVmVyc2lvbk51bUVycm9yKCJodWdlIG1ham9yIHZlcnNpb24gbnVtYmVyLCAlciwgIgorICAgICAgICAgICAgICAgIndoaWNoIG1pZ2h0IGNhdXNlIGZ1dHVyZSBwcm9ibGVtczogJXIiICUgKHNlbGYucGFydHNbMF1bMF0sIHMpKQorCisgICAgZGVmIF9wYXJzZV9udW1kb3RzKHNlbGYsIHMsIGZ1bGxfdmVyX3N0ciwgZHJvcF90cmFpbGluZ196ZXJvcz1UcnVlLAorICAgICAgICAgICAgICAgICAgICAgICBwYWRfemVyb3NfbGVuZ3RoPTApOgorICAgICAgICAiIiJQYXJzZSAnTi5OLk4nIHNlcXVlbmNlcywgcmV0dXJuIGEgbGlzdCBvZiBpbnRzLgorCisgICAgICAgIEBwYXJhbSBzIHtzdHJ9ICdOLk4uTi4uLicgc2VxdWVuY2UgdG8gYmUgcGFyc2VkCisgICAgICAgIEBwYXJhbSBmdWxsX3Zlcl9zdHIge3N0cn0gVGhlIGZ1bGwgdmVyc2lvbiBzdHJpbmcgZnJvbSB3aGljaCB0aGlzCisgICAgICAgICAgICBjb21lcy4gVXNlZCBmb3IgZXJyb3Igc3RyaW5ncy4KKyAgICAgICAgQHBhcmFtIGRyb3BfdHJhaWxpbmdfemVyb3Mge2Jvb2x9IFdoZXRoZXIgdG8gZHJvcCB0cmFpbGluZyB6ZXJvcworICAgICAgICAgICAgZnJvbSB0aGUgcmV0dXJuZWQgbGlzdC4gRGVmYXVsdCBUcnVlLgorICAgICAgICBAcGFyYW0gcGFkX3plcm9zX2xlbmd0aCB7aW50fSBUaGUgbGVuZ3RoIHRvIHdoaWNoIHRvIHBhZCB0aGUKKyAgICAgICAgICAgIHJldHVybmVkIGxpc3Qgd2l0aCB6ZXJvcywgaWYgbmVjZXNzYXJ5LiBEZWZhdWx0IDAuCisgICAgICAgICIiIgorICAgICAgICBudW1zID0gW10KKyAgICAgICAgZm9yIG4gaW4gcy5zcGxpdCgiLiIpOgorICAgICAgICAgICAgaWYgbGVuKG4pID4gMSBhbmQgblswXSA9PSAnMCc6CisgICAgICAgICAgICAgICAgcmFpc2UgSXJyYXRpb25hbFZlcnNpb25FcnJvcigiY2Fubm90IGhhdmUgbGVhZGluZyB6ZXJvIGluICIKKyAgICAgICAgICAgICAgICAgICAgInZlcnNpb24gbnVtYmVyIHNlZ21lbnQ6ICclcycgaW4gJXIiICUgKG4sIGZ1bGxfdmVyX3N0cikpCisgICAgICAgICAgICBudW1zLmFwcGVuZChpbnQobikpCisgICAgICAgIGlmIGRyb3BfdHJhaWxpbmdfemVyb3M6CisgICAgICAgICAgICB3aGlsZSBudW1zIGFuZCBudW1zWy0xXSA9PSAwOgorICAgICAgICAgICAgICAgIG51bXMucG9wKCkKKyAgICAgICAgd2hpbGUgbGVuKG51bXMpIDwgcGFkX3plcm9zX2xlbmd0aDoKKyAgICAgICAgICAgIG51bXMuYXBwZW5kKDApCisgICAgICAgIHJldHVybiBudW1zCisKKyAgICBkZWYgX19zdHJfXyhzZWxmKToKKyAgICAgICAgcmV0dXJuIHNlbGYucGFydHNfdG9fc3RyKHNlbGYucGFydHMpCisKKyAgICBAY2xhc3NtZXRob2QKKyAgICBkZWYgcGFydHNfdG9fc3RyKGNscywgcGFydHMpOgorICAgICAgICAiIiJUcmFuc2Zvcm1zIGEgdmVyc2lvbiBleHByZXNzZWQgaW4gdHVwbGUgaW50byBpdHMgc3RyaW5nCisgICAgICAgIHJlcHJlc2VudGF0aW9uLiIiIgorICAgICAgICAjIFhYWCBUaGlzIGRvZXNuJ3QgY2hlY2sgZm9yIGludmFsaWQgdHVwbGVzCisgICAgICAgIG1haW4sIHByZXJlbCwgcG9zdGRldiA9IHBhcnRzCisgICAgICAgIHMgPSAnLicuam9pbihzdHIodikgZm9yIHYgaW4gbWFpbikKKyAgICAgICAgaWYgcHJlcmVsIGlzIG5vdCBfRklOQUxfTUFSS0VSOgorICAgICAgICAgICAgcyArPSBwcmVyZWxbMF0KKyAgICAgICAgICAgIHMgKz0gJy4nLmpvaW4oc3RyKHYpIGZvciB2IGluIHByZXJlbFsxOl0pCisgICAgICAgICMgWFhYIGNsZWFuIHVwOiBwb3N0ZGV2IGlzIGFsd2F5cyB0cnVlOyBjb2RlIGlzIG9ic2N1cmUKKyAgICAgICAgaWYgcG9zdGRldiBhbmQgcG9zdGRldiBpcyBub3QgX0ZJTkFMX01BUktFUjoKKyAgICAgICAgICAgIGlmIHBvc3RkZXZbMF0gPT0gX0ZJTkFMX01BUktFUlswXToKKyAgICAgICAgICAgICAgICBwb3N0ZGV2ID0gcG9zdGRldlsxOl0KKyAgICAgICAgICAgIGkgPSAwCisgICAgICAgICAgICB3aGlsZSBpIDwgbGVuKHBvc3RkZXYpOgorICAgICAgICAgICAgICAgIGlmIGkgJSAyID09IDA6CisgICAgICAgICAgICAgICAgICAgIHMgKz0gJy4nCisgICAgICAgICAgICAgICAgcyArPSBzdHIocG9zdGRldltpXSkKKyAgICAgICAgICAgICAgICBpICs9IDEKKyAgICAgICAgcmV0dXJuIHMKKworICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKKyAgICAgICAgcmV0dXJuICIlcygnJXMnKSIgJSAoc2VsZi5fX2NsYXNzX18uX19uYW1lX18sIHNlbGYpCisKKyAgICBkZWYgX2Nhbm5vdF9jb21wYXJlKHNlbGYsIG90aGVyKToKKyAgICAgICAgcmFpc2UgVHlwZUVycm9yKCJjYW5ub3QgY29tcGFyZSAlcyBhbmQgJXMiCisgICAgICAgICAgICAgICAgJSAodHlwZShzZWxmKS5fX25hbWVfXywgdHlwZShvdGhlcikuX19uYW1lX18pKQorCisgICAgZGVmIF9fZXFfXyhzZWxmLCBvdGhlcik6CisgICAgICAgIGlmIG5vdCBpc2luc3RhbmNlKG90aGVyLCBOb3JtYWxpemVkVmVyc2lvbik6CisgICAgICAgICAgICBzZWxmLl9jYW5ub3RfY29tcGFyZShvdGhlcikKKyAgICAgICAgcmV0dXJuIHNlbGYucGFydHMgPT0gb3RoZXIucGFydHMKKworICAgIGRlZiBfX2x0X18oc2VsZiwgb3RoZXIpOgorICAgICAgICBpZiBub3QgaXNpbnN0YW5jZShvdGhlciwgTm9ybWFsaXplZFZlcnNpb24pOgorICAgICAgICAgICAgc2VsZi5fY2Fubm90X2NvbXBhcmUob3RoZXIpCisgICAgICAgIHJldHVybiBzZWxmLnBhcnRzIDwgb3RoZXIucGFydHMKKworICAgIGRlZiBfX25lX18oc2VsZiwgb3RoZXIpOgorICAgICAgICByZXR1cm4gbm90IHNlbGYuX19lcV9fKG90aGVyKQorCisgICAgZGVmIF9fZ3RfXyhzZWxmLCBvdGhlcik6CisgICAgICAgIHJldHVybiBub3QgKHNlbGYuX19sdF9fKG90aGVyKSBvciBzZWxmLl9fZXFfXyhvdGhlcikpCisKKyAgICBkZWYgX19sZV9fKHNlbGYsIG90aGVyKToKKyAgICAgICAgcmV0dXJuIHNlbGYuX19lcV9fKG90aGVyKSBvciBzZWxmLl9fbHRfXyhvdGhlcikKKworICAgIGRlZiBfX2dlX18oc2VsZiwgb3RoZXIpOgorICAgICAgICByZXR1cm4gc2VsZi5fX2VxX18ob3RoZXIpIG9yIHNlbGYuX19ndF9fKG90aGVyKQorCisgICAgIyBTZWUgaHR0cDovL2RvY3MucHl0aG9uLm9yZy9yZWZlcmVuY2UvZGF0YW1vZGVsI29iamVjdC5fX2hhc2hfXworICAgIGRlZiBfX2hhc2hfXyhzZWxmKToKKyAgICAgICAgcmV0dXJuIGhhc2goc2VsZi5wYXJ0cykKKworCitkZWYgc3VnZ2VzdF9ub3JtYWxpemVkX3ZlcnNpb24ocyk6CisgICAgIiIiU3VnZ2VzdCBhIG5vcm1hbGl6ZWQgdmVyc2lvbiBjbG9zZSB0byB0aGUgZ2l2ZW4gdmVyc2lvbiBzdHJpbmcuCisKKyAgICBJZiB5b3UgaGF2ZSBhIHZlcnNpb24gc3RyaW5nIHRoYXQgaXNuJ3QgcmF0aW9uYWwgKGkuZS4gTm9ybWFsaXplZFZlcnNpb24KKyAgICBkb2Vzbid0IGxpa2UgaXQpIHRoZW4geW91IG1pZ2h0IGJlIGFibGUgdG8gZ2V0IGFuIGVxdWl2YWxlbnQgKG9yIGNsb3NlKQorICAgIHJhdGlvbmFsIHZlcnNpb24gZnJvbSB0aGlzIGZ1bmN0aW9uLgorCisgICAgVGhpcyBkb2VzIGEgbnVtYmVyIG9mIHNpbXBsZSBub3JtYWxpemF0aW9ucyB0byB0aGUgZ2l2ZW4gc3RyaW5nLCBiYXNlZAorICAgIG9uIG9ic2VydmF0aW9uIG9mIHZlcnNpb25zIGN1cnJlbnRseSBpbiB1c2Ugb24gUHlQSS4gR2l2ZW4gYSBkdW1wIG9mCisgICAgdGhvc2UgdmVyc2lvbiBkdXJpbmcgUHlDb24gMjAwOSwgNDI4NyBvZiB0aGVtOgorICAgIC0gMjMxMiAoNTMuOTMlKSBtYXRjaCBOb3JtYWxpemVkVmVyc2lvbiB3aXRob3V0IGNoYW5nZQorICAgICAgd2l0aCB0aGUgYXV0b21hdGljIHN1Z2dlc3Rpb24KKyAgICAtIDM0NzQgKDgxLjA0JSkgbWF0Y2ggd2hlbiB1c2luZyB0aGlzIHN1Z2dlc3Rpb24gbWV0aG9kCisKKyAgICBAcGFyYW0gcyB7c3RyfSBBbiBpcnJhdGlvbmFsIHZlcnNpb24gc3RyaW5nLgorICAgIEByZXR1cm5zIEEgcmF0aW9uYWwgdmVyc2lvbiBzdHJpbmcsIG9yIE5vbmUsIGlmIGNvdWxkbid0IGRldGVybWluZSBvbmUuCisgICAgIiIiCisgICAgdHJ5OgorICAgICAgICBOb3JtYWxpemVkVmVyc2lvbihzKQorICAgICAgICByZXR1cm4gcyAgICMgYWxyZWFkeSByYXRpb25hbAorICAgIGV4Y2VwdCBJcnJhdGlvbmFsVmVyc2lvbkVycm9yOgorICAgICAgICBwYXNzCisKKyAgICBycyA9IHMubG93ZXIoKQorCisgICAgIyBwYXJ0IG9mIHRoaXMgY291bGQgdXNlIG1ha2V0cmFucworICAgIGZvciBvcmlnLCByZXBsIGluICgoJy1hbHBoYScsICdhJyksICgnLWJldGEnLCAnYicpLCAoJ2FscGhhJywgJ2EnKSwKKyAgICAgICAgICAgICAgICAgICAgICAgKCdiZXRhJywgJ2InKSwgKCdyYycsICdjJyksICgnLWZpbmFsJywgJycpLAorICAgICAgICAgICAgICAgICAgICAgICAoJy1wcmUnLCAnYycpLAorICAgICAgICAgICAgICAgICAgICAgICAoJy1yZWxlYXNlJywgJycpLCAoJy5yZWxlYXNlJywgJycpLCAoJy1zdGFibGUnLCAnJyksCisgICAgICAgICAgICAgICAgICAgICAgICgnKycsICcuJyksICgnXycsICcuJyksICgnICcsICcnKSwgKCcuZmluYWwnLCAnJyksCisgICAgICAgICAgICAgICAgICAgICAgICgnZmluYWwnLCAnJykpOgorICAgICAgICBycyA9IHJzLnJlcGxhY2Uob3JpZywgcmVwbCkKKworICAgICMgaWYgc29tZXRoaW5nIGVuZHMgd2l0aCBkZXYgb3IgcHJlLCB3ZSBhZGQgYSAwCisgICAgcnMgPSByZS5zdWIociJwcmUkIiwgciJwcmUwIiwgcnMpCisgICAgcnMgPSByZS5zdWIociJkZXYkIiwgciJkZXYwIiwgcnMpCisKKyAgICAjIGlmIHdlIGhhdmUgc29tZXRoaW5nIGxpa2UgImItMiIgb3IgImEuMiIgYXQgdGhlIGVuZCBvZiB0aGUKKyAgICAjIHZlcnNpb24sIHRoYXQgaXMgcG9iYWJseSBiZXRhLCBhbHBoYSwgZXRjCisgICAgIyBsZXQncyByZW1vdmUgdGhlIGRhc2ggb3IgZG90CisgICAgcnMgPSByZS5zdWIociIoW2FiY118cmMpW1wtXC5dKFxkKykkIiwgciJcMVwyIiwgcnMpCisKKyAgICAjIDEuMC1kZXYtcjM3MSAtPiAxLjAuZGV2MzcxCisgICAgIyAwLjEtZGV2LXI3OSAtPiAwLjEuZGV2NzkKKyAgICBycyA9IHJlLnN1YihyIltcLVwuXShkZXYpW1wtXC5dP3I/KFxkKykkIiwgciIuXDFcMiIsIHJzKQorCisgICAgIyBDbGVhbjogMi4wLmEuMywgMi4wLmIxLCAwLjkuMH5jMQorICAgIHJzID0gcmUuc3ViKHIiWy5+XT8oW2FiY10pXC4/IiwgciJcMSIsIHJzKQorCisgICAgIyBDbGVhbjogdjAuMywgdjEuMAorICAgIGlmIHJzLnN0YXJ0c3dpdGgoJ3YnKToKKyAgICAgICAgcnMgPSByc1sxOl0KKworICAgICMgQ2xlYW4gbGVhZGluZyAnMCdzIG9uIG51bWJlcnMuCisgICAgI1RPRE86IHVuaW50ZW5kZWQgc2lkZS1lZmZlY3Qgb24sIGUuZy4sICIyMDAzLjA1LjA5IgorICAgICMgUHlQSSBzdGF0czogNzcgKH4yJSkgYmV0dGVyCisgICAgcnMgPSByZS5zdWIociJcYjArKFxkKykoPyFcZCkiLCByIlwxIiwgcnMpCisKKyAgICAjIENsZWFuIGEvYi9jIHdpdGggbm8gdmVyc2lvbi4gRS5nLiAiMS4wYSIgLT4gIjEuMGEwIi4gU2V0dXB0b29scyBpbmZlcnMKKyAgICAjIHplcm8uCisgICAgIyBQeVBJIHN0YXRzOiAyNDUgKDcuNTYlKSBiZXR0ZXIKKyAgICBycyA9IHJlLnN1YihyIihcZCtbYWJjXSkkIiwgciJcZzwxPjAiLCBycykKKworICAgICMgdGhlICdkZXYtck5OTicgdGFnIGlzIGEgZGV2IHRhZworICAgIHJzID0gcmUuc3ViKHIiXC4/KGRldi1yfGRldlwucilcLj8oXGQrKSQiLCByIi5kZXZcMiIsIHJzKQorCisgICAgIyBjbGVhbiB0aGUgLSB3aGVuIHVzZWQgYXMgYSBwcmUgZGVsaW1pdGVyCisgICAgcnMgPSByZS5zdWIociItKGF8YnxjKShcZCspJCIsIHIiXDFcMiIsIHJzKQorCisgICAgIyBhIHRlcm1pbmFsICJkZXYiIG9yICJkZXZlbCIgY2FuIGJlIGNoYW5nZWQgaW50byAiLmRldjAiCisgICAgcnMgPSByZS5zdWIociJbXC5cLV0oZGV2fGRldmVsKSQiLCByIi5kZXYwIiwgcnMpCisKKyAgICAjIGEgdGVybWluYWwgImRldiIgY2FuIGJlIGNoYW5nZWQgaW50byAiLmRldjAiCisgICAgcnMgPSByZS5zdWIociIoPyFbXC5cLV0pZGV2JCIsIHIiLmRldjAiLCBycykKKworICAgICMgYSB0ZXJtaW5hbCAiZmluYWwiIG9yICJzdGFibGUiIGNhbiBiZSByZW1vdmVkCisgICAgcnMgPSByZS5zdWIociIoZmluYWx8c3RhYmxlKSQiLCAiIiwgcnMpCisKKyAgICAjIFRoZSAncicgYW5kIHRoZSAnLScgdGFncyBhcmUgcG9zdCByZWxlYXNlIHRhZ3MKKyAgICAjICAgMC40YTEucjEwICAgICAgIC0+ICAwLjRhMS5wb3N0MTAKKyAgICAjICAgMC45LjMzLTE3MjIyICAgIC0+ICAwLjkuMzMucG9zdDE3MjIyCisgICAgIyAgIDAuOS4zMy1yMTcyMjIgICAtPiAgMC45LjMzLnBvc3QxNzIyMgorICAgIHJzID0gcmUuc3ViKHIiXC4/KHJ8LXwtcilcLj8oXGQrKSQiLCByIi5wb3N0XDIiLCBycykKKworICAgICMgQ2xlYW4gJ3InIGluc3RlYWQgb2YgJ2RldicgdXNhZ2U6CisgICAgIyAgIDAuOS4zMytyMTcyMjIgICAtPiAgMC45LjMzLmRldjE3MjIyCisgICAgIyAgIDEuMGRldjEyMyAgICAgICAtPiAgMS4wLmRldjEyMworICAgICMgICAxLjAuZ2l0MTIzICAgICAgLT4gIDEuMC5kZXYxMjMKKyAgICAjICAgMS4wLmJ6cjEyMyAgICAgIC0+ICAxLjAuZGV2MTIzCisgICAgIyAgIDAuMWEwZGV2LjEyMyAgICAtPiAgMC4xYTAuZGV2MTIzCisgICAgIyBQeVBJIHN0YXRzOiAgfjE1MCAofjQlKSBiZXR0ZXIKKyAgICBycyA9IHJlLnN1YihyIlwuPyhkZXZ8Z2l0fGJ6cilcLj8oXGQrKSQiLCByIi5kZXZcMiIsIHJzKQorCisgICAgIyBDbGVhbiAnLnByZScgKG5vcm1hbGl6ZWQgZnJvbSAnLXByZScgYWJvdmUpIGluc3RlYWQgb2YgJ2MnIHVzYWdlOgorICAgICMgICAwLjIucHJlMSAgICAgICAgLT4gIDAuMmMxCisgICAgIyAgIDAuMi1jMSAgICAgICAgIC0+ICAwLjJjMQorICAgICMgICAxLjBwcmV2aWV3MTIzICAgLT4gIDEuMGMxMjMKKyAgICAjIFB5UEkgc3RhdHM6IH4yMSAoMC42MiUpIGJldHRlcgorICAgIHJzID0gcmUuc3ViKHIiXC4/KHByZXxwcmV2aWV3fC1jKShcZCspJCIsIHIiY1xnPDI+IiwgcnMpCisKKyAgICAjIFRjbC9UayB1c2VzICJweCIgZm9yIHRoZWlyIHBvc3QgcmVsZWFzZSBtYXJrZXJzCisgICAgcnMgPSByZS5zdWIociJwKFxkKykkIiwgciIucG9zdFwxIiwgcnMpCisKKyAgICB0cnk6CisgICAgICAgIE5vcm1hbGl6ZWRWZXJzaW9uKHJzKQorICAgICAgICByZXR1cm4gcnMgICAjIGFscmVhZHkgcmF0aW9uYWwKKyAgICBleGNlcHQgSXJyYXRpb25hbFZlcnNpb25FcnJvcjoKKyAgICAgICAgcGFzcworICAgIHJldHVybiBOb25lCisKKworIyBBIHByZWRpY2F0ZSBpczogIlByb2plY3ROYW1lIChWRVJTSU9OMSwgVkVSU0lPTjIsIC4uKQorX1BSRURJQ0FURSA9IHJlLmNvbXBpbGUociIoP2kpXlxzKihcd1tcc1x3LV0qKD86XC5cdyopKikoLiopIikKK19WRVJTSU9OUyA9IHJlLmNvbXBpbGUociJeXHMqXCgoP1A8dmVyc2lvbnM+LiopXClccyokfF5ccyoiCisgICAgICAgICAgICAgICAgICAgICAgICAiKD9QPHZlcnNpb25zMj4uKilccyokIikKK19QTEFJTl9WRVJTSU9OUyA9IHJlLmNvbXBpbGUociJeXHMqKC4qKVxzKiQiKQorX1NQTElUX0NNUCA9IHJlLmNvbXBpbGUociJeXHMqKDw9fD49fDx8PnwhPXw9PSlccyooW15ccyxdKylccyokIikKKworCitkZWYgX3NwbGl0X3ByZWRpY2F0ZShwcmVkaWNhdGUpOgorICAgIG1hdGNoID0gX1NQTElUX0NNUC5tYXRjaChwcmVkaWNhdGUpCisgICAgaWYgbWF0Y2ggaXMgTm9uZToKKyAgICAgICAgIyBwcm9iYWJseSBubyBvcCwgd2UnbGwgdXNlICI9PSIKKyAgICAgICAgY29tcCwgdmVyc2lvbiA9ICc9PScsIHByZWRpY2F0ZQorICAgIGVsc2U6CisgICAgICAgIGNvbXAsIHZlcnNpb24gPSBtYXRjaC5ncm91cHMoKQorICAgIHJldHVybiBjb21wLCBOb3JtYWxpemVkVmVyc2lvbih2ZXJzaW9uKQorCisKK2NsYXNzIFZlcnNpb25QcmVkaWNhdGU6CisgICAgIiIiRGVmaW5lcyBhIHByZWRpY2F0ZTogUHJvamVjdE5hbWUgKD52ZXIxLHZlcjIsIC4uKSIiIgorCisgICAgX29wZXJhdG9ycyA9IHsiPCI6IGxhbWJkYSB4LCB5OiB4IDwgeSwKKyAgICAgICAgICAgICAgICAgICI+IjogbGFtYmRhIHgsIHk6IHggPiB5LAorICAgICAgICAgICAgICAgICAgIjw9IjogbGFtYmRhIHgsIHk6IHN0cih4KS5zdGFydHN3aXRoKHN0cih5KSkgb3IgeCA8IHksCisgICAgICAgICAgICAgICAgICAiPj0iOiBsYW1iZGEgeCwgeTogc3RyKHgpLnN0YXJ0c3dpdGgoc3RyKHkpKSBvciB4ID4geSwKKyAgICAgICAgICAgICAgICAgICI9PSI6IGxhbWJkYSB4LCB5OiBzdHIoeCkuc3RhcnRzd2l0aChzdHIoeSkpLAorICAgICAgICAgICAgICAgICAgIiE9IjogbGFtYmRhIHgsIHk6IG5vdCBzdHIoeCkuc3RhcnRzd2l0aChzdHIoeSkpLAorICAgICAgICAgICAgICAgICAgfQorCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHByZWRpY2F0ZSk6CisgICAgICAgIHNlbGYuX3N0cmluZyA9IHByZWRpY2F0ZQorICAgICAgICBwcmVkaWNhdGUgPSBwcmVkaWNhdGUuc3RyaXAoKQorICAgICAgICBtYXRjaCA9IF9QUkVESUNBVEUubWF0Y2gocHJlZGljYXRlKQorICAgICAgICBpZiBtYXRjaCBpcyBOb25lOgorICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcignQmFkIHByZWRpY2F0ZSAiJXMiJyAlIHByZWRpY2F0ZSkKKworICAgICAgICBuYW1lLCBwcmVkaWNhdGVzID0gbWF0Y2guZ3JvdXBzKCkKKyAgICAgICAgc2VsZi5uYW1lID0gbmFtZS5zdHJpcCgpCisgICAgICAgIHNlbGYucHJlZGljYXRlcyA9IFtdCisgICAgICAgIGlmIHByZWRpY2F0ZXMgaXMgTm9uZToKKyAgICAgICAgICAgIHJldHVybgorCisgICAgICAgIHByZWRpY2F0ZXMgPSBfVkVSU0lPTlMubWF0Y2gocHJlZGljYXRlcy5zdHJpcCgpKQorICAgICAgICBpZiBwcmVkaWNhdGVzIGlzIE5vbmU6CisgICAgICAgICAgICByZXR1cm4KKworICAgICAgICBwcmVkaWNhdGVzID0gcHJlZGljYXRlcy5ncm91cGRpY3QoKQorICAgICAgICBpZiBwcmVkaWNhdGVzWyd2ZXJzaW9ucyddIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgdmVyc2lvbnMgPSBwcmVkaWNhdGVzWyd2ZXJzaW9ucyddCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICB2ZXJzaW9ucyA9IHByZWRpY2F0ZXMuZ2V0KCd2ZXJzaW9uczInKQorCisgICAgICAgIGlmIHZlcnNpb25zIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgZm9yIHZlcnNpb24gaW4gdmVyc2lvbnMuc3BsaXQoJywnKToKKyAgICAgICAgICAgICAgICBpZiB2ZXJzaW9uLnN0cmlwKCkgPT0gJyc6CisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICAgICAgc2VsZi5wcmVkaWNhdGVzLmFwcGVuZChfc3BsaXRfcHJlZGljYXRlKHZlcnNpb24pKQorCisgICAgZGVmIG1hdGNoKHNlbGYsIHZlcnNpb24pOgorICAgICAgICAiIiJDaGVjayBpZiB0aGUgcHJvdmlkZWQgdmVyc2lvbiBtYXRjaGVzIHRoZSBwcmVkaWNhdGVzLiIiIgorICAgICAgICBpZiBpc2luc3RhbmNlKHZlcnNpb24sIHN0cik6CisgICAgICAgICAgICB2ZXJzaW9uID0gTm9ybWFsaXplZFZlcnNpb24odmVyc2lvbikKKyAgICAgICAgZm9yIG9wZXJhdG9yLCBwcmVkaWNhdGUgaW4gc2VsZi5wcmVkaWNhdGVzOgorICAgICAgICAgICAgaWYgbm90IHNlbGYuX29wZXJhdG9yc1tvcGVyYXRvcl0odmVyc2lvbiwgcHJlZGljYXRlKToKKyAgICAgICAgICAgICAgICByZXR1cm4gRmFsc2UKKyAgICAgICAgcmV0dXJuIFRydWUKKworICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKKyAgICAgICAgcmV0dXJuIHNlbGYuX3N0cmluZworCisKK2NsYXNzIF9WZXJzaW9ucyhWZXJzaW9uUHJlZGljYXRlKToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgcHJlZGljYXRlKToKKyAgICAgICAgcHJlZGljYXRlID0gcHJlZGljYXRlLnN0cmlwKCkKKyAgICAgICAgbWF0Y2ggPSBfUExBSU5fVkVSU0lPTlMubWF0Y2gocHJlZGljYXRlKQorICAgICAgICBzZWxmLm5hbWUgPSBOb25lCisgICAgICAgIHByZWRpY2F0ZXMgPSBtYXRjaC5ncm91cHMoKVswXQorICAgICAgICBzZWxmLnByZWRpY2F0ZXMgPSBbX3NwbGl0X3ByZWRpY2F0ZShwcmVkLnN0cmlwKCkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgcHJlZCBpbiBwcmVkaWNhdGVzLnNwbGl0KCcsJyldCisKKworY2xhc3MgX1ZlcnNpb24oVmVyc2lvblByZWRpY2F0ZSk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHByZWRpY2F0ZSk6CisgICAgICAgIHByZWRpY2F0ZSA9IHByZWRpY2F0ZS5zdHJpcCgpCisgICAgICAgIG1hdGNoID0gX1BMQUlOX1ZFUlNJT05TLm1hdGNoKHByZWRpY2F0ZSkKKyAgICAgICAgc2VsZi5uYW1lID0gTm9uZQorICAgICAgICBzZWxmLnByZWRpY2F0ZXMgPSBfc3BsaXRfcHJlZGljYXRlKG1hdGNoLmdyb3VwcygpWzBdKQorCisKK2RlZiBpc192YWxpZF9wcmVkaWNhdGUocHJlZGljYXRlKToKKyAgICB0cnk6CisgICAgICAgIFZlcnNpb25QcmVkaWNhdGUocHJlZGljYXRlKQorICAgIGV4Y2VwdCAoVmFsdWVFcnJvciwgSXJyYXRpb25hbFZlcnNpb25FcnJvcik6CisgICAgICAgIHJldHVybiBGYWxzZQorICAgIGVsc2U6CisgICAgICAgIHJldHVybiBUcnVlCisKKworZGVmIGlzX3ZhbGlkX3ZlcnNpb25zKHByZWRpY2F0ZSk6CisgICAgdHJ5OgorICAgICAgICBfVmVyc2lvbnMocHJlZGljYXRlKQorICAgIGV4Y2VwdCAoVmFsdWVFcnJvciwgSXJyYXRpb25hbFZlcnNpb25FcnJvcik6CisgICAgICAgIHJldHVybiBGYWxzZQorICAgIGVsc2U6CisgICAgICAgIHJldHVybiBUcnVlCisKKworZGVmIGlzX3ZhbGlkX3ZlcnNpb24ocHJlZGljYXRlKToKKyAgICB0cnk6CisgICAgICAgIF9WZXJzaW9uKHByZWRpY2F0ZSkKKyAgICBleGNlcHQgKFZhbHVlRXJyb3IsIElycmF0aW9uYWxWZXJzaW9uRXJyb3IpOgorICAgICAgICByZXR1cm4gRmFsc2UKKyAgICBlbHNlOgorICAgICAgICByZXR1cm4gVHJ1ZQorCisKK2RlZiBnZXRfdmVyc2lvbl9wcmVkaWNhdGUocmVxdWlyZW1lbnRzKToKKyAgICAiIiJSZXR1cm4gYSBWZXJzaW9uUHJlZGljYXRlIG9iamVjdCwgZnJvbSBhIHN0cmluZyBvciBhbiBhbHJlYWR5CisgICAgZXhpc3Rpbmcgb2JqZWN0LgorICAgICIiIgorICAgIGlmIGlzaW5zdGFuY2UocmVxdWlyZW1lbnRzLCBzdHIpOgorICAgICAgICByZXF1aXJlbWVudHMgPSBWZXJzaW9uUHJlZGljYXRlKHJlcXVpcmVtZW50cykKKyAgICByZXR1cm4gcmVxdWlyZW1lbnRzCmRpZmYgLS1naXQgYS9MaWIvcGRiLnB5IGIvTGliL3BkYi5weQppbmRleCA2Nzc2YTNmLi4zMDQzMzkxIDEwMDc1NQotLS0gYS9MaWIvcGRiLnB5CisrKyBiL0xpYi9wZGIucHkKQEAgLTczLDYgKzczLDcgQEAKIGltcG9ydCBiZGIKIGltcG9ydCBkaXMKIGltcG9ydCBjb2RlCitpbXBvcnQgZ2xvYgogaW1wb3J0IHBwcmludAogaW1wb3J0IHNpZ25hbAogaW1wb3J0IGluc3BlY3QKQEAgLTE1NSw2ICsxNTYsOCBAQAogICAgICAgICAjIFRyeSB0byBsb2FkIHJlYWRsaW5lIGlmIGl0IGV4aXN0cwogICAgICAgICB0cnk6CiAgICAgICAgICAgICBpbXBvcnQgcmVhZGxpbmUKKyAgICAgICAgICAgICMgcmVtb3ZlIHNvbWUgY29tbW9uIGZpbGUgbmFtZSBkZWxpbWl0ZXJzCisgICAgICAgICAgICByZWFkbGluZS5zZXRfY29tcGxldGVyX2RlbGltcygnIFx0XG5gQCMkJV4mKigpPStbe119XFx8OzpcJyIsPD4/JykKICAgICAgICAgZXhjZXB0IEltcG9ydEVycm9yOgogICAgICAgICAgICAgcGFzcwogICAgICAgICBzZWxmLmFsbG93X2tiZGludCA9IEZhbHNlCkBAIC00NDUsNiArNDQ4LDYxIEBACiAgICAgZGVmIGVycm9yKHNlbGYsIG1zZyk6CiAgICAgICAgIHByaW50KCcqKionLCBtc2csIGZpbGU9c2VsZi5zdGRvdXQpCiAKKyAgICAjIEdlbmVyaWMgY29tcGxldGlvbiBmdW5jdGlvbnMuICBJbmRpdmlkdWFsIGNvbXBsZXRlX2ZvbyBtZXRob2RzIGNhbiBiZQorICAgICMgYXNzaWduZWQgYmVsb3cgdG8gb25lIG9mIHRoZXNlIGZ1bmN0aW9ucy4KKworICAgIGRlZiBfY29tcGxldGVfbG9jYXRpb24oc2VsZiwgdGV4dCwgbGluZSwgYmVnaWR4LCBlbmRpZHgpOgorICAgICAgICAjIENvbXBsZXRlIGEgZmlsZS9tb2R1bGUvZnVuY3Rpb24gbG9jYXRpb24gZm9yIGJyZWFrL3RicmVhay9jbGVhci4KKyAgICAgICAgaWYgbGluZS5zdHJpcCgpLmVuZHN3aXRoKCgnOicsICcsJykpOgorICAgICAgICAgICAgIyBIZXJlIGNvbWVzIGEgbGluZSBudW1iZXIgb3IgYSBjb25kaXRpb24gd2hpY2ggd2UgY2FuJ3QgY29tcGxldGUuCisgICAgICAgICAgICByZXR1cm4gW10KKyAgICAgICAgIyBGaXJzdCwgdHJ5IHRvIGZpbmQgbWF0Y2hpbmcgZnVuY3Rpb25zIChpLmUuIGV4cHJlc3Npb25zKS4KKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgcmV0ID0gc2VsZi5fY29tcGxldGVfZXhwcmVzc2lvbih0ZXh0LCBsaW5lLCBiZWdpZHgsIGVuZGlkeCkKKyAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbjoKKyAgICAgICAgICAgIHJldCA9IFtdCisgICAgICAgICMgVGhlbiwgdHJ5IHRvIGNvbXBsZXRlIGZpbGUgbmFtZXMgYXMgd2VsbC4KKyAgICAgICAgZ2xvYnMgPSBnbG9iLmdsb2IodGV4dCArICcqJykKKyAgICAgICAgZm9yIGZuIGluIGdsb2JzOgorICAgICAgICAgICAgaWYgb3MucGF0aC5pc2Rpcihmbik6CisgICAgICAgICAgICAgICAgcmV0LmFwcGVuZChmbiArICcvJykKKyAgICAgICAgICAgIGVsaWYgb3MucGF0aC5pc2ZpbGUoZm4pIGFuZCBmbi5sb3dlcigpLmVuZHN3aXRoKCgnLnB5JywgJy5weXcnKSk6CisgICAgICAgICAgICAgICAgcmV0LmFwcGVuZChmbiArICc6JykKKyAgICAgICAgcmV0dXJuIHJldAorCisgICAgZGVmIF9jb21wbGV0ZV9icG51bWJlcihzZWxmLCB0ZXh0LCBsaW5lLCBiZWdpZHgsIGVuZGlkeCk6CisgICAgICAgICMgQ29tcGxldGUgYSBicmVha3BvaW50IG51bWJlci4gIChUaGlzIHdvdWxkIGJlIG1vcmUgaGVscGZ1bCBpZiB3ZSBjb3VsZAorICAgICAgICAjIGRpc3BsYXkgYWRkaXRpb25hbCBpbmZvIGFsb25nIHdpdGggdGhlIGNvbXBsZXRpb25zLCBzdWNoIGFzIGZpbGUvbGluZQorICAgICAgICAjIG9mIHRoZSBicmVha3BvaW50LikKKyAgICAgICAgcmV0dXJuIFtzdHIoaSkgZm9yIGksIGJwIGluIGVudW1lcmF0ZShiZGIuQnJlYWtwb2ludC5icGJ5bnVtYmVyKQorICAgICAgICAgICAgICAgIGlmIGJwIGlzIG5vdCBOb25lIGFuZCBzdHIoaSkuc3RhcnRzd2l0aCh0ZXh0KV0KKworICAgIGRlZiBfY29tcGxldGVfZXhwcmVzc2lvbihzZWxmLCB0ZXh0LCBsaW5lLCBiZWdpZHgsIGVuZGlkeCk6CisgICAgICAgICMgQ29tcGxldGUgYW4gYXJiaXRyYXJ5IGV4cHJlc3Npb24uCisgICAgICAgIGlmIG5vdCBzZWxmLmN1cmZyYW1lOgorICAgICAgICAgICAgcmV0dXJuIFtdCisgICAgICAgICMgQ29sbGVjdCBnbG9iYWxzIGFuZCBsb2NhbHMuICBJdCBpcyB1c3VhbGx5IG5vdCByZWFsbHkgc2Vuc2libGUgdG8gYWxzbworICAgICAgICAjIGNvbXBsZXRlIGJ1aWx0aW5zLCBhbmQgdGhleSBjbHV0dGVyIHRoZSBuYW1lc3BhY2UgcXVpdGUgaGVhdmlseSwgc28gd2UKKyAgICAgICAgIyBsZWF2ZSB0aGVtIG91dC4KKyAgICAgICAgbnMgPSBzZWxmLmN1cmZyYW1lLmZfZ2xvYmFscy5jb3B5KCkKKyAgICAgICAgbnMudXBkYXRlKHNlbGYuY3VyZnJhbWVfbG9jYWxzKQorICAgICAgICBpZiAnLicgaW4gdGV4dDoKKyAgICAgICAgICAgICMgV2FsayBhbiBhdHRyaWJ1dGUgY2hhaW4gdXAgdG8gdGhlIGxhc3QgcGFydCwgc2ltaWxhciB0byB3aGF0CisgICAgICAgICAgICAjIHJsY29tcGxldGVyIGRvZXMuICBUaGlzIHdpbGwgYmFpbCBpZiBhbnkgb2YgdGhlIHBhcnRzIGFyZSBub3QKKyAgICAgICAgICAgICMgc2ltcGxlIGF0dHJpYnV0ZSBhY2Nlc3MsIHdoaWNoIGlzIHdoYXQgd2Ugd2FudC4KKyAgICAgICAgICAgIGRvdHRlZCA9IHRleHQuc3BsaXQoJy4nKQorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIG9iaiA9IG5zW2RvdHRlZFswXV0KKyAgICAgICAgICAgICAgICBmb3IgcGFydCBpbiBkb3R0ZWRbMTotMV06CisgICAgICAgICAgICAgICAgICAgIG9iaiA9IGdldGF0dHIob2JqLCBwYXJ0KQorICAgICAgICAgICAgZXhjZXB0IChLZXlFcnJvciwgQXR0cmlidXRlRXJyb3IpOgorICAgICAgICAgICAgICAgIHJldHVybiBbXQorICAgICAgICAgICAgcHJlZml4ID0gJy4nLmpvaW4oZG90dGVkWzotMV0pICsgJy4nCisgICAgICAgICAgICByZXR1cm4gW3ByZWZpeCArIG4gZm9yIG4gaW4gZGlyKG9iaikgaWYgbi5zdGFydHN3aXRoKGRvdHRlZFstMV0pXQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgIyBDb21wbGV0ZSBhIHNpbXBsZSBuYW1lLgorICAgICAgICAgICAgcmV0dXJuIFtuIGZvciBuIGluIG5zLmtleXMoKSBpZiBuLnN0YXJ0c3dpdGgodGV4dCldCisKICAgICAjIENvbW1hbmQgZGVmaW5pdGlvbnMsIGNhbGxlZCBieSBjbWRsb29wKCkKICAgICAjIFRoZSBhcmd1bWVudCBpcyB0aGUgcmVtYWluaW5nIHN0cmluZyBvbiB0aGUgY29tbWFuZCBsaW5lCiAgICAgIyBSZXR1cm4gdHJ1ZSB0byBleGl0IGZyb20gdGhlIGNvbW1hbmQgbG9vcApAQCAtNTI2LDYgKzU4NCw4IEBACiAgICAgICAgICAgICBzZWxmLmNvbW1hbmRzX2RlZmluaW5nID0gRmFsc2UKICAgICAgICAgICAgIHNlbGYucHJvbXB0ID0gcHJvbXB0X2JhY2sKIAorICAgIGNvbXBsZXRlX2NvbW1hbmRzID0gX2NvbXBsZXRlX2JwbnVtYmVyCisKICAgICBkZWYgZG9fYnJlYWsoc2VsZiwgYXJnLCB0ZW1wb3JhcnkgPSAwKToKICAgICAgICAgIiIiYihyZWFrKSBbIChbZmlsZW5hbWU6XWxpbmVubyB8IGZ1bmN0aW9uKSBbLCBjb25kaXRpb25dIF0KICAgICAgICAgV2l0aG91dCBhcmd1bWVudCwgbGlzdCBhbGwgYnJlYWtzLgpAQCAtNjI4LDYgKzY4OCw5IEBACiAKICAgICBkb19iID0gZG9fYnJlYWsKIAorICAgIGNvbXBsZXRlX2JyZWFrID0gX2NvbXBsZXRlX2xvY2F0aW9uCisgICAgY29tcGxldGVfYiA9IF9jb21wbGV0ZV9sb2NhdGlvbgorCiAgICAgZGVmIGRvX3RicmVhayhzZWxmLCBhcmcpOgogICAgICAgICAiIiJ0YnJlYWsgWyAoW2ZpbGVuYW1lOl1saW5lbm8gfCBmdW5jdGlvbikgWywgY29uZGl0aW9uXSBdCiAgICAgICAgIFNhbWUgYXJndW1lbnRzIGFzIGJyZWFrLCBidXQgc2V0cyBhIHRlbXBvcmFyeSBicmVha3BvaW50OiBpdApAQCAtNjM1LDYgKzY5OCw4IEBACiAgICAgICAgICIiIgogICAgICAgICBzZWxmLmRvX2JyZWFrKGFyZywgMSkKIAorICAgIGNvbXBsZXRlX3RicmVhayA9IF9jb21wbGV0ZV9sb2NhdGlvbgorCiAgICAgZGVmIGxpbmVpbmZvKHNlbGYsIGlkZW50aWZpZXIpOgogICAgICAgICBmYWlsZWQgPSAoTm9uZSwgTm9uZSwgTm9uZSkKICAgICAgICAgIyBJbnB1dCBpcyBpZGVudGlmaWVyLCBtYXkgYmUgaW4gc2luZ2xlIHF1b3RlcwpAQCAtNzA0LDYgKzc2OSw4IEBACiAgICAgICAgICAgICAgICAgYnAuZW5hYmxlKCkKICAgICAgICAgICAgICAgICBzZWxmLm1lc3NhZ2UoJ0VuYWJsZWQgJXMnICUgYnApCiAKKyAgICBjb21wbGV0ZV9lbmFibGUgPSBfY29tcGxldGVfYnBudW1iZXIKKwogICAgIGRlZiBkb19kaXNhYmxlKHNlbGYsIGFyZyk6CiAgICAgICAgICIiImRpc2FibGUgYnBudW1iZXIgW2JwbnVtYmVyIC4uLl0KICAgICAgICAgRGlzYWJsZXMgdGhlIGJyZWFrcG9pbnRzIGdpdmVuIGFzIGEgc3BhY2Ugc2VwYXJhdGVkIGxpc3Qgb2YKQEAgLTcyMiw2ICs3ODksOCBAQAogICAgICAgICAgICAgICAgIGJwLmRpc2FibGUoKQogICAgICAgICAgICAgICAgIHNlbGYubWVzc2FnZSgnRGlzYWJsZWQgJXMnICUgYnApCiAKKyAgICBjb21wbGV0ZV9kaXNhYmxlID0gX2NvbXBsZXRlX2JwbnVtYmVyCisKICAgICBkZWYgZG9fY29uZGl0aW9uKHNlbGYsIGFyZyk6CiAgICAgICAgICIiImNvbmRpdGlvbiBicG51bWJlciBbY29uZGl0aW9uXQogICAgICAgICBTZXQgYSBuZXcgY29uZGl0aW9uIGZvciB0aGUgYnJlYWtwb2ludCwgYW4gZXhwcmVzc2lvbiB3aGljaApAQCAtNzQ1LDYgKzgxNCw4IEBACiAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgIHNlbGYubWVzc2FnZSgnTmV3IGNvbmRpdGlvbiBzZXQgZm9yIGJyZWFrcG9pbnQgJWQuJyAlIGJwLm51bWJlcikKIAorICAgIGNvbXBsZXRlX2NvbmRpdGlvbiA9IF9jb21wbGV0ZV9icG51bWJlcgorCiAgICAgZGVmIGRvX2lnbm9yZShzZWxmLCBhcmcpOgogICAgICAgICAiIiJpZ25vcmUgYnBudW1iZXIgW2NvdW50XQogICAgICAgICBTZXQgdGhlIGlnbm9yZSBjb3VudCBmb3IgdGhlIGdpdmVuIGJyZWFrcG9pbnQgbnVtYmVyLiAgSWYKQEAgLTc3Niw2ICs4NDcsOCBAQAogICAgICAgICAgICAgICAgIHNlbGYubWVzc2FnZSgnV2lsbCBzdG9wIG5leHQgdGltZSBicmVha3BvaW50ICVkIGlzIHJlYWNoZWQuJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAlIGJwLm51bWJlcikKIAorICAgIGNvbXBsZXRlX2lnbm9yZSA9IF9jb21wbGV0ZV9icG51bWJlcgorCiAgICAgZGVmIGRvX2NsZWFyKHNlbGYsIGFyZyk6CiAgICAgICAgICIiImNsKGVhcikgZmlsZW5hbWU6bGluZW5vXG5jbChlYXIpIFticG51bWJlciBbYnBudW1iZXIuLi5dXQogICAgICAgICBXaXRoIGEgc3BhY2Ugc2VwYXJhdGVkIGxpc3Qgb2YgYnJlYWtwb2ludCBudW1iZXJzLCBjbGVhcgpAQCAtODI0LDYgKzg5Nyw5IEBACiAgICAgICAgICAgICAgICAgc2VsZi5tZXNzYWdlKCdEZWxldGVkICVzJyAlIGJwKQogICAgIGRvX2NsID0gZG9fY2xlYXIgIyAnYycgaXMgYWxyZWFkeSBhbiBhYmJyZXZpYXRpb24gZm9yICdjb250aW51ZScKIAorICAgIGNvbXBsZXRlX2NsZWFyID0gX2NvbXBsZXRlX2xvY2F0aW9uCisgICAgY29tcGxldGVfY2wgPSBfY29tcGxldGVfbG9jYXRpb24KKwogICAgIGRlZiBkb193aGVyZShzZWxmLCBhcmcpOgogICAgICAgICAiIiJ3KGhlcmUpCiAgICAgICAgIFByaW50IGEgc3RhY2sgdHJhY2UsIHdpdGggdGhlIG1vc3QgcmVjZW50IGZyYW1lIGF0IHRoZSBib3R0b20uCkBAIC0xMDA3LDYgKzEwODMsOCBAQAogICAgICAgICBzeXMuc2V0dHJhY2Uoc2VsZi50cmFjZV9kaXNwYXRjaCkKICAgICAgICAgc2VsZi5sYXN0Y21kID0gcC5sYXN0Y21kCiAKKyAgICBjb21wbGV0ZV9kZWJ1ZyA9IF9jb21wbGV0ZV9leHByZXNzaW9uCisKICAgICBkZWYgZG9fcXVpdChzZWxmLCBhcmcpOgogICAgICAgICAiIiJxKHVpdClcbmV4aXQKICAgICAgICAgUXVpdCBmcm9tIHRoZSBkZWJ1Z2dlci4gVGhlIHByb2dyYW0gYmVpbmcgZXhlY3V0ZWQgaXMgYWJvcnRlZC4KQEAgLTEwOTMsNiArMTE3MSwxMCBAQAogICAgICAgICBleGNlcHQ6CiAgICAgICAgICAgICBwYXNzCiAKKyAgICBjb21wbGV0ZV9wcmludCA9IF9jb21wbGV0ZV9leHByZXNzaW9uCisgICAgY29tcGxldGVfcCA9IF9jb21wbGV0ZV9leHByZXNzaW9uCisgICAgY29tcGxldGVfcHAgPSBfY29tcGxldGVfZXhwcmVzc2lvbgorCiAgICAgZGVmIGRvX2xpc3Qoc2VsZiwgYXJnKToKICAgICAgICAgIiIibChpc3QpIFtmaXJzdCBbLGxhc3RdIHwgLl0KIApAQCAtMTE3Myw2ICsxMjU1LDggQEAKICAgICAgICAgICAgIHJldHVybgogICAgICAgICBzZWxmLl9wcmludF9saW5lcyhsaW5lcywgbGluZW5vKQogCisgICAgY29tcGxldGVfc291cmNlID0gX2NvbXBsZXRlX2V4cHJlc3Npb24KKwogICAgIGRlZiBfcHJpbnRfbGluZXMoc2VsZiwgbGluZXMsIHN0YXJ0LCBicmVha3M9KCksIGZyYW1lPU5vbmUpOgogICAgICAgICAiIiJQcmludCBhIHJhbmdlIG9mIGxpbmVzLiIiIgogICAgICAgICBpZiBmcmFtZToKQEAgLTEyMjcsNiArMTMxMSw4IEBACiAgICAgICAgICMgTm9uZSBvZiB0aGUgYWJvdmUuLi4KICAgICAgICAgc2VsZi5tZXNzYWdlKHR5cGUodmFsdWUpKQogCisgICAgY29tcGxldGVfd2hhdGlzID0gX2NvbXBsZXRlX2V4cHJlc3Npb24KKwogICAgIGRlZiBkb19kaXNwbGF5KHNlbGYsIGFyZyk6CiAgICAgICAgICIiImRpc3BsYXkgW2V4cHJlc3Npb25dCiAKQEAgLTEyNDQsNiArMTMzMCw4IEBACiAgICAgICAgICAgICBzZWxmLmRpc3BsYXlpbmcuc2V0ZGVmYXVsdChzZWxmLmN1cmZyYW1lLCB7fSlbYXJnXSA9IHZhbAogICAgICAgICAgICAgc2VsZi5tZXNzYWdlKCdkaXNwbGF5ICVzOiAlcicgJSAoYXJnLCB2YWwpKQogCisgICAgY29tcGxldGVfZGlzcGxheSA9IF9jb21wbGV0ZV9leHByZXNzaW9uCisKICAgICBkZWYgZG9fdW5kaXNwbGF5KHNlbGYsIGFyZyk6CiAgICAgICAgICIiInVuZGlzcGxheSBbZXhwcmVzc2lvbl0KIApAQCAtMTI1OSw2ICsxMzQ3LDEwIEBACiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBzZWxmLmRpc3BsYXlpbmcucG9wKHNlbGYuY3VyZnJhbWUsIE5vbmUpCiAKKyAgICBkZWYgY29tcGxldGVfdW5kaXNwbGF5KHNlbGYsIHRleHQsIGxpbmUsIGJlZ2lkeCwgZW5kaWR4KToKKyAgICAgICAgcmV0dXJuIFtlIGZvciBlIGluIHNlbGYuZGlzcGxheWluZy5nZXQoc2VsZi5jdXJmcmFtZSwge30pCisgICAgICAgICAgICAgICAgaWYgZS5zdGFydHN3aXRoKHRleHQpXQorCiAgICAgZGVmIGRvX2ludGVyYWN0KHNlbGYsIGFyZyk6CiAgICAgICAgICIiImludGVyYWN0CiAKQEAgLTEzMTMsNiArMTQwNSw5IEBACiAgICAgICAgIGlmIGFyZ3NbMF0gaW4gc2VsZi5hbGlhc2VzOgogICAgICAgICAgICAgZGVsIHNlbGYuYWxpYXNlc1thcmdzWzBdXQogCisgICAgZGVmIGNvbXBsZXRlX3VuYWxpYXMoc2VsZiwgdGV4dCwgbGluZSwgYmVnaWR4LCBlbmRpZHgpOgorICAgICAgICByZXR1cm4gW2EgZm9yIGEgaW4gc2VsZi5hbGlhc2VzIGlmIGEuc3RhcnRzd2l0aCh0ZXh0KV0KKwogICAgICMgTGlzdCBvZiBhbGwgdGhlIGNvbW1hbmRzIG1ha2luZyB0aGUgcHJvZ3JhbSByZXN1bWUgZXhlY3V0aW9uLgogICAgIGNvbW1hbmRzX3Jlc3VtaW5nID0gWydkb19jb250aW51ZScsICdkb19zdGVwJywgJ2RvX25leHQnLCAnZG9fcmV0dXJuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAnZG9fcXVpdCcsICdkb19qdW1wJ10KZGlmZiAtLWdpdCBhL0xpYi9waWNrbGUucHkgYi9MaWIvcGlja2xlLnB5CmluZGV4IGQxMGFjNzc2Li45ZTY1MzY4IDEwMDY0NAotLS0gYS9MaWIvcGlja2xlLnB5CisrKyBiL0xpYi9waWNrbGUucHkKQEAgLTIzLDggKzIzLDYgQEAKIAogIiIiCiAKLV9fdmVyc2lvbl9fID0gIiRSZXZpc2lvbiQiICAgICAgICMgQ29kZSB2ZXJzaW9uCi0KIGZyb20gdHlwZXMgaW1wb3J0IEZ1bmN0aW9uVHlwZSwgQnVpbHRpbkZ1bmN0aW9uVHlwZQogZnJvbSBjb3B5cmVnIGltcG9ydCBkaXNwYXRjaF90YWJsZQogZnJvbSBjb3B5cmVnIGltcG9ydCBfZXh0ZW5zaW9uX3JlZ2lzdHJ5LCBfaW52ZXJ0ZWRfcmVnaXN0cnksIF9leHRlbnNpb25fY2FjaGUKQEAgLTI5OSw4ICsyOTcsOCBAQAogICAgICAgICAgICAgZihzZWxmLCBvYmopICMgQ2FsbCB1bmJvdW5kIG1ldGhvZCB3aXRoIGV4cGxpY2l0IHNlbGYKICAgICAgICAgICAgIHJldHVybgogCi0gICAgICAgICMgQ2hlY2sgY29weXJlZy5kaXNwYXRjaF90YWJsZQotICAgICAgICByZWR1Y2UgPSBkaXNwYXRjaF90YWJsZS5nZXQodCkKKyAgICAgICAgIyBDaGVjayBwcml2YXRlIGRpc3BhdGNoIHRhYmxlIGlmIGFueSwgb3IgZWxzZSBjb3B5cmVnLmRpc3BhdGNoX3RhYmxlCisgICAgICAgIHJlZHVjZSA9IGdldGF0dHIoc2VsZiwgJ2Rpc3BhdGNoX3RhYmxlJywgZGlzcGF0Y2hfdGFibGUpLmdldCh0KQogICAgICAgICBpZiByZWR1Y2U6CiAgICAgICAgICAgICBydiA9IHJlZHVjZShvYmopCiAgICAgICAgIGVsc2U6CkBAIC0zNzcsNyArMzc1LDcgQEAKICAgICAgICAgICAgICMgYWxsb3dpbmcgcHJvdG9jb2wgMCBhbmQgMSB0byB3b3JrIG5vcm1hbGx5LiAgRm9yIHRoaXMgdG8KICAgICAgICAgICAgICMgd29yaywgdGhlIGZ1bmN0aW9uIHJldHVybmVkIGJ5IF9fcmVkdWNlX18gc2hvdWxkIGJlCiAgICAgICAgICAgICAjIGNhbGxlZCBfX25ld29ial9fLCBhbmQgaXRzIGZpcnN0IGFyZ3VtZW50IHNob3VsZCBiZSBhCi0gICAgICAgICAgICAjIG5ldy1zdHlsZSBjbGFzcy4gIFRoZSBpbXBsZW1lbnRhdGlvbiBmb3IgX19uZXdvYmpfXworICAgICAgICAgICAgIyBjbGFzcy4gIFRoZSBpbXBsZW1lbnRhdGlvbiBmb3IgX19uZXdvYmpfXwogICAgICAgICAgICAgIyBzaG91bGQgYmUgYXMgZm9sbG93cywgYWx0aG91Z2ggcGlja2xlIGhhcyBubyB3YXkgdG8KICAgICAgICAgICAgICMgdmVyaWZ5IHRoaXM6CiAgICAgICAgICAgICAjCkBAIC00NDAsNiArNDM4LDE0IEBACiAgICAgICAgIHNlbGYud3JpdGUoTk9ORSkKICAgICBkaXNwYXRjaFt0eXBlKE5vbmUpXSA9IHNhdmVfbm9uZQogCisgICAgZGVmIHNhdmVfZWxsaXBzaXMoc2VsZiwgb2JqKToKKyAgICAgICAgc2VsZi5zYXZlX2dsb2JhbChFbGxpcHNpcywgJ0VsbGlwc2lzJykKKyAgICBkaXNwYXRjaFt0eXBlKEVsbGlwc2lzKV0gPSBzYXZlX2VsbGlwc2lzCisKKyAgICBkZWYgc2F2ZV9ub3RpbXBsZW1lbnRlZChzZWxmLCBvYmopOgorICAgICAgICBzZWxmLnNhdmVfZ2xvYmFsKE5vdEltcGxlbWVudGVkLCAnTm90SW1wbGVtZW50ZWQnKQorICAgIGRpc3BhdGNoW3R5cGUoTm90SW1wbGVtZW50ZWQpXSA9IHNhdmVfbm90aW1wbGVtZW50ZWQKKwogICAgIGRlZiBzYXZlX2Jvb2woc2VsZiwgb2JqKToKICAgICAgICAgaWYgc2VsZi5wcm90byA+PSAyOgogICAgICAgICAgICAgc2VsZi53cml0ZShvYmogYW5kIE5FV1RSVUUgb3IgTkVXRkFMU0UpCkBAIC0xMzMyLDcgKzEzMzgsNyBAQAogICAgIHJldHVybiBkb2N0ZXN0LnRlc3Rtb2QoKQogCiBpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgotICAgIGltcG9ydCBzeXMsIGFyZ3BhcnNlCisgICAgaW1wb3J0IGFyZ3BhcnNlCiAgICAgcGFyc2VyID0gYXJncGFyc2UuQXJndW1lbnRQYXJzZXIoCiAgICAgICAgIGRlc2NyaXB0aW9uPSdkaXNwbGF5IGNvbnRlbnRzIG9mIHRoZSBwaWNrbGUgZmlsZXMnKQogICAgIHBhcnNlci5hZGRfYXJndW1lbnQoCmRpZmYgLS1naXQgYS9MaWIvcGlja2xldG9vbHMucHkgYi9MaWIvcGlja2xldG9vbHMucHkKaW5kZXggZWM2Y2M1My4uNjZmNGVkZCAxMDA2NDQKLS0tIGEvTGliL3BpY2tsZXRvb2xzLnB5CisrKyBiL0xpYi9waWNrbGV0b29scy5weQpAQCAtNTEwLDEwICs1MTAsNyBAQAogICAgIGVsaWYgcyA9PSBiIjAxIjoKICAgICAgICAgcmV0dXJuIFRydWUKIAotICAgIHRyeToKLSAgICAgICAgcmV0dXJuIGludChzKQotICAgIGV4Y2VwdCBPdmVyZmxvd0Vycm9yOgotICAgICAgICByZXR1cm4gaW50KHMpCisgICAgcmV0dXJuIGludChzKQogCiBkZWYgcmVhZF9kZWNpbWFsbmxfbG9uZyhmKToKICAgICByIiIiCkBAIC0xNjQyLDYgKzE2MzksOCBAQAogICAgICAgaXMgcHVzaGVkIG9uIHRoZSBzdGFjay4KIAogICAgICAgTk9URTogIGNoZWNrcyBmb3IgX19zYWZlX2Zvcl91bnBpY2tsaW5nX18gd2VudCBhd2F5IGluIFB5dGhvbiAyLjMuCisgICAgICBOT1RFOiAgdGhlIGRpc3RpbmN0aW9uIGJldHdlZW4gb2xkLXN0eWxlIGFuZCBuZXctc3R5bGUgY2xhc3NlcyBkb2VzCisgICAgICAgICAgICAgbm90IG1ha2Ugc2Vuc2UgaW4gUHl0aG9uIDMuCiAgICAgICAiIiIpLAogCiAgICAgSShuYW1lPSdPQkonLApkaWZmIC0tZ2l0IGEvTGliL3BpcGVzLnB5IGIvTGliL3BpcGVzLnB5CmluZGV4IDQyOTcwNTMuLmYxYTE2ZjYgMTAwNjQ0Ci0tLSBhL0xpYi9waXBlcy5weQorKysgYi9MaWIvcGlwZXMucHkKQEAgLTYwLDcgKzYwLDkgQEAKIGltcG9ydCByZQogaW1wb3J0IG9zCiBpbXBvcnQgdGVtcGZpbGUKLWltcG9ydCBzdHJpbmcKKyMgd2UgaW1wb3J0IHRoZSBxdW90ZSBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUgbW9kdWxlIGZvciBiYWNrd2FyZCBjb21wYXQKKyMgKHF1b3RlIHVzZWQgdG8gYmUgYW4gdW5kb2N1bWVudGVkIGJ1dCB1c2VkIGZ1bmN0aW9uIGluIHBpcGVzKQorZnJvbSBzaGxleCBpbXBvcnQgcXVvdGUKIAogX19hbGxfXyA9IFsiVGVtcGxhdGUiXQogCkBAIC0yNDMsMjIgKzI0NSwzIEBACiAgICAgICAgIGNtZGxpc3QgPSB0cmFwY21kICsgJ1xuJyArIGNtZGxpc3QgKyAnXG4nICsgcm1jbWQKICAgICAjCiAgICAgcmV0dXJuIGNtZGxpc3QKLQotCi0jIFJlbGlhYmx5IHF1b3RlIGEgc3RyaW5nIGFzIGEgc2luZ2xlIGFyZ3VtZW50IGZvciAvYmluL3NoCi0KLSMgU2FmZSB1bnF1b3RlZAotX3NhZmVjaGFycyA9IGZyb3plbnNldChzdHJpbmcuYXNjaWlfbGV0dGVycyArIHN0cmluZy5kaWdpdHMgKyAnQCVfLSs9OiwuLycpCi0KLWRlZiBxdW90ZShmaWxlKToKLSAgICAiIiJSZXR1cm4gYSBzaGVsbC1lc2NhcGVkIHZlcnNpb24gb2YgdGhlIGZpbGUgc3RyaW5nLiIiIgotICAgIGZvciBjIGluIGZpbGU6Ci0gICAgICAgIGlmIGMgbm90IGluIF9zYWZlY2hhcnM6Ci0gICAgICAgICAgICBicmVhawotICAgIGVsc2U6Ci0gICAgICAgIGlmIG5vdCBmaWxlOgotICAgICAgICAgICAgcmV0dXJuICInJyIKLSAgICAgICAgcmV0dXJuIGZpbGUKLSAgICAjIHVzZSBzaW5nbGUgcXVvdGVzLCBhbmQgcHV0IHNpbmdsZSBxdW90ZXMgaW50byBkb3VibGUgcXVvdGVzCi0gICAgIyB0aGUgc3RyaW5nICQnYiBpcyB0aGVuIHF1b3RlZCBhcyAnJCciJyInYicKLSAgICByZXR1cm4gIiciICsgZmlsZS5yZXBsYWNlKCInIiwgIidcIidcIiciKSArICInIgpkaWZmIC0tZ2l0IGEvTGliL3BrZ3V0aWwucHkgYi9MaWIvcGtndXRpbC5weQppbmRleCA1MWRhMGIxLi5lZjAyN2JlIDEwMDY0NAotLS0gYS9MaWIvcGtndXRpbC5weQorKysgYi9MaWIvcGtndXRpbC5weQpAQCAtMjEsNyArMjEsNyBAQAogICAgIGlmIG1hZ2ljICE9IGltcC5nZXRfbWFnaWMoKToKICAgICAgICAgcmV0dXJuIE5vbmUKIAotICAgIHN0cmVhbS5yZWFkKDQpICMgU2tpcCB0aW1lc3RhbXAKKyAgICBzdHJlYW0ucmVhZCg4KSAjIFNraXAgdGltZXN0YW1wIGFuZCBzaXplCiAgICAgcmV0dXJuIG1hcnNoYWwubG9hZChzdHJlYW0pCiAKIApAQCAtMjU2LDcgKzI1Niw3IEBACiAgICAgICAgIGlmIHNlbGYuZmlsZSBhbmQgc2VsZi5maWxlLmNsb3NlZDoKICAgICAgICAgICAgIG1vZF90eXBlID0gc2VsZi5ldGNbMl0KICAgICAgICAgICAgIGlmIG1vZF90eXBlPT1pbXAuUFlfU09VUkNFOgotICAgICAgICAgICAgICAgIHNlbGYuZmlsZSA9IG9wZW4oc2VsZi5maWxlbmFtZSwgJ3JVJykKKyAgICAgICAgICAgICAgICBzZWxmLmZpbGUgPSBvcGVuKHNlbGYuZmlsZW5hbWUsICdyJykKICAgICAgICAgICAgIGVsaWYgbW9kX3R5cGUgaW4gKGltcC5QWV9DT01QSUxFRCwgaW1wLkNfRVhURU5TSU9OKToKICAgICAgICAgICAgICAgICBzZWxmLmZpbGUgPSBvcGVuKHNlbGYuZmlsZW5hbWUsICdyYicpCiAKQEAgLTMwMSw3ICszMDEsNyBAQAogICAgICAgICAgICAgICAgICAgICBzZWxmLmZpbGUuY2xvc2UoKQogICAgICAgICAgICAgZWxpZiBtb2RfdHlwZT09aW1wLlBZX0NPTVBJTEVEOgogICAgICAgICAgICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKHNlbGYuZmlsZW5hbWVbOi0xXSk6Ci0gICAgICAgICAgICAgICAgICAgIGYgPSBvcGVuKHNlbGYuZmlsZW5hbWVbOi0xXSwgJ3JVJykKKyAgICAgICAgICAgICAgICAgICAgZiA9IG9wZW4oc2VsZi5maWxlbmFtZVs6LTFdLCAncicpCiAgICAgICAgICAgICAgICAgICAgIHNlbGYuc291cmNlID0gZi5yZWFkKCkKICAgICAgICAgICAgICAgICAgICAgZi5jbG9zZSgpCiAgICAgICAgICAgICBlbGlmIG1vZF90eXBlPT1pbXAuUEtHX0RJUkVDVE9SWToKQEAgLTMxNSw5ICszMTUsOSBAQAogICAgIGRlZiBnZXRfZmlsZW5hbWUoc2VsZiwgZnVsbG5hbWU9Tm9uZSk6CiAgICAgICAgIGZ1bGxuYW1lID0gc2VsZi5fZml4X25hbWUoZnVsbG5hbWUpCiAgICAgICAgIG1vZF90eXBlID0gc2VsZi5ldGNbMl0KLSAgICAgICAgaWYgc2VsZi5ldGNbMl09PWltcC5QS0dfRElSRUNUT1JZOgorICAgICAgICBpZiBtb2RfdHlwZT09aW1wLlBLR19ESVJFQ1RPUlk6CiAgICAgICAgICAgICByZXR1cm4gc2VsZi5fZ2V0X2RlbGVnYXRlKCkuZ2V0X2ZpbGVuYW1lKCkKLSAgICAgICAgZWxpZiBzZWxmLmV0Y1syXSBpbiAoaW1wLlBZX1NPVVJDRSwgaW1wLlBZX0NPTVBJTEVELCBpbXAuQ19FWFRFTlNJT04pOgorICAgICAgICBlbGlmIG1vZF90eXBlIGluIChpbXAuUFlfU09VUkNFLCBpbXAuUFlfQ09NUElMRUQsIGltcC5DX0VYVEVOU0lPTik6CiAgICAgICAgICAgICByZXR1cm4gc2VsZi5maWxlbmFtZQogICAgICAgICByZXR1cm4gTm9uZQogCmRpZmYgLS1naXQgYS9MaWIvcGxhdC1saW51eDIvQ0RST00ucHkgYi9MaWIvcGxhdC1saW51eC9DRFJPTS5weQpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gTGliL3BsYXQtbGludXgyL0NEUk9NLnB5CnJlbmFtZSB0byBMaWIvcGxhdC1saW51eC9DRFJPTS5weQpkaWZmIC0tZ2l0IGEvTGliL3BsYXQtbGludXgyL0RMRkNOLnB5IGIvTGliL3BsYXQtbGludXgvRExGQ04ucHkKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIExpYi9wbGF0LWxpbnV4Mi9ETEZDTi5weQpyZW5hbWUgdG8gTGliL3BsYXQtbGludXgvRExGQ04ucHkKZGlmZiAtLWdpdCBhL0xpYi9wbGF0LWxpbnV4Mi9JTi5weSBiL0xpYi9wbGF0LWxpbnV4L0lOLnB5CnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBMaWIvcGxhdC1saW51eDIvSU4ucHkKcmVuYW1lIHRvIExpYi9wbGF0LWxpbnV4L0lOLnB5CmRpZmYgLS1naXQgYS9MaWIvcGxhdC1saW51eDIvVFlQRVMucHkgYi9MaWIvcGxhdC1saW51eC9UWVBFUy5weQpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gTGliL3BsYXQtbGludXgyL1RZUEVTLnB5CnJlbmFtZSB0byBMaWIvcGxhdC1saW51eC9UWVBFUy5weQpkaWZmIC0tZ2l0IGEvTGliL3BsYXQtbGludXgyL3JlZ2VuIGIvTGliL3BsYXQtbGludXgvcmVnZW4Kc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIExpYi9wbGF0LWxpbnV4Mi9yZWdlbgpyZW5hbWUgdG8gTGliL3BsYXQtbGludXgvcmVnZW4KZGlmZiAtLWdpdCBhL0xpYi9wbGF0Zm9ybS5weSBiL0xpYi9wbGF0Zm9ybS5weQppbmRleCA5ODVhOWY4Li40NTU0NjU5IDEwMDc1NQotLS0gYS9MaWIvcGxhdGZvcm0ucHkKKysrIGIvTGliL3BsYXRmb3JtLnB5CkBAIC0xMzAsMTUgKzEzMCwxNSBAQAogCiAjIyMgUGxhdGZvcm0gc3BlY2lmaWMgQVBJcwogCi1fbGliY19zZWFyY2ggPSByZS5jb21waWxlKHInKF9fbGliY19pbml0KScKLSAgICAgICAgICAgICAgICAgICAgICAgICAgJ3wnCi0gICAgICAgICAgICAgICAgICAgICAgICAgICcoR0xJQkNfKFswLTkuXSspKScKLSAgICAgICAgICAgICAgICAgICAgICAgICAgJ3wnCi0gICAgICAgICAgICAgICAgICAgICAgICAgICcobGliYyhfXHcrKT9cLnNvKD86XC4oXGRbMC05Ll0qKSk/KScsIHJlLkFTQ0lJKQorX2xpYmNfc2VhcmNoID0gcmUuY29tcGlsZShiJyhfX2xpYmNfaW5pdCknCisgICAgICAgICAgICAgICAgICAgICAgICAgIGInfCcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgYicoR0xJQkNfKFswLTkuXSspKScKKyAgICAgICAgICAgICAgICAgICAgICAgICAgYid8JworICAgICAgICAgICAgICAgICAgICAgICAgICBicicobGliYyhfXHcrKT9cLnNvKD86XC4oXGRbMC05Ll0qKSk/KScsIHJlLkFTQ0lJKQogCiBkZWYgbGliY192ZXIoZXhlY3V0YWJsZT1zeXMuZXhlY3V0YWJsZSxsaWI9JycsdmVyc2lvbj0nJywKIAotICAgICAgICAgICAgIGNodW5rc2l6ZT0yMDQ4KToKKyAgICAgICAgICAgICBjaHVua3NpemU9MTYzODQpOgogCiAgICAgIiIiIFRyaWVzIHRvIGRldGVybWluZSB0aGUgbGliYyB2ZXJzaW9uIHRoYXQgdGhlIGZpbGUgZXhlY3V0YWJsZQogICAgICAgICAod2hpY2ggZGVmYXVsdHMgdG8gdGhlIFB5dGhvbiBpbnRlcnByZXRlcikgaXMgbGlua2VkIGFnYWluc3QuCkBAIC0xNTksMTcgKzE1OSwyMiBAQAogICAgICAgICAjIGFibGUgdG8gb3BlbiBzeW1saW5rcyBmb3IgcmVhZGluZwogICAgICAgICBleGVjdXRhYmxlID0gb3MucGF0aC5yZWFscGF0aChleGVjdXRhYmxlKQogICAgIGYgPSBvcGVuKGV4ZWN1dGFibGUsJ3JiJykKLSAgICBiaW5hcnkgPSBmLnJlYWQoY2h1bmtzaXplKS5kZWNvZGUoJ2xhdGluLTEnKQorICAgIGJpbmFyeSA9IGYucmVhZChjaHVua3NpemUpCiAgICAgcG9zID0gMAogICAgIHdoaWxlIDE6Ci0gICAgICAgIG0gPSBfbGliY19zZWFyY2guc2VhcmNoKGJpbmFyeSxwb3MpCisgICAgICAgIGlmIGInbGliYycgaW4gYmluYXJ5IG9yIGInR0xJQkMnIGluIGJpbmFyeToKKyAgICAgICAgICAgIG0gPSBfbGliY19zZWFyY2guc2VhcmNoKGJpbmFyeSxwb3MpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBtID0gTm9uZQogICAgICAgICBpZiBub3QgbToKLSAgICAgICAgICAgIGJpbmFyeSA9IGYucmVhZChjaHVua3NpemUpLmRlY29kZSgnbGF0aW4tMScpCisgICAgICAgICAgICBiaW5hcnkgPSBmLnJlYWQoY2h1bmtzaXplKQogICAgICAgICAgICAgaWYgbm90IGJpbmFyeToKICAgICAgICAgICAgICAgICBicmVhawogICAgICAgICAgICAgcG9zID0gMAogICAgICAgICAgICAgY29udGludWUKLSAgICAgICAgbGliY2luaXQsZ2xpYmMsZ2xpYmN2ZXJzaW9uLHNvLHRocmVhZHMsc292ZXJzaW9uID0gbS5ncm91cHMoKQorICAgICAgICBsaWJjaW5pdCxnbGliYyxnbGliY3ZlcnNpb24sc28sdGhyZWFkcyxzb3ZlcnNpb24gPSBbCisgICAgICAgICAgICBzLmRlY29kZSgnbGF0aW4xJykgaWYgcyBpcyBub3QgTm9uZSBlbHNlIHMKKyAgICAgICAgICAgIGZvciBzIGluIG0uZ3JvdXBzKCldCiAgICAgICAgIGlmIGxpYmNpbml0IGFuZCBub3QgbGliOgogICAgICAgICAgICAgbGliID0gJ2xpYmMnCiAgICAgICAgIGVsaWYgZ2xpYmM6CkBAIC0zNTcsOTIgKzM2MiwxMyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VwcG9ydGVkX2Rpc3RzPXN1cHBvcnRlZF9kaXN0cywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bGxfZGlzdHJpYnV0aW9uX25hbWU9MCkKIAotY2xhc3MgX3BvcGVuOgotCi0gICAgIiIiIEZhaXJseSBwb3J0YWJsZSAoYWx0ZXJuYXRpdmUpIHBvcGVuIGltcGxlbWVudGF0aW9uLgotCi0gICAgICAgIFRoaXMgaXMgbW9zdGx5IG5lZWRlZCBpbiBjYXNlIG9zLnBvcGVuKCkgaXMgbm90IGF2YWlsYWJsZSwgb3IKLSAgICAgICAgZG9lc24ndCB3b3JrIGFzIGFkdmVydGlzZWQsIGUuZy4gaW4gV2luOVggR1VJIHByb2dyYW1zIGxpa2UKLSAgICAgICAgUHl0aG9uV2luIG9yIElETEUuCi0KLSAgICAgICAgV3JpdGluZyB0byB0aGUgcGlwZSBpcyBjdXJyZW50bHkgbm90IHN1cHBvcnRlZC4KLQotICAgICIiIgotICAgIHRtcGZpbGUgPSAnJwotICAgIHBpcGUgPSBOb25lCi0gICAgYnVmc2l6ZSA9IE5vbmUKLSAgICBtb2RlID0gJ3InCi0KLSAgICBkZWYgX19pbml0X18oc2VsZixjbWQsbW9kZT0ncicsYnVmc2l6ZT1Ob25lKToKLQotICAgICAgICBpZiBtb2RlICE9ICdyJzoKLSAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoJ3BvcGVuKCktZW11bGF0aW9uIG9ubHkgc3VwcG9ydHMgcmVhZCBtb2RlJykKLSAgICAgICAgaW1wb3J0IHRlbXBmaWxlCi0gICAgICAgIHNlbGYudG1wZmlsZSA9IHRtcGZpbGUgPSB0ZW1wZmlsZS5ta3RlbXAoKQotICAgICAgICBvcy5zeXN0ZW0oY21kICsgJyA+ICVzJyAlIHRtcGZpbGUpCi0gICAgICAgIHNlbGYucGlwZSA9IG9wZW4odG1wZmlsZSwncmInKQotICAgICAgICBzZWxmLmJ1ZnNpemUgPSBidWZzaXplCi0gICAgICAgIHNlbGYubW9kZSA9IG1vZGUKLQotICAgIGRlZiByZWFkKHNlbGYpOgotCi0gICAgICAgIHJldHVybiBzZWxmLnBpcGUucmVhZCgpCi0KLSAgICBkZWYgcmVhZGxpbmVzKHNlbGYpOgotCi0gICAgICAgIGlmIHNlbGYuYnVmc2l6ZSBpcyBub3QgTm9uZToKLSAgICAgICAgICAgIHJldHVybiBzZWxmLnBpcGUucmVhZGxpbmVzKCkKLQotICAgIGRlZiBjbG9zZShzZWxmLAotCi0gICAgICAgICAgICAgIHJlbW92ZT1vcy51bmxpbmssZXJyb3I9b3MuZXJyb3IpOgotCi0gICAgICAgIGlmIHNlbGYucGlwZToKLSAgICAgICAgICAgIHJjID0gc2VsZi5waXBlLmNsb3NlKCkKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHJjID0gMjU1Ci0gICAgICAgIGlmIHNlbGYudG1wZmlsZToKLSAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICByZW1vdmUoc2VsZi50bXBmaWxlKQotICAgICAgICAgICAgZXhjZXB0IGVycm9yOgotICAgICAgICAgICAgICAgIHBhc3MKLSAgICAgICAgcmV0dXJuIHJjCi0KLSAgICAjIEFsaWFzCi0gICAgX19kZWxfXyA9IGNsb3NlCi0KIGRlZiBwb3BlbihjbWQsIG1vZGU9J3InLCBidWZzaXplPS0xKToKIAogICAgICIiIiBQb3J0YWJsZSBwb3BlbigpIGludGVyZmFjZS4KICAgICAiIiIKLSAgICAjIEZpbmQgYSB3b3JraW5nIHBvcGVuIGltcGxlbWVudGF0aW9uIHByZWZlcnJpbmcgd2luMzJwaXBlLnBvcGVuCi0gICAgIyBvdmVyIG9zLnBvcGVuIG92ZXIgX3BvcGVuCi0gICAgcG9wZW4gPSBOb25lCi0gICAgaWYgb3MuZW52aXJvbi5nZXQoJ09TJywnJykgPT0gJ1dpbmRvd3NfTlQnOgotICAgICAgICAjIE9uIE5UIHdpbjMycGlwZSBzaG91bGQgd29yazsgb24gV2luOXggaXQgaGFuZ3MgZHVlIHRvIGJ1Z3MKLSAgICAgICAgIyBpbiB0aGUgTVMgQyBsaWIgKHNlZSBNUyBLbm93bGVkZ2VCYXNlIGFydGljbGUgUTE1MDk1NikKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgaW1wb3J0IHdpbjMycGlwZQotICAgICAgICBleGNlcHQgSW1wb3J0RXJyb3I6Ci0gICAgICAgICAgICBwYXNzCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBwb3BlbiA9IHdpbjMycGlwZS5wb3BlbgotICAgIGlmIHBvcGVuIGlzIE5vbmU6Ci0gICAgICAgIGlmIGhhc2F0dHIob3MsJ3BvcGVuJyk6Ci0gICAgICAgICAgICBwb3BlbiA9IG9zLnBvcGVuCi0gICAgICAgICAgICAjIENoZWNrIHdoZXRoZXIgaXQgd29ya3MuLi4gaXQgZG9lc24ndCBpbiBHVUkgcHJvZ3JhbXMKLSAgICAgICAgICAgICMgb24gV2luZG93cyBwbGF0Zm9ybXMKLSAgICAgICAgICAgIGlmIHN5cy5wbGF0Zm9ybSA9PSAnd2luMzInOiAjIFhYWCBPdGhlcnMgdG9vID8KLSAgICAgICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgICAgIHBvcGVuKCcnKQotICAgICAgICAgICAgICAgIGV4Y2VwdCBvcy5lcnJvcjoKLSAgICAgICAgICAgICAgICAgICAgcG9wZW4gPSBfcG9wZW4KLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHBvcGVuID0gX3BvcGVuCi0gICAgaWYgYnVmc2l6ZSBpcyBOb25lOgotICAgICAgICByZXR1cm4gcG9wZW4oY21kLG1vZGUpCi0gICAgZWxzZToKLSAgICAgICAgcmV0dXJuIHBvcGVuKGNtZCxtb2RlLGJ1ZnNpemUpCisgICAgaW1wb3J0IHdhcm5pbmdzCisgICAgd2FybmluZ3Mud2FybigndXNlIG9zLnBvcGVuIGluc3RlYWQnLCBEZXByZWNhdGlvbldhcm5pbmcsIHN0YWNrbGV2ZWw9MikKKyAgICByZXR1cm4gb3MucG9wZW4oY21kLCBtb2RlLCBidWZzaXplKQogCiBkZWYgX25vcm1fdmVyc2lvbih2ZXJzaW9uLCBidWlsZD0nJyk6CiAKZGlmZiAtLWdpdCBhL0xpYi9wbGlzdGxpYi5weSBiL0xpYi9wbGlzdGxpYi5weQppbmRleCAyZTdlNTEyLi4yMTA3NmRiIDEwMDY0NAotLS0gYS9MaWIvcGxpc3RsaWIucHkKKysrIGIvTGliL3BsaXN0bGliLnB5CkBAIC0yNjYsMTMgKzI2NiwxMyBAQAogICAgICAgICAgICAgcmFpc2UgQXR0cmlidXRlRXJyb3IoYXR0cikKICAgICAgICAgZnJvbSB3YXJuaW5ncyBpbXBvcnQgd2FybgogICAgICAgICB3YXJuKCJBdHRyaWJ1dGUgYWNjZXNzIGZyb20gcGxpc3QgZGljdHMgaXMgZGVwcmVjYXRlZCwgdXNlIGRba2V5XSAiCi0gICAgICAgICAgICAgIm5vdGF0aW9uIGluc3RlYWQiLCBQZW5kaW5nRGVwcmVjYXRpb25XYXJuaW5nLCAyKQorICAgICAgICAgICAgICJub3RhdGlvbiBpbnN0ZWFkIiwgRGVwcmVjYXRpb25XYXJuaW5nLCAyKQogICAgICAgICByZXR1cm4gdmFsdWUKIAogICAgIGRlZiBfX3NldGF0dHJfXyhzZWxmLCBhdHRyLCB2YWx1ZSk6CiAgICAgICAgIGZyb20gd2FybmluZ3MgaW1wb3J0IHdhcm4KICAgICAgICAgd2FybigiQXR0cmlidXRlIGFjY2VzcyBmcm9tIHBsaXN0IGRpY3RzIGlzIGRlcHJlY2F0ZWQsIHVzZSBkW2tleV0gIgotICAgICAgICAgICAgICJub3RhdGlvbiBpbnN0ZWFkIiwgUGVuZGluZ0RlcHJlY2F0aW9uV2FybmluZywgMikKKyAgICAgICAgICAgICAibm90YXRpb24gaW5zdGVhZCIsIERlcHJlY2F0aW9uV2FybmluZywgMikKICAgICAgICAgc2VsZlthdHRyXSA9IHZhbHVlCiAKICAgICBkZWYgX19kZWxhdHRyX18oc2VsZiwgYXR0cik6CkBAIC0yODIsMTQgKzI4MiwxNCBAQAogICAgICAgICAgICAgcmFpc2UgQXR0cmlidXRlRXJyb3IoYXR0cikKICAgICAgICAgZnJvbSB3YXJuaW5ncyBpbXBvcnQgd2FybgogICAgICAgICB3YXJuKCJBdHRyaWJ1dGUgYWNjZXNzIGZyb20gcGxpc3QgZGljdHMgaXMgZGVwcmVjYXRlZCwgdXNlIGRba2V5XSAiCi0gICAgICAgICAgICAgIm5vdGF0aW9uIGluc3RlYWQiLCBQZW5kaW5nRGVwcmVjYXRpb25XYXJuaW5nLCAyKQorICAgICAgICAgICAgICJub3RhdGlvbiBpbnN0ZWFkIiwgRGVwcmVjYXRpb25XYXJuaW5nLCAyKQogCiBjbGFzcyBEaWN0KF9JbnRlcm5hbERpY3QpOgogCiAgICAgZGVmIF9faW5pdF9fKHNlbGYsICoqa3dhcmdzKToKICAgICAgICAgZnJvbSB3YXJuaW5ncyBpbXBvcnQgd2FybgogICAgICAgICB3YXJuKCJUaGUgcGxpc3RsaWIuRGljdCBjbGFzcyBpcyBkZXByZWNhdGVkLCB1c2UgYnVpbHRpbiBkaWN0IGluc3RlYWQiLAotICAgICAgICAgICAgIFBlbmRpbmdEZXByZWNhdGlvbldhcm5pbmcsIDIpCisgICAgICAgICAgICAgRGVwcmVjYXRpb25XYXJuaW5nLCAyKQogICAgICAgICBzdXBlcigpLl9faW5pdF9fKCoqa3dhcmdzKQogCiAKQEAgLTMwMiw3ICszMDIsNyBAQAogICAgIGRlZiBfX2luaXRfXyhzZWxmLCAqKmt3YXJncyk6CiAgICAgICAgIGZyb20gd2FybmluZ3MgaW1wb3J0IHdhcm4KICAgICAgICAgd2FybigiVGhlIFBsaXN0IGNsYXNzIGlzIGRlcHJlY2F0ZWQsIHVzZSB0aGUgcmVhZFBsaXN0KCkgYW5kICIKLSAgICAgICAgICAgICAid3JpdGVQbGlzdCgpIGZ1bmN0aW9ucyBpbnN0ZWFkIiwgUGVuZGluZ0RlcHJlY2F0aW9uV2FybmluZywgMikKKyAgICAgICAgICAgICAid3JpdGVQbGlzdCgpIGZ1bmN0aW9ucyBpbnN0ZWFkIiwgRGVwcmVjYXRpb25XYXJuaW5nLCAyKQogICAgICAgICBzdXBlcigpLl9faW5pdF9fKCoqa3dhcmdzKQogCiAgICAgZGVmIGZyb21GaWxlKGNscywgcGF0aE9yRmlsZSk6CmRpZmYgLS1naXQgYS9MaWIvcG9wbGliLnB5IGIvTGliL3BvcGxpYi5weQppbmRleCA4NGVhODhkLi5kNDJkOWRkIDEwMDY0NAotLS0gYS9MaWIvcG9wbGliLnB5CisrKyBiL0xpYi9wb3BsaWIucHkKQEAgLTI1MCwxNSArMjUwLDE4IEBACiAKICAgICBkZWYgcXVpdChzZWxmKToKICAgICAgICAgIiIiU2lnbm9mZjogY29tbWl0IGNoYW5nZXMgb24gc2VydmVyLCB1bmxvY2sgbWFpbGJveCwgY2xvc2UgY29ubmVjdGlvbi4iIiIKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgcmVzcCA9IHNlbGYuX3Nob3J0Y21kKCdRVUlUJykKLSAgICAgICAgZXhjZXB0IGVycm9yX3Byb3RvIGFzIHZhbDoKLSAgICAgICAgICAgIHJlc3AgPSB2YWwKLSAgICAgICAgc2VsZi5maWxlLmNsb3NlKCkKLSAgICAgICAgc2VsZi5zb2NrLmNsb3NlKCkKLSAgICAgICAgZGVsIHNlbGYuZmlsZSwgc2VsZi5zb2NrCisgICAgICAgIHJlc3AgPSBzZWxmLl9zaG9ydGNtZCgnUVVJVCcpCisgICAgICAgIHNlbGYuY2xvc2UoKQogICAgICAgICByZXR1cm4gcmVzcAogCisgICAgZGVmIGNsb3NlKHNlbGYpOgorICAgICAgICAiIiJDbG9zZSB0aGUgY29ubmVjdGlvbiB3aXRob3V0IGFzc3VtaW5nIGFueXRoaW5nIGFib3V0IGl0LiIiIgorICAgICAgICBpZiBzZWxmLmZpbGUgaXMgbm90IE5vbmU6CisgICAgICAgICAgICBzZWxmLmZpbGUuY2xvc2UoKQorICAgICAgICBpZiBzZWxmLnNvY2sgaXMgbm90IE5vbmU6CisgICAgICAgICAgICBzZWxmLnNvY2suY2xvc2UoKQorICAgICAgICBzZWxmLmZpbGUgPSBzZWxmLnNvY2sgPSBOb25lCisKICAgICAjX19kZWxfXyA9IHF1aXQKIAogCmRpZmYgLS1naXQgYS9MaWIvcHN0YXRzLnB5IGIvTGliL3BzdGF0cy5weQppbmRleCAzZjBhZGQyLi4xM2Q5NDRjIDEwMDY0NAotLS0gYS9MaWIvcHN0YXRzLnB5CisrKyBiL0xpYi9wc3RhdHMucHkKQEAgLTY3NCwxMyArNjc0LDE0IEBACiAgICAgICAgICAgICAgICAgcmV0dXJuIHN0b3AKICAgICAgICAgICAgIHJldHVybiBOb25lCiAKLSAgICBpbXBvcnQgc3lzCiAgICAgaWYgbGVuKHN5cy5hcmd2KSA+IDE6CiAgICAgICAgIGluaXRwcm9maWxlID0gc3lzLmFyZ3ZbMV0KICAgICBlbHNlOgogICAgICAgICBpbml0cHJvZmlsZSA9IE5vbmUKICAgICB0cnk6CiAgICAgICAgIGJyb3dzZXIgPSBQcm9maWxlQnJvd3Nlcihpbml0cHJvZmlsZSkKKyAgICAgICAgZm9yIHByb2ZpbGUgaW4gc3lzLmFyZ3ZbMjpdOgorICAgICAgICAgICAgYnJvd3Nlci5kb19hZGQocHJvZmlsZSkKICAgICAgICAgcHJpbnQoIldlbGNvbWUgdG8gdGhlIHByb2ZpbGUgc3RhdGlzdGljcyBicm93c2VyLiIsIGZpbGU9YnJvd3Nlci5zdHJlYW0pCiAgICAgICAgIGJyb3dzZXIuY21kbG9vcCgpCiAgICAgICAgIHByaW50KCJHb29kYnllLiIsIGZpbGU9YnJvd3Nlci5zdHJlYW0pCmRpZmYgLS1naXQgYS9MaWIvcHlfY29tcGlsZS5weSBiL0xpYi9weV9jb21waWxlLnB5CmluZGV4IDVhZGI3MGEuLjYyZDY5YWQgMTAwNjQ0Ci0tLSBhL0xpYi9weV9jb21waWxlLnB5CisrKyBiL0xpYi9weV9jb21waWxlLnB5CkBAIC0xMTAsOSArMTEwLDExIEBACiAgICAgIiIiCiAgICAgd2l0aCB0b2tlbml6ZS5vcGVuKGZpbGUpIGFzIGY6CiAgICAgICAgIHRyeToKLSAgICAgICAgICAgIHRpbWVzdGFtcCA9IGludChvcy5mc3RhdChmLmZpbGVubygpKS5zdF9tdGltZSkKKyAgICAgICAgICAgIHN0ID0gb3MuZnN0YXQoZi5maWxlbm8oKSkKICAgICAgICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yOgotICAgICAgICAgICAgdGltZXN0YW1wID0gaW50KG9zLnN0YXQoZmlsZSkuc3RfbXRpbWUpCisgICAgICAgICAgICBzdCA9IG9zLnN0YXQoZmlsZSkKKyAgICAgICAgdGltZXN0YW1wID0gaW50KHN0LnN0X210aW1lKQorICAgICAgICBzaXplID0gc3Quc3Rfc2l6ZSAmIDB4RkZGRkZGRkYKICAgICAgICAgY29kZXN0cmluZyA9IGYucmVhZCgpCiAgICAgdHJ5OgogICAgICAgICBjb2Rlb2JqZWN0ID0gYnVpbHRpbnMuY29tcGlsZShjb2Rlc3RyaW5nLCBkZmlsZSBvciBmaWxlLCAnZXhlYycsCkBAIC0xMzksNiArMTQxLDcgQEAKICAgICB3aXRoIG9wZW4oY2ZpbGUsICd3YicpIGFzIGZjOgogICAgICAgICBmYy53cml0ZShiJ1wwXDBcMFwwJykKICAgICAgICAgd3JfbG9uZyhmYywgdGltZXN0YW1wKQorICAgICAgICB3cl9sb25nKGZjLCBzaXplKQogICAgICAgICBtYXJzaGFsLmR1bXAoY29kZW9iamVjdCwgZmMpCiAgICAgICAgIGZjLmZsdXNoKCkKICAgICAgICAgZmMuc2VlaygwLCAwKQpkaWZmIC0tZ2l0IGEvTGliL3B5ZG9jLnB5IGIvTGliL3B5ZG9jLnB5CmluZGV4IGY0NWQ0NjEuLjU5MTcxN2IgMTAwNzU1Ci0tLSBhL0xpYi9weWRvYy5weQorKysgYi9MaWIvcHlkb2MucHkKQEAgLTIyLDExICsyMiw2IEBACiBvcGVuIGEgV2ViIGJyb3dzZXIgdG8gaW50ZXJhY3RpdmVseSBicm93c2UgZG9jdW1lbnRhdGlvbi4gIFRoZSAtcCBvcHRpb24KIGNhbiBiZSB1c2VkIHdpdGggdGhlIC1iIG9wdGlvbiB0byBleHBsaWNpdGx5IHNwZWNpZnkgdGhlIHNlcnZlciBwb3J0LgogCi1Gb3IgcGxhdGZvcm1zIHdpdGhvdXQgYSBjb21tYW5kIGxpbmUsICJweWRvYyAtZyIgc3RhcnRzIHRoZSBIVFRQIHNlcnZlcgotYW5kIGFsc28gcG9wcyB1cCBhIGxpdHRsZSB3aW5kb3cgZm9yIGNvbnRyb2xsaW5nIGl0LiAgVGhpcyBvcHRpb24gaXMKLWRlcHJlY2F0ZWQsIHNpbmNlIHRoZSBzZXJ2ZXIgY2FuIG5vdyBiZSBjb250cm9sbGVkIGRpcmVjdGx5IGZyb20gSFRUUAotY2xpZW50cy4KLQogUnVuICJweWRvYyAtdyA8bmFtZT4iIHRvIHdyaXRlIG91dCB0aGUgSFRNTCBkb2N1bWVudGF0aW9uIGZvciBhIG1vZHVsZQogdG8gYSBmaWxlIG5hbWVkICI8bmFtZT4uaHRtbCIuCiAKQEAgLTQyLDcgKzM3LDYgQEAKIF9fYXV0aG9yX18gPSAiS2EtUGluZyBZZWUgPHBpbmdAbGZ3Lm9yZz4iCiBfX2RhdGVfXyA9ICIyNiBGZWJydWFyeSAyMDAxIgogCi1fX3ZlcnNpb25fXyA9ICIkUmV2aXNpb24kIgogX19jcmVkaXRzX18gPSAiIiJHdWlkbyB2YW4gUm9zc3VtLCBmb3IgYW4gZXhjZWxsZW50IHByb2dyYW1taW5nIGxhbmd1YWdlLgogVG9tbXkgQnVybmV0dGUsIHRoZSBvcmlnaW5hbCBjcmVhdG9yIG9mIG1hbnB5LgogUGF1bCBQcmVzY29kLCBmb3IgYWxsIGhpcyB3b3JrIG9uIG9ubGluZWhlbHAuCkBAIC0xNjksMTEgKzE2MywxMSBAQAogZGVmIHZpc2libGVuYW1lKG5hbWUsIGFsbD1Ob25lLCBvYmo9Tm9uZSk6CiAgICAgIiIiRGVjaWRlIHdoZXRoZXIgdG8gc2hvdyBkb2N1bWVudGF0aW9uIG9uIGEgdmFyaWFibGUuIiIiCiAgICAgIyBDZXJ0YWluIHNwZWNpYWwgbmFtZXMgYXJlIHJlZHVuZGFudC4KLSAgICBfaGlkZGVuX25hbWVzID0gKCdfX2J1aWx0aW5zX18nLCAnX19kb2NfXycsICdfX2ZpbGVfXycsICdfX3BhdGhfXycsCisgICAgaWYgbmFtZSBpbiB7J19fYnVpbHRpbnNfXycsICdfX2RvY19fJywgJ19fZmlsZV9fJywgJ19fcGF0aF9fJywKICAgICAgICAgICAgICAgICAgICAgICdfX21vZHVsZV9fJywgJ19fbmFtZV9fJywgJ19fc2xvdHNfXycsICdfX3BhY2thZ2VfXycsCiAgICAgICAgICAgICAgICAgICAgICAnX19jYWNoZWRfXycsICdfX2F1dGhvcl9fJywgJ19fY3JlZGl0c19fJywgJ19fZGF0ZV9fJywKLSAgICAgICAgICAgICAgICAgICAgICdfX3ZlcnNpb25fXycpCi0gICAgaWYgbmFtZSBpbiBfaGlkZGVuX25hbWVzOiByZXR1cm4gMAorICAgICAgICAgICAgICAgICAgICAgJ19fdmVyc2lvbl9fJywgJ19fcXVhbG5hbWVfXyd9OgorICAgICAgICByZXR1cm4gMAogICAgICMgUHJpdmF0ZSBuYW1lcyBhcmUgaGlkZGVuLCBidXQgc3BlY2lhbCBuYW1lcyBhcmUgZGlzcGxheWVkLgogICAgIGlmIG5hbWUuc3RhcnRzd2l0aCgnX18nKSBhbmQgbmFtZS5lbmRzd2l0aCgnX18nKTogcmV0dXJuIDEKICAgICAjIE5hbWVkdHVwbGVzIGhhdmUgcHVibGljIGZpZWxkcyBhbmQgbWV0aG9kcyB3aXRoIGEgc2luZ2xlIGxlYWRpbmcgdW5kZXJzY29yZQpAQCAtOTYzLDYgKzk1Nyw5IEBACiAgICAgICAgIG1vZHBrZ3MgPSBbXQogICAgICAgICBpZiBzaGFkb3dlZCBpcyBOb25lOiBzaGFkb3dlZCA9IHt9CiAgICAgICAgIGZvciBpbXBvcnRlciwgbmFtZSwgaXNwa2cgaW4gcGtndXRpbC5pdGVyX21vZHVsZXMoW2Rpcl0pOgorICAgICAgICAgICAgaWYgYW55KCgweEQ4MDAgPD0gb3JkKGNoKSA8PSAweERGRkYpIGZvciBjaCBpbiBuYW1lKToKKyAgICAgICAgICAgICAgICAjIGlnbm9yZSBhIG1vZHVsZSBpZiBpdHMgbmFtZSBjb250YWlucyBhIHN1cnJvZ2F0ZSBjaGFyYWN0ZXIKKyAgICAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICAgICAgbW9kcGtncy5hcHBlbmQoKG5hbWUsICcnLCBpc3BrZywgbmFtZSBpbiBzaGFkb3dlZCkpCiAgICAgICAgICAgICBzaGFkb3dlZFtuYW1lXSA9IDEKIApAQCAtMjA3MywyNzIgKzIwNzAsNiBAQAogICAgICAgICB3YXJuaW5ncy5maWx0ZXJ3YXJuaW5ncygnaWdub3JlJykgIyBpZ25vcmUgcHJvYmxlbXMgZHVyaW5nIGltcG9ydAogICAgICAgICBNb2R1bGVTY2FubmVyKCkucnVuKGNhbGxiYWNrLCBrZXksIG9uZXJyb3I9b25lcnJvcikKIAotIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gV2ViIGJyb3dzZXIgaW50ZXJmYWNlCi0KLWRlZiBzZXJ2ZShwb3J0LCBjYWxsYmFjaz1Ob25lLCBjb21wbGV0ZXI9Tm9uZSk6Ci0gICAgaW1wb3J0IGh0dHAuc2VydmVyLCBlbWFpbC5tZXNzYWdlLCBzZWxlY3QKLQotICAgIG1zZyA9ICd0aGUgcHlkb2Muc2VydmUoKSBmdW5jdGlvbiBpcyBkZXByZWNhdGVkJwotICAgIHdhcm5pbmdzLndhcm4obXNnLCBEZXByZWNhdGlvbldhcm5pbmcsIHN0YWNrbGV2ZWw9MikKLQotICAgIGNsYXNzIERvY0hhbmRsZXIoaHR0cC5zZXJ2ZXIuQmFzZUhUVFBSZXF1ZXN0SGFuZGxlcik6Ci0gICAgICAgIGRlZiBzZW5kX2RvY3VtZW50KHNlbGYsIHRpdGxlLCBjb250ZW50cyk6Ci0gICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgc2VsZi5zZW5kX3Jlc3BvbnNlKDIwMCkKLSAgICAgICAgICAgICAgICBzZWxmLnNlbmRfaGVhZGVyKCdDb250ZW50LVR5cGUnLCAndGV4dC9odG1sOyBjaGFyc2V0PVVURi04JykKLSAgICAgICAgICAgICAgICBzZWxmLmVuZF9oZWFkZXJzKCkKLSAgICAgICAgICAgICAgICBzZWxmLndmaWxlLndyaXRlKGh0bWwucGFnZSh0aXRsZSwgY29udGVudHMpLmVuY29kZSgndXRmLTgnKSkKLSAgICAgICAgICAgIGV4Y2VwdCBJT0Vycm9yOiBwYXNzCi0KLSAgICAgICAgZGVmIGRvX0dFVChzZWxmKToKLSAgICAgICAgICAgIHBhdGggPSBzZWxmLnBhdGgKLSAgICAgICAgICAgIGlmIHBhdGhbLTU6XSA9PSAnLmh0bWwnOiBwYXRoID0gcGF0aFs6LTVdCi0gICAgICAgICAgICBpZiBwYXRoWzoxXSA9PSAnLyc6IHBhdGggPSBwYXRoWzE6XQotICAgICAgICAgICAgaWYgcGF0aCBhbmQgcGF0aCAhPSAnLic6Ci0gICAgICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgICAgICBvYmogPSBsb2NhdGUocGF0aCwgZm9yY2Vsb2FkPTEpCi0gICAgICAgICAgICAgICAgZXhjZXB0IEVycm9yRHVyaW5nSW1wb3J0IGFzIHZhbHVlOgotICAgICAgICAgICAgICAgICAgICBzZWxmLnNlbmRfZG9jdW1lbnQocGF0aCwgaHRtbC5lc2NhcGUoc3RyKHZhbHVlKSkpCi0gICAgICAgICAgICAgICAgICAgIHJldHVybgotICAgICAgICAgICAgICAgIGlmIG9iajoKLSAgICAgICAgICAgICAgICAgICAgc2VsZi5zZW5kX2RvY3VtZW50KGRlc2NyaWJlKG9iaiksIGh0bWwuZG9jdW1lbnQob2JqLCBwYXRoKSkKLSAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICBzZWxmLnNlbmRfZG9jdW1lbnQocGF0aCwKLSdubyBQeXRob24gZG9jdW1lbnRhdGlvbiBmb3VuZCBmb3IgJXMnICUgcmVwcihwYXRoKSkKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgaGVhZGluZyA9IGh0bWwuaGVhZGluZygKLSc8YmlnPjxiaWc+PHN0cm9uZz5QeXRob246IEluZGV4IG9mIE1vZHVsZXM8L3N0cm9uZz48L2JpZz48L2JpZz4nLAotJyNmZmZmZmYnLCAnIzc3OTllZScpCi0gICAgICAgICAgICAgICAgZGVmIGJsdGlubGluayhuYW1lKToKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuICc8YSBocmVmPSIlcy5odG1sIj4lczwvYT4nICUgKG5hbWUsIG5hbWUpCi0gICAgICAgICAgICAgICAgbmFtZXMgPSBbeCBmb3IgeCBpbiBzeXMuYnVpbHRpbl9tb2R1bGVfbmFtZXMgaWYgeCAhPSAnX19tYWluX18nXQotICAgICAgICAgICAgICAgIGNvbnRlbnRzID0gaHRtbC5tdWx0aWNvbHVtbihuYW1lcywgYmx0aW5saW5rKQotICAgICAgICAgICAgICAgIGluZGljZXMgPSBbJzxwPicgKyBodG1sLmJpZ3NlY3Rpb24oCi0gICAgICAgICAgICAgICAgICAgICdCdWlsdC1pbiBNb2R1bGVzJywgJyNmZmZmZmYnLCAnI2VlNzdhYScsIGNvbnRlbnRzKV0KLQotICAgICAgICAgICAgICAgIHNlZW4gPSB7fQotICAgICAgICAgICAgICAgIGZvciBkaXIgaW4gc3lzLnBhdGg6Ci0gICAgICAgICAgICAgICAgICAgIGluZGljZXMuYXBwZW5kKGh0bWwuaW5kZXgoZGlyLCBzZWVuKSkKLSAgICAgICAgICAgICAgICBjb250ZW50cyA9IGhlYWRpbmcgKyAnICcuam9pbihpbmRpY2VzKSArICcnJzxwIGFsaWduPXJpZ2h0PgotPGZvbnQgY29sb3I9IiM5MDkwOTAiIGZhY2U9ImhlbHZldGljYSwgYXJpYWwiPjxzdHJvbmc+Ci1weWRvYzwvc3Ryb25nPiBieSBLYS1QaW5nIFllZSAmbHQ7cGluZ0BsZncub3JnJmd0OzwvZm9udD4nJycKLSAgICAgICAgICAgICAgICBzZWxmLnNlbmRfZG9jdW1lbnQoJ0luZGV4IG9mIE1vZHVsZXMnLCBjb250ZW50cykKLQotICAgICAgICBkZWYgbG9nX21lc3NhZ2Uoc2VsZiwgKmFyZ3MpOiBwYXNzCi0KLSAgICBjbGFzcyBEb2NTZXJ2ZXIoaHR0cC5zZXJ2ZXIuSFRUUFNlcnZlcik6Ci0gICAgICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwb3J0LCBjYWxsYmFjayk6Ci0gICAgICAgICAgICBob3N0ID0gJ2xvY2FsaG9zdCcKLSAgICAgICAgICAgIHNlbGYuYWRkcmVzcyA9IChob3N0LCBwb3J0KQotICAgICAgICAgICAgc2VsZi51cmwgPSAnaHR0cDovLyVzOiVkLycgJSAoaG9zdCwgcG9ydCkKLSAgICAgICAgICAgIHNlbGYuY2FsbGJhY2sgPSBjYWxsYmFjawotICAgICAgICAgICAgc2VsZi5iYXNlLl9faW5pdF9fKHNlbGYsIHNlbGYuYWRkcmVzcywgc2VsZi5oYW5kbGVyKQotCi0gICAgICAgIGRlZiBzZXJ2ZV91bnRpbF9xdWl0KHNlbGYpOgotICAgICAgICAgICAgaW1wb3J0IHNlbGVjdAotICAgICAgICAgICAgc2VsZi5xdWl0ID0gRmFsc2UKLSAgICAgICAgICAgIHdoaWxlIG5vdCBzZWxmLnF1aXQ6Ci0gICAgICAgICAgICAgICAgcmQsIHdyLCBleCA9IHNlbGVjdC5zZWxlY3QoW3NlbGYuc29ja2V0LmZpbGVubygpXSwgW10sIFtdLCAxKQotICAgICAgICAgICAgICAgIGlmIHJkOiBzZWxmLmhhbmRsZV9yZXF1ZXN0KCkKLSAgICAgICAgICAgIHNlbGYuc2VydmVyX2Nsb3NlKCkKLQotICAgICAgICBkZWYgc2VydmVyX2FjdGl2YXRlKHNlbGYpOgotICAgICAgICAgICAgc2VsZi5iYXNlLnNlcnZlcl9hY3RpdmF0ZShzZWxmKQotICAgICAgICAgICAgaWYgc2VsZi5jYWxsYmFjazogc2VsZi5jYWxsYmFjayhzZWxmKQotCi0gICAgRG9jU2VydmVyLmJhc2UgPSBodHRwLnNlcnZlci5IVFRQU2VydmVyCi0gICAgRG9jU2VydmVyLmhhbmRsZXIgPSBEb2NIYW5kbGVyCi0gICAgRG9jSGFuZGxlci5NZXNzYWdlQ2xhc3MgPSBlbWFpbC5tZXNzYWdlLk1lc3NhZ2UKLSAgICB0cnk6Ci0gICAgICAgIHRyeToKLSAgICAgICAgICAgIERvY1NlcnZlcihwb3J0LCBjYWxsYmFjaykuc2VydmVfdW50aWxfcXVpdCgpCi0gICAgICAgIGV4Y2VwdCAoS2V5Ym9hcmRJbnRlcnJ1cHQsIHNlbGVjdC5lcnJvcik6Ci0gICAgICAgICAgICBwYXNzCi0gICAgZmluYWxseToKLSAgICAgICAgaWYgY29tcGxldGVyOiBjb21wbGV0ZXIoKQotCi0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIGdyYXBoaWNhbCBpbnRlcmZhY2UKLQotZGVmIGd1aSgpOgotICAgICIiIkdyYXBoaWNhbCBpbnRlcmZhY2UgKHN0YXJ0cyBXZWIgc2VydmVyIGFuZCBwb3BzIHVwIGEgY29udHJvbCB3aW5kb3cpLiIiIgotCi0gICAgbXNnID0gKCd0aGUgcHlkb2MuZ3VpKCkgZnVuY3Rpb24gYW5kICJweWRvYyAtZyIgb3B0aW9uIGFyZSBkZXByZWNhdGVkXG4nLAotICAgICAgICAgICAndXNlICJweWRvYy5icm93c2UoKSBmdW5jdGlvbiBhbmQgInB5ZG9jIC1iIiBvcHRpb24gaW5zdGVhZC4nKQotICAgIHdhcm5pbmdzLndhcm4obXNnLCBEZXByZWNhdGlvbldhcm5pbmcsIHN0YWNrbGV2ZWw9MikKLQotICAgIGNsYXNzIEdVSToKLSAgICAgICAgZGVmIF9faW5pdF9fKHNlbGYsIHdpbmRvdywgcG9ydD03NDY0KToKLSAgICAgICAgICAgIHNlbGYud2luZG93ID0gd2luZG93Ci0gICAgICAgICAgICBzZWxmLnNlcnZlciA9IE5vbmUKLSAgICAgICAgICAgIHNlbGYuc2Nhbm5lciA9IE5vbmUKLQotICAgICAgICAgICAgaW1wb3J0IHRraW50ZXIKLSAgICAgICAgICAgIHNlbGYuc2VydmVyX2ZybSA9IHRraW50ZXIuRnJhbWUod2luZG93KQotICAgICAgICAgICAgc2VsZi50aXRsZV9sYmwgPSB0a2ludGVyLkxhYmVsKHNlbGYuc2VydmVyX2ZybSwKLSAgICAgICAgICAgICAgICB0ZXh0PSdTdGFydGluZyBzZXJ2ZXIuLi5cbiAnKQotICAgICAgICAgICAgc2VsZi5vcGVuX2J0biA9IHRraW50ZXIuQnV0dG9uKHNlbGYuc2VydmVyX2ZybSwKLSAgICAgICAgICAgICAgICB0ZXh0PSdvcGVuIGJyb3dzZXInLCBjb21tYW5kPXNlbGYub3Blbiwgc3RhdGU9J2Rpc2FibGVkJykKLSAgICAgICAgICAgIHNlbGYucXVpdF9idG4gPSB0a2ludGVyLkJ1dHRvbihzZWxmLnNlcnZlcl9mcm0sCi0gICAgICAgICAgICAgICAgdGV4dD0ncXVpdCBzZXJ2aW5nJywgY29tbWFuZD1zZWxmLnF1aXQsIHN0YXRlPSdkaXNhYmxlZCcpCi0KLSAgICAgICAgICAgIHNlbGYuc2VhcmNoX2ZybSA9IHRraW50ZXIuRnJhbWUod2luZG93KQotICAgICAgICAgICAgc2VsZi5zZWFyY2hfbGJsID0gdGtpbnRlci5MYWJlbChzZWxmLnNlYXJjaF9mcm0sIHRleHQ9J1NlYXJjaCBmb3InKQotICAgICAgICAgICAgc2VsZi5zZWFyY2hfZW50ID0gdGtpbnRlci5FbnRyeShzZWxmLnNlYXJjaF9mcm0pCi0gICAgICAgICAgICBzZWxmLnNlYXJjaF9lbnQuYmluZCgnPFJldHVybj4nLCBzZWxmLnNlYXJjaCkKLSAgICAgICAgICAgIHNlbGYuc3RvcF9idG4gPSB0a2ludGVyLkJ1dHRvbihzZWxmLnNlYXJjaF9mcm0sCi0gICAgICAgICAgICAgICAgdGV4dD0nc3RvcCcsIHBhZHk9MCwgY29tbWFuZD1zZWxmLnN0b3AsIHN0YXRlPSdkaXNhYmxlZCcpCi0gICAgICAgICAgICBpZiBzeXMucGxhdGZvcm0gPT0gJ3dpbjMyJzoKLSAgICAgICAgICAgICAgICAjIFRyeWluZyB0byBoaWRlIGFuZCBzaG93IHRoaXMgYnV0dG9uIGNyYXNoZXMgdW5kZXIgV2luZG93cy4KLSAgICAgICAgICAgICAgICBzZWxmLnN0b3BfYnRuLnBhY2soc2lkZT0ncmlnaHQnKQotCi0gICAgICAgICAgICBzZWxmLndpbmRvdy50aXRsZSgncHlkb2MnKQotICAgICAgICAgICAgc2VsZi53aW5kb3cucHJvdG9jb2woJ1dNX0RFTEVURV9XSU5ET1cnLCBzZWxmLnF1aXQpCi0gICAgICAgICAgICBzZWxmLnRpdGxlX2xibC5wYWNrKHNpZGU9J3RvcCcsIGZpbGw9J3gnKQotICAgICAgICAgICAgc2VsZi5vcGVuX2J0bi5wYWNrKHNpZGU9J2xlZnQnLCBmaWxsPSd4JywgZXhwYW5kPTEpCi0gICAgICAgICAgICBzZWxmLnF1aXRfYnRuLnBhY2soc2lkZT0ncmlnaHQnLCBmaWxsPSd4JywgZXhwYW5kPTEpCi0gICAgICAgICAgICBzZWxmLnNlcnZlcl9mcm0ucGFjayhzaWRlPSd0b3AnLCBmaWxsPSd4JykKLQotICAgICAgICAgICAgc2VsZi5zZWFyY2hfbGJsLnBhY2soc2lkZT0nbGVmdCcpCi0gICAgICAgICAgICBzZWxmLnNlYXJjaF9lbnQucGFjayhzaWRlPSdyaWdodCcsIGZpbGw9J3gnLCBleHBhbmQ9MSkKLSAgICAgICAgICAgIHNlbGYuc2VhcmNoX2ZybS5wYWNrKHNpZGU9J3RvcCcsIGZpbGw9J3gnKQotICAgICAgICAgICAgc2VsZi5zZWFyY2hfZW50LmZvY3VzX3NldCgpCi0KLSAgICAgICAgICAgIGZvbnQgPSAoJ2hlbHZldGljYScsIHN5cy5wbGF0Zm9ybSA9PSAnd2luMzInIGFuZCA4IG9yIDEwKQotICAgICAgICAgICAgc2VsZi5yZXN1bHRfbHN0ID0gdGtpbnRlci5MaXN0Ym94KHdpbmRvdywgZm9udD1mb250LCBoZWlnaHQ9NikKLSAgICAgICAgICAgIHNlbGYucmVzdWx0X2xzdC5iaW5kKCc8QnV0dG9uLTE+Jywgc2VsZi5zZWxlY3QpCi0gICAgICAgICAgICBzZWxmLnJlc3VsdF9sc3QuYmluZCgnPERvdWJsZS1CdXR0b24tMT4nLCBzZWxmLmdvdG8pCi0gICAgICAgICAgICBzZWxmLnJlc3VsdF9zY3IgPSB0a2ludGVyLlNjcm9sbGJhcih3aW5kb3csCi0gICAgICAgICAgICAgICAgb3JpZW50PSd2ZXJ0aWNhbCcsIGNvbW1hbmQ9c2VsZi5yZXN1bHRfbHN0Lnl2aWV3KQotICAgICAgICAgICAgc2VsZi5yZXN1bHRfbHN0LmNvbmZpZyh5c2Nyb2xsY29tbWFuZD1zZWxmLnJlc3VsdF9zY3Iuc2V0KQotCi0gICAgICAgICAgICBzZWxmLnJlc3VsdF9mcm0gPSB0a2ludGVyLkZyYW1lKHdpbmRvdykKLSAgICAgICAgICAgIHNlbGYuZ290b19idG4gPSB0a2ludGVyLkJ1dHRvbihzZWxmLnJlc3VsdF9mcm0sCi0gICAgICAgICAgICAgICAgdGV4dD0nZ28gdG8gc2VsZWN0ZWQnLCBjb21tYW5kPXNlbGYuZ290bykKLSAgICAgICAgICAgIHNlbGYuaGlkZV9idG4gPSB0a2ludGVyLkJ1dHRvbihzZWxmLnJlc3VsdF9mcm0sCi0gICAgICAgICAgICAgICAgdGV4dD0naGlkZSByZXN1bHRzJywgY29tbWFuZD1zZWxmLmhpZGUpCi0gICAgICAgICAgICBzZWxmLmdvdG9fYnRuLnBhY2soc2lkZT0nbGVmdCcsIGZpbGw9J3gnLCBleHBhbmQ9MSkKLSAgICAgICAgICAgIHNlbGYuaGlkZV9idG4ucGFjayhzaWRlPSdyaWdodCcsIGZpbGw9J3gnLCBleHBhbmQ9MSkKLQotICAgICAgICAgICAgc2VsZi53aW5kb3cudXBkYXRlKCkKLSAgICAgICAgICAgIHNlbGYubWlud2lkdGggPSBzZWxmLndpbmRvdy53aW5mb193aWR0aCgpCi0gICAgICAgICAgICBzZWxmLm1pbmhlaWdodCA9IHNlbGYud2luZG93LndpbmZvX2hlaWdodCgpCi0gICAgICAgICAgICBzZWxmLmJpZ21pbmhlaWdodCA9IChzZWxmLnNlcnZlcl9mcm0ud2luZm9fcmVxaGVpZ2h0KCkgKwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zZWFyY2hfZnJtLndpbmZvX3JlcWhlaWdodCgpICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYucmVzdWx0X2xzdC53aW5mb19yZXFoZWlnaHQoKSArCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnJlc3VsdF9mcm0ud2luZm9fcmVxaGVpZ2h0KCkpCi0gICAgICAgICAgICBzZWxmLmJpZ3dpZHRoLCBzZWxmLmJpZ2hlaWdodCA9IHNlbGYubWlud2lkdGgsIHNlbGYuYmlnbWluaGVpZ2h0Ci0gICAgICAgICAgICBzZWxmLmV4cGFuZGVkID0gMAotICAgICAgICAgICAgc2VsZi53aW5kb3cud21fZ2VvbWV0cnkoJyVkeCVkJyAlIChzZWxmLm1pbndpZHRoLCBzZWxmLm1pbmhlaWdodCkpCi0gICAgICAgICAgICBzZWxmLndpbmRvdy53bV9taW5zaXplKHNlbGYubWlud2lkdGgsIHNlbGYubWluaGVpZ2h0KQotICAgICAgICAgICAgc2VsZi53aW5kb3cudGsud2lsbGRpc3BhdGNoKCkKLQotICAgICAgICAgICAgaW1wb3J0IHRocmVhZGluZwotICAgICAgICAgICAgdGhyZWFkaW5nLlRocmVhZCgKLSAgICAgICAgICAgICAgICB0YXJnZXQ9c2VydmUsIGFyZ3M9KHBvcnQsIHNlbGYucmVhZHksIHNlbGYucXVpdCkpLnN0YXJ0KCkKLQotICAgICAgICBkZWYgcmVhZHkoc2VsZiwgc2VydmVyKToKLSAgICAgICAgICAgIHNlbGYuc2VydmVyID0gc2VydmVyCi0gICAgICAgICAgICBzZWxmLnRpdGxlX2xibC5jb25maWcoCi0gICAgICAgICAgICAgICAgdGV4dD0nUHl0aG9uIGRvY3VtZW50YXRpb24gc2VydmVyIGF0XG4nICsgc2VydmVyLnVybCkKLSAgICAgICAgICAgIHNlbGYub3Blbl9idG4uY29uZmlnKHN0YXRlPSdub3JtYWwnKQotICAgICAgICAgICAgc2VsZi5xdWl0X2J0bi5jb25maWcoc3RhdGU9J25vcm1hbCcpCi0KLSAgICAgICAgZGVmIG9wZW4oc2VsZiwgZXZlbnQ9Tm9uZSwgdXJsPU5vbmUpOgotICAgICAgICAgICAgdXJsID0gdXJsIG9yIHNlbGYuc2VydmVyLnVybAotICAgICAgICAgICAgaW1wb3J0IHdlYmJyb3dzZXIKLSAgICAgICAgICAgIHdlYmJyb3dzZXIub3Blbih1cmwpCi0KLSAgICAgICAgZGVmIHF1aXQoc2VsZiwgZXZlbnQ9Tm9uZSk6Ci0gICAgICAgICAgICBpZiBzZWxmLnNlcnZlcjoKLSAgICAgICAgICAgICAgICBzZWxmLnNlcnZlci5xdWl0ID0gMQotICAgICAgICAgICAgc2VsZi53aW5kb3cucXVpdCgpCi0KLSAgICAgICAgZGVmIHNlYXJjaChzZWxmLCBldmVudD1Ob25lKToKLSAgICAgICAgICAgIGtleSA9IHNlbGYuc2VhcmNoX2VudC5nZXQoKQotICAgICAgICAgICAgc2VsZi5zdG9wX2J0bi5wYWNrKHNpZGU9J3JpZ2h0JykKLSAgICAgICAgICAgIHNlbGYuc3RvcF9idG4uY29uZmlnKHN0YXRlPSdub3JtYWwnKQotICAgICAgICAgICAgc2VsZi5zZWFyY2hfbGJsLmNvbmZpZyh0ZXh0PSdTZWFyY2hpbmcgZm9yICIlcyIuLi4nICUga2V5KQotICAgICAgICAgICAgc2VsZi5zZWFyY2hfZW50LmZvcmdldCgpCi0gICAgICAgICAgICBzZWxmLnNlYXJjaF9sYmwucGFjayhzaWRlPSdsZWZ0JykKLSAgICAgICAgICAgIHNlbGYucmVzdWx0X2xzdC5kZWxldGUoMCwgJ2VuZCcpCi0gICAgICAgICAgICBzZWxmLmdvdG9fYnRuLmNvbmZpZyhzdGF0ZT0nZGlzYWJsZWQnKQotICAgICAgICAgICAgc2VsZi5leHBhbmQoKQotCi0gICAgICAgICAgICBpbXBvcnQgdGhyZWFkaW5nCi0gICAgICAgICAgICBpZiBzZWxmLnNjYW5uZXI6Ci0gICAgICAgICAgICAgICAgc2VsZi5zY2FubmVyLnF1aXQgPSAxCi0gICAgICAgICAgICBzZWxmLnNjYW5uZXIgPSBNb2R1bGVTY2FubmVyKCkKLSAgICAgICAgICAgIHRocmVhZGluZy5UaHJlYWQodGFyZ2V0PXNlbGYuc2Nhbm5lci5ydW4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyZ3M9KHNlbGYudXBkYXRlLCBrZXksIHNlbGYuZG9uZSkpLnN0YXJ0KCkKLQotICAgICAgICBkZWYgdXBkYXRlKHNlbGYsIHBhdGgsIG1vZG5hbWUsIGRlc2MpOgotICAgICAgICAgICAgaWYgbW9kbmFtZVstOTpdID09ICcuX19pbml0X18nOgotICAgICAgICAgICAgICAgIG1vZG5hbWUgPSBtb2RuYW1lWzotOV0gKyAnIChwYWNrYWdlKScKLSAgICAgICAgICAgIHNlbGYucmVzdWx0X2xzdC5pbnNlcnQoJ2VuZCcsCi0gICAgICAgICAgICAgICAgbW9kbmFtZSArICcgLSAnICsgKGRlc2Mgb3IgJyhubyBkZXNjcmlwdGlvbiknKSkKLQotICAgICAgICBkZWYgc3RvcChzZWxmLCBldmVudD1Ob25lKToKLSAgICAgICAgICAgIGlmIHNlbGYuc2Nhbm5lcjoKLSAgICAgICAgICAgICAgICBzZWxmLnNjYW5uZXIucXVpdCA9IDEKLSAgICAgICAgICAgICAgICBzZWxmLnNjYW5uZXIgPSBOb25lCi0KLSAgICAgICAgZGVmIGRvbmUoc2VsZik6Ci0gICAgICAgICAgICBzZWxmLnNjYW5uZXIgPSBOb25lCi0gICAgICAgICAgICBzZWxmLnNlYXJjaF9sYmwuY29uZmlnKHRleHQ9J1NlYXJjaCBmb3InKQotICAgICAgICAgICAgc2VsZi5zZWFyY2hfbGJsLnBhY2soc2lkZT0nbGVmdCcpCi0gICAgICAgICAgICBzZWxmLnNlYXJjaF9lbnQucGFjayhzaWRlPSdyaWdodCcsIGZpbGw9J3gnLCBleHBhbmQ9MSkKLSAgICAgICAgICAgIGlmIHN5cy5wbGF0Zm9ybSAhPSAnd2luMzInOiBzZWxmLnN0b3BfYnRuLmZvcmdldCgpCi0gICAgICAgICAgICBzZWxmLnN0b3BfYnRuLmNvbmZpZyhzdGF0ZT0nZGlzYWJsZWQnKQotCi0gICAgICAgIGRlZiBzZWxlY3Qoc2VsZiwgZXZlbnQ9Tm9uZSk6Ci0gICAgICAgICAgICBzZWxmLmdvdG9fYnRuLmNvbmZpZyhzdGF0ZT0nbm9ybWFsJykKLQotICAgICAgICBkZWYgZ290byhzZWxmLCBldmVudD1Ob25lKToKLSAgICAgICAgICAgIHNlbGVjdGlvbiA9IHNlbGYucmVzdWx0X2xzdC5jdXJzZWxlY3Rpb24oKQotICAgICAgICAgICAgaWYgc2VsZWN0aW9uOgotICAgICAgICAgICAgICAgIG1vZG5hbWUgPSBzZWxmLnJlc3VsdF9sc3QuZ2V0KHNlbGVjdGlvblswXSkuc3BsaXQoKVswXQotICAgICAgICAgICAgICAgIHNlbGYub3Blbih1cmw9c2VsZi5zZXJ2ZXIudXJsICsgbW9kbmFtZSArICcuaHRtbCcpCi0KLSAgICAgICAgZGVmIGNvbGxhcHNlKHNlbGYpOgotICAgICAgICAgICAgaWYgbm90IHNlbGYuZXhwYW5kZWQ6IHJldHVybgotICAgICAgICAgICAgc2VsZi5yZXN1bHRfZnJtLmZvcmdldCgpCi0gICAgICAgICAgICBzZWxmLnJlc3VsdF9zY3IuZm9yZ2V0KCkKLSAgICAgICAgICAgIHNlbGYucmVzdWx0X2xzdC5mb3JnZXQoKQotICAgICAgICAgICAgc2VsZi5iaWd3aWR0aCA9IHNlbGYud2luZG93LndpbmZvX3dpZHRoKCkKLSAgICAgICAgICAgIHNlbGYuYmlnaGVpZ2h0ID0gc2VsZi53aW5kb3cud2luZm9faGVpZ2h0KCkKLSAgICAgICAgICAgIHNlbGYud2luZG93LndtX2dlb21ldHJ5KCclZHglZCcgJSAoc2VsZi5taW53aWR0aCwgc2VsZi5taW5oZWlnaHQpKQotICAgICAgICAgICAgc2VsZi53aW5kb3cud21fbWluc2l6ZShzZWxmLm1pbndpZHRoLCBzZWxmLm1pbmhlaWdodCkKLSAgICAgICAgICAgIHNlbGYuZXhwYW5kZWQgPSAwCi0KLSAgICAgICAgZGVmIGV4cGFuZChzZWxmKToKLSAgICAgICAgICAgIGlmIHNlbGYuZXhwYW5kZWQ6IHJldHVybgotICAgICAgICAgICAgc2VsZi5yZXN1bHRfZnJtLnBhY2soc2lkZT0nYm90dG9tJywgZmlsbD0neCcpCi0gICAgICAgICAgICBzZWxmLnJlc3VsdF9zY3IucGFjayhzaWRlPSdyaWdodCcsIGZpbGw9J3knKQotICAgICAgICAgICAgc2VsZi5yZXN1bHRfbHN0LnBhY2soc2lkZT0ndG9wJywgZmlsbD0nYm90aCcsIGV4cGFuZD0xKQotICAgICAgICAgICAgc2VsZi53aW5kb3cud21fZ2VvbWV0cnkoJyVkeCVkJyAlIChzZWxmLmJpZ3dpZHRoLCBzZWxmLmJpZ2hlaWdodCkpCi0gICAgICAgICAgICBzZWxmLndpbmRvdy53bV9taW5zaXplKHNlbGYubWlud2lkdGgsIHNlbGYuYmlnbWluaGVpZ2h0KQotICAgICAgICAgICAgc2VsZi5leHBhbmRlZCA9IDEKLQotICAgICAgICBkZWYgaGlkZShzZWxmLCBldmVudD1Ob25lKToKLSAgICAgICAgICAgIHNlbGYuc3RvcCgpCi0gICAgICAgICAgICBzZWxmLmNvbGxhcHNlKCkKLQotICAgIGltcG9ydCB0a2ludGVyCi0gICAgdHJ5OgotICAgICAgICByb290ID0gdGtpbnRlci5UaygpCi0gICAgICAgICMgVGsgd2lsbCBjcmFzaCBpZiBweXRob253LmV4ZSBoYXMgYW4gWFAgLm1hbmlmZXN0Ci0gICAgICAgICMgZmlsZSBhbmQgdGhlIHJvb3QgaGFzIGlzIG5vdCBkZXN0cm95ZWQgZXhwbGljaXRseS4KLSAgICAgICAgIyBJZiB0aGUgcHJvYmxlbSBpcyBldmVyIGZpeGVkIGluIFRrLCB0aGUgZXhwbGljaXQKLSAgICAgICAgIyBkZXN0cm95IGNhbiBnby4KLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgZ3VpID0gR1VJKHJvb3QpCi0gICAgICAgICAgICByb290Lm1haW5sb29wKCkKLSAgICAgICAgZmluYWxseToKLSAgICAgICAgICAgIHJvb3QuZGVzdHJveSgpCi0gICAgZXhjZXB0IEtleWJvYXJkSW50ZXJydXB0OgotICAgICAgICBwYXNzCi0KLQogIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gZW5oYW5jZWQgV2ViIGJyb3dzZXIgaW50ZXJmYWNlCiAKIGRlZiBfc3RhcnRfc2VydmVyKHVybGhhbmRsZXIsIHBvcnQpOgpAQCAtMjc5NSwxNSArMjUyNiwxMiBAQAogICAgICAgICBzeXMucGF0aC5pbnNlcnQoMCwgJy4nKQogCiAgICAgdHJ5OgotICAgICAgICBvcHRzLCBhcmdzID0gZ2V0b3B0LmdldG9wdChzeXMuYXJndlsxOl0sICdiZ2s6cDp3JykKKyAgICAgICAgb3B0cywgYXJncyA9IGdldG9wdC5nZXRvcHQoc3lzLmFyZ3ZbMTpdLCAnYms6cDp3JykKICAgICAgICAgd3JpdGluZyA9IEZhbHNlCiAgICAgICAgIHN0YXJ0X3NlcnZlciA9IEZhbHNlCiAgICAgICAgIG9wZW5fYnJvd3NlciA9IEZhbHNlCiAgICAgICAgIHBvcnQgPSBOb25lCiAgICAgICAgIGZvciBvcHQsIHZhbCBpbiBvcHRzOgotICAgICAgICAgICAgaWYgb3B0ID09ICctZyc6Ci0gICAgICAgICAgICAgICAgZ3VpKCkKLSAgICAgICAgICAgICAgICByZXR1cm4KICAgICAgICAgICAgIGlmIG9wdCA9PSAnLWInOgogICAgICAgICAgICAgICAgIHN0YXJ0X3NlcnZlciA9IFRydWUKICAgICAgICAgICAgICAgICBvcGVuX2Jyb3dzZXIgPSBUcnVlCkBAIC0yODY0LDkgKzI1OTIsNiBAQAogICAgIHRvIGludGVyYWN0aXZlbHkgYnJvd3NlIGRvY3VtZW50YXRpb24uICBUaGUgLXAgb3B0aW9uIGNhbiBiZSB1c2VkIHdpdGgKICAgICB0aGUgLWIgb3B0aW9uIHRvIGV4cGxpY2l0bHkgc3BlY2lmeSB0aGUgc2VydmVyIHBvcnQuCiAKLXtjbWR9IC1nCi0gICAgRGVwcmVjYXRlZC4KLQoge2NtZH0gLXcgPG5hbWU+IC4uLgogICAgIFdyaXRlIG91dCB0aGUgSFRNTCBkb2N1bWVudGF0aW9uIGZvciBhIG1vZHVsZSB0byBhIGZpbGUgaW4gdGhlIGN1cnJlbnQKICAgICBkaXJlY3RvcnkuICBJZiA8bmFtZT4gY29udGFpbnMgYSAne3NlcH0nLCBpdCBpcyB0cmVhdGVkIGFzIGEgZmlsZW5hbWU7IGlmCmRpZmYgLS1naXQgYS9MaWIvcHlkb2NfZGF0YS90b3BpY3MucHkgYi9MaWIvcHlkb2NfZGF0YS90b3BpY3MucHkKaW5kZXggMDhhOWU3Yy4uOTJlMDQ1ZSAxMDA2NDQKLS0tIGEvTGliL3B5ZG9jX2RhdGEvdG9waWNzLnB5CisrKyBiL0xpYi9weWRvY19kYXRhL3RvcGljcy5weQpAQCAtMSwxNiArMSwxNyBAQAotIyBBdXRvZ2VuZXJhdGVkIGJ5IFNwaGlueCBvbiBUaHUgRmViIDIzIDE4OjM3OjU0IDIwMTIKKyMgLSotIGNvZGluZzogdXRmLTggLSotCisjIEF1dG9nZW5lcmF0ZWQgYnkgU3BoaW54IG9uIFN1biBNYXIgIDQgMTY6MTE6MjcgMjAxMgogdG9waWNzID0geydhc3NlcnQnOiAnXG5UaGUgYGBhc3NlcnRgYCBzdGF0ZW1lbnRcbioqKioqKioqKioqKioqKioqKioqKioqKlxuXG5Bc3NlcnQgc3RhdGVtZW50cyBhcmUgYSBjb252ZW5pZW50IHdheSB0byBpbnNlcnQgZGVidWdnaW5nIGFzc2VydGlvbnNcbmludG8gYSBwcm9ncmFtOlxuXG4gICBhc3NlcnRfc3RtdCA6Oj0gImFzc2VydCIgZXhwcmVzc2lvbiBbIiwiIGV4cHJlc3Npb25dXG5cblRoZSBzaW1wbGUgZm9ybSwgYGBhc3NlcnQgZXhwcmVzc2lvbmBgLCBpcyBlcXVpdmFsZW50IHRvXG5cbiAgIGlmIF9fZGVidWdfXzpcbiAgICAgIGlmIG5vdCBleHByZXNzaW9uOiByYWlzZSBBc3NlcnRpb25FcnJvclxuXG5UaGUgZXh0ZW5kZWQgZm9ybSwgYGBhc3NlcnQgZXhwcmVzc2lvbjEsIGV4cHJlc3Npb24yYGAsIGlzIGVxdWl2YWxlbnRcbnRvXG5cbiAgIGlmIF9fZGVidWdfXzpcbiAgICAgIGlmIG5vdCBleHByZXNzaW9uMTogcmFpc2UgQXNzZXJ0aW9uRXJyb3IoZXhwcmVzc2lvbjIpXG5cblRoZXNlIGVxdWl2YWxlbmNlcyBhc3N1bWUgdGhhdCBgYF9fZGVidWdfX2BgIGFuZCBgYEFzc2VydGlvbkVycm9yYGBcbnJlZmVyIHRvIHRoZSBidWlsdC1pbiB2YXJpYWJsZXMgd2l0aCB0aG9zZSBuYW1lcy4gIEluIHRoZSBjdXJyZW50XG5pbXBsZW1lbnRhdGlvbiwgdGhlIGJ1aWx0LWluIHZhcmlhYmxlIGBgX19kZWJ1Z19fYGAgaXMgYGBUcnVlYGAgdW5kZXJcbm5vcm1hbCBjaXJjdW1zdGFuY2VzLCBgYEZhbHNlYGAgd2hlbiBvcHRpbWl6YXRpb24gaXMgcmVxdWVzdGVkXG4oY29tbWFuZCBsaW5lIG9wdGlvbiAtTykuICBUaGUgY3VycmVudCBjb2RlIGdlbmVyYXRvciBlbWl0cyBubyBjb2RlXG5mb3IgYW4gYXNzZXJ0IHN0YXRlbWVudCB3aGVuIG9wdGltaXphdGlvbiBpcyByZXF1ZXN0ZWQgYXQgY29tcGlsZVxudGltZS4gIE5vdGUgdGhhdCBpdCBpcyB1bm5lY2Vzc2FyeSB0byBpbmNsdWRlIHRoZSBzb3VyY2UgY29kZSBmb3IgdGhlXG5leHByZXNzaW9uIHRoYXQgZmFpbGVkIGluIHRoZSBlcnJvciBtZXNzYWdlOyBpdCB3aWxsIGJlIGRpc3BsYXllZCBhc1xucGFydCBvZiB0aGUgc3RhY2sgdHJhY2UuXG5cbkFzc2lnbm1lbnRzIHRvIGBgX19kZWJ1Z19fYGAgYXJlIGlsbGVnYWwuICBUaGUgdmFsdWUgZm9yIHRoZSBidWlsdC1pblxudmFyaWFibGUgaXMgZGV0ZXJtaW5lZCB3aGVuIHRoZSBpbnRlcnByZXRlciBzdGFydHMuXG4nLAogICdhc3NpZ25tZW50JzogJ1xuQXNzaWdubWVudCBzdGF0ZW1lbnRzXG4qKioqKioqKioqKioqKioqKioqKipcblxuQXNzaWdubWVudCBzdGF0ZW1lbnRzIGFyZSB1c2VkIHRvIChyZSliaW5kIG5hbWVzIHRvIHZhbHVlcyBhbmQgdG9cbm1vZGlmeSBhdHRyaWJ1dGVzIG9yIGl0ZW1zIG9mIG11dGFibGUgb2JqZWN0czpcblxuICAgYXNzaWdubWVudF9zdG10IDo6PSAodGFyZ2V0X2xpc3QgIj0iKSsgKGV4cHJlc3Npb25fbGlzdCB8IHlpZWxkX2V4cHJlc3Npb24pXG4gICB0YXJnZXRfbGlzdCAgICAgOjo9IHRhcmdldCAoIiwiIHRhcmdldCkqIFsiLCJdXG4gICB0YXJnZXQgICAgICAgICAgOjo9IGlkZW50aWZpZXJcbiAgICAgICAgICAgICAgfCAiKCIgdGFyZ2V0X2xpc3QgIikiXG4gICAgICAgICAgICAgIHwgIlsiIHRhcmdldF9saXN0ICJdIlxuICAgICAgICAgICAgICB8IGF0dHJpYnV0ZXJlZlxuICAgICAgICAgICAgICB8IHN1YnNjcmlwdGlvblxuICAgICAgICAgICAgICB8IHNsaWNpbmdcbiAgICAgICAgICAgICAgfCAiKiIgdGFyZ2V0XG5cbihTZWUgc2VjdGlvbiAqUHJpbWFyaWVzKiBmb3IgdGhlIHN5bnRheCBkZWZpbml0aW9ucyBmb3IgdGhlIGxhc3QgdGhyZWVcbnN5bWJvbHMuKVxuXG5BbiBhc3NpZ25tZW50IHN0YXRlbWVudCBldmFsdWF0ZXMgdGhlIGV4cHJlc3Npb24gbGlzdCAocmVtZW1iZXIgdGhhdFxudGhpcyBjYW4gYmUgYSBzaW5nbGUgZXhwcmVzc2lvbiBvciBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0LCB0aGUgbGF0dGVyXG55aWVsZGluZyBhIHR1cGxlKSBhbmQgYXNzaWducyB0aGUgc2luZ2xlIHJlc3VsdGluZyBvYmplY3QgdG8gZWFjaCBvZlxudGhlIHRhcmdldCBsaXN0cywgZnJvbSBsZWZ0IHRvIHJpZ2h0LlxuXG5Bc3NpZ25tZW50IGlzIGRlZmluZWQgcmVjdXJzaXZlbHkgZGVwZW5kaW5nIG9uIHRoZSBmb3JtIG9mIHRoZSB0YXJnZXRcbihsaXN0KS4gV2hlbiBhIHRhcmdldCBpcyBwYXJ0IG9mIGEgbXV0YWJsZSBvYmplY3QgKGFuIGF0dHJpYnV0ZVxucmVmZXJlbmNlLCBzdWJzY3JpcHRpb24gb3Igc2xpY2luZyksIHRoZSBtdXRhYmxlIG9iamVjdCBtdXN0XG51bHRpbWF0ZWx5IHBlcmZvcm0gdGhlIGFzc2lnbm1lbnQgYW5kIGRlY2lkZSBhYm91dCBpdHMgdmFsaWRpdHksIGFuZFxubWF5IHJhaXNlIGFuIGV4Y2VwdGlvbiBpZiB0aGUgYXNzaWdubWVudCBpcyB1bmFjY2VwdGFibGUuICBUaGUgcnVsZXNcbm9ic2VydmVkIGJ5IHZhcmlvdXMgdHlwZXMgYW5kIHRoZSBleGNlcHRpb25zIHJhaXNlZCBhcmUgZ2l2ZW4gd2l0aCB0aGVcbmRlZmluaXRpb24gb2YgdGhlIG9iamVjdCB0eXBlcyAoc2VlIHNlY3Rpb24gKlRoZSBzdGFuZGFyZCB0eXBlXG5oaWVyYXJjaHkqKS5cblxuQXNzaWdubWVudCBvZiBhbiBvYmplY3QgdG8gYSB0YXJnZXQgbGlzdCwgb3B0aW9uYWxseSBlbmNsb3NlZCBpblxucGFyZW50aGVzZXMgb3Igc3F1YXJlIGJyYWNrZXRzLCBpcyByZWN1cnNpdmVseSBkZWZpbmVkIGFzIGZvbGxvd3MuXG5cbiogSWYgdGhlIHRhcmdldCBsaXN0IGlzIGEgc2luZ2xlIHRhcmdldDogVGhlIG9iamVjdCBpcyBhc3NpZ25lZCB0b1xuICB0aGF0IHRhcmdldC5cblxuKiBJZiB0aGUgdGFyZ2V0IGxpc3QgaXMgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiB0YXJnZXRzOiBUaGUgb2JqZWN0XG4gIG11c3QgYmUgYW4gaXRlcmFibGUgd2l0aCB0aGUgc2FtZSBudW1iZXIgb2YgaXRlbXMgYXMgdGhlcmUgYXJlXG4gIHRhcmdldHMgaW4gdGhlIHRhcmdldCBsaXN0LCBhbmQgdGhlIGl0ZW1zIGFyZSBhc3NpZ25lZCwgZnJvbSBsZWZ0IHRvXG4gIHJpZ2h0LCB0byB0aGUgY29ycmVzcG9uZGluZyB0YXJnZXRzLlxuXG4gICogSWYgdGhlIHRhcmdldCBsaXN0IGNvbnRhaW5zIG9uZSB0YXJnZXQgcHJlZml4ZWQgd2l0aCBhbiBhc3RlcmlzayxcbiAgICBjYWxsZWQgYSAic3RhcnJlZCIgdGFyZ2V0OiBUaGUgb2JqZWN0IG11c3QgYmUgYSBzZXF1ZW5jZSB3aXRoIGF0XG4gICAgbGVhc3QgYXMgbWFueSBpdGVtcyBhcyB0aGVyZSBhcmUgdGFyZ2V0cyBpbiB0aGUgdGFyZ2V0IGxpc3QsIG1pbnVzXG4gICAgb25lLiAgVGhlIGZpcnN0IGl0ZW1zIG9mIHRoZSBzZXF1ZW5jZSBhcmUgYXNzaWduZWQsIGZyb20gbGVmdCB0b1xuICAgIHJpZ2h0LCB0byB0aGUgdGFyZ2V0cyBiZWZvcmUgdGhlIHN0YXJyZWQgdGFyZ2V0LiAgVGhlIGZpbmFsIGl0ZW1zXG4gICAgb2YgdGhlIHNlcXVlbmNlIGFyZSBhc3NpZ25lZCB0byB0aGUgdGFyZ2V0cyBhZnRlciB0aGUgc3RhcnJlZFxuICAgIHRhcmdldC4gIEEgbGlzdCBvZiB0aGUgcmVtYWluaW5nIGl0ZW1zIGluIHRoZSBzZXF1ZW5jZSBpcyB0aGVuXG4gICAgYXNzaWduZWQgdG8gdGhlIHN0YXJyZWQgdGFyZ2V0ICh0aGUgbGlzdCBjYW4gYmUgZW1wdHkpLlxuXG4gICogRWxzZTogVGhlIG9iamVjdCBtdXN0IGJlIGEgc2VxdWVuY2Ugd2l0aCB0aGUgc2FtZSBudW1iZXIgb2YgaXRlbXNcbiAgICBhcyB0aGVyZSBhcmUgdGFyZ2V0cyBpbiB0aGUgdGFyZ2V0IGxpc3QsIGFuZCB0aGUgaXRlbXMgYXJlXG4gICAgYXNzaWduZWQsIGZyb20gbGVmdCB0byByaWdodCwgdG8gdGhlIGNvcnJlc3BvbmRpbmcgdGFyZ2V0cy5cblxuQXNzaWdubWVudCBvZiBhbiBvYmplY3QgdG8gYSBzaW5nbGUgdGFyZ2V0IGlzIHJlY3Vyc2l2ZWx5IGRlZmluZWQgYXNcbmZvbGxvd3MuXG5cbiogSWYgdGhlIHRhcmdldCBpcyBhbiBpZGVudGlmaWVyIChuYW1lKTpcblxuICAqIElmIHRoZSBuYW1lIGRvZXMgbm90IG9jY3VyIGluIGEgYGBnbG9iYWxgYCBvciBgYG5vbmxvY2FsYGBcbiAgICBzdGF0ZW1lbnQgaW4gdGhlIGN1cnJlbnQgY29kZSBibG9jazogdGhlIG5hbWUgaXMgYm91bmQgdG8gdGhlXG4gICAgb2JqZWN0IGluIHRoZSBjdXJyZW50IGxvY2FsIG5hbWVzcGFjZS5cblxuICAqIE90aGVyd2lzZTogdGhlIG5hbWUgaXMgYm91bmQgdG8gdGhlIG9iamVjdCBpbiB0aGUgZ2xvYmFsIG5hbWVzcGFjZVxuICAgIG9yIHRoZSBvdXRlciBuYW1lc3BhY2UgZGV0ZXJtaW5lZCBieSBgYG5vbmxvY2FsYGAsIHJlc3BlY3RpdmVseS5cblxuICBUaGUgbmFtZSBpcyByZWJvdW5kIGlmIGl0IHdhcyBhbHJlYWR5IGJvdW5kLiAgVGhpcyBtYXkgY2F1c2UgdGhlXG4gIHJlZmVyZW5jZSBjb3VudCBmb3IgdGhlIG9iamVjdCBwcmV2aW91c2x5IGJvdW5kIHRvIHRoZSBuYW1lIHRvIHJlYWNoXG4gIHplcm8sIGNhdXNpbmcgdGhlIG9iamVjdCB0byBiZSBkZWFsbG9jYXRlZCBhbmQgaXRzIGRlc3RydWN0b3IgKGlmIGl0XG4gIGhhcyBvbmUpIHRvIGJlIGNhbGxlZC5cblxuKiBJZiB0aGUgdGFyZ2V0IGlzIGEgdGFyZ2V0IGxpc3QgZW5jbG9zZWQgaW4gcGFyZW50aGVzZXMgb3IgaW4gc3F1YXJlXG4gIGJyYWNrZXRzOiBUaGUgb2JqZWN0IG11c3QgYmUgYW4gaXRlcmFibGUgd2l0aCB0aGUgc2FtZSBudW1iZXIgb2ZcbiAgaXRlbXMgYXMgdGhlcmUgYXJlIHRhcmdldHMgaW4gdGhlIHRhcmdldCBsaXN0LCBhbmQgaXRzIGl0ZW1zIGFyZVxuICBhc3NpZ25lZCwgZnJvbSBsZWZ0IHRvIHJpZ2h0LCB0byB0aGUgY29ycmVzcG9uZGluZyB0YXJnZXRzLlxuXG4qIElmIHRoZSB0YXJnZXQgaXMgYW4gYXR0cmlidXRlIHJlZmVyZW5jZTogVGhlIHByaW1hcnkgZXhwcmVzc2lvbiBpblxuICB0aGUgcmVmZXJlbmNlIGlzIGV2YWx1YXRlZC4gIEl0IHNob3VsZCB5aWVsZCBhbiBvYmplY3Qgd2l0aFxuICBhc3NpZ25hYmxlIGF0dHJpYnV0ZXM7IGlmIHRoaXMgaXMgbm90IHRoZSBjYXNlLCBgYFR5cGVFcnJvcmBgIGlzXG4gIHJhaXNlZC4gIFRoYXQgb2JqZWN0IGlzIHRoZW4gYXNrZWQgdG8gYXNzaWduIHRoZSBhc3NpZ25lZCBvYmplY3QgdG9cbiAgdGhlIGdpdmVuIGF0dHJpYnV0ZTsgaWYgaXQgY2Fubm90IHBlcmZvcm0gdGhlIGFzc2lnbm1lbnQsIGl0IHJhaXNlc1xuICBhbiBleGNlcHRpb24gKHVzdWFsbHkgYnV0IG5vdCBuZWNlc3NhcmlseSBgYEF0dHJpYnV0ZUVycm9yYGApLlxuXG4gIE5vdGU6IElmIHRoZSBvYmplY3QgaXMgYSBjbGFzcyBpbnN0YW5jZSBhbmQgdGhlIGF0dHJpYnV0ZSByZWZlcmVuY2VcbiAgb2NjdXJzIG9uIGJvdGggc2lkZXMgb2YgdGhlIGFzc2lnbm1lbnQgb3BlcmF0b3IsIHRoZSBSSFMgZXhwcmVzc2lvbixcbiAgYGBhLnhgYCBjYW4gYWNjZXNzIGVpdGhlciBhbiBpbnN0YW5jZSBhdHRyaWJ1dGUgb3IgKGlmIG5vIGluc3RhbmNlXG4gIGF0dHJpYnV0ZSBleGlzdHMpIGEgY2xhc3MgYXR0cmlidXRlLiAgVGhlIExIUyB0YXJnZXQgYGBhLnhgYCBpc1xuICBhbHdheXMgc2V0IGFzIGFuIGluc3RhbmNlIGF0dHJpYnV0ZSwgY3JlYXRpbmcgaXQgaWYgbmVjZXNzYXJ5LlxuICBUaHVzLCB0aGUgdHdvIG9jY3VycmVuY2VzIG9mIGBgYS54YGAgZG8gbm90IG5lY2Vzc2FyaWx5IHJlZmVyIHRvIHRoZVxuICBzYW1lIGF0dHJpYnV0ZTogaWYgdGhlIFJIUyBleHByZXNzaW9uIHJlZmVycyB0byBhIGNsYXNzIGF0dHJpYnV0ZSxcbiAgdGhlIExIUyBjcmVhdGVzIGEgbmV3IGluc3RhbmNlIGF0dHJpYnV0ZSBhcyB0aGUgdGFyZ2V0IG9mIHRoZVxuICBhc3NpZ25tZW50OlxuXG4gICAgIGNsYXNzIENsczpcbiAgICAgICAgIHggPSAzICAgICAgICAgICAgICMgY2xhc3MgdmFyaWFibGVcbiAgICAgaW5zdCA9IENscygpXG4gICAgIGluc3QueCA9IGluc3QueCArIDEgICAjIHdyaXRlcyBpbnN0LnggYXMgNCBsZWF2aW5nIENscy54IGFzIDNcblxuICBUaGlzIGRlc2NyaXB0aW9uIGRvZXMgbm90IG5lY2Vzc2FyaWx5IGFwcGx5IHRvIGRlc2NyaXB0b3JcbiAgYXR0cmlidXRlcywgc3VjaCBhcyBwcm9wZXJ0aWVzIGNyZWF0ZWQgd2l0aCBgYHByb3BlcnR5KClgYC5cblxuKiBJZiB0aGUgdGFyZ2V0IGlzIGEgc3Vic2NyaXB0aW9uOiBUaGUgcHJpbWFyeSBleHByZXNzaW9uIGluIHRoZVxuICByZWZlcmVuY2UgaXMgZXZhbHVhdGVkLiAgSXQgc2hvdWxkIHlpZWxkIGVpdGhlciBhIG11dGFibGUgc2VxdWVuY2VcbiAgb2JqZWN0IChzdWNoIGFzIGEgbGlzdCkgb3IgYSBtYXBwaW5nIG9iamVjdCAoc3VjaCBhcyBhIGRpY3Rpb25hcnkpLlxuICBOZXh0LCB0aGUgc3Vic2NyaXB0IGV4cHJlc3Npb24gaXMgZXZhbHVhdGVkLlxuXG4gIElmIHRoZSBwcmltYXJ5IGlzIGEgbXV0YWJsZSBzZXF1ZW5jZSBvYmplY3QgKHN1Y2ggYXMgYSBsaXN0KSwgdGhlXG4gIHN1YnNjcmlwdCBtdXN0IHlpZWxkIGFuIGludGVnZXIuICBJZiBpdCBpcyBuZWdhdGl2ZSwgdGhlIHNlcXVlbmNlXCdzXG4gIGxlbmd0aCBpcyBhZGRlZCB0byBpdC4gIFRoZSByZXN1bHRpbmcgdmFsdWUgbXVzdCBiZSBhIG5vbm5lZ2F0aXZlXG4gIGludGVnZXIgbGVzcyB0aGFuIHRoZSBzZXF1ZW5jZVwncyBsZW5ndGgsIGFuZCB0aGUgc2VxdWVuY2UgaXMgYXNrZWRcbiAgdG8gYXNzaWduIHRoZSBhc3NpZ25lZCBvYmplY3QgdG8gaXRzIGl0ZW0gd2l0aCB0aGF0IGluZGV4LiAgSWYgdGhlXG4gIGluZGV4IGlzIG91dCBvZiByYW5nZSwgYGBJbmRleEVycm9yYGAgaXMgcmFpc2VkIChhc3NpZ25tZW50IHRvIGFcbiAgc3Vic2NyaXB0ZWQgc2VxdWVuY2UgY2Fubm90IGFkZCBuZXcgaXRlbXMgdG8gYSBsaXN0KS5cblxuICBJZiB0aGUgcHJpbWFyeSBpcyBhIG1hcHBpbmcgb2JqZWN0IChzdWNoIGFzIGEgZGljdGlvbmFyeSksIHRoZVxuICBzdWJzY3JpcHQgbXVzdCBoYXZlIGEgdHlwZSBjb21wYXRpYmxlIHdpdGggdGhlIG1hcHBpbmdcJ3Mga2V5IHR5cGUsXG4gIGFuZCB0aGUgbWFwcGluZyBpcyB0aGVuIGFza2VkIHRvIGNyZWF0ZSBhIGtleS9kYXR1bSBwYWlyIHdoaWNoIG1hcHNcbiAgdGhlIHN1YnNjcmlwdCB0byB0aGUgYXNzaWduZWQgb2JqZWN0LiAgVGhpcyBjYW4gZWl0aGVyIHJlcGxhY2UgYW5cbiAgZXhpc3Rpbmcga2V5L3ZhbHVlIHBhaXIgd2l0aCB0aGUgc2FtZSBrZXkgdmFsdWUsIG9yIGluc2VydCBhIG5ld1xuICBrZXkvdmFsdWUgcGFpciAoaWYgbm8ga2V5IHdpdGggdGhlIHNhbWUgdmFsdWUgZXhpc3RlZCkuXG5cbiAgRm9yIHVzZXItZGVmaW5lZCBvYmplY3RzLCB0aGUgYGBfX3NldGl0ZW1fXygpYGAgbWV0aG9kIGlzIGNhbGxlZFxuICB3aXRoIGFwcHJvcHJpYXRlIGFyZ3VtZW50cy5cblxuKiBJZiB0aGUgdGFyZ2V0IGlzIGEgc2xpY2luZzogVGhlIHByaW1hcnkgZXhwcmVzc2lvbiBpbiB0aGUgcmVmZXJlbmNlXG4gIGlzIGV2YWx1YXRlZC4gIEl0IHNob3VsZCB5aWVsZCBhIG11dGFibGUgc2VxdWVuY2Ugb2JqZWN0IChzdWNoIGFzIGFcbiAgbGlzdCkuICBUaGUgYXNzaWduZWQgb2JqZWN0IHNob3VsZCBiZSBhIHNlcXVlbmNlIG9iamVjdCBvZiB0aGUgc2FtZVxuICB0eXBlLiAgTmV4dCwgdGhlIGxvd2VyIGFuZCB1cHBlciBib3VuZCBleHByZXNzaW9ucyBhcmUgZXZhbHVhdGVkLFxuICBpbnNvZmFyIHRoZXkgYXJlIHByZXNlbnQ7IGRlZmF1bHRzIGFyZSB6ZXJvIGFuZCB0aGUgc2VxdWVuY2VcJ3NcbiAgbGVuZ3RoLiAgVGhlIGJvdW5kcyBzaG91bGQgZXZhbHVhdGUgdG8gaW50ZWdlcnMuIElmIGVpdGhlciBib3VuZCBpc1xuICBuZWdhdGl2ZSwgdGhlIHNlcXVlbmNlXCdzIGxlbmd0aCBpcyBhZGRlZCB0byBpdC4gIFRoZSByZXN1bHRpbmdcbiAgYm91bmRzIGFyZSBjbGlwcGVkIHRvIGxpZSBiZXR3ZWVuIHplcm8gYW5kIHRoZSBzZXF1ZW5jZVwncyBsZW5ndGgsXG4gIGluY2x1c2l2ZS4gIEZpbmFsbHksIHRoZSBzZXF1ZW5jZSBvYmplY3QgaXMgYXNrZWQgdG8gcmVwbGFjZSB0aGVcbiAgc2xpY2Ugd2l0aCB0aGUgaXRlbXMgb2YgdGhlIGFzc2lnbmVkIHNlcXVlbmNlLiAgVGhlIGxlbmd0aCBvZiB0aGVcbiAgc2xpY2UgbWF5IGJlIGRpZmZlcmVudCBmcm9tIHRoZSBsZW5ndGggb2YgdGhlIGFzc2lnbmVkIHNlcXVlbmNlLFxuICB0aHVzIGNoYW5naW5nIHRoZSBsZW5ndGggb2YgdGhlIHRhcmdldCBzZXF1ZW5jZSwgaWYgdGhlIG9iamVjdFxuICBhbGxvd3MgaXQuXG5cbioqQ1B5dGhvbiBpbXBsZW1lbnRhdGlvbiBkZXRhaWw6KiogSW4gdGhlIGN1cnJlbnQgaW1wbGVtZW50YXRpb24sIHRoZVxuc3ludGF4IGZvciB0YXJnZXRzIGlzIHRha2VuIHRvIGJlIHRoZSBzYW1lIGFzIGZvciBleHByZXNzaW9ucywgYW5kXG5pbnZhbGlkIHN5bnRheCBpcyByZWplY3RlZCBkdXJpbmcgdGhlIGNvZGUgZ2VuZXJhdGlvbiBwaGFzZSwgY2F1c2luZ1xubGVzcyBkZXRhaWxlZCBlcnJvciBtZXNzYWdlcy5cblxuV0FSTklORzogQWx0aG91Z2ggdGhlIGRlZmluaXRpb24gb2YgYXNzaWdubWVudCBpbXBsaWVzIHRoYXQgb3ZlcmxhcHNcbmJldHdlZW4gdGhlIGxlZnQtaGFuZCBzaWRlIGFuZCB0aGUgcmlnaHQtaGFuZCBzaWRlIGFyZSBcJ3NhZmVcJyAoZm9yXG5leGFtcGxlIGBgYSwgYiA9IGIsIGFgYCBzd2FwcyB0d28gdmFyaWFibGVzKSwgb3ZlcmxhcHMgKndpdGhpbiogdGhlXG5jb2xsZWN0aW9uIG9mIGFzc2lnbmVkLXRvIHZhcmlhYmxlcyBhcmUgbm90IHNhZmUhICBGb3IgaW5zdGFuY2UsIHRoZVxuZm9sbG93aW5nIHByb2dyYW0gcHJpbnRzIGBgWzAsIDJdYGA6XG5cbiAgIHggPSBbMCwgMV1cbiAgIGkgPSAwXG4gICBpLCB4W2ldID0gMSwgMlxuICAgcHJpbnQoeClcblxuU2VlIGFsc286XG5cbiAgICoqUEVQIDMxMzIqKiAtIEV4dGVuZGVkIEl0ZXJhYmxlIFVucGFja2luZ1xuICAgICAgVGhlIHNwZWNpZmljYXRpb24gZm9yIHRoZSBgYCp0YXJnZXRgYCBmZWF0dXJlLlxuXG5cbkF1Z21lbnRlZCBhc3NpZ25tZW50IHN0YXRlbWVudHNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQXVnbWVudGVkIGFzc2lnbm1lbnQgaXMgdGhlIGNvbWJpbmF0aW9uLCBpbiBhIHNpbmdsZSBzdGF0ZW1lbnQsIG9mIGFcbmJpbmFyeSBvcGVyYXRpb24gYW5kIGFuIGFzc2lnbm1lbnQgc3RhdGVtZW50OlxuXG4gICBhdWdtZW50ZWRfYXNzaWdubWVudF9zdG10IDo6PSBhdWd0YXJnZXQgYXVnb3AgKGV4cHJlc3Npb25fbGlzdCB8IHlpZWxkX2V4cHJlc3Npb24pXG4gICBhdWd0YXJnZXQgICAgICAgICAgICAgICAgIDo6PSBpZGVudGlmaWVyIHwgYXR0cmlidXRlcmVmIHwgc3Vic2NyaXB0aW9uIHwgc2xpY2luZ1xuICAgYXVnb3AgICAgICAgICAgICAgICAgICAgICA6Oj0gIis9IiB8ICItPSIgfCAiKj0iIHwgIi89IiB8ICIvLz0iIHwgIiU9IiB8ICIqKj0iXG4gICAgICAgICAgICAgfCAiPj49IiB8ICI8PD0iIHwgIiY9IiB8ICJePSIgfCAifD0iXG5cbihTZWUgc2VjdGlvbiAqUHJpbWFyaWVzKiBmb3IgdGhlIHN5bnRheCBkZWZpbml0aW9ucyBmb3IgdGhlIGxhc3QgdGhyZWVcbnN5bWJvbHMuKVxuXG5BbiBhdWdtZW50ZWQgYXNzaWdubWVudCBldmFsdWF0ZXMgdGhlIHRhcmdldCAod2hpY2gsIHVubGlrZSBub3JtYWxcbmFzc2lnbm1lbnQgc3RhdGVtZW50cywgY2Fubm90IGJlIGFuIHVucGFja2luZykgYW5kIHRoZSBleHByZXNzaW9uXG5saXN0LCBwZXJmb3JtcyB0aGUgYmluYXJ5IG9wZXJhdGlvbiBzcGVjaWZpYyB0byB0aGUgdHlwZSBvZiBhc3NpZ25tZW50XG5vbiB0aGUgdHdvIG9wZXJhbmRzLCBhbmQgYXNzaWducyB0aGUgcmVzdWx0IHRvIHRoZSBvcmlnaW5hbCB0YXJnZXQuXG5UaGUgdGFyZ2V0IGlzIG9ubHkgZXZhbHVhdGVkIG9uY2UuXG5cbkFuIGF1Z21lbnRlZCBhc3NpZ25tZW50IGV4cHJlc3Npb24gbGlrZSBgYHggKz0gMWBgIGNhbiBiZSByZXdyaXR0ZW4gYXNcbmBgeCA9IHggKyAxYGAgdG8gYWNoaWV2ZSBhIHNpbWlsYXIsIGJ1dCBub3QgZXhhY3RseSBlcXVhbCBlZmZlY3QuIEluXG50aGUgYXVnbWVudGVkIHZlcnNpb24sIGBgeGBgIGlzIG9ubHkgZXZhbHVhdGVkIG9uY2UuIEFsc28sIHdoZW5cbnBvc3NpYmxlLCB0aGUgYWN0dWFsIG9wZXJhdGlvbiBpcyBwZXJmb3JtZWQgKmluLXBsYWNlKiwgbWVhbmluZyB0aGF0XG5yYXRoZXIgdGhhbiBjcmVhdGluZyBhIG5ldyBvYmplY3QgYW5kIGFzc2lnbmluZyB0aGF0IHRvIHRoZSB0YXJnZXQsXG50aGUgb2xkIG9iamVjdCBpcyBtb2RpZmllZCBpbnN0ZWFkLlxuXG5XaXRoIHRoZSBleGNlcHRpb24gb2YgYXNzaWduaW5nIHRvIHR1cGxlcyBhbmQgbXVsdGlwbGUgdGFyZ2V0cyBpbiBhXG5zaW5nbGUgc3RhdGVtZW50LCB0aGUgYXNzaWdubWVudCBkb25lIGJ5IGF1Z21lbnRlZCBhc3NpZ25tZW50XG5zdGF0ZW1lbnRzIGlzIGhhbmRsZWQgdGhlIHNhbWUgd2F5IGFzIG5vcm1hbCBhc3NpZ25tZW50cy4gU2ltaWxhcmx5LFxud2l0aCB0aGUgZXhjZXB0aW9uIG9mIHRoZSBwb3NzaWJsZSAqaW4tcGxhY2UqIGJlaGF2aW9yLCB0aGUgYmluYXJ5XG5vcGVyYXRpb24gcGVyZm9ybWVkIGJ5IGF1Z21lbnRlZCBhc3NpZ25tZW50IGlzIHRoZSBzYW1lIGFzIHRoZSBub3JtYWxcbmJpbmFyeSBvcGVyYXRpb25zLlxuXG5Gb3IgdGFyZ2V0cyB3aGljaCBhcmUgYXR0cmlidXRlIHJlZmVyZW5jZXMsIHRoZSBzYW1lICpjYXZlYXQgYWJvdXRcbmNsYXNzIGFuZCBpbnN0YW5jZSBhdHRyaWJ1dGVzKiBhcHBsaWVzIGFzIGZvciByZWd1bGFyIGFzc2lnbm1lbnRzLlxuJywKICAnYXRvbS1pZGVudGlmaWVycyc6ICdcbklkZW50aWZpZXJzIChOYW1lcylcbioqKioqKioqKioqKioqKioqKipcblxuQW4gaWRlbnRpZmllciBvY2N1cnJpbmcgYXMgYW4gYXRvbSBpcyBhIG5hbWUuICBTZWUgc2VjdGlvblxuKklkZW50aWZpZXJzIGFuZCBrZXl3b3JkcyogZm9yIGxleGljYWwgZGVmaW5pdGlvbiBhbmQgc2VjdGlvbiAqTmFtaW5nXG5hbmQgYmluZGluZyogZm9yIGRvY3VtZW50YXRpb24gb2YgbmFtaW5nIGFuZCBiaW5kaW5nLlxuXG5XaGVuIHRoZSBuYW1lIGlzIGJvdW5kIHRvIGFuIG9iamVjdCwgZXZhbHVhdGlvbiBvZiB0aGUgYXRvbSB5aWVsZHNcbnRoYXQgb2JqZWN0LiBXaGVuIGEgbmFtZSBpcyBub3QgYm91bmQsIGFuIGF0dGVtcHQgdG8gZXZhbHVhdGUgaXRcbnJhaXNlcyBhIGBgTmFtZUVycm9yYGAgZXhjZXB0aW9uLlxuXG4qKlByaXZhdGUgbmFtZSBtYW5nbGluZzoqKiBXaGVuIGFuIGlkZW50aWZpZXIgdGhhdCB0ZXh0dWFsbHkgb2NjdXJzIGluXG5hIGNsYXNzIGRlZmluaXRpb24gYmVnaW5zIHdpdGggdHdvIG9yIG1vcmUgdW5kZXJzY29yZSBjaGFyYWN0ZXJzIGFuZFxuZG9lcyBub3QgZW5kIGluIHR3byBvciBtb3JlIHVuZGVyc2NvcmVzLCBpdCBpcyBjb25zaWRlcmVkIGEgKnByaXZhdGVcbm5hbWUqIG9mIHRoYXQgY2xhc3MuIFByaXZhdGUgbmFtZXMgYXJlIHRyYW5zZm9ybWVkIHRvIGEgbG9uZ2VyIGZvcm1cbmJlZm9yZSBjb2RlIGlzIGdlbmVyYXRlZCBmb3IgdGhlbS4gIFRoZSB0cmFuc2Zvcm1hdGlvbiBpbnNlcnRzIHRoZVxuY2xhc3MgbmFtZSBpbiBmcm9udCBvZiB0aGUgbmFtZSwgd2l0aCBsZWFkaW5nIHVuZGVyc2NvcmVzIHJlbW92ZWQsIGFuZFxuYSBzaW5nbGUgdW5kZXJzY29yZSBpbnNlcnRlZCBpbiBmcm9udCBvZiB0aGUgY2xhc3MgbmFtZS4gIEZvciBleGFtcGxlLFxudGhlIGlkZW50aWZpZXIgYGBfX3NwYW1gYCBvY2N1cnJpbmcgaW4gYSBjbGFzcyBuYW1lZCBgYEhhbWBgIHdpbGwgYmVcbnRyYW5zZm9ybWVkIHRvIGBgX0hhbV9fc3BhbWBgLiAgVGhpcyB0cmFuc2Zvcm1hdGlvbiBpcyBpbmRlcGVuZGVudCBvZlxudGhlIHN5bnRhY3RpY2FsIGNvbnRleHQgaW4gd2hpY2ggdGhlIGlkZW50aWZpZXIgaXMgdXNlZC4gIElmIHRoZVxudHJhbnNmb3JtZWQgbmFtZSBpcyBleHRyZW1lbHkgbG9uZyAobG9uZ2VyIHRoYW4gMjU1IGNoYXJhY3RlcnMpLFxuaW1wbGVtZW50YXRpb24gZGVmaW5lZCB0cnVuY2F0aW9uIG1heSBoYXBwZW4uICBJZiB0aGUgY2xhc3MgbmFtZVxuY29uc2lzdHMgb25seSBvZiB1bmRlcnNjb3Jlcywgbm8gdHJhbnNmb3JtYXRpb24gaXMgZG9uZS5cbicsCiAgJ2F0b20tbGl0ZXJhbHMnOiAiXG5MaXRlcmFsc1xuKioqKioqKipcblxuUHl0aG9uIHN1cHBvcnRzIHN0cmluZyBhbmQgYnl0ZXMgbGl0ZXJhbHMgYW5kIHZhcmlvdXMgbnVtZXJpY1xubGl0ZXJhbHM6XG5cbiAgIGxpdGVyYWwgOjo9IHN0cmluZ2xpdGVyYWwgfCBieXRlc2xpdGVyYWxcbiAgICAgICAgICAgICAgIHwgaW50ZWdlciB8IGZsb2F0bnVtYmVyIHwgaW1hZ251bWJlclxuXG5FdmFsdWF0aW9uIG9mIGEgbGl0ZXJhbCB5aWVsZHMgYW4gb2JqZWN0IG9mIHRoZSBnaXZlbiB0eXBlIChzdHJpbmcsXG5ieXRlcywgaW50ZWdlciwgZmxvYXRpbmcgcG9pbnQgbnVtYmVyLCBjb21wbGV4IG51bWJlcikgd2l0aCB0aGUgZ2l2ZW5cbnZhbHVlLiAgVGhlIHZhbHVlIG1heSBiZSBhcHByb3hpbWF0ZWQgaW4gdGhlIGNhc2Ugb2YgZmxvYXRpbmcgcG9pbnRcbmFuZCBpbWFnaW5hcnkgKGNvbXBsZXgpIGxpdGVyYWxzLiAgU2VlIHNlY3Rpb24gKkxpdGVyYWxzKiBmb3IgZGV0YWlscy5cblxuQWxsIGxpdGVyYWxzIGNvcnJlc3BvbmQgdG8gaW1tdXRhYmxlIGRhdGEgdHlwZXMsIGFuZCBoZW5jZSB0aGVcbm9iamVjdCdzIGlkZW50aXR5IGlzIGxlc3MgaW1wb3J0YW50IHRoYW4gaXRzIHZhbHVlLiAgTXVsdGlwbGVcbmV2YWx1YXRpb25zIG9mIGxpdGVyYWxzIHdpdGggdGhlIHNhbWUgdmFsdWUgKGVpdGhlciB0aGUgc2FtZVxub2NjdXJyZW5jZSBpbiB0aGUgcHJvZ3JhbSB0ZXh0IG9yIGEgZGlmZmVyZW50IG9jY3VycmVuY2UpIG1heSBvYnRhaW5cbnRoZSBzYW1lIG9iamVjdCBvciBhIGRpZmZlcmVudCBvYmplY3Qgd2l0aCB0aGUgc2FtZSB2YWx1ZS5cbiIsCi0gJ2F0dHJpYnV0ZS1hY2Nlc3MnOiAnXG5DdXN0b21pemluZyBhdHRyaWJ1dGUgYWNjZXNzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cblRoZSBmb2xsb3dpbmcgbWV0aG9kcyBjYW4gYmUgZGVmaW5lZCB0byBjdXN0b21pemUgdGhlIG1lYW5pbmcgb2ZcbmF0dHJpYnV0ZSBhY2Nlc3MgKHVzZSBvZiwgYXNzaWdubWVudCB0bywgb3IgZGVsZXRpb24gb2YgYGB4Lm5hbWVgYClcbmZvciBjbGFzcyBpbnN0YW5jZXMuXG5cbm9iamVjdC5fX2dldGF0dHJfXyhzZWxmLCBuYW1lKVxuXG4gICBDYWxsZWQgd2hlbiBhbiBhdHRyaWJ1dGUgbG9va3VwIGhhcyBub3QgZm91bmQgdGhlIGF0dHJpYnV0ZSBpbiB0aGVcbiAgIHVzdWFsIHBsYWNlcyAoaS5lLiBpdCBpcyBub3QgYW4gaW5zdGFuY2UgYXR0cmlidXRlIG5vciBpcyBpdCBmb3VuZFxuICAgaW4gdGhlIGNsYXNzIHRyZWUgZm9yIGBgc2VsZmBgKS4gIGBgbmFtZWBgIGlzIHRoZSBhdHRyaWJ1dGUgbmFtZS5cbiAgIFRoaXMgbWV0aG9kIHNob3VsZCByZXR1cm4gdGhlIChjb21wdXRlZCkgYXR0cmlidXRlIHZhbHVlIG9yIHJhaXNlXG4gICBhbiBgYEF0dHJpYnV0ZUVycm9yYGAgZXhjZXB0aW9uLlxuXG4gICBOb3RlIHRoYXQgaWYgdGhlIGF0dHJpYnV0ZSBpcyBmb3VuZCB0aHJvdWdoIHRoZSBub3JtYWwgbWVjaGFuaXNtLFxuICAgYGBfX2dldGF0dHJfXygpYGAgaXMgbm90IGNhbGxlZC4gIChUaGlzIGlzIGFuIGludGVudGlvbmFsIGFzeW1tZXRyeVxuICAgYmV0d2VlbiBgYF9fZ2V0YXR0cl9fKClgYCBhbmQgYGBfX3NldGF0dHJfXygpYGAuKSBUaGlzIGlzIGRvbmUgYm90aFxuICAgZm9yIGVmZmljaWVuY3kgcmVhc29ucyBhbmQgYmVjYXVzZSBvdGhlcndpc2UgYGBfX2dldGF0dHJfXygpYGBcbiAgIHdvdWxkIGhhdmUgbm8gd2F5IHRvIGFjY2VzcyBvdGhlciBhdHRyaWJ1dGVzIG9mIHRoZSBpbnN0YW5jZS4gIE5vdGVcbiAgIHRoYXQgYXQgbGVhc3QgZm9yIGluc3RhbmNlIHZhcmlhYmxlcywgeW91IGNhbiBmYWtlIHRvdGFsIGNvbnRyb2wgYnlcbiAgIG5vdCBpbnNlcnRpbmcgYW55IHZhbHVlcyBpbiB0aGUgaW5zdGFuY2UgYXR0cmlidXRlIGRpY3Rpb25hcnkgKGJ1dFxuICAgaW5zdGVhZCBpbnNlcnRpbmcgdGhlbSBpbiBhbm90aGVyIG9iamVjdCkuICBTZWUgdGhlXG4gICBgYF9fZ2V0YXR0cmlidXRlX18oKWBgIG1ldGhvZCBiZWxvdyBmb3IgYSB3YXkgdG8gYWN0dWFsbHkgZ2V0IHRvdGFsXG4gICBjb250cm9sIG92ZXIgYXR0cmlidXRlIGFjY2Vzcy5cblxub2JqZWN0Ll9fZ2V0YXR0cmlidXRlX18oc2VsZiwgbmFtZSlcblxuICAgQ2FsbGVkIHVuY29uZGl0aW9uYWxseSB0byBpbXBsZW1lbnQgYXR0cmlidXRlIGFjY2Vzc2VzIGZvclxuICAgaW5zdGFuY2VzIG9mIHRoZSBjbGFzcy4gSWYgdGhlIGNsYXNzIGFsc28gZGVmaW5lc1xuICAgYGBfX2dldGF0dHJfXygpYGAsIHRoZSBsYXR0ZXIgd2lsbCBub3QgYmUgY2FsbGVkIHVubGVzc1xuICAgYGBfX2dldGF0dHJpYnV0ZV9fKClgYCBlaXRoZXIgY2FsbHMgaXQgZXhwbGljaXRseSBvciByYWlzZXMgYW5cbiAgIGBgQXR0cmlidXRlRXJyb3JgYC4gVGhpcyBtZXRob2Qgc2hvdWxkIHJldHVybiB0aGUgKGNvbXB1dGVkKVxuICAgYXR0cmlidXRlIHZhbHVlIG9yIHJhaXNlIGFuIGBgQXR0cmlidXRlRXJyb3JgYCBleGNlcHRpb24uIEluIG9yZGVyXG4gICB0byBhdm9pZCBpbmZpbml0ZSByZWN1cnNpb24gaW4gdGhpcyBtZXRob2QsIGl0cyBpbXBsZW1lbnRhdGlvblxuICAgc2hvdWxkIGFsd2F5cyBjYWxsIHRoZSBiYXNlIGNsYXNzIG1ldGhvZCB3aXRoIHRoZSBzYW1lIG5hbWUgdG9cbiAgIGFjY2VzcyBhbnkgYXR0cmlidXRlcyBpdCBuZWVkcywgZm9yIGV4YW1wbGUsXG4gICBgYG9iamVjdC5fX2dldGF0dHJpYnV0ZV9fKHNlbGYsIG5hbWUpYGAuXG5cbiAgIE5vdGU6IFRoaXMgbWV0aG9kIG1heSBzdGlsbCBiZSBieXBhc3NlZCB3aGVuIGxvb2tpbmcgdXAgc3BlY2lhbCBtZXRob2RzXG4gICAgIGFzIHRoZSByZXN1bHQgb2YgaW1wbGljaXQgaW52b2NhdGlvbiB2aWEgbGFuZ3VhZ2Ugc3ludGF4IG9yXG4gICAgIGJ1aWx0LWluIGZ1bmN0aW9ucy4gU2VlICpTcGVjaWFsIG1ldGhvZCBsb29rdXAqLlxuXG5vYmplY3QuX19zZXRhdHRyX18oc2VsZiwgbmFtZSwgdmFsdWUpXG5cbiAgIENhbGxlZCB3aGVuIGFuIGF0dHJpYnV0ZSBhc3NpZ25tZW50IGlzIGF0dGVtcHRlZC4gIFRoaXMgaXMgY2FsbGVkXG4gICBpbnN0ZWFkIG9mIHRoZSBub3JtYWwgbWVjaGFuaXNtIChpLmUuIHN0b3JlIHRoZSB2YWx1ZSBpbiB0aGVcbiAgIGluc3RhbmNlIGRpY3Rpb25hcnkpLiAqbmFtZSogaXMgdGhlIGF0dHJpYnV0ZSBuYW1lLCAqdmFsdWUqIGlzIHRoZVxuICAgdmFsdWUgdG8gYmUgYXNzaWduZWQgdG8gaXQuXG5cbiAgIElmIGBgX19zZXRhdHRyX18oKWBgIHdhbnRzIHRvIGFzc2lnbiB0byBhbiBpbnN0YW5jZSBhdHRyaWJ1dGUsIGl0XG4gICBzaG91bGQgY2FsbCB0aGUgYmFzZSBjbGFzcyBtZXRob2Qgd2l0aCB0aGUgc2FtZSBuYW1lLCBmb3IgZXhhbXBsZSxcbiAgIGBgb2JqZWN0Ll9fc2V0YXR0cl9fKHNlbGYsIG5hbWUsIHZhbHVlKWBgLlxuXG5vYmplY3QuX19kZWxhdHRyX18oc2VsZiwgbmFtZSlcblxuICAgTGlrZSBgYF9fc2V0YXR0cl9fKClgYCBidXQgZm9yIGF0dHJpYnV0ZSBkZWxldGlvbiBpbnN0ZWFkIG9mXG4gICBhc3NpZ25tZW50LiAgVGhpcyBzaG91bGQgb25seSBiZSBpbXBsZW1lbnRlZCBpZiBgYGRlbCBvYmoubmFtZWBgIGlzXG4gICBtZWFuaW5nZnVsIGZvciB0aGUgb2JqZWN0LlxuXG5vYmplY3QuX19kaXJfXyhzZWxmKVxuXG4gICBDYWxsZWQgd2hlbiBgYGRpcigpYGAgaXMgY2FsbGVkIG9uIHRoZSBvYmplY3QuICBBIGxpc3QgbXVzdCBiZVxuICAgcmV0dXJuZWQuXG5cblxuSW1wbGVtZW50aW5nIERlc2NyaXB0b3JzXG49PT09PT09PT09PT09PT09PT09PT09PT1cblxuVGhlIGZvbGxvd2luZyBtZXRob2RzIG9ubHkgYXBwbHkgd2hlbiBhbiBpbnN0YW5jZSBvZiB0aGUgY2xhc3NcbmNvbnRhaW5pbmcgdGhlIG1ldGhvZCAoYSBzby1jYWxsZWQgKmRlc2NyaXB0b3IqIGNsYXNzKSBhcHBlYXJzIGluIGFuXG4qb3duZXIqIGNsYXNzICh0aGUgZGVzY3JpcHRvciBtdXN0IGJlIGluIGVpdGhlciB0aGUgb3duZXJcJ3MgY2xhc3NcbmRpY3Rpb25hcnkgb3IgaW4gdGhlIGNsYXNzIGRpY3Rpb25hcnkgZm9yIG9uZSBvZiBpdHMgcGFyZW50cykuICBJbiB0aGVcbmV4YW1wbGVzIGJlbG93LCAidGhlIGF0dHJpYnV0ZSIgcmVmZXJzIHRvIHRoZSBhdHRyaWJ1dGUgd2hvc2UgbmFtZSBpc1xudGhlIGtleSBvZiB0aGUgcHJvcGVydHkgaW4gdGhlIG93bmVyIGNsYXNzXCcgYGBfX2RpY3RfX2BgLlxuXG5vYmplY3QuX19nZXRfXyhzZWxmLCBpbnN0YW5jZSwgb3duZXIpXG5cbiAgIENhbGxlZCB0byBnZXQgdGhlIGF0dHJpYnV0ZSBvZiB0aGUgb3duZXIgY2xhc3MgKGNsYXNzIGF0dHJpYnV0ZVxuICAgYWNjZXNzKSBvciBvZiBhbiBpbnN0YW5jZSBvZiB0aGF0IGNsYXNzIChpbnN0YW5jZSBhdHRyaWJ1dGVcbiAgIGFjY2VzcykuICpvd25lciogaXMgYWx3YXlzIHRoZSBvd25lciBjbGFzcywgd2hpbGUgKmluc3RhbmNlKiBpcyB0aGVcbiAgIGluc3RhbmNlIHRoYXQgdGhlIGF0dHJpYnV0ZSB3YXMgYWNjZXNzZWQgdGhyb3VnaCwgb3IgYGBOb25lYGAgd2hlblxuICAgdGhlIGF0dHJpYnV0ZSBpcyBhY2Nlc3NlZCB0aHJvdWdoIHRoZSAqb3duZXIqLiAgVGhpcyBtZXRob2Qgc2hvdWxkXG4gICByZXR1cm4gdGhlIChjb21wdXRlZCkgYXR0cmlidXRlIHZhbHVlIG9yIHJhaXNlIGFuXG4gICBgYEF0dHJpYnV0ZUVycm9yYGAgZXhjZXB0aW9uLlxuXG5vYmplY3QuX19zZXRfXyhzZWxmLCBpbnN0YW5jZSwgdmFsdWUpXG5cbiAgIENhbGxlZCB0byBzZXQgdGhlIGF0dHJpYnV0ZSBvbiBhbiBpbnN0YW5jZSAqaW5zdGFuY2UqIG9mIHRoZSBvd25lclxuICAgY2xhc3MgdG8gYSBuZXcgdmFsdWUsICp2YWx1ZSouXG5cbm9iamVjdC5fX2RlbGV0ZV9fKHNlbGYsIGluc3RhbmNlKVxuXG4gICBDYWxsZWQgdG8gZGVsZXRlIHRoZSBhdHRyaWJ1dGUgb24gYW4gaW5zdGFuY2UgKmluc3RhbmNlKiBvZiB0aGVcbiAgIG93bmVyIGNsYXNzLlxuXG5cbkludm9raW5nIERlc2NyaXB0b3JzXG49PT09PT09PT09PT09PT09PT09PVxuXG5JbiBnZW5lcmFsLCBhIGRlc2NyaXB0b3IgaXMgYW4gb2JqZWN0IGF0dHJpYnV0ZSB3aXRoICJiaW5kaW5nXG5iZWhhdmlvciIsIG9uZSB3aG9zZSBhdHRyaWJ1dGUgYWNjZXNzIGhhcyBiZWVuIG92ZXJyaWRkZW4gYnkgbWV0aG9kc1xuaW4gdGhlIGRlc2NyaXB0b3IgcHJvdG9jb2w6ICBgYF9fZ2V0X18oKWBgLCBgYF9fc2V0X18oKWBgLCBhbmRcbmBgX19kZWxldGVfXygpYGAuIElmIGFueSBvZiB0aG9zZSBtZXRob2RzIGFyZSBkZWZpbmVkIGZvciBhbiBvYmplY3QsXG5pdCBpcyBzYWlkIHRvIGJlIGEgZGVzY3JpcHRvci5cblxuVGhlIGRlZmF1bHQgYmVoYXZpb3IgZm9yIGF0dHJpYnV0ZSBhY2Nlc3MgaXMgdG8gZ2V0LCBzZXQsIG9yIGRlbGV0ZVxudGhlIGF0dHJpYnV0ZSBmcm9tIGFuIG9iamVjdFwncyBkaWN0aW9uYXJ5LiBGb3IgaW5zdGFuY2UsIGBgYS54YGAgaGFzIGFcbmxvb2t1cCBjaGFpbiBzdGFydGluZyB3aXRoIGBgYS5fX2RpY3RfX1tcJ3hcJ11gYCwgdGhlblxuYGB0eXBlKGEpLl9fZGljdF9fW1wneFwnXWBgLCBhbmQgY29udGludWluZyB0aHJvdWdoIHRoZSBiYXNlIGNsYXNzZXMgb2ZcbmBgdHlwZShhKWBgIGV4Y2x1ZGluZyBtZXRhY2xhc3Nlcy5cblxuSG93ZXZlciwgaWYgdGhlIGxvb2tlZC11cCB2YWx1ZSBpcyBhbiBvYmplY3QgZGVmaW5pbmcgb25lIG9mIHRoZVxuZGVzY3JpcHRvciBtZXRob2RzLCB0aGVuIFB5dGhvbiBtYXkgb3ZlcnJpZGUgdGhlIGRlZmF1bHQgYmVoYXZpb3IgYW5kXG5pbnZva2UgdGhlIGRlc2NyaXB0b3IgbWV0aG9kIGluc3RlYWQuICBXaGVyZSB0aGlzIG9jY3VycyBpbiB0aGVcbnByZWNlZGVuY2UgY2hhaW4gZGVwZW5kcyBvbiB3aGljaCBkZXNjcmlwdG9yIG1ldGhvZHMgd2VyZSBkZWZpbmVkIGFuZFxuaG93IHRoZXkgd2VyZSBjYWxsZWQuXG5cblRoZSBzdGFydGluZyBwb2ludCBmb3IgZGVzY3JpcHRvciBpbnZvY2F0aW9uIGlzIGEgYmluZGluZywgYGBhLnhgYC5cbkhvdyB0aGUgYXJndW1lbnRzIGFyZSBhc3NlbWJsZWQgZGVwZW5kcyBvbiBgYGFgYDpcblxuRGlyZWN0IENhbGxcbiAgIFRoZSBzaW1wbGVzdCBhbmQgbGVhc3QgY29tbW9uIGNhbGwgaXMgd2hlbiB1c2VyIGNvZGUgZGlyZWN0bHlcbiAgIGludm9rZXMgYSBkZXNjcmlwdG9yIG1ldGhvZDogICAgYGB4Ll9fZ2V0X18oYSlgYC5cblxuSW5zdGFuY2UgQmluZGluZ1xuICAgSWYgYmluZGluZyB0byBhbiBvYmplY3QgaW5zdGFuY2UsIGBgYS54YGAgaXMgdHJhbnNmb3JtZWQgaW50byB0aGVcbiAgIGNhbGw6IGBgdHlwZShhKS5fX2RpY3RfX1tcJ3hcJ10uX19nZXRfXyhhLCB0eXBlKGEpKWBgLlxuXG5DbGFzcyBCaW5kaW5nXG4gICBJZiBiaW5kaW5nIHRvIGEgY2xhc3MsIGBgQS54YGAgaXMgdHJhbnNmb3JtZWQgaW50byB0aGUgY2FsbDpcbiAgIGBgQS5fX2RpY3RfX1tcJ3hcJ10uX19nZXRfXyhOb25lLCBBKWBgLlxuXG5TdXBlciBCaW5kaW5nXG4gICBJZiBgYGFgYCBpcyBhbiBpbnN0YW5jZSBvZiBgYHN1cGVyYGAsIHRoZW4gdGhlIGJpbmRpbmcgYGBzdXBlcihCLFxuICAgb2JqKS5tKClgYCBzZWFyY2hlcyBgYG9iai5fX2NsYXNzX18uX19tcm9fX2BgIGZvciB0aGUgYmFzZSBjbGFzc1xuICAgYGBBYGAgaW1tZWRpYXRlbHkgcHJlY2VkaW5nIGBgQmBgIGFuZCB0aGVuIGludm9rZXMgdGhlIGRlc2NyaXB0b3JcbiAgIHdpdGggdGhlIGNhbGw6IGBgQS5fX2RpY3RfX1tcJ21cJ10uX19nZXRfXyhvYmosIG9iai5fX2NsYXNzX18pYGAuXG5cbkZvciBpbnN0YW5jZSBiaW5kaW5ncywgdGhlIHByZWNlZGVuY2Ugb2YgZGVzY3JpcHRvciBpbnZvY2F0aW9uIGRlcGVuZHNcbm9uIHRoZSB3aGljaCBkZXNjcmlwdG9yIG1ldGhvZHMgYXJlIGRlZmluZWQuICBBIGRlc2NyaXB0b3IgY2FuIGRlZmluZVxuYW55IGNvbWJpbmF0aW9uIG9mIGBgX19nZXRfXygpYGAsIGBgX19zZXRfXygpYGAgYW5kIGBgX19kZWxldGVfXygpYGAuXG5JZiBpdCBkb2VzIG5vdCBkZWZpbmUgYGBfX2dldF9fKClgYCwgdGhlbiBhY2Nlc3NpbmcgdGhlIGF0dHJpYnV0ZSB3aWxsXG5yZXR1cm4gdGhlIGRlc2NyaXB0b3Igb2JqZWN0IGl0c2VsZiB1bmxlc3MgdGhlcmUgaXMgYSB2YWx1ZSBpbiB0aGVcbm9iamVjdFwncyBpbnN0YW5jZSBkaWN0aW9uYXJ5LiAgSWYgdGhlIGRlc2NyaXB0b3IgZGVmaW5lcyBgYF9fc2V0X18oKWBgXG5hbmQvb3IgYGBfX2RlbGV0ZV9fKClgYCwgaXQgaXMgYSBkYXRhIGRlc2NyaXB0b3I7IGlmIGl0IGRlZmluZXNcbm5laXRoZXIsIGl0IGlzIGEgbm9uLWRhdGEgZGVzY3JpcHRvci4gIE5vcm1hbGx5LCBkYXRhIGRlc2NyaXB0b3JzXG5kZWZpbmUgYm90aCBgYF9fZ2V0X18oKWBgIGFuZCBgYF9fc2V0X18oKWBgLCB3aGlsZSBub24tZGF0YVxuZGVzY3JpcHRvcnMgaGF2ZSBqdXN0IHRoZSBgYF9fZ2V0X18oKWBgIG1ldGhvZC4gIERhdGEgZGVzY3JpcHRvcnMgd2l0aFxuYGBfX3NldF9fKClgYCBhbmQgYGBfX2dldF9fKClgYCBkZWZpbmVkIGFsd2F5cyBvdmVycmlkZSBhIHJlZGVmaW5pdGlvblxuaW4gYW4gaW5zdGFuY2UgZGljdGlvbmFyeS4gIEluIGNvbnRyYXN0LCBub24tZGF0YSBkZXNjcmlwdG9ycyBjYW4gYmVcbm92ZXJyaWRkZW4gYnkgaW5zdGFuY2VzLlxuXG5QeXRob24gbWV0aG9kcyAoaW5jbHVkaW5nIGBgc3RhdGljbWV0aG9kKClgYCBhbmQgYGBjbGFzc21ldGhvZCgpYGApXG5hcmUgaW1wbGVtZW50ZWQgYXMgbm9uLWRhdGEgZGVzY3JpcHRvcnMuICBBY2NvcmRpbmdseSwgaW5zdGFuY2VzIGNhblxucmVkZWZpbmUgYW5kIG92ZXJyaWRlIG1ldGhvZHMuICBUaGlzIGFsbG93cyBpbmRpdmlkdWFsIGluc3RhbmNlcyB0b1xuYWNxdWlyZSBiZWhhdmlvcnMgdGhhdCBkaWZmZXIgZnJvbSBvdGhlciBpbnN0YW5jZXMgb2YgdGhlIHNhbWUgY2xhc3MuXG5cblRoZSBgYHByb3BlcnR5KClgYCBmdW5jdGlvbiBpcyBpbXBsZW1lbnRlZCBhcyBhIGRhdGEgZGVzY3JpcHRvci5cbkFjY29yZGluZ2x5LCBpbnN0YW5jZXMgY2Fubm90IG92ZXJyaWRlIHRoZSBiZWhhdmlvciBvZiBhIHByb3BlcnR5LlxuXG5cbl9fc2xvdHNfX1xuPT09PT09PT09XG5cbkJ5IGRlZmF1bHQsIGluc3RhbmNlcyBvZiBjbGFzc2VzIGhhdmUgYSBkaWN0aW9uYXJ5IGZvciBhdHRyaWJ1dGVcbnN0b3JhZ2UuICBUaGlzIHdhc3RlcyBzcGFjZSBmb3Igb2JqZWN0cyBoYXZpbmcgdmVyeSBmZXcgaW5zdGFuY2VcbnZhcmlhYmxlcy4gIFRoZSBzcGFjZSBjb25zdW1wdGlvbiBjYW4gYmVjb21lIGFjdXRlIHdoZW4gY3JlYXRpbmcgbGFyZ2Vcbm51bWJlcnMgb2YgaW5zdGFuY2VzLlxuXG5UaGUgZGVmYXVsdCBjYW4gYmUgb3ZlcnJpZGRlbiBieSBkZWZpbmluZyAqX19zbG90c19fKiBpbiBhIGNsYXNzXG5kZWZpbml0aW9uLiBUaGUgKl9fc2xvdHNfXyogZGVjbGFyYXRpb24gdGFrZXMgYSBzZXF1ZW5jZSBvZiBpbnN0YW5jZVxudmFyaWFibGVzIGFuZCByZXNlcnZlcyBqdXN0IGVub3VnaCBzcGFjZSBpbiBlYWNoIGluc3RhbmNlIHRvIGhvbGQgYVxudmFsdWUgZm9yIGVhY2ggdmFyaWFibGUuICBTcGFjZSBpcyBzYXZlZCBiZWNhdXNlICpfX2RpY3RfXyogaXMgbm90XG5jcmVhdGVkIGZvciBlYWNoIGluc3RhbmNlLlxuXG5vYmplY3QuX19zbG90c19fXG5cbiAgIFRoaXMgY2xhc3MgdmFyaWFibGUgY2FuIGJlIGFzc2lnbmVkIGEgc3RyaW5nLCBpdGVyYWJsZSwgb3Igc2VxdWVuY2VcbiAgIG9mIHN0cmluZ3Mgd2l0aCB2YXJpYWJsZSBuYW1lcyB1c2VkIGJ5IGluc3RhbmNlcy4gIElmIGRlZmluZWQgaW4gYVxuICAgY2xhc3MsICpfX3Nsb3RzX18qIHJlc2VydmVzIHNwYWNlIGZvciB0aGUgZGVjbGFyZWQgdmFyaWFibGVzIGFuZFxuICAgcHJldmVudHMgdGhlIGF1dG9tYXRpYyBjcmVhdGlvbiBvZiAqX19kaWN0X18qIGFuZCAqX193ZWFrcmVmX18qIGZvclxuICAgZWFjaCBpbnN0YW5jZS5cblxuXG5Ob3RlcyBvbiB1c2luZyAqX19zbG90c19fKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuKiBXaGVuIGluaGVyaXRpbmcgZnJvbSBhIGNsYXNzIHdpdGhvdXQgKl9fc2xvdHNfXyosIHRoZSAqX19kaWN0X18qXG4gIGF0dHJpYnV0ZSBvZiB0aGF0IGNsYXNzIHdpbGwgYWx3YXlzIGJlIGFjY2Vzc2libGUsIHNvIGEgKl9fc2xvdHNfXypcbiAgZGVmaW5pdGlvbiBpbiB0aGUgc3ViY2xhc3MgaXMgbWVhbmluZ2xlc3MuXG5cbiogV2l0aG91dCBhICpfX2RpY3RfXyogdmFyaWFibGUsIGluc3RhbmNlcyBjYW5ub3QgYmUgYXNzaWduZWQgbmV3XG4gIHZhcmlhYmxlcyBub3QgbGlzdGVkIGluIHRoZSAqX19zbG90c19fKiBkZWZpbml0aW9uLiAgQXR0ZW1wdHMgdG9cbiAgYXNzaWduIHRvIGFuIHVubGlzdGVkIHZhcmlhYmxlIG5hbWUgcmFpc2VzIGBgQXR0cmlidXRlRXJyb3JgYC4gSWZcbiAgZHluYW1pYyBhc3NpZ25tZW50IG9mIG5ldyB2YXJpYWJsZXMgaXMgZGVzaXJlZCwgdGhlbiBhZGRcbiAgYGBcJ19fZGljdF9fXCdgYCB0byB0aGUgc2VxdWVuY2Ugb2Ygc3RyaW5ncyBpbiB0aGUgKl9fc2xvdHNfXypcbiAgZGVjbGFyYXRpb24uXG5cbiogV2l0aG91dCBhICpfX3dlYWtyZWZfXyogdmFyaWFibGUgZm9yIGVhY2ggaW5zdGFuY2UsIGNsYXNzZXMgZGVmaW5pbmdcbiAgKl9fc2xvdHNfXyogZG8gbm90IHN1cHBvcnQgd2VhayByZWZlcmVuY2VzIHRvIGl0cyBpbnN0YW5jZXMuIElmIHdlYWtcbiAgcmVmZXJlbmNlIHN1cHBvcnQgaXMgbmVlZGVkLCB0aGVuIGFkZCBgYFwnX193ZWFrcmVmX19cJ2BgIHRvIHRoZVxuICBzZXF1ZW5jZSBvZiBzdHJpbmdzIGluIHRoZSAqX19zbG90c19fKiBkZWNsYXJhdGlvbi5cblxuKiAqX19zbG90c19fKiBhcmUgaW1wbGVtZW50ZWQgYXQgdGhlIGNsYXNzIGxldmVsIGJ5IGNyZWF0aW5nXG4gIGRlc2NyaXB0b3JzICgqSW1wbGVtZW50aW5nIERlc2NyaXB0b3JzKikgZm9yIGVhY2ggdmFyaWFibGUgbmFtZS4gIEFzXG4gIGEgcmVzdWx0LCBjbGFzcyBhdHRyaWJ1dGVzIGNhbm5vdCBiZSB1c2VkIHRvIHNldCBkZWZhdWx0IHZhbHVlcyBmb3JcbiAgaW5zdGFuY2UgdmFyaWFibGVzIGRlZmluZWQgYnkgKl9fc2xvdHNfXyo7IG90aGVyd2lzZSwgdGhlIGNsYXNzXG4gIGF0dHJpYnV0ZSB3b3VsZCBvdmVyd3JpdGUgdGhlIGRlc2NyaXB0b3IgYXNzaWdubWVudC5cblxuKiBUaGUgYWN0aW9uIG9mIGEgKl9fc2xvdHNfXyogZGVjbGFyYXRpb24gaXMgbGltaXRlZCB0byB0aGUgY2xhc3NcbiAgd2hlcmUgaXQgaXMgZGVmaW5lZC4gIEFzIGEgcmVzdWx0LCBzdWJjbGFzc2VzIHdpbGwgaGF2ZSBhICpfX2RpY3RfXypcbiAgdW5sZXNzIHRoZXkgYWxzbyBkZWZpbmUgKl9fc2xvdHNfXyogKHdoaWNoIG11c3Qgb25seSBjb250YWluIG5hbWVzXG4gIG9mIGFueSAqYWRkaXRpb25hbCogc2xvdHMpLlxuXG4qIElmIGEgY2xhc3MgZGVmaW5lcyBhIHNsb3QgYWxzbyBkZWZpbmVkIGluIGEgYmFzZSBjbGFzcywgdGhlIGluc3RhbmNlXG4gIHZhcmlhYmxlIGRlZmluZWQgYnkgdGhlIGJhc2UgY2xhc3Mgc2xvdCBpcyBpbmFjY2Vzc2libGUgKGV4Y2VwdCBieVxuICByZXRyaWV2aW5nIGl0cyBkZXNjcmlwdG9yIGRpcmVjdGx5IGZyb20gdGhlIGJhc2UgY2xhc3MpLiBUaGlzXG4gIHJlbmRlcnMgdGhlIG1lYW5pbmcgb2YgdGhlIHByb2dyYW0gdW5kZWZpbmVkLiAgSW4gdGhlIGZ1dHVyZSwgYVxuICBjaGVjayBtYXkgYmUgYWRkZWQgdG8gcHJldmVudCB0aGlzLlxuXG4qIE5vbmVtcHR5ICpfX3Nsb3RzX18qIGRvZXMgbm90IHdvcmsgZm9yIGNsYXNzZXMgZGVyaXZlZCBmcm9tXG4gICJ2YXJpYWJsZS1sZW5ndGgiIGJ1aWx0LWluIHR5cGVzIHN1Y2ggYXMgYGBpbnRgYCwgYGBzdHJgYCBhbmRcbiAgYGB0dXBsZWBgLlxuXG4qIEFueSBub24tc3RyaW5nIGl0ZXJhYmxlIG1heSBiZSBhc3NpZ25lZCB0byAqX19zbG90c19fKi4gTWFwcGluZ3MgbWF5XG4gIGFsc28gYmUgdXNlZDsgaG93ZXZlciwgaW4gdGhlIGZ1dHVyZSwgc3BlY2lhbCBtZWFuaW5nIG1heSBiZVxuICBhc3NpZ25lZCB0byB0aGUgdmFsdWVzIGNvcnJlc3BvbmRpbmcgdG8gZWFjaCBrZXkuXG5cbiogKl9fY2xhc3NfXyogYXNzaWdubWVudCB3b3JrcyBvbmx5IGlmIGJvdGggY2xhc3NlcyBoYXZlIHRoZSBzYW1lXG4gICpfX3Nsb3RzX18qLlxuJywKKyAnYXR0cmlidXRlLWFjY2Vzcyc6ICdcbkN1c3RvbWl6aW5nIGF0dHJpYnV0ZSBhY2Nlc3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuVGhlIGZvbGxvd2luZyBtZXRob2RzIGNhbiBiZSBkZWZpbmVkIHRvIGN1c3RvbWl6ZSB0aGUgbWVhbmluZyBvZlxuYXR0cmlidXRlIGFjY2VzcyAodXNlIG9mLCBhc3NpZ25tZW50IHRvLCBvciBkZWxldGlvbiBvZiBgYHgubmFtZWBgKVxuZm9yIGNsYXNzIGluc3RhbmNlcy5cblxub2JqZWN0Ll9fZ2V0YXR0cl9fKHNlbGYsIG5hbWUpXG5cbiAgIENhbGxlZCB3aGVuIGFuIGF0dHJpYnV0ZSBsb29rdXAgaGFzIG5vdCBmb3VuZCB0aGUgYXR0cmlidXRlIGluIHRoZVxuICAgdXN1YWwgcGxhY2VzIChpLmUuIGl0IGlzIG5vdCBhbiBpbnN0YW5jZSBhdHRyaWJ1dGUgbm9yIGlzIGl0IGZvdW5kXG4gICBpbiB0aGUgY2xhc3MgdHJlZSBmb3IgYGBzZWxmYGApLiAgYGBuYW1lYGAgaXMgdGhlIGF0dHJpYnV0ZSBuYW1lLlxuICAgVGhpcyBtZXRob2Qgc2hvdWxkIHJldHVybiB0aGUgKGNvbXB1dGVkKSBhdHRyaWJ1dGUgdmFsdWUgb3IgcmFpc2VcbiAgIGFuIGBgQXR0cmlidXRlRXJyb3JgYCBleGNlcHRpb24uXG5cbiAgIE5vdGUgdGhhdCBpZiB0aGUgYXR0cmlidXRlIGlzIGZvdW5kIHRocm91Z2ggdGhlIG5vcm1hbCBtZWNoYW5pc20sXG4gICBgYF9fZ2V0YXR0cl9fKClgYCBpcyBub3QgY2FsbGVkLiAgKFRoaXMgaXMgYW4gaW50ZW50aW9uYWwgYXN5bW1ldHJ5XG4gICBiZXR3ZWVuIGBgX19nZXRhdHRyX18oKWBgIGFuZCBgYF9fc2V0YXR0cl9fKClgYC4pIFRoaXMgaXMgZG9uZSBib3RoXG4gICBmb3IgZWZmaWNpZW5jeSByZWFzb25zIGFuZCBiZWNhdXNlIG90aGVyd2lzZSBgYF9fZ2V0YXR0cl9fKClgYFxuICAgd291bGQgaGF2ZSBubyB3YXkgdG8gYWNjZXNzIG90aGVyIGF0dHJpYnV0ZXMgb2YgdGhlIGluc3RhbmNlLiAgTm90ZVxuICAgdGhhdCBhdCBsZWFzdCBmb3IgaW5zdGFuY2UgdmFyaWFibGVzLCB5b3UgY2FuIGZha2UgdG90YWwgY29udHJvbCBieVxuICAgbm90IGluc2VydGluZyBhbnkgdmFsdWVzIGluIHRoZSBpbnN0YW5jZSBhdHRyaWJ1dGUgZGljdGlvbmFyeSAoYnV0XG4gICBpbnN0ZWFkIGluc2VydGluZyB0aGVtIGluIGFub3RoZXIgb2JqZWN0KS4gIFNlZSB0aGVcbiAgIGBgX19nZXRhdHRyaWJ1dGVfXygpYGAgbWV0aG9kIGJlbG93IGZvciBhIHdheSB0byBhY3R1YWxseSBnZXQgdG90YWxcbiAgIGNvbnRyb2wgb3ZlciBhdHRyaWJ1dGUgYWNjZXNzLlxuXG5vYmplY3QuX19nZXRhdHRyaWJ1dGVfXyhzZWxmLCBuYW1lKVxuXG4gICBDYWxsZWQgdW5jb25kaXRpb25hbGx5IHRvIGltcGxlbWVudCBhdHRyaWJ1dGUgYWNjZXNzZXMgZm9yXG4gICBpbnN0YW5jZXMgb2YgdGhlIGNsYXNzLiBJZiB0aGUgY2xhc3MgYWxzbyBkZWZpbmVzXG4gICBgYF9fZ2V0YXR0cl9fKClgYCwgdGhlIGxhdHRlciB3aWxsIG5vdCBiZSBjYWxsZWQgdW5sZXNzXG4gICBgYF9fZ2V0YXR0cmlidXRlX18oKWBgIGVpdGhlciBjYWxscyBpdCBleHBsaWNpdGx5IG9yIHJhaXNlcyBhblxuICAgYGBBdHRyaWJ1dGVFcnJvcmBgLiBUaGlzIG1ldGhvZCBzaG91bGQgcmV0dXJuIHRoZSAoY29tcHV0ZWQpXG4gICBhdHRyaWJ1dGUgdmFsdWUgb3IgcmFpc2UgYW4gYGBBdHRyaWJ1dGVFcnJvcmBgIGV4Y2VwdGlvbi4gSW4gb3JkZXJcbiAgIHRvIGF2b2lkIGluZmluaXRlIHJlY3Vyc2lvbiBpbiB0aGlzIG1ldGhvZCwgaXRzIGltcGxlbWVudGF0aW9uXG4gICBzaG91bGQgYWx3YXlzIGNhbGwgdGhlIGJhc2UgY2xhc3MgbWV0aG9kIHdpdGggdGhlIHNhbWUgbmFtZSB0b1xuICAgYWNjZXNzIGFueSBhdHRyaWJ1dGVzIGl0IG5lZWRzLCBmb3IgZXhhbXBsZSxcbiAgIGBgb2JqZWN0Ll9fZ2V0YXR0cmlidXRlX18oc2VsZiwgbmFtZSlgYC5cblxuICAgTm90ZTogVGhpcyBtZXRob2QgbWF5IHN0aWxsIGJlIGJ5cGFzc2VkIHdoZW4gbG9va2luZyB1cCBzcGVjaWFsIG1ldGhvZHNcbiAgICAgYXMgdGhlIHJlc3VsdCBvZiBpbXBsaWNpdCBpbnZvY2F0aW9uIHZpYSBsYW5ndWFnZSBzeW50YXggb3JcbiAgICAgYnVpbHQtaW4gZnVuY3Rpb25zLiBTZWUgKlNwZWNpYWwgbWV0aG9kIGxvb2t1cCouXG5cbm9iamVjdC5fX3NldGF0dHJfXyhzZWxmLCBuYW1lLCB2YWx1ZSlcblxuICAgQ2FsbGVkIHdoZW4gYW4gYXR0cmlidXRlIGFzc2lnbm1lbnQgaXMgYXR0ZW1wdGVkLiAgVGhpcyBpcyBjYWxsZWRcbiAgIGluc3RlYWQgb2YgdGhlIG5vcm1hbCBtZWNoYW5pc20gKGkuZS4gc3RvcmUgdGhlIHZhbHVlIGluIHRoZVxuICAgaW5zdGFuY2UgZGljdGlvbmFyeSkuICpuYW1lKiBpcyB0aGUgYXR0cmlidXRlIG5hbWUsICp2YWx1ZSogaXMgdGhlXG4gICB2YWx1ZSB0byBiZSBhc3NpZ25lZCB0byBpdC5cblxuICAgSWYgYGBfX3NldGF0dHJfXygpYGAgd2FudHMgdG8gYXNzaWduIHRvIGFuIGluc3RhbmNlIGF0dHJpYnV0ZSwgaXRcbiAgIHNob3VsZCBjYWxsIHRoZSBiYXNlIGNsYXNzIG1ldGhvZCB3aXRoIHRoZSBzYW1lIG5hbWUsIGZvciBleGFtcGxlLFxuICAgYGBvYmplY3QuX19zZXRhdHRyX18oc2VsZiwgbmFtZSwgdmFsdWUpYGAuXG5cbm9iamVjdC5fX2RlbGF0dHJfXyhzZWxmLCBuYW1lKVxuXG4gICBMaWtlIGBgX19zZXRhdHRyX18oKWBgIGJ1dCBmb3IgYXR0cmlidXRlIGRlbGV0aW9uIGluc3RlYWQgb2ZcbiAgIGFzc2lnbm1lbnQuICBUaGlzIHNob3VsZCBvbmx5IGJlIGltcGxlbWVudGVkIGlmIGBgZGVsIG9iai5uYW1lYGAgaXNcbiAgIG1lYW5pbmdmdWwgZm9yIHRoZSBvYmplY3QuXG5cbm9iamVjdC5fX2Rpcl9fKHNlbGYpXG5cbiAgIENhbGxlZCB3aGVuIGBgZGlyKClgYCBpcyBjYWxsZWQgb24gdGhlIG9iamVjdC4gQSBzZXF1ZW5jZSBtdXN0IGJlXG4gICByZXR1cm5lZC4gYGBkaXIoKWBgIGNvbnZlcnRzIHRoZSByZXR1cm5lZCBzZXF1ZW5jZSB0byBhIGxpc3QgYW5kXG4gICBzb3J0cyBpdC5cblxuXG5JbXBsZW1lbnRpbmcgRGVzY3JpcHRvcnNcbj09PT09PT09PT09PT09PT09PT09PT09PVxuXG5UaGUgZm9sbG93aW5nIG1ldGhvZHMgb25seSBhcHBseSB3aGVuIGFuIGluc3RhbmNlIG9mIHRoZSBjbGFzc1xuY29udGFpbmluZyB0aGUgbWV0aG9kIChhIHNvLWNhbGxlZCAqZGVzY3JpcHRvciogY2xhc3MpIGFwcGVhcnMgaW4gYW5cbipvd25lciogY2xhc3MgKHRoZSBkZXNjcmlwdG9yIG11c3QgYmUgaW4gZWl0aGVyIHRoZSBvd25lclwncyBjbGFzc1xuZGljdGlvbmFyeSBvciBpbiB0aGUgY2xhc3MgZGljdGlvbmFyeSBmb3Igb25lIG9mIGl0cyBwYXJlbnRzKS4gIEluIHRoZVxuZXhhbXBsZXMgYmVsb3csICJ0aGUgYXR0cmlidXRlIiByZWZlcnMgdG8gdGhlIGF0dHJpYnV0ZSB3aG9zZSBuYW1lIGlzXG50aGUga2V5IG9mIHRoZSBwcm9wZXJ0eSBpbiB0aGUgb3duZXIgY2xhc3NcJyBgYF9fZGljdF9fYGAuXG5cbm9iamVjdC5fX2dldF9fKHNlbGYsIGluc3RhbmNlLCBvd25lcilcblxuICAgQ2FsbGVkIHRvIGdldCB0aGUgYXR0cmlidXRlIG9mIHRoZSBvd25lciBjbGFzcyAoY2xhc3MgYXR0cmlidXRlXG4gICBhY2Nlc3MpIG9yIG9mIGFuIGluc3RhbmNlIG9mIHRoYXQgY2xhc3MgKGluc3RhbmNlIGF0dHJpYnV0ZVxuICAgYWNjZXNzKS4gKm93bmVyKiBpcyBhbHdheXMgdGhlIG93bmVyIGNsYXNzLCB3aGlsZSAqaW5zdGFuY2UqIGlzIHRoZVxuICAgaW5zdGFuY2UgdGhhdCB0aGUgYXR0cmlidXRlIHdhcyBhY2Nlc3NlZCB0aHJvdWdoLCBvciBgYE5vbmVgYCB3aGVuXG4gICB0aGUgYXR0cmlidXRlIGlzIGFjY2Vzc2VkIHRocm91Z2ggdGhlICpvd25lciouICBUaGlzIG1ldGhvZCBzaG91bGRcbiAgIHJldHVybiB0aGUgKGNvbXB1dGVkKSBhdHRyaWJ1dGUgdmFsdWUgb3IgcmFpc2UgYW5cbiAgIGBgQXR0cmlidXRlRXJyb3JgYCBleGNlcHRpb24uXG5cbm9iamVjdC5fX3NldF9fKHNlbGYsIGluc3RhbmNlLCB2YWx1ZSlcblxuICAgQ2FsbGVkIHRvIHNldCB0aGUgYXR0cmlidXRlIG9uIGFuIGluc3RhbmNlICppbnN0YW5jZSogb2YgdGhlIG93bmVyXG4gICBjbGFzcyB0byBhIG5ldyB2YWx1ZSwgKnZhbHVlKi5cblxub2JqZWN0Ll9fZGVsZXRlX18oc2VsZiwgaW5zdGFuY2UpXG5cbiAgIENhbGxlZCB0byBkZWxldGUgdGhlIGF0dHJpYnV0ZSBvbiBhbiBpbnN0YW5jZSAqaW5zdGFuY2UqIG9mIHRoZVxuICAgb3duZXIgY2xhc3MuXG5cblxuSW52b2tpbmcgRGVzY3JpcHRvcnNcbj09PT09PT09PT09PT09PT09PT09XG5cbkluIGdlbmVyYWwsIGEgZGVzY3JpcHRvciBpcyBhbiBvYmplY3QgYXR0cmlidXRlIHdpdGggImJpbmRpbmdcbmJlaGF2aW9yIiwgb25lIHdob3NlIGF0dHJpYnV0ZSBhY2Nlc3MgaGFzIGJlZW4gb3ZlcnJpZGRlbiBieSBtZXRob2RzXG5pbiB0aGUgZGVzY3JpcHRvciBwcm90b2NvbDogIGBgX19nZXRfXygpYGAsIGBgX19zZXRfXygpYGAsIGFuZFxuYGBfX2RlbGV0ZV9fKClgYC4gSWYgYW55IG9mIHRob3NlIG1ldGhvZHMgYXJlIGRlZmluZWQgZm9yIGFuIG9iamVjdCxcbml0IGlzIHNhaWQgdG8gYmUgYSBkZXNjcmlwdG9yLlxuXG5UaGUgZGVmYXVsdCBiZWhhdmlvciBmb3IgYXR0cmlidXRlIGFjY2VzcyBpcyB0byBnZXQsIHNldCwgb3IgZGVsZXRlXG50aGUgYXR0cmlidXRlIGZyb20gYW4gb2JqZWN0XCdzIGRpY3Rpb25hcnkuIEZvciBpbnN0YW5jZSwgYGBhLnhgYCBoYXMgYVxubG9va3VwIGNoYWluIHN0YXJ0aW5nIHdpdGggYGBhLl9fZGljdF9fW1wneFwnXWBgLCB0aGVuXG5gYHR5cGUoYSkuX19kaWN0X19bXCd4XCddYGAsIGFuZCBjb250aW51aW5nIHRocm91Z2ggdGhlIGJhc2UgY2xhc3NlcyBvZlxuYGB0eXBlKGEpYGAgZXhjbHVkaW5nIG1ldGFjbGFzc2VzLlxuXG5Ib3dldmVyLCBpZiB0aGUgbG9va2VkLXVwIHZhbHVlIGlzIGFuIG9iamVjdCBkZWZpbmluZyBvbmUgb2YgdGhlXG5kZXNjcmlwdG9yIG1ldGhvZHMsIHRoZW4gUHl0aG9uIG1heSBvdmVycmlkZSB0aGUgZGVmYXVsdCBiZWhhdmlvciBhbmRcbmludm9rZSB0aGUgZGVzY3JpcHRvciBtZXRob2QgaW5zdGVhZC4gIFdoZXJlIHRoaXMgb2NjdXJzIGluIHRoZVxucHJlY2VkZW5jZSBjaGFpbiBkZXBlbmRzIG9uIHdoaWNoIGRlc2NyaXB0b3IgbWV0aG9kcyB3ZXJlIGRlZmluZWQgYW5kXG5ob3cgdGhleSB3ZXJlIGNhbGxlZC5cblxuVGhlIHN0YXJ0aW5nIHBvaW50IGZvciBkZXNjcmlwdG9yIGludm9jYXRpb24gaXMgYSBiaW5kaW5nLCBgYGEueGBgLlxuSG93IHRoZSBhcmd1bWVudHMgYXJlIGFzc2VtYmxlZCBkZXBlbmRzIG9uIGBgYWBgOlxuXG5EaXJlY3QgQ2FsbFxuICAgVGhlIHNpbXBsZXN0IGFuZCBsZWFzdCBjb21tb24gY2FsbCBpcyB3aGVuIHVzZXIgY29kZSBkaXJlY3RseVxuICAgaW52b2tlcyBhIGRlc2NyaXB0b3IgbWV0aG9kOiAgICBgYHguX19nZXRfXyhhKWBgLlxuXG5JbnN0YW5jZSBCaW5kaW5nXG4gICBJZiBiaW5kaW5nIHRvIGFuIG9iamVjdCBpbnN0YW5jZSwgYGBhLnhgYCBpcyB0cmFuc2Zvcm1lZCBpbnRvIHRoZVxuICAgY2FsbDogYGB0eXBlKGEpLl9fZGljdF9fW1wneFwnXS5fX2dldF9fKGEsIHR5cGUoYSkpYGAuXG5cbkNsYXNzIEJpbmRpbmdcbiAgIElmIGJpbmRpbmcgdG8gYSBjbGFzcywgYGBBLnhgYCBpcyB0cmFuc2Zvcm1lZCBpbnRvIHRoZSBjYWxsOlxuICAgYGBBLl9fZGljdF9fW1wneFwnXS5fX2dldF9fKE5vbmUsIEEpYGAuXG5cblN1cGVyIEJpbmRpbmdcbiAgIElmIGBgYWBgIGlzIGFuIGluc3RhbmNlIG9mIGBgc3VwZXJgYCwgdGhlbiB0aGUgYmluZGluZyBgYHN1cGVyKEIsXG4gICBvYmopLm0oKWBgIHNlYXJjaGVzIGBgb2JqLl9fY2xhc3NfXy5fX21yb19fYGAgZm9yIHRoZSBiYXNlIGNsYXNzXG4gICBgYEFgYCBpbW1lZGlhdGVseSBwcmVjZWRpbmcgYGBCYGAgYW5kIHRoZW4gaW52b2tlcyB0aGUgZGVzY3JpcHRvclxuICAgd2l0aCB0aGUgY2FsbDogYGBBLl9fZGljdF9fW1wnbVwnXS5fX2dldF9fKG9iaiwgb2JqLl9fY2xhc3NfXylgYC5cblxuRm9yIGluc3RhbmNlIGJpbmRpbmdzLCB0aGUgcHJlY2VkZW5jZSBvZiBkZXNjcmlwdG9yIGludm9jYXRpb24gZGVwZW5kc1xub24gdGhlIHdoaWNoIGRlc2NyaXB0b3IgbWV0aG9kcyBhcmUgZGVmaW5lZC4gIEEgZGVzY3JpcHRvciBjYW4gZGVmaW5lXG5hbnkgY29tYmluYXRpb24gb2YgYGBfX2dldF9fKClgYCwgYGBfX3NldF9fKClgYCBhbmQgYGBfX2RlbGV0ZV9fKClgYC5cbklmIGl0IGRvZXMgbm90IGRlZmluZSBgYF9fZ2V0X18oKWBgLCB0aGVuIGFjY2Vzc2luZyB0aGUgYXR0cmlidXRlIHdpbGxcbnJldHVybiB0aGUgZGVzY3JpcHRvciBvYmplY3QgaXRzZWxmIHVubGVzcyB0aGVyZSBpcyBhIHZhbHVlIGluIHRoZVxub2JqZWN0XCdzIGluc3RhbmNlIGRpY3Rpb25hcnkuICBJZiB0aGUgZGVzY3JpcHRvciBkZWZpbmVzIGBgX19zZXRfXygpYGBcbmFuZC9vciBgYF9fZGVsZXRlX18oKWBgLCBpdCBpcyBhIGRhdGEgZGVzY3JpcHRvcjsgaWYgaXQgZGVmaW5lc1xubmVpdGhlciwgaXQgaXMgYSBub24tZGF0YSBkZXNjcmlwdG9yLiAgTm9ybWFsbHksIGRhdGEgZGVzY3JpcHRvcnNcbmRlZmluZSBib3RoIGBgX19nZXRfXygpYGAgYW5kIGBgX19zZXRfXygpYGAsIHdoaWxlIG5vbi1kYXRhXG5kZXNjcmlwdG9ycyBoYXZlIGp1c3QgdGhlIGBgX19nZXRfXygpYGAgbWV0aG9kLiAgRGF0YSBkZXNjcmlwdG9ycyB3aXRoXG5gYF9fc2V0X18oKWBgIGFuZCBgYF9fZ2V0X18oKWBgIGRlZmluZWQgYWx3YXlzIG92ZXJyaWRlIGEgcmVkZWZpbml0aW9uXG5pbiBhbiBpbnN0YW5jZSBkaWN0aW9uYXJ5LiAgSW4gY29udHJhc3QsIG5vbi1kYXRhIGRlc2NyaXB0b3JzIGNhbiBiZVxub3ZlcnJpZGRlbiBieSBpbnN0YW5jZXMuXG5cblB5dGhvbiBtZXRob2RzIChpbmNsdWRpbmcgYGBzdGF0aWNtZXRob2QoKWBgIGFuZCBgYGNsYXNzbWV0aG9kKClgYClcbmFyZSBpbXBsZW1lbnRlZCBhcyBub24tZGF0YSBkZXNjcmlwdG9ycy4gIEFjY29yZGluZ2x5LCBpbnN0YW5jZXMgY2FuXG5yZWRlZmluZSBhbmQgb3ZlcnJpZGUgbWV0aG9kcy4gIFRoaXMgYWxsb3dzIGluZGl2aWR1YWwgaW5zdGFuY2VzIHRvXG5hY3F1aXJlIGJlaGF2aW9ycyB0aGF0IGRpZmZlciBmcm9tIG90aGVyIGluc3RhbmNlcyBvZiB0aGUgc2FtZSBjbGFzcy5cblxuVGhlIGBgcHJvcGVydHkoKWBgIGZ1bmN0aW9uIGlzIGltcGxlbWVudGVkIGFzIGEgZGF0YSBkZXNjcmlwdG9yLlxuQWNjb3JkaW5nbHksIGluc3RhbmNlcyBjYW5ub3Qgb3ZlcnJpZGUgdGhlIGJlaGF2aW9yIG9mIGEgcHJvcGVydHkuXG5cblxuX19zbG90c19fXG49PT09PT09PT1cblxuQnkgZGVmYXVsdCwgaW5zdGFuY2VzIG9mIGNsYXNzZXMgaGF2ZSBhIGRpY3Rpb25hcnkgZm9yIGF0dHJpYnV0ZVxuc3RvcmFnZS4gIFRoaXMgd2FzdGVzIHNwYWNlIGZvciBvYmplY3RzIGhhdmluZyB2ZXJ5IGZldyBpbnN0YW5jZVxudmFyaWFibGVzLiAgVGhlIHNwYWNlIGNvbnN1bXB0aW9uIGNhbiBiZWNvbWUgYWN1dGUgd2hlbiBjcmVhdGluZyBsYXJnZVxubnVtYmVycyBvZiBpbnN0YW5jZXMuXG5cblRoZSBkZWZhdWx0IGNhbiBiZSBvdmVycmlkZGVuIGJ5IGRlZmluaW5nICpfX3Nsb3RzX18qIGluIGEgY2xhc3NcbmRlZmluaXRpb24uIFRoZSAqX19zbG90c19fKiBkZWNsYXJhdGlvbiB0YWtlcyBhIHNlcXVlbmNlIG9mIGluc3RhbmNlXG52YXJpYWJsZXMgYW5kIHJlc2VydmVzIGp1c3QgZW5vdWdoIHNwYWNlIGluIGVhY2ggaW5zdGFuY2UgdG8gaG9sZCBhXG52YWx1ZSBmb3IgZWFjaCB2YXJpYWJsZS4gIFNwYWNlIGlzIHNhdmVkIGJlY2F1c2UgKl9fZGljdF9fKiBpcyBub3RcbmNyZWF0ZWQgZm9yIGVhY2ggaW5zdGFuY2UuXG5cbm9iamVjdC5fX3Nsb3RzX19cblxuICAgVGhpcyBjbGFzcyB2YXJpYWJsZSBjYW4gYmUgYXNzaWduZWQgYSBzdHJpbmcsIGl0ZXJhYmxlLCBvciBzZXF1ZW5jZVxuICAgb2Ygc3RyaW5ncyB3aXRoIHZhcmlhYmxlIG5hbWVzIHVzZWQgYnkgaW5zdGFuY2VzLiAgSWYgZGVmaW5lZCBpbiBhXG4gICBjbGFzcywgKl9fc2xvdHNfXyogcmVzZXJ2ZXMgc3BhY2UgZm9yIHRoZSBkZWNsYXJlZCB2YXJpYWJsZXMgYW5kXG4gICBwcmV2ZW50cyB0aGUgYXV0b21hdGljIGNyZWF0aW9uIG9mICpfX2RpY3RfXyogYW5kICpfX3dlYWtyZWZfXyogZm9yXG4gICBlYWNoIGluc3RhbmNlLlxuXG5cbk5vdGVzIG9uIHVzaW5nICpfX3Nsb3RzX18qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4qIFdoZW4gaW5oZXJpdGluZyBmcm9tIGEgY2xhc3Mgd2l0aG91dCAqX19zbG90c19fKiwgdGhlICpfX2RpY3RfXypcbiAgYXR0cmlidXRlIG9mIHRoYXQgY2xhc3Mgd2lsbCBhbHdheXMgYmUgYWNjZXNzaWJsZSwgc28gYSAqX19zbG90c19fKlxuICBkZWZpbml0aW9uIGluIHRoZSBzdWJjbGFzcyBpcyBtZWFuaW5nbGVzcy5cblxuKiBXaXRob3V0IGEgKl9fZGljdF9fKiB2YXJpYWJsZSwgaW5zdGFuY2VzIGNhbm5vdCBiZSBhc3NpZ25lZCBuZXdcbiAgdmFyaWFibGVzIG5vdCBsaXN0ZWQgaW4gdGhlICpfX3Nsb3RzX18qIGRlZmluaXRpb24uICBBdHRlbXB0cyB0b1xuICBhc3NpZ24gdG8gYW4gdW5saXN0ZWQgdmFyaWFibGUgbmFtZSByYWlzZXMgYGBBdHRyaWJ1dGVFcnJvcmBgLiBJZlxuICBkeW5hbWljIGFzc2lnbm1lbnQgb2YgbmV3IHZhcmlhYmxlcyBpcyBkZXNpcmVkLCB0aGVuIGFkZFxuICBgYFwnX19kaWN0X19cJ2BgIHRvIHRoZSBzZXF1ZW5jZSBvZiBzdHJpbmdzIGluIHRoZSAqX19zbG90c19fKlxuICBkZWNsYXJhdGlvbi5cblxuKiBXaXRob3V0IGEgKl9fd2Vha3JlZl9fKiB2YXJpYWJsZSBmb3IgZWFjaCBpbnN0YW5jZSwgY2xhc3NlcyBkZWZpbmluZ1xuICAqX19zbG90c19fKiBkbyBub3Qgc3VwcG9ydCB3ZWFrIHJlZmVyZW5jZXMgdG8gaXRzIGluc3RhbmNlcy4gSWYgd2Vha1xuICByZWZlcmVuY2Ugc3VwcG9ydCBpcyBuZWVkZWQsIHRoZW4gYWRkIGBgXCdfX3dlYWtyZWZfX1wnYGAgdG8gdGhlXG4gIHNlcXVlbmNlIG9mIHN0cmluZ3MgaW4gdGhlICpfX3Nsb3RzX18qIGRlY2xhcmF0aW9uLlxuXG4qICpfX3Nsb3RzX18qIGFyZSBpbXBsZW1lbnRlZCBhdCB0aGUgY2xhc3MgbGV2ZWwgYnkgY3JlYXRpbmdcbiAgZGVzY3JpcHRvcnMgKCpJbXBsZW1lbnRpbmcgRGVzY3JpcHRvcnMqKSBmb3IgZWFjaCB2YXJpYWJsZSBuYW1lLiAgQXNcbiAgYSByZXN1bHQsIGNsYXNzIGF0dHJpYnV0ZXMgY2Fubm90IGJlIHVzZWQgdG8gc2V0IGRlZmF1bHQgdmFsdWVzIGZvclxuICBpbnN0YW5jZSB2YXJpYWJsZXMgZGVmaW5lZCBieSAqX19zbG90c19fKjsgb3RoZXJ3aXNlLCB0aGUgY2xhc3NcbiAgYXR0cmlidXRlIHdvdWxkIG92ZXJ3cml0ZSB0aGUgZGVzY3JpcHRvciBhc3NpZ25tZW50LlxuXG4qIFRoZSBhY3Rpb24gb2YgYSAqX19zbG90c19fKiBkZWNsYXJhdGlvbiBpcyBsaW1pdGVkIHRvIHRoZSBjbGFzc1xuICB3aGVyZSBpdCBpcyBkZWZpbmVkLiAgQXMgYSByZXN1bHQsIHN1YmNsYXNzZXMgd2lsbCBoYXZlIGEgKl9fZGljdF9fKlxuICB1bmxlc3MgdGhleSBhbHNvIGRlZmluZSAqX19zbG90c19fKiAod2hpY2ggbXVzdCBvbmx5IGNvbnRhaW4gbmFtZXNcbiAgb2YgYW55ICphZGRpdGlvbmFsKiBzbG90cykuXG5cbiogSWYgYSBjbGFzcyBkZWZpbmVzIGEgc2xvdCBhbHNvIGRlZmluZWQgaW4gYSBiYXNlIGNsYXNzLCB0aGUgaW5zdGFuY2VcbiAgdmFyaWFibGUgZGVmaW5lZCBieSB0aGUgYmFzZSBjbGFzcyBzbG90IGlzIGluYWNjZXNzaWJsZSAoZXhjZXB0IGJ5XG4gIHJldHJpZXZpbmcgaXRzIGRlc2NyaXB0b3IgZGlyZWN0bHkgZnJvbSB0aGUgYmFzZSBjbGFzcykuIFRoaXNcbiAgcmVuZGVycyB0aGUgbWVhbmluZyBvZiB0aGUgcHJvZ3JhbSB1bmRlZmluZWQuICBJbiB0aGUgZnV0dXJlLCBhXG4gIGNoZWNrIG1heSBiZSBhZGRlZCB0byBwcmV2ZW50IHRoaXMuXG5cbiogTm9uZW1wdHkgKl9fc2xvdHNfXyogZG9lcyBub3Qgd29yayBmb3IgY2xhc3NlcyBkZXJpdmVkIGZyb21cbiAgInZhcmlhYmxlLWxlbmd0aCIgYnVpbHQtaW4gdHlwZXMgc3VjaCBhcyBgYGludGBgLCBgYHN0cmBgIGFuZFxuICBgYHR1cGxlYGAuXG5cbiogQW55IG5vbi1zdHJpbmcgaXRlcmFibGUgbWF5IGJlIGFzc2lnbmVkIHRvICpfX3Nsb3RzX18qLiBNYXBwaW5ncyBtYXlcbiAgYWxzbyBiZSB1c2VkOyBob3dldmVyLCBpbiB0aGUgZnV0dXJlLCBzcGVjaWFsIG1lYW5pbmcgbWF5IGJlXG4gIGFzc2lnbmVkIHRvIHRoZSB2YWx1ZXMgY29ycmVzcG9uZGluZyB0byBlYWNoIGtleS5cblxuKiAqX19jbGFzc19fKiBhc3NpZ25tZW50IHdvcmtzIG9ubHkgaWYgYm90aCBjbGFzc2VzIGhhdmUgdGhlIHNhbWVcbiAgKl9fc2xvdHNfXyouXG4nLAogICdhdHRyaWJ1dGUtcmVmZXJlbmNlcyc6ICdcbkF0dHJpYnV0ZSByZWZlcmVuY2VzXG4qKioqKioqKioqKioqKioqKioqKlxuXG5BbiBhdHRyaWJ1dGUgcmVmZXJlbmNlIGlzIGEgcHJpbWFyeSBmb2xsb3dlZCBieSBhIHBlcmlvZCBhbmQgYSBuYW1lOlxuXG4gICBhdHRyaWJ1dGVyZWYgOjo9IHByaW1hcnkgIi4iIGlkZW50aWZpZXJcblxuVGhlIHByaW1hcnkgbXVzdCBldmFsdWF0ZSB0byBhbiBvYmplY3Qgb2YgYSB0eXBlIHRoYXQgc3VwcG9ydHNcbmF0dHJpYnV0ZSByZWZlcmVuY2VzLCB3aGljaCBtb3N0IG9iamVjdHMgZG8uICBUaGlzIG9iamVjdCBpcyB0aGVuXG5hc2tlZCB0byBwcm9kdWNlIHRoZSBhdHRyaWJ1dGUgd2hvc2UgbmFtZSBpcyB0aGUgaWRlbnRpZmllciAod2hpY2ggY2FuXG5iZSBjdXN0b21pemVkIGJ5IG92ZXJyaWRpbmcgdGhlIGBgX19nZXRhdHRyX18oKWBgIG1ldGhvZCkuICBJZiB0aGlzXG5hdHRyaWJ1dGUgaXMgbm90IGF2YWlsYWJsZSwgdGhlIGV4Y2VwdGlvbiBgYEF0dHJpYnV0ZUVycm9yYGAgaXNcbnJhaXNlZC4gIE90aGVyd2lzZSwgdGhlIHR5cGUgYW5kIHZhbHVlIG9mIHRoZSBvYmplY3QgcHJvZHVjZWQgaXNcbmRldGVybWluZWQgYnkgdGhlIG9iamVjdC4gIE11bHRpcGxlIGV2YWx1YXRpb25zIG9mIHRoZSBzYW1lIGF0dHJpYnV0ZVxucmVmZXJlbmNlIG1heSB5aWVsZCBkaWZmZXJlbnQgb2JqZWN0cy5cbicsCiAgJ2F1Z2Fzc2lnbic6ICdcbkF1Z21lbnRlZCBhc3NpZ25tZW50IHN0YXRlbWVudHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuQXVnbWVudGVkIGFzc2lnbm1lbnQgaXMgdGhlIGNvbWJpbmF0aW9uLCBpbiBhIHNpbmdsZSBzdGF0ZW1lbnQsIG9mIGFcbmJpbmFyeSBvcGVyYXRpb24gYW5kIGFuIGFzc2lnbm1lbnQgc3RhdGVtZW50OlxuXG4gICBhdWdtZW50ZWRfYXNzaWdubWVudF9zdG10IDo6PSBhdWd0YXJnZXQgYXVnb3AgKGV4cHJlc3Npb25fbGlzdCB8IHlpZWxkX2V4cHJlc3Npb24pXG4gICBhdWd0YXJnZXQgICAgICAgICAgICAgICAgIDo6PSBpZGVudGlmaWVyIHwgYXR0cmlidXRlcmVmIHwgc3Vic2NyaXB0aW9uIHwgc2xpY2luZ1xuICAgYXVnb3AgICAgICAgICAgICAgICAgICAgICA6Oj0gIis9IiB8ICItPSIgfCAiKj0iIHwgIi89IiB8ICIvLz0iIHwgIiU9IiB8ICIqKj0iXG4gICAgICAgICAgICAgfCAiPj49IiB8ICI8PD0iIHwgIiY9IiB8ICJePSIgfCAifD0iXG5cbihTZWUgc2VjdGlvbiAqUHJpbWFyaWVzKiBmb3IgdGhlIHN5bnRheCBkZWZpbml0aW9ucyBmb3IgdGhlIGxhc3QgdGhyZWVcbnN5bWJvbHMuKVxuXG5BbiBhdWdtZW50ZWQgYXNzaWdubWVudCBldmFsdWF0ZXMgdGhlIHRhcmdldCAod2hpY2gsIHVubGlrZSBub3JtYWxcbmFzc2lnbm1lbnQgc3RhdGVtZW50cywgY2Fubm90IGJlIGFuIHVucGFja2luZykgYW5kIHRoZSBleHByZXNzaW9uXG5saXN0LCBwZXJmb3JtcyB0aGUgYmluYXJ5IG9wZXJhdGlvbiBzcGVjaWZpYyB0byB0aGUgdHlwZSBvZiBhc3NpZ25tZW50XG5vbiB0aGUgdHdvIG9wZXJhbmRzLCBhbmQgYXNzaWducyB0aGUgcmVzdWx0IHRvIHRoZSBvcmlnaW5hbCB0YXJnZXQuXG5UaGUgdGFyZ2V0IGlzIG9ubHkgZXZhbHVhdGVkIG9uY2UuXG5cbkFuIGF1Z21lbnRlZCBhc3NpZ25tZW50IGV4cHJlc3Npb24gbGlrZSBgYHggKz0gMWBgIGNhbiBiZSByZXdyaXR0ZW4gYXNcbmBgeCA9IHggKyAxYGAgdG8gYWNoaWV2ZSBhIHNpbWlsYXIsIGJ1dCBub3QgZXhhY3RseSBlcXVhbCBlZmZlY3QuIEluXG50aGUgYXVnbWVudGVkIHZlcnNpb24sIGBgeGBgIGlzIG9ubHkgZXZhbHVhdGVkIG9uY2UuIEFsc28sIHdoZW5cbnBvc3NpYmxlLCB0aGUgYWN0dWFsIG9wZXJhdGlvbiBpcyBwZXJmb3JtZWQgKmluLXBsYWNlKiwgbWVhbmluZyB0aGF0XG5yYXRoZXIgdGhhbiBjcmVhdGluZyBhIG5ldyBvYmplY3QgYW5kIGFzc2lnbmluZyB0aGF0IHRvIHRoZSB0YXJnZXQsXG50aGUgb2xkIG9iamVjdCBpcyBtb2RpZmllZCBpbnN0ZWFkLlxuXG5XaXRoIHRoZSBleGNlcHRpb24gb2YgYXNzaWduaW5nIHRvIHR1cGxlcyBhbmQgbXVsdGlwbGUgdGFyZ2V0cyBpbiBhXG5zaW5nbGUgc3RhdGVtZW50LCB0aGUgYXNzaWdubWVudCBkb25lIGJ5IGF1Z21lbnRlZCBhc3NpZ25tZW50XG5zdGF0ZW1lbnRzIGlzIGhhbmRsZWQgdGhlIHNhbWUgd2F5IGFzIG5vcm1hbCBhc3NpZ25tZW50cy4gU2ltaWxhcmx5LFxud2l0aCB0aGUgZXhjZXB0aW9uIG9mIHRoZSBwb3NzaWJsZSAqaW4tcGxhY2UqIGJlaGF2aW9yLCB0aGUgYmluYXJ5XG5vcGVyYXRpb24gcGVyZm9ybWVkIGJ5IGF1Z21lbnRlZCBhc3NpZ25tZW50IGlzIHRoZSBzYW1lIGFzIHRoZSBub3JtYWxcbmJpbmFyeSBvcGVyYXRpb25zLlxuXG5Gb3IgdGFyZ2V0cyB3aGljaCBhcmUgYXR0cmlidXRlIHJlZmVyZW5jZXMsIHRoZSBzYW1lICpjYXZlYXQgYWJvdXRcbmNsYXNzIGFuZCBpbnN0YW5jZSBhdHRyaWJ1dGVzKiBhcHBsaWVzIGFzIGZvciByZWd1bGFyIGFzc2lnbm1lbnRzLlxuJywKICAnYmluYXJ5JzogJ1xuQmluYXJ5IGFyaXRobWV0aWMgb3BlcmF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG5UaGUgYmluYXJ5IGFyaXRobWV0aWMgb3BlcmF0aW9ucyBoYXZlIHRoZSBjb252ZW50aW9uYWwgcHJpb3JpdHlcbmxldmVscy4gIE5vdGUgdGhhdCBzb21lIG9mIHRoZXNlIG9wZXJhdGlvbnMgYWxzbyBhcHBseSB0byBjZXJ0YWluIG5vbi1cbm51bWVyaWMgdHlwZXMuICBBcGFydCBmcm9tIHRoZSBwb3dlciBvcGVyYXRvciwgdGhlcmUgYXJlIG9ubHkgdHdvXG5sZXZlbHMsIG9uZSBmb3IgbXVsdGlwbGljYXRpdmUgb3BlcmF0b3JzIGFuZCBvbmUgZm9yIGFkZGl0aXZlXG5vcGVyYXRvcnM6XG5cbiAgIG1fZXhwciA6Oj0gdV9leHByIHwgbV9leHByICIqIiB1X2V4cHIgfCBtX2V4cHIgIi8vIiB1X2V4cHIgfCBtX2V4cHIgIi8iIHVfZXhwclxuICAgICAgICAgICAgICB8IG1fZXhwciAiJSIgdV9leHByXG4gICBhX2V4cHIgOjo9IG1fZXhwciB8IGFfZXhwciAiKyIgbV9leHByIHwgYV9leHByICItIiBtX2V4cHJcblxuVGhlIGBgKmBgIChtdWx0aXBsaWNhdGlvbikgb3BlcmF0b3IgeWllbGRzIHRoZSBwcm9kdWN0IG9mIGl0c1xuYXJndW1lbnRzLiAgVGhlIGFyZ3VtZW50cyBtdXN0IGVpdGhlciBib3RoIGJlIG51bWJlcnMsIG9yIG9uZSBhcmd1bWVudFxubXVzdCBiZSBhbiBpbnRlZ2VyIGFuZCB0aGUgb3RoZXIgbXVzdCBiZSBhIHNlcXVlbmNlLiBJbiB0aGUgZm9ybWVyXG5jYXNlLCB0aGUgbnVtYmVycyBhcmUgY29udmVydGVkIHRvIGEgY29tbW9uIHR5cGUgYW5kIHRoZW4gbXVsdGlwbGllZFxudG9nZXRoZXIuICBJbiB0aGUgbGF0dGVyIGNhc2UsIHNlcXVlbmNlIHJlcGV0aXRpb24gaXMgcGVyZm9ybWVkOyBhXG5uZWdhdGl2ZSByZXBldGl0aW9uIGZhY3RvciB5aWVsZHMgYW4gZW1wdHkgc2VxdWVuY2UuXG5cblRoZSBgYC9gYCAoZGl2aXNpb24pIGFuZCBgYC8vYGAgKGZsb29yIGRpdmlzaW9uKSBvcGVyYXRvcnMgeWllbGQgdGhlXG5xdW90aWVudCBvZiB0aGVpciBhcmd1bWVudHMuICBUaGUgbnVtZXJpYyBhcmd1bWVudHMgYXJlIGZpcnN0XG5jb252ZXJ0ZWQgdG8gYSBjb21tb24gdHlwZS4gSW50ZWdlciBkaXZpc2lvbiB5aWVsZHMgYSBmbG9hdCwgd2hpbGVcbmZsb29yIGRpdmlzaW9uIG9mIGludGVnZXJzIHJlc3VsdHMgaW4gYW4gaW50ZWdlcjsgdGhlIHJlc3VsdCBpcyB0aGF0XG5vZiBtYXRoZW1hdGljYWwgZGl2aXNpb24gd2l0aCB0aGUgXCdmbG9vclwnIGZ1bmN0aW9uIGFwcGxpZWQgdG8gdGhlXG5yZXN1bHQuICBEaXZpc2lvbiBieSB6ZXJvIHJhaXNlcyB0aGUgYGBaZXJvRGl2aXNpb25FcnJvcmBgIGV4Y2VwdGlvbi5cblxuVGhlIGBgJWBgIChtb2R1bG8pIG9wZXJhdG9yIHlpZWxkcyB0aGUgcmVtYWluZGVyIGZyb20gdGhlIGRpdmlzaW9uIG9mXG50aGUgZmlyc3QgYXJndW1lbnQgYnkgdGhlIHNlY29uZC4gIFRoZSBudW1lcmljIGFyZ3VtZW50cyBhcmUgZmlyc3RcbmNvbnZlcnRlZCB0byBhIGNvbW1vbiB0eXBlLiAgQSB6ZXJvIHJpZ2h0IGFyZ3VtZW50IHJhaXNlcyB0aGVcbmBgWmVyb0RpdmlzaW9uRXJyb3JgYCBleGNlcHRpb24uICBUaGUgYXJndW1lbnRzIG1heSBiZSBmbG9hdGluZyBwb2ludFxubnVtYmVycywgZS5nLiwgYGAzLjE0JTAuN2BgIGVxdWFscyBgYDAuMzRgYCAoc2luY2UgYGAzLjE0YGAgZXF1YWxzXG5gYDQqMC43ICsgMC4zNGBgLikgIFRoZSBtb2R1bG8gb3BlcmF0b3IgYWx3YXlzIHlpZWxkcyBhIHJlc3VsdCB3aXRoXG50aGUgc2FtZSBzaWduIGFzIGl0cyBzZWNvbmQgb3BlcmFuZCAob3IgemVybyk7IHRoZSBhYnNvbHV0ZSB2YWx1ZSBvZlxudGhlIHJlc3VsdCBpcyBzdHJpY3RseSBzbWFsbGVyIHRoYW4gdGhlIGFic29sdXRlIHZhbHVlIG9mIHRoZSBzZWNvbmRcbm9wZXJhbmQgWzFdLlxuXG5UaGUgZmxvb3IgZGl2aXNpb24gYW5kIG1vZHVsbyBvcGVyYXRvcnMgYXJlIGNvbm5lY3RlZCBieSB0aGUgZm9sbG93aW5nXG5pZGVudGl0eTogYGB4ID09ICh4Ly95KSp5ICsgKHgleSlgYC4gIEZsb29yIGRpdmlzaW9uIGFuZCBtb2R1bG8gYXJlXG5hbHNvIGNvbm5lY3RlZCB3aXRoIHRoZSBidWlsdC1pbiBmdW5jdGlvbiBgYGRpdm1vZCgpYGA6IGBgZGl2bW9kKHgsIHkpXG49PSAoeC8veSwgeCV5KWBgLiBbMl0uXG5cbkluIGFkZGl0aW9uIHRvIHBlcmZvcm1pbmcgdGhlIG1vZHVsbyBvcGVyYXRpb24gb24gbnVtYmVycywgdGhlIGBgJWBgXG5vcGVyYXRvciBpcyBhbHNvIG92ZXJsb2FkZWQgYnkgc3RyaW5nIG9iamVjdHMgdG8gcGVyZm9ybSBvbGQtc3R5bGVcbnN0cmluZyBmb3JtYXR0aW5nIChhbHNvIGtub3duIGFzIGludGVycG9sYXRpb24pLiAgVGhlIHN5bnRheCBmb3JcbnN0cmluZyBmb3JtYXR0aW5nIGlzIGRlc2NyaWJlZCBpbiB0aGUgUHl0aG9uIExpYnJhcnkgUmVmZXJlbmNlLFxuc2VjdGlvbiAqT2xkIFN0cmluZyBGb3JtYXR0aW5nIE9wZXJhdGlvbnMqLlxuXG5UaGUgZmxvb3IgZGl2aXNpb24gb3BlcmF0b3IsIHRoZSBtb2R1bG8gb3BlcmF0b3IsIGFuZCB0aGUgYGBkaXZtb2QoKWBgXG5mdW5jdGlvbiBhcmUgbm90IGRlZmluZWQgZm9yIGNvbXBsZXggbnVtYmVycy4gIEluc3RlYWQsIGNvbnZlcnQgdG8gYVxuZmxvYXRpbmcgcG9pbnQgbnVtYmVyIHVzaW5nIHRoZSBgYGFicygpYGAgZnVuY3Rpb24gaWYgYXBwcm9wcmlhdGUuXG5cblRoZSBgYCtgYCAoYWRkaXRpb24pIG9wZXJhdG9yIHlpZWxkcyB0aGUgc3VtIG9mIGl0cyBhcmd1bWVudHMuICBUaGVcbmFyZ3VtZW50cyBtdXN0IGVpdGhlciBib3RoIGJlIG51bWJlcnMgb3IgYm90aCBzZXF1ZW5jZXMgb2YgdGhlIHNhbWVcbnR5cGUuICBJbiB0aGUgZm9ybWVyIGNhc2UsIHRoZSBudW1iZXJzIGFyZSBjb252ZXJ0ZWQgdG8gYSBjb21tb24gdHlwZVxuYW5kIHRoZW4gYWRkZWQgdG9nZXRoZXIuICBJbiB0aGUgbGF0dGVyIGNhc2UsIHRoZSBzZXF1ZW5jZXMgYXJlXG5jb25jYXRlbmF0ZWQuXG5cblRoZSBgYC1gYCAoc3VidHJhY3Rpb24pIG9wZXJhdG9yIHlpZWxkcyB0aGUgZGlmZmVyZW5jZSBvZiBpdHNcbmFyZ3VtZW50cy4gIFRoZSBudW1lcmljIGFyZ3VtZW50cyBhcmUgZmlyc3QgY29udmVydGVkIHRvIGEgY29tbW9uXG50eXBlLlxuJywKICAnYml0d2lzZSc6ICdcbkJpbmFyeSBiaXR3aXNlIG9wZXJhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKipcblxuRWFjaCBvZiB0aGUgdGhyZWUgYml0d2lzZSBvcGVyYXRpb25zIGhhcyBhIGRpZmZlcmVudCBwcmlvcml0eSBsZXZlbDpcblxuICAgYW5kX2V4cHIgOjo9IHNoaWZ0X2V4cHIgfCBhbmRfZXhwciAiJiIgc2hpZnRfZXhwclxuICAgeG9yX2V4cHIgOjo9IGFuZF9leHByIHwgeG9yX2V4cHIgIl4iIGFuZF9leHByXG4gICBvcl9leHByICA6Oj0geG9yX2V4cHIgfCBvcl9leHByICJ8IiB4b3JfZXhwclxuXG5UaGUgYGAmYGAgb3BlcmF0b3IgeWllbGRzIHRoZSBiaXR3aXNlIEFORCBvZiBpdHMgYXJndW1lbnRzLCB3aGljaCBtdXN0XG5iZSBpbnRlZ2Vycy5cblxuVGhlIGBgXmBgIG9wZXJhdG9yIHlpZWxkcyB0aGUgYml0d2lzZSBYT1IgKGV4Y2x1c2l2ZSBPUikgb2YgaXRzXG5hcmd1bWVudHMsIHdoaWNoIG11c3QgYmUgaW50ZWdlcnMuXG5cblRoZSBgYHxgYCBvcGVyYXRvciB5aWVsZHMgdGhlIGJpdHdpc2UgKGluY2x1c2l2ZSkgT1Igb2YgaXRzIGFyZ3VtZW50cyxcbndoaWNoIG11c3QgYmUgaW50ZWdlcnMuXG4nLAogICdibHRpbi1jb2RlLW9iamVjdHMnOiAnXG5Db2RlIE9iamVjdHNcbioqKioqKioqKioqKlxuXG5Db2RlIG9iamVjdHMgYXJlIHVzZWQgYnkgdGhlIGltcGxlbWVudGF0aW9uIHRvIHJlcHJlc2VudCAicHNldWRvLVxuY29tcGlsZWQiIGV4ZWN1dGFibGUgUHl0aG9uIGNvZGUgc3VjaCBhcyBhIGZ1bmN0aW9uIGJvZHkuIFRoZXkgZGlmZmVyXG5mcm9tIGZ1bmN0aW9uIG9iamVjdHMgYmVjYXVzZSB0aGV5IGRvblwndCBjb250YWluIGEgcmVmZXJlbmNlIHRvIHRoZWlyXG5nbG9iYWwgZXhlY3V0aW9uIGVudmlyb25tZW50LiAgQ29kZSBvYmplY3RzIGFyZSByZXR1cm5lZCBieSB0aGUgYnVpbHQtXG5pbiBgYGNvbXBpbGUoKWBgIGZ1bmN0aW9uIGFuZCBjYW4gYmUgZXh0cmFjdGVkIGZyb20gZnVuY3Rpb24gb2JqZWN0c1xudGhyb3VnaCB0aGVpciBgYF9fY29kZV9fYGAgYXR0cmlidXRlLiBTZWUgYWxzbyB0aGUgYGBjb2RlYGAgbW9kdWxlLlxuXG5BIGNvZGUgb2JqZWN0IGNhbiBiZSBleGVjdXRlZCBvciBldmFsdWF0ZWQgYnkgcGFzc2luZyBpdCAoaW5zdGVhZCBvZiBhXG5zb3VyY2Ugc3RyaW5nKSB0byB0aGUgYGBleGVjKClgYCBvciBgYGV2YWwoKWBgICBidWlsdC1pbiBmdW5jdGlvbnMuXG5cblNlZSAqVGhlIHN0YW5kYXJkIHR5cGUgaGllcmFyY2h5KiBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbicsCi0gJ2JsdGluLWVsbGlwc2lzLW9iamVjdCc6ICdcblRoZSBFbGxpcHNpcyBPYmplY3RcbioqKioqKioqKioqKioqKioqKipcblxuVGhpcyBvYmplY3QgaXMgY29tbW9ubHkgdXNlZCBieSBzbGljaW5nIChzZWUgKlNsaWNpbmdzKikuICBJdCBzdXBwb3J0c1xubm8gc3BlY2lhbCBvcGVyYXRpb25zLiAgVGhlcmUgaXMgZXhhY3RseSBvbmUgZWxsaXBzaXMgb2JqZWN0LCBuYW1lZFxuYGBFbGxpcHNpc2BgIChhIGJ1aWx0LWluIG5hbWUpLlxuXG5JdCBpcyB3cml0dGVuIGFzIGBgRWxsaXBzaXNgYCBvciBgYC4uLmBgLlxuJywKLSAnYmx0aW4tbnVsbC1vYmplY3QnOiAiXG5UaGUgTnVsbCBPYmplY3RcbioqKioqKioqKioqKioqKlxuXG5UaGlzIG9iamVjdCBpcyByZXR1cm5lZCBieSBmdW5jdGlvbnMgdGhhdCBkb24ndCBleHBsaWNpdGx5IHJldHVybiBhXG52YWx1ZS4gIEl0IHN1cHBvcnRzIG5vIHNwZWNpYWwgb3BlcmF0aW9ucy4gIFRoZXJlIGlzIGV4YWN0bHkgb25lIG51bGxcbm9iamVjdCwgbmFtZWQgYGBOb25lYGAgKGEgYnVpbHQtaW4gbmFtZSkuXG5cbkl0IGlzIHdyaXR0ZW4gYXMgYGBOb25lYGAuXG4iLAorICdibHRpbi1lbGxpcHNpcy1vYmplY3QnOiAnXG5UaGUgRWxsaXBzaXMgT2JqZWN0XG4qKioqKioqKioqKioqKioqKioqXG5cblRoaXMgb2JqZWN0IGlzIGNvbW1vbmx5IHVzZWQgYnkgc2xpY2luZyAoc2VlICpTbGljaW5ncyopLCBidXQgbWF5IGFsc29cbmJlIHVzZWQgaW4gb3RoZXIgc2l0dWF0aW9ucyB3aGVyZSBhIHNlbnRpbmVsIHZhbHVlIG90aGVyIHRoYW4gYGBOb25lYGBcbmlzIG5lZWRlZC4gIEl0IHN1cHBvcnRzIG5vIHNwZWNpYWwgb3BlcmF0aW9ucy4gIFRoZXJlIGlzIGV4YWN0bHkgb25lXG5lbGxpcHNpcyBvYmplY3QsIG5hbWVkIGBgRWxsaXBzaXNgYCAoYSBidWlsdC1pbiBuYW1lKS5cbmBgdHlwZShFbGxpcHNpcykoKWBgIHByb2R1Y2VzIHRoZSBgYEVsbGlwc2lzYGAgc2luZ2xldG9uLlxuXG5JdCBpcyB3cml0dGVuIGFzIGBgRWxsaXBzaXNgYCBvciBgYC4uLmBgLlxuJywKKyAnYmx0aW4tbnVsbC1vYmplY3QnOiAiXG5UaGUgTnVsbCBPYmplY3RcbioqKioqKioqKioqKioqKlxuXG5UaGlzIG9iamVjdCBpcyByZXR1cm5lZCBieSBmdW5jdGlvbnMgdGhhdCBkb24ndCBleHBsaWNpdGx5IHJldHVybiBhXG52YWx1ZS4gIEl0IHN1cHBvcnRzIG5vIHNwZWNpYWwgb3BlcmF0aW9ucy4gIFRoZXJlIGlzIGV4YWN0bHkgb25lIG51bGxcbm9iamVjdCwgbmFtZWQgYGBOb25lYGAgKGEgYnVpbHQtaW4gbmFtZSkuICBgYHR5cGUoTm9uZSkoKWBgIHByb2R1Y2VzXG50aGUgc2FtZSBzaW5nbGV0b24uXG5cbkl0IGlzIHdyaXR0ZW4gYXMgYGBOb25lYGAuXG4iLAogICdibHRpbi10eXBlLW9iamVjdHMnOiAiXG5UeXBlIE9iamVjdHNcbioqKioqKioqKioqKlxuXG5UeXBlIG9iamVjdHMgcmVwcmVzZW50IHRoZSB2YXJpb3VzIG9iamVjdCB0eXBlcy4gIEFuIG9iamVjdCdzIHR5cGUgaXNcbmFjY2Vzc2VkIGJ5IHRoZSBidWlsdC1pbiBmdW5jdGlvbiBgYHR5cGUoKWBgLiAgVGhlcmUgYXJlIG5vIHNwZWNpYWxcbm9wZXJhdGlvbnMgb24gdHlwZXMuICBUaGUgc3RhbmRhcmQgbW9kdWxlIGBgdHlwZXNgYCBkZWZpbmVzIG5hbWVzIGZvclxuYWxsIHN0YW5kYXJkIGJ1aWx0LWluIHR5cGVzLlxuXG5UeXBlcyBhcmUgd3JpdHRlbiBsaWtlIHRoaXM6IGBgPGNsYXNzICdpbnQnPmBgLlxuIiwKICAnYm9vbGVhbnMnOiAnXG5Cb29sZWFuIG9wZXJhdGlvbnNcbioqKioqKioqKioqKioqKioqKlxuXG4gICBvcl90ZXN0ICA6Oj0gYW5kX3Rlc3QgfCBvcl90ZXN0ICJvciIgYW5kX3Rlc3RcbiAgIGFuZF90ZXN0IDo6PSBub3RfdGVzdCB8IGFuZF90ZXN0ICJhbmQiIG5vdF90ZXN0XG4gICBub3RfdGVzdCA6Oj0gY29tcGFyaXNvbiB8ICJub3QiIG5vdF90ZXN0XG5cbkluIHRoZSBjb250ZXh0IG9mIEJvb2xlYW4gb3BlcmF0aW9ucywgYW5kIGFsc28gd2hlbiBleHByZXNzaW9ucyBhcmVcbnVzZWQgYnkgY29udHJvbCBmbG93IHN0YXRlbWVudHMsIHRoZSBmb2xsb3dpbmcgdmFsdWVzIGFyZSBpbnRlcnByZXRlZFxuYXMgZmFsc2U6IGBgRmFsc2VgYCwgYGBOb25lYGAsIG51bWVyaWMgemVybyBvZiBhbGwgdHlwZXMsIGFuZCBlbXB0eVxuc3RyaW5ncyBhbmQgY29udGFpbmVycyAoaW5jbHVkaW5nIHN0cmluZ3MsIHR1cGxlcywgbGlzdHMsXG5kaWN0aW9uYXJpZXMsIHNldHMgYW5kIGZyb3plbnNldHMpLiAgQWxsIG90aGVyIHZhbHVlcyBhcmUgaW50ZXJwcmV0ZWRcbmFzIHRydWUuICBVc2VyLWRlZmluZWQgb2JqZWN0cyBjYW4gY3VzdG9taXplIHRoZWlyIHRydXRoIHZhbHVlIGJ5XG5wcm92aWRpbmcgYSBgYF9fYm9vbF9fKClgYCBtZXRob2QuXG5cblRoZSBvcGVyYXRvciBgYG5vdGBgIHlpZWxkcyBgYFRydWVgYCBpZiBpdHMgYXJndW1lbnQgaXMgZmFsc2UsXG5gYEZhbHNlYGAgb3RoZXJ3aXNlLlxuXG5UaGUgZXhwcmVzc2lvbiBgYHggYW5kIHlgYCBmaXJzdCBldmFsdWF0ZXMgKngqOyBpZiAqeCogaXMgZmFsc2UsIGl0c1xudmFsdWUgaXMgcmV0dXJuZWQ7IG90aGVyd2lzZSwgKnkqIGlzIGV2YWx1YXRlZCBhbmQgdGhlIHJlc3VsdGluZyB2YWx1ZVxuaXMgcmV0dXJuZWQuXG5cblRoZSBleHByZXNzaW9uIGBgeCBvciB5YGAgZmlyc3QgZXZhbHVhdGVzICp4KjsgaWYgKngqIGlzIHRydWUsIGl0c1xudmFsdWUgaXMgcmV0dXJuZWQ7IG90aGVyd2lzZSwgKnkqIGlzIGV2YWx1YXRlZCBhbmQgdGhlIHJlc3VsdGluZyB2YWx1ZVxuaXMgcmV0dXJuZWQuXG5cbihOb3RlIHRoYXQgbmVpdGhlciBgYGFuZGBgIG5vciBgYG9yYGAgcmVzdHJpY3QgdGhlIHZhbHVlIGFuZCB0eXBlIHRoZXlcbnJldHVybiB0byBgYEZhbHNlYGAgYW5kIGBgVHJ1ZWBgLCBidXQgcmF0aGVyIHJldHVybiB0aGUgbGFzdCBldmFsdWF0ZWRcbmFyZ3VtZW50LiAgVGhpcyBpcyBzb21ldGltZXMgdXNlZnVsLCBlLmcuLCBpZiBgYHNgYCBpcyBhIHN0cmluZyB0aGF0XG5zaG91bGQgYmUgcmVwbGFjZWQgYnkgYSBkZWZhdWx0IHZhbHVlIGlmIGl0IGlzIGVtcHR5LCB0aGUgZXhwcmVzc2lvblxuYGBzIG9yIFwnZm9vXCdgYCB5aWVsZHMgdGhlIGRlc2lyZWQgdmFsdWUuICBCZWNhdXNlIGBgbm90YGAgaGFzIHRvXG5pbnZlbnQgYSB2YWx1ZSBhbnl3YXksIGl0IGRvZXMgbm90IGJvdGhlciB0byByZXR1cm4gYSB2YWx1ZSBvZiB0aGVcbnNhbWUgdHlwZSBhcyBpdHMgYXJndW1lbnQsIHNvIGUuZy4sIGBgbm90IFwnZm9vXCdgYCB5aWVsZHMgYGBGYWxzZWBgLFxubm90IGBgXCdcJ2BgLilcbicsCiAgJ2JyZWFrJzogJ1xuVGhlIGBgYnJlYWtgYCBzdGF0ZW1lbnRcbioqKioqKioqKioqKioqKioqKioqKioqXG5cbiAgIGJyZWFrX3N0bXQgOjo9ICJicmVhayJcblxuYGBicmVha2BgIG1heSBvbmx5IG9jY3VyIHN5bnRhY3RpY2FsbHkgbmVzdGVkIGluIGEgYGBmb3JgYCBvclxuYGB3aGlsZWBgIGxvb3AsIGJ1dCBub3QgbmVzdGVkIGluIGEgZnVuY3Rpb24gb3IgY2xhc3MgZGVmaW5pdGlvblxud2l0aGluIHRoYXQgbG9vcC5cblxuSXQgdGVybWluYXRlcyB0aGUgbmVhcmVzdCBlbmNsb3NpbmcgbG9vcCwgc2tpcHBpbmcgdGhlIG9wdGlvbmFsXG5gYGVsc2VgYCBjbGF1c2UgaWYgdGhlIGxvb3AgaGFzIG9uZS5cblxuSWYgYSBgYGZvcmBgIGxvb3AgaXMgdGVybWluYXRlZCBieSBgYGJyZWFrYGAsIHRoZSBsb29wIGNvbnRyb2wgdGFyZ2V0XG5rZWVwcyBpdHMgY3VycmVudCB2YWx1ZS5cblxuV2hlbiBgYGJyZWFrYGAgcGFzc2VzIGNvbnRyb2wgb3V0IG9mIGEgYGB0cnlgYCBzdGF0ZW1lbnQgd2l0aCBhXG5gYGZpbmFsbHlgYCBjbGF1c2UsIHRoYXQgYGBmaW5hbGx5YGAgY2xhdXNlIGlzIGV4ZWN1dGVkIGJlZm9yZSByZWFsbHlcbmxlYXZpbmcgdGhlIGxvb3AuXG4nLApAQCAtMjIsNyArMjMsNyBAQAogICdjb250ZXh0LW1hbmFnZXJzJzogJ1xuV2l0aCBTdGF0ZW1lbnQgQ29udGV4dCBNYW5hZ2Vyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG5BICpjb250ZXh0IG1hbmFnZXIqIGlzIGFuIG9iamVjdCB0aGF0IGRlZmluZXMgdGhlIHJ1bnRpbWUgY29udGV4dCB0b1xuYmUgZXN0YWJsaXNoZWQgd2hlbiBleGVjdXRpbmcgYSBgYHdpdGhgYCBzdGF0ZW1lbnQuIFRoZSBjb250ZXh0XG5tYW5hZ2VyIGhhbmRsZXMgdGhlIGVudHJ5IGludG8sIGFuZCB0aGUgZXhpdCBmcm9tLCB0aGUgZGVzaXJlZCBydW50aW1lXG5jb250ZXh0IGZvciB0aGUgZXhlY3V0aW9uIG9mIHRoZSBibG9jayBvZiBjb2RlLiAgQ29udGV4dCBtYW5hZ2VycyBhcmVcbm5vcm1hbGx5IGludm9rZWQgdXNpbmcgdGhlIGBgd2l0aGBgIHN0YXRlbWVudCAoZGVzY3JpYmVkIGluIHNlY3Rpb25cbipUaGUgd2l0aCBzdGF0ZW1lbnQqKSwgYnV0IGNhbiBhbHNvIGJlIHVzZWQgYnkgZGlyZWN0bHkgaW52b2tpbmcgdGhlaXJcbm1ldGhvZHMuXG5cblR5cGljYWwgdXNlcyBvZiBjb250ZXh0IG1hbmFnZXJzIGluY2x1ZGUgc2F2aW5nIGFuZCByZXN0b3JpbmcgdmFyaW91c1xua2luZHMgb2YgZ2xvYmFsIHN0YXRlLCBsb2NraW5nIGFuZCB1bmxvY2tpbmcgcmVzb3VyY2VzLCBjbG9zaW5nIG9wZW5lZFxuZmlsZXMsIGV0Yy5cblxuRm9yIG1vcmUgaW5mb3JtYXRpb24gb24gY29udGV4dCBtYW5hZ2Vycywgc2VlICpDb250ZXh0IE1hbmFnZXIgVHlwZXMqLlxuXG5vYmplY3QuX19lbnRlcl9fKHNlbGYpXG5cbiAgIEVudGVyIHRoZSBydW50aW1lIGNvbnRleHQgcmVsYXRlZCB0byB0aGlzIG9iamVjdC4gVGhlIGBgd2l0aGBgXG4gICBzdGF0ZW1lbnQgd2lsbCBiaW5kIHRoaXMgbWV0aG9kXCdzIHJldHVybiB2YWx1ZSB0byB0aGUgdGFyZ2V0KHMpXG4gICBzcGVjaWZpZWQgaW4gdGhlIGBgYXNgYCBjbGF1c2Ugb2YgdGhlIHN0YXRlbWVudCwgaWYgYW55LlxuXG5vYmplY3QuX19leGl0X18oc2VsZiwgZXhjX3R5cGUsIGV4Y192YWx1ZSwgdHJhY2ViYWNrKVxuXG4gICBFeGl0IHRoZSBydW50aW1lIGNvbnRleHQgcmVsYXRlZCB0byB0aGlzIG9iamVjdC4gVGhlIHBhcmFtZXRlcnNcbiAgIGRlc2NyaWJlIHRoZSBleGNlcHRpb24gdGhhdCBjYXVzZWQgdGhlIGNvbnRleHQgdG8gYmUgZXhpdGVkLiBJZiB0aGVcbiAgIGNvbnRleHQgd2FzIGV4aXRlZCB3aXRob3V0IGFuIGV4Y2VwdGlvbiwgYWxsIHRocmVlIGFyZ3VtZW50cyB3aWxsXG4gICBiZSBgYE5vbmVgYC5cblxuICAgSWYgYW4gZXhjZXB0aW9uIGlzIHN1cHBsaWVkLCBhbmQgdGhlIG1ldGhvZCB3aXNoZXMgdG8gc3VwcHJlc3MgdGhlXG4gICBleGNlcHRpb24gKGkuZS4sIHByZXZlbnQgaXQgZnJvbSBiZWluZyBwcm9wYWdhdGVkKSwgaXQgc2hvdWxkXG4gICByZXR1cm4gYSB0cnVlIHZhbHVlLiBPdGhlcndpc2UsIHRoZSBleGNlcHRpb24gd2lsbCBiZSBwcm9jZXNzZWRcbiAgIG5vcm1hbGx5IHVwb24gZXhpdCBmcm9tIHRoaXMgbWV0aG9kLlxuXG4gICBOb3RlIHRoYXQgYGBfX2V4aXRfXygpYGAgbWV0aG9kcyBzaG91bGQgbm90IHJlcmFpc2UgdGhlIHBhc3NlZC1pblxuICAgZXhjZXB0aW9uOyB0aGlzIGlzIHRoZSBjYWxsZXJcJ3MgcmVzcG9uc2liaWxpdHkuXG5cblNlZSBhbHNvOlxuXG4gICAqKlBFUCAwMzQzKiogLSBUaGUgIndpdGgiIHN0YXRlbWVudFxuICAgICAgVGhlIHNwZWNpZmljYXRpb24sIGJhY2tncm91bmQsIGFuZCBleGFtcGxlcyBmb3IgdGhlIFB5dGhvblxuICAgICAgYGB3aXRoYGAgc3RhdGVtZW50LlxuJywKICAnY29udGludWUnOiAnXG5UaGUgYGBjb250aW51ZWBgIHN0YXRlbWVudFxuKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuICAgY29udGludWVfc3RtdCA6Oj0gImNvbnRpbnVlIlxuXG5gYGNvbnRpbnVlYGAgbWF5IG9ubHkgb2NjdXIgc3ludGFjdGljYWxseSBuZXN0ZWQgaW4gYSBgYGZvcmBgIG9yXG5gYHdoaWxlYGAgbG9vcCwgYnV0IG5vdCBuZXN0ZWQgaW4gYSBmdW5jdGlvbiBvciBjbGFzcyBkZWZpbml0aW9uIG9yXG5gYGZpbmFsbHlgYCBjbGF1c2Ugd2l0aGluIHRoYXQgbG9vcC4gIEl0IGNvbnRpbnVlcyB3aXRoIHRoZSBuZXh0IGN5Y2xlXG5vZiB0aGUgbmVhcmVzdCBlbmNsb3NpbmcgbG9vcC5cblxuV2hlbiBgYGNvbnRpbnVlYGAgcGFzc2VzIGNvbnRyb2wgb3V0IG9mIGEgYGB0cnlgYCBzdGF0ZW1lbnQgd2l0aCBhXG5gYGZpbmFsbHlgYCBjbGF1c2UsIHRoYXQgYGBmaW5hbGx5YGAgY2xhdXNlIGlzIGV4ZWN1dGVkIGJlZm9yZSByZWFsbHlcbnN0YXJ0aW5nIHRoZSBuZXh0IGxvb3AgY3ljbGUuXG4nLAogICdjb252ZXJzaW9ucyc6ICdcbkFyaXRobWV0aWMgY29udmVyc2lvbnNcbioqKioqKioqKioqKioqKioqKioqKipcblxuV2hlbiBhIGRlc2NyaXB0aW9uIG9mIGFuIGFyaXRobWV0aWMgb3BlcmF0b3IgYmVsb3cgdXNlcyB0aGUgcGhyYXNlXG4idGhlIG51bWVyaWMgYXJndW1lbnRzIGFyZSBjb252ZXJ0ZWQgdG8gYSBjb21tb24gdHlwZSwiIHRoaXMgbWVhbnNcbnRoYXQgdGhlIG9wZXJhdG9yIGltcGxlbWVudGF0aW9uIGZvciBidWlsdC1pbiB0eXBlcyB3b3JrcyB0aGF0IHdheTpcblxuKiBJZiBlaXRoZXIgYXJndW1lbnQgaXMgYSBjb21wbGV4IG51bWJlciwgdGhlIG90aGVyIGlzIGNvbnZlcnRlZCB0b1xuICBjb21wbGV4O1xuXG4qIG90aGVyd2lzZSwgaWYgZWl0aGVyIGFyZ3VtZW50IGlzIGEgZmxvYXRpbmcgcG9pbnQgbnVtYmVyLCB0aGUgb3RoZXJcbiAgaXMgY29udmVydGVkIHRvIGZsb2F0aW5nIHBvaW50O1xuXG4qIG90aGVyd2lzZSwgYm90aCBtdXN0IGJlIGludGVnZXJzIGFuZCBubyBjb252ZXJzaW9uIGlzIG5lY2Vzc2FyeS5cblxuU29tZSBhZGRpdGlvbmFsIHJ1bGVzIGFwcGx5IGZvciBjZXJ0YWluIG9wZXJhdG9ycyAoZS5nLiwgYSBzdHJpbmcgbGVmdFxuYXJndW1lbnQgdG8gdGhlIFwnJVwnIG9wZXJhdG9yKS4gIEV4dGVuc2lvbnMgbXVzdCBkZWZpbmUgdGhlaXIgb3duXG5jb252ZXJzaW9uIGJlaGF2aW9yLlxuJywKLSAnY3VzdG9taXphdGlvbic6ICdcbkJhc2ljIGN1c3RvbWl6YXRpb25cbioqKioqKioqKioqKioqKioqKipcblxub2JqZWN0Ll9fbmV3X18oY2xzWywgLi4uXSlcblxuICAgQ2FsbGVkIHRvIGNyZWF0ZSBhIG5ldyBpbnN0YW5jZSBvZiBjbGFzcyAqY2xzKi4gIGBgX19uZXdfXygpYGAgaXMgYVxuICAgc3RhdGljIG1ldGhvZCAoc3BlY2lhbC1jYXNlZCBzbyB5b3UgbmVlZCBub3QgZGVjbGFyZSBpdCBhcyBzdWNoKVxuICAgdGhhdCB0YWtlcyB0aGUgY2xhc3Mgb2Ygd2hpY2ggYW4gaW5zdGFuY2Ugd2FzIHJlcXVlc3RlZCBhcyBpdHNcbiAgIGZpcnN0IGFyZ3VtZW50LiAgVGhlIHJlbWFpbmluZyBhcmd1bWVudHMgYXJlIHRob3NlIHBhc3NlZCB0byB0aGVcbiAgIG9iamVjdCBjb25zdHJ1Y3RvciBleHByZXNzaW9uICh0aGUgY2FsbCB0byB0aGUgY2xhc3MpLiAgVGhlIHJldHVyblxuICAgdmFsdWUgb2YgYGBfX25ld19fKClgYCBzaG91bGQgYmUgdGhlIG5ldyBvYmplY3QgaW5zdGFuY2UgKHVzdWFsbHlcbiAgIGFuIGluc3RhbmNlIG9mICpjbHMqKS5cblxuICAgVHlwaWNhbCBpbXBsZW1lbnRhdGlvbnMgY3JlYXRlIGEgbmV3IGluc3RhbmNlIG9mIHRoZSBjbGFzcyBieVxuICAgaW52b2tpbmcgdGhlIHN1cGVyY2xhc3NcJ3MgYGBfX25ld19fKClgYCBtZXRob2QgdXNpbmdcbiAgIGBgc3VwZXIoY3VycmVudGNsYXNzLCBjbHMpLl9fbmV3X18oY2xzWywgLi4uXSlgYCB3aXRoIGFwcHJvcHJpYXRlXG4gICBhcmd1bWVudHMgYW5kIHRoZW4gbW9kaWZ5aW5nIHRoZSBuZXdseS1jcmVhdGVkIGluc3RhbmNlIGFzXG4gICBuZWNlc3NhcnkgYmVmb3JlIHJldHVybmluZyBpdC5cblxuICAgSWYgYGBfX25ld19fKClgYCByZXR1cm5zIGFuIGluc3RhbmNlIG9mICpjbHMqLCB0aGVuIHRoZSBuZXdcbiAgIGluc3RhbmNlXCdzIGBgX19pbml0X18oKWBgIG1ldGhvZCB3aWxsIGJlIGludm9rZWQgbGlrZVxuICAgYGBfX2luaXRfXyhzZWxmWywgLi4uXSlgYCwgd2hlcmUgKnNlbGYqIGlzIHRoZSBuZXcgaW5zdGFuY2UgYW5kIHRoZVxuICAgcmVtYWluaW5nIGFyZ3VtZW50cyBhcmUgdGhlIHNhbWUgYXMgd2VyZSBwYXNzZWQgdG8gYGBfX25ld19fKClgYC5cblxuICAgSWYgYGBfX25ld19fKClgYCBkb2VzIG5vdCByZXR1cm4gYW4gaW5zdGFuY2Ugb2YgKmNscyosIHRoZW4gdGhlIG5ld1xuICAgaW5zdGFuY2VcJ3MgYGBfX2luaXRfXygpYGAgbWV0aG9kIHdpbGwgbm90IGJlIGludm9rZWQuXG5cbiAgIGBgX19uZXdfXygpYGAgaXMgaW50ZW5kZWQgbWFpbmx5IHRvIGFsbG93IHN1YmNsYXNzZXMgb2YgaW1tdXRhYmxlXG4gICB0eXBlcyAobGlrZSBpbnQsIHN0ciwgb3IgdHVwbGUpIHRvIGN1c3RvbWl6ZSBpbnN0YW5jZSBjcmVhdGlvbi4gIEl0XG4gICBpcyBhbHNvIGNvbW1vbmx5IG92ZXJyaWRkZW4gaW4gY3VzdG9tIG1ldGFjbGFzc2VzIGluIG9yZGVyIHRvXG4gICBjdXN0b21pemUgY2xhc3MgY3JlYXRpb24uXG5cbm9iamVjdC5fX2luaXRfXyhzZWxmWywgLi4uXSlcblxuICAgQ2FsbGVkIHdoZW4gdGhlIGluc3RhbmNlIGlzIGNyZWF0ZWQuICBUaGUgYXJndW1lbnRzIGFyZSB0aG9zZVxuICAgcGFzc2VkIHRvIHRoZSBjbGFzcyBjb25zdHJ1Y3RvciBleHByZXNzaW9uLiAgSWYgYSBiYXNlIGNsYXNzIGhhcyBhblxuICAgYGBfX2luaXRfXygpYGAgbWV0aG9kLCB0aGUgZGVyaXZlZCBjbGFzc1wncyBgYF9faW5pdF9fKClgYCBtZXRob2QsXG4gICBpZiBhbnksIG11c3QgZXhwbGljaXRseSBjYWxsIGl0IHRvIGVuc3VyZSBwcm9wZXIgaW5pdGlhbGl6YXRpb24gb2ZcbiAgIHRoZSBiYXNlIGNsYXNzIHBhcnQgb2YgdGhlIGluc3RhbmNlOyBmb3IgZXhhbXBsZTpcbiAgIGBgQmFzZUNsYXNzLl9faW5pdF9fKHNlbGYsIFthcmdzLi4uXSlgYC4gIEFzIGEgc3BlY2lhbCBjb25zdHJhaW50XG4gICBvbiBjb25zdHJ1Y3RvcnMsIG5vIHZhbHVlIG1heSBiZSByZXR1cm5lZDsgZG9pbmcgc28gd2lsbCBjYXVzZSBhXG4gICBgYFR5cGVFcnJvcmBgIHRvIGJlIHJhaXNlZCBhdCBydW50aW1lLlxuXG5vYmplY3QuX19kZWxfXyhzZWxmKVxuXG4gICBDYWxsZWQgd2hlbiB0aGUgaW5zdGFuY2UgaXMgYWJvdXQgdG8gYmUgZGVzdHJveWVkLiAgVGhpcyBpcyBhbHNvXG4gICBjYWxsZWQgYSBkZXN0cnVjdG9yLiAgSWYgYSBiYXNlIGNsYXNzIGhhcyBhIGBgX19kZWxfXygpYGAgbWV0aG9kLFxuICAgdGhlIGRlcml2ZWQgY2xhc3NcJ3MgYGBfX2RlbF9fKClgYCBtZXRob2QsIGlmIGFueSwgbXVzdCBleHBsaWNpdGx5XG4gICBjYWxsIGl0IHRvIGVuc3VyZSBwcm9wZXIgZGVsZXRpb24gb2YgdGhlIGJhc2UgY2xhc3MgcGFydCBvZiB0aGVcbiAgIGluc3RhbmNlLiAgTm90ZSB0aGF0IGl0IGlzIHBvc3NpYmxlICh0aG91Z2ggbm90IHJlY29tbWVuZGVkISkgZm9yXG4gICB0aGUgYGBfX2RlbF9fKClgYCBtZXRob2QgdG8gcG9zdHBvbmUgZGVzdHJ1Y3Rpb24gb2YgdGhlIGluc3RhbmNlIGJ5XG4gICBjcmVhdGluZyBhIG5ldyByZWZlcmVuY2UgdG8gaXQuICBJdCBtYXkgdGhlbiBiZSBjYWxsZWQgYXQgYSBsYXRlclxuICAgdGltZSB3aGVuIHRoaXMgbmV3IHJlZmVyZW5jZSBpcyBkZWxldGVkLiAgSXQgaXMgbm90IGd1YXJhbnRlZWQgdGhhdFxuICAgYGBfX2RlbF9fKClgYCBtZXRob2RzIGFyZSBjYWxsZWQgZm9yIG9iamVjdHMgdGhhdCBzdGlsbCBleGlzdCB3aGVuXG4gICB0aGUgaW50ZXJwcmV0ZXIgZXhpdHMuXG5cbiAgIE5vdGU6IGBgZGVsIHhgYCBkb2VzblwndCBkaXJlY3RseSBjYWxsIGBgeC5fX2RlbF9fKClgYCAtLS0gdGhlIGZvcm1lclxuICAgICBkZWNyZW1lbnRzIHRoZSByZWZlcmVuY2UgY291bnQgZm9yIGBgeGBgIGJ5IG9uZSwgYW5kIHRoZSBsYXR0ZXJcbiAgICAgaXMgb25seSBjYWxsZWQgd2hlbiBgYHhgYFwncyByZWZlcmVuY2UgY291bnQgcmVhY2hlcyB6ZXJvLiAgU29tZVxuICAgICBjb21tb24gc2l0dWF0aW9ucyB0aGF0IG1heSBwcmV2ZW50IHRoZSByZWZlcmVuY2UgY291bnQgb2YgYW5cbiAgICAgb2JqZWN0IGZyb20gZ29pbmcgdG8gemVybyBpbmNsdWRlOiBjaXJjdWxhciByZWZlcmVuY2VzIGJldHdlZW5cbiAgICAgb2JqZWN0cyAoZS5nLiwgYSBkb3VibHktbGlua2VkIGxpc3Qgb3IgYSB0cmVlIGRhdGEgc3RydWN0dXJlIHdpdGhcbiAgICAgcGFyZW50IGFuZCBjaGlsZCBwb2ludGVycyk7IGEgcmVmZXJlbmNlIHRvIHRoZSBvYmplY3Qgb24gdGhlXG4gICAgIHN0YWNrIGZyYW1lIG9mIGEgZnVuY3Rpb24gdGhhdCBjYXVnaHQgYW4gZXhjZXB0aW9uICh0aGUgdHJhY2ViYWNrXG4gICAgIHN0b3JlZCBpbiBgYHN5cy5leGNfaW5mbygpWzJdYGAga2VlcHMgdGhlIHN0YWNrIGZyYW1lIGFsaXZlKTsgb3JcbiAgICAgYSByZWZlcmVuY2UgdG8gdGhlIG9iamVjdCBvbiB0aGUgc3RhY2sgZnJhbWUgdGhhdCByYWlzZWQgYW5cbiAgICAgdW5oYW5kbGVkIGV4Y2VwdGlvbiBpbiBpbnRlcmFjdGl2ZSBtb2RlICh0aGUgdHJhY2ViYWNrIHN0b3JlZCBpblxuICAgICBgYHN5cy5sYXN0X3RyYWNlYmFja2BgIGtlZXBzIHRoZSBzdGFjayBmcmFtZSBhbGl2ZSkuICBUaGUgZmlyc3RcbiAgICAgc2l0dWF0aW9uIGNhbiBvbmx5IGJlIHJlbWVkaWVkIGJ5IGV4cGxpY2l0bHkgYnJlYWtpbmcgdGhlIGN5Y2xlcztcbiAgICAgdGhlIGxhdHRlciB0d28gc2l0dWF0aW9ucyBjYW4gYmUgcmVzb2x2ZWQgYnkgc3RvcmluZyBgYE5vbmVgYCBpblxuICAgICBgYHN5cy5sYXN0X3RyYWNlYmFja2BgLiBDaXJjdWxhciByZWZlcmVuY2VzIHdoaWNoIGFyZSBnYXJiYWdlIGFyZVxuICAgICBkZXRlY3RlZCB3aGVuIHRoZSBvcHRpb24gY3ljbGUgZGV0ZWN0b3IgaXMgZW5hYmxlZCAoaXRcJ3Mgb24gYnlcbiAgICAgZGVmYXVsdCksIGJ1dCBjYW4gb25seSBiZSBjbGVhbmVkIHVwIGlmIHRoZXJlIGFyZSBubyBQeXRob24tXG4gICAgIGxldmVsIGBgX19kZWxfXygpYGAgbWV0aG9kcyBpbnZvbHZlZC4gUmVmZXIgdG8gdGhlIGRvY3VtZW50YXRpb25cbiAgICAgZm9yIHRoZSBgYGdjYGAgbW9kdWxlIGZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IGhvd1xuICAgICBgYF9fZGVsX18oKWBgIG1ldGhvZHMgYXJlIGhhbmRsZWQgYnkgdGhlIGN5Y2xlIGRldGVjdG9yLFxuICAgICBwYXJ0aWN1bGFybHkgdGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBgYGdhcmJhZ2VgYCB2YWx1ZS5cblxuICAgV2FybmluZzogRHVlIHRvIHRoZSBwcmVjYXJpb3VzIGNpcmN1bXN0YW5jZXMgdW5kZXIgd2hpY2ggYGBfX2RlbF9fKClgYFxuICAgICBtZXRob2RzIGFyZSBpbnZva2VkLCBleGNlcHRpb25zIHRoYXQgb2NjdXIgZHVyaW5nIHRoZWlyIGV4ZWN1dGlvblxuICAgICBhcmUgaWdub3JlZCwgYW5kIGEgd2FybmluZyBpcyBwcmludGVkIHRvIGBgc3lzLnN0ZGVycmBgIGluc3RlYWQuXG4gICAgIEFsc28sIHdoZW4gYGBfX2RlbF9fKClgYCBpcyBpbnZva2VkIGluIHJlc3BvbnNlIHRvIGEgbW9kdWxlIGJlaW5nXG4gICAgIGRlbGV0ZWQgKGUuZy4sIHdoZW4gZXhlY3V0aW9uIG9mIHRoZSBwcm9ncmFtIGlzIGRvbmUpLCBvdGhlclxuICAgICBnbG9iYWxzIHJlZmVyZW5jZWQgYnkgdGhlIGBgX19kZWxfXygpYGAgbWV0aG9kIG1heSBhbHJlYWR5IGhhdmVcbiAgICAgYmVlbiBkZWxldGVkIG9yIGluIHRoZSBwcm9jZXNzIG9mIGJlaW5nIHRvcm4gZG93biAoZS5nLiB0aGVcbiAgICAgaW1wb3J0IG1hY2hpbmVyeSBzaHV0dGluZyBkb3duKS4gIEZvciB0aGlzIHJlYXNvbiwgYGBfX2RlbF9fKClgYFxuICAgICBtZXRob2RzIHNob3VsZCBkbyB0aGUgYWJzb2x1dGUgbWluaW11bSBuZWVkZWQgdG8gbWFpbnRhaW5cbiAgICAgZXh0ZXJuYWwgaW52YXJpYW50cy4gIFN0YXJ0aW5nIHdpdGggdmVyc2lvbiAxLjUsIFB5dGhvblxuICAgICBndWFyYW50ZWVzIHRoYXQgZ2xvYmFscyB3aG9zZSBuYW1lIGJlZ2lucyB3aXRoIGEgc2luZ2xlXG4gICAgIHVuZGVyc2NvcmUgYXJlIGRlbGV0ZWQgZnJvbSB0aGVpciBtb2R1bGUgYmVmb3JlIG90aGVyIGdsb2JhbHMgYXJlXG4gICAgIGRlbGV0ZWQ7IGlmIG5vIG90aGVyIHJlZmVyZW5jZXMgdG8gc3VjaCBnbG9iYWxzIGV4aXN0LCB0aGlzIG1heVxuICAgICBoZWxwIGluIGFzc3VyaW5nIHRoYXQgaW1wb3J0ZWQgbW9kdWxlcyBhcmUgc3RpbGwgYXZhaWxhYmxlIGF0IHRoZVxuICAgICB0aW1lIHdoZW4gdGhlIGBgX19kZWxfXygpYGAgbWV0aG9kIGlzIGNhbGxlZC5cblxub2JqZWN0Ll9fcmVwcl9fKHNlbGYpXG5cbiAgIENhbGxlZCBieSB0aGUgYGByZXByKClgYCBidWlsdC1pbiBmdW5jdGlvbiB0byBjb21wdXRlIHRoZVxuICAgIm9mZmljaWFsIiBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgYW4gb2JqZWN0LiAgSWYgYXQgYWxsIHBvc3NpYmxlLFxuICAgdGhpcyBzaG91bGQgbG9vayBsaWtlIGEgdmFsaWQgUHl0aG9uIGV4cHJlc3Npb24gdGhhdCBjb3VsZCBiZSB1c2VkXG4gICB0byByZWNyZWF0ZSBhbiBvYmplY3Qgd2l0aCB0aGUgc2FtZSB2YWx1ZSAoZ2l2ZW4gYW4gYXBwcm9wcmlhdGVcbiAgIGVudmlyb25tZW50KS4gIElmIHRoaXMgaXMgbm90IHBvc3NpYmxlLCBhIHN0cmluZyBvZiB0aGUgZm9ybVxuICAgYGA8Li4uc29tZSB1c2VmdWwgZGVzY3JpcHRpb24uLi4+YGAgc2hvdWxkIGJlIHJldHVybmVkLiBUaGUgcmV0dXJuXG4gICB2YWx1ZSBtdXN0IGJlIGEgc3RyaW5nIG9iamVjdC4gSWYgYSBjbGFzcyBkZWZpbmVzIGBgX19yZXByX18oKWBgXG4gICBidXQgbm90IGBgX19zdHJfXygpYGAsIHRoZW4gYGBfX3JlcHJfXygpYGAgaXMgYWxzbyB1c2VkIHdoZW4gYW5cbiAgICJpbmZvcm1hbCIgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIGluc3RhbmNlcyBvZiB0aGF0IGNsYXNzIGlzXG4gICByZXF1aXJlZC5cblxuICAgVGhpcyBpcyB0eXBpY2FsbHkgdXNlZCBmb3IgZGVidWdnaW5nLCBzbyBpdCBpcyBpbXBvcnRhbnQgdGhhdCB0aGVcbiAgIHJlcHJlc2VudGF0aW9uIGlzIGluZm9ybWF0aW9uLXJpY2ggYW5kIHVuYW1iaWd1b3VzLlxuXG5vYmplY3QuX19zdHJfXyhzZWxmKVxuXG4gICBDYWxsZWQgYnkgdGhlIGBgc3RyKClgYCBidWlsdC1pbiBmdW5jdGlvbiBhbmQgYnkgdGhlIGBgcHJpbnQoKWBgXG4gICBmdW5jdGlvbiB0byBjb21wdXRlIHRoZSAiaW5mb3JtYWwiIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBhblxuICAgb2JqZWN0LiAgVGhpcyBkaWZmZXJzIGZyb20gYGBfX3JlcHJfXygpYGAgaW4gdGhhdCBpdCBkb2VzIG5vdCBoYXZlXG4gICB0byBiZSBhIHZhbGlkIFB5dGhvbiBleHByZXNzaW9uOiBhIG1vcmUgY29udmVuaWVudCBvciBjb25jaXNlXG4gICByZXByZXNlbnRhdGlvbiBtYXkgYmUgdXNlZCBpbnN0ZWFkLiBUaGUgcmV0dXJuIHZhbHVlIG11c3QgYmUgYVxuICAgc3RyaW5nIG9iamVjdC5cblxub2JqZWN0Ll9fYnl0ZXNfXyhzZWxmKVxuXG4gICBDYWxsZWQgYnkgYGBieXRlcygpYGAgdG8gY29tcHV0ZSBhIGJ5dGUtc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIGFuXG4gICBvYmplY3QuIFRoaXMgc2hvdWxkIHJldHVybiBhIGBgYnl0ZXNgYCBvYmplY3QuXG5cbm9iamVjdC5fX2Zvcm1hdF9fKHNlbGYsIGZvcm1hdF9zcGVjKVxuXG4gICBDYWxsZWQgYnkgdGhlIGBgZm9ybWF0KClgYCBidWlsdC1pbiBmdW5jdGlvbiAoYW5kIGJ5IGV4dGVuc2lvbiwgdGhlXG4gICBgYGZvcm1hdCgpYGAgbWV0aG9kIG9mIGNsYXNzIGBgc3RyYGApIHRvIHByb2R1Y2UgYSAiZm9ybWF0dGVkIlxuICAgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIGFuIG9iamVjdC4gVGhlIGBgZm9ybWF0X3NwZWNgYCBhcmd1bWVudCBpc1xuICAgYSBzdHJpbmcgdGhhdCBjb250YWlucyBhIGRlc2NyaXB0aW9uIG9mIHRoZSBmb3JtYXR0aW5nIG9wdGlvbnNcbiAgIGRlc2lyZWQuIFRoZSBpbnRlcnByZXRhdGlvbiBvZiB0aGUgYGBmb3JtYXRfc3BlY2BgIGFyZ3VtZW50IGlzIHVwXG4gICB0byB0aGUgdHlwZSBpbXBsZW1lbnRpbmcgYGBfX2Zvcm1hdF9fKClgYCwgaG93ZXZlciBtb3N0IGNsYXNzZXNcbiAgIHdpbGwgZWl0aGVyIGRlbGVnYXRlIGZvcm1hdHRpbmcgdG8gb25lIG9mIHRoZSBidWlsdC1pbiB0eXBlcywgb3JcbiAgIHVzZSBhIHNpbWlsYXIgZm9ybWF0dGluZyBvcHRpb24gc3ludGF4LlxuXG4gICBTZWUgKkZvcm1hdCBTcGVjaWZpY2F0aW9uIE1pbmktTGFuZ3VhZ2UqIGZvciBhIGRlc2NyaXB0aW9uIG9mIHRoZVxuICAgc3RhbmRhcmQgZm9ybWF0dGluZyBzeW50YXguXG5cbiAgIFRoZSByZXR1cm4gdmFsdWUgbXVzdCBiZSBhIHN0cmluZyBvYmplY3QuXG5cbm9iamVjdC5fX2x0X18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19sZV9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9fZXFfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX25lX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19ndF9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9fZ2VfXyhzZWxmLCBvdGhlcilcblxuICAgVGhlc2UgYXJlIHRoZSBzby1jYWxsZWQgInJpY2ggY29tcGFyaXNvbiIgbWV0aG9kcy4gVGhlXG4gICBjb3JyZXNwb25kZW5jZSBiZXR3ZWVuIG9wZXJhdG9yIHN5bWJvbHMgYW5kIG1ldGhvZCBuYW1lcyBpcyBhc1xuICAgZm9sbG93czogYGB4PHlgYCBjYWxscyBgYHguX19sdF9fKHkpYGAsIGBgeDw9eWBgIGNhbGxzXG4gICBgYHguX19sZV9fKHkpYGAsIGBgeD09eWBgIGNhbGxzIGBgeC5fX2VxX18oeSlgYCwgYGB4IT15YGAgY2FsbHNcbiAgIGBgeC5fX25lX18oeSlgYCwgYGB4PnlgYCBjYWxscyBgYHguX19ndF9fKHkpYGAsIGFuZCBgYHg+PXlgYCBjYWxsc1xuICAgYGB4Ll9fZ2VfXyh5KWBgLlxuXG4gICBBIHJpY2ggY29tcGFyaXNvbiBtZXRob2QgbWF5IHJldHVybiB0aGUgc2luZ2xldG9uXG4gICBgYE5vdEltcGxlbWVudGVkYGAgaWYgaXQgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBvcGVyYXRpb24gZm9yIGFcbiAgIGdpdmVuIHBhaXIgb2YgYXJndW1lbnRzLiBCeSBjb252ZW50aW9uLCBgYEZhbHNlYGAgYW5kIGBgVHJ1ZWBgIGFyZVxuICAgcmV0dXJuZWQgZm9yIGEgc3VjY2Vzc2Z1bCBjb21wYXJpc29uLiBIb3dldmVyLCB0aGVzZSBtZXRob2RzIGNhblxuICAgcmV0dXJuIGFueSB2YWx1ZSwgc28gaWYgdGhlIGNvbXBhcmlzb24gb3BlcmF0b3IgaXMgdXNlZCBpbiBhXG4gICBCb29sZWFuIGNvbnRleHQgKGUuZy4sIGluIHRoZSBjb25kaXRpb24gb2YgYW4gYGBpZmBgIHN0YXRlbWVudCksXG4gICBQeXRob24gd2lsbCBjYWxsIGBgYm9vbCgpYGAgb24gdGhlIHZhbHVlIHRvIGRldGVybWluZSBpZiB0aGUgcmVzdWx0XG4gICBpcyB0cnVlIG9yIGZhbHNlLlxuXG4gICBUaGVyZSBhcmUgbm8gaW1wbGllZCByZWxhdGlvbnNoaXBzIGFtb25nIHRoZSBjb21wYXJpc29uIG9wZXJhdG9ycy5cbiAgIFRoZSB0cnV0aCBvZiBgYHg9PXlgYCBkb2VzIG5vdCBpbXBseSB0aGF0IGBgeCE9eWBgIGlzIGZhbHNlLlxuICAgQWNjb3JkaW5nbHksIHdoZW4gZGVmaW5pbmcgYGBfX2VxX18oKWBgLCBvbmUgc2hvdWxkIGFsc28gZGVmaW5lXG4gICBgYF9fbmVfXygpYGAgc28gdGhhdCB0aGUgb3BlcmF0b3JzIHdpbGwgYmVoYXZlIGFzIGV4cGVjdGVkLiAgU2VlXG4gICB0aGUgcGFyYWdyYXBoIG9uIGBgX19oYXNoX18oKWBgIGZvciBzb21lIGltcG9ydGFudCBub3RlcyBvblxuICAgY3JlYXRpbmcgKmhhc2hhYmxlKiBvYmplY3RzIHdoaWNoIHN1cHBvcnQgY3VzdG9tIGNvbXBhcmlzb25cbiAgIG9wZXJhdGlvbnMgYW5kIGFyZSB1c2FibGUgYXMgZGljdGlvbmFyeSBrZXlzLlxuXG4gICBUaGVyZSBhcmUgbm8gc3dhcHBlZC1hcmd1bWVudCB2ZXJzaW9ucyBvZiB0aGVzZSBtZXRob2RzICh0byBiZSB1c2VkXG4gICB3aGVuIHRoZSBsZWZ0IGFyZ3VtZW50IGRvZXMgbm90IHN1cHBvcnQgdGhlIG9wZXJhdGlvbiBidXQgdGhlIHJpZ2h0XG4gICBhcmd1bWVudCBkb2VzKTsgcmF0aGVyLCBgYF9fbHRfXygpYGAgYW5kIGBgX19ndF9fKClgYCBhcmUgZWFjaFxuICAgb3RoZXJcJ3MgcmVmbGVjdGlvbiwgYGBfX2xlX18oKWBgIGFuZCBgYF9fZ2VfXygpYGAgYXJlIGVhY2ggb3RoZXJcJ3NcbiAgIHJlZmxlY3Rpb24sIGFuZCBgYF9fZXFfXygpYGAgYW5kIGBgX19uZV9fKClgYCBhcmUgdGhlaXIgb3duXG4gICByZWZsZWN0aW9uLlxuXG4gICBBcmd1bWVudHMgdG8gcmljaCBjb21wYXJpc29uIG1ldGhvZHMgYXJlIG5ldmVyIGNvZXJjZWQuXG5cbiAgIFRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgb3JkZXJpbmcgb3BlcmF0aW9ucyBmcm9tIGEgc2luZ2xlIHJvb3RcbiAgIG9wZXJhdGlvbiwgc2VlIGBgZnVuY3Rvb2xzLnRvdGFsX29yZGVyaW5nKClgYC5cblxub2JqZWN0Ll9faGFzaF9fKHNlbGYpXG5cbiAgIENhbGxlZCBieSBidWlsdC1pbiBmdW5jdGlvbiBgYGhhc2goKWBgIGFuZCBmb3Igb3BlcmF0aW9ucyBvblxuICAgbWVtYmVycyBvZiBoYXNoZWQgY29sbGVjdGlvbnMgaW5jbHVkaW5nIGBgc2V0YGAsIGBgZnJvemVuc2V0YGAsIGFuZFxuICAgYGBkaWN0YGAuICBgYF9faGFzaF9fKClgYCBzaG91bGQgcmV0dXJuIGFuIGludGVnZXIuICBUaGUgb25seVxuICAgcmVxdWlyZWQgcHJvcGVydHkgaXMgdGhhdCBvYmplY3RzIHdoaWNoIGNvbXBhcmUgZXF1YWwgaGF2ZSB0aGUgc2FtZVxuICAgaGFzaCB2YWx1ZTsgaXQgaXMgYWR2aXNlZCB0byBzb21laG93IG1peCB0b2dldGhlciAoZS5nLiB1c2luZ1xuICAgZXhjbHVzaXZlIG9yKSB0aGUgaGFzaCB2YWx1ZXMgZm9yIHRoZSBjb21wb25lbnRzIG9mIHRoZSBvYmplY3QgdGhhdFxuICAgYWxzbyBwbGF5IGEgcGFydCBpbiBjb21wYXJpc29uIG9mIG9iamVjdHMuXG5cbiAgIElmIGEgY2xhc3MgZG9lcyBub3QgZGVmaW5lIGFuIGBgX19lcV9fKClgYCBtZXRob2QgaXQgc2hvdWxkIG5vdFxuICAgZGVmaW5lIGEgYGBfX2hhc2hfXygpYGAgb3BlcmF0aW9uIGVpdGhlcjsgaWYgaXQgZGVmaW5lc1xuICAgYGBfX2VxX18oKWBgIGJ1dCBub3QgYGBfX2hhc2hfXygpYGAsIGl0cyBpbnN0YW5jZXMgd2lsbCBub3QgYmVcbiAgIHVzYWJsZSBhcyBpdGVtcyBpbiBoYXNoYWJsZSBjb2xsZWN0aW9ucy4gIElmIGEgY2xhc3MgZGVmaW5lc1xuICAgbXV0YWJsZSBvYmplY3RzIGFuZCBpbXBsZW1lbnRzIGFuIGBgX19lcV9fKClgYCBtZXRob2QsIGl0IHNob3VsZFxuICAgbm90IGltcGxlbWVudCBgYF9faGFzaF9fKClgYCwgc2luY2UgdGhlIGltcGxlbWVudGF0aW9uIG9mIGhhc2hhYmxlXG4gICBjb2xsZWN0aW9ucyByZXF1aXJlcyB0aGF0IGEga2V5XCdzIGhhc2ggdmFsdWUgaXMgaW1tdXRhYmxlIChpZiB0aGVcbiAgIG9iamVjdFwncyBoYXNoIHZhbHVlIGNoYW5nZXMsIGl0IHdpbGwgYmUgaW4gdGhlIHdyb25nIGhhc2ggYnVja2V0KS5cblxuICAgVXNlci1kZWZpbmVkIGNsYXNzZXMgaGF2ZSBgYF9fZXFfXygpYGAgYW5kIGBgX19oYXNoX18oKWBgIG1ldGhvZHNcbiAgIGJ5IGRlZmF1bHQ7IHdpdGggdGhlbSwgYWxsIG9iamVjdHMgY29tcGFyZSB1bmVxdWFsIChleGNlcHQgd2l0aFxuICAgdGhlbXNlbHZlcykgYW5kIGBgeC5fX2hhc2hfXygpYGAgcmV0dXJucyBgYGlkKHgpYGAuXG5cbiAgIENsYXNzZXMgd2hpY2ggaW5oZXJpdCBhIGBgX19oYXNoX18oKWBgIG1ldGhvZCBmcm9tIGEgcGFyZW50IGNsYXNzXG4gICBidXQgY2hhbmdlIHRoZSBtZWFuaW5nIG9mIGBgX19lcV9fKClgYCBzdWNoIHRoYXQgdGhlIGhhc2ggdmFsdWVcbiAgIHJldHVybmVkIGlzIG5vIGxvbmdlciBhcHByb3ByaWF0ZSAoZS5nLiBieSBzd2l0Y2hpbmcgdG8gYSB2YWx1ZS1cbiAgIGJhc2VkIGNvbmNlcHQgb2YgZXF1YWxpdHkgaW5zdGVhZCBvZiB0aGUgZGVmYXVsdCBpZGVudGl0eSBiYXNlZFxuICAgZXF1YWxpdHkpIGNhbiBleHBsaWNpdGx5IGZsYWcgdGhlbXNlbHZlcyBhcyBiZWluZyB1bmhhc2hhYmxlIGJ5XG4gICBzZXR0aW5nIGBgX19oYXNoX18gPSBOb25lYGAgaW4gdGhlIGNsYXNzIGRlZmluaXRpb24uIERvaW5nIHNvIG1lYW5zXG4gICB0aGF0IG5vdCBvbmx5IHdpbGwgaW5zdGFuY2VzIG9mIHRoZSBjbGFzcyByYWlzZSBhbiBhcHByb3ByaWF0ZVxuICAgYGBUeXBlRXJyb3JgYCB3aGVuIGEgcHJvZ3JhbSBhdHRlbXB0cyB0byByZXRyaWV2ZSB0aGVpciBoYXNoIHZhbHVlLFxuICAgYnV0IHRoZXkgd2lsbCBhbHNvIGJlIGNvcnJlY3RseSBpZGVudGlmaWVkIGFzIHVuaGFzaGFibGUgd2hlblxuICAgY2hlY2tpbmcgYGBpc2luc3RhbmNlKG9iaiwgY29sbGVjdGlvbnMuSGFzaGFibGUpYGAgKHVubGlrZSBjbGFzc2VzXG4gICB3aGljaCBkZWZpbmUgdGhlaXIgb3duIGBgX19oYXNoX18oKWBgIHRvIGV4cGxpY2l0bHkgcmFpc2VcbiAgIGBgVHlwZUVycm9yYGApLlxuXG4gICBJZiBhIGNsYXNzIHRoYXQgb3ZlcnJpZGVzIGBgX19lcV9fKClgYCBuZWVkcyB0byByZXRhaW4gdGhlXG4gICBpbXBsZW1lbnRhdGlvbiBvZiBgYF9faGFzaF9fKClgYCBmcm9tIGEgcGFyZW50IGNsYXNzLCB0aGVcbiAgIGludGVycHJldGVyIG11c3QgYmUgdG9sZCB0aGlzIGV4cGxpY2l0bHkgYnkgc2V0dGluZyBgYF9faGFzaF9fID1cbiAgIDxQYXJlbnRDbGFzcz4uX19oYXNoX19gYC4gT3RoZXJ3aXNlIHRoZSBpbmhlcml0YW5jZSBvZlxuICAgYGBfX2hhc2hfXygpYGAgd2lsbCBiZSBibG9ja2VkLCBqdXN0IGFzIGlmIGBgX19oYXNoX19gYCBoYWQgYmVlblxuICAgZXhwbGljaXRseSBzZXQgdG8gYGBOb25lYGAuXG5cbiAgIFNlZSBhbHNvIHRoZSAqLVIqIGNvbW1hbmQtbGluZSBvcHRpb24uXG5cbm9iamVjdC5fX2Jvb2xfXyhzZWxmKVxuXG4gICBDYWxsZWQgdG8gaW1wbGVtZW50IHRydXRoIHZhbHVlIHRlc3RpbmcgYW5kIHRoZSBidWlsdC1pbiBvcGVyYXRpb25cbiAgIGBgYm9vbCgpYGA7IHNob3VsZCByZXR1cm4gYGBGYWxzZWBgIG9yIGBgVHJ1ZWBgLiAgV2hlbiB0aGlzIG1ldGhvZFxuICAgaXMgbm90IGRlZmluZWQsIGBgX19sZW5fXygpYGAgaXMgY2FsbGVkLCBpZiBpdCBpcyBkZWZpbmVkLCBhbmQgdGhlXG4gICBvYmplY3QgaXMgY29uc2lkZXJlZCB0cnVlIGlmIGl0cyByZXN1bHQgaXMgbm9uemVyby4gIElmIGEgY2xhc3NcbiAgIGRlZmluZXMgbmVpdGhlciBgYF9fbGVuX18oKWBgIG5vciBgYF9fYm9vbF9fKClgYCwgYWxsIGl0cyBpbnN0YW5jZXNcbiAgIGFyZSBjb25zaWRlcmVkIHRydWUuXG4nLAorICdjdXN0b21pemF0aW9uJzogJ1xuQmFzaWMgY3VzdG9taXphdGlvblxuKioqKioqKioqKioqKioqKioqKlxuXG5vYmplY3QuX19uZXdfXyhjbHNbLCAuLi5dKVxuXG4gICBDYWxsZWQgdG8gY3JlYXRlIGEgbmV3IGluc3RhbmNlIG9mIGNsYXNzICpjbHMqLiAgYGBfX25ld19fKClgYCBpcyBhXG4gICBzdGF0aWMgbWV0aG9kIChzcGVjaWFsLWNhc2VkIHNvIHlvdSBuZWVkIG5vdCBkZWNsYXJlIGl0IGFzIHN1Y2gpXG4gICB0aGF0IHRha2VzIHRoZSBjbGFzcyBvZiB3aGljaCBhbiBpbnN0YW5jZSB3YXMgcmVxdWVzdGVkIGFzIGl0c1xuICAgZmlyc3QgYXJndW1lbnQuICBUaGUgcmVtYWluaW5nIGFyZ3VtZW50cyBhcmUgdGhvc2UgcGFzc2VkIHRvIHRoZVxuICAgb2JqZWN0IGNvbnN0cnVjdG9yIGV4cHJlc3Npb24gKHRoZSBjYWxsIHRvIHRoZSBjbGFzcykuICBUaGUgcmV0dXJuXG4gICB2YWx1ZSBvZiBgYF9fbmV3X18oKWBgIHNob3VsZCBiZSB0aGUgbmV3IG9iamVjdCBpbnN0YW5jZSAodXN1YWxseVxuICAgYW4gaW5zdGFuY2Ugb2YgKmNscyopLlxuXG4gICBUeXBpY2FsIGltcGxlbWVudGF0aW9ucyBjcmVhdGUgYSBuZXcgaW5zdGFuY2Ugb2YgdGhlIGNsYXNzIGJ5XG4gICBpbnZva2luZyB0aGUgc3VwZXJjbGFzc1wncyBgYF9fbmV3X18oKWBgIG1ldGhvZCB1c2luZ1xuICAgYGBzdXBlcihjdXJyZW50Y2xhc3MsIGNscykuX19uZXdfXyhjbHNbLCAuLi5dKWBgIHdpdGggYXBwcm9wcmlhdGVcbiAgIGFyZ3VtZW50cyBhbmQgdGhlbiBtb2RpZnlpbmcgdGhlIG5ld2x5LWNyZWF0ZWQgaW5zdGFuY2UgYXNcbiAgIG5lY2Vzc2FyeSBiZWZvcmUgcmV0dXJuaW5nIGl0LlxuXG4gICBJZiBgYF9fbmV3X18oKWBgIHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgKmNscyosIHRoZW4gdGhlIG5ld1xuICAgaW5zdGFuY2VcJ3MgYGBfX2luaXRfXygpYGAgbWV0aG9kIHdpbGwgYmUgaW52b2tlZCBsaWtlXG4gICBgYF9faW5pdF9fKHNlbGZbLCAuLi5dKWBgLCB3aGVyZSAqc2VsZiogaXMgdGhlIG5ldyBpbnN0YW5jZSBhbmQgdGhlXG4gICByZW1haW5pbmcgYXJndW1lbnRzIGFyZSB0aGUgc2FtZSBhcyB3ZXJlIHBhc3NlZCB0byBgYF9fbmV3X18oKWBgLlxuXG4gICBJZiBgYF9fbmV3X18oKWBgIGRvZXMgbm90IHJldHVybiBhbiBpbnN0YW5jZSBvZiAqY2xzKiwgdGhlbiB0aGUgbmV3XG4gICBpbnN0YW5jZVwncyBgYF9faW5pdF9fKClgYCBtZXRob2Qgd2lsbCBub3QgYmUgaW52b2tlZC5cblxuICAgYGBfX25ld19fKClgYCBpcyBpbnRlbmRlZCBtYWlubHkgdG8gYWxsb3cgc3ViY2xhc3NlcyBvZiBpbW11dGFibGVcbiAgIHR5cGVzIChsaWtlIGludCwgc3RyLCBvciB0dXBsZSkgdG8gY3VzdG9taXplIGluc3RhbmNlIGNyZWF0aW9uLiAgSXRcbiAgIGlzIGFsc28gY29tbW9ubHkgb3ZlcnJpZGRlbiBpbiBjdXN0b20gbWV0YWNsYXNzZXMgaW4gb3JkZXIgdG9cbiAgIGN1c3RvbWl6ZSBjbGFzcyBjcmVhdGlvbi5cblxub2JqZWN0Ll9faW5pdF9fKHNlbGZbLCAuLi5dKVxuXG4gICBDYWxsZWQgd2hlbiB0aGUgaW5zdGFuY2UgaXMgY3JlYXRlZC4gIFRoZSBhcmd1bWVudHMgYXJlIHRob3NlXG4gICBwYXNzZWQgdG8gdGhlIGNsYXNzIGNvbnN0cnVjdG9yIGV4cHJlc3Npb24uICBJZiBhIGJhc2UgY2xhc3MgaGFzIGFuXG4gICBgYF9faW5pdF9fKClgYCBtZXRob2QsIHRoZSBkZXJpdmVkIGNsYXNzXCdzIGBgX19pbml0X18oKWBgIG1ldGhvZCxcbiAgIGlmIGFueSwgbXVzdCBleHBsaWNpdGx5IGNhbGwgaXQgdG8gZW5zdXJlIHByb3BlciBpbml0aWFsaXphdGlvbiBvZlxuICAgdGhlIGJhc2UgY2xhc3MgcGFydCBvZiB0aGUgaW5zdGFuY2U7IGZvciBleGFtcGxlOlxuICAgYGBCYXNlQ2xhc3MuX19pbml0X18oc2VsZiwgW2FyZ3MuLi5dKWBgLiAgQXMgYSBzcGVjaWFsIGNvbnN0cmFpbnRcbiAgIG9uIGNvbnN0cnVjdG9ycywgbm8gdmFsdWUgbWF5IGJlIHJldHVybmVkOyBkb2luZyBzbyB3aWxsIGNhdXNlIGFcbiAgIGBgVHlwZUVycm9yYGAgdG8gYmUgcmFpc2VkIGF0IHJ1bnRpbWUuXG5cbm9iamVjdC5fX2RlbF9fKHNlbGYpXG5cbiAgIENhbGxlZCB3aGVuIHRoZSBpbnN0YW5jZSBpcyBhYm91dCB0byBiZSBkZXN0cm95ZWQuICBUaGlzIGlzIGFsc29cbiAgIGNhbGxlZCBhIGRlc3RydWN0b3IuICBJZiBhIGJhc2UgY2xhc3MgaGFzIGEgYGBfX2RlbF9fKClgYCBtZXRob2QsXG4gICB0aGUgZGVyaXZlZCBjbGFzc1wncyBgYF9fZGVsX18oKWBgIG1ldGhvZCwgaWYgYW55LCBtdXN0IGV4cGxpY2l0bHlcbiAgIGNhbGwgaXQgdG8gZW5zdXJlIHByb3BlciBkZWxldGlvbiBvZiB0aGUgYmFzZSBjbGFzcyBwYXJ0IG9mIHRoZVxuICAgaW5zdGFuY2UuICBOb3RlIHRoYXQgaXQgaXMgcG9zc2libGUgKHRob3VnaCBub3QgcmVjb21tZW5kZWQhKSBmb3JcbiAgIHRoZSBgYF9fZGVsX18oKWBgIG1ldGhvZCB0byBwb3N0cG9uZSBkZXN0cnVjdGlvbiBvZiB0aGUgaW5zdGFuY2UgYnlcbiAgIGNyZWF0aW5nIGEgbmV3IHJlZmVyZW5jZSB0byBpdC4gIEl0IG1heSB0aGVuIGJlIGNhbGxlZCBhdCBhIGxhdGVyXG4gICB0aW1lIHdoZW4gdGhpcyBuZXcgcmVmZXJlbmNlIGlzIGRlbGV0ZWQuICBJdCBpcyBub3QgZ3VhcmFudGVlZCB0aGF0XG4gICBgYF9fZGVsX18oKWBgIG1ldGhvZHMgYXJlIGNhbGxlZCBmb3Igb2JqZWN0cyB0aGF0IHN0aWxsIGV4aXN0IHdoZW5cbiAgIHRoZSBpbnRlcnByZXRlciBleGl0cy5cblxuICAgTm90ZTogYGBkZWwgeGBgIGRvZXNuXCd0IGRpcmVjdGx5IGNhbGwgYGB4Ll9fZGVsX18oKWBgIC0tLSB0aGUgZm9ybWVyXG4gICAgIGRlY3JlbWVudHMgdGhlIHJlZmVyZW5jZSBjb3VudCBmb3IgYGB4YGAgYnkgb25lLCBhbmQgdGhlIGxhdHRlclxuICAgICBpcyBvbmx5IGNhbGxlZCB3aGVuIGBgeGBgXCdzIHJlZmVyZW5jZSBjb3VudCByZWFjaGVzIHplcm8uICBTb21lXG4gICAgIGNvbW1vbiBzaXR1YXRpb25zIHRoYXQgbWF5IHByZXZlbnQgdGhlIHJlZmVyZW5jZSBjb3VudCBvZiBhblxuICAgICBvYmplY3QgZnJvbSBnb2luZyB0byB6ZXJvIGluY2x1ZGU6IGNpcmN1bGFyIHJlZmVyZW5jZXMgYmV0d2VlblxuICAgICBvYmplY3RzIChlLmcuLCBhIGRvdWJseS1saW5rZWQgbGlzdCBvciBhIHRyZWUgZGF0YSBzdHJ1Y3R1cmUgd2l0aFxuICAgICBwYXJlbnQgYW5kIGNoaWxkIHBvaW50ZXJzKTsgYSByZWZlcmVuY2UgdG8gdGhlIG9iamVjdCBvbiB0aGVcbiAgICAgc3RhY2sgZnJhbWUgb2YgYSBmdW5jdGlvbiB0aGF0IGNhdWdodCBhbiBleGNlcHRpb24gKHRoZSB0cmFjZWJhY2tcbiAgICAgc3RvcmVkIGluIGBgc3lzLmV4Y19pbmZvKClbMl1gYCBrZWVwcyB0aGUgc3RhY2sgZnJhbWUgYWxpdmUpOyBvclxuICAgICBhIHJlZmVyZW5jZSB0byB0aGUgb2JqZWN0IG9uIHRoZSBzdGFjayBmcmFtZSB0aGF0IHJhaXNlZCBhblxuICAgICB1bmhhbmRsZWQgZXhjZXB0aW9uIGluIGludGVyYWN0aXZlIG1vZGUgKHRoZSB0cmFjZWJhY2sgc3RvcmVkIGluXG4gICAgIGBgc3lzLmxhc3RfdHJhY2ViYWNrYGAga2VlcHMgdGhlIHN0YWNrIGZyYW1lIGFsaXZlKS4gIFRoZSBmaXJzdFxuICAgICBzaXR1YXRpb24gY2FuIG9ubHkgYmUgcmVtZWRpZWQgYnkgZXhwbGljaXRseSBicmVha2luZyB0aGUgY3ljbGVzO1xuICAgICB0aGUgbGF0dGVyIHR3byBzaXR1YXRpb25zIGNhbiBiZSByZXNvbHZlZCBieSBzdG9yaW5nIGBgTm9uZWBgIGluXG4gICAgIGBgc3lzLmxhc3RfdHJhY2ViYWNrYGAuIENpcmN1bGFyIHJlZmVyZW5jZXMgd2hpY2ggYXJlIGdhcmJhZ2UgYXJlXG4gICAgIGRldGVjdGVkIHdoZW4gdGhlIG9wdGlvbiBjeWNsZSBkZXRlY3RvciBpcyBlbmFibGVkIChpdFwncyBvbiBieVxuICAgICBkZWZhdWx0KSwgYnV0IGNhbiBvbmx5IGJlIGNsZWFuZWQgdXAgaWYgdGhlcmUgYXJlIG5vIFB5dGhvbi1cbiAgICAgbGV2ZWwgYGBfX2RlbF9fKClgYCBtZXRob2RzIGludm9sdmVkLiBSZWZlciB0byB0aGUgZG9jdW1lbnRhdGlvblxuICAgICBmb3IgdGhlIGBgZ2NgYCBtb2R1bGUgZm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgaG93XG4gICAgIGBgX19kZWxfXygpYGAgbWV0aG9kcyBhcmUgaGFuZGxlZCBieSB0aGUgY3ljbGUgZGV0ZWN0b3IsXG4gICAgIHBhcnRpY3VsYXJseSB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIGBgZ2FyYmFnZWBgIHZhbHVlLlxuXG4gICBXYXJuaW5nOiBEdWUgdG8gdGhlIHByZWNhcmlvdXMgY2lyY3Vtc3RhbmNlcyB1bmRlciB3aGljaCBgYF9fZGVsX18oKWBgXG4gICAgIG1ldGhvZHMgYXJlIGludm9rZWQsIGV4Y2VwdGlvbnMgdGhhdCBvY2N1ciBkdXJpbmcgdGhlaXIgZXhlY3V0aW9uXG4gICAgIGFyZSBpZ25vcmVkLCBhbmQgYSB3YXJuaW5nIGlzIHByaW50ZWQgdG8gYGBzeXMuc3RkZXJyYGAgaW5zdGVhZC5cbiAgICAgQWxzbywgd2hlbiBgYF9fZGVsX18oKWBgIGlzIGludm9rZWQgaW4gcmVzcG9uc2UgdG8gYSBtb2R1bGUgYmVpbmdcbiAgICAgZGVsZXRlZCAoZS5nLiwgd2hlbiBleGVjdXRpb24gb2YgdGhlIHByb2dyYW0gaXMgZG9uZSksIG90aGVyXG4gICAgIGdsb2JhbHMgcmVmZXJlbmNlZCBieSB0aGUgYGBfX2RlbF9fKClgYCBtZXRob2QgbWF5IGFscmVhZHkgaGF2ZVxuICAgICBiZWVuIGRlbGV0ZWQgb3IgaW4gdGhlIHByb2Nlc3Mgb2YgYmVpbmcgdG9ybiBkb3duIChlLmcuIHRoZVxuICAgICBpbXBvcnQgbWFjaGluZXJ5IHNodXR0aW5nIGRvd24pLiAgRm9yIHRoaXMgcmVhc29uLCBgYF9fZGVsX18oKWBgXG4gICAgIG1ldGhvZHMgc2hvdWxkIGRvIHRoZSBhYnNvbHV0ZSBtaW5pbXVtIG5lZWRlZCB0byBtYWludGFpblxuICAgICBleHRlcm5hbCBpbnZhcmlhbnRzLiAgU3RhcnRpbmcgd2l0aCB2ZXJzaW9uIDEuNSwgUHl0aG9uXG4gICAgIGd1YXJhbnRlZXMgdGhhdCBnbG9iYWxzIHdob3NlIG5hbWUgYmVnaW5zIHdpdGggYSBzaW5nbGVcbiAgICAgdW5kZXJzY29yZSBhcmUgZGVsZXRlZCBmcm9tIHRoZWlyIG1vZHVsZSBiZWZvcmUgb3RoZXIgZ2xvYmFscyBhcmVcbiAgICAgZGVsZXRlZDsgaWYgbm8gb3RoZXIgcmVmZXJlbmNlcyB0byBzdWNoIGdsb2JhbHMgZXhpc3QsIHRoaXMgbWF5XG4gICAgIGhlbHAgaW4gYXNzdXJpbmcgdGhhdCBpbXBvcnRlZCBtb2R1bGVzIGFyZSBzdGlsbCBhdmFpbGFibGUgYXQgdGhlXG4gICAgIHRpbWUgd2hlbiB0aGUgYGBfX2RlbF9fKClgYCBtZXRob2QgaXMgY2FsbGVkLlxuXG5vYmplY3QuX19yZXByX18oc2VsZilcblxuICAgQ2FsbGVkIGJ5IHRoZSBgYHJlcHIoKWBgIGJ1aWx0LWluIGZ1bmN0aW9uIHRvIGNvbXB1dGUgdGhlXG4gICAib2ZmaWNpYWwiIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBhbiBvYmplY3QuICBJZiBhdCBhbGwgcG9zc2libGUsXG4gICB0aGlzIHNob3VsZCBsb29rIGxpa2UgYSB2YWxpZCBQeXRob24gZXhwcmVzc2lvbiB0aGF0IGNvdWxkIGJlIHVzZWRcbiAgIHRvIHJlY3JlYXRlIGFuIG9iamVjdCB3aXRoIHRoZSBzYW1lIHZhbHVlIChnaXZlbiBhbiBhcHByb3ByaWF0ZVxuICAgZW52aXJvbm1lbnQpLiAgSWYgdGhpcyBpcyBub3QgcG9zc2libGUsIGEgc3RyaW5nIG9mIHRoZSBmb3JtXG4gICBgYDwuLi5zb21lIHVzZWZ1bCBkZXNjcmlwdGlvbi4uLj5gYCBzaG91bGQgYmUgcmV0dXJuZWQuIFRoZSByZXR1cm5cbiAgIHZhbHVlIG11c3QgYmUgYSBzdHJpbmcgb2JqZWN0LiBJZiBhIGNsYXNzIGRlZmluZXMgYGBfX3JlcHJfXygpYGBcbiAgIGJ1dCBub3QgYGBfX3N0cl9fKClgYCwgdGhlbiBgYF9fcmVwcl9fKClgYCBpcyBhbHNvIHVzZWQgd2hlbiBhblxuICAgImluZm9ybWFsIiBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgaW5zdGFuY2VzIG9mIHRoYXQgY2xhc3MgaXNcbiAgIHJlcXVpcmVkLlxuXG4gICBUaGlzIGlzIHR5cGljYWxseSB1c2VkIGZvciBkZWJ1Z2dpbmcsIHNvIGl0IGlzIGltcG9ydGFudCB0aGF0IHRoZVxuICAgcmVwcmVzZW50YXRpb24gaXMgaW5mb3JtYXRpb24tcmljaCBhbmQgdW5hbWJpZ3VvdXMuXG5cbm9iamVjdC5fX3N0cl9fKHNlbGYpXG5cbiAgIENhbGxlZCBieSB0aGUgYGBzdHIoKWBgIGJ1aWx0LWluIGZ1bmN0aW9uIGFuZCBieSB0aGUgYGBwcmludCgpYGBcbiAgIGZ1bmN0aW9uIHRvIGNvbXB1dGUgdGhlICJpbmZvcm1hbCIgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIGFuXG4gICBvYmplY3QuICBUaGlzIGRpZmZlcnMgZnJvbSBgYF9fcmVwcl9fKClgYCBpbiB0aGF0IGl0IGRvZXMgbm90IGhhdmVcbiAgIHRvIGJlIGEgdmFsaWQgUHl0aG9uIGV4cHJlc3Npb246IGEgbW9yZSBjb252ZW5pZW50IG9yIGNvbmNpc2VcbiAgIHJlcHJlc2VudGF0aW9uIG1heSBiZSB1c2VkIGluc3RlYWQuIFRoZSByZXR1cm4gdmFsdWUgbXVzdCBiZSBhXG4gICBzdHJpbmcgb2JqZWN0LlxuXG5vYmplY3QuX19ieXRlc19fKHNlbGYpXG5cbiAgIENhbGxlZCBieSBgYGJ5dGVzKClgYCB0byBjb21wdXRlIGEgYnl0ZS1zdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgYW5cbiAgIG9iamVjdC4gVGhpcyBzaG91bGQgcmV0dXJuIGEgYGBieXRlc2BgIG9iamVjdC5cblxub2JqZWN0Ll9fZm9ybWF0X18oc2VsZiwgZm9ybWF0X3NwZWMpXG5cbiAgIENhbGxlZCBieSB0aGUgYGBmb3JtYXQoKWBgIGJ1aWx0LWluIGZ1bmN0aW9uIChhbmQgYnkgZXh0ZW5zaW9uLCB0aGVcbiAgIGBgZm9ybWF0KClgYCBtZXRob2Qgb2YgY2xhc3MgYGBzdHJgYCkgdG8gcHJvZHVjZSBhICJmb3JtYXR0ZWQiXG4gICBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgYW4gb2JqZWN0LiBUaGUgYGBmb3JtYXRfc3BlY2BgIGFyZ3VtZW50IGlzXG4gICBhIHN0cmluZyB0aGF0IGNvbnRhaW5zIGEgZGVzY3JpcHRpb24gb2YgdGhlIGZvcm1hdHRpbmcgb3B0aW9uc1xuICAgZGVzaXJlZC4gVGhlIGludGVycHJldGF0aW9uIG9mIHRoZSBgYGZvcm1hdF9zcGVjYGAgYXJndW1lbnQgaXMgdXBcbiAgIHRvIHRoZSB0eXBlIGltcGxlbWVudGluZyBgYF9fZm9ybWF0X18oKWBgLCBob3dldmVyIG1vc3QgY2xhc3Nlc1xuICAgd2lsbCBlaXRoZXIgZGVsZWdhdGUgZm9ybWF0dGluZyB0byBvbmUgb2YgdGhlIGJ1aWx0LWluIHR5cGVzLCBvclxuICAgdXNlIGEgc2ltaWxhciBmb3JtYXR0aW5nIG9wdGlvbiBzeW50YXguXG5cbiAgIFNlZSAqRm9ybWF0IFNwZWNpZmljYXRpb24gTWluaS1MYW5ndWFnZSogZm9yIGEgZGVzY3JpcHRpb24gb2YgdGhlXG4gICBzdGFuZGFyZCBmb3JtYXR0aW5nIHN5bnRheC5cblxuICAgVGhlIHJldHVybiB2YWx1ZSBtdXN0IGJlIGEgc3RyaW5nIG9iamVjdC5cblxub2JqZWN0Ll9fbHRfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX2xlX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19lcV9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9fbmVfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX2d0X18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19nZV9fKHNlbGYsIG90aGVyKVxuXG4gICBUaGVzZSBhcmUgdGhlIHNvLWNhbGxlZCAicmljaCBjb21wYXJpc29uIiBtZXRob2RzLiBUaGVcbiAgIGNvcnJlc3BvbmRlbmNlIGJldHdlZW4gb3BlcmF0b3Igc3ltYm9scyBhbmQgbWV0aG9kIG5hbWVzIGlzIGFzXG4gICBmb2xsb3dzOiBgYHg8eWBgIGNhbGxzIGBgeC5fX2x0X18oeSlgYCwgYGB4PD15YGAgY2FsbHNcbiAgIGBgeC5fX2xlX18oeSlgYCwgYGB4PT15YGAgY2FsbHMgYGB4Ll9fZXFfXyh5KWBgLCBgYHghPXlgYCBjYWxsc1xuICAgYGB4Ll9fbmVfXyh5KWBgLCBgYHg+eWBgIGNhbGxzIGBgeC5fX2d0X18oeSlgYCwgYW5kIGBgeD49eWBgIGNhbGxzXG4gICBgYHguX19nZV9fKHkpYGAuXG5cbiAgIEEgcmljaCBjb21wYXJpc29uIG1ldGhvZCBtYXkgcmV0dXJuIHRoZSBzaW5nbGV0b25cbiAgIGBgTm90SW1wbGVtZW50ZWRgYCBpZiBpdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIG9wZXJhdGlvbiBmb3IgYVxuICAgZ2l2ZW4gcGFpciBvZiBhcmd1bWVudHMuIEJ5IGNvbnZlbnRpb24sIGBgRmFsc2VgYCBhbmQgYGBUcnVlYGAgYXJlXG4gICByZXR1cm5lZCBmb3IgYSBzdWNjZXNzZnVsIGNvbXBhcmlzb24uIEhvd2V2ZXIsIHRoZXNlIG1ldGhvZHMgY2FuXG4gICByZXR1cm4gYW55IHZhbHVlLCBzbyBpZiB0aGUgY29tcGFyaXNvbiBvcGVyYXRvciBpcyB1c2VkIGluIGFcbiAgIEJvb2xlYW4gY29udGV4dCAoZS5nLiwgaW4gdGhlIGNvbmRpdGlvbiBvZiBhbiBgYGlmYGAgc3RhdGVtZW50KSxcbiAgIFB5dGhvbiB3aWxsIGNhbGwgYGBib29sKClgYCBvbiB0aGUgdmFsdWUgdG8gZGV0ZXJtaW5lIGlmIHRoZSByZXN1bHRcbiAgIGlzIHRydWUgb3IgZmFsc2UuXG5cbiAgIFRoZXJlIGFyZSBubyBpbXBsaWVkIHJlbGF0aW9uc2hpcHMgYW1vbmcgdGhlIGNvbXBhcmlzb24gb3BlcmF0b3JzLlxuICAgVGhlIHRydXRoIG9mIGBgeD09eWBgIGRvZXMgbm90IGltcGx5IHRoYXQgYGB4IT15YGAgaXMgZmFsc2UuXG4gICBBY2NvcmRpbmdseSwgd2hlbiBkZWZpbmluZyBgYF9fZXFfXygpYGAsIG9uZSBzaG91bGQgYWxzbyBkZWZpbmVcbiAgIGBgX19uZV9fKClgYCBzbyB0aGF0IHRoZSBvcGVyYXRvcnMgd2lsbCBiZWhhdmUgYXMgZXhwZWN0ZWQuICBTZWVcbiAgIHRoZSBwYXJhZ3JhcGggb24gYGBfX2hhc2hfXygpYGAgZm9yIHNvbWUgaW1wb3J0YW50IG5vdGVzIG9uXG4gICBjcmVhdGluZyAqaGFzaGFibGUqIG9iamVjdHMgd2hpY2ggc3VwcG9ydCBjdXN0b20gY29tcGFyaXNvblxuICAgb3BlcmF0aW9ucyBhbmQgYXJlIHVzYWJsZSBhcyBkaWN0aW9uYXJ5IGtleXMuXG5cbiAgIFRoZXJlIGFyZSBubyBzd2FwcGVkLWFyZ3VtZW50IHZlcnNpb25zIG9mIHRoZXNlIG1ldGhvZHMgKHRvIGJlIHVzZWRcbiAgIHdoZW4gdGhlIGxlZnQgYXJndW1lbnQgZG9lcyBub3Qgc3VwcG9ydCB0aGUgb3BlcmF0aW9uIGJ1dCB0aGUgcmlnaHRcbiAgIGFyZ3VtZW50IGRvZXMpOyByYXRoZXIsIGBgX19sdF9fKClgYCBhbmQgYGBfX2d0X18oKWBgIGFyZSBlYWNoXG4gICBvdGhlclwncyByZWZsZWN0aW9uLCBgYF9fbGVfXygpYGAgYW5kIGBgX19nZV9fKClgYCBhcmUgZWFjaCBvdGhlclwnc1xuICAgcmVmbGVjdGlvbiwgYW5kIGBgX19lcV9fKClgYCBhbmQgYGBfX25lX18oKWBgIGFyZSB0aGVpciBvd25cbiAgIHJlZmxlY3Rpb24uXG5cbiAgIEFyZ3VtZW50cyB0byByaWNoIGNvbXBhcmlzb24gbWV0aG9kcyBhcmUgbmV2ZXIgY29lcmNlZC5cblxuICAgVG8gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBvcmRlcmluZyBvcGVyYXRpb25zIGZyb20gYSBzaW5nbGUgcm9vdFxuICAgb3BlcmF0aW9uLCBzZWUgYGBmdW5jdG9vbHMudG90YWxfb3JkZXJpbmcoKWBgLlxuXG5vYmplY3QuX19oYXNoX18oc2VsZilcblxuICAgQ2FsbGVkIGJ5IGJ1aWx0LWluIGZ1bmN0aW9uIGBgaGFzaCgpYGAgYW5kIGZvciBvcGVyYXRpb25zIG9uXG4gICBtZW1iZXJzIG9mIGhhc2hlZCBjb2xsZWN0aW9ucyBpbmNsdWRpbmcgYGBzZXRgYCwgYGBmcm96ZW5zZXRgYCwgYW5kXG4gICBgYGRpY3RgYC4gIGBgX19oYXNoX18oKWBgIHNob3VsZCByZXR1cm4gYW4gaW50ZWdlci4gIFRoZSBvbmx5XG4gICByZXF1aXJlZCBwcm9wZXJ0eSBpcyB0aGF0IG9iamVjdHMgd2hpY2ggY29tcGFyZSBlcXVhbCBoYXZlIHRoZSBzYW1lXG4gICBoYXNoIHZhbHVlOyBpdCBpcyBhZHZpc2VkIHRvIHNvbWVob3cgbWl4IHRvZ2V0aGVyIChlLmcuIHVzaW5nXG4gICBleGNsdXNpdmUgb3IpIHRoZSBoYXNoIHZhbHVlcyBmb3IgdGhlIGNvbXBvbmVudHMgb2YgdGhlIG9iamVjdCB0aGF0XG4gICBhbHNvIHBsYXkgYSBwYXJ0IGluIGNvbXBhcmlzb24gb2Ygb2JqZWN0cy5cblxuICAgSWYgYSBjbGFzcyBkb2VzIG5vdCBkZWZpbmUgYW4gYGBfX2VxX18oKWBgIG1ldGhvZCBpdCBzaG91bGQgbm90XG4gICBkZWZpbmUgYSBgYF9faGFzaF9fKClgYCBvcGVyYXRpb24gZWl0aGVyOyBpZiBpdCBkZWZpbmVzXG4gICBgYF9fZXFfXygpYGAgYnV0IG5vdCBgYF9faGFzaF9fKClgYCwgaXRzIGluc3RhbmNlcyB3aWxsIG5vdCBiZVxuICAgdXNhYmxlIGFzIGl0ZW1zIGluIGhhc2hhYmxlIGNvbGxlY3Rpb25zLiAgSWYgYSBjbGFzcyBkZWZpbmVzXG4gICBtdXRhYmxlIG9iamVjdHMgYW5kIGltcGxlbWVudHMgYW4gYGBfX2VxX18oKWBgIG1ldGhvZCwgaXQgc2hvdWxkXG4gICBub3QgaW1wbGVtZW50IGBgX19oYXNoX18oKWBgLCBzaW5jZSB0aGUgaW1wbGVtZW50YXRpb24gb2YgaGFzaGFibGVcbiAgIGNvbGxlY3Rpb25zIHJlcXVpcmVzIHRoYXQgYSBrZXlcJ3MgaGFzaCB2YWx1ZSBpcyBpbW11dGFibGUgKGlmIHRoZVxuICAgb2JqZWN0XCdzIGhhc2ggdmFsdWUgY2hhbmdlcywgaXQgd2lsbCBiZSBpbiB0aGUgd3JvbmcgaGFzaCBidWNrZXQpLlxuXG4gICBVc2VyLWRlZmluZWQgY2xhc3NlcyBoYXZlIGBgX19lcV9fKClgYCBhbmQgYGBfX2hhc2hfXygpYGAgbWV0aG9kc1xuICAgYnkgZGVmYXVsdDsgd2l0aCB0aGVtLCBhbGwgb2JqZWN0cyBjb21wYXJlIHVuZXF1YWwgKGV4Y2VwdCB3aXRoXG4gICB0aGVtc2VsdmVzKSBhbmQgYGB4Ll9faGFzaF9fKClgYCByZXR1cm5zIGBgaWQoeClgYC5cblxuICAgQ2xhc3NlcyB3aGljaCBpbmhlcml0IGEgYGBfX2hhc2hfXygpYGAgbWV0aG9kIGZyb20gYSBwYXJlbnQgY2xhc3NcbiAgIGJ1dCBjaGFuZ2UgdGhlIG1lYW5pbmcgb2YgYGBfX2VxX18oKWBgIHN1Y2ggdGhhdCB0aGUgaGFzaCB2YWx1ZVxuICAgcmV0dXJuZWQgaXMgbm8gbG9uZ2VyIGFwcHJvcHJpYXRlIChlLmcuIGJ5IHN3aXRjaGluZyB0byBhIHZhbHVlLVxuICAgYmFzZWQgY29uY2VwdCBvZiBlcXVhbGl0eSBpbnN0ZWFkIG9mIHRoZSBkZWZhdWx0IGlkZW50aXR5IGJhc2VkXG4gICBlcXVhbGl0eSkgY2FuIGV4cGxpY2l0bHkgZmxhZyB0aGVtc2VsdmVzIGFzIGJlaW5nIHVuaGFzaGFibGUgYnlcbiAgIHNldHRpbmcgYGBfX2hhc2hfXyA9IE5vbmVgYCBpbiB0aGUgY2xhc3MgZGVmaW5pdGlvbi4gRG9pbmcgc28gbWVhbnNcbiAgIHRoYXQgbm90IG9ubHkgd2lsbCBpbnN0YW5jZXMgb2YgdGhlIGNsYXNzIHJhaXNlIGFuIGFwcHJvcHJpYXRlXG4gICBgYFR5cGVFcnJvcmBgIHdoZW4gYSBwcm9ncmFtIGF0dGVtcHRzIHRvIHJldHJpZXZlIHRoZWlyIGhhc2ggdmFsdWUsXG4gICBidXQgdGhleSB3aWxsIGFsc28gYmUgY29ycmVjdGx5IGlkZW50aWZpZWQgYXMgdW5oYXNoYWJsZSB3aGVuXG4gICBjaGVja2luZyBgYGlzaW5zdGFuY2Uob2JqLCBjb2xsZWN0aW9ucy5IYXNoYWJsZSlgYCAodW5saWtlIGNsYXNzZXNcbiAgIHdoaWNoIGRlZmluZSB0aGVpciBvd24gYGBfX2hhc2hfXygpYGAgdG8gZXhwbGljaXRseSByYWlzZVxuICAgYGBUeXBlRXJyb3JgYCkuXG5cbiAgIElmIGEgY2xhc3MgdGhhdCBvdmVycmlkZXMgYGBfX2VxX18oKWBgIG5lZWRzIHRvIHJldGFpbiB0aGVcbiAgIGltcGxlbWVudGF0aW9uIG9mIGBgX19oYXNoX18oKWBgIGZyb20gYSBwYXJlbnQgY2xhc3MsIHRoZVxuICAgaW50ZXJwcmV0ZXIgbXVzdCBiZSB0b2xkIHRoaXMgZXhwbGljaXRseSBieSBzZXR0aW5nIGBgX19oYXNoX18gPVxuICAgPFBhcmVudENsYXNzPi5fX2hhc2hfX2BgLiBPdGhlcndpc2UgdGhlIGluaGVyaXRhbmNlIG9mXG4gICBgYF9faGFzaF9fKClgYCB3aWxsIGJlIGJsb2NrZWQsIGp1c3QgYXMgaWYgYGBfX2hhc2hfX2BgIGhhZCBiZWVuXG4gICBleHBsaWNpdGx5IHNldCB0byBgYE5vbmVgYC5cblxuICAgTm90ZTogTm90ZSBieSBkZWZhdWx0IHRoZSBgYF9faGFzaF9fKClgYCB2YWx1ZXMgb2Ygc3RyLCBieXRlcyBhbmRcbiAgICAgZGF0ZXRpbWUgb2JqZWN0cyBhcmUgInNhbHRlZCIgd2l0aCBhbiB1bnByZWRpY3RhYmxlIHJhbmRvbSB2YWx1ZS5cbiAgICAgQWx0aG91Z2ggdGhleSByZW1haW4gY29uc3RhbnQgd2l0aGluIGFuIGluZGl2aWR1YWwgUHl0aG9uXG4gICAgIHByb2Nlc3MsIHRoZXkgYXJlIG5vdCBwcmVkaWN0YWJsZSBiZXR3ZWVuIHJlcGVhdGVkIGludm9jYXRpb25zIG9mXG4gICAgIFB5dGhvbi5UaGlzIGlzIGludGVuZGVkIHRvIHByb3ZpZGUgcHJvdGVjdGlvbiBhZ2FpbnN0IGEgZGVuaWFsLVxuICAgICBvZi1zZXJ2aWNlIGNhdXNlZCBieSBjYXJlZnVsbHktY2hvc2VuIGlucHV0cyB0aGF0IGV4cGxvaXQgdGhlXG4gICAgIHdvcnN0IGNhc2UgcGVyZm9ybWFuY2Ugb2YgYSBkaWN0IGluc2VydGlvbiwgTyhuXjIpIGNvbXBsZXhpdHkuXG4gICAgIFNlZSBodHRwOi8vd3d3Lm9jZXJ0Lm9yZy9hZHZpc29yaWVzL29jZXJ0LTIwMTEtMDAzLmh0bWwgZm9yXG4gICAgIGRldGFpbHMuQ2hhbmdpbmcgaGFzaCB2YWx1ZXMgYWZmZWN0cyB0aGUgb3JkZXIgaW4gd2hpY2gga2V5cyBhcmVcbiAgICAgcmV0cmlldmVkIGZyb20gYSBkaWN0LiAgTm90ZSBQeXRob24gaGFzIG5ldmVyIG1hZGUgZ3VhcmFudGVlc1xuICAgICBhYm91dCB0aGlzIG9yZGVyaW5nIChhbmQgaXQgdHlwaWNhbGx5IHZhcmllcyBiZXR3ZWVuIDMyLWJpdCBhbmRcbiAgICAgNjQtYml0IGJ1aWxkcykuU2VlIGFsc28gYGBQWVRIT05IQVNIU0VFRGBgLlxuXG4gICBDaGFuZ2VkIGluIHZlcnNpb24gMy4zOiBIYXNoIHJhbmRvbWl6YXRpb24gaXMgZW5hYmxlZCBieSBkZWZhdWx0LlxuXG5vYmplY3QuX19ib29sX18oc2VsZilcblxuICAgQ2FsbGVkIHRvIGltcGxlbWVudCB0cnV0aCB2YWx1ZSB0ZXN0aW5nIGFuZCB0aGUgYnVpbHQtaW4gb3BlcmF0aW9uXG4gICBgYGJvb2woKWBgOyBzaG91bGQgcmV0dXJuIGBgRmFsc2VgYCBvciBgYFRydWVgYC4gIFdoZW4gdGhpcyBtZXRob2RcbiAgIGlzIG5vdCBkZWZpbmVkLCBgYF9fbGVuX18oKWBgIGlzIGNhbGxlZCwgaWYgaXQgaXMgZGVmaW5lZCwgYW5kIHRoZVxuICAgb2JqZWN0IGlzIGNvbnNpZGVyZWQgdHJ1ZSBpZiBpdHMgcmVzdWx0IGlzIG5vbnplcm8uICBJZiBhIGNsYXNzXG4gICBkZWZpbmVzIG5laXRoZXIgYGBfX2xlbl9fKClgYCBub3IgYGBfX2Jvb2xfXygpYGAsIGFsbCBpdHMgaW5zdGFuY2VzXG4gICBhcmUgY29uc2lkZXJlZCB0cnVlLlxuJywKICAnZGVidWdnZXInOiAnXG5gYHBkYmBgIC0tLSBUaGUgUHl0aG9uIERlYnVnZ2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cblRoZSBtb2R1bGUgYGBwZGJgYCBkZWZpbmVzIGFuIGludGVyYWN0aXZlIHNvdXJjZSBjb2RlIGRlYnVnZ2VyIGZvclxuUHl0aG9uIHByb2dyYW1zLiAgSXQgc3VwcG9ydHMgc2V0dGluZyAoY29uZGl0aW9uYWwpIGJyZWFrcG9pbnRzIGFuZFxuc2luZ2xlIHN0ZXBwaW5nIGF0IHRoZSBzb3VyY2UgbGluZSBsZXZlbCwgaW5zcGVjdGlvbiBvZiBzdGFjayBmcmFtZXMsXG5zb3VyY2UgY29kZSBsaXN0aW5nLCBhbmQgZXZhbHVhdGlvbiBvZiBhcmJpdHJhcnkgUHl0aG9uIGNvZGUgaW4gdGhlXG5jb250ZXh0IG9mIGFueSBzdGFjayBmcmFtZS4gIEl0IGFsc28gc3VwcG9ydHMgcG9zdC1tb3J0ZW0gZGVidWdnaW5nXG5hbmQgY2FuIGJlIGNhbGxlZCB1bmRlciBwcm9ncmFtIGNvbnRyb2wuXG5cblRoZSBkZWJ1Z2dlciBpcyBleHRlbnNpYmxlIC0tIGl0IGlzIGFjdHVhbGx5IGRlZmluZWQgYXMgdGhlIGNsYXNzXG5gYFBkYmBgLiBUaGlzIGlzIGN1cnJlbnRseSB1bmRvY3VtZW50ZWQgYnV0IGVhc2lseSB1bmRlcnN0b29kIGJ5XG5yZWFkaW5nIHRoZSBzb3VyY2UuICBUaGUgZXh0ZW5zaW9uIGludGVyZmFjZSB1c2VzIHRoZSBtb2R1bGVzIGBgYmRiYGBcbmFuZCBgYGNtZGBgLlxuXG5UaGUgZGVidWdnZXJcJ3MgcHJvbXB0IGlzIGBgKFBkYilgYC4gVHlwaWNhbCB1c2FnZSB0byBydW4gYSBwcm9ncmFtXG51bmRlciBjb250cm9sIG9mIHRoZSBkZWJ1Z2dlciBpczpcblxuICAgPj4+IGltcG9ydCBwZGJcbiAgID4+PiBpbXBvcnQgbXltb2R1bGVcbiAgID4+PiBwZGIucnVuKFwnbXltb2R1bGUudGVzdCgpXCcpXG4gICA+IDxzdHJpbmc+KDApPygpXG4gICAoUGRiKSBjb250aW51ZVxuICAgPiA8c3RyaW5nPigxKT8oKVxuICAgKFBkYikgY29udGludWVcbiAgIE5hbWVFcnJvcjogXCdzcGFtXCdcbiAgID4gPHN0cmluZz4oMSk/KClcbiAgIChQZGIpXG5cbmBgcGRiLnB5YGAgY2FuIGFsc28gYmUgaW52b2tlZCBhcyBhIHNjcmlwdCB0byBkZWJ1ZyBvdGhlciBzY3JpcHRzLlxuRm9yIGV4YW1wbGU6XG5cbiAgIHB5dGhvbjMgLW0gcGRiIG15c2NyaXB0LnB5XG5cbldoZW4gaW52b2tlZCBhcyBhIHNjcmlwdCwgcGRiIHdpbGwgYXV0b21hdGljYWxseSBlbnRlciBwb3N0LW1vcnRlbVxuZGVidWdnaW5nIGlmIHRoZSBwcm9ncmFtIGJlaW5nIGRlYnVnZ2VkIGV4aXRzIGFibm9ybWFsbHkuICBBZnRlciBwb3N0LVxubW9ydGVtIGRlYnVnZ2luZyAob3IgYWZ0ZXIgbm9ybWFsIGV4aXQgb2YgdGhlIHByb2dyYW0pLCBwZGIgd2lsbFxucmVzdGFydCB0aGUgcHJvZ3JhbS4gIEF1dG9tYXRpYyByZXN0YXJ0aW5nIHByZXNlcnZlcyBwZGJcJ3Mgc3RhdGUgKHN1Y2hcbmFzIGJyZWFrcG9pbnRzKSBhbmQgaW4gbW9zdCBjYXNlcyBpcyBtb3JlIHVzZWZ1bCB0aGFuIHF1aXR0aW5nIHRoZVxuZGVidWdnZXIgdXBvbiBwcm9ncmFtXCdzIGV4aXQuXG5cbk5ldyBpbiB2ZXJzaW9uIDMuMjogYGBwZGIucHlgYCBub3cgYWNjZXB0cyBhIGBgLWNgYCBvcHRpb24gdGhhdFxuZXhlY3V0ZXMgY29tbWFuZHMgYXMgaWYgZ2l2ZW4gaW4gYSBgYC5wZGJyY2BgIGZpbGUsIHNlZSAqRGVidWdnZXJcbkNvbW1hbmRzKi5cblxuVGhlIHR5cGljYWwgdXNhZ2UgdG8gYnJlYWsgaW50byB0aGUgZGVidWdnZXIgZnJvbSBhIHJ1bm5pbmcgcHJvZ3JhbSBpc1xudG8gaW5zZXJ0XG5cbiAgIGltcG9ydCBwZGI7IHBkYi5zZXRfdHJhY2UoKVxuXG5hdCB0aGUgbG9jYXRpb24geW91IHdhbnQgdG8gYnJlYWsgaW50byB0aGUgZGVidWdnZXIuICBZb3UgY2FuIHRoZW5cbnN0ZXAgdGhyb3VnaCB0aGUgY29kZSBmb2xsb3dpbmcgdGhpcyBzdGF0ZW1lbnQsIGFuZCBjb250aW51ZSBydW5uaW5nXG53aXRob3V0IHRoZSBkZWJ1Z2dlciB1c2luZyB0aGUgYGBjb250aW51ZWBgIGNvbW1hbmQuXG5cblRoZSB0eXBpY2FsIHVzYWdlIHRvIGluc3BlY3QgYSBjcmFzaGVkIHByb2dyYW0gaXM6XG5cbiAgID4+PiBpbXBvcnQgcGRiXG4gICA+Pj4gaW1wb3J0IG15bW9kdWxlXG4gICA+Pj4gbXltb2R1bGUudGVzdCgpXG4gICBUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6XG4gICAgIEZpbGUgIjxzdGRpbj4iLCBsaW5lIDEsIGluID9cbiAgICAgRmlsZSAiLi9teW1vZHVsZS5weSIsIGxpbmUgNCwgaW4gdGVzdFxuICAgICAgIHRlc3QyKClcbiAgICAgRmlsZSAiLi9teW1vZHVsZS5weSIsIGxpbmUgMywgaW4gdGVzdDJcbiAgICAgICBwcmludChzcGFtKVxuICAgTmFtZUVycm9yOiBzcGFtXG4gICA+Pj4gcGRiLnBtKClcbiAgID4gLi9teW1vZHVsZS5weSgzKXRlc3QyKClcbiAgIC0+IHByaW50KHNwYW0pXG4gICAoUGRiKVxuXG5UaGUgbW9kdWxlIGRlZmluZXMgdGhlIGZvbGxvd2luZyBmdW5jdGlvbnM7IGVhY2ggZW50ZXJzIHRoZSBkZWJ1Z2dlclxuaW4gYSBzbGlnaHRseSBkaWZmZXJlbnQgd2F5OlxuXG5wZGIucnVuKHN0YXRlbWVudCwgZ2xvYmFscz1Ob25lLCBsb2NhbHM9Tm9uZSlcblxuICAgRXhlY3V0ZSB0aGUgKnN0YXRlbWVudCogKGdpdmVuIGFzIGEgc3RyaW5nIG9yIGEgY29kZSBvYmplY3QpIHVuZGVyXG4gICBkZWJ1Z2dlciBjb250cm9sLiAgVGhlIGRlYnVnZ2VyIHByb21wdCBhcHBlYXJzIGJlZm9yZSBhbnkgY29kZSBpc1xuICAgZXhlY3V0ZWQ7IHlvdSBjYW4gc2V0IGJyZWFrcG9pbnRzIGFuZCB0eXBlIGBgY29udGludWVgYCwgb3IgeW91IGNhblxuICAgc3RlcCB0aHJvdWdoIHRoZSBzdGF0ZW1lbnQgdXNpbmcgYGBzdGVwYGAgb3IgYGBuZXh0YGAgKGFsbCB0aGVzZVxuICAgY29tbWFuZHMgYXJlIGV4cGxhaW5lZCBiZWxvdykuICBUaGUgb3B0aW9uYWwgKmdsb2JhbHMqIGFuZCAqbG9jYWxzKlxuICAgYXJndW1lbnRzIHNwZWNpZnkgdGhlIGVudmlyb25tZW50IGluIHdoaWNoIHRoZSBjb2RlIGlzIGV4ZWN1dGVkOyBieVxuICAgZGVmYXVsdCB0aGUgZGljdGlvbmFyeSBvZiB0aGUgbW9kdWxlIGBgX19tYWluX19gYCBpcyB1c2VkLiAgKFNlZVxuICAgdGhlIGV4cGxhbmF0aW9uIG9mIHRoZSBidWlsdC1pbiBgYGV4ZWMoKWBgIG9yIGBgZXZhbCgpYGBcbiAgIGZ1bmN0aW9ucy4pXG5cbnBkYi5ydW5ldmFsKGV4cHJlc3Npb24sIGdsb2JhbHM9Tm9uZSwgbG9jYWxzPU5vbmUpXG5cbiAgIEV2YWx1YXRlIHRoZSAqZXhwcmVzc2lvbiogKGdpdmVuIGFzIGEgc3RyaW5nIG9yIGEgY29kZSBvYmplY3QpXG4gICB1bmRlciBkZWJ1Z2dlciBjb250cm9sLiAgV2hlbiBgYHJ1bmV2YWwoKWBgIHJldHVybnMsIGl0IHJldHVybnMgdGhlXG4gICB2YWx1ZSBvZiB0aGUgZXhwcmVzc2lvbi4gIE90aGVyd2lzZSB0aGlzIGZ1bmN0aW9uIGlzIHNpbWlsYXIgdG9cbiAgIGBgcnVuKClgYC5cblxucGRiLnJ1bmNhbGwoZnVuY3Rpb24sICphcmdzLCAqKmt3ZHMpXG5cbiAgIENhbGwgdGhlICpmdW5jdGlvbiogKGEgZnVuY3Rpb24gb3IgbWV0aG9kIG9iamVjdCwgbm90IGEgc3RyaW5nKVxuICAgd2l0aCB0aGUgZ2l2ZW4gYXJndW1lbnRzLiAgV2hlbiBgYHJ1bmNhbGwoKWBgIHJldHVybnMsIGl0IHJldHVybnNcbiAgIHdoYXRldmVyIHRoZSBmdW5jdGlvbiBjYWxsIHJldHVybmVkLiAgVGhlIGRlYnVnZ2VyIHByb21wdCBhcHBlYXJzXG4gICBhcyBzb29uIGFzIHRoZSBmdW5jdGlvbiBpcyBlbnRlcmVkLlxuXG5wZGIuc2V0X3RyYWNlKClcblxuICAgRW50ZXIgdGhlIGRlYnVnZ2VyIGF0IHRoZSBjYWxsaW5nIHN0YWNrIGZyYW1lLiAgVGhpcyBpcyB1c2VmdWwgdG9cbiAgIGhhcmQtY29kZSBhIGJyZWFrcG9pbnQgYXQgYSBnaXZlbiBwb2ludCBpbiBhIHByb2dyYW0sIGV2ZW4gaWYgdGhlXG4gICBjb2RlIGlzIG5vdCBvdGhlcndpc2UgYmVpbmcgZGVidWdnZWQgKGUuZy4gd2hlbiBhbiBhc3NlcnRpb25cbiAgIGZhaWxzKS5cblxucGRiLnBvc3RfbW9ydGVtKHRyYWNlYmFjaz1Ob25lKVxuXG4gICBFbnRlciBwb3N0LW1vcnRlbSBkZWJ1Z2dpbmcgb2YgdGhlIGdpdmVuICp0cmFjZWJhY2sqIG9iamVjdC4gIElmIG5vXG4gICAqdHJhY2ViYWNrKiBpcyBnaXZlbiwgaXQgdXNlcyB0aGUgb25lIG9mIHRoZSBleGNlcHRpb24gdGhhdCBpc1xuICAgY3VycmVudGx5IGJlaW5nIGhhbmRsZWQgKGFuIGV4Y2VwdGlvbiBtdXN0IGJlIGJlaW5nIGhhbmRsZWQgaWYgdGhlXG4gICBkZWZhdWx0IGlzIHRvIGJlIHVzZWQpLlxuXG5wZGIucG0oKVxuXG4gICBFbnRlciBwb3N0LW1vcnRlbSBkZWJ1Z2dpbmcgb2YgdGhlIHRyYWNlYmFjayBmb3VuZCBpblxuICAgYGBzeXMubGFzdF90cmFjZWJhY2tgYC5cblxuVGhlIGBgcnVuKmBgIGZ1bmN0aW9ucyBhbmQgYGBzZXRfdHJhY2UoKWBgIGFyZSBhbGlhc2VzIGZvclxuaW5zdGFudGlhdGluZyB0aGUgYGBQZGJgYCBjbGFzcyBhbmQgY2FsbGluZyB0aGUgbWV0aG9kIG9mIHRoZSBzYW1lXG5uYW1lLiAgSWYgeW91IHdhbnQgdG8gYWNjZXNzIGZ1cnRoZXIgZmVhdHVyZXMsIHlvdSBoYXZlIHRvIGRvIHRoaXNcbnlvdXJzZWxmOlxuXG5jbGFzcyBjbGFzcyBwZGIuUGRiKGNvbXBsZXRla2V5PVwndGFiXCcsIHN0ZGluPU5vbmUsIHN0ZG91dD1Ob25lLCBza2lwPU5vbmUsIG5vc2lnaW50PUZhbHNlKVxuXG4gICBgYFBkYmBgIGlzIHRoZSBkZWJ1Z2dlciBjbGFzcy5cblxuICAgVGhlICpjb21wbGV0ZWtleSosICpzdGRpbiogYW5kICpzdGRvdXQqIGFyZ3VtZW50cyBhcmUgcGFzc2VkIHRvIHRoZVxuICAgdW5kZXJseWluZyBgYGNtZC5DbWRgYCBjbGFzczsgc2VlIHRoZSBkZXNjcmlwdGlvbiB0aGVyZS5cblxuICAgVGhlICpza2lwKiBhcmd1bWVudCwgaWYgZ2l2ZW4sIG11c3QgYmUgYW4gaXRlcmFibGUgb2YgZ2xvYi1zdHlsZVxuICAgbW9kdWxlIG5hbWUgcGF0dGVybnMuICBUaGUgZGVidWdnZXIgd2lsbCBub3Qgc3RlcCBpbnRvIGZyYW1lcyB0aGF0XG4gICBvcmlnaW5hdGUgaW4gYSBtb2R1bGUgdGhhdCBtYXRjaGVzIG9uZSBvZiB0aGVzZSBwYXR0ZXJucy4gWzFdXG5cbiAgIEJ5IGRlZmF1bHQsIFBkYiBzZXRzIGEgaGFuZGxlciBmb3IgdGhlIFNJR0lOVCBzaWduYWwgKHdoaWNoIGlzIHNlbnRcbiAgIHdoZW4gdGhlIHVzZXIgcHJlc3NlcyBDdHJsLUMgb24gdGhlIGNvbnNvbGUpIHdoZW4geW91IGdpdmUgYVxuICAgYGBjb250aW51ZWBgIGNvbW1hbmQuIFRoaXMgYWxsb3dzIHlvdSB0byBicmVhayBpbnRvIHRoZSBkZWJ1Z2dlclxuICAgYWdhaW4gYnkgcHJlc3NpbmcgQ3RybC1DLiAgSWYgeW91IHdhbnQgUGRiIG5vdCB0byB0b3VjaCB0aGUgU0lHSU5UXG4gICBoYW5kbGVyLCBzZXQgKm5vc2lnaW50KiB0b3QgdHJ1ZS5cblxuICAgRXhhbXBsZSBjYWxsIHRvIGVuYWJsZSB0cmFjaW5nIHdpdGggKnNraXAqOlxuXG4gICAgICBpbXBvcnQgcGRiOyBwZGIuUGRiKHNraXA9W1wnZGphbmdvLipcJ10pLnNldF90cmFjZSgpXG5cbiAgIE5ldyBpbiB2ZXJzaW9uIDMuMTogVGhlICpza2lwKiBhcmd1bWVudC5cblxuICAgTmV3IGluIHZlcnNpb24gMy4yOiBUaGUgKm5vc2lnaW50KiBhcmd1bWVudC4gIFByZXZpb3VzbHksIGEgU0lHSU5UXG4gICBoYW5kbGVyIHdhcyBuZXZlciBzZXQgYnkgUGRiLlxuXG4gICBydW4oc3RhdGVtZW50LCBnbG9iYWxzPU5vbmUsIGxvY2Fscz1Ob25lKVxuICAgcnVuZXZhbChleHByZXNzaW9uLCBnbG9iYWxzPU5vbmUsIGxvY2Fscz1Ob25lKVxuICAgcnVuY2FsbChmdW5jdGlvbiwgKmFyZ3MsICoqa3dkcylcbiAgIHNldF90cmFjZSgpXG5cbiAgICAgIFNlZSB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIGZ1bmN0aW9ucyBleHBsYWluZWQgYWJvdmUuXG5cblxuRGVidWdnZXIgQ29tbWFuZHNcbj09PT09PT09PT09PT09PT09XG5cblRoZSBjb21tYW5kcyByZWNvZ25pemVkIGJ5IHRoZSBkZWJ1Z2dlciBhcmUgbGlzdGVkIGJlbG93LiAgTW9zdFxuY29tbWFuZHMgY2FuIGJlIGFiYnJldmlhdGVkIHRvIG9uZSBvciB0d28gbGV0dGVycyBhcyBpbmRpY2F0ZWQ7IGUuZy5cbmBgaChlbHApYGAgbWVhbnMgdGhhdCBlaXRoZXIgYGBoYGAgb3IgYGBoZWxwYGAgY2FuIGJlIHVzZWQgdG8gZW50ZXJcbnRoZSBoZWxwIGNvbW1hbmQgKGJ1dCBub3QgYGBoZWBgIG9yIGBgaGVsYGAsIG5vciBgYEhgYCBvciBgYEhlbHBgYCBvclxuYGBIRUxQYGApLiAgQXJndW1lbnRzIHRvIGNvbW1hbmRzIG11c3QgYmUgc2VwYXJhdGVkIGJ5IHdoaXRlc3BhY2VcbihzcGFjZXMgb3IgdGFicykuICBPcHRpb25hbCBhcmd1bWVudHMgYXJlIGVuY2xvc2VkIGluIHNxdWFyZSBicmFja2V0c1xuKGBgW11gYCkgaW4gdGhlIGNvbW1hbmQgc3ludGF4OyB0aGUgc3F1YXJlIGJyYWNrZXRzIG11c3Qgbm90IGJlIHR5cGVkLlxuQWx0ZXJuYXRpdmVzIGluIHRoZSBjb21tYW5kIHN5bnRheCBhcmUgc2VwYXJhdGVkIGJ5IGEgdmVydGljYWwgYmFyXG4oYGB8YGApLlxuXG5FbnRlcmluZyBhIGJsYW5rIGxpbmUgcmVwZWF0cyB0aGUgbGFzdCBjb21tYW5kIGVudGVyZWQuICBFeGNlcHRpb246IGlmXG50aGUgbGFzdCBjb21tYW5kIHdhcyBhIGBgbGlzdGBgIGNvbW1hbmQsIHRoZSBuZXh0IDExIGxpbmVzIGFyZSBsaXN0ZWQuXG5cbkNvbW1hbmRzIHRoYXQgdGhlIGRlYnVnZ2VyIGRvZXNuXCd0IHJlY29nbml6ZSBhcmUgYXNzdW1lZCB0byBiZSBQeXRob25cbnN0YXRlbWVudHMgYW5kIGFyZSBleGVjdXRlZCBpbiB0aGUgY29udGV4dCBvZiB0aGUgcHJvZ3JhbSBiZWluZ1xuZGVidWdnZWQuICBQeXRob24gc3RhdGVtZW50cyBjYW4gYWxzbyBiZSBwcmVmaXhlZCB3aXRoIGFuIGV4Y2xhbWF0aW9uXG5wb2ludCAoYGAhYGApLiAgVGhpcyBpcyBhIHBvd2VyZnVsIHdheSB0byBpbnNwZWN0IHRoZSBwcm9ncmFtIGJlaW5nXG5kZWJ1Z2dlZDsgaXQgaXMgZXZlbiBwb3NzaWJsZSB0byBjaGFuZ2UgYSB2YXJpYWJsZSBvciBjYWxsIGEgZnVuY3Rpb24uXG5XaGVuIGFuIGV4Y2VwdGlvbiBvY2N1cnMgaW4gc3VjaCBhIHN0YXRlbWVudCwgdGhlIGV4Y2VwdGlvbiBuYW1lIGlzXG5wcmludGVkIGJ1dCB0aGUgZGVidWdnZXJcJ3Mgc3RhdGUgaXMgbm90IGNoYW5nZWQuXG5cblRoZSBkZWJ1Z2dlciBzdXBwb3J0cyAqYWxpYXNlcyouICBBbGlhc2VzIGNhbiBoYXZlIHBhcmFtZXRlcnMgd2hpY2hcbmFsbG93cyBvbmUgYSBjZXJ0YWluIGxldmVsIG9mIGFkYXB0YWJpbGl0eSB0byB0aGUgY29udGV4dCB1bmRlclxuZXhhbWluYXRpb24uXG5cbk11bHRpcGxlIGNvbW1hbmRzIG1heSBiZSBlbnRlcmVkIG9uIGEgc2luZ2xlIGxpbmUsIHNlcGFyYXRlZCBieVxuYGA7O2BgLiAgKEEgc2luZ2xlIGBgO2BgIGlzIG5vdCB1c2VkIGFzIGl0IGlzIHRoZSBzZXBhcmF0b3IgZm9yXG5tdWx0aXBsZSBjb21tYW5kcyBpbiBhIGxpbmUgdGhhdCBpcyBwYXNzZWQgdG8gdGhlIFB5dGhvbiBwYXJzZXIuKSAgTm9cbmludGVsbGlnZW5jZSBpcyBhcHBsaWVkIHRvIHNlcGFyYXRpbmcgdGhlIGNvbW1hbmRzOyB0aGUgaW5wdXQgaXMgc3BsaXRcbmF0IHRoZSBmaXJzdCBgYDs7YGAgcGFpciwgZXZlbiBpZiBpdCBpcyBpbiB0aGUgbWlkZGxlIG9mIGEgcXVvdGVkXG5zdHJpbmcuXG5cbklmIGEgZmlsZSBgYC5wZGJyY2BgIGV4aXN0cyBpbiB0aGUgdXNlclwncyBob21lIGRpcmVjdG9yeSBvciBpbiB0aGVcbmN1cnJlbnQgZGlyZWN0b3J5LCBpdCBpcyByZWFkIGluIGFuZCBleGVjdXRlZCBhcyBpZiBpdCBoYWQgYmVlbiB0eXBlZFxuYXQgdGhlIGRlYnVnZ2VyIHByb21wdC4gIFRoaXMgaXMgcGFydGljdWxhcmx5IHVzZWZ1bCBmb3IgYWxpYXNlcy4gIElmXG5ib3RoIGZpbGVzIGV4aXN0LCB0aGUgb25lIGluIHRoZSBob21lIGRpcmVjdG9yeSBpcyByZWFkIGZpcnN0IGFuZFxuYWxpYXNlcyBkZWZpbmVkIHRoZXJlIGNhbiBiZSBvdmVycmlkZGVuIGJ5IHRoZSBsb2NhbCBmaWxlLlxuXG5DaGFuZ2VkIGluIHZlcnNpb24gMy4yOiBgYC5wZGJyY2BgIGNhbiBub3cgY29udGFpbiBjb21tYW5kcyB0aGF0XG5jb250aW51ZSBkZWJ1Z2dpbmcsIHN1Y2ggYXMgYGBjb250aW51ZWBgIG9yIGBgbmV4dGBgLiAgUHJldmlvdXNseSxcbnRoZXNlIGNvbW1hbmRzIGhhZCBubyBlZmZlY3QuXG5cbmgoZWxwKSBbY29tbWFuZF1cblxuICAgV2l0aG91dCBhcmd1bWVudCwgcHJpbnQgdGhlIGxpc3Qgb2YgYXZhaWxhYmxlIGNvbW1hbmRzLiAgV2l0aCBhXG4gICAqY29tbWFuZCogYXMgYXJndW1lbnQsIHByaW50IGhlbHAgYWJvdXQgdGhhdCBjb21tYW5kLiAgYGBoZWxwIHBkYmBgXG4gICBkaXNwbGF5cyB0aGUgZnVsbCBkb2N1bWVudGF0aW9uICh0aGUgZG9jc3RyaW5nIG9mIHRoZSBgYHBkYmBgXG4gICBtb2R1bGUpLiAgU2luY2UgdGhlICpjb21tYW5kKiBhcmd1bWVudCBtdXN0IGJlIGFuIGlkZW50aWZpZXIsXG4gICBgYGhlbHAgZXhlY2BgIG11c3QgYmUgZW50ZXJlZCB0byBnZXQgaGVscCBvbiB0aGUgYGAhYGAgY29tbWFuZC5cblxudyhoZXJlKVxuXG4gICBQcmludCBhIHN0YWNrIHRyYWNlLCB3aXRoIHRoZSBtb3N0IHJlY2VudCBmcmFtZSBhdCB0aGUgYm90dG9tLiAgQW5cbiAgIGFycm93IGluZGljYXRlcyB0aGUgY3VycmVudCBmcmFtZSwgd2hpY2ggZGV0ZXJtaW5lcyB0aGUgY29udGV4dCBvZlxuICAgbW9zdCBjb21tYW5kcy5cblxuZChvd24pIFtjb3VudF1cblxuICAgTW92ZSB0aGUgY3VycmVudCBmcmFtZSAqY291bnQqIChkZWZhdWx0IG9uZSkgbGV2ZWxzIGRvd24gaW4gdGhlXG4gICBzdGFjayB0cmFjZSAodG8gYSBuZXdlciBmcmFtZSkuXG5cbnUocCkgW2NvdW50XVxuXG4gICBNb3ZlIHRoZSBjdXJyZW50IGZyYW1lICpjb3VudCogKGRlZmF1bHQgb25lKSBsZXZlbHMgdXAgaW4gdGhlIHN0YWNrXG4gICB0cmFjZSAodG8gYW4gb2xkZXIgZnJhbWUpLlxuXG5iKHJlYWspIFsoW2ZpbGVuYW1lOl1saW5lbm8gfCBmdW5jdGlvbikgWywgY29uZGl0aW9uXV1cblxuICAgV2l0aCBhICpsaW5lbm8qIGFyZ3VtZW50LCBzZXQgYSBicmVhayB0aGVyZSBpbiB0aGUgY3VycmVudCBmaWxlLlxuICAgV2l0aCBhICpmdW5jdGlvbiogYXJndW1lbnQsIHNldCBhIGJyZWFrIGF0IHRoZSBmaXJzdCBleGVjdXRhYmxlXG4gICBzdGF0ZW1lbnQgd2l0aGluIHRoYXQgZnVuY3Rpb24uICBUaGUgbGluZSBudW1iZXIgbWF5IGJlIHByZWZpeGVkXG4gICB3aXRoIGEgZmlsZW5hbWUgYW5kIGEgY29sb24sIHRvIHNwZWNpZnkgYSBicmVha3BvaW50IGluIGFub3RoZXJcbiAgIGZpbGUgKHByb2JhYmx5IG9uZSB0aGF0IGhhc25cJ3QgYmVlbiBsb2FkZWQgeWV0KS4gIFRoZSBmaWxlIGlzXG4gICBzZWFyY2hlZCBvbiBgYHN5cy5wYXRoYGAuICBOb3RlIHRoYXQgZWFjaCBicmVha3BvaW50IGlzIGFzc2lnbmVkIGFcbiAgIG51bWJlciB0byB3aGljaCBhbGwgdGhlIG90aGVyIGJyZWFrcG9pbnQgY29tbWFuZHMgcmVmZXIuXG5cbiAgIElmIGEgc2Vjb25kIGFyZ3VtZW50IGlzIHByZXNlbnQsIGl0IGlzIGFuIGV4cHJlc3Npb24gd2hpY2ggbXVzdFxuICAgZXZhbHVhdGUgdG8gdHJ1ZSBiZWZvcmUgdGhlIGJyZWFrcG9pbnQgaXMgaG9ub3JlZC5cblxuICAgV2l0aG91dCBhcmd1bWVudCwgbGlzdCBhbGwgYnJlYWtzLCBpbmNsdWRpbmcgZm9yIGVhY2ggYnJlYWtwb2ludCxcbiAgIHRoZSBudW1iZXIgb2YgdGltZXMgdGhhdCBicmVha3BvaW50IGhhcyBiZWVuIGhpdCwgdGhlIGN1cnJlbnRcbiAgIGlnbm9yZSBjb3VudCwgYW5kIHRoZSBhc3NvY2lhdGVkIGNvbmRpdGlvbiBpZiBhbnkuXG5cbnRicmVhayBbKFtmaWxlbmFtZTpdbGluZW5vIHwgZnVuY3Rpb24pIFssIGNvbmRpdGlvbl1dXG5cbiAgIFRlbXBvcmFyeSBicmVha3BvaW50LCB3aGljaCBpcyByZW1vdmVkIGF1dG9tYXRpY2FsbHkgd2hlbiBpdCBpc1xuICAgZmlyc3QgaGl0LiBUaGUgYXJndW1lbnRzIGFyZSB0aGUgc2FtZSBhcyBmb3IgYGBicmVha2BgLlxuXG5jbChlYXIpIFtmaWxlbmFtZTpsaW5lbm8gfCBicG51bWJlciBbYnBudW1iZXIgLi4uXV1cblxuICAgV2l0aCBhICpmaWxlbmFtZTpsaW5lbm8qIGFyZ3VtZW50LCBjbGVhciBhbGwgdGhlIGJyZWFrcG9pbnRzIGF0XG4gICB0aGlzIGxpbmUuIFdpdGggYSBzcGFjZSBzZXBhcmF0ZWQgbGlzdCBvZiBicmVha3BvaW50IG51bWJlcnMsIGNsZWFyXG4gICB0aG9zZSBicmVha3BvaW50cy4gV2l0aG91dCBhcmd1bWVudCwgY2xlYXIgYWxsIGJyZWFrcyAoYnV0IGZpcnN0XG4gICBhc2sgY29uZmlybWF0aW9uKS5cblxuZGlzYWJsZSBbYnBudW1iZXIgW2JwbnVtYmVyIC4uLl1dXG5cbiAgIERpc2FibGUgdGhlIGJyZWFrcG9pbnRzIGdpdmVuIGFzIGEgc3BhY2Ugc2VwYXJhdGVkIGxpc3Qgb2ZcbiAgIGJyZWFrcG9pbnQgbnVtYmVycy4gIERpc2FibGluZyBhIGJyZWFrcG9pbnQgbWVhbnMgaXQgY2Fubm90IGNhdXNlXG4gICB0aGUgcHJvZ3JhbSB0byBzdG9wIGV4ZWN1dGlvbiwgYnV0IHVubGlrZSBjbGVhcmluZyBhIGJyZWFrcG9pbnQsIGl0XG4gICByZW1haW5zIGluIHRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIGFuZCBjYW4gYmUgKHJlLSllbmFibGVkLlxuXG5lbmFibGUgW2JwbnVtYmVyIFticG51bWJlciAuLi5dXVxuXG4gICBFbmFibGUgdGhlIGJyZWFrcG9pbnRzIHNwZWNpZmllZC5cblxuaWdub3JlIGJwbnVtYmVyIFtjb3VudF1cblxuICAgU2V0IHRoZSBpZ25vcmUgY291bnQgZm9yIHRoZSBnaXZlbiBicmVha3BvaW50IG51bWJlci4gIElmIGNvdW50IGlzXG4gICBvbWl0dGVkLCB0aGUgaWdub3JlIGNvdW50IGlzIHNldCB0byAwLiAgQSBicmVha3BvaW50IGJlY29tZXMgYWN0aXZlXG4gICB3aGVuIHRoZSBpZ25vcmUgY291bnQgaXMgemVyby4gIFdoZW4gbm9uLXplcm8sIHRoZSBjb3VudCBpc1xuICAgZGVjcmVtZW50ZWQgZWFjaCB0aW1lIHRoZSBicmVha3BvaW50IGlzIHJlYWNoZWQgYW5kIHRoZSBicmVha3BvaW50XG4gICBpcyBub3QgZGlzYWJsZWQgYW5kIGFueSBhc3NvY2lhdGVkIGNvbmRpdGlvbiBldmFsdWF0ZXMgdG8gdHJ1ZS5cblxuY29uZGl0aW9uIGJwbnVtYmVyIFtjb25kaXRpb25dXG5cbiAgIFNldCBhIG5ldyAqY29uZGl0aW9uKiBmb3IgdGhlIGJyZWFrcG9pbnQsIGFuIGV4cHJlc3Npb24gd2hpY2ggbXVzdFxuICAgZXZhbHVhdGUgdG8gdHJ1ZSBiZWZvcmUgdGhlIGJyZWFrcG9pbnQgaXMgaG9ub3JlZC4gIElmICpjb25kaXRpb24qXG4gICBpcyBhYnNlbnQsIGFueSBleGlzdGluZyBjb25kaXRpb24gaXMgcmVtb3ZlZDsgaS5lLiwgdGhlIGJyZWFrcG9pbnRcbiAgIGlzIG1hZGUgdW5jb25kaXRpb25hbC5cblxuY29tbWFuZHMgW2JwbnVtYmVyXVxuXG4gICBTcGVjaWZ5IGEgbGlzdCBvZiBjb21tYW5kcyBmb3IgYnJlYWtwb2ludCBudW1iZXIgKmJwbnVtYmVyKi4gIFRoZVxuICAgY29tbWFuZHMgdGhlbXNlbHZlcyBhcHBlYXIgb24gdGhlIGZvbGxvd2luZyBsaW5lcy4gIFR5cGUgYSBsaW5lXG4gICBjb250YWluaW5nIGp1c3QgYGBlbmRgYCB0byB0ZXJtaW5hdGUgdGhlIGNvbW1hbmRzLiBBbiBleGFtcGxlOlxuXG4gICAgICAoUGRiKSBjb21tYW5kcyAxXG4gICAgICAoY29tKSBwcmludCBzb21lX3ZhcmlhYmxlXG4gICAgICAoY29tKSBlbmRcbiAgICAgIChQZGIpXG5cbiAgIFRvIHJlbW92ZSBhbGwgY29tbWFuZHMgZnJvbSBhIGJyZWFrcG9pbnQsIHR5cGUgY29tbWFuZHMgYW5kIGZvbGxvd1xuICAgaXQgaW1tZWRpYXRlbHkgd2l0aCBgYGVuZGBgOyB0aGF0IGlzLCBnaXZlIG5vIGNvbW1hbmRzLlxuXG4gICBXaXRoIG5vICpicG51bWJlciogYXJndW1lbnQsIGNvbW1hbmRzIHJlZmVycyB0byB0aGUgbGFzdCBicmVha3BvaW50XG4gICBzZXQuXG5cbiAgIFlvdSBjYW4gdXNlIGJyZWFrcG9pbnQgY29tbWFuZHMgdG8gc3RhcnQgeW91ciBwcm9ncmFtIHVwIGFnYWluLlxuICAgU2ltcGx5IHVzZSB0aGUgY29udGludWUgY29tbWFuZCwgb3Igc3RlcCwgb3IgYW55IG90aGVyIGNvbW1hbmQgdGhhdFxuICAgcmVzdW1lcyBleGVjdXRpb24uXG5cbiAgIFNwZWNpZnlpbmcgYW55IGNvbW1hbmQgcmVzdW1pbmcgZXhlY3V0aW9uIChjdXJyZW50bHkgY29udGludWUsXG4gICBzdGVwLCBuZXh0LCByZXR1cm4sIGp1bXAsIHF1aXQgYW5kIHRoZWlyIGFiYnJldmlhdGlvbnMpIHRlcm1pbmF0ZXNcbiAgIHRoZSBjb21tYW5kIGxpc3QgKGFzIGlmIHRoYXQgY29tbWFuZCB3YXMgaW1tZWRpYXRlbHkgZm9sbG93ZWQgYnlcbiAgIGVuZCkuIFRoaXMgaXMgYmVjYXVzZSBhbnkgdGltZSB5b3UgcmVzdW1lIGV4ZWN1dGlvbiAoZXZlbiB3aXRoIGFcbiAgIHNpbXBsZSBuZXh0IG9yIHN0ZXApLCB5b3UgbWF5IGVuY291bnRlciBhbm90aGVyIGJyZWFrcG9pbnQtLXdoaWNoXG4gICBjb3VsZCBoYXZlIGl0cyBvd24gY29tbWFuZCBsaXN0LCBsZWFkaW5nIHRvIGFtYmlndWl0aWVzIGFib3V0IHdoaWNoXG4gICBsaXN0IHRvIGV4ZWN1dGUuXG5cbiAgIElmIHlvdSB1c2UgdGhlIFwnc2lsZW50XCcgY29tbWFuZCBpbiB0aGUgY29tbWFuZCBsaXN0LCB0aGUgdXN1YWxcbiAgIG1lc3NhZ2UgYWJvdXQgc3RvcHBpbmcgYXQgYSBicmVha3BvaW50IGlzIG5vdCBwcmludGVkLiAgVGhpcyBtYXkgYmVcbiAgIGRlc2lyYWJsZSBmb3IgYnJlYWtwb2ludHMgdGhhdCBhcmUgdG8gcHJpbnQgYSBzcGVjaWZpYyBtZXNzYWdlIGFuZFxuICAgdGhlbiBjb250aW51ZS4gIElmIG5vbmUgb2YgdGhlIG90aGVyIGNvbW1hbmRzIHByaW50IGFueXRoaW5nLCB5b3VcbiAgIHNlZSBubyBzaWduIHRoYXQgdGhlIGJyZWFrcG9pbnQgd2FzIHJlYWNoZWQuXG5cbnModGVwKVxuXG4gICBFeGVjdXRlIHRoZSBjdXJyZW50IGxpbmUsIHN0b3AgYXQgdGhlIGZpcnN0IHBvc3NpYmxlIG9jY2FzaW9uXG4gICAoZWl0aGVyIGluIGEgZnVuY3Rpb24gdGhhdCBpcyBjYWxsZWQgb3Igb24gdGhlIG5leHQgbGluZSBpbiB0aGVcbiAgIGN1cnJlbnQgZnVuY3Rpb24pLlxuXG5uKGV4dClcblxuICAgQ29udGludWUgZXhlY3V0aW9uIHVudGlsIHRoZSBuZXh0IGxpbmUgaW4gdGhlIGN1cnJlbnQgZnVuY3Rpb24gaXNcbiAgIHJlYWNoZWQgb3IgaXQgcmV0dXJucy4gIChUaGUgZGlmZmVyZW5jZSBiZXR3ZWVuIGBgbmV4dGBgIGFuZFxuICAgYGBzdGVwYGAgaXMgdGhhdCBgYHN0ZXBgYCBzdG9wcyBpbnNpZGUgYSBjYWxsZWQgZnVuY3Rpb24sIHdoaWxlXG4gICBgYG5leHRgYCBleGVjdXRlcyBjYWxsZWQgZnVuY3Rpb25zIGF0IChuZWFybHkpIGZ1bGwgc3BlZWQsIG9ubHlcbiAgIHN0b3BwaW5nIGF0IHRoZSBuZXh0IGxpbmUgaW4gdGhlIGN1cnJlbnQgZnVuY3Rpb24uKVxuXG51bnQoaWwpIFtsaW5lbm9dXG5cbiAgIFdpdGhvdXQgYXJndW1lbnQsIGNvbnRpbnVlIGV4ZWN1dGlvbiB1bnRpbCB0aGUgbGluZSB3aXRoIGEgbnVtYmVyXG4gICBncmVhdGVyIHRoYW4gdGhlIGN1cnJlbnQgb25lIGlzIHJlYWNoZWQuXG5cbiAgIFdpdGggYSBsaW5lIG51bWJlciwgY29udGludWUgZXhlY3V0aW9uIHVudGlsIGEgbGluZSB3aXRoIGEgbnVtYmVyXG4gICBncmVhdGVyIG9yIGVxdWFsIHRvIHRoYXQgaXMgcmVhY2hlZC4gIEluIGJvdGggY2FzZXMsIGFsc28gc3RvcCB3aGVuXG4gICB0aGUgY3VycmVudCBmcmFtZSByZXR1cm5zLlxuXG4gICBDaGFuZ2VkIGluIHZlcnNpb24gMy4yOiBBbGxvdyBnaXZpbmcgYW4gZXhwbGljaXQgbGluZSBudW1iZXIuXG5cbnIoZXR1cm4pXG5cbiAgIENvbnRpbnVlIGV4ZWN1dGlvbiB1bnRpbCB0aGUgY3VycmVudCBmdW5jdGlvbiByZXR1cm5zLlxuXG5jKG9udChpbnVlKSlcblxuICAgQ29udGludWUgZXhlY3V0aW9uLCBvbmx5IHN0b3Agd2hlbiBhIGJyZWFrcG9pbnQgaXMgZW5jb3VudGVyZWQuXG5cbmoodW1wKSBsaW5lbm9cblxuICAgU2V0IHRoZSBuZXh0IGxpbmUgdGhhdCB3aWxsIGJlIGV4ZWN1dGVkLiAgT25seSBhdmFpbGFibGUgaW4gdGhlXG4gICBib3R0b20tbW9zdCBmcmFtZS4gIFRoaXMgbGV0cyB5b3UganVtcCBiYWNrIGFuZCBleGVjdXRlIGNvZGUgYWdhaW4sXG4gICBvciBqdW1wIGZvcndhcmQgdG8gc2tpcCBjb2RlIHRoYXQgeW91IGRvblwndCB3YW50IHRvIHJ1bi5cblxuICAgSXQgc2hvdWxkIGJlIG5vdGVkIHRoYXQgbm90IGFsbCBqdW1wcyBhcmUgYWxsb3dlZCAtLSBmb3IgaW5zdGFuY2VcbiAgIGl0IGlzIG5vdCBwb3NzaWJsZSB0byBqdW1wIGludG8gdGhlIG1pZGRsZSBvZiBhIGBgZm9yYGAgbG9vcCBvciBvdXRcbiAgIG9mIGEgYGBmaW5hbGx5YGAgY2xhdXNlLlxuXG5sKGlzdCkgW2ZpcnN0WywgbGFzdF1dXG5cbiAgIExpc3Qgc291cmNlIGNvZGUgZm9yIHRoZSBjdXJyZW50IGZpbGUuICBXaXRob3V0IGFyZ3VtZW50cywgbGlzdCAxMVxuICAgbGluZXMgYXJvdW5kIHRoZSBjdXJyZW50IGxpbmUgb3IgY29udGludWUgdGhlIHByZXZpb3VzIGxpc3RpbmcuXG4gICBXaXRoIGBgLmBgIGFzIGFyZ3VtZW50LCBsaXN0IDExIGxpbmVzIGFyb3VuZCB0aGUgY3VycmVudCBsaW5lLlxuICAgV2l0aCBvbmUgYXJndW1lbnQsIGxpc3QgMTEgbGluZXMgYXJvdW5kIGF0IHRoYXQgbGluZS4gIFdpdGggdHdvXG4gICBhcmd1bWVudHMsIGxpc3QgdGhlIGdpdmVuIHJhbmdlOyBpZiB0aGUgc2Vjb25kIGFyZ3VtZW50IGlzIGxlc3NcbiAgIHRoYW4gdGhlIGZpcnN0LCBpdCBpcyBpbnRlcnByZXRlZCBhcyBhIGNvdW50LlxuXG4gICBUaGUgY3VycmVudCBsaW5lIGluIHRoZSBjdXJyZW50IGZyYW1lIGlzIGluZGljYXRlZCBieSBgYC0+YGAuICBJZlxuICAgYW4gZXhjZXB0aW9uIGlzIGJlaW5nIGRlYnVnZ2VkLCB0aGUgbGluZSB3aGVyZSB0aGUgZXhjZXB0aW9uIHdhc1xuICAgb3JpZ2luYWxseSByYWlzZWQgb3IgcHJvcGFnYXRlZCBpcyBpbmRpY2F0ZWQgYnkgYGA+PmBgLCBpZiBpdFxuICAgZGlmZmVycyBmcm9tIHRoZSBjdXJyZW50IGxpbmUuXG5cbiAgIE5ldyBpbiB2ZXJzaW9uIDMuMjogVGhlIGBgPj5gYCBtYXJrZXIuXG5cbmxsIHwgbG9uZ2xpc3RcblxuICAgTGlzdCBhbGwgc291cmNlIGNvZGUgZm9yIHRoZSBjdXJyZW50IGZ1bmN0aW9uIG9yIGZyYW1lLlxuICAgSW50ZXJlc3RpbmcgbGluZXMgYXJlIG1hcmtlZCBhcyBmb3IgYGBsaXN0YGAuXG5cbiAgIE5ldyBpbiB2ZXJzaW9uIDMuMi5cblxuYShyZ3MpXG5cbiAgIFByaW50IHRoZSBhcmd1bWVudCBsaXN0IG9mIHRoZSBjdXJyZW50IGZ1bmN0aW9uLlxuXG5wKHJpbnQpIGV4cHJlc3Npb25cblxuICAgRXZhbHVhdGUgdGhlICpleHByZXNzaW9uKiBpbiB0aGUgY3VycmVudCBjb250ZXh0IGFuZCBwcmludCBpdHNcbiAgIHZhbHVlLlxuXG5wcCBleHByZXNzaW9uXG5cbiAgIExpa2UgdGhlIGBgcHJpbnRgYCBjb21tYW5kLCBleGNlcHQgdGhlIHZhbHVlIG9mIHRoZSBleHByZXNzaW9uIGlzXG4gICBwcmV0dHktcHJpbnRlZCB1c2luZyB0aGUgYGBwcHJpbnRgYCBtb2R1bGUuXG5cbndoYXRpcyBleHByZXNzaW9uXG5cbiAgIFByaW50IHRoZSB0eXBlIG9mIHRoZSAqZXhwcmVzc2lvbiouXG5cbnNvdXJjZSBleHByZXNzaW9uXG5cbiAgIFRyeSB0byBnZXQgc291cmNlIGNvZGUgZm9yIHRoZSBnaXZlbiBvYmplY3QgYW5kIGRpc3BsYXkgaXQuXG5cbiAgIE5ldyBpbiB2ZXJzaW9uIDMuMi5cblxuZGlzcGxheSBbZXhwcmVzc2lvbl1cblxuICAgRGlzcGxheSB0aGUgdmFsdWUgb2YgdGhlIGV4cHJlc3Npb24gaWYgaXQgY2hhbmdlZCwgZWFjaCB0aW1lXG4gICBleGVjdXRpb24gc3RvcHMgaW4gdGhlIGN1cnJlbnQgZnJhbWUuXG5cbiAgIFdpdGhvdXQgZXhwcmVzc2lvbiwgbGlzdCBhbGwgZGlzcGxheSBleHByZXNzaW9ucyBmb3IgdGhlIGN1cnJlbnRcbiAgIGZyYW1lLlxuXG4gICBOZXcgaW4gdmVyc2lvbiAzLjIuXG5cbnVuZGlzcGxheSBbZXhwcmVzc2lvbl1cblxuICAgRG8gbm90IGRpc3BsYXkgdGhlIGV4cHJlc3Npb24gYW55IG1vcmUgaW4gdGhlIGN1cnJlbnQgZnJhbWUuXG4gICBXaXRob3V0IGV4cHJlc3Npb24sIGNsZWFyIGFsbCBkaXNwbGF5IGV4cHJlc3Npb25zIGZvciB0aGUgY3VycmVudFxuICAgZnJhbWUuXG5cbiAgIE5ldyBpbiB2ZXJzaW9uIDMuMi5cblxuaW50ZXJhY3RcblxuICAgU3RhcnQgYW4gaW50ZXJhdGl2ZSBpbnRlcnByZXRlciAodXNpbmcgdGhlIGBgY29kZWBgIG1vZHVsZSkgd2hvc2VcbiAgIGdsb2JhbCBuYW1lc3BhY2UgY29udGFpbnMgYWxsIHRoZSAoZ2xvYmFsIGFuZCBsb2NhbCkgbmFtZXMgZm91bmQgaW5cbiAgIHRoZSBjdXJyZW50IHNjb3BlLlxuXG4gICBOZXcgaW4gdmVyc2lvbiAzLjIuXG5cbmFsaWFzIFtuYW1lIFtjb21tYW5kXV1cblxuICAgQ3JlYXRlIGFuIGFsaWFzIGNhbGxlZCAqbmFtZSogdGhhdCBleGVjdXRlcyAqY29tbWFuZCouICBUaGUgY29tbWFuZFxuICAgbXVzdCAqbm90KiBiZSBlbmNsb3NlZCBpbiBxdW90ZXMuICBSZXBsYWNlYWJsZSBwYXJhbWV0ZXJzIGNhbiBiZVxuICAgaW5kaWNhdGVkIGJ5IGBgJTFgYCwgYGAlMmBgLCBhbmQgc28gb24sIHdoaWxlIGBgJSpgYCBpcyByZXBsYWNlZCBieVxuICAgYWxsIHRoZSBwYXJhbWV0ZXJzLiBJZiBubyBjb21tYW5kIGlzIGdpdmVuLCB0aGUgY3VycmVudCBhbGlhcyBmb3JcbiAgICpuYW1lKiBpcyBzaG93bi4gSWYgbm8gYXJndW1lbnRzIGFyZSBnaXZlbiwgYWxsIGFsaWFzZXMgYXJlIGxpc3RlZC5cblxuICAgQWxpYXNlcyBtYXkgYmUgbmVzdGVkIGFuZCBjYW4gY29udGFpbiBhbnl0aGluZyB0aGF0IGNhbiBiZSBsZWdhbGx5XG4gICB0eXBlZCBhdCB0aGUgcGRiIHByb21wdC4gIE5vdGUgdGhhdCBpbnRlcm5hbCBwZGIgY29tbWFuZHMgKmNhbiogYmVcbiAgIG92ZXJyaWRkZW4gYnkgYWxpYXNlcy4gIFN1Y2ggYSBjb21tYW5kIGlzIHRoZW4gaGlkZGVuIHVudGlsIHRoZVxuICAgYWxpYXMgaXMgcmVtb3ZlZC4gIEFsaWFzaW5nIGlzIHJlY3Vyc2l2ZWx5IGFwcGxpZWQgdG8gdGhlIGZpcnN0XG4gICB3b3JkIG9mIHRoZSBjb21tYW5kIGxpbmU7IGFsbCBvdGhlciB3b3JkcyBpbiB0aGUgbGluZSBhcmUgbGVmdFxuICAgYWxvbmUuXG5cbiAgIEFzIGFuIGV4YW1wbGUsIGhlcmUgYXJlIHR3byB1c2VmdWwgYWxpYXNlcyAoZXNwZWNpYWxseSB3aGVuIHBsYWNlZFxuICAgaW4gdGhlIGBgLnBkYnJjYGAgZmlsZSk6XG5cbiAgICAgICMgUHJpbnQgaW5zdGFuY2UgdmFyaWFibGVzICh1c2FnZSAicGkgY2xhc3NJbnN0IilcbiAgICAgIGFsaWFzIHBpIGZvciBrIGluICUxLl9fZGljdF9fLmtleXMoKTogcHJpbnQoIiUxLiIsaywiPSIsJTEuX19kaWN0X19ba10pXG4gICAgICAjIFByaW50IGluc3RhbmNlIHZhcmlhYmxlcyBpbiBzZWxmXG4gICAgICBhbGlhcyBwcyBwaSBzZWxmXG5cbnVuYWxpYXMgbmFtZVxuXG4gICBEZWxldGUgdGhlIHNwZWNpZmllZCBhbGlhcy5cblxuISBzdGF0ZW1lbnRcblxuICAgRXhlY3V0ZSB0aGUgKG9uZS1saW5lKSAqc3RhdGVtZW50KiBpbiB0aGUgY29udGV4dCBvZiB0aGUgY3VycmVudFxuICAgc3RhY2sgZnJhbWUuIFRoZSBleGNsYW1hdGlvbiBwb2ludCBjYW4gYmUgb21pdHRlZCB1bmxlc3MgdGhlIGZpcnN0XG4gICB3b3JkIG9mIHRoZSBzdGF0ZW1lbnQgcmVzZW1ibGVzIGEgZGVidWdnZXIgY29tbWFuZC4gIFRvIHNldCBhXG4gICBnbG9iYWwgdmFyaWFibGUsIHlvdSBjYW4gcHJlZml4IHRoZSBhc3NpZ25tZW50IGNvbW1hbmQgd2l0aCBhXG4gICBgYGdsb2JhbGBgIHN0YXRlbWVudCBvbiB0aGUgc2FtZSBsaW5lLCBlLmcuOlxuXG4gICAgICAoUGRiKSBnbG9iYWwgbGlzdF9vcHRpb25zOyBsaXN0X29wdGlvbnMgPSBbXCctbFwnXVxuICAgICAgKFBkYilcblxucnVuIFthcmdzIC4uLl1cbnJlc3RhcnQgW2FyZ3MgLi4uXVxuXG4gICBSZXN0YXJ0IHRoZSBkZWJ1Z2dlZCBQeXRob24gcHJvZ3JhbS4gIElmIGFuIGFyZ3VtZW50IGlzIHN1cHBsaWVkLFxuICAgaXQgaXMgc3BsaXQgd2l0aCBgYHNobGV4YGAgYW5kIHRoZSByZXN1bHQgaXMgdXNlZCBhcyB0aGUgbmV3XG4gICBgYHN5cy5hcmd2YGAuIEhpc3RvcnksIGJyZWFrcG9pbnRzLCBhY3Rpb25zIGFuZCBkZWJ1Z2dlciBvcHRpb25zXG4gICBhcmUgcHJlc2VydmVkLiBgYHJlc3RhcnRgYCBpcyBhbiBhbGlhcyBmb3IgYGBydW5gYC5cblxucSh1aXQpXG5cbiAgIFF1aXQgZnJvbSB0aGUgZGVidWdnZXIuICBUaGUgcHJvZ3JhbSBiZWluZyBleGVjdXRlZCBpcyBhYm9ydGVkLlxuXG4tWyBGb290bm90ZXMgXS1cblxuWzFdIFdoZXRoZXIgYSBmcmFtZSBpcyBjb25zaWRlcmVkIHRvIG9yaWdpbmF0ZSBpbiBhIGNlcnRhaW4gbW9kdWxlIGlzXG4gICAgZGV0ZXJtaW5lZCBieSB0aGUgYGBfX25hbWVfX2BgIGluIHRoZSBmcmFtZSBnbG9iYWxzLlxuJywKICAnZGVsJzogJ1xuVGhlIGBgZGVsYGAgc3RhdGVtZW50XG4qKioqKioqKioqKioqKioqKioqKipcblxuICAgZGVsX3N0bXQgOjo9ICJkZWwiIHRhcmdldF9saXN0XG5cbkRlbGV0aW9uIGlzIHJlY3Vyc2l2ZWx5IGRlZmluZWQgdmVyeSBzaW1pbGFyIHRvIHRoZSB3YXkgYXNzaWdubWVudCBpc1xuZGVmaW5lZC4gUmF0aGVyIHRoYW4gc3BlbGxpbmcgaXQgb3V0IGluIGZ1bGwgZGV0YWlscywgaGVyZSBhcmUgc29tZVxuaGludHMuXG5cbkRlbGV0aW9uIG9mIGEgdGFyZ2V0IGxpc3QgcmVjdXJzaXZlbHkgZGVsZXRlcyBlYWNoIHRhcmdldCwgZnJvbSBsZWZ0XG50byByaWdodC5cblxuRGVsZXRpb24gb2YgYSBuYW1lIHJlbW92ZXMgdGhlIGJpbmRpbmcgb2YgdGhhdCBuYW1lIGZyb20gdGhlIGxvY2FsIG9yXG5nbG9iYWwgbmFtZXNwYWNlLCBkZXBlbmRpbmcgb24gd2hldGhlciB0aGUgbmFtZSBvY2N1cnMgaW4gYSBgYGdsb2JhbGBgXG5zdGF0ZW1lbnQgaW4gdGhlIHNhbWUgY29kZSBibG9jay4gIElmIHRoZSBuYW1lIGlzIHVuYm91bmQsIGFcbmBgTmFtZUVycm9yYGAgZXhjZXB0aW9uIHdpbGwgYmUgcmFpc2VkLlxuXG5EZWxldGlvbiBvZiBhdHRyaWJ1dGUgcmVmZXJlbmNlcywgc3Vic2NyaXB0aW9ucyBhbmQgc2xpY2luZ3MgaXMgcGFzc2VkXG50byB0aGUgcHJpbWFyeSBvYmplY3QgaW52b2x2ZWQ7IGRlbGV0aW9uIG9mIGEgc2xpY2luZyBpcyBpbiBnZW5lcmFsXG5lcXVpdmFsZW50IHRvIGFzc2lnbm1lbnQgb2YgYW4gZW1wdHkgc2xpY2Ugb2YgdGhlIHJpZ2h0IHR5cGUgKGJ1dCBldmVuXG50aGlzIGlzIGRldGVybWluZWQgYnkgdGhlIHNsaWNlZCBvYmplY3QpLlxuXG5DaGFuZ2VkIGluIHZlcnNpb24gMy4yLlxuJywKICAnZGljdCc6ICdcbkRpY3Rpb25hcnkgZGlzcGxheXNcbioqKioqKioqKioqKioqKioqKipcblxuQSBkaWN0aW9uYXJ5IGRpc3BsYXkgaXMgYSBwb3NzaWJseSBlbXB0eSBzZXJpZXMgb2Yga2V5L2RhdHVtIHBhaXJzXG5lbmNsb3NlZCBpbiBjdXJseSBicmFjZXM6XG5cbiAgIGRpY3RfZGlzcGxheSAgICAgICA6Oj0gInsiIFtrZXlfZGF0dW1fbGlzdCB8IGRpY3RfY29tcHJlaGVuc2lvbl0gIn0iXG4gICBrZXlfZGF0dW1fbGlzdCAgICAgOjo9IGtleV9kYXR1bSAoIiwiIGtleV9kYXR1bSkqIFsiLCJdXG4gICBrZXlfZGF0dW0gICAgICAgICAgOjo9IGV4cHJlc3Npb24gIjoiIGV4cHJlc3Npb25cbiAgIGRpY3RfY29tcHJlaGVuc2lvbiA6Oj0gZXhwcmVzc2lvbiAiOiIgZXhwcmVzc2lvbiBjb21wX2ZvclxuXG5BIGRpY3Rpb25hcnkgZGlzcGxheSB5aWVsZHMgYSBuZXcgZGljdGlvbmFyeSBvYmplY3QuXG5cbklmIGEgY29tbWEtc2VwYXJhdGVkIHNlcXVlbmNlIG9mIGtleS9kYXR1bSBwYWlycyBpcyBnaXZlbiwgdGhleSBhcmVcbmV2YWx1YXRlZCBmcm9tIGxlZnQgdG8gcmlnaHQgdG8gZGVmaW5lIHRoZSBlbnRyaWVzIG9mIHRoZSBkaWN0aW9uYXJ5OlxuZWFjaCBrZXkgb2JqZWN0IGlzIHVzZWQgYXMgYSBrZXkgaW50byB0aGUgZGljdGlvbmFyeSB0byBzdG9yZSB0aGVcbmNvcnJlc3BvbmRpbmcgZGF0dW0uICBUaGlzIG1lYW5zIHRoYXQgeW91IGNhbiBzcGVjaWZ5IHRoZSBzYW1lIGtleVxubXVsdGlwbGUgdGltZXMgaW4gdGhlIGtleS9kYXR1bSBsaXN0LCBhbmQgdGhlIGZpbmFsIGRpY3Rpb25hcnlcJ3MgdmFsdWVcbmZvciB0aGF0IGtleSB3aWxsIGJlIHRoZSBsYXN0IG9uZSBnaXZlbi5cblxuQSBkaWN0IGNvbXByZWhlbnNpb24sIGluIGNvbnRyYXN0IHRvIGxpc3QgYW5kIHNldCBjb21wcmVoZW5zaW9ucyxcbm5lZWRzIHR3byBleHByZXNzaW9ucyBzZXBhcmF0ZWQgd2l0aCBhIGNvbG9uIGZvbGxvd2VkIGJ5IHRoZSB1c3VhbFxuImZvciIgYW5kICJpZiIgY2xhdXNlcy4gV2hlbiB0aGUgY29tcHJlaGVuc2lvbiBpcyBydW4sIHRoZSByZXN1bHRpbmdcbmtleSBhbmQgdmFsdWUgZWxlbWVudHMgYXJlIGluc2VydGVkIGluIHRoZSBuZXcgZGljdGlvbmFyeSBpbiB0aGUgb3JkZXJcbnRoZXkgYXJlIHByb2R1Y2VkLlxuXG5SZXN0cmljdGlvbnMgb24gdGhlIHR5cGVzIG9mIHRoZSBrZXkgdmFsdWVzIGFyZSBsaXN0ZWQgZWFybGllciBpblxuc2VjdGlvbiAqVGhlIHN0YW5kYXJkIHR5cGUgaGllcmFyY2h5Ki4gIChUbyBzdW1tYXJpemUsIHRoZSBrZXkgdHlwZVxuc2hvdWxkIGJlICpoYXNoYWJsZSosIHdoaWNoIGV4Y2x1ZGVzIGFsbCBtdXRhYmxlIG9iamVjdHMuKSAgQ2xhc2hlc1xuYmV0d2VlbiBkdXBsaWNhdGUga2V5cyBhcmUgbm90IGRldGVjdGVkOyB0aGUgbGFzdCBkYXR1bSAodGV4dHVhbGx5XG5yaWdodG1vc3QgaW4gdGhlIGRpc3BsYXkpIHN0b3JlZCBmb3IgYSBnaXZlbiBrZXkgdmFsdWUgcHJldmFpbHMuXG4nLApAQCAtNTQsMjUgKzU1LDI1IEBACiAgJ3Bhc3MnOiAnXG5UaGUgYGBwYXNzYGAgc3RhdGVtZW50XG4qKioqKioqKioqKioqKioqKioqKioqXG5cbiAgIHBhc3Nfc3RtdCA6Oj0gInBhc3MiXG5cbmBgcGFzc2BgIGlzIGEgbnVsbCBvcGVyYXRpb24gLS0tIHdoZW4gaXQgaXMgZXhlY3V0ZWQsIG5vdGhpbmcgaGFwcGVucy5cbkl0IGlzIHVzZWZ1bCBhcyBhIHBsYWNlaG9sZGVyIHdoZW4gYSBzdGF0ZW1lbnQgaXMgcmVxdWlyZWRcbnN5bnRhY3RpY2FsbHksIGJ1dCBubyBjb2RlIG5lZWRzIHRvIGJlIGV4ZWN1dGVkLCBmb3IgZXhhbXBsZTpcblxuICAgZGVmIGYoYXJnKTogcGFzcyAgICAjIGEgZnVuY3Rpb24gdGhhdCBkb2VzIG5vdGhpbmcgKHlldClcblxuICAgY2xhc3MgQzogcGFzcyAgICAgICAjIGEgY2xhc3Mgd2l0aCBubyBtZXRob2RzICh5ZXQpXG4nLAogICdwb3dlcic6ICdcblRoZSBwb3dlciBvcGVyYXRvclxuKioqKioqKioqKioqKioqKioqXG5cblRoZSBwb3dlciBvcGVyYXRvciBiaW5kcyBtb3JlIHRpZ2h0bHkgdGhhbiB1bmFyeSBvcGVyYXRvcnMgb24gaXRzXG5sZWZ0OyBpdCBiaW5kcyBsZXNzIHRpZ2h0bHkgdGhhbiB1bmFyeSBvcGVyYXRvcnMgb24gaXRzIHJpZ2h0LiAgVGhlXG5zeW50YXggaXM6XG5cbiAgIHBvd2VyIDo6PSBwcmltYXJ5IFsiKioiIHVfZXhwcl1cblxuVGh1cywgaW4gYW4gdW5wYXJlbnRoZXNpemVkIHNlcXVlbmNlIG9mIHBvd2VyIGFuZCB1bmFyeSBvcGVyYXRvcnMsIHRoZVxub3BlcmF0b3JzIGFyZSBldmFsdWF0ZWQgZnJvbSByaWdodCB0byBsZWZ0ICh0aGlzIGRvZXMgbm90IGNvbnN0cmFpblxudGhlIGV2YWx1YXRpb24gb3JkZXIgZm9yIHRoZSBvcGVyYW5kcyk6IGBgLTEqKjJgYCByZXN1bHRzIGluIGBgLTFgYC5cblxuVGhlIHBvd2VyIG9wZXJhdG9yIGhhcyB0aGUgc2FtZSBzZW1hbnRpY3MgYXMgdGhlIGJ1aWx0LWluIGBgcG93KClgYFxuZnVuY3Rpb24sIHdoZW4gY2FsbGVkIHdpdGggdHdvIGFyZ3VtZW50czogaXQgeWllbGRzIGl0cyBsZWZ0IGFyZ3VtZW50XG5yYWlzZWQgdG8gdGhlIHBvd2VyIG9mIGl0cyByaWdodCBhcmd1bWVudC4gIFRoZSBudW1lcmljIGFyZ3VtZW50cyBhcmVcbmZpcnN0IGNvbnZlcnRlZCB0byBhIGNvbW1vbiB0eXBlLCBhbmQgdGhlIHJlc3VsdCBpcyBvZiB0aGF0IHR5cGUuXG5cbkZvciBpbnQgb3BlcmFuZHMsIHRoZSByZXN1bHQgaGFzIHRoZSBzYW1lIHR5cGUgYXMgdGhlIG9wZXJhbmRzIHVubGVzc1xudGhlIHNlY29uZCBhcmd1bWVudCBpcyBuZWdhdGl2ZTsgaW4gdGhhdCBjYXNlLCBhbGwgYXJndW1lbnRzIGFyZVxuY29udmVydGVkIHRvIGZsb2F0IGFuZCBhIGZsb2F0IHJlc3VsdCBpcyBkZWxpdmVyZWQuIEZvciBleGFtcGxlLFxuYGAxMCoqMmBgIHJldHVybnMgYGAxMDBgYCwgYnV0IGBgMTAqKi0yYGAgcmV0dXJucyBgYDAuMDFgYC5cblxuUmFpc2luZyBgYDAuMGBgIHRvIGEgbmVnYXRpdmUgcG93ZXIgcmVzdWx0cyBpbiBhXG5gYFplcm9EaXZpc2lvbkVycm9yYGAuIFJhaXNpbmcgYSBuZWdhdGl2ZSBudW1iZXIgdG8gYSBmcmFjdGlvbmFsIHBvd2VyXG5yZXN1bHRzIGluIGEgYGBjb21wbGV4YGAgbnVtYmVyLiAoSW4gZWFybGllciB2ZXJzaW9ucyBpdCByYWlzZWQgYVxuYGBWYWx1ZUVycm9yYGAuKVxuJywKICAncmFpc2UnOiAnXG5UaGUgYGByYWlzZWBgIHN0YXRlbWVudFxuKioqKioqKioqKioqKioqKioqKioqKipcblxuICAgcmFpc2Vfc3RtdCA6Oj0gInJhaXNlIiBbZXhwcmVzc2lvbiBbImZyb20iIGV4cHJlc3Npb25dXVxuXG5JZiBubyBleHByZXNzaW9ucyBhcmUgcHJlc2VudCwgYGByYWlzZWBgIHJlLXJhaXNlcyB0aGUgbGFzdCBleGNlcHRpb25cbnRoYXQgd2FzIGFjdGl2ZSBpbiB0aGUgY3VycmVudCBzY29wZS4gIElmIG5vIGV4Y2VwdGlvbiBpcyBhY3RpdmUgaW5cbnRoZSBjdXJyZW50IHNjb3BlLCBhIGBgUnVudGltZUVycm9yYGAgZXhjZXB0aW9uIGlzIHJhaXNlZCBpbmRpY2F0aW5nXG50aGF0IHRoaXMgaXMgYW4gZXJyb3IuXG5cbk90aGVyd2lzZSwgYGByYWlzZWBgIGV2YWx1YXRlcyB0aGUgZmlyc3QgZXhwcmVzc2lvbiBhcyB0aGUgZXhjZXB0aW9uXG5vYmplY3QuICBJdCBtdXN0IGJlIGVpdGhlciBhIHN1YmNsYXNzIG9yIGFuIGluc3RhbmNlIG9mXG5gYEJhc2VFeGNlcHRpb25gYC4gSWYgaXQgaXMgYSBjbGFzcywgdGhlIGV4Y2VwdGlvbiBpbnN0YW5jZSB3aWxsIGJlXG5vYnRhaW5lZCB3aGVuIG5lZWRlZCBieSBpbnN0YW50aWF0aW5nIHRoZSBjbGFzcyB3aXRoIG5vIGFyZ3VtZW50cy5cblxuVGhlICp0eXBlKiBvZiB0aGUgZXhjZXB0aW9uIGlzIHRoZSBleGNlcHRpb24gaW5zdGFuY2VcJ3MgY2xhc3MsIHRoZVxuKnZhbHVlKiBpcyB0aGUgaW5zdGFuY2UgaXRzZWxmLlxuXG5BIHRyYWNlYmFjayBvYmplY3QgaXMgbm9ybWFsbHkgY3JlYXRlZCBhdXRvbWF0aWNhbGx5IHdoZW4gYW4gZXhjZXB0aW9uXG5pcyByYWlzZWQgYW5kIGF0dGFjaGVkIHRvIGl0IGFzIHRoZSBgYF9fdHJhY2ViYWNrX19gYCBhdHRyaWJ1dGUsIHdoaWNoXG5pcyB3cml0YWJsZS4gWW91IGNhbiBjcmVhdGUgYW4gZXhjZXB0aW9uIGFuZCBzZXQgeW91ciBvd24gdHJhY2ViYWNrIGluXG5vbmUgc3RlcCB1c2luZyB0aGUgYGB3aXRoX3RyYWNlYmFjaygpYGAgZXhjZXB0aW9uIG1ldGhvZCAod2hpY2hcbnJldHVybnMgdGhlIHNhbWUgZXhjZXB0aW9uIGluc3RhbmNlLCB3aXRoIGl0cyB0cmFjZWJhY2sgc2V0IHRvIGl0c1xuYXJndW1lbnQpLCBsaWtlIHNvOlxuXG4gICByYWlzZSBFeGNlcHRpb24oImZvbyBvY2N1cnJlZCIpLndpdGhfdHJhY2ViYWNrKHRyYWNlYmFja29iailcblxuVGhlIGBgZnJvbWBgIGNsYXVzZSBpcyB1c2VkIGZvciBleGNlcHRpb24gY2hhaW5pbmc6IGlmIGdpdmVuLCB0aGVcbnNlY29uZCAqZXhwcmVzc2lvbiogbXVzdCBiZSBhbm90aGVyIGV4Y2VwdGlvbiBjbGFzcyBvciBpbnN0YW5jZSwgd2hpY2hcbndpbGwgdGhlbiBiZSBhdHRhY2hlZCB0byB0aGUgcmFpc2VkIGV4Y2VwdGlvbiBhcyB0aGUgYGBfX2NhdXNlX19gYFxuYXR0cmlidXRlICh3aGljaCBpcyB3cml0YWJsZSkuICBJZiB0aGUgcmFpc2VkIGV4Y2VwdGlvbiBpcyBub3RcbmhhbmRsZWQsIGJvdGggZXhjZXB0aW9ucyB3aWxsIGJlIHByaW50ZWQ6XG5cbiAgID4+PiB0cnk6XG4gICAuLi4gICAgIHByaW50KDEgLyAwKVxuICAgLi4uIGV4Y2VwdCBFeGNlcHRpb24gYXMgZXhjOlxuICAgLi4uICAgICByYWlzZSBSdW50aW1lRXJyb3IoIlNvbWV0aGluZyBiYWQgaGFwcGVuZWQiKSBmcm9tIGV4Y1xuICAgLi4uXG4gICBUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6XG4gICAgIEZpbGUgIjxzdGRpbj4iLCBsaW5lIDIsIGluIDxtb2R1bGU+XG4gICBaZXJvRGl2aXNpb25FcnJvcjogaW50IGRpdmlzaW9uIG9yIG1vZHVsbyBieSB6ZXJvXG5cbiAgIFRoZSBhYm92ZSBleGNlcHRpb24gd2FzIHRoZSBkaXJlY3QgY2F1c2Ugb2YgdGhlIGZvbGxvd2luZyBleGNlcHRpb246XG5cbiAgIFRyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KTpcbiAgICAgRmlsZSAiPHN0ZGluPiIsIGxpbmUgNCwgaW4gPG1vZHVsZT5cbiAgIFJ1bnRpbWVFcnJvcjogU29tZXRoaW5nIGJhZCBoYXBwZW5lZFxuXG5BIHNpbWlsYXIgbWVjaGFuaXNtIHdvcmtzIGltcGxpY2l0bHkgaWYgYW4gZXhjZXB0aW9uIGlzIHJhaXNlZCBpbnNpZGVcbmFuIGV4Y2VwdGlvbiBoYW5kbGVyOiB0aGUgcHJldmlvdXMgZXhjZXB0aW9uIGlzIHRoZW4gYXR0YWNoZWQgYXMgdGhlXG5uZXcgZXhjZXB0aW9uXCdzIGBgX19jb250ZXh0X19gYCBhdHRyaWJ1dGU6XG5cbiAgID4+PiB0cnk6XG4gICAuLi4gICAgIHByaW50KDEgLyAwKVxuICAgLi4uIGV4Y2VwdDpcbiAgIC4uLiAgICAgcmFpc2UgUnVudGltZUVycm9yKCJTb21ldGhpbmcgYmFkIGhhcHBlbmVkIilcbiAgIC4uLlxuICAgVHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOlxuICAgICBGaWxlICI8c3RkaW4+IiwgbGluZSAyLCBpbiA8bW9kdWxlPlxuICAgWmVyb0RpdmlzaW9uRXJyb3I6IGludCBkaXZpc2lvbiBvciBtb2R1bG8gYnkgemVyb1xuXG4gICBEdXJpbmcgaGFuZGxpbmcgb2YgdGhlIGFib3ZlIGV4Y2VwdGlvbiwgYW5vdGhlciBleGNlcHRpb24gb2NjdXJyZWQ6XG5cbiAgIFRyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KTpcbiAgICAgRmlsZSAiPHN0ZGluPiIsIGxpbmUgNCwgaW4gPG1vZHVsZT5cbiAgIFJ1bnRpbWVFcnJvcjogU29tZXRoaW5nIGJhZCBoYXBwZW5lZFxuXG5BZGRpdGlvbmFsIGluZm9ybWF0aW9uIG9uIGV4Y2VwdGlvbnMgY2FuIGJlIGZvdW5kIGluIHNlY3Rpb25cbipFeGNlcHRpb25zKiwgYW5kIGluZm9ybWF0aW9uIGFib3V0IGhhbmRsaW5nIGV4Y2VwdGlvbnMgaXMgaW4gc2VjdGlvblxuKlRoZSB0cnkgc3RhdGVtZW50Ki5cbicsCi0gJ3JldHVybic6ICdcblRoZSBgYHJldHVybmBgIHN0YXRlbWVudFxuKioqKioqKioqKioqKioqKioqKioqKioqXG5cbiAgIHJldHVybl9zdG10IDo6PSAicmV0dXJuIiBbZXhwcmVzc2lvbl9saXN0XVxuXG5gYHJldHVybmBgIG1heSBvbmx5IG9jY3VyIHN5bnRhY3RpY2FsbHkgbmVzdGVkIGluIGEgZnVuY3Rpb25cbmRlZmluaXRpb24sIG5vdCB3aXRoaW4gYSBuZXN0ZWQgY2xhc3MgZGVmaW5pdGlvbi5cblxuSWYgYW4gZXhwcmVzc2lvbiBsaXN0IGlzIHByZXNlbnQsIGl0IGlzIGV2YWx1YXRlZCwgZWxzZSBgYE5vbmVgYCBpc1xuc3Vic3RpdHV0ZWQuXG5cbmBgcmV0dXJuYGAgbGVhdmVzIHRoZSBjdXJyZW50IGZ1bmN0aW9uIGNhbGwgd2l0aCB0aGUgZXhwcmVzc2lvbiBsaXN0XG4ob3IgYGBOb25lYGApIGFzIHJldHVybiB2YWx1ZS5cblxuV2hlbiBgYHJldHVybmBgIHBhc3NlcyBjb250cm9sIG91dCBvZiBhIGBgdHJ5YGAgc3RhdGVtZW50IHdpdGggYVxuYGBmaW5hbGx5YGAgY2xhdXNlLCB0aGF0IGBgZmluYWxseWBgIGNsYXVzZSBpcyBleGVjdXRlZCBiZWZvcmUgcmVhbGx5XG5sZWF2aW5nIHRoZSBmdW5jdGlvbi5cblxuSW4gYSBnZW5lcmF0b3IgZnVuY3Rpb24sIHRoZSBgYHJldHVybmBgIHN0YXRlbWVudCBpcyBub3QgYWxsb3dlZCB0b1xuaW5jbHVkZSBhbiBgYGV4cHJlc3Npb25fbGlzdGBgLiAgSW4gdGhhdCBjb250ZXh0LCBhIGJhcmUgYGByZXR1cm5gYFxuaW5kaWNhdGVzIHRoYXQgdGhlIGdlbmVyYXRvciBpcyBkb25lIGFuZCB3aWxsIGNhdXNlIGBgU3RvcEl0ZXJhdGlvbmBgXG50byBiZSByYWlzZWQuXG4nLAorICdyZXR1cm4nOiAnXG5UaGUgYGByZXR1cm5gYCBzdGF0ZW1lbnRcbioqKioqKioqKioqKioqKioqKioqKioqKlxuXG4gICByZXR1cm5fc3RtdCA6Oj0gInJldHVybiIgW2V4cHJlc3Npb25fbGlzdF1cblxuYGByZXR1cm5gYCBtYXkgb25seSBvY2N1ciBzeW50YWN0aWNhbGx5IG5lc3RlZCBpbiBhIGZ1bmN0aW9uXG5kZWZpbml0aW9uLCBub3Qgd2l0aGluIGEgbmVzdGVkIGNsYXNzIGRlZmluaXRpb24uXG5cbklmIGFuIGV4cHJlc3Npb24gbGlzdCBpcyBwcmVzZW50LCBpdCBpcyBldmFsdWF0ZWQsIGVsc2UgYGBOb25lYGAgaXNcbnN1YnN0aXR1dGVkLlxuXG5gYHJldHVybmBgIGxlYXZlcyB0aGUgY3VycmVudCBmdW5jdGlvbiBjYWxsIHdpdGggdGhlIGV4cHJlc3Npb24gbGlzdFxuKG9yIGBgTm9uZWBgKSBhcyByZXR1cm4gdmFsdWUuXG5cbldoZW4gYGByZXR1cm5gYCBwYXNzZXMgY29udHJvbCBvdXQgb2YgYSBgYHRyeWBgIHN0YXRlbWVudCB3aXRoIGFcbmBgZmluYWxseWBgIGNsYXVzZSwgdGhhdCBgYGZpbmFsbHlgYCBjbGF1c2UgaXMgZXhlY3V0ZWQgYmVmb3JlIHJlYWxseVxubGVhdmluZyB0aGUgZnVuY3Rpb24uXG5cbkluIGEgZ2VuZXJhdG9yIGZ1bmN0aW9uLCB0aGUgYGByZXR1cm5gYCBzdGF0ZW1lbnQgaW5kaWNhdGVzIHRoYXQgdGhlXG5nZW5lcmF0b3IgaXMgZG9uZSBhbmQgd2lsbCBjYXVzZSBgYFN0b3BJdGVyYXRpb25gYCB0byBiZSByYWlzZWQuIFRoZVxucmV0dXJuZWQgdmFsdWUgKGlmIGFueSkgaXMgdXNlZCBhcyBhbiBhcmd1bWVudCB0byBjb25zdHJ1Y3RcbmBgU3RvcEl0ZXJhdGlvbmBgIGFuZCBiZWNvbWVzIHRoZSBgYFN0b3BJdGVyYXRpb24udmFsdWVgYCBhdHRyaWJ1dGUuXG4nLAogICdzZXF1ZW5jZS10eXBlcyc6ICJcbkVtdWxhdGluZyBjb250YWluZXIgdHlwZXNcbioqKioqKioqKioqKioqKioqKioqKioqKipcblxuVGhlIGZvbGxvd2luZyBtZXRob2RzIGNhbiBiZSBkZWZpbmVkIHRvIGltcGxlbWVudCBjb250YWluZXIgb2JqZWN0cy5cbkNvbnRhaW5lcnMgdXN1YWxseSBhcmUgc2VxdWVuY2VzIChzdWNoIGFzIGxpc3RzIG9yIHR1cGxlcykgb3IgbWFwcGluZ3NcbihsaWtlIGRpY3Rpb25hcmllcyksIGJ1dCBjYW4gcmVwcmVzZW50IG90aGVyIGNvbnRhaW5lcnMgYXMgd2VsbC4gIFRoZVxuZmlyc3Qgc2V0IG9mIG1ldGhvZHMgaXMgdXNlZCBlaXRoZXIgdG8gZW11bGF0ZSBhIHNlcXVlbmNlIG9yIHRvXG5lbXVsYXRlIGEgbWFwcGluZzsgdGhlIGRpZmZlcmVuY2UgaXMgdGhhdCBmb3IgYSBzZXF1ZW5jZSwgdGhlXG5hbGxvd2FibGUga2V5cyBzaG91bGQgYmUgdGhlIGludGVnZXJzICprKiBmb3Igd2hpY2ggYGAwIDw9IGsgPCBOYGBcbndoZXJlICpOKiBpcyB0aGUgbGVuZ3RoIG9mIHRoZSBzZXF1ZW5jZSwgb3Igc2xpY2Ugb2JqZWN0cywgd2hpY2hcbmRlZmluZSBhIHJhbmdlIG9mIGl0ZW1zLiAgSXQgaXMgYWxzbyByZWNvbW1lbmRlZCB0aGF0IG1hcHBpbmdzIHByb3ZpZGVcbnRoZSBtZXRob2RzIGBga2V5cygpYGAsIGBgdmFsdWVzKClgYCwgYGBpdGVtcygpYGAsIGBgZ2V0KClgYCxcbmBgY2xlYXIoKWBgLCBgYHNldGRlZmF1bHQoKWBgLCBgYHBvcCgpYGAsIGBgcG9waXRlbSgpYGAsIGBgY29weSgpYGAsXG5hbmQgYGB1cGRhdGUoKWBgIGJlaGF2aW5nIHNpbWlsYXIgdG8gdGhvc2UgZm9yIFB5dGhvbidzIHN0YW5kYXJkXG5kaWN0aW9uYXJ5IG9iamVjdHMuICBUaGUgYGBjb2xsZWN0aW9uc2BgIG1vZHVsZSBwcm92aWRlcyBhXG5gYE11dGFibGVNYXBwaW5nYGAgYWJzdHJhY3QgYmFzZSBjbGFzcyB0byBoZWxwIGNyZWF0ZSB0aG9zZSBtZXRob2RzXG5mcm9tIGEgYmFzZSBzZXQgb2YgYGBfX2dldGl0ZW1fXygpYGAsIGBgX19zZXRpdGVtX18oKWBgLFxuYGBfX2RlbGl0ZW1fXygpYGAsIGFuZCBgYGtleXMoKWBgLiBNdXRhYmxlIHNlcXVlbmNlcyBzaG91bGQgcHJvdmlkZVxubWV0aG9kcyBgYGFwcGVuZCgpYGAsIGBgY291bnQoKWBgLCBgYGluZGV4KClgYCwgYGBleHRlbmQoKWBgLFxuYGBpbnNlcnQoKWBgLCBgYHBvcCgpYGAsIGBgcmVtb3ZlKClgYCwgYGByZXZlcnNlKClgYCBhbmQgYGBzb3J0KClgYCxcbmxpa2UgUHl0aG9uIHN0YW5kYXJkIGxpc3Qgb2JqZWN0cy4gIEZpbmFsbHksIHNlcXVlbmNlIHR5cGVzIHNob3VsZFxuaW1wbGVtZW50IGFkZGl0aW9uIChtZWFuaW5nIGNvbmNhdGVuYXRpb24pIGFuZCBtdWx0aXBsaWNhdGlvbiAobWVhbmluZ1xucmVwZXRpdGlvbikgYnkgZGVmaW5pbmcgdGhlIG1ldGhvZHMgYGBfX2FkZF9fKClgYCwgYGBfX3JhZGRfXygpYGAsXG5gYF9faWFkZF9fKClgYCwgYGBfX211bF9fKClgYCwgYGBfX3JtdWxfXygpYGAgYW5kIGBgX19pbXVsX18oKWBgXG5kZXNjcmliZWQgYmVsb3c7IHRoZXkgc2hvdWxkIG5vdCBkZWZpbmUgb3RoZXIgbnVtZXJpY2FsIG9wZXJhdG9ycy4gIEl0XG5pcyByZWNvbW1lbmRlZCB0aGF0IGJvdGggbWFwcGluZ3MgYW5kIHNlcXVlbmNlcyBpbXBsZW1lbnQgdGhlXG5gYF9fY29udGFpbnNfXygpYGAgbWV0aG9kIHRvIGFsbG93IGVmZmljaWVudCB1c2Ugb2YgdGhlIGBgaW5gYFxub3BlcmF0b3I7IGZvciBtYXBwaW5ncywgYGBpbmBgIHNob3VsZCBzZWFyY2ggdGhlIG1hcHBpbmcncyBrZXlzOyBmb3JcbnNlcXVlbmNlcywgaXQgc2hvdWxkIHNlYXJjaCB0aHJvdWdoIHRoZSB2YWx1ZXMuICBJdCBpcyBmdXJ0aGVyXG5yZWNvbW1lbmRlZCB0aGF0IGJvdGggbWFwcGluZ3MgYW5kIHNlcXVlbmNlcyBpbXBsZW1lbnQgdGhlXG5gYF9faXRlcl9fKClgYCBtZXRob2QgdG8gYWxsb3cgZWZmaWNpZW50IGl0ZXJhdGlvbiB0aHJvdWdoIHRoZVxuY29udGFpbmVyOyBmb3IgbWFwcGluZ3MsIGBgX19pdGVyX18oKWBgIHNob3VsZCBiZSB0aGUgc2FtZSBhc1xuYGBrZXlzKClgYDsgZm9yIHNlcXVlbmNlcywgaXQgc2hvdWxkIGl0ZXJhdGUgdGhyb3VnaCB0aGUgdmFsdWVzLlxuXG5vYmplY3QuX19sZW5fXyhzZWxmKVxuXG4gICBDYWxsZWQgdG8gaW1wbGVtZW50IHRoZSBidWlsdC1pbiBmdW5jdGlvbiBgYGxlbigpYGAuICBTaG91bGQgcmV0dXJuXG4gICB0aGUgbGVuZ3RoIG9mIHRoZSBvYmplY3QsIGFuIGludGVnZXIgYGA+PWBgIDAuICBBbHNvLCBhbiBvYmplY3RcbiAgIHRoYXQgZG9lc24ndCBkZWZpbmUgYSBgYF9fYm9vbF9fKClgYCBtZXRob2QgYW5kIHdob3NlIGBgX19sZW5fXygpYGBcbiAgIG1ldGhvZCByZXR1cm5zIHplcm8gaXMgY29uc2lkZXJlZCB0byBiZSBmYWxzZSBpbiBhIEJvb2xlYW4gY29udGV4dC5cblxuTm90ZTogU2xpY2luZyBpcyBkb25lIGV4Y2x1c2l2ZWx5IHdpdGggdGhlIGZvbGxvd2luZyB0aHJlZSBtZXRob2RzLiAgQVxuICBjYWxsIGxpa2VcblxuICAgICBhWzE6Ml0gPSBiXG5cbiAgaXMgdHJhbnNsYXRlZCB0b1xuXG4gICAgIGFbc2xpY2UoMSwgMiwgTm9uZSldID0gYlxuXG4gIGFuZCBzbyBmb3J0aC4gIE1pc3Npbmcgc2xpY2UgaXRlbXMgYXJlIGFsd2F5cyBmaWxsZWQgaW4gd2l0aFxuICBgYE5vbmVgYC5cblxub2JqZWN0Ll9fZ2V0aXRlbV9fKHNlbGYsIGtleSlcblxuICAgQ2FsbGVkIHRvIGltcGxlbWVudCBldmFsdWF0aW9uIG9mIGBgc2VsZltrZXldYGAuIEZvciBzZXF1ZW5jZVxuICAgdHlwZXMsIHRoZSBhY2NlcHRlZCBrZXlzIHNob3VsZCBiZSBpbnRlZ2VycyBhbmQgc2xpY2Ugb2JqZWN0cy5cbiAgIE5vdGUgdGhhdCB0aGUgc3BlY2lhbCBpbnRlcnByZXRhdGlvbiBvZiBuZWdhdGl2ZSBpbmRleGVzIChpZiB0aGVcbiAgIGNsYXNzIHdpc2hlcyB0byBlbXVsYXRlIGEgc2VxdWVuY2UgdHlwZSkgaXMgdXAgdG8gdGhlXG4gICBgYF9fZ2V0aXRlbV9fKClgYCBtZXRob2QuIElmICprZXkqIGlzIG9mIGFuIGluYXBwcm9wcmlhdGUgdHlwZSxcbiAgIGBgVHlwZUVycm9yYGAgbWF5IGJlIHJhaXNlZDsgaWYgb2YgYSB2YWx1ZSBvdXRzaWRlIHRoZSBzZXQgb2ZcbiAgIGluZGV4ZXMgZm9yIHRoZSBzZXF1ZW5jZSAoYWZ0ZXIgYW55IHNwZWNpYWwgaW50ZXJwcmV0YXRpb24gb2ZcbiAgIG5lZ2F0aXZlIHZhbHVlcyksIGBgSW5kZXhFcnJvcmBgIHNob3VsZCBiZSByYWlzZWQuIEZvciBtYXBwaW5nXG4gICB0eXBlcywgaWYgKmtleSogaXMgbWlzc2luZyAobm90IGluIHRoZSBjb250YWluZXIpLCBgYEtleUVycm9yYGBcbiAgIHNob3VsZCBiZSByYWlzZWQuXG5cbiAgIE5vdGU6IGBgZm9yYGAgbG9vcHMgZXhwZWN0IHRoYXQgYW4gYGBJbmRleEVycm9yYGAgd2lsbCBiZSByYWlzZWQgZm9yXG4gICAgIGlsbGVnYWwgaW5kZXhlcyB0byBhbGxvdyBwcm9wZXIgZGV0ZWN0aW9uIG9mIHRoZSBlbmQgb2YgdGhlXG4gICAgIHNlcXVlbmNlLlxuXG5vYmplY3QuX19zZXRpdGVtX18oc2VsZiwga2V5LCB2YWx1ZSlcblxuICAgQ2FsbGVkIHRvIGltcGxlbWVudCBhc3NpZ25tZW50IHRvIGBgc2VsZltrZXldYGAuICBTYW1lIG5vdGUgYXMgZm9yXG4gICBgYF9fZ2V0aXRlbV9fKClgYC4gIFRoaXMgc2hvdWxkIG9ubHkgYmUgaW1wbGVtZW50ZWQgZm9yIG1hcHBpbmdzIGlmXG4gICB0aGUgb2JqZWN0cyBzdXBwb3J0IGNoYW5nZXMgdG8gdGhlIHZhbHVlcyBmb3Iga2V5cywgb3IgaWYgbmV3IGtleXNcbiAgIGNhbiBiZSBhZGRlZCwgb3IgZm9yIHNlcXVlbmNlcyBpZiBlbGVtZW50cyBjYW4gYmUgcmVwbGFjZWQuICBUaGVcbiAgIHNhbWUgZXhjZXB0aW9ucyBzaG91bGQgYmUgcmFpc2VkIGZvciBpbXByb3BlciAqa2V5KiB2YWx1ZXMgYXMgZm9yXG4gICB0aGUgYGBfX2dldGl0ZW1fXygpYGAgbWV0aG9kLlxuXG5vYmplY3QuX19kZWxpdGVtX18oc2VsZiwga2V5KVxuXG4gICBDYWxsZWQgdG8gaW1wbGVtZW50IGRlbGV0aW9uIG9mIGBgc2VsZltrZXldYGAuICBTYW1lIG5vdGUgYXMgZm9yXG4gICBgYF9fZ2V0aXRlbV9fKClgYC4gIFRoaXMgc2hvdWxkIG9ubHkgYmUgaW1wbGVtZW50ZWQgZm9yIG1hcHBpbmdzIGlmXG4gICB0aGUgb2JqZWN0cyBzdXBwb3J0IHJlbW92YWwgb2Yga2V5cywgb3IgZm9yIHNlcXVlbmNlcyBpZiBlbGVtZW50c1xuICAgY2FuIGJlIHJlbW92ZWQgZnJvbSB0aGUgc2VxdWVuY2UuICBUaGUgc2FtZSBleGNlcHRpb25zIHNob3VsZCBiZVxuICAgcmFpc2VkIGZvciBpbXByb3BlciAqa2V5KiB2YWx1ZXMgYXMgZm9yIHRoZSBgYF9fZ2V0aXRlbV9fKClgYFxuICAgbWV0aG9kLlxuXG5vYmplY3QuX19pdGVyX18oc2VsZilcblxuICAgVGhpcyBtZXRob2QgaXMgY2FsbGVkIHdoZW4gYW4gaXRlcmF0b3IgaXMgcmVxdWlyZWQgZm9yIGEgY29udGFpbmVyLlxuICAgVGhpcyBtZXRob2Qgc2hvdWxkIHJldHVybiBhIG5ldyBpdGVyYXRvciBvYmplY3QgdGhhdCBjYW4gaXRlcmF0ZVxuICAgb3ZlciBhbGwgdGhlIG9iamVjdHMgaW4gdGhlIGNvbnRhaW5lci4gIEZvciBtYXBwaW5ncywgaXQgc2hvdWxkXG4gICBpdGVyYXRlIG92ZXIgdGhlIGtleXMgb2YgdGhlIGNvbnRhaW5lciwgYW5kIHNob3VsZCBhbHNvIGJlIG1hZGVcbiAgIGF2YWlsYWJsZSBhcyB0aGUgbWV0aG9kIGBga2V5cygpYGAuXG5cbiAgIEl0ZXJhdG9yIG9iamVjdHMgYWxzbyBuZWVkIHRvIGltcGxlbWVudCB0aGlzIG1ldGhvZDsgdGhleSBhcmVcbiAgIHJlcXVpcmVkIHRvIHJldHVybiB0aGVtc2VsdmVzLiAgRm9yIG1vcmUgaW5mb3JtYXRpb24gb24gaXRlcmF0b3JcbiAgIG9iamVjdHMsIHNlZSAqSXRlcmF0b3IgVHlwZXMqLlxuXG5vYmplY3QuX19yZXZlcnNlZF9fKHNlbGYpXG5cbiAgIENhbGxlZCAoaWYgcHJlc2VudCkgYnkgdGhlIGBgcmV2ZXJzZWQoKWBgIGJ1aWx0LWluIHRvIGltcGxlbWVudFxuICAgcmV2ZXJzZSBpdGVyYXRpb24uICBJdCBzaG91bGQgcmV0dXJuIGEgbmV3IGl0ZXJhdG9yIG9iamVjdCB0aGF0XG4gICBpdGVyYXRlcyBvdmVyIGFsbCB0aGUgb2JqZWN0cyBpbiB0aGUgY29udGFpbmVyIGluIHJldmVyc2Ugb3JkZXIuXG5cbiAgIElmIHRoZSBgYF9fcmV2ZXJzZWRfXygpYGAgbWV0aG9kIGlzIG5vdCBwcm92aWRlZCwgdGhlXG4gICBgYHJldmVyc2VkKClgYCBidWlsdC1pbiB3aWxsIGZhbGwgYmFjayB0byB1c2luZyB0aGUgc2VxdWVuY2VcbiAgIHByb3RvY29sIChgYF9fbGVuX18oKWBgIGFuZCBgYF9fZ2V0aXRlbV9fKClgYCkuICBPYmplY3RzIHRoYXRcbiAgIHN1cHBvcnQgdGhlIHNlcXVlbmNlIHByb3RvY29sIHNob3VsZCBvbmx5IHByb3ZpZGVcbiAgIGBgX19yZXZlcnNlZF9fKClgYCBpZiB0aGV5IGNhbiBwcm92aWRlIGFuIGltcGxlbWVudGF0aW9uIHRoYXQgaXNcbiAgIG1vcmUgZWZmaWNpZW50IHRoYW4gdGhlIG9uZSBwcm92aWRlZCBieSBgYHJldmVyc2VkKClgYC5cblxuVGhlIG1lbWJlcnNoaXAgdGVzdCBvcGVyYXRvcnMgKGBgaW5gYCBhbmQgYGBub3QgaW5gYCkgYXJlIG5vcm1hbGx5XG5pbXBsZW1lbnRlZCBhcyBhbiBpdGVyYXRpb24gdGhyb3VnaCBhIHNlcXVlbmNlLiAgSG93ZXZlciwgY29udGFpbmVyXG5vYmplY3RzIGNhbiBzdXBwbHkgdGhlIGZvbGxvd2luZyBzcGVjaWFsIG1ldGhvZCB3aXRoIGEgbW9yZSBlZmZpY2llbnRcbmltcGxlbWVudGF0aW9uLCB3aGljaCBhbHNvIGRvZXMgbm90IHJlcXVpcmUgdGhlIG9iamVjdCBiZSBhIHNlcXVlbmNlLlxuXG5vYmplY3QuX19jb250YWluc19fKHNlbGYsIGl0ZW0pXG5cbiAgIENhbGxlZCB0byBpbXBsZW1lbnQgbWVtYmVyc2hpcCB0ZXN0IG9wZXJhdG9ycy4gIFNob3VsZCByZXR1cm4gdHJ1ZVxuICAgaWYgKml0ZW0qIGlzIGluICpzZWxmKiwgZmFsc2Ugb3RoZXJ3aXNlLiAgRm9yIG1hcHBpbmcgb2JqZWN0cywgdGhpc1xuICAgc2hvdWxkIGNvbnNpZGVyIHRoZSBrZXlzIG9mIHRoZSBtYXBwaW5nIHJhdGhlciB0aGFuIHRoZSB2YWx1ZXMgb3JcbiAgIHRoZSBrZXktaXRlbSBwYWlycy5cblxuICAgRm9yIG9iamVjdHMgdGhhdCBkb24ndCBkZWZpbmUgYGBfX2NvbnRhaW5zX18oKWBgLCB0aGUgbWVtYmVyc2hpcFxuICAgdGVzdCBmaXJzdCB0cmllcyBpdGVyYXRpb24gdmlhIGBgX19pdGVyX18oKWBgLCB0aGVuIHRoZSBvbGRcbiAgIHNlcXVlbmNlIGl0ZXJhdGlvbiBwcm90b2NvbCB2aWEgYGBfX2dldGl0ZW1fXygpYGAsIHNlZSAqdGhpc1xuICAgc2VjdGlvbiBpbiB0aGUgbGFuZ3VhZ2UgcmVmZXJlbmNlKi5cbiIsCiAgJ3NoaWZ0aW5nJzogJ1xuU2hpZnRpbmcgb3BlcmF0aW9uc1xuKioqKioqKioqKioqKioqKioqKlxuXG5UaGUgc2hpZnRpbmcgb3BlcmF0aW9ucyBoYXZlIGxvd2VyIHByaW9yaXR5IHRoYW4gdGhlIGFyaXRobWV0aWNcbm9wZXJhdGlvbnM6XG5cbiAgIHNoaWZ0X2V4cHIgOjo9IGFfZXhwciB8IHNoaWZ0X2V4cHIgKCAiPDwiIHwgIj4+IiApIGFfZXhwclxuXG5UaGVzZSBvcGVyYXRvcnMgYWNjZXB0IGludGVnZXJzIGFzIGFyZ3VtZW50cy4gIFRoZXkgc2hpZnQgdGhlIGZpcnN0XG5hcmd1bWVudCB0byB0aGUgbGVmdCBvciByaWdodCBieSB0aGUgbnVtYmVyIG9mIGJpdHMgZ2l2ZW4gYnkgdGhlXG5zZWNvbmQgYXJndW1lbnQuXG5cbkEgcmlnaHQgc2hpZnQgYnkgKm4qIGJpdHMgaXMgZGVmaW5lZCBhcyBkaXZpc2lvbiBieSBgYHBvdygyLG4pYGAuICBBXG5sZWZ0IHNoaWZ0IGJ5ICpuKiBiaXRzIGlzIGRlZmluZWQgYXMgbXVsdGlwbGljYXRpb24gd2l0aCBgYHBvdygyLG4pYGAuXG5cbk5vdGU6IEluIHRoZSBjdXJyZW50IGltcGxlbWVudGF0aW9uLCB0aGUgcmlnaHQtaGFuZCBvcGVyYW5kIGlzIHJlcXVpcmVkIHRvXG4gIGJlIGF0IG1vc3QgYGBzeXMubWF4c2l6ZWBgLiAgSWYgdGhlIHJpZ2h0LWhhbmQgb3BlcmFuZCBpcyBsYXJnZXJcbiAgdGhhbiBgYHN5cy5tYXhzaXplYGAgYW4gYGBPdmVyZmxvd0Vycm9yYGAgZXhjZXB0aW9uIGlzIHJhaXNlZC5cbicsCiAgJ3NsaWNpbmdzJzogJ1xuU2xpY2luZ3NcbioqKioqKioqXG5cbkEgc2xpY2luZyBzZWxlY3RzIGEgcmFuZ2Ugb2YgaXRlbXMgaW4gYSBzZXF1ZW5jZSBvYmplY3QgKGUuZy4sIGFcbnN0cmluZywgdHVwbGUgb3IgbGlzdCkuICBTbGljaW5ncyBtYXkgYmUgdXNlZCBhcyBleHByZXNzaW9ucyBvciBhc1xudGFyZ2V0cyBpbiBhc3NpZ25tZW50IG9yIGBgZGVsYGAgc3RhdGVtZW50cy4gIFRoZSBzeW50YXggZm9yIGFcbnNsaWNpbmc6XG5cbiAgIHNsaWNpbmcgICAgICA6Oj0gcHJpbWFyeSAiWyIgc2xpY2VfbGlzdCAiXSJcbiAgIHNsaWNlX2xpc3QgICA6Oj0gc2xpY2VfaXRlbSAoIiwiIHNsaWNlX2l0ZW0pKiBbIiwiXVxuICAgc2xpY2VfaXRlbSAgIDo6PSBleHByZXNzaW9uIHwgcHJvcGVyX3NsaWNlXG4gICBwcm9wZXJfc2xpY2UgOjo9IFtsb3dlcl9ib3VuZF0gIjoiIFt1cHBlcl9ib3VuZF0gWyAiOiIgW3N0cmlkZV0gXVxuICAgbG93ZXJfYm91bmQgIDo6PSBleHByZXNzaW9uXG4gICB1cHBlcl9ib3VuZCAgOjo9IGV4cHJlc3Npb25cbiAgIHN0cmlkZSAgICAgICA6Oj0gZXhwcmVzc2lvblxuXG5UaGVyZSBpcyBhbWJpZ3VpdHkgaW4gdGhlIGZvcm1hbCBzeW50YXggaGVyZTogYW55dGhpbmcgdGhhdCBsb29rcyBsaWtlXG5hbiBleHByZXNzaW9uIGxpc3QgYWxzbyBsb29rcyBsaWtlIGEgc2xpY2UgbGlzdCwgc28gYW55IHN1YnNjcmlwdGlvblxuY2FuIGJlIGludGVycHJldGVkIGFzIGEgc2xpY2luZy4gIFJhdGhlciB0aGFuIGZ1cnRoZXIgY29tcGxpY2F0aW5nIHRoZVxuc3ludGF4LCB0aGlzIGlzIGRpc2FtYmlndWF0ZWQgYnkgZGVmaW5pbmcgdGhhdCBpbiB0aGlzIGNhc2UgdGhlXG5pbnRlcnByZXRhdGlvbiBhcyBhIHN1YnNjcmlwdGlvbiB0YWtlcyBwcmlvcml0eSBvdmVyIHRoZVxuaW50ZXJwcmV0YXRpb24gYXMgYSBzbGljaW5nICh0aGlzIGlzIHRoZSBjYXNlIGlmIHRoZSBzbGljZSBsaXN0XG5jb250YWlucyBubyBwcm9wZXIgc2xpY2UpLlxuXG5UaGUgc2VtYW50aWNzIGZvciBhIHNsaWNpbmcgYXJlIGFzIGZvbGxvd3MuICBUaGUgcHJpbWFyeSBtdXN0IGV2YWx1YXRlXG50byBhIG1hcHBpbmcgb2JqZWN0LCBhbmQgaXQgaXMgaW5kZXhlZCAodXNpbmcgdGhlIHNhbWVcbmBgX19nZXRpdGVtX18oKWBgIG1ldGhvZCBhcyBub3JtYWwgc3Vic2NyaXB0aW9uKSB3aXRoIGEga2V5IHRoYXQgaXNcbmNvbnN0cnVjdGVkIGZyb20gdGhlIHNsaWNlIGxpc3QsIGFzIGZvbGxvd3MuICBJZiB0aGUgc2xpY2UgbGlzdFxuY29udGFpbnMgYXQgbGVhc3Qgb25lIGNvbW1hLCB0aGUga2V5IGlzIGEgdHVwbGUgY29udGFpbmluZyB0aGVcbmNvbnZlcnNpb24gb2YgdGhlIHNsaWNlIGl0ZW1zOyBvdGhlcndpc2UsIHRoZSBjb252ZXJzaW9uIG9mIHRoZSBsb25lXG5zbGljZSBpdGVtIGlzIHRoZSBrZXkuICBUaGUgY29udmVyc2lvbiBvZiBhIHNsaWNlIGl0ZW0gdGhhdCBpcyBhblxuZXhwcmVzc2lvbiBpcyB0aGF0IGV4cHJlc3Npb24uICBUaGUgY29udmVyc2lvbiBvZiBhIHByb3BlciBzbGljZSBpcyBhXG5zbGljZSBvYmplY3QgKHNlZSBzZWN0aW9uICpUaGUgc3RhbmRhcmQgdHlwZSBoaWVyYXJjaHkqKSB3aG9zZVxuYGBzdGFydGBgLCBgYHN0b3BgYCBhbmQgYGBzdGVwYGAgYXR0cmlidXRlcyBhcmUgdGhlIHZhbHVlcyBvZiB0aGVcbmV4cHJlc3Npb25zIGdpdmVuIGFzIGxvd2VyIGJvdW5kLCB1cHBlciBib3VuZCBhbmQgc3RyaWRlLFxucmVzcGVjdGl2ZWx5LCBzdWJzdGl0dXRpbmcgYGBOb25lYGAgZm9yIG1pc3NpbmcgZXhwcmVzc2lvbnMuXG4nLAotICdzcGVjaWFsYXR0cnMnOiAnXG5TcGVjaWFsIEF0dHJpYnV0ZXNcbioqKioqKioqKioqKioqKioqKlxuXG5UaGUgaW1wbGVtZW50YXRpb24gYWRkcyBhIGZldyBzcGVjaWFsIHJlYWQtb25seSBhdHRyaWJ1dGVzIHRvIHNldmVyYWxcbm9iamVjdCB0eXBlcywgd2hlcmUgdGhleSBhcmUgcmVsZXZhbnQuICBTb21lIG9mIHRoZXNlIGFyZSBub3QgcmVwb3J0ZWRcbmJ5IHRoZSBgYGRpcigpYGAgYnVpbHQtaW4gZnVuY3Rpb24uXG5cbm9iamVjdC5fX2RpY3RfX1xuXG4gICBBIGRpY3Rpb25hcnkgb3Igb3RoZXIgbWFwcGluZyBvYmplY3QgdXNlZCB0byBzdG9yZSBhbiBvYmplY3RcJ3NcbiAgICh3cml0YWJsZSkgYXR0cmlidXRlcy5cblxuaW5zdGFuY2UuX19jbGFzc19fXG5cbiAgIFRoZSBjbGFzcyB0byB3aGljaCBhIGNsYXNzIGluc3RhbmNlIGJlbG9uZ3MuXG5cbmNsYXNzLl9fYmFzZXNfX1xuXG4gICBUaGUgdHVwbGUgb2YgYmFzZSBjbGFzc2VzIG9mIGEgY2xhc3Mgb2JqZWN0LlxuXG5jbGFzcy5fX25hbWVfX1xuXG4gICBUaGUgbmFtZSBvZiB0aGUgY2xhc3Mgb3IgdHlwZS5cblxuY2xhc3MuX19tcm9fX1xuXG4gICBUaGlzIGF0dHJpYnV0ZSBpcyBhIHR1cGxlIG9mIGNsYXNzZXMgdGhhdCBhcmUgY29uc2lkZXJlZCB3aGVuXG4gICBsb29raW5nIGZvciBiYXNlIGNsYXNzZXMgZHVyaW5nIG1ldGhvZCByZXNvbHV0aW9uLlxuXG5jbGFzcy5tcm8oKVxuXG4gICBUaGlzIG1ldGhvZCBjYW4gYmUgb3ZlcnJpZGRlbiBieSBhIG1ldGFjbGFzcyB0byBjdXN0b21pemUgdGhlXG4gICBtZXRob2QgcmVzb2x1dGlvbiBvcmRlciBmb3IgaXRzIGluc3RhbmNlcy4gIEl0IGlzIGNhbGxlZCBhdCBjbGFzc1xuICAgaW5zdGFudGlhdGlvbiwgYW5kIGl0cyByZXN1bHQgaXMgc3RvcmVkIGluIGBgX19tcm9fX2BgLlxuXG5jbGFzcy5fX3N1YmNsYXNzZXNfXygpXG5cbiAgIEVhY2ggY2xhc3Mga2VlcHMgYSBsaXN0IG9mIHdlYWsgcmVmZXJlbmNlcyB0byBpdHMgaW1tZWRpYXRlXG4gICBzdWJjbGFzc2VzLiAgVGhpcyBtZXRob2QgcmV0dXJucyBhIGxpc3Qgb2YgYWxsIHRob3NlIHJlZmVyZW5jZXNcbiAgIHN0aWxsIGFsaXZlLiBFeGFtcGxlOlxuXG4gICAgICA+Pj4gaW50Ll9fc3ViY2xhc3Nlc19fKClcbiAgICAgIFs8Y2xhc3MgXCdib29sXCc+XVxuXG4tWyBGb290bm90ZXMgXS1cblxuWzFdIEFkZGl0aW9uYWwgaW5mb3JtYXRpb24gb24gdGhlc2Ugc3BlY2lhbCBtZXRob2RzIG1heSBiZSBmb3VuZCBpblxuICAgIHRoZSBQeXRob24gUmVmZXJlbmNlIE1hbnVhbCAoKkJhc2ljIGN1c3RvbWl6YXRpb24qKS5cblxuWzJdIEFzIGEgY29uc2VxdWVuY2UsIHRoZSBsaXN0IGBgWzEsIDJdYGAgaXMgY29uc2lkZXJlZCBlcXVhbCB0b1xuICAgIGBgWzEuMCwgMi4wXWBgLCBhbmQgc2ltaWxhcmx5IGZvciB0dXBsZXMuXG5cblszXSBUaGV5IG11c3QgaGF2ZSBzaW5jZSB0aGUgcGFyc2VyIGNhblwndCB0ZWxsIHRoZSB0eXBlIG9mIHRoZVxuICAgIG9wZXJhbmRzLlxuXG5bNF0gQ2FzZWQgY2hhcmFjdGVycyBhcmUgdGhvc2Ugd2l0aCBnZW5lcmFsIGNhdGVnb3J5IHByb3BlcnR5IGJlaW5nXG4gICAgb25lIG9mICJMdSIgKExldHRlciwgdXBwZXJjYXNlKSwgIkxsIiAoTGV0dGVyLCBsb3dlcmNhc2UpLCBvciAiTHQiXG4gICAgKExldHRlciwgdGl0bGVjYXNlKS5cblxuWzVdIFRvIGZvcm1hdCBvbmx5IGEgdHVwbGUgeW91IHNob3VsZCB0aGVyZWZvcmUgcHJvdmlkZSBhIHNpbmdsZXRvblxuICAgIHR1cGxlIHdob3NlIG9ubHkgZWxlbWVudCBpcyB0aGUgdHVwbGUgdG8gYmUgZm9ybWF0dGVkLlxuJywKLSAnc3BlY2lhbG5hbWVzJzogJ1xuU3BlY2lhbCBtZXRob2QgbmFtZXNcbioqKioqKioqKioqKioqKioqKioqXG5cbkEgY2xhc3MgY2FuIGltcGxlbWVudCBjZXJ0YWluIG9wZXJhdGlvbnMgdGhhdCBhcmUgaW52b2tlZCBieSBzcGVjaWFsXG5zeW50YXggKHN1Y2ggYXMgYXJpdGhtZXRpYyBvcGVyYXRpb25zIG9yIHN1YnNjcmlwdGluZyBhbmQgc2xpY2luZykgYnlcbmRlZmluaW5nIG1ldGhvZHMgd2l0aCBzcGVjaWFsIG5hbWVzLiBUaGlzIGlzIFB5dGhvblwncyBhcHByb2FjaCB0b1xuKm9wZXJhdG9yIG92ZXJsb2FkaW5nKiwgYWxsb3dpbmcgY2xhc3NlcyB0byBkZWZpbmUgdGhlaXIgb3duIGJlaGF2aW9yXG53aXRoIHJlc3BlY3QgdG8gbGFuZ3VhZ2Ugb3BlcmF0b3JzLiAgRm9yIGluc3RhbmNlLCBpZiBhIGNsYXNzIGRlZmluZXNcbmEgbWV0aG9kIG5hbWVkIGBgX19nZXRpdGVtX18oKWBgLCBhbmQgYGB4YGAgaXMgYW4gaW5zdGFuY2Ugb2YgdGhpc1xuY2xhc3MsIHRoZW4gYGB4W2ldYGAgaXMgcm91Z2hseSBlcXVpdmFsZW50IHRvIGBgdHlwZSh4KS5fX2dldGl0ZW1fXyh4LFxuaSlgYC4gIEV4Y2VwdCB3aGVyZSBtZW50aW9uZWQsIGF0dGVtcHRzIHRvIGV4ZWN1dGUgYW4gb3BlcmF0aW9uIHJhaXNlXG5hbiBleGNlcHRpb24gd2hlbiBubyBhcHByb3ByaWF0ZSBtZXRob2QgaXMgZGVmaW5lZCAodHlwaWNhbGx5XG5gYEF0dHJpYnV0ZUVycm9yYGAgb3IgYGBUeXBlRXJyb3JgYCkuXG5cbldoZW4gaW1wbGVtZW50aW5nIGEgY2xhc3MgdGhhdCBlbXVsYXRlcyBhbnkgYnVpbHQtaW4gdHlwZSwgaXQgaXNcbmltcG9ydGFudCB0aGF0IHRoZSBlbXVsYXRpb24gb25seSBiZSBpbXBsZW1lbnRlZCB0byB0aGUgZGVncmVlIHRoYXQgaXRcbm1ha2VzIHNlbnNlIGZvciB0aGUgb2JqZWN0IGJlaW5nIG1vZGVsbGVkLiAgRm9yIGV4YW1wbGUsIHNvbWVcbnNlcXVlbmNlcyBtYXkgd29yayB3ZWxsIHdpdGggcmV0cmlldmFsIG9mIGluZGl2aWR1YWwgZWxlbWVudHMsIGJ1dFxuZXh0cmFjdGluZyBhIHNsaWNlIG1heSBub3QgbWFrZSBzZW5zZS4gIChPbmUgZXhhbXBsZSBvZiB0aGlzIGlzIHRoZVxuYGBOb2RlTGlzdGBgIGludGVyZmFjZSBpbiB0aGUgVzNDXCdzIERvY3VtZW50IE9iamVjdCBNb2RlbC4pXG5cblxuQmFzaWMgY3VzdG9taXphdGlvblxuPT09PT09PT09PT09PT09PT09PVxuXG5vYmplY3QuX19uZXdfXyhjbHNbLCAuLi5dKVxuXG4gICBDYWxsZWQgdG8gY3JlYXRlIGEgbmV3IGluc3RhbmNlIG9mIGNsYXNzICpjbHMqLiAgYGBfX25ld19fKClgYCBpcyBhXG4gICBzdGF0aWMgbWV0aG9kIChzcGVjaWFsLWNhc2VkIHNvIHlvdSBuZWVkIG5vdCBkZWNsYXJlIGl0IGFzIHN1Y2gpXG4gICB0aGF0IHRha2VzIHRoZSBjbGFzcyBvZiB3aGljaCBhbiBpbnN0YW5jZSB3YXMgcmVxdWVzdGVkIGFzIGl0c1xuICAgZmlyc3QgYXJndW1lbnQuICBUaGUgcmVtYWluaW5nIGFyZ3VtZW50cyBhcmUgdGhvc2UgcGFzc2VkIHRvIHRoZVxuICAgb2JqZWN0IGNvbnN0cnVjdG9yIGV4cHJlc3Npb24gKHRoZSBjYWxsIHRvIHRoZSBjbGFzcykuICBUaGUgcmV0dXJuXG4gICB2YWx1ZSBvZiBgYF9fbmV3X18oKWBgIHNob3VsZCBiZSB0aGUgbmV3IG9iamVjdCBpbnN0YW5jZSAodXN1YWxseVxuICAgYW4gaW5zdGFuY2Ugb2YgKmNscyopLlxuXG4gICBUeXBpY2FsIGltcGxlbWVudGF0aW9ucyBjcmVhdGUgYSBuZXcgaW5zdGFuY2Ugb2YgdGhlIGNsYXNzIGJ5XG4gICBpbnZva2luZyB0aGUgc3VwZXJjbGFzc1wncyBgYF9fbmV3X18oKWBgIG1ldGhvZCB1c2luZ1xuICAgYGBzdXBlcihjdXJyZW50Y2xhc3MsIGNscykuX19uZXdfXyhjbHNbLCAuLi5dKWBgIHdpdGggYXBwcm9wcmlhdGVcbiAgIGFyZ3VtZW50cyBhbmQgdGhlbiBtb2RpZnlpbmcgdGhlIG5ld2x5LWNyZWF0ZWQgaW5zdGFuY2UgYXNcbiAgIG5lY2Vzc2FyeSBiZWZvcmUgcmV0dXJuaW5nIGl0LlxuXG4gICBJZiBgYF9fbmV3X18oKWBgIHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgKmNscyosIHRoZW4gdGhlIG5ld1xuICAgaW5zdGFuY2VcJ3MgYGBfX2luaXRfXygpYGAgbWV0aG9kIHdpbGwgYmUgaW52b2tlZCBsaWtlXG4gICBgYF9faW5pdF9fKHNlbGZbLCAuLi5dKWBgLCB3aGVyZSAqc2VsZiogaXMgdGhlIG5ldyBpbnN0YW5jZSBhbmQgdGhlXG4gICByZW1haW5pbmcgYXJndW1lbnRzIGFyZSB0aGUgc2FtZSBhcyB3ZXJlIHBhc3NlZCB0byBgYF9fbmV3X18oKWBgLlxuXG4gICBJZiBgYF9fbmV3X18oKWBgIGRvZXMgbm90IHJldHVybiBhbiBpbnN0YW5jZSBvZiAqY2xzKiwgdGhlbiB0aGUgbmV3XG4gICBpbnN0YW5jZVwncyBgYF9faW5pdF9fKClgYCBtZXRob2Qgd2lsbCBub3QgYmUgaW52b2tlZC5cblxuICAgYGBfX25ld19fKClgYCBpcyBpbnRlbmRlZCBtYWlubHkgdG8gYWxsb3cgc3ViY2xhc3NlcyBvZiBpbW11dGFibGVcbiAgIHR5cGVzIChsaWtlIGludCwgc3RyLCBvciB0dXBsZSkgdG8gY3VzdG9taXplIGluc3RhbmNlIGNyZWF0aW9uLiAgSXRcbiAgIGlzIGFsc28gY29tbW9ubHkgb3ZlcnJpZGRlbiBpbiBjdXN0b20gbWV0YWNsYXNzZXMgaW4gb3JkZXIgdG9cbiAgIGN1c3RvbWl6ZSBjbGFzcyBjcmVhdGlvbi5cblxub2JqZWN0Ll9faW5pdF9fKHNlbGZbLCAuLi5dKVxuXG4gICBDYWxsZWQgd2hlbiB0aGUgaW5zdGFuY2UgaXMgY3JlYXRlZC4gIFRoZSBhcmd1bWVudHMgYXJlIHRob3NlXG4gICBwYXNzZWQgdG8gdGhlIGNsYXNzIGNvbnN0cnVjdG9yIGV4cHJlc3Npb24uICBJZiBhIGJhc2UgY2xhc3MgaGFzIGFuXG4gICBgYF9faW5pdF9fKClgYCBtZXRob2QsIHRoZSBkZXJpdmVkIGNsYXNzXCdzIGBgX19pbml0X18oKWBgIG1ldGhvZCxcbiAgIGlmIGFueSwgbXVzdCBleHBsaWNpdGx5IGNhbGwgaXQgdG8gZW5zdXJlIHByb3BlciBpbml0aWFsaXphdGlvbiBvZlxuICAgdGhlIGJhc2UgY2xhc3MgcGFydCBvZiB0aGUgaW5zdGFuY2U7IGZvciBleGFtcGxlOlxuICAgYGBCYXNlQ2xhc3MuX19pbml0X18oc2VsZiwgW2FyZ3MuLi5dKWBgLiAgQXMgYSBzcGVjaWFsIGNvbnN0cmFpbnRcbiAgIG9uIGNvbnN0cnVjdG9ycywgbm8gdmFsdWUgbWF5IGJlIHJldHVybmVkOyBkb2luZyBzbyB3aWxsIGNhdXNlIGFcbiAgIGBgVHlwZUVycm9yYGAgdG8gYmUgcmFpc2VkIGF0IHJ1bnRpbWUuXG5cbm9iamVjdC5fX2RlbF9fKHNlbGYpXG5cbiAgIENhbGxlZCB3aGVuIHRoZSBpbnN0YW5jZSBpcyBhYm91dCB0byBiZSBkZXN0cm95ZWQuICBUaGlzIGlzIGFsc29cbiAgIGNhbGxlZCBhIGRlc3RydWN0b3IuICBJZiBhIGJhc2UgY2xhc3MgaGFzIGEgYGBfX2RlbF9fKClgYCBtZXRob2QsXG4gICB0aGUgZGVyaXZlZCBjbGFzc1wncyBgYF9fZGVsX18oKWBgIG1ldGhvZCwgaWYgYW55LCBtdXN0IGV4cGxpY2l0bHlcbiAgIGNhbGwgaXQgdG8gZW5zdXJlIHByb3BlciBkZWxldGlvbiBvZiB0aGUgYmFzZSBjbGFzcyBwYXJ0IG9mIHRoZVxuICAgaW5zdGFuY2UuICBOb3RlIHRoYXQgaXQgaXMgcG9zc2libGUgKHRob3VnaCBub3QgcmVjb21tZW5kZWQhKSBmb3JcbiAgIHRoZSBgYF9fZGVsX18oKWBgIG1ldGhvZCB0byBwb3N0cG9uZSBkZXN0cnVjdGlvbiBvZiB0aGUgaW5zdGFuY2UgYnlcbiAgIGNyZWF0aW5nIGEgbmV3IHJlZmVyZW5jZSB0byBpdC4gIEl0IG1heSB0aGVuIGJlIGNhbGxlZCBhdCBhIGxhdGVyXG4gICB0aW1lIHdoZW4gdGhpcyBuZXcgcmVmZXJlbmNlIGlzIGRlbGV0ZWQuICBJdCBpcyBub3QgZ3VhcmFudGVlZCB0aGF0XG4gICBgYF9fZGVsX18oKWBgIG1ldGhvZHMgYXJlIGNhbGxlZCBmb3Igb2JqZWN0cyB0aGF0IHN0aWxsIGV4aXN0IHdoZW5cbiAgIHRoZSBpbnRlcnByZXRlciBleGl0cy5cblxuICAgTm90ZTogYGBkZWwgeGBgIGRvZXNuXCd0IGRpcmVjdGx5IGNhbGwgYGB4Ll9fZGVsX18oKWBgIC0tLSB0aGUgZm9ybWVyXG4gICAgIGRlY3JlbWVudHMgdGhlIHJlZmVyZW5jZSBjb3VudCBmb3IgYGB4YGAgYnkgb25lLCBhbmQgdGhlIGxhdHRlclxuICAgICBpcyBvbmx5IGNhbGxlZCB3aGVuIGBgeGBgXCdzIHJlZmVyZW5jZSBjb3VudCByZWFjaGVzIHplcm8uICBTb21lXG4gICAgIGNvbW1vbiBzaXR1YXRpb25zIHRoYXQgbWF5IHByZXZlbnQgdGhlIHJlZmVyZW5jZSBjb3VudCBvZiBhblxuICAgICBvYmplY3QgZnJvbSBnb2luZyB0byB6ZXJvIGluY2x1ZGU6IGNpcmN1bGFyIHJlZmVyZW5jZXMgYmV0d2VlblxuICAgICBvYmplY3RzIChlLmcuLCBhIGRvdWJseS1saW5rZWQgbGlzdCBvciBhIHRyZWUgZGF0YSBzdHJ1Y3R1cmUgd2l0aFxuICAgICBwYXJlbnQgYW5kIGNoaWxkIHBvaW50ZXJzKTsgYSByZWZlcmVuY2UgdG8gdGhlIG9iamVjdCBvbiB0aGVcbiAgICAgc3RhY2sgZnJhbWUgb2YgYSBmdW5jdGlvbiB0aGF0IGNhdWdodCBhbiBleGNlcHRpb24gKHRoZSB0cmFjZWJhY2tcbiAgICAgc3RvcmVkIGluIGBgc3lzLmV4Y19pbmZvKClbMl1gYCBrZWVwcyB0aGUgc3RhY2sgZnJhbWUgYWxpdmUpOyBvclxuICAgICBhIHJlZmVyZW5jZSB0byB0aGUgb2JqZWN0IG9uIHRoZSBzdGFjayBmcmFtZSB0aGF0IHJhaXNlZCBhblxuICAgICB1bmhhbmRsZWQgZXhjZXB0aW9uIGluIGludGVyYWN0aXZlIG1vZGUgKHRoZSB0cmFjZWJhY2sgc3RvcmVkIGluXG4gICAgIGBgc3lzLmxhc3RfdHJhY2ViYWNrYGAga2VlcHMgdGhlIHN0YWNrIGZyYW1lIGFsaXZlKS4gIFRoZSBmaXJzdFxuICAgICBzaXR1YXRpb24gY2FuIG9ubHkgYmUgcmVtZWRpZWQgYnkgZXhwbGljaXRseSBicmVha2luZyB0aGUgY3ljbGVzO1xuICAgICB0aGUgbGF0dGVyIHR3byBzaXR1YXRpb25zIGNhbiBiZSByZXNvbHZlZCBieSBzdG9yaW5nIGBgTm9uZWBgIGluXG4gICAgIGBgc3lzLmxhc3RfdHJhY2ViYWNrYGAuIENpcmN1bGFyIHJlZmVyZW5jZXMgd2hpY2ggYXJlIGdhcmJhZ2UgYXJlXG4gICAgIGRldGVjdGVkIHdoZW4gdGhlIG9wdGlvbiBjeWNsZSBkZXRlY3RvciBpcyBlbmFibGVkIChpdFwncyBvbiBieVxuICAgICBkZWZhdWx0KSwgYnV0IGNhbiBvbmx5IGJlIGNsZWFuZWQgdXAgaWYgdGhlcmUgYXJlIG5vIFB5dGhvbi1cbiAgICAgbGV2ZWwgYGBfX2RlbF9fKClgYCBtZXRob2RzIGludm9sdmVkLiBSZWZlciB0byB0aGUgZG9jdW1lbnRhdGlvblxuICAgICBmb3IgdGhlIGBgZ2NgYCBtb2R1bGUgZm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgaG93XG4gICAgIGBgX19kZWxfXygpYGAgbWV0aG9kcyBhcmUgaGFuZGxlZCBieSB0aGUgY3ljbGUgZGV0ZWN0b3IsXG4gICAgIHBhcnRpY3VsYXJseSB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIGBgZ2FyYmFnZWBgIHZhbHVlLlxuXG4gICBXYXJuaW5nOiBEdWUgdG8gdGhlIHByZWNhcmlvdXMgY2lyY3Vtc3RhbmNlcyB1bmRlciB3aGljaCBgYF9fZGVsX18oKWBgXG4gICAgIG1ldGhvZHMgYXJlIGludm9rZWQsIGV4Y2VwdGlvbnMgdGhhdCBvY2N1ciBkdXJpbmcgdGhlaXIgZXhlY3V0aW9uXG4gICAgIGFyZSBpZ25vcmVkLCBhbmQgYSB3YXJuaW5nIGlzIHByaW50ZWQgdG8gYGBzeXMuc3RkZXJyYGAgaW5zdGVhZC5cbiAgICAgQWxzbywgd2hlbiBgYF9fZGVsX18oKWBgIGlzIGludm9rZWQgaW4gcmVzcG9uc2UgdG8gYSBtb2R1bGUgYmVpbmdcbiAgICAgZGVsZXRlZCAoZS5nLiwgd2hlbiBleGVjdXRpb24gb2YgdGhlIHByb2dyYW0gaXMgZG9uZSksIG90aGVyXG4gICAgIGdsb2JhbHMgcmVmZXJlbmNlZCBieSB0aGUgYGBfX2RlbF9fKClgYCBtZXRob2QgbWF5IGFscmVhZHkgaGF2ZVxuICAgICBiZWVuIGRlbGV0ZWQgb3IgaW4gdGhlIHByb2Nlc3Mgb2YgYmVpbmcgdG9ybiBkb3duIChlLmcuIHRoZVxuICAgICBpbXBvcnQgbWFjaGluZXJ5IHNodXR0aW5nIGRvd24pLiAgRm9yIHRoaXMgcmVhc29uLCBgYF9fZGVsX18oKWBgXG4gICAgIG1ldGhvZHMgc2hvdWxkIGRvIHRoZSBhYnNvbHV0ZSBtaW5pbXVtIG5lZWRlZCB0byBtYWludGFpblxuICAgICBleHRlcm5hbCBpbnZhcmlhbnRzLiAgU3RhcnRpbmcgd2l0aCB2ZXJzaW9uIDEuNSwgUHl0aG9uXG4gICAgIGd1YXJhbnRlZXMgdGhhdCBnbG9iYWxzIHdob3NlIG5hbWUgYmVnaW5zIHdpdGggYSBzaW5nbGVcbiAgICAgdW5kZXJzY29yZSBhcmUgZGVsZXRlZCBmcm9tIHRoZWlyIG1vZHVsZSBiZWZvcmUgb3RoZXIgZ2xvYmFscyBhcmVcbiAgICAgZGVsZXRlZDsgaWYgbm8gb3RoZXIgcmVmZXJlbmNlcyB0byBzdWNoIGdsb2JhbHMgZXhpc3QsIHRoaXMgbWF5XG4gICAgIGhlbHAgaW4gYXNzdXJpbmcgdGhhdCBpbXBvcnRlZCBtb2R1bGVzIGFyZSBzdGlsbCBhdmFpbGFibGUgYXQgdGhlXG4gICAgIHRpbWUgd2hlbiB0aGUgYGBfX2RlbF9fKClgYCBtZXRob2QgaXMgY2FsbGVkLlxuXG5vYmplY3QuX19yZXByX18oc2VsZilcblxuICAgQ2FsbGVkIGJ5IHRoZSBgYHJlcHIoKWBgIGJ1aWx0LWluIGZ1bmN0aW9uIHRvIGNvbXB1dGUgdGhlXG4gICAib2ZmaWNpYWwiIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBhbiBvYmplY3QuICBJZiBhdCBhbGwgcG9zc2libGUsXG4gICB0aGlzIHNob3VsZCBsb29rIGxpa2UgYSB2YWxpZCBQeXRob24gZXhwcmVzc2lvbiB0aGF0IGNvdWxkIGJlIHVzZWRcbiAgIHRvIHJlY3JlYXRlIGFuIG9iamVjdCB3aXRoIHRoZSBzYW1lIHZhbHVlIChnaXZlbiBhbiBhcHByb3ByaWF0ZVxuICAgZW52aXJvbm1lbnQpLiAgSWYgdGhpcyBpcyBub3QgcG9zc2libGUsIGEgc3RyaW5nIG9mIHRoZSBmb3JtXG4gICBgYDwuLi5zb21lIHVzZWZ1bCBkZXNjcmlwdGlvbi4uLj5gYCBzaG91bGQgYmUgcmV0dXJuZWQuIFRoZSByZXR1cm5cbiAgIHZhbHVlIG11c3QgYmUgYSBzdHJpbmcgb2JqZWN0LiBJZiBhIGNsYXNzIGRlZmluZXMgYGBfX3JlcHJfXygpYGBcbiAgIGJ1dCBub3QgYGBfX3N0cl9fKClgYCwgdGhlbiBgYF9fcmVwcl9fKClgYCBpcyBhbHNvIHVzZWQgd2hlbiBhblxuICAgImluZm9ybWFsIiBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgaW5zdGFuY2VzIG9mIHRoYXQgY2xhc3MgaXNcbiAgIHJlcXVpcmVkLlxuXG4gICBUaGlzIGlzIHR5cGljYWxseSB1c2VkIGZvciBkZWJ1Z2dpbmcsIHNvIGl0IGlzIGltcG9ydGFudCB0aGF0IHRoZVxuICAgcmVwcmVzZW50YXRpb24gaXMgaW5mb3JtYXRpb24tcmljaCBhbmQgdW5hbWJpZ3VvdXMuXG5cbm9iamVjdC5fX3N0cl9fKHNlbGYpXG5cbiAgIENhbGxlZCBieSB0aGUgYGBzdHIoKWBgIGJ1aWx0LWluIGZ1bmN0aW9uIGFuZCBieSB0aGUgYGBwcmludCgpYGBcbiAgIGZ1bmN0aW9uIHRvIGNvbXB1dGUgdGhlICJpbmZvcm1hbCIgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIGFuXG4gICBvYmplY3QuICBUaGlzIGRpZmZlcnMgZnJvbSBgYF9fcmVwcl9fKClgYCBpbiB0aGF0IGl0IGRvZXMgbm90IGhhdmVcbiAgIHRvIGJlIGEgdmFsaWQgUHl0aG9uIGV4cHJlc3Npb246IGEgbW9yZSBjb252ZW5pZW50IG9yIGNvbmNpc2VcbiAgIHJlcHJlc2VudGF0aW9uIG1heSBiZSB1c2VkIGluc3RlYWQuIFRoZSByZXR1cm4gdmFsdWUgbXVzdCBiZSBhXG4gICBzdHJpbmcgb2JqZWN0LlxuXG5vYmplY3QuX19ieXRlc19fKHNlbGYpXG5cbiAgIENhbGxlZCBieSBgYGJ5dGVzKClgYCB0byBjb21wdXRlIGEgYnl0ZS1zdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgYW5cbiAgIG9iamVjdC4gVGhpcyBzaG91bGQgcmV0dXJuIGEgYGBieXRlc2BgIG9iamVjdC5cblxub2JqZWN0Ll9fZm9ybWF0X18oc2VsZiwgZm9ybWF0X3NwZWMpXG5cbiAgIENhbGxlZCBieSB0aGUgYGBmb3JtYXQoKWBgIGJ1aWx0LWluIGZ1bmN0aW9uIChhbmQgYnkgZXh0ZW5zaW9uLCB0aGVcbiAgIGBgZm9ybWF0KClgYCBtZXRob2Qgb2YgY2xhc3MgYGBzdHJgYCkgdG8gcHJvZHVjZSBhICJmb3JtYXR0ZWQiXG4gICBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgYW4gb2JqZWN0LiBUaGUgYGBmb3JtYXRfc3BlY2BgIGFyZ3VtZW50IGlzXG4gICBhIHN0cmluZyB0aGF0IGNvbnRhaW5zIGEgZGVzY3JpcHRpb24gb2YgdGhlIGZvcm1hdHRpbmcgb3B0aW9uc1xuICAgZGVzaXJlZC4gVGhlIGludGVycHJldGF0aW9uIG9mIHRoZSBgYGZvcm1hdF9zcGVjYGAgYXJndW1lbnQgaXMgdXBcbiAgIHRvIHRoZSB0eXBlIGltcGxlbWVudGluZyBgYF9fZm9ybWF0X18oKWBgLCBob3dldmVyIG1vc3QgY2xhc3Nlc1xuICAgd2lsbCBlaXRoZXIgZGVsZWdhdGUgZm9ybWF0dGluZyB0byBvbmUgb2YgdGhlIGJ1aWx0LWluIHR5cGVzLCBvclxuICAgdXNlIGEgc2ltaWxhciBmb3JtYXR0aW5nIG9wdGlvbiBzeW50YXguXG5cbiAgIFNlZSAqRm9ybWF0IFNwZWNpZmljYXRpb24gTWluaS1MYW5ndWFnZSogZm9yIGEgZGVzY3JpcHRpb24gb2YgdGhlXG4gICBzdGFuZGFyZCBmb3JtYXR0aW5nIHN5bnRheC5cblxuICAgVGhlIHJldHVybiB2YWx1ZSBtdXN0IGJlIGEgc3RyaW5nIG9iamVjdC5cblxub2JqZWN0Ll9fbHRfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX2xlX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19lcV9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9fbmVfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX2d0X18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19nZV9fKHNlbGYsIG90aGVyKVxuXG4gICBUaGVzZSBhcmUgdGhlIHNvLWNhbGxlZCAicmljaCBjb21wYXJpc29uIiBtZXRob2RzLiBUaGVcbiAgIGNvcnJlc3BvbmRlbmNlIGJldHdlZW4gb3BlcmF0b3Igc3ltYm9scyBhbmQgbWV0aG9kIG5hbWVzIGlzIGFzXG4gICBmb2xsb3dzOiBgYHg8eWBgIGNhbGxzIGBgeC5fX2x0X18oeSlgYCwgYGB4PD15YGAgY2FsbHNcbiAgIGBgeC5fX2xlX18oeSlgYCwgYGB4PT15YGAgY2FsbHMgYGB4Ll9fZXFfXyh5KWBgLCBgYHghPXlgYCBjYWxsc1xuICAgYGB4Ll9fbmVfXyh5KWBgLCBgYHg+eWBgIGNhbGxzIGBgeC5fX2d0X18oeSlgYCwgYW5kIGBgeD49eWBgIGNhbGxzXG4gICBgYHguX19nZV9fKHkpYGAuXG5cbiAgIEEgcmljaCBjb21wYXJpc29uIG1ldGhvZCBtYXkgcmV0dXJuIHRoZSBzaW5nbGV0b25cbiAgIGBgTm90SW1wbGVtZW50ZWRgYCBpZiBpdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIG9wZXJhdGlvbiBmb3IgYVxuICAgZ2l2ZW4gcGFpciBvZiBhcmd1bWVudHMuIEJ5IGNvbnZlbnRpb24sIGBgRmFsc2VgYCBhbmQgYGBUcnVlYGAgYXJlXG4gICByZXR1cm5lZCBmb3IgYSBzdWNjZXNzZnVsIGNvbXBhcmlzb24uIEhvd2V2ZXIsIHRoZXNlIG1ldGhvZHMgY2FuXG4gICByZXR1cm4gYW55IHZhbHVlLCBzbyBpZiB0aGUgY29tcGFyaXNvbiBvcGVyYXRvciBpcyB1c2VkIGluIGFcbiAgIEJvb2xlYW4gY29udGV4dCAoZS5nLiwgaW4gdGhlIGNvbmRpdGlvbiBvZiBhbiBgYGlmYGAgc3RhdGVtZW50KSxcbiAgIFB5dGhvbiB3aWxsIGNhbGwgYGBib29sKClgYCBvbiB0aGUgdmFsdWUgdG8gZGV0ZXJtaW5lIGlmIHRoZSByZXN1bHRcbiAgIGlzIHRydWUgb3IgZmFsc2UuXG5cbiAgIFRoZXJlIGFyZSBubyBpbXBsaWVkIHJlbGF0aW9uc2hpcHMgYW1vbmcgdGhlIGNvbXBhcmlzb24gb3BlcmF0b3JzLlxuICAgVGhlIHRydXRoIG9mIGBgeD09eWBgIGRvZXMgbm90IGltcGx5IHRoYXQgYGB4IT15YGAgaXMgZmFsc2UuXG4gICBBY2NvcmRpbmdseSwgd2hlbiBkZWZpbmluZyBgYF9fZXFfXygpYGAsIG9uZSBzaG91bGQgYWxzbyBkZWZpbmVcbiAgIGBgX19uZV9fKClgYCBzbyB0aGF0IHRoZSBvcGVyYXRvcnMgd2lsbCBiZWhhdmUgYXMgZXhwZWN0ZWQuICBTZWVcbiAgIHRoZSBwYXJhZ3JhcGggb24gYGBfX2hhc2hfXygpYGAgZm9yIHNvbWUgaW1wb3J0YW50IG5vdGVzIG9uXG4gICBjcmVhdGluZyAqaGFzaGFibGUqIG9iamVjdHMgd2hpY2ggc3VwcG9ydCBjdXN0b20gY29tcGFyaXNvblxuICAgb3BlcmF0aW9ucyBhbmQgYXJlIHVzYWJsZSBhcyBkaWN0aW9uYXJ5IGtleXMuXG5cbiAgIFRoZXJlIGFyZSBubyBzd2FwcGVkLWFyZ3VtZW50IHZlcnNpb25zIG9mIHRoZXNlIG1ldGhvZHMgKHRvIGJlIHVzZWRcbiAgIHdoZW4gdGhlIGxlZnQgYXJndW1lbnQgZG9lcyBub3Qgc3VwcG9ydCB0aGUgb3BlcmF0aW9uIGJ1dCB0aGUgcmlnaHRcbiAgIGFyZ3VtZW50IGRvZXMpOyByYXRoZXIsIGBgX19sdF9fKClgYCBhbmQgYGBfX2d0X18oKWBgIGFyZSBlYWNoXG4gICBvdGhlclwncyByZWZsZWN0aW9uLCBgYF9fbGVfXygpYGAgYW5kIGBgX19nZV9fKClgYCBhcmUgZWFjaCBvdGhlclwnc1xuICAgcmVmbGVjdGlvbiwgYW5kIGBgX19lcV9fKClgYCBhbmQgYGBfX25lX18oKWBgIGFyZSB0aGVpciBvd25cbiAgIHJlZmxlY3Rpb24uXG5cbiAgIEFyZ3VtZW50cyB0byByaWNoIGNvbXBhcmlzb24gbWV0aG9kcyBhcmUgbmV2ZXIgY29lcmNlZC5cblxuICAgVG8gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBvcmRlcmluZyBvcGVyYXRpb25zIGZyb20gYSBzaW5nbGUgcm9vdFxuICAgb3BlcmF0aW9uLCBzZWUgYGBmdW5jdG9vbHMudG90YWxfb3JkZXJpbmcoKWBgLlxuXG5vYmplY3QuX19oYXNoX18oc2VsZilcblxuICAgQ2FsbGVkIGJ5IGJ1aWx0LWluIGZ1bmN0aW9uIGBgaGFzaCgpYGAgYW5kIGZvciBvcGVyYXRpb25zIG9uXG4gICBtZW1iZXJzIG9mIGhhc2hlZCBjb2xsZWN0aW9ucyBpbmNsdWRpbmcgYGBzZXRgYCwgYGBmcm96ZW5zZXRgYCwgYW5kXG4gICBgYGRpY3RgYC4gIGBgX19oYXNoX18oKWBgIHNob3VsZCByZXR1cm4gYW4gaW50ZWdlci4gIFRoZSBvbmx5XG4gICByZXF1aXJlZCBwcm9wZXJ0eSBpcyB0aGF0IG9iamVjdHMgd2hpY2ggY29tcGFyZSBlcXVhbCBoYXZlIHRoZSBzYW1lXG4gICBoYXNoIHZhbHVlOyBpdCBpcyBhZHZpc2VkIHRvIHNvbWVob3cgbWl4IHRvZ2V0aGVyIChlLmcuIHVzaW5nXG4gICBleGNsdXNpdmUgb3IpIHRoZSBoYXNoIHZhbHVlcyBmb3IgdGhlIGNvbXBvbmVudHMgb2YgdGhlIG9iamVjdCB0aGF0XG4gICBhbHNvIHBsYXkgYSBwYXJ0IGluIGNvbXBhcmlzb24gb2Ygb2JqZWN0cy5cblxuICAgSWYgYSBjbGFzcyBkb2VzIG5vdCBkZWZpbmUgYW4gYGBfX2VxX18oKWBgIG1ldGhvZCBpdCBzaG91bGQgbm90XG4gICBkZWZpbmUgYSBgYF9faGFzaF9fKClgYCBvcGVyYXRpb24gZWl0aGVyOyBpZiBpdCBkZWZpbmVzXG4gICBgYF9fZXFfXygpYGAgYnV0IG5vdCBgYF9faGFzaF9fKClgYCwgaXRzIGluc3RhbmNlcyB3aWxsIG5vdCBiZVxuICAgdXNhYmxlIGFzIGl0ZW1zIGluIGhhc2hhYmxlIGNvbGxlY3Rpb25zLiAgSWYgYSBjbGFzcyBkZWZpbmVzXG4gICBtdXRhYmxlIG9iamVjdHMgYW5kIGltcGxlbWVudHMgYW4gYGBfX2VxX18oKWBgIG1ldGhvZCwgaXQgc2hvdWxkXG4gICBub3QgaW1wbGVtZW50IGBgX19oYXNoX18oKWBgLCBzaW5jZSB0aGUgaW1wbGVtZW50YXRpb24gb2YgaGFzaGFibGVcbiAgIGNvbGxlY3Rpb25zIHJlcXVpcmVzIHRoYXQgYSBrZXlcJ3MgaGFzaCB2YWx1ZSBpcyBpbW11dGFibGUgKGlmIHRoZVxuICAgb2JqZWN0XCdzIGhhc2ggdmFsdWUgY2hhbmdlcywgaXQgd2lsbCBiZSBpbiB0aGUgd3JvbmcgaGFzaCBidWNrZXQpLlxuXG4gICBVc2VyLWRlZmluZWQgY2xhc3NlcyBoYXZlIGBgX19lcV9fKClgYCBhbmQgYGBfX2hhc2hfXygpYGAgbWV0aG9kc1xuICAgYnkgZGVmYXVsdDsgd2l0aCB0aGVtLCBhbGwgb2JqZWN0cyBjb21wYXJlIHVuZXF1YWwgKGV4Y2VwdCB3aXRoXG4gICB0aGVtc2VsdmVzKSBhbmQgYGB4Ll9faGFzaF9fKClgYCByZXR1cm5zIGBgaWQoeClgYC5cblxuICAgQ2xhc3NlcyB3aGljaCBpbmhlcml0IGEgYGBfX2hhc2hfXygpYGAgbWV0aG9kIGZyb20gYSBwYXJlbnQgY2xhc3NcbiAgIGJ1dCBjaGFuZ2UgdGhlIG1lYW5pbmcgb2YgYGBfX2VxX18oKWBgIHN1Y2ggdGhhdCB0aGUgaGFzaCB2YWx1ZVxuICAgcmV0dXJuZWQgaXMgbm8gbG9uZ2VyIGFwcHJvcHJpYXRlIChlLmcuIGJ5IHN3aXRjaGluZyB0byBhIHZhbHVlLVxuICAgYmFzZWQgY29uY2VwdCBvZiBlcXVhbGl0eSBpbnN0ZWFkIG9mIHRoZSBkZWZhdWx0IGlkZW50aXR5IGJhc2VkXG4gICBlcXVhbGl0eSkgY2FuIGV4cGxpY2l0bHkgZmxhZyB0aGVtc2VsdmVzIGFzIGJlaW5nIHVuaGFzaGFibGUgYnlcbiAgIHNldHRpbmcgYGBfX2hhc2hfXyA9IE5vbmVgYCBpbiB0aGUgY2xhc3MgZGVmaW5pdGlvbi4gRG9pbmcgc28gbWVhbnNcbiAgIHRoYXQgbm90IG9ubHkgd2lsbCBpbnN0YW5jZXMgb2YgdGhlIGNsYXNzIHJhaXNlIGFuIGFwcHJvcHJpYXRlXG4gICBgYFR5cGVFcnJvcmBgIHdoZW4gYSBwcm9ncmFtIGF0dGVtcHRzIHRvIHJldHJpZXZlIHRoZWlyIGhhc2ggdmFsdWUsXG4gICBidXQgdGhleSB3aWxsIGFsc28gYmUgY29ycmVjdGx5IGlkZW50aWZpZWQgYXMgdW5oYXNoYWJsZSB3aGVuXG4gICBjaGVja2luZyBgYGlzaW5zdGFuY2Uob2JqLCBjb2xsZWN0aW9ucy5IYXNoYWJsZSlgYCAodW5saWtlIGNsYXNzZXNcbiAgIHdoaWNoIGRlZmluZSB0aGVpciBvd24gYGBfX2hhc2hfXygpYGAgdG8gZXhwbGljaXRseSByYWlzZVxuICAgYGBUeXBlRXJyb3JgYCkuXG5cbiAgIElmIGEgY2xhc3MgdGhhdCBvdmVycmlkZXMgYGBfX2VxX18oKWBgIG5lZWRzIHRvIHJldGFpbiB0aGVcbiAgIGltcGxlbWVudGF0aW9uIG9mIGBgX19oYXNoX18oKWBgIGZyb20gYSBwYXJlbnQgY2xhc3MsIHRoZVxuICAgaW50ZXJwcmV0ZXIgbXVzdCBiZSB0b2xkIHRoaXMgZXhwbGljaXRseSBieSBzZXR0aW5nIGBgX19oYXNoX18gPVxuICAgPFBhcmVudENsYXNzPi5fX2hhc2hfX2BgLiBPdGhlcndpc2UgdGhlIGluaGVyaXRhbmNlIG9mXG4gICBgYF9faGFzaF9fKClgYCB3aWxsIGJlIGJsb2NrZWQsIGp1c3QgYXMgaWYgYGBfX2hhc2hfX2BgIGhhZCBiZWVuXG4gICBleHBsaWNpdGx5IHNldCB0byBgYE5vbmVgYC5cblxuICAgU2VlIGFsc28gdGhlICotUiogY29tbWFuZC1saW5lIG9wdGlvbi5cblxub2JqZWN0Ll9fYm9vbF9fKHNlbGYpXG5cbiAgIENhbGxlZCB0byBpbXBsZW1lbnQgdHJ1dGggdmFsdWUgdGVzdGluZyBhbmQgdGhlIGJ1aWx0LWluIG9wZXJhdGlvblxuICAgYGBib29sKClgYDsgc2hvdWxkIHJldHVybiBgYEZhbHNlYGAgb3IgYGBUcnVlYGAuICBXaGVuIHRoaXMgbWV0aG9kXG4gICBpcyBub3QgZGVmaW5lZCwgYGBfX2xlbl9fKClgYCBpcyBjYWxsZWQsIGlmIGl0IGlzIGRlZmluZWQsIGFuZCB0aGVcbiAgIG9iamVjdCBpcyBjb25zaWRlcmVkIHRydWUgaWYgaXRzIHJlc3VsdCBpcyBub256ZXJvLiAgSWYgYSBjbGFzc1xuICAgZGVmaW5lcyBuZWl0aGVyIGBgX19sZW5fXygpYGAgbm9yIGBgX19ib29sX18oKWBgLCBhbGwgaXRzIGluc3RhbmNlc1xuICAgYXJlIGNvbnNpZGVyZWQgdHJ1ZS5cblxuXG5DdXN0b21pemluZyBhdHRyaWJ1dGUgYWNjZXNzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblRoZSBmb2xsb3dpbmcgbWV0aG9kcyBjYW4gYmUgZGVmaW5lZCB0byBjdXN0b21pemUgdGhlIG1lYW5pbmcgb2ZcbmF0dHJpYnV0ZSBhY2Nlc3MgKHVzZSBvZiwgYXNzaWdubWVudCB0bywgb3IgZGVsZXRpb24gb2YgYGB4Lm5hbWVgYClcbmZvciBjbGFzcyBpbnN0YW5jZXMuXG5cbm9iamVjdC5fX2dldGF0dHJfXyhzZWxmLCBuYW1lKVxuXG4gICBDYWxsZWQgd2hlbiBhbiBhdHRyaWJ1dGUgbG9va3VwIGhhcyBub3QgZm91bmQgdGhlIGF0dHJpYnV0ZSBpbiB0aGVcbiAgIHVzdWFsIHBsYWNlcyAoaS5lLiBpdCBpcyBub3QgYW4gaW5zdGFuY2UgYXR0cmlidXRlIG5vciBpcyBpdCBmb3VuZFxuICAgaW4gdGhlIGNsYXNzIHRyZWUgZm9yIGBgc2VsZmBgKS4gIGBgbmFtZWBgIGlzIHRoZSBhdHRyaWJ1dGUgbmFtZS5cbiAgIFRoaXMgbWV0aG9kIHNob3VsZCByZXR1cm4gdGhlIChjb21wdXRlZCkgYXR0cmlidXRlIHZhbHVlIG9yIHJhaXNlXG4gICBhbiBgYEF0dHJpYnV0ZUVycm9yYGAgZXhjZXB0aW9uLlxuXG4gICBOb3RlIHRoYXQgaWYgdGhlIGF0dHJpYnV0ZSBpcyBmb3VuZCB0aHJvdWdoIHRoZSBub3JtYWwgbWVjaGFuaXNtLFxuICAgYGBfX2dldGF0dHJfXygpYGAgaXMgbm90IGNhbGxlZC4gIChUaGlzIGlzIGFuIGludGVudGlvbmFsIGFzeW1tZXRyeVxuICAgYmV0d2VlbiBgYF9fZ2V0YXR0cl9fKClgYCBhbmQgYGBfX3NldGF0dHJfXygpYGAuKSBUaGlzIGlzIGRvbmUgYm90aFxuICAgZm9yIGVmZmljaWVuY3kgcmVhc29ucyBhbmQgYmVjYXVzZSBvdGhlcndpc2UgYGBfX2dldGF0dHJfXygpYGBcbiAgIHdvdWxkIGhhdmUgbm8gd2F5IHRvIGFjY2VzcyBvdGhlciBhdHRyaWJ1dGVzIG9mIHRoZSBpbnN0YW5jZS4gIE5vdGVcbiAgIHRoYXQgYXQgbGVhc3QgZm9yIGluc3RhbmNlIHZhcmlhYmxlcywgeW91IGNhbiBmYWtlIHRvdGFsIGNvbnRyb2wgYnlcbiAgIG5vdCBpbnNlcnRpbmcgYW55IHZhbHVlcyBpbiB0aGUgaW5zdGFuY2UgYXR0cmlidXRlIGRpY3Rpb25hcnkgKGJ1dFxuICAgaW5zdGVhZCBpbnNlcnRpbmcgdGhlbSBpbiBhbm90aGVyIG9iamVjdCkuICBTZWUgdGhlXG4gICBgYF9fZ2V0YXR0cmlidXRlX18oKWBgIG1ldGhvZCBiZWxvdyBmb3IgYSB3YXkgdG8gYWN0dWFsbHkgZ2V0IHRvdGFsXG4gICBjb250cm9sIG92ZXIgYXR0cmlidXRlIGFjY2Vzcy5cblxub2JqZWN0Ll9fZ2V0YXR0cmlidXRlX18oc2VsZiwgbmFtZSlcblxuICAgQ2FsbGVkIHVuY29uZGl0aW9uYWxseSB0byBpbXBsZW1lbnQgYXR0cmlidXRlIGFjY2Vzc2VzIGZvclxuICAgaW5zdGFuY2VzIG9mIHRoZSBjbGFzcy4gSWYgdGhlIGNsYXNzIGFsc28gZGVmaW5lc1xuICAgYGBfX2dldGF0dHJfXygpYGAsIHRoZSBsYXR0ZXIgd2lsbCBub3QgYmUgY2FsbGVkIHVubGVzc1xuICAgYGBfX2dldGF0dHJpYnV0ZV9fKClgYCBlaXRoZXIgY2FsbHMgaXQgZXhwbGljaXRseSBvciByYWlzZXMgYW5cbiAgIGBgQXR0cmlidXRlRXJyb3JgYC4gVGhpcyBtZXRob2Qgc2hvdWxkIHJldHVybiB0aGUgKGNvbXB1dGVkKVxuICAgYXR0cmlidXRlIHZhbHVlIG9yIHJhaXNlIGFuIGBgQXR0cmlidXRlRXJyb3JgYCBleGNlcHRpb24uIEluIG9yZGVyXG4gICB0byBhdm9pZCBpbmZpbml0ZSByZWN1cnNpb24gaW4gdGhpcyBtZXRob2QsIGl0cyBpbXBsZW1lbnRhdGlvblxuICAgc2hvdWxkIGFsd2F5cyBjYWxsIHRoZSBiYXNlIGNsYXNzIG1ldGhvZCB3aXRoIHRoZSBzYW1lIG5hbWUgdG9cbiAgIGFjY2VzcyBhbnkgYXR0cmlidXRlcyBpdCBuZWVkcywgZm9yIGV4YW1wbGUsXG4gICBgYG9iamVjdC5fX2dldGF0dHJpYnV0ZV9fKHNlbGYsIG5hbWUpYGAuXG5cbiAgIE5vdGU6IFRoaXMgbWV0aG9kIG1heSBzdGlsbCBiZSBieXBhc3NlZCB3aGVuIGxvb2tpbmcgdXAgc3BlY2lhbCBtZXRob2RzXG4gICAgIGFzIHRoZSByZXN1bHQgb2YgaW1wbGljaXQgaW52b2NhdGlvbiB2aWEgbGFuZ3VhZ2Ugc3ludGF4IG9yXG4gICAgIGJ1aWx0LWluIGZ1bmN0aW9ucy4gU2VlICpTcGVjaWFsIG1ldGhvZCBsb29rdXAqLlxuXG5vYmplY3QuX19zZXRhdHRyX18oc2VsZiwgbmFtZSwgdmFsdWUpXG5cbiAgIENhbGxlZCB3aGVuIGFuIGF0dHJpYnV0ZSBhc3NpZ25tZW50IGlzIGF0dGVtcHRlZC4gIFRoaXMgaXMgY2FsbGVkXG4gICBpbnN0ZWFkIG9mIHRoZSBub3JtYWwgbWVjaGFuaXNtIChpLmUuIHN0b3JlIHRoZSB2YWx1ZSBpbiB0aGVcbiAgIGluc3RhbmNlIGRpY3Rpb25hcnkpLiAqbmFtZSogaXMgdGhlIGF0dHJpYnV0ZSBuYW1lLCAqdmFsdWUqIGlzIHRoZVxuICAgdmFsdWUgdG8gYmUgYXNzaWduZWQgdG8gaXQuXG5cbiAgIElmIGBgX19zZXRhdHRyX18oKWBgIHdhbnRzIHRvIGFzc2lnbiB0byBhbiBpbnN0YW5jZSBhdHRyaWJ1dGUsIGl0XG4gICBzaG91bGQgY2FsbCB0aGUgYmFzZSBjbGFzcyBtZXRob2Qgd2l0aCB0aGUgc2FtZSBuYW1lLCBmb3IgZXhhbXBsZSxcbiAgIGBgb2JqZWN0Ll9fc2V0YXR0cl9fKHNlbGYsIG5hbWUsIHZhbHVlKWBgLlxuXG5vYmplY3QuX19kZWxhdHRyX18oc2VsZiwgbmFtZSlcblxuICAgTGlrZSBgYF9fc2V0YXR0cl9fKClgYCBidXQgZm9yIGF0dHJpYnV0ZSBkZWxldGlvbiBpbnN0ZWFkIG9mXG4gICBhc3NpZ25tZW50LiAgVGhpcyBzaG91bGQgb25seSBiZSBpbXBsZW1lbnRlZCBpZiBgYGRlbCBvYmoubmFtZWBgIGlzXG4gICBtZWFuaW5nZnVsIGZvciB0aGUgb2JqZWN0LlxuXG5vYmplY3QuX19kaXJfXyhzZWxmKVxuXG4gICBDYWxsZWQgd2hlbiBgYGRpcigpYGAgaXMgY2FsbGVkIG9uIHRoZSBvYmplY3QuICBBIGxpc3QgbXVzdCBiZVxuICAgcmV0dXJuZWQuXG5cblxuSW1wbGVtZW50aW5nIERlc2NyaXB0b3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuVGhlIGZvbGxvd2luZyBtZXRob2RzIG9ubHkgYXBwbHkgd2hlbiBhbiBpbnN0YW5jZSBvZiB0aGUgY2xhc3NcbmNvbnRhaW5pbmcgdGhlIG1ldGhvZCAoYSBzby1jYWxsZWQgKmRlc2NyaXB0b3IqIGNsYXNzKSBhcHBlYXJzIGluIGFuXG4qb3duZXIqIGNsYXNzICh0aGUgZGVzY3JpcHRvciBtdXN0IGJlIGluIGVpdGhlciB0aGUgb3duZXJcJ3MgY2xhc3NcbmRpY3Rpb25hcnkgb3IgaW4gdGhlIGNsYXNzIGRpY3Rpb25hcnkgZm9yIG9uZSBvZiBpdHMgcGFyZW50cykuICBJbiB0aGVcbmV4YW1wbGVzIGJlbG93LCAidGhlIGF0dHJpYnV0ZSIgcmVmZXJzIHRvIHRoZSBhdHRyaWJ1dGUgd2hvc2UgbmFtZSBpc1xudGhlIGtleSBvZiB0aGUgcHJvcGVydHkgaW4gdGhlIG93bmVyIGNsYXNzXCcgYGBfX2RpY3RfX2BgLlxuXG5vYmplY3QuX19nZXRfXyhzZWxmLCBpbnN0YW5jZSwgb3duZXIpXG5cbiAgIENhbGxlZCB0byBnZXQgdGhlIGF0dHJpYnV0ZSBvZiB0aGUgb3duZXIgY2xhc3MgKGNsYXNzIGF0dHJpYnV0ZVxuICAgYWNjZXNzKSBvciBvZiBhbiBpbnN0YW5jZSBvZiB0aGF0IGNsYXNzIChpbnN0YW5jZSBhdHRyaWJ1dGVcbiAgIGFjY2VzcykuICpvd25lciogaXMgYWx3YXlzIHRoZSBvd25lciBjbGFzcywgd2hpbGUgKmluc3RhbmNlKiBpcyB0aGVcbiAgIGluc3RhbmNlIHRoYXQgdGhlIGF0dHJpYnV0ZSB3YXMgYWNjZXNzZWQgdGhyb3VnaCwgb3IgYGBOb25lYGAgd2hlblxuICAgdGhlIGF0dHJpYnV0ZSBpcyBhY2Nlc3NlZCB0aHJvdWdoIHRoZSAqb3duZXIqLiAgVGhpcyBtZXRob2Qgc2hvdWxkXG4gICByZXR1cm4gdGhlIChjb21wdXRlZCkgYXR0cmlidXRlIHZhbHVlIG9yIHJhaXNlIGFuXG4gICBgYEF0dHJpYnV0ZUVycm9yYGAgZXhjZXB0aW9uLlxuXG5vYmplY3QuX19zZXRfXyhzZWxmLCBpbnN0YW5jZSwgdmFsdWUpXG5cbiAgIENhbGxlZCB0byBzZXQgdGhlIGF0dHJpYnV0ZSBvbiBhbiBpbnN0YW5jZSAqaW5zdGFuY2UqIG9mIHRoZSBvd25lclxuICAgY2xhc3MgdG8gYSBuZXcgdmFsdWUsICp2YWx1ZSouXG5cbm9iamVjdC5fX2RlbGV0ZV9fKHNlbGYsIGluc3RhbmNlKVxuXG4gICBDYWxsZWQgdG8gZGVsZXRlIHRoZSBhdHRyaWJ1dGUgb24gYW4gaW5zdGFuY2UgKmluc3RhbmNlKiBvZiB0aGVcbiAgIG93bmVyIGNsYXNzLlxuXG5cbkludm9raW5nIERlc2NyaXB0b3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5JbiBnZW5lcmFsLCBhIGRlc2NyaXB0b3IgaXMgYW4gb2JqZWN0IGF0dHJpYnV0ZSB3aXRoICJiaW5kaW5nXG5iZWhhdmlvciIsIG9uZSB3aG9zZSBhdHRyaWJ1dGUgYWNjZXNzIGhhcyBiZWVuIG92ZXJyaWRkZW4gYnkgbWV0aG9kc1xuaW4gdGhlIGRlc2NyaXB0b3IgcHJvdG9jb2w6ICBgYF9fZ2V0X18oKWBgLCBgYF9fc2V0X18oKWBgLCBhbmRcbmBgX19kZWxldGVfXygpYGAuIElmIGFueSBvZiB0aG9zZSBtZXRob2RzIGFyZSBkZWZpbmVkIGZvciBhbiBvYmplY3QsXG5pdCBpcyBzYWlkIHRvIGJlIGEgZGVzY3JpcHRvci5cblxuVGhlIGRlZmF1bHQgYmVoYXZpb3IgZm9yIGF0dHJpYnV0ZSBhY2Nlc3MgaXMgdG8gZ2V0LCBzZXQsIG9yIGRlbGV0ZVxudGhlIGF0dHJpYnV0ZSBmcm9tIGFuIG9iamVjdFwncyBkaWN0aW9uYXJ5LiBGb3IgaW5zdGFuY2UsIGBgYS54YGAgaGFzIGFcbmxvb2t1cCBjaGFpbiBzdGFydGluZyB3aXRoIGBgYS5fX2RpY3RfX1tcJ3hcJ11gYCwgdGhlblxuYGB0eXBlKGEpLl9fZGljdF9fW1wneFwnXWBgLCBhbmQgY29udGludWluZyB0aHJvdWdoIHRoZSBiYXNlIGNsYXNzZXMgb2ZcbmBgdHlwZShhKWBgIGV4Y2x1ZGluZyBtZXRhY2xhc3Nlcy5cblxuSG93ZXZlciwgaWYgdGhlIGxvb2tlZC11cCB2YWx1ZSBpcyBhbiBvYmplY3QgZGVmaW5pbmcgb25lIG9mIHRoZVxuZGVzY3JpcHRvciBtZXRob2RzLCB0aGVuIFB5dGhvbiBtYXkgb3ZlcnJpZGUgdGhlIGRlZmF1bHQgYmVoYXZpb3IgYW5kXG5pbnZva2UgdGhlIGRlc2NyaXB0b3IgbWV0aG9kIGluc3RlYWQuICBXaGVyZSB0aGlzIG9jY3VycyBpbiB0aGVcbnByZWNlZGVuY2UgY2hhaW4gZGVwZW5kcyBvbiB3aGljaCBkZXNjcmlwdG9yIG1ldGhvZHMgd2VyZSBkZWZpbmVkIGFuZFxuaG93IHRoZXkgd2VyZSBjYWxsZWQuXG5cblRoZSBzdGFydGluZyBwb2ludCBmb3IgZGVzY3JpcHRvciBpbnZvY2F0aW9uIGlzIGEgYmluZGluZywgYGBhLnhgYC5cbkhvdyB0aGUgYXJndW1lbnRzIGFyZSBhc3NlbWJsZWQgZGVwZW5kcyBvbiBgYGFgYDpcblxuRGlyZWN0IENhbGxcbiAgIFRoZSBzaW1wbGVzdCBhbmQgbGVhc3QgY29tbW9uIGNhbGwgaXMgd2hlbiB1c2VyIGNvZGUgZGlyZWN0bHlcbiAgIGludm9rZXMgYSBkZXNjcmlwdG9yIG1ldGhvZDogICAgYGB4Ll9fZ2V0X18oYSlgYC5cblxuSW5zdGFuY2UgQmluZGluZ1xuICAgSWYgYmluZGluZyB0byBhbiBvYmplY3QgaW5zdGFuY2UsIGBgYS54YGAgaXMgdHJhbnNmb3JtZWQgaW50byB0aGVcbiAgIGNhbGw6IGBgdHlwZShhKS5fX2RpY3RfX1tcJ3hcJ10uX19nZXRfXyhhLCB0eXBlKGEpKWBgLlxuXG5DbGFzcyBCaW5kaW5nXG4gICBJZiBiaW5kaW5nIHRvIGEgY2xhc3MsIGBgQS54YGAgaXMgdHJhbnNmb3JtZWQgaW50byB0aGUgY2FsbDpcbiAgIGBgQS5fX2RpY3RfX1tcJ3hcJ10uX19nZXRfXyhOb25lLCBBKWBgLlxuXG5TdXBlciBCaW5kaW5nXG4gICBJZiBgYGFgYCBpcyBhbiBpbnN0YW5jZSBvZiBgYHN1cGVyYGAsIHRoZW4gdGhlIGJpbmRpbmcgYGBzdXBlcihCLFxuICAgb2JqKS5tKClgYCBzZWFyY2hlcyBgYG9iai5fX2NsYXNzX18uX19tcm9fX2BgIGZvciB0aGUgYmFzZSBjbGFzc1xuICAgYGBBYGAgaW1tZWRpYXRlbHkgcHJlY2VkaW5nIGBgQmBgIGFuZCB0aGVuIGludm9rZXMgdGhlIGRlc2NyaXB0b3JcbiAgIHdpdGggdGhlIGNhbGw6IGBgQS5fX2RpY3RfX1tcJ21cJ10uX19nZXRfXyhvYmosIG9iai5fX2NsYXNzX18pYGAuXG5cbkZvciBpbnN0YW5jZSBiaW5kaW5ncywgdGhlIHByZWNlZGVuY2Ugb2YgZGVzY3JpcHRvciBpbnZvY2F0aW9uIGRlcGVuZHNcbm9uIHRoZSB3aGljaCBkZXNjcmlwdG9yIG1ldGhvZHMgYXJlIGRlZmluZWQuICBBIGRlc2NyaXB0b3IgY2FuIGRlZmluZVxuYW55IGNvbWJpbmF0aW9uIG9mIGBgX19nZXRfXygpYGAsIGBgX19zZXRfXygpYGAgYW5kIGBgX19kZWxldGVfXygpYGAuXG5JZiBpdCBkb2VzIG5vdCBkZWZpbmUgYGBfX2dldF9fKClgYCwgdGhlbiBhY2Nlc3NpbmcgdGhlIGF0dHJpYnV0ZSB3aWxsXG5yZXR1cm4gdGhlIGRlc2NyaXB0b3Igb2JqZWN0IGl0c2VsZiB1bmxlc3MgdGhlcmUgaXMgYSB2YWx1ZSBpbiB0aGVcbm9iamVjdFwncyBpbnN0YW5jZSBkaWN0aW9uYXJ5LiAgSWYgdGhlIGRlc2NyaXB0b3IgZGVmaW5lcyBgYF9fc2V0X18oKWBgXG5hbmQvb3IgYGBfX2RlbGV0ZV9fKClgYCwgaXQgaXMgYSBkYXRhIGRlc2NyaXB0b3I7IGlmIGl0IGRlZmluZXNcbm5laXRoZXIsIGl0IGlzIGEgbm9uLWRhdGEgZGVzY3JpcHRvci4gIE5vcm1hbGx5LCBkYXRhIGRlc2NyaXB0b3JzXG5kZWZpbmUgYm90aCBgYF9fZ2V0X18oKWBgIGFuZCBgYF9fc2V0X18oKWBgLCB3aGlsZSBub24tZGF0YVxuZGVzY3JpcHRvcnMgaGF2ZSBqdXN0IHRoZSBgYF9fZ2V0X18oKWBgIG1ldGhvZC4gIERhdGEgZGVzY3JpcHRvcnMgd2l0aFxuYGBfX3NldF9fKClgYCBhbmQgYGBfX2dldF9fKClgYCBkZWZpbmVkIGFsd2F5cyBvdmVycmlkZSBhIHJlZGVmaW5pdGlvblxuaW4gYW4gaW5zdGFuY2UgZGljdGlvbmFyeS4gIEluIGNvbnRyYXN0LCBub24tZGF0YSBkZXNjcmlwdG9ycyBjYW4gYmVcbm92ZXJyaWRkZW4gYnkgaW5zdGFuY2VzLlxuXG5QeXRob24gbWV0aG9kcyAoaW5jbHVkaW5nIGBgc3RhdGljbWV0aG9kKClgYCBhbmQgYGBjbGFzc21ldGhvZCgpYGApXG5hcmUgaW1wbGVtZW50ZWQgYXMgbm9uLWRhdGEgZGVzY3JpcHRvcnMuICBBY2NvcmRpbmdseSwgaW5zdGFuY2VzIGNhblxucmVkZWZpbmUgYW5kIG92ZXJyaWRlIG1ldGhvZHMuICBUaGlzIGFsbG93cyBpbmRpdmlkdWFsIGluc3RhbmNlcyB0b1xuYWNxdWlyZSBiZWhhdmlvcnMgdGhhdCBkaWZmZXIgZnJvbSBvdGhlciBpbnN0YW5jZXMgb2YgdGhlIHNhbWUgY2xhc3MuXG5cblRoZSBgYHByb3BlcnR5KClgYCBmdW5jdGlvbiBpcyBpbXBsZW1lbnRlZCBhcyBhIGRhdGEgZGVzY3JpcHRvci5cbkFjY29yZGluZ2x5LCBpbnN0YW5jZXMgY2Fubm90IG92ZXJyaWRlIHRoZSBiZWhhdmlvciBvZiBhIHByb3BlcnR5LlxuXG5cbl9fc2xvdHNfX1xuLS0tLS0tLS0tXG5cbkJ5IGRlZmF1bHQsIGluc3RhbmNlcyBvZiBjbGFzc2VzIGhhdmUgYSBkaWN0aW9uYXJ5IGZvciBhdHRyaWJ1dGVcbnN0b3JhZ2UuICBUaGlzIHdhc3RlcyBzcGFjZSBmb3Igb2JqZWN0cyBoYXZpbmcgdmVyeSBmZXcgaW5zdGFuY2VcbnZhcmlhYmxlcy4gIFRoZSBzcGFjZSBjb25zdW1wdGlvbiBjYW4gYmVjb21lIGFjdXRlIHdoZW4gY3JlYXRpbmcgbGFyZ2Vcbm51bWJlcnMgb2YgaW5zdGFuY2VzLlxuXG5UaGUgZGVmYXVsdCBjYW4gYmUgb3ZlcnJpZGRlbiBieSBkZWZpbmluZyAqX19zbG90c19fKiBpbiBhIGNsYXNzXG5kZWZpbml0aW9uLiBUaGUgKl9fc2xvdHNfXyogZGVjbGFyYXRpb24gdGFrZXMgYSBzZXF1ZW5jZSBvZiBpbnN0YW5jZVxudmFyaWFibGVzIGFuZCByZXNlcnZlcyBqdXN0IGVub3VnaCBzcGFjZSBpbiBlYWNoIGluc3RhbmNlIHRvIGhvbGQgYVxudmFsdWUgZm9yIGVhY2ggdmFyaWFibGUuICBTcGFjZSBpcyBzYXZlZCBiZWNhdXNlICpfX2RpY3RfXyogaXMgbm90XG5jcmVhdGVkIGZvciBlYWNoIGluc3RhbmNlLlxuXG5vYmplY3QuX19zbG90c19fXG5cbiAgIFRoaXMgY2xhc3MgdmFyaWFibGUgY2FuIGJlIGFzc2lnbmVkIGEgc3RyaW5nLCBpdGVyYWJsZSwgb3Igc2VxdWVuY2VcbiAgIG9mIHN0cmluZ3Mgd2l0aCB2YXJpYWJsZSBuYW1lcyB1c2VkIGJ5IGluc3RhbmNlcy4gIElmIGRlZmluZWQgaW4gYVxuICAgY2xhc3MsICpfX3Nsb3RzX18qIHJlc2VydmVzIHNwYWNlIGZvciB0aGUgZGVjbGFyZWQgdmFyaWFibGVzIGFuZFxuICAgcHJldmVudHMgdGhlIGF1dG9tYXRpYyBjcmVhdGlvbiBvZiAqX19kaWN0X18qIGFuZCAqX193ZWFrcmVmX18qIGZvclxuICAgZWFjaCBpbnN0YW5jZS5cblxuXG5Ob3RlcyBvbiB1c2luZyAqX19zbG90c19fKlxufn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5cblxuKiBXaGVuIGluaGVyaXRpbmcgZnJvbSBhIGNsYXNzIHdpdGhvdXQgKl9fc2xvdHNfXyosIHRoZSAqX19kaWN0X18qXG4gIGF0dHJpYnV0ZSBvZiB0aGF0IGNsYXNzIHdpbGwgYWx3YXlzIGJlIGFjY2Vzc2libGUsIHNvIGEgKl9fc2xvdHNfXypcbiAgZGVmaW5pdGlvbiBpbiB0aGUgc3ViY2xhc3MgaXMgbWVhbmluZ2xlc3MuXG5cbiogV2l0aG91dCBhICpfX2RpY3RfXyogdmFyaWFibGUsIGluc3RhbmNlcyBjYW5ub3QgYmUgYXNzaWduZWQgbmV3XG4gIHZhcmlhYmxlcyBub3QgbGlzdGVkIGluIHRoZSAqX19zbG90c19fKiBkZWZpbml0aW9uLiAgQXR0ZW1wdHMgdG9cbiAgYXNzaWduIHRvIGFuIHVubGlzdGVkIHZhcmlhYmxlIG5hbWUgcmFpc2VzIGBgQXR0cmlidXRlRXJyb3JgYC4gSWZcbiAgZHluYW1pYyBhc3NpZ25tZW50IG9mIG5ldyB2YXJpYWJsZXMgaXMgZGVzaXJlZCwgdGhlbiBhZGRcbiAgYGBcJ19fZGljdF9fXCdgYCB0byB0aGUgc2VxdWVuY2Ugb2Ygc3RyaW5ncyBpbiB0aGUgKl9fc2xvdHNfXypcbiAgZGVjbGFyYXRpb24uXG5cbiogV2l0aG91dCBhICpfX3dlYWtyZWZfXyogdmFyaWFibGUgZm9yIGVhY2ggaW5zdGFuY2UsIGNsYXNzZXMgZGVmaW5pbmdcbiAgKl9fc2xvdHNfXyogZG8gbm90IHN1cHBvcnQgd2VhayByZWZlcmVuY2VzIHRvIGl0cyBpbnN0YW5jZXMuIElmIHdlYWtcbiAgcmVmZXJlbmNlIHN1cHBvcnQgaXMgbmVlZGVkLCB0aGVuIGFkZCBgYFwnX193ZWFrcmVmX19cJ2BgIHRvIHRoZVxuICBzZXF1ZW5jZSBvZiBzdHJpbmdzIGluIHRoZSAqX19zbG90c19fKiBkZWNsYXJhdGlvbi5cblxuKiAqX19zbG90c19fKiBhcmUgaW1wbGVtZW50ZWQgYXQgdGhlIGNsYXNzIGxldmVsIGJ5IGNyZWF0aW5nXG4gIGRlc2NyaXB0b3JzICgqSW1wbGVtZW50aW5nIERlc2NyaXB0b3JzKikgZm9yIGVhY2ggdmFyaWFibGUgbmFtZS4gIEFzXG4gIGEgcmVzdWx0LCBjbGFzcyBhdHRyaWJ1dGVzIGNhbm5vdCBiZSB1c2VkIHRvIHNldCBkZWZhdWx0IHZhbHVlcyBmb3JcbiAgaW5zdGFuY2UgdmFyaWFibGVzIGRlZmluZWQgYnkgKl9fc2xvdHNfXyo7IG90aGVyd2lzZSwgdGhlIGNsYXNzXG4gIGF0dHJpYnV0ZSB3b3VsZCBvdmVyd3JpdGUgdGhlIGRlc2NyaXB0b3IgYXNzaWdubWVudC5cblxuKiBUaGUgYWN0aW9uIG9mIGEgKl9fc2xvdHNfXyogZGVjbGFyYXRpb24gaXMgbGltaXRlZCB0byB0aGUgY2xhc3NcbiAgd2hlcmUgaXQgaXMgZGVmaW5lZC4gIEFzIGEgcmVzdWx0LCBzdWJjbGFzc2VzIHdpbGwgaGF2ZSBhICpfX2RpY3RfXypcbiAgdW5sZXNzIHRoZXkgYWxzbyBkZWZpbmUgKl9fc2xvdHNfXyogKHdoaWNoIG11c3Qgb25seSBjb250YWluIG5hbWVzXG4gIG9mIGFueSAqYWRkaXRpb25hbCogc2xvdHMpLlxuXG4qIElmIGEgY2xhc3MgZGVmaW5lcyBhIHNsb3QgYWxzbyBkZWZpbmVkIGluIGEgYmFzZSBjbGFzcywgdGhlIGluc3RhbmNlXG4gIHZhcmlhYmxlIGRlZmluZWQgYnkgdGhlIGJhc2UgY2xhc3Mgc2xvdCBpcyBpbmFjY2Vzc2libGUgKGV4Y2VwdCBieVxuICByZXRyaWV2aW5nIGl0cyBkZXNjcmlwdG9yIGRpcmVjdGx5IGZyb20gdGhlIGJhc2UgY2xhc3MpLiBUaGlzXG4gIHJlbmRlcnMgdGhlIG1lYW5pbmcgb2YgdGhlIHByb2dyYW0gdW5kZWZpbmVkLiAgSW4gdGhlIGZ1dHVyZSwgYVxuICBjaGVjayBtYXkgYmUgYWRkZWQgdG8gcHJldmVudCB0aGlzLlxuXG4qIE5vbmVtcHR5ICpfX3Nsb3RzX18qIGRvZXMgbm90IHdvcmsgZm9yIGNsYXNzZXMgZGVyaXZlZCBmcm9tXG4gICJ2YXJpYWJsZS1sZW5ndGgiIGJ1aWx0LWluIHR5cGVzIHN1Y2ggYXMgYGBpbnRgYCwgYGBzdHJgYCBhbmRcbiAgYGB0dXBsZWBgLlxuXG4qIEFueSBub24tc3RyaW5nIGl0ZXJhYmxlIG1heSBiZSBhc3NpZ25lZCB0byAqX19zbG90c19fKi4gTWFwcGluZ3MgbWF5XG4gIGFsc28gYmUgdXNlZDsgaG93ZXZlciwgaW4gdGhlIGZ1dHVyZSwgc3BlY2lhbCBtZWFuaW5nIG1heSBiZVxuICBhc3NpZ25lZCB0byB0aGUgdmFsdWVzIGNvcnJlc3BvbmRpbmcgdG8gZWFjaCBrZXkuXG5cbiogKl9fY2xhc3NfXyogYXNzaWdubWVudCB3b3JrcyBvbmx5IGlmIGJvdGggY2xhc3NlcyBoYXZlIHRoZSBzYW1lXG4gICpfX3Nsb3RzX18qLlxuXG5cbkN1c3RvbWl6aW5nIGNsYXNzIGNyZWF0aW9uXG49PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5CeSBkZWZhdWx0LCBjbGFzc2VzIGFyZSBjb25zdHJ1Y3RlZCB1c2luZyBgYHR5cGUoKWBgLiBBIGNsYXNzXG5kZWZpbml0aW9uIGlzIHJlYWQgaW50byBhIHNlcGFyYXRlIG5hbWVzcGFjZSBhbmQgdGhlIHZhbHVlIG9mIGNsYXNzXG5uYW1lIGlzIGJvdW5kIHRvIHRoZSByZXN1bHQgb2YgYGB0eXBlKG5hbWUsIGJhc2VzLCBkaWN0KWBgLlxuXG5XaGVuIHRoZSBjbGFzcyBkZWZpbml0aW9uIGlzIHJlYWQsIGlmIGEgY2FsbGFibGUgYGBtZXRhY2xhc3NgYCBrZXl3b3JkXG5hcmd1bWVudCBpcyBwYXNzZWQgYWZ0ZXIgdGhlIGJhc2VzIGluIHRoZSBjbGFzcyBkZWZpbml0aW9uLCB0aGVcbmNhbGxhYmxlIGdpdmVuIHdpbGwgYmUgY2FsbGVkIGluc3RlYWQgb2YgYGB0eXBlKClgYC4gIElmIG90aGVyIGtleXdvcmRcbmFyZ3VtZW50cyBhcmUgcGFzc2VkLCB0aGV5IHdpbGwgYWxzbyBiZSBwYXNzZWQgdG8gdGhlIG1ldGFjbGFzcy4gIFRoaXNcbmFsbG93cyBjbGFzc2VzIG9yIGZ1bmN0aW9ucyB0byBiZSB3cml0dGVuIHdoaWNoIG1vbml0b3Igb3IgYWx0ZXIgdGhlXG5jbGFzcyBjcmVhdGlvbiBwcm9jZXNzOlxuXG4qIE1vZGlmeWluZyB0aGUgY2xhc3MgZGljdGlvbmFyeSBwcmlvciB0byB0aGUgY2xhc3MgYmVpbmcgY3JlYXRlZC5cblxuKiBSZXR1cm5pbmcgYW4gaW5zdGFuY2Ugb2YgYW5vdGhlciBjbGFzcyAtLSBlc3NlbnRpYWxseSBwZXJmb3JtaW5nIHRoZVxuICByb2xlIG9mIGEgZmFjdG9yeSBmdW5jdGlvbi5cblxuVGhlc2Ugc3RlcHMgd2lsbCBoYXZlIHRvIGJlIHBlcmZvcm1lZCBpbiB0aGUgbWV0YWNsYXNzXCdzIGBgX19uZXdfXygpYGBcbm1ldGhvZCAtLSBgYHR5cGUuX19uZXdfXygpYGAgY2FuIHRoZW4gYmUgY2FsbGVkIGZyb20gdGhpcyBtZXRob2QgdG9cbmNyZWF0ZSBhIGNsYXNzIHdpdGggZGlmZmVyZW50IHByb3BlcnRpZXMuICBUaGlzIGV4YW1wbGUgYWRkcyBhIG5ld1xuZWxlbWVudCB0byB0aGUgY2xhc3MgZGljdGlvbmFyeSBiZWZvcmUgY3JlYXRpbmcgdGhlIGNsYXNzOlxuXG4gICBjbGFzcyBtZXRhY2xzKHR5cGUpOlxuICAgICAgIGRlZiBfX25ld19fKG1jcywgbmFtZSwgYmFzZXMsIGRpY3QpOlxuICAgICAgICAgICBkaWN0W1wnZm9vXCddID0gXCdtZXRhY2xzIHdhcyBoZXJlXCdcbiAgICAgICAgICAgcmV0dXJuIHR5cGUuX19uZXdfXyhtY3MsIG5hbWUsIGJhc2VzLCBkaWN0KVxuXG5Zb3UgY2FuIG9mIGNvdXJzZSBhbHNvIG92ZXJyaWRlIG90aGVyIGNsYXNzIG1ldGhvZHMgKG9yIGFkZCBuZXdcbm1ldGhvZHMpOyBmb3IgZXhhbXBsZSBkZWZpbmluZyBhIGN1c3RvbSBgYF9fY2FsbF9fKClgYCBtZXRob2QgaW4gdGhlXG5tZXRhY2xhc3MgYWxsb3dzIGN1c3RvbSBiZWhhdmlvciB3aGVuIHRoZSBjbGFzcyBpcyBjYWxsZWQsIGUuZy4gbm90XG5hbHdheXMgY3JlYXRpbmcgYSBuZXcgaW5zdGFuY2UuXG5cbklmIHRoZSBtZXRhY2xhc3MgaGFzIGEgYGBfX3ByZXBhcmVfXygpYGAgYXR0cmlidXRlICh1c3VhbGx5XG5pbXBsZW1lbnRlZCBhcyBhIGNsYXNzIG9yIHN0YXRpYyBtZXRob2QpLCBpdCBpcyBjYWxsZWQgYmVmb3JlIHRoZVxuY2xhc3MgYm9keSBpcyBldmFsdWF0ZWQgd2l0aCB0aGUgbmFtZSBvZiB0aGUgY2xhc3MgYW5kIGEgdHVwbGUgb2YgaXRzXG5iYXNlcyBmb3IgYXJndW1lbnRzLiAgSXQgc2hvdWxkIHJldHVybiBhbiBvYmplY3QgdGhhdCBzdXBwb3J0cyB0aGVcbm1hcHBpbmcgaW50ZXJmYWNlIHRoYXQgd2lsbCBiZSB1c2VkIHRvIHN0b3JlIHRoZSBuYW1lc3BhY2Ugb2YgdGhlXG5jbGFzcy4gIFRoZSBkZWZhdWx0IGlzIGEgcGxhaW4gZGljdGlvbmFyeS4gIFRoaXMgY291bGQgYmUgdXNlZCwgZm9yXG5leGFtcGxlLCB0byBrZWVwIHRyYWNrIG9mIHRoZSBvcmRlciB0aGF0IGNsYXNzIGF0dHJpYnV0ZXMgYXJlIGRlY2xhcmVkXG5pbiBieSByZXR1cm5pbmcgYW4gb3JkZXJlZCBkaWN0aW9uYXJ5LlxuXG5UaGUgYXBwcm9wcmlhdGUgbWV0YWNsYXNzIGlzIGRldGVybWluZWQgYnkgdGhlIGZvbGxvd2luZyBwcmVjZWRlbmNlXG5ydWxlczpcblxuKiBJZiB0aGUgYGBtZXRhY2xhc3NgYCBrZXl3b3JkIGFyZ3VtZW50IGlzIHBhc3NlZCB3aXRoIHRoZSBiYXNlcywgaXRcbiAgaXMgdXNlZC5cblxuKiBPdGhlcndpc2UsIGlmIHRoZXJlIGlzIGF0IGxlYXN0IG9uZSBiYXNlIGNsYXNzLCBpdHMgbWV0YWNsYXNzIGlzXG4gIHVzZWQuXG5cbiogT3RoZXJ3aXNlLCB0aGUgZGVmYXVsdCBtZXRhY2xhc3MgKGBgdHlwZWBgKSBpcyB1c2VkLlxuXG5UaGUgcG90ZW50aWFsIHVzZXMgZm9yIG1ldGFjbGFzc2VzIGFyZSBib3VuZGxlc3MuIFNvbWUgaWRlYXMgdGhhdCBoYXZlXG5iZWVuIGV4cGxvcmVkIGluY2x1ZGluZyBsb2dnaW5nLCBpbnRlcmZhY2UgY2hlY2tpbmcsIGF1dG9tYXRpY1xuZGVsZWdhdGlvbiwgYXV0b21hdGljIHByb3BlcnR5IGNyZWF0aW9uLCBwcm94aWVzLCBmcmFtZXdvcmtzLCBhbmRcbmF1dG9tYXRpYyByZXNvdXJjZSBsb2NraW5nL3N5bmNocm9uaXphdGlvbi5cblxuSGVyZSBpcyBhbiBleGFtcGxlIG9mIGEgbWV0YWNsYXNzIHRoYXQgdXNlcyBhblxuYGBjb2xsZWN0aW9ucy5PcmRlcmVkRGljdGBgIHRvIHJlbWVtYmVyIHRoZSBvcmRlciB0aGF0IGNsYXNzIG1lbWJlcnNcbndlcmUgZGVmaW5lZDpcblxuICAgY2xhc3MgT3JkZXJlZENsYXNzKHR5cGUpOlxuXG4gICAgICAgIEBjbGFzc21ldGhvZFxuICAgICAgICBkZWYgX19wcmVwYXJlX18obWV0YWNscywgbmFtZSwgYmFzZXMsICoqa3dkcyk6XG4gICAgICAgICAgIHJldHVybiBjb2xsZWN0aW9ucy5PcmRlcmVkRGljdCgpXG5cbiAgICAgICAgZGVmIF9fbmV3X18oY2xzLCBuYW1lLCBiYXNlcywgY2xhc3NkaWN0KTpcbiAgICAgICAgICAgcmVzdWx0ID0gdHlwZS5fX25ld19fKGNscywgbmFtZSwgYmFzZXMsIGRpY3QoY2xhc3NkaWN0KSlcbiAgICAgICAgICAgcmVzdWx0Lm1lbWJlcnMgPSB0dXBsZShjbGFzc2RpY3QpXG4gICAgICAgICAgIHJldHVybiByZXN1bHRcblxuICAgY2xhc3MgQShtZXRhY2xhc3M9T3JkZXJlZENsYXNzKTpcbiAgICAgICBkZWYgb25lKHNlbGYpOiBwYXNzXG4gICAgICAgZGVmIHR3byhzZWxmKTogcGFzc1xuICAgICAgIGRlZiB0aHJlZShzZWxmKTogcGFzc1xuICAgICAgIGRlZiBmb3VyKHNlbGYpOiBwYXNzXG5cbiAgID4+PiBBLm1lbWJlcnNcbiAgIChcJ19fbW9kdWxlX19cJywgXCdvbmVcJywgXCd0d29cJywgXCd0aHJlZVwnLCBcJ2ZvdXJcJylcblxuV2hlbiB0aGUgY2xhc3MgZGVmaW5pdGlvbiBmb3IgKkEqIGdldHMgZXhlY3V0ZWQsIHRoZSBwcm9jZXNzIGJlZ2luc1xud2l0aCBjYWxsaW5nIHRoZSBtZXRhY2xhc3NcJ3MgYGBfX3ByZXBhcmVfXygpYGAgbWV0aG9kIHdoaWNoIHJldHVybnMgYW5cbmVtcHR5IGBgY29sbGVjdGlvbnMuT3JkZXJlZERpY3RgYC4gIFRoYXQgbWFwcGluZyByZWNvcmRzIHRoZSBtZXRob2RzXG5hbmQgYXR0cmlidXRlcyBvZiAqQSogYXMgdGhleSBhcmUgZGVmaW5lZCB3aXRoaW4gdGhlIGJvZHkgb2YgdGhlIGNsYXNzXG5zdGF0ZW1lbnQuIE9uY2UgdGhvc2UgZGVmaW5pdGlvbnMgYXJlIGV4ZWN1dGVkLCB0aGUgb3JkZXJlZCBkaWN0aW9uYXJ5XG5pcyBmdWxseSBwb3B1bGF0ZWQgYW5kIHRoZSBtZXRhY2xhc3NcJ3MgYGBfX25ld19fKClgYCBtZXRob2QgZ2V0c1xuaW52b2tlZC4gIFRoYXQgbWV0aG9kIGJ1aWxkcyB0aGUgbmV3IHR5cGUgYW5kIGl0IHNhdmVzIHRoZSBvcmRlcmVkXG5kaWN0aW9uYXJ5IGtleXMgaW4gYW4gYXR0cmlidXRlIGNhbGxlZCBgYG1lbWJlcnNgYC5cblxuXG5DdXN0b21pemluZyBpbnN0YW5jZSBhbmQgc3ViY2xhc3MgY2hlY2tzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblRoZSBmb2xsb3dpbmcgbWV0aG9kcyBhcmUgdXNlZCB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCBiZWhhdmlvciBvZiB0aGVcbmBgaXNpbnN0YW5jZSgpYGAgYW5kIGBgaXNzdWJjbGFzcygpYGAgYnVpbHQtaW4gZnVuY3Rpb25zLlxuXG5JbiBwYXJ0aWN1bGFyLCB0aGUgbWV0YWNsYXNzIGBgYWJjLkFCQ01ldGFgYCBpbXBsZW1lbnRzIHRoZXNlIG1ldGhvZHNcbmluIG9yZGVyIHRvIGFsbG93IHRoZSBhZGRpdGlvbiBvZiBBYnN0cmFjdCBCYXNlIENsYXNzZXMgKEFCQ3MpIGFzXG4idmlydHVhbCBiYXNlIGNsYXNzZXMiIHRvIGFueSBjbGFzcyBvciB0eXBlIChpbmNsdWRpbmcgYnVpbHQtaW5cbnR5cGVzKSwgaW5jbHVkaW5nIG90aGVyIEFCQ3MuXG5cbmNsYXNzLl9faW5zdGFuY2VjaGVja19fKHNlbGYsIGluc3RhbmNlKVxuXG4gICBSZXR1cm4gdHJ1ZSBpZiAqaW5zdGFuY2UqIHNob3VsZCBiZSBjb25zaWRlcmVkIGEgKGRpcmVjdCBvclxuICAgaW5kaXJlY3QpIGluc3RhbmNlIG9mICpjbGFzcyouIElmIGRlZmluZWQsIGNhbGxlZCB0byBpbXBsZW1lbnRcbiAgIGBgaXNpbnN0YW5jZShpbnN0YW5jZSwgY2xhc3MpYGAuXG5cbmNsYXNzLl9fc3ViY2xhc3NjaGVja19fKHNlbGYsIHN1YmNsYXNzKVxuXG4gICBSZXR1cm4gdHJ1ZSBpZiAqc3ViY2xhc3MqIHNob3VsZCBiZSBjb25zaWRlcmVkIGEgKGRpcmVjdCBvclxuICAgaW5kaXJlY3QpIHN1YmNsYXNzIG9mICpjbGFzcyouICBJZiBkZWZpbmVkLCBjYWxsZWQgdG8gaW1wbGVtZW50XG4gICBgYGlzc3ViY2xhc3Moc3ViY2xhc3MsIGNsYXNzKWBgLlxuXG5Ob3RlIHRoYXQgdGhlc2UgbWV0aG9kcyBhcmUgbG9va2VkIHVwIG9uIHRoZSB0eXBlIChtZXRhY2xhc3MpIG9mIGFcbmNsYXNzLiAgVGhleSBjYW5ub3QgYmUgZGVmaW5lZCBhcyBjbGFzcyBtZXRob2RzIGluIHRoZSBhY3R1YWwgY2xhc3MuXG5UaGlzIGlzIGNvbnNpc3RlbnQgd2l0aCB0aGUgbG9va3VwIG9mIHNwZWNpYWwgbWV0aG9kcyB0aGF0IGFyZSBjYWxsZWRcbm9uIGluc3RhbmNlcywgb25seSBpbiB0aGlzIGNhc2UgdGhlIGluc3RhbmNlIGlzIGl0c2VsZiBhIGNsYXNzLlxuXG5TZWUgYWxzbzpcblxuICAgKipQRVAgMzExOSoqIC0gSW50cm9kdWNpbmcgQWJzdHJhY3QgQmFzZSBDbGFzc2VzXG4gICAgICBJbmNsdWRlcyB0aGUgc3BlY2lmaWNhdGlvbiBmb3IgY3VzdG9taXppbmcgYGBpc2luc3RhbmNlKClgYCBhbmRcbiAgICAgIGBgaXNzdWJjbGFzcygpYGAgYmVoYXZpb3IgdGhyb3VnaCBgYF9faW5zdGFuY2VjaGVja19fKClgYCBhbmRcbiAgICAgIGBgX19zdWJjbGFzc2NoZWNrX18oKWBgLCB3aXRoIG1vdGl2YXRpb24gZm9yIHRoaXMgZnVuY3Rpb25hbGl0eVxuICAgICAgaW4gdGhlIGNvbnRleHQgb2YgYWRkaW5nIEFic3RyYWN0IEJhc2UgQ2xhc3NlcyAoc2VlIHRoZSBgYGFiY2BgXG4gICAgICBtb2R1bGUpIHRvIHRoZSBsYW5ndWFnZS5cblxuXG5FbXVsYXRpbmcgY2FsbGFibGUgb2JqZWN0c1xuPT09PT09PT09PT09PT09PT09PT09PT09PT1cblxub2JqZWN0Ll9fY2FsbF9fKHNlbGZbLCBhcmdzLi4uXSlcblxuICAgQ2FsbGVkIHdoZW4gdGhlIGluc3RhbmNlIGlzICJjYWxsZWQiIGFzIGEgZnVuY3Rpb247IGlmIHRoaXMgbWV0aG9kXG4gICBpcyBkZWZpbmVkLCBgYHgoYXJnMSwgYXJnMiwgLi4uKWBgIGlzIGEgc2hvcnRoYW5kIGZvclxuICAgYGB4Ll9fY2FsbF9fKGFyZzEsIGFyZzIsIC4uLilgYC5cblxuXG5FbXVsYXRpbmcgY29udGFpbmVyIHR5cGVzXG49PT09PT09PT09PT09PT09PT09PT09PT09XG5cblRoZSBmb2xsb3dpbmcgbWV0aG9kcyBjYW4gYmUgZGVmaW5lZCB0byBpbXBsZW1lbnQgY29udGFpbmVyIG9iamVjdHMuXG5Db250YWluZXJzIHVzdWFsbHkgYXJlIHNlcXVlbmNlcyAoc3VjaCBhcyBsaXN0cyBvciB0dXBsZXMpIG9yIG1hcHBpbmdzXG4obGlrZSBkaWN0aW9uYXJpZXMpLCBidXQgY2FuIHJlcHJlc2VudCBvdGhlciBjb250YWluZXJzIGFzIHdlbGwuICBUaGVcbmZpcnN0IHNldCBvZiBtZXRob2RzIGlzIHVzZWQgZWl0aGVyIHRvIGVtdWxhdGUgYSBzZXF1ZW5jZSBvciB0b1xuZW11bGF0ZSBhIG1hcHBpbmc7IHRoZSBkaWZmZXJlbmNlIGlzIHRoYXQgZm9yIGEgc2VxdWVuY2UsIHRoZVxuYWxsb3dhYmxlIGtleXMgc2hvdWxkIGJlIHRoZSBpbnRlZ2VycyAqayogZm9yIHdoaWNoIGBgMCA8PSBrIDwgTmBgXG53aGVyZSAqTiogaXMgdGhlIGxlbmd0aCBvZiB0aGUgc2VxdWVuY2UsIG9yIHNsaWNlIG9iamVjdHMsIHdoaWNoXG5kZWZpbmUgYSByYW5nZSBvZiBpdGVtcy4gIEl0IGlzIGFsc28gcmVjb21tZW5kZWQgdGhhdCBtYXBwaW5ncyBwcm92aWRlXG50aGUgbWV0aG9kcyBgYGtleXMoKWBgLCBgYHZhbHVlcygpYGAsIGBgaXRlbXMoKWBgLCBgYGdldCgpYGAsXG5gYGNsZWFyKClgYCwgYGBzZXRkZWZhdWx0KClgYCwgYGBwb3AoKWBgLCBgYHBvcGl0ZW0oKWBgLCBgYGNvcHkoKWBgLFxuYW5kIGBgdXBkYXRlKClgYCBiZWhhdmluZyBzaW1pbGFyIHRvIHRob3NlIGZvciBQeXRob25cJ3Mgc3RhbmRhcmRcbmRpY3Rpb25hcnkgb2JqZWN0cy4gIFRoZSBgYGNvbGxlY3Rpb25zYGAgbW9kdWxlIHByb3ZpZGVzIGFcbmBgTXV0YWJsZU1hcHBpbmdgYCBhYnN0cmFjdCBiYXNlIGNsYXNzIHRvIGhlbHAgY3JlYXRlIHRob3NlIG1ldGhvZHNcbmZyb20gYSBiYXNlIHNldCBvZiBgYF9fZ2V0aXRlbV9fKClgYCwgYGBfX3NldGl0ZW1fXygpYGAsXG5gYF9fZGVsaXRlbV9fKClgYCwgYW5kIGBga2V5cygpYGAuIE11dGFibGUgc2VxdWVuY2VzIHNob3VsZCBwcm92aWRlXG5tZXRob2RzIGBgYXBwZW5kKClgYCwgYGBjb3VudCgpYGAsIGBgaW5kZXgoKWBgLCBgYGV4dGVuZCgpYGAsXG5gYGluc2VydCgpYGAsIGBgcG9wKClgYCwgYGByZW1vdmUoKWBgLCBgYHJldmVyc2UoKWBgIGFuZCBgYHNvcnQoKWBgLFxubGlrZSBQeXRob24gc3RhbmRhcmQgbGlzdCBvYmplY3RzLiAgRmluYWxseSwgc2VxdWVuY2UgdHlwZXMgc2hvdWxkXG5pbXBsZW1lbnQgYWRkaXRpb24gKG1lYW5pbmcgY29uY2F0ZW5hdGlvbikgYW5kIG11bHRpcGxpY2F0aW9uIChtZWFuaW5nXG5yZXBldGl0aW9uKSBieSBkZWZpbmluZyB0aGUgbWV0aG9kcyBgYF9fYWRkX18oKWBgLCBgYF9fcmFkZF9fKClgYCxcbmBgX19pYWRkX18oKWBgLCBgYF9fbXVsX18oKWBgLCBgYF9fcm11bF9fKClgYCBhbmQgYGBfX2ltdWxfXygpYGBcbmRlc2NyaWJlZCBiZWxvdzsgdGhleSBzaG91bGQgbm90IGRlZmluZSBvdGhlciBudW1lcmljYWwgb3BlcmF0b3JzLiAgSXRcbmlzIHJlY29tbWVuZGVkIHRoYXQgYm90aCBtYXBwaW5ncyBhbmQgc2VxdWVuY2VzIGltcGxlbWVudCB0aGVcbmBgX19jb250YWluc19fKClgYCBtZXRob2QgdG8gYWxsb3cgZWZmaWNpZW50IHVzZSBvZiB0aGUgYGBpbmBgXG5vcGVyYXRvcjsgZm9yIG1hcHBpbmdzLCBgYGluYGAgc2hvdWxkIHNlYXJjaCB0aGUgbWFwcGluZ1wncyBrZXlzOyBmb3JcbnNlcXVlbmNlcywgaXQgc2hvdWxkIHNlYXJjaCB0aHJvdWdoIHRoZSB2YWx1ZXMuICBJdCBpcyBmdXJ0aGVyXG5yZWNvbW1lbmRlZCB0aGF0IGJvdGggbWFwcGluZ3MgYW5kIHNlcXVlbmNlcyBpbXBsZW1lbnQgdGhlXG5gYF9faXRlcl9fKClgYCBtZXRob2QgdG8gYWxsb3cgZWZmaWNpZW50IGl0ZXJhdGlvbiB0aHJvdWdoIHRoZVxuY29udGFpbmVyOyBmb3IgbWFwcGluZ3MsIGBgX19pdGVyX18oKWBgIHNob3VsZCBiZSB0aGUgc2FtZSBhc1xuYGBrZXlzKClgYDsgZm9yIHNlcXVlbmNlcywgaXQgc2hvdWxkIGl0ZXJhdGUgdGhyb3VnaCB0aGUgdmFsdWVzLlxuXG5vYmplY3QuX19sZW5fXyhzZWxmKVxuXG4gICBDYWxsZWQgdG8gaW1wbGVtZW50IHRoZSBidWlsdC1pbiBmdW5jdGlvbiBgYGxlbigpYGAuICBTaG91bGQgcmV0dXJuXG4gICB0aGUgbGVuZ3RoIG9mIHRoZSBvYmplY3QsIGFuIGludGVnZXIgYGA+PWBgIDAuICBBbHNvLCBhbiBvYmplY3RcbiAgIHRoYXQgZG9lc25cJ3QgZGVmaW5lIGEgYGBfX2Jvb2xfXygpYGAgbWV0aG9kIGFuZCB3aG9zZSBgYF9fbGVuX18oKWBgXG4gICBtZXRob2QgcmV0dXJucyB6ZXJvIGlzIGNvbnNpZGVyZWQgdG8gYmUgZmFsc2UgaW4gYSBCb29sZWFuIGNvbnRleHQuXG5cbk5vdGU6IFNsaWNpbmcgaXMgZG9uZSBleGNsdXNpdmVseSB3aXRoIHRoZSBmb2xsb3dpbmcgdGhyZWUgbWV0aG9kcy4gIEFcbiAgY2FsbCBsaWtlXG5cbiAgICAgYVsxOjJdID0gYlxuXG4gIGlzIHRyYW5zbGF0ZWQgdG9cblxuICAgICBhW3NsaWNlKDEsIDIsIE5vbmUpXSA9IGJcblxuICBhbmQgc28gZm9ydGguICBNaXNzaW5nIHNsaWNlIGl0ZW1zIGFyZSBhbHdheXMgZmlsbGVkIGluIHdpdGhcbiAgYGBOb25lYGAuXG5cbm9iamVjdC5fX2dldGl0ZW1fXyhzZWxmLCBrZXkpXG5cbiAgIENhbGxlZCB0byBpbXBsZW1lbnQgZXZhbHVhdGlvbiBvZiBgYHNlbGZba2V5XWBgLiBGb3Igc2VxdWVuY2VcbiAgIHR5cGVzLCB0aGUgYWNjZXB0ZWQga2V5cyBzaG91bGQgYmUgaW50ZWdlcnMgYW5kIHNsaWNlIG9iamVjdHMuXG4gICBOb3RlIHRoYXQgdGhlIHNwZWNpYWwgaW50ZXJwcmV0YXRpb24gb2YgbmVnYXRpdmUgaW5kZXhlcyAoaWYgdGhlXG4gICBjbGFzcyB3aXNoZXMgdG8gZW11bGF0ZSBhIHNlcXVlbmNlIHR5cGUpIGlzIHVwIHRvIHRoZVxuICAgYGBfX2dldGl0ZW1fXygpYGAgbWV0aG9kLiBJZiAqa2V5KiBpcyBvZiBhbiBpbmFwcHJvcHJpYXRlIHR5cGUsXG4gICBgYFR5cGVFcnJvcmBgIG1heSBiZSByYWlzZWQ7IGlmIG9mIGEgdmFsdWUgb3V0c2lkZSB0aGUgc2V0IG9mXG4gICBpbmRleGVzIGZvciB0aGUgc2VxdWVuY2UgKGFmdGVyIGFueSBzcGVjaWFsIGludGVycHJldGF0aW9uIG9mXG4gICBuZWdhdGl2ZSB2YWx1ZXMpLCBgYEluZGV4RXJyb3JgYCBzaG91bGQgYmUgcmFpc2VkLiBGb3IgbWFwcGluZ1xuICAgdHlwZXMsIGlmICprZXkqIGlzIG1pc3NpbmcgKG5vdCBpbiB0aGUgY29udGFpbmVyKSwgYGBLZXlFcnJvcmBgXG4gICBzaG91bGQgYmUgcmFpc2VkLlxuXG4gICBOb3RlOiBgYGZvcmBgIGxvb3BzIGV4cGVjdCB0aGF0IGFuIGBgSW5kZXhFcnJvcmBgIHdpbGwgYmUgcmFpc2VkIGZvclxuICAgICBpbGxlZ2FsIGluZGV4ZXMgdG8gYWxsb3cgcHJvcGVyIGRldGVjdGlvbiBvZiB0aGUgZW5kIG9mIHRoZVxuICAgICBzZXF1ZW5jZS5cblxub2JqZWN0Ll9fc2V0aXRlbV9fKHNlbGYsIGtleSwgdmFsdWUpXG5cbiAgIENhbGxlZCB0byBpbXBsZW1lbnQgYXNzaWdubWVudCB0byBgYHNlbGZba2V5XWBgLiAgU2FtZSBub3RlIGFzIGZvclxuICAgYGBfX2dldGl0ZW1fXygpYGAuICBUaGlzIHNob3VsZCBvbmx5IGJlIGltcGxlbWVudGVkIGZvciBtYXBwaW5ncyBpZlxuICAgdGhlIG9iamVjdHMgc3VwcG9ydCBjaGFuZ2VzIHRvIHRoZSB2YWx1ZXMgZm9yIGtleXMsIG9yIGlmIG5ldyBrZXlzXG4gICBjYW4gYmUgYWRkZWQsIG9yIGZvciBzZXF1ZW5jZXMgaWYgZWxlbWVudHMgY2FuIGJlIHJlcGxhY2VkLiAgVGhlXG4gICBzYW1lIGV4Y2VwdGlvbnMgc2hvdWxkIGJlIHJhaXNlZCBmb3IgaW1wcm9wZXIgKmtleSogdmFsdWVzIGFzIGZvclxuICAgdGhlIGBgX19nZXRpdGVtX18oKWBgIG1ldGhvZC5cblxub2JqZWN0Ll9fZGVsaXRlbV9fKHNlbGYsIGtleSlcblxuICAgQ2FsbGVkIHRvIGltcGxlbWVudCBkZWxldGlvbiBvZiBgYHNlbGZba2V5XWBgLiAgU2FtZSBub3RlIGFzIGZvclxuICAgYGBfX2dldGl0ZW1fXygpYGAuICBUaGlzIHNob3VsZCBvbmx5IGJlIGltcGxlbWVudGVkIGZvciBtYXBwaW5ncyBpZlxuICAgdGhlIG9iamVjdHMgc3VwcG9ydCByZW1vdmFsIG9mIGtleXMsIG9yIGZvciBzZXF1ZW5jZXMgaWYgZWxlbWVudHNcbiAgIGNhbiBiZSByZW1vdmVkIGZyb20gdGhlIHNlcXVlbmNlLiAgVGhlIHNhbWUgZXhjZXB0aW9ucyBzaG91bGQgYmVcbiAgIHJhaXNlZCBmb3IgaW1wcm9wZXIgKmtleSogdmFsdWVzIGFzIGZvciB0aGUgYGBfX2dldGl0ZW1fXygpYGBcbiAgIG1ldGhvZC5cblxub2JqZWN0Ll9faXRlcl9fKHNlbGYpXG5cbiAgIFRoaXMgbWV0aG9kIGlzIGNhbGxlZCB3aGVuIGFuIGl0ZXJhdG9yIGlzIHJlcXVpcmVkIGZvciBhIGNvbnRhaW5lci5cbiAgIFRoaXMgbWV0aG9kIHNob3VsZCByZXR1cm4gYSBuZXcgaXRlcmF0b3Igb2JqZWN0IHRoYXQgY2FuIGl0ZXJhdGVcbiAgIG92ZXIgYWxsIHRoZSBvYmplY3RzIGluIHRoZSBjb250YWluZXIuICBGb3IgbWFwcGluZ3MsIGl0IHNob3VsZFxuICAgaXRlcmF0ZSBvdmVyIHRoZSBrZXlzIG9mIHRoZSBjb250YWluZXIsIGFuZCBzaG91bGQgYWxzbyBiZSBtYWRlXG4gICBhdmFpbGFibGUgYXMgdGhlIG1ldGhvZCBgYGtleXMoKWBgLlxuXG4gICBJdGVyYXRvciBvYmplY3RzIGFsc28gbmVlZCB0byBpbXBsZW1lbnQgdGhpcyBtZXRob2Q7IHRoZXkgYXJlXG4gICByZXF1aXJlZCB0byByZXR1cm4gdGhlbXNlbHZlcy4gIEZvciBtb3JlIGluZm9ybWF0aW9uIG9uIGl0ZXJhdG9yXG4gICBvYmplY3RzLCBzZWUgKkl0ZXJhdG9yIFR5cGVzKi5cblxub2JqZWN0Ll9fcmV2ZXJzZWRfXyhzZWxmKVxuXG4gICBDYWxsZWQgKGlmIHByZXNlbnQpIGJ5IHRoZSBgYHJldmVyc2VkKClgYCBidWlsdC1pbiB0byBpbXBsZW1lbnRcbiAgIHJldmVyc2UgaXRlcmF0aW9uLiAgSXQgc2hvdWxkIHJldHVybiBhIG5ldyBpdGVyYXRvciBvYmplY3QgdGhhdFxuICAgaXRlcmF0ZXMgb3ZlciBhbGwgdGhlIG9iamVjdHMgaW4gdGhlIGNvbnRhaW5lciBpbiByZXZlcnNlIG9yZGVyLlxuXG4gICBJZiB0aGUgYGBfX3JldmVyc2VkX18oKWBgIG1ldGhvZCBpcyBub3QgcHJvdmlkZWQsIHRoZVxuICAgYGByZXZlcnNlZCgpYGAgYnVpbHQtaW4gd2lsbCBmYWxsIGJhY2sgdG8gdXNpbmcgdGhlIHNlcXVlbmNlXG4gICBwcm90b2NvbCAoYGBfX2xlbl9fKClgYCBhbmQgYGBfX2dldGl0ZW1fXygpYGApLiAgT2JqZWN0cyB0aGF0XG4gICBzdXBwb3J0IHRoZSBzZXF1ZW5jZSBwcm90b2NvbCBzaG91bGQgb25seSBwcm92aWRlXG4gICBgYF9fcmV2ZXJzZWRfXygpYGAgaWYgdGhleSBjYW4gcHJvdmlkZSBhbiBpbXBsZW1lbnRhdGlvbiB0aGF0IGlzXG4gICBtb3JlIGVmZmljaWVudCB0aGFuIHRoZSBvbmUgcHJvdmlkZWQgYnkgYGByZXZlcnNlZCgpYGAuXG5cblRoZSBtZW1iZXJzaGlwIHRlc3Qgb3BlcmF0b3JzIChgYGluYGAgYW5kIGBgbm90IGluYGApIGFyZSBub3JtYWxseVxuaW1wbGVtZW50ZWQgYXMgYW4gaXRlcmF0aW9uIHRocm91Z2ggYSBzZXF1ZW5jZS4gIEhvd2V2ZXIsIGNvbnRhaW5lclxub2JqZWN0cyBjYW4gc3VwcGx5IHRoZSBmb2xsb3dpbmcgc3BlY2lhbCBtZXRob2Qgd2l0aCBhIG1vcmUgZWZmaWNpZW50XG5pbXBsZW1lbnRhdGlvbiwgd2hpY2ggYWxzbyBkb2VzIG5vdCByZXF1aXJlIHRoZSBvYmplY3QgYmUgYSBzZXF1ZW5jZS5cblxub2JqZWN0Ll9fY29udGFpbnNfXyhzZWxmLCBpdGVtKVxuXG4gICBDYWxsZWQgdG8gaW1wbGVtZW50IG1lbWJlcnNoaXAgdGVzdCBvcGVyYXRvcnMuICBTaG91bGQgcmV0dXJuIHRydWVcbiAgIGlmICppdGVtKiBpcyBpbiAqc2VsZiosIGZhbHNlIG90aGVyd2lzZS4gIEZvciBtYXBwaW5nIG9iamVjdHMsIHRoaXNcbiAgIHNob3VsZCBjb25zaWRlciB0aGUga2V5cyBvZiB0aGUgbWFwcGluZyByYXRoZXIgdGhhbiB0aGUgdmFsdWVzIG9yXG4gICB0aGUga2V5LWl0ZW0gcGFpcnMuXG5cbiAgIEZvciBvYmplY3RzIHRoYXQgZG9uXCd0IGRlZmluZSBgYF9fY29udGFpbnNfXygpYGAsIHRoZSBtZW1iZXJzaGlwXG4gICB0ZXN0IGZpcnN0IHRyaWVzIGl0ZXJhdGlvbiB2aWEgYGBfX2l0ZXJfXygpYGAsIHRoZW4gdGhlIG9sZFxuICAgc2VxdWVuY2UgaXRlcmF0aW9uIHByb3RvY29sIHZpYSBgYF9fZ2V0aXRlbV9fKClgYCwgc2VlICp0aGlzXG4gICBzZWN0aW9uIGluIHRoZSBsYW5ndWFnZSByZWZlcmVuY2UqLlxuXG5cbkVtdWxhdGluZyBudW1lcmljIHR5cGVzXG49PT09PT09PT09PT09PT09PT09PT09PVxuXG5UaGUgZm9sbG93aW5nIG1ldGhvZHMgY2FuIGJlIGRlZmluZWQgdG8gZW11bGF0ZSBudW1lcmljIG9iamVjdHMuXG5NZXRob2RzIGNvcnJlc3BvbmRpbmcgdG8gb3BlcmF0aW9ucyB0aGF0IGFyZSBub3Qgc3VwcG9ydGVkIGJ5IHRoZVxucGFydGljdWxhciBraW5kIG9mIG51bWJlciBpbXBsZW1lbnRlZCAoZS5nLiwgYml0d2lzZSBvcGVyYXRpb25zIGZvclxubm9uLWludGVncmFsIG51bWJlcnMpIHNob3VsZCBiZSBsZWZ0IHVuZGVmaW5lZC5cblxub2JqZWN0Ll9fYWRkX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19zdWJfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX211bF9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9fdHJ1ZWRpdl9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9fZmxvb3JkaXZfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX21vZF9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9fZGl2bW9kX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19wb3dfXyhzZWxmLCBvdGhlclssIG1vZHVsb10pXG5vYmplY3QuX19sc2hpZnRfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX3JzaGlmdF9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9fYW5kX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX194b3JfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX29yX18oc2VsZiwgb3RoZXIpXG5cbiAgIFRoZXNlIG1ldGhvZHMgYXJlIGNhbGxlZCB0byBpbXBsZW1lbnQgdGhlIGJpbmFyeSBhcml0aG1ldGljXG4gICBvcGVyYXRpb25zIChgYCtgYCwgYGAtYGAsIGBgKmBgLCBgYC9gYCwgYGAvL2BgLCBgYCVgYCxcbiAgIGBgZGl2bW9kKClgYCwgYGBwb3coKWBgLCBgYCoqYGAsIGBgPDxgYCwgYGA+PmBgLCBgYCZgYCwgYGBeYGAsXG4gICBgYHxgYCkuICBGb3IgaW5zdGFuY2UsIHRvIGV2YWx1YXRlIHRoZSBleHByZXNzaW9uIGBgeCArIHlgYCwgd2hlcmVcbiAgICp4KiBpcyBhbiBpbnN0YW5jZSBvZiBhIGNsYXNzIHRoYXQgaGFzIGFuIGBgX19hZGRfXygpYGAgbWV0aG9kLFxuICAgYGB4Ll9fYWRkX18oeSlgYCBpcyBjYWxsZWQuICBUaGUgYGBfX2Rpdm1vZF9fKClgYCBtZXRob2Qgc2hvdWxkIGJlXG4gICB0aGUgZXF1aXZhbGVudCB0byB1c2luZyBgYF9fZmxvb3JkaXZfXygpYGAgYW5kIGBgX19tb2RfXygpYGA7IGl0XG4gICBzaG91bGQgbm90IGJlIHJlbGF0ZWQgdG8gYGBfX3RydWVkaXZfXygpYGAuICBOb3RlIHRoYXRcbiAgIGBgX19wb3dfXygpYGAgc2hvdWxkIGJlIGRlZmluZWQgdG8gYWNjZXB0IGFuIG9wdGlvbmFsIHRoaXJkXG4gICBhcmd1bWVudCBpZiB0aGUgdGVybmFyeSB2ZXJzaW9uIG9mIHRoZSBidWlsdC1pbiBgYHBvdygpYGAgZnVuY3Rpb25cbiAgIGlzIHRvIGJlIHN1cHBvcnRlZC5cblxuICAgSWYgb25lIG9mIHRob3NlIG1ldGhvZHMgZG9lcyBub3Qgc3VwcG9ydCB0aGUgb3BlcmF0aW9uIHdpdGggdGhlXG4gICBzdXBwbGllZCBhcmd1bWVudHMsIGl0IHNob3VsZCByZXR1cm4gYGBOb3RJbXBsZW1lbnRlZGBgLlxuXG5vYmplY3QuX19yYWRkX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19yc3ViX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19ybXVsX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19ydHJ1ZWRpdl9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9fcmZsb29yZGl2X18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19ybW9kX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19yZGl2bW9kX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19ycG93X18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19ybHNoaWZ0X18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19ycnNoaWZ0X18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19yYW5kX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19yeG9yX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19yb3JfXyhzZWxmLCBvdGhlcilcblxuICAgVGhlc2UgbWV0aG9kcyBhcmUgY2FsbGVkIHRvIGltcGxlbWVudCB0aGUgYmluYXJ5IGFyaXRobWV0aWNcbiAgIG9wZXJhdGlvbnMgKGBgK2BgLCBgYC1gYCwgYGAqYGAsIGBgL2BgLCBgYC8vYGAsIGBgJWBgLFxuICAgYGBkaXZtb2QoKWBgLCBgYHBvdygpYGAsIGBgKipgYCwgYGA8PGBgLCBgYD4+YGAsIGBgJmBgLCBgYF5gYCxcbiAgIGBgfGBgKSB3aXRoIHJlZmxlY3RlZCAoc3dhcHBlZCkgb3BlcmFuZHMuIFRoZXNlIGZ1bmN0aW9ucyBhcmUgb25seVxuICAgY2FsbGVkIGlmIHRoZSBsZWZ0IG9wZXJhbmQgZG9lcyBub3Qgc3VwcG9ydCB0aGUgY29ycmVzcG9uZGluZ1xuICAgb3BlcmF0aW9uIGFuZCB0aGUgb3BlcmFuZHMgYXJlIG9mIGRpZmZlcmVudCB0eXBlcy4gWzJdICBGb3JcbiAgIGluc3RhbmNlLCB0byBldmFsdWF0ZSB0aGUgZXhwcmVzc2lvbiBgYHggLSB5YGAsIHdoZXJlICp5KiBpcyBhblxuICAgaW5zdGFuY2Ugb2YgYSBjbGFzcyB0aGF0IGhhcyBhbiBgYF9fcnN1Yl9fKClgYCBtZXRob2QsXG4gICBgYHkuX19yc3ViX18oeClgYCBpcyBjYWxsZWQgaWYgYGB4Ll9fc3ViX18oeSlgYCByZXR1cm5zXG4gICAqTm90SW1wbGVtZW50ZWQqLlxuXG4gICBOb3RlIHRoYXQgdGVybmFyeSBgYHBvdygpYGAgd2lsbCBub3QgdHJ5IGNhbGxpbmcgYGBfX3Jwb3dfXygpYGBcbiAgICh0aGUgY29lcmNpb24gcnVsZXMgd291bGQgYmVjb21lIHRvbyBjb21wbGljYXRlZCkuXG5cbiAgIE5vdGU6IElmIHRoZSByaWdodCBvcGVyYW5kXCdzIHR5cGUgaXMgYSBzdWJjbGFzcyBvZiB0aGUgbGVmdCBvcGVyYW5kXCdzXG4gICAgIHR5cGUgYW5kIHRoYXQgc3ViY2xhc3MgcHJvdmlkZXMgdGhlIHJlZmxlY3RlZCBtZXRob2QgZm9yIHRoZVxuICAgICBvcGVyYXRpb24sIHRoaXMgbWV0aG9kIHdpbGwgYmUgY2FsbGVkIGJlZm9yZSB0aGUgbGVmdCBvcGVyYW5kXCdzXG4gICAgIG5vbi1yZWZsZWN0ZWQgbWV0aG9kLiAgVGhpcyBiZWhhdmlvciBhbGxvd3Mgc3ViY2xhc3NlcyB0b1xuICAgICBvdmVycmlkZSB0aGVpciBhbmNlc3RvcnNcJyBvcGVyYXRpb25zLlxuXG5vYmplY3QuX19pYWRkX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19pc3ViX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19pbXVsX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19pdHJ1ZWRpdl9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9faWZsb29yZGl2X18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19pbW9kX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19pcG93X18oc2VsZiwgb3RoZXJbLCBtb2R1bG9dKVxub2JqZWN0Ll9faWxzaGlmdF9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9faXJzaGlmdF9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9faWFuZF9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9faXhvcl9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9faW9yX18oc2VsZiwgb3RoZXIpXG5cbiAgIFRoZXNlIG1ldGhvZHMgYXJlIGNhbGxlZCB0byBpbXBsZW1lbnQgdGhlIGF1Z21lbnRlZCBhcml0aG1ldGljXG4gICBhc3NpZ25tZW50cyAoYGArPWBgLCBgYC09YGAsIGBgKj1gYCwgYGAvPWBgLCBgYC8vPWBgLCBgYCU9YGAsXG4gICBgYCoqPWBgLCBgYDw8PWBgLCBgYD4+PWBgLCBgYCY9YGAsIGBgXj1gYCwgYGB8PWBgKS4gIFRoZXNlIG1ldGhvZHNcbiAgIHNob3VsZCBhdHRlbXB0IHRvIGRvIHRoZSBvcGVyYXRpb24gaW4tcGxhY2UgKG1vZGlmeWluZyAqc2VsZiopIGFuZFxuICAgcmV0dXJuIHRoZSByZXN1bHQgKHdoaWNoIGNvdWxkIGJlLCBidXQgZG9lcyBub3QgaGF2ZSB0byBiZSxcbiAgICpzZWxmKikuICBJZiBhIHNwZWNpZmljIG1ldGhvZCBpcyBub3QgZGVmaW5lZCwgdGhlIGF1Z21lbnRlZFxuICAgYXNzaWdubWVudCBmYWxscyBiYWNrIHRvIHRoZSBub3JtYWwgbWV0aG9kcy4gIEZvciBpbnN0YW5jZSwgdG9cbiAgIGV4ZWN1dGUgdGhlIHN0YXRlbWVudCBgYHggKz0geWBgLCB3aGVyZSAqeCogaXMgYW4gaW5zdGFuY2Ugb2YgYVxuICAgY2xhc3MgdGhhdCBoYXMgYW4gYGBfX2lhZGRfXygpYGAgbWV0aG9kLCBgYHguX19pYWRkX18oeSlgYCBpc1xuICAgY2FsbGVkLiAgSWYgKngqIGlzIGFuIGluc3RhbmNlIG9mIGEgY2xhc3MgdGhhdCBkb2VzIG5vdCBkZWZpbmUgYVxuICAgYGBfX2lhZGRfXygpYGAgbWV0aG9kLCBgYHguX19hZGRfXyh5KWBgIGFuZCBgYHkuX19yYWRkX18oeClgYCBhcmVcbiAgIGNvbnNpZGVyZWQsIGFzIHdpdGggdGhlIGV2YWx1YXRpb24gb2YgYGB4ICsgeWBgLlxuXG5vYmplY3QuX19uZWdfXyhzZWxmKVxub2JqZWN0Ll9fcG9zX18oc2VsZilcbm9iamVjdC5fX2Fic19fKHNlbGYpXG5vYmplY3QuX19pbnZlcnRfXyhzZWxmKVxuXG4gICBDYWxsZWQgdG8gaW1wbGVtZW50IHRoZSB1bmFyeSBhcml0aG1ldGljIG9wZXJhdGlvbnMgKGBgLWBgLCBgYCtgYCxcbiAgIGBgYWJzKClgYCBhbmQgYGB+YGApLlxuXG5vYmplY3QuX19jb21wbGV4X18oc2VsZilcbm9iamVjdC5fX2ludF9fKHNlbGYpXG5vYmplY3QuX19mbG9hdF9fKHNlbGYpXG5vYmplY3QuX19yb3VuZF9fKHNlbGZbLCBuXSlcblxuICAgQ2FsbGVkIHRvIGltcGxlbWVudCB0aGUgYnVpbHQtaW4gZnVuY3Rpb25zIGBgY29tcGxleCgpYGAsXG4gICBgYGludCgpYGAsIGBgZmxvYXQoKWBgIGFuZCBgYHJvdW5kKClgYC4gIFNob3VsZCByZXR1cm4gYSB2YWx1ZSBvZlxuICAgdGhlIGFwcHJvcHJpYXRlIHR5cGUuXG5cbm9iamVjdC5fX2luZGV4X18oc2VsZilcblxuICAgQ2FsbGVkIHRvIGltcGxlbWVudCBgYG9wZXJhdG9yLmluZGV4KClgYC4gIEFsc28gY2FsbGVkIHdoZW5ldmVyXG4gICBQeXRob24gbmVlZHMgYW4gaW50ZWdlciBvYmplY3QgKHN1Y2ggYXMgaW4gc2xpY2luZywgb3IgaW4gdGhlXG4gICBidWlsdC1pbiBgYGJpbigpYGAsIGBgaGV4KClgYCBhbmQgYGBvY3QoKWBgIGZ1bmN0aW9ucykuIE11c3QgcmV0dXJuXG4gICBhbiBpbnRlZ2VyLlxuXG5cbldpdGggU3RhdGVtZW50IENvbnRleHQgTWFuYWdlcnNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQSAqY29udGV4dCBtYW5hZ2VyKiBpcyBhbiBvYmplY3QgdGhhdCBkZWZpbmVzIHRoZSBydW50aW1lIGNvbnRleHQgdG9cbmJlIGVzdGFibGlzaGVkIHdoZW4gZXhlY3V0aW5nIGEgYGB3aXRoYGAgc3RhdGVtZW50LiBUaGUgY29udGV4dFxubWFuYWdlciBoYW5kbGVzIHRoZSBlbnRyeSBpbnRvLCBhbmQgdGhlIGV4aXQgZnJvbSwgdGhlIGRlc2lyZWQgcnVudGltZVxuY29udGV4dCBmb3IgdGhlIGV4ZWN1dGlvbiBvZiB0aGUgYmxvY2sgb2YgY29kZS4gIENvbnRleHQgbWFuYWdlcnMgYXJlXG5ub3JtYWxseSBpbnZva2VkIHVzaW5nIHRoZSBgYHdpdGhgYCBzdGF0ZW1lbnQgKGRlc2NyaWJlZCBpbiBzZWN0aW9uXG4qVGhlIHdpdGggc3RhdGVtZW50KiksIGJ1dCBjYW4gYWxzbyBiZSB1c2VkIGJ5IGRpcmVjdGx5IGludm9raW5nIHRoZWlyXG5tZXRob2RzLlxuXG5UeXBpY2FsIHVzZXMgb2YgY29udGV4dCBtYW5hZ2VycyBpbmNsdWRlIHNhdmluZyBhbmQgcmVzdG9yaW5nIHZhcmlvdXNcbmtpbmRzIG9mIGdsb2JhbCBzdGF0ZSwgbG9ja2luZyBhbmQgdW5sb2NraW5nIHJlc291cmNlcywgY2xvc2luZyBvcGVuZWRcbmZpbGVzLCBldGMuXG5cbkZvciBtb3JlIGluZm9ybWF0aW9uIG9uIGNvbnRleHQgbWFuYWdlcnMsIHNlZSAqQ29udGV4dCBNYW5hZ2VyIFR5cGVzKi5cblxub2JqZWN0Ll9fZW50ZXJfXyhzZWxmKVxuXG4gICBFbnRlciB0aGUgcnVudGltZSBjb250ZXh0IHJlbGF0ZWQgdG8gdGhpcyBvYmplY3QuIFRoZSBgYHdpdGhgYFxuICAgc3RhdGVtZW50IHdpbGwgYmluZCB0aGlzIG1ldGhvZFwncyByZXR1cm4gdmFsdWUgdG8gdGhlIHRhcmdldChzKVxuICAgc3BlY2lmaWVkIGluIHRoZSBgYGFzYGAgY2xhdXNlIG9mIHRoZSBzdGF0ZW1lbnQsIGlmIGFueS5cblxub2JqZWN0Ll9fZXhpdF9fKHNlbGYsIGV4Y190eXBlLCBleGNfdmFsdWUsIHRyYWNlYmFjaylcblxuICAgRXhpdCB0aGUgcnVudGltZSBjb250ZXh0IHJlbGF0ZWQgdG8gdGhpcyBvYmplY3QuIFRoZSBwYXJhbWV0ZXJzXG4gICBkZXNjcmliZSB0aGUgZXhjZXB0aW9uIHRoYXQgY2F1c2VkIHRoZSBjb250ZXh0IHRvIGJlIGV4aXRlZC4gSWYgdGhlXG4gICBjb250ZXh0IHdhcyBleGl0ZWQgd2l0aG91dCBhbiBleGNlcHRpb24sIGFsbCB0aHJlZSBhcmd1bWVudHMgd2lsbFxuICAgYmUgYGBOb25lYGAuXG5cbiAgIElmIGFuIGV4Y2VwdGlvbiBpcyBzdXBwbGllZCwgYW5kIHRoZSBtZXRob2Qgd2lzaGVzIHRvIHN1cHByZXNzIHRoZVxuICAgZXhjZXB0aW9uIChpLmUuLCBwcmV2ZW50IGl0IGZyb20gYmVpbmcgcHJvcGFnYXRlZCksIGl0IHNob3VsZFxuICAgcmV0dXJuIGEgdHJ1ZSB2YWx1ZS4gT3RoZXJ3aXNlLCB0aGUgZXhjZXB0aW9uIHdpbGwgYmUgcHJvY2Vzc2VkXG4gICBub3JtYWxseSB1cG9uIGV4aXQgZnJvbSB0aGlzIG1ldGhvZC5cblxuICAgTm90ZSB0aGF0IGBgX19leGl0X18oKWBgIG1ldGhvZHMgc2hvdWxkIG5vdCByZXJhaXNlIHRoZSBwYXNzZWQtaW5cbiAgIGV4Y2VwdGlvbjsgdGhpcyBpcyB0aGUgY2FsbGVyXCdzIHJlc3BvbnNpYmlsaXR5LlxuXG5TZWUgYWxzbzpcblxuICAgKipQRVAgMDM0MyoqIC0gVGhlICJ3aXRoIiBzdGF0ZW1lbnRcbiAgICAgIFRoZSBzcGVjaWZpY2F0aW9uLCBiYWNrZ3JvdW5kLCBhbmQgZXhhbXBsZXMgZm9yIHRoZSBQeXRob25cbiAgICAgIGBgd2l0aGBgIHN0YXRlbWVudC5cblxuXG5TcGVjaWFsIG1ldGhvZCBsb29rdXBcbj09PT09PT09PT09PT09PT09PT09PVxuXG5Gb3IgY3VzdG9tIGNsYXNzZXMsIGltcGxpY2l0IGludm9jYXRpb25zIG9mIHNwZWNpYWwgbWV0aG9kcyBhcmUgb25seVxuZ3VhcmFudGVlZCB0byB3b3JrIGNvcnJlY3RseSBpZiBkZWZpbmVkIG9uIGFuIG9iamVjdFwncyB0eXBlLCBub3QgaW5cbnRoZSBvYmplY3RcJ3MgaW5zdGFuY2UgZGljdGlvbmFyeS4gIFRoYXQgYmVoYXZpb3VyIGlzIHRoZSByZWFzb24gd2h5XG50aGUgZm9sbG93aW5nIGNvZGUgcmFpc2VzIGFuIGV4Y2VwdGlvbjpcblxuICAgPj4+IGNsYXNzIEM6XG4gICAuLi4gICAgIHBhc3NcbiAgIC4uLlxuICAgPj4+IGMgPSBDKClcbiAgID4+PiBjLl9fbGVuX18gPSBsYW1iZGE6IDVcbiAgID4+PiBsZW4oYylcbiAgIFRyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KTpcbiAgICAgRmlsZSAiPHN0ZGluPiIsIGxpbmUgMSwgaW4gPG1vZHVsZT5cbiAgIFR5cGVFcnJvcjogb2JqZWN0IG9mIHR5cGUgXCdDXCcgaGFzIG5vIGxlbigpXG5cblRoZSByYXRpb25hbGUgYmVoaW5kIHRoaXMgYmVoYXZpb3VyIGxpZXMgd2l0aCBhIG51bWJlciBvZiBzcGVjaWFsXG5tZXRob2RzIHN1Y2ggYXMgYGBfX2hhc2hfXygpYGAgYW5kIGBgX19yZXByX18oKWBgIHRoYXQgYXJlIGltcGxlbWVudGVkXG5ieSBhbGwgb2JqZWN0cywgaW5jbHVkaW5nIHR5cGUgb2JqZWN0cy4gSWYgdGhlIGltcGxpY2l0IGxvb2t1cCBvZlxudGhlc2UgbWV0aG9kcyB1c2VkIHRoZSBjb252ZW50aW9uYWwgbG9va3VwIHByb2Nlc3MsIHRoZXkgd291bGQgZmFpbFxud2hlbiBpbnZva2VkIG9uIHRoZSB0eXBlIG9iamVjdCBpdHNlbGY6XG5cbiAgID4+PiAxIC5fX2hhc2hfXygpID09IGhhc2goMSlcbiAgIFRydWVcbiAgID4+PiBpbnQuX19oYXNoX18oKSA9PSBoYXNoKGludClcbiAgIFRyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KTpcbiAgICAgRmlsZSAiPHN0ZGluPiIsIGxpbmUgMSwgaW4gPG1vZHVsZT5cbiAgIFR5cGVFcnJvcjogZGVzY3JpcHRvciBcJ19faGFzaF9fXCcgb2YgXCdpbnRcJyBvYmplY3QgbmVlZHMgYW4gYXJndW1lbnRcblxuSW5jb3JyZWN0bHkgYXR0ZW1wdGluZyB0byBpbnZva2UgYW4gdW5ib3VuZCBtZXRob2Qgb2YgYSBjbGFzcyBpbiB0aGlzXG53YXkgaXMgc29tZXRpbWVzIHJlZmVycmVkIHRvIGFzIFwnbWV0YWNsYXNzIGNvbmZ1c2lvblwnLCBhbmQgaXMgYXZvaWRlZFxuYnkgYnlwYXNzaW5nIHRoZSBpbnN0YW5jZSB3aGVuIGxvb2tpbmcgdXAgc3BlY2lhbCBtZXRob2RzOlxuXG4gICA+Pj4gdHlwZSgxKS5fX2hhc2hfXygxKSA9PSBoYXNoKDEpXG4gICBUcnVlXG4gICA+Pj4gdHlwZShpbnQpLl9faGFzaF9fKGludCkgPT0gaGFzaChpbnQpXG4gICBUcnVlXG5cbkluIGFkZGl0aW9uIHRvIGJ5cGFzc2luZyBhbnkgaW5zdGFuY2UgYXR0cmlidXRlcyBpbiB0aGUgaW50ZXJlc3Qgb2ZcbmNvcnJlY3RuZXNzLCBpbXBsaWNpdCBzcGVjaWFsIG1ldGhvZCBsb29rdXAgZ2VuZXJhbGx5IGFsc28gYnlwYXNzZXNcbnRoZSBgYF9fZ2V0YXR0cmlidXRlX18oKWBgIG1ldGhvZCBldmVuIG9mIHRoZSBvYmplY3RcJ3MgbWV0YWNsYXNzOlxuXG4gICA+Pj4gY2xhc3MgTWV0YSh0eXBlKTpcbiAgIC4uLiAgICBkZWYgX19nZXRhdHRyaWJ1dGVfXygqYXJncyk6XG4gICAuLi4gICAgICAgcHJpbnQoIk1ldGFjbGFzcyBnZXRhdHRyaWJ1dGUgaW52b2tlZCIpXG4gICAuLi4gICAgICAgcmV0dXJuIHR5cGUuX19nZXRhdHRyaWJ1dGVfXygqYXJncylcbiAgIC4uLlxuICAgPj4+IGNsYXNzIEMob2JqZWN0LCBtZXRhY2xhc3M9TWV0YSk6XG4gICAuLi4gICAgIGRlZiBfX2xlbl9fKHNlbGYpOlxuICAgLi4uICAgICAgICAgcmV0dXJuIDEwXG4gICAuLi4gICAgIGRlZiBfX2dldGF0dHJpYnV0ZV9fKCphcmdzKTpcbiAgIC4uLiAgICAgICAgIHByaW50KCJDbGFzcyBnZXRhdHRyaWJ1dGUgaW52b2tlZCIpXG4gICAuLi4gICAgICAgICByZXR1cm4gb2JqZWN0Ll9fZ2V0YXR0cmlidXRlX18oKmFyZ3MpXG4gICAuLi5cbiAgID4+PiBjID0gQygpXG4gICA+Pj4gYy5fX2xlbl9fKCkgICAgICAgICAgICAgICAgICMgRXhwbGljaXQgbG9va3VwIHZpYSBpbnN0YW5jZVxuICAgQ2xhc3MgZ2V0YXR0cmlidXRlIGludm9rZWRcbiAgIDEwXG4gICA+Pj4gdHlwZShjKS5fX2xlbl9fKGMpICAgICAgICAgICMgRXhwbGljaXQgbG9va3VwIHZpYSB0eXBlXG4gICBNZXRhY2xhc3MgZ2V0YXR0cmlidXRlIGludm9rZWRcbiAgIDEwXG4gICA+Pj4gbGVuKGMpICAgICAgICAgICAgICAgICAgICAgICMgSW1wbGljaXQgbG9va3VwXG4gICAxMFxuXG5CeXBhc3NpbmcgdGhlIGBgX19nZXRhdHRyaWJ1dGVfXygpYGAgbWFjaGluZXJ5IGluIHRoaXMgZmFzaGlvblxucHJvdmlkZXMgc2lnbmlmaWNhbnQgc2NvcGUgZm9yIHNwZWVkIG9wdGltaXNhdGlvbnMgd2l0aGluIHRoZVxuaW50ZXJwcmV0ZXIsIGF0IHRoZSBjb3N0IG9mIHNvbWUgZmxleGliaWxpdHkgaW4gdGhlIGhhbmRsaW5nIG9mXG5zcGVjaWFsIG1ldGhvZHMgKHRoZSBzcGVjaWFsIG1ldGhvZCAqbXVzdCogYmUgc2V0IG9uIHRoZSBjbGFzcyBvYmplY3Rcbml0c2VsZiBpbiBvcmRlciB0byBiZSBjb25zaXN0ZW50bHkgaW52b2tlZCBieSB0aGUgaW50ZXJwcmV0ZXIpLlxuXG4tWyBGb290bm90ZXMgXS1cblxuWzFdIEl0ICppcyogcG9zc2libGUgaW4gc29tZSBjYXNlcyB0byBjaGFuZ2UgYW4gb2JqZWN0XCdzIHR5cGUsIHVuZGVyXG4gICAgY2VydGFpbiBjb250cm9sbGVkIGNvbmRpdGlvbnMuIEl0IGdlbmVyYWxseSBpc25cJ3QgYSBnb29kIGlkZWFcbiAgICB0aG91Z2gsIHNpbmNlIGl0IGNhbiBsZWFkIHRvIHNvbWUgdmVyeSBzdHJhbmdlIGJlaGF2aW91ciBpZiBpdCBpc1xuICAgIGhhbmRsZWQgaW5jb3JyZWN0bHkuXG5cblsyXSBGb3Igb3BlcmFuZHMgb2YgdGhlIHNhbWUgdHlwZSwgaXQgaXMgYXNzdW1lZCB0aGF0IGlmIHRoZSBub24tXG4gICAgcmVmbGVjdGVkIG1ldGhvZCAoc3VjaCBhcyBgYF9fYWRkX18oKWBgKSBmYWlscyB0aGUgb3BlcmF0aW9uIGlzXG4gICAgbm90IHN1cHBvcnRlZCwgd2hpY2ggaXMgd2h5IHRoZSByZWZsZWN0ZWQgbWV0aG9kIGlzIG5vdCBjYWxsZWQuXG4nLAotICdzdHJpbmctbWV0aG9kcyc6ICdcblN0cmluZyBNZXRob2RzXG4qKioqKioqKioqKioqKlxuXG5TdHJpbmcgb2JqZWN0cyBzdXBwb3J0IHRoZSBtZXRob2RzIGxpc3RlZCBiZWxvdy5cblxuSW4gYWRkaXRpb24sIFB5dGhvblwncyBzdHJpbmdzIHN1cHBvcnQgdGhlIHNlcXVlbmNlIHR5cGUgbWV0aG9kc1xuZGVzY3JpYmVkIGluIHRoZSAqU2VxdWVuY2UgVHlwZXMgLS0tIHN0ciwgYnl0ZXMsIGJ5dGVhcnJheSwgbGlzdCxcbnR1cGxlLCByYW5nZSogc2VjdGlvbi4gVG8gb3V0cHV0IGZvcm1hdHRlZCBzdHJpbmdzLCBzZWUgdGhlICpTdHJpbmdcbkZvcm1hdHRpbmcqIHNlY3Rpb24uIEFsc28sIHNlZSB0aGUgYGByZWBgIG1vZHVsZSBmb3Igc3RyaW5nIGZ1bmN0aW9uc1xuYmFzZWQgb24gcmVndWxhciBleHByZXNzaW9ucy5cblxuc3RyLmNhcGl0YWxpemUoKVxuXG4gICBSZXR1cm4gYSBjb3B5IG9mIHRoZSBzdHJpbmcgd2l0aCBpdHMgZmlyc3QgY2hhcmFjdGVyIGNhcGl0YWxpemVkXG4gICBhbmQgdGhlIHJlc3QgbG93ZXJjYXNlZC5cblxuc3RyLmNlbnRlcih3aWR0aFssIGZpbGxjaGFyXSlcblxuICAgUmV0dXJuIGNlbnRlcmVkIGluIGEgc3RyaW5nIG9mIGxlbmd0aCAqd2lkdGgqLiBQYWRkaW5nIGlzIGRvbmVcbiAgIHVzaW5nIHRoZSBzcGVjaWZpZWQgKmZpbGxjaGFyKiAoZGVmYXVsdCBpcyBhIHNwYWNlKS5cblxuc3RyLmNvdW50KHN1YlssIHN0YXJ0WywgZW5kXV0pXG5cbiAgIFJldHVybiB0aGUgbnVtYmVyIG9mIG5vbi1vdmVybGFwcGluZyBvY2N1cnJlbmNlcyBvZiBzdWJzdHJpbmcgKnN1YipcbiAgIGluIHRoZSByYW5nZSBbKnN0YXJ0KiwgKmVuZCpdLiAgT3B0aW9uYWwgYXJndW1lbnRzICpzdGFydCogYW5kXG4gICAqZW5kKiBhcmUgaW50ZXJwcmV0ZWQgYXMgaW4gc2xpY2Ugbm90YXRpb24uXG5cbnN0ci5lbmNvZGUoZW5jb2Rpbmc9InV0Zi04IiwgZXJyb3JzPSJzdHJpY3QiKVxuXG4gICBSZXR1cm4gYW4gZW5jb2RlZCB2ZXJzaW9uIG9mIHRoZSBzdHJpbmcgYXMgYSBieXRlcyBvYmplY3QuIERlZmF1bHRcbiAgIGVuY29kaW5nIGlzIGBgXCd1dGYtOFwnYGAuICplcnJvcnMqIG1heSBiZSBnaXZlbiB0byBzZXQgYSBkaWZmZXJlbnRcbiAgIGVycm9yIGhhbmRsaW5nIHNjaGVtZS4gVGhlIGRlZmF1bHQgZm9yICplcnJvcnMqIGlzIGBgXCdzdHJpY3RcJ2BgLFxuICAgbWVhbmluZyB0aGF0IGVuY29kaW5nIGVycm9ycyByYWlzZSBhIGBgVW5pY29kZUVycm9yYGAuIE90aGVyXG4gICBwb3NzaWJsZSB2YWx1ZXMgYXJlIGBgXCdpZ25vcmVcJ2BgLCBgYFwncmVwbGFjZVwnYGAsXG4gICBgYFwneG1sY2hhcnJlZnJlcGxhY2VcJ2BgLCBgYFwnYmFja3NsYXNocmVwbGFjZVwnYGAgYW5kIGFueSBvdGhlciBuYW1lXG4gICByZWdpc3RlcmVkIHZpYSBgYGNvZGVjcy5yZWdpc3Rlcl9lcnJvcigpYGAsIHNlZSBzZWN0aW9uICpDb2RlYyBCYXNlXG4gICBDbGFzc2VzKi4gRm9yIGEgbGlzdCBvZiBwb3NzaWJsZSBlbmNvZGluZ3MsIHNlZSBzZWN0aW9uICpTdGFuZGFyZFxuICAgRW5jb2RpbmdzKi5cblxuICAgQ2hhbmdlZCBpbiB2ZXJzaW9uIDMuMTogU3VwcG9ydCBmb3Iga2V5d29yZCBhcmd1bWVudHMgYWRkZWQuXG5cbnN0ci5lbmRzd2l0aChzdWZmaXhbLCBzdGFydFssIGVuZF1dKVxuXG4gICBSZXR1cm4gYGBUcnVlYGAgaWYgdGhlIHN0cmluZyBlbmRzIHdpdGggdGhlIHNwZWNpZmllZCAqc3VmZml4KixcbiAgIG90aGVyd2lzZSByZXR1cm4gYGBGYWxzZWBgLiAgKnN1ZmZpeCogY2FuIGFsc28gYmUgYSB0dXBsZSBvZlxuICAgc3VmZml4ZXMgdG8gbG9vayBmb3IuICBXaXRoIG9wdGlvbmFsICpzdGFydCosIHRlc3QgYmVnaW5uaW5nIGF0XG4gICB0aGF0IHBvc2l0aW9uLiAgV2l0aCBvcHRpb25hbCAqZW5kKiwgc3RvcCBjb21wYXJpbmcgYXQgdGhhdFxuICAgcG9zaXRpb24uXG5cbnN0ci5leHBhbmR0YWJzKFt0YWJzaXplXSlcblxuICAgUmV0dXJuIGEgY29weSBvZiB0aGUgc3RyaW5nIHdoZXJlIGFsbCB0YWIgY2hhcmFjdGVycyBhcmUgcmVwbGFjZWRcbiAgIGJ5IHplcm8gb3IgbW9yZSBzcGFjZXMsIGRlcGVuZGluZyBvbiB0aGUgY3VycmVudCBjb2x1bW4gYW5kIHRoZVxuICAgZ2l2ZW4gdGFiIHNpemUuICBUaGUgY29sdW1uIG51bWJlciBpcyByZXNldCB0byB6ZXJvIGFmdGVyIGVhY2hcbiAgIG5ld2xpbmUgb2NjdXJyaW5nIGluIHRoZSBzdHJpbmcuIElmICp0YWJzaXplKiBpcyBub3QgZ2l2ZW4sIGEgdGFiXG4gICBzaXplIG9mIGBgOGBgIGNoYXJhY3RlcnMgaXMgYXNzdW1lZC4gIFRoaXMgZG9lc25cJ3QgdW5kZXJzdGFuZCBvdGhlclxuICAgbm9uLXByaW50aW5nIGNoYXJhY3RlcnMgb3IgZXNjYXBlIHNlcXVlbmNlcy5cblxuc3RyLmZpbmQoc3ViWywgc3RhcnRbLCBlbmRdXSlcblxuICAgUmV0dXJuIHRoZSBsb3dlc3QgaW5kZXggaW4gdGhlIHN0cmluZyB3aGVyZSBzdWJzdHJpbmcgKnN1YiogaXNcbiAgIGZvdW5kLCBzdWNoIHRoYXQgKnN1YiogaXMgY29udGFpbmVkIGluIHRoZSBzbGljZSBgYHNbc3RhcnQ6ZW5kXWBgLlxuICAgT3B0aW9uYWwgYXJndW1lbnRzICpzdGFydCogYW5kICplbmQqIGFyZSBpbnRlcnByZXRlZCBhcyBpbiBzbGljZVxuICAgbm90YXRpb24uICBSZXR1cm4gYGAtMWBgIGlmICpzdWIqIGlzIG5vdCBmb3VuZC5cblxuICAgTm90ZTogVGhlIGBgZmluZCgpYGAgbWV0aG9kIHNob3VsZCBiZSB1c2VkIG9ubHkgaWYgeW91IG5lZWQgdG8ga25vdyB0aGVcbiAgICAgcG9zaXRpb24gb2YgKnN1YiouICBUbyBjaGVjayBpZiAqc3ViKiBpcyBhIHN1YnN0cmluZyBvciBub3QsIHVzZVxuICAgICB0aGUgYGBpbmBgIG9wZXJhdG9yOlxuXG4gICAgICAgID4+PiBcJ1B5XCcgaW4gXCdQeXRob25cJ1xuICAgICAgICBUcnVlXG5cbnN0ci5mb3JtYXQoKmFyZ3MsICoqa3dhcmdzKVxuXG4gICBQZXJmb3JtIGEgc3RyaW5nIGZvcm1hdHRpbmcgb3BlcmF0aW9uLiAgVGhlIHN0cmluZyBvbiB3aGljaCB0aGlzXG4gICBtZXRob2QgaXMgY2FsbGVkIGNhbiBjb250YWluIGxpdGVyYWwgdGV4dCBvciByZXBsYWNlbWVudCBmaWVsZHNcbiAgIGRlbGltaXRlZCBieSBicmFjZXMgYGB7fWBgLiAgRWFjaCByZXBsYWNlbWVudCBmaWVsZCBjb250YWlucyBlaXRoZXJcbiAgIHRoZSBudW1lcmljIGluZGV4IG9mIGEgcG9zaXRpb25hbCBhcmd1bWVudCwgb3IgdGhlIG5hbWUgb2YgYVxuICAga2V5d29yZCBhcmd1bWVudC4gIFJldHVybnMgYSBjb3B5IG9mIHRoZSBzdHJpbmcgd2hlcmUgZWFjaFxuICAgcmVwbGFjZW1lbnQgZmllbGQgaXMgcmVwbGFjZWQgd2l0aCB0aGUgc3RyaW5nIHZhbHVlIG9mIHRoZVxuICAgY29ycmVzcG9uZGluZyBhcmd1bWVudC5cblxuICAgPj4+ICJUaGUgc3VtIG9mIDEgKyAyIGlzIHswfSIuZm9ybWF0KDErMilcbiAgIFwnVGhlIHN1bSBvZiAxICsgMiBpcyAzXCdcblxuICAgU2VlICpGb3JtYXQgU3RyaW5nIFN5bnRheCogZm9yIGEgZGVzY3JpcHRpb24gb2YgdGhlIHZhcmlvdXNcbiAgIGZvcm1hdHRpbmcgb3B0aW9ucyB0aGF0IGNhbiBiZSBzcGVjaWZpZWQgaW4gZm9ybWF0IHN0cmluZ3MuXG5cbnN0ci5mb3JtYXRfbWFwKG1hcHBpbmcpXG5cbiAgIFNpbWlsYXIgdG8gYGBzdHIuZm9ybWF0KCoqbWFwcGluZylgYCwgZXhjZXB0IHRoYXQgYGBtYXBwaW5nYGAgaXNcbiAgIHVzZWQgZGlyZWN0bHkgYW5kIG5vdCBjb3BpZWQgdG8gYSBgYGRpY3RgYCAuICBUaGlzIGlzIHVzZWZ1bCBpZiBmb3JcbiAgIGV4YW1wbGUgYGBtYXBwaW5nYGAgaXMgYSBkaWN0IHN1YmNsYXNzOlxuXG4gICA+Pj4gY2xhc3MgRGVmYXVsdChkaWN0KTpcbiAgIC4uLiAgICAgZGVmIF9fbWlzc2luZ19fKHNlbGYsIGtleSk6XG4gICAuLi4gICAgICAgICByZXR1cm4ga2V5XG4gICAuLi5cbiAgID4+PiBcJ3tuYW1lfSB3YXMgYm9ybiBpbiB7Y291bnRyeX1cJy5mb3JtYXRfbWFwKERlZmF1bHQobmFtZT1cJ0d1aWRvXCcpKVxuICAgXCdHdWlkbyB3YXMgYm9ybiBpbiBjb3VudHJ5XCdcblxuICAgTmV3IGluIHZlcnNpb24gMy4yLlxuXG5zdHIuaW5kZXgoc3ViWywgc3RhcnRbLCBlbmRdXSlcblxuICAgTGlrZSBgYGZpbmQoKWBgLCBidXQgcmFpc2UgYGBWYWx1ZUVycm9yYGAgd2hlbiB0aGUgc3Vic3RyaW5nIGlzIG5vdFxuICAgZm91bmQuXG5cbnN0ci5pc2FsbnVtKClcblxuICAgUmV0dXJuIHRydWUgaWYgYWxsIGNoYXJhY3RlcnMgaW4gdGhlIHN0cmluZyBhcmUgYWxwaGFudW1lcmljIGFuZFxuICAgdGhlcmUgaXMgYXQgbGVhc3Qgb25lIGNoYXJhY3RlciwgZmFsc2Ugb3RoZXJ3aXNlLiAgQSBjaGFyYWN0ZXJcbiAgIGBgY2BgIGlzIGFscGhhbnVtZXJpYyBpZiBvbmUgb2YgdGhlIGZvbGxvd2luZyByZXR1cm5zIGBgVHJ1ZWBgOlxuICAgYGBjLmlzYWxwaGEoKWBgLCBgYGMuaXNkZWNpbWFsKClgYCwgYGBjLmlzZGlnaXQoKWBgLCBvclxuICAgYGBjLmlzbnVtZXJpYygpYGAuXG5cbnN0ci5pc2FscGhhKClcblxuICAgUmV0dXJuIHRydWUgaWYgYWxsIGNoYXJhY3RlcnMgaW4gdGhlIHN0cmluZyBhcmUgYWxwaGFiZXRpYyBhbmRcbiAgIHRoZXJlIGlzIGF0IGxlYXN0IG9uZSBjaGFyYWN0ZXIsIGZhbHNlIG90aGVyd2lzZS4gIEFscGhhYmV0aWNcbiAgIGNoYXJhY3RlcnMgYXJlIHRob3NlIGNoYXJhY3RlcnMgZGVmaW5lZCBpbiB0aGUgVW5pY29kZSBjaGFyYWN0ZXJcbiAgIGRhdGFiYXNlIGFzICJMZXR0ZXIiLCBpLmUuLCB0aG9zZSB3aXRoIGdlbmVyYWwgY2F0ZWdvcnkgcHJvcGVydHlcbiAgIGJlaW5nIG9uZSBvZiAiTG0iLCAiTHQiLCAiTHUiLCAiTGwiLCBvciAiTG8iLiAgTm90ZSB0aGF0IHRoaXMgaXNcbiAgIGRpZmZlcmVudCBmcm9tIHRoZSAiQWxwaGFiZXRpYyIgcHJvcGVydHkgZGVmaW5lZCBpbiB0aGUgVW5pY29kZVxuICAgU3RhbmRhcmQuXG5cbnN0ci5pc2RlY2ltYWwoKVxuXG4gICBSZXR1cm4gdHJ1ZSBpZiBhbGwgY2hhcmFjdGVycyBpbiB0aGUgc3RyaW5nIGFyZSBkZWNpbWFsIGNoYXJhY3RlcnNcbiAgIGFuZCB0aGVyZSBpcyBhdCBsZWFzdCBvbmUgY2hhcmFjdGVyLCBmYWxzZSBvdGhlcndpc2UuIERlY2ltYWxcbiAgIGNoYXJhY3RlcnMgYXJlIHRob3NlIGZyb20gZ2VuZXJhbCBjYXRlZ29yeSAiTmQiLiBUaGlzIGNhdGVnb3J5XG4gICBpbmNsdWRlcyBkaWdpdCBjaGFyYWN0ZXJzLCBhbmQgYWxsIGNoYXJhY3RlcnMgdGhhdCBjYW4gYmUgdXNlZCB0b1xuICAgZm9ybSBkZWNpbWFsLXJhZGl4IG51bWJlcnMsIGUuZy4gVSswNjYwLCBBUkFCSUMtSU5ESUMgRElHSVQgWkVSTy5cblxuc3RyLmlzZGlnaXQoKVxuXG4gICBSZXR1cm4gdHJ1ZSBpZiBhbGwgY2hhcmFjdGVycyBpbiB0aGUgc3RyaW5nIGFyZSBkaWdpdHMgYW5kIHRoZXJlIGlzXG4gICBhdCBsZWFzdCBvbmUgY2hhcmFjdGVyLCBmYWxzZSBvdGhlcndpc2UuICBEaWdpdHMgaW5jbHVkZSBkZWNpbWFsXG4gICBjaGFyYWN0ZXJzIGFuZCBkaWdpdHMgdGhhdCBuZWVkIHNwZWNpYWwgaGFuZGxpbmcsIHN1Y2ggYXMgdGhlXG4gICBjb21wYXRpYmlsaXR5IHN1cGVyc2NyaXB0IGRpZ2l0cy4gIEZvcm1hbGx5LCBhIGRpZ2l0IGlzIGEgY2hhcmFjdGVyXG4gICB0aGF0IGhhcyB0aGUgcHJvcGVydHkgdmFsdWUgTnVtZXJpY19UeXBlPURpZ2l0IG9yXG4gICBOdW1lcmljX1R5cGU9RGVjaW1hbC5cblxuc3RyLmlzaWRlbnRpZmllcigpXG5cbiAgIFJldHVybiB0cnVlIGlmIHRoZSBzdHJpbmcgaXMgYSB2YWxpZCBpZGVudGlmaWVyIGFjY29yZGluZyB0byB0aGVcbiAgIGxhbmd1YWdlIGRlZmluaXRpb24sIHNlY3Rpb24gKklkZW50aWZpZXJzIGFuZCBrZXl3b3JkcyouXG5cbnN0ci5pc2xvd2VyKClcblxuICAgUmV0dXJuIHRydWUgaWYgYWxsIGNhc2VkIGNoYXJhY3RlcnMgWzRdIGluIHRoZSBzdHJpbmcgYXJlIGxvd2VyY2FzZVxuICAgYW5kIHRoZXJlIGlzIGF0IGxlYXN0IG9uZSBjYXNlZCBjaGFyYWN0ZXIsIGZhbHNlIG90aGVyd2lzZS5cblxuc3RyLmlzbnVtZXJpYygpXG5cbiAgIFJldHVybiB0cnVlIGlmIGFsbCBjaGFyYWN0ZXJzIGluIHRoZSBzdHJpbmcgYXJlIG51bWVyaWMgY2hhcmFjdGVycyxcbiAgIGFuZCB0aGVyZSBpcyBhdCBsZWFzdCBvbmUgY2hhcmFjdGVyLCBmYWxzZSBvdGhlcndpc2UuIE51bWVyaWNcbiAgIGNoYXJhY3RlcnMgaW5jbHVkZSBkaWdpdCBjaGFyYWN0ZXJzLCBhbmQgYWxsIGNoYXJhY3RlcnMgdGhhdCBoYXZlXG4gICB0aGUgVW5pY29kZSBudW1lcmljIHZhbHVlIHByb3BlcnR5LCBlLmcuIFUrMjE1NSwgVlVMR0FSIEZSQUNUSU9OXG4gICBPTkUgRklGVEguICBGb3JtYWxseSwgbnVtZXJpYyBjaGFyYWN0ZXJzIGFyZSB0aG9zZSB3aXRoIHRoZVxuICAgcHJvcGVydHkgdmFsdWUgTnVtZXJpY19UeXBlPURpZ2l0LCBOdW1lcmljX1R5cGU9RGVjaW1hbCBvclxuICAgTnVtZXJpY19UeXBlPU51bWVyaWMuXG5cbnN0ci5pc3ByaW50YWJsZSgpXG5cbiAgIFJldHVybiB0cnVlIGlmIGFsbCBjaGFyYWN0ZXJzIGluIHRoZSBzdHJpbmcgYXJlIHByaW50YWJsZSBvciB0aGVcbiAgIHN0cmluZyBpcyBlbXB0eSwgZmFsc2Ugb3RoZXJ3aXNlLiAgTm9ucHJpbnRhYmxlIGNoYXJhY3RlcnMgYXJlXG4gICB0aG9zZSBjaGFyYWN0ZXJzIGRlZmluZWQgaW4gdGhlIFVuaWNvZGUgY2hhcmFjdGVyIGRhdGFiYXNlIGFzXG4gICAiT3RoZXIiIG9yICJTZXBhcmF0b3IiLCBleGNlcHRpbmcgdGhlIEFTQ0lJIHNwYWNlICgweDIwKSB3aGljaCBpc1xuICAgY29uc2lkZXJlZCBwcmludGFibGUuICAoTm90ZSB0aGF0IHByaW50YWJsZSBjaGFyYWN0ZXJzIGluIHRoaXNcbiAgIGNvbnRleHQgYXJlIHRob3NlIHdoaWNoIHNob3VsZCBub3QgYmUgZXNjYXBlZCB3aGVuIGBgcmVwcigpYGAgaXNcbiAgIGludm9rZWQgb24gYSBzdHJpbmcuICBJdCBoYXMgbm8gYmVhcmluZyBvbiB0aGUgaGFuZGxpbmcgb2Ygc3RyaW5nc1xuICAgd3JpdHRlbiB0byBgYHN5cy5zdGRvdXRgYCBvciBgYHN5cy5zdGRlcnJgYC4pXG5cbnN0ci5pc3NwYWNlKClcblxuICAgUmV0dXJuIHRydWUgaWYgdGhlcmUgYXJlIG9ubHkgd2hpdGVzcGFjZSBjaGFyYWN0ZXJzIGluIHRoZSBzdHJpbmdcbiAgIGFuZCB0aGVyZSBpcyBhdCBsZWFzdCBvbmUgY2hhcmFjdGVyLCBmYWxzZSBvdGhlcndpc2UuICBXaGl0ZXNwYWNlXG4gICBjaGFyYWN0ZXJzICBhcmUgdGhvc2UgY2hhcmFjdGVycyBkZWZpbmVkIGluIHRoZSBVbmljb2RlIGNoYXJhY3RlclxuICAgZGF0YWJhc2UgYXMgIk90aGVyIiBvciAiU2VwYXJhdG9yIiBhbmQgdGhvc2Ugd2l0aCBiaWRpcmVjdGlvbmFsXG4gICBwcm9wZXJ0eSBiZWluZyBvbmUgb2YgIldTIiwgIkIiLCBvciAiUyIuXG5cbnN0ci5pc3RpdGxlKClcblxuICAgUmV0dXJuIHRydWUgaWYgdGhlIHN0cmluZyBpcyBhIHRpdGxlY2FzZWQgc3RyaW5nIGFuZCB0aGVyZSBpcyBhdFxuICAgbGVhc3Qgb25lIGNoYXJhY3RlciwgZm9yIGV4YW1wbGUgdXBwZXJjYXNlIGNoYXJhY3RlcnMgbWF5IG9ubHlcbiAgIGZvbGxvdyB1bmNhc2VkIGNoYXJhY3RlcnMgYW5kIGxvd2VyY2FzZSBjaGFyYWN0ZXJzIG9ubHkgY2FzZWQgb25lcy5cbiAgIFJldHVybiBmYWxzZSBvdGhlcndpc2UuXG5cbnN0ci5pc3VwcGVyKClcblxuICAgUmV0dXJuIHRydWUgaWYgYWxsIGNhc2VkIGNoYXJhY3RlcnMgWzRdIGluIHRoZSBzdHJpbmcgYXJlIHVwcGVyY2FzZVxuICAgYW5kIHRoZXJlIGlzIGF0IGxlYXN0IG9uZSBjYXNlZCBjaGFyYWN0ZXIsIGZhbHNlIG90aGVyd2lzZS5cblxuc3RyLmpvaW4oaXRlcmFibGUpXG5cbiAgIFJldHVybiBhIHN0cmluZyB3aGljaCBpcyB0aGUgY29uY2F0ZW5hdGlvbiBvZiB0aGUgc3RyaW5ncyBpbiB0aGVcbiAgICppdGVyYWJsZSogKml0ZXJhYmxlKi4gIEEgYGBUeXBlRXJyb3JgYCB3aWxsIGJlIHJhaXNlZCBpZiB0aGVyZSBhcmVcbiAgIGFueSBub24tc3RyaW5nIHZhbHVlcyBpbiAqaXRlcmFibGUqLCBpbmNsdWRpbmcgYGBieXRlc2BgIG9iamVjdHMuXG4gICBUaGUgc2VwYXJhdG9yIGJldHdlZW4gZWxlbWVudHMgaXMgdGhlIHN0cmluZyBwcm92aWRpbmcgdGhpcyBtZXRob2QuXG5cbnN0ci5sanVzdCh3aWR0aFssIGZpbGxjaGFyXSlcblxuICAgUmV0dXJuIHRoZSBzdHJpbmcgbGVmdCBqdXN0aWZpZWQgaW4gYSBzdHJpbmcgb2YgbGVuZ3RoICp3aWR0aCouXG4gICBQYWRkaW5nIGlzIGRvbmUgdXNpbmcgdGhlIHNwZWNpZmllZCAqZmlsbGNoYXIqIChkZWZhdWx0IGlzIGFcbiAgIHNwYWNlKS4gIFRoZSBvcmlnaW5hbCBzdHJpbmcgaXMgcmV0dXJuZWQgaWYgKndpZHRoKiBpcyBsZXNzIHRoYW4gb3JcbiAgIGVxdWFsIHRvIGBgbGVuKHMpYGAuXG5cbnN0ci5sb3dlcigpXG5cbiAgIFJldHVybiBhIGNvcHkgb2YgdGhlIHN0cmluZyB3aXRoIGFsbCB0aGUgY2FzZWQgY2hhcmFjdGVycyBbNF1cbiAgIGNvbnZlcnRlZCB0byBsb3dlcmNhc2UuXG5cbnN0ci5sc3RyaXAoW2NoYXJzXSlcblxuICAgUmV0dXJuIGEgY29weSBvZiB0aGUgc3RyaW5nIHdpdGggbGVhZGluZyBjaGFyYWN0ZXJzIHJlbW92ZWQuICBUaGVcbiAgICpjaGFycyogYXJndW1lbnQgaXMgYSBzdHJpbmcgc3BlY2lmeWluZyB0aGUgc2V0IG9mIGNoYXJhY3RlcnMgdG8gYmVcbiAgIHJlbW92ZWQuICBJZiBvbWl0dGVkIG9yIGBgTm9uZWBgLCB0aGUgKmNoYXJzKiBhcmd1bWVudCBkZWZhdWx0cyB0b1xuICAgcmVtb3Zpbmcgd2hpdGVzcGFjZS4gIFRoZSAqY2hhcnMqIGFyZ3VtZW50IGlzIG5vdCBhIHByZWZpeDsgcmF0aGVyLFxuICAgYWxsIGNvbWJpbmF0aW9ucyBvZiBpdHMgdmFsdWVzIGFyZSBzdHJpcHBlZDpcblxuICAgPj4+IFwnICAgc3BhY2lvdXMgICBcJy5sc3RyaXAoKVxuICAgXCdzcGFjaW91cyAgIFwnXG4gICA+Pj4gXCd3d3cuZXhhbXBsZS5jb21cJy5sc3RyaXAoXCdjbW93ei5cJylcbiAgIFwnZXhhbXBsZS5jb21cJ1xuXG5zdGF0aWMgc3RyLm1ha2V0cmFucyh4WywgeVssIHpdXSlcblxuICAgVGhpcyBzdGF0aWMgbWV0aG9kIHJldHVybnMgYSB0cmFuc2xhdGlvbiB0YWJsZSB1c2FibGUgZm9yXG4gICBgYHN0ci50cmFuc2xhdGUoKWBgLlxuXG4gICBJZiB0aGVyZSBpcyBvbmx5IG9uZSBhcmd1bWVudCwgaXQgbXVzdCBiZSBhIGRpY3Rpb25hcnkgbWFwcGluZ1xuICAgVW5pY29kZSBvcmRpbmFscyAoaW50ZWdlcnMpIG9yIGNoYXJhY3RlcnMgKHN0cmluZ3Mgb2YgbGVuZ3RoIDEpIHRvXG4gICBVbmljb2RlIG9yZGluYWxzLCBzdHJpbmdzIChvZiBhcmJpdHJhcnkgbGVuZ3Rocykgb3IgTm9uZS5cbiAgIENoYXJhY3RlciBrZXlzIHdpbGwgdGhlbiBiZSBjb252ZXJ0ZWQgdG8gb3JkaW5hbHMuXG5cbiAgIElmIHRoZXJlIGFyZSB0d28gYXJndW1lbnRzLCB0aGV5IG11c3QgYmUgc3RyaW5ncyBvZiBlcXVhbCBsZW5ndGgsXG4gICBhbmQgaW4gdGhlIHJlc3VsdGluZyBkaWN0aW9uYXJ5LCBlYWNoIGNoYXJhY3RlciBpbiB4IHdpbGwgYmUgbWFwcGVkXG4gICB0byB0aGUgY2hhcmFjdGVyIGF0IHRoZSBzYW1lIHBvc2l0aW9uIGluIHkuICBJZiB0aGVyZSBpcyBhIHRoaXJkXG4gICBhcmd1bWVudCwgaXQgbXVzdCBiZSBhIHN0cmluZywgd2hvc2UgY2hhcmFjdGVycyB3aWxsIGJlIG1hcHBlZCB0b1xuICAgTm9uZSBpbiB0aGUgcmVzdWx0LlxuXG5zdHIucGFydGl0aW9uKHNlcClcblxuICAgU3BsaXQgdGhlIHN0cmluZyBhdCB0aGUgZmlyc3Qgb2NjdXJyZW5jZSBvZiAqc2VwKiwgYW5kIHJldHVybiBhXG4gICAzLXR1cGxlIGNvbnRhaW5pbmcgdGhlIHBhcnQgYmVmb3JlIHRoZSBzZXBhcmF0b3IsIHRoZSBzZXBhcmF0b3JcbiAgIGl0c2VsZiwgYW5kIHRoZSBwYXJ0IGFmdGVyIHRoZSBzZXBhcmF0b3IuICBJZiB0aGUgc2VwYXJhdG9yIGlzIG5vdFxuICAgZm91bmQsIHJldHVybiBhIDMtdHVwbGUgY29udGFpbmluZyB0aGUgc3RyaW5nIGl0c2VsZiwgZm9sbG93ZWQgYnlcbiAgIHR3byBlbXB0eSBzdHJpbmdzLlxuXG5zdHIucmVwbGFjZShvbGQsIG5ld1ssIGNvdW50XSlcblxuICAgUmV0dXJuIGEgY29weSBvZiB0aGUgc3RyaW5nIHdpdGggYWxsIG9jY3VycmVuY2VzIG9mIHN1YnN0cmluZyAqb2xkKlxuICAgcmVwbGFjZWQgYnkgKm5ldyouICBJZiB0aGUgb3B0aW9uYWwgYXJndW1lbnQgKmNvdW50KiBpcyBnaXZlbiwgb25seVxuICAgdGhlIGZpcnN0ICpjb3VudCogb2NjdXJyZW5jZXMgYXJlIHJlcGxhY2VkLlxuXG5zdHIucmZpbmQoc3ViWywgc3RhcnRbLCBlbmRdXSlcblxuICAgUmV0dXJuIHRoZSBoaWdoZXN0IGluZGV4IGluIHRoZSBzdHJpbmcgd2hlcmUgc3Vic3RyaW5nICpzdWIqIGlzXG4gICBmb3VuZCwgc3VjaCB0aGF0ICpzdWIqIGlzIGNvbnRhaW5lZCB3aXRoaW4gYGBzW3N0YXJ0OmVuZF1gYC5cbiAgIE9wdGlvbmFsIGFyZ3VtZW50cyAqc3RhcnQqIGFuZCAqZW5kKiBhcmUgaW50ZXJwcmV0ZWQgYXMgaW4gc2xpY2VcbiAgIG5vdGF0aW9uLiAgUmV0dXJuIGBgLTFgYCBvbiBmYWlsdXJlLlxuXG5zdHIucmluZGV4KHN1YlssIHN0YXJ0WywgZW5kXV0pXG5cbiAgIExpa2UgYGByZmluZCgpYGAgYnV0IHJhaXNlcyBgYFZhbHVlRXJyb3JgYCB3aGVuIHRoZSBzdWJzdHJpbmcgKnN1YipcbiAgIGlzIG5vdCBmb3VuZC5cblxuc3RyLnJqdXN0KHdpZHRoWywgZmlsbGNoYXJdKVxuXG4gICBSZXR1cm4gdGhlIHN0cmluZyByaWdodCBqdXN0aWZpZWQgaW4gYSBzdHJpbmcgb2YgbGVuZ3RoICp3aWR0aCouXG4gICBQYWRkaW5nIGlzIGRvbmUgdXNpbmcgdGhlIHNwZWNpZmllZCAqZmlsbGNoYXIqIChkZWZhdWx0IGlzIGFcbiAgIHNwYWNlKS4gVGhlIG9yaWdpbmFsIHN0cmluZyBpcyByZXR1cm5lZCBpZiAqd2lkdGgqIGlzIGxlc3MgdGhhbiBvclxuICAgZXF1YWwgdG8gYGBsZW4ocylgYC5cblxuc3RyLnJwYXJ0aXRpb24oc2VwKVxuXG4gICBTcGxpdCB0aGUgc3RyaW5nIGF0IHRoZSBsYXN0IG9jY3VycmVuY2Ugb2YgKnNlcCosIGFuZCByZXR1cm4gYVxuICAgMy10dXBsZSBjb250YWluaW5nIHRoZSBwYXJ0IGJlZm9yZSB0aGUgc2VwYXJhdG9yLCB0aGUgc2VwYXJhdG9yXG4gICBpdHNlbGYsIGFuZCB0aGUgcGFydCBhZnRlciB0aGUgc2VwYXJhdG9yLiAgSWYgdGhlIHNlcGFyYXRvciBpcyBub3RcbiAgIGZvdW5kLCByZXR1cm4gYSAzLXR1cGxlIGNvbnRhaW5pbmcgdHdvIGVtcHR5IHN0cmluZ3MsIGZvbGxvd2VkIGJ5XG4gICB0aGUgc3RyaW5nIGl0c2VsZi5cblxuc3RyLnJzcGxpdChbc2VwWywgbWF4c3BsaXRdXSlcblxuICAgUmV0dXJuIGEgbGlzdCBvZiB0aGUgd29yZHMgaW4gdGhlIHN0cmluZywgdXNpbmcgKnNlcCogYXMgdGhlXG4gICBkZWxpbWl0ZXIgc3RyaW5nLiBJZiAqbWF4c3BsaXQqIGlzIGdpdmVuLCBhdCBtb3N0ICptYXhzcGxpdCogc3BsaXRzXG4gICBhcmUgZG9uZSwgdGhlICpyaWdodG1vc3QqIG9uZXMuICBJZiAqc2VwKiBpcyBub3Qgc3BlY2lmaWVkIG9yXG4gICBgYE5vbmVgYCwgYW55IHdoaXRlc3BhY2Ugc3RyaW5nIGlzIGEgc2VwYXJhdG9yLiAgRXhjZXB0IGZvclxuICAgc3BsaXR0aW5nIGZyb20gdGhlIHJpZ2h0LCBgYHJzcGxpdCgpYGAgYmVoYXZlcyBsaWtlIGBgc3BsaXQoKWBgXG4gICB3aGljaCBpcyBkZXNjcmliZWQgaW4gZGV0YWlsIGJlbG93LlxuXG5zdHIucnN0cmlwKFtjaGFyc10pXG5cbiAgIFJldHVybiBhIGNvcHkgb2YgdGhlIHN0cmluZyB3aXRoIHRyYWlsaW5nIGNoYXJhY3RlcnMgcmVtb3ZlZC4gIFRoZVxuICAgKmNoYXJzKiBhcmd1bWVudCBpcyBhIHN0cmluZyBzcGVjaWZ5aW5nIHRoZSBzZXQgb2YgY2hhcmFjdGVycyB0byBiZVxuICAgcmVtb3ZlZC4gIElmIG9taXR0ZWQgb3IgYGBOb25lYGAsIHRoZSAqY2hhcnMqIGFyZ3VtZW50IGRlZmF1bHRzIHRvXG4gICByZW1vdmluZyB3aGl0ZXNwYWNlLiAgVGhlICpjaGFycyogYXJndW1lbnQgaXMgbm90IGEgc3VmZml4OyByYXRoZXIsXG4gICBhbGwgY29tYmluYXRpb25zIG9mIGl0cyB2YWx1ZXMgYXJlIHN0cmlwcGVkOlxuXG4gICA+Pj4gXCcgICBzcGFjaW91cyAgIFwnLnJzdHJpcCgpXG4gICBcJyAgIHNwYWNpb3VzXCdcbiAgID4+PiBcJ21pc3Npc3NpcHBpXCcucnN0cmlwKFwnaXB6XCcpXG4gICBcJ21pc3Npc3NcJ1xuXG5zdHIuc3BsaXQoW3NlcFssIG1heHNwbGl0XV0pXG5cbiAgIFJldHVybiBhIGxpc3Qgb2YgdGhlIHdvcmRzIGluIHRoZSBzdHJpbmcsIHVzaW5nICpzZXAqIGFzIHRoZVxuICAgZGVsaW1pdGVyIHN0cmluZy4gIElmICptYXhzcGxpdCogaXMgZ2l2ZW4sIGF0IG1vc3QgKm1heHNwbGl0KlxuICAgc3BsaXRzIGFyZSBkb25lICh0aHVzLCB0aGUgbGlzdCB3aWxsIGhhdmUgYXQgbW9zdCBgYG1heHNwbGl0KzFgYFxuICAgZWxlbWVudHMpLiAgSWYgKm1heHNwbGl0KiBpcyBub3Qgc3BlY2lmaWVkLCB0aGVuIHRoZXJlIGlzIG5vIGxpbWl0XG4gICBvbiB0aGUgbnVtYmVyIG9mIHNwbGl0cyAoYWxsIHBvc3NpYmxlIHNwbGl0cyBhcmUgbWFkZSkuXG5cbiAgIElmICpzZXAqIGlzIGdpdmVuLCBjb25zZWN1dGl2ZSBkZWxpbWl0ZXJzIGFyZSBub3QgZ3JvdXBlZCB0b2dldGhlclxuICAgYW5kIGFyZSBkZWVtZWQgdG8gZGVsaW1pdCBlbXB0eSBzdHJpbmdzIChmb3IgZXhhbXBsZSxcbiAgIGBgXCcxLCwyXCcuc3BsaXQoXCcsXCcpYGAgcmV0dXJucyBgYFtcJzFcJywgXCdcJywgXCcyXCddYGApLiAgVGhlICpzZXAqXG4gICBhcmd1bWVudCBtYXkgY29uc2lzdCBvZiBtdWx0aXBsZSBjaGFyYWN0ZXJzIChmb3IgZXhhbXBsZSxcbiAgIGBgXCcxPD4yPD4zXCcuc3BsaXQoXCc8PlwnKWBgIHJldHVybnMgYGBbXCcxXCcsIFwnMlwnLCBcJzNcJ11gYCkuIFNwbGl0dGluZ1xuICAgYW4gZW1wdHkgc3RyaW5nIHdpdGggYSBzcGVjaWZpZWQgc2VwYXJhdG9yIHJldHVybnMgYGBbXCdcJ11gYC5cblxuICAgSWYgKnNlcCogaXMgbm90IHNwZWNpZmllZCBvciBpcyBgYE5vbmVgYCwgYSBkaWZmZXJlbnQgc3BsaXR0aW5nXG4gICBhbGdvcml0aG0gaXMgYXBwbGllZDogcnVucyBvZiBjb25zZWN1dGl2ZSB3aGl0ZXNwYWNlIGFyZSByZWdhcmRlZFxuICAgYXMgYSBzaW5nbGUgc2VwYXJhdG9yLCBhbmQgdGhlIHJlc3VsdCB3aWxsIGNvbnRhaW4gbm8gZW1wdHkgc3RyaW5nc1xuICAgYXQgdGhlIHN0YXJ0IG9yIGVuZCBpZiB0aGUgc3RyaW5nIGhhcyBsZWFkaW5nIG9yIHRyYWlsaW5nXG4gICB3aGl0ZXNwYWNlLiAgQ29uc2VxdWVudGx5LCBzcGxpdHRpbmcgYW4gZW1wdHkgc3RyaW5nIG9yIGEgc3RyaW5nXG4gICBjb25zaXN0aW5nIG9mIGp1c3Qgd2hpdGVzcGFjZSB3aXRoIGEgYGBOb25lYGAgc2VwYXJhdG9yIHJldHVybnNcbiAgIGBgW11gYC5cblxuICAgRm9yIGV4YW1wbGUsIGBgXCcgMSAgMiAgIDMgIFwnLnNwbGl0KClgYCByZXR1cm5zIGBgW1wnMVwnLCBcJzJcJywgXCczXCddYGAsXG4gICBhbmQgYGBcJyAgMSAgMiAgIDMgIFwnLnNwbGl0KE5vbmUsIDEpYGAgcmV0dXJucyBgYFtcJzFcJywgXCcyICAgMyAgXCddYGAuXG5cbnN0ci5zcGxpdGxpbmVzKFtrZWVwZW5kc10pXG5cbiAgIFJldHVybiBhIGxpc3Qgb2YgdGhlIGxpbmVzIGluIHRoZSBzdHJpbmcsIGJyZWFraW5nIGF0IGxpbmVcbiAgIGJvdW5kYXJpZXMuICBMaW5lIGJyZWFrcyBhcmUgbm90IGluY2x1ZGVkIGluIHRoZSByZXN1bHRpbmcgbGlzdFxuICAgdW5sZXNzICprZWVwZW5kcyogaXMgZ2l2ZW4gYW5kIHRydWUuXG5cbnN0ci5zdGFydHN3aXRoKHByZWZpeFssIHN0YXJ0WywgZW5kXV0pXG5cbiAgIFJldHVybiBgYFRydWVgYCBpZiBzdHJpbmcgc3RhcnRzIHdpdGggdGhlICpwcmVmaXgqLCBvdGhlcndpc2VcbiAgIHJldHVybiBgYEZhbHNlYGAuICpwcmVmaXgqIGNhbiBhbHNvIGJlIGEgdHVwbGUgb2YgcHJlZml4ZXMgdG8gbG9va1xuICAgZm9yLiAgV2l0aCBvcHRpb25hbCAqc3RhcnQqLCB0ZXN0IHN0cmluZyBiZWdpbm5pbmcgYXQgdGhhdFxuICAgcG9zaXRpb24uICBXaXRoIG9wdGlvbmFsICplbmQqLCBzdG9wIGNvbXBhcmluZyBzdHJpbmcgYXQgdGhhdFxuICAgcG9zaXRpb24uXG5cbnN0ci5zdHJpcChbY2hhcnNdKVxuXG4gICBSZXR1cm4gYSBjb3B5IG9mIHRoZSBzdHJpbmcgd2l0aCB0aGUgbGVhZGluZyBhbmQgdHJhaWxpbmdcbiAgIGNoYXJhY3RlcnMgcmVtb3ZlZC4gVGhlICpjaGFycyogYXJndW1lbnQgaXMgYSBzdHJpbmcgc3BlY2lmeWluZyB0aGVcbiAgIHNldCBvZiBjaGFyYWN0ZXJzIHRvIGJlIHJlbW92ZWQuIElmIG9taXR0ZWQgb3IgYGBOb25lYGAsIHRoZVxuICAgKmNoYXJzKiBhcmd1bWVudCBkZWZhdWx0cyB0byByZW1vdmluZyB3aGl0ZXNwYWNlLiBUaGUgKmNoYXJzKlxuICAgYXJndW1lbnQgaXMgbm90IGEgcHJlZml4IG9yIHN1ZmZpeDsgcmF0aGVyLCBhbGwgY29tYmluYXRpb25zIG9mIGl0c1xuICAgdmFsdWVzIGFyZSBzdHJpcHBlZDpcblxuICAgPj4+IFwnICAgc3BhY2lvdXMgICBcJy5zdHJpcCgpXG4gICBcJ3NwYWNpb3VzXCdcbiAgID4+PiBcJ3d3dy5leGFtcGxlLmNvbVwnLnN0cmlwKFwnY21vd3ouXCcpXG4gICBcJ2V4YW1wbGVcJ1xuXG5zdHIuc3dhcGNhc2UoKVxuXG4gICBSZXR1cm4gYSBjb3B5IG9mIHRoZSBzdHJpbmcgd2l0aCB1cHBlcmNhc2UgY2hhcmFjdGVycyBjb252ZXJ0ZWQgdG9cbiAgIGxvd2VyY2FzZSBhbmQgdmljZSB2ZXJzYS5cblxuc3RyLnRpdGxlKClcblxuICAgUmV0dXJuIGEgdGl0bGVjYXNlZCB2ZXJzaW9uIG9mIHRoZSBzdHJpbmcgd2hlcmUgd29yZHMgc3RhcnQgd2l0aCBhblxuICAgdXBwZXJjYXNlIGNoYXJhY3RlciBhbmQgdGhlIHJlbWFpbmluZyBjaGFyYWN0ZXJzIGFyZSBsb3dlcmNhc2UuXG5cbiAgIFRoZSBhbGdvcml0aG0gdXNlcyBhIHNpbXBsZSBsYW5ndWFnZS1pbmRlcGVuZGVudCBkZWZpbml0aW9uIG9mIGFcbiAgIHdvcmQgYXMgZ3JvdXBzIG9mIGNvbnNlY3V0aXZlIGxldHRlcnMuICBUaGUgZGVmaW5pdGlvbiB3b3JrcyBpblxuICAgbWFueSBjb250ZXh0cyBidXQgaXQgbWVhbnMgdGhhdCBhcG9zdHJvcGhlcyBpbiBjb250cmFjdGlvbnMgYW5kXG4gICBwb3NzZXNzaXZlcyBmb3JtIHdvcmQgYm91bmRhcmllcywgd2hpY2ggbWF5IG5vdCBiZSB0aGUgZGVzaXJlZFxuICAgcmVzdWx0OlxuXG4gICAgICA+Pj4gInRoZXlcJ3JlIGJpbGxcJ3MgZnJpZW5kcyBmcm9tIHRoZSBVSyIudGl0bGUoKVxuICAgICAgIlRoZXlcJ1JlIEJpbGxcJ1MgRnJpZW5kcyBGcm9tIFRoZSBVayJcblxuICAgQSB3b3JrYXJvdW5kIGZvciBhcG9zdHJvcGhlcyBjYW4gYmUgY29uc3RydWN0ZWQgdXNpbmcgcmVndWxhclxuICAgZXhwcmVzc2lvbnM6XG5cbiAgICAgID4+PiBpbXBvcnQgcmVcbiAgICAgID4+PiBkZWYgdGl0bGVjYXNlKHMpOlxuICAgICAgICAgICAgICByZXR1cm4gcmUuc3ViKHIiW0EtWmEtel0rKFwnW0EtWmEtel0rKT8iLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhbWJkYSBtbzogbW8uZ3JvdXAoMClbMF0udXBwZXIoKSArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtby5ncm91cCgwKVsxOl0ubG93ZXIoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzKVxuXG4gICAgICA+Pj4gdGl0bGVjYXNlKCJ0aGV5XCdyZSBiaWxsXCdzIGZyaWVuZHMuIilcbiAgICAgICJUaGV5XCdyZSBCaWxsXCdzIEZyaWVuZHMuIlxuXG5zdHIudHJhbnNsYXRlKG1hcClcblxuICAgUmV0dXJuIGEgY29weSBvZiB0aGUgKnMqIHdoZXJlIGFsbCBjaGFyYWN0ZXJzIGhhdmUgYmVlbiBtYXBwZWRcbiAgIHRocm91Z2ggdGhlICptYXAqIHdoaWNoIG11c3QgYmUgYSBkaWN0aW9uYXJ5IG9mIFVuaWNvZGUgb3JkaW5hbHNcbiAgIChpbnRlZ2VycykgdG8gVW5pY29kZSBvcmRpbmFscywgc3RyaW5ncyBvciBgYE5vbmVgYC4gIFVubWFwcGVkXG4gICBjaGFyYWN0ZXJzIGFyZSBsZWZ0IHVudG91Y2hlZC4gQ2hhcmFjdGVycyBtYXBwZWQgdG8gYGBOb25lYGAgYXJlXG4gICBkZWxldGVkLlxuXG4gICBZb3UgY2FuIHVzZSBgYHN0ci5tYWtldHJhbnMoKWBgIHRvIGNyZWF0ZSBhIHRyYW5zbGF0aW9uIG1hcCBmcm9tXG4gICBjaGFyYWN0ZXItdG8tY2hhcmFjdGVyIG1hcHBpbmdzIGluIGRpZmZlcmVudCBmb3JtYXRzLlxuXG4gICBOb3RlOiBBbiBldmVuIG1vcmUgZmxleGlibGUgYXBwcm9hY2ggaXMgdG8gY3JlYXRlIGEgY3VzdG9tIGNoYXJhY3RlclxuICAgICBtYXBwaW5nIGNvZGVjIHVzaW5nIHRoZSBgYGNvZGVjc2BgIG1vZHVsZSAoc2VlXG4gICAgIGBgZW5jb2RpbmdzLmNwMTI1MWBgIGZvciBhbiBleGFtcGxlKS5cblxuc3RyLnVwcGVyKClcblxuICAgUmV0dXJuIGEgY29weSBvZiB0aGUgc3RyaW5nIHdpdGggYWxsIHRoZSBjYXNlZCBjaGFyYWN0ZXJzIFs0XVxuICAgY29udmVydGVkIHRvIHVwcGVyY2FzZS4gIE5vdGUgdGhhdCBgYHN0ci51cHBlcigpLmlzdXBwZXIoKWBgIG1pZ2h0XG4gICBiZSBgYEZhbHNlYGAgaWYgYGBzYGAgY29udGFpbnMgdW5jYXNlZCBjaGFyYWN0ZXJzIG9yIGlmIHRoZSBVbmljb2RlXG4gICBjYXRlZ29yeSBvZiB0aGUgcmVzdWx0aW5nIGNoYXJhY3RlcihzKSBpcyBub3QgIkx1IiAoTGV0dGVyLFxuICAgdXBwZXJjYXNlKSwgYnV0IGUuZy4gIkx0IiAoTGV0dGVyLCB0aXRsZWNhc2UpLlxuXG5zdHIuemZpbGwod2lkdGgpXG5cbiAgIFJldHVybiB0aGUgbnVtZXJpYyBzdHJpbmcgbGVmdCBmaWxsZWQgd2l0aCB6ZXJvcyBpbiBhIHN0cmluZyBvZlxuICAgbGVuZ3RoICp3aWR0aCouICBBIHNpZ24gcHJlZml4IGlzIGhhbmRsZWQgY29ycmVjdGx5LiAgVGhlIG9yaWdpbmFsXG4gICBzdHJpbmcgaXMgcmV0dXJuZWQgaWYgKndpZHRoKiBpcyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gYGBsZW4ocylgYC5cbicsCi0gJ3N0cmluZ3MnOiAnXG5TdHJpbmcgYW5kIEJ5dGVzIGxpdGVyYWxzXG4qKioqKioqKioqKioqKioqKioqKioqKioqXG5cblN0cmluZyBsaXRlcmFscyBhcmUgZGVzY3JpYmVkIGJ5IHRoZSBmb2xsb3dpbmcgbGV4aWNhbCBkZWZpbml0aW9uczpcblxuICAgc3RyaW5nbGl0ZXJhbCAgIDo6PSBbc3RyaW5ncHJlZml4XShzaG9ydHN0cmluZyB8IGxvbmdzdHJpbmcpXG4gICBzdHJpbmdwcmVmaXggICAgOjo9ICJyIiB8ICJSIlxuICAgc2hvcnRzdHJpbmcgICAgIDo6PSAiXCciIHNob3J0c3RyaW5naXRlbSogIlwnIiB8IFwnIlwnIHNob3J0c3RyaW5naXRlbSogXCciXCdcbiAgIGxvbmdzdHJpbmcgICAgICA6Oj0gIlwnXCdcJyIgbG9uZ3N0cmluZ2l0ZW0qICJcJ1wnXCciIHwgXCciIiJcJyBsb25nc3RyaW5naXRlbSogXCciIiJcJ1xuICAgc2hvcnRzdHJpbmdpdGVtIDo6PSBzaG9ydHN0cmluZ2NoYXIgfCBzdHJpbmdlc2NhcGVzZXFcbiAgIGxvbmdzdHJpbmdpdGVtICA6Oj0gbG9uZ3N0cmluZ2NoYXIgfCBzdHJpbmdlc2NhcGVzZXFcbiAgIHNob3J0c3RyaW5nY2hhciA6Oj0gPGFueSBzb3VyY2UgY2hhcmFjdGVyIGV4Y2VwdCAiXFwiIG9yIG5ld2xpbmUgb3IgdGhlIHF1b3RlPlxuICAgbG9uZ3N0cmluZ2NoYXIgIDo6PSA8YW55IHNvdXJjZSBjaGFyYWN0ZXIgZXhjZXB0ICJcXCI+XG4gICBzdHJpbmdlc2NhcGVzZXEgOjo9ICJcXCIgPGFueSBzb3VyY2UgY2hhcmFjdGVyPlxuXG4gICBieXRlc2xpdGVyYWwgICA6Oj0gYnl0ZXNwcmVmaXgoc2hvcnRieXRlcyB8IGxvbmdieXRlcylcbiAgIGJ5dGVzcHJlZml4ICAgIDo6PSAiYiIgfCAiQiIgfCAiYnIiIHwgIkJyIiB8ICJiUiIgfCAiQlIiXG4gICBzaG9ydGJ5dGVzICAgICA6Oj0gIlwnIiBzaG9ydGJ5dGVzaXRlbSogIlwnIiB8IFwnIlwnIHNob3J0Ynl0ZXNpdGVtKiBcJyJcJ1xuICAgbG9uZ2J5dGVzICAgICAgOjo9ICJcJ1wnXCciIGxvbmdieXRlc2l0ZW0qICJcJ1wnXCciIHwgXCciIiJcJyBsb25nYnl0ZXNpdGVtKiBcJyIiIlwnXG4gICBzaG9ydGJ5dGVzaXRlbSA6Oj0gc2hvcnRieXRlc2NoYXIgfCBieXRlc2VzY2FwZXNlcVxuICAgbG9uZ2J5dGVzaXRlbSAgOjo9IGxvbmdieXRlc2NoYXIgfCBieXRlc2VzY2FwZXNlcVxuICAgc2hvcnRieXRlc2NoYXIgOjo9IDxhbnkgQVNDSUkgY2hhcmFjdGVyIGV4Y2VwdCAiXFwiIG9yIG5ld2xpbmUgb3IgdGhlIHF1b3RlPlxuICAgbG9uZ2J5dGVzY2hhciAgOjo9IDxhbnkgQVNDSUkgY2hhcmFjdGVyIGV4Y2VwdCAiXFwiPlxuICAgYnl0ZXNlc2NhcGVzZXEgOjo9ICJcXCIgPGFueSBBU0NJSSBjaGFyYWN0ZXI+XG5cbk9uZSBzeW50YWN0aWMgcmVzdHJpY3Rpb24gbm90IGluZGljYXRlZCBieSB0aGVzZSBwcm9kdWN0aW9ucyBpcyB0aGF0XG53aGl0ZXNwYWNlIGlzIG5vdCBhbGxvd2VkIGJldHdlZW4gdGhlIGBgc3RyaW5ncHJlZml4YGAgb3JcbmBgYnl0ZXNwcmVmaXhgYCBhbmQgdGhlIHJlc3Qgb2YgdGhlIGxpdGVyYWwuIFRoZSBzb3VyY2UgY2hhcmFjdGVyIHNldFxuaXMgZGVmaW5lZCBieSB0aGUgZW5jb2RpbmcgZGVjbGFyYXRpb247IGl0IGlzIFVURi04IGlmIG5vIGVuY29kaW5nXG5kZWNsYXJhdGlvbiBpcyBnaXZlbiBpbiB0aGUgc291cmNlIGZpbGU7IHNlZSBzZWN0aW9uICpFbmNvZGluZ1xuZGVjbGFyYXRpb25zKi5cblxuSW4gcGxhaW4gRW5nbGlzaDogQm90aCB0eXBlcyBvZiBsaXRlcmFscyBjYW4gYmUgZW5jbG9zZWQgaW4gbWF0Y2hpbmdcbnNpbmdsZSBxdW90ZXMgKGBgXCdgYCkgb3IgZG91YmxlIHF1b3RlcyAoYGAiYGApLiAgVGhleSBjYW4gYWxzbyBiZVxuZW5jbG9zZWQgaW4gbWF0Y2hpbmcgZ3JvdXBzIG9mIHRocmVlIHNpbmdsZSBvciBkb3VibGUgcXVvdGVzICh0aGVzZVxuYXJlIGdlbmVyYWxseSByZWZlcnJlZCB0byBhcyAqdHJpcGxlLXF1b3RlZCBzdHJpbmdzKikuICBUaGUgYmFja3NsYXNoXG4oYGBcXGBgKSBjaGFyYWN0ZXIgaXMgdXNlZCB0byBlc2NhcGUgY2hhcmFjdGVycyB0aGF0IG90aGVyd2lzZSBoYXZlIGFcbnNwZWNpYWwgbWVhbmluZywgc3VjaCBhcyBuZXdsaW5lLCBiYWNrc2xhc2ggaXRzZWxmLCBvciB0aGUgcXVvdGVcbmNoYXJhY3Rlci5cblxuQnl0ZXMgbGl0ZXJhbHMgYXJlIGFsd2F5cyBwcmVmaXhlZCB3aXRoIGBgXCdiXCdgYCBvciBgYFwnQlwnYGA7IHRoZXlcbnByb2R1Y2UgYW4gaW5zdGFuY2Ugb2YgdGhlIGBgYnl0ZXNgYCB0eXBlIGluc3RlYWQgb2YgdGhlIGBgc3RyYGAgdHlwZS5cblRoZXkgbWF5IG9ubHkgY29udGFpbiBBU0NJSSBjaGFyYWN0ZXJzOyBieXRlcyB3aXRoIGEgbnVtZXJpYyB2YWx1ZSBvZlxuMTI4IG9yIGdyZWF0ZXIgbXVzdCBiZSBleHByZXNzZWQgd2l0aCBlc2NhcGVzLlxuXG5Cb3RoIHN0cmluZyBhbmQgYnl0ZXMgbGl0ZXJhbHMgbWF5IG9wdGlvbmFsbHkgYmUgcHJlZml4ZWQgd2l0aCBhXG5sZXR0ZXIgYGBcJ3JcJ2BgIG9yIGBgXCdSXCdgYDsgc3VjaCBzdHJpbmdzIGFyZSBjYWxsZWQgKnJhdyBzdHJpbmdzKiBhbmRcbnRyZWF0IGJhY2tzbGFzaGVzIGFzIGxpdGVyYWwgY2hhcmFjdGVycy4gIEFzIGEgcmVzdWx0LCBpbiBzdHJpbmdcbmxpdGVyYWxzLCBgYFwnXFxVXCdgYCBhbmQgYGBcJ1xcdVwnYGAgZXNjYXBlcyBpbiByYXcgc3RyaW5ncyBhcmUgbm90IHRyZWF0ZWRcbnNwZWNpYWxseS5cblxuSW4gdHJpcGxlLXF1b3RlZCBzdHJpbmdzLCB1bmVzY2FwZWQgbmV3bGluZXMgYW5kIHF1b3RlcyBhcmUgYWxsb3dlZFxuKGFuZCBhcmUgcmV0YWluZWQpLCBleGNlcHQgdGhhdCB0aHJlZSB1bmVzY2FwZWQgcXVvdGVzIGluIGEgcm93XG50ZXJtaW5hdGUgdGhlIHN0cmluZy4gIChBICJxdW90ZSIgaXMgdGhlIGNoYXJhY3RlciB1c2VkIHRvIG9wZW4gdGhlXG5zdHJpbmcsIGkuZS4gZWl0aGVyIGBgXCdgYCBvciBgYCJgYC4pXG5cblVubGVzcyBhbiBgYFwnclwnYGAgb3IgYGBcJ1JcJ2BgIHByZWZpeCBpcyBwcmVzZW50LCBlc2NhcGUgc2VxdWVuY2VzIGluXG5zdHJpbmdzIGFyZSBpbnRlcnByZXRlZCBhY2NvcmRpbmcgdG8gcnVsZXMgc2ltaWxhciB0byB0aG9zZSB1c2VkIGJ5XG5TdGFuZGFyZCBDLiAgVGhlIHJlY29nbml6ZWQgZXNjYXBlIHNlcXVlbmNlcyBhcmU6XG5cbistLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLStcbnwgRXNjYXBlIFNlcXVlbmNlICAgfCBNZWFuaW5nICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBOb3RlcyAgIHxcbis9PT09PT09PT09PT09PT09PT09Kz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Kz09PT09PT09PStcbnwgYGBcXG5ld2xpbmVgYCAgICAgIHwgQmFja3NsYXNoIGFuZCBuZXdsaW5lIGlnbm9yZWQgICAgIHwgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rXG58IGBgXFxcXGBgICAgICAgICAgICAgfCBCYWNrc2xhc2ggKGBgXFxgYCkgICAgICAgICAgICAgICAgIHwgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rXG58IGBgXFxcJ2BgICAgICAgICAgICAgfCBTaW5nbGUgcXVvdGUgKGBgXCdgYCkgICAgICAgICAgICAgIHwgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rXG58IGBgXFwiYGAgICAgICAgICAgICB8IERvdWJsZSBxdW90ZSAoYGAiYGApICAgICAgICAgICAgICB8ICAgICAgICAgfFxuKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tK1xufCBgYFxcYWBgICAgICAgICAgICAgfCBBU0NJSSBCZWxsIChCRUwpICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHxcbistLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLStcbnwgYGBcXGJgYCAgICAgICAgICAgIHwgQVNDSUkgQmFja3NwYWNlIChCUykgICAgICAgICAgICAgIHwgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rXG58IGBgXFxmYGAgICAgICAgICAgICB8IEFTQ0lJIEZvcm1mZWVkIChGRikgICAgICAgICAgICAgICB8ICAgICAgICAgfFxuKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tK1xufCBgYFxcbmBgICAgICAgICAgICAgfCBBU0NJSSBMaW5lZmVlZCAoTEYpICAgICAgICAgICAgICAgfCAgICAgICAgIHxcbistLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLStcbnwgYGBcXHJgYCAgICAgICAgICAgIHwgQVNDSUkgQ2FycmlhZ2UgUmV0dXJuIChDUikgICAgICAgIHwgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rXG58IGBgXFx0YGAgICAgICAgICAgICB8IEFTQ0lJIEhvcml6b250YWwgVGFiIChUQUIpICAgICAgICB8ICAgICAgICAgfFxuKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tK1xufCBgYFxcdmBgICAgICAgICAgICAgfCBBU0NJSSBWZXJ0aWNhbCBUYWIgKFZUKSAgICAgICAgICAgfCAgICAgICAgIHxcbistLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLStcbnwgYGBcXG9vb2BgICAgICAgICAgIHwgQ2hhcmFjdGVyIHdpdGggb2N0YWwgdmFsdWUgKm9vbyogIHwgKDEsMykgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rXG58IGBgXFx4aGhgYCAgICAgICAgICB8IENoYXJhY3RlciB3aXRoIGhleCB2YWx1ZSAqaGgqICAgICB8ICgyLDMpICAgfFxuKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tK1xuXG5Fc2NhcGUgc2VxdWVuY2VzIG9ubHkgcmVjb2duaXplZCBpbiBzdHJpbmcgbGl0ZXJhbHMgYXJlOlxuXG4rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rXG58IEVzY2FwZSBTZXF1ZW5jZSAgIHwgTWVhbmluZyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgTm90ZXMgICB8XG4rPT09PT09PT09PT09PT09PT09PSs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSs9PT09PT09PT0rXG58IGBgXFxOe25hbWV9YGAgICAgICB8IENoYXJhY3RlciBuYW1lZCAqbmFtZSogaW4gdGhlICAgICB8ICAgICAgICAgfFxufCAgICAgICAgICAgICAgICAgICB8IFVuaWNvZGUgZGF0YWJhc2UgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfFxuKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tK1xufCBgYFxcdXh4eHhgYCAgICAgICAgfCBDaGFyYWN0ZXIgd2l0aCAxNi1iaXQgaGV4IHZhbHVlICAgfCAoNCkgICAgIHxcbnwgICAgICAgICAgICAgICAgICAgfCAqeHh4eCogICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHxcbistLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLStcbnwgYGBcXFV4eHh4eHh4eGBgICAgIHwgQ2hhcmFjdGVyIHdpdGggMzItYml0IGhleCB2YWx1ZSAgIHwgKDUpICAgICB8XG58ICAgICAgICAgICAgICAgICAgIHwgKnh4eHh4eHh4KiAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rXG5cbk5vdGVzOlxuXG4xLiBBcyBpbiBTdGFuZGFyZCBDLCB1cCB0byB0aHJlZSBvY3RhbCBkaWdpdHMgYXJlIGFjY2VwdGVkLlxuXG4yLiBVbmxpa2UgaW4gU3RhbmRhcmQgQywgZXhhY3RseSB0d28gaGV4IGRpZ2l0cyBhcmUgcmVxdWlyZWQuXG5cbjMuIEluIGEgYnl0ZXMgbGl0ZXJhbCwgaGV4YWRlY2ltYWwgYW5kIG9jdGFsIGVzY2FwZXMgZGVub3RlIHRoZSBieXRlXG4gICB3aXRoIHRoZSBnaXZlbiB2YWx1ZS4gSW4gYSBzdHJpbmcgbGl0ZXJhbCwgdGhlc2UgZXNjYXBlcyBkZW5vdGUgYVxuICAgVW5pY29kZSBjaGFyYWN0ZXIgd2l0aCB0aGUgZ2l2ZW4gdmFsdWUuXG5cbjQuIEluZGl2aWR1YWwgY29kZSB1bml0cyB3aGljaCBmb3JtIHBhcnRzIG9mIGEgc3Vycm9nYXRlIHBhaXIgY2FuIGJlXG4gICBlbmNvZGVkIHVzaW5nIHRoaXMgZXNjYXBlIHNlcXVlbmNlLiAgRXhhY3RseSBmb3VyIGhleCBkaWdpdHMgYXJlXG4gICByZXF1aXJlZC5cblxuNS4gQW55IFVuaWNvZGUgY2hhcmFjdGVyIGNhbiBiZSBlbmNvZGVkIHRoaXMgd2F5LCBidXQgY2hhcmFjdGVyc1xuICAgb3V0c2lkZSB0aGUgQmFzaWMgTXVsdGlsaW5ndWFsIFBsYW5lIChCTVApIHdpbGwgYmUgZW5jb2RlZCB1c2luZyBhXG4gICBzdXJyb2dhdGUgcGFpciBpZiBQeXRob24gaXMgY29tcGlsZWQgdG8gdXNlIDE2LWJpdCBjb2RlIHVuaXRzICh0aGVcbiAgIGRlZmF1bHQpLiAgRXhhY3RseSBlaWdodCBoZXggZGlnaXRzIGFyZSByZXF1aXJlZC5cblxuVW5saWtlIFN0YW5kYXJkIEMsIGFsbCB1bnJlY29nbml6ZWQgZXNjYXBlIHNlcXVlbmNlcyBhcmUgbGVmdCBpbiB0aGVcbnN0cmluZyB1bmNoYW5nZWQsIGkuZS4sICp0aGUgYmFja3NsYXNoIGlzIGxlZnQgaW4gdGhlIHN0cmluZyouICAoVGhpc1xuYmVoYXZpb3IgaXMgdXNlZnVsIHdoZW4gZGVidWdnaW5nOiBpZiBhbiBlc2NhcGUgc2VxdWVuY2UgaXMgbWlzdHlwZWQsXG50aGUgcmVzdWx0aW5nIG91dHB1dCBpcyBtb3JlIGVhc2lseSByZWNvZ25pemVkIGFzIGJyb2tlbi4pICBJdCBpcyBhbHNvXG5pbXBvcnRhbnQgdG8gbm90ZSB0aGF0IHRoZSBlc2NhcGUgc2VxdWVuY2VzIG9ubHkgcmVjb2duaXplZCBpbiBzdHJpbmdcbmxpdGVyYWxzIGZhbGwgaW50byB0aGUgY2F0ZWdvcnkgb2YgdW5yZWNvZ25pemVkIGVzY2FwZXMgZm9yIGJ5dGVzXG5saXRlcmFscy5cblxuRXZlbiBpbiBhIHJhdyBzdHJpbmcsIHN0cmluZyBxdW90ZXMgY2FuIGJlIGVzY2FwZWQgd2l0aCBhIGJhY2tzbGFzaCxcbmJ1dCB0aGUgYmFja3NsYXNoIHJlbWFpbnMgaW4gdGhlIHN0cmluZzsgZm9yIGV4YW1wbGUsIGBgciJcXCIiYGAgaXMgYVxudmFsaWQgc3RyaW5nIGxpdGVyYWwgY29uc2lzdGluZyBvZiB0d28gY2hhcmFjdGVyczogYSBiYWNrc2xhc2ggYW5kIGFcbmRvdWJsZSBxdW90ZTsgYGByIlxcImBgIGlzIG5vdCBhIHZhbGlkIHN0cmluZyBsaXRlcmFsIChldmVuIGEgcmF3XG5zdHJpbmcgY2Fubm90IGVuZCBpbiBhbiBvZGQgbnVtYmVyIG9mIGJhY2tzbGFzaGVzKS4gIFNwZWNpZmljYWxseSwgKmFcbnJhdyBzdHJpbmcgY2Fubm90IGVuZCBpbiBhIHNpbmdsZSBiYWNrc2xhc2gqIChzaW5jZSB0aGUgYmFja3NsYXNoXG53b3VsZCBlc2NhcGUgdGhlIGZvbGxvd2luZyBxdW90ZSBjaGFyYWN0ZXIpLiAgTm90ZSBhbHNvIHRoYXQgYSBzaW5nbGVcbmJhY2tzbGFzaCBmb2xsb3dlZCBieSBhIG5ld2xpbmUgaXMgaW50ZXJwcmV0ZWQgYXMgdGhvc2UgdHdvIGNoYXJhY3RlcnNcbmFzIHBhcnQgb2YgdGhlIHN0cmluZywgKm5vdCogYXMgYSBsaW5lIGNvbnRpbnVhdGlvbi5cbicsCisgJ3NwZWNpYWxhdHRycyc6ICdcblNwZWNpYWwgQXR0cmlidXRlc1xuKioqKioqKioqKioqKioqKioqXG5cblRoZSBpbXBsZW1lbnRhdGlvbiBhZGRzIGEgZmV3IHNwZWNpYWwgcmVhZC1vbmx5IGF0dHJpYnV0ZXMgdG8gc2V2ZXJhbFxub2JqZWN0IHR5cGVzLCB3aGVyZSB0aGV5IGFyZSByZWxldmFudC4gIFNvbWUgb2YgdGhlc2UgYXJlIG5vdCByZXBvcnRlZFxuYnkgdGhlIGBgZGlyKClgYCBidWlsdC1pbiBmdW5jdGlvbi5cblxub2JqZWN0Ll9fZGljdF9fXG5cbiAgIEEgZGljdGlvbmFyeSBvciBvdGhlciBtYXBwaW5nIG9iamVjdCB1c2VkIHRvIHN0b3JlIGFuIG9iamVjdFwnc1xuICAgKHdyaXRhYmxlKSBhdHRyaWJ1dGVzLlxuXG5pbnN0YW5jZS5fX2NsYXNzX19cblxuICAgVGhlIGNsYXNzIHRvIHdoaWNoIGEgY2xhc3MgaW5zdGFuY2UgYmVsb25ncy5cblxuY2xhc3MuX19iYXNlc19fXG5cbiAgIFRoZSB0dXBsZSBvZiBiYXNlIGNsYXNzZXMgb2YgYSBjbGFzcyBvYmplY3QuXG5cbmNsYXNzLl9fbmFtZV9fXG5cbiAgIFRoZSBuYW1lIG9mIHRoZSBjbGFzcyBvciB0eXBlLlxuXG5jbGFzcy5fX3F1YWxuYW1lX19cblxuICAgVGhlICpxdWFsaWZpZWQgbmFtZSogb2YgdGhlIGNsYXNzIG9yIHR5cGUuXG5cbiAgIE5ldyBpbiB2ZXJzaW9uIDMuMy5cblxuY2xhc3MuX19tcm9fX1xuXG4gICBUaGlzIGF0dHJpYnV0ZSBpcyBhIHR1cGxlIG9mIGNsYXNzZXMgdGhhdCBhcmUgY29uc2lkZXJlZCB3aGVuXG4gICBsb29raW5nIGZvciBiYXNlIGNsYXNzZXMgZHVyaW5nIG1ldGhvZCByZXNvbHV0aW9uLlxuXG5jbGFzcy5tcm8oKVxuXG4gICBUaGlzIG1ldGhvZCBjYW4gYmUgb3ZlcnJpZGRlbiBieSBhIG1ldGFjbGFzcyB0byBjdXN0b21pemUgdGhlXG4gICBtZXRob2QgcmVzb2x1dGlvbiBvcmRlciBmb3IgaXRzIGluc3RhbmNlcy4gIEl0IGlzIGNhbGxlZCBhdCBjbGFzc1xuICAgaW5zdGFudGlhdGlvbiwgYW5kIGl0cyByZXN1bHQgaXMgc3RvcmVkIGluIGBgX19tcm9fX2BgLlxuXG5jbGFzcy5fX3N1YmNsYXNzZXNfXygpXG5cbiAgIEVhY2ggY2xhc3Mga2VlcHMgYSBsaXN0IG9mIHdlYWsgcmVmZXJlbmNlcyB0byBpdHMgaW1tZWRpYXRlXG4gICBzdWJjbGFzc2VzLiAgVGhpcyBtZXRob2QgcmV0dXJucyBhIGxpc3Qgb2YgYWxsIHRob3NlIHJlZmVyZW5jZXNcbiAgIHN0aWxsIGFsaXZlLiBFeGFtcGxlOlxuXG4gICAgICA+Pj4gaW50Ll9fc3ViY2xhc3Nlc19fKClcbiAgICAgIFs8Y2xhc3MgXCdib29sXCc+XVxuXG4tWyBGb290bm90ZXMgXS1cblxuWzFdIEFkZGl0aW9uYWwgaW5mb3JtYXRpb24gb24gdGhlc2Ugc3BlY2lhbCBtZXRob2RzIG1heSBiZSBmb3VuZCBpblxuICAgIHRoZSBQeXRob24gUmVmZXJlbmNlIE1hbnVhbCAoKkJhc2ljIGN1c3RvbWl6YXRpb24qKS5cblxuWzJdIEFzIGEgY29uc2VxdWVuY2UsIHRoZSBsaXN0IGBgWzEsIDJdYGAgaXMgY29uc2lkZXJlZCBlcXVhbCB0b1xuICAgIGBgWzEuMCwgMi4wXWBgLCBhbmQgc2ltaWxhcmx5IGZvciB0dXBsZXMuXG5cblszXSBUaGV5IG11c3QgaGF2ZSBzaW5jZSB0aGUgcGFyc2VyIGNhblwndCB0ZWxsIHRoZSB0eXBlIG9mIHRoZVxuICAgIG9wZXJhbmRzLlxuXG5bNF0gQ2FzZWQgY2hhcmFjdGVycyBhcmUgdGhvc2Ugd2l0aCBnZW5lcmFsIGNhdGVnb3J5IHByb3BlcnR5IGJlaW5nXG4gICAgb25lIG9mICJMdSIgKExldHRlciwgdXBwZXJjYXNlKSwgIkxsIiAoTGV0dGVyLCBsb3dlcmNhc2UpLCBvciAiTHQiXG4gICAgKExldHRlciwgdGl0bGVjYXNlKS5cblxuWzVdIFRvIGZvcm1hdCBvbmx5IGEgdHVwbGUgeW91IHNob3VsZCB0aGVyZWZvcmUgcHJvdmlkZSBhIHNpbmdsZXRvblxuICAgIHR1cGxlIHdob3NlIG9ubHkgZWxlbWVudCBpcyB0aGUgdHVwbGUgdG8gYmUgZm9ybWF0dGVkLlxuJywKKyAnc3BlY2lhbG5hbWVzJzogJ1xuU3BlY2lhbCBtZXRob2QgbmFtZXNcbioqKioqKioqKioqKioqKioqKioqXG5cbkEgY2xhc3MgY2FuIGltcGxlbWVudCBjZXJ0YWluIG9wZXJhdGlvbnMgdGhhdCBhcmUgaW52b2tlZCBieSBzcGVjaWFsXG5zeW50YXggKHN1Y2ggYXMgYXJpdGhtZXRpYyBvcGVyYXRpb25zIG9yIHN1YnNjcmlwdGluZyBhbmQgc2xpY2luZykgYnlcbmRlZmluaW5nIG1ldGhvZHMgd2l0aCBzcGVjaWFsIG5hbWVzLiBUaGlzIGlzIFB5dGhvblwncyBhcHByb2FjaCB0b1xuKm9wZXJhdG9yIG92ZXJsb2FkaW5nKiwgYWxsb3dpbmcgY2xhc3NlcyB0byBkZWZpbmUgdGhlaXIgb3duIGJlaGF2aW9yXG53aXRoIHJlc3BlY3QgdG8gbGFuZ3VhZ2Ugb3BlcmF0b3JzLiAgRm9yIGluc3RhbmNlLCBpZiBhIGNsYXNzIGRlZmluZXNcbmEgbWV0aG9kIG5hbWVkIGBgX19nZXRpdGVtX18oKWBgLCBhbmQgYGB4YGAgaXMgYW4gaW5zdGFuY2Ugb2YgdGhpc1xuY2xhc3MsIHRoZW4gYGB4W2ldYGAgaXMgcm91Z2hseSBlcXVpdmFsZW50IHRvIGBgdHlwZSh4KS5fX2dldGl0ZW1fXyh4LFxuaSlgYC4gIEV4Y2VwdCB3aGVyZSBtZW50aW9uZWQsIGF0dGVtcHRzIHRvIGV4ZWN1dGUgYW4gb3BlcmF0aW9uIHJhaXNlXG5hbiBleGNlcHRpb24gd2hlbiBubyBhcHByb3ByaWF0ZSBtZXRob2QgaXMgZGVmaW5lZCAodHlwaWNhbGx5XG5gYEF0dHJpYnV0ZUVycm9yYGAgb3IgYGBUeXBlRXJyb3JgYCkuXG5cbldoZW4gaW1wbGVtZW50aW5nIGEgY2xhc3MgdGhhdCBlbXVsYXRlcyBhbnkgYnVpbHQtaW4gdHlwZSwgaXQgaXNcbmltcG9ydGFudCB0aGF0IHRoZSBlbXVsYXRpb24gb25seSBiZSBpbXBsZW1lbnRlZCB0byB0aGUgZGVncmVlIHRoYXQgaXRcbm1ha2VzIHNlbnNlIGZvciB0aGUgb2JqZWN0IGJlaW5nIG1vZGVsbGVkLiAgRm9yIGV4YW1wbGUsIHNvbWVcbnNlcXVlbmNlcyBtYXkgd29yayB3ZWxsIHdpdGggcmV0cmlldmFsIG9mIGluZGl2aWR1YWwgZWxlbWVudHMsIGJ1dFxuZXh0cmFjdGluZyBhIHNsaWNlIG1heSBub3QgbWFrZSBzZW5zZS4gIChPbmUgZXhhbXBsZSBvZiB0aGlzIGlzIHRoZVxuYGBOb2RlTGlzdGBgIGludGVyZmFjZSBpbiB0aGUgVzNDXCdzIERvY3VtZW50IE9iamVjdCBNb2RlbC4pXG5cblxuQmFzaWMgY3VzdG9taXphdGlvblxuPT09PT09PT09PT09PT09PT09PVxuXG5vYmplY3QuX19uZXdfXyhjbHNbLCAuLi5dKVxuXG4gICBDYWxsZWQgdG8gY3JlYXRlIGEgbmV3IGluc3RhbmNlIG9mIGNsYXNzICpjbHMqLiAgYGBfX25ld19fKClgYCBpcyBhXG4gICBzdGF0aWMgbWV0aG9kIChzcGVjaWFsLWNhc2VkIHNvIHlvdSBuZWVkIG5vdCBkZWNsYXJlIGl0IGFzIHN1Y2gpXG4gICB0aGF0IHRha2VzIHRoZSBjbGFzcyBvZiB3aGljaCBhbiBpbnN0YW5jZSB3YXMgcmVxdWVzdGVkIGFzIGl0c1xuICAgZmlyc3QgYXJndW1lbnQuICBUaGUgcmVtYWluaW5nIGFyZ3VtZW50cyBhcmUgdGhvc2UgcGFzc2VkIHRvIHRoZVxuICAgb2JqZWN0IGNvbnN0cnVjdG9yIGV4cHJlc3Npb24gKHRoZSBjYWxsIHRvIHRoZSBjbGFzcykuICBUaGUgcmV0dXJuXG4gICB2YWx1ZSBvZiBgYF9fbmV3X18oKWBgIHNob3VsZCBiZSB0aGUgbmV3IG9iamVjdCBpbnN0YW5jZSAodXN1YWxseVxuICAgYW4gaW5zdGFuY2Ugb2YgKmNscyopLlxuXG4gICBUeXBpY2FsIGltcGxlbWVudGF0aW9ucyBjcmVhdGUgYSBuZXcgaW5zdGFuY2Ugb2YgdGhlIGNsYXNzIGJ5XG4gICBpbnZva2luZyB0aGUgc3VwZXJjbGFzc1wncyBgYF9fbmV3X18oKWBgIG1ldGhvZCB1c2luZ1xuICAgYGBzdXBlcihjdXJyZW50Y2xhc3MsIGNscykuX19uZXdfXyhjbHNbLCAuLi5dKWBgIHdpdGggYXBwcm9wcmlhdGVcbiAgIGFyZ3VtZW50cyBhbmQgdGhlbiBtb2RpZnlpbmcgdGhlIG5ld2x5LWNyZWF0ZWQgaW5zdGFuY2UgYXNcbiAgIG5lY2Vzc2FyeSBiZWZvcmUgcmV0dXJuaW5nIGl0LlxuXG4gICBJZiBgYF9fbmV3X18oKWBgIHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgKmNscyosIHRoZW4gdGhlIG5ld1xuICAgaW5zdGFuY2VcJ3MgYGBfX2luaXRfXygpYGAgbWV0aG9kIHdpbGwgYmUgaW52b2tlZCBsaWtlXG4gICBgYF9faW5pdF9fKHNlbGZbLCAuLi5dKWBgLCB3aGVyZSAqc2VsZiogaXMgdGhlIG5ldyBpbnN0YW5jZSBhbmQgdGhlXG4gICByZW1haW5pbmcgYXJndW1lbnRzIGFyZSB0aGUgc2FtZSBhcyB3ZXJlIHBhc3NlZCB0byBgYF9fbmV3X18oKWBgLlxuXG4gICBJZiBgYF9fbmV3X18oKWBgIGRvZXMgbm90IHJldHVybiBhbiBpbnN0YW5jZSBvZiAqY2xzKiwgdGhlbiB0aGUgbmV3XG4gICBpbnN0YW5jZVwncyBgYF9faW5pdF9fKClgYCBtZXRob2Qgd2lsbCBub3QgYmUgaW52b2tlZC5cblxuICAgYGBfX25ld19fKClgYCBpcyBpbnRlbmRlZCBtYWlubHkgdG8gYWxsb3cgc3ViY2xhc3NlcyBvZiBpbW11dGFibGVcbiAgIHR5cGVzIChsaWtlIGludCwgc3RyLCBvciB0dXBsZSkgdG8gY3VzdG9taXplIGluc3RhbmNlIGNyZWF0aW9uLiAgSXRcbiAgIGlzIGFsc28gY29tbW9ubHkgb3ZlcnJpZGRlbiBpbiBjdXN0b20gbWV0YWNsYXNzZXMgaW4gb3JkZXIgdG9cbiAgIGN1c3RvbWl6ZSBjbGFzcyBjcmVhdGlvbi5cblxub2JqZWN0Ll9faW5pdF9fKHNlbGZbLCAuLi5dKVxuXG4gICBDYWxsZWQgd2hlbiB0aGUgaW5zdGFuY2UgaXMgY3JlYXRlZC4gIFRoZSBhcmd1bWVudHMgYXJlIHRob3NlXG4gICBwYXNzZWQgdG8gdGhlIGNsYXNzIGNvbnN0cnVjdG9yIGV4cHJlc3Npb24uICBJZiBhIGJhc2UgY2xhc3MgaGFzIGFuXG4gICBgYF9faW5pdF9fKClgYCBtZXRob2QsIHRoZSBkZXJpdmVkIGNsYXNzXCdzIGBgX19pbml0X18oKWBgIG1ldGhvZCxcbiAgIGlmIGFueSwgbXVzdCBleHBsaWNpdGx5IGNhbGwgaXQgdG8gZW5zdXJlIHByb3BlciBpbml0aWFsaXphdGlvbiBvZlxuICAgdGhlIGJhc2UgY2xhc3MgcGFydCBvZiB0aGUgaW5zdGFuY2U7IGZvciBleGFtcGxlOlxuICAgYGBCYXNlQ2xhc3MuX19pbml0X18oc2VsZiwgW2FyZ3MuLi5dKWBgLiAgQXMgYSBzcGVjaWFsIGNvbnN0cmFpbnRcbiAgIG9uIGNvbnN0cnVjdG9ycywgbm8gdmFsdWUgbWF5IGJlIHJldHVybmVkOyBkb2luZyBzbyB3aWxsIGNhdXNlIGFcbiAgIGBgVHlwZUVycm9yYGAgdG8gYmUgcmFpc2VkIGF0IHJ1bnRpbWUuXG5cbm9iamVjdC5fX2RlbF9fKHNlbGYpXG5cbiAgIENhbGxlZCB3aGVuIHRoZSBpbnN0YW5jZSBpcyBhYm91dCB0byBiZSBkZXN0cm95ZWQuICBUaGlzIGlzIGFsc29cbiAgIGNhbGxlZCBhIGRlc3RydWN0b3IuICBJZiBhIGJhc2UgY2xhc3MgaGFzIGEgYGBfX2RlbF9fKClgYCBtZXRob2QsXG4gICB0aGUgZGVyaXZlZCBjbGFzc1wncyBgYF9fZGVsX18oKWBgIG1ldGhvZCwgaWYgYW55LCBtdXN0IGV4cGxpY2l0bHlcbiAgIGNhbGwgaXQgdG8gZW5zdXJlIHByb3BlciBkZWxldGlvbiBvZiB0aGUgYmFzZSBjbGFzcyBwYXJ0IG9mIHRoZVxuICAgaW5zdGFuY2UuICBOb3RlIHRoYXQgaXQgaXMgcG9zc2libGUgKHRob3VnaCBub3QgcmVjb21tZW5kZWQhKSBmb3JcbiAgIHRoZSBgYF9fZGVsX18oKWBgIG1ldGhvZCB0byBwb3N0cG9uZSBkZXN0cnVjdGlvbiBvZiB0aGUgaW5zdGFuY2UgYnlcbiAgIGNyZWF0aW5nIGEgbmV3IHJlZmVyZW5jZSB0byBpdC4gIEl0IG1heSB0aGVuIGJlIGNhbGxlZCBhdCBhIGxhdGVyXG4gICB0aW1lIHdoZW4gdGhpcyBuZXcgcmVmZXJlbmNlIGlzIGRlbGV0ZWQuICBJdCBpcyBub3QgZ3VhcmFudGVlZCB0aGF0XG4gICBgYF9fZGVsX18oKWBgIG1ldGhvZHMgYXJlIGNhbGxlZCBmb3Igb2JqZWN0cyB0aGF0IHN0aWxsIGV4aXN0IHdoZW5cbiAgIHRoZSBpbnRlcnByZXRlciBleGl0cy5cblxuICAgTm90ZTogYGBkZWwgeGBgIGRvZXNuXCd0IGRpcmVjdGx5IGNhbGwgYGB4Ll9fZGVsX18oKWBgIC0tLSB0aGUgZm9ybWVyXG4gICAgIGRlY3JlbWVudHMgdGhlIHJlZmVyZW5jZSBjb3VudCBmb3IgYGB4YGAgYnkgb25lLCBhbmQgdGhlIGxhdHRlclxuICAgICBpcyBvbmx5IGNhbGxlZCB3aGVuIGBgeGBgXCdzIHJlZmVyZW5jZSBjb3VudCByZWFjaGVzIHplcm8uICBTb21lXG4gICAgIGNvbW1vbiBzaXR1YXRpb25zIHRoYXQgbWF5IHByZXZlbnQgdGhlIHJlZmVyZW5jZSBjb3VudCBvZiBhblxuICAgICBvYmplY3QgZnJvbSBnb2luZyB0byB6ZXJvIGluY2x1ZGU6IGNpcmN1bGFyIHJlZmVyZW5jZXMgYmV0d2VlblxuICAgICBvYmplY3RzIChlLmcuLCBhIGRvdWJseS1saW5rZWQgbGlzdCBvciBhIHRyZWUgZGF0YSBzdHJ1Y3R1cmUgd2l0aFxuICAgICBwYXJlbnQgYW5kIGNoaWxkIHBvaW50ZXJzKTsgYSByZWZlcmVuY2UgdG8gdGhlIG9iamVjdCBvbiB0aGVcbiAgICAgc3RhY2sgZnJhbWUgb2YgYSBmdW5jdGlvbiB0aGF0IGNhdWdodCBhbiBleGNlcHRpb24gKHRoZSB0cmFjZWJhY2tcbiAgICAgc3RvcmVkIGluIGBgc3lzLmV4Y19pbmZvKClbMl1gYCBrZWVwcyB0aGUgc3RhY2sgZnJhbWUgYWxpdmUpOyBvclxuICAgICBhIHJlZmVyZW5jZSB0byB0aGUgb2JqZWN0IG9uIHRoZSBzdGFjayBmcmFtZSB0aGF0IHJhaXNlZCBhblxuICAgICB1bmhhbmRsZWQgZXhjZXB0aW9uIGluIGludGVyYWN0aXZlIG1vZGUgKHRoZSB0cmFjZWJhY2sgc3RvcmVkIGluXG4gICAgIGBgc3lzLmxhc3RfdHJhY2ViYWNrYGAga2VlcHMgdGhlIHN0YWNrIGZyYW1lIGFsaXZlKS4gIFRoZSBmaXJzdFxuICAgICBzaXR1YXRpb24gY2FuIG9ubHkgYmUgcmVtZWRpZWQgYnkgZXhwbGljaXRseSBicmVha2luZyB0aGUgY3ljbGVzO1xuICAgICB0aGUgbGF0dGVyIHR3byBzaXR1YXRpb25zIGNhbiBiZSByZXNvbHZlZCBieSBzdG9yaW5nIGBgTm9uZWBgIGluXG4gICAgIGBgc3lzLmxhc3RfdHJhY2ViYWNrYGAuIENpcmN1bGFyIHJlZmVyZW5jZXMgd2hpY2ggYXJlIGdhcmJhZ2UgYXJlXG4gICAgIGRldGVjdGVkIHdoZW4gdGhlIG9wdGlvbiBjeWNsZSBkZXRlY3RvciBpcyBlbmFibGVkIChpdFwncyBvbiBieVxuICAgICBkZWZhdWx0KSwgYnV0IGNhbiBvbmx5IGJlIGNsZWFuZWQgdXAgaWYgdGhlcmUgYXJlIG5vIFB5dGhvbi1cbiAgICAgbGV2ZWwgYGBfX2RlbF9fKClgYCBtZXRob2RzIGludm9sdmVkLiBSZWZlciB0byB0aGUgZG9jdW1lbnRhdGlvblxuICAgICBmb3IgdGhlIGBgZ2NgYCBtb2R1bGUgZm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgaG93XG4gICAgIGBgX19kZWxfXygpYGAgbWV0aG9kcyBhcmUgaGFuZGxlZCBieSB0aGUgY3ljbGUgZGV0ZWN0b3IsXG4gICAgIHBhcnRpY3VsYXJseSB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIGBgZ2FyYmFnZWBgIHZhbHVlLlxuXG4gICBXYXJuaW5nOiBEdWUgdG8gdGhlIHByZWNhcmlvdXMgY2lyY3Vtc3RhbmNlcyB1bmRlciB3aGljaCBgYF9fZGVsX18oKWBgXG4gICAgIG1ldGhvZHMgYXJlIGludm9rZWQsIGV4Y2VwdGlvbnMgdGhhdCBvY2N1ciBkdXJpbmcgdGhlaXIgZXhlY3V0aW9uXG4gICAgIGFyZSBpZ25vcmVkLCBhbmQgYSB3YXJuaW5nIGlzIHByaW50ZWQgdG8gYGBzeXMuc3RkZXJyYGAgaW5zdGVhZC5cbiAgICAgQWxzbywgd2hlbiBgYF9fZGVsX18oKWBgIGlzIGludm9rZWQgaW4gcmVzcG9uc2UgdG8gYSBtb2R1bGUgYmVpbmdcbiAgICAgZGVsZXRlZCAoZS5nLiwgd2hlbiBleGVjdXRpb24gb2YgdGhlIHByb2dyYW0gaXMgZG9uZSksIG90aGVyXG4gICAgIGdsb2JhbHMgcmVmZXJlbmNlZCBieSB0aGUgYGBfX2RlbF9fKClgYCBtZXRob2QgbWF5IGFscmVhZHkgaGF2ZVxuICAgICBiZWVuIGRlbGV0ZWQgb3IgaW4gdGhlIHByb2Nlc3Mgb2YgYmVpbmcgdG9ybiBkb3duIChlLmcuIHRoZVxuICAgICBpbXBvcnQgbWFjaGluZXJ5IHNodXR0aW5nIGRvd24pLiAgRm9yIHRoaXMgcmVhc29uLCBgYF9fZGVsX18oKWBgXG4gICAgIG1ldGhvZHMgc2hvdWxkIGRvIHRoZSBhYnNvbHV0ZSBtaW5pbXVtIG5lZWRlZCB0byBtYWludGFpblxuICAgICBleHRlcm5hbCBpbnZhcmlhbnRzLiAgU3RhcnRpbmcgd2l0aCB2ZXJzaW9uIDEuNSwgUHl0aG9uXG4gICAgIGd1YXJhbnRlZXMgdGhhdCBnbG9iYWxzIHdob3NlIG5hbWUgYmVnaW5zIHdpdGggYSBzaW5nbGVcbiAgICAgdW5kZXJzY29yZSBhcmUgZGVsZXRlZCBmcm9tIHRoZWlyIG1vZHVsZSBiZWZvcmUgb3RoZXIgZ2xvYmFscyBhcmVcbiAgICAgZGVsZXRlZDsgaWYgbm8gb3RoZXIgcmVmZXJlbmNlcyB0byBzdWNoIGdsb2JhbHMgZXhpc3QsIHRoaXMgbWF5XG4gICAgIGhlbHAgaW4gYXNzdXJpbmcgdGhhdCBpbXBvcnRlZCBtb2R1bGVzIGFyZSBzdGlsbCBhdmFpbGFibGUgYXQgdGhlXG4gICAgIHRpbWUgd2hlbiB0aGUgYGBfX2RlbF9fKClgYCBtZXRob2QgaXMgY2FsbGVkLlxuXG5vYmplY3QuX19yZXByX18oc2VsZilcblxuICAgQ2FsbGVkIGJ5IHRoZSBgYHJlcHIoKWBgIGJ1aWx0LWluIGZ1bmN0aW9uIHRvIGNvbXB1dGUgdGhlXG4gICAib2ZmaWNpYWwiIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBhbiBvYmplY3QuICBJZiBhdCBhbGwgcG9zc2libGUsXG4gICB0aGlzIHNob3VsZCBsb29rIGxpa2UgYSB2YWxpZCBQeXRob24gZXhwcmVzc2lvbiB0aGF0IGNvdWxkIGJlIHVzZWRcbiAgIHRvIHJlY3JlYXRlIGFuIG9iamVjdCB3aXRoIHRoZSBzYW1lIHZhbHVlIChnaXZlbiBhbiBhcHByb3ByaWF0ZVxuICAgZW52aXJvbm1lbnQpLiAgSWYgdGhpcyBpcyBub3QgcG9zc2libGUsIGEgc3RyaW5nIG9mIHRoZSBmb3JtXG4gICBgYDwuLi5zb21lIHVzZWZ1bCBkZXNjcmlwdGlvbi4uLj5gYCBzaG91bGQgYmUgcmV0dXJuZWQuIFRoZSByZXR1cm5cbiAgIHZhbHVlIG11c3QgYmUgYSBzdHJpbmcgb2JqZWN0LiBJZiBhIGNsYXNzIGRlZmluZXMgYGBfX3JlcHJfXygpYGBcbiAgIGJ1dCBub3QgYGBfX3N0cl9fKClgYCwgdGhlbiBgYF9fcmVwcl9fKClgYCBpcyBhbHNvIHVzZWQgd2hlbiBhblxuICAgImluZm9ybWFsIiBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgaW5zdGFuY2VzIG9mIHRoYXQgY2xhc3MgaXNcbiAgIHJlcXVpcmVkLlxuXG4gICBUaGlzIGlzIHR5cGljYWxseSB1c2VkIGZvciBkZWJ1Z2dpbmcsIHNvIGl0IGlzIGltcG9ydGFudCB0aGF0IHRoZVxuICAgcmVwcmVzZW50YXRpb24gaXMgaW5mb3JtYXRpb24tcmljaCBhbmQgdW5hbWJpZ3VvdXMuXG5cbm9iamVjdC5fX3N0cl9fKHNlbGYpXG5cbiAgIENhbGxlZCBieSB0aGUgYGBzdHIoKWBgIGJ1aWx0LWluIGZ1bmN0aW9uIGFuZCBieSB0aGUgYGBwcmludCgpYGBcbiAgIGZ1bmN0aW9uIHRvIGNvbXB1dGUgdGhlICJpbmZvcm1hbCIgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIGFuXG4gICBvYmplY3QuICBUaGlzIGRpZmZlcnMgZnJvbSBgYF9fcmVwcl9fKClgYCBpbiB0aGF0IGl0IGRvZXMgbm90IGhhdmVcbiAgIHRvIGJlIGEgdmFsaWQgUHl0aG9uIGV4cHJlc3Npb246IGEgbW9yZSBjb252ZW5pZW50IG9yIGNvbmNpc2VcbiAgIHJlcHJlc2VudGF0aW9uIG1heSBiZSB1c2VkIGluc3RlYWQuIFRoZSByZXR1cm4gdmFsdWUgbXVzdCBiZSBhXG4gICBzdHJpbmcgb2JqZWN0LlxuXG5vYmplY3QuX19ieXRlc19fKHNlbGYpXG5cbiAgIENhbGxlZCBieSBgYGJ5dGVzKClgYCB0byBjb21wdXRlIGEgYnl0ZS1zdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgYW5cbiAgIG9iamVjdC4gVGhpcyBzaG91bGQgcmV0dXJuIGEgYGBieXRlc2BgIG9iamVjdC5cblxub2JqZWN0Ll9fZm9ybWF0X18oc2VsZiwgZm9ybWF0X3NwZWMpXG5cbiAgIENhbGxlZCBieSB0aGUgYGBmb3JtYXQoKWBgIGJ1aWx0LWluIGZ1bmN0aW9uIChhbmQgYnkgZXh0ZW5zaW9uLCB0aGVcbiAgIGBgZm9ybWF0KClgYCBtZXRob2Qgb2YgY2xhc3MgYGBzdHJgYCkgdG8gcHJvZHVjZSBhICJmb3JtYXR0ZWQiXG4gICBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgYW4gb2JqZWN0LiBUaGUgYGBmb3JtYXRfc3BlY2BgIGFyZ3VtZW50IGlzXG4gICBhIHN0cmluZyB0aGF0IGNvbnRhaW5zIGEgZGVzY3JpcHRpb24gb2YgdGhlIGZvcm1hdHRpbmcgb3B0aW9uc1xuICAgZGVzaXJlZC4gVGhlIGludGVycHJldGF0aW9uIG9mIHRoZSBgYGZvcm1hdF9zcGVjYGAgYXJndW1lbnQgaXMgdXBcbiAgIHRvIHRoZSB0eXBlIGltcGxlbWVudGluZyBgYF9fZm9ybWF0X18oKWBgLCBob3dldmVyIG1vc3QgY2xhc3Nlc1xuICAgd2lsbCBlaXRoZXIgZGVsZWdhdGUgZm9ybWF0dGluZyB0byBvbmUgb2YgdGhlIGJ1aWx0LWluIHR5cGVzLCBvclxuICAgdXNlIGEgc2ltaWxhciBmb3JtYXR0aW5nIG9wdGlvbiBzeW50YXguXG5cbiAgIFNlZSAqRm9ybWF0IFNwZWNpZmljYXRpb24gTWluaS1MYW5ndWFnZSogZm9yIGEgZGVzY3JpcHRpb24gb2YgdGhlXG4gICBzdGFuZGFyZCBmb3JtYXR0aW5nIHN5bnRheC5cblxuICAgVGhlIHJldHVybiB2YWx1ZSBtdXN0IGJlIGEgc3RyaW5nIG9iamVjdC5cblxub2JqZWN0Ll9fbHRfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX2xlX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19lcV9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9fbmVfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX2d0X18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19nZV9fKHNlbGYsIG90aGVyKVxuXG4gICBUaGVzZSBhcmUgdGhlIHNvLWNhbGxlZCAicmljaCBjb21wYXJpc29uIiBtZXRob2RzLiBUaGVcbiAgIGNvcnJlc3BvbmRlbmNlIGJldHdlZW4gb3BlcmF0b3Igc3ltYm9scyBhbmQgbWV0aG9kIG5hbWVzIGlzIGFzXG4gICBmb2xsb3dzOiBgYHg8eWBgIGNhbGxzIGBgeC5fX2x0X18oeSlgYCwgYGB4PD15YGAgY2FsbHNcbiAgIGBgeC5fX2xlX18oeSlgYCwgYGB4PT15YGAgY2FsbHMgYGB4Ll9fZXFfXyh5KWBgLCBgYHghPXlgYCBjYWxsc1xuICAgYGB4Ll9fbmVfXyh5KWBgLCBgYHg+eWBgIGNhbGxzIGBgeC5fX2d0X18oeSlgYCwgYW5kIGBgeD49eWBgIGNhbGxzXG4gICBgYHguX19nZV9fKHkpYGAuXG5cbiAgIEEgcmljaCBjb21wYXJpc29uIG1ldGhvZCBtYXkgcmV0dXJuIHRoZSBzaW5nbGV0b25cbiAgIGBgTm90SW1wbGVtZW50ZWRgYCBpZiBpdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIG9wZXJhdGlvbiBmb3IgYVxuICAgZ2l2ZW4gcGFpciBvZiBhcmd1bWVudHMuIEJ5IGNvbnZlbnRpb24sIGBgRmFsc2VgYCBhbmQgYGBUcnVlYGAgYXJlXG4gICByZXR1cm5lZCBmb3IgYSBzdWNjZXNzZnVsIGNvbXBhcmlzb24uIEhvd2V2ZXIsIHRoZXNlIG1ldGhvZHMgY2FuXG4gICByZXR1cm4gYW55IHZhbHVlLCBzbyBpZiB0aGUgY29tcGFyaXNvbiBvcGVyYXRvciBpcyB1c2VkIGluIGFcbiAgIEJvb2xlYW4gY29udGV4dCAoZS5nLiwgaW4gdGhlIGNvbmRpdGlvbiBvZiBhbiBgYGlmYGAgc3RhdGVtZW50KSxcbiAgIFB5dGhvbiB3aWxsIGNhbGwgYGBib29sKClgYCBvbiB0aGUgdmFsdWUgdG8gZGV0ZXJtaW5lIGlmIHRoZSByZXN1bHRcbiAgIGlzIHRydWUgb3IgZmFsc2UuXG5cbiAgIFRoZXJlIGFyZSBubyBpbXBsaWVkIHJlbGF0aW9uc2hpcHMgYW1vbmcgdGhlIGNvbXBhcmlzb24gb3BlcmF0b3JzLlxuICAgVGhlIHRydXRoIG9mIGBgeD09eWBgIGRvZXMgbm90IGltcGx5IHRoYXQgYGB4IT15YGAgaXMgZmFsc2UuXG4gICBBY2NvcmRpbmdseSwgd2hlbiBkZWZpbmluZyBgYF9fZXFfXygpYGAsIG9uZSBzaG91bGQgYWxzbyBkZWZpbmVcbiAgIGBgX19uZV9fKClgYCBzbyB0aGF0IHRoZSBvcGVyYXRvcnMgd2lsbCBiZWhhdmUgYXMgZXhwZWN0ZWQuICBTZWVcbiAgIHRoZSBwYXJhZ3JhcGggb24gYGBfX2hhc2hfXygpYGAgZm9yIHNvbWUgaW1wb3J0YW50IG5vdGVzIG9uXG4gICBjcmVhdGluZyAqaGFzaGFibGUqIG9iamVjdHMgd2hpY2ggc3VwcG9ydCBjdXN0b20gY29tcGFyaXNvblxuICAgb3BlcmF0aW9ucyBhbmQgYXJlIHVzYWJsZSBhcyBkaWN0aW9uYXJ5IGtleXMuXG5cbiAgIFRoZXJlIGFyZSBubyBzd2FwcGVkLWFyZ3VtZW50IHZlcnNpb25zIG9mIHRoZXNlIG1ldGhvZHMgKHRvIGJlIHVzZWRcbiAgIHdoZW4gdGhlIGxlZnQgYXJndW1lbnQgZG9lcyBub3Qgc3VwcG9ydCB0aGUgb3BlcmF0aW9uIGJ1dCB0aGUgcmlnaHRcbiAgIGFyZ3VtZW50IGRvZXMpOyByYXRoZXIsIGBgX19sdF9fKClgYCBhbmQgYGBfX2d0X18oKWBgIGFyZSBlYWNoXG4gICBvdGhlclwncyByZWZsZWN0aW9uLCBgYF9fbGVfXygpYGAgYW5kIGBgX19nZV9fKClgYCBhcmUgZWFjaCBvdGhlclwnc1xuICAgcmVmbGVjdGlvbiwgYW5kIGBgX19lcV9fKClgYCBhbmQgYGBfX25lX18oKWBgIGFyZSB0aGVpciBvd25cbiAgIHJlZmxlY3Rpb24uXG5cbiAgIEFyZ3VtZW50cyB0byByaWNoIGNvbXBhcmlzb24gbWV0aG9kcyBhcmUgbmV2ZXIgY29lcmNlZC5cblxuICAgVG8gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBvcmRlcmluZyBvcGVyYXRpb25zIGZyb20gYSBzaW5nbGUgcm9vdFxuICAgb3BlcmF0aW9uLCBzZWUgYGBmdW5jdG9vbHMudG90YWxfb3JkZXJpbmcoKWBgLlxuXG5vYmplY3QuX19oYXNoX18oc2VsZilcblxuICAgQ2FsbGVkIGJ5IGJ1aWx0LWluIGZ1bmN0aW9uIGBgaGFzaCgpYGAgYW5kIGZvciBvcGVyYXRpb25zIG9uXG4gICBtZW1iZXJzIG9mIGhhc2hlZCBjb2xsZWN0aW9ucyBpbmNsdWRpbmcgYGBzZXRgYCwgYGBmcm96ZW5zZXRgYCwgYW5kXG4gICBgYGRpY3RgYC4gIGBgX19oYXNoX18oKWBgIHNob3VsZCByZXR1cm4gYW4gaW50ZWdlci4gIFRoZSBvbmx5XG4gICByZXF1aXJlZCBwcm9wZXJ0eSBpcyB0aGF0IG9iamVjdHMgd2hpY2ggY29tcGFyZSBlcXVhbCBoYXZlIHRoZSBzYW1lXG4gICBoYXNoIHZhbHVlOyBpdCBpcyBhZHZpc2VkIHRvIHNvbWVob3cgbWl4IHRvZ2V0aGVyIChlLmcuIHVzaW5nXG4gICBleGNsdXNpdmUgb3IpIHRoZSBoYXNoIHZhbHVlcyBmb3IgdGhlIGNvbXBvbmVudHMgb2YgdGhlIG9iamVjdCB0aGF0XG4gICBhbHNvIHBsYXkgYSBwYXJ0IGluIGNvbXBhcmlzb24gb2Ygb2JqZWN0cy5cblxuICAgSWYgYSBjbGFzcyBkb2VzIG5vdCBkZWZpbmUgYW4gYGBfX2VxX18oKWBgIG1ldGhvZCBpdCBzaG91bGQgbm90XG4gICBkZWZpbmUgYSBgYF9faGFzaF9fKClgYCBvcGVyYXRpb24gZWl0aGVyOyBpZiBpdCBkZWZpbmVzXG4gICBgYF9fZXFfXygpYGAgYnV0IG5vdCBgYF9faGFzaF9fKClgYCwgaXRzIGluc3RhbmNlcyB3aWxsIG5vdCBiZVxuICAgdXNhYmxlIGFzIGl0ZW1zIGluIGhhc2hhYmxlIGNvbGxlY3Rpb25zLiAgSWYgYSBjbGFzcyBkZWZpbmVzXG4gICBtdXRhYmxlIG9iamVjdHMgYW5kIGltcGxlbWVudHMgYW4gYGBfX2VxX18oKWBgIG1ldGhvZCwgaXQgc2hvdWxkXG4gICBub3QgaW1wbGVtZW50IGBgX19oYXNoX18oKWBgLCBzaW5jZSB0aGUgaW1wbGVtZW50YXRpb24gb2YgaGFzaGFibGVcbiAgIGNvbGxlY3Rpb25zIHJlcXVpcmVzIHRoYXQgYSBrZXlcJ3MgaGFzaCB2YWx1ZSBpcyBpbW11dGFibGUgKGlmIHRoZVxuICAgb2JqZWN0XCdzIGhhc2ggdmFsdWUgY2hhbmdlcywgaXQgd2lsbCBiZSBpbiB0aGUgd3JvbmcgaGFzaCBidWNrZXQpLlxuXG4gICBVc2VyLWRlZmluZWQgY2xhc3NlcyBoYXZlIGBgX19lcV9fKClgYCBhbmQgYGBfX2hhc2hfXygpYGAgbWV0aG9kc1xuICAgYnkgZGVmYXVsdDsgd2l0aCB0aGVtLCBhbGwgb2JqZWN0cyBjb21wYXJlIHVuZXF1YWwgKGV4Y2VwdCB3aXRoXG4gICB0aGVtc2VsdmVzKSBhbmQgYGB4Ll9faGFzaF9fKClgYCByZXR1cm5zIGBgaWQoeClgYC5cblxuICAgQ2xhc3NlcyB3aGljaCBpbmhlcml0IGEgYGBfX2hhc2hfXygpYGAgbWV0aG9kIGZyb20gYSBwYXJlbnQgY2xhc3NcbiAgIGJ1dCBjaGFuZ2UgdGhlIG1lYW5pbmcgb2YgYGBfX2VxX18oKWBgIHN1Y2ggdGhhdCB0aGUgaGFzaCB2YWx1ZVxuICAgcmV0dXJuZWQgaXMgbm8gbG9uZ2VyIGFwcHJvcHJpYXRlIChlLmcuIGJ5IHN3aXRjaGluZyB0byBhIHZhbHVlLVxuICAgYmFzZWQgY29uY2VwdCBvZiBlcXVhbGl0eSBpbnN0ZWFkIG9mIHRoZSBkZWZhdWx0IGlkZW50aXR5IGJhc2VkXG4gICBlcXVhbGl0eSkgY2FuIGV4cGxpY2l0bHkgZmxhZyB0aGVtc2VsdmVzIGFzIGJlaW5nIHVuaGFzaGFibGUgYnlcbiAgIHNldHRpbmcgYGBfX2hhc2hfXyA9IE5vbmVgYCBpbiB0aGUgY2xhc3MgZGVmaW5pdGlvbi4gRG9pbmcgc28gbWVhbnNcbiAgIHRoYXQgbm90IG9ubHkgd2lsbCBpbnN0YW5jZXMgb2YgdGhlIGNsYXNzIHJhaXNlIGFuIGFwcHJvcHJpYXRlXG4gICBgYFR5cGVFcnJvcmBgIHdoZW4gYSBwcm9ncmFtIGF0dGVtcHRzIHRvIHJldHJpZXZlIHRoZWlyIGhhc2ggdmFsdWUsXG4gICBidXQgdGhleSB3aWxsIGFsc28gYmUgY29ycmVjdGx5IGlkZW50aWZpZWQgYXMgdW5oYXNoYWJsZSB3aGVuXG4gICBjaGVja2luZyBgYGlzaW5zdGFuY2Uob2JqLCBjb2xsZWN0aW9ucy5IYXNoYWJsZSlgYCAodW5saWtlIGNsYXNzZXNcbiAgIHdoaWNoIGRlZmluZSB0aGVpciBvd24gYGBfX2hhc2hfXygpYGAgdG8gZXhwbGljaXRseSByYWlzZVxuICAgYGBUeXBlRXJyb3JgYCkuXG5cbiAgIElmIGEgY2xhc3MgdGhhdCBvdmVycmlkZXMgYGBfX2VxX18oKWBgIG5lZWRzIHRvIHJldGFpbiB0aGVcbiAgIGltcGxlbWVudGF0aW9uIG9mIGBgX19oYXNoX18oKWBgIGZyb20gYSBwYXJlbnQgY2xhc3MsIHRoZVxuICAgaW50ZXJwcmV0ZXIgbXVzdCBiZSB0b2xkIHRoaXMgZXhwbGljaXRseSBieSBzZXR0aW5nIGBgX19oYXNoX18gPVxuICAgPFBhcmVudENsYXNzPi5fX2hhc2hfX2BgLiBPdGhlcndpc2UgdGhlIGluaGVyaXRhbmNlIG9mXG4gICBgYF9faGFzaF9fKClgYCB3aWxsIGJlIGJsb2NrZWQsIGp1c3QgYXMgaWYgYGBfX2hhc2hfX2BgIGhhZCBiZWVuXG4gICBleHBsaWNpdGx5IHNldCB0byBgYE5vbmVgYC5cblxuICAgTm90ZTogTm90ZSBieSBkZWZhdWx0IHRoZSBgYF9faGFzaF9fKClgYCB2YWx1ZXMgb2Ygc3RyLCBieXRlcyBhbmRcbiAgICAgZGF0ZXRpbWUgb2JqZWN0cyBhcmUgInNhbHRlZCIgd2l0aCBhbiB1bnByZWRpY3RhYmxlIHJhbmRvbSB2YWx1ZS5cbiAgICAgQWx0aG91Z2ggdGhleSByZW1haW4gY29uc3RhbnQgd2l0aGluIGFuIGluZGl2aWR1YWwgUHl0aG9uXG4gICAgIHByb2Nlc3MsIHRoZXkgYXJlIG5vdCBwcmVkaWN0YWJsZSBiZXR3ZWVuIHJlcGVhdGVkIGludm9jYXRpb25zIG9mXG4gICAgIFB5dGhvbi5UaGlzIGlzIGludGVuZGVkIHRvIHByb3ZpZGUgcHJvdGVjdGlvbiBhZ2FpbnN0IGEgZGVuaWFsLVxuICAgICBvZi1zZXJ2aWNlIGNhdXNlZCBieSBjYXJlZnVsbHktY2hvc2VuIGlucHV0cyB0aGF0IGV4cGxvaXQgdGhlXG4gICAgIHdvcnN0IGNhc2UgcGVyZm9ybWFuY2Ugb2YgYSBkaWN0IGluc2VydGlvbiwgTyhuXjIpIGNvbXBsZXhpdHkuXG4gICAgIFNlZSBodHRwOi8vd3d3Lm9jZXJ0Lm9yZy9hZHZpc29yaWVzL29jZXJ0LTIwMTEtMDAzLmh0bWwgZm9yXG4gICAgIGRldGFpbHMuQ2hhbmdpbmcgaGFzaCB2YWx1ZXMgYWZmZWN0cyB0aGUgb3JkZXIgaW4gd2hpY2gga2V5cyBhcmVcbiAgICAgcmV0cmlldmVkIGZyb20gYSBkaWN0LiAgTm90ZSBQeXRob24gaGFzIG5ldmVyIG1hZGUgZ3VhcmFudGVlc1xuICAgICBhYm91dCB0aGlzIG9yZGVyaW5nIChhbmQgaXQgdHlwaWNhbGx5IHZhcmllcyBiZXR3ZWVuIDMyLWJpdCBhbmRcbiAgICAgNjQtYml0IGJ1aWxkcykuU2VlIGFsc28gYGBQWVRIT05IQVNIU0VFRGBgLlxuXG4gICBDaGFuZ2VkIGluIHZlcnNpb24gMy4zOiBIYXNoIHJhbmRvbWl6YXRpb24gaXMgZW5hYmxlZCBieSBkZWZhdWx0LlxuXG5vYmplY3QuX19ib29sX18oc2VsZilcblxuICAgQ2FsbGVkIHRvIGltcGxlbWVudCB0cnV0aCB2YWx1ZSB0ZXN0aW5nIGFuZCB0aGUgYnVpbHQtaW4gb3BlcmF0aW9uXG4gICBgYGJvb2woKWBgOyBzaG91bGQgcmV0dXJuIGBgRmFsc2VgYCBvciBgYFRydWVgYC4gIFdoZW4gdGhpcyBtZXRob2RcbiAgIGlzIG5vdCBkZWZpbmVkLCBgYF9fbGVuX18oKWBgIGlzIGNhbGxlZCwgaWYgaXQgaXMgZGVmaW5lZCwgYW5kIHRoZVxuICAgb2JqZWN0IGlzIGNvbnNpZGVyZWQgdHJ1ZSBpZiBpdHMgcmVzdWx0IGlzIG5vbnplcm8uICBJZiBhIGNsYXNzXG4gICBkZWZpbmVzIG5laXRoZXIgYGBfX2xlbl9fKClgYCBub3IgYGBfX2Jvb2xfXygpYGAsIGFsbCBpdHMgaW5zdGFuY2VzXG4gICBhcmUgY29uc2lkZXJlZCB0cnVlLlxuXG5cbkN1c3RvbWl6aW5nIGF0dHJpYnV0ZSBhY2Nlc3Ncbj09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuVGhlIGZvbGxvd2luZyBtZXRob2RzIGNhbiBiZSBkZWZpbmVkIHRvIGN1c3RvbWl6ZSB0aGUgbWVhbmluZyBvZlxuYXR0cmlidXRlIGFjY2VzcyAodXNlIG9mLCBhc3NpZ25tZW50IHRvLCBvciBkZWxldGlvbiBvZiBgYHgubmFtZWBgKVxuZm9yIGNsYXNzIGluc3RhbmNlcy5cblxub2JqZWN0Ll9fZ2V0YXR0cl9fKHNlbGYsIG5hbWUpXG5cbiAgIENhbGxlZCB3aGVuIGFuIGF0dHJpYnV0ZSBsb29rdXAgaGFzIG5vdCBmb3VuZCB0aGUgYXR0cmlidXRlIGluIHRoZVxuICAgdXN1YWwgcGxhY2VzIChpLmUuIGl0IGlzIG5vdCBhbiBpbnN0YW5jZSBhdHRyaWJ1dGUgbm9yIGlzIGl0IGZvdW5kXG4gICBpbiB0aGUgY2xhc3MgdHJlZSBmb3IgYGBzZWxmYGApLiAgYGBuYW1lYGAgaXMgdGhlIGF0dHJpYnV0ZSBuYW1lLlxuICAgVGhpcyBtZXRob2Qgc2hvdWxkIHJldHVybiB0aGUgKGNvbXB1dGVkKSBhdHRyaWJ1dGUgdmFsdWUgb3IgcmFpc2VcbiAgIGFuIGBgQXR0cmlidXRlRXJyb3JgYCBleGNlcHRpb24uXG5cbiAgIE5vdGUgdGhhdCBpZiB0aGUgYXR0cmlidXRlIGlzIGZvdW5kIHRocm91Z2ggdGhlIG5vcm1hbCBtZWNoYW5pc20sXG4gICBgYF9fZ2V0YXR0cl9fKClgYCBpcyBub3QgY2FsbGVkLiAgKFRoaXMgaXMgYW4gaW50ZW50aW9uYWwgYXN5bW1ldHJ5XG4gICBiZXR3ZWVuIGBgX19nZXRhdHRyX18oKWBgIGFuZCBgYF9fc2V0YXR0cl9fKClgYC4pIFRoaXMgaXMgZG9uZSBib3RoXG4gICBmb3IgZWZmaWNpZW5jeSByZWFzb25zIGFuZCBiZWNhdXNlIG90aGVyd2lzZSBgYF9fZ2V0YXR0cl9fKClgYFxuICAgd291bGQgaGF2ZSBubyB3YXkgdG8gYWNjZXNzIG90aGVyIGF0dHJpYnV0ZXMgb2YgdGhlIGluc3RhbmNlLiAgTm90ZVxuICAgdGhhdCBhdCBsZWFzdCBmb3IgaW5zdGFuY2UgdmFyaWFibGVzLCB5b3UgY2FuIGZha2UgdG90YWwgY29udHJvbCBieVxuICAgbm90IGluc2VydGluZyBhbnkgdmFsdWVzIGluIHRoZSBpbnN0YW5jZSBhdHRyaWJ1dGUgZGljdGlvbmFyeSAoYnV0XG4gICBpbnN0ZWFkIGluc2VydGluZyB0aGVtIGluIGFub3RoZXIgb2JqZWN0KS4gIFNlZSB0aGVcbiAgIGBgX19nZXRhdHRyaWJ1dGVfXygpYGAgbWV0aG9kIGJlbG93IGZvciBhIHdheSB0byBhY3R1YWxseSBnZXQgdG90YWxcbiAgIGNvbnRyb2wgb3ZlciBhdHRyaWJ1dGUgYWNjZXNzLlxuXG5vYmplY3QuX19nZXRhdHRyaWJ1dGVfXyhzZWxmLCBuYW1lKVxuXG4gICBDYWxsZWQgdW5jb25kaXRpb25hbGx5IHRvIGltcGxlbWVudCBhdHRyaWJ1dGUgYWNjZXNzZXMgZm9yXG4gICBpbnN0YW5jZXMgb2YgdGhlIGNsYXNzLiBJZiB0aGUgY2xhc3MgYWxzbyBkZWZpbmVzXG4gICBgYF9fZ2V0YXR0cl9fKClgYCwgdGhlIGxhdHRlciB3aWxsIG5vdCBiZSBjYWxsZWQgdW5sZXNzXG4gICBgYF9fZ2V0YXR0cmlidXRlX18oKWBgIGVpdGhlciBjYWxscyBpdCBleHBsaWNpdGx5IG9yIHJhaXNlcyBhblxuICAgYGBBdHRyaWJ1dGVFcnJvcmBgLiBUaGlzIG1ldGhvZCBzaG91bGQgcmV0dXJuIHRoZSAoY29tcHV0ZWQpXG4gICBhdHRyaWJ1dGUgdmFsdWUgb3IgcmFpc2UgYW4gYGBBdHRyaWJ1dGVFcnJvcmBgIGV4Y2VwdGlvbi4gSW4gb3JkZXJcbiAgIHRvIGF2b2lkIGluZmluaXRlIHJlY3Vyc2lvbiBpbiB0aGlzIG1ldGhvZCwgaXRzIGltcGxlbWVudGF0aW9uXG4gICBzaG91bGQgYWx3YXlzIGNhbGwgdGhlIGJhc2UgY2xhc3MgbWV0aG9kIHdpdGggdGhlIHNhbWUgbmFtZSB0b1xuICAgYWNjZXNzIGFueSBhdHRyaWJ1dGVzIGl0IG5lZWRzLCBmb3IgZXhhbXBsZSxcbiAgIGBgb2JqZWN0Ll9fZ2V0YXR0cmlidXRlX18oc2VsZiwgbmFtZSlgYC5cblxuICAgTm90ZTogVGhpcyBtZXRob2QgbWF5IHN0aWxsIGJlIGJ5cGFzc2VkIHdoZW4gbG9va2luZyB1cCBzcGVjaWFsIG1ldGhvZHNcbiAgICAgYXMgdGhlIHJlc3VsdCBvZiBpbXBsaWNpdCBpbnZvY2F0aW9uIHZpYSBsYW5ndWFnZSBzeW50YXggb3JcbiAgICAgYnVpbHQtaW4gZnVuY3Rpb25zLiBTZWUgKlNwZWNpYWwgbWV0aG9kIGxvb2t1cCouXG5cbm9iamVjdC5fX3NldGF0dHJfXyhzZWxmLCBuYW1lLCB2YWx1ZSlcblxuICAgQ2FsbGVkIHdoZW4gYW4gYXR0cmlidXRlIGFzc2lnbm1lbnQgaXMgYXR0ZW1wdGVkLiAgVGhpcyBpcyBjYWxsZWRcbiAgIGluc3RlYWQgb2YgdGhlIG5vcm1hbCBtZWNoYW5pc20gKGkuZS4gc3RvcmUgdGhlIHZhbHVlIGluIHRoZVxuICAgaW5zdGFuY2UgZGljdGlvbmFyeSkuICpuYW1lKiBpcyB0aGUgYXR0cmlidXRlIG5hbWUsICp2YWx1ZSogaXMgdGhlXG4gICB2YWx1ZSB0byBiZSBhc3NpZ25lZCB0byBpdC5cblxuICAgSWYgYGBfX3NldGF0dHJfXygpYGAgd2FudHMgdG8gYXNzaWduIHRvIGFuIGluc3RhbmNlIGF0dHJpYnV0ZSwgaXRcbiAgIHNob3VsZCBjYWxsIHRoZSBiYXNlIGNsYXNzIG1ldGhvZCB3aXRoIHRoZSBzYW1lIG5hbWUsIGZvciBleGFtcGxlLFxuICAgYGBvYmplY3QuX19zZXRhdHRyX18oc2VsZiwgbmFtZSwgdmFsdWUpYGAuXG5cbm9iamVjdC5fX2RlbGF0dHJfXyhzZWxmLCBuYW1lKVxuXG4gICBMaWtlIGBgX19zZXRhdHRyX18oKWBgIGJ1dCBmb3IgYXR0cmlidXRlIGRlbGV0aW9uIGluc3RlYWQgb2ZcbiAgIGFzc2lnbm1lbnQuICBUaGlzIHNob3VsZCBvbmx5IGJlIGltcGxlbWVudGVkIGlmIGBgZGVsIG9iai5uYW1lYGAgaXNcbiAgIG1lYW5pbmdmdWwgZm9yIHRoZSBvYmplY3QuXG5cbm9iamVjdC5fX2Rpcl9fKHNlbGYpXG5cbiAgIENhbGxlZCB3aGVuIGBgZGlyKClgYCBpcyBjYWxsZWQgb24gdGhlIG9iamVjdC4gQSBzZXF1ZW5jZSBtdXN0IGJlXG4gICByZXR1cm5lZC4gYGBkaXIoKWBgIGNvbnZlcnRzIHRoZSByZXR1cm5lZCBzZXF1ZW5jZSB0byBhIGxpc3QgYW5kXG4gICBzb3J0cyBpdC5cblxuXG5JbXBsZW1lbnRpbmcgRGVzY3JpcHRvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5UaGUgZm9sbG93aW5nIG1ldGhvZHMgb25seSBhcHBseSB3aGVuIGFuIGluc3RhbmNlIG9mIHRoZSBjbGFzc1xuY29udGFpbmluZyB0aGUgbWV0aG9kIChhIHNvLWNhbGxlZCAqZGVzY3JpcHRvciogY2xhc3MpIGFwcGVhcnMgaW4gYW5cbipvd25lciogY2xhc3MgKHRoZSBkZXNjcmlwdG9yIG11c3QgYmUgaW4gZWl0aGVyIHRoZSBvd25lclwncyBjbGFzc1xuZGljdGlvbmFyeSBvciBpbiB0aGUgY2xhc3MgZGljdGlvbmFyeSBmb3Igb25lIG9mIGl0cyBwYXJlbnRzKS4gIEluIHRoZVxuZXhhbXBsZXMgYmVsb3csICJ0aGUgYXR0cmlidXRlIiByZWZlcnMgdG8gdGhlIGF0dHJpYnV0ZSB3aG9zZSBuYW1lIGlzXG50aGUga2V5IG9mIHRoZSBwcm9wZXJ0eSBpbiB0aGUgb3duZXIgY2xhc3NcJyBgYF9fZGljdF9fYGAuXG5cbm9iamVjdC5fX2dldF9fKHNlbGYsIGluc3RhbmNlLCBvd25lcilcblxuICAgQ2FsbGVkIHRvIGdldCB0aGUgYXR0cmlidXRlIG9mIHRoZSBvd25lciBjbGFzcyAoY2xhc3MgYXR0cmlidXRlXG4gICBhY2Nlc3MpIG9yIG9mIGFuIGluc3RhbmNlIG9mIHRoYXQgY2xhc3MgKGluc3RhbmNlIGF0dHJpYnV0ZVxuICAgYWNjZXNzKS4gKm93bmVyKiBpcyBhbHdheXMgdGhlIG93bmVyIGNsYXNzLCB3aGlsZSAqaW5zdGFuY2UqIGlzIHRoZVxuICAgaW5zdGFuY2UgdGhhdCB0aGUgYXR0cmlidXRlIHdhcyBhY2Nlc3NlZCB0aHJvdWdoLCBvciBgYE5vbmVgYCB3aGVuXG4gICB0aGUgYXR0cmlidXRlIGlzIGFjY2Vzc2VkIHRocm91Z2ggdGhlICpvd25lciouICBUaGlzIG1ldGhvZCBzaG91bGRcbiAgIHJldHVybiB0aGUgKGNvbXB1dGVkKSBhdHRyaWJ1dGUgdmFsdWUgb3IgcmFpc2UgYW5cbiAgIGBgQXR0cmlidXRlRXJyb3JgYCBleGNlcHRpb24uXG5cbm9iamVjdC5fX3NldF9fKHNlbGYsIGluc3RhbmNlLCB2YWx1ZSlcblxuICAgQ2FsbGVkIHRvIHNldCB0aGUgYXR0cmlidXRlIG9uIGFuIGluc3RhbmNlICppbnN0YW5jZSogb2YgdGhlIG93bmVyXG4gICBjbGFzcyB0byBhIG5ldyB2YWx1ZSwgKnZhbHVlKi5cblxub2JqZWN0Ll9fZGVsZXRlX18oc2VsZiwgaW5zdGFuY2UpXG5cbiAgIENhbGxlZCB0byBkZWxldGUgdGhlIGF0dHJpYnV0ZSBvbiBhbiBpbnN0YW5jZSAqaW5zdGFuY2UqIG9mIHRoZVxuICAgb3duZXIgY2xhc3MuXG5cblxuSW52b2tpbmcgRGVzY3JpcHRvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkluIGdlbmVyYWwsIGEgZGVzY3JpcHRvciBpcyBhbiBvYmplY3QgYXR0cmlidXRlIHdpdGggImJpbmRpbmdcbmJlaGF2aW9yIiwgb25lIHdob3NlIGF0dHJpYnV0ZSBhY2Nlc3MgaGFzIGJlZW4gb3ZlcnJpZGRlbiBieSBtZXRob2RzXG5pbiB0aGUgZGVzY3JpcHRvciBwcm90b2NvbDogIGBgX19nZXRfXygpYGAsIGBgX19zZXRfXygpYGAsIGFuZFxuYGBfX2RlbGV0ZV9fKClgYC4gSWYgYW55IG9mIHRob3NlIG1ldGhvZHMgYXJlIGRlZmluZWQgZm9yIGFuIG9iamVjdCxcbml0IGlzIHNhaWQgdG8gYmUgYSBkZXNjcmlwdG9yLlxuXG5UaGUgZGVmYXVsdCBiZWhhdmlvciBmb3IgYXR0cmlidXRlIGFjY2VzcyBpcyB0byBnZXQsIHNldCwgb3IgZGVsZXRlXG50aGUgYXR0cmlidXRlIGZyb20gYW4gb2JqZWN0XCdzIGRpY3Rpb25hcnkuIEZvciBpbnN0YW5jZSwgYGBhLnhgYCBoYXMgYVxubG9va3VwIGNoYWluIHN0YXJ0aW5nIHdpdGggYGBhLl9fZGljdF9fW1wneFwnXWBgLCB0aGVuXG5gYHR5cGUoYSkuX19kaWN0X19bXCd4XCddYGAsIGFuZCBjb250aW51aW5nIHRocm91Z2ggdGhlIGJhc2UgY2xhc3NlcyBvZlxuYGB0eXBlKGEpYGAgZXhjbHVkaW5nIG1ldGFjbGFzc2VzLlxuXG5Ib3dldmVyLCBpZiB0aGUgbG9va2VkLXVwIHZhbHVlIGlzIGFuIG9iamVjdCBkZWZpbmluZyBvbmUgb2YgdGhlXG5kZXNjcmlwdG9yIG1ldGhvZHMsIHRoZW4gUHl0aG9uIG1heSBvdmVycmlkZSB0aGUgZGVmYXVsdCBiZWhhdmlvciBhbmRcbmludm9rZSB0aGUgZGVzY3JpcHRvciBtZXRob2QgaW5zdGVhZC4gIFdoZXJlIHRoaXMgb2NjdXJzIGluIHRoZVxucHJlY2VkZW5jZSBjaGFpbiBkZXBlbmRzIG9uIHdoaWNoIGRlc2NyaXB0b3IgbWV0aG9kcyB3ZXJlIGRlZmluZWQgYW5kXG5ob3cgdGhleSB3ZXJlIGNhbGxlZC5cblxuVGhlIHN0YXJ0aW5nIHBvaW50IGZvciBkZXNjcmlwdG9yIGludm9jYXRpb24gaXMgYSBiaW5kaW5nLCBgYGEueGBgLlxuSG93IHRoZSBhcmd1bWVudHMgYXJlIGFzc2VtYmxlZCBkZXBlbmRzIG9uIGBgYWBgOlxuXG5EaXJlY3QgQ2FsbFxuICAgVGhlIHNpbXBsZXN0IGFuZCBsZWFzdCBjb21tb24gY2FsbCBpcyB3aGVuIHVzZXIgY29kZSBkaXJlY3RseVxuICAgaW52b2tlcyBhIGRlc2NyaXB0b3IgbWV0aG9kOiAgICBgYHguX19nZXRfXyhhKWBgLlxuXG5JbnN0YW5jZSBCaW5kaW5nXG4gICBJZiBiaW5kaW5nIHRvIGFuIG9iamVjdCBpbnN0YW5jZSwgYGBhLnhgYCBpcyB0cmFuc2Zvcm1lZCBpbnRvIHRoZVxuICAgY2FsbDogYGB0eXBlKGEpLl9fZGljdF9fW1wneFwnXS5fX2dldF9fKGEsIHR5cGUoYSkpYGAuXG5cbkNsYXNzIEJpbmRpbmdcbiAgIElmIGJpbmRpbmcgdG8gYSBjbGFzcywgYGBBLnhgYCBpcyB0cmFuc2Zvcm1lZCBpbnRvIHRoZSBjYWxsOlxuICAgYGBBLl9fZGljdF9fW1wneFwnXS5fX2dldF9fKE5vbmUsIEEpYGAuXG5cblN1cGVyIEJpbmRpbmdcbiAgIElmIGBgYWBgIGlzIGFuIGluc3RhbmNlIG9mIGBgc3VwZXJgYCwgdGhlbiB0aGUgYmluZGluZyBgYHN1cGVyKEIsXG4gICBvYmopLm0oKWBgIHNlYXJjaGVzIGBgb2JqLl9fY2xhc3NfXy5fX21yb19fYGAgZm9yIHRoZSBiYXNlIGNsYXNzXG4gICBgYEFgYCBpbW1lZGlhdGVseSBwcmVjZWRpbmcgYGBCYGAgYW5kIHRoZW4gaW52b2tlcyB0aGUgZGVzY3JpcHRvclxuICAgd2l0aCB0aGUgY2FsbDogYGBBLl9fZGljdF9fW1wnbVwnXS5fX2dldF9fKG9iaiwgb2JqLl9fY2xhc3NfXylgYC5cblxuRm9yIGluc3RhbmNlIGJpbmRpbmdzLCB0aGUgcHJlY2VkZW5jZSBvZiBkZXNjcmlwdG9yIGludm9jYXRpb24gZGVwZW5kc1xub24gdGhlIHdoaWNoIGRlc2NyaXB0b3IgbWV0aG9kcyBhcmUgZGVmaW5lZC4gIEEgZGVzY3JpcHRvciBjYW4gZGVmaW5lXG5hbnkgY29tYmluYXRpb24gb2YgYGBfX2dldF9fKClgYCwgYGBfX3NldF9fKClgYCBhbmQgYGBfX2RlbGV0ZV9fKClgYC5cbklmIGl0IGRvZXMgbm90IGRlZmluZSBgYF9fZ2V0X18oKWBgLCB0aGVuIGFjY2Vzc2luZyB0aGUgYXR0cmlidXRlIHdpbGxcbnJldHVybiB0aGUgZGVzY3JpcHRvciBvYmplY3QgaXRzZWxmIHVubGVzcyB0aGVyZSBpcyBhIHZhbHVlIGluIHRoZVxub2JqZWN0XCdzIGluc3RhbmNlIGRpY3Rpb25hcnkuICBJZiB0aGUgZGVzY3JpcHRvciBkZWZpbmVzIGBgX19zZXRfXygpYGBcbmFuZC9vciBgYF9fZGVsZXRlX18oKWBgLCBpdCBpcyBhIGRhdGEgZGVzY3JpcHRvcjsgaWYgaXQgZGVmaW5lc1xubmVpdGhlciwgaXQgaXMgYSBub24tZGF0YSBkZXNjcmlwdG9yLiAgTm9ybWFsbHksIGRhdGEgZGVzY3JpcHRvcnNcbmRlZmluZSBib3RoIGBgX19nZXRfXygpYGAgYW5kIGBgX19zZXRfXygpYGAsIHdoaWxlIG5vbi1kYXRhXG5kZXNjcmlwdG9ycyBoYXZlIGp1c3QgdGhlIGBgX19nZXRfXygpYGAgbWV0aG9kLiAgRGF0YSBkZXNjcmlwdG9ycyB3aXRoXG5gYF9fc2V0X18oKWBgIGFuZCBgYF9fZ2V0X18oKWBgIGRlZmluZWQgYWx3YXlzIG92ZXJyaWRlIGEgcmVkZWZpbml0aW9uXG5pbiBhbiBpbnN0YW5jZSBkaWN0aW9uYXJ5LiAgSW4gY29udHJhc3QsIG5vbi1kYXRhIGRlc2NyaXB0b3JzIGNhbiBiZVxub3ZlcnJpZGRlbiBieSBpbnN0YW5jZXMuXG5cblB5dGhvbiBtZXRob2RzIChpbmNsdWRpbmcgYGBzdGF0aWNtZXRob2QoKWBgIGFuZCBgYGNsYXNzbWV0aG9kKClgYClcbmFyZSBpbXBsZW1lbnRlZCBhcyBub24tZGF0YSBkZXNjcmlwdG9ycy4gIEFjY29yZGluZ2x5LCBpbnN0YW5jZXMgY2FuXG5yZWRlZmluZSBhbmQgb3ZlcnJpZGUgbWV0aG9kcy4gIFRoaXMgYWxsb3dzIGluZGl2aWR1YWwgaW5zdGFuY2VzIHRvXG5hY3F1aXJlIGJlaGF2aW9ycyB0aGF0IGRpZmZlciBmcm9tIG90aGVyIGluc3RhbmNlcyBvZiB0aGUgc2FtZSBjbGFzcy5cblxuVGhlIGBgcHJvcGVydHkoKWBgIGZ1bmN0aW9uIGlzIGltcGxlbWVudGVkIGFzIGEgZGF0YSBkZXNjcmlwdG9yLlxuQWNjb3JkaW5nbHksIGluc3RhbmNlcyBjYW5ub3Qgb3ZlcnJpZGUgdGhlIGJlaGF2aW9yIG9mIGEgcHJvcGVydHkuXG5cblxuX19zbG90c19fXG4tLS0tLS0tLS1cblxuQnkgZGVmYXVsdCwgaW5zdGFuY2VzIG9mIGNsYXNzZXMgaGF2ZSBhIGRpY3Rpb25hcnkgZm9yIGF0dHJpYnV0ZVxuc3RvcmFnZS4gIFRoaXMgd2FzdGVzIHNwYWNlIGZvciBvYmplY3RzIGhhdmluZyB2ZXJ5IGZldyBpbnN0YW5jZVxudmFyaWFibGVzLiAgVGhlIHNwYWNlIGNvbnN1bXB0aW9uIGNhbiBiZWNvbWUgYWN1dGUgd2hlbiBjcmVhdGluZyBsYXJnZVxubnVtYmVycyBvZiBpbnN0YW5jZXMuXG5cblRoZSBkZWZhdWx0IGNhbiBiZSBvdmVycmlkZGVuIGJ5IGRlZmluaW5nICpfX3Nsb3RzX18qIGluIGEgY2xhc3NcbmRlZmluaXRpb24uIFRoZSAqX19zbG90c19fKiBkZWNsYXJhdGlvbiB0YWtlcyBhIHNlcXVlbmNlIG9mIGluc3RhbmNlXG52YXJpYWJsZXMgYW5kIHJlc2VydmVzIGp1c3QgZW5vdWdoIHNwYWNlIGluIGVhY2ggaW5zdGFuY2UgdG8gaG9sZCBhXG52YWx1ZSBmb3IgZWFjaCB2YXJpYWJsZS4gIFNwYWNlIGlzIHNhdmVkIGJlY2F1c2UgKl9fZGljdF9fKiBpcyBub3RcbmNyZWF0ZWQgZm9yIGVhY2ggaW5zdGFuY2UuXG5cbm9iamVjdC5fX3Nsb3RzX19cblxuICAgVGhpcyBjbGFzcyB2YXJpYWJsZSBjYW4gYmUgYXNzaWduZWQgYSBzdHJpbmcsIGl0ZXJhYmxlLCBvciBzZXF1ZW5jZVxuICAgb2Ygc3RyaW5ncyB3aXRoIHZhcmlhYmxlIG5hbWVzIHVzZWQgYnkgaW5zdGFuY2VzLiAgSWYgZGVmaW5lZCBpbiBhXG4gICBjbGFzcywgKl9fc2xvdHNfXyogcmVzZXJ2ZXMgc3BhY2UgZm9yIHRoZSBkZWNsYXJlZCB2YXJpYWJsZXMgYW5kXG4gICBwcmV2ZW50cyB0aGUgYXV0b21hdGljIGNyZWF0aW9uIG9mICpfX2RpY3RfXyogYW5kICpfX3dlYWtyZWZfXyogZm9yXG4gICBlYWNoIGluc3RhbmNlLlxuXG5cbk5vdGVzIG9uIHVzaW5nICpfX3Nsb3RzX18qXG5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+flxuXG4qIFdoZW4gaW5oZXJpdGluZyBmcm9tIGEgY2xhc3Mgd2l0aG91dCAqX19zbG90c19fKiwgdGhlICpfX2RpY3RfXypcbiAgYXR0cmlidXRlIG9mIHRoYXQgY2xhc3Mgd2lsbCBhbHdheXMgYmUgYWNjZXNzaWJsZSwgc28gYSAqX19zbG90c19fKlxuICBkZWZpbml0aW9uIGluIHRoZSBzdWJjbGFzcyBpcyBtZWFuaW5nbGVzcy5cblxuKiBXaXRob3V0IGEgKl9fZGljdF9fKiB2YXJpYWJsZSwgaW5zdGFuY2VzIGNhbm5vdCBiZSBhc3NpZ25lZCBuZXdcbiAgdmFyaWFibGVzIG5vdCBsaXN0ZWQgaW4gdGhlICpfX3Nsb3RzX18qIGRlZmluaXRpb24uICBBdHRlbXB0cyB0b1xuICBhc3NpZ24gdG8gYW4gdW5saXN0ZWQgdmFyaWFibGUgbmFtZSByYWlzZXMgYGBBdHRyaWJ1dGVFcnJvcmBgLiBJZlxuICBkeW5hbWljIGFzc2lnbm1lbnQgb2YgbmV3IHZhcmlhYmxlcyBpcyBkZXNpcmVkLCB0aGVuIGFkZFxuICBgYFwnX19kaWN0X19cJ2BgIHRvIHRoZSBzZXF1ZW5jZSBvZiBzdHJpbmdzIGluIHRoZSAqX19zbG90c19fKlxuICBkZWNsYXJhdGlvbi5cblxuKiBXaXRob3V0IGEgKl9fd2Vha3JlZl9fKiB2YXJpYWJsZSBmb3IgZWFjaCBpbnN0YW5jZSwgY2xhc3NlcyBkZWZpbmluZ1xuICAqX19zbG90c19fKiBkbyBub3Qgc3VwcG9ydCB3ZWFrIHJlZmVyZW5jZXMgdG8gaXRzIGluc3RhbmNlcy4gSWYgd2Vha1xuICByZWZlcmVuY2Ugc3VwcG9ydCBpcyBuZWVkZWQsIHRoZW4gYWRkIGBgXCdfX3dlYWtyZWZfX1wnYGAgdG8gdGhlXG4gIHNlcXVlbmNlIG9mIHN0cmluZ3MgaW4gdGhlICpfX3Nsb3RzX18qIGRlY2xhcmF0aW9uLlxuXG4qICpfX3Nsb3RzX18qIGFyZSBpbXBsZW1lbnRlZCBhdCB0aGUgY2xhc3MgbGV2ZWwgYnkgY3JlYXRpbmdcbiAgZGVzY3JpcHRvcnMgKCpJbXBsZW1lbnRpbmcgRGVzY3JpcHRvcnMqKSBmb3IgZWFjaCB2YXJpYWJsZSBuYW1lLiAgQXNcbiAgYSByZXN1bHQsIGNsYXNzIGF0dHJpYnV0ZXMgY2Fubm90IGJlIHVzZWQgdG8gc2V0IGRlZmF1bHQgdmFsdWVzIGZvclxuICBpbnN0YW5jZSB2YXJpYWJsZXMgZGVmaW5lZCBieSAqX19zbG90c19fKjsgb3RoZXJ3aXNlLCB0aGUgY2xhc3NcbiAgYXR0cmlidXRlIHdvdWxkIG92ZXJ3cml0ZSB0aGUgZGVzY3JpcHRvciBhc3NpZ25tZW50LlxuXG4qIFRoZSBhY3Rpb24gb2YgYSAqX19zbG90c19fKiBkZWNsYXJhdGlvbiBpcyBsaW1pdGVkIHRvIHRoZSBjbGFzc1xuICB3aGVyZSBpdCBpcyBkZWZpbmVkLiAgQXMgYSByZXN1bHQsIHN1YmNsYXNzZXMgd2lsbCBoYXZlIGEgKl9fZGljdF9fKlxuICB1bmxlc3MgdGhleSBhbHNvIGRlZmluZSAqX19zbG90c19fKiAod2hpY2ggbXVzdCBvbmx5IGNvbnRhaW4gbmFtZXNcbiAgb2YgYW55ICphZGRpdGlvbmFsKiBzbG90cykuXG5cbiogSWYgYSBjbGFzcyBkZWZpbmVzIGEgc2xvdCBhbHNvIGRlZmluZWQgaW4gYSBiYXNlIGNsYXNzLCB0aGUgaW5zdGFuY2VcbiAgdmFyaWFibGUgZGVmaW5lZCBieSB0aGUgYmFzZSBjbGFzcyBzbG90IGlzIGluYWNjZXNzaWJsZSAoZXhjZXB0IGJ5XG4gIHJldHJpZXZpbmcgaXRzIGRlc2NyaXB0b3IgZGlyZWN0bHkgZnJvbSB0aGUgYmFzZSBjbGFzcykuIFRoaXNcbiAgcmVuZGVycyB0aGUgbWVhbmluZyBvZiB0aGUgcHJvZ3JhbSB1bmRlZmluZWQuICBJbiB0aGUgZnV0dXJlLCBhXG4gIGNoZWNrIG1heSBiZSBhZGRlZCB0byBwcmV2ZW50IHRoaXMuXG5cbiogTm9uZW1wdHkgKl9fc2xvdHNfXyogZG9lcyBub3Qgd29yayBmb3IgY2xhc3NlcyBkZXJpdmVkIGZyb21cbiAgInZhcmlhYmxlLWxlbmd0aCIgYnVpbHQtaW4gdHlwZXMgc3VjaCBhcyBgYGludGBgLCBgYHN0cmBgIGFuZFxuICBgYHR1cGxlYGAuXG5cbiogQW55IG5vbi1zdHJpbmcgaXRlcmFibGUgbWF5IGJlIGFzc2lnbmVkIHRvICpfX3Nsb3RzX18qLiBNYXBwaW5ncyBtYXlcbiAgYWxzbyBiZSB1c2VkOyBob3dldmVyLCBpbiB0aGUgZnV0dXJlLCBzcGVjaWFsIG1lYW5pbmcgbWF5IGJlXG4gIGFzc2lnbmVkIHRvIHRoZSB2YWx1ZXMgY29ycmVzcG9uZGluZyB0byBlYWNoIGtleS5cblxuKiAqX19jbGFzc19fKiBhc3NpZ25tZW50IHdvcmtzIG9ubHkgaWYgYm90aCBjbGFzc2VzIGhhdmUgdGhlIHNhbWVcbiAgKl9fc2xvdHNfXyouXG5cblxuQ3VzdG9taXppbmcgY2xhc3MgY3JlYXRpb25cbj09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkJ5IGRlZmF1bHQsIGNsYXNzZXMgYXJlIGNvbnN0cnVjdGVkIHVzaW5nIGBgdHlwZSgpYGAuIEEgY2xhc3NcbmRlZmluaXRpb24gaXMgcmVhZCBpbnRvIGEgc2VwYXJhdGUgbmFtZXNwYWNlIGFuZCB0aGUgdmFsdWUgb2YgY2xhc3Ncbm5hbWUgaXMgYm91bmQgdG8gdGhlIHJlc3VsdCBvZiBgYHR5cGUobmFtZSwgYmFzZXMsIGRpY3QpYGAuXG5cbldoZW4gdGhlIGNsYXNzIGRlZmluaXRpb24gaXMgcmVhZCwgaWYgYSBjYWxsYWJsZSBgYG1ldGFjbGFzc2BgIGtleXdvcmRcbmFyZ3VtZW50IGlzIHBhc3NlZCBhZnRlciB0aGUgYmFzZXMgaW4gdGhlIGNsYXNzIGRlZmluaXRpb24sIHRoZVxuY2FsbGFibGUgZ2l2ZW4gd2lsbCBiZSBjYWxsZWQgaW5zdGVhZCBvZiBgYHR5cGUoKWBgLiAgSWYgb3RoZXIga2V5d29yZFxuYXJndW1lbnRzIGFyZSBwYXNzZWQsIHRoZXkgd2lsbCBhbHNvIGJlIHBhc3NlZCB0byB0aGUgbWV0YWNsYXNzLiAgVGhpc1xuYWxsb3dzIGNsYXNzZXMgb3IgZnVuY3Rpb25zIHRvIGJlIHdyaXR0ZW4gd2hpY2ggbW9uaXRvciBvciBhbHRlciB0aGVcbmNsYXNzIGNyZWF0aW9uIHByb2Nlc3M6XG5cbiogTW9kaWZ5aW5nIHRoZSBjbGFzcyBkaWN0aW9uYXJ5IHByaW9yIHRvIHRoZSBjbGFzcyBiZWluZyBjcmVhdGVkLlxuXG4qIFJldHVybmluZyBhbiBpbnN0YW5jZSBvZiBhbm90aGVyIGNsYXNzIC0tIGVzc2VudGlhbGx5IHBlcmZvcm1pbmcgdGhlXG4gIHJvbGUgb2YgYSBmYWN0b3J5IGZ1bmN0aW9uLlxuXG5UaGVzZSBzdGVwcyB3aWxsIGhhdmUgdG8gYmUgcGVyZm9ybWVkIGluIHRoZSBtZXRhY2xhc3NcJ3MgYGBfX25ld19fKClgYFxubWV0aG9kIC0tIGBgdHlwZS5fX25ld19fKClgYCBjYW4gdGhlbiBiZSBjYWxsZWQgZnJvbSB0aGlzIG1ldGhvZCB0b1xuY3JlYXRlIGEgY2xhc3Mgd2l0aCBkaWZmZXJlbnQgcHJvcGVydGllcy4gIFRoaXMgZXhhbXBsZSBhZGRzIGEgbmV3XG5lbGVtZW50IHRvIHRoZSBjbGFzcyBkaWN0aW9uYXJ5IGJlZm9yZSBjcmVhdGluZyB0aGUgY2xhc3M6XG5cbiAgIGNsYXNzIG1ldGFjbHModHlwZSk6XG4gICAgICAgZGVmIF9fbmV3X18obWNzLCBuYW1lLCBiYXNlcywgZGljdCk6XG4gICAgICAgICAgIGRpY3RbXCdmb29cJ10gPSBcJ21ldGFjbHMgd2FzIGhlcmVcJ1xuICAgICAgICAgICByZXR1cm4gdHlwZS5fX25ld19fKG1jcywgbmFtZSwgYmFzZXMsIGRpY3QpXG5cbllvdSBjYW4gb2YgY291cnNlIGFsc28gb3ZlcnJpZGUgb3RoZXIgY2xhc3MgbWV0aG9kcyAob3IgYWRkIG5ld1xubWV0aG9kcyk7IGZvciBleGFtcGxlIGRlZmluaW5nIGEgY3VzdG9tIGBgX19jYWxsX18oKWBgIG1ldGhvZCBpbiB0aGVcbm1ldGFjbGFzcyBhbGxvd3MgY3VzdG9tIGJlaGF2aW9yIHdoZW4gdGhlIGNsYXNzIGlzIGNhbGxlZCwgZS5nLiBub3RcbmFsd2F5cyBjcmVhdGluZyBhIG5ldyBpbnN0YW5jZS5cblxuSWYgdGhlIG1ldGFjbGFzcyBoYXMgYSBgYF9fcHJlcGFyZV9fKClgYCBhdHRyaWJ1dGUgKHVzdWFsbHlcbmltcGxlbWVudGVkIGFzIGEgY2xhc3Mgb3Igc3RhdGljIG1ldGhvZCksIGl0IGlzIGNhbGxlZCBiZWZvcmUgdGhlXG5jbGFzcyBib2R5IGlzIGV2YWx1YXRlZCB3aXRoIHRoZSBuYW1lIG9mIHRoZSBjbGFzcyBhbmQgYSB0dXBsZSBvZiBpdHNcbmJhc2VzIGZvciBhcmd1bWVudHMuICBJdCBzaG91bGQgcmV0dXJuIGFuIG9iamVjdCB0aGF0IHN1cHBvcnRzIHRoZVxubWFwcGluZyBpbnRlcmZhY2UgdGhhdCB3aWxsIGJlIHVzZWQgdG8gc3RvcmUgdGhlIG5hbWVzcGFjZSBvZiB0aGVcbmNsYXNzLiAgVGhlIGRlZmF1bHQgaXMgYSBwbGFpbiBkaWN0aW9uYXJ5LiAgVGhpcyBjb3VsZCBiZSB1c2VkLCBmb3JcbmV4YW1wbGUsIHRvIGtlZXAgdHJhY2sgb2YgdGhlIG9yZGVyIHRoYXQgY2xhc3MgYXR0cmlidXRlcyBhcmUgZGVjbGFyZWRcbmluIGJ5IHJldHVybmluZyBhbiBvcmRlcmVkIGRpY3Rpb25hcnkuXG5cblRoZSBhcHByb3ByaWF0ZSBtZXRhY2xhc3MgaXMgZGV0ZXJtaW5lZCBieSB0aGUgZm9sbG93aW5nIHByZWNlZGVuY2VcbnJ1bGVzOlxuXG4qIElmIHRoZSBgYG1ldGFjbGFzc2BgIGtleXdvcmQgYXJndW1lbnQgaXMgcGFzc2VkIHdpdGggdGhlIGJhc2VzLCBpdFxuICBpcyB1c2VkLlxuXG4qIE90aGVyd2lzZSwgaWYgdGhlcmUgaXMgYXQgbGVhc3Qgb25lIGJhc2UgY2xhc3MsIGl0cyBtZXRhY2xhc3MgaXNcbiAgdXNlZC5cblxuKiBPdGhlcndpc2UsIHRoZSBkZWZhdWx0IG1ldGFjbGFzcyAoYGB0eXBlYGApIGlzIHVzZWQuXG5cblRoZSBwb3RlbnRpYWwgdXNlcyBmb3IgbWV0YWNsYXNzZXMgYXJlIGJvdW5kbGVzcy4gU29tZSBpZGVhcyB0aGF0IGhhdmVcbmJlZW4gZXhwbG9yZWQgaW5jbHVkaW5nIGxvZ2dpbmcsIGludGVyZmFjZSBjaGVja2luZywgYXV0b21hdGljXG5kZWxlZ2F0aW9uLCBhdXRvbWF0aWMgcHJvcGVydHkgY3JlYXRpb24sIHByb3hpZXMsIGZyYW1ld29ya3MsIGFuZFxuYXV0b21hdGljIHJlc291cmNlIGxvY2tpbmcvc3luY2hyb25pemF0aW9uLlxuXG5IZXJlIGlzIGFuIGV4YW1wbGUgb2YgYSBtZXRhY2xhc3MgdGhhdCB1c2VzIGFuXG5gYGNvbGxlY3Rpb25zLk9yZGVyZWREaWN0YGAgdG8gcmVtZW1iZXIgdGhlIG9yZGVyIHRoYXQgY2xhc3MgbWVtYmVyc1xud2VyZSBkZWZpbmVkOlxuXG4gICBjbGFzcyBPcmRlcmVkQ2xhc3ModHlwZSk6XG5cbiAgICAgICAgQGNsYXNzbWV0aG9kXG4gICAgICAgIGRlZiBfX3ByZXBhcmVfXyhtZXRhY2xzLCBuYW1lLCBiYXNlcywgKiprd2RzKTpcbiAgICAgICAgICAgcmV0dXJuIGNvbGxlY3Rpb25zLk9yZGVyZWREaWN0KClcblxuICAgICAgICBkZWYgX19uZXdfXyhjbHMsIG5hbWUsIGJhc2VzLCBjbGFzc2RpY3QpOlxuICAgICAgICAgICByZXN1bHQgPSB0eXBlLl9fbmV3X18oY2xzLCBuYW1lLCBiYXNlcywgZGljdChjbGFzc2RpY3QpKVxuICAgICAgICAgICByZXN1bHQubWVtYmVycyA9IHR1cGxlKGNsYXNzZGljdClcbiAgICAgICAgICAgcmV0dXJuIHJlc3VsdFxuXG4gICBjbGFzcyBBKG1ldGFjbGFzcz1PcmRlcmVkQ2xhc3MpOlxuICAgICAgIGRlZiBvbmUoc2VsZik6IHBhc3NcbiAgICAgICBkZWYgdHdvKHNlbGYpOiBwYXNzXG4gICAgICAgZGVmIHRocmVlKHNlbGYpOiBwYXNzXG4gICAgICAgZGVmIGZvdXIoc2VsZik6IHBhc3NcblxuICAgPj4+IEEubWVtYmVyc1xuICAgKFwnX19tb2R1bGVfX1wnLCBcJ29uZVwnLCBcJ3R3b1wnLCBcJ3RocmVlXCcsIFwnZm91clwnKVxuXG5XaGVuIHRoZSBjbGFzcyBkZWZpbml0aW9uIGZvciAqQSogZ2V0cyBleGVjdXRlZCwgdGhlIHByb2Nlc3MgYmVnaW5zXG53aXRoIGNhbGxpbmcgdGhlIG1ldGFjbGFzc1wncyBgYF9fcHJlcGFyZV9fKClgYCBtZXRob2Qgd2hpY2ggcmV0dXJucyBhblxuZW1wdHkgYGBjb2xsZWN0aW9ucy5PcmRlcmVkRGljdGBgLiAgVGhhdCBtYXBwaW5nIHJlY29yZHMgdGhlIG1ldGhvZHNcbmFuZCBhdHRyaWJ1dGVzIG9mICpBKiBhcyB0aGV5IGFyZSBkZWZpbmVkIHdpdGhpbiB0aGUgYm9keSBvZiB0aGUgY2xhc3NcbnN0YXRlbWVudC4gT25jZSB0aG9zZSBkZWZpbml0aW9ucyBhcmUgZXhlY3V0ZWQsIHRoZSBvcmRlcmVkIGRpY3Rpb25hcnlcbmlzIGZ1bGx5IHBvcHVsYXRlZCBhbmQgdGhlIG1ldGFjbGFzc1wncyBgYF9fbmV3X18oKWBgIG1ldGhvZCBnZXRzXG5pbnZva2VkLiAgVGhhdCBtZXRob2QgYnVpbGRzIHRoZSBuZXcgdHlwZSBhbmQgaXQgc2F2ZXMgdGhlIG9yZGVyZWRcbmRpY3Rpb25hcnkga2V5cyBpbiBhbiBhdHRyaWJ1dGUgY2FsbGVkIGBgbWVtYmVyc2BgLlxuXG5cbkN1c3RvbWl6aW5nIGluc3RhbmNlIGFuZCBzdWJjbGFzcyBjaGVja3Ncbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuVGhlIGZvbGxvd2luZyBtZXRob2RzIGFyZSB1c2VkIHRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0IGJlaGF2aW9yIG9mIHRoZVxuYGBpc2luc3RhbmNlKClgYCBhbmQgYGBpc3N1YmNsYXNzKClgYCBidWlsdC1pbiBmdW5jdGlvbnMuXG5cbkluIHBhcnRpY3VsYXIsIHRoZSBtZXRhY2xhc3MgYGBhYmMuQUJDTWV0YWBgIGltcGxlbWVudHMgdGhlc2UgbWV0aG9kc1xuaW4gb3JkZXIgdG8gYWxsb3cgdGhlIGFkZGl0aW9uIG9mIEFic3RyYWN0IEJhc2UgQ2xhc3NlcyAoQUJDcykgYXNcbiJ2aXJ0dWFsIGJhc2UgY2xhc3NlcyIgdG8gYW55IGNsYXNzIG9yIHR5cGUgKGluY2x1ZGluZyBidWlsdC1pblxudHlwZXMpLCBpbmNsdWRpbmcgb3RoZXIgQUJDcy5cblxuY2xhc3MuX19pbnN0YW5jZWNoZWNrX18oc2VsZiwgaW5zdGFuY2UpXG5cbiAgIFJldHVybiB0cnVlIGlmICppbnN0YW5jZSogc2hvdWxkIGJlIGNvbnNpZGVyZWQgYSAoZGlyZWN0IG9yXG4gICBpbmRpcmVjdCkgaW5zdGFuY2Ugb2YgKmNsYXNzKi4gSWYgZGVmaW5lZCwgY2FsbGVkIHRvIGltcGxlbWVudFxuICAgYGBpc2luc3RhbmNlKGluc3RhbmNlLCBjbGFzcylgYC5cblxuY2xhc3MuX19zdWJjbGFzc2NoZWNrX18oc2VsZiwgc3ViY2xhc3MpXG5cbiAgIFJldHVybiB0cnVlIGlmICpzdWJjbGFzcyogc2hvdWxkIGJlIGNvbnNpZGVyZWQgYSAoZGlyZWN0IG9yXG4gICBpbmRpcmVjdCkgc3ViY2xhc3Mgb2YgKmNsYXNzKi4gIElmIGRlZmluZWQsIGNhbGxlZCB0byBpbXBsZW1lbnRcbiAgIGBgaXNzdWJjbGFzcyhzdWJjbGFzcywgY2xhc3MpYGAuXG5cbk5vdGUgdGhhdCB0aGVzZSBtZXRob2RzIGFyZSBsb29rZWQgdXAgb24gdGhlIHR5cGUgKG1ldGFjbGFzcykgb2YgYVxuY2xhc3MuICBUaGV5IGNhbm5vdCBiZSBkZWZpbmVkIGFzIGNsYXNzIG1ldGhvZHMgaW4gdGhlIGFjdHVhbCBjbGFzcy5cblRoaXMgaXMgY29uc2lzdGVudCB3aXRoIHRoZSBsb29rdXAgb2Ygc3BlY2lhbCBtZXRob2RzIHRoYXQgYXJlIGNhbGxlZFxub24gaW5zdGFuY2VzLCBvbmx5IGluIHRoaXMgY2FzZSB0aGUgaW5zdGFuY2UgaXMgaXRzZWxmIGEgY2xhc3MuXG5cblNlZSBhbHNvOlxuXG4gICAqKlBFUCAzMTE5KiogLSBJbnRyb2R1Y2luZyBBYnN0cmFjdCBCYXNlIENsYXNzZXNcbiAgICAgIEluY2x1ZGVzIHRoZSBzcGVjaWZpY2F0aW9uIGZvciBjdXN0b21pemluZyBgYGlzaW5zdGFuY2UoKWBgIGFuZFxuICAgICAgYGBpc3N1YmNsYXNzKClgYCBiZWhhdmlvciB0aHJvdWdoIGBgX19pbnN0YW5jZWNoZWNrX18oKWBgIGFuZFxuICAgICAgYGBfX3N1YmNsYXNzY2hlY2tfXygpYGAsIHdpdGggbW90aXZhdGlvbiBmb3IgdGhpcyBmdW5jdGlvbmFsaXR5XG4gICAgICBpbiB0aGUgY29udGV4dCBvZiBhZGRpbmcgQWJzdHJhY3QgQmFzZSBDbGFzc2VzIChzZWUgdGhlIGBgYWJjYGBcbiAgICAgIG1vZHVsZSkgdG8gdGhlIGxhbmd1YWdlLlxuXG5cbkVtdWxhdGluZyBjYWxsYWJsZSBvYmplY3RzXG49PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5vYmplY3QuX19jYWxsX18oc2VsZlssIGFyZ3MuLi5dKVxuXG4gICBDYWxsZWQgd2hlbiB0aGUgaW5zdGFuY2UgaXMgImNhbGxlZCIgYXMgYSBmdW5jdGlvbjsgaWYgdGhpcyBtZXRob2RcbiAgIGlzIGRlZmluZWQsIGBgeChhcmcxLCBhcmcyLCAuLi4pYGAgaXMgYSBzaG9ydGhhbmQgZm9yXG4gICBgYHguX19jYWxsX18oYXJnMSwgYXJnMiwgLi4uKWBgLlxuXG5cbkVtdWxhdGluZyBjb250YWluZXIgdHlwZXNcbj09PT09PT09PT09PT09PT09PT09PT09PT1cblxuVGhlIGZvbGxvd2luZyBtZXRob2RzIGNhbiBiZSBkZWZpbmVkIHRvIGltcGxlbWVudCBjb250YWluZXIgb2JqZWN0cy5cbkNvbnRhaW5lcnMgdXN1YWxseSBhcmUgc2VxdWVuY2VzIChzdWNoIGFzIGxpc3RzIG9yIHR1cGxlcykgb3IgbWFwcGluZ3NcbihsaWtlIGRpY3Rpb25hcmllcyksIGJ1dCBjYW4gcmVwcmVzZW50IG90aGVyIGNvbnRhaW5lcnMgYXMgd2VsbC4gIFRoZVxuZmlyc3Qgc2V0IG9mIG1ldGhvZHMgaXMgdXNlZCBlaXRoZXIgdG8gZW11bGF0ZSBhIHNlcXVlbmNlIG9yIHRvXG5lbXVsYXRlIGEgbWFwcGluZzsgdGhlIGRpZmZlcmVuY2UgaXMgdGhhdCBmb3IgYSBzZXF1ZW5jZSwgdGhlXG5hbGxvd2FibGUga2V5cyBzaG91bGQgYmUgdGhlIGludGVnZXJzICprKiBmb3Igd2hpY2ggYGAwIDw9IGsgPCBOYGBcbndoZXJlICpOKiBpcyB0aGUgbGVuZ3RoIG9mIHRoZSBzZXF1ZW5jZSwgb3Igc2xpY2Ugb2JqZWN0cywgd2hpY2hcbmRlZmluZSBhIHJhbmdlIG9mIGl0ZW1zLiAgSXQgaXMgYWxzbyByZWNvbW1lbmRlZCB0aGF0IG1hcHBpbmdzIHByb3ZpZGVcbnRoZSBtZXRob2RzIGBga2V5cygpYGAsIGBgdmFsdWVzKClgYCwgYGBpdGVtcygpYGAsIGBgZ2V0KClgYCxcbmBgY2xlYXIoKWBgLCBgYHNldGRlZmF1bHQoKWBgLCBgYHBvcCgpYGAsIGBgcG9waXRlbSgpYGAsIGBgY29weSgpYGAsXG5hbmQgYGB1cGRhdGUoKWBgIGJlaGF2aW5nIHNpbWlsYXIgdG8gdGhvc2UgZm9yIFB5dGhvblwncyBzdGFuZGFyZFxuZGljdGlvbmFyeSBvYmplY3RzLiAgVGhlIGBgY29sbGVjdGlvbnNgYCBtb2R1bGUgcHJvdmlkZXMgYVxuYGBNdXRhYmxlTWFwcGluZ2BgIGFic3RyYWN0IGJhc2UgY2xhc3MgdG8gaGVscCBjcmVhdGUgdGhvc2UgbWV0aG9kc1xuZnJvbSBhIGJhc2Ugc2V0IG9mIGBgX19nZXRpdGVtX18oKWBgLCBgYF9fc2V0aXRlbV9fKClgYCxcbmBgX19kZWxpdGVtX18oKWBgLCBhbmQgYGBrZXlzKClgYC4gTXV0YWJsZSBzZXF1ZW5jZXMgc2hvdWxkIHByb3ZpZGVcbm1ldGhvZHMgYGBhcHBlbmQoKWBgLCBgYGNvdW50KClgYCwgYGBpbmRleCgpYGAsIGBgZXh0ZW5kKClgYCxcbmBgaW5zZXJ0KClgYCwgYGBwb3AoKWBgLCBgYHJlbW92ZSgpYGAsIGBgcmV2ZXJzZSgpYGAgYW5kIGBgc29ydCgpYGAsXG5saWtlIFB5dGhvbiBzdGFuZGFyZCBsaXN0IG9iamVjdHMuICBGaW5hbGx5LCBzZXF1ZW5jZSB0eXBlcyBzaG91bGRcbmltcGxlbWVudCBhZGRpdGlvbiAobWVhbmluZyBjb25jYXRlbmF0aW9uKSBhbmQgbXVsdGlwbGljYXRpb24gKG1lYW5pbmdcbnJlcGV0aXRpb24pIGJ5IGRlZmluaW5nIHRoZSBtZXRob2RzIGBgX19hZGRfXygpYGAsIGBgX19yYWRkX18oKWBgLFxuYGBfX2lhZGRfXygpYGAsIGBgX19tdWxfXygpYGAsIGBgX19ybXVsX18oKWBgIGFuZCBgYF9faW11bF9fKClgYFxuZGVzY3JpYmVkIGJlbG93OyB0aGV5IHNob3VsZCBub3QgZGVmaW5lIG90aGVyIG51bWVyaWNhbCBvcGVyYXRvcnMuICBJdFxuaXMgcmVjb21tZW5kZWQgdGhhdCBib3RoIG1hcHBpbmdzIGFuZCBzZXF1ZW5jZXMgaW1wbGVtZW50IHRoZVxuYGBfX2NvbnRhaW5zX18oKWBgIG1ldGhvZCB0byBhbGxvdyBlZmZpY2llbnQgdXNlIG9mIHRoZSBgYGluYGBcbm9wZXJhdG9yOyBmb3IgbWFwcGluZ3MsIGBgaW5gYCBzaG91bGQgc2VhcmNoIHRoZSBtYXBwaW5nXCdzIGtleXM7IGZvclxuc2VxdWVuY2VzLCBpdCBzaG91bGQgc2VhcmNoIHRocm91Z2ggdGhlIHZhbHVlcy4gIEl0IGlzIGZ1cnRoZXJcbnJlY29tbWVuZGVkIHRoYXQgYm90aCBtYXBwaW5ncyBhbmQgc2VxdWVuY2VzIGltcGxlbWVudCB0aGVcbmBgX19pdGVyX18oKWBgIG1ldGhvZCB0byBhbGxvdyBlZmZpY2llbnQgaXRlcmF0aW9uIHRocm91Z2ggdGhlXG5jb250YWluZXI7IGZvciBtYXBwaW5ncywgYGBfX2l0ZXJfXygpYGAgc2hvdWxkIGJlIHRoZSBzYW1lIGFzXG5gYGtleXMoKWBgOyBmb3Igc2VxdWVuY2VzLCBpdCBzaG91bGQgaXRlcmF0ZSB0aHJvdWdoIHRoZSB2YWx1ZXMuXG5cbm9iamVjdC5fX2xlbl9fKHNlbGYpXG5cbiAgIENhbGxlZCB0byBpbXBsZW1lbnQgdGhlIGJ1aWx0LWluIGZ1bmN0aW9uIGBgbGVuKClgYC4gIFNob3VsZCByZXR1cm5cbiAgIHRoZSBsZW5ndGggb2YgdGhlIG9iamVjdCwgYW4gaW50ZWdlciBgYD49YGAgMC4gIEFsc28sIGFuIG9iamVjdFxuICAgdGhhdCBkb2VzblwndCBkZWZpbmUgYSBgYF9fYm9vbF9fKClgYCBtZXRob2QgYW5kIHdob3NlIGBgX19sZW5fXygpYGBcbiAgIG1ldGhvZCByZXR1cm5zIHplcm8gaXMgY29uc2lkZXJlZCB0byBiZSBmYWxzZSBpbiBhIEJvb2xlYW4gY29udGV4dC5cblxuTm90ZTogU2xpY2luZyBpcyBkb25lIGV4Y2x1c2l2ZWx5IHdpdGggdGhlIGZvbGxvd2luZyB0aHJlZSBtZXRob2RzLiAgQVxuICBjYWxsIGxpa2VcblxuICAgICBhWzE6Ml0gPSBiXG5cbiAgaXMgdHJhbnNsYXRlZCB0b1xuXG4gICAgIGFbc2xpY2UoMSwgMiwgTm9uZSldID0gYlxuXG4gIGFuZCBzbyBmb3J0aC4gIE1pc3Npbmcgc2xpY2UgaXRlbXMgYXJlIGFsd2F5cyBmaWxsZWQgaW4gd2l0aFxuICBgYE5vbmVgYC5cblxub2JqZWN0Ll9fZ2V0aXRlbV9fKHNlbGYsIGtleSlcblxuICAgQ2FsbGVkIHRvIGltcGxlbWVudCBldmFsdWF0aW9uIG9mIGBgc2VsZltrZXldYGAuIEZvciBzZXF1ZW5jZVxuICAgdHlwZXMsIHRoZSBhY2NlcHRlZCBrZXlzIHNob3VsZCBiZSBpbnRlZ2VycyBhbmQgc2xpY2Ugb2JqZWN0cy5cbiAgIE5vdGUgdGhhdCB0aGUgc3BlY2lhbCBpbnRlcnByZXRhdGlvbiBvZiBuZWdhdGl2ZSBpbmRleGVzIChpZiB0aGVcbiAgIGNsYXNzIHdpc2hlcyB0byBlbXVsYXRlIGEgc2VxdWVuY2UgdHlwZSkgaXMgdXAgdG8gdGhlXG4gICBgYF9fZ2V0aXRlbV9fKClgYCBtZXRob2QuIElmICprZXkqIGlzIG9mIGFuIGluYXBwcm9wcmlhdGUgdHlwZSxcbiAgIGBgVHlwZUVycm9yYGAgbWF5IGJlIHJhaXNlZDsgaWYgb2YgYSB2YWx1ZSBvdXRzaWRlIHRoZSBzZXQgb2ZcbiAgIGluZGV4ZXMgZm9yIHRoZSBzZXF1ZW5jZSAoYWZ0ZXIgYW55IHNwZWNpYWwgaW50ZXJwcmV0YXRpb24gb2ZcbiAgIG5lZ2F0aXZlIHZhbHVlcyksIGBgSW5kZXhFcnJvcmBgIHNob3VsZCBiZSByYWlzZWQuIEZvciBtYXBwaW5nXG4gICB0eXBlcywgaWYgKmtleSogaXMgbWlzc2luZyAobm90IGluIHRoZSBjb250YWluZXIpLCBgYEtleUVycm9yYGBcbiAgIHNob3VsZCBiZSByYWlzZWQuXG5cbiAgIE5vdGU6IGBgZm9yYGAgbG9vcHMgZXhwZWN0IHRoYXQgYW4gYGBJbmRleEVycm9yYGAgd2lsbCBiZSByYWlzZWQgZm9yXG4gICAgIGlsbGVnYWwgaW5kZXhlcyB0byBhbGxvdyBwcm9wZXIgZGV0ZWN0aW9uIG9mIHRoZSBlbmQgb2YgdGhlXG4gICAgIHNlcXVlbmNlLlxuXG5vYmplY3QuX19zZXRpdGVtX18oc2VsZiwga2V5LCB2YWx1ZSlcblxuICAgQ2FsbGVkIHRvIGltcGxlbWVudCBhc3NpZ25tZW50IHRvIGBgc2VsZltrZXldYGAuICBTYW1lIG5vdGUgYXMgZm9yXG4gICBgYF9fZ2V0aXRlbV9fKClgYC4gIFRoaXMgc2hvdWxkIG9ubHkgYmUgaW1wbGVtZW50ZWQgZm9yIG1hcHBpbmdzIGlmXG4gICB0aGUgb2JqZWN0cyBzdXBwb3J0IGNoYW5nZXMgdG8gdGhlIHZhbHVlcyBmb3Iga2V5cywgb3IgaWYgbmV3IGtleXNcbiAgIGNhbiBiZSBhZGRlZCwgb3IgZm9yIHNlcXVlbmNlcyBpZiBlbGVtZW50cyBjYW4gYmUgcmVwbGFjZWQuICBUaGVcbiAgIHNhbWUgZXhjZXB0aW9ucyBzaG91bGQgYmUgcmFpc2VkIGZvciBpbXByb3BlciAqa2V5KiB2YWx1ZXMgYXMgZm9yXG4gICB0aGUgYGBfX2dldGl0ZW1fXygpYGAgbWV0aG9kLlxuXG5vYmplY3QuX19kZWxpdGVtX18oc2VsZiwga2V5KVxuXG4gICBDYWxsZWQgdG8gaW1wbGVtZW50IGRlbGV0aW9uIG9mIGBgc2VsZltrZXldYGAuICBTYW1lIG5vdGUgYXMgZm9yXG4gICBgYF9fZ2V0aXRlbV9fKClgYC4gIFRoaXMgc2hvdWxkIG9ubHkgYmUgaW1wbGVtZW50ZWQgZm9yIG1hcHBpbmdzIGlmXG4gICB0aGUgb2JqZWN0cyBzdXBwb3J0IHJlbW92YWwgb2Yga2V5cywgb3IgZm9yIHNlcXVlbmNlcyBpZiBlbGVtZW50c1xuICAgY2FuIGJlIHJlbW92ZWQgZnJvbSB0aGUgc2VxdWVuY2UuICBUaGUgc2FtZSBleGNlcHRpb25zIHNob3VsZCBiZVxuICAgcmFpc2VkIGZvciBpbXByb3BlciAqa2V5KiB2YWx1ZXMgYXMgZm9yIHRoZSBgYF9fZ2V0aXRlbV9fKClgYFxuICAgbWV0aG9kLlxuXG5vYmplY3QuX19pdGVyX18oc2VsZilcblxuICAgVGhpcyBtZXRob2QgaXMgY2FsbGVkIHdoZW4gYW4gaXRlcmF0b3IgaXMgcmVxdWlyZWQgZm9yIGEgY29udGFpbmVyLlxuICAgVGhpcyBtZXRob2Qgc2hvdWxkIHJldHVybiBhIG5ldyBpdGVyYXRvciBvYmplY3QgdGhhdCBjYW4gaXRlcmF0ZVxuICAgb3ZlciBhbGwgdGhlIG9iamVjdHMgaW4gdGhlIGNvbnRhaW5lci4gIEZvciBtYXBwaW5ncywgaXQgc2hvdWxkXG4gICBpdGVyYXRlIG92ZXIgdGhlIGtleXMgb2YgdGhlIGNvbnRhaW5lciwgYW5kIHNob3VsZCBhbHNvIGJlIG1hZGVcbiAgIGF2YWlsYWJsZSBhcyB0aGUgbWV0aG9kIGBga2V5cygpYGAuXG5cbiAgIEl0ZXJhdG9yIG9iamVjdHMgYWxzbyBuZWVkIHRvIGltcGxlbWVudCB0aGlzIG1ldGhvZDsgdGhleSBhcmVcbiAgIHJlcXVpcmVkIHRvIHJldHVybiB0aGVtc2VsdmVzLiAgRm9yIG1vcmUgaW5mb3JtYXRpb24gb24gaXRlcmF0b3JcbiAgIG9iamVjdHMsIHNlZSAqSXRlcmF0b3IgVHlwZXMqLlxuXG5vYmplY3QuX19yZXZlcnNlZF9fKHNlbGYpXG5cbiAgIENhbGxlZCAoaWYgcHJlc2VudCkgYnkgdGhlIGBgcmV2ZXJzZWQoKWBgIGJ1aWx0LWluIHRvIGltcGxlbWVudFxuICAgcmV2ZXJzZSBpdGVyYXRpb24uICBJdCBzaG91bGQgcmV0dXJuIGEgbmV3IGl0ZXJhdG9yIG9iamVjdCB0aGF0XG4gICBpdGVyYXRlcyBvdmVyIGFsbCB0aGUgb2JqZWN0cyBpbiB0aGUgY29udGFpbmVyIGluIHJldmVyc2Ugb3JkZXIuXG5cbiAgIElmIHRoZSBgYF9fcmV2ZXJzZWRfXygpYGAgbWV0aG9kIGlzIG5vdCBwcm92aWRlZCwgdGhlXG4gICBgYHJldmVyc2VkKClgYCBidWlsdC1pbiB3aWxsIGZhbGwgYmFjayB0byB1c2luZyB0aGUgc2VxdWVuY2VcbiAgIHByb3RvY29sIChgYF9fbGVuX18oKWBgIGFuZCBgYF9fZ2V0aXRlbV9fKClgYCkuICBPYmplY3RzIHRoYXRcbiAgIHN1cHBvcnQgdGhlIHNlcXVlbmNlIHByb3RvY29sIHNob3VsZCBvbmx5IHByb3ZpZGVcbiAgIGBgX19yZXZlcnNlZF9fKClgYCBpZiB0aGV5IGNhbiBwcm92aWRlIGFuIGltcGxlbWVudGF0aW9uIHRoYXQgaXNcbiAgIG1vcmUgZWZmaWNpZW50IHRoYW4gdGhlIG9uZSBwcm92aWRlZCBieSBgYHJldmVyc2VkKClgYC5cblxuVGhlIG1lbWJlcnNoaXAgdGVzdCBvcGVyYXRvcnMgKGBgaW5gYCBhbmQgYGBub3QgaW5gYCkgYXJlIG5vcm1hbGx5XG5pbXBsZW1lbnRlZCBhcyBhbiBpdGVyYXRpb24gdGhyb3VnaCBhIHNlcXVlbmNlLiAgSG93ZXZlciwgY29udGFpbmVyXG5vYmplY3RzIGNhbiBzdXBwbHkgdGhlIGZvbGxvd2luZyBzcGVjaWFsIG1ldGhvZCB3aXRoIGEgbW9yZSBlZmZpY2llbnRcbmltcGxlbWVudGF0aW9uLCB3aGljaCBhbHNvIGRvZXMgbm90IHJlcXVpcmUgdGhlIG9iamVjdCBiZSBhIHNlcXVlbmNlLlxuXG5vYmplY3QuX19jb250YWluc19fKHNlbGYsIGl0ZW0pXG5cbiAgIENhbGxlZCB0byBpbXBsZW1lbnQgbWVtYmVyc2hpcCB0ZXN0IG9wZXJhdG9ycy4gIFNob3VsZCByZXR1cm4gdHJ1ZVxuICAgaWYgKml0ZW0qIGlzIGluICpzZWxmKiwgZmFsc2Ugb3RoZXJ3aXNlLiAgRm9yIG1hcHBpbmcgb2JqZWN0cywgdGhpc1xuICAgc2hvdWxkIGNvbnNpZGVyIHRoZSBrZXlzIG9mIHRoZSBtYXBwaW5nIHJhdGhlciB0aGFuIHRoZSB2YWx1ZXMgb3JcbiAgIHRoZSBrZXktaXRlbSBwYWlycy5cblxuICAgRm9yIG9iamVjdHMgdGhhdCBkb25cJ3QgZGVmaW5lIGBgX19jb250YWluc19fKClgYCwgdGhlIG1lbWJlcnNoaXBcbiAgIHRlc3QgZmlyc3QgdHJpZXMgaXRlcmF0aW9uIHZpYSBgYF9faXRlcl9fKClgYCwgdGhlbiB0aGUgb2xkXG4gICBzZXF1ZW5jZSBpdGVyYXRpb24gcHJvdG9jb2wgdmlhIGBgX19nZXRpdGVtX18oKWBgLCBzZWUgKnRoaXNcbiAgIHNlY3Rpb24gaW4gdGhlIGxhbmd1YWdlIHJlZmVyZW5jZSouXG5cblxuRW11bGF0aW5nIG51bWVyaWMgdHlwZXNcbj09PT09PT09PT09PT09PT09PT09PT09XG5cblRoZSBmb2xsb3dpbmcgbWV0aG9kcyBjYW4gYmUgZGVmaW5lZCB0byBlbXVsYXRlIG51bWVyaWMgb2JqZWN0cy5cbk1ldGhvZHMgY29ycmVzcG9uZGluZyB0byBvcGVyYXRpb25zIHRoYXQgYXJlIG5vdCBzdXBwb3J0ZWQgYnkgdGhlXG5wYXJ0aWN1bGFyIGtpbmQgb2YgbnVtYmVyIGltcGxlbWVudGVkIChlLmcuLCBiaXR3aXNlIG9wZXJhdGlvbnMgZm9yXG5ub24taW50ZWdyYWwgbnVtYmVycykgc2hvdWxkIGJlIGxlZnQgdW5kZWZpbmVkLlxuXG5vYmplY3QuX19hZGRfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX3N1Yl9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9fbXVsX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX190cnVlZGl2X18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19mbG9vcmRpdl9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9fbW9kX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19kaXZtb2RfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX3Bvd19fKHNlbGYsIG90aGVyWywgbW9kdWxvXSlcbm9iamVjdC5fX2xzaGlmdF9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9fcnNoaWZ0X18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19hbmRfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX3hvcl9fKHNlbGYsIG90aGVyKVxub2JqZWN0Ll9fb3JfXyhzZWxmLCBvdGhlcilcblxuICAgVGhlc2UgbWV0aG9kcyBhcmUgY2FsbGVkIHRvIGltcGxlbWVudCB0aGUgYmluYXJ5IGFyaXRobWV0aWNcbiAgIG9wZXJhdGlvbnMgKGBgK2BgLCBgYC1gYCwgYGAqYGAsIGBgL2BgLCBgYC8vYGAsIGBgJWBgLFxuICAgYGBkaXZtb2QoKWBgLCBgYHBvdygpYGAsIGBgKipgYCwgYGA8PGBgLCBgYD4+YGAsIGBgJmBgLCBgYF5gYCxcbiAgIGBgfGBgKS4gIEZvciBpbnN0YW5jZSwgdG8gZXZhbHVhdGUgdGhlIGV4cHJlc3Npb24gYGB4ICsgeWBgLCB3aGVyZVxuICAgKngqIGlzIGFuIGluc3RhbmNlIG9mIGEgY2xhc3MgdGhhdCBoYXMgYW4gYGBfX2FkZF9fKClgYCBtZXRob2QsXG4gICBgYHguX19hZGRfXyh5KWBgIGlzIGNhbGxlZC4gIFRoZSBgYF9fZGl2bW9kX18oKWBgIG1ldGhvZCBzaG91bGQgYmVcbiAgIHRoZSBlcXVpdmFsZW50IHRvIHVzaW5nIGBgX19mbG9vcmRpdl9fKClgYCBhbmQgYGBfX21vZF9fKClgYDsgaXRcbiAgIHNob3VsZCBub3QgYmUgcmVsYXRlZCB0byBgYF9fdHJ1ZWRpdl9fKClgYC4gIE5vdGUgdGhhdFxuICAgYGBfX3Bvd19fKClgYCBzaG91bGQgYmUgZGVmaW5lZCB0byBhY2NlcHQgYW4gb3B0aW9uYWwgdGhpcmRcbiAgIGFyZ3VtZW50IGlmIHRoZSB0ZXJuYXJ5IHZlcnNpb24gb2YgdGhlIGJ1aWx0LWluIGBgcG93KClgYCBmdW5jdGlvblxuICAgaXMgdG8gYmUgc3VwcG9ydGVkLlxuXG4gICBJZiBvbmUgb2YgdGhvc2UgbWV0aG9kcyBkb2VzIG5vdCBzdXBwb3J0IHRoZSBvcGVyYXRpb24gd2l0aCB0aGVcbiAgIHN1cHBsaWVkIGFyZ3VtZW50cywgaXQgc2hvdWxkIHJldHVybiBgYE5vdEltcGxlbWVudGVkYGAuXG5cbm9iamVjdC5fX3JhZGRfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX3JzdWJfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX3JtdWxfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX3J0cnVlZGl2X18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19yZmxvb3JkaXZfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX3Jtb2RfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX3JkaXZtb2RfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX3Jwb3dfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX3Jsc2hpZnRfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX3Jyc2hpZnRfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX3JhbmRfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX3J4b3JfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX3Jvcl9fKHNlbGYsIG90aGVyKVxuXG4gICBUaGVzZSBtZXRob2RzIGFyZSBjYWxsZWQgdG8gaW1wbGVtZW50IHRoZSBiaW5hcnkgYXJpdGhtZXRpY1xuICAgb3BlcmF0aW9ucyAoYGArYGAsIGBgLWBgLCBgYCpgYCwgYGAvYGAsIGBgLy9gYCwgYGAlYGAsXG4gICBgYGRpdm1vZCgpYGAsIGBgcG93KClgYCwgYGAqKmBgLCBgYDw8YGAsIGBgPj5gYCwgYGAmYGAsIGBgXmBgLFxuICAgYGB8YGApIHdpdGggcmVmbGVjdGVkIChzd2FwcGVkKSBvcGVyYW5kcy4gVGhlc2UgZnVuY3Rpb25zIGFyZSBvbmx5XG4gICBjYWxsZWQgaWYgdGhlIGxlZnQgb3BlcmFuZCBkb2VzIG5vdCBzdXBwb3J0IHRoZSBjb3JyZXNwb25kaW5nXG4gICBvcGVyYXRpb24gYW5kIHRoZSBvcGVyYW5kcyBhcmUgb2YgZGlmZmVyZW50IHR5cGVzLiBbMl0gIEZvclxuICAgaW5zdGFuY2UsIHRvIGV2YWx1YXRlIHRoZSBleHByZXNzaW9uIGBgeCAtIHlgYCwgd2hlcmUgKnkqIGlzIGFuXG4gICBpbnN0YW5jZSBvZiBhIGNsYXNzIHRoYXQgaGFzIGFuIGBgX19yc3ViX18oKWBgIG1ldGhvZCxcbiAgIGBgeS5fX3JzdWJfXyh4KWBgIGlzIGNhbGxlZCBpZiBgYHguX19zdWJfXyh5KWBgIHJldHVybnNcbiAgICpOb3RJbXBsZW1lbnRlZCouXG5cbiAgIE5vdGUgdGhhdCB0ZXJuYXJ5IGBgcG93KClgYCB3aWxsIG5vdCB0cnkgY2FsbGluZyBgYF9fcnBvd19fKClgYFxuICAgKHRoZSBjb2VyY2lvbiBydWxlcyB3b3VsZCBiZWNvbWUgdG9vIGNvbXBsaWNhdGVkKS5cblxuICAgTm90ZTogSWYgdGhlIHJpZ2h0IG9wZXJhbmRcJ3MgdHlwZSBpcyBhIHN1YmNsYXNzIG9mIHRoZSBsZWZ0IG9wZXJhbmRcJ3NcbiAgICAgdHlwZSBhbmQgdGhhdCBzdWJjbGFzcyBwcm92aWRlcyB0aGUgcmVmbGVjdGVkIG1ldGhvZCBmb3IgdGhlXG4gICAgIG9wZXJhdGlvbiwgdGhpcyBtZXRob2Qgd2lsbCBiZSBjYWxsZWQgYmVmb3JlIHRoZSBsZWZ0IG9wZXJhbmRcJ3NcbiAgICAgbm9uLXJlZmxlY3RlZCBtZXRob2QuICBUaGlzIGJlaGF2aW9yIGFsbG93cyBzdWJjbGFzc2VzIHRvXG4gICAgIG92ZXJyaWRlIHRoZWlyIGFuY2VzdG9yc1wnIG9wZXJhdGlvbnMuXG5cbm9iamVjdC5fX2lhZGRfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX2lzdWJfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX2ltdWxfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX2l0cnVlZGl2X18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19pZmxvb3JkaXZfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX2ltb2RfXyhzZWxmLCBvdGhlcilcbm9iamVjdC5fX2lwb3dfXyhzZWxmLCBvdGhlclssIG1vZHVsb10pXG5vYmplY3QuX19pbHNoaWZ0X18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19pcnNoaWZ0X18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19pYW5kX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19peG9yX18oc2VsZiwgb3RoZXIpXG5vYmplY3QuX19pb3JfXyhzZWxmLCBvdGhlcilcblxuICAgVGhlc2UgbWV0aG9kcyBhcmUgY2FsbGVkIHRvIGltcGxlbWVudCB0aGUgYXVnbWVudGVkIGFyaXRobWV0aWNcbiAgIGFzc2lnbm1lbnRzIChgYCs9YGAsIGBgLT1gYCwgYGAqPWBgLCBgYC89YGAsIGBgLy89YGAsIGBgJT1gYCxcbiAgIGBgKio9YGAsIGBgPDw9YGAsIGBgPj49YGAsIGBgJj1gYCwgYGBePWBgLCBgYHw9YGApLiAgVGhlc2UgbWV0aG9kc1xuICAgc2hvdWxkIGF0dGVtcHQgdG8gZG8gdGhlIG9wZXJhdGlvbiBpbi1wbGFjZSAobW9kaWZ5aW5nICpzZWxmKikgYW5kXG4gICByZXR1cm4gdGhlIHJlc3VsdCAod2hpY2ggY291bGQgYmUsIGJ1dCBkb2VzIG5vdCBoYXZlIHRvIGJlLFxuICAgKnNlbGYqKS4gIElmIGEgc3BlY2lmaWMgbWV0aG9kIGlzIG5vdCBkZWZpbmVkLCB0aGUgYXVnbWVudGVkXG4gICBhc3NpZ25tZW50IGZhbGxzIGJhY2sgdG8gdGhlIG5vcm1hbCBtZXRob2RzLiAgRm9yIGluc3RhbmNlLCB0b1xuICAgZXhlY3V0ZSB0aGUgc3RhdGVtZW50IGBgeCArPSB5YGAsIHdoZXJlICp4KiBpcyBhbiBpbnN0YW5jZSBvZiBhXG4gICBjbGFzcyB0aGF0IGhhcyBhbiBgYF9faWFkZF9fKClgYCBtZXRob2QsIGBgeC5fX2lhZGRfXyh5KWBgIGlzXG4gICBjYWxsZWQuICBJZiAqeCogaXMgYW4gaW5zdGFuY2Ugb2YgYSBjbGFzcyB0aGF0IGRvZXMgbm90IGRlZmluZSBhXG4gICBgYF9faWFkZF9fKClgYCBtZXRob2QsIGBgeC5fX2FkZF9fKHkpYGAgYW5kIGBgeS5fX3JhZGRfXyh4KWBgIGFyZVxuICAgY29uc2lkZXJlZCwgYXMgd2l0aCB0aGUgZXZhbHVhdGlvbiBvZiBgYHggKyB5YGAuXG5cbm9iamVjdC5fX25lZ19fKHNlbGYpXG5vYmplY3QuX19wb3NfXyhzZWxmKVxub2JqZWN0Ll9fYWJzX18oc2VsZilcbm9iamVjdC5fX2ludmVydF9fKHNlbGYpXG5cbiAgIENhbGxlZCB0byBpbXBsZW1lbnQgdGhlIHVuYXJ5IGFyaXRobWV0aWMgb3BlcmF0aW9ucyAoYGAtYGAsIGBgK2BgLFxuICAgYGBhYnMoKWBgIGFuZCBgYH5gYCkuXG5cbm9iamVjdC5fX2NvbXBsZXhfXyhzZWxmKVxub2JqZWN0Ll9faW50X18oc2VsZilcbm9iamVjdC5fX2Zsb2F0X18oc2VsZilcbm9iamVjdC5fX3JvdW5kX18oc2VsZlssIG5dKVxuXG4gICBDYWxsZWQgdG8gaW1wbGVtZW50IHRoZSBidWlsdC1pbiBmdW5jdGlvbnMgYGBjb21wbGV4KClgYCxcbiAgIGBgaW50KClgYCwgYGBmbG9hdCgpYGAgYW5kIGBgcm91bmQoKWBgLiAgU2hvdWxkIHJldHVybiBhIHZhbHVlIG9mXG4gICB0aGUgYXBwcm9wcmlhdGUgdHlwZS5cblxub2JqZWN0Ll9faW5kZXhfXyhzZWxmKVxuXG4gICBDYWxsZWQgdG8gaW1wbGVtZW50IGBgb3BlcmF0b3IuaW5kZXgoKWBgLiAgQWxzbyBjYWxsZWQgd2hlbmV2ZXJcbiAgIFB5dGhvbiBuZWVkcyBhbiBpbnRlZ2VyIG9iamVjdCAoc3VjaCBhcyBpbiBzbGljaW5nLCBvciBpbiB0aGVcbiAgIGJ1aWx0LWluIGBgYmluKClgYCwgYGBoZXgoKWBgIGFuZCBgYG9jdCgpYGAgZnVuY3Rpb25zKS4gTXVzdCByZXR1cm5cbiAgIGFuIGludGVnZXIuXG5cblxuV2l0aCBTdGF0ZW1lbnQgQ29udGV4dCBNYW5hZ2Vyc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5BICpjb250ZXh0IG1hbmFnZXIqIGlzIGFuIG9iamVjdCB0aGF0IGRlZmluZXMgdGhlIHJ1bnRpbWUgY29udGV4dCB0b1xuYmUgZXN0YWJsaXNoZWQgd2hlbiBleGVjdXRpbmcgYSBgYHdpdGhgYCBzdGF0ZW1lbnQuIFRoZSBjb250ZXh0XG5tYW5hZ2VyIGhhbmRsZXMgdGhlIGVudHJ5IGludG8sIGFuZCB0aGUgZXhpdCBmcm9tLCB0aGUgZGVzaXJlZCBydW50aW1lXG5jb250ZXh0IGZvciB0aGUgZXhlY3V0aW9uIG9mIHRoZSBibG9jayBvZiBjb2RlLiAgQ29udGV4dCBtYW5hZ2VycyBhcmVcbm5vcm1hbGx5IGludm9rZWQgdXNpbmcgdGhlIGBgd2l0aGBgIHN0YXRlbWVudCAoZGVzY3JpYmVkIGluIHNlY3Rpb25cbipUaGUgd2l0aCBzdGF0ZW1lbnQqKSwgYnV0IGNhbiBhbHNvIGJlIHVzZWQgYnkgZGlyZWN0bHkgaW52b2tpbmcgdGhlaXJcbm1ldGhvZHMuXG5cblR5cGljYWwgdXNlcyBvZiBjb250ZXh0IG1hbmFnZXJzIGluY2x1ZGUgc2F2aW5nIGFuZCByZXN0b3JpbmcgdmFyaW91c1xua2luZHMgb2YgZ2xvYmFsIHN0YXRlLCBsb2NraW5nIGFuZCB1bmxvY2tpbmcgcmVzb3VyY2VzLCBjbG9zaW5nIG9wZW5lZFxuZmlsZXMsIGV0Yy5cblxuRm9yIG1vcmUgaW5mb3JtYXRpb24gb24gY29udGV4dCBtYW5hZ2Vycywgc2VlICpDb250ZXh0IE1hbmFnZXIgVHlwZXMqLlxuXG5vYmplY3QuX19lbnRlcl9fKHNlbGYpXG5cbiAgIEVudGVyIHRoZSBydW50aW1lIGNvbnRleHQgcmVsYXRlZCB0byB0aGlzIG9iamVjdC4gVGhlIGBgd2l0aGBgXG4gICBzdGF0ZW1lbnQgd2lsbCBiaW5kIHRoaXMgbWV0aG9kXCdzIHJldHVybiB2YWx1ZSB0byB0aGUgdGFyZ2V0KHMpXG4gICBzcGVjaWZpZWQgaW4gdGhlIGBgYXNgYCBjbGF1c2Ugb2YgdGhlIHN0YXRlbWVudCwgaWYgYW55LlxuXG5vYmplY3QuX19leGl0X18oc2VsZiwgZXhjX3R5cGUsIGV4Y192YWx1ZSwgdHJhY2ViYWNrKVxuXG4gICBFeGl0IHRoZSBydW50aW1lIGNvbnRleHQgcmVsYXRlZCB0byB0aGlzIG9iamVjdC4gVGhlIHBhcmFtZXRlcnNcbiAgIGRlc2NyaWJlIHRoZSBleGNlcHRpb24gdGhhdCBjYXVzZWQgdGhlIGNvbnRleHQgdG8gYmUgZXhpdGVkLiBJZiB0aGVcbiAgIGNvbnRleHQgd2FzIGV4aXRlZCB3aXRob3V0IGFuIGV4Y2VwdGlvbiwgYWxsIHRocmVlIGFyZ3VtZW50cyB3aWxsXG4gICBiZSBgYE5vbmVgYC5cblxuICAgSWYgYW4gZXhjZXB0aW9uIGlzIHN1cHBsaWVkLCBhbmQgdGhlIG1ldGhvZCB3aXNoZXMgdG8gc3VwcHJlc3MgdGhlXG4gICBleGNlcHRpb24gKGkuZS4sIHByZXZlbnQgaXQgZnJvbSBiZWluZyBwcm9wYWdhdGVkKSwgaXQgc2hvdWxkXG4gICByZXR1cm4gYSB0cnVlIHZhbHVlLiBPdGhlcndpc2UsIHRoZSBleGNlcHRpb24gd2lsbCBiZSBwcm9jZXNzZWRcbiAgIG5vcm1hbGx5IHVwb24gZXhpdCBmcm9tIHRoaXMgbWV0aG9kLlxuXG4gICBOb3RlIHRoYXQgYGBfX2V4aXRfXygpYGAgbWV0aG9kcyBzaG91bGQgbm90IHJlcmFpc2UgdGhlIHBhc3NlZC1pblxuICAgZXhjZXB0aW9uOyB0aGlzIGlzIHRoZSBjYWxsZXJcJ3MgcmVzcG9uc2liaWxpdHkuXG5cblNlZSBhbHNvOlxuXG4gICAqKlBFUCAwMzQzKiogLSBUaGUgIndpdGgiIHN0YXRlbWVudFxuICAgICAgVGhlIHNwZWNpZmljYXRpb24sIGJhY2tncm91bmQsIGFuZCBleGFtcGxlcyBmb3IgdGhlIFB5dGhvblxuICAgICAgYGB3aXRoYGAgc3RhdGVtZW50LlxuXG5cblNwZWNpYWwgbWV0aG9kIGxvb2t1cFxuPT09PT09PT09PT09PT09PT09PT09XG5cbkZvciBjdXN0b20gY2xhc3NlcywgaW1wbGljaXQgaW52b2NhdGlvbnMgb2Ygc3BlY2lhbCBtZXRob2RzIGFyZSBvbmx5XG5ndWFyYW50ZWVkIHRvIHdvcmsgY29ycmVjdGx5IGlmIGRlZmluZWQgb24gYW4gb2JqZWN0XCdzIHR5cGUsIG5vdCBpblxudGhlIG9iamVjdFwncyBpbnN0YW5jZSBkaWN0aW9uYXJ5LiAgVGhhdCBiZWhhdmlvdXIgaXMgdGhlIHJlYXNvbiB3aHlcbnRoZSBmb2xsb3dpbmcgY29kZSByYWlzZXMgYW4gZXhjZXB0aW9uOlxuXG4gICA+Pj4gY2xhc3MgQzpcbiAgIC4uLiAgICAgcGFzc1xuICAgLi4uXG4gICA+Pj4gYyA9IEMoKVxuICAgPj4+IGMuX19sZW5fXyA9IGxhbWJkYTogNVxuICAgPj4+IGxlbihjKVxuICAgVHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOlxuICAgICBGaWxlICI8c3RkaW4+IiwgbGluZSAxLCBpbiA8bW9kdWxlPlxuICAgVHlwZUVycm9yOiBvYmplY3Qgb2YgdHlwZSBcJ0NcJyBoYXMgbm8gbGVuKClcblxuVGhlIHJhdGlvbmFsZSBiZWhpbmQgdGhpcyBiZWhhdmlvdXIgbGllcyB3aXRoIGEgbnVtYmVyIG9mIHNwZWNpYWxcbm1ldGhvZHMgc3VjaCBhcyBgYF9faGFzaF9fKClgYCBhbmQgYGBfX3JlcHJfXygpYGAgdGhhdCBhcmUgaW1wbGVtZW50ZWRcbmJ5IGFsbCBvYmplY3RzLCBpbmNsdWRpbmcgdHlwZSBvYmplY3RzLiBJZiB0aGUgaW1wbGljaXQgbG9va3VwIG9mXG50aGVzZSBtZXRob2RzIHVzZWQgdGhlIGNvbnZlbnRpb25hbCBsb29rdXAgcHJvY2VzcywgdGhleSB3b3VsZCBmYWlsXG53aGVuIGludm9rZWQgb24gdGhlIHR5cGUgb2JqZWN0IGl0c2VsZjpcblxuICAgPj4+IDEgLl9faGFzaF9fKCkgPT0gaGFzaCgxKVxuICAgVHJ1ZVxuICAgPj4+IGludC5fX2hhc2hfXygpID09IGhhc2goaW50KVxuICAgVHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOlxuICAgICBGaWxlICI8c3RkaW4+IiwgbGluZSAxLCBpbiA8bW9kdWxlPlxuICAgVHlwZUVycm9yOiBkZXNjcmlwdG9yIFwnX19oYXNoX19cJyBvZiBcJ2ludFwnIG9iamVjdCBuZWVkcyBhbiBhcmd1bWVudFxuXG5JbmNvcnJlY3RseSBhdHRlbXB0aW5nIHRvIGludm9rZSBhbiB1bmJvdW5kIG1ldGhvZCBvZiBhIGNsYXNzIGluIHRoaXNcbndheSBpcyBzb21ldGltZXMgcmVmZXJyZWQgdG8gYXMgXCdtZXRhY2xhc3MgY29uZnVzaW9uXCcsIGFuZCBpcyBhdm9pZGVkXG5ieSBieXBhc3NpbmcgdGhlIGluc3RhbmNlIHdoZW4gbG9va2luZyB1cCBzcGVjaWFsIG1ldGhvZHM6XG5cbiAgID4+PiB0eXBlKDEpLl9faGFzaF9fKDEpID09IGhhc2goMSlcbiAgIFRydWVcbiAgID4+PiB0eXBlKGludCkuX19oYXNoX18oaW50KSA9PSBoYXNoKGludClcbiAgIFRydWVcblxuSW4gYWRkaXRpb24gdG8gYnlwYXNzaW5nIGFueSBpbnN0YW5jZSBhdHRyaWJ1dGVzIGluIHRoZSBpbnRlcmVzdCBvZlxuY29ycmVjdG5lc3MsIGltcGxpY2l0IHNwZWNpYWwgbWV0aG9kIGxvb2t1cCBnZW5lcmFsbHkgYWxzbyBieXBhc3Nlc1xudGhlIGBgX19nZXRhdHRyaWJ1dGVfXygpYGAgbWV0aG9kIGV2ZW4gb2YgdGhlIG9iamVjdFwncyBtZXRhY2xhc3M6XG5cbiAgID4+PiBjbGFzcyBNZXRhKHR5cGUpOlxuICAgLi4uICAgIGRlZiBfX2dldGF0dHJpYnV0ZV9fKCphcmdzKTpcbiAgIC4uLiAgICAgICBwcmludCgiTWV0YWNsYXNzIGdldGF0dHJpYnV0ZSBpbnZva2VkIilcbiAgIC4uLiAgICAgICByZXR1cm4gdHlwZS5fX2dldGF0dHJpYnV0ZV9fKCphcmdzKVxuICAgLi4uXG4gICA+Pj4gY2xhc3MgQyhvYmplY3QsIG1ldGFjbGFzcz1NZXRhKTpcbiAgIC4uLiAgICAgZGVmIF9fbGVuX18oc2VsZik6XG4gICAuLi4gICAgICAgICByZXR1cm4gMTBcbiAgIC4uLiAgICAgZGVmIF9fZ2V0YXR0cmlidXRlX18oKmFyZ3MpOlxuICAgLi4uICAgICAgICAgcHJpbnQoIkNsYXNzIGdldGF0dHJpYnV0ZSBpbnZva2VkIilcbiAgIC4uLiAgICAgICAgIHJldHVybiBvYmplY3QuX19nZXRhdHRyaWJ1dGVfXygqYXJncylcbiAgIC4uLlxuICAgPj4+IGMgPSBDKClcbiAgID4+PiBjLl9fbGVuX18oKSAgICAgICAgICAgICAgICAgIyBFeHBsaWNpdCBsb29rdXAgdmlhIGluc3RhbmNlXG4gICBDbGFzcyBnZXRhdHRyaWJ1dGUgaW52b2tlZFxuICAgMTBcbiAgID4+PiB0eXBlKGMpLl9fbGVuX18oYykgICAgICAgICAgIyBFeHBsaWNpdCBsb29rdXAgdmlhIHR5cGVcbiAgIE1ldGFjbGFzcyBnZXRhdHRyaWJ1dGUgaW52b2tlZFxuICAgMTBcbiAgID4+PiBsZW4oYykgICAgICAgICAgICAgICAgICAgICAgIyBJbXBsaWNpdCBsb29rdXBcbiAgIDEwXG5cbkJ5cGFzc2luZyB0aGUgYGBfX2dldGF0dHJpYnV0ZV9fKClgYCBtYWNoaW5lcnkgaW4gdGhpcyBmYXNoaW9uXG5wcm92aWRlcyBzaWduaWZpY2FudCBzY29wZSBmb3Igc3BlZWQgb3B0aW1pc2F0aW9ucyB3aXRoaW4gdGhlXG5pbnRlcnByZXRlciwgYXQgdGhlIGNvc3Qgb2Ygc29tZSBmbGV4aWJpbGl0eSBpbiB0aGUgaGFuZGxpbmcgb2ZcbnNwZWNpYWwgbWV0aG9kcyAodGhlIHNwZWNpYWwgbWV0aG9kICptdXN0KiBiZSBzZXQgb24gdGhlIGNsYXNzIG9iamVjdFxuaXRzZWxmIGluIG9yZGVyIHRvIGJlIGNvbnNpc3RlbnRseSBpbnZva2VkIGJ5IHRoZSBpbnRlcnByZXRlcikuXG5cbi1bIEZvb3Rub3RlcyBdLVxuXG5bMV0gSXQgKmlzKiBwb3NzaWJsZSBpbiBzb21lIGNhc2VzIHRvIGNoYW5nZSBhbiBvYmplY3RcJ3MgdHlwZSwgdW5kZXJcbiAgICBjZXJ0YWluIGNvbnRyb2xsZWQgY29uZGl0aW9ucy4gSXQgZ2VuZXJhbGx5IGlzblwndCBhIGdvb2QgaWRlYVxuICAgIHRob3VnaCwgc2luY2UgaXQgY2FuIGxlYWQgdG8gc29tZSB2ZXJ5IHN0cmFuZ2UgYmVoYXZpb3VyIGlmIGl0IGlzXG4gICAgaGFuZGxlZCBpbmNvcnJlY3RseS5cblxuWzJdIEZvciBvcGVyYW5kcyBvZiB0aGUgc2FtZSB0eXBlLCBpdCBpcyBhc3N1bWVkIHRoYXQgaWYgdGhlIG5vbi1cbiAgICByZWZsZWN0ZWQgbWV0aG9kIChzdWNoIGFzIGBgX19hZGRfXygpYGApIGZhaWxzIHRoZSBvcGVyYXRpb24gaXNcbiAgICBub3Qgc3VwcG9ydGVkLCB3aGljaCBpcyB3aHkgdGhlIHJlZmxlY3RlZCBtZXRob2QgaXMgbm90IGNhbGxlZC5cbicsCisgJ3N0cmluZy1tZXRob2RzJzogJ1xuU3RyaW5nIE1ldGhvZHNcbioqKioqKioqKioqKioqXG5cblN0cmluZyBvYmplY3RzIHN1cHBvcnQgdGhlIG1ldGhvZHMgbGlzdGVkIGJlbG93LlxuXG5JbiBhZGRpdGlvbiwgUHl0aG9uXCdzIHN0cmluZ3Mgc3VwcG9ydCB0aGUgc2VxdWVuY2UgdHlwZSBtZXRob2RzXG5kZXNjcmliZWQgaW4gdGhlICpTZXF1ZW5jZSBUeXBlcyAtLS0gc3RyLCBieXRlcywgYnl0ZWFycmF5LCBsaXN0LFxudHVwbGUsIHJhbmdlKiBzZWN0aW9uLiBUbyBvdXRwdXQgZm9ybWF0dGVkIHN0cmluZ3MsIHNlZSB0aGUgKlN0cmluZ1xuRm9ybWF0dGluZyogc2VjdGlvbi4gQWxzbywgc2VlIHRoZSBgYHJlYGAgbW9kdWxlIGZvciBzdHJpbmcgZnVuY3Rpb25zXG5iYXNlZCBvbiByZWd1bGFyIGV4cHJlc3Npb25zLlxuXG5zdHIuY2FwaXRhbGl6ZSgpXG5cbiAgIFJldHVybiBhIGNvcHkgb2YgdGhlIHN0cmluZyB3aXRoIGl0cyBmaXJzdCBjaGFyYWN0ZXIgY2FwaXRhbGl6ZWRcbiAgIGFuZCB0aGUgcmVzdCBsb3dlcmNhc2VkLlxuXG5zdHIuY2FzZWZvbGQoKVxuXG4gICBSZXR1cm4gYSBjYXNlZm9sZGVkIGNvcHkgb2YgdGhlIHN0cmluZy4gQ2FzZWZvbGRlZCBzdHJpbmdzIG1heSBiZVxuICAgdXNlZCBmb3IgY2FzZWxlc3MgbWF0Y2hpbmcuXG5cbiAgIENhc2Vmb2xkaW5nIGlzIHNpbWlsYXIgdG8gbG93ZXJjYXNpbmcgYnV0IG1vcmUgYWdncmVzc2l2ZSBiZWNhdXNlXG4gICBpdCBpcyBpbnRlbmRlZCB0byByZW1vdmUgYWxsIGNhc2UgZGlzdGluY3Rpb25zIGluIGEgc3RyaW5nLiBGb3JcbiAgIGV4YW1wbGUsIHRoZSBHZXJtYW4gbG93ZXJjYXNlIGxldHRlciBgYFwnXHhjM1x4OWZcJ2BgIGlzIGVxdWl2YWxlbnQgdG9cbiAgIGBgInNzImBgLiBTaW5jZSBpdCBpcyBhbHJlYWR5IGxvd2VyY2FzZSwgYGBsb3dlcigpYGAgd291bGQgZG9cbiAgIG5vdGhpbmcgdG8gYGBcJ1x4YzNceDlmXCdgYDsgYGBjYXNlZm9sZCgpYGAgY29udmVydHMgaXQgdG8gYGAic3MiYGAuXG5cbiAgIFRoZSBjYXNlZm9sZGluZyBhbGdvcml0aG0gaXMgZGVzY3JpYmVkIGluIHNlY3Rpb24gMy4xMyBvZiB0aGVcbiAgIFVuaWNvZGUgU3RhbmRhcmQuXG5cbiAgIE5ldyBpbiB2ZXJzaW9uIDMuMy5cblxuc3RyLmNlbnRlcih3aWR0aFssIGZpbGxjaGFyXSlcblxuICAgUmV0dXJuIGNlbnRlcmVkIGluIGEgc3RyaW5nIG9mIGxlbmd0aCAqd2lkdGgqLiBQYWRkaW5nIGlzIGRvbmVcbiAgIHVzaW5nIHRoZSBzcGVjaWZpZWQgKmZpbGxjaGFyKiAoZGVmYXVsdCBpcyBhIHNwYWNlKS5cblxuc3RyLmNvdW50KHN1YlssIHN0YXJ0WywgZW5kXV0pXG5cbiAgIFJldHVybiB0aGUgbnVtYmVyIG9mIG5vbi1vdmVybGFwcGluZyBvY2N1cnJlbmNlcyBvZiBzdWJzdHJpbmcgKnN1YipcbiAgIGluIHRoZSByYW5nZSBbKnN0YXJ0KiwgKmVuZCpdLiAgT3B0aW9uYWwgYXJndW1lbnRzICpzdGFydCogYW5kXG4gICAqZW5kKiBhcmUgaW50ZXJwcmV0ZWQgYXMgaW4gc2xpY2Ugbm90YXRpb24uXG5cbnN0ci5lbmNvZGUoZW5jb2Rpbmc9InV0Zi04IiwgZXJyb3JzPSJzdHJpY3QiKVxuXG4gICBSZXR1cm4gYW4gZW5jb2RlZCB2ZXJzaW9uIG9mIHRoZSBzdHJpbmcgYXMgYSBieXRlcyBvYmplY3QuIERlZmF1bHRcbiAgIGVuY29kaW5nIGlzIGBgXCd1dGYtOFwnYGAuICplcnJvcnMqIG1heSBiZSBnaXZlbiB0byBzZXQgYSBkaWZmZXJlbnRcbiAgIGVycm9yIGhhbmRsaW5nIHNjaGVtZS4gVGhlIGRlZmF1bHQgZm9yICplcnJvcnMqIGlzIGBgXCdzdHJpY3RcJ2BgLFxuICAgbWVhbmluZyB0aGF0IGVuY29kaW5nIGVycm9ycyByYWlzZSBhIGBgVW5pY29kZUVycm9yYGAuIE90aGVyXG4gICBwb3NzaWJsZSB2YWx1ZXMgYXJlIGBgXCdpZ25vcmVcJ2BgLCBgYFwncmVwbGFjZVwnYGAsXG4gICBgYFwneG1sY2hhcnJlZnJlcGxhY2VcJ2BgLCBgYFwnYmFja3NsYXNocmVwbGFjZVwnYGAgYW5kIGFueSBvdGhlciBuYW1lXG4gICByZWdpc3RlcmVkIHZpYSBgYGNvZGVjcy5yZWdpc3Rlcl9lcnJvcigpYGAsIHNlZSBzZWN0aW9uICpDb2RlYyBCYXNlXG4gICBDbGFzc2VzKi4gRm9yIGEgbGlzdCBvZiBwb3NzaWJsZSBlbmNvZGluZ3MsIHNlZSBzZWN0aW9uICpTdGFuZGFyZFxuICAgRW5jb2RpbmdzKi5cblxuICAgQ2hhbmdlZCBpbiB2ZXJzaW9uIDMuMTogU3VwcG9ydCBmb3Iga2V5d29yZCBhcmd1bWVudHMgYWRkZWQuXG5cbnN0ci5lbmRzd2l0aChzdWZmaXhbLCBzdGFydFssIGVuZF1dKVxuXG4gICBSZXR1cm4gYGBUcnVlYGAgaWYgdGhlIHN0cmluZyBlbmRzIHdpdGggdGhlIHNwZWNpZmllZCAqc3VmZml4KixcbiAgIG90aGVyd2lzZSByZXR1cm4gYGBGYWxzZWBgLiAgKnN1ZmZpeCogY2FuIGFsc28gYmUgYSB0dXBsZSBvZlxuICAgc3VmZml4ZXMgdG8gbG9vayBmb3IuICBXaXRoIG9wdGlvbmFsICpzdGFydCosIHRlc3QgYmVnaW5uaW5nIGF0XG4gICB0aGF0IHBvc2l0aW9uLiAgV2l0aCBvcHRpb25hbCAqZW5kKiwgc3RvcCBjb21wYXJpbmcgYXQgdGhhdFxuICAgcG9zaXRpb24uXG5cbnN0ci5leHBhbmR0YWJzKFt0YWJzaXplXSlcblxuICAgUmV0dXJuIGEgY29weSBvZiB0aGUgc3RyaW5nIHdoZXJlIGFsbCB0YWIgY2hhcmFjdGVycyBhcmUgcmVwbGFjZWRcbiAgIGJ5IHplcm8gb3IgbW9yZSBzcGFjZXMsIGRlcGVuZGluZyBvbiB0aGUgY3VycmVudCBjb2x1bW4gYW5kIHRoZVxuICAgZ2l2ZW4gdGFiIHNpemUuICBUaGUgY29sdW1uIG51bWJlciBpcyByZXNldCB0byB6ZXJvIGFmdGVyIGVhY2hcbiAgIG5ld2xpbmUgb2NjdXJyaW5nIGluIHRoZSBzdHJpbmcuIElmICp0YWJzaXplKiBpcyBub3QgZ2l2ZW4sIGEgdGFiXG4gICBzaXplIG9mIGBgOGBgIGNoYXJhY3RlcnMgaXMgYXNzdW1lZC4gIFRoaXMgZG9lc25cJ3QgdW5kZXJzdGFuZCBvdGhlclxuICAgbm9uLXByaW50aW5nIGNoYXJhY3RlcnMgb3IgZXNjYXBlIHNlcXVlbmNlcy5cblxuc3RyLmZpbmQoc3ViWywgc3RhcnRbLCBlbmRdXSlcblxuICAgUmV0dXJuIHRoZSBsb3dlc3QgaW5kZXggaW4gdGhlIHN0cmluZyB3aGVyZSBzdWJzdHJpbmcgKnN1YiogaXNcbiAgIGZvdW5kLCBzdWNoIHRoYXQgKnN1YiogaXMgY29udGFpbmVkIGluIHRoZSBzbGljZSBgYHNbc3RhcnQ6ZW5kXWBgLlxuICAgT3B0aW9uYWwgYXJndW1lbnRzICpzdGFydCogYW5kICplbmQqIGFyZSBpbnRlcnByZXRlZCBhcyBpbiBzbGljZVxuICAgbm90YXRpb24uICBSZXR1cm4gYGAtMWBgIGlmICpzdWIqIGlzIG5vdCBmb3VuZC5cblxuICAgTm90ZTogVGhlIGBgZmluZCgpYGAgbWV0aG9kIHNob3VsZCBiZSB1c2VkIG9ubHkgaWYgeW91IG5lZWQgdG8ga25vdyB0aGVcbiAgICAgcG9zaXRpb24gb2YgKnN1YiouICBUbyBjaGVjayBpZiAqc3ViKiBpcyBhIHN1YnN0cmluZyBvciBub3QsIHVzZVxuICAgICB0aGUgYGBpbmBgIG9wZXJhdG9yOlxuXG4gICAgICAgID4+PiBcJ1B5XCcgaW4gXCdQeXRob25cJ1xuICAgICAgICBUcnVlXG5cbnN0ci5mb3JtYXQoKmFyZ3MsICoqa3dhcmdzKVxuXG4gICBQZXJmb3JtIGEgc3RyaW5nIGZvcm1hdHRpbmcgb3BlcmF0aW9uLiAgVGhlIHN0cmluZyBvbiB3aGljaCB0aGlzXG4gICBtZXRob2QgaXMgY2FsbGVkIGNhbiBjb250YWluIGxpdGVyYWwgdGV4dCBvciByZXBsYWNlbWVudCBmaWVsZHNcbiAgIGRlbGltaXRlZCBieSBicmFjZXMgYGB7fWBgLiAgRWFjaCByZXBsYWNlbWVudCBmaWVsZCBjb250YWlucyBlaXRoZXJcbiAgIHRoZSBudW1lcmljIGluZGV4IG9mIGEgcG9zaXRpb25hbCBhcmd1bWVudCwgb3IgdGhlIG5hbWUgb2YgYVxuICAga2V5d29yZCBhcmd1bWVudC4gIFJldHVybnMgYSBjb3B5IG9mIHRoZSBzdHJpbmcgd2hlcmUgZWFjaFxuICAgcmVwbGFjZW1lbnQgZmllbGQgaXMgcmVwbGFjZWQgd2l0aCB0aGUgc3RyaW5nIHZhbHVlIG9mIHRoZVxuICAgY29ycmVzcG9uZGluZyBhcmd1bWVudC5cblxuICAgPj4+ICJUaGUgc3VtIG9mIDEgKyAyIGlzIHswfSIuZm9ybWF0KDErMilcbiAgIFwnVGhlIHN1bSBvZiAxICsgMiBpcyAzXCdcblxuICAgU2VlICpGb3JtYXQgU3RyaW5nIFN5bnRheCogZm9yIGEgZGVzY3JpcHRpb24gb2YgdGhlIHZhcmlvdXNcbiAgIGZvcm1hdHRpbmcgb3B0aW9ucyB0aGF0IGNhbiBiZSBzcGVjaWZpZWQgaW4gZm9ybWF0IHN0cmluZ3MuXG5cbnN0ci5mb3JtYXRfbWFwKG1hcHBpbmcpXG5cbiAgIFNpbWlsYXIgdG8gYGBzdHIuZm9ybWF0KCoqbWFwcGluZylgYCwgZXhjZXB0IHRoYXQgYGBtYXBwaW5nYGAgaXNcbiAgIHVzZWQgZGlyZWN0bHkgYW5kIG5vdCBjb3BpZWQgdG8gYSBgYGRpY3RgYCAuICBUaGlzIGlzIHVzZWZ1bCBpZiBmb3JcbiAgIGV4YW1wbGUgYGBtYXBwaW5nYGAgaXMgYSBkaWN0IHN1YmNsYXNzOlxuXG4gICA+Pj4gY2xhc3MgRGVmYXVsdChkaWN0KTpcbiAgIC4uLiAgICAgZGVmIF9fbWlzc2luZ19fKHNlbGYsIGtleSk6XG4gICAuLi4gICAgICAgICByZXR1cm4ga2V5XG4gICAuLi5cbiAgID4+PiBcJ3tuYW1lfSB3YXMgYm9ybiBpbiB7Y291bnRyeX1cJy5mb3JtYXRfbWFwKERlZmF1bHQobmFtZT1cJ0d1aWRvXCcpKVxuICAgXCdHdWlkbyB3YXMgYm9ybiBpbiBjb3VudHJ5XCdcblxuICAgTmV3IGluIHZlcnNpb24gMy4yLlxuXG5zdHIuaW5kZXgoc3ViWywgc3RhcnRbLCBlbmRdXSlcblxuICAgTGlrZSBgYGZpbmQoKWBgLCBidXQgcmFpc2UgYGBWYWx1ZUVycm9yYGAgd2hlbiB0aGUgc3Vic3RyaW5nIGlzIG5vdFxuICAgZm91bmQuXG5cbnN0ci5pc2FsbnVtKClcblxuICAgUmV0dXJuIHRydWUgaWYgYWxsIGNoYXJhY3RlcnMgaW4gdGhlIHN0cmluZyBhcmUgYWxwaGFudW1lcmljIGFuZFxuICAgdGhlcmUgaXMgYXQgbGVhc3Qgb25lIGNoYXJhY3RlciwgZmFsc2Ugb3RoZXJ3aXNlLiAgQSBjaGFyYWN0ZXJcbiAgIGBgY2BgIGlzIGFscGhhbnVtZXJpYyBpZiBvbmUgb2YgdGhlIGZvbGxvd2luZyByZXR1cm5zIGBgVHJ1ZWBgOlxuICAgYGBjLmlzYWxwaGEoKWBgLCBgYGMuaXNkZWNpbWFsKClgYCwgYGBjLmlzZGlnaXQoKWBgLCBvclxuICAgYGBjLmlzbnVtZXJpYygpYGAuXG5cbnN0ci5pc2FscGhhKClcblxuICAgUmV0dXJuIHRydWUgaWYgYWxsIGNoYXJhY3RlcnMgaW4gdGhlIHN0cmluZyBhcmUgYWxwaGFiZXRpYyBhbmRcbiAgIHRoZXJlIGlzIGF0IGxlYXN0IG9uZSBjaGFyYWN0ZXIsIGZhbHNlIG90aGVyd2lzZS4gIEFscGhhYmV0aWNcbiAgIGNoYXJhY3RlcnMgYXJlIHRob3NlIGNoYXJhY3RlcnMgZGVmaW5lZCBpbiB0aGUgVW5pY29kZSBjaGFyYWN0ZXJcbiAgIGRhdGFiYXNlIGFzICJMZXR0ZXIiLCBpLmUuLCB0aG9zZSB3aXRoIGdlbmVyYWwgY2F0ZWdvcnkgcHJvcGVydHlcbiAgIGJlaW5nIG9uZSBvZiAiTG0iLCAiTHQiLCAiTHUiLCAiTGwiLCBvciAiTG8iLiAgTm90ZSB0aGF0IHRoaXMgaXNcbiAgIGRpZmZlcmVudCBmcm9tIHRoZSAiQWxwaGFiZXRpYyIgcHJvcGVydHkgZGVmaW5lZCBpbiB0aGUgVW5pY29kZVxuICAgU3RhbmRhcmQuXG5cbnN0ci5pc2RlY2ltYWwoKVxuXG4gICBSZXR1cm4gdHJ1ZSBpZiBhbGwgY2hhcmFjdGVycyBpbiB0aGUgc3RyaW5nIGFyZSBkZWNpbWFsIGNoYXJhY3RlcnNcbiAgIGFuZCB0aGVyZSBpcyBhdCBsZWFzdCBvbmUgY2hhcmFjdGVyLCBmYWxzZSBvdGhlcndpc2UuIERlY2ltYWxcbiAgIGNoYXJhY3RlcnMgYXJlIHRob3NlIGZyb20gZ2VuZXJhbCBjYXRlZ29yeSAiTmQiLiBUaGlzIGNhdGVnb3J5XG4gICBpbmNsdWRlcyBkaWdpdCBjaGFyYWN0ZXJzLCBhbmQgYWxsIGNoYXJhY3RlcnMgdGhhdCBjYW4gYmUgdXNlZCB0b1xuICAgZm9ybSBkZWNpbWFsLXJhZGl4IG51bWJlcnMsIGUuZy4gVSswNjYwLCBBUkFCSUMtSU5ESUMgRElHSVQgWkVSTy5cblxuc3RyLmlzZGlnaXQoKVxuXG4gICBSZXR1cm4gdHJ1ZSBpZiBhbGwgY2hhcmFjdGVycyBpbiB0aGUgc3RyaW5nIGFyZSBkaWdpdHMgYW5kIHRoZXJlIGlzXG4gICBhdCBsZWFzdCBvbmUgY2hhcmFjdGVyLCBmYWxzZSBvdGhlcndpc2UuICBEaWdpdHMgaW5jbHVkZSBkZWNpbWFsXG4gICBjaGFyYWN0ZXJzIGFuZCBkaWdpdHMgdGhhdCBuZWVkIHNwZWNpYWwgaGFuZGxpbmcsIHN1Y2ggYXMgdGhlXG4gICBjb21wYXRpYmlsaXR5IHN1cGVyc2NyaXB0IGRpZ2l0cy4gIEZvcm1hbGx5LCBhIGRpZ2l0IGlzIGEgY2hhcmFjdGVyXG4gICB0aGF0IGhhcyB0aGUgcHJvcGVydHkgdmFsdWUgTnVtZXJpY19UeXBlPURpZ2l0IG9yXG4gICBOdW1lcmljX1R5cGU9RGVjaW1hbC5cblxuc3RyLmlzaWRlbnRpZmllcigpXG5cbiAgIFJldHVybiB0cnVlIGlmIHRoZSBzdHJpbmcgaXMgYSB2YWxpZCBpZGVudGlmaWVyIGFjY29yZGluZyB0byB0aGVcbiAgIGxhbmd1YWdlIGRlZmluaXRpb24sIHNlY3Rpb24gKklkZW50aWZpZXJzIGFuZCBrZXl3b3JkcyouXG5cbnN0ci5pc2xvd2VyKClcblxuICAgUmV0dXJuIHRydWUgaWYgYWxsIGNhc2VkIGNoYXJhY3RlcnMgWzRdIGluIHRoZSBzdHJpbmcgYXJlIGxvd2VyY2FzZVxuICAgYW5kIHRoZXJlIGlzIGF0IGxlYXN0IG9uZSBjYXNlZCBjaGFyYWN0ZXIsIGZhbHNlIG90aGVyd2lzZS5cblxuc3RyLmlzbnVtZXJpYygpXG5cbiAgIFJldHVybiB0cnVlIGlmIGFsbCBjaGFyYWN0ZXJzIGluIHRoZSBzdHJpbmcgYXJlIG51bWVyaWMgY2hhcmFjdGVycyxcbiAgIGFuZCB0aGVyZSBpcyBhdCBsZWFzdCBvbmUgY2hhcmFjdGVyLCBmYWxzZSBvdGhlcndpc2UuIE51bWVyaWNcbiAgIGNoYXJhY3RlcnMgaW5jbHVkZSBkaWdpdCBjaGFyYWN0ZXJzLCBhbmQgYWxsIGNoYXJhY3RlcnMgdGhhdCBoYXZlXG4gICB0aGUgVW5pY29kZSBudW1lcmljIHZhbHVlIHByb3BlcnR5LCBlLmcuIFUrMjE1NSwgVlVMR0FSIEZSQUNUSU9OXG4gICBPTkUgRklGVEguICBGb3JtYWxseSwgbnVtZXJpYyBjaGFyYWN0ZXJzIGFyZSB0aG9zZSB3aXRoIHRoZVxuICAgcHJvcGVydHkgdmFsdWUgTnVtZXJpY19UeXBlPURpZ2l0LCBOdW1lcmljX1R5cGU9RGVjaW1hbCBvclxuICAgTnVtZXJpY19UeXBlPU51bWVyaWMuXG5cbnN0ci5pc3ByaW50YWJsZSgpXG5cbiAgIFJldHVybiB0cnVlIGlmIGFsbCBjaGFyYWN0ZXJzIGluIHRoZSBzdHJpbmcgYXJlIHByaW50YWJsZSBvciB0aGVcbiAgIHN0cmluZyBpcyBlbXB0eSwgZmFsc2Ugb3RoZXJ3aXNlLiAgTm9ucHJpbnRhYmxlIGNoYXJhY3RlcnMgYXJlXG4gICB0aG9zZSBjaGFyYWN0ZXJzIGRlZmluZWQgaW4gdGhlIFVuaWNvZGUgY2hhcmFjdGVyIGRhdGFiYXNlIGFzXG4gICAiT3RoZXIiIG9yICJTZXBhcmF0b3IiLCBleGNlcHRpbmcgdGhlIEFTQ0lJIHNwYWNlICgweDIwKSB3aGljaCBpc1xuICAgY29uc2lkZXJlZCBwcmludGFibGUuICAoTm90ZSB0aGF0IHByaW50YWJsZSBjaGFyYWN0ZXJzIGluIHRoaXNcbiAgIGNvbnRleHQgYXJlIHRob3NlIHdoaWNoIHNob3VsZCBub3QgYmUgZXNjYXBlZCB3aGVuIGBgcmVwcigpYGAgaXNcbiAgIGludm9rZWQgb24gYSBzdHJpbmcuICBJdCBoYXMgbm8gYmVhcmluZyBvbiB0aGUgaGFuZGxpbmcgb2Ygc3RyaW5nc1xuICAgd3JpdHRlbiB0byBgYHN5cy5zdGRvdXRgYCBvciBgYHN5cy5zdGRlcnJgYC4pXG5cbnN0ci5pc3NwYWNlKClcblxuICAgUmV0dXJuIHRydWUgaWYgdGhlcmUgYXJlIG9ubHkgd2hpdGVzcGFjZSBjaGFyYWN0ZXJzIGluIHRoZSBzdHJpbmdcbiAgIGFuZCB0aGVyZSBpcyBhdCBsZWFzdCBvbmUgY2hhcmFjdGVyLCBmYWxzZSBvdGhlcndpc2UuICBXaGl0ZXNwYWNlXG4gICBjaGFyYWN0ZXJzICBhcmUgdGhvc2UgY2hhcmFjdGVycyBkZWZpbmVkIGluIHRoZSBVbmljb2RlIGNoYXJhY3RlclxuICAgZGF0YWJhc2UgYXMgIk90aGVyIiBvciAiU2VwYXJhdG9yIiBhbmQgdGhvc2Ugd2l0aCBiaWRpcmVjdGlvbmFsXG4gICBwcm9wZXJ0eSBiZWluZyBvbmUgb2YgIldTIiwgIkIiLCBvciAiUyIuXG5cbnN0ci5pc3RpdGxlKClcblxuICAgUmV0dXJuIHRydWUgaWYgdGhlIHN0cmluZyBpcyBhIHRpdGxlY2FzZWQgc3RyaW5nIGFuZCB0aGVyZSBpcyBhdFxuICAgbGVhc3Qgb25lIGNoYXJhY3RlciwgZm9yIGV4YW1wbGUgdXBwZXJjYXNlIGNoYXJhY3RlcnMgbWF5IG9ubHlcbiAgIGZvbGxvdyB1bmNhc2VkIGNoYXJhY3RlcnMgYW5kIGxvd2VyY2FzZSBjaGFyYWN0ZXJzIG9ubHkgY2FzZWQgb25lcy5cbiAgIFJldHVybiBmYWxzZSBvdGhlcndpc2UuXG5cbnN0ci5pc3VwcGVyKClcblxuICAgUmV0dXJuIHRydWUgaWYgYWxsIGNhc2VkIGNoYXJhY3RlcnMgWzRdIGluIHRoZSBzdHJpbmcgYXJlIHVwcGVyY2FzZVxuICAgYW5kIHRoZXJlIGlzIGF0IGxlYXN0IG9uZSBjYXNlZCBjaGFyYWN0ZXIsIGZhbHNlIG90aGVyd2lzZS5cblxuc3RyLmpvaW4oaXRlcmFibGUpXG5cbiAgIFJldHVybiBhIHN0cmluZyB3aGljaCBpcyB0aGUgY29uY2F0ZW5hdGlvbiBvZiB0aGUgc3RyaW5ncyBpbiB0aGVcbiAgICppdGVyYWJsZSogKml0ZXJhYmxlKi4gIEEgYGBUeXBlRXJyb3JgYCB3aWxsIGJlIHJhaXNlZCBpZiB0aGVyZSBhcmVcbiAgIGFueSBub24tc3RyaW5nIHZhbHVlcyBpbiAqaXRlcmFibGUqLCBpbmNsdWRpbmcgYGBieXRlc2BgIG9iamVjdHMuXG4gICBUaGUgc2VwYXJhdG9yIGJldHdlZW4gZWxlbWVudHMgaXMgdGhlIHN0cmluZyBwcm92aWRpbmcgdGhpcyBtZXRob2QuXG5cbnN0ci5sanVzdCh3aWR0aFssIGZpbGxjaGFyXSlcblxuICAgUmV0dXJuIHRoZSBzdHJpbmcgbGVmdCBqdXN0aWZpZWQgaW4gYSBzdHJpbmcgb2YgbGVuZ3RoICp3aWR0aCouXG4gICBQYWRkaW5nIGlzIGRvbmUgdXNpbmcgdGhlIHNwZWNpZmllZCAqZmlsbGNoYXIqIChkZWZhdWx0IGlzIGFcbiAgIHNwYWNlKS4gIFRoZSBvcmlnaW5hbCBzdHJpbmcgaXMgcmV0dXJuZWQgaWYgKndpZHRoKiBpcyBsZXNzIHRoYW4gb3JcbiAgIGVxdWFsIHRvIGBgbGVuKHMpYGAuXG5cbnN0ci5sb3dlcigpXG5cbiAgIFJldHVybiBhIGNvcHkgb2YgdGhlIHN0cmluZyB3aXRoIGFsbCB0aGUgY2FzZWQgY2hhcmFjdGVycyBbNF1cbiAgIGNvbnZlcnRlZCB0byBsb3dlcmNhc2UuXG5cbiAgIFRoZSBsb3dlcmNhc2luZyBhbGdvcml0aG0gdXNlZCBpcyBkZXNjcmliZWQgaW4gc2VjdGlvbiAzLjEzIG9mIHRoZVxuICAgVW5pY29kZSBTdGFuZGFyZC5cblxuc3RyLmxzdHJpcChbY2hhcnNdKVxuXG4gICBSZXR1cm4gYSBjb3B5IG9mIHRoZSBzdHJpbmcgd2l0aCBsZWFkaW5nIGNoYXJhY3RlcnMgcmVtb3ZlZC4gIFRoZVxuICAgKmNoYXJzKiBhcmd1bWVudCBpcyBhIHN0cmluZyBzcGVjaWZ5aW5nIHRoZSBzZXQgb2YgY2hhcmFjdGVycyB0byBiZVxuICAgcmVtb3ZlZC4gIElmIG9taXR0ZWQgb3IgYGBOb25lYGAsIHRoZSAqY2hhcnMqIGFyZ3VtZW50IGRlZmF1bHRzIHRvXG4gICByZW1vdmluZyB3aGl0ZXNwYWNlLiAgVGhlICpjaGFycyogYXJndW1lbnQgaXMgbm90IGEgcHJlZml4OyByYXRoZXIsXG4gICBhbGwgY29tYmluYXRpb25zIG9mIGl0cyB2YWx1ZXMgYXJlIHN0cmlwcGVkOlxuXG4gICA+Pj4gXCcgICBzcGFjaW91cyAgIFwnLmxzdHJpcCgpXG4gICBcJ3NwYWNpb3VzICAgXCdcbiAgID4+PiBcJ3d3dy5leGFtcGxlLmNvbVwnLmxzdHJpcChcJ2Ntb3d6LlwnKVxuICAgXCdleGFtcGxlLmNvbVwnXG5cbnN0YXRpYyBzdHIubWFrZXRyYW5zKHhbLCB5Wywgel1dKVxuXG4gICBUaGlzIHN0YXRpYyBtZXRob2QgcmV0dXJucyBhIHRyYW5zbGF0aW9uIHRhYmxlIHVzYWJsZSBmb3JcbiAgIGBgc3RyLnRyYW5zbGF0ZSgpYGAuXG5cbiAgIElmIHRoZXJlIGlzIG9ubHkgb25lIGFyZ3VtZW50LCBpdCBtdXN0IGJlIGEgZGljdGlvbmFyeSBtYXBwaW5nXG4gICBVbmljb2RlIG9yZGluYWxzIChpbnRlZ2Vycykgb3IgY2hhcmFjdGVycyAoc3RyaW5ncyBvZiBsZW5ndGggMSkgdG9cbiAgIFVuaWNvZGUgb3JkaW5hbHMsIHN0cmluZ3MgKG9mIGFyYml0cmFyeSBsZW5ndGhzKSBvciBOb25lLlxuICAgQ2hhcmFjdGVyIGtleXMgd2lsbCB0aGVuIGJlIGNvbnZlcnRlZCB0byBvcmRpbmFscy5cblxuICAgSWYgdGhlcmUgYXJlIHR3byBhcmd1bWVudHMsIHRoZXkgbXVzdCBiZSBzdHJpbmdzIG9mIGVxdWFsIGxlbmd0aCxcbiAgIGFuZCBpbiB0aGUgcmVzdWx0aW5nIGRpY3Rpb25hcnksIGVhY2ggY2hhcmFjdGVyIGluIHggd2lsbCBiZSBtYXBwZWRcbiAgIHRvIHRoZSBjaGFyYWN0ZXIgYXQgdGhlIHNhbWUgcG9zaXRpb24gaW4geS4gIElmIHRoZXJlIGlzIGEgdGhpcmRcbiAgIGFyZ3VtZW50LCBpdCBtdXN0IGJlIGEgc3RyaW5nLCB3aG9zZSBjaGFyYWN0ZXJzIHdpbGwgYmUgbWFwcGVkIHRvXG4gICBOb25lIGluIHRoZSByZXN1bHQuXG5cbnN0ci5wYXJ0aXRpb24oc2VwKVxuXG4gICBTcGxpdCB0aGUgc3RyaW5nIGF0IHRoZSBmaXJzdCBvY2N1cnJlbmNlIG9mICpzZXAqLCBhbmQgcmV0dXJuIGFcbiAgIDMtdHVwbGUgY29udGFpbmluZyB0aGUgcGFydCBiZWZvcmUgdGhlIHNlcGFyYXRvciwgdGhlIHNlcGFyYXRvclxuICAgaXRzZWxmLCBhbmQgdGhlIHBhcnQgYWZ0ZXIgdGhlIHNlcGFyYXRvci4gIElmIHRoZSBzZXBhcmF0b3IgaXMgbm90XG4gICBmb3VuZCwgcmV0dXJuIGEgMy10dXBsZSBjb250YWluaW5nIHRoZSBzdHJpbmcgaXRzZWxmLCBmb2xsb3dlZCBieVxuICAgdHdvIGVtcHR5IHN0cmluZ3MuXG5cbnN0ci5yZXBsYWNlKG9sZCwgbmV3WywgY291bnRdKVxuXG4gICBSZXR1cm4gYSBjb3B5IG9mIHRoZSBzdHJpbmcgd2l0aCBhbGwgb2NjdXJyZW5jZXMgb2Ygc3Vic3RyaW5nICpvbGQqXG4gICByZXBsYWNlZCBieSAqbmV3Ki4gIElmIHRoZSBvcHRpb25hbCBhcmd1bWVudCAqY291bnQqIGlzIGdpdmVuLCBvbmx5XG4gICB0aGUgZmlyc3QgKmNvdW50KiBvY2N1cnJlbmNlcyBhcmUgcmVwbGFjZWQuXG5cbnN0ci5yZmluZChzdWJbLCBzdGFydFssIGVuZF1dKVxuXG4gICBSZXR1cm4gdGhlIGhpZ2hlc3QgaW5kZXggaW4gdGhlIHN0cmluZyB3aGVyZSBzdWJzdHJpbmcgKnN1YiogaXNcbiAgIGZvdW5kLCBzdWNoIHRoYXQgKnN1YiogaXMgY29udGFpbmVkIHdpdGhpbiBgYHNbc3RhcnQ6ZW5kXWBgLlxuICAgT3B0aW9uYWwgYXJndW1lbnRzICpzdGFydCogYW5kICplbmQqIGFyZSBpbnRlcnByZXRlZCBhcyBpbiBzbGljZVxuICAgbm90YXRpb24uICBSZXR1cm4gYGAtMWBgIG9uIGZhaWx1cmUuXG5cbnN0ci5yaW5kZXgoc3ViWywgc3RhcnRbLCBlbmRdXSlcblxuICAgTGlrZSBgYHJmaW5kKClgYCBidXQgcmFpc2VzIGBgVmFsdWVFcnJvcmBgIHdoZW4gdGhlIHN1YnN0cmluZyAqc3ViKlxuICAgaXMgbm90IGZvdW5kLlxuXG5zdHIucmp1c3Qod2lkdGhbLCBmaWxsY2hhcl0pXG5cbiAgIFJldHVybiB0aGUgc3RyaW5nIHJpZ2h0IGp1c3RpZmllZCBpbiBhIHN0cmluZyBvZiBsZW5ndGggKndpZHRoKi5cbiAgIFBhZGRpbmcgaXMgZG9uZSB1c2luZyB0aGUgc3BlY2lmaWVkICpmaWxsY2hhciogKGRlZmF1bHQgaXMgYVxuICAgc3BhY2UpLiBUaGUgb3JpZ2luYWwgc3RyaW5nIGlzIHJldHVybmVkIGlmICp3aWR0aCogaXMgbGVzcyB0aGFuIG9yXG4gICBlcXVhbCB0byBgYGxlbihzKWBgLlxuXG5zdHIucnBhcnRpdGlvbihzZXApXG5cbiAgIFNwbGl0IHRoZSBzdHJpbmcgYXQgdGhlIGxhc3Qgb2NjdXJyZW5jZSBvZiAqc2VwKiwgYW5kIHJldHVybiBhXG4gICAzLXR1cGxlIGNvbnRhaW5pbmcgdGhlIHBhcnQgYmVmb3JlIHRoZSBzZXBhcmF0b3IsIHRoZSBzZXBhcmF0b3JcbiAgIGl0c2VsZiwgYW5kIHRoZSBwYXJ0IGFmdGVyIHRoZSBzZXBhcmF0b3IuICBJZiB0aGUgc2VwYXJhdG9yIGlzIG5vdFxuICAgZm91bmQsIHJldHVybiBhIDMtdHVwbGUgY29udGFpbmluZyB0d28gZW1wdHkgc3RyaW5ncywgZm9sbG93ZWQgYnlcbiAgIHRoZSBzdHJpbmcgaXRzZWxmLlxuXG5zdHIucnNwbGl0KHNlcD1Ob25lLCBtYXhzcGxpdD0tMSlcblxuICAgUmV0dXJuIGEgbGlzdCBvZiB0aGUgd29yZHMgaW4gdGhlIHN0cmluZywgdXNpbmcgKnNlcCogYXMgdGhlXG4gICBkZWxpbWl0ZXIgc3RyaW5nLiBJZiAqbWF4c3BsaXQqIGlzIGdpdmVuLCBhdCBtb3N0ICptYXhzcGxpdCogc3BsaXRzXG4gICBhcmUgZG9uZSwgdGhlICpyaWdodG1vc3QqIG9uZXMuICBJZiAqc2VwKiBpcyBub3Qgc3BlY2lmaWVkIG9yXG4gICBgYE5vbmVgYCwgYW55IHdoaXRlc3BhY2Ugc3RyaW5nIGlzIGEgc2VwYXJhdG9yLiAgRXhjZXB0IGZvclxuICAgc3BsaXR0aW5nIGZyb20gdGhlIHJpZ2h0LCBgYHJzcGxpdCgpYGAgYmVoYXZlcyBsaWtlIGBgc3BsaXQoKWBgXG4gICB3aGljaCBpcyBkZXNjcmliZWQgaW4gZGV0YWlsIGJlbG93LlxuXG5zdHIucnN0cmlwKFtjaGFyc10pXG5cbiAgIFJldHVybiBhIGNvcHkgb2YgdGhlIHN0cmluZyB3aXRoIHRyYWlsaW5nIGNoYXJhY3RlcnMgcmVtb3ZlZC4gIFRoZVxuICAgKmNoYXJzKiBhcmd1bWVudCBpcyBhIHN0cmluZyBzcGVjaWZ5aW5nIHRoZSBzZXQgb2YgY2hhcmFjdGVycyB0byBiZVxuICAgcmVtb3ZlZC4gIElmIG9taXR0ZWQgb3IgYGBOb25lYGAsIHRoZSAqY2hhcnMqIGFyZ3VtZW50IGRlZmF1bHRzIHRvXG4gICByZW1vdmluZyB3aGl0ZXNwYWNlLiAgVGhlICpjaGFycyogYXJndW1lbnQgaXMgbm90IGEgc3VmZml4OyByYXRoZXIsXG4gICBhbGwgY29tYmluYXRpb25zIG9mIGl0cyB2YWx1ZXMgYXJlIHN0cmlwcGVkOlxuXG4gICA+Pj4gXCcgICBzcGFjaW91cyAgIFwnLnJzdHJpcCgpXG4gICBcJyAgIHNwYWNpb3VzXCdcbiAgID4+PiBcJ21pc3Npc3NpcHBpXCcucnN0cmlwKFwnaXB6XCcpXG4gICBcJ21pc3Npc3NcJ1xuXG5zdHIuc3BsaXQoc2VwPU5vbmUsIG1heHNwbGl0PS0xKVxuXG4gICBSZXR1cm4gYSBsaXN0IG9mIHRoZSB3b3JkcyBpbiB0aGUgc3RyaW5nLCB1c2luZyAqc2VwKiBhcyB0aGVcbiAgIGRlbGltaXRlciBzdHJpbmcuICBJZiAqbWF4c3BsaXQqIGlzIGdpdmVuLCBhdCBtb3N0ICptYXhzcGxpdCpcbiAgIHNwbGl0cyBhcmUgZG9uZSAodGh1cywgdGhlIGxpc3Qgd2lsbCBoYXZlIGF0IG1vc3QgYGBtYXhzcGxpdCsxYGBcbiAgIGVsZW1lbnRzKS4gIElmICptYXhzcGxpdCogaXMgbm90IHNwZWNpZmllZCwgdGhlbiB0aGVyZSBpcyBubyBsaW1pdFxuICAgb24gdGhlIG51bWJlciBvZiBzcGxpdHMgKGFsbCBwb3NzaWJsZSBzcGxpdHMgYXJlIG1hZGUpLlxuXG4gICBJZiAqc2VwKiBpcyBnaXZlbiwgY29uc2VjdXRpdmUgZGVsaW1pdGVycyBhcmUgbm90IGdyb3VwZWQgdG9nZXRoZXJcbiAgIGFuZCBhcmUgZGVlbWVkIHRvIGRlbGltaXQgZW1wdHkgc3RyaW5ncyAoZm9yIGV4YW1wbGUsXG4gICBgYFwnMSwsMlwnLnNwbGl0KFwnLFwnKWBgIHJldHVybnMgYGBbXCcxXCcsIFwnXCcsIFwnMlwnXWBgKS4gIFRoZSAqc2VwKlxuICAgYXJndW1lbnQgbWF5IGNvbnNpc3Qgb2YgbXVsdGlwbGUgY2hhcmFjdGVycyAoZm9yIGV4YW1wbGUsXG4gICBgYFwnMTw+Mjw+M1wnLnNwbGl0KFwnPD5cJylgYCByZXR1cm5zIGBgW1wnMVwnLCBcJzJcJywgXCczXCddYGApLiBTcGxpdHRpbmdcbiAgIGFuIGVtcHR5IHN0cmluZyB3aXRoIGEgc3BlY2lmaWVkIHNlcGFyYXRvciByZXR1cm5zIGBgW1wnXCddYGAuXG5cbiAgIElmICpzZXAqIGlzIG5vdCBzcGVjaWZpZWQgb3IgaXMgYGBOb25lYGAsIGEgZGlmZmVyZW50IHNwbGl0dGluZ1xuICAgYWxnb3JpdGhtIGlzIGFwcGxpZWQ6IHJ1bnMgb2YgY29uc2VjdXRpdmUgd2hpdGVzcGFjZSBhcmUgcmVnYXJkZWRcbiAgIGFzIGEgc2luZ2xlIHNlcGFyYXRvciwgYW5kIHRoZSByZXN1bHQgd2lsbCBjb250YWluIG5vIGVtcHR5IHN0cmluZ3NcbiAgIGF0IHRoZSBzdGFydCBvciBlbmQgaWYgdGhlIHN0cmluZyBoYXMgbGVhZGluZyBvciB0cmFpbGluZ1xuICAgd2hpdGVzcGFjZS4gIENvbnNlcXVlbnRseSwgc3BsaXR0aW5nIGFuIGVtcHR5IHN0cmluZyBvciBhIHN0cmluZ1xuICAgY29uc2lzdGluZyBvZiBqdXN0IHdoaXRlc3BhY2Ugd2l0aCBhIGBgTm9uZWBgIHNlcGFyYXRvciByZXR1cm5zXG4gICBgYFtdYGAuXG5cbiAgIEZvciBleGFtcGxlLCBgYFwnIDEgIDIgICAzICBcJy5zcGxpdCgpYGAgcmV0dXJucyBgYFtcJzFcJywgXCcyXCcsIFwnM1wnXWBgLFxuICAgYW5kIGBgXCcgIDEgIDIgICAzICBcJy5zcGxpdChOb25lLCAxKWBgIHJldHVybnMgYGBbXCcxXCcsIFwnMiAgIDMgIFwnXWBgLlxuXG5zdHIuc3BsaXRsaW5lcyhba2VlcGVuZHNdKVxuXG4gICBSZXR1cm4gYSBsaXN0IG9mIHRoZSBsaW5lcyBpbiB0aGUgc3RyaW5nLCBicmVha2luZyBhdCBsaW5lXG4gICBib3VuZGFyaWVzLiAgTGluZSBicmVha3MgYXJlIG5vdCBpbmNsdWRlZCBpbiB0aGUgcmVzdWx0aW5nIGxpc3RcbiAgIHVubGVzcyAqa2VlcGVuZHMqIGlzIGdpdmVuIGFuZCB0cnVlLlxuXG5zdHIuc3RhcnRzd2l0aChwcmVmaXhbLCBzdGFydFssIGVuZF1dKVxuXG4gICBSZXR1cm4gYGBUcnVlYGAgaWYgc3RyaW5nIHN0YXJ0cyB3aXRoIHRoZSAqcHJlZml4Kiwgb3RoZXJ3aXNlXG4gICByZXR1cm4gYGBGYWxzZWBgLiAqcHJlZml4KiBjYW4gYWxzbyBiZSBhIHR1cGxlIG9mIHByZWZpeGVzIHRvIGxvb2tcbiAgIGZvci4gIFdpdGggb3B0aW9uYWwgKnN0YXJ0KiwgdGVzdCBzdHJpbmcgYmVnaW5uaW5nIGF0IHRoYXRcbiAgIHBvc2l0aW9uLiAgV2l0aCBvcHRpb25hbCAqZW5kKiwgc3RvcCBjb21wYXJpbmcgc3RyaW5nIGF0IHRoYXRcbiAgIHBvc2l0aW9uLlxuXG5zdHIuc3RyaXAoW2NoYXJzXSlcblxuICAgUmV0dXJuIGEgY29weSBvZiB0aGUgc3RyaW5nIHdpdGggdGhlIGxlYWRpbmcgYW5kIHRyYWlsaW5nXG4gICBjaGFyYWN0ZXJzIHJlbW92ZWQuIFRoZSAqY2hhcnMqIGFyZ3VtZW50IGlzIGEgc3RyaW5nIHNwZWNpZnlpbmcgdGhlXG4gICBzZXQgb2YgY2hhcmFjdGVycyB0byBiZSByZW1vdmVkLiBJZiBvbWl0dGVkIG9yIGBgTm9uZWBgLCB0aGVcbiAgICpjaGFycyogYXJndW1lbnQgZGVmYXVsdHMgdG8gcmVtb3Zpbmcgd2hpdGVzcGFjZS4gVGhlICpjaGFycypcbiAgIGFyZ3VtZW50IGlzIG5vdCBhIHByZWZpeCBvciBzdWZmaXg7IHJhdGhlciwgYWxsIGNvbWJpbmF0aW9ucyBvZiBpdHNcbiAgIHZhbHVlcyBhcmUgc3RyaXBwZWQ6XG5cbiAgID4+PiBcJyAgIHNwYWNpb3VzICAgXCcuc3RyaXAoKVxuICAgXCdzcGFjaW91c1wnXG4gICA+Pj4gXCd3d3cuZXhhbXBsZS5jb21cJy5zdHJpcChcJ2Ntb3d6LlwnKVxuICAgXCdleGFtcGxlXCdcblxuc3RyLnN3YXBjYXNlKClcblxuICAgUmV0dXJuIGEgY29weSBvZiB0aGUgc3RyaW5nIHdpdGggdXBwZXJjYXNlIGNoYXJhY3RlcnMgY29udmVydGVkIHRvXG4gICBsb3dlcmNhc2UgYW5kIHZpY2UgdmVyc2EuIE5vdGUgdGhhdCBpdCBpcyBub3QgbmVjZXNzYXJpbHkgdHJ1ZSB0aGF0XG4gICBgYHMuc3dhcGNhc2UoKS5zd2FwY2FzZSgpID09IHNgYC5cblxuc3RyLnRpdGxlKClcblxuICAgUmV0dXJuIGEgdGl0bGVjYXNlZCB2ZXJzaW9uIG9mIHRoZSBzdHJpbmcgd2hlcmUgd29yZHMgc3RhcnQgd2l0aCBhblxuICAgdXBwZXJjYXNlIGNoYXJhY3RlciBhbmQgdGhlIHJlbWFpbmluZyBjaGFyYWN0ZXJzIGFyZSBsb3dlcmNhc2UuXG5cbiAgIFRoZSBhbGdvcml0aG0gdXNlcyBhIHNpbXBsZSBsYW5ndWFnZS1pbmRlcGVuZGVudCBkZWZpbml0aW9uIG9mIGFcbiAgIHdvcmQgYXMgZ3JvdXBzIG9mIGNvbnNlY3V0aXZlIGxldHRlcnMuICBUaGUgZGVmaW5pdGlvbiB3b3JrcyBpblxuICAgbWFueSBjb250ZXh0cyBidXQgaXQgbWVhbnMgdGhhdCBhcG9zdHJvcGhlcyBpbiBjb250cmFjdGlvbnMgYW5kXG4gICBwb3NzZXNzaXZlcyBmb3JtIHdvcmQgYm91bmRhcmllcywgd2hpY2ggbWF5IG5vdCBiZSB0aGUgZGVzaXJlZFxuICAgcmVzdWx0OlxuXG4gICAgICA+Pj4gInRoZXlcJ3JlIGJpbGxcJ3MgZnJpZW5kcyBmcm9tIHRoZSBVSyIudGl0bGUoKVxuICAgICAgIlRoZXlcJ1JlIEJpbGxcJ1MgRnJpZW5kcyBGcm9tIFRoZSBVayJcblxuICAgQSB3b3JrYXJvdW5kIGZvciBhcG9zdHJvcGhlcyBjYW4gYmUgY29uc3RydWN0ZWQgdXNpbmcgcmVndWxhclxuICAgZXhwcmVzc2lvbnM6XG5cbiAgICAgID4+PiBpbXBvcnQgcmVcbiAgICAgID4+PiBkZWYgdGl0bGVjYXNlKHMpOlxuICAgICAgICAgICAgICByZXR1cm4gcmUuc3ViKHIiW0EtWmEtel0rKFwnW0EtWmEtel0rKT8iLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhbWJkYSBtbzogbW8uZ3JvdXAoMClbMF0udXBwZXIoKSArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtby5ncm91cCgwKVsxOl0ubG93ZXIoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzKVxuXG4gICAgICA+Pj4gdGl0bGVjYXNlKCJ0aGV5XCdyZSBiaWxsXCdzIGZyaWVuZHMuIilcbiAgICAgICJUaGV5XCdyZSBCaWxsXCdzIEZyaWVuZHMuIlxuXG5zdHIudHJhbnNsYXRlKG1hcClcblxuICAgUmV0dXJuIGEgY29weSBvZiB0aGUgKnMqIHdoZXJlIGFsbCBjaGFyYWN0ZXJzIGhhdmUgYmVlbiBtYXBwZWRcbiAgIHRocm91Z2ggdGhlICptYXAqIHdoaWNoIG11c3QgYmUgYSBkaWN0aW9uYXJ5IG9mIFVuaWNvZGUgb3JkaW5hbHNcbiAgIChpbnRlZ2VycykgdG8gVW5pY29kZSBvcmRpbmFscywgc3RyaW5ncyBvciBgYE5vbmVgYC4gIFVubWFwcGVkXG4gICBjaGFyYWN0ZXJzIGFyZSBsZWZ0IHVudG91Y2hlZC4gQ2hhcmFjdGVycyBtYXBwZWQgdG8gYGBOb25lYGAgYXJlXG4gICBkZWxldGVkLlxuXG4gICBZb3UgY2FuIHVzZSBgYHN0ci5tYWtldHJhbnMoKWBgIHRvIGNyZWF0ZSBhIHRyYW5zbGF0aW9uIG1hcCBmcm9tXG4gICBjaGFyYWN0ZXItdG8tY2hhcmFjdGVyIG1hcHBpbmdzIGluIGRpZmZlcmVudCBmb3JtYXRzLlxuXG4gICBOb3RlOiBBbiBldmVuIG1vcmUgZmxleGlibGUgYXBwcm9hY2ggaXMgdG8gY3JlYXRlIGEgY3VzdG9tIGNoYXJhY3RlclxuICAgICBtYXBwaW5nIGNvZGVjIHVzaW5nIHRoZSBgYGNvZGVjc2BgIG1vZHVsZSAoc2VlXG4gICAgIGBgZW5jb2RpbmdzLmNwMTI1MWBgIGZvciBhbiBleGFtcGxlKS5cblxuc3RyLnVwcGVyKClcblxuICAgUmV0dXJuIGEgY29weSBvZiB0aGUgc3RyaW5nIHdpdGggYWxsIHRoZSBjYXNlZCBjaGFyYWN0ZXJzIFs0XVxuICAgY29udmVydGVkIHRvIHVwcGVyY2FzZS4gIE5vdGUgdGhhdCBgYHN0ci51cHBlcigpLmlzdXBwZXIoKWBgIG1pZ2h0XG4gICBiZSBgYEZhbHNlYGAgaWYgYGBzYGAgY29udGFpbnMgdW5jYXNlZCBjaGFyYWN0ZXJzIG9yIGlmIHRoZSBVbmljb2RlXG4gICBjYXRlZ29yeSBvZiB0aGUgcmVzdWx0aW5nIGNoYXJhY3RlcihzKSBpcyBub3QgIkx1IiAoTGV0dGVyLFxuICAgdXBwZXJjYXNlKSwgYnV0IGUuZy4gIkx0IiAoTGV0dGVyLCB0aXRsZWNhc2UpLlxuXG4gICBUaGUgdXBwZXJjYXNpbmcgYWxnb3JpdGhtIHVzZWQgaXMgZGVzY3JpYmVkIGluIHNlY3Rpb24gMy4xMyBvZiB0aGVcbiAgIFVuaWNvZGUgU3RhbmRhcmQuXG5cbnN0ci56ZmlsbCh3aWR0aClcblxuICAgUmV0dXJuIHRoZSBudW1lcmljIHN0cmluZyBsZWZ0IGZpbGxlZCB3aXRoIHplcm9zIGluIGEgc3RyaW5nIG9mXG4gICBsZW5ndGggKndpZHRoKi4gIEEgc2lnbiBwcmVmaXggaXMgaGFuZGxlZCBjb3JyZWN0bHkuICBUaGUgb3JpZ2luYWxcbiAgIHN0cmluZyBpcyByZXR1cm5lZCBpZiAqd2lkdGgqIGlzIGxlc3MgdGhhbiBvciBlcXVhbCB0byBgYGxlbihzKWBgLlxuJywKKyAnc3RyaW5ncyc6ICdcblN0cmluZyBhbmQgQnl0ZXMgbGl0ZXJhbHNcbioqKioqKioqKioqKioqKioqKioqKioqKipcblxuU3RyaW5nIGxpdGVyYWxzIGFyZSBkZXNjcmliZWQgYnkgdGhlIGZvbGxvd2luZyBsZXhpY2FsIGRlZmluaXRpb25zOlxuXG4gICBzdHJpbmdsaXRlcmFsICAgOjo9IFtzdHJpbmdwcmVmaXhdKHNob3J0c3RyaW5nIHwgbG9uZ3N0cmluZylcbiAgIHN0cmluZ3ByZWZpeCAgICA6Oj0gInIiIHwgInUiIHwgInVyIiB8ICJSIiB8ICJVIiB8ICJVUiIgfCAiVXIiIHwgInVSIlxuICAgc2hvcnRzdHJpbmcgICAgIDo6PSAiXCciIHNob3J0c3RyaW5naXRlbSogIlwnIiB8IFwnIlwnIHNob3J0c3RyaW5naXRlbSogXCciXCdcbiAgIGxvbmdzdHJpbmcgICAgICA6Oj0gIlwnXCdcJyIgbG9uZ3N0cmluZ2l0ZW0qICJcJ1wnXCciIHwgXCciIiJcJyBsb25nc3RyaW5naXRlbSogXCciIiJcJ1xuICAgc2hvcnRzdHJpbmdpdGVtIDo6PSBzaG9ydHN0cmluZ2NoYXIgfCBzdHJpbmdlc2NhcGVzZXFcbiAgIGxvbmdzdHJpbmdpdGVtICA6Oj0gbG9uZ3N0cmluZ2NoYXIgfCBzdHJpbmdlc2NhcGVzZXFcbiAgIHNob3J0c3RyaW5nY2hhciA6Oj0gPGFueSBzb3VyY2UgY2hhcmFjdGVyIGV4Y2VwdCAiXFwiIG9yIG5ld2xpbmUgb3IgdGhlIHF1b3RlPlxuICAgbG9uZ3N0cmluZ2NoYXIgIDo6PSA8YW55IHNvdXJjZSBjaGFyYWN0ZXIgZXhjZXB0ICJcXCI+XG4gICBzdHJpbmdlc2NhcGVzZXEgOjo9ICJcXCIgPGFueSBzb3VyY2UgY2hhcmFjdGVyPlxuXG4gICBieXRlc2xpdGVyYWwgICA6Oj0gYnl0ZXNwcmVmaXgoc2hvcnRieXRlcyB8IGxvbmdieXRlcylcbiAgIGJ5dGVzcHJlZml4ICAgIDo6PSAiYiIgfCAiQiIgfCAiYnIiIHwgIkJyIiB8ICJiUiIgfCAiQlIiIHwgInJiIiB8ICJyQiIgfCAiUmIiIHwgIlJCIlxuICAgc2hvcnRieXRlcyAgICAgOjo9ICJcJyIgc2hvcnRieXRlc2l0ZW0qICJcJyIgfCBcJyJcJyBzaG9ydGJ5dGVzaXRlbSogXCciXCdcbiAgIGxvbmdieXRlcyAgICAgIDo6PSAiXCdcJ1wnIiBsb25nYnl0ZXNpdGVtKiAiXCdcJ1wnIiB8IFwnIiIiXCcgbG9uZ2J5dGVzaXRlbSogXCciIiJcJ1xuICAgc2hvcnRieXRlc2l0ZW0gOjo9IHNob3J0Ynl0ZXNjaGFyIHwgYnl0ZXNlc2NhcGVzZXFcbiAgIGxvbmdieXRlc2l0ZW0gIDo6PSBsb25nYnl0ZXNjaGFyIHwgYnl0ZXNlc2NhcGVzZXFcbiAgIHNob3J0Ynl0ZXNjaGFyIDo6PSA8YW55IEFTQ0lJIGNoYXJhY3RlciBleGNlcHQgIlxcIiBvciBuZXdsaW5lIG9yIHRoZSBxdW90ZT5cbiAgIGxvbmdieXRlc2NoYXIgIDo6PSA8YW55IEFTQ0lJIGNoYXJhY3RlciBleGNlcHQgIlxcIj5cbiAgIGJ5dGVzZXNjYXBlc2VxIDo6PSAiXFwiIDxhbnkgQVNDSUkgY2hhcmFjdGVyPlxuXG5PbmUgc3ludGFjdGljIHJlc3RyaWN0aW9uIG5vdCBpbmRpY2F0ZWQgYnkgdGhlc2UgcHJvZHVjdGlvbnMgaXMgdGhhdFxud2hpdGVzcGFjZSBpcyBub3QgYWxsb3dlZCBiZXR3ZWVuIHRoZSBgYHN0cmluZ3ByZWZpeGBgIG9yXG5gYGJ5dGVzcHJlZml4YGAgYW5kIHRoZSByZXN0IG9mIHRoZSBsaXRlcmFsLiBUaGUgc291cmNlIGNoYXJhY3RlciBzZXRcbmlzIGRlZmluZWQgYnkgdGhlIGVuY29kaW5nIGRlY2xhcmF0aW9uOyBpdCBpcyBVVEYtOCBpZiBubyBlbmNvZGluZ1xuZGVjbGFyYXRpb24gaXMgZ2l2ZW4gaW4gdGhlIHNvdXJjZSBmaWxlOyBzZWUgc2VjdGlvbiAqRW5jb2RpbmdcbmRlY2xhcmF0aW9ucyouXG5cbkluIHBsYWluIEVuZ2xpc2g6IEJvdGggdHlwZXMgb2YgbGl0ZXJhbHMgY2FuIGJlIGVuY2xvc2VkIGluIG1hdGNoaW5nXG5zaW5nbGUgcXVvdGVzIChgYFwnYGApIG9yIGRvdWJsZSBxdW90ZXMgKGBgImBgKS4gIFRoZXkgY2FuIGFsc28gYmVcbmVuY2xvc2VkIGluIG1hdGNoaW5nIGdyb3VwcyBvZiB0aHJlZSBzaW5nbGUgb3IgZG91YmxlIHF1b3RlcyAodGhlc2VcbmFyZSBnZW5lcmFsbHkgcmVmZXJyZWQgdG8gYXMgKnRyaXBsZS1xdW90ZWQgc3RyaW5ncyopLiAgVGhlIGJhY2tzbGFzaFxuKGBgXFxgYCkgY2hhcmFjdGVyIGlzIHVzZWQgdG8gZXNjYXBlIGNoYXJhY3RlcnMgdGhhdCBvdGhlcndpc2UgaGF2ZSBhXG5zcGVjaWFsIG1lYW5pbmcsIHN1Y2ggYXMgbmV3bGluZSwgYmFja3NsYXNoIGl0c2VsZiwgb3IgdGhlIHF1b3RlXG5jaGFyYWN0ZXIuXG5cbkJ5dGVzIGxpdGVyYWxzIGFyZSBhbHdheXMgcHJlZml4ZWQgd2l0aCBgYFwnYlwnYGAgb3IgYGBcJ0JcJ2BgOyB0aGV5XG5wcm9kdWNlIGFuIGluc3RhbmNlIG9mIHRoZSBgYGJ5dGVzYGAgdHlwZSBpbnN0ZWFkIG9mIHRoZSBgYHN0cmBgIHR5cGUuXG5UaGV5IG1heSBvbmx5IGNvbnRhaW4gQVNDSUkgY2hhcmFjdGVyczsgYnl0ZXMgd2l0aCBhIG51bWVyaWMgdmFsdWUgb2ZcbjEyOCBvciBncmVhdGVyIG11c3QgYmUgZXhwcmVzc2VkIHdpdGggZXNjYXBlcy5cblxuQXMgb2YgUHl0aG9uIDMuMyBpdCBpcyBwb3NzaWJsZSBhZ2FpbiB0byBwcmVmaXggdW5pY29kZSBzdHJpbmdzIHdpdGggYVxuYGB1YGAgcHJlZml4IHRvIHNpbXBsaWZ5IG1haW50ZW5hbmNlIG9mIGR1YWwgMi54IGFuZCAzLnggY29kZWJhc2VzLlxuXG5Cb3RoIHN0cmluZyBhbmQgYnl0ZXMgbGl0ZXJhbHMgbWF5IG9wdGlvbmFsbHkgYmUgcHJlZml4ZWQgd2l0aCBhXG5sZXR0ZXIgYGBcJ3JcJ2BgIG9yIGBgXCdSXCdgYDsgc3VjaCBzdHJpbmdzIGFyZSBjYWxsZWQgKnJhdyBzdHJpbmdzKiBhbmRcbnRyZWF0IGJhY2tzbGFzaGVzIGFzIGxpdGVyYWwgY2hhcmFjdGVycy4gIEFzIGEgcmVzdWx0LCBpbiBzdHJpbmdcbmxpdGVyYWxzLCBgYFwnXFxVXCdgYCBhbmQgYGBcJ1xcdVwnYGAgZXNjYXBlcyBpbiByYXcgc3RyaW5ncyBhcmUgbm90IHRyZWF0ZWRcbnNwZWNpYWxseS5cblxuICAgTmV3IGluIHZlcnNpb24gMy4zOiBUaGUgYGBcJ3JiXCdgYCBwcmVmaXggb2YgcmF3IGJ5dGVzIGxpdGVyYWxzIGhhc1xuICAgYmVlbiBhZGRlZCBhcyBhIHN5bm9ueW0gb2YgYGBcJ2JyXCdgYC5cblxuICAgTmV3IGluIHZlcnNpb24gMy4zOiBTdXBwb3J0IGZvciB0aGUgdW5pY29kZSBsZWdhY3kgbGl0ZXJhbFxuICAgKGBgdVwndmFsdWVcJ2BgKSBhbmQgb3RoZXIgdmVyc2lvbnMgd2VyZSByZWludHJvZHVjZWQgdG8gc2ltcGxpZnkgdGhlXG4gICBtYWludGVuYW5jZSBvZiBkdWFsIFB5dGhvbiAyLnggYW5kIDMueCBjb2RlYmFzZXMuICBTZWUgKipQRVAgNDE0KipcbiAgIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuXG5JbiB0cmlwbGUtcXVvdGVkIHN0cmluZ3MsIHVuZXNjYXBlZCBuZXdsaW5lcyBhbmQgcXVvdGVzIGFyZSBhbGxvd2VkXG4oYW5kIGFyZSByZXRhaW5lZCksIGV4Y2VwdCB0aGF0IHRocmVlIHVuZXNjYXBlZCBxdW90ZXMgaW4gYSByb3dcbnRlcm1pbmF0ZSB0aGUgc3RyaW5nLiAgKEEgInF1b3RlIiBpcyB0aGUgY2hhcmFjdGVyIHVzZWQgdG8gb3BlbiB0aGVcbnN0cmluZywgaS5lLiBlaXRoZXIgYGBcJ2BgIG9yIGBgImBgLilcblxuVW5sZXNzIGFuIGBgXCdyXCdgYCBvciBgYFwnUlwnYGAgcHJlZml4IGlzIHByZXNlbnQsIGVzY2FwZSBzZXF1ZW5jZXMgaW5cbnN0cmluZ3MgYXJlIGludGVycHJldGVkIGFjY29yZGluZyB0byBydWxlcyBzaW1pbGFyIHRvIHRob3NlIHVzZWQgYnlcblN0YW5kYXJkIEMuICBUaGUgcmVjb2duaXplZCBlc2NhcGUgc2VxdWVuY2VzIGFyZTpcblxuKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tK1xufCBFc2NhcGUgU2VxdWVuY2UgICB8IE1lYW5pbmcgICAgICAgICAgICAgICAgICAgICAgICAgICB8IE5vdGVzICAgfFxuKz09PT09PT09PT09PT09PT09PT0rPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0rPT09PT09PT09K1xufCBgYFxcbmV3bGluZWBgICAgICAgfCBCYWNrc2xhc2ggYW5kIG5ld2xpbmUgaWdub3JlZCAgICAgfCAgICAgICAgIHxcbistLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLStcbnwgYGBcXFxcYGAgICAgICAgICAgICB8IEJhY2tzbGFzaCAoYGBcXGBgKSAgICAgICAgICAgICAgICAgfCAgICAgICAgIHxcbistLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLStcbnwgYGBcXFwnYGAgICAgICAgICAgICB8IFNpbmdsZSBxdW90ZSAoYGBcJ2BgKSAgICAgICAgICAgICAgfCAgICAgICAgIHxcbistLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLStcbnwgYGBcXCJgYCAgICAgICAgICAgIHwgRG91YmxlIHF1b3RlIChgYCJgYCkgICAgICAgICAgICAgIHwgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rXG58IGBgXFxhYGAgICAgICAgICAgICB8IEFTQ0lJIEJlbGwgKEJFTCkgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfFxuKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tK1xufCBgYFxcYmBgICAgICAgICAgICAgfCBBU0NJSSBCYWNrc3BhY2UgKEJTKSAgICAgICAgICAgICAgfCAgICAgICAgIHxcbistLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLStcbnwgYGBcXGZgYCAgICAgICAgICAgIHwgQVNDSUkgRm9ybWZlZWQgKEZGKSAgICAgICAgICAgICAgIHwgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rXG58IGBgXFxuYGAgICAgICAgICAgICB8IEFTQ0lJIExpbmVmZWVkIChMRikgICAgICAgICAgICAgICB8ICAgICAgICAgfFxuKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tK1xufCBgYFxccmBgICAgICAgICAgICAgfCBBU0NJSSBDYXJyaWFnZSBSZXR1cm4gKENSKSAgICAgICAgfCAgICAgICAgIHxcbistLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLStcbnwgYGBcXHRgYCAgICAgICAgICAgIHwgQVNDSUkgSG9yaXpvbnRhbCBUYWIgKFRBQikgICAgICAgIHwgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rXG58IGBgXFx2YGAgICAgICAgICAgICB8IEFTQ0lJIFZlcnRpY2FsIFRhYiAoVlQpICAgICAgICAgICB8ICAgICAgICAgfFxuKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tK1xufCBgYFxcb29vYGAgICAgICAgICAgfCBDaGFyYWN0ZXIgd2l0aCBvY3RhbCB2YWx1ZSAqb29vKiAgfCAoMSwzKSAgIHxcbistLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLStcbnwgYGBcXHhoaGBgICAgICAgICAgIHwgQ2hhcmFjdGVyIHdpdGggaGV4IHZhbHVlICpoaCogICAgIHwgKDIsMykgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rXG5cbkVzY2FwZSBzZXF1ZW5jZXMgb25seSByZWNvZ25pemVkIGluIHN0cmluZyBsaXRlcmFscyBhcmU6XG5cbistLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLStcbnwgRXNjYXBlIFNlcXVlbmNlICAgfCBNZWFuaW5nICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBOb3RlcyAgIHxcbis9PT09PT09PT09PT09PT09PT09Kz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Kz09PT09PT09PStcbnwgYGBcXE57bmFtZX1gYCAgICAgIHwgQ2hhcmFjdGVyIG5hbWVkICpuYW1lKiBpbiB0aGUgICAgIHwgKDQpICAgICB8XG58ICAgICAgICAgICAgICAgICAgIHwgVW5pY29kZSBkYXRhYmFzZSAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rXG58IGBgXFx1eHh4eGBgICAgICAgICB8IENoYXJhY3RlciB3aXRoIDE2LWJpdCBoZXggdmFsdWUgICB8ICg1KSAgICAgfFxufCAgICAgICAgICAgICAgICAgICB8ICp4eHh4KiAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfFxuKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tK1xufCBgYFxcVXh4eHh4eHh4YGAgICAgfCBDaGFyYWN0ZXIgd2l0aCAzMi1iaXQgaGV4IHZhbHVlICAgfCAoNikgICAgIHxcbnwgICAgICAgICAgICAgICAgICAgfCAqeHh4eHh4eHgqICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHxcbistLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLStcblxuTm90ZXM6XG5cbjEuIEFzIGluIFN0YW5kYXJkIEMsIHVwIHRvIHRocmVlIG9jdGFsIGRpZ2l0cyBhcmUgYWNjZXB0ZWQuXG5cbjIuIFVubGlrZSBpbiBTdGFuZGFyZCBDLCBleGFjdGx5IHR3byBoZXggZGlnaXRzIGFyZSByZXF1aXJlZC5cblxuMy4gSW4gYSBieXRlcyBsaXRlcmFsLCBoZXhhZGVjaW1hbCBhbmQgb2N0YWwgZXNjYXBlcyBkZW5vdGUgdGhlIGJ5dGVcbiAgIHdpdGggdGhlIGdpdmVuIHZhbHVlLiBJbiBhIHN0cmluZyBsaXRlcmFsLCB0aGVzZSBlc2NhcGVzIGRlbm90ZSBhXG4gICBVbmljb2RlIGNoYXJhY3RlciB3aXRoIHRoZSBnaXZlbiB2YWx1ZS5cblxuNC4gQ2hhbmdlZCBpbiB2ZXJzaW9uIDMuMzogU3VwcG9ydCBmb3IgbmFtZSBhbGlhc2VzIFsxXSBoYXMgYmVlblxuICAgYWRkZWQuXG5cbjUuIEluZGl2aWR1YWwgY29kZSB1bml0cyB3aGljaCBmb3JtIHBhcnRzIG9mIGEgc3Vycm9nYXRlIHBhaXIgY2FuIGJlXG4gICBlbmNvZGVkIHVzaW5nIHRoaXMgZXNjYXBlIHNlcXVlbmNlLiAgRXhhY3RseSBmb3VyIGhleCBkaWdpdHMgYXJlXG4gICByZXF1aXJlZC5cblxuNi4gQW55IFVuaWNvZGUgY2hhcmFjdGVyIGNhbiBiZSBlbmNvZGVkIHRoaXMgd2F5LCBidXQgY2hhcmFjdGVyc1xuICAgb3V0c2lkZSB0aGUgQmFzaWMgTXVsdGlsaW5ndWFsIFBsYW5lIChCTVApIHdpbGwgYmUgZW5jb2RlZCB1c2luZyBhXG4gICBzdXJyb2dhdGUgcGFpciBpZiBQeXRob24gaXMgY29tcGlsZWQgdG8gdXNlIDE2LWJpdCBjb2RlIHVuaXRzICh0aGVcbiAgIGRlZmF1bHQpLiAgRXhhY3RseSBlaWdodCBoZXggZGlnaXRzIGFyZSByZXF1aXJlZC5cblxuVW5saWtlIFN0YW5kYXJkIEMsIGFsbCB1bnJlY29nbml6ZWQgZXNjYXBlIHNlcXVlbmNlcyBhcmUgbGVmdCBpbiB0aGVcbnN0cmluZyB1bmNoYW5nZWQsIGkuZS4sICp0aGUgYmFja3NsYXNoIGlzIGxlZnQgaW4gdGhlIHN0cmluZyouICAoVGhpc1xuYmVoYXZpb3IgaXMgdXNlZnVsIHdoZW4gZGVidWdnaW5nOiBpZiBhbiBlc2NhcGUgc2VxdWVuY2UgaXMgbWlzdHlwZWQsXG50aGUgcmVzdWx0aW5nIG91dHB1dCBpcyBtb3JlIGVhc2lseSByZWNvZ25pemVkIGFzIGJyb2tlbi4pICBJdCBpcyBhbHNvXG5pbXBvcnRhbnQgdG8gbm90ZSB0aGF0IHRoZSBlc2NhcGUgc2VxdWVuY2VzIG9ubHkgcmVjb2duaXplZCBpbiBzdHJpbmdcbmxpdGVyYWxzIGZhbGwgaW50byB0aGUgY2F0ZWdvcnkgb2YgdW5yZWNvZ25pemVkIGVzY2FwZXMgZm9yIGJ5dGVzXG5saXRlcmFscy5cblxuRXZlbiBpbiBhIHJhdyBzdHJpbmcsIHN0cmluZyBxdW90ZXMgY2FuIGJlIGVzY2FwZWQgd2l0aCBhIGJhY2tzbGFzaCxcbmJ1dCB0aGUgYmFja3NsYXNoIHJlbWFpbnMgaW4gdGhlIHN0cmluZzsgZm9yIGV4YW1wbGUsIGBgciJcXCIiYGAgaXMgYVxudmFsaWQgc3RyaW5nIGxpdGVyYWwgY29uc2lzdGluZyBvZiB0d28gY2hhcmFjdGVyczogYSBiYWNrc2xhc2ggYW5kIGFcbmRvdWJsZSBxdW90ZTsgYGByIlxcImBgIGlzIG5vdCBhIHZhbGlkIHN0cmluZyBsaXRlcmFsIChldmVuIGEgcmF3XG5zdHJpbmcgY2Fubm90IGVuZCBpbiBhbiBvZGQgbnVtYmVyIG9mIGJhY2tzbGFzaGVzKS4gIFNwZWNpZmljYWxseSwgKmFcbnJhdyBzdHJpbmcgY2Fubm90IGVuZCBpbiBhIHNpbmdsZSBiYWNrc2xhc2gqIChzaW5jZSB0aGUgYmFja3NsYXNoXG53b3VsZCBlc2NhcGUgdGhlIGZvbGxvd2luZyBxdW90ZSBjaGFyYWN0ZXIpLiAgTm90ZSBhbHNvIHRoYXQgYSBzaW5nbGVcbmJhY2tzbGFzaCBmb2xsb3dlZCBieSBhIG5ld2xpbmUgaXMgaW50ZXJwcmV0ZWQgYXMgdGhvc2UgdHdvIGNoYXJhY3RlcnNcbmFzIHBhcnQgb2YgdGhlIHN0cmluZywgKm5vdCogYXMgYSBsaW5lIGNvbnRpbnVhdGlvbi5cbicsCiAgJ3N1YnNjcmlwdGlvbnMnOiAnXG5TdWJzY3JpcHRpb25zXG4qKioqKioqKioqKioqXG5cbkEgc3Vic2NyaXB0aW9uIHNlbGVjdHMgYW4gaXRlbSBvZiBhIHNlcXVlbmNlIChzdHJpbmcsIHR1cGxlIG9yIGxpc3QpXG5vciBtYXBwaW5nIChkaWN0aW9uYXJ5KSBvYmplY3Q6XG5cbiAgIHN1YnNjcmlwdGlvbiA6Oj0gcHJpbWFyeSAiWyIgZXhwcmVzc2lvbl9saXN0ICJdIlxuXG5UaGUgcHJpbWFyeSBtdXN0IGV2YWx1YXRlIHRvIGFuIG9iamVjdCB0aGF0IHN1cHBvcnRzIHN1YnNjcmlwdGlvbixcbmUuZy4gYSBsaXN0IG9yIGRpY3Rpb25hcnkuICBVc2VyLWRlZmluZWQgb2JqZWN0cyBjYW4gc3VwcG9ydFxuc3Vic2NyaXB0aW9uIGJ5IGRlZmluaW5nIGEgYGBfX2dldGl0ZW1fXygpYGAgbWV0aG9kLlxuXG5Gb3IgYnVpbHQtaW4gb2JqZWN0cywgdGhlcmUgYXJlIHR3byB0eXBlcyBvZiBvYmplY3RzIHRoYXQgc3VwcG9ydFxuc3Vic2NyaXB0aW9uOlxuXG5JZiB0aGUgcHJpbWFyeSBpcyBhIG1hcHBpbmcsIHRoZSBleHByZXNzaW9uIGxpc3QgbXVzdCBldmFsdWF0ZSB0byBhblxub2JqZWN0IHdob3NlIHZhbHVlIGlzIG9uZSBvZiB0aGUga2V5cyBvZiB0aGUgbWFwcGluZywgYW5kIHRoZVxuc3Vic2NyaXB0aW9uIHNlbGVjdHMgdGhlIHZhbHVlIGluIHRoZSBtYXBwaW5nIHRoYXQgY29ycmVzcG9uZHMgdG8gdGhhdFxua2V5LiAgKFRoZSBleHByZXNzaW9uIGxpc3QgaXMgYSB0dXBsZSBleGNlcHQgaWYgaXQgaGFzIGV4YWN0bHkgb25lXG5pdGVtLilcblxuSWYgdGhlIHByaW1hcnkgaXMgYSBzZXF1ZW5jZSwgdGhlIGV4cHJlc3Npb24gKGxpc3QpIG11c3QgZXZhbHVhdGUgdG9cbmFuIGludGVnZXIgb3IgYSBzbGljZSAoYXMgZGlzY3Vzc2VkIGluIHRoZSBmb2xsb3dpbmcgc2VjdGlvbikuXG5cblRoZSBmb3JtYWwgc3ludGF4IG1ha2VzIG5vIHNwZWNpYWwgcHJvdmlzaW9uIGZvciBuZWdhdGl2ZSBpbmRpY2VzIGluXG5zZXF1ZW5jZXM7IGhvd2V2ZXIsIGJ1aWx0LWluIHNlcXVlbmNlcyBhbGwgcHJvdmlkZSBhIGBgX19nZXRpdGVtX18oKWBgXG5tZXRob2QgdGhhdCBpbnRlcnByZXRzIG5lZ2F0aXZlIGluZGljZXMgYnkgYWRkaW5nIHRoZSBsZW5ndGggb2YgdGhlXG5zZXF1ZW5jZSB0byB0aGUgaW5kZXggKHNvIHRoYXQgYGB4Wy0xXWBgIHNlbGVjdHMgdGhlIGxhc3QgaXRlbSBvZlxuYGB4YGApLiAgVGhlIHJlc3VsdGluZyB2YWx1ZSBtdXN0IGJlIGEgbm9ubmVnYXRpdmUgaW50ZWdlciBsZXNzIHRoYW5cbnRoZSBudW1iZXIgb2YgaXRlbXMgaW4gdGhlIHNlcXVlbmNlLCBhbmQgdGhlIHN1YnNjcmlwdGlvbiBzZWxlY3RzIHRoZVxuaXRlbSB3aG9zZSBpbmRleCBpcyB0aGF0IHZhbHVlIChjb3VudGluZyBmcm9tIHplcm8pLiBTaW5jZSB0aGUgc3VwcG9ydFxuZm9yIG5lZ2F0aXZlIGluZGljZXMgYW5kIHNsaWNpbmcgb2NjdXJzIGluIHRoZSBvYmplY3RcJ3NcbmBgX19nZXRpdGVtX18oKWBgIG1ldGhvZCwgc3ViY2xhc3NlcyBvdmVycmlkaW5nIHRoaXMgbWV0aG9kIHdpbGwgbmVlZFxudG8gZXhwbGljaXRseSBhZGQgdGhhdCBzdXBwb3J0LlxuXG5BIHN0cmluZ1wncyBpdGVtcyBhcmUgY2hhcmFjdGVycy4gIEEgY2hhcmFjdGVyIGlzIG5vdCBhIHNlcGFyYXRlIGRhdGFcbnR5cGUgYnV0IGEgc3RyaW5nIG9mIGV4YWN0bHkgb25lIGNoYXJhY3Rlci5cbicsCiAgJ3RydXRoJzogIlxuVHJ1dGggVmFsdWUgVGVzdGluZ1xuKioqKioqKioqKioqKioqKioqKlxuXG5Bbnkgb2JqZWN0IGNhbiBiZSB0ZXN0ZWQgZm9yIHRydXRoIHZhbHVlLCBmb3IgdXNlIGluIGFuIGBgaWZgYCBvclxuYGB3aGlsZWBgIGNvbmRpdGlvbiBvciBhcyBvcGVyYW5kIG9mIHRoZSBCb29sZWFuIG9wZXJhdGlvbnMgYmVsb3cuIFRoZVxuZm9sbG93aW5nIHZhbHVlcyBhcmUgY29uc2lkZXJlZCBmYWxzZTpcblxuKiBgYE5vbmVgYFxuXG4qIGBgRmFsc2VgYFxuXG4qIHplcm8gb2YgYW55IG51bWVyaWMgdHlwZSwgZm9yIGV4YW1wbGUsIGBgMGBgLCBgYDAuMGBgLCBgYDBqYGAuXG5cbiogYW55IGVtcHR5IHNlcXVlbmNlLCBmb3IgZXhhbXBsZSwgYGAnJ2BgLCBgYCgpYGAsIGBgW11gYC5cblxuKiBhbnkgZW1wdHkgbWFwcGluZywgZm9yIGV4YW1wbGUsIGBge31gYC5cblxuKiBpbnN0YW5jZXMgb2YgdXNlci1kZWZpbmVkIGNsYXNzZXMsIGlmIHRoZSBjbGFzcyBkZWZpbmVzIGFcbiAgYGBfX2Jvb2xfXygpYGAgb3IgYGBfX2xlbl9fKClgYCBtZXRob2QsIHdoZW4gdGhhdCBtZXRob2QgcmV0dXJucyB0aGVcbiAgaW50ZWdlciB6ZXJvIG9yIGBgYm9vbGBgIHZhbHVlIGBgRmFsc2VgYC4gWzFdXG5cbkFsbCBvdGhlciB2YWx1ZXMgYXJlIGNvbnNpZGVyZWQgdHJ1ZSAtLS0gc28gb2JqZWN0cyBvZiBtYW55IHR5cGVzIGFyZVxuYWx3YXlzIHRydWUuXG5cbk9wZXJhdGlvbnMgYW5kIGJ1aWx0LWluIGZ1bmN0aW9ucyB0aGF0IGhhdmUgYSBCb29sZWFuIHJlc3VsdCBhbHdheXNcbnJldHVybiBgYDBgYCBvciBgYEZhbHNlYGAgZm9yIGZhbHNlIGFuZCBgYDFgYCBvciBgYFRydWVgYCBmb3IgdHJ1ZSxcbnVubGVzcyBvdGhlcndpc2Ugc3RhdGVkLiAoSW1wb3J0YW50IGV4Y2VwdGlvbjogdGhlIEJvb2xlYW4gb3BlcmF0aW9uc1xuYGBvcmBgIGFuZCBgYGFuZGBgIGFsd2F5cyByZXR1cm4gb25lIG9mIHRoZWlyIG9wZXJhbmRzLilcbiIsCiAgJ3RyeSc6ICdcblRoZSBgYHRyeWBgIHN0YXRlbWVudFxuKioqKioqKioqKioqKioqKioqKioqXG5cblRoZSBgYHRyeWBgIHN0YXRlbWVudCBzcGVjaWZpZXMgZXhjZXB0aW9uIGhhbmRsZXJzIGFuZC9vciBjbGVhbnVwIGNvZGVcbmZvciBhIGdyb3VwIG9mIHN0YXRlbWVudHM6XG5cbiAgIHRyeV9zdG10ICA6Oj0gdHJ5MV9zdG10IHwgdHJ5Ml9zdG10XG4gICB0cnkxX3N0bXQgOjo9ICJ0cnkiICI6IiBzdWl0ZVxuICAgICAgICAgICAgICAgICAoImV4Y2VwdCIgW2V4cHJlc3Npb24gWyJhcyIgdGFyZ2V0XV0gIjoiIHN1aXRlKStcbiAgICAgICAgICAgICAgICAgWyJlbHNlIiAiOiIgc3VpdGVdXG4gICAgICAgICAgICAgICAgIFsiZmluYWxseSIgIjoiIHN1aXRlXVxuICAgdHJ5Ml9zdG10IDo6PSAidHJ5IiAiOiIgc3VpdGVcbiAgICAgICAgICAgICAgICAgImZpbmFsbHkiICI6IiBzdWl0ZVxuXG5UaGUgYGBleGNlcHRgYCBjbGF1c2Uocykgc3BlY2lmeSBvbmUgb3IgbW9yZSBleGNlcHRpb24gaGFuZGxlcnMuIFdoZW5cbm5vIGV4Y2VwdGlvbiBvY2N1cnMgaW4gdGhlIGBgdHJ5YGAgY2xhdXNlLCBubyBleGNlcHRpb24gaGFuZGxlciBpc1xuZXhlY3V0ZWQuIFdoZW4gYW4gZXhjZXB0aW9uIG9jY3VycyBpbiB0aGUgYGB0cnlgYCBzdWl0ZSwgYSBzZWFyY2ggZm9yXG5hbiBleGNlcHRpb24gaGFuZGxlciBpcyBzdGFydGVkLiAgVGhpcyBzZWFyY2ggaW5zcGVjdHMgdGhlIGV4Y2VwdFxuY2xhdXNlcyBpbiB0dXJuIHVudGlsIG9uZSBpcyBmb3VuZCB0aGF0IG1hdGNoZXMgdGhlIGV4Y2VwdGlvbi4gIEFuXG5leHByZXNzaW9uLWxlc3MgZXhjZXB0IGNsYXVzZSwgaWYgcHJlc2VudCwgbXVzdCBiZSBsYXN0OyBpdCBtYXRjaGVzXG5hbnkgZXhjZXB0aW9uLiAgRm9yIGFuIGV4Y2VwdCBjbGF1c2Ugd2l0aCBhbiBleHByZXNzaW9uLCB0aGF0XG5leHByZXNzaW9uIGlzIGV2YWx1YXRlZCwgYW5kIHRoZSBjbGF1c2UgbWF0Y2hlcyB0aGUgZXhjZXB0aW9uIGlmIHRoZVxucmVzdWx0aW5nIG9iamVjdCBpcyAiY29tcGF0aWJsZSIgd2l0aCB0aGUgZXhjZXB0aW9uLiAgQW4gb2JqZWN0IGlzXG5jb21wYXRpYmxlIHdpdGggYW4gZXhjZXB0aW9uIGlmIGl0IGlzIHRoZSBjbGFzcyBvciBhIGJhc2UgY2xhc3Mgb2YgdGhlXG5leGNlcHRpb24gb2JqZWN0IG9yIGEgdHVwbGUgY29udGFpbmluZyBhbiBpdGVtIGNvbXBhdGlibGUgd2l0aCB0aGVcbmV4Y2VwdGlvbi5cblxuSWYgbm8gZXhjZXB0IGNsYXVzZSBtYXRjaGVzIHRoZSBleGNlcHRpb24sIHRoZSBzZWFyY2ggZm9yIGFuIGV4Y2VwdGlvblxuaGFuZGxlciBjb250aW51ZXMgaW4gdGhlIHN1cnJvdW5kaW5nIGNvZGUgYW5kIG9uIHRoZSBpbnZvY2F0aW9uIHN0YWNrLlxuWzFdXG5cbklmIHRoZSBldmFsdWF0aW9uIG9mIGFuIGV4cHJlc3Npb24gaW4gdGhlIGhlYWRlciBvZiBhbiBleGNlcHQgY2xhdXNlXG5yYWlzZXMgYW4gZXhjZXB0aW9uLCB0aGUgb3JpZ2luYWwgc2VhcmNoIGZvciBhIGhhbmRsZXIgaXMgY2FuY2VsZWQgYW5kXG5hIHNlYXJjaCBzdGFydHMgZm9yIHRoZSBuZXcgZXhjZXB0aW9uIGluIHRoZSBzdXJyb3VuZGluZyBjb2RlIGFuZCBvblxudGhlIGNhbGwgc3RhY2sgKGl0IGlzIHRyZWF0ZWQgYXMgaWYgdGhlIGVudGlyZSBgYHRyeWBgIHN0YXRlbWVudFxucmFpc2VkIHRoZSBleGNlcHRpb24pLlxuXG5XaGVuIGEgbWF0Y2hpbmcgZXhjZXB0IGNsYXVzZSBpcyBmb3VuZCwgdGhlIGV4Y2VwdGlvbiBpcyBhc3NpZ25lZCB0b1xudGhlIHRhcmdldCBzcGVjaWZpZWQgYWZ0ZXIgdGhlIGBgYXNgYCBrZXl3b3JkIGluIHRoYXQgZXhjZXB0IGNsYXVzZSxcbmlmIHByZXNlbnQsIGFuZCB0aGUgZXhjZXB0IGNsYXVzZVwncyBzdWl0ZSBpcyBleGVjdXRlZC4gIEFsbCBleGNlcHRcbmNsYXVzZXMgbXVzdCBoYXZlIGFuIGV4ZWN1dGFibGUgYmxvY2suICBXaGVuIHRoZSBlbmQgb2YgdGhpcyBibG9jayBpc1xucmVhY2hlZCwgZXhlY3V0aW9uIGNvbnRpbnVlcyBub3JtYWxseSBhZnRlciB0aGUgZW50aXJlIHRyeSBzdGF0ZW1lbnQuXG4oVGhpcyBtZWFucyB0aGF0IGlmIHR3byBuZXN0ZWQgaGFuZGxlcnMgZXhpc3QgZm9yIHRoZSBzYW1lIGV4Y2VwdGlvbixcbmFuZCB0aGUgZXhjZXB0aW9uIG9jY3VycyBpbiB0aGUgdHJ5IGNsYXVzZSBvZiB0aGUgaW5uZXIgaGFuZGxlciwgdGhlXG5vdXRlciBoYW5kbGVyIHdpbGwgbm90IGhhbmRsZSB0aGUgZXhjZXB0aW9uLilcblxuV2hlbiBhbiBleGNlcHRpb24gaGFzIGJlZW4gYXNzaWduZWQgdXNpbmcgYGBhcyB0YXJnZXRgYCwgaXQgaXMgY2xlYXJlZFxuYXQgdGhlIGVuZCBvZiB0aGUgZXhjZXB0IGNsYXVzZS4gIFRoaXMgaXMgYXMgaWZcblxuICAgZXhjZXB0IEUgYXMgTjpcbiAgICAgICBmb29cblxud2FzIHRyYW5zbGF0ZWQgdG9cblxuICAgZXhjZXB0IEUgYXMgTjpcbiAgICAgICB0cnk6XG4gICAgICAgICAgIGZvb1xuICAgICAgIGZpbmFsbHk6XG4gICAgICAgICAgIGRlbCBOXG5cblRoaXMgbWVhbnMgdGhlIGV4Y2VwdGlvbiBtdXN0IGJlIGFzc2lnbmVkIHRvIGEgZGlmZmVyZW50IG5hbWUgdG8gYmVcbmFibGUgdG8gcmVmZXIgdG8gaXQgYWZ0ZXIgdGhlIGV4Y2VwdCBjbGF1c2UuICBFeGNlcHRpb25zIGFyZSBjbGVhcmVkXG5iZWNhdXNlIHdpdGggdGhlIHRyYWNlYmFjayBhdHRhY2hlZCB0byB0aGVtLCB0aGV5IGZvcm0gYSByZWZlcmVuY2VcbmN5Y2xlIHdpdGggdGhlIHN0YWNrIGZyYW1lLCBrZWVwaW5nIGFsbCBsb2NhbHMgaW4gdGhhdCBmcmFtZSBhbGl2ZVxudW50aWwgdGhlIG5leHQgZ2FyYmFnZSBjb2xsZWN0aW9uIG9jY3Vycy5cblxuQmVmb3JlIGFuIGV4Y2VwdCBjbGF1c2VcJ3Mgc3VpdGUgaXMgZXhlY3V0ZWQsIGRldGFpbHMgYWJvdXQgdGhlXG5leGNlcHRpb24gYXJlIHN0b3JlZCBpbiB0aGUgYGBzeXNgYCBtb2R1bGUgYW5kIGNhbiBiZSBhY2Nlc3MgdmlhXG5gYHN5cy5leGNfaW5mbygpYGAuIGBgc3lzLmV4Y19pbmZvKClgYCByZXR1cm5zIGEgMy10dXBsZSBjb25zaXN0aW5nIG9mXG50aGUgZXhjZXB0aW9uIGNsYXNzLCB0aGUgZXhjZXB0aW9uIGluc3RhbmNlIGFuZCBhIHRyYWNlYmFjayBvYmplY3RcbihzZWUgc2VjdGlvbiAqVGhlIHN0YW5kYXJkIHR5cGUgaGllcmFyY2h5KikgaWRlbnRpZnlpbmcgdGhlIHBvaW50IGluXG50aGUgcHJvZ3JhbSB3aGVyZSB0aGUgZXhjZXB0aW9uIG9jY3VycmVkLiAgYGBzeXMuZXhjX2luZm8oKWBgIHZhbHVlc1xuYXJlIHJlc3RvcmVkIHRvIHRoZWlyIHByZXZpb3VzIHZhbHVlcyAoYmVmb3JlIHRoZSBjYWxsKSB3aGVuIHJldHVybmluZ1xuZnJvbSBhIGZ1bmN0aW9uIHRoYXQgaGFuZGxlZCBhbiBleGNlcHRpb24uXG5cblRoZSBvcHRpb25hbCBgYGVsc2VgYCBjbGF1c2UgaXMgZXhlY3V0ZWQgaWYgYW5kIHdoZW4gY29udHJvbCBmbG93cyBvZmZcbnRoZSBlbmQgb2YgdGhlIGBgdHJ5YGAgY2xhdXNlLiBbMl0gRXhjZXB0aW9ucyBpbiB0aGUgYGBlbHNlYGAgY2xhdXNlXG5hcmUgbm90IGhhbmRsZWQgYnkgdGhlIHByZWNlZGluZyBgYGV4Y2VwdGBgIGNsYXVzZXMuXG5cbklmIGBgZmluYWxseWBgIGlzIHByZXNlbnQsIGl0IHNwZWNpZmllcyBhIFwnY2xlYW51cFwnIGhhbmRsZXIuICBUaGVcbmBgdHJ5YGAgY2xhdXNlIGlzIGV4ZWN1dGVkLCBpbmNsdWRpbmcgYW55IGBgZXhjZXB0YGAgYW5kIGBgZWxzZWBgXG5jbGF1c2VzLiAgSWYgYW4gZXhjZXB0aW9uIG9jY3VycyBpbiBhbnkgb2YgdGhlIGNsYXVzZXMgYW5kIGlzIG5vdFxuaGFuZGxlZCwgdGhlIGV4Y2VwdGlvbiBpcyB0ZW1wb3JhcmlseSBzYXZlZC4gVGhlIGBgZmluYWxseWBgIGNsYXVzZSBpc1xuZXhlY3V0ZWQuICBJZiB0aGVyZSBpcyBhIHNhdmVkIGV4Y2VwdGlvbiwgaXQgaXMgcmUtcmFpc2VkIGF0IHRoZSBlbmRcbm9mIHRoZSBgYGZpbmFsbHlgYCBjbGF1c2UuIElmIHRoZSBgYGZpbmFsbHlgYCBjbGF1c2UgcmFpc2VzIGFub3RoZXJcbmV4Y2VwdGlvbiBvciBleGVjdXRlcyBhIGBgcmV0dXJuYGAgb3IgYGBicmVha2BgIHN0YXRlbWVudCwgdGhlIHNhdmVkXG5leGNlcHRpb24gaXMgc2V0IGFzIHRoZSBjb250ZXh0IG9mIHRoZSBuZXcgZXhjZXB0aW9uLiAgVGhlIGV4Y2VwdGlvblxuaW5mb3JtYXRpb24gaXMgbm90IGF2YWlsYWJsZSB0byB0aGUgcHJvZ3JhbSBkdXJpbmcgZXhlY3V0aW9uIG9mIHRoZVxuYGBmaW5hbGx5YGAgY2xhdXNlLlxuXG5XaGVuIGEgYGByZXR1cm5gYCwgYGBicmVha2BgIG9yIGBgY29udGludWVgYCBzdGF0ZW1lbnQgaXMgZXhlY3V0ZWQgaW5cbnRoZSBgYHRyeWBgIHN1aXRlIG9mIGEgYGB0cnlgYC4uLmBgZmluYWxseWBgIHN0YXRlbWVudCwgdGhlXG5gYGZpbmFsbHlgYCBjbGF1c2UgaXMgYWxzbyBleGVjdXRlZCBcJ29uIHRoZSB3YXkgb3V0LlwnIEEgYGBjb250aW51ZWBgXG5zdGF0ZW1lbnQgaXMgaWxsZWdhbCBpbiB0aGUgYGBmaW5hbGx5YGAgY2xhdXNlLiAoVGhlIHJlYXNvbiBpcyBhXG5wcm9ibGVtIHdpdGggdGhlIGN1cnJlbnQgaW1wbGVtZW50YXRpb24gLS0tIHRoaXMgcmVzdHJpY3Rpb24gbWF5IGJlXG5saWZ0ZWQgaW4gdGhlIGZ1dHVyZSkuXG5cbkFkZGl0aW9uYWwgaW5mb3JtYXRpb24gb24gZXhjZXB0aW9ucyBjYW4gYmUgZm91bmQgaW4gc2VjdGlvblxuKkV4Y2VwdGlvbnMqLCBhbmQgaW5mb3JtYXRpb24gb24gdXNpbmcgdGhlIGBgcmFpc2VgYCBzdGF0ZW1lbnQgdG9cbmdlbmVyYXRlIGV4Y2VwdGlvbnMgbWF5IGJlIGZvdW5kIGluIHNlY3Rpb24gKlRoZSByYWlzZSBzdGF0ZW1lbnQqLlxuJywKLSAndHlwZXMnOiAnXG5UaGUgc3RhbmRhcmQgdHlwZSBoaWVyYXJjaHlcbioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG5CZWxvdyBpcyBhIGxpc3Qgb2YgdGhlIHR5cGVzIHRoYXQgYXJlIGJ1aWx0IGludG8gUHl0aG9uLiAgRXh0ZW5zaW9uXG5tb2R1bGVzICh3cml0dGVuIGluIEMsIEphdmEsIG9yIG90aGVyIGxhbmd1YWdlcywgZGVwZW5kaW5nIG9uIHRoZVxuaW1wbGVtZW50YXRpb24pIGNhbiBkZWZpbmUgYWRkaXRpb25hbCB0eXBlcy4gIEZ1dHVyZSB2ZXJzaW9ucyBvZlxuUHl0aG9uIG1heSBhZGQgdHlwZXMgdG8gdGhlIHR5cGUgaGllcmFyY2h5IChlLmcuLCByYXRpb25hbCBudW1iZXJzLFxuZWZmaWNpZW50bHkgc3RvcmVkIGFycmF5cyBvZiBpbnRlZ2VycywgZXRjLiksIGFsdGhvdWdoIHN1Y2ggYWRkaXRpb25zXG53aWxsIG9mdGVuIGJlIHByb3ZpZGVkIHZpYSB0aGUgc3RhbmRhcmQgbGlicmFyeSBpbnN0ZWFkLlxuXG5Tb21lIG9mIHRoZSB0eXBlIGRlc2NyaXB0aW9ucyBiZWxvdyBjb250YWluIGEgcGFyYWdyYXBoIGxpc3Rpbmdcblwnc3BlY2lhbCBhdHRyaWJ1dGVzLlwnICBUaGVzZSBhcmUgYXR0cmlidXRlcyB0aGF0IHByb3ZpZGUgYWNjZXNzIHRvIHRoZVxuaW1wbGVtZW50YXRpb24gYW5kIGFyZSBub3QgaW50ZW5kZWQgZm9yIGdlbmVyYWwgdXNlLiAgVGhlaXIgZGVmaW5pdGlvblxubWF5IGNoYW5nZSBpbiB0aGUgZnV0dXJlLlxuXG5Ob25lXG4gICBUaGlzIHR5cGUgaGFzIGEgc2luZ2xlIHZhbHVlLiAgVGhlcmUgaXMgYSBzaW5nbGUgb2JqZWN0IHdpdGggdGhpc1xuICAgdmFsdWUuIFRoaXMgb2JqZWN0IGlzIGFjY2Vzc2VkIHRocm91Z2ggdGhlIGJ1aWx0LWluIG5hbWUgYGBOb25lYGAuXG4gICBJdCBpcyB1c2VkIHRvIHNpZ25pZnkgdGhlIGFic2VuY2Ugb2YgYSB2YWx1ZSBpbiBtYW55IHNpdHVhdGlvbnMsXG4gICBlLmcuLCBpdCBpcyByZXR1cm5lZCBmcm9tIGZ1bmN0aW9ucyB0aGF0IGRvblwndCBleHBsaWNpdGx5IHJldHVyblxuICAgYW55dGhpbmcuIEl0cyB0cnV0aCB2YWx1ZSBpcyBmYWxzZS5cblxuTm90SW1wbGVtZW50ZWRcbiAgIFRoaXMgdHlwZSBoYXMgYSBzaW5nbGUgdmFsdWUuICBUaGVyZSBpcyBhIHNpbmdsZSBvYmplY3Qgd2l0aCB0aGlzXG4gICB2YWx1ZS4gVGhpcyBvYmplY3QgaXMgYWNjZXNzZWQgdGhyb3VnaCB0aGUgYnVpbHQtaW4gbmFtZVxuICAgYGBOb3RJbXBsZW1lbnRlZGBgLiBOdW1lcmljIG1ldGhvZHMgYW5kIHJpY2ggY29tcGFyaXNvbiBtZXRob2RzIG1heVxuICAgcmV0dXJuIHRoaXMgdmFsdWUgaWYgdGhleSBkbyBub3QgaW1wbGVtZW50IHRoZSBvcGVyYXRpb24gZm9yIHRoZVxuICAgb3BlcmFuZHMgcHJvdmlkZWQuICAoVGhlIGludGVycHJldGVyIHdpbGwgdGhlbiB0cnkgdGhlIHJlZmxlY3RlZFxuICAgb3BlcmF0aW9uLCBvciBzb21lIG90aGVyIGZhbGxiYWNrLCBkZXBlbmRpbmcgb24gdGhlIG9wZXJhdG9yLikgIEl0c1xuICAgdHJ1dGggdmFsdWUgaXMgdHJ1ZS5cblxuRWxsaXBzaXNcbiAgIFRoaXMgdHlwZSBoYXMgYSBzaW5nbGUgdmFsdWUuICBUaGVyZSBpcyBhIHNpbmdsZSBvYmplY3Qgd2l0aCB0aGlzXG4gICB2YWx1ZS4gVGhpcyBvYmplY3QgaXMgYWNjZXNzZWQgdGhyb3VnaCB0aGUgbGl0ZXJhbCBgYC4uLmBgIG9yIHRoZVxuICAgYnVpbHQtaW4gbmFtZSBgYEVsbGlwc2lzYGAuICBJdHMgdHJ1dGggdmFsdWUgaXMgdHJ1ZS5cblxuYGBudW1iZXJzLk51bWJlcmBgXG4gICBUaGVzZSBhcmUgY3JlYXRlZCBieSBudW1lcmljIGxpdGVyYWxzIGFuZCByZXR1cm5lZCBhcyByZXN1bHRzIGJ5XG4gICBhcml0aG1ldGljIG9wZXJhdG9ycyBhbmQgYXJpdGhtZXRpYyBidWlsdC1pbiBmdW5jdGlvbnMuICBOdW1lcmljXG4gICBvYmplY3RzIGFyZSBpbW11dGFibGU7IG9uY2UgY3JlYXRlZCB0aGVpciB2YWx1ZSBuZXZlciBjaGFuZ2VzLlxuICAgUHl0aG9uIG51bWJlcnMgYXJlIG9mIGNvdXJzZSBzdHJvbmdseSByZWxhdGVkIHRvIG1hdGhlbWF0aWNhbFxuICAgbnVtYmVycywgYnV0IHN1YmplY3QgdG8gdGhlIGxpbWl0YXRpb25zIG9mIG51bWVyaWNhbCByZXByZXNlbnRhdGlvblxuICAgaW4gY29tcHV0ZXJzLlxuXG4gICBQeXRob24gZGlzdGluZ3Vpc2hlcyBiZXR3ZWVuIGludGVnZXJzLCBmbG9hdGluZyBwb2ludCBudW1iZXJzLCBhbmRcbiAgIGNvbXBsZXggbnVtYmVyczpcblxuICAgYGBudW1iZXJzLkludGVncmFsYGBcbiAgICAgIFRoZXNlIHJlcHJlc2VudCBlbGVtZW50cyBmcm9tIHRoZSBtYXRoZW1hdGljYWwgc2V0IG9mIGludGVnZXJzXG4gICAgICAocG9zaXRpdmUgYW5kIG5lZ2F0aXZlKS5cblxuICAgICAgVGhlcmUgYXJlIHR3byB0eXBlcyBvZiBpbnRlZ2VyczpcblxuICAgICAgSW50ZWdlcnMgKGBgaW50YGApXG5cbiAgICAgICAgIFRoZXNlIHJlcHJlc2VudCBudW1iZXJzIGluIGFuIHVubGltaXRlZCByYW5nZSwgc3ViamVjdCB0b1xuICAgICAgICAgYXZhaWxhYmxlICh2aXJ0dWFsKSBtZW1vcnkgb25seS4gIEZvciB0aGUgcHVycG9zZSBvZiBzaGlmdFxuICAgICAgICAgYW5kIG1hc2sgb3BlcmF0aW9ucywgYSBiaW5hcnkgcmVwcmVzZW50YXRpb24gaXMgYXNzdW1lZCwgYW5kXG4gICAgICAgICBuZWdhdGl2ZSBudW1iZXJzIGFyZSByZXByZXNlbnRlZCBpbiBhIHZhcmlhbnQgb2YgMlwnc1xuICAgICAgICAgY29tcGxlbWVudCB3aGljaCBnaXZlcyB0aGUgaWxsdXNpb24gb2YgYW4gaW5maW5pdGUgc3RyaW5nIG9mXG4gICAgICAgICBzaWduIGJpdHMgZXh0ZW5kaW5nIHRvIHRoZSBsZWZ0LlxuXG4gICAgICBCb29sZWFucyAoYGBib29sYGApXG4gICAgICAgICBUaGVzZSByZXByZXNlbnQgdGhlIHRydXRoIHZhbHVlcyBGYWxzZSBhbmQgVHJ1ZS4gIFRoZSB0d29cbiAgICAgICAgIG9iamVjdHMgcmVwcmVzZW50aW5nIHRoZSB2YWx1ZXMgRmFsc2UgYW5kIFRydWUgYXJlIHRoZSBvbmx5XG4gICAgICAgICBCb29sZWFuIG9iamVjdHMuIFRoZSBCb29sZWFuIHR5cGUgaXMgYSBzdWJ0eXBlIG9mIHRoZSBpbnRlZ2VyXG4gICAgICAgICB0eXBlLCBhbmQgQm9vbGVhbiB2YWx1ZXMgYmVoYXZlIGxpa2UgdGhlIHZhbHVlcyAwIGFuZCAxLFxuICAgICAgICAgcmVzcGVjdGl2ZWx5LCBpbiBhbG1vc3QgYWxsIGNvbnRleHRzLCB0aGUgZXhjZXB0aW9uIGJlaW5nXG4gICAgICAgICB0aGF0IHdoZW4gY29udmVydGVkIHRvIGEgc3RyaW5nLCB0aGUgc3RyaW5ncyBgYCJGYWxzZSJgYCBvclxuICAgICAgICAgYGAiVHJ1ZSJgYCBhcmUgcmV0dXJuZWQsIHJlc3BlY3RpdmVseS5cblxuICAgICAgVGhlIHJ1bGVzIGZvciBpbnRlZ2VyIHJlcHJlc2VudGF0aW9uIGFyZSBpbnRlbmRlZCB0byBnaXZlIHRoZVxuICAgICAgbW9zdCBtZWFuaW5nZnVsIGludGVycHJldGF0aW9uIG9mIHNoaWZ0IGFuZCBtYXNrIG9wZXJhdGlvbnNcbiAgICAgIGludm9sdmluZyBuZWdhdGl2ZSBpbnRlZ2Vycy5cblxuICAgYGBudW1iZXJzLlJlYWxgYCAoYGBmbG9hdGBgKVxuICAgICAgVGhlc2UgcmVwcmVzZW50IG1hY2hpbmUtbGV2ZWwgZG91YmxlIHByZWNpc2lvbiBmbG9hdGluZyBwb2ludFxuICAgICAgbnVtYmVycy4gWW91IGFyZSBhdCB0aGUgbWVyY3kgb2YgdGhlIHVuZGVybHlpbmcgbWFjaGluZVxuICAgICAgYXJjaGl0ZWN0dXJlIChhbmQgQyBvciBKYXZhIGltcGxlbWVudGF0aW9uKSBmb3IgdGhlIGFjY2VwdGVkXG4gICAgICByYW5nZSBhbmQgaGFuZGxpbmcgb2Ygb3ZlcmZsb3cuIFB5dGhvbiBkb2VzIG5vdCBzdXBwb3J0IHNpbmdsZS1cbiAgICAgIHByZWNpc2lvbiBmbG9hdGluZyBwb2ludCBudW1iZXJzOyB0aGUgc2F2aW5ncyBpbiBwcm9jZXNzb3IgYW5kXG4gICAgICBtZW1vcnkgdXNhZ2UgdGhhdCBhcmUgdXN1YWxseSB0aGUgcmVhc29uIGZvciB1c2luZyB0aGVzZSBpc1xuICAgICAgZHdhcmZlZCBieSB0aGUgb3ZlcmhlYWQgb2YgdXNpbmcgb2JqZWN0cyBpbiBQeXRob24sIHNvIHRoZXJlIGlzXG4gICAgICBubyByZWFzb24gdG8gY29tcGxpY2F0ZSB0aGUgbGFuZ3VhZ2Ugd2l0aCB0d28ga2luZHMgb2YgZmxvYXRpbmdcbiAgICAgIHBvaW50IG51bWJlcnMuXG5cbiAgIGBgbnVtYmVycy5Db21wbGV4YGAgKGBgY29tcGxleGBgKVxuICAgICAgVGhlc2UgcmVwcmVzZW50IGNvbXBsZXggbnVtYmVycyBhcyBhIHBhaXIgb2YgbWFjaGluZS1sZXZlbFxuICAgICAgZG91YmxlIHByZWNpc2lvbiBmbG9hdGluZyBwb2ludCBudW1iZXJzLiAgVGhlIHNhbWUgY2F2ZWF0cyBhcHBseVxuICAgICAgYXMgZm9yIGZsb2F0aW5nIHBvaW50IG51bWJlcnMuIFRoZSByZWFsIGFuZCBpbWFnaW5hcnkgcGFydHMgb2YgYVxuICAgICAgY29tcGxleCBudW1iZXIgYGB6YGAgY2FuIGJlIHJldHJpZXZlZCB0aHJvdWdoIHRoZSByZWFkLW9ubHlcbiAgICAgIGF0dHJpYnV0ZXMgYGB6LnJlYWxgYCBhbmQgYGB6LmltYWdgYC5cblxuU2VxdWVuY2VzXG4gICBUaGVzZSByZXByZXNlbnQgZmluaXRlIG9yZGVyZWQgc2V0cyBpbmRleGVkIGJ5IG5vbi1uZWdhdGl2ZVxuICAgbnVtYmVycy4gVGhlIGJ1aWx0LWluIGZ1bmN0aW9uIGBgbGVuKClgYCByZXR1cm5zIHRoZSBudW1iZXIgb2ZcbiAgIGl0ZW1zIG9mIGEgc2VxdWVuY2UuIFdoZW4gdGhlIGxlbmd0aCBvZiBhIHNlcXVlbmNlIGlzICpuKiwgdGhlXG4gICBpbmRleCBzZXQgY29udGFpbnMgdGhlIG51bWJlcnMgMCwgMSwgLi4uLCAqbiotMS4gIEl0ZW0gKmkqIG9mXG4gICBzZXF1ZW5jZSAqYSogaXMgc2VsZWN0ZWQgYnkgYGBhW2ldYGAuXG5cbiAgIFNlcXVlbmNlcyBhbHNvIHN1cHBvcnQgc2xpY2luZzogYGBhW2k6al1gYCBzZWxlY3RzIGFsbCBpdGVtcyB3aXRoXG4gICBpbmRleCAqayogc3VjaCB0aGF0ICppKiBgYDw9YGAgKmsqIGBgPGBgICpqKi4gIFdoZW4gdXNlZCBhcyBhblxuICAgZXhwcmVzc2lvbiwgYSBzbGljZSBpcyBhIHNlcXVlbmNlIG9mIHRoZSBzYW1lIHR5cGUuICBUaGlzIGltcGxpZXNcbiAgIHRoYXQgdGhlIGluZGV4IHNldCBpcyByZW51bWJlcmVkIHNvIHRoYXQgaXQgc3RhcnRzIGF0IDAuXG5cbiAgIFNvbWUgc2VxdWVuY2VzIGFsc28gc3VwcG9ydCAiZXh0ZW5kZWQgc2xpY2luZyIgd2l0aCBhIHRoaXJkICJzdGVwIlxuICAgcGFyYW1ldGVyOiBgYGFbaTpqOmtdYGAgc2VsZWN0cyBhbGwgaXRlbXMgb2YgKmEqIHdpdGggaW5kZXggKngqXG4gICB3aGVyZSBgYHggPSBpICsgbiprYGAsICpuKiBgYD49YGAgYGAwYGAgYW5kICppKiBgYDw9YGAgKngqIGBgPGBgXG4gICAqaiouXG5cbiAgIFNlcXVlbmNlcyBhcmUgZGlzdGluZ3Vpc2hlZCBhY2NvcmRpbmcgdG8gdGhlaXIgbXV0YWJpbGl0eTpcblxuICAgSW1tdXRhYmxlIHNlcXVlbmNlc1xuICAgICAgQW4gb2JqZWN0IG9mIGFuIGltbXV0YWJsZSBzZXF1ZW5jZSB0eXBlIGNhbm5vdCBjaGFuZ2Ugb25jZSBpdCBpc1xuICAgICAgY3JlYXRlZC4gIChJZiB0aGUgb2JqZWN0IGNvbnRhaW5zIHJlZmVyZW5jZXMgdG8gb3RoZXIgb2JqZWN0cyxcbiAgICAgIHRoZXNlIG90aGVyIG9iamVjdHMgbWF5IGJlIG11dGFibGUgYW5kIG1heSBiZSBjaGFuZ2VkOyBob3dldmVyLFxuICAgICAgdGhlIGNvbGxlY3Rpb24gb2Ygb2JqZWN0cyBkaXJlY3RseSByZWZlcmVuY2VkIGJ5IGFuIGltbXV0YWJsZVxuICAgICAgb2JqZWN0IGNhbm5vdCBjaGFuZ2UuKVxuXG4gICAgICBUaGUgZm9sbG93aW5nIHR5cGVzIGFyZSBpbW11dGFibGUgc2VxdWVuY2VzOlxuXG4gICAgICBTdHJpbmdzXG4gICAgICAgICBUaGUgaXRlbXMgb2YgYSBzdHJpbmcgb2JqZWN0IGFyZSBVbmljb2RlIGNvZGUgdW5pdHMuICBBXG4gICAgICAgICBVbmljb2RlIGNvZGUgdW5pdCBpcyByZXByZXNlbnRlZCBieSBhIHN0cmluZyBvYmplY3Qgb2Ygb25lXG4gICAgICAgICBpdGVtIGFuZCBjYW4gaG9sZCBlaXRoZXIgYSAxNi1iaXQgb3IgMzItYml0IHZhbHVlXG4gICAgICAgICByZXByZXNlbnRpbmcgYSBVbmljb2RlIG9yZGluYWwgKHRoZSBtYXhpbXVtIHZhbHVlIGZvciB0aGVcbiAgICAgICAgIG9yZGluYWwgaXMgZ2l2ZW4gaW4gYGBzeXMubWF4dW5pY29kZWBgLCBhbmQgZGVwZW5kcyBvbiBob3dcbiAgICAgICAgIFB5dGhvbiBpcyBjb25maWd1cmVkIGF0IGNvbXBpbGUgdGltZSkuICBTdXJyb2dhdGUgcGFpcnMgbWF5XG4gICAgICAgICBiZSBwcmVzZW50IGluIHRoZSBVbmljb2RlIG9iamVjdCwgYW5kIHdpbGwgYmUgcmVwb3J0ZWQgYXMgdHdvXG4gICAgICAgICBzZXBhcmF0ZSBpdGVtcy4gIFRoZSBidWlsdC1pbiBmdW5jdGlvbnMgYGBjaHIoKWBgIGFuZFxuICAgICAgICAgYGBvcmQoKWBgIGNvbnZlcnQgYmV0d2VlbiBjb2RlIHVuaXRzIGFuZCBub25uZWdhdGl2ZSBpbnRlZ2Vyc1xuICAgICAgICAgcmVwcmVzZW50aW5nIHRoZSBVbmljb2RlIG9yZGluYWxzIGFzIGRlZmluZWQgaW4gdGhlIFVuaWNvZGVcbiAgICAgICAgIFN0YW5kYXJkIDMuMC4gQ29udmVyc2lvbiBmcm9tIGFuZCB0byBvdGhlciBlbmNvZGluZ3MgYXJlXG4gICAgICAgICBwb3NzaWJsZSB0aHJvdWdoIHRoZSBzdHJpbmcgbWV0aG9kIGBgZW5jb2RlKClgYC5cblxuICAgICAgVHVwbGVzXG4gICAgICAgICBUaGUgaXRlbXMgb2YgYSB0dXBsZSBhcmUgYXJiaXRyYXJ5IFB5dGhvbiBvYmplY3RzLiBUdXBsZXMgb2ZcbiAgICAgICAgIHR3byBvciBtb3JlIGl0ZW1zIGFyZSBmb3JtZWQgYnkgY29tbWEtc2VwYXJhdGVkIGxpc3RzIG9mXG4gICAgICAgICBleHByZXNzaW9ucy4gIEEgdHVwbGUgb2Ygb25lIGl0ZW0gKGEgXCdzaW5nbGV0b25cJykgY2FuIGJlXG4gICAgICAgICBmb3JtZWQgYnkgYWZmaXhpbmcgYSBjb21tYSB0byBhbiBleHByZXNzaW9uIChhbiBleHByZXNzaW9uIGJ5XG4gICAgICAgICBpdHNlbGYgZG9lcyBub3QgY3JlYXRlIGEgdHVwbGUsIHNpbmNlIHBhcmVudGhlc2VzIG11c3QgYmVcbiAgICAgICAgIHVzYWJsZSBmb3IgZ3JvdXBpbmcgb2YgZXhwcmVzc2lvbnMpLiAgQW4gZW1wdHkgdHVwbGUgY2FuIGJlXG4gICAgICAgICBmb3JtZWQgYnkgYW4gZW1wdHkgcGFpciBvZiBwYXJlbnRoZXNlcy5cblxuICAgICAgQnl0ZXNcbiAgICAgICAgIEEgYnl0ZXMgb2JqZWN0IGlzIGFuIGltbXV0YWJsZSBhcnJheS4gIFRoZSBpdGVtcyBhcmUgOC1iaXRcbiAgICAgICAgIGJ5dGVzLCByZXByZXNlbnRlZCBieSBpbnRlZ2VycyBpbiB0aGUgcmFuZ2UgMCA8PSB4IDwgMjU2LlxuICAgICAgICAgQnl0ZXMgbGl0ZXJhbHMgKGxpa2UgYGBiXCdhYmNcJ2BgIGFuZCB0aGUgYnVpbHQtaW4gZnVuY3Rpb25cbiAgICAgICAgIGBgYnl0ZXMoKWBgIGNhbiBiZSB1c2VkIHRvIGNvbnN0cnVjdCBieXRlcyBvYmplY3RzLiAgQWxzbyxcbiAgICAgICAgIGJ5dGVzIG9iamVjdHMgY2FuIGJlIGRlY29kZWQgdG8gc3RyaW5ncyB2aWEgdGhlIGBgZGVjb2RlKClgYFxuICAgICAgICAgbWV0aG9kLlxuXG4gICBNdXRhYmxlIHNlcXVlbmNlc1xuICAgICAgTXV0YWJsZSBzZXF1ZW5jZXMgY2FuIGJlIGNoYW5nZWQgYWZ0ZXIgdGhleSBhcmUgY3JlYXRlZC4gIFRoZVxuICAgICAgc3Vic2NyaXB0aW9uIGFuZCBzbGljaW5nIG5vdGF0aW9ucyBjYW4gYmUgdXNlZCBhcyB0aGUgdGFyZ2V0IG9mXG4gICAgICBhc3NpZ25tZW50IGFuZCBgYGRlbGBgIChkZWxldGUpIHN0YXRlbWVudHMuXG5cbiAgICAgIFRoZXJlIGFyZSBjdXJyZW50bHkgdHdvIGludHJpbnNpYyBtdXRhYmxlIHNlcXVlbmNlIHR5cGVzOlxuXG4gICAgICBMaXN0c1xuICAgICAgICAgVGhlIGl0ZW1zIG9mIGEgbGlzdCBhcmUgYXJiaXRyYXJ5IFB5dGhvbiBvYmplY3RzLiAgTGlzdHMgYXJlXG4gICAgICAgICBmb3JtZWQgYnkgcGxhY2luZyBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIGV4cHJlc3Npb25zIGluXG4gICAgICAgICBzcXVhcmUgYnJhY2tldHMuIChOb3RlIHRoYXQgdGhlcmUgYXJlIG5vIHNwZWNpYWwgY2FzZXMgbmVlZGVkXG4gICAgICAgICB0byBmb3JtIGxpc3RzIG9mIGxlbmd0aCAwIG9yIDEuKVxuXG4gICAgICBCeXRlIEFycmF5c1xuICAgICAgICAgQSBieXRlYXJyYXkgb2JqZWN0IGlzIGEgbXV0YWJsZSBhcnJheS4gVGhleSBhcmUgY3JlYXRlZCBieVxuICAgICAgICAgdGhlIGJ1aWx0LWluIGBgYnl0ZWFycmF5KClgYCBjb25zdHJ1Y3Rvci4gIEFzaWRlIGZyb20gYmVpbmdcbiAgICAgICAgIG11dGFibGUgKGFuZCBoZW5jZSB1bmhhc2hhYmxlKSwgYnl0ZSBhcnJheXMgb3RoZXJ3aXNlIHByb3ZpZGVcbiAgICAgICAgIHRoZSBzYW1lIGludGVyZmFjZSBhbmQgZnVuY3Rpb25hbGl0eSBhcyBpbW11dGFibGUgYnl0ZXNcbiAgICAgICAgIG9iamVjdHMuXG5cbiAgICAgIFRoZSBleHRlbnNpb24gbW9kdWxlIGBgYXJyYXlgYCBwcm92aWRlcyBhbiBhZGRpdGlvbmFsIGV4YW1wbGUgb2ZcbiAgICAgIGEgbXV0YWJsZSBzZXF1ZW5jZSB0eXBlLCBhcyBkb2VzIHRoZSBgYGNvbGxlY3Rpb25zYGAgbW9kdWxlLlxuXG5TZXQgdHlwZXNcbiAgIFRoZXNlIHJlcHJlc2VudCB1bm9yZGVyZWQsIGZpbml0ZSBzZXRzIG9mIHVuaXF1ZSwgaW1tdXRhYmxlXG4gICBvYmplY3RzLiBBcyBzdWNoLCB0aGV5IGNhbm5vdCBiZSBpbmRleGVkIGJ5IGFueSBzdWJzY3JpcHQuIEhvd2V2ZXIsXG4gICB0aGV5IGNhbiBiZSBpdGVyYXRlZCBvdmVyLCBhbmQgdGhlIGJ1aWx0LWluIGZ1bmN0aW9uIGBgbGVuKClgYFxuICAgcmV0dXJucyB0aGUgbnVtYmVyIG9mIGl0ZW1zIGluIGEgc2V0LiBDb21tb24gdXNlcyBmb3Igc2V0cyBhcmUgZmFzdFxuICAgbWVtYmVyc2hpcCB0ZXN0aW5nLCByZW1vdmluZyBkdXBsaWNhdGVzIGZyb20gYSBzZXF1ZW5jZSwgYW5kXG4gICBjb21wdXRpbmcgbWF0aGVtYXRpY2FsIG9wZXJhdGlvbnMgc3VjaCBhcyBpbnRlcnNlY3Rpb24sIHVuaW9uLFxuICAgZGlmZmVyZW5jZSwgYW5kIHN5bW1ldHJpYyBkaWZmZXJlbmNlLlxuXG4gICBGb3Igc2V0IGVsZW1lbnRzLCB0aGUgc2FtZSBpbW11dGFiaWxpdHkgcnVsZXMgYXBwbHkgYXMgZm9yXG4gICBkaWN0aW9uYXJ5IGtleXMuIE5vdGUgdGhhdCBudW1lcmljIHR5cGVzIG9iZXkgdGhlIG5vcm1hbCBydWxlcyBmb3JcbiAgIG51bWVyaWMgY29tcGFyaXNvbjogaWYgdHdvIG51bWJlcnMgY29tcGFyZSBlcXVhbCAoZS5nLiwgYGAxYGAgYW5kXG4gICBgYDEuMGBgKSwgb25seSBvbmUgb2YgdGhlbSBjYW4gYmUgY29udGFpbmVkIGluIGEgc2V0LlxuXG4gICBUaGVyZSBhcmUgY3VycmVudGx5IHR3byBpbnRyaW5zaWMgc2V0IHR5cGVzOlxuXG4gICBTZXRzXG4gICAgICBUaGVzZSByZXByZXNlbnQgYSBtdXRhYmxlIHNldC4gVGhleSBhcmUgY3JlYXRlZCBieSB0aGUgYnVpbHQtaW5cbiAgICAgIGBgc2V0KClgYCBjb25zdHJ1Y3RvciBhbmQgY2FuIGJlIG1vZGlmaWVkIGFmdGVyd2FyZHMgYnkgc2V2ZXJhbFxuICAgICAgbWV0aG9kcywgc3VjaCBhcyBgYGFkZCgpYGAuXG5cbiAgIEZyb3plbiBzZXRzXG4gICAgICBUaGVzZSByZXByZXNlbnQgYW4gaW1tdXRhYmxlIHNldC4gIFRoZXkgYXJlIGNyZWF0ZWQgYnkgdGhlXG4gICAgICBidWlsdC1pbiBgYGZyb3plbnNldCgpYGAgY29uc3RydWN0b3IuICBBcyBhIGZyb3plbnNldCBpc1xuICAgICAgaW1tdXRhYmxlIGFuZCAqaGFzaGFibGUqLCBpdCBjYW4gYmUgdXNlZCBhZ2FpbiBhcyBhbiBlbGVtZW50IG9mXG4gICAgICBhbm90aGVyIHNldCwgb3IgYXMgYSBkaWN0aW9uYXJ5IGtleS5cblxuTWFwcGluZ3NcbiAgIFRoZXNlIHJlcHJlc2VudCBmaW5pdGUgc2V0cyBvZiBvYmplY3RzIGluZGV4ZWQgYnkgYXJiaXRyYXJ5IGluZGV4XG4gICBzZXRzLiBUaGUgc3Vic2NyaXB0IG5vdGF0aW9uIGBgYVtrXWBgIHNlbGVjdHMgdGhlIGl0ZW0gaW5kZXhlZCBieVxuICAgYGBrYGAgZnJvbSB0aGUgbWFwcGluZyBgYGFgYDsgdGhpcyBjYW4gYmUgdXNlZCBpbiBleHByZXNzaW9ucyBhbmRcbiAgIGFzIHRoZSB0YXJnZXQgb2YgYXNzaWdubWVudHMgb3IgYGBkZWxgYCBzdGF0ZW1lbnRzLiBUaGUgYnVpbHQtaW5cbiAgIGZ1bmN0aW9uIGBgbGVuKClgYCByZXR1cm5zIHRoZSBudW1iZXIgb2YgaXRlbXMgaW4gYSBtYXBwaW5nLlxuXG4gICBUaGVyZSBpcyBjdXJyZW50bHkgYSBzaW5nbGUgaW50cmluc2ljIG1hcHBpbmcgdHlwZTpcblxuICAgRGljdGlvbmFyaWVzXG4gICAgICBUaGVzZSByZXByZXNlbnQgZmluaXRlIHNldHMgb2Ygb2JqZWN0cyBpbmRleGVkIGJ5IG5lYXJseVxuICAgICAgYXJiaXRyYXJ5IHZhbHVlcy4gIFRoZSBvbmx5IHR5cGVzIG9mIHZhbHVlcyBub3QgYWNjZXB0YWJsZSBhc1xuICAgICAga2V5cyBhcmUgdmFsdWVzIGNvbnRhaW5pbmcgbGlzdHMgb3IgZGljdGlvbmFyaWVzIG9yIG90aGVyXG4gICAgICBtdXRhYmxlIHR5cGVzIHRoYXQgYXJlIGNvbXBhcmVkIGJ5IHZhbHVlIHJhdGhlciB0aGFuIGJ5IG9iamVjdFxuICAgICAgaWRlbnRpdHksIHRoZSByZWFzb24gYmVpbmcgdGhhdCB0aGUgZWZmaWNpZW50IGltcGxlbWVudGF0aW9uIG9mXG4gICAgICBkaWN0aW9uYXJpZXMgcmVxdWlyZXMgYSBrZXlcJ3MgaGFzaCB2YWx1ZSB0byByZW1haW4gY29uc3RhbnQuXG4gICAgICBOdW1lcmljIHR5cGVzIHVzZWQgZm9yIGtleXMgb2JleSB0aGUgbm9ybWFsIHJ1bGVzIGZvciBudW1lcmljXG4gICAgICBjb21wYXJpc29uOiBpZiB0d28gbnVtYmVycyBjb21wYXJlIGVxdWFsIChlLmcuLCBgYDFgYCBhbmRcbiAgICAgIGBgMS4wYGApIHRoZW4gdGhleSBjYW4gYmUgdXNlZCBpbnRlcmNoYW5nZWFibHkgdG8gaW5kZXggdGhlIHNhbWVcbiAgICAgIGRpY3Rpb25hcnkgZW50cnkuXG5cbiAgICAgIERpY3Rpb25hcmllcyBhcmUgbXV0YWJsZTsgdGhleSBjYW4gYmUgY3JlYXRlZCBieSB0aGUgYGB7Li4ufWBgXG4gICAgICBub3RhdGlvbiAoc2VlIHNlY3Rpb24gKkRpY3Rpb25hcnkgZGlzcGxheXMqKS5cblxuICAgICAgVGhlIGV4dGVuc2lvbiBtb2R1bGVzIGBgZGJtLm5kYm1gYCBhbmQgYGBkYm0uZ251YGAgcHJvdmlkZVxuICAgICAgYWRkaXRpb25hbCBleGFtcGxlcyBvZiBtYXBwaW5nIHR5cGVzLCBhcyBkb2VzIHRoZVxuICAgICAgYGBjb2xsZWN0aW9uc2BgIG1vZHVsZS5cblxuQ2FsbGFibGUgdHlwZXNcbiAgIFRoZXNlIGFyZSB0aGUgdHlwZXMgdG8gd2hpY2ggdGhlIGZ1bmN0aW9uIGNhbGwgb3BlcmF0aW9uIChzZWVcbiAgIHNlY3Rpb24gKkNhbGxzKikgY2FuIGJlIGFwcGxpZWQ6XG5cbiAgIFVzZXItZGVmaW5lZCBmdW5jdGlvbnNcbiAgICAgIEEgdXNlci1kZWZpbmVkIGZ1bmN0aW9uIG9iamVjdCBpcyBjcmVhdGVkIGJ5IGEgZnVuY3Rpb25cbiAgICAgIGRlZmluaXRpb24gKHNlZSBzZWN0aW9uICpGdW5jdGlvbiBkZWZpbml0aW9ucyopLiAgSXQgc2hvdWxkIGJlXG4gICAgICBjYWxsZWQgd2l0aCBhbiBhcmd1bWVudCBsaXN0IGNvbnRhaW5pbmcgdGhlIHNhbWUgbnVtYmVyIG9mIGl0ZW1zXG4gICAgICBhcyB0aGUgZnVuY3Rpb25cJ3MgZm9ybWFsIHBhcmFtZXRlciBsaXN0LlxuXG4gICAgICBTcGVjaWFsIGF0dHJpYnV0ZXM6XG5cbiAgICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rXG4gICAgICB8IEF0dHJpYnV0ZSAgICAgICAgICAgICAgICAgfCBNZWFuaW5nICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgfFxuICAgICAgKz09PT09PT09PT09PT09PT09PT09PT09PT09PSs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0rPT09PT09PT09PT09PStcbiAgICAgIHwgYGBfX2RvY19fYGAgICAgICAgICAgICAgICB8IFRoZSBmdW5jdGlvblwncyBkb2N1bWVudGF0aW9uICAgIHwgV3JpdGFibGUgICAgfFxuICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgc3RyaW5nLCBvciBgYE5vbmVgYCBpZiAgICAgICAgICB8ICAgICAgICAgICAgIHxcbiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICB8IHVuYXZhaWxhYmxlICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICB8XG4gICAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tK1xuICAgICAgfCBgYF9fbmFtZV9fYGAgICAgICAgICAgICAgIHwgVGhlIGZ1bmN0aW9uXCdzIG5hbWUgICAgICAgICAgICAgfCBXcml0YWJsZSAgICB8XG4gICAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tK1xuICAgICAgfCBgYF9fbW9kdWxlX19gYCAgICAgICAgICAgIHwgVGhlIG5hbWUgb2YgdGhlIG1vZHVsZSB0aGUgICAgICB8IFdyaXRhYmxlICAgIHxcbiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGZ1bmN0aW9uIHdhcyBkZWZpbmVkIGluLCBvciAgICAgfCAgICAgICAgICAgICB8XG4gICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBgYE5vbmVgYCBpZiB1bmF2YWlsYWJsZS4gICAgICAgIHwgICAgICAgICAgICAgfFxuICAgICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLStcbiAgICAgIHwgYGBfX2RlZmF1bHRzX19gYCAgICAgICAgICB8IEEgdHVwbGUgY29udGFpbmluZyBkZWZhdWx0ICAgICAgfCBXcml0YWJsZSAgICB8XG4gICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBhcmd1bWVudCB2YWx1ZXMgZm9yIHRob3NlICAgICAgIHwgICAgICAgICAgICAgfFxuICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYXJndW1lbnRzIHRoYXQgaGF2ZSBkZWZhdWx0cywgICB8ICAgICAgICAgICAgIHxcbiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICB8IG9yIGBgTm9uZWBgIGlmIG5vIGFyZ3VtZW50cyAgICAgfCAgICAgICAgICAgICB8XG4gICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBoYXZlIGEgZGVmYXVsdCB2YWx1ZSAgICAgICAgICAgIHwgICAgICAgICAgICAgfFxuICAgICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLStcbiAgICAgIHwgYGBfX2NvZGVfX2BgICAgICAgICAgICAgICB8IFRoZSBjb2RlIG9iamVjdCByZXByZXNlbnRpbmcgICAgfCBXcml0YWJsZSAgICB8XG4gICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCB0aGUgY29tcGlsZWQgZnVuY3Rpb24gYm9keS4gICAgIHwgICAgICAgICAgICAgfFxuICAgICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLStcbiAgICAgIHwgYGBfX2dsb2JhbHNfX2BgICAgICAgICAgICB8IEEgcmVmZXJlbmNlIHRvIHRoZSBkaWN0aW9uYXJ5ICAgfCBSZWFkLW9ubHkgICB8XG4gICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCB0aGF0IGhvbGRzIHRoZSBmdW5jdGlvblwncyAgICAgICB8ICAgICAgICAgICAgIHxcbiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGdsb2JhbCB2YXJpYWJsZXMgLS0tIHRoZSBnbG9iYWwgfCAgICAgICAgICAgICB8XG4gICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBuYW1lc3BhY2Ugb2YgdGhlIG1vZHVsZSBpbiAgICAgIHwgICAgICAgICAgICAgfFxuICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgd2hpY2ggdGhlIGZ1bmN0aW9uIHdhcyBkZWZpbmVkLiB8ICAgICAgICAgICAgIHxcbiAgICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rXG4gICAgICB8IGBgX19kaWN0X19gYCAgICAgICAgICAgICAgfCBUaGUgbmFtZXNwYWNlIHN1cHBvcnRpbmcgICAgICAgIHwgV3JpdGFibGUgICAgfFxuICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYXJiaXRyYXJ5IGZ1bmN0aW9uIGF0dHJpYnV0ZXMuICB8ICAgICAgICAgICAgIHxcbiAgICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rXG4gICAgICB8IGBgX19jbG9zdXJlX19gYCAgICAgICAgICAgfCBgYE5vbmVgYCBvciBhIHR1cGxlIG9mIGNlbGxzICAgIHwgUmVhZC1vbmx5ICAgfFxuICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgdGhhdCBjb250YWluIGJpbmRpbmdzIGZvciB0aGUgICB8ICAgICAgICAgICAgIHxcbiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGZ1bmN0aW9uXCdzIGZyZWUgdmFyaWFibGVzLiAgICAgIHwgICAgICAgICAgICAgfFxuICAgICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLStcbiAgICAgIHwgYGBfX2Fubm90YXRpb25zX19gYCAgICAgICB8IEEgZGljdCBjb250YWluaW5nIGFubm90YXRpb25zICAgfCBXcml0YWJsZSAgICB8XG4gICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBvZiBwYXJhbWV0ZXJzLiAgVGhlIGtleXMgb2YgdGhlIHwgICAgICAgICAgICAgfFxuICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgZGljdCBhcmUgdGhlIHBhcmFtZXRlciBuYW1lcywgICB8ICAgICAgICAgICAgIHxcbiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICB8IG9yIGBgXCdyZXR1cm5cJ2BgIGZvciB0aGUgcmV0dXJuICB8ICAgICAgICAgICAgIHxcbiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGFubm90YXRpb24sIGlmIHByb3ZpZGVkLiAgICAgICAgfCAgICAgICAgICAgICB8XG4gICAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tK1xuICAgICAgfCBgYF9fa3dkZWZhdWx0c19fYGAgICAgICAgIHwgQSBkaWN0IGNvbnRhaW5pbmcgZGVmYXVsdHMgZm9yICB8IFdyaXRhYmxlICAgIHxcbiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGtleXdvcmQtb25seSBwYXJhbWV0ZXJzLiAgICAgICAgfCAgICAgICAgICAgICB8XG4gICAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tK1xuXG4gICAgICBNb3N0IG9mIHRoZSBhdHRyaWJ1dGVzIGxhYmVsbGVkICJXcml0YWJsZSIgY2hlY2sgdGhlIHR5cGUgb2YgdGhlXG4gICAgICBhc3NpZ25lZCB2YWx1ZS5cblxuICAgICAgRnVuY3Rpb24gb2JqZWN0cyBhbHNvIHN1cHBvcnQgZ2V0dGluZyBhbmQgc2V0dGluZyBhcmJpdHJhcnlcbiAgICAgIGF0dHJpYnV0ZXMsIHdoaWNoIGNhbiBiZSB1c2VkLCBmb3IgZXhhbXBsZSwgdG8gYXR0YWNoIG1ldGFkYXRhXG4gICAgICB0byBmdW5jdGlvbnMuICBSZWd1bGFyIGF0dHJpYnV0ZSBkb3Qtbm90YXRpb24gaXMgdXNlZCB0byBnZXQgYW5kXG4gICAgICBzZXQgc3VjaCBhdHRyaWJ1dGVzLiAqTm90ZSB0aGF0IHRoZSBjdXJyZW50IGltcGxlbWVudGF0aW9uIG9ubHlcbiAgICAgIHN1cHBvcnRzIGZ1bmN0aW9uIGF0dHJpYnV0ZXMgb24gdXNlci1kZWZpbmVkIGZ1bmN0aW9ucy4gRnVuY3Rpb25cbiAgICAgIGF0dHJpYnV0ZXMgb24gYnVpbHQtaW4gZnVuY3Rpb25zIG1heSBiZSBzdXBwb3J0ZWQgaW4gdGhlXG4gICAgICBmdXR1cmUuKlxuXG4gICAgICBBZGRpdGlvbmFsIGluZm9ybWF0aW9uIGFib3V0IGEgZnVuY3Rpb25cJ3MgZGVmaW5pdGlvbiBjYW4gYmVcbiAgICAgIHJldHJpZXZlZCBmcm9tIGl0cyBjb2RlIG9iamVjdDsgc2VlIHRoZSBkZXNjcmlwdGlvbiBvZiBpbnRlcm5hbFxuICAgICAgdHlwZXMgYmVsb3cuXG5cbiAgIEluc3RhbmNlIG1ldGhvZHNcbiAgICAgIEFuIGluc3RhbmNlIG1ldGhvZCBvYmplY3QgY29tYmluZXMgYSBjbGFzcywgYSBjbGFzcyBpbnN0YW5jZSBhbmRcbiAgICAgIGFueSBjYWxsYWJsZSBvYmplY3QgKG5vcm1hbGx5IGEgdXNlci1kZWZpbmVkIGZ1bmN0aW9uKS5cblxuICAgICAgU3BlY2lhbCByZWFkLW9ubHkgYXR0cmlidXRlczogYGBfX3NlbGZfX2BgIGlzIHRoZSBjbGFzcyBpbnN0YW5jZVxuICAgICAgb2JqZWN0LCBgYF9fZnVuY19fYGAgaXMgdGhlIGZ1bmN0aW9uIG9iamVjdDsgYGBfX2RvY19fYGAgaXMgdGhlXG4gICAgICBtZXRob2RcJ3MgZG9jdW1lbnRhdGlvbiAoc2FtZSBhcyBgYF9fZnVuY19fLl9fZG9jX19gYCk7XG4gICAgICBgYF9fbmFtZV9fYGAgaXMgdGhlIG1ldGhvZCBuYW1lIChzYW1lIGFzIGBgX19mdW5jX18uX19uYW1lX19gYCk7XG4gICAgICBgYF9fbW9kdWxlX19gYCBpcyB0aGUgbmFtZSBvZiB0aGUgbW9kdWxlIHRoZSBtZXRob2Qgd2FzIGRlZmluZWRcbiAgICAgIGluLCBvciBgYE5vbmVgYCBpZiB1bmF2YWlsYWJsZS5cblxuICAgICAgTWV0aG9kcyBhbHNvIHN1cHBvcnQgYWNjZXNzaW5nIChidXQgbm90IHNldHRpbmcpIHRoZSBhcmJpdHJhcnlcbiAgICAgIGZ1bmN0aW9uIGF0dHJpYnV0ZXMgb24gdGhlIHVuZGVybHlpbmcgZnVuY3Rpb24gb2JqZWN0LlxuXG4gICAgICBVc2VyLWRlZmluZWQgbWV0aG9kIG9iamVjdHMgbWF5IGJlIGNyZWF0ZWQgd2hlbiBnZXR0aW5nIGFuXG4gICAgICBhdHRyaWJ1dGUgb2YgYSBjbGFzcyAocGVyaGFwcyB2aWEgYW4gaW5zdGFuY2Ugb2YgdGhhdCBjbGFzcyksIGlmXG4gICAgICB0aGF0IGF0dHJpYnV0ZSBpcyBhIHVzZXItZGVmaW5lZCBmdW5jdGlvbiBvYmplY3Qgb3IgYSBjbGFzc1xuICAgICAgbWV0aG9kIG9iamVjdC5cblxuICAgICAgV2hlbiBhbiBpbnN0YW5jZSBtZXRob2Qgb2JqZWN0IGlzIGNyZWF0ZWQgYnkgcmV0cmlldmluZyBhIHVzZXItXG4gICAgICBkZWZpbmVkIGZ1bmN0aW9uIG9iamVjdCBmcm9tIGEgY2xhc3MgdmlhIG9uZSBvZiBpdHMgaW5zdGFuY2VzLFxuICAgICAgaXRzIGBgX19zZWxmX19gYCBhdHRyaWJ1dGUgaXMgdGhlIGluc3RhbmNlLCBhbmQgdGhlIG1ldGhvZFxuICAgICAgb2JqZWN0IGlzIHNhaWQgdG8gYmUgYm91bmQuICBUaGUgbmV3IG1ldGhvZFwncyBgYF9fZnVuY19fYGBcbiAgICAgIGF0dHJpYnV0ZSBpcyB0aGUgb3JpZ2luYWwgZnVuY3Rpb24gb2JqZWN0LlxuXG4gICAgICBXaGVuIGEgdXNlci1kZWZpbmVkIG1ldGhvZCBvYmplY3QgaXMgY3JlYXRlZCBieSByZXRyaWV2aW5nXG4gICAgICBhbm90aGVyIG1ldGhvZCBvYmplY3QgZnJvbSBhIGNsYXNzIG9yIGluc3RhbmNlLCB0aGUgYmVoYXZpb3VyIGlzXG4gICAgICB0aGUgc2FtZSBhcyBmb3IgYSBmdW5jdGlvbiBvYmplY3QsIGV4Y2VwdCB0aGF0IHRoZSBgYF9fZnVuY19fYGBcbiAgICAgIGF0dHJpYnV0ZSBvZiB0aGUgbmV3IGluc3RhbmNlIGlzIG5vdCB0aGUgb3JpZ2luYWwgbWV0aG9kIG9iamVjdFxuICAgICAgYnV0IGl0cyBgYF9fZnVuY19fYGAgYXR0cmlidXRlLlxuXG4gICAgICBXaGVuIGFuIGluc3RhbmNlIG1ldGhvZCBvYmplY3QgaXMgY3JlYXRlZCBieSByZXRyaWV2aW5nIGEgY2xhc3NcbiAgICAgIG1ldGhvZCBvYmplY3QgZnJvbSBhIGNsYXNzIG9yIGluc3RhbmNlLCBpdHMgYGBfX3NlbGZfX2BgXG4gICAgICBhdHRyaWJ1dGUgaXMgdGhlIGNsYXNzIGl0c2VsZiwgYW5kIGl0cyBgYF9fZnVuY19fYGAgYXR0cmlidXRlIGlzXG4gICAgICB0aGUgZnVuY3Rpb24gb2JqZWN0IHVuZGVybHlpbmcgdGhlIGNsYXNzIG1ldGhvZC5cblxuICAgICAgV2hlbiBhbiBpbnN0YW5jZSBtZXRob2Qgb2JqZWN0IGlzIGNhbGxlZCwgdGhlIHVuZGVybHlpbmdcbiAgICAgIGZ1bmN0aW9uIChgYF9fZnVuY19fYGApIGlzIGNhbGxlZCwgaW5zZXJ0aW5nIHRoZSBjbGFzcyBpbnN0YW5jZVxuICAgICAgKGBgX19zZWxmX19gYCkgaW4gZnJvbnQgb2YgdGhlIGFyZ3VtZW50IGxpc3QuICBGb3IgaW5zdGFuY2UsXG4gICAgICB3aGVuIGBgQ2BgIGlzIGEgY2xhc3Mgd2hpY2ggY29udGFpbnMgYSBkZWZpbml0aW9uIGZvciBhIGZ1bmN0aW9uXG4gICAgICBgYGYoKWBgLCBhbmQgYGB4YGAgaXMgYW4gaW5zdGFuY2Ugb2YgYGBDYGAsIGNhbGxpbmcgYGB4LmYoMSlgYFxuICAgICAgaXMgZXF1aXZhbGVudCB0byBjYWxsaW5nIGBgQy5mKHgsIDEpYGAuXG5cbiAgICAgIFdoZW4gYW4gaW5zdGFuY2UgbWV0aG9kIG9iamVjdCBpcyBkZXJpdmVkIGZyb20gYSBjbGFzcyBtZXRob2RcbiAgICAgIG9iamVjdCwgdGhlICJjbGFzcyBpbnN0YW5jZSIgc3RvcmVkIGluIGBgX19zZWxmX19gYCB3aWxsXG4gICAgICBhY3R1YWxseSBiZSB0aGUgY2xhc3MgaXRzZWxmLCBzbyB0aGF0IGNhbGxpbmcgZWl0aGVyIGBgeC5mKDEpYGBcbiAgICAgIG9yIGBgQy5mKDEpYGAgaXMgZXF1aXZhbGVudCB0byBjYWxsaW5nIGBgZihDLDEpYGAgd2hlcmUgYGBmYGAgaXNcbiAgICAgIHRoZSB1bmRlcmx5aW5nIGZ1bmN0aW9uLlxuXG4gICAgICBOb3RlIHRoYXQgdGhlIHRyYW5zZm9ybWF0aW9uIGZyb20gZnVuY3Rpb24gb2JqZWN0IHRvIGluc3RhbmNlXG4gICAgICBtZXRob2Qgb2JqZWN0IGhhcHBlbnMgZWFjaCB0aW1lIHRoZSBhdHRyaWJ1dGUgaXMgcmV0cmlldmVkIGZyb21cbiAgICAgIHRoZSBpbnN0YW5jZS4gIEluIHNvbWUgY2FzZXMsIGEgZnJ1aXRmdWwgb3B0aW1pemF0aW9uIGlzIHRvXG4gICAgICBhc3NpZ24gdGhlIGF0dHJpYnV0ZSB0byBhIGxvY2FsIHZhcmlhYmxlIGFuZCBjYWxsIHRoYXQgbG9jYWxcbiAgICAgIHZhcmlhYmxlLiBBbHNvIG5vdGljZSB0aGF0IHRoaXMgdHJhbnNmb3JtYXRpb24gb25seSBoYXBwZW5zIGZvclxuICAgICAgdXNlci1kZWZpbmVkIGZ1bmN0aW9uczsgb3RoZXIgY2FsbGFibGUgb2JqZWN0cyAoYW5kIGFsbCBub24tXG4gICAgICBjYWxsYWJsZSBvYmplY3RzKSBhcmUgcmV0cmlldmVkIHdpdGhvdXQgdHJhbnNmb3JtYXRpb24uICBJdCBpc1xuICAgICAgYWxzbyBpbXBvcnRhbnQgdG8gbm90ZSB0aGF0IHVzZXItZGVmaW5lZCBmdW5jdGlvbnMgd2hpY2ggYXJlXG4gICAgICBhdHRyaWJ1dGVzIG9mIGEgY2xhc3MgaW5zdGFuY2UgYXJlIG5vdCBjb252ZXJ0ZWQgdG8gYm91bmRcbiAgICAgIG1ldGhvZHM7IHRoaXMgKm9ubHkqIGhhcHBlbnMgd2hlbiB0aGUgZnVuY3Rpb24gaXMgYW4gYXR0cmlidXRlXG4gICAgICBvZiB0aGUgY2xhc3MuXG5cbiAgIEdlbmVyYXRvciBmdW5jdGlvbnNcbiAgICAgIEEgZnVuY3Rpb24gb3IgbWV0aG9kIHdoaWNoIHVzZXMgdGhlIGBgeWllbGRgYCBzdGF0ZW1lbnQgKHNlZVxuICAgICAgc2VjdGlvbiAqVGhlIHlpZWxkIHN0YXRlbWVudCopIGlzIGNhbGxlZCBhICpnZW5lcmF0b3IgZnVuY3Rpb24qLlxuICAgICAgU3VjaCBhIGZ1bmN0aW9uLCB3aGVuIGNhbGxlZCwgYWx3YXlzIHJldHVybnMgYW4gaXRlcmF0b3Igb2JqZWN0XG4gICAgICB3aGljaCBjYW4gYmUgdXNlZCB0byBleGVjdXRlIHRoZSBib2R5IG9mIHRoZSBmdW5jdGlvbjogIGNhbGxpbmdcbiAgICAgIHRoZSBpdGVyYXRvclwncyBgYF9fbmV4dF9fKClgYCBtZXRob2Qgd2lsbCBjYXVzZSB0aGUgZnVuY3Rpb24gdG9cbiAgICAgIGV4ZWN1dGUgdW50aWwgaXQgcHJvdmlkZXMgYSB2YWx1ZSB1c2luZyB0aGUgYGB5aWVsZGBgIHN0YXRlbWVudC5cbiAgICAgIFdoZW4gdGhlIGZ1bmN0aW9uIGV4ZWN1dGVzIGEgYGByZXR1cm5gYCBzdGF0ZW1lbnQgb3IgZmFsbHMgb2ZmXG4gICAgICB0aGUgZW5kLCBhIGBgU3RvcEl0ZXJhdGlvbmBgIGV4Y2VwdGlvbiBpcyByYWlzZWQgYW5kIHRoZVxuICAgICAgaXRlcmF0b3Igd2lsbCBoYXZlIHJlYWNoZWQgdGhlIGVuZCBvZiB0aGUgc2V0IG9mIHZhbHVlcyB0byBiZVxuICAgICAgcmV0dXJuZWQuXG5cbiAgIEJ1aWx0LWluIGZ1bmN0aW9uc1xuICAgICAgQSBidWlsdC1pbiBmdW5jdGlvbiBvYmplY3QgaXMgYSB3cmFwcGVyIGFyb3VuZCBhIEMgZnVuY3Rpb24uXG4gICAgICBFeGFtcGxlcyBvZiBidWlsdC1pbiBmdW5jdGlvbnMgYXJlIGBgbGVuKClgYCBhbmQgYGBtYXRoLnNpbigpYGBcbiAgICAgIChgYG1hdGhgYCBpcyBhIHN0YW5kYXJkIGJ1aWx0LWluIG1vZHVsZSkuIFRoZSBudW1iZXIgYW5kIHR5cGUgb2ZcbiAgICAgIHRoZSBhcmd1bWVudHMgYXJlIGRldGVybWluZWQgYnkgdGhlIEMgZnVuY3Rpb24uIFNwZWNpYWwgcmVhZC1cbiAgICAgIG9ubHkgYXR0cmlidXRlczogYGBfX2RvY19fYGAgaXMgdGhlIGZ1bmN0aW9uXCdzIGRvY3VtZW50YXRpb25cbiAgICAgIHN0cmluZywgb3IgYGBOb25lYGAgaWYgdW5hdmFpbGFibGU7IGBgX19uYW1lX19gYCBpcyB0aGVcbiAgICAgIGZ1bmN0aW9uXCdzIG5hbWU7IGBgX19zZWxmX19gYCBpcyBzZXQgdG8gYGBOb25lYGAgKGJ1dCBzZWUgdGhlXG4gICAgICBuZXh0IGl0ZW0pOyBgYF9fbW9kdWxlX19gYCBpcyB0aGUgbmFtZSBvZiB0aGUgbW9kdWxlIHRoZVxuICAgICAgZnVuY3Rpb24gd2FzIGRlZmluZWQgaW4gb3IgYGBOb25lYGAgaWYgdW5hdmFpbGFibGUuXG5cbiAgIEJ1aWx0LWluIG1ldGhvZHNcbiAgICAgIFRoaXMgaXMgcmVhbGx5IGEgZGlmZmVyZW50IGRpc2d1aXNlIG9mIGEgYnVpbHQtaW4gZnVuY3Rpb24sIHRoaXNcbiAgICAgIHRpbWUgY29udGFpbmluZyBhbiBvYmplY3QgcGFzc2VkIHRvIHRoZSBDIGZ1bmN0aW9uIGFzIGFuXG4gICAgICBpbXBsaWNpdCBleHRyYSBhcmd1bWVudC4gIEFuIGV4YW1wbGUgb2YgYSBidWlsdC1pbiBtZXRob2QgaXNcbiAgICAgIGBgYWxpc3QuYXBwZW5kKClgYCwgYXNzdW1pbmcgKmFsaXN0KiBpcyBhIGxpc3Qgb2JqZWN0LiBJbiB0aGlzXG4gICAgICBjYXNlLCB0aGUgc3BlY2lhbCByZWFkLW9ubHkgYXR0cmlidXRlIGBgX19zZWxmX19gYCBpcyBzZXQgdG8gdGhlXG4gICAgICBvYmplY3QgZGVub3RlZCBieSAqYWxpc3QqLlxuXG4gICBDbGFzc2VzXG4gICAgICBDbGFzc2VzIGFyZSBjYWxsYWJsZS4gIFRoZXNlIG9iamVjdHMgbm9ybWFsbHkgYWN0IGFzIGZhY3Rvcmllc1xuICAgICAgZm9yIG5ldyBpbnN0YW5jZXMgb2YgdGhlbXNlbHZlcywgYnV0IHZhcmlhdGlvbnMgYXJlIHBvc3NpYmxlIGZvclxuICAgICAgY2xhc3MgdHlwZXMgdGhhdCBvdmVycmlkZSBgYF9fbmV3X18oKWBgLiAgVGhlIGFyZ3VtZW50cyBvZiB0aGVcbiAgICAgIGNhbGwgYXJlIHBhc3NlZCB0byBgYF9fbmV3X18oKWBgIGFuZCwgaW4gdGhlIHR5cGljYWwgY2FzZSwgdG9cbiAgICAgIGBgX19pbml0X18oKWBgIHRvIGluaXRpYWxpemUgdGhlIG5ldyBpbnN0YW5jZS5cblxuICAgQ2xhc3MgSW5zdGFuY2VzXG4gICAgICBJbnN0YW5jZXMgb2YgYXJiaXRyYXJ5IGNsYXNzZXMgY2FuIGJlIG1hZGUgY2FsbGFibGUgYnkgZGVmaW5pbmdcbiAgICAgIGEgYGBfX2NhbGxfXygpYGAgbWV0aG9kIGluIHRoZWlyIGNsYXNzLlxuXG5Nb2R1bGVzXG4gICBNb2R1bGVzIGFyZSBpbXBvcnRlZCBieSB0aGUgYGBpbXBvcnRgYCBzdGF0ZW1lbnQgKHNlZSBzZWN0aW9uICpUaGVcbiAgIGltcG9ydCBzdGF0ZW1lbnQqKS4gQSBtb2R1bGUgb2JqZWN0IGhhcyBhIG5hbWVzcGFjZSBpbXBsZW1lbnRlZCBieVxuICAgYSBkaWN0aW9uYXJ5IG9iamVjdCAodGhpcyBpcyB0aGUgZGljdGlvbmFyeSByZWZlcmVuY2VkIGJ5IHRoZVxuICAgX19nbG9iYWxzX18gYXR0cmlidXRlIG9mIGZ1bmN0aW9ucyBkZWZpbmVkIGluIHRoZSBtb2R1bGUpLlxuICAgQXR0cmlidXRlIHJlZmVyZW5jZXMgYXJlIHRyYW5zbGF0ZWQgdG8gbG9va3VwcyBpbiB0aGlzIGRpY3Rpb25hcnksXG4gICBlLmcuLCBgYG0ueGBgIGlzIGVxdWl2YWxlbnQgdG8gYGBtLl9fZGljdF9fWyJ4Il1gYC4gQSBtb2R1bGUgb2JqZWN0XG4gICBkb2VzIG5vdCBjb250YWluIHRoZSBjb2RlIG9iamVjdCB1c2VkIHRvIGluaXRpYWxpemUgdGhlIG1vZHVsZVxuICAgKHNpbmNlIGl0IGlzblwndCBuZWVkZWQgb25jZSB0aGUgaW5pdGlhbGl6YXRpb24gaXMgZG9uZSkuXG5cbiAgIEF0dHJpYnV0ZSBhc3NpZ25tZW50IHVwZGF0ZXMgdGhlIG1vZHVsZVwncyBuYW1lc3BhY2UgZGljdGlvbmFyeSxcbiAgIGUuZy4sIGBgbS54ID0gMWBgIGlzIGVxdWl2YWxlbnQgdG8gYGBtLl9fZGljdF9fWyJ4Il0gPSAxYGAuXG5cbiAgIFNwZWNpYWwgcmVhZC1vbmx5IGF0dHJpYnV0ZTogYGBfX2RpY3RfX2BgIGlzIHRoZSBtb2R1bGVcJ3MgbmFtZXNwYWNlXG4gICBhcyBhIGRpY3Rpb25hcnkgb2JqZWN0LlxuXG4gICAqKkNQeXRob24gaW1wbGVtZW50YXRpb24gZGV0YWlsOioqIEJlY2F1c2Ugb2YgdGhlIHdheSBDUHl0aG9uXG4gICBjbGVhcnMgbW9kdWxlIGRpY3Rpb25hcmllcywgdGhlIG1vZHVsZSBkaWN0aW9uYXJ5IHdpbGwgYmUgY2xlYXJlZFxuICAgd2hlbiB0aGUgbW9kdWxlIGZhbGxzIG91dCBvZiBzY29wZSBldmVuIGlmIHRoZSBkaWN0aW9uYXJ5IHN0aWxsIGhhc1xuICAgbGl2ZSByZWZlcmVuY2VzLiAgVG8gYXZvaWQgdGhpcywgY29weSB0aGUgZGljdGlvbmFyeSBvciBrZWVwIHRoZVxuICAgbW9kdWxlIGFyb3VuZCB3aGlsZSB1c2luZyBpdHMgZGljdGlvbmFyeSBkaXJlY3RseS5cblxuICAgUHJlZGVmaW5lZCAod3JpdGFibGUpIGF0dHJpYnV0ZXM6IGBgX19uYW1lX19gYCBpcyB0aGUgbW9kdWxlXCdzXG4gICBuYW1lOyBgYF9fZG9jX19gYCBpcyB0aGUgbW9kdWxlXCdzIGRvY3VtZW50YXRpb24gc3RyaW5nLCBvciBgYE5vbmVgYFxuICAgaWYgdW5hdmFpbGFibGU7IGBgX19maWxlX19gYCBpcyB0aGUgcGF0aG5hbWUgb2YgdGhlIGZpbGUgZnJvbSB3aGljaFxuICAgdGhlIG1vZHVsZSB3YXMgbG9hZGVkLCBpZiBpdCB3YXMgbG9hZGVkIGZyb20gYSBmaWxlLiBUaGVcbiAgIGBgX19maWxlX19gYCBhdHRyaWJ1dGUgaXMgbm90IHByZXNlbnQgZm9yIEMgbW9kdWxlcyB0aGF0IGFyZVxuICAgc3RhdGljYWxseSBsaW5rZWQgaW50byB0aGUgaW50ZXJwcmV0ZXI7IGZvciBleHRlbnNpb24gbW9kdWxlc1xuICAgbG9hZGVkIGR5bmFtaWNhbGx5IGZyb20gYSBzaGFyZWQgbGlicmFyeSwgaXQgaXMgdGhlIHBhdGhuYW1lIG9mIHRoZVxuICAgc2hhcmVkIGxpYnJhcnkgZmlsZS5cblxuQ3VzdG9tIGNsYXNzZXNcbiAgIEN1c3RvbSBjbGFzcyB0eXBlcyBhcmUgdHlwaWNhbGx5IGNyZWF0ZWQgYnkgY2xhc3MgZGVmaW5pdGlvbnMgKHNlZVxuICAgc2VjdGlvbiAqQ2xhc3MgZGVmaW5pdGlvbnMqKS4gIEEgY2xhc3MgaGFzIGEgbmFtZXNwYWNlIGltcGxlbWVudGVkXG4gICBieSBhIGRpY3Rpb25hcnkgb2JqZWN0LiBDbGFzcyBhdHRyaWJ1dGUgcmVmZXJlbmNlcyBhcmUgdHJhbnNsYXRlZFxuICAgdG8gbG9va3VwcyBpbiB0aGlzIGRpY3Rpb25hcnksIGUuZy4sIGBgQy54YGAgaXMgdHJhbnNsYXRlZCB0b1xuICAgYGBDLl9fZGljdF9fWyJ4Il1gYCAoYWx0aG91Z2ggdGhlcmUgYXJlIGEgbnVtYmVyIG9mIGhvb2tzIHdoaWNoXG4gICBhbGxvdyBmb3Igb3RoZXIgbWVhbnMgb2YgbG9jYXRpbmcgYXR0cmlidXRlcykuIFdoZW4gdGhlIGF0dHJpYnV0ZVxuICAgbmFtZSBpcyBub3QgZm91bmQgdGhlcmUsIHRoZSBhdHRyaWJ1dGUgc2VhcmNoIGNvbnRpbnVlcyBpbiB0aGUgYmFzZVxuICAgY2xhc3Nlcy4gVGhpcyBzZWFyY2ggb2YgdGhlIGJhc2UgY2xhc3NlcyB1c2VzIHRoZSBDMyBtZXRob2RcbiAgIHJlc29sdXRpb24gb3JkZXIgd2hpY2ggYmVoYXZlcyBjb3JyZWN0bHkgZXZlbiBpbiB0aGUgcHJlc2VuY2Ugb2ZcbiAgIFwnZGlhbW9uZFwnIGluaGVyaXRhbmNlIHN0cnVjdHVyZXMgd2hlcmUgdGhlcmUgYXJlIG11bHRpcGxlXG4gICBpbmhlcml0YW5jZSBwYXRocyBsZWFkaW5nIGJhY2sgdG8gYSBjb21tb24gYW5jZXN0b3IuIEFkZGl0aW9uYWxcbiAgIGRldGFpbHMgb24gdGhlIEMzIE1STyB1c2VkIGJ5IFB5dGhvbiBjYW4gYmUgZm91bmQgaW4gdGhlXG4gICBkb2N1bWVudGF0aW9uIGFjY29tcGFueWluZyB0aGUgMi4zIHJlbGVhc2UgYXRcbiAgIGh0dHA6Ly93d3cucHl0aG9uLm9yZy9kb3dubG9hZC9yZWxlYXNlcy8yLjMvbXJvLy5cblxuICAgV2hlbiBhIGNsYXNzIGF0dHJpYnV0ZSByZWZlcmVuY2UgKGZvciBjbGFzcyBgYENgYCwgc2F5KSB3b3VsZCB5aWVsZFxuICAgYSBjbGFzcyBtZXRob2Qgb2JqZWN0LCBpdCBpcyB0cmFuc2Zvcm1lZCBpbnRvIGFuIGluc3RhbmNlIG1ldGhvZFxuICAgb2JqZWN0IHdob3NlIGBgX19zZWxmX19gYCBhdHRyaWJ1dGVzIGlzIGBgQ2BgLiAgV2hlbiBpdCB3b3VsZCB5aWVsZFxuICAgYSBzdGF0aWMgbWV0aG9kIG9iamVjdCwgaXQgaXMgdHJhbnNmb3JtZWQgaW50byB0aGUgb2JqZWN0IHdyYXBwZWRcbiAgIGJ5IHRoZSBzdGF0aWMgbWV0aG9kIG9iamVjdC4gU2VlIHNlY3Rpb24gKkltcGxlbWVudGluZyBEZXNjcmlwdG9ycypcbiAgIGZvciBhbm90aGVyIHdheSBpbiB3aGljaCBhdHRyaWJ1dGVzIHJldHJpZXZlZCBmcm9tIGEgY2xhc3MgbWF5XG4gICBkaWZmZXIgZnJvbSB0aG9zZSBhY3R1YWxseSBjb250YWluZWQgaW4gaXRzIGBgX19kaWN0X19gYC5cblxuICAgQ2xhc3MgYXR0cmlidXRlIGFzc2lnbm1lbnRzIHVwZGF0ZSB0aGUgY2xhc3NcJ3MgZGljdGlvbmFyeSwgbmV2ZXJcbiAgIHRoZSBkaWN0aW9uYXJ5IG9mIGEgYmFzZSBjbGFzcy5cblxuICAgQSBjbGFzcyBvYmplY3QgY2FuIGJlIGNhbGxlZCAoc2VlIGFib3ZlKSB0byB5aWVsZCBhIGNsYXNzIGluc3RhbmNlXG4gICAoc2VlIGJlbG93KS5cblxuICAgU3BlY2lhbCBhdHRyaWJ1dGVzOiBgYF9fbmFtZV9fYGAgaXMgdGhlIGNsYXNzIG5hbWU7IGBgX19tb2R1bGVfX2BgXG4gICBpcyB0aGUgbW9kdWxlIG5hbWUgaW4gd2hpY2ggdGhlIGNsYXNzIHdhcyBkZWZpbmVkOyBgYF9fZGljdF9fYGAgaXNcbiAgIHRoZSBkaWN0aW9uYXJ5IGNvbnRhaW5pbmcgdGhlIGNsYXNzXCdzIG5hbWVzcGFjZTsgYGBfX2Jhc2VzX19gYCBpcyBhXG4gICB0dXBsZSAocG9zc2libHkgZW1wdHkgb3IgYSBzaW5nbGV0b24pIGNvbnRhaW5pbmcgdGhlIGJhc2UgY2xhc3NlcyxcbiAgIGluIHRoZSBvcmRlciBvZiB0aGVpciBvY2N1cnJlbmNlIGluIHRoZSBiYXNlIGNsYXNzIGxpc3Q7XG4gICBgYF9fZG9jX19gYCBpcyB0aGUgY2xhc3NcJ3MgZG9jdW1lbnRhdGlvbiBzdHJpbmcsIG9yIE5vbmUgaWZcbiAgIHVuZGVmaW5lZC5cblxuQ2xhc3MgaW5zdGFuY2VzXG4gICBBIGNsYXNzIGluc3RhbmNlIGlzIGNyZWF0ZWQgYnkgY2FsbGluZyBhIGNsYXNzIG9iamVjdCAoc2VlIGFib3ZlKS5cbiAgIEEgY2xhc3MgaW5zdGFuY2UgaGFzIGEgbmFtZXNwYWNlIGltcGxlbWVudGVkIGFzIGEgZGljdGlvbmFyeSB3aGljaFxuICAgaXMgdGhlIGZpcnN0IHBsYWNlIGluIHdoaWNoIGF0dHJpYnV0ZSByZWZlcmVuY2VzIGFyZSBzZWFyY2hlZC5cbiAgIFdoZW4gYW4gYXR0cmlidXRlIGlzIG5vdCBmb3VuZCB0aGVyZSwgYW5kIHRoZSBpbnN0YW5jZVwncyBjbGFzcyBoYXNcbiAgIGFuIGF0dHJpYnV0ZSBieSB0aGF0IG5hbWUsIHRoZSBzZWFyY2ggY29udGludWVzIHdpdGggdGhlIGNsYXNzXG4gICBhdHRyaWJ1dGVzLiAgSWYgYSBjbGFzcyBhdHRyaWJ1dGUgaXMgZm91bmQgdGhhdCBpcyBhIHVzZXItZGVmaW5lZFxuICAgZnVuY3Rpb24gb2JqZWN0LCBpdCBpcyB0cmFuc2Zvcm1lZCBpbnRvIGFuIGluc3RhbmNlIG1ldGhvZCBvYmplY3RcbiAgIHdob3NlIGBgX19zZWxmX19gYCBhdHRyaWJ1dGUgaXMgdGhlIGluc3RhbmNlLiAgU3RhdGljIG1ldGhvZCBhbmRcbiAgIGNsYXNzIG1ldGhvZCBvYmplY3RzIGFyZSBhbHNvIHRyYW5zZm9ybWVkOyBzZWUgYWJvdmUgdW5kZXJcbiAgICJDbGFzc2VzIi4gIFNlZSBzZWN0aW9uICpJbXBsZW1lbnRpbmcgRGVzY3JpcHRvcnMqIGZvciBhbm90aGVyIHdheVxuICAgaW4gd2hpY2ggYXR0cmlidXRlcyBvZiBhIGNsYXNzIHJldHJpZXZlZCB2aWEgaXRzIGluc3RhbmNlcyBtYXlcbiAgIGRpZmZlciBmcm9tIHRoZSBvYmplY3RzIGFjdHVhbGx5IHN0b3JlZCBpbiB0aGUgY2xhc3NcJ3NcbiAgIGBgX19kaWN0X19gYC4gIElmIG5vIGNsYXNzIGF0dHJpYnV0ZSBpcyBmb3VuZCwgYW5kIHRoZSBvYmplY3RcJ3NcbiAgIGNsYXNzIGhhcyBhIGBgX19nZXRhdHRyX18oKWBgIG1ldGhvZCwgdGhhdCBpcyBjYWxsZWQgdG8gc2F0aXNmeSB0aGVcbiAgIGxvb2t1cC5cblxuICAgQXR0cmlidXRlIGFzc2lnbm1lbnRzIGFuZCBkZWxldGlvbnMgdXBkYXRlIHRoZSBpbnN0YW5jZVwnc1xuICAgZGljdGlvbmFyeSwgbmV2ZXIgYSBjbGFzc1wncyBkaWN0aW9uYXJ5LiAgSWYgdGhlIGNsYXNzIGhhcyBhXG4gICBgYF9fc2V0YXR0cl9fKClgYCBvciBgYF9fZGVsYXR0cl9fKClgYCBtZXRob2QsIHRoaXMgaXMgY2FsbGVkXG4gICBpbnN0ZWFkIG9mIHVwZGF0aW5nIHRoZSBpbnN0YW5jZSBkaWN0aW9uYXJ5IGRpcmVjdGx5LlxuXG4gICBDbGFzcyBpbnN0YW5jZXMgY2FuIHByZXRlbmQgdG8gYmUgbnVtYmVycywgc2VxdWVuY2VzLCBvciBtYXBwaW5nc1xuICAgaWYgdGhleSBoYXZlIG1ldGhvZHMgd2l0aCBjZXJ0YWluIHNwZWNpYWwgbmFtZXMuICBTZWUgc2VjdGlvblxuICAgKlNwZWNpYWwgbWV0aG9kIG5hbWVzKi5cblxuICAgU3BlY2lhbCBhdHRyaWJ1dGVzOiBgYF9fZGljdF9fYGAgaXMgdGhlIGF0dHJpYnV0ZSBkaWN0aW9uYXJ5O1xuICAgYGBfX2NsYXNzX19gYCBpcyB0aGUgaW5zdGFuY2VcJ3MgY2xhc3MuXG5cbkkvTyBvYmplY3RzIChhbHNvIGtub3duIGFzIGZpbGUgb2JqZWN0cylcbiAgIEEgKmZpbGUgb2JqZWN0KiByZXByZXNlbnRzIGFuIG9wZW4gZmlsZS4gIFZhcmlvdXMgc2hvcnRjdXRzIGFyZVxuICAgYXZhaWxhYmxlIHRvIGNyZWF0ZSBmaWxlIG9iamVjdHM6IHRoZSBgYG9wZW4oKWBgIGJ1aWx0LWluIGZ1bmN0aW9uLFxuICAgYW5kIGFsc28gYGBvcy5wb3BlbigpYGAsIGBgb3MuZmRvcGVuKClgYCwgYW5kIHRoZSBgYG1ha2VmaWxlKClgYFxuICAgbWV0aG9kIG9mIHNvY2tldCBvYmplY3RzIChhbmQgcGVyaGFwcyBieSBvdGhlciBmdW5jdGlvbnMgb3IgbWV0aG9kc1xuICAgcHJvdmlkZWQgYnkgZXh0ZW5zaW9uIG1vZHVsZXMpLlxuXG4gICBUaGUgb2JqZWN0cyBgYHN5cy5zdGRpbmBgLCBgYHN5cy5zdGRvdXRgYCBhbmQgYGBzeXMuc3RkZXJyYGAgYXJlXG4gICBpbml0aWFsaXplZCB0byBmaWxlIG9iamVjdHMgY29ycmVzcG9uZGluZyB0byB0aGUgaW50ZXJwcmV0ZXJcJ3NcbiAgIHN0YW5kYXJkIGlucHV0LCBvdXRwdXQgYW5kIGVycm9yIHN0cmVhbXM7IHRoZXkgYXJlIGFsbCBvcGVuIGluIHRleHRcbiAgIG1vZGUgYW5kIHRoZXJlZm9yZSBmb2xsb3cgdGhlIGludGVyZmFjZSBkZWZpbmVkIGJ5IHRoZVxuICAgYGBpby5UZXh0SU9CYXNlYGAgYWJzdHJhY3QgY2xhc3MuXG5cbkludGVybmFsIHR5cGVzXG4gICBBIGZldyB0eXBlcyB1c2VkIGludGVybmFsbHkgYnkgdGhlIGludGVycHJldGVyIGFyZSBleHBvc2VkIHRvIHRoZVxuICAgdXNlci4gVGhlaXIgZGVmaW5pdGlvbnMgbWF5IGNoYW5nZSB3aXRoIGZ1dHVyZSB2ZXJzaW9ucyBvZiB0aGVcbiAgIGludGVycHJldGVyLCBidXQgdGhleSBhcmUgbWVudGlvbmVkIGhlcmUgZm9yIGNvbXBsZXRlbmVzcy5cblxuICAgQ29kZSBvYmplY3RzXG4gICAgICBDb2RlIG9iamVjdHMgcmVwcmVzZW50ICpieXRlLWNvbXBpbGVkKiBleGVjdXRhYmxlIFB5dGhvbiBjb2RlLFxuICAgICAgb3IgKmJ5dGVjb2RlKi4gVGhlIGRpZmZlcmVuY2UgYmV0d2VlbiBhIGNvZGUgb2JqZWN0IGFuZCBhXG4gICAgICBmdW5jdGlvbiBvYmplY3QgaXMgdGhhdCB0aGUgZnVuY3Rpb24gb2JqZWN0IGNvbnRhaW5zIGFuIGV4cGxpY2l0XG4gICAgICByZWZlcmVuY2UgdG8gdGhlIGZ1bmN0aW9uXCdzIGdsb2JhbHMgKHRoZSBtb2R1bGUgaW4gd2hpY2ggaXQgd2FzXG4gICAgICBkZWZpbmVkKSwgd2hpbGUgYSBjb2RlIG9iamVjdCBjb250YWlucyBubyBjb250ZXh0OyBhbHNvIHRoZVxuICAgICAgZGVmYXVsdCBhcmd1bWVudCB2YWx1ZXMgYXJlIHN0b3JlZCBpbiB0aGUgZnVuY3Rpb24gb2JqZWN0LCBub3RcbiAgICAgIGluIHRoZSBjb2RlIG9iamVjdCAoYmVjYXVzZSB0aGV5IHJlcHJlc2VudCB2YWx1ZXMgY2FsY3VsYXRlZCBhdFxuICAgICAgcnVuLXRpbWUpLiAgVW5saWtlIGZ1bmN0aW9uIG9iamVjdHMsIGNvZGUgb2JqZWN0cyBhcmUgaW1tdXRhYmxlXG4gICAgICBhbmQgY29udGFpbiBubyByZWZlcmVuY2VzIChkaXJlY3RseSBvciBpbmRpcmVjdGx5KSB0byBtdXRhYmxlXG4gICAgICBvYmplY3RzLlxuXG4gICAgICBTcGVjaWFsIHJlYWQtb25seSBhdHRyaWJ1dGVzOiBgYGNvX25hbWVgYCBnaXZlcyB0aGUgZnVuY3Rpb25cbiAgICAgIG5hbWU7IGBgY29fYXJnY291bnRgYCBpcyB0aGUgbnVtYmVyIG9mIHBvc2l0aW9uYWwgYXJndW1lbnRzXG4gICAgICAoaW5jbHVkaW5nIGFyZ3VtZW50cyB3aXRoIGRlZmF1bHQgdmFsdWVzKTsgYGBjb19ubG9jYWxzYGAgaXMgdGhlXG4gICAgICBudW1iZXIgb2YgbG9jYWwgdmFyaWFibGVzIHVzZWQgYnkgdGhlIGZ1bmN0aW9uIChpbmNsdWRpbmdcbiAgICAgIGFyZ3VtZW50cyk7IGBgY29fdmFybmFtZXNgYCBpcyBhIHR1cGxlIGNvbnRhaW5pbmcgdGhlIG5hbWVzIG9mXG4gICAgICB0aGUgbG9jYWwgdmFyaWFibGVzIChzdGFydGluZyB3aXRoIHRoZSBhcmd1bWVudCBuYW1lcyk7XG4gICAgICBgYGNvX2NlbGx2YXJzYGAgaXMgYSB0dXBsZSBjb250YWluaW5nIHRoZSBuYW1lcyBvZiBsb2NhbFxuICAgICAgdmFyaWFibGVzIHRoYXQgYXJlIHJlZmVyZW5jZWQgYnkgbmVzdGVkIGZ1bmN0aW9ucztcbiAgICAgIGBgY29fZnJlZXZhcnNgYCBpcyBhIHR1cGxlIGNvbnRhaW5pbmcgdGhlIG5hbWVzIG9mIGZyZWVcbiAgICAgIHZhcmlhYmxlczsgYGBjb19jb2RlYGAgaXMgYSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBzZXF1ZW5jZSBvZlxuICAgICAgYnl0ZWNvZGUgaW5zdHJ1Y3Rpb25zOyBgYGNvX2NvbnN0c2BgIGlzIGEgdHVwbGUgY29udGFpbmluZyB0aGVcbiAgICAgIGxpdGVyYWxzIHVzZWQgYnkgdGhlIGJ5dGVjb2RlOyBgYGNvX25hbWVzYGAgaXMgYSB0dXBsZVxuICAgICAgY29udGFpbmluZyB0aGUgbmFtZXMgdXNlZCBieSB0aGUgYnl0ZWNvZGU7IGBgY29fZmlsZW5hbWVgYCBpc1xuICAgICAgdGhlIGZpbGVuYW1lIGZyb20gd2hpY2ggdGhlIGNvZGUgd2FzIGNvbXBpbGVkO1xuICAgICAgYGBjb19maXJzdGxpbmVub2BgIGlzIHRoZSBmaXJzdCBsaW5lIG51bWJlciBvZiB0aGUgZnVuY3Rpb247XG4gICAgICBgYGNvX2xub3RhYmBgIGlzIGEgc3RyaW5nIGVuY29kaW5nIHRoZSBtYXBwaW5nIGZyb20gYnl0ZWNvZGVcbiAgICAgIG9mZnNldHMgdG8gbGluZSBudW1iZXJzIChmb3IgZGV0YWlscyBzZWUgdGhlIHNvdXJjZSBjb2RlIG9mIHRoZVxuICAgICAgaW50ZXJwcmV0ZXIpOyBgYGNvX3N0YWNrc2l6ZWBgIGlzIHRoZSByZXF1aXJlZCBzdGFjayBzaXplXG4gICAgICAoaW5jbHVkaW5nIGxvY2FsIHZhcmlhYmxlcyk7IGBgY29fZmxhZ3NgYCBpcyBhbiBpbnRlZ2VyIGVuY29kaW5nXG4gICAgICBhIG51bWJlciBvZiBmbGFncyBmb3IgdGhlIGludGVycHJldGVyLlxuXG4gICAgICBUaGUgZm9sbG93aW5nIGZsYWcgYml0cyBhcmUgZGVmaW5lZCBmb3IgYGBjb19mbGFnc2BgOiBiaXRcbiAgICAgIGBgMHgwNGBgIGlzIHNldCBpZiB0aGUgZnVuY3Rpb24gdXNlcyB0aGUgYGAqYXJndW1lbnRzYGAgc3ludGF4XG4gICAgICB0byBhY2NlcHQgYW4gYXJiaXRyYXJ5IG51bWJlciBvZiBwb3NpdGlvbmFsIGFyZ3VtZW50czsgYml0XG4gICAgICBgYDB4MDhgYCBpcyBzZXQgaWYgdGhlIGZ1bmN0aW9uIHVzZXMgdGhlIGBgKiprZXl3b3Jkc2BgIHN5bnRheFxuICAgICAgdG8gYWNjZXB0IGFyYml0cmFyeSBrZXl3b3JkIGFyZ3VtZW50czsgYml0IGBgMHgyMGBgIGlzIHNldCBpZlxuICAgICAgdGhlIGZ1bmN0aW9uIGlzIGEgZ2VuZXJhdG9yLlxuXG4gICAgICBGdXR1cmUgZmVhdHVyZSBkZWNsYXJhdGlvbnMgKGBgZnJvbSBfX2Z1dHVyZV9fIGltcG9ydFxuICAgICAgZGl2aXNpb25gYCkgYWxzbyB1c2UgYml0cyBpbiBgYGNvX2ZsYWdzYGAgdG8gaW5kaWNhdGUgd2hldGhlciBhXG4gICAgICBjb2RlIG9iamVjdCB3YXMgY29tcGlsZWQgd2l0aCBhIHBhcnRpY3VsYXIgZmVhdHVyZSBlbmFibGVkOiBiaXRcbiAgICAgIGBgMHgyMDAwYGAgaXMgc2V0IGlmIHRoZSBmdW5jdGlvbiB3YXMgY29tcGlsZWQgd2l0aCBmdXR1cmVcbiAgICAgIGRpdmlzaW9uIGVuYWJsZWQ7IGJpdHMgYGAweDEwYGAgYW5kIGBgMHgxMDAwYGAgd2VyZSB1c2VkIGluXG4gICAgICBlYXJsaWVyIHZlcnNpb25zIG9mIFB5dGhvbi5cblxuICAgICAgT3RoZXIgYml0cyBpbiBgYGNvX2ZsYWdzYGAgYXJlIHJlc2VydmVkIGZvciBpbnRlcm5hbCB1c2UuXG5cbiAgICAgIElmIGEgY29kZSBvYmplY3QgcmVwcmVzZW50cyBhIGZ1bmN0aW9uLCB0aGUgZmlyc3QgaXRlbSBpblxuICAgICAgYGBjb19jb25zdHNgYCBpcyB0aGUgZG9jdW1lbnRhdGlvbiBzdHJpbmcgb2YgdGhlIGZ1bmN0aW9uLCBvclxuICAgICAgYGBOb25lYGAgaWYgdW5kZWZpbmVkLlxuXG4gICBGcmFtZSBvYmplY3RzXG4gICAgICBGcmFtZSBvYmplY3RzIHJlcHJlc2VudCBleGVjdXRpb24gZnJhbWVzLiAgVGhleSBtYXkgb2NjdXIgaW5cbiAgICAgIHRyYWNlYmFjayBvYmplY3RzIChzZWUgYmVsb3cpLlxuXG4gICAgICBTcGVjaWFsIHJlYWQtb25seSBhdHRyaWJ1dGVzOiBgYGZfYmFja2BgIGlzIHRvIHRoZSBwcmV2aW91c1xuICAgICAgc3RhY2sgZnJhbWUgKHRvd2FyZHMgdGhlIGNhbGxlciksIG9yIGBgTm9uZWBgIGlmIHRoaXMgaXMgdGhlXG4gICAgICBib3R0b20gc3RhY2sgZnJhbWU7IGBgZl9jb2RlYGAgaXMgdGhlIGNvZGUgb2JqZWN0IGJlaW5nIGV4ZWN1dGVkXG4gICAgICBpbiB0aGlzIGZyYW1lOyBgYGZfbG9jYWxzYGAgaXMgdGhlIGRpY3Rpb25hcnkgdXNlZCB0byBsb29rIHVwXG4gICAgICBsb2NhbCB2YXJpYWJsZXM7IGBgZl9nbG9iYWxzYGAgaXMgdXNlZCBmb3IgZ2xvYmFsIHZhcmlhYmxlcztcbiAgICAgIGBgZl9idWlsdGluc2BgIGlzIHVzZWQgZm9yIGJ1aWx0LWluIChpbnRyaW5zaWMpIG5hbWVzO1xuICAgICAgYGBmX2xhc3RpYGAgZ2l2ZXMgdGhlIHByZWNpc2UgaW5zdHJ1Y3Rpb24gKHRoaXMgaXMgYW4gaW5kZXggaW50b1xuICAgICAgdGhlIGJ5dGVjb2RlIHN0cmluZyBvZiB0aGUgY29kZSBvYmplY3QpLlxuXG4gICAgICBTcGVjaWFsIHdyaXRhYmxlIGF0dHJpYnV0ZXM6IGBgZl90cmFjZWBgLCBpZiBub3QgYGBOb25lYGAsIGlzIGFcbiAgICAgIGZ1bmN0aW9uIGNhbGxlZCBhdCB0aGUgc3RhcnQgb2YgZWFjaCBzb3VyY2UgY29kZSBsaW5lICh0aGlzIGlzXG4gICAgICB1c2VkIGJ5IHRoZSBkZWJ1Z2dlcik7IGBgZl9saW5lbm9gYCBpcyB0aGUgY3VycmVudCBsaW5lIG51bWJlclxuICAgICAgb2YgdGhlIGZyYW1lIC0tLSB3cml0aW5nIHRvIHRoaXMgZnJvbSB3aXRoaW4gYSB0cmFjZSBmdW5jdGlvblxuICAgICAganVtcHMgdG8gdGhlIGdpdmVuIGxpbmUgKG9ubHkgZm9yIHRoZSBib3R0b20tbW9zdCBmcmFtZSkuICBBXG4gICAgICBkZWJ1Z2dlciBjYW4gaW1wbGVtZW50IGEgSnVtcCBjb21tYW5kIChha2EgU2V0IE5leHQgU3RhdGVtZW50KVxuICAgICAgYnkgd3JpdGluZyB0byBmX2xpbmVuby5cblxuICAgVHJhY2ViYWNrIG9iamVjdHNcbiAgICAgIFRyYWNlYmFjayBvYmplY3RzIHJlcHJlc2VudCBhIHN0YWNrIHRyYWNlIG9mIGFuIGV4Y2VwdGlvbi4gIEFcbiAgICAgIHRyYWNlYmFjayBvYmplY3QgaXMgY3JlYXRlZCB3aGVuIGFuIGV4Y2VwdGlvbiBvY2N1cnMuICBXaGVuIHRoZVxuICAgICAgc2VhcmNoIGZvciBhbiBleGNlcHRpb24gaGFuZGxlciB1bndpbmRzIHRoZSBleGVjdXRpb24gc3RhY2ssIGF0XG4gICAgICBlYWNoIHVud291bmQgbGV2ZWwgYSB0cmFjZWJhY2sgb2JqZWN0IGlzIGluc2VydGVkIGluIGZyb250IG9mXG4gICAgICB0aGUgY3VycmVudCB0cmFjZWJhY2suICBXaGVuIGFuIGV4Y2VwdGlvbiBoYW5kbGVyIGlzIGVudGVyZWQsXG4gICAgICB0aGUgc3RhY2sgdHJhY2UgaXMgbWFkZSBhdmFpbGFibGUgdG8gdGhlIHByb2dyYW0uIChTZWUgc2VjdGlvblxuICAgICAgKlRoZSB0cnkgc3RhdGVtZW50Ki4pIEl0IGlzIGFjY2Vzc2libGUgYXMgdGhlIHRoaXJkIGl0ZW0gb2YgdGhlXG4gICAgICB0dXBsZSByZXR1cm5lZCBieSBgYHN5cy5leGNfaW5mbygpYGAuIFdoZW4gdGhlIHByb2dyYW0gY29udGFpbnNcbiAgICAgIG5vIHN1aXRhYmxlIGhhbmRsZXIsIHRoZSBzdGFjayB0cmFjZSBpcyB3cml0dGVuIChuaWNlbHlcbiAgICAgIGZvcm1hdHRlZCkgdG8gdGhlIHN0YW5kYXJkIGVycm9yIHN0cmVhbTsgaWYgdGhlIGludGVycHJldGVyIGlzXG4gICAgICBpbnRlcmFjdGl2ZSwgaXQgaXMgYWxzbyBtYWRlIGF2YWlsYWJsZSB0byB0aGUgdXNlciBhc1xuICAgICAgYGBzeXMubGFzdF90cmFjZWJhY2tgYC5cblxuICAgICAgU3BlY2lhbCByZWFkLW9ubHkgYXR0cmlidXRlczogYGB0Yl9uZXh0YGAgaXMgdGhlIG5leHQgbGV2ZWwgaW5cbiAgICAgIHRoZSBzdGFjayB0cmFjZSAodG93YXJkcyB0aGUgZnJhbWUgd2hlcmUgdGhlIGV4Y2VwdGlvblxuICAgICAgb2NjdXJyZWQpLCBvciBgYE5vbmVgYCBpZiB0aGVyZSBpcyBubyBuZXh0IGxldmVsOyBgYHRiX2ZyYW1lYGBcbiAgICAgIHBvaW50cyB0byB0aGUgZXhlY3V0aW9uIGZyYW1lIG9mIHRoZSBjdXJyZW50IGxldmVsO1xuICAgICAgYGB0Yl9saW5lbm9gYCBnaXZlcyB0aGUgbGluZSBudW1iZXIgd2hlcmUgdGhlIGV4Y2VwdGlvblxuICAgICAgb2NjdXJyZWQ7IGBgdGJfbGFzdGlgYCBpbmRpY2F0ZXMgdGhlIHByZWNpc2UgaW5zdHJ1Y3Rpb24uICBUaGVcbiAgICAgIGxpbmUgbnVtYmVyIGFuZCBsYXN0IGluc3RydWN0aW9uIGluIHRoZSB0cmFjZWJhY2sgbWF5IGRpZmZlclxuICAgICAgZnJvbSB0aGUgbGluZSBudW1iZXIgb2YgaXRzIGZyYW1lIG9iamVjdCBpZiB0aGUgZXhjZXB0aW9uXG4gICAgICBvY2N1cnJlZCBpbiBhIGBgdHJ5YGAgc3RhdGVtZW50IHdpdGggbm8gbWF0Y2hpbmcgZXhjZXB0IGNsYXVzZVxuICAgICAgb3Igd2l0aCBhIGZpbmFsbHkgY2xhdXNlLlxuXG4gICBTbGljZSBvYmplY3RzXG4gICAgICBTbGljZSBvYmplY3RzIGFyZSB1c2VkIHRvIHJlcHJlc2VudCBzbGljZXMgZm9yIGBgX19nZXRpdGVtX18oKWBgXG4gICAgICBtZXRob2RzLiAgVGhleSBhcmUgYWxzbyBjcmVhdGVkIGJ5IHRoZSBidWlsdC1pbiBgYHNsaWNlKClgYFxuICAgICAgZnVuY3Rpb24uXG5cbiAgICAgIFNwZWNpYWwgcmVhZC1vbmx5IGF0dHJpYnV0ZXM6IGBgc3RhcnRgYCBpcyB0aGUgbG93ZXIgYm91bmQ7XG4gICAgICBgYHN0b3BgYCBpcyB0aGUgdXBwZXIgYm91bmQ7IGBgc3RlcGBgIGlzIHRoZSBzdGVwIHZhbHVlOyBlYWNoIGlzXG4gICAgICBgYE5vbmVgYCBpZiBvbWl0dGVkLiBUaGVzZSBhdHRyaWJ1dGVzIGNhbiBoYXZlIGFueSB0eXBlLlxuXG4gICAgICBTbGljZSBvYmplY3RzIHN1cHBvcnQgb25lIG1ldGhvZDpcblxuICAgICAgc2xpY2UuaW5kaWNlcyhzZWxmLCBsZW5ndGgpXG5cbiAgICAgICAgIFRoaXMgbWV0aG9kIHRha2VzIGEgc2luZ2xlIGludGVnZXIgYXJndW1lbnQgKmxlbmd0aCogYW5kXG4gICAgICAgICBjb21wdXRlcyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgc2xpY2UgdGhhdCB0aGUgc2xpY2Ugb2JqZWN0XG4gICAgICAgICB3b3VsZCBkZXNjcmliZSBpZiBhcHBsaWVkIHRvIGEgc2VxdWVuY2Ugb2YgKmxlbmd0aCogaXRlbXMuXG4gICAgICAgICBJdCByZXR1cm5zIGEgdHVwbGUgb2YgdGhyZWUgaW50ZWdlcnM7IHJlc3BlY3RpdmVseSB0aGVzZSBhcmVcbiAgICAgICAgIHRoZSAqc3RhcnQqIGFuZCAqc3RvcCogaW5kaWNlcyBhbmQgdGhlICpzdGVwKiBvciBzdHJpZGVcbiAgICAgICAgIGxlbmd0aCBvZiB0aGUgc2xpY2UuIE1pc3Npbmcgb3Igb3V0LW9mLWJvdW5kcyBpbmRpY2VzIGFyZVxuICAgICAgICAgaGFuZGxlZCBpbiBhIG1hbm5lciBjb25zaXN0ZW50IHdpdGggcmVndWxhciBzbGljZXMuXG5cbiAgIFN0YXRpYyBtZXRob2Qgb2JqZWN0c1xuICAgICAgU3RhdGljIG1ldGhvZCBvYmplY3RzIHByb3ZpZGUgYSB3YXkgb2YgZGVmZWF0aW5nIHRoZVxuICAgICAgdHJhbnNmb3JtYXRpb24gb2YgZnVuY3Rpb24gb2JqZWN0cyB0byBtZXRob2Qgb2JqZWN0cyBkZXNjcmliZWRcbiAgICAgIGFib3ZlLiBBIHN0YXRpYyBtZXRob2Qgb2JqZWN0IGlzIGEgd3JhcHBlciBhcm91bmQgYW55IG90aGVyXG4gICAgICBvYmplY3QsIHVzdWFsbHkgYSB1c2VyLWRlZmluZWQgbWV0aG9kIG9iamVjdC4gV2hlbiBhIHN0YXRpY1xuICAgICAgbWV0aG9kIG9iamVjdCBpcyByZXRyaWV2ZWQgZnJvbSBhIGNsYXNzIG9yIGEgY2xhc3MgaW5zdGFuY2UsIHRoZVxuICAgICAgb2JqZWN0IGFjdHVhbGx5IHJldHVybmVkIGlzIHRoZSB3cmFwcGVkIG9iamVjdCwgd2hpY2ggaXMgbm90XG4gICAgICBzdWJqZWN0IHRvIGFueSBmdXJ0aGVyIHRyYW5zZm9ybWF0aW9uLiBTdGF0aWMgbWV0aG9kIG9iamVjdHMgYXJlXG4gICAgICBub3QgdGhlbXNlbHZlcyBjYWxsYWJsZSwgYWx0aG91Z2ggdGhlIG9iamVjdHMgdGhleSB3cmFwIHVzdWFsbHlcbiAgICAgIGFyZS4gU3RhdGljIG1ldGhvZCBvYmplY3RzIGFyZSBjcmVhdGVkIGJ5IHRoZSBidWlsdC1pblxuICAgICAgYGBzdGF0aWNtZXRob2QoKWBgIGNvbnN0cnVjdG9yLlxuXG4gICBDbGFzcyBtZXRob2Qgb2JqZWN0c1xuICAgICAgQSBjbGFzcyBtZXRob2Qgb2JqZWN0LCBsaWtlIGEgc3RhdGljIG1ldGhvZCBvYmplY3QsIGlzIGEgd3JhcHBlclxuICAgICAgYXJvdW5kIGFub3RoZXIgb2JqZWN0IHRoYXQgYWx0ZXJzIHRoZSB3YXkgaW4gd2hpY2ggdGhhdCBvYmplY3RcbiAgICAgIGlzIHJldHJpZXZlZCBmcm9tIGNsYXNzZXMgYW5kIGNsYXNzIGluc3RhbmNlcy4gVGhlIGJlaGF2aW91ciBvZlxuICAgICAgY2xhc3MgbWV0aG9kIG9iamVjdHMgdXBvbiBzdWNoIHJldHJpZXZhbCBpcyBkZXNjcmliZWQgYWJvdmUsXG4gICAgICB1bmRlciAiVXNlci1kZWZpbmVkIG1ldGhvZHMiLiBDbGFzcyBtZXRob2Qgb2JqZWN0cyBhcmUgY3JlYXRlZFxuICAgICAgYnkgdGhlIGJ1aWx0LWluIGBgY2xhc3NtZXRob2QoKWBgIGNvbnN0cnVjdG9yLlxuJywKKyAndHlwZXMnOiAnXG5UaGUgc3RhbmRhcmQgdHlwZSBoaWVyYXJjaHlcbioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG5CZWxvdyBpcyBhIGxpc3Qgb2YgdGhlIHR5cGVzIHRoYXQgYXJlIGJ1aWx0IGludG8gUHl0aG9uLiAgRXh0ZW5zaW9uXG5tb2R1bGVzICh3cml0dGVuIGluIEMsIEphdmEsIG9yIG90aGVyIGxhbmd1YWdlcywgZGVwZW5kaW5nIG9uIHRoZVxuaW1wbGVtZW50YXRpb24pIGNhbiBkZWZpbmUgYWRkaXRpb25hbCB0eXBlcy4gIEZ1dHVyZSB2ZXJzaW9ucyBvZlxuUHl0aG9uIG1heSBhZGQgdHlwZXMgdG8gdGhlIHR5cGUgaGllcmFyY2h5IChlLmcuLCByYXRpb25hbCBudW1iZXJzLFxuZWZmaWNpZW50bHkgc3RvcmVkIGFycmF5cyBvZiBpbnRlZ2VycywgZXRjLiksIGFsdGhvdWdoIHN1Y2ggYWRkaXRpb25zXG53aWxsIG9mdGVuIGJlIHByb3ZpZGVkIHZpYSB0aGUgc3RhbmRhcmQgbGlicmFyeSBpbnN0ZWFkLlxuXG5Tb21lIG9mIHRoZSB0eXBlIGRlc2NyaXB0aW9ucyBiZWxvdyBjb250YWluIGEgcGFyYWdyYXBoIGxpc3Rpbmdcblwnc3BlY2lhbCBhdHRyaWJ1dGVzLlwnICBUaGVzZSBhcmUgYXR0cmlidXRlcyB0aGF0IHByb3ZpZGUgYWNjZXNzIHRvIHRoZVxuaW1wbGVtZW50YXRpb24gYW5kIGFyZSBub3QgaW50ZW5kZWQgZm9yIGdlbmVyYWwgdXNlLiAgVGhlaXIgZGVmaW5pdGlvblxubWF5IGNoYW5nZSBpbiB0aGUgZnV0dXJlLlxuXG5Ob25lXG4gICBUaGlzIHR5cGUgaGFzIGEgc2luZ2xlIHZhbHVlLiAgVGhlcmUgaXMgYSBzaW5nbGUgb2JqZWN0IHdpdGggdGhpc1xuICAgdmFsdWUuIFRoaXMgb2JqZWN0IGlzIGFjY2Vzc2VkIHRocm91Z2ggdGhlIGJ1aWx0LWluIG5hbWUgYGBOb25lYGAuXG4gICBJdCBpcyB1c2VkIHRvIHNpZ25pZnkgdGhlIGFic2VuY2Ugb2YgYSB2YWx1ZSBpbiBtYW55IHNpdHVhdGlvbnMsXG4gICBlLmcuLCBpdCBpcyByZXR1cm5lZCBmcm9tIGZ1bmN0aW9ucyB0aGF0IGRvblwndCBleHBsaWNpdGx5IHJldHVyblxuICAgYW55dGhpbmcuIEl0cyB0cnV0aCB2YWx1ZSBpcyBmYWxzZS5cblxuTm90SW1wbGVtZW50ZWRcbiAgIFRoaXMgdHlwZSBoYXMgYSBzaW5nbGUgdmFsdWUuICBUaGVyZSBpcyBhIHNpbmdsZSBvYmplY3Qgd2l0aCB0aGlzXG4gICB2YWx1ZS4gVGhpcyBvYmplY3QgaXMgYWNjZXNzZWQgdGhyb3VnaCB0aGUgYnVpbHQtaW4gbmFtZVxuICAgYGBOb3RJbXBsZW1lbnRlZGBgLiBOdW1lcmljIG1ldGhvZHMgYW5kIHJpY2ggY29tcGFyaXNvbiBtZXRob2RzIG1heVxuICAgcmV0dXJuIHRoaXMgdmFsdWUgaWYgdGhleSBkbyBub3QgaW1wbGVtZW50IHRoZSBvcGVyYXRpb24gZm9yIHRoZVxuICAgb3BlcmFuZHMgcHJvdmlkZWQuICAoVGhlIGludGVycHJldGVyIHdpbGwgdGhlbiB0cnkgdGhlIHJlZmxlY3RlZFxuICAgb3BlcmF0aW9uLCBvciBzb21lIG90aGVyIGZhbGxiYWNrLCBkZXBlbmRpbmcgb24gdGhlIG9wZXJhdG9yLikgIEl0c1xuICAgdHJ1dGggdmFsdWUgaXMgdHJ1ZS5cblxuRWxsaXBzaXNcbiAgIFRoaXMgdHlwZSBoYXMgYSBzaW5nbGUgdmFsdWUuICBUaGVyZSBpcyBhIHNpbmdsZSBvYmplY3Qgd2l0aCB0aGlzXG4gICB2YWx1ZS4gVGhpcyBvYmplY3QgaXMgYWNjZXNzZWQgdGhyb3VnaCB0aGUgbGl0ZXJhbCBgYC4uLmBgIG9yIHRoZVxuICAgYnVpbHQtaW4gbmFtZSBgYEVsbGlwc2lzYGAuICBJdHMgdHJ1dGggdmFsdWUgaXMgdHJ1ZS5cblxuYGBudW1iZXJzLk51bWJlcmBgXG4gICBUaGVzZSBhcmUgY3JlYXRlZCBieSBudW1lcmljIGxpdGVyYWxzIGFuZCByZXR1cm5lZCBhcyByZXN1bHRzIGJ5XG4gICBhcml0aG1ldGljIG9wZXJhdG9ycyBhbmQgYXJpdGhtZXRpYyBidWlsdC1pbiBmdW5jdGlvbnMuICBOdW1lcmljXG4gICBvYmplY3RzIGFyZSBpbW11dGFibGU7IG9uY2UgY3JlYXRlZCB0aGVpciB2YWx1ZSBuZXZlciBjaGFuZ2VzLlxuICAgUHl0aG9uIG51bWJlcnMgYXJlIG9mIGNvdXJzZSBzdHJvbmdseSByZWxhdGVkIHRvIG1hdGhlbWF0aWNhbFxuICAgbnVtYmVycywgYnV0IHN1YmplY3QgdG8gdGhlIGxpbWl0YXRpb25zIG9mIG51bWVyaWNhbCByZXByZXNlbnRhdGlvblxuICAgaW4gY29tcHV0ZXJzLlxuXG4gICBQeXRob24gZGlzdGluZ3Vpc2hlcyBiZXR3ZWVuIGludGVnZXJzLCBmbG9hdGluZyBwb2ludCBudW1iZXJzLCBhbmRcbiAgIGNvbXBsZXggbnVtYmVyczpcblxuICAgYGBudW1iZXJzLkludGVncmFsYGBcbiAgICAgIFRoZXNlIHJlcHJlc2VudCBlbGVtZW50cyBmcm9tIHRoZSBtYXRoZW1hdGljYWwgc2V0IG9mIGludGVnZXJzXG4gICAgICAocG9zaXRpdmUgYW5kIG5lZ2F0aXZlKS5cblxuICAgICAgVGhlcmUgYXJlIHR3byB0eXBlcyBvZiBpbnRlZ2VyczpcblxuICAgICAgSW50ZWdlcnMgKGBgaW50YGApXG5cbiAgICAgICAgIFRoZXNlIHJlcHJlc2VudCBudW1iZXJzIGluIGFuIHVubGltaXRlZCByYW5nZSwgc3ViamVjdCB0b1xuICAgICAgICAgYXZhaWxhYmxlICh2aXJ0dWFsKSBtZW1vcnkgb25seS4gIEZvciB0aGUgcHVycG9zZSBvZiBzaGlmdFxuICAgICAgICAgYW5kIG1hc2sgb3BlcmF0aW9ucywgYSBiaW5hcnkgcmVwcmVzZW50YXRpb24gaXMgYXNzdW1lZCwgYW5kXG4gICAgICAgICBuZWdhdGl2ZSBudW1iZXJzIGFyZSByZXByZXNlbnRlZCBpbiBhIHZhcmlhbnQgb2YgMlwnc1xuICAgICAgICAgY29tcGxlbWVudCB3aGljaCBnaXZlcyB0aGUgaWxsdXNpb24gb2YgYW4gaW5maW5pdGUgc3RyaW5nIG9mXG4gICAgICAgICBzaWduIGJpdHMgZXh0ZW5kaW5nIHRvIHRoZSBsZWZ0LlxuXG4gICAgICBCb29sZWFucyAoYGBib29sYGApXG4gICAgICAgICBUaGVzZSByZXByZXNlbnQgdGhlIHRydXRoIHZhbHVlcyBGYWxzZSBhbmQgVHJ1ZS4gIFRoZSB0d29cbiAgICAgICAgIG9iamVjdHMgcmVwcmVzZW50aW5nIHRoZSB2YWx1ZXMgRmFsc2UgYW5kIFRydWUgYXJlIHRoZSBvbmx5XG4gICAgICAgICBCb29sZWFuIG9iamVjdHMuIFRoZSBCb29sZWFuIHR5cGUgaXMgYSBzdWJ0eXBlIG9mIHRoZSBpbnRlZ2VyXG4gICAgICAgICB0eXBlLCBhbmQgQm9vbGVhbiB2YWx1ZXMgYmVoYXZlIGxpa2UgdGhlIHZhbHVlcyAwIGFuZCAxLFxuICAgICAgICAgcmVzcGVjdGl2ZWx5LCBpbiBhbG1vc3QgYWxsIGNvbnRleHRzLCB0aGUgZXhjZXB0aW9uIGJlaW5nXG4gICAgICAgICB0aGF0IHdoZW4gY29udmVydGVkIHRvIGEgc3RyaW5nLCB0aGUgc3RyaW5ncyBgYCJGYWxzZSJgYCBvclxuICAgICAgICAgYGAiVHJ1ZSJgYCBhcmUgcmV0dXJuZWQsIHJlc3BlY3RpdmVseS5cblxuICAgICAgVGhlIHJ1bGVzIGZvciBpbnRlZ2VyIHJlcHJlc2VudGF0aW9uIGFyZSBpbnRlbmRlZCB0byBnaXZlIHRoZVxuICAgICAgbW9zdCBtZWFuaW5nZnVsIGludGVycHJldGF0aW9uIG9mIHNoaWZ0IGFuZCBtYXNrIG9wZXJhdGlvbnNcbiAgICAgIGludm9sdmluZyBuZWdhdGl2ZSBpbnRlZ2Vycy5cblxuICAgYGBudW1iZXJzLlJlYWxgYCAoYGBmbG9hdGBgKVxuICAgICAgVGhlc2UgcmVwcmVzZW50IG1hY2hpbmUtbGV2ZWwgZG91YmxlIHByZWNpc2lvbiBmbG9hdGluZyBwb2ludFxuICAgICAgbnVtYmVycy4gWW91IGFyZSBhdCB0aGUgbWVyY3kgb2YgdGhlIHVuZGVybHlpbmcgbWFjaGluZVxuICAgICAgYXJjaGl0ZWN0dXJlIChhbmQgQyBvciBKYXZhIGltcGxlbWVudGF0aW9uKSBmb3IgdGhlIGFjY2VwdGVkXG4gICAgICByYW5nZSBhbmQgaGFuZGxpbmcgb2Ygb3ZlcmZsb3cuIFB5dGhvbiBkb2VzIG5vdCBzdXBwb3J0IHNpbmdsZS1cbiAgICAgIHByZWNpc2lvbiBmbG9hdGluZyBwb2ludCBudW1iZXJzOyB0aGUgc2F2aW5ncyBpbiBwcm9jZXNzb3IgYW5kXG4gICAgICBtZW1vcnkgdXNhZ2UgdGhhdCBhcmUgdXN1YWxseSB0aGUgcmVhc29uIGZvciB1c2luZyB0aGVzZSBpc1xuICAgICAgZHdhcmZlZCBieSB0aGUgb3ZlcmhlYWQgb2YgdXNpbmcgb2JqZWN0cyBpbiBQeXRob24sIHNvIHRoZXJlIGlzXG4gICAgICBubyByZWFzb24gdG8gY29tcGxpY2F0ZSB0aGUgbGFuZ3VhZ2Ugd2l0aCB0d28ga2luZHMgb2YgZmxvYXRpbmdcbiAgICAgIHBvaW50IG51bWJlcnMuXG5cbiAgIGBgbnVtYmVycy5Db21wbGV4YGAgKGBgY29tcGxleGBgKVxuICAgICAgVGhlc2UgcmVwcmVzZW50IGNvbXBsZXggbnVtYmVycyBhcyBhIHBhaXIgb2YgbWFjaGluZS1sZXZlbFxuICAgICAgZG91YmxlIHByZWNpc2lvbiBmbG9hdGluZyBwb2ludCBudW1iZXJzLiAgVGhlIHNhbWUgY2F2ZWF0cyBhcHBseVxuICAgICAgYXMgZm9yIGZsb2F0aW5nIHBvaW50IG51bWJlcnMuIFRoZSByZWFsIGFuZCBpbWFnaW5hcnkgcGFydHMgb2YgYVxuICAgICAgY29tcGxleCBudW1iZXIgYGB6YGAgY2FuIGJlIHJldHJpZXZlZCB0aHJvdWdoIHRoZSByZWFkLW9ubHlcbiAgICAgIGF0dHJpYnV0ZXMgYGB6LnJlYWxgYCBhbmQgYGB6LmltYWdgYC5cblxuU2VxdWVuY2VzXG4gICBUaGVzZSByZXByZXNlbnQgZmluaXRlIG9yZGVyZWQgc2V0cyBpbmRleGVkIGJ5IG5vbi1uZWdhdGl2ZVxuICAgbnVtYmVycy4gVGhlIGJ1aWx0LWluIGZ1bmN0aW9uIGBgbGVuKClgYCByZXR1cm5zIHRoZSBudW1iZXIgb2ZcbiAgIGl0ZW1zIG9mIGEgc2VxdWVuY2UuIFdoZW4gdGhlIGxlbmd0aCBvZiBhIHNlcXVlbmNlIGlzICpuKiwgdGhlXG4gICBpbmRleCBzZXQgY29udGFpbnMgdGhlIG51bWJlcnMgMCwgMSwgLi4uLCAqbiotMS4gIEl0ZW0gKmkqIG9mXG4gICBzZXF1ZW5jZSAqYSogaXMgc2VsZWN0ZWQgYnkgYGBhW2ldYGAuXG5cbiAgIFNlcXVlbmNlcyBhbHNvIHN1cHBvcnQgc2xpY2luZzogYGBhW2k6al1gYCBzZWxlY3RzIGFsbCBpdGVtcyB3aXRoXG4gICBpbmRleCAqayogc3VjaCB0aGF0ICppKiBgYDw9YGAgKmsqIGBgPGBgICpqKi4gIFdoZW4gdXNlZCBhcyBhblxuICAgZXhwcmVzc2lvbiwgYSBzbGljZSBpcyBhIHNlcXVlbmNlIG9mIHRoZSBzYW1lIHR5cGUuICBUaGlzIGltcGxpZXNcbiAgIHRoYXQgdGhlIGluZGV4IHNldCBpcyByZW51bWJlcmVkIHNvIHRoYXQgaXQgc3RhcnRzIGF0IDAuXG5cbiAgIFNvbWUgc2VxdWVuY2VzIGFsc28gc3VwcG9ydCAiZXh0ZW5kZWQgc2xpY2luZyIgd2l0aCBhIHRoaXJkICJzdGVwIlxuICAgcGFyYW1ldGVyOiBgYGFbaTpqOmtdYGAgc2VsZWN0cyBhbGwgaXRlbXMgb2YgKmEqIHdpdGggaW5kZXggKngqXG4gICB3aGVyZSBgYHggPSBpICsgbiprYGAsICpuKiBgYD49YGAgYGAwYGAgYW5kICppKiBgYDw9YGAgKngqIGBgPGBgXG4gICAqaiouXG5cbiAgIFNlcXVlbmNlcyBhcmUgZGlzdGluZ3Vpc2hlZCBhY2NvcmRpbmcgdG8gdGhlaXIgbXV0YWJpbGl0eTpcblxuICAgSW1tdXRhYmxlIHNlcXVlbmNlc1xuICAgICAgQW4gb2JqZWN0IG9mIGFuIGltbXV0YWJsZSBzZXF1ZW5jZSB0eXBlIGNhbm5vdCBjaGFuZ2Ugb25jZSBpdCBpc1xuICAgICAgY3JlYXRlZC4gIChJZiB0aGUgb2JqZWN0IGNvbnRhaW5zIHJlZmVyZW5jZXMgdG8gb3RoZXIgb2JqZWN0cyxcbiAgICAgIHRoZXNlIG90aGVyIG9iamVjdHMgbWF5IGJlIG11dGFibGUgYW5kIG1heSBiZSBjaGFuZ2VkOyBob3dldmVyLFxuICAgICAgdGhlIGNvbGxlY3Rpb24gb2Ygb2JqZWN0cyBkaXJlY3RseSByZWZlcmVuY2VkIGJ5IGFuIGltbXV0YWJsZVxuICAgICAgb2JqZWN0IGNhbm5vdCBjaGFuZ2UuKVxuXG4gICAgICBUaGUgZm9sbG93aW5nIHR5cGVzIGFyZSBpbW11dGFibGUgc2VxdWVuY2VzOlxuXG4gICAgICBTdHJpbmdzXG4gICAgICAgICBBIHN0cmluZyBpcyBhIHNlcXVlbmNlIG9mIHZhbHVlcyB0aGF0IHJlcHJlc2VudCBVbmljb2RlXG4gICAgICAgICBjb2RlcG9pbnRzLiBBbGwgdGhlIGNvZGVwb2ludHMgaW4gcmFuZ2UgYGBVKzAwMDAgLSBVKzEwRkZGRmBgXG4gICAgICAgICBjYW4gYmUgcmVwcmVzZW50ZWQgaW4gYSBzdHJpbmcuICBQeXRob24gZG9lc25cJ3QgaGF2ZSBhXG4gICAgICAgICBgYGNocmBgIHR5cGUsIGFuZCBldmVyeSBjaGFyYWN0ZXIgaW4gdGhlIHN0cmluZyBpc1xuICAgICAgICAgcmVwcmVzZW50ZWQgYXMgYSBzdHJpbmcgb2JqZWN0IHdpdGggbGVuZ3RoIGBgMWBgLiAgVGhlIGJ1aWx0LVxuICAgICAgICAgaW4gZnVuY3Rpb24gYGBvcmQoKWBgIGNvbnZlcnRzIGEgY2hhcmFjdGVyIHRvIGl0cyBjb2RlcG9pbnRcbiAgICAgICAgIChhcyBhbiBpbnRlZ2VyKTsgYGBjaHIoKWBgIGNvbnZlcnRzIGFuIGludGVnZXIgaW4gcmFuZ2UgYGAwIC1cbiAgICAgICAgIDEwRkZGRmBgIHRvIHRoZSBjb3JyZXNwb25kaW5nIGNoYXJhY3Rlci4gYGBzdHIuZW5jb2RlKClgYCBjYW5cbiAgICAgICAgIGJlIHVzZWQgdG8gY29udmVydCBhIGBgc3RyYGAgdG8gYGBieXRlc2BgIHVzaW5nIHRoZSBnaXZlblxuICAgICAgICAgZW5jb2RpbmcsIGFuZCBgYGJ5dGVzLmRlY29kZSgpYGAgY2FuIGJlIHVzZWQgdG8gYWNoaWV2ZSB0aGVcbiAgICAgICAgIG9wcG9zaXRlLlxuXG4gICAgICBUdXBsZXNcbiAgICAgICAgIFRoZSBpdGVtcyBvZiBhIHR1cGxlIGFyZSBhcmJpdHJhcnkgUHl0aG9uIG9iamVjdHMuIFR1cGxlcyBvZlxuICAgICAgICAgdHdvIG9yIG1vcmUgaXRlbXMgYXJlIGZvcm1lZCBieSBjb21tYS1zZXBhcmF0ZWQgbGlzdHMgb2ZcbiAgICAgICAgIGV4cHJlc3Npb25zLiAgQSB0dXBsZSBvZiBvbmUgaXRlbSAoYSBcJ3NpbmdsZXRvblwnKSBjYW4gYmVcbiAgICAgICAgIGZvcm1lZCBieSBhZmZpeGluZyBhIGNvbW1hIHRvIGFuIGV4cHJlc3Npb24gKGFuIGV4cHJlc3Npb24gYnlcbiAgICAgICAgIGl0c2VsZiBkb2VzIG5vdCBjcmVhdGUgYSB0dXBsZSwgc2luY2UgcGFyZW50aGVzZXMgbXVzdCBiZVxuICAgICAgICAgdXNhYmxlIGZvciBncm91cGluZyBvZiBleHByZXNzaW9ucykuICBBbiBlbXB0eSB0dXBsZSBjYW4gYmVcbiAgICAgICAgIGZvcm1lZCBieSBhbiBlbXB0eSBwYWlyIG9mIHBhcmVudGhlc2VzLlxuXG4gICAgICBCeXRlc1xuICAgICAgICAgQSBieXRlcyBvYmplY3QgaXMgYW4gaW1tdXRhYmxlIGFycmF5LiAgVGhlIGl0ZW1zIGFyZSA4LWJpdFxuICAgICAgICAgYnl0ZXMsIHJlcHJlc2VudGVkIGJ5IGludGVnZXJzIGluIHRoZSByYW5nZSAwIDw9IHggPCAyNTYuXG4gICAgICAgICBCeXRlcyBsaXRlcmFscyAobGlrZSBgYGJcJ2FiY1wnYGAgYW5kIHRoZSBidWlsdC1pbiBmdW5jdGlvblxuICAgICAgICAgYGBieXRlcygpYGAgY2FuIGJlIHVzZWQgdG8gY29uc3RydWN0IGJ5dGVzIG9iamVjdHMuICBBbHNvLFxuICAgICAgICAgYnl0ZXMgb2JqZWN0cyBjYW4gYmUgZGVjb2RlZCB0byBzdHJpbmdzIHZpYSB0aGUgYGBkZWNvZGUoKWBgXG4gICAgICAgICBtZXRob2QuXG5cbiAgIE11dGFibGUgc2VxdWVuY2VzXG4gICAgICBNdXRhYmxlIHNlcXVlbmNlcyBjYW4gYmUgY2hhbmdlZCBhZnRlciB0aGV5IGFyZSBjcmVhdGVkLiAgVGhlXG4gICAgICBzdWJzY3JpcHRpb24gYW5kIHNsaWNpbmcgbm90YXRpb25zIGNhbiBiZSB1c2VkIGFzIHRoZSB0YXJnZXQgb2ZcbiAgICAgIGFzc2lnbm1lbnQgYW5kIGBgZGVsYGAgKGRlbGV0ZSkgc3RhdGVtZW50cy5cblxuICAgICAgVGhlcmUgYXJlIGN1cnJlbnRseSB0d28gaW50cmluc2ljIG11dGFibGUgc2VxdWVuY2UgdHlwZXM6XG5cbiAgICAgIExpc3RzXG4gICAgICAgICBUaGUgaXRlbXMgb2YgYSBsaXN0IGFyZSBhcmJpdHJhcnkgUHl0aG9uIG9iamVjdHMuICBMaXN0cyBhcmVcbiAgICAgICAgIGZvcm1lZCBieSBwbGFjaW5nIGEgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgZXhwcmVzc2lvbnMgaW5cbiAgICAgICAgIHNxdWFyZSBicmFja2V0cy4gKE5vdGUgdGhhdCB0aGVyZSBhcmUgbm8gc3BlY2lhbCBjYXNlcyBuZWVkZWRcbiAgICAgICAgIHRvIGZvcm0gbGlzdHMgb2YgbGVuZ3RoIDAgb3IgMS4pXG5cbiAgICAgIEJ5dGUgQXJyYXlzXG4gICAgICAgICBBIGJ5dGVhcnJheSBvYmplY3QgaXMgYSBtdXRhYmxlIGFycmF5LiBUaGV5IGFyZSBjcmVhdGVkIGJ5XG4gICAgICAgICB0aGUgYnVpbHQtaW4gYGBieXRlYXJyYXkoKWBgIGNvbnN0cnVjdG9yLiAgQXNpZGUgZnJvbSBiZWluZ1xuICAgICAgICAgbXV0YWJsZSAoYW5kIGhlbmNlIHVuaGFzaGFibGUpLCBieXRlIGFycmF5cyBvdGhlcndpc2UgcHJvdmlkZVxuICAgICAgICAgdGhlIHNhbWUgaW50ZXJmYWNlIGFuZCBmdW5jdGlvbmFsaXR5IGFzIGltbXV0YWJsZSBieXRlc1xuICAgICAgICAgb2JqZWN0cy5cblxuICAgICAgVGhlIGV4dGVuc2lvbiBtb2R1bGUgYGBhcnJheWBgIHByb3ZpZGVzIGFuIGFkZGl0aW9uYWwgZXhhbXBsZSBvZlxuICAgICAgYSBtdXRhYmxlIHNlcXVlbmNlIHR5cGUsIGFzIGRvZXMgdGhlIGBgY29sbGVjdGlvbnNgYCBtb2R1bGUuXG5cblNldCB0eXBlc1xuICAgVGhlc2UgcmVwcmVzZW50IHVub3JkZXJlZCwgZmluaXRlIHNldHMgb2YgdW5pcXVlLCBpbW11dGFibGVcbiAgIG9iamVjdHMuIEFzIHN1Y2gsIHRoZXkgY2Fubm90IGJlIGluZGV4ZWQgYnkgYW55IHN1YnNjcmlwdC4gSG93ZXZlcixcbiAgIHRoZXkgY2FuIGJlIGl0ZXJhdGVkIG92ZXIsIGFuZCB0aGUgYnVpbHQtaW4gZnVuY3Rpb24gYGBsZW4oKWBgXG4gICByZXR1cm5zIHRoZSBudW1iZXIgb2YgaXRlbXMgaW4gYSBzZXQuIENvbW1vbiB1c2VzIGZvciBzZXRzIGFyZSBmYXN0XG4gICBtZW1iZXJzaGlwIHRlc3RpbmcsIHJlbW92aW5nIGR1cGxpY2F0ZXMgZnJvbSBhIHNlcXVlbmNlLCBhbmRcbiAgIGNvbXB1dGluZyBtYXRoZW1hdGljYWwgb3BlcmF0aW9ucyBzdWNoIGFzIGludGVyc2VjdGlvbiwgdW5pb24sXG4gICBkaWZmZXJlbmNlLCBhbmQgc3ltbWV0cmljIGRpZmZlcmVuY2UuXG5cbiAgIEZvciBzZXQgZWxlbWVudHMsIHRoZSBzYW1lIGltbXV0YWJpbGl0eSBydWxlcyBhcHBseSBhcyBmb3JcbiAgIGRpY3Rpb25hcnkga2V5cy4gTm90ZSB0aGF0IG51bWVyaWMgdHlwZXMgb2JleSB0aGUgbm9ybWFsIHJ1bGVzIGZvclxuICAgbnVtZXJpYyBjb21wYXJpc29uOiBpZiB0d28gbnVtYmVycyBjb21wYXJlIGVxdWFsIChlLmcuLCBgYDFgYCBhbmRcbiAgIGBgMS4wYGApLCBvbmx5IG9uZSBvZiB0aGVtIGNhbiBiZSBjb250YWluZWQgaW4gYSBzZXQuXG5cbiAgIFRoZXJlIGFyZSBjdXJyZW50bHkgdHdvIGludHJpbnNpYyBzZXQgdHlwZXM6XG5cbiAgIFNldHNcbiAgICAgIFRoZXNlIHJlcHJlc2VudCBhIG11dGFibGUgc2V0LiBUaGV5IGFyZSBjcmVhdGVkIGJ5IHRoZSBidWlsdC1pblxuICAgICAgYGBzZXQoKWBgIGNvbnN0cnVjdG9yIGFuZCBjYW4gYmUgbW9kaWZpZWQgYWZ0ZXJ3YXJkcyBieSBzZXZlcmFsXG4gICAgICBtZXRob2RzLCBzdWNoIGFzIGBgYWRkKClgYC5cblxuICAgRnJvemVuIHNldHNcbiAgICAgIFRoZXNlIHJlcHJlc2VudCBhbiBpbW11dGFibGUgc2V0LiAgVGhleSBhcmUgY3JlYXRlZCBieSB0aGVcbiAgICAgIGJ1aWx0LWluIGBgZnJvemVuc2V0KClgYCBjb25zdHJ1Y3Rvci4gIEFzIGEgZnJvemVuc2V0IGlzXG4gICAgICBpbW11dGFibGUgYW5kICpoYXNoYWJsZSosIGl0IGNhbiBiZSB1c2VkIGFnYWluIGFzIGFuIGVsZW1lbnQgb2ZcbiAgICAgIGFub3RoZXIgc2V0LCBvciBhcyBhIGRpY3Rpb25hcnkga2V5LlxuXG5NYXBwaW5nc1xuICAgVGhlc2UgcmVwcmVzZW50IGZpbml0ZSBzZXRzIG9mIG9iamVjdHMgaW5kZXhlZCBieSBhcmJpdHJhcnkgaW5kZXhcbiAgIHNldHMuIFRoZSBzdWJzY3JpcHQgbm90YXRpb24gYGBhW2tdYGAgc2VsZWN0cyB0aGUgaXRlbSBpbmRleGVkIGJ5XG4gICBgYGtgYCBmcm9tIHRoZSBtYXBwaW5nIGBgYWBgOyB0aGlzIGNhbiBiZSB1c2VkIGluIGV4cHJlc3Npb25zIGFuZFxuICAgYXMgdGhlIHRhcmdldCBvZiBhc3NpZ25tZW50cyBvciBgYGRlbGBgIHN0YXRlbWVudHMuIFRoZSBidWlsdC1pblxuICAgZnVuY3Rpb24gYGBsZW4oKWBgIHJldHVybnMgdGhlIG51bWJlciBvZiBpdGVtcyBpbiBhIG1hcHBpbmcuXG5cbiAgIFRoZXJlIGlzIGN1cnJlbnRseSBhIHNpbmdsZSBpbnRyaW5zaWMgbWFwcGluZyB0eXBlOlxuXG4gICBEaWN0aW9uYXJpZXNcbiAgICAgIFRoZXNlIHJlcHJlc2VudCBmaW5pdGUgc2V0cyBvZiBvYmplY3RzIGluZGV4ZWQgYnkgbmVhcmx5XG4gICAgICBhcmJpdHJhcnkgdmFsdWVzLiAgVGhlIG9ubHkgdHlwZXMgb2YgdmFsdWVzIG5vdCBhY2NlcHRhYmxlIGFzXG4gICAgICBrZXlzIGFyZSB2YWx1ZXMgY29udGFpbmluZyBsaXN0cyBvciBkaWN0aW9uYXJpZXMgb3Igb3RoZXJcbiAgICAgIG11dGFibGUgdHlwZXMgdGhhdCBhcmUgY29tcGFyZWQgYnkgdmFsdWUgcmF0aGVyIHRoYW4gYnkgb2JqZWN0XG4gICAgICBpZGVudGl0eSwgdGhlIHJlYXNvbiBiZWluZyB0aGF0IHRoZSBlZmZpY2llbnQgaW1wbGVtZW50YXRpb24gb2ZcbiAgICAgIGRpY3Rpb25hcmllcyByZXF1aXJlcyBhIGtleVwncyBoYXNoIHZhbHVlIHRvIHJlbWFpbiBjb25zdGFudC5cbiAgICAgIE51bWVyaWMgdHlwZXMgdXNlZCBmb3Iga2V5cyBvYmV5IHRoZSBub3JtYWwgcnVsZXMgZm9yIG51bWVyaWNcbiAgICAgIGNvbXBhcmlzb246IGlmIHR3byBudW1iZXJzIGNvbXBhcmUgZXF1YWwgKGUuZy4sIGBgMWBgIGFuZFxuICAgICAgYGAxLjBgYCkgdGhlbiB0aGV5IGNhbiBiZSB1c2VkIGludGVyY2hhbmdlYWJseSB0byBpbmRleCB0aGUgc2FtZVxuICAgICAgZGljdGlvbmFyeSBlbnRyeS5cblxuICAgICAgRGljdGlvbmFyaWVzIGFyZSBtdXRhYmxlOyB0aGV5IGNhbiBiZSBjcmVhdGVkIGJ5IHRoZSBgYHsuLi59YGBcbiAgICAgIG5vdGF0aW9uIChzZWUgc2VjdGlvbiAqRGljdGlvbmFyeSBkaXNwbGF5cyopLlxuXG4gICAgICBUaGUgZXh0ZW5zaW9uIG1vZHVsZXMgYGBkYm0ubmRibWBgIGFuZCBgYGRibS5nbnVgYCBwcm92aWRlXG4gICAgICBhZGRpdGlvbmFsIGV4YW1wbGVzIG9mIG1hcHBpbmcgdHlwZXMsIGFzIGRvZXMgdGhlXG4gICAgICBgYGNvbGxlY3Rpb25zYGAgbW9kdWxlLlxuXG5DYWxsYWJsZSB0eXBlc1xuICAgVGhlc2UgYXJlIHRoZSB0eXBlcyB0byB3aGljaCB0aGUgZnVuY3Rpb24gY2FsbCBvcGVyYXRpb24gKHNlZVxuICAgc2VjdGlvbiAqQ2FsbHMqKSBjYW4gYmUgYXBwbGllZDpcblxuICAgVXNlci1kZWZpbmVkIGZ1bmN0aW9uc1xuICAgICAgQSB1c2VyLWRlZmluZWQgZnVuY3Rpb24gb2JqZWN0IGlzIGNyZWF0ZWQgYnkgYSBmdW5jdGlvblxuICAgICAgZGVmaW5pdGlvbiAoc2VlIHNlY3Rpb24gKkZ1bmN0aW9uIGRlZmluaXRpb25zKikuICBJdCBzaG91bGQgYmVcbiAgICAgIGNhbGxlZCB3aXRoIGFuIGFyZ3VtZW50IGxpc3QgY29udGFpbmluZyB0aGUgc2FtZSBudW1iZXIgb2YgaXRlbXNcbiAgICAgIGFzIHRoZSBmdW5jdGlvblwncyBmb3JtYWwgcGFyYW1ldGVyIGxpc3QuXG5cbiAgICAgIFNwZWNpYWwgYXR0cmlidXRlczpcblxuICAgICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLStcbiAgICAgIHwgQXR0cmlidXRlICAgICAgICAgICAgICAgICB8IE1lYW5pbmcgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICB8XG4gICAgICArPT09PT09PT09PT09PT09PT09PT09PT09PT09Kz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSs9PT09PT09PT09PT09K1xuICAgICAgfCBgYF9fZG9jX19gYCAgICAgICAgICAgICAgIHwgVGhlIGZ1bmN0aW9uXCdzIGRvY3VtZW50YXRpb24gICAgfCBXcml0YWJsZSAgICB8XG4gICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBzdHJpbmcsIG9yIGBgTm9uZWBgIGlmICAgICAgICAgIHwgICAgICAgICAgICAgfFxuICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgdW5hdmFpbGFibGUgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgIHxcbiAgICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rXG4gICAgICB8IGBgX19uYW1lX19gYCAgICAgICAgICAgICAgfCBUaGUgZnVuY3Rpb25cJ3MgbmFtZSAgICAgICAgICAgICB8IFdyaXRhYmxlICAgIHxcbiAgICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rXG4gICAgICB8IGBgX19xdWFsbmFtZV9fYGAgICAgICAgICAgfCBUaGUgZnVuY3Rpb25cJ3MgKnF1YWxpZmllZCBuYW1lKiB8IFdyaXRhYmxlICAgIHxcbiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICB8IE5ldyBpbiB2ZXJzaW9uIDMuMy4gICAgICAgICAgICAgfCAgICAgICAgICAgICB8XG4gICAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tK1xuICAgICAgfCBgYF9fbW9kdWxlX19gYCAgICAgICAgICAgIHwgVGhlIG5hbWUgb2YgdGhlIG1vZHVsZSB0aGUgICAgICB8IFdyaXRhYmxlICAgIHxcbiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGZ1bmN0aW9uIHdhcyBkZWZpbmVkIGluLCBvciAgICAgfCAgICAgICAgICAgICB8XG4gICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBgYE5vbmVgYCBpZiB1bmF2YWlsYWJsZS4gICAgICAgIHwgICAgICAgICAgICAgfFxuICAgICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLStcbiAgICAgIHwgYGBfX2RlZmF1bHRzX19gYCAgICAgICAgICB8IEEgdHVwbGUgY29udGFpbmluZyBkZWZhdWx0ICAgICAgfCBXcml0YWJsZSAgICB8XG4gICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBhcmd1bWVudCB2YWx1ZXMgZm9yIHRob3NlICAgICAgIHwgICAgICAgICAgICAgfFxuICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYXJndW1lbnRzIHRoYXQgaGF2ZSBkZWZhdWx0cywgICB8ICAgICAgICAgICAgIHxcbiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICB8IG9yIGBgTm9uZWBgIGlmIG5vIGFyZ3VtZW50cyAgICAgfCAgICAgICAgICAgICB8XG4gICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBoYXZlIGEgZGVmYXVsdCB2YWx1ZSAgICAgICAgICAgIHwgICAgICAgICAgICAgfFxuICAgICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLStcbiAgICAgIHwgYGBfX2NvZGVfX2BgICAgICAgICAgICAgICB8IFRoZSBjb2RlIG9iamVjdCByZXByZXNlbnRpbmcgICAgfCBXcml0YWJsZSAgICB8XG4gICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCB0aGUgY29tcGlsZWQgZnVuY3Rpb24gYm9keS4gICAgIHwgICAgICAgICAgICAgfFxuICAgICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLStcbiAgICAgIHwgYGBfX2dsb2JhbHNfX2BgICAgICAgICAgICB8IEEgcmVmZXJlbmNlIHRvIHRoZSBkaWN0aW9uYXJ5ICAgfCBSZWFkLW9ubHkgICB8XG4gICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCB0aGF0IGhvbGRzIHRoZSBmdW5jdGlvblwncyAgICAgICB8ICAgICAgICAgICAgIHxcbiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGdsb2JhbCB2YXJpYWJsZXMgLS0tIHRoZSBnbG9iYWwgfCAgICAgICAgICAgICB8XG4gICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBuYW1lc3BhY2Ugb2YgdGhlIG1vZHVsZSBpbiAgICAgIHwgICAgICAgICAgICAgfFxuICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgd2hpY2ggdGhlIGZ1bmN0aW9uIHdhcyBkZWZpbmVkLiB8ICAgICAgICAgICAgIHxcbiAgICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rXG4gICAgICB8IGBgX19kaWN0X19gYCAgICAgICAgICAgICAgfCBUaGUgbmFtZXNwYWNlIHN1cHBvcnRpbmcgICAgICAgIHwgV3JpdGFibGUgICAgfFxuICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYXJiaXRyYXJ5IGZ1bmN0aW9uIGF0dHJpYnV0ZXMuICB8ICAgICAgICAgICAgIHxcbiAgICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rXG4gICAgICB8IGBgX19jbG9zdXJlX19gYCAgICAgICAgICAgfCBgYE5vbmVgYCBvciBhIHR1cGxlIG9mIGNlbGxzICAgIHwgUmVhZC1vbmx5ICAgfFxuICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgdGhhdCBjb250YWluIGJpbmRpbmdzIGZvciB0aGUgICB8ICAgICAgICAgICAgIHxcbiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGZ1bmN0aW9uXCdzIGZyZWUgdmFyaWFibGVzLiAgICAgIHwgICAgICAgICAgICAgfFxuICAgICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLStcbiAgICAgIHwgYGBfX2Fubm90YXRpb25zX19gYCAgICAgICB8IEEgZGljdCBjb250YWluaW5nIGFubm90YXRpb25zICAgfCBXcml0YWJsZSAgICB8XG4gICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBvZiBwYXJhbWV0ZXJzLiAgVGhlIGtleXMgb2YgdGhlIHwgICAgICAgICAgICAgfFxuICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgZGljdCBhcmUgdGhlIHBhcmFtZXRlciBuYW1lcywgICB8ICAgICAgICAgICAgIHxcbiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICB8IG9yIGBgXCdyZXR1cm5cJ2BgIGZvciB0aGUgcmV0dXJuICB8ICAgICAgICAgICAgIHxcbiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGFubm90YXRpb24sIGlmIHByb3ZpZGVkLiAgICAgICAgfCAgICAgICAgICAgICB8XG4gICAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tK1xuICAgICAgfCBgYF9fa3dkZWZhdWx0c19fYGAgICAgICAgIHwgQSBkaWN0IGNvbnRhaW5pbmcgZGVmYXVsdHMgZm9yICB8IFdyaXRhYmxlICAgIHxcbiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGtleXdvcmQtb25seSBwYXJhbWV0ZXJzLiAgICAgICAgfCAgICAgICAgICAgICB8XG4gICAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tK1xuXG4gICAgICBNb3N0IG9mIHRoZSBhdHRyaWJ1dGVzIGxhYmVsbGVkICJXcml0YWJsZSIgY2hlY2sgdGhlIHR5cGUgb2YgdGhlXG4gICAgICBhc3NpZ25lZCB2YWx1ZS5cblxuICAgICAgRnVuY3Rpb24gb2JqZWN0cyBhbHNvIHN1cHBvcnQgZ2V0dGluZyBhbmQgc2V0dGluZyBhcmJpdHJhcnlcbiAgICAgIGF0dHJpYnV0ZXMsIHdoaWNoIGNhbiBiZSB1c2VkLCBmb3IgZXhhbXBsZSwgdG8gYXR0YWNoIG1ldGFkYXRhXG4gICAgICB0byBmdW5jdGlvbnMuICBSZWd1bGFyIGF0dHJpYnV0ZSBkb3Qtbm90YXRpb24gaXMgdXNlZCB0byBnZXQgYW5kXG4gICAgICBzZXQgc3VjaCBhdHRyaWJ1dGVzLiAqTm90ZSB0aGF0IHRoZSBjdXJyZW50IGltcGxlbWVudGF0aW9uIG9ubHlcbiAgICAgIHN1cHBvcnRzIGZ1bmN0aW9uIGF0dHJpYnV0ZXMgb24gdXNlci1kZWZpbmVkIGZ1bmN0aW9ucy4gRnVuY3Rpb25cbiAgICAgIGF0dHJpYnV0ZXMgb24gYnVpbHQtaW4gZnVuY3Rpb25zIG1heSBiZSBzdXBwb3J0ZWQgaW4gdGhlXG4gICAgICBmdXR1cmUuKlxuXG4gICAgICBBZGRpdGlvbmFsIGluZm9ybWF0aW9uIGFib3V0IGEgZnVuY3Rpb25cJ3MgZGVmaW5pdGlvbiBjYW4gYmVcbiAgICAgIHJldHJpZXZlZCBmcm9tIGl0cyBjb2RlIG9iamVjdDsgc2VlIHRoZSBkZXNjcmlwdGlvbiBvZiBpbnRlcm5hbFxuICAgICAgdHlwZXMgYmVsb3cuXG5cbiAgIEluc3RhbmNlIG1ldGhvZHNcbiAgICAgIEFuIGluc3RhbmNlIG1ldGhvZCBvYmplY3QgY29tYmluZXMgYSBjbGFzcywgYSBjbGFzcyBpbnN0YW5jZSBhbmRcbiAgICAgIGFueSBjYWxsYWJsZSBvYmplY3QgKG5vcm1hbGx5IGEgdXNlci1kZWZpbmVkIGZ1bmN0aW9uKS5cblxuICAgICAgU3BlY2lhbCByZWFkLW9ubHkgYXR0cmlidXRlczogYGBfX3NlbGZfX2BgIGlzIHRoZSBjbGFzcyBpbnN0YW5jZVxuICAgICAgb2JqZWN0LCBgYF9fZnVuY19fYGAgaXMgdGhlIGZ1bmN0aW9uIG9iamVjdDsgYGBfX2RvY19fYGAgaXMgdGhlXG4gICAgICBtZXRob2RcJ3MgZG9jdW1lbnRhdGlvbiAoc2FtZSBhcyBgYF9fZnVuY19fLl9fZG9jX19gYCk7XG4gICAgICBgYF9fbmFtZV9fYGAgaXMgdGhlIG1ldGhvZCBuYW1lIChzYW1lIGFzIGBgX19mdW5jX18uX19uYW1lX19gYCk7XG4gICAgICBgYF9fbW9kdWxlX19gYCBpcyB0aGUgbmFtZSBvZiB0aGUgbW9kdWxlIHRoZSBtZXRob2Qgd2FzIGRlZmluZWRcbiAgICAgIGluLCBvciBgYE5vbmVgYCBpZiB1bmF2YWlsYWJsZS5cblxuICAgICAgTWV0aG9kcyBhbHNvIHN1cHBvcnQgYWNjZXNzaW5nIChidXQgbm90IHNldHRpbmcpIHRoZSBhcmJpdHJhcnlcbiAgICAgIGZ1bmN0aW9uIGF0dHJpYnV0ZXMgb24gdGhlIHVuZGVybHlpbmcgZnVuY3Rpb24gb2JqZWN0LlxuXG4gICAgICBVc2VyLWRlZmluZWQgbWV0aG9kIG9iamVjdHMgbWF5IGJlIGNyZWF0ZWQgd2hlbiBnZXR0aW5nIGFuXG4gICAgICBhdHRyaWJ1dGUgb2YgYSBjbGFzcyAocGVyaGFwcyB2aWEgYW4gaW5zdGFuY2Ugb2YgdGhhdCBjbGFzcyksIGlmXG4gICAgICB0aGF0IGF0dHJpYnV0ZSBpcyBhIHVzZXItZGVmaW5lZCBmdW5jdGlvbiBvYmplY3Qgb3IgYSBjbGFzc1xuICAgICAgbWV0aG9kIG9iamVjdC5cblxuICAgICAgV2hlbiBhbiBpbnN0YW5jZSBtZXRob2Qgb2JqZWN0IGlzIGNyZWF0ZWQgYnkgcmV0cmlldmluZyBhIHVzZXItXG4gICAgICBkZWZpbmVkIGZ1bmN0aW9uIG9iamVjdCBmcm9tIGEgY2xhc3MgdmlhIG9uZSBvZiBpdHMgaW5zdGFuY2VzLFxuICAgICAgaXRzIGBgX19zZWxmX19gYCBhdHRyaWJ1dGUgaXMgdGhlIGluc3RhbmNlLCBhbmQgdGhlIG1ldGhvZFxuICAgICAgb2JqZWN0IGlzIHNhaWQgdG8gYmUgYm91bmQuICBUaGUgbmV3IG1ldGhvZFwncyBgYF9fZnVuY19fYGBcbiAgICAgIGF0dHJpYnV0ZSBpcyB0aGUgb3JpZ2luYWwgZnVuY3Rpb24gb2JqZWN0LlxuXG4gICAgICBXaGVuIGEgdXNlci1kZWZpbmVkIG1ldGhvZCBvYmplY3QgaXMgY3JlYXRlZCBieSByZXRyaWV2aW5nXG4gICAgICBhbm90aGVyIG1ldGhvZCBvYmplY3QgZnJvbSBhIGNsYXNzIG9yIGluc3RhbmNlLCB0aGUgYmVoYXZpb3VyIGlzXG4gICAgICB0aGUgc2FtZSBhcyBmb3IgYSBmdW5jdGlvbiBvYmplY3QsIGV4Y2VwdCB0aGF0IHRoZSBgYF9fZnVuY19fYGBcbiAgICAgIGF0dHJpYnV0ZSBvZiB0aGUgbmV3IGluc3RhbmNlIGlzIG5vdCB0aGUgb3JpZ2luYWwgbWV0aG9kIG9iamVjdFxuICAgICAgYnV0IGl0cyBgYF9fZnVuY19fYGAgYXR0cmlidXRlLlxuXG4gICAgICBXaGVuIGFuIGluc3RhbmNlIG1ldGhvZCBvYmplY3QgaXMgY3JlYXRlZCBieSByZXRyaWV2aW5nIGEgY2xhc3NcbiAgICAgIG1ldGhvZCBvYmplY3QgZnJvbSBhIGNsYXNzIG9yIGluc3RhbmNlLCBpdHMgYGBfX3NlbGZfX2BgXG4gICAgICBhdHRyaWJ1dGUgaXMgdGhlIGNsYXNzIGl0c2VsZiwgYW5kIGl0cyBgYF9fZnVuY19fYGAgYXR0cmlidXRlIGlzXG4gICAgICB0aGUgZnVuY3Rpb24gb2JqZWN0IHVuZGVybHlpbmcgdGhlIGNsYXNzIG1ldGhvZC5cblxuICAgICAgV2hlbiBhbiBpbnN0YW5jZSBtZXRob2Qgb2JqZWN0IGlzIGNhbGxlZCwgdGhlIHVuZGVybHlpbmdcbiAgICAgIGZ1bmN0aW9uIChgYF9fZnVuY19fYGApIGlzIGNhbGxlZCwgaW5zZXJ0aW5nIHRoZSBjbGFzcyBpbnN0YW5jZVxuICAgICAgKGBgX19zZWxmX19gYCkgaW4gZnJvbnQgb2YgdGhlIGFyZ3VtZW50IGxpc3QuICBGb3IgaW5zdGFuY2UsXG4gICAgICB3aGVuIGBgQ2BgIGlzIGEgY2xhc3Mgd2hpY2ggY29udGFpbnMgYSBkZWZpbml0aW9uIGZvciBhIGZ1bmN0aW9uXG4gICAgICBgYGYoKWBgLCBhbmQgYGB4YGAgaXMgYW4gaW5zdGFuY2Ugb2YgYGBDYGAsIGNhbGxpbmcgYGB4LmYoMSlgYFxuICAgICAgaXMgZXF1aXZhbGVudCB0byBjYWxsaW5nIGBgQy5mKHgsIDEpYGAuXG5cbiAgICAgIFdoZW4gYW4gaW5zdGFuY2UgbWV0aG9kIG9iamVjdCBpcyBkZXJpdmVkIGZyb20gYSBjbGFzcyBtZXRob2RcbiAgICAgIG9iamVjdCwgdGhlICJjbGFzcyBpbnN0YW5jZSIgc3RvcmVkIGluIGBgX19zZWxmX19gYCB3aWxsXG4gICAgICBhY3R1YWxseSBiZSB0aGUgY2xhc3MgaXRzZWxmLCBzbyB0aGF0IGNhbGxpbmcgZWl0aGVyIGBgeC5mKDEpYGBcbiAgICAgIG9yIGBgQy5mKDEpYGAgaXMgZXF1aXZhbGVudCB0byBjYWxsaW5nIGBgZihDLDEpYGAgd2hlcmUgYGBmYGAgaXNcbiAgICAgIHRoZSB1bmRlcmx5aW5nIGZ1bmN0aW9uLlxuXG4gICAgICBOb3RlIHRoYXQgdGhlIHRyYW5zZm9ybWF0aW9uIGZyb20gZnVuY3Rpb24gb2JqZWN0IHRvIGluc3RhbmNlXG4gICAgICBtZXRob2Qgb2JqZWN0IGhhcHBlbnMgZWFjaCB0aW1lIHRoZSBhdHRyaWJ1dGUgaXMgcmV0cmlldmVkIGZyb21cbiAgICAgIHRoZSBpbnN0YW5jZS4gIEluIHNvbWUgY2FzZXMsIGEgZnJ1aXRmdWwgb3B0aW1pemF0aW9uIGlzIHRvXG4gICAgICBhc3NpZ24gdGhlIGF0dHJpYnV0ZSB0byBhIGxvY2FsIHZhcmlhYmxlIGFuZCBjYWxsIHRoYXQgbG9jYWxcbiAgICAgIHZhcmlhYmxlLiBBbHNvIG5vdGljZSB0aGF0IHRoaXMgdHJhbnNmb3JtYXRpb24gb25seSBoYXBwZW5zIGZvclxuICAgICAgdXNlci1kZWZpbmVkIGZ1bmN0aW9uczsgb3RoZXIgY2FsbGFibGUgb2JqZWN0cyAoYW5kIGFsbCBub24tXG4gICAgICBjYWxsYWJsZSBvYmplY3RzKSBhcmUgcmV0cmlldmVkIHdpdGhvdXQgdHJhbnNmb3JtYXRpb24uICBJdCBpc1xuICAgICAgYWxzbyBpbXBvcnRhbnQgdG8gbm90ZSB0aGF0IHVzZXItZGVmaW5lZCBmdW5jdGlvbnMgd2hpY2ggYXJlXG4gICAgICBhdHRyaWJ1dGVzIG9mIGEgY2xhc3MgaW5zdGFuY2UgYXJlIG5vdCBjb252ZXJ0ZWQgdG8gYm91bmRcbiAgICAgIG1ldGhvZHM7IHRoaXMgKm9ubHkqIGhhcHBlbnMgd2hlbiB0aGUgZnVuY3Rpb24gaXMgYW4gYXR0cmlidXRlXG4gICAgICBvZiB0aGUgY2xhc3MuXG5cbiAgIEdlbmVyYXRvciBmdW5jdGlvbnNcbiAgICAgIEEgZnVuY3Rpb24gb3IgbWV0aG9kIHdoaWNoIHVzZXMgdGhlIGBgeWllbGRgYCBzdGF0ZW1lbnQgKHNlZVxuICAgICAgc2VjdGlvbiAqVGhlIHlpZWxkIHN0YXRlbWVudCopIGlzIGNhbGxlZCBhICpnZW5lcmF0b3IgZnVuY3Rpb24qLlxuICAgICAgU3VjaCBhIGZ1bmN0aW9uLCB3aGVuIGNhbGxlZCwgYWx3YXlzIHJldHVybnMgYW4gaXRlcmF0b3Igb2JqZWN0XG4gICAgICB3aGljaCBjYW4gYmUgdXNlZCB0byBleGVjdXRlIHRoZSBib2R5IG9mIHRoZSBmdW5jdGlvbjogIGNhbGxpbmdcbiAgICAgIHRoZSBpdGVyYXRvclwncyBgYF9fbmV4dF9fKClgYCBtZXRob2Qgd2lsbCBjYXVzZSB0aGUgZnVuY3Rpb24gdG9cbiAgICAgIGV4ZWN1dGUgdW50aWwgaXQgcHJvdmlkZXMgYSB2YWx1ZSB1c2luZyB0aGUgYGB5aWVsZGBgIHN0YXRlbWVudC5cbiAgICAgIFdoZW4gdGhlIGZ1bmN0aW9uIGV4ZWN1dGVzIGEgYGByZXR1cm5gYCBzdGF0ZW1lbnQgb3IgZmFsbHMgb2ZmXG4gICAgICB0aGUgZW5kLCBhIGBgU3RvcEl0ZXJhdGlvbmBgIGV4Y2VwdGlvbiBpcyByYWlzZWQgYW5kIHRoZVxuICAgICAgaXRlcmF0b3Igd2lsbCBoYXZlIHJlYWNoZWQgdGhlIGVuZCBvZiB0aGUgc2V0IG9mIHZhbHVlcyB0byBiZVxuICAgICAgcmV0dXJuZWQuXG5cbiAgIEJ1aWx0LWluIGZ1bmN0aW9uc1xuICAgICAgQSBidWlsdC1pbiBmdW5jdGlvbiBvYmplY3QgaXMgYSB3cmFwcGVyIGFyb3VuZCBhIEMgZnVuY3Rpb24uXG4gICAgICBFeGFtcGxlcyBvZiBidWlsdC1pbiBmdW5jdGlvbnMgYXJlIGBgbGVuKClgYCBhbmQgYGBtYXRoLnNpbigpYGBcbiAgICAgIChgYG1hdGhgYCBpcyBhIHN0YW5kYXJkIGJ1aWx0LWluIG1vZHVsZSkuIFRoZSBudW1iZXIgYW5kIHR5cGUgb2ZcbiAgICAgIHRoZSBhcmd1bWVudHMgYXJlIGRldGVybWluZWQgYnkgdGhlIEMgZnVuY3Rpb24uIFNwZWNpYWwgcmVhZC1cbiAgICAgIG9ubHkgYXR0cmlidXRlczogYGBfX2RvY19fYGAgaXMgdGhlIGZ1bmN0aW9uXCdzIGRvY3VtZW50YXRpb25cbiAgICAgIHN0cmluZywgb3IgYGBOb25lYGAgaWYgdW5hdmFpbGFibGU7IGBgX19uYW1lX19gYCBpcyB0aGVcbiAgICAgIGZ1bmN0aW9uXCdzIG5hbWU7IGBgX19zZWxmX19gYCBpcyBzZXQgdG8gYGBOb25lYGAgKGJ1dCBzZWUgdGhlXG4gICAgICBuZXh0IGl0ZW0pOyBgYF9fbW9kdWxlX19gYCBpcyB0aGUgbmFtZSBvZiB0aGUgbW9kdWxlIHRoZVxuICAgICAgZnVuY3Rpb24gd2FzIGRlZmluZWQgaW4gb3IgYGBOb25lYGAgaWYgdW5hdmFpbGFibGUuXG5cbiAgIEJ1aWx0LWluIG1ldGhvZHNcbiAgICAgIFRoaXMgaXMgcmVhbGx5IGEgZGlmZmVyZW50IGRpc2d1aXNlIG9mIGEgYnVpbHQtaW4gZnVuY3Rpb24sIHRoaXNcbiAgICAgIHRpbWUgY29udGFpbmluZyBhbiBvYmplY3QgcGFzc2VkIHRvIHRoZSBDIGZ1bmN0aW9uIGFzIGFuXG4gICAgICBpbXBsaWNpdCBleHRyYSBhcmd1bWVudC4gIEFuIGV4YW1wbGUgb2YgYSBidWlsdC1pbiBtZXRob2QgaXNcbiAgICAgIGBgYWxpc3QuYXBwZW5kKClgYCwgYXNzdW1pbmcgKmFsaXN0KiBpcyBhIGxpc3Qgb2JqZWN0LiBJbiB0aGlzXG4gICAgICBjYXNlLCB0aGUgc3BlY2lhbCByZWFkLW9ubHkgYXR0cmlidXRlIGBgX19zZWxmX19gYCBpcyBzZXQgdG8gdGhlXG4gICAgICBvYmplY3QgZGVub3RlZCBieSAqYWxpc3QqLlxuXG4gICBDbGFzc2VzXG4gICAgICBDbGFzc2VzIGFyZSBjYWxsYWJsZS4gIFRoZXNlIG9iamVjdHMgbm9ybWFsbHkgYWN0IGFzIGZhY3Rvcmllc1xuICAgICAgZm9yIG5ldyBpbnN0YW5jZXMgb2YgdGhlbXNlbHZlcywgYnV0IHZhcmlhdGlvbnMgYXJlIHBvc3NpYmxlIGZvclxuICAgICAgY2xhc3MgdHlwZXMgdGhhdCBvdmVycmlkZSBgYF9fbmV3X18oKWBgLiAgVGhlIGFyZ3VtZW50cyBvZiB0aGVcbiAgICAgIGNhbGwgYXJlIHBhc3NlZCB0byBgYF9fbmV3X18oKWBgIGFuZCwgaW4gdGhlIHR5cGljYWwgY2FzZSwgdG9cbiAgICAgIGBgX19pbml0X18oKWBgIHRvIGluaXRpYWxpemUgdGhlIG5ldyBpbnN0YW5jZS5cblxuICAgQ2xhc3MgSW5zdGFuY2VzXG4gICAgICBJbnN0YW5jZXMgb2YgYXJiaXRyYXJ5IGNsYXNzZXMgY2FuIGJlIG1hZGUgY2FsbGFibGUgYnkgZGVmaW5pbmdcbiAgICAgIGEgYGBfX2NhbGxfXygpYGAgbWV0aG9kIGluIHRoZWlyIGNsYXNzLlxuXG5Nb2R1bGVzXG4gICBNb2R1bGVzIGFyZSBpbXBvcnRlZCBieSB0aGUgYGBpbXBvcnRgYCBzdGF0ZW1lbnQgKHNlZSBzZWN0aW9uICpUaGVcbiAgIGltcG9ydCBzdGF0ZW1lbnQqKS4gQSBtb2R1bGUgb2JqZWN0IGhhcyBhIG5hbWVzcGFjZSBpbXBsZW1lbnRlZCBieVxuICAgYSBkaWN0aW9uYXJ5IG9iamVjdCAodGhpcyBpcyB0aGUgZGljdGlvbmFyeSByZWZlcmVuY2VkIGJ5IHRoZVxuICAgX19nbG9iYWxzX18gYXR0cmlidXRlIG9mIGZ1bmN0aW9ucyBkZWZpbmVkIGluIHRoZSBtb2R1bGUpLlxuICAgQXR0cmlidXRlIHJlZmVyZW5jZXMgYXJlIHRyYW5zbGF0ZWQgdG8gbG9va3VwcyBpbiB0aGlzIGRpY3Rpb25hcnksXG4gICBlLmcuLCBgYG0ueGBgIGlzIGVxdWl2YWxlbnQgdG8gYGBtLl9fZGljdF9fWyJ4Il1gYC4gQSBtb2R1bGUgb2JqZWN0XG4gICBkb2VzIG5vdCBjb250YWluIHRoZSBjb2RlIG9iamVjdCB1c2VkIHRvIGluaXRpYWxpemUgdGhlIG1vZHVsZVxuICAgKHNpbmNlIGl0IGlzblwndCBuZWVkZWQgb25jZSB0aGUgaW5pdGlhbGl6YXRpb24gaXMgZG9uZSkuXG5cbiAgIEF0dHJpYnV0ZSBhc3NpZ25tZW50IHVwZGF0ZXMgdGhlIG1vZHVsZVwncyBuYW1lc3BhY2UgZGljdGlvbmFyeSxcbiAgIGUuZy4sIGBgbS54ID0gMWBgIGlzIGVxdWl2YWxlbnQgdG8gYGBtLl9fZGljdF9fWyJ4Il0gPSAxYGAuXG5cbiAgIFNwZWNpYWwgcmVhZC1vbmx5IGF0dHJpYnV0ZTogYGBfX2RpY3RfX2BgIGlzIHRoZSBtb2R1bGVcJ3MgbmFtZXNwYWNlXG4gICBhcyBhIGRpY3Rpb25hcnkgb2JqZWN0LlxuXG4gICAqKkNQeXRob24gaW1wbGVtZW50YXRpb24gZGV0YWlsOioqIEJlY2F1c2Ugb2YgdGhlIHdheSBDUHl0aG9uXG4gICBjbGVhcnMgbW9kdWxlIGRpY3Rpb25hcmllcywgdGhlIG1vZHVsZSBkaWN0aW9uYXJ5IHdpbGwgYmUgY2xlYXJlZFxuICAgd2hlbiB0aGUgbW9kdWxlIGZhbGxzIG91dCBvZiBzY29wZSBldmVuIGlmIHRoZSBkaWN0aW9uYXJ5IHN0aWxsIGhhc1xuICAgbGl2ZSByZWZlcmVuY2VzLiAgVG8gYXZvaWQgdGhpcywgY29weSB0aGUgZGljdGlvbmFyeSBvciBrZWVwIHRoZVxuICAgbW9kdWxlIGFyb3VuZCB3aGlsZSB1c2luZyBpdHMgZGljdGlvbmFyeSBkaXJlY3RseS5cblxuICAgUHJlZGVmaW5lZCAod3JpdGFibGUpIGF0dHJpYnV0ZXM6IGBgX19uYW1lX19gYCBpcyB0aGUgbW9kdWxlXCdzXG4gICBuYW1lOyBgYF9fZG9jX19gYCBpcyB0aGUgbW9kdWxlXCdzIGRvY3VtZW50YXRpb24gc3RyaW5nLCBvciBgYE5vbmVgYFxuICAgaWYgdW5hdmFpbGFibGU7IGBgX19maWxlX19gYCBpcyB0aGUgcGF0aG5hbWUgb2YgdGhlIGZpbGUgZnJvbSB3aGljaFxuICAgdGhlIG1vZHVsZSB3YXMgbG9hZGVkLCBpZiBpdCB3YXMgbG9hZGVkIGZyb20gYSBmaWxlLiBUaGVcbiAgIGBgX19maWxlX19gYCBhdHRyaWJ1dGUgaXMgbm90IHByZXNlbnQgZm9yIEMgbW9kdWxlcyB0aGF0IGFyZVxuICAgc3RhdGljYWxseSBsaW5rZWQgaW50byB0aGUgaW50ZXJwcmV0ZXI7IGZvciBleHRlbnNpb24gbW9kdWxlc1xuICAgbG9hZGVkIGR5bmFtaWNhbGx5IGZyb20gYSBzaGFyZWQgbGlicmFyeSwgaXQgaXMgdGhlIHBhdGhuYW1lIG9mIHRoZVxuICAgc2hhcmVkIGxpYnJhcnkgZmlsZS5cblxuQ3VzdG9tIGNsYXNzZXNcbiAgIEN1c3RvbSBjbGFzcyB0eXBlcyBhcmUgdHlwaWNhbGx5IGNyZWF0ZWQgYnkgY2xhc3MgZGVmaW5pdGlvbnMgKHNlZVxuICAgc2VjdGlvbiAqQ2xhc3MgZGVmaW5pdGlvbnMqKS4gIEEgY2xhc3MgaGFzIGEgbmFtZXNwYWNlIGltcGxlbWVudGVkXG4gICBieSBhIGRpY3Rpb25hcnkgb2JqZWN0LiBDbGFzcyBhdHRyaWJ1dGUgcmVmZXJlbmNlcyBhcmUgdHJhbnNsYXRlZFxuICAgdG8gbG9va3VwcyBpbiB0aGlzIGRpY3Rpb25hcnksIGUuZy4sIGBgQy54YGAgaXMgdHJhbnNsYXRlZCB0b1xuICAgYGBDLl9fZGljdF9fWyJ4Il1gYCAoYWx0aG91Z2ggdGhlcmUgYXJlIGEgbnVtYmVyIG9mIGhvb2tzIHdoaWNoXG4gICBhbGxvdyBmb3Igb3RoZXIgbWVhbnMgb2YgbG9jYXRpbmcgYXR0cmlidXRlcykuIFdoZW4gdGhlIGF0dHJpYnV0ZVxuICAgbmFtZSBpcyBub3QgZm91bmQgdGhlcmUsIHRoZSBhdHRyaWJ1dGUgc2VhcmNoIGNvbnRpbnVlcyBpbiB0aGUgYmFzZVxuICAgY2xhc3Nlcy4gVGhpcyBzZWFyY2ggb2YgdGhlIGJhc2UgY2xhc3NlcyB1c2VzIHRoZSBDMyBtZXRob2RcbiAgIHJlc29sdXRpb24gb3JkZXIgd2hpY2ggYmVoYXZlcyBjb3JyZWN0bHkgZXZlbiBpbiB0aGUgcHJlc2VuY2Ugb2ZcbiAgIFwnZGlhbW9uZFwnIGluaGVyaXRhbmNlIHN0cnVjdHVyZXMgd2hlcmUgdGhlcmUgYXJlIG11bHRpcGxlXG4gICBpbmhlcml0YW5jZSBwYXRocyBsZWFkaW5nIGJhY2sgdG8gYSBjb21tb24gYW5jZXN0b3IuIEFkZGl0aW9uYWxcbiAgIGRldGFpbHMgb24gdGhlIEMzIE1STyB1c2VkIGJ5IFB5dGhvbiBjYW4gYmUgZm91bmQgaW4gdGhlXG4gICBkb2N1bWVudGF0aW9uIGFjY29tcGFueWluZyB0aGUgMi4zIHJlbGVhc2UgYXRcbiAgIGh0dHA6Ly93d3cucHl0aG9uLm9yZy9kb3dubG9hZC9yZWxlYXNlcy8yLjMvbXJvLy5cblxuICAgV2hlbiBhIGNsYXNzIGF0dHJpYnV0ZSByZWZlcmVuY2UgKGZvciBjbGFzcyBgYENgYCwgc2F5KSB3b3VsZCB5aWVsZFxuICAgYSBjbGFzcyBtZXRob2Qgb2JqZWN0LCBpdCBpcyB0cmFuc2Zvcm1lZCBpbnRvIGFuIGluc3RhbmNlIG1ldGhvZFxuICAgb2JqZWN0IHdob3NlIGBgX19zZWxmX19gYCBhdHRyaWJ1dGVzIGlzIGBgQ2BgLiAgV2hlbiBpdCB3b3VsZCB5aWVsZFxuICAgYSBzdGF0aWMgbWV0aG9kIG9iamVjdCwgaXQgaXMgdHJhbnNmb3JtZWQgaW50byB0aGUgb2JqZWN0IHdyYXBwZWRcbiAgIGJ5IHRoZSBzdGF0aWMgbWV0aG9kIG9iamVjdC4gU2VlIHNlY3Rpb24gKkltcGxlbWVudGluZyBEZXNjcmlwdG9ycypcbiAgIGZvciBhbm90aGVyIHdheSBpbiB3aGljaCBhdHRyaWJ1dGVzIHJldHJpZXZlZCBmcm9tIGEgY2xhc3MgbWF5XG4gICBkaWZmZXIgZnJvbSB0aG9zZSBhY3R1YWxseSBjb250YWluZWQgaW4gaXRzIGBgX19kaWN0X19gYC5cblxuICAgQ2xhc3MgYXR0cmlidXRlIGFzc2lnbm1lbnRzIHVwZGF0ZSB0aGUgY2xhc3NcJ3MgZGljdGlvbmFyeSwgbmV2ZXJcbiAgIHRoZSBkaWN0aW9uYXJ5IG9mIGEgYmFzZSBjbGFzcy5cblxuICAgQSBjbGFzcyBvYmplY3QgY2FuIGJlIGNhbGxlZCAoc2VlIGFib3ZlKSB0byB5aWVsZCBhIGNsYXNzIGluc3RhbmNlXG4gICAoc2VlIGJlbG93KS5cblxuICAgU3BlY2lhbCBhdHRyaWJ1dGVzOiBgYF9fbmFtZV9fYGAgaXMgdGhlIGNsYXNzIG5hbWU7IGBgX19tb2R1bGVfX2BgXG4gICBpcyB0aGUgbW9kdWxlIG5hbWUgaW4gd2hpY2ggdGhlIGNsYXNzIHdhcyBkZWZpbmVkOyBgYF9fZGljdF9fYGAgaXNcbiAgIHRoZSBkaWN0aW9uYXJ5IGNvbnRhaW5pbmcgdGhlIGNsYXNzXCdzIG5hbWVzcGFjZTsgYGBfX2Jhc2VzX19gYCBpcyBhXG4gICB0dXBsZSAocG9zc2libHkgZW1wdHkgb3IgYSBzaW5nbGV0b24pIGNvbnRhaW5pbmcgdGhlIGJhc2UgY2xhc3NlcyxcbiAgIGluIHRoZSBvcmRlciBvZiB0aGVpciBvY2N1cnJlbmNlIGluIHRoZSBiYXNlIGNsYXNzIGxpc3Q7XG4gICBgYF9fZG9jX19gYCBpcyB0aGUgY2xhc3NcJ3MgZG9jdW1lbnRhdGlvbiBzdHJpbmcsIG9yIE5vbmUgaWZcbiAgIHVuZGVmaW5lZC5cblxuQ2xhc3MgaW5zdGFuY2VzXG4gICBBIGNsYXNzIGluc3RhbmNlIGlzIGNyZWF0ZWQgYnkgY2FsbGluZyBhIGNsYXNzIG9iamVjdCAoc2VlIGFib3ZlKS5cbiAgIEEgY2xhc3MgaW5zdGFuY2UgaGFzIGEgbmFtZXNwYWNlIGltcGxlbWVudGVkIGFzIGEgZGljdGlvbmFyeSB3aGljaFxuICAgaXMgdGhlIGZpcnN0IHBsYWNlIGluIHdoaWNoIGF0dHJpYnV0ZSByZWZlcmVuY2VzIGFyZSBzZWFyY2hlZC5cbiAgIFdoZW4gYW4gYXR0cmlidXRlIGlzIG5vdCBmb3VuZCB0aGVyZSwgYW5kIHRoZSBpbnN0YW5jZVwncyBjbGFzcyBoYXNcbiAgIGFuIGF0dHJpYnV0ZSBieSB0aGF0IG5hbWUsIHRoZSBzZWFyY2ggY29udGludWVzIHdpdGggdGhlIGNsYXNzXG4gICBhdHRyaWJ1dGVzLiAgSWYgYSBjbGFzcyBhdHRyaWJ1dGUgaXMgZm91bmQgdGhhdCBpcyBhIHVzZXItZGVmaW5lZFxuICAgZnVuY3Rpb24gb2JqZWN0LCBpdCBpcyB0cmFuc2Zvcm1lZCBpbnRvIGFuIGluc3RhbmNlIG1ldGhvZCBvYmplY3RcbiAgIHdob3NlIGBgX19zZWxmX19gYCBhdHRyaWJ1dGUgaXMgdGhlIGluc3RhbmNlLiAgU3RhdGljIG1ldGhvZCBhbmRcbiAgIGNsYXNzIG1ldGhvZCBvYmplY3RzIGFyZSBhbHNvIHRyYW5zZm9ybWVkOyBzZWUgYWJvdmUgdW5kZXJcbiAgICJDbGFzc2VzIi4gIFNlZSBzZWN0aW9uICpJbXBsZW1lbnRpbmcgRGVzY3JpcHRvcnMqIGZvciBhbm90aGVyIHdheVxuICAgaW4gd2hpY2ggYXR0cmlidXRlcyBvZiBhIGNsYXNzIHJldHJpZXZlZCB2aWEgaXRzIGluc3RhbmNlcyBtYXlcbiAgIGRpZmZlciBmcm9tIHRoZSBvYmplY3RzIGFjdHVhbGx5IHN0b3JlZCBpbiB0aGUgY2xhc3NcJ3NcbiAgIGBgX19kaWN0X19gYC4gIElmIG5vIGNsYXNzIGF0dHJpYnV0ZSBpcyBmb3VuZCwgYW5kIHRoZSBvYmplY3RcJ3NcbiAgIGNsYXNzIGhhcyBhIGBgX19nZXRhdHRyX18oKWBgIG1ldGhvZCwgdGhhdCBpcyBjYWxsZWQgdG8gc2F0aXNmeSB0aGVcbiAgIGxvb2t1cC5cblxuICAgQXR0cmlidXRlIGFzc2lnbm1lbnRzIGFuZCBkZWxldGlvbnMgdXBkYXRlIHRoZSBpbnN0YW5jZVwnc1xuICAgZGljdGlvbmFyeSwgbmV2ZXIgYSBjbGFzc1wncyBkaWN0aW9uYXJ5LiAgSWYgdGhlIGNsYXNzIGhhcyBhXG4gICBgYF9fc2V0YXR0cl9fKClgYCBvciBgYF9fZGVsYXR0cl9fKClgYCBtZXRob2QsIHRoaXMgaXMgY2FsbGVkXG4gICBpbnN0ZWFkIG9mIHVwZGF0aW5nIHRoZSBpbnN0YW5jZSBkaWN0aW9uYXJ5IGRpcmVjdGx5LlxuXG4gICBDbGFzcyBpbnN0YW5jZXMgY2FuIHByZXRlbmQgdG8gYmUgbnVtYmVycywgc2VxdWVuY2VzLCBvciBtYXBwaW5nc1xuICAgaWYgdGhleSBoYXZlIG1ldGhvZHMgd2l0aCBjZXJ0YWluIHNwZWNpYWwgbmFtZXMuICBTZWUgc2VjdGlvblxuICAgKlNwZWNpYWwgbWV0aG9kIG5hbWVzKi5cblxuICAgU3BlY2lhbCBhdHRyaWJ1dGVzOiBgYF9fZGljdF9fYGAgaXMgdGhlIGF0dHJpYnV0ZSBkaWN0aW9uYXJ5O1xuICAgYGBfX2NsYXNzX19gYCBpcyB0aGUgaW5zdGFuY2VcJ3MgY2xhc3MuXG5cbkkvTyBvYmplY3RzIChhbHNvIGtub3duIGFzIGZpbGUgb2JqZWN0cylcbiAgIEEgKmZpbGUgb2JqZWN0KiByZXByZXNlbnRzIGFuIG9wZW4gZmlsZS4gIFZhcmlvdXMgc2hvcnRjdXRzIGFyZVxuICAgYXZhaWxhYmxlIHRvIGNyZWF0ZSBmaWxlIG9iamVjdHM6IHRoZSBgYG9wZW4oKWBgIGJ1aWx0LWluIGZ1bmN0aW9uLFxuICAgYW5kIGFsc28gYGBvcy5wb3BlbigpYGAsIGBgb3MuZmRvcGVuKClgYCwgYW5kIHRoZSBgYG1ha2VmaWxlKClgYFxuICAgbWV0aG9kIG9mIHNvY2tldCBvYmplY3RzIChhbmQgcGVyaGFwcyBieSBvdGhlciBmdW5jdGlvbnMgb3IgbWV0aG9kc1xuICAgcHJvdmlkZWQgYnkgZXh0ZW5zaW9uIG1vZHVsZXMpLlxuXG4gICBUaGUgb2JqZWN0cyBgYHN5cy5zdGRpbmBgLCBgYHN5cy5zdGRvdXRgYCBhbmQgYGBzeXMuc3RkZXJyYGAgYXJlXG4gICBpbml0aWFsaXplZCB0byBmaWxlIG9iamVjdHMgY29ycmVzcG9uZGluZyB0byB0aGUgaW50ZXJwcmV0ZXJcJ3NcbiAgIHN0YW5kYXJkIGlucHV0LCBvdXRwdXQgYW5kIGVycm9yIHN0cmVhbXM7IHRoZXkgYXJlIGFsbCBvcGVuIGluIHRleHRcbiAgIG1vZGUgYW5kIHRoZXJlZm9yZSBmb2xsb3cgdGhlIGludGVyZmFjZSBkZWZpbmVkIGJ5IHRoZVxuICAgYGBpby5UZXh0SU9CYXNlYGAgYWJzdHJhY3QgY2xhc3MuXG5cbkludGVybmFsIHR5cGVzXG4gICBBIGZldyB0eXBlcyB1c2VkIGludGVybmFsbHkgYnkgdGhlIGludGVycHJldGVyIGFyZSBleHBvc2VkIHRvIHRoZVxuICAgdXNlci4gVGhlaXIgZGVmaW5pdGlvbnMgbWF5IGNoYW5nZSB3aXRoIGZ1dHVyZSB2ZXJzaW9ucyBvZiB0aGVcbiAgIGludGVycHJldGVyLCBidXQgdGhleSBhcmUgbWVudGlvbmVkIGhlcmUgZm9yIGNvbXBsZXRlbmVzcy5cblxuICAgQ29kZSBvYmplY3RzXG4gICAgICBDb2RlIG9iamVjdHMgcmVwcmVzZW50ICpieXRlLWNvbXBpbGVkKiBleGVjdXRhYmxlIFB5dGhvbiBjb2RlLFxuICAgICAgb3IgKmJ5dGVjb2RlKi4gVGhlIGRpZmZlcmVuY2UgYmV0d2VlbiBhIGNvZGUgb2JqZWN0IGFuZCBhXG4gICAgICBmdW5jdGlvbiBvYmplY3QgaXMgdGhhdCB0aGUgZnVuY3Rpb24gb2JqZWN0IGNvbnRhaW5zIGFuIGV4cGxpY2l0XG4gICAgICByZWZlcmVuY2UgdG8gdGhlIGZ1bmN0aW9uXCdzIGdsb2JhbHMgKHRoZSBtb2R1bGUgaW4gd2hpY2ggaXQgd2FzXG4gICAgICBkZWZpbmVkKSwgd2hpbGUgYSBjb2RlIG9iamVjdCBjb250YWlucyBubyBjb250ZXh0OyBhbHNvIHRoZVxuICAgICAgZGVmYXVsdCBhcmd1bWVudCB2YWx1ZXMgYXJlIHN0b3JlZCBpbiB0aGUgZnVuY3Rpb24gb2JqZWN0LCBub3RcbiAgICAgIGluIHRoZSBjb2RlIG9iamVjdCAoYmVjYXVzZSB0aGV5IHJlcHJlc2VudCB2YWx1ZXMgY2FsY3VsYXRlZCBhdFxuICAgICAgcnVuLXRpbWUpLiAgVW5saWtlIGZ1bmN0aW9uIG9iamVjdHMsIGNvZGUgb2JqZWN0cyBhcmUgaW1tdXRhYmxlXG4gICAgICBhbmQgY29udGFpbiBubyByZWZlcmVuY2VzIChkaXJlY3RseSBvciBpbmRpcmVjdGx5KSB0byBtdXRhYmxlXG4gICAgICBvYmplY3RzLlxuXG4gICAgICBTcGVjaWFsIHJlYWQtb25seSBhdHRyaWJ1dGVzOiBgYGNvX25hbWVgYCBnaXZlcyB0aGUgZnVuY3Rpb25cbiAgICAgIG5hbWU7IGBgY29fYXJnY291bnRgYCBpcyB0aGUgbnVtYmVyIG9mIHBvc2l0aW9uYWwgYXJndW1lbnRzXG4gICAgICAoaW5jbHVkaW5nIGFyZ3VtZW50cyB3aXRoIGRlZmF1bHQgdmFsdWVzKTsgYGBjb19ubG9jYWxzYGAgaXMgdGhlXG4gICAgICBudW1iZXIgb2YgbG9jYWwgdmFyaWFibGVzIHVzZWQgYnkgdGhlIGZ1bmN0aW9uIChpbmNsdWRpbmdcbiAgICAgIGFyZ3VtZW50cyk7IGBgY29fdmFybmFtZXNgYCBpcyBhIHR1cGxlIGNvbnRhaW5pbmcgdGhlIG5hbWVzIG9mXG4gICAgICB0aGUgbG9jYWwgdmFyaWFibGVzIChzdGFydGluZyB3aXRoIHRoZSBhcmd1bWVudCBuYW1lcyk7XG4gICAgICBgYGNvX2NlbGx2YXJzYGAgaXMgYSB0dXBsZSBjb250YWluaW5nIHRoZSBuYW1lcyBvZiBsb2NhbFxuICAgICAgdmFyaWFibGVzIHRoYXQgYXJlIHJlZmVyZW5jZWQgYnkgbmVzdGVkIGZ1bmN0aW9ucztcbiAgICAgIGBgY29fZnJlZXZhcnNgYCBpcyBhIHR1cGxlIGNvbnRhaW5pbmcgdGhlIG5hbWVzIG9mIGZyZWVcbiAgICAgIHZhcmlhYmxlczsgYGBjb19jb2RlYGAgaXMgYSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBzZXF1ZW5jZSBvZlxuICAgICAgYnl0ZWNvZGUgaW5zdHJ1Y3Rpb25zOyBgYGNvX2NvbnN0c2BgIGlzIGEgdHVwbGUgY29udGFpbmluZyB0aGVcbiAgICAgIGxpdGVyYWxzIHVzZWQgYnkgdGhlIGJ5dGVjb2RlOyBgYGNvX25hbWVzYGAgaXMgYSB0dXBsZVxuICAgICAgY29udGFpbmluZyB0aGUgbmFtZXMgdXNlZCBieSB0aGUgYnl0ZWNvZGU7IGBgY29fZmlsZW5hbWVgYCBpc1xuICAgICAgdGhlIGZpbGVuYW1lIGZyb20gd2hpY2ggdGhlIGNvZGUgd2FzIGNvbXBpbGVkO1xuICAgICAgYGBjb19maXJzdGxpbmVub2BgIGlzIHRoZSBmaXJzdCBsaW5lIG51bWJlciBvZiB0aGUgZnVuY3Rpb247XG4gICAgICBgYGNvX2xub3RhYmBgIGlzIGEgc3RyaW5nIGVuY29kaW5nIHRoZSBtYXBwaW5nIGZyb20gYnl0ZWNvZGVcbiAgICAgIG9mZnNldHMgdG8gbGluZSBudW1iZXJzIChmb3IgZGV0YWlscyBzZWUgdGhlIHNvdXJjZSBjb2RlIG9mIHRoZVxuICAgICAgaW50ZXJwcmV0ZXIpOyBgYGNvX3N0YWNrc2l6ZWBgIGlzIHRoZSByZXF1aXJlZCBzdGFjayBzaXplXG4gICAgICAoaW5jbHVkaW5nIGxvY2FsIHZhcmlhYmxlcyk7IGBgY29fZmxhZ3NgYCBpcyBhbiBpbnRlZ2VyIGVuY29kaW5nXG4gICAgICBhIG51bWJlciBvZiBmbGFncyBmb3IgdGhlIGludGVycHJldGVyLlxuXG4gICAgICBUaGUgZm9sbG93aW5nIGZsYWcgYml0cyBhcmUgZGVmaW5lZCBmb3IgYGBjb19mbGFnc2BgOiBiaXRcbiAgICAgIGBgMHgwNGBgIGlzIHNldCBpZiB0aGUgZnVuY3Rpb24gdXNlcyB0aGUgYGAqYXJndW1lbnRzYGAgc3ludGF4XG4gICAgICB0byBhY2NlcHQgYW4gYXJiaXRyYXJ5IG51bWJlciBvZiBwb3NpdGlvbmFsIGFyZ3VtZW50czsgYml0XG4gICAgICBgYDB4MDhgYCBpcyBzZXQgaWYgdGhlIGZ1bmN0aW9uIHVzZXMgdGhlIGBgKiprZXl3b3Jkc2BgIHN5bnRheFxuICAgICAgdG8gYWNjZXB0IGFyYml0cmFyeSBrZXl3b3JkIGFyZ3VtZW50czsgYml0IGBgMHgyMGBgIGlzIHNldCBpZlxuICAgICAgdGhlIGZ1bmN0aW9uIGlzIGEgZ2VuZXJhdG9yLlxuXG4gICAgICBGdXR1cmUgZmVhdHVyZSBkZWNsYXJhdGlvbnMgKGBgZnJvbSBfX2Z1dHVyZV9fIGltcG9ydFxuICAgICAgZGl2aXNpb25gYCkgYWxzbyB1c2UgYml0cyBpbiBgYGNvX2ZsYWdzYGAgdG8gaW5kaWNhdGUgd2hldGhlciBhXG4gICAgICBjb2RlIG9iamVjdCB3YXMgY29tcGlsZWQgd2l0aCBhIHBhcnRpY3VsYXIgZmVhdHVyZSBlbmFibGVkOiBiaXRcbiAgICAgIGBgMHgyMDAwYGAgaXMgc2V0IGlmIHRoZSBmdW5jdGlvbiB3YXMgY29tcGlsZWQgd2l0aCBmdXR1cmVcbiAgICAgIGRpdmlzaW9uIGVuYWJsZWQ7IGJpdHMgYGAweDEwYGAgYW5kIGBgMHgxMDAwYGAgd2VyZSB1c2VkIGluXG4gICAgICBlYXJsaWVyIHZlcnNpb25zIG9mIFB5dGhvbi5cblxuICAgICAgT3RoZXIgYml0cyBpbiBgYGNvX2ZsYWdzYGAgYXJlIHJlc2VydmVkIGZvciBpbnRlcm5hbCB1c2UuXG5cbiAgICAgIElmIGEgY29kZSBvYmplY3QgcmVwcmVzZW50cyBhIGZ1bmN0aW9uLCB0aGUgZmlyc3QgaXRlbSBpblxuICAgICAgYGBjb19jb25zdHNgYCBpcyB0aGUgZG9jdW1lbnRhdGlvbiBzdHJpbmcgb2YgdGhlIGZ1bmN0aW9uLCBvclxuICAgICAgYGBOb25lYGAgaWYgdW5kZWZpbmVkLlxuXG4gICBGcmFtZSBvYmplY3RzXG4gICAgICBGcmFtZSBvYmplY3RzIHJlcHJlc2VudCBleGVjdXRpb24gZnJhbWVzLiAgVGhleSBtYXkgb2NjdXIgaW5cbiAgICAgIHRyYWNlYmFjayBvYmplY3RzIChzZWUgYmVsb3cpLlxuXG4gICAgICBTcGVjaWFsIHJlYWQtb25seSBhdHRyaWJ1dGVzOiBgYGZfYmFja2BgIGlzIHRvIHRoZSBwcmV2aW91c1xuICAgICAgc3RhY2sgZnJhbWUgKHRvd2FyZHMgdGhlIGNhbGxlciksIG9yIGBgTm9uZWBgIGlmIHRoaXMgaXMgdGhlXG4gICAgICBib3R0b20gc3RhY2sgZnJhbWU7IGBgZl9jb2RlYGAgaXMgdGhlIGNvZGUgb2JqZWN0IGJlaW5nIGV4ZWN1dGVkXG4gICAgICBpbiB0aGlzIGZyYW1lOyBgYGZfbG9jYWxzYGAgaXMgdGhlIGRpY3Rpb25hcnkgdXNlZCB0byBsb29rIHVwXG4gICAgICBsb2NhbCB2YXJpYWJsZXM7IGBgZl9nbG9iYWxzYGAgaXMgdXNlZCBmb3IgZ2xvYmFsIHZhcmlhYmxlcztcbiAgICAgIGBgZl9idWlsdGluc2BgIGlzIHVzZWQgZm9yIGJ1aWx0LWluIChpbnRyaW5zaWMpIG5hbWVzO1xuICAgICAgYGBmX2xhc3RpYGAgZ2l2ZXMgdGhlIHByZWNpc2UgaW5zdHJ1Y3Rpb24gKHRoaXMgaXMgYW4gaW5kZXggaW50b1xuICAgICAgdGhlIGJ5dGVjb2RlIHN0cmluZyBvZiB0aGUgY29kZSBvYmplY3QpLlxuXG4gICAgICBTcGVjaWFsIHdyaXRhYmxlIGF0dHJpYnV0ZXM6IGBgZl90cmFjZWBgLCBpZiBub3QgYGBOb25lYGAsIGlzIGFcbiAgICAgIGZ1bmN0aW9uIGNhbGxlZCBhdCB0aGUgc3RhcnQgb2YgZWFjaCBzb3VyY2UgY29kZSBsaW5lICh0aGlzIGlzXG4gICAgICB1c2VkIGJ5IHRoZSBkZWJ1Z2dlcik7IGBgZl9saW5lbm9gYCBpcyB0aGUgY3VycmVudCBsaW5lIG51bWJlclxuICAgICAgb2YgdGhlIGZyYW1lIC0tLSB3cml0aW5nIHRvIHRoaXMgZnJvbSB3aXRoaW4gYSB0cmFjZSBmdW5jdGlvblxuICAgICAganVtcHMgdG8gdGhlIGdpdmVuIGxpbmUgKG9ubHkgZm9yIHRoZSBib3R0b20tbW9zdCBmcmFtZSkuICBBXG4gICAgICBkZWJ1Z2dlciBjYW4gaW1wbGVtZW50IGEgSnVtcCBjb21tYW5kIChha2EgU2V0IE5leHQgU3RhdGVtZW50KVxuICAgICAgYnkgd3JpdGluZyB0byBmX2xpbmVuby5cblxuICAgVHJhY2ViYWNrIG9iamVjdHNcbiAgICAgIFRyYWNlYmFjayBvYmplY3RzIHJlcHJlc2VudCBhIHN0YWNrIHRyYWNlIG9mIGFuIGV4Y2VwdGlvbi4gIEFcbiAgICAgIHRyYWNlYmFjayBvYmplY3QgaXMgY3JlYXRlZCB3aGVuIGFuIGV4Y2VwdGlvbiBvY2N1cnMuICBXaGVuIHRoZVxuICAgICAgc2VhcmNoIGZvciBhbiBleGNlcHRpb24gaGFuZGxlciB1bndpbmRzIHRoZSBleGVjdXRpb24gc3RhY2ssIGF0XG4gICAgICBlYWNoIHVud291bmQgbGV2ZWwgYSB0cmFjZWJhY2sgb2JqZWN0IGlzIGluc2VydGVkIGluIGZyb250IG9mXG4gICAgICB0aGUgY3VycmVudCB0cmFjZWJhY2suICBXaGVuIGFuIGV4Y2VwdGlvbiBoYW5kbGVyIGlzIGVudGVyZWQsXG4gICAgICB0aGUgc3RhY2sgdHJhY2UgaXMgbWFkZSBhdmFpbGFibGUgdG8gdGhlIHByb2dyYW0uIChTZWUgc2VjdGlvblxuICAgICAgKlRoZSB0cnkgc3RhdGVtZW50Ki4pIEl0IGlzIGFjY2Vzc2libGUgYXMgdGhlIHRoaXJkIGl0ZW0gb2YgdGhlXG4gICAgICB0dXBsZSByZXR1cm5lZCBieSBgYHN5cy5leGNfaW5mbygpYGAuIFdoZW4gdGhlIHByb2dyYW0gY29udGFpbnNcbiAgICAgIG5vIHN1aXRhYmxlIGhhbmRsZXIsIHRoZSBzdGFjayB0cmFjZSBpcyB3cml0dGVuIChuaWNlbHlcbiAgICAgIGZvcm1hdHRlZCkgdG8gdGhlIHN0YW5kYXJkIGVycm9yIHN0cmVhbTsgaWYgdGhlIGludGVycHJldGVyIGlzXG4gICAgICBpbnRlcmFjdGl2ZSwgaXQgaXMgYWxzbyBtYWRlIGF2YWlsYWJsZSB0byB0aGUgdXNlciBhc1xuICAgICAgYGBzeXMubGFzdF90cmFjZWJhY2tgYC5cblxuICAgICAgU3BlY2lhbCByZWFkLW9ubHkgYXR0cmlidXRlczogYGB0Yl9uZXh0YGAgaXMgdGhlIG5leHQgbGV2ZWwgaW5cbiAgICAgIHRoZSBzdGFjayB0cmFjZSAodG93YXJkcyB0aGUgZnJhbWUgd2hlcmUgdGhlIGV4Y2VwdGlvblxuICAgICAgb2NjdXJyZWQpLCBvciBgYE5vbmVgYCBpZiB0aGVyZSBpcyBubyBuZXh0IGxldmVsOyBgYHRiX2ZyYW1lYGBcbiAgICAgIHBvaW50cyB0byB0aGUgZXhlY3V0aW9uIGZyYW1lIG9mIHRoZSBjdXJyZW50IGxldmVsO1xuICAgICAgYGB0Yl9saW5lbm9gYCBnaXZlcyB0aGUgbGluZSBudW1iZXIgd2hlcmUgdGhlIGV4Y2VwdGlvblxuICAgICAgb2NjdXJyZWQ7IGBgdGJfbGFzdGlgYCBpbmRpY2F0ZXMgdGhlIHByZWNpc2UgaW5zdHJ1Y3Rpb24uICBUaGVcbiAgICAgIGxpbmUgbnVtYmVyIGFuZCBsYXN0IGluc3RydWN0aW9uIGluIHRoZSB0cmFjZWJhY2sgbWF5IGRpZmZlclxuICAgICAgZnJvbSB0aGUgbGluZSBudW1iZXIgb2YgaXRzIGZyYW1lIG9iamVjdCBpZiB0aGUgZXhjZXB0aW9uXG4gICAgICBvY2N1cnJlZCBpbiBhIGBgdHJ5YGAgc3RhdGVtZW50IHdpdGggbm8gbWF0Y2hpbmcgZXhjZXB0IGNsYXVzZVxuICAgICAgb3Igd2l0aCBhIGZpbmFsbHkgY2xhdXNlLlxuXG4gICBTbGljZSBvYmplY3RzXG4gICAgICBTbGljZSBvYmplY3RzIGFyZSB1c2VkIHRvIHJlcHJlc2VudCBzbGljZXMgZm9yIGBgX19nZXRpdGVtX18oKWBgXG4gICAgICBtZXRob2RzLiAgVGhleSBhcmUgYWxzbyBjcmVhdGVkIGJ5IHRoZSBidWlsdC1pbiBgYHNsaWNlKClgYFxuICAgICAgZnVuY3Rpb24uXG5cbiAgICAgIFNwZWNpYWwgcmVhZC1vbmx5IGF0dHJpYnV0ZXM6IGBgc3RhcnRgYCBpcyB0aGUgbG93ZXIgYm91bmQ7XG4gICAgICBgYHN0b3BgYCBpcyB0aGUgdXBwZXIgYm91bmQ7IGBgc3RlcGBgIGlzIHRoZSBzdGVwIHZhbHVlOyBlYWNoIGlzXG4gICAgICBgYE5vbmVgYCBpZiBvbWl0dGVkLiBUaGVzZSBhdHRyaWJ1dGVzIGNhbiBoYXZlIGFueSB0eXBlLlxuXG4gICAgICBTbGljZSBvYmplY3RzIHN1cHBvcnQgb25lIG1ldGhvZDpcblxuICAgICAgc2xpY2UuaW5kaWNlcyhzZWxmLCBsZW5ndGgpXG5cbiAgICAgICAgIFRoaXMgbWV0aG9kIHRha2VzIGEgc2luZ2xlIGludGVnZXIgYXJndW1lbnQgKmxlbmd0aCogYW5kXG4gICAgICAgICBjb21wdXRlcyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgc2xpY2UgdGhhdCB0aGUgc2xpY2Ugb2JqZWN0XG4gICAgICAgICB3b3VsZCBkZXNjcmliZSBpZiBhcHBsaWVkIHRvIGEgc2VxdWVuY2Ugb2YgKmxlbmd0aCogaXRlbXMuXG4gICAgICAgICBJdCByZXR1cm5zIGEgdHVwbGUgb2YgdGhyZWUgaW50ZWdlcnM7IHJlc3BlY3RpdmVseSB0aGVzZSBhcmVcbiAgICAgICAgIHRoZSAqc3RhcnQqIGFuZCAqc3RvcCogaW5kaWNlcyBhbmQgdGhlICpzdGVwKiBvciBzdHJpZGVcbiAgICAgICAgIGxlbmd0aCBvZiB0aGUgc2xpY2UuIE1pc3Npbmcgb3Igb3V0LW9mLWJvdW5kcyBpbmRpY2VzIGFyZVxuICAgICAgICAgaGFuZGxlZCBpbiBhIG1hbm5lciBjb25zaXN0ZW50IHdpdGggcmVndWxhciBzbGljZXMuXG5cbiAgIFN0YXRpYyBtZXRob2Qgb2JqZWN0c1xuICAgICAgU3RhdGljIG1ldGhvZCBvYmplY3RzIHByb3ZpZGUgYSB3YXkgb2YgZGVmZWF0aW5nIHRoZVxuICAgICAgdHJhbnNmb3JtYXRpb24gb2YgZnVuY3Rpb24gb2JqZWN0cyB0byBtZXRob2Qgb2JqZWN0cyBkZXNjcmliZWRcbiAgICAgIGFib3ZlLiBBIHN0YXRpYyBtZXRob2Qgb2JqZWN0IGlzIGEgd3JhcHBlciBhcm91bmQgYW55IG90aGVyXG4gICAgICBvYmplY3QsIHVzdWFsbHkgYSB1c2VyLWRlZmluZWQgbWV0aG9kIG9iamVjdC4gV2hlbiBhIHN0YXRpY1xuICAgICAgbWV0aG9kIG9iamVjdCBpcyByZXRyaWV2ZWQgZnJvbSBhIGNsYXNzIG9yIGEgY2xhc3MgaW5zdGFuY2UsIHRoZVxuICAgICAgb2JqZWN0IGFjdHVhbGx5IHJldHVybmVkIGlzIHRoZSB3cmFwcGVkIG9iamVjdCwgd2hpY2ggaXMgbm90XG4gICAgICBzdWJqZWN0IHRvIGFueSBmdXJ0aGVyIHRyYW5zZm9ybWF0aW9uLiBTdGF0aWMgbWV0aG9kIG9iamVjdHMgYXJlXG4gICAgICBub3QgdGhlbXNlbHZlcyBjYWxsYWJsZSwgYWx0aG91Z2ggdGhlIG9iamVjdHMgdGhleSB3cmFwIHVzdWFsbHlcbiAgICAgIGFyZS4gU3RhdGljIG1ldGhvZCBvYmplY3RzIGFyZSBjcmVhdGVkIGJ5IHRoZSBidWlsdC1pblxuICAgICAgYGBzdGF0aWNtZXRob2QoKWBgIGNvbnN0cnVjdG9yLlxuXG4gICBDbGFzcyBtZXRob2Qgb2JqZWN0c1xuICAgICAgQSBjbGFzcyBtZXRob2Qgb2JqZWN0LCBsaWtlIGEgc3RhdGljIG1ldGhvZCBvYmplY3QsIGlzIGEgd3JhcHBlclxuICAgICAgYXJvdW5kIGFub3RoZXIgb2JqZWN0IHRoYXQgYWx0ZXJzIHRoZSB3YXkgaW4gd2hpY2ggdGhhdCBvYmplY3RcbiAgICAgIGlzIHJldHJpZXZlZCBmcm9tIGNsYXNzZXMgYW5kIGNsYXNzIGluc3RhbmNlcy4gVGhlIGJlaGF2aW91ciBvZlxuICAgICAgY2xhc3MgbWV0aG9kIG9iamVjdHMgdXBvbiBzdWNoIHJldHJpZXZhbCBpcyBkZXNjcmliZWQgYWJvdmUsXG4gICAgICB1bmRlciAiVXNlci1kZWZpbmVkIG1ldGhvZHMiLiBDbGFzcyBtZXRob2Qgb2JqZWN0cyBhcmUgY3JlYXRlZFxuICAgICAgYnkgdGhlIGJ1aWx0LWluIGBgY2xhc3NtZXRob2QoKWBgIGNvbnN0cnVjdG9yLlxuJywKICAndHlwZXNmdW5jdGlvbnMnOiAnXG5GdW5jdGlvbnNcbioqKioqKioqKlxuXG5GdW5jdGlvbiBvYmplY3RzIGFyZSBjcmVhdGVkIGJ5IGZ1bmN0aW9uIGRlZmluaXRpb25zLiAgVGhlIG9ubHlcbm9wZXJhdGlvbiBvbiBhIGZ1bmN0aW9uIG9iamVjdCBpcyB0byBjYWxsIGl0OiBgYGZ1bmMoYXJndW1lbnQtbGlzdClgYC5cblxuVGhlcmUgYXJlIHJlYWxseSB0d28gZmxhdm9ycyBvZiBmdW5jdGlvbiBvYmplY3RzOiBidWlsdC1pbiBmdW5jdGlvbnNcbmFuZCB1c2VyLWRlZmluZWQgZnVuY3Rpb25zLiAgQm90aCBzdXBwb3J0IHRoZSBzYW1lIG9wZXJhdGlvbiAodG8gY2FsbFxudGhlIGZ1bmN0aW9uKSwgYnV0IHRoZSBpbXBsZW1lbnRhdGlvbiBpcyBkaWZmZXJlbnQsIGhlbmNlIHRoZVxuZGlmZmVyZW50IG9iamVjdCB0eXBlcy5cblxuU2VlICpGdW5jdGlvbiBkZWZpbml0aW9ucyogZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4nLAogICd0eXBlc21hcHBpbmcnOiAnXG5NYXBwaW5nIFR5cGVzIC0tLSBgYGRpY3RgYFxuKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuQSAqbWFwcGluZyogb2JqZWN0IG1hcHMgKmhhc2hhYmxlKiB2YWx1ZXMgdG8gYXJiaXRyYXJ5IG9iamVjdHMuXG5NYXBwaW5ncyBhcmUgbXV0YWJsZSBvYmplY3RzLiAgVGhlcmUgaXMgY3VycmVudGx5IG9ubHkgb25lIHN0YW5kYXJkXG5tYXBwaW5nIHR5cGUsIHRoZSAqZGljdGlvbmFyeSouICAoRm9yIG90aGVyIGNvbnRhaW5lcnMgc2VlIHRoZSBidWlsdFxuaW4gYGBsaXN0YGAsIGBgc2V0YGAsIGFuZCBgYHR1cGxlYGAgY2xhc3NlcywgYW5kIHRoZSBgYGNvbGxlY3Rpb25zYGBcbm1vZHVsZS4pXG5cbkEgZGljdGlvbmFyeVwncyBrZXlzIGFyZSAqYWxtb3N0KiBhcmJpdHJhcnkgdmFsdWVzLiAgVmFsdWVzIHRoYXQgYXJlXG5ub3QgKmhhc2hhYmxlKiwgdGhhdCBpcywgdmFsdWVzIGNvbnRhaW5pbmcgbGlzdHMsIGRpY3Rpb25hcmllcyBvclxub3RoZXIgbXV0YWJsZSB0eXBlcyAodGhhdCBhcmUgY29tcGFyZWQgYnkgdmFsdWUgcmF0aGVyIHRoYW4gYnkgb2JqZWN0XG5pZGVudGl0eSkgbWF5IG5vdCBiZSB1c2VkIGFzIGtleXMuICBOdW1lcmljIHR5cGVzIHVzZWQgZm9yIGtleXMgb2JleVxudGhlIG5vcm1hbCBydWxlcyBmb3IgbnVtZXJpYyBjb21wYXJpc29uOiBpZiB0d28gbnVtYmVycyBjb21wYXJlIGVxdWFsXG4oc3VjaCBhcyBgYDFgYCBhbmQgYGAxLjBgYCkgdGhlbiB0aGV5IGNhbiBiZSB1c2VkIGludGVyY2hhbmdlYWJseSB0b1xuaW5kZXggdGhlIHNhbWUgZGljdGlvbmFyeSBlbnRyeS4gIChOb3RlIGhvd2V2ZXIsIHRoYXQgc2luY2UgY29tcHV0ZXJzXG5zdG9yZSBmbG9hdGluZy1wb2ludCBudW1iZXJzIGFzIGFwcHJveGltYXRpb25zIGl0IGlzIHVzdWFsbHkgdW53aXNlIHRvXG51c2UgdGhlbSBhcyBkaWN0aW9uYXJ5IGtleXMuKVxuXG5EaWN0aW9uYXJpZXMgY2FuIGJlIGNyZWF0ZWQgYnkgcGxhY2luZyBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mXG5gYGtleTogdmFsdWVgYCBwYWlycyB3aXRoaW4gYnJhY2VzLCBmb3IgZXhhbXBsZTogYGB7XCdqYWNrXCc6IDQwOTgsXG5cJ3Nqb2VyZFwnOiA0MTI3fWBgIG9yIGBgezQwOTg6IFwnamFja1wnLCA0MTI3OiBcJ3Nqb2VyZFwnfWBgLCBvciBieSB0aGVcbmBgZGljdGBgIGNvbnN0cnVjdG9yLlxuXG5jbGFzcyBjbGFzcyBkaWN0KFthcmddKVxuXG4gICBSZXR1cm4gYSBuZXcgZGljdGlvbmFyeSBpbml0aWFsaXplZCBmcm9tIGFuIG9wdGlvbmFsIHBvc2l0aW9uYWxcbiAgIGFyZ3VtZW50IG9yIGZyb20gYSBzZXQgb2Yga2V5d29yZCBhcmd1bWVudHMuICBJZiBubyBhcmd1bWVudHMgYXJlXG4gICBnaXZlbiwgcmV0dXJuIGEgbmV3IGVtcHR5IGRpY3Rpb25hcnkuICBJZiB0aGUgcG9zaXRpb25hbCBhcmd1bWVudFxuICAgKmFyZyogaXMgYSBtYXBwaW5nIG9iamVjdCwgcmV0dXJuIGEgZGljdGlvbmFyeSBtYXBwaW5nIHRoZSBzYW1lXG4gICBrZXlzIHRvIHRoZSBzYW1lIHZhbHVlcyBhcyBkb2VzIHRoZSBtYXBwaW5nIG9iamVjdC4gIE90aGVyd2lzZSB0aGVcbiAgIHBvc2l0aW9uYWwgYXJndW1lbnQgbXVzdCBiZSBhIHNlcXVlbmNlLCBhIGNvbnRhaW5lciB0aGF0IHN1cHBvcnRzXG4gICBpdGVyYXRpb24sIG9yIGFuIGl0ZXJhdG9yIG9iamVjdC4gIFRoZSBlbGVtZW50cyBvZiB0aGUgYXJndW1lbnRcbiAgIG11c3QgZWFjaCBhbHNvIGJlIG9mIG9uZSBvZiB0aG9zZSBraW5kcywgYW5kIGVhY2ggbXVzdCBpbiB0dXJuXG4gICBjb250YWluIGV4YWN0bHkgdHdvIG9iamVjdHMuICBUaGUgZmlyc3QgaXMgdXNlZCBhcyBhIGtleSBpbiB0aGUgbmV3XG4gICBkaWN0aW9uYXJ5LCBhbmQgdGhlIHNlY29uZCBhcyB0aGUga2V5XCdzIHZhbHVlLiAgSWYgYSBnaXZlbiBrZXkgaXNcbiAgIHNlZW4gbW9yZSB0aGFuIG9uY2UsIHRoZSBsYXN0IHZhbHVlIGFzc29jaWF0ZWQgd2l0aCBpdCBpcyByZXRhaW5lZFxuICAgaW4gdGhlIG5ldyBkaWN0aW9uYXJ5LlxuXG4gICBJZiBrZXl3b3JkIGFyZ3VtZW50cyBhcmUgZ2l2ZW4sIHRoZSBrZXl3b3JkcyB0aGVtc2VsdmVzIHdpdGggdGhlaXJcbiAgIGFzc29jaWF0ZWQgdmFsdWVzIGFyZSBhZGRlZCBhcyBpdGVtcyB0byB0aGUgZGljdGlvbmFyeS4gIElmIGEga2V5XG4gICBpcyBzcGVjaWZpZWQgYm90aCBpbiB0aGUgcG9zaXRpb25hbCBhcmd1bWVudCBhbmQgYXMgYSBrZXl3b3JkXG4gICBhcmd1bWVudCwgdGhlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCB0aGUga2V5d29yZCBpcyByZXRhaW5lZCBpbiB0aGVcbiAgIGRpY3Rpb25hcnkuICBGb3IgZXhhbXBsZSwgdGhlc2UgYWxsIHJldHVybiBhIGRpY3Rpb25hcnkgZXF1YWwgdG9cbiAgIGBgeyJvbmUiOiAxLCAidHdvIjogMn1gYDpcblxuICAgKiBgYGRpY3Qob25lPTEsIHR3bz0yKWBgXG5cbiAgICogYGBkaWN0KHtcJ29uZVwnOiAxLCBcJ3R3b1wnOiAyfSlgYFxuXG4gICAqIGBgZGljdCh6aXAoKFwnb25lXCcsIFwndHdvXCcpLCAoMSwgMikpKWBgXG5cbiAgICogYGBkaWN0KFtbXCd0d29cJywgMl0sIFtcJ29uZVwnLCAxXV0pYGBcblxuICAgVGhlIGZpcnN0IGV4YW1wbGUgb25seSB3b3JrcyBmb3Iga2V5cyB0aGF0IGFyZSB2YWxpZCBQeXRob25cbiAgIGlkZW50aWZpZXJzOyB0aGUgb3RoZXJzIHdvcmsgd2l0aCBhbnkgdmFsaWQga2V5cy5cblxuICAgVGhlc2UgYXJlIHRoZSBvcGVyYXRpb25zIHRoYXQgZGljdGlvbmFyaWVzIHN1cHBvcnQgKGFuZCB0aGVyZWZvcmUsXG4gICBjdXN0b20gbWFwcGluZyB0eXBlcyBzaG91bGQgc3VwcG9ydCB0b28pOlxuXG4gICBsZW4oZClcblxuICAgICAgUmV0dXJuIHRoZSBudW1iZXIgb2YgaXRlbXMgaW4gdGhlIGRpY3Rpb25hcnkgKmQqLlxuXG4gICBkW2tleV1cblxuICAgICAgUmV0dXJuIHRoZSBpdGVtIG9mICpkKiB3aXRoIGtleSAqa2V5Ki4gIFJhaXNlcyBhIGBgS2V5RXJyb3JgYCBpZlxuICAgICAgKmtleSogaXMgbm90IGluIHRoZSBtYXAuXG5cbiAgICAgIElmIGEgc3ViY2xhc3Mgb2YgZGljdCBkZWZpbmVzIGEgbWV0aG9kIGBgX19taXNzaW5nX18oKWBgLCBpZiB0aGVcbiAgICAgIGtleSAqa2V5KiBpcyBub3QgcHJlc2VudCwgdGhlIGBgZFtrZXldYGAgb3BlcmF0aW9uIGNhbGxzIHRoYXRcbiAgICAgIG1ldGhvZCB3aXRoIHRoZSBrZXkgKmtleSogYXMgYXJndW1lbnQuICBUaGUgYGBkW2tleV1gYCBvcGVyYXRpb25cbiAgICAgIHRoZW4gcmV0dXJucyBvciByYWlzZXMgd2hhdGV2ZXIgaXMgcmV0dXJuZWQgb3IgcmFpc2VkIGJ5IHRoZVxuICAgICAgYGBfX21pc3NpbmdfXyhrZXkpYGAgY2FsbCBpZiB0aGUga2V5IGlzIG5vdCBwcmVzZW50LiBObyBvdGhlclxuICAgICAgb3BlcmF0aW9ucyBvciBtZXRob2RzIGludm9rZSBgYF9fbWlzc2luZ19fKClgYC4gSWZcbiAgICAgIGBgX19taXNzaW5nX18oKWBgIGlzIG5vdCBkZWZpbmVkLCBgYEtleUVycm9yYGAgaXMgcmFpc2VkLlxuICAgICAgYGBfX21pc3NpbmdfXygpYGAgbXVzdCBiZSBhIG1ldGhvZDsgaXQgY2Fubm90IGJlIGFuIGluc3RhbmNlXG4gICAgICB2YXJpYWJsZTpcblxuICAgICAgICAgPj4+IGNsYXNzIENvdW50ZXIoZGljdCk6XG4gICAgICAgICAuLi4gICAgIGRlZiBfX21pc3NpbmdfXyhzZWxmLCBrZXkpOlxuICAgICAgICAgLi4uICAgICAgICAgcmV0dXJuIDBcbiAgICAgICAgID4+PiBjID0gQ291bnRlcigpXG4gICAgICAgICA+Pj4gY1tcJ3JlZFwnXVxuICAgICAgICAgMFxuICAgICAgICAgPj4+IGNbXCdyZWRcJ10gKz0gMVxuICAgICAgICAgPj4+IGNbXCdyZWRcJ11cbiAgICAgICAgIDFcblxuICAgICAgU2VlIGBgY29sbGVjdGlvbnMuQ291bnRlcmBgIGZvciBhIGNvbXBsZXRlIGltcGxlbWVudGF0aW9uXG4gICAgICBpbmNsdWRpbmcgb3RoZXIgbWV0aG9kcyBoZWxwZnVsIGZvciBhY2N1bXVsYXRpbmcgYW5kIG1hbmFnaW5nXG4gICAgICB0YWxsaWVzLlxuXG4gICBkW2tleV0gPSB2YWx1ZVxuXG4gICAgICBTZXQgYGBkW2tleV1gYCB0byAqdmFsdWUqLlxuXG4gICBkZWwgZFtrZXldXG5cbiAgICAgIFJlbW92ZSBgYGRba2V5XWBgIGZyb20gKmQqLiAgUmFpc2VzIGEgYGBLZXlFcnJvcmBgIGlmICprZXkqIGlzXG4gICAgICBub3QgaW4gdGhlIG1hcC5cblxuICAga2V5IGluIGRcblxuICAgICAgUmV0dXJuIGBgVHJ1ZWBgIGlmICpkKiBoYXMgYSBrZXkgKmtleSosIGVsc2UgYGBGYWxzZWBgLlxuXG4gICBrZXkgbm90IGluIGRcblxuICAgICAgRXF1aXZhbGVudCB0byBgYG5vdCBrZXkgaW4gZGBgLlxuXG4gICBpdGVyKGQpXG5cbiAgICAgIFJldHVybiBhbiBpdGVyYXRvciBvdmVyIHRoZSBrZXlzIG9mIHRoZSBkaWN0aW9uYXJ5LiAgVGhpcyBpcyBhXG4gICAgICBzaG9ydGN1dCBmb3IgYGBpdGVyKGQua2V5cygpKWBgLlxuXG4gICBjbGVhcigpXG5cbiAgICAgIFJlbW92ZSBhbGwgaXRlbXMgZnJvbSB0aGUgZGljdGlvbmFyeS5cblxuICAgY29weSgpXG5cbiAgICAgIFJldHVybiBhIHNoYWxsb3cgY29weSBvZiB0aGUgZGljdGlvbmFyeS5cblxuICAgY2xhc3NtZXRob2QgZnJvbWtleXMoc2VxWywgdmFsdWVdKVxuXG4gICAgICBDcmVhdGUgYSBuZXcgZGljdGlvbmFyeSB3aXRoIGtleXMgZnJvbSAqc2VxKiBhbmQgdmFsdWVzIHNldCB0b1xuICAgICAgKnZhbHVlKi5cblxuICAgICAgYGBmcm9ta2V5cygpYGAgaXMgYSBjbGFzcyBtZXRob2QgdGhhdCByZXR1cm5zIGEgbmV3IGRpY3Rpb25hcnkuXG4gICAgICAqdmFsdWUqIGRlZmF1bHRzIHRvIGBgTm9uZWBgLlxuXG4gICBnZXQoa2V5WywgZGVmYXVsdF0pXG5cbiAgICAgIFJldHVybiB0aGUgdmFsdWUgZm9yICprZXkqIGlmICprZXkqIGlzIGluIHRoZSBkaWN0aW9uYXJ5LCBlbHNlXG4gICAgICAqZGVmYXVsdCouIElmICpkZWZhdWx0KiBpcyBub3QgZ2l2ZW4sIGl0IGRlZmF1bHRzIHRvIGBgTm9uZWBgLFxuICAgICAgc28gdGhhdCB0aGlzIG1ldGhvZCBuZXZlciByYWlzZXMgYSBgYEtleUVycm9yYGAuXG5cbiAgIGl0ZW1zKClcblxuICAgICAgUmV0dXJuIGEgbmV3IHZpZXcgb2YgdGhlIGRpY3Rpb25hcnlcJ3MgaXRlbXMgKGBgKGtleSwgdmFsdWUpYGBcbiAgICAgIHBhaXJzKS4gIFNlZSBiZWxvdyBmb3IgZG9jdW1lbnRhdGlvbiBvZiB2aWV3IG9iamVjdHMuXG5cbiAgIGtleXMoKVxuXG4gICAgICBSZXR1cm4gYSBuZXcgdmlldyBvZiB0aGUgZGljdGlvbmFyeVwncyBrZXlzLiAgU2VlIGJlbG93IGZvclxuICAgICAgZG9jdW1lbnRhdGlvbiBvZiB2aWV3IG9iamVjdHMuXG5cbiAgIHBvcChrZXlbLCBkZWZhdWx0XSlcblxuICAgICAgSWYgKmtleSogaXMgaW4gdGhlIGRpY3Rpb25hcnksIHJlbW92ZSBpdCBhbmQgcmV0dXJuIGl0cyB2YWx1ZSxcbiAgICAgIGVsc2UgcmV0dXJuICpkZWZhdWx0Ki4gIElmICpkZWZhdWx0KiBpcyBub3QgZ2l2ZW4gYW5kICprZXkqIGlzXG4gICAgICBub3QgaW4gdGhlIGRpY3Rpb25hcnksIGEgYGBLZXlFcnJvcmBgIGlzIHJhaXNlZC5cblxuICAgcG9waXRlbSgpXG5cbiAgICAgIFJlbW92ZSBhbmQgcmV0dXJuIGFuIGFyYml0cmFyeSBgYChrZXksIHZhbHVlKWBgIHBhaXIgZnJvbSB0aGVcbiAgICAgIGRpY3Rpb25hcnkuXG5cbiAgICAgIGBgcG9waXRlbSgpYGAgaXMgdXNlZnVsIHRvIGRlc3RydWN0aXZlbHkgaXRlcmF0ZSBvdmVyIGFcbiAgICAgIGRpY3Rpb25hcnksIGFzIG9mdGVuIHVzZWQgaW4gc2V0IGFsZ29yaXRobXMuICBJZiB0aGUgZGljdGlvbmFyeVxuICAgICAgaXMgZW1wdHksIGNhbGxpbmcgYGBwb3BpdGVtKClgYCByYWlzZXMgYSBgYEtleUVycm9yYGAuXG5cbiAgIHNldGRlZmF1bHQoa2V5WywgZGVmYXVsdF0pXG5cbiAgICAgIElmICprZXkqIGlzIGluIHRoZSBkaWN0aW9uYXJ5LCByZXR1cm4gaXRzIHZhbHVlLiAgSWYgbm90LCBpbnNlcnRcbiAgICAgICprZXkqIHdpdGggYSB2YWx1ZSBvZiAqZGVmYXVsdCogYW5kIHJldHVybiAqZGVmYXVsdCouICAqZGVmYXVsdCpcbiAgICAgIGRlZmF1bHRzIHRvIGBgTm9uZWBgLlxuXG4gICB1cGRhdGUoW290aGVyXSlcblxuICAgICAgVXBkYXRlIHRoZSBkaWN0aW9uYXJ5IHdpdGggdGhlIGtleS92YWx1ZSBwYWlycyBmcm9tICpvdGhlciosXG4gICAgICBvdmVyd3JpdGluZyBleGlzdGluZyBrZXlzLiAgUmV0dXJuIGBgTm9uZWBgLlxuXG4gICAgICBgYHVwZGF0ZSgpYGAgYWNjZXB0cyBlaXRoZXIgYW5vdGhlciBkaWN0aW9uYXJ5IG9iamVjdCBvciBhblxuICAgICAgaXRlcmFibGUgb2Yga2V5L3ZhbHVlIHBhaXJzIChhcyB0dXBsZXMgb3Igb3RoZXIgaXRlcmFibGVzIG9mXG4gICAgICBsZW5ndGggdHdvKS4gIElmIGtleXdvcmQgYXJndW1lbnRzIGFyZSBzcGVjaWZpZWQsIHRoZSBkaWN0aW9uYXJ5XG4gICAgICBpcyB0aGVuIHVwZGF0ZWQgd2l0aCB0aG9zZSBrZXkvdmFsdWUgcGFpcnM6IGBgZC51cGRhdGUocmVkPTEsXG4gICAgICBibHVlPTIpYGAuXG5cbiAgIHZhbHVlcygpXG5cbiAgICAgIFJldHVybiBhIG5ldyB2aWV3IG9mIHRoZSBkaWN0aW9uYXJ5XCdzIHZhbHVlcy4gIFNlZSBiZWxvdyBmb3JcbiAgICAgIGRvY3VtZW50YXRpb24gb2YgdmlldyBvYmplY3RzLlxuXG5cbkRpY3Rpb25hcnkgdmlldyBvYmplY3RzXG49PT09PT09PT09PT09PT09PT09PT09PVxuXG5UaGUgb2JqZWN0cyByZXR1cm5lZCBieSBgYGRpY3Qua2V5cygpYGAsIGBgZGljdC52YWx1ZXMoKWBgIGFuZFxuYGBkaWN0Lml0ZW1zKClgYCBhcmUgKnZpZXcgb2JqZWN0cyouICBUaGV5IHByb3ZpZGUgYSBkeW5hbWljIHZpZXcgb25cbnRoZSBkaWN0aW9uYXJ5XCdzIGVudHJpZXMsIHdoaWNoIG1lYW5zIHRoYXQgd2hlbiB0aGUgZGljdGlvbmFyeVxuY2hhbmdlcywgdGhlIHZpZXcgcmVmbGVjdHMgdGhlc2UgY2hhbmdlcy5cblxuRGljdGlvbmFyeSB2aWV3cyBjYW4gYmUgaXRlcmF0ZWQgb3ZlciB0byB5aWVsZCB0aGVpciByZXNwZWN0aXZlIGRhdGEsXG5hbmQgc3VwcG9ydCBtZW1iZXJzaGlwIHRlc3RzOlxuXG5sZW4oZGljdHZpZXcpXG5cbiAgIFJldHVybiB0aGUgbnVtYmVyIG9mIGVudHJpZXMgaW4gdGhlIGRpY3Rpb25hcnkuXG5cbml0ZXIoZGljdHZpZXcpXG5cbiAgIFJldHVybiBhbiBpdGVyYXRvciBvdmVyIHRoZSBrZXlzLCB2YWx1ZXMgb3IgaXRlbXMgKHJlcHJlc2VudGVkIGFzXG4gICB0dXBsZXMgb2YgYGAoa2V5LCB2YWx1ZSlgYCkgaW4gdGhlIGRpY3Rpb25hcnkuXG5cbiAgIEtleXMgYW5kIHZhbHVlcyBhcmUgaXRlcmF0ZWQgb3ZlciBpbiBhbiBhcmJpdHJhcnkgb3JkZXIgd2hpY2ggaXNcbiAgIG5vbi1yYW5kb20sIHZhcmllcyBhY3Jvc3MgUHl0aG9uIGltcGxlbWVudGF0aW9ucywgYW5kIGRlcGVuZHMgb25cbiAgIHRoZSBkaWN0aW9uYXJ5XCdzIGhpc3Rvcnkgb2YgaW5zZXJ0aW9ucyBhbmQgZGVsZXRpb25zLiBJZiBrZXlzLFxuICAgdmFsdWVzIGFuZCBpdGVtcyB2aWV3cyBhcmUgaXRlcmF0ZWQgb3ZlciB3aXRoIG5vIGludGVydmVuaW5nXG4gICBtb2RpZmljYXRpb25zIHRvIHRoZSBkaWN0aW9uYXJ5LCB0aGUgb3JkZXIgb2YgaXRlbXMgd2lsbCBkaXJlY3RseVxuICAgY29ycmVzcG9uZC4gIFRoaXMgYWxsb3dzIHRoZSBjcmVhdGlvbiBvZiBgYCh2YWx1ZSwga2V5KWBgIHBhaXJzXG4gICB1c2luZyBgYHppcCgpYGA6IGBgcGFpcnMgPSB6aXAoZC52YWx1ZXMoKSwgZC5rZXlzKCkpYGAuICBBbm90aGVyXG4gICB3YXkgdG8gY3JlYXRlIHRoZSBzYW1lIGxpc3QgaXMgYGBwYWlycyA9IFsodiwgaykgZm9yIChrLCB2KSBpblxuICAgZC5pdGVtcygpXWBgLlxuXG4gICBJdGVyYXRpbmcgdmlld3Mgd2hpbGUgYWRkaW5nIG9yIGRlbGV0aW5nIGVudHJpZXMgaW4gdGhlIGRpY3Rpb25hcnlcbiAgIG1heSByYWlzZSBhIGBgUnVudGltZUVycm9yYGAgb3IgZmFpbCB0byBpdGVyYXRlIG92ZXIgYWxsIGVudHJpZXMuXG5cbnggaW4gZGljdHZpZXdcblxuICAgUmV0dXJuIGBgVHJ1ZWBgIGlmICp4KiBpcyBpbiB0aGUgdW5kZXJseWluZyBkaWN0aW9uYXJ5XCdzIGtleXMsXG4gICB2YWx1ZXMgb3IgaXRlbXMgKGluIHRoZSBsYXR0ZXIgY2FzZSwgKngqIHNob3VsZCBiZSBhIGBgKGtleSxcbiAgIHZhbHVlKWBgIHR1cGxlKS5cblxuS2V5cyB2aWV3cyBhcmUgc2V0LWxpa2Ugc2luY2UgdGhlaXIgZW50cmllcyBhcmUgdW5pcXVlIGFuZCBoYXNoYWJsZS5cbklmIGFsbCB2YWx1ZXMgYXJlIGhhc2hhYmxlLCBzbyB0aGF0IGBgKGtleSwgdmFsdWUpYGAgcGFpcnMgYXJlIHVuaXF1ZVxuYW5kIGhhc2hhYmxlLCB0aGVuIHRoZSBpdGVtcyB2aWV3IGlzIGFsc28gc2V0LWxpa2UuICAoVmFsdWVzIHZpZXdzIGFyZVxubm90IHRyZWF0ZWQgYXMgc2V0LWxpa2Ugc2luY2UgdGhlIGVudHJpZXMgYXJlIGdlbmVyYWxseSBub3QgdW5pcXVlLilcbkZvciBzZXQtbGlrZSB2aWV3cywgYWxsIG9mIHRoZSBvcGVyYXRpb25zIGRlZmluZWQgZm9yIHRoZSBhYnN0cmFjdFxuYmFzZSBjbGFzcyBgYGNvbGxlY3Rpb25zLlNldGBgIGFyZSBhdmFpbGFibGUgKGZvciBleGFtcGxlLCBgYD09YGAsXG5gYDxgYCwgb3IgYGBeYGApLlxuXG5BbiBleGFtcGxlIG9mIGRpY3Rpb25hcnkgdmlldyB1c2FnZTpcblxuICAgPj4+IGRpc2hlcyA9IHtcJ2VnZ3NcJzogMiwgXCdzYXVzYWdlXCc6IDEsIFwnYmFjb25cJzogMSwgXCdzcGFtXCc6IDUwMH1cbiAgID4+PiBrZXlzID0gZGlzaGVzLmtleXMoKVxuICAgPj4+IHZhbHVlcyA9IGRpc2hlcy52YWx1ZXMoKVxuXG4gICA+Pj4gIyBpdGVyYXRpb25cbiAgID4+PiBuID0gMFxuICAgPj4+IGZvciB2YWwgaW4gdmFsdWVzOlxuICAgLi4uICAgICBuICs9IHZhbFxuICAgPj4+IHByaW50KG4pXG4gICA1MDRcblxuICAgPj4+ICMga2V5cyBhbmQgdmFsdWVzIGFyZSBpdGVyYXRlZCBvdmVyIGluIHRoZSBzYW1lIG9yZGVyXG4gICA+Pj4gbGlzdChrZXlzKVxuICAgW1wnZWdnc1wnLCBcJ2JhY29uXCcsIFwnc2F1c2FnZVwnLCBcJ3NwYW1cJ11cbiAgID4+PiBsaXN0KHZhbHVlcylcbiAgIFsyLCAxLCAxLCA1MDBdXG5cbiAgID4+PiAjIHZpZXcgb2JqZWN0cyBhcmUgZHluYW1pYyBhbmQgcmVmbGVjdCBkaWN0IGNoYW5nZXNcbiAgID4+PiBkZWwgZGlzaGVzW1wnZWdnc1wnXVxuICAgPj4+IGRlbCBkaXNoZXNbXCdzYXVzYWdlXCddXG4gICA+Pj4gbGlzdChrZXlzKVxuICAgW1wnc3BhbVwnLCBcJ2JhY29uXCddXG5cbiAgID4+PiAjIHNldCBvcGVyYXRpb25zXG4gICA+Pj4ga2V5cyAmIHtcJ2VnZ3NcJywgXCdiYWNvblwnLCBcJ3NhbGFkXCd9XG4gICB7XCdiYWNvblwnfVxuICAgPj4+IGtleXMgXiB7XCdzYXVzYWdlXCcsIFwnanVpY2VcJ31cbiAgIHtcJ2p1aWNlXCcsIFwnc2F1c2FnZVwnLCBcJ2JhY29uXCcsIFwnc3BhbVwnfVxuJywKICAndHlwZXNtZXRob2RzJzogIlxuTWV0aG9kc1xuKioqKioqKlxuXG5NZXRob2RzIGFyZSBmdW5jdGlvbnMgdGhhdCBhcmUgY2FsbGVkIHVzaW5nIHRoZSBhdHRyaWJ1dGUgbm90YXRpb24uXG5UaGVyZSBhcmUgdHdvIGZsYXZvcnM6IGJ1aWx0LWluIG1ldGhvZHMgKHN1Y2ggYXMgYGBhcHBlbmQoKWBgIG9uXG5saXN0cykgYW5kIGNsYXNzIGluc3RhbmNlIG1ldGhvZHMuICBCdWlsdC1pbiBtZXRob2RzIGFyZSBkZXNjcmliZWRcbndpdGggdGhlIHR5cGVzIHRoYXQgc3VwcG9ydCB0aGVtLlxuXG5JZiB5b3UgYWNjZXNzIGEgbWV0aG9kIChhIGZ1bmN0aW9uIGRlZmluZWQgaW4gYSBjbGFzcyBuYW1lc3BhY2UpXG50aHJvdWdoIGFuIGluc3RhbmNlLCB5b3UgZ2V0IGEgc3BlY2lhbCBvYmplY3Q6IGEgKmJvdW5kIG1ldGhvZCogKGFsc29cbmNhbGxlZCAqaW5zdGFuY2UgbWV0aG9kKikgb2JqZWN0LiBXaGVuIGNhbGxlZCwgaXQgd2lsbCBhZGQgdGhlXG5gYHNlbGZgYCBhcmd1bWVudCB0byB0aGUgYXJndW1lbnQgbGlzdC4gIEJvdW5kIG1ldGhvZHMgaGF2ZSB0d29cbnNwZWNpYWwgcmVhZC1vbmx5IGF0dHJpYnV0ZXM6IGBgbS5fX3NlbGZfX2BgIGlzIHRoZSBvYmplY3Qgb24gd2hpY2hcbnRoZSBtZXRob2Qgb3BlcmF0ZXMsIGFuZCBgYG0uX19mdW5jX19gYCBpcyB0aGUgZnVuY3Rpb24gaW1wbGVtZW50aW5nXG50aGUgbWV0aG9kLiAgQ2FsbGluZyBgYG0oYXJnLTEsIGFyZy0yLCAuLi4sIGFyZy1uKWBgIGlzIGNvbXBsZXRlbHlcbmVxdWl2YWxlbnQgdG8gY2FsbGluZyBgYG0uX19mdW5jX18obS5fX3NlbGZfXywgYXJnLTEsIGFyZy0yLCAuLi4sXG5hcmctbilgYC5cblxuTGlrZSBmdW5jdGlvbiBvYmplY3RzLCBib3VuZCBtZXRob2Qgb2JqZWN0cyBzdXBwb3J0IGdldHRpbmcgYXJiaXRyYXJ5XG5hdHRyaWJ1dGVzLiAgSG93ZXZlciwgc2luY2UgbWV0aG9kIGF0dHJpYnV0ZXMgYXJlIGFjdHVhbGx5IHN0b3JlZCBvblxudGhlIHVuZGVybHlpbmcgZnVuY3Rpb24gb2JqZWN0IChgYG1ldGguX19mdW5jX19gYCksIHNldHRpbmcgbWV0aG9kXG5hdHRyaWJ1dGVzIG9uIGJvdW5kIG1ldGhvZHMgaXMgZGlzYWxsb3dlZC4gIEF0dGVtcHRpbmcgdG8gc2V0IGEgbWV0aG9kXG5hdHRyaWJ1dGUgcmVzdWx0cyBpbiBhIGBgVHlwZUVycm9yYGAgYmVpbmcgcmFpc2VkLiAgSW4gb3JkZXIgdG8gc2V0IGFcbm1ldGhvZCBhdHRyaWJ1dGUsIHlvdSBuZWVkIHRvIGV4cGxpY2l0bHkgc2V0IGl0IG9uIHRoZSB1bmRlcmx5aW5nXG5mdW5jdGlvbiBvYmplY3Q6XG5cbiAgIGNsYXNzIEM6XG4gICAgICAgZGVmIG1ldGhvZChzZWxmKTpcbiAgICAgICAgICAgcGFzc1xuXG4gICBjID0gQygpXG4gICBjLm1ldGhvZC5fX2Z1bmNfXy53aG9hbWkgPSAnbXkgbmFtZSBpcyBjJ1xuXG5TZWUgKlRoZSBzdGFuZGFyZCB0eXBlIGhpZXJhcmNoeSogZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iLAogICd0eXBlc21vZHVsZXMnOiAiXG5Nb2R1bGVzXG4qKioqKioqXG5cblRoZSBvbmx5IHNwZWNpYWwgb3BlcmF0aW9uIG9uIGEgbW9kdWxlIGlzIGF0dHJpYnV0ZSBhY2Nlc3M6XG5gYG0ubmFtZWBgLCB3aGVyZSAqbSogaXMgYSBtb2R1bGUgYW5kICpuYW1lKiBhY2Nlc3NlcyBhIG5hbWUgZGVmaW5lZFxuaW4gKm0qJ3Mgc3ltYm9sIHRhYmxlLiBNb2R1bGUgYXR0cmlidXRlcyBjYW4gYmUgYXNzaWduZWQgdG8uICAoTm90ZVxudGhhdCB0aGUgYGBpbXBvcnRgYCBzdGF0ZW1lbnQgaXMgbm90LCBzdHJpY3RseSBzcGVha2luZywgYW4gb3BlcmF0aW9uXG5vbiBhIG1vZHVsZSBvYmplY3Q7IGBgaW1wb3J0IGZvb2BgIGRvZXMgbm90IHJlcXVpcmUgYSBtb2R1bGUgb2JqZWN0XG5uYW1lZCAqZm9vKiB0byBleGlzdCwgcmF0aGVyIGl0IHJlcXVpcmVzIGFuIChleHRlcm5hbCkgKmRlZmluaXRpb24qXG5mb3IgYSBtb2R1bGUgbmFtZWQgKmZvbyogc29tZXdoZXJlLilcblxuQSBzcGVjaWFsIGF0dHJpYnV0ZSBvZiBldmVyeSBtb2R1bGUgaXMgYGBfX2RpY3RfX2BgLiBUaGlzIGlzIHRoZVxuZGljdGlvbmFyeSBjb250YWluaW5nIHRoZSBtb2R1bGUncyBzeW1ib2wgdGFibGUuIE1vZGlmeWluZyB0aGlzXG5kaWN0aW9uYXJ5IHdpbGwgYWN0dWFsbHkgY2hhbmdlIHRoZSBtb2R1bGUncyBzeW1ib2wgdGFibGUsIGJ1dCBkaXJlY3RcbmFzc2lnbm1lbnQgdG8gdGhlIGBgX19kaWN0X19gYCBhdHRyaWJ1dGUgaXMgbm90IHBvc3NpYmxlICh5b3UgY2FuXG53cml0ZSBgYG0uX19kaWN0X19bJ2EnXSA9IDFgYCwgd2hpY2ggZGVmaW5lcyBgYG0uYWBgIHRvIGJlIGBgMWBgLCBidXRcbnlvdSBjYW4ndCB3cml0ZSBgYG0uX19kaWN0X18gPSB7fWBgKS4gIE1vZGlmeWluZyBgYF9fZGljdF9fYGAgZGlyZWN0bHlcbmlzIG5vdCByZWNvbW1lbmRlZC5cblxuTW9kdWxlcyBidWlsdCBpbnRvIHRoZSBpbnRlcnByZXRlciBhcmUgd3JpdHRlbiBsaWtlIHRoaXM6IGBgPG1vZHVsZVxuJ3N5cycgKGJ1aWx0LWluKT5gYC4gIElmIGxvYWRlZCBmcm9tIGEgZmlsZSwgdGhleSBhcmUgd3JpdHRlbiBhc1xuYGA8bW9kdWxlICdvcycgZnJvbSAnL3Vzci9sb2NhbC9saWIvcHl0aG9uWC5ZL29zLnB5Yyc+YGAuXG4iLAotICd0eXBlc3NlcSc6ICdcblNlcXVlbmNlIFR5cGVzIC0tLSBgYHN0cmBgLCBgYGJ5dGVzYGAsIGBgYnl0ZWFycmF5YGAsIGBgbGlzdGBgLCBgYHR1cGxlYGAsIGBgcmFuZ2VgYFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cblRoZXJlIGFyZSBzaXggc2VxdWVuY2UgdHlwZXM6IHN0cmluZ3MsIGJ5dGUgc2VxdWVuY2VzIChgYGJ5dGVzYGBcbm9iamVjdHMpLCBieXRlIGFycmF5cyAoYGBieXRlYXJyYXlgYCBvYmplY3RzKSwgbGlzdHMsIHR1cGxlcywgYW5kXG5yYW5nZSBvYmplY3RzLiAgRm9yIG90aGVyIGNvbnRhaW5lcnMgc2VlIHRoZSBidWlsdCBpbiBgYGRpY3RgYCBhbmRcbmBgc2V0YGAgY2xhc3NlcywgYW5kIHRoZSBgYGNvbGxlY3Rpb25zYGAgbW9kdWxlLlxuXG5TdHJpbmdzIGNvbnRhaW4gVW5pY29kZSBjaGFyYWN0ZXJzLiAgVGhlaXIgbGl0ZXJhbHMgYXJlIHdyaXR0ZW4gaW5cbnNpbmdsZSBvciBkb3VibGUgcXVvdGVzOiBgYFwneHl6enlcJ2BgLCBgYCJmcm9ib3p6ImBgLiAgU2VlICpTdHJpbmcgYW5kXG5CeXRlcyBsaXRlcmFscyogZm9yIG1vcmUgYWJvdXQgc3RyaW5nIGxpdGVyYWxzLiAgSW4gYWRkaXRpb24gdG8gdGhlXG5mdW5jdGlvbmFsaXR5IGRlc2NyaWJlZCBoZXJlLCB0aGVyZSBhcmUgYWxzbyBzdHJpbmctc3BlY2lmaWMgbWV0aG9kc1xuZGVzY3JpYmVkIGluIHRoZSAqU3RyaW5nIE1ldGhvZHMqIHNlY3Rpb24uXG5cbkJ5dGVzIGFuZCBieXRlYXJyYXkgb2JqZWN0cyBjb250YWluIHNpbmdsZSBieXRlcyAtLSB0aGUgZm9ybWVyIGlzXG5pbW11dGFibGUgd2hpbGUgdGhlIGxhdHRlciBpcyBhIG11dGFibGUgc2VxdWVuY2UuICBCeXRlcyBvYmplY3RzIGNhblxuYmUgY29uc3RydWN0ZWQgdGhlIGNvbnN0cnVjdG9yLCBgYGJ5dGVzKClgYCwgYW5kIGZyb20gbGl0ZXJhbHM7IHVzZSBhXG5gYGJgYCBwcmVmaXggd2l0aCBub3JtYWwgc3RyaW5nIHN5bnRheDogYGBiXCd4eXp6eVwnYGAuICBUbyBjb25zdHJ1Y3RcbmJ5dGUgYXJyYXlzLCB1c2UgdGhlIGBgYnl0ZWFycmF5KClgYCBmdW5jdGlvbi5cblxuV2hpbGUgc3RyaW5nIG9iamVjdHMgYXJlIHNlcXVlbmNlcyBvZiBjaGFyYWN0ZXJzIChyZXByZXNlbnRlZCBieVxuc3RyaW5ncyBvZiBsZW5ndGggMSksIGJ5dGVzIGFuZCBieXRlYXJyYXkgb2JqZWN0cyBhcmUgc2VxdWVuY2VzIG9mXG4qaW50ZWdlcnMqIChiZXR3ZWVuIDAgYW5kIDI1NSksIHJlcHJlc2VudGluZyB0aGUgQVNDSUkgdmFsdWUgb2Ygc2luZ2xlXG5ieXRlcy4gIFRoYXQgbWVhbnMgdGhhdCBmb3IgYSBieXRlcyBvciBieXRlYXJyYXkgb2JqZWN0ICpiKiwgYGBiWzBdYGBcbndpbGwgYmUgYW4gaW50ZWdlciwgd2hpbGUgYGBiWzA6MV1gYCB3aWxsIGJlIGEgYnl0ZXMgb3IgYnl0ZWFycmF5XG5vYmplY3Qgb2YgbGVuZ3RoIDEuICBUaGUgcmVwcmVzZW50YXRpb24gb2YgYnl0ZXMgb2JqZWN0cyB1c2VzIHRoZVxubGl0ZXJhbCBmb3JtYXQgKGBgYlwnLi4uXCdgYCkgc2luY2UgaXQgaXMgZ2VuZXJhbGx5IG1vcmUgdXNlZnVsIHRoYW5cbmUuZy4gYGBieXRlcyhbNTAsIDE5LCAxMDBdKWBgLiAgWW91IGNhbiBhbHdheXMgY29udmVydCBhIGJ5dGVzIG9iamVjdFxuaW50byBhIGxpc3Qgb2YgaW50ZWdlcnMgdXNpbmcgYGBsaXN0KGIpYGAuXG5cbkFsc28sIHdoaWxlIGluIHByZXZpb3VzIFB5dGhvbiB2ZXJzaW9ucywgYnl0ZSBzdHJpbmdzIGFuZCBVbmljb2RlXG5zdHJpbmdzIGNvdWxkIGJlIGV4Y2hhbmdlZCBmb3IgZWFjaCBvdGhlciByYXRoZXIgZnJlZWx5IChiYXJyaW5nXG5lbmNvZGluZyBpc3N1ZXMpLCBzdHJpbmdzIGFuZCBieXRlcyBhcmUgbm93IGNvbXBsZXRlbHkgc2VwYXJhdGVcbmNvbmNlcHRzLiAgVGhlcmVcJ3Mgbm8gaW1wbGljaXQgZW4tL2RlY29kaW5nIGlmIHlvdSBwYXNzIGFuIG9iamVjdCBvZlxudGhlIHdyb25nIHR5cGUuICBBIHN0cmluZyBhbHdheXMgY29tcGFyZXMgdW5lcXVhbCB0byBhIGJ5dGVzIG9yXG5ieXRlYXJyYXkgb2JqZWN0LlxuXG5MaXN0cyBhcmUgY29uc3RydWN0ZWQgd2l0aCBzcXVhcmUgYnJhY2tldHMsIHNlcGFyYXRpbmcgaXRlbXMgd2l0aFxuY29tbWFzOiBgYFthLCBiLCBjXWBgLiAgVHVwbGVzIGFyZSBjb25zdHJ1Y3RlZCBieSB0aGUgY29tbWEgb3BlcmF0b3Jcbihub3Qgd2l0aGluIHNxdWFyZSBicmFja2V0cyksIHdpdGggb3Igd2l0aG91dCBlbmNsb3NpbmcgcGFyZW50aGVzZXMsXG5idXQgYW4gZW1wdHkgdHVwbGUgbXVzdCBoYXZlIHRoZSBlbmNsb3NpbmcgcGFyZW50aGVzZXMsIHN1Y2ggYXMgYGBhLFxuYiwgY2BgIG9yIGBgKClgYC4gIEEgc2luZ2xlIGl0ZW0gdHVwbGUgbXVzdCBoYXZlIGEgdHJhaWxpbmcgY29tbWEsXG5zdWNoIGFzIGBgKGQsKWBgLlxuXG5PYmplY3RzIG9mIHR5cGUgcmFuZ2UgYXJlIGNyZWF0ZWQgdXNpbmcgdGhlIGBgcmFuZ2UoKWBgIGZ1bmN0aW9uLlxuVGhleSBkb25cJ3Qgc3VwcG9ydCBjb25jYXRlbmF0aW9uIG9yIHJlcGV0aXRpb24sIGFuZCB1c2luZyBgYG1pbigpYGAgb3JcbmBgbWF4KClgYCBvbiB0aGVtIGlzIGluZWZmaWNpZW50LlxuXG5Nb3N0IHNlcXVlbmNlIHR5cGVzIHN1cHBvcnQgdGhlIGZvbGxvd2luZyBvcGVyYXRpb25zLiAgVGhlIGBgaW5gYCBhbmRcbmBgbm90IGluYGAgb3BlcmF0aW9ucyBoYXZlIHRoZSBzYW1lIHByaW9yaXRpZXMgYXMgdGhlIGNvbXBhcmlzb25cbm9wZXJhdGlvbnMuICBUaGUgYGArYGAgYW5kIGBgKmBgIG9wZXJhdGlvbnMgaGF2ZSB0aGUgc2FtZSBwcmlvcml0eSBhc1xudGhlIGNvcnJlc3BvbmRpbmcgbnVtZXJpYyBvcGVyYXRpb25zLiBbM10gQWRkaXRpb25hbCBtZXRob2RzIGFyZVxucHJvdmlkZWQgZm9yICpNdXRhYmxlIFNlcXVlbmNlIFR5cGVzKi5cblxuVGhpcyB0YWJsZSBsaXN0cyB0aGUgc2VxdWVuY2Ugb3BlcmF0aW9ucyBzb3J0ZWQgaW4gYXNjZW5kaW5nIHByaW9yaXR5XG4ob3BlcmF0aW9ucyBpbiB0aGUgc2FtZSBib3ggaGF2ZSB0aGUgc2FtZSBwcmlvcml0eSkuICBJbiB0aGUgdGFibGUsXG4qcyogYW5kICp0KiBhcmUgc2VxdWVuY2VzIG9mIHRoZSBzYW1lIHR5cGU7ICpuKiwgKmkqLCAqaiogYW5kICprKiBhcmVcbmludGVnZXJzLlxuXG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rXG58IE9wZXJhdGlvbiAgICAgICAgICB8IFJlc3VsdCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgTm90ZXMgICAgICB8XG4rPT09PT09PT09PT09PT09PT09PT0rPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSs9PT09PT09PT09PT0rXG58IGBgeCBpbiBzYGAgICAgICAgICB8IGBgVHJ1ZWBgIGlmIGFuIGl0ZW0gb2YgKnMqIGlzICAgIHwgKDEpICAgICAgICB8XG58ICAgICAgICAgICAgICAgICAgICB8IGVxdWFsIHRvICp4KiwgZWxzZSBgYEZhbHNlYGAgICAgIHwgICAgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rXG58IGBgeCBub3QgaW4gc2BgICAgICB8IGBgRmFsc2VgYCBpZiBhbiBpdGVtIG9mICpzKiBpcyAgIHwgKDEpICAgICAgICB8XG58ICAgICAgICAgICAgICAgICAgICB8IGVxdWFsIHRvICp4KiwgZWxzZSBgYFRydWVgYCAgICAgIHwgICAgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rXG58IGBgcyArIHRgYCAgICAgICAgICB8IHRoZSBjb25jYXRlbmF0aW9uIG9mICpzKiBhbmQgKnQqIHwgKDYpICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rXG58IGBgcyAqIG4sIG4gKiBzYGAgICB8ICpuKiBzaGFsbG93IGNvcGllcyBvZiAqcyogICAgICAgIHwgKDIpICAgICAgICB8XG58ICAgICAgICAgICAgICAgICAgICB8IGNvbmNhdGVuYXRlZCAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rXG58IGBgc1tpXWBgICAgICAgICAgICB8ICppKnRoIGl0ZW0gb2YgKnMqLCBvcmlnaW4gMCAgICAgIHwgKDMpICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rXG58IGBgc1tpOmpdYGAgICAgICAgICB8IHNsaWNlIG9mICpzKiBmcm9tICppKiB0byAqaiogICAgIHwgKDMpKDQpICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rXG58IGBgc1tpOmo6a11gYCAgICAgICB8IHNsaWNlIG9mICpzKiBmcm9tICppKiB0byAqaiogICAgIHwgKDMpKDUpICAgICB8XG58ICAgICAgICAgICAgICAgICAgICB8IHdpdGggc3RlcCAqayogICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rXG58IGBgbGVuKHMpYGAgICAgICAgICB8IGxlbmd0aCBvZiAqcyogICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rXG58IGBgbWluKHMpYGAgICAgICAgICB8IHNtYWxsZXN0IGl0ZW0gb2YgKnMqICAgICAgICAgICAgIHwgICAgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rXG58IGBgbWF4KHMpYGAgICAgICAgICB8IGxhcmdlc3QgaXRlbSBvZiAqcyogICAgICAgICAgICAgIHwgICAgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rXG58IGBgcy5pbmRleChpKWBgICAgICB8IGluZGV4IG9mIHRoZSBmaXJzdCBvY2N1cmVuY2Ugb2YgIHwgICAgICAgICAgICB8XG58ICAgICAgICAgICAgICAgICAgICB8ICppKiBpbiAqcyogICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rXG58IGBgcy5jb3VudChpKWBgICAgICB8IHRvdGFsIG51bWJlciBvZiBvY2N1cmVuY2VzIG9mICAgIHwgICAgICAgICAgICB8XG58ICAgICAgICAgICAgICAgICAgICB8ICppKiBpbiAqcyogICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rXG5cblNlcXVlbmNlIHR5cGVzIGFsc28gc3VwcG9ydCBjb21wYXJpc29ucy4gIEluIHBhcnRpY3VsYXIsIHR1cGxlcyBhbmRcbmxpc3RzIGFyZSBjb21wYXJlZCBsZXhpY29ncmFwaGljYWxseSBieSBjb21wYXJpbmcgY29ycmVzcG9uZGluZ1xuZWxlbWVudHMuICBUaGlzIG1lYW5zIHRoYXQgdG8gY29tcGFyZSBlcXVhbCwgZXZlcnkgZWxlbWVudCBtdXN0XG5jb21wYXJlIGVxdWFsIGFuZCB0aGUgdHdvIHNlcXVlbmNlcyBtdXN0IGJlIG9mIHRoZSBzYW1lIHR5cGUgYW5kIGhhdmVcbnRoZSBzYW1lIGxlbmd0aC4gIChGb3IgZnVsbCBkZXRhaWxzIHNlZSAqQ29tcGFyaXNvbnMqIGluIHRoZSBsYW5ndWFnZVxucmVmZXJlbmNlLilcblxuTm90ZXM6XG5cbjEuIFdoZW4gKnMqIGlzIGEgc3RyaW5nIG9iamVjdCwgdGhlIGBgaW5gYCBhbmQgYGBub3QgaW5gYCBvcGVyYXRpb25zXG4gICBhY3QgbGlrZSBhIHN1YnN0cmluZyB0ZXN0LlxuXG4yLiBWYWx1ZXMgb2YgKm4qIGxlc3MgdGhhbiBgYDBgYCBhcmUgdHJlYXRlZCBhcyBgYDBgYCAod2hpY2ggeWllbGRzIGFuXG4gICBlbXB0eSBzZXF1ZW5jZSBvZiB0aGUgc2FtZSB0eXBlIGFzICpzKikuICBOb3RlIGFsc28gdGhhdCB0aGUgY29waWVzXG4gICBhcmUgc2hhbGxvdzsgbmVzdGVkIHN0cnVjdHVyZXMgYXJlIG5vdCBjb3BpZWQuICBUaGlzIG9mdGVuIGhhdW50c1xuICAgbmV3IFB5dGhvbiBwcm9ncmFtbWVyczsgY29uc2lkZXI6XG5cbiAgID4+PiBsaXN0cyA9IFtbXV0gKiAzXG4gICA+Pj4gbGlzdHNcbiAgIFtbXSwgW10sIFtdXVxuICAgPj4+IGxpc3RzWzBdLmFwcGVuZCgzKVxuICAgPj4+IGxpc3RzXG4gICBbWzNdLCBbM10sIFszXV1cblxuICAgV2hhdCBoYXMgaGFwcGVuZWQgaXMgdGhhdCBgYFtbXV1gYCBpcyBhIG9uZS1lbGVtZW50IGxpc3QgY29udGFpbmluZ1xuICAgYW4gZW1wdHkgbGlzdCwgc28gYWxsIHRocmVlIGVsZW1lbnRzIG9mIGBgW1tdXSAqIDNgYCBhcmUgKHBvaW50ZXJzXG4gICB0bykgdGhpcyBzaW5nbGUgZW1wdHkgbGlzdC4gIE1vZGlmeWluZyBhbnkgb2YgdGhlIGVsZW1lbnRzIG9mXG4gICBgYGxpc3RzYGAgbW9kaWZpZXMgdGhpcyBzaW5nbGUgbGlzdC4gWW91IGNhbiBjcmVhdGUgYSBsaXN0IG9mXG4gICBkaWZmZXJlbnQgbGlzdHMgdGhpcyB3YXk6XG5cbiAgID4+PiBsaXN0cyA9IFtbXSBmb3IgaSBpbiByYW5nZSgzKV1cbiAgID4+PiBsaXN0c1swXS5hcHBlbmQoMylcbiAgID4+PiBsaXN0c1sxXS5hcHBlbmQoNSlcbiAgID4+PiBsaXN0c1syXS5hcHBlbmQoNylcbiAgID4+PiBsaXN0c1xuICAgW1szXSwgWzVdLCBbN11dXG5cbjMuIElmICppKiBvciAqaiogaXMgbmVnYXRpdmUsIHRoZSBpbmRleCBpcyByZWxhdGl2ZSB0byB0aGUgZW5kIG9mIHRoZVxuICAgc3RyaW5nOiBgYGxlbihzKSArIGlgYCBvciBgYGxlbihzKSArIGpgYCBpcyBzdWJzdGl0dXRlZC4gIEJ1dCBub3RlXG4gICB0aGF0IGBgLTBgYCBpcyBzdGlsbCBgYDBgYC5cblxuNC4gVGhlIHNsaWNlIG9mICpzKiBmcm9tICppKiB0byAqaiogaXMgZGVmaW5lZCBhcyB0aGUgc2VxdWVuY2Ugb2ZcbiAgIGl0ZW1zIHdpdGggaW5kZXggKmsqIHN1Y2ggdGhhdCBgYGkgPD0gayA8IGpgYC4gIElmICppKiBvciAqaiogaXNcbiAgIGdyZWF0ZXIgdGhhbiBgYGxlbihzKWBgLCB1c2UgYGBsZW4ocylgYC4gIElmICppKiBpcyBvbWl0dGVkIG9yXG4gICBgYE5vbmVgYCwgdXNlIGBgMGBgLiAgSWYgKmoqIGlzIG9taXR0ZWQgb3IgYGBOb25lYGAsIHVzZVxuICAgYGBsZW4ocylgYC4gIElmICppKiBpcyBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gKmoqLCB0aGUgc2xpY2UgaXNcbiAgIGVtcHR5LlxuXG41LiBUaGUgc2xpY2Ugb2YgKnMqIGZyb20gKmkqIHRvICpqKiB3aXRoIHN0ZXAgKmsqIGlzIGRlZmluZWQgYXMgdGhlXG4gICBzZXF1ZW5jZSBvZiBpdGVtcyB3aXRoIGluZGV4ICBgYHggPSBpICsgbiprYGAgc3VjaCB0aGF0IGBgMCA8PSBuIDxcbiAgIChqLWkpL2tgYC4gIEluIG90aGVyIHdvcmRzLCB0aGUgaW5kaWNlcyBhcmUgYGBpYGAsIGBgaStrYGAsXG4gICBgYGkrMiprYGAsIGBgaSszKmtgYCBhbmQgc28gb24sIHN0b3BwaW5nIHdoZW4gKmoqIGlzIHJlYWNoZWQgKGJ1dFxuICAgbmV2ZXIgaW5jbHVkaW5nICpqKikuICBJZiAqaSogb3IgKmoqIGlzIGdyZWF0ZXIgdGhhbiBgYGxlbihzKWBgLFxuICAgdXNlIGBgbGVuKHMpYGAuICBJZiAqaSogb3IgKmoqIGFyZSBvbWl0dGVkIG9yIGBgTm9uZWBgLCB0aGV5IGJlY29tZVxuICAgImVuZCIgdmFsdWVzICh3aGljaCBlbmQgZGVwZW5kcyBvbiB0aGUgc2lnbiBvZiAqayopLiAgTm90ZSwgKmsqXG4gICBjYW5ub3QgYmUgemVyby4gSWYgKmsqIGlzIGBgTm9uZWBgLCBpdCBpcyB0cmVhdGVkIGxpa2UgYGAxYGAuXG5cbjYuIENvbmNhdGVuYXRpbmcgaW1tdXRhYmxlIHN0cmluZ3MgYWx3YXlzIHJlc3VsdHMgaW4gYSBuZXcgb2JqZWN0LlxuICAgVGhpcyBtZWFucyB0aGF0IGJ1aWxkaW5nIHVwIGEgc3RyaW5nIGJ5IHJlcGVhdGVkIGNvbmNhdGVuYXRpb24gd2lsbFxuICAgaGF2ZSBhIHF1YWRyYXRpYyBydW50aW1lIGNvc3QgaW4gdGhlIHRvdGFsIHN0cmluZyBsZW5ndGguICBUbyBnZXQgYVxuICAgbGluZWFyIHJ1bnRpbWUgY29zdCwgeW91IG11c3Qgc3dpdGNoIHRvIG9uZSBvZiB0aGUgYWx0ZXJuYXRpdmVzXG4gICBiZWxvdzpcblxuICAgKiBpZiBjb25jYXRlbmF0aW5nIGBgc3RyYGAgb2JqZWN0cywgeW91IGNhbiBidWlsZCBhIGxpc3QgYW5kIHVzZVxuICAgICBgYHN0ci5qb2luKClgYCBhdCB0aGUgZW5kO1xuXG4gICAqIGlmIGNvbmNhdGVuYXRpbmcgYGBieXRlc2BgIG9iamVjdHMsIHlvdSBjYW4gc2ltaWxhcmx5IHVzZVxuICAgICBgYGJ5dGVzLmpvaW4oKWBgLCBvciB5b3UgY2FuIGRvIGluLXBsYWNlIGNvbmNhdGVuYXRpb24gd2l0aCBhXG4gICAgIGBgYnl0ZWFycmF5YGAgb2JqZWN0LiAgYGBieXRlYXJyYXlgYCBvYmplY3RzIGFyZSBtdXRhYmxlIGFuZCBoYXZlXG4gICAgIGFuIGVmZmljaWVudCBvdmVyYWxsb2NhdGlvbiBtZWNoYW5pc20uXG5cblxuU3RyaW5nIE1ldGhvZHNcbj09PT09PT09PT09PT09XG5cblN0cmluZyBvYmplY3RzIHN1cHBvcnQgdGhlIG1ldGhvZHMgbGlzdGVkIGJlbG93LlxuXG5JbiBhZGRpdGlvbiwgUHl0aG9uXCdzIHN0cmluZ3Mgc3VwcG9ydCB0aGUgc2VxdWVuY2UgdHlwZSBtZXRob2RzXG5kZXNjcmliZWQgaW4gdGhlICpTZXF1ZW5jZSBUeXBlcyAtLS0gc3RyLCBieXRlcywgYnl0ZWFycmF5LCBsaXN0LFxudHVwbGUsIHJhbmdlKiBzZWN0aW9uLiBUbyBvdXRwdXQgZm9ybWF0dGVkIHN0cmluZ3MsIHNlZSB0aGUgKlN0cmluZ1xuRm9ybWF0dGluZyogc2VjdGlvbi4gQWxzbywgc2VlIHRoZSBgYHJlYGAgbW9kdWxlIGZvciBzdHJpbmcgZnVuY3Rpb25zXG5iYXNlZCBvbiByZWd1bGFyIGV4cHJlc3Npb25zLlxuXG5zdHIuY2FwaXRhbGl6ZSgpXG5cbiAgIFJldHVybiBhIGNvcHkgb2YgdGhlIHN0cmluZyB3aXRoIGl0cyBmaXJzdCBjaGFyYWN0ZXIgY2FwaXRhbGl6ZWRcbiAgIGFuZCB0aGUgcmVzdCBsb3dlcmNhc2VkLlxuXG5zdHIuY2VudGVyKHdpZHRoWywgZmlsbGNoYXJdKVxuXG4gICBSZXR1cm4gY2VudGVyZWQgaW4gYSBzdHJpbmcgb2YgbGVuZ3RoICp3aWR0aCouIFBhZGRpbmcgaXMgZG9uZVxuICAgdXNpbmcgdGhlIHNwZWNpZmllZCAqZmlsbGNoYXIqIChkZWZhdWx0IGlzIGEgc3BhY2UpLlxuXG5zdHIuY291bnQoc3ViWywgc3RhcnRbLCBlbmRdXSlcblxuICAgUmV0dXJuIHRoZSBudW1iZXIgb2Ygbm9uLW92ZXJsYXBwaW5nIG9jY3VycmVuY2VzIG9mIHN1YnN0cmluZyAqc3ViKlxuICAgaW4gdGhlIHJhbmdlIFsqc3RhcnQqLCAqZW5kKl0uICBPcHRpb25hbCBhcmd1bWVudHMgKnN0YXJ0KiBhbmRcbiAgICplbmQqIGFyZSBpbnRlcnByZXRlZCBhcyBpbiBzbGljZSBub3RhdGlvbi5cblxuc3RyLmVuY29kZShlbmNvZGluZz0idXRmLTgiLCBlcnJvcnM9InN0cmljdCIpXG5cbiAgIFJldHVybiBhbiBlbmNvZGVkIHZlcnNpb24gb2YgdGhlIHN0cmluZyBhcyBhIGJ5dGVzIG9iamVjdC4gRGVmYXVsdFxuICAgZW5jb2RpbmcgaXMgYGBcJ3V0Zi04XCdgYC4gKmVycm9ycyogbWF5IGJlIGdpdmVuIHRvIHNldCBhIGRpZmZlcmVudFxuICAgZXJyb3IgaGFuZGxpbmcgc2NoZW1lLiBUaGUgZGVmYXVsdCBmb3IgKmVycm9ycyogaXMgYGBcJ3N0cmljdFwnYGAsXG4gICBtZWFuaW5nIHRoYXQgZW5jb2RpbmcgZXJyb3JzIHJhaXNlIGEgYGBVbmljb2RlRXJyb3JgYC4gT3RoZXJcbiAgIHBvc3NpYmxlIHZhbHVlcyBhcmUgYGBcJ2lnbm9yZVwnYGAsIGBgXCdyZXBsYWNlXCdgYCxcbiAgIGBgXCd4bWxjaGFycmVmcmVwbGFjZVwnYGAsIGBgXCdiYWNrc2xhc2hyZXBsYWNlXCdgYCBhbmQgYW55IG90aGVyIG5hbWVcbiAgIHJlZ2lzdGVyZWQgdmlhIGBgY29kZWNzLnJlZ2lzdGVyX2Vycm9yKClgYCwgc2VlIHNlY3Rpb24gKkNvZGVjIEJhc2VcbiAgIENsYXNzZXMqLiBGb3IgYSBsaXN0IG9mIHBvc3NpYmxlIGVuY29kaW5ncywgc2VlIHNlY3Rpb24gKlN0YW5kYXJkXG4gICBFbmNvZGluZ3MqLlxuXG4gICBDaGFuZ2VkIGluIHZlcnNpb24gMy4xOiBTdXBwb3J0IGZvciBrZXl3b3JkIGFyZ3VtZW50cyBhZGRlZC5cblxuc3RyLmVuZHN3aXRoKHN1ZmZpeFssIHN0YXJ0WywgZW5kXV0pXG5cbiAgIFJldHVybiBgYFRydWVgYCBpZiB0aGUgc3RyaW5nIGVuZHMgd2l0aCB0aGUgc3BlY2lmaWVkICpzdWZmaXgqLFxuICAgb3RoZXJ3aXNlIHJldHVybiBgYEZhbHNlYGAuICAqc3VmZml4KiBjYW4gYWxzbyBiZSBhIHR1cGxlIG9mXG4gICBzdWZmaXhlcyB0byBsb29rIGZvci4gIFdpdGggb3B0aW9uYWwgKnN0YXJ0KiwgdGVzdCBiZWdpbm5pbmcgYXRcbiAgIHRoYXQgcG9zaXRpb24uICBXaXRoIG9wdGlvbmFsICplbmQqLCBzdG9wIGNvbXBhcmluZyBhdCB0aGF0XG4gICBwb3NpdGlvbi5cblxuc3RyLmV4cGFuZHRhYnMoW3RhYnNpemVdKVxuXG4gICBSZXR1cm4gYSBjb3B5IG9mIHRoZSBzdHJpbmcgd2hlcmUgYWxsIHRhYiBjaGFyYWN0ZXJzIGFyZSByZXBsYWNlZFxuICAgYnkgemVybyBvciBtb3JlIHNwYWNlcywgZGVwZW5kaW5nIG9uIHRoZSBjdXJyZW50IGNvbHVtbiBhbmQgdGhlXG4gICBnaXZlbiB0YWIgc2l6ZS4gIFRoZSBjb2x1bW4gbnVtYmVyIGlzIHJlc2V0IHRvIHplcm8gYWZ0ZXIgZWFjaFxuICAgbmV3bGluZSBvY2N1cnJpbmcgaW4gdGhlIHN0cmluZy4gSWYgKnRhYnNpemUqIGlzIG5vdCBnaXZlbiwgYSB0YWJcbiAgIHNpemUgb2YgYGA4YGAgY2hhcmFjdGVycyBpcyBhc3N1bWVkLiAgVGhpcyBkb2VzblwndCB1bmRlcnN0YW5kIG90aGVyXG4gICBub24tcHJpbnRpbmcgY2hhcmFjdGVycyBvciBlc2NhcGUgc2VxdWVuY2VzLlxuXG5zdHIuZmluZChzdWJbLCBzdGFydFssIGVuZF1dKVxuXG4gICBSZXR1cm4gdGhlIGxvd2VzdCBpbmRleCBpbiB0aGUgc3RyaW5nIHdoZXJlIHN1YnN0cmluZyAqc3ViKiBpc1xuICAgZm91bmQsIHN1Y2ggdGhhdCAqc3ViKiBpcyBjb250YWluZWQgaW4gdGhlIHNsaWNlIGBgc1tzdGFydDplbmRdYGAuXG4gICBPcHRpb25hbCBhcmd1bWVudHMgKnN0YXJ0KiBhbmQgKmVuZCogYXJlIGludGVycHJldGVkIGFzIGluIHNsaWNlXG4gICBub3RhdGlvbi4gIFJldHVybiBgYC0xYGAgaWYgKnN1YiogaXMgbm90IGZvdW5kLlxuXG4gICBOb3RlOiBUaGUgYGBmaW5kKClgYCBtZXRob2Qgc2hvdWxkIGJlIHVzZWQgb25seSBpZiB5b3UgbmVlZCB0byBrbm93IHRoZVxuICAgICBwb3NpdGlvbiBvZiAqc3ViKi4gIFRvIGNoZWNrIGlmICpzdWIqIGlzIGEgc3Vic3RyaW5nIG9yIG5vdCwgdXNlXG4gICAgIHRoZSBgYGluYGAgb3BlcmF0b3I6XG5cbiAgICAgICAgPj4+IFwnUHlcJyBpbiBcJ1B5dGhvblwnXG4gICAgICAgIFRydWVcblxuc3RyLmZvcm1hdCgqYXJncywgKiprd2FyZ3MpXG5cbiAgIFBlcmZvcm0gYSBzdHJpbmcgZm9ybWF0dGluZyBvcGVyYXRpb24uICBUaGUgc3RyaW5nIG9uIHdoaWNoIHRoaXNcbiAgIG1ldGhvZCBpcyBjYWxsZWQgY2FuIGNvbnRhaW4gbGl0ZXJhbCB0ZXh0IG9yIHJlcGxhY2VtZW50IGZpZWxkc1xuICAgZGVsaW1pdGVkIGJ5IGJyYWNlcyBgYHt9YGAuICBFYWNoIHJlcGxhY2VtZW50IGZpZWxkIGNvbnRhaW5zIGVpdGhlclxuICAgdGhlIG51bWVyaWMgaW5kZXggb2YgYSBwb3NpdGlvbmFsIGFyZ3VtZW50LCBvciB0aGUgbmFtZSBvZiBhXG4gICBrZXl3b3JkIGFyZ3VtZW50LiAgUmV0dXJucyBhIGNvcHkgb2YgdGhlIHN0cmluZyB3aGVyZSBlYWNoXG4gICByZXBsYWNlbWVudCBmaWVsZCBpcyByZXBsYWNlZCB3aXRoIHRoZSBzdHJpbmcgdmFsdWUgb2YgdGhlXG4gICBjb3JyZXNwb25kaW5nIGFyZ3VtZW50LlxuXG4gICA+Pj4gIlRoZSBzdW0gb2YgMSArIDIgaXMgezB9Ii5mb3JtYXQoMSsyKVxuICAgXCdUaGUgc3VtIG9mIDEgKyAyIGlzIDNcJ1xuXG4gICBTZWUgKkZvcm1hdCBTdHJpbmcgU3ludGF4KiBmb3IgYSBkZXNjcmlwdGlvbiBvZiB0aGUgdmFyaW91c1xuICAgZm9ybWF0dGluZyBvcHRpb25zIHRoYXQgY2FuIGJlIHNwZWNpZmllZCBpbiBmb3JtYXQgc3RyaW5ncy5cblxuc3RyLmZvcm1hdF9tYXAobWFwcGluZylcblxuICAgU2ltaWxhciB0byBgYHN0ci5mb3JtYXQoKiptYXBwaW5nKWBgLCBleGNlcHQgdGhhdCBgYG1hcHBpbmdgYCBpc1xuICAgdXNlZCBkaXJlY3RseSBhbmQgbm90IGNvcGllZCB0byBhIGBgZGljdGBgIC4gIFRoaXMgaXMgdXNlZnVsIGlmIGZvclxuICAgZXhhbXBsZSBgYG1hcHBpbmdgYCBpcyBhIGRpY3Qgc3ViY2xhc3M6XG5cbiAgID4+PiBjbGFzcyBEZWZhdWx0KGRpY3QpOlxuICAgLi4uICAgICBkZWYgX19taXNzaW5nX18oc2VsZiwga2V5KTpcbiAgIC4uLiAgICAgICAgIHJldHVybiBrZXlcbiAgIC4uLlxuICAgPj4+IFwne25hbWV9IHdhcyBib3JuIGluIHtjb3VudHJ5fVwnLmZvcm1hdF9tYXAoRGVmYXVsdChuYW1lPVwnR3VpZG9cJykpXG4gICBcJ0d1aWRvIHdhcyBib3JuIGluIGNvdW50cnlcJ1xuXG4gICBOZXcgaW4gdmVyc2lvbiAzLjIuXG5cbnN0ci5pbmRleChzdWJbLCBzdGFydFssIGVuZF1dKVxuXG4gICBMaWtlIGBgZmluZCgpYGAsIGJ1dCByYWlzZSBgYFZhbHVlRXJyb3JgYCB3aGVuIHRoZSBzdWJzdHJpbmcgaXMgbm90XG4gICBmb3VuZC5cblxuc3RyLmlzYWxudW0oKVxuXG4gICBSZXR1cm4gdHJ1ZSBpZiBhbGwgY2hhcmFjdGVycyBpbiB0aGUgc3RyaW5nIGFyZSBhbHBoYW51bWVyaWMgYW5kXG4gICB0aGVyZSBpcyBhdCBsZWFzdCBvbmUgY2hhcmFjdGVyLCBmYWxzZSBvdGhlcndpc2UuICBBIGNoYXJhY3RlclxuICAgYGBjYGAgaXMgYWxwaGFudW1lcmljIGlmIG9uZSBvZiB0aGUgZm9sbG93aW5nIHJldHVybnMgYGBUcnVlYGA6XG4gICBgYGMuaXNhbHBoYSgpYGAsIGBgYy5pc2RlY2ltYWwoKWBgLCBgYGMuaXNkaWdpdCgpYGAsIG9yXG4gICBgYGMuaXNudW1lcmljKClgYC5cblxuc3RyLmlzYWxwaGEoKVxuXG4gICBSZXR1cm4gdHJ1ZSBpZiBhbGwgY2hhcmFjdGVycyBpbiB0aGUgc3RyaW5nIGFyZSBhbHBoYWJldGljIGFuZFxuICAgdGhlcmUgaXMgYXQgbGVhc3Qgb25lIGNoYXJhY3RlciwgZmFsc2Ugb3RoZXJ3aXNlLiAgQWxwaGFiZXRpY1xuICAgY2hhcmFjdGVycyBhcmUgdGhvc2UgY2hhcmFjdGVycyBkZWZpbmVkIGluIHRoZSBVbmljb2RlIGNoYXJhY3RlclxuICAgZGF0YWJhc2UgYXMgIkxldHRlciIsIGkuZS4sIHRob3NlIHdpdGggZ2VuZXJhbCBjYXRlZ29yeSBwcm9wZXJ0eVxuICAgYmVpbmcgb25lIG9mICJMbSIsICJMdCIsICJMdSIsICJMbCIsIG9yICJMbyIuICBOb3RlIHRoYXQgdGhpcyBpc1xuICAgZGlmZmVyZW50IGZyb20gdGhlICJBbHBoYWJldGljIiBwcm9wZXJ0eSBkZWZpbmVkIGluIHRoZSBVbmljb2RlXG4gICBTdGFuZGFyZC5cblxuc3RyLmlzZGVjaW1hbCgpXG5cbiAgIFJldHVybiB0cnVlIGlmIGFsbCBjaGFyYWN0ZXJzIGluIHRoZSBzdHJpbmcgYXJlIGRlY2ltYWwgY2hhcmFjdGVyc1xuICAgYW5kIHRoZXJlIGlzIGF0IGxlYXN0IG9uZSBjaGFyYWN0ZXIsIGZhbHNlIG90aGVyd2lzZS4gRGVjaW1hbFxuICAgY2hhcmFjdGVycyBhcmUgdGhvc2UgZnJvbSBnZW5lcmFsIGNhdGVnb3J5ICJOZCIuIFRoaXMgY2F0ZWdvcnlcbiAgIGluY2x1ZGVzIGRpZ2l0IGNoYXJhY3RlcnMsIGFuZCBhbGwgY2hhcmFjdGVycyB0aGF0IGNhbiBiZSB1c2VkIHRvXG4gICBmb3JtIGRlY2ltYWwtcmFkaXggbnVtYmVycywgZS5nLiBVKzA2NjAsIEFSQUJJQy1JTkRJQyBESUdJVCBaRVJPLlxuXG5zdHIuaXNkaWdpdCgpXG5cbiAgIFJldHVybiB0cnVlIGlmIGFsbCBjaGFyYWN0ZXJzIGluIHRoZSBzdHJpbmcgYXJlIGRpZ2l0cyBhbmQgdGhlcmUgaXNcbiAgIGF0IGxlYXN0IG9uZSBjaGFyYWN0ZXIsIGZhbHNlIG90aGVyd2lzZS4gIERpZ2l0cyBpbmNsdWRlIGRlY2ltYWxcbiAgIGNoYXJhY3RlcnMgYW5kIGRpZ2l0cyB0aGF0IG5lZWQgc3BlY2lhbCBoYW5kbGluZywgc3VjaCBhcyB0aGVcbiAgIGNvbXBhdGliaWxpdHkgc3VwZXJzY3JpcHQgZGlnaXRzLiAgRm9ybWFsbHksIGEgZGlnaXQgaXMgYSBjaGFyYWN0ZXJcbiAgIHRoYXQgaGFzIHRoZSBwcm9wZXJ0eSB2YWx1ZSBOdW1lcmljX1R5cGU9RGlnaXQgb3JcbiAgIE51bWVyaWNfVHlwZT1EZWNpbWFsLlxuXG5zdHIuaXNpZGVudGlmaWVyKClcblxuICAgUmV0dXJuIHRydWUgaWYgdGhlIHN0cmluZyBpcyBhIHZhbGlkIGlkZW50aWZpZXIgYWNjb3JkaW5nIHRvIHRoZVxuICAgbGFuZ3VhZ2UgZGVmaW5pdGlvbiwgc2VjdGlvbiAqSWRlbnRpZmllcnMgYW5kIGtleXdvcmRzKi5cblxuc3RyLmlzbG93ZXIoKVxuXG4gICBSZXR1cm4gdHJ1ZSBpZiBhbGwgY2FzZWQgY2hhcmFjdGVycyBbNF0gaW4gdGhlIHN0cmluZyBhcmUgbG93ZXJjYXNlXG4gICBhbmQgdGhlcmUgaXMgYXQgbGVhc3Qgb25lIGNhc2VkIGNoYXJhY3RlciwgZmFsc2Ugb3RoZXJ3aXNlLlxuXG5zdHIuaXNudW1lcmljKClcblxuICAgUmV0dXJuIHRydWUgaWYgYWxsIGNoYXJhY3RlcnMgaW4gdGhlIHN0cmluZyBhcmUgbnVtZXJpYyBjaGFyYWN0ZXJzLFxuICAgYW5kIHRoZXJlIGlzIGF0IGxlYXN0IG9uZSBjaGFyYWN0ZXIsIGZhbHNlIG90aGVyd2lzZS4gTnVtZXJpY1xuICAgY2hhcmFjdGVycyBpbmNsdWRlIGRpZ2l0IGNoYXJhY3RlcnMsIGFuZCBhbGwgY2hhcmFjdGVycyB0aGF0IGhhdmVcbiAgIHRoZSBVbmljb2RlIG51bWVyaWMgdmFsdWUgcHJvcGVydHksIGUuZy4gVSsyMTU1LCBWVUxHQVIgRlJBQ1RJT05cbiAgIE9ORSBGSUZUSC4gIEZvcm1hbGx5LCBudW1lcmljIGNoYXJhY3RlcnMgYXJlIHRob3NlIHdpdGggdGhlXG4gICBwcm9wZXJ0eSB2YWx1ZSBOdW1lcmljX1R5cGU9RGlnaXQsIE51bWVyaWNfVHlwZT1EZWNpbWFsIG9yXG4gICBOdW1lcmljX1R5cGU9TnVtZXJpYy5cblxuc3RyLmlzcHJpbnRhYmxlKClcblxuICAgUmV0dXJuIHRydWUgaWYgYWxsIGNoYXJhY3RlcnMgaW4gdGhlIHN0cmluZyBhcmUgcHJpbnRhYmxlIG9yIHRoZVxuICAgc3RyaW5nIGlzIGVtcHR5LCBmYWxzZSBvdGhlcndpc2UuICBOb25wcmludGFibGUgY2hhcmFjdGVycyBhcmVcbiAgIHRob3NlIGNoYXJhY3RlcnMgZGVmaW5lZCBpbiB0aGUgVW5pY29kZSBjaGFyYWN0ZXIgZGF0YWJhc2UgYXNcbiAgICJPdGhlciIgb3IgIlNlcGFyYXRvciIsIGV4Y2VwdGluZyB0aGUgQVNDSUkgc3BhY2UgKDB4MjApIHdoaWNoIGlzXG4gICBjb25zaWRlcmVkIHByaW50YWJsZS4gIChOb3RlIHRoYXQgcHJpbnRhYmxlIGNoYXJhY3RlcnMgaW4gdGhpc1xuICAgY29udGV4dCBhcmUgdGhvc2Ugd2hpY2ggc2hvdWxkIG5vdCBiZSBlc2NhcGVkIHdoZW4gYGByZXByKClgYCBpc1xuICAgaW52b2tlZCBvbiBhIHN0cmluZy4gIEl0IGhhcyBubyBiZWFyaW5nIG9uIHRoZSBoYW5kbGluZyBvZiBzdHJpbmdzXG4gICB3cml0dGVuIHRvIGBgc3lzLnN0ZG91dGBgIG9yIGBgc3lzLnN0ZGVycmBgLilcblxuc3RyLmlzc3BhY2UoKVxuXG4gICBSZXR1cm4gdHJ1ZSBpZiB0aGVyZSBhcmUgb25seSB3aGl0ZXNwYWNlIGNoYXJhY3RlcnMgaW4gdGhlIHN0cmluZ1xuICAgYW5kIHRoZXJlIGlzIGF0IGxlYXN0IG9uZSBjaGFyYWN0ZXIsIGZhbHNlIG90aGVyd2lzZS4gIFdoaXRlc3BhY2VcbiAgIGNoYXJhY3RlcnMgIGFyZSB0aG9zZSBjaGFyYWN0ZXJzIGRlZmluZWQgaW4gdGhlIFVuaWNvZGUgY2hhcmFjdGVyXG4gICBkYXRhYmFzZSBhcyAiT3RoZXIiIG9yICJTZXBhcmF0b3IiIGFuZCB0aG9zZSB3aXRoIGJpZGlyZWN0aW9uYWxcbiAgIHByb3BlcnR5IGJlaW5nIG9uZSBvZiAiV1MiLCAiQiIsIG9yICJTIi5cblxuc3RyLmlzdGl0bGUoKVxuXG4gICBSZXR1cm4gdHJ1ZSBpZiB0aGUgc3RyaW5nIGlzIGEgdGl0bGVjYXNlZCBzdHJpbmcgYW5kIHRoZXJlIGlzIGF0XG4gICBsZWFzdCBvbmUgY2hhcmFjdGVyLCBmb3IgZXhhbXBsZSB1cHBlcmNhc2UgY2hhcmFjdGVycyBtYXkgb25seVxuICAgZm9sbG93IHVuY2FzZWQgY2hhcmFjdGVycyBhbmQgbG93ZXJjYXNlIGNoYXJhY3RlcnMgb25seSBjYXNlZCBvbmVzLlxuICAgUmV0dXJuIGZhbHNlIG90aGVyd2lzZS5cblxuc3RyLmlzdXBwZXIoKVxuXG4gICBSZXR1cm4gdHJ1ZSBpZiBhbGwgY2FzZWQgY2hhcmFjdGVycyBbNF0gaW4gdGhlIHN0cmluZyBhcmUgdXBwZXJjYXNlXG4gICBhbmQgdGhlcmUgaXMgYXQgbGVhc3Qgb25lIGNhc2VkIGNoYXJhY3RlciwgZmFsc2Ugb3RoZXJ3aXNlLlxuXG5zdHIuam9pbihpdGVyYWJsZSlcblxuICAgUmV0dXJuIGEgc3RyaW5nIHdoaWNoIGlzIHRoZSBjb25jYXRlbmF0aW9uIG9mIHRoZSBzdHJpbmdzIGluIHRoZVxuICAgKml0ZXJhYmxlKiAqaXRlcmFibGUqLiAgQSBgYFR5cGVFcnJvcmBgIHdpbGwgYmUgcmFpc2VkIGlmIHRoZXJlIGFyZVxuICAgYW55IG5vbi1zdHJpbmcgdmFsdWVzIGluICppdGVyYWJsZSosIGluY2x1ZGluZyBgYGJ5dGVzYGAgb2JqZWN0cy5cbiAgIFRoZSBzZXBhcmF0b3IgYmV0d2VlbiBlbGVtZW50cyBpcyB0aGUgc3RyaW5nIHByb3ZpZGluZyB0aGlzIG1ldGhvZC5cblxuc3RyLmxqdXN0KHdpZHRoWywgZmlsbGNoYXJdKVxuXG4gICBSZXR1cm4gdGhlIHN0cmluZyBsZWZ0IGp1c3RpZmllZCBpbiBhIHN0cmluZyBvZiBsZW5ndGggKndpZHRoKi5cbiAgIFBhZGRpbmcgaXMgZG9uZSB1c2luZyB0aGUgc3BlY2lmaWVkICpmaWxsY2hhciogKGRlZmF1bHQgaXMgYVxuICAgc3BhY2UpLiAgVGhlIG9yaWdpbmFsIHN0cmluZyBpcyByZXR1cm5lZCBpZiAqd2lkdGgqIGlzIGxlc3MgdGhhbiBvclxuICAgZXF1YWwgdG8gYGBsZW4ocylgYC5cblxuc3RyLmxvd2VyKClcblxuICAgUmV0dXJuIGEgY29weSBvZiB0aGUgc3RyaW5nIHdpdGggYWxsIHRoZSBjYXNlZCBjaGFyYWN0ZXJzIFs0XVxuICAgY29udmVydGVkIHRvIGxvd2VyY2FzZS5cblxuc3RyLmxzdHJpcChbY2hhcnNdKVxuXG4gICBSZXR1cm4gYSBjb3B5IG9mIHRoZSBzdHJpbmcgd2l0aCBsZWFkaW5nIGNoYXJhY3RlcnMgcmVtb3ZlZC4gIFRoZVxuICAgKmNoYXJzKiBhcmd1bWVudCBpcyBhIHN0cmluZyBzcGVjaWZ5aW5nIHRoZSBzZXQgb2YgY2hhcmFjdGVycyB0byBiZVxuICAgcmVtb3ZlZC4gIElmIG9taXR0ZWQgb3IgYGBOb25lYGAsIHRoZSAqY2hhcnMqIGFyZ3VtZW50IGRlZmF1bHRzIHRvXG4gICByZW1vdmluZyB3aGl0ZXNwYWNlLiAgVGhlICpjaGFycyogYXJndW1lbnQgaXMgbm90IGEgcHJlZml4OyByYXRoZXIsXG4gICBhbGwgY29tYmluYXRpb25zIG9mIGl0cyB2YWx1ZXMgYXJlIHN0cmlwcGVkOlxuXG4gICA+Pj4gXCcgICBzcGFjaW91cyAgIFwnLmxzdHJpcCgpXG4gICBcJ3NwYWNpb3VzICAgXCdcbiAgID4+PiBcJ3d3dy5leGFtcGxlLmNvbVwnLmxzdHJpcChcJ2Ntb3d6LlwnKVxuICAgXCdleGFtcGxlLmNvbVwnXG5cbnN0YXRpYyBzdHIubWFrZXRyYW5zKHhbLCB5Wywgel1dKVxuXG4gICBUaGlzIHN0YXRpYyBtZXRob2QgcmV0dXJucyBhIHRyYW5zbGF0aW9uIHRhYmxlIHVzYWJsZSBmb3JcbiAgIGBgc3RyLnRyYW5zbGF0ZSgpYGAuXG5cbiAgIElmIHRoZXJlIGlzIG9ubHkgb25lIGFyZ3VtZW50LCBpdCBtdXN0IGJlIGEgZGljdGlvbmFyeSBtYXBwaW5nXG4gICBVbmljb2RlIG9yZGluYWxzIChpbnRlZ2Vycykgb3IgY2hhcmFjdGVycyAoc3RyaW5ncyBvZiBsZW5ndGggMSkgdG9cbiAgIFVuaWNvZGUgb3JkaW5hbHMsIHN0cmluZ3MgKG9mIGFyYml0cmFyeSBsZW5ndGhzKSBvciBOb25lLlxuICAgQ2hhcmFjdGVyIGtleXMgd2lsbCB0aGVuIGJlIGNvbnZlcnRlZCB0byBvcmRpbmFscy5cblxuICAgSWYgdGhlcmUgYXJlIHR3byBhcmd1bWVudHMsIHRoZXkgbXVzdCBiZSBzdHJpbmdzIG9mIGVxdWFsIGxlbmd0aCxcbiAgIGFuZCBpbiB0aGUgcmVzdWx0aW5nIGRpY3Rpb25hcnksIGVhY2ggY2hhcmFjdGVyIGluIHggd2lsbCBiZSBtYXBwZWRcbiAgIHRvIHRoZSBjaGFyYWN0ZXIgYXQgdGhlIHNhbWUgcG9zaXRpb24gaW4geS4gIElmIHRoZXJlIGlzIGEgdGhpcmRcbiAgIGFyZ3VtZW50LCBpdCBtdXN0IGJlIGEgc3RyaW5nLCB3aG9zZSBjaGFyYWN0ZXJzIHdpbGwgYmUgbWFwcGVkIHRvXG4gICBOb25lIGluIHRoZSByZXN1bHQuXG5cbnN0ci5wYXJ0aXRpb24oc2VwKVxuXG4gICBTcGxpdCB0aGUgc3RyaW5nIGF0IHRoZSBmaXJzdCBvY2N1cnJlbmNlIG9mICpzZXAqLCBhbmQgcmV0dXJuIGFcbiAgIDMtdHVwbGUgY29udGFpbmluZyB0aGUgcGFydCBiZWZvcmUgdGhlIHNlcGFyYXRvciwgdGhlIHNlcGFyYXRvclxuICAgaXRzZWxmLCBhbmQgdGhlIHBhcnQgYWZ0ZXIgdGhlIHNlcGFyYXRvci4gIElmIHRoZSBzZXBhcmF0b3IgaXMgbm90XG4gICBmb3VuZCwgcmV0dXJuIGEgMy10dXBsZSBjb250YWluaW5nIHRoZSBzdHJpbmcgaXRzZWxmLCBmb2xsb3dlZCBieVxuICAgdHdvIGVtcHR5IHN0cmluZ3MuXG5cbnN0ci5yZXBsYWNlKG9sZCwgbmV3WywgY291bnRdKVxuXG4gICBSZXR1cm4gYSBjb3B5IG9mIHRoZSBzdHJpbmcgd2l0aCBhbGwgb2NjdXJyZW5jZXMgb2Ygc3Vic3RyaW5nICpvbGQqXG4gICByZXBsYWNlZCBieSAqbmV3Ki4gIElmIHRoZSBvcHRpb25hbCBhcmd1bWVudCAqY291bnQqIGlzIGdpdmVuLCBvbmx5XG4gICB0aGUgZmlyc3QgKmNvdW50KiBvY2N1cnJlbmNlcyBhcmUgcmVwbGFjZWQuXG5cbnN0ci5yZmluZChzdWJbLCBzdGFydFssIGVuZF1dKVxuXG4gICBSZXR1cm4gdGhlIGhpZ2hlc3QgaW5kZXggaW4gdGhlIHN0cmluZyB3aGVyZSBzdWJzdHJpbmcgKnN1YiogaXNcbiAgIGZvdW5kLCBzdWNoIHRoYXQgKnN1YiogaXMgY29udGFpbmVkIHdpdGhpbiBgYHNbc3RhcnQ6ZW5kXWBgLlxuICAgT3B0aW9uYWwgYXJndW1lbnRzICpzdGFydCogYW5kICplbmQqIGFyZSBpbnRlcnByZXRlZCBhcyBpbiBzbGljZVxuICAgbm90YXRpb24uICBSZXR1cm4gYGAtMWBgIG9uIGZhaWx1cmUuXG5cbnN0ci5yaW5kZXgoc3ViWywgc3RhcnRbLCBlbmRdXSlcblxuICAgTGlrZSBgYHJmaW5kKClgYCBidXQgcmFpc2VzIGBgVmFsdWVFcnJvcmBgIHdoZW4gdGhlIHN1YnN0cmluZyAqc3ViKlxuICAgaXMgbm90IGZvdW5kLlxuXG5zdHIucmp1c3Qod2lkdGhbLCBmaWxsY2hhcl0pXG5cbiAgIFJldHVybiB0aGUgc3RyaW5nIHJpZ2h0IGp1c3RpZmllZCBpbiBhIHN0cmluZyBvZiBsZW5ndGggKndpZHRoKi5cbiAgIFBhZGRpbmcgaXMgZG9uZSB1c2luZyB0aGUgc3BlY2lmaWVkICpmaWxsY2hhciogKGRlZmF1bHQgaXMgYVxuICAgc3BhY2UpLiBUaGUgb3JpZ2luYWwgc3RyaW5nIGlzIHJldHVybmVkIGlmICp3aWR0aCogaXMgbGVzcyB0aGFuIG9yXG4gICBlcXVhbCB0byBgYGxlbihzKWBgLlxuXG5zdHIucnBhcnRpdGlvbihzZXApXG5cbiAgIFNwbGl0IHRoZSBzdHJpbmcgYXQgdGhlIGxhc3Qgb2NjdXJyZW5jZSBvZiAqc2VwKiwgYW5kIHJldHVybiBhXG4gICAzLXR1cGxlIGNvbnRhaW5pbmcgdGhlIHBhcnQgYmVmb3JlIHRoZSBzZXBhcmF0b3IsIHRoZSBzZXBhcmF0b3JcbiAgIGl0c2VsZiwgYW5kIHRoZSBwYXJ0IGFmdGVyIHRoZSBzZXBhcmF0b3IuICBJZiB0aGUgc2VwYXJhdG9yIGlzIG5vdFxuICAgZm91bmQsIHJldHVybiBhIDMtdHVwbGUgY29udGFpbmluZyB0d28gZW1wdHkgc3RyaW5ncywgZm9sbG93ZWQgYnlcbiAgIHRoZSBzdHJpbmcgaXRzZWxmLlxuXG5zdHIucnNwbGl0KFtzZXBbLCBtYXhzcGxpdF1dKVxuXG4gICBSZXR1cm4gYSBsaXN0IG9mIHRoZSB3b3JkcyBpbiB0aGUgc3RyaW5nLCB1c2luZyAqc2VwKiBhcyB0aGVcbiAgIGRlbGltaXRlciBzdHJpbmcuIElmICptYXhzcGxpdCogaXMgZ2l2ZW4sIGF0IG1vc3QgKm1heHNwbGl0KiBzcGxpdHNcbiAgIGFyZSBkb25lLCB0aGUgKnJpZ2h0bW9zdCogb25lcy4gIElmICpzZXAqIGlzIG5vdCBzcGVjaWZpZWQgb3JcbiAgIGBgTm9uZWBgLCBhbnkgd2hpdGVzcGFjZSBzdHJpbmcgaXMgYSBzZXBhcmF0b3IuICBFeGNlcHQgZm9yXG4gICBzcGxpdHRpbmcgZnJvbSB0aGUgcmlnaHQsIGBgcnNwbGl0KClgYCBiZWhhdmVzIGxpa2UgYGBzcGxpdCgpYGBcbiAgIHdoaWNoIGlzIGRlc2NyaWJlZCBpbiBkZXRhaWwgYmVsb3cuXG5cbnN0ci5yc3RyaXAoW2NoYXJzXSlcblxuICAgUmV0dXJuIGEgY29weSBvZiB0aGUgc3RyaW5nIHdpdGggdHJhaWxpbmcgY2hhcmFjdGVycyByZW1vdmVkLiAgVGhlXG4gICAqY2hhcnMqIGFyZ3VtZW50IGlzIGEgc3RyaW5nIHNwZWNpZnlpbmcgdGhlIHNldCBvZiBjaGFyYWN0ZXJzIHRvIGJlXG4gICByZW1vdmVkLiAgSWYgb21pdHRlZCBvciBgYE5vbmVgYCwgdGhlICpjaGFycyogYXJndW1lbnQgZGVmYXVsdHMgdG9cbiAgIHJlbW92aW5nIHdoaXRlc3BhY2UuICBUaGUgKmNoYXJzKiBhcmd1bWVudCBpcyBub3QgYSBzdWZmaXg7IHJhdGhlcixcbiAgIGFsbCBjb21iaW5hdGlvbnMgb2YgaXRzIHZhbHVlcyBhcmUgc3RyaXBwZWQ6XG5cbiAgID4+PiBcJyAgIHNwYWNpb3VzICAgXCcucnN0cmlwKClcbiAgIFwnICAgc3BhY2lvdXNcJ1xuICAgPj4+IFwnbWlzc2lzc2lwcGlcJy5yc3RyaXAoXCdpcHpcJylcbiAgIFwnbWlzc2lzc1wnXG5cbnN0ci5zcGxpdChbc2VwWywgbWF4c3BsaXRdXSlcblxuICAgUmV0dXJuIGEgbGlzdCBvZiB0aGUgd29yZHMgaW4gdGhlIHN0cmluZywgdXNpbmcgKnNlcCogYXMgdGhlXG4gICBkZWxpbWl0ZXIgc3RyaW5nLiAgSWYgKm1heHNwbGl0KiBpcyBnaXZlbiwgYXQgbW9zdCAqbWF4c3BsaXQqXG4gICBzcGxpdHMgYXJlIGRvbmUgKHRodXMsIHRoZSBsaXN0IHdpbGwgaGF2ZSBhdCBtb3N0IGBgbWF4c3BsaXQrMWBgXG4gICBlbGVtZW50cykuICBJZiAqbWF4c3BsaXQqIGlzIG5vdCBzcGVjaWZpZWQsIHRoZW4gdGhlcmUgaXMgbm8gbGltaXRcbiAgIG9uIHRoZSBudW1iZXIgb2Ygc3BsaXRzIChhbGwgcG9zc2libGUgc3BsaXRzIGFyZSBtYWRlKS5cblxuICAgSWYgKnNlcCogaXMgZ2l2ZW4sIGNvbnNlY3V0aXZlIGRlbGltaXRlcnMgYXJlIG5vdCBncm91cGVkIHRvZ2V0aGVyXG4gICBhbmQgYXJlIGRlZW1lZCB0byBkZWxpbWl0IGVtcHR5IHN0cmluZ3MgKGZvciBleGFtcGxlLFxuICAgYGBcJzEsLDJcJy5zcGxpdChcJyxcJylgYCByZXR1cm5zIGBgW1wnMVwnLCBcJ1wnLCBcJzJcJ11gYCkuICBUaGUgKnNlcCpcbiAgIGFyZ3VtZW50IG1heSBjb25zaXN0IG9mIG11bHRpcGxlIGNoYXJhY3RlcnMgKGZvciBleGFtcGxlLFxuICAgYGBcJzE8PjI8PjNcJy5zcGxpdChcJzw+XCcpYGAgcmV0dXJucyBgYFtcJzFcJywgXCcyXCcsIFwnM1wnXWBgKS4gU3BsaXR0aW5nXG4gICBhbiBlbXB0eSBzdHJpbmcgd2l0aCBhIHNwZWNpZmllZCBzZXBhcmF0b3IgcmV0dXJucyBgYFtcJ1wnXWBgLlxuXG4gICBJZiAqc2VwKiBpcyBub3Qgc3BlY2lmaWVkIG9yIGlzIGBgTm9uZWBgLCBhIGRpZmZlcmVudCBzcGxpdHRpbmdcbiAgIGFsZ29yaXRobSBpcyBhcHBsaWVkOiBydW5zIG9mIGNvbnNlY3V0aXZlIHdoaXRlc3BhY2UgYXJlIHJlZ2FyZGVkXG4gICBhcyBhIHNpbmdsZSBzZXBhcmF0b3IsIGFuZCB0aGUgcmVzdWx0IHdpbGwgY29udGFpbiBubyBlbXB0eSBzdHJpbmdzXG4gICBhdCB0aGUgc3RhcnQgb3IgZW5kIGlmIHRoZSBzdHJpbmcgaGFzIGxlYWRpbmcgb3IgdHJhaWxpbmdcbiAgIHdoaXRlc3BhY2UuICBDb25zZXF1ZW50bHksIHNwbGl0dGluZyBhbiBlbXB0eSBzdHJpbmcgb3IgYSBzdHJpbmdcbiAgIGNvbnNpc3Rpbmcgb2YganVzdCB3aGl0ZXNwYWNlIHdpdGggYSBgYE5vbmVgYCBzZXBhcmF0b3IgcmV0dXJuc1xuICAgYGBbXWBgLlxuXG4gICBGb3IgZXhhbXBsZSwgYGBcJyAxICAyICAgMyAgXCcuc3BsaXQoKWBgIHJldHVybnMgYGBbXCcxXCcsIFwnMlwnLCBcJzNcJ11gYCxcbiAgIGFuZCBgYFwnICAxICAyICAgMyAgXCcuc3BsaXQoTm9uZSwgMSlgYCByZXR1cm5zIGBgW1wnMVwnLCBcJzIgICAzICBcJ11gYC5cblxuc3RyLnNwbGl0bGluZXMoW2tlZXBlbmRzXSlcblxuICAgUmV0dXJuIGEgbGlzdCBvZiB0aGUgbGluZXMgaW4gdGhlIHN0cmluZywgYnJlYWtpbmcgYXQgbGluZVxuICAgYm91bmRhcmllcy4gIExpbmUgYnJlYWtzIGFyZSBub3QgaW5jbHVkZWQgaW4gdGhlIHJlc3VsdGluZyBsaXN0XG4gICB1bmxlc3MgKmtlZXBlbmRzKiBpcyBnaXZlbiBhbmQgdHJ1ZS5cblxuc3RyLnN0YXJ0c3dpdGgocHJlZml4Wywgc3RhcnRbLCBlbmRdXSlcblxuICAgUmV0dXJuIGBgVHJ1ZWBgIGlmIHN0cmluZyBzdGFydHMgd2l0aCB0aGUgKnByZWZpeCosIG90aGVyd2lzZVxuICAgcmV0dXJuIGBgRmFsc2VgYC4gKnByZWZpeCogY2FuIGFsc28gYmUgYSB0dXBsZSBvZiBwcmVmaXhlcyB0byBsb29rXG4gICBmb3IuICBXaXRoIG9wdGlvbmFsICpzdGFydCosIHRlc3Qgc3RyaW5nIGJlZ2lubmluZyBhdCB0aGF0XG4gICBwb3NpdGlvbi4gIFdpdGggb3B0aW9uYWwgKmVuZCosIHN0b3AgY29tcGFyaW5nIHN0cmluZyBhdCB0aGF0XG4gICBwb3NpdGlvbi5cblxuc3RyLnN0cmlwKFtjaGFyc10pXG5cbiAgIFJldHVybiBhIGNvcHkgb2YgdGhlIHN0cmluZyB3aXRoIHRoZSBsZWFkaW5nIGFuZCB0cmFpbGluZ1xuICAgY2hhcmFjdGVycyByZW1vdmVkLiBUaGUgKmNoYXJzKiBhcmd1bWVudCBpcyBhIHN0cmluZyBzcGVjaWZ5aW5nIHRoZVxuICAgc2V0IG9mIGNoYXJhY3RlcnMgdG8gYmUgcmVtb3ZlZC4gSWYgb21pdHRlZCBvciBgYE5vbmVgYCwgdGhlXG4gICAqY2hhcnMqIGFyZ3VtZW50IGRlZmF1bHRzIHRvIHJlbW92aW5nIHdoaXRlc3BhY2UuIFRoZSAqY2hhcnMqXG4gICBhcmd1bWVudCBpcyBub3QgYSBwcmVmaXggb3Igc3VmZml4OyByYXRoZXIsIGFsbCBjb21iaW5hdGlvbnMgb2YgaXRzXG4gICB2YWx1ZXMgYXJlIHN0cmlwcGVkOlxuXG4gICA+Pj4gXCcgICBzcGFjaW91cyAgIFwnLnN0cmlwKClcbiAgIFwnc3BhY2lvdXNcJ1xuICAgPj4+IFwnd3d3LmV4YW1wbGUuY29tXCcuc3RyaXAoXCdjbW93ei5cJylcbiAgIFwnZXhhbXBsZVwnXG5cbnN0ci5zd2FwY2FzZSgpXG5cbiAgIFJldHVybiBhIGNvcHkgb2YgdGhlIHN0cmluZyB3aXRoIHVwcGVyY2FzZSBjaGFyYWN0ZXJzIGNvbnZlcnRlZCB0b1xuICAgbG93ZXJjYXNlIGFuZCB2aWNlIHZlcnNhLlxuXG5zdHIudGl0bGUoKVxuXG4gICBSZXR1cm4gYSB0aXRsZWNhc2VkIHZlcnNpb24gb2YgdGhlIHN0cmluZyB3aGVyZSB3b3JkcyBzdGFydCB3aXRoIGFuXG4gICB1cHBlcmNhc2UgY2hhcmFjdGVyIGFuZCB0aGUgcmVtYWluaW5nIGNoYXJhY3RlcnMgYXJlIGxvd2VyY2FzZS5cblxuICAgVGhlIGFsZ29yaXRobSB1c2VzIGEgc2ltcGxlIGxhbmd1YWdlLWluZGVwZW5kZW50IGRlZmluaXRpb24gb2YgYVxuICAgd29yZCBhcyBncm91cHMgb2YgY29uc2VjdXRpdmUgbGV0dGVycy4gIFRoZSBkZWZpbml0aW9uIHdvcmtzIGluXG4gICBtYW55IGNvbnRleHRzIGJ1dCBpdCBtZWFucyB0aGF0IGFwb3N0cm9waGVzIGluIGNvbnRyYWN0aW9ucyBhbmRcbiAgIHBvc3Nlc3NpdmVzIGZvcm0gd29yZCBib3VuZGFyaWVzLCB3aGljaCBtYXkgbm90IGJlIHRoZSBkZXNpcmVkXG4gICByZXN1bHQ6XG5cbiAgICAgID4+PiAidGhleVwncmUgYmlsbFwncyBmcmllbmRzIGZyb20gdGhlIFVLIi50aXRsZSgpXG4gICAgICAiVGhleVwnUmUgQmlsbFwnUyBGcmllbmRzIEZyb20gVGhlIFVrIlxuXG4gICBBIHdvcmthcm91bmQgZm9yIGFwb3N0cm9waGVzIGNhbiBiZSBjb25zdHJ1Y3RlZCB1c2luZyByZWd1bGFyXG4gICBleHByZXNzaW9uczpcblxuICAgICAgPj4+IGltcG9ydCByZVxuICAgICAgPj4+IGRlZiB0aXRsZWNhc2Uocyk6XG4gICAgICAgICAgICAgIHJldHVybiByZS5zdWIociJbQS1aYS16XSsoXCdbQS1aYS16XSspPyIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFtYmRhIG1vOiBtby5ncm91cCgwKVswXS51cHBlcigpICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vLmdyb3VwKDApWzE6XS5sb3dlcigpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHMpXG5cbiAgICAgID4+PiB0aXRsZWNhc2UoInRoZXlcJ3JlIGJpbGxcJ3MgZnJpZW5kcy4iKVxuICAgICAgIlRoZXlcJ3JlIEJpbGxcJ3MgRnJpZW5kcy4iXG5cbnN0ci50cmFuc2xhdGUobWFwKVxuXG4gICBSZXR1cm4gYSBjb3B5IG9mIHRoZSAqcyogd2hlcmUgYWxsIGNoYXJhY3RlcnMgaGF2ZSBiZWVuIG1hcHBlZFxuICAgdGhyb3VnaCB0aGUgKm1hcCogd2hpY2ggbXVzdCBiZSBhIGRpY3Rpb25hcnkgb2YgVW5pY29kZSBvcmRpbmFsc1xuICAgKGludGVnZXJzKSB0byBVbmljb2RlIG9yZGluYWxzLCBzdHJpbmdzIG9yIGBgTm9uZWBgLiAgVW5tYXBwZWRcbiAgIGNoYXJhY3RlcnMgYXJlIGxlZnQgdW50b3VjaGVkLiBDaGFyYWN0ZXJzIG1hcHBlZCB0byBgYE5vbmVgYCBhcmVcbiAgIGRlbGV0ZWQuXG5cbiAgIFlvdSBjYW4gdXNlIGBgc3RyLm1ha2V0cmFucygpYGAgdG8gY3JlYXRlIGEgdHJhbnNsYXRpb24gbWFwIGZyb21cbiAgIGNoYXJhY3Rlci10by1jaGFyYWN0ZXIgbWFwcGluZ3MgaW4gZGlmZmVyZW50IGZvcm1hdHMuXG5cbiAgIE5vdGU6IEFuIGV2ZW4gbW9yZSBmbGV4aWJsZSBhcHByb2FjaCBpcyB0byBjcmVhdGUgYSBjdXN0b20gY2hhcmFjdGVyXG4gICAgIG1hcHBpbmcgY29kZWMgdXNpbmcgdGhlIGBgY29kZWNzYGAgbW9kdWxlIChzZWVcbiAgICAgYGBlbmNvZGluZ3MuY3AxMjUxYGAgZm9yIGFuIGV4YW1wbGUpLlxuXG5zdHIudXBwZXIoKVxuXG4gICBSZXR1cm4gYSBjb3B5IG9mIHRoZSBzdHJpbmcgd2l0aCBhbGwgdGhlIGNhc2VkIGNoYXJhY3RlcnMgWzRdXG4gICBjb252ZXJ0ZWQgdG8gdXBwZXJjYXNlLiAgTm90ZSB0aGF0IGBgc3RyLnVwcGVyKCkuaXN1cHBlcigpYGAgbWlnaHRcbiAgIGJlIGBgRmFsc2VgYCBpZiBgYHNgYCBjb250YWlucyB1bmNhc2VkIGNoYXJhY3RlcnMgb3IgaWYgdGhlIFVuaWNvZGVcbiAgIGNhdGVnb3J5IG9mIHRoZSByZXN1bHRpbmcgY2hhcmFjdGVyKHMpIGlzIG5vdCAiTHUiIChMZXR0ZXIsXG4gICB1cHBlcmNhc2UpLCBidXQgZS5nLiAiTHQiIChMZXR0ZXIsIHRpdGxlY2FzZSkuXG5cbnN0ci56ZmlsbCh3aWR0aClcblxuICAgUmV0dXJuIHRoZSBudW1lcmljIHN0cmluZyBsZWZ0IGZpbGxlZCB3aXRoIHplcm9zIGluIGEgc3RyaW5nIG9mXG4gICBsZW5ndGggKndpZHRoKi4gIEEgc2lnbiBwcmVmaXggaXMgaGFuZGxlZCBjb3JyZWN0bHkuICBUaGUgb3JpZ2luYWxcbiAgIHN0cmluZyBpcyByZXR1cm5lZCBpZiAqd2lkdGgqIGlzIGxlc3MgdGhhbiBvciBlcXVhbCB0byBgYGxlbihzKWBgLlxuXG5cbk9sZCBTdHJpbmcgRm9ybWF0dGluZyBPcGVyYXRpb25zXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5Ob3RlOiBUaGUgZm9ybWF0dGluZyBvcGVyYXRpb25zIGRlc2NyaWJlZCBoZXJlIGFyZSBvYnNvbGV0ZSBhbmQgbWF5IGdvXG4gIGF3YXkgaW4gZnV0dXJlIHZlcnNpb25zIG9mIFB5dGhvbi4gIFVzZSB0aGUgbmV3ICpTdHJpbmcgRm9ybWF0dGluZypcbiAgaW4gbmV3IGNvZGUuXG5cblN0cmluZyBvYmplY3RzIGhhdmUgb25lIHVuaXF1ZSBidWlsdC1pbiBvcGVyYXRpb246IHRoZSBgYCVgYCBvcGVyYXRvclxuKG1vZHVsbykuIFRoaXMgaXMgYWxzbyBrbm93biBhcyB0aGUgc3RyaW5nICpmb3JtYXR0aW5nKiBvclxuKmludGVycG9sYXRpb24qIG9wZXJhdG9yLiBHaXZlbiBgYGZvcm1hdCAlIHZhbHVlc2BgICh3aGVyZSAqZm9ybWF0KiBpc1xuYSBzdHJpbmcpLCBgYCVgYCBjb252ZXJzaW9uIHNwZWNpZmljYXRpb25zIGluICpmb3JtYXQqIGFyZSByZXBsYWNlZFxud2l0aCB6ZXJvIG9yIG1vcmUgZWxlbWVudHMgb2YgKnZhbHVlcyouIFRoZSBlZmZlY3QgaXMgc2ltaWxhciB0byB0aGVcbnVzaW5nIGBgc3ByaW50ZigpYGAgaW4gdGhlIEMgbGFuZ3VhZ2UuXG5cbklmICpmb3JtYXQqIHJlcXVpcmVzIGEgc2luZ2xlIGFyZ3VtZW50LCAqdmFsdWVzKiBtYXkgYmUgYSBzaW5nbGUgbm9uLVxudHVwbGUgb2JqZWN0LiBbNV0gIE90aGVyd2lzZSwgKnZhbHVlcyogbXVzdCBiZSBhIHR1cGxlIHdpdGggZXhhY3RseVxudGhlIG51bWJlciBvZiBpdGVtcyBzcGVjaWZpZWQgYnkgdGhlIGZvcm1hdCBzdHJpbmcsIG9yIGEgc2luZ2xlXG5tYXBwaW5nIG9iamVjdCAoZm9yIGV4YW1wbGUsIGEgZGljdGlvbmFyeSkuXG5cbkEgY29udmVyc2lvbiBzcGVjaWZpZXIgY29udGFpbnMgdHdvIG9yIG1vcmUgY2hhcmFjdGVycyBhbmQgaGFzIHRoZVxuZm9sbG93aW5nIGNvbXBvbmVudHMsIHdoaWNoIG11c3Qgb2NjdXIgaW4gdGhpcyBvcmRlcjpcblxuMS4gVGhlIGBgXCclXCdgYCBjaGFyYWN0ZXIsIHdoaWNoIG1hcmtzIHRoZSBzdGFydCBvZiB0aGUgc3BlY2lmaWVyLlxuXG4yLiBNYXBwaW5nIGtleSAob3B0aW9uYWwpLCBjb25zaXN0aW5nIG9mIGEgcGFyZW50aGVzaXNlZCBzZXF1ZW5jZSBvZlxuICAgY2hhcmFjdGVycyAoZm9yIGV4YW1wbGUsIGBgKHNvbWVuYW1lKWBgKS5cblxuMy4gQ29udmVyc2lvbiBmbGFncyAob3B0aW9uYWwpLCB3aGljaCBhZmZlY3QgdGhlIHJlc3VsdCBvZiBzb21lXG4gICBjb252ZXJzaW9uIHR5cGVzLlxuXG40LiBNaW5pbXVtIGZpZWxkIHdpZHRoIChvcHRpb25hbCkuICBJZiBzcGVjaWZpZWQgYXMgYW4gYGBcJypcJ2BgXG4gICAoYXN0ZXJpc2spLCB0aGUgYWN0dWFsIHdpZHRoIGlzIHJlYWQgZnJvbSB0aGUgbmV4dCBlbGVtZW50IG9mIHRoZVxuICAgdHVwbGUgaW4gKnZhbHVlcyosIGFuZCB0aGUgb2JqZWN0IHRvIGNvbnZlcnQgY29tZXMgYWZ0ZXIgdGhlXG4gICBtaW5pbXVtIGZpZWxkIHdpZHRoIGFuZCBvcHRpb25hbCBwcmVjaXNpb24uXG5cbjUuIFByZWNpc2lvbiAob3B0aW9uYWwpLCBnaXZlbiBhcyBhIGBgXCcuXCdgYCAoZG90KSBmb2xsb3dlZCBieSB0aGVcbiAgIHByZWNpc2lvbi4gIElmIHNwZWNpZmllZCBhcyBgYFwnKlwnYGAgKGFuIGFzdGVyaXNrKSwgdGhlIGFjdHVhbFxuICAgcHJlY2lzaW9uIGlzIHJlYWQgZnJvbSB0aGUgbmV4dCBlbGVtZW50IG9mIHRoZSB0dXBsZSBpbiAqdmFsdWVzKixcbiAgIGFuZCB0aGUgdmFsdWUgdG8gY29udmVydCBjb21lcyBhZnRlciB0aGUgcHJlY2lzaW9uLlxuXG42LiBMZW5ndGggbW9kaWZpZXIgKG9wdGlvbmFsKS5cblxuNy4gQ29udmVyc2lvbiB0eXBlLlxuXG5XaGVuIHRoZSByaWdodCBhcmd1bWVudCBpcyBhIGRpY3Rpb25hcnkgKG9yIG90aGVyIG1hcHBpbmcgdHlwZSksIHRoZW5cbnRoZSBmb3JtYXRzIGluIHRoZSBzdHJpbmcgKm11c3QqIGluY2x1ZGUgYSBwYXJlbnRoZXNpc2VkIG1hcHBpbmcga2V5XG5pbnRvIHRoYXQgZGljdGlvbmFyeSBpbnNlcnRlZCBpbW1lZGlhdGVseSBhZnRlciB0aGUgYGBcJyVcJ2BgIGNoYXJhY3Rlci5cblRoZSBtYXBwaW5nIGtleSBzZWxlY3RzIHRoZSB2YWx1ZSB0byBiZSBmb3JtYXR0ZWQgZnJvbSB0aGUgbWFwcGluZy5cbkZvciBleGFtcGxlOlxuXG4+Pj4gcHJpbnQoXCclKGxhbmd1YWdlKXMgaGFzICUobnVtYmVyKTAzZCBxdW90ZSB0eXBlcy5cJyAlXG4uLi4gICAgICAge1wnbGFuZ3VhZ2VcJzogIlB5dGhvbiIsICJudW1iZXIiOiAyfSlcblB5dGhvbiBoYXMgMDAyIHF1b3RlIHR5cGVzLlxuXG5JbiB0aGlzIGNhc2Ugbm8gYGAqYGAgc3BlY2lmaWVycyBtYXkgb2NjdXIgaW4gYSBmb3JtYXQgKHNpbmNlIHRoZXlcbnJlcXVpcmUgYSBzZXF1ZW50aWFsIHBhcmFtZXRlciBsaXN0KS5cblxuVGhlIGNvbnZlcnNpb24gZmxhZyBjaGFyYWN0ZXJzIGFyZTpcblxuKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xufCBGbGFnICAgICAgfCBNZWFuaW5nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxuKz09PT09PT09PT09Kz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09K1xufCBgYFwnI1wnYGAgICB8IFRoZSB2YWx1ZSBjb252ZXJzaW9uIHdpbGwgdXNlIHRoZSAiYWx0ZXJuYXRlIGZvcm0iICh3aGVyZSBkZWZpbmVkICAgICB8XG58ICAgICAgICAgICB8IGJlbG93KS4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XG4rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXG58IGBgXCcwXCdgYCAgIHwgVGhlIGNvbnZlcnNpb24gd2lsbCBiZSB6ZXJvIHBhZGRlZCBmb3IgbnVtZXJpYyB2YWx1ZXMuICAgICAgICAgICAgICAgIHxcbistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcbnwgYGBcJy1cJ2BgICAgfCBUaGUgY29udmVydGVkIHZhbHVlIGlzIGxlZnQgYWRqdXN0ZWQgKG92ZXJyaWRlcyB0aGUgYGBcJzBcJ2BgICAgICAgICAgICB8XG58ICAgICAgICAgICB8IGNvbnZlcnNpb24gaWYgYm90aCBhcmUgZ2l2ZW4pLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XG4rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXG58IGBgXCcgXCdgYCAgIHwgKGEgc3BhY2UpIEEgYmxhbmsgc2hvdWxkIGJlIGxlZnQgYmVmb3JlIGEgcG9zaXRpdmUgbnVtYmVyIChvciBlbXB0eSAgIHxcbnwgICAgICAgICAgIHwgc3RyaW5nKSBwcm9kdWNlZCBieSBhIHNpZ25lZCBjb252ZXJzaW9uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcbnwgYGBcJytcJ2BgICAgfCBBIHNpZ24gY2hhcmFjdGVyIChgYFwnK1wnYGAgb3IgYGBcJy1cJ2BgKSB3aWxsIHByZWNlZGUgdGhlIGNvbnZlcnNpb24gICAgIHxcbnwgICAgICAgICAgIHwgKG92ZXJyaWRlcyBhICJzcGFjZSIgZmxhZykuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcblxuQSBsZW5ndGggbW9kaWZpZXIgKGBgaGBgLCBgYGxgYCwgb3IgYGBMYGApIG1heSBiZSBwcmVzZW50LCBidXQgaXNcbmlnbm9yZWQgYXMgaXQgaXMgbm90IG5lY2Vzc2FyeSBmb3IgUHl0aG9uIC0tIHNvIGUuZy4gYGAlbGRgYCBpc1xuaWRlbnRpY2FsIHRvIGBgJWRgYC5cblxuVGhlIGNvbnZlcnNpb24gdHlwZXMgYXJlOlxuXG4rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rXG58IENvbnZlcnNpb24gICB8IE1lYW5pbmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgTm90ZXMgICB8XG4rPT09PT09PT09PT09PT0rPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSs9PT09PT09PT0rXG58IGBgXCdkXCdgYCAgICAgIHwgU2lnbmVkIGludGVnZXIgZGVjaW1hbC4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHxcbistLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLStcbnwgYGBcJ2lcJ2BgICAgICAgfCBTaWduZWQgaW50ZWdlciBkZWNpbWFsLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfFxuKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tK1xufCBgYFwnb1wnYGAgICAgICB8IFNpZ25lZCBvY3RhbCB2YWx1ZS4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKDEpICAgICB8XG4rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rXG58IGBgXCd1XCdgYCAgICAgIHwgT2Jzb2xldGUgdHlwZSAtLSBpdCBpcyBpZGVudGljYWwgdG8gYGBcJ2RcJ2BgLiAgICAgICAgICB8ICg3KSAgICAgfFxuKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tK1xufCBgYFwneFwnYGAgICAgICB8IFNpZ25lZCBoZXhhZGVjaW1hbCAobG93ZXJjYXNlKS4gICAgICAgICAgICAgICAgICAgICAgIHwgKDIpICAgICB8XG4rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rXG58IGBgXCdYXCdgYCAgICAgIHwgU2lnbmVkIGhleGFkZWNpbWFsICh1cHBlcmNhc2UpLiAgICAgICAgICAgICAgICAgICAgICAgfCAoMikgICAgIHxcbistLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLStcbnwgYGBcJ2VcJ2BgICAgICAgfCBGbG9hdGluZyBwb2ludCBleHBvbmVudGlhbCBmb3JtYXQgKGxvd2VyY2FzZSkuICAgICAgICB8ICgzKSAgICAgfFxuKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tK1xufCBgYFwnRVwnYGAgICAgICB8IEZsb2F0aW5nIHBvaW50IGV4cG9uZW50aWFsIGZvcm1hdCAodXBwZXJjYXNlKS4gICAgICAgIHwgKDMpICAgICB8XG4rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rXG58IGBgXCdmXCdgYCAgICAgIHwgRmxvYXRpbmcgcG9pbnQgZGVjaW1hbCBmb3JtYXQuICAgICAgICAgICAgICAgICAgICAgICAgfCAoMykgICAgIHxcbistLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLStcbnwgYGBcJ0ZcJ2BgICAgICAgfCBGbG9hdGluZyBwb2ludCBkZWNpbWFsIGZvcm1hdC4gICAgICAgICAgICAgICAgICAgICAgICB8ICgzKSAgICAgfFxuKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tK1xufCBgYFwnZ1wnYGAgICAgICB8IEZsb2F0aW5nIHBvaW50IGZvcm1hdC4gVXNlcyBsb3dlcmNhc2UgZXhwb25lbnRpYWwgICAgIHwgKDQpICAgICB8XG58ICAgICAgICAgICAgICB8IGZvcm1hdCBpZiBleHBvbmVudCBpcyBsZXNzIHRoYW4gLTQgb3Igbm90IGxlc3MgdGhhbiAgIHwgICAgICAgICB8XG58ICAgICAgICAgICAgICB8IHByZWNpc2lvbiwgZGVjaW1hbCBmb3JtYXQgb3RoZXJ3aXNlLiAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rXG58IGBgXCdHXCdgYCAgICAgIHwgRmxvYXRpbmcgcG9pbnQgZm9ybWF0LiBVc2VzIHVwcGVyY2FzZSBleHBvbmVudGlhbCAgICAgfCAoNCkgICAgIHxcbnwgICAgICAgICAgICAgIHwgZm9ybWF0IGlmIGV4cG9uZW50IGlzIGxlc3MgdGhhbiAtNCBvciBub3QgbGVzcyB0aGFuICAgfCAgICAgICAgIHxcbnwgICAgICAgICAgICAgIHwgcHJlY2lzaW9uLCBkZWNpbWFsIGZvcm1hdCBvdGhlcndpc2UuICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHxcbistLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLStcbnwgYGBcJ2NcJ2BgICAgICAgfCBTaW5nbGUgY2hhcmFjdGVyIChhY2NlcHRzIGludGVnZXIgb3Igc2luZ2xlIGNoYXJhY3RlciB8ICAgICAgICAgfFxufCAgICAgICAgICAgICAgfCBzdHJpbmcpLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfFxuKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tK1xufCBgYFwnclwnYGAgICAgICB8IFN0cmluZyAoY29udmVydHMgYW55IFB5dGhvbiBvYmplY3QgdXNpbmcgYGByZXByKClgYCkuIHwgKDUpICAgICB8XG4rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rXG58IGBgXCdzXCdgYCAgICAgIHwgU3RyaW5nIChjb252ZXJ0cyBhbnkgUHl0aG9uIG9iamVjdCB1c2luZyBgYHN0cigpYGApLiAgfCAoNSkgICAgIHxcbistLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLStcbnwgYGBcJ2FcJ2BgICAgICAgfCBTdHJpbmcgKGNvbnZlcnRzIGFueSBQeXRob24gb2JqZWN0IHVzaW5nICAgICAgICAgICAgICB8ICg1KSAgICAgfFxufCAgICAgICAgICAgICAgfCBgYGFzY2lpKClgYCkuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfFxuKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tK1xufCBgYFwnJVwnYGAgICAgICB8IE5vIGFyZ3VtZW50IGlzIGNvbnZlcnRlZCwgcmVzdWx0cyBpbiBhIGBgXCclXCdgYCAgICAgICAgfCAgICAgICAgIHxcbnwgICAgICAgICAgICAgIHwgY2hhcmFjdGVyIGluIHRoZSByZXN1bHQuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHxcbistLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLStcblxuTm90ZXM6XG5cbjEuIFRoZSBhbHRlcm5hdGUgZm9ybSBjYXVzZXMgYSBsZWFkaW5nIHplcm8gKGBgXCcwXCdgYCkgdG8gYmUgaW5zZXJ0ZWRcbiAgIGJldHdlZW4gbGVmdC1oYW5kIHBhZGRpbmcgYW5kIHRoZSBmb3JtYXR0aW5nIG9mIHRoZSBudW1iZXIgaWYgdGhlXG4gICBsZWFkaW5nIGNoYXJhY3RlciBvZiB0aGUgcmVzdWx0IGlzIG5vdCBhbHJlYWR5IGEgemVyby5cblxuMi4gVGhlIGFsdGVybmF0ZSBmb3JtIGNhdXNlcyBhIGxlYWRpbmcgYGBcJzB4XCdgYCBvciBgYFwnMFhcJ2BgIChkZXBlbmRpbmdcbiAgIG9uIHdoZXRoZXIgdGhlIGBgXCd4XCdgYCBvciBgYFwnWFwnYGAgZm9ybWF0IHdhcyB1c2VkKSB0byBiZSBpbnNlcnRlZFxuICAgYmV0d2VlbiBsZWZ0LWhhbmQgcGFkZGluZyBhbmQgdGhlIGZvcm1hdHRpbmcgb2YgdGhlIG51bWJlciBpZiB0aGVcbiAgIGxlYWRpbmcgY2hhcmFjdGVyIG9mIHRoZSByZXN1bHQgaXMgbm90IGFscmVhZHkgYSB6ZXJvLlxuXG4zLiBUaGUgYWx0ZXJuYXRlIGZvcm0gY2F1c2VzIHRoZSByZXN1bHQgdG8gYWx3YXlzIGNvbnRhaW4gYSBkZWNpbWFsXG4gICBwb2ludCwgZXZlbiBpZiBubyBkaWdpdHMgZm9sbG93IGl0LlxuXG4gICBUaGUgcHJlY2lzaW9uIGRldGVybWluZXMgdGhlIG51bWJlciBvZiBkaWdpdHMgYWZ0ZXIgdGhlIGRlY2ltYWxcbiAgIHBvaW50IGFuZCBkZWZhdWx0cyB0byA2LlxuXG40LiBUaGUgYWx0ZXJuYXRlIGZvcm0gY2F1c2VzIHRoZSByZXN1bHQgdG8gYWx3YXlzIGNvbnRhaW4gYSBkZWNpbWFsXG4gICBwb2ludCwgYW5kIHRyYWlsaW5nIHplcm9lcyBhcmUgbm90IHJlbW92ZWQgYXMgdGhleSB3b3VsZCBvdGhlcndpc2VcbiAgIGJlLlxuXG4gICBUaGUgcHJlY2lzaW9uIGRldGVybWluZXMgdGhlIG51bWJlciBvZiBzaWduaWZpY2FudCBkaWdpdHMgYmVmb3JlXG4gICBhbmQgYWZ0ZXIgdGhlIGRlY2ltYWwgcG9pbnQgYW5kIGRlZmF1bHRzIHRvIDYuXG5cbjUuIElmIHByZWNpc2lvbiBpcyBgYE5gYCwgdGhlIG91dHB1dCBpcyB0cnVuY2F0ZWQgdG8gYGBOYGAgY2hhcmFjdGVycy5cblxuMS4gU2VlICoqUEVQIDIzNyoqLlxuXG5TaW5jZSBQeXRob24gc3RyaW5ncyBoYXZlIGFuIGV4cGxpY2l0IGxlbmd0aCwgYGAlc2BgIGNvbnZlcnNpb25zIGRvXG5ub3QgYXNzdW1lIHRoYXQgYGBcJ1xcMFwnYGAgaXMgdGhlIGVuZCBvZiB0aGUgc3RyaW5nLlxuXG5DaGFuZ2VkIGluIHZlcnNpb24gMy4xOiBgYCVmYGAgY29udmVyc2lvbnMgZm9yIG51bWJlcnMgd2hvc2UgYWJzb2x1dGVcbnZhbHVlIGlzIG92ZXIgMWU1MCBhcmUgbm8gbG9uZ2VyIHJlcGxhY2VkIGJ5IGBgJWdgYCBjb252ZXJzaW9ucy5cblxuQWRkaXRpb25hbCBzdHJpbmcgb3BlcmF0aW9ucyBhcmUgZGVmaW5lZCBpbiBzdGFuZGFyZCBtb2R1bGVzXG5gYHN0cmluZ2BgIGFuZCBgYHJlYGAuXG5cblxuUmFuZ2UgVHlwZVxuPT09PT09PT09PVxuXG5UaGUgYGByYW5nZWBgIHR5cGUgaXMgYW4gaW1tdXRhYmxlIHNlcXVlbmNlIHdoaWNoIGlzIGNvbW1vbmx5IHVzZWQgZm9yXG5sb29waW5nLiAgVGhlIGFkdmFudGFnZSBvZiB0aGUgYGByYW5nZWBgIHR5cGUgaXMgdGhhdCBhbiBgYHJhbmdlYGBcbm9iamVjdCB3aWxsIGFsd2F5cyB0YWtlIHRoZSBzYW1lIGFtb3VudCBvZiBtZW1vcnksIG5vIG1hdHRlciB0aGUgc2l6ZVxub2YgdGhlIHJhbmdlIGl0IHJlcHJlc2VudHMuXG5cblJhbmdlIG9iamVjdHMgaGF2ZSByZWxhdGl2ZWx5IGxpdHRsZSBiZWhhdmlvcjogdGhleSBzdXBwb3J0IGluZGV4aW5nLFxuY29udGFpbnMsIGl0ZXJhdGlvbiwgdGhlIGBgbGVuKClgYCBmdW5jdGlvbiwgYW5kIHRoZSBmb2xsb3dpbmdcbm1ldGhvZHM6XG5cbnJhbmdlLmNvdW50KHgpXG5cbiAgIFJldHVybiB0aGUgbnVtYmVyIG9mICppKlwncyBmb3Igd2hpY2ggYGBzW2ldID09IHhgYC5cblxuICAgICAgTmV3IGluIHZlcnNpb24gMy4yLlxuXG5yYW5nZS5pbmRleCh4KVxuXG4gICBSZXR1cm4gdGhlIHNtYWxsZXN0ICppKiBzdWNoIHRoYXQgYGBzW2ldID09IHhgYC4gIFJhaXNlc1xuICAgYGBWYWx1ZUVycm9yYGAgd2hlbiAqeCogaXMgbm90IGluIHRoZSByYW5nZS5cblxuICAgICAgTmV3IGluIHZlcnNpb24gMy4yLlxuXG5cbk11dGFibGUgU2VxdWVuY2UgVHlwZXNcbj09PT09PT09PT09PT09PT09PT09PT1cblxuTGlzdCBhbmQgYnl0ZWFycmF5IG9iamVjdHMgc3VwcG9ydCBhZGRpdGlvbmFsIG9wZXJhdGlvbnMgdGhhdCBhbGxvd1xuaW4tcGxhY2UgbW9kaWZpY2F0aW9uIG9mIHRoZSBvYmplY3QuICBPdGhlciBtdXRhYmxlIHNlcXVlbmNlIHR5cGVzXG4od2hlbiBhZGRlZCB0byB0aGUgbGFuZ3VhZ2UpIHNob3VsZCBhbHNvIHN1cHBvcnQgdGhlc2Ugb3BlcmF0aW9ucy5cblN0cmluZ3MgYW5kIHR1cGxlcyBhcmUgaW1tdXRhYmxlIHNlcXVlbmNlIHR5cGVzOiBzdWNoIG9iamVjdHMgY2Fubm90XG5iZSBtb2RpZmllZCBvbmNlIGNyZWF0ZWQuIFRoZSBmb2xsb3dpbmcgb3BlcmF0aW9ucyBhcmUgZGVmaW5lZCBvblxubXV0YWJsZSBzZXF1ZW5jZSB0eXBlcyAod2hlcmUgKngqIGlzIGFuIGFyYml0cmFyeSBvYmplY3QpLlxuXG5Ob3RlIHRoYXQgd2hpbGUgbGlzdHMgYWxsb3cgdGhlaXIgaXRlbXMgdG8gYmUgb2YgYW55IHR5cGUsIGJ5dGVhcnJheVxub2JqZWN0ICJpdGVtcyIgYXJlIGFsbCBpbnRlZ2VycyBpbiB0aGUgcmFuZ2UgMCA8PSB4IDwgMjU2LlxuXG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcbnwgT3BlcmF0aW9uICAgICAgICAgICAgICAgICAgICAgIHwgUmVzdWx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBOb3RlcyAgICAgICAgICAgICAgICAgfFxuKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Kz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0rPT09PT09PT09PT09PT09PT09PT09PT0rXG58IGBgc1tpXSA9IHhgYCAgICAgICAgICAgICAgICAgICB8IGl0ZW0gKmkqIG9mICpzKiBpcyByZXBsYWNlZCBieSAgIHwgICAgICAgICAgICAgICAgICAgICAgIHxcbnwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKngqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgfFxuKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXG58IGBgc1tpOmpdID0gdGBgICAgICAgICAgICAgICAgICB8IHNsaWNlIG9mICpzKiBmcm9tICppKiB0byAqaiogaXMgIHwgICAgICAgICAgICAgICAgICAgICAgIHxcbnwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgcmVwbGFjZWQgYnkgdGhlIGNvbnRlbnRzIG9mIHRoZSAgfCAgICAgICAgICAgICAgICAgICAgICAgfFxufCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBpdGVyYWJsZSAqdCogICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcbnwgYGBkZWwgc1tpOmpdYGAgICAgICAgICAgICAgICAgIHwgc2FtZSBhcyBgYHNbaTpqXSA9IFtdYGAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgfFxuKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXG58IGBgc1tpOmo6a10gPSB0YGAgICAgICAgICAgICAgICB8IHRoZSBlbGVtZW50cyBvZiBgYHNbaTpqOmtdYGAgYXJlIHwgKDEpICAgICAgICAgICAgICAgICAgIHxcbnwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgcmVwbGFjZWQgYnkgdGhvc2Ugb2YgKnQqICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgfFxuKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXG58IGBgZGVsIHNbaTpqOmtdYGAgICAgICAgICAgICAgICB8IHJlbW92ZXMgdGhlIGVsZW1lbnRzIG9mICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgIHxcbnwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYGBzW2k6ajprXWBgIGZyb20gdGhlIGxpc3QgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgfFxuKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXG58IGBgcy5hcHBlbmQoeClgYCAgICAgICAgICAgICAgICB8IHNhbWUgYXMgYGBzW2xlbihzKTpsZW4ocyldID0gICAgIHwgICAgICAgICAgICAgICAgICAgICAgIHxcbnwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgW3hdYGAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgfFxuKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXG58IGBgcy5leHRlbmQoeClgYCAgICAgICAgICAgICAgICB8IHNhbWUgYXMgYGBzW2xlbihzKTpsZW4ocyldID0geGBgIHwgKDIpICAgICAgICAgICAgICAgICAgIHxcbistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xufCBgYHMuY291bnQoeClgYCAgICAgICAgICAgICAgICAgfCByZXR1cm4gbnVtYmVyIG9mICppKlwncyBmb3Igd2hpY2ggfCAgICAgICAgICAgICAgICAgICAgICAgfFxufCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBgYHNbaV0gPT0geGBgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcbnwgYGBzLmluZGV4KHhbLCBpWywgal1dKWBgICAgICAgIHwgcmV0dXJuIHNtYWxsZXN0ICprKiBzdWNoIHRoYXQgICAgfCAoMykgICAgICAgICAgICAgICAgICAgfFxufCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBgYHNba10gPT0geGBgIGFuZCBgYGkgPD0gayA8IGpgYCB8ICAgICAgICAgICAgICAgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcbnwgYGBzLmluc2VydChpLCB4KWBgICAgICAgICAgICAgIHwgc2FtZSBhcyBgYHNbaTppXSA9IFt4XWBgICAgICAgICAgfCAoNCkgICAgICAgICAgICAgICAgICAgfFxuKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXG58IGBgcy5wb3AoW2ldKWBgICAgICAgICAgICAgICAgICB8IHNhbWUgYXMgYGB4ID0gc1tpXTsgZGVsIHNbaV07ICAgIHwgKDUpICAgICAgICAgICAgICAgICAgIHxcbnwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgcmV0dXJuIHhgYCAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgfFxuKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXG58IGBgcy5yZW1vdmUoeClgYCAgICAgICAgICAgICAgICB8IHNhbWUgYXMgYGBkZWwgc1tzLmluZGV4KHgpXWBgICAgIHwgKDMpICAgICAgICAgICAgICAgICAgIHxcbistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xufCBgYHMucmV2ZXJzZSgpYGAgICAgICAgICAgICAgICAgfCByZXZlcnNlcyB0aGUgaXRlbXMgb2YgKnMqIGluICAgICB8ICg2KSAgICAgICAgICAgICAgICAgICB8XG58ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IHBsYWNlICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgIHxcbistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xufCBgYHMuc29ydChba2V5WywgcmV2ZXJzZV1dKWBgICAgfCBzb3J0IHRoZSBpdGVtcyBvZiAqcyogaW4gcGxhY2UgICB8ICg2KSwgKDcpLCAoOCkgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcblxuTm90ZXM6XG5cbjEuICp0KiBtdXN0IGhhdmUgdGhlIHNhbWUgbGVuZ3RoIGFzIHRoZSBzbGljZSBpdCBpcyByZXBsYWNpbmcuXG5cbjIuICp4KiBjYW4gYmUgYW55IGl0ZXJhYmxlIG9iamVjdC5cblxuMy4gUmFpc2VzIGBgVmFsdWVFcnJvcmBgIHdoZW4gKngqIGlzIG5vdCBmb3VuZCBpbiAqcyouIFdoZW4gYSBuZWdhdGl2ZVxuICAgaW5kZXggaXMgcGFzc2VkIGFzIHRoZSBzZWNvbmQgb3IgdGhpcmQgcGFyYW1ldGVyIHRvIHRoZSBgYGluZGV4KClgYFxuICAgbWV0aG9kLCB0aGUgc2VxdWVuY2UgbGVuZ3RoIGlzIGFkZGVkLCBhcyBmb3Igc2xpY2UgaW5kaWNlcy4gIElmIGl0XG4gICBpcyBzdGlsbCBuZWdhdGl2ZSwgaXQgaXMgdHJ1bmNhdGVkIHRvIHplcm8sIGFzIGZvciBzbGljZSBpbmRpY2VzLlxuXG40LiBXaGVuIGEgbmVnYXRpdmUgaW5kZXggaXMgcGFzc2VkIGFzIHRoZSBmaXJzdCBwYXJhbWV0ZXIgdG8gdGhlXG4gICBgYGluc2VydCgpYGAgbWV0aG9kLCB0aGUgc2VxdWVuY2UgbGVuZ3RoIGlzIGFkZGVkLCBhcyBmb3Igc2xpY2VcbiAgIGluZGljZXMuICBJZiBpdCBpcyBzdGlsbCBuZWdhdGl2ZSwgaXQgaXMgdHJ1bmNhdGVkIHRvIHplcm8sIGFzIGZvclxuICAgc2xpY2UgaW5kaWNlcy5cblxuNS4gVGhlIG9wdGlvbmFsIGFyZ3VtZW50ICppKiBkZWZhdWx0cyB0byBgYC0xYGAsIHNvIHRoYXQgYnkgZGVmYXVsdFxuICAgdGhlIGxhc3QgaXRlbSBpcyByZW1vdmVkIGFuZCByZXR1cm5lZC5cblxuNi4gVGhlIGBgc29ydCgpYGAgYW5kIGBgcmV2ZXJzZSgpYGAgbWV0aG9kcyBtb2RpZnkgdGhlIHNlcXVlbmNlIGluXG4gICBwbGFjZSBmb3IgZWNvbm9teSBvZiBzcGFjZSB3aGVuIHNvcnRpbmcgb3IgcmV2ZXJzaW5nIGEgbGFyZ2VcbiAgIHNlcXVlbmNlLiAgVG8gcmVtaW5kIHlvdSB0aGF0IHRoZXkgb3BlcmF0ZSBieSBzaWRlIGVmZmVjdCwgdGhleVxuICAgZG9uXCd0IHJldHVybiB0aGUgc29ydGVkIG9yIHJldmVyc2VkIHNlcXVlbmNlLlxuXG43LiBUaGUgYGBzb3J0KClgYCBtZXRob2QgdGFrZXMgb3B0aW9uYWwgYXJndW1lbnRzIGZvciBjb250cm9sbGluZyB0aGVcbiAgIGNvbXBhcmlzb25zLiAgRWFjaCBtdXN0IGJlIHNwZWNpZmllZCBhcyBhIGtleXdvcmQgYXJndW1lbnQuXG5cbiAgICprZXkqIHNwZWNpZmllcyBhIGZ1bmN0aW9uIG9mIG9uZSBhcmd1bWVudCB0aGF0IGlzIHVzZWQgdG8gZXh0cmFjdFxuICAgYSBjb21wYXJpc29uIGtleSBmcm9tIGVhY2ggbGlzdCBlbGVtZW50OiBgYGtleT1zdHIubG93ZXJgYC4gIFRoZVxuICAgZGVmYXVsdCB2YWx1ZSBpcyBgYE5vbmVgYC4gVXNlIGBgZnVuY3Rvb2xzLmNtcF90b19rZXkoKWBgIHRvXG4gICBjb252ZXJ0IGFuIG9sZC1zdHlsZSAqY21wKiBmdW5jdGlvbiB0byBhICprZXkqIGZ1bmN0aW9uLlxuXG4gICAqcmV2ZXJzZSogaXMgYSBib29sZWFuIHZhbHVlLiAgSWYgc2V0IHRvIGBgVHJ1ZWBgLCB0aGVuIHRoZSBsaXN0XG4gICBlbGVtZW50cyBhcmUgc29ydGVkIGFzIGlmIGVhY2ggY29tcGFyaXNvbiB3ZXJlIHJldmVyc2VkLlxuXG4gICBUaGUgYGBzb3J0KClgYCBtZXRob2QgaXMgZ3VhcmFudGVlZCB0byBiZSBzdGFibGUuICBBIHNvcnQgaXMgc3RhYmxlXG4gICBpZiBpdCBndWFyYW50ZWVzIG5vdCB0byBjaGFuZ2UgdGhlIHJlbGF0aXZlIG9yZGVyIG9mIGVsZW1lbnRzIHRoYXRcbiAgIGNvbXBhcmUgZXF1YWwgLS0tIHRoaXMgaXMgaGVscGZ1bCBmb3Igc29ydGluZyBpbiBtdWx0aXBsZSBwYXNzZXNcbiAgIChmb3IgZXhhbXBsZSwgc29ydCBieSBkZXBhcnRtZW50LCB0aGVuIGJ5IHNhbGFyeSBncmFkZSkuXG5cbiAgICoqQ1B5dGhvbiBpbXBsZW1lbnRhdGlvbiBkZXRhaWw6KiogV2hpbGUgYSBsaXN0IGlzIGJlaW5nIHNvcnRlZCxcbiAgIHRoZSBlZmZlY3Qgb2YgYXR0ZW1wdGluZyB0byBtdXRhdGUsIG9yIGV2ZW4gaW5zcGVjdCwgdGhlIGxpc3QgaXNcbiAgIHVuZGVmaW5lZC4gIFRoZSBDIGltcGxlbWVudGF0aW9uIG9mIFB5dGhvbiBtYWtlcyB0aGUgbGlzdCBhcHBlYXJcbiAgIGVtcHR5IGZvciB0aGUgZHVyYXRpb24sIGFuZCByYWlzZXMgYGBWYWx1ZUVycm9yYGAgaWYgaXQgY2FuIGRldGVjdFxuICAgdGhhdCB0aGUgbGlzdCBoYXMgYmVlbiBtdXRhdGVkIGR1cmluZyBhIHNvcnQuXG5cbjguIGBgc29ydCgpYGAgaXMgbm90IHN1cHBvcnRlZCBieSBgYGJ5dGVhcnJheWBgIG9iamVjdHMuXG5cblxuQnl0ZXMgYW5kIEJ5dGUgQXJyYXkgTWV0aG9kc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5CeXRlcyBhbmQgYnl0ZWFycmF5IG9iamVjdHMsIGJlaW5nICJzdHJpbmdzIG9mIGJ5dGVzIiwgaGF2ZSBhbGxcbm1ldGhvZHMgZm91bmQgb24gc3RyaW5ncywgd2l0aCB0aGUgZXhjZXB0aW9uIG9mIGBgZW5jb2RlKClgYCxcbmBgZm9ybWF0KClgYCBhbmQgYGBpc2lkZW50aWZpZXIoKWBgLCB3aGljaCBkbyBub3QgbWFrZSBzZW5zZSB3aXRoXG50aGVzZSB0eXBlcy4gIEZvciBjb252ZXJ0aW5nIHRoZSBvYmplY3RzIHRvIHN0cmluZ3MsIHRoZXkgaGF2ZSBhXG5gYGRlY29kZSgpYGAgbWV0aG9kLlxuXG5XaGVyZXZlciBvbmUgb2YgdGhlc2UgbWV0aG9kcyBuZWVkcyB0byBpbnRlcnByZXQgdGhlIGJ5dGVzIGFzXG5jaGFyYWN0ZXJzIChlLmcuIHRoZSBgYGlzLi4uKClgYCBtZXRob2RzKSwgdGhlIEFTQ0lJIGNoYXJhY3RlciBzZXQgaXNcbmFzc3VtZWQuXG5cbk5vdGU6IFRoZSBtZXRob2RzIG9uIGJ5dGVzIGFuZCBieXRlYXJyYXkgb2JqZWN0cyBkb25cJ3QgYWNjZXB0IHN0cmluZ3MgYXNcbiAgdGhlaXIgYXJndW1lbnRzLCBqdXN0IGFzIHRoZSBtZXRob2RzIG9uIHN0cmluZ3MgZG9uXCd0IGFjY2VwdCBieXRlc1xuICBhcyB0aGVpciBhcmd1bWVudHMuICBGb3IgZXhhbXBsZSwgeW91IGhhdmUgdG8gd3JpdGVcblxuICAgICBhID0gImFiYyJcbiAgICAgYiA9IGEucmVwbGFjZSgiYSIsICJmIilcblxuICBhbmRcblxuICAgICBhID0gYiJhYmMiXG4gICAgIGIgPSBhLnJlcGxhY2UoYiJhIiwgYiJmIilcblxuYnl0ZXMuZGVjb2RlKGVuY29kaW5nPSJ1dGYtOCIsIGVycm9ycz0ic3RyaWN0IilcbmJ5dGVhcnJheS5kZWNvZGUoZW5jb2Rpbmc9InV0Zi04IiwgZXJyb3JzPSJzdHJpY3QiKVxuXG4gICBSZXR1cm4gYSBzdHJpbmcgZGVjb2RlZCBmcm9tIHRoZSBnaXZlbiBieXRlcy4gIERlZmF1bHQgZW5jb2RpbmcgaXNcbiAgIGBgXCd1dGYtOFwnYGAuICplcnJvcnMqIG1heSBiZSBnaXZlbiB0byBzZXQgYSBkaWZmZXJlbnQgZXJyb3JcbiAgIGhhbmRsaW5nIHNjaGVtZS4gIFRoZSBkZWZhdWx0IGZvciAqZXJyb3JzKiBpcyBgYFwnc3RyaWN0XCdgYCwgbWVhbmluZ1xuICAgdGhhdCBlbmNvZGluZyBlcnJvcnMgcmFpc2UgYSBgYFVuaWNvZGVFcnJvcmBgLiAgT3RoZXIgcG9zc2libGVcbiAgIHZhbHVlcyBhcmUgYGBcJ2lnbm9yZVwnYGAsIGBgXCdyZXBsYWNlXCdgYCBhbmQgYW55IG90aGVyIG5hbWVcbiAgIHJlZ2lzdGVyZWQgdmlhIGBgY29kZWNzLnJlZ2lzdGVyX2Vycm9yKClgYCwgc2VlIHNlY3Rpb24gKkNvZGVjIEJhc2VcbiAgIENsYXNzZXMqLiBGb3IgYSBsaXN0IG9mIHBvc3NpYmxlIGVuY29kaW5ncywgc2VlIHNlY3Rpb24gKlN0YW5kYXJkXG4gICBFbmNvZGluZ3MqLlxuXG4gICBDaGFuZ2VkIGluIHZlcnNpb24gMy4xOiBBZGRlZCBzdXBwb3J0IGZvciBrZXl3b3JkIGFyZ3VtZW50cy5cblxuVGhlIGJ5dGVzIGFuZCBieXRlYXJyYXkgdHlwZXMgaGF2ZSBhbiBhZGRpdGlvbmFsIGNsYXNzIG1ldGhvZDpcblxuY2xhc3NtZXRob2QgYnl0ZXMuZnJvbWhleChzdHJpbmcpXG5jbGFzc21ldGhvZCBieXRlYXJyYXkuZnJvbWhleChzdHJpbmcpXG5cbiAgIFRoaXMgYGBieXRlc2BgIGNsYXNzIG1ldGhvZCByZXR1cm5zIGEgYnl0ZXMgb3IgYnl0ZWFycmF5IG9iamVjdCxcbiAgIGRlY29kaW5nIHRoZSBnaXZlbiBzdHJpbmcgb2JqZWN0LiAgVGhlIHN0cmluZyBtdXN0IGNvbnRhaW4gdHdvXG4gICBoZXhhZGVjaW1hbCBkaWdpdHMgcGVyIGJ5dGUsIHNwYWNlcyBhcmUgaWdub3JlZC5cblxuICAgPj4+IGJ5dGVzLmZyb21oZXgoXCdmMCBmMWYyICBcJylcbiAgIGJcJ1xceGYwXFx4ZjFcXHhmMlwnXG5cblRoZSBtYWtldHJhbnMgYW5kIHRyYW5zbGF0ZSBtZXRob2RzIGRpZmZlciBpbiBzZW1hbnRpY3MgZnJvbSB0aGVcbnZlcnNpb25zIGF2YWlsYWJsZSBvbiBzdHJpbmdzOlxuXG5ieXRlcy50cmFuc2xhdGUodGFibGVbLCBkZWxldGVdKVxuYnl0ZWFycmF5LnRyYW5zbGF0ZSh0YWJsZVssIGRlbGV0ZV0pXG5cbiAgIFJldHVybiBhIGNvcHkgb2YgdGhlIGJ5dGVzIG9yIGJ5dGVhcnJheSBvYmplY3Qgd2hlcmUgYWxsIGJ5dGVzXG4gICBvY2N1cnJpbmcgaW4gdGhlIG9wdGlvbmFsIGFyZ3VtZW50ICpkZWxldGUqIGFyZSByZW1vdmVkLCBhbmQgdGhlXG4gICByZW1haW5pbmcgYnl0ZXMgaGF2ZSBiZWVuIG1hcHBlZCB0aHJvdWdoIHRoZSBnaXZlbiB0cmFuc2xhdGlvblxuICAgdGFibGUsIHdoaWNoIG11c3QgYmUgYSBieXRlcyBvYmplY3Qgb2YgbGVuZ3RoIDI1Ni5cblxuICAgWW91IGNhbiB1c2UgdGhlIGBgYnl0ZXMubWFrZXRyYW5zKClgYCBtZXRob2QgdG8gY3JlYXRlIGFcbiAgIHRyYW5zbGF0aW9uIHRhYmxlLlxuXG4gICBTZXQgdGhlICp0YWJsZSogYXJndW1lbnQgdG8gYGBOb25lYGAgZm9yIHRyYW5zbGF0aW9ucyB0aGF0IG9ubHlcbiAgIGRlbGV0ZSBjaGFyYWN0ZXJzOlxuXG4gICAgICA+Pj4gYlwncmVhZCB0aGlzIHNob3J0IHRleHRcJy50cmFuc2xhdGUoTm9uZSwgYlwnYWVpb3VcJylcbiAgICAgIGJcJ3JkIHRocyBzaHJ0IHR4dFwnXG5cbnN0YXRpYyBieXRlcy5tYWtldHJhbnMoZnJvbSwgdG8pXG5zdGF0aWMgYnl0ZWFycmF5Lm1ha2V0cmFucyhmcm9tLCB0bylcblxuICAgVGhpcyBzdGF0aWMgbWV0aG9kIHJldHVybnMgYSB0cmFuc2xhdGlvbiB0YWJsZSB1c2FibGUgZm9yXG4gICBgYGJ5dGVzLnRyYW5zbGF0ZSgpYGAgdGhhdCB3aWxsIG1hcCBlYWNoIGNoYXJhY3RlciBpbiAqZnJvbSogaW50b1xuICAgdGhlIGNoYXJhY3RlciBhdCB0aGUgc2FtZSBwb3NpdGlvbiBpbiAqdG8qOyAqZnJvbSogYW5kICp0byogbXVzdCBiZVxuICAgYnl0ZXMgb2JqZWN0cyBhbmQgaGF2ZSB0aGUgc2FtZSBsZW5ndGguXG5cbiAgIE5ldyBpbiB2ZXJzaW9uIDMuMS5cbicsCi0gJ3R5cGVzc2VxLW11dGFibGUnOiAnXG5NdXRhYmxlIFNlcXVlbmNlIFR5cGVzXG4qKioqKioqKioqKioqKioqKioqKioqXG5cbkxpc3QgYW5kIGJ5dGVhcnJheSBvYmplY3RzIHN1cHBvcnQgYWRkaXRpb25hbCBvcGVyYXRpb25zIHRoYXQgYWxsb3dcbmluLXBsYWNlIG1vZGlmaWNhdGlvbiBvZiB0aGUgb2JqZWN0LiAgT3RoZXIgbXV0YWJsZSBzZXF1ZW5jZSB0eXBlc1xuKHdoZW4gYWRkZWQgdG8gdGhlIGxhbmd1YWdlKSBzaG91bGQgYWxzbyBzdXBwb3J0IHRoZXNlIG9wZXJhdGlvbnMuXG5TdHJpbmdzIGFuZCB0dXBsZXMgYXJlIGltbXV0YWJsZSBzZXF1ZW5jZSB0eXBlczogc3VjaCBvYmplY3RzIGNhbm5vdFxuYmUgbW9kaWZpZWQgb25jZSBjcmVhdGVkLiBUaGUgZm9sbG93aW5nIG9wZXJhdGlvbnMgYXJlIGRlZmluZWQgb25cbm11dGFibGUgc2VxdWVuY2UgdHlwZXMgKHdoZXJlICp4KiBpcyBhbiBhcmJpdHJhcnkgb2JqZWN0KS5cblxuTm90ZSB0aGF0IHdoaWxlIGxpc3RzIGFsbG93IHRoZWlyIGl0ZW1zIHRvIGJlIG9mIGFueSB0eXBlLCBieXRlYXJyYXlcbm9iamVjdCAiaXRlbXMiIGFyZSBhbGwgaW50ZWdlcnMgaW4gdGhlIHJhbmdlIDAgPD0geCA8IDI1Ni5cblxuKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXG58IE9wZXJhdGlvbiAgICAgICAgICAgICAgICAgICAgICB8IFJlc3VsdCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgTm90ZXMgICAgICAgICAgICAgICAgIHxcbis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Kz09PT09PT09PT09PT09PT09PT09PT09K1xufCBgYHNbaV0gPSB4YGAgICAgICAgICAgICAgICAgICAgfCBpdGVtICppKiBvZiAqcyogaXMgcmVwbGFjZWQgYnkgICB8ICAgICAgICAgICAgICAgICAgICAgICB8XG58ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICp4KiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgIHxcbistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xufCBgYHNbaTpqXSA9IHRgYCAgICAgICAgICAgICAgICAgfCBzbGljZSBvZiAqcyogZnJvbSAqaSogdG8gKmoqIGlzICB8ICAgICAgICAgICAgICAgICAgICAgICB8XG58ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IHJlcGxhY2VkIGJ5IHRoZSBjb250ZW50cyBvZiB0aGUgIHwgICAgICAgICAgICAgICAgICAgICAgIHxcbnwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgaXRlcmFibGUgKnQqICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgfFxuKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXG58IGBgZGVsIHNbaTpqXWBgICAgICAgICAgICAgICAgICB8IHNhbWUgYXMgYGBzW2k6al0gPSBbXWBgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgIHxcbistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xufCBgYHNbaTpqOmtdID0gdGBgICAgICAgICAgICAgICAgfCB0aGUgZWxlbWVudHMgb2YgYGBzW2k6ajprXWBgIGFyZSB8ICgxKSAgICAgICAgICAgICAgICAgICB8XG58ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IHJlcGxhY2VkIGJ5IHRob3NlIG9mICp0KiAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgIHxcbistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xufCBgYGRlbCBzW2k6ajprXWBgICAgICAgICAgICAgICAgfCByZW1vdmVzIHRoZSBlbGVtZW50cyBvZiAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICB8XG58ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGBgc1tpOmo6a11gYCBmcm9tIHRoZSBsaXN0ICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgIHxcbistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xufCBgYHMuYXBwZW5kKHgpYGAgICAgICAgICAgICAgICAgfCBzYW1lIGFzIGBgc1tsZW4ocyk6bGVuKHMpXSA9ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICB8XG58ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFt4XWBgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgIHxcbistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xufCBgYHMuZXh0ZW5kKHgpYGAgICAgICAgICAgICAgICAgfCBzYW1lIGFzIGBgc1tsZW4ocyk6bGVuKHMpXSA9IHhgYCB8ICgyKSAgICAgICAgICAgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcbnwgYGBzLmNvdW50KHgpYGAgICAgICAgICAgICAgICAgIHwgcmV0dXJuIG51bWJlciBvZiAqaSpcJ3MgZm9yIHdoaWNoIHwgICAgICAgICAgICAgICAgICAgICAgIHxcbnwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYGBzW2ldID09IHhgYCAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgfFxuKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXG58IGBgcy5pbmRleCh4WywgaVssIGpdXSlgYCAgICAgICB8IHJldHVybiBzbWFsbGVzdCAqayogc3VjaCB0aGF0ICAgIHwgKDMpICAgICAgICAgICAgICAgICAgIHxcbnwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYGBzW2tdID09IHhgYCBhbmQgYGBpIDw9IGsgPCBqYGAgfCAgICAgICAgICAgICAgICAgICAgICAgfFxuKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXG58IGBgcy5pbnNlcnQoaSwgeClgYCAgICAgICAgICAgICB8IHNhbWUgYXMgYGBzW2k6aV0gPSBbeF1gYCAgICAgICAgIHwgKDQpICAgICAgICAgICAgICAgICAgIHxcbistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xufCBgYHMucG9wKFtpXSlgYCAgICAgICAgICAgICAgICAgfCBzYW1lIGFzIGBgeCA9IHNbaV07IGRlbCBzW2ldOyAgICB8ICg1KSAgICAgICAgICAgICAgICAgICB8XG58ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IHJldHVybiB4YGAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgIHxcbistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xufCBgYHMucmVtb3ZlKHgpYGAgICAgICAgICAgICAgICAgfCBzYW1lIGFzIGBgZGVsIHNbcy5pbmRleCh4KV1gYCAgICB8ICgzKSAgICAgICAgICAgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcbnwgYGBzLnJldmVyc2UoKWBgICAgICAgICAgICAgICAgIHwgcmV2ZXJzZXMgdGhlIGl0ZW1zIG9mICpzKiBpbiAgICAgfCAoNikgICAgICAgICAgICAgICAgICAgfFxufCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBwbGFjZSAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcbnwgYGBzLnNvcnQoW2tleVssIHJldmVyc2VdXSlgYCAgIHwgc29ydCB0aGUgaXRlbXMgb2YgKnMqIGluIHBsYWNlICAgfCAoNiksICg3KSwgKDgpICAgICAgICAgfFxuKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXG5cbk5vdGVzOlxuXG4xLiAqdCogbXVzdCBoYXZlIHRoZSBzYW1lIGxlbmd0aCBhcyB0aGUgc2xpY2UgaXQgaXMgcmVwbGFjaW5nLlxuXG4yLiAqeCogY2FuIGJlIGFueSBpdGVyYWJsZSBvYmplY3QuXG5cbjMuIFJhaXNlcyBgYFZhbHVlRXJyb3JgYCB3aGVuICp4KiBpcyBub3QgZm91bmQgaW4gKnMqLiBXaGVuIGEgbmVnYXRpdmVcbiAgIGluZGV4IGlzIHBhc3NlZCBhcyB0aGUgc2Vjb25kIG9yIHRoaXJkIHBhcmFtZXRlciB0byB0aGUgYGBpbmRleCgpYGBcbiAgIG1ldGhvZCwgdGhlIHNlcXVlbmNlIGxlbmd0aCBpcyBhZGRlZCwgYXMgZm9yIHNsaWNlIGluZGljZXMuICBJZiBpdFxuICAgaXMgc3RpbGwgbmVnYXRpdmUsIGl0IGlzIHRydW5jYXRlZCB0byB6ZXJvLCBhcyBmb3Igc2xpY2UgaW5kaWNlcy5cblxuNC4gV2hlbiBhIG5lZ2F0aXZlIGluZGV4IGlzIHBhc3NlZCBhcyB0aGUgZmlyc3QgcGFyYW1ldGVyIHRvIHRoZVxuICAgYGBpbnNlcnQoKWBgIG1ldGhvZCwgdGhlIHNlcXVlbmNlIGxlbmd0aCBpcyBhZGRlZCwgYXMgZm9yIHNsaWNlXG4gICBpbmRpY2VzLiAgSWYgaXQgaXMgc3RpbGwgbmVnYXRpdmUsIGl0IGlzIHRydW5jYXRlZCB0byB6ZXJvLCBhcyBmb3JcbiAgIHNsaWNlIGluZGljZXMuXG5cbjUuIFRoZSBvcHRpb25hbCBhcmd1bWVudCAqaSogZGVmYXVsdHMgdG8gYGAtMWBgLCBzbyB0aGF0IGJ5IGRlZmF1bHRcbiAgIHRoZSBsYXN0IGl0ZW0gaXMgcmVtb3ZlZCBhbmQgcmV0dXJuZWQuXG5cbjYuIFRoZSBgYHNvcnQoKWBgIGFuZCBgYHJldmVyc2UoKWBgIG1ldGhvZHMgbW9kaWZ5IHRoZSBzZXF1ZW5jZSBpblxuICAgcGxhY2UgZm9yIGVjb25vbXkgb2Ygc3BhY2Ugd2hlbiBzb3J0aW5nIG9yIHJldmVyc2luZyBhIGxhcmdlXG4gICBzZXF1ZW5jZS4gIFRvIHJlbWluZCB5b3UgdGhhdCB0aGV5IG9wZXJhdGUgYnkgc2lkZSBlZmZlY3QsIHRoZXlcbiAgIGRvblwndCByZXR1cm4gdGhlIHNvcnRlZCBvciByZXZlcnNlZCBzZXF1ZW5jZS5cblxuNy4gVGhlIGBgc29ydCgpYGAgbWV0aG9kIHRha2VzIG9wdGlvbmFsIGFyZ3VtZW50cyBmb3IgY29udHJvbGxpbmcgdGhlXG4gICBjb21wYXJpc29ucy4gIEVhY2ggbXVzdCBiZSBzcGVjaWZpZWQgYXMgYSBrZXl3b3JkIGFyZ3VtZW50LlxuXG4gICAqa2V5KiBzcGVjaWZpZXMgYSBmdW5jdGlvbiBvZiBvbmUgYXJndW1lbnQgdGhhdCBpcyB1c2VkIHRvIGV4dHJhY3RcbiAgIGEgY29tcGFyaXNvbiBrZXkgZnJvbSBlYWNoIGxpc3QgZWxlbWVudDogYGBrZXk9c3RyLmxvd2VyYGAuICBUaGVcbiAgIGRlZmF1bHQgdmFsdWUgaXMgYGBOb25lYGAuIFVzZSBgYGZ1bmN0b29scy5jbXBfdG9fa2V5KClgYCB0b1xuICAgY29udmVydCBhbiBvbGQtc3R5bGUgKmNtcCogZnVuY3Rpb24gdG8gYSAqa2V5KiBmdW5jdGlvbi5cblxuICAgKnJldmVyc2UqIGlzIGEgYm9vbGVhbiB2YWx1ZS4gIElmIHNldCB0byBgYFRydWVgYCwgdGhlbiB0aGUgbGlzdFxuICAgZWxlbWVudHMgYXJlIHNvcnRlZCBhcyBpZiBlYWNoIGNvbXBhcmlzb24gd2VyZSByZXZlcnNlZC5cblxuICAgVGhlIGBgc29ydCgpYGAgbWV0aG9kIGlzIGd1YXJhbnRlZWQgdG8gYmUgc3RhYmxlLiAgQSBzb3J0IGlzIHN0YWJsZVxuICAgaWYgaXQgZ3VhcmFudGVlcyBub3QgdG8gY2hhbmdlIHRoZSByZWxhdGl2ZSBvcmRlciBvZiBlbGVtZW50cyB0aGF0XG4gICBjb21wYXJlIGVxdWFsIC0tLSB0aGlzIGlzIGhlbHBmdWwgZm9yIHNvcnRpbmcgaW4gbXVsdGlwbGUgcGFzc2VzXG4gICAoZm9yIGV4YW1wbGUsIHNvcnQgYnkgZGVwYXJ0bWVudCwgdGhlbiBieSBzYWxhcnkgZ3JhZGUpLlxuXG4gICAqKkNQeXRob24gaW1wbGVtZW50YXRpb24gZGV0YWlsOioqIFdoaWxlIGEgbGlzdCBpcyBiZWluZyBzb3J0ZWQsXG4gICB0aGUgZWZmZWN0IG9mIGF0dGVtcHRpbmcgdG8gbXV0YXRlLCBvciBldmVuIGluc3BlY3QsIHRoZSBsaXN0IGlzXG4gICB1bmRlZmluZWQuICBUaGUgQyBpbXBsZW1lbnRhdGlvbiBvZiBQeXRob24gbWFrZXMgdGhlIGxpc3QgYXBwZWFyXG4gICBlbXB0eSBmb3IgdGhlIGR1cmF0aW9uLCBhbmQgcmFpc2VzIGBgVmFsdWVFcnJvcmBgIGlmIGl0IGNhbiBkZXRlY3RcbiAgIHRoYXQgdGhlIGxpc3QgaGFzIGJlZW4gbXV0YXRlZCBkdXJpbmcgYSBzb3J0LlxuXG44LiBgYHNvcnQoKWBgIGlzIG5vdCBzdXBwb3J0ZWQgYnkgYGBieXRlYXJyYXlgYCBvYmplY3RzLlxuJywKKyAndHlwZXNzZXEnOiAnXG5TZXF1ZW5jZSBUeXBlcyAtLS0gYGBzdHJgYCwgYGBieXRlc2BgLCBgYGJ5dGVhcnJheWBgLCBgYGxpc3RgYCwgYGB0dXBsZWBgLCBgYHJhbmdlYGBcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG5UaGVyZSBhcmUgc2l4IHNlcXVlbmNlIHR5cGVzOiBzdHJpbmdzLCBieXRlIHNlcXVlbmNlcyAoYGBieXRlc2BgXG5vYmplY3RzKSwgYnl0ZSBhcnJheXMgKGBgYnl0ZWFycmF5YGAgb2JqZWN0cyksIGxpc3RzLCB0dXBsZXMsIGFuZFxucmFuZ2Ugb2JqZWN0cy4gIEZvciBvdGhlciBjb250YWluZXJzIHNlZSB0aGUgYnVpbHQgaW4gYGBkaWN0YGAgYW5kXG5gYHNldGBgIGNsYXNzZXMsIGFuZCB0aGUgYGBjb2xsZWN0aW9uc2BgIG1vZHVsZS5cblxuU3RyaW5ncyBjb250YWluIFVuaWNvZGUgY2hhcmFjdGVycy4gIFRoZWlyIGxpdGVyYWxzIGFyZSB3cml0dGVuIGluXG5zaW5nbGUgb3IgZG91YmxlIHF1b3RlczogYGBcJ3h5enp5XCdgYCwgYGAiZnJvYm96eiJgYC4gIFNlZSAqU3RyaW5nIGFuZFxuQnl0ZXMgbGl0ZXJhbHMqIGZvciBtb3JlIGFib3V0IHN0cmluZyBsaXRlcmFscy4gIEluIGFkZGl0aW9uIHRvIHRoZVxuZnVuY3Rpb25hbGl0eSBkZXNjcmliZWQgaGVyZSwgdGhlcmUgYXJlIGFsc28gc3RyaW5nLXNwZWNpZmljIG1ldGhvZHNcbmRlc2NyaWJlZCBpbiB0aGUgKlN0cmluZyBNZXRob2RzKiBzZWN0aW9uLlxuXG5CeXRlcyBhbmQgYnl0ZWFycmF5IG9iamVjdHMgY29udGFpbiBzaW5nbGUgYnl0ZXMgLS0gdGhlIGZvcm1lciBpc1xuaW1tdXRhYmxlIHdoaWxlIHRoZSBsYXR0ZXIgaXMgYSBtdXRhYmxlIHNlcXVlbmNlLiAgQnl0ZXMgb2JqZWN0cyBjYW5cbmJlIGNvbnN0cnVjdGVkIHRoZSBjb25zdHJ1Y3RvciwgYGBieXRlcygpYGAsIGFuZCBmcm9tIGxpdGVyYWxzOyB1c2UgYVxuYGBiYGAgcHJlZml4IHdpdGggbm9ybWFsIHN0cmluZyBzeW50YXg6IGBgYlwneHl6enlcJ2BgLiAgVG8gY29uc3RydWN0XG5ieXRlIGFycmF5cywgdXNlIHRoZSBgYGJ5dGVhcnJheSgpYGAgZnVuY3Rpb24uXG5cbldoaWxlIHN0cmluZyBvYmplY3RzIGFyZSBzZXF1ZW5jZXMgb2YgY2hhcmFjdGVycyAocmVwcmVzZW50ZWQgYnlcbnN0cmluZ3Mgb2YgbGVuZ3RoIDEpLCBieXRlcyBhbmQgYnl0ZWFycmF5IG9iamVjdHMgYXJlIHNlcXVlbmNlcyBvZlxuKmludGVnZXJzKiAoYmV0d2VlbiAwIGFuZCAyNTUpLCByZXByZXNlbnRpbmcgdGhlIEFTQ0lJIHZhbHVlIG9mIHNpbmdsZVxuYnl0ZXMuICBUaGF0IG1lYW5zIHRoYXQgZm9yIGEgYnl0ZXMgb3IgYnl0ZWFycmF5IG9iamVjdCAqYiosIGBgYlswXWBgXG53aWxsIGJlIGFuIGludGVnZXIsIHdoaWxlIGBgYlswOjFdYGAgd2lsbCBiZSBhIGJ5dGVzIG9yIGJ5dGVhcnJheVxub2JqZWN0IG9mIGxlbmd0aCAxLiAgVGhlIHJlcHJlc2VudGF0aW9uIG9mIGJ5dGVzIG9iamVjdHMgdXNlcyB0aGVcbmxpdGVyYWwgZm9ybWF0IChgYGJcJy4uLlwnYGApIHNpbmNlIGl0IGlzIGdlbmVyYWxseSBtb3JlIHVzZWZ1bCB0aGFuXG5lLmcuIGBgYnl0ZXMoWzUwLCAxOSwgMTAwXSlgYC4gIFlvdSBjYW4gYWx3YXlzIGNvbnZlcnQgYSBieXRlcyBvYmplY3RcbmludG8gYSBsaXN0IG9mIGludGVnZXJzIHVzaW5nIGBgbGlzdChiKWBgLlxuXG5BbHNvLCB3aGlsZSBpbiBwcmV2aW91cyBQeXRob24gdmVyc2lvbnMsIGJ5dGUgc3RyaW5ncyBhbmQgVW5pY29kZVxuc3RyaW5ncyBjb3VsZCBiZSBleGNoYW5nZWQgZm9yIGVhY2ggb3RoZXIgcmF0aGVyIGZyZWVseSAoYmFycmluZ1xuZW5jb2RpbmcgaXNzdWVzKSwgc3RyaW5ncyBhbmQgYnl0ZXMgYXJlIG5vdyBjb21wbGV0ZWx5IHNlcGFyYXRlXG5jb25jZXB0cy4gIFRoZXJlXCdzIG5vIGltcGxpY2l0IGVuLS9kZWNvZGluZyBpZiB5b3UgcGFzcyBhbiBvYmplY3Qgb2ZcbnRoZSB3cm9uZyB0eXBlLiAgQSBzdHJpbmcgYWx3YXlzIGNvbXBhcmVzIHVuZXF1YWwgdG8gYSBieXRlcyBvclxuYnl0ZWFycmF5IG9iamVjdC5cblxuTGlzdHMgYXJlIGNvbnN0cnVjdGVkIHdpdGggc3F1YXJlIGJyYWNrZXRzLCBzZXBhcmF0aW5nIGl0ZW1zIHdpdGhcbmNvbW1hczogYGBbYSwgYiwgY11gYC4gIFR1cGxlcyBhcmUgY29uc3RydWN0ZWQgYnkgdGhlIGNvbW1hIG9wZXJhdG9yXG4obm90IHdpdGhpbiBzcXVhcmUgYnJhY2tldHMpLCB3aXRoIG9yIHdpdGhvdXQgZW5jbG9zaW5nIHBhcmVudGhlc2VzLFxuYnV0IGFuIGVtcHR5IHR1cGxlIG11c3QgaGF2ZSB0aGUgZW5jbG9zaW5nIHBhcmVudGhlc2VzLCBzdWNoIGFzIGBgYSxcbmIsIGNgYCBvciBgYCgpYGAuICBBIHNpbmdsZSBpdGVtIHR1cGxlIG11c3QgaGF2ZSBhIHRyYWlsaW5nIGNvbW1hLFxuc3VjaCBhcyBgYChkLClgYC5cblxuT2JqZWN0cyBvZiB0eXBlIHJhbmdlIGFyZSBjcmVhdGVkIHVzaW5nIHRoZSBgYHJhbmdlKClgYCBmdW5jdGlvbi5cblRoZXkgZG9uXCd0IHN1cHBvcnQgY29uY2F0ZW5hdGlvbiBvciByZXBldGl0aW9uLCBhbmQgdXNpbmcgYGBtaW4oKWBgIG9yXG5gYG1heCgpYGAgb24gdGhlbSBpcyBpbmVmZmljaWVudC5cblxuTW9zdCBzZXF1ZW5jZSB0eXBlcyBzdXBwb3J0IHRoZSBmb2xsb3dpbmcgb3BlcmF0aW9ucy4gIFRoZSBgYGluYGAgYW5kXG5gYG5vdCBpbmBgIG9wZXJhdGlvbnMgaGF2ZSB0aGUgc2FtZSBwcmlvcml0aWVzIGFzIHRoZSBjb21wYXJpc29uXG5vcGVyYXRpb25zLiAgVGhlIGBgK2BgIGFuZCBgYCpgYCBvcGVyYXRpb25zIGhhdmUgdGhlIHNhbWUgcHJpb3JpdHkgYXNcbnRoZSBjb3JyZXNwb25kaW5nIG51bWVyaWMgb3BlcmF0aW9ucy4gWzNdIEFkZGl0aW9uYWwgbWV0aG9kcyBhcmVcbnByb3ZpZGVkIGZvciAqTXV0YWJsZSBTZXF1ZW5jZSBUeXBlcyouXG5cblRoaXMgdGFibGUgbGlzdHMgdGhlIHNlcXVlbmNlIG9wZXJhdGlvbnMgc29ydGVkIGluIGFzY2VuZGluZyBwcmlvcml0eVxuKG9wZXJhdGlvbnMgaW4gdGhlIHNhbWUgYm94IGhhdmUgdGhlIHNhbWUgcHJpb3JpdHkpLiAgSW4gdGhlIHRhYmxlLFxuKnMqIGFuZCAqdCogYXJlIHNlcXVlbmNlcyBvZiB0aGUgc2FtZSB0eXBlOyAqbiosICppKiwgKmoqIGFuZCAqayogYXJlXG5pbnRlZ2Vycy5cblxuKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tK1xufCBPcGVyYXRpb24gICAgICAgICAgfCBSZXN1bHQgICAgICAgICAgICAgICAgICAgICAgICAgICB8IE5vdGVzICAgICAgfFxuKz09PT09PT09PT09PT09PT09PT09Kz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0rPT09PT09PT09PT09K1xufCBgYHggaW4gc2BgICAgICAgICAgfCBgYFRydWVgYCBpZiBhbiBpdGVtIG9mICpzKiBpcyAgICB8ICgxKSAgICAgICAgfFxufCAgICAgICAgICAgICAgICAgICAgfCBlcXVhbCB0byAqeCosIGVsc2UgYGBGYWxzZWBgICAgICB8ICAgICAgICAgICAgfFxuKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tK1xufCBgYHggbm90IGluIHNgYCAgICAgfCBgYEZhbHNlYGAgaWYgYW4gaXRlbSBvZiAqcyogaXMgICB8ICgxKSAgICAgICAgfFxufCAgICAgICAgICAgICAgICAgICAgfCBlcXVhbCB0byAqeCosIGVsc2UgYGBUcnVlYGAgICAgICB8ICAgICAgICAgICAgfFxuKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tK1xufCBgYHMgKyB0YGAgICAgICAgICAgfCB0aGUgY29uY2F0ZW5hdGlvbiBvZiAqcyogYW5kICp0KiB8ICg2KSAgICAgICAgfFxuKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tK1xufCBgYHMgKiBuLCBuICogc2BgICAgfCAqbiogc2hhbGxvdyBjb3BpZXMgb2YgKnMqICAgICAgICB8ICgyKSAgICAgICAgfFxufCAgICAgICAgICAgICAgICAgICAgfCBjb25jYXRlbmF0ZWQgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgfFxuKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tK1xufCBgYHNbaV1gYCAgICAgICAgICAgfCAqaSp0aCBpdGVtIG9mICpzKiwgb3JpZ2luIDAgICAgICB8ICgzKSAgICAgICAgfFxuKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tK1xufCBgYHNbaTpqXWBgICAgICAgICAgfCBzbGljZSBvZiAqcyogZnJvbSAqaSogdG8gKmoqICAgICB8ICgzKSg0KSAgICAgfFxuKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tK1xufCBgYHNbaTpqOmtdYGAgICAgICAgfCBzbGljZSBvZiAqcyogZnJvbSAqaSogdG8gKmoqICAgICB8ICgzKSg1KSAgICAgfFxufCAgICAgICAgICAgICAgICAgICAgfCB3aXRoIHN0ZXAgKmsqICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgfFxuKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tK1xufCBgYGxlbihzKWBgICAgICAgICAgfCBsZW5ndGggb2YgKnMqICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgfFxuKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tK1xufCBgYG1pbihzKWBgICAgICAgICAgfCBzbWFsbGVzdCBpdGVtIG9mICpzKiAgICAgICAgICAgICB8ICAgICAgICAgICAgfFxuKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tK1xufCBgYG1heChzKWBgICAgICAgICAgfCBsYXJnZXN0IGl0ZW0gb2YgKnMqICAgICAgICAgICAgICB8ICAgICAgICAgICAgfFxuKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tK1xufCBgYHMuaW5kZXgoaSlgYCAgICAgfCBpbmRleCBvZiB0aGUgZmlyc3Qgb2NjdXJlbmNlIG9mICB8ICAgICAgICAgICAgfFxufCAgICAgICAgICAgICAgICAgICAgfCAqaSogaW4gKnMqICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgfFxuKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tK1xufCBgYHMuY291bnQoaSlgYCAgICAgfCB0b3RhbCBudW1iZXIgb2Ygb2NjdXJlbmNlcyBvZiAgICB8ICAgICAgICAgICAgfFxufCAgICAgICAgICAgICAgICAgICAgfCAqaSogaW4gKnMqICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgfFxuKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tK1xuXG5TZXF1ZW5jZSB0eXBlcyBhbHNvIHN1cHBvcnQgY29tcGFyaXNvbnMuICBJbiBwYXJ0aWN1bGFyLCB0dXBsZXMgYW5kXG5saXN0cyBhcmUgY29tcGFyZWQgbGV4aWNvZ3JhcGhpY2FsbHkgYnkgY29tcGFyaW5nIGNvcnJlc3BvbmRpbmdcbmVsZW1lbnRzLiAgVGhpcyBtZWFucyB0aGF0IHRvIGNvbXBhcmUgZXF1YWwsIGV2ZXJ5IGVsZW1lbnQgbXVzdFxuY29tcGFyZSBlcXVhbCBhbmQgdGhlIHR3byBzZXF1ZW5jZXMgbXVzdCBiZSBvZiB0aGUgc2FtZSB0eXBlIGFuZCBoYXZlXG50aGUgc2FtZSBsZW5ndGguICAoRm9yIGZ1bGwgZGV0YWlscyBzZWUgKkNvbXBhcmlzb25zKiBpbiB0aGUgbGFuZ3VhZ2VcbnJlZmVyZW5jZS4pXG5cbk5vdGVzOlxuXG4xLiBXaGVuICpzKiBpcyBhIHN0cmluZyBvYmplY3QsIHRoZSBgYGluYGAgYW5kIGBgbm90IGluYGAgb3BlcmF0aW9uc1xuICAgYWN0IGxpa2UgYSBzdWJzdHJpbmcgdGVzdC5cblxuMi4gVmFsdWVzIG9mICpuKiBsZXNzIHRoYW4gYGAwYGAgYXJlIHRyZWF0ZWQgYXMgYGAwYGAgKHdoaWNoIHlpZWxkcyBhblxuICAgZW1wdHkgc2VxdWVuY2Ugb2YgdGhlIHNhbWUgdHlwZSBhcyAqcyopLiAgTm90ZSBhbHNvIHRoYXQgdGhlIGNvcGllc1xuICAgYXJlIHNoYWxsb3c7IG5lc3RlZCBzdHJ1Y3R1cmVzIGFyZSBub3QgY29waWVkLiAgVGhpcyBvZnRlbiBoYXVudHNcbiAgIG5ldyBQeXRob24gcHJvZ3JhbW1lcnM7IGNvbnNpZGVyOlxuXG4gICA+Pj4gbGlzdHMgPSBbW11dICogM1xuICAgPj4+IGxpc3RzXG4gICBbW10sIFtdLCBbXV1cbiAgID4+PiBsaXN0c1swXS5hcHBlbmQoMylcbiAgID4+PiBsaXN0c1xuICAgW1szXSwgWzNdLCBbM11dXG5cbiAgIFdoYXQgaGFzIGhhcHBlbmVkIGlzIHRoYXQgYGBbW11dYGAgaXMgYSBvbmUtZWxlbWVudCBsaXN0IGNvbnRhaW5pbmdcbiAgIGFuIGVtcHR5IGxpc3QsIHNvIGFsbCB0aHJlZSBlbGVtZW50cyBvZiBgYFtbXV0gKiAzYGAgYXJlIChwb2ludGVyc1xuICAgdG8pIHRoaXMgc2luZ2xlIGVtcHR5IGxpc3QuICBNb2RpZnlpbmcgYW55IG9mIHRoZSBlbGVtZW50cyBvZlxuICAgYGBsaXN0c2BgIG1vZGlmaWVzIHRoaXMgc2luZ2xlIGxpc3QuIFlvdSBjYW4gY3JlYXRlIGEgbGlzdCBvZlxuICAgZGlmZmVyZW50IGxpc3RzIHRoaXMgd2F5OlxuXG4gICA+Pj4gbGlzdHMgPSBbW10gZm9yIGkgaW4gcmFuZ2UoMyldXG4gICA+Pj4gbGlzdHNbMF0uYXBwZW5kKDMpXG4gICA+Pj4gbGlzdHNbMV0uYXBwZW5kKDUpXG4gICA+Pj4gbGlzdHNbMl0uYXBwZW5kKDcpXG4gICA+Pj4gbGlzdHNcbiAgIFtbM10sIFs1XSwgWzddXVxuXG4zLiBJZiAqaSogb3IgKmoqIGlzIG5lZ2F0aXZlLCB0aGUgaW5kZXggaXMgcmVsYXRpdmUgdG8gdGhlIGVuZCBvZiB0aGVcbiAgIHN0cmluZzogYGBsZW4ocykgKyBpYGAgb3IgYGBsZW4ocykgKyBqYGAgaXMgc3Vic3RpdHV0ZWQuICBCdXQgbm90ZVxuICAgdGhhdCBgYC0wYGAgaXMgc3RpbGwgYGAwYGAuXG5cbjQuIFRoZSBzbGljZSBvZiAqcyogZnJvbSAqaSogdG8gKmoqIGlzIGRlZmluZWQgYXMgdGhlIHNlcXVlbmNlIG9mXG4gICBpdGVtcyB3aXRoIGluZGV4ICprKiBzdWNoIHRoYXQgYGBpIDw9IGsgPCBqYGAuICBJZiAqaSogb3IgKmoqIGlzXG4gICBncmVhdGVyIHRoYW4gYGBsZW4ocylgYCwgdXNlIGBgbGVuKHMpYGAuICBJZiAqaSogaXMgb21pdHRlZCBvclxuICAgYGBOb25lYGAsIHVzZSBgYDBgYC4gIElmICpqKiBpcyBvbWl0dGVkIG9yIGBgTm9uZWBgLCB1c2VcbiAgIGBgbGVuKHMpYGAuICBJZiAqaSogaXMgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICpqKiwgdGhlIHNsaWNlIGlzXG4gICBlbXB0eS5cblxuNS4gVGhlIHNsaWNlIG9mICpzKiBmcm9tICppKiB0byAqaiogd2l0aCBzdGVwICprKiBpcyBkZWZpbmVkIGFzIHRoZVxuICAgc2VxdWVuY2Ugb2YgaXRlbXMgd2l0aCBpbmRleCAgYGB4ID0gaSArIG4qa2BgIHN1Y2ggdGhhdCBgYDAgPD0gbiA8XG4gICAoai1pKS9rYGAuICBJbiBvdGhlciB3b3JkcywgdGhlIGluZGljZXMgYXJlIGBgaWBgLCBgYGkra2BgLFxuICAgYGBpKzIqa2BgLCBgYGkrMyprYGAgYW5kIHNvIG9uLCBzdG9wcGluZyB3aGVuICpqKiBpcyByZWFjaGVkIChidXRcbiAgIG5ldmVyIGluY2x1ZGluZyAqaiopLiAgSWYgKmkqIG9yICpqKiBpcyBncmVhdGVyIHRoYW4gYGBsZW4ocylgYCxcbiAgIHVzZSBgYGxlbihzKWBgLiAgSWYgKmkqIG9yICpqKiBhcmUgb21pdHRlZCBvciBgYE5vbmVgYCwgdGhleSBiZWNvbWVcbiAgICJlbmQiIHZhbHVlcyAod2hpY2ggZW5kIGRlcGVuZHMgb24gdGhlIHNpZ24gb2YgKmsqKS4gIE5vdGUsICprKlxuICAgY2Fubm90IGJlIHplcm8uIElmICprKiBpcyBgYE5vbmVgYCwgaXQgaXMgdHJlYXRlZCBsaWtlIGBgMWBgLlxuXG42LiBDb25jYXRlbmF0aW5nIGltbXV0YWJsZSBzdHJpbmdzIGFsd2F5cyByZXN1bHRzIGluIGEgbmV3IG9iamVjdC5cbiAgIFRoaXMgbWVhbnMgdGhhdCBidWlsZGluZyB1cCBhIHN0cmluZyBieSByZXBlYXRlZCBjb25jYXRlbmF0aW9uIHdpbGxcbiAgIGhhdmUgYSBxdWFkcmF0aWMgcnVudGltZSBjb3N0IGluIHRoZSB0b3RhbCBzdHJpbmcgbGVuZ3RoLiAgVG8gZ2V0IGFcbiAgIGxpbmVhciBydW50aW1lIGNvc3QsIHlvdSBtdXN0IHN3aXRjaCB0byBvbmUgb2YgdGhlIGFsdGVybmF0aXZlc1xuICAgYmVsb3c6XG5cbiAgICogaWYgY29uY2F0ZW5hdGluZyBgYHN0cmBgIG9iamVjdHMsIHlvdSBjYW4gYnVpbGQgYSBsaXN0IGFuZCB1c2VcbiAgICAgYGBzdHIuam9pbigpYGAgYXQgdGhlIGVuZDtcblxuICAgKiBpZiBjb25jYXRlbmF0aW5nIGBgYnl0ZXNgYCBvYmplY3RzLCB5b3UgY2FuIHNpbWlsYXJseSB1c2VcbiAgICAgYGBieXRlcy5qb2luKClgYCwgb3IgeW91IGNhbiBkbyBpbi1wbGFjZSBjb25jYXRlbmF0aW9uIHdpdGggYVxuICAgICBgYGJ5dGVhcnJheWBgIG9iamVjdC4gIGBgYnl0ZWFycmF5YGAgb2JqZWN0cyBhcmUgbXV0YWJsZSBhbmQgaGF2ZVxuICAgICBhbiBlZmZpY2llbnQgb3ZlcmFsbG9jYXRpb24gbWVjaGFuaXNtLlxuXG5cblN0cmluZyBNZXRob2RzXG49PT09PT09PT09PT09PVxuXG5TdHJpbmcgb2JqZWN0cyBzdXBwb3J0IHRoZSBtZXRob2RzIGxpc3RlZCBiZWxvdy5cblxuSW4gYWRkaXRpb24sIFB5dGhvblwncyBzdHJpbmdzIHN1cHBvcnQgdGhlIHNlcXVlbmNlIHR5cGUgbWV0aG9kc1xuZGVzY3JpYmVkIGluIHRoZSAqU2VxdWVuY2UgVHlwZXMgLS0tIHN0ciwgYnl0ZXMsIGJ5dGVhcnJheSwgbGlzdCxcbnR1cGxlLCByYW5nZSogc2VjdGlvbi4gVG8gb3V0cHV0IGZvcm1hdHRlZCBzdHJpbmdzLCBzZWUgdGhlICpTdHJpbmdcbkZvcm1hdHRpbmcqIHNlY3Rpb24uIEFsc28sIHNlZSB0aGUgYGByZWBgIG1vZHVsZSBmb3Igc3RyaW5nIGZ1bmN0aW9uc1xuYmFzZWQgb24gcmVndWxhciBleHByZXNzaW9ucy5cblxuc3RyLmNhcGl0YWxpemUoKVxuXG4gICBSZXR1cm4gYSBjb3B5IG9mIHRoZSBzdHJpbmcgd2l0aCBpdHMgZmlyc3QgY2hhcmFjdGVyIGNhcGl0YWxpemVkXG4gICBhbmQgdGhlIHJlc3QgbG93ZXJjYXNlZC5cblxuc3RyLmNhc2Vmb2xkKClcblxuICAgUmV0dXJuIGEgY2FzZWZvbGRlZCBjb3B5IG9mIHRoZSBzdHJpbmcuIENhc2Vmb2xkZWQgc3RyaW5ncyBtYXkgYmVcbiAgIHVzZWQgZm9yIGNhc2VsZXNzIG1hdGNoaW5nLlxuXG4gICBDYXNlZm9sZGluZyBpcyBzaW1pbGFyIHRvIGxvd2VyY2FzaW5nIGJ1dCBtb3JlIGFnZ3Jlc3NpdmUgYmVjYXVzZVxuICAgaXQgaXMgaW50ZW5kZWQgdG8gcmVtb3ZlIGFsbCBjYXNlIGRpc3RpbmN0aW9ucyBpbiBhIHN0cmluZy4gRm9yXG4gICBleGFtcGxlLCB0aGUgR2VybWFuIGxvd2VyY2FzZSBsZXR0ZXIgYGBcJ1x4YzNceDlmXCdgYCBpcyBlcXVpdmFsZW50IHRvXG4gICBgYCJzcyJgYC4gU2luY2UgaXQgaXMgYWxyZWFkeSBsb3dlcmNhc2UsIGBgbG93ZXIoKWBgIHdvdWxkIGRvXG4gICBub3RoaW5nIHRvIGBgXCdceGMzXHg5ZlwnYGA7IGBgY2FzZWZvbGQoKWBgIGNvbnZlcnRzIGl0IHRvIGBgInNzImBgLlxuXG4gICBUaGUgY2FzZWZvbGRpbmcgYWxnb3JpdGhtIGlzIGRlc2NyaWJlZCBpbiBzZWN0aW9uIDMuMTMgb2YgdGhlXG4gICBVbmljb2RlIFN0YW5kYXJkLlxuXG4gICBOZXcgaW4gdmVyc2lvbiAzLjMuXG5cbnN0ci5jZW50ZXIod2lkdGhbLCBmaWxsY2hhcl0pXG5cbiAgIFJldHVybiBjZW50ZXJlZCBpbiBhIHN0cmluZyBvZiBsZW5ndGggKndpZHRoKi4gUGFkZGluZyBpcyBkb25lXG4gICB1c2luZyB0aGUgc3BlY2lmaWVkICpmaWxsY2hhciogKGRlZmF1bHQgaXMgYSBzcGFjZSkuXG5cbnN0ci5jb3VudChzdWJbLCBzdGFydFssIGVuZF1dKVxuXG4gICBSZXR1cm4gdGhlIG51bWJlciBvZiBub24tb3ZlcmxhcHBpbmcgb2NjdXJyZW5jZXMgb2Ygc3Vic3RyaW5nICpzdWIqXG4gICBpbiB0aGUgcmFuZ2UgWypzdGFydCosICplbmQqXS4gIE9wdGlvbmFsIGFyZ3VtZW50cyAqc3RhcnQqIGFuZFxuICAgKmVuZCogYXJlIGludGVycHJldGVkIGFzIGluIHNsaWNlIG5vdGF0aW9uLlxuXG5zdHIuZW5jb2RlKGVuY29kaW5nPSJ1dGYtOCIsIGVycm9ycz0ic3RyaWN0IilcblxuICAgUmV0dXJuIGFuIGVuY29kZWQgdmVyc2lvbiBvZiB0aGUgc3RyaW5nIGFzIGEgYnl0ZXMgb2JqZWN0LiBEZWZhdWx0XG4gICBlbmNvZGluZyBpcyBgYFwndXRmLThcJ2BgLiAqZXJyb3JzKiBtYXkgYmUgZ2l2ZW4gdG8gc2V0IGEgZGlmZmVyZW50XG4gICBlcnJvciBoYW5kbGluZyBzY2hlbWUuIFRoZSBkZWZhdWx0IGZvciAqZXJyb3JzKiBpcyBgYFwnc3RyaWN0XCdgYCxcbiAgIG1lYW5pbmcgdGhhdCBlbmNvZGluZyBlcnJvcnMgcmFpc2UgYSBgYFVuaWNvZGVFcnJvcmBgLiBPdGhlclxuICAgcG9zc2libGUgdmFsdWVzIGFyZSBgYFwnaWdub3JlXCdgYCwgYGBcJ3JlcGxhY2VcJ2BgLFxuICAgYGBcJ3htbGNoYXJyZWZyZXBsYWNlXCdgYCwgYGBcJ2JhY2tzbGFzaHJlcGxhY2VcJ2BgIGFuZCBhbnkgb3RoZXIgbmFtZVxuICAgcmVnaXN0ZXJlZCB2aWEgYGBjb2RlY3MucmVnaXN0ZXJfZXJyb3IoKWBgLCBzZWUgc2VjdGlvbiAqQ29kZWMgQmFzZVxuICAgQ2xhc3NlcyouIEZvciBhIGxpc3Qgb2YgcG9zc2libGUgZW5jb2RpbmdzLCBzZWUgc2VjdGlvbiAqU3RhbmRhcmRcbiAgIEVuY29kaW5ncyouXG5cbiAgIENoYW5nZWQgaW4gdmVyc2lvbiAzLjE6IFN1cHBvcnQgZm9yIGtleXdvcmQgYXJndW1lbnRzIGFkZGVkLlxuXG5zdHIuZW5kc3dpdGgoc3VmZml4Wywgc3RhcnRbLCBlbmRdXSlcblxuICAgUmV0dXJuIGBgVHJ1ZWBgIGlmIHRoZSBzdHJpbmcgZW5kcyB3aXRoIHRoZSBzcGVjaWZpZWQgKnN1ZmZpeCosXG4gICBvdGhlcndpc2UgcmV0dXJuIGBgRmFsc2VgYC4gICpzdWZmaXgqIGNhbiBhbHNvIGJlIGEgdHVwbGUgb2ZcbiAgIHN1ZmZpeGVzIHRvIGxvb2sgZm9yLiAgV2l0aCBvcHRpb25hbCAqc3RhcnQqLCB0ZXN0IGJlZ2lubmluZyBhdFxuICAgdGhhdCBwb3NpdGlvbi4gIFdpdGggb3B0aW9uYWwgKmVuZCosIHN0b3AgY29tcGFyaW5nIGF0IHRoYXRcbiAgIHBvc2l0aW9uLlxuXG5zdHIuZXhwYW5kdGFicyhbdGFic2l6ZV0pXG5cbiAgIFJldHVybiBhIGNvcHkgb2YgdGhlIHN0cmluZyB3aGVyZSBhbGwgdGFiIGNoYXJhY3RlcnMgYXJlIHJlcGxhY2VkXG4gICBieSB6ZXJvIG9yIG1vcmUgc3BhY2VzLCBkZXBlbmRpbmcgb24gdGhlIGN1cnJlbnQgY29sdW1uIGFuZCB0aGVcbiAgIGdpdmVuIHRhYiBzaXplLiAgVGhlIGNvbHVtbiBudW1iZXIgaXMgcmVzZXQgdG8gemVybyBhZnRlciBlYWNoXG4gICBuZXdsaW5lIG9jY3VycmluZyBpbiB0aGUgc3RyaW5nLiBJZiAqdGFic2l6ZSogaXMgbm90IGdpdmVuLCBhIHRhYlxuICAgc2l6ZSBvZiBgYDhgYCBjaGFyYWN0ZXJzIGlzIGFzc3VtZWQuICBUaGlzIGRvZXNuXCd0IHVuZGVyc3RhbmQgb3RoZXJcbiAgIG5vbi1wcmludGluZyBjaGFyYWN0ZXJzIG9yIGVzY2FwZSBzZXF1ZW5jZXMuXG5cbnN0ci5maW5kKHN1YlssIHN0YXJ0WywgZW5kXV0pXG5cbiAgIFJldHVybiB0aGUgbG93ZXN0IGluZGV4IGluIHRoZSBzdHJpbmcgd2hlcmUgc3Vic3RyaW5nICpzdWIqIGlzXG4gICBmb3VuZCwgc3VjaCB0aGF0ICpzdWIqIGlzIGNvbnRhaW5lZCBpbiB0aGUgc2xpY2UgYGBzW3N0YXJ0OmVuZF1gYC5cbiAgIE9wdGlvbmFsIGFyZ3VtZW50cyAqc3RhcnQqIGFuZCAqZW5kKiBhcmUgaW50ZXJwcmV0ZWQgYXMgaW4gc2xpY2VcbiAgIG5vdGF0aW9uLiAgUmV0dXJuIGBgLTFgYCBpZiAqc3ViKiBpcyBub3QgZm91bmQuXG5cbiAgIE5vdGU6IFRoZSBgYGZpbmQoKWBgIG1ldGhvZCBzaG91bGQgYmUgdXNlZCBvbmx5IGlmIHlvdSBuZWVkIHRvIGtub3cgdGhlXG4gICAgIHBvc2l0aW9uIG9mICpzdWIqLiAgVG8gY2hlY2sgaWYgKnN1YiogaXMgYSBzdWJzdHJpbmcgb3Igbm90LCB1c2VcbiAgICAgdGhlIGBgaW5gYCBvcGVyYXRvcjpcblxuICAgICAgICA+Pj4gXCdQeVwnIGluIFwnUHl0aG9uXCdcbiAgICAgICAgVHJ1ZVxuXG5zdHIuZm9ybWF0KCphcmdzLCAqKmt3YXJncylcblxuICAgUGVyZm9ybSBhIHN0cmluZyBmb3JtYXR0aW5nIG9wZXJhdGlvbi4gIFRoZSBzdHJpbmcgb24gd2hpY2ggdGhpc1xuICAgbWV0aG9kIGlzIGNhbGxlZCBjYW4gY29udGFpbiBsaXRlcmFsIHRleHQgb3IgcmVwbGFjZW1lbnQgZmllbGRzXG4gICBkZWxpbWl0ZWQgYnkgYnJhY2VzIGBge31gYC4gIEVhY2ggcmVwbGFjZW1lbnQgZmllbGQgY29udGFpbnMgZWl0aGVyXG4gICB0aGUgbnVtZXJpYyBpbmRleCBvZiBhIHBvc2l0aW9uYWwgYXJndW1lbnQsIG9yIHRoZSBuYW1lIG9mIGFcbiAgIGtleXdvcmQgYXJndW1lbnQuICBSZXR1cm5zIGEgY29weSBvZiB0aGUgc3RyaW5nIHdoZXJlIGVhY2hcbiAgIHJlcGxhY2VtZW50IGZpZWxkIGlzIHJlcGxhY2VkIHdpdGggdGhlIHN0cmluZyB2YWx1ZSBvZiB0aGVcbiAgIGNvcnJlc3BvbmRpbmcgYXJndW1lbnQuXG5cbiAgID4+PiAiVGhlIHN1bSBvZiAxICsgMiBpcyB7MH0iLmZvcm1hdCgxKzIpXG4gICBcJ1RoZSBzdW0gb2YgMSArIDIgaXMgM1wnXG5cbiAgIFNlZSAqRm9ybWF0IFN0cmluZyBTeW50YXgqIGZvciBhIGRlc2NyaXB0aW9uIG9mIHRoZSB2YXJpb3VzXG4gICBmb3JtYXR0aW5nIG9wdGlvbnMgdGhhdCBjYW4gYmUgc3BlY2lmaWVkIGluIGZvcm1hdCBzdHJpbmdzLlxuXG5zdHIuZm9ybWF0X21hcChtYXBwaW5nKVxuXG4gICBTaW1pbGFyIHRvIGBgc3RyLmZvcm1hdCgqKm1hcHBpbmcpYGAsIGV4Y2VwdCB0aGF0IGBgbWFwcGluZ2BgIGlzXG4gICB1c2VkIGRpcmVjdGx5IGFuZCBub3QgY29waWVkIHRvIGEgYGBkaWN0YGAgLiAgVGhpcyBpcyB1c2VmdWwgaWYgZm9yXG4gICBleGFtcGxlIGBgbWFwcGluZ2BgIGlzIGEgZGljdCBzdWJjbGFzczpcblxuICAgPj4+IGNsYXNzIERlZmF1bHQoZGljdCk6XG4gICAuLi4gICAgIGRlZiBfX21pc3NpbmdfXyhzZWxmLCBrZXkpOlxuICAgLi4uICAgICAgICAgcmV0dXJuIGtleVxuICAgLi4uXG4gICA+Pj4gXCd7bmFtZX0gd2FzIGJvcm4gaW4ge2NvdW50cnl9XCcuZm9ybWF0X21hcChEZWZhdWx0KG5hbWU9XCdHdWlkb1wnKSlcbiAgIFwnR3VpZG8gd2FzIGJvcm4gaW4gY291bnRyeVwnXG5cbiAgIE5ldyBpbiB2ZXJzaW9uIDMuMi5cblxuc3RyLmluZGV4KHN1YlssIHN0YXJ0WywgZW5kXV0pXG5cbiAgIExpa2UgYGBmaW5kKClgYCwgYnV0IHJhaXNlIGBgVmFsdWVFcnJvcmBgIHdoZW4gdGhlIHN1YnN0cmluZyBpcyBub3RcbiAgIGZvdW5kLlxuXG5zdHIuaXNhbG51bSgpXG5cbiAgIFJldHVybiB0cnVlIGlmIGFsbCBjaGFyYWN0ZXJzIGluIHRoZSBzdHJpbmcgYXJlIGFscGhhbnVtZXJpYyBhbmRcbiAgIHRoZXJlIGlzIGF0IGxlYXN0IG9uZSBjaGFyYWN0ZXIsIGZhbHNlIG90aGVyd2lzZS4gIEEgY2hhcmFjdGVyXG4gICBgYGNgYCBpcyBhbHBoYW51bWVyaWMgaWYgb25lIG9mIHRoZSBmb2xsb3dpbmcgcmV0dXJucyBgYFRydWVgYDpcbiAgIGBgYy5pc2FscGhhKClgYCwgYGBjLmlzZGVjaW1hbCgpYGAsIGBgYy5pc2RpZ2l0KClgYCwgb3JcbiAgIGBgYy5pc251bWVyaWMoKWBgLlxuXG5zdHIuaXNhbHBoYSgpXG5cbiAgIFJldHVybiB0cnVlIGlmIGFsbCBjaGFyYWN0ZXJzIGluIHRoZSBzdHJpbmcgYXJlIGFscGhhYmV0aWMgYW5kXG4gICB0aGVyZSBpcyBhdCBsZWFzdCBvbmUgY2hhcmFjdGVyLCBmYWxzZSBvdGhlcndpc2UuICBBbHBoYWJldGljXG4gICBjaGFyYWN0ZXJzIGFyZSB0aG9zZSBjaGFyYWN0ZXJzIGRlZmluZWQgaW4gdGhlIFVuaWNvZGUgY2hhcmFjdGVyXG4gICBkYXRhYmFzZSBhcyAiTGV0dGVyIiwgaS5lLiwgdGhvc2Ugd2l0aCBnZW5lcmFsIGNhdGVnb3J5IHByb3BlcnR5XG4gICBiZWluZyBvbmUgb2YgIkxtIiwgIkx0IiwgIkx1IiwgIkxsIiwgb3IgIkxvIi4gIE5vdGUgdGhhdCB0aGlzIGlzXG4gICBkaWZmZXJlbnQgZnJvbSB0aGUgIkFscGhhYmV0aWMiIHByb3BlcnR5IGRlZmluZWQgaW4gdGhlIFVuaWNvZGVcbiAgIFN0YW5kYXJkLlxuXG5zdHIuaXNkZWNpbWFsKClcblxuICAgUmV0dXJuIHRydWUgaWYgYWxsIGNoYXJhY3RlcnMgaW4gdGhlIHN0cmluZyBhcmUgZGVjaW1hbCBjaGFyYWN0ZXJzXG4gICBhbmQgdGhlcmUgaXMgYXQgbGVhc3Qgb25lIGNoYXJhY3RlciwgZmFsc2Ugb3RoZXJ3aXNlLiBEZWNpbWFsXG4gICBjaGFyYWN0ZXJzIGFyZSB0aG9zZSBmcm9tIGdlbmVyYWwgY2F0ZWdvcnkgIk5kIi4gVGhpcyBjYXRlZ29yeVxuICAgaW5jbHVkZXMgZGlnaXQgY2hhcmFjdGVycywgYW5kIGFsbCBjaGFyYWN0ZXJzIHRoYXQgY2FuIGJlIHVzZWQgdG9cbiAgIGZvcm0gZGVjaW1hbC1yYWRpeCBudW1iZXJzLCBlLmcuIFUrMDY2MCwgQVJBQklDLUlORElDIERJR0lUIFpFUk8uXG5cbnN0ci5pc2RpZ2l0KClcblxuICAgUmV0dXJuIHRydWUgaWYgYWxsIGNoYXJhY3RlcnMgaW4gdGhlIHN0cmluZyBhcmUgZGlnaXRzIGFuZCB0aGVyZSBpc1xuICAgYXQgbGVhc3Qgb25lIGNoYXJhY3RlciwgZmFsc2Ugb3RoZXJ3aXNlLiAgRGlnaXRzIGluY2x1ZGUgZGVjaW1hbFxuICAgY2hhcmFjdGVycyBhbmQgZGlnaXRzIHRoYXQgbmVlZCBzcGVjaWFsIGhhbmRsaW5nLCBzdWNoIGFzIHRoZVxuICAgY29tcGF0aWJpbGl0eSBzdXBlcnNjcmlwdCBkaWdpdHMuICBGb3JtYWxseSwgYSBkaWdpdCBpcyBhIGNoYXJhY3RlclxuICAgdGhhdCBoYXMgdGhlIHByb3BlcnR5IHZhbHVlIE51bWVyaWNfVHlwZT1EaWdpdCBvclxuICAgTnVtZXJpY19UeXBlPURlY2ltYWwuXG5cbnN0ci5pc2lkZW50aWZpZXIoKVxuXG4gICBSZXR1cm4gdHJ1ZSBpZiB0aGUgc3RyaW5nIGlzIGEgdmFsaWQgaWRlbnRpZmllciBhY2NvcmRpbmcgdG8gdGhlXG4gICBsYW5ndWFnZSBkZWZpbml0aW9uLCBzZWN0aW9uICpJZGVudGlmaWVycyBhbmQga2V5d29yZHMqLlxuXG5zdHIuaXNsb3dlcigpXG5cbiAgIFJldHVybiB0cnVlIGlmIGFsbCBjYXNlZCBjaGFyYWN0ZXJzIFs0XSBpbiB0aGUgc3RyaW5nIGFyZSBsb3dlcmNhc2VcbiAgIGFuZCB0aGVyZSBpcyBhdCBsZWFzdCBvbmUgY2FzZWQgY2hhcmFjdGVyLCBmYWxzZSBvdGhlcndpc2UuXG5cbnN0ci5pc251bWVyaWMoKVxuXG4gICBSZXR1cm4gdHJ1ZSBpZiBhbGwgY2hhcmFjdGVycyBpbiB0aGUgc3RyaW5nIGFyZSBudW1lcmljIGNoYXJhY3RlcnMsXG4gICBhbmQgdGhlcmUgaXMgYXQgbGVhc3Qgb25lIGNoYXJhY3RlciwgZmFsc2Ugb3RoZXJ3aXNlLiBOdW1lcmljXG4gICBjaGFyYWN0ZXJzIGluY2x1ZGUgZGlnaXQgY2hhcmFjdGVycywgYW5kIGFsbCBjaGFyYWN0ZXJzIHRoYXQgaGF2ZVxuICAgdGhlIFVuaWNvZGUgbnVtZXJpYyB2YWx1ZSBwcm9wZXJ0eSwgZS5nLiBVKzIxNTUsIFZVTEdBUiBGUkFDVElPTlxuICAgT05FIEZJRlRILiAgRm9ybWFsbHksIG51bWVyaWMgY2hhcmFjdGVycyBhcmUgdGhvc2Ugd2l0aCB0aGVcbiAgIHByb3BlcnR5IHZhbHVlIE51bWVyaWNfVHlwZT1EaWdpdCwgTnVtZXJpY19UeXBlPURlY2ltYWwgb3JcbiAgIE51bWVyaWNfVHlwZT1OdW1lcmljLlxuXG5zdHIuaXNwcmludGFibGUoKVxuXG4gICBSZXR1cm4gdHJ1ZSBpZiBhbGwgY2hhcmFjdGVycyBpbiB0aGUgc3RyaW5nIGFyZSBwcmludGFibGUgb3IgdGhlXG4gICBzdHJpbmcgaXMgZW1wdHksIGZhbHNlIG90aGVyd2lzZS4gIE5vbnByaW50YWJsZSBjaGFyYWN0ZXJzIGFyZVxuICAgdGhvc2UgY2hhcmFjdGVycyBkZWZpbmVkIGluIHRoZSBVbmljb2RlIGNoYXJhY3RlciBkYXRhYmFzZSBhc1xuICAgIk90aGVyIiBvciAiU2VwYXJhdG9yIiwgZXhjZXB0aW5nIHRoZSBBU0NJSSBzcGFjZSAoMHgyMCkgd2hpY2ggaXNcbiAgIGNvbnNpZGVyZWQgcHJpbnRhYmxlLiAgKE5vdGUgdGhhdCBwcmludGFibGUgY2hhcmFjdGVycyBpbiB0aGlzXG4gICBjb250ZXh0IGFyZSB0aG9zZSB3aGljaCBzaG91bGQgbm90IGJlIGVzY2FwZWQgd2hlbiBgYHJlcHIoKWBgIGlzXG4gICBpbnZva2VkIG9uIGEgc3RyaW5nLiAgSXQgaGFzIG5vIGJlYXJpbmcgb24gdGhlIGhhbmRsaW5nIG9mIHN0cmluZ3NcbiAgIHdyaXR0ZW4gdG8gYGBzeXMuc3Rkb3V0YGAgb3IgYGBzeXMuc3RkZXJyYGAuKVxuXG5zdHIuaXNzcGFjZSgpXG5cbiAgIFJldHVybiB0cnVlIGlmIHRoZXJlIGFyZSBvbmx5IHdoaXRlc3BhY2UgY2hhcmFjdGVycyBpbiB0aGUgc3RyaW5nXG4gICBhbmQgdGhlcmUgaXMgYXQgbGVhc3Qgb25lIGNoYXJhY3RlciwgZmFsc2Ugb3RoZXJ3aXNlLiAgV2hpdGVzcGFjZVxuICAgY2hhcmFjdGVycyAgYXJlIHRob3NlIGNoYXJhY3RlcnMgZGVmaW5lZCBpbiB0aGUgVW5pY29kZSBjaGFyYWN0ZXJcbiAgIGRhdGFiYXNlIGFzICJPdGhlciIgb3IgIlNlcGFyYXRvciIgYW5kIHRob3NlIHdpdGggYmlkaXJlY3Rpb25hbFxuICAgcHJvcGVydHkgYmVpbmcgb25lIG9mICJXUyIsICJCIiwgb3IgIlMiLlxuXG5zdHIuaXN0aXRsZSgpXG5cbiAgIFJldHVybiB0cnVlIGlmIHRoZSBzdHJpbmcgaXMgYSB0aXRsZWNhc2VkIHN0cmluZyBhbmQgdGhlcmUgaXMgYXRcbiAgIGxlYXN0IG9uZSBjaGFyYWN0ZXIsIGZvciBleGFtcGxlIHVwcGVyY2FzZSBjaGFyYWN0ZXJzIG1heSBvbmx5XG4gICBmb2xsb3cgdW5jYXNlZCBjaGFyYWN0ZXJzIGFuZCBsb3dlcmNhc2UgY2hhcmFjdGVycyBvbmx5IGNhc2VkIG9uZXMuXG4gICBSZXR1cm4gZmFsc2Ugb3RoZXJ3aXNlLlxuXG5zdHIuaXN1cHBlcigpXG5cbiAgIFJldHVybiB0cnVlIGlmIGFsbCBjYXNlZCBjaGFyYWN0ZXJzIFs0XSBpbiB0aGUgc3RyaW5nIGFyZSB1cHBlcmNhc2VcbiAgIGFuZCB0aGVyZSBpcyBhdCBsZWFzdCBvbmUgY2FzZWQgY2hhcmFjdGVyLCBmYWxzZSBvdGhlcndpc2UuXG5cbnN0ci5qb2luKGl0ZXJhYmxlKVxuXG4gICBSZXR1cm4gYSBzdHJpbmcgd2hpY2ggaXMgdGhlIGNvbmNhdGVuYXRpb24gb2YgdGhlIHN0cmluZ3MgaW4gdGhlXG4gICAqaXRlcmFibGUqICppdGVyYWJsZSouICBBIGBgVHlwZUVycm9yYGAgd2lsbCBiZSByYWlzZWQgaWYgdGhlcmUgYXJlXG4gICBhbnkgbm9uLXN0cmluZyB2YWx1ZXMgaW4gKml0ZXJhYmxlKiwgaW5jbHVkaW5nIGBgYnl0ZXNgYCBvYmplY3RzLlxuICAgVGhlIHNlcGFyYXRvciBiZXR3ZWVuIGVsZW1lbnRzIGlzIHRoZSBzdHJpbmcgcHJvdmlkaW5nIHRoaXMgbWV0aG9kLlxuXG5zdHIubGp1c3Qod2lkdGhbLCBmaWxsY2hhcl0pXG5cbiAgIFJldHVybiB0aGUgc3RyaW5nIGxlZnQganVzdGlmaWVkIGluIGEgc3RyaW5nIG9mIGxlbmd0aCAqd2lkdGgqLlxuICAgUGFkZGluZyBpcyBkb25lIHVzaW5nIHRoZSBzcGVjaWZpZWQgKmZpbGxjaGFyKiAoZGVmYXVsdCBpcyBhXG4gICBzcGFjZSkuICBUaGUgb3JpZ2luYWwgc3RyaW5nIGlzIHJldHVybmVkIGlmICp3aWR0aCogaXMgbGVzcyB0aGFuIG9yXG4gICBlcXVhbCB0byBgYGxlbihzKWBgLlxuXG5zdHIubG93ZXIoKVxuXG4gICBSZXR1cm4gYSBjb3B5IG9mIHRoZSBzdHJpbmcgd2l0aCBhbGwgdGhlIGNhc2VkIGNoYXJhY3RlcnMgWzRdXG4gICBjb252ZXJ0ZWQgdG8gbG93ZXJjYXNlLlxuXG4gICBUaGUgbG93ZXJjYXNpbmcgYWxnb3JpdGhtIHVzZWQgaXMgZGVzY3JpYmVkIGluIHNlY3Rpb24gMy4xMyBvZiB0aGVcbiAgIFVuaWNvZGUgU3RhbmRhcmQuXG5cbnN0ci5sc3RyaXAoW2NoYXJzXSlcblxuICAgUmV0dXJuIGEgY29weSBvZiB0aGUgc3RyaW5nIHdpdGggbGVhZGluZyBjaGFyYWN0ZXJzIHJlbW92ZWQuICBUaGVcbiAgICpjaGFycyogYXJndW1lbnQgaXMgYSBzdHJpbmcgc3BlY2lmeWluZyB0aGUgc2V0IG9mIGNoYXJhY3RlcnMgdG8gYmVcbiAgIHJlbW92ZWQuICBJZiBvbWl0dGVkIG9yIGBgTm9uZWBgLCB0aGUgKmNoYXJzKiBhcmd1bWVudCBkZWZhdWx0cyB0b1xuICAgcmVtb3Zpbmcgd2hpdGVzcGFjZS4gIFRoZSAqY2hhcnMqIGFyZ3VtZW50IGlzIG5vdCBhIHByZWZpeDsgcmF0aGVyLFxuICAgYWxsIGNvbWJpbmF0aW9ucyBvZiBpdHMgdmFsdWVzIGFyZSBzdHJpcHBlZDpcblxuICAgPj4+IFwnICAgc3BhY2lvdXMgICBcJy5sc3RyaXAoKVxuICAgXCdzcGFjaW91cyAgIFwnXG4gICA+Pj4gXCd3d3cuZXhhbXBsZS5jb21cJy5sc3RyaXAoXCdjbW93ei5cJylcbiAgIFwnZXhhbXBsZS5jb21cJ1xuXG5zdGF0aWMgc3RyLm1ha2V0cmFucyh4WywgeVssIHpdXSlcblxuICAgVGhpcyBzdGF0aWMgbWV0aG9kIHJldHVybnMgYSB0cmFuc2xhdGlvbiB0YWJsZSB1c2FibGUgZm9yXG4gICBgYHN0ci50cmFuc2xhdGUoKWBgLlxuXG4gICBJZiB0aGVyZSBpcyBvbmx5IG9uZSBhcmd1bWVudCwgaXQgbXVzdCBiZSBhIGRpY3Rpb25hcnkgbWFwcGluZ1xuICAgVW5pY29kZSBvcmRpbmFscyAoaW50ZWdlcnMpIG9yIGNoYXJhY3RlcnMgKHN0cmluZ3Mgb2YgbGVuZ3RoIDEpIHRvXG4gICBVbmljb2RlIG9yZGluYWxzLCBzdHJpbmdzIChvZiBhcmJpdHJhcnkgbGVuZ3Rocykgb3IgTm9uZS5cbiAgIENoYXJhY3RlciBrZXlzIHdpbGwgdGhlbiBiZSBjb252ZXJ0ZWQgdG8gb3JkaW5hbHMuXG5cbiAgIElmIHRoZXJlIGFyZSB0d28gYXJndW1lbnRzLCB0aGV5IG11c3QgYmUgc3RyaW5ncyBvZiBlcXVhbCBsZW5ndGgsXG4gICBhbmQgaW4gdGhlIHJlc3VsdGluZyBkaWN0aW9uYXJ5LCBlYWNoIGNoYXJhY3RlciBpbiB4IHdpbGwgYmUgbWFwcGVkXG4gICB0byB0aGUgY2hhcmFjdGVyIGF0IHRoZSBzYW1lIHBvc2l0aW9uIGluIHkuICBJZiB0aGVyZSBpcyBhIHRoaXJkXG4gICBhcmd1bWVudCwgaXQgbXVzdCBiZSBhIHN0cmluZywgd2hvc2UgY2hhcmFjdGVycyB3aWxsIGJlIG1hcHBlZCB0b1xuICAgTm9uZSBpbiB0aGUgcmVzdWx0LlxuXG5zdHIucGFydGl0aW9uKHNlcClcblxuICAgU3BsaXQgdGhlIHN0cmluZyBhdCB0aGUgZmlyc3Qgb2NjdXJyZW5jZSBvZiAqc2VwKiwgYW5kIHJldHVybiBhXG4gICAzLXR1cGxlIGNvbnRhaW5pbmcgdGhlIHBhcnQgYmVmb3JlIHRoZSBzZXBhcmF0b3IsIHRoZSBzZXBhcmF0b3JcbiAgIGl0c2VsZiwgYW5kIHRoZSBwYXJ0IGFmdGVyIHRoZSBzZXBhcmF0b3IuICBJZiB0aGUgc2VwYXJhdG9yIGlzIG5vdFxuICAgZm91bmQsIHJldHVybiBhIDMtdHVwbGUgY29udGFpbmluZyB0aGUgc3RyaW5nIGl0c2VsZiwgZm9sbG93ZWQgYnlcbiAgIHR3byBlbXB0eSBzdHJpbmdzLlxuXG5zdHIucmVwbGFjZShvbGQsIG5ld1ssIGNvdW50XSlcblxuICAgUmV0dXJuIGEgY29weSBvZiB0aGUgc3RyaW5nIHdpdGggYWxsIG9jY3VycmVuY2VzIG9mIHN1YnN0cmluZyAqb2xkKlxuICAgcmVwbGFjZWQgYnkgKm5ldyouICBJZiB0aGUgb3B0aW9uYWwgYXJndW1lbnQgKmNvdW50KiBpcyBnaXZlbiwgb25seVxuICAgdGhlIGZpcnN0ICpjb3VudCogb2NjdXJyZW5jZXMgYXJlIHJlcGxhY2VkLlxuXG5zdHIucmZpbmQoc3ViWywgc3RhcnRbLCBlbmRdXSlcblxuICAgUmV0dXJuIHRoZSBoaWdoZXN0IGluZGV4IGluIHRoZSBzdHJpbmcgd2hlcmUgc3Vic3RyaW5nICpzdWIqIGlzXG4gICBmb3VuZCwgc3VjaCB0aGF0ICpzdWIqIGlzIGNvbnRhaW5lZCB3aXRoaW4gYGBzW3N0YXJ0OmVuZF1gYC5cbiAgIE9wdGlvbmFsIGFyZ3VtZW50cyAqc3RhcnQqIGFuZCAqZW5kKiBhcmUgaW50ZXJwcmV0ZWQgYXMgaW4gc2xpY2VcbiAgIG5vdGF0aW9uLiAgUmV0dXJuIGBgLTFgYCBvbiBmYWlsdXJlLlxuXG5zdHIucmluZGV4KHN1YlssIHN0YXJ0WywgZW5kXV0pXG5cbiAgIExpa2UgYGByZmluZCgpYGAgYnV0IHJhaXNlcyBgYFZhbHVlRXJyb3JgYCB3aGVuIHRoZSBzdWJzdHJpbmcgKnN1YipcbiAgIGlzIG5vdCBmb3VuZC5cblxuc3RyLnJqdXN0KHdpZHRoWywgZmlsbGNoYXJdKVxuXG4gICBSZXR1cm4gdGhlIHN0cmluZyByaWdodCBqdXN0aWZpZWQgaW4gYSBzdHJpbmcgb2YgbGVuZ3RoICp3aWR0aCouXG4gICBQYWRkaW5nIGlzIGRvbmUgdXNpbmcgdGhlIHNwZWNpZmllZCAqZmlsbGNoYXIqIChkZWZhdWx0IGlzIGFcbiAgIHNwYWNlKS4gVGhlIG9yaWdpbmFsIHN0cmluZyBpcyByZXR1cm5lZCBpZiAqd2lkdGgqIGlzIGxlc3MgdGhhbiBvclxuICAgZXF1YWwgdG8gYGBsZW4ocylgYC5cblxuc3RyLnJwYXJ0aXRpb24oc2VwKVxuXG4gICBTcGxpdCB0aGUgc3RyaW5nIGF0IHRoZSBsYXN0IG9jY3VycmVuY2Ugb2YgKnNlcCosIGFuZCByZXR1cm4gYVxuICAgMy10dXBsZSBjb250YWluaW5nIHRoZSBwYXJ0IGJlZm9yZSB0aGUgc2VwYXJhdG9yLCB0aGUgc2VwYXJhdG9yXG4gICBpdHNlbGYsIGFuZCB0aGUgcGFydCBhZnRlciB0aGUgc2VwYXJhdG9yLiAgSWYgdGhlIHNlcGFyYXRvciBpcyBub3RcbiAgIGZvdW5kLCByZXR1cm4gYSAzLXR1cGxlIGNvbnRhaW5pbmcgdHdvIGVtcHR5IHN0cmluZ3MsIGZvbGxvd2VkIGJ5XG4gICB0aGUgc3RyaW5nIGl0c2VsZi5cblxuc3RyLnJzcGxpdChzZXA9Tm9uZSwgbWF4c3BsaXQ9LTEpXG5cbiAgIFJldHVybiBhIGxpc3Qgb2YgdGhlIHdvcmRzIGluIHRoZSBzdHJpbmcsIHVzaW5nICpzZXAqIGFzIHRoZVxuICAgZGVsaW1pdGVyIHN0cmluZy4gSWYgKm1heHNwbGl0KiBpcyBnaXZlbiwgYXQgbW9zdCAqbWF4c3BsaXQqIHNwbGl0c1xuICAgYXJlIGRvbmUsIHRoZSAqcmlnaHRtb3N0KiBvbmVzLiAgSWYgKnNlcCogaXMgbm90IHNwZWNpZmllZCBvclxuICAgYGBOb25lYGAsIGFueSB3aGl0ZXNwYWNlIHN0cmluZyBpcyBhIHNlcGFyYXRvci4gIEV4Y2VwdCBmb3JcbiAgIHNwbGl0dGluZyBmcm9tIHRoZSByaWdodCwgYGByc3BsaXQoKWBgIGJlaGF2ZXMgbGlrZSBgYHNwbGl0KClgYFxuICAgd2hpY2ggaXMgZGVzY3JpYmVkIGluIGRldGFpbCBiZWxvdy5cblxuc3RyLnJzdHJpcChbY2hhcnNdKVxuXG4gICBSZXR1cm4gYSBjb3B5IG9mIHRoZSBzdHJpbmcgd2l0aCB0cmFpbGluZyBjaGFyYWN0ZXJzIHJlbW92ZWQuICBUaGVcbiAgICpjaGFycyogYXJndW1lbnQgaXMgYSBzdHJpbmcgc3BlY2lmeWluZyB0aGUgc2V0IG9mIGNoYXJhY3RlcnMgdG8gYmVcbiAgIHJlbW92ZWQuICBJZiBvbWl0dGVkIG9yIGBgTm9uZWBgLCB0aGUgKmNoYXJzKiBhcmd1bWVudCBkZWZhdWx0cyB0b1xuICAgcmVtb3Zpbmcgd2hpdGVzcGFjZS4gIFRoZSAqY2hhcnMqIGFyZ3VtZW50IGlzIG5vdCBhIHN1ZmZpeDsgcmF0aGVyLFxuICAgYWxsIGNvbWJpbmF0aW9ucyBvZiBpdHMgdmFsdWVzIGFyZSBzdHJpcHBlZDpcblxuICAgPj4+IFwnICAgc3BhY2lvdXMgICBcJy5yc3RyaXAoKVxuICAgXCcgICBzcGFjaW91c1wnXG4gICA+Pj4gXCdtaXNzaXNzaXBwaVwnLnJzdHJpcChcJ2lwelwnKVxuICAgXCdtaXNzaXNzXCdcblxuc3RyLnNwbGl0KHNlcD1Ob25lLCBtYXhzcGxpdD0tMSlcblxuICAgUmV0dXJuIGEgbGlzdCBvZiB0aGUgd29yZHMgaW4gdGhlIHN0cmluZywgdXNpbmcgKnNlcCogYXMgdGhlXG4gICBkZWxpbWl0ZXIgc3RyaW5nLiAgSWYgKm1heHNwbGl0KiBpcyBnaXZlbiwgYXQgbW9zdCAqbWF4c3BsaXQqXG4gICBzcGxpdHMgYXJlIGRvbmUgKHRodXMsIHRoZSBsaXN0IHdpbGwgaGF2ZSBhdCBtb3N0IGBgbWF4c3BsaXQrMWBgXG4gICBlbGVtZW50cykuICBJZiAqbWF4c3BsaXQqIGlzIG5vdCBzcGVjaWZpZWQsIHRoZW4gdGhlcmUgaXMgbm8gbGltaXRcbiAgIG9uIHRoZSBudW1iZXIgb2Ygc3BsaXRzIChhbGwgcG9zc2libGUgc3BsaXRzIGFyZSBtYWRlKS5cblxuICAgSWYgKnNlcCogaXMgZ2l2ZW4sIGNvbnNlY3V0aXZlIGRlbGltaXRlcnMgYXJlIG5vdCBncm91cGVkIHRvZ2V0aGVyXG4gICBhbmQgYXJlIGRlZW1lZCB0byBkZWxpbWl0IGVtcHR5IHN0cmluZ3MgKGZvciBleGFtcGxlLFxuICAgYGBcJzEsLDJcJy5zcGxpdChcJyxcJylgYCByZXR1cm5zIGBgW1wnMVwnLCBcJ1wnLCBcJzJcJ11gYCkuICBUaGUgKnNlcCpcbiAgIGFyZ3VtZW50IG1heSBjb25zaXN0IG9mIG11bHRpcGxlIGNoYXJhY3RlcnMgKGZvciBleGFtcGxlLFxuICAgYGBcJzE8PjI8PjNcJy5zcGxpdChcJzw+XCcpYGAgcmV0dXJucyBgYFtcJzFcJywgXCcyXCcsIFwnM1wnXWBgKS4gU3BsaXR0aW5nXG4gICBhbiBlbXB0eSBzdHJpbmcgd2l0aCBhIHNwZWNpZmllZCBzZXBhcmF0b3IgcmV0dXJucyBgYFtcJ1wnXWBgLlxuXG4gICBJZiAqc2VwKiBpcyBub3Qgc3BlY2lmaWVkIG9yIGlzIGBgTm9uZWBgLCBhIGRpZmZlcmVudCBzcGxpdHRpbmdcbiAgIGFsZ29yaXRobSBpcyBhcHBsaWVkOiBydW5zIG9mIGNvbnNlY3V0aXZlIHdoaXRlc3BhY2UgYXJlIHJlZ2FyZGVkXG4gICBhcyBhIHNpbmdsZSBzZXBhcmF0b3IsIGFuZCB0aGUgcmVzdWx0IHdpbGwgY29udGFpbiBubyBlbXB0eSBzdHJpbmdzXG4gICBhdCB0aGUgc3RhcnQgb3IgZW5kIGlmIHRoZSBzdHJpbmcgaGFzIGxlYWRpbmcgb3IgdHJhaWxpbmdcbiAgIHdoaXRlc3BhY2UuICBDb25zZXF1ZW50bHksIHNwbGl0dGluZyBhbiBlbXB0eSBzdHJpbmcgb3IgYSBzdHJpbmdcbiAgIGNvbnNpc3Rpbmcgb2YganVzdCB3aGl0ZXNwYWNlIHdpdGggYSBgYE5vbmVgYCBzZXBhcmF0b3IgcmV0dXJuc1xuICAgYGBbXWBgLlxuXG4gICBGb3IgZXhhbXBsZSwgYGBcJyAxICAyICAgMyAgXCcuc3BsaXQoKWBgIHJldHVybnMgYGBbXCcxXCcsIFwnMlwnLCBcJzNcJ11gYCxcbiAgIGFuZCBgYFwnICAxICAyICAgMyAgXCcuc3BsaXQoTm9uZSwgMSlgYCByZXR1cm5zIGBgW1wnMVwnLCBcJzIgICAzICBcJ11gYC5cblxuc3RyLnNwbGl0bGluZXMoW2tlZXBlbmRzXSlcblxuICAgUmV0dXJuIGEgbGlzdCBvZiB0aGUgbGluZXMgaW4gdGhlIHN0cmluZywgYnJlYWtpbmcgYXQgbGluZVxuICAgYm91bmRhcmllcy4gIExpbmUgYnJlYWtzIGFyZSBub3QgaW5jbHVkZWQgaW4gdGhlIHJlc3VsdGluZyBsaXN0XG4gICB1bmxlc3MgKmtlZXBlbmRzKiBpcyBnaXZlbiBhbmQgdHJ1ZS5cblxuc3RyLnN0YXJ0c3dpdGgocHJlZml4Wywgc3RhcnRbLCBlbmRdXSlcblxuICAgUmV0dXJuIGBgVHJ1ZWBgIGlmIHN0cmluZyBzdGFydHMgd2l0aCB0aGUgKnByZWZpeCosIG90aGVyd2lzZVxuICAgcmV0dXJuIGBgRmFsc2VgYC4gKnByZWZpeCogY2FuIGFsc28gYmUgYSB0dXBsZSBvZiBwcmVmaXhlcyB0byBsb29rXG4gICBmb3IuICBXaXRoIG9wdGlvbmFsICpzdGFydCosIHRlc3Qgc3RyaW5nIGJlZ2lubmluZyBhdCB0aGF0XG4gICBwb3NpdGlvbi4gIFdpdGggb3B0aW9uYWwgKmVuZCosIHN0b3AgY29tcGFyaW5nIHN0cmluZyBhdCB0aGF0XG4gICBwb3NpdGlvbi5cblxuc3RyLnN0cmlwKFtjaGFyc10pXG5cbiAgIFJldHVybiBhIGNvcHkgb2YgdGhlIHN0cmluZyB3aXRoIHRoZSBsZWFkaW5nIGFuZCB0cmFpbGluZ1xuICAgY2hhcmFjdGVycyByZW1vdmVkLiBUaGUgKmNoYXJzKiBhcmd1bWVudCBpcyBhIHN0cmluZyBzcGVjaWZ5aW5nIHRoZVxuICAgc2V0IG9mIGNoYXJhY3RlcnMgdG8gYmUgcmVtb3ZlZC4gSWYgb21pdHRlZCBvciBgYE5vbmVgYCwgdGhlXG4gICAqY2hhcnMqIGFyZ3VtZW50IGRlZmF1bHRzIHRvIHJlbW92aW5nIHdoaXRlc3BhY2UuIFRoZSAqY2hhcnMqXG4gICBhcmd1bWVudCBpcyBub3QgYSBwcmVmaXggb3Igc3VmZml4OyByYXRoZXIsIGFsbCBjb21iaW5hdGlvbnMgb2YgaXRzXG4gICB2YWx1ZXMgYXJlIHN0cmlwcGVkOlxuXG4gICA+Pj4gXCcgICBzcGFjaW91cyAgIFwnLnN0cmlwKClcbiAgIFwnc3BhY2lvdXNcJ1xuICAgPj4+IFwnd3d3LmV4YW1wbGUuY29tXCcuc3RyaXAoXCdjbW93ei5cJylcbiAgIFwnZXhhbXBsZVwnXG5cbnN0ci5zd2FwY2FzZSgpXG5cbiAgIFJldHVybiBhIGNvcHkgb2YgdGhlIHN0cmluZyB3aXRoIHVwcGVyY2FzZSBjaGFyYWN0ZXJzIGNvbnZlcnRlZCB0b1xuICAgbG93ZXJjYXNlIGFuZCB2aWNlIHZlcnNhLiBOb3RlIHRoYXQgaXQgaXMgbm90IG5lY2Vzc2FyaWx5IHRydWUgdGhhdFxuICAgYGBzLnN3YXBjYXNlKCkuc3dhcGNhc2UoKSA9PSBzYGAuXG5cbnN0ci50aXRsZSgpXG5cbiAgIFJldHVybiBhIHRpdGxlY2FzZWQgdmVyc2lvbiBvZiB0aGUgc3RyaW5nIHdoZXJlIHdvcmRzIHN0YXJ0IHdpdGggYW5cbiAgIHVwcGVyY2FzZSBjaGFyYWN0ZXIgYW5kIHRoZSByZW1haW5pbmcgY2hhcmFjdGVycyBhcmUgbG93ZXJjYXNlLlxuXG4gICBUaGUgYWxnb3JpdGhtIHVzZXMgYSBzaW1wbGUgbGFuZ3VhZ2UtaW5kZXBlbmRlbnQgZGVmaW5pdGlvbiBvZiBhXG4gICB3b3JkIGFzIGdyb3VwcyBvZiBjb25zZWN1dGl2ZSBsZXR0ZXJzLiAgVGhlIGRlZmluaXRpb24gd29ya3MgaW5cbiAgIG1hbnkgY29udGV4dHMgYnV0IGl0IG1lYW5zIHRoYXQgYXBvc3Ryb3BoZXMgaW4gY29udHJhY3Rpb25zIGFuZFxuICAgcG9zc2Vzc2l2ZXMgZm9ybSB3b3JkIGJvdW5kYXJpZXMsIHdoaWNoIG1heSBub3QgYmUgdGhlIGRlc2lyZWRcbiAgIHJlc3VsdDpcblxuICAgICAgPj4+ICJ0aGV5XCdyZSBiaWxsXCdzIGZyaWVuZHMgZnJvbSB0aGUgVUsiLnRpdGxlKClcbiAgICAgICJUaGV5XCdSZSBCaWxsXCdTIEZyaWVuZHMgRnJvbSBUaGUgVWsiXG5cbiAgIEEgd29ya2Fyb3VuZCBmb3IgYXBvc3Ryb3BoZXMgY2FuIGJlIGNvbnN0cnVjdGVkIHVzaW5nIHJlZ3VsYXJcbiAgIGV4cHJlc3Npb25zOlxuXG4gICAgICA+Pj4gaW1wb3J0IHJlXG4gICAgICA+Pj4gZGVmIHRpdGxlY2FzZShzKTpcbiAgICAgICAgICAgICAgcmV0dXJuIHJlLnN1YihyIltBLVphLXpdKyhcJ1tBLVphLXpdKyk/IixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYW1iZGEgbW86IG1vLmdyb3VwKDApWzBdLnVwcGVyKCkgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW8uZ3JvdXAoMClbMTpdLmxvd2VyKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcylcblxuICAgICAgPj4+IHRpdGxlY2FzZSgidGhleVwncmUgYmlsbFwncyBmcmllbmRzLiIpXG4gICAgICAiVGhleVwncmUgQmlsbFwncyBGcmllbmRzLiJcblxuc3RyLnRyYW5zbGF0ZShtYXApXG5cbiAgIFJldHVybiBhIGNvcHkgb2YgdGhlICpzKiB3aGVyZSBhbGwgY2hhcmFjdGVycyBoYXZlIGJlZW4gbWFwcGVkXG4gICB0aHJvdWdoIHRoZSAqbWFwKiB3aGljaCBtdXN0IGJlIGEgZGljdGlvbmFyeSBvZiBVbmljb2RlIG9yZGluYWxzXG4gICAoaW50ZWdlcnMpIHRvIFVuaWNvZGUgb3JkaW5hbHMsIHN0cmluZ3Mgb3IgYGBOb25lYGAuICBVbm1hcHBlZFxuICAgY2hhcmFjdGVycyBhcmUgbGVmdCB1bnRvdWNoZWQuIENoYXJhY3RlcnMgbWFwcGVkIHRvIGBgTm9uZWBgIGFyZVxuICAgZGVsZXRlZC5cblxuICAgWW91IGNhbiB1c2UgYGBzdHIubWFrZXRyYW5zKClgYCB0byBjcmVhdGUgYSB0cmFuc2xhdGlvbiBtYXAgZnJvbVxuICAgY2hhcmFjdGVyLXRvLWNoYXJhY3RlciBtYXBwaW5ncyBpbiBkaWZmZXJlbnQgZm9ybWF0cy5cblxuICAgTm90ZTogQW4gZXZlbiBtb3JlIGZsZXhpYmxlIGFwcHJvYWNoIGlzIHRvIGNyZWF0ZSBhIGN1c3RvbSBjaGFyYWN0ZXJcbiAgICAgbWFwcGluZyBjb2RlYyB1c2luZyB0aGUgYGBjb2RlY3NgYCBtb2R1bGUgKHNlZVxuICAgICBgYGVuY29kaW5ncy5jcDEyNTFgYCBmb3IgYW4gZXhhbXBsZSkuXG5cbnN0ci51cHBlcigpXG5cbiAgIFJldHVybiBhIGNvcHkgb2YgdGhlIHN0cmluZyB3aXRoIGFsbCB0aGUgY2FzZWQgY2hhcmFjdGVycyBbNF1cbiAgIGNvbnZlcnRlZCB0byB1cHBlcmNhc2UuICBOb3RlIHRoYXQgYGBzdHIudXBwZXIoKS5pc3VwcGVyKClgYCBtaWdodFxuICAgYmUgYGBGYWxzZWBgIGlmIGBgc2BgIGNvbnRhaW5zIHVuY2FzZWQgY2hhcmFjdGVycyBvciBpZiB0aGUgVW5pY29kZVxuICAgY2F0ZWdvcnkgb2YgdGhlIHJlc3VsdGluZyBjaGFyYWN0ZXIocykgaXMgbm90ICJMdSIgKExldHRlcixcbiAgIHVwcGVyY2FzZSksIGJ1dCBlLmcuICJMdCIgKExldHRlciwgdGl0bGVjYXNlKS5cblxuICAgVGhlIHVwcGVyY2FzaW5nIGFsZ29yaXRobSB1c2VkIGlzIGRlc2NyaWJlZCBpbiBzZWN0aW9uIDMuMTMgb2YgdGhlXG4gICBVbmljb2RlIFN0YW5kYXJkLlxuXG5zdHIuemZpbGwod2lkdGgpXG5cbiAgIFJldHVybiB0aGUgbnVtZXJpYyBzdHJpbmcgbGVmdCBmaWxsZWQgd2l0aCB6ZXJvcyBpbiBhIHN0cmluZyBvZlxuICAgbGVuZ3RoICp3aWR0aCouICBBIHNpZ24gcHJlZml4IGlzIGhhbmRsZWQgY29ycmVjdGx5LiAgVGhlIG9yaWdpbmFsXG4gICBzdHJpbmcgaXMgcmV0dXJuZWQgaWYgKndpZHRoKiBpcyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gYGBsZW4ocylgYC5cblxuXG5PbGQgU3RyaW5nIEZvcm1hdHRpbmcgT3BlcmF0aW9uc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuTm90ZTogVGhlIGZvcm1hdHRpbmcgb3BlcmF0aW9ucyBkZXNjcmliZWQgaGVyZSBhcmUgbW9kZWxsZWQgb24gQ1wnc1xuICBwcmludGYoKSBzeW50YXguICBUaGV5IG9ubHkgc3VwcG9ydCBmb3JtYXR0aW5nIG9mIGNlcnRhaW4gYnVpbHRpblxuICB0eXBlcy4gIFRoZSB1c2Ugb2YgYSBiaW5hcnkgb3BlcmF0b3IgbWVhbnMgdGhhdCBjYXJlIG1heSBiZSBuZWVkZWRcbiAgaW4gb3JkZXIgdG8gZm9ybWF0IHR1cGxlcyBhbmQgZGljdGlvbmFyaWVzIGNvcnJlY3RseS4gIEFzIHRoZSBuZXdcbiAgKlN0cmluZyBGb3JtYXR0aW5nKiBzeW50YXggaXMgbW9yZSBmbGV4aWJsZSBhbmQgaGFuZGxlcyB0dXBsZXMgYW5kXG4gIGRpY3Rpb25hcmllcyBuYXR1cmFsbHksIGl0IGlzIHJlY29tbWVuZGVkIGZvciBuZXcgY29kZS4gIEhvd2V2ZXIsXG4gIHRoZXJlIGFyZSBubyBjdXJyZW50IHBsYW5zIHRvIGRlcHJlY2F0ZSBwcmludGYtc3R5bGUgZm9ybWF0dGluZy5cblxuU3RyaW5nIG9iamVjdHMgaGF2ZSBvbmUgdW5pcXVlIGJ1aWx0LWluIG9wZXJhdGlvbjogdGhlIGBgJWBgIG9wZXJhdG9yXG4obW9kdWxvKS4gVGhpcyBpcyBhbHNvIGtub3duIGFzIHRoZSBzdHJpbmcgKmZvcm1hdHRpbmcqIG9yXG4qaW50ZXJwb2xhdGlvbiogb3BlcmF0b3IuIEdpdmVuIGBgZm9ybWF0ICUgdmFsdWVzYGAgKHdoZXJlICpmb3JtYXQqIGlzXG5hIHN0cmluZyksIGBgJWBgIGNvbnZlcnNpb24gc3BlY2lmaWNhdGlvbnMgaW4gKmZvcm1hdCogYXJlIHJlcGxhY2VkXG53aXRoIHplcm8gb3IgbW9yZSBlbGVtZW50cyBvZiAqdmFsdWVzKi4gVGhlIGVmZmVjdCBpcyBzaW1pbGFyIHRvIHRoZVxudXNpbmcgYGBzcHJpbnRmKClgYCBpbiB0aGUgQyBsYW5ndWFnZS5cblxuSWYgKmZvcm1hdCogcmVxdWlyZXMgYSBzaW5nbGUgYXJndW1lbnQsICp2YWx1ZXMqIG1heSBiZSBhIHNpbmdsZSBub24tXG50dXBsZSBvYmplY3QuIFs1XSAgT3RoZXJ3aXNlLCAqdmFsdWVzKiBtdXN0IGJlIGEgdHVwbGUgd2l0aCBleGFjdGx5XG50aGUgbnVtYmVyIG9mIGl0ZW1zIHNwZWNpZmllZCBieSB0aGUgZm9ybWF0IHN0cmluZywgb3IgYSBzaW5nbGVcbm1hcHBpbmcgb2JqZWN0IChmb3IgZXhhbXBsZSwgYSBkaWN0aW9uYXJ5KS5cblxuQSBjb252ZXJzaW9uIHNwZWNpZmllciBjb250YWlucyB0d28gb3IgbW9yZSBjaGFyYWN0ZXJzIGFuZCBoYXMgdGhlXG5mb2xsb3dpbmcgY29tcG9uZW50cywgd2hpY2ggbXVzdCBvY2N1ciBpbiB0aGlzIG9yZGVyOlxuXG4xLiBUaGUgYGBcJyVcJ2BgIGNoYXJhY3Rlciwgd2hpY2ggbWFya3MgdGhlIHN0YXJ0IG9mIHRoZSBzcGVjaWZpZXIuXG5cbjIuIE1hcHBpbmcga2V5IChvcHRpb25hbCksIGNvbnNpc3Rpbmcgb2YgYSBwYXJlbnRoZXNpc2VkIHNlcXVlbmNlIG9mXG4gICBjaGFyYWN0ZXJzIChmb3IgZXhhbXBsZSwgYGAoc29tZW5hbWUpYGApLlxuXG4zLiBDb252ZXJzaW9uIGZsYWdzIChvcHRpb25hbCksIHdoaWNoIGFmZmVjdCB0aGUgcmVzdWx0IG9mIHNvbWVcbiAgIGNvbnZlcnNpb24gdHlwZXMuXG5cbjQuIE1pbmltdW0gZmllbGQgd2lkdGggKG9wdGlvbmFsKS4gIElmIHNwZWNpZmllZCBhcyBhbiBgYFwnKlwnYGBcbiAgIChhc3RlcmlzayksIHRoZSBhY3R1YWwgd2lkdGggaXMgcmVhZCBmcm9tIHRoZSBuZXh0IGVsZW1lbnQgb2YgdGhlXG4gICB0dXBsZSBpbiAqdmFsdWVzKiwgYW5kIHRoZSBvYmplY3QgdG8gY29udmVydCBjb21lcyBhZnRlciB0aGVcbiAgIG1pbmltdW0gZmllbGQgd2lkdGggYW5kIG9wdGlvbmFsIHByZWNpc2lvbi5cblxuNS4gUHJlY2lzaW9uIChvcHRpb25hbCksIGdpdmVuIGFzIGEgYGBcJy5cJ2BgIChkb3QpIGZvbGxvd2VkIGJ5IHRoZVxuICAgcHJlY2lzaW9uLiAgSWYgc3BlY2lmaWVkIGFzIGBgXCcqXCdgYCAoYW4gYXN0ZXJpc2spLCB0aGUgYWN0dWFsXG4gICBwcmVjaXNpb24gaXMgcmVhZCBmcm9tIHRoZSBuZXh0IGVsZW1lbnQgb2YgdGhlIHR1cGxlIGluICp2YWx1ZXMqLFxuICAgYW5kIHRoZSB2YWx1ZSB0byBjb252ZXJ0IGNvbWVzIGFmdGVyIHRoZSBwcmVjaXNpb24uXG5cbjYuIExlbmd0aCBtb2RpZmllciAob3B0aW9uYWwpLlxuXG43LiBDb252ZXJzaW9uIHR5cGUuXG5cbldoZW4gdGhlIHJpZ2h0IGFyZ3VtZW50IGlzIGEgZGljdGlvbmFyeSAob3Igb3RoZXIgbWFwcGluZyB0eXBlKSwgdGhlblxudGhlIGZvcm1hdHMgaW4gdGhlIHN0cmluZyAqbXVzdCogaW5jbHVkZSBhIHBhcmVudGhlc2lzZWQgbWFwcGluZyBrZXlcbmludG8gdGhhdCBkaWN0aW9uYXJ5IGluc2VydGVkIGltbWVkaWF0ZWx5IGFmdGVyIHRoZSBgYFwnJVwnYGAgY2hhcmFjdGVyLlxuVGhlIG1hcHBpbmcga2V5IHNlbGVjdHMgdGhlIHZhbHVlIHRvIGJlIGZvcm1hdHRlZCBmcm9tIHRoZSBtYXBwaW5nLlxuRm9yIGV4YW1wbGU6XG5cbj4+PiBwcmludChcJyUobGFuZ3VhZ2UpcyBoYXMgJShudW1iZXIpMDNkIHF1b3RlIHR5cGVzLlwnICVcbi4uLiAgICAgICB7XCdsYW5ndWFnZVwnOiAiUHl0aG9uIiwgIm51bWJlciI6IDJ9KVxuUHl0aG9uIGhhcyAwMDIgcXVvdGUgdHlwZXMuXG5cbkluIHRoaXMgY2FzZSBubyBgYCpgYCBzcGVjaWZpZXJzIG1heSBvY2N1ciBpbiBhIGZvcm1hdCAoc2luY2UgdGhleVxucmVxdWlyZSBhIHNlcXVlbnRpYWwgcGFyYW1ldGVyIGxpc3QpLlxuXG5UaGUgY29udmVyc2lvbiBmbGFnIGNoYXJhY3RlcnMgYXJlOlxuXG4rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXG58IEZsYWcgICAgICB8IE1lYW5pbmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XG4rPT09PT09PT09PT0rPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0rXG58IGBgXCcjXCdgYCAgIHwgVGhlIHZhbHVlIGNvbnZlcnNpb24gd2lsbCB1c2UgdGhlICJhbHRlcm5hdGUgZm9ybSIgKHdoZXJlIGRlZmluZWQgICAgIHxcbnwgICAgICAgICAgIHwgYmVsb3cpLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcbnwgYGBcJzBcJ2BgICAgfCBUaGUgY29udmVyc2lvbiB3aWxsIGJlIHplcm8gcGFkZGVkIGZvciBudW1lcmljIHZhbHVlcy4gICAgICAgICAgICAgICAgfFxuKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xufCBgYFwnLVwnYGAgICB8IFRoZSBjb252ZXJ0ZWQgdmFsdWUgaXMgbGVmdCBhZGp1c3RlZCAob3ZlcnJpZGVzIHRoZSBgYFwnMFwnYGAgICAgICAgICAgIHxcbnwgICAgICAgICAgIHwgY29udmVyc2lvbiBpZiBib3RoIGFyZSBnaXZlbikuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcbnwgYGBcJyBcJ2BgICAgfCAoYSBzcGFjZSkgQSBibGFuayBzaG91bGQgYmUgbGVmdCBiZWZvcmUgYSBwb3NpdGl2ZSBudW1iZXIgKG9yIGVtcHR5ICAgfFxufCAgICAgICAgICAgfCBzdHJpbmcpIHByb2R1Y2VkIGJ5IGEgc2lnbmVkIGNvbnZlcnNpb24uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxuKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xufCBgYFwnK1wnYGAgICB8IEEgc2lnbiBjaGFyYWN0ZXIgKGBgXCcrXCdgYCBvciBgYFwnLVwnYGApIHdpbGwgcHJlY2VkZSB0aGUgY29udmVyc2lvbiAgICAgfFxufCAgICAgICAgICAgfCAob3ZlcnJpZGVzIGEgInNwYWNlIiBmbGFnKS4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxuKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xuXG5BIGxlbmd0aCBtb2RpZmllciAoYGBoYGAsIGBgbGBgLCBvciBgYExgYCkgbWF5IGJlIHByZXNlbnQsIGJ1dCBpc1xuaWdub3JlZCBhcyBpdCBpcyBub3QgbmVjZXNzYXJ5IGZvciBQeXRob24gLS0gc28gZS5nLiBgYCVsZGBgIGlzXG5pZGVudGljYWwgdG8gYGAlZGBgLlxuXG5UaGUgY29udmVyc2lvbiB0eXBlcyBhcmU6XG5cbistLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLStcbnwgQ29udmVyc2lvbiAgIHwgTWVhbmluZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBOb3RlcyAgIHxcbis9PT09PT09PT09PT09PSs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Kz09PT09PT09PStcbnwgYGBcJ2RcJ2BgICAgICAgfCBTaWduZWQgaW50ZWdlciBkZWNpbWFsLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfFxuKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tK1xufCBgYFwnaVwnYGAgICAgICB8IFNpZ25lZCBpbnRlZ2VyIGRlY2ltYWwuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rXG58IGBgXCdvXCdgYCAgICAgIHwgU2lnbmVkIG9jdGFsIHZhbHVlLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAoMSkgICAgIHxcbistLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLStcbnwgYGBcJ3VcJ2BgICAgICAgfCBPYnNvbGV0ZSB0eXBlIC0tIGl0IGlzIGlkZW50aWNhbCB0byBgYFwnZFwnYGAuICAgICAgICAgIHwgKDcpICAgICB8XG4rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rXG58IGBgXCd4XCdgYCAgICAgIHwgU2lnbmVkIGhleGFkZWNpbWFsIChsb3dlcmNhc2UpLiAgICAgICAgICAgICAgICAgICAgICAgfCAoMikgICAgIHxcbistLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLStcbnwgYGBcJ1hcJ2BgICAgICAgfCBTaWduZWQgaGV4YWRlY2ltYWwgKHVwcGVyY2FzZSkuICAgICAgICAgICAgICAgICAgICAgICB8ICgyKSAgICAgfFxuKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tK1xufCBgYFwnZVwnYGAgICAgICB8IEZsb2F0aW5nIHBvaW50IGV4cG9uZW50aWFsIGZvcm1hdCAobG93ZXJjYXNlKS4gICAgICAgIHwgKDMpICAgICB8XG4rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rXG58IGBgXCdFXCdgYCAgICAgIHwgRmxvYXRpbmcgcG9pbnQgZXhwb25lbnRpYWwgZm9ybWF0ICh1cHBlcmNhc2UpLiAgICAgICAgfCAoMykgICAgIHxcbistLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLStcbnwgYGBcJ2ZcJ2BgICAgICAgfCBGbG9hdGluZyBwb2ludCBkZWNpbWFsIGZvcm1hdC4gICAgICAgICAgICAgICAgICAgICAgICB8ICgzKSAgICAgfFxuKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tK1xufCBgYFwnRlwnYGAgICAgICB8IEZsb2F0aW5nIHBvaW50IGRlY2ltYWwgZm9ybWF0LiAgICAgICAgICAgICAgICAgICAgICAgIHwgKDMpICAgICB8XG4rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rXG58IGBgXCdnXCdgYCAgICAgIHwgRmxvYXRpbmcgcG9pbnQgZm9ybWF0LiBVc2VzIGxvd2VyY2FzZSBleHBvbmVudGlhbCAgICAgfCAoNCkgICAgIHxcbnwgICAgICAgICAgICAgIHwgZm9ybWF0IGlmIGV4cG9uZW50IGlzIGxlc3MgdGhhbiAtNCBvciBub3QgbGVzcyB0aGFuICAgfCAgICAgICAgIHxcbnwgICAgICAgICAgICAgIHwgcHJlY2lzaW9uLCBkZWNpbWFsIGZvcm1hdCBvdGhlcndpc2UuICAgICAgICAgICAgICAgICAgfCAgICAgICAgIHxcbistLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLStcbnwgYGBcJ0dcJ2BgICAgICAgfCBGbG9hdGluZyBwb2ludCBmb3JtYXQuIFVzZXMgdXBwZXJjYXNlIGV4cG9uZW50aWFsICAgICB8ICg0KSAgICAgfFxufCAgICAgICAgICAgICAgfCBmb3JtYXQgaWYgZXhwb25lbnQgaXMgbGVzcyB0aGFuIC00IG9yIG5vdCBsZXNzIHRoYW4gICB8ICAgICAgICAgfFxufCAgICAgICAgICAgICAgfCBwcmVjaXNpb24sIGRlY2ltYWwgZm9ybWF0IG90aGVyd2lzZS4gICAgICAgICAgICAgICAgICB8ICAgICAgICAgfFxuKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tK1xufCBgYFwnY1wnYGAgICAgICB8IFNpbmdsZSBjaGFyYWN0ZXIgKGFjY2VwdHMgaW50ZWdlciBvciBzaW5nbGUgY2hhcmFjdGVyIHwgICAgICAgICB8XG58ICAgICAgICAgICAgICB8IHN0cmluZykuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rXG58IGBgXCdyXCdgYCAgICAgIHwgU3RyaW5nIChjb252ZXJ0cyBhbnkgUHl0aG9uIG9iamVjdCB1c2luZyBgYHJlcHIoKWBgKS4gfCAoNSkgICAgIHxcbistLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLStcbnwgYGBcJ3NcJ2BgICAgICAgfCBTdHJpbmcgKGNvbnZlcnRzIGFueSBQeXRob24gb2JqZWN0IHVzaW5nIGBgc3RyKClgYCkuICB8ICg1KSAgICAgfFxuKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tK1xufCBgYFwnYVwnYGAgICAgICB8IFN0cmluZyAoY29udmVydHMgYW55IFB5dGhvbiBvYmplY3QgdXNpbmcgICAgICAgICAgICAgIHwgKDUpICAgICB8XG58ICAgICAgICAgICAgICB8IGBgYXNjaWkoKWBgKS4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rXG58IGBgXCclXCdgYCAgICAgIHwgTm8gYXJndW1lbnQgaXMgY29udmVydGVkLCByZXN1bHRzIGluIGEgYGBcJyVcJ2BgICAgICAgICB8ICAgICAgICAgfFxufCAgICAgICAgICAgICAgfCBjaGFyYWN0ZXIgaW4gdGhlIHJlc3VsdC4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgfFxuKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tK1xuXG5Ob3RlczpcblxuMS4gVGhlIGFsdGVybmF0ZSBmb3JtIGNhdXNlcyBhIGxlYWRpbmcgemVybyAoYGBcJzBcJ2BgKSB0byBiZSBpbnNlcnRlZFxuICAgYmV0d2VlbiBsZWZ0LWhhbmQgcGFkZGluZyBhbmQgdGhlIGZvcm1hdHRpbmcgb2YgdGhlIG51bWJlciBpZiB0aGVcbiAgIGxlYWRpbmcgY2hhcmFjdGVyIG9mIHRoZSByZXN1bHQgaXMgbm90IGFscmVhZHkgYSB6ZXJvLlxuXG4yLiBUaGUgYWx0ZXJuYXRlIGZvcm0gY2F1c2VzIGEgbGVhZGluZyBgYFwnMHhcJ2BgIG9yIGBgXCcwWFwnYGAgKGRlcGVuZGluZ1xuICAgb24gd2hldGhlciB0aGUgYGBcJ3hcJ2BgIG9yIGBgXCdYXCdgYCBmb3JtYXQgd2FzIHVzZWQpIHRvIGJlIGluc2VydGVkXG4gICBiZXR3ZWVuIGxlZnQtaGFuZCBwYWRkaW5nIGFuZCB0aGUgZm9ybWF0dGluZyBvZiB0aGUgbnVtYmVyIGlmIHRoZVxuICAgbGVhZGluZyBjaGFyYWN0ZXIgb2YgdGhlIHJlc3VsdCBpcyBub3QgYWxyZWFkeSBhIHplcm8uXG5cbjMuIFRoZSBhbHRlcm5hdGUgZm9ybSBjYXVzZXMgdGhlIHJlc3VsdCB0byBhbHdheXMgY29udGFpbiBhIGRlY2ltYWxcbiAgIHBvaW50LCBldmVuIGlmIG5vIGRpZ2l0cyBmb2xsb3cgaXQuXG5cbiAgIFRoZSBwcmVjaXNpb24gZGV0ZXJtaW5lcyB0aGUgbnVtYmVyIG9mIGRpZ2l0cyBhZnRlciB0aGUgZGVjaW1hbFxuICAgcG9pbnQgYW5kIGRlZmF1bHRzIHRvIDYuXG5cbjQuIFRoZSBhbHRlcm5hdGUgZm9ybSBjYXVzZXMgdGhlIHJlc3VsdCB0byBhbHdheXMgY29udGFpbiBhIGRlY2ltYWxcbiAgIHBvaW50LCBhbmQgdHJhaWxpbmcgemVyb2VzIGFyZSBub3QgcmVtb3ZlZCBhcyB0aGV5IHdvdWxkIG90aGVyd2lzZVxuICAgYmUuXG5cbiAgIFRoZSBwcmVjaXNpb24gZGV0ZXJtaW5lcyB0aGUgbnVtYmVyIG9mIHNpZ25pZmljYW50IGRpZ2l0cyBiZWZvcmVcbiAgIGFuZCBhZnRlciB0aGUgZGVjaW1hbCBwb2ludCBhbmQgZGVmYXVsdHMgdG8gNi5cblxuNS4gSWYgcHJlY2lzaW9uIGlzIGBgTmBgLCB0aGUgb3V0cHV0IGlzIHRydW5jYXRlZCB0byBgYE5gYCBjaGFyYWN0ZXJzLlxuXG4xLiBTZWUgKipQRVAgMjM3KiouXG5cblNpbmNlIFB5dGhvbiBzdHJpbmdzIGhhdmUgYW4gZXhwbGljaXQgbGVuZ3RoLCBgYCVzYGAgY29udmVyc2lvbnMgZG9cbm5vdCBhc3N1bWUgdGhhdCBgYFwnXFwwXCdgYCBpcyB0aGUgZW5kIG9mIHRoZSBzdHJpbmcuXG5cbkNoYW5nZWQgaW4gdmVyc2lvbiAzLjE6IGBgJWZgYCBjb252ZXJzaW9ucyBmb3IgbnVtYmVycyB3aG9zZSBhYnNvbHV0ZVxudmFsdWUgaXMgb3ZlciAxZTUwIGFyZSBubyBsb25nZXIgcmVwbGFjZWQgYnkgYGAlZ2BgIGNvbnZlcnNpb25zLlxuXG5BZGRpdGlvbmFsIHN0cmluZyBvcGVyYXRpb25zIGFyZSBkZWZpbmVkIGluIHN0YW5kYXJkIG1vZHVsZXNcbmBgc3RyaW5nYGAgYW5kIGBgcmVgYC5cblxuXG5SYW5nZSBUeXBlXG49PT09PT09PT09XG5cblRoZSBgYHJhbmdlYGAgdHlwZSBpcyBhbiBpbW11dGFibGUgc2VxdWVuY2Ugd2hpY2ggaXMgY29tbW9ubHkgdXNlZCBmb3Jcbmxvb3BpbmcuICBUaGUgYWR2YW50YWdlIG9mIHRoZSBgYHJhbmdlYGAgdHlwZSBpcyB0aGF0IGFuIGBgcmFuZ2VgYFxub2JqZWN0IHdpbGwgYWx3YXlzIHRha2UgdGhlIHNhbWUgYW1vdW50IG9mIG1lbW9yeSwgbm8gbWF0dGVyIHRoZSBzaXplXG5vZiB0aGUgcmFuZ2UgaXQgcmVwcmVzZW50cy5cblxuUmFuZ2Ugb2JqZWN0cyBoYXZlIHJlbGF0aXZlbHkgbGl0dGxlIGJlaGF2aW9yOiB0aGV5IHN1cHBvcnQgaW5kZXhpbmcsXG5jb250YWlucywgaXRlcmF0aW9uLCB0aGUgYGBsZW4oKWBgIGZ1bmN0aW9uLCBhbmQgdGhlIGZvbGxvd2luZ1xubWV0aG9kczpcblxucmFuZ2UuY291bnQoeClcblxuICAgUmV0dXJuIHRoZSBudW1iZXIgb2YgKmkqXCdzIGZvciB3aGljaCBgYHNbaV0gPT0geGBgLlxuXG4gICAgICBOZXcgaW4gdmVyc2lvbiAzLjIuXG5cbnJhbmdlLmluZGV4KHgpXG5cbiAgIFJldHVybiB0aGUgc21hbGxlc3QgKmkqIHN1Y2ggdGhhdCBgYHNbaV0gPT0geGBgLiAgUmFpc2VzXG4gICBgYFZhbHVlRXJyb3JgYCB3aGVuICp4KiBpcyBub3QgaW4gdGhlIHJhbmdlLlxuXG4gICAgICBOZXcgaW4gdmVyc2lvbiAzLjIuXG5cblxuTXV0YWJsZSBTZXF1ZW5jZSBUeXBlc1xuPT09PT09PT09PT09PT09PT09PT09PVxuXG5MaXN0IGFuZCBieXRlYXJyYXkgb2JqZWN0cyBzdXBwb3J0IGFkZGl0aW9uYWwgb3BlcmF0aW9ucyB0aGF0IGFsbG93XG5pbi1wbGFjZSBtb2RpZmljYXRpb24gb2YgdGhlIG9iamVjdC4gIE90aGVyIG11dGFibGUgc2VxdWVuY2UgdHlwZXNcbih3aGVuIGFkZGVkIHRvIHRoZSBsYW5ndWFnZSkgc2hvdWxkIGFsc28gc3VwcG9ydCB0aGVzZSBvcGVyYXRpb25zLlxuU3RyaW5ncyBhbmQgdHVwbGVzIGFyZSBpbW11dGFibGUgc2VxdWVuY2UgdHlwZXM6IHN1Y2ggb2JqZWN0cyBjYW5ub3RcbmJlIG1vZGlmaWVkIG9uY2UgY3JlYXRlZC4gVGhlIGZvbGxvd2luZyBvcGVyYXRpb25zIGFyZSBkZWZpbmVkIG9uXG5tdXRhYmxlIHNlcXVlbmNlIHR5cGVzICh3aGVyZSAqeCogaXMgYW4gYXJiaXRyYXJ5IG9iamVjdCkuXG5cbk5vdGUgdGhhdCB3aGlsZSBsaXN0cyBhbGxvdyB0aGVpciBpdGVtcyB0byBiZSBvZiBhbnkgdHlwZSwgYnl0ZWFycmF5XG5vYmplY3QgIml0ZW1zIiBhcmUgYWxsIGludGVnZXJzIGluIHRoZSByYW5nZSAwIDw9IHggPCAyNTYuXG5cbistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xufCBPcGVyYXRpb24gICAgICAgICAgICAgICAgICAgICAgfCBSZXN1bHQgICAgICAgICAgICAgICAgICAgICAgICAgICB8IE5vdGVzICAgICAgICAgICAgICAgICB8XG4rPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0rPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSs9PT09PT09PT09PT09PT09PT09PT09PStcbnwgYGBzW2ldID0geGBgICAgICAgICAgICAgICAgICAgIHwgaXRlbSAqaSogb2YgKnMqIGlzIHJlcGxhY2VkIGJ5ICAgfCAgICAgICAgICAgICAgICAgICAgICAgfFxufCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAqeCogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcbnwgYGBzW2k6al0gPSB0YGAgICAgICAgICAgICAgICAgIHwgc2xpY2Ugb2YgKnMqIGZyb20gKmkqIHRvICpqKiBpcyAgfCAgICAgICAgICAgICAgICAgICAgICAgfFxufCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCByZXBsYWNlZCBieSB0aGUgY29udGVudHMgb2YgdGhlICB8ICAgICAgICAgICAgICAgICAgICAgICB8XG58ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGl0ZXJhYmxlICp0KiAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgIHxcbistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xufCBgYGRlbCBzW2k6al1gYCAgICAgICAgICAgICAgICAgfCBzYW1lIGFzIGBgc1tpOmpdID0gW11gYCAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcbnwgYGBzW2k6ajprXSA9IHRgYCAgICAgICAgICAgICAgIHwgdGhlIGVsZW1lbnRzIG9mIGBgc1tpOmo6a11gYCBhcmUgfCAoMSkgICAgICAgICAgICAgICAgICAgfFxufCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCByZXBsYWNlZCBieSB0aG9zZSBvZiAqdCogICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcbnwgYGBkZWwgc1tpOmo6a11gYCAgICAgICAgICAgICAgIHwgcmVtb3ZlcyB0aGUgZWxlbWVudHMgb2YgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgfFxufCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBgYHNbaTpqOmtdYGAgZnJvbSB0aGUgbGlzdCAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcbnwgYGBzLmFwcGVuZCh4KWBgICAgICAgICAgICAgICAgIHwgc2FtZSBhcyBgYHNbbGVuKHMpOmxlbihzKV0gPSAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgfFxufCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBbeF1gYCAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcbnwgYGBzLmV4dGVuZCh4KWBgICAgICAgICAgICAgICAgIHwgc2FtZSBhcyBgYHNbbGVuKHMpOmxlbihzKV0gPSB4YGAgfCAoMikgICAgICAgICAgICAgICAgICAgfFxuKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXG58IGBgcy5jbGVhcigpYGAgICAgICAgICAgICAgICAgICB8IHJlbW92ZSBhbGwgaXRlbXMgZnJvbSBgYHNgYCAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgIHxcbistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xufCBgYHMuY29weSgpYGAgICAgICAgICAgICAgICAgICAgfCByZXR1cm4gYSBzaGFsbG93IGNvcHkgb2YgYGBzYGAgICB8ICAgICAgICAgICAgICAgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcbnwgYGBzLmNvdW50KHgpYGAgICAgICAgICAgICAgICAgIHwgcmV0dXJuIG51bWJlciBvZiAqaSpcJ3MgZm9yIHdoaWNoIHwgICAgICAgICAgICAgICAgICAgICAgIHxcbnwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYGBzW2ldID09IHhgYCAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgfFxuKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXG58IGBgcy5pbmRleCh4WywgaVssIGpdXSlgYCAgICAgICB8IHJldHVybiBzbWFsbGVzdCAqayogc3VjaCB0aGF0ICAgIHwgKDMpICAgICAgICAgICAgICAgICAgIHxcbnwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYGBzW2tdID09IHhgYCBhbmQgYGBpIDw9IGsgPCBqYGAgfCAgICAgICAgICAgICAgICAgICAgICAgfFxuKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXG58IGBgcy5pbnNlcnQoaSwgeClgYCAgICAgICAgICAgICB8IHNhbWUgYXMgYGBzW2k6aV0gPSBbeF1gYCAgICAgICAgIHwgKDQpICAgICAgICAgICAgICAgICAgIHxcbistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xufCBgYHMucG9wKFtpXSlgYCAgICAgICAgICAgICAgICAgfCBzYW1lIGFzIGBgeCA9IHNbaV07IGRlbCBzW2ldOyAgICB8ICg1KSAgICAgICAgICAgICAgICAgICB8XG58ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IHJldHVybiB4YGAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgIHxcbistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xufCBgYHMucmVtb3ZlKHgpYGAgICAgICAgICAgICAgICAgfCBzYW1lIGFzIGBgZGVsIHNbcy5pbmRleCh4KV1gYCAgICB8ICgzKSAgICAgICAgICAgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcbnwgYGBzLnJldmVyc2UoKWBgICAgICAgICAgICAgICAgIHwgcmV2ZXJzZXMgdGhlIGl0ZW1zIG9mICpzKiBpbiAgICAgfCAoNikgICAgICAgICAgICAgICAgICAgfFxufCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBwbGFjZSAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcbnwgYGBzLnNvcnQoW2tleVssIHJldmVyc2VdXSlgYCAgIHwgc29ydCB0aGUgaXRlbXMgb2YgKnMqIGluIHBsYWNlICAgfCAoNiksICg3KSwgKDgpICAgICAgICAgfFxuKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXG5cbk5vdGVzOlxuXG4xLiAqdCogbXVzdCBoYXZlIHRoZSBzYW1lIGxlbmd0aCBhcyB0aGUgc2xpY2UgaXQgaXMgcmVwbGFjaW5nLlxuXG4yLiAqeCogY2FuIGJlIGFueSBpdGVyYWJsZSBvYmplY3QuXG5cbjMuIFJhaXNlcyBgYFZhbHVlRXJyb3JgYCB3aGVuICp4KiBpcyBub3QgZm91bmQgaW4gKnMqLiBXaGVuIGEgbmVnYXRpdmVcbiAgIGluZGV4IGlzIHBhc3NlZCBhcyB0aGUgc2Vjb25kIG9yIHRoaXJkIHBhcmFtZXRlciB0byB0aGUgYGBpbmRleCgpYGBcbiAgIG1ldGhvZCwgdGhlIHNlcXVlbmNlIGxlbmd0aCBpcyBhZGRlZCwgYXMgZm9yIHNsaWNlIGluZGljZXMuICBJZiBpdFxuICAgaXMgc3RpbGwgbmVnYXRpdmUsIGl0IGlzIHRydW5jYXRlZCB0byB6ZXJvLCBhcyBmb3Igc2xpY2UgaW5kaWNlcy5cblxuNC4gV2hlbiBhIG5lZ2F0aXZlIGluZGV4IGlzIHBhc3NlZCBhcyB0aGUgZmlyc3QgcGFyYW1ldGVyIHRvIHRoZVxuICAgYGBpbnNlcnQoKWBgIG1ldGhvZCwgdGhlIHNlcXVlbmNlIGxlbmd0aCBpcyBhZGRlZCwgYXMgZm9yIHNsaWNlXG4gICBpbmRpY2VzLiAgSWYgaXQgaXMgc3RpbGwgbmVnYXRpdmUsIGl0IGlzIHRydW5jYXRlZCB0byB6ZXJvLCBhcyBmb3JcbiAgIHNsaWNlIGluZGljZXMuXG5cbjUuIFRoZSBvcHRpb25hbCBhcmd1bWVudCAqaSogZGVmYXVsdHMgdG8gYGAtMWBgLCBzbyB0aGF0IGJ5IGRlZmF1bHRcbiAgIHRoZSBsYXN0IGl0ZW0gaXMgcmVtb3ZlZCBhbmQgcmV0dXJuZWQuXG5cbjYuIFRoZSBgYHNvcnQoKWBgIGFuZCBgYHJldmVyc2UoKWBgIG1ldGhvZHMgbW9kaWZ5IHRoZSBzZXF1ZW5jZSBpblxuICAgcGxhY2UgZm9yIGVjb25vbXkgb2Ygc3BhY2Ugd2hlbiBzb3J0aW5nIG9yIHJldmVyc2luZyBhIGxhcmdlXG4gICBzZXF1ZW5jZS4gIFRvIHJlbWluZCB5b3UgdGhhdCB0aGV5IG9wZXJhdGUgYnkgc2lkZSBlZmZlY3QsIHRoZXlcbiAgIGRvblwndCByZXR1cm4gdGhlIHNvcnRlZCBvciByZXZlcnNlZCBzZXF1ZW5jZS5cblxuNy4gVGhlIGBgc29ydCgpYGAgbWV0aG9kIHRha2VzIG9wdGlvbmFsIGFyZ3VtZW50cyBmb3IgY29udHJvbGxpbmcgdGhlXG4gICBjb21wYXJpc29ucy4gIEVhY2ggbXVzdCBiZSBzcGVjaWZpZWQgYXMgYSBrZXl3b3JkIGFyZ3VtZW50LlxuXG4gICAqa2V5KiBzcGVjaWZpZXMgYSBmdW5jdGlvbiBvZiBvbmUgYXJndW1lbnQgdGhhdCBpcyB1c2VkIHRvIGV4dHJhY3RcbiAgIGEgY29tcGFyaXNvbiBrZXkgZnJvbSBlYWNoIGxpc3QgZWxlbWVudDogYGBrZXk9c3RyLmxvd2VyYGAuICBUaGVcbiAgIGRlZmF1bHQgdmFsdWUgaXMgYGBOb25lYGAuIFVzZSBgYGZ1bmN0b29scy5jbXBfdG9fa2V5KClgYCB0b1xuICAgY29udmVydCBhbiBvbGQtc3R5bGUgKmNtcCogZnVuY3Rpb24gdG8gYSAqa2V5KiBmdW5jdGlvbi5cblxuICAgKnJldmVyc2UqIGlzIGEgYm9vbGVhbiB2YWx1ZS4gIElmIHNldCB0byBgYFRydWVgYCwgdGhlbiB0aGUgbGlzdFxuICAgZWxlbWVudHMgYXJlIHNvcnRlZCBhcyBpZiBlYWNoIGNvbXBhcmlzb24gd2VyZSByZXZlcnNlZC5cblxuICAgVGhlIGBgc29ydCgpYGAgbWV0aG9kIGlzIGd1YXJhbnRlZWQgdG8gYmUgc3RhYmxlLiAgQSBzb3J0IGlzIHN0YWJsZVxuICAgaWYgaXQgZ3VhcmFudGVlcyBub3QgdG8gY2hhbmdlIHRoZSByZWxhdGl2ZSBvcmRlciBvZiBlbGVtZW50cyB0aGF0XG4gICBjb21wYXJlIGVxdWFsIC0tLSB0aGlzIGlzIGhlbHBmdWwgZm9yIHNvcnRpbmcgaW4gbXVsdGlwbGUgcGFzc2VzXG4gICAoZm9yIGV4YW1wbGUsIHNvcnQgYnkgZGVwYXJ0bWVudCwgdGhlbiBieSBzYWxhcnkgZ3JhZGUpLlxuXG4gICAqKkNQeXRob24gaW1wbGVtZW50YXRpb24gZGV0YWlsOioqIFdoaWxlIGEgbGlzdCBpcyBiZWluZyBzb3J0ZWQsXG4gICB0aGUgZWZmZWN0IG9mIGF0dGVtcHRpbmcgdG8gbXV0YXRlLCBvciBldmVuIGluc3BlY3QsIHRoZSBsaXN0IGlzXG4gICB1bmRlZmluZWQuICBUaGUgQyBpbXBsZW1lbnRhdGlvbiBvZiBQeXRob24gbWFrZXMgdGhlIGxpc3QgYXBwZWFyXG4gICBlbXB0eSBmb3IgdGhlIGR1cmF0aW9uLCBhbmQgcmFpc2VzIGBgVmFsdWVFcnJvcmBgIGlmIGl0IGNhbiBkZXRlY3RcbiAgIHRoYXQgdGhlIGxpc3QgaGFzIGJlZW4gbXV0YXRlZCBkdXJpbmcgYSBzb3J0LlxuXG44LiBgYHNvcnQoKWBgIGlzIG5vdCBzdXBwb3J0ZWQgYnkgYGBieXRlYXJyYXlgYCBvYmplY3RzLlxuXG4gICAgICBOZXcgaW4gdmVyc2lvbiAzLjM6IGBgY2xlYXIoKWBgIGFuZCBgYGNvcHkoKWBgIG1ldGhvZHMuXG5cblxuQnl0ZXMgYW5kIEJ5dGUgQXJyYXkgTWV0aG9kc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5CeXRlcyBhbmQgYnl0ZWFycmF5IG9iamVjdHMsIGJlaW5nICJzdHJpbmdzIG9mIGJ5dGVzIiwgaGF2ZSBhbGxcbm1ldGhvZHMgZm91bmQgb24gc3RyaW5ncywgd2l0aCB0aGUgZXhjZXB0aW9uIG9mIGBgZW5jb2RlKClgYCxcbmBgZm9ybWF0KClgYCBhbmQgYGBpc2lkZW50aWZpZXIoKWBgLCB3aGljaCBkbyBub3QgbWFrZSBzZW5zZSB3aXRoXG50aGVzZSB0eXBlcy4gIEZvciBjb252ZXJ0aW5nIHRoZSBvYmplY3RzIHRvIHN0cmluZ3MsIHRoZXkgaGF2ZSBhXG5gYGRlY29kZSgpYGAgbWV0aG9kLlxuXG5XaGVyZXZlciBvbmUgb2YgdGhlc2UgbWV0aG9kcyBuZWVkcyB0byBpbnRlcnByZXQgdGhlIGJ5dGVzIGFzXG5jaGFyYWN0ZXJzIChlLmcuIHRoZSBgYGlzLi4uKClgYCBtZXRob2RzKSwgdGhlIEFTQ0lJIGNoYXJhY3RlciBzZXQgaXNcbmFzc3VtZWQuXG5cbk5ldyBpbiB2ZXJzaW9uIDMuMzogVGhlIGZ1bmN0aW9ucyBgYGNvdW50KClgYCwgYGBmaW5kKClgYCxcbmBgaW5kZXgoKWBgLCBgYHJmaW5kKClgYCBhbmQgYGByaW5kZXgoKWBgIGhhdmUgYWRkaXRpb25hbCBzZW1hbnRpY3NcbmNvbXBhcmVkIHRvIHRoZSBjb3JyZXNwb25kaW5nIHN0cmluZyBmdW5jdGlvbnM6IFRoZXkgYWxzbyBhY2NlcHQgYW5cbmludGVnZXIgaW4gcmFuZ2UgMCB0byAyNTUgKGEgYnl0ZSkgYXMgdGhlaXIgZmlyc3QgYXJndW1lbnQuXG5cbk5vdGU6IFRoZSBtZXRob2RzIG9uIGJ5dGVzIGFuZCBieXRlYXJyYXkgb2JqZWN0cyBkb25cJ3QgYWNjZXB0IHN0cmluZ3MgYXNcbiAgdGhlaXIgYXJndW1lbnRzLCBqdXN0IGFzIHRoZSBtZXRob2RzIG9uIHN0cmluZ3MgZG9uXCd0IGFjY2VwdCBieXRlc1xuICBhcyB0aGVpciBhcmd1bWVudHMuICBGb3IgZXhhbXBsZSwgeW91IGhhdmUgdG8gd3JpdGVcblxuICAgICBhID0gImFiYyJcbiAgICAgYiA9IGEucmVwbGFjZSgiYSIsICJmIilcblxuICBhbmRcblxuICAgICBhID0gYiJhYmMiXG4gICAgIGIgPSBhLnJlcGxhY2UoYiJhIiwgYiJmIilcblxuYnl0ZXMuZGVjb2RlKGVuY29kaW5nPSJ1dGYtOCIsIGVycm9ycz0ic3RyaWN0IilcbmJ5dGVhcnJheS5kZWNvZGUoZW5jb2Rpbmc9InV0Zi04IiwgZXJyb3JzPSJzdHJpY3QiKVxuXG4gICBSZXR1cm4gYSBzdHJpbmcgZGVjb2RlZCBmcm9tIHRoZSBnaXZlbiBieXRlcy4gIERlZmF1bHQgZW5jb2RpbmcgaXNcbiAgIGBgXCd1dGYtOFwnYGAuICplcnJvcnMqIG1heSBiZSBnaXZlbiB0byBzZXQgYSBkaWZmZXJlbnQgZXJyb3JcbiAgIGhhbmRsaW5nIHNjaGVtZS4gIFRoZSBkZWZhdWx0IGZvciAqZXJyb3JzKiBpcyBgYFwnc3RyaWN0XCdgYCwgbWVhbmluZ1xuICAgdGhhdCBlbmNvZGluZyBlcnJvcnMgcmFpc2UgYSBgYFVuaWNvZGVFcnJvcmBgLiAgT3RoZXIgcG9zc2libGVcbiAgIHZhbHVlcyBhcmUgYGBcJ2lnbm9yZVwnYGAsIGBgXCdyZXBsYWNlXCdgYCBhbmQgYW55IG90aGVyIG5hbWVcbiAgIHJlZ2lzdGVyZWQgdmlhIGBgY29kZWNzLnJlZ2lzdGVyX2Vycm9yKClgYCwgc2VlIHNlY3Rpb24gKkNvZGVjIEJhc2VcbiAgIENsYXNzZXMqLiBGb3IgYSBsaXN0IG9mIHBvc3NpYmxlIGVuY29kaW5ncywgc2VlIHNlY3Rpb24gKlN0YW5kYXJkXG4gICBFbmNvZGluZ3MqLlxuXG4gICBDaGFuZ2VkIGluIHZlcnNpb24gMy4xOiBBZGRlZCBzdXBwb3J0IGZvciBrZXl3b3JkIGFyZ3VtZW50cy5cblxuVGhlIGJ5dGVzIGFuZCBieXRlYXJyYXkgdHlwZXMgaGF2ZSBhbiBhZGRpdGlvbmFsIGNsYXNzIG1ldGhvZDpcblxuY2xhc3NtZXRob2QgYnl0ZXMuZnJvbWhleChzdHJpbmcpXG5jbGFzc21ldGhvZCBieXRlYXJyYXkuZnJvbWhleChzdHJpbmcpXG5cbiAgIFRoaXMgYGBieXRlc2BgIGNsYXNzIG1ldGhvZCByZXR1cm5zIGEgYnl0ZXMgb3IgYnl0ZWFycmF5IG9iamVjdCxcbiAgIGRlY29kaW5nIHRoZSBnaXZlbiBzdHJpbmcgb2JqZWN0LiAgVGhlIHN0cmluZyBtdXN0IGNvbnRhaW4gdHdvXG4gICBoZXhhZGVjaW1hbCBkaWdpdHMgcGVyIGJ5dGUsIHNwYWNlcyBhcmUgaWdub3JlZC5cblxuICAgPj4+IGJ5dGVzLmZyb21oZXgoXCdmMCBmMWYyICBcJylcbiAgIGJcJ1xceGYwXFx4ZjFcXHhmMlwnXG5cblRoZSBtYWtldHJhbnMgYW5kIHRyYW5zbGF0ZSBtZXRob2RzIGRpZmZlciBpbiBzZW1hbnRpY3MgZnJvbSB0aGVcbnZlcnNpb25zIGF2YWlsYWJsZSBvbiBzdHJpbmdzOlxuXG5ieXRlcy50cmFuc2xhdGUodGFibGVbLCBkZWxldGVdKVxuYnl0ZWFycmF5LnRyYW5zbGF0ZSh0YWJsZVssIGRlbGV0ZV0pXG5cbiAgIFJldHVybiBhIGNvcHkgb2YgdGhlIGJ5dGVzIG9yIGJ5dGVhcnJheSBvYmplY3Qgd2hlcmUgYWxsIGJ5dGVzXG4gICBvY2N1cnJpbmcgaW4gdGhlIG9wdGlvbmFsIGFyZ3VtZW50ICpkZWxldGUqIGFyZSByZW1vdmVkLCBhbmQgdGhlXG4gICByZW1haW5pbmcgYnl0ZXMgaGF2ZSBiZWVuIG1hcHBlZCB0aHJvdWdoIHRoZSBnaXZlbiB0cmFuc2xhdGlvblxuICAgdGFibGUsIHdoaWNoIG11c3QgYmUgYSBieXRlcyBvYmplY3Qgb2YgbGVuZ3RoIDI1Ni5cblxuICAgWW91IGNhbiB1c2UgdGhlIGBgYnl0ZXMubWFrZXRyYW5zKClgYCBtZXRob2QgdG8gY3JlYXRlIGFcbiAgIHRyYW5zbGF0aW9uIHRhYmxlLlxuXG4gICBTZXQgdGhlICp0YWJsZSogYXJndW1lbnQgdG8gYGBOb25lYGAgZm9yIHRyYW5zbGF0aW9ucyB0aGF0IG9ubHlcbiAgIGRlbGV0ZSBjaGFyYWN0ZXJzOlxuXG4gICAgICA+Pj4gYlwncmVhZCB0aGlzIHNob3J0IHRleHRcJy50cmFuc2xhdGUoTm9uZSwgYlwnYWVpb3VcJylcbiAgICAgIGJcJ3JkIHRocyBzaHJ0IHR4dFwnXG5cbnN0YXRpYyBieXRlcy5tYWtldHJhbnMoZnJvbSwgdG8pXG5zdGF0aWMgYnl0ZWFycmF5Lm1ha2V0cmFucyhmcm9tLCB0bylcblxuICAgVGhpcyBzdGF0aWMgbWV0aG9kIHJldHVybnMgYSB0cmFuc2xhdGlvbiB0YWJsZSB1c2FibGUgZm9yXG4gICBgYGJ5dGVzLnRyYW5zbGF0ZSgpYGAgdGhhdCB3aWxsIG1hcCBlYWNoIGNoYXJhY3RlciBpbiAqZnJvbSogaW50b1xuICAgdGhlIGNoYXJhY3RlciBhdCB0aGUgc2FtZSBwb3NpdGlvbiBpbiAqdG8qOyAqZnJvbSogYW5kICp0byogbXVzdCBiZVxuICAgYnl0ZXMgb2JqZWN0cyBhbmQgaGF2ZSB0aGUgc2FtZSBsZW5ndGguXG5cbiAgIE5ldyBpbiB2ZXJzaW9uIDMuMS5cbicsCisgJ3R5cGVzc2VxLW11dGFibGUnOiAnXG5NdXRhYmxlIFNlcXVlbmNlIFR5cGVzXG4qKioqKioqKioqKioqKioqKioqKioqXG5cbkxpc3QgYW5kIGJ5dGVhcnJheSBvYmplY3RzIHN1cHBvcnQgYWRkaXRpb25hbCBvcGVyYXRpb25zIHRoYXQgYWxsb3dcbmluLXBsYWNlIG1vZGlmaWNhdGlvbiBvZiB0aGUgb2JqZWN0LiAgT3RoZXIgbXV0YWJsZSBzZXF1ZW5jZSB0eXBlc1xuKHdoZW4gYWRkZWQgdG8gdGhlIGxhbmd1YWdlKSBzaG91bGQgYWxzbyBzdXBwb3J0IHRoZXNlIG9wZXJhdGlvbnMuXG5TdHJpbmdzIGFuZCB0dXBsZXMgYXJlIGltbXV0YWJsZSBzZXF1ZW5jZSB0eXBlczogc3VjaCBvYmplY3RzIGNhbm5vdFxuYmUgbW9kaWZpZWQgb25jZSBjcmVhdGVkLiBUaGUgZm9sbG93aW5nIG9wZXJhdGlvbnMgYXJlIGRlZmluZWQgb25cbm11dGFibGUgc2VxdWVuY2UgdHlwZXMgKHdoZXJlICp4KiBpcyBhbiBhcmJpdHJhcnkgb2JqZWN0KS5cblxuTm90ZSB0aGF0IHdoaWxlIGxpc3RzIGFsbG93IHRoZWlyIGl0ZW1zIHRvIGJlIG9mIGFueSB0eXBlLCBieXRlYXJyYXlcbm9iamVjdCAiaXRlbXMiIGFyZSBhbGwgaW50ZWdlcnMgaW4gdGhlIHJhbmdlIDAgPD0geCA8IDI1Ni5cblxuKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXG58IE9wZXJhdGlvbiAgICAgICAgICAgICAgICAgICAgICB8IFJlc3VsdCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgTm90ZXMgICAgICAgICAgICAgICAgIHxcbis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Kz09PT09PT09PT09PT09PT09PT09PT09K1xufCBgYHNbaV0gPSB4YGAgICAgICAgICAgICAgICAgICAgfCBpdGVtICppKiBvZiAqcyogaXMgcmVwbGFjZWQgYnkgICB8ICAgICAgICAgICAgICAgICAgICAgICB8XG58ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICp4KiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgIHxcbistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xufCBgYHNbaTpqXSA9IHRgYCAgICAgICAgICAgICAgICAgfCBzbGljZSBvZiAqcyogZnJvbSAqaSogdG8gKmoqIGlzICB8ICAgICAgICAgICAgICAgICAgICAgICB8XG58ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IHJlcGxhY2VkIGJ5IHRoZSBjb250ZW50cyBvZiB0aGUgIHwgICAgICAgICAgICAgICAgICAgICAgIHxcbnwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgaXRlcmFibGUgKnQqICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgfFxuKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXG58IGBgZGVsIHNbaTpqXWBgICAgICAgICAgICAgICAgICB8IHNhbWUgYXMgYGBzW2k6al0gPSBbXWBgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgIHxcbistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xufCBgYHNbaTpqOmtdID0gdGBgICAgICAgICAgICAgICAgfCB0aGUgZWxlbWVudHMgb2YgYGBzW2k6ajprXWBgIGFyZSB8ICgxKSAgICAgICAgICAgICAgICAgICB8XG58ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IHJlcGxhY2VkIGJ5IHRob3NlIG9mICp0KiAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgIHxcbistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xufCBgYGRlbCBzW2k6ajprXWBgICAgICAgICAgICAgICAgfCByZW1vdmVzIHRoZSBlbGVtZW50cyBvZiAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICB8XG58ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGBgc1tpOmo6a11gYCBmcm9tIHRoZSBsaXN0ICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgIHxcbistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xufCBgYHMuYXBwZW5kKHgpYGAgICAgICAgICAgICAgICAgfCBzYW1lIGFzIGBgc1tsZW4ocyk6bGVuKHMpXSA9ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICB8XG58ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFt4XWBgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgIHxcbistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xufCBgYHMuZXh0ZW5kKHgpYGAgICAgICAgICAgICAgICAgfCBzYW1lIGFzIGBgc1tsZW4ocyk6bGVuKHMpXSA9IHhgYCB8ICgyKSAgICAgICAgICAgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcbnwgYGBzLmNsZWFyKClgYCAgICAgICAgICAgICAgICAgIHwgcmVtb3ZlIGFsbCBpdGVtcyBmcm9tIGBgc2BgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgfFxuKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXG58IGBgcy5jb3B5KClgYCAgICAgICAgICAgICAgICAgICB8IHJldHVybiBhIHNoYWxsb3cgY29weSBvZiBgYHNgYCAgIHwgICAgICAgICAgICAgICAgICAgICAgIHxcbistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xufCBgYHMuY291bnQoeClgYCAgICAgICAgICAgICAgICAgfCByZXR1cm4gbnVtYmVyIG9mICppKlwncyBmb3Igd2hpY2ggfCAgICAgICAgICAgICAgICAgICAgICAgfFxufCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBgYHNbaV0gPT0geGBgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcbnwgYGBzLmluZGV4KHhbLCBpWywgal1dKWBgICAgICAgIHwgcmV0dXJuIHNtYWxsZXN0ICprKiBzdWNoIHRoYXQgICAgfCAoMykgICAgICAgICAgICAgICAgICAgfFxufCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBgYHNba10gPT0geGBgIGFuZCBgYGkgPD0gayA8IGpgYCB8ICAgICAgICAgICAgICAgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcbnwgYGBzLmluc2VydChpLCB4KWBgICAgICAgICAgICAgIHwgc2FtZSBhcyBgYHNbaTppXSA9IFt4XWBgICAgICAgICAgfCAoNCkgICAgICAgICAgICAgICAgICAgfFxuKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXG58IGBgcy5wb3AoW2ldKWBgICAgICAgICAgICAgICAgICB8IHNhbWUgYXMgYGB4ID0gc1tpXTsgZGVsIHNbaV07ICAgIHwgKDUpICAgICAgICAgICAgICAgICAgIHxcbnwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgcmV0dXJuIHhgYCAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgfFxuKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXG58IGBgcy5yZW1vdmUoeClgYCAgICAgICAgICAgICAgICB8IHNhbWUgYXMgYGBkZWwgc1tzLmluZGV4KHgpXWBgICAgIHwgKDMpICAgICAgICAgICAgICAgICAgIHxcbistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xufCBgYHMucmV2ZXJzZSgpYGAgICAgICAgICAgICAgICAgfCByZXZlcnNlcyB0aGUgaXRlbXMgb2YgKnMqIGluICAgICB8ICg2KSAgICAgICAgICAgICAgICAgICB8XG58ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IHBsYWNlICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgIHxcbistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xufCBgYHMuc29ydChba2V5WywgcmV2ZXJzZV1dKWBgICAgfCBzb3J0IHRoZSBpdGVtcyBvZiAqcyogaW4gcGxhY2UgICB8ICg2KSwgKDcpLCAoOCkgICAgICAgICB8XG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcblxuTm90ZXM6XG5cbjEuICp0KiBtdXN0IGhhdmUgdGhlIHNhbWUgbGVuZ3RoIGFzIHRoZSBzbGljZSBpdCBpcyByZXBsYWNpbmcuXG5cbjIuICp4KiBjYW4gYmUgYW55IGl0ZXJhYmxlIG9iamVjdC5cblxuMy4gUmFpc2VzIGBgVmFsdWVFcnJvcmBgIHdoZW4gKngqIGlzIG5vdCBmb3VuZCBpbiAqcyouIFdoZW4gYSBuZWdhdGl2ZVxuICAgaW5kZXggaXMgcGFzc2VkIGFzIHRoZSBzZWNvbmQgb3IgdGhpcmQgcGFyYW1ldGVyIHRvIHRoZSBgYGluZGV4KClgYFxuICAgbWV0aG9kLCB0aGUgc2VxdWVuY2UgbGVuZ3RoIGlzIGFkZGVkLCBhcyBmb3Igc2xpY2UgaW5kaWNlcy4gIElmIGl0XG4gICBpcyBzdGlsbCBuZWdhdGl2ZSwgaXQgaXMgdHJ1bmNhdGVkIHRvIHplcm8sIGFzIGZvciBzbGljZSBpbmRpY2VzLlxuXG40LiBXaGVuIGEgbmVnYXRpdmUgaW5kZXggaXMgcGFzc2VkIGFzIHRoZSBmaXJzdCBwYXJhbWV0ZXIgdG8gdGhlXG4gICBgYGluc2VydCgpYGAgbWV0aG9kLCB0aGUgc2VxdWVuY2UgbGVuZ3RoIGlzIGFkZGVkLCBhcyBmb3Igc2xpY2VcbiAgIGluZGljZXMuICBJZiBpdCBpcyBzdGlsbCBuZWdhdGl2ZSwgaXQgaXMgdHJ1bmNhdGVkIHRvIHplcm8sIGFzIGZvclxuICAgc2xpY2UgaW5kaWNlcy5cblxuNS4gVGhlIG9wdGlvbmFsIGFyZ3VtZW50ICppKiBkZWZhdWx0cyB0byBgYC0xYGAsIHNvIHRoYXQgYnkgZGVmYXVsdFxuICAgdGhlIGxhc3QgaXRlbSBpcyByZW1vdmVkIGFuZCByZXR1cm5lZC5cblxuNi4gVGhlIGBgc29ydCgpYGAgYW5kIGBgcmV2ZXJzZSgpYGAgbWV0aG9kcyBtb2RpZnkgdGhlIHNlcXVlbmNlIGluXG4gICBwbGFjZSBmb3IgZWNvbm9teSBvZiBzcGFjZSB3aGVuIHNvcnRpbmcgb3IgcmV2ZXJzaW5nIGEgbGFyZ2VcbiAgIHNlcXVlbmNlLiAgVG8gcmVtaW5kIHlvdSB0aGF0IHRoZXkgb3BlcmF0ZSBieSBzaWRlIGVmZmVjdCwgdGhleVxuICAgZG9uXCd0IHJldHVybiB0aGUgc29ydGVkIG9yIHJldmVyc2VkIHNlcXVlbmNlLlxuXG43LiBUaGUgYGBzb3J0KClgYCBtZXRob2QgdGFrZXMgb3B0aW9uYWwgYXJndW1lbnRzIGZvciBjb250cm9sbGluZyB0aGVcbiAgIGNvbXBhcmlzb25zLiAgRWFjaCBtdXN0IGJlIHNwZWNpZmllZCBhcyBhIGtleXdvcmQgYXJndW1lbnQuXG5cbiAgICprZXkqIHNwZWNpZmllcyBhIGZ1bmN0aW9uIG9mIG9uZSBhcmd1bWVudCB0aGF0IGlzIHVzZWQgdG8gZXh0cmFjdFxuICAgYSBjb21wYXJpc29uIGtleSBmcm9tIGVhY2ggbGlzdCBlbGVtZW50OiBgYGtleT1zdHIubG93ZXJgYC4gIFRoZVxuICAgZGVmYXVsdCB2YWx1ZSBpcyBgYE5vbmVgYC4gVXNlIGBgZnVuY3Rvb2xzLmNtcF90b19rZXkoKWBgIHRvXG4gICBjb252ZXJ0IGFuIG9sZC1zdHlsZSAqY21wKiBmdW5jdGlvbiB0byBhICprZXkqIGZ1bmN0aW9uLlxuXG4gICAqcmV2ZXJzZSogaXMgYSBib29sZWFuIHZhbHVlLiAgSWYgc2V0IHRvIGBgVHJ1ZWBgLCB0aGVuIHRoZSBsaXN0XG4gICBlbGVtZW50cyBhcmUgc29ydGVkIGFzIGlmIGVhY2ggY29tcGFyaXNvbiB3ZXJlIHJldmVyc2VkLlxuXG4gICBUaGUgYGBzb3J0KClgYCBtZXRob2QgaXMgZ3VhcmFudGVlZCB0byBiZSBzdGFibGUuICBBIHNvcnQgaXMgc3RhYmxlXG4gICBpZiBpdCBndWFyYW50ZWVzIG5vdCB0byBjaGFuZ2UgdGhlIHJlbGF0aXZlIG9yZGVyIG9mIGVsZW1lbnRzIHRoYXRcbiAgIGNvbXBhcmUgZXF1YWwgLS0tIHRoaXMgaXMgaGVscGZ1bCBmb3Igc29ydGluZyBpbiBtdWx0aXBsZSBwYXNzZXNcbiAgIChmb3IgZXhhbXBsZSwgc29ydCBieSBkZXBhcnRtZW50LCB0aGVuIGJ5IHNhbGFyeSBncmFkZSkuXG5cbiAgICoqQ1B5dGhvbiBpbXBsZW1lbnRhdGlvbiBkZXRhaWw6KiogV2hpbGUgYSBsaXN0IGlzIGJlaW5nIHNvcnRlZCxcbiAgIHRoZSBlZmZlY3Qgb2YgYXR0ZW1wdGluZyB0byBtdXRhdGUsIG9yIGV2ZW4gaW5zcGVjdCwgdGhlIGxpc3QgaXNcbiAgIHVuZGVmaW5lZC4gIFRoZSBDIGltcGxlbWVudGF0aW9uIG9mIFB5dGhvbiBtYWtlcyB0aGUgbGlzdCBhcHBlYXJcbiAgIGVtcHR5IGZvciB0aGUgZHVyYXRpb24sIGFuZCByYWlzZXMgYGBWYWx1ZUVycm9yYGAgaWYgaXQgY2FuIGRldGVjdFxuICAgdGhhdCB0aGUgbGlzdCBoYXMgYmVlbiBtdXRhdGVkIGR1cmluZyBhIHNvcnQuXG5cbjguIGBgc29ydCgpYGAgaXMgbm90IHN1cHBvcnRlZCBieSBgYGJ5dGVhcnJheWBgIG9iamVjdHMuXG5cbiAgICAgIE5ldyBpbiB2ZXJzaW9uIDMuMzogYGBjbGVhcigpYGAgYW5kIGBgY29weSgpYGAgbWV0aG9kcy5cbicsCiAgJ3VuYXJ5JzogJ1xuVW5hcnkgYXJpdGhtZXRpYyBhbmQgYml0d2lzZSBvcGVyYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuQWxsIHVuYXJ5IGFyaXRobWV0aWMgYW5kIGJpdHdpc2Ugb3BlcmF0aW9ucyBoYXZlIHRoZSBzYW1lIHByaW9yaXR5OlxuXG4gICB1X2V4cHIgOjo9IHBvd2VyIHwgIi0iIHVfZXhwciB8ICIrIiB1X2V4cHIgfCAifiIgdV9leHByXG5cblRoZSB1bmFyeSBgYC1gYCAobWludXMpIG9wZXJhdG9yIHlpZWxkcyB0aGUgbmVnYXRpb24gb2YgaXRzIG51bWVyaWNcbmFyZ3VtZW50LlxuXG5UaGUgdW5hcnkgYGArYGAgKHBsdXMpIG9wZXJhdG9yIHlpZWxkcyBpdHMgbnVtZXJpYyBhcmd1bWVudCB1bmNoYW5nZWQuXG5cblRoZSB1bmFyeSBgYH5gYCAoaW52ZXJ0KSBvcGVyYXRvciB5aWVsZHMgdGhlIGJpdHdpc2UgaW52ZXJzaW9uIG9mIGl0c1xuaW50ZWdlciBhcmd1bWVudC4gIFRoZSBiaXR3aXNlIGludmVyc2lvbiBvZiBgYHhgYCBpcyBkZWZpbmVkIGFzXG5gYC0oeCsxKWBgLiAgSXQgb25seSBhcHBsaWVzIHRvIGludGVncmFsIG51bWJlcnMuXG5cbkluIGFsbCB0aHJlZSBjYXNlcywgaWYgdGhlIGFyZ3VtZW50IGRvZXMgbm90IGhhdmUgdGhlIHByb3BlciB0eXBlLCBhXG5gYFR5cGVFcnJvcmBgIGV4Y2VwdGlvbiBpcyByYWlzZWQuXG4nLAogICd3aGlsZSc6ICdcblRoZSBgYHdoaWxlYGAgc3RhdGVtZW50XG4qKioqKioqKioqKioqKioqKioqKioqKlxuXG5UaGUgYGB3aGlsZWBgIHN0YXRlbWVudCBpcyB1c2VkIGZvciByZXBlYXRlZCBleGVjdXRpb24gYXMgbG9uZyBhcyBhblxuZXhwcmVzc2lvbiBpcyB0cnVlOlxuXG4gICB3aGlsZV9zdG10IDo6PSAid2hpbGUiIGV4cHJlc3Npb24gIjoiIHN1aXRlXG4gICAgICAgICAgICAgICAgICBbImVsc2UiICI6IiBzdWl0ZV1cblxuVGhpcyByZXBlYXRlZGx5IHRlc3RzIHRoZSBleHByZXNzaW9uIGFuZCwgaWYgaXQgaXMgdHJ1ZSwgZXhlY3V0ZXMgdGhlXG5maXJzdCBzdWl0ZTsgaWYgdGhlIGV4cHJlc3Npb24gaXMgZmFsc2UgKHdoaWNoIG1heSBiZSB0aGUgZmlyc3QgdGltZVxuaXQgaXMgdGVzdGVkKSB0aGUgc3VpdGUgb2YgdGhlIGBgZWxzZWBgIGNsYXVzZSwgaWYgcHJlc2VudCwgaXNcbmV4ZWN1dGVkIGFuZCB0aGUgbG9vcCB0ZXJtaW5hdGVzLlxuXG5BIGBgYnJlYWtgYCBzdGF0ZW1lbnQgZXhlY3V0ZWQgaW4gdGhlIGZpcnN0IHN1aXRlIHRlcm1pbmF0ZXMgdGhlIGxvb3BcbndpdGhvdXQgZXhlY3V0aW5nIHRoZSBgYGVsc2VgYCBjbGF1c2VcJ3Mgc3VpdGUuICBBIGBgY29udGludWVgYFxuc3RhdGVtZW50IGV4ZWN1dGVkIGluIHRoZSBmaXJzdCBzdWl0ZSBza2lwcyB0aGUgcmVzdCBvZiB0aGUgc3VpdGUgYW5kXG5nb2VzIGJhY2sgdG8gdGVzdGluZyB0aGUgZXhwcmVzc2lvbi5cbicsCiAgJ3dpdGgnOiAnXG5UaGUgYGB3aXRoYGAgc3RhdGVtZW50XG4qKioqKioqKioqKioqKioqKioqKioqXG5cblRoZSBgYHdpdGhgYCBzdGF0ZW1lbnQgaXMgdXNlZCB0byB3cmFwIHRoZSBleGVjdXRpb24gb2YgYSBibG9jayB3aXRoXG5tZXRob2RzIGRlZmluZWQgYnkgYSBjb250ZXh0IG1hbmFnZXIgKHNlZSBzZWN0aW9uICpXaXRoIFN0YXRlbWVudFxuQ29udGV4dCBNYW5hZ2VycyopLiBUaGlzIGFsbG93cyBjb21tb25cbmBgdHJ5YGAuLi5gYGV4Y2VwdGBgLi4uYGBmaW5hbGx5YGAgdXNhZ2UgcGF0dGVybnMgdG8gYmUgZW5jYXBzdWxhdGVkXG5mb3IgY29udmVuaWVudCByZXVzZS5cblxuICAgd2l0aF9zdG10IDo6PSAid2l0aCIgd2l0aF9pdGVtICgiLCIgd2l0aF9pdGVtKSogIjoiIHN1aXRlXG4gICB3aXRoX2l0ZW0gOjo9IGV4cHJlc3Npb24gWyJhcyIgdGFyZ2V0XVxuXG5UaGUgZXhlY3V0aW9uIG9mIHRoZSBgYHdpdGhgYCBzdGF0ZW1lbnQgd2l0aCBvbmUgIml0ZW0iIHByb2NlZWRzIGFzXG5mb2xsb3dzOlxuXG4xLiBUaGUgY29udGV4dCBleHByZXNzaW9uICh0aGUgZXhwcmVzc2lvbiBnaXZlbiBpbiB0aGUgYGB3aXRoX2l0ZW1gYClcbiAgIGlzIGV2YWx1YXRlZCB0byBvYnRhaW4gYSBjb250ZXh0IG1hbmFnZXIuXG5cbjIuIFRoZSBjb250ZXh0IG1hbmFnZXJcJ3MgYGBfX2V4aXRfXygpYGAgaXMgbG9hZGVkIGZvciBsYXRlciB1c2UuXG5cbjMuIFRoZSBjb250ZXh0IG1hbmFnZXJcJ3MgYGBfX2VudGVyX18oKWBgIG1ldGhvZCBpcyBpbnZva2VkLlxuXG40LiBJZiBhIHRhcmdldCB3YXMgaW5jbHVkZWQgaW4gdGhlIGBgd2l0aGBgIHN0YXRlbWVudCwgdGhlIHJldHVyblxuICAgdmFsdWUgZnJvbSBgYF9fZW50ZXJfXygpYGAgaXMgYXNzaWduZWQgdG8gaXQuXG5cbiAgIE5vdGU6IFRoZSBgYHdpdGhgYCBzdGF0ZW1lbnQgZ3VhcmFudGVlcyB0aGF0IGlmIHRoZSBgYF9fZW50ZXJfXygpYGBcbiAgICAgbWV0aG9kIHJldHVybnMgd2l0aG91dCBhbiBlcnJvciwgdGhlbiBgYF9fZXhpdF9fKClgYCB3aWxsIGFsd2F5c1xuICAgICBiZSBjYWxsZWQuIFRodXMsIGlmIGFuIGVycm9yIG9jY3VycyBkdXJpbmcgdGhlIGFzc2lnbm1lbnQgdG8gdGhlXG4gICAgIHRhcmdldCBsaXN0LCBpdCB3aWxsIGJlIHRyZWF0ZWQgdGhlIHNhbWUgYXMgYW4gZXJyb3Igb2NjdXJyaW5nXG4gICAgIHdpdGhpbiB0aGUgc3VpdGUgd291bGQgYmUuIFNlZSBzdGVwIDYgYmVsb3cuXG5cbjUuIFRoZSBzdWl0ZSBpcyBleGVjdXRlZC5cblxuNi4gVGhlIGNvbnRleHQgbWFuYWdlclwncyBgYF9fZXhpdF9fKClgYCBtZXRob2QgaXMgaW52b2tlZC4gIElmIGFuXG4gICBleGNlcHRpb24gY2F1c2VkIHRoZSBzdWl0ZSB0byBiZSBleGl0ZWQsIGl0cyB0eXBlLCB2YWx1ZSwgYW5kXG4gICB0cmFjZWJhY2sgYXJlIHBhc3NlZCBhcyBhcmd1bWVudHMgdG8gYGBfX2V4aXRfXygpYGAuIE90aGVyd2lzZSxcbiAgIHRocmVlIGBgTm9uZWBgIGFyZ3VtZW50cyBhcmUgc3VwcGxpZWQuXG5cbiAgIElmIHRoZSBzdWl0ZSB3YXMgZXhpdGVkIGR1ZSB0byBhbiBleGNlcHRpb24sIGFuZCB0aGUgcmV0dXJuIHZhbHVlXG4gICBmcm9tIHRoZSBgYF9fZXhpdF9fKClgYCBtZXRob2Qgd2FzIGZhbHNlLCB0aGUgZXhjZXB0aW9uIGlzXG4gICByZXJhaXNlZC4gIElmIHRoZSByZXR1cm4gdmFsdWUgd2FzIHRydWUsIHRoZSBleGNlcHRpb24gaXNcbiAgIHN1cHByZXNzZWQsIGFuZCBleGVjdXRpb24gY29udGludWVzIHdpdGggdGhlIHN0YXRlbWVudCBmb2xsb3dpbmdcbiAgIHRoZSBgYHdpdGhgYCBzdGF0ZW1lbnQuXG5cbiAgIElmIHRoZSBzdWl0ZSB3YXMgZXhpdGVkIGZvciBhbnkgcmVhc29uIG90aGVyIHRoYW4gYW4gZXhjZXB0aW9uLCB0aGVcbiAgIHJldHVybiB2YWx1ZSBmcm9tIGBgX19leGl0X18oKWBgIGlzIGlnbm9yZWQsIGFuZCBleGVjdXRpb24gcHJvY2VlZHNcbiAgIGF0IHRoZSBub3JtYWwgbG9jYXRpb24gZm9yIHRoZSBraW5kIG9mIGV4aXQgdGhhdCB3YXMgdGFrZW4uXG5cbldpdGggbW9yZSB0aGFuIG9uZSBpdGVtLCB0aGUgY29udGV4dCBtYW5hZ2VycyBhcmUgcHJvY2Vzc2VkIGFzIGlmXG5tdWx0aXBsZSBgYHdpdGhgYCBzdGF0ZW1lbnRzIHdlcmUgbmVzdGVkOlxuXG4gICB3aXRoIEEoKSBhcyBhLCBCKCkgYXMgYjpcbiAgICAgICBzdWl0ZVxuXG5pcyBlcXVpdmFsZW50IHRvXG5cbiAgIHdpdGggQSgpIGFzIGE6XG4gICAgICAgd2l0aCBCKCkgYXMgYjpcbiAgICAgICAgICAgc3VpdGVcblxuQ2hhbmdlZCBpbiB2ZXJzaW9uIDMuMTogU3VwcG9ydCBmb3IgbXVsdGlwbGUgY29udGV4dCBleHByZXNzaW9ucy5cblxuU2VlIGFsc286XG5cbiAgICoqUEVQIDAzNDMqKiAtIFRoZSAid2l0aCIgc3RhdGVtZW50XG4gICAgICBUaGUgc3BlY2lmaWNhdGlvbiwgYmFja2dyb3VuZCwgYW5kIGV4YW1wbGVzIGZvciB0aGUgUHl0aG9uXG4gICAgICBgYHdpdGhgYCBzdGF0ZW1lbnQuXG4nLAotICd5aWVsZCc6ICdcblRoZSBgYHlpZWxkYGAgc3RhdGVtZW50XG4qKioqKioqKioqKioqKioqKioqKioqKlxuXG4gICB5aWVsZF9zdG10IDo6PSB5aWVsZF9leHByZXNzaW9uXG5cblRoZSBgYHlpZWxkYGAgc3RhdGVtZW50IGlzIG9ubHkgdXNlZCB3aGVuIGRlZmluaW5nIGEgZ2VuZXJhdG9yXG5mdW5jdGlvbiwgYW5kIGlzIG9ubHkgdXNlZCBpbiB0aGUgYm9keSBvZiB0aGUgZ2VuZXJhdG9yIGZ1bmN0aW9uLlxuVXNpbmcgYSBgYHlpZWxkYGAgc3RhdGVtZW50IGluIGEgZnVuY3Rpb24gZGVmaW5pdGlvbiBpcyBzdWZmaWNpZW50IHRvXG5jYXVzZSB0aGF0IGRlZmluaXRpb24gdG8gY3JlYXRlIGEgZ2VuZXJhdG9yIGZ1bmN0aW9uIGluc3RlYWQgb2YgYVxubm9ybWFsIGZ1bmN0aW9uLiBXaGVuIGEgZ2VuZXJhdG9yIGZ1bmN0aW9uIGlzIGNhbGxlZCwgaXQgcmV0dXJucyBhblxuaXRlcmF0b3Iga25vd24gYXMgYSBnZW5lcmF0b3IgaXRlcmF0b3IsIG9yIG1vcmUgY29tbW9ubHksIGEgZ2VuZXJhdG9yLlxuVGhlIGJvZHkgb2YgdGhlIGdlbmVyYXRvciBmdW5jdGlvbiBpcyBleGVjdXRlZCBieSBjYWxsaW5nIHRoZVxuYGBuZXh0KClgYCBmdW5jdGlvbiBvbiB0aGUgZ2VuZXJhdG9yIHJlcGVhdGVkbHkgdW50aWwgaXQgcmFpc2VzIGFuXG5leGNlcHRpb24uXG5cbldoZW4gYSBgYHlpZWxkYGAgc3RhdGVtZW50IGlzIGV4ZWN1dGVkLCB0aGUgc3RhdGUgb2YgdGhlIGdlbmVyYXRvciBpc1xuZnJvemVuIGFuZCB0aGUgdmFsdWUgb2YgYGBleHByZXNzaW9uX2xpc3RgYCBpcyByZXR1cm5lZCB0b1xuYGBuZXh0KClgYFwncyBjYWxsZXIuICBCeSAiZnJvemVuIiB3ZSBtZWFuIHRoYXQgYWxsIGxvY2FsIHN0YXRlIGlzXG5yZXRhaW5lZCwgaW5jbHVkaW5nIHRoZSBjdXJyZW50IGJpbmRpbmdzIG9mIGxvY2FsIHZhcmlhYmxlcywgdGhlXG5pbnN0cnVjdGlvbiBwb2ludGVyLCBhbmQgdGhlIGludGVybmFsIGV2YWx1YXRpb24gc3RhY2s6IGVub3VnaFxuaW5mb3JtYXRpb24gaXMgc2F2ZWQgc28gdGhhdCB0aGUgbmV4dCB0aW1lIGBgbmV4dCgpYGAgaXMgaW52b2tlZCwgdGhlXG5mdW5jdGlvbiBjYW4gcHJvY2VlZCBleGFjdGx5IGFzIGlmIHRoZSBgYHlpZWxkYGAgc3RhdGVtZW50IHdlcmUganVzdFxuYW5vdGhlciBleHRlcm5hbCBjYWxsLlxuXG5UaGUgYGB5aWVsZGBgIHN0YXRlbWVudCBpcyBhbGxvd2VkIGluIHRoZSBgYHRyeWBgIGNsYXVzZSBvZiBhIGBgdHJ5YGBcbi4uLiAgYGBmaW5hbGx5YGAgY29uc3RydWN0LiAgSWYgdGhlIGdlbmVyYXRvciBpcyBub3QgcmVzdW1lZCBiZWZvcmUgaXRcbmlzIGZpbmFsaXplZCAoYnkgcmVhY2hpbmcgYSB6ZXJvIHJlZmVyZW5jZSBjb3VudCBvciBieSBiZWluZyBnYXJiYWdlXG5jb2xsZWN0ZWQpLCB0aGUgZ2VuZXJhdG9yLWl0ZXJhdG9yXCdzIGBgY2xvc2UoKWBgIG1ldGhvZCB3aWxsIGJlXG5jYWxsZWQsIGFsbG93aW5nIGFueSBwZW5kaW5nIGBgZmluYWxseWBgIGNsYXVzZXMgdG8gZXhlY3V0ZS5cblxuU2VlIGFsc286XG5cbiAgICoqUEVQIDAyNTUqKiAtIFNpbXBsZSBHZW5lcmF0b3JzXG4gICAgICBUaGUgcHJvcG9zYWwgZm9yIGFkZGluZyBnZW5lcmF0b3JzIGFuZCB0aGUgYGB5aWVsZGBgIHN0YXRlbWVudFxuICAgICAgdG8gUHl0aG9uLlxuXG4gICAqKlBFUCAwMzQyKiogLSBDb3JvdXRpbmVzIHZpYSBFbmhhbmNlZCBHZW5lcmF0b3JzXG4gICAgICBUaGUgcHJvcG9zYWwgdGhhdCwgYW1vbmcgb3RoZXIgZ2VuZXJhdG9yIGVuaGFuY2VtZW50cywgcHJvcG9zZWRcbiAgICAgIGFsbG93aW5nIGBgeWllbGRgYCB0byBhcHBlYXIgaW5zaWRlIGEgYGB0cnlgYCAuLi4gYGBmaW5hbGx5YGBcbiAgICAgIGJsb2NrLlxuJ30KKyAneWllbGQnOiAnXG5UaGUgYGB5aWVsZGBgIHN0YXRlbWVudFxuKioqKioqKioqKioqKioqKioqKioqKipcblxuICAgeWllbGRfc3RtdCA6Oj0geWllbGRfZXhwcmVzc2lvblxuXG5UaGUgYGB5aWVsZGBgIHN0YXRlbWVudCBpcyBvbmx5IHVzZWQgd2hlbiBkZWZpbmluZyBhIGdlbmVyYXRvclxuZnVuY3Rpb24sIGFuZCBpcyBvbmx5IHVzZWQgaW4gdGhlIGJvZHkgb2YgdGhlIGdlbmVyYXRvciBmdW5jdGlvbi5cblVzaW5nIGEgYGB5aWVsZGBgIHN0YXRlbWVudCBpbiBhIGZ1bmN0aW9uIGRlZmluaXRpb24gaXMgc3VmZmljaWVudCB0b1xuY2F1c2UgdGhhdCBkZWZpbml0aW9uIHRvIGNyZWF0ZSBhIGdlbmVyYXRvciBmdW5jdGlvbiBpbnN0ZWFkIG9mIGFcbm5vcm1hbCBmdW5jdGlvbi5cblxuV2hlbiBhIGdlbmVyYXRvciBmdW5jdGlvbiBpcyBjYWxsZWQsIGl0IHJldHVybnMgYW4gaXRlcmF0b3Iga25vd24gYXMgYVxuZ2VuZXJhdG9yIGl0ZXJhdG9yLCBvciBtb3JlIGNvbW1vbmx5LCBhIGdlbmVyYXRvci4gIFRoZSBib2R5IG9mIHRoZVxuZ2VuZXJhdG9yIGZ1bmN0aW9uIGlzIGV4ZWN1dGVkIGJ5IGNhbGxpbmcgdGhlIGBgbmV4dCgpYGAgZnVuY3Rpb24gb25cbnRoZSBnZW5lcmF0b3IgcmVwZWF0ZWRseSB1bnRpbCBpdCByYWlzZXMgYW4gZXhjZXB0aW9uLlxuXG5XaGVuIGEgYGB5aWVsZGBgIHN0YXRlbWVudCBpcyBleGVjdXRlZCwgdGhlIHN0YXRlIG9mIHRoZSBnZW5lcmF0b3IgaXNcbmZyb3plbiBhbmQgdGhlIHZhbHVlIG9mIGBgZXhwcmVzc2lvbl9saXN0YGAgaXMgcmV0dXJuZWQgdG9cbmBgbmV4dCgpYGBcJ3MgY2FsbGVyLiAgQnkgImZyb3plbiIgd2UgbWVhbiB0aGF0IGFsbCBsb2NhbCBzdGF0ZSBpc1xucmV0YWluZWQsIGluY2x1ZGluZyB0aGUgY3VycmVudCBiaW5kaW5ncyBvZiBsb2NhbCB2YXJpYWJsZXMsIHRoZVxuaW5zdHJ1Y3Rpb24gcG9pbnRlciwgYW5kIHRoZSBpbnRlcm5hbCBldmFsdWF0aW9uIHN0YWNrOiBlbm91Z2hcbmluZm9ybWF0aW9uIGlzIHNhdmVkIHNvIHRoYXQgdGhlIG5leHQgdGltZSBgYG5leHQoKWBgIGlzIGludm9rZWQsIHRoZVxuZnVuY3Rpb24gY2FuIHByb2NlZWQgZXhhY3RseSBhcyBpZiB0aGUgYGB5aWVsZGBgIHN0YXRlbWVudCB3ZXJlIGp1c3RcbmFub3RoZXIgZXh0ZXJuYWwgY2FsbC5cblxuVGhlIGBgeWllbGRgYCBzdGF0ZW1lbnQgaXMgYWxsb3dlZCBpbiB0aGUgYGB0cnlgYCBjbGF1c2Ugb2YgYSBgYHRyeWBgXG4uLi4gIGBgZmluYWxseWBgIGNvbnN0cnVjdC4gIElmIHRoZSBnZW5lcmF0b3IgaXMgbm90IHJlc3VtZWQgYmVmb3JlIGl0XG5pcyBmaW5hbGl6ZWQgKGJ5IHJlYWNoaW5nIGEgemVybyByZWZlcmVuY2UgY291bnQgb3IgYnkgYmVpbmcgZ2FyYmFnZVxuY29sbGVjdGVkKSwgdGhlIGdlbmVyYXRvci1pdGVyYXRvclwncyBgYGNsb3NlKClgYCBtZXRob2Qgd2lsbCBiZVxuY2FsbGVkLCBhbGxvd2luZyBhbnkgcGVuZGluZyBgYGZpbmFsbHlgYCBjbGF1c2VzIHRvIGV4ZWN1dGUuXG5cbldoZW4gYGB5aWVsZCBmcm9tIDxleHByPmBgIGlzIHVzZWQsIGl0IHRyZWF0cyB0aGUgc3VwcGxpZWQgZXhwcmVzc2lvblxuYXMgYSBzdWJpdGVyYXRvciwgcHJvZHVjaW5nIHZhbHVlcyBmcm9tIGl0IHVudGlsIHRoZSB1bmRlcmx5aW5nXG5pdGVyYXRvciBpcyBleGhhdXN0ZWQuXG5cbiAgIENoYW5nZWQgaW4gdmVyc2lvbiAzLjM6IEFkZGVkIGBgeWllbGQgZnJvbSA8ZXhwcj5gYCB0byBkZWxlZ2F0ZVxuICAgY29udHJvbCBmbG93IHRvIGEgc3ViaXRlcmF0b3JcblxuRm9yIGZ1bGwgZGV0YWlscyBvZiBgYHlpZWxkYGAgc2VtYW50aWNzLCByZWZlciB0byB0aGUgKllpZWxkXG5leHByZXNzaW9ucyogc2VjdGlvbi5cblxuU2VlIGFsc286XG5cbiAgICoqUEVQIDAyNTUqKiAtIFNpbXBsZSBHZW5lcmF0b3JzXG4gICAgICBUaGUgcHJvcG9zYWwgZm9yIGFkZGluZyBnZW5lcmF0b3JzIGFuZCB0aGUgYGB5aWVsZGBgIHN0YXRlbWVudFxuICAgICAgdG8gUHl0aG9uLlxuXG4gICAqKlBFUCAwMzQyKiogLSBDb3JvdXRpbmVzIHZpYSBFbmhhbmNlZCBHZW5lcmF0b3JzXG4gICAgICBUaGUgcHJvcG9zYWwgdG8gZW5oYW5jZSB0aGUgQVBJIGFuZCBzeW50YXggb2YgZ2VuZXJhdG9ycywgbWFraW5nXG4gICAgICB0aGVtIHVzYWJsZSBhcyBzaW1wbGUgY29yb3V0aW5lcy5cblxuICAgKipQRVAgMDM4MCoqIC0gU3ludGF4IGZvciBEZWxlZ2F0aW5nIHRvIGEgU3ViZ2VuZXJhdG9yXG4gICAgICBUaGUgcHJvcG9zYWwgdG8gaW50cm9kdWNlIHRoZSBgYHlpZWxkX2Zyb21gYCBzeW50YXgsIG1ha2luZ1xuICAgICAgZGVsZWdhdGlvbiB0byBzdWItZ2VuZXJhdG9ycyBlYXN5LlxuJ30KZGlmZiAtLWdpdCBhL0xpYi9xdWV1ZS5weSBiL0xpYi9xdWV1ZS5weQppbmRleCBiZWU3ZWQ0Li4xZGM3MmM0IDEwMDY0NAotLS0gYS9MaWIvcXVldWUucHkKKysrIGIvTGliL3F1ZXVlLnB5CkBAIC0xLDQ5ICsxLDU0IEBACi0iIiJBIG11bHRpLXByb2R1Y2VyLCBtdWx0aS1jb25zdW1lciBxdWV1ZS4iIiIKKycnJ0EgbXVsdGktcHJvZHVjZXIsIG11bHRpLWNvbnN1bWVyIHF1ZXVlLicnJwogCi1mcm9tIHRpbWUgaW1wb3J0IHRpbWUgYXMgX3RpbWUKIHRyeToKLSAgICBpbXBvcnQgdGhyZWFkaW5nIGFzIF90aHJlYWRpbmcKKyAgICBpbXBvcnQgdGhyZWFkaW5nCiBleGNlcHQgSW1wb3J0RXJyb3I6Ci0gICAgaW1wb3J0IGR1bW15X3RocmVhZGluZyBhcyBfdGhyZWFkaW5nCisgICAgaW1wb3J0IGR1bW15X3RocmVhZGluZyBhcyB0aHJlYWRpbmcKIGZyb20gY29sbGVjdGlvbnMgaW1wb3J0IGRlcXVlCi1pbXBvcnQgaGVhcHEKK2Zyb20gaGVhcHEgaW1wb3J0IGhlYXBwdXNoLCBoZWFwcG9wCitmcm9tIHRpbWUgaW1wb3J0IHN0ZWFkeSBhcyB0aW1lCiAKIF9fYWxsX18gPSBbJ0VtcHR5JywgJ0Z1bGwnLCAnUXVldWUnLCAnUHJpb3JpdHlRdWV1ZScsICdMaWZvUXVldWUnXQogCiBjbGFzcyBFbXB0eShFeGNlcHRpb24pOgotICAgICJFeGNlcHRpb24gcmFpc2VkIGJ5IFF1ZXVlLmdldChibG9jaz0wKS9nZXRfbm93YWl0KCkuIgorICAgICdFeGNlcHRpb24gcmFpc2VkIGJ5IFF1ZXVlLmdldChibG9jaz0wKS9nZXRfbm93YWl0KCkuJwogICAgIHBhc3MKIAogY2xhc3MgRnVsbChFeGNlcHRpb24pOgotICAgICJFeGNlcHRpb24gcmFpc2VkIGJ5IFF1ZXVlLnB1dChibG9jaz0wKS9wdXRfbm93YWl0KCkuIgorICAgICdFeGNlcHRpb24gcmFpc2VkIGJ5IFF1ZXVlLnB1dChibG9jaz0wKS9wdXRfbm93YWl0KCkuJwogICAgIHBhc3MKIAogY2xhc3MgUXVldWU6Ci0gICAgIiIiQ3JlYXRlIGEgcXVldWUgb2JqZWN0IHdpdGggYSBnaXZlbiBtYXhpbXVtIHNpemUuCisgICAgJycnQ3JlYXRlIGEgcXVldWUgb2JqZWN0IHdpdGggYSBnaXZlbiBtYXhpbXVtIHNpemUuCiAKICAgICBJZiBtYXhzaXplIGlzIDw9IDAsIHRoZSBxdWV1ZSBzaXplIGlzIGluZmluaXRlLgotICAgICIiIgorICAgICcnJworCiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIG1heHNpemU9MCk6CiAgICAgICAgIHNlbGYubWF4c2l6ZSA9IG1heHNpemUKICAgICAgICAgc2VsZi5faW5pdChtYXhzaXplKQorCiAgICAgICAgICMgbXV0ZXggbXVzdCBiZSBoZWxkIHdoZW5ldmVyIHRoZSBxdWV1ZSBpcyBtdXRhdGluZy4gIEFsbCBtZXRob2RzCiAgICAgICAgICMgdGhhdCBhY3F1aXJlIG11dGV4IG11c3QgcmVsZWFzZSBpdCBiZWZvcmUgcmV0dXJuaW5nLiAgbXV0ZXgKICAgICAgICAgIyBpcyBzaGFyZWQgYmV0d2VlbiB0aGUgdGhyZWUgY29uZGl0aW9ucywgc28gYWNxdWlyaW5nIGFuZAogICAgICAgICAjIHJlbGVhc2luZyB0aGUgY29uZGl0aW9ucyBhbHNvIGFjcXVpcmVzIGFuZCByZWxlYXNlcyBtdXRleC4KLSAgICAgICAgc2VsZi5tdXRleCA9IF90aHJlYWRpbmcuTG9jaygpCisgICAgICAgIHNlbGYubXV0ZXggPSB0aHJlYWRpbmcuTG9jaygpCisKICAgICAgICAgIyBOb3RpZnkgbm90X2VtcHR5IHdoZW5ldmVyIGFuIGl0ZW0gaXMgYWRkZWQgdG8gdGhlIHF1ZXVlOyBhCiAgICAgICAgICMgdGhyZWFkIHdhaXRpbmcgdG8gZ2V0IGlzIG5vdGlmaWVkIHRoZW4uCi0gICAgICAgIHNlbGYubm90X2VtcHR5ID0gX3RocmVhZGluZy5Db25kaXRpb24oc2VsZi5tdXRleCkKKyAgICAgICAgc2VsZi5ub3RfZW1wdHkgPSB0aHJlYWRpbmcuQ29uZGl0aW9uKHNlbGYubXV0ZXgpCisKICAgICAgICAgIyBOb3RpZnkgbm90X2Z1bGwgd2hlbmV2ZXIgYW4gaXRlbSBpcyByZW1vdmVkIGZyb20gdGhlIHF1ZXVlOwogICAgICAgICAjIGEgdGhyZWFkIHdhaXRpbmcgdG8gcHV0IGlzIG5vdGlmaWVkIHRoZW4uCi0gICAgICAgIHNlbGYubm90X2Z1bGwgPSBfdGhyZWFkaW5nLkNvbmRpdGlvbihzZWxmLm11dGV4KQorICAgICAgICBzZWxmLm5vdF9mdWxsID0gdGhyZWFkaW5nLkNvbmRpdGlvbihzZWxmLm11dGV4KQorCiAgICAgICAgICMgTm90aWZ5IGFsbF90YXNrc19kb25lIHdoZW5ldmVyIHRoZSBudW1iZXIgb2YgdW5maW5pc2hlZCB0YXNrcwogICAgICAgICAjIGRyb3BzIHRvIHplcm87IHRocmVhZCB3YWl0aW5nIHRvIGpvaW4oKSBpcyBub3RpZmllZCB0byByZXN1bWUKLSAgICAgICAgc2VsZi5hbGxfdGFza3NfZG9uZSA9IF90aHJlYWRpbmcuQ29uZGl0aW9uKHNlbGYubXV0ZXgpCisgICAgICAgIHNlbGYuYWxsX3Rhc2tzX2RvbmUgPSB0aHJlYWRpbmcuQ29uZGl0aW9uKHNlbGYubXV0ZXgpCiAgICAgICAgIHNlbGYudW5maW5pc2hlZF90YXNrcyA9IDAKIAogICAgIGRlZiB0YXNrX2RvbmUoc2VsZik6Ci0gICAgICAgICIiIkluZGljYXRlIHRoYXQgYSBmb3JtZXJseSBlbnF1ZXVlZCB0YXNrIGlzIGNvbXBsZXRlLgorICAgICAgICAnJydJbmRpY2F0ZSB0aGF0IGEgZm9ybWVybHkgZW5xdWV1ZWQgdGFzayBpcyBjb21wbGV0ZS4KIAogICAgICAgICBVc2VkIGJ5IFF1ZXVlIGNvbnN1bWVyIHRocmVhZHMuICBGb3IgZWFjaCBnZXQoKSB1c2VkIHRvIGZldGNoIGEgdGFzaywKICAgICAgICAgYSBzdWJzZXF1ZW50IGNhbGwgdG8gdGFza19kb25lKCkgdGVsbHMgdGhlIHF1ZXVlIHRoYXQgdGhlIHByb2Nlc3NpbmcKQEAgLTU1LDQzICs2MCwzNSBAQAogCiAgICAgICAgIFJhaXNlcyBhIFZhbHVlRXJyb3IgaWYgY2FsbGVkIG1vcmUgdGltZXMgdGhhbiB0aGVyZSB3ZXJlIGl0ZW1zCiAgICAgICAgIHBsYWNlZCBpbiB0aGUgcXVldWUuCi0gICAgICAgICIiIgotICAgICAgICBzZWxmLmFsbF90YXNrc19kb25lLmFjcXVpcmUoKQotICAgICAgICB0cnk6CisgICAgICAgICcnJworICAgICAgICB3aXRoIHNlbGYuYWxsX3Rhc2tzX2RvbmU6CiAgICAgICAgICAgICB1bmZpbmlzaGVkID0gc2VsZi51bmZpbmlzaGVkX3Rhc2tzIC0gMQogICAgICAgICAgICAgaWYgdW5maW5pc2hlZCA8PSAwOgogICAgICAgICAgICAgICAgIGlmIHVuZmluaXNoZWQgPCAwOgogICAgICAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCd0YXNrX2RvbmUoKSBjYWxsZWQgdG9vIG1hbnkgdGltZXMnKQogICAgICAgICAgICAgICAgIHNlbGYuYWxsX3Rhc2tzX2RvbmUubm90aWZ5X2FsbCgpCiAgICAgICAgICAgICBzZWxmLnVuZmluaXNoZWRfdGFza3MgPSB1bmZpbmlzaGVkCi0gICAgICAgIGZpbmFsbHk6Ci0gICAgICAgICAgICBzZWxmLmFsbF90YXNrc19kb25lLnJlbGVhc2UoKQogCiAgICAgZGVmIGpvaW4oc2VsZik6Ci0gICAgICAgICIiIkJsb2NrcyB1bnRpbCBhbGwgaXRlbXMgaW4gdGhlIFF1ZXVlIGhhdmUgYmVlbiBnb3R0ZW4gYW5kIHByb2Nlc3NlZC4KKyAgICAgICAgJycnQmxvY2tzIHVudGlsIGFsbCBpdGVtcyBpbiB0aGUgUXVldWUgaGF2ZSBiZWVuIGdvdHRlbiBhbmQgcHJvY2Vzc2VkLgogCiAgICAgICAgIFRoZSBjb3VudCBvZiB1bmZpbmlzaGVkIHRhc2tzIGdvZXMgdXAgd2hlbmV2ZXIgYW4gaXRlbSBpcyBhZGRlZCB0byB0aGUKICAgICAgICAgcXVldWUuIFRoZSBjb3VudCBnb2VzIGRvd24gd2hlbmV2ZXIgYSBjb25zdW1lciB0aHJlYWQgY2FsbHMgdGFza19kb25lKCkKICAgICAgICAgdG8gaW5kaWNhdGUgdGhlIGl0ZW0gd2FzIHJldHJpZXZlZCBhbmQgYWxsIHdvcmsgb24gaXQgaXMgY29tcGxldGUuCiAKICAgICAgICAgV2hlbiB0aGUgY291bnQgb2YgdW5maW5pc2hlZCB0YXNrcyBkcm9wcyB0byB6ZXJvLCBqb2luKCkgdW5ibG9ja3MuCi0gICAgICAgICIiIgotICAgICAgICBzZWxmLmFsbF90YXNrc19kb25lLmFjcXVpcmUoKQotICAgICAgICB0cnk6CisgICAgICAgICcnJworICAgICAgICB3aXRoIHNlbGYuYWxsX3Rhc2tzX2RvbmU6CiAgICAgICAgICAgICB3aGlsZSBzZWxmLnVuZmluaXNoZWRfdGFza3M6CiAgICAgICAgICAgICAgICAgc2VsZi5hbGxfdGFza3NfZG9uZS53YWl0KCkKLSAgICAgICAgZmluYWxseToKLSAgICAgICAgICAgIHNlbGYuYWxsX3Rhc2tzX2RvbmUucmVsZWFzZSgpCiAKICAgICBkZWYgcXNpemUoc2VsZik6Ci0gICAgICAgICIiIlJldHVybiB0aGUgYXBwcm94aW1hdGUgc2l6ZSBvZiB0aGUgcXVldWUgKG5vdCByZWxpYWJsZSEpLiIiIgotICAgICAgICBzZWxmLm11dGV4LmFjcXVpcmUoKQotICAgICAgICBuID0gc2VsZi5fcXNpemUoKQotICAgICAgICBzZWxmLm11dGV4LnJlbGVhc2UoKQotICAgICAgICByZXR1cm4gbgorICAgICAgICAnJydSZXR1cm4gdGhlIGFwcHJveGltYXRlIHNpemUgb2YgdGhlIHF1ZXVlIChub3QgcmVsaWFibGUhKS4nJycKKyAgICAgICAgd2l0aCBzZWxmLm11dGV4OgorICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3FzaXplKCkKIAogICAgIGRlZiBlbXB0eShzZWxmKToKLSAgICAgICAgIiIiUmV0dXJuIFRydWUgaWYgdGhlIHF1ZXVlIGlzIGVtcHR5LCBGYWxzZSBvdGhlcndpc2UgKG5vdCByZWxpYWJsZSEpLgorICAgICAgICAnJydSZXR1cm4gVHJ1ZSBpZiB0aGUgcXVldWUgaXMgZW1wdHksIEZhbHNlIG90aGVyd2lzZSAobm90IHJlbGlhYmxlISkuCiAKICAgICAgICAgVGhpcyBtZXRob2QgaXMgbGlrZWx5IHRvIGJlIHJlbW92ZWQgYXQgc29tZSBwb2ludC4gIFVzZSBxc2l6ZSgpID09IDAKICAgICAgICAgYXMgYSBkaXJlY3Qgc3Vic3RpdHV0ZSwgYnV0IGJlIGF3YXJlIHRoYXQgZWl0aGVyIGFwcHJvYWNoIHJpc2tzIGEgcmFjZQpAQCAtMTAwLDI5ICs5NywyMyBAQAogCiAgICAgICAgIFRvIGNyZWF0ZSBjb2RlIHRoYXQgbmVlZHMgdG8gd2FpdCBmb3IgYWxsIHF1ZXVlZCB0YXNrcyB0byBiZQogICAgICAgICBjb21wbGV0ZWQsIHRoZSBwcmVmZXJyZWQgdGVjaG5pcXVlIGlzIHRvIHVzZSB0aGUgam9pbigpIG1ldGhvZC4KLQotICAgICAgICAiIiIKLSAgICAgICAgc2VsZi5tdXRleC5hY3F1aXJlKCkKLSAgICAgICAgbiA9IG5vdCBzZWxmLl9xc2l6ZSgpCi0gICAgICAgIHNlbGYubXV0ZXgucmVsZWFzZSgpCi0gICAgICAgIHJldHVybiBuCisgICAgICAgICcnJworICAgICAgICB3aXRoIHNlbGYubXV0ZXg6CisgICAgICAgICAgICByZXR1cm4gbm90IHNlbGYuX3FzaXplKCkKIAogICAgIGRlZiBmdWxsKHNlbGYpOgotICAgICAgICAiIiJSZXR1cm4gVHJ1ZSBpZiB0aGUgcXVldWUgaXMgZnVsbCwgRmFsc2Ugb3RoZXJ3aXNlIChub3QgcmVsaWFibGUhKS4KKyAgICAgICAgJycnUmV0dXJuIFRydWUgaWYgdGhlIHF1ZXVlIGlzIGZ1bGwsIEZhbHNlIG90aGVyd2lzZSAobm90IHJlbGlhYmxlISkuCiAKICAgICAgICAgVGhpcyBtZXRob2QgaXMgbGlrZWx5IHRvIGJlIHJlbW92ZWQgYXQgc29tZSBwb2ludC4gIFVzZSBxc2l6ZSgpID49IG4KICAgICAgICAgYXMgYSBkaXJlY3Qgc3Vic3RpdHV0ZSwgYnV0IGJlIGF3YXJlIHRoYXQgZWl0aGVyIGFwcHJvYWNoIHJpc2tzIGEgcmFjZQogICAgICAgICBjb25kaXRpb24gd2hlcmUgYSBxdWV1ZSBjYW4gc2hyaW5rIGJlZm9yZSB0aGUgcmVzdWx0IG9mIGZ1bGwoKSBvcgogICAgICAgICBxc2l6ZSgpIGNhbiBiZSB1c2VkLgotCi0gICAgICAgICIiIgotICAgICAgICBzZWxmLm11dGV4LmFjcXVpcmUoKQotICAgICAgICBuID0gMCA8IHNlbGYubWF4c2l6ZSA8PSBzZWxmLl9xc2l6ZSgpCi0gICAgICAgIHNlbGYubXV0ZXgucmVsZWFzZSgpCi0gICAgICAgIHJldHVybiBuCisgICAgICAgICcnJworICAgICAgICB3aXRoIHNlbGYubXV0ZXg6CisgICAgICAgICAgICByZXR1cm4gMCA8IHNlbGYubWF4c2l6ZSA8PSBzZWxmLl9xc2l6ZSgpCiAKICAgICBkZWYgcHV0KHNlbGYsIGl0ZW0sIGJsb2NrPVRydWUsIHRpbWVvdXQ9Tm9uZSk6Ci0gICAgICAgICIiIlB1dCBhbiBpdGVtIGludG8gdGhlIHF1ZXVlLgorICAgICAgICAnJydQdXQgYW4gaXRlbSBpbnRvIHRoZSBxdWV1ZS4KIAogICAgICAgICBJZiBvcHRpb25hbCBhcmdzICdibG9jaycgaXMgdHJ1ZSBhbmQgJ3RpbWVvdXQnIGlzIE5vbmUgKHRoZSBkZWZhdWx0KSwKICAgICAgICAgYmxvY2sgaWYgbmVjZXNzYXJ5IHVudGlsIGEgZnJlZSBzbG90IGlzIGF2YWlsYWJsZS4gSWYgJ3RpbWVvdXQnIGlzCkBAIC0xMzEsOSArMTIyLDggQEAKICAgICAgICAgT3RoZXJ3aXNlICgnYmxvY2snIGlzIGZhbHNlKSwgcHV0IGFuIGl0ZW0gb24gdGhlIHF1ZXVlIGlmIGEgZnJlZSBzbG90CiAgICAgICAgIGlzIGltbWVkaWF0ZWx5IGF2YWlsYWJsZSwgZWxzZSByYWlzZSB0aGUgRnVsbCBleGNlcHRpb24gKCd0aW1lb3V0JwogICAgICAgICBpcyBpZ25vcmVkIGluIHRoYXQgY2FzZSkuCi0gICAgICAgICIiIgotICAgICAgICBzZWxmLm5vdF9mdWxsLmFjcXVpcmUoKQotICAgICAgICB0cnk6CisgICAgICAgICcnJworICAgICAgICB3aXRoIHNlbGYubm90X2Z1bGw6CiAgICAgICAgICAgICBpZiBzZWxmLm1heHNpemUgPiAwOgogICAgICAgICAgICAgICAgIGlmIG5vdCBibG9jazoKICAgICAgICAgICAgICAgICAgICAgaWYgc2VsZi5fcXNpemUoKSA+PSBzZWxmLm1heHNpemU6CkBAIC0xNDQsMjggKzEzNCwxOCBAQAogICAgICAgICAgICAgICAgIGVsaWYgdGltZW91dCA8IDA6CiAgICAgICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIid0aW1lb3V0JyBtdXN0IGJlIGEgcG9zaXRpdmUgbnVtYmVyIikKICAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICBlbmR0aW1lID0gX3RpbWUoKSArIHRpbWVvdXQKKyAgICAgICAgICAgICAgICAgICAgZW5kdGltZSA9IHRpbWUoKSArIHRpbWVvdXQKICAgICAgICAgICAgICAgICAgICAgd2hpbGUgc2VsZi5fcXNpemUoKSA+PSBzZWxmLm1heHNpemU6Ci0gICAgICAgICAgICAgICAgICAgICAgICByZW1haW5pbmcgPSBlbmR0aW1lIC0gX3RpbWUoKQorICAgICAgICAgICAgICAgICAgICAgICAgcmVtYWluaW5nID0gZW5kdGltZSAtIHRpbWUoKQogICAgICAgICAgICAgICAgICAgICAgICAgaWYgcmVtYWluaW5nIDw9IDAuMDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBGdWxsCiAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLm5vdF9mdWxsLndhaXQocmVtYWluaW5nKQogICAgICAgICAgICAgc2VsZi5fcHV0KGl0ZW0pCiAgICAgICAgICAgICBzZWxmLnVuZmluaXNoZWRfdGFza3MgKz0gMQogICAgICAgICAgICAgc2VsZi5ub3RfZW1wdHkubm90aWZ5KCkKLSAgICAgICAgZmluYWxseToKLSAgICAgICAgICAgIHNlbGYubm90X2Z1bGwucmVsZWFzZSgpCi0KLSAgICBkZWYgcHV0X25vd2FpdChzZWxmLCBpdGVtKToKLSAgICAgICAgIiIiUHV0IGFuIGl0ZW0gaW50byB0aGUgcXVldWUgd2l0aG91dCBibG9ja2luZy4KLQotICAgICAgICBPbmx5IGVucXVldWUgdGhlIGl0ZW0gaWYgYSBmcmVlIHNsb3QgaXMgaW1tZWRpYXRlbHkgYXZhaWxhYmxlLgotICAgICAgICBPdGhlcndpc2UgcmFpc2UgdGhlIEZ1bGwgZXhjZXB0aW9uLgotICAgICAgICAiIiIKLSAgICAgICAgcmV0dXJuIHNlbGYucHV0KGl0ZW0sIEZhbHNlKQogCiAgICAgZGVmIGdldChzZWxmLCBibG9jaz1UcnVlLCB0aW1lb3V0PU5vbmUpOgotICAgICAgICAiIiJSZW1vdmUgYW5kIHJldHVybiBhbiBpdGVtIGZyb20gdGhlIHF1ZXVlLgorICAgICAgICAnJydSZW1vdmUgYW5kIHJldHVybiBhbiBpdGVtIGZyb20gdGhlIHF1ZXVlLgogCiAgICAgICAgIElmIG9wdGlvbmFsIGFyZ3MgJ2Jsb2NrJyBpcyB0cnVlIGFuZCAndGltZW91dCcgaXMgTm9uZSAodGhlIGRlZmF1bHQpLAogICAgICAgICBibG9jayBpZiBuZWNlc3NhcnkgdW50aWwgYW4gaXRlbSBpcyBhdmFpbGFibGUuIElmICd0aW1lb3V0JyBpcwpAQCAtMTc0LDkgKzE1NCw4IEBACiAgICAgICAgIE90aGVyd2lzZSAoJ2Jsb2NrJyBpcyBmYWxzZSksIHJldHVybiBhbiBpdGVtIGlmIG9uZSBpcyBpbW1lZGlhdGVseQogICAgICAgICBhdmFpbGFibGUsIGVsc2UgcmFpc2UgdGhlIEVtcHR5IGV4Y2VwdGlvbiAoJ3RpbWVvdXQnIGlzIGlnbm9yZWQKICAgICAgICAgaW4gdGhhdCBjYXNlKS4KLSAgICAgICAgIiIiCi0gICAgICAgIHNlbGYubm90X2VtcHR5LmFjcXVpcmUoKQotICAgICAgICB0cnk6CisgICAgICAgICcnJworICAgICAgICB3aXRoIHNlbGYubm90X2VtcHR5OgogICAgICAgICAgICAgaWYgbm90IGJsb2NrOgogICAgICAgICAgICAgICAgIGlmIG5vdCBzZWxmLl9xc2l6ZSgpOgogICAgICAgICAgICAgICAgICAgICByYWlzZSBFbXB0eQpAQCAtMTg2LDI1ICsxNjUsMzEgQEAKICAgICAgICAgICAgIGVsaWYgdGltZW91dCA8IDA6CiAgICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiJ3RpbWVvdXQnIG11c3QgYmUgYSBwb3NpdGl2ZSBudW1iZXIiKQogICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBlbmR0aW1lID0gX3RpbWUoKSArIHRpbWVvdXQKKyAgICAgICAgICAgICAgICBlbmR0aW1lID0gdGltZSgpICsgdGltZW91dAogICAgICAgICAgICAgICAgIHdoaWxlIG5vdCBzZWxmLl9xc2l6ZSgpOgotICAgICAgICAgICAgICAgICAgICByZW1haW5pbmcgPSBlbmR0aW1lIC0gX3RpbWUoKQorICAgICAgICAgICAgICAgICAgICByZW1haW5pbmcgPSBlbmR0aW1lIC0gdGltZSgpCiAgICAgICAgICAgICAgICAgICAgIGlmIHJlbWFpbmluZyA8PSAwLjA6CiAgICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBFbXB0eQogICAgICAgICAgICAgICAgICAgICBzZWxmLm5vdF9lbXB0eS53YWl0KHJlbWFpbmluZykKICAgICAgICAgICAgIGl0ZW0gPSBzZWxmLl9nZXQoKQogICAgICAgICAgICAgc2VsZi5ub3RfZnVsbC5ub3RpZnkoKQogICAgICAgICAgICAgcmV0dXJuIGl0ZW0KLSAgICAgICAgZmluYWxseToKLSAgICAgICAgICAgIHNlbGYubm90X2VtcHR5LnJlbGVhc2UoKQorCisgICAgZGVmIHB1dF9ub3dhaXQoc2VsZiwgaXRlbSk6CisgICAgICAgICcnJ1B1dCBhbiBpdGVtIGludG8gdGhlIHF1ZXVlIHdpdGhvdXQgYmxvY2tpbmcuCisKKyAgICAgICAgT25seSBlbnF1ZXVlIHRoZSBpdGVtIGlmIGEgZnJlZSBzbG90IGlzIGltbWVkaWF0ZWx5IGF2YWlsYWJsZS4KKyAgICAgICAgT3RoZXJ3aXNlIHJhaXNlIHRoZSBGdWxsIGV4Y2VwdGlvbi4KKyAgICAgICAgJycnCisgICAgICAgIHJldHVybiBzZWxmLnB1dChpdGVtLCBibG9jaz1GYWxzZSkKIAogICAgIGRlZiBnZXRfbm93YWl0KHNlbGYpOgotICAgICAgICAiIiJSZW1vdmUgYW5kIHJldHVybiBhbiBpdGVtIGZyb20gdGhlIHF1ZXVlIHdpdGhvdXQgYmxvY2tpbmcuCisgICAgICAgICcnJ1JlbW92ZSBhbmQgcmV0dXJuIGFuIGl0ZW0gZnJvbSB0aGUgcXVldWUgd2l0aG91dCBibG9ja2luZy4KIAogICAgICAgICBPbmx5IGdldCBhbiBpdGVtIGlmIG9uZSBpcyBpbW1lZGlhdGVseSBhdmFpbGFibGUuIE90aGVyd2lzZQogICAgICAgICByYWlzZSB0aGUgRW1wdHkgZXhjZXB0aW9uLgotICAgICAgICAiIiIKLSAgICAgICAgcmV0dXJuIHNlbGYuZ2V0KEZhbHNlKQorICAgICAgICAnJycKKyAgICAgICAgcmV0dXJuIHNlbGYuZ2V0KGJsb2NrPUZhbHNlKQogCiAgICAgIyBPdmVycmlkZSB0aGVzZSBtZXRob2RzIHRvIGltcGxlbWVudCBvdGhlciBxdWV1ZSBvcmdhbml6YXRpb25zCiAgICAgIyAoZS5nLiBzdGFjayBvciBwcmlvcml0eSBxdWV1ZSkuCkBAIC0yMTQsNyArMTk5LDcgQEAKICAgICBkZWYgX2luaXQoc2VsZiwgbWF4c2l6ZSk6CiAgICAgICAgIHNlbGYucXVldWUgPSBkZXF1ZSgpCiAKLSAgICBkZWYgX3FzaXplKHNlbGYsIGxlbj1sZW4pOgorICAgIGRlZiBfcXNpemUoc2VsZik6CiAgICAgICAgIHJldHVybiBsZW4oc2VsZi5xdWV1ZSkKIAogICAgICMgUHV0IGEgbmV3IGl0ZW0gaW4gdGhlIHF1ZXVlCkBAIC0yMzUsMTMgKzIyMCwxMyBAQAogICAgIGRlZiBfaW5pdChzZWxmLCBtYXhzaXplKToKICAgICAgICAgc2VsZi5xdWV1ZSA9IFtdCiAKLSAgICBkZWYgX3FzaXplKHNlbGYsIGxlbj1sZW4pOgorICAgIGRlZiBfcXNpemUoc2VsZik6CiAgICAgICAgIHJldHVybiBsZW4oc2VsZi5xdWV1ZSkKIAotICAgIGRlZiBfcHV0KHNlbGYsIGl0ZW0sIGhlYXBwdXNoPWhlYXBxLmhlYXBwdXNoKToKKyAgICBkZWYgX3B1dChzZWxmLCBpdGVtKToKICAgICAgICAgaGVhcHB1c2goc2VsZi5xdWV1ZSwgaXRlbSkKIAotICAgIGRlZiBfZ2V0KHNlbGYsIGhlYXBwb3A9aGVhcHEuaGVhcHBvcCk6CisgICAgZGVmIF9nZXQoc2VsZik6CiAgICAgICAgIHJldHVybiBoZWFwcG9wKHNlbGYucXVldWUpCiAKIApAQCAtMjUxLDcgKzIzNiw3IEBACiAgICAgZGVmIF9pbml0KHNlbGYsIG1heHNpemUpOgogICAgICAgICBzZWxmLnF1ZXVlID0gW10KIAotICAgIGRlZiBfcXNpemUoc2VsZiwgbGVuPWxlbik6CisgICAgZGVmIF9xc2l6ZShzZWxmKToKICAgICAgICAgcmV0dXJuIGxlbihzZWxmLnF1ZXVlKQogCiAgICAgZGVmIF9wdXQoc2VsZiwgaXRlbSk6CmRpZmYgLS1naXQgYS9MaWIvcmFuZG9tLnB5IGIvTGliL3JhbmRvbS5weQppbmRleCBkNDAwNmU1Li5hYzgwY2E3IDEwMDY0NAotLS0gYS9MaWIvcmFuZG9tLnB5CisrKyBiL0xpYi9yYW5kb20ucHkKQEAgLTQxLDcgKzQxLDcgQEAKIGZyb20gbWF0aCBpbXBvcnQgbG9nIGFzIF9sb2csIGV4cCBhcyBfZXhwLCBwaSBhcyBfcGksIGUgYXMgX2UsIGNlaWwgYXMgX2NlaWwKIGZyb20gbWF0aCBpbXBvcnQgc3FydCBhcyBfc3FydCwgYWNvcyBhcyBfYWNvcywgY29zIGFzIF9jb3MsIHNpbiBhcyBfc2luCiBmcm9tIG9zIGltcG9ydCB1cmFuZG9tIGFzIF91cmFuZG9tCi1mcm9tIGNvbGxlY3Rpb25zIGltcG9ydCBTZXQgYXMgX1NldCwgU2VxdWVuY2UgYXMgX1NlcXVlbmNlCitmcm9tIGNvbGxlY3Rpb25zLmFiYyBpbXBvcnQgU2V0IGFzIF9TZXQsIFNlcXVlbmNlIGFzIF9TZXF1ZW5jZQogZnJvbSBoYXNobGliIGltcG9ydCBzaGE1MTIgYXMgX3NoYTUxMgogCiBfX2FsbF9fID0gWyJSYW5kb20iLCJzZWVkIiwicmFuZG9tIiwidW5pZm9ybSIsInJhbmRpbnQiLCJjaG9pY2UiLCJzYW1wbGUiLApkaWZmIC0tZ2l0IGEvTGliL3JlLnB5IGIvTGliL3JlLnB5CmluZGV4IDNmZDU5ZGYuLjkxOTVlMGEgMTAwNjQ0Ci0tLSBhL0xpYi9yZS5weQorKysgYi9MaWIvcmUucHkKQEAgLTIxMiw3ICsyMTIsNyBAQAogCiBkZWYgcHVyZ2UoKToKICAgICAiQ2xlYXIgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBjYWNoZXMiCi0gICAgX2NvbXBpbGVfdHlwZWQuY2FjaGVfY2xlYXIoKQorICAgIF9jb21waWxlLmNhY2hlX2NsZWFyKCkKICAgICBfY29tcGlsZV9yZXBsLmNhY2hlX2NsZWFyKCkKIAogZGVmIHRlbXBsYXRlKHBhdHRlcm4sIGZsYWdzPTApOgpAQCAtMjIwLDEyICsyMjAsMTQgQEAKICAgICByZXR1cm4gX2NvbXBpbGUocGF0dGVybiwgZmxhZ3N8VCkKIAogX2FscGhhbnVtX3N0ciA9IGZyb3plbnNldCgKLSAgICAiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWjAxMjM0NTY3ODkwIikKKyAgICAiX2FiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVowMTIzNDU2Nzg5MCIpCiBfYWxwaGFudW1fYnl0ZXMgPSBmcm96ZW5zZXQoCi0gICAgYiJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaMDEyMzQ1Njc4OTAiKQorICAgIGIiX2FiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVowMTIzNDU2Nzg5MCIpCiAKIGRlZiBlc2NhcGUocGF0dGVybik6Ci0gICAgIkVzY2FwZSBhbGwgbm9uLWFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzIGluIHBhdHRlcm4uIgorICAgICIiIgorICAgIEVzY2FwZSBhbGwgdGhlIGNoYXJhY3RlcnMgaW4gcGF0dGVybiBleGNlcHQgQVNDSUkgbGV0dGVycywgbnVtYmVycyBhbmQgJ18nLgorICAgICIiIgogICAgIGlmIGlzaW5zdGFuY2UocGF0dGVybiwgc3RyKToKICAgICAgICAgYWxwaGFudW0gPSBfYWxwaGFudW1fc3RyCiAgICAgICAgIHMgPSBsaXN0KHBhdHRlcm4pCkBAIC0yNTYsMTEgKzI1OCw4IEBACiAKIF9wYXR0ZXJuX3R5cGUgPSB0eXBlKHNyZV9jb21waWxlLmNvbXBpbGUoIiIsIDApKQogCitAZnVuY3Rvb2xzLmxydV9jYWNoZShtYXhzaXplPTUwMCwgdHlwZWQ9VHJ1ZSkKIGRlZiBfY29tcGlsZShwYXR0ZXJuLCBmbGFncyk6Ci0gICAgcmV0dXJuIF9jb21waWxlX3R5cGVkKHR5cGUocGF0dGVybiksIHBhdHRlcm4sIGZsYWdzKQotCi1AZnVuY3Rvb2xzLmxydV9jYWNoZShtYXhzaXplPTUwMCkKLWRlZiBfY29tcGlsZV90eXBlZCh0ZXh0X2J5dGVzX3R5cGUsIHBhdHRlcm4sIGZsYWdzKToKICAgICAjIGludGVybmFsOiBjb21waWxlIHBhdHRlcm4KICAgICBpZiBpc2luc3RhbmNlKHBhdHRlcm4sIF9wYXR0ZXJuX3R5cGUpOgogICAgICAgICBpZiBmbGFnczoKZGlmZiAtLWdpdCBhL0xpYi9zY2hlZC5weSBiL0xpYi9zY2hlZC5weQppbmRleCBhMTE5ODkyLi5hODlhMTE4IDEwMDY0NAotLS0gYS9MaWIvc2NoZWQucHkKKysrIGIvTGliL3NjaGVkLnB5CkBAIC0yOCwxMiArMjgsMTcgQEAKICMgWFhYIGluc3RlYWQgb2YgaGF2aW5nIHRvIGRlZmluZSBhIG1vZHVsZSBvciBjbGFzcyBqdXN0IHRvIGhvbGQKICMgWFhYIHRoZSBnbG9iYWwgc3RhdGUgb2YgeW91ciBwYXJ0aWN1bGFyIHRpbWUgYW5kIGRlbGF5IGZ1bmN0aW9ucy4KIAoraW1wb3J0IHRpbWUKIGltcG9ydCBoZWFwcQogZnJvbSBjb2xsZWN0aW9ucyBpbXBvcnQgbmFtZWR0dXBsZQordHJ5OgorICAgIGltcG9ydCB0aHJlYWRpbmcKK2V4Y2VwdCBJbXBvcnRFcnJvcjoKKyAgICBpbXBvcnQgZHVtbXlfdGhyZWFkaW5nIGFzIHRocmVhZGluZwogCiBfX2FsbF9fID0gWyJzY2hlZHVsZXIiXQogCi1jbGFzcyBFdmVudChuYW1lZHR1cGxlKCdFdmVudCcsICd0aW1lLCBwcmlvcml0eSwgYWN0aW9uLCBhcmd1bWVudCcpKToKK2NsYXNzIEV2ZW50KG5hbWVkdHVwbGUoJ0V2ZW50JywgJ3RpbWUsIHByaW9yaXR5LCBhY3Rpb24sIGFyZ3VtZW50LCBrd2FyZ3MnKSk6CiAgICAgZGVmIF9fZXFfXyhzLCBvKTogcmV0dXJuIChzLnRpbWUsIHMucHJpb3JpdHkpID09IChvLnRpbWUsIG8ucHJpb3JpdHkpCiAgICAgZGVmIF9fbmVfXyhzLCBvKTogcmV0dXJuIChzLnRpbWUsIHMucHJpb3JpdHkpICE9IChvLnRpbWUsIG8ucHJpb3JpdHkpCiAgICAgZGVmIF9fbHRfXyhzLCBvKTogcmV0dXJuIChzLnRpbWUsIHMucHJpb3JpdHkpIDwgIChvLnRpbWUsIG8ucHJpb3JpdHkpCkBAIC00MiwzMiArNDcsMzYgQEAKICAgICBkZWYgX19nZV9fKHMsIG8pOiByZXR1cm4gKHMudGltZSwgcy5wcmlvcml0eSkgPj0gKG8udGltZSwgby5wcmlvcml0eSkKIAogY2xhc3Mgc2NoZWR1bGVyOgotICAgIGRlZiBfX2luaXRfXyhzZWxmLCB0aW1lZnVuYywgZGVsYXlmdW5jKToKKworICAgIGRlZiBfX2luaXRfXyhzZWxmLCB0aW1lZnVuYz10aW1lLnRpbWUsIGRlbGF5ZnVuYz10aW1lLnNsZWVwKToKICAgICAgICAgIiIiSW5pdGlhbGl6ZSBhIG5ldyBpbnN0YW5jZSwgcGFzc2luZyB0aGUgdGltZSBhbmQgZGVsYXkKICAgICAgICAgZnVuY3Rpb25zIiIiCiAgICAgICAgIHNlbGYuX3F1ZXVlID0gW10KKyAgICAgICAgc2VsZi5fbG9jayA9IHRocmVhZGluZy5STG9jaygpCiAgICAgICAgIHNlbGYudGltZWZ1bmMgPSB0aW1lZnVuYwogICAgICAgICBzZWxmLmRlbGF5ZnVuYyA9IGRlbGF5ZnVuYwogCi0gICAgZGVmIGVudGVyYWJzKHNlbGYsIHRpbWUsIHByaW9yaXR5LCBhY3Rpb24sIGFyZ3VtZW50KToKKyAgICBkZWYgZW50ZXJhYnMoc2VsZiwgdGltZSwgcHJpb3JpdHksIGFjdGlvbiwgYXJndW1lbnQ9W10sIGt3YXJncz17fSk6CiAgICAgICAgICIiIkVudGVyIGEgbmV3IGV2ZW50IGluIHRoZSBxdWV1ZSBhdCBhbiBhYnNvbHV0ZSB0aW1lLgogCiAgICAgICAgIFJldHVybnMgYW4gSUQgZm9yIHRoZSBldmVudCB3aGljaCBjYW4gYmUgdXNlZCB0byByZW1vdmUgaXQsCiAgICAgICAgIGlmIG5lY2Vzc2FyeS4KIAogICAgICAgICAiIiIKLSAgICAgICAgZXZlbnQgPSBFdmVudCh0aW1lLCBwcmlvcml0eSwgYWN0aW9uLCBhcmd1bWVudCkKLSAgICAgICAgaGVhcHEuaGVhcHB1c2goc2VsZi5fcXVldWUsIGV2ZW50KQotICAgICAgICByZXR1cm4gZXZlbnQgIyBUaGUgSUQKKyAgICAgICAgd2l0aCBzZWxmLl9sb2NrOgorICAgICAgICAgICAgZXZlbnQgPSBFdmVudCh0aW1lLCBwcmlvcml0eSwgYWN0aW9uLCBhcmd1bWVudCwga3dhcmdzKQorICAgICAgICAgICAgaGVhcHEuaGVhcHB1c2goc2VsZi5fcXVldWUsIGV2ZW50KQorICAgICAgICAgICAgcmV0dXJuIGV2ZW50ICMgVGhlIElECiAKLSAgICBkZWYgZW50ZXIoc2VsZiwgZGVsYXksIHByaW9yaXR5LCBhY3Rpb24sIGFyZ3VtZW50KToKKyAgICBkZWYgZW50ZXIoc2VsZiwgZGVsYXksIHByaW9yaXR5LCBhY3Rpb24sIGFyZ3VtZW50PVtdLCBrd2FyZ3M9e30pOgogICAgICAgICAiIiJBIHZhcmlhbnQgdGhhdCBzcGVjaWZpZXMgdGhlIHRpbWUgYXMgYSByZWxhdGl2ZSB0aW1lLgogCiAgICAgICAgIFRoaXMgaXMgYWN0dWFsbHkgdGhlIG1vcmUgY29tbW9ubHkgdXNlZCBpbnRlcmZhY2UuCiAKICAgICAgICAgIiIiCi0gICAgICAgIHRpbWUgPSBzZWxmLnRpbWVmdW5jKCkgKyBkZWxheQotICAgICAgICByZXR1cm4gc2VsZi5lbnRlcmFicyh0aW1lLCBwcmlvcml0eSwgYWN0aW9uLCBhcmd1bWVudCkKKyAgICAgICAgd2l0aCBzZWxmLl9sb2NrOgorICAgICAgICAgICAgdGltZSA9IHNlbGYudGltZWZ1bmMoKSArIGRlbGF5CisgICAgICAgICAgICByZXR1cm4gc2VsZi5lbnRlcmFicyh0aW1lLCBwcmlvcml0eSwgYWN0aW9uLCBhcmd1bWVudCwga3dhcmdzKQogCiAgICAgZGVmIGNhbmNlbChzZWxmLCBldmVudCk6CiAgICAgICAgICIiIlJlbW92ZSBhbiBldmVudCBmcm9tIHRoZSBxdWV1ZS4KQEAgLTc2LDE1ICs4NSwyMCBAQAogICAgICAgICBJZiB0aGUgZXZlbnQgaXMgbm90IGluIHRoZSBxdWV1ZSwgdGhpcyByYWlzZXMgVmFsdWVFcnJvci4KIAogICAgICAgICAiIiIKLSAgICAgICAgc2VsZi5fcXVldWUucmVtb3ZlKGV2ZW50KQotICAgICAgICBoZWFwcS5oZWFwaWZ5KHNlbGYuX3F1ZXVlKQorICAgICAgICB3aXRoIHNlbGYuX2xvY2s6CisgICAgICAgICAgICBzZWxmLl9xdWV1ZS5yZW1vdmUoZXZlbnQpCisgICAgICAgICAgICBoZWFwcS5oZWFwaWZ5KHNlbGYuX3F1ZXVlKQogCiAgICAgZGVmIGVtcHR5KHNlbGYpOgogICAgICAgICAiIiJDaGVjayB3aGV0aGVyIHRoZSBxdWV1ZSBpcyBlbXB0eS4iIiIKLSAgICAgICAgcmV0dXJuIG5vdCBzZWxmLl9xdWV1ZQorICAgICAgICB3aXRoIHNlbGYuX2xvY2s6CisgICAgICAgICAgICByZXR1cm4gbm90IHNlbGYuX3F1ZXVlCiAKLSAgICBkZWYgcnVuKHNlbGYpOgorICAgIGRlZiBydW4oc2VsZiwgYmxvY2tpbmc9VHJ1ZSk6CiAgICAgICAgICIiIkV4ZWN1dGUgZXZlbnRzIHVudGlsIHRoZSBxdWV1ZSBpcyBlbXB0eS4KKyAgICAgICAgSWYgYmxvY2tpbmcgaXMgRmFsc2UgZXhlY3V0ZXMgdGhlIHNjaGVkdWxlZCBldmVudHMgZHVlIHRvCisgICAgICAgIGV4cGlyZSBzb29uZXN0IChpZiBhbnkpIGFuZCB0aGVuIHJldHVybiB0aGUgZGVhZGxpbmUgb2YgdGhlCisgICAgICAgIG5leHQgc2NoZWR1bGVkIGNhbGwgaW4gdGhlIHNjaGVkdWxlci4KIAogICAgICAgICBXaGVuIHRoZXJlIGlzIGEgcG9zaXRpdmUgZGVsYXkgdW50aWwgdGhlIGZpcnN0IGV2ZW50LCB0aGUKICAgICAgICAgZGVsYXkgZnVuY3Rpb24gaXMgY2FsbGVkIGFuZCB0aGUgZXZlbnQgaXMgbGVmdCBpbiB0aGUgcXVldWU7CkBAIC0xMDYsMjQgKzEyMCwyNyBAQAogICAgICAgICAiIiIKICAgICAgICAgIyBsb2NhbGl6ZSB2YXJpYWJsZSBhY2Nlc3MgdG8gbWluaW1pemUgb3ZlcmhlYWQKICAgICAgICAgIyBhbmQgdG8gaW1wcm92ZSB0aHJlYWQgc2FmZXR5Ci0gICAgICAgIHEgPSBzZWxmLl9xdWV1ZQotICAgICAgICBkZWxheWZ1bmMgPSBzZWxmLmRlbGF5ZnVuYwotICAgICAgICB0aW1lZnVuYyA9IHNlbGYudGltZWZ1bmMKLSAgICAgICAgcG9wID0gaGVhcHEuaGVhcHBvcAotICAgICAgICB3aGlsZSBxOgotICAgICAgICAgICAgdGltZSwgcHJpb3JpdHksIGFjdGlvbiwgYXJndW1lbnQgPSBjaGVja2VkX2V2ZW50ID0gcVswXQotICAgICAgICAgICAgbm93ID0gdGltZWZ1bmMoKQotICAgICAgICAgICAgaWYgbm93IDwgdGltZToKLSAgICAgICAgICAgICAgICBkZWxheWZ1bmModGltZSAtIG5vdykKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgZXZlbnQgPSBwb3AocSkKLSAgICAgICAgICAgICAgICAjIFZlcmlmeSB0aGF0IHRoZSBldmVudCB3YXMgbm90IHJlbW92ZWQgb3IgYWx0ZXJlZAotICAgICAgICAgICAgICAgICMgYnkgYW5vdGhlciB0aHJlYWQgYWZ0ZXIgd2UgbGFzdCBsb29rZWQgYXQgcVswXS4KLSAgICAgICAgICAgICAgICBpZiBldmVudCBpcyBjaGVja2VkX2V2ZW50OgotICAgICAgICAgICAgICAgICAgICBhY3Rpb24oKmFyZ3VtZW50KQotICAgICAgICAgICAgICAgICAgICBkZWxheWZ1bmMoMCkgICAjIExldCBvdGhlciB0aHJlYWRzIHJ1bgorICAgICAgICB3aXRoIHNlbGYuX2xvY2s6CisgICAgICAgICAgICBxID0gc2VsZi5fcXVldWUKKyAgICAgICAgICAgIGRlbGF5ZnVuYyA9IHNlbGYuZGVsYXlmdW5jCisgICAgICAgICAgICB0aW1lZnVuYyA9IHNlbGYudGltZWZ1bmMKKyAgICAgICAgICAgIHBvcCA9IGhlYXBxLmhlYXBwb3AKKyAgICAgICAgICAgIHdoaWxlIHE6CisgICAgICAgICAgICAgICAgdGltZSwgcHJpb3JpdHksIGFjdGlvbiwgYXJndW1lbnQsIGt3YXJncyA9IGNoZWNrZWRfZXZlbnQgPSBxWzBdCisgICAgICAgICAgICAgICAgbm93ID0gdGltZWZ1bmMoKQorICAgICAgICAgICAgICAgIGlmIG5vdyA8IHRpbWU6CisgICAgICAgICAgICAgICAgICAgIGlmIG5vdCBibG9ja2luZzoKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aW1lIC0gbm93CisgICAgICAgICAgICAgICAgICAgIGRlbGF5ZnVuYyh0aW1lIC0gbm93KQogICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgIGhlYXBxLmhlYXBwdXNoKHEsIGV2ZW50KQorICAgICAgICAgICAgICAgICAgICBldmVudCA9IHBvcChxKQorICAgICAgICAgICAgICAgICAgICAjIFZlcmlmeSB0aGF0IHRoZSBldmVudCB3YXMgbm90IHJlbW92ZWQgb3IgYWx0ZXJlZAorICAgICAgICAgICAgICAgICAgICAjIGJ5IGFub3RoZXIgdGhyZWFkIGFmdGVyIHdlIGxhc3QgbG9va2VkIGF0IHFbMF0uCisgICAgICAgICAgICAgICAgICAgIGlmIGV2ZW50IGlzIGNoZWNrZWRfZXZlbnQ6CisgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb24oKmFyZ3VtZW50LCAqKmt3YXJncykKKyAgICAgICAgICAgICAgICAgICAgICAgIGRlbGF5ZnVuYygwKSAgICMgTGV0IG90aGVyIHRocmVhZHMgcnVuCisgICAgICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgICAgICBoZWFwcS5oZWFwcHVzaChxLCBldmVudCkKIAogICAgIEBwcm9wZXJ0eQogICAgIGRlZiBxdWV1ZShzZWxmKToKQEAgLTEzNiw1ICsxNTMsNiBAQAogICAgICAgICAjIFVzZSBoZWFwcSB0byBzb3J0IHRoZSBxdWV1ZSByYXRoZXIgdGhhbiB1c2luZyAnc29ydGVkKHNlbGYuX3F1ZXVlKScuCiAgICAgICAgICMgV2l0aCBoZWFwcSwgdHdvIGV2ZW50cyBzY2hlZHVsZWQgYXQgdGhlIHNhbWUgdGltZSB3aWxsIHNob3cgaW4KICAgICAgICAgIyB0aGUgYWN0dWFsIG9yZGVyIHRoZXkgd291bGQgYmUgcmV0cmlldmVkLgotICAgICAgICBldmVudHMgPSBzZWxmLl9xdWV1ZVs6XQotICAgICAgICByZXR1cm4gbWFwKGhlYXBxLmhlYXBwb3AsIFtldmVudHNdKmxlbihldmVudHMpKQorICAgICAgICB3aXRoIHNlbGYuX2xvY2s6CisgICAgICAgICAgICBldmVudHMgPSBzZWxmLl9xdWV1ZVs6XQorICAgICAgICAgICAgcmV0dXJuIG1hcChoZWFwcS5oZWFwcG9wLCBbZXZlbnRzXSpsZW4oZXZlbnRzKSkKZGlmZiAtLWdpdCBhL0xpYi9zaGxleC5weSBiL0xpYi9zaGxleC5weQppbmRleCAzZWRkM2RiLi42OWYzYjQ1IDEwMDY0NAotLS0gYS9MaWIvc2hsZXgucHkKKysrIGIvTGliL3NobGV4LnB5CkBAIC02LDEzICs2LDE0IEBACiAjIFBvc2l4IGNvbXBsaWFuY2UsIHNwbGl0KCksIHN0cmluZyBhcmd1bWVudHMsIGFuZAogIyBpdGVyYXRvciBpbnRlcmZhY2UgYnkgR3VzdGF2byBOaWVtZXllciwgQXByaWwgMjAwMy4KIAotaW1wb3J0IG9zLnBhdGgKK2ltcG9ydCBvcworaW1wb3J0IHJlCiBpbXBvcnQgc3lzCiBmcm9tIGNvbGxlY3Rpb25zIGltcG9ydCBkZXF1ZQogCiBmcm9tIGlvIGltcG9ydCBTdHJpbmdJTwogCi1fX2FsbF9fID0gWyJzaGxleCIsICJzcGxpdCJdCitfX2FsbF9fID0gWyJzaGxleCIsICJzcGxpdCIsICJxdW90ZSJdCiAKIGNsYXNzIHNobGV4OgogICAgICJBIGxleGljYWwgYW5hbHl6ZXIgY2xhc3MgZm9yIHNpbXBsZSBzaGVsbC1saWtlIHN5bnRheGVzLiIKQEAgLTI3NCw2ICsyNzUsMjEgQEAKICAgICAgICAgbGV4LmNvbW1lbnRlcnMgPSAnJwogICAgIHJldHVybiBsaXN0KGxleCkKIAorCitfZmluZF91bnNhZmUgPSByZS5jb21waWxlKHInW15cd0AlKz06LC4vLV0nLCByZS5BU0NJSSkuc2VhcmNoCisKK2RlZiBxdW90ZShzKToKKyAgICAiIiJSZXR1cm4gYSBzaGVsbC1lc2NhcGVkIHZlcnNpb24gb2YgdGhlIHN0cmluZyAqcyouIiIiCisgICAgaWYgbm90IHM6CisgICAgICAgIHJldHVybiAiJyciCisgICAgaWYgX2ZpbmRfdW5zYWZlKHMpIGlzIE5vbmU6CisgICAgICAgIHJldHVybiBzCisKKyAgICAjIHVzZSBzaW5nbGUgcXVvdGVzLCBhbmQgcHV0IHNpbmdsZSBxdW90ZXMgaW50byBkb3VibGUgcXVvdGVzCisgICAgIyB0aGUgc3RyaW5nICQnYiBpcyB0aGVuIHF1b3RlZCBhcyAnJCciJyInYicKKyAgICByZXR1cm4gIiciICsgcy5yZXBsYWNlKCInIiwgIidcIidcIiciKSArICInIgorCisKIGlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CiAgICAgaWYgbGVuKHN5cy5hcmd2KSA9PSAxOgogICAgICAgICBsZXhlciA9IHNobGV4KCkKZGlmZiAtLWdpdCBhL0xpYi9zaHV0aWwucHkgYi9MaWIvc2h1dGlsLnB5CmluZGV4IGQxYjFhZjMuLjY2NjQ1OTkgMTAwNjQ0Ci0tLSBhL0xpYi9zaHV0aWwucHkKKysrIGIvTGliL3NodXRpbC5weQpAQCAtMTUsNiArMTUsNyBAQAogCiB0cnk6CiAgICAgaW1wb3J0IGJ6MgorICAgIGRlbCBiejIKICAgICBfQloyX1NVUFBPUlRFRCA9IFRydWUKIGV4Y2VwdCBJbXBvcnRFcnJvcjoKICAgICBfQloyX1NVUFBPUlRFRCA9IEZhbHNlCkBAIC0zNCw3ICszNSw5IEBACiAgICAgICAgICAgICJFeGVjRXJyb3IiLCAibWFrZV9hcmNoaXZlIiwgImdldF9hcmNoaXZlX2Zvcm1hdHMiLAogICAgICAgICAgICAicmVnaXN0ZXJfYXJjaGl2ZV9mb3JtYXQiLCAidW5yZWdpc3Rlcl9hcmNoaXZlX2Zvcm1hdCIsCiAgICAgICAgICAgICJnZXRfdW5wYWNrX2Zvcm1hdHMiLCAicmVnaXN0ZXJfdW5wYWNrX2Zvcm1hdCIsCi0gICAgICAgICAgICJ1bnJlZ2lzdGVyX3VucGFja19mb3JtYXQiLCAidW5wYWNrX2FyY2hpdmUiLCAiaWdub3JlX3BhdHRlcm5zIl0KKyAgICAgICAgICAgInVucmVnaXN0ZXJfdW5wYWNrX2Zvcm1hdCIsICJ1bnBhY2tfYXJjaGl2ZSIsCisgICAgICAgICAgICJpZ25vcmVfcGF0dGVybnMiLCAiY2hvd24iXQorICAgICAgICAgICAjIGRpc2tfdXNhZ2UgaXMgYWRkZWQgbGF0ZXIsIGlmIGF2YWlsYWJsZSBvbiB0aGUgcGxhdGZvcm0KIAogY2xhc3MgRXJyb3IoRW52aXJvbm1lbnRFcnJvcik6CiAgICAgcGFzcwpAQCAtNzksOCArODIsMTMgQEAKICAgICByZXR1cm4gKG9zLnBhdGgubm9ybWNhc2Uob3MucGF0aC5hYnNwYXRoKHNyYykpID09CiAgICAgICAgICAgICBvcy5wYXRoLm5vcm1jYXNlKG9zLnBhdGguYWJzcGF0aChkc3QpKSkKIAotZGVmIGNvcHlmaWxlKHNyYywgZHN0KToKLSAgICAiIiJDb3B5IGRhdGEgZnJvbSBzcmMgdG8gZHN0IiIiCitkZWYgY29weWZpbGUoc3JjLCBkc3QsIHN5bWxpbmtzPUZhbHNlKToKKyAgICAiIiJDb3B5IGRhdGEgZnJvbSBzcmMgdG8gZHN0LgorCisgICAgSWYgb3B0aW9uYWwgZmxhZyBgc3ltbGlua3NgIGlzIHNldCBhbmQgYHNyY2AgaXMgYSBzeW1ib2xpYyBsaW5rLCBhIG5ldworICAgIHN5bWxpbmsgd2lsbCBiZSBjcmVhdGVkIGluc3RlYWQgb2YgY29weWluZyB0aGUgZmlsZSBpdCBwb2ludHMgdG8uCisKKyAgICAiIiIKICAgICBpZiBfc2FtZWZpbGUoc3JjLCBkc3QpOgogICAgICAgICByYWlzZSBFcnJvcigiYCVzYCBhbmQgYCVzYCBhcmUgdGhlIHNhbWUgZmlsZSIgJSAoc3JjLCBkc3QpKQogCkBAIC05NSw1NCArMTAzLDk0IEBACiAgICAgICAgICAgICBpZiBzdGF0LlNfSVNGSUZPKHN0LnN0X21vZGUpOgogICAgICAgICAgICAgICAgIHJhaXNlIFNwZWNpYWxGaWxlRXJyb3IoImAlc2AgaXMgYSBuYW1lZCBwaXBlIiAlIGZuKQogCi0gICAgd2l0aCBvcGVuKHNyYywgJ3JiJykgYXMgZnNyYzoKLSAgICAgICAgd2l0aCBvcGVuKGRzdCwgJ3diJykgYXMgZmRzdDoKLSAgICAgICAgICAgIGNvcHlmaWxlb2JqKGZzcmMsIGZkc3QpCisgICAgaWYgc3ltbGlua3MgYW5kIG9zLnBhdGguaXNsaW5rKHNyYyk6CisgICAgICAgIG9zLnN5bWxpbmsob3MucmVhZGxpbmsoc3JjKSwgZHN0KQorICAgIGVsc2U6CisgICAgICAgIHdpdGggb3BlbihzcmMsICdyYicpIGFzIGZzcmM6CisgICAgICAgICAgICB3aXRoIG9wZW4oZHN0LCAnd2InKSBhcyBmZHN0OgorICAgICAgICAgICAgICAgIGNvcHlmaWxlb2JqKGZzcmMsIGZkc3QpCiAKLWRlZiBjb3B5bW9kZShzcmMsIGRzdCk6Ci0gICAgIiIiQ29weSBtb2RlIGJpdHMgZnJvbSBzcmMgdG8gZHN0IiIiCi0gICAgaWYgaGFzYXR0cihvcywgJ2NobW9kJyk6Ci0gICAgICAgIHN0ID0gb3Muc3RhdChzcmMpCi0gICAgICAgIG1vZGUgPSBzdGF0LlNfSU1PREUoc3Quc3RfbW9kZSkKLSAgICAgICAgb3MuY2htb2QoZHN0LCBtb2RlKQorZGVmIGNvcHltb2RlKHNyYywgZHN0LCBzeW1saW5rcz1GYWxzZSk6CisgICAgIiIiQ29weSBtb2RlIGJpdHMgZnJvbSBzcmMgdG8gZHN0LgogCi1kZWYgY29weXN0YXQoc3JjLCBkc3QpOgotICAgICIiIkNvcHkgYWxsIHN0YXQgaW5mbyAobW9kZSBiaXRzLCBhdGltZSwgbXRpbWUsIGZsYWdzKSBmcm9tIHNyYyB0byBkc3QiIiIKLSAgICBzdCA9IG9zLnN0YXQoc3JjKQorICAgIElmIHRoZSBvcHRpb25hbCBmbGFnIGBzeW1saW5rc2AgaXMgc2V0LCBzeW1saW5rcyBhcmVuJ3QgZm9sbG93ZWQgaWYgYW5kCisgICAgb25seSBpZiBib3RoIGBzcmNgIGFuZCBgZHN0YCBhcmUgc3ltbGlua3MuIElmIGBsY2htb2RgIGlzbid0IGF2YWlsYWJsZSAoZWcuCisgICAgTGludXgpLCBpbiB0aGVzZSBjYXNlcywgdGhpcyBtZXRob2QgZG9lcyBub3RoaW5nLgorCisgICAgIiIiCisgICAgaWYgc3ltbGlua3MgYW5kIG9zLnBhdGguaXNsaW5rKHNyYykgYW5kIG9zLnBhdGguaXNsaW5rKGRzdCk6CisgICAgICAgIGlmIGhhc2F0dHIob3MsICdsY2htb2QnKToKKyAgICAgICAgICAgIHN0YXRfZnVuYywgY2htb2RfZnVuYyA9IG9zLmxzdGF0LCBvcy5sY2htb2QKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJldHVybgorICAgIGVsaWYgaGFzYXR0cihvcywgJ2NobW9kJyk6CisgICAgICAgIHN0YXRfZnVuYywgY2htb2RfZnVuYyA9IG9zLnN0YXQsIG9zLmNobW9kCisgICAgZWxzZToKKyAgICAgICAgcmV0dXJuCisKKyAgICBzdCA9IHN0YXRfZnVuYyhzcmMpCisgICAgY2htb2RfZnVuYyhkc3QsIHN0YXQuU19JTU9ERShzdC5zdF9tb2RlKSkKKworZGVmIGNvcHlzdGF0KHNyYywgZHN0LCBzeW1saW5rcz1GYWxzZSk6CisgICAgIiIiQ29weSBhbGwgc3RhdCBpbmZvIChtb2RlIGJpdHMsIGF0aW1lLCBtdGltZSwgZmxhZ3MpIGZyb20gc3JjIHRvIGRzdC4KKworICAgIElmIHRoZSBvcHRpb25hbCBmbGFnIGBzeW1saW5rc2AgaXMgc2V0LCBzeW1saW5rcyBhcmVuJ3QgZm9sbG93ZWQgaWYgYW5kCisgICAgb25seSBpZiBib3RoIGBzcmNgIGFuZCBgZHN0YCBhcmUgc3ltbGlua3MuCisKKyAgICAiIiIKKyAgICBkZWYgX25vcCgqYXJncyk6CisgICAgICAgIHBhc3MKKworICAgIGlmIHN5bWxpbmtzIGFuZCBvcy5wYXRoLmlzbGluayhzcmMpIGFuZCBvcy5wYXRoLmlzbGluayhkc3QpOgorICAgICAgICBzdGF0X2Z1bmMgPSBvcy5sc3RhdAorICAgICAgICB1dGltZV9mdW5jID0gb3MubHV0aW1lcyBpZiBoYXNhdHRyKG9zLCAnbHV0aW1lcycpIGVsc2UgX25vcAorICAgICAgICBjaG1vZF9mdW5jID0gb3MubGNobW9kIGlmIGhhc2F0dHIob3MsICdsY2htb2QnKSBlbHNlIF9ub3AKKyAgICAgICAgY2hmbGFnc19mdW5jID0gb3MubGNoZmxhZ3MgaWYgaGFzYXR0cihvcywgJ2xjaGZsYWdzJykgZWxzZSBfbm9wCisgICAgZWxzZToKKyAgICAgICAgc3RhdF9mdW5jID0gb3Muc3RhdAorICAgICAgICB1dGltZV9mdW5jID0gb3MudXRpbWUgaWYgaGFzYXR0cihvcywgJ3V0aW1lJykgZWxzZSBfbm9wCisgICAgICAgIGNobW9kX2Z1bmMgPSBvcy5jaG1vZCBpZiBoYXNhdHRyKG9zLCAnY2htb2QnKSBlbHNlIF9ub3AKKyAgICAgICAgY2hmbGFnc19mdW5jID0gb3MuY2hmbGFncyBpZiBoYXNhdHRyKG9zLCAnY2hmbGFncycpIGVsc2UgX25vcAorCisgICAgc3QgPSBzdGF0X2Z1bmMoc3JjKQogICAgIG1vZGUgPSBzdGF0LlNfSU1PREUoc3Quc3RfbW9kZSkKLSAgICBpZiBoYXNhdHRyKG9zLCAndXRpbWUnKToKLSAgICAgICAgb3MudXRpbWUoZHN0LCAoc3Quc3RfYXRpbWUsIHN0LnN0X210aW1lKSkKLSAgICBpZiBoYXNhdHRyKG9zLCAnY2htb2QnKToKLSAgICAgICAgb3MuY2htb2QoZHN0LCBtb2RlKQotICAgIGlmIGhhc2F0dHIob3MsICdjaGZsYWdzJykgYW5kIGhhc2F0dHIoc3QsICdzdF9mbGFncycpOgorICAgIHV0aW1lX2Z1bmMoZHN0LCAoc3Quc3RfYXRpbWUsIHN0LnN0X210aW1lKSkKKyAgICBjaG1vZF9mdW5jKGRzdCwgbW9kZSkKKyAgICBpZiBoYXNhdHRyKHN0LCAnc3RfZmxhZ3MnKToKICAgICAgICAgdHJ5OgotICAgICAgICAgICAgb3MuY2hmbGFncyhkc3QsIHN0LnN0X2ZsYWdzKQorICAgICAgICAgICAgY2hmbGFnc19mdW5jKGRzdCwgc3Quc3RfZmxhZ3MpCiAgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIHdoeToKICAgICAgICAgICAgIGlmIChub3QgaGFzYXR0cihlcnJubywgJ0VPUE5PVFNVUFAnKSBvcgogICAgICAgICAgICAgICAgIHdoeS5lcnJubyAhPSBlcnJuby5FT1BOT1RTVVBQKToKICAgICAgICAgICAgICAgICByYWlzZQogCi1kZWYgY29weShzcmMsIGRzdCk6CitkZWYgY29weShzcmMsIGRzdCwgc3ltbGlua3M9RmFsc2UpOgogICAgICIiIkNvcHkgZGF0YSBhbmQgbW9kZSBiaXRzICgiY3Agc3JjIGRzdCIpLgogCiAgICAgVGhlIGRlc3RpbmF0aW9uIG1heSBiZSBhIGRpcmVjdG9yeS4KIAorICAgIElmIHRoZSBvcHRpb25hbCBmbGFnIGBzeW1saW5rc2AgaXMgc2V0LCBzeW1saW5rcyB3b24ndCBiZSBmb2xsb3dlZC4gVGhpcworICAgIHJlc2VtYmxlcyBHTlUncyAiY3AgLVAgc3JjIGRzdCIuCisKICAgICAiIiIKICAgICBpZiBvcy5wYXRoLmlzZGlyKGRzdCk6CiAgICAgICAgIGRzdCA9IG9zLnBhdGguam9pbihkc3QsIG9zLnBhdGguYmFzZW5hbWUoc3JjKSkKLSAgICBjb3B5ZmlsZShzcmMsIGRzdCkKLSAgICBjb3B5bW9kZShzcmMsIGRzdCkKKyAgICBjb3B5ZmlsZShzcmMsIGRzdCwgc3ltbGlua3M9c3ltbGlua3MpCisgICAgY29weW1vZGUoc3JjLCBkc3QsIHN5bWxpbmtzPXN5bWxpbmtzKQogCi1kZWYgY29weTIoc3JjLCBkc3QpOgorZGVmIGNvcHkyKHNyYywgZHN0LCBzeW1saW5rcz1GYWxzZSk6CiAgICAgIiIiQ29weSBkYXRhIGFuZCBhbGwgc3RhdCBpbmZvICgiY3AgLXAgc3JjIGRzdCIpLgogCiAgICAgVGhlIGRlc3RpbmF0aW9uIG1heSBiZSBhIGRpcmVjdG9yeS4KIAorICAgIElmIHRoZSBvcHRpb25hbCBmbGFnIGBzeW1saW5rc2AgaXMgc2V0LCBzeW1saW5rcyB3b24ndCBiZSBmb2xsb3dlZC4gVGhpcworICAgIHJlc2VtYmxlcyBHTlUncyAiY3AgLVAgc3JjIGRzdCIuCisKICAgICAiIiIKICAgICBpZiBvcy5wYXRoLmlzZGlyKGRzdCk6CiAgICAgICAgIGRzdCA9IG9zLnBhdGguam9pbihkc3QsIG9zLnBhdGguYmFzZW5hbWUoc3JjKSkKLSAgICBjb3B5ZmlsZShzcmMsIGRzdCkKLSAgICBjb3B5c3RhdChzcmMsIGRzdCkKKyAgICBjb3B5ZmlsZShzcmMsIGRzdCwgc3ltbGlua3M9c3ltbGlua3MpCisgICAgY29weXN0YXQoc3JjLCBkc3QsIHN5bWxpbmtzPXN5bWxpbmtzKQogCiBkZWYgaWdub3JlX3BhdHRlcm5zKCpwYXR0ZXJucyk6CiAgICAgIiIiRnVuY3Rpb24gdGhhdCBjYW4gYmUgdXNlZCBhcyBjb3B5dHJlZSgpIGlnbm9yZSBwYXJhbWV0ZXIuCkBAIC0yMDksNyArMjU3LDExIEBACiAgICAgICAgICAgICBpZiBvcy5wYXRoLmlzbGluayhzcmNuYW1lKToKICAgICAgICAgICAgICAgICBsaW5rdG8gPSBvcy5yZWFkbGluayhzcmNuYW1lKQogICAgICAgICAgICAgICAgIGlmIHN5bWxpbmtzOgorICAgICAgICAgICAgICAgICAgICAjIFdlIGNhbid0IGp1c3QgbGVhdmUgaXQgdG8gYGNvcHlfZnVuY3Rpb25gIGJlY2F1c2UgbGVnYWN5CisgICAgICAgICAgICAgICAgICAgICMgY29kZSB3aXRoIGEgY3VzdG9tIGBjb3B5X2Z1bmN0aW9uYCBtYXkgcmVseSBvbiBjb3B5dHJlZQorICAgICAgICAgICAgICAgICAgICAjIGRvaW5nIHRoZSByaWdodCB0aGluZy4KICAgICAgICAgICAgICAgICAgICAgb3Muc3ltbGluayhsaW5rdG8sIGRzdG5hbWUpCisgICAgICAgICAgICAgICAgICAgIGNvcHlzdGF0KHNyY25hbWUsIGRzdG5hbWUsIHN5bWxpbmtzPXN5bWxpbmtzKQogICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgICMgaWdub3JlIGRhbmdsaW5nIHN5bWxpbmsgaWYgdGhlIGZsYWcgaXMgb24KICAgICAgICAgICAgICAgICAgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKGxpbmt0bykgYW5kIGlnbm9yZV9kYW5nbGluZ19zeW1saW5rczoKQEAgLTI2Niw3ICszMTgsNyBAQAogICAgIG5hbWVzID0gW10KICAgICB0cnk6CiAgICAgICAgIG5hbWVzID0gb3MubGlzdGRpcihwYXRoKQotICAgIGV4Y2VwdCBvcy5lcnJvciBhcyBlcnI6CisgICAgZXhjZXB0IG9zLmVycm9yOgogICAgICAgICBvbmVycm9yKG9zLmxpc3RkaXIsIHBhdGgsIHN5cy5leGNfaW5mbygpKQogICAgIGZvciBuYW1lIGluIG5hbWVzOgogICAgICAgICBmdWxsbmFtZSA9IG9zLnBhdGguam9pbihwYXRoLCBuYW1lKQpAQCAtMjc5LDcgKzMzMSw3IEBACiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgb3MucmVtb3ZlKGZ1bGxuYW1lKQotICAgICAgICAgICAgZXhjZXB0IG9zLmVycm9yIGFzIGVycjoKKyAgICAgICAgICAgIGV4Y2VwdCBvcy5lcnJvcjoKICAgICAgICAgICAgICAgICBvbmVycm9yKG9zLnJlbW92ZSwgZnVsbG5hbWUsIHN5cy5leGNfaW5mbygpKQogICAgIHRyeToKICAgICAgICAgb3Mucm1kaXIocGF0aCkKQEAgLTMwNCw3ICszNTYsMTAgQEAKICAgICBvdmVyd3JpdHRlbiBkZXBlbmRpbmcgb24gb3MucmVuYW1lKCkgc2VtYW50aWNzLgogCiAgICAgSWYgdGhlIGRlc3RpbmF0aW9uIGlzIG9uIG91ciBjdXJyZW50IGZpbGVzeXN0ZW0sIHRoZW4gcmVuYW1lKCkgaXMgdXNlZC4KLSAgICBPdGhlcndpc2UsIHNyYyBpcyBjb3BpZWQgdG8gdGhlIGRlc3RpbmF0aW9uIGFuZCB0aGVuIHJlbW92ZWQuCisgICAgT3RoZXJ3aXNlLCBzcmMgaXMgY29waWVkIHRvIHRoZSBkZXN0aW5hdGlvbiBhbmQgdGhlbiByZW1vdmVkLiBTeW1saW5rcyBhcmUKKyAgICByZWNyZWF0ZWQgdW5kZXIgdGhlIG5ldyBuYW1lIGlmIG9zLnJlbmFtZSgpIGZhaWxzIGJlY2F1c2Ugb2YgY3Jvc3MKKyAgICBmaWxlc3lzdGVtIHJlbmFtZXMuCisKICAgICBBIGxvdCBtb3JlIGNvdWxkIGJlIGRvbmUgaGVyZS4uLiAgQSBsb29rIGF0IGEgbXYuYyBzaG93cyBhIGxvdCBvZgogICAgIHRoZSBpc3N1ZXMgdGhpcyBpbXBsZW1lbnRhdGlvbiBnbG9zc2VzIG92ZXIuCiAKQEAgLTMyMiw4ICszNzcsMTIgQEAKICAgICAgICAgICAgIHJhaXNlIEVycm9yKCJEZXN0aW5hdGlvbiBwYXRoICclcycgYWxyZWFkeSBleGlzdHMiICUgcmVhbF9kc3QpCiAgICAgdHJ5OgogICAgICAgICBvcy5yZW5hbWUoc3JjLCByZWFsX2RzdCkKLSAgICBleGNlcHQgT1NFcnJvciBhcyBleGM6Ci0gICAgICAgIGlmIG9zLnBhdGguaXNkaXIoc3JjKToKKyAgICBleGNlcHQgT1NFcnJvcjoKKyAgICAgICAgaWYgb3MucGF0aC5pc2xpbmsoc3JjKToKKyAgICAgICAgICAgIGxpbmt0byA9IG9zLnJlYWRsaW5rKHNyYykKKyAgICAgICAgICAgIG9zLnN5bWxpbmsobGlua3RvLCByZWFsX2RzdCkKKyAgICAgICAgICAgIG9zLnVubGluayhzcmMpCisgICAgICAgIGVsaWYgb3MucGF0aC5pc2RpcihzcmMpOgogICAgICAgICAgICAgaWYgX2Rlc3RpbnNyYyhzcmMsIGRzdCk6CiAgICAgICAgICAgICAgICAgcmFpc2UgRXJyb3IoIkNhbm5vdCBtb3ZlIGEgZGlyZWN0b3J5ICclcycgaW50byBpdHNlbGYgJyVzJy4iICUgKHNyYywgZHN0KSkKICAgICAgICAgICAgIGNvcHl0cmVlKHNyYywgcmVhbF9kc3QsIHN5bWxpbmtzPVRydWUpCkBAIC0zODksNyArNDQ4LDcgQEAKICAgICAgICAgY29tcHJlc3NfZXh0WydiemlwMiddID0gJy5iejInCiAKICAgICAjIGZsYWdzIGZvciBjb21wcmVzc2lvbiBwcm9ncmFtLCBlYWNoIGVsZW1lbnQgb2YgbGlzdCB3aWxsIGJlIGFuIGFyZ3VtZW50Ci0gICAgaWYgY29tcHJlc3MgaXMgbm90IE5vbmUgYW5kIGNvbXByZXNzIG5vdCBpbiBjb21wcmVzc19leHQua2V5cygpOgorICAgIGlmIGNvbXByZXNzIGlzIG5vdCBOb25lIGFuZCBjb21wcmVzcyBub3QgaW4gY29tcHJlc3NfZXh0OgogICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJiYWQgdmFsdWUgZm9yICdjb21wcmVzcycsIG9yIGNvbXByZXNzaW9uIGZvcm1hdCBub3QgIgogICAgICAgICAgICAgICAgICAgICAgICAgICJzdXBwb3J0ZWQgOiB7MH0iLmZvcm1hdChjb21wcmVzcykpCiAKQEAgLTQ5NCw3ICs1NTMsNyBAQAogX0FSQ0hJVkVfRk9STUFUUyA9IHsKICAgICAnZ3p0YXInOiAoX21ha2VfdGFyYmFsbCwgWygnY29tcHJlc3MnLCAnZ3ppcCcpXSwgImd6aXAnZWQgdGFyLWZpbGUiKSwKICAgICAndGFyJzogICAoX21ha2VfdGFyYmFsbCwgWygnY29tcHJlc3MnLCBOb25lKV0sICJ1bmNvbXByZXNzZWQgdGFyIGZpbGUiKSwKLSAgICAnemlwJzogICAoX21ha2VfemlwZmlsZSwgW10sIlpJUCBmaWxlIikKKyAgICAnemlwJzogICAoX21ha2VfemlwZmlsZSwgW10sICJaSVAgZmlsZSIpCiAgICAgfQogCiBpZiBfQloyX1NVUFBPUlRFRDoKQEAgLTUyNyw3ICs1ODYsNyBAQAogICAgIGlmIG5vdCBpc2luc3RhbmNlKGV4dHJhX2FyZ3MsICh0dXBsZSwgbGlzdCkpOgogICAgICAgICByYWlzZSBUeXBlRXJyb3IoJ2V4dHJhX2FyZ3MgbmVlZHMgdG8gYmUgYSBzZXF1ZW5jZScpCiAgICAgZm9yIGVsZW1lbnQgaW4gZXh0cmFfYXJnczoKLSAgICAgICAgaWYgbm90IGlzaW5zdGFuY2UoZWxlbWVudCwgKHR1cGxlLCBsaXN0KSkgb3IgbGVuKGVsZW1lbnQpICE9MiA6CisgICAgICAgIGlmIG5vdCBpc2luc3RhbmNlKGVsZW1lbnQsICh0dXBsZSwgbGlzdCkpIG9yIGxlbihlbGVtZW50KSAhPTI6CiAgICAgICAgICAgICByYWlzZSBUeXBlRXJyb3IoJ2V4dHJhX2FyZ3MgZWxlbWVudHMgYXJlIDogKGFyZ19uYW1lLCB2YWx1ZSknKQogCiAgICAgX0FSQ0hJVkVfRk9STUFUU1tuYW1lXSA9IChmdW5jdGlvbiwgZXh0cmFfYXJncywgZGVzY3JpcHRpb24pCkBAIC02NzksNyArNzM4LDcgQEAKICAgICAgICAgICAgIGlmIG5vdCBuYW1lLmVuZHN3aXRoKCcvJyk6CiAgICAgICAgICAgICAgICAgIyBmaWxlCiAgICAgICAgICAgICAgICAgZGF0YSA9IHppcC5yZWFkKGluZm8uZmlsZW5hbWUpCi0gICAgICAgICAgICAgICAgZiA9IG9wZW4odGFyZ2V0LCd3YicpCisgICAgICAgICAgICAgICAgZiA9IG9wZW4odGFyZ2V0LCAnd2InKQogICAgICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICAgICAgZi53cml0ZShkYXRhKQogICAgICAgICAgICAgICAgIGZpbmFsbHk6CkBAIC03NTMsMyArODEyLDExMiBAQAogICAgICAgICBmdW5jID0gX1VOUEFDS19GT1JNQVRTW2Zvcm1hdF1bMV0KICAgICAgICAga3dhcmdzID0gZGljdChfVU5QQUNLX0ZPUk1BVFNbZm9ybWF0XVsyXSkKICAgICAgICAgZnVuYyhmaWxlbmFtZSwgZXh0cmFjdF9kaXIsICoqa3dhcmdzKQorCisKK2lmIGhhc2F0dHIob3MsICdzdGF0dmZzJyk6CisKKyAgICBfX2FsbF9fLmFwcGVuZCgnZGlza191c2FnZScpCisgICAgX250dXBsZV9kaXNrdXNhZ2UgPSBjb2xsZWN0aW9ucy5uYW1lZHR1cGxlKCd1c2FnZScsICd0b3RhbCB1c2VkIGZyZWUnKQorCisgICAgZGVmIGRpc2tfdXNhZ2UocGF0aCk6CisgICAgICAgICIiIlJldHVybiBkaXNrIHVzYWdlIHN0YXRpc3RpY3MgYWJvdXQgdGhlIGdpdmVuIHBhdGguCisKKyAgICAgICAgUmV0dXJuZWQgdmFsdXMgaXMgYSBuYW1lZCB0dXBsZSB3aXRoIGF0dHJpYnV0ZXMgJ3RvdGFsJywgJ3VzZWQnIGFuZAorICAgICAgICAnZnJlZScsIHdoaWNoIGFyZSB0aGUgYW1vdW50IG9mIHRvdGFsLCB1c2VkIGFuZCBmcmVlIHNwYWNlLCBpbiBieXRlcy4KKyAgICAgICAgIiIiCisgICAgICAgIHN0ID0gb3Muc3RhdHZmcyhwYXRoKQorICAgICAgICBmcmVlID0gc3QuZl9iYXZhaWwgKiBzdC5mX2Zyc2l6ZQorICAgICAgICB0b3RhbCA9IHN0LmZfYmxvY2tzICogc3QuZl9mcnNpemUKKyAgICAgICAgdXNlZCA9IChzdC5mX2Jsb2NrcyAtIHN0LmZfYmZyZWUpICogc3QuZl9mcnNpemUKKyAgICAgICAgcmV0dXJuIF9udHVwbGVfZGlza3VzYWdlKHRvdGFsLCB1c2VkLCBmcmVlKQorCitlbGlmIG9zLm5hbWUgPT0gJ250JzoKKworICAgIGltcG9ydCBudAorICAgIF9fYWxsX18uYXBwZW5kKCdkaXNrX3VzYWdlJykKKyAgICBfbnR1cGxlX2Rpc2t1c2FnZSA9IGNvbGxlY3Rpb25zLm5hbWVkdHVwbGUoJ3VzYWdlJywgJ3RvdGFsIHVzZWQgZnJlZScpCisKKyAgICBkZWYgZGlza191c2FnZShwYXRoKToKKyAgICAgICAgIiIiUmV0dXJuIGRpc2sgdXNhZ2Ugc3RhdGlzdGljcyBhYm91dCB0aGUgZ2l2ZW4gcGF0aC4KKworICAgICAgICBSZXR1cm5lZCB2YWx1cyBpcyBhIG5hbWVkIHR1cGxlIHdpdGggYXR0cmlidXRlcyAndG90YWwnLCAndXNlZCcgYW5kCisgICAgICAgICdmcmVlJywgd2hpY2ggYXJlIHRoZSBhbW91bnQgb2YgdG90YWwsIHVzZWQgYW5kIGZyZWUgc3BhY2UsIGluIGJ5dGVzLgorICAgICAgICAiIiIKKyAgICAgICAgdG90YWwsIGZyZWUgPSBudC5fZ2V0ZGlza3VzYWdlKHBhdGgpCisgICAgICAgIHVzZWQgPSB0b3RhbCAtIGZyZWUKKyAgICAgICAgcmV0dXJuIF9udHVwbGVfZGlza3VzYWdlKHRvdGFsLCB1c2VkLCBmcmVlKQorCisKK2RlZiBjaG93bihwYXRoLCB1c2VyPU5vbmUsIGdyb3VwPU5vbmUpOgorICAgICIiIkNoYW5nZSBvd25lciB1c2VyIGFuZCBncm91cCBvZiB0aGUgZ2l2ZW4gcGF0aC4KKworICAgIHVzZXIgYW5kIGdyb3VwIGNhbiBiZSB0aGUgdWlkL2dpZCBvciB0aGUgdXNlci9ncm91cCBuYW1lcywgYW5kIGluIHRoYXQgY2FzZSwKKyAgICB0aGV5IGFyZSBjb252ZXJ0ZWQgdG8gdGhlaXIgcmVzcGVjdGl2ZSB1aWQvZ2lkLgorICAgICIiIgorCisgICAgaWYgdXNlciBpcyBOb25lIGFuZCBncm91cCBpcyBOb25lOgorICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJ1c2VyIGFuZC9vciBncm91cCBtdXN0IGJlIHNldCIpCisKKyAgICBfdXNlciA9IHVzZXIKKyAgICBfZ3JvdXAgPSBncm91cAorCisgICAgIyAtMSBtZWFucyBkb24ndCBjaGFuZ2UgaXQKKyAgICBpZiB1c2VyIGlzIE5vbmU6CisgICAgICAgIF91c2VyID0gLTEKKyAgICAjIHVzZXIgY2FuIGVpdGhlciBiZSBhbiBpbnQgKHRoZSB1aWQpIG9yIGEgc3RyaW5nICh0aGUgc3lzdGVtIHVzZXJuYW1lKQorICAgIGVsaWYgaXNpbnN0YW5jZSh1c2VyLCBzdHIpOgorICAgICAgICBfdXNlciA9IF9nZXRfdWlkKHVzZXIpCisgICAgICAgIGlmIF91c2VyIGlzIE5vbmU6CisgICAgICAgICAgICByYWlzZSBMb29rdXBFcnJvcigibm8gc3VjaCB1c2VyOiB7IXJ9Ii5mb3JtYXQodXNlcikpCisKKyAgICBpZiBncm91cCBpcyBOb25lOgorICAgICAgICBfZ3JvdXAgPSAtMQorICAgIGVsaWYgbm90IGlzaW5zdGFuY2UoZ3JvdXAsIGludCk6CisgICAgICAgIF9ncm91cCA9IF9nZXRfZ2lkKGdyb3VwKQorICAgICAgICBpZiBfZ3JvdXAgaXMgTm9uZToKKyAgICAgICAgICAgIHJhaXNlIExvb2t1cEVycm9yKCJubyBzdWNoIGdyb3VwOiB7IXJ9Ii5mb3JtYXQoZ3JvdXApKQorCisgICAgb3MuY2hvd24ocGF0aCwgX3VzZXIsIF9ncm91cCkKKworZGVmIGdldF90ZXJtaW5hbF9zaXplKGZhbGxiYWNrPSg4MCwgMjQpKToKKyAgICAiIiJHZXQgdGhlIHNpemUgb2YgdGhlIHRlcm1pbmFsIHdpbmRvdy4KKworICAgIEZvciBlYWNoIG9mIHRoZSB0d28gZGltZW5zaW9ucywgdGhlIGVudmlyb25tZW50IHZhcmlhYmxlLCBDT0xVTU5TCisgICAgYW5kIExJTkVTIHJlc3BlY3RpdmVseSwgaXMgY2hlY2tlZC4gSWYgdGhlIHZhcmlhYmxlIGlzIGRlZmluZWQgYW5kCisgICAgdGhlIHZhbHVlIGlzIGEgcG9zaXRpdmUgaW50ZWdlciwgaXQgaXMgdXNlZC4KKworICAgIFdoZW4gQ09MVU1OUyBvciBMSU5FUyBpcyBub3QgZGVmaW5lZCwgd2hpY2ggaXMgdGhlIGNvbW1vbiBjYXNlLAorICAgIHRoZSB0ZXJtaW5hbCBjb25uZWN0ZWQgdG8gc3lzLl9fc3Rkb3V0X18gaXMgcXVlcmllZAorICAgIGJ5IGludm9raW5nIG9zLmdldF90ZXJtaW5hbF9zaXplLgorCisgICAgSWYgdGhlIHRlcm1pbmFsIHNpemUgY2Fubm90IGJlIHN1Y2Nlc3NmdWxseSBxdWVyaWVkLCBlaXRoZXIgYmVjYXVzZQorICAgIHRoZSBzeXN0ZW0gZG9lc24ndCBzdXBwb3J0IHF1ZXJ5aW5nLCBvciBiZWNhdXNlIHdlIGFyZSBub3QKKyAgICBjb25uZWN0ZWQgdG8gYSB0ZXJtaW5hbCwgdGhlIHZhbHVlIGdpdmVuIGluIGZhbGxiYWNrIHBhcmFtZXRlcgorICAgIGlzIHVzZWQuIEZhbGxiYWNrIGRlZmF1bHRzIHRvICg4MCwgMjQpIHdoaWNoIGlzIHRoZSBkZWZhdWx0CisgICAgc2l6ZSB1c2VkIGJ5IG1hbnkgdGVybWluYWwgZW11bGF0b3JzLgorCisgICAgVGhlIHZhbHVlIHJldHVybmVkIGlzIGEgbmFtZWQgdHVwbGUgb2YgdHlwZSBvcy50ZXJtaW5hbF9zaXplLgorICAgICIiIgorICAgICMgY29sdW1ucywgbGluZXMgYXJlIHRoZSB3b3JraW5nIHZhbHVlcworICAgIHRyeToKKyAgICAgICAgY29sdW1ucyA9IGludChvcy5lbnZpcm9uWydDT0xVTU5TJ10pCisgICAgZXhjZXB0IChLZXlFcnJvciwgVmFsdWVFcnJvcik6CisgICAgICAgIGNvbHVtbnMgPSAwCisKKyAgICB0cnk6CisgICAgICAgIGxpbmVzID0gaW50KG9zLmVudmlyb25bJ0xJTkVTJ10pCisgICAgZXhjZXB0IChLZXlFcnJvciwgVmFsdWVFcnJvcik6CisgICAgICAgIGxpbmVzID0gMAorCisgICAgIyBvbmx5IHF1ZXJ5IGlmIG5lY2Vzc2FyeQorICAgIGlmIGNvbHVtbnMgPD0gMCBvciBsaW5lcyA8PSAwOgorICAgICAgICB0cnk6CisgICAgICAgICAgICBzaXplID0gb3MuZ2V0X3Rlcm1pbmFsX3NpemUoc3lzLl9fc3Rkb3V0X18uZmlsZW5vKCkpCisgICAgICAgIGV4Y2VwdCAoTmFtZUVycm9yLCBPU0Vycm9yKToKKyAgICAgICAgICAgIHNpemUgPSBvcy50ZXJtaW5hbF9zaXplKGZhbGxiYWNrKQorICAgICAgICBpZiBjb2x1bW5zIDw9IDA6CisgICAgICAgICAgICBjb2x1bW5zID0gc2l6ZS5jb2x1bW5zCisgICAgICAgIGlmIGxpbmVzIDw9IDA6CisgICAgICAgICAgICBsaW5lcyA9IHNpemUubGluZXMKKworICAgIHJldHVybiBvcy50ZXJtaW5hbF9zaXplKChjb2x1bW5zLCBsaW5lcykpCmRpZmYgLS1naXQgYS9MaWIvc2l0ZS5weSBiL0xpYi9zaXRlLnB5CmluZGV4IGEyYzBiZWMuLmI4MzQ5OGUgMTAwNjQ0Ci0tLSBhL0xpYi9zaXRlLnB5CisrKyBiL0xpYi9zaXRlLnB5CkBAIC01NSw3ICs1NSw2IEBACiBpbXBvcnQgc3lzCiBpbXBvcnQgb3MKIGltcG9ydCBidWlsdGlucwotaW1wb3J0IHRyYWNlYmFjawogCiAjIFByZWZpeGVzIGZvciBzaXRlLXBhY2thZ2VzOyBhZGQgYWRkaXRpb25hbCBwcmVmaXhlcyBsaWtlIC91c3IvbG9jYWwgaGVyZQogUFJFRklYRVMgPSBbc3lzLnByZWZpeCwgc3lzLmV4ZWNfcHJlZml4XQpAQCAtMTM4LDcgKzEzNyw3IEBACiAgICAgICAgIHJlc2V0ID0gMAogICAgIGZ1bGxuYW1lID0gb3MucGF0aC5qb2luKHNpdGVkaXIsIG5hbWUpCiAgICAgdHJ5OgotICAgICAgICBmID0gb3BlbihmdWxsbmFtZSwgInJVIikKKyAgICAgICAgZiA9IG9wZW4oZnVsbG5hbWUsICJyIikKICAgICBleGNlcHQgSU9FcnJvcjoKICAgICAgICAgcmV0dXJuCiAgICAgd2l0aCBmOgpAQCAtMTU0LDkgKzE1MywxMCBAQAogICAgICAgICAgICAgICAgIGlmIG5vdCBkaXJjYXNlIGluIGtub3duX3BhdGhzIGFuZCBvcy5wYXRoLmV4aXN0cyhkaXIpOgogICAgICAgICAgICAgICAgICAgICBzeXMucGF0aC5hcHBlbmQoZGlyKQogICAgICAgICAgICAgICAgICAgICBrbm93bl9wYXRocy5hZGQoZGlyY2FzZSkKLSAgICAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZXJyOgorICAgICAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbjoKICAgICAgICAgICAgICAgICBwcmludCgiRXJyb3IgcHJvY2Vzc2luZyBsaW5lIHs6ZH0gb2Yge306XG4iLmZvcm1hdChuKzEsIGZ1bGxuYW1lKSwKICAgICAgICAgICAgICAgICAgICAgICBmaWxlPXN5cy5zdGRlcnIpCisgICAgICAgICAgICAgICAgaW1wb3J0IHRyYWNlYmFjawogICAgICAgICAgICAgICAgIGZvciByZWNvcmQgaW4gdHJhY2ViYWNrLmZvcm1hdF9leGNlcHRpb24oKnN5cy5leGNfaW5mbygpKToKICAgICAgICAgICAgICAgICAgICAgZm9yIGxpbmUgaW4gcmVjb3JkLnNwbGl0bGluZXMoKToKICAgICAgICAgICAgICAgICAgICAgICAgIHByaW50KCcgICcrbGluZSwgZmlsZT1zeXMuc3RkZXJyKQpAQCAtMjQxLDcgKzI0MSw2IEBACiAgICAgICAgIHJldHVybiBVU0VSX1NJVEUKIAogICAgIGZyb20gc3lzY29uZmlnIGltcG9ydCBnZXRfcGF0aAotICAgIGltcG9ydCBvcwogCiAgICAgaWYgc3lzLnBsYXRmb3JtID09ICdkYXJ3aW4nOgogICAgICAgICBmcm9tIHN5c2NvbmZpZyBpbXBvcnQgZ2V0X2NvbmZpZ192YXIKQEAgLTM4NSw3ICszODQsNyBAQAogICAgICAgICAgICAgZm9yIGZpbGVuYW1lIGluIHNlbGYuX19maWxlczoKICAgICAgICAgICAgICAgICBmaWxlbmFtZSA9IG9zLnBhdGguam9pbihkaXIsIGZpbGVuYW1lKQogICAgICAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICAgICAgZnAgPSBvcGVuKGZpbGVuYW1lLCAiclUiKQorICAgICAgICAgICAgICAgICAgICBmcCA9IG9wZW4oZmlsZW5hbWUsICJyIikKICAgICAgICAgICAgICAgICAgICAgZGF0YSA9IGZwLnJlYWQoKQogICAgICAgICAgICAgICAgICAgICBmcC5jbG9zZSgpCiAgICAgICAgICAgICAgICAgICAgIGJyZWFrCkBAIC01MDgsNiArNTA3LDExIEBACiAKIAogZGVmIG1haW4oKToKKyAgICAiIiJBZGQgc3RhbmRhcmQgc2l0ZS1zcGVjaWZpYyBkaXJlY3RvcmllcyB0byB0aGUgbW9kdWxlIHNlYXJjaCBwYXRoLgorCisgICAgVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgYXV0b21hdGljYWxseSB3aGVuIHRoaXMgbW9kdWxlIGlzIGltcG9ydGVkLAorICAgIHVubGVzcyB0aGUgcHl0aG9uIGludGVycHJldGVyIHdhcyBzdGFydGVkIHdpdGggdGhlIC1TIGZsYWcuCisgICAgIiIiCiAgICAgZ2xvYmFsIEVOQUJMRV9VU0VSX1NJVEUKIAogICAgIGFic19wYXRocygpCkBAIC01MjYsNyArNTMwLDEwIEBACiAgICAgaWYgRU5BQkxFX1VTRVJfU0lURToKICAgICAgICAgZXhlY3VzZXJjdXN0b21pemUoKQogCi1tYWluKCkKKyMgUHJldmVudCBlZGl0aW9uIG9mIHN5cy5wYXRoIHdoZW4gcHl0aG9uIHdhcyBzdGFydGVkIHdpdGggLVMgYW5kCisjIHNpdGUgaXMgaW1wb3J0ZWQgbGF0ZXIuCitpZiBub3Qgc3lzLmZsYWdzLm5vX3NpdGU6CisgICAgbWFpbigpCiAKIGRlZiBfc2NyaXB0KCk6CiAgICAgaGVscCA9ICIiIlwKZGlmZiAtLWdpdCBhL0xpYi9zbXRwZC5weSBiL0xpYi9zbXRwZC5weQppbmRleCA4Y2Q0MDVjLi5kNjZiMGQ3IDEwMDc1NQotLS0gYS9MaWIvc210cGQucHkKKysrIGIvTGliL3NtdHBkLnB5CkBAIC0xNDIsMTIyICsxNDIsMTIyIEBACiAgICAgQHByb3BlcnR5CiAgICAgZGVmIF9fc2VydmVyKHNlbGYpOgogICAgICAgICB3YXJuKCJBY2Nlc3MgdG8gX19zZXJ2ZXIgYXR0cmlidXRlIG9uIFNNVFBDaGFubmVsIGlzIGRlcHJlY2F0ZWQsICIKLSAgICAgICAgICAgICJ1c2UgJ3NtdHBfc2VydmVyJyBpbnN0ZWFkIiwgUGVuZGluZ0RlcHJlY2F0aW9uV2FybmluZywgMikKKyAgICAgICAgICAgICJ1c2UgJ3NtdHBfc2VydmVyJyBpbnN0ZWFkIiwgRGVwcmVjYXRpb25XYXJuaW5nLCAyKQogICAgICAgICByZXR1cm4gc2VsZi5zbXRwX3NlcnZlcgogICAgIEBfX3NlcnZlci5zZXR0ZXIKICAgICBkZWYgX19zZXJ2ZXIoc2VsZiwgdmFsdWUpOgogICAgICAgICB3YXJuKCJTZXR0aW5nIF9fc2VydmVyIGF0dHJpYnV0ZSBvbiBTTVRQQ2hhbm5lbCBpcyBkZXByZWNhdGVkLCAiCi0gICAgICAgICAgICAic2V0ICdzbXRwX3NlcnZlcicgaW5zdGVhZCIsIFBlbmRpbmdEZXByZWNhdGlvbldhcm5pbmcsIDIpCisgICAgICAgICAgICAic2V0ICdzbXRwX3NlcnZlcicgaW5zdGVhZCIsIERlcHJlY2F0aW9uV2FybmluZywgMikKICAgICAgICAgc2VsZi5zbXRwX3NlcnZlciA9IHZhbHVlCiAKICAgICBAcHJvcGVydHkKICAgICBkZWYgX19saW5lKHNlbGYpOgogICAgICAgICB3YXJuKCJBY2Nlc3MgdG8gX19saW5lIGF0dHJpYnV0ZSBvbiBTTVRQQ2hhbm5lbCBpcyBkZXByZWNhdGVkLCAiCi0gICAgICAgICAgICAidXNlICdyZWNlaXZlZF9saW5lcycgaW5zdGVhZCIsIFBlbmRpbmdEZXByZWNhdGlvbldhcm5pbmcsIDIpCisgICAgICAgICAgICAidXNlICdyZWNlaXZlZF9saW5lcycgaW5zdGVhZCIsIERlcHJlY2F0aW9uV2FybmluZywgMikKICAgICAgICAgcmV0dXJuIHNlbGYucmVjZWl2ZWRfbGluZXMKICAgICBAX19saW5lLnNldHRlcgogICAgIGRlZiBfX2xpbmUoc2VsZiwgdmFsdWUpOgogICAgICAgICB3YXJuKCJTZXR0aW5nIF9fbGluZSBhdHRyaWJ1dGUgb24gU01UUENoYW5uZWwgaXMgZGVwcmVjYXRlZCwgIgotICAgICAgICAgICAgInNldCAncmVjZWl2ZWRfbGluZXMnIGluc3RlYWQiLCBQZW5kaW5nRGVwcmVjYXRpb25XYXJuaW5nLCAyKQorICAgICAgICAgICAgInNldCAncmVjZWl2ZWRfbGluZXMnIGluc3RlYWQiLCBEZXByZWNhdGlvbldhcm5pbmcsIDIpCiAgICAgICAgIHNlbGYucmVjZWl2ZWRfbGluZXMgPSB2YWx1ZQogCiAgICAgQHByb3BlcnR5CiAgICAgZGVmIF9fc3RhdGUoc2VsZik6CiAgICAgICAgIHdhcm4oIkFjY2VzcyB0byBfX3N0YXRlIGF0dHJpYnV0ZSBvbiBTTVRQQ2hhbm5lbCBpcyBkZXByZWNhdGVkLCAiCi0gICAgICAgICAgICAidXNlICdzbXRwX3N0YXRlJyBpbnN0ZWFkIiwgUGVuZGluZ0RlcHJlY2F0aW9uV2FybmluZywgMikKKyAgICAgICAgICAgICJ1c2UgJ3NtdHBfc3RhdGUnIGluc3RlYWQiLCBEZXByZWNhdGlvbldhcm5pbmcsIDIpCiAgICAgICAgIHJldHVybiBzZWxmLnNtdHBfc3RhdGUKICAgICBAX19zdGF0ZS5zZXR0ZXIKICAgICBkZWYgX19zdGF0ZShzZWxmLCB2YWx1ZSk6CiAgICAgICAgIHdhcm4oIlNldHRpbmcgX19zdGF0ZSBhdHRyaWJ1dGUgb24gU01UUENoYW5uZWwgaXMgZGVwcmVjYXRlZCwgIgotICAgICAgICAgICAgInNldCAnc210cF9zdGF0ZScgaW5zdGVhZCIsIFBlbmRpbmdEZXByZWNhdGlvbldhcm5pbmcsIDIpCisgICAgICAgICAgICAic2V0ICdzbXRwX3N0YXRlJyBpbnN0ZWFkIiwgRGVwcmVjYXRpb25XYXJuaW5nLCAyKQogICAgICAgICBzZWxmLnNtdHBfc3RhdGUgPSB2YWx1ZQogCiAgICAgQHByb3BlcnR5CiAgICAgZGVmIF9fZ3JlZXRpbmcoc2VsZik6CiAgICAgICAgIHdhcm4oIkFjY2VzcyB0byBfX2dyZWV0aW5nIGF0dHJpYnV0ZSBvbiBTTVRQQ2hhbm5lbCBpcyBkZXByZWNhdGVkLCAiCi0gICAgICAgICAgICAidXNlICdzZWVuX2dyZWV0aW5nJyBpbnN0ZWFkIiwgUGVuZGluZ0RlcHJlY2F0aW9uV2FybmluZywgMikKKyAgICAgICAgICAgICJ1c2UgJ3NlZW5fZ3JlZXRpbmcnIGluc3RlYWQiLCBEZXByZWNhdGlvbldhcm5pbmcsIDIpCiAgICAgICAgIHJldHVybiBzZWxmLnNlZW5fZ3JlZXRpbmcKICAgICBAX19ncmVldGluZy5zZXR0ZXIKICAgICBkZWYgX19ncmVldGluZyhzZWxmLCB2YWx1ZSk6CiAgICAgICAgIHdhcm4oIlNldHRpbmcgX19ncmVldGluZyBhdHRyaWJ1dGUgb24gU01UUENoYW5uZWwgaXMgZGVwcmVjYXRlZCwgIgotICAgICAgICAgICAgInNldCAnc2Vlbl9ncmVldGluZycgaW5zdGVhZCIsIFBlbmRpbmdEZXByZWNhdGlvbldhcm5pbmcsIDIpCisgICAgICAgICAgICAic2V0ICdzZWVuX2dyZWV0aW5nJyBpbnN0ZWFkIiwgRGVwcmVjYXRpb25XYXJuaW5nLCAyKQogICAgICAgICBzZWxmLnNlZW5fZ3JlZXRpbmcgPSB2YWx1ZQogCiAgICAgQHByb3BlcnR5CiAgICAgZGVmIF9fbWFpbGZyb20oc2VsZik6CiAgICAgICAgIHdhcm4oIkFjY2VzcyB0byBfX21haWxmcm9tIGF0dHJpYnV0ZSBvbiBTTVRQQ2hhbm5lbCBpcyBkZXByZWNhdGVkLCAiCi0gICAgICAgICAgICAidXNlICdtYWlsZnJvbScgaW5zdGVhZCIsIFBlbmRpbmdEZXByZWNhdGlvbldhcm5pbmcsIDIpCisgICAgICAgICAgICAidXNlICdtYWlsZnJvbScgaW5zdGVhZCIsIERlcHJlY2F0aW9uV2FybmluZywgMikKICAgICAgICAgcmV0dXJuIHNlbGYubWFpbGZyb20KICAgICBAX19tYWlsZnJvbS5zZXR0ZXIKICAgICBkZWYgX19tYWlsZnJvbShzZWxmLCB2YWx1ZSk6CiAgICAgICAgIHdhcm4oIlNldHRpbmcgX19tYWlsZnJvbSBhdHRyaWJ1dGUgb24gU01UUENoYW5uZWwgaXMgZGVwcmVjYXRlZCwgIgotICAgICAgICAgICAgInNldCAnbWFpbGZyb20nIGluc3RlYWQiLCBQZW5kaW5nRGVwcmVjYXRpb25XYXJuaW5nLCAyKQorICAgICAgICAgICAgInNldCAnbWFpbGZyb20nIGluc3RlYWQiLCBEZXByZWNhdGlvbldhcm5pbmcsIDIpCiAgICAgICAgIHNlbGYubWFpbGZyb20gPSB2YWx1ZQogCiAgICAgQHByb3BlcnR5CiAgICAgZGVmIF9fcmNwdHRvcyhzZWxmKToKICAgICAgICAgd2FybigiQWNjZXNzIHRvIF9fcmNwdHRvcyBhdHRyaWJ1dGUgb24gU01UUENoYW5uZWwgaXMgZGVwcmVjYXRlZCwgIgotICAgICAgICAgICAgInVzZSAncmNwdHRvcycgaW5zdGVhZCIsIFBlbmRpbmdEZXByZWNhdGlvbldhcm5pbmcsIDIpCisgICAgICAgICAgICAidXNlICdyY3B0dG9zJyBpbnN0ZWFkIiwgRGVwcmVjYXRpb25XYXJuaW5nLCAyKQogICAgICAgICByZXR1cm4gc2VsZi5yY3B0dG9zCiAgICAgQF9fcmNwdHRvcy5zZXR0ZXIKICAgICBkZWYgX19yY3B0dG9zKHNlbGYsIHZhbHVlKToKICAgICAgICAgd2FybigiU2V0dGluZyBfX3JjcHR0b3MgYXR0cmlidXRlIG9uIFNNVFBDaGFubmVsIGlzIGRlcHJlY2F0ZWQsICIKLSAgICAgICAgICAgICJzZXQgJ3JjcHR0b3MnIGluc3RlYWQiLCBQZW5kaW5nRGVwcmVjYXRpb25XYXJuaW5nLCAyKQorICAgICAgICAgICAgInNldCAncmNwdHRvcycgaW5zdGVhZCIsIERlcHJlY2F0aW9uV2FybmluZywgMikKICAgICAgICAgc2VsZi5yY3B0dG9zID0gdmFsdWUKIAogICAgIEBwcm9wZXJ0eQogICAgIGRlZiBfX2RhdGEoc2VsZik6CiAgICAgICAgIHdhcm4oIkFjY2VzcyB0byBfX2RhdGEgYXR0cmlidXRlIG9uIFNNVFBDaGFubmVsIGlzIGRlcHJlY2F0ZWQsICIKLSAgICAgICAgICAgICJ1c2UgJ3JlY2VpdmVkX2RhdGEnIGluc3RlYWQiLCBQZW5kaW5nRGVwcmVjYXRpb25XYXJuaW5nLCAyKQorICAgICAgICAgICAgInVzZSAncmVjZWl2ZWRfZGF0YScgaW5zdGVhZCIsIERlcHJlY2F0aW9uV2FybmluZywgMikKICAgICAgICAgcmV0dXJuIHNlbGYucmVjZWl2ZWRfZGF0YQogICAgIEBfX2RhdGEuc2V0dGVyCiAgICAgZGVmIF9fZGF0YShzZWxmLCB2YWx1ZSk6CiAgICAgICAgIHdhcm4oIlNldHRpbmcgX19kYXRhIGF0dHJpYnV0ZSBvbiBTTVRQQ2hhbm5lbCBpcyBkZXByZWNhdGVkLCAiCi0gICAgICAgICAgICAic2V0ICdyZWNlaXZlZF9kYXRhJyBpbnN0ZWFkIiwgUGVuZGluZ0RlcHJlY2F0aW9uV2FybmluZywgMikKKyAgICAgICAgICAgICJzZXQgJ3JlY2VpdmVkX2RhdGEnIGluc3RlYWQiLCBEZXByZWNhdGlvbldhcm5pbmcsIDIpCiAgICAgICAgIHNlbGYucmVjZWl2ZWRfZGF0YSA9IHZhbHVlCiAKICAgICBAcHJvcGVydHkKICAgICBkZWYgX19mcWRuKHNlbGYpOgogICAgICAgICB3YXJuKCJBY2Nlc3MgdG8gX19mcWRuIGF0dHJpYnV0ZSBvbiBTTVRQQ2hhbm5lbCBpcyBkZXByZWNhdGVkLCAiCi0gICAgICAgICAgICAidXNlICdmcWRuJyBpbnN0ZWFkIiwgUGVuZGluZ0RlcHJlY2F0aW9uV2FybmluZywgMikKKyAgICAgICAgICAgICJ1c2UgJ2ZxZG4nIGluc3RlYWQiLCBEZXByZWNhdGlvbldhcm5pbmcsIDIpCiAgICAgICAgIHJldHVybiBzZWxmLmZxZG4KICAgICBAX19mcWRuLnNldHRlcgogICAgIGRlZiBfX2ZxZG4oc2VsZiwgdmFsdWUpOgogICAgICAgICB3YXJuKCJTZXR0aW5nIF9fZnFkbiBhdHRyaWJ1dGUgb24gU01UUENoYW5uZWwgaXMgZGVwcmVjYXRlZCwgIgotICAgICAgICAgICAgInNldCAnZnFkbicgaW5zdGVhZCIsIFBlbmRpbmdEZXByZWNhdGlvbldhcm5pbmcsIDIpCisgICAgICAgICAgICAic2V0ICdmcWRuJyBpbnN0ZWFkIiwgRGVwcmVjYXRpb25XYXJuaW5nLCAyKQogICAgICAgICBzZWxmLmZxZG4gPSB2YWx1ZQogCiAgICAgQHByb3BlcnR5CiAgICAgZGVmIF9fcGVlcihzZWxmKToKICAgICAgICAgd2FybigiQWNjZXNzIHRvIF9fcGVlciBhdHRyaWJ1dGUgb24gU01UUENoYW5uZWwgaXMgZGVwcmVjYXRlZCwgIgotICAgICAgICAgICAgInVzZSAncGVlcicgaW5zdGVhZCIsIFBlbmRpbmdEZXByZWNhdGlvbldhcm5pbmcsIDIpCisgICAgICAgICAgICAidXNlICdwZWVyJyBpbnN0ZWFkIiwgRGVwcmVjYXRpb25XYXJuaW5nLCAyKQogICAgICAgICByZXR1cm4gc2VsZi5wZWVyCiAgICAgQF9fcGVlci5zZXR0ZXIKICAgICBkZWYgX19wZWVyKHNlbGYsIHZhbHVlKToKICAgICAgICAgd2FybigiU2V0dGluZyBfX3BlZXIgYXR0cmlidXRlIG9uIFNNVFBDaGFubmVsIGlzIGRlcHJlY2F0ZWQsICIKLSAgICAgICAgICAgICJzZXQgJ3BlZXInIGluc3RlYWQiLCBQZW5kaW5nRGVwcmVjYXRpb25XYXJuaW5nLCAyKQorICAgICAgICAgICAgInNldCAncGVlcicgaW5zdGVhZCIsIERlcHJlY2F0aW9uV2FybmluZywgMikKICAgICAgICAgc2VsZi5wZWVyID0gdmFsdWUKIAogICAgIEBwcm9wZXJ0eQogICAgIGRlZiBfX2Nvbm4oc2VsZik6CiAgICAgICAgIHdhcm4oIkFjY2VzcyB0byBfX2Nvbm4gYXR0cmlidXRlIG9uIFNNVFBDaGFubmVsIGlzIGRlcHJlY2F0ZWQsICIKLSAgICAgICAgICAgICJ1c2UgJ2Nvbm4nIGluc3RlYWQiLCBQZW5kaW5nRGVwcmVjYXRpb25XYXJuaW5nLCAyKQorICAgICAgICAgICAgInVzZSAnY29ubicgaW5zdGVhZCIsIERlcHJlY2F0aW9uV2FybmluZywgMikKICAgICAgICAgcmV0dXJuIHNlbGYuY29ubgogICAgIEBfX2Nvbm4uc2V0dGVyCiAgICAgZGVmIF9fY29ubihzZWxmLCB2YWx1ZSk6CiAgICAgICAgIHdhcm4oIlNldHRpbmcgX19jb25uIGF0dHJpYnV0ZSBvbiBTTVRQQ2hhbm5lbCBpcyBkZXByZWNhdGVkLCAiCi0gICAgICAgICAgICAic2V0ICdjb25uJyBpbnN0ZWFkIiwgUGVuZGluZ0RlcHJlY2F0aW9uV2FybmluZywgMikKKyAgICAgICAgICAgICJzZXQgJ2Nvbm4nIGluc3RlYWQiLCBEZXByZWNhdGlvbldhcm5pbmcsIDIpCiAgICAgICAgIHNlbGYuY29ubiA9IHZhbHVlCiAKICAgICBAcHJvcGVydHkKICAgICBkZWYgX19hZGRyKHNlbGYpOgogICAgICAgICB3YXJuKCJBY2Nlc3MgdG8gX19hZGRyIGF0dHJpYnV0ZSBvbiBTTVRQQ2hhbm5lbCBpcyBkZXByZWNhdGVkLCAiCi0gICAgICAgICAgICAidXNlICdhZGRyJyBpbnN0ZWFkIiwgUGVuZGluZ0RlcHJlY2F0aW9uV2FybmluZywgMikKKyAgICAgICAgICAgICJ1c2UgJ2FkZHInIGluc3RlYWQiLCBEZXByZWNhdGlvbldhcm5pbmcsIDIpCiAgICAgICAgIHJldHVybiBzZWxmLmFkZHIKICAgICBAX19hZGRyLnNldHRlcgogICAgIGRlZiBfX2FkZHIoc2VsZiwgdmFsdWUpOgogICAgICAgICB3YXJuKCJTZXR0aW5nIF9fYWRkciBhdHRyaWJ1dGUgb24gU01UUENoYW5uZWwgaXMgZGVwcmVjYXRlZCwgIgotICAgICAgICAgICAgInNldCAnYWRkcicgaW5zdGVhZCIsIFBlbmRpbmdEZXByZWNhdGlvbldhcm5pbmcsIDIpCisgICAgICAgICAgICAic2V0ICdhZGRyJyBpbnN0ZWFkIiwgRGVwcmVjYXRpb25XYXJuaW5nLCAyKQogICAgICAgICBzZWxmLmFkZHIgPSB2YWx1ZQogCiAgICAgIyBPdmVycmlkZXMgYmFzZSBjbGFzcyBmb3IgY29udmVuaWVuY2UKQEAgLTI3NSw3ICsyNzUsNyBAQAogICAgICAgICAgICAgcmV0dXJuCiAgICAgICAgIGVsaWYgbGltaXQ6CiAgICAgICAgICAgICBzZWxmLm51bV9ieXRlcyArPSBsZW4oZGF0YSkKLSAgICAgICAgc2VsZi5yZWNlaXZlZF9saW5lcy5hcHBlbmQoc3RyKGRhdGEsICJ1dGY4IikpCisgICAgICAgIHNlbGYucmVjZWl2ZWRfbGluZXMuYXBwZW5kKHN0cihkYXRhLCAidXRmLTgiKSkKIAogICAgICMgSW1wbGVtZW50YXRpb24gb2YgYmFzZSBjbGFzcyBhYnN0cmFjdCBtZXRob2QKICAgICBkZWYgZm91bmRfdGVybWluYXRvcihzZWxmKToKZGlmZiAtLWdpdCBhL0xpYi9zbXRwbGliLnB5IGIvTGliL3NtdHBsaWIucHkKaW5kZXggZmJlZjk2ZS4uZDM3YjBlMiAxMDA2NDQKLS0tIGEvTGliL3NtdHBsaWIucHkKKysrIGIvTGliL3NtdHBsaWIucHkKQEAgLTEzMywyNCArMTMzLDE4IEBACiAgICAgY29tYmluYXRpb24gcHJvdmlkZWQuCiAgICAgIiIiCiAKLWRlZiBxdW90ZWFkZHIoYWRkcik6CitkZWYgcXVvdGVhZGRyKGFkZHJzdHJpbmcpOgogICAgICIiIlF1b3RlIGEgc3Vic2V0IG9mIHRoZSBlbWFpbCBhZGRyZXNzZXMgZGVmaW5lZCBieSBSRkMgODIxLgogCiAgICAgU2hvdWxkIGJlIGFibGUgdG8gaGFuZGxlIGFueXRoaW5nIGVtYWlsLnV0aWxzLnBhcnNlYWRkciBjYW4gaGFuZGxlLgogICAgICIiIgotICAgIG0gPSAoTm9uZSwgTm9uZSkKLSAgICB0cnk6Ci0gICAgICAgIG0gPSBlbWFpbC51dGlscy5wYXJzZWFkZHIoYWRkcilbMV0KLSAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6Ci0gICAgICAgIHBhc3MKLSAgICBpZiBtID09IChOb25lLCBOb25lKTogICMgSW5kaWNhdGVzIHBhcnNlIGZhaWx1cmUgb3IgQXR0cmlidXRlRXJyb3IKLSAgICAgICAgIyBzb21ldGhpbmcgd2VpcmQgaGVyZS4uIHB1bnQgLWRkbQotICAgICAgICByZXR1cm4gIjwlcz4iICUgYWRkcgotICAgIGVsaWYgbSBpcyBOb25lOgotICAgICAgICAjIHRoZSBzZW5kZXIgd2FudHMgYW4gZW1wdHkgcmV0dXJuIGFkZHJlc3MKLSAgICAgICAgcmV0dXJuICI8PiIKLSAgICBlbHNlOgotICAgICAgICByZXR1cm4gIjwlcz4iICUgbQorICAgIGRpc3BsYXluYW1lLCBhZGRyID0gZW1haWwudXRpbHMucGFyc2VhZGRyKGFkZHJzdHJpbmcpCisgICAgaWYgKGRpc3BsYXluYW1lLCBhZGRyKSA9PSAoJycsICcnKToKKyAgICAgICAgIyBwYXJzZWFkZHIgY291bGRuJ3QgcGFyc2UgaXQsIHVzZSBpdCBhcyBpcyBhbmQgaG9wZSBmb3IgdGhlIGJlc3QuCisgICAgICAgIGlmIGFkZHJzdHJpbmcuc3RyaXAoKS5zdGFydHN3aXRoKCc8Jyk6CisgICAgICAgICAgICByZXR1cm4gYWRkcnN0cmluZworICAgICAgICByZXR1cm4gIjwlcz4iICUgYWRkcnN0cmluZworICAgIHJldHVybiAiPCVzPiIgJSBhZGRyCiAKIGRlZiBfYWRkcl9vbmx5KGFkZHJzdHJpbmcpOgogICAgIGRpc3BsYXluYW1lLCBhZGRyID0gZW1haWwudXRpbHMucGFyc2VhZGRyKGFkZHJzdHJpbmcpCkBAIC0xODAsMjcgKzE3NCw2IEBACiBleGNlcHQgSW1wb3J0RXJyb3I6CiAgICAgX2hhdmVfc3NsID0gRmFsc2UKIGVsc2U6Ci0gICAgY2xhc3MgU1NMRmFrZUZpbGU6Ci0gICAgICAgICIiIkEgZmFrZSBmaWxlIGxpa2Ugb2JqZWN0IHRoYXQgcmVhbGx5IHdyYXBzIGEgU1NMT2JqZWN0LgotCi0gICAgICAgIEl0IG9ubHkgc3VwcG9ydHMgd2hhdCBpcyBuZWVkZWQgaW4gc210cGxpYi4KLSAgICAgICAgIiIiCi0gICAgICAgIGRlZiBfX2luaXRfXyhzZWxmLCBzc2xvYmopOgotICAgICAgICAgICAgc2VsZi5zc2xvYmogPSBzc2xvYmoKLQotICAgICAgICBkZWYgcmVhZGxpbmUoc2VsZik6Ci0gICAgICAgICAgICBzdHIgPSBiIiIKLSAgICAgICAgICAgIGNociA9IE5vbmUKLSAgICAgICAgICAgIHdoaWxlIGNociAhPSBiIlxuIjoKLSAgICAgICAgICAgICAgICBjaHIgPSBzZWxmLnNzbG9iai5yZWFkKDEpCi0gICAgICAgICAgICAgICAgaWYgbm90IGNocjoKLSAgICAgICAgICAgICAgICAgICAgYnJlYWsKLSAgICAgICAgICAgICAgICBzdHIgKz0gY2hyCi0gICAgICAgICAgICByZXR1cm4gc3RyCi0KLSAgICAgICAgZGVmIGNsb3NlKHNlbGYpOgotICAgICAgICAgICAgcGFzcwotCiAgICAgX2hhdmVfc3NsID0gVHJ1ZQogCiAKQEAgLTI0Miw3ICsyMTUsOCBAQAogICAgIGRlZmF1bHRfcG9ydCA9IFNNVFBfUE9SVAogCiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIGhvc3Q9JycsIHBvcnQ9MCwgbG9jYWxfaG9zdG5hbWU9Tm9uZSwKLSAgICAgICAgICAgICAgICAgdGltZW91dD1zb2NrZXQuX0dMT0JBTF9ERUZBVUxUX1RJTUVPVVQpOgorICAgICAgICAgICAgICAgICB0aW1lb3V0PXNvY2tldC5fR0xPQkFMX0RFRkFVTFRfVElNRU9VVCwKKyAgICAgICAgICAgICAgICAgc291cmNlX2FkZHJlc3M9Tm9uZSk6CiAgICAgICAgICIiIkluaXRpYWxpemUgYSBuZXcgaW5zdGFuY2UuCiAKICAgICAgICAgSWYgc3BlY2lmaWVkLCBgaG9zdCcgaXMgdGhlIG5hbWUgb2YgdGhlIHJlbW90ZSBob3N0IHRvIHdoaWNoIHRvCkBAIC0yNTAsMTEgKzIyNCwxNiBAQAogICAgICAgICBCeSBkZWZhdWx0LCBzbXRwbGliLlNNVFBfUE9SVCBpcyB1c2VkLiAgQW4gU01UUENvbm5lY3RFcnJvciBpcyByYWlzZWQKICAgICAgICAgaWYgdGhlIHNwZWNpZmllZCBgaG9zdCcgZG9lc24ndCByZXNwb25kIGNvcnJlY3RseS4gIElmIHNwZWNpZmllZCwKICAgICAgICAgYGxvY2FsX2hvc3RuYW1lYCBpcyB1c2VkIGFzIHRoZSBGUUROIG9mIHRoZSBsb2NhbCBob3N0LiAgQnkgZGVmYXVsdCwKLSAgICAgICAgdGhlIGxvY2FsIGhvc3RuYW1lIGlzIGZvdW5kIHVzaW5nIHNvY2tldC5nZXRmcWRuKCkuCisgICAgICAgIHRoZSBsb2NhbCBob3N0bmFtZSBpcyBmb3VuZCB1c2luZyBzb2NrZXQuZ2V0ZnFkbigpLiBUaGUKKyAgICAgICAgYHNvdXJjZV9hZGRyZXNzYCBwYXJhbWV0ZXIgdGFrZXMgYSAyLXR1cGxlIChob3N0LCBwb3J0KSBmb3IgdGhlIHNvY2tldAorICAgICAgICB0byBiaW5kIHRvIGFzIGl0cyBzb3VyY2UgYWRkcmVzcyBiZWZvcmUgY29ubmVjdGluZy4gSWYgdGhlIGhvc3QgaXMgJycKKyAgICAgICAgYW5kIHBvcnQgaXMgMCwgdGhlIE9TIGRlZmF1bHQgYmVoYXZpb3Igd2lsbCBiZSB1c2VkLgogCiAgICAgICAgICIiIgogICAgICAgICBzZWxmLnRpbWVvdXQgPSB0aW1lb3V0CiAgICAgICAgIHNlbGYuZXNtdHBfZmVhdHVyZXMgPSB7fQorICAgICAgICBzZWxmLnNvdXJjZV9hZGRyZXNzID0gc291cmNlX2FkZHJlc3MKKwogICAgICAgICBpZiBob3N0OgogICAgICAgICAgICAgKGNvZGUsIG1zZykgPSBzZWxmLmNvbm5lY3QoaG9zdCwgcG9ydCkKICAgICAgICAgICAgIGlmIGNvZGUgIT0gMjIwOgpAQCAtMjc3LDYgKzI1NiwxOSBAQAogICAgICAgICAgICAgICAgICAgICBwYXNzCiAgICAgICAgICAgICAgICAgc2VsZi5sb2NhbF9ob3N0bmFtZSA9ICdbJXNdJyAlIGFkZHIKIAorICAgIGRlZiBfX2VudGVyX18oc2VsZik6CisgICAgICAgIHJldHVybiBzZWxmCisKKyAgICBkZWYgX19leGl0X18oc2VsZiwgKmFyZ3MpOgorICAgICAgICB0cnk6CisgICAgICAgICAgICBjb2RlLCBtZXNzYWdlID0gc2VsZi5kb2NtZCgiUVVJVCIpCisgICAgICAgICAgICBpZiBjb2RlICE9IDIyMToKKyAgICAgICAgICAgICAgICByYWlzZSBTTVRQUmVzcG9uc2VFeGNlcHRpb24oY29kZSwgbWVzc2FnZSkKKyAgICAgICAgZXhjZXB0IFNNVFBTZXJ2ZXJEaXNjb25uZWN0ZWQ6CisgICAgICAgICAgICBwYXNzCisgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICBzZWxmLmNsb3NlKCkKKwogICAgIGRlZiBzZXRfZGVidWdsZXZlbChzZWxmLCBkZWJ1Z2xldmVsKToKICAgICAgICAgIiIiU2V0IHRoZSBkZWJ1ZyBvdXRwdXQgbGV2ZWwuCiAKQEAgLTI5MCwxMCArMjgyLDEyIEBACiAgICAgICAgICMgVGhpcyBtYWtlcyBpdCBzaW1wbGVyIGZvciBTTVRQX1NTTCB0byB1c2UgdGhlIFNNVFAgY29ubmVjdCBjb2RlCiAgICAgICAgICMgYW5kIGp1c3QgYWx0ZXIgdGhlIHNvY2tldCBjb25uZWN0aW9uIGJpdC4KICAgICAgICAgaWYgc2VsZi5kZWJ1Z2xldmVsID4gMDoKLSAgICAgICAgICAgIHByaW50KCdjb25uZWN0OicsIChob3N0LCBwb3J0KSwgZmlsZT1zdGRlcnIpCi0gICAgICAgIHJldHVybiBzb2NrZXQuY3JlYXRlX2Nvbm5lY3Rpb24oKGhvc3QsIHBvcnQpLCB0aW1lb3V0KQorICAgICAgICAgICAgcHJpbnQoJ2Nvbm5lY3Q6IHRvJywgKGhvc3QsIHBvcnQpLCBzZWxmLnNvdXJjZV9hZGRyZXNzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZT1zdGRlcnIpCisgICAgICAgIHJldHVybiBzb2NrZXQuY3JlYXRlX2Nvbm5lY3Rpb24oKGhvc3QsIHBvcnQpLCB0aW1lb3V0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc291cmNlX2FkZHJlc3MpCiAKLSAgICBkZWYgY29ubmVjdChzZWxmLCBob3N0PSdsb2NhbGhvc3QnLCBwb3J0PTApOgorICAgIGRlZiBjb25uZWN0KHNlbGYsIGhvc3Q9J2xvY2FsaG9zdCcsIHBvcnQ9MCwgc291cmNlX2FkZHJlc3M9Tm9uZSk6CiAgICAgICAgICIiIkNvbm5lY3QgdG8gYSBob3N0IG9uIGEgZ2l2ZW4gcG9ydC4KIAogICAgICAgICBJZiB0aGUgaG9zdG5hbWUgZW5kcyB3aXRoIGEgY29sb24gKGA6JykgZm9sbG93ZWQgYnkgYSBudW1iZXIsIGFuZApAQCAtMzA0LDYgKzI5OCwxMCBAQAogICAgICAgICBzcGVjaWZpZWQgZHVyaW5nIGluc3RhbnRpYXRpb24uCiAKICAgICAgICAgIiIiCisKKyAgICAgICAgaWYgc291cmNlX2FkZHJlc3M6CisgICAgICAgICAgICBzZWxmLnNvdXJjZV9hZGRyZXNzID0gc291cmNlX2FkZHJlc3MKKwogICAgICAgICBpZiBub3QgcG9ydCBhbmQgKGhvc3QuZmluZCgnOicpID09IGhvc3QucmZpbmQoJzonKSk6CiAgICAgICAgICAgICBpID0gaG9zdC5yZmluZCgnOicpCiAgICAgICAgICAgICBpZiBpID49IDA6CkBAIC0zMTcsNiArMzE1LDcgQEAKICAgICAgICAgaWYgc2VsZi5kZWJ1Z2xldmVsID4gMDoKICAgICAgICAgICAgIHByaW50KCdjb25uZWN0OicsIChob3N0LCBwb3J0KSwgZmlsZT1zdGRlcnIpCiAgICAgICAgIHNlbGYuc29jayA9IHNlbGYuX2dldF9zb2NrZXQoaG9zdCwgcG9ydCwgc2VsZi50aW1lb3V0KQorICAgICAgICBzZWxmLmZpbGUgPSBOb25lCiAgICAgICAgIChjb2RlLCBtc2cpID0gc2VsZi5nZXRyZXBseSgpCiAgICAgICAgIGlmIHNlbGYuZGVidWdsZXZlbCA+IDA6CiAgICAgICAgICAgICBwcmludCgiY29ubmVjdDoiLCBtc2csIGZpbGU9c3RkZXJyKQpAQCAtMzg4LDcgKzM4Nyw4IEBACiAKICAgICAgICAgZXJybXNnID0gYiJcbiIuam9pbihyZXNwKQogICAgICAgICBpZiBzZWxmLmRlYnVnbGV2ZWwgPiAwOgotICAgICAgICAgICAgcHJpbnQoJ3JlcGx5OiByZXRjb2RlICglcyk7IE1zZzogJXMnICUgKGVycmNvZGUsIGVycm1zZyksIGZpbGU9c3RkZXJyKQorICAgICAgICAgICAgcHJpbnQoJ3JlcGx5OiByZXRjb2RlICglcyk7IE1zZzogJXMnICUgKGVycmNvZGUsIGVycm1zZyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZT1zdGRlcnIpCiAgICAgICAgIHJldHVybiBlcnJjb2RlLCBlcnJtc2cKIAogICAgIGRlZiBkb2NtZChzZWxmLCBjbWQsIGFyZ3M9IiIpOgpAQCAtNjMyLDcgKzYzMiw3IEBACiAgICAgICAgICMgV2UgY291bGQgbm90IGxvZ2luIHN1Y2Vzc2Z1bGx5LiBSZXR1cm4gcmVzdWx0IG9mIGxhc3QgYXR0ZW1wdC4KICAgICAgICAgcmFpc2UgU01UUEF1dGhlbnRpY2F0aW9uRXJyb3IoY29kZSwgcmVzcCkKIAotICAgIGRlZiBzdGFydHRscyhzZWxmLCBrZXlmaWxlPU5vbmUsIGNlcnRmaWxlPU5vbmUpOgorICAgIGRlZiBzdGFydHRscyhzZWxmLCBrZXlmaWxlPU5vbmUsIGNlcnRmaWxlPU5vbmUsIGNvbnRleHQ9Tm9uZSk6CiAgICAgICAgICIiIlB1dHMgdGhlIGNvbm5lY3Rpb24gdG8gdGhlIFNNVFAgc2VydmVyIGludG8gVExTIG1vZGUuCiAKICAgICAgICAgSWYgdGhlcmUgaGFzIGJlZW4gbm8gcHJldmlvdXMgRUhMTyBvciBIRUxPIGNvbW1hbmQgdGhpcyBzZXNzaW9uLCB0aGlzCkBAIC02NTYsOCArNjU2LDE3IEBACiAgICAgICAgIGlmIHJlc3AgPT0gMjIwOgogICAgICAgICAgICAgaWYgbm90IF9oYXZlX3NzbDoKICAgICAgICAgICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IoIk5vIFNTTCBzdXBwb3J0IGluY2x1ZGVkIGluIHRoaXMgUHl0aG9uIikKLSAgICAgICAgICAgIHNlbGYuc29jayA9IHNzbC53cmFwX3NvY2tldChzZWxmLnNvY2ssIGtleWZpbGUsIGNlcnRmaWxlKQotICAgICAgICAgICAgc2VsZi5maWxlID0gU1NMRmFrZUZpbGUoc2VsZi5zb2NrKQorICAgICAgICAgICAgaWYgY29udGV4dCBpcyBub3QgTm9uZSBhbmQga2V5ZmlsZSBpcyBub3QgTm9uZToKKyAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJjb250ZXh0IGFuZCBrZXlmaWxlIGFyZ3VtZW50cyBhcmUgbXV0dWFsbHkgIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4Y2x1c2l2ZSIpCisgICAgICAgICAgICBpZiBjb250ZXh0IGlzIG5vdCBOb25lIGFuZCBjZXJ0ZmlsZSBpcyBub3QgTm9uZToKKyAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJjb250ZXh0IGFuZCBjZXJ0ZmlsZSBhcmd1bWVudHMgYXJlIG11dHVhbGx5ICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleGNsdXNpdmUiKQorICAgICAgICAgICAgaWYgY29udGV4dCBpcyBub3QgTm9uZToKKyAgICAgICAgICAgICAgICBzZWxmLnNvY2sgPSBjb250ZXh0LndyYXBfc29ja2V0KHNlbGYuc29jaykKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgc2VsZi5zb2NrID0gc3NsLndyYXBfc29ja2V0KHNlbGYuc29jaywga2V5ZmlsZSwgY2VydGZpbGUpCisgICAgICAgICAgICBzZWxmLmZpbGUgPSBOb25lCiAgICAgICAgICAgICAjIFJGQyAzMjA3OgogICAgICAgICAgICAgIyBUaGUgY2xpZW50IE1VU1QgZGlzY2FyZCBhbnkga25vd2xlZGdlIG9idGFpbmVkIGZyb20KICAgICAgICAgICAgICMgdGhlIHNlcnZlciwgc3VjaCBhcyB0aGUgbGlzdCBvZiBTTVRQIHNlcnZpY2UgZXh0ZW5zaW9ucywKQEAgLTc4Niw3ICs3OTUsOCBAQAogICAgICAgICAjIFRPRE8gaW1wbGVtZW50IGhldXJpc3RpY3MgdG8gZ3Vlc3MgdGhlIGNvcnJlY3QgUmVzZW50LSogYmxvY2sgd2l0aCBhbgogICAgICAgICAjIG9wdGlvbiBhbGxvd2luZyB0aGUgdXNlciB0byBlbmFibGUgdGhlIGhldXJpc3RpY3MuICAoSXQgc2hvdWxkIGJlCiAgICAgICAgICMgcG9zc2libGUgdG8gZ3Vlc3MgY29ycmVjdGx5IGFsbW9zdCBhbGwgb2YgdGhlIHRpbWUuKQotICAgICAgICByZXNlbnQgPW1zZy5nZXRfYWxsKCdSZXNlbnQtRGF0ZScpCisKKyAgICAgICAgcmVzZW50ID0gbXNnLmdldF9hbGwoJ1Jlc2VudC1EYXRlJykKICAgICAgICAgaWYgcmVzZW50IGlzIE5vbmU6CiAgICAgICAgICAgICBoZWFkZXJfcHJlZml4ID0gJycKICAgICAgICAgZWxpZiBsZW4ocmVzZW50KSA9PSAxOgpAQCAtNzk1LDEzICs4MDUsMTMgQEAKICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIm1lc3NhZ2UgaGFzIG1vcmUgdGhhbiBvbmUgJ1Jlc2VudC0nIGhlYWRlciBibG9jayIpCiAgICAgICAgIGlmIGZyb21fYWRkciBpcyBOb25lOgogICAgICAgICAgICAgIyBQcmVmZXIgdGhlIHNlbmRlciBmaWVsZCBwZXIgUkZDIDI4MjI6My42LjIuCi0gICAgICAgICAgICBmcm9tX2FkZHIgPSAobXNnW2hlYWRlcl9wcmVmaXgrJ1NlbmRlciddCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaGVhZGVyX3ByZWZpeCsnU2VuZGVyJykgaW4gbXNnCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIG1zZ1toZWFkZXJfcHJlZml4KydGcm9tJ10pCisgICAgICAgICAgICBmcm9tX2FkZHIgPSAobXNnW2hlYWRlcl9wcmVmaXggKyAnU2VuZGVyJ10KKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChoZWFkZXJfcHJlZml4ICsgJ1NlbmRlcicpIGluIG1zZworICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBtc2dbaGVhZGVyX3ByZWZpeCArICdGcm9tJ10pCiAgICAgICAgIGlmIHRvX2FkZHJzIGlzIE5vbmU6Ci0gICAgICAgICAgICBhZGRyX2ZpZWxkcyA9IFtmIGZvciBmIGluIChtc2dbaGVhZGVyX3ByZWZpeCsnVG8nXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zZ1toZWFkZXJfcHJlZml4KydCY2MnXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zZ1toZWFkZXJfcHJlZml4KydDYyddKSBpZiBmIGlzIG5vdCBOb25lXQorICAgICAgICAgICAgYWRkcl9maWVsZHMgPSBbZiBmb3IgZiBpbiAobXNnW2hlYWRlcl9wcmVmaXggKyAnVG8nXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zZ1toZWFkZXJfcHJlZml4ICsgJ0JjYyddLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNnW2hlYWRlcl9wcmVmaXggKyAnQ2MnXSkgaWYgZiBpcyBub3QgTm9uZV0KICAgICAgICAgICAgIHRvX2FkZHJzID0gW2FbMV0gZm9yIGEgaW4gZW1haWwudXRpbHMuZ2V0YWRkcmVzc2VzKGFkZHJfZmllbGRzKV0KICAgICAgICAgIyBNYWtlIGEgbG9jYWwgY29weSBzbyB3ZSBjYW4gZGVsZXRlIHRoZSBiY2MgaGVhZGVycy4KICAgICAgICAgbXNnX2NvcHkgPSBjb3B5LmNvcHkobXNnKQpAQCAtODM1LDI2ICs4NDUsNDEgQEAKICAgICAgICAgIiIiIFRoaXMgaXMgYSBzdWJjbGFzcyBkZXJpdmVkIGZyb20gU01UUCB0aGF0IGNvbm5lY3RzIG92ZXIgYW4gU1NMIGVuY3J5cHRlZAogICAgICAgICBzb2NrZXQgKHRvIHVzZSB0aGlzIGNsYXNzIHlvdSBuZWVkIGEgc29ja2V0IG1vZHVsZSB0aGF0IHdhcyBjb21waWxlZCB3aXRoIFNTTAogICAgICAgICBzdXBwb3J0KS4gSWYgaG9zdCBpcyBub3Qgc3BlY2lmaWVkLCAnJyAodGhlIGxvY2FsIGhvc3QpIGlzIHVzZWQuIElmIHBvcnQgaXMKLSAgICAgICAgb21pdHRlZCwgdGhlIHN0YW5kYXJkIFNNVFAtb3Zlci1TU0wgcG9ydCAoNDY1KSBpcyB1c2VkLiBrZXlmaWxlIGFuZCBjZXJ0ZmlsZQorICAgICAgICBvbWl0dGVkLCB0aGUgc3RhbmRhcmQgU01UUC1vdmVyLVNTTCBwb3J0ICg0NjUpIGlzIHVzZWQuIFRoZSBvcHRpb25hbAorICAgICAgICBzb3VyY2VfYWRkcmVzcyB0YWtlcyBhIHR3by10dXBsZSAoaG9zdCxwb3J0KSBmb3Igc29ja2V0IHRvIGJpbmQgdG8uIGtleWZpbGUgYW5kIGNlcnRmaWxlCiAgICAgICAgIGFyZSBhbHNvIG9wdGlvbmFsIC0gdGhleSBjYW4gY29udGFpbiBhIFBFTSBmb3JtYXR0ZWQgcHJpdmF0ZSBrZXkgYW5kCi0gICAgICAgIGNlcnRpZmljYXRlIGNoYWluIGZpbGUgZm9yIHRoZSBTU0wgY29ubmVjdGlvbi4KKyAgICAgICAgY2VydGlmaWNhdGUgY2hhaW4gZmlsZSBmb3IgdGhlIFNTTCBjb25uZWN0aW9uLiBjb250ZXh0IGFsc28gb3B0aW9uYWwsIGNhbiBjb250YWluCisgICAgICAgIGEgU1NMQ29udGV4dCwgYW5kIGlzIGFuIGFsdGVybmF0aXZlIHRvIGtleWZpbGUgYW5kIGNlcnRmaWxlOyBJZiBpdCBpcyBzcGVjaWZpZWQgYm90aAorICAgICAgICBrZXlmaWxlIGFuZCBjZXJ0ZmlsZSBtdXN0IGJlIE5vbmUuCiAgICAgICAgICIiIgogCiAgICAgICAgIGRlZmF1bHRfcG9ydCA9IFNNVFBfU1NMX1BPUlQKIAogICAgICAgICBkZWYgX19pbml0X18oc2VsZiwgaG9zdD0nJywgcG9ydD0wLCBsb2NhbF9ob3N0bmFtZT1Ob25lLAogICAgICAgICAgICAgICAgICAgICAga2V5ZmlsZT1Ob25lLCBjZXJ0ZmlsZT1Ob25lLAotICAgICAgICAgICAgICAgICAgICAgdGltZW91dD1zb2NrZXQuX0dMT0JBTF9ERUZBVUxUX1RJTUVPVVQpOgorICAgICAgICAgICAgICAgICAgICAgdGltZW91dD1zb2NrZXQuX0dMT0JBTF9ERUZBVUxUX1RJTUVPVVQsCisgICAgICAgICAgICAgICAgICAgICBzb3VyY2VfYWRkcmVzcz1Ob25lLCBjb250ZXh0PU5vbmUpOgorICAgICAgICAgICAgaWYgY29udGV4dCBpcyBub3QgTm9uZSBhbmQga2V5ZmlsZSBpcyBub3QgTm9uZToKKyAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJjb250ZXh0IGFuZCBrZXlmaWxlIGFyZ3VtZW50cyBhcmUgbXV0dWFsbHkgIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4Y2x1c2l2ZSIpCisgICAgICAgICAgICBpZiBjb250ZXh0IGlzIG5vdCBOb25lIGFuZCBjZXJ0ZmlsZSBpcyBub3QgTm9uZToKKyAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJjb250ZXh0IGFuZCBjZXJ0ZmlsZSBhcmd1bWVudHMgYXJlIG11dHVhbGx5ICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleGNsdXNpdmUiKQogICAgICAgICAgICAgc2VsZi5rZXlmaWxlID0ga2V5ZmlsZQogICAgICAgICAgICAgc2VsZi5jZXJ0ZmlsZSA9IGNlcnRmaWxlCi0gICAgICAgICAgICBTTVRQLl9faW5pdF9fKHNlbGYsIGhvc3QsIHBvcnQsIGxvY2FsX2hvc3RuYW1lLCB0aW1lb3V0KQorICAgICAgICAgICAgc2VsZi5jb250ZXh0ID0gY29udGV4dAorICAgICAgICAgICAgU01UUC5fX2luaXRfXyhzZWxmLCBob3N0LCBwb3J0LCBsb2NhbF9ob3N0bmFtZSwgdGltZW91dCwKKyAgICAgICAgICAgICAgICAgICAgc291cmNlX2FkZHJlc3MpCiAKICAgICAgICAgZGVmIF9nZXRfc29ja2V0KHNlbGYsIGhvc3QsIHBvcnQsIHRpbWVvdXQpOgogICAgICAgICAgICAgaWYgc2VsZi5kZWJ1Z2xldmVsID4gMDoKICAgICAgICAgICAgICAgICBwcmludCgnY29ubmVjdDonLCAoaG9zdCwgcG9ydCksIGZpbGU9c3RkZXJyKQotICAgICAgICAgICAgbmV3X3NvY2tldCA9IHNvY2tldC5jcmVhdGVfY29ubmVjdGlvbigoaG9zdCwgcG9ydCksIHRpbWVvdXQpCi0gICAgICAgICAgICBuZXdfc29ja2V0ID0gc3NsLndyYXBfc29ja2V0KG5ld19zb2NrZXQsIHNlbGYua2V5ZmlsZSwgc2VsZi5jZXJ0ZmlsZSkKLSAgICAgICAgICAgIHNlbGYuZmlsZSA9IFNTTEZha2VGaWxlKG5ld19zb2NrZXQpCisgICAgICAgICAgICBuZXdfc29ja2V0ID0gc29ja2V0LmNyZWF0ZV9jb25uZWN0aW9uKChob3N0LCBwb3J0KSwgdGltZW91dCwKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5zb3VyY2VfYWRkcmVzcykKKyAgICAgICAgICAgIGlmIHNlbGYuY29udGV4dCBpcyBub3QgTm9uZToKKyAgICAgICAgICAgICAgICBuZXdfc29ja2V0ID0gc2VsZi5jb250ZXh0LndyYXBfc29ja2V0KG5ld19zb2NrZXQpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIG5ld19zb2NrZXQgPSBzc2wud3JhcF9zb2NrZXQobmV3X3NvY2tldCwgc2VsZi5rZXlmaWxlLCBzZWxmLmNlcnRmaWxlKQogICAgICAgICAgICAgcmV0dXJuIG5ld19zb2NrZXQKIAogICAgIF9fYWxsX18uYXBwZW5kKCJTTVRQX1NTTCIpCkBAIC04NzksMTggKzkwNCwyMSBAQAogCiAgICAgZWhsb19tc2cgPSAibGhsbyIKIAotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBob3N0PScnLCBwb3J0PUxNVFBfUE9SVCwgbG9jYWxfaG9zdG5hbWU9Tm9uZSk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGhvc3Q9JycsIHBvcnQ9TE1UUF9QT1JULCBsb2NhbF9ob3N0bmFtZT1Ob25lLAorICAgICAgICAgICAgc291cmNlX2FkZHJlc3M9Tm9uZSk6CiAgICAgICAgICIiIkluaXRpYWxpemUgYSBuZXcgaW5zdGFuY2UuIiIiCi0gICAgICAgIFNNVFAuX19pbml0X18oc2VsZiwgaG9zdCwgcG9ydCwgbG9jYWxfaG9zdG5hbWUpCisgICAgICAgIFNNVFAuX19pbml0X18oc2VsZiwgaG9zdCwgcG9ydCwgbG9jYWxfaG9zdG5hbWU9bG9jYWxfaG9zdG5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgc291cmNlX2FkZHJlc3M9c291cmNlX2FkZHJlc3MpCiAKLSAgICBkZWYgY29ubmVjdChzZWxmLCBob3N0PSdsb2NhbGhvc3QnLCBwb3J0PTApOgorICAgIGRlZiBjb25uZWN0KHNlbGYsIGhvc3Q9J2xvY2FsaG9zdCcsIHBvcnQ9MCwgc291cmNlX2FkZHJlc3M9Tm9uZSk6CiAgICAgICAgICIiIkNvbm5lY3QgdG8gdGhlIExNVFAgZGFlbW9uLCBvbiBlaXRoZXIgYSBVbml4IG9yIGEgVENQIHNvY2tldC4iIiIKICAgICAgICAgaWYgaG9zdFswXSAhPSAnLyc6Ci0gICAgICAgICAgICByZXR1cm4gU01UUC5jb25uZWN0KHNlbGYsIGhvc3QsIHBvcnQpCisgICAgICAgICAgICByZXR1cm4gU01UUC5jb25uZWN0KHNlbGYsIGhvc3QsIHBvcnQsIHNvdXJjZV9hZGRyZXNzPXNvdXJjZV9hZGRyZXNzKQogCiAgICAgICAgICMgSGFuZGxlIFVuaXgtZG9tYWluIHNvY2tldHMuCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIHNlbGYuc29jayA9IHNvY2tldC5zb2NrZXQoc29ja2V0LkFGX1VOSVgsIHNvY2tldC5TT0NLX1NUUkVBTSkKKyAgICAgICAgICAgIHNlbGYuZmlsZSA9IE5vbmUKICAgICAgICAgICAgIHNlbGYuc29jay5jb25uZWN0KGhvc3QpCiAgICAgICAgIGV4Y2VwdCBzb2NrZXQuZXJyb3IgYXMgbXNnOgogICAgICAgICAgICAgaWYgc2VsZi5kZWJ1Z2xldmVsID4gMDoKZGlmZiAtLWdpdCBhL0xpYi9zb2NrZXQucHkgYi9MaWIvc29ja2V0LnB5CmluZGV4IDFlMjg1NDkuLmIyOTU0YjUgMTAwNjQ0Ci0tLSBhL0xpYi9zb2NrZXQucHkKKysrIGIvTGliL3NvY2tldC5weQpAQCAtNTMsNyArNTMsNiBAQAogZXhjZXB0IEltcG9ydEVycm9yOgogICAgIGVycm5vID0gTm9uZQogRUJBREYgPSBnZXRhdHRyKGVycm5vLCAnRUJBREYnLCA5KQotRUlOVFIgPSBnZXRhdHRyKGVycm5vLCAnRUlOVFInLCA0KQogRUFHQUlOID0gZ2V0YXR0cihlcnJubywgJ0VBR0FJTicsIDExKQogRVdPVUxEQkxPQ0sgPSBnZXRhdHRyKGVycm5vLCAnRVdPVUxEQkxPQ0snLCAxMSkKIApAQCAtMTEyLDYgKzExMSw5IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNbNzpdKQogICAgICAgICByZXR1cm4gcwogCisgICAgZGVmIF9fZ2V0c3RhdGVfXyhzZWxmKToKKyAgICAgICAgcmFpc2UgVHlwZUVycm9yKCJDYW5ub3Qgc2VyaWFsaXplIHNvY2tldCBvYmplY3QiKQorCiAgICAgZGVmIGR1cChzZWxmKToKICAgICAgICAgIiIiZHVwKCkgLT4gc29ja2V0IG9iamVjdAogCkBAIC0yNzcsMTEgKzI3OSwxMCBAQAogICAgICAgICAgICAgZXhjZXB0IHRpbWVvdXQ6CiAgICAgICAgICAgICAgICAgc2VsZi5fdGltZW91dF9vY2N1cnJlZCA9IFRydWUKICAgICAgICAgICAgICAgICByYWlzZQorICAgICAgICAgICAgZXhjZXB0IEludGVycnVwdGVkRXJyb3I6CisgICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAgICAgIGV4Y2VwdCBlcnJvciBhcyBlOgotICAgICAgICAgICAgICAgIG4gPSBlLmFyZ3NbMF0KLSAgICAgICAgICAgICAgICBpZiBuID09IEVJTlRSOgotICAgICAgICAgICAgICAgICAgICBjb250aW51ZQotICAgICAgICAgICAgICAgIGlmIG4gaW4gX2Jsb2NraW5nX2Vycm5vczoKKyAgICAgICAgICAgICAgICBpZiBlLmFyZ3NbMF0gaW4gX2Jsb2NraW5nX2Vycm5vczoKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE5vbmUKICAgICAgICAgICAgICAgICByYWlzZQogCmRpZmYgLS1naXQgYS9MaWIvc29ja2V0c2VydmVyLnB5IGIvTGliL3NvY2tldHNlcnZlci5weQppbmRleCBjZDM2N2YxLi5hNDg3ZTYzIDEwMDY0NAotLS0gYS9MaWIvc29ja2V0c2VydmVyLnB5CisrKyBiL0xpYi9zb2NrZXRzZXJ2ZXIucHkKQEAgLTE3MCw2ICsxNzAsNyBAQAogICAgIC0gcHJvY2Vzc19yZXF1ZXN0KHJlcXVlc3QsIGNsaWVudF9hZGRyZXNzKQogICAgIC0gc2h1dGRvd25fcmVxdWVzdChyZXF1ZXN0KQogICAgIC0gY2xvc2VfcmVxdWVzdChyZXF1ZXN0KQorICAgIC0gc2VydmljZV9hY3Rpb25zKCkKICAgICAtIGhhbmRsZV9lcnJvcigpCiAKICAgICBNZXRob2RzIGZvciBkZXJpdmVkIGNsYXNzZXM6CkBAIC0yMjUsNiArMjI2LDggQEAKICAgICAgICAgICAgICAgICByLCB3LCBlID0gc2VsZWN0LnNlbGVjdChbc2VsZl0sIFtdLCBbXSwgcG9sbF9pbnRlcnZhbCkKICAgICAgICAgICAgICAgICBpZiBzZWxmIGluIHI6CiAgICAgICAgICAgICAgICAgICAgIHNlbGYuX2hhbmRsZV9yZXF1ZXN0X25vYmxvY2soKQorCisgICAgICAgICAgICAgICAgc2VsZi5zZXJ2aWNlX2FjdGlvbnMoKQogICAgICAgICBmaW5hbGx5OgogICAgICAgICAgICAgc2VsZi5fX3NodXRkb3duX3JlcXVlc3QgPSBGYWxzZQogICAgICAgICAgICAgc2VsZi5fX2lzX3NodXRfZG93bi5zZXQoKQpAQCAtMjM5LDYgKzI0MiwxNCBAQAogICAgICAgICBzZWxmLl9fc2h1dGRvd25fcmVxdWVzdCA9IFRydWUKICAgICAgICAgc2VsZi5fX2lzX3NodXRfZG93bi53YWl0KCkKIAorICAgIGRlZiBzZXJ2aWNlX2FjdGlvbnMoc2VsZik6CisgICAgICAgICIiIkNhbGxlZCBieSB0aGUgc2VydmVfZm9yZXZlcigpIGxvb3AuCisKKyAgICAgICAgTWF5IGJlIG92ZXJyaWRkZW4gYnkgYSBzdWJjbGFzcyAvIE1peGluIHRvIGltcGxlbWVudCBhbnkgY29kZSB0aGF0CisgICAgICAgIG5lZWRzIHRvIGJlIHJ1biBkdXJpbmcgdGhlIGxvb3AuCisgICAgICAgICIiIgorICAgICAgICBwYXNzCisKICAgICAjIFRoZSBkaXN0aW5jdGlvbiBiZXR3ZWVuIGhhbmRsaW5nLCBnZXR0aW5nLCBwcm9jZXNzaW5nIGFuZAogICAgICMgZmluaXNoaW5nIGEgcmVxdWVzdCBpcyBmYWlybHkgYXJiaXRyYXJ5LiAgUmVtZW1iZXI6CiAgICAgIwpAQCAtNTM5LDkgKzU1MCwxNSBAQAogICAgICAgICAiIiIKICAgICAgICAgc2VsZi5jb2xsZWN0X2NoaWxkcmVuKCkKIAorICAgIGRlZiBzZXJ2aWNlX2FjdGlvbnMoc2VsZik6CisgICAgICAgICIiIkNvbGxlY3QgdGhlIHpvbWJpZSBjaGlsZCBwcm9jZXNzZXMgcmVndWxhcmx5IGluIHRoZSBGb3JraW5nTWl4aW4uCisKKyAgICAgICAgc2VydmljZV9hY3Rpb25zIGlzIGNhbGxlZCBpbiB0aGUgQmFzZVNlcnZlcidzIHNlcnZlX2ZvcnZlciBsb29wLgorICAgICAgICAiIiIKKyAgICAgICAgc2VsZi5jb2xsZWN0X2NoaWxkcmVuKCkKKwogICAgIGRlZiBwcm9jZXNzX3JlcXVlc3Qoc2VsZiwgcmVxdWVzdCwgY2xpZW50X2FkZHJlc3MpOgogICAgICAgICAiIiJGb3JrIGEgbmV3IHN1YnByb2Nlc3MgdG8gcHJvY2VzcyB0aGUgcmVxdWVzdC4iIiIKLSAgICAgICAgc2VsZi5jb2xsZWN0X2NoaWxkcmVuKCkKICAgICAgICAgcGlkID0gb3MuZm9yaygpCiAgICAgICAgIGlmIHBpZDoKICAgICAgICAgICAgICMgUGFyZW50IHByb2Nlc3MKQEAgLTU0OSw2ICs1NjYsNyBAQAogICAgICAgICAgICAgICAgIHNlbGYuYWN0aXZlX2NoaWxkcmVuID0gW10KICAgICAgICAgICAgIHNlbGYuYWN0aXZlX2NoaWxkcmVuLmFwcGVuZChwaWQpCiAgICAgICAgICAgICBzZWxmLmNsb3NlX3JlcXVlc3QocmVxdWVzdCkKKyAgICAgICAgICAgIHJldHVybgogICAgICAgICBlbHNlOgogICAgICAgICAgICAgIyBDaGlsZCBwcm9jZXNzLgogICAgICAgICAgICAgIyBUaGlzIG11c3QgbmV2ZXIgcmV0dXJuLCBoZW5jZSBvcy5fZXhpdCgpIQpkaWZmIC0tZ2l0IGEvTGliL3NxbGl0ZTMvdGVzdC9kYmFwaS5weSBiL0xpYi9zcWxpdGUzL3Rlc3QvZGJhcGkucHkKaW5kZXggMjAyYmQzOC4uYjdlYzFhZCAxMDA2NDQKLS0tIGEvTGliL3NxbGl0ZTMvdGVzdC9kYmFwaS5weQorKysgYi9MaWIvc3FsaXRlMy90ZXN0L2RiYXBpLnB5CkBAIC0xLDQgKzEsNCBAQAotIy0qLSBjb2Rpbmc6IElTTy04ODU5LTEgLSotCisjLSotIGNvZGluZzogaXNvLTg4NTktMSAtKi0KICMgcHlzcWxpdGUyL3Rlc3QvZGJhcGkucHk6IHRlc3RzIGZvciBEQi1BUEkgY29tcGxpYW5jZQogIwogIyBDb3B5cmlnaHQgKEMpIDIwMDQtMjAxMCBHZXJoYXJkIEjkcmluZyA8Z2hAZ2hhZXJpbmcuZGU+CmRpZmYgLS1naXQgYS9MaWIvc3FsaXRlMy90ZXN0L2ZhY3RvcnkucHkgYi9MaWIvc3FsaXRlMy90ZXN0L2ZhY3RvcnkucHkKaW5kZXggN2Y2ZjM0Ny4uOWU4MzNhZSAxMDA2NDQKLS0tIGEvTGliL3NxbGl0ZTMvdGVzdC9mYWN0b3J5LnB5CisrKyBiL0xpYi9zcWxpdGUzL3Rlc3QvZmFjdG9yeS5weQpAQCAtMSw0ICsxLDQgQEAKLSMtKi0gY29kaW5nOiBJU08tODg1OS0xIC0qLQorIy0qLSBjb2Rpbmc6IGlzby04ODU5LTEgLSotCiAjIHB5c3FsaXRlMi90ZXN0L2ZhY3RvcnkucHk6IHRlc3RzIGZvciB0aGUgdmFyaW91cyBmYWN0b3JpZXMgaW4gcHlzcWxpdGUKICMKICMgQ29weXJpZ2h0IChDKSAyMDA1LTIwMDcgR2VyaGFyZCBI5HJpbmcgPGdoQGdoYWVyaW5nLmRlPgpAQCAtMTc4LDYgKzE3OCw4IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShyb3dbMF0uZW5kc3dpdGgoInJlaWNoIiksICJjb2x1bW4gbXVzdCBjb250YWluIG9yaWdpbmFsIGRhdGEiKQogCiAgICAgZGVmIENoZWNrT3B0aW1pemVkVW5pY29kZShzZWxmKToKKyAgICAgICAgIyBJbiBweTNrLCBzdHIgb2JqZWN0cyBhcmUgYWx3YXlzIHJldHVybmVkIHdoZW4gdGV4dF9mYWN0b3J5CisgICAgICAgICMgaXMgT3B0aW1pemVkVW5pY29kZQogICAgICAgICBzZWxmLmNvbi50ZXh0X2ZhY3RvcnkgPSBzcWxpdGUuT3B0aW1pemVkVW5pY29kZQogICAgICAgICBhdXN0cmlhID0gItZzdGVycmVpY2giCiAgICAgICAgIGdlcm1hbnkgPSAiRGV1dGNobGFuZCIKZGlmZiAtLWdpdCBhL0xpYi9zcWxpdGUzL3Rlc3QvaG9va3MucHkgYi9MaWIvc3FsaXRlMy90ZXN0L2hvb2tzLnB5CmluZGV4IGE5MmU4MzguLjNkYzQ0ZjYgMTAwNjQ0Ci0tLSBhL0xpYi9zcWxpdGUzL3Rlc3QvaG9va3MucHkKKysrIGIvTGliL3NxbGl0ZTMvdGVzdC9ob29rcy5weQpAQCAtMSw0ICsxLDQgQEAKLSMtKi0gY29kaW5nOiBJU08tODg1OS0xIC0qLQorIy0qLSBjb2Rpbmc6IGlzby04ODU5LTEgLSotCiAjIHB5c3FsaXRlMi90ZXN0L2hvb2tzLnB5OiB0ZXN0cyBmb3IgdmFyaW91cyBTUUxpdGUtc3BlY2lmaWMgaG9va3MKICMKICMgQ29weXJpZ2h0IChDKSAyMDA2LTIwMDcgR2VyaGFyZCBI5HJpbmcgPGdoQGdoYWVyaW5nLmRlPgpAQCAtMTc2LDEwICsxNzYsNjAgQEAKICAgICAgICAgY29uLmV4ZWN1dGUoInNlbGVjdCAxIHVuaW9uIHNlbGVjdCAyIHVuaW9uIHNlbGVjdCAzIikuZmV0Y2hhbGwoKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGFjdGlvbiwgMCwgInByb2dyZXNzIGhhbmRsZXIgd2FzIG5vdCBjbGVhcmVkIikKIAorY2xhc3MgVHJhY2VDYWxsYmFja1Rlc3RzKHVuaXR0ZXN0LlRlc3RDYXNlKToKKyAgICBkZWYgQ2hlY2tUcmFjZUNhbGxiYWNrVXNlZChzZWxmKToKKyAgICAgICAgIiIiCisgICAgICAgIFRlc3QgdGhhdCB0aGUgdHJhY2UgY2FsbGJhY2sgaXMgaW52b2tlZCBvbmNlIGl0IGlzIHNldC4KKyAgICAgICAgIiIiCisgICAgICAgIGNvbiA9IHNxbGl0ZS5jb25uZWN0KCI6bWVtb3J5OiIpCisgICAgICAgIHRyYWNlZF9zdGF0ZW1lbnRzID0gW10KKyAgICAgICAgZGVmIHRyYWNlKHN0YXRlbWVudCk6CisgICAgICAgICAgICB0cmFjZWRfc3RhdGVtZW50cy5hcHBlbmQoc3RhdGVtZW50KQorICAgICAgICBjb24uc2V0X3RyYWNlX2NhbGxiYWNrKHRyYWNlKQorICAgICAgICBjb24uZXhlY3V0ZSgiY3JlYXRlIHRhYmxlIGZvbyhhLCBiKSIpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSh0cmFjZWRfc3RhdGVtZW50cykKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGFueSgiY3JlYXRlIHRhYmxlIGZvbyIgaW4gc3RtdCBmb3Igc3RtdCBpbiB0cmFjZWRfc3RhdGVtZW50cykpCisKKyAgICBkZWYgQ2hlY2tDbGVhclRyYWNlQ2FsbGJhY2soc2VsZik6CisgICAgICAgICIiIgorICAgICAgICBUZXN0IHRoYXQgc2V0dGluZyB0aGUgdHJhY2UgY2FsbGJhY2sgdG8gTm9uZSBjbGVhcnMgdGhlIHByZXZpb3VzbHkgc2V0IGNhbGxiYWNrLgorICAgICAgICAiIiIKKyAgICAgICAgY29uID0gc3FsaXRlLmNvbm5lY3QoIjptZW1vcnk6IikKKyAgICAgICAgdHJhY2VkX3N0YXRlbWVudHMgPSBbXQorICAgICAgICBkZWYgdHJhY2Uoc3RhdGVtZW50KToKKyAgICAgICAgICAgIHRyYWNlZF9zdGF0ZW1lbnRzLmFwcGVuZChzdGF0ZW1lbnQpCisgICAgICAgIGNvbi5zZXRfdHJhY2VfY2FsbGJhY2sodHJhY2UpCisgICAgICAgIGNvbi5zZXRfdHJhY2VfY2FsbGJhY2soTm9uZSkKKyAgICAgICAgY29uLmV4ZWN1dGUoImNyZWF0ZSB0YWJsZSBmb28oYSwgYikiKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKHRyYWNlZF9zdGF0ZW1lbnRzLCAidHJhY2UgY2FsbGJhY2sgd2FzIG5vdCBjbGVhcmVkIikKKworICAgIGRlZiBDaGVja1VuaWNvZGVDb250ZW50KHNlbGYpOgorICAgICAgICAiIiIKKyAgICAgICAgVGVzdCB0aGF0IHRoZSBzdGF0ZW1lbnQgY2FuIGNvbnRhaW4gdW5pY29kZSBsaXRlcmFscy4KKyAgICAgICAgIiIiCisgICAgICAgIHVuaWNvZGVfdmFsdWUgPSAnXHhmNlx4ZTRceGZjXHhkNlx4YzRceGRjXHhkZlx1MjBhYycKKyAgICAgICAgY29uID0gc3FsaXRlLmNvbm5lY3QoIjptZW1vcnk6IikKKyAgICAgICAgdHJhY2VkX3N0YXRlbWVudHMgPSBbXQorICAgICAgICBkZWYgdHJhY2Uoc3RhdGVtZW50KToKKyAgICAgICAgICAgIHRyYWNlZF9zdGF0ZW1lbnRzLmFwcGVuZChzdGF0ZW1lbnQpCisgICAgICAgIGNvbi5zZXRfdHJhY2VfY2FsbGJhY2sodHJhY2UpCisgICAgICAgIGNvbi5leGVjdXRlKCJjcmVhdGUgdGFibGUgZm9vKHgpIikKKyAgICAgICAgIyBDYW4ndCBleGVjdXRlIGJvdW5kIHBhcmFtZXRlcnMgYXMgdGhlaXIgdmFsdWVzIGRvbid0IGFwcGVhcgorICAgICAgICAjIGluIHRyYWNlZCBzdGF0ZW1lbnRzIGJlZm9yZSBTUUxpdGUgMy42LjIxCisgICAgICAgICMgKGNmLiBodHRwOi8vd3d3LnNxbGl0ZS5vcmcvZHJhZnQvcmVsZWFzZWxvZy8zXzZfMjEuaHRtbCkKKyAgICAgICAgY29uLmV4ZWN1dGUoJ2luc2VydCBpbnRvIGZvbyh4KSB2YWx1ZXMgKCIlcyIpJyAlIHVuaWNvZGVfdmFsdWUpCisgICAgICAgIGNvbi5jb21taXQoKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoYW55KHVuaWNvZGVfdmFsdWUgaW4gc3RtdCBmb3Igc3RtdCBpbiB0cmFjZWRfc3RhdGVtZW50cyksCisgICAgICAgICAgICAgICAgICAgICAgICAiVW5pY29kZSBkYXRhICVzIGdhcmJsZWQgaW4gdHJhY2UgY2FsbGJhY2s6ICVzIgorICAgICAgICAgICAgICAgICAgICAgICAgJSAoYXNjaWkodW5pY29kZV92YWx1ZSksICcsICcuam9pbihtYXAoYXNjaWksIHRyYWNlZF9zdGF0ZW1lbnRzKSkpKQorCisKKwogZGVmIHN1aXRlKCk6CiAgICAgY29sbGF0aW9uX3N1aXRlID0gdW5pdHRlc3QubWFrZVN1aXRlKENvbGxhdGlvblRlc3RzLCAiQ2hlY2siKQogICAgIHByb2dyZXNzX3N1aXRlID0gdW5pdHRlc3QubWFrZVN1aXRlKFByb2dyZXNzVGVzdHMsICJDaGVjayIpCi0gICAgcmV0dXJuIHVuaXR0ZXN0LlRlc3RTdWl0ZSgoY29sbGF0aW9uX3N1aXRlLCBwcm9ncmVzc19zdWl0ZSkpCisgICAgdHJhY2Vfc3VpdGUgPSB1bml0dGVzdC5tYWtlU3VpdGUoVHJhY2VDYWxsYmFja1Rlc3RzLCAiQ2hlY2siKQorICAgIHJldHVybiB1bml0dGVzdC5UZXN0U3VpdGUoKGNvbGxhdGlvbl9zdWl0ZSwgcHJvZ3Jlc3Nfc3VpdGUsIHRyYWNlX3N1aXRlKSkKIAogZGVmIHRlc3QoKToKICAgICBydW5uZXIgPSB1bml0dGVzdC5UZXh0VGVzdFJ1bm5lcigpCmRpZmYgLS1naXQgYS9MaWIvc3FsaXRlMy90ZXN0L3JlZ3Jlc3Npb24ucHkgYi9MaWIvc3FsaXRlMy90ZXN0L3JlZ3Jlc3Npb24ucHkKaW5kZXggYzc1NTFlMy4uOWQ3YjI3NiAxMDA2NDQKLS0tIGEvTGliL3NxbGl0ZTMvdGVzdC9yZWdyZXNzaW9uLnB5CisrKyBiL0xpYi9zcWxpdGUzL3Rlc3QvcmVncmVzc2lvbi5weQpAQCAtMSw0ICsxLDQgQEAKLSMtKi0gY29kaW5nOiBJU08tODg1OS0xIC0qLQorIy0qLSBjb2Rpbmc6IGlzby04ODU5LTEgLSotCiAjIHB5c3FsaXRlMi90ZXN0L3JlZ3Jlc3Npb24ucHk6IHB5c3FsaXRlIHJlZ3Jlc3Npb24gdGVzdHMKICMKICMgQ29weXJpZ2h0IChDKSAyMDA2LTIwMTAgR2VyaGFyZCBI5HJpbmcgPGdoQGdoYWVyaW5nLmRlPgpkaWZmIC0tZ2l0IGEvTGliL3NxbGl0ZTMvdGVzdC90cmFuc2FjdGlvbnMucHkgYi9MaWIvc3FsaXRlMy90ZXN0L3RyYW5zYWN0aW9ucy5weQppbmRleCA3MGU5NmExLi5mZWI0ZmExIDEwMDY0NAotLS0gYS9MaWIvc3FsaXRlMy90ZXN0L3RyYW5zYWN0aW9ucy5weQorKysgYi9MaWIvc3FsaXRlMy90ZXN0L3RyYW5zYWN0aW9ucy5weQpAQCAtMSw0ICsxLDQgQEAKLSMtKi0gY29kaW5nOiBJU08tODg1OS0xIC0qLQorIy0qLSBjb2Rpbmc6IGlzby04ODU5LTEgLSotCiAjIHB5c3FsaXRlMi90ZXN0L3RyYW5zYWN0aW9ucy5weTogdGVzdHMgdHJhbnNhY3Rpb25zCiAjCiAjIENvcHlyaWdodCAoQykgMjAwNS0yMDA3IEdlcmhhcmQgSORyaW5nIDxnaEBnaGFlcmluZy5kZT4KZGlmZiAtLWdpdCBhL0xpYi9zcWxpdGUzL3Rlc3QvdHlwZXMucHkgYi9MaWIvc3FsaXRlMy90ZXN0L3R5cGVzLnB5CmluZGV4IDI5NDEzZTEuLjNiNGNiNmQgMTAwNjQ0Ci0tLSBhL0xpYi9zcWxpdGUzL3Rlc3QvdHlwZXMucHkKKysrIGIvTGliL3NxbGl0ZTMvdGVzdC90eXBlcy5weQpAQCAtMSw0ICsxLDQgQEAKLSMtKi0gY29kaW5nOiBJU08tODg1OS0xIC0qLQorIy0qLSBjb2Rpbmc6IGlzby04ODU5LTEgLSotCiAjIHB5c3FsaXRlMi90ZXN0L3R5cGVzLnB5OiB0ZXN0cyBmb3IgdHlwZSBjb252ZXJzaW9uIGFuZCBkZXRlY3Rpb24KICMKICMgQ29weXJpZ2h0IChDKSAyMDA1IEdlcmhhcmQgSORyaW5nIDxnaEBnaGFlcmluZy5kZT4KQEAgLTg1LDcgKzg1LDcgQEAKICAgICAgICAgICAgIGlmIGlzaW5zdGFuY2UoX3ZhbCwgYnl0ZXMpOgogICAgICAgICAgICAgICAgICMgc3FsaXRlMyBhbHdheXMgY2FsbHMgX19pbml0X18gd2l0aCBhIGJ5dGVzIGNyZWF0ZWQgZnJvbSBhCiAgICAgICAgICAgICAgICAgIyBVVEYtOCBzdHJpbmcgd2hlbiBfX2NvbmZvcm1fXyB3YXMgdXNlZCB0byBzdG9yZSB0aGUgb2JqZWN0LgotICAgICAgICAgICAgICAgIF92YWwgPSBfdmFsLmRlY29kZSgndXRmOCcpCisgICAgICAgICAgICAgICAgX3ZhbCA9IF92YWwuZGVjb2RlKCd1dGYtOCcpCiAgICAgICAgICAgICBzZWxmLnZhbCA9IF92YWwKIAogICAgICAgICBkZWYgX19jbXBfXyhzZWxmLCBvdGhlcik6CmRpZmYgLS1naXQgYS9MaWIvc3FsaXRlMy90ZXN0L3VzZXJmdW5jdGlvbnMucHkgYi9MaWIvc3FsaXRlMy90ZXN0L3VzZXJmdW5jdGlvbnMucHkKaW5kZXggZTAxMzQxZS4uMTRmNmI2NSAxMDA2NDQKLS0tIGEvTGliL3NxbGl0ZTMvdGVzdC91c2VyZnVuY3Rpb25zLnB5CisrKyBiL0xpYi9zcWxpdGUzL3Rlc3QvdXNlcmZ1bmN0aW9ucy5weQpAQCAtMSw0ICsxLDQgQEAKLSMtKi0gY29kaW5nOiBJU08tODg1OS0xIC0qLQorIy0qLSBjb2Rpbmc6IGlzby04ODU5LTEgLSotCiAjIHB5c3FsaXRlMi90ZXN0L3VzZXJmdW5jdGlvbnMucHk6IHRlc3RzIGZvciB1c2VyLWRlZmluZWQgZnVuY3Rpb25zIGFuZAogIyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZ2dyZWdhdGVzLgogIwpkaWZmIC0tZ2l0IGEvTGliL3NyZV9jb21waWxlLnB5IGIvTGliL3NyZV9jb21waWxlLnB5CmluZGV4IGY1MmVhMDEuLjc1ZjNhMDkgMTAwNjQ0Ci0tLSBhL0xpYi9zcmVfY29tcGlsZS5weQorKysgYi9MaWIvc3JlX2NvbXBpbGUucHkKQEAgLTMxOCwxMSArMzE4LDEzIEBACiAgICAgICAgICAgICAgICAgIyBYWFg6IGNvdWxkIGV4cGFuZCBjYXRlZ29yeQogICAgICAgICAgICAgICAgIHJldHVybiBjaGFyc2V0ICMgY2Fubm90IGNvbXByZXNzCiAgICAgZXhjZXB0IEluZGV4RXJyb3I6Ci0gICAgICAgICMgbm9uLUJNUCBjaGFyYWN0ZXJzCisgICAgICAgICMgbm9uLUJNUCBjaGFyYWN0ZXJzOyBYWFggbm93IHRoZXkgc2hvdWxkIHdvcmsKICAgICAgICAgcmV0dXJuIGNoYXJzZXQKICAgICBpZiBuZWdhdGU6CiAgICAgICAgIGlmIHN5cy5tYXh1bmljb2RlICE9IDY1NTM1OgogICAgICAgICAgICAgIyBYWFg6IG5lZ2F0aW9uIGRvZXMgbm90IHdvcmsgd2l0aCBiaWcgY2hhcnNldHMKKyAgICAgICAgICAgICMgWFhYMjogbm93IHRoZXkgc2hvdWxkIHdvcmssIGJ1dCByZW1vdmluZyB0aGlzIHdpbGwgbWFrZSB0aGUKKyAgICAgICAgICAgICMgY2hhcm1hcCAxNyB0aW1lcyBiaWdnZXIKICAgICAgICAgICAgIHJldHVybiBjaGFyc2V0CiAgICAgICAgIGZvciBpIGluIHJhbmdlKDY1NTM2KToKICAgICAgICAgICAgIGNoYXJtYXBbaV0gPSBub3QgY2hhcm1hcFtpXQpkaWZmIC0tZ2l0IGEvTGliL3NyZV9wYXJzZS5weSBiL0xpYi9zcmVfcGFyc2UucHkKaW5kZXggMTM3MzdjYS4uYWU2M2MzMSAxMDA2NDQKLS0tIGEvTGliL3NyZV9wYXJzZS5weQorKysgYi9MaWIvc3JlX3BhcnNlLnB5CkBAIC03OTEsNyArNzkxLDcgQEAKICAgICBlbHNlOgogICAgICAgICAjIFRoZSB0b2tlbml6ZXIgaW1wbGljaXRseSBkZWNvZGVzIGJ5dGVzIG9iamVjdHMgYXMgbGF0aW4tMSwgd2UgbXVzdAogICAgICAgICAjIHRoZXJlZm9yZSByZS1lbmNvZGUgdGhlIGZpbmFsIHJlcHJlc2VudGF0aW9uLgotICAgICAgICBlbmNvZGUgPSBsYW1iZGEgeDogeC5lbmNvZGUoJ2xhdGluMScpCisgICAgICAgIGVuY29kZSA9IGxhbWJkYSB4OiB4LmVuY29kZSgnbGF0aW4tMScpCiAgICAgZm9yIGMsIHMgaW4gcDoKICAgICAgICAgaWYgYyBpcyBNQVJLOgogICAgICAgICAgICAgZ3JvdXBzYXBwZW5kKChpLCBzKSkKZGlmZiAtLWdpdCBhL0xpYi9zc2wucHkgYi9MaWIvc3NsLnB5CmluZGV4IDgxMzcyMzEuLmU4OTkwNTkgMTAwNjQ0Ci0tLSBhL0xpYi9zc2wucHkKKysrIGIvTGliL3NzbC5weQpAQCAtNjAsMTAgKzYwLDI1IEBACiBpbXBvcnQgX3NzbCAgICAgICAgICAgICAjIGlmIHdlIGNhbid0IGltcG9ydCBpdCwgbGV0IHRoZSBlcnJvciBwcm9wYWdhdGUKIAogZnJvbSBfc3NsIGltcG9ydCBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSLCBPUEVOU1NMX1ZFUlNJT05fSU5GTywgT1BFTlNTTF9WRVJTSU9OCi1mcm9tIF9zc2wgaW1wb3J0IF9TU0xDb250ZXh0LCBTU0xFcnJvcgorZnJvbSBfc3NsIGltcG9ydCBfU1NMQ29udGV4dAorZnJvbSBfc3NsIGltcG9ydCAoCisgICAgU1NMRXJyb3IsIFNTTFplcm9SZXR1cm5FcnJvciwgU1NMV2FudFJlYWRFcnJvciwgU1NMV2FudFdyaXRlRXJyb3IsCisgICAgU1NMU3lzY2FsbEVycm9yLCBTU0xFT0ZFcnJvciwKKyAgICApCiBmcm9tIF9zc2wgaW1wb3J0IENFUlRfTk9ORSwgQ0VSVF9PUFRJT05BTCwgQ0VSVF9SRVFVSVJFRAotZnJvbSBfc3NsIGltcG9ydCBPUF9BTEwsIE9QX05PX1NTTHYyLCBPUF9OT19TU0x2MywgT1BfTk9fVExTdjEKLWZyb20gX3NzbCBpbXBvcnQgUkFORF9zdGF0dXMsIFJBTkRfZWdkLCBSQU5EX2FkZAorZnJvbSBfc3NsIGltcG9ydCAoCisgICAgT1BfQUxMLCBPUF9OT19TU0x2MiwgT1BfTk9fU1NMdjMsIE9QX05PX1RMU3YxLAorICAgIE9QX0NJUEhFUl9TRVJWRVJfUFJFRkVSRU5DRSwgT1BfU0lOR0xFX0RIX1VTRQorICAgICkKK3RyeToKKyAgICBmcm9tIF9zc2wgaW1wb3J0IE9QX05PX0NPTVBSRVNTSU9OCitleGNlcHQgSW1wb3J0RXJyb3I6CisgICAgcGFzcwordHJ5OgorICAgIGZyb20gX3NzbCBpbXBvcnQgT1BfU0lOR0xFX0VDREhfVVNFCitleGNlcHQgSW1wb3J0RXJyb3I6CisgICAgcGFzcworZnJvbSBfc3NsIGltcG9ydCBSQU5EX3N0YXR1cywgUkFORF9lZ2QsIFJBTkRfYWRkLCBSQU5EX2J5dGVzLCBSQU5EX3BzZXVkb19ieXRlcwogZnJvbSBfc3NsIGltcG9ydCAoCiAgICAgU1NMX0VSUk9SX1pFUk9fUkVUVVJOLAogICAgIFNTTF9FUlJPUl9XQU5UX1JFQUQsCkBAIC03NSw4ICs5MCw5IEBACiAgICAgU1NMX0VSUk9SX0VPRiwKICAgICBTU0xfRVJST1JfSU5WQUxJRF9FUlJPUl9DT0RFLAogICAgICkKLWZyb20gX3NzbCBpbXBvcnQgSEFTX1NOSQotZnJvbSBfc3NsIGltcG9ydCBQUk9UT0NPTF9TU0x2MywgUFJPVE9DT0xfU1NMdjIzLCBQUk9UT0NPTF9UTFN2MQorZnJvbSBfc3NsIGltcG9ydCBIQVNfU05JLCBIQVNfRUNESAorZnJvbSBfc3NsIGltcG9ydCAoUFJPVE9DT0xfU1NMdjMsIFBST1RPQ09MX1NTTHYyMywKKyAgICAgICAgICAgICAgICAgIFBST1RPQ09MX1RMU3YxKQogZnJvbSBfc3NsIGltcG9ydCBfT1BFTlNTTF9BUElfVkVSU0lPTgogCiBfUFJPVE9DT0xfTkFNRVMgPSB7CkBAIC05NCwxMSArMTEwLDE2IEBACiAKIGZyb20gc29ja2V0IGltcG9ydCBnZXRuYW1laW5mbyBhcyBfZ2V0bmFtZWluZm8KIGZyb20gc29ja2V0IGltcG9ydCBlcnJvciBhcyBzb2NrZXRfZXJyb3IKLWZyb20gc29ja2V0IGltcG9ydCBzb2NrZXQsIEFGX0lORVQsIFNPQ0tfU1RSRUFNCitmcm9tIHNvY2tldCBpbXBvcnQgc29ja2V0LCBBRl9JTkVULCBTT0NLX1NUUkVBTSwgY3JlYXRlX2Nvbm5lY3Rpb24KIGltcG9ydCBiYXNlNjQgICAgICAgICMgZm9yIERFUi10by1QRU0gdHJhbnNsYXRpb24KIGltcG9ydCB0cmFjZWJhY2sKIGltcG9ydCBlcnJubwogCitpZiBfc3NsLkhBU19UTFNfVU5JUVVFOgorICAgIENIQU5ORUxfQklORElOR19UWVBFUyA9IFsndGxzLXVuaXF1ZSddCitlbHNlOgorICAgIENIQU5ORUxfQklORElOR19UWVBFUyA9IFtdCisKICMgRGlzYWJsZSB3ZWFrIG9yIGluc2VjdXJlIGNpcGhlcnMgYnkgZGVmYXVsdAogIyAoT3BlblNTTCdzIGRlZmF1bHQgc2V0dGluZyBpcyAnREVGQVVMVDohYU5VTEw6IWVOVUxMJykKIF9ERUZBVUxUX0NJUEhFUlMgPSAnREVGQVVMVDohYU5VTEw6IWVOVUxMOiFMT1c6IUVYUE9SVDohU1NMdjInCkBAIC0zMjYsNiArMzQ3LDEzIEBACiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICByZXR1cm4gc2VsZi5fc3Nsb2JqLmNpcGhlcigpCiAKKyAgICBkZWYgY29tcHJlc3Npb24oc2VsZik6CisgICAgICAgIHNlbGYuX2NoZWNrQ2xvc2VkKCkKKyAgICAgICAgaWYgbm90IHNlbGYuX3NzbG9iajoKKyAgICAgICAgICAgIHJldHVybiBOb25lCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByZXR1cm4gc2VsZi5fc3Nsb2JqLmNvbXByZXNzaW9uKCkKKwogICAgIGRlZiBzZW5kKHNlbGYsIGRhdGEsIGZsYWdzPTApOgogICAgICAgICBzZWxmLl9jaGVja0Nsb3NlZCgpCiAgICAgICAgIGlmIHNlbGYuX3NzbG9iajoKQEAgLTM1OCw2ICszODYsMTIgQEAKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHJldHVybiBzb2NrZXQuc2VuZHRvKHNlbGYsIGRhdGEsIGZsYWdzX29yX2FkZHIsIGFkZHIpCiAKKyAgICBkZWYgc2VuZG1zZyhzZWxmLCAqYXJncywgKiprd2FyZ3MpOgorICAgICAgICAjIEVuc3VyZSBwcm9ncmFtcyBkb24ndCBzZW5kIGRhdGEgdW5lbmNyeXB0ZWQgaWYgdGhleSB0cnkgdG8KKyAgICAgICAgIyB1c2UgdGhpcyBtZXRob2QuCisgICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IoInNlbmRtc2cgbm90IGFsbG93ZWQgb24gaW5zdGFuY2VzIG9mICVzIiAlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fX2NsYXNzX18pCisKICAgICBkZWYgc2VuZGFsbChzZWxmLCBkYXRhLCBmbGFncz0wKToKICAgICAgICAgc2VsZi5fY2hlY2tDbG9zZWQoKQogICAgICAgICBpZiBzZWxmLl9zc2xvYmo6CkBAIC00MTYsNiArNDUwLDE0IEBACiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICByZXR1cm4gc29ja2V0LnJlY3Zmcm9tX2ludG8oc2VsZiwgYnVmZmVyLCBuYnl0ZXMsIGZsYWdzKQogCisgICAgZGVmIHJlY3Ztc2coc2VsZiwgKmFyZ3MsICoqa3dhcmdzKToKKyAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcigicmVjdm1zZyBub3QgYWxsb3dlZCBvbiBpbnN0YW5jZXMgb2YgJXMiICUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9fY2xhc3NfXykKKworICAgIGRlZiByZWN2bXNnX2ludG8oc2VsZiwgKmFyZ3MsICoqa3dhcmdzKToKKyAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcigicmVjdm1zZ19pbnRvIG5vdCBhbGxvd2VkIG9uIGluc3RhbmNlcyBvZiAiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiVzIiAlIHNlbGYuX19jbGFzc19fKQorCiAgICAgZGVmIHBlbmRpbmcoc2VsZik6CiAgICAgICAgIHNlbGYuX2NoZWNrQ2xvc2VkKCkKICAgICAgICAgaWYgc2VsZi5fc3Nsb2JqOgpAQCAtNTAyLDYgKzU0NCwyMSBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5kb19oYW5kc2hha2Vfb25fY29ubmVjdCksCiAgICAgICAgICAgICAgICAgYWRkcikKIAorICAgIGRlZiBnZXRfY2hhbm5lbF9iaW5kaW5nKHNlbGYsIGNiX3R5cGU9InRscy11bmlxdWUiKToKKyAgICAgICAgIiIiR2V0IGNoYW5uZWwgYmluZGluZyBkYXRhIGZvciBjdXJyZW50IGNvbm5lY3Rpb24uICBSYWlzZSBWYWx1ZUVycm9yCisgICAgICAgIGlmIHRoZSByZXF1ZXN0ZWQgYGNiX3R5cGVgIGlzIG5vdCBzdXBwb3J0ZWQuICBSZXR1cm4gYnl0ZXMgb2YgdGhlIGRhdGEKKyAgICAgICAgb3IgTm9uZSBpZiB0aGUgZGF0YSBpcyBub3QgYXZhaWxhYmxlIChlLmcuIGJlZm9yZSB0aGUgaGFuZHNoYWtlKS4KKyAgICAgICAgIiIiCisgICAgICAgIGlmIGNiX3R5cGUgbm90IGluIENIQU5ORUxfQklORElOR19UWVBFUzoKKyAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIlVuc3VwcG9ydGVkIGNoYW5uZWwgYmluZGluZyB0eXBlIikKKyAgICAgICAgaWYgY2JfdHlwZSAhPSAidGxzLXVuaXF1ZSI6CisgICAgICAgICAgICByYWlzZSBOb3RJbXBsZW1lbnRlZEVycm9yKAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ7MH0gY2hhbm5lbCBiaW5kaW5nIHR5cGUgbm90IGltcGxlbWVudGVkIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5mb3JtYXQoY2JfdHlwZSkpCisgICAgICAgIGlmIHNlbGYuX3NzbG9iaiBpcyBOb25lOgorICAgICAgICAgICAgcmV0dXJuIE5vbmUKKyAgICAgICAgcmV0dXJuIHNlbGYuX3NzbG9iai50bHNfdW5pcXVlX2NiKCkKKwogICAgIGRlZiBfX2RlbF9fKHNlbGYpOgogICAgICAgICAjIHN5cy5zdGRlcnIud3JpdGUoIl9fZGVsX18gb24gJXNcbiIgJSByZXByKHNlbGYpKQogICAgICAgICBzZWxmLl9yZWFsX2Nsb3NlKCkKQEAgLTU2Niw5ICs2MjMsOSBAQAogICAgICAgICBjZXJ0X3JlcXMgPSBDRVJUX1JFUVVJUkVECiAgICAgZWxzZToKICAgICAgICAgY2VydF9yZXFzID0gQ0VSVF9OT05FCi0gICAgcyA9IHdyYXBfc29ja2V0KHNvY2tldCgpLCBzc2xfdmVyc2lvbj1zc2xfdmVyc2lvbiwKKyAgICBzID0gY3JlYXRlX2Nvbm5lY3Rpb24oYWRkcikKKyAgICBzID0gd3JhcF9zb2NrZXQocywgc3NsX3ZlcnNpb249c3NsX3ZlcnNpb24sCiAgICAgICAgICAgICAgICAgICAgIGNlcnRfcmVxcz1jZXJ0X3JlcXMsIGNhX2NlcnRzPWNhX2NlcnRzKQotICAgIHMuY29ubmVjdChhZGRyKQogICAgIGRlcmNlcnQgPSBzLmdldHBlZXJjZXJ0KFRydWUpCiAgICAgcy5jbG9zZSgpCiAgICAgcmV0dXJuIERFUl9jZXJ0X3RvX1BFTV9jZXJ0KGRlcmNlcnQpCmRpZmYgLS1naXQgYS9MaWIvc3RyaW5nLnB5IGIvTGliL3N0cmluZy5weQppbmRleCBlZjAzMzRjLi44YmNkMWRjIDEwMDY0NAotLS0gYS9MaWIvc3RyaW5nLnB5CisrKyBiL0xpYi9zdHJpbmcucHkKQEAgLTQ2LDIzICs0Niw3IEBACiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiBpbXBvcnQgcmUgYXMgX3JlCi0KLWNsYXNzIF9tdWx0aW1hcDoKLSAgICAiIiJIZWxwZXIgY2xhc3MgZm9yIGNvbWJpbmluZyBtdWx0aXBsZSBtYXBwaW5ncy4KLQotICAgIFVzZWQgYnkgLntzYWZlXyx9c3Vic3RpdHV0ZSgpIHRvIGNvbWJpbmUgdGhlIG1hcHBpbmcgYW5kIGtleXdvcmQKLSAgICBhcmd1bWVudHMuCi0gICAgIiIiCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIHByaW1hcnksIHNlY29uZGFyeSk6Ci0gICAgICAgIHNlbGYuX3ByaW1hcnkgPSBwcmltYXJ5Ci0gICAgICAgIHNlbGYuX3NlY29uZGFyeSA9IHNlY29uZGFyeQotCi0gICAgZGVmIF9fZ2V0aXRlbV9fKHNlbGYsIGtleSk6Ci0gICAgICAgIHRyeToKLSAgICAgICAgICAgIHJldHVybiBzZWxmLl9wcmltYXJ5W2tleV0KLSAgICAgICAgZXhjZXB0IEtleUVycm9yOgotICAgICAgICAgICAgcmV0dXJuIHNlbGYuX3NlY29uZGFyeVtrZXldCi0KK2Zyb20gY29sbGVjdGlvbnMgaW1wb3J0IENoYWluTWFwCiAKIGNsYXNzIF9UZW1wbGF0ZU1ldGFjbGFzcyh0eXBlKToKICAgICBwYXR0ZXJuID0gciIiIgpAQCAtMTAwLDcgKzg0LDcgQEAKIAogICAgIGRlZiBfaW52YWxpZChzZWxmLCBtbyk6CiAgICAgICAgIGkgPSBtby5zdGFydCgnaW52YWxpZCcpCi0gICAgICAgIGxpbmVzID0gc2VsZi50ZW1wbGF0ZVs6aV0uc3BsaXRsaW5lcyhUcnVlKQorICAgICAgICBsaW5lcyA9IHNlbGYudGVtcGxhdGVbOmldLnNwbGl0bGluZXMoa2VlcGVuZHM9VHJ1ZSkKICAgICAgICAgaWYgbm90IGxpbmVzOgogICAgICAgICAgICAgY29sbm8gPSAxCiAgICAgICAgICAgICBsaW5lbm8gPSAxCkBAIC0xMTYsNyArMTAwLDcgQEAKICAgICAgICAgaWYgbm90IGFyZ3M6CiAgICAgICAgICAgICBtYXBwaW5nID0ga3dzCiAgICAgICAgIGVsaWYga3dzOgotICAgICAgICAgICAgbWFwcGluZyA9IF9tdWx0aW1hcChrd3MsIGFyZ3NbMF0pCisgICAgICAgICAgICBtYXBwaW5nID0gQ2hhaW5NYXAoa3dzLCBhcmdzWzBdKQogICAgICAgICBlbHNlOgogICAgICAgICAgICAgbWFwcGluZyA9IGFyZ3NbMF0KICAgICAgICAgIyBIZWxwZXIgZnVuY3Rpb24gZm9yIC5zdWIoKQpAQCAtMTQyLDcgKzEyNiw3IEBACiAgICAgICAgIGlmIG5vdCBhcmdzOgogICAgICAgICAgICAgbWFwcGluZyA9IGt3cwogICAgICAgICBlbGlmIGt3czoKLSAgICAgICAgICAgIG1hcHBpbmcgPSBfbXVsdGltYXAoa3dzLCBhcmdzWzBdKQorICAgICAgICAgICAgbWFwcGluZyA9IENoYWluTWFwKGt3cywgYXJnc1swXSkKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIG1hcHBpbmcgPSBhcmdzWzBdCiAgICAgICAgICMgSGVscGVyIGZ1bmN0aW9uIGZvciAuc3ViKCkKZGlmZiAtLWdpdCBhL0xpYi9zdWJwcm9jZXNzLnB5IGIvTGliL3N1YnByb2Nlc3MucHkKaW5kZXggMTc5ZjQxYS4uNjg0MDg2YiAxMDA2NDQKLS0tIGEvTGliL3N1YnByb2Nlc3MucHkKKysrIGIvTGliL3N1YnByb2Nlc3MucHkKQEAgLTE5MSw4ICsxOTEsMTAgQEAKIAogQSBWYWx1ZUVycm9yIHdpbGwgYmUgcmFpc2VkIGlmIFBvcGVuIGlzIGNhbGxlZCB3aXRoIGludmFsaWQgYXJndW1lbnRzLgogCi1jaGVja19jYWxsKCkgYW5kIGNoZWNrX291dHB1dCgpIHdpbGwgcmFpc2UgQ2FsbGVkUHJvY2Vzc0Vycm9yLCBpZiB0aGUKLWNhbGxlZCBwcm9jZXNzIHJldHVybnMgYSBub24temVybyByZXR1cm4gY29kZS4KK0V4Y2VwdGlvbnMgZGVmaW5lZCB3aXRoaW4gdGhpcyBtb2R1bGUgaW5oZXJpdCBmcm9tIFN1YnByb2Nlc3NFcnJvci4KK2NoZWNrX2NhbGwoKSBhbmQgY2hlY2tfb3V0cHV0KCkgd2lsbCByYWlzZSBDYWxsZWRQcm9jZXNzRXJyb3IgaWYgdGhlCitjYWxsZWQgcHJvY2VzcyByZXR1cm5zIGEgbm9uLXplcm8gcmV0dXJuIGNvZGUuICBUaW1lb3V0RXhwaXJlZAorYmUgcmFpc2VkIGlmIGEgdGltZW91dCB3YXMgc3BlY2lmaWVkIGFuZCBleHBpcmVkLgogCiAKIFNlY3VyaXR5CkBAIC0zNDAsNiArMzQyLDcgQEAKIAogaW1wb3J0IGlvCiBpbXBvcnQgb3MKK2ltcG9ydCB0aW1lCiBpbXBvcnQgdHJhY2ViYWNrCiBpbXBvcnQgZ2MKIGltcG9ydCBzaWduYWwKQEAgLTM0OCw3ICszNTEsMTAgQEAKIGltcG9ydCBlcnJubwogCiAjIEV4Y2VwdGlvbiBjbGFzc2VzIHVzZWQgYnkgdGhpcyBtb2R1bGUuCi1jbGFzcyBDYWxsZWRQcm9jZXNzRXJyb3IoRXhjZXB0aW9uKToKK2NsYXNzIFN1YnByb2Nlc3NFcnJvcihFeGNlcHRpb24pOiBwYXNzCisKKworY2xhc3MgQ2FsbGVkUHJvY2Vzc0Vycm9yKFN1YnByb2Nlc3NFcnJvcik6CiAgICAgIiIiVGhpcyBleGNlcHRpb24gaXMgcmFpc2VkIHdoZW4gYSBwcm9jZXNzIHJ1biBieSBjaGVja19jYWxsKCkgb3IKICAgICBjaGVja19vdXRwdXQoKSByZXR1cm5zIGEgbm9uLXplcm8gZXhpdCBzdGF0dXMuCiAgICAgVGhlIGV4aXQgc3RhdHVzIHdpbGwgYmUgc3RvcmVkIGluIHRoZSByZXR1cm5jb2RlIGF0dHJpYnV0ZTsKQEAgLTM2Miw2ICszNjgsMjAgQEAKICAgICAgICAgcmV0dXJuICJDb21tYW5kICclcycgcmV0dXJuZWQgbm9uLXplcm8gZXhpdCBzdGF0dXMgJWQiICUgKHNlbGYuY21kLCBzZWxmLnJldHVybmNvZGUpCiAKIAorY2xhc3MgVGltZW91dEV4cGlyZWQoU3VicHJvY2Vzc0Vycm9yKToKKyAgICAiIiJUaGlzIGV4Y2VwdGlvbiBpcyByYWlzZWQgd2hlbiB0aGUgdGltZW91dCBleHBpcmVzIHdoaWxlIHdhaXRpbmcgZm9yIGEKKyAgICBjaGlsZCBwcm9jZXNzLgorICAgICIiIgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBjbWQsIHRpbWVvdXQsIG91dHB1dD1Ob25lKToKKyAgICAgICAgc2VsZi5jbWQgPSBjbWQKKyAgICAgICAgc2VsZi50aW1lb3V0ID0gdGltZW91dAorICAgICAgICBzZWxmLm91dHB1dCA9IG91dHB1dAorCisgICAgZGVmIF9fc3RyX18oc2VsZik6CisgICAgICAgIHJldHVybiAoIkNvbW1hbmQgJyVzJyB0aW1lZCBvdXQgYWZ0ZXIgJXMgc2Vjb25kcyIgJQorICAgICAgICAgICAgICAgIChzZWxmLmNtZCwgc2VsZi50aW1lb3V0KSkKKworCiBpZiBtc3dpbmRvd3M6CiAgICAgaW1wb3J0IHRocmVhZGluZwogICAgIGltcG9ydCBtc3ZjcnQKQEAgLTM3Nyw0MiArMzk3LDE3IEBACiBlbHNlOgogICAgIGltcG9ydCBzZWxlY3QKICAgICBfaGFzX3BvbGwgPSBoYXNhdHRyKHNlbGVjdCwgJ3BvbGwnKQotICAgIGltcG9ydCBmY250bAotICAgIGltcG9ydCBwaWNrbGUKLQotICAgIHRyeToKLSAgICAgICAgaW1wb3J0IF9wb3NpeHN1YnByb2Nlc3MKLSAgICBleGNlcHQgSW1wb3J0RXJyb3I6Ci0gICAgICAgIF9wb3NpeHN1YnByb2Nlc3MgPSBOb25lCi0gICAgICAgIHdhcm5pbmdzLndhcm4oIlRoZSBfcG9zaXhzdWJwcm9jZXNzIG1vZHVsZSBpcyBub3QgYmVpbmcgdXNlZC4gIgotICAgICAgICAgICAgICAgICAgICAgICJDaGlsZCBwcm9jZXNzIHJlbGlhYmlsaXR5IG1heSBzdWZmZXIgaWYgeW91ciAiCi0gICAgICAgICAgICAgICAgICAgICAgInByb2dyYW0gdXNlcyB0aHJlYWRzLiIsIFJ1bnRpbWVXYXJuaW5nKQorICAgIGltcG9ydCBfcG9zaXhzdWJwcm9jZXNzCisgICAgX2NyZWF0ZV9waXBlID0gX3Bvc2l4c3VicHJvY2Vzcy5jbG9leGVjX3BpcGUKIAogICAgICMgV2hlbiBzZWxlY3Qgb3IgcG9sbCBoYXMgaW5kaWNhdGVkIHRoYXQgdGhlIGZpbGUgaXMgd3JpdGFibGUsCiAgICAgIyB3ZSBjYW4gd3JpdGUgdXAgdG8gX1BJUEVfQlVGIGJ5dGVzIHdpdGhvdXQgcmlzayBvZiBibG9ja2luZy4KICAgICAjIFBPU0lYIGRlZmluZXMgUElQRV9CVUYgYXMgPj0gNTEyLgogICAgIF9QSVBFX0JVRiA9IGdldGF0dHIoc2VsZWN0LCAnUElQRV9CVUYnLCA1MTIpCiAKLSAgICBfRkRfQ0xPRVhFQyA9IGdldGF0dHIoZmNudGwsICdGRF9DTE9FWEVDJywgMSkKLQotICAgIGRlZiBfc2V0X2Nsb2V4ZWMoZmQsIGNsb2V4ZWMpOgotICAgICAgICBvbGQgPSBmY250bC5mY250bChmZCwgZmNudGwuRl9HRVRGRCkKLSAgICAgICAgaWYgY2xvZXhlYzoKLSAgICAgICAgICAgIGZjbnRsLmZjbnRsKGZkLCBmY250bC5GX1NFVEZELCBvbGQgfCBfRkRfQ0xPRVhFQykKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIGZjbnRsLmZjbnRsKGZkLCBmY250bC5GX1NFVEZELCBvbGQgJiB+X0ZEX0NMT0VYRUMpCi0KLSAgICBpZiBfcG9zaXhzdWJwcm9jZXNzOgotICAgICAgICBfY3JlYXRlX3BpcGUgPSBfcG9zaXhzdWJwcm9jZXNzLmNsb2V4ZWNfcGlwZQotICAgIGVsc2U6Ci0gICAgICAgIGRlZiBfY3JlYXRlX3BpcGUoKToKLSAgICAgICAgICAgIGZkcyA9IG9zLnBpcGUoKQotICAgICAgICAgICAgX3NldF9jbG9leGVjKGZkc1swXSwgVHJ1ZSkKLSAgICAgICAgICAgIF9zZXRfY2xvZXhlYyhmZHNbMV0sIFRydWUpCi0gICAgICAgICAgICByZXR1cm4gZmRzCiAKIF9fYWxsX18gPSBbIlBvcGVuIiwgIlBJUEUiLCAiU1RET1VUIiwgImNhbGwiLCAiY2hlY2tfY2FsbCIsICJnZXRzdGF0dXNvdXRwdXQiLAotICAgICAgICAgICAiZ2V0b3V0cHV0IiwgImNoZWNrX291dHB1dCIsICJDYWxsZWRQcm9jZXNzRXJyb3IiXQorICAgICAgICAgICAiZ2V0b3V0cHV0IiwgImNoZWNrX291dHB1dCIsICJDYWxsZWRQcm9jZXNzRXJyb3IiLCAiREVWTlVMTCJdCiAKIGlmIG1zd2luZG93czoKICAgICBmcm9tIF9zdWJwcm9jZXNzIGltcG9ydCAoQ1JFQVRFX05FV19DT05TT0xFLCBDUkVBVEVfTkVXX1BST0NFU1NfR1JPVVAsCkBAIC00NDgsMjcgKzQ0MywzMiBAQAogCiBQSVBFID0gLTEKIFNURE9VVCA9IC0yCitERVZOVUxMID0gLTMKIAogCiBkZWYgX2VpbnRyX3JldHJ5X2NhbGwoZnVuYywgKmFyZ3MpOgogICAgIHdoaWxlIFRydWU6CiAgICAgICAgIHRyeToKICAgICAgICAgICAgIHJldHVybiBmdW5jKCphcmdzKQotICAgICAgICBleGNlcHQgKE9TRXJyb3IsIElPRXJyb3IpIGFzIGU6Ci0gICAgICAgICAgICBpZiBlLmVycm5vID09IGVycm5vLkVJTlRSOgotICAgICAgICAgICAgICAgIGNvbnRpbnVlCi0gICAgICAgICAgICByYWlzZQorICAgICAgICBleGNlcHQgSW50ZXJydXB0ZWRFcnJvcjoKKyAgICAgICAgICAgIGNvbnRpbnVlCiAKIAotZGVmIGNhbGwoKnBvcGVuYXJncywgKiprd2FyZ3MpOgotICAgICIiIlJ1biBjb21tYW5kIHdpdGggYXJndW1lbnRzLiAgV2FpdCBmb3IgY29tbWFuZCB0byBjb21wbGV0ZSwgdGhlbgotICAgIHJldHVybiB0aGUgcmV0dXJuY29kZSBhdHRyaWJ1dGUuCitkZWYgY2FsbCgqcG9wZW5hcmdzLCB0aW1lb3V0PU5vbmUsICoqa3dhcmdzKToKKyAgICAiIiJSdW4gY29tbWFuZCB3aXRoIGFyZ3VtZW50cy4gIFdhaXQgZm9yIGNvbW1hbmQgdG8gY29tcGxldGUgb3IKKyAgICB0aW1lb3V0LCB0aGVuIHJldHVybiB0aGUgcmV0dXJuY29kZSBhdHRyaWJ1dGUuCiAKICAgICBUaGUgYXJndW1lbnRzIGFyZSB0aGUgc2FtZSBhcyBmb3IgdGhlIFBvcGVuIGNvbnN0cnVjdG9yLiAgRXhhbXBsZToKIAogICAgIHJldGNvZGUgPSBjYWxsKFsibHMiLCAiLWwiXSkKICAgICAiIiIKLSAgICByZXR1cm4gUG9wZW4oKnBvcGVuYXJncywgKiprd2FyZ3MpLndhaXQoKQorICAgIHdpdGggUG9wZW4oKnBvcGVuYXJncywgKiprd2FyZ3MpIGFzIHA6CisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHJldHVybiBwLndhaXQodGltZW91dD10aW1lb3V0KQorICAgICAgICBleGNlcHQ6CisgICAgICAgICAgICBwLmtpbGwoKQorICAgICAgICAgICAgcC53YWl0KCkKKyAgICAgICAgICAgIHJhaXNlCiAKIAogZGVmIGNoZWNrX2NhbGwoKnBvcGVuYXJncywgKiprd2FyZ3MpOgpAQCAtNDc3LDcgKzQ3Nyw3IEBACiAgICAgQ2FsbGVkUHJvY2Vzc0Vycm9yLiAgVGhlIENhbGxlZFByb2Nlc3NFcnJvciBvYmplY3Qgd2lsbCBoYXZlIHRoZQogICAgIHJldHVybiBjb2RlIGluIHRoZSByZXR1cm5jb2RlIGF0dHJpYnV0ZS4KIAotICAgIFRoZSBhcmd1bWVudHMgYXJlIHRoZSBzYW1lIGFzIGZvciB0aGUgUG9wZW4gY29uc3RydWN0b3IuICBFeGFtcGxlOgorICAgIFRoZSBhcmd1bWVudHMgYXJlIHRoZSBzYW1lIGFzIGZvciB0aGUgY2FsbCBmdW5jdGlvbi4gIEV4YW1wbGU6CiAKICAgICBjaGVja19jYWxsKFsibHMiLCAiLWwiXSkKICAgICAiIiIKQEAgLTQ5MCw3ICs0OTAsNyBAQAogICAgIHJldHVybiAwCiAKIAotZGVmIGNoZWNrX291dHB1dCgqcG9wZW5hcmdzLCAqKmt3YXJncyk6CitkZWYgY2hlY2tfb3V0cHV0KCpwb3BlbmFyZ3MsIHRpbWVvdXQ9Tm9uZSwgKiprd2FyZ3MpOgogICAgIHIiIiJSdW4gY29tbWFuZCB3aXRoIGFyZ3VtZW50cyBhbmQgcmV0dXJuIGl0cyBvdXRwdXQgYXMgYSBieXRlIHN0cmluZy4KIAogICAgIElmIHRoZSBleGl0IGNvZGUgd2FzIG5vbi16ZXJvIGl0IHJhaXNlcyBhIENhbGxlZFByb2Nlc3NFcnJvci4gIFRoZQpAQCAtNTEyLDE0ICs1MTIsMjAgQEAKICAgICAiIiIKICAgICBpZiAnc3Rkb3V0JyBpbiBrd2FyZ3M6CiAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoJ3N0ZG91dCBhcmd1bWVudCBub3QgYWxsb3dlZCwgaXQgd2lsbCBiZSBvdmVycmlkZGVuLicpCi0gICAgcHJvY2VzcyA9IFBvcGVuKCpwb3BlbmFyZ3MsIHN0ZG91dD1QSVBFLCAqKmt3YXJncykKLSAgICBvdXRwdXQsIHVudXNlZF9lcnIgPSBwcm9jZXNzLmNvbW11bmljYXRlKCkKLSAgICByZXRjb2RlID0gcHJvY2Vzcy5wb2xsKCkKLSAgICBpZiByZXRjb2RlOgotICAgICAgICBjbWQgPSBrd2FyZ3MuZ2V0KCJhcmdzIikKLSAgICAgICAgaWYgY21kIGlzIE5vbmU6Ci0gICAgICAgICAgICBjbWQgPSBwb3BlbmFyZ3NbMF0KLSAgICAgICAgcmFpc2UgQ2FsbGVkUHJvY2Vzc0Vycm9yKHJldGNvZGUsIGNtZCwgb3V0cHV0PW91dHB1dCkKKyAgICB3aXRoIFBvcGVuKCpwb3BlbmFyZ3MsIHN0ZG91dD1QSVBFLCAqKmt3YXJncykgYXMgcHJvY2VzczoKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgb3V0cHV0LCB1bnVzZWRfZXJyID0gcHJvY2Vzcy5jb21tdW5pY2F0ZSh0aW1lb3V0PXRpbWVvdXQpCisgICAgICAgIGV4Y2VwdCBUaW1lb3V0RXhwaXJlZDoKKyAgICAgICAgICAgIHByb2Nlc3Mua2lsbCgpCisgICAgICAgICAgICBvdXRwdXQsIHVudXNlZF9lcnIgPSBwcm9jZXNzLmNvbW11bmljYXRlKCkKKyAgICAgICAgICAgIHJhaXNlIFRpbWVvdXRFeHBpcmVkKHByb2Nlc3MuYXJncywgdGltZW91dCwgb3V0cHV0PW91dHB1dCkKKyAgICAgICAgZXhjZXB0OgorICAgICAgICAgICAgcHJvY2Vzcy5raWxsKCkKKyAgICAgICAgICAgIHByb2Nlc3Mud2FpdCgpCisgICAgICAgICAgICByYWlzZQorICAgICAgICByZXRjb2RlID0gcHJvY2Vzcy5wb2xsKCkKKyAgICAgICAgaWYgcmV0Y29kZToKKyAgICAgICAgICAgIHJhaXNlIENhbGxlZFByb2Nlc3NFcnJvcihyZXRjb2RlLCBwcm9jZXNzLmFyZ3MsIG91dHB1dD1vdXRwdXQpCiAgICAgcmV0dXJuIG91dHB1dAogCiAKQEAgLTYxNCwxMSArNjIwLDE5IEBACiAgICAgPj4+IHN1YnByb2Nlc3MuZ2V0c3RhdHVzb3V0cHV0KCcvYmluL2p1bmsnKQogICAgICgyNTYsICdzaDogL2Jpbi9qdW5rOiBub3QgZm91bmQnKQogICAgICIiIgotICAgIHBpcGUgPSBvcy5wb3BlbigneyAnICsgY21kICsgJzsgfSAyPiYxJywgJ3InKQotICAgIHRleHQgPSBwaXBlLnJlYWQoKQotICAgIHN0cyA9IHBpcGUuY2xvc2UoKQotICAgIGlmIHN0cyBpcyBOb25lOiBzdHMgPSAwCi0gICAgaWYgdGV4dFstMTpdID09ICdcbic6IHRleHQgPSB0ZXh0WzotMV0KKyAgICB3aXRoIG9zLnBvcGVuKCd7ICcgKyBjbWQgKyAnOyB9IDI+JjEnLCAncicpIGFzIHBpcGU6CisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHRleHQgPSBwaXBlLnJlYWQoKQorICAgICAgICAgICAgc3RzID0gcGlwZS5jbG9zZSgpCisgICAgICAgIGV4Y2VwdDoKKyAgICAgICAgICAgIHByb2Nlc3MgPSBwaXBlLl9wcm9jCisgICAgICAgICAgICBwcm9jZXNzLmtpbGwoKQorICAgICAgICAgICAgcHJvY2Vzcy53YWl0KCkKKyAgICAgICAgICAgIHJhaXNlCisgICAgaWYgc3RzIGlzIE5vbmU6CisgICAgICAgIHN0cyA9IDAKKyAgICBpZiB0ZXh0Wy0xOl0gPT0gJ1xuJzoKKyAgICAgICAgdGV4dCA9IHRleHRbOi0xXQogICAgIHJldHVybiBzdHMsIHRleHQKIAogCkBAIC02NTAsNiArNjY0LDggQEAKICAgICAgICAgX2NsZWFudXAoKQogCiAgICAgICAgIHNlbGYuX2NoaWxkX2NyZWF0ZWQgPSBGYWxzZQorICAgICAgICBzZWxmLl9pbnB1dCA9IE5vbmUKKyAgICAgICAgc2VsZi5fY29tbXVuaWNhdGlvbl9zdGFydGVkID0gRmFsc2UKICAgICAgICAgaWYgYnVmc2l6ZSBpcyBOb25lOgogICAgICAgICAgICAgYnVmc2l6ZSA9IDAgICMgUmVzdG9yZSBkZWZhdWx0CiAgICAgICAgIGlmIG5vdCBpc2luc3RhbmNlKGJ1ZnNpemUsIGludCk6CkBAIC02ODQsNiArNzAwLDcgQEAKICAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJjcmVhdGlvbmZsYWdzIGlzIG9ubHkgc3VwcG9ydGVkIG9uIFdpbmRvd3MgIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBsYXRmb3JtcyIpCiAKKyAgICAgICAgc2VsZi5hcmdzID0gYXJncwogICAgICAgICBzZWxmLnN0ZGluID0gTm9uZQogICAgICAgICBzZWxmLnN0ZG91dCA9IE5vbmUKICAgICAgICAgc2VsZi5zdGRlcnIgPSBOb25lCkBAIC03ODQsMTkgKzgwMSwyOCBAQAogICAgICAgICAgICAgIyBDaGlsZCBpcyBzdGlsbCBydW5uaW5nLCBrZWVwIHVzIGFsaXZlIHVudGlsIHdlIGNhbiB3YWl0IG9uIGl0LgogICAgICAgICAgICAgX2FjdGl2ZS5hcHBlbmQoc2VsZikKIAorICAgIGRlZiBfZ2V0X2Rldm51bGwoc2VsZik6CisgICAgICAgIGlmIG5vdCBoYXNhdHRyKHNlbGYsICdfZGV2bnVsbCcpOgorICAgICAgICAgICAgc2VsZi5fZGV2bnVsbCA9IG9zLm9wZW4ob3MuZGV2bnVsbCwgb3MuT19SRFdSKQorICAgICAgICByZXR1cm4gc2VsZi5fZGV2bnVsbAogCi0gICAgZGVmIGNvbW11bmljYXRlKHNlbGYsIGlucHV0PU5vbmUpOgorICAgIGRlZiBjb21tdW5pY2F0ZShzZWxmLCBpbnB1dD1Ob25lLCB0aW1lb3V0PU5vbmUpOgogICAgICAgICAiIiJJbnRlcmFjdCB3aXRoIHByb2Nlc3M6IFNlbmQgZGF0YSB0byBzdGRpbi4gIFJlYWQgZGF0YSBmcm9tCiAgICAgICAgIHN0ZG91dCBhbmQgc3RkZXJyLCB1bnRpbCBlbmQtb2YtZmlsZSBpcyByZWFjaGVkLiAgV2FpdCBmb3IKLSAgICAgICAgcHJvY2VzcyB0byB0ZXJtaW5hdGUuICBUaGUgb3B0aW9uYWwgaW5wdXQgYXJndW1lbnQgc2hvdWxkIGJlIGEKLSAgICAgICAgc3RyaW5nIHRvIGJlIHNlbnQgdG8gdGhlIGNoaWxkIHByb2Nlc3MsIG9yIE5vbmUsIGlmIG5vIGRhdGEKKyAgICAgICAgcHJvY2VzcyB0byB0ZXJtaW5hdGUuICBUaGUgb3B0aW9uYWwgaW5wdXQgYXJndW1lbnQgc2hvdWxkIGJlCisgICAgICAgIGJ5dGVzIHRvIGJlIHNlbnQgdG8gdGhlIGNoaWxkIHByb2Nlc3MsIG9yIE5vbmUsIGlmIG5vIGRhdGEKICAgICAgICAgc2hvdWxkIGJlIHNlbnQgdG8gdGhlIGNoaWxkLgogCiAgICAgICAgIGNvbW11bmljYXRlKCkgcmV0dXJucyBhIHR1cGxlIChzdGRvdXQsIHN0ZGVycikuIiIiCiAKLSAgICAgICAgIyBPcHRpbWl6YXRpb246IElmIHdlIGFyZSBvbmx5IHVzaW5nIG9uZSBwaXBlLCBvciBubyBwaXBlIGF0Ci0gICAgICAgICMgYWxsLCB1c2luZyBzZWxlY3QoKSBvciB0aHJlYWRzIGlzIHVubmVjZXNzYXJ5LgotICAgICAgICBpZiBbc2VsZi5zdGRpbiwgc2VsZi5zdGRvdXQsIHNlbGYuc3RkZXJyXS5jb3VudChOb25lKSA+PSAyOgorICAgICAgICBpZiBzZWxmLl9jb21tdW5pY2F0aW9uX3N0YXJ0ZWQgYW5kIGlucHV0OgorICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiQ2Fubm90IHNlbmQgaW5wdXQgYWZ0ZXIgc3RhcnRpbmcgY29tbXVuaWNhdGlvbiIpCisKKyAgICAgICAgIyBPcHRpbWl6YXRpb246IElmIHdlIGFyZSBub3Qgd29ycmllZCBhYm91dCB0aW1lb3V0cywgd2UgaGF2ZW4ndAorICAgICAgICAjIHN0YXJ0ZWQgY29tbXVuaWNhdGluZywgYW5kIHdlIGhhdmUgb25lIG9yIHplcm8gcGlwZXMsIHVzaW5nIHNlbGVjdCgpCisgICAgICAgICMgb3IgdGhyZWFkcyBpcyB1bm5lY2Vzc2FyeS4KKyAgICAgICAgaWYgKHRpbWVvdXQgaXMgTm9uZSBhbmQgbm90IHNlbGYuX2NvbW11bmljYXRpb25fc3RhcnRlZCBhbmQKKyAgICAgICAgICAgIFtzZWxmLnN0ZGluLCBzZWxmLnN0ZG91dCwgc2VsZi5zdGRlcnJdLmNvdW50KE5vbmUpID49IDIpOgogICAgICAgICAgICAgc3Rkb3V0ID0gTm9uZQogICAgICAgICAgICAgc3RkZXJyID0gTm9uZQogICAgICAgICAgICAgaWYgc2VsZi5zdGRpbjoKQEAgLTgxNCwxNSArODQwLDQyIEBACiAgICAgICAgICAgICAgICAgc3RkZXJyID0gX2VpbnRyX3JldHJ5X2NhbGwoc2VsZi5zdGRlcnIucmVhZCkKICAgICAgICAgICAgICAgICBzZWxmLnN0ZGVyci5jbG9zZSgpCiAgICAgICAgICAgICBzZWxmLndhaXQoKQotICAgICAgICAgICAgcmV0dXJuIChzdGRvdXQsIHN0ZGVycikKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGlmIHRpbWVvdXQgaXMgbm90IE5vbmU6CisgICAgICAgICAgICAgICAgZW5kdGltZSA9IHRpbWUudGltZSgpICsgdGltZW91dAorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBlbmR0aW1lID0gTm9uZQogCi0gICAgICAgIHJldHVybiBzZWxmLl9jb21tdW5pY2F0ZShpbnB1dCkKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBzdGRvdXQsIHN0ZGVyciA9IHNlbGYuX2NvbW11bmljYXRlKGlucHV0LCBlbmR0aW1lLCB0aW1lb3V0KQorICAgICAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgICAgICBzZWxmLl9jb21tdW5pY2F0aW9uX3N0YXJ0ZWQgPSBUcnVlCisKKyAgICAgICAgICAgIHN0cyA9IHNlbGYud2FpdCh0aW1lb3V0PXNlbGYuX3JlbWFpbmluZ190aW1lKGVuZHRpbWUpKQorCisgICAgICAgIHJldHVybiAoc3Rkb3V0LCBzdGRlcnIpCiAKIAogICAgIGRlZiBwb2xsKHNlbGYpOgogICAgICAgICByZXR1cm4gc2VsZi5faW50ZXJuYWxfcG9sbCgpCiAKIAorICAgIGRlZiBfcmVtYWluaW5nX3RpbWUoc2VsZiwgZW5kdGltZSk6CisgICAgICAgICIiIkNvbnZlbmllbmNlIGZvciBfY29tbXVuaWNhdGUgd2hlbiBjb21wdXRpbmcgdGltZW91dHMuIiIiCisgICAgICAgIGlmIGVuZHRpbWUgaXMgTm9uZToKKyAgICAgICAgICAgIHJldHVybiBOb25lCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByZXR1cm4gZW5kdGltZSAtIHRpbWUudGltZSgpCisKKworICAgIGRlZiBfY2hlY2tfdGltZW91dChzZWxmLCBlbmR0aW1lLCBvcmlnX3RpbWVvdXQpOgorICAgICAgICAiIiJDb252ZW5pZW5jZSBmb3IgY2hlY2tpbmcgaWYgYSB0aW1lb3V0IGhhcyBleHBpcmVkLiIiIgorICAgICAgICBpZiBlbmR0aW1lIGlzIE5vbmU6CisgICAgICAgICAgICByZXR1cm4KKyAgICAgICAgaWYgdGltZS50aW1lKCkgPiBlbmR0aW1lOgorICAgICAgICAgICAgcmFpc2UgVGltZW91dEV4cGlyZWQoc2VsZi5hcmdzLCBvcmlnX3RpbWVvdXQpCisKKwogICAgIGlmIG1zd2luZG93czoKICAgICAgICAgIwogICAgICAgICAjIFdpbmRvd3MgbWV0aG9kcwpAQCAtODQ0LDYgKzg5Nyw4IEBACiAgICAgICAgICAgICAgICAgICAgIHAyY3JlYWQsIF8gPSBfc3VicHJvY2Vzcy5DcmVhdGVQaXBlKE5vbmUsIDApCiAgICAgICAgICAgICBlbGlmIHN0ZGluID09IFBJUEU6CiAgICAgICAgICAgICAgICAgcDJjcmVhZCwgcDJjd3JpdGUgPSBfc3VicHJvY2Vzcy5DcmVhdGVQaXBlKE5vbmUsIDApCisgICAgICAgICAgICBlbGlmIHN0ZGluID09IERFVk5VTEw6CisgICAgICAgICAgICAgICAgcDJjcmVhZCA9IG1zdmNydC5nZXRfb3NmaGFuZGxlKHNlbGYuX2dldF9kZXZudWxsKCkpCiAgICAgICAgICAgICBlbGlmIGlzaW5zdGFuY2Uoc3RkaW4sIGludCk6CiAgICAgICAgICAgICAgICAgcDJjcmVhZCA9IG1zdmNydC5nZXRfb3NmaGFuZGxlKHN0ZGluKQogICAgICAgICAgICAgZWxzZToKQEAgLTg1Nyw2ICs5MTIsOCBAQAogICAgICAgICAgICAgICAgICAgICBfLCBjMnB3cml0ZSA9IF9zdWJwcm9jZXNzLkNyZWF0ZVBpcGUoTm9uZSwgMCkKICAgICAgICAgICAgIGVsaWYgc3Rkb3V0ID09IFBJUEU6CiAgICAgICAgICAgICAgICAgYzJwcmVhZCwgYzJwd3JpdGUgPSBfc3VicHJvY2Vzcy5DcmVhdGVQaXBlKE5vbmUsIDApCisgICAgICAgICAgICBlbGlmIHN0ZG91dCA9PSBERVZOVUxMOgorICAgICAgICAgICAgICAgIGMycHdyaXRlID0gbXN2Y3J0LmdldF9vc2ZoYW5kbGUoc2VsZi5fZ2V0X2Rldm51bGwoKSkKICAgICAgICAgICAgIGVsaWYgaXNpbnN0YW5jZShzdGRvdXQsIGludCk6CiAgICAgICAgICAgICAgICAgYzJwd3JpdGUgPSBtc3ZjcnQuZ2V0X29zZmhhbmRsZShzdGRvdXQpCiAgICAgICAgICAgICBlbHNlOgpAQCAtODcyLDYgKzkyOSw4IEBACiAgICAgICAgICAgICAgICAgZXJycmVhZCwgZXJyd3JpdGUgPSBfc3VicHJvY2Vzcy5DcmVhdGVQaXBlKE5vbmUsIDApCiAgICAgICAgICAgICBlbGlmIHN0ZGVyciA9PSBTVERPVVQ6CiAgICAgICAgICAgICAgICAgZXJyd3JpdGUgPSBjMnB3cml0ZQorICAgICAgICAgICAgZWxpZiBzdGRlcnIgPT0gREVWTlVMTDoKKyAgICAgICAgICAgICAgICBlcnJ3cml0ZSA9IG1zdmNydC5nZXRfb3NmaGFuZGxlKHNlbGYuX2dldF9kZXZudWxsKCkpCiAgICAgICAgICAgICBlbGlmIGlzaW5zdGFuY2Uoc3RkZXJyLCBpbnQpOgogICAgICAgICAgICAgICAgIGVycndyaXRlID0gbXN2Y3J0LmdldF9vc2ZoYW5kbGUoc3RkZXJyKQogICAgICAgICAgICAgZWxzZToKQEAgLTk4MSw2ICsxMDQwLDggQEAKICAgICAgICAgICAgICAgICAgICAgYzJwd3JpdGUuQ2xvc2UoKQogICAgICAgICAgICAgICAgIGlmIGVycndyaXRlICE9IC0xOgogICAgICAgICAgICAgICAgICAgICBlcnJ3cml0ZS5DbG9zZSgpCisgICAgICAgICAgICAgICAgaWYgaGFzYXR0cihzZWxmLCAnX2Rldm51bGwnKToKKyAgICAgICAgICAgICAgICAgICAgb3MuY2xvc2Uoc2VsZi5fZGV2bnVsbCkKIAogICAgICAgICAgICAgIyBSZXRhaW4gdGhlIHByb2Nlc3MgaGFuZGxlLCBidXQgY2xvc2UgdGhlIHRocmVhZCBoYW5kbGUKICAgICAgICAgICAgIHNlbGYuX2NoaWxkX2NyZWF0ZWQgPSBUcnVlCkBAIC0xMDA1LDEyICsxMDY2LDIwIEBACiAgICAgICAgICAgICByZXR1cm4gc2VsZi5yZXR1cm5jb2RlCiAKIAotICAgICAgICBkZWYgd2FpdChzZWxmKToKKyAgICAgICAgZGVmIHdhaXQoc2VsZiwgdGltZW91dD1Ob25lLCBlbmR0aW1lPU5vbmUpOgogICAgICAgICAgICAgIiIiV2FpdCBmb3IgY2hpbGQgcHJvY2VzcyB0byB0ZXJtaW5hdGUuICBSZXR1cm5zIHJldHVybmNvZGUKICAgICAgICAgICAgIGF0dHJpYnV0ZS4iIiIKKyAgICAgICAgICAgIGlmIGVuZHRpbWUgaXMgbm90IE5vbmU6CisgICAgICAgICAgICAgICAgdGltZW91dCA9IHNlbGYuX3JlbWFpbmluZ190aW1lKGVuZHRpbWUpCisgICAgICAgICAgICBpZiB0aW1lb3V0IGlzIE5vbmU6CisgICAgICAgICAgICAgICAgdGltZW91dF9taWxsaXMgPSBfc3VicHJvY2Vzcy5JTkZJTklURQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICB0aW1lb3V0X21pbGxpcyA9IGludCh0aW1lb3V0ICogMTAwMCkKICAgICAgICAgICAgIGlmIHNlbGYucmV0dXJuY29kZSBpcyBOb25lOgotICAgICAgICAgICAgICAgIF9zdWJwcm9jZXNzLldhaXRGb3JTaW5nbGVPYmplY3Qoc2VsZi5faGFuZGxlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3N1YnByb2Nlc3MuSU5GSU5JVEUpCisgICAgICAgICAgICAgICAgcmVzdWx0ID0gX3N1YnByb2Nlc3MuV2FpdEZvclNpbmdsZU9iamVjdChzZWxmLl9oYW5kbGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aW1lb3V0X21pbGxpcykKKyAgICAgICAgICAgICAgICBpZiByZXN1bHQgPT0gX3N1YnByb2Nlc3MuV0FJVF9USU1FT1VUOgorICAgICAgICAgICAgICAgICAgICByYWlzZSBUaW1lb3V0RXhwaXJlZChzZWxmLmFyZ3MsIHRpbWVvdXQpCiAgICAgICAgICAgICAgICAgc2VsZi5yZXR1cm5jb2RlID0gX3N1YnByb2Nlc3MuR2V0RXhpdENvZGVQcm9jZXNzKHNlbGYuX2hhbmRsZSkKICAgICAgICAgICAgIHJldHVybiBzZWxmLnJldHVybmNvZGUKIApAQCAtMTAyMCwyMiArMTA4OSwyMyBAQAogICAgICAgICAgICAgZmguY2xvc2UoKQogCiAKLSAgICAgICAgZGVmIF9jb21tdW5pY2F0ZShzZWxmLCBpbnB1dCk6Ci0gICAgICAgICAgICBzdGRvdXQgPSBOb25lICMgUmV0dXJuCi0gICAgICAgICAgICBzdGRlcnIgPSBOb25lICMgUmV0dXJuCi0KLSAgICAgICAgICAgIGlmIHNlbGYuc3Rkb3V0OgotICAgICAgICAgICAgICAgIHN0ZG91dCA9IFtdCi0gICAgICAgICAgICAgICAgc3Rkb3V0X3RocmVhZCA9IHRocmVhZGluZy5UaHJlYWQodGFyZ2V0PXNlbGYuX3JlYWRlcnRocmVhZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmdzPShzZWxmLnN0ZG91dCwgc3Rkb3V0KSkKLSAgICAgICAgICAgICAgICBzdGRvdXRfdGhyZWFkLmRhZW1vbiA9IFRydWUKLSAgICAgICAgICAgICAgICBzdGRvdXRfdGhyZWFkLnN0YXJ0KCkKLSAgICAgICAgICAgIGlmIHNlbGYuc3RkZXJyOgotICAgICAgICAgICAgICAgIHN0ZGVyciA9IFtdCi0gICAgICAgICAgICAgICAgc3RkZXJyX3RocmVhZCA9IHRocmVhZGluZy5UaHJlYWQodGFyZ2V0PXNlbGYuX3JlYWRlcnRocmVhZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmdzPShzZWxmLnN0ZGVyciwgc3RkZXJyKSkKLSAgICAgICAgICAgICAgICBzdGRlcnJfdGhyZWFkLmRhZW1vbiA9IFRydWUKLSAgICAgICAgICAgICAgICBzdGRlcnJfdGhyZWFkLnN0YXJ0KCkKKyAgICAgICAgZGVmIF9jb21tdW5pY2F0ZShzZWxmLCBpbnB1dCwgZW5kdGltZSwgb3JpZ190aW1lb3V0KToKKyAgICAgICAgICAgICMgU3RhcnQgcmVhZGVyIHRocmVhZHMgZmVlZGluZyBpbnRvIGEgbGlzdCBoYW5naW5nIG9mZiBvZiB0aGlzCisgICAgICAgICAgICAjIG9iamVjdCwgdW5sZXNzIHRoZXkndmUgYWxyZWFkeSBiZWVuIHN0YXJ0ZWQuCisgICAgICAgICAgICBpZiBzZWxmLnN0ZG91dCBhbmQgbm90IGhhc2F0dHIoc2VsZiwgIl9zdGRvdXRfYnVmZiIpOgorICAgICAgICAgICAgICAgIHNlbGYuX3N0ZG91dF9idWZmID0gW10KKyAgICAgICAgICAgICAgICBzZWxmLnN0ZG91dF90aHJlYWQgPSBcCisgICAgICAgICAgICAgICAgICAgICAgICB0aHJlYWRpbmcuVGhyZWFkKHRhcmdldD1zZWxmLl9yZWFkZXJ0aHJlYWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyZ3M9KHNlbGYuc3Rkb3V0LCBzZWxmLl9zdGRvdXRfYnVmZikpCisgICAgICAgICAgICAgICAgc2VsZi5zdGRvdXRfdGhyZWFkLmRhZW1vbiA9IFRydWUKKyAgICAgICAgICAgICAgICBzZWxmLnN0ZG91dF90aHJlYWQuc3RhcnQoKQorICAgICAgICAgICAgaWYgc2VsZi5zdGRlcnIgYW5kIG5vdCBoYXNhdHRyKHNlbGYsICJfc3RkZXJyX2J1ZmYiKToKKyAgICAgICAgICAgICAgICBzZWxmLl9zdGRlcnJfYnVmZiA9IFtdCisgICAgICAgICAgICAgICAgc2VsZi5zdGRlcnJfdGhyZWFkID0gXAorICAgICAgICAgICAgICAgICAgICAgICAgdGhyZWFkaW5nLlRocmVhZCh0YXJnZXQ9c2VsZi5fcmVhZGVydGhyZWFkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmdzPShzZWxmLnN0ZGVyciwgc2VsZi5fc3RkZXJyX2J1ZmYpKQorICAgICAgICAgICAgICAgIHNlbGYuc3RkZXJyX3RocmVhZC5kYWVtb24gPSBUcnVlCisgICAgICAgICAgICAgICAgc2VsZi5zdGRlcnJfdGhyZWFkLnN0YXJ0KCkKIAogICAgICAgICAgICAgaWYgc2VsZi5zdGRpbjoKICAgICAgICAgICAgICAgICBpZiBpbnB1dCBpcyBub3QgTm9uZToKQEAgLTEwNDYsMTAgKzExMTYsMjggQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICByYWlzZQogICAgICAgICAgICAgICAgIHNlbGYuc3RkaW4uY2xvc2UoKQogCisgICAgICAgICAgICAjIFdhaXQgZm9yIHRoZSByZWFkZXIgdGhyZWFkcywgb3IgdGltZSBvdXQuICBJZiB3ZSB0aW1lIG91dCwgdGhlCisgICAgICAgICAgICAjIHRocmVhZHMgcmVtYWluIHJlYWRpbmcgYW5kIHRoZSBmZHMgbGVmdCBvcGVuIGluIGNhc2UgdGhlIHVzZXIKKyAgICAgICAgICAgICMgY2FsbHMgY29tbXVuaWNhdGUgYWdhaW4uCisgICAgICAgICAgICBpZiBzZWxmLnN0ZG91dCBpcyBub3QgTm9uZToKKyAgICAgICAgICAgICAgICBzZWxmLnN0ZG91dF90aHJlYWQuam9pbihzZWxmLl9yZW1haW5pbmdfdGltZShlbmR0aW1lKSkKKyAgICAgICAgICAgICAgICBpZiBzZWxmLnN0ZG91dF90aHJlYWQuaXNBbGl2ZSgpOgorICAgICAgICAgICAgICAgICAgICByYWlzZSBUaW1lb3V0RXhwaXJlZChzZWxmLmFyZ3MsIG9yaWdfdGltZW91dCkKKyAgICAgICAgICAgIGlmIHNlbGYuc3RkZXJyIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgICAgIHNlbGYuc3RkZXJyX3RocmVhZC5qb2luKHNlbGYuX3JlbWFpbmluZ190aW1lKGVuZHRpbWUpKQorICAgICAgICAgICAgICAgIGlmIHNlbGYuc3RkZXJyX3RocmVhZC5pc0FsaXZlKCk6CisgICAgICAgICAgICAgICAgICAgIHJhaXNlIFRpbWVvdXRFeHBpcmVkKHNlbGYuYXJncywgb3JpZ190aW1lb3V0KQorCisgICAgICAgICAgICAjIENvbGxlY3QgdGhlIG91dHB1dCBmcm9tIGFuZCBjbG9zZSBib3RoIHBpcGVzLCBub3cgdGhhdCB3ZSBrbm93CisgICAgICAgICAgICAjIGJvdGggaGF2ZSBiZWVuIHJlYWQgc3VjY2Vzc2Z1bGx5LgorICAgICAgICAgICAgc3Rkb3V0ID0gTm9uZQorICAgICAgICAgICAgc3RkZXJyID0gTm9uZQogICAgICAgICAgICAgaWYgc2VsZi5zdGRvdXQ6Ci0gICAgICAgICAgICAgICAgc3Rkb3V0X3RocmVhZC5qb2luKCkKKyAgICAgICAgICAgICAgICBzdGRvdXQgPSBzZWxmLl9zdGRvdXRfYnVmZgorICAgICAgICAgICAgICAgIHNlbGYuc3Rkb3V0LmNsb3NlKCkKICAgICAgICAgICAgIGlmIHNlbGYuc3RkZXJyOgotICAgICAgICAgICAgICAgIHN0ZGVycl90aHJlYWQuam9pbigpCisgICAgICAgICAgICAgICAgc3RkZXJyID0gc2VsZi5fc3RkZXJyX2J1ZmYKKyAgICAgICAgICAgICAgICBzZWxmLnN0ZGVyci5jbG9zZSgpCiAKICAgICAgICAgICAgICMgQWxsIGRhdGEgZXhjaGFuZ2VkLiAgVHJhbnNsYXRlIGxpc3RzIGludG8gc3RyaW5ncy4KICAgICAgICAgICAgIGlmIHN0ZG91dCBpcyBub3QgTm9uZToKQEAgLTEwNTcsNyArMTE0NSw2IEBACiAgICAgICAgICAgICBpZiBzdGRlcnIgaXMgbm90IE5vbmU6CiAgICAgICAgICAgICAgICAgc3RkZXJyID0gc3RkZXJyWzBdCiAKLSAgICAgICAgICAgIHNlbGYud2FpdCgpCiAgICAgICAgICAgICByZXR1cm4gKHN0ZG91dCwgc3RkZXJyKQogCiAgICAgICAgIGRlZiBzZW5kX3NpZ25hbChzZWxmLCBzaWcpOgpAQCAtMTA3NywxMSArMTE2NCw5IEBACiAgICAgICAgICAgICAiIiIKICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICBfc3VicHJvY2Vzcy5UZXJtaW5hdGVQcm9jZXNzKHNlbGYuX2hhbmRsZSwgMSkKLSAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGU6CisgICAgICAgICAgICBleGNlcHQgUGVybWlzc2lvbkVycm9yOgogICAgICAgICAgICAgICAgICMgRVJST1JfQUNDRVNTX0RFTklFRCAod2luZXJyb3IgNSkgaXMgcmVjZWl2ZWQgd2hlbiB0aGUKICAgICAgICAgICAgICAgICAjIHByb2Nlc3MgYWxyZWFkeSBkaWVkLgotICAgICAgICAgICAgICAgIGlmIGUud2luZXJyb3IgIT0gNToKLSAgICAgICAgICAgICAgICAgICAgcmFpc2UKICAgICAgICAgICAgICAgICByYyA9IF9zdWJwcm9jZXNzLkdldEV4aXRDb2RlUHJvY2VzcyhzZWxmLl9oYW5kbGUpCiAgICAgICAgICAgICAgICAgaWYgcmMgPT0gX3N1YnByb2Nlc3MuU1RJTExfQUNUSVZFOgogICAgICAgICAgICAgICAgICAgICByYWlzZQpAQCAtMTEwNSw2ICsxMTkwLDggQEAKICAgICAgICAgICAgICAgICBwYXNzCiAgICAgICAgICAgICBlbGlmIHN0ZGluID09IFBJUEU6CiAgICAgICAgICAgICAgICAgcDJjcmVhZCwgcDJjd3JpdGUgPSBfY3JlYXRlX3BpcGUoKQorICAgICAgICAgICAgZWxpZiBzdGRpbiA9PSBERVZOVUxMOgorICAgICAgICAgICAgICAgIHAyY3JlYWQgPSBzZWxmLl9nZXRfZGV2bnVsbCgpCiAgICAgICAgICAgICBlbGlmIGlzaW5zdGFuY2Uoc3RkaW4sIGludCk6CiAgICAgICAgICAgICAgICAgcDJjcmVhZCA9IHN0ZGluCiAgICAgICAgICAgICBlbHNlOgpAQCAtMTExNSw2ICsxMjAyLDggQEAKICAgICAgICAgICAgICAgICBwYXNzCiAgICAgICAgICAgICBlbGlmIHN0ZG91dCA9PSBQSVBFOgogICAgICAgICAgICAgICAgIGMycHJlYWQsIGMycHdyaXRlID0gX2NyZWF0ZV9waXBlKCkKKyAgICAgICAgICAgIGVsaWYgc3Rkb3V0ID09IERFVk5VTEw6CisgICAgICAgICAgICAgICAgYzJwd3JpdGUgPSBzZWxmLl9nZXRfZGV2bnVsbCgpCiAgICAgICAgICAgICBlbGlmIGlzaW5zdGFuY2Uoc3Rkb3V0LCBpbnQpOgogICAgICAgICAgICAgICAgIGMycHdyaXRlID0gc3Rkb3V0CiAgICAgICAgICAgICBlbHNlOgpAQCAtMTEyNyw2ICsxMjE2LDggQEAKICAgICAgICAgICAgICAgICBlcnJyZWFkLCBlcnJ3cml0ZSA9IF9jcmVhdGVfcGlwZSgpCiAgICAgICAgICAgICBlbGlmIHN0ZGVyciA9PSBTVERPVVQ6CiAgICAgICAgICAgICAgICAgZXJyd3JpdGUgPSBjMnB3cml0ZQorICAgICAgICAgICAgZWxpZiBzdGRlcnIgPT0gREVWTlVMTDoKKyAgICAgICAgICAgICAgICBlcnJ3cml0ZSA9IHNlbGYuX2dldF9kZXZudWxsKCkKICAgICAgICAgICAgIGVsaWYgaXNpbnN0YW5jZShzdGRlcnIsIGludCk6CiAgICAgICAgICAgICAgICAgZXJyd3JpdGUgPSBzdGRlcnIKICAgICAgICAgICAgIGVsc2U6CkBAIC0xMTU3LDcgKzEyNDgsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdG9yZV9zaWduYWxzLCBzdGFydF9uZXdfc2Vzc2lvbik6CiAgICAgICAgICAgICAiIiJFeGVjdXRlIHByb2dyYW0gKFBPU0lYIHZlcnNpb24pIiIiCiAKLSAgICAgICAgICAgIGlmIGlzaW5zdGFuY2UoYXJncywgc3RyKToKKyAgICAgICAgICAgIGlmIGlzaW5zdGFuY2UoYXJncywgKHN0ciwgYnl0ZXMpKToKICAgICAgICAgICAgICAgICBhcmdzID0gW2FyZ3NdCiAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgIGFyZ3MgPSBsaXN0KGFyZ3MpCkBAIC0xMTc2LDE0OSArMTI2NywzNCBAQAogICAgICAgICAgICAgZXJycGlwZV9yZWFkLCBlcnJwaXBlX3dyaXRlID0gX2NyZWF0ZV9waXBlKCkKICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgICAgICMgV2UgbXVzdCBhdm9pZCBjb21wbGV4IHdvcmsgdGhhdCBjb3VsZCBpbnZvbHZlCisgICAgICAgICAgICAgICAgICAgICMgbWFsbG9jIG9yIGZyZWUgaW4gdGhlIGNoaWxkIHByb2Nlc3MgdG8gYXZvaWQKKyAgICAgICAgICAgICAgICAgICAgIyBwb3RlbnRpYWwgZGVhZGxvY2tzLCB0aHVzIHdlIGRvIGFsbCB0aGlzIGhlcmUuCisgICAgICAgICAgICAgICAgICAgICMgYW5kIHBhc3MgaXQgdG8gZm9ya19leGVjKCkKIAotICAgICAgICAgICAgICAgICAgICBpZiBfcG9zaXhzdWJwcm9jZXNzOgotICAgICAgICAgICAgICAgICAgICAgICAgIyBXZSBtdXN0IGF2b2lkIGNvbXBsZXggd29yayB0aGF0IGNvdWxkIGludm9sdmUKLSAgICAgICAgICAgICAgICAgICAgICAgICMgbWFsbG9jIG9yIGZyZWUgaW4gdGhlIGNoaWxkIHByb2Nlc3MgdG8gYXZvaWQKLSAgICAgICAgICAgICAgICAgICAgICAgICMgcG90ZW50aWFsIGRlYWRsb2NrcywgdGh1cyB3ZSBkbyBhbGwgdGhpcyBoZXJlLgotICAgICAgICAgICAgICAgICAgICAgICAgIyBhbmQgcGFzcyBpdCB0byBmb3JrX2V4ZWMoKQotCi0gICAgICAgICAgICAgICAgICAgICAgICBpZiBlbnYgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgZW52X2xpc3QgPSBbb3MuZnNlbmNvZGUoaykgKyBiJz0nICsgb3MuZnNlbmNvZGUodikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgaywgdiBpbiBlbnYuaXRlbXMoKV0KLSAgICAgICAgICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgZW52X2xpc3QgPSBOb25lICAjIFVzZSBleGVjdiBpbnN0ZWFkIG9mIGV4ZWN2ZS4KLSAgICAgICAgICAgICAgICAgICAgICAgIGV4ZWN1dGFibGUgPSBvcy5mc2VuY29kZShleGVjdXRhYmxlKQotICAgICAgICAgICAgICAgICAgICAgICAgaWYgb3MucGF0aC5kaXJuYW1lKGV4ZWN1dGFibGUpOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4ZWN1dGFibGVfbGlzdCA9IChleGVjdXRhYmxlLCkKLSAgICAgICAgICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBUaGlzIG1hdGNoZXMgdGhlIGJlaGF2aW9yIG9mIG9zLl9leGVjdnBlKCkuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhlY3V0YWJsZV9saXN0ID0gdHVwbGUoCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9zLnBhdGguam9pbihvcy5mc2VuY29kZShkaXIpLCBleGVjdXRhYmxlKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgZGlyIGluIG9zLmdldF9leGVjX3BhdGgoZW52KSkKLSAgICAgICAgICAgICAgICAgICAgICAgIGZkc190b19rZWVwID0gc2V0KHBhc3NfZmRzKQotICAgICAgICAgICAgICAgICAgICAgICAgZmRzX3RvX2tlZXAuYWRkKGVycnBpcGVfd3JpdGUpCi0gICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnBpZCA9IF9wb3NpeHN1YnByb2Nlc3MuZm9ya19leGVjKAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmdzLCBleGVjdXRhYmxlX2xpc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsb3NlX2Zkcywgc29ydGVkKGZkc190b19rZWVwKSwgY3dkLCBlbnZfbGlzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcDJjcmVhZCwgcDJjd3JpdGUsIGMycHJlYWQsIGMycHdyaXRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJyZWFkLCBlcnJ3cml0ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJycGlwZV9yZWFkLCBlcnJwaXBlX3dyaXRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN0b3JlX3NpZ25hbHMsIHN0YXJ0X25ld19zZXNzaW9uLCBwcmVleGVjX2ZuKQotICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fY2hpbGRfY3JlYXRlZCA9IFRydWUKKyAgICAgICAgICAgICAgICAgICAgaWYgZW52IGlzIG5vdCBOb25lOgorICAgICAgICAgICAgICAgICAgICAgICAgZW52X2xpc3QgPSBbb3MuZnNlbmNvZGUoaykgKyBiJz0nICsgb3MuZnNlbmNvZGUodikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciBrLCB2IGluIGVudi5pdGVtcygpXQogICAgICAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICAgICAgIyBQdXJlIFB5dGhvbiBpbXBsZW1lbnRhdGlvbjogSXQgaXMgbm90IHRocmVhZCBzYWZlLgotICAgICAgICAgICAgICAgICAgICAgICAgIyBUaGlzIGltcGxlbWVudGF0aW9uIG1heSBkZWFkbG9jayBpbiB0aGUgY2hpbGQgaWYgeW91cgotICAgICAgICAgICAgICAgICAgICAgICAgIyBwYXJlbnQgcHJvY2VzcyBoYXMgYW55IG90aGVyIHRocmVhZHMgcnVubmluZy4KLQotICAgICAgICAgICAgICAgICAgICAgICAgZ2Nfd2FzX2VuYWJsZWQgPSBnYy5pc2VuYWJsZWQoKQotICAgICAgICAgICAgICAgICAgICAgICAgIyBEaXNhYmxlIGdjIHRvIGF2b2lkIGJ1ZyB3aGVyZSBnYyAtPiBmaWxlX2RlYWxsb2MgLT4KLSAgICAgICAgICAgICAgICAgICAgICAgICMgd3JpdGUgdG8gc3RkZXJyIC0+IGhhbmcuICBTZWUgaXNzdWUxMzM2Ci0gICAgICAgICAgICAgICAgICAgICAgICBnYy5kaXNhYmxlKCkKLSAgICAgICAgICAgICAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnBpZCA9IG9zLmZvcmsoKQotICAgICAgICAgICAgICAgICAgICAgICAgZXhjZXB0OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIGdjX3dhc19lbmFibGVkOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnYy5lbmFibGUoKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlCi0gICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9jaGlsZF9jcmVhdGVkID0gVHJ1ZQotICAgICAgICAgICAgICAgICAgICAgICAgaWYgc2VsZi5waWQgPT0gMDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIENoaWxkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIENsb3NlIHBhcmVudCdzIHBpcGUgZW5kcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiBwMmN3cml0ZSAhPSAtMToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9zLmNsb3NlKHAyY3dyaXRlKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiBjMnByZWFkICE9IC0xOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3MuY2xvc2UoYzJwcmVhZCkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgZXJycmVhZCAhPSAtMToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9zLmNsb3NlKGVycnJlYWQpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9zLmNsb3NlKGVycnBpcGVfcmVhZCkKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIFdoZW4gZHVwaW5nIGZkcywgaWYgdGhlcmUgYXJpc2VzIGEgc2l0dWF0aW9uCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgd2hlcmUgb25lIG9mIHRoZSBmZHMgaXMgZWl0aGVyIDAsIDEgb3IgMiwgaXQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBpcyBwb3NzaWJsZSB0aGF0IGl0IGlzIG92ZXJ3cml0dGVuICgjMTI2MDcpLgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiBjMnB3cml0ZSA9PSAwOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYzJwd3JpdGUgPSBvcy5kdXAoYzJwd3JpdGUpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIGVycndyaXRlID09IDAgb3IgZXJyd3JpdGUgPT0gMToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycndyaXRlID0gb3MuZHVwKGVycndyaXRlKQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgRHVwIGZkcyBmb3IgY2hpbGQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmIF9kdXAyKGEsIGIpOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBkdXAyKCkgcmVtb3ZlcyB0aGUgQ0xPRVhFQyBmbGFnIGJ1dAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyB3ZSBtdXN0IGRvIGl0IG91cnNlbHZlcyBpZiBkdXAyKCkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgd291bGQgYmUgYSBuby1vcCAoaXNzdWUgIzEwODA2KS4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIGEgPT0gYjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfc2V0X2Nsb2V4ZWMoYSwgRmFsc2UpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGlmIGEgIT0gLTE6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3MuZHVwMihhLCBiKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfZHVwMihwMmNyZWFkLCAwKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfZHVwMihjMnB3cml0ZSwgMSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX2R1cDIoZXJyd3JpdGUsIDIpCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBDbG9zZSBwaXBlIGZkcy4gIE1ha2Ugc3VyZSB3ZSBkb24ndCBjbG9zZSB0aGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBzYW1lIGZkIG1vcmUgdGhhbiBvbmNlLCBvciBzdGFuZGFyZCBmZHMuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsb3NlZCA9IHNldCgpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciBmZCBpbiBbcDJjcmVhZCwgYzJwd3JpdGUsIGVycndyaXRlXToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIGZkID4gMiBhbmQgZmQgbm90IGluIGNsb3NlZDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcy5jbG9zZShmZCkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbG9zZWQuYWRkKGZkKQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgQ2xvc2UgYWxsIG90aGVyIGZkcywgaWYgYXNrZWQgZm9yCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIGNsb3NlX2ZkczoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZkc190b19rZWVwID0gc2V0KHBhc3NfZmRzKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmRzX3RvX2tlZXAuYWRkKGVycnBpcGVfd3JpdGUpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9jbG9zZV9mZHMoZmRzX3RvX2tlZXApCi0KLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiBjd2QgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcy5jaGRpcihjd2QpCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBUaGlzIGlzIGEgY29weSBvZiBQeXRob24vcHl0aG9ucnVuLmMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBfUHlfUmVzdG9yZVNpZ25hbHMoKS4gIElmIHRoYXQgd2VyZSBleHBvc2VkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgYXMgYSBzeXMuX3B5X3Jlc3RvcmVzaWduYWxzIGZ1bmMgaXQgd291bGQgYmUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBiZXR0ZXIuLiBidXQgdGhpcyBwdXJlIHB5dGhvbiBpbXBsZW1lbnRhdGlvbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIGlzbid0IGxpa2VseSB0byBiZSB1c2VkIG11Y2ggYW55bW9yZS4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgcmVzdG9yZV9zaWduYWxzOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2lnbmFscyA9ICgnU0lHUElQRScsICdTSUdYRlonLCAnU0lHWEZTWicpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3Igc2lnIGluIHNpZ25hbHM6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgaGFzYXR0cihzaWduYWwsIHNpZyk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpZ25hbC5zaWduYWwoZ2V0YXR0cihzaWduYWwsIHNpZyksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2lnbmFsLlNJR19ERkwpCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgc3RhcnRfbmV3X3Nlc3Npb24gYW5kIGhhc2F0dHIob3MsICdzZXRzaWQnKToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9zLnNldHNpZCgpCi0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgcHJlZXhlY19mbjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZWV4ZWNfZm4oKQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIGVudiBpcyBOb25lOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3MuZXhlY3ZwKGV4ZWN1dGFibGUsIGFyZ3MpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcy5leGVjdnBlKGV4ZWN1dGFibGUsIGFyZ3MsIGVudikKLQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4Y2VwdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhjX3R5cGUsIGV4Y192YWx1ZSA9IHN5cy5leGNfaW5mbygpWzoyXQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgaXNpbnN0YW5jZShleGNfdmFsdWUsIE9TRXJyb3IpOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm5vX251bSA9IGV4Y192YWx1ZS5lcnJubwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJub19udW0gPSAwCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlID0gJyVzOiV4OiVzJyAlIChleGNfdHlwZS5fX25hbWVfXywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm5vX251bSwgZXhjX3ZhbHVlKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZSA9IG1lc3NhZ2UuZW5jb2RlKGVycm9ycz0ic3Vycm9nYXRlcGFzcyIpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcy53cml0ZShlcnJwaXBlX3dyaXRlLCBtZXNzYWdlKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleGNlcHQgRXhjZXB0aW9uOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBXZSBNVVNUIG5vdCBhbGxvdyBhbnl0aGluZyBvZGQgaGFwcGVuaW5nCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIGFib3ZlIHRvIHByZXZlbnQgdXMgZnJvbSBleGl0aW5nIGJlbG93LgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFzcwotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBUaGlzIGV4aXRjb2RlIHdvbid0IGJlIHJlcG9ydGVkIHRvIGFwcGxpY2F0aW9ucwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgc28gaXQgcmVhbGx5IGRvZXNuJ3QgbWF0dGVyIHdoYXQgd2UgcmV0dXJuLgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9zLl9leGl0KDI1NSkKLQotICAgICAgICAgICAgICAgICAgICAgICAgIyBQYXJlbnQKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIGdjX3dhc19lbmFibGVkOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdjLmVuYWJsZSgpCisgICAgICAgICAgICAgICAgICAgICAgICBlbnZfbGlzdCA9IE5vbmUgICMgVXNlIGV4ZWN2IGluc3RlYWQgb2YgZXhlY3ZlLgorICAgICAgICAgICAgICAgICAgICBleGVjdXRhYmxlID0gb3MuZnNlbmNvZGUoZXhlY3V0YWJsZSkKKyAgICAgICAgICAgICAgICAgICAgaWYgb3MucGF0aC5kaXJuYW1lKGV4ZWN1dGFibGUpOgorICAgICAgICAgICAgICAgICAgICAgICAgZXhlY3V0YWJsZV9saXN0ID0gKGV4ZWN1dGFibGUsKQorICAgICAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICAgICAgIyBUaGlzIG1hdGNoZXMgdGhlIGJlaGF2aW9yIG9mIG9zLl9leGVjdnBlKCkuCisgICAgICAgICAgICAgICAgICAgICAgICBleGVjdXRhYmxlX2xpc3QgPSB0dXBsZSgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcy5wYXRoLmpvaW4ob3MuZnNlbmNvZGUoZGlyKSwgZXhlY3V0YWJsZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgZGlyIGluIG9zLmdldF9leGVjX3BhdGgoZW52KSkKKyAgICAgICAgICAgICAgICAgICAgZmRzX3RvX2tlZXAgPSBzZXQocGFzc19mZHMpCisgICAgICAgICAgICAgICAgICAgIGZkc190b19rZWVwLmFkZChlcnJwaXBlX3dyaXRlKQorICAgICAgICAgICAgICAgICAgICBzZWxmLnBpZCA9IF9wb3NpeHN1YnByb2Nlc3MuZm9ya19leGVjKAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyZ3MsIGV4ZWN1dGFibGVfbGlzdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbG9zZV9mZHMsIHNvcnRlZChmZHNfdG9fa2VlcCksIGN3ZCwgZW52X2xpc3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcDJjcmVhZCwgcDJjd3JpdGUsIGMycHJlYWQsIGMycHdyaXRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycnJlYWQsIGVycndyaXRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycnBpcGVfcmVhZCwgZXJycGlwZV93cml0ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN0b3JlX3NpZ25hbHMsIHN0YXJ0X25ld19zZXNzaW9uLCBwcmVleGVjX2ZuKQorICAgICAgICAgICAgICAgICAgICBzZWxmLl9jaGlsZF9jcmVhdGVkID0gVHJ1ZQogICAgICAgICAgICAgICAgIGZpbmFsbHk6CiAgICAgICAgICAgICAgICAgICAgICMgYmUgc3VyZSB0aGUgRkQgaXMgY2xvc2VkIG5vIG1hdHRlciB3aGF0CiAgICAgICAgICAgICAgICAgICAgIG9zLmNsb3NlKGVycnBpcGVfd3JpdGUpCkBAIC0xMzI5LDYgKzEzMDUsOCBAQAogICAgICAgICAgICAgICAgICAgICBvcy5jbG9zZShjMnB3cml0ZSkKICAgICAgICAgICAgICAgICBpZiBlcnJ3cml0ZSAhPSAtMSBhbmQgZXJycmVhZCAhPSAtMToKICAgICAgICAgICAgICAgICAgICAgb3MuY2xvc2UoZXJyd3JpdGUpCisgICAgICAgICAgICAgICAgaWYgaGFzYXR0cihzZWxmLCAnX2Rldm51bGwnKToKKyAgICAgICAgICAgICAgICAgICAgb3MuY2xvc2Uoc2VsZi5fZGV2bnVsbCkKIAogICAgICAgICAgICAgICAgICMgV2FpdCBmb3IgZXhlYyB0byBmYWlsIG9yIHN1Y2NlZWQ7IHBvc3NpYmx5IHJhaXNpbmcgYW4KICAgICAgICAgICAgICAgICAjIGV4Y2VwdGlvbiAobGltaXRlZCBpbiBzaXplKQpAQCAtMTQwNiwyNSArMTM4NCw1NyBAQAogICAgICAgICAgICAgcmV0dXJuIHNlbGYucmV0dXJuY29kZQogCiAKLSAgICAgICAgZGVmIHdhaXQoc2VsZik6CisgICAgICAgIGRlZiBfdHJ5X3dhaXQoc2VsZiwgd2FpdF9mbGFncyk6CisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgKHBpZCwgc3RzKSA9IF9laW50cl9yZXRyeV9jYWxsKG9zLndhaXRwaWQsIHNlbGYucGlkLCB3YWl0X2ZsYWdzKQorICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKKyAgICAgICAgICAgICAgICBpZiBlLmVycm5vICE9IGVycm5vLkVDSElMRDoKKyAgICAgICAgICAgICAgICAgICAgcmFpc2UKKyAgICAgICAgICAgICAgICAjIFRoaXMgaGFwcGVucyBpZiBTSUdDTEQgaXMgc2V0IHRvIGJlIGlnbm9yZWQgb3Igd2FpdGluZworICAgICAgICAgICAgICAgICMgZm9yIGNoaWxkIHByb2Nlc3NlcyBoYXMgb3RoZXJ3aXNlIGJlZW4gZGlzYWJsZWQgZm9yIG91cgorICAgICAgICAgICAgICAgICMgcHJvY2Vzcy4gIFRoaXMgY2hpbGQgaXMgZGVhZCwgd2UgY2FuJ3QgZ2V0IHRoZSBzdGF0dXMuCisgICAgICAgICAgICAgICAgcGlkID0gc2VsZi5waWQKKyAgICAgICAgICAgICAgICBzdHMgPSAwCisgICAgICAgICAgICByZXR1cm4gKHBpZCwgc3RzKQorCisKKyAgICAgICAgZGVmIHdhaXQoc2VsZiwgdGltZW91dD1Ob25lLCBlbmR0aW1lPU5vbmUpOgogICAgICAgICAgICAgIiIiV2FpdCBmb3IgY2hpbGQgcHJvY2VzcyB0byB0ZXJtaW5hdGUuICBSZXR1cm5zIHJldHVybmNvZGUKICAgICAgICAgICAgIGF0dHJpYnV0ZS4iIiIKLSAgICAgICAgICAgIGlmIHNlbGYucmV0dXJuY29kZSBpcyBOb25lOgotICAgICAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICAgICAgcGlkLCBzdHMgPSBfZWludHJfcmV0cnlfY2FsbChvcy53YWl0cGlkLCBzZWxmLnBpZCwgMCkKLSAgICAgICAgICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlOgotICAgICAgICAgICAgICAgICAgICBpZiBlLmVycm5vICE9IGVycm5vLkVDSElMRDoKLSAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlCi0gICAgICAgICAgICAgICAgICAgICMgVGhpcyBoYXBwZW5zIGlmIFNJR0NMRCBpcyBzZXQgdG8gYmUgaWdub3JlZCBvciB3YWl0aW5nCi0gICAgICAgICAgICAgICAgICAgICMgZm9yIGNoaWxkIHByb2Nlc3NlcyBoYXMgb3RoZXJ3aXNlIGJlZW4gZGlzYWJsZWQgZm9yIG91cgotICAgICAgICAgICAgICAgICAgICAjIHByb2Nlc3MuICBUaGlzIGNoaWxkIGlzIGRlYWQsIHdlIGNhbid0IGdldCB0aGUgc3RhdHVzLgotICAgICAgICAgICAgICAgICAgICBzdHMgPSAwCisgICAgICAgICAgICBpZiBzZWxmLnJldHVybmNvZGUgaXMgbm90IE5vbmU6CisgICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYucmV0dXJuY29kZQorCisgICAgICAgICAgICAjIGVuZHRpbWUgaXMgcHJlZmVycmVkIHRvIHRpbWVvdXQuICB0aW1lb3V0IGlzIG9ubHkgdXNlZCBmb3IKKyAgICAgICAgICAgICMgcHJpbnRpbmcuCisgICAgICAgICAgICBpZiBlbmR0aW1lIGlzIG5vdCBOb25lIG9yIHRpbWVvdXQgaXMgbm90IE5vbmU6CisgICAgICAgICAgICAgICAgaWYgZW5kdGltZSBpcyBOb25lOgorICAgICAgICAgICAgICAgICAgICBlbmR0aW1lID0gdGltZS50aW1lKCkgKyB0aW1lb3V0CisgICAgICAgICAgICAgICAgZWxpZiB0aW1lb3V0IGlzIE5vbmU6CisgICAgICAgICAgICAgICAgICAgIHRpbWVvdXQgPSBzZWxmLl9yZW1haW5pbmdfdGltZShlbmR0aW1lKQorCisgICAgICAgICAgICBpZiBlbmR0aW1lIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgICAgICMgRW50ZXIgYSBidXN5IGxvb3AgaWYgd2UgaGF2ZSBhIHRpbWVvdXQuICBUaGlzIGJ1c3kgbG9vcCB3YXMKKyAgICAgICAgICAgICAgICAjIGNyaWJiZWQgZnJvbSBMaWIvdGhyZWFkaW5nLnB5IGluIFRocmVhZC53YWl0KCkgYXQgcjcxMDY1LgorICAgICAgICAgICAgICAgIGRlbGF5ID0gMC4wMDA1ICMgNTAwIHVzIC0+IGluaXRpYWwgZGVsYXkgb2YgMSBtcworICAgICAgICAgICAgICAgIHdoaWxlIFRydWU6CisgICAgICAgICAgICAgICAgICAgIChwaWQsIHN0cykgPSBzZWxmLl90cnlfd2FpdChvcy5XTk9IQU5HKQorICAgICAgICAgICAgICAgICAgICBhc3NlcnQgcGlkID09IHNlbGYucGlkIG9yIHBpZCA9PSAwCisgICAgICAgICAgICAgICAgICAgIGlmIHBpZCA9PSBzZWxmLnBpZDoKKyAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX2hhbmRsZV9leGl0c3RhdHVzKHN0cykKKyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgICAgICAgICAgICAgIHJlbWFpbmluZyA9IHNlbGYuX3JlbWFpbmluZ190aW1lKGVuZHRpbWUpCisgICAgICAgICAgICAgICAgICAgIGlmIHJlbWFpbmluZyA8PSAwOgorICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2UgVGltZW91dEV4cGlyZWQoc2VsZi5hcmdzLCB0aW1lb3V0KQorICAgICAgICAgICAgICAgICAgICBkZWxheSA9IG1pbihkZWxheSAqIDIsIHJlbWFpbmluZywgLjA1KQorICAgICAgICAgICAgICAgICAgICB0aW1lLnNsZWVwKGRlbGF5KQorICAgICAgICAgICAgZWxpZiBzZWxmLnJldHVybmNvZGUgaXMgTm9uZToKKyAgICAgICAgICAgICAgICAocGlkLCBzdHMpID0gc2VsZi5fdHJ5X3dhaXQoMCkKICAgICAgICAgICAgICAgICBzZWxmLl9oYW5kbGVfZXhpdHN0YXR1cyhzdHMpCiAgICAgICAgICAgICByZXR1cm4gc2VsZi5yZXR1cm5jb2RlCiAKIAotICAgICAgICBkZWYgX2NvbW11bmljYXRlKHNlbGYsIGlucHV0KToKLSAgICAgICAgICAgIGlmIHNlbGYuc3RkaW46CisgICAgICAgIGRlZiBfY29tbXVuaWNhdGUoc2VsZiwgaW5wdXQsIGVuZHRpbWUsIG9yaWdfdGltZW91dCk6CisgICAgICAgICAgICBpZiBzZWxmLnN0ZGluIGFuZCBub3Qgc2VsZi5fY29tbXVuaWNhdGlvbl9zdGFydGVkOgogICAgICAgICAgICAgICAgICMgRmx1c2ggc3RkaW8gYnVmZmVyLiAgVGhpcyBtaWdodCBibG9jaywgaWYgdGhlIHVzZXIgaGFzCiAgICAgICAgICAgICAgICAgIyBiZWVuIHdyaXRpbmcgdG8gLnN0ZGluIGluIGFuIHVuY29udHJvbGxlZCBmYXNoaW9uLgogICAgICAgICAgICAgICAgIHNlbGYuc3RkaW4uZmx1c2goKQpAQCAtMTQzMiw5ICsxNDQyLDEzIEBACiAgICAgICAgICAgICAgICAgICAgIHNlbGYuc3RkaW4uY2xvc2UoKQogCiAgICAgICAgICAgICBpZiBfaGFzX3BvbGw6Ci0gICAgICAgICAgICAgICAgc3Rkb3V0LCBzdGRlcnIgPSBzZWxmLl9jb21tdW5pY2F0ZV93aXRoX3BvbGwoaW5wdXQpCisgICAgICAgICAgICAgICAgc3Rkb3V0LCBzdGRlcnIgPSBzZWxmLl9jb21tdW5pY2F0ZV93aXRoX3BvbGwoaW5wdXQsIGVuZHRpbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3JpZ190aW1lb3V0KQogICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBzdGRvdXQsIHN0ZGVyciA9IHNlbGYuX2NvbW11bmljYXRlX3dpdGhfc2VsZWN0KGlucHV0KQorICAgICAgICAgICAgICAgIHN0ZG91dCwgc3RkZXJyID0gc2VsZi5fY29tbXVuaWNhdGVfd2l0aF9zZWxlY3QoaW5wdXQsIGVuZHRpbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcmlnX3RpbWVvdXQpCisKKyAgICAgICAgICAgIHNlbGYud2FpdCh0aW1lb3V0PXNlbGYuX3JlbWFpbmluZ190aW1lKGVuZHRpbWUpKQogCiAgICAgICAgICAgICAjIEFsbCBkYXRhIGV4Y2hhbmdlZC4gIFRyYW5zbGF0ZSBsaXN0cyBpbnRvIHN0cmluZ3MuCiAgICAgICAgICAgICBpZiBzdGRvdXQgaXMgbm90IE5vbmU6CkBAIC0xNDUyLDY3ICsxNDY2LDg3IEBACiAgICAgICAgICAgICAgICAgICAgIHN0ZGVyciA9IHNlbGYuX3RyYW5zbGF0ZV9uZXdsaW5lcyhzdGRlcnIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnN0ZGVyci5lbmNvZGluZykKIAotICAgICAgICAgICAgc2VsZi53YWl0KCkKICAgICAgICAgICAgIHJldHVybiAoc3Rkb3V0LCBzdGRlcnIpCiAKIAotICAgICAgICBkZWYgX2NvbW11bmljYXRlX3dpdGhfcG9sbChzZWxmLCBpbnB1dCk6CisgICAgICAgIGRlZiBfY29tbXVuaWNhdGVfd2l0aF9wb2xsKHNlbGYsIGlucHV0LCBlbmR0aW1lLCBvcmlnX3RpbWVvdXQpOgogICAgICAgICAgICAgc3Rkb3V0ID0gTm9uZSAjIFJldHVybgogICAgICAgICAgICAgc3RkZXJyID0gTm9uZSAjIFJldHVybgotICAgICAgICAgICAgZmQyZmlsZSA9IHt9Ci0gICAgICAgICAgICBmZDJvdXRwdXQgPSB7fQorCisgICAgICAgICAgICBpZiBub3Qgc2VsZi5fY29tbXVuaWNhdGlvbl9zdGFydGVkOgorICAgICAgICAgICAgICAgIHNlbGYuX2ZkMmZpbGUgPSB7fQogCiAgICAgICAgICAgICBwb2xsZXIgPSBzZWxlY3QucG9sbCgpCiAgICAgICAgICAgICBkZWYgcmVnaXN0ZXJfYW5kX2FwcGVuZChmaWxlX29iaiwgZXZlbnRtYXNrKToKICAgICAgICAgICAgICAgICBwb2xsZXIucmVnaXN0ZXIoZmlsZV9vYmouZmlsZW5vKCksIGV2ZW50bWFzaykKLSAgICAgICAgICAgICAgICBmZDJmaWxlW2ZpbGVfb2JqLmZpbGVubygpXSA9IGZpbGVfb2JqCisgICAgICAgICAgICAgICAgc2VsZi5fZmQyZmlsZVtmaWxlX29iai5maWxlbm8oKV0gPSBmaWxlX29iagogCiAgICAgICAgICAgICBkZWYgY2xvc2VfdW5yZWdpc3Rlcl9hbmRfcmVtb3ZlKGZkKToKICAgICAgICAgICAgICAgICBwb2xsZXIudW5yZWdpc3RlcihmZCkKLSAgICAgICAgICAgICAgICBmZDJmaWxlW2ZkXS5jbG9zZSgpCi0gICAgICAgICAgICAgICAgZmQyZmlsZS5wb3AoZmQpCisgICAgICAgICAgICAgICAgc2VsZi5fZmQyZmlsZVtmZF0uY2xvc2UoKQorICAgICAgICAgICAgICAgIHNlbGYuX2ZkMmZpbGUucG9wKGZkKQogCiAgICAgICAgICAgICBpZiBzZWxmLnN0ZGluIGFuZCBpbnB1dDoKICAgICAgICAgICAgICAgICByZWdpc3Rlcl9hbmRfYXBwZW5kKHNlbGYuc3RkaW4sIHNlbGVjdC5QT0xMT1VUKQogCisgICAgICAgICAgICAjIE9ubHkgY3JlYXRlIHRoaXMgbWFwcGluZyBpZiB3ZSBoYXZlbid0IGFscmVhZHkuCisgICAgICAgICAgICBpZiBub3Qgc2VsZi5fY29tbXVuaWNhdGlvbl9zdGFydGVkOgorICAgICAgICAgICAgICAgIHNlbGYuX2ZkMm91dHB1dCA9IHt9CisgICAgICAgICAgICAgICAgaWYgc2VsZi5zdGRvdXQ6CisgICAgICAgICAgICAgICAgICAgIHNlbGYuX2ZkMm91dHB1dFtzZWxmLnN0ZG91dC5maWxlbm8oKV0gPSBbXQorICAgICAgICAgICAgICAgIGlmIHNlbGYuc3RkZXJyOgorICAgICAgICAgICAgICAgICAgICBzZWxmLl9mZDJvdXRwdXRbc2VsZi5zdGRlcnIuZmlsZW5vKCldID0gW10KKwogICAgICAgICAgICAgc2VsZWN0X1BPTExJTl9QT0xMUFJJID0gc2VsZWN0LlBPTExJTiB8IHNlbGVjdC5QT0xMUFJJCiAgICAgICAgICAgICBpZiBzZWxmLnN0ZG91dDoKICAgICAgICAgICAgICAgICByZWdpc3Rlcl9hbmRfYXBwZW5kKHNlbGYuc3Rkb3V0LCBzZWxlY3RfUE9MTElOX1BPTExQUkkpCi0gICAgICAgICAgICAgICAgZmQyb3V0cHV0W3NlbGYuc3Rkb3V0LmZpbGVubygpXSA9IHN0ZG91dCA9IFtdCisgICAgICAgICAgICAgICAgc3Rkb3V0ID0gc2VsZi5fZmQyb3V0cHV0W3NlbGYuc3Rkb3V0LmZpbGVubygpXQogICAgICAgICAgICAgaWYgc2VsZi5zdGRlcnI6CiAgICAgICAgICAgICAgICAgcmVnaXN0ZXJfYW5kX2FwcGVuZChzZWxmLnN0ZGVyciwgc2VsZWN0X1BPTExJTl9QT0xMUFJJKQotICAgICAgICAgICAgICAgIGZkMm91dHB1dFtzZWxmLnN0ZGVyci5maWxlbm8oKV0gPSBzdGRlcnIgPSBbXQorICAgICAgICAgICAgICAgIHN0ZGVyciA9IHNlbGYuX2ZkMm91dHB1dFtzZWxmLnN0ZGVyci5maWxlbm8oKV0KIAotICAgICAgICAgICAgaW5wdXRfb2Zmc2V0ID0gMAotICAgICAgICAgICAgd2hpbGUgZmQyZmlsZToKKyAgICAgICAgICAgICMgU2F2ZSB0aGUgaW5wdXQgaGVyZSBzbyB0aGF0IGlmIHdlIHRpbWUgb3V0IHdoaWxlIGNvbW11bmljYXRpbmcsCisgICAgICAgICAgICAjIHdlIGNhbiBjb250aW51ZSBzZW5kaW5nIGlucHV0IGlmIHdlIHJldHJ5LgorICAgICAgICAgICAgaWYgc2VsZi5zdGRpbiBhbmQgc2VsZi5faW5wdXQgaXMgTm9uZToKKyAgICAgICAgICAgICAgICBzZWxmLl9pbnB1dF9vZmZzZXQgPSAwCisgICAgICAgICAgICAgICAgc2VsZi5faW5wdXQgPSBpbnB1dAorICAgICAgICAgICAgICAgIGlmIHNlbGYudW5pdmVyc2FsX25ld2xpbmVzOgorICAgICAgICAgICAgICAgICAgICBzZWxmLl9pbnB1dCA9IHNlbGYuX2lucHV0LmVuY29kZShzZWxmLnN0ZGluLmVuY29kaW5nKQorCisgICAgICAgICAgICB3aGlsZSBzZWxmLl9mZDJmaWxlOgorICAgICAgICAgICAgICAgIHRpbWVvdXQgPSBzZWxmLl9yZW1haW5pbmdfdGltZShlbmR0aW1lKQorICAgICAgICAgICAgICAgIGlmIHRpbWVvdXQgaXMgbm90IE5vbmUgYW5kIHRpbWVvdXQgPCAwOgorICAgICAgICAgICAgICAgICAgICByYWlzZSBUaW1lb3V0RXhwaXJlZChzZWxmLmFyZ3MsIG9yaWdfdGltZW91dCkKICAgICAgICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgICAgIHJlYWR5ID0gcG9sbGVyLnBvbGwoKQorICAgICAgICAgICAgICAgICAgICByZWFkeSA9IHBvbGxlci5wb2xsKHRpbWVvdXQpCiAgICAgICAgICAgICAgICAgZXhjZXB0IHNlbGVjdC5lcnJvciBhcyBlOgogICAgICAgICAgICAgICAgICAgICBpZiBlLmFyZ3NbMF0gPT0gZXJybm8uRUlOVFI6CiAgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICAgICAgICAgICAgICByYWlzZQorICAgICAgICAgICAgICAgIHNlbGYuX2NoZWNrX3RpbWVvdXQoZW5kdGltZSwgb3JpZ190aW1lb3V0KQogCiAgICAgICAgICAgICAgICAgIyBYWFggUmV3cml0ZSB0aGVzZSB0byB1c2Ugbm9uLWJsb2NraW5nIEkvTyBvbiB0aGUKICAgICAgICAgICAgICAgICAjIGZpbGUgb2JqZWN0czsgdGhleSBhcmUgbm8gbG9uZ2VyIHVzaW5nIEMgc3RkaW8hCiAKICAgICAgICAgICAgICAgICBmb3IgZmQsIG1vZGUgaW4gcmVhZHk6CiAgICAgICAgICAgICAgICAgICAgIGlmIG1vZGUgJiBzZWxlY3QuUE9MTE9VVDoKLSAgICAgICAgICAgICAgICAgICAgICAgIGNodW5rID0gaW5wdXRbaW5wdXRfb2Zmc2V0IDogaW5wdXRfb2Zmc2V0ICsgX1BJUEVfQlVGXQorICAgICAgICAgICAgICAgICAgICAgICAgY2h1bmsgPSBzZWxmLl9pbnB1dFtzZWxmLl9pbnB1dF9vZmZzZXQgOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9pbnB1dF9vZmZzZXQgKyBfUElQRV9CVUZdCiAgICAgICAgICAgICAgICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5wdXRfb2Zmc2V0ICs9IG9zLndyaXRlKGZkLCBjaHVuaykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9pbnB1dF9vZmZzZXQgKz0gb3Mud3JpdGUoZmQsIGNodW5rKQogICAgICAgICAgICAgICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiBlLmVycm5vID09IGVycm5vLkVQSVBFOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbG9zZV91bnJlZ2lzdGVyX2FuZF9yZW1vdmUoZmQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2UKICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgaW5wdXRfb2Zmc2V0ID49IGxlbihpbnB1dCk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgc2VsZi5faW5wdXRfb2Zmc2V0ID49IGxlbihzZWxmLl9pbnB1dCk6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsb3NlX3VucmVnaXN0ZXJfYW5kX3JlbW92ZShmZCkKICAgICAgICAgICAgICAgICAgICAgZWxpZiBtb2RlICYgc2VsZWN0X1BPTExJTl9QT0xMUFJJOgogICAgICAgICAgICAgICAgICAgICAgICAgZGF0YSA9IG9zLnJlYWQoZmQsIDQwOTYpCiAgICAgICAgICAgICAgICAgICAgICAgICBpZiBub3QgZGF0YToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbG9zZV91bnJlZ2lzdGVyX2FuZF9yZW1vdmUoZmQpCi0gICAgICAgICAgICAgICAgICAgICAgICBmZDJvdXRwdXRbZmRdLmFwcGVuZChkYXRhKQorICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fZmQyb3V0cHV0W2ZkXS5hcHBlbmQoZGF0YSkKICAgICAgICAgICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAgICAgICAgICMgSWdub3JlIGhhbmcgdXAgb3IgZXJyb3JzLgogICAgICAgICAgICAgICAgICAgICAgICAgY2xvc2VfdW5yZWdpc3Rlcl9hbmRfcmVtb3ZlKGZkKQpAQCAtMTUyMCw2MSArMTU1NCw4NyBAQAogICAgICAgICAgICAgcmV0dXJuIChzdGRvdXQsIHN0ZGVycikKIAogCi0gICAgICAgIGRlZiBfY29tbXVuaWNhdGVfd2l0aF9zZWxlY3Qoc2VsZiwgaW5wdXQpOgotICAgICAgICAgICAgcmVhZF9zZXQgPSBbXQotICAgICAgICAgICAgd3JpdGVfc2V0ID0gW10KKyAgICAgICAgZGVmIF9jb21tdW5pY2F0ZV93aXRoX3NlbGVjdChzZWxmLCBpbnB1dCwgZW5kdGltZSwgb3JpZ190aW1lb3V0KToKKyAgICAgICAgICAgIGlmIG5vdCBzZWxmLl9jb21tdW5pY2F0aW9uX3N0YXJ0ZWQ6CisgICAgICAgICAgICAgICAgc2VsZi5fcmVhZF9zZXQgPSBbXQorICAgICAgICAgICAgICAgIHNlbGYuX3dyaXRlX3NldCA9IFtdCisgICAgICAgICAgICAgICAgaWYgc2VsZi5zdGRpbiBhbmQgaW5wdXQ6CisgICAgICAgICAgICAgICAgICAgIHNlbGYuX3dyaXRlX3NldC5hcHBlbmQoc2VsZi5zdGRpbikKKyAgICAgICAgICAgICAgICBpZiBzZWxmLnN0ZG91dDoKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5fcmVhZF9zZXQuYXBwZW5kKHNlbGYuc3Rkb3V0KQorICAgICAgICAgICAgICAgIGlmIHNlbGYuc3RkZXJyOgorICAgICAgICAgICAgICAgICAgICBzZWxmLl9yZWFkX3NldC5hcHBlbmQoc2VsZi5zdGRlcnIpCisKKyAgICAgICAgICAgIGlmIHNlbGYuc3RkaW4gYW5kIHNlbGYuX2lucHV0IGlzIE5vbmU6CisgICAgICAgICAgICAgICAgc2VsZi5faW5wdXRfb2Zmc2V0ID0gMAorICAgICAgICAgICAgICAgIHNlbGYuX2lucHV0ID0gaW5wdXQKKyAgICAgICAgICAgICAgICBpZiBzZWxmLnVuaXZlcnNhbF9uZXdsaW5lczoKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5faW5wdXQgPSBzZWxmLl9pbnB1dC5lbmNvZGUoc2VsZi5zdGRpbi5lbmNvZGluZykKKwogICAgICAgICAgICAgc3Rkb3V0ID0gTm9uZSAjIFJldHVybgogICAgICAgICAgICAgc3RkZXJyID0gTm9uZSAjIFJldHVybgogCi0gICAgICAgICAgICBpZiBzZWxmLnN0ZGluIGFuZCBpbnB1dDoKLSAgICAgICAgICAgICAgICB3cml0ZV9zZXQuYXBwZW5kKHNlbGYuc3RkaW4pCiAgICAgICAgICAgICBpZiBzZWxmLnN0ZG91dDoKLSAgICAgICAgICAgICAgICByZWFkX3NldC5hcHBlbmQoc2VsZi5zdGRvdXQpCi0gICAgICAgICAgICAgICAgc3Rkb3V0ID0gW10KKyAgICAgICAgICAgICAgICBpZiBub3Qgc2VsZi5fY29tbXVuaWNhdGlvbl9zdGFydGVkOgorICAgICAgICAgICAgICAgICAgICBzZWxmLl9zdGRvdXRfYnVmZiA9IFtdCisgICAgICAgICAgICAgICAgc3Rkb3V0ID0gc2VsZi5fc3Rkb3V0X2J1ZmYKICAgICAgICAgICAgIGlmIHNlbGYuc3RkZXJyOgotICAgICAgICAgICAgICAgIHJlYWRfc2V0LmFwcGVuZChzZWxmLnN0ZGVycikKLSAgICAgICAgICAgICAgICBzdGRlcnIgPSBbXQorICAgICAgICAgICAgICAgIGlmIG5vdCBzZWxmLl9jb21tdW5pY2F0aW9uX3N0YXJ0ZWQ6CisgICAgICAgICAgICAgICAgICAgIHNlbGYuX3N0ZGVycl9idWZmID0gW10KKyAgICAgICAgICAgICAgICBzdGRlcnIgPSBzZWxmLl9zdGRlcnJfYnVmZgogCi0gICAgICAgICAgICBpbnB1dF9vZmZzZXQgPSAwCi0gICAgICAgICAgICB3aGlsZSByZWFkX3NldCBvciB3cml0ZV9zZXQ6CisgICAgICAgICAgICB3aGlsZSBzZWxmLl9yZWFkX3NldCBvciBzZWxmLl93cml0ZV9zZXQ6CisgICAgICAgICAgICAgICAgdGltZW91dCA9IHNlbGYuX3JlbWFpbmluZ190aW1lKGVuZHRpbWUpCisgICAgICAgICAgICAgICAgaWYgdGltZW91dCBpcyBub3QgTm9uZSBhbmQgdGltZW91dCA8IDA6CisgICAgICAgICAgICAgICAgICAgIHJhaXNlIFRpbWVvdXRFeHBpcmVkKHNlbGYuYXJncywgb3JpZ190aW1lb3V0KQogICAgICAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICAgICAgcmxpc3QsIHdsaXN0LCB4bGlzdCA9IHNlbGVjdC5zZWxlY3QocmVhZF9zZXQsIHdyaXRlX3NldCwgW10pCisgICAgICAgICAgICAgICAgICAgIChybGlzdCwgd2xpc3QsIHhsaXN0KSA9IFwKKyAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdC5zZWxlY3Qoc2VsZi5fcmVhZF9zZXQsIHNlbGYuX3dyaXRlX3NldCwgW10sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVvdXQpCiAgICAgICAgICAgICAgICAgZXhjZXB0IHNlbGVjdC5lcnJvciBhcyBlOgogICAgICAgICAgICAgICAgICAgICBpZiBlLmFyZ3NbMF0gPT0gZXJybm8uRUlOVFI6CiAgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICAgICAgICAgICAgICByYWlzZQogCisgICAgICAgICAgICAgICAgIyBBY2NvcmRpbmcgdG8gdGhlIGRvY3MsIHJldHVybmluZyB0aHJlZSBlbXB0eSBsaXN0cyBpbmRpY2F0ZXMKKyAgICAgICAgICAgICAgICAjIHRoYXQgdGhlIHRpbWVvdXQgZXhwaXJlZC4KKyAgICAgICAgICAgICAgICBpZiBub3QgKHJsaXN0IG9yIHdsaXN0IG9yIHhsaXN0KToKKyAgICAgICAgICAgICAgICAgICAgcmFpc2UgVGltZW91dEV4cGlyZWQoc2VsZi5hcmdzLCBvcmlnX3RpbWVvdXQpCisgICAgICAgICAgICAgICAgIyBXZSBhbHNvIGNoZWNrIHdoYXQgdGltZSBpdCBpcyBvdXJzZWx2ZXMgZm9yIGdvb2QgbWVhc3VyZS4KKyAgICAgICAgICAgICAgICBzZWxmLl9jaGVja190aW1lb3V0KGVuZHRpbWUsIG9yaWdfdGltZW91dCkKKwogICAgICAgICAgICAgICAgICMgWFhYIFJld3JpdGUgdGhlc2UgdG8gdXNlIG5vbi1ibG9ja2luZyBJL08gb24gdGhlCiAgICAgICAgICAgICAgICAgIyBmaWxlIG9iamVjdHM7IHRoZXkgYXJlIG5vIGxvbmdlciB1c2luZyBDIHN0ZGlvIQogCiAgICAgICAgICAgICAgICAgaWYgc2VsZi5zdGRpbiBpbiB3bGlzdDoKLSAgICAgICAgICAgICAgICAgICAgY2h1bmsgPSBpbnB1dFtpbnB1dF9vZmZzZXQgOiBpbnB1dF9vZmZzZXQgKyBfUElQRV9CVUZdCisgICAgICAgICAgICAgICAgICAgIGNodW5rID0gc2VsZi5faW5wdXRbc2VsZi5faW5wdXRfb2Zmc2V0IDoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9pbnB1dF9vZmZzZXQgKyBfUElQRV9CVUZdCiAgICAgICAgICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICAgICAgICAgIGJ5dGVzX3dyaXR0ZW4gPSBvcy53cml0ZShzZWxmLnN0ZGluLmZpbGVubygpLCBjaHVuaykKICAgICAgICAgICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKICAgICAgICAgICAgICAgICAgICAgICAgIGlmIGUuZXJybm8gPT0gZXJybm8uRVBJUEU6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zdGRpbi5jbG9zZSgpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgd3JpdGVfc2V0LnJlbW92ZShzZWxmLnN0ZGluKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX3dyaXRlX3NldC5yZW1vdmUoc2VsZi5zdGRpbikKICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2UKICAgICAgICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0X29mZnNldCArPSBieXRlc193cml0dGVuCi0gICAgICAgICAgICAgICAgICAgICAgICBpZiBpbnB1dF9vZmZzZXQgPj0gbGVuKGlucHV0KToKKyAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX2lucHV0X29mZnNldCArPSBieXRlc193cml0dGVuCisgICAgICAgICAgICAgICAgICAgICAgICBpZiBzZWxmLl9pbnB1dF9vZmZzZXQgPj0gbGVuKHNlbGYuX2lucHV0KToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnN0ZGluLmNsb3NlKCkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB3cml0ZV9zZXQucmVtb3ZlKHNlbGYuc3RkaW4pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fd3JpdGVfc2V0LnJlbW92ZShzZWxmLnN0ZGluKQogCiAgICAgICAgICAgICAgICAgaWYgc2VsZi5zdGRvdXQgaW4gcmxpc3Q6CiAgICAgICAgICAgICAgICAgICAgIGRhdGEgPSBvcy5yZWFkKHNlbGYuc3Rkb3V0LmZpbGVubygpLCAxMDI0KQogICAgICAgICAgICAgICAgICAgICBpZiBub3QgZGF0YToKICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc3Rkb3V0LmNsb3NlKCkKLSAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRfc2V0LnJlbW92ZShzZWxmLnN0ZG91dCkKKyAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX3JlYWRfc2V0LnJlbW92ZShzZWxmLnN0ZG91dCkKICAgICAgICAgICAgICAgICAgICAgc3Rkb3V0LmFwcGVuZChkYXRhKQogCiAgICAgICAgICAgICAgICAgaWYgc2VsZi5zdGRlcnIgaW4gcmxpc3Q6CiAgICAgICAgICAgICAgICAgICAgIGRhdGEgPSBvcy5yZWFkKHNlbGYuc3RkZXJyLmZpbGVubygpLCAxMDI0KQogICAgICAgICAgICAgICAgICAgICBpZiBub3QgZGF0YToKICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc3RkZXJyLmNsb3NlKCkKLSAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRfc2V0LnJlbW92ZShzZWxmLnN0ZGVycikKKyAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX3JlYWRfc2V0LnJlbW92ZShzZWxmLnN0ZGVycikKICAgICAgICAgICAgICAgICAgICAgc3RkZXJyLmFwcGVuZChkYXRhKQogCiAgICAgICAgICAgICByZXR1cm4gKHN0ZG91dCwgc3RkZXJyKQpAQCAtMTU5NCw2OCArMTY1NCwzIEBACiAgICAgICAgICAgICAiIiJLaWxsIHRoZSBwcm9jZXNzIHdpdGggU0lHS0lMTAogICAgICAgICAgICAgIiIiCiAgICAgICAgICAgICBzZWxmLnNlbmRfc2lnbmFsKHNpZ25hbC5TSUdLSUxMKQotCi0KLWRlZiBfZGVtb19wb3NpeCgpOgotICAgICMKLSAgICAjIEV4YW1wbGUgMTogU2ltcGxlIHJlZGlyZWN0aW9uOiBHZXQgcHJvY2VzcyBsaXN0Ci0gICAgIwotICAgIHBsaXN0ID0gUG9wZW4oWyJwcyJdLCBzdGRvdXQ9UElQRSkuY29tbXVuaWNhdGUoKVswXQotICAgIHByaW50KCJQcm9jZXNzIGxpc3Q6IikKLSAgICBwcmludChwbGlzdCkKLQotICAgICMKLSAgICAjIEV4YW1wbGUgMjogQ2hhbmdlIHVpZCBiZWZvcmUgZXhlY3V0aW5nIGNoaWxkCi0gICAgIwotICAgIGlmIG9zLmdldHVpZCgpID09IDA6Ci0gICAgICAgIHAgPSBQb3BlbihbImlkIl0sIHByZWV4ZWNfZm49bGFtYmRhOiBvcy5zZXR1aWQoMTAwKSkKLSAgICAgICAgcC53YWl0KCkKLQotICAgICMKLSAgICAjIEV4YW1wbGUgMzogQ29ubmVjdGluZyBzZXZlcmFsIHN1YnByb2Nlc3NlcwotICAgICMKLSAgICBwcmludCgiTG9va2luZyBmb3IgJ2hkYScuLi4iKQotICAgIHAxID0gUG9wZW4oWyJkbWVzZyJdLCBzdGRvdXQ9UElQRSkKLSAgICBwMiA9IFBvcGVuKFsiZ3JlcCIsICJoZGEiXSwgc3RkaW49cDEuc3Rkb3V0LCBzdGRvdXQ9UElQRSkKLSAgICBwcmludChyZXByKHAyLmNvbW11bmljYXRlKClbMF0pKQotCi0gICAgIwotICAgICMgRXhhbXBsZSA0OiBDYXRjaCBleGVjdXRpb24gZXJyb3IKLSAgICAjCi0gICAgcHJpbnQoKQotICAgIHByaW50KCJUcnlpbmcgYSB3ZWlyZCBmaWxlLi4uIikKLSAgICB0cnk6Ci0gICAgICAgIHByaW50KFBvcGVuKFsiL3RoaXMvcGF0aC9kb2VzL25vdC9leGlzdCJdKS5jb21tdW5pY2F0ZSgpKQotICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGU6Ci0gICAgICAgIGlmIGUuZXJybm8gPT0gZXJybm8uRU5PRU5UOgotICAgICAgICAgICAgcHJpbnQoIlRoZSBmaWxlIGRpZG4ndCBleGlzdC4gIEkgdGhvdWdodCBzby4uLiIpCi0gICAgICAgICAgICBwcmludCgiQ2hpbGQgdHJhY2ViYWNrOiIpCi0gICAgICAgICAgICBwcmludChlLmNoaWxkX3RyYWNlYmFjaykKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHByaW50KCJFcnJvciIsIGUuZXJybm8pCi0gICAgZWxzZToKLSAgICAgICAgcHJpbnQoIkdvc2guICBObyBlcnJvci4iLCBmaWxlPXN5cy5zdGRlcnIpCi0KLQotZGVmIF9kZW1vX3dpbmRvd3MoKToKLSAgICAjCi0gICAgIyBFeGFtcGxlIDE6IENvbm5lY3Rpbmcgc2V2ZXJhbCBzdWJwcm9jZXNzZXMKLSAgICAjCi0gICAgcHJpbnQoIkxvb2tpbmcgZm9yICdQUk9NUFQnIGluIHNldCBvdXRwdXQuLi4iKQotICAgIHAxID0gUG9wZW4oInNldCIsIHN0ZG91dD1QSVBFLCBzaGVsbD1UcnVlKQotICAgIHAyID0gUG9wZW4oJ2ZpbmQgIlBST01QVCInLCBzdGRpbj1wMS5zdGRvdXQsIHN0ZG91dD1QSVBFKQotICAgIHByaW50KHJlcHIocDIuY29tbXVuaWNhdGUoKVswXSkpCi0KLSAgICAjCi0gICAgIyBFeGFtcGxlIDI6IFNpbXBsZSBleGVjdXRpb24gb2YgcHJvZ3JhbQotICAgICMKLSAgICBwcmludCgiRXhlY3V0aW5nIGNhbGMuLi4iKQotICAgIHAgPSBQb3BlbigiY2FsYyIpCi0gICAgcC53YWl0KCkKLQotCi1pZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgotICAgIGlmIG1zd2luZG93czoKLSAgICAgICAgX2RlbW9fd2luZG93cygpCi0gICAgZWxzZToKLSAgICAgICAgX2RlbW9fcG9zaXgoKQpkaWZmIC0tZ2l0IGEvTGliL3N5c2NvbmZpZy5jZmcgYi9MaWIvc3lzY29uZmlnLmNmZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NjVjMGViCi0tLSAvZGV2L251bGwKKysrIGIvTGliL3N5c2NvbmZpZy5jZmcKQEAgLTAsMCArMSwxMTEgQEAKK1tnbG9iYWxzXQorIyBUaGVzZSBhcmUgdXNlZnVsIGNhdGVnb3JpZXMgdGhhdCBjYW4gYmUgcmVmZXJlbmNlZCBhdCBydW4gdGltZSwKKyMgdXNpbmcgcGFja2FnaW5nLmRhdGFiYXNlLmdldF9maWxlLgorIyBDb25maWd1cmF0aW9uIGZpbGVzCitjb25maWcgPSB7Y29uZmRpcn0ve2Rpc3RyaWJ1dGlvbi5uYW1lfQorIyBOb24td3JpdGFibGUgZGF0YSB0aGF0IGlzIGluZGVwZW5kZW50IG9mIGFyY2hpdGVjdHVyZSAoaW1hZ2VzLCBtYW55IHhtbC90ZXh0IGZpbGVzKQorYXBwZGF0YSA9IHtkYXRhZGlyfS97ZGlzdHJpYnV0aW9uLm5hbWV9CisjIE5vbi13cml0YWJsZSBkYXRhIHRoYXQgaXMgYXJjaGl0ZWN0dXJlLWRlcGVuZGVudCAoc29tZSBiaW5hcnkgZGF0YSBmb3JtYXRzKQorYXBwZGF0YS5hcmNoID0ge2xpYmRpcn0ve2Rpc3RyaWJ1dGlvbi5uYW1lfQorIyBEYXRhLCB3cml0dGVuIGJ5IHRoZSBhcHAvbGliLCB0aGF0IG11c3QgYmUgcHJlc2VydmVkIChkYXRhYmFzZXMpCithcHBkYXRhLnBlcnNpc3RlbnQgPSB7c3RhdGVkaXJ9L2xpYi97ZGlzdHJpYnV0aW9uLm5hbWV9CisjIERhdGEsIHdyaXR0ZW4gYnkgdGhlIGFwcC9saWIsIHRoYXQgY2FuIGJlIHNhZmVseSBkaXNjYXJkZWQgKGNhY2hlKQorYXBwZGF0YS5kaXNwb3NhYmxlID0ge3N0YXRlZGlyfS9jYWNoZS97ZGlzdHJpYnV0aW9uLm5hbWV9CisjIEhlbHAgb3IgZG9jdW1lbnRhdGlvbiBmaWxlcworaGVscCA9IHtkYXRhZGlyfS97ZGlzdHJpYnV0aW9uLm5hbWV9CitpY29uID0ge2RhdGFkaXJ9L3BpeG1hcHMKK3NjcmlwdHMgPSB7YmFzZX0vYmluCisKKyMgTm9uLXJ1bnRpbWUgZmlsZXMuICBUaGVzZSBhcmUgdmFsaWQgY2F0ZWdvcmllcyBmb3IgbWFya2luZyBmaWxlcyBmb3IKKyMgaW5zdGFsbCwgYnV0IHRoZXkgc2hvdWxkIG5vdCBiZSByZWZlcmVuY2VkIGJ5IHRoZSBhcHAvbGliIGF0IHJ1biB0aW1lLgorIyBIZWxwIG9yIGRvY3VtZW50YXRpb24gZmlsZXMKK2RvYyA9IHtkYXRhZGlyfS9kb2Mve2Rpc3RyaWJ1dGlvbi5uYW1lfQorIyBHTlUgaW5mbyBkb2N1bWVudGF0aW9uIGZpbGVzCitpbmZvID0ge2RhdGFkaXJ9L2luZm8KKyMgbWFuIHBhZ2VzCittYW4gPSB7ZGF0YWRpcn0vbWFuCisKK1twb3NpeF9wcmVmaXhdCisjIENvbmZpZ3VyYXRpb24gZGlyZWN0b3JpZXMuICBTb21lIG9mIHRoZXNlIGNvbWUgc3RyYWlnaHQgb3V0IG9mIHRoZQorIyBjb25maWd1cmUgc2NyaXB0LiAgVGhleSBhcmUgZm9yIGltcGxlbWVudGluZyB0aGUgb3RoZXIgdmFyaWFibGVzLCBub3QgdG8KKyMgYmUgdXNlZCBkaXJlY3RseSBpbiBbcmVzb3VyY2VfbG9jYXRpb25zXS4KK2NvbmZkaXIgPSAvZXRjCitkYXRhZGlyID0gL3Vzci9zaGFyZQorbGliZGlyID0gL3Vzci9saWIKK3N0YXRlZGlyID0gL3ZhcgorIyBVc2VyIHJlc291cmNlIGRpcmVjdG9yeQorbG9jYWwgPSB+Ly5sb2NhbC97ZGlzdHJpYnV0aW9uLm5hbWV9CisKK3N0ZGxpYiA9IHtiYXNlfS9saWIvcHl0aG9ue3B5X3ZlcnNpb25fc2hvcnR9CitwbGF0c3RkbGliID0ge3BsYXRiYXNlfS9saWIvcHl0aG9ue3B5X3ZlcnNpb25fc2hvcnR9CitwdXJlbGliID0ge2Jhc2V9L2xpYi9weXRob257cHlfdmVyc2lvbl9zaG9ydH0vc2l0ZS1wYWNrYWdlcworcGxhdGxpYiA9IHtwbGF0YmFzZX0vbGliL3B5dGhvbntweV92ZXJzaW9uX3Nob3J0fS9zaXRlLXBhY2thZ2VzCitpbmNsdWRlID0ge2Jhc2V9L2luY2x1ZGUvcHl0aG9ue3B5X3ZlcnNpb25fc2hvcnR9e2FiaWZsYWdzfQorcGxhdGluY2x1ZGUgPSB7cGxhdGJhc2V9L2luY2x1ZGUvcHl0aG9ue3B5X3ZlcnNpb25fc2hvcnR9e2FiaWZsYWdzfQorZGF0YSA9IHtiYXNlfQorCitbcG9zaXhfaG9tZV0KK3N0ZGxpYiA9IHtiYXNlfS9saWIvcHl0aG9uCitwbGF0c3RkbGliID0ge2Jhc2V9L2xpYi9weXRob24KK3B1cmVsaWIgPSB7YmFzZX0vbGliL3B5dGhvbgorcGxhdGxpYiA9IHtiYXNlfS9saWIvcHl0aG9uCitpbmNsdWRlID0ge2Jhc2V9L2luY2x1ZGUvcHl0aG9uCitwbGF0aW5jbHVkZSA9IHtiYXNlfS9pbmNsdWRlL3B5dGhvbgorc2NyaXB0cyA9IHtiYXNlfS9iaW4KK2RhdGEgPSB7YmFzZX0KKworW250XQorc3RkbGliID0ge2Jhc2V9L0xpYgorcGxhdHN0ZGxpYiA9IHtiYXNlfS9MaWIKK3B1cmVsaWIgPSB7YmFzZX0vTGliL3NpdGUtcGFja2FnZXMKK3BsYXRsaWIgPSB7YmFzZX0vTGliL3NpdGUtcGFja2FnZXMKK2luY2x1ZGUgPSB7YmFzZX0vSW5jbHVkZQorcGxhdGluY2x1ZGUgPSB7YmFzZX0vSW5jbHVkZQorc2NyaXB0cyA9IHtiYXNlfS9TY3JpcHRzCitkYXRhID0ge2Jhc2V9CisKK1tvczJdCitzdGRsaWIgPSB7YmFzZX0vTGliCitwbGF0c3RkbGliID0ge2Jhc2V9L0xpYgorcHVyZWxpYiA9IHtiYXNlfS9MaWIvc2l0ZS1wYWNrYWdlcworcGxhdGxpYiA9IHtiYXNlfS9MaWIvc2l0ZS1wYWNrYWdlcworaW5jbHVkZSA9IHtiYXNlfS9JbmNsdWRlCitwbGF0aW5jbHVkZSA9IHtiYXNlfS9JbmNsdWRlCitzY3JpcHRzID0ge2Jhc2V9L1NjcmlwdHMKK2RhdGEgPSB7YmFzZX0KKworW29zMl9ob21lXQorc3RkbGliID0ge3VzZXJiYXNlfS9saWIvcHl0aG9ue3B5X3ZlcnNpb25fc2hvcnR9CitwbGF0c3RkbGliID0ge3VzZXJiYXNlfS9saWIvcHl0aG9ue3B5X3ZlcnNpb25fc2hvcnR9CitwdXJlbGliID0ge3VzZXJiYXNlfS9saWIvcHl0aG9ue3B5X3ZlcnNpb25fc2hvcnR9L3NpdGUtcGFja2FnZXMKK3BsYXRsaWIgPSB7dXNlcmJhc2V9L2xpYi9weXRob257cHlfdmVyc2lvbl9zaG9ydH0vc2l0ZS1wYWNrYWdlcworaW5jbHVkZSA9IHt1c2VyYmFzZX0vaW5jbHVkZS9weXRob257cHlfdmVyc2lvbl9zaG9ydH0KK3NjcmlwdHMgPSB7dXNlcmJhc2V9L2JpbgorZGF0YSA9IHt1c2VyYmFzZX0KKworW250X3VzZXJdCitzdGRsaWIgPSB7dXNlcmJhc2V9L1B5dGhvbntweV92ZXJzaW9uX25vZG90fQorcGxhdHN0ZGxpYiA9IHt1c2VyYmFzZX0vUHl0aG9ue3B5X3ZlcnNpb25fbm9kb3R9CitwdXJlbGliID0ge3VzZXJiYXNlfS9QeXRob257cHlfdmVyc2lvbl9ub2RvdH0vc2l0ZS1wYWNrYWdlcworcGxhdGxpYiA9IHt1c2VyYmFzZX0vUHl0aG9ue3B5X3ZlcnNpb25fbm9kb3R9L3NpdGUtcGFja2FnZXMKK2luY2x1ZGUgPSB7dXNlcmJhc2V9L1B5dGhvbntweV92ZXJzaW9uX25vZG90fS9JbmNsdWRlCitzY3JpcHRzID0ge3VzZXJiYXNlfS9TY3JpcHRzCitkYXRhID0ge3VzZXJiYXNlfQorCitbcG9zaXhfdXNlcl0KK3N0ZGxpYiA9IHt1c2VyYmFzZX0vbGliL3B5dGhvbntweV92ZXJzaW9uX3Nob3J0fQorcGxhdHN0ZGxpYiA9IHt1c2VyYmFzZX0vbGliL3B5dGhvbntweV92ZXJzaW9uX3Nob3J0fQorcHVyZWxpYiA9IHt1c2VyYmFzZX0vbGliL3B5dGhvbntweV92ZXJzaW9uX3Nob3J0fS9zaXRlLXBhY2thZ2VzCitwbGF0bGliID0ge3VzZXJiYXNlfS9saWIvcHl0aG9ue3B5X3ZlcnNpb25fc2hvcnR9L3NpdGUtcGFja2FnZXMKK2luY2x1ZGUgPSB7dXNlcmJhc2V9L2luY2x1ZGUvcHl0aG9ue3B5X3ZlcnNpb25fc2hvcnR9CitzY3JpcHRzID0ge3VzZXJiYXNlfS9iaW4KK2RhdGEgPSB7dXNlcmJhc2V9CisKK1tvc3hfZnJhbWV3b3JrX3VzZXJdCitzdGRsaWIgPSB7dXNlcmJhc2V9L2xpYi9weXRob24KK3BsYXRzdGRsaWIgPSB7dXNlcmJhc2V9L2xpYi9weXRob24KK3B1cmVsaWIgPSB7dXNlcmJhc2V9L2xpYi9weXRob24vc2l0ZS1wYWNrYWdlcworcGxhdGxpYiA9IHt1c2VyYmFzZX0vbGliL3B5dGhvbi9zaXRlLXBhY2thZ2VzCitpbmNsdWRlID0ge3VzZXJiYXNlfS9pbmNsdWRlCitzY3JpcHRzID0ge3VzZXJiYXNlfS9iaW4KK2RhdGEgPSB7dXNlcmJhc2V9CmRpZmYgLS1naXQgYS9MaWIvc3lzY29uZmlnLnB5IGIvTGliL3N5c2NvbmZpZy5weQppbmRleCBiMjE4M2Q4Li5lNWMxZTYwIDEwMDY0NAotLS0gYS9MaWIvc3lzY29uZmlnLnB5CisrKyBiL0xpYi9zeXNjb25maWcucHkKQEAgLTEsOSArMSwxMCBAQAotIiIiUHJvdmlkZSBhY2Nlc3MgdG8gUHl0aG9uJ3MgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbi4KKyIiIkFjY2VzcyB0byBQeXRob24ncyBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uLiIiIgogCi0iIiIKLWltcG9ydCBzeXMKIGltcG9ydCBvcworaW1wb3J0IHJlCitpbXBvcnQgc3lzCiBmcm9tIG9zLnBhdGggaW1wb3J0IHBhcmRpciwgcmVhbHBhdGgKK2Zyb20gY29uZmlncGFyc2VyIGltcG9ydCBSYXdDb25maWdQYXJzZXIKIAogX19hbGxfXyA9IFsKICAgICAnZ2V0X2NvbmZpZ19oX2ZpbGVuYW1lJywKQEAgLTE3LDkxICsxOCw1MSBAQAogICAgICdnZXRfcHl0aG9uX3ZlcnNpb24nLAogICAgICdnZXRfc2NoZW1lX25hbWVzJywKICAgICAncGFyc2VfY29uZmlnX2gnLAotICAgIF0KK10KIAotX0lOU1RBTExfU0NIRU1FUyA9IHsKLSAgICAncG9zaXhfcHJlZml4JzogewotICAgICAgICAnc3RkbGliJzogJ3tiYXNlfS9saWIvcHl0aG9ue3B5X3ZlcnNpb25fc2hvcnR9JywKLSAgICAgICAgJ3BsYXRzdGRsaWInOiAne3BsYXRiYXNlfS9saWIvcHl0aG9ue3B5X3ZlcnNpb25fc2hvcnR9JywKLSAgICAgICAgJ3B1cmVsaWInOiAne2Jhc2V9L2xpYi9weXRob257cHlfdmVyc2lvbl9zaG9ydH0vc2l0ZS1wYWNrYWdlcycsCi0gICAgICAgICdwbGF0bGliJzogJ3twbGF0YmFzZX0vbGliL3B5dGhvbntweV92ZXJzaW9uX3Nob3J0fS9zaXRlLXBhY2thZ2VzJywKLSAgICAgICAgJ2luY2x1ZGUnOgotICAgICAgICAgICAgJ3tiYXNlfS9pbmNsdWRlL3B5dGhvbntweV92ZXJzaW9uX3Nob3J0fXthYmlmbGFnc30nLAotICAgICAgICAncGxhdGluY2x1ZGUnOgotICAgICAgICAgICAgJ3twbGF0YmFzZX0vaW5jbHVkZS9weXRob257cHlfdmVyc2lvbl9zaG9ydH17YWJpZmxhZ3N9JywKLSAgICAgICAgJ3NjcmlwdHMnOiAne2Jhc2V9L2JpbicsCi0gICAgICAgICdkYXRhJzogJ3tiYXNlfScsCi0gICAgICAgIH0sCi0gICAgJ3Bvc2l4X2hvbWUnOiB7Ci0gICAgICAgICdzdGRsaWInOiAne2Jhc2V9L2xpYi9weXRob24nLAotICAgICAgICAncGxhdHN0ZGxpYic6ICd7YmFzZX0vbGliL3B5dGhvbicsCi0gICAgICAgICdwdXJlbGliJzogJ3tiYXNlfS9saWIvcHl0aG9uJywKLSAgICAgICAgJ3BsYXRsaWInOiAne2Jhc2V9L2xpYi9weXRob24nLAotICAgICAgICAnaW5jbHVkZSc6ICd7YmFzZX0vaW5jbHVkZS9weXRob24nLAotICAgICAgICAncGxhdGluY2x1ZGUnOiAne2Jhc2V9L2luY2x1ZGUvcHl0aG9uJywKLSAgICAgICAgJ3NjcmlwdHMnOiAne2Jhc2V9L2JpbicsCi0gICAgICAgICdkYXRhJyAgIDogJ3tiYXNlfScsCi0gICAgICAgIH0sCi0gICAgJ250JzogewotICAgICAgICAnc3RkbGliJzogJ3tiYXNlfS9MaWInLAotICAgICAgICAncGxhdHN0ZGxpYic6ICd7YmFzZX0vTGliJywKLSAgICAgICAgJ3B1cmVsaWInOiAne2Jhc2V9L0xpYi9zaXRlLXBhY2thZ2VzJywKLSAgICAgICAgJ3BsYXRsaWInOiAne2Jhc2V9L0xpYi9zaXRlLXBhY2thZ2VzJywKLSAgICAgICAgJ2luY2x1ZGUnOiAne2Jhc2V9L0luY2x1ZGUnLAotICAgICAgICAncGxhdGluY2x1ZGUnOiAne2Jhc2V9L0luY2x1ZGUnLAotICAgICAgICAnc2NyaXB0cyc6ICd7YmFzZX0vU2NyaXB0cycsCi0gICAgICAgICdkYXRhJyAgIDogJ3tiYXNlfScsCi0gICAgICAgIH0sCi0gICAgJ29zMic6IHsKLSAgICAgICAgJ3N0ZGxpYic6ICd7YmFzZX0vTGliJywKLSAgICAgICAgJ3BsYXRzdGRsaWInOiAne2Jhc2V9L0xpYicsCi0gICAgICAgICdwdXJlbGliJzogJ3tiYXNlfS9MaWIvc2l0ZS1wYWNrYWdlcycsCi0gICAgICAgICdwbGF0bGliJzogJ3tiYXNlfS9MaWIvc2l0ZS1wYWNrYWdlcycsCi0gICAgICAgICdpbmNsdWRlJzogJ3tiYXNlfS9JbmNsdWRlJywKLSAgICAgICAgJ3BsYXRpbmNsdWRlJzogJ3tiYXNlfS9JbmNsdWRlJywKLSAgICAgICAgJ3NjcmlwdHMnOiAne2Jhc2V9L1NjcmlwdHMnLAotICAgICAgICAnZGF0YScgICA6ICd7YmFzZX0nLAotICAgICAgICB9LAotICAgICdvczJfaG9tZSc6IHsKLSAgICAgICAgJ3N0ZGxpYic6ICd7dXNlcmJhc2V9L2xpYi9weXRob257cHlfdmVyc2lvbl9zaG9ydH0nLAotICAgICAgICAncGxhdHN0ZGxpYic6ICd7dXNlcmJhc2V9L2xpYi9weXRob257cHlfdmVyc2lvbl9zaG9ydH0nLAotICAgICAgICAncHVyZWxpYic6ICd7dXNlcmJhc2V9L2xpYi9weXRob257cHlfdmVyc2lvbl9zaG9ydH0vc2l0ZS1wYWNrYWdlcycsCi0gICAgICAgICdwbGF0bGliJzogJ3t1c2VyYmFzZX0vbGliL3B5dGhvbntweV92ZXJzaW9uX3Nob3J0fS9zaXRlLXBhY2thZ2VzJywKLSAgICAgICAgJ2luY2x1ZGUnOiAne3VzZXJiYXNlfS9pbmNsdWRlL3B5dGhvbntweV92ZXJzaW9uX3Nob3J0fScsCi0gICAgICAgICdzY3JpcHRzJzogJ3t1c2VyYmFzZX0vYmluJywKLSAgICAgICAgJ2RhdGEnICAgOiAne3VzZXJiYXNlfScsCi0gICAgICAgIH0sCi0gICAgJ250X3VzZXInOiB7Ci0gICAgICAgICdzdGRsaWInOiAne3VzZXJiYXNlfS9QeXRob257cHlfdmVyc2lvbl9ub2RvdH0nLAotICAgICAgICAncGxhdHN0ZGxpYic6ICd7dXNlcmJhc2V9L1B5dGhvbntweV92ZXJzaW9uX25vZG90fScsCi0gICAgICAgICdwdXJlbGliJzogJ3t1c2VyYmFzZX0vUHl0aG9ue3B5X3ZlcnNpb25fbm9kb3R9L3NpdGUtcGFja2FnZXMnLAotICAgICAgICAncGxhdGxpYic6ICd7dXNlcmJhc2V9L1B5dGhvbntweV92ZXJzaW9uX25vZG90fS9zaXRlLXBhY2thZ2VzJywKLSAgICAgICAgJ2luY2x1ZGUnOiAne3VzZXJiYXNlfS9QeXRob257cHlfdmVyc2lvbl9ub2RvdH0vSW5jbHVkZScsCi0gICAgICAgICdzY3JpcHRzJzogJ3t1c2VyYmFzZX0vU2NyaXB0cycsCi0gICAgICAgICdkYXRhJyAgIDogJ3t1c2VyYmFzZX0nLAotICAgICAgICB9LAotICAgICdwb3NpeF91c2VyJzogewotICAgICAgICAnc3RkbGliJzogJ3t1c2VyYmFzZX0vbGliL3B5dGhvbntweV92ZXJzaW9uX3Nob3J0fScsCi0gICAgICAgICdwbGF0c3RkbGliJzogJ3t1c2VyYmFzZX0vbGliL3B5dGhvbntweV92ZXJzaW9uX3Nob3J0fScsCi0gICAgICAgICdwdXJlbGliJzogJ3t1c2VyYmFzZX0vbGliL3B5dGhvbntweV92ZXJzaW9uX3Nob3J0fS9zaXRlLXBhY2thZ2VzJywKLSAgICAgICAgJ3BsYXRsaWInOiAne3VzZXJiYXNlfS9saWIvcHl0aG9ue3B5X3ZlcnNpb25fc2hvcnR9L3NpdGUtcGFja2FnZXMnLAotICAgICAgICAnaW5jbHVkZSc6ICd7dXNlcmJhc2V9L2luY2x1ZGUvcHl0aG9ue3B5X3ZlcnNpb25fc2hvcnR9JywKLSAgICAgICAgJ3NjcmlwdHMnOiAne3VzZXJiYXNlfS9iaW4nLAotICAgICAgICAnZGF0YScgICA6ICd7dXNlcmJhc2V9JywKLSAgICAgICAgfSwKLSAgICAnb3N4X2ZyYW1ld29ya191c2VyJzogewotICAgICAgICAnc3RkbGliJzogJ3t1c2VyYmFzZX0vbGliL3B5dGhvbicsCi0gICAgICAgICdwbGF0c3RkbGliJzogJ3t1c2VyYmFzZX0vbGliL3B5dGhvbicsCi0gICAgICAgICdwdXJlbGliJzogJ3t1c2VyYmFzZX0vbGliL3B5dGhvbi9zaXRlLXBhY2thZ2VzJywKLSAgICAgICAgJ3BsYXRsaWInOiAne3VzZXJiYXNlfS9saWIvcHl0aG9uL3NpdGUtcGFja2FnZXMnLAotICAgICAgICAnaW5jbHVkZSc6ICd7dXNlcmJhc2V9L2luY2x1ZGUnLAotICAgICAgICAnc2NyaXB0cyc6ICd7dXNlcmJhc2V9L2JpbicsCi0gICAgICAgICdkYXRhJyAgIDogJ3t1c2VyYmFzZX0nLAotICAgICAgICB9LAotICAgIH0KKyMgbGV0J3MgcmVhZCB0aGUgY29uZmlndXJhdGlvbiBmaWxlCisjIFhYWCBfQ09ORklHX0RJUiB3aWxsIGJlIHNldCBieSB0aGUgTWFrZWZpbGUgbGF0ZXIKK19DT05GSUdfRElSID0gb3MucGF0aC5ub3JtcGF0aChvcy5wYXRoLmRpcm5hbWUoX19maWxlX18pKQorX0NPTkZJR19GSUxFID0gb3MucGF0aC5qb2luKF9DT05GSUdfRElSLCAnc3lzY29uZmlnLmNmZycpCitfU0NIRU1FUyA9IFJhd0NvbmZpZ1BhcnNlcihkaWN0X3R5cGU9ZGljdCkgICAjIEZhc3RlciB0aGFuIE9yZGVyZWREaWN0CitfU0NIRU1FUy5yZWFkKF9DT05GSUdfRklMRSkKK19WQVJfUkVQTCA9IHJlLmNvbXBpbGUocidceyhbXntdKj8pXH0nKQogCi1fU0NIRU1FX0tFWVMgPSAoJ3N0ZGxpYicsICdwbGF0c3RkbGliJywgJ3B1cmVsaWInLCAncGxhdGxpYicsICdpbmNsdWRlJywKLSAgICAgICAgICAgICAgICAnc2NyaXB0cycsICdkYXRhJykKKworZGVmIF9leHBhbmRfZ2xvYmFscyhjb25maWcpOgorICAgIGlmIGNvbmZpZy5oYXNfc2VjdGlvbignZ2xvYmFscycpOgorICAgICAgICBnbG9iYWxzID0gY29uZmlnLml0ZW1zKCdnbG9iYWxzJykKKyAgICBlbHNlOgorICAgICAgICBnbG9iYWxzID0gdHVwbGUoKQorCisgICAgc2VjdGlvbnMgPSBjb25maWcuc2VjdGlvbnMoKQorICAgIGZvciBzZWN0aW9uIGluIHNlY3Rpb25zOgorICAgICAgICBpZiBzZWN0aW9uID09ICdnbG9iYWxzJzoKKyAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgIGZvciBvcHRpb24sIHZhbHVlIGluIGdsb2JhbHM6CisgICAgICAgICAgICBpZiBjb25maWcuaGFzX29wdGlvbihzZWN0aW9uLCBvcHRpb24pOgorICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICBjb25maWcuc2V0KHNlY3Rpb24sIG9wdGlvbiwgdmFsdWUpCisgICAgY29uZmlnLnJlbW92ZV9zZWN0aW9uKCdnbG9iYWxzJykKKworICAgICMgbm93IGV4cGFuZGluZyBsb2NhbCB2YXJpYWJsZXMgZGVmaW5lZCBpbiB0aGUgY2ZnIGZpbGUKKyAgICAjCisgICAgZm9yIHNlY3Rpb24gaW4gY29uZmlnLnNlY3Rpb25zKCk6CisgICAgICAgIHZhcmlhYmxlcyA9IGRpY3QoY29uZmlnLml0ZW1zKHNlY3Rpb24pKQorCisgICAgICAgIGRlZiBfcmVwbGFjZXIobWF0Y2hvYmopOgorICAgICAgICAgICAgbmFtZSA9IG1hdGNob2JqLmdyb3VwKDEpCisgICAgICAgICAgICBpZiBuYW1lIGluIHZhcmlhYmxlczoKKyAgICAgICAgICAgICAgICByZXR1cm4gdmFyaWFibGVzW25hbWVdCisgICAgICAgICAgICByZXR1cm4gbWF0Y2hvYmouZ3JvdXAoMCkKKworICAgICAgICBmb3Igb3B0aW9uLCB2YWx1ZSBpbiBjb25maWcuaXRlbXMoc2VjdGlvbik6CisgICAgICAgICAgICBjb25maWcuc2V0KHNlY3Rpb24sIG9wdGlvbiwgX1ZBUl9SRVBMLnN1YihfcmVwbGFjZXIsIHZhbHVlKSkKKworX2V4cGFuZF9nbG9iYWxzKF9TQ0hFTUVTKQorCisgIyBGSVhNRSBkb24ndCByZWx5IG9uIHN5cy52ZXJzaW9uIGhlcmUsIGl0cyBmb3JtYXQgaXMgYW4gaW1wbGVtZW50YXRpbiBkZXRhaWwKKyAjIG9mIENQeXRob24sIHVzZSBzeXMudmVyc2lvbl9pbmZvIG9yIHN5cy5oZXh2ZXJzaW9uCiBfUFlfVkVSU0lPTiA9IHN5cy52ZXJzaW9uLnNwbGl0KClbMF0KIF9QWV9WRVJTSU9OX1NIT1JUID0gc3lzLnZlcnNpb25bOjNdCiBfUFlfVkVSU0lPTl9TSE9SVF9OT19ET1QgPSBfUFlfVkVSU0lPTlswXSArIF9QWV9WRVJTSU9OWzJdCkBAIC0xMTAsNiArNzEsNyBAQAogX0NPTkZJR19WQVJTID0gTm9uZQogX1VTRVJfQkFTRSA9IE5vbmUKIAorCiBkZWYgX3NhZmVfcmVhbHBhdGgocGF0aCk6CiAgICAgdHJ5OgogICAgICAgICByZXR1cm4gcmVhbHBhdGgocGF0aCkKQEAgLTEzMiw2ICs5NCw3IEBACiBpZiBvcy5uYW1lID09ICJudCIgYW5kICJcXHBjYnVpbGRcXGFtZDY0IiBpbiBfUFJPSkVDVF9CQVNFWy0xNDpdLmxvd2VyKCk6CiAgICAgX1BST0pFQ1RfQkFTRSA9IF9zYWZlX3JlYWxwYXRoKG9zLnBhdGguam9pbihfUFJPSkVDVF9CQVNFLCBwYXJkaXIsIHBhcmRpcikpCiAKKwogZGVmIGlzX3B5dGhvbl9idWlsZCgpOgogICAgIGZvciBmbiBpbiAoIlNldHVwLmRpc3QiLCAiU2V0dXAubG9jYWwiKToKICAgICAgICAgaWYgb3MucGF0aC5pc2ZpbGUob3MucGF0aC5qb2luKF9QUk9KRUNUX0JBU0UsICJNb2R1bGVzIiwgZm4pKToKQEAgLTE0MiwxNyArMTA1LDI1IEBACiAKIGlmIF9QWVRIT05fQlVJTEQ6CiAgICAgZm9yIHNjaGVtZSBpbiAoJ3Bvc2l4X3ByZWZpeCcsICdwb3NpeF9ob21lJyk6Ci0gICAgICAgIF9JTlNUQUxMX1NDSEVNRVNbc2NoZW1lXVsnaW5jbHVkZSddID0gJ3tzcmNkaXJ9L0luY2x1ZGUnCi0gICAgICAgIF9JTlNUQUxMX1NDSEVNRVNbc2NoZW1lXVsncGxhdGluY2x1ZGUnXSA9ICd7cHJvamVjdGJhc2V9Ly4nCisgICAgICAgIF9TQ0hFTUVTLnNldChzY2hlbWUsICdpbmNsdWRlJywgJ3tzcmNkaXJ9L0luY2x1ZGUnKQorICAgICAgICBfU0NIRU1FUy5zZXQoc2NoZW1lLCAncGxhdGluY2x1ZGUnLCAne3Byb2plY3RiYXNlfS8uJykKIAotZGVmIF9zdWJzdF92YXJzKHMsIGxvY2FsX3ZhcnMpOgotICAgIHRyeToKLSAgICAgICAgcmV0dXJuIHMuZm9ybWF0KCoqbG9jYWxfdmFycykKLSAgICBleGNlcHQgS2V5RXJyb3I6Ci0gICAgICAgIHRyeToKLSAgICAgICAgICAgIHJldHVybiBzLmZvcm1hdCgqKm9zLmVudmlyb24pCi0gICAgICAgIGV4Y2VwdCBLZXlFcnJvciBhcyB2YXI6Ci0gICAgICAgICAgICByYWlzZSBBdHRyaWJ1dGVFcnJvcigneyVzfScgJSB2YXIpCisKK2RlZiBfc3Vic3RfdmFycyhwYXRoLCBsb2NhbF92YXJzKToKKyAgICAiIiJJbiB0aGUgc3RyaW5nIGBwYXRoYCwgcmVwbGFjZSB0b2tlbnMgbGlrZSB7c29tZS50aGluZ30gd2l0aCB0aGUKKyAgICBjb3JyZXNwb25kaW5nIHZhbHVlIGZyb20gdGhlIG1hcCBgbG9jYWxfdmFyc2AuCisKKyAgICBJZiB0aGVyZSBpcyBubyBjb3JyZXNwb25kaW5nIHZhbHVlLCBsZWF2ZSB0aGUgdG9rZW4gdW5jaGFuZ2VkLgorICAgICIiIgorICAgIGRlZiBfcmVwbGFjZXIobWF0Y2hvYmopOgorICAgICAgICBuYW1lID0gbWF0Y2hvYmouZ3JvdXAoMSkKKyAgICAgICAgaWYgbmFtZSBpbiBsb2NhbF92YXJzOgorICAgICAgICAgICAgcmV0dXJuIGxvY2FsX3ZhcnNbbmFtZV0KKyAgICAgICAgZWxpZiBuYW1lIGluIG9zLmVudmlyb246CisgICAgICAgICAgICByZXR1cm4gb3MuZW52aXJvbltuYW1lXQorICAgICAgICByZXR1cm4gbWF0Y2hvYmouZ3JvdXAoMCkKKyAgICByZXR1cm4gX1ZBUl9SRVBMLnN1YihfcmVwbGFjZXIsIHBhdGgpCisKIAogZGVmIF9leHRlbmRfZGljdCh0YXJnZXRfZGljdCwgb3RoZXJfZGljdCk6CiAgICAgdGFyZ2V0X2tleXMgPSB0YXJnZXRfZGljdC5rZXlzKCkKQEAgLTE2MSw0MSArMTMyLDYzIEBACiAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICB0YXJnZXRfZGljdFtrZXldID0gdmFsdWUKIAorCiBkZWYgX2V4cGFuZF92YXJzKHNjaGVtZSwgdmFycyk6CiAgICAgcmVzID0ge30KICAgICBpZiB2YXJzIGlzIE5vbmU6CiAgICAgICAgIHZhcnMgPSB7fQogICAgIF9leHRlbmRfZGljdCh2YXJzLCBnZXRfY29uZmlnX3ZhcnMoKSkKIAotICAgIGZvciBrZXksIHZhbHVlIGluIF9JTlNUQUxMX1NDSEVNRVNbc2NoZW1lXS5pdGVtcygpOgorICAgIGZvciBrZXksIHZhbHVlIGluIF9TQ0hFTUVTLml0ZW1zKHNjaGVtZSk6CiAgICAgICAgIGlmIG9zLm5hbWUgaW4gKCdwb3NpeCcsICdudCcpOgogICAgICAgICAgICAgdmFsdWUgPSBvcy5wYXRoLmV4cGFuZHVzZXIodmFsdWUpCiAgICAgICAgIHJlc1trZXldID0gb3MucGF0aC5ub3JtcGF0aChfc3Vic3RfdmFycyh2YWx1ZSwgdmFycykpCiAgICAgcmV0dXJuIHJlcwogCisKK2RlZiBmb3JtYXRfdmFsdWUodmFsdWUsIHZhcnMpOgorICAgIGRlZiBfcmVwbGFjZXIobWF0Y2hvYmopOgorICAgICAgICBuYW1lID0gbWF0Y2hvYmouZ3JvdXAoMSkKKyAgICAgICAgaWYgbmFtZSBpbiB2YXJzOgorICAgICAgICAgICAgcmV0dXJuIHZhcnNbbmFtZV0KKyAgICAgICAgcmV0dXJuIG1hdGNob2JqLmdyb3VwKDApCisgICAgcmV0dXJuIF9WQVJfUkVQTC5zdWIoX3JlcGxhY2VyLCB2YWx1ZSkKKworCiBkZWYgX2dldF9kZWZhdWx0X3NjaGVtZSgpOgogICAgIGlmIG9zLm5hbWUgPT0gJ3Bvc2l4JzoKICAgICAgICAgIyB0aGUgZGVmYXVsdCBzY2hlbWUgZm9yIHBvc2l4IGlzIHBvc2l4X3ByZWZpeAogICAgICAgICByZXR1cm4gJ3Bvc2l4X3ByZWZpeCcKICAgICByZXR1cm4gb3MubmFtZQogCisKIGRlZiBfZ2V0dXNlcmJhc2UoKToKICAgICBlbnZfYmFzZSA9IG9zLmVudmlyb24uZ2V0KCJQWVRIT05VU0VSQkFTRSIsIE5vbmUpCisKICAgICBkZWYgam9pbnVzZXIoKmFyZ3MpOgogICAgICAgICByZXR1cm4gb3MucGF0aC5leHBhbmR1c2VyKG9zLnBhdGguam9pbigqYXJncykpCiAKICAgICAjIHdoYXQgYWJvdXQgJ29zMmVteCcsICdyaXNjb3MnID8KICAgICBpZiBvcy5uYW1lID09ICJudCI6CiAgICAgICAgIGJhc2UgPSBvcy5lbnZpcm9uLmdldCgiQVBQREFUQSIpIG9yICJ+IgotICAgICAgICByZXR1cm4gZW52X2Jhc2UgaWYgZW52X2Jhc2UgZWxzZSBqb2ludXNlcihiYXNlLCAiUHl0aG9uIikKKyAgICAgICAgaWYgZW52X2Jhc2U6CisgICAgICAgICAgICByZXR1cm4gZW52X2Jhc2UKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJldHVybiBqb2ludXNlcihiYXNlLCAiUHl0aG9uIikKIAogICAgIGlmIHN5cy5wbGF0Zm9ybSA9PSAiZGFyd2luIjoKICAgICAgICAgZnJhbWV3b3JrID0gZ2V0X2NvbmZpZ192YXIoIlBZVEhPTkZSQU1FV09SSyIpCiAgICAgICAgIGlmIGZyYW1ld29yazoKLSAgICAgICAgICAgIHJldHVybiBlbnZfYmFzZSBpZiBlbnZfYmFzZSBlbHNlIGpvaW51c2VyKCJ+IiwgIkxpYnJhcnkiLCBmcmFtZXdvcmssICIlZC4lZCIlKAotICAgICAgICAgICAgICAgIHN5cy52ZXJzaW9uX2luZm9bOjJdKSkKKyAgICAgICAgICAgIGlmIGVudl9iYXNlOgorICAgICAgICAgICAgICAgIHJldHVybiBlbnZfYmFzZQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICByZXR1cm4gam9pbnVzZXIoIn4iLCAiTGlicmFyeSIsIGZyYW1ld29yaywgIiVkLiVkIiAlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5cy52ZXJzaW9uX2luZm9bOjJdKQogCi0gICAgcmV0dXJuIGVudl9iYXNlIGlmIGVudl9iYXNlIGVsc2Ugam9pbnVzZXIoIn4iLCAiLmxvY2FsIikKKyAgICBpZiBlbnZfYmFzZToKKyAgICAgICAgcmV0dXJuIGVudl9iYXNlCisgICAgZWxzZToKKyAgICAgICAgcmV0dXJuIGpvaW51c2VyKCJ+IiwgIi5sb2NhbCIpCiAKIAogZGVmIF9wYXJzZV9tYWtlZmlsZShmaWxlbmFtZSwgdmFycz1Ob25lKToKQEAgLTIwNSw3ICsxOTgsNiBAQAogICAgIG9wdGlvbmFsIGRpY3Rpb25hcnkgaXMgcGFzc2VkIGluIGFzIHRoZSBzZWNvbmQgYXJndW1lbnQsIGl0IGlzCiAgICAgdXNlZCBpbnN0ZWFkIG9mIGEgbmV3IGRpY3Rpb25hcnkuCiAgICAgIiIiCi0gICAgaW1wb3J0IHJlCiAgICAgIyBSZWdleGVzIG5lZWRlZCBmb3IgcGFyc2luZyBNYWtlZmlsZSAoYW5kIHNpbWlsYXIgc3ludGF4ZXMsCiAgICAgIyBsaWtlIG9sZC1zdHlsZSBTZXR1cCBmaWxlcykuCiAgICAgX3ZhcmlhYmxlX3J4ID0gcmUuY29tcGlsZSgiKFthLXpBLVpdW2EtekEtWjAtOV9dKylccyo9XHMqKC4qKSIpCkBAIC0yNjcsNyArMjU5LDggQEAKICAgICAgICAgICAgICAgICAgICAgaXRlbSA9IG9zLmVudmlyb25bbl0KIAogICAgICAgICAgICAgICAgIGVsaWYgbiBpbiByZW5hbWVkX3ZhcmlhYmxlczoKLSAgICAgICAgICAgICAgICAgICAgaWYgbmFtZS5zdGFydHN3aXRoKCdQWV8nKSBhbmQgbmFtZVszOl0gaW4gcmVuYW1lZF92YXJpYWJsZXM6CisgICAgICAgICAgICAgICAgICAgIGlmIChuYW1lLnN0YXJ0c3dpdGgoJ1BZXycpIGFuZAorICAgICAgICAgICAgICAgICAgICAgICAgbmFtZVszOl0gaW4gcmVuYW1lZF92YXJpYWJsZXMpOgogICAgICAgICAgICAgICAgICAgICAgICAgaXRlbSA9ICIiCiAKICAgICAgICAgICAgICAgICAgICAgZWxpZiAnUFlfJyArIG4gaW4gbm90ZG9uZToKQEAgLTMwMCw3ICsyOTMsNiBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIG5hbWUgbm90IGluIGRvbmU6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvbmVbbmFtZV0gPSB2YWx1ZQogCi0KICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgIyBib2d1cyB2YXJpYWJsZSByZWZlcmVuY2UgKGUuZy4gInByZWZpeD0kL29wdC9weXRob24iKTsKICAgICAgICAgICAgICAgICAjIGp1c3QgZHJvcCBpdCBzaW5jZSB3ZSBjYW4ndCBkZWFsCkBAIC0zMjEsMTMgKzMxMywxNiBAQAogICAgICIiIlJldHVybiB0aGUgcGF0aCBvZiB0aGUgTWFrZWZpbGUuIiIiCiAgICAgaWYgX1BZVEhPTl9CVUlMRDoKICAgICAgICAgcmV0dXJuIG9zLnBhdGguam9pbihfUFJPSkVDVF9CQVNFLCAiTWFrZWZpbGUiKQotICAgIHJldHVybiBvcy5wYXRoLmpvaW4oZ2V0X3BhdGgoJ3N0ZGxpYicpLAotICAgICAgICAgICAgICAgICAgICAgICAgJ2NvbmZpZy17fXt9Jy5mb3JtYXQoX1BZX1ZFUlNJT05fU0hPUlQsIHN5cy5hYmlmbGFncyksCi0gICAgICAgICAgICAgICAgICAgICAgICAnTWFrZWZpbGUnKQorICAgIGlmIGhhc2F0dHIoc3lzLCAnYWJpZmxhZ3MnKToKKyAgICAgICAgY29uZmlnX2Rpcl9uYW1lID0gJ2NvbmZpZy0lcyVzJyAlIChfUFlfVkVSU0lPTl9TSE9SVCwgc3lzLmFiaWZsYWdzKQorICAgIGVsc2U6CisgICAgICAgIGNvbmZpZ19kaXJfbmFtZSA9ICdjb25maWcnCisgICAgcmV0dXJuIG9zLnBhdGguam9pbihnZXRfcGF0aCgnc3RkbGliJyksIGNvbmZpZ19kaXJfbmFtZSwgJ01ha2VmaWxlJykKIAotCi1kZWYgX2luaXRfcG9zaXgodmFycyk6Ci0gICAgIiIiSW5pdGlhbGl6ZSB0aGUgbW9kdWxlIGFzIGFwcHJvcHJpYXRlIGZvciBQT1NJWCBzeXN0ZW1zLiIiIgorZGVmIF9nZW5lcmF0ZV9wb3NpeF92YXJzKCk6CisgICAgIiIiR2VuZXJhdGUgdGhlIFB5dGhvbiBtb2R1bGUgY29udGFpbmluZyBidWlsZC10aW1lIHZhcmlhYmxlcy4iIiIKKyAgICBpbXBvcnQgcHByaW50CisgICAgdmFycyA9IHt9CiAgICAgIyBsb2FkIHRoZSBpbnN0YWxsZWQgTWFrZWZpbGU6CiAgICAgbWFrZWZpbGUgPSBnZXRfbWFrZWZpbGVfZmlsZW5hbWUoKQogICAgIHRyeToKQEAgLTM1Myw2ICszNDgsMTkgQEAKICAgICBpZiBfUFlUSE9OX0JVSUxEOgogICAgICAgICB2YXJzWydMRFNIQVJFRCddID0gdmFyc1snQkxEU0hBUkVEJ10KIAorICAgIGRlc3RmaWxlID0gb3MucGF0aC5qb2luKG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXyksICdfc3lzY29uZmlnZGF0YS5weScpCisgICAgd2l0aCBvcGVuKGRlc3RmaWxlLCAndycsIGVuY29kaW5nPSd1dGY4JykgYXMgZjoKKyAgICAgICAgZi53cml0ZSgnIyBzeXN0ZW0gY29uZmlndXJhdGlvbiBnZW5lcmF0ZWQgYW5kIHVzZWQgYnknCisgICAgICAgICAgICAgICAgJyB0aGUgc3lzY29uZmlnIG1vZHVsZVxuJykKKyAgICAgICAgZi53cml0ZSgnYnVpbGRfdGltZV92YXJzID0gJykKKyAgICAgICAgcHByaW50LnBwcmludCh2YXJzLCBzdHJlYW09ZikKKworZGVmIF9pbml0X3Bvc2l4KHZhcnMpOgorICAgICIiIkluaXRpYWxpemUgdGhlIG1vZHVsZSBhcyBhcHByb3ByaWF0ZSBmb3IgUE9TSVggc3lzdGVtcy4iIiIKKyAgICAjIF9zeXNjb25maWdkYXRhIGlzIGdlbmVyYXRlZCBhdCBidWlsZCB0aW1lLCBzZWUgX2dlbmVyYXRlX3Bvc2l4X3ZhcnMoKQorICAgIGZyb20gX3N5c2NvbmZpZ2RhdGEgaW1wb3J0IGJ1aWxkX3RpbWVfdmFycworICAgIHZhcnMudXBkYXRlKGJ1aWxkX3RpbWVfdmFycykKKwogZGVmIF9pbml0X25vbl9wb3NpeCh2YXJzKToKICAgICAiIiJJbml0aWFsaXplIHRoZSBtb2R1bGUgYXMgYXBwcm9wcmlhdGUgZm9yIE5UIiIiCiAgICAgIyBzZXQgYmFzaWMgaW5zdGFsbCBkaXJlY3RvcmllcwpAQCAtMzc2LDcgKzM4NCw2IEBACiAgICAgb3B0aW9uYWwgZGljdGlvbmFyeSBpcyBwYXNzZWQgaW4gYXMgdGhlIHNlY29uZCBhcmd1bWVudCwgaXQgaXMKICAgICB1c2VkIGluc3RlYWQgb2YgYSBuZXcgZGljdGlvbmFyeS4KICAgICAiIiIKLSAgICBpbXBvcnQgcmUKICAgICBpZiB2YXJzIGlzIE5vbmU6CiAgICAgICAgIHZhcnMgPSB7fQogICAgIGRlZmluZV9yeCA9IHJlLmNvbXBpbGUoIiNkZWZpbmUgKFtBLVpdW0EtWmEtejAtOV9dKykgKC4qKVxuIikKQEAgLTM4OSw4ICszOTYsMTAgQEAKICAgICAgICAgbSA9IGRlZmluZV9yeC5tYXRjaChsaW5lKQogICAgICAgICBpZiBtOgogICAgICAgICAgICAgbiwgdiA9IG0uZ3JvdXAoMSwgMikKLSAgICAgICAgICAgIHRyeTogdiA9IGludCh2KQotICAgICAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3I6IHBhc3MKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICB2ID0gaW50KHYpCisgICAgICAgICAgICBleGNlcHQgVmFsdWVFcnJvcjoKKyAgICAgICAgICAgICAgICBwYXNzCiAgICAgICAgICAgICB2YXJzW25dID0gdgogICAgICAgICBlbHNlOgogICAgICAgICAgICAgbSA9IHVuZGVmX3J4Lm1hdGNoKGxpbmUpCkBAIC0zOTgsNiArNDA3LDcgQEAKICAgICAgICAgICAgICAgICB2YXJzW20uZ3JvdXAoMSldID0gMAogICAgIHJldHVybiB2YXJzCiAKKwogZGVmIGdldF9jb25maWdfaF9maWxlbmFtZSgpOgogICAgICIiIlJldHVybiB0aGUgcGF0aCBvZiBweWNvbmZpZy5oLiIiIgogICAgIGlmIF9QWVRIT05fQlVJTEQ6CkBAIC00MDksMTUgKzQxOSwxNyBAQAogICAgICAgICBpbmNfZGlyID0gZ2V0X3BhdGgoJ3BsYXRpbmNsdWRlJykKICAgICByZXR1cm4gb3MucGF0aC5qb2luKGluY19kaXIsICdweWNvbmZpZy5oJykKIAorCiBkZWYgZ2V0X3NjaGVtZV9uYW1lcygpOgogICAgICIiIlJldHVybiBhIHR1cGxlIGNvbnRhaW5pbmcgdGhlIHNjaGVtZXMgbmFtZXMuIiIiCi0gICAgc2NoZW1lcyA9IGxpc3QoX0lOU1RBTExfU0NIRU1FUy5rZXlzKCkpCi0gICAgc2NoZW1lcy5zb3J0KCkKLSAgICByZXR1cm4gdHVwbGUoc2NoZW1lcykKKyAgICByZXR1cm4gdHVwbGUoc29ydGVkKF9TQ0hFTUVTLnNlY3Rpb25zKCkpKQorCiAKIGRlZiBnZXRfcGF0aF9uYW1lcygpOgogICAgICIiIlJldHVybiBhIHR1cGxlIGNvbnRhaW5pbmcgdGhlIHBhdGhzIG5hbWVzLiIiIgotICAgIHJldHVybiBfU0NIRU1FX0tFWVMKKyAgICAjIHh4eCBzZWUgaWYgd2Ugd2FudCBhIHN0YXRpYyBsaXN0CisgICAgcmV0dXJuIF9TQ0hFTUVTLm9wdGlvbnMoJ3Bvc2l4X3ByZWZpeCcpCisKIAogZGVmIGdldF9wYXRocyhzY2hlbWU9X2dldF9kZWZhdWx0X3NjaGVtZSgpLCB2YXJzPU5vbmUsIGV4cGFuZD1UcnVlKToKICAgICAiIiJSZXR1cm4gYSBtYXBwaW5nIGNvbnRhaW5pbmcgYW4gaW5zdGFsbCBzY2hlbWUuCkBAIC00MjgsNyArNDQwLDggQEAKICAgICBpZiBleHBhbmQ6CiAgICAgICAgIHJldHVybiBfZXhwYW5kX3ZhcnMoc2NoZW1lLCB2YXJzKQogICAgIGVsc2U6Ci0gICAgICAgIHJldHVybiBfSU5TVEFMTF9TQ0hFTUVTW3NjaGVtZV0KKyAgICAgICAgcmV0dXJuIGRpY3QoX1NDSEVNRVMuaXRlbXMoc2NoZW1lKSkKKwogCiBkZWYgZ2V0X3BhdGgobmFtZSwgc2NoZW1lPV9nZXRfZGVmYXVsdF9zY2hlbWUoKSwgdmFycz1Ob25lLCBleHBhbmQ9VHJ1ZSk6CiAgICAgIiIiUmV0dXJuIGEgcGF0aCBjb3JyZXNwb25kaW5nIHRvIHRoZSBzY2hlbWUuCkBAIC00MzcsNiArNDUwLDcgQEAKICAgICAiIiIKICAgICByZXR1cm4gZ2V0X3BhdGhzKHNjaGVtZSwgdmFycywgZXhwYW5kKVtuYW1lXQogCisKIGRlZiBnZXRfY29uZmlnX3ZhcnMoKmFyZ3MpOgogICAgICIiIldpdGggbm8gYXJndW1lbnRzLCByZXR1cm4gYSBkaWN0aW9uYXJ5IG9mIGFsbCBjb25maWd1cmF0aW9uCiAgICAgdmFyaWFibGVzIHJlbGV2YW50IGZvciB0aGUgY3VycmVudCBwbGF0Zm9ybS4KQEAgLTQ0NywxMyArNDYxLDEyIEBACiAgICAgV2l0aCBhcmd1bWVudHMsIHJldHVybiBhIGxpc3Qgb2YgdmFsdWVzIHRoYXQgcmVzdWx0IGZyb20gbG9va2luZyB1cAogICAgIGVhY2ggYXJndW1lbnQgaW4gdGhlIGNvbmZpZ3VyYXRpb24gdmFyaWFibGUgZGljdGlvbmFyeS4KICAgICAiIiIKLSAgICBpbXBvcnQgcmUKICAgICBnbG9iYWwgX0NPTkZJR19WQVJTCiAgICAgaWYgX0NPTkZJR19WQVJTIGlzIE5vbmU6CiAgICAgICAgIF9DT05GSUdfVkFSUyA9IHt9CiAgICAgICAgICMgTm9ybWFsaXplZCB2ZXJzaW9ucyBvZiBwcmVmaXggYW5kIGV4ZWNfcHJlZml4IGFyZSBoYW5keSB0byBoYXZlOwogICAgICAgICAjIGluIGZhY3QsIHRoZXNlIGFyZSB0aGUgc3RhbmRhcmQgdmVyc2lvbnMgdXNlZCBtb3N0IHBsYWNlcyBpbiB0aGUKLSAgICAgICAgIyBEaXN0dXRpbHMuCisgICAgICAgICMgcGFja2FnaW5nIG1vZHVsZS4KICAgICAgICAgX0NPTkZJR19WQVJTWydwcmVmaXgnXSA9IF9QUkVGSVgKICAgICAgICAgX0NPTkZJR19WQVJTWydleGVjX3ByZWZpeCddID0gX0VYRUNfUFJFRklYCiAgICAgICAgIF9DT05GSUdfVkFSU1sncHlfdmVyc2lvbiddID0gX1BZX1ZFUlNJT04KQEAgLTQ4Miw3ICs0OTUsNiBAQAogICAgICAgICBlbHNlOgogICAgICAgICAgICAgX0NPTkZJR19WQVJTWydzcmNkaXInXSA9IF9zYWZlX3JlYWxwYXRoKF9DT05GSUdfVkFSU1snc3JjZGlyJ10pCiAKLQogICAgICAgICAjIENvbnZlcnQgc3JjZGlyIGludG8gYW4gYWJzb2x1dGUgcGF0aCBpZiBpdCBhcHBlYXJzIG5lY2Vzc2FyeS4KICAgICAgICAgIyBOb3JtYWxseSBpdCBpcyByZWxhdGl2ZSB0byB0aGUgYnVpbGQgZGlyZWN0b3J5LiAgSG93ZXZlciwgZHVyaW5nCiAgICAgICAgICMgdGVzdGluZywgZm9yIGV4YW1wbGUsIHdlIG1pZ2h0IGJlIHJ1bm5pbmcgYSBub24taW5zdGFsbGVkIHB5dGhvbgpAQCAtNTAyLDcgKzUxNCw3IEBACiAgICAgICAgICAgICAgICAgX0NPTkZJR19WQVJTWydzcmNkaXInXSA9IG9zLnBhdGgubm9ybXBhdGgoc3JjZGlyKQogCiAgICAgICAgIGlmIHN5cy5wbGF0Zm9ybSA9PSAnZGFyd2luJzoKLSAgICAgICAgICAgIGtlcm5lbF92ZXJzaW9uID0gb3MudW5hbWUoKVsyXSAjIEtlcm5lbCB2ZXJzaW9uICg4LjQuMykKKyAgICAgICAgICAgIGtlcm5lbF92ZXJzaW9uID0gb3MudW5hbWUoKVsyXSAgIyBLZXJuZWwgdmVyc2lvbiAoOC40LjMpCiAgICAgICAgICAgICBtYWpvcl92ZXJzaW9uID0gaW50KGtlcm5lbF92ZXJzaW9uLnNwbGl0KCcuJylbMF0pCiAKICAgICAgICAgICAgIGlmIG1ham9yX3ZlcnNpb24gPCA4OgpAQCAtNTY4LDYgKzU4MCw3IEBACiAgICAgZWxzZToKICAgICAgICAgcmV0dXJuIF9DT05GSUdfVkFSUwogCisKIGRlZiBnZXRfY29uZmlnX3ZhcihuYW1lKToKICAgICAiIiJSZXR1cm4gdGhlIHZhbHVlIG9mIGEgc2luZ2xlIHZhcmlhYmxlIHVzaW5nIHRoZSBkaWN0aW9uYXJ5IHJldHVybmVkIGJ5CiAgICAgJ2dldF9jb25maWdfdmFycygpJy4KQEAgLTU3Niw2ICs1ODksNyBAQAogICAgICIiIgogICAgIHJldHVybiBnZXRfY29uZmlnX3ZhcnMoKS5nZXQobmFtZSkKIAorCiBkZWYgZ2V0X3BsYXRmb3JtKCk6CiAgICAgIiIiUmV0dXJuIGEgc3RyaW5nIHRoYXQgaWRlbnRpZmllcyB0aGUgY3VycmVudCBwbGF0Zm9ybS4KIApAQCAtNjAxLDcgKzYxNSw2IEBACiAKICAgICBGb3Igb3RoZXIgbm9uLVBPU0lYIHBsYXRmb3JtcywgY3VycmVudGx5IGp1c3QgcmV0dXJucyAnc3lzLnBsYXRmb3JtJy4KICAgICAiIiIKLSAgICBpbXBvcnQgcmUKICAgICBpZiBvcy5uYW1lID09ICdudCc6CiAgICAgICAgICMgc25pZmYgc3lzLnZlcnNpb24gZm9yIGFyY2hpdGVjdHVyZS4KICAgICAgICAgcHJlZml4ID0gIiBiaXQgKCIKQEAgLTY1MSw3ICs2NjQsNyBAQAogICAgICAgICByZXR1cm4gIiVzLSVzLiVzIiAlIChvc25hbWUsIHZlcnNpb24sIHJlbGVhc2UpCiAgICAgZWxpZiBvc25hbWVbOjZdID09ICJjeWd3aW4iOgogICAgICAgICBvc25hbWUgPSAiY3lnd2luIgotICAgICAgICByZWxfcmUgPSByZS5jb21waWxlIChyJ1tcZC5dKycpCisgICAgICAgIHJlbF9yZSA9IHJlLmNvbXBpbGUocidbXGQuXSsnKQogICAgICAgICBtID0gcmVsX3JlLm1hdGNoKHJlbGVhc2UpCiAgICAgICAgIGlmIG06CiAgICAgICAgICAgICByZWxlYXNlID0gbS5ncm91cCgpCkBAIC02NjIsMTEgKzY3NSwxMCBAQAogICAgICAgICAjIHRvLiBUaGlzIG1ha2VzIHRoZSBjb21wYXRpYmlsaXR5IHN0b3J5IGEgYml0IG1vcmUgc2FuZSBiZWNhdXNlIHRoZQogICAgICAgICAjIG1hY2hpbmUgaXMgZ29pbmcgdG8gY29tcGlsZSBhbmQgbGluayBhcyBpZiBpdCB3ZXJlCiAgICAgICAgICMgTUFDT1NYX0RFUExPWU1FTlRfVEFSR0VULgotICAgICAgICAjCiAgICAgICAgIGNmZ3ZhcnMgPSBnZXRfY29uZmlnX3ZhcnMoKQogICAgICAgICBtYWN2ZXIgPSBjZmd2YXJzLmdldCgnTUFDT1NYX0RFUExPWU1FTlRfVEFSR0VUJykKIAotICAgICAgICBpZiAxOgorICAgICAgICBpZiBUcnVlOgogICAgICAgICAgICAgIyBBbHdheXMgY2FsY3VsYXRlIHRoZSByZWxlYXNlIG9mIHRoZSBydW5uaW5nIG1hY2hpbmUsCiAgICAgICAgICAgICAjIG5lZWRlZCB0byBkZXRlcm1pbmUgaWYgd2UgY2FuIGJ1aWxkIGZhdCBiaW5hcmllcyBvciBub3QuCiAKQEAgLTY4MiwxNCArNjk0LDEzIEBACiAgICAgICAgICAgICAgICAgcGFzcwogICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgICAgIG0gPSByZS5zZWFyY2goCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcic8a2V5PlByb2R1Y3RVc2VyVmlzaWJsZVZlcnNpb248L2tleT5ccyonICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICByJzxzdHJpbmc+KC4qPyk8L3N0cmluZz4nLCBmLnJlYWQoKSkKLSAgICAgICAgICAgICAgICAgICAgaWYgbSBpcyBub3QgTm9uZToKLSAgICAgICAgICAgICAgICAgICAgICAgIG1hY3JlbGVhc2UgPSAnLicuam9pbihtLmdyb3VwKDEpLnNwbGl0KCcuJylbOjJdKQotICAgICAgICAgICAgICAgICAgICAjIGVsc2U6IGZhbGwgYmFjayB0byB0aGUgZGVmYXVsdCBiZWhhdmlvdXIKKyAgICAgICAgICAgICAgICAgICAgbSA9IHJlLnNlYXJjaChyJzxrZXk+UHJvZHVjdFVzZXJWaXNpYmxlVmVyc2lvbjwva2V5PlxzKicKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByJzxzdHJpbmc+KC4qPyk8L3N0cmluZz4nLCBmLnJlYWQoKSkKICAgICAgICAgICAgICAgICBmaW5hbGx5OgogICAgICAgICAgICAgICAgICAgICBmLmNsb3NlKCkKKyAgICAgICAgICAgICAgICBpZiBtIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgICAgICAgICBtYWNyZWxlYXNlID0gJy4nLmpvaW4obS5ncm91cCgxKS5zcGxpdCgnLicpWzoyXSkKKyAgICAgICAgICAgICAgICAjIGVsc2U6IGZhbGwgYmFjayB0byB0aGUgZGVmYXVsdCBiZWhhdmlvdXIKIAogICAgICAgICBpZiBub3QgbWFjdmVyOgogICAgICAgICAgICAgbWFjdmVyID0gbWFjcmVsZWFzZQpAQCAtNjk4LDggKzcwOSw4IEBACiAgICAgICAgICAgICByZWxlYXNlID0gbWFjdmVyCiAgICAgICAgICAgICBvc25hbWUgPSAibWFjb3N4IgogCi0gICAgICAgICAgICBpZiAobWFjcmVsZWFzZSArICcuJykgPj0gJzEwLjQuJyBhbmQgXAotICAgICAgICAgICAgICAgICAgICAnLWFyY2gnIGluIGdldF9jb25maWdfdmFycygpLmdldCgnQ0ZMQUdTJywgJycpLnN0cmlwKCk6CisgICAgICAgICAgICBpZiAoKG1hY3JlbGVhc2UgKyAnLicpID49ICcxMC40LicgYW5kCisgICAgICAgICAgICAgICAgJy1hcmNoJyBpbiBnZXRfY29uZmlnX3ZhcnMoKS5nZXQoJ0NGTEFHUycsICcnKS5zdHJpcCgpKToKICAgICAgICAgICAgICAgICAjIFRoZSB1bml2ZXJzYWwgYnVpbGQgd2lsbCBidWlsZCBmYXQgYmluYXJpZXMsIGJ1dCBub3Qgb24KICAgICAgICAgICAgICAgICAjIHN5c3RlbXMgYmVmb3JlIDEwLjQKICAgICAgICAgICAgICAgICAjCkBAIC03MjYsNyArNzM3LDcgQEAKICAgICAgICAgICAgICAgICAgICAgbWFjaGluZSA9ICd1bml2ZXJzYWwnCiAgICAgICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigKLSAgICAgICAgICAgICAgICAgICAgICAgIkRvbid0IGtub3cgbWFjaGluZSB2YWx1ZSBmb3IgYXJjaHM9JXIiJShhcmNocywpKQorICAgICAgICAgICAgICAgICAgICAgICAiRG9uJ3Qga25vdyBtYWNoaW5lIHZhbHVlIGZvciBhcmNocz0lciIgJSAoYXJjaHMsKSkKIAogICAgICAgICAgICAgZWxpZiBtYWNoaW5lID09ICdpMzg2JzoKICAgICAgICAgICAgICAgICAjIE9uIE9TWCB0aGUgbWFjaGluZSB0eXBlIHJldHVybmVkIGJ5IHVuYW1lIGlzIGFsd2F5cyB0aGUKQEAgLTc0OSwyMSArNzYwLDI3IEBACiBkZWYgZ2V0X3B5dGhvbl92ZXJzaW9uKCk6CiAgICAgcmV0dXJuIF9QWV9WRVJTSU9OX1NIT1JUCiAKKwogZGVmIF9wcmludF9kaWN0KHRpdGxlLCBkYXRhKToKICAgICBmb3IgaW5kZXgsIChrZXksIHZhbHVlKSBpbiBlbnVtZXJhdGUoc29ydGVkKGRhdGEuaXRlbXMoKSkpOgogICAgICAgICBpZiBpbmRleCA9PSAwOgotICAgICAgICAgICAgcHJpbnQoJ3swfTogJy5mb3JtYXQodGl0bGUpKQotICAgICAgICBwcmludCgnXHR7MH0gPSAiezF9IicuZm9ybWF0KGtleSwgdmFsdWUpKQorICAgICAgICAgICAgcHJpbnQoJyVzOiAnICUgKHRpdGxlKSkKKyAgICAgICAgcHJpbnQoJ1x0JXMgPSAiJXMiJyAlIChrZXksIHZhbHVlKSkKKwogCiBkZWYgX21haW4oKToKICAgICAiIiJEaXNwbGF5IGFsbCBpbmZvcm1hdGlvbiBzeXNjb25maWcgZGV0YWlucy4iIiIKLSAgICBwcmludCgnUGxhdGZvcm06ICJ7MH0iJy5mb3JtYXQoZ2V0X3BsYXRmb3JtKCkpKQotICAgIHByaW50KCdQeXRob24gdmVyc2lvbjogInswfSInLmZvcm1hdChnZXRfcHl0aG9uX3ZlcnNpb24oKSkpCi0gICAgcHJpbnQoJ0N1cnJlbnQgaW5zdGFsbGF0aW9uIHNjaGVtZTogInswfSInLmZvcm1hdChfZ2V0X2RlZmF1bHRfc2NoZW1lKCkpKQotICAgIHByaW50KCcnKQorICAgIGlmICctLWdlbmVyYXRlLXBvc2l4LXZhcnMnIGluIHN5cy5hcmd2OgorICAgICAgICBfZ2VuZXJhdGVfcG9zaXhfdmFycygpCisgICAgICAgIHJldHVybgorICAgIHByaW50KCdQbGF0Zm9ybTogIiVzIicgJSBnZXRfcGxhdGZvcm0oKSkKKyAgICBwcmludCgnUHl0aG9uIHZlcnNpb246ICIlcyInICUgZ2V0X3B5dGhvbl92ZXJzaW9uKCkpCisgICAgcHJpbnQoJ0N1cnJlbnQgaW5zdGFsbGF0aW9uIHNjaGVtZTogIiVzIicgJSBfZ2V0X2RlZmF1bHRfc2NoZW1lKCkpCisgICAgcHJpbnQoKQogICAgIF9wcmludF9kaWN0KCdQYXRocycsIGdldF9wYXRocygpKQotICAgIHByaW50KCcnKQorICAgIHByaW50KCkKICAgICBfcHJpbnRfZGljdCgnVmFyaWFibGVzJywgZ2V0X2NvbmZpZ192YXJzKCkpCiAKKwogaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKICAgICBfbWFpbigpCmRpZmYgLS1naXQgYS9MaWIvdGFibmFubnkucHkgYi9MaWIvdGFibmFubnkucHkKaW5kZXggNDZmODE2My4uNGE1NGY4OSAxMDA3NTUKLS0tIGEvTGliL3RhYm5hbm55LnB5CisrKyBiL0xpYi90YWJuYW5ueS5weQpAQCAtMTI2LDYgKzEyNiw5IEBACiAgICAgICAgICAgICBlbHNlOiBwcmludChmaWxlLCBiYWRsaW5lLCByZXByKGxpbmUpKQogICAgICAgICByZXR1cm4KIAorICAgIGZpbmFsbHk6CisgICAgICAgIGYuY2xvc2UoKQorCiAgICAgaWYgdmVyYm9zZToKICAgICAgICAgcHJpbnQoIiVyOiBDbGVhbiBiaWxsIG9mIGhlYWx0aC4iICUgKGZpbGUsKSkKIApkaWZmIC0tZ2l0IGEvTGliL3RhcmZpbGUucHkgYi9MaWIvdGFyZmlsZS5weQppbmRleCBhZjMyYjBmLi5lMzM4MGEyIDEwMDY0NAotLS0gYS9MaWIvdGFyZmlsZS5weQorKysgYi9MaWIvdGFyZmlsZS5weQpAQCAtMjksOCArMjksNiBAQAogIiIiUmVhZCBmcm9tIGFuZCB3cml0ZSB0byB0YXIgZm9ybWF0IGFyY2hpdmVzLgogIiIiCiAKLV9fdmVyc2lvbl9fID0gIiRSZXZpc2lvbiQiCi0KIHZlcnNpb24gICAgID0gIjAuOS4wIgogX19hdXRob3JfXyAgPSAiTGFycyBHdXN0XHUwMGU0YmVsIChsYXJzQGd1c3RhZWJlbC5kZSkiCiBfX2RhdGVfXyAgICA9ICIkRGF0ZTogMjAxMS0wMi0yNSAxNzo0MjowMSArMDIwMCAoRnJpLCAyNSBGZWIgMjAxMSkgJCIKQEAgLTQyLDkgKzQwLDkgQEAKICMtLS0tLS0tLS0KIGltcG9ydCBzeXMKIGltcG9ydCBvcworaW1wb3J0IGlvCiBpbXBvcnQgc2h1dGlsCiBpbXBvcnQgc3RhdAotaW1wb3J0IGVycm5vCiBpbXBvcnQgdGltZQogaW1wb3J0IHN0cnVjdAogaW1wb3J0IGNvcHkKQEAgLTQyMywxMCArNDIxLDExIEBACiAgICAgICAgICAgICAgICAgc2VsZi5jcmMgPSB6bGliLmNyYzMyKGIiIikKICAgICAgICAgICAgICAgICBpZiBtb2RlID09ICJyIjoKICAgICAgICAgICAgICAgICAgICAgc2VsZi5faW5pdF9yZWFkX2d6KCkKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5leGNlcHRpb24gPSB6bGliLmVycm9yCiAgICAgICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAgICAgc2VsZi5faW5pdF93cml0ZV9neigpCiAKLSAgICAgICAgICAgIGlmIGNvbXB0eXBlID09ICJiejIiOgorICAgICAgICAgICAgZWxpZiBjb21wdHlwZSA9PSAiYnoyIjoKICAgICAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgICAgIGltcG9ydCBiejIKICAgICAgICAgICAgICAgICBleGNlcHQgSW1wb3J0RXJyb3I6CkBAIC00MzQsOCArNDMzLDI1IEBACiAgICAgICAgICAgICAgICAgaWYgbW9kZSA9PSAiciI6CiAgICAgICAgICAgICAgICAgICAgIHNlbGYuZGJ1ZiA9IGIiIgogICAgICAgICAgICAgICAgICAgICBzZWxmLmNtcCA9IGJ6Mi5CWjJEZWNvbXByZXNzb3IoKQorICAgICAgICAgICAgICAgICAgICBzZWxmLmV4Y2VwdGlvbiA9IElPRXJyb3IKICAgICAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICAgICBzZWxmLmNtcCA9IGJ6Mi5CWjJDb21wcmVzc29yKCkKKworICAgICAgICAgICAgZWxpZiBjb21wdHlwZSA9PSAieHoiOgorICAgICAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICAgICAgaW1wb3J0IGx6bWEKKyAgICAgICAgICAgICAgICBleGNlcHQgSW1wb3J0RXJyb3I6CisgICAgICAgICAgICAgICAgICAgIHJhaXNlIENvbXByZXNzaW9uRXJyb3IoImx6bWEgbW9kdWxlIGlzIG5vdCBhdmFpbGFibGUiKQorICAgICAgICAgICAgICAgIGlmIG1vZGUgPT0gInIiOgorICAgICAgICAgICAgICAgICAgICBzZWxmLmRidWYgPSBiIiIKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5jbXAgPSBsem1hLkxaTUFEZWNvbXByZXNzb3IoKQorICAgICAgICAgICAgICAgICAgICBzZWxmLmV4Y2VwdGlvbiA9IGx6bWEuTFpNQUVycm9yCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5jbXAgPSBsem1hLkxaTUFDb21wcmVzc29yKCkKKworICAgICAgICAgICAgZWxpZiBjb21wdHlwZSAhPSAidGFyIjoKKyAgICAgICAgICAgICAgICByYWlzZSBDb21wcmVzc2lvbkVycm9yKCJ1bmtub3duIGNvbXByZXNzaW9uIHR5cGUgJXIiICUgY29tcHR5cGUpCisKICAgICAgICAgZXhjZXB0OgogICAgICAgICAgICAgaWYgbm90IHNlbGYuX2V4dGZpbGVvYmo6CiAgICAgICAgICAgICAgICAgc2VsZi5maWxlb2JqLmNsb3NlKCkKQEAgLTU4Nyw3ICs2MDMsNyBAQAogICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgYnVmID0gc2VsZi5jbXAuZGVjb21wcmVzcyhidWYpCi0gICAgICAgICAgICBleGNlcHQgSU9FcnJvcjoKKyAgICAgICAgICAgIGV4Y2VwdCBzZWxmLmV4Y2VwdGlvbjoKICAgICAgICAgICAgICAgICByYWlzZSBSZWFkRXJyb3IoImludmFsaWQgY29tcHJlc3NlZCBkYXRhIikKICAgICAgICAgICAgIHNlbGYuZGJ1ZiArPSBidWYKICAgICAgICAgICAgIGMgKz0gbGVuKGJ1ZikKQEAgLTYyNSw3NiArNjQxLDE5IEBACiAgICAgICAgIHJldHVybiBzZWxmLmJ1ZgogCiAgICAgZGVmIGdldGNvbXB0eXBlKHNlbGYpOgotICAgICAgICBpZiBzZWxmLmJ1Zi5zdGFydHN3aXRoKGIiXDAzN1wyMTNcMDEwIik6CisgICAgICAgIGlmIHNlbGYuYnVmLnN0YXJ0c3dpdGgoYiJceDFmXHg4Ylx4MDgiKToKICAgICAgICAgICAgIHJldHVybiAiZ3oiCi0gICAgICAgIGlmIHNlbGYuYnVmWzA6M10gPT0gYiJCWmgiIGFuZCBzZWxmLmJ1Zls0OjEwXSA9PSBiIjFBWSZTWSI6CisgICAgICAgIGVsaWYgc2VsZi5idWZbMDozXSA9PSBiIkJaaCIgYW5kIHNlbGYuYnVmWzQ6MTBdID09IGIiMUFZJlNZIjoKICAgICAgICAgICAgIHJldHVybiAiYnoyIgotICAgICAgICByZXR1cm4gInRhciIKKyAgICAgICAgZWxpZiBzZWxmLmJ1Zi5zdGFydHN3aXRoKChiIlx4NWRceDAwXHgwMFx4ODAiLCBiIlx4ZmQ3elhaIikpOgorICAgICAgICAgICAgcmV0dXJuICJ4eiIKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJldHVybiAidGFyIgogCiAgICAgZGVmIGNsb3NlKHNlbGYpOgogICAgICAgICBzZWxmLmZpbGVvYmouY2xvc2UoKQogIyBjbGFzcyBTdHJlYW1Qcm94eQogCi1jbGFzcyBfQloyUHJveHkob2JqZWN0KToKLSAgICAiIiJTbWFsbCBwcm94eSBjbGFzcyB0aGF0IGVuYWJsZXMgZXh0ZXJuYWwgZmlsZSBvYmplY3QKLSAgICAgICBzdXBwb3J0IGZvciAicjpiejIiIGFuZCAidzpiejIiIG1vZGVzLiBUaGlzIGlzIGFjdHVhbGx5Ci0gICAgICAgYSB3b3JrYXJvdW5kIGZvciBhIGxpbWl0YXRpb24gaW4gYnoyIG1vZHVsZSdzIEJaMkZpbGUKLSAgICAgICBjbGFzcyB3aGljaCAodW5saWtlIGd6aXAuR3ppcEZpbGUpIGhhcyBubyBzdXBwb3J0IGZvcgotICAgICAgIGEgZmlsZSBvYmplY3QgYXJndW1lbnQuCi0gICAgIiIiCi0KLSAgICBibG9ja3NpemUgPSAxNiAqIDEwMjQKLQotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBmaWxlb2JqLCBtb2RlKToKLSAgICAgICAgc2VsZi5maWxlb2JqID0gZmlsZW9iagotICAgICAgICBzZWxmLm1vZGUgPSBtb2RlCi0gICAgICAgIHNlbGYubmFtZSA9IGdldGF0dHIoc2VsZi5maWxlb2JqLCAibmFtZSIsIE5vbmUpCi0gICAgICAgIHNlbGYuaW5pdCgpCi0KLSAgICBkZWYgaW5pdChzZWxmKToKLSAgICAgICAgaW1wb3J0IGJ6MgotICAgICAgICBzZWxmLnBvcyA9IDAKLSAgICAgICAgaWYgc2VsZi5tb2RlID09ICJyIjoKLSAgICAgICAgICAgIHNlbGYuYnoyb2JqID0gYnoyLkJaMkRlY29tcHJlc3NvcigpCi0gICAgICAgICAgICBzZWxmLmZpbGVvYmouc2VlaygwKQotICAgICAgICAgICAgc2VsZi5idWYgPSBiIiIKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHNlbGYuYnoyb2JqID0gYnoyLkJaMkNvbXByZXNzb3IoKQotCi0gICAgZGVmIHJlYWQoc2VsZiwgc2l6ZSk6Ci0gICAgICAgIHggPSBsZW4oc2VsZi5idWYpCi0gICAgICAgIHdoaWxlIHggPCBzaXplOgotICAgICAgICAgICAgcmF3ID0gc2VsZi5maWxlb2JqLnJlYWQoc2VsZi5ibG9ja3NpemUpCi0gICAgICAgICAgICBpZiBub3QgcmF3OgotICAgICAgICAgICAgICAgIGJyZWFrCi0gICAgICAgICAgICBkYXRhID0gc2VsZi5iejJvYmouZGVjb21wcmVzcyhyYXcpCi0gICAgICAgICAgICBzZWxmLmJ1ZiArPSBkYXRhCi0gICAgICAgICAgICB4ICs9IGxlbihkYXRhKQotCi0gICAgICAgIGJ1ZiA9IHNlbGYuYnVmWzpzaXplXQotICAgICAgICBzZWxmLmJ1ZiA9IHNlbGYuYnVmW3NpemU6XQotICAgICAgICBzZWxmLnBvcyArPSBsZW4oYnVmKQotICAgICAgICByZXR1cm4gYnVmCi0KLSAgICBkZWYgc2VlayhzZWxmLCBwb3MpOgotICAgICAgICBpZiBwb3MgPCBzZWxmLnBvczoKLSAgICAgICAgICAgIHNlbGYuaW5pdCgpCi0gICAgICAgIHNlbGYucmVhZChwb3MgLSBzZWxmLnBvcykKLQotICAgIGRlZiB0ZWxsKHNlbGYpOgotICAgICAgICByZXR1cm4gc2VsZi5wb3MKLQotICAgIGRlZiB3cml0ZShzZWxmLCBkYXRhKToKLSAgICAgICAgc2VsZi5wb3MgKz0gbGVuKGRhdGEpCi0gICAgICAgIHJhdyA9IHNlbGYuYnoyb2JqLmNvbXByZXNzKGRhdGEpCi0gICAgICAgIHNlbGYuZmlsZW9iai53cml0ZShyYXcpCi0KLSAgICBkZWYgY2xvc2Uoc2VsZik6Ci0gICAgICAgIGlmIHNlbGYubW9kZSA9PSAidyI6Ci0gICAgICAgICAgICByYXcgPSBzZWxmLmJ6Mm9iai5mbHVzaCgpCi0gICAgICAgICAgICBzZWxmLmZpbGVvYmoud3JpdGUocmF3KQotIyBjbGFzcyBfQloyUHJveHkKLQogIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogIyBFeHRyYWN0aW9uIGZpbGUgb2JqZWN0CiAjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkBAIC04NzUsMjAgKzgzNCwyMCBAQAogCiAgICAgICAgIHJldHVybiBzZWxmLnBvc2l0aW9uCiAKLSAgICBkZWYgc2VlayhzZWxmLCBwb3MsIHdoZW5jZT1vcy5TRUVLX1NFVCk6CisgICAgZGVmIHNlZWsoc2VsZiwgcG9zLCB3aGVuY2U9aW8uU0VFS19TRVQpOgogICAgICAgICAiIiJTZWVrIHRvIGEgcG9zaXRpb24gaW4gdGhlIGZpbGUuCiAgICAgICAgICIiIgogICAgICAgICBpZiBzZWxmLmNsb3NlZDoKICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIkkvTyBvcGVyYXRpb24gb24gY2xvc2VkIGZpbGUiKQogCi0gICAgICAgIGlmIHdoZW5jZSA9PSBvcy5TRUVLX1NFVDoKKyAgICAgICAgaWYgd2hlbmNlID09IGlvLlNFRUtfU0VUOgogICAgICAgICAgICAgc2VsZi5wb3NpdGlvbiA9IG1pbihtYXgocG9zLCAwKSwgc2VsZi5zaXplKQotICAgICAgICBlbGlmIHdoZW5jZSA9PSBvcy5TRUVLX0NVUjoKKyAgICAgICAgZWxpZiB3aGVuY2UgPT0gaW8uU0VFS19DVVI6CiAgICAgICAgICAgICBpZiBwb3MgPCAwOgogICAgICAgICAgICAgICAgIHNlbGYucG9zaXRpb24gPSBtYXgoc2VsZi5wb3NpdGlvbiArIHBvcywgMCkKICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgc2VsZi5wb3NpdGlvbiA9IG1pbihzZWxmLnBvc2l0aW9uICsgcG9zLCBzZWxmLnNpemUpCi0gICAgICAgIGVsaWYgd2hlbmNlID09IG9zLlNFRUtfRU5EOgorICAgICAgICBlbGlmIHdoZW5jZSA9PSBpby5TRUVLX0VORDoKICAgICAgICAgICAgIHNlbGYucG9zaXRpb24gPSBtYXgobWluKHNlbGYuc2l6ZSArIHBvcywgc2VsZi5zaXplKSwgMCkKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIkludmFsaWQgYXJndW1lbnQiKQpAQCAtMTA4Nyw3ICsxMDQ2LDcgQEAKICAgICBkZWYgY3JlYXRlX3BheF9nbG9iYWxfaGVhZGVyKGNscywgcGF4X2hlYWRlcnMpOgogICAgICAgICAiIiJSZXR1cm4gdGhlIG9iamVjdCBhcyBhIHBheCBnbG9iYWwgaGVhZGVyIGJsb2NrIHNlcXVlbmNlLgogICAgICAgICAiIiIKLSAgICAgICAgcmV0dXJuIGNscy5fY3JlYXRlX3BheF9nZW5lcmljX2hlYWRlcihwYXhfaGVhZGVycywgWEdMVFlQRSwgInV0ZjgiKQorICAgICAgICByZXR1cm4gY2xzLl9jcmVhdGVfcGF4X2dlbmVyaWNfaGVhZGVyKHBheF9oZWFkZXJzLCBYR0xUWVBFLCAidXRmLTgiKQogCiAgICAgZGVmIF9wb3NpeF9zcGxpdF9uYW1lKHNlbGYsIG5hbWUpOgogICAgICAgICAiIiJTcGxpdCBhIG5hbWUgbG9uZ2VyIHRoYW4gMTAwIGNoYXJzIGludG8gYSBwcmVmaXgKQEAgLTExNzAsNyArMTEyOSw3IEBACiAgICAgICAgIGJpbmFyeSA9IEZhbHNlCiAgICAgICAgIGZvciBrZXl3b3JkLCB2YWx1ZSBpbiBwYXhfaGVhZGVycy5pdGVtcygpOgogICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgIHZhbHVlLmVuY29kZSgidXRmOCIsICJzdHJpY3QiKQorICAgICAgICAgICAgICAgIHZhbHVlLmVuY29kZSgidXRmLTgiLCAic3RyaWN0IikKICAgICAgICAgICAgIGV4Y2VwdCBVbmljb2RlRW5jb2RlRXJyb3I6CiAgICAgICAgICAgICAgICAgYmluYXJ5ID0gVHJ1ZQogICAgICAgICAgICAgICAgIGJyZWFrCkBAIC0xMTgxLDEzICsxMTQwLDEzIEBACiAgICAgICAgICAgICByZWNvcmRzICs9IGIiMjEgaGRyY2hhcnNldD1CSU5BUllcbiIKIAogICAgICAgICBmb3Iga2V5d29yZCwgdmFsdWUgaW4gcGF4X2hlYWRlcnMuaXRlbXMoKToKLSAgICAgICAgICAgIGtleXdvcmQgPSBrZXl3b3JkLmVuY29kZSgidXRmOCIpCisgICAgICAgICAgICBrZXl3b3JkID0ga2V5d29yZC5lbmNvZGUoInV0Zi04IikKICAgICAgICAgICAgIGlmIGJpbmFyeToKICAgICAgICAgICAgICAgICAjIFRyeSB0byByZXN0b3JlIHRoZSBvcmlnaW5hbCBieXRlIHJlcHJlc2VudGF0aW9uIG9mIGB2YWx1ZScuCiAgICAgICAgICAgICAgICAgIyBOZWVkbGVzcyB0byBzYXksIHRoYXQgdGhlIGVuY29kaW5nIG11c3QgbWF0Y2ggdGhlIHN0cmluZy4KICAgICAgICAgICAgICAgICB2YWx1ZSA9IHZhbHVlLmVuY29kZShlbmNvZGluZywgInN1cnJvZ2F0ZWVzY2FwZSIpCiAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHZhbHVlID0gdmFsdWUuZW5jb2RlKCJ1dGY4IikKKyAgICAgICAgICAgICAgICB2YWx1ZSA9IHZhbHVlLmVuY29kZSgidXRmLTgiKQogCiAgICAgICAgICAgICBsID0gbGVuKGtleXdvcmQpICsgbGVuKHZhbHVlKSArIDMgICAjICcgJyArICc9JyArICdcbicKICAgICAgICAgICAgIG4gPSBwID0gMApAQCAtMTM5Niw3ICsxMzU1LDcgQEAKICAgICAgICAgIyB0aGUgdHJhbnNsYXRpb24gdG8gVVRGLTggZmFpbHMuCiAgICAgICAgIG1hdGNoID0gcmUuc2VhcmNoKGJyIlxkKyBoZHJjaGFyc2V0PShbXlxuXSspXG4iLCBidWYpCiAgICAgICAgIGlmIG1hdGNoIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgcGF4X2hlYWRlcnNbImhkcmNoYXJzZXQiXSA9IG1hdGNoLmdyb3VwKDEpLmRlY29kZSgidXRmOCIpCisgICAgICAgICAgICBwYXhfaGVhZGVyc1siaGRyY2hhcnNldCJdID0gbWF0Y2guZ3JvdXAoMSkuZGVjb2RlKCJ1dGYtOCIpCiAKICAgICAgICAgIyBGb3IgdGhlIHRpbWUgYmVpbmcsIHdlIGRvbid0IGNhcmUgYWJvdXQgYW55dGhpbmcgb3RoZXIgdGhhbiAiQklOQVJZIi4KICAgICAgICAgIyBUaGUgb25seSBvdGhlciB2YWx1ZSB0aGF0IGlzIGN1cnJlbnRseSBhbGxvd2VkIGJ5IHRoZSBzdGFuZGFyZCBpcwpAQCAtMTQwNSw3ICsxMzY0LDcgQEAKICAgICAgICAgaWYgaGRyY2hhcnNldCA9PSAiQklOQVJZIjoKICAgICAgICAgICAgIGVuY29kaW5nID0gdGFyZmlsZS5lbmNvZGluZwogICAgICAgICBlbHNlOgotICAgICAgICAgICAgZW5jb2RpbmcgPSAidXRmOCIKKyAgICAgICAgICAgIGVuY29kaW5nID0gInV0Zi04IgogCiAgICAgICAgICMgUGFyc2UgcGF4IGhlYWRlciBpbmZvcm1hdGlvbi4gQSByZWNvcmQgbG9va3MgbGlrZSB0aGF0OgogICAgICAgICAjICIlZCAlcz0lc1xuIiAlIChsZW5ndGgsIGtleXdvcmQsIHZhbHVlKS4gbGVuZ3RoIGlzIHRoZSBzaXplCkBAIC0xNDIyLDIwICsxMzgxLDIwIEBACiAgICAgICAgICAgICBsZW5ndGggPSBpbnQobGVuZ3RoKQogICAgICAgICAgICAgdmFsdWUgPSBidWZbbWF0Y2guZW5kKDIpICsgMTptYXRjaC5zdGFydCgxKSArIGxlbmd0aCAtIDFdCiAKLSAgICAgICAgICAgICMgTm9ybWFsbHksIHdlIGNvdWxkIGp1c3QgdXNlICJ1dGY4IiBhcyB0aGUgZW5jb2RpbmcgYW5kICJzdHJpY3QiCisgICAgICAgICAgICAjIE5vcm1hbGx5LCB3ZSBjb3VsZCBqdXN0IHVzZSAidXRmLTgiIGFzIHRoZSBlbmNvZGluZyBhbmQgInN0cmljdCIKICAgICAgICAgICAgICMgYXMgdGhlIGVycm9yIGhhbmRsZXIsIGJ1dCB3ZSBiZXR0ZXIgbm90IHRha2UgdGhlIHJpc2suIEZvcgogICAgICAgICAgICAgIyBleGFtcGxlLCBHTlUgdGFyIDw9IDEuMjMgaXMga25vd24gdG8gc3RvcmUgZmlsZW5hbWVzIGl0IGNhbm5vdAogICAgICAgICAgICAgIyB0cmFuc2xhdGUgdG8gVVRGLTggYXMgcmF3IHN0cmluZ3MgKHVuZm9ydHVuYXRlbHkgd2l0aG91dCBhCiAgICAgICAgICAgICAjIGhkcmNoYXJzZXQ9QklOQVJZIGhlYWRlcikuCiAgICAgICAgICAgICAjIFdlIGZpcnN0IHRyeSB0aGUgc3RyaWN0IHN0YW5kYXJkIGVuY29kaW5nLCBhbmQgaWYgdGhhdCBmYWlscyB3ZQogICAgICAgICAgICAgIyBmYWxsIGJhY2sgb24gdGhlIHVzZXIncyBlbmNvZGluZyBhbmQgZXJyb3IgaGFuZGxlci4KLSAgICAgICAgICAgIGtleXdvcmQgPSBzZWxmLl9kZWNvZGVfcGF4X2ZpZWxkKGtleXdvcmQsICJ1dGY4IiwgInV0ZjgiLAorICAgICAgICAgICAga2V5d29yZCA9IHNlbGYuX2RlY29kZV9wYXhfZmllbGQoa2V5d29yZCwgInV0Zi04IiwgInV0Zi04IiwKICAgICAgICAgICAgICAgICAgICAgdGFyZmlsZS5lcnJvcnMpCiAgICAgICAgICAgICBpZiBrZXl3b3JkIGluIFBBWF9OQU1FX0ZJRUxEUzoKICAgICAgICAgICAgICAgICB2YWx1ZSA9IHNlbGYuX2RlY29kZV9wYXhfZmllbGQodmFsdWUsIGVuY29kaW5nLCB0YXJmaWxlLmVuY29kaW5nLAogICAgICAgICAgICAgICAgICAgICAgICAgdGFyZmlsZS5lcnJvcnMpCiAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHZhbHVlID0gc2VsZi5fZGVjb2RlX3BheF9maWVsZCh2YWx1ZSwgInV0ZjgiLCAidXRmOCIsCisgICAgICAgICAgICAgICAgdmFsdWUgPSBzZWxmLl9kZWNvZGVfcGF4X2ZpZWxkKHZhbHVlLCAidXRmLTgiLCAidXRmLTgiLAogICAgICAgICAgICAgICAgICAgICAgICAgdGFyZmlsZS5lcnJvcnMpCiAKICAgICAgICAgICAgIHBheF9oZWFkZXJzW2tleXdvcmRdID0gdmFsdWUKQEAgLTE3MTQsMTggKzE2NzMsMjIgQEAKICAgICAgICAgICAgJ3I6JyAgICAgICAgIG9wZW4gZm9yIHJlYWRpbmcgZXhjbHVzaXZlbHkgdW5jb21wcmVzc2VkCiAgICAgICAgICAgICdyOmd6JyAgICAgICBvcGVuIGZvciByZWFkaW5nIHdpdGggZ3ppcCBjb21wcmVzc2lvbgogICAgICAgICAgICAncjpiejInICAgICAgb3BlbiBmb3IgcmVhZGluZyB3aXRoIGJ6aXAyIGNvbXByZXNzaW9uCisgICAgICAgICAgICdyOnh6JyAgICAgICBvcGVuIGZvciByZWFkaW5nIHdpdGggbHptYSBjb21wcmVzc2lvbgogICAgICAgICAgICAnYScgb3IgJ2E6JyAgb3BlbiBmb3IgYXBwZW5kaW5nLCBjcmVhdGluZyB0aGUgZmlsZSBpZiBuZWNlc3NhcnkKICAgICAgICAgICAgJ3cnIG9yICd3OicgIG9wZW4gZm9yIHdyaXRpbmcgd2l0aG91dCBjb21wcmVzc2lvbgogICAgICAgICAgICAndzpneicgICAgICAgb3BlbiBmb3Igd3JpdGluZyB3aXRoIGd6aXAgY29tcHJlc3Npb24KICAgICAgICAgICAgJ3c6YnoyJyAgICAgIG9wZW4gZm9yIHdyaXRpbmcgd2l0aCBiemlwMiBjb21wcmVzc2lvbgorICAgICAgICAgICAndzp4eicgICAgICAgb3BlbiBmb3Igd3JpdGluZyB3aXRoIGx6bWEgY29tcHJlc3Npb24KIAogICAgICAgICAgICAncnwqJyAgICAgICAgb3BlbiBhIHN0cmVhbSBvZiB0YXIgYmxvY2tzIHdpdGggdHJhbnNwYXJlbnQgY29tcHJlc3Npb24KICAgICAgICAgICAgJ3J8JyAgICAgICAgIG9wZW4gYW4gdW5jb21wcmVzc2VkIHN0cmVhbSBvZiB0YXIgYmxvY2tzIGZvciByZWFkaW5nCiAgICAgICAgICAgICdyfGd6JyAgICAgICBvcGVuIGEgZ3ppcCBjb21wcmVzc2VkIHN0cmVhbSBvZiB0YXIgYmxvY2tzCiAgICAgICAgICAgICdyfGJ6MicgICAgICBvcGVuIGEgYnppcDIgY29tcHJlc3NlZCBzdHJlYW0gb2YgdGFyIGJsb2NrcworICAgICAgICAgICAncnx4eicgICAgICAgb3BlbiBhbiBsem1hIGNvbXByZXNzZWQgc3RyZWFtIG9mIHRhciBibG9ja3MKICAgICAgICAgICAgJ3d8JyAgICAgICAgIG9wZW4gYW4gdW5jb21wcmVzc2VkIHN0cmVhbSBmb3Igd3JpdGluZwogICAgICAgICAgICAnd3xneicgICAgICAgb3BlbiBhIGd6aXAgY29tcHJlc3NlZCBzdHJlYW0gZm9yIHdyaXRpbmcKICAgICAgICAgICAgJ3d8YnoyJyAgICAgIG9wZW4gYSBiemlwMiBjb21wcmVzc2VkIHN0cmVhbSBmb3Igd3JpdGluZworICAgICAgICAgICAnd3x4eicgICAgICAgb3BlbiBhbiBsem1hIGNvbXByZXNzZWQgc3RyZWFtIGZvciB3cml0aW5nCiAgICAgICAgICIiIgogCiAgICAgICAgIGlmIG5vdCBuYW1lIGFuZCBub3QgZmlsZW9iajoKQEAgLTE4MzIsMTAgKzE3OTUsOCBAQAogICAgICAgICBleGNlcHQgSW1wb3J0RXJyb3I6CiAgICAgICAgICAgICByYWlzZSBDb21wcmVzc2lvbkVycm9yKCJiejIgbW9kdWxlIGlzIG5vdCBhdmFpbGFibGUiKQogCi0gICAgICAgIGlmIGZpbGVvYmogaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICBmaWxlb2JqID0gX0JaMlByb3h5KGZpbGVvYmosIG1vZGUpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBmaWxlb2JqID0gYnoyLkJaMkZpbGUobmFtZSwgbW9kZSwgY29tcHJlc3NsZXZlbD1jb21wcmVzc2xldmVsKQorICAgICAgICBmaWxlb2JqID0gYnoyLkJaMkZpbGUoZmlsZW5hbWU9bmFtZSBpZiBmaWxlb2JqIGlzIE5vbmUgZWxzZSBOb25lLAorICAgICAgICAgICAgICAgIG1vZGU9bW9kZSwgZmlsZW9iaj1maWxlb2JqLCBjb21wcmVzc2xldmVsPWNvbXByZXNzbGV2ZWwpCiAKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgdCA9IGNscy50YXJvcGVuKG5hbWUsIG1vZGUsIGZpbGVvYmosICoqa3dhcmdzKQpAQCAtMTg0NSwxMSArMTgwNiwzNiBAQAogICAgICAgICB0Ll9leHRmaWxlb2JqID0gRmFsc2UKICAgICAgICAgcmV0dXJuIHQKIAorICAgIEBjbGFzc21ldGhvZAorICAgIGRlZiB4em9wZW4oY2xzLCBuYW1lLCBtb2RlPSJyIiwgZmlsZW9iaj1Ob25lLCBwcmVzZXQ9Tm9uZSwgKiprd2FyZ3MpOgorICAgICAgICAiIiJPcGVuIGx6bWEgY29tcHJlc3NlZCB0YXIgYXJjaGl2ZSBuYW1lIGZvciByZWFkaW5nIG9yIHdyaXRpbmcuCisgICAgICAgICAgIEFwcGVuZGluZyBpcyBub3QgYWxsb3dlZC4KKyAgICAgICAgIiIiCisgICAgICAgIGlmIG1vZGUgbm90IGluICgiciIsICJ3Iik6CisgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJtb2RlIG11c3QgYmUgJ3InIG9yICd3JyIpCisKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgaW1wb3J0IGx6bWEKKyAgICAgICAgZXhjZXB0IEltcG9ydEVycm9yOgorICAgICAgICAgICAgcmFpc2UgQ29tcHJlc3Npb25FcnJvcigibHptYSBtb2R1bGUgaXMgbm90IGF2YWlsYWJsZSIpCisKKyAgICAgICAgZmlsZW9iaiA9IGx6bWEuTFpNQUZpbGUoZmlsZW5hbWU9bmFtZSBpZiBmaWxlb2JqIGlzIE5vbmUgZWxzZSBOb25lLAorICAgICAgICAgICAgICAgIG1vZGU9bW9kZSwgZmlsZW9iaj1maWxlb2JqLCBwcmVzZXQ9cHJlc2V0KQorCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHQgPSBjbHMudGFyb3BlbihuYW1lLCBtb2RlLCBmaWxlb2JqLCAqKmt3YXJncykKKyAgICAgICAgZXhjZXB0IChsem1hLkxaTUFFcnJvciwgRU9GRXJyb3IpOgorICAgICAgICAgICAgZmlsZW9iai5jbG9zZSgpCisgICAgICAgICAgICByYWlzZSBSZWFkRXJyb3IoIm5vdCBhbiBsem1hIGZpbGUiKQorICAgICAgICB0Ll9leHRmaWxlb2JqID0gRmFsc2UKKyAgICAgICAgcmV0dXJuIHQKKwogICAgICMgQWxsICpvcGVuKCkgbWV0aG9kcyBhcmUgcmVnaXN0ZXJlZCBoZXJlLgogICAgIE9QRU5fTUVUSCA9IHsKICAgICAgICAgInRhciI6ICJ0YXJvcGVuIiwgICAjIHVuY29tcHJlc3NlZCB0YXIKICAgICAgICAgImd6IjogICJnem9wZW4iLCAgICAjIGd6aXAgY29tcHJlc3NlZCB0YXIKLSAgICAgICAgImJ6MiI6ICJiejJvcGVuIiAgICAjIGJ6aXAyIGNvbXByZXNzZWQgdGFyCisgICAgICAgICJiejIiOiAiYnoyb3BlbiIsICAgIyBiemlwMiBjb21wcmVzc2VkIHRhcgorICAgICAgICAieHoiOiAgInh6b3BlbiIgICAgICMgbHptYSBjb21wcmVzc2VkIHRhcgogICAgIH0KIAogICAgICMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpAQCAtMjI4Myw5ICsyMjY5LDggQEAKICAgICAgICAgICAgICMgVXNlIGEgc2FmZSBtb2RlIGZvciB0aGUgZGlyZWN0b3J5LCB0aGUgcmVhbCBtb2RlIGlzIHNldAogICAgICAgICAgICAgIyBsYXRlciBpbiBfZXh0cmFjdF9tZW1iZXIoKS4KICAgICAgICAgICAgIG9zLm1rZGlyKHRhcmdldHBhdGgsIDBvNzAwKQotICAgICAgICBleGNlcHQgRW52aXJvbm1lbnRFcnJvciBhcyBlOgotICAgICAgICAgICAgaWYgZS5lcnJubyAhPSBlcnJuby5FRVhJU1Q6Ci0gICAgICAgICAgICAgICAgcmFpc2UKKyAgICAgICAgZXhjZXB0IEZpbGVFeGlzdHNFcnJvcjoKKyAgICAgICAgICAgIHBhc3MKIAogICAgIGRlZiBtYWtlZmlsZShzZWxmLCB0YXJpbmZvLCB0YXJnZXRwYXRoKToKICAgICAgICAgIiIiTWFrZSBhIGZpbGUgY2FsbGVkIHRhcmdldHBhdGguCmRpZmYgLS1naXQgYS9MaWIvdGVtcGZpbGUucHkgYi9MaWIvdGVtcGZpbGUucHkKaW5kZXggMzRkZmYzMC4uMzllYmY1YSAxMDA2NDQKLS0tIGEvTGliL3RlbXBmaWxlLnB5CisrKyBiL0xpYi90ZW1wZmlsZS5weQpAQCAtMTAsOCArMTAsNiBAQAogCiAgIFRNUF9NQVggIC0gbWF4aW11bSBudW1iZXIgb2YgbmFtZXMgdGhhdCB3aWxsIGJlIHRyaWVkIGJlZm9yZQogICAgICAgICAgICAgIGdpdmluZyB1cC4KLSAgdGVtcGxhdGUgLSB0aGUgZGVmYXVsdCBwcmVmaXggZm9yIGFsbCB0ZW1wb3JhcnkgbmFtZXMuCi0gICAgICAgICAgICAgWW91IG1heSBjaGFuZ2UgdGhpcyB0byBjb250cm9sIHRoZSBkZWZhdWx0IHByZWZpeC4KICAgdGVtcGRpciAgLSBJZiB0aGlzIGlzIHNldCB0byBhIHN0cmluZyBiZWZvcmUgdGhlIGZpcnN0IHVzZSBvZgogICAgICAgICAgICAgIGFueSByb3V0aW5lIGZyb20gdGhpcyBtb2R1bGUsIGl0IHdpbGwgYmUgY29uc2lkZXJlZCBhcwogICAgICAgICAgICAgIGFub3RoZXIgY2FuZGlkYXRlIGxvY2F0aW9uIHRvIHN0b3JlIHRlbXBvcmFyeSBmaWxlcy4KQEAgLTMzLDcgKzMxLDYgQEAKIGltcG9ydCBzeXMgYXMgX3N5cwogaW1wb3J0IGlvIGFzIF9pbwogaW1wb3J0IG9zIGFzIF9vcwotaW1wb3J0IGVycm5vIGFzIF9lcnJubwogZnJvbSByYW5kb20gaW1wb3J0IFJhbmRvbSBhcyBfUmFuZG9tCiAKIHRyeToKQEAgLTQ1LDcgKzQyLDcgQEAKICAgICBkZWYgX3NldF9jbG9leGVjKGZkKToKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgZmxhZ3MgPSBfZmNudGwuZmNudGwoZmQsIF9mY250bC5GX0dFVEZELCAwKQotICAgICAgICBleGNlcHQgSU9FcnJvcjoKKyAgICAgICAgZXhjZXB0IE9TRXJyb3I6CiAgICAgICAgICAgICBwYXNzCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAjIGZsYWdzIHJlYWQgc3VjY2Vzc2Z1bGx5LCBtb2RpZnkKQEAgLTc0LDYgKzcxLDggQEAKIGVsc2U6CiAgICAgVE1QX01BWCA9IDEwMDAwCiAKKyMgQWx0aG91Z2ggaXQgZG9lcyBub3QgaGF2ZSBhbiB1bmRlcnNjb3JlIGZvciBoaXN0b3JpY2FsIHJlYXNvbnMsIHRoaXMKKyMgdmFyaWFibGUgaXMgYW4gaW50ZXJuYWwgaW1wbGVtZW50YXRpb24gZGV0YWlsIChzZWUgaXNzdWUgMTAzNTQpLgogdGVtcGxhdGUgPSAidG1wIgogCiAjIEludGVybmFsIHJvdXRpbmVzLgpAQCAtODUsMTkgKzg0LDE2IEBACiBlbGlmIGhhc2F0dHIoX29zLCAic3RhdCIpOgogICAgIF9zdGF0ID0gX29zLnN0YXQKIGVsc2U6Ci0gICAgIyBGYWxsYmFjay4gIEFsbCB3ZSBuZWVkIGlzIHNvbWV0aGluZyB0aGF0IHJhaXNlcyBvcy5lcnJvciBpZiB0aGUKKyAgICAjIEZhbGxiYWNrLiAgQWxsIHdlIG5lZWQgaXMgc29tZXRoaW5nIHRoYXQgcmFpc2VzIE9TRXJyb3IgaWYgdGhlCiAgICAgIyBmaWxlIGRvZXNuJ3QgZXhpc3QuCiAgICAgZGVmIF9zdGF0KGZuKToKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgZiA9IG9wZW4oZm4pCi0gICAgICAgIGV4Y2VwdCBJT0Vycm9yOgotICAgICAgICAgICAgcmFpc2UgX29zLmVycm9yCisgICAgICAgIGYgPSBvcGVuKGZuKQogICAgICAgICBmLmNsb3NlKCkKIAogZGVmIF9leGlzdHMoZm4pOgogICAgIHRyeToKICAgICAgICAgX3N0YXQoZm4pCi0gICAgZXhjZXB0IF9vcy5lcnJvcjoKKyAgICBleGNlcHQgT1NFcnJvcjoKICAgICAgICAgcmV0dXJuIEZhbHNlCiAgICAgZWxzZToKICAgICAgICAgcmV0dXJuIFRydWUKQEAgLTE0OSw3ICsxNDUsNyBAQAogICAgICMgQXMgYSBsYXN0IHJlc29ydCwgdGhlIGN1cnJlbnQgZGlyZWN0b3J5LgogICAgIHRyeToKICAgICAgICAgZGlybGlzdC5hcHBlbmQoX29zLmdldGN3ZCgpKQotICAgIGV4Y2VwdCAoQXR0cmlidXRlRXJyb3IsIF9vcy5lcnJvcik6CisgICAgZXhjZXB0IChBdHRyaWJ1dGVFcnJvciwgT1NFcnJvcik6CiAgICAgICAgIGRpcmxpc3QuYXBwZW5kKF9vcy5jdXJkaXIpCiAKICAgICByZXR1cm4gZGlybGlzdApAQCAtMTgxLDEyICsxNzcsMTEgQEAKICAgICAgICAgICAgICAgICBfb3MudW5saW5rKGZpbGVuYW1lKQogICAgICAgICAgICAgICAgIGRlbCBmcCwgZmQKICAgICAgICAgICAgICAgICByZXR1cm4gZGlyCi0gICAgICAgICAgICBleGNlcHQgKE9TRXJyb3IsIElPRXJyb3IpIGFzIGU6Ci0gICAgICAgICAgICAgICAgaWYgZS5hcmdzWzBdICE9IF9lcnJuby5FRVhJU1Q6Ci0gICAgICAgICAgICAgICAgICAgIGJyZWFrICMgbm8gcG9pbnQgdHJ5aW5nIG1vcmUgbmFtZXMgaW4gdGhpcyBkaXJlY3RvcnkKKyAgICAgICAgICAgIGV4Y2VwdCBGaWxlRXhpc3RzRXJyb3I6CiAgICAgICAgICAgICAgICAgcGFzcwotICAgIHJhaXNlIElPRXJyb3IoX2Vycm5vLkVOT0VOVCwKLSAgICAgICAgICAgICAgICAgICJObyB1c2FibGUgdGVtcG9yYXJ5IGRpcmVjdG9yeSBmb3VuZCBpbiAlcyIgJSBkaXJsaXN0KQorICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3I6CisgICAgICAgICAgICAgICAgYnJlYWsgICAjIG5vIHBvaW50IHRyeWluZyBtb3JlIG5hbWVzIGluIHRoaXMgZGlyZWN0b3J5CisgICAgcmFpc2UgRmlsZU5vdEZvdW5kRXJyb3IoIk5vIHVzYWJsZSB0ZW1wb3JhcnkgZGlyZWN0b3J5IGZvdW5kIGluICVzIiAlIGRpcmxpc3QpCiAKIF9uYW1lX3NlcXVlbmNlID0gTm9uZQogCkBAIC0yMTYsMTIgKzIxMSwxMCBAQAogICAgICAgICAgICAgZmQgPSBfb3Mub3BlbihmaWxlLCBmbGFncywgMG82MDApCiAgICAgICAgICAgICBfc2V0X2Nsb2V4ZWMoZmQpCiAgICAgICAgICAgICByZXR1cm4gKGZkLCBfb3MucGF0aC5hYnNwYXRoKGZpbGUpKQotICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlOgotICAgICAgICAgICAgaWYgZS5lcnJubyA9PSBfZXJybm8uRUVYSVNUOgotICAgICAgICAgICAgICAgIGNvbnRpbnVlICMgdHJ5IGFnYWluCi0gICAgICAgICAgICByYWlzZQorICAgICAgICBleGNlcHQgRmlsZUV4aXN0c0Vycm9yOgorICAgICAgICAgICAgY29udGludWUgICAgIyB0cnkgYWdhaW4KIAotICAgIHJhaXNlIElPRXJyb3IoX2Vycm5vLkVFWElTVCwgIk5vIHVzYWJsZSB0ZW1wb3JhcnkgZmlsZSBuYW1lIGZvdW5kIikKKyAgICByYWlzZSBGaWxlRXhpc3RzRXJyb3IoIk5vIHVzYWJsZSB0ZW1wb3JhcnkgZmlsZSBuYW1lIGZvdW5kIikKIAogCiAjIFVzZXIgdmlzaWJsZSBpbnRlcmZhY2VzLgpAQCAtMzA1LDEyICsyOTgsMTAgQEAKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgX29zLm1rZGlyKGZpbGUsIDBvNzAwKQogICAgICAgICAgICAgcmV0dXJuIGZpbGUKLSAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKLSAgICAgICAgICAgIGlmIGUuZXJybm8gPT0gX2Vycm5vLkVFWElTVDoKLSAgICAgICAgICAgICAgICBjb250aW51ZSAjIHRyeSBhZ2FpbgotICAgICAgICAgICAgcmFpc2UKKyAgICAgICAgZXhjZXB0IEZpbGVFeGlzdHNFcnJvcjoKKyAgICAgICAgICAgIGNvbnRpbnVlICAgICMgdHJ5IGFnYWluCiAKLSAgICByYWlzZSBJT0Vycm9yKF9lcnJuby5FRVhJU1QsICJObyB1c2FibGUgdGVtcG9yYXJ5IGRpcmVjdG9yeSBuYW1lIGZvdW5kIikKKyAgICByYWlzZSBGaWxlRXhpc3RzRXJyb3IoIk5vIHVzYWJsZSB0ZW1wb3JhcnkgZGlyZWN0b3J5IG5hbWUgZm91bmQiKQogCiBkZWYgbWt0ZW1wKHN1ZmZpeD0iIiwgcHJlZml4PXRlbXBsYXRlLCBkaXI9Tm9uZSk6CiAgICAgIiIiVXNlci1jYWxsYWJsZSBmdW5jdGlvbiB0byByZXR1cm4gYSB1bmlxdWUgdGVtcG9yYXJ5IGZpbGUgbmFtZS4gIFRoZQpAQCAtMzM5LDcgKzMzMCw3IEBACiAgICAgICAgIGlmIG5vdCBfZXhpc3RzKGZpbGUpOgogICAgICAgICAgICAgcmV0dXJuIGZpbGUKIAotICAgIHJhaXNlIElPRXJyb3IoX2Vycm5vLkVFWElTVCwgIk5vIHVzYWJsZSB0ZW1wb3JhcnkgZmlsZW5hbWUgZm91bmQiKQorICAgIHJhaXNlIEZpbGVFeGlzdHNFcnJvcigiTm8gdXNhYmxlIHRlbXBvcmFyeSBmaWxlbmFtZSBmb3VuZCIpCiAKIAogY2xhc3MgX1RlbXBvcmFyeUZpbGVXcmFwcGVyOgpAQCAtNTkyLDggKzU4MywxMyBAQAogICAgIGRlZiB0ZWxsKHNlbGYpOgogICAgICAgICByZXR1cm4gc2VsZi5fZmlsZS50ZWxsKCkKIAotICAgIGRlZiB0cnVuY2F0ZShzZWxmKToKLSAgICAgICAgc2VsZi5fZmlsZS50cnVuY2F0ZSgpCisgICAgZGVmIHRydW5jYXRlKHNlbGYsIHNpemU9Tm9uZSk6CisgICAgICAgIGlmIHNpemUgaXMgTm9uZToKKyAgICAgICAgICAgIHNlbGYuX2ZpbGUudHJ1bmNhdGUoKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgaWYgc2l6ZSA+IHNlbGYuX21heF9zaXplOgorICAgICAgICAgICAgICAgIHNlbGYucm9sbG92ZXIoKQorICAgICAgICAgICAgc2VsZi5fZmlsZS50cnVuY2F0ZShzaXplKQogCiAgICAgZGVmIHdyaXRlKHNlbGYsIHMpOgogICAgICAgICBmaWxlID0gc2VsZi5fZmlsZQpAQCAtNjY5LDcgKzY2NSw3IEBACiAgICAgX2lzbGluayA9IHN0YXRpY21ldGhvZChfb3MucGF0aC5pc2xpbmspCiAgICAgX3JlbW92ZSA9IHN0YXRpY21ldGhvZChfb3MucmVtb3ZlKQogICAgIF9ybWRpciA9IHN0YXRpY21ldGhvZChfb3Mucm1kaXIpCi0gICAgX29zX2Vycm9yID0gX29zLmVycm9yCisgICAgX29zX2Vycm9yID0gT1NFcnJvcgogICAgIF93YXJuID0gX3dhcm5pbmdzLndhcm4KIAogICAgIGRlZiBfcm10cmVlKHNlbGYsIHBhdGgpOgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvYnVmZmVyX3Rlc3RzLnB5IGIvTGliL3Rlc3QvYnVmZmVyX3Rlc3RzLnB5CmluZGV4IDZkMjBmN2QuLmNmNTRjMjggMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L2J1ZmZlcl90ZXN0cy5weQorKysgYi9MaWIvdGVzdC9idWZmZXJfdGVzdHMucHkKQEAgLTIwMCw3ICsyMDAsMTMgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLm1hcnNoYWwoYidhYmNcbmRlZlxyXG5naGlcblxyJykuc3BsaXRsaW5lcygpKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKFtiJycsIGInYWJjJywgYidkZWYnLCBiJ2doaScsIGInJ10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5tYXJzaGFsKGInXG5hYmNcbmRlZlxyXG5naGlcblxyJykuc3BsaXRsaW5lcygpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKFtiJycsIGInYWJjJywgYidkZWYnLCBiJ2doaScsIGInJ10sCisgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5tYXJzaGFsKGInXG5hYmNcbmRlZlxyXG5naGlcblxyJykuc3BsaXRsaW5lcyhGYWxzZSkpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoW2InXG4nLCBiJ2FiY1xuJywgYidkZWZcclxuJywgYidnaGlcbicsIGInXHInXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLm1hcnNoYWwoYidcbmFiY1xuZGVmXHJcbmdoaVxuXHInKS5zcGxpdGxpbmVzKDEpKQorICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYubWFyc2hhbChiJ1xuYWJjXG5kZWZcclxuZ2hpXG5ccicpLnNwbGl0bGluZXMoVHJ1ZSkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoW2InJywgYidhYmMnLCBiJ2RlZicsIGInZ2hpJywgYicnXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLm1hcnNoYWwoYidcbmFiY1xuZGVmXHJcbmdoaVxuXHInKS5zcGxpdGxpbmVzKGtlZXBlbmRzPUZhbHNlKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChbYidcbicsIGInYWJjXG4nLCBiJ2RlZlxyXG4nLCBiJ2doaVxuJywgYidcciddLAorICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYubWFyc2hhbChiJ1xuYWJjXG5kZWZcclxuZ2hpXG5ccicpLnNwbGl0bGluZXMoa2VlcGVuZHM9VHJ1ZSkpCiAKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBzZWxmLm1hcnNoYWwoYidhYmMnKS5zcGxpdGxpbmVzLCA0MiwgNDIpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC9jcmFzaGVycy9SRUFETUUgYi9MaWIvdGVzdC9jcmFzaGVycy9SRUFETUUKaW5kZXggMmE3M2UxYi4uMDI1OWEwNiAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvY3Jhc2hlcnMvUkVBRE1FCisrKyBiL0xpYi90ZXN0L2NyYXNoZXJzL1JFQURNRQpAQCAtMTQsMyArMTQsNyBAQAogT25jZSB0aGUgY3Jhc2ggaXMgZml4ZWQsIHRoZSB0ZXN0IGNhc2Ugc2hvdWxkIGJlIG1vdmVkIGludG8gYW4gYXBwcm9wcmlhdGUgdGVzdAogKGV2ZW4gaWYgaXQgd2FzIG9yaWdpbmFsbHkgZnJvbSB0aGUgdGVzdCBzdWl0ZSkuICBUaGlzIGVuc3VyZXMgdGhlIHJlZ3Jlc3Npb24KIGRvZXNuJ3QgaGFwcGVuIGFnYWluLiAgQW5kIGlmIGl0IGRvZXMsIGl0IHNob3VsZCBiZSBlYXNpZXIgdG8gdHJhY2sgZG93bi4KKworQWxzbyBzZWUgTGliL3Rlc3RfY3Jhc2hlcnMucHkgd2hpY2ggZXhlcmNpc2VzIHRoZSBjcmFzaGVycyBpbiB0aGlzIGRpcmVjdG9yeS4KK0luIHBhcnRpY3VsYXIsIG1ha2Ugc3VyZSB0byBhZGQgYW55IG5ldyBpbmZpbml0ZSBsb29wIGNyYXNoZXJzIHRvIHRoZSBibGFjaworbGlzdCBzbyBpdCBkb2Vzbid0IHRyeSB0byBydW4gdGhlbS4KZGlmZiAtLWdpdCBhL0xpYi90ZXN0L2NyYXNoZXJzL2JvcnJvd2VkX3JlZl8xLnB5IGIvTGliL3Rlc3QvY3Jhc2hlcnMvYm9ycm93ZWRfcmVmXzEucHkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI4MmY0NjQuLjAwMDAwMDAKLS0tIGEvTGliL3Rlc3QvY3Jhc2hlcnMvYm9ycm93ZWRfcmVmXzEucHkKKysrIC9kZXYvbnVsbApAQCAtMSwyOSArMCwwIEBACi0iIiIKLV9QeVR5cGVfTG9va3VwKCkgcmV0dXJucyBhIGJvcnJvd2VkIHJlZmVyZW5jZS4KLVRoaXMgYXR0YWNrcyB0aGUgY2FsbCBpbiBkaWN0b2JqZWN0LmMuCi0iIiIKLQotY2xhc3MgQShvYmplY3QpOgotICAgIHBhc3MKLQotY2xhc3MgQihvYmplY3QpOgotICAgIGRlZiBfX2RlbF9fKHNlbGYpOgotICAgICAgICBwcmludCgnaGknKQotICAgICAgICBkZWwgRC5fX21pc3NpbmdfXwotCi1jbGFzcyBEKGRpY3QpOgotICAgIGNsYXNzIF9fbWlzc2luZ19fOgotICAgICAgICBkZWYgX19pbml0X18oc2VsZiwgKmFyZ3MpOgotICAgICAgICAgICAgcGFzcwotCi0KLWQgPSBEKCkKLWEgPSBBKCkKLWEuY3ljbGUgPSBhCi1hLm90aGVyID0gQigpCi1kZWwgYQotCi1wcmV2ID0gTm9uZQotd2hpbGUgMToKLSAgICBkWzVdCi0gICAgcHJldiA9IChwcmV2LCkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L2NyYXNoZXJzL2JvcnJvd2VkX3JlZl8yLnB5IGIvTGliL3Rlc3QvY3Jhc2hlcnMvYm9ycm93ZWRfcmVmXzIucHkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZlNDAzZWIuLjAwMDAwMDAKLS0tIGEvTGliL3Rlc3QvY3Jhc2hlcnMvYm9ycm93ZWRfcmVmXzIucHkKKysrIC9kZXYvbnVsbApAQCAtMSwzOCArMCwwIEBACi0iIiIKLV9QeVR5cGVfTG9va3VwKCkgcmV0dXJucyBhIGJvcnJvd2VkIHJlZmVyZW5jZS4KLVRoaXMgYXR0YWNrcyBQeU9iamVjdF9HZW5lcmljU2V0QXR0cigpLgotCi1OQi4gb24gbXkgbWFjaGluZSB0aGlzIGNyYXNoZXMgaW4gMi41IGRlYnVnIGJ1dCBub3QgcmVsZWFzZS4KLSIiIgotCi1jbGFzcyBBKG9iamVjdCk6Ci0gICAgcGFzcwotCi1jbGFzcyBCKG9iamVjdCk6Ci0gICAgZGVmIF9fZGVsX18oc2VsZik6Ci0gICAgICAgIHByaW50KCJoaSIpCi0gICAgICAgIGRlbCBDLmQKLQotY2xhc3MgRChvYmplY3QpOgotICAgIGRlZiBfX3NldF9fKHNlbGYsIG9iaiwgdmFsdWUpOgotICAgICAgICBzZWxmLmhlbGxvID0gNDIKLQotY2xhc3MgQyhvYmplY3QpOgotICAgIGQgPSBEKCkKLQotICAgIGRlZiBnKCk6Ci0gICAgICAgIHBhc3MKLQotCi1jID0gQygpCi1hID0gQSgpCi1hLmN5Y2xlID0gYQotYS5vdGhlciA9IEIoKQotCi1sc3QgPSBbTm9uZV0gKiAxMDAwMDAwCi1pID0gMAotZGVsIGEKLXdoaWxlIDE6Ci0gICAgYy5kID0gNDIgICAgICAgICAjIHNlZ2ZhdWx0cyBpbiBQeU1ldGhvZF9OZXcoX19mdW5jX189RC5fX3NldF9fLCBfX3NlbGZfXz1kKQotICAgIGxzdFtpXSA9IGMuZyAgICAgIyBjb25zdW1lIHRoZSBmcmVlIGxpc3Qgb2YgaW5zdGFuY2VtZXRob2Qgb2JqZWN0cwotICAgIGkgKz0gMQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvY3Jhc2hlcnMvY29tcGlsZXJfcmVjdXJzaW9uLnB5IGIvTGliL3Rlc3QvY3Jhc2hlcnMvY29tcGlsZXJfcmVjdXJzaW9uLnB5CmluZGV4IDQ5NTRiZGQuLjMxZjI4YTkgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L2NyYXNoZXJzL2NvbXBpbGVyX3JlY3Vyc2lvbi5weQorKysgYi9MaWIvdGVzdC9jcmFzaGVycy9jb21waWxlcl9yZWN1cnNpb24ucHkKQEAgLTEsNSArMSwxMyBAQAogIiIiCi1UaGUgY29tcGlsZXIgKD49IDIuNSkgcmVjdXJzZXMgaGFwcGlseS4KK1RoZSBjb21waWxlciAoPj0gMi41KSByZWN1cnNlcyBoYXBwaWx5IHVudGlsIGl0IGJsb3dzIHRoZSBzdGFjay4KKworUmVjb3JkZWQgb24gdGhlIHRyYWNrZXIgYXMgaHR0cDovL2J1Z3MucHl0aG9uLm9yZy9pc3N1ZTExMzgzCiAiIiIKIAotY29tcGlsZSgnKCknKjkqKjUsICc/JywgJ2V4ZWMnKQorIyBUaGUgdmFyaWFudCBiZWxvdyBibG93cyB1cCBpbiBjb21waWxlcl9jYWxsLCBidXQgdGhlcmUgYXJlIGFzc29ydGVkCisjIG90aGVyIHZhcmlhdGlvbnMgdGhhdCBibG93IHVwIGluIG90aGVyIGZ1bmN0aW9ucworIyBlLmcuICcxKicqMTAqKjUrJzEnIHdpbGwgZGllIGluIGNvbXBpbGVyX3Zpc2l0X2V4cHIKKworIyBUaGUgZXhhY3QgbGltaXQgdG8gZGVzdHJveSB0aGUgc3RhY2sgd2lsbCB2YXJ5IGJ5IHBsYXRmb3JtCisjIGJ1dCAxME0gc2hvdWxkIGRvIHRoZSB0cmljayBldmVuIHdpdGggaHVnZSBzdGFjayBhbGxvY2F0aW9ucworY29tcGlsZSgnKCknKjEwKio3LCAnPycsICdleGVjJykKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L2NyYXNoZXJzL2xvb3NpbmdfbXJvX3JlZi5weSBiL0xpYi90ZXN0L2NyYXNoZXJzL2xvb3NpbmdfbXJvX3JlZi5weQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjNiY2QzMi4uMDAwMDAwMAotLS0gYS9MaWIvdGVzdC9jcmFzaGVycy9sb29zaW5nX21yb19yZWYucHkKKysrIC9kZXYvbnVsbApAQCAtMSwzNSArMCwwIEBACi0iIiIKLVRoZXJlIGlzIGEgd2F5IHRvIHB1dCBrZXlzIG9mIGFueSB0eXBlIGluIGEgdHlwZSdzIGRpY3Rpb25hcnkuCi1JIHRoaW5rIHRoaXMgYWxsb3dzIHZhcmlvdXMga2luZHMgb2YgY3Jhc2hlcywgYnV0IHNvIGZhciBJIGhhdmUgb25seQotZm91bmQgYSBjb252b2x1dGVkIGF0dGFjayBvZiBfUHlUeXBlX0xvb2t1cCgpLCB3aGljaCB1c2VzIHRoZSBtcm8gb2YgdGhlCi10eXBlIHdpdGhvdXQgaG9sZGluZyBhIHN0cm9uZyByZWZlcmVuY2UgdG8gaXQuICBQcm9iYWJseSB3b3JrcyB3aXRoCi1zdXBlci5fX2dldGF0dHJpYnV0ZV9fKCkgdG9vLCB3aGljaCB1c2VzIHRoZSBzYW1lIGtpbmQgb2YgY29kZS4KLSIiIgotCi1jbGFzcyBNeUtleShvYmplY3QpOgotICAgIGRlZiBfX2hhc2hfXyhzZWxmKToKLSAgICAgICAgcmV0dXJuIGhhc2goJ215a2V5JykKLQotICAgIGRlZiBfX2VxX18oc2VsZiwgb3RoZXIpOgotICAgICAgICAjIHRoZSBmb2xsb3dpbmcgbGluZSBkZWNyZWZzIHRoZSBwcmV2aW91cyBYLl9fbXJvX18KLSAgICAgICAgWC5fX2Jhc2VzX18gPSAoQmFzZTIsKQotICAgICAgICAjIHRyYXNoIGFsbCB0dXBsZXMgb2YgbGVuZ3RoIDMsIHRvIG1ha2Ugc3VyZSB0aGF0IHRoZSBpdGVtcyBvZgotICAgICAgICAjIHRoZSBwcmV2aW91cyBYLl9fbXJvX18gYXJlIHJlYWxseSBnYXJiYWdlCi0gICAgICAgIHogPSBbXQotICAgICAgICBmb3IgaSBpbiByYW5nZSgxMDAwKToKLSAgICAgICAgICAgIHouYXBwZW5kKChpLCBOb25lLCBOb25lKSkKLSAgICAgICAgcmV0dXJuIDAKLQotCi1jbGFzcyBCYXNlKG9iamVjdCk6Ci0gICAgbXlrZXkgPSAnZnJvbSBCYXNlJwotCi1jbGFzcyBCYXNlMihvYmplY3QpOgotICAgIG15a2V5ID0gJ2Zyb20gQmFzZTInCi0KLSMgeW91IGNhbid0IGFkZCBhIG5vbi1zdHJpbmcga2V5IHRvIFguX19kaWN0X18sIGJ1dCBpdCBjYW4gYmUKLSMgdGhlcmUgZnJvbSB0aGUgYmVnaW5uaW5nIDotKQotWCA9IHR5cGUoJ1gnLCAoQmFzZSwpLCB7TXlLZXkoKTogNX0pCi0KLXByaW50KFgubXlrZXkpCi0jIEkgZ2V0IGEgc2VnZmF1bHQsIG9yIGEgc2xpZ2h0bHkgd3JvbmcgYXNzZXJ0aW9uIGVycm9yIGluIGEgZGVidWcgYnVpbGQuCmRpZmYgLS1naXQgYS9MaWIvdGVzdC9jcmFzaGVycy9uYXN0eV9lcV92c19kaWN0LnB5IGIvTGliL3Rlc3QvY3Jhc2hlcnMvbmFzdHlfZXFfdnNfZGljdC5weQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODVmN2NhZi4uMDAwMDAwMAotLS0gYS9MaWIvdGVzdC9jcmFzaGVycy9uYXN0eV9lcV92c19kaWN0LnB5CisrKyAvZGV2L251bGwKQEAgLTEsNDcgKzAsMCBAQAotIyBmcm9tIGh0dHA6Ly9tYWlsLnB5dGhvbi5vcmcvcGlwZXJtYWlsL3B5dGhvbi1kZXYvMjAwMS1KdW5lLzAxNTIzOS5odG1sCi0KLSMgaWYgeW91IGtlZXAgY2hhbmdpbmcgYSBkaWN0aW9uYXJ5IHdoaWxlIGxvb2tpbmcgdXAgYSBrZXksIHlvdSBjYW4KLSMgcHJvdm9rZSBhbiBpbmZpbml0ZSByZWN1cnNpb24gaW4gQwotCi0jIEF0IHRoZSB0aW1lIG5laXRoZXIgVGltIG5vciBNaWNoYWVsIGNvdWxkIGJlIGJvdGhlcmVkIHRvIHRoaW5rIG9mIGEKLSMgd2F5IHRvIGZpeCBpdC4KLQotY2xhc3MgWXVjazoKLSAgICBkZWYgX19pbml0X18oc2VsZik6Ci0gICAgICAgIHNlbGYuaSA9IDAKLQotICAgIGRlZiBtYWtlX2Rhbmdlcm91cyhzZWxmKToKLSAgICAgICAgc2VsZi5pID0gMQotCi0gICAgZGVmIF9faGFzaF9fKHNlbGYpOgotICAgICAgICAjIGRpcmVjdCB0byBzbG90IDQgaW4gdGFibGUgb2Ygc2l6ZSA4OyBzbG90IDEyIHdoZW4gc2l6ZSAxNgotICAgICAgICByZXR1cm4gNCArIDgKLQotICAgIGRlZiBfX2VxX18oc2VsZiwgb3RoZXIpOgotICAgICAgICBpZiBzZWxmLmkgPT0gMDoKLSAgICAgICAgICAgICMgbGVhdmUgZGljdCBhbG9uZQotICAgICAgICAgICAgcGFzcwotICAgICAgICBlbGlmIHNlbGYuaSA9PSAxOgotICAgICAgICAgICAgIyBmaWRkbGUgdG8gMTYgc2xvdHMKLSAgICAgICAgICAgIHNlbGYuX19maWxsX2RpY3QoNikKLSAgICAgICAgICAgIHNlbGYuaSA9IDIKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgICMgZmlkZGxlIHRvIDggc2xvdHMKLSAgICAgICAgICAgIHNlbGYuX19maWxsX2RpY3QoNCkKLSAgICAgICAgICAgIHNlbGYuaSA9IDEKLQotICAgICAgICByZXR1cm4gMQotCi0gICAgZGVmIF9fZmlsbF9kaWN0KHNlbGYsIG4pOgotICAgICAgICBzZWxmLmkgPSAwCi0gICAgICAgIGRpY3QuY2xlYXIoKQotICAgICAgICBmb3IgaSBpbiByYW5nZShuKToKLSAgICAgICAgICAgIGRpY3RbaV0gPSBpCi0gICAgICAgIGRpY3Rbc2VsZl0gPSAiT0shIgotCi15ID0gWXVjaygpCi1kaWN0ID0ge3k6ICJPSyEifQotCi16ID0gWXVjaygpCi15Lm1ha2VfZGFuZ2Vyb3VzKCkKLXByaW50KGRpY3Rbel0pCmRpZmYgLS1naXQgYS9MaWIvdGVzdC9kYXRldGltZXRlc3Rlci5weSBiL0xpYi90ZXN0L2RhdGV0aW1ldGVzdGVyLnB5CmluZGV4IDNmZDY3OTkuLjg1MzgwNmIgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L2RhdGV0aW1ldGVzdGVyLnB5CisrKyBiL0xpYi90ZXN0L2RhdGV0aW1ldGVzdGVyLnB5CkBAIC05NzcsNyArOTc3LDcgQEAKICAgICAgICAgIyBleGVtcHQgc3VjaCBwbGF0Zm9ybXMgKHByb3ZpZGVkIHRoZXkgcmV0dXJuIHJlYXNvbmFibGUKICAgICAgICAgIyByZXN1bHRzISkuCiAgICAgICAgIGZvciBpbnNhbmUgaW4gLTFlMjAwLCAxZTIwMDoKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIHNlbGYudGhlY2xhc3MuZnJvbXRpbWVzdGFtcCwKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE92ZXJmbG93RXJyb3IsIHNlbGYudGhlY2xhc3MuZnJvbXRpbWVzdGFtcCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluc2FuZSkKIAogICAgIGRlZiB0ZXN0X3RvZGF5KHNlbGYpOgpAQCAtMTI4OSwxMiArMTI4OSwxOCBAQAogICAgICAgICBzZWxmLmFzc2VydFRydWUoc2VsZi50aGVjbGFzcy5taW4pCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShzZWxmLnRoZWNsYXNzLm1heCkKIAotICAgIGRlZiB0ZXN0X3N0cmZ0aW1lX291dF9vZl9yYW5nZShzZWxmKToKLSAgICAgICAgIyBGb3IgbmFzdHkgdGVjaG5pY2FsIHJlYXNvbnMsIHdlIGNhbid0IGhhbmRsZSB5ZWFycyBiZWZvcmUgMTAwMC4KLSAgICAgICAgY2xzID0gc2VsZi50aGVjbGFzcwotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNscygxMDAwLCAxLCAxKS5zdHJmdGltZSgiJVkiKSwgIjEwMDAiKQotICAgICAgICBmb3IgeSBpbiAxLCA0OSwgNTEsIDk5LCAxMDAsIDk5OToKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIGNscyh5LCAxLCAxKS5zdHJmdGltZSwgIiVZIikKKyAgICBkZWYgdGVzdF9zdHJmdGltZV95Mmsoc2VsZik6CisgICAgICAgIGZvciB5IGluICgxLCA0OSwgNzAsIDk5LCAxMDAsIDk5OSwgMTAwMCwgMTk3MCk6CisgICAgICAgICAgICBkID0gc2VsZi50aGVjbGFzcyh5LCAxLCAxKQorICAgICAgICAgICAgIyBJc3N1ZSAxMzMwNTogIEZvciB5ZWFycyA8IDEwMDAsIHRoZSB2YWx1ZSBpcyBub3QgYWx3YXlzCisgICAgICAgICAgICAjIHBhZGRlZCB0byA0IGRpZ2l0cyBhY3Jvc3MgcGxhdGZvcm1zLiAgVGhlIEMgc3RhbmRhcmQKKyAgICAgICAgICAgICMgYXNzdW1lcyB5ZWFyID49IDE5MDAsIHNvIGl0IGRvZXMgbm90IHNwZWNpZnkgdGhlIG51bWJlcgorICAgICAgICAgICAgIyBvZiBkaWdpdHMuCisgICAgICAgICAgICBpZiBkLnN0cmZ0aW1lKCIlWSIpICE9ICclMDRkJyAlIHk6CisgICAgICAgICAgICAgICAgIyBZZWFyIDQyIHJldHVybnMgJzQyJywgbm90IHBhZGRlZAorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZC5zdHJmdGltZSgiJVkiKSwgJyVkJyAlIHkpCisgICAgICAgICAgICAgICAgIyAnMDA0MicgaXMgb2J0YWluZWQgYW55d2F5CisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkLnN0cmZ0aW1lKCIlNFkiKSwgJyUwNGQnICUgeSkKIAogICAgIGRlZiB0ZXN0X3JlcGxhY2Uoc2VsZik6CiAgICAgICAgIGNscyA9IHNlbGYudGhlY2xhc3MKQEAgLTE3MzAsMTIgKzE3MzYsMzcgQEAKICAgICAgICAgc2VsZi52ZXJpZnlfZmllbGRfZXF1YWxpdHkoZXhwZWN0ZWQsIGdvdCkKIAogICAgIGRlZiB0ZXN0X21pY3Jvc2Vjb25kX3JvdW5kaW5nKHNlbGYpOgotICAgICAgICAjIFRlc3Qgd2hldGhlciBmcm9tdGltZXN0YW1wICJyb3VuZHMgdXAiIGZsb2F0cyB0aGF0IGFyZSBsZXNzCi0gICAgICAgICMgdGhhbiAxLzIgbWljcm9zZWNvbmQgc21hbGxlciB0aGFuIGFuIGludGVnZXIuCiAgICAgICAgIGZvciBmdHMgaW4gW3NlbGYudGhlY2xhc3MuZnJvbXRpbWVzdGFtcCwKICAgICAgICAgICAgICAgICAgICAgc2VsZi50aGVjbGFzcy51dGNmcm9tdGltZXN0YW1wXToKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZnRzKDAuOTk5OTk5OSksIGZ0cygxKSkKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZnRzKDAuOTk5OTk5NDkpLm1pY3Jvc2Vjb25kLCA5OTk5OTkpCisgICAgICAgICAgICB6ZXJvID0gZnRzKDApCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHplcm8uc2Vjb25kLCAwKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh6ZXJvLm1pY3Jvc2Vjb25kLCAwKQorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIG1pbnVzX29uZSA9IGZ0cygtMWUtNikKKyAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yOgorICAgICAgICAgICAgICAgICMgbG9jYWx0aW1lKC0xKSBhbmQgZ210aW1lKC0xKSBpcyBub3Qgc3VwcG9ydGVkIG9uIFdpbmRvd3MKKyAgICAgICAgICAgICAgICBwYXNzCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobWludXNfb25lLnNlY29uZCwgNTkpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtaW51c19vbmUubWljcm9zZWNvbmQsIDk5OTk5OSkKKworICAgICAgICAgICAgICAgIHQgPSBmdHMoLTFlLTgpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh0LCBtaW51c19vbmUpCisgICAgICAgICAgICAgICAgdCA9IGZ0cygtOWUtNykKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHQsIG1pbnVzX29uZSkKKyAgICAgICAgICAgICAgICB0ID0gZnRzKC0xZS03KQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodCwgbWludXNfb25lKQorCisgICAgICAgICAgICB0ID0gZnRzKDFlLTcpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHQsIHplcm8pCisgICAgICAgICAgICB0ID0gZnRzKDllLTcpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHQsIHplcm8pCisgICAgICAgICAgICB0ID0gZnRzKDAuOTk5OTk5NDkpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHQuc2Vjb25kLCAwKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh0Lm1pY3Jvc2Vjb25kLCA5OTk5OTkpCisgICAgICAgICAgICB0ID0gZnRzKDAuOTk5OTk5OSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodC5zZWNvbmQsIDApCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHQubWljcm9zZWNvbmQsIDk5OTk5OSkKIAogICAgIGRlZiB0ZXN0X2luc2FuZV9mcm9tdGltZXN0YW1wKHNlbGYpOgogICAgICAgICAjIEl0J3MgcG9zc2libGUgdGhhdCBzb21lIHBsYXRmb3JtIG1hcHMgdGltZV90IHRvIGRvdWJsZSwKQEAgLTE3NDMsNyArMTc3NCw3IEBACiAgICAgICAgICMgZXhlbXB0IHN1Y2ggcGxhdGZvcm1zIChwcm92aWRlZCB0aGV5IHJldHVybiByZWFzb25hYmxlCiAgICAgICAgICMgcmVzdWx0cyEpLgogICAgICAgICBmb3IgaW5zYW5lIGluIC0xZTIwMCwgMWUyMDA6Ci0gICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBzZWxmLnRoZWNsYXNzLmZyb210aW1lc3RhbXAsCisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhPdmVyZmxvd0Vycm9yLCBzZWxmLnRoZWNsYXNzLmZyb210aW1lc3RhbXAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnNhbmUpCiAKICAgICBkZWYgdGVzdF9pbnNhbmVfdXRjZnJvbXRpbWVzdGFtcChzZWxmKToKQEAgLTE3NTIsNyArMTc4Myw3IEBACiAgICAgICAgICMgZXhlbXB0IHN1Y2ggcGxhdGZvcm1zIChwcm92aWRlZCB0aGV5IHJldHVybiByZWFzb25hYmxlCiAgICAgICAgICMgcmVzdWx0cyEpLgogICAgICAgICBmb3IgaW5zYW5lIGluIC0xZTIwMCwgMWUyMDA6Ci0gICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBzZWxmLnRoZWNsYXNzLnV0Y2Zyb210aW1lc3RhbXAsCisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhPdmVyZmxvd0Vycm9yLCBzZWxmLnRoZWNsYXNzLnV0Y2Zyb210aW1lc3RhbXAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnNhbmUpCiAgICAgQHVuaXR0ZXN0LnNraXBJZihzeXMucGxhdGZvcm0gPT0gIndpbjMyIiwgIldpbmRvd3MgZG9lc24ndCBhY2NlcHQgbmVnYXRpdmUgdGltZXN0YW1wcyIpCiAgICAgZGVmIHRlc3RfbmVnYXRpdmVfZmxvYXRfZnJvbXRpbWVzdGFtcChzZWxmKToKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L2RlY2ltYWx0ZXN0ZGF0YS9leHRyYS5kZWNUZXN0IGIvTGliL3Rlc3QvZGVjaW1hbHRlc3RkYXRhL2V4dHJhLmRlY1Rlc3QKaW5kZXggZmU4Yjc3YS4uYjYzMGQ4ZSAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvZGVjaW1hbHRlc3RkYXRhL2V4dHJhLmRlY1Rlc3QKKysrIGIvTGliL3Rlc3QvZGVjaW1hbHRlc3RkYXRhL2V4dHJhLmRlY1Rlc3QKQEAgLTIyMiwxMiArMjIyLDI1IEBACiBleHRyMTcwMSBwb3dlciAxMDAuMCAtNTU3LjcxZS03NDI4ODg4ODggLT4gMS4wMDAwMDAwMDAwMDAwMDAgSW5leGFjdCBSb3VuZGVkCiBleHRyMTcwMiBwb3dlciAxMCAxZS0xMDAgLT4gMS4wMDAwMDAwMDAwMDAwMDAgSW5leGFjdCBSb3VuZGVkCiAKKy0tIEFub3RoZXIgb25lIChzZWUgaXNzdWUgIzEyMDgwKS4gIFRoYW5rcyBhZ2FpbiB0byBTdGVmYW4gS3JhaC4KK2V4dHIxNzAzIHBvd2VyIDQgLTEuMmUtOTk5OTk5OTk5IC0+IDEuMDAwMDAwMDAwMDAwMDAwIEluZXhhY3QgUm91bmRlZAorCiAtLSBBIGNvdXBsZSBvZiBpbnRlcmVzdGluZyBleGFjdCBjYXNlcyBmb3IgcG93ZXIuICBOb3RlIHRoYXQgdGhlIHNwZWNpZmljYXRpb24KIC0tIHJlcXVpcmVzIHRoZXNlIHRvIGJlIHJlcG9ydGVkIGFzIEluZXhhY3QuCiBleHRyMTcxMCBwb3dlciAxZTM3NSA1NmUtMyAtPiAxLjAwMDAwMDAwMDAwMDAwMEUrMjEgSW5leGFjdCBSb3VuZGVkCiBleHRyMTcxMSBwb3dlciAxMDAwMCAwLjc1IC0+IDEwMDAuMDAwMDAwMDAwMDAwIEluZXhhY3QgUm91bmRlZAogZXh0cjE3MTIgcG93ZXIgMWUtMjQgMC44NzUgLT4gMS4wMDAwMDAwMDAwMDAwMDBFLTIxIEluZXhhY3QgUm91bmRlZAogCistLSBTb21lIG1vcmUgZXhhY3QgY2FzZXMsIGV4ZXJjaXNpbmcgcG93ZXIgd2l0aCBuZWdhdGl2ZSBzZWNvbmQgYXJndW1lbnQuCitleHRyMTcyMCBwb3dlciA0MDAgLTAuNSAtPiAwLjA1MDAwMDAwMDAwMDAwMDAwIEluZXhhY3QgUm91bmRlZAorZXh0cjE3MjEgcG93ZXIgNDA5NiAtMC43NSAtPiAwLjAwMTk1MzEyNTAwMDAwMDAwMCBJbmV4YWN0IFJvdW5kZWQKK2V4dHIxNzIyIHBvd2VyIDYyNWU0IC0wLjI1IC0+IDAuMDIwMDAwMDAwMDAwMDAwMDAgSW5leGFjdCBSb3VuZGVkCisKKy0tIE5vbmV4YWN0IGNhc2VzLCB0byBleGVyY2lzZSBzb21lIG9mIHRoZSBlYXJseSBleGl0IGNvbmRpdGlvbnMgZnJvbQorLS0gX3Bvd2VyX2V4YWN0LgorZXh0cjE3MzAgcG93ZXIgMjA0OCAtMC43NSAtPiAwLjAwMzI4NDc1MTYyMjA4NDgyMiBJbmV4YWN0IFJvdW5kZWQKKworCiAtLSBUZXN0cyBmb3IgdGhlIGlzXyogYm9vbGVhbiBvcGVyYXRpb25zCiBwcmVjaXNpb246IDkKIG1heEV4cG9uZW50OiA5OTkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L2RoNTEyLnBlbSBiL0xpYi90ZXN0L2RoNTEyLnBlbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMDBkMTZjCi0tLSAvZGV2L251bGwKKysrIGIvTGliL3Rlc3QvZGg1MTIucGVtCkBAIC0wLDAgKzEsOSBAQAorLS0tLS1CRUdJTiBESCBQQVJBTUVURVJTLS0tLS0KK01FWUNRUUQxS3Y4ODRiRXBRQmdSalh5RXB3cHkxb2JFQXhuSUJ5bDZ5cFVNMlphZnE5QUtVSnNDUnRNSVBXYWsKK1hVR2ZuSHk5aVVzaUdTYTZxNkpldzFYcEtnVmZBZ0VDCistLS0tLUVORCBESCBQQVJBTUVURVJTLS0tLS0KKworVGhlc2UgYXJlIHRoZSA1MTIgYml0IERIIHBhcmFtZXRlcnMgZnJvbSAiQXNzaWduZWQgTnVtYmVyIGZvciBTS0lQIFByb3RvY29scyIKKyhodHRwOi8vd3d3LnNraXAtdnBuLm9yZy9zcGVjL251bWJlcnMuaHRtbCkuCitTZWUgdGhlcmUgZm9yIGhvdyB0aGV5IHdlcmUgZ2VuZXJhdGVkLgorTm90ZSB0aGF0IGcgaXMgbm90IGEgZ2VuZXJhdG9yLCBidXQgdGhpcyBpcyBub3QgYSBwcm9ibGVtIHNpbmNlIHAgaXMgYSBzYWZlIHByaW1lLgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvZXhjZXB0aW9uX2hpZXJhcmNoeS50eHQgYi9MaWIvdGVzdC9leGNlcHRpb25faGllcmFyY2h5LnR4dAppbmRleCA1MDM3YjMzLi4xYzFmNjlmIDEwMDY0NAotLS0gYS9MaWIvdGVzdC9leGNlcHRpb25faGllcmFyY2h5LnR4dAorKysgYi9MaWIvdGVzdC9leGNlcHRpb25faGllcmFyY2h5LnR4dApAQCAtMTEsMTEgKzExLDYgQEAKICAgICAgICstLSBBc3NlcnRpb25FcnJvcgogICAgICAgKy0tIEF0dHJpYnV0ZUVycm9yCiAgICAgICArLS0gQnVmZmVyRXJyb3IKLSAgICAgICstLSBFbnZpcm9ubWVudEVycm9yCi0gICAgICB8ICAgICstLSBJT0Vycm9yCi0gICAgICB8ICAgICstLSBPU0Vycm9yCi0gICAgICB8ICAgICAgICAgKy0tIFdpbmRvd3NFcnJvciAoV2luZG93cykKLSAgICAgIHwgICAgICAgICArLS0gVk1TRXJyb3IgKFZNUykKICAgICAgICstLSBFT0ZFcnJvcgogICAgICAgKy0tIEltcG9ydEVycm9yCiAgICAgICArLS0gTG9va3VwRXJyb3IKQEAgLTI0LDYgKzE5LDIyIEBACiAgICAgICArLS0gTWVtb3J5RXJyb3IKICAgICAgICstLSBOYW1lRXJyb3IKICAgICAgIHwgICAgKy0tIFVuYm91bmRMb2NhbEVycm9yCisgICAgICArLS0gT1NFcnJvcgorICAgICAgfCAgICArLS0gQmxvY2tpbmdJT0Vycm9yCisgICAgICB8ICAgICstLSBDaGlsZFByb2Nlc3NFcnJvcgorICAgICAgfCAgICArLS0gQ29ubmVjdGlvbkVycm9yCisgICAgICB8ICAgIHwgICAgKy0tIEJyb2tlblBpcGVFcnJvcgorICAgICAgfCAgICB8ICAgICstLSBDb25uZWN0aW9uQWJvcnRlZEVycm9yCisgICAgICB8ICAgIHwgICAgKy0tIENvbm5lY3Rpb25SZWZ1c2VkRXJyb3IKKyAgICAgIHwgICAgfCAgICArLS0gQ29ubmVjdGlvblJlc2V0RXJyb3IKKyAgICAgIHwgICAgKy0tIEZpbGVFeGlzdHNFcnJvcgorICAgICAgfCAgICArLS0gRmlsZU5vdEZvdW5kRXJyb3IKKyAgICAgIHwgICAgKy0tIEludGVycnVwdGVkRXJyb3IKKyAgICAgIHwgICAgKy0tIElzQURpcmVjdG9yeUVycm9yCisgICAgICB8ICAgICstLSBOb3RBRGlyZWN0b3J5RXJyb3IKKyAgICAgIHwgICAgKy0tIFBlcm1pc3Npb25FcnJvcgorICAgICAgfCAgICArLS0gUHJvY2Vzc0xvb2t1cEVycm9yCisgICAgICB8ICAgICstLSBUaW1lb3V0RXJyb3IKICAgICAgICstLSBSZWZlcmVuY2VFcnJvcgogICAgICAgKy0tIFJ1bnRpbWVFcnJvcgogICAgICAgfCAgICArLS0gTm90SW1wbGVtZW50ZWRFcnJvcgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvZm9ya193YWl0LnB5IGIvTGliL3Rlc3QvZm9ya193YWl0LnB5CmluZGV4IDFjYWFiMWMuLjg4NTI3ZGYgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L2Zvcmtfd2FpdC5weQorKysgYi9MaWIvdGVzdC9mb3JrX3dhaXQucHkKQEAgLTQzLDYgKzQzLDcgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzcGlkLCBjcGlkKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0YXR1cywgMCwgImNhdXNlID0gJWQsIGV4aXQgPSAlZCIgJSAoc3RhdHVzJjB4ZmYsIHN0YXR1cz4+OCkpCiAKKyAgICBAc3VwcG9ydC5yZWFwX3RocmVhZHMKICAgICBkZWYgdGVzdF93YWl0KHNlbGYpOgogICAgICAgICBmb3IgaSBpbiByYW5nZShOVU1fVEhSRUFEUyk6CiAgICAgICAgICAgICBfdGhyZWFkLnN0YXJ0X25ldyhzZWxmLmYsIChpLCkpCkBAIC02OSw3ICs3MCw4IEBACiAgICAgICAgICAgICBvcy5fZXhpdChuKQogICAgICAgICBlbHNlOgogICAgICAgICAgICAgIyBQYXJlbnQKLSAgICAgICAgICAgIHNlbGYud2FpdF9pbXBsKGNwaWQpCi0gICAgICAgICAgICAjIFRlbGwgdGhyZWFkcyB0byBkaWUKLSAgICAgICAgICAgIHNlbGYuc3RvcCA9IDEKLSAgICAgICAgICAgIHRpbWUuc2xlZXAoMipTSE9SVFNMRUVQKSAjIFdhaXQgZm9yIHRocmVhZHMgdG8gZGllCisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgc2VsZi53YWl0X2ltcGwoY3BpZCkKKyAgICAgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICAgICAgIyBUZWxsIHRocmVhZHMgdG8gZGllCisgICAgICAgICAgICAgICAgc2VsZi5zdG9wID0gMQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9mdXR1cmUxLnB5IGIvTGliL3Rlc3QvZnV0dXJlX3Rlc3QxLnB5CnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBMaWIvdGVzdC90ZXN0X2Z1dHVyZTEucHkKcmVuYW1lIHRvIExpYi90ZXN0L2Z1dHVyZV90ZXN0MS5weQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9mdXR1cmUyLnB5IGIvTGliL3Rlc3QvZnV0dXJlX3Rlc3QyLnB5CnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBMaWIvdGVzdC90ZXN0X2Z1dHVyZTIucHkKcmVuYW1lIHRvIExpYi90ZXN0L2Z1dHVyZV90ZXN0Mi5weQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvanNvbl90ZXN0cy90ZXN0X2R1bXAucHkgYi9MaWIvdGVzdC9qc29uX3Rlc3RzL3Rlc3RfZHVtcC5weQppbmRleCAwODNjMTFmLi40YjMzODZmIDEwMDY0NAotLS0gYS9MaWIvdGVzdC9qc29uX3Rlc3RzL3Rlc3RfZHVtcC5weQorKysgYi9MaWIvdGVzdC9qc29uX3Rlc3RzL3Rlc3RfZHVtcC5weQpAQCAtMSw2ICsxLDcgQEAKIGZyb20gaW8gaW1wb3J0IFN0cmluZ0lPCiBmcm9tIHRlc3QuanNvbl90ZXN0cyBpbXBvcnQgUHlUZXN0LCBDVGVzdAogCitmcm9tIHRlc3Quc3VwcG9ydCBpbXBvcnQgYmlnbWVtdGVzdCwgXzFHCiAKIGNsYXNzIFRlc3REdW1wOgogICAgIGRlZiB0ZXN0X2R1bXAoc2VsZik6CkBAIC0yMSw0ICsyMiwyMCBAQAogCiAKIGNsYXNzIFRlc3RQeUR1bXAoVGVzdER1bXAsIFB5VGVzdCk6IHBhc3MKLWNsYXNzIFRlc3RDRHVtcChUZXN0RHVtcCwgQ1Rlc3QpOiBwYXNzCisKK2NsYXNzIFRlc3RDRHVtcChUZXN0RHVtcCwgQ1Rlc3QpOgorCisgICAgIyBUaGUgc2l6ZSByZXF1aXJlbWVudCBoZXJlIGlzIGhvcGVmdWxseSBvdmVyLWVzdGltYXRlZCAoYWN0dWFsCisgICAgIyBtZW1vcnkgY29uc3VtcHRpb24gZGVwZW5kaW5nIG9uIGltcGxlbWVudGF0aW9uIGRldGFpbHMsIGFuZCBhbHNvCisgICAgIyBzeXN0ZW0gbWVtb3J5IG1hbmFnZW1lbnQsIHNpbmNlIHRoaXMgbWF5IGFsbG9jYXRlIGEgbG90IG9mCisgICAgIyBzbWFsbCBvYmplY3RzKS4KKworICAgIEBiaWdtZW10ZXN0KHNpemU9XzFHLCBtZW11c2U9MSkKKyAgICBkZWYgdGVzdF9sYXJnZV9saXN0KHNlbGYsIHNpemUpOgorICAgICAgICBOID0gaW50KDMwICogMTAyNCAqIDEwMjQgKiAoc2l6ZSAvIF8xRykpCisgICAgICAgIGwgPSBbMV0gKiBOCisgICAgICAgIGVuY29kZWQgPSBzZWxmLmR1bXBzKGwpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGVuY29kZWQpLCBOICogMykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChlbmNvZGVkWzoxXSwgIlsiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGVuY29kZWRbLTI6XSwgIjFdIikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChlbmNvZGVkWzE6LTJdLCAiMSwgIiAqIChOIC0gMSkpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC9qc29uX3Rlc3RzL3Rlc3Rfc2NhbnN0cmluZy5weSBiL0xpYi90ZXN0L2pzb25fdGVzdHMvdGVzdF9zY2Fuc3RyaW5nLnB5CmluZGV4IGY4MmNkZWUuLjQyNmM4ZGQgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L2pzb25fdGVzdHMvdGVzdF9zY2Fuc3RyaW5nLnB5CisrKyBiL0xpYi90ZXN0L2pzb25fdGVzdHMvdGVzdF9zY2Fuc3RyaW5nLnB5CkBAIC05LDE0ICs5LDkgQEAKICAgICAgICAgICAgIHNjYW5zdHJpbmcoJyJ6XFx1ZDgzNFxcdWRkMjB4IicsIDEsIFRydWUpLAogICAgICAgICAgICAgKCd6XFUwMDAxZDEyMHgnLCAxNikpCiAKLSAgICAgICAgaWYgc3lzLm1heHVuaWNvZGUgPT0gNjU1MzU6Ci0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAotICAgICAgICAgICAgICAgIHNjYW5zdHJpbmcoJyJ6XFUwMDAxZDEyMHgiJywgMSwgVHJ1ZSksCi0gICAgICAgICAgICAgICAgKCd6XFUwMDAxZDEyMHgnLCA2KSkKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCi0gICAgICAgICAgICAgICAgc2NhbnN0cmluZygnInpcVTAwMDFkMTIweCInLCAxLCBUcnVlKSwKLSAgICAgICAgICAgICAgICAoJ3pcVTAwMDFkMTIweCcsIDUpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgc2NhbnN0cmluZygnInpcVTAwMDFkMTIweCInLCAxLCBUcnVlKSwKKyAgICAgICAgICAgICgnelxVMDAwMWQxMjB4JywgNSkpCiAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKICAgICAgICAgICAgIHNjYW5zdHJpbmcoJyJcXHUwMDdiIicsIDEsIFRydWUpLApkaWZmIC0tZ2l0IGEvTGliL3Rlc3Qva2V5Y2VydC5wYXNzd2QucGVtIGIvTGliL3Rlc3Qva2V5Y2VydC5wYXNzd2QucGVtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU5MDU3NDgKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvdGVzdC9rZXljZXJ0LnBhc3N3ZC5wZW0KQEAgLTAsMCArMSwzMyBAQAorLS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQorUHJvYy1UeXBlOiA0LEVOQ1JZUFRFRAorREVLLUluZm86IERFUy1FREUzLUNCQywxQThEOUQyQTAyRUM2OThBCisKK2tKWWJmWjhMMHNmZTlPdHkzZ3cwYWxvTm5ZNUU4ZmVnUmZRTFpsTm94VGw2ak50MG5Jd0k4a0RKMzZDWmdSOWMKK3UzRkRKbS9LcXJmVW96OHZXK3FFbldoU0c3UVBYMndXR1BIZDRLOTRZei9GZ3JSelowRG9LN1h4WHE5Z090VkEKK0FWR1FobnozMnArNldoZkdzQ3I5QXJYRXdSWnJUay9GdnpFUGFVNWZIY29Ta3JOVkFHWDhJcFNWa1NEd0VEUXIKK0d2MTcrY2ZrOTlVVjFPQ3phNnlLSG9Ga1R0ckMrUFpVNzFMb21CYWJpdlMyT2M0QjloWXVTUjJoRjAxd1RIUCsKK1lsV05hZ1pPT1Z0Tno0b0tLOXg5ZU5RcG1mUVhRdlBQVGZ1c2V4S0liS2Zack12Sm94Y20xZ2ZjWjBIL3dLNlAKKzZ3bVhTRzM1cU1PT3p0Q1pOdHBlcmpzMXd6RUJYem55SzhRbUxjQUpCamtmYXJBQkpYOXZCRXpaVjBPVUtoeSsKK25vT1JGd0hUbGxwaGJteWRMaHU2ZWhMVVpNSFBoekFTNVVON3NydHBTTjgxZWVyRE15MFJNVUF3QTcvUG9mWDEKKzk0TWU4NVE4alAwUEM5RVRkc0pjUHFMekFQRVRFWXUwRUxld0tSY3JkeVdpK3RsTEZycEU1S1QvczVlY2JsOWwKKzdCNjFVNEtmZDFQSVhjL3NpSU5oVTNBM2JZSys4NDVZeVVBclVPbktmMWtFb3g3cDFScEQ3eUZxVlQwNGxSVG8KK2NpYk5LQVRCdXNYU3VCcnAyRzZHTnVoV0VPU2FmV0NLSlFBemdDWUlwNlpUVjJraGhNVUdwcGMvMkgzQ0Y2Y08KK3pYMEt0bFBWWkM3aExrQjZIVDhTeFlVd0YxenFXWTcrL1hQUGRjMzdNZUVaODdRM1V1WndxT1JMWStaMGhwZ3QKK0w1SlhCQ29rbFpoQ0FhTjJHcXdGTFh0R2lSU1JGR1k3eFhJaGJEVGxFNjVXdjFXR0dnRExNS0dFMWdPejN5QW8KKzJqakcxK3lBSEpVZEU2OVhURkhTcVNrdmFsb0ExVzAzTGRNWFo5VnVRSi95U1hDaWU2QUJBUT09CistLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQorLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCitNSUlDVkRDQ0FiMmdBd0lCQWdJSkFOZkhPQmtacjhKT01BMEdDU3FHU0liM0RRRUJCUVVBTUY4eEN6QUpCZ05WCitCQVlUQWxoWk1SY3dGUVlEVlFRSEV3NURZWE4wYkdVZ1FXNTBhSEpoZURFak1DRUdBMVVFQ2hNYVVIbDBhRzl1CitJRk52Wm5SM1lYSmxJRVp2ZFc1a1lYUnBiMjR4RWpBUUJnTlZCQU1UQ1d4dlkyRnNhRzl6ZERBZUZ3MHhNREV3CitNRGd5TXpBeE5UWmFGdzB5TURFd01EVXlNekF4TlRaYU1GOHhDekFKQmdOVkJBWVRBbGhaTVJjd0ZRWURWUVFICitFdzVEWVhOMGJHVWdRVzUwYUhKaGVERWpNQ0VHQTFVRUNoTWFVSGwwYUc5dUlGTnZablIzWVhKbElFWnZkVzVrCitZWFJwYjI0eEVqQVFCZ05WQkFNVENXeHZZMkZzYUc5emREQ0JuekFOQmdrcWhraUc5dzBCQVFFRkFBT0JqUUF3CitnWWtDZ1lFQTIxdlQ1aXNxN0Y2OGFtWXV1TnBTRmxLRFByTVVDYTRZV1lxWlJ0Mk9aKy8zTkthWjJ4QWlTd3I3Cis2TXJRRjcwdDVuTGJTUHBxRTUrNVZyUzU4U1krZy9zWExpRmQ2QXBsSDF3Slp3aDc4RG9mYkZZWFVnZ2t0Rk10CitwVHlpWDhqdFA2NmJrY1BrREFEQTA4OVJJMVRRUjZDYStuN0hGYTdjMWZhYlZWNmkzemtDQXdFQUFhTVlNQll3CitGQVlEVlIwUkJBMHdDNElKYkc5allXeG9iM04wTUEwR0NTcUdTSWIzRFFFQkJRVUFBNEdCQUhQY3RRQkVRNHdkCitCSjYrSmNwSXJhb3BMbjhCR2hiak5XajQwbW1ScVdCL05BV0Y2TTVuZTdLcEdBdTd0TGVHNGhiMXpMYWxkSzhHCitseHkyR1BTUkY2TEZTNDhkcEVqMkhiTXYybnZ2Nnh4YWxETUo5K0RpY1dnQUtUUTZiY1gyajNHVWtDUjBnL1QxCitDUmxOQkFBbHZoS3pPN0NscGY5bDBZS0JFZnJhSkJ5WAorLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvbGlzdF90ZXN0cy5weSBiL0xpYi90ZXN0L2xpc3RfdGVzdHMucHkKaW5kZXggYmUwNTRlYS4uNDJlMTE4YiAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvbGlzdF90ZXN0cy5weQorKysgYi9MaWIvdGVzdC9saXN0X3Rlc3RzLnB5CkBAIC00MTgsNiArNDE4LDQ3IEBACiAKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCB1LnJldmVyc2UsIDQyKQogCisgICAgZGVmIHRlc3RfY2xlYXIoc2VsZik6CisgICAgICAgIHUgPSBzZWxmLnR5cGUydGVzdChbMiwgMywgNF0pCisgICAgICAgIHUuY2xlYXIoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHUsIFtdKQorCisgICAgICAgIHUgPSBzZWxmLnR5cGUydGVzdChbXSkKKyAgICAgICAgdS5jbGVhcigpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodSwgW10pCisKKyAgICAgICAgdSA9IHNlbGYudHlwZTJ0ZXN0KFtdKQorICAgICAgICB1LmFwcGVuZCgxKQorICAgICAgICB1LmNsZWFyKCkKKyAgICAgICAgdS5hcHBlbmQoMikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh1LCBbMl0pCisKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCB1LmNsZWFyLCBOb25lKQorCisgICAgZGVmIHRlc3RfY29weShzZWxmKToKKyAgICAgICAgdSA9IHNlbGYudHlwZTJ0ZXN0KFsxLCAyLCAzXSkKKyAgICAgICAgdiA9IHUuY29weSgpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodiwgWzEsIDIsIDNdKQorCisgICAgICAgIHUgPSBzZWxmLnR5cGUydGVzdChbXSkKKyAgICAgICAgdiA9IHUuY29weSgpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodiwgW10pCisKKyAgICAgICAgIyB0ZXN0IHRoYXQgaXQncyBpbmRlZWQgYSBjb3B5IGFuZCBub3QgYSByZWZlcmVuY2UKKyAgICAgICAgdSA9IHNlbGYudHlwZTJ0ZXN0KFsnYScsICdiJ10pCisgICAgICAgIHYgPSB1LmNvcHkoKQorICAgICAgICB2LmFwcGVuZCgnaScpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodSwgWydhJywgJ2InXSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh2LCB1ICsgWydpJ10pCisKKyAgICAgICAgIyB0ZXN0IHRoYXQgaXQncyBhIHNoYWxsb3csIG5vdCBhIGRlZXAgY29weQorICAgICAgICB1ID0gc2VsZi50eXBlMnRlc3QoWzEsIDIsIFszLCA0XSwgNV0pCisgICAgICAgIHYgPSB1LmNvcHkoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHUsIHYpCisgICAgICAgIHNlbGYuYXNzZXJ0SXModlszXSwgdVszXSkKKworICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIHUuY29weSwgTm9uZSkKKwogICAgIGRlZiB0ZXN0X3NvcnQoc2VsZik6CiAgICAgICAgIHUgPSBzZWxmLnR5cGUydGVzdChbMSwgMF0pCiAgICAgICAgIHUuc29ydCgpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC9sb2NrX3Rlc3RzLnB5IGIvTGliL3Rlc3QvbG9ja190ZXN0cy5weQppbmRleCAwOTRjYzdhLi5kODhmMzY0IDEwMDY0NAotLS0gYS9MaWIvdGVzdC9sb2NrX3Rlc3RzLnB5CisrKyBiL0xpYi90ZXN0L2xvY2tfdGVzdHMucHkKQEAgLTQsNyArNCw3IEBACiAKIGltcG9ydCBzeXMKIGltcG9ydCB0aW1lCi1mcm9tIF90aHJlYWQgaW1wb3J0IHN0YXJ0X25ld190aHJlYWQsIGdldF9pZGVudCwgVElNRU9VVF9NQVgKK2Zyb20gX3RocmVhZCBpbXBvcnQgc3RhcnRfbmV3X3RocmVhZCwgVElNRU9VVF9NQVgKIGltcG9ydCB0aHJlYWRpbmcKIGltcG9ydCB1bml0dGVzdAogCkBAIC0zMSw3ICszMSw3IEBACiAgICAgICAgIHNlbGYuZmluaXNoZWQgPSBbXQogICAgICAgICBzZWxmLl9jYW5fZXhpdCA9IG5vdCB3YWl0X2JlZm9yZV9leGl0CiAgICAgICAgIGRlZiB0YXNrKCk6Ci0gICAgICAgICAgICB0aWQgPSBnZXRfaWRlbnQoKQorICAgICAgICAgICAgdGlkID0gdGhyZWFkaW5nLmdldF9pZGVudCgpCiAgICAgICAgICAgICBzZWxmLnN0YXJ0ZWQuYXBwZW5kKHRpZCkKICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICBmKCkKQEAgLTI0Nyw2ICsyNDcsNyBAQAogICAgICAgICAjIENhbm5vdCByZWxlYXNlIGFuIHVuYWNxdWlyZWQgbG9jawogICAgICAgICBsb2NrID0gc2VsZi5sb2NrdHlwZSgpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFJ1bnRpbWVFcnJvciwgbG9jay5yZWxlYXNlKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhSdW50aW1lRXJyb3IsIGxvY2suX3JlbGVhc2Vfc2F2ZSkKICAgICAgICAgbG9jay5hY3F1aXJlKCkKICAgICAgICAgbG9jay5hY3F1aXJlKCkKICAgICAgICAgbG9jay5yZWxlYXNlKCkKQEAgLTI1NCw2ICsyNTUsNyBAQAogICAgICAgICBsb2NrLnJlbGVhc2UoKQogICAgICAgICBsb2NrLnJlbGVhc2UoKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhSdW50aW1lRXJyb3IsIGxvY2sucmVsZWFzZSkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoUnVudGltZUVycm9yLCBsb2NrLl9yZWxlYXNlX3NhdmUpCiAKICAgICBkZWYgdGVzdF9kaWZmZXJlbnRfdGhyZWFkKHNlbGYpOgogICAgICAgICAjIENhbm5vdCByZWxlYXNlIGZyb20gYSBkaWZmZXJlbnQgdGhyZWFkCmRpZmYgLS1naXQgYS9MaWIvdGVzdC9tYWlsY2FwLnR4dCBiL0xpYi90ZXN0L21haWxjYXAudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY2MTEzNWQKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvdGVzdC9tYWlsY2FwLnR4dApAQCAtMCwwICsxLDM5IEBACisjIE1haWxjYXAgZmlsZSBmb3IgdGVzdF9tYWlsY2FwOyBiYXNlZCBvbiBSRkMgMTUyNAorIyBSZWZlcnJlZCB0byBieSB0ZXN0X21haWxjYXAucHkKKworIworIyBUaGlzIGlzIGEgY29tbWVudC4KKyMKKworYXBwbGljYXRpb24vZnJhbWU7IHNob3dmcmFtZSAlczsgcHJpbnQ9ImNhdCAlcyB8IGxwIgorYXBwbGljYXRpb24vcG9zdHNjcmlwdDsgcHMtdG8tdGVybWluYWwgJXM7XAorICAgIG5lZWRzdGVybWluYWwKK2FwcGxpY2F0aW9uL3Bvc3RzY3JpcHQ7IHBzLXRvLXRlcm1pbmFsICVzOyBcCisgICAgY29tcG9zZT1pZHJhdyAlcworYXBwbGljYXRpb24veC1kdmk7IHhkdmkgJXMKK2FwcGxpY2F0aW9uL3gtbW92aWU7IG1vdmllcGxheWVyICVzOyBjb21wb3NlPW1vdmllbWFrZXIgJXM7IFwKKyAgICAgICBkZXNjcmlwdGlvbj0iTW92aWUiOyBcCisgICAgICAgeDExLWJpdG1hcD0iL3Vzci9saWIvWm1haWwvYml0bWFwcy9tb3ZpZS54Ym0iCithcHBsaWNhdGlvbi8qOyBlY2hvICJUaGlzIGlzIFwiJXRcIiBidXQgXAorICAgICAgIGlzIDUwIFwlIEdyZWVrIHRvIG1lIiBcOyBjYXQgJXM7IGNvcGlvdXNvdXRwdXQKKworYXVkaW8vYmFzaWM7IHNob3dhdWRpbyAlczsgY29tcG9zZT1hdWRpb2NvbXBvc2UgJXM7IGVkaXQ9YXVkaW9jb21wb3NlICVzO1wKK2Rlc2NyaXB0aW9uPSJBbiBhdWRpbyBmcmFnbWVudCIKK2F1ZGlvLyogOyAvdXNyL2xvY2FsL2Jpbi9zaG93YXVkaW8gJXQKKworaW1hZ2UvcmdiOyBkaXNwbGF5ICVzCisjaW1hZ2UvZ2lmOyBkaXNwbGF5ICVzCitpbWFnZS94LXh3aW5kb3dkdW1wOyBkaXNwbGF5ICVzCisKKyMgVGhlIGNvbnRpbnVhdGlvbiBjaGFyIHNob3VsZG4ndCBcCisjIG1ha2UgYSBkaWZmZXJlbmNlIGluIGEgY29tbWVudC4KKworbWVzc2FnZS9leHRlcm5hbC1ib2R5OyBzaG93ZXh0ZXJuYWwgJXMgJXthY2Nlc3MtdHlwZX0gJXtuYW1lfSAle3NpdGV9IFwKKyAgICAle2RpcmVjdG9yeX0gJXttb2RlfSAle3NlcnZlcn07IG5lZWRzdGVybWluYWw7IGNvbXBvc2V0eXBlZCA9IGV4dGNvbXBvc2UgJXM7IFwKKyAgICBkZXNjcmlwdGlvbj0iQSByZWZlcmVuY2UgdG8gZGF0YSBzdG9yZWQgaW4gYW4gZXh0ZXJuYWwgbG9jYXRpb24iCisKK3RleHQvcmljaHRleHQ7IHNob3dub25hc2NpaSBpc28tODg1OS04IC1lIHJpY2h0ZXh0IC1wICVzOyB0ZXN0PXRlc3QgImBlY2hvIFwKKyAgICAle2NoYXJzZXR9IHwgdHIgJ1tBLVpdJyAnW2Etel0nYCIgID0gaXNvLTg4NTktODsgY29waW91c291dHB1dAorCit2aWRlby9tcGVnOyBtcGVnX3BsYXkgJXMKK3ZpZGVvLyo7IGFuaW1hdGUgJXMKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L21hdGhfdGVzdGNhc2VzLnR4dCBiL0xpYi90ZXN0L21hdGhfdGVzdGNhc2VzLnR4dAppbmRleCA1ZTI0MzM1Li45NTg1MTg4IDEwMDY0NAotLS0gYS9MaWIvdGVzdC9tYXRoX3Rlc3RjYXNlcy50eHQKKysrIGIvTGliL3Rlc3QvbWF0aF90ZXN0Y2FzZXMudHh0CkBAIC01MTcsMyArNTE3LDExNyBAQAogCiAtLSB3ZWFrZXIgdmVyc2lvbiBvZiBleHBtMTAzMDIKIGV4cG0xMDMwNyBleHBtMSA3MDkuNSAtPiAxLjM1NDk4NjMxOTMxNDYzMjhlKzMwOAorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistLSBsb2cyOiBsb2cgdG8gYmFzZSAyIC0tCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKy0tIHNwZWNpYWwgdmFsdWVzCitsb2cyMDAwMCBsb2cyIDAuMCAtPiAtaW5mICAgICAgICAgICAgICAgZGl2aWRlLWJ5LXplcm8KK2xvZzIwMDAxIGxvZzIgLTAuMCAtPiAtaW5mICAgICAgICAgICAgICBkaXZpZGUtYnktemVybworbG9nMjAwMDIgbG9nMiBpbmYgLT4gaW5mCitsb2cyMDAwMyBsb2cyIC1pbmYgLT4gbmFuICAgICAgICAgICAgICAgaW52YWxpZAorbG9nMjAwMDQgbG9nMiBuYW4gLT4gbmFuCisKKy0tIGV4YWN0IHZhbHVlIGF0IDEuMAorbG9nMjAwMTAgbG9nMiAxLjAgLT4gMC4wCisKKy0tIG5lZ2F0aXZlcworbG9nMjAwMjAgbG9nMiAtNWUtMzI0IC0+IG5hbiAgICAgICAgICAgIGludmFsaWQKK2xvZzIwMDIxIGxvZzIgLTEuMCAtPiBuYW4gICAgICAgICAgICAgICBpbnZhbGlkCitsb2cyMDAyMiBsb2cyIC0xLjdlLTMwOCAtPiBuYW4gICAgICAgICAgaW52YWxpZAorCistLSBleGFjdCB2YWx1ZXMgYXQgcG93ZXJzIG9mIDIKK2xvZzIwMTAwIGxvZzIgMi4wIC0+IDEuMAorbG9nMjAxMDEgbG9nMiA0LjAgLT4gMi4wCitsb2cyMDEwMiBsb2cyIDguMCAtPiAzLjAKK2xvZzIwMTAzIGxvZzIgMTYuMCAtPiA0LjAKK2xvZzIwMTA0IGxvZzIgMzIuMCAtPiA1LjAKK2xvZzIwMTA1IGxvZzIgNjQuMCAtPiA2LjAKK2xvZzIwMTA2IGxvZzIgMTI4LjAgLT4gNy4wCitsb2cyMDEwNyBsb2cyIDI1Ni4wIC0+IDguMAorbG9nMjAxMDggbG9nMiA1MTIuMCAtPiA5LjAKK2xvZzIwMTA5IGxvZzIgMTAyNC4wIC0+IDEwLjAKK2xvZzIwMTEwIGxvZzIgMjA0OC4wIC0+IDExLjAKKworbG9nMjAyMDAgbG9nMiAwLjUgLT4gLTEuMAorbG9nMjAyMDEgbG9nMiAwLjI1IC0+IC0yLjAKK2xvZzIwMjAyIGxvZzIgMC4xMjUgLT4gLTMuMAorbG9nMjAyMDMgbG9nMiAwLjA2MjUgLT4gLTQuMAorCistLSB2YWx1ZXMgY2xvc2UgdG8gMS4wCitsb2cyMDMwMCBsb2cyIDEuMDAwMDAwMDAwMDAwMDAwMiAtPiAzLjIwMzQyNjUwMzgxNDkxNzFlLTE2Citsb2cyMDMwMSBsb2cyIDEuMDAwMDAwMDAwMSAtPiAxLjQ0MjY5NTE2MDE4NTk1MTZlLTEwCitsb2cyMDMwMiBsb2cyIDEuMDAwMDEgLT4gMS40NDI2ODc4Mjc0NzEyOTk3ZS01CisKK2xvZzIwMzEwIGxvZzIgMC45OTk5OTk5OTk5OTk5OTk5IC0+IC0xLjYwMTcxMzI1MTkwNzQ1ODhlLTE2Citsb2cyMDMxMSBsb2cyIDAuOTk5OTk5OTk5OSAtPiAtMS40NDI2OTUxNjAzMzAyMjEwZS0xMAorbG9nMjAzMTIgbG9nMiAwLjk5OTk5IC0+IC0xLjQ0MjcwMjI1NDQwNTY5MjJlLTUKKworLS0gdGlueSB2YWx1ZXMKK2xvZzIwNDAwIGxvZzIgNWUtMzI0IC0+IC0xMDc0LjAKK2xvZzIwNDAxIGxvZzIgMWUtMzIzIC0+IC0xMDczLjAKK2xvZzIwNDAyIGxvZzIgMS41ZS0zMjMgLT4gLTEwNzIuNDE1MDM3NDk5Mjc4OQorbG9nMjA0MDMgbG9nMiAyZS0zMjMgLT4gLTEwNzIuMAorCitsb2cyMDQxMCBsb2cyIDFlLTMwOCAtPiAtMTAyMy4xNTM4NTMyMjUzMDc2Citsb2cyMDQxMSBsb2cyIDIuMjI1MDczODU4NTA3MjAxNGUtMzA4IC0+IC0xMDIyLjAKK2xvZzIwNDEyIGxvZzIgNC40NTAxNDc3MTcwMTQ0MDI4ZS0zMDggLT4gLTEwMjEuMAorbG9nMjA0MTMgbG9nMiAxZS0zMDcgLT4gLTEwMTkuODMxOTI1MTMwNDIwMgorCistLSBodWdlIHZhbHVlcworbG9nMjA1MDAgbG9nMiAxLjc5NzY5MzEzNDg2MjMxNTdlKzMwOCAtPiAxMDI0LjAKK2xvZzIwNTAxIGxvZzIgMS43ZSszMDggLT4gMTAyMy45MTkzODc5NzE2NzA2Citsb2cyMDUwMiBsb2cyIDguOTg4NDY1Njc0MzExNTc5NWUrMzA3IC0+IDEwMjMuMAorCistLSBzZWxlY3Rpb24gb2YgcmFuZG9tIHZhbHVlcworbG9nMjA2MDAgbG9nMiAtNy4yMTc0MzI0ODQxMDM5ODM4ZSsyODkgLT4gbmFuICAgaW52YWxpZAorbG9nMjA2MDEgbG9nMiAtMi44NjEzMTk3MzQwODk2MTdlKzI2NSAtPiBuYW4gICAgaW52YWxpZAorbG9nMjA2MDIgbG9nMiAtNC4zNTA3NjQ2ODk0MDA4OTYyZSsyNTcgLT4gbmFuICAgaW52YWxpZAorbG9nMjA2MDMgbG9nMiAtNi42NzE3MjY1MzA3NTIwMjI0ZSsyMzQgLT4gbmFuICAgaW52YWxpZAorbG9nMjA2MDQgbG9nMiAtMy45MTE4MDIzNzg2NjE5Mjk0ZSsyMjkgLT4gbmFuICAgaW52YWxpZAorbG9nMjA2MDUgbG9nMiAtMS41NDc4MjIxMzAyNTA1MTYxZSsyMDYgLT4gbmFuICAgaW52YWxpZAorbG9nMjA2MDYgbG9nMiAtMS40MzgwNDg1MTMxMzY0NjAyZSsyMDAgLT4gbmFuICAgaW52YWxpZAorbG9nMjA2MDcgbG9nMiAtMy43MjM1MTk4NzMwMzgyNjQ1ZSsxODUgLT4gbmFuICAgaW52YWxpZAorbG9nMjA2MDggbG9nMiAtMS4wNDcyMjQyMjM1MDk1NzI0ZSsxODQgLT4gbmFuICAgaW52YWxpZAorbG9nMjA2MDkgbG9nMiAtNS4wMTQxNzgxOTU2MTYzODg0ZSsxNjAgLT4gbmFuICAgaW52YWxpZAorbG9nMjA2MTAgbG9nMiAtMi4xMTU3OTU4MDMxMTYwMzI0ZSsxMjQgLT4gbmFuICAgaW52YWxpZAorbG9nMjA2MTEgbG9nMiAtNy45Njc3NTU4NjEyNTY3NzE4ZSs5MCAtPiBuYW4gICAgaW52YWxpZAorbG9nMjA2MTIgbG9nMiAtNS41NTUzOTA2MTk0MDYzNzMyZSs0NSAtPiBuYW4gICAgaW52YWxpZAorbG9nMjA2MTMgbG9nMiAtMTY1NzM5MDA5NTI2MDcuOTUzIC0+IG5hbiAgICAgICAgaW52YWxpZAorbG9nMjA2MTQgbG9nMiAtMzcxOTgzNzEwMTkuODg4NjE4IC0+IG5hbiAgICAgICAgaW52YWxpZAorbG9nMjA2MTUgbG9nMiAtNi4wNzI3MTE1MTIxNDIyNjc0ZS0zMiAtPiBuYW4gICAgaW52YWxpZAorbG9nMjA2MTYgbG9nMiAtMi41NDA2ODQxNjU2NTI2MDU3ZS0zOCAtPiBuYW4gICAgaW52YWxpZAorbG9nMjA2MTcgbG9nMiAtNC45MDU2NzY2NzAzMjY3NjU3ZS00MyAtPiBuYW4gICAgaW52YWxpZAorbG9nMjA2MTggbG9nMiAtMi4xNjQ2Nzg2MDc1MjI4MzA1ZS03MSAtPiBuYW4gICAgaW52YWxpZAorbG9nMjA2MTkgbG9nMiAtMi40NzA4MjY3OTA0ODg1NzNlLTc4IC0+IG5hbiAgICAgaW52YWxpZAorbG9nMjA2MjAgbG9nMiAtMy44NjYxNzA5MzAzNDg5MDY0ZS0xNjUgLT4gbmFuICAgaW52YWxpZAorbG9nMjA2MjEgbG9nMiAtMS4wNTE2NDk2OTc2NjQ5OTg2ZS0xODIgLT4gbmFuICAgaW52YWxpZAorbG9nMjA2MjIgbG9nMiAtMS41OTM1NDU4NjE0MzE3OTk2ZS0yNTUgLT4gbmFuICAgaW52YWxpZAorbG9nMjA2MjMgbG9nMiAtMi44NzUwOTc3MjY3MzM2NjU0ZS0yOTMgLT4gbmFuICAgaW52YWxpZAorbG9nMjA2MjQgbG9nMiAtNy42MDc5NDY2Nzk0NzMyNTg1ZS0yOTYgLT4gbmFuICAgaW52YWxpZAorbG9nMjA2MjUgbG9nMiAzLjIwNzMyNTM1Mzk5ODg1NDVlLTMwNyAtPiAtMTAxOC4xNTA1NTQ0MjA5MjEzCitsb2cyMDYyNiBsb2cyIDEuNjc0OTM3ODg1NDcyMjQ5ZS0yNDQgLT4gLTgwOS44MDYzNDc1NTc4MzEyNgorbG9nMjA2MjcgbG9nMiAxLjA5MTEyNTkwNDQ5MzEyODNlLTIxNCAtPiAtNzEwLjc2Njc5NDcyMjc0MjEzCitsb2cyMDYyOCBsb2cyIDIuMDI3NTM3MjYyNDgwOTcwOWUtMTU0IC0+IC01MTAuNTU3MTk4MTgzODMyNzIKK2xvZzIwNjI5IGxvZzIgNy4zOTI2MDg3MzY5NjMxODQxZS0xMTUgLT4gLTM3OS4xMzU2NDczNTMxMjI5MgorbG9nMjA2MzAgbG9nMiAxLjM0ODAxOTgyMDYzNDI0MjNlLTg2IC0+IC0yODUuMjU0OTc0NDUwOTQ0MzYKK2xvZzIwNjMxIGxvZzIgOC45OTI3Mzg0NjU1NzE5OTQ3ZS04MyAtPiAtMjcyLjU1MTI3MTM2NDAxNjM3Citsb2cyMDYzMiBsb2cyIDMuMTQ1MjM5ODcxMzU5NzQ4N2UtNjAgLT4gLTE5Ny42NjI1MTU2NDQ5Njg3NQorbG9nMjA2MzMgbG9nMiA3LjA3MDY1NzMyMTU0NTczNTFlLTU1IC0+IC0xNzkuODg0MjAwODc3ODIyMTcKK2xvZzIwNjM0IGxvZzIgMy4xMjU4Mjg1MzkwNzMxNjY5ZS00OSAtPiAtMTYxLjEzMDIzODAwNTA1NjUzCitsb2cyMDYzNSBsb2cyIDguMjI1MzA0NjYyNzgyOTk0MmUtNDEgLT4gLTEzMy4xNTg5ODI3NzM1NTg3OQorbG9nMjA2MzYgbG9nMiA3Ljg2OTEzNjczOTc1MTk4OTdlKzQ5IC0+IDE2NS43NTA2ODIwMjczMjQxOQorbG9nMjA2MzcgbG9nMiAyLjk5MjA1NjE5ODM5MjUwMTNlKzY0IC0+IDIxNC4xODQ1MzUzNDU3Mzc1NworbG9nMjA2MzggbG9nMiA0Ljc4MjcyNTQ1NTM5NDY4NDFlKzc3IC0+IDI1OC4wNDYyOTYyODQ0NTY3MworbG9nMjA2MzkgbG9nMiAzLjE5MDM1NjY0OTY0ODE4NjhlKzEwNSAtPiAzNTAuNDc2MTY3Njc0OTExNjYKK2xvZzIwNjQwIGxvZzIgNS42MTk1MDgyNDQ5NTAyNDE5ZSsxMTMgLT4gMzc3Ljg2ODMxODYxMDA4MjUwCitsb2cyMDY0MSBsb2cyIDkuOTYyNTY1ODI1MDY1MTA0N2UrMTI1IC0+IDQxOC41NTc1MjkyMTIyODc1MworbG9nMjA2NDIgbG9nMiAyLjczNTg5NDUyMjA5NjE1MzJlKzE0NSAtPiA0ODMuMTMxNTg2MzY5MjM0MTMKK2xvZzIwNjQzIGxvZzIgMi43ODU4NDIzODc5MjY5MzFlKzE3NCAtPiA1NzkuNDkzNjAyMTQ4NjAyODAKK2xvZzIwNjQ0IGxvZzIgMi40MTY5MTcyNTA3MjUyNzUxZSsxOTMgLT4gNjQyLjQwNTI5MDM5Mjg5NjUyCitsb2cyMDY0NSBsb2cyIDMuMTY4OTA5MTIwNjM5NTYzMmUrMjA1IC0+IDY4Mi42NTkyNDU3Mzc5ODM5NQorbG9nMjA2NDYgbG9nMiAyLjUzNTk5NTU5MjM2NTM5MWUrMjA4IC0+IDY5Mi4zMDM1OTU5NzQ2MDQ2MAorbG9nMjA2NDcgbG9nMiA2LjIwMTEyMzY1NjYwODk5MTZlKzIzMyAtPiA3NzYuNjQxNzc1NzY3MzA5MTMKK2xvZzIwNjQ4IGxvZzIgMi4xODQzMjc0ODIwNjc3NjMyZSsyNTMgLT4gODQxLjU3NDk5NzE3Mjg5NjQ3Citsb2cyMDY0OSBsb2cyIDguNzQ5MzkzMTA2MzQ3NDc5MWUrMjk3IC0+IDk4OS43NDE4MjcxMzA3Mzk4MQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvbW9ja19zb2NrZXQucHkgYi9MaWIvdGVzdC9tb2NrX3NvY2tldC5weQppbmRleCA4MDM2OTMyLi5kMDllNzhjIDEwMDY0NAotLS0gYS9MaWIvdGVzdC9tb2NrX3NvY2tldC5weQorKysgYi9MaWIvdGVzdC9tb2NrX3NvY2tldC5weQpAQCAtMTA2LDcgKzEwNiw4IEBACiAgICAgcmV0dXJuIE1vY2tTb2NrZXQoKQogCiAKLWRlZiBjcmVhdGVfY29ubmVjdGlvbihhZGRyZXNzLCB0aW1lb3V0PXNvY2tldF9tb2R1bGUuX0dMT0JBTF9ERUZBVUxUX1RJTUVPVVQpOgorZGVmIGNyZWF0ZV9jb25uZWN0aW9uKGFkZHJlc3MsIHRpbWVvdXQ9c29ja2V0X21vZHVsZS5fR0xPQkFMX0RFRkFVTFRfVElNRU9VVCwKKyAgICAgICAgICAgICAgICAgICAgICBzb3VyY2VfYWRkcmVzcz1Ob25lKToKICAgICB0cnk6CiAgICAgICAgIGludF9wb3J0ID0gaW50KGFkZHJlc3NbMV0pCiAgICAgZXhjZXB0IFZhbHVlRXJyb3I6CmRpZmYgLS1naXQgYS9MaWIvdGVzdC9waWNrbGV0ZXN0ZXIucHkgYi9MaWIvdGVzdC9waWNrbGV0ZXN0ZXIucHkKaW5kZXggY2FiMDUyMy4uMzY4NmE2MiAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvcGlja2xldGVzdGVyLnB5CisrKyBiL0xpYi90ZXN0L3BpY2tsZXRlc3Rlci5weQpAQCAtNCwxMCArNCwxMSBAQAogaW1wb3J0IHBpY2tsZXRvb2xzCiBpbXBvcnQgc3lzCiBpbXBvcnQgY29weXJlZworaW1wb3J0IHdlYWtyZWYKIGZyb20gaHR0cC5jb29raWVzIGltcG9ydCBTaW1wbGVDb29raWUKIAogZnJvbSB0ZXN0LnN1cHBvcnQgaW1wb3J0ICgKLSAgICBUZXN0RmFpbGVkLCBURVNURk4sIHJ1bl93aXRoX2xvY2FsZSwKKyAgICBUZXN0RmFpbGVkLCBURVNURk4sIHJ1bl93aXRoX2xvY2FsZSwgbm9fdHJhY2luZywKICAgICBfMkcsIF80RywgYmlnbWVtdGVzdCwKICAgICApCiAKQEAgLTE4LDcgKzE5LDcgQEAKICMga2luZCBvZiBvdXRlciBsb29wLgogcHJvdG9jb2xzID0gcmFuZ2UocGlja2xlLkhJR0hFU1RfUFJPVE9DT0wgKyAxKQogCi1jaGFyYWN0ZXJfc2l6ZSA9IDQgaWYgc3lzLm1heHVuaWNvZGUgPiAweEZGRkYgZWxzZSAyCithc2NpaV9jaGFyX3NpemUgPSAxCiAKIAogIyBSZXR1cm4gVHJ1ZSBpZiBvcGNvZGUgY29kZSBhcHBlYXJzIGluIHRoZSBwaWNrbGUsIGVsc2UgRmFsc2UuCkBAIC03NDIsNiArNzQzLDE4IEBACiAgICAgICAgICAgICAgICAgdSA9IHNlbGYubG9hZHMocykKICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHQsIHUpCiAKKyAgICBkZWYgdGVzdF9lbGxpcHNpcyhzZWxmKToKKyAgICAgICAgZm9yIHByb3RvIGluIHByb3RvY29sczoKKyAgICAgICAgICAgIHMgPSBzZWxmLmR1bXBzKC4uLiwgcHJvdG8pCisgICAgICAgICAgICB1ID0gc2VsZi5sb2FkcyhzKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCguLi4sIHUpCisKKyAgICBkZWYgdGVzdF9ub3RpbXBsZW1lbnRlZChzZWxmKToKKyAgICAgICAgZm9yIHByb3RvIGluIHByb3RvY29sczoKKyAgICAgICAgICAgIHMgPSBzZWxmLmR1bXBzKE5vdEltcGxlbWVudGVkLCBwcm90bykKKyAgICAgICAgICAgIHUgPSBzZWxmLmxvYWRzKHMpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKE5vdEltcGxlbWVudGVkLCB1KQorCiAgICAgIyBUZXN0cyBmb3IgcHJvdG9jb2wgMgogCiAgICAgZGVmIHRlc3RfcHJvdG8oc2VsZik6CkBAIC04NzUsNiArODg4LDI1IEBACiAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChCKHgpLCBCKHkpLCBkZXRhaWwpCiAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh4Ll9fZGljdF9fLCB5Ll9fZGljdF9fLCBkZXRhaWwpCiAKKyAgICBkZWYgdGVzdF9uZXdvYmpfcHJveGllcyhzZWxmKToKKyAgICAgICAgIyBORVdPQkogc2hvdWxkIHVzZSB0aGUgX19jbGFzc19fIHJhdGhlciB0aGFuIHRoZSByYXcgdHlwZQorICAgICAgICBjbGFzc2VzID0gbXljbGFzc2VzWzpdCisgICAgICAgICMgQ2Fubm90IGNyZWF0ZSB3ZWFrcHJveGllcyB0byB0aGVzZSBjbGFzc2VzCisgICAgICAgIGZvciBjIGluIChNeUludCwgTXlUdXBsZSk6CisgICAgICAgICAgICBjbGFzc2VzLnJlbW92ZShjKQorICAgICAgICBmb3IgcHJvdG8gaW4gcHJvdG9jb2xzOgorICAgICAgICAgICAgZm9yIEMgaW4gY2xhc3NlczoKKyAgICAgICAgICAgICAgICBCID0gQy5fX2Jhc2VfXworICAgICAgICAgICAgICAgIHggPSBDKEMuc2FtcGxlKQorICAgICAgICAgICAgICAgIHguZm9vID0gNDIKKyAgICAgICAgICAgICAgICBwID0gd2Vha3JlZi5wcm94eSh4KQorICAgICAgICAgICAgICAgIHMgPSBzZWxmLmR1bXBzKHAsIHByb3RvKQorICAgICAgICAgICAgICAgIHkgPSBzZWxmLmxvYWRzKHMpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh0eXBlKHkpLCB0eXBlKHgpKSAgIyByYXRoZXIgdGhhbiB0eXBlKHApCisgICAgICAgICAgICAgICAgZGV0YWlsID0gKHByb3RvLCBDLCBCLCB4LCB5LCB0eXBlKHkpKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoQih4KSwgQih5KSwgZGV0YWlsKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoeC5fX2RpY3RfXywgeS5fX2RpY3RfXywgZGV0YWlsKQorCiAgICAgIyBSZWdpc3RlciBhIHR5cGUgd2l0aCBjb3B5cmVnLCB3aXRoIGV4dGVuc2lvbiBjb2RlIGV4dGNvZGUuICBQaWNrbGUKICAgICAjIGFuIG9iamVjdCBvZiB0aGF0IHR5cGUuICBDaGVjayB0aGF0IHRoZSByZXN1bHRpbmcgcGlja2xlIHVzZXMgb3Bjb2RlCiAgICAgIyAoRVhUWzEyNF0pIHVuZGVyIHByb3RvIDIsIGFuZCBub3QgaW4gcHJvdG8gMS4KQEAgLTEwMzUsMTMgKzEwNjcsMTMgQEAKICAgICAgICAgICAgIHkgPSBzZWxmLmxvYWRzKHMpCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHkuX3JlZHVjZV9jYWxsZWQsIDEpCiAKKyAgICBAbm9fdHJhY2luZwogICAgIGRlZiB0ZXN0X2JhZF9nZXRhdHRyKHNlbGYpOgogICAgICAgICB4ID0gQmFkR2V0YXR0cigpCiAgICAgICAgIGZvciBwcm90byBpbiAwLCAxOgogICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoUnVudGltZUVycm9yLCBzZWxmLmR1bXBzLCB4LCBwcm90bykKICAgICAgICAgIyBwcm90b2NvbCAyIGRvbid0IHJhaXNlIGEgUnVudGltZUVycm9yLgogICAgICAgICBkID0gc2VsZi5kdW1wcyh4LCAyKQotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhSdW50aW1lRXJyb3IsIHNlbGYubG9hZHMsIGQpCiAKICAgICBkZWYgdGVzdF9yZWR1Y2VfYmFkX2l0ZXJhdG9yKHNlbGYpOgogICAgICAgICAjIElzc3VlNDE3NjogY3Jhc2ggd2hlbiA0dGggYW5kIDV0aCBpdGVtcyBvZiBfX3JlZHVjZV9fKCkKQEAgLTExMzEsNiArMTE2MywxNSBAQAogICAgICAgICBlbXB0eSA9IHNlbGYubG9hZHMoYidceDgwXHgwM1VceDAwcVx4MDAuJywgZW5jb2Rpbmc9J2tvaTgtcicpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZW1wdHksICcnKQogCisgICAgZGVmIHRlc3RfaW50X3BpY2tsaW5nX2VmZmljaWVuY3koc2VsZik6CisgICAgICAgICMgVGVzdCBjb21wYWNpdHkgb2YgaW50IHJlcHJlc2VudGF0aW9uIChzZWUgaXNzdWUgIzEyNzQ0KQorICAgICAgICBmb3IgcHJvdG8gaW4gcHJvdG9jb2xzOgorICAgICAgICAgICAgc2l6ZXMgPSBbbGVuKHNlbGYuZHVtcHMoMioqbiwgcHJvdG8pKSBmb3IgbiBpbiByYW5nZSg3MCldCisgICAgICAgICAgICAjIHRoZSBzaXplIGZ1bmN0aW9uIGlzIG1vbm90b25pYworICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzb3J0ZWQoc2l6ZXMpLCBzaXplcykKKyAgICAgICAgICAgIGlmIHByb3RvID49IDI6CisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRMZXNzRXF1YWwoc2l6ZXNbLTFdLCAxNCkKKwogICAgIGRlZiBjaGVja19uZWdhdGl2ZV8zMmJfYmluWFhYKHNlbGYsIGR1bXBlZCk6CiAgICAgICAgIGlmIHN5cy5tYXhzaXplID4gMioqMzI6CiAgICAgICAgICAgICBzZWxmLnNraXBUZXN0KCJ0ZXN0IGlzIG9ubHkgbWVhbmluZ2Z1bCBvbiAzMi1iaXQgYnVpbGRzIikKQEAgLTEyMTIsNyArMTI1Myw3IEBACiAgICAgIyBBbGwgcHJvdG9jb2xzIHVzZSAxLWJ5dGUgcGVyIHByaW50YWJsZSBBU0NJSSBjaGFyYWN0ZXI7IHdlIGFkZCBhbm90aGVyCiAgICAgIyBieXRlIGJlY2F1c2UgdGhlIGVuY29kZWQgZm9ybSBoYXMgdG8gYmUgY29waWVkIGludG8gdGhlIGludGVybmFsIGJ1ZmZlci4KIAotICAgIEBiaWdtZW10ZXN0KHNpemU9XzJHLCBtZW11c2U9MiArIGNoYXJhY3Rlcl9zaXplLCBkcnlfcnVuPUZhbHNlKQorICAgIEBiaWdtZW10ZXN0KHNpemU9XzJHLCBtZW11c2U9MiArIGFzY2lpX2NoYXJfc2l6ZSwgZHJ5X3J1bj1GYWxzZSkKICAgICBkZWYgdGVzdF9odWdlX3N0cl8zMmIoc2VsZiwgc2l6ZSk6CiAgICAgICAgIGRhdGEgPSAiYWJjZCIgKiAoc2l6ZSAvLyA0KQogICAgICAgICB0cnk6CkBAIC0xMjI5LDcgKzEyNzAsNyBAQAogICAgICMgQklOVU5JQ09ERSAocHJvdG9jb2xzIDEsIDIgYW5kIDMpIGNhbm5vdCBjYXJyeSBtb3JlIHRoYW4KICAgICAjIDIqKjMyIC0gMSBieXRlcyBvZiB1dGYtOCBlbmNvZGVkIHVuaWNvZGUuCiAKLSAgICBAYmlnbWVtdGVzdChzaXplPV80RywgbWVtdXNlPTEgKyBjaGFyYWN0ZXJfc2l6ZSwgZHJ5X3J1bj1GYWxzZSkKKyAgICBAYmlnbWVtdGVzdChzaXplPV80RywgbWVtdXNlPTEgKyBhc2NpaV9jaGFyX3NpemUsIGRyeV9ydW49RmFsc2UpCiAgICAgZGVmIHRlc3RfaHVnZV9zdHJfNjRiKHNlbGYsIHNpemUpOgogICAgICAgICBkYXRhID0gImEiICogc2l6ZQogICAgICAgICB0cnk6CkBAIC0xNTc2LDYgKzE2MTcsMTA1IEBACiAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh1bnBpY2tsZXIubG9hZCgpLCBkYXRhKQogCiAKKyMgVGVzdHMgZm9yIGRpc3BhdGNoX3RhYmxlIGF0dHJpYnV0ZQorCitSRURVQ0VfQSA9ICdyZWR1Y2VfQScKKworY2xhc3MgQUFBKG9iamVjdCk6CisgICAgZGVmIF9fcmVkdWNlX18oc2VsZik6CisgICAgICAgIHJldHVybiBzdHIsIChSRURVQ0VfQSwpCisKK2NsYXNzIEJCQihvYmplY3QpOgorICAgIHBhc3MKKworY2xhc3MgQWJzdHJhY3REaXNwYXRjaFRhYmxlVGVzdHModW5pdHRlc3QuVGVzdENhc2UpOgorCisgICAgZGVmIHRlc3RfZGVmYXVsdF9kaXNwYXRjaF90YWJsZShzZWxmKToKKyAgICAgICAgIyBObyBkaXNwYXRjaF90YWJsZSBhdHRyaWJ1dGUgYnkgZGVmYXVsdAorICAgICAgICBmID0gaW8uQnl0ZXNJTygpCisgICAgICAgIHAgPSBzZWxmLnBpY2tsZXJfY2xhc3MoZiwgMCkKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhBdHRyaWJ1dGVFcnJvcik6CisgICAgICAgICAgICBwLmRpc3BhdGNoX3RhYmxlCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoaGFzYXR0cihwLCAnZGlzcGF0Y2hfdGFibGUnKSkKKworICAgIGRlZiB0ZXN0X2NsYXNzX2Rpc3BhdGNoX3RhYmxlKHNlbGYpOgorICAgICAgICAjIEEgZGlzcGF0Y2hfdGFibGUgYXR0cmlidXRlIGNhbiBiZSBzcGVjaWZpZWQgY2xhc3Mtd2lkZQorICAgICAgICBkdCA9IHNlbGYuZ2V0X2Rpc3BhdGNoX3RhYmxlKCkKKworICAgICAgICBjbGFzcyBNeVBpY2tsZXIoc2VsZi5waWNrbGVyX2NsYXNzKToKKyAgICAgICAgICAgIGRpc3BhdGNoX3RhYmxlID0gZHQKKworICAgICAgICBkZWYgZHVtcHMob2JqLCBwcm90b2NvbD1Ob25lKToKKyAgICAgICAgICAgIGYgPSBpby5CeXRlc0lPKCkKKyAgICAgICAgICAgIHAgPSBNeVBpY2tsZXIoZiwgcHJvdG9jb2wpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHAuZGlzcGF0Y2hfdGFibGUsIGR0KQorICAgICAgICAgICAgcC5kdW1wKG9iaikKKyAgICAgICAgICAgIHJldHVybiBmLmdldHZhbHVlKCkKKworICAgICAgICBzZWxmLl90ZXN0X2Rpc3BhdGNoX3RhYmxlKGR1bXBzLCBkdCkKKworICAgIGRlZiB0ZXN0X2luc3RhbmNlX2Rpc3BhdGNoX3RhYmxlKHNlbGYpOgorICAgICAgICAjIEEgZGlzcGF0Y2hfdGFibGUgYXR0cmlidXRlIGNhbiBhbHNvIGJlIHNwZWNpZmllZCBpbnN0YW5jZS13aWRlCisgICAgICAgIGR0ID0gc2VsZi5nZXRfZGlzcGF0Y2hfdGFibGUoKQorCisgICAgICAgIGRlZiBkdW1wcyhvYmosIHByb3RvY29sPU5vbmUpOgorICAgICAgICAgICAgZiA9IGlvLkJ5dGVzSU8oKQorICAgICAgICAgICAgcCA9IHNlbGYucGlja2xlcl9jbGFzcyhmLCBwcm90b2NvbCkKKyAgICAgICAgICAgIHAuZGlzcGF0Y2hfdGFibGUgPSBkdAorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwLmRpc3BhdGNoX3RhYmxlLCBkdCkKKyAgICAgICAgICAgIHAuZHVtcChvYmopCisgICAgICAgICAgICByZXR1cm4gZi5nZXR2YWx1ZSgpCisKKyAgICAgICAgc2VsZi5fdGVzdF9kaXNwYXRjaF90YWJsZShkdW1wcywgZHQpCisKKyAgICBkZWYgX3Rlc3RfZGlzcGF0Y2hfdGFibGUoc2VsZiwgZHVtcHMsIGRpc3BhdGNoX3RhYmxlKToKKyAgICAgICAgZGVmIGN1c3RvbV9sb2FkX2R1bXAob2JqKToKKyAgICAgICAgICAgIHJldHVybiBwaWNrbGUubG9hZHMoZHVtcHMob2JqLCAwKSkKKworICAgICAgICBkZWYgZGVmYXVsdF9sb2FkX2R1bXAob2JqKToKKyAgICAgICAgICAgIHJldHVybiBwaWNrbGUubG9hZHMocGlja2xlLmR1bXBzKG9iaiwgMCkpCisKKyAgICAgICAgIyBwaWNrbGluZyBjb21wbGV4IG51bWJlcnMgdXNpbmcgcHJvdG9jb2wgMCByZWxpZXMgb24gY29weXJlZworICAgICAgICAjIHNvIGNoZWNrIHBpY2tsaW5nIGEgY29tcGxleCBudW1iZXIgc3RpbGwgd29ya3MKKyAgICAgICAgeiA9IDEgKyAyagorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGN1c3RvbV9sb2FkX2R1bXAoeiksIHopCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGVmYXVsdF9sb2FkX2R1bXAoeiksIHopCisKKyAgICAgICAgIyBtb2RpZnkgcGlja2xpbmcgb2YgY29tcGxleAorICAgICAgICBSRURVQ0VfMSA9ICdyZWR1Y2VfMScKKyAgICAgICAgZGVmIHJlZHVjZV8xKG9iaik6CisgICAgICAgICAgICByZXR1cm4gc3RyLCAoUkVEVUNFXzEsKQorICAgICAgICBkaXNwYXRjaF90YWJsZVtjb21wbGV4XSA9IHJlZHVjZV8xCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY3VzdG9tX2xvYWRfZHVtcCh6KSwgUkVEVUNFXzEpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGVmYXVsdF9sb2FkX2R1bXAoeiksIHopCisKKyAgICAgICAgIyBjaGVjayBwaWNrbGFiaWxpdHkgb2YgQUFBIGFuZCBCQkIKKyAgICAgICAgYSA9IEFBQSgpCisgICAgICAgIGIgPSBCQkIoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGN1c3RvbV9sb2FkX2R1bXAoYSksIFJFRFVDRV9BKQorICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2UoY3VzdG9tX2xvYWRfZHVtcChiKSwgQkJCKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRlZmF1bHRfbG9hZF9kdW1wKGEpLCBSRURVQ0VfQSkKKyAgICAgICAgc2VsZi5hc3NlcnRJc0luc3RhbmNlKGRlZmF1bHRfbG9hZF9kdW1wKGIpLCBCQkIpCisKKyAgICAgICAgIyBtb2RpZnkgcGlja2xpbmcgb2YgQkJCCisgICAgICAgIGRpc3BhdGNoX3RhYmxlW0JCQl0gPSByZWR1Y2VfMQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGN1c3RvbV9sb2FkX2R1bXAoYSksIFJFRFVDRV9BKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGN1c3RvbV9sb2FkX2R1bXAoYiksIFJFRFVDRV8xKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRlZmF1bHRfbG9hZF9kdW1wKGEpLCBSRURVQ0VfQSkKKyAgICAgICAgc2VsZi5hc3NlcnRJc0luc3RhbmNlKGRlZmF1bHRfbG9hZF9kdW1wKGIpLCBCQkIpCisKKyAgICAgICAgIyByZXZlcnQgcGlja2xpbmcgb2YgQkJCIGFuZCBtb2RpZnkgcGlja2xpbmcgb2YgQUFBCisgICAgICAgIFJFRFVDRV8yID0gJ3JlZHVjZV8yJworICAgICAgICBkZWYgcmVkdWNlXzIob2JqKToKKyAgICAgICAgICAgIHJldHVybiBzdHIsIChSRURVQ0VfMiwpCisgICAgICAgIGRpc3BhdGNoX3RhYmxlW0FBQV0gPSByZWR1Y2VfMgorICAgICAgICBkZWwgZGlzcGF0Y2hfdGFibGVbQkJCXQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGN1c3RvbV9sb2FkX2R1bXAoYSksIFJFRFVDRV8yKQorICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2UoY3VzdG9tX2xvYWRfZHVtcChiKSwgQkJCKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRlZmF1bHRfbG9hZF9kdW1wKGEpLCBSRURVQ0VfQSkKKyAgICAgICAgc2VsZi5hc3NlcnRJc0luc3RhbmNlKGRlZmF1bHRfbG9hZF9kdW1wKGIpLCBCQkIpCisKKwogaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKICAgICAjIFByaW50IHNvbWUgc3R1ZmYgdGhhdCBjYW4gYmUgdXNlZCB0byByZXdyaXRlIERBVEF7MCwxLDJ9CiAgICAgZnJvbSBwaWNrbGV0b29scyBpbXBvcnQgZGlzCmRpZmYgLS1naXQgYS9MaWIvdGVzdC9yZWdydGVzdC5weSBiL0xpYi90ZXN0L3JlZ3J0ZXN0LnB5CmluZGV4IDcxNGExMTYuLjQ0ZDM0MjYgMTAwNzU1Ci0tLSBhL0xpYi90ZXN0L3JlZ3J0ZXN0LnB5CisrKyBiL0xpYi90ZXN0L3JlZ3J0ZXN0LnB5CkBAIC0yMCw2ICsyMCwxMSBAQAogT3B0aW9uczoKIAogLWgvLS1oZWxwICAgICAgIC0tIHByaW50IHRoaXMgdGV4dCBhbmQgZXhpdAorLS10aW1lb3V0IFRJTUVPVVQKKyAgICAgICAgICAgICAgICAtLSBkdW1wIHRoZSB0cmFjZWJhY2sgYW5kIGV4aXQgaWYgYSB0ZXN0IHRha2VzIG1vcmUKKyAgICAgICAgICAgICAgICAgICB0aGFuIFRJTUVPVVQgc2Vjb25kczsgZGlzYWJsZWQgaWYgVElNRU9VVCBpcyBuZWdhdGl2ZQorICAgICAgICAgICAgICAgICAgIG9yIGVxdWFscyB0byB6ZXJvCistLXdhaXQgICAgICAgICAgLS0gd2FpdCBmb3IgdXNlciBpbnB1dCwgZS5nLiwgYWxsb3cgYSBkZWJ1Z2dlciB0byBiZSBhdHRhY2hlZAogCiBWZXJib3NpdHkKIApAQCAtNDQsNiArNDksOSBAQAogICAgICAgICAgICAgICAgIC0tIHNwZWNpZnkgd2hpY2ggc3BlY2lhbCByZXNvdXJjZSBpbnRlbnNpdmUgdGVzdHMgdG8gcnVuCiAtTS8tLW1lbWxpbWl0IExJTUlUCiAgICAgICAgICAgICAgICAgLS0gcnVuIHZlcnkgbGFyZ2UgbWVtb3J5LWNvbnN1bWluZyB0ZXN0cworICAgLS10ZXN0ZGlyIERJUgorICAgICAgICAgICAgICAgIC0tIGV4ZWN1dGUgdGVzdCBmaWxlcyBpbiB0aGUgc3BlY2lmaWVkIGRpcmVjdG9yeSAoaW5zdGVhZAorICAgICAgICAgICAgICAgICAgIG9mIHRoZSBQeXRob24gc3RkbGliIHRlc3Qgc3VpdGUpCiAKIFNwZWNpYWwgcnVucwogCkBAIC0xMjUsNiArMTMzLDggQEAKIAogICAgIGFsbCAtICAgICAgIEVuYWJsZSBhbGwgc3BlY2lhbCByZXNvdXJjZXMuCiAKKyAgICBub25lIC0gICAgICBEaXNhYmxlIGFsbCBzcGVjaWFsIHJlc291cmNlcyAodGhpcyBpcyB0aGUgZGVmYXVsdCkuCisKICAgICBhdWRpbyAtICAgICBUZXN0cyB0aGF0IHVzZSB0aGUgYXVkaW8gZGV2aWNlLiAgKFRoZXJlIGFyZSBrbm93bgogICAgICAgICAgICAgICAgIGNhc2VzIG9mIGJyb2tlbiBhdWRpbyBkcml2ZXJzIHRoYXQgY2FuIGNyYXNoIFB5dGhvbiBvcgogICAgICAgICAgICAgICAgIGV2ZW4gdGhlIExpbnV4IGtlcm5lbC4pCkBAIC0xNTYsMTYgKzE2NiwxOSBAQAogIiIiCiAKIGltcG9ydCBidWlsdGlucwotaW1wb3J0IGVycm5vCitpbXBvcnQgZmF1bHRoYW5kbGVyCiBpbXBvcnQgZ2V0b3B0CiBpbXBvcnQgaW8KIGltcG9ydCBqc29uCiBpbXBvcnQgbG9nZ2luZwogaW1wb3J0IG9zCitpbXBvcnQgcGFja2FnaW5nLmNvbW1hbmQKK2ltcG9ydCBwYWNrYWdpbmcuZGF0YWJhc2UKIGltcG9ydCBwbGF0Zm9ybQogaW1wb3J0IHJhbmRvbQogaW1wb3J0IHJlCiBpbXBvcnQgc2h1dGlsCitpbXBvcnQgc2lnbmFsCiBpbXBvcnQgc3lzCiBpbXBvcnQgc3lzY29uZmlnCiBpbXBvcnQgdGVtcGZpbGUKQEAgLTIyNSw2ICsyMzgsNyBAQAogU0tJUFBFRCA9IC0yCiBSRVNPVVJDRV9ERU5JRUQgPSAtMwogSU5URVJSVVBURUQgPSAtNAorQ0hJTERfRVJST1IgPSAtNSAgICMgZXJyb3IgaW4gYSBjaGlsZCBwcm9jZXNzCiAKIGZyb20gdGVzdCBpbXBvcnQgc3VwcG9ydAogCkBAIC0yNjgsNiArMjgyLDE4IEBACiAgICAgb24gdGhlIGNvbW1hbmQgbGluZS4KICAgICAiIiIKIAorICAgICMgRGlzcGxheSB0aGUgUHl0aG9uIHRyYWNlYmFjayBvbiBmYXRhbCBlcnJvcnMgKGUuZy4gc2VnZmF1bHQpCisgICAgZmF1bHRoYW5kbGVyLmVuYWJsZShhbGxfdGhyZWFkcz1UcnVlKQorCisgICAgIyBEaXNwbGF5IHRoZSBQeXRob24gdHJhY2ViYWNrIG9uIFNJR0FMUk0gb3IgU0lHVVNSMSBzaWduYWwKKyAgICBzaWduYWxzID0gW10KKyAgICBpZiBoYXNhdHRyKHNpZ25hbCwgJ1NJR0FMUk0nKToKKyAgICAgICAgc2lnbmFscy5hcHBlbmQoc2lnbmFsLlNJR0FMUk0pCisgICAgaWYgaGFzYXR0cihzaWduYWwsICdTSUdVU1IxJyk6CisgICAgICAgIHNpZ25hbHMuYXBwZW5kKHNpZ25hbC5TSUdVU1IxKQorICAgIGZvciBzaWdudW0gaW4gc2lnbmFsczoKKyAgICAgICAgZmF1bHRoYW5kbGVyLnJlZ2lzdGVyKHNpZ251bSwgY2hhaW49VHJ1ZSkKKwogICAgIHJlcGxhY2Vfc3Rkb3V0KCkKIAogICAgIHN1cHBvcnQucmVjb3JkX29yaWdpbmFsX3N0ZG91dChzeXMuc3Rkb3V0KQpAQCAtMjc4LDcgKzMwNCw4IEBACiAgICAgICAgICAgICAgJ3VzZT0nLCAndGhyZXNob2xkPScsICdjb3ZlcmRpcj0nLCAnbm9jb3ZlcmRpcicsCiAgICAgICAgICAgICAgJ3J1bmxlYWtzJywgJ2h1bnRybGVha3M9JywgJ21lbWxpbWl0PScsICdyYW5kc2VlZD0nLAogICAgICAgICAgICAgICdtdWx0aXByb2Nlc3M9JywgJ2NvdmVyYWdlJywgJ3NsYXZlYXJncz0nLCAnZm9yZXZlcicsICdkZWJ1ZycsCi0gICAgICAgICAgICAgJ3N0YXJ0PScsICdub3dpbmRvd3MnLCAnaGVhZGVyJywgJ2ZhaWxmYXN0JywgJ21hdGNoJ10pCisgICAgICAgICAgICAgJ3N0YXJ0PScsICdub3dpbmRvd3MnLCAnaGVhZGVyJywgJ3Rlc3RkaXI9JywgJ3RpbWVvdXQ9JywgJ3dhaXQnLAorICAgICAgICAgICAgICdmYWlsZmFzdCcsICdtYXRjaCddKQogICAgIGV4Y2VwdCBnZXRvcHQuZXJyb3IgYXMgbXNnOgogICAgICAgICB1c2FnZShtc2cpCiAKQEAgLTI4OSw2ICszMTYsNyBAQAogICAgICAgICB1c2VfcmVzb3VyY2VzID0gW10KICAgICBkZWJ1ZyA9IEZhbHNlCiAgICAgc3RhcnQgPSBOb25lCisgICAgdGltZW91dCA9IE5vbmUKICAgICBmb3IgbywgYSBpbiBvcHRzOgogICAgICAgICBpZiBvIGluICgnLWgnLCAnLS1oZWxwJyk6CiAgICAgICAgICAgICBwcmludChfX2RvY19fKQpAQCAtMzMyLDcgKzM2MCw5IEBACiAgICAgICAgIGVsaWYgbyBpbiAoJy1UJywgJy0tY292ZXJhZ2UnKToKICAgICAgICAgICAgIHRyYWNlID0gVHJ1ZQogICAgICAgICBlbGlmIG8gaW4gKCctRCcsICctLWNvdmVyZGlyJyk6Ci0gICAgICAgICAgICBjb3ZlcmRpciA9IG9zLnBhdGguam9pbihvcy5nZXRjd2QoKSwgYSkKKyAgICAgICAgICAgICMgQ1dEIGlzIHJlcGxhY2VkIHdpdGggYSB0ZW1wb3JhcnkgZGlyIGJlZm9yZSBjYWxsaW5nIG1haW4oKSwgc28gd2UKKyAgICAgICAgICAgICMgbmVlZCAgam9pbiBpdCB3aXRoIHRoZSBzYXZlZCBDV0Qgc28gaXQgZ29lcyB3aGVyZSB0aGUgdXNlciBleHBlY3RzLgorICAgICAgICAgICAgY292ZXJkaXIgPSBvcy5wYXRoLmpvaW4oc3VwcG9ydC5TQVZFRENXRCwgYSkKICAgICAgICAgZWxpZiBvIGluICgnLU4nLCAnLS1ub2NvdmVyZGlyJyk6CiAgICAgICAgICAgICBjb3ZlcmRpciA9IE5vbmUKICAgICAgICAgZWxpZiBvIGluICgnLVInLCAnLS1odW50cmxlYWtzJyk6CkBAIC0zNjEsNiArMzkxLDkgQEAKICAgICAgICAgICAgICAgICBpZiByID09ICdhbGwnOgogICAgICAgICAgICAgICAgICAgICB1c2VfcmVzb3VyY2VzWzpdID0gUkVTT1VSQ0VfTkFNRVMKICAgICAgICAgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgICAgICAgICBpZiByID09ICdub25lJzoKKyAgICAgICAgICAgICAgICAgICAgZGVsIHVzZV9yZXNvdXJjZXNbOl0KKyAgICAgICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAgICAgICAgICByZW1vdmUgPSBGYWxzZQogICAgICAgICAgICAgICAgIGlmIHJbMF0gPT0gJy0nOgogICAgICAgICAgICAgICAgICAgICByZW1vdmUgPSBUcnVlCkBAIC0zOTEsNiArNDI0LDE1IEBACiAgICAgICAgICAgICBmb3JldmVyID0gVHJ1ZQogICAgICAgICBlbGlmIG8gaW4gKCctaicsICctLW11bHRpcHJvY2VzcycpOgogICAgICAgICAgICAgdXNlX21wID0gaW50KGEpCisgICAgICAgICAgICBpZiB1c2VfbXAgPD0gMDoKKyAgICAgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgICAgIGltcG9ydCBtdWx0aXByb2Nlc3NpbmcKKyAgICAgICAgICAgICAgICAgICAgIyBVc2UgYWxsIGNvcmVzICsgZXh0cmFzIGZvciB0ZXN0cyB0aGF0IGxpa2UgdG8gc2xlZXAKKyAgICAgICAgICAgICAgICAgICAgdXNlX21wID0gMiArIG11bHRpcHJvY2Vzc2luZy5jcHVfY291bnQoKQorICAgICAgICAgICAgICAgIGV4Y2VwdCAoSW1wb3J0RXJyb3IsIE5vdEltcGxlbWVudGVkRXJyb3IpOgorICAgICAgICAgICAgICAgICAgICB1c2VfbXAgPSAzCisgICAgICAgICAgICBpZiB1c2VfbXAgPT0gMToKKyAgICAgICAgICAgICAgICB1c2VfbXAgPSBOb25lCiAgICAgICAgIGVsaWYgbyA9PSAnLS1oZWFkZXInOgogICAgICAgICAgICAgaGVhZGVyID0gVHJ1ZQogICAgICAgICBlbGlmIG8gPT0gJy0tc2xhdmVhcmdzJzoKQEAgLTQwMyw2ICs0NDUsMjEgQEAKICAgICAgICAgICAgIHByaW50KCkgICAjIEZvcmNlIGEgbmV3bGluZSAoanVzdCBpbiBjYXNlKQogICAgICAgICAgICAgcHJpbnQoanNvbi5kdW1wcyhyZXN1bHQpKQogICAgICAgICAgICAgc3lzLmV4aXQoMCkKKyAgICAgICAgZWxpZiBvID09ICctLXRlc3RkaXInOgorICAgICAgICAgICAgIyBDV0QgaXMgcmVwbGFjZWQgd2l0aCBhIHRlbXBvcmFyeSBkaXIgYmVmb3JlIGNhbGxpbmcgbWFpbigpLCBzbyB3ZQorICAgICAgICAgICAgIyBqb2luIGl0IHdpdGggdGhlIHNhdmVkIENXRCBzbyBpdCBlbmRzIHVwIHdoZXJlIHRoZSB1c2VyIGV4cGVjdHMuCisgICAgICAgICAgICB0ZXN0ZGlyID0gb3MucGF0aC5qb2luKHN1cHBvcnQuU0FWRURDV0QsIGEpCisgICAgICAgIGVsaWYgbyA9PSAnLS10aW1lb3V0JzoKKyAgICAgICAgICAgIGlmIGhhc2F0dHIoZmF1bHRoYW5kbGVyLCAnZHVtcF90cmFjZWJhY2tzX2xhdGVyJyk6CisgICAgICAgICAgICAgICAgdGltZW91dCA9IGZsb2F0KGEpCisgICAgICAgICAgICAgICAgaWYgdGltZW91dCA8PSAwOgorICAgICAgICAgICAgICAgICAgICB0aW1lb3V0ID0gTm9uZQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBwcmludCgiV2FybmluZzogVGhlIHRpbWVvdXQgb3B0aW9uIHJlcXVpcmVzICIKKyAgICAgICAgICAgICAgICAgICAgICAiZmF1bHRoYW5kbGVyLmR1bXBfdHJhY2ViYWNrc19sYXRlciIpCisgICAgICAgICAgICAgICAgdGltZW91dCA9IE5vbmUKKyAgICAgICAgZWxpZiBvID09ICctLXdhaXQnOgorICAgICAgICAgICAgaW5wdXQoIlByZXNzIGFueSBrZXkgdG8gY29udGludWUuLi4iKQogICAgICAgICBlbHNlOgogICAgICAgICAgICAgcHJpbnQoKCJObyBoYW5kbGVyIGZvciBvcHRpb24ge30uICBQbGVhc2UgcmVwb3J0IHRoaXMgYXMgYSBidWcgIgogICAgICAgICAgICAgICAgICAgICJhdCBodHRwOi8vYnVncy5weXRob24ub3JnLiIpLmZvcm1hdChvKSwgZmlsZT1zeXMuc3RkZXJyKQpAQCAtNDgxLDcgKzUzOCwxMyBAQAogICAgICAgICBwcmludCgiPT0gICIsIG9zLmdldGN3ZCgpKQogICAgICAgICBwcmludCgiVGVzdGluZyB3aXRoIGZsYWdzOiIsIHN5cy5mbGFncykKIAotICAgIGFsbHRlc3RzID0gZmluZHRlc3RzKHRlc3RkaXIsIHN0ZHRlc3RzLCBub3R0ZXN0cykKKyAgICAjIGlmIHRlc3RkaXIgaXMgc2V0LCB0aGVuIHdlIGFyZSBub3QgcnVubmluZyB0aGUgcHl0aG9uIHRlc3RzIHN1aXRlLCBzbworICAgICMgZG9uJ3QgYWRkIGRlZmF1bHQgdGVzdHMgdG8gYmUgZXhlY3V0ZWQgb3Igc2tpcHBlZCAocGFzcyBlbXB0eSB2YWx1ZXMpCisgICAgaWYgdGVzdGRpcjoKKyAgICAgICAgYWxsdGVzdHMgPSBmaW5kdGVzdHModGVzdGRpciwgbGlzdCgpLCBzZXQoKSkKKyAgICBlbHNlOgorICAgICAgICBhbGx0ZXN0cyA9IGZpbmR0ZXN0cyh0ZXN0ZGlyLCBzdGR0ZXN0cywgbm90dGVzdHMpCisKICAgICBzZWxlY3RlZCA9IHRlc3RzIG9yIGFyZ3Mgb3IgYWxsdGVzdHMKICAgICBpZiBzaW5nbGU6CiAgICAgICAgIHNlbGVjdGVkID0gc2VsZWN0ZWRbOjFdCkBAIC01NTYsNyArNjE5LDggQEAKICAgICAgICAgICAgICAgICAgICAgKHRlc3QsIHZlcmJvc2UsIHF1aWV0KSwKICAgICAgICAgICAgICAgICAgICAgZGljdChodW50cmxlYWtzPWh1bnRybGVha3MsIHVzZV9yZXNvdXJjZXM9dXNlX3Jlc291cmNlcywKICAgICAgICAgICAgICAgICAgICAgICAgICBkZWJ1Zz1kZWJ1Zywgb3V0cHV0X29uX2ZhaWx1cmU9dmVyYm9zZTMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgZmFpbGZhc3Q9ZmFpbGZhc3QsIG1hdGNoX3Rlc3RzPW1hdGNoX3Rlc3RzKQorICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVvdXQ9dGltZW91dCwgZmFpbGZhc3Q9ZmFpbGZhc3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2hfdGVzdHM9bWF0Y2hfdGVzdHMpCiAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgIHlpZWxkICh0ZXN0LCBhcmdzX3R1cGxlKQogICAgICAgICBwZW5kaW5nID0gdGVzdHNfYW5kX2FyZ3MoKQpAQCAtNTc3LDEwICs2NDEsMTUgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5pdmVyc2FsX25ld2xpbmVzPVRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsb3NlX2Zkcz0ob3MubmFtZSAhPSAnbnQnKSkKICAgICAgICAgICAgICAgICAgICAgc3Rkb3V0LCBzdGRlcnIgPSBwb3Blbi5jb21tdW5pY2F0ZSgpCisgICAgICAgICAgICAgICAgICAgIHJldGNvZGUgPSBwb3Blbi53YWl0KCkKICAgICAgICAgICAgICAgICAgICAgIyBTdHJpcCBsYXN0IHJlZmNvdW50IG91dHB1dCBsaW5lIGlmIGl0IGV4aXN0cywgc2luY2UgaXQKICAgICAgICAgICAgICAgICAgICAgIyBjb21lcyBmcm9tIHRoZSBzaHV0ZG93biBvZiB0aGUgaW50ZXJwcmV0ZXIgaW4gdGhlIHN1YmNvbW1hbmQuCiAgICAgICAgICAgICAgICAgICAgIHN0ZGVyciA9IGRlYnVnX291dHB1dF9wYXQuc3ViKCIiLCBzdGRlcnIpCiAgICAgICAgICAgICAgICAgICAgIHN0ZG91dCwgXywgcmVzdWx0ID0gc3Rkb3V0LnN0cmlwKCkucnBhcnRpdGlvbigiXG4iKQorICAgICAgICAgICAgICAgICAgICBpZiByZXRjb2RlICE9IDA6CisgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSAoQ0hJTERfRVJST1IsICJFeGl0IGNvZGUgJXMiICUgcmV0Y29kZSkKKyAgICAgICAgICAgICAgICAgICAgICAgIG91dHB1dC5wdXQoKHRlc3QsIHN0ZG91dC5yc3RyaXAoKSwgc3RkZXJyLnJzdHJpcCgpLCByZXN1bHQpKQorICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuCiAgICAgICAgICAgICAgICAgICAgIGlmIG5vdCByZXN1bHQ6CiAgICAgICAgICAgICAgICAgICAgICAgICBvdXRwdXQucHV0KChOb25lLCBOb25lLCBOb25lLCBOb25lKSkKICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybgpAQCAtNjEzLDYgKzY4Miw4IEBACiAgICAgICAgICAgICAgICAgaWYgcmVzdWx0WzBdID09IElOVEVSUlVQVEVEOgogICAgICAgICAgICAgICAgICAgICBhc3NlcnQgcmVzdWx0WzFdID09ICdLZXlib2FyZEludGVycnVwdCcKICAgICAgICAgICAgICAgICAgICAgcmFpc2UgS2V5Ym9hcmRJbnRlcnJ1cHQgICAjIFdoYXQgZWxzZT8KKyAgICAgICAgICAgICAgICBpZiByZXN1bHRbMF0gPT0gQ0hJTERfRVJST1I6CisgICAgICAgICAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbigiQ2hpbGQgZXJyb3Igb24ge306IHt9Ii5mb3JtYXQodGVzdCwgcmVzdWx0WzFdKSkKICAgICAgICAgICAgICAgICB0ZXN0X2luZGV4ICs9IDEKICAgICAgICAgZXhjZXB0IEtleWJvYXJkSW50ZXJydXB0OgogICAgICAgICAgICAgaW50ZXJydXB0ZWQgPSBUcnVlCkBAIC02MjksMTMgKzcwMCwxNCBAQAogICAgICAgICAgICAgaWYgdHJhY2U6CiAgICAgICAgICAgICAgICAgIyBJZiB3ZSdyZSB0cmFjaW5nIGNvZGUgY292ZXJhZ2UsIHRoZW4gd2UgZG9uJ3QgZXhpdCB3aXRoIHN0YXR1cwogICAgICAgICAgICAgICAgICMgaWYgb24gYSBmYWxzZSByZXR1cm4gdmFsdWUgZnJvbSBtYWluLgotICAgICAgICAgICAgICAgIHRyYWNlci5ydW5jdHgoJ3J1bnRlc3QodGVzdCwgdmVyYm9zZSwgcXVpZXQpJywKKyAgICAgICAgICAgICAgICB0cmFjZXIucnVuY3R4KCdydW50ZXN0KHRlc3QsIHZlcmJvc2UsIHF1aWV0LCB0aW1lb3V0PXRpbWVvdXQpJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdsb2JhbHM9Z2xvYmFscygpLCBsb2NhbHM9dmFycygpKQogICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IHJ1bnRlc3QodGVzdCwgdmVyYm9zZSwgcXVpZXQsIGh1bnRybGVha3MsIGRlYnVnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91dHB1dF9vbl9mYWlsdXJlPXZlcmJvc2UzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhaWxmYXN0PWZhaWxmYXN0LCBtYXRjaF90ZXN0cz1tYXRjaF90ZXN0cykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aW1lb3V0PXRpbWVvdXQsIGZhaWxmYXN0PWZhaWxmYXN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoX3Rlc3RzPW1hdGNoX3Rlc3RzKQogICAgICAgICAgICAgICAgICAgICBhY2N1bXVsYXRlX3Jlc3VsdCh0ZXN0LCByZXN1bHQpCiAgICAgICAgICAgICAgICAgZXhjZXB0IEtleWJvYXJkSW50ZXJydXB0OgogICAgICAgICAgICAgICAgICAgICBpbnRlcnJ1cHRlZCA9IFRydWUKQEAgLTcwNiw3ICs3NzgsNyBAQAogICAgICAgICAgICAgc3lzLnN0ZG91dC5mbHVzaCgpCiAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgdmVyYm9zZSA9IFRydWUKLSAgICAgICAgICAgICAgICBvayA9IHJ1bnRlc3QodGVzdCwgVHJ1ZSwgcXVpZXQsIGh1bnRybGVha3MsIGRlYnVnKQorICAgICAgICAgICAgICAgIG9rID0gcnVudGVzdCh0ZXN0LCBUcnVlLCBxdWlldCwgaHVudHJsZWFrcywgZGVidWcsIHRpbWVvdXQ9dGltZW91dCkKICAgICAgICAgICAgIGV4Y2VwdCBLZXlib2FyZEludGVycnVwdDoKICAgICAgICAgICAgICAgICAjIHByaW50IGEgbmV3bGluZSBzZXBhcmF0ZSBmcm9tIHRoZSBeQwogICAgICAgICAgICAgICAgIHByaW50KCkKQEAgLTczMSw2ICs4MDMsOCBAQAogICAgIHN5cy5leGl0KGxlbihiYWQpID4gMCBvciBpbnRlcnJ1cHRlZCkKIAogCisjIHNtYWxsIHNldCBvZiB0ZXN0cyB0byBkZXRlcm1pbmUgaWYgd2UgaGF2ZSBhIGJhc2ljYWxseSBmdW5jdGlvbmluZyBpbnRlcnByZXRlcgorIyAoaS5lLiBpZiBhbnkgb2YgdGhlc2UgZmFpbCwgdGhlbiBhbnl0aGluZyBlbHNlIGlzIGxpa2VseSB0byBmb2xsb3cpCiBTVERURVNUUyA9IFsKICAgICAndGVzdF9ncmFtbWFyJywKICAgICAndGVzdF9vcGNvZGVzJywKQEAgLTc0MSwxMiArODE1LDExIEBACiAgICAgJ3Rlc3RfdW5pdHRlc3QnLAogICAgICd0ZXN0X2RvY3Rlc3QnLAogICAgICd0ZXN0X2RvY3Rlc3QyJywKKyAgICAndGVzdF9zdXBwb3J0JwogXQogCi1OT1RURVNUUyA9IHsKLSAgICAndGVzdF9mdXR1cmUxJywKLSAgICAndGVzdF9mdXR1cmUyJywKLX0KKyMgc2V0IG9mIHRlc3RzIHRoYXQgd2UgZG9uJ3Qgd2FudCB0byBiZSBleGVjdXRlZCB3aGVuIHVzaW5nIHJlZ3J0ZXN0CitOT1RURVNUUyA9IHNldCgpCiAKIGRlZiBmaW5kdGVzdHModGVzdGRpcj1Ob25lLCBzdGR0ZXN0cz1TVERURVNUUywgbm90dGVzdHM9Tk9UVEVTVFMpOgogICAgICIiIlJldHVybiBhIGxpc3Qgb2YgYWxsIGFwcGxpY2FibGUgdGVzdCBtb2R1bGVzLiIiIgpAQCAtNzU1LDI1ICs4MjgsMjIgQEAKICAgICB0ZXN0cyA9IFtdCiAgICAgb3RoZXJzID0gc2V0KHN0ZHRlc3RzKSB8IG5vdHRlc3RzCiAgICAgZm9yIG5hbWUgaW4gbmFtZXM6Ci0gICAgICAgIG1vZG5hbWUsIGV4dCA9IG9zLnBhdGguc3BsaXRleHQobmFtZSkKLSAgICAgICAgaWYgbW9kbmFtZVs6NV0gPT0gInRlc3RfIiBhbmQgZXh0ID09ICIucHkiIGFuZCBtb2RuYW1lIG5vdCBpbiBvdGhlcnM6Ci0gICAgICAgICAgICB0ZXN0cy5hcHBlbmQobW9kbmFtZSkKKyAgICAgICAgbW9kLCBleHQgPSBvcy5wYXRoLnNwbGl0ZXh0KG5hbWUpCisgICAgICAgIGlmIG1vZFs6NV0gPT0gInRlc3RfIiBhbmQgZXh0IGluICgiLnB5IiwgIiIpIGFuZCBtb2Qgbm90IGluIG90aGVyczoKKyAgICAgICAgICAgIHRlc3RzLmFwcGVuZChtb2QpCiAgICAgcmV0dXJuIHN0ZHRlc3RzICsgc29ydGVkKHRlc3RzKQogCiBkZWYgcmVwbGFjZV9zdGRvdXQoKToKICAgICAiIiJTZXQgc3Rkb3V0IGVuY29kZXIgZXJyb3IgaGFuZGxlciB0byBiYWNrc2xhc2hyZXBsYWNlIChhcyBzdGRlcnIgZXJyb3IKICAgICBoYW5kbGVyKSB0byBhdm9pZCBVbmljb2RlRW5jb2RlRXJyb3Igd2hlbiBwcmludGluZyBhIHRyYWNlYmFjayIiIgotICAgIGlmIG9zLm5hbWUgPT0gIm50IjoKLSAgICAgICAgIyBSZXBsYWNlIHN5cy5zdGRvdXQgYnJlYWtzIHRoZSBzdGRvdXQgbmV3bGluZXMgb24gV2luZG93czogaXNzdWUgIzg1MzMKLSAgICAgICAgcmV0dXJuCi0KICAgICBpbXBvcnQgYXRleGl0CiAKICAgICBzdGRvdXQgPSBzeXMuc3Rkb3V0CiAgICAgc3lzLnN0ZG91dCA9IG9wZW4oc3Rkb3V0LmZpbGVubygpLCAndycsCiAgICAgICAgIGVuY29kaW5nPXN0ZG91dC5lbmNvZGluZywKICAgICAgICAgZXJyb3JzPSJiYWNrc2xhc2hyZXBsYWNlIiwKLSAgICAgICAgY2xvc2VmZD1GYWxzZSkKKyAgICAgICAgY2xvc2VmZD1GYWxzZSwKKyAgICAgICAgbmV3bGluZT0nXG4nKQogCiAgICAgZGVmIHJlc3RvcmVfc3Rkb3V0KCk6CiAgICAgICAgIHN5cy5zdGRvdXQuY2xvc2UoKQpAQCAtNzgyLDcgKzg1Miw4IEBACiAKIGRlZiBydW50ZXN0KHRlc3QsIHZlcmJvc2UsIHF1aWV0LAogICAgICAgICAgICAgaHVudHJsZWFrcz1GYWxzZSwgZGVidWc9RmFsc2UsIHVzZV9yZXNvdXJjZXM9Tm9uZSwKLSAgICAgICAgICAgIG91dHB1dF9vbl9mYWlsdXJlPUZhbHNlLCBmYWlsZmFzdD1GYWxzZSwgbWF0Y2hfdGVzdHM9Tm9uZSk6CisgICAgICAgICAgICBvdXRwdXRfb25fZmFpbHVyZT1GYWxzZSwgZmFpbGZhc3Q9RmFsc2UsIG1hdGNoX3Rlc3RzPU5vbmUsCisgICAgICAgICAgICB0aW1lb3V0PU5vbmUpOgogICAgICIiIlJ1biBhIHNpbmdsZSB0ZXN0LgogCiAgICAgdGVzdCAtLSB0aGUgbmFtZSBvZiB0aGUgdGVzdApAQCAtNzkyLDYgKzg2Myw4IEBACiAgICAgaHVudHJsZWFrcyAtLSBydW4gbXVsdGlwbGUgdGltZXMgdG8gdGVzdCBmb3IgbGVha3M7IHJlcXVpcmVzIGEgZGVidWcKICAgICAgICAgICAgICAgICAgIGJ1aWxkOyBhIHRyaXBsZSBjb3JyZXNwb25kaW5nIHRvIC1SJ3MgdGhyZWUgYXJndW1lbnRzCiAgICAgb3V0cHV0X29uX2ZhaWx1cmUgLS0gaWYgdHJ1ZSwgZGlzcGxheSB0ZXN0IG91dHB1dCBvbiBmYWlsdXJlCisgICAgdGltZW91dCAtLSBkdW1wIHRoZSB0cmFjZWJhY2sgYW5kIGV4aXQgaWYgYSB0ZXN0IHRha2VzIG1vcmUgdGhhbgorICAgICAgICAgICAgICAgdGltZW91dCBzZWNvbmRzCiAKICAgICBSZXR1cm5zIG9uZSBvZiB0aGUgdGVzdCByZXN1bHQgY29uc3RhbnRzOgogICAgICAgICBJTlRFUlJVUFRFRCAgICAgIEtleWJvYXJkSW50ZXJydXB0IHdoZW4gcnVuIHVuZGVyIC1qCkBAIC04MDQsNiArODc3LDkgQEAKIAogICAgIGlmIHVzZV9yZXNvdXJjZXMgaXMgbm90IE5vbmU6CiAgICAgICAgIHN1cHBvcnQudXNlX3Jlc291cmNlcyA9IHVzZV9yZXNvdXJjZXMKKyAgICB1c2VfdGltZW91dCA9ICh0aW1lb3V0IGlzIG5vdCBOb25lKQorICAgIGlmIHVzZV90aW1lb3V0OgorICAgICAgICBmYXVsdGhhbmRsZXIuZHVtcF90cmFjZWJhY2tzX2xhdGVyKHRpbWVvdXQsIGV4aXQ9VHJ1ZSkKICAgICB0cnk6CiAgICAgICAgIHN1cHBvcnQubWF0Y2hfdGVzdHMgPSBtYXRjaF90ZXN0cwogICAgICAgICBpZiBmYWlsZmFzdDoKQEAgLTg0Miw2ICs5MTgsOCBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5X2ZhaWx1cmU9bm90IHZlcmJvc2UpCiAgICAgICAgIHJldHVybiByZXN1bHQKICAgICBmaW5hbGx5OgorICAgICAgICBpZiB1c2VfdGltZW91dDoKKyAgICAgICAgICAgIGZhdWx0aGFuZGxlci5jYW5jZWxfZHVtcF90cmFjZWJhY2tzX2xhdGVyKCkKICAgICAgICAgY2xlYW51cF90ZXN0X2Ryb3BwaW5ncyh0ZXN0LCB2ZXJib3NlKQogcnVudGVzdC5zdHJpbmdpbyA9IE5vbmUKIApAQCAtODg3LDEwICs5NjUsMTEgQEAKICAgICByZXNvdXJjZXMgPSAoJ3N5cy5hcmd2JywgJ2N3ZCcsICdzeXMuc3RkaW4nLCAnc3lzLnN0ZG91dCcsICdzeXMuc3RkZXJyJywKICAgICAgICAgICAgICAgICAgJ29zLmVudmlyb24nLCAnc3lzLnBhdGgnLCAnc3lzLnBhdGhfaG9va3MnLCAnX19pbXBvcnRfXycsCiAgICAgICAgICAgICAgICAgICd3YXJuaW5ncy5maWx0ZXJzJywgJ2FzeW5jb3JlLnNvY2tldF9tYXAnLAotICAgICAgICAgICAgICAgICAnbG9nZ2luZy5faGFuZGxlcnMnLCAnbG9nZ2luZy5faGFuZGxlckxpc3QnLAotICAgICAgICAgICAgICAgICAnc2h1dGlsLmFyY2hpdmVfZm9ybWF0cycsICdzaHV0aWwudW5wYWNrX2Zvcm1hdHMnLAorICAgICAgICAgICAgICAgICAnbG9nZ2luZy5faGFuZGxlcnMnLCAnbG9nZ2luZy5faGFuZGxlckxpc3QnLCAnc3lzLmdldHRyYWNlJywKICAgICAgICAgICAgICAgICAgJ3N5cy53YXJub3B0aW9ucycsICd0aHJlYWRpbmcuX2RhbmdsaW5nJywKICAgICAgICAgICAgICAgICAgJ211bHRpcHJvY2Vzc2luZy5wcm9jZXNzLl9kYW5nbGluZycsCisgICAgICAgICAgICAgICAgICdzeXNjb25maWcuX0NPTkZJR19WQVJTJywgJ3N5c2NvbmZpZy5fU0NIRU1FUycsCisgICAgICAgICAgICAgICAgICdwYWNrYWdpbmcuY29tbWFuZC5fQ09NTUFORFMnLCAncGFja2FnaW5nLmRhdGFiYXNlX2NhY2hlcycsCiAgICAgICAgICAgICAgICAgICdzdXBwb3J0LlRFU1RGTicsCiAgICAgICAgICAgICAgICAgKQogCkBAIC05MzksNiArMTAxOCwxMSBAQAogICAgICAgICBzeXMucGF0aF9ob29rcyA9IHNhdmVkX2hvb2tzWzFdCiAgICAgICAgIHN5cy5wYXRoX2hvb2tzWzpdID0gc2F2ZWRfaG9va3NbMl0KIAorICAgIGRlZiBnZXRfc3lzX2dldHRyYWNlKHNlbGYpOgorICAgICAgICByZXR1cm4gc3lzLmdldHRyYWNlKCkKKyAgICBkZWYgcmVzdG9yZV9zeXNfZ2V0dHJhY2Uoc2VsZiwgdHJhY2VfZnhuKToKKyAgICAgICAgc3lzLnNldHRyYWNlKHRyYWNlX2Z4bikKKwogICAgIGRlZiBnZXRfX19pbXBvcnRfXyhzZWxmKToKICAgICAgICAgcmV0dXJuIGJ1aWx0aW5zLl9faW1wb3J0X18KICAgICBkZWYgcmVzdG9yZV9fX2ltcG9ydF9fKHNlbGYsIGltcG9ydF8pOgpAQCAtOTkxLDYgKzEwNzUsNDQgQEAKICAgICAgICAgIyBDYW4ndCBlYXNpbHkgcmV2ZXJ0IHRoZSBsb2dnaW5nIHN0YXRlCiAgICAgICAgIHBhc3MKIAorICAgIGRlZiBnZXRfcGFja2FnaW5nX2NvbW1hbmRfX0NPTU1BTkRTKHNlbGYpOgorICAgICAgICAjIHJlZ2lzdHJ5IG1hcHBpbmcgY29tbWFuZCBuYW1lcyB0byBmdWxsIGRvdHRlZCBwYXRoIG9yIHRvIHRoZSBhY3R1YWwKKyAgICAgICAgIyBjbGFzcyAocmVzb2x2ZWQgb24gZGVtYW5kKTsgdGhpcyBjaGVjayBvbmx5IGxvb2tzIGF0IHRoZSBuYW1lcywgbm90CisgICAgICAgICMgdGhlIHR5cGVzIG9mIHRoZSB2YWx1ZXMgKElPVywgaWYgYSB2YWx1ZSBjaGFuZ2VzIGZyb20gYSBzdHJpbmcKKyAgICAgICAgIyAoZG90dGVkIHBhdGgpIHRvIGEgY2xhc3MgaXQncyBva2F5IGJ1dCBpZiBhIGtleSAoaS5lLiBjb21tYW5kIGNsYXNzKQorICAgICAgICAjIGlzIGFkZGVkIHdlIGNvbXBsYWluKQorICAgICAgICBpZF8gPSBpZChwYWNrYWdpbmcuY29tbWFuZC5fQ09NTUFORFMpCisgICAgICAgIGtleXMgPSBzZXQocGFja2FnaW5nLmNvbW1hbmQuX0NPTU1BTkRTKQorICAgICAgICByZXR1cm4gaWRfLCBrZXlzCisgICAgZGVmIHJlc3RvcmVfcGFja2FnaW5nX2NvbW1hbmRfX0NPTU1BTkRTKHNlbGYsIHNhdmVkKToKKyAgICAgICAgIyBpZiBjb21tYW5kLl9DT01NQU5EUyB3YXMgYm91bmQgdG8gYW5vdGhlciBkaWN0IG9iamVjdCwgd2UgY2FuJ3QKKyAgICAgICAgIyByZXN0b3JlIHRoZSBwcmV2aW91cyBvYmplY3QgYW5kIGNvbnRlbnRzLCBiZWNhdXNlIHRoZSBnZXRfIG1ldGhvZAorICAgICAgICAjIGFib3ZlIGRvZXMgbm90IHJldHVybiB0aGUgZGljdCBvYmplY3QgKHRvIGlnbm9yZSBjaGFuZ2VzIGluIHZhbHVlcykKKyAgICAgICAgZm9yIGtleSBpbiBwYWNrYWdpbmcuY29tbWFuZC5fQ09NTUFORFMua2V5cygpIC0gc2F2ZWRbMV06CisgICAgICAgICAgICBkZWwgcGFja2FnaW5nLmNvbW1hbmQuX0NPTU1BTkRTW2tleV0KKworICAgIGRlZiBnZXRfcGFja2FnaW5nX2RhdGFiYXNlX2NhY2hlcyhzZWxmKToKKyAgICAgICAgIyBjYWNoaW5nIHN5c3RlbSB1c2VkIGJ5IHRoZSBQRVAgMzc2IGltcGxlbWVudGF0aW9uCisgICAgICAgICMgd2UgaGF2ZSBvbmUgYm9vbGVhbiBhbmQgZm91ciBkaWN0aW9uYXJpZXMsIGluaXRpYWxseSBlbXB0eQorICAgICAgICBzd2l0Y2ggPSBwYWNrYWdpbmcuZGF0YWJhc2UuX2NhY2hlX2VuYWJsZWQKKyAgICAgICAgc2F2ZWQgPSBbXQorICAgICAgICBmb3IgbmFtZSBpbiAoJ19jYWNoZV9uYW1lJywgJ19jYWNoZV9uYW1lX2VnZycsCisgICAgICAgICAgICAgICAgICAgICAnX2NhY2hlX3BhdGgnLCAnX2NhY2hlX3BhdGhfZWdnJyk6CisgICAgICAgICAgICBjYWNoZSA9IGdldGF0dHIocGFja2FnaW5nLmRhdGFiYXNlLCBuYW1lKQorICAgICAgICAgICAgc2F2ZWQuYXBwZW5kKChpZChjYWNoZSksIGNhY2hlLCBjYWNoZS5jb3B5KCkpKQorICAgICAgICByZXR1cm4gc3dpdGNoLCBzYXZlZAorICAgIGRlZiByZXN0b3JlX3BhY2thZ2luZ19kYXRhYmFzZV9jYWNoZXMoc2VsZiwgc2F2ZWQpOgorICAgICAgICBzd2l0Y2gsIHNhdmVkX2NhY2hlcyA9IHNhdmVkCisgICAgICAgIHBhY2thZ2luZy5kYXRhYmFzZS5fY2FjaGVfZW5hYmxlZCA9IHN3aXRjaAorICAgICAgICBmb3Igb2Zmc2V0LCBuYW1lIGluIGVudW1lcmF0ZSgoJ19jYWNoZV9uYW1lJywgJ19jYWNoZV9uYW1lX2VnZycsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnX2NhY2hlX3BhdGgnLCAnX2NhY2hlX3BhdGhfZWdnJykpOgorICAgICAgICAgICAgXywgY2FjaGUsIGl0ZW1zID0gc2F2ZWRfY2FjaGVzW29mZnNldF0KKyAgICAgICAgICAgICMgcHV0IGJhY2sgdGhlIHNhbWUgb2JqZWN0IGluIHBsYWNlCisgICAgICAgICAgICBzZXRhdHRyKHBhY2thZ2luZy5kYXRhYmFzZSwgbmFtZSwgY2FjaGUpCisgICAgICAgICAgICAjIG5vdyByZXN0b3JlIGl0cyBpdGVtcworICAgICAgICAgICAgY2FjaGUuY2xlYXIoKQorICAgICAgICAgICAgY2FjaGUudXBkYXRlKGl0ZW1zKQorCiAgICAgZGVmIGdldF9zeXNfd2Fybm9wdGlvbnMoc2VsZik6CiAgICAgICAgIHJldHVybiBpZChzeXMud2Fybm9wdGlvbnMpLCBzeXMud2Fybm9wdGlvbnMsIHN5cy53YXJub3B0aW9uc1s6XQogICAgIGRlZiByZXN0b3JlX3N5c193YXJub3B0aW9ucyhzZWxmLCBzYXZlZF9vcHRpb25zKToKQEAgLTEwMjIsNiArMTE0NCwyNiBAQAogICAgICAgICBtdWx0aXByb2Nlc3NpbmcucHJvY2Vzcy5fZGFuZ2xpbmcuY2xlYXIoKQogICAgICAgICBtdWx0aXByb2Nlc3NpbmcucHJvY2Vzcy5fZGFuZ2xpbmcudXBkYXRlKHNhdmVkKQogCisgICAgZGVmIGdldF9zeXNjb25maWdfX0NPTkZJR19WQVJTKHNlbGYpOgorICAgICAgICAjIG1ha2Ugc3VyZSB0aGUgZGljdCBpcyBpbml0aWFsaXplZAorICAgICAgICBzeXNjb25maWcuZ2V0X2NvbmZpZ192YXIoJ3ByZWZpeCcpCisgICAgICAgIHJldHVybiAoaWQoc3lzY29uZmlnLl9DT05GSUdfVkFSUyksIHN5c2NvbmZpZy5fQ09ORklHX1ZBUlMsCisgICAgICAgICAgICAgICAgZGljdChzeXNjb25maWcuX0NPTkZJR19WQVJTKSkKKyAgICBkZWYgcmVzdG9yZV9zeXNjb25maWdfX0NPTkZJR19WQVJTKHNlbGYsIHNhdmVkKToKKyAgICAgICAgc3lzY29uZmlnLl9DT05GSUdfVkFSUyA9IHNhdmVkWzFdCisgICAgICAgIHN5c2NvbmZpZy5fQ09ORklHX1ZBUlMuY2xlYXIoKQorICAgICAgICBzeXNjb25maWcuX0NPTkZJR19WQVJTLnVwZGF0ZShzYXZlZFsyXSkKKworICAgIGRlZiBnZXRfc3lzY29uZmlnX19TQ0hFTUVTKHNlbGYpOgorICAgICAgICAjIGl0J3MgbWlsZGx5IGV2aWwgdG8gbG9vayBhdCB0aGUgaW50ZXJuYWwgYXR0cmlidXRlLCBidXQgaXQncyBlYXNpZXIKKyAgICAgICAgIyB0aGFuIGNvcHlpbmcgYSBSYXdDb25maWdQYXJzZXIgb2JqZWN0CisgICAgICAgIHJldHVybiAoaWQoc3lzY29uZmlnLl9TQ0hFTUVTKSwgc3lzY29uZmlnLl9TQ0hFTUVTLl9zZWN0aW9ucywKKyAgICAgICAgICAgICAgICBzeXNjb25maWcuX1NDSEVNRVMuX3NlY3Rpb25zLmNvcHkoKSkKKyAgICBkZWYgcmVzdG9yZV9zeXNjb25maWdfX1NDSEVNRVMoc2VsZiwgc2F2ZWQpOgorICAgICAgICBzeXNjb25maWcuX1NDSEVNRVMuX3NlY3Rpb25zID0gc2F2ZWRbMV0KKyAgICAgICAgc3lzY29uZmlnLl9TQ0hFTUVTLl9zZWN0aW9ucy5jbGVhcigpCisgICAgICAgIHN5c2NvbmZpZy5fU0NIRU1FUy5fc2VjdGlvbnMudXBkYXRlKHNhdmVkWzJdKQorCiAgICAgZGVmIGdldF9zdXBwb3J0X1RFU1RGTihzZWxmKToKICAgICAgICAgaWYgb3MucGF0aC5pc2ZpbGUoc3VwcG9ydC5URVNURk4pOgogICAgICAgICAgICAgcmVzdWx0ID0gJ2YnCkBAIC0xMTc2LDcgKzEzMTgsOCBAQAogICAgICAgICBGYWxzZSBpZiB0aGUgdGVzdCBkaWRuJ3QgbGVhayByZWZlcmVuY2VzOyBUcnVlIGlmIHdlIGRldGVjdGVkIHJlZmxlYWtzLgogICAgICIiIgogICAgICMgVGhpcyBjb2RlIGlzIGhhY2tpc2ggYW5kIGluZWxlZ2FudCwgYnV0IGl0IHNlZW1zIHRvIGRvIHRoZSBqb2IuCi0gICAgaW1wb3J0IGNvcHlyZWcsIF9hYmNvbGwKKyAgICBpbXBvcnQgY29weXJlZworICAgIGltcG9ydCBjb2xsZWN0aW9ucy5hYmMKIAogICAgIGlmIG5vdCBoYXNhdHRyKHN5cywgJ2dldHRvdGFscmVmY291bnQnKToKICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCJUcmFja2luZyByZWZlcmVuY2UgbGVha3MgcmVxdWlyZXMgYSBkZWJ1ZyBidWlsZCAiCkBAIC0xMTkzLDcgKzEzMzYsNyBAQAogICAgIGVsc2U6CiAgICAgICAgIHpkYyA9IHppcGltcG9ydC5femlwX2RpcmVjdG9yeV9jYWNoZS5jb3B5KCkKICAgICBhYmNzID0ge30KLSAgICBmb3IgYWJjIGluIFtnZXRhdHRyKF9hYmNvbGwsIGEpIGZvciBhIGluIF9hYmNvbGwuX19hbGxfX106CisgICAgZm9yIGFiYyBpbiBbZ2V0YXR0cihjb2xsZWN0aW9ucy5hYmMsIGEpIGZvciBhIGluIGNvbGxlY3Rpb25zLmFiYy5fX2FsbF9fXToKICAgICAgICAgaWYgbm90IGlzYWJzdHJhY3QoYWJjKToKICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgIGZvciBvYmogaW4gYWJjLl9fc3ViY2xhc3Nlc19fKCkgKyBbYWJjXToKQEAgLTEyMzksNyArMTM4Miw3IEBACiAgICAgaW1wb3J0IGdjLCBjb3B5cmVnCiAgICAgaW1wb3J0IF9zdHJwdGltZSwgbGluZWNhY2hlCiAgICAgaW1wb3J0IHVybGxpYi5wYXJzZSwgdXJsbGliLnJlcXVlc3QsIG1pbWV0eXBlcywgZG9jdGVzdAotICAgIGltcG9ydCBzdHJ1Y3QsIGZpbGVjbXAsIF9hYmNvbGwKKyAgICBpbXBvcnQgc3RydWN0LCBmaWxlY21wLCBjb2xsZWN0aW9ucy5hYmMKICAgICBmcm9tIGRpc3R1dGlscy5kaXJfdXRpbCBpbXBvcnQgX3BhdGhfY3JlYXRlZAogICAgIGZyb20gd2Vha3JlZiBpbXBvcnQgV2Vha1NldAogCkBAIC0xMjY2LDcgKzE0MDksNyBAQAogICAgIHN5cy5fY2xlYXJfdHlwZV9jYWNoZSgpCiAKICAgICAjIENsZWFyIEFCQyByZWdpc3RyaWVzLCByZXN0b3JpbmcgcHJldmlvdXNseSBzYXZlZCBBQkMgcmVnaXN0cmllcy4KLSAgICBmb3IgYWJjIGluIFtnZXRhdHRyKF9hYmNvbGwsIGEpIGZvciBhIGluIF9hYmNvbGwuX19hbGxfX106CisgICAgZm9yIGFiYyBpbiBbZ2V0YXR0cihjb2xsZWN0aW9ucy5hYmMsIGEpIGZvciBhIGluIGNvbGxlY3Rpb25zLmFiYy5fX2FsbF9fXToKICAgICAgICAgaWYgbm90IGlzYWJzdHJhY3QoYWJjKToKICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgIGZvciBvYmogaW4gYWJjLl9fc3ViY2xhc3Nlc19fKCkgKyBbYWJjXToKQEAgLTEzNTIsMTMgKzE0OTUsMTQgQEAKICMgVGVzdHMgdGhhdCBhcmUgZXhwZWN0ZWQgdG8gYmUgc2tpcHBlZCBldmVyeXdoZXJlIGV4Y2VwdCBvbiBvbmUgcGxhdGZvcm0KICMgYXJlIGFsc28gaGFuZGxlZCBzZXBhcmF0ZWx5LgogCi1fZXhwZWN0YXRpb25zID0gewotICAgICd3aW4zMic6CitfZXhwZWN0YXRpb25zID0gKAorICAgICgnd2luMzInLAogICAgICAgICAiIiIKICAgICAgICAgdGVzdF9fbG9jYWxlCiAgICAgICAgIHRlc3RfY3J5cHQKICAgICAgICAgdGVzdF9jdXJzZXMKICAgICAgICAgdGVzdF9kYm0KKyAgICAgICAgdGVzdF9kZXZwb2xsCiAgICAgICAgIHRlc3RfZmNudGwKICAgICAgICAgdGVzdF9mb3JrMQogICAgICAgICB0ZXN0X2Vwb2xsCkBAIC0xMzgxLDE1ICsxNTI1LDE2IEBACiAgICAgICAgIHRlc3RfdGhyZWFkc2lnbmFscwogICAgICAgICB0ZXN0X3dhaXQzCiAgICAgICAgIHRlc3Rfd2FpdDQKLSAgICAgICAgIiIiLAotICAgICdsaW51eDInOgorICAgICAgICAiIiIpLAorICAgICgnbGludXgnLAogICAgICAgICAiIiIKICAgICAgICAgdGVzdF9jdXJzZXMKKyAgICAgICAgdGVzdF9kZXZwb2xsCiAgICAgICAgIHRlc3RfbGFyZ2VmaWxlCiAgICAgICAgIHRlc3Rfa3F1ZXVlCiAgICAgICAgIHRlc3Rfb3NzYXVkaW9kZXYKLSAgICAgICAgIiIiLAotICAgICd1bml4d2FyZTcnOgorICAgICAgICAiIiIpLAorICAgICgndW5peHdhcmUnLAogICAgICAgICAiIiIKICAgICAgICAgdGVzdF9lcG9sbAogICAgICAgICB0ZXN0X2xhcmdlZmlsZQpAQCAtMTM5OSw4ICsxNTQ0LDggQEAKICAgICAgICAgdGVzdF9weWV4cGF0CiAgICAgICAgIHRlc3Rfc2F4CiAgICAgICAgIHRlc3Rfc3VuZHJ5Ci0gICAgICAgICIiIiwKLSAgICAnb3BlbnVuaXg4JzoKKyAgICAgICAgIiIiKSwKKyAgICAoJ29wZW51bml4JywKICAgICAgICAgIiIiCiAgICAgICAgIHRlc3RfZXBvbGwKICAgICAgICAgdGVzdF9sYXJnZWZpbGUKQEAgLTE0MTAsOCArMTU1NSw4IEBACiAgICAgICAgIHRlc3RfcHlleHBhdAogICAgICAgICB0ZXN0X3NheAogICAgICAgICB0ZXN0X3N1bmRyeQotICAgICAgICAiIiIsCi0gICAgJ3Njb19zdjMnOgorICAgICAgICAiIiIpLAorICAgICgnc2NvX3N2JywKICAgICAgICAgIiIiCiAgICAgICAgIHRlc3RfYXN5bmNoYXQKICAgICAgICAgdGVzdF9mb3JrMQpAQCAtMTQzMCwxMSArMTU3NSwxMiBAQAogICAgICAgICB0ZXN0X3RocmVhZGVkX2ltcG9ydAogICAgICAgICB0ZXN0X3RocmVhZGVkdGVtcGZpbGUKICAgICAgICAgdGVzdF90aHJlYWRpbmcKLSAgICAgICAgIiIiLAotICAgICdkYXJ3aW4nOgorICAgICAgICAiIiIpLAorICAgICgnZGFyd2luJywKICAgICAgICAgIiIiCiAgICAgICAgIHRlc3RfX2xvY2FsZQogICAgICAgICB0ZXN0X2N1cnNlcworICAgICAgICB0ZXN0X2RldnBvbGwKICAgICAgICAgdGVzdF9lcG9sbAogICAgICAgICB0ZXN0X2RibV9nbnUKICAgICAgICAgdGVzdF9nZGIKQEAgLTE0NDMsOCArMTU4OSw4IEBACiAgICAgICAgIHRlc3RfbWluaWRvbQogICAgICAgICB0ZXN0X29zc2F1ZGlvZGV2CiAgICAgICAgIHRlc3RfcG9sbAotICAgICAgICAiIiIsCi0gICAgJ3N1bm9zNSc6CisgICAgICAgICIiIiksCisgICAgKCdzdW5vcycsCiAgICAgICAgICIiIgogICAgICAgICB0ZXN0X2N1cnNlcwogICAgICAgICB0ZXN0X2RibQpAQCAtMTQ1NSw4ICsxNjAxLDggQEAKICAgICAgICAgdGVzdF9vcGVucHR5CiAgICAgICAgIHRlc3RfemlwZmlsZQogICAgICAgICB0ZXN0X3psaWIKLSAgICAgICAgIiIiLAotICAgICdocC11eDExJzoKKyAgICAgICAgIiIiKSwKKyAgICAoJ2hwLXV4JywKICAgICAgICAgIiIiCiAgICAgICAgIHRlc3RfY3Vyc2VzCiAgICAgICAgIHRlc3RfZXBvbGwKQEAgLTE0NzEsMTEgKzE2MTcsMTIgQEAKICAgICAgICAgdGVzdF9zYXgKICAgICAgICAgdGVzdF96aXBmaWxlCiAgICAgICAgIHRlc3RfemxpYgotICAgICAgICAiIiIsCi0gICAgJ2N5Z3dpbic6CisgICAgICAgICIiIiksCisgICAgKCdjeWd3aW4nLAogICAgICAgICAiIiIKICAgICAgICAgdGVzdF9jdXJzZXMKICAgICAgICAgdGVzdF9kYm0KKyAgICAgICAgdGVzdF9kZXZwb2xsCiAgICAgICAgIHRlc3RfZXBvbGwKICAgICAgICAgdGVzdF9pb2N0bAogICAgICAgICB0ZXN0X2txdWV1ZQpAQCAtMTQ4Myw4ICsxNjMwLDggQEAKICAgICAgICAgdGVzdF9sb2NhbGUKICAgICAgICAgdGVzdF9vc3NhdWRpb2RldgogICAgICAgICB0ZXN0X3NvY2tldHNlcnZlcgotICAgICAgICAiIiIsCi0gICAgJ29zMmVteCc6CisgICAgICAgICIiIiksCisgICAgKCdvczJlbXgnLAogICAgICAgICAiIiIKICAgICAgICAgdGVzdF9hdWRpb29wCiAgICAgICAgIHRlc3RfY3Vyc2VzCkBAIC0xNDk3LDkgKzE2NDQsMTAgQEAKICAgICAgICAgdGVzdF9wdHkKICAgICAgICAgdGVzdF9yZXNvdXJjZQogICAgICAgICB0ZXN0X3NpZ25hbAotICAgICAgICAiIiIsCi0gICAgJ2ZyZWVic2Q0JzoKKyAgICAgICAgIiIiKSwKKyAgICAoJ2ZyZWVic2QnLAogICAgICAgICAiIiIKKyAgICAgICAgdGVzdF9kZXZwb2xsCiAgICAgICAgIHRlc3RfZXBvbGwKICAgICAgICAgdGVzdF9kYm1fZ251CiAgICAgICAgIHRlc3RfbG9jYWxlCkBAIC0xNTE0LDggKzE2NjIsOCBAQAogICAgICAgICB0ZXN0X3RpbWVvdXQKICAgICAgICAgdGVzdF91cmxsaWJuZXQKICAgICAgICAgdGVzdF9tdWx0aXByb2Nlc3NpbmcKLSAgICAgICAgIiIiLAotICAgICdhaXg1JzoKKyAgICAgICAgIiIiKSwKKyAgICAoJ2FpeCcsCiAgICAgICAgICIiIgogICAgICAgICB0ZXN0X2J6MgogICAgICAgICB0ZXN0X2Vwb2xsCkBAIC0xNTI5LDEwICsxNjc3LDExIEBACiAgICAgICAgIHRlc3RfdHRrX3RleHRvbmx5CiAgICAgICAgIHRlc3RfemlwaW1wb3J0CiAgICAgICAgIHRlc3RfemxpYgotICAgICAgICAiIiIsCi0gICAgJ29wZW5ic2QzJzoKKyAgICAgICAgIiIiKSwKKyAgICAoJ29wZW5ic2QnLAogICAgICAgICAiIiIKICAgICAgICAgdGVzdF9jdHlwZXMKKyAgICAgICAgdGVzdF9kZXZwb2xsCiAgICAgICAgIHRlc3RfZXBvbGwKICAgICAgICAgdGVzdF9kYm1fZ251CiAgICAgICAgIHRlc3RfbG9jYWxlCkBAIC0xNTQ0LDExICsxNjkzLDEyIEBACiAgICAgICAgIHRlc3RfdHRrX2d1aW9ubHkKICAgICAgICAgdGVzdF90dGtfdGV4dG9ubHkKICAgICAgICAgdGVzdF9tdWx0aXByb2Nlc3NpbmcKLSAgICAgICAgIiIiLAotICAgICduZXRic2QzJzoKKyAgICAgICAgIiIiKSwKKyAgICAoJ25ldGJzZCcsCiAgICAgICAgICIiIgogICAgICAgICB0ZXN0X2N0eXBlcwogICAgICAgICB0ZXN0X2N1cnNlcworICAgICAgICB0ZXN0X2RldnBvbGwKICAgICAgICAgdGVzdF9lcG9sbAogICAgICAgICB0ZXN0X2RibV9nbnUKICAgICAgICAgdGVzdF9sb2NhbGUKQEAgLTE1NTksMTIgKzE3MDksOCBAQAogICAgICAgICB0ZXN0X3R0a19ndWlvbmx5CiAgICAgICAgIHRlc3RfdHRrX3RleHRvbmx5CiAgICAgICAgIHRlc3RfbXVsdGlwcm9jZXNzaW5nCi0gICAgICAgICIiIiwKLX0KLV9leHBlY3RhdGlvbnNbJ2ZyZWVic2Q1J10gPSBfZXhwZWN0YXRpb25zWydmcmVlYnNkNCddCi1fZXhwZWN0YXRpb25zWydmcmVlYnNkNiddID0gX2V4cGVjdGF0aW9uc1snZnJlZWJzZDQnXQotX2V4cGVjdGF0aW9uc1snZnJlZWJzZDcnXSA9IF9leHBlY3RhdGlvbnNbJ2ZyZWVic2Q0J10KLV9leHBlY3RhdGlvbnNbJ2ZyZWVic2Q4J10gPSBfZXhwZWN0YXRpb25zWydmcmVlYnNkNCddCisgICAgICAgICIiIiksCispCiAKIGNsYXNzIF9FeHBlY3RlZFNraXBzOgogICAgIGRlZiBfX2luaXRfXyhzZWxmKToKQEAgLTE1NzIsOSArMTcxOCwxMyBAQAogICAgICAgICBmcm9tIHRlc3QgaW1wb3J0IHRlc3RfdGltZW91dAogCiAgICAgICAgIHNlbGYudmFsaWQgPSBGYWxzZQotICAgICAgICBpZiBzeXMucGxhdGZvcm0gaW4gX2V4cGVjdGF0aW9uczoKLSAgICAgICAgICAgIHMgPSBfZXhwZWN0YXRpb25zW3N5cy5wbGF0Zm9ybV0KLSAgICAgICAgICAgIHNlbGYuZXhwZWN0ZWQgPSBzZXQocy5zcGxpdCgpKQorICAgICAgICBleHBlY3RlZCA9IE5vbmUKKyAgICAgICAgZm9yIGl0ZW0gaW4gX2V4cGVjdGF0aW9uczoKKyAgICAgICAgICAgIGlmIHN5cy5wbGF0Zm9ybS5zdGFydHN3aXRoKGl0ZW1bMF0pOgorICAgICAgICAgICAgICAgIGV4cGVjdGVkID0gaXRlbVsxXQorICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgIGlmIGV4cGVjdGVkIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgc2VsZi5leHBlY3RlZCA9IHNldChleHBlY3RlZC5zcGxpdCgpKQogCiAgICAgICAgICAgICAjIFRoZXNlIGFyZSBicm9rZW4gdGVzdHMsIGZvciBub3cgc2tpcHBlZCBvbiBldmVyeSBwbGF0Zm9ybS4KICAgICAgICAgICAgICMgWFhYIEZpeCB0aGVzZSEKQEAgLTE2MzQsOSArMTc4NCw4IEBACiAgICAgICAgIFRFTVBESVIgPSBvcy5wYXRoLmFic3BhdGgoVEVNUERJUikKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgb3MubWtkaXIoVEVNUERJUikKLSAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKLSAgICAgICAgICAgIGlmIGUuZXJybm8gIT0gZXJybm8uRUVYSVNUOgotICAgICAgICAgICAgICAgIHJhaXNlCisgICAgICAgIGV4Y2VwdCBGaWxlRXhpc3RzRXJyb3I6CisgICAgICAgICAgICBwYXNzCiAKICAgICAjIERlZmluZSBhIHdyaXRhYmxlIHRlbXAgZGlyIHRoYXQgd2lsbCBiZSB1c2VkIGFzIGN3ZCB3aGlsZSBydW5uaW5nCiAgICAgIyB0aGUgdGVzdHMuIFRoZSBuYW1lIG9mIHRoZSBkaXIgaW5jbHVkZXMgdGhlIHBpZCB0byBhbGxvdyBwYXJhbGxlbApkaWZmIC0tZ2l0IGEvTGliL3Rlc3Qvc2NyaXB0X2hlbHBlci5weSBiL0xpYi90ZXN0L3NjcmlwdF9oZWxwZXIucHkKaW5kZXggYmE0NDZjZC4uMTBhZGE2ZCAxMDA2NDQKLS0tIGEvTGliL3Rlc3Qvc2NyaXB0X2hlbHBlci5weQorKysgYi9MaWIvdGVzdC9zY3JpcHRfaGVscGVyLnB5CkBAIC01OSwxMSArNTksMTIgQEAKICAgICAiIiIKICAgICByZXR1cm4gX2Fzc2VydF9weXRob24oRmFsc2UsICphcmdzLCAqKmVudl92YXJzKQogCi1kZWYgc3Bhd25fcHl0aG9uKCphcmdzKToKK2RlZiBzcGF3bl9weXRob24oKmFyZ3MsICoqa3cpOgogICAgIGNtZF9saW5lID0gW3N5cy5leGVjdXRhYmxlLCAnLUUnXQogICAgIGNtZF9saW5lLmV4dGVuZChhcmdzKQogICAgIHJldHVybiBzdWJwcm9jZXNzLlBvcGVuKGNtZF9saW5lLCBzdGRpbj1zdWJwcm9jZXNzLlBJUEUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Rkb3V0PXN1YnByb2Nlc3MuUElQRSwgc3RkZXJyPXN1YnByb2Nlc3MuU1RET1VUKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZG91dD1zdWJwcm9jZXNzLlBJUEUsIHN0ZGVycj1zdWJwcm9jZXNzLlNURE9VVCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAqKmt3KQogCiBkZWYga2lsbF9weXRob24ocCk6CiAgICAgcC5zdGRpbi5jbG9zZSgpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC9zc2xfa2V5LnBhc3N3ZC5wZW0gYi9MaWIvdGVzdC9zc2xfa2V5LnBhc3N3ZC5wZW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjUyNDY3MgotLS0gL2Rldi9udWxsCisrKyBiL0xpYi90ZXN0L3NzbF9rZXkucGFzc3dkLnBlbQpAQCAtMCwwICsxLDE4IEBACistLS0tLUJFR0lOIFJTQSBQUklWQVRFIEtFWS0tLS0tCitQcm9jLVR5cGU6IDQsRU5DUllQVEVECitERUstSW5mbzogREVTLUVERTMtQ0JDLDFBOEQ5RDJBMDJFQzY5OEEKKwora0pZYmZaOEwwc2ZlOU90eTNndzBhbG9Oblk1RThmZWdSZlFMWmxOb3hUbDZqTnQwbkl3SThrREozNkNaZ1I5YwordTNGREptL0txcmZVb3o4dlcrcUVuV2hTRzdRUFgyd1dHUEhkNEs5NFl6L0ZnclJ6WjBEb0s3WHhYcTlnT3RWQQorQVZHUWhuejMycCs2V2hmR3NDcjlBclhFd1JaclRrL0Z2ekVQYVU1Zkhjb1Nrck5WQUdYOElwU1ZrU0R3RURRcgorR3YxNytjZms5OVVWMU9DemE2eUtIb0ZrVHRyQytQWlU3MUxvbUJhYml2UzJPYzRCOWhZdVNSMmhGMDF3VEhQKworWWxXTmFnWk9PVnROejRvS0s5eDllTlFwbWZRWFF2UFBUZnVzZXhLSWJLZlpyTXZKb3hjbTFnZmNaMEgvd0s2UAorNndtWFNHMzVxTU9PenRDWk50cGVyanMxd3pFQlh6bnlLOFFtTGNBSkJqa2ZhckFCSlg5dkJFelpWME9VS2h5Kworbm9PUkZ3SFRsbHBoYm15ZExodTZlaExVWk1IUGh6QVM1VU43c3J0cFNOODFlZXJETXkwUk1VQXdBNy9Qb2ZYMQorOTRNZTg1UThqUDBQQzlFVGRzSmNQcUx6QVBFVEVZdTBFTGV3S1JjcmR5V2krdGxMRnJwRTVLVC9zNWVjYmw5bAorN0I2MVU0S2ZkMVBJWGMvc2lJTmhVM0EzYllLKzg0NVl5VUFyVU9uS2Yxa0VveDdwMVJwRDd5RnFWVDA0bFJUbworY2liTktBVEJ1c1hTdUJycDJHNkdOdWhXRU9TYWZXQ0tKUUF6Z0NZSXA2WlRWMmtoaE1VR3BwYy8ySDNDRjZjTworelgwS3RsUFZaQzdoTGtCNkhUOFN4WVV3RjF6cVdZNysvWFBQZGMzN01lRVo4N1EzVXVad3FPUkxZK1owaHBndAorTDVKWEJDb2tsWmhDQWFOMkdxd0ZMWHRHaVJTUkZHWTd4WEloYkRUbEU2NVd2MVdHR2dETE1LR0UxZ096M3lBbworMmpqRzEreUFISlVkRTY5WFRGSFNxU2t2YWxvQTFXMDNMZE1YWjlWdVFKL3lTWENpZTZBQkFRPT0KKy0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCmRpZmYgLS1naXQgYS9MaWIvdGVzdC9zc2xfc2VydmVycy5weSBiL0xpYi90ZXN0L3NzbF9zZXJ2ZXJzLnB5CmluZGV4IDc3YzA1NDIuLjg2ODYxNTMgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3NzbF9zZXJ2ZXJzLnB5CisrKyBiL0xpYi90ZXN0L3NzbF9zZXJ2ZXJzLnB5CkBAIC05NCw3ICs5NCwxMiBAQAogICAgICAgICAiIiJTZXJ2ZSBhIEdFVCByZXF1ZXN0LiIiIgogICAgICAgICBzb2NrID0gc2VsZi5yZmlsZS5yYXcuX3NvY2sKICAgICAgICAgY29udGV4dCA9IHNvY2suY29udGV4dAotICAgICAgICBib2R5ID0gcHByaW50LnBmb3JtYXQoY29udGV4dC5zZXNzaW9uX3N0YXRzKCkpCisgICAgICAgIHN0YXRzID0geworICAgICAgICAgICAgJ3Nlc3Npb25fY2FjaGUnOiBjb250ZXh0LnNlc3Npb25fc3RhdHMoKSwKKyAgICAgICAgICAgICdjaXBoZXInOiBzb2NrLmNpcGhlcigpLAorICAgICAgICAgICAgJ2NvbXByZXNzaW9uJzogc29jay5jb21wcmVzc2lvbigpLAorICAgICAgICAgICAgfQorICAgICAgICBib2R5ID0gcHByaW50LnBmb3JtYXQoc3RhdHMpCiAgICAgICAgIGJvZHkgPSBib2R5LmVuY29kZSgndXRmLTgnKQogICAgICAgICBzZWxmLnNlbmRfcmVzcG9uc2UoMjAwKQogICAgICAgICBzZWxmLnNlbmRfaGVhZGVyKCJDb250ZW50LXR5cGUiLCAidGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOCIpCkBAIC0xNzIsNiArMTc3LDExIEBACiAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb249J3N0b3JlX2ZhbHNlJywgaGVscD0nYmUgbGVzcyB2ZXJib3NlJykKICAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctcycsICctLXN0YXRzJywgZGVzdD0ndXNlX3N0YXRzX2hhbmRsZXInLCBkZWZhdWx0PUZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uPSdzdG9yZV90cnVlJywgaGVscD0nYWx3YXlzIHJldHVybiBzdGF0cyBwYWdlJykKKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctLWN1cnZlLW5hbWUnLCBkZXN0PSdjdXJ2ZV9uYW1lJywgdHlwZT1zdHIsCisgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb249J3N0b3JlJywKKyAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9J2N1cnZlIG5hbWUgZm9yIEVDLWJhc2VkIERpZmZpZS1IZWxsbWFuJykKKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctLWRoJywgZGVzdD0nZGhfZmlsZScsIHR5cGU9c3RyLCBhY3Rpb249J3N0b3JlJywKKyAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9J1BFTSBmaWxlIGNvbnRhaW5pbmcgREggcGFyYW1ldGVycycpCiAgICAgYXJncyA9IHBhcnNlci5wYXJzZV9hcmdzKCkKIAogICAgIHN1cHBvcnQudmVyYm9zZSA9IGFyZ3MudmVyYm9zZQpAQCAtMTgyLDYgKzE5MiwxMCBAQAogICAgICAgICBoYW5kbGVyX2NsYXNzLnJvb3QgPSBvcy5nZXRjd2QoKQogICAgIGNvbnRleHQgPSBzc2wuU1NMQ29udGV4dChzc2wuUFJPVE9DT0xfVExTdjEpCiAgICAgY29udGV4dC5sb2FkX2NlcnRfY2hhaW4oQ0VSVEZJTEUpCisgICAgaWYgYXJncy5jdXJ2ZV9uYW1lOgorICAgICAgICBjb250ZXh0LnNldF9lY2RoX2N1cnZlKGFyZ3MuY3VydmVfbmFtZSkKKyAgICBpZiBhcmdzLmRoX2ZpbGU6CisgICAgICAgIGNvbnRleHQubG9hZF9kaF9wYXJhbXMoYXJncy5kaF9maWxlKQogCiAgICAgc2VydmVyID0gSFRUUFNTZXJ2ZXIoKCIiLCBhcmdzLnBvcnQpLCBoYW5kbGVyX2NsYXNzLCBjb250ZXh0KQogICAgIGlmIGFyZ3MudmVyYm9zZToKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3N0cmluZ190ZXN0cy5weSBiL0xpYi90ZXN0L3N0cmluZ190ZXN0cy5weQppbmRleCBkNzkyNTI5Li5iNzI0NmViIDEwMDY0NAotLS0gYS9MaWIvdGVzdC9zdHJpbmdfdGVzdHMucHkKKysrIGIvTGliL3Rlc3Qvc3RyaW5nX3Rlc3RzLnB5CkBAIC0yOCw2ICsyOCwxMSBAQAogICAgICMgQ2hhbmdlIGluIHN1YmNsYXNzZXMgdG8gY2hhbmdlIHRoZSBiZWhhdmlvdXIgb2YgZml4dGVzdHR5cGUoKQogICAgIHR5cGUydGVzdCA9IE5vbmUKIAorICAgICMgV2hldGhlciB0aGUgImNvbnRhaW5lZCBpdGVtcyIgb2YgdGhlIGNvbnRhaW5lciBhcmUgaW50ZWdlcnMgaW4KKyAgICAjIHJhbmdlKDAsIDI1NikgKGkuZS4gYnl0ZXMsIGJ5dGVhcnJheSkgb3Igc3RyaW5ncyBvZiBsZW5ndGggMQorICAgICMgKHN0cikKKyAgICBjb250YWluc19ieXRlcyA9IEZhbHNlCisKICAgICAjIEFsbCB0ZXN0cyBwYXNzIHRoZWlyIGFyZ3VtZW50cyB0byB0aGUgdGVzdGluZyBtZXRob2RzCiAgICAgIyBhcyBzdHIgb2JqZWN0cy4gZml4dGVzdHR5cGUoKSBjYW4gYmUgdXNlZCB0byBwcm9wYWdhdGUKICAgICAjIHRoZXNlIGFyZ3VtZW50cyB0byB0aGUgYXBwcm9wcmlhdGUgdHlwZQpAQCAtNDcsMTEgKzUyLDEyIEBACiAgICAgICAgICAgICByZXR1cm4gb2JqCiAKICAgICAjIGNoZWNrIHRoYXQgb2JqLm1ldGhvZCgqYXJncykgcmV0dXJucyByZXN1bHQKLSAgICBkZWYgY2hlY2tlcXVhbChzZWxmLCByZXN1bHQsIG9iaiwgbWV0aG9kbmFtZSwgKmFyZ3MpOgorICAgIGRlZiBjaGVja2VxdWFsKHNlbGYsIHJlc3VsdCwgb2JqLCBtZXRob2RuYW1lLCAqYXJncywgKiprd2FyZ3MpOgogICAgICAgICByZXN1bHQgPSBzZWxmLmZpeHR5cGUocmVzdWx0KQogICAgICAgICBvYmogPSBzZWxmLmZpeHR5cGUob2JqKQogICAgICAgICBhcmdzID0gc2VsZi5maXh0eXBlKGFyZ3MpCi0gICAgICAgIHJlYWxyZXN1bHQgPSBnZXRhdHRyKG9iaiwgbWV0aG9kbmFtZSkoKmFyZ3MpCisgICAgICAgIGt3YXJncyA9IHtrOiBzZWxmLmZpeHR5cGUodikgZm9yIGssdiBpbiBrd2FyZ3MuaXRlbXMoKX0KKyAgICAgICAgcmVhbHJlc3VsdCA9IGdldGF0dHIob2JqLCBtZXRob2RuYW1lKSgqYXJncywgKiprd2FyZ3MpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCiAgICAgICAgICAgICByZXN1bHQsCiAgICAgICAgICAgICByZWFscmVzdWx0CkBAIC0xMTYsNyArMTIyLDExIEBACiAgICAgICAgIHNlbGYuY2hlY2tlcXVhbCgwLCAnJywgJ2NvdW50JywgJ3h4Jywgc3lzLm1heHNpemUsIDApCiAKICAgICAgICAgc2VsZi5jaGVja3JhaXNlcyhUeXBlRXJyb3IsICdoZWxsbycsICdjb3VudCcpCi0gICAgICAgIHNlbGYuY2hlY2tyYWlzZXMoVHlwZUVycm9yLCAnaGVsbG8nLCAnY291bnQnLCA0MikKKworICAgICAgICBpZiBzZWxmLmNvbnRhaW5zX2J5dGVzOgorICAgICAgICAgICAgc2VsZi5jaGVja2VxdWFsKDAsICdoZWxsbycsICdjb3VudCcsIDQyKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgc2VsZi5jaGVja3JhaXNlcyhUeXBlRXJyb3IsICdoZWxsbycsICdjb3VudCcsIDQyKQogCiAgICAgICAgICMgRm9yIGEgdmFyaWV0eSBvZiBjb21iaW5hdGlvbnMsCiAgICAgICAgICMgICAgdmVyaWZ5IHRoYXQgc3RyLmNvdW50KCkgbWF0Y2hlcyBhbiBlcXVpdmFsZW50IGZ1bmN0aW9uCkBAIC0xNjIsNyArMTcyLDExIEBACiAgICAgICAgIHNlbGYuY2hlY2tlcXVhbCggMiwgJ3JyYXJycnJycnJycmEnLCAnZmluZCcsICdhJywgTm9uZSwgNikKIAogICAgICAgICBzZWxmLmNoZWNrcmFpc2VzKFR5cGVFcnJvciwgJ2hlbGxvJywgJ2ZpbmQnKQotICAgICAgICBzZWxmLmNoZWNrcmFpc2VzKFR5cGVFcnJvciwgJ2hlbGxvJywgJ2ZpbmQnLCA0MikKKworICAgICAgICBpZiBzZWxmLmNvbnRhaW5zX2J5dGVzOgorICAgICAgICAgICAgc2VsZi5jaGVja2VxdWFsKC0xLCAnaGVsbG8nLCAnZmluZCcsIDQyKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgc2VsZi5jaGVja3JhaXNlcyhUeXBlRXJyb3IsICdoZWxsbycsICdmaW5kJywgNDIpCiAKICAgICAgICAgc2VsZi5jaGVja2VxdWFsKDAsICcnLCAnZmluZCcsICcnKQogICAgICAgICBzZWxmLmNoZWNrZXF1YWwoLTEsICcnLCAnZmluZCcsICcnLCAxLCAxKQpAQCAtMjE2LDcgKzIzMCwxMSBAQAogICAgICAgICBzZWxmLmNoZWNrZXF1YWwoIDIsICdycmFycnJycnJycnJhJywgJ3JmaW5kJywgJ2EnLCBOb25lLCA2KQogCiAgICAgICAgIHNlbGYuY2hlY2tyYWlzZXMoVHlwZUVycm9yLCAnaGVsbG8nLCAncmZpbmQnKQotICAgICAgICBzZWxmLmNoZWNrcmFpc2VzKFR5cGVFcnJvciwgJ2hlbGxvJywgJ3JmaW5kJywgNDIpCisKKyAgICAgICAgaWYgc2VsZi5jb250YWluc19ieXRlczoKKyAgICAgICAgICAgIHNlbGYuY2hlY2tlcXVhbCgtMSwgJ2hlbGxvJywgJ3JmaW5kJywgNDIpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzZWxmLmNoZWNrcmFpc2VzKFR5cGVFcnJvciwgJ2hlbGxvJywgJ3JmaW5kJywgNDIpCiAKICAgICAgICAgIyBGb3IgYSB2YXJpZXR5IG9mIGNvbWJpbmF0aW9ucywKICAgICAgICAgIyAgICB2ZXJpZnkgdGhhdCBzdHIucmZpbmQoKSBtYXRjaGVzIF9fY29udGFpbnNfXwpAQCAtMjYzLDcgKzI4MSwxMSBAQAogICAgICAgICBzZWxmLmNoZWNrZXF1YWwoIDIsICdycmFycnJycnJycnJhJywgJ2luZGV4JywgJ2EnLCBOb25lLCA2KQogCiAgICAgICAgIHNlbGYuY2hlY2tyYWlzZXMoVHlwZUVycm9yLCAnaGVsbG8nLCAnaW5kZXgnKQotICAgICAgICBzZWxmLmNoZWNrcmFpc2VzKFR5cGVFcnJvciwgJ2hlbGxvJywgJ2luZGV4JywgNDIpCisKKyAgICAgICAgaWYgc2VsZi5jb250YWluc19ieXRlczoKKyAgICAgICAgICAgIHNlbGYuY2hlY2tyYWlzZXMoVmFsdWVFcnJvciwgJ2hlbGxvJywgJ2luZGV4JywgNDIpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzZWxmLmNoZWNrcmFpc2VzKFR5cGVFcnJvciwgJ2hlbGxvJywgJ2luZGV4JywgNDIpCiAKICAgICBkZWYgdGVzdF9yaW5kZXgoc2VsZik6CiAgICAgICAgIHNlbGYuY2hlY2tlcXVhbCgxMiwgJ2FiY2RlZmdoaWFiYycsICdyaW5kZXgnLCAnJykKQEAgLTI4NSw3ICszMDcsMTEgQEAKICAgICAgICAgc2VsZi5jaGVja2VxdWFsKCAyLCAncnJhcnJycnJycnJyYScsICdyaW5kZXgnLCAnYScsIE5vbmUsIDYpCiAKICAgICAgICAgc2VsZi5jaGVja3JhaXNlcyhUeXBlRXJyb3IsICdoZWxsbycsICdyaW5kZXgnKQotICAgICAgICBzZWxmLmNoZWNrcmFpc2VzKFR5cGVFcnJvciwgJ2hlbGxvJywgJ3JpbmRleCcsIDQyKQorCisgICAgICAgIGlmIHNlbGYuY29udGFpbnNfYnl0ZXM6CisgICAgICAgICAgICBzZWxmLmNoZWNrcmFpc2VzKFZhbHVlRXJyb3IsICdoZWxsbycsICdyaW5kZXgnLCA0MikKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHNlbGYuY2hlY2tyYWlzZXMoVHlwZUVycm9yLCAnaGVsbG8nLCAncmluZGV4JywgNDIpCiAKICAgICBkZWYgdGVzdF9sb3dlcihzZWxmKToKICAgICAgICAgc2VsZi5jaGVja2VxdWFsKCdoZWxsbycsICdIZUxMbycsICdsb3dlcicpCkBAIC0zNjMsNiArMzg5LDE3IEBACiAgICAgICAgIHNlbGYuY2hlY2tlcXVhbChbJ2EnXSoxOCArIFsnYUJMQUhhJ10sICgnYUJMQUgnKjIwKVs6LTRdLAogICAgICAgICAgICAgICAgICAgICAgICAgJ3NwbGl0JywgJ0JMQUgnLCAxOCkKIAorICAgICAgICAjIHdpdGgga2V5d29yZCBhcmdzCisgICAgICAgIHNlbGYuY2hlY2tlcXVhbChbJ2EnLCAnYicsICdjJywgJ2QnXSwgJ2F8YnxjfGQnLCAnc3BsaXQnLCBzZXA9J3wnKQorICAgICAgICBzZWxmLmNoZWNrZXF1YWwoWydhJywgJ2J8Y3xkJ10sCisgICAgICAgICAgICAgICAgICAgICAgICAnYXxifGN8ZCcsICdzcGxpdCcsICd8JywgbWF4c3BsaXQ9MSkKKyAgICAgICAgc2VsZi5jaGVja2VxdWFsKFsnYScsICdifGN8ZCddLAorICAgICAgICAgICAgICAgICAgICAgICAgJ2F8YnxjfGQnLCAnc3BsaXQnLCBzZXA9J3wnLCBtYXhzcGxpdD0xKQorICAgICAgICBzZWxmLmNoZWNrZXF1YWwoWydhJywgJ2J8Y3xkJ10sCisgICAgICAgICAgICAgICAgICAgICAgICAnYXxifGN8ZCcsICdzcGxpdCcsIG1heHNwbGl0PTEsIHNlcD0nfCcpCisgICAgICAgIHNlbGYuY2hlY2tlcXVhbChbJ2EnLCAnYiBjIGQnXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICdhIGIgYyBkJywgJ3NwbGl0JywgbWF4c3BsaXQ9MSkKKwogICAgICAgICAjIGFyZ3VtZW50IHR5cGUKICAgICAgICAgc2VsZi5jaGVja3JhaXNlcyhUeXBlRXJyb3IsICdoZWxsbycsICdzcGxpdCcsIDQyLCA0MiwgNDIpCiAKQEAgLTQyMCw2ICs0NTcsMTcgQEAKICAgICAgICAgc2VsZi5jaGVja2VxdWFsKFsnYUJMQUhhJ10gKyBbJ2EnXSoxOCwgKCdhQkxBSCcqMjApWzotNF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAncnNwbGl0JywgJ0JMQUgnLCAxOCkKIAorICAgICAgICAjIHdpdGgga2V5d29yZCBhcmdzCisgICAgICAgIHNlbGYuY2hlY2tlcXVhbChbJ2EnLCAnYicsICdjJywgJ2QnXSwgJ2F8YnxjfGQnLCAncnNwbGl0Jywgc2VwPSd8JykKKyAgICAgICAgc2VsZi5jaGVja2VxdWFsKFsnYXxifGMnLCAnZCddLAorICAgICAgICAgICAgICAgICAgICAgICAgJ2F8YnxjfGQnLCAncnNwbGl0JywgJ3wnLCBtYXhzcGxpdD0xKQorICAgICAgICBzZWxmLmNoZWNrZXF1YWwoWydhfGJ8YycsICdkJ10sCisgICAgICAgICAgICAgICAgICAgICAgICAnYXxifGN8ZCcsICdyc3BsaXQnLCBzZXA9J3wnLCBtYXhzcGxpdD0xKQorICAgICAgICBzZWxmLmNoZWNrZXF1YWwoWydhfGJ8YycsICdkJ10sCisgICAgICAgICAgICAgICAgICAgICAgICAnYXxifGN8ZCcsICdyc3BsaXQnLCBtYXhzcGxpdD0xLCBzZXA9J3wnKQorICAgICAgICBzZWxmLmNoZWNrZXF1YWwoWydhIGIgYycsICdkJ10sCisgICAgICAgICAgICAgICAgICAgICAgICAnYSBiIGMgZCcsICdyc3BsaXQnLCBtYXhzcGxpdD0xKQorCiAgICAgICAgICMgYXJndW1lbnQgdHlwZQogICAgICAgICBzZWxmLmNoZWNrcmFpc2VzKFR5cGVFcnJvciwgJ2hlbGxvJywgJ3JzcGxpdCcsIDQyLCA0MiwgNDIpCiAKQEAgLTY0Myw3ICs2OTEsNyBAQAogCiAgICAgICAgICMgY2hlY2sgdGhhdCB0aXRsZWNhc2VkIGNoYXJzIGFyZSBsb3dlcmVkIGNvcnJlY3RseQogICAgICAgICAjIFx1MWZmYyBpcyB0aGUgdGl0bGVjYXNlZCBjaGFyCi0gICAgICAgIHNlbGYuY2hlY2tlcXVhbCgnXHUxZmZjXHUxZmYzXHUxZmYzXHUxZmYzJywKKyAgICAgICAgc2VsZi5jaGVja2VxdWFsKCdcdTAzYTlcdTAzOTlcdTFmZjNcdTFmZjNcdTFmZjMnLAogICAgICAgICAgICAgICAgICAgICAgICAgJ1x1MWZmM1x1MWZmM1x1MWZmY1x1MWZmYycsICdjYXBpdGFsaXplJykKICAgICAgICAgIyBjaGVjayB3aXRoIGNhc2VkIG5vbi1sZXR0ZXIgY2hhcnMKICAgICAgICAgc2VsZi5jaGVja2VxdWFsKCdcdTI0YzVcdTI0ZThcdTI0ZTNcdTI0ZDdcdTI0ZGVcdTI0ZGQnLApAQCAtOTA4LDcgKzk1NiwxNCBAQAogICAgICAgICBzZWxmLmNoZWNrZXF1YWwoWydhYmMnLCAnZGVmJywgJ2doaSddLCAiYWJjXG5kZWZcclxuZ2hpXG4iLCAnc3BsaXRsaW5lcycpCiAgICAgICAgIHNlbGYuY2hlY2tlcXVhbChbJ2FiYycsICdkZWYnLCAnZ2hpJywgJyddLCAiYWJjXG5kZWZcclxuZ2hpXG5cciIsICdzcGxpdGxpbmVzJykKICAgICAgICAgc2VsZi5jaGVja2VxdWFsKFsnJywgJ2FiYycsICdkZWYnLCAnZ2hpJywgJyddLCAiXG5hYmNcbmRlZlxyXG5naGlcblxyIiwgJ3NwbGl0bGluZXMnKQotICAgICAgICBzZWxmLmNoZWNrZXF1YWwoWydcbicsICdhYmNcbicsICdkZWZcclxuJywgJ2doaVxuJywgJ1xyJ10sICJcbmFiY1xuZGVmXHJcbmdoaVxuXHIiLCAnc3BsaXRsaW5lcycsIDEpCisgICAgICAgIHNlbGYuY2hlY2tlcXVhbChbJycsICdhYmMnLCAnZGVmJywgJ2doaScsICcnXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICJcbmFiY1xuZGVmXHJcbmdoaVxuXHIiLCAnc3BsaXRsaW5lcycsIEZhbHNlKQorICAgICAgICBzZWxmLmNoZWNrZXF1YWwoWydcbicsICdhYmNcbicsICdkZWZcclxuJywgJ2doaVxuJywgJ1xyJ10sCisgICAgICAgICAgICAgICAgICAgICAgICAiXG5hYmNcbmRlZlxyXG5naGlcblxyIiwgJ3NwbGl0bGluZXMnLCBUcnVlKQorICAgICAgICBzZWxmLmNoZWNrZXF1YWwoWycnLCAnYWJjJywgJ2RlZicsICdnaGknLCAnJ10sICJcbmFiY1xuZGVmXHJcbmdoaVxuXHIiLAorICAgICAgICAgICAgICAgICAgICAgICAgJ3NwbGl0bGluZXMnLCBrZWVwZW5kcz1GYWxzZSkKKyAgICAgICAgc2VsZi5jaGVja2VxdWFsKFsnXG4nLCAnYWJjXG4nLCAnZGVmXHJcbicsICdnaGlcbicsICdcciddLAorICAgICAgICAgICAgICAgICAgICAgICAgIlxuYWJjXG5kZWZcclxuZ2hpXG5cciIsICdzcGxpdGxpbmVzJywga2VlcGVuZHM9VHJ1ZSkKIAogICAgICAgICBzZWxmLmNoZWNrcmFpc2VzKFR5cGVFcnJvciwgJ2FiYycsICdzcGxpdGxpbmVzJywgNDIsIDQyKQogCmRpZmYgLS1naXQgYS9MaWIvdGVzdC9zdXBwb3J0LnB5IGIvTGliL3Rlc3Qvc3VwcG9ydC5weQppbmRleCAwMWNkMjAzLi5jMzg0MjIyIDEwMDY0NAotLS0gYS9MaWIvdGVzdC9zdXBwb3J0LnB5CisrKyBiL0xpYi90ZXN0L3N1cHBvcnQucHkKQEAgLTE1LDcgKzE1LDcgQEAKIGltcG9ydCB3YXJuaW5ncwogaW1wb3J0IHVuaXR0ZXN0CiBpbXBvcnQgaW1wb3J0bGliCi1pbXBvcnQgY29sbGVjdGlvbnMKK2ltcG9ydCBjb2xsZWN0aW9ucy5hYmMKIGltcG9ydCByZQogaW1wb3J0IHN1YnByb2Nlc3MKIGltcG9ydCBpbXAKQEAgLTIzLDYgKzIzLDcgQEAKIGltcG9ydCBzeXNjb25maWcKIGltcG9ydCBmbm1hdGNoCiBpbXBvcnQgbG9nZ2luZy5oYW5kbGVycworaW1wb3J0IHN0cnVjdAogCiB0cnk6CiAgICAgaW1wb3J0IF90aHJlYWQsIHRocmVhZGluZwpAQCAtMzQsMjYgKzM1LDM5IEBACiBleGNlcHQgSW1wb3J0RXJyb3I6CiAgICAgbXVsdGlwcm9jZXNzaW5nID0gTm9uZQogCit0cnk6CisgICAgaW1wb3J0IGZhdWx0aGFuZGxlcgorZXhjZXB0IEltcG9ydEVycm9yOgorICAgIGZhdWx0aGFuZGxlciA9IE5vbmUKKwordHJ5OgorICAgIGltcG9ydCB6bGliCitleGNlcHQgSW1wb3J0RXJyb3I6CisgICAgemxpYiA9IE5vbmUKKwordHJ5OgorICAgIGltcG9ydCBmY250bAorZXhjZXB0IEltcG9ydEVycm9yOgorICAgIGZjbnRsID0gTm9uZQogCiBfX2FsbF9fID0gWwogICAgICJFcnJvciIsICJUZXN0RmFpbGVkIiwgIlJlc291cmNlRGVuaWVkIiwgImltcG9ydF9tb2R1bGUiLAogICAgICJ2ZXJib3NlIiwgInVzZV9yZXNvdXJjZXMiLCAibWF4X21lbXVzZSIsICJyZWNvcmRfb3JpZ2luYWxfc3Rkb3V0IiwKICAgICAiZ2V0X29yaWdpbmFsX3N0ZG91dCIsICJ1bmxvYWQiLCAidW5saW5rIiwgInJtdHJlZSIsICJmb3JnZXQiLAotICAgICJpc19yZXNvdXJjZV9lbmFibGVkIiwgInJlcXVpcmVzIiwgInJlcXVpcmVzX21hY192ZXIiLAotICAgICJmaW5kX3VudXNlZF9wb3J0IiwgImJpbmRfcG9ydCIsCi0gICAgImZjbXAiLCAiaXNfanl0aG9uIiwgIlRFU1RGTiIsICJIT1NUIiwgIkZVWloiLCAiU0FWRURDV0QiLCAidGVtcF9jd2QiLAotICAgICJmaW5kZmlsZSIsICJzb3J0ZGljdCIsICJjaGVja19zeW50YXhfZXJyb3IiLCAib3Blbl91cmxyZXNvdXJjZSIsCi0gICAgImNoZWNrX3dhcm5pbmdzIiwgIkNsZWFuSW1wb3J0IiwgIkVudmlyb25tZW50VmFyR3VhcmQiLAotICAgICJUcmFuc2llbnRSZXNvdXJjZSIsICJjYXB0dXJlZF9vdXRwdXQiLCAiY2FwdHVyZWRfc3Rkb3V0IiwKLSAgICAiY2FwdHVyZWRfc3RkaW4iLCAiY2FwdHVyZWRfc3RkZXJyIiwKLSAgICAidGltZV9vdXQiLCAic29ja2V0X3BlZXJfcmVzZXQiLCAiaW9lcnJvcl9wZWVyX3Jlc2V0IiwKLSAgICAicnVuX3dpdGhfbG9jYWxlIiwgJ3RlbXBfdW1hc2snLCAidHJhbnNpZW50X2ludGVybmV0IiwKLSAgICAic2V0X21lbWxpbWl0IiwgImJpZ21lbXRlc3QiLCAiYmlnYWRkcnNwYWNldGVzdCIsICJCYXNpY1Rlc3RSdW5uZXIiLAotICAgICJydW5fdW5pdHRlc3QiLCAicnVuX2RvY3Rlc3QiLCAidGhyZWFkaW5nX3NldHVwIiwgInRocmVhZGluZ19jbGVhbnVwIiwKLSAgICAicmVhcF9jaGlsZHJlbiIsICJjcHl0aG9uX29ubHkiLCAiY2hlY2tfaW1wbF9kZXRhaWwiLCAiZ2V0X2F0dHJpYnV0ZSIsCi0gICAgInN3YXBfaXRlbSIsICJzd2FwX2F0dHIiLCAicmVxdWlyZXNfSUVFRV83NTQiLAorICAgICJpc19yZXNvdXJjZV9lbmFibGVkIiwgInJlcXVpcmVzIiwgInJlcXVpcmVzX2ZyZWVic2RfdmVyc2lvbiIsCisgICAgInJlcXVpcmVzX2xpbnV4X3ZlcnNpb24iLCAicmVxdWlyZXNfbWFjX3ZlciIsICJmaW5kX3VudXNlZF9wb3J0IiwgImJpbmRfcG9ydCIsCisgICAgIklQVjZfRU5BQkxFRCIsICJpc19qeXRob24iLCAiVEVTVEZOIiwgIkhPU1QiLCAiU0FWRURDV0QiLCAidGVtcF9jd2QiLAorICAgICJmaW5kZmlsZSIsICJjcmVhdGVfZW1wdHlfZmlsZSIsICJzb3J0ZGljdCIsICJjaGVja19zeW50YXhfZXJyb3IiLCAib3Blbl91cmxyZXNvdXJjZSIsCisgICAgImNoZWNrX3dhcm5pbmdzIiwgIkNsZWFuSW1wb3J0IiwgIkVudmlyb25tZW50VmFyR3VhcmQiLCAiVHJhbnNpZW50UmVzb3VyY2UiLAorICAgICJjYXB0dXJlZF9zdGRvdXQiLCAiY2FwdHVyZWRfc3RkaW4iLCAiY2FwdHVyZWRfc3RkZXJyIiwgInRpbWVfb3V0IiwKKyAgICAic29ja2V0X3BlZXJfcmVzZXQiLCAiaW9lcnJvcl9wZWVyX3Jlc2V0IiwgInJ1bl93aXRoX2xvY2FsZSIsICd0ZW1wX3VtYXNrJywKKyAgICAidHJhbnNpZW50X2ludGVybmV0IiwgInNldF9tZW1saW1pdCIsICJiaWdtZW10ZXN0IiwgImJpZ2FkZHJzcGFjZXRlc3QiLAorICAgICJCYXNpY1Rlc3RSdW5uZXIiLCAicnVuX3VuaXR0ZXN0IiwgInJ1bl9kb2N0ZXN0IiwgInRocmVhZGluZ19zZXR1cCIsCisgICAgInRocmVhZGluZ19jbGVhbnVwIiwgInJlYXBfY2hpbGRyZW4iLCAiY3B5dGhvbl9vbmx5IiwgImNoZWNrX2ltcGxfZGV0YWlsIiwKKyAgICAiZ2V0X2F0dHJpYnV0ZSIsICJzd2FwX2l0ZW0iLCAic3dhcF9hdHRyIiwgInJlcXVpcmVzX0lFRUVfNzU0IiwKICAgICAiVGVzdEhhbmRsZXIiLCAiTWF0Y2hlciIsICJjYW5fc3ltbGluayIsICJza2lwX3VubGVzc19zeW1saW5rIiwKLSAgICAiaW1wb3J0X2ZyZXNoX21vZHVsZSIsICJmYWlsZmFzdCIsCisgICAgImltcG9ydF9mcmVzaF9tb2R1bGUiLCAicmVxdWlyZXNfemxpYiIsICJQSVBFX01BWF9TSVpFIiwgImZhaWxmYXN0IiwKKyAgICAiYW50aWNpcGF0ZV9mYWlsdXJlIgogICAgIF0KIAogY2xhc3MgRXJyb3IoRXhjZXB0aW9uKToKQEAgLTEyNCw2ICsxMzgsMTcgQEAKICAgICByZXR1cm4gc2F2ZWQKIAogCitkZWYgYW50aWNpcGF0ZV9mYWlsdXJlKGNvbmRpdGlvbik6CisgICAgIiIiRGVjb3JhdG9yIHRvIG1hcmsgYSB0ZXN0IHRoYXQgaXMga25vd24gdG8gYmUgYnJva2VuIGluIHNvbWUgY2FzZXMKKworICAgICAgIEFueSB1c2Ugb2YgdGhpcyBkZWNvcmF0b3Igc2hvdWxkIGhhdmUgYSBjb21tZW50IGlkZW50aWZ5aW5nIHRoZQorICAgICAgIGFzc29jaWF0ZWQgdHJhY2tlciBpc3N1ZS4KKyAgICAiIiIKKyAgICBpZiBjb25kaXRpb246CisgICAgICAgIHJldHVybiB1bml0dGVzdC5leHBlY3RlZEZhaWx1cmUKKyAgICByZXR1cm4gbGFtYmRhIGY6IGYKKworCiBkZWYgaW1wb3J0X2ZyZXNoX21vZHVsZShuYW1lLCBmcmVzaD0oKSwgYmxvY2tlZD0oKSwgZGVwcmVjYXRlZD1GYWxzZSk6CiAgICAgIiIiSW1wb3J0cyBhbmQgcmV0dXJucyBhIG1vZHVsZSwgZGVsaWJlcmF0ZWx5IGJ5cGFzc2luZyB0aGUgc3lzLm1vZHVsZXMgY2FjaGUKICAgICBhbmQgaW1wb3J0aW5nIGEgZnJlc2ggY29weSBvZiB0aGUgbW9kdWxlLiBPbmNlIHRoZSBpbXBvcnQgaXMgY29tcGxldGUsCkBAIC0xNjcsOCArMTkyLDcgQEAKICAgICB0cnk6CiAgICAgICAgIGF0dHJpYnV0ZSA9IGdldGF0dHIob2JqLCBuYW1lKQogICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKLSAgICAgICAgcmFpc2UgdW5pdHRlc3QuU2tpcFRlc3QoIm1vZHVsZSAlcyBoYXMgbm8gYXR0cmlidXRlICVzIiAlICgKLSAgICAgICAgICAgIG9iai5fX25hbWVfXywgbmFtZSkpCisgICAgICAgIHJhaXNlIHVuaXR0ZXN0LlNraXBUZXN0KCJvYmplY3QgJXIgaGFzIG5vIGF0dHJpYnV0ZSAlciIgJSAob2JqLCBuYW1lKSkKICAgICBlbHNlOgogICAgICAgICByZXR1cm4gYXR0cmlidXRlCiAKQEAgLTIwOSw4ICsyMzMsNyBAQAogICAgIHRyeToKICAgICAgICAgc2h1dGlsLnJtdHJlZShwYXRoKQogICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGVycm9yOgotICAgICAgICAjIFVuaXggcmV0dXJucyBFTk9FTlQsIFdpbmRvd3MgcmV0dXJucyBFU1JDSC4KLSAgICAgICAgaWYgZXJyb3IuZXJybm8gbm90IGluIChlcnJuby5FTk9FTlQsIGVycm5vLkVTUkNIKToKKyAgICAgICAgaWYgZXJyb3IuZXJybm8gIT0gZXJybm8uRU5PRU5UOgogICAgICAgICAgICAgcmFpc2UKIAogZGVmIG1ha2VfbGVnYWN5X3B5Yyhzb3VyY2UpOgpAQCAtMjk1LDkgKzMxOCw1MiBAQAogICAgICAgICByZXR1cm4KICAgICBpZiBub3QgaXNfcmVzb3VyY2VfZW5hYmxlZChyZXNvdXJjZSk6CiAgICAgICAgIGlmIG1zZyBpcyBOb25lOgotICAgICAgICAgICAgbXNnID0gIlVzZSBvZiB0aGUgYCVzJyByZXNvdXJjZSBub3QgZW5hYmxlZCIgJSByZXNvdXJjZQorICAgICAgICAgICAgbXNnID0gIlVzZSBvZiB0aGUgJXIgcmVzb3VyY2Ugbm90IGVuYWJsZWQiICUgcmVzb3VyY2UKICAgICAgICAgcmFpc2UgUmVzb3VyY2VEZW5pZWQobXNnKQogCitkZWYgX3JlcXVpcmVzX3VuaXhfdmVyc2lvbihzeXNuYW1lLCBtaW5fdmVyc2lvbik6CisgICAgIiIiRGVjb3JhdG9yIHJhaXNpbmcgU2tpcFRlc3QgaWYgdGhlIE9TIGlzIGBzeXNuYW1lYCBhbmQgdGhlIHZlcnNpb24gaXMgbGVzcworICAgIHRoYW4gYG1pbl92ZXJzaW9uYC4KKworICAgIEZvciBleGFtcGxlLCBAX3JlcXVpcmVzX3VuaXhfdmVyc2lvbignRnJlZUJTRCcsICg3LCAyKSkgcmFpc2VzIFNraXBUZXN0IGlmCisgICAgdGhlIEZyZWVCU0QgdmVyc2lvbiBpcyBsZXNzIHRoYW4gNy4yLgorICAgICIiIgorICAgIGRlZiBkZWNvcmF0b3IoZnVuYyk6CisgICAgICAgIEBmdW5jdG9vbHMud3JhcHMoZnVuYykKKyAgICAgICAgZGVmIHdyYXBwZXIoKmFyZ3MsICoqa3cpOgorICAgICAgICAgICAgaWYgcGxhdGZvcm0uc3lzdGVtKCkgPT0gc3lzbmFtZToKKyAgICAgICAgICAgICAgICB2ZXJzaW9uX3R4dCA9IHBsYXRmb3JtLnJlbGVhc2UoKS5zcGxpdCgnLScsIDEpWzBdCisgICAgICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgICAgICB2ZXJzaW9uID0gdHVwbGUobWFwKGludCwgdmVyc2lvbl90eHQuc3BsaXQoJy4nKSkpCisgICAgICAgICAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3I6CisgICAgICAgICAgICAgICAgICAgIHBhc3MKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICBpZiB2ZXJzaW9uIDwgbWluX3ZlcnNpb246CisgICAgICAgICAgICAgICAgICAgICAgICBtaW5fdmVyc2lvbl90eHQgPSAnLicuam9pbihtYXAoc3RyLCBtaW5fdmVyc2lvbikpCisgICAgICAgICAgICAgICAgICAgICAgICByYWlzZSB1bml0dGVzdC5Ta2lwVGVzdCgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAiJXMgdmVyc2lvbiAlcyBvciBoaWdoZXIgcmVxdWlyZWQsIG5vdCAlcyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAlIChzeXNuYW1lLCBtaW5fdmVyc2lvbl90eHQsIHZlcnNpb25fdHh0KSkKKyAgICAgICAgcmV0dXJuIHdyYXBwZXIKKyAgICByZXR1cm4gZGVjb3JhdG9yCisKK2RlZiByZXF1aXJlc19mcmVlYnNkX3ZlcnNpb24oKm1pbl92ZXJzaW9uKToKKyAgICAiIiJEZWNvcmF0b3IgcmFpc2luZyBTa2lwVGVzdCBpZiB0aGUgT1MgaXMgRnJlZUJTRCBhbmQgdGhlIEZyZWVCU0QgdmVyc2lvbiBpcworICAgIGxlc3MgdGhhbiBgbWluX3ZlcnNpb25gLgorCisgICAgRm9yIGV4YW1wbGUsIEByZXF1aXJlc19mcmVlYnNkX3ZlcnNpb24oNywgMikgcmFpc2VzIFNraXBUZXN0IGlmIHRoZSBGcmVlQlNECisgICAgdmVyc2lvbiBpcyBsZXNzIHRoYW4gNy4yLgorICAgICIiIgorICAgIHJldHVybiBfcmVxdWlyZXNfdW5peF92ZXJzaW9uKCdGcmVlQlNEJywgbWluX3ZlcnNpb24pCisKK2RlZiByZXF1aXJlc19saW51eF92ZXJzaW9uKCptaW5fdmVyc2lvbik6CisgICAgIiIiRGVjb3JhdG9yIHJhaXNpbmcgU2tpcFRlc3QgaWYgdGhlIE9TIGlzIExpbnV4IGFuZCB0aGUgTGludXggdmVyc2lvbiBpcworICAgIGxlc3MgdGhhbiBgbWluX3ZlcnNpb25gLgorCisgICAgRm9yIGV4YW1wbGUsIEByZXF1aXJlc19saW51eF92ZXJzaW9uKDIsIDYsIDMyKSByYWlzZXMgU2tpcFRlc3QgaWYgdGhlIExpbnV4CisgICAgdmVyc2lvbiBpcyBsZXNzIHRoYW4gMi42LjMyLgorICAgICIiIgorICAgIHJldHVybiBfcmVxdWlyZXNfdW5peF92ZXJzaW9uKCdMaW51eCcsIG1pbl92ZXJzaW9uKQorCiBkZWYgcmVxdWlyZXNfbWFjX3ZlcigqbWluX3ZlcnNpb24pOgogICAgICIiIkRlY29yYXRvciByYWlzaW5nIFNraXBUZXN0IGlmIHRoZSBPUyBpcyBNYWMgT1MgWCBhbmQgdGhlIE9TIFgKICAgICB2ZXJzaW9uIGlmIGxlc3MgdGhhbiBtaW5fdmVyc2lvbi4KQEAgLTMyNSw2ICszOTEsNyBAQAogICAgICAgICByZXR1cm4gd3JhcHBlcgogICAgIHJldHVybiBkZWNvcmF0b3IKIAorCiBIT1NUID0gJ2xvY2FsaG9zdCcKIAogZGVmIGZpbmRfdW51c2VkX3BvcnQoZmFtaWx5PXNvY2tldC5BRl9JTkVULCBzb2NrdHlwZT1zb2NrZXQuU09DS19TVFJFQU0pOgpAQCAtNDIwLDI5ICs0ODcsMzUgQEAKICAgICBwb3J0ID0gc29jay5nZXRzb2NrbmFtZSgpWzFdCiAgICAgcmV0dXJuIHBvcnQKIAotRlVaWiA9IDFlLTYKLQotZGVmIGZjbXAoeCwgeSk6ICMgZnV6enkgY29tcGFyaXNvbiBmdW5jdGlvbgotICAgIGlmIGlzaW5zdGFuY2UoeCwgZmxvYXQpIG9yIGlzaW5zdGFuY2UoeSwgZmxvYXQpOgorZGVmIF9pc19pcHY2X2VuYWJsZWQoKToKKyAgICAiIiJDaGVjayB3aGV0aGVyIElQdjYgaXMgZW5hYmxlZCBvbiB0aGlzIGhvc3QuIiIiCisgICAgaWYgc29ja2V0Lmhhc19pcHY2OgogICAgICAgICB0cnk6Ci0gICAgICAgICAgICBmdXp6ID0gKGFicyh4KSArIGFicyh5KSkgKiBGVVpaCi0gICAgICAgICAgICBpZiBhYnMoeC15KSA8PSBmdXp6OgotICAgICAgICAgICAgICAgIHJldHVybiAwCi0gICAgICAgIGV4Y2VwdDoKKyAgICAgICAgICAgIHNvY2sgPSBzb2NrZXQuc29ja2V0KHNvY2tldC5BRl9JTkVUNiwgc29ja2V0LlNPQ0tfU1RSRUFNKQorICAgICAgICAgICAgc29jay5iaW5kKCgnOjoxJywgMCkpCisgICAgICAgIGV4Y2VwdCAoc29ja2V0LmVycm9yLCBzb2NrZXQuZ2FpZXJyb3IpOgogICAgICAgICAgICAgcGFzcwotICAgIGVsaWYgdHlwZSh4KSA9PSB0eXBlKHkpIGFuZCBpc2luc3RhbmNlKHgsICh0dXBsZSwgbGlzdCkpOgotICAgICAgICBmb3IgaSBpbiByYW5nZShtaW4obGVuKHgpLCBsZW4oeSkpKToKLSAgICAgICAgICAgIG91dGNvbWUgPSBmY21wKHhbaV0sIHlbaV0pCi0gICAgICAgICAgICBpZiBvdXRjb21lICE9IDA6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIG91dGNvbWUKLSAgICAgICAgcmV0dXJuIChsZW4oeCkgPiBsZW4oeSkpIC0gKGxlbih4KSA8IGxlbih5KSkKLSAgICByZXR1cm4gKHggPiB5KSAtICh4IDwgeSkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHNvY2suY2xvc2UoKQorICAgICAgICAgICAgcmV0dXJuIFRydWUKKyAgICByZXR1cm4gRmFsc2UKKworSVBWNl9FTkFCTEVEID0gX2lzX2lwdjZfZW5hYmxlZCgpCisKKworIyBBIGNvbnN0YW50IGxpa2VseSBsYXJnZXIgdGhhbiB0aGUgdW5kZXJseWluZyBPUyBwaXBlIGJ1ZmZlciBzaXplLgorIyBXaW5kb3dzIGxpbWl0IHNlZW1zIHRvIGJlIGFyb3VuZCA1MTJCLCBhbmQgbW9zdCBVbml4IGtlcm5lbHMgaGF2ZSBhIDY0SyBwaXBlCisjIGJ1ZmZlciBzaXplOiB0YWtlIDFNIHRvIGJlIHN1cmUuCitQSVBFX01BWF9TSVpFID0gMTAyNCAqIDEwMjQKKwogCiAjIGRlY29yYXRvciBmb3Igc2tpcHBpbmcgdGVzdHMgb24gbm9uLUlFRUUgNzU0IHBsYXRmb3JtcwogcmVxdWlyZXNfSUVFRV83NTQgPSB1bml0dGVzdC5za2lwVW5sZXNzKAogICAgIGZsb2F0Ll9fZ2V0Zm9ybWF0X18oImRvdWJsZSIpLnN0YXJ0c3dpdGgoIklFRUUiKSwKICAgICAidGVzdCByZXF1aXJlcyBJRUVFIDc1NCBkb3VibGVzIikKIAorcmVxdWlyZXNfemxpYiA9IHVuaXR0ZXN0LnNraXBVbmxlc3MoemxpYiwgJ3JlcXVpcmVzIHpsaWInKQorCiBpc19qeXRob24gPSBzeXMucGxhdGZvcm0uc3RhcnRzd2l0aCgnamF2YScpCiAKICMgRmlsZW5hbWUgdXNlZCBmb3IgdGVzdGluZwpAQCAtNTQzLDE0ICs2MTYsMTUgQEAKICAgICAgICAgICAgIHJtdHJlZShuYW1lKQogCiAKLUBjb250ZXh0bGliLmNvbnRleHRtYW5hZ2VyCi1kZWYgdGVtcF91bWFzayh1bWFzayk6Ci0gICAgIiIiQ29udGV4dCBtYW5hZ2VyIHRoYXQgdGVtcG9yYXJpbHkgc2V0cyB0aGUgcHJvY2VzcyB1bWFzay4iIiIKLSAgICBvbGRtYXNrID0gb3MudW1hc2sodW1hc2spCi0gICAgdHJ5OgotICAgICAgICB5aWVsZAotICAgIGZpbmFsbHk6Ci0gICAgICAgIG9zLnVtYXNrKG9sZG1hc2spCitpZiBoYXNhdHRyKG9zLCAidW1hc2siKToKKyAgICBAY29udGV4dGxpYi5jb250ZXh0bWFuYWdlcgorICAgIGRlZiB0ZW1wX3VtYXNrKHVtYXNrKToKKyAgICAgICAgIiIiQ29udGV4dCBtYW5hZ2VyIHRoYXQgdGVtcG9yYXJpbHkgc2V0cyB0aGUgcHJvY2VzcyB1bWFzay4iIiIKKyAgICAgICAgb2xkbWFzayA9IG9zLnVtYXNrKHVtYXNrKQorICAgICAgICB0cnk6CisgICAgICAgICAgICB5aWVsZAorICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgb3MudW1hc2sob2xkbWFzaykKIAogCiBkZWYgZmluZGZpbGUoZmlsZSwgaGVyZT1fX2ZpbGVfXywgc3ViZGlyPU5vbmUpOgpAQCAtNTY4LDYgKzY0MiwxMSBAQAogICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cyhmbik6IHJldHVybiBmbgogICAgIHJldHVybiBmaWxlCiAKK2RlZiBjcmVhdGVfZW1wdHlfZmlsZShmaWxlbmFtZSk6CisgICAgIiIiQ3JlYXRlIGFuIGVtcHR5IGZpbGUuIElmIHRoZSBmaWxlIGFscmVhZHkgZXhpc3RzLCB0cnVuY2F0ZSBpdC4iIiIKKyAgICBmZCA9IG9zLm9wZW4oZmlsZW5hbWUsIG9zLk9fV1JPTkxZIHwgb3MuT19DUkVBVCB8IG9zLk9fVFJVTkMpCisgICAgb3MuY2xvc2UoZmQpCisKIGRlZiBzb3J0ZGljdChkaWN0KToKICAgICAiTGlrZSByZXByKGRpY3QpLCBidXQgaW4gc29ydGVkIG9yZGVyLiIKICAgICBpdGVtcyA9IHNvcnRlZChkaWN0Lml0ZW1zKCkpCkBAIC02MzIsNyArNzExLDcgQEAKICAgICBmID0gY2hlY2tfdmFsaWRfZmlsZShmbikKICAgICBpZiBmIGlzIG5vdCBOb25lOgogICAgICAgICByZXR1cm4gZgotICAgIHJhaXNlIFRlc3RGYWlsZWQoJ2ludmFsaWQgcmVzb3VyY2UgIiVzIicgJSBmbikKKyAgICByYWlzZSBUZXN0RmFpbGVkKCdpbnZhbGlkIHJlc291cmNlICVyJyAlIGZuKQogCiAKIGNsYXNzIFdhcm5pbmdzUmVjb3JkZXIob2JqZWN0KToKQEAgLTc1Myw3ICs4MzIsNyBAQAogICAgICAgICBzeXMubW9kdWxlcy51cGRhdGUoc2VsZi5vcmlnaW5hbF9tb2R1bGVzKQogCiAKLWNsYXNzIEVudmlyb25tZW50VmFyR3VhcmQoY29sbGVjdGlvbnMuTXV0YWJsZU1hcHBpbmcpOgorY2xhc3MgRW52aXJvbm1lbnRWYXJHdWFyZChjb2xsZWN0aW9ucy5hYmMuTXV0YWJsZU1hcHBpbmcpOgogCiAgICAgIiIiQ2xhc3MgdG8gaGVscCBwcm90ZWN0IHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSBwcm9wZXJseS4gIENhbiBiZSB1c2VkIGFzCiAgICAgYSBjb250ZXh0IG1hbmFnZXIuIiIiCkBAIC04ODQsNyArOTYzLDcgQEAKICAgICAgICAgKCdXU0FOT19EQVRBJywgMTEwMDQpLAogICAgIF0KIAotICAgIGRlbmllZCA9IFJlc291cmNlRGVuaWVkKCJSZXNvdXJjZSAnJXMnIGlzIG5vdCBhdmFpbGFibGUiICUgcmVzb3VyY2VfbmFtZSkKKyAgICBkZW5pZWQgPSBSZXNvdXJjZURlbmllZCgiUmVzb3VyY2UgJXIgaXMgbm90IGF2YWlsYWJsZSIgJSByZXNvdXJjZV9uYW1lKQogICAgIGNhcHR1cmVkX2Vycm5vcyA9IGVycm5vcwogICAgIGdhaV9lcnJub3MgPSBbXQogICAgIGlmIG5vdCBjYXB0dXJlZF9lcnJub3M6CkBAIC05NzMsNiArMTA1MiwxNiBAQAogICAgIGdjLmNvbGxlY3QoKQogICAgIGdjLmNvbGxlY3QoKQogCitAY29udGV4dGxpYi5jb250ZXh0bWFuYWdlcgorZGVmIGRpc2FibGVfZ2MoKToKKyAgICBoYXZlX2djID0gZ2MuaXNlbmFibGVkKCkKKyAgICBnYy5kaXNhYmxlKCkKKyAgICB0cnk6CisgICAgICAgIHlpZWxkCisgICAgZmluYWxseToKKyAgICAgICAgaWYgaGF2ZV9nYzoKKyAgICAgICAgICAgIGdjLmVuYWJsZSgpCisKIAogZGVmIHB5dGhvbl9pc19vcHRpbWl6ZWQoKToKICAgICAiIiJGaW5kIGlmIFB5dGhvbiB3YXMgYnVpbHQgd2l0aCBvcHRpbWl6YXRpb25zLiIiIgpAQCAtOTgxLDcgKzEwNzAsNyBAQAogICAgIGZvciBvcHQgaW4gY2ZsYWdzLnNwbGl0KCk6CiAgICAgICAgIGlmIG9wdC5zdGFydHN3aXRoKCctTycpOgogICAgICAgICAgICAgZmluYWxfb3B0ID0gb3B0Ci0gICAgcmV0dXJuIGZpbmFsX29wdCBhbmQgZmluYWxfb3B0ICE9ICctTzAnCisgICAgcmV0dXJuIGZpbmFsX29wdCAhPSAnJyBhbmQgZmluYWxfb3B0ICE9ICctTzAnCiAKIAogIz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkBAIC0xMDU0LDQxICsxMTQzLDcxIEBACiAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoJ01lbW9yeSBsaW1pdCAlciB0b28gbG93IHRvIGJlIHVzZWZ1bCcgJSAobGltaXQsKSkKICAgICBtYXhfbWVtdXNlID0gbWVtbGltaXQKIAotZGVmIF9tZW1vcnlfd2F0Y2hkb2coc3RhcnRfZXZ0LCBmaW5pc2hfZXZ0LCBwZXJpb2Q9MTAuMCk6Ci0gICAgIiIiQSBmdW5jdGlvbiB3aGljaCBwZXJpb2RpY2FsbHkgd2F0Y2hlcyB0aGUgcHJvY2VzcycgbWVtb3J5IGNvbnN1bXB0aW9uCitjbGFzcyBfTWVtb3J5V2F0Y2hkb2c6CisgICAgIiIiQW4gb2JqZWN0IHdoaWNoIHBlcmlvZGljYWxseSB3YXRjaGVzIHRoZSBwcm9jZXNzJyBtZW1vcnkgY29uc3VtcHRpb24KICAgICBhbmQgcHJpbnRzIGl0IG91dC4KICAgICAiIiIKLSAgICAjIFhYWDogYmVjYXVzZSBvZiB0aGUgR0lMLCBhbmQgYmVjYXVzZSB0aGUgdmVyeSBsb25nIG9wZXJhdGlvbnMgdGVzdGVkCi0gICAgIyBpbiBtb3N0IGJpZ21lbSB0ZXN0cyBhcmUgdW5pbnRlcnJ1cHRpYmxlLCB0aGUgbG9vcCBiZWxvdyBnZXRzIHdva2VuIHVwCi0gICAgIyBtdWNoIGxlc3Mgb2Z0ZW4gdGhhbiBleHBlY3RlZC4KLSAgICAjIFRoZSBwb2xsaW5nIGNvZGUgc2hvdWxkIGJlIHJld3JpdHRlbiBpbiByYXcgQywgd2l0aG91dCBob2xkaW5nIHRoZSBHSUwsCi0gICAgIyBhbmQgcHVzaCByZXN1bHRzIG9udG8gYW4gYW5vbnltb3VzIHBpcGUuCi0gICAgdHJ5OgotICAgICAgICBwYWdlX3NpemUgPSBvcy5zeXNjb25mKCdTQ19QQUdFU0laRScpCi0gICAgZXhjZXB0IChWYWx1ZUVycm9yLCBBdHRyaWJ1dGVFcnJvcik6CisKKyAgICBkZWYgX19pbml0X18oc2VsZik6CisgICAgICAgIHNlbGYucHJvY2ZpbGUgPSAnL3Byb2Mve3BpZH0vc3RhdG0nLmZvcm1hdChwaWQ9b3MuZ2V0cGlkKCkpCisgICAgICAgIHNlbGYuc3RhcnRlZCA9IEZhbHNlCisgICAgICAgIHNlbGYudGhyZWFkID0gTm9uZQogICAgICAgICB0cnk6Ci0gICAgICAgICAgICBwYWdlX3NpemUgPSBvcy5zeXNjb25mKCdTQ19QQUdFX1NJWkUnKQorICAgICAgICAgICAgc2VsZi5wYWdlX3NpemUgPSBvcy5zeXNjb25mKCdTQ19QQUdFU0laRScpCiAgICAgICAgIGV4Y2VwdCAoVmFsdWVFcnJvciwgQXR0cmlidXRlRXJyb3IpOgotICAgICAgICAgICAgcGFnZV9zaXplID0gNDA5NgotICAgIHByb2NmaWxlID0gJy9wcm9jL3twaWR9L3N0YXRtJy5mb3JtYXQocGlkPW9zLmdldHBpZCgpKQotICAgIHRyeToKLSAgICAgICAgZiA9IG9wZW4ocHJvY2ZpbGUsICdyYicpCi0gICAgZXhjZXB0IElPRXJyb3IgYXMgZToKLSAgICAgICAgd2FybmluZ3Mud2FybignL3Byb2Mgbm90IGF2YWlsYWJsZSBmb3Igc3RhdHM6IHt9Jy5mb3JtYXQoZSksCi0gICAgICAgICAgICAgICAgICAgICAgUnVudGltZVdhcm5pbmcpCi0gICAgICAgIHN5cy5zdGRlcnIuZmx1c2goKQotICAgICAgICByZXR1cm4KLSAgICB3aXRoIGY6Ci0gICAgICAgIHN0YXJ0X2V2dC5zZXQoKQotICAgICAgICBvbGRfZGF0YSA9IC0xCi0gICAgICAgIHdoaWxlIG5vdCBmaW5pc2hfZXZ0LndhaXQocGVyaW9kKToKLSAgICAgICAgICAgIGYuc2VlaygwKQotICAgICAgICAgICAgc3RhdG0gPSBmLnJlYWQoKS5kZWNvZGUoJ2FzY2lpJykKLSAgICAgICAgICAgIGRhdGEgPSBpbnQoc3RhdG0uc3BsaXQoKVs1XSkKLSAgICAgICAgICAgIGlmIGRhdGEgIT0gb2xkX2RhdGE6Ci0gICAgICAgICAgICAgICAgb2xkX2RhdGEgPSBkYXRhCisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgc2VsZi5wYWdlX3NpemUgPSBvcy5zeXNjb25mKCdTQ19QQUdFX1NJWkUnKQorICAgICAgICAgICAgZXhjZXB0IChWYWx1ZUVycm9yLCBBdHRyaWJ1dGVFcnJvcik6CisgICAgICAgICAgICAgICAgc2VsZi5wYWdlX3NpemUgPSA0MDk2CisKKyAgICBkZWYgY29uc3VtZXIoc2VsZiwgZmQpOgorICAgICAgICBIRUFERVIgPSAibCIKKyAgICAgICAgaGVhZGVyX3NpemUgPSBzdHJ1Y3QuY2FsY3NpemUoSEVBREVSKQorICAgICAgICB0cnk6CisgICAgICAgICAgICB3aGlsZSBUcnVlOgorICAgICAgICAgICAgICAgIGhlYWRlciA9IG9zLnJlYWQoZmQsIGhlYWRlcl9zaXplKQorICAgICAgICAgICAgICAgIGlmIGxlbihoZWFkZXIpIDwgaGVhZGVyX3NpemU6CisgICAgICAgICAgICAgICAgICAgICMgUGlwZSBjbG9zZWQgb24gb3RoZXIgZW5kCisgICAgICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgICAgICAgICAgZGF0YV9sZW4sID0gc3RydWN0LnVucGFjayhIRUFERVIsIGhlYWRlcikKKyAgICAgICAgICAgICAgICBkYXRhID0gb3MucmVhZChmZCwgZGF0YV9sZW4pCisgICAgICAgICAgICAgICAgc3RhdG0gPSBkYXRhLmRlY29kZSgnYXNjaWknKQorICAgICAgICAgICAgICAgIGRhdGEgPSBpbnQoc3RhdG0uc3BsaXQoKVs1XSkKICAgICAgICAgICAgICAgICBwcmludCgiIC4uLiBwcm9jZXNzIGRhdGEgc2l6ZToge2RhdGE6LjFmfUciCi0gICAgICAgICAgICAgICAgICAgICAgIC5mb3JtYXQoZGF0YT1kYXRhICogcGFnZV9zaXplIC8gKDEwMjQgKiogMykpKQorICAgICAgICAgICAgICAgICAgICAgICAuZm9ybWF0KGRhdGE9ZGF0YSAqIHNlbGYucGFnZV9zaXplIC8gKDEwMjQgKiogMykpKQorICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgb3MuY2xvc2UoZmQpCisKKyAgICBkZWYgc3RhcnQoc2VsZik6CisgICAgICAgIGlmIG5vdCBmYXVsdGhhbmRsZXIgb3Igbm90IGhhc2F0dHIoZmF1bHRoYW5kbGVyLCAnX2ZpbGVfd2F0Y2hkb2cnKToKKyAgICAgICAgICAgIHJldHVybgorICAgICAgICB0cnk6CisgICAgICAgICAgICByZmQgPSBvcy5vcGVuKHNlbGYucHJvY2ZpbGUsIG9zLk9fUkRPTkxZKQorICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlOgorICAgICAgICAgICAgd2FybmluZ3Mud2FybignL3Byb2Mgbm90IGF2YWlsYWJsZSBmb3Igc3RhdHM6IHt9Jy5mb3JtYXQoZSksCisgICAgICAgICAgICAgICAgICAgICAgICAgIFJ1bnRpbWVXYXJuaW5nKQorICAgICAgICAgICAgc3lzLnN0ZGVyci5mbHVzaCgpCisgICAgICAgICAgICByZXR1cm4KKyAgICAgICAgcGlwZV9mZCwgd2ZkID0gb3MucGlwZSgpCisgICAgICAgICMgc2V0IHRoZSB3cml0ZSBlbmQgb2YgdGhlIHBpcGUgbm9uLWJsb2NraW5nIHRvIGF2b2lkIGJsb2NraW5nIHRoZQorICAgICAgICAjIHdhdGNoZG9nIHRocmVhZCB3aGVuIHRoZSBjb25zdW1lciBkb2Vzbid0IGRyYWluIHRoZSBwaXBlIGZhc3QgZW5vdWdoCisgICAgICAgIGlmIGZjbnRsOgorICAgICAgICAgICAgZmxhZ3MgPSBmY250bC5mY250bCh3ZmQsIGZjbnRsLkZfR0VURkwpCisgICAgICAgICAgICBmY250bC5mY250bCh3ZmQsIGZjbnRsLkZfU0VURkwsIGZsYWdzfG9zLk9fTk9OQkxPQ0spCisgICAgICAgICMgX2ZpbGVfd2F0Y2hkb2coKSBkb2Vzbid0IHRha2UgdGhlIEdJTCBpbiBpdHMgY2hpbGQgdGhyZWFkLCBhbmQKKyAgICAgICAgIyB0aGVyZWZvcmUgY29sbGVjdHMgc3RhdGlzdGljcyB0aW1lbHkKKyAgICAgICAgZmF1bHRoYW5kbGVyLl9maWxlX3dhdGNoZG9nKHJmZCwgd2ZkLCAxLjApCisgICAgICAgIHNlbGYuc3RhcnRlZCA9IFRydWUKKyAgICAgICAgc2VsZi50aHJlYWQgPSB0aHJlYWRpbmcuVGhyZWFkKHRhcmdldD1zZWxmLmNvbnN1bWVyLCBhcmdzPShwaXBlX2ZkLCkpCisgICAgICAgIHNlbGYudGhyZWFkLmRhZW1vbiA9IFRydWUKKyAgICAgICAgc2VsZi50aHJlYWQuc3RhcnQoKQorCisgICAgZGVmIHN0b3Aoc2VsZik6CisgICAgICAgIGlmIG5vdCBzZWxmLnN0YXJ0ZWQ6CisgICAgICAgICAgICByZXR1cm4KKyAgICAgICAgZmF1bHRoYW5kbGVyLl9jYW5jZWxfZmlsZV93YXRjaGRvZygpCisgICAgICAgIHNlbGYudGhyZWFkLmpvaW4oKQorCiAKIGRlZiBiaWdtZW10ZXN0KHNpemUsIG1lbXVzZSwgZHJ5X3J1bj1UcnVlKToKICAgICAiIiJEZWNvcmF0b3IgZm9yIGJpZ21lbSB0ZXN0cy4KQEAgLTExMTUsMjcgKzEyMzQsMjAgQEAKICAgICAgICAgICAgICAgICAgICAgIm5vdCBlbm91Z2ggbWVtb3J5OiAlLjFmRyBtaW5pbXVtIG5lZWRlZCIKICAgICAgICAgICAgICAgICAgICAgJSAoc2l6ZSAqIG1lbXVzZSAvICgxMDI0ICoqIDMpKSkKIAotICAgICAgICAgICAgaWYgcmVhbF9tYXhfbWVtdXNlIGFuZCB2ZXJib3NlIGFuZCB0aHJlYWRpbmc6CisgICAgICAgICAgICBpZiByZWFsX21heF9tZW11c2UgYW5kIHZlcmJvc2UgYW5kIGZhdWx0aGFuZGxlciBhbmQgdGhyZWFkaW5nOgogICAgICAgICAgICAgICAgIHByaW50KCkKICAgICAgICAgICAgICAgICBwcmludCgiIC4uLiBleHBlY3RlZCBwZWFrIG1lbW9yeSB1c2U6IHtwZWFrOi4xZn1HIgogICAgICAgICAgICAgICAgICAgICAgIC5mb3JtYXQocGVhaz1zaXplICogbWVtdXNlIC8gKDEwMjQgKiogMykpKQotICAgICAgICAgICAgICAgIHN5cy5zdGRvdXQuZmx1c2goKQotICAgICAgICAgICAgICAgIHN0YXJ0X2V2dCA9IHRocmVhZGluZy5FdmVudCgpCi0gICAgICAgICAgICAgICAgZmluaXNoX2V2dCA9IHRocmVhZGluZy5FdmVudCgpCi0gICAgICAgICAgICAgICAgdCA9IHRocmVhZGluZy5UaHJlYWQodGFyZ2V0PV9tZW1vcnlfd2F0Y2hkb2csCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJncz0oc3RhcnRfZXZ0LCBmaW5pc2hfZXZ0LCAwLjUpKQotICAgICAgICAgICAgICAgIHQuZGFlbW9uID0gVHJ1ZQotICAgICAgICAgICAgICAgIHQuc3RhcnQoKQotICAgICAgICAgICAgICAgIHN0YXJ0X2V2dC5zZXQoKQorICAgICAgICAgICAgICAgIHdhdGNoZG9nID0gX01lbW9yeVdhdGNoZG9nKCkKKyAgICAgICAgICAgICAgICB3YXRjaGRvZy5zdGFydCgpCiAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHQgPSBOb25lCisgICAgICAgICAgICAgICAgd2F0Y2hkb2cgPSBOb25lCiAKICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICByZXR1cm4gZihzZWxmLCBtYXhzaXplKQogICAgICAgICAgICAgZmluYWxseToKLSAgICAgICAgICAgICAgICBpZiB0OgotICAgICAgICAgICAgICAgICAgICBmaW5pc2hfZXZ0LnNldCgpCi0gICAgICAgICAgICAgICAgICAgIHQuam9pbigpCisgICAgICAgICAgICAgICAgaWYgd2F0Y2hkb2c6CisgICAgICAgICAgICAgICAgICAgIHdhdGNoZG9nLnN0b3AoKQogCiAgICAgICAgIHdyYXBwZXIuc2l6ZSA9IHNpemUKICAgICAgICAgd3JhcHBlci5tZW11c2UgPSBtZW11c2UKQEAgLTEyMTcsNiArMTMyOSwzMyBAQAogICAgIHJldHVybiBndWFyZHMuZ2V0KHBsYXRmb3JtLnB5dGhvbl9pbXBsZW1lbnRhdGlvbigpLmxvd2VyKCksIGRlZmF1bHQpCiAKIAorZGVmIG5vX3RyYWNpbmcoZnVuYyk6CisgICAgIiIiRGVjb3JhdG9yIHRvIHRlbXBvcmFyaWx5IHR1cm4gb2ZmIHRyYWNpbmcgZm9yIHRoZSBkdXJhdGlvbiBvZiBhIHRlc3QuIiIiCisgICAgaWYgbm90IGhhc2F0dHIoc3lzLCAnZ2V0dHJhY2UnKToKKyAgICAgICAgcmV0dXJuIGZ1bmMKKyAgICBlbHNlOgorICAgICAgICBAZnVuY3Rvb2xzLndyYXBzKGZ1bmMpCisgICAgICAgIGRlZiB3cmFwcGVyKCphcmdzLCAqKmt3YXJncyk6CisgICAgICAgICAgICBvcmlnaW5hbF90cmFjZSA9IHN5cy5nZXR0cmFjZSgpCisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgc3lzLnNldHRyYWNlKE5vbmUpCisgICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmMoKmFyZ3MsICoqa3dhcmdzKQorICAgICAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgICAgICBzeXMuc2V0dHJhY2Uob3JpZ2luYWxfdHJhY2UpCisgICAgICAgIHJldHVybiB3cmFwcGVyCisKKworZGVmIHJlZmNvdW50X3Rlc3QodGVzdCk6CisgICAgIiIiRGVjb3JhdG9yIGZvciB0ZXN0cyB3aGljaCBpbnZvbHZlIHJlZmVyZW5jZSBjb3VudGluZy4KKworICAgIFRvIHN0YXJ0LCB0aGUgZGVjb3JhdG9yIGRvZXMgbm90IHJ1biB0aGUgdGVzdCBpZiBpcyBub3QgcnVuIGJ5IENQeXRob24uCisgICAgQWZ0ZXIgdGhhdCwgYW55IHRyYWNlIGZ1bmN0aW9uIGlzIHVuc2V0IGR1cmluZyB0aGUgdGVzdCB0byBwcmV2ZW50CisgICAgdW5leHBlY3RlZCByZWZjb3VudHMgY2F1c2VkIGJ5IHRoZSB0cmFjZSBmdW5jdGlvbi4KKworICAgICIiIgorICAgIHJldHVybiBub190cmFjaW5nKGNweXRob25fb25seSh0ZXN0KSkKKworCiBkZWYgX2ZpbHRlcl9zdWl0ZShzdWl0ZSwgcHJlZCk6CiAgICAgIiIiUmVjdXJzaXZlbHkgZmlsdGVyIHRlc3QgY2FzZXMgaW4gYSBzdWl0ZSBiYXNlZCBvbiBhIHByZWRpY2F0ZS4iIiIKICAgICBuZXd0ZXN0cyA9IFtdCkBAIC0xMjI5LDcgKzEzNjgsNiBAQAogICAgICAgICAgICAgICAgIG5ld3Rlc3RzLmFwcGVuZCh0ZXN0KQogICAgIHN1aXRlLl90ZXN0cyA9IG5ld3Rlc3RzCiAKLQogZGVmIF9ydW5fc3VpdGUoc3VpdGUpOgogICAgICIiIlJ1biB0ZXN0cyBmcm9tIGEgdW5pdHRlc3QuVGVzdFN1aXRlLWRlcml2ZWQgY2xhc3MuIiIiCiAgICAgaWYgdmVyYm9zZToKQEAgLTE0NTYsNyArMTU5NCw3IEBACiAKIGRlZiBhcmdzX2Zyb21faW50ZXJwcmV0ZXJfZmxhZ3MoKToKICAgICAiIiJSZXR1cm4gYSBsaXN0IG9mIGNvbW1hbmQtbGluZSBhcmd1bWVudHMgcmVwcm9kdWNpbmcgdGhlIGN1cnJlbnQKLSAgICBzZXR0aW5ncyBpbiBzeXMuZmxhZ3MuIiIiCisgICAgc2V0dGluZ3MgaW4gc3lzLmZsYWdzIGFuZCBzeXMud2Fybm9wdGlvbnMuIiIiCiAgICAgZmxhZ19vcHRfbWFwID0gewogICAgICAgICAnYnl0ZXNfd2FybmluZyc6ICdiJywKICAgICAgICAgJ2RvbnRfd3JpdGVfYnl0ZWNvZGUnOiAnQicsCkBAIC0xNDcyLDYgKzE2MTAsOCBAQAogICAgICAgICB2ID0gZ2V0YXR0cihzeXMuZmxhZ3MsIGZsYWcpCiAgICAgICAgIGlmIHYgPiAwOgogICAgICAgICAgICAgYXJncy5hcHBlbmQoJy0nICsgb3B0ICogdikKKyAgICBmb3Igb3B0IGluIHN5cy53YXJub3B0aW9uczoKKyAgICAgICAgYXJncy5hcHBlbmQoJy1XJyArIG9wdCkKICAgICByZXR1cm4gYXJncwogCiAjPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X19sb2NhbGUucHkgYi9MaWIvdGVzdC90ZXN0X19sb2NhbGUucHkKaW5kZXggM2ZhZGI1Ny4uZjdmMWFiZCAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9fbG9jYWxlLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfX2xvY2FsZS5weQpAQCAtMSwxMyArMSwxNSBAQAotZnJvbSB0ZXN0LnN1cHBvcnQgaW1wb3J0IHJ1bl91bml0dGVzdAogZnJvbSBfbG9jYWxlIGltcG9ydCAoc2V0bG9jYWxlLCBMQ19BTEwsIExDX0NUWVBFLCBMQ19OVU1FUklDLCBsb2NhbGVjb252LCBFcnJvcikKIHRyeToKICAgICBmcm9tIF9sb2NhbGUgaW1wb3J0IChSQURJWENIQVIsIFRIT1VTRVAsIG5sX2xhbmdpbmZvKQogZXhjZXB0IEltcG9ydEVycm9yOgogICAgIG5sX2xhbmdpbmZvID0gTm9uZQogCi1pbXBvcnQgdW5pdHRlc3QKK2ltcG9ydCBjb2RlY3MKK2ltcG9ydCBsb2NhbGUKIGltcG9ydCBzeXMKK2ltcG9ydCB1bml0dGVzdAogZnJvbSBwbGF0Zm9ybSBpbXBvcnQgdW5hbWUKK2Zyb20gdGVzdC5zdXBwb3J0IGltcG9ydCBydW5fdW5pdHRlc3QKIAogaWYgdW5hbWUoKVswXSA9PSAiRGFyd2luIjoKICAgICBtYWosIG1pbiwgbWljID0gW2ludChwYXJ0KSBmb3IgcGFydCBpbiB1bmFtZSgpWzJdLnNwbGl0KCIuIildCkBAIC0xNyw3ICsxOSw3IEBACiBjYW5kaWRhdGVfbG9jYWxlcyA9IFsnZXNfVVknLCAnZnJfRlInLCAnZmlfRkknLCAnZXNfQ08nLCAncHRfUFQnLCAnaXRfSVQnLAogICAgICdldF9FRScsICdlc19QWScsICdub19OTycsICdubF9OTCcsICdsdl9MVicsICdlbF9HUicsICdiZV9CWScsICdmcl9CRScsCiAgICAgJ3JvX1JPJywgJ3J1X1VBJywgJ3J1X1JVJywgJ2VzX1ZFJywgJ2NhX0VTJywgJ3NlX05PJywgJ2VzX0VDJywgJ2lkX0lEJywKLSAgICAna2FfR0UnLCAnZXNfQ0wnLCAnaHVfSFUnLCAnd2FfQkUnLCAnbHRfTFQnLCAnc2xfU0knLCAnaHJfSFInLCAnZXNfQVInLAorICAgICdrYV9HRScsICdlc19DTCcsICd3YV9CRScsICdodV9IVScsICdsdF9MVCcsICdzbF9TSScsICdocl9IUicsICdlc19BUicsCiAgICAgJ2VzX0VTJywgJ29jX0ZSJywgJ2dsX0VTJywgJ2JnX0JHJywgJ2lzX0lTJywgJ21rX01LJywgJ2RlX0FUJywgJ3B0X0JSJywKICAgICAnZGFfREsnLCAnbm5fTk8nLCAnY3NfQ1onLCAnZGVfTFUnLCAnZXNfQk8nLCAnc3FfQUwnLCAnc2tfU0snLCAnZnJfQ0gnLAogICAgICdkZV9ERScsICdzcl9ZVScsICdicl9GUicsICdubF9CRScsICdzdl9GSScsICdwbF9QTCcsICdmcl9DQScsICdmb19GTycsCkBAIC0yNSw2ICsyNywzMSBAQAogICAgICdldV9FUycsICd2aV9WTicsICdhZl9aQScsICduYl9OTycsICdlbl9ESycsICd0Z19USicsICdlbl9VUycsCiAgICAgJ2VzX0VTLklTTzg4NTktMScsICdmcl9GUi5JU084ODU5LTE1JywgJ3J1X1JVLktPSTgtUicsICdrb19LUi5ldWNLUiddCiAKKyMgSXNzdWUgIzEzNDQxOiBTa2lwIHNvbWUgbG9jYWxlcyAoZS5nLiBjc19DWiBhbmQgaHVfSFUpIG9uIFNvbGFyaXMgdG8KKyMgd29ya2Fyb3VuZCBhIG1ic3Rvd2NzKCkgYnVnLiBGb3IgZXhhbXBsZSwgb24gU29sYXJpcywgdGhlIGh1X0hVIGxvY2FsZSB1c2VzCisjIHRoZSBsb2NhbGUgZW5jb2RpbmcgSVNPLTg4NTktMiwgdGhlIHRob3VzYXVkcyBzZXBhcmF0b3IgaXMgYidceEEwJyBhbmQgaXQgaXMKKyMgZGVjb2RlZCBhcyBVKzMwMDAwMDIwIChhbiBpbnZhbGlkIGNoYXJhY3RlcikgYnkgbWJzdG93Y3MoKS4KK2lmIHN5cy5wbGF0Zm9ybSA9PSAnc3Vub3M1JzoKKyAgICBvbGRfbG9jYWxlID0gbG9jYWxlLnNldGxvY2FsZShsb2NhbGUuTENfQUxMKQorICAgIHRyeToKKyAgICAgICAgbG9jYWxlcyA9IFtdCisgICAgICAgIGZvciBsb2MgaW4gY2FuZGlkYXRlX2xvY2FsZXM6CisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgbG9jYWxlLnNldGxvY2FsZShsb2NhbGUuTENfQUxMLCBsb2MpCisgICAgICAgICAgICBleGNlcHQgRXJyb3I6CisgICAgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgICAgIGVuY29kaW5nID0gbG9jYWxlLmdldHByZWZlcnJlZGVuY29kaW5nKEZhbHNlKQorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIGxvY2FsZWNvbnYoKQorICAgICAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlcnI6CisgICAgICAgICAgICAgICAgcHJpbnQoIldBUk5JTkc6IFNraXAgbG9jYWxlICVzIChlbmNvZGluZyAlcyk6IFslc10gJXMiCisgICAgICAgICAgICAgICAgICAgICAgJSAobG9jLCBlbmNvZGluZywgdHlwZShlcnIpLCBlcnIpKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBsb2NhbGVzLmFwcGVuZChsb2MpCisgICAgICAgIGNhbmRpZGF0ZV9sb2NhbGVzID0gbG9jYWxlcworICAgIGZpbmFsbHk6CisgICAgICAgIGxvY2FsZS5zZXRsb2NhbGUobG9jYWxlLkxDX0FMTCwgb2xkX2xvY2FsZSkKKwogIyBXb3JrYXJvdW5kIGZvciBNU1ZDNihkZWJ1ZykgY3Jhc2ggYnVnCiBpZiAiTVNDIHYuMTIwMCIgaW4gc3lzLnZlcnNpb246CiAgICAgZGVmIGFjY2VwdChsb2MpOgpAQCAtODYsOSArMTEzLDEwIEBACiAgICAgICAgICAgICAgICAgc2V0bG9jYWxlKExDX0NUWVBFLCBsb2MpCiAgICAgICAgICAgICBleGNlcHQgRXJyb3I6CiAgICAgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgICAgIGZvcm1hdHRpbmcgPSBsb2NhbGVjb252KCkKICAgICAgICAgICAgIGZvciBsYyBpbiAoImRlY2ltYWxfcG9pbnQiLAogICAgICAgICAgICAgICAgICAgICAgICAgInRob3VzYW5kc19zZXAiKToKLSAgICAgICAgICAgICAgICBzZWxmLm51bWVyaWNfdGVzdGVyKCdsb2NhbGVjb252JywgbG9jYWxlY29udigpW2xjXSwgbGMsIGxvYykKKyAgICAgICAgICAgICAgICBzZWxmLm51bWVyaWNfdGVzdGVyKCdsb2NhbGVjb252JywgZm9ybWF0dGluZ1tsY10sIGxjLCBsb2MpCiAKICAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhubF9sYW5naW5mbywgIm5sX2xhbmdpbmZvIGlzIG5vdCBhdmFpbGFibGUiKQogICAgIGRlZiB0ZXN0X2xjX251bWVyaWNfYmFzaWMoc2VsZik6CmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2FiYy5weSBiL0xpYi90ZXN0L3Rlc3RfYWJjLnB5CmluZGV4IGQ4NmY5N2MuLjY1M2M5NTcgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfYWJjLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfYWJjLnB5CkBAIC0xMCwxNCArMTAsNyBAQAogZnJvbSBpbnNwZWN0IGltcG9ydCBpc2Fic3RyYWN0CiAKIAotY2xhc3MgVGVzdEFCQyh1bml0dGVzdC5UZXN0Q2FzZSk6Ci0KLSAgICBkZWYgdGVzdF9hYnN0cmFjdG1ldGhvZF9iYXNpY3Moc2VsZik6Ci0gICAgICAgIEBhYmMuYWJzdHJhY3RtZXRob2QKLSAgICAgICAgZGVmIGZvbyhzZWxmKTogcGFzcwotICAgICAgICBzZWxmLmFzc2VydFRydWUoZm9vLl9faXNhYnN0cmFjdG1ldGhvZF9fKQotICAgICAgICBkZWYgYmFyKHNlbGYpOiBwYXNzCi0gICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoaGFzYXR0cihiYXIsICJfX2lzYWJzdHJhY3RtZXRob2RfXyIpKQorY2xhc3MgVGVzdExlZ2FjeUFQSSh1bml0dGVzdC5UZXN0Q2FzZSk6CiAKICAgICBkZWYgdGVzdF9hYnN0cmFjdHByb3BlcnR5X2Jhc2ljcyhzZWxmKToKICAgICAgICAgQGFiYy5hYnN0cmFjdHByb3BlcnR5CkBAIC0yOSwxMCArMjIsMTIgQEAKICAgICAgICAgY2xhc3MgQyhtZXRhY2xhc3M9YWJjLkFCQ01ldGEpOgogICAgICAgICAgICAgQGFiYy5hYnN0cmFjdHByb3BlcnR5CiAgICAgICAgICAgICBkZWYgZm9vKHNlbGYpOiByZXR1cm4gMworICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIEMpCiAgICAgICAgIGNsYXNzIEQoQyk6CiAgICAgICAgICAgICBAcHJvcGVydHkKICAgICAgICAgICAgIGRlZiBmb28oc2VsZik6IHJldHVybiBzdXBlcigpLmZvbwogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKEQoKS5mb28sIDMpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoZ2V0YXR0cihELmZvbywgIl9faXNhYnN0cmFjdG1ldGhvZF9fIiwgRmFsc2UpKQogCiAgICAgZGVmIHRlc3RfYWJzdHJhY3RjbGFzc21ldGhvZF9iYXNpY3Moc2VsZik6CiAgICAgICAgIEBhYmMuYWJzdHJhY3RjbGFzc21ldGhvZApAQCAtNDAsNyArMzUsNyBAQAogICAgICAgICBzZWxmLmFzc2VydFRydWUoZm9vLl9faXNhYnN0cmFjdG1ldGhvZF9fKQogICAgICAgICBAY2xhc3NtZXRob2QKICAgICAgICAgZGVmIGJhcihjbHMpOiBwYXNzCi0gICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoaGFzYXR0cihiYXIsICJfX2lzYWJzdHJhY3RtZXRob2RfXyIpKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGdldGF0dHIoYmFyLCAiX19pc2Fic3RyYWN0bWV0aG9kX18iLCBGYWxzZSkpCiAKICAgICAgICAgY2xhc3MgQyhtZXRhY2xhc3M9YWJjLkFCQ01ldGEpOgogICAgICAgICAgICAgQGFiYy5hYnN0cmFjdGNsYXNzbWV0aG9kCkBAIC01OCw3ICs1Myw3IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShmb28uX19pc2Fic3RyYWN0bWV0aG9kX18pCiAgICAgICAgIEBzdGF0aWNtZXRob2QKICAgICAgICAgZGVmIGJhcigpOiBwYXNzCi0gICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoaGFzYXR0cihiYXIsICJfX2lzYWJzdHJhY3RtZXRob2RfXyIpKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGdldGF0dHIoYmFyLCAiX19pc2Fic3RyYWN0bWV0aG9kX18iLCBGYWxzZSkpCiAKICAgICAgICAgY2xhc3MgQyhtZXRhY2xhc3M9YWJjLkFCQ01ldGEpOgogICAgICAgICAgICAgQGFiYy5hYnN0cmFjdHN0YXRpY21ldGhvZApAQCAtOTgsNiArOTMsMTYzIEBACiAgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIEYpICAjIGJlY2F1c2UgYmFyIGlzIGFic3RyYWN0IG5vdwogICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGlzYWJzdHJhY3QoRikpCiAKKworY2xhc3MgVGVzdEFCQyh1bml0dGVzdC5UZXN0Q2FzZSk6CisKKyAgICBkZWYgdGVzdF9hYnN0cmFjdG1ldGhvZF9iYXNpY3Moc2VsZik6CisgICAgICAgIEBhYmMuYWJzdHJhY3RtZXRob2QKKyAgICAgICAgZGVmIGZvbyhzZWxmKTogcGFzcworICAgICAgICBzZWxmLmFzc2VydFRydWUoZm9vLl9faXNhYnN0cmFjdG1ldGhvZF9fKQorICAgICAgICBkZWYgYmFyKHNlbGYpOiBwYXNzCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoaGFzYXR0cihiYXIsICJfX2lzYWJzdHJhY3RtZXRob2RfXyIpKQorCisgICAgZGVmIHRlc3RfYWJzdHJhY3Rwcm9wZXJ0eV9iYXNpY3Moc2VsZik6CisgICAgICAgIEBwcm9wZXJ0eQorICAgICAgICBAYWJjLmFic3RyYWN0bWV0aG9kCisgICAgICAgIGRlZiBmb28oc2VsZik6IHBhc3MKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGZvby5fX2lzYWJzdHJhY3RtZXRob2RfXykKKyAgICAgICAgZGVmIGJhcihzZWxmKTogcGFzcworICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGdldGF0dHIoYmFyLCAiX19pc2Fic3RyYWN0bWV0aG9kX18iLCBGYWxzZSkpCisKKyAgICAgICAgY2xhc3MgQyhtZXRhY2xhc3M9YWJjLkFCQ01ldGEpOgorICAgICAgICAgICAgQHByb3BlcnR5CisgICAgICAgICAgICBAYWJjLmFic3RyYWN0bWV0aG9kCisgICAgICAgICAgICBkZWYgZm9vKHNlbGYpOiByZXR1cm4gMworICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIEMpCisgICAgICAgIGNsYXNzIEQoQyk6CisgICAgICAgICAgICBAQy5mb28uZ2V0dGVyCisgICAgICAgICAgICBkZWYgZm9vKHNlbGYpOiByZXR1cm4gc3VwZXIoKS5mb28KKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChEKCkuZm9vLCAzKQorCisgICAgZGVmIHRlc3RfYWJzdHJhY3RjbGFzc21ldGhvZF9iYXNpY3Moc2VsZik6CisgICAgICAgIEBjbGFzc21ldGhvZAorICAgICAgICBAYWJjLmFic3RyYWN0bWV0aG9kCisgICAgICAgIGRlZiBmb28oY2xzKTogcGFzcworICAgICAgICBzZWxmLmFzc2VydFRydWUoZm9vLl9faXNhYnN0cmFjdG1ldGhvZF9fKQorICAgICAgICBAY2xhc3NtZXRob2QKKyAgICAgICAgZGVmIGJhcihjbHMpOiBwYXNzCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoZ2V0YXR0cihiYXIsICJfX2lzYWJzdHJhY3RtZXRob2RfXyIsIEZhbHNlKSkKKworICAgICAgICBjbGFzcyBDKG1ldGFjbGFzcz1hYmMuQUJDTWV0YSk6CisgICAgICAgICAgICBAY2xhc3NtZXRob2QKKyAgICAgICAgICAgIEBhYmMuYWJzdHJhY3RtZXRob2QKKyAgICAgICAgICAgIGRlZiBmb28oY2xzKTogcmV0dXJuIGNscy5fX25hbWVfXworICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIEMpCisgICAgICAgIGNsYXNzIEQoQyk6CisgICAgICAgICAgICBAY2xhc3NtZXRob2QKKyAgICAgICAgICAgIGRlZiBmb28oY2xzKTogcmV0dXJuIHN1cGVyKCkuZm9vKCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChELmZvbygpLCAnRCcpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoRCgpLmZvbygpLCAnRCcpCisKKyAgICBkZWYgdGVzdF9hYnN0cmFjdHN0YXRpY21ldGhvZF9iYXNpY3Moc2VsZik6CisgICAgICAgIEBzdGF0aWNtZXRob2QKKyAgICAgICAgQGFiYy5hYnN0cmFjdG1ldGhvZAorICAgICAgICBkZWYgZm9vKCk6IHBhc3MKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGZvby5fX2lzYWJzdHJhY3RtZXRob2RfXykKKyAgICAgICAgQHN0YXRpY21ldGhvZAorICAgICAgICBkZWYgYmFyKCk6IHBhc3MKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShnZXRhdHRyKGJhciwgIl9faXNhYnN0cmFjdG1ldGhvZF9fIiwgRmFsc2UpKQorCisgICAgICAgIGNsYXNzIEMobWV0YWNsYXNzPWFiYy5BQkNNZXRhKToKKyAgICAgICAgICAgIEBzdGF0aWNtZXRob2QKKyAgICAgICAgICAgIEBhYmMuYWJzdHJhY3RtZXRob2QKKyAgICAgICAgICAgIGRlZiBmb28oKTogcmV0dXJuIDMKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBDKQorICAgICAgICBjbGFzcyBEKEMpOgorICAgICAgICAgICAgQHN0YXRpY21ldGhvZAorICAgICAgICAgICAgZGVmIGZvbygpOiByZXR1cm4gNAorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKEQuZm9vKCksIDQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoRCgpLmZvbygpLCA0KQorCisgICAgZGVmIHRlc3RfYWJzdHJhY3RtZXRob2RfaW50ZWdyYXRpb24oc2VsZik6CisgICAgICAgIGZvciBhYnN0cmFjdHRoaW5nIGluIFthYmMuYWJzdHJhY3RtZXRob2QsIGFiYy5hYnN0cmFjdHByb3BlcnR5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWJjLmFic3RyYWN0Y2xhc3NtZXRob2QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhYmMuYWJzdHJhY3RzdGF0aWNtZXRob2RdOgorICAgICAgICAgICAgY2xhc3MgQyhtZXRhY2xhc3M9YWJjLkFCQ01ldGEpOgorICAgICAgICAgICAgICAgIEBhYnN0cmFjdHRoaW5nCisgICAgICAgICAgICAgICAgZGVmIGZvbyhzZWxmKTogcGFzcyAgIyBhYnN0cmFjdAorICAgICAgICAgICAgICAgIGRlZiBiYXIoc2VsZik6IHBhc3MgICMgY29uY3JldGUKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoQy5fX2Fic3RyYWN0bWV0aG9kc19fLCB7ImZvbyJ9KQorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBDKSAgIyBiZWNhdXNlIGZvbyBpcyBhYnN0cmFjdAorICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGlzYWJzdHJhY3QoQykpCisgICAgICAgICAgICBjbGFzcyBEKEMpOgorICAgICAgICAgICAgICAgIGRlZiBiYXIoc2VsZik6IHBhc3MgICMgY29uY3JldGUgb3ZlcnJpZGUgb2YgY29uY3JldGUKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoRC5fX2Fic3RyYWN0bWV0aG9kc19fLCB7ImZvbyJ9KQorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBEKSAgIyBiZWNhdXNlIGZvbyBpcyBzdGlsbCBhYnN0cmFjdAorICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGlzYWJzdHJhY3QoRCkpCisgICAgICAgICAgICBjbGFzcyBFKEQpOgorICAgICAgICAgICAgICAgIGRlZiBmb28oc2VsZik6IHBhc3MKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoRS5fX2Fic3RyYWN0bWV0aG9kc19fLCBzZXQoKSkKKyAgICAgICAgICAgIEUoKSAgIyBub3cgZm9vIGlzIGNvbmNyZXRlLCB0b28KKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoaXNhYnN0cmFjdChFKSkKKyAgICAgICAgICAgIGNsYXNzIEYoRSk6CisgICAgICAgICAgICAgICAgQGFic3RyYWN0dGhpbmcKKyAgICAgICAgICAgICAgICBkZWYgYmFyKHNlbGYpOiBwYXNzICAjIGFic3RyYWN0IG92ZXJyaWRlIG9mIGNvbmNyZXRlCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKEYuX19hYnN0cmFjdG1ldGhvZHNfXywgeyJiYXIifSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgRikgICMgYmVjYXVzZSBiYXIgaXMgYWJzdHJhY3Qgbm93CisgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoaXNhYnN0cmFjdChGKSkKKworICAgIGRlZiB0ZXN0X2Rlc2NyaXB0b3JzX3dpdGhfYWJzdHJhY3RtZXRob2Qoc2VsZik6CisgICAgICAgIGNsYXNzIEMobWV0YWNsYXNzPWFiYy5BQkNNZXRhKToKKyAgICAgICAgICAgIEBwcm9wZXJ0eQorICAgICAgICAgICAgQGFiYy5hYnN0cmFjdG1ldGhvZAorICAgICAgICAgICAgZGVmIGZvbyhzZWxmKTogcmV0dXJuIDMKKyAgICAgICAgICAgIEBmb28uc2V0dGVyCisgICAgICAgICAgICBAYWJjLmFic3RyYWN0bWV0aG9kCisgICAgICAgICAgICBkZWYgZm9vKHNlbGYsIHZhbCk6IHBhc3MKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBDKQorICAgICAgICBjbGFzcyBEKEMpOgorICAgICAgICAgICAgQEMuZm9vLmdldHRlcgorICAgICAgICAgICAgZGVmIGZvbyhzZWxmKTogcmV0dXJuIHN1cGVyKCkuZm9vCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgRCkKKyAgICAgICAgY2xhc3MgRShEKToKKyAgICAgICAgICAgIEBELmZvby5zZXR0ZXIKKyAgICAgICAgICAgIGRlZiBmb28oc2VsZiwgdmFsKTogcGFzcworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKEUoKS5mb28sIDMpCisgICAgICAgICMgY2hlY2sgdGhhdCB0aGUgcHJvcGVydHkncyBfX2lzYWJzdHJhY3RtZXRob2RfXyBkZXNjcmlwdG9yIGRvZXMgdGhlCisgICAgICAgICMgcmlnaHQgdGhpbmcgd2hlbiBwcmVzZW50ZWQgd2l0aCBhIHZhbHVlIHRoYXQgZmFpbHMgdHJ1dGggdGVzdGluZzoKKyAgICAgICAgY2xhc3MgTm90Qm9vbChvYmplY3QpOgorICAgICAgICAgICAgZGVmIF9fbm9uemVyb19fKHNlbGYpOgorICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoKQorICAgICAgICAgICAgX19sZW5fXyA9IF9fbm9uemVyb19fCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvcik6CisgICAgICAgICAgICBjbGFzcyBGKEMpOgorICAgICAgICAgICAgICAgIGRlZiBiYXIoc2VsZik6CisgICAgICAgICAgICAgICAgICAgIHBhc3MKKyAgICAgICAgICAgICAgICBiYXIuX19pc2Fic3RyYWN0bWV0aG9kX18gPSBOb3RCb29sKCkKKyAgICAgICAgICAgICAgICBmb28gPSBwcm9wZXJ0eShiYXIpCisKKworICAgIGRlZiB0ZXN0X2N1c3RvbWRlc2NyaXB0b3JzX3dpdGhfYWJzdHJhY3RtZXRob2Qoc2VsZik6CisgICAgICAgIGNsYXNzIERlc2NyaXB0b3I6CisgICAgICAgICAgICBkZWYgX19pbml0X18oc2VsZiwgZmdldCwgZnNldD1Ob25lKToKKyAgICAgICAgICAgICAgICBzZWxmLl9mZ2V0ID0gZmdldAorICAgICAgICAgICAgICAgIHNlbGYuX2ZzZXQgPSBmc2V0CisgICAgICAgICAgICBkZWYgZ2V0dGVyKHNlbGYsIGNhbGxhYmxlKToKKyAgICAgICAgICAgICAgICByZXR1cm4gRGVzY3JpcHRvcihjYWxsYWJsZSwgc2VsZi5fZmdldCkKKyAgICAgICAgICAgIGRlZiBzZXR0ZXIoc2VsZiwgY2FsbGFibGUpOgorICAgICAgICAgICAgICAgIHJldHVybiBEZXNjcmlwdG9yKHNlbGYuX2ZnZXQsIGNhbGxhYmxlKQorICAgICAgICAgICAgQHByb3BlcnR5CisgICAgICAgICAgICBkZWYgX19pc2Fic3RyYWN0bWV0aG9kX18oc2VsZik6CisgICAgICAgICAgICAgICAgcmV0dXJuIChnZXRhdHRyKHNlbGYuX2ZnZXQsICdfX2lzYWJzdHJhY3RtZXRob2RfXycsIEZhbHNlKQorICAgICAgICAgICAgICAgICAgICAgICAgb3IgZ2V0YXR0cihzZWxmLl9mc2V0LCAnX19pc2Fic3RyYWN0bWV0aG9kX18nLCBGYWxzZSkpCisgICAgICAgIGNsYXNzIEMobWV0YWNsYXNzPWFiYy5BQkNNZXRhKToKKyAgICAgICAgICAgIEBEZXNjcmlwdG9yCisgICAgICAgICAgICBAYWJjLmFic3RyYWN0bWV0aG9kCisgICAgICAgICAgICBkZWYgZm9vKHNlbGYpOiByZXR1cm4gMworICAgICAgICAgICAgQGZvby5zZXR0ZXIKKyAgICAgICAgICAgIEBhYmMuYWJzdHJhY3RtZXRob2QKKyAgICAgICAgICAgIGRlZiBmb28oc2VsZiwgdmFsKTogcGFzcworICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIEMpCisgICAgICAgIGNsYXNzIEQoQyk6CisgICAgICAgICAgICBAQy5mb28uZ2V0dGVyCisgICAgICAgICAgICBkZWYgZm9vKHNlbGYpOiByZXR1cm4gc3VwZXIoKS5mb28KKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBEKQorICAgICAgICBjbGFzcyBFKEQpOgorICAgICAgICAgICAgQEQuZm9vLnNldHRlcgorICAgICAgICAgICAgZGVmIGZvbyhzZWxmLCB2YWwpOiBwYXNzCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoRS5mb28uX19pc2Fic3RyYWN0bWV0aG9kX18pCisKICAgICBkZWYgdGVzdF9tZXRhY2xhc3NfYWJjKHNlbGYpOgogICAgICAgICAjIE1ldGFjbGFzc2VzIGNhbiBiZSBBQkNzLCB0b28uCiAgICAgICAgIGNsYXNzIEEobWV0YWNsYXNzPWFiYy5BQkNNZXRhKToKQEAgLTEyMSwxMSArMjczLDEyIEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoaXNzdWJjbGFzcyhCLCAoQSwpKSkKICAgICAgICAgc2VsZi5hc3NlcnROb3RJc0luc3RhbmNlKGIsIEEpCiAgICAgICAgIHNlbGYuYXNzZXJ0Tm90SXNJbnN0YW5jZShiLCAoQSwpKQotICAgICAgICBBLnJlZ2lzdGVyKEIpCisgICAgICAgIEIxID0gQS5yZWdpc3RlcihCKQogICAgICAgICBzZWxmLmFzc2VydFRydWUoaXNzdWJjbGFzcyhCLCBBKSkKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGlzc3ViY2xhc3MoQiwgKEEsKSkpCiAgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShiLCBBKQogICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2UoYiwgKEEsKSkKKyAgICAgICAgc2VsZi5hc3NlcnRJcyhCMSwgQikKICAgICAgICAgY2xhc3MgQyhCKToKICAgICAgICAgICAgIHBhc3MKICAgICAgICAgYyA9IEMoKQpAQCAtMTM0LDYgKzI4NywyNyBAQAogICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2UoYywgQSkKICAgICAgICAgc2VsZi5hc3NlcnRJc0luc3RhbmNlKGMsIChBLCkpCiAKKyAgICBkZWYgdGVzdF9yZWdpc3Rlcl9hc19jbGFzc19kZWNvKHNlbGYpOgorICAgICAgICBjbGFzcyBBKG1ldGFjbGFzcz1hYmMuQUJDTWV0YSk6CisgICAgICAgICAgICBwYXNzCisgICAgICAgIEBBLnJlZ2lzdGVyCisgICAgICAgIGNsYXNzIEIob2JqZWN0KToKKyAgICAgICAgICAgIHBhc3MKKyAgICAgICAgYiA9IEIoKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoaXNzdWJjbGFzcyhCLCBBKSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGlzc3ViY2xhc3MoQiwgKEEsKSkpCisgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShiLCBBKQorICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2UoYiwgKEEsKSkKKyAgICAgICAgQEEucmVnaXN0ZXIKKyAgICAgICAgY2xhc3MgQyhCKToKKyAgICAgICAgICAgIHBhc3MKKyAgICAgICAgYyA9IEMoKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoaXNzdWJjbGFzcyhDLCBBKSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGlzc3ViY2xhc3MoQywgKEEsKSkpCisgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShjLCBBKQorICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2UoYywgKEEsKSkKKyAgICAgICAgc2VsZi5hc3NlcnRJcyhDLCBBLnJlZ2lzdGVyKEMpKQorCiAgICAgZGVmIHRlc3RfaXNpbnN0YW5jZV9pbnZhbGlkYXRpb24oc2VsZik6CiAgICAgICAgIGNsYXNzIEEobWV0YWNsYXNzPWFiYy5BQkNNZXRhKToKICAgICAgICAgICAgIHBhc3MKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfYWJzdHJhY3RfbnVtYmVycy5weSBiL0xpYi90ZXN0L3Rlc3RfYWJzdHJhY3RfbnVtYmVycy5weQppbmRleCAyYTM5NmNkLi4yNTNlNmYwIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2Fic3RyYWN0X251bWJlcnMucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9hYnN0cmFjdF9udW1iZXJzLnB5CkBAIC0xNCw2ICsxNCw3IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoNywgaW50KDcpLnJlYWwpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoMCwgaW50KDcpLmltYWcpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoNywgaW50KDcpLmNvbmp1Z2F0ZSgpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKC03LCBpbnQoLTcpLmNvbmp1Z2F0ZSgpKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKDcsIGludCg3KS5udW1lcmF0b3IpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoMSwgaW50KDcpLmRlbm9taW5hdG9yKQogCkBAIC0yNCw2ICsyNSw3IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoNy4zLCBmbG9hdCg3LjMpLnJlYWwpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoMCwgZmxvYXQoNy4zKS5pbWFnKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKDcuMywgZmxvYXQoNy4zKS5jb25qdWdhdGUoKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgtNy4zLCBmbG9hdCgtNy4zKS5jb25qdWdhdGUoKSkKIAogICAgIGRlZiB0ZXN0X2NvbXBsZXgoc2VsZik6CiAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoaXNzdWJjbGFzcyhjb21wbGV4LCBSZWFsKSkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfYWlmYy5weSBiL0xpYi90ZXN0L3Rlc3RfYWlmYy5weQppbmRleCBlZTRhZDZiLi5hZDZmNjEwIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2FpZmMucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9haWZjLnB5CkBAIC0xLDQgKzEsNCBAQAotZnJvbSB0ZXN0LnN1cHBvcnQgaW1wb3J0IGZpbmRmaWxlLCBydW5fdW5pdHRlc3QsIFRFU1RGTiwgY2FwdHVyZWRfc3Rkb3V0LCB1bmxpbmsKK2Zyb20gdGVzdC5zdXBwb3J0IGltcG9ydCBmaW5kZmlsZSwgcnVuX3VuaXR0ZXN0LCBURVNURk4sIHVubGluawogaW1wb3J0IHVuaXR0ZXN0CiBpbXBvcnQgb3MKIGltcG9ydCBpbwpAQCAtMjA3LDExICsyMDcsOCBAQAogICAgICAgICBiICs9IGInQ09NTScgKyBzdHJ1Y3QucGFjaygnPkxobGhoTEwnLCAxOCwgMCwgMCwgMCwgMCwgMCwgMCkKICAgICAgICAgYiArPSBiJ1NTTkQnICsgc3RydWN0LnBhY2soJz5MJywgOCkgKyBiJ1x4MDAnICogOAogICAgICAgICBiICs9IGInTUFSSycgKyBzdHJ1Y3QucGFjaygnPkxoQicsIDMsIDEsIDEpCi0gICAgICAgIHdpdGggY2FwdHVyZWRfc3Rkb3V0KCkgYXMgczoKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFdhcm5zKFVzZXJXYXJuaW5nKToKICAgICAgICAgICAgIGYgPSBhaWZjLm9wZW4oaW8uQnl0ZXNJTyhiKSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKLSAgICAgICAgICAgIHMuZ2V0dmFsdWUoKSwKLSAgICAgICAgICAgICdXYXJuaW5nOiBNQVJLIGNodW5rIGNvbnRhaW5zIG9ubHkgMCBtYXJrZXJzIGluc3RlYWQgb2YgMVxuJykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmLmdldG1hcmtlcnMoKSwgTm9uZSkKIAogICAgIGRlZiB0ZXN0X3JlYWRfY29tbV9rbHVkZ2VfY29tcG5hbWVfZXZlbihzZWxmKToKQEAgLTIxOSw5ICsyMTYsOCBAQAogICAgICAgICBiICs9IGInQ09NTScgKyBzdHJ1Y3QucGFjaygnPkxobGhoTEwnLCAxOCwgMCwgMCwgMCwgMCwgMCwgMCkKICAgICAgICAgYiArPSBiJ05PTkUnICsgc3RydWN0LnBhY2soJ0InLCA0KSArIGInZXZlbicgKyBiJ1x4MDAnCiAgICAgICAgIGIgKz0gYidTU05EJyArIHN0cnVjdC5wYWNrKCc+TCcsIDgpICsgYidceDAwJyAqIDgKLSAgICAgICAgd2l0aCBjYXB0dXJlZF9zdGRvdXQoKSBhcyBzOgorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0V2FybnMoVXNlcldhcm5pbmcpOgogICAgICAgICAgICAgZiA9IGFpZmMub3Blbihpby5CeXRlc0lPKGIpKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHMuZ2V0dmFsdWUoKSwgJ1dhcm5pbmc6IGJhZCBDT01NIGNodW5rIHNpemVcbicpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZi5nZXRjb21wbmFtZSgpLCBiJ2V2ZW4nKQogCiAgICAgZGVmIHRlc3RfcmVhZF9jb21tX2tsdWRnZV9jb21wbmFtZV9vZGQoc2VsZik6CkBAIC0yMjksOSArMjI1LDggQEAKICAgICAgICAgYiArPSBiJ0NPTU0nICsgc3RydWN0LnBhY2soJz5MaGxoaExMJywgMTgsIDAsIDAsIDAsIDAsIDAsIDApCiAgICAgICAgIGIgKz0gYidOT05FJyArIHN0cnVjdC5wYWNrKCdCJywgMykgKyBiJ29kZCcKICAgICAgICAgYiArPSBiJ1NTTkQnICsgc3RydWN0LnBhY2soJz5MJywgOCkgKyBiJ1x4MDAnICogOAotICAgICAgICB3aXRoIGNhcHR1cmVkX3N0ZG91dCgpIGFzIHM6CisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRXYXJucyhVc2VyV2FybmluZyk6CiAgICAgICAgICAgICBmID0gYWlmYy5vcGVuKGlvLkJ5dGVzSU8oYikpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocy5nZXR2YWx1ZSgpLCAnV2FybmluZzogYmFkIENPTU0gY2h1bmsgc2l6ZVxuJykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmLmdldGNvbXBuYW1lKCksIGInb2RkJykKIAogICAgIGRlZiB0ZXN0X3dyaXRlX3BhcmFtc19yYWlzZXMoc2VsZik6CmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2FyZ3BhcnNlLnB5IGIvTGliL3Rlc3QvdGVzdF9hcmdwYXJzZS5weQppbmRleCA4NTI5OTFjLi5mNDU2NzA5IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2FyZ3BhcnNlLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfYXJncGFyc2UucHkKQEAgLTQwMjEsNiArNDAyMSwzNyBAQAogICAgICAgICAnJycKIAogCisKK2NsYXNzIFRlc3RIZWxwTWV0YXZhclR5cGVGb3JtYXR0ZXIoSGVscFRlc3RDYXNlKToKKyAgICAiIiIiIiIKKworICAgIGRlZiBjdXN0b21fdHlwZShzdHJpbmcpOgorICAgICAgICByZXR1cm4gc3RyaW5nCisKKyAgICBwYXJzZXJfc2lnbmF0dXJlID0gU2lnKHByb2c9J1BST0cnLCBkZXNjcmlwdGlvbj0nZGVzY3JpcHRpb24nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0dGVyX2NsYXNzPWFyZ3BhcnNlLk1ldGF2YXJUeXBlSGVscEZvcm1hdHRlcikKKyAgICBhcmd1bWVudF9zaWduYXR1cmVzID0gW1NpZygnYScsIHR5cGU9aW50KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIFNpZygnLWInLCB0eXBlPWN1c3RvbV90eXBlKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIFNpZygnLWMnLCB0eXBlPWZsb2F0LCBtZXRhdmFyPSdTT01FIEZMT0FUJyldCisgICAgYXJndW1lbnRfZ3JvdXBfc2lnbmF0dXJlcyA9IFtdCisgICAgdXNhZ2UgPSAnJydcCisgICAgICAgIHVzYWdlOiBQUk9HIFstaF0gWy1iIGN1c3RvbV90eXBlXSBbLWMgU09NRSBGTE9BVF0gaW50CisgICAgICAgICcnJworICAgIGhlbHAgPSB1c2FnZSArICcnJ1wKKworICAgICAgICBkZXNjcmlwdGlvbgorCisgICAgICAgIHBvc2l0aW9uYWwgYXJndW1lbnRzOgorICAgICAgICAgIGludAorCisgICAgICAgIG9wdGlvbmFsIGFyZ3VtZW50czoKKyAgICAgICAgICAtaCwgLS1oZWxwICAgICAgc2hvdyB0aGlzIGhlbHAgbWVzc2FnZSBhbmQgZXhpdAorICAgICAgICAgIC1iIGN1c3RvbV90eXBlCisgICAgICAgICAgLWMgU09NRSBGTE9BVAorICAgICAgICAnJycKKyAgICB2ZXJzaW9uID0gJycKKworCiAjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICMgT3B0aW9uYWwvUG9zaXRpb25hbCBjb25zdHJ1Y3RvciB0ZXN0cwogIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkBAIC00NDExLDcgKzQ0NDIsNyBAQAogICAgIGRlZiBfdGVzdF9tb2R1bGVfZW5jb2Rpbmcoc2VsZiwgcGF0aCk6CiAgICAgICAgIHBhdGgsIF8gPSBvcy5wYXRoLnNwbGl0ZXh0KHBhdGgpCiAgICAgICAgIHBhdGggKz0gIi5weSIKLSAgICAgICAgd2l0aCBjb2RlY3Mub3BlbihwYXRoLCAncicsICd1dGY4JykgYXMgZjoKKyAgICAgICAgd2l0aCBjb2RlY3Mub3BlbihwYXRoLCAncicsICd1dGYtOCcpIGFzIGY6CiAgICAgICAgICAgICBmLnJlYWQoKQogCiAgICAgZGVmIHRlc3RfYXJncGFyc2VfbW9kdWxlX2VuY29kaW5nKHNlbGYpOgpAQCAtNDQ1Myw2ICs0NDg0LDY3IEBACiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBzZWxmLmZhaWwoKQogCisjID09PT09PT09PT09PT09PT09PT09PT09PT0KKyMgTWVzc2FnZUNvbnRlbnRFcnJvciB0ZXN0cworIyA9PT09PT09PT09PT09PT09PT09PT09PT09CisKK2NsYXNzIFRlc3RNZXNzYWdlQ29udGVudEVycm9yKFRlc3RDYXNlKToKKworICAgIGRlZiB0ZXN0X21pc3NpbmdfYXJndW1lbnRfbmFtZV9pbl9tZXNzYWdlKHNlbGYpOgorICAgICAgICBwYXJzZXIgPSBFcnJvclJhaXNpbmdBcmd1bWVudFBhcnNlcihwcm9nPSdQUk9HJywgdXNhZ2U9JycpCisgICAgICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJ3JlcV9wb3MnLCB0eXBlPXN0cikKKyAgICAgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnLXJlcV9vcHQnLCB0eXBlPWludCwgcmVxdWlyZWQ9VHJ1ZSkKKyAgICAgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnbmVlZF9vbmUnLCB0eXBlPXN0ciwgbmFyZ3M9JysnKQorCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoQXJndW1lbnRQYXJzZXJFcnJvcikgYXMgY206CisgICAgICAgICAgICBwYXJzZXIucGFyc2VfYXJncyhbXSkKKyAgICAgICAgbXNnID0gc3RyKGNtLmV4Y2VwdGlvbikKKyAgICAgICAgc2VsZi5hc3NlcnRSZWdleChtc2csICdyZXFfcG9zJykKKyAgICAgICAgc2VsZi5hc3NlcnRSZWdleChtc2csICdyZXFfb3B0JykKKyAgICAgICAgc2VsZi5hc3NlcnRSZWdleChtc2csICduZWVkX29uZScpCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoQXJndW1lbnRQYXJzZXJFcnJvcikgYXMgY206CisgICAgICAgICAgICBwYXJzZXIucGFyc2VfYXJncyhbJ215WGFyZ3VtZW50J10pCisgICAgICAgIG1zZyA9IHN0cihjbS5leGNlcHRpb24pCisgICAgICAgIHNlbGYuYXNzZXJ0Tm90SW4obXNnLCAncmVxX3BvcycpCisgICAgICAgIHNlbGYuYXNzZXJ0UmVnZXgobXNnLCAncmVxX29wdCcpCisgICAgICAgIHNlbGYuYXNzZXJ0UmVnZXgobXNnLCAnbmVlZF9vbmUnKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKEFyZ3VtZW50UGFyc2VyRXJyb3IpIGFzIGNtOgorICAgICAgICAgICAgcGFyc2VyLnBhcnNlX2FyZ3MoWydteVhhcmd1bWVudCcsICctcmVxX29wdD0xJ10pCisgICAgICAgIG1zZyA9IHN0cihjbS5leGNlcHRpb24pCisgICAgICAgIHNlbGYuYXNzZXJ0Tm90SW4obXNnLCAncmVxX3BvcycpCisgICAgICAgIHNlbGYuYXNzZXJ0Tm90SW4obXNnLCAncmVxX29wdCcpCisgICAgICAgIHNlbGYuYXNzZXJ0UmVnZXgobXNnLCAnbmVlZF9vbmUnKQorCisgICAgZGVmIHRlc3Rfb3B0aW9uYWxfb3B0aW9uYWxfbm90X2luX21lc3NhZ2Uoc2VsZik6CisgICAgICAgIHBhcnNlciA9IEVycm9yUmFpc2luZ0FyZ3VtZW50UGFyc2VyKHByb2c9J1BST0cnLCB1c2FnZT0nJykKKyAgICAgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgncmVxX3BvcycsIHR5cGU9c3RyKQorICAgICAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctLXJlcV9vcHQnLCB0eXBlPWludCwgcmVxdWlyZWQ9VHJ1ZSkKKyAgICAgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnLS1vcHRfb3B0JywgdHlwZT1ib29sLCBuYXJncz0nPycsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdD1UcnVlKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKEFyZ3VtZW50UGFyc2VyRXJyb3IpIGFzIGNtOgorICAgICAgICAgICAgcGFyc2VyLnBhcnNlX2FyZ3MoW10pCisgICAgICAgIG1zZyA9IHN0cihjbS5leGNlcHRpb24pCisgICAgICAgIHNlbGYuYXNzZXJ0UmVnZXgobXNnLCAncmVxX3BvcycpCisgICAgICAgIHNlbGYuYXNzZXJ0UmVnZXgobXNnLCAncmVxX29wdCcpCisgICAgICAgIHNlbGYuYXNzZXJ0Tm90SW4obXNnLCAnb3B0X29wdCcpCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoQXJndW1lbnRQYXJzZXJFcnJvcikgYXMgY206CisgICAgICAgICAgICBwYXJzZXIucGFyc2VfYXJncyhbJy0tcmVxX29wdD0xJ10pCisgICAgICAgIG1zZyA9IHN0cihjbS5leGNlcHRpb24pCisgICAgICAgIHNlbGYuYXNzZXJ0UmVnZXgobXNnLCAncmVxX3BvcycpCisgICAgICAgIHNlbGYuYXNzZXJ0Tm90SW4obXNnLCAncmVxX29wdCcpCisgICAgICAgIHNlbGYuYXNzZXJ0Tm90SW4obXNnLCAnb3B0X29wdCcpCisKKyAgICBkZWYgdGVzdF9vcHRpb25hbF9wb3NpdGlvbmFsX25vdF9pbl9tZXNzYWdlKHNlbGYpOgorICAgICAgICBwYXJzZXIgPSBFcnJvclJhaXNpbmdBcmd1bWVudFBhcnNlcihwcm9nPSdQUk9HJywgdXNhZ2U9JycpCisgICAgICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJ3JlcV9wb3MnKQorICAgICAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCdvcHRpb25hbF9wb3NpdGlvbmFsJywgbmFyZ3M9Jz8nLCBkZWZhdWx0PSdlZ2dzJykKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhBcmd1bWVudFBhcnNlckVycm9yKSBhcyBjbToKKyAgICAgICAgICAgIHBhcnNlci5wYXJzZV9hcmdzKFtdKQorICAgICAgICBtc2cgPSBzdHIoY20uZXhjZXB0aW9uKQorICAgICAgICBzZWxmLmFzc2VydFJlZ2V4KG1zZywgJ3JlcV9wb3MnKQorICAgICAgICBzZWxmLmFzc2VydE5vdEluKG1zZywgJ29wdGlvbmFsX3Bvc2l0aW9uYWwnKQorCisKICMgPT09PT09PT09PT09PT09PT09PT09PQogIyBwYXJzZV9rbm93bl9hcmdzIHRlc3RzCiAjID09PT09PT09PT09PT09PT09PT09PT0KZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfYXJyYXkucHkgYi9MaWIvdGVzdC90ZXN0X2FycmF5LnB5CmluZGV4IDUxOTBjMzUuLjQzNGU0OTUgMTAwNzU1Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfYXJyYXkucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9hcnJheS5weQpAQCAtMTYsNiArMTYsMTMgQEAKIGltcG9ydCBhcnJheQogZnJvbSBhcnJheSBpbXBvcnQgX2FycmF5X3JlY29uc3RydWN0b3IgYXMgYXJyYXlfcmVjb25zdHJ1Y3RvcgogCit0cnk6CisgICAgIyBUcnkgdG8gZGV0ZXJtaW5lIGF2YWlsYWJpbGl0eSBvZiBsb25nIGxvbmcgaW5kZXBlbmRlbnRseQorICAgICMgb2YgdGhlIGFycmF5IG1vZHVsZSB1bmRlciB0ZXN0CisgICAgc3RydWN0LmNhbGNzaXplKCdAcScpCisgICAgaGF2ZV9sb25nX2xvbmcgPSBUcnVlCitleGNlcHQgc3RydWN0LmVycm9yOgorICAgIGhhdmVfbG9uZ19sb25nID0gRmFsc2UKIAogY2xhc3MgQXJyYXlTdWJjbGFzcyhhcnJheS5hcnJheSk6CiAgICAgcGFzcwpAQCAtMjYsNiArMzMsOCBAQAogCiB0ZXN0cyA9IFtdICMgbGlzdCB0byBhY2N1bXVsYXRlIGFsbCB0ZXN0cwogdHlwZWNvZGVzID0gInViQmhIaUlsTGZkIgoraWYgaGF2ZV9sb25nX2xvbmc6CisgICAgdHlwZWNvZGVzICs9ICdxUScKIAogY2xhc3MgQmFkQ29uc3RydWN0b3JUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKIApAQCAtMjA5LDEwICsyMTgsMTQgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiaVsxXSwgbGVuKGEpKQogCiAgICAgZGVmIHRlc3RfYnl0ZXN3YXAoc2VsZik6Ci0gICAgICAgIGEgPSBhcnJheS5hcnJheShzZWxmLnR5cGVjb2RlLCBzZWxmLmV4YW1wbGUpCisgICAgICAgIGlmIHNlbGYudHlwZWNvZGUgPT0gJ3UnOgorICAgICAgICAgICAgZXhhbXBsZSA9ICdcVTAwMTAwMTAwJworICAgICAgICBlbHNlOgorICAgICAgICAgICAgZXhhbXBsZSA9IHNlbGYuZXhhbXBsZQorICAgICAgICBhID0gYXJyYXkuYXJyYXkoc2VsZi50eXBlY29kZSwgZXhhbXBsZSkKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBhLmJ5dGVzd2FwLCA0MikKICAgICAgICAgaWYgYS5pdGVtc2l6ZSBpbiAoMSwgMiwgNCwgOCk6Ci0gICAgICAgICAgICBiID0gYXJyYXkuYXJyYXkoc2VsZi50eXBlY29kZSwgc2VsZi5leGFtcGxlKQorICAgICAgICAgICAgYiA9IGFycmF5LmFycmF5KHNlbGYudHlwZWNvZGUsIGV4YW1wbGUpCiAgICAgICAgICAgICBiLmJ5dGVzd2FwKCkKICAgICAgICAgICAgIGlmIGEuaXRlbXNpemU9PTE6CiAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChhLCBiKQpAQCAtMTAwMiw3ICsxMDE1LDcgQEAKICAgICBzbWFsbGVyZXhhbXBsZSA9ICdceDAxXHUyNjNhXHgwMFx1ZmVmZScKICAgICBiaWdnZXJleGFtcGxlID0gJ1x4MDFcdTI2M2FceDAxXHVmZWZmJwogICAgIG91dHNpZGUgPSBzdHIoJ1x4MzMnKQotICAgIG1pbml0ZW1zaXplID0gMgorICAgIG1pbml0ZW1zaXplID0gNAogCiAgICAgZGVmIHRlc3RfdW5pY29kZShzZWxmKToKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBhcnJheS5hcnJheSwgJ2InLCAnZm9vJykKQEAgLTEwMTQsNiArMTAyNyw3IEBACiAgICAgICAgIGEuZnJvbXVuaWNvZGUoJ1x4MTFhYmNceGZmXHUxMjM0JykKICAgICAgICAgcyA9IGEudG91bmljb2RlKCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzLCAnXHhhMFx4YzJcdTEyMzQgXHgxMWFiY1x4ZmZcdTEyMzQnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGEuaXRlbXNpemUsIDQpCiAKICAgICAgICAgcyA9ICdceDAwPSJcJ2FcXGJceDgwXHhmZlx1MDAwMFx1MDAwMVx1MTIzNCcKICAgICAgICAgYSA9IGFycmF5LmFycmF5KCd1JywgcykKQEAgLTEyMDUsNiArMTIxOSwxOCBAQAogICAgIG1pbml0ZW1zaXplID0gNAogdGVzdHMuYXBwZW5kKFVuc2lnbmVkTG9uZ1Rlc3QpCiAKK0B1bml0dGVzdC5za2lwSWYobm90IGhhdmVfbG9uZ19sb25nLCAnbmVlZCBsb25nIGxvbmcgc3VwcG9ydCcpCitjbGFzcyBMb25nTG9uZ1Rlc3QoU2lnbmVkTnVtYmVyVGVzdCk6CisgICAgdHlwZWNvZGUgPSAncScKKyAgICBtaW5pdGVtc2l6ZSA9IDgKK3Rlc3RzLmFwcGVuZChMb25nTG9uZ1Rlc3QpCisKK0B1bml0dGVzdC5za2lwSWYobm90IGhhdmVfbG9uZ19sb25nLCAnbmVlZCBsb25nIGxvbmcgc3VwcG9ydCcpCitjbGFzcyBVbnNpZ25lZExvbmdMb25nVGVzdChVbnNpZ25lZE51bWJlclRlc3QpOgorICAgIHR5cGVjb2RlID0gJ1EnCisgICAgbWluaXRlbXNpemUgPSA4Cit0ZXN0cy5hcHBlbmQoVW5zaWduZWRMb25nTG9uZ1Rlc3QpCisKIGNsYXNzIEZQVGVzdChOdW1iZXJUZXN0KToKICAgICBleGFtcGxlID0gWy00Mi4wLCAwLCA0MiwgMWU1LCAtMWUxMF0KICAgICBzbWFsbGVyZXhhbXBsZSA9IFstNDIuMCwgMCwgNDIsIDFlNSwgLTJlMTBdCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2FzdC5weSBiL0xpYi90ZXN0L3Rlc3RfYXN0LnB5CmluZGV4IGY0Y2U2MTUuLjA2NGM2NjkgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfYXN0LnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfYXN0LnB5CkBAIC0xLDQgKzEsNiBAQAotaW1wb3J0IHN5cywgdW5pdHRlc3QKK2ltcG9ydCBvcworaW1wb3J0IHN5cworaW1wb3J0IHVuaXR0ZXN0CiBmcm9tIHRlc3QgaW1wb3J0IHN1cHBvcnQKIGltcG9ydCBhc3QKIApAQCAtNTIsNiArNTQsOSBAQAogICAgICJ3aGlsZSB2OnBhc3MiLAogICAgICMgSWYKICAgICAiaWYgdjpwYXNzIiwKKyAgICAjIFdpdGgKKyAgICAid2l0aCB4IGFzIHk6IHBhc3MiLAorICAgICJ3aXRoIHggYXMgeSwgeiBhcyBxOiBwYXNzIiwKICAgICAjIFJhaXNlCiAgICAgInJhaXNlIEV4Y2VwdGlvbignc3RyaW5nJykiLAogICAgICMgVHJ5RXhjZXB0CkBAIC0xOTEsNiArMTk2LDkgQEAKICAgICBkZWYgdGVzdF9BU1Rfb2JqZWN0cyhzZWxmKToKICAgICAgICAgeCA9IGFzdC5BU1QoKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHguX2ZpZWxkcywgKCkpCisgICAgICAgIHguZm9vYmFyID0gNDIKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh4LmZvb2JhciwgNDIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoeC5fX2RpY3RfX1siZm9vYmFyIl0sIDQyKQogCiAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoQXR0cmlidXRlRXJyb3IpOgogICAgICAgICAgICAgeC52YXJhcmcKQEAgLTQ5Miw4ICs1MDAsNDEzIEBACiAgICAgICAgIHNlbGYuYXNzZXJ0SW4oImludmFsaWQgaW50ZWdlciB2YWx1ZTogTm9uZSIsIHN0cihjbS5leGNlcHRpb24pKQogCiAKK2NsYXNzIEFTVFZhbGlkYXRvclRlc3RzKHVuaXR0ZXN0LlRlc3RDYXNlKToKKworICAgIGRlZiBtb2Qoc2VsZiwgbW9kLCBtc2c9Tm9uZSwgbW9kZT0iZXhlYyIsICosIGV4Yz1WYWx1ZUVycm9yKToKKyAgICAgICAgbW9kLmxpbmVubyA9IG1vZC5jb2xfb2Zmc2V0ID0gMAorICAgICAgICBhc3QuZml4X21pc3NpbmdfbG9jYXRpb25zKG1vZCkKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhleGMpIGFzIGNtOgorICAgICAgICAgICAgY29tcGlsZShtb2QsICI8dGVzdD4iLCBtb2RlKQorICAgICAgICBpZiBtc2cgaXMgbm90IE5vbmU6CisgICAgICAgICAgICBzZWxmLmFzc2VydEluKG1zZywgc3RyKGNtLmV4Y2VwdGlvbikpCisKKyAgICBkZWYgZXhwcihzZWxmLCBub2RlLCBtc2c9Tm9uZSwgKiwgZXhjPVZhbHVlRXJyb3IpOgorICAgICAgICBtb2QgPSBhc3QuTW9kdWxlKFthc3QuRXhwcihub2RlKV0pCisgICAgICAgIHNlbGYubW9kKG1vZCwgbXNnLCBleGM9ZXhjKQorCisgICAgZGVmIHN0bXQoc2VsZiwgc3RtdCwgbXNnPU5vbmUpOgorICAgICAgICBtb2QgPSBhc3QuTW9kdWxlKFtzdG10XSkKKyAgICAgICAgc2VsZi5tb2QobW9kLCBtc2cpCisKKyAgICBkZWYgdGVzdF9tb2R1bGUoc2VsZik6CisgICAgICAgIG0gPSBhc3QuSW50ZXJhY3RpdmUoW2FzdC5FeHByKGFzdC5OYW1lKCJ4IiwgYXN0LlN0b3JlKCkpKV0pCisgICAgICAgIHNlbGYubW9kKG0sICJtdXN0IGhhdmUgTG9hZCBjb250ZXh0IiwgInNpbmdsZSIpCisgICAgICAgIG0gPSBhc3QuRXhwcmVzc2lvbihhc3QuTmFtZSgieCIsIGFzdC5TdG9yZSgpKSkKKyAgICAgICAgc2VsZi5tb2QobSwgIm11c3QgaGF2ZSBMb2FkIGNvbnRleHQiLCAiZXZhbCIpCisKKyAgICBkZWYgX2NoZWNrX2FyZ3VtZW50cyhzZWxmLCBmYWMsIGNoZWNrKToKKyAgICAgICAgZGVmIGFyZ3VtZW50cyhhcmdzPU5vbmUsIHZhcmFyZz1Ob25lLCB2YXJhcmdhbm5vdGF0aW9uPU5vbmUsCisgICAgICAgICAgICAgICAgICAgICAga3dvbmx5YXJncz1Ob25lLCBrd2FyZz1Ob25lLCBrd2FyZ2Fubm90YXRpb249Tm9uZSwKKyAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0cz1Ob25lLCBrd19kZWZhdWx0cz1Ob25lKToKKyAgICAgICAgICAgIGlmIGFyZ3MgaXMgTm9uZToKKyAgICAgICAgICAgICAgICBhcmdzID0gW10KKyAgICAgICAgICAgIGlmIGt3b25seWFyZ3MgaXMgTm9uZToKKyAgICAgICAgICAgICAgICBrd29ubHlhcmdzID0gW10KKyAgICAgICAgICAgIGlmIGRlZmF1bHRzIGlzIE5vbmU6CisgICAgICAgICAgICAgICAgZGVmYXVsdHMgPSBbXQorICAgICAgICAgICAgaWYga3dfZGVmYXVsdHMgaXMgTm9uZToKKyAgICAgICAgICAgICAgICBrd19kZWZhdWx0cyA9IFtdCisgICAgICAgICAgICBhcmdzID0gYXN0LmFyZ3VtZW50cyhhcmdzLCB2YXJhcmcsIHZhcmFyZ2Fubm90YXRpb24sIGt3b25seWFyZ3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrd2FyZywga3dhcmdhbm5vdGF0aW9uLCBkZWZhdWx0cywga3dfZGVmYXVsdHMpCisgICAgICAgICAgICByZXR1cm4gZmFjKGFyZ3MpCisgICAgICAgIGFyZ3MgPSBbYXN0LmFyZygieCIsIGFzdC5OYW1lKCJ4IiwgYXN0LlN0b3JlKCkpKV0KKyAgICAgICAgY2hlY2soYXJndW1lbnRzKGFyZ3M9YXJncyksICJtdXN0IGhhdmUgTG9hZCBjb250ZXh0IikKKyAgICAgICAgY2hlY2soYXJndW1lbnRzKHZhcmFyZ2Fubm90YXRpb249YXN0Lk51bSgzKSksCisgICAgICAgICAgICAgICJ2YXJhcmdhbm5vdGF0aW9uIGJ1dCBubyB2YXJhcmciKQorICAgICAgICBjaGVjayhhcmd1bWVudHModmFyYXJnYW5ub3RhdGlvbj1hc3QuTmFtZSgieCIsIGFzdC5TdG9yZSgpKSwgdmFyYXJnPSJ4IiksCisgICAgICAgICAgICAgICAgICAgICAgICAgIm11c3QgaGF2ZSBMb2FkIGNvbnRleHQiKQorICAgICAgICBjaGVjayhhcmd1bWVudHMoa3dvbmx5YXJncz1hcmdzKSwgIm11c3QgaGF2ZSBMb2FkIGNvbnRleHQiKQorICAgICAgICBjaGVjayhhcmd1bWVudHMoa3dhcmdhbm5vdGF0aW9uPWFzdC5OdW0oNDIpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgImt3YXJnYW5ub3RhdGlvbiBidXQgbm8ga3dhcmciKQorICAgICAgICBjaGVjayhhcmd1bWVudHMoa3dhcmdhbm5vdGF0aW9uPWFzdC5OYW1lKCJ4IiwgYXN0LlN0b3JlKCkpLAorICAgICAgICAgICAgICAgICAgICAgICAgICBrd2FyZz0ieCIpLCAibXVzdCBoYXZlIExvYWQgY29udGV4dCIpCisgICAgICAgIGNoZWNrKGFyZ3VtZW50cyhkZWZhdWx0cz1bYXN0Lk51bSgzKV0pLAorICAgICAgICAgICAgICAgICAgICAgICAibW9yZSBwb3NpdGlvbmFsIGRlZmF1bHRzIHRoYW4gYXJncyIpCisgICAgICAgIGNoZWNrKGFyZ3VtZW50cyhrd19kZWZhdWx0cz1bYXN0Lk51bSg0KV0pLAorICAgICAgICAgICAgICAgICAgICAgICAibGVuZ3RoIG9mIGt3b25seWFyZ3MgaXMgbm90IHRoZSBzYW1lIGFzIGt3X2RlZmF1bHRzIikKKyAgICAgICAgYXJncyA9IFthc3QuYXJnKCJ4IiwgYXN0Lk5hbWUoIngiLCBhc3QuTG9hZCgpKSldCisgICAgICAgIGNoZWNrKGFyZ3VtZW50cyhhcmdzPWFyZ3MsIGRlZmF1bHRzPVthc3QuTmFtZSgieCIsIGFzdC5TdG9yZSgpKV0pLAorICAgICAgICAgICAgICAgICAgICAgICAibXVzdCBoYXZlIExvYWQgY29udGV4dCIpCisgICAgICAgIGFyZ3MgPSBbYXN0LmFyZygiYSIsIGFzdC5OYW1lKCJ4IiwgYXN0LkxvYWQoKSkpLAorICAgICAgICAgICAgICAgIGFzdC5hcmcoImIiLCBhc3QuTmFtZSgieSIsIGFzdC5Mb2FkKCkpKV0KKyAgICAgICAgY2hlY2soYXJndW1lbnRzKGt3b25seWFyZ3M9YXJncywKKyAgICAgICAgICAgICAgICAgICAgICAgICAga3dfZGVmYXVsdHM9W05vbmUsIGFzdC5OYW1lKCJ4IiwgYXN0LlN0b3JlKCkpXSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICJtdXN0IGhhdmUgTG9hZCBjb250ZXh0IikKKworICAgIGRlZiB0ZXN0X2Z1bmNkZWYoc2VsZik6CisgICAgICAgIGEgPSBhc3QuYXJndW1lbnRzKFtdLCBOb25lLCBOb25lLCBbXSwgTm9uZSwgTm9uZSwgW10sIFtdKQorICAgICAgICBmID0gYXN0LkZ1bmN0aW9uRGVmKCJ4IiwgYSwgW10sIFtdLCBOb25lKQorICAgICAgICBzZWxmLnN0bXQoZiwgImVtcHR5IGJvZHkgb24gRnVuY3Rpb25EZWYiKQorICAgICAgICBmID0gYXN0LkZ1bmN0aW9uRGVmKCJ4IiwgYSwgW2FzdC5QYXNzKCldLCBbYXN0Lk5hbWUoIngiLCBhc3QuU3RvcmUoKSldLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vbmUpCisgICAgICAgIHNlbGYuc3RtdChmLCAibXVzdCBoYXZlIExvYWQgY29udGV4dCIpCisgICAgICAgIGYgPSBhc3QuRnVuY3Rpb25EZWYoIngiLCBhLCBbYXN0LlBhc3MoKV0sIFtdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFzdC5OYW1lKCJ4IiwgYXN0LlN0b3JlKCkpKQorICAgICAgICBzZWxmLnN0bXQoZiwgIm11c3QgaGF2ZSBMb2FkIGNvbnRleHQiKQorICAgICAgICBkZWYgZmFjKGFyZ3MpOgorICAgICAgICAgICAgcmV0dXJuIGFzdC5GdW5jdGlvbkRlZigieCIsIGFyZ3MsIFthc3QuUGFzcygpXSwgW10sIE5vbmUpCisgICAgICAgIHNlbGYuX2NoZWNrX2FyZ3VtZW50cyhmYWMsIHNlbGYuc3RtdCkKKworICAgIGRlZiB0ZXN0X2NsYXNzZGVmKHNlbGYpOgorICAgICAgICBkZWYgY2xzKGJhc2VzPU5vbmUsIGtleXdvcmRzPU5vbmUsIHN0YXJhcmdzPU5vbmUsIGt3YXJncz1Ob25lLAorICAgICAgICAgICAgICAgIGJvZHk9Tm9uZSwgZGVjb3JhdG9yX2xpc3Q9Tm9uZSk6CisgICAgICAgICAgICBpZiBiYXNlcyBpcyBOb25lOgorICAgICAgICAgICAgICAgIGJhc2VzID0gW10KKyAgICAgICAgICAgIGlmIGtleXdvcmRzIGlzIE5vbmU6CisgICAgICAgICAgICAgICAga2V5d29yZHMgPSBbXQorICAgICAgICAgICAgaWYgYm9keSBpcyBOb25lOgorICAgICAgICAgICAgICAgIGJvZHkgPSBbYXN0LlBhc3MoKV0KKyAgICAgICAgICAgIGlmIGRlY29yYXRvcl9saXN0IGlzIE5vbmU6CisgICAgICAgICAgICAgICAgZGVjb3JhdG9yX2xpc3QgPSBbXQorICAgICAgICAgICAgcmV0dXJuIGFzdC5DbGFzc0RlZigibXljbGFzcyIsIGJhc2VzLCBrZXl3b3Jkcywgc3RhcmFyZ3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGt3YXJncywgYm9keSwgZGVjb3JhdG9yX2xpc3QpCisgICAgICAgIHNlbGYuc3RtdChjbHMoYmFzZXM9W2FzdC5OYW1lKCJ4IiwgYXN0LlN0b3JlKCkpXSksCisgICAgICAgICAgICAgICAgICAibXVzdCBoYXZlIExvYWQgY29udGV4dCIpCisgICAgICAgIHNlbGYuc3RtdChjbHMoa2V5d29yZHM9W2FzdC5rZXl3b3JkKCJ4IiwgYXN0Lk5hbWUoIngiLCBhc3QuU3RvcmUoKSkpXSksCisgICAgICAgICAgICAgICAgICAibXVzdCBoYXZlIExvYWQgY29udGV4dCIpCisgICAgICAgIHNlbGYuc3RtdChjbHMoc3RhcmFyZ3M9YXN0Lk5hbWUoIngiLCBhc3QuU3RvcmUoKSkpLAorICAgICAgICAgICAgICAgICAgIm11c3QgaGF2ZSBMb2FkIGNvbnRleHQiKQorICAgICAgICBzZWxmLnN0bXQoY2xzKGt3YXJncz1hc3QuTmFtZSgieCIsIGFzdC5TdG9yZSgpKSksCisgICAgICAgICAgICAgICAgICAibXVzdCBoYXZlIExvYWQgY29udGV4dCIpCisgICAgICAgIHNlbGYuc3RtdChjbHMoYm9keT1bXSksICJlbXB0eSBib2R5IG9uIENsYXNzRGVmIikKKyAgICAgICAgc2VsZi5zdG10KGNscyhib2R5PVtOb25lXSksICJOb25lIGRpc2FsbG93ZWQiKQorICAgICAgICBzZWxmLnN0bXQoY2xzKGRlY29yYXRvcl9saXN0PVthc3QuTmFtZSgieCIsIGFzdC5TdG9yZSgpKV0pLAorICAgICAgICAgICAgICAgICAgIm11c3QgaGF2ZSBMb2FkIGNvbnRleHQiKQorCisgICAgZGVmIHRlc3RfZGVsZXRlKHNlbGYpOgorICAgICAgICBzZWxmLnN0bXQoYXN0LkRlbGV0ZShbXSksICJlbXB0eSB0YXJnZXRzIG9uIERlbGV0ZSIpCisgICAgICAgIHNlbGYuc3RtdChhc3QuRGVsZXRlKFtOb25lXSksICJOb25lIGRpc2FsbG93ZWQiKQorICAgICAgICBzZWxmLnN0bXQoYXN0LkRlbGV0ZShbYXN0Lk5hbWUoIngiLCBhc3QuTG9hZCgpKV0pLAorICAgICAgICAgICAgICAgICAgIm11c3QgaGF2ZSBEZWwgY29udGV4dCIpCisKKyAgICBkZWYgdGVzdF9hc3NpZ24oc2VsZik6CisgICAgICAgIHNlbGYuc3RtdChhc3QuQXNzaWduKFtdLCBhc3QuTnVtKDMpKSwgImVtcHR5IHRhcmdldHMgb24gQXNzaWduIikKKyAgICAgICAgc2VsZi5zdG10KGFzdC5Bc3NpZ24oW05vbmVdLCBhc3QuTnVtKDMpKSwgIk5vbmUgZGlzYWxsb3dlZCIpCisgICAgICAgIHNlbGYuc3RtdChhc3QuQXNzaWduKFthc3QuTmFtZSgieCIsIGFzdC5Mb2FkKCkpXSwgYXN0Lk51bSgzKSksCisgICAgICAgICAgICAgICAgICAibXVzdCBoYXZlIFN0b3JlIGNvbnRleHQiKQorICAgICAgICBzZWxmLnN0bXQoYXN0LkFzc2lnbihbYXN0Lk5hbWUoIngiLCBhc3QuU3RvcmUoKSldLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhc3QuTmFtZSgieSIsIGFzdC5TdG9yZSgpKSksCisgICAgICAgICAgICAgICAgICAibXVzdCBoYXZlIExvYWQgY29udGV4dCIpCisKKyAgICBkZWYgdGVzdF9hdWdhc3NpZ24oc2VsZik6CisgICAgICAgIGF1ZyA9IGFzdC5BdWdBc3NpZ24oYXN0Lk5hbWUoIngiLCBhc3QuTG9hZCgpKSwgYXN0LkFkZCgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFzdC5OYW1lKCJ5IiwgYXN0LkxvYWQoKSkpCisgICAgICAgIHNlbGYuc3RtdChhdWcsICJtdXN0IGhhdmUgU3RvcmUgY29udGV4dCIpCisgICAgICAgIGF1ZyA9IGFzdC5BdWdBc3NpZ24oYXN0Lk5hbWUoIngiLCBhc3QuU3RvcmUoKSksIGFzdC5BZGQoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBhc3QuTmFtZSgieSIsIGFzdC5TdG9yZSgpKSkKKyAgICAgICAgc2VsZi5zdG10KGF1ZywgIm11c3QgaGF2ZSBMb2FkIGNvbnRleHQiKQorCisgICAgZGVmIHRlc3RfZm9yKHNlbGYpOgorICAgICAgICB4ID0gYXN0Lk5hbWUoIngiLCBhc3QuU3RvcmUoKSkKKyAgICAgICAgeSA9IGFzdC5OYW1lKCJ5IiwgYXN0LkxvYWQoKSkKKyAgICAgICAgcCA9IGFzdC5QYXNzKCkKKyAgICAgICAgc2VsZi5zdG10KGFzdC5Gb3IoeCwgeSwgW10sIFtdKSwgImVtcHR5IGJvZHkgb24gRm9yIikKKyAgICAgICAgc2VsZi5zdG10KGFzdC5Gb3IoYXN0Lk5hbWUoIngiLCBhc3QuTG9hZCgpKSwgeSwgW3BdLCBbXSksCisgICAgICAgICAgICAgICAgICAibXVzdCBoYXZlIFN0b3JlIGNvbnRleHQiKQorICAgICAgICBzZWxmLnN0bXQoYXN0LkZvcih4LCBhc3QuTmFtZSgieSIsIGFzdC5TdG9yZSgpKSwgW3BdLCBbXSksCisgICAgICAgICAgICAgICAgICAibXVzdCBoYXZlIExvYWQgY29udGV4dCIpCisgICAgICAgIGUgPSBhc3QuRXhwcihhc3QuTmFtZSgieCIsIGFzdC5TdG9yZSgpKSkKKyAgICAgICAgc2VsZi5zdG10KGFzdC5Gb3IoeCwgeSwgW2VdLCBbXSksICJtdXN0IGhhdmUgTG9hZCBjb250ZXh0IikKKyAgICAgICAgc2VsZi5zdG10KGFzdC5Gb3IoeCwgeSwgW3BdLCBbZV0pLCAibXVzdCBoYXZlIExvYWQgY29udGV4dCIpCisKKyAgICBkZWYgdGVzdF93aGlsZShzZWxmKToKKyAgICAgICAgc2VsZi5zdG10KGFzdC5XaGlsZShhc3QuTnVtKDMpLCBbXSwgW10pLCAiZW1wdHkgYm9keSBvbiBXaGlsZSIpCisgICAgICAgIHNlbGYuc3RtdChhc3QuV2hpbGUoYXN0Lk5hbWUoIngiLCBhc3QuU3RvcmUoKSksIFthc3QuUGFzcygpXSwgW10pLAorICAgICAgICAgICAgICAgICAgIm11c3QgaGF2ZSBMb2FkIGNvbnRleHQiKQorICAgICAgICBzZWxmLnN0bXQoYXN0LldoaWxlKGFzdC5OdW0oMyksIFthc3QuUGFzcygpXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FzdC5FeHByKGFzdC5OYW1lKCJ4IiwgYXN0LlN0b3JlKCkpKV0pLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibXVzdCBoYXZlIExvYWQgY29udGV4dCIpCisKKyAgICBkZWYgdGVzdF9pZihzZWxmKToKKyAgICAgICAgc2VsZi5zdG10KGFzdC5JZihhc3QuTnVtKDMpLCBbXSwgW10pLCAiZW1wdHkgYm9keSBvbiBJZiIpCisgICAgICAgIGkgPSBhc3QuSWYoYXN0Lk5hbWUoIngiLCBhc3QuU3RvcmUoKSksIFthc3QuUGFzcygpXSwgW10pCisgICAgICAgIHNlbGYuc3RtdChpLCAibXVzdCBoYXZlIExvYWQgY29udGV4dCIpCisgICAgICAgIGkgPSBhc3QuSWYoYXN0Lk51bSgzKSwgW2FzdC5FeHByKGFzdC5OYW1lKCJ4IiwgYXN0LlN0b3JlKCkpKV0sIFtdKQorICAgICAgICBzZWxmLnN0bXQoaSwgIm11c3QgaGF2ZSBMb2FkIGNvbnRleHQiKQorICAgICAgICBpID0gYXN0LklmKGFzdC5OdW0oMyksIFthc3QuUGFzcygpXSwKKyAgICAgICAgICAgICAgICAgICBbYXN0LkV4cHIoYXN0Lk5hbWUoIngiLCBhc3QuU3RvcmUoKSkpXSkKKyAgICAgICAgc2VsZi5zdG10KGksICJtdXN0IGhhdmUgTG9hZCBjb250ZXh0IikKKworICAgIGRlZiB0ZXN0X3dpdGgoc2VsZik6CisgICAgICAgIHAgPSBhc3QuUGFzcygpCisgICAgICAgIHNlbGYuc3RtdChhc3QuV2l0aChbXSwgW3BdKSwgImVtcHR5IGl0ZW1zIG9uIFdpdGgiKQorICAgICAgICBpID0gYXN0LndpdGhpdGVtKGFzdC5OdW0oMyksIE5vbmUpCisgICAgICAgIHNlbGYuc3RtdChhc3QuV2l0aChbaV0sIFtdKSwgImVtcHR5IGJvZHkgb24gV2l0aCIpCisgICAgICAgIGkgPSBhc3Qud2l0aGl0ZW0oYXN0Lk5hbWUoIngiLCBhc3QuU3RvcmUoKSksIE5vbmUpCisgICAgICAgIHNlbGYuc3RtdChhc3QuV2l0aChbaV0sIFtwXSksICJtdXN0IGhhdmUgTG9hZCBjb250ZXh0IikKKyAgICAgICAgaSA9IGFzdC53aXRoaXRlbShhc3QuTnVtKDMpLCBhc3QuTmFtZSgieCIsIGFzdC5Mb2FkKCkpKQorICAgICAgICBzZWxmLnN0bXQoYXN0LldpdGgoW2ldLCBbcF0pLCAibXVzdCBoYXZlIFN0b3JlIGNvbnRleHQiKQorCisgICAgZGVmIHRlc3RfcmFpc2Uoc2VsZik6CisgICAgICAgIHIgPSBhc3QuUmFpc2UoTm9uZSwgYXN0Lk51bSgzKSkKKyAgICAgICAgc2VsZi5zdG10KHIsICJSYWlzZSB3aXRoIGNhdXNlIGJ1dCBubyBleGNlcHRpb24iKQorICAgICAgICByID0gYXN0LlJhaXNlKGFzdC5OYW1lKCJ4IiwgYXN0LlN0b3JlKCkpLCBOb25lKQorICAgICAgICBzZWxmLnN0bXQociwgIm11c3QgaGF2ZSBMb2FkIGNvbnRleHQiKQorICAgICAgICByID0gYXN0LlJhaXNlKGFzdC5OdW0oNCksIGFzdC5OYW1lKCJ4IiwgYXN0LlN0b3JlKCkpKQorICAgICAgICBzZWxmLnN0bXQociwgIm11c3QgaGF2ZSBMb2FkIGNvbnRleHQiKQorCisgICAgZGVmIHRlc3RfdHJ5KHNlbGYpOgorICAgICAgICBwID0gYXN0LlBhc3MoKQorICAgICAgICB0ID0gYXN0LlRyeShbXSwgW10sIFtdLCBbcF0pCisgICAgICAgIHNlbGYuc3RtdCh0LCAiZW1wdHkgYm9keSBvbiBUcnkiKQorICAgICAgICB0ID0gYXN0LlRyeShbYXN0LkV4cHIoYXN0Lk5hbWUoIngiLCBhc3QuU3RvcmUoKSkpXSwgW10sIFtdLCBbcF0pCisgICAgICAgIHNlbGYuc3RtdCh0LCAibXVzdCBoYXZlIExvYWQgY29udGV4dCIpCisgICAgICAgIHQgPSBhc3QuVHJ5KFtwXSwgW10sIFtdLCBbXSkKKyAgICAgICAgc2VsZi5zdG10KHQsICJUcnkgaGFzIG5laXRoZXIgZXhjZXB0IGhhbmRsZXJzIG5vciBmaW5hbGJvZHkiKQorICAgICAgICB0ID0gYXN0LlRyeShbcF0sIFtdLCBbcF0sIFtwXSkKKyAgICAgICAgc2VsZi5zdG10KHQsICJUcnkgaGFzIG9yZWxzZSBidXQgbm8gZXhjZXB0IGhhbmRsZXJzIikKKyAgICAgICAgdCA9IGFzdC5UcnkoW3BdLCBbYXN0LkV4Y2VwdEhhbmRsZXIoTm9uZSwgIngiLCBbXSldLCBbXSwgW10pCisgICAgICAgIHNlbGYuc3RtdCh0LCAiZW1wdHkgYm9keSBvbiBFeGNlcHRIYW5kbGVyIikKKyAgICAgICAgZSA9IFthc3QuRXhjZXB0SGFuZGxlcihhc3QuTmFtZSgieCIsIGFzdC5TdG9yZSgpKSwgInkiLCBbcF0pXQorICAgICAgICBzZWxmLnN0bXQoYXN0LlRyeShbcF0sIGUsIFtdLCBbXSksICJtdXN0IGhhdmUgTG9hZCBjb250ZXh0IikKKyAgICAgICAgZSA9IFthc3QuRXhjZXB0SGFuZGxlcihOb25lLCAieCIsIFtwXSldCisgICAgICAgIHQgPSBhc3QuVHJ5KFtwXSwgZSwgW2FzdC5FeHByKGFzdC5OYW1lKCJ4IiwgYXN0LlN0b3JlKCkpKV0sIFtwXSkKKyAgICAgICAgc2VsZi5zdG10KHQsICJtdXN0IGhhdmUgTG9hZCBjb250ZXh0IikKKyAgICAgICAgdCA9IGFzdC5UcnkoW3BdLCBlLCBbcF0sIFthc3QuRXhwcihhc3QuTmFtZSgieCIsIGFzdC5TdG9yZSgpKSldKQorICAgICAgICBzZWxmLnN0bXQodCwgIm11c3QgaGF2ZSBMb2FkIGNvbnRleHQiKQorCisgICAgZGVmIHRlc3RfYXNzZXJ0KHNlbGYpOgorICAgICAgICBzZWxmLnN0bXQoYXN0LkFzc2VydChhc3QuTmFtZSgieCIsIGFzdC5TdG9yZSgpKSwgTm9uZSksCisgICAgICAgICAgICAgICAgICAibXVzdCBoYXZlIExvYWQgY29udGV4dCIpCisgICAgICAgIGFzc3J0ID0gYXN0LkFzc2VydChhc3QuTmFtZSgieCIsIGFzdC5Mb2FkKCkpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgYXN0Lk5hbWUoInkiLCBhc3QuU3RvcmUoKSkpCisgICAgICAgIHNlbGYuc3RtdChhc3NydCwgIm11c3QgaGF2ZSBMb2FkIGNvbnRleHQiKQorCisgICAgZGVmIHRlc3RfaW1wb3J0KHNlbGYpOgorICAgICAgICBzZWxmLnN0bXQoYXN0LkltcG9ydChbXSksICJlbXB0eSBuYW1lcyBvbiBJbXBvcnQiKQorCisgICAgZGVmIHRlc3RfaW1wb3J0ZnJvbShzZWxmKToKKyAgICAgICAgaW1wID0gYXN0LkltcG9ydEZyb20oTm9uZSwgW2FzdC5hbGlhcygieCIsIE5vbmUpXSwgLTQyKQorICAgICAgICBzZWxmLnN0bXQoaW1wLCAibGV2ZWwgbGVzcyB0aGFuIC0xIikKKyAgICAgICAgc2VsZi5zdG10KGFzdC5JbXBvcnRGcm9tKE5vbmUsIFtdLCAwKSwgImVtcHR5IG5hbWVzIG9uIEltcG9ydEZyb20iKQorCisgICAgZGVmIHRlc3RfZ2xvYmFsKHNlbGYpOgorICAgICAgICBzZWxmLnN0bXQoYXN0Lkdsb2JhbChbXSksICJlbXB0eSBuYW1lcyBvbiBHbG9iYWwiKQorCisgICAgZGVmIHRlc3Rfbm9ubG9jYWwoc2VsZik6CisgICAgICAgIHNlbGYuc3RtdChhc3QuTm9ubG9jYWwoW10pLCAiZW1wdHkgbmFtZXMgb24gTm9ubG9jYWwiKQorCisgICAgZGVmIHRlc3RfZXhwcihzZWxmKToKKyAgICAgICAgZSA9IGFzdC5FeHByKGFzdC5OYW1lKCJ4IiwgYXN0LlN0b3JlKCkpKQorICAgICAgICBzZWxmLnN0bXQoZSwgIm11c3QgaGF2ZSBMb2FkIGNvbnRleHQiKQorCisgICAgZGVmIHRlc3RfYm9vbG9wKHNlbGYpOgorICAgICAgICBiID0gYXN0LkJvb2xPcChhc3QuQW5kKCksIFtdKQorICAgICAgICBzZWxmLmV4cHIoYiwgImxlc3MgdGhhbiAyIHZhbHVlcyIpCisgICAgICAgIGIgPSBhc3QuQm9vbE9wKGFzdC5BbmQoKSwgW2FzdC5OdW0oMyldKQorICAgICAgICBzZWxmLmV4cHIoYiwgImxlc3MgdGhhbiAyIHZhbHVlcyIpCisgICAgICAgIGIgPSBhc3QuQm9vbE9wKGFzdC5BbmQoKSwgW2FzdC5OdW0oNCksIE5vbmVdKQorICAgICAgICBzZWxmLmV4cHIoYiwgIk5vbmUgZGlzYWxsb3dlZCIpCisgICAgICAgIGIgPSBhc3QuQm9vbE9wKGFzdC5BbmQoKSwgW2FzdC5OdW0oNCksIGFzdC5OYW1lKCJ4IiwgYXN0LlN0b3JlKCkpXSkKKyAgICAgICAgc2VsZi5leHByKGIsICJtdXN0IGhhdmUgTG9hZCBjb250ZXh0IikKKworICAgIGRlZiB0ZXN0X3VuYXJ5b3Aoc2VsZik6CisgICAgICAgIHUgPSBhc3QuVW5hcnlPcChhc3QuTm90KCksIGFzdC5OYW1lKCJ4IiwgYXN0LlN0b3JlKCkpKQorICAgICAgICBzZWxmLmV4cHIodSwgIm11c3QgaGF2ZSBMb2FkIGNvbnRleHQiKQorCisgICAgZGVmIHRlc3RfbGFtYmRhKHNlbGYpOgorICAgICAgICBhID0gYXN0LmFyZ3VtZW50cyhbXSwgTm9uZSwgTm9uZSwgW10sIE5vbmUsIE5vbmUsIFtdLCBbXSkKKyAgICAgICAgc2VsZi5leHByKGFzdC5MYW1iZGEoYSwgYXN0Lk5hbWUoIngiLCBhc3QuU3RvcmUoKSkpLAorICAgICAgICAgICAgICAgICAgIm11c3QgaGF2ZSBMb2FkIGNvbnRleHQiKQorICAgICAgICBkZWYgZmFjKGFyZ3MpOgorICAgICAgICAgICAgcmV0dXJuIGFzdC5MYW1iZGEoYXJncywgYXN0Lk5hbWUoIngiLCBhc3QuTG9hZCgpKSkKKyAgICAgICAgc2VsZi5fY2hlY2tfYXJndW1lbnRzKGZhYywgc2VsZi5leHByKQorCisgICAgZGVmIHRlc3RfaWZleHAoc2VsZik6CisgICAgICAgIGwgPSBhc3QuTmFtZSgieCIsIGFzdC5Mb2FkKCkpCisgICAgICAgIHMgPSBhc3QuTmFtZSgieSIsIGFzdC5TdG9yZSgpKQorICAgICAgICBmb3IgYXJncyBpbiAocywgbCwgbCksIChsLCBzLCBsKSwgKGwsIGwsIHMpOgorICAgICAgICAgICAgc2VsZi5leHByKGFzdC5JZkV4cCgqYXJncyksICJtdXN0IGhhdmUgTG9hZCBjb250ZXh0IikKKworICAgIGRlZiB0ZXN0X2RpY3Qoc2VsZik6CisgICAgICAgIGQgPSBhc3QuRGljdChbXSwgW2FzdC5OYW1lKCJ4IiwgYXN0LkxvYWQoKSldKQorICAgICAgICBzZWxmLmV4cHIoZCwgInNhbWUgbnVtYmVyIG9mIGtleXMgYXMgdmFsdWVzIikKKyAgICAgICAgZCA9IGFzdC5EaWN0KFtOb25lXSwgW2FzdC5OYW1lKCJ4IiwgYXN0LkxvYWQoKSldKQorICAgICAgICBzZWxmLmV4cHIoZCwgIk5vbmUgZGlzYWxsb3dlZCIpCisgICAgICAgIGQgPSBhc3QuRGljdChbYXN0Lk5hbWUoIngiLCBhc3QuTG9hZCgpKV0sIFtOb25lXSkKKyAgICAgICAgc2VsZi5leHByKGQsICJOb25lIGRpc2FsbG93ZWQiKQorCisgICAgZGVmIHRlc3Rfc2V0KHNlbGYpOgorICAgICAgICBzZWxmLmV4cHIoYXN0LlNldChbTm9uZV0pLCAiTm9uZSBkaXNhbGxvd2VkIikKKyAgICAgICAgcyA9IGFzdC5TZXQoW2FzdC5OYW1lKCJ4IiwgYXN0LlN0b3JlKCkpXSkKKyAgICAgICAgc2VsZi5leHByKHMsICJtdXN0IGhhdmUgTG9hZCBjb250ZXh0IikKKworICAgIGRlZiBfY2hlY2tfY29tcHJlaGVuc2lvbihzZWxmLCBmYWMpOgorICAgICAgICBzZWxmLmV4cHIoZmFjKFtdKSwgImNvbXByZWhlbnNpb24gd2l0aCBubyBnZW5lcmF0b3JzIikKKyAgICAgICAgZyA9IGFzdC5jb21wcmVoZW5zaW9uKGFzdC5OYW1lKCJ4IiwgYXN0LkxvYWQoKSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhc3QuTmFtZSgieCIsIGFzdC5Mb2FkKCkpLCBbXSkKKyAgICAgICAgc2VsZi5leHByKGZhYyhbZ10pLCAibXVzdCBoYXZlIFN0b3JlIGNvbnRleHQiKQorICAgICAgICBnID0gYXN0LmNvbXByZWhlbnNpb24oYXN0Lk5hbWUoIngiLCBhc3QuU3RvcmUoKSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhc3QuTmFtZSgieCIsIGFzdC5TdG9yZSgpKSwgW10pCisgICAgICAgIHNlbGYuZXhwcihmYWMoW2ddKSwgIm11c3QgaGF2ZSBMb2FkIGNvbnRleHQiKQorICAgICAgICB4ID0gYXN0Lk5hbWUoIngiLCBhc3QuU3RvcmUoKSkKKyAgICAgICAgeSA9IGFzdC5OYW1lKCJ5IiwgYXN0LkxvYWQoKSkKKyAgICAgICAgZyA9IGFzdC5jb21wcmVoZW5zaW9uKHgsIHksIFtOb25lXSkKKyAgICAgICAgc2VsZi5leHByKGZhYyhbZ10pLCAiTm9uZSBkaXNhbGxvd2VkIikKKyAgICAgICAgZyA9IGFzdC5jb21wcmVoZW5zaW9uKHgsIHksIFthc3QuTmFtZSgieCIsIGFzdC5TdG9yZSgpKV0pCisgICAgICAgIHNlbGYuZXhwcihmYWMoW2ddKSwgIm11c3QgaGF2ZSBMb2FkIGNvbnRleHQiKQorCisgICAgZGVmIF9zaW1wbGVfY29tcChzZWxmLCBmYWMpOgorICAgICAgICBnID0gYXN0LmNvbXByZWhlbnNpb24oYXN0Lk5hbWUoIngiLCBhc3QuU3RvcmUoKSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhc3QuTmFtZSgieCIsIGFzdC5Mb2FkKCkpLCBbXSkKKyAgICAgICAgc2VsZi5leHByKGZhYyhhc3QuTmFtZSgieCIsIGFzdC5TdG9yZSgpKSwgW2ddKSwKKyAgICAgICAgICAgICAgICAgICJtdXN0IGhhdmUgTG9hZCBjb250ZXh0IikKKyAgICAgICAgZGVmIHdyYXAoZ2Vucyk6CisgICAgICAgICAgICByZXR1cm4gZmFjKGFzdC5OYW1lKCJ4IiwgYXN0LlN0b3JlKCkpLCBnZW5zKQorICAgICAgICBzZWxmLl9jaGVja19jb21wcmVoZW5zaW9uKHdyYXApCisKKyAgICBkZWYgdGVzdF9saXN0Y29tcChzZWxmKToKKyAgICAgICAgc2VsZi5fc2ltcGxlX2NvbXAoYXN0Lkxpc3RDb21wKQorCisgICAgZGVmIHRlc3Rfc2V0Y29tcChzZWxmKToKKyAgICAgICAgc2VsZi5fc2ltcGxlX2NvbXAoYXN0LlNldENvbXApCisKKyAgICBkZWYgdGVzdF9nZW5lcmF0b3JleHAoc2VsZik6CisgICAgICAgIHNlbGYuX3NpbXBsZV9jb21wKGFzdC5HZW5lcmF0b3JFeHApCisKKyAgICBkZWYgdGVzdF9kaWN0Y29tcChzZWxmKToKKyAgICAgICAgZyA9IGFzdC5jb21wcmVoZW5zaW9uKGFzdC5OYW1lKCJ5IiwgYXN0LlN0b3JlKCkpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXN0Lk5hbWUoInAiLCBhc3QuTG9hZCgpKSwgW10pCisgICAgICAgIGMgPSBhc3QuRGljdENvbXAoYXN0Lk5hbWUoIngiLCBhc3QuU3RvcmUoKSksCisgICAgICAgICAgICAgICAgICAgICAgICAgYXN0Lk5hbWUoInkiLCBhc3QuTG9hZCgpKSwgW2ddKQorICAgICAgICBzZWxmLmV4cHIoYywgIm11c3QgaGF2ZSBMb2FkIGNvbnRleHQiKQorICAgICAgICBjID0gYXN0LkRpY3RDb21wKGFzdC5OYW1lKCJ4IiwgYXN0LkxvYWQoKSksCisgICAgICAgICAgICAgICAgICAgICAgICAgYXN0Lk5hbWUoInkiLCBhc3QuU3RvcmUoKSksIFtnXSkKKyAgICAgICAgc2VsZi5leHByKGMsICJtdXN0IGhhdmUgTG9hZCBjb250ZXh0IikKKyAgICAgICAgZGVmIGZhY3RvcnkoY29tcHMpOgorICAgICAgICAgICAgayA9IGFzdC5OYW1lKCJ4IiwgYXN0LkxvYWQoKSkKKyAgICAgICAgICAgIHYgPSBhc3QuTmFtZSgieSIsIGFzdC5Mb2FkKCkpCisgICAgICAgICAgICByZXR1cm4gYXN0LkRpY3RDb21wKGssIHYsIGNvbXBzKQorICAgICAgICBzZWxmLl9jaGVja19jb21wcmVoZW5zaW9uKGZhY3RvcnkpCisKKyAgICBkZWYgdGVzdF95aWVsZChzZWxmKToKKyAgICAgICAgc2VsZi5leHByKGFzdC5ZaWVsZChhc3QuTmFtZSgieCIsIGFzdC5TdG9yZSgpKSksICJtdXN0IGhhdmUgTG9hZCIpCisgICAgICAgIHNlbGYuZXhwcihhc3QuWWllbGRGcm9tKGFzdC5OYW1lKCJ4IiwgYXN0LlN0b3JlKCkpKSwgIm11c3QgaGF2ZSBMb2FkIikKKworICAgIGRlZiB0ZXN0X2NvbXBhcmUoc2VsZik6CisgICAgICAgIGxlZnQgPSBhc3QuTmFtZSgieCIsIGFzdC5Mb2FkKCkpCisgICAgICAgIGNvbXAgPSBhc3QuQ29tcGFyZShsZWZ0LCBbYXN0LkluKCldLCBbXSkKKyAgICAgICAgc2VsZi5leHByKGNvbXAsICJubyBjb21wYXJhdG9ycyIpCisgICAgICAgIGNvbXAgPSBhc3QuQ29tcGFyZShsZWZ0LCBbYXN0LkluKCldLCBbYXN0Lk51bSg0KSwgYXN0Lk51bSg1KV0pCisgICAgICAgIHNlbGYuZXhwcihjb21wLCAiZGlmZmVyZW50IG51bWJlciBvZiBjb21wYXJhdG9ycyBhbmQgb3BlcmFuZHMiKQorICAgICAgICBjb21wID0gYXN0LkNvbXBhcmUoYXN0Lk51bSgiYmxhaCIpLCBbYXN0LkluKCldLCBbbGVmdF0pCisgICAgICAgIHNlbGYuZXhwcihjb21wLCAibm9uLW51bWVyaWMiLCBleGM9VHlwZUVycm9yKQorICAgICAgICBjb21wID0gYXN0LkNvbXBhcmUobGVmdCwgW2FzdC5JbigpXSwgW2FzdC5OdW0oImJsYWgiKV0pCisgICAgICAgIHNlbGYuZXhwcihjb21wLCAibm9uLW51bWVyaWMiLCBleGM9VHlwZUVycm9yKQorCisgICAgZGVmIHRlc3RfY2FsbChzZWxmKToKKyAgICAgICAgZnVuYyA9IGFzdC5OYW1lKCJ4IiwgYXN0LkxvYWQoKSkKKyAgICAgICAgYXJncyA9IFthc3QuTmFtZSgieSIsIGFzdC5Mb2FkKCkpXQorICAgICAgICBrZXl3b3JkcyA9IFthc3Qua2V5d29yZCgidyIsIGFzdC5OYW1lKCJ6IiwgYXN0LkxvYWQoKSkpXQorICAgICAgICBzdGFyYXJnID0gYXN0Lk5hbWUoInAiLCBhc3QuTG9hZCgpKQorICAgICAgICBrd2FyZyA9IGFzdC5OYW1lKCJxIiwgYXN0LkxvYWQoKSkKKyAgICAgICAgY2FsbCA9IGFzdC5DYWxsKGFzdC5OYW1lKCJ4IiwgYXN0LlN0b3JlKCkpLCBhcmdzLCBrZXl3b3Jkcywgc3RhcmFyZywKKyAgICAgICAgICAgICAgICAgICAgICAgIGt3YXJnKQorICAgICAgICBzZWxmLmV4cHIoY2FsbCwgIm11c3QgaGF2ZSBMb2FkIGNvbnRleHQiKQorICAgICAgICBjYWxsID0gYXN0LkNhbGwoZnVuYywgW05vbmVdLCBrZXl3b3Jkcywgc3RhcmFyZywga3dhcmcpCisgICAgICAgIHNlbGYuZXhwcihjYWxsLCAiTm9uZSBkaXNhbGxvd2VkIikKKyAgICAgICAgYmFkX2tleXdvcmRzID0gW2FzdC5rZXl3b3JkKCJ3IiwgYXN0Lk5hbWUoInoiLCBhc3QuU3RvcmUoKSkpXQorICAgICAgICBjYWxsID0gYXN0LkNhbGwoZnVuYywgYXJncywgYmFkX2tleXdvcmRzLCBzdGFyYXJnLCBrd2FyZykKKyAgICAgICAgc2VsZi5leHByKGNhbGwsICJtdXN0IGhhdmUgTG9hZCBjb250ZXh0IikKKyAgICAgICAgY2FsbCA9IGFzdC5DYWxsKGZ1bmMsIGFyZ3MsIGtleXdvcmRzLCBhc3QuTmFtZSgieiIsIGFzdC5TdG9yZSgpKSwga3dhcmcpCisgICAgICAgIHNlbGYuZXhwcihjYWxsLCAibXVzdCBoYXZlIExvYWQgY29udGV4dCIpCisgICAgICAgIGNhbGwgPSBhc3QuQ2FsbChmdW5jLCBhcmdzLCBrZXl3b3Jkcywgc3RhcmFyZywKKyAgICAgICAgICAgICAgICAgICAgICAgIGFzdC5OYW1lKCJ3IiwgYXN0LlN0b3JlKCkpKQorICAgICAgICBzZWxmLmV4cHIoY2FsbCwgIm11c3QgaGF2ZSBMb2FkIGNvbnRleHQiKQorCisgICAgZGVmIHRlc3RfbnVtKHNlbGYpOgorICAgICAgICBjbGFzcyBzdWJpbnQoaW50KToKKyAgICAgICAgICAgIHBhc3MKKyAgICAgICAgY2xhc3Mgc3ViZmxvYXQoZmxvYXQpOgorICAgICAgICAgICAgcGFzcworICAgICAgICBjbGFzcyBzdWJjb21wbGV4KGNvbXBsZXgpOgorICAgICAgICAgICAgcGFzcworICAgICAgICBmb3Igb2JqIGluICIwIiwgImhlbGxvIiwgc3ViaW50KCksIHN1YmZsb2F0KCksIHN1YmNvbXBsZXgoKToKKyAgICAgICAgICAgIHNlbGYuZXhwcihhc3QuTnVtKG9iaiksICJub24tbnVtZXJpYyIsIGV4Yz1UeXBlRXJyb3IpCisKKyAgICBkZWYgdGVzdF9hdHRyaWJ1dGUoc2VsZik6CisgICAgICAgIGF0dHIgPSBhc3QuQXR0cmlidXRlKGFzdC5OYW1lKCJ4IiwgYXN0LlN0b3JlKCkpLCAieSIsIGFzdC5Mb2FkKCkpCisgICAgICAgIHNlbGYuZXhwcihhdHRyLCAibXVzdCBoYXZlIExvYWQgY29udGV4dCIpCisKKyAgICBkZWYgdGVzdF9zdWJzY3JpcHQoc2VsZik6CisgICAgICAgIHN1YiA9IGFzdC5TdWJzY3JpcHQoYXN0Lk5hbWUoIngiLCBhc3QuU3RvcmUoKSksIGFzdC5JbmRleChhc3QuTnVtKDMpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBhc3QuTG9hZCgpKQorICAgICAgICBzZWxmLmV4cHIoc3ViLCAibXVzdCBoYXZlIExvYWQgY29udGV4dCIpCisgICAgICAgIHggPSBhc3QuTmFtZSgieCIsIGFzdC5Mb2FkKCkpCisgICAgICAgIHN1YiA9IGFzdC5TdWJzY3JpcHQoeCwgYXN0LkluZGV4KGFzdC5OYW1lKCJ5IiwgYXN0LlN0b3JlKCkpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBhc3QuTG9hZCgpKQorICAgICAgICBzZWxmLmV4cHIoc3ViLCAibXVzdCBoYXZlIExvYWQgY29udGV4dCIpCisgICAgICAgIHMgPSBhc3QuTmFtZSgieCIsIGFzdC5TdG9yZSgpKQorICAgICAgICBmb3IgYXJncyBpbiAocywgTm9uZSwgTm9uZSksIChOb25lLCBzLCBOb25lKSwgKE5vbmUsIE5vbmUsIHMpOgorICAgICAgICAgICAgc2wgPSBhc3QuU2xpY2UoKmFyZ3MpCisgICAgICAgICAgICBzZWxmLmV4cHIoYXN0LlN1YnNjcmlwdCh4LCBzbCwgYXN0LkxvYWQoKSksCisgICAgICAgICAgICAgICAgICAgICAgIm11c3QgaGF2ZSBMb2FkIGNvbnRleHQiKQorICAgICAgICBzbCA9IGFzdC5FeHRTbGljZShbXSkKKyAgICAgICAgc2VsZi5leHByKGFzdC5TdWJzY3JpcHQoeCwgc2wsIGFzdC5Mb2FkKCkpLCAiZW1wdHkgZGltcyBvbiBFeHRTbGljZSIpCisgICAgICAgIHNsID0gYXN0LkV4dFNsaWNlKFthc3QuSW5kZXgocyldKQorICAgICAgICBzZWxmLmV4cHIoYXN0LlN1YnNjcmlwdCh4LCBzbCwgYXN0LkxvYWQoKSksICJtdXN0IGhhdmUgTG9hZCBjb250ZXh0IikKKworICAgIGRlZiB0ZXN0X3N0YXJyZWQoc2VsZik6CisgICAgICAgIGxlZnQgPSBhc3QuTGlzdChbYXN0LlN0YXJyZWQoYXN0Lk5hbWUoIngiLCBhc3QuTG9hZCgpKSwgYXN0LlN0b3JlKCkpXSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGFzdC5TdG9yZSgpKQorICAgICAgICBhc3NpZ24gPSBhc3QuQXNzaWduKFtsZWZ0XSwgYXN0Lk51bSg0KSkKKyAgICAgICAgc2VsZi5zdG10KGFzc2lnbiwgIm11c3QgaGF2ZSBTdG9yZSBjb250ZXh0IikKKworICAgIGRlZiBfc2VxdWVuY2Uoc2VsZiwgZmFjKToKKyAgICAgICAgc2VsZi5leHByKGZhYyhbTm9uZV0sIGFzdC5Mb2FkKCkpLCAiTm9uZSBkaXNhbGxvd2VkIikKKyAgICAgICAgc2VsZi5leHByKGZhYyhbYXN0Lk5hbWUoIngiLCBhc3QuU3RvcmUoKSldLCBhc3QuTG9hZCgpKSwKKyAgICAgICAgICAgICAgICAgICJtdXN0IGhhdmUgTG9hZCBjb250ZXh0IikKKworICAgIGRlZiB0ZXN0X2xpc3Qoc2VsZik6CisgICAgICAgIHNlbGYuX3NlcXVlbmNlKGFzdC5MaXN0KQorCisgICAgZGVmIHRlc3RfdHVwbGUoc2VsZik6CisgICAgICAgIHNlbGYuX3NlcXVlbmNlKGFzdC5UdXBsZSkKKworICAgIGRlZiB0ZXN0X3N0ZGxpYl92YWxpZGF0ZXMoc2VsZik6CisgICAgICAgIHN0ZGxpYiA9IG9zLnBhdGguZGlybmFtZShhc3QuX19maWxlX18pCisgICAgICAgIHRlc3RzID0gW2ZuIGZvciBmbiBpbiBvcy5saXN0ZGlyKHN0ZGxpYikgaWYgZm4uZW5kc3dpdGgoIi5weSIpXQorICAgICAgICB0ZXN0cy5leHRlbmQoWyJ0ZXN0L3Rlc3RfZ3JhbW1hci5weSIsICJ0ZXN0L3Rlc3RfdW5wYWNrX2V4LnB5Il0pCisgICAgICAgIGZvciBtb2R1bGUgaW4gdGVzdHM6CisgICAgICAgICAgICBmbiA9IG9zLnBhdGguam9pbihzdGRsaWIsIG1vZHVsZSkKKyAgICAgICAgICAgIHdpdGggb3BlbihmbiwgInIiLCBlbmNvZGluZz0idXRmLTgiKSBhcyBmcDoKKyAgICAgICAgICAgICAgICBzb3VyY2UgPSBmcC5yZWFkKCkKKyAgICAgICAgICAgIG1vZCA9IGFzdC5wYXJzZShzb3VyY2UpCisgICAgICAgICAgICBjb21waWxlKG1vZCwgZm4sICJleGVjIikKKworCiBkZWYgdGVzdF9tYWluKCk6Ci0gICAgc3VwcG9ydC5ydW5fdW5pdHRlc3QoQVNUX1Rlc3RzLCBBU1RIZWxwZXJzX1Rlc3QpCisgICAgc3VwcG9ydC5ydW5fdW5pdHRlc3QoQVNUX1Rlc3RzLCBBU1RIZWxwZXJzX1Rlc3QsIEFTVFZhbGlkYXRvclRlc3RzKQogCiBkZWYgbWFpbigpOgogICAgIGlmIF9fbmFtZV9fICE9ICdfX21haW5fXyc6CkBAIC01MjcsOSArOTQwLDExIEBACiAoJ01vZHVsZScsIFsoJ0ZvcicsICgxLCAwKSwgKCdOYW1lJywgKDEsIDQpLCAndicsICgnU3RvcmUnLCkpLCAoJ05hbWUnLCAoMSwgOSksICd2JywgKCdMb2FkJywpKSwgWygnUGFzcycsICgxLCAxMSkpXSwgW10pXSksCiAoJ01vZHVsZScsIFsoJ1doaWxlJywgKDEsIDApLCAoJ05hbWUnLCAoMSwgNiksICd2JywgKCdMb2FkJywpKSwgWygnUGFzcycsICgxLCA4KSldLCBbXSldKSwKICgnTW9kdWxlJywgWygnSWYnLCAoMSwgMCksICgnTmFtZScsICgxLCAzKSwgJ3YnLCAoJ0xvYWQnLCkpLCBbKCdQYXNzJywgKDEsIDUpKV0sIFtdKV0pLAorKCdNb2R1bGUnLCBbKCdXaXRoJywgKDEsIDApLCBbKCd3aXRoaXRlbScsICgnTmFtZScsICgxLCA1KSwgJ3gnLCAoJ0xvYWQnLCkpLCAoJ05hbWUnLCAoMSwgMTApLCAneScsICgnU3RvcmUnLCkpKV0sIFsoJ1Bhc3MnLCAoMSwgMTMpKV0pXSksCisoJ01vZHVsZScsIFsoJ1dpdGgnLCAoMSwgMCksIFsoJ3dpdGhpdGVtJywgKCdOYW1lJywgKDEsIDUpLCAneCcsICgnTG9hZCcsKSksICgnTmFtZScsICgxLCAxMCksICd5JywgKCdTdG9yZScsKSkpLCAoJ3dpdGhpdGVtJywgKCdOYW1lJywgKDEsIDEzKSwgJ3onLCAoJ0xvYWQnLCkpLCAoJ05hbWUnLCAoMSwgMTgpLCAncScsICgnU3RvcmUnLCkpKV0sIFsoJ1Bhc3MnLCAoMSwgMjEpKV0pXSksCiAoJ01vZHVsZScsIFsoJ1JhaXNlJywgKDEsIDApLCAoJ0NhbGwnLCAoMSwgNiksICgnTmFtZScsICgxLCA2KSwgJ0V4Y2VwdGlvbicsICgnTG9hZCcsKSksIFsoJ1N0cicsICgxLCAxNiksICdzdHJpbmcnKV0sIFtdLCBOb25lLCBOb25lKSwgTm9uZSldKSwKLSgnTW9kdWxlJywgWygnVHJ5RXhjZXB0JywgKDEsIDApLCBbKCdQYXNzJywgKDIsIDIpKV0sIFsoJ0V4Y2VwdEhhbmRsZXInLCAoMywgMCksICgnTmFtZScsICgzLCA3KSwgJ0V4Y2VwdGlvbicsICgnTG9hZCcsKSksIE5vbmUsIFsoJ1Bhc3MnLCAoNCwgMikpXSldLCBbXSldKSwKLSgnTW9kdWxlJywgWygnVHJ5RmluYWxseScsICgxLCAwKSwgWygnUGFzcycsICgyLCAyKSldLCBbKCdQYXNzJywgKDQsIDIpKV0pXSksCisoJ01vZHVsZScsIFsoJ1RyeScsICgxLCAwKSwgWygnUGFzcycsICgyLCAyKSldLCBbKCdFeGNlcHRIYW5kbGVyJywgKDMsIDApLCAoJ05hbWUnLCAoMywgNyksICdFeGNlcHRpb24nLCAoJ0xvYWQnLCkpLCBOb25lLCBbKCdQYXNzJywgKDQsIDIpKV0pXSwgW10sIFtdKV0pLAorKCdNb2R1bGUnLCBbKCdUcnknLCAoMSwgMCksIFsoJ1Bhc3MnLCAoMiwgMikpXSwgW10sIFtdLCBbKCdQYXNzJywgKDQsIDIpKV0pXSksCiAoJ01vZHVsZScsIFsoJ0Fzc2VydCcsICgxLCAwKSwgKCdOYW1lJywgKDEsIDcpLCAndicsICgnTG9hZCcsKSksIE5vbmUpXSksCiAoJ01vZHVsZScsIFsoJ0ltcG9ydCcsICgxLCAwKSwgWygnYWxpYXMnLCAnc3lzJywgTm9uZSldKV0pLAogKCdNb2R1bGUnLCBbKCdJbXBvcnRGcm9tJywgKDEsIDApLCAnc3lzJywgWygnYWxpYXMnLCAndicsIE5vbmUpXSwgMCldKSwKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfYXN5bmNvcmUucHkgYi9MaWIvdGVzdC90ZXN0X2FzeW5jb3JlLnB5CmluZGV4IDUzYzQ5YTguLjUyZGZmMGYgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfYXN5bmNvcmUucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9hc3luY29yZS5weQpAQCAtMjAsNiArMjAsOCBAQAogCiBIT1NUID0gc3VwcG9ydC5IT1NUCiAKK0hBU19VTklYX1NPQ0tFVFMgPSBoYXNhdHRyKHNvY2tldCwgJ0FGX1VOSVgnKQorCiBjbGFzcyBkdW1teXNvY2tldDoKICAgICBkZWYgX19pbml0X18oc2VsZik6CiAgICAgICAgIHNlbGYuY2xvc2VkID0gRmFsc2UKQEAgLTg3LDYgKzg5LDEzIEBACiAgICAgICAgIHNlcnYuY2xvc2UoKQogICAgICAgICBldnQuc2V0KCkKIAorZGVmIGJpbmRfYWZfYXdhcmUoc29jaywgYWRkcik6CisgICAgIiIiSGVscGVyIGZ1bmN0aW9uIHRvIGJpbmQgYSBzb2NrZXQgYWNjb3JkaW5nIHRvIGl0cyBmYW1pbHkuIiIiCisgICAgaWYgSEFTX1VOSVhfU09DS0VUUyBhbmQgc29jay5mYW1pbHkgPT0gc29ja2V0LkFGX1VOSVg6CisgICAgICAgICMgTWFrZSBzdXJlIHRoZSBwYXRoIGRvZXNuJ3QgZXhpc3QuCisgICAgICAgIHVubGluayhhZGRyKQorICAgIHNvY2suYmluZChhZGRyKQorCiAKIGNsYXNzIEhlbHBlckZ1bmN0aW9uVGVzdHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgIGRlZiB0ZXN0X3JlYWR3cml0ZWV4YyhzZWxmKToKQEAgLTM1Miw3ICszNjEsNyBAQAogICAgIEBzdXBwb3J0LnJlYXBfdGhyZWFkcwogICAgIGRlZiB0ZXN0X3NlbmQoc2VsZik6CiAgICAgICAgIGV2dCA9IHRocmVhZGluZy5FdmVudCgpCi0gICAgICAgIHNvY2sgPSBzb2NrZXQuc29ja2V0KHNvY2tldC5BRl9JTkVULCBzb2NrZXQuU09DS19TVFJFQU0pCisgICAgICAgIHNvY2sgPSBzb2NrZXQuc29ja2V0KCkKICAgICAgICAgc29jay5zZXR0aW1lb3V0KDMpCiAgICAgICAgIHBvcnQgPSBzdXBwb3J0LmJpbmRfcG9ydChzb2NrKQogCkBAIC0zNjcsNyArMzc2LDcgQEAKIAogICAgICAgICAgICAgZGF0YSA9IGIiU3VwcG9zZSB0aGVyZSBpc24ndCBhIDE2LXRvbiB3ZWlnaHQ/IgogICAgICAgICAgICAgZCA9IGRpc3BhdGNoZXJ3aXRoc2VuZF9ub3JlYWQoKQotICAgICAgICAgICAgZC5jcmVhdGVfc29ja2V0KHNvY2tldC5BRl9JTkVULCBzb2NrZXQuU09DS19TVFJFQU0pCisgICAgICAgICAgICBkLmNyZWF0ZV9zb2NrZXQoKQogICAgICAgICAgICAgZC5jb25uZWN0KChIT1NULCBwb3J0KSkKIAogICAgICAgICAgICAgIyBnaXZlIHRpbWUgZm9yIHNvY2tldCB0byBjb25uZWN0CkBAIC00NjcsMjIgKzQ3NiwyMiBAQAogICAgICAgICByYWlzZQogCiAKLWNsYXNzIFRDUFNlcnZlcihhc3luY29yZS5kaXNwYXRjaGVyKToKK2NsYXNzIEJhc2VTZXJ2ZXIoYXN5bmNvcmUuZGlzcGF0Y2hlcik6CiAgICAgIiIiQSBzZXJ2ZXIgd2hpY2ggbGlzdGVucyBvbiBhbiBhZGRyZXNzIGFuZCBkaXNwYXRjaGVzIHRoZQogICAgIGNvbm5lY3Rpb24gdG8gYSBoYW5kbGVyLgogICAgICIiIgogCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIGhhbmRsZXI9QmFzZVRlc3RIYW5kbGVyLCBob3N0PUhPU1QsIHBvcnQ9MCk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGZhbWlseSwgYWRkciwgaGFuZGxlcj1CYXNlVGVzdEhhbmRsZXIpOgogICAgICAgICBhc3luY29yZS5kaXNwYXRjaGVyLl9faW5pdF9fKHNlbGYpCi0gICAgICAgIHNlbGYuY3JlYXRlX3NvY2tldChzb2NrZXQuQUZfSU5FVCwgc29ja2V0LlNPQ0tfU1RSRUFNKQorICAgICAgICBzZWxmLmNyZWF0ZV9zb2NrZXQoZmFtaWx5KQogICAgICAgICBzZWxmLnNldF9yZXVzZV9hZGRyKCkKLSAgICAgICAgc2VsZi5iaW5kKChob3N0LCBwb3J0KSkKKyAgICAgICAgYmluZF9hZl9hd2FyZShzZWxmLnNvY2tldCwgYWRkcikKICAgICAgICAgc2VsZi5saXN0ZW4oNSkKICAgICAgICAgc2VsZi5oYW5kbGVyID0gaGFuZGxlcgogCiAgICAgQHByb3BlcnR5CiAgICAgZGVmIGFkZHJlc3Moc2VsZik6Ci0gICAgICAgIHJldHVybiBzZWxmLnNvY2tldC5nZXRzb2NrbmFtZSgpWzoyXQorICAgICAgICByZXR1cm4gc2VsZi5zb2NrZXQuZ2V0c29ja25hbWUoKQogCiAgICAgZGVmIGhhbmRsZV9hY2NlcHRlZChzZWxmLCBzb2NrLCBhZGRyKToKICAgICAgICAgc2VsZi5oYW5kbGVyKHNvY2spCkBAIC00OTMsOSArNTAyLDkgQEAKIAogY2xhc3MgQmFzZUNsaWVudChCYXNlVGVzdEhhbmRsZXIpOgogCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIGFkZHJlc3MpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBmYW1pbHksIGFkZHJlc3MpOgogICAgICAgICBCYXNlVGVzdEhhbmRsZXIuX19pbml0X18oc2VsZikKLSAgICAgICAgc2VsZi5jcmVhdGVfc29ja2V0KHNvY2tldC5BRl9JTkVULCBzb2NrZXQuU09DS19TVFJFQU0pCisgICAgICAgIHNlbGYuY3JlYXRlX3NvY2tldChmYW1pbHkpCiAgICAgICAgIHNlbGYuY29ubmVjdChhZGRyZXNzKQogCiAgICAgZGVmIGhhbmRsZV9jb25uZWN0KHNlbGYpOgpAQCAtNTI1LDggKzUzNCw4IEBACiAgICAgICAgICAgICBkZWYgaGFuZGxlX2Nvbm5lY3Qoc2VsZik6CiAgICAgICAgICAgICAgICAgc2VsZi5mbGFnID0gVHJ1ZQogCi0gICAgICAgIHNlcnZlciA9IFRDUFNlcnZlcigpCi0gICAgICAgIGNsaWVudCA9IFRlc3RDbGllbnQoc2VydmVyLmFkZHJlc3MpCisgICAgICAgIHNlcnZlciA9IEJhc2VTZXJ2ZXIoc2VsZi5mYW1pbHksIHNlbGYuYWRkcikKKyAgICAgICAgY2xpZW50ID0gVGVzdENsaWVudChzZWxmLmZhbWlseSwgc2VydmVyLmFkZHJlc3MpCiAgICAgICAgIHNlbGYubG9vcF93YWl0aW5nX2Zvcl9mbGFnKGNsaWVudCkKIAogICAgIGRlZiB0ZXN0X2hhbmRsZV9hY2NlcHQoc2VsZik6CkBAIC01MzQsMTggKzU0MywxOCBAQAogCiAgICAgICAgIGNsYXNzIFRlc3RMaXN0ZW5lcihCYXNlVGVzdEhhbmRsZXIpOgogCi0gICAgICAgICAgICBkZWYgX19pbml0X18oc2VsZik6CisgICAgICAgICAgICBkZWYgX19pbml0X18oc2VsZiwgZmFtaWx5LCBhZGRyKToKICAgICAgICAgICAgICAgICBCYXNlVGVzdEhhbmRsZXIuX19pbml0X18oc2VsZikKLSAgICAgICAgICAgICAgICBzZWxmLmNyZWF0ZV9zb2NrZXQoc29ja2V0LkFGX0lORVQsIHNvY2tldC5TT0NLX1NUUkVBTSkKLSAgICAgICAgICAgICAgICBzZWxmLmJpbmQoKEhPU1QsIDApKQorICAgICAgICAgICAgICAgIHNlbGYuY3JlYXRlX3NvY2tldChmYW1pbHkpCisgICAgICAgICAgICAgICAgYmluZF9hZl9hd2FyZShzZWxmLnNvY2tldCwgYWRkcikKICAgICAgICAgICAgICAgICBzZWxmLmxpc3Rlbig1KQotICAgICAgICAgICAgICAgIHNlbGYuYWRkcmVzcyA9IHNlbGYuc29ja2V0LmdldHNvY2tuYW1lKClbOjJdCisgICAgICAgICAgICAgICAgc2VsZi5hZGRyZXNzID0gc2VsZi5zb2NrZXQuZ2V0c29ja25hbWUoKQogCiAgICAgICAgICAgICBkZWYgaGFuZGxlX2FjY2VwdChzZWxmKToKICAgICAgICAgICAgICAgICBzZWxmLmZsYWcgPSBUcnVlCiAKLSAgICAgICAgc2VydmVyID0gVGVzdExpc3RlbmVyKCkKLSAgICAgICAgY2xpZW50ID0gQmFzZUNsaWVudChzZXJ2ZXIuYWRkcmVzcykKKyAgICAgICAgc2VydmVyID0gVGVzdExpc3RlbmVyKHNlbGYuZmFtaWx5LCBzZWxmLmFkZHIpCisgICAgICAgIGNsaWVudCA9IEJhc2VDbGllbnQoc2VsZi5mYW1pbHksIHNlcnZlci5hZGRyZXNzKQogICAgICAgICBzZWxmLmxvb3Bfd2FpdGluZ19mb3JfZmxhZyhzZXJ2ZXIpCiAKICAgICBkZWYgdGVzdF9oYW5kbGVfYWNjZXB0ZWQoc2VsZik6CkBAIC01NTMsMTIgKzU2MiwxMiBAQAogCiAgICAgICAgIGNsYXNzIFRlc3RMaXN0ZW5lcihCYXNlVGVzdEhhbmRsZXIpOgogCi0gICAgICAgICAgICBkZWYgX19pbml0X18oc2VsZik6CisgICAgICAgICAgICBkZWYgX19pbml0X18oc2VsZiwgZmFtaWx5LCBhZGRyKToKICAgICAgICAgICAgICAgICBCYXNlVGVzdEhhbmRsZXIuX19pbml0X18oc2VsZikKLSAgICAgICAgICAgICAgICBzZWxmLmNyZWF0ZV9zb2NrZXQoc29ja2V0LkFGX0lORVQsIHNvY2tldC5TT0NLX1NUUkVBTSkKLSAgICAgICAgICAgICAgICBzZWxmLmJpbmQoKEhPU1QsIDApKQorICAgICAgICAgICAgICAgIHNlbGYuY3JlYXRlX3NvY2tldChmYW1pbHkpCisgICAgICAgICAgICAgICAgYmluZF9hZl9hd2FyZShzZWxmLnNvY2tldCwgYWRkcikKICAgICAgICAgICAgICAgICBzZWxmLmxpc3Rlbig1KQotICAgICAgICAgICAgICAgIHNlbGYuYWRkcmVzcyA9IHNlbGYuc29ja2V0LmdldHNvY2tuYW1lKClbOjJdCisgICAgICAgICAgICAgICAgc2VsZi5hZGRyZXNzID0gc2VsZi5zb2NrZXQuZ2V0c29ja25hbWUoKQogCiAgICAgICAgICAgICBkZWYgaGFuZGxlX2FjY2VwdChzZWxmKToKICAgICAgICAgICAgICAgICBhc3luY29yZS5kaXNwYXRjaGVyLmhhbmRsZV9hY2NlcHQoc2VsZikKQEAgLTU2Nyw4ICs1NzYsOCBAQAogICAgICAgICAgICAgICAgIHNvY2suY2xvc2UoKQogICAgICAgICAgICAgICAgIHNlbGYuZmxhZyA9IFRydWUKIAotICAgICAgICBzZXJ2ZXIgPSBUZXN0TGlzdGVuZXIoKQotICAgICAgICBjbGllbnQgPSBCYXNlQ2xpZW50KHNlcnZlci5hZGRyZXNzKQorICAgICAgICBzZXJ2ZXIgPSBUZXN0TGlzdGVuZXIoc2VsZi5mYW1pbHksIHNlbGYuYWRkcikKKyAgICAgICAgY2xpZW50ID0gQmFzZUNsaWVudChzZWxmLmZhbWlseSwgc2VydmVyLmFkZHJlc3MpCiAgICAgICAgIHNlbGYubG9vcF93YWl0aW5nX2Zvcl9mbGFnKHNlcnZlcikKIAogCkBAIC01ODQsOCArNTkzLDggQEAKICAgICAgICAgICAgICAgICBCYXNlVGVzdEhhbmRsZXIuX19pbml0X18oc2VsZiwgY29ubikKICAgICAgICAgICAgICAgICBzZWxmLnNlbmQoYid4JyAqIDEwMjQpCiAKLSAgICAgICAgc2VydmVyID0gVENQU2VydmVyKFRlc3RIYW5kbGVyKQotICAgICAgICBjbGllbnQgPSBUZXN0Q2xpZW50KHNlcnZlci5hZGRyZXNzKQorICAgICAgICBzZXJ2ZXIgPSBCYXNlU2VydmVyKHNlbGYuZmFtaWx5LCBzZWxmLmFkZHIsIFRlc3RIYW5kbGVyKQorICAgICAgICBjbGllbnQgPSBUZXN0Q2xpZW50KHNlbGYuZmFtaWx5LCBzZXJ2ZXIuYWRkcmVzcykKICAgICAgICAgc2VsZi5sb29wX3dhaXRpbmdfZm9yX2ZsYWcoY2xpZW50KQogCiAgICAgZGVmIHRlc3RfaGFuZGxlX3dyaXRlKHNlbGYpOgpAQCAtNTk1LDggKzYwNCw4IEBACiAgICAgICAgICAgICBkZWYgaGFuZGxlX3dyaXRlKHNlbGYpOgogICAgICAgICAgICAgICAgIHNlbGYuZmxhZyA9IFRydWUKIAotICAgICAgICBzZXJ2ZXIgPSBUQ1BTZXJ2ZXIoKQotICAgICAgICBjbGllbnQgPSBUZXN0Q2xpZW50KHNlcnZlci5hZGRyZXNzKQorICAgICAgICBzZXJ2ZXIgPSBCYXNlU2VydmVyKHNlbGYuZmFtaWx5LCBzZWxmLmFkZHIpCisgICAgICAgIGNsaWVudCA9IFRlc3RDbGllbnQoc2VsZi5mYW1pbHksIHNlcnZlci5hZGRyZXNzKQogICAgICAgICBzZWxmLmxvb3Bfd2FpdGluZ19mb3JfZmxhZyhjbGllbnQpCiAKICAgICBkZWYgdGVzdF9oYW5kbGVfY2xvc2Uoc2VsZik6CkBAIC02MTksOCArNjI4LDQwIEBACiAgICAgICAgICAgICAgICAgQmFzZVRlc3RIYW5kbGVyLl9faW5pdF9fKHNlbGYsIGNvbm4pCiAgICAgICAgICAgICAgICAgc2VsZi5jbG9zZSgpCiAKLSAgICAgICAgc2VydmVyID0gVENQU2VydmVyKFRlc3RIYW5kbGVyKQotICAgICAgICBjbGllbnQgPSBUZXN0Q2xpZW50KHNlcnZlci5hZGRyZXNzKQorICAgICAgICBzZXJ2ZXIgPSBCYXNlU2VydmVyKHNlbGYuZmFtaWx5LCBzZWxmLmFkZHIsIFRlc3RIYW5kbGVyKQorICAgICAgICBjbGllbnQgPSBUZXN0Q2xpZW50KHNlbGYuZmFtaWx5LCBzZXJ2ZXIuYWRkcmVzcykKKyAgICAgICAgc2VsZi5sb29wX3dhaXRpbmdfZm9yX2ZsYWcoY2xpZW50KQorCisgICAgZGVmIHRlc3RfaGFuZGxlX2Nsb3NlX2FmdGVyX2Nvbm5fYnJva2VuKHNlbGYpOgorICAgICAgICAjIENoZWNrIHRoYXQgRUNPTk5SRVNFVC9FUElQRSBpcyBjb3JyZWN0bHkgaGFuZGxlZCAoaXNzdWVzICM1NjYxIGFuZAorICAgICAgICAjICMxMTI2NSkuCisKKyAgICAgICAgZGF0YSA9IGInXDAnICogMTI4CisKKyAgICAgICAgY2xhc3MgVGVzdENsaWVudChCYXNlQ2xpZW50KToKKworICAgICAgICAgICAgZGVmIGhhbmRsZV93cml0ZShzZWxmKToKKyAgICAgICAgICAgICAgICBzZWxmLnNlbmQoZGF0YSkKKworICAgICAgICAgICAgZGVmIGhhbmRsZV9jbG9zZShzZWxmKToKKyAgICAgICAgICAgICAgICBzZWxmLmZsYWcgPSBUcnVlCisgICAgICAgICAgICAgICAgc2VsZi5jbG9zZSgpCisKKyAgICAgICAgICAgIGRlZiBoYW5kbGVfZXhwdChzZWxmKToKKyAgICAgICAgICAgICAgICBzZWxmLmZsYWcgPSBUcnVlCisgICAgICAgICAgICAgICAgc2VsZi5jbG9zZSgpCisKKyAgICAgICAgY2xhc3MgVGVzdEhhbmRsZXIoQmFzZVRlc3RIYW5kbGVyKToKKworICAgICAgICAgICAgZGVmIGhhbmRsZV9yZWFkKHNlbGYpOgorICAgICAgICAgICAgICAgIHNlbGYucmVjdihsZW4oZGF0YSkpCisgICAgICAgICAgICAgICAgc2VsZi5jbG9zZSgpCisKKyAgICAgICAgICAgIGRlZiB3cml0YWJsZShzZWxmKToKKyAgICAgICAgICAgICAgICByZXR1cm4gRmFsc2UKKworICAgICAgICBzZXJ2ZXIgPSBCYXNlU2VydmVyKHNlbGYuZmFtaWx5LCBzZWxmLmFkZHIsIFRlc3RIYW5kbGVyKQorICAgICAgICBjbGllbnQgPSBUZXN0Q2xpZW50KHNlbGYuZmFtaWx5LCBzZXJ2ZXIuYWRkcmVzcykKICAgICAgICAgc2VsZi5sb29wX3dhaXRpbmdfZm9yX2ZsYWcoY2xpZW50KQogCiAgICAgQHVuaXR0ZXN0LnNraXBJZihzeXMucGxhdGZvcm0uc3RhcnRzd2l0aCgic3Vub3MiKSwKQEAgLTYyOSw5ICs2NzAsMTIgQEAKICAgICAgICAgIyBNYWtlIHN1cmUgaGFuZGxlX2V4cHQgaXMgY2FsbGVkIG9uIE9PQiBkYXRhIHJlY2VpdmVkLgogICAgICAgICAjIE5vdGU6IHRoaXMgbWlnaHQgZmFpbCBvbiBzb21lIHBsYXRmb3JtcyBhcyBPT0IgZGF0YSBpcwogICAgICAgICAjIHRlbnVvdXNseSBzdXBwb3J0ZWQgYW5kIHJhcmVseSB1c2VkLgorICAgICAgICBpZiBIQVNfVU5JWF9TT0NLRVRTIGFuZCBzZWxmLmZhbWlseSA9PSBzb2NrZXQuQUZfVU5JWDoKKyAgICAgICAgICAgIHNlbGYuc2tpcFRlc3QoIk5vdCBhcHBsaWNhYmxlIHRvIEFGX1VOSVggc29ja2V0cy4iKQogCiAgICAgICAgIGNsYXNzIFRlc3RDbGllbnQoQmFzZUNsaWVudCk6CiAgICAgICAgICAgICBkZWYgaGFuZGxlX2V4cHQoc2VsZik6CisgICAgICAgICAgICAgICAgc2VsZi5zb2NrZXQucmVjdigxMDI0LCBzb2NrZXQuTVNHX09PQikKICAgICAgICAgICAgICAgICBzZWxmLmZsYWcgPSBUcnVlCiAKICAgICAgICAgY2xhc3MgVGVzdEhhbmRsZXIoQmFzZVRlc3RIYW5kbGVyKToKQEAgLTYzOSw4ICs2ODMsOCBAQAogICAgICAgICAgICAgICAgIEJhc2VUZXN0SGFuZGxlci5fX2luaXRfXyhzZWxmLCBjb25uKQogICAgICAgICAgICAgICAgIHNlbGYuc29ja2V0LnNlbmQoYnl0ZXMoY2hyKDI0NCksICdsYXRpbi0xJyksIHNvY2tldC5NU0dfT09CKQogCi0gICAgICAgIHNlcnZlciA9IFRDUFNlcnZlcihUZXN0SGFuZGxlcikKLSAgICAgICAgY2xpZW50ID0gVGVzdENsaWVudChzZXJ2ZXIuYWRkcmVzcykKKyAgICAgICAgc2VydmVyID0gQmFzZVNlcnZlcihzZWxmLmZhbWlseSwgc2VsZi5hZGRyLCBUZXN0SGFuZGxlcikKKyAgICAgICAgY2xpZW50ID0gVGVzdENsaWVudChzZWxmLmZhbWlseSwgc2VydmVyLmFkZHJlc3MpCiAgICAgICAgIHNlbGYubG9vcF93YWl0aW5nX2Zvcl9mbGFnKGNsaWVudCkKIAogICAgIGRlZiB0ZXN0X2hhbmRsZV9lcnJvcihzZWxmKToKQEAgLTY1NywxMyArNzAxLDEzIEBACiAgICAgICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCJleGNlcHRpb24gbm90IHJhaXNlZCIpCiAKLSAgICAgICAgc2VydmVyID0gVENQU2VydmVyKCkKLSAgICAgICAgY2xpZW50ID0gVGVzdENsaWVudChzZXJ2ZXIuYWRkcmVzcykKKyAgICAgICAgc2VydmVyID0gQmFzZVNlcnZlcihzZWxmLmZhbWlseSwgc2VsZi5hZGRyKQorICAgICAgICBjbGllbnQgPSBUZXN0Q2xpZW50KHNlbGYuZmFtaWx5LCBzZXJ2ZXIuYWRkcmVzcykKICAgICAgICAgc2VsZi5sb29wX3dhaXRpbmdfZm9yX2ZsYWcoY2xpZW50KQogCiAgICAgZGVmIHRlc3RfY29ubmVjdGlvbl9hdHRyaWJ1dGVzKHNlbGYpOgotICAgICAgICBzZXJ2ZXIgPSBUQ1BTZXJ2ZXIoKQotICAgICAgICBjbGllbnQgPSBCYXNlQ2xpZW50KHNlcnZlci5hZGRyZXNzKQorICAgICAgICBzZXJ2ZXIgPSBCYXNlU2VydmVyKHNlbGYuZmFtaWx5LCBzZWxmLmFkZHIpCisgICAgICAgIGNsaWVudCA9IEJhc2VDbGllbnQoc2VsZi5mYW1pbHksIHNlcnZlci5hZGRyZXNzKQogCiAgICAgICAgICMgd2Ugc3RhcnQgZGlzY29ubmVjdGVkCiAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2Uoc2VydmVyLmNvbm5lY3RlZCkKQEAgLTY5MywyNSArNzM3LDI5IEBACiAKICAgICBkZWYgdGVzdF9jcmVhdGVfc29ja2V0KHNlbGYpOgogICAgICAgICBzID0gYXN5bmNvcmUuZGlzcGF0Y2hlcigpCi0gICAgICAgIHMuY3JlYXRlX3NvY2tldChzb2NrZXQuQUZfSU5FVCwgc29ja2V0LlNPQ0tfU1RSRUFNKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHMuc29ja2V0LmZhbWlseSwgc29ja2V0LkFGX0lORVQpCisgICAgICAgIHMuY3JlYXRlX3NvY2tldChzZWxmLmZhbWlseSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzLnNvY2tldC5mYW1pbHksIHNlbGYuZmFtaWx5KQogICAgICAgICBTT0NLX05PTkJMT0NLID0gZ2V0YXR0cihzb2NrZXQsICdTT0NLX05PTkJMT0NLJywgMCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzLnNvY2tldC50eXBlLCBzb2NrZXQuU09DS19TVFJFQU0gfCBTT0NLX05PTkJMT0NLKQogCiAgICAgZGVmIHRlc3RfYmluZChzZWxmKToKKyAgICAgICAgaWYgSEFTX1VOSVhfU09DS0VUUyBhbmQgc2VsZi5mYW1pbHkgPT0gc29ja2V0LkFGX1VOSVg6CisgICAgICAgICAgICBzZWxmLnNraXBUZXN0KCJOb3QgYXBwbGljYWJsZSB0byBBRl9VTklYIHNvY2tldHMuIikKICAgICAgICAgczEgPSBhc3luY29yZS5kaXNwYXRjaGVyKCkKLSAgICAgICAgczEuY3JlYXRlX3NvY2tldChzb2NrZXQuQUZfSU5FVCwgc29ja2V0LlNPQ0tfU1RSRUFNKQotICAgICAgICBzMS5iaW5kKChIT1NULCAwKSkKKyAgICAgICAgczEuY3JlYXRlX3NvY2tldChzZWxmLmZhbWlseSkKKyAgICAgICAgczEuYmluZChzZWxmLmFkZHIpCiAgICAgICAgIHMxLmxpc3Rlbig1KQogICAgICAgICBwb3J0ID0gczEuc29ja2V0LmdldHNvY2tuYW1lKClbMV0KIAogICAgICAgICBzMiA9IGFzeW5jb3JlLmRpc3BhdGNoZXIoKQotICAgICAgICBzMi5jcmVhdGVfc29ja2V0KHNvY2tldC5BRl9JTkVULCBzb2NrZXQuU09DS19TVFJFQU0pCisgICAgICAgIHMyLmNyZWF0ZV9zb2NrZXQoc2VsZi5mYW1pbHkpCiAgICAgICAgICMgRUFERFJJTlVTRSBpbmRpY2F0ZXMgdGhlIHNvY2tldCB3YXMgY29ycmVjdGx5IGJvdW5kCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKHNvY2tldC5lcnJvciwgczIuYmluZCwgKEhPU1QsIHBvcnQpKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhzb2NrZXQuZXJyb3IsIHMyLmJpbmQsIChzZWxmLmFkZHJbMF0sIHBvcnQpKQogCiAgICAgZGVmIHRlc3Rfc2V0X3JldXNlX2FkZHIoc2VsZik6Ci0gICAgICAgIHNvY2sgPSBzb2NrZXQuc29ja2V0KCkKKyAgICAgICAgaWYgSEFTX1VOSVhfU09DS0VUUyBhbmQgc2VsZi5mYW1pbHkgPT0gc29ja2V0LkFGX1VOSVg6CisgICAgICAgICAgICBzZWxmLnNraXBUZXN0KCJOb3QgYXBwbGljYWJsZSB0byBBRl9VTklYIHNvY2tldHMuIikKKyAgICAgICAgc29jayA9IHNvY2tldC5zb2NrZXQoc2VsZi5mYW1pbHkpCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIHNvY2suc2V0c29ja29wdChzb2NrZXQuU09MX1NPQ0tFVCwgc29ja2V0LlNPX1JFVVNFQUREUiwgMSkKICAgICAgICAgZXhjZXB0IHNvY2tldC5lcnJvcjoKQEAgLTcxOSwxMSArNzY3LDExIEBACiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAjIGlmIFNPX1JFVVNFQUREUiBzdWNjZWVkZWQgZm9yIHNvY2sgd2UgZXhwZWN0IGFzeW5jb3JlCiAgICAgICAgICAgICAjIHRvIGRvIHRoZSBzYW1lCi0gICAgICAgICAgICBzID0gYXN5bmNvcmUuZGlzcGF0Y2hlcihzb2NrZXQuc29ja2V0KCkpCisgICAgICAgICAgICBzID0gYXN5bmNvcmUuZGlzcGF0Y2hlcihzb2NrZXQuc29ja2V0KHNlbGYuZmFtaWx5KSkKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2Uocy5zb2NrZXQuZ2V0c29ja29wdChzb2NrZXQuU09MX1NPQ0tFVCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb2NrZXQuU09fUkVVU0VBRERSKSkKICAgICAgICAgICAgIHMuc29ja2V0LmNsb3NlKCkKLSAgICAgICAgICAgIHMuY3JlYXRlX3NvY2tldChzb2NrZXQuQUZfSU5FVCwgc29ja2V0LlNPQ0tfU1RSRUFNKQorICAgICAgICAgICAgcy5jcmVhdGVfc29ja2V0KHNlbGYuZmFtaWx5KQogICAgICAgICAgICAgcy5zZXRfcmV1c2VfYWRkcigpCiAgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUocy5zb2NrZXQuZ2V0c29ja29wdChzb2NrZXQuU09MX1NPQ0tFVCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb2NrZXQuU09fUkVVU0VBRERSKSkKQEAgLTczMSwxOCArNzc5LDUyIEBACiAgICAgICAgICAgICBzb2NrLmNsb3NlKCkKIAogCi1jbGFzcyBUZXN0QVBJX1VzZVNlbGVjdChCYXNlVGVzdEFQSSk6CitjbGFzcyBUZXN0QVBJX1VzZUlQdjRTb2NrZXRzKEJhc2VUZXN0QVBJKToKKyAgICBmYW1pbHkgPSBzb2NrZXQuQUZfSU5FVAorICAgIGFkZHIgPSAoSE9TVCwgMCkKKworQHVuaXR0ZXN0LnNraXBVbmxlc3Moc3VwcG9ydC5JUFY2X0VOQUJMRUQsICdJUHY2IHN1cHBvcnQgcmVxdWlyZWQnKQorY2xhc3MgVGVzdEFQSV9Vc2VJUHY2U29ja2V0cyhCYXNlVGVzdEFQSSk6CisgICAgZmFtaWx5ID0gc29ja2V0LkFGX0lORVQ2CisgICAgYWRkciA9ICgnOjoxJywgMCkKKworQHVuaXR0ZXN0LnNraXBVbmxlc3MoSEFTX1VOSVhfU09DS0VUUywgJ1VuaXggc29ja2V0cyByZXF1aXJlZCcpCitjbGFzcyBUZXN0QVBJX1VzZVVuaXhTb2NrZXRzKEJhc2VUZXN0QVBJKToKKyAgICBpZiBIQVNfVU5JWF9TT0NLRVRTOgorICAgICAgICBmYW1pbHkgPSBzb2NrZXQuQUZfVU5JWAorICAgIGFkZHIgPSBzdXBwb3J0LlRFU1RGTgorCisgICAgZGVmIHRlYXJEb3duKHNlbGYpOgorICAgICAgICB1bmxpbmsoc2VsZi5hZGRyKQorICAgICAgICBCYXNlVGVzdEFQSS50ZWFyRG93bihzZWxmKQorCitjbGFzcyBUZXN0QVBJX1VzZUlQdjRTZWxlY3QoVGVzdEFQSV9Vc2VJUHY0U29ja2V0cyk6CiAgICAgdXNlX3BvbGwgPSBGYWxzZQogCiBAdW5pdHRlc3Quc2tpcFVubGVzcyhoYXNhdHRyKHNlbGVjdCwgJ3BvbGwnKSwgJ3NlbGVjdC5wb2xsIHJlcXVpcmVkJykKLWNsYXNzIFRlc3RBUElfVXNlUG9sbChCYXNlVGVzdEFQSSk6CitjbGFzcyBUZXN0QVBJX1VzZUlQdjRQb2xsKFRlc3RBUElfVXNlSVB2NFNvY2tldHMpOgogICAgIHVzZV9wb2xsID0gVHJ1ZQogCitjbGFzcyBUZXN0QVBJX1VzZUlQdjZTZWxlY3QoVGVzdEFQSV9Vc2VJUHY2U29ja2V0cyk6CisgICAgdXNlX3BvbGwgPSBGYWxzZQorCitAdW5pdHRlc3Quc2tpcFVubGVzcyhoYXNhdHRyKHNlbGVjdCwgJ3BvbGwnKSwgJ3NlbGVjdC5wb2xsIHJlcXVpcmVkJykKK2NsYXNzIFRlc3RBUElfVXNlSVB2NlBvbGwoVGVzdEFQSV9Vc2VJUHY2U29ja2V0cyk6CisgICAgdXNlX3BvbGwgPSBUcnVlCisKK2NsYXNzIFRlc3RBUElfVXNlVW5peFNvY2tldHNTZWxlY3QoVGVzdEFQSV9Vc2VVbml4U29ja2V0cyk6CisgICAgdXNlX3BvbGwgPSBGYWxzZQorCitAdW5pdHRlc3Quc2tpcFVubGVzcyhoYXNhdHRyKHNlbGVjdCwgJ3BvbGwnKSwgJ3NlbGVjdC5wb2xsIHJlcXVpcmVkJykKK2NsYXNzIFRlc3RBUElfVXNlVW5peFNvY2tldHNQb2xsKFRlc3RBUElfVXNlVW5peFNvY2tldHMpOgorICAgIHVzZV9wb2xsID0gVHJ1ZQogCiBkZWYgdGVzdF9tYWluKCk6CiAgICAgdGVzdHMgPSBbSGVscGVyRnVuY3Rpb25UZXN0cywgRGlzcGF0Y2hlclRlc3RzLCBEaXNwYXRjaGVyV2l0aFNlbmRUZXN0cywKLSAgICAgICAgICAgICBEaXNwYXRjaGVyV2l0aFNlbmRUZXN0c19Vc2VQb2xsLCBUZXN0QVBJX1VzZVNlbGVjdCwKLSAgICAgICAgICAgICBUZXN0QVBJX1VzZVBvbGwsIEZpbGVXcmFwcGVyVGVzdF0KKyAgICAgICAgICAgIERpc3BhdGNoZXJXaXRoU2VuZFRlc3RzX1VzZVBvbGwsIEZpbGVXcmFwcGVyVGVzdCwKKyAgICAgICAgICAgIFRlc3RBUElfVXNlSVB2NFNlbGVjdCwgVGVzdEFQSV9Vc2VJUHY0UG9sbCwgVGVzdEFQSV9Vc2VJUHY2U2VsZWN0LAorICAgICAgICAgICAgVGVzdEFQSV9Vc2VJUHY2UG9sbCwgVGVzdEFQSV9Vc2VVbml4U29ja2V0c1NlbGVjdCwKKyAgICAgICAgICAgIFRlc3RBUElfVXNlVW5peFNvY2tldHNQb2xsXQogICAgIHJ1bl91bml0dGVzdCgqdGVzdHMpCiAKIGlmIF9fbmFtZV9fID09ICJfX21haW5fXyI6CmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2Jhc2U2NC5weSBiL0xpYi90ZXN0L3Rlc3RfYmFzZTY0LnB5CmluZGV4IGNhOTQ1MDQuLjI1Njk0NzYgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfYmFzZTY0LnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfYmFzZTY0LnB5CkBAIC0xMDMsNDQgKzEwMyw1MyBAQAogCiAgICAgZGVmIHRlc3RfYjY0ZGVjb2RlKHNlbGYpOgogICAgICAgICBlcSA9IHNlbGYuYXNzZXJ0RXF1YWwKLSAgICAgICAgZXEoYmFzZTY0LmI2NGRlY29kZShiImQzZDNMbkI1ZEdodmJpNXZjbWM9IiksIGIid3d3LnB5dGhvbi5vcmciKQotICAgICAgICBlcShiYXNlNjQuYjY0ZGVjb2RlKGInQUE9PScpLCBiJ1x4MDAnKQotICAgICAgICBlcShiYXNlNjQuYjY0ZGVjb2RlKGIiWVE9PSIpLCBiImEiKQotICAgICAgICBlcShiYXNlNjQuYjY0ZGVjb2RlKGIiWVdJPSIpLCBiImFiIikKLSAgICAgICAgZXEoYmFzZTY0LmI2NGRlY29kZShiIllXSmoiKSwgYiJhYmMiKQotICAgICAgICBlcShiYXNlNjQuYjY0ZGVjb2RlKGIiWVdKalpHVm1aMmhwYW10c2JXNXZjSEZ5YzNSMWRuZDRlWHBCUWtORSIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBiIlJVWkhTRWxLUzB4TlRrOVFVVkpUVkZWV1YxaFpXakF4TWpNMFxuTlQiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgYiJZM09Ea2hRQ013WGlZcUtDazdPancrTEM0Z1cxMTdmUT09IiksCi0gICAgICAgICAgIGIiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoiCi0gICAgICAgICAgIGIiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVoiCi0gICAgICAgICAgIGIiMDEyMzQ1Njc4OSFAIzBeJiooKTs6PD4sLiBbXXt9IikKLSAgICAgICAgZXEoYmFzZTY0LmI2NGRlY29kZShiJycpLCBiJycpCisKKyAgICAgICAgdGVzdHMgPSB7YiJkM2QzTG5CNWRHaHZiaTV2Y21jPSI6IGIid3d3LnB5dGhvbi5vcmciLAorICAgICAgICAgICAgICAgICBiJ0FBPT0nOiBiJ1x4MDAnLAorICAgICAgICAgICAgICAgICBiIllRPT0iOiBiImEiLAorICAgICAgICAgICAgICAgICBiIllXST0iOiBiImFiIiwKKyAgICAgICAgICAgICAgICAgYiJZV0pqIjogYiJhYmMiLAorICAgICAgICAgICAgICAgICBiIllXSmpaR1ZtWjJocGFtdHNiVzV2Y0hGeWMzUjFkbmQ0ZVhwQlFrTkUiCisgICAgICAgICAgICAgICAgIGIiUlVaSFNFbEtTMHhOVGs5UVVWSlRWRlZXVjFoWldqQXhNak0wXG5OVCIKKyAgICAgICAgICAgICAgICAgYiJZM09Ea2hRQ013WGlZcUtDazdPancrTEM0Z1cxMTdmUT09IjoKKworICAgICAgICAgICAgICAgICBiImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6IgorICAgICAgICAgICAgICAgICBiIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaIgorICAgICAgICAgICAgICAgICBiIjAxMjM0NTY3ODkhQCMwXiYqKCk7Ojw+LC4gW117fSIsCisgICAgICAgICAgICAgICAgIGInJzogYicnLAorICAgICAgICAgICAgICAgICB9CisgICAgICAgIGZvciBkYXRhLCByZXMgaW4gdGVzdHMuaXRlbXMoKToKKyAgICAgICAgICAgIGVxKGJhc2U2NC5iNjRkZWNvZGUoZGF0YSksIHJlcykKKyAgICAgICAgICAgIGVxKGJhc2U2NC5iNjRkZWNvZGUoZGF0YS5kZWNvZGUoJ2FzY2lpJykpLCByZXMpCisKICAgICAgICAgIyBUZXN0IHdpdGggYXJiaXRyYXJ5IGFsdGVybmF0aXZlIGNoYXJhY3RlcnMKLSAgICAgICAgZXEoYmFzZTY0LmI2NGRlY29kZShiJzAxYSpiJGNkJywgYWx0Y2hhcnM9YicqJCcpLCBiJ1x4ZDNWXHhiZW9ceGY3XHgxZCcpCi0gICAgICAgICMgQ2hlY2sgaWYgcGFzc2luZyBhIHN0ciBvYmplY3QgcmFpc2VzIGFuIGVycm9yCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgYmFzZTY0LmI2NGRlY29kZSwgIiIpCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgYmFzZTY0LmI2NGRlY29kZSwgYiIiLCBhbHRjaGFycz0iIikKKyAgICAgICAgdGVzdHNfYWx0Y2hhcnMgPSB7KGInMDFhKmIkY2QnLCBiJyokJyk6IGInXHhkM1ZceGJlb1x4ZjdceDFkJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICBmb3IgKGRhdGEsIGFsdGNoYXJzKSwgcmVzIGluIHRlc3RzX2FsdGNoYXJzLml0ZW1zKCk6CisgICAgICAgICAgICBkYXRhX3N0ciA9IGRhdGEuZGVjb2RlKCdhc2NpaScpCisgICAgICAgICAgICBhbHRjaGFyc19zdHIgPSBhbHRjaGFycy5kZWNvZGUoJ2FzY2lpJykKKworICAgICAgICAgICAgZXEoYmFzZTY0LmI2NGRlY29kZShkYXRhLCBhbHRjaGFycz1hbHRjaGFycyksIHJlcykKKyAgICAgICAgICAgIGVxKGJhc2U2NC5iNjRkZWNvZGUoZGF0YV9zdHIsIGFsdGNoYXJzPWFsdGNoYXJzKSwgcmVzKQorICAgICAgICAgICAgZXEoYmFzZTY0LmI2NGRlY29kZShkYXRhLCBhbHRjaGFycz1hbHRjaGFyc19zdHIpLCByZXMpCisgICAgICAgICAgICBlcShiYXNlNjQuYjY0ZGVjb2RlKGRhdGFfc3RyLCBhbHRjaGFycz1hbHRjaGFyc19zdHIpLCByZXMpCisKICAgICAgICAgIyBUZXN0IHN0YW5kYXJkIGFscGhhYmV0Ci0gICAgICAgIGVxKGJhc2U2NC5zdGFuZGFyZF9iNjRkZWNvZGUoYiJkM2QzTG5CNWRHaHZiaTV2Y21jPSIpLCBiInd3dy5weXRob24ub3JnIikKLSAgICAgICAgZXEoYmFzZTY0LnN0YW5kYXJkX2I2NGRlY29kZShiIllRPT0iKSwgYiJhIikKLSAgICAgICAgZXEoYmFzZTY0LnN0YW5kYXJkX2I2NGRlY29kZShiIllXST0iKSwgYiJhYiIpCi0gICAgICAgIGVxKGJhc2U2NC5zdGFuZGFyZF9iNjRkZWNvZGUoYiJZV0pqIiksIGIiYWJjIikKLSAgICAgICAgZXEoYmFzZTY0LnN0YW5kYXJkX2I2NGRlY29kZShiIiIpLCBiIiIpCi0gICAgICAgIGVxKGJhc2U2NC5zdGFuZGFyZF9iNjRkZWNvZGUoYiJZV0pqWkdWbVoyaHBhbXRzYlc1dmNIRnljM1IxZG5kNGVYcEJRa05FIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGIiUlVaSFNFbEtTMHhOVGs5UVVWSlRWRlZXVjFoWldqQXhNak0wTlQiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYiJZM09Ea2hRQ013WGlZcUtDazdPancrTEM0Z1cxMTdmUT09IiksCi0gICAgICAgICAgIGIiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoiCi0gICAgICAgICAgIGIiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVoiCi0gICAgICAgICAgIGIiMDEyMzQ1Njc4OSFAIzBeJiooKTs6PD4sLiBbXXt9IikKLSAgICAgICAgIyBDaGVjayBpZiBwYXNzaW5nIGEgc3RyIG9iamVjdCByYWlzZXMgYW4gZXJyb3IKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBiYXNlNjQuc3RhbmRhcmRfYjY0ZGVjb2RlLCAiIikKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBiYXNlNjQuc3RhbmRhcmRfYjY0ZGVjb2RlLCBiIiIsIGFsdGNoYXJzPSIiKQorICAgICAgICBmb3IgZGF0YSwgcmVzIGluIHRlc3RzLml0ZW1zKCk6CisgICAgICAgICAgICBlcShiYXNlNjQuc3RhbmRhcmRfYjY0ZGVjb2RlKGRhdGEpLCByZXMpCisgICAgICAgICAgICBlcShiYXNlNjQuc3RhbmRhcmRfYjY0ZGVjb2RlKGRhdGEuZGVjb2RlKCdhc2NpaScpKSwgcmVzKQorCiAgICAgICAgICMgVGVzdCB3aXRoICdVUkwgc2FmZScgYWx0ZXJuYXRpdmUgY2hhcmFjdGVycwotICAgICAgICBlcShiYXNlNjQudXJsc2FmZV9iNjRkZWNvZGUoYicwMWEtYl9jZCcpLCBiJ1x4ZDNWXHhiZW9ceGY3XHgxZCcpCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgYmFzZTY0LnVybHNhZmVfYjY0ZGVjb2RlLCAiIikKKyAgICAgICAgdGVzdHNfdXJsc2FmZSA9IHtiJzAxYS1iX2NkJzogYidceGQzVlx4YmVvXHhmN1x4MWQnLAorICAgICAgICAgICAgICAgICAgICAgICAgIGInJzogYicnLAorICAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgZm9yIGRhdGEsIHJlcyBpbiB0ZXN0c191cmxzYWZlLml0ZW1zKCk6CisgICAgICAgICAgICBlcShiYXNlNjQudXJsc2FmZV9iNjRkZWNvZGUoZGF0YSksIHJlcykKKyAgICAgICAgICAgIGVxKGJhc2U2NC51cmxzYWZlX2I2NGRlY29kZShkYXRhLmRlY29kZSgnYXNjaWknKSksIHJlcykKIAogICAgIGRlZiB0ZXN0X2I2NGRlY29kZV9wYWRkaW5nX2Vycm9yKHNlbGYpOgogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhiaW5hc2NpaS5FcnJvciwgYmFzZTY0LmI2NGRlY29kZSwgYidhYmMnKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhiaW5hc2NpaS5FcnJvciwgYmFzZTY0LmI2NGRlY29kZSwgJ2FiYycpCiAKICAgICBkZWYgdGVzdF9iNjRkZWNvZGVfaW52YWxpZF9jaGFycyhzZWxmKToKICAgICAgICAgIyBpc3N1ZSAxNDY2MDY1OiBUZXN0IHNvbWUgaW52YWxpZCBjaGFyYWN0ZXJzLgpAQCAtMTU1LDggKzE2NCwxMSBAQAogICAgICAgICAgICAgICAgICAoYidZV0pqXG5ZV0k9JywgYidhYmNhYicpKQogICAgICAgICBmb3IgYnN0ciwgcmVzIGluIHRlc3RzOgogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiYXNlNjQuYjY0ZGVjb2RlKGJzdHIpLCByZXMpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJhc2U2NC5iNjRkZWNvZGUoYnN0ci5kZWNvZGUoJ2FzY2lpJykpLCByZXMpCiAgICAgICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKGJpbmFzY2lpLkVycm9yKToKICAgICAgICAgICAgICAgICBiYXNlNjQuYjY0ZGVjb2RlKGJzdHIsIHZhbGlkYXRlPVRydWUpCisgICAgICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKGJpbmFzY2lpLkVycm9yKToKKyAgICAgICAgICAgICAgICBiYXNlNjQuYjY0ZGVjb2RlKGJzdHIuZGVjb2RlKCdhc2NpaScpLCB2YWxpZGF0ZT1UcnVlKQogCiAgICAgZGVmIHRlc3RfYjMyZW5jb2RlKHNlbGYpOgogICAgICAgICBlcSA9IHNlbGYuYXNzZXJ0RXF1YWwKQEAgLTE3MSw0MCArMTgzLDYzIEBACiAKICAgICBkZWYgdGVzdF9iMzJkZWNvZGUoc2VsZik6CiAgICAgICAgIGVxID0gc2VsZi5hc3NlcnRFcXVhbAotICAgICAgICBlcShiYXNlNjQuYjMyZGVjb2RlKGInJyksIGInJykKLSAgICAgICAgZXEoYmFzZTY0LmIzMmRlY29kZShiJ0FBPT09PT09JyksIGInXHgwMCcpCi0gICAgICAgIGVxKGJhc2U2NC5iMzJkZWNvZGUoYidNRT09PT09PScpLCBiJ2EnKQotICAgICAgICBlcShiYXNlNjQuYjMyZGVjb2RlKGInTUZSQT09PT0nKSwgYidhYicpCi0gICAgICAgIGVxKGJhc2U2NC5iMzJkZWNvZGUoYidNRlJHRz09PScpLCBiJ2FiYycpCi0gICAgICAgIGVxKGJhc2U2NC5iMzJkZWNvZGUoYidNRlJHR1pBPScpLCBiJ2FiY2QnKQotICAgICAgICBlcShiYXNlNjQuYjMyZGVjb2RlKGInTUZSR0daREYnKSwgYidhYmNkZScpCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgYmFzZTY0LmIzMmRlY29kZSwgIiIpCisgICAgICAgIHRlc3RzID0ge2InJzogYicnLAorICAgICAgICAgICAgICAgICBiJ0FBPT09PT09JzogYidceDAwJywKKyAgICAgICAgICAgICAgICAgYidNRT09PT09PSc6IGInYScsCisgICAgICAgICAgICAgICAgIGInTUZSQT09PT0nOiBiJ2FiJywKKyAgICAgICAgICAgICAgICAgYidNRlJHRz09PSc6IGInYWJjJywKKyAgICAgICAgICAgICAgICAgYidNRlJHR1pBPSc6IGInYWJjZCcsCisgICAgICAgICAgICAgICAgIGInTUZSR0daREYnOiBiJ2FiY2RlJywKKyAgICAgICAgICAgICAgICAgfQorICAgICAgICBmb3IgZGF0YSwgcmVzIGluIHRlc3RzLml0ZW1zKCk6CisgICAgICAgICAgICBlcShiYXNlNjQuYjMyZGVjb2RlKGRhdGEpLCByZXMpCisgICAgICAgICAgICBlcShiYXNlNjQuYjMyZGVjb2RlKGRhdGEuZGVjb2RlKCdhc2NpaScpKSwgcmVzKQogCiAgICAgZGVmIHRlc3RfYjMyZGVjb2RlX2Nhc2Vmb2xkKHNlbGYpOgogICAgICAgICBlcSA9IHNlbGYuYXNzZXJ0RXF1YWwKLSAgICAgICAgZXEoYmFzZTY0LmIzMmRlY29kZShiJycsIFRydWUpLCBiJycpCi0gICAgICAgIGVxKGJhc2U2NC5iMzJkZWNvZGUoYidNRT09PT09PScsIFRydWUpLCBiJ2EnKQotICAgICAgICBlcShiYXNlNjQuYjMyZGVjb2RlKGInTUZSQT09PT0nLCBUcnVlKSwgYidhYicpCi0gICAgICAgIGVxKGJhc2U2NC5iMzJkZWNvZGUoYidNRlJHRz09PScsIFRydWUpLCBiJ2FiYycpCi0gICAgICAgIGVxKGJhc2U2NC5iMzJkZWNvZGUoYidNRlJHR1pBPScsIFRydWUpLCBiJ2FiY2QnKQotICAgICAgICBlcShiYXNlNjQuYjMyZGVjb2RlKGInTUZSR0daREYnLCBUcnVlKSwgYidhYmNkZScpCi0gICAgICAgICMgTG93ZXIgY2FzZXMKLSAgICAgICAgZXEoYmFzZTY0LmIzMmRlY29kZShiJ21lPT09PT09JywgVHJ1ZSksIGInYScpCi0gICAgICAgIGVxKGJhc2U2NC5iMzJkZWNvZGUoYidtZnJhPT09PScsIFRydWUpLCBiJ2FiJykKLSAgICAgICAgZXEoYmFzZTY0LmIzMmRlY29kZShiJ21mcmdnPT09JywgVHJ1ZSksIGInYWJjJykKLSAgICAgICAgZXEoYmFzZTY0LmIzMmRlY29kZShiJ21mcmdnemE9JywgVHJ1ZSksIGInYWJjZCcpCi0gICAgICAgIGVxKGJhc2U2NC5iMzJkZWNvZGUoYidtZnJnZ3pkZicsIFRydWUpLCBiJ2FiY2RlJykKLSAgICAgICAgIyBFeHBlY3RlZCBleGNlcHRpb25zCisgICAgICAgIHRlc3RzID0ge2InJzogYicnLAorICAgICAgICAgICAgICAgICBiJ01FPT09PT09JzogYidhJywKKyAgICAgICAgICAgICAgICAgYidNRlJBPT09PSc6IGInYWInLAorICAgICAgICAgICAgICAgICBiJ01GUkdHPT09JzogYidhYmMnLAorICAgICAgICAgICAgICAgICBiJ01GUkdHWkE9JzogYidhYmNkJywKKyAgICAgICAgICAgICAgICAgYidNRlJHR1pERic6IGInYWJjZGUnLAorICAgICAgICAgICAgICAgICAjIExvd2VyIGNhc2VzCisgICAgICAgICAgICAgICAgIGInbWU9PT09PT0nOiBiJ2EnLAorICAgICAgICAgICAgICAgICBiJ21mcmE9PT09JzogYidhYicsCisgICAgICAgICAgICAgICAgIGInbWZyZ2c9PT0nOiBiJ2FiYycsCisgICAgICAgICAgICAgICAgIGInbWZyZ2d6YT0nOiBiJ2FiY2QnLAorICAgICAgICAgICAgICAgICBiJ21mcmdnemRmJzogYidhYmNkZScsCisgICAgICAgICAgICAgICAgIH0KKworICAgICAgICBmb3IgZGF0YSwgcmVzIGluIHRlc3RzLml0ZW1zKCk6CisgICAgICAgICAgICBlcShiYXNlNjQuYjMyZGVjb2RlKGRhdGEsIFRydWUpLCByZXMpCisgICAgICAgICAgICBlcShiYXNlNjQuYjMyZGVjb2RlKGRhdGEuZGVjb2RlKCdhc2NpaScpLCBUcnVlKSwgcmVzKQorCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgYmFzZTY0LmIzMmRlY29kZSwgYidtZT09PT09PScpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgYmFzZTY0LmIzMmRlY29kZSwgJ21lPT09PT09JykKKwogICAgICAgICAjIE1hcHBpbmcgemVybyBhbmQgb25lCiAgICAgICAgIGVxKGJhc2U2NC5iMzJkZWNvZGUoYidNTE8yMzQ1NicpLCBiJ2JceGRkXHhhZFx4ZjNceGJlJykKLSAgICAgICAgZXEoYmFzZTY0LmIzMmRlY29kZShiJ00xMDIzNDU2JywgbWFwMDE9YidMJyksIGInYlx4ZGRceGFkXHhmM1x4YmUnKQotICAgICAgICBlcShiYXNlNjQuYjMyZGVjb2RlKGInTTEwMjM0NTYnLCBtYXAwMT1iJ0knKSwgYidiXHgxZFx4YWRceGYzXHhiZScpCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgYmFzZTY0LmIzMmRlY29kZSwgYiIiLCBtYXAwMT0iIikKKyAgICAgICAgZXEoYmFzZTY0LmIzMmRlY29kZSgnTUxPMjM0NTYnKSwgYidiXHhkZFx4YWRceGYzXHhiZScpCisKKyAgICAgICAgbWFwX3Rlc3RzID0geyhiJ00xMDIzNDU2JywgYidMJyk6IGInYlx4ZGRceGFkXHhmM1x4YmUnLAorICAgICAgICAgICAgICAgICAgICAgKGInTTEwMjM0NTYnLCBiJ0knKTogYidiXHgxZFx4YWRceGYzXHhiZScsCisgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgIGZvciAoZGF0YSwgbWFwMDEpLCByZXMgaW4gbWFwX3Rlc3RzLml0ZW1zKCk6CisgICAgICAgICAgICBkYXRhX3N0ciA9IGRhdGEuZGVjb2RlKCdhc2NpaScpCisgICAgICAgICAgICBtYXAwMV9zdHIgPSBtYXAwMS5kZWNvZGUoJ2FzY2lpJykKKworICAgICAgICAgICAgZXEoYmFzZTY0LmIzMmRlY29kZShkYXRhLCBtYXAwMT1tYXAwMSksIHJlcykKKyAgICAgICAgICAgIGVxKGJhc2U2NC5iMzJkZWNvZGUoZGF0YV9zdHIsIG1hcDAxPW1hcDAxKSwgcmVzKQorICAgICAgICAgICAgZXEoYmFzZTY0LmIzMmRlY29kZShkYXRhLCBtYXAwMT1tYXAwMV9zdHIpLCByZXMpCisgICAgICAgICAgICBlcShiYXNlNjQuYjMyZGVjb2RlKGRhdGFfc3RyLCBtYXAwMT1tYXAwMV9zdHIpLCByZXMpCiAKICAgICBkZWYgdGVzdF9iMzJkZWNvZGVfZXJyb3Ioc2VsZik6Ci0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKGJpbmFzY2lpLkVycm9yLCBiYXNlNjQuYjMyZGVjb2RlLCBiJ2FiYycpCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKGJpbmFzY2lpLkVycm9yLCBiYXNlNjQuYjMyZGVjb2RlLCBiJ0FCQ0RFRj09JykKKyAgICAgICAgZm9yIGRhdGEgaW4gW2InYWJjJywgYidBQkNERUY9PSddOgorICAgICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhiaW5hc2NpaS5FcnJvcik6CisgICAgICAgICAgICAgICAgYmFzZTY0LmIzMmRlY29kZShkYXRhKQorICAgICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhiaW5hc2NpaS5FcnJvcik6CisgICAgICAgICAgICAgICAgYmFzZTY0LmIzMmRlY29kZShkYXRhLmRlY29kZSgnYXNjaWknKSkKIAogICAgIGRlZiB0ZXN0X2IxNmVuY29kZShzZWxmKToKICAgICAgICAgZXEgPSBzZWxmLmFzc2VydEVxdWFsCkBAIC0yMTUsMTIgKzI1MCwyNCBAQAogICAgIGRlZiB0ZXN0X2IxNmRlY29kZShzZWxmKToKICAgICAgICAgZXEgPSBzZWxmLmFzc2VydEVxdWFsCiAgICAgICAgIGVxKGJhc2U2NC5iMTZkZWNvZGUoYicwMTAyQUJDREVGJyksIGInXHgwMVx4MDJceGFiXHhjZFx4ZWYnKQorICAgICAgICBlcShiYXNlNjQuYjE2ZGVjb2RlKCcwMTAyQUJDREVGJyksIGInXHgwMVx4MDJceGFiXHhjZFx4ZWYnKQogICAgICAgICBlcShiYXNlNjQuYjE2ZGVjb2RlKGInMDAnKSwgYidceDAwJykKKyAgICAgICAgZXEoYmFzZTY0LmIxNmRlY29kZSgnMDAnKSwgYidceDAwJykKICAgICAgICAgIyBMb3dlciBjYXNlIGlzIG5vdCBhbGxvd2VkIHdpdGhvdXQgYSBmbGFnCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKGJpbmFzY2lpLkVycm9yLCBiYXNlNjQuYjE2ZGVjb2RlLCBiJzAxMDJhYmNkZWYnKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhiaW5hc2NpaS5FcnJvciwgYmFzZTY0LmIxNmRlY29kZSwgJzAxMDJhYmNkZWYnKQogICAgICAgICAjIENhc2UgZm9sZAogICAgICAgICBlcShiYXNlNjQuYjE2ZGVjb2RlKGInMDEwMmFiY2RlZicsIFRydWUpLCBiJ1x4MDFceDAyXHhhYlx4Y2RceGVmJykKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBiYXNlNjQuYjE2ZGVjb2RlLCAiIikKKyAgICAgICAgZXEoYmFzZTY0LmIxNmRlY29kZSgnMDEwMmFiY2RlZicsIFRydWUpLCBiJ1x4MDFceDAyXHhhYlx4Y2RceGVmJykKKworICAgIGRlZiB0ZXN0X2RlY29kZV9ub25hc2NpaV9zdHIoc2VsZik6CisgICAgICAgIGRlY29kZV9mdW5jcyA9IChiYXNlNjQuYjY0ZGVjb2RlLAorICAgICAgICAgICAgICAgICAgICAgICAgYmFzZTY0LnN0YW5kYXJkX2I2NGRlY29kZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGJhc2U2NC51cmxzYWZlX2I2NGRlY29kZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGJhc2U2NC5iMzJkZWNvZGUsCisgICAgICAgICAgICAgICAgICAgICAgICBiYXNlNjQuYjE2ZGVjb2RlKQorICAgICAgICBmb3IgZiBpbiBkZWNvZGVfZnVuY3M6CisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBmLCAnd2l0aCBub24tYXNjaWkgXHhjYicpCiAKICAgICBkZWYgdGVzdF9FcnJvckhlcml0YWdlKHNlbGYpOgogICAgICAgICBzZWxmLmFzc2VydFRydWUoaXNzdWJjbGFzcyhiaW5hc2NpaS5FcnJvciwgVmFsdWVFcnJvcikpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2JpZ21lbS5weSBiL0xpYi90ZXN0L3Rlc3RfYmlnbWVtLnB5CmluZGV4IGYzYzZlYmIuLjBlNTQ1OTUgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfYmlnbWVtLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfYmlnbWVtLnB5CkBAIC0xLDMgKzEsMTMgQEAKKyIiIkJpZ21lbSB0ZXN0cyAtIHRlc3RzIGZvciB0aGUgMzItYml0IGJvdW5kYXJ5IGluIGNvbnRhaW5lcnMuCisKK1RoZXNlIHRlc3RzIHRyeSB0byBleGVyY2lzZSB0aGUgMzItYml0IGJvdW5kYXJ5IHRoYXQgaXMgc29tZXRpbWVzLCBpZgorcmFyZWx5LCBleGNlZWRlZCBpbiBwcmFjdGljZSwgYnV0IGFsbW9zdCBuZXZlciB0ZXN0ZWQuICBUaGV5IGFyZSByZWFsbHkgb25seQorbWVhbmluZ2Z1bCBvbiA2NC1iaXQgYnVpbGRzIG9uIG1hY2hpbmVzIHdpdGggYSAqbG90KiBvZiBtZW1vcnksIGJ1dCB0aGUKK3Rlc3RzIGFyZSBhbHdheXMgcnVuLCB1c3VhbGx5IHdpdGggdmVyeSBsb3cgbWVtb3J5IGxpbWl0cyB0byBtYWtlIHN1cmUgdGhlCit0ZXN0cyB0aGVtc2VsdmVzIGRvbid0IHN1ZmZlciBmcm9tIGJpdHJvdC4gIFRvIHJ1biB0aGVtIGZvciByZWFsLCBwYXNzIGEKK2hpZ2ggbWVtb3J5IGxpbWl0IHRvIHJlZ3J0ZXN0LCB3aXRoIHRoZSAtTSBvcHRpb24uCisiIiIKKwogZnJvbSB0ZXN0IGltcG9ydCBzdXBwb3J0CiBmcm9tIHRlc3Quc3VwcG9ydCBpbXBvcnQgYmlnbWVtdGVzdCwgXzFHLCBfMkcsIF80RwogCkBAIC02LDIwICsxNiwzNSBAQAogaW1wb3J0IHN5cwogaW1wb3J0IGZ1bmN0b29scwogCisjIFRoZXNlIHRlc3RzIGFsbCB1c2Ugb25lIG9mIHRoZSBiaWdtZW10ZXN0IGRlY29yYXRvcnMgdG8gaW5kaWNhdGUgaG93IG11Y2gKKyMgbWVtb3J5IHRoZXkgdXNlIGFuZCBob3cgbXVjaCBtZW1vcnkgdGhleSBuZWVkIHRvIGJlIGV2ZW4gbWVhbmluZ2Z1bC4gIFRoZQorIyBkZWNvcmF0b3JzIHRha2UgdHdvIGFyZ3VtZW50czogYSAnbWVtdXNlJyBpbmRpY2F0b3IgZGVjbGFyaW5nCisjIChhcHByb3hpbWF0ZSkgYnl0ZXMgcGVyIHNpemUtdW5pdCB0aGUgdGVzdCB3aWxsIHVzZSAoYXQgcGVhayB1c2FnZSksIGFuZCBhCisjICdtaW5zaXplJyBpbmRpY2F0b3IgZGVjbGFyaW5nIGEgbWluaW11bSAqdXNlZnVsKiBzaXplLiAgQSB0ZXN0IHRoYXQKKyMgYWxsb2NhdGVzIGEgYnl0ZXN0cmluZyB0byB0ZXN0IHZhcmlvdXMgb3BlcmF0aW9ucyBuZWFyIHRoZSBlbmQgd2lsbCBoYXZlIGEKKyMgbWluc2l6ZSBvZiBhdCBsZWFzdCAyR2IgKG9yIGl0IHdvdWxkbid0IHJlYWNoIHRoZSAzMi1iaXQgbGltaXQsIHNvIHRoZQorIyB0ZXN0IHdvdWxkbid0IGJlIHZlcnkgdXNlZnVsKSBhbmQgYSBtZW11c2Ugb2YgMSAob25lIGJ5dGUgcGVyIHNpemUtdW5pdCwKKyMgaWYgaXQgYWxsb2NhdGVzIG9ubHkgb25lIGJpZyBzdHJpbmcgYXQgYSB0aW1lLikKKyMKKyMgV2hlbiBydW4gd2l0aCBhIG1lbW9yeSBsaW1pdCBzZXQsIGJvdGggZGVjb3JhdG9ycyBza2lwIHRlc3RzIHRoYXQgbmVlZAorIyBtb3JlIG1lbW9yeSB0aGFuIGF2YWlsYWJsZSB0byBiZSBtZWFuaW5nZnVsLiAgVGhlIHByZWNpc2lvbmJpZ21lbXRlc3Qgd2lsbAorIyBhbHdheXMgcGFzcyBtaW5zaXplIGFzIHNpemUsIGV2ZW4gaWYgdGhlcmUgaXMgbXVjaCBtb3JlIG1lbW9yeSBhdmFpbGFibGUuCisjIFRoZSBiaWdtZW10ZXN0IGRlY29yYXRvciB3aWxsIHNjYWxlIHNpemUgdXB3YXJkIHRvIGZpbGwgYXZhaWxhYmxlIG1lbW9yeS4KKyMKICMgQmlnbWVtIHRlc3RpbmcgaG91c2VydWxlczoKICMKICMgIC0gVHJ5IG5vdCB0byBhbGxvY2F0ZSB0b28gbWFueSBsYXJnZSBvYmplY3RzLiBJdCdzIG9rYXkgdG8gcmVseSBvbgotIyAgICByZWZjb3VudGluZyBzZW1hbnRpY3MsIGJ1dCBkb24ndCBmb3JnZXQgdGhhdCAncyA9IGNyZWF0ZV9sYXJnZXN0cmluZygpJworIyAgICByZWZjb3VudGluZyBzZW1hbnRpY3MsIGFuZCBkb24ndCBmb3JnZXQgdGhhdCAncyA9IGNyZWF0ZV9sYXJnZXN0cmluZygpJwogIyAgICBkb2Vzbid0IHJlbGVhc2UgdGhlIG9sZCAncycgKGlmIGl0IGV4aXN0cykgdW50aWwgd2VsbCBhZnRlciBpdHMgbmV3CiAjICAgIHZhbHVlIGhhcyBiZWVuIGNyZWF0ZWQuIFVzZSAnZGVsIHMnIGJlZm9yZSB0aGUgY3JlYXRlX2xhcmdlc3RyaW5nIGNhbGwuCiAjCi0jICAtIERvICpub3QqIGNvbXBhcmUgbGFyZ2Ugb2JqZWN0cyB1c2luZyBhc3NlcnRFcXVhbCBvciBzaW1pbGFyLiBJdCdzIGEKLSMgICAgbGVuZ3RoeSBvcGVyYXRpb24gYW5kIHRoZSBlcnJvcm1lc3NhZ2Ugd2lsbCBiZSB1dHRlcmx5IHVzZWxlc3MgZHVlIHRvCi0jICAgIGl0cyBzaXplLiBUbyBtYWtlIHN1cmUgd2hldGhlciBhIHJlc3VsdCBoYXMgdGhlIHJpZ2h0IGNvbnRlbnRzLCBiZXR0ZXIKLSMgICAgdG8gdXNlIHRoZSBzdHJpcCBvciBjb3VudCBtZXRob2RzLCBvciBjb21wYXJlIG1lYW5pbmdmdWwgc2xpY2VzLgorIyAgLSBEbyAqbm90KiBjb21wYXJlIGxhcmdlIG9iamVjdHMgdXNpbmcgYXNzZXJ0RXF1YWwsIGFzc2VydEluIG9yIHNpbWlsYXIuCisjICAgIEl0J3MgYSBsZW5ndGh5IG9wZXJhdGlvbiBhbmQgdGhlIGVycm9ybWVzc2FnZSB3aWxsIGJlIHV0dGVybHkgdXNlbGVzcworIyAgICBkdWUgdG8gaXRzIHNpemUuICBUbyBtYWtlIHN1cmUgd2hldGhlciBhIHJlc3VsdCBoYXMgdGhlIHJpZ2h0IGNvbnRlbnRzLAorIyAgICBiZXR0ZXIgdG8gdXNlIHRoZSBzdHJpcCBvciBjb3VudCBtZXRob2RzLCBvciBjb21wYXJlIG1lYW5pbmdmdWwgc2xpY2VzLgogIwogIyAgLSBEb24ndCBmb3JnZXQgdG8gdGVzdCBmb3IgbGFyZ2UgaW5kaWNlcywgb2Zmc2V0cyBhbmQgcmVzdWx0cyBhbmQgc3VjaCwKLSMgICAgaW4gYWRkaXRpb24gdG8gbGFyZ2Ugc2l6ZXMuCisjICAgIGluIGFkZGl0aW9uIHRvIGxhcmdlIHNpemVzLiBBbnl0aGluZyB0aGF0IHByb2JlcyB0aGUgMzItYml0IGJvdW5kYXJ5LgogIwogIyAgLSBXaGVuIHJlcGVhdGluZyBhbiBvYmplY3QgKHNheSwgYSBzdWJzdHJpbmcsIG9yIGEgc21hbGwgbGlzdCkgdG8gY3JlYXRlCiAjICAgIGEgbGFyZ2Ugb2JqZWN0LCBtYWtlIHRoZSBzdWJvYmplY3Qgb2YgYSBsZW5ndGggdGhhdCBpcyBub3QgYSBwb3dlciBvZgpAQCAtMzcsMTMgKzYyLDE0IEBACiAjIGZhaWwgYXMgd2VsbC4gSSBkbyBub3Qga25vdyB3aGV0aGVyIGl0IGlzIGR1ZSB0byBtZW1vcnkgZnJhZ21lbnRhdGlvbgogIyBpc3N1ZXMsIG9yIG90aGVyIHNwZWNpZmljcyBvZiB0aGUgcGxhdGZvcm0gbWFsbG9jKCkgcm91dGluZS4KIAotY2hhcmFjdGVyX3NpemUgPSA0IGlmIHN5cy5tYXh1bmljb2RlID4gMHhGRkZGIGVsc2UgMgorYXNjaWlfY2hhcl9zaXplID0gMQordWNzMl9jaGFyX3NpemUgPSAyCit1Y3M0X2NoYXJfc2l6ZSA9IDQKIAogCiBjbGFzcyBCYXNlU3RyVGVzdDoKIAotICAgIEBiaWdtZW10ZXN0KHNpemU9XzJHLCBtZW11c2U9MikKLSAgICBkZWYgdGVzdF9jYXBpdGFsaXplKHNlbGYsIHNpemUpOgorICAgIGRlZiBfdGVzdF9jYXBpdGFsaXplKHNlbGYsIHNpemUpOgogICAgICAgICBfID0gc2VsZi5mcm9tX2xhdGluMQogICAgICAgICBTVUJTVFIgPSBzZWxmLmZyb21fbGF0aW4xKCcgYWJjIGRlZiBnaGknKQogICAgICAgICBzID0gXygnLScpICogc2l6ZSArIFNVQlNUUgpAQCAtOTIsNyArMTE4LDcgQEAKICAgICAgICAgXyA9IHNlbGYuZnJvbV9sYXRpbjEKICAgICAgICAgcyA9IF8oJy0nKSAqIHNpemUKICAgICAgICAgdGFic2l6ZSA9IDgKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzLmV4cGFuZHRhYnMoKSwgcykKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHMuZXhwYW5kdGFicygpID09IHMpCiAgICAgICAgIGRlbCBzCiAgICAgICAgIHNsZW4sIHJlbWFpbmRlciA9IGRpdm1vZChzaXplLCB0YWJzaXplKQogICAgICAgICBzID0gXygnICAgICAgIFx0JykgKiBzbGVuCkBAIC0zNDcsNyArMzczLDcgQEAKICAgICAjIHN1ZmZlciBmb3IgdGhlIGxpc3Qgc2l6ZS4gKE90aGVyd2lzZSwgaXQnZCBjb3N0IGFub3RoZXIgNDggdGltZXMKICAgICAjIHNpemUgaW4gYnl0ZXMhKSBOZXZlcnRoZWxlc3MsIGEgbGlzdCBvZiBzaXplIHRha2VzCiAgICAgIyA4KnNpemUgYnl0ZXMuCi0gICAgQGJpZ21lbXRlc3Qoc2l6ZT1fMkcgKyA1LCBtZW11c2U9MTApCisgICAgQGJpZ21lbXRlc3Qoc2l6ZT1fMkcgKyA1LCBtZW11c2U9MiAqIGFzY2lpX2NoYXJfc2l6ZSArIDgpCiAgICAgZGVmIHRlc3Rfc3BsaXRfbGFyZ2Uoc2VsZiwgc2l6ZSk6CiAgICAgICAgIF8gPSBzZWxmLmZyb21fbGF0aW4xCiAgICAgICAgIHMgPSBfKCcgYScpICogc2l6ZSArIF8oJyAnKQpAQCAtMzY2LDkgKzM5Miw5IEBACiAgICAgICAgICMgdGFrZSB1cCBhbiBpbm9yZGluYXRlIGFtb3VudCBvZiBtZW1vcnkKICAgICAgICAgY2h1bmtzaXplID0gaW50KHNpemUgKiogMC41ICsgMikgLy8gMgogICAgICAgICBTVUJTVFIgPSBfKCcgJykgKiBjaHVua3NpemUgKyBfKCdcbicpICsgXygnICcpICogY2h1bmtzaXplICsgXygnXHJcbicpCi0gICAgICAgIHMgPSBTVUJTVFIgKiBjaHVua3NpemUKKyAgICAgICAgcyA9IFNVQlNUUiAqIChjaHVua3NpemUgKiAyKQogICAgICAgICBsID0gcy5zcGxpdGxpbmVzKCkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4obCksIGNodW5rc2l6ZSAqIDIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGwpLCBjaHVua3NpemUgKiA0KQogICAgICAgICBleHBlY3RlZCA9IF8oJyAnKSAqIGNodW5rc2l6ZQogICAgICAgICBmb3IgaXRlbSBpbiBsOgogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChpdGVtLCBleHBlY3RlZCkKQEAgLTM5NCw4ICs0MjAsNyBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihzKSwgc2l6ZSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzLnN0cmlwKCksIFNVQlNUUi5zdHJpcCgpKQogCi0gICAgQGJpZ21lbXRlc3Qoc2l6ZT1fMkcsIG1lbXVzZT0yKQotICAgIGRlZiB0ZXN0X3N3YXBjYXNlKHNlbGYsIHNpemUpOgorICAgIGRlZiBfdGVzdF9zd2FwY2FzZShzZWxmLCBzaXplKToKICAgICAgICAgXyA9IHNlbGYuZnJvbV9sYXRpbjEKICAgICAgICAgU1VCU1RSID0gXygiYUJjRGVGRzEyLidceGE5XHgwMCIpCiAgICAgICAgIHN1YmxlbiA9IGxlbihTVUJTVFIpCkBAIC00MDYsOCArNDMxLDcgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzWzpzdWJsZW4gKiAzXSwgU1VCU1RSLnN3YXBjYXNlKCkgKiAzKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNbLXN1YmxlbiAqIDM6XSwgU1VCU1RSLnN3YXBjYXNlKCkgKiAzKQogCi0gICAgQGJpZ21lbXRlc3Qoc2l6ZT1fMkcsIG1lbXVzZT0yKQotICAgIGRlZiB0ZXN0X3RpdGxlKHNlbGYsIHNpemUpOgorICAgIGRlZiBfdGVzdF90aXRsZShzZWxmLCBzaXplKToKICAgICAgICAgXyA9IHNlbGYuZnJvbV9sYXRpbjEKICAgICAgICAgU1VCU1RSID0gXygnU3BhYUhBYWFBYWhhbScpCiAgICAgICAgIHMgPSBTVUJTVFIgKiAoc2l6ZSAvLyBsZW4oU1VCU1RSKSArIDIpCkBAIC00MTksMTQgKzQ0Myw3IEBACiAgICAgZGVmIHRlc3RfdHJhbnNsYXRlKHNlbGYsIHNpemUpOgogICAgICAgICBfID0gc2VsZi5mcm9tX2xhdGluMQogICAgICAgICBTVUJTVFIgPSBfKCdhWnouei5BYXouJykKLSAgICAgICAgaWYgaXNpbnN0YW5jZShTVUJTVFIsIHN0cik6Ci0gICAgICAgICAgICB0cmFucyA9IHsKLSAgICAgICAgICAgICAgICBvcmQoXygnLicpKTogXygnLScpLAotICAgICAgICAgICAgICAgIG9yZChfKCdhJykpOiBfKCchJyksCi0gICAgICAgICAgICAgICAgb3JkKF8oJ1onKSk6IF8oJyQnKSwKLSAgICAgICAgICAgIH0KLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHRyYW5zID0gYnl0ZXMubWFrZXRyYW5zKGInLmFaJywgYictISQnKQorICAgICAgICB0cmFucyA9IGJ5dGVzLm1ha2V0cmFucyhiJy5hWicsIGInLSEkJykKICAgICAgICAgc3VibGVuID0gbGVuKFNVQlNUUikKICAgICAgICAgcmVwZWF0cyA9IHNpemUgLy8gc3VibGVuICsgMgogICAgICAgICBzID0gU1VCU1RSICogcmVwZWF0cwpAQCAtNTE5LDE5ICs1MzYsMTkgQEAKICAgICAgICAgZWRnZSA9IF8oJy0nKSAqIChzaXplIC8vIDIpCiAgICAgICAgIHMgPSBfKCcnKS5qb2luKFtlZGdlLCBTVUJTVFIsIGVkZ2VdKQogICAgICAgICBkZWwgZWRnZQotICAgICAgICBzZWxmLmFzc2VydEluKFNVQlNUUiwgcykKLSAgICAgICAgc2VsZi5hc3NlcnROb3RJbihTVUJTVFIgKiAyLCBzKQotICAgICAgICBzZWxmLmFzc2VydEluKF8oJy0nKSwgcykKLSAgICAgICAgc2VsZi5hc3NlcnROb3RJbihfKCdhJyksIHMpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShTVUJTVFIgaW4gcykKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShTVUJTVFIgKiAyIGluIHMpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShfKCctJykgaW4gcykKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShfKCdhJykgaW4gcykKICAgICAgICAgcyArPSBfKCdhJykKLSAgICAgICAgc2VsZi5hc3NlcnRJbihfKCdhJyksIHMpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShfKCdhJykgaW4gcykKIAogICAgIEBiaWdtZW10ZXN0KHNpemU9XzJHICsgMTAsIG1lbXVzZT0yKQogICAgIGRlZiB0ZXN0X2NvbXBhcmUoc2VsZiwgc2l6ZSk6CiAgICAgICAgIF8gPSBzZWxmLmZyb21fbGF0aW4xCiAgICAgICAgIHMxID0gXygnLScpICogc2l6ZQogICAgICAgICBzMiA9IF8oJy0nKSAqIHNpemUKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzMSwgczIpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShzMSA9PSBzMikKICAgICAgICAgZGVsIHMyCiAgICAgICAgIHMyID0gczEgKyBfKCdhJykKICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShzMSA9PSBzMikKQEAgLTU1Miw3ICs1NjksNyBAQAogICAgICAgICBoMSA9IGhhc2gocykKICAgICAgICAgZGVsIHMKICAgICAgICAgcyA9IF8oJ1x4MDAnKSAqIChzaXplICsgMSkKLSAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShoMSA9PSBoYXNoKHMpKQorICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKGgxLCBoYXNoKHMpKQogCiAKIGNsYXNzIFN0clRlc3QodW5pdHRlc3QuVGVzdENhc2UsIEJhc2VTdHJUZXN0KToKQEAgLTU2Myw3ICs1ODAsNiBAQAogICAgIGRlZiBiYXNpY19lbmNvZGVfdGVzdChzZWxmLCBzaXplLCBlbmMsIGM9Jy4nLCBleHBlY3RlZHNpemU9Tm9uZSk6CiAgICAgICAgIGlmIGV4cGVjdGVkc2l6ZSBpcyBOb25lOgogICAgICAgICAgICAgZXhwZWN0ZWRzaXplID0gc2l6ZQotCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIHMgPSBjICogc2l6ZQogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4ocy5lbmNvZGUoZW5jKSksIGV4cGVjdGVkc2l6ZSkKQEAgLTU4Miw0OCArNTk4LDY0IEBACiAgICAgICAgICAgICAgICAgbWVtdXNlID0gbWV0aC5tZW11c2UKICAgICAgICAgICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKICAgICAgICAgICAgICAgICBjb250aW51ZQotICAgICAgICAgICAgbWV0aC5tZW11c2UgPSBjaGFyYWN0ZXJfc2l6ZSAqIG1lbXVzZQorICAgICAgICAgICAgbWV0aC5tZW11c2UgPSBhc2NpaV9jaGFyX3NpemUgKiBtZW11c2UKICAgICAgICAgICAgIHNlbGYuX2FkanVzdGVkW25hbWVdID0gbWVtdXNlCiAKICAgICBkZWYgdGVhckRvd24oc2VsZik6CiAgICAgICAgIGZvciBuYW1lLCBtZW11c2UgaW4gc2VsZi5fYWRqdXN0ZWQuaXRlbXMoKToKICAgICAgICAgICAgIGdldGF0dHIodHlwZShzZWxmKSwgbmFtZSkubWVtdXNlID0gbWVtdXNlCiAKLSAgICAjIHRoZSB1dGY4IGVuY29kZXIgcHJlYWxsb2NhdGVzIGJpZyB0aW1lICg0eCB0aGUgbnVtYmVyIG9mIGNoYXJhY3RlcnMpCi0gICAgQGJpZ21lbXRlc3Qoc2l6ZT1fMkcgKyAyLCBtZW11c2U9Y2hhcmFjdGVyX3NpemUgKyA0KQorICAgIEBiaWdtZW10ZXN0KHNpemU9XzJHLCBtZW11c2U9dWNzNF9jaGFyX3NpemUgKiAzKQorICAgIGRlZiB0ZXN0X2NhcGl0YWxpemUoc2VsZiwgc2l6ZSk6CisgICAgICAgIHNlbGYuX3Rlc3RfY2FwaXRhbGl6ZShzaXplKQorCisgICAgQGJpZ21lbXRlc3Qoc2l6ZT1fMkcsIG1lbXVzZT11Y3M0X2NoYXJfc2l6ZSAqIDMpCisgICAgZGVmIHRlc3RfdGl0bGUoc2VsZiwgc2l6ZSk6CisgICAgICAgIHNlbGYuX3Rlc3RfdGl0bGUoc2l6ZSkKKworICAgIEBiaWdtZW10ZXN0KHNpemU9XzJHLCBtZW11c2U9dWNzNF9jaGFyX3NpemUgKiAzKQorICAgIGRlZiB0ZXN0X3N3YXBjYXNlKHNlbGYsIHNpemUpOgorICAgICAgICBzZWxmLl90ZXN0X3N3YXBjYXNlKHNpemUpCisKKyAgICAjIE1hbnkgY29kZWNzIGNvbnZlcnQgdG8gdGhlIGxlZ2FjeSByZXByZXNlbnRhdGlvbiBmaXJzdCwgZXhwbGFpbmluZworICAgICMgd2h5IHdlIGFkZCAndWNzNF9jaGFyX3NpemUnIHRvIHRoZSAnbWVtdXNlJyBiZWxvdy4KKworICAgIEBiaWdtZW10ZXN0KHNpemU9XzJHICsgMiwgbWVtdXNlPWFzY2lpX2NoYXJfc2l6ZSArIDEpCiAgICAgZGVmIHRlc3RfZW5jb2RlKHNlbGYsIHNpemUpOgogICAgICAgICByZXR1cm4gc2VsZi5iYXNpY19lbmNvZGVfdGVzdChzaXplLCAndXRmLTgnKQogCi0gICAgQGJpZ21lbXRlc3Qoc2l6ZT1fNEcgLy8gNiArIDIsIG1lbXVzZT1jaGFyYWN0ZXJfc2l6ZSArIDEpCisgICAgQGJpZ21lbXRlc3Qoc2l6ZT1fNEcgLy8gNiArIDIsIG1lbXVzZT1hc2NpaV9jaGFyX3NpemUgKyB1Y3M0X2NoYXJfc2l6ZSArIDEpCiAgICAgZGVmIHRlc3RfZW5jb2RlX3Jhd191bmljb2RlX2VzY2FwZShzZWxmLCBzaXplKToKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgcmV0dXJuIHNlbGYuYmFzaWNfZW5jb2RlX3Rlc3Qoc2l6ZSwgJ3Jhd191bmljb2RlX2VzY2FwZScpCiAgICAgICAgIGV4Y2VwdCBNZW1vcnlFcnJvcjoKICAgICAgICAgICAgIHBhc3MgIyBhY2NlcHRhYmxlIG9uIDMyLWJpdAogCi0gICAgQGJpZ21lbXRlc3Qoc2l6ZT1fNEcgLy8gNSArIDcwLCBtZW11c2U9Y2hhcmFjdGVyX3NpemUgKyAxKQorICAgIEBiaWdtZW10ZXN0KHNpemU9XzRHIC8vIDUgKyA3MCwgbWVtdXNlPWFzY2lpX2NoYXJfc2l6ZSArIHVjczRfY2hhcl9zaXplICsgMSkKICAgICBkZWYgdGVzdF9lbmNvZGVfdXRmNyhzZWxmLCBzaXplKToKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgcmV0dXJuIHNlbGYuYmFzaWNfZW5jb2RlX3Rlc3Qoc2l6ZSwgJ3V0ZjcnKQogICAgICAgICBleGNlcHQgTWVtb3J5RXJyb3I6CiAgICAgICAgICAgICBwYXNzICMgYWNjZXB0YWJsZSBvbiAzMi1iaXQKIAotICAgIEBiaWdtZW10ZXN0KHNpemU9XzRHIC8vIDQgKyA1LCBtZW11c2U9Y2hhcmFjdGVyX3NpemUgKyA0KQorICAgIEBiaWdtZW10ZXN0KHNpemU9XzRHIC8vIDQgKyA1LCBtZW11c2U9YXNjaWlfY2hhcl9zaXplICsgdWNzNF9jaGFyX3NpemUgKyA0KQogICAgIGRlZiB0ZXN0X2VuY29kZV91dGYzMihzZWxmLCBzaXplKToKICAgICAgICAgdHJ5OgotICAgICAgICAgICAgcmV0dXJuIHNlbGYuYmFzaWNfZW5jb2RlX3Rlc3Qoc2l6ZSwgJ3V0ZjMyJywgZXhwZWN0ZWRzaXplPTQqc2l6ZSs0KQorICAgICAgICAgICAgcmV0dXJuIHNlbGYuYmFzaWNfZW5jb2RlX3Rlc3Qoc2l6ZSwgJ3V0ZjMyJywgZXhwZWN0ZWRzaXplPTQgKiBzaXplICsgNCkKICAgICAgICAgZXhjZXB0IE1lbW9yeUVycm9yOgogICAgICAgICAgICAgcGFzcyAjIGFjY2VwdGFibGUgb24gMzItYml0CiAKLSAgICBAYmlnbWVtdGVzdChzaXplPV8yRyAtIDEsIG1lbXVzZT1jaGFyYWN0ZXJfc2l6ZSArIDEpCisgICAgQGJpZ21lbXRlc3Qoc2l6ZT1fMkcgLSAxLCBtZW11c2U9YXNjaWlfY2hhcl9zaXplICsgMSkKICAgICBkZWYgdGVzdF9lbmNvZGVfYXNjaWkoc2VsZiwgc2l6ZSk6CiAgICAgICAgIHJldHVybiBzZWxmLmJhc2ljX2VuY29kZV90ZXN0KHNpemUsICdhc2NpaScsIGM9J0EnKQogCi0gICAgQGJpZ21lbXRlc3Qoc2l6ZT1fMkcgKyAxMCwgbWVtdXNlPWNoYXJhY3Rlcl9zaXplICogMikKKyAgICAjIHN0ciAlICguLi4pIHVzZXMgYSBQeV9VQ1M0IGludGVybWVkaWF0ZSByZXByZXNlbnRhdGlvbgorCisgICAgQGJpZ21lbXRlc3Qoc2l6ZT1fMkcgKyAxMCwgbWVtdXNlPWFzY2lpX2NoYXJfc2l6ZSAqIDIgKyB1Y3M0X2NoYXJfc2l6ZSkKICAgICBkZWYgdGVzdF9mb3JtYXQoc2VsZiwgc2l6ZSk6CiAgICAgICAgIHMgPSAnLScgKiBzaXplCiAgICAgICAgIHNmID0gJyVzJyAlIChzLCkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzLCBzZikKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHMgPT0gc2YpCiAgICAgICAgIGRlbCBzZgogICAgICAgICBzZiA9ICcuLiVzLi4nICUgKHMsKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihzZiksIGxlbihzKSArIDQpCkBAIC02NDAsNyArNjcyLDcgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzLmNvdW50KCcuJyksIDMpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocy5jb3VudCgnLScpLCBzaXplICogMikKIAotICAgIEBiaWdtZW10ZXN0KHNpemU9XzJHICsgMTAsIG1lbXVzZT1jaGFyYWN0ZXJfc2l6ZSAqIDIpCisgICAgQGJpZ21lbXRlc3Qoc2l6ZT1fMkcgKyAxMCwgbWVtdXNlPWFzY2lpX2NoYXJfc2l6ZSAqIDIpCiAgICAgZGVmIHRlc3RfcmVwcl9zbWFsbChzZWxmLCBzaXplKToKICAgICAgICAgcyA9ICctJyAqIHNpemUKICAgICAgICAgcyA9IHJlcHIocykKQEAgLTY2MSw3ICs2OTMsNyBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHMuY291bnQoJ1xcJyksIHNpemUpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocy5jb3VudCgnMCcpLCBzaXplICogMikKIAotICAgIEBiaWdtZW10ZXN0KHNpemU9XzJHICsgMTAsIG1lbXVzZT1jaGFyYWN0ZXJfc2l6ZSAqIDUpCisgICAgQGJpZ21lbXRlc3Qoc2l6ZT1fMkcgKyAxMCwgbWVtdXNlPWFzY2lpX2NoYXJfc2l6ZSAqIDUpCiAgICAgZGVmIHRlc3RfcmVwcl9sYXJnZShzZWxmLCBzaXplKToKICAgICAgICAgcyA9ICdceDAwJyAqIHNpemUKICAgICAgICAgcyA9IHJlcHIocykKQEAgLTY3MSw3ICs3MDMsMTMgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzLmNvdW50KCdcXCcpLCBzaXplKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHMuY291bnQoJzAnKSwgc2l6ZSAqIDIpCiAKLSAgICBAYmlnbWVtdGVzdChzaXplPV8yRyAvLyA1ICsgMSwgbWVtdXNlPWNoYXJhY3Rlcl9zaXplICogNykKKyAgICAjIGFzY2lpKCkgY2FsbHMgZW5jb2RlKCdhc2NpaScsICdiYWNrc2xhc2hyZXBsYWNlJyksIHdoaWNoIGl0c2VsZgorICAgICMgY3JlYXRlcyBhIHRlbXBvcmFyeSBQeV9VTklDT0RFIHJlcHJlc2VudGF0aW9uIGluIGFkZGl0aW9uIHRvIHRoZQorICAgICMgb3JpZ2luYWwgKFB5X1VDUzIpIG9uZQorICAgICMgVGhlcmUncyBhbHNvIHNvbWUgb3ZlcmFsbG9jYXRpb24gd2hlbiByZXNpemluZyB0aGUgYXNjaWkoKSByZXN1bHQKKyAgICAjIHRoYXQgaXNuJ3QgdGFrZW4gaW50byBhY2NvdW50IGhlcmUuCisgICAgQGJpZ21lbXRlc3Qoc2l6ZT1fMkcgLy8gNSArIDEsIG1lbXVzZT11Y3MyX2NoYXJfc2l6ZSArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1Y3M0X2NoYXJfc2l6ZSArIGFzY2lpX2NoYXJfc2l6ZSAqIDYpCiAgICAgZGVmIHRlc3RfdW5pY29kZV9yZXByKHNlbGYsIHNpemUpOgogICAgICAgICAjIFVzZSBhbiBhc3NpZ25lZCwgYnV0IG5vdCBwcmludGFibGUgY29kZSBwb2ludC4KICAgICAgICAgIyBJdCBpcyBpbiB0aGUgcmFuZ2Ugb2YgdGhlIGxvdyBzdXJyb2dhdGVzIFx1REMwMC1cdURGRkYuCkBAIC02ODYsOSArNzI0LDcgQEAKICAgICAgICAgZmluYWxseToKICAgICAgICAgICAgIHIgPSBzID0gTm9uZQogCi0gICAgIyBUaGUgY2hhcmFjdGVyIHRha2VzIDQgYnl0ZXMgZXZlbiBpbiBVQ1MtMiBidWlsZHMgYmVjYXVzZSBpdCB3aWxsCi0gICAgIyBiZSBkZWNvbXBvc2VkIGludG8gc3Vycm9nYXRlcy4KLSAgICBAYmlnbWVtdGVzdChzaXplPV8yRyAvLyA1ICsgMSwgbWVtdXNlPTQgKyBjaGFyYWN0ZXJfc2l6ZSAqIDkpCisgICAgQGJpZ21lbXRlc3Qoc2l6ZT1fMkcgLy8gNSArIDEsIG1lbXVzZT11Y3M0X2NoYXJfc2l6ZSAqIDIgKyBhc2NpaV9jaGFyX3NpemUgKiAxMCkKICAgICBkZWYgdGVzdF91bmljb2RlX3JlcHJfd2lkZShzZWxmLCBzaXplKToKICAgICAgICAgY2hhciA9ICJcVTAwMDFEQ0JBIgogICAgICAgICBzID0gY2hhciAqIHNpemUKQEAgLTcwMSwzOSArNzM3LDc2IEBACiAgICAgICAgIGZpbmFsbHk6CiAgICAgICAgICAgICByID0gcyA9IE5vbmUKIAotICAgIEBiaWdtZW10ZXN0KHNpemU9XzRHIC8vIDUsIG1lbXVzZT1jaGFyYWN0ZXJfc2l6ZSAqICg2ICsgMSkpCi0gICAgZGVmIF90ZXN0X3VuaWNvZGVfcmVwcl9vdmVyZmxvdyhzZWxmLCBzaXplKToKLSAgICAgICAgIyBYWFggbm90IHN1cmUgd2hhdCB0aGlzIHRlc3QgaXMgYWJvdXQKLSAgICAgICAgY2hhciA9ICJcdURDQkEiCi0gICAgICAgIHMgPSBjaGFyICogc2l6ZQotICAgICAgICB0cnk6Ci0gICAgICAgICAgICByID0gcmVwcihzKQotICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHMgPT0gZXZhbChyKSkKLSAgICAgICAgZmluYWxseToKLSAgICAgICAgICAgIHIgPSBzID0gTm9uZQorICAgICMgVGhlIG9yaWdpbmFsIHRlc3RfdHJhbnNsYXRlIGlzIG92ZXJyaWRlbiBoZXJlLCBzbyBhcyB0byBnZXQgdGhlCisgICAgIyBjb3JyZWN0IHNpemUgZXN0aW1hdGU6IHN0ci50cmFuc2xhdGUoKSB1c2VzIGFuIGludGVybWVkaWF0ZSBQeV9VQ1M0CisgICAgIyByZXByZXNlbnRhdGlvbi4KKworICAgIEBiaWdtZW10ZXN0KHNpemU9XzJHLCBtZW11c2U9YXNjaWlfY2hhcl9zaXplICogMiArIHVjczRfY2hhcl9zaXplKQorICAgIGRlZiB0ZXN0X3RyYW5zbGF0ZShzZWxmLCBzaXplKToKKyAgICAgICAgXyA9IHNlbGYuZnJvbV9sYXRpbjEKKyAgICAgICAgU1VCU1RSID0gXygnYVp6LnouQWF6LicpCisgICAgICAgIHRyYW5zID0geworICAgICAgICAgICAgb3JkKF8oJy4nKSk6IF8oJy0nKSwKKyAgICAgICAgICAgIG9yZChfKCdhJykpOiBfKCchJyksCisgICAgICAgICAgICBvcmQoXygnWicpKTogXygnJCcpLAorICAgICAgICB9CisgICAgICAgIHN1YmxlbiA9IGxlbihTVUJTVFIpCisgICAgICAgIHJlcGVhdHMgPSBzaXplIC8vIHN1YmxlbiArIDIKKyAgICAgICAgcyA9IFNVQlNUUiAqIHJlcGVhdHMKKyAgICAgICAgcyA9IHMudHJhbnNsYXRlKHRyYW5zKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihzKSwgcmVwZWF0cyAqIHN1YmxlbikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzWzpzdWJsZW5dLCBTVUJTVFIudHJhbnNsYXRlKHRyYW5zKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzWy1zdWJsZW46XSwgU1VCU1RSLnRyYW5zbGF0ZSh0cmFucykpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocy5jb3VudChfKCcuJykpLCAwKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHMuY291bnQoXygnIScpKSwgcmVwZWF0cyAqIDIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocy5jb3VudChfKCd6JykpLCByZXBlYXRzICogMykKIAogCiBjbGFzcyBCeXRlc1Rlc3QodW5pdHRlc3QuVGVzdENhc2UsIEJhc2VTdHJUZXN0KToKIAogICAgIGRlZiBmcm9tX2xhdGluMShzZWxmLCBzKToKLSAgICAgICAgcmV0dXJuIHMuZW5jb2RlKCJsYXRpbjEiKQorICAgICAgICByZXR1cm4gcy5lbmNvZGUoImxhdGluLTEiKQogCi0gICAgQGJpZ21lbXRlc3Qoc2l6ZT1fMkcgKyAyLCBtZW11c2U9MSArIGNoYXJhY3Rlcl9zaXplKQorICAgIEBiaWdtZW10ZXN0KHNpemU9XzJHICsgMiwgbWVtdXNlPTEgKyBhc2NpaV9jaGFyX3NpemUpCiAgICAgZGVmIHRlc3RfZGVjb2RlKHNlbGYsIHNpemUpOgogICAgICAgICBzID0gc2VsZi5mcm9tX2xhdGluMSgnLicpICogc2l6ZQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihzLmRlY29kZSgndXRmLTgnKSksIHNpemUpCiAKKyAgICBAYmlnbWVtdGVzdChzaXplPV8yRywgbWVtdXNlPTIpCisgICAgZGVmIHRlc3RfY2FwaXRhbGl6ZShzZWxmLCBzaXplKToKKyAgICAgICAgc2VsZi5fdGVzdF9jYXBpdGFsaXplKHNpemUpCisKKyAgICBAYmlnbWVtdGVzdChzaXplPV8yRywgbWVtdXNlPTIpCisgICAgZGVmIHRlc3RfdGl0bGUoc2VsZiwgc2l6ZSk6CisgICAgICAgIHNlbGYuX3Rlc3RfdGl0bGUoc2l6ZSkKKworICAgIEBiaWdtZW10ZXN0KHNpemU9XzJHLCBtZW11c2U9MikKKyAgICBkZWYgdGVzdF9zd2FwY2FzZShzZWxmLCBzaXplKToKKyAgICAgICAgc2VsZi5fdGVzdF9zd2FwY2FzZShzaXplKQorCiAKIGNsYXNzIEJ5dGVhcnJheVRlc3QodW5pdHRlc3QuVGVzdENhc2UsIEJhc2VTdHJUZXN0KToKIAogICAgIGRlZiBmcm9tX2xhdGluMShzZWxmLCBzKToKLSAgICAgICAgcmV0dXJuIGJ5dGVhcnJheShzLmVuY29kZSgibGF0aW4xIikpCisgICAgICAgIHJldHVybiBieXRlYXJyYXkocy5lbmNvZGUoImxhdGluLTEiKSkKIAotICAgIEBiaWdtZW10ZXN0KHNpemU9XzJHICsgMiwgbWVtdXNlPTEgKyBjaGFyYWN0ZXJfc2l6ZSkKKyAgICBAYmlnbWVtdGVzdChzaXplPV8yRyArIDIsIG1lbXVzZT0xICsgYXNjaWlfY2hhcl9zaXplKQogICAgIGRlZiB0ZXN0X2RlY29kZShzZWxmLCBzaXplKToKICAgICAgICAgcyA9IHNlbGYuZnJvbV9sYXRpbjEoJy4nKSAqIHNpemUKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4ocy5kZWNvZGUoJ3V0Zi04JykpLCBzaXplKQogCisgICAgQGJpZ21lbXRlc3Qoc2l6ZT1fMkcsIG1lbXVzZT0yKQorICAgIGRlZiB0ZXN0X2NhcGl0YWxpemUoc2VsZiwgc2l6ZSk6CisgICAgICAgIHNlbGYuX3Rlc3RfY2FwaXRhbGl6ZShzaXplKQorCisgICAgQGJpZ21lbXRlc3Qoc2l6ZT1fMkcsIG1lbXVzZT0yKQorICAgIGRlZiB0ZXN0X3RpdGxlKHNlbGYsIHNpemUpOgorICAgICAgICBzZWxmLl90ZXN0X3RpdGxlKHNpemUpCisKKyAgICBAYmlnbWVtdGVzdChzaXplPV8yRywgbWVtdXNlPTIpCisgICAgZGVmIHRlc3Rfc3dhcGNhc2Uoc2VsZiwgc2l6ZSk6CisgICAgICAgIHNlbGYuX3Rlc3Rfc3dhcGNhc2Uoc2l6ZSkKKwogICAgIHRlc3RfaGFzaCA9IE5vbmUKICAgICB0ZXN0X3NwbGl0X2xhcmdlID0gTm9uZQogCkBAIC03NTIsNyArODI1LDcgQEAKICAgICBkZWYgdGVzdF9jb21wYXJlKHNlbGYsIHNpemUpOgogICAgICAgICB0MSA9ICgnJywpICogc2l6ZQogICAgICAgICB0MiA9ICgnJywpICogc2l6ZQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHQxLCB0MikKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHQxID09IHQyKQogICAgICAgICBkZWwgdDIKICAgICAgICAgdDIgPSAoJycsKSAqIChzaXplICsgMSkKICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZSh0MSA9PSB0MikKQEAgLTc4Myw5ICs4NTYsOSBAQAogICAgIGRlZiB0ZXN0X2NvbnRhaW5zKHNlbGYsIHNpemUpOgogICAgICAgICB0ID0gKDEsIDIsIDMsIDQsIDUpICogc2l6ZQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbih0KSwgc2l6ZSAqIDUpCi0gICAgICAgIHNlbGYuYXNzZXJ0SW4oNSwgdCkKLSAgICAgICAgc2VsZi5hc3NlcnROb3RJbigoMSwgMiwgMywgNCwgNSksIHQpCi0gICAgICAgIHNlbGYuYXNzZXJ0Tm90SW4oMCwgdCkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKDUgaW4gdCkKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZSgoMSwgMiwgMywgNCwgNSkgaW4gdCkKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZSgwIGluIHQpCiAKICAgICBAYmlnbWVtdGVzdChzaXplPV8yRyArIDEwLCBtZW11c2U9OCkKICAgICBkZWYgdGVzdF9oYXNoKHNlbGYsIHNpemUpOgpAQCAtODY5LDExICs5NDIsMTEgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzWy01Ol0sICcwLCAwKScpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocy5jb3VudCgnMCcpLCBzaXplKQogCi0gICAgQGJpZ21lbXRlc3Qoc2l6ZT1fMkcgLy8gMyArIDIsIG1lbXVzZT04ICsgMyAqIGNoYXJhY3Rlcl9zaXplKQorICAgIEBiaWdtZW10ZXN0KHNpemU9XzJHIC8vIDMgKyAyLCBtZW11c2U9OCArIDMgKiBhc2NpaV9jaGFyX3NpemUpCiAgICAgZGVmIHRlc3RfcmVwcl9zbWFsbChzZWxmLCBzaXplKToKICAgICAgICAgcmV0dXJuIHNlbGYuYmFzaWNfdGVzdF9yZXByKHNpemUpCiAKLSAgICBAYmlnbWVtdGVzdChzaXplPV8yRyArIDIsIG1lbXVzZT04ICsgMyAqIGNoYXJhY3Rlcl9zaXplKQorICAgIEBiaWdtZW10ZXN0KHNpemU9XzJHICsgMiwgbWVtdXNlPTggKyAzICogYXNjaWlfY2hhcl9zaXplKQogICAgIGRlZiB0ZXN0X3JlcHJfbGFyZ2Uoc2VsZiwgc2l6ZSk6CiAgICAgICAgIHJldHVybiBzZWxmLmJhc2ljX3Rlc3RfcmVwcihzaXplKQogCkBAIC04ODgsNyArOTYxLDcgQEAKICAgICBkZWYgdGVzdF9jb21wYXJlKHNlbGYsIHNpemUpOgogICAgICAgICBsMSA9IFsnJ10gKiBzaXplCiAgICAgICAgIGwyID0gWycnXSAqIHNpemUKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsMSwgbDIpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShsMSA9PSBsMikKICAgICAgICAgZGVsIGwyCiAgICAgICAgIGwyID0gWycnXSAqIChzaXplICsgMSkKICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShsMSA9PSBsMikKQEAgLTkzNCw5ICsxMDA3LDkgQEAKICAgICBkZWYgdGVzdF9jb250YWlucyhzZWxmLCBzaXplKToKICAgICAgICAgbCA9IFsxLCAyLCAzLCA0LCA1XSAqIHNpemUKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4obCksIHNpemUgKiA1KQotICAgICAgICBzZWxmLmFzc2VydEluKDUsIGwpCi0gICAgICAgIHNlbGYuYXNzZXJ0Tm90SW4oWzEsIDIsIDMsIDQsIDVdLCBsKQotICAgICAgICBzZWxmLmFzc2VydE5vdEluKDAsIGwpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSg1IGluIGwpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoWzEsIDIsIDMsIDQsIDVdIGluIGwpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoMCBpbiBsKQogCiAgICAgQGJpZ21lbXRlc3Qoc2l6ZT1fMkcgKyAxMCwgbWVtdXNlPTgpCiAgICAgZGVmIHRlc3RfaGFzaChzZWxmLCBzaXplKToKQEAgLTEwNDQsMTEgKzExMTcsMTEgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzWy01Ol0sICcwLCAwXScpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocy5jb3VudCgnMCcpLCBzaXplKQogCi0gICAgQGJpZ21lbXRlc3Qoc2l6ZT1fMkcgLy8gMyArIDIsIG1lbXVzZT04ICsgMyAqIGNoYXJhY3Rlcl9zaXplKQorICAgIEBiaWdtZW10ZXN0KHNpemU9XzJHIC8vIDMgKyAyLCBtZW11c2U9OCArIDMgKiBhc2NpaV9jaGFyX3NpemUpCiAgICAgZGVmIHRlc3RfcmVwcl9zbWFsbChzZWxmLCBzaXplKToKICAgICAgICAgcmV0dXJuIHNlbGYuYmFzaWNfdGVzdF9yZXByKHNpemUpCiAKLSAgICBAYmlnbWVtdGVzdChzaXplPV8yRyArIDIsIG1lbXVzZT04ICsgMyAqIGNoYXJhY3Rlcl9zaXplKQorICAgIEBiaWdtZW10ZXN0KHNpemU9XzJHICsgMiwgbWVtdXNlPTggKyAzICogYXNjaWlfY2hhcl9zaXplKQogICAgIGRlZiB0ZXN0X3JlcHJfbGFyZ2Uoc2VsZiwgc2l6ZSk6CiAgICAgICAgIHJldHVybiBzZWxmLmJhc2ljX3Rlc3RfcmVwcihzaXplKQogCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2JpbmFzY2lpLnB5IGIvTGliL3Rlc3QvdGVzdF9iaW5hc2NpaS5weQppbmRleCAxZTllODg4Li4wNGQ4ZjlkIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2JpbmFzY2lpLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfYmluYXNjaWkucHkKQEAgLTIwOCw5ICsyMDgsOSBAQAogICAgICAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlcnI6CiAgICAgICAgICAgICAgICAgc2VsZi5mYWlsKCJ7fSh7IXJ9KSByYWlzZXMgeyFyfSIuZm9ybWF0KGZ1bmMsIGVtcHR5LCBlcnIpKQogCi0gICAgZGVmIHRlc3RfdW5pY29kZV9zdHJpbmdzKHNlbGYpOgotICAgICAgICAjIFVuaWNvZGUgc3RyaW5ncyBhcmUgbm90IGFjY2VwdGVkLgotICAgICAgICBmb3IgZnVuYyBpbiBhbGxfZnVuY3Rpb25zOgorICAgIGRlZiB0ZXN0X3VuaWNvZGVfYjJhKHNlbGYpOgorICAgICAgICAjIFVuaWNvZGUgc3RyaW5ncyBhcmUgbm90IGFjY2VwdGVkIGJ5IGIyYV8qIGZ1bmN0aW9ucy4KKyAgICAgICAgZm9yIGZ1bmMgaW4gc2V0KGFsbF9mdW5jdGlvbnMpIC0gc2V0KGEyYl9mdW5jdGlvbnMpIHwgeydybGVkZWNvZGVfaHF4J306CiAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBnZXRhdHRyKGJpbmFzY2lpLCBmdW5jKSwgInRlc3QiKQogICAgICAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlcnI6CkBAIC0yMTgsNiArMjE4LDM0IEBACiAgICAgICAgICMgY3JjX2hxeCBuZWVkcyAyIGFyZ3VtZW50cwogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGJpbmFzY2lpLmNyY19ocXgsICJ0ZXN0IiwgMCkKIAorICAgIGRlZiB0ZXN0X3VuaWNvZGVfYTJiKHNlbGYpOgorICAgICAgICAjIFVuaWNvZGUgc3RyaW5ncyBhcmUgYWNjZXB0ZWQgYnkgYTJiXyogZnVuY3Rpb25zLgorICAgICAgICBNQVhfQUxMID0gNDUKKyAgICAgICAgcmF3ID0gc2VsZi5yYXdkYXRhWzpNQVhfQUxMXQorICAgICAgICBmb3IgZmEsIGZiIGluIHppcChhMmJfZnVuY3Rpb25zLCBiMmFfZnVuY3Rpb25zKToKKyAgICAgICAgICAgIGlmIGZhID09ICdybGVkZWNvZGVfaHF4JzoKKyAgICAgICAgICAgICAgICAjIFRha2VzIG5vbi1BU0NJSSBkYXRhCisgICAgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgICAgIGEyYiA9IGdldGF0dHIoYmluYXNjaWksIGZhKQorICAgICAgICAgICAgYjJhID0gZ2V0YXR0cihiaW5hc2NpaSwgZmIpCisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgYSA9IGIyYShzZWxmLnR5cGUydGVzdChyYXcpKQorICAgICAgICAgICAgICAgIGJpbmFyeV9yZXMgPSBhMmIoYSkKKyAgICAgICAgICAgICAgICBhID0gYS5kZWNvZGUoJ2FzY2lpJykKKyAgICAgICAgICAgICAgICByZXMgPSBhMmIoYSkKKyAgICAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZXJyOgorICAgICAgICAgICAgICAgIHNlbGYuZmFpbCgie30ve30gY29udmVyc2lvbiByYWlzZXMgeyFyfSIuZm9ybWF0KGZiLCBmYSwgZXJyKSkKKyAgICAgICAgICAgIGlmIGZiID09ICdiMmFfaHF4JzoKKyAgICAgICAgICAgICAgICAjIGIyYV9ocXggcmV0dXJucyBhIHR1cGxlCisgICAgICAgICAgICAgICAgcmVzLCBfID0gcmVzCisgICAgICAgICAgICAgICAgYmluYXJ5X3JlcywgXyA9IGJpbmFyeV9yZXMKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzLCByYXcsICJ7fS97fSBjb252ZXJzaW9uOiAiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ7IXJ9ICE9IHshcn0iLmZvcm1hdChmYiwgZmEsIHJlcywgcmF3KSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzLCBiaW5hcnlfcmVzKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRJc0luc3RhbmNlKHJlcywgYnl0ZXMpCisgICAgICAgICAgICAjIG5vbi1BU0NJSSBzdHJpbmcKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIGEyYiwgIlx4ODAiKQorCiAKIGNsYXNzIEFycmF5QmluQVNDSUlUZXN0KEJpbkFTQ0lJVGVzdCk6CiAgICAgZGVmIHR5cGUydGVzdChzZWxmLCBzKToKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfYm9vbC5weSBiL0xpYi90ZXN0L3Rlc3RfYm9vbC5weQppbmRleCBiMjk2ODcwLi40YmFiMjhiIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2Jvb2wucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9ib29sLnB5CkBAIC0zMzAsNiArMzMwLDE2IEBACiAgICAgICAgICAgICAgICAgZXhjZXB0IChFeGNlcHRpb24pIGFzIGVfbGVuOgogICAgICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cihlX2Jvb2wpLCBzdHIoZV9sZW4pKQogCisgICAgZGVmIHRlc3RfcmVhbF9hbmRfaW1hZyhzZWxmKToKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChUcnVlLnJlYWwsIDEpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoVHJ1ZS5pbWFnLCAwKQorICAgICAgICBzZWxmLmFzc2VydElzKHR5cGUoVHJ1ZS5yZWFsKSwgaW50KQorICAgICAgICBzZWxmLmFzc2VydElzKHR5cGUoVHJ1ZS5pbWFnKSwgaW50KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKEZhbHNlLnJlYWwsIDApCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoRmFsc2UuaW1hZywgMCkKKyAgICAgICAgc2VsZi5hc3NlcnRJcyh0eXBlKEZhbHNlLnJlYWwpLCBpbnQpCisgICAgICAgIHNlbGYuYXNzZXJ0SXModHlwZShGYWxzZS5pbWFnKSwgaW50KQorCiBkZWYgdGVzdF9tYWluKCk6CiAgICAgc3VwcG9ydC5ydW5fdW5pdHRlc3QoQm9vbFRlc3QpCiAKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfYnVmZmVyLnB5IGIvTGliL3Rlc3QvdGVzdF9idWZmZXIucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTAwMDZmMgotLS0gL2Rldi9udWxsCisrKyBiL0xpYi90ZXN0L3Rlc3RfYnVmZmVyLnB5CkBAIC0wLDAgKzEsMzYyOCBAQAorIworIyBUaGUgbmRhcnJheSBvYmplY3QgZnJvbSBfdGVzdGJ1ZmZlci5jIGlzIGEgY29tcGxldGUgaW1wbGVtZW50YXRpb24gb2YKKyMgYSBQRVAtMzExOCBidWZmZXIgcHJvdmlkZXIuIEl0IGlzIGluZGVwZW5kZW50IGZyb20gTnVtUHkncyBuZGFycmF5CisjIGFuZCB0aGUgdGVzdHMgZG9uJ3QgcmVxdWlyZSBOdW1QeS4KKyMKKyMgSWYgTnVtUHkgaXMgcHJlc2VudCwgc29tZSB0ZXN0cyBjaGVjayBib3RoIG5kYXJyYXkgaW1wbGVtZW50YXRpb25zCisjIGFnYWluc3QgZWFjaCBvdGhlci4KKyMKKyMgTW9zdCBuZGFycmF5IHRlc3RzIGFsc28gY2hlY2sgdGhhdCBtZW1vcnl2aWV3KG5kYXJyYXkpIGJlaGF2ZXMgaW4KKyMgdGhlIHNhbWUgd2F5IGFzIHRoZSBvcmlnaW5hbC4gVGh1cywgYSBzdWJzdGFudGlhbCBwYXJ0IG9mIHRoZQorIyBtZW1vcnl2aWV3IHRlc3RzIGlzIG5vdyBpbiB0aGlzIG1vZHVsZS4KKyMKKworaW1wb3J0IHVuaXR0ZXN0Citmcm9tIHRlc3QgaW1wb3J0IHN1cHBvcnQKK2Zyb20gaXRlcnRvb2xzIGltcG9ydCBwZXJtdXRhdGlvbnMsIHByb2R1Y3QKK2Zyb20gcmFuZG9tIGltcG9ydCByYW5kcmFuZ2UsIHNhbXBsZSwgY2hvaWNlCitmcm9tIHN5c2NvbmZpZyBpbXBvcnQgZ2V0X2NvbmZpZ192YXIKK2Zyb20gcGxhdGZvcm0gaW1wb3J0IGFyY2hpdGVjdHVyZQoraW1wb3J0IHdhcm5pbmdzCitpbXBvcnQgc3lzLCBhcnJheSwgaW8KK2Zyb20gZGVjaW1hbCBpbXBvcnQgRGVjaW1hbAorZnJvbSBmcmFjdGlvbnMgaW1wb3J0IEZyYWN0aW9uCisKK3RyeToKKyAgICBmcm9tIF90ZXN0YnVmZmVyIGltcG9ydCAqCitleGNlcHQgSW1wb3J0RXJyb3I6CisgICAgbmRhcnJheSA9IE5vbmUKKwordHJ5OgorICAgIGltcG9ydCBzdHJ1Y3QKK2V4Y2VwdCBJbXBvcnRFcnJvcjoKKyAgICBzdHJ1Y3QgPSBOb25lCisKK3RyeToKKyAgICB3aXRoIHdhcm5pbmdzLmNhdGNoX3dhcm5pbmdzKCk6CisgICAgICAgIGZyb20gbnVtcHkgaW1wb3J0IG5kYXJyYXkgYXMgbnVtcHlfYXJyYXkKK2V4Y2VwdCBJbXBvcnRFcnJvcjoKKyAgICBudW1weV9hcnJheSA9IE5vbmUKKworCitTSE9SVF9URVNUID0gVHJ1ZQorCisKKyMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorIyAgICAgICAgICAgICAgICAgICAgUmFuZG9tIGxpc3RzIGJ5IGZvcm1hdCBzcGVjaWZpZXIKKyMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCisjIE5hdGl2ZSBmb3JtYXQgY2hhcnMgYW5kIHRoZWlyIHJhbmdlcy4KK05BVElWRSA9IHsKKyAgICAnPyc6MCwgJ2MnOjAsICdiJzowLCAnQic6MCwKKyAgICAnaCc6MCwgJ0gnOjAsICdpJzowLCAnSSc6MCwKKyAgICAnbCc6MCwgJ0wnOjAsICduJzowLCAnTic6MCwKKyAgICAnZic6MCwgJ2QnOjAsICdQJzowCit9CisKK2lmIHN0cnVjdDoKKyAgICB0cnk6CisgICAgICAgICMgQWRkICJxUSIgaWYgcHJlc2VudCBpbiBuYXRpdmUgbW9kZS4KKyAgICAgICAgc3RydWN0LnBhY2soJ1EnLCAyKio2NC0xKQorICAgICAgICBOQVRJVkVbJ3EnXSA9IDAKKyAgICAgICAgTkFUSVZFWydRJ10gPSAwCisgICAgZXhjZXB0IHN0cnVjdC5lcnJvcjoKKyAgICAgICAgcGFzcworCisjIFN0YW5kYXJkIGZvcm1hdCBjaGFycyBhbmQgdGhlaXIgcmFuZ2VzLgorU1RBTkRBUkQgPSB7CisgICAgJz8nOigwLCAyKSwgICAgICAgICAgICAnYyc6KDAsIDE8PDgpLAorICAgICdiJzooLSgxPDw3KSwgMTw8NyksICAgJ0InOigwLCAxPDw4KSwKKyAgICAnaCc6KC0oMTw8MTUpLCAxPDwxNSksICdIJzooMCwgMTw8MTYpLAorICAgICdpJzooLSgxPDwzMSksIDE8PDMxKSwgJ0knOigwLCAxPDwzMiksCisgICAgJ2wnOigtKDE8PDMxKSwgMTw8MzEpLCAnTCc6KDAsIDE8PDMyKSwKKyAgICAncSc6KC0oMTw8NjMpLCAxPDw2MyksICdRJzooMCwgMTw8NjQpLAorICAgICdmJzooLSgxPDw2MyksIDE8PDYzKSwgJ2QnOigtKDE8PDEwMjMpLCAxPDwxMDIzKQorfQorCitkZWYgbmF0aXZlX3R5cGVfcmFuZ2UoZm10KToKKyAgICAiIiJSZXR1cm4gcmFuZ2Ugb2YgYSBuYXRpdmUgdHlwZS4iIiIKKyAgICBpZiBmbXQgPT0gJ2MnOgorICAgICAgICBsaCA9ICgwLCAyNTYpCisgICAgZWxpZiBmbXQgPT0gJz8nOgorICAgICAgICBsaCA9ICgwLCAyKQorICAgIGVsaWYgZm10ID09ICdmJzoKKyAgICAgICAgbGggPSAoLSgxPDw2MyksIDE8PDYzKQorICAgIGVsaWYgZm10ID09ICdkJzoKKyAgICAgICAgbGggPSAoLSgxPDwxMDIzKSwgMTw8MTAyMykKKyAgICBlbHNlOgorICAgICAgICBmb3IgZXhwIGluICgxMjgsIDEyNywgNjQsIDYzLCAzMiwgMzEsIDE2LCAxNSwgOCwgNyk6CisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgc3RydWN0LnBhY2soZm10LCAoMTw8ZXhwKS0xKQorICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgICAgICBleGNlcHQgc3RydWN0LmVycm9yOgorICAgICAgICAgICAgICAgIHBhc3MKKyAgICAgICAgbGggPSAoLSgxPDxleHApLCAxPDxleHApIGlmIGV4cCAmIDEgZWxzZSAoMCwgMTw8ZXhwKQorICAgIHJldHVybiBsaAorCitmbXRkaWN0ID0geworICAgICcnOk5BVElWRSwKKyAgICAnQCc6TkFUSVZFLAorICAgICc8JzpTVEFOREFSRCwKKyAgICAnPic6U1RBTkRBUkQsCisgICAgJz0nOlNUQU5EQVJELAorICAgICchJzpTVEFOREFSRAorfQorCitpZiBzdHJ1Y3Q6CisgICAgZm9yIGZtdCBpbiBmbXRkaWN0WydAJ106CisgICAgICAgIGZtdGRpY3RbJ0AnXVtmbXRdID0gbmF0aXZlX3R5cGVfcmFuZ2UoZm10KQorCitNRU1PUllWSUVXID0gTkFUSVZFLmNvcHkoKQorQVJSQVkgPSBOQVRJVkUuY29weSgpCitmb3IgayBpbiBOQVRJVkU6CisgICAgaWYgbm90IGsgaW4gImJCaEhpSWxMZmQiOgorICAgICAgICBkZWwgQVJSQVlba10KKworQllURUZNVCA9IE5BVElWRS5jb3B5KCkKK2ZvciBrIGluIE5BVElWRToKKyAgICBpZiBub3QgayBpbiAiQmJjIjoKKyAgICAgICAgZGVsIEJZVEVGTVRba10KKworZm10ZGljdFsnbSddICA9IE1FTU9SWVZJRVcKK2ZtdGRpY3RbJ0BtJ10gPSBNRU1PUllWSUVXCitmbXRkaWN0WydhJ10gID0gQVJSQVkKK2ZtdGRpY3RbJ2InXSAgPSBCWVRFRk1UCitmbXRkaWN0WydAYiddICA9IEJZVEVGTVQKKworIyBDYXBhYmlsaXRpZXMgb2YgdGhlIHRlc3Qgb2JqZWN0czoKK01PREUgPSAwCitNVUxUID0gMQorY2FwID0geyAgICAgICAgICMgZm9ybWF0IGNoYXJzICAgICAgICAgICAgICAgICAgIyBtdWx0aXBsaWVyCisgICduZGFycmF5JzogICAgKFsnJywgJ0AnLCAnPCcsICc+JywgJz0nLCAnISddLCBbJycsICcxJywgJzInLCAnMyddKSwKKyAgJ2FycmF5JzogICAgICAoWydhJ10sICAgICAgICAgICAgICAgICAgICAgICAgIFsnJ10pLAorICAnbnVtcHknOiAgICAgIChbJyddLCAgICAgICAgICAgICAgICAgICAgICAgICAgWycnXSksCisgICdtZW1vcnl2aWV3JzogKFsnQG0nLCAnbSddLCAgICAgICAgICAgICAgICAgICBbJyddKSwKKyAgJ2J5dGVmbXQnOiAgICAoWydAYicsICdiJ10sICAgICAgICAgICAgICAgICAgIFsnJ10pLAorfQorCitkZWYgcmFuZHJhbmdlX2ZtdChtb2RlLCBjaGFyLCBvYmopOgorICAgICIiIlJldHVybiByYW5kb20gaXRlbSBmb3IgYSB0eXBlIHNwZWNpZmllZCBieSBhIG1vZGUgYW5kIGEgc2luZ2xlCisgICAgICAgZm9ybWF0IGNoYXJhY3Rlci4iIiIKKyAgICB4ID0gcmFuZHJhbmdlKCpmbXRkaWN0W21vZGVdW2NoYXJdKQorICAgIGlmIGNoYXIgPT0gJ2MnOgorICAgICAgICB4ID0gYnl0ZXMoY2hyKHgpLCAnbGF0aW4xJykKKyAgICBpZiBjaGFyID09ICc/JzoKKyAgICAgICAgeCA9IGJvb2woeCkKKyAgICBpZiBjaGFyID09ICdmJyBvciBjaGFyID09ICdkJzoKKyAgICAgICAgeCA9IHN0cnVjdC5wYWNrKGNoYXIsIHgpCisgICAgICAgIHggPSBzdHJ1Y3QudW5wYWNrKGNoYXIsIHgpWzBdCisgICAgaWYgb2JqID09ICdudW1weScgYW5kIHggPT0gYidceDAwJzoKKyAgICAgICAgIyBodHRwOi8vcHJvamVjdHMuc2NpcHkub3JnL251bXB5L3RpY2tldC8xOTI1CisgICAgICAgIHggPSBiJ1x4MDEnCisgICAgcmV0dXJuIHgKKworZGVmIGdlbl9pdGVtKGZtdCwgb2JqKToKKyAgICAiIiJSZXR1cm4gc2luZ2xlIHJhbmRvbSBpdGVtLiIiIgorICAgIG1vZGUsIGNoYXJzID0gZm10LnNwbGl0KCcjJykKKyAgICB4ID0gW10KKyAgICBmb3IgYyBpbiBjaGFyczoKKyAgICAgICAgeC5hcHBlbmQocmFuZHJhbmdlX2ZtdChtb2RlLCBjLCBvYmopKQorICAgIHJldHVybiB4WzBdIGlmIGxlbih4KSA9PSAxIGVsc2UgdHVwbGUoeCkKKworZGVmIGdlbl9pdGVtcyhuLCBmbXQsIG9iaik6CisgICAgIiIiUmV0dXJuIGEgbGlzdCBvZiByYW5kb20gaXRlbXMgKG9yIGEgc2NhbGFyKS4iIiIKKyAgICBpZiBuID09IDA6CisgICAgICAgIHJldHVybiBnZW5faXRlbShmbXQsIG9iaikKKyAgICBsc3QgPSBbMF0gKiBuCisgICAgZm9yIGkgaW4gcmFuZ2Uobik6CisgICAgICAgIGxzdFtpXSA9IGdlbl9pdGVtKGZtdCwgb2JqKQorICAgIHJldHVybiBsc3QKKworZGVmIHN0cnVjdF9pdGVtcyhuLCBvYmopOgorICAgIG1vZGUgPSBjaG9pY2UoY2FwW29ial1bTU9ERV0pCisgICAgeGZtdCA9IG1vZGUgKyAnIycKKyAgICBmbXQgPSBtb2RlLnN0cmlwKCdhbWInKQorICAgIG5tZW1iID0gcmFuZHJhbmdlKDIsIDEwKSAjIG51bWJlciBvZiBzdHJ1Y3QgbWVtYmVycworICAgIGZvciBfIGluIHJhbmdlKG5tZW1iKToKKyAgICAgICAgY2hhciA9IGNob2ljZSh0dXBsZShmbXRkaWN0W21vZGVdKSkKKyAgICAgICAgbXVsdGlwbGllciA9IGNob2ljZShjYXBbb2JqXVtNVUxUXSkKKyAgICAgICAgeGZtdCArPSAoY2hhciAqIGludChtdWx0aXBsaWVyIGlmIG11bHRpcGxpZXIgZWxzZSAxKSkKKyAgICAgICAgZm10ICs9IChtdWx0aXBsaWVyICsgY2hhcikKKyAgICBpdGVtcyA9IGdlbl9pdGVtcyhuLCB4Zm10LCBvYmopCisgICAgaXRlbSA9IGdlbl9pdGVtKHhmbXQsIG9iaikKKyAgICByZXR1cm4gZm10LCBpdGVtcywgaXRlbQorCitkZWYgcmFuZGl0ZW1zKG4sIG9iaj0nbmRhcnJheScsIG1vZGU9Tm9uZSwgY2hhcj1Ob25lKToKKyAgICAiIiJSZXR1cm4gcmFuZG9tIGZvcm1hdCwgaXRlbXMsIGl0ZW0uIiIiCisgICAgaWYgbW9kZSBpcyBOb25lOgorICAgICAgICBtb2RlID0gY2hvaWNlKGNhcFtvYmpdW01PREVdKQorICAgIGlmIGNoYXIgaXMgTm9uZToKKyAgICAgICAgY2hhciA9IGNob2ljZSh0dXBsZShmbXRkaWN0W21vZGVdKSkKKyAgICBtdWx0aXBsaWVyID0gY2hvaWNlKGNhcFtvYmpdW01VTFRdKQorICAgIGZtdCA9IG1vZGUgKyAnIycgKyBjaGFyICogaW50KG11bHRpcGxpZXIgaWYgbXVsdGlwbGllciBlbHNlIDEpCisgICAgaXRlbXMgPSBnZW5faXRlbXMobiwgZm10LCBvYmopCisgICAgaXRlbSA9IGdlbl9pdGVtKGZtdCwgb2JqKQorICAgIGZtdCA9IG1vZGUuc3RyaXAoJ2FtYicpICsgbXVsdGlwbGllciArIGNoYXIKKyAgICByZXR1cm4gZm10LCBpdGVtcywgaXRlbQorCitkZWYgaXRlcl9tb2RlKG4sIG9iaj0nbmRhcnJheScpOgorICAgICIiIkl0ZXJhdGUgdGhyb3VnaCBzdXBwb3J0ZWQgbW9kZS9jaGFyIGNvbWJpbmF0aW9ucy4iIiIKKyAgICBmb3IgbW9kZSBpbiBjYXBbb2JqXVtNT0RFXToKKyAgICAgICAgZm9yIGNoYXIgaW4gZm10ZGljdFttb2RlXToKKyAgICAgICAgICAgIHlpZWxkIHJhbmRpdGVtcyhuLCBvYmosIG1vZGUsIGNoYXIpCisKK2RlZiBpdGVyX2Zvcm1hdChuaXRlbXMsIHRlc3RvYmo9J25kYXJyYXknKToKKyAgICAiIiJZaWVsZCAoZm9ybWF0LCBpdGVtcywgaXRlbSkgZm9yIGFsbCBwb3NzaWJsZSBtb2RlcyBhbmQgZm9ybWF0CisgICAgICAgY2hhcmFjdGVycyBwbHVzIG9uZSByYW5kb20gY29tcG91bmQgZm9ybWF0IHN0cmluZy4iIiIKKyAgICBmb3IgdCBpbiBpdGVyX21vZGUobml0ZW1zLCB0ZXN0b2JqKToKKyAgICAgICAgeWllbGQgdAorICAgIGlmIHRlc3RvYmogIT0gJ25kYXJyYXknOgorICAgICAgICByYWlzZSBTdG9wSXRlcmF0aW9uCisgICAgeWllbGQgc3RydWN0X2l0ZW1zKG5pdGVtcywgdGVzdG9iaikKKworCitkZWYgaXNfYnl0ZV9mb3JtYXQoZm10KToKKyAgICByZXR1cm4gJ2MnIGluIGZtdCBvciAnYicgaW4gZm10IG9yICdCJyBpbiBmbXQKKworZGVmIGlzX21lbW9yeXZpZXdfZm9ybWF0KGZtdCk6CisgICAgIiIiZm9ybWF0IHN1aXRhYmxlIGZvciBtZW1vcnl2aWV3IiIiCisgICAgeCA9IGxlbihmbXQpCisgICAgcmV0dXJuICgoeCA9PSAxIG9yICh4ID09IDIgYW5kIGZtdFswXSA9PSAnQCcpKSBhbmQKKyAgICAgICAgICAgIGZtdFt4LTFdIGluIE1FTU9SWVZJRVcpCisKK05PTl9CWVRFX0ZPUk1BVCA9IFtjIGZvciBjIGluIGZtdGRpY3RbJ0AnXSBpZiBub3QgaXNfYnl0ZV9mb3JtYXQoYyldCisKKworIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisjICAgICAgIE11bHRpLWRpbWVuc2lvbmFsIHRvbGlzdCgpLCBzbGljaW5nIGFuZCBzbGljZSBhc3NpZ25tZW50cworIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKK2RlZiBhdG9tcChsc3QpOgorICAgICIiIlR1cGxlIGl0ZW1zIChyZXByZXNlbnRpbmcgc3RydWN0cykgYXJlIHJlZ2FyZGVkIGFzIGF0b21zLiIiIgorICAgIHJldHVybiBub3QgaXNpbnN0YW5jZShsc3QsIGxpc3QpCisKK2RlZiBsaXN0cChsc3QpOgorICAgIHJldHVybiBpc2luc3RhbmNlKGxzdCwgbGlzdCkKKworZGVmIHByb2QobHN0KToKKyAgICAiIiJQcm9kdWN0IG9mIGxpc3QgZWxlbWVudHMuIiIiCisgICAgaWYgbGVuKGxzdCkgPT0gMDoKKyAgICAgICAgcmV0dXJuIDAKKyAgICB4ID0gbHN0WzBdCisgICAgZm9yIHYgaW4gbHN0WzE6XToKKyAgICAgICAgeCAqPSB2CisgICAgcmV0dXJuIHgKKworZGVmIHN0cmlkZXNfZnJvbV9zaGFwZShuZGltLCBzaGFwZSwgaXRlbXNpemUsIGxheW91dCk6CisgICAgIiIiQ2FsY3VsYXRlIHN0cmlkZXMgb2YgYSBjb250aWd1b3VzIGFycmF5LiBMYXlvdXQgaXMgJ0MnIG9yCisgICAgICAgJ0YnIChGb3J0cmFuKS4iIiIKKyAgICBpZiBuZGltID09IDA6CisgICAgICAgIHJldHVybiAoKQorICAgIGlmIGxheW91dCA9PSAnQyc6CisgICAgICAgIHN0cmlkZXMgPSBsaXN0KHNoYXBlWzE6XSkgKyBbaXRlbXNpemVdCisgICAgICAgIGZvciBpIGluIHJhbmdlKG5kaW0tMiwgLTEsIC0xKToKKyAgICAgICAgICAgIHN0cmlkZXNbaV0gKj0gc3RyaWRlc1tpKzFdCisgICAgZWxzZToKKyAgICAgICAgc3RyaWRlcyA9IFtpdGVtc2l6ZV0gKyBsaXN0KHNoYXBlWzotMV0pCisgICAgICAgIGZvciBpIGluIHJhbmdlKDEsIG5kaW0pOgorICAgICAgICAgICAgc3RyaWRlc1tpXSAqPSBzdHJpZGVzW2ktMV0KKyAgICByZXR1cm4gc3RyaWRlcworCitkZWYgX2NhKGl0ZW1zLCBzKToKKyAgICAiIiJDb252ZXJ0IGZsYXQgaXRlbSBsaXN0IHRvIHRoZSBuZXN0ZWQgbGlzdCByZXByZXNlbnRhdGlvbiBvZiBhCisgICAgICAgbXVsdGlkaW1lbnNpb25hbCBDIGFycmF5IHdpdGggc2hhcGUgJ3MnLiIiIgorICAgIGlmIGF0b21wKGl0ZW1zKToKKyAgICAgICAgcmV0dXJuIGl0ZW1zCisgICAgaWYgbGVuKHMpID09IDA6CisgICAgICAgIHJldHVybiBpdGVtc1swXQorICAgIGxzdCA9IFswXSAqIHNbMF0KKyAgICBzdHJpZGUgPSBsZW4oaXRlbXMpIC8vIHNbMF0gaWYgc1swXSBlbHNlIDAKKyAgICBmb3IgaSBpbiByYW5nZShzWzBdKToKKyAgICAgICAgc3RhcnQgPSBpKnN0cmlkZQorICAgICAgICBsc3RbaV0gPSBfY2EoaXRlbXNbc3RhcnQ6c3RhcnQrc3RyaWRlXSwgc1sxOl0pCisgICAgcmV0dXJuIGxzdAorCitkZWYgX2ZhKGl0ZW1zLCBzKToKKyAgICAiIiJDb252ZXJ0IGZsYXQgaXRlbSBsaXN0IHRvIHRoZSBuZXN0ZWQgbGlzdCByZXByZXNlbnRhdGlvbiBvZiBhCisgICAgICAgbXVsdGlkaW1lbnNpb25hbCBGb3J0cmFuIGFycmF5IHdpdGggc2hhcGUgJ3MnLiIiIgorICAgIGlmIGF0b21wKGl0ZW1zKToKKyAgICAgICAgcmV0dXJuIGl0ZW1zCisgICAgaWYgbGVuKHMpID09IDA6CisgICAgICAgIHJldHVybiBpdGVtc1swXQorICAgIGxzdCA9IFswXSAqIHNbMF0KKyAgICBzdHJpZGUgPSBzWzBdCisgICAgZm9yIGkgaW4gcmFuZ2Uoc1swXSk6CisgICAgICAgIGxzdFtpXSA9IF9mYShpdGVtc1tpOjpzdHJpZGVdLCBzWzE6XSkKKyAgICByZXR1cm4gbHN0CisKK2RlZiBjYXJyYXkoaXRlbXMsIHNoYXBlKToKKyAgICBpZiBsaXN0cChpdGVtcykgYW5kIG5vdCAwIGluIHNoYXBlIGFuZCBwcm9kKHNoYXBlKSAhPSBsZW4oaXRlbXMpOgorICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJwcm9kKHNoYXBlKSAhPSBsZW4oaXRlbXMpIikKKyAgICByZXR1cm4gX2NhKGl0ZW1zLCBzaGFwZSkKKworZGVmIGZhcnJheShpdGVtcywgc2hhcGUpOgorICAgIGlmIGxpc3RwKGl0ZW1zKSBhbmQgbm90IDAgaW4gc2hhcGUgYW5kIHByb2Qoc2hhcGUpICE9IGxlbihpdGVtcyk6CisgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoInByb2Qoc2hhcGUpICE9IGxlbihpdGVtcykiKQorICAgIHJldHVybiBfZmEoaXRlbXMsIHNoYXBlKQorCitkZWYgaW5kaWNlcyhzaGFwZSk6CisgICAgIiIiR2VuZXJhdGUgYWxsIHBvc3NpYmxlIHR1cGxlcyBvZiBpbmRpY2VzLiIiIgorICAgIGl0ZXJhYmxlcyA9IFtyYW5nZSh2KSBmb3IgdiBpbiBzaGFwZV0KKyAgICByZXR1cm4gcHJvZHVjdCgqaXRlcmFibGVzKQorCitkZWYgZ2V0aW5kZXgobmRpbSwgaW5kLCBzdHJpZGVzKToKKyAgICAiIiJDb252ZXJ0IG11bHRpLWRpbWVuc2lvbmFsIGluZGV4IHRvIHRoZSBwb3NpdGlvbiBpbiB0aGUgZmxhdCBsaXN0LiIiIgorICAgIHJldCA9IDAKKyAgICBmb3IgaSBpbiByYW5nZShuZGltKToKKyAgICAgICAgcmV0ICs9IHN0cmlkZXNbaV0gKiBpbmRbaV0KKyAgICByZXR1cm4gcmV0CisKK2RlZiB0cmFuc3Bvc2Uoc3JjLCBzaGFwZSk6CisgICAgIiIiVHJhbnNwb3NlIGZsYXQgaXRlbSBsaXN0IHRoYXQgaXMgcmVnYXJkZWQgYXMgYSBtdWx0aS1kaW1lbnNpb25hbAorICAgICAgIG1hdHJpeCBkZWZpbmVkIGJ5IHNoYXBlOiBkZXN0Li4uW2tdW2pdW2ldID0gc3JjW2ldW2pdW2tdLi4uICAiIiIKKyAgICBpZiBub3Qgc2hhcGU6CisgICAgICAgIHJldHVybiBzcmMKKyAgICBuZGltID0gbGVuKHNoYXBlKQorICAgIHNzdHJpZGVzID0gc3RyaWRlc19mcm9tX3NoYXBlKG5kaW0sIHNoYXBlLCAxLCAnQycpCisgICAgZHN0cmlkZXMgPSBzdHJpZGVzX2Zyb21fc2hhcGUobmRpbSwgc2hhcGVbOjotMV0sIDEsICdDJykKKyAgICBkZXN0ID0gWzBdICogbGVuKHNyYykKKyAgICBmb3IgaW5kIGluIGluZGljZXMoc2hhcGUpOgorICAgICAgICBmciA9IGdldGluZGV4KG5kaW0sIGluZCwgc3N0cmlkZXMpCisgICAgICAgIHRvID0gZ2V0aW5kZXgobmRpbSwgaW5kWzo6LTFdLCBkc3RyaWRlcykKKyAgICAgICAgZGVzdFt0b10gPSBzcmNbZnJdCisgICAgcmV0dXJuIGRlc3QKKworZGVmIF9mbGF0dGVuKGxzdCk6CisgICAgIiIiZmxhdHRlbiBsaXN0IiIiCisgICAgaWYgbHN0ID09IFtdOgorICAgICAgICByZXR1cm4gbHN0CisgICAgaWYgYXRvbXAobHN0KToKKyAgICAgICAgcmV0dXJuIFtsc3RdCisgICAgcmV0dXJuIF9mbGF0dGVuKGxzdFswXSkgKyBfZmxhdHRlbihsc3RbMTpdKQorCitkZWYgZmxhdHRlbihsc3QpOgorICAgICIiImZsYXR0ZW4gbGlzdCBvciByZXR1cm4gc2NhbGFyIiIiCisgICAgaWYgYXRvbXAobHN0KTogIyBzY2FsYXIKKyAgICAgICAgcmV0dXJuIGxzdAorICAgIHJldHVybiBfZmxhdHRlbihsc3QpCisKK2RlZiBzbGljZV9zaGFwZShsc3QsIHNsaWNlcyk6CisgICAgIiIiR2V0IHRoZSBzaGFwZSBvZiBsc3QgYWZ0ZXIgc2xpY2luZzogc2xpY2VzIGlzIGEgbGlzdCBvZiBzbGljZQorICAgICAgIG9iamVjdHMuIiIiCisgICAgaWYgYXRvbXAobHN0KToKKyAgICAgICAgcmV0dXJuIFtdCisgICAgcmV0dXJuIFtsZW4obHN0W3NsaWNlc1swXV0pXSArIHNsaWNlX3NoYXBlKGxzdFswXSwgc2xpY2VzWzE6XSkKKworZGVmIG11bHRpc2xpY2UobHN0LCBzbGljZXMpOgorICAgICIiIk11bHRpLWRpbWVuc2lvbmFsIHNsaWNpbmc6IHNsaWNlcyBpcyBhIGxpc3Qgb2Ygc2xpY2Ugb2JqZWN0cy4iIiIKKyAgICBpZiBhdG9tcChsc3QpOgorICAgICAgICByZXR1cm4gbHN0CisgICAgcmV0dXJuIFttdWx0aXNsaWNlKHN1YmxzdCwgc2xpY2VzWzE6XSkgZm9yIHN1YmxzdCBpbiBsc3Rbc2xpY2VzWzBdXV0KKworZGVmIG1fYXNzaWduKGxsc3QsIHJsc3QsIGxzbGljZXMsIHJzbGljZXMpOgorICAgICIiIk11bHRpLWRpbWVuc2lvbmFsIHNsaWNlIGFzc2lnbm1lbnQ6IGxsc3QgYW5kIHJsc3QgYXJlIHRoZSBvcGVyYW5kcywKKyAgICAgICBsc2xpY2VzIGFuZCByc2xpY2VzIGFyZSBsaXN0cyBvZiBzbGljZSBvYmplY3RzLiBsbHN0IGFuZCBybHN0IG11c3QKKyAgICAgICBoYXZlIHRoZSBzYW1lIHN0cnVjdHVyZS4KKworICAgICAgIEZvciBhIHR3by1kaW1lbnNpb25hbCBleGFtcGxlLCB0aGlzIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiBQeXRob246CisKKyAgICAgICAgIGxsc3RbMDozOjIsIDA6MzoyXSA9IHJsc3RbMTozOjEsIDE6MzoxXQorCisgICAgICAgSW5zdGVhZCB3ZSB3cml0ZToKKworICAgICAgICAgbHNsaWNlcyA9IFtzbGljZSgwLDMsMiksIHNsaWNlKDAsMywyKV0KKyAgICAgICAgIHJzbGljZXMgPSBbc2xpY2UoMSwzLDEpLCBzbGljZSgxLDMsMSldCisgICAgICAgICBtdWx0aXNsaWNlX2Fzc2lnbihsbHN0LCBybHN0LCBsc2xpY2VzLCByc2xpY2VzKQorICAgICIiIgorICAgIGlmIGF0b21wKHJsc3QpOgorICAgICAgICByZXR1cm4gcmxzdAorICAgIHJsc3QgPSBbbV9hc3NpZ24obCwgciwgbHNsaWNlc1sxOl0sIHJzbGljZXNbMTpdKQorICAgICAgICAgICAgZm9yIGwsIHIgaW4gemlwKGxsc3RbbHNsaWNlc1swXV0sIHJsc3RbcnNsaWNlc1swXV0pXQorICAgIGxsc3RbbHNsaWNlc1swXV0gPSBybHN0CisgICAgcmV0dXJuIGxsc3QKKworZGVmIGNtcF9zdHJ1Y3R1cmUobGxzdCwgcmxzdCwgbHNsaWNlcywgcnNsaWNlcyk6CisgICAgIiIiQ29tcGFyZSB0aGUgc3RydWN0dXJlIG9mIGxsc3RbbHNsaWNlc10gYW5kIHJsc3RbcnNsaWNlc10uIiIiCisgICAgbHNoYXBlID0gc2xpY2Vfc2hhcGUobGxzdCwgbHNsaWNlcykKKyAgICByc2hhcGUgPSBzbGljZV9zaGFwZShybHN0LCByc2xpY2VzKQorICAgIGlmIChsZW4obHNoYXBlKSAhPSBsZW4ocnNoYXBlKSk6CisgICAgICAgIHJldHVybiAtMQorICAgIGZvciBpIGluIHJhbmdlKGxlbihsc2hhcGUpKToKKyAgICAgICAgaWYgbHNoYXBlW2ldICE9IHJzaGFwZVtpXToKKyAgICAgICAgICAgIHJldHVybiAtMQorICAgICAgICBpZiBsc2hhcGVbaV0gPT0gMDoKKyAgICAgICAgICAgIHJldHVybiAwCisgICAgcmV0dXJuIDAKKworZGVmIG11bHRpc2xpY2VfYXNzaWduKGxsc3QsIHJsc3QsIGxzbGljZXMsIHJzbGljZXMpOgorICAgICIiIlJldHVybiBsbHN0IGFmdGVyIGFzc2lnbmluZzogbGxzdFtsc2xpY2VzXSA9IHJsc3RbcnNsaWNlc10iIiIKKyAgICBpZiBjbXBfc3RydWN0dXJlKGxsc3QsIHJsc3QsIGxzbGljZXMsIHJzbGljZXMpIDwgMDoKKyAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigibHZhbHVlIGFuZCBydmFsdWUgaGF2ZSBkaWZmZXJlbnQgc3RydWN0dXJlcyIpCisgICAgcmV0dXJuIG1fYXNzaWduKGxsc3QsIHJsc3QsIGxzbGljZXMsIHJzbGljZXMpCisKKworIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisjICAgICAgICAgICAgICAgICAgICAgICAgICBSYW5kb20gc3RydWN0dXJlcworIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKKyMKKyMgUEVQLTMxMTggaXMgdmVyeSBwZXJtaXNzaXZlIHdpdGggcmVzcGVjdCB0byB0aGUgY29udGVudHMgb2YgYQorIyBQeV9idWZmZXIuIEluIHBhcnRpY3VsYXI6CisjCisjICAgLSBzaGFwZSBjYW4gYmUgemVybworIyAgIC0gc3RyaWRlcyBjYW4gYmUgYW55IGludGVnZXIsIGluY2x1ZGluZyB6ZXJvCisjICAgLSBvZmZzZXQgY2FuIHBvaW50IHRvIGFueSBsb2NhdGlvbiBpbiB0aGUgdW5kZXJseWluZworIyAgICAgbWVtb3J5IGJsb2NrLCBwcm92aWRlZCB0aGF0IGl0IGlzIGEgbXVsdGlwbGUgb2YKKyMgICAgIGl0ZW1zaXplLgorIworIyBUaGUgZnVuY3Rpb25zIGluIHRoaXMgc2VjdGlvbiB0ZXN0IGFuZCB2ZXJpZnkgcmFuZG9tIHN0cnVjdHVyZXMKKyMgaW4gZnVsbCBnZW5lcmFsaXR5LiBBIHN0cnVjdHVyZSBpcyB2YWxpZCBpZmYgaXQgZml0cyBpbiB0aGUKKyMgdW5kZXJseWluZyBtZW1vcnkgYmxvY2suCisjCisjIFRoZSBzdHJ1Y3R1cmUgJ3QnIChzaG9ydCBmb3IgJ3R1cGxlJykgaXMgZnVsbHkgZGVmaW5lZCBieToKKyMKKyMgICB0ID0gKG1lbWxlbiwgaXRlbXNpemUsIG5kaW0sIHNoYXBlLCBzdHJpZGVzLCBvZmZzZXQpCisjCisKK2RlZiB2ZXJpZnlfc3RydWN0dXJlKG1lbWxlbiwgaXRlbXNpemUsIG5kaW0sIHNoYXBlLCBzdHJpZGVzLCBvZmZzZXQpOgorICAgICIiIlZlcmlmeSB0aGF0IHRoZSBwYXJhbWV0ZXJzIHJlcHJlc2VudCBhIHZhbGlkIGFycmF5IHdpdGhpbgorICAgICAgIHRoZSBib3VuZHMgb2YgdGhlIGFsbG9jYXRlZCBtZW1vcnk6CisgICAgICAgICAgIGNoYXIgKm1lbTogc3RhcnQgb2YgdGhlIHBoeXNpY2FsIG1lbW9yeSBibG9jaworICAgICAgICAgICBtZW1sZW46IGxlbmd0aCBvZiB0aGUgcGh5c2ljYWwgbWVtb3J5IGJsb2NrCisgICAgICAgICAgIG9mZnNldDogKGNoYXIgKilidWYgLSBtZW0KKyAgICAiIiIKKyAgICBpZiBvZmZzZXQgJSBpdGVtc2l6ZToKKyAgICAgICAgcmV0dXJuIEZhbHNlCisgICAgaWYgb2Zmc2V0IDwgMCBvciBvZmZzZXQraXRlbXNpemUgPiBtZW1sZW46CisgICAgICAgIHJldHVybiBGYWxzZQorICAgIGlmIGFueSh2ICUgaXRlbXNpemUgZm9yIHYgaW4gc3RyaWRlcyk6CisgICAgICAgIHJldHVybiBGYWxzZQorCisgICAgaWYgbmRpbSA8PSAwOgorICAgICAgICByZXR1cm4gbmRpbSA9PSAwIGFuZCBub3Qgc2hhcGUgYW5kIG5vdCBzdHJpZGVzCisgICAgaWYgMCBpbiBzaGFwZToKKyAgICAgICAgcmV0dXJuIFRydWUKKworICAgIGltaW4gPSBzdW0oc3RyaWRlc1tqXSooc2hhcGVbal0tMSkgZm9yIGogaW4gcmFuZ2UobmRpbSkKKyAgICAgICAgICAgICAgIGlmIHN0cmlkZXNbal0gPD0gMCkKKyAgICBpbWF4ID0gc3VtKHN0cmlkZXNbal0qKHNoYXBlW2pdLTEpIGZvciBqIGluIHJhbmdlKG5kaW0pCisgICAgICAgICAgICAgICBpZiBzdHJpZGVzW2pdID4gMCkKKworICAgIHJldHVybiAwIDw9IG9mZnNldCtpbWluIGFuZCBvZmZzZXQraW1heCtpdGVtc2l6ZSA8PSBtZW1sZW4KKworZGVmIGdldF9pdGVtKGxzdCwgaW5kaWNlcyk6CisgICAgZm9yIGkgaW4gaW5kaWNlczoKKyAgICAgICAgbHN0ID0gbHN0W2ldCisgICAgcmV0dXJuIGxzdAorCitkZWYgbWVtb3J5X2luZGV4KGluZGljZXMsIHQpOgorICAgICIiIkxvY2F0aW9uIG9mIGFuIGl0ZW0gaW4gdGhlIHVuZGVybHlpbmcgbWVtb3J5LiIiIgorICAgIG1lbWxlbiwgaXRlbXNpemUsIG5kaW0sIHNoYXBlLCBzdHJpZGVzLCBvZmZzZXQgPSB0CisgICAgcCA9IG9mZnNldAorICAgIGZvciBpIGluIHJhbmdlKG5kaW0pOgorICAgICAgICBwICs9IHN0cmlkZXNbaV0qaW5kaWNlc1tpXQorICAgIHJldHVybiBwCisKK2RlZiBpc19vdmVybGFwcGluZyh0KToKKyAgICAiIiJUaGUgc3RydWN0dXJlICd0JyBpcyBvdmVybGFwcGluZyBpZiBhdCBsZWFzdCBvbmUgbWVtb3J5IGxvY2F0aW9uCisgICAgICAgaXMgdmlzaXRlZCB0d2ljZSB3aGlsZSBpdGVyYXRpbmcgdGhyb3VnaCBhbGwgcG9zc2libGUgdHVwbGVzIG9mCisgICAgICAgaW5kaWNlcy4iIiIKKyAgICBtZW1sZW4sIGl0ZW1zaXplLCBuZGltLCBzaGFwZSwgc3RyaWRlcywgb2Zmc2V0ID0gdAorICAgIHZpc2l0ZWQgPSAxPDxtZW1sZW4KKyAgICBmb3IgaW5kIGluIGluZGljZXMoc2hhcGUpOgorICAgICAgICBpID0gbWVtb3J5X2luZGV4KGluZCwgdCkKKyAgICAgICAgYml0ID0gMTw8aQorICAgICAgICBpZiB2aXNpdGVkICYgYml0OgorICAgICAgICAgICAgcmV0dXJuIFRydWUKKyAgICAgICAgdmlzaXRlZCB8PSBiaXQKKyAgICByZXR1cm4gRmFsc2UKKworZGVmIHJhbmRfc3RydWN0dXJlKGl0ZW1zaXplLCB2YWxpZCwgbWF4ZGltPTUsIG1heHNoYXBlPTE2LCBzaGFwZT0oKSk6CisgICAgIiIiUmV0dXJuIHJhbmRvbSBzdHJ1Y3R1cmU6CisgICAgICAgICAgIChtZW1sZW4sIGl0ZW1zaXplLCBuZGltLCBzaGFwZSwgc3RyaWRlcywgb2Zmc2V0KQorICAgICAgIElmICd2YWxpZCcgaXMgdHJ1ZSwgdGhlIHJldHVybmVkIHN0cnVjdHVyZSBpcyB2YWxpZCwgb3RoZXJ3aXNlIGludmFsaWQuCisgICAgICAgSWYgJ3NoYXBlJyBpcyBnaXZlbiwgdXNlIHRoYXQgaW5zdGVhZCBvZiBjcmVhdGluZyBhIHJhbmRvbSBzaGFwZS4KKyAgICAiIiIKKyAgICBpZiBub3Qgc2hhcGU6CisgICAgICAgIG5kaW0gPSByYW5kcmFuZ2UobWF4ZGltKzEpCisgICAgICAgIGlmIChuZGltID09IDApOgorICAgICAgICAgICAgaWYgdmFsaWQ6CisgICAgICAgICAgICAgICAgcmV0dXJuIGl0ZW1zaXplLCBpdGVtc2l6ZSwgbmRpbSwgKCksICgpLCAwCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIG5pdGVtcyA9IHJhbmRyYW5nZSgxLCAxNisxKQorICAgICAgICAgICAgICAgIG1lbWxlbiA9IG5pdGVtcyAqIGl0ZW1zaXplCisgICAgICAgICAgICAgICAgb2Zmc2V0ID0gLWl0ZW1zaXplIGlmIHJhbmRyYW5nZSgyKSA9PSAwIGVsc2UgbWVtbGVuCisgICAgICAgICAgICAgICAgcmV0dXJuIG1lbWxlbiwgaXRlbXNpemUsIG5kaW0sICgpLCAoKSwgb2Zmc2V0CisKKyAgICAgICAgbWluc2hhcGUgPSAyCisgICAgICAgIG4gPSByYW5kcmFuZ2UoMTAwKQorICAgICAgICBpZiBuID49IDk1IGFuZCB2YWxpZDoKKyAgICAgICAgICAgIG1pbnNoYXBlID0gMAorICAgICAgICBlbGlmIG4gPj0gOTA6CisgICAgICAgICAgICBtaW5zaGFwZSA9IDEKKyAgICAgICAgc2hhcGUgPSBbMF0gKiBuZGltCisKKyAgICAgICAgZm9yIGkgaW4gcmFuZ2UobmRpbSk6CisgICAgICAgICAgICBzaGFwZVtpXSA9IHJhbmRyYW5nZShtaW5zaGFwZSwgbWF4c2hhcGUrMSkKKyAgICBlbHNlOgorICAgICAgICBuZGltID0gbGVuKHNoYXBlKQorCisgICAgbWF4c3RyaWRlID0gNQorICAgIG4gPSByYW5kcmFuZ2UoMTAwKQorICAgIHplcm9fc3RyaWRlID0gVHJ1ZSBpZiBuID49IDk1IGFuZCBuICYgMSBlbHNlIEZhbHNlCisKKyAgICBzdHJpZGVzID0gWzBdICogbmRpbQorICAgIHN0cmlkZXNbbmRpbS0xXSA9IGl0ZW1zaXplICogcmFuZHJhbmdlKC1tYXhzdHJpZGUsIG1heHN0cmlkZSsxKQorICAgIGlmIG5vdCB6ZXJvX3N0cmlkZSBhbmQgc3RyaWRlc1tuZGltLTFdID09IDA6CisgICAgICAgIHN0cmlkZXNbbmRpbS0xXSA9IGl0ZW1zaXplCisKKyAgICBmb3IgaSBpbiByYW5nZShuZGltLTIsIC0xLCAtMSk6CisgICAgICAgIG1heHN0cmlkZSAqPSBzaGFwZVtpKzFdIGlmIHNoYXBlW2krMV0gZWxzZSAxCisgICAgICAgIGlmIHplcm9fc3RyaWRlOgorICAgICAgICAgICAgc3RyaWRlc1tpXSA9IGl0ZW1zaXplICogcmFuZHJhbmdlKC1tYXhzdHJpZGUsIG1heHN0cmlkZSsxKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgc3RyaWRlc1tpXSA9ICgoMSwtMSlbcmFuZHJhbmdlKDIpXSAqCisgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zaXplICogcmFuZHJhbmdlKDEsIG1heHN0cmlkZSsxKSkKKworICAgIGltaW4gPSBpbWF4ID0gMAorICAgIGlmIG5vdCAwIGluIHNoYXBlOgorICAgICAgICBpbWluID0gc3VtKHN0cmlkZXNbal0qKHNoYXBlW2pdLTEpIGZvciBqIGluIHJhbmdlKG5kaW0pCisgICAgICAgICAgICAgICAgICAgaWYgc3RyaWRlc1tqXSA8PSAwKQorICAgICAgICBpbWF4ID0gc3VtKHN0cmlkZXNbal0qKHNoYXBlW2pdLTEpIGZvciBqIGluIHJhbmdlKG5kaW0pCisgICAgICAgICAgICAgICAgICAgaWYgc3RyaWRlc1tqXSA+IDApCisKKyAgICBuaXRlbXMgPSBpbWF4IC0gaW1pbgorICAgIGlmIHZhbGlkOgorICAgICAgICBvZmZzZXQgPSAtaW1pbiAqIGl0ZW1zaXplCisgICAgICAgIG1lbWxlbiA9IG9mZnNldCArIChpbWF4KzEpICogaXRlbXNpemUKKyAgICBlbHNlOgorICAgICAgICBtZW1sZW4gPSAoLWltaW4gKyBpbWF4KSAqIGl0ZW1zaXplCisgICAgICAgIG9mZnNldCA9IC1pbWluLWl0ZW1zaXplIGlmIHJhbmRyYW5nZSgyKSA9PSAwIGVsc2UgbWVtbGVuCisgICAgcmV0dXJuIG1lbWxlbiwgaXRlbXNpemUsIG5kaW0sIHNoYXBlLCBzdHJpZGVzLCBvZmZzZXQKKworZGVmIHJhbmRzbGljZV9mcm9tX3NsaWNlbGVuKHNsaWNlbGVuLCBsaXN0bGVuKToKKyAgICAiIiJDcmVhdGUgYSByYW5kb20gc2xpY2Ugb2YgbGVuIHNsaWNlbGVuIHRoYXQgZml0cyBpbnRvIGxpc3RsZW4uIiIiCisgICAgbWF4c3RhcnQgPSBsaXN0bGVuIC0gc2xpY2VsZW4KKyAgICBzdGFydCA9IHJhbmRyYW5nZShtYXhzdGFydCsxKQorICAgIG1heHN0ZXAgPSAobGlzdGxlbiAtIHN0YXJ0KSAvLyBzbGljZWxlbiBpZiBzbGljZWxlbiBlbHNlIDEKKyAgICBzdGVwID0gcmFuZHJhbmdlKDEsIG1heHN0ZXArMSkKKyAgICBzdG9wID0gc3RhcnQgKyBzbGljZWxlbiAqIHN0ZXAKKyAgICBzID0gc2xpY2Uoc3RhcnQsIHN0b3AsIHN0ZXApCisgICAgXywgXywgXywgY29udHJvbCA9IHNsaWNlX2luZGljZXMocywgbGlzdGxlbikKKyAgICBpZiBjb250cm9sICE9IHNsaWNlbGVuOgorICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IKKyAgICByZXR1cm4gcworCitkZWYgcmFuZHNsaWNlX2Zyb21fc2hhcGUobmRpbSwgc2hhcGUpOgorICAgICIiIkNyZWF0ZSB0d28gc2V0cyBvZiBzbGljZXMgZm9yIGFuIGFycmF5IHggd2l0aCBzaGFwZSAnc2hhcGUnCisgICAgICAgc3VjaCB0aGF0IHNoYXBlb2YoeFtsc2xpY2VzXSkgPT0gc2hhcGVvZih4W3JzbGljZXNdKS4iIiIKKyAgICBsc2xpY2VzID0gWzBdICogbmRpbQorICAgIHJzbGljZXMgPSBbMF0gKiBuZGltCisgICAgZm9yIG4gaW4gcmFuZ2UobmRpbSk6CisgICAgICAgIGwgPSBzaGFwZVtuXQorICAgICAgICBzbGljZWxlbiA9IHJhbmRyYW5nZSgxLCBsKzEpIGlmIGwgPiAwIGVsc2UgMAorICAgICAgICBsc2xpY2VzW25dID0gcmFuZHNsaWNlX2Zyb21fc2xpY2VsZW4oc2xpY2VsZW4sIGwpCisgICAgICAgIHJzbGljZXNbbl0gPSByYW5kc2xpY2VfZnJvbV9zbGljZWxlbihzbGljZWxlbiwgbCkKKyAgICByZXR1cm4gdHVwbGUobHNsaWNlcyksIHR1cGxlKHJzbGljZXMpCisKK2RlZiByYW5kX2FsaWduZWRfc2xpY2VzKG1heGRpbT01LCBtYXhzaGFwZT0xNik6CisgICAgIiIiQ3JlYXRlIChsc2hhcGUsIHJzaGFwZSwgdHVwbGUobHNsaWNlcyksIHR1cGxlKHJzbGljZXMpKSBzdWNoIHRoYXQKKyAgICAgICBzaGFwZW9mKHhbbHNsaWNlc10pID09IHNoYXBlb2YoeVtyc2xpY2VzXSksIHdoZXJlIHggaXMgYW4gYXJyYXkKKyAgICAgICB3aXRoIHNoYXBlICdsc2hhcGUnIGFuZCB5IGlzIGFuIGFycmF5IHdpdGggc2hhcGUgJ3JzaGFwZScuIiIiCisgICAgbmRpbSA9IHJhbmRyYW5nZSgxLCBtYXhkaW0rMSkKKyAgICBtaW5zaGFwZSA9IDIKKyAgICBuID0gcmFuZHJhbmdlKDEwMCkKKyAgICBpZiBuID49IDk1OgorICAgICAgICBtaW5zaGFwZSA9IDAKKyAgICBlbGlmIG4gPj0gOTA6CisgICAgICAgIG1pbnNoYXBlID0gMQorICAgIGFsbF9yYW5kb20gPSBUcnVlIGlmIHJhbmRyYW5nZSgxMDApID49IDgwIGVsc2UgRmFsc2UKKyAgICBsc2hhcGUgPSBbMF0qbmRpbTsgcnNoYXBlID0gWzBdKm5kaW0KKyAgICBsc2xpY2VzID0gWzBdKm5kaW07IHJzbGljZXMgPSBbMF0qbmRpbQorCisgICAgZm9yIG4gaW4gcmFuZ2UobmRpbSk6CisgICAgICAgIHNtYWxsID0gcmFuZHJhbmdlKG1pbnNoYXBlLCBtYXhzaGFwZSsxKQorICAgICAgICBiaWcgPSByYW5kcmFuZ2UobWluc2hhcGUsIG1heHNoYXBlKzEpCisgICAgICAgIGlmIGJpZyA8IHNtYWxsOgorICAgICAgICAgICAgYmlnLCBzbWFsbCA9IHNtYWxsLCBiaWcKKworICAgICAgICAjIENyZWF0ZSBhIHNsaWNlIHRoYXQgZml0cyB0aGUgc21hbGxlciB2YWx1ZS4KKyAgICAgICAgaWYgYWxsX3JhbmRvbToKKyAgICAgICAgICAgIHN0YXJ0ID0gcmFuZHJhbmdlKC1zbWFsbCwgc21hbGwrMSkKKyAgICAgICAgICAgIHN0b3AgPSByYW5kcmFuZ2UoLXNtYWxsLCBzbWFsbCsxKQorICAgICAgICAgICAgc3RlcCA9ICgxLC0xKVtyYW5kcmFuZ2UoMildICogcmFuZHJhbmdlKDEsIHNtYWxsKzIpCisgICAgICAgICAgICBzX3NtYWxsID0gc2xpY2Uoc3RhcnQsIHN0b3AsIHN0ZXApCisgICAgICAgICAgICBfLCBfLCBfLCBzbGljZWxlbiA9IHNsaWNlX2luZGljZXMoc19zbWFsbCwgc21hbGwpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzbGljZWxlbiA9IHJhbmRyYW5nZSgxLCBzbWFsbCsxKSBpZiBzbWFsbCA+IDAgZWxzZSAwCisgICAgICAgICAgICBzX3NtYWxsID0gcmFuZHNsaWNlX2Zyb21fc2xpY2VsZW4oc2xpY2VsZW4sIHNtYWxsKQorCisgICAgICAgICMgQ3JlYXRlIGEgc2xpY2Ugb2YgdGhlIHNhbWUgbGVuZ3RoIGZvciB0aGUgYmlnZ2VyIHZhbHVlLgorICAgICAgICBzX2JpZyA9IHJhbmRzbGljZV9mcm9tX3NsaWNlbGVuKHNsaWNlbGVuLCBiaWcpCisgICAgICAgIGlmIHJhbmRyYW5nZSgyKSA9PSAwOgorICAgICAgICAgICAgcnNoYXBlW25dLCBsc2hhcGVbbl0gPSBiaWcsIHNtYWxsCisgICAgICAgICAgICByc2xpY2VzW25dLCBsc2xpY2VzW25dID0gc19iaWcsIHNfc21hbGwKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJzaGFwZVtuXSwgbHNoYXBlW25dID0gc21hbGwsIGJpZworICAgICAgICAgICAgcnNsaWNlc1tuXSwgbHNsaWNlc1tuXSA9IHNfc21hbGwsIHNfYmlnCisKKyAgICByZXR1cm4gbHNoYXBlLCByc2hhcGUsIHR1cGxlKGxzbGljZXMpLCB0dXBsZShyc2xpY2VzKQorCitkZWYgcmFuZGl0ZW1zX2Zyb21fc3RydWN0dXJlKGZtdCwgdCk6CisgICAgIiIiUmV0dXJuIGEgbGlzdCBvZiByYW5kb20gaXRlbXMgZm9yIHN0cnVjdHVyZSAndCcgd2l0aCBmb3JtYXQKKyAgICAgICAnZm10Y2hhcicuIiIiCisgICAgbWVtbGVuLCBpdGVtc2l6ZSwgXywgXywgXywgXyA9IHQKKyAgICByZXR1cm4gZ2VuX2l0ZW1zKG1lbWxlbi8vaXRlbXNpemUsICcjJytmbXQsICdudW1weScpCisKK2RlZiBuZGFycmF5X2Zyb21fc3RydWN0dXJlKGl0ZW1zLCBmbXQsIHQsIGZsYWdzPTApOgorICAgICIiIlJldHVybiBuZGFycmF5IGZyb20gdGhlIHR1cGxlIHJldHVybmVkIGJ5IHJhbmRfc3RydWN0dXJlKCkiIiIKKyAgICBtZW1sZW4sIGl0ZW1zaXplLCBuZGltLCBzaGFwZSwgc3RyaWRlcywgb2Zmc2V0ID0gdAorICAgIHJldHVybiBuZGFycmF5KGl0ZW1zLCBzaGFwZT1zaGFwZSwgc3RyaWRlcz1zdHJpZGVzLCBmb3JtYXQ9Zm10LAorICAgICAgICAgICAgICAgICAgIG9mZnNldD1vZmZzZXQsIGZsYWdzPU5EX1dSSVRBQkxFfGZsYWdzKQorCitkZWYgbnVtcHlfYXJyYXlfZnJvbV9zdHJ1Y3R1cmUoaXRlbXMsIGZtdCwgdCk6CisgICAgIiIiUmV0dXJuIG51bXB5X2FycmF5IGZyb20gdGhlIHR1cGxlIHJldHVybmVkIGJ5IHJhbmRfc3RydWN0dXJlKCkiIiIKKyAgICBtZW1sZW4sIGl0ZW1zaXplLCBuZGltLCBzaGFwZSwgc3RyaWRlcywgb2Zmc2V0ID0gdAorICAgIGJ1ZiA9IGJ5dGVhcnJheShtZW1sZW4pCisgICAgZm9yIGosIHYgaW4gZW51bWVyYXRlKGl0ZW1zKToKKyAgICAgICAgc3RydWN0LnBhY2tfaW50byhmbXQsIGJ1ZiwgaippdGVtc2l6ZSwgdikKKyAgICByZXR1cm4gbnVtcHlfYXJyYXkoYnVmZmVyPWJ1Ziwgc2hhcGU9c2hhcGUsIHN0cmlkZXM9c3RyaWRlcywKKyAgICAgICAgICAgICAgICAgICAgICAgZHR5cGU9Zm10LCBvZmZzZXQ9b2Zmc2V0KQorCisKKyMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorIyAgICAgICAgICAgICAgICAgICAgICAgICAgbWVtb3J5dmlldyBjYXN0cworIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKK2RlZiBjYXN0X2l0ZW1zKGV4cG9ydGVyLCBmbXQsIGl0ZW1zaXplLCBzaGFwZT1Ob25lKToKKyAgICAiIiJJbnRlcnByZXQgdGhlIHJhdyBtZW1vcnkgb2YgJ2V4cG9ydGVyJyBhcyBhIGxpc3Qgb2YgaXRlbXMgd2l0aAorICAgICAgIHNpemUgJ2l0ZW1zaXplJy4gSWYgc2hhcGU9Tm9uZSwgdGhlIG5ldyBzdHJ1Y3R1cmUgaXMgYXNzdW1lZCB0bworICAgICAgIGJlIDEtRCB3aXRoIG4gKiBpdGVtc2l6ZSA9IGJ5dGVsZW4uIElmIHNoYXBlIGlzIGdpdmVuLCB0aGUgdXN1YWwKKyAgICAgICBjb25zdHJhaW50IGZvciBjb250aWd1b3VzIGFycmF5cyBwcm9kKHNoYXBlKSAqIGl0ZW1zaXplID0gYnl0ZWxlbgorICAgICAgIGFwcGxpZXMuIE9uIHN1Y2Nlc3MsIHJldHVybiAoaXRlbXMsIHNoYXBlKS4gSWYgdGhlIGNvbnN0cmFpbnRzCisgICAgICAgY2Fubm90IGJlIG1ldCwgcmV0dXJuIChOb25lLCBOb25lKS4gSWYgYSBjaHVuayBvZiBieXRlcyBpcyBpbnRlcnByZXRlZAorICAgICAgIGFzIE5hTiBhcyBhIHJlc3VsdCBvZiBmbG9hdCBjb252ZXJzaW9uLCByZXR1cm4gKCduYW4nLCBOb25lKS4iIiIKKyAgICBieXRlbGVuID0gZXhwb3J0ZXIubmJ5dGVzCisgICAgaWYgc2hhcGU6CisgICAgICAgIGlmIHByb2Qoc2hhcGUpICogaXRlbXNpemUgIT0gYnl0ZWxlbjoKKyAgICAgICAgICAgIHJldHVybiBOb25lLCBzaGFwZQorICAgIGVsaWYgc2hhcGUgPT0gW106CisgICAgICAgIGlmIGV4cG9ydGVyLm5kaW0gPT0gMCBvciBpdGVtc2l6ZSAhPSBieXRlbGVuOgorICAgICAgICAgICAgcmV0dXJuIE5vbmUsIHNoYXBlCisgICAgZWxzZToKKyAgICAgICAgbiwgciA9IGRpdm1vZChieXRlbGVuLCBpdGVtc2l6ZSkKKyAgICAgICAgc2hhcGUgPSBbbl0KKyAgICAgICAgaWYgciAhPSAwOgorICAgICAgICAgICAgcmV0dXJuIE5vbmUsIHNoYXBlCisKKyAgICBtZW0gPSBleHBvcnRlci50b2J5dGVzKCkKKyAgICBieXRlaXRlbXMgPSBbbWVtW2k6aStpdGVtc2l6ZV0gZm9yIGkgaW4gcmFuZ2UoMCwgbGVuKG1lbSksIGl0ZW1zaXplKV0KKworICAgIGl0ZW1zID0gW10KKyAgICBmb3IgdiBpbiBieXRlaXRlbXM6CisgICAgICAgIGl0ZW0gPSBzdHJ1Y3QudW5wYWNrKGZtdCwgdilbMF0KKyAgICAgICAgaWYgaXRlbSAhPSBpdGVtOgorICAgICAgICAgICAgcmV0dXJuICduYW4nLCBzaGFwZQorICAgICAgICBpdGVtcy5hcHBlbmQoaXRlbSkKKworICAgIHJldHVybiAoaXRlbXMsIHNoYXBlKSBpZiBzaGFwZSAhPSBbXSBlbHNlIChpdGVtc1swXSwgc2hhcGUpCisKK2RlZiBnZW5jYXN0c2hhcGVzKCk6CisgICAgIiIiR2VuZXJhdGUgc2hhcGVzIHRvIHRlc3QgY2FzdGluZy4iIiIKKyAgICBmb3IgbiBpbiByYW5nZSgzMik6CisgICAgICAgIHlpZWxkIFtuXQorICAgIG5kaW0gPSByYW5kcmFuZ2UoNCwgNikKKyAgICBtaW5zaGFwZSA9IDEgaWYgcmFuZHJhbmdlKDEwMCkgPiA4MCBlbHNlIDIKKyAgICB5aWVsZCBbcmFuZHJhbmdlKG1pbnNoYXBlLCA1KSBmb3IgXyBpbiByYW5nZShuZGltKV0KKyAgICBuZGltID0gcmFuZHJhbmdlKDIsIDQpCisgICAgbWluc2hhcGUgPSAxIGlmIHJhbmRyYW5nZSgxMDApID4gODAgZWxzZSAyCisgICAgeWllbGQgW3JhbmRyYW5nZShtaW5zaGFwZSwgNSkgZm9yIF8gaW4gcmFuZ2UobmRpbSldCisKKworIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWN0dWFsIHRlc3RzCisjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworZGVmIGdlbnNsaWNlcyhuKToKKyAgICAiIiJHZW5lcmF0ZSBhbGwgcG9zc2libGUgc2xpY2VzIGZvciBhIHNpbmdsZSBkaW1lbnNpb24uIiIiCisgICAgcmV0dXJuIHByb2R1Y3QocmFuZ2UoLW4sIG4rMSksIHJhbmdlKC1uLCBuKzEpLCByYW5nZSgtbiwgbisxKSkKKworZGVmIGdlbnNsaWNlc19uZGltKG5kaW0sIHNoYXBlKToKKyAgICAiIiJHZW5lcmF0ZSBhbGwgcG9zc2libGUgc2xpY2UgdHVwbGVzIGZvciAnc2hhcGUnLiIiIgorICAgIGl0ZXJhYmxlcyA9IFtnZW5zbGljZXMoc2hhcGVbbl0pIGZvciBuIGluIHJhbmdlKG5kaW0pXQorICAgIHJldHVybiBwcm9kdWN0KCppdGVyYWJsZXMpCisKK2RlZiByc2xpY2UobiwgYWxsb3dfZW1wdHk9RmFsc2UpOgorICAgICIiIkdlbmVyYXRlIHJhbmRvbSBzbGljZSBmb3IgYSBzaW5nbGUgZGltZW5zaW9uIG9mIGxlbmd0aCBuLgorICAgICAgIElmIHplcm89VHJ1ZSwgdGhlIHNsaWNlcyBtYXkgYmUgZW1wdHksIG90aGVyd2lzZSB0aGV5IHdpbGwKKyAgICAgICBiZSBub24tZW1wdHkuIiIiCisgICAgbWlubGVuID0gMCBpZiBhbGxvd19lbXB0eSBvciBuID09IDAgZWxzZSAxCisgICAgc2xpY2VsZW4gPSByYW5kcmFuZ2UobWlubGVuLCBuKzEpCisgICAgcmV0dXJuIHJhbmRzbGljZV9mcm9tX3NsaWNlbGVuKHNsaWNlbGVuLCBuKQorCitkZWYgcnNsaWNlcyhuLCBhbGxvd19lbXB0eT1GYWxzZSk6CisgICAgIiIiR2VuZXJhdGUgcmFuZG9tIHNsaWNlcyBmb3IgYSBzaW5nbGUgZGltZW5zaW9uLiIiIgorICAgIGZvciBfIGluIHJhbmdlKDUpOgorICAgICAgICB5aWVsZCByc2xpY2UobiwgYWxsb3dfZW1wdHkpCisKK2RlZiByc2xpY2VzX25kaW0obmRpbSwgc2hhcGUsIGl0ZXJhdGlvbnM9NSk6CisgICAgIiIiR2VuZXJhdGUgcmFuZG9tIHNsaWNlIHR1cGxlcyBmb3IgJ3NoYXBlJy4iIiIKKyAgICAjIG5vbi1lbXB0eSBzbGljZXMKKyAgICBmb3IgXyBpbiByYW5nZShpdGVyYXRpb25zKToKKyAgICAgICAgeWllbGQgdHVwbGUocnNsaWNlKHNoYXBlW25dKSBmb3IgbiBpbiByYW5nZShuZGltKSkKKyAgICAjIHBvc3NpYmx5IGVtcHR5IHNsaWNlcworICAgIGZvciBfIGluIHJhbmdlKGl0ZXJhdGlvbnMpOgorICAgICAgICB5aWVsZCB0dXBsZShyc2xpY2Uoc2hhcGVbbl0sIGFsbG93X2VtcHR5PVRydWUpIGZvciBuIGluIHJhbmdlKG5kaW0pKQorICAgICMgaW52YWxpZCBzbGljZXMKKyAgICB5aWVsZCB0dXBsZShzbGljZSgwLDEsMCkgZm9yIF8gaW4gcmFuZ2UobmRpbSkpCisKK2RlZiBycGVybXV0YXRpb24oaXRlcmFibGUsIHI9Tm9uZSk6CisgICAgcG9vbCA9IHR1cGxlKGl0ZXJhYmxlKQorICAgIHIgPSBsZW4ocG9vbCkgaWYgciBpcyBOb25lIGVsc2UgcgorICAgIHlpZWxkIHR1cGxlKHNhbXBsZShwb29sLCByKSkKKworZGVmIG5kYXJyYXlfcHJpbnQobmQpOgorICAgICIiIlByaW50IG5kYXJyYXkgZm9yIGRlYnVnZ2luZy4iIiIKKyAgICB0cnk6CisgICAgICAgIHggPSBuZC50b2xpc3QoKQorICAgIGV4Y2VwdCAoVHlwZUVycm9yLCBOb3RJbXBsZW1lbnRlZEVycm9yKToKKyAgICAgICAgeCA9IG5kLnRvYnl0ZXMoKQorICAgIGlmIGlzaW5zdGFuY2UobmQsIG5kYXJyYXkpOgorICAgICAgICBvZmZzZXQgPSBuZC5vZmZzZXQKKyAgICAgICAgZmxhZ3MgPSBuZC5mbGFncworICAgIGVsc2U6CisgICAgICAgIG9mZnNldCA9ICd1bmtub3duJworICAgICAgICBmbGFncyA9ICd1bmtub3duJworICAgIHByaW50KCJuZGFycmF5KCVzLCBzaGFwZT0lcywgc3RyaWRlcz0lcywgc3Vib2Zmc2V0cz0lcywgb2Zmc2V0PSVzLCAiCisgICAgICAgICAgImZvcm1hdD0nJXMnLCBpdGVtc2l6ZT0lcywgZmxhZ3M9JXMpIiAlCisgICAgICAgICAgKHgsIG5kLnNoYXBlLCBuZC5zdHJpZGVzLCBuZC5zdWJvZmZzZXRzLCBvZmZzZXQsCisgICAgICAgICAgIG5kLmZvcm1hdCwgbmQuaXRlbXNpemUsIGZsYWdzKSkKKyAgICBzeXMuc3Rkb3V0LmZsdXNoKCkKKworCitJVEVSQVRJT05TID0gMTAwCitNQVhESU0gPSA1CitNQVhTSEFQRSA9IDEwCisKK2lmIFNIT1JUX1RFU1Q6CisgICAgSVRFUkFUSU9OUyA9IDEwCisgICAgTUFYRElNID0gMworICAgIE1BWFNIQVBFID0gNAorICAgIGdlbnNsaWNlcyA9IHJzbGljZXMKKyAgICBnZW5zbGljZXNfbmRpbSA9IHJzbGljZXNfbmRpbQorICAgIHBlcm11dGF0aW9ucyA9IHJwZXJtdXRhdGlvbgorCisKK0B1bml0dGVzdC5za2lwVW5sZXNzKHN0cnVjdCwgJ3N0cnVjdCBtb2R1bGUgcmVxdWlyZWQgZm9yIHRoaXMgdGVzdC4nKQorQHVuaXR0ZXN0LnNraXBVbmxlc3MobmRhcnJheSwgJ25kYXJyYXkgb2JqZWN0IHJlcXVpcmVkIGZvciB0aGlzIHRlc3QnKQorY2xhc3MgVGVzdEJ1ZmZlclByb3RvY29sKHVuaXR0ZXN0LlRlc3RDYXNlKToKKworICAgIGRlZiBzZXRVcChzZWxmKToKKyAgICAgICAgc2VsZi5zaXplb2Zfdm9pZF9wID0gZ2V0X2NvbmZpZ192YXIoJ1NJWkVPRl9WT0lEX1AnKQorICAgICAgICBpZiBub3Qgc2VsZi5zaXplb2Zfdm9pZF9wOgorICAgICAgICAgICAgc2VsZi5zaXplb2Zfdm9pZF9wID0gOCBpZiBhcmNoaXRlY3R1cmUoKVswXSA9PSAnNjRiaXQnIGVsc2UgNAorCisgICAgZGVmIHZlcmlmeShzZWxmLCByZXN1bHQsIG9iaj0tMSwKKyAgICAgICAgICAgICAgICAgICAgIGl0ZW1zaXplPXsxfSwgZm10PS0xLCByZWFkb25seT17MX0sCisgICAgICAgICAgICAgICAgICAgICBuZGltPXsxfSwgc2hhcGU9LTEsIHN0cmlkZXM9LTEsCisgICAgICAgICAgICAgICAgICAgICBsc3Q9LTEsIHNsaWNlZD1GYWxzZSwgY2FzdD1GYWxzZSk6CisgICAgICAgICMgVmVyaWZ5IGJ1ZmZlciBjb250ZW50cyBhZ2FpbnN0IGV4cGVjdGVkIHZhbHVlcy4gRGVmYXVsdCB2YWx1ZXMKKyAgICAgICAgIyBhcmUgZGVsaWJlcmF0ZWx5IGluaXRpYWxpemVkIHRvIGludmFsaWQgdHlwZXMuCisgICAgICAgIGlmIHNoYXBlOgorICAgICAgICAgICAgZXhwZWN0ZWRfbGVuID0gcHJvZChzaGFwZSkqaXRlbXNpemUKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGlmIG5vdCBmbXQ6ICMgYXJyYXkgaGFzIGJlZW4gaW1wbGljaXRseSBjYXN0IHRvIHVuc2lnbmVkIGJ5dGVzCisgICAgICAgICAgICAgICAgZXhwZWN0ZWRfbGVuID0gbGVuKGxzdCkKKyAgICAgICAgICAgIGVsc2U6ICMgbmRpbSA9IDAKKyAgICAgICAgICAgICAgICBleHBlY3RlZF9sZW4gPSBpdGVtc2l6ZQorCisgICAgICAgICMgUmVjb25zdHJ1Y3Qgc3Vib2Zmc2V0cyBmcm9tIHN0cmlkZXMuIFN1cHBvcnQgZm9yIHNsaWNpbmcKKyAgICAgICAgIyBjb3VsZCBiZSBhZGRlZCwgYnV0IGlzIGN1cnJlbnRseSBvbmx5IG5lZWRlZCBmb3IgdGVzdF9nZXRidWYoKS4KKyAgICAgICAgc3Vib2Zmc2V0cyA9ICgpCisgICAgICAgIGlmIHJlc3VsdC5zdWJvZmZzZXRzOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRHcmVhdGVyKG5kaW0sIDApCisKKyAgICAgICAgICAgIHN1Ym9mZnNldDAgPSAwCisgICAgICAgICAgICBmb3IgbiBpbiByYW5nZSgxLCBuZGltKToKKyAgICAgICAgICAgICAgICBpZiBzaGFwZVtuXSA9PSAwOgorICAgICAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAgICAgIGlmIHN0cmlkZXNbbl0gPD0gMDoKKyAgICAgICAgICAgICAgICAgICAgc3Vib2Zmc2V0MCArPSAtc3RyaWRlc1tuXSAqIChzaGFwZVtuXS0xKQorCisgICAgICAgICAgICBzdWJvZmZzZXRzID0gW3N1Ym9mZnNldDBdICsgWy0xIGZvciB2IGluIHJhbmdlKG5kaW0tMSldCisKKyAgICAgICAgICAgICMgTm90IGNvcnJlY3QgaWYgc2xpY2luZyBoYXMgb2NjdXJyZWQgaW4gdGhlIGZpcnN0IGRpbWVuc2lvbi4KKyAgICAgICAgICAgIHN0cmlkZTAgPSBzZWxmLnNpemVvZl92b2lkX3AKKyAgICAgICAgICAgIGlmIHN0cmlkZXNbMF0gPCAwOgorICAgICAgICAgICAgICAgIHN0cmlkZTAgPSAtc3RyaWRlMAorICAgICAgICAgICAgc3RyaWRlcyA9IFtzdHJpZGUwXSArIGxpc3Qoc3RyaWRlc1sxOl0pCisKKyAgICAgICAgc2VsZi5hc3NlcnRJcyhyZXN1bHQub2JqLCBvYmopCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzdWx0Lm5ieXRlcywgZXhwZWN0ZWRfbGVuKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlc3VsdC5pdGVtc2l6ZSwgaXRlbXNpemUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzdWx0LmZvcm1hdCwgZm10KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlc3VsdC5yZWFkb25seSwgcmVhZG9ubHkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzdWx0Lm5kaW0sIG5kaW0pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzdWx0LnNoYXBlLCB0dXBsZShzaGFwZSkpCisgICAgICAgIGlmIG5vdCAoc2xpY2VkIGFuZCBzdWJvZmZzZXRzKToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzdWx0LnN0cmlkZXMsIHR1cGxlKHN0cmlkZXMpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlc3VsdC5zdWJvZmZzZXRzLCB0dXBsZShzdWJvZmZzZXRzKSkKKworICAgICAgICBpZiBpc2luc3RhbmNlKHJlc3VsdCwgbmRhcnJheSkgb3IgaXNfbWVtb3J5dmlld19mb3JtYXQoZm10KToKKyAgICAgICAgICAgIHJlcCA9IHJlc3VsdC50b2xpc3QoKSBpZiBmbXQgZWxzZSByZXN1bHQudG9ieXRlcygpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlcCwgbHN0KQorCisgICAgICAgIGlmIG5vdCBmbXQ6ICMgYXJyYXkgaGFzIGJlZW4gY2FzdCB0byB1bnNpZ25lZCBieXRlcywKKyAgICAgICAgICAgIHJldHVybiAgIyB0aGUgcmVtYWluaW5nIHRlc3RzIHdvbid0IHdvcmsuCisKKyAgICAgICAgIyBQeUJ1ZmZlcl9HZXRQb2ludGVyKCkgaXMgdGhlIGRlZmluaXRpb24gaG93IHRvIGFjY2VzcyBhbiBpdGVtLgorICAgICAgICAjIElmIFB5QnVmZmVyX0dldFBvaW50ZXIoaW5kaWNlcykgaXMgY29ycmVjdCBmb3IgYWxsIHBvc3NpYmxlCisgICAgICAgICMgY29tYmluYXRpb25zIG9mIGluZGljZXMsIHRoZSBidWZmZXIgaXMgY29ycmVjdC4KKyAgICAgICAgIworICAgICAgICAjIEFsc28gdGVzdCB0b2J5dGVzKCkgYWdhaW5zdCB0aGUgZmxhdHRlbmVkICdsc3QnLCB3aXRoIGFsbCBpdGVtcworICAgICAgICAjIHBhY2tlZCB0byBieXRlcy4KKyAgICAgICAgaWYgbm90IGNhc3Q6ICMgY2FzdHMgY2hvcCB1cCAnbHN0JyBpbiBkaWZmZXJlbnQgd2F5cworICAgICAgICAgICAgYiA9IGJ5dGVhcnJheSgpCisgICAgICAgICAgICBidWZfZXJyID0gTm9uZQorICAgICAgICAgICAgZm9yIGluZCBpbiBpbmRpY2VzKHNoYXBlKToKKyAgICAgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgICAgIGl0ZW0xID0gZ2V0X3BvaW50ZXIocmVzdWx0LCBpbmQpCisgICAgICAgICAgICAgICAgICAgIGl0ZW0yID0gZ2V0X2l0ZW0obHN0LCBpbmQpCisgICAgICAgICAgICAgICAgICAgIGlmIGlzaW5zdGFuY2UoaXRlbTIsIHR1cGxlKToKKyAgICAgICAgICAgICAgICAgICAgICAgIHggPSBzdHJ1Y3QucGFjayhmbXQsICppdGVtMikKKyAgICAgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgICAgIHggPSBzdHJ1Y3QucGFjayhmbXQsIGl0ZW0yKQorICAgICAgICAgICAgICAgICAgICBiLmV4dGVuZCh4KQorICAgICAgICAgICAgICAgIGV4Y2VwdCBCdWZmZXJFcnJvcjoKKyAgICAgICAgICAgICAgICAgICAgYnVmX2VyciA9IFRydWUgIyByZS1leHBvcnRlciBkb2VzIG5vdCBwcm92aWRlIGZ1bGwgYnVmZmVyCisgICAgICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChpdGVtMSwgaXRlbTIpCisKKyAgICAgICAgICAgIGlmIG5vdCBidWZfZXJyOgorICAgICAgICAgICAgICAgICMgdGVzdCB0b2J5dGVzKCkKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlc3VsdC50b2J5dGVzKCksIGIpCisKKyAgICAgICAgICAgIGlmIG5vdCBidWZfZXJyIGFuZCBpc19tZW1vcnl2aWV3X2Zvcm1hdChmbXQpOgorCisgICAgICAgICAgICAgICAgIyBsc3QgOj0gZXhwZWN0ZWQgbXVsdGktZGltZW5zaW9uYWwgbG9naWNhbCByZXByZXNlbnRhdGlvbgorICAgICAgICAgICAgICAgICMgZmxhdHRlbihsc3QpIDo9IGVsZW1lbnRzIGluIEMtb3JkZXIKKyAgICAgICAgICAgICAgICBmZiA9IGZtdCBpZiBmbXQgZWxzZSAnQicKKyAgICAgICAgICAgICAgICBmbGF0dGVuZWQgPSBmbGF0dGVuKGxzdCkKKworICAgICAgICAgICAgICAgICMgUnVsZXMgZm9yICdBJzogaWYgdGhlIGFycmF5IGlzIGFscmVhZHkgY29udGlndW91cywgcmV0dXJuCisgICAgICAgICAgICAgICAgIyB0aGUgYXJyYXkgdW5hbHRlcmVkLiBPdGhlcndpc2UsIHJldHVybiBhIGNvbnRpZ3VvdXMgJ0MnCisgICAgICAgICAgICAgICAgIyByZXByZXNlbnRhdGlvbi4KKyAgICAgICAgICAgICAgICBmb3Igb3JkZXIgaW4gWydDJywgJ0YnLCAnQSddOgorICAgICAgICAgICAgICAgICAgICBleHBlY3RlZCA9IHJlc3VsdAorICAgICAgICAgICAgICAgICAgICBpZiBvcmRlciA9PSAnRic6CisgICAgICAgICAgICAgICAgICAgICAgICBpZiBub3QgaXNfY29udGlndW91cyhyZXN1bHQsICdBJykgb3IgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNfY29udGlndW91cyhyZXN1bHQsICdDJyk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBGb3IgY29uc3RydWN0aW5nIHRoZSBuZGFycmF5LCBjb252ZXJ0IHRoZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgZmxhdHRlbmVkIGxvZ2ljYWwgcmVwcmVzZW50YXRpb24gdG8gRm9ydHJhbiBvcmRlci4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFucyA9IHRyYW5zcG9zZShmbGF0dGVuZWQsIHNoYXBlKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4cGVjdGVkID0gbmRhcnJheSh0cmFucywgc2hhcGU9c2hhcGUsIGZvcm1hdD1mZiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxhZ3M9TkRfRk9SVFJBTikKKyAgICAgICAgICAgICAgICAgICAgZWxzZTogIyAnQycsICdBJworICAgICAgICAgICAgICAgICAgICAgICAgaWYgbm90IGlzX2NvbnRpZ3VvdXMocmVzdWx0LCAnQScpIG9yIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzX2NvbnRpZ3VvdXMocmVzdWx0LCAnRicpIGFuZCBvcmRlciA9PSAnQyc6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBUaGUgZmxhdHRlbmVkIGxpc3QgaXMgYWxyZWFkeSBpbiBDLW9yZGVyLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4cGVjdGVkID0gbmRhcnJheShmbGF0dGVuZWQsIHNoYXBlPXNoYXBlLCBmb3JtYXQ9ZmYpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGlnID0gZ2V0X2NvbnRpZ3VvdXMocmVzdWx0LCBQeUJVRl9SRUFELCBvcmRlcikKKyAgICAgICAgICAgICAgICAgICAgY29udGlnID0gZ2V0X2NvbnRpZ3VvdXMocmVzdWx0LCBQeUJVRl9SRUFELCBvcmRlcikKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjb250aWcudG9ieXRlcygpLCBiKQorICAgICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoY21wX2NvbnRpZyhjb250aWcsIGV4cGVjdGVkKSkKKworICAgICAgICBpZiBpc19tZW1vcnl2aWV3X2Zvcm1hdChmbXQpOgorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIG0gPSBtZW1vcnl2aWV3KHJlc3VsdCkKKyAgICAgICAgICAgIGV4Y2VwdCBCdWZmZXJFcnJvcjogIyByZS1leHBvcnRlciBkb2VzIG5vdCBwcm92aWRlIGZ1bGwgaW5mb3JtYXRpb24KKyAgICAgICAgICAgICAgICByZXR1cm4KKyAgICAgICAgICAgIGV4ID0gcmVzdWx0Lm9iaiBpZiBpc2luc3RhbmNlKHJlc3VsdCwgbWVtb3J5dmlldykgZWxzZSByZXN1bHQKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXMobS5vYmosIGV4KQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtLm5ieXRlcywgZXhwZWN0ZWRfbGVuKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtLml0ZW1zaXplLCBpdGVtc2l6ZSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobS5mb3JtYXQsIGZtdCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobS5yZWFkb25seSwgcmVhZG9ubHkpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG0ubmRpbSwgbmRpbSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobS5zaGFwZSwgdHVwbGUoc2hhcGUpKQorICAgICAgICAgICAgaWYgbm90IChzbGljZWQgYW5kIHN1Ym9mZnNldHMpOgorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobS5zdHJpZGVzLCB0dXBsZShzdHJpZGVzKSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobS5zdWJvZmZzZXRzLCB0dXBsZShzdWJvZmZzZXRzKSkKKworICAgICAgICAgICAgbiA9IDEgaWYgbmRpbSA9PSAwIGVsc2UgbGVuKGxzdCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKG0pLCBuKQorCisgICAgICAgICAgICByZXAgPSByZXN1bHQudG9saXN0KCkgaWYgZm10IGVsc2UgcmVzdWx0LnRvYnl0ZXMoKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXAsIGxzdCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobSwgcmVzdWx0KQorCisgICAgZGVmIHZlcmlmeV9nZXRidWYoc2VsZiwgb3JpZ19leCwgZXgsIHJlcSwgc2xpY2VkPUZhbHNlKToKKyAgICAgICAgZGVmIHNpbXBsZV9mbXQoZXgpOgorICAgICAgICAgICAgcmV0dXJuIGV4LmZvcm1hdCA9PSAnJyBvciBleC5mb3JtYXQgPT0gJ0InCisgICAgICAgIGRlZiBtYXRjaChyZXEsIGZsYWcpOgorICAgICAgICAgICAgcmV0dXJuICgocmVxJmZsYWcpID09IGZsYWcpCisKKyAgICAgICAgaWYgKCMgd3JpdGFibGUgcmVxdWVzdCB0byByZWFkLW9ubHkgZXhwb3J0ZXIKKyAgICAgICAgICAgIChleC5yZWFkb25seSBhbmQgbWF0Y2gocmVxLCBQeUJVRl9XUklUQUJMRSkpIG9yCisgICAgICAgICAgICAjIGNhbm5vdCBtYXRjaCBleHBsaWNpdCBjb250aWd1aXR5IHJlcXVlc3QKKyAgICAgICAgICAgIChtYXRjaChyZXEsIFB5QlVGX0NfQ09OVElHVU9VUykgYW5kIG5vdCBleC5jX2NvbnRpZ3VvdXMpIG9yCisgICAgICAgICAgICAobWF0Y2gocmVxLCBQeUJVRl9GX0NPTlRJR1VPVVMpIGFuZCBub3QgZXguZl9jb250aWd1b3VzKSBvcgorICAgICAgICAgICAgKG1hdGNoKHJlcSwgUHlCVUZfQU5ZX0NPTlRJR1VPVVMpIGFuZCBub3QgZXguY29udGlndW91cykgb3IKKyAgICAgICAgICAgICMgYnVmZmVyIG5lZWRzIHN1Ym9mZnNldHMKKyAgICAgICAgICAgIChub3QgbWF0Y2gocmVxLCBQeUJVRl9JTkRJUkVDVCkgYW5kIGV4LnN1Ym9mZnNldHMpIG9yCisgICAgICAgICAgICAjIGJ1ZmZlciB3aXRob3V0IHN0cmlkZXMgbXVzdCBiZSBDLWNvbnRpZ3VvdXMKKyAgICAgICAgICAgIChub3QgbWF0Y2gocmVxLCBQeUJVRl9TVFJJREVTKSBhbmQgbm90IGV4LmNfY29udGlndW91cykgb3IKKyAgICAgICAgICAgICMgUHlCVUZfU0lNUExFfFB5QlVGX0ZPUk1BVCBhbmQgUHlCVUZfV1JJVEFCTEV8UHlCVUZfRk9STUFUCisgICAgICAgICAgICAobm90IG1hdGNoKHJlcSwgUHlCVUZfTkQpIGFuZCBtYXRjaChyZXEsIFB5QlVGX0ZPUk1BVCkpKToKKworICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoQnVmZmVyRXJyb3IsIG5kYXJyYXksIGV4LCBnZXRidWY9cmVxKQorICAgICAgICAgICAgcmV0dXJuCisKKyAgICAgICAgaWYgaXNpbnN0YW5jZShleCwgbmRhcnJheSkgb3IgaXNfbWVtb3J5dmlld19mb3JtYXQoZXguZm9ybWF0KToKKyAgICAgICAgICAgIGxzdCA9IGV4LnRvbGlzdCgpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBuZCA9IG5kYXJyYXkoZXgsIGdldGJ1Zj1QeUJVRl9GVUxMX1JPKQorICAgICAgICAgICAgbHN0ID0gbmQudG9saXN0KCkKKworICAgICAgICAjIFRoZSBjb25zdW1lciBtYXkgaGF2ZSByZXF1ZXN0ZWQgZGVmYXVsdCB2YWx1ZXMgb3IgYSBOVUxMIGZvcm1hdC4KKyAgICAgICAgcm8gPSAwIGlmIG1hdGNoKHJlcSwgUHlCVUZfV1JJVEFCTEUpIGVsc2UgZXgucmVhZG9ubHkKKyAgICAgICAgZm10ID0gZXguZm9ybWF0CisgICAgICAgIGl0ZW1zaXplID0gZXguaXRlbXNpemUKKyAgICAgICAgbmRpbSA9IGV4Lm5kaW0KKyAgICAgICAgaWYgbm90IG1hdGNoKHJlcSwgUHlCVUZfRk9STUFUKToKKyAgICAgICAgICAgICMgaXRlbXNpemUgcmVmZXJzIHRvIHRoZSBvcmlnaW5hbCBpdGVtc2l6ZSBiZWZvcmUgdGhlIGNhc3QuCisgICAgICAgICAgICAjIFRoZSBlcXVhbGl0eSBwcm9kdWN0KHNoYXBlKSAqIGl0ZW1zaXplID0gbGVuIHN0aWxsIGhvbGRzLgorICAgICAgICAgICAgIyBUaGUgZXF1YWxpdHkgY2FsY3NpemUoZm9ybWF0KSA9IGl0ZW1zaXplIGRvZXMgX25vdF8gaG9sZC4KKyAgICAgICAgICAgIGZtdCA9ICcnCisgICAgICAgICAgICBsc3QgPSBvcmlnX2V4LnRvYnl0ZXMoKSAjIElzc3VlIDEyODM0CisgICAgICAgIGlmIG5vdCBtYXRjaChyZXEsIFB5QlVGX05EKToKKyAgICAgICAgICAgIG5kaW0gPSAxCisgICAgICAgIHNoYXBlID0gb3JpZ19leC5zaGFwZSBpZiBtYXRjaChyZXEsIFB5QlVGX05EKSBlbHNlICgpCisgICAgICAgIHN0cmlkZXMgPSBvcmlnX2V4LnN0cmlkZXMgaWYgbWF0Y2gocmVxLCBQeUJVRl9TVFJJREVTKSBlbHNlICgpCisKKyAgICAgICAgbmQgPSBuZGFycmF5KGV4LCBnZXRidWY9cmVxKQorICAgICAgICBzZWxmLnZlcmlmeShuZCwgb2JqPWV4LAorICAgICAgICAgICAgICAgICAgICBpdGVtc2l6ZT1pdGVtc2l6ZSwgZm10PWZtdCwgcmVhZG9ubHk9cm8sCisgICAgICAgICAgICAgICAgICAgIG5kaW09bmRpbSwgc2hhcGU9c2hhcGUsIHN0cmlkZXM9c3RyaWRlcywKKyAgICAgICAgICAgICAgICAgICAgbHN0PWxzdCwgc2xpY2VkPXNsaWNlZCkKKworICAgIGRlZiB0ZXN0X25kYXJyYXlfZ2V0YnVmKHNlbGYpOgorICAgICAgICByZXF1ZXN0cyA9ICgKKyAgICAgICAgICAgICMgZGlzdGluY3QgZmxhZ3MKKyAgICAgICAgICAgIFB5QlVGX0lORElSRUNULCBQeUJVRl9TVFJJREVTLCBQeUJVRl9ORCwgUHlCVUZfU0lNUExFLAorICAgICAgICAgICAgUHlCVUZfQ19DT05USUdVT1VTLCBQeUJVRl9GX0NPTlRJR1VPVVMsIFB5QlVGX0FOWV9DT05USUdVT1VTLAorICAgICAgICAgICAgIyBjb21wb3VuZCByZXF1ZXN0cworICAgICAgICAgICAgUHlCVUZfRlVMTCwgUHlCVUZfRlVMTF9STywKKyAgICAgICAgICAgIFB5QlVGX1JFQ09SRFMsIFB5QlVGX1JFQ09SRFNfUk8sCisgICAgICAgICAgICBQeUJVRl9TVFJJREVELCBQeUJVRl9TVFJJREVEX1JPLAorICAgICAgICAgICAgUHlCVUZfQ09OVElHLCBQeUJVRl9DT05USUdfUk8sCisgICAgICAgICkKKyAgICAgICAgIyBpdGVtcyBhbmQgZm9ybWF0CisgICAgICAgIGl0ZW1zX2ZtdCA9ICgKKyAgICAgICAgICAgIChbVHJ1ZSBpZiB4ICUgMiBlbHNlIEZhbHNlIGZvciB4IGluIHJhbmdlKDEyKV0sICc/JyksCisgICAgICAgICAgICAoWzEsMiwzLDQsNSw2LDcsOCw5LDEwLDExLDEyXSwgJ2InKSwKKyAgICAgICAgICAgIChbMSwyLDMsNCw1LDYsNyw4LDksMTAsMTEsMTJdLCAnQicpLAorICAgICAgICAgICAgKFsoMioqMzEteCkgaWYgeCAlIDIgZWxzZSAoLTIqKjMxK3gpIGZvciB4IGluIHJhbmdlKDEyKV0sICdsJykKKyAgICAgICAgKQorICAgICAgICAjIHNoYXBlLCBzdHJpZGVzLCBvZmZzZXQKKyAgICAgICAgc3RydWN0dXJlID0gKAorICAgICAgICAgICAgKFtdLCBbXSwgMCksCisgICAgICAgICAgICAoWzEyXSwgW10sIDApLAorICAgICAgICAgICAgKFsxMl0sIFstMV0sIDExKSwKKyAgICAgICAgICAgIChbNl0sIFsyXSwgMCksCisgICAgICAgICAgICAoWzZdLCBbLTJdLCAxMSksCisgICAgICAgICAgICAoWzMsIDRdLCBbXSwgMCksCisgICAgICAgICAgICAoWzMsIDRdLCBbLTQsIC0xXSwgMTEpLAorICAgICAgICAgICAgKFsyLCAyXSwgWzQsIDFdLCA0KSwKKyAgICAgICAgICAgIChbMiwgMl0sIFstNCwgLTFdLCA4KQorICAgICAgICApCisgICAgICAgICMgbmRhcnJheSBjcmVhdGlvbiBmbGFncworICAgICAgICBuZGZsYWdzID0gKAorICAgICAgICAgICAgMCwgTkRfV1JJVEFCTEUsIE5EX0ZPUlRSQU4sIE5EX0ZPUlRSQU58TkRfV1JJVEFCTEUsCisgICAgICAgICAgICBORF9QSUwsIE5EX1BJTHxORF9XUklUQUJMRQorICAgICAgICApCisgICAgICAgICMgZmxhZ3MgdGhhdCBjYW4gYWN0dWFsbHkgYmUgdXNlZCBhcyBmbGFncworICAgICAgICByZWFsX2ZsYWdzID0gKDAsIFB5QlVGX1dSSVRBQkxFLCBQeUJVRl9GT1JNQVQsCisgICAgICAgICAgICAgICAgICAgICAgUHlCVUZfV1JJVEFCTEV8UHlCVUZfRk9STUFUKQorCisgICAgICAgIGZvciBpdGVtcywgZm10IGluIGl0ZW1zX2ZtdDoKKyAgICAgICAgICAgIGl0ZW1zaXplID0gc3RydWN0LmNhbGNzaXplKGZtdCkKKyAgICAgICAgICAgIGZvciBzaGFwZSwgc3RyaWRlcywgb2Zmc2V0IGluIHN0cnVjdHVyZToKKyAgICAgICAgICAgICAgICBzdHJpZGVzID0gW3YgKiBpdGVtc2l6ZSBmb3IgdiBpbiBzdHJpZGVzXQorICAgICAgICAgICAgICAgIG9mZnNldCAqPSBpdGVtc2l6ZQorICAgICAgICAgICAgICAgIGZvciBmbGFncyBpbiBuZGZsYWdzOgorCisgICAgICAgICAgICAgICAgICAgIGlmIHN0cmlkZXMgYW5kIChmbGFncyZORF9GT1JUUkFOKToKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICAgICAgICAgIGlmIG5vdCBzaGFwZSBhbmQgKGZsYWdzJk5EX1BJTCk6CisgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZQorCisgICAgICAgICAgICAgICAgICAgIF9pdGVtcyA9IGl0ZW1zIGlmIHNoYXBlIGVsc2UgaXRlbXNbMF0KKyAgICAgICAgICAgICAgICAgICAgZXgxID0gbmRhcnJheShfaXRlbXMsIGZvcm1hdD1mbXQsIGZsYWdzPWZsYWdzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNoYXBlPXNoYXBlLCBzdHJpZGVzPXN0cmlkZXMsIG9mZnNldD1vZmZzZXQpCisgICAgICAgICAgICAgICAgICAgIGV4MiA9IGV4MVs6Oi0yXSBpZiBzaGFwZSBlbHNlIE5vbmUKKworICAgICAgICAgICAgICAgICAgICBtMSA9IG1lbW9yeXZpZXcoZXgxKQorICAgICAgICAgICAgICAgICAgICBpZiBleDI6CisgICAgICAgICAgICAgICAgICAgICAgICBtMiA9IG1lbW9yeXZpZXcoZXgyKQorICAgICAgICAgICAgICAgICAgICBpZiBleDEubmRpbSA9PSAwIG9yIChleDEubmRpbSA9PSAxIGFuZCBzaGFwZSBhbmQgc3RyaWRlcyk6CisgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG0xLCBleDEpCisgICAgICAgICAgICAgICAgICAgIGlmIGV4MiBhbmQgZXgyLm5kaW0gPT0gMSBhbmQgc2hhcGUgYW5kIHN0cmlkZXM6CisgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG0yLCBleDIpCisKKyAgICAgICAgICAgICAgICAgICAgZm9yIHJlcSBpbiByZXF1ZXN0czoKKyAgICAgICAgICAgICAgICAgICAgICAgIGZvciBiaXRzIGluIHJlYWxfZmxhZ3M6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi52ZXJpZnlfZ2V0YnVmKGV4MSwgZXgxLCByZXF8Yml0cykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnZlcmlmeV9nZXRidWYoZXgxLCBtMSwgcmVxfGJpdHMpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgZXgyOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnZlcmlmeV9nZXRidWYoZXgyLCBleDIsIHJlcXxiaXRzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xpY2VkPVRydWUpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYudmVyaWZ5X2dldGJ1ZihleDIsIG0yLCByZXF8Yml0cywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsaWNlZD1UcnVlKQorCisgICAgICAgIGl0ZW1zID0gWzEsMiwzLDQsNSw2LDcsOCw5LDEwLDExLDEyXQorCisgICAgICAgICMgTkRfR0VUQlVGX0ZBSUwKKyAgICAgICAgZXggPSBuZGFycmF5KGl0ZW1zLCBzaGFwZT1bMTJdLCBmbGFncz1ORF9HRVRCVUZfRkFJTCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoQnVmZmVyRXJyb3IsIG5kYXJyYXksIGV4KQorCisgICAgICAgICMgUmVxdWVzdCBjb21wbGV4IHN0cnVjdHVyZSBmcm9tIGEgc2ltcGxlIGV4cG9ydGVyLiBJbiB0aGlzCisgICAgICAgICMgcGFydGljdWxhciBjYXNlIHRoZSB0ZXN0IG9iamVjdCBpcyBub3QgUEVQLTMxMTggY29tcGxpYW50LgorICAgICAgICBiYXNlID0gbmRhcnJheShbOV0sIFsxXSkKKyAgICAgICAgZXggPSBuZGFycmF5KGJhc2UsIGdldGJ1Zj1QeUJVRl9TSU1QTEUpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEJ1ZmZlckVycm9yLCBuZGFycmF5LCBleCwgZ2V0YnVmPVB5QlVGX1dSSVRBQkxFKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhCdWZmZXJFcnJvciwgbmRhcnJheSwgZXgsIGdldGJ1Zj1QeUJVRl9ORCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoQnVmZmVyRXJyb3IsIG5kYXJyYXksIGV4LCBnZXRidWY9UHlCVUZfU1RSSURFUykKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoQnVmZmVyRXJyb3IsIG5kYXJyYXksIGV4LCBnZXRidWY9UHlCVUZfQ19DT05USUdVT1VTKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhCdWZmZXJFcnJvciwgbmRhcnJheSwgZXgsIGdldGJ1Zj1QeUJVRl9GX0NPTlRJR1VPVVMpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEJ1ZmZlckVycm9yLCBuZGFycmF5LCBleCwgZ2V0YnVmPVB5QlVGX0FOWV9DT05USUdVT1VTKQorICAgICAgICBuZCA9IG5kYXJyYXkoZXgsIGdldGJ1Zj1QeUJVRl9TSU1QTEUpCisKKyAgICBkZWYgdGVzdF9uZGFycmF5X2V4Y2VwdGlvbnMoc2VsZik6CisgICAgICAgIG5kID0gbmRhcnJheShbOV0sIFsxXSkKKyAgICAgICAgbmRtID0gbmRhcnJheShbOV0sIFsxXSwgZmxhZ3M9TkRfVkFSRVhQT1JUKQorCisgICAgICAgICMgSW5pdGlhbGl6YXRpb24gb2YgYSBuZXcgbmRhcnJheSBvciBtdXRhdGlvbiBvZiBhbiBleGlzdGluZyBhcnJheS4KKyAgICAgICAgZm9yIGMgaW4gKG5kYXJyYXksIG5kLnB1c2gsIG5kbS5wdXNoKToKKyAgICAgICAgICAgICMgSW52YWxpZCB0eXBlcy4KKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgYywgezEsMiwzfSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgYywgWzEsMiwnMyddKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBjLCBbMSwyLCgzLDQpXSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgYywgWzEsMiwzXSwgc2hhcGU9ezN9KQorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBjLCBbMSwyLDNdLCBzaGFwZT1bM10sIHN0cmlkZXM9ezF9KQorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBjLCBbMSwyLDNdLCBzaGFwZT1bM10sIG9mZnNldD1bXSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgYywgWzFdLCBzaGFwZT1bMV0sIGZvcm1hdD17fSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgYywgWzFdLCBzaGFwZT1bMV0sIGZsYWdzPXt9KQorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBjLCBbMV0sIHNoYXBlPVsxXSwgZ2V0YnVmPXt9KQorCisgICAgICAgICAgICAjIE5EX0ZPUlRSQU4gZmxhZyBpcyBvbmx5IHZhbGlkIHdpdGhvdXQgc3RyaWRlcy4KKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgYywgWzFdLCBzaGFwZT1bMV0sIHN0cmlkZXM9WzFdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxhZ3M9TkRfRk9SVFJBTikKKworICAgICAgICAgICAgIyBORF9QSUwgZmxhZyBpcyBvbmx5IHZhbGlkIHdpdGggbmRpbSA+IDAuCisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGMsIFsxXSwgc2hhcGU9W10sIGZsYWdzPU5EX1BJTCkKKworICAgICAgICAgICAgIyBJbnZhbGlkIGl0ZW1zLgorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgYywgW10sIHNoYXBlPVsxXSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIGMsIFsnWFhYJ10sIHNoYXBlPVsxXSwgZm9ybWF0PSJMIikKKyAgICAgICAgICAgICMgSW52YWxpZCBjb21iaW5hdGlvbiBvZiBpdGVtcyBhbmQgZm9ybWF0LgorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoc3RydWN0LmVycm9yLCBjLCBbMTAwMF0sIHNoYXBlPVsxXSwgZm9ybWF0PSJCIikKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIGMsIFsxLCgyLDMpXSwgc2hhcGU9WzJdLCBmb3JtYXQ9IkIiKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgYywgWzEsMiwzXSwgc2hhcGU9WzNdLCBmb3JtYXQ9IlFMIikKKworICAgICAgICAgICAgIyBJbnZhbGlkIG5kaW0uCisgICAgICAgICAgICBuID0gTkRfTUFYX05ESU0rMQorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgYywgWzFdKm4sIHNoYXBlPVsxXSpuKQorCisgICAgICAgICAgICAjIEludmFsaWQgc2hhcGUuCisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBjLCBbMV0sIHNoYXBlPVstMV0pCisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBjLCBbMSwyLDNdLCBzaGFwZT1bJzMnXSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE92ZXJmbG93RXJyb3IsIGMsIFsxXSwgc2hhcGU9WzIqKjEyOF0pCisgICAgICAgICAgICAjIHByb2Qoc2hhcGUpICogaXRlbXNpemUgIT0gbGVuKGl0ZW1zKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgYywgWzEsMiwzLDQsNV0sIHNoYXBlPVsyLDJdLCBvZmZzZXQ9MykKKworICAgICAgICAgICAgIyBJbnZhbGlkIHN0cmlkZXMuCisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBjLCBbMSwyLDNdLCBzaGFwZT1bM10sIHN0cmlkZXM9WycxJ10pCisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhPdmVyZmxvd0Vycm9yLCBjLCBbMV0sIHNoYXBlPVsxXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmlkZXM9WzIqKjEyOF0pCisKKyAgICAgICAgICAgICMgSW52YWxpZCBjb21iaW5hdGlvbiBvZiBzdHJpZGVzIGFuZCBzaGFwZS4KKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIGMsIFsxLDJdLCBzaGFwZT1bMiwxXSwgc3RyaWRlcz1bMV0pCisgICAgICAgICAgICAjIEludmFsaWQgY29tYmluYXRpb24gb2Ygc3RyaWRlcyBhbmQgZm9ybWF0LgorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgYywgWzEsMiwzLDRdLCBzaGFwZT1bMl0sIHN0cmlkZXM9WzNdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0PSJMIikKKworICAgICAgICAgICAgIyBJbnZhbGlkIG9mZnNldC4KKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIGMsIFsxLDIsM10sIHNoYXBlPVszXSwgb2Zmc2V0PTQpCisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBjLCBbMSwyLDNdLCBzaGFwZT1bMV0sIG9mZnNldD0zLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0PSJMIikKKworICAgICAgICAgICAgIyBJbnZhbGlkIGZvcm1hdC4KKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIGMsIFsxLDIsM10sIHNoYXBlPVszXSwgZm9ybWF0PSIiKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoc3RydWN0LmVycm9yLCBjLCBbKDEsMiwzKV0sIHNoYXBlPVsxXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1hdD0iQCMkIikKKworICAgICAgICAgICAgIyBTdHJpZGluZyBvdXQgb2YgdGhlIG1lbW9yeSBib3VuZHMuCisgICAgICAgICAgICBpdGVtcyA9IFsxLDIsMyw0LDUsNiw3LDgsOSwxMF0KKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIGMsIGl0ZW1zLCBzaGFwZT1bMiwzXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmlkZXM9Wy0zLCAtMl0sIG9mZnNldD01KQorCisgICAgICAgICAgICAjIENvbnN0cnVjdGluZyBjb25zdW1lcjogZm9ybWF0IGFyZ3VtZW50IGludmFsaWQuCisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGMsIGJ5dGVhcnJheSgpLCBmb3JtYXQ9IlEiKQorCisgICAgICAgICAgICAjIENvbnN0cnVjdGluZyBvcmlnaW5hbCBiYXNlIG9iamVjdDogZ2V0YnVmIGFyZ3VtZW50IGludmFsaWQuCisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGMsIFsxXSwgc2hhcGU9WzFdLCBnZXRidWY9UHlCVUZfRlVMTCkKKworICAgICAgICAgICAgIyBTaGFwZSBhcmd1bWVudCBpcyBtYW5kYXRvcnkgZm9yIG9yaWdpbmFsIGJhc2Ugb2JqZWN0cy4KKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgYywgWzFdKQorCisKKyAgICAgICAgIyBQeUJVRl9XUklUQUJMRSByZXF1ZXN0IHRvIHJlYWQtb25seSBwcm92aWRlci4KKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoQnVmZmVyRXJyb3IsIG5kYXJyYXksIGInMTIzJywgZ2V0YnVmPVB5QlVGX1dSSVRBQkxFKQorCisgICAgICAgICMgTkRfVkFSRVhQT1JUIGNhbiBvbmx5IGJlIHNwZWNpZmllZCBkdXJpbmcgY29uc3RydWN0aW9uLgorICAgICAgICBuZCA9IG5kYXJyYXkoWzldLCBbMV0sIGZsYWdzPU5EX1ZBUkVYUE9SVCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgbmQucHVzaCwgWzFdLCBbMV0sIGZsYWdzPU5EX1ZBUkVYUE9SVCkKKworICAgICAgICAjIEludmFsaWQgb3BlcmF0aW9uIGZvciBjb25zdW1lcnM6IHB1c2gvcG9wCisgICAgICAgIG5kID0gbmRhcnJheShiJzEyMycpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEJ1ZmZlckVycm9yLCBuZC5wdXNoLCBbMV0sIFsxXSkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoQnVmZmVyRXJyb3IsIG5kLnBvcCkKKworICAgICAgICAjIE5EX1ZBUkVYUE9SVCBub3Qgc2V0OiBwdXNoL3BvcCBmYWlsIHdpdGggZXhwb3J0ZWQgYnVmZmVycworICAgICAgICBuZCA9IG5kYXJyYXkoWzldLCBbMV0pCisgICAgICAgIG5kLnB1c2goWzFdLCBbMV0pCisgICAgICAgIG0gPSBtZW1vcnl2aWV3KG5kKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhCdWZmZXJFcnJvciwgbmQucHVzaCwgWzFdLCBbMV0pCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEJ1ZmZlckVycm9yLCBuZC5wb3ApCisgICAgICAgIG0ucmVsZWFzZSgpCisgICAgICAgIG5kLnBvcCgpCisKKyAgICAgICAgIyBTaW5nbGUgcmVtYWluaW5nIGJ1ZmZlcjogcG9wIGZhaWxzCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEJ1ZmZlckVycm9yLCBuZC5wb3ApCisgICAgICAgIGRlbCBuZAorCisgICAgICAgICMgZ2V0X3BvaW50ZXIoKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGdldF9wb2ludGVyLCB7fSwgWzEsMiwzXSkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBnZXRfcG9pbnRlciwgYicxMjMnLCB7fSkKKworICAgICAgICBuZCA9IG5kYXJyYXkobGlzdChyYW5nZSgxMDApKSwgc2hhcGU9WzFdKjEwMCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgZ2V0X3BvaW50ZXIsIG5kLCBbNV0pCisKKyAgICAgICAgbmQgPSBuZGFycmF5KGxpc3QocmFuZ2UoMTIpKSwgc2hhcGU9WzMsNF0pCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIGdldF9wb2ludGVyLCBuZCwgWzIsMyw0XSkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgZ2V0X3BvaW50ZXIsIG5kLCBbMywzXSkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgZ2V0X3BvaW50ZXIsIG5kLCBbLTMsM10pCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE92ZXJmbG93RXJyb3IsIGdldF9wb2ludGVyLCBuZCwgWzE8PDY0LDNdKQorCisgICAgICAgICMgdG9saXN0KCkgbmVlZHMgZm9ybWF0CisgICAgICAgIGV4ID0gbmRhcnJheShbMSwyLDNdLCBzaGFwZT1bM10sIGZvcm1hdD0nTCcpCisgICAgICAgIG5kID0gbmRhcnJheShleCwgZ2V0YnVmPVB5QlVGX1NJTVBMRSkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgbmQudG9saXN0KQorCisgICAgICAgICMgbWVtb3J5dmlld19mcm9tX2J1ZmZlcigpCisgICAgICAgIGV4MSA9IG5kYXJyYXkoWzEsMiwzXSwgc2hhcGU9WzNdLCBmb3JtYXQ9J0wnKQorICAgICAgICBleDIgPSBuZGFycmF5KGV4MSkKKyAgICAgICAgbmQgPSBuZGFycmF5KGV4MikKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBuZC5tZW1vcnl2aWV3X2Zyb21fYnVmZmVyKQorCisgICAgICAgIG5kID0gbmRhcnJheShbKDEsKSoyMDBdLCBzaGFwZT1bMV0sIGZvcm1hdD0nTCcqMjAwKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIG5kLm1lbW9yeXZpZXdfZnJvbV9idWZmZXIpCisKKyAgICAgICAgbiA9IE5EX01BWF9ORElNCisgICAgICAgIG5kID0gbmRhcnJheShsaXN0KHJhbmdlKG4pKSwgc2hhcGU9WzFdKm4pCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIG5kLm1lbW9yeXZpZXdfZnJvbV9idWZmZXIpCisKKyAgICAgICAgIyBnZXRfY29udGlndW91cygpCisgICAgICAgIG5kID0gbmRhcnJheShbMV0sIHNoYXBlPVsxXSkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBnZXRfY29udGlndW91cywgMSwgMiwgMywgNCwgNSkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBnZXRfY29udGlndW91cywgbmQsICJ4eXoiLCAnQycpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE92ZXJmbG93RXJyb3IsIGdldF9jb250aWd1b3VzLCBuZCwgMioqNjQsICdDJykKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBnZXRfY29udGlndW91cywgbmQsIFB5QlVGX1JFQUQsIDk2MSkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVW5pY29kZUVuY29kZUVycm9yLCBnZXRfY29udGlndW91cywgbmQsIFB5QlVGX1JFQUQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICdcdTIwMDcnKQorCisgICAgICAgICMgY21wX2NvbnRpZygpCisgICAgICAgIG5kID0gbmRhcnJheShbMV0sIHNoYXBlPVsxXSkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBjbXBfY29udGlnLCAxLCAyLCAzLCA0LCA1KQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGNtcF9jb250aWcsIHt9LCBuZCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBjbXBfY29udGlnLCBuZCwge30pCisKKyAgICAgICAgIyBpc19jb250aWd1b3VzKCkKKyAgICAgICAgbmQgPSBuZGFycmF5KFsxXSwgc2hhcGU9WzFdKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGlzX2NvbnRpZ3VvdXMsIDEsIDIsIDMsIDQsIDUpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgaXNfY29udGlndW91cywge30sICdBJykKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBpc19jb250aWd1b3VzLCBuZCwgMjAxKQorCisgICAgZGVmIHRlc3RfbmRhcnJheV9saW5rZWRfbGlzdChzZWxmKToKKyAgICAgICAgZm9yIHBlcm0gaW4gcGVybXV0YXRpb25zKHJhbmdlKDUpKToKKyAgICAgICAgICAgIG0gPSBbMF0qNQorICAgICAgICAgICAgbmQgPSBuZGFycmF5KFsxLDIsM10sIHNoYXBlPVszXSwgZmxhZ3M9TkRfVkFSRVhQT1JUKQorICAgICAgICAgICAgbVswXSA9IG1lbW9yeXZpZXcobmQpCisKKyAgICAgICAgICAgIGZvciBpIGluIHJhbmdlKDEsIDUpOgorICAgICAgICAgICAgICAgIG5kLnB1c2goWzEsMiwzXSwgc2hhcGU9WzNdKQorICAgICAgICAgICAgICAgIG1baV0gPSBtZW1vcnl2aWV3KG5kKQorCisgICAgICAgICAgICBmb3IgaSBpbiByYW5nZSg1KToKKyAgICAgICAgICAgICAgICBtW3Blcm1baV1dLnJlbGVhc2UoKQorCisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhCdWZmZXJFcnJvciwgbmQucG9wKQorICAgICAgICAgICAgZGVsIG5kCisKKyAgICBkZWYgdGVzdF9uZGFycmF5X2Zvcm1hdF9zY2FsYXIoc2VsZik6CisgICAgICAgICMgbmRpbSA9IDA6IHNjYWxhcgorICAgICAgICBmb3IgZm10LCBzY2FsYXIsIF8gaW4gaXRlcl9mb3JtYXQoMCk6CisgICAgICAgICAgICBpdGVtc2l6ZSA9IHN0cnVjdC5jYWxjc2l6ZShmbXQpCisgICAgICAgICAgICBuZCA9IG5kYXJyYXkoc2NhbGFyLCBzaGFwZT0oKSwgZm9ybWF0PWZtdCkKKyAgICAgICAgICAgIHNlbGYudmVyaWZ5KG5kLCBvYmo9Tm9uZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zaXplPWl0ZW1zaXplLCBmbXQ9Zm10LCByZWFkb25seT0xLAorICAgICAgICAgICAgICAgICAgICAgICAgbmRpbT0wLCBzaGFwZT0oKSwgc3RyaWRlcz0oKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGxzdD1zY2FsYXIpCisKKyAgICBkZWYgdGVzdF9uZGFycmF5X2Zvcm1hdF9zaGFwZShzZWxmKToKKyAgICAgICAgIyBuZGltID0gMSwgc2hhcGUgPSBbbl0KKyAgICAgICAgbml0ZW1zID0gIHJhbmRyYW5nZSgxLCAxMCkKKyAgICAgICAgZm9yIGZtdCwgaXRlbXMsIF8gaW4gaXRlcl9mb3JtYXQobml0ZW1zKToKKyAgICAgICAgICAgIGl0ZW1zaXplID0gc3RydWN0LmNhbGNzaXplKGZtdCkKKyAgICAgICAgICAgIGZvciBmbGFncyBpbiAoMCwgTkRfUElMKToKKyAgICAgICAgICAgICAgICBuZCA9IG5kYXJyYXkoaXRlbXMsIHNoYXBlPVtuaXRlbXNdLCBmb3JtYXQ9Zm10LCBmbGFncz1mbGFncykKKyAgICAgICAgICAgICAgICBzZWxmLnZlcmlmeShuZCwgb2JqPU5vbmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXNpemU9aXRlbXNpemUsIGZtdD1mbXQsIHJlYWRvbmx5PTEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmRpbT0xLCBzaGFwZT0obml0ZW1zLCksIHN0cmlkZXM9KGl0ZW1zaXplLCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbHN0PWl0ZW1zKQorCisgICAgZGVmIHRlc3RfbmRhcnJheV9mb3JtYXRfc3RyaWRlcyhzZWxmKToKKyAgICAgICAgIyBuZGltID0gMSwgc3RyaWRlcworICAgICAgICBuaXRlbXMgPSByYW5kcmFuZ2UoMSwgMzApCisgICAgICAgIGZvciBmbXQsIGl0ZW1zLCBfIGluIGl0ZXJfZm9ybWF0KG5pdGVtcyk6CisgICAgICAgICAgICBpdGVtc2l6ZSA9IHN0cnVjdC5jYWxjc2l6ZShmbXQpCisgICAgICAgICAgICBmb3Igc3RlcCBpbiByYW5nZSgtNSwgNSk6CisgICAgICAgICAgICAgICAgaWYgc3RlcCA9PSAwOgorICAgICAgICAgICAgICAgICAgICBjb250aW51ZQorCisgICAgICAgICAgICAgICAgc2hhcGUgPSBbbGVuKGl0ZW1zWzo6c3RlcF0pXQorICAgICAgICAgICAgICAgIHN0cmlkZXMgPSBbc3RlcCppdGVtc2l6ZV0KKyAgICAgICAgICAgICAgICBvZmZzZXQgPSBpdGVtc2l6ZSoobml0ZW1zLTEpIGlmIHN0ZXAgPCAwIGVsc2UgMAorCisgICAgICAgICAgICAgICAgZm9yIGZsYWdzIGluICgwLCBORF9QSUwpOgorICAgICAgICAgICAgICAgICAgICBuZCA9IG5kYXJyYXkoaXRlbXMsIHNoYXBlPXNoYXBlLCBzdHJpZGVzPXN0cmlkZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtYXQ9Zm10LCBvZmZzZXQ9b2Zmc2V0LCBmbGFncz1mbGFncykKKyAgICAgICAgICAgICAgICAgICAgc2VsZi52ZXJpZnkobmQsIG9iaj1Ob25lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtc2l6ZT1pdGVtc2l6ZSwgZm10PWZtdCwgcmVhZG9ubHk9MSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmRpbT0xLCBzaGFwZT1zaGFwZSwgc3RyaWRlcz1zdHJpZGVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsc3Q9aXRlbXNbOjpzdGVwXSkKKworICAgIGRlZiB0ZXN0X25kYXJyYXlfZm9ydHJhbihzZWxmKToKKyAgICAgICAgaXRlbXMgPSBbMSwyLDMsNCw1LDYsNyw4LDksMTAsMTEsMTJdCisgICAgICAgIGV4ID0gbmRhcnJheShpdGVtcywgc2hhcGU9KDMsIDQpLCBzdHJpZGVzPSgxLCAzKSkKKyAgICAgICAgbmQgPSBuZGFycmF5KGV4LCBnZXRidWY9UHlCVUZfRl9DT05USUdVT1VTfFB5QlVGX0ZPUk1BVCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChuZC50b2xpc3QoKSwgZmFycmF5KGl0ZW1zLCAoMywgNCkpKQorCisgICAgZGVmIHRlc3RfbmRhcnJheV9tdWx0aWRpbShzZWxmKToKKyAgICAgICAgZm9yIG5kaW0gaW4gcmFuZ2UoNSk6CisgICAgICAgICAgICBzaGFwZV90ID0gW3JhbmRyYW5nZSgyLCAxMCkgZm9yIF8gaW4gcmFuZ2UobmRpbSldCisgICAgICAgICAgICBuaXRlbXMgPSBwcm9kKHNoYXBlX3QpCisgICAgICAgICAgICBmb3Igc2hhcGUgaW4gcGVybXV0YXRpb25zKHNoYXBlX3QpOgorCisgICAgICAgICAgICAgICAgZm10LCBpdGVtcywgXyA9IHJhbmRpdGVtcyhuaXRlbXMpCisgICAgICAgICAgICAgICAgaXRlbXNpemUgPSBzdHJ1Y3QuY2FsY3NpemUoZm10KQorCisgICAgICAgICAgICAgICAgZm9yIGZsYWdzIGluICgwLCBORF9QSUwpOgorICAgICAgICAgICAgICAgICAgICBpZiBuZGltID09IDAgYW5kIGZsYWdzID09IE5EX1BJTDoKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCisKKyAgICAgICAgICAgICAgICAgICAgIyBDIGFycmF5CisgICAgICAgICAgICAgICAgICAgIG5kID0gbmRhcnJheShpdGVtcywgc2hhcGU9c2hhcGUsIGZvcm1hdD1mbXQsIGZsYWdzPWZsYWdzKQorCisgICAgICAgICAgICAgICAgICAgIHN0cmlkZXMgPSBzdHJpZGVzX2Zyb21fc2hhcGUobmRpbSwgc2hhcGUsIGl0ZW1zaXplLCAnQycpCisgICAgICAgICAgICAgICAgICAgIGxzdCA9IGNhcnJheShpdGVtcywgc2hhcGUpCisgICAgICAgICAgICAgICAgICAgIHNlbGYudmVyaWZ5KG5kLCBvYmo9Tm9uZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXNpemU9aXRlbXNpemUsIGZtdD1mbXQsIHJlYWRvbmx5PTEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5kaW09bmRpbSwgc2hhcGU9c2hhcGUsIHN0cmlkZXM9c3RyaWRlcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbHN0PWxzdCkKKworICAgICAgICAgICAgICAgICAgICBpZiBpc19tZW1vcnl2aWV3X2Zvcm1hdChmbXQpOgorICAgICAgICAgICAgICAgICAgICAgICAgIyBtZW1vcnl2aWV3OiByZWNvbnN0cnVjdCBzdHJpZGVzCisgICAgICAgICAgICAgICAgICAgICAgICBleCA9IG5kYXJyYXkoaXRlbXMsIHNoYXBlPXNoYXBlLCBmb3JtYXQ9Zm10KQorICAgICAgICAgICAgICAgICAgICAgICAgbmQgPSBuZGFycmF5KGV4LCBnZXRidWY9UHlCVUZfQ09OVElHX1JPfFB5QlVGX0ZPUk1BVCkKKyAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShuZC5zdHJpZGVzID09ICgpKQorICAgICAgICAgICAgICAgICAgICAgICAgbXYgPSBuZC5tZW1vcnl2aWV3X2Zyb21fYnVmZmVyKCkKKyAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYudmVyaWZ5KG12LCBvYmo9Tm9uZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zaXplPWl0ZW1zaXplLCBmbXQ9Zm10LCByZWFkb25seT0xLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmRpbT1uZGltLCBzaGFwZT1zaGFwZSwgc3RyaWRlcz1zdHJpZGVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbHN0PWxzdCkKKworICAgICAgICAgICAgICAgICAgICAjIEZvcnRyYW4gYXJyYXkKKyAgICAgICAgICAgICAgICAgICAgbmQgPSBuZGFycmF5KGl0ZW1zLCBzaGFwZT1zaGFwZSwgZm9ybWF0PWZtdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsYWdzPWZsYWdzfE5EX0ZPUlRSQU4pCisKKyAgICAgICAgICAgICAgICAgICAgc3RyaWRlcyA9IHN0cmlkZXNfZnJvbV9zaGFwZShuZGltLCBzaGFwZSwgaXRlbXNpemUsICdGJykKKyAgICAgICAgICAgICAgICAgICAgbHN0ID0gZmFycmF5KGl0ZW1zLCBzaGFwZSkKKyAgICAgICAgICAgICAgICAgICAgc2VsZi52ZXJpZnkobmQsIG9iaj1Ob25lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtc2l6ZT1pdGVtc2l6ZSwgZm10PWZtdCwgcmVhZG9ubHk9MSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmRpbT1uZGltLCBzaGFwZT1zaGFwZSwgc3RyaWRlcz1zdHJpZGVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsc3Q9bHN0KQorCisgICAgZGVmIHRlc3RfbmRhcnJheV9pbmRleF9pbnZhbGlkKHNlbGYpOgorICAgICAgICAjIG5vdCB3cml0YWJsZQorICAgICAgICBuZCA9IG5kYXJyYXkoWzFdLCBzaGFwZT1bMV0pCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgbmQuX19zZXRpdGVtX18sIDEsIDgpCisgICAgICAgIG12ID0gbWVtb3J5dmlldyhuZCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtdiwgbmQpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgbXYuX19zZXRpdGVtX18sIDEsIDgpCisKKyAgICAgICAgIyBjYW5ub3QgYmUgZGVsZXRlZAorICAgICAgICBuZCA9IG5kYXJyYXkoWzFdLCBzaGFwZT1bMV0sIGZsYWdzPU5EX1dSSVRBQkxFKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIG5kLl9fZGVsaXRlbV9fLCAxKQorICAgICAgICBtdiA9IG1lbW9yeXZpZXcobmQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobXYsIG5kKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIG12Ll9fZGVsaXRlbV9fLCAxKQorCisgICAgICAgICMgb3ZlcmZsb3cKKyAgICAgICAgbmQgPSBuZGFycmF5KFsxXSwgc2hhcGU9WzFdLCBmbGFncz1ORF9XUklUQUJMRSkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoT3ZlcmZsb3dFcnJvciwgbmQuX19nZXRpdGVtX18sIDE8PDY0KQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhPdmVyZmxvd0Vycm9yLCBuZC5fX3NldGl0ZW1fXywgMTw8NjQsIDgpCisgICAgICAgIG12ID0gbWVtb3J5dmlldyhuZCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtdiwgbmQpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEluZGV4RXJyb3IsIG12Ll9fZ2V0aXRlbV9fLCAxPDw2NCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoSW5kZXhFcnJvciwgbXYuX19zZXRpdGVtX18sIDE8PDY0LCA4KQorCisgICAgICAgICMgZm9ybWF0CisgICAgICAgIGl0ZW1zID0gWzEsMiwzLDQsNSw2LDcsOF0KKyAgICAgICAgbmQgPSBuZGFycmF5KGl0ZW1zLCBzaGFwZT1bbGVuKGl0ZW1zKV0sIGZvcm1hdD0iQiIsIGZsYWdzPU5EX1dSSVRBQkxFKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhzdHJ1Y3QuZXJyb3IsIG5kLl9fc2V0aXRlbV9fLCAyLCAzMDApCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIG5kLl9fc2V0aXRlbV9fLCAxLCAoMTAwLCAyMDApKQorICAgICAgICBtdiA9IG1lbW9yeXZpZXcobmQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobXYsIG5kKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBtdi5fX3NldGl0ZW1fXywgMiwgMzAwKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIG12Ll9fc2V0aXRlbV9fLCAxLCAoMTAwLCAyMDApKQorCisgICAgICAgIGl0ZW1zID0gWygxLDIpLCAoMyw0KSwgKDUsNildCisgICAgICAgIG5kID0gbmRhcnJheShpdGVtcywgc2hhcGU9W2xlbihpdGVtcyldLCBmb3JtYXQ9IkxRIiwgZmxhZ3M9TkRfV1JJVEFCTEUpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIG5kLl9fc2V0aXRlbV9fLCAyLCAzMDApCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKHN0cnVjdC5lcnJvciwgbmQuX19zZXRpdGVtX18sIDEsIChiJ1x4MDAxJywgMjAwKSkKKworICAgIGRlZiB0ZXN0X25kYXJyYXlfaW5kZXhfc2NhbGFyKHNlbGYpOgorICAgICAgICAjIHNjYWxhcgorICAgICAgICBuZCA9IG5kYXJyYXkoMSwgc2hhcGU9KCksIGZsYWdzPU5EX1dSSVRBQkxFKQorICAgICAgICBtdiA9IG1lbW9yeXZpZXcobmQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobXYsIG5kKQorCisgICAgICAgIHggPSBuZFsoKV07ICBzZWxmLmFzc2VydEVxdWFsKHgsIDEpCisgICAgICAgIHggPSBuZFsuLi5dOyBzZWxmLmFzc2VydEVxdWFsKHgudG9saXN0KCksIG5kLnRvbGlzdCgpKQorCisgICAgICAgIHggPSBtdlsoKV07ICBzZWxmLmFzc2VydEVxdWFsKHgsIDEpCisgICAgICAgIHggPSBtdlsuLi5dOyBzZWxmLmFzc2VydEVxdWFsKHgudG9saXN0KCksIG5kLnRvbGlzdCgpKQorCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgbmQuX19nZXRpdGVtX18sIDApCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgbXYuX19nZXRpdGVtX18sIDApCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgbmQuX19zZXRpdGVtX18sIDAsIDgpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgbXYuX19zZXRpdGVtX18sIDAsIDgpCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChuZC50b2xpc3QoKSwgMSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtdi50b2xpc3QoKSwgMSkKKworICAgICAgICBuZFsoKV0gPSA5OyBzZWxmLmFzc2VydEVxdWFsKG5kLnRvbGlzdCgpLCA5KQorICAgICAgICBtdlsoKV0gPSA5OyBzZWxmLmFzc2VydEVxdWFsKG12LnRvbGlzdCgpLCA5KQorCisgICAgICAgIG5kWy4uLl0gPSA1OyBzZWxmLmFzc2VydEVxdWFsKG5kLnRvbGlzdCgpLCA1KQorICAgICAgICBtdlsuLi5dID0gNTsgc2VsZi5hc3NlcnRFcXVhbChtdi50b2xpc3QoKSwgNSkKKworICAgIGRlZiB0ZXN0X25kYXJyYXlfaW5kZXhfbnVsbF9zdHJpZGVzKHNlbGYpOgorICAgICAgICBleCA9IG5kYXJyYXkobGlzdChyYW5nZSgyKjQpKSwgc2hhcGU9WzIsIDRdLCBmbGFncz1ORF9XUklUQUJMRSkKKyAgICAgICAgbmQgPSBuZGFycmF5KGV4LCBnZXRidWY9UHlCVUZfQ09OVElHKQorCisgICAgICAgICMgU3ViLXZpZXdzIGFyZSBvbmx5IHBvc3NpYmxlIGZvciBmdWxsIGV4cG9ydGVycy4KKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoQnVmZmVyRXJyb3IsIG5kLl9fZ2V0aXRlbV9fLCAxKQorICAgICAgICAjIFNhbWUgZm9yIHNsaWNlcy4KKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoQnVmZmVyRXJyb3IsIG5kLl9fZ2V0aXRlbV9fLCBzbGljZSgzLDUsMSkpCisKKyAgICBkZWYgdGVzdF9uZGFycmF5X2luZGV4X2dldGl0ZW1fc2luZ2xlKHNlbGYpOgorICAgICAgICAjIGdldGl0ZW0KKyAgICAgICAgZm9yIGZtdCwgaXRlbXMsIF8gaW4gaXRlcl9mb3JtYXQoNSk6CisgICAgICAgICAgICBuZCA9IG5kYXJyYXkoaXRlbXMsIHNoYXBlPVs1XSwgZm9ybWF0PWZtdCkKKyAgICAgICAgICAgIGZvciBpIGluIHJhbmdlKC01LCA1KToKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG5kW2ldLCBpdGVtc1tpXSkKKworICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoSW5kZXhFcnJvciwgbmQuX19nZXRpdGVtX18sIC02KQorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoSW5kZXhFcnJvciwgbmQuX19nZXRpdGVtX18sIDUpCisKKyAgICAgICAgICAgIGlmIGlzX21lbW9yeXZpZXdfZm9ybWF0KGZtdCk6CisgICAgICAgICAgICAgICAgbXYgPSBtZW1vcnl2aWV3KG5kKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobXYsIG5kKQorICAgICAgICAgICAgICAgIGZvciBpIGluIHJhbmdlKC01LCA1KToKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtdltpXSwgaXRlbXNbaV0pCisKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhJbmRleEVycm9yLCBtdi5fX2dldGl0ZW1fXywgLTYpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoSW5kZXhFcnJvciwgbXYuX19nZXRpdGVtX18sIDUpCisKKyAgICAgICAgIyBnZXRpdGVtIHdpdGggbnVsbCBzdHJpZGVzCisgICAgICAgIGZvciBmbXQsIGl0ZW1zLCBfIGluIGl0ZXJfZm9ybWF0KDUpOgorICAgICAgICAgICAgZXggPSBuZGFycmF5KGl0ZW1zLCBzaGFwZT1bNV0sIGZsYWdzPU5EX1dSSVRBQkxFLCBmb3JtYXQ9Zm10KQorICAgICAgICAgICAgbmQgPSBuZGFycmF5KGV4LCBnZXRidWY9UHlCVUZfQ09OVElHfFB5QlVGX0ZPUk1BVCkKKworICAgICAgICAgICAgZm9yIGkgaW4gcmFuZ2UoLTUsIDUpOgorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobmRbaV0sIGl0ZW1zW2ldKQorCisgICAgICAgICAgICBpZiBpc19tZW1vcnl2aWV3X2Zvcm1hdChmbXQpOgorICAgICAgICAgICAgICAgIG12ID0gbmQubWVtb3J5dmlld19mcm9tX2J1ZmZlcigpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRJcyhtdi5fX2VxX18obmQpLCBOb3RJbXBsZW1lbnRlZCkKKyAgICAgICAgICAgICAgICBmb3IgaSBpbiByYW5nZSgtNSwgNSk6CisgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobXZbaV0sIGl0ZW1zW2ldKQorCisgICAgICAgICMgZ2V0aXRlbSB3aXRoIG51bGwgZm9ybWF0CisgICAgICAgIGl0ZW1zID0gWzEsMiwzLDQsNV0KKyAgICAgICAgZXggPSBuZGFycmF5KGl0ZW1zLCBzaGFwZT1bNV0pCisgICAgICAgIG5kID0gbmRhcnJheShleCwgZ2V0YnVmPVB5QlVGX0NPTlRJR19STykKKyAgICAgICAgZm9yIGkgaW4gcmFuZ2UoLTUsIDUpOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChuZFtpXSwgaXRlbXNbaV0pCisKKyAgICAgICAgIyBnZXRpdGVtIHdpdGggbnVsbCBzaGFwZS9zdHJpZGVzL2Zvcm1hdAorICAgICAgICBpdGVtcyA9IFsxLDIsMyw0LDVdCisgICAgICAgIGV4ID0gbmRhcnJheShpdGVtcywgc2hhcGU9WzVdKQorICAgICAgICBuZCA9IG5kYXJyYXkoZXgsIGdldGJ1Zj1QeUJVRl9TSU1QTEUpCisKKyAgICAgICAgZm9yIGkgaW4gcmFuZ2UoLTUsIDUpOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChuZFtpXSwgaXRlbXNbaV0pCisKKyAgICBkZWYgdGVzdF9uZGFycmF5X2luZGV4X3NldGl0ZW1fc2luZ2xlKHNlbGYpOgorICAgICAgICAjIGFzc2lnbiBzaW5nbGUgdmFsdWUKKyAgICAgICAgZm9yIGZtdCwgaXRlbXMsIHNpbmdsZV9pdGVtIGluIGl0ZXJfZm9ybWF0KDUpOgorICAgICAgICAgICAgbmQgPSBuZGFycmF5KGl0ZW1zLCBzaGFwZT1bNV0sIGZvcm1hdD1mbXQsIGZsYWdzPU5EX1dSSVRBQkxFKQorICAgICAgICAgICAgZm9yIGkgaW4gcmFuZ2UoNSk6CisgICAgICAgICAgICAgICAgaXRlbXNbaV0gPSBzaW5nbGVfaXRlbQorICAgICAgICAgICAgICAgIG5kW2ldID0gc2luZ2xlX2l0ZW0KKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobmQudG9saXN0KCksIGl0ZW1zKQorCisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhJbmRleEVycm9yLCBuZC5fX3NldGl0ZW1fXywgLTYsIHNpbmdsZV9pdGVtKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoSW5kZXhFcnJvciwgbmQuX19zZXRpdGVtX18sIDUsIHNpbmdsZV9pdGVtKQorCisgICAgICAgICAgICBpZiBub3QgaXNfbWVtb3J5dmlld19mb3JtYXQoZm10KToKKyAgICAgICAgICAgICAgICBjb250aW51ZQorCisgICAgICAgICAgICBuZCA9IG5kYXJyYXkoaXRlbXMsIHNoYXBlPVs1XSwgZm9ybWF0PWZtdCwgZmxhZ3M9TkRfV1JJVEFCTEUpCisgICAgICAgICAgICBtdiA9IG1lbW9yeXZpZXcobmQpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG12LCBuZCkKKyAgICAgICAgICAgIGZvciBpIGluIHJhbmdlKDUpOgorICAgICAgICAgICAgICAgIGl0ZW1zW2ldID0gc2luZ2xlX2l0ZW0KKyAgICAgICAgICAgICAgICBtdltpXSA9IHNpbmdsZV9pdGVtCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG12LnRvbGlzdCgpLCBpdGVtcykKKworICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoSW5kZXhFcnJvciwgbXYuX19zZXRpdGVtX18sIC02LCBzaW5nbGVfaXRlbSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEluZGV4RXJyb3IsIG12Ll9fc2V0aXRlbV9fLCA1LCBzaW5nbGVfaXRlbSkKKworCisgICAgICAgICMgYXNzaWduIHNpbmdsZSB2YWx1ZTogbG9iamVjdCA9IHJvYmplY3QKKyAgICAgICAgZm9yIGZtdCwgaXRlbXMsIHNpbmdsZV9pdGVtIGluIGl0ZXJfZm9ybWF0KDUpOgorICAgICAgICAgICAgbmQgPSBuZGFycmF5KGl0ZW1zLCBzaGFwZT1bNV0sIGZvcm1hdD1mbXQsIGZsYWdzPU5EX1dSSVRBQkxFKQorICAgICAgICAgICAgZm9yIGkgaW4gcmFuZ2UoLTUsIDQpOgorICAgICAgICAgICAgICAgIGl0ZW1zW2ldID0gaXRlbXNbaSsxXQorICAgICAgICAgICAgICAgIG5kW2ldID0gbmRbaSsxXQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChuZC50b2xpc3QoKSwgaXRlbXMpCisKKyAgICAgICAgICAgIGlmIG5vdCBpc19tZW1vcnl2aWV3X2Zvcm1hdChmbXQpOgorICAgICAgICAgICAgICAgIGNvbnRpbnVlCisKKyAgICAgICAgICAgIG5kID0gbmRhcnJheShpdGVtcywgc2hhcGU9WzVdLCBmb3JtYXQ9Zm10LCBmbGFncz1ORF9XUklUQUJMRSkKKyAgICAgICAgICAgIG12ID0gbWVtb3J5dmlldyhuZCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobXYsIG5kKQorICAgICAgICAgICAgZm9yIGkgaW4gcmFuZ2UoLTUsIDQpOgorICAgICAgICAgICAgICAgIGl0ZW1zW2ldID0gaXRlbXNbaSsxXQorICAgICAgICAgICAgICAgIG12W2ldID0gbXZbaSsxXQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtdi50b2xpc3QoKSwgaXRlbXMpCisKKyAgICBkZWYgdGVzdF9uZGFycmF5X2luZGV4X2dldGl0ZW1fbXVsdGlkaW0oc2VsZik6CisgICAgICAgIHNoYXBlX3QgPSAoMiwgMywgNSkKKyAgICAgICAgbml0ZW1zID0gcHJvZChzaGFwZV90KQorICAgICAgICBmb3Igc2hhcGUgaW4gcGVybXV0YXRpb25zKHNoYXBlX3QpOgorCisgICAgICAgICAgICBmbXQsIGl0ZW1zLCBfID0gcmFuZGl0ZW1zKG5pdGVtcykKKworICAgICAgICAgICAgZm9yIGZsYWdzIGluICgwLCBORF9QSUwpOgorICAgICAgICAgICAgICAgICMgQyBhcnJheQorICAgICAgICAgICAgICAgIG5kID0gbmRhcnJheShpdGVtcywgc2hhcGU9c2hhcGUsIGZvcm1hdD1mbXQsIGZsYWdzPWZsYWdzKQorICAgICAgICAgICAgICAgIGxzdCA9IGNhcnJheShpdGVtcywgc2hhcGUpCisKKyAgICAgICAgICAgICAgICBmb3IgaSBpbiByYW5nZSgtc2hhcGVbMF0sIHNoYXBlWzBdKToKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsc3RbaV0sIG5kW2ldLnRvbGlzdCgpKQorICAgICAgICAgICAgICAgICAgICBmb3IgaiBpbiByYW5nZSgtc2hhcGVbMV0sIHNoYXBlWzFdKToKKyAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobHN0W2ldW2pdLCBuZFtpXVtqXS50b2xpc3QoKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGZvciBrIGluIHJhbmdlKC1zaGFwZVsyXSwgc2hhcGVbMl0pOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobHN0W2ldW2pdW2tdLCBuZFtpXVtqXVtrXSkKKworICAgICAgICAgICAgICAgICMgRm9ydHJhbiBhcnJheQorICAgICAgICAgICAgICAgIG5kID0gbmRhcnJheShpdGVtcywgc2hhcGU9c2hhcGUsIGZvcm1hdD1mbXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsYWdzPWZsYWdzfE5EX0ZPUlRSQU4pCisgICAgICAgICAgICAgICAgbHN0ID0gZmFycmF5KGl0ZW1zLCBzaGFwZSkKKworICAgICAgICAgICAgICAgIGZvciBpIGluIHJhbmdlKC1zaGFwZVswXSwgc2hhcGVbMF0pOgorICAgICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxzdFtpXSwgbmRbaV0udG9saXN0KCkpCisgICAgICAgICAgICAgICAgICAgIGZvciBqIGluIHJhbmdlKC1zaGFwZVsxXSwgc2hhcGVbMV0pOgorICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsc3RbaV1bal0sIG5kW2ldW2pdLnRvbGlzdCgpKQorICAgICAgICAgICAgICAgICAgICAgICAgZm9yIGsgaW4gcmFuZ2Uoc2hhcGVbMl0sIHNoYXBlWzJdKToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxzdFtpXVtqXVtrXSwgbmRbaV1bal1ba10pCisKKyAgICBkZWYgdGVzdF9uZGFycmF5X3NlcXVlbmNlKHNlbGYpOgorICAgICAgICBuZCA9IG5kYXJyYXkoMSwgc2hhcGU9KCkpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgZXZhbCwgIjEgaW4gbmQiLCBsb2NhbHMoKSkKKyAgICAgICAgbXYgPSBtZW1vcnl2aWV3KG5kKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG12LCBuZCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBldmFsLCAiMSBpbiBtdiIsIGxvY2FscygpKQorCisgICAgICAgIGZvciBmbXQsIGl0ZW1zLCBfIGluIGl0ZXJfZm9ybWF0KDUpOgorICAgICAgICAgICAgbmQgPSBuZGFycmF5KGl0ZW1zLCBzaGFwZT1bNV0sIGZvcm1hdD1mbXQpCisgICAgICAgICAgICBmb3IgaSwgdiBpbiBlbnVtZXJhdGUobmQpOgorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodiwgaXRlbXNbaV0pCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHYgaW4gbmQpCisKKyAgICAgICAgICAgIGlmIGlzX21lbW9yeXZpZXdfZm9ybWF0KGZtdCk6CisgICAgICAgICAgICAgICAgbXYgPSBtZW1vcnl2aWV3KG5kKQorICAgICAgICAgICAgICAgIGZvciBpLCB2IGluIGVudW1lcmF0ZShtdik6CisgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodiwgaXRlbXNbaV0pCisgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSh2IGluIG12KQorCisgICAgZGVmIHRlc3RfbmRhcnJheV9zbGljZV9pbnZhbGlkKHNlbGYpOgorICAgICAgICBpdGVtcyA9IFsxLDIsMyw0LDUsNiw3LDhdCisKKyAgICAgICAgIyBydmFsdWUgaXMgbm90IGFuIGV4cG9ydGVyCisgICAgICAgIHhsID0gbmRhcnJheShpdGVtcywgc2hhcGU9WzhdLCBmbGFncz1ORF9XUklUQUJMRSkKKyAgICAgICAgbWwgPSBtZW1vcnl2aWV3KHhsKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIHhsLl9fc2V0aXRlbV9fLCBzbGljZSgwLDgsMSksIGl0ZW1zKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIG1sLl9fc2V0aXRlbV9fLCBzbGljZSgwLDgsMSksIGl0ZW1zKQorCisgICAgICAgICMgcnZhbHVlIGlzIG5vdCBhIGZ1bGwgZXhwb3J0ZXIKKyAgICAgICAgeGwgPSBuZGFycmF5KGl0ZW1zLCBzaGFwZT1bOF0sIGZsYWdzPU5EX1dSSVRBQkxFKQorICAgICAgICBleCA9IG5kYXJyYXkoaXRlbXMsIHNoYXBlPVs4XSwgZmxhZ3M9TkRfV1JJVEFCTEUpCisgICAgICAgIHhyID0gbmRhcnJheShleCwgZ2V0YnVmPVB5QlVGX05EKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhCdWZmZXJFcnJvciwgeGwuX19zZXRpdGVtX18sIHNsaWNlKDAsOCwxKSwgeHIpCisKKyAgICAgICAgIyB6ZXJvIHN0ZXAKKyAgICAgICAgbmQgPSBuZGFycmF5KGl0ZW1zLCBzaGFwZT1bOF0sIGZvcm1hdD0iTCIsIGZsYWdzPU5EX1dSSVRBQkxFKQorICAgICAgICBtdiA9IG1lbW9yeXZpZXcobmQpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIG5kLl9fZ2V0aXRlbV9fLCBzbGljZSgwLDEsMCkpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIG12Ll9fZ2V0aXRlbV9fLCBzbGljZSgwLDEsMCkpCisKKyAgICAgICAgbmQgPSBuZGFycmF5KGl0ZW1zLCBzaGFwZT1bMiw0XSwgZm9ybWF0PSJMIiwgZmxhZ3M9TkRfV1JJVEFCTEUpCisgICAgICAgIG12ID0gbWVtb3J5dmlldyhuZCkKKworICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBuZC5fX2dldGl0ZW1fXywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgKHNsaWNlKDAsMSwxKSwgc2xpY2UoMCwxLDApKSkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgbmQuX19nZXRpdGVtX18sCisgICAgICAgICAgICAgICAgICAgICAgICAgIChzbGljZSgwLDEsMCksIHNsaWNlKDAsMSwxKSkpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgbmQuX19nZXRpdGVtX18sICJAJSQiKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIG5kLl9fZ2V0aXRlbV9fLCAoIkAlJCIsIHNsaWNlKDAsMSwxKSkpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgbmQuX19nZXRpdGVtX18sIChzbGljZSgwLDEsMSksIHt9KSkKKworICAgICAgICAjIG1lbW9yeXZpZXc6IG5vdCBpbXBsZW1lbnRlZAorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhOb3RJbXBsZW1lbnRlZEVycm9yLCBtdi5fX2dldGl0ZW1fXywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgKHNsaWNlKDAsMSwxKSwgc2xpY2UoMCwxLDApKSkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBtdi5fX2dldGl0ZW1fXywgIkAlJCIpCisKKyAgICAgICAgIyBkaWZmZXJpbmcgZm9ybWF0CisgICAgICAgIHhsID0gbmRhcnJheShpdGVtcywgc2hhcGU9WzhdLCBmb3JtYXQ9IkIiLCBmbGFncz1ORF9XUklUQUJMRSkKKyAgICAgICAgeHIgPSBuZGFycmF5KGl0ZW1zLCBzaGFwZT1bOF0sIGZvcm1hdD0iYiIpCisgICAgICAgIG1sID0gbWVtb3J5dmlldyh4bCkKKyAgICAgICAgbXIgPSBtZW1vcnl2aWV3KHhyKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCB4bC5fX3NldGl0ZW1fXywgc2xpY2UoMCwxLDEpLCB4cls3OjhdKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHhsLnRvbGlzdCgpLCBpdGVtcykKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgbWwuX19zZXRpdGVtX18sIHNsaWNlKDAsMSwxKSwgbXJbNzo4XSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtbC50b2xpc3QoKSwgaXRlbXMpCisKKyAgICAgICAgIyBkaWZmZXJpbmcgaXRlbXNpemUKKyAgICAgICAgeGwgPSBuZGFycmF5KGl0ZW1zLCBzaGFwZT1bOF0sIGZvcm1hdD0iQiIsIGZsYWdzPU5EX1dSSVRBQkxFKQorICAgICAgICB5ciA9IG5kYXJyYXkoaXRlbXMsIHNoYXBlPVs4XSwgZm9ybWF0PSJMIikKKyAgICAgICAgbWwgPSBtZW1vcnl2aWV3KHhsKQorICAgICAgICBtciA9IG1lbW9yeXZpZXcoeHIpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIHhsLl9fc2V0aXRlbV9fLCBzbGljZSgwLDEsMSksIHhyWzc6OF0pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoeGwudG9saXN0KCksIGl0ZW1zKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBtbC5fX3NldGl0ZW1fXywgc2xpY2UoMCwxLDEpLCBtcls3OjhdKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1sLnRvbGlzdCgpLCBpdGVtcykKKworICAgICAgICAjIGRpZmZlcmluZyBuZGltCisgICAgICAgIHhsID0gbmRhcnJheShpdGVtcywgc2hhcGU9WzIsIDRdLCBmb3JtYXQ9ImIiLCBmbGFncz1ORF9XUklUQUJMRSkKKyAgICAgICAgeHIgPSBuZGFycmF5KGl0ZW1zLCBzaGFwZT1bOF0sIGZvcm1hdD0iYiIpCisgICAgICAgIG1sID0gbWVtb3J5dmlldyh4bCkKKyAgICAgICAgbXIgPSBtZW1vcnl2aWV3KHhyKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCB4bC5fX3NldGl0ZW1fXywgc2xpY2UoMCwxLDEpLCB4cls3OjhdKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHhsLnRvbGlzdCgpLCBbWzEsMiwzLDRdLCBbNSw2LDcsOF1dKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhOb3RJbXBsZW1lbnRlZEVycm9yLCBtbC5fX3NldGl0ZW1fXywgc2xpY2UoMCwxLDEpLAorICAgICAgICAgICAgICAgICAgICAgICAgICBtcls3OjhdKQorCisgICAgICAgICMgZGlmZmVyaW5nIHNoYXBlCisgICAgICAgIHhsID0gbmRhcnJheShpdGVtcywgc2hhcGU9WzhdLCBmb3JtYXQ9ImIiLCBmbGFncz1ORF9XUklUQUJMRSkKKyAgICAgICAgeHIgPSBuZGFycmF5KGl0ZW1zLCBzaGFwZT1bOF0sIGZvcm1hdD0iYiIpCisgICAgICAgIG1sID0gbWVtb3J5dmlldyh4bCkKKyAgICAgICAgbXIgPSBtZW1vcnl2aWV3KHhyKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCB4bC5fX3NldGl0ZW1fXywgc2xpY2UoMCwyLDEpLCB4cls3OjhdKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHhsLnRvbGlzdCgpLCBpdGVtcykKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgbWwuX19zZXRpdGVtX18sIHNsaWNlKDAsMiwxKSwgbXJbNzo4XSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtbC50b2xpc3QoKSwgaXRlbXMpCisKKyAgICAgICAgIyBfdGVzdGJ1ZmZlci5jIG1vZHVsZSBmdW5jdGlvbnMKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBzbGljZV9pbmRpY2VzLCBzbGljZSgwLDEsMiksIHt9KQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIHNsaWNlX2luZGljZXMsICIjIyMjIyMjIyMjIyIsIDEpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIHNsaWNlX2luZGljZXMsIHNsaWNlKDAsMSwwKSwgNCkKKworICAgICAgICB4ID0gbmRhcnJheShpdGVtcywgc2hhcGU9WzhdLCBmb3JtYXQ9ImIiLCBmbGFncz1ORF9QSUwpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgeC5hZGRfc3Vib2Zmc2V0cykKKworICAgICAgICBleCA9IG5kYXJyYXkoaXRlbXMsIHNoYXBlPVs4XSwgZm9ybWF0PSJCIikKKyAgICAgICAgeCA9IG5kYXJyYXkoZXgsIGdldGJ1Zj1QeUJVRl9TSU1QTEUpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgeC5hZGRfc3Vib2Zmc2V0cykKKworICAgIGRlZiB0ZXN0X25kYXJyYXlfc2xpY2VfemVyb19zaGFwZShzZWxmKToKKyAgICAgICAgaXRlbXMgPSBbMSwyLDMsNCw1LDYsNyw4LDksMTAsMTEsMTJdCisKKyAgICAgICAgeCA9IG5kYXJyYXkoaXRlbXMsIHNoYXBlPVsxMl0sIGZvcm1hdD0iTCIsIGZsYWdzPU5EX1dSSVRBQkxFKQorICAgICAgICB5ID0gbmRhcnJheShpdGVtcywgc2hhcGU9WzEyXSwgZm9ybWF0PSJMIikKKyAgICAgICAgeFs0OjRdID0geVs5OjldCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoeC50b2xpc3QoKSwgaXRlbXMpCisKKyAgICAgICAgbWwgPSBtZW1vcnl2aWV3KHgpCisgICAgICAgIG1yID0gbWVtb3J5dmlldyh5KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1sLCB4KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1sLCB5KQorICAgICAgICBtbFs0OjRdID0gbXJbOTo5XQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1sLnRvbGlzdCgpLCBpdGVtcykKKworICAgICAgICB4ID0gbmRhcnJheShpdGVtcywgc2hhcGU9WzMsIDRdLCBmb3JtYXQ9IkwiLCBmbGFncz1ORF9XUklUQUJMRSkKKyAgICAgICAgeSA9IG5kYXJyYXkoaXRlbXMsIHNoYXBlPVs0LCAzXSwgZm9ybWF0PSJMIikKKyAgICAgICAgeFsxOjIsIDI6Ml0gPSB5WzE6MiwgMzozXQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHgudG9saXN0KCksIGNhcnJheShpdGVtcywgWzMsIDRdKSkKKworICAgIGRlZiB0ZXN0X25kYXJyYXlfc2xpY2VfbXVsdGlkaW0oc2VsZik6CisgICAgICAgIHNoYXBlX3QgPSAoMiwgMywgNSkKKyAgICAgICAgbmRpbSA9IGxlbihzaGFwZV90KQorICAgICAgICBuaXRlbXMgPSBwcm9kKHNoYXBlX3QpCisgICAgICAgIGZvciBzaGFwZSBpbiBwZXJtdXRhdGlvbnMoc2hhcGVfdCk6CisKKyAgICAgICAgICAgIGZtdCwgaXRlbXMsIF8gPSByYW5kaXRlbXMobml0ZW1zKQorICAgICAgICAgICAgaXRlbXNpemUgPSBzdHJ1Y3QuY2FsY3NpemUoZm10KQorCisgICAgICAgICAgICBmb3IgZmxhZ3MgaW4gKDAsIE5EX1BJTCk6CisgICAgICAgICAgICAgICAgbmQgPSBuZGFycmF5KGl0ZW1zLCBzaGFwZT1zaGFwZSwgZm9ybWF0PWZtdCwgZmxhZ3M9ZmxhZ3MpCisgICAgICAgICAgICAgICAgbHN0ID0gY2FycmF5KGl0ZW1zLCBzaGFwZSkKKworICAgICAgICAgICAgICAgIGZvciBzbGljZXMgaW4gcnNsaWNlc19uZGltKG5kaW0sIHNoYXBlKToKKworICAgICAgICAgICAgICAgICAgICBsaXN0ZXJyID0gTm9uZQorICAgICAgICAgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgICAgICAgICBzbGljZWQgPSBtdWx0aXNsaWNlKGxzdCwgc2xpY2VzKQorICAgICAgICAgICAgICAgICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CisgICAgICAgICAgICAgICAgICAgICAgICBsaXN0ZXJyID0gZS5fX2NsYXNzX18KKworICAgICAgICAgICAgICAgICAgICBuZGVyciA9IE5vbmUKKyAgICAgICAgICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgICAgICAgICAgbmRzbGljZWQgPSBuZFtzbGljZXNdCisgICAgICAgICAgICAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKKyAgICAgICAgICAgICAgICAgICAgICAgIG5kZXJyID0gZS5fX2NsYXNzX18KKworICAgICAgICAgICAgICAgICAgICBpZiBuZGVyciBvciBsaXN0ZXJyOgorICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRJcyhuZGVyciwgbGlzdGVycikKKyAgICAgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobmRzbGljZWQudG9saXN0KCksIHNsaWNlZCkKKworICAgIGRlZiB0ZXN0X25kYXJyYXlfc2xpY2VfcmVkdW5kYW50X3N1Ym9mZnNldHMoc2VsZik6CisgICAgICAgIHNoYXBlX3QgPSAoMiwgMywgNSwgMikKKyAgICAgICAgbmRpbSA9IGxlbihzaGFwZV90KQorICAgICAgICBuaXRlbXMgPSBwcm9kKHNoYXBlX3QpCisgICAgICAgIGZvciBzaGFwZSBpbiBwZXJtdXRhdGlvbnMoc2hhcGVfdCk6CisKKyAgICAgICAgICAgIGZtdCwgaXRlbXMsIF8gPSByYW5kaXRlbXMobml0ZW1zKQorICAgICAgICAgICAgaXRlbXNpemUgPSBzdHJ1Y3QuY2FsY3NpemUoZm10KQorCisgICAgICAgICAgICBuZCA9IG5kYXJyYXkoaXRlbXMsIHNoYXBlPXNoYXBlLCBmb3JtYXQ9Zm10KQorICAgICAgICAgICAgbmQuYWRkX3N1Ym9mZnNldHMoKQorICAgICAgICAgICAgZXggPSBuZGFycmF5KGl0ZW1zLCBzaGFwZT1zaGFwZSwgZm9ybWF0PWZtdCkKKyAgICAgICAgICAgIGV4LmFkZF9zdWJvZmZzZXRzKCkKKyAgICAgICAgICAgIG12ID0gbWVtb3J5dmlldyhleCkKKyAgICAgICAgICAgIGxzdCA9IGNhcnJheShpdGVtcywgc2hhcGUpCisKKyAgICAgICAgICAgIGZvciBzbGljZXMgaW4gcnNsaWNlc19uZGltKG5kaW0sIHNoYXBlKToKKworICAgICAgICAgICAgICAgIGxpc3RlcnIgPSBOb25lCisgICAgICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgICAgICBzbGljZWQgPSBtdWx0aXNsaWNlKGxzdCwgc2xpY2VzKQorICAgICAgICAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKKyAgICAgICAgICAgICAgICAgICAgbGlzdGVyciA9IGUuX19jbGFzc19fCisKKyAgICAgICAgICAgICAgICBuZGVyciA9IE5vbmUKKyAgICAgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgICAgIG5kc2xpY2VkID0gbmRbc2xpY2VzXQorICAgICAgICAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKKyAgICAgICAgICAgICAgICAgICAgbmRlcnIgPSBlLl9fY2xhc3NfXworCisgICAgICAgICAgICAgICAgaWYgbmRlcnIgb3IgbGlzdGVycjoKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRJcyhuZGVyciwgbGlzdGVycikKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG5kc2xpY2VkLnRvbGlzdCgpLCBzbGljZWQpCisKKyAgICBkZWYgdGVzdF9uZGFycmF5X3NsaWNlX2Fzc2lnbl9zaW5nbGUoc2VsZik6CisgICAgICAgIGZvciBmbXQsIGl0ZW1zLCBfIGluIGl0ZXJfZm9ybWF0KDUpOgorICAgICAgICAgICAgZm9yIGxzbGljZSBpbiBnZW5zbGljZXMoNSk6CisgICAgICAgICAgICAgICAgZm9yIHJzbGljZSBpbiBnZW5zbGljZXMoNSk6CisgICAgICAgICAgICAgICAgICAgIGZvciBmbGFncyBpbiAoMCwgTkRfUElMKToKKworICAgICAgICAgICAgICAgICAgICAgICAgZiA9IGZsYWdzfE5EX1dSSVRBQkxFCisgICAgICAgICAgICAgICAgICAgICAgICBuZCA9IG5kYXJyYXkoaXRlbXMsIHNoYXBlPVs1XSwgZm9ybWF0PWZtdCwgZmxhZ3M9ZikKKyAgICAgICAgICAgICAgICAgICAgICAgIGV4ID0gbmRhcnJheShpdGVtcywgc2hhcGU9WzVdLCBmb3JtYXQ9Zm10LCBmbGFncz1mKQorICAgICAgICAgICAgICAgICAgICAgICAgbXYgPSBtZW1vcnl2aWV3KGV4KQorCisgICAgICAgICAgICAgICAgICAgICAgICBsc3RlcnIgPSBOb25lCisgICAgICAgICAgICAgICAgICAgICAgICBkaWZmX3N0cnVjdHVyZSA9IE5vbmUKKyAgICAgICAgICAgICAgICAgICAgICAgIGxzdCA9IGl0ZW1zWzpdCisgICAgICAgICAgICAgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbHZhbCA9IGxzdFtsc2xpY2VdCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcnZhbCA9IGxzdFtyc2xpY2VdCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbHN0W2xzbGljZV0gPSBsc3RbcnNsaWNlXQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpZmZfc3RydWN0dXJlID0gbGVuKGx2YWwpICE9IGxlbihydmFsKQorICAgICAgICAgICAgICAgICAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxzdGVyciA9IGUuX19jbGFzc19fCisKKyAgICAgICAgICAgICAgICAgICAgICAgIG5kZXJyID0gTm9uZQorICAgICAgICAgICAgICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5kW2xzbGljZV0gPSBuZFtyc2xpY2VdCisgICAgICAgICAgICAgICAgICAgICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmRlcnIgPSBlLl9fY2xhc3NfXworCisgICAgICAgICAgICAgICAgICAgICAgICBpZiBkaWZmX3N0cnVjdHVyZTogIyBuZGFycmF5IGNhbm5vdCBjaGFuZ2Ugc2hhcGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydElzKG5kZXJyLCBWYWx1ZUVycm9yKQorICAgICAgICAgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG5kLnRvbGlzdCgpLCBsc3QpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRJcyhuZGVyciwgbHN0ZXJyKQorCisgICAgICAgICAgICAgICAgICAgICAgICBpZiBub3QgaXNfbWVtb3J5dmlld19mb3JtYXQoZm10KToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZQorCisgICAgICAgICAgICAgICAgICAgICAgICBtdmVyciA9IE5vbmUKKyAgICAgICAgICAgICAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBtdltsc2xpY2VdID0gbXZbcnNsaWNlXQorICAgICAgICAgICAgICAgICAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIG12ZXJyID0gZS5fX2NsYXNzX18KKworICAgICAgICAgICAgICAgICAgICAgICAgaWYgZGlmZl9zdHJ1Y3R1cmU6ICMgbWVtb3J5dmlldyBjYW5ub3QgY2hhbmdlIHNoYXBlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRJcyhtdmVyciwgVmFsdWVFcnJvcikKKyAgICAgICAgICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtdi50b2xpc3QoKSwgbHN0KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobXYsIG5kKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXMobXZlcnIsIGxzdGVycikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnZlcmlmeShtdiwgb2JqPWV4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXNpemU9bmQuaXRlbXNpemUsIGZtdD1mbXQsIHJlYWRvbmx5PTAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZGltPW5kLm5kaW0sIHNoYXBlPW5kLnNoYXBlLCBzdHJpZGVzPW5kLnN0cmlkZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsc3Q9bmQudG9saXN0KCkpCisKKyAgICBkZWYgdGVzdF9uZGFycmF5X3NsaWNlX2Fzc2lnbl9tdWx0aWRpbShzZWxmKToKKyAgICAgICAgc2hhcGVfdCA9ICgyLCAzLCA1KQorICAgICAgICBuZGltID0gbGVuKHNoYXBlX3QpCisgICAgICAgIG5pdGVtcyA9IHByb2Qoc2hhcGVfdCkKKyAgICAgICAgZm9yIHNoYXBlIGluIHBlcm11dGF0aW9ucyhzaGFwZV90KToKKworICAgICAgICAgICAgZm10LCBpdGVtcywgXyA9IHJhbmRpdGVtcyhuaXRlbXMpCisKKyAgICAgICAgICAgIGZvciBmbGFncyBpbiAoMCwgTkRfUElMKToKKyAgICAgICAgICAgICAgICBmb3IgXyBpbiByYW5nZShJVEVSQVRJT05TKToKKyAgICAgICAgICAgICAgICAgICAgbHNsaWNlcywgcnNsaWNlcyA9IHJhbmRzbGljZV9mcm9tX3NoYXBlKG5kaW0sIHNoYXBlKQorCisgICAgICAgICAgICAgICAgICAgIG5kID0gbmRhcnJheShpdGVtcywgc2hhcGU9c2hhcGUsIGZvcm1hdD1mbXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGFncz1mbGFnc3xORF9XUklUQUJMRSkKKyAgICAgICAgICAgICAgICAgICAgbHN0ID0gY2FycmF5KGl0ZW1zLCBzaGFwZSkKKworICAgICAgICAgICAgICAgICAgICBsaXN0ZXJyID0gTm9uZQorICAgICAgICAgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSBtdWx0aXNsaWNlX2Fzc2lnbihsc3QsIGxzdCwgbHNsaWNlcywgcnNsaWNlcykKKyAgICAgICAgICAgICAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgorICAgICAgICAgICAgICAgICAgICAgICAgbGlzdGVyciA9IGUuX19jbGFzc19fCisKKyAgICAgICAgICAgICAgICAgICAgbmRlcnIgPSBOb25lCisgICAgICAgICAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICAgICAgICAgIG5kW2xzbGljZXNdID0gbmRbcnNsaWNlc10KKyAgICAgICAgICAgICAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgorICAgICAgICAgICAgICAgICAgICAgICAgbmRlcnIgPSBlLl9fY2xhc3NfXworCisgICAgICAgICAgICAgICAgICAgIGlmIG5kZXJyIG9yIGxpc3RlcnI6CisgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydElzKG5kZXJyLCBsaXN0ZXJyKQorICAgICAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChuZC50b2xpc3QoKSwgcmVzdWx0KQorCisgICAgZGVmIHRlc3RfbmRhcnJheV9yYW5kb20oc2VsZik6CisgICAgICAgICMgY29uc3RydWN0aW9uIG9mIHZhbGlkIGFycmF5cworICAgICAgICBmb3IgXyBpbiByYW5nZShJVEVSQVRJT05TKToKKyAgICAgICAgICAgIGZvciBmbXQgaW4gZm10ZGljdFsnQCddOgorICAgICAgICAgICAgICAgIGl0ZW1zaXplID0gc3RydWN0LmNhbGNzaXplKGZtdCkKKworICAgICAgICAgICAgICAgIHQgPSByYW5kX3N0cnVjdHVyZShpdGVtc2l6ZSwgVHJ1ZSwgbWF4ZGltPU1BWERJTSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4c2hhcGU9TUFYU0hBUEUpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHZlcmlmeV9zdHJ1Y3R1cmUoKnQpKQorICAgICAgICAgICAgICAgIGl0ZW1zID0gcmFuZGl0ZW1zX2Zyb21fc3RydWN0dXJlKGZtdCwgdCkKKworICAgICAgICAgICAgICAgIHggPSBuZGFycmF5X2Zyb21fc3RydWN0dXJlKGl0ZW1zLCBmbXQsIHQpCisgICAgICAgICAgICAgICAgeGxpc3QgPSB4LnRvbGlzdCgpCisKKyAgICAgICAgICAgICAgICBtdiA9IG1lbW9yeXZpZXcoeCkKKyAgICAgICAgICAgICAgICBpZiBpc19tZW1vcnl2aWV3X2Zvcm1hdChmbXQpOgorICAgICAgICAgICAgICAgICAgICBtdmxpc3QgPSBtdi50b2xpc3QoKQorICAgICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG12bGlzdCwgeGxpc3QpCisKKyAgICAgICAgICAgICAgICBpZiB0WzJdID4gMDoKKyAgICAgICAgICAgICAgICAgICAgIyBuZGltID4gMDogdGVzdCBhZ2FpbnN0IHN1Ym9mZnNldHMgcmVwcmVzZW50YXRpb24uCisgICAgICAgICAgICAgICAgICAgIHkgPSBuZGFycmF5X2Zyb21fc3RydWN0dXJlKGl0ZW1zLCBmbXQsIHQsIGZsYWdzPU5EX1BJTCkKKyAgICAgICAgICAgICAgICAgICAgeWxpc3QgPSB5LnRvbGlzdCgpCisgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoeGxpc3QsIHlsaXN0KQorCisgICAgICAgICAgICAgICAgICAgIG12ID0gbWVtb3J5dmlldyh5KQorICAgICAgICAgICAgICAgICAgICBpZiBpc19tZW1vcnl2aWV3X2Zvcm1hdChmbXQpOgorICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtdiwgeSkKKyAgICAgICAgICAgICAgICAgICAgICAgIG12bGlzdCA9IG12LnRvbGlzdCgpCisgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG12bGlzdCwgeWxpc3QpCisKKyAgICAgICAgICAgICAgICBpZiBudW1weV9hcnJheToKKyAgICAgICAgICAgICAgICAgICAgc2hhcGUgPSB0WzNdCisgICAgICAgICAgICAgICAgICAgIGlmIDAgaW4gc2hhcGU6CisgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZSAjIGh0dHA6Ly9wcm9qZWN0cy5zY2lweS5vcmcvbnVtcHkvdGlja2V0LzE5MTAKKyAgICAgICAgICAgICAgICAgICAgeiA9IG51bXB5X2FycmF5X2Zyb21fc3RydWN0dXJlKGl0ZW1zLCBmbXQsIHQpCisgICAgICAgICAgICAgICAgICAgIHNlbGYudmVyaWZ5KHgsIG9iaj1Ob25lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtc2l6ZT16Lml0ZW1zaXplLCBmbXQ9Zm10LCByZWFkb25seT0wLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZGltPXoubmRpbSwgc2hhcGU9ei5zaGFwZSwgc3RyaWRlcz16LnN0cmlkZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxzdD16LnRvbGlzdCgpKQorCisgICAgZGVmIHRlc3RfbmRhcnJheV9yYW5kb21faW52YWxpZChzZWxmKToKKyAgICAgICAgIyBleGNlcHRpb25zIGR1cmluZyBjb25zdHJ1Y3Rpb24gb2YgaW52YWxpZCBhcnJheXMKKyAgICAgICAgZm9yIF8gaW4gcmFuZ2UoSVRFUkFUSU9OUyk6CisgICAgICAgICAgICBmb3IgZm10IGluIGZtdGRpY3RbJ0AnXToKKyAgICAgICAgICAgICAgICBpdGVtc2l6ZSA9IHN0cnVjdC5jYWxjc2l6ZShmbXQpCisKKyAgICAgICAgICAgICAgICB0ID0gcmFuZF9zdHJ1Y3R1cmUoaXRlbXNpemUsIEZhbHNlLCBtYXhkaW09TUFYRElNLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhzaGFwZT1NQVhTSEFQRSkKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEZhbHNlKHZlcmlmeV9zdHJ1Y3R1cmUoKnQpKQorICAgICAgICAgICAgICAgIGl0ZW1zID0gcmFuZGl0ZW1zX2Zyb21fc3RydWN0dXJlKGZtdCwgdCkKKworICAgICAgICAgICAgICAgIG5kZXJyID0gRmFsc2UKKyAgICAgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgICAgIHggPSBuZGFycmF5X2Zyb21fc3RydWN0dXJlKGl0ZW1zLCBmbXQsIHQpCisgICAgICAgICAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgorICAgICAgICAgICAgICAgICAgICBuZGVyciA9IGUuX19jbGFzc19fCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG5kZXJyKQorCisgICAgICAgICAgICAgICAgaWYgbnVtcHlfYXJyYXk6CisgICAgICAgICAgICAgICAgICAgIG51bXB5X2VyciA9IEZhbHNlCisgICAgICAgICAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICAgICAgICAgIHkgPSBudW1weV9hcnJheV9mcm9tX3N0cnVjdHVyZShpdGVtcywgZm10LCB0KQorICAgICAgICAgICAgICAgICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CisgICAgICAgICAgICAgICAgICAgICAgICBudW1weV9lcnIgPSBlLl9fY2xhc3NfXworCisgICAgICAgICAgICAgICAgICAgIGlmIDA6ICMgaHR0cDovL3Byb2plY3RzLnNjaXB5Lm9yZy9udW1weS90aWNrZXQvMTkxMAorICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG51bXB5X2VycikKKworICAgIGRlZiB0ZXN0X25kYXJyYXlfcmFuZG9tX3NsaWNlX2Fzc2lnbihzZWxmKToKKyAgICAgICAgIyB2YWxpZCBzbGljZSBhc3NpZ25tZW50cworICAgICAgICBmb3IgXyBpbiByYW5nZShJVEVSQVRJT05TKToKKyAgICAgICAgICAgIGZvciBmbXQgaW4gZm10ZGljdFsnQCddOgorICAgICAgICAgICAgICAgIGl0ZW1zaXplID0gc3RydWN0LmNhbGNzaXplKGZtdCkKKworICAgICAgICAgICAgICAgIGxzaGFwZSwgcnNoYXBlLCBsc2xpY2VzLCByc2xpY2VzID0gXAorICAgICAgICAgICAgICAgICAgICByYW5kX2FsaWduZWRfc2xpY2VzKG1heGRpbT1NQVhESU0sIG1heHNoYXBlPU1BWFNIQVBFKQorICAgICAgICAgICAgICAgIHRsID0gcmFuZF9zdHJ1Y3R1cmUoaXRlbXNpemUsIFRydWUsIHNoYXBlPWxzaGFwZSkKKyAgICAgICAgICAgICAgICB0ciA9IHJhbmRfc3RydWN0dXJlKGl0ZW1zaXplLCBUcnVlLCBzaGFwZT1yc2hhcGUpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHZlcmlmeV9zdHJ1Y3R1cmUoKnRsKSkKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUodmVyaWZ5X3N0cnVjdHVyZSgqdHIpKQorICAgICAgICAgICAgICAgIGxpdGVtcyA9IHJhbmRpdGVtc19mcm9tX3N0cnVjdHVyZShmbXQsIHRsKQorICAgICAgICAgICAgICAgIHJpdGVtcyA9IHJhbmRpdGVtc19mcm9tX3N0cnVjdHVyZShmbXQsIHRyKQorCisgICAgICAgICAgICAgICAgeGwgPSBuZGFycmF5X2Zyb21fc3RydWN0dXJlKGxpdGVtcywgZm10LCB0bCkKKyAgICAgICAgICAgICAgICB4ciA9IG5kYXJyYXlfZnJvbV9zdHJ1Y3R1cmUocml0ZW1zLCBmbXQsIHRyKQorICAgICAgICAgICAgICAgIHhsW2xzbGljZXNdID0geHJbcnNsaWNlc10KKyAgICAgICAgICAgICAgICB4bGxpc3QgPSB4bC50b2xpc3QoKQorICAgICAgICAgICAgICAgIHhybGlzdCA9IHhyLnRvbGlzdCgpCisKKyAgICAgICAgICAgICAgICBtbCA9IG1lbW9yeXZpZXcoeGwpCisgICAgICAgICAgICAgICAgbXIgPSBtZW1vcnl2aWV3KHhyKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobWwudG9saXN0KCksIHhsbGlzdCkKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1yLnRvbGlzdCgpLCB4cmxpc3QpCisKKyAgICAgICAgICAgICAgICBpZiB0bFsyXSA+IDAgYW5kIHRyWzJdID4gMDoKKyAgICAgICAgICAgICAgICAgICAgIyBuZGltID4gMDogdGVzdCBhZ2FpbnN0IHN1Ym9mZnNldHMgcmVwcmVzZW50YXRpb24uCisgICAgICAgICAgICAgICAgICAgIHlsID0gbmRhcnJheV9mcm9tX3N0cnVjdHVyZShsaXRlbXMsIGZtdCwgdGwsIGZsYWdzPU5EX1BJTCkKKyAgICAgICAgICAgICAgICAgICAgeXIgPSBuZGFycmF5X2Zyb21fc3RydWN0dXJlKHJpdGVtcywgZm10LCB0ciwgZmxhZ3M9TkRfUElMKQorICAgICAgICAgICAgICAgICAgICB5bFtsc2xpY2VzXSA9IHlyW3JzbGljZXNdCisgICAgICAgICAgICAgICAgICAgIHlsbGlzdCA9IHlsLnRvbGlzdCgpCisgICAgICAgICAgICAgICAgICAgIHlybGlzdCA9IHlyLnRvbGlzdCgpCisgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoeGxsaXN0LCB5bGxpc3QpCisgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoeHJsaXN0LCB5cmxpc3QpCisKKyAgICAgICAgICAgICAgICAgICAgbWwgPSBtZW1vcnl2aWV3KHlsKQorICAgICAgICAgICAgICAgICAgICBtciA9IG1lbW9yeXZpZXcoeXIpCisgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobWwudG9saXN0KCksIHlsbGlzdCkKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtci50b2xpc3QoKSwgeXJsaXN0KQorCisgICAgICAgICAgICAgICAgaWYgbnVtcHlfYXJyYXk6CisgICAgICAgICAgICAgICAgICAgIGlmIDAgaW4gbHNoYXBlIG9yIDAgaW4gcnNoYXBlOgorICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWUgIyBodHRwOi8vcHJvamVjdHMuc2NpcHkub3JnL251bXB5L3RpY2tldC8xOTEwCisKKyAgICAgICAgICAgICAgICAgICAgemwgPSBudW1weV9hcnJheV9mcm9tX3N0cnVjdHVyZShsaXRlbXMsIGZtdCwgdGwpCisgICAgICAgICAgICAgICAgICAgIHpyID0gbnVtcHlfYXJyYXlfZnJvbV9zdHJ1Y3R1cmUocml0ZW1zLCBmbXQsIHRyKQorICAgICAgICAgICAgICAgICAgICB6bFtsc2xpY2VzXSA9IHpyW3JzbGljZXNdCisKKyAgICAgICAgICAgICAgICAgICAgaWYgbm90IGlzX292ZXJsYXBwaW5nKHRsKSBhbmQgbm90IGlzX292ZXJsYXBwaW5nKHRyKToKKyAgICAgICAgICAgICAgICAgICAgICAgICMgU2xpY2UgYXNzaWdubWVudCBvZiBvdmVybGFwcGluZyBzdHJ1Y3R1cmVzCisgICAgICAgICAgICAgICAgICAgICAgICAjIGlzIHVuZGVmaW5lZCBpbiBOdW1QeS4KKyAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYudmVyaWZ5KHhsLCBvYmo9Tm9uZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zaXplPXpsLml0ZW1zaXplLCBmbXQ9Zm10LCByZWFkb25seT0wLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmRpbT16bC5uZGltLCBzaGFwZT16bC5zaGFwZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmlkZXM9emwuc3RyaWRlcywgbHN0PXpsLnRvbGlzdCgpKQorCisgICAgICAgICAgICAgICAgICAgIHNlbGYudmVyaWZ5KHhyLCBvYmo9Tm9uZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXNpemU9enIuaXRlbXNpemUsIGZtdD1mbXQsIHJlYWRvbmx5PTAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5kaW09enIubmRpbSwgc2hhcGU9enIuc2hhcGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmlkZXM9enIuc3RyaWRlcywgbHN0PXpyLnRvbGlzdCgpKQorCisgICAgZGVmIHRlc3RfbmRhcnJheV9yZV9leHBvcnQoc2VsZik6CisgICAgICAgIGl0ZW1zID0gWzEsMiwzLDQsNSw2LDcsOCw5LDEwLDExLDEyXQorCisgICAgICAgIG5kID0gbmRhcnJheShpdGVtcywgc2hhcGU9WzMsNF0sIGZsYWdzPU5EX1BJTCkKKyAgICAgICAgZXggPSBuZGFycmF5KG5kKQorCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShleC5mbGFncyAmIE5EX1BJTCkKKyAgICAgICAgc2VsZi5hc3NlcnRJcyhleC5vYmosIG5kKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV4LnN1Ym9mZnNldHMsICgwLCAtMSkpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoZXguY19jb250aWd1b3VzKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGV4LmZfY29udGlndW91cykKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShleC5jb250aWd1b3VzKQorCisgICAgZGVmIHRlc3RfbmRhcnJheV96ZXJvX3NoYXBlKHNlbGYpOgorICAgICAgICAjIHplcm9zIGluIHNoYXBlCisgICAgICAgIGZvciBmbGFncyBpbiAoMCwgTkRfUElMKToKKyAgICAgICAgICAgIG5kID0gbmRhcnJheShbMSwyLDNdLCBzaGFwZT1bMF0sIGZsYWdzPWZsYWdzKQorICAgICAgICAgICAgbXYgPSBtZW1vcnl2aWV3KG5kKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtdiwgbmQpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG5kLnRvbGlzdCgpLCBbXSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobXYudG9saXN0KCksIFtdKQorCisgICAgICAgICAgICBuZCA9IG5kYXJyYXkoWzEsMiwzXSwgc2hhcGU9WzAsMywzXSwgZmxhZ3M9ZmxhZ3MpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG5kLnRvbGlzdCgpLCBbXSkKKworICAgICAgICAgICAgbmQgPSBuZGFycmF5KFsxLDIsM10sIHNoYXBlPVszLDAsM10sIGZsYWdzPWZsYWdzKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChuZC50b2xpc3QoKSwgW1tdLCBbXSwgW11dKQorCisgICAgICAgICAgICBuZCA9IG5kYXJyYXkoWzEsMiwzXSwgc2hhcGU9WzMsMywwXSwgZmxhZ3M9ZmxhZ3MpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG5kLnRvbGlzdCgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbW1tdLCBbXSwgW11dLCBbW10sIFtdLCBbXV0sIFtbXSwgW10sIFtdXV0pCisKKyAgICBkZWYgdGVzdF9uZGFycmF5X3plcm9fc3RyaWRlcyhzZWxmKToKKyAgICAgICAgIyB6ZXJvIHN0cmlkZXMKKyAgICAgICAgZm9yIGZsYWdzIGluICgwLCBORF9QSUwpOgorICAgICAgICAgICAgbmQgPSBuZGFycmF5KFsxXSwgc2hhcGU9WzVdLCBzdHJpZGVzPVswXSwgZmxhZ3M9ZmxhZ3MpCisgICAgICAgICAgICBtdiA9IG1lbW9yeXZpZXcobmQpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG12LCBuZCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobmQudG9saXN0KCksIFsxLCAxLCAxLCAxLCAxXSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobXYudG9saXN0KCksIFsxLCAxLCAxLCAxLCAxXSkKKworICAgIGRlZiB0ZXN0X25kYXJyYXlfb2Zmc2V0KHNlbGYpOgorICAgICAgICBuZCA9IG5kYXJyYXkobGlzdChyYW5nZSgyMCkpLCBzaGFwZT1bM10sIG9mZnNldD03KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG5kLm9mZnNldCwgNykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChuZC50b2xpc3QoKSwgWzcsOCw5XSkKKworICAgIGRlZiB0ZXN0X25kYXJyYXlfbWVtb3J5dmlld19mcm9tX2J1ZmZlcihzZWxmKToKKyAgICAgICAgZm9yIGZsYWdzIGluICgwLCBORF9QSUwpOgorICAgICAgICAgICAgbmQgPSBuZGFycmF5KGxpc3QocmFuZ2UoMykpLCBzaGFwZT1bM10sIGZsYWdzPWZsYWdzKQorICAgICAgICAgICAgbSA9IG5kLm1lbW9yeXZpZXdfZnJvbV9idWZmZXIoKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtLCBuZCkKKworICAgIGRlZiB0ZXN0X25kYXJyYXlfZ2V0X3BvaW50ZXIoc2VsZik6CisgICAgICAgIGZvciBmbGFncyBpbiAoMCwgTkRfUElMKToKKyAgICAgICAgICAgIG5kID0gbmRhcnJheShsaXN0KHJhbmdlKDMpKSwgc2hhcGU9WzNdLCBmbGFncz1mbGFncykKKyAgICAgICAgICAgIGZvciBpIGluIHJhbmdlKDMpOgorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobmRbaV0sIGdldF9wb2ludGVyKG5kLCBbaV0pKQorCisgICAgZGVmIHRlc3RfbmRhcnJheV90b2xpc3RfbnVsbF9zdHJpZGVzKHNlbGYpOgorICAgICAgICBleCA9IG5kYXJyYXkobGlzdChyYW5nZSgyMCkpLCBzaGFwZT1bMiwyLDVdKQorCisgICAgICAgIG5kID0gbmRhcnJheShleCwgZ2V0YnVmPVB5QlVGX05EfFB5QlVGX0ZPUk1BVCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChuZC50b2xpc3QoKSwgZXgudG9saXN0KCkpCisKKyAgICAgICAgbSA9IG1lbW9yeXZpZXcoZXgpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobS50b2xpc3QoKSwgZXgudG9saXN0KCkpCisKKyAgICBkZWYgdGVzdF9uZGFycmF5X2NtcF9jb250aWcoc2VsZik6CisKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShjbXBfY29udGlnKGIiMTIzIiwgYiI0NTYiKSkKKworICAgICAgICB4ID0gbmRhcnJheShsaXN0KHJhbmdlKDEyKSksIHNoYXBlPVszLDRdKQorICAgICAgICB5ID0gbmRhcnJheShsaXN0KHJhbmdlKDEyKSksIHNoYXBlPVs0LDNdKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGNtcF9jb250aWcoeCwgeSkpCisKKyAgICAgICAgeCA9IG5kYXJyYXkoWzFdLCBzaGFwZT1bMV0sIGZvcm1hdD0iQiIpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShjbXBfY29udGlnKHgsIGInXHgwMScpKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoY21wX2NvbnRpZyhiJ1x4MDEnLCB4KSkKKworICAgIGRlZiB0ZXN0X25kYXJyYXlfaGFzaChzZWxmKToKKworICAgICAgICBhID0gYXJyYXkuYXJyYXkoJ0wnLCBbMSwyLDNdKQorICAgICAgICBuZCA9IG5kYXJyYXkoYSkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgaGFzaCwgbmQpCisKKyAgICAgICAgIyBvbmUtZGltZW5zaW9uYWwKKyAgICAgICAgYiA9IGJ5dGVzKGxpc3QocmFuZ2UoMTIpKSkKKworICAgICAgICBuZCA9IG5kYXJyYXkobGlzdChyYW5nZSgxMikpLCBzaGFwZT1bMTJdKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGhhc2gobmQpLCBoYXNoKGIpKQorCisgICAgICAgICMgQy1jb250aWd1b3VzCisgICAgICAgIG5kID0gbmRhcnJheShsaXN0KHJhbmdlKDEyKSksIHNoYXBlPVszLDRdKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGhhc2gobmQpLCBoYXNoKGIpKQorCisgICAgICAgIG5kID0gbmRhcnJheShsaXN0KHJhbmdlKDEyKSksIHNoYXBlPVszLDIsMl0pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaGFzaChuZCksIGhhc2goYikpCisKKyAgICAgICAgIyBGb3J0cmFuIGNvbnRpZ3VvdXMKKyAgICAgICAgYiA9IGJ5dGVzKHRyYW5zcG9zZShsaXN0KHJhbmdlKDEyKSksIHNoYXBlPVs0LDNdKSkKKyAgICAgICAgbmQgPSBuZGFycmF5KGxpc3QocmFuZ2UoMTIpKSwgc2hhcGU9WzMsNF0sIGZsYWdzPU5EX0ZPUlRSQU4pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaGFzaChuZCksIGhhc2goYikpCisKKyAgICAgICAgYiA9IGJ5dGVzKHRyYW5zcG9zZShsaXN0KHJhbmdlKDEyKSksIHNoYXBlPVsyLDMsMl0pKQorICAgICAgICBuZCA9IG5kYXJyYXkobGlzdChyYW5nZSgxMikpLCBzaGFwZT1bMiwzLDJdLCBmbGFncz1ORF9GT1JUUkFOKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGhhc2gobmQpLCBoYXNoKGIpKQorCisgICAgICAgICMgc3Vib2Zmc2V0cworICAgICAgICBiID0gYnl0ZXMobGlzdChyYW5nZSgxMikpKQorICAgICAgICBuZCA9IG5kYXJyYXkobGlzdChyYW5nZSgxMikpLCBzaGFwZT1bMiwyLDNdLCBmbGFncz1ORF9QSUwpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaGFzaChuZCksIGhhc2goYikpCisKKyAgICAgICAgIyBub24tYnl0ZSBmb3JtYXRzCisgICAgICAgIG5kID0gbmRhcnJheShsaXN0KHJhbmdlKDEyKSksIHNoYXBlPVsyLDIsM10sIGZvcm1hdD0nTCcpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaGFzaChuZCksIGhhc2gobmQudG9ieXRlcygpKSkKKworICAgIGRlZiB0ZXN0X21lbW9yeXZpZXdfY29uc3RydWN0aW9uKHNlbGYpOgorCisgICAgICAgIGl0ZW1zX3NoYXBlID0gWyg5LCBbXSksIChbMSwyLDNdLCBbM10pLCAobGlzdChyYW5nZSgyKjMqNSkpLCBbMiwzLDVdKV0KKworICAgICAgICAjIE51bVB5IHN0eWxlLCBDLWNvbnRpZ3VvdXM6CisgICAgICAgIGZvciBpdGVtcywgc2hhcGUgaW4gaXRlbXNfc2hhcGU6CisKKyAgICAgICAgICAgICMgRnJvbSBQRVAtMzExOCBjb21wbGlhbnQgZXhwb3J0ZXI6CisgICAgICAgICAgICBleCA9IG5kYXJyYXkoaXRlbXMsIHNoYXBlPXNoYXBlKQorICAgICAgICAgICAgbSA9IG1lbW9yeXZpZXcoZXgpCisgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUobS5jX2NvbnRpZ3VvdXMpCisgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUobS5jb250aWd1b3VzKQorCisgICAgICAgICAgICBuZGltID0gbGVuKHNoYXBlKQorICAgICAgICAgICAgc3RyaWRlcyA9IHN0cmlkZXNfZnJvbV9zaGFwZShuZGltLCBzaGFwZSwgMSwgJ0MnKQorICAgICAgICAgICAgbHN0ID0gY2FycmF5KGl0ZW1zLCBzaGFwZSkKKworICAgICAgICAgICAgc2VsZi52ZXJpZnkobSwgb2JqPWV4LAorICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXNpemU9MSwgZm10PSdCJywgcmVhZG9ubHk9MSwKKyAgICAgICAgICAgICAgICAgICAgICAgIG5kaW09bmRpbSwgc2hhcGU9c2hhcGUsIHN0cmlkZXM9c3RyaWRlcywKKyAgICAgICAgICAgICAgICAgICAgICAgIGxzdD1sc3QpCisKKyAgICAgICAgICAgICMgRnJvbSBtZW1vcnl2aWV3OgorICAgICAgICAgICAgbTIgPSBtZW1vcnl2aWV3KG0pCisgICAgICAgICAgICBzZWxmLnZlcmlmeShtMiwgb2JqPWV4LAorICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXNpemU9MSwgZm10PSdCJywgcmVhZG9ubHk9MSwKKyAgICAgICAgICAgICAgICAgICAgICAgIG5kaW09bmRpbSwgc2hhcGU9c2hhcGUsIHN0cmlkZXM9c3RyaWRlcywKKyAgICAgICAgICAgICAgICAgICAgICAgIGxzdD1sc3QpCisKKyAgICAgICAgICAgICMgUHlNZW1vcnlWaWV3X0Zyb21CdWZmZXIoKTogbm8gc3RyaWRlcworICAgICAgICAgICAgbmQgPSBuZGFycmF5KGV4LCBnZXRidWY9UHlCVUZfQ09OVElHX1JPfFB5QlVGX0ZPUk1BVCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobmQuc3RyaWRlcywgKCkpCisgICAgICAgICAgICBtID0gbmQubWVtb3J5dmlld19mcm9tX2J1ZmZlcigpCisgICAgICAgICAgICBzZWxmLnZlcmlmeShtLCBvYmo9Tm9uZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zaXplPTEsIGZtdD0nQicsIHJlYWRvbmx5PTEsCisgICAgICAgICAgICAgICAgICAgICAgICBuZGltPW5kaW0sIHNoYXBlPXNoYXBlLCBzdHJpZGVzPXN0cmlkZXMsCisgICAgICAgICAgICAgICAgICAgICAgICBsc3Q9bHN0KQorCisgICAgICAgICAgICAjIFB5TWVtb3J5Vmlld19Gcm9tQnVmZmVyKCk6IG5vIGZvcm1hdCwgc2hhcGUsIHN0cmlkZXMKKyAgICAgICAgICAgIG5kID0gbmRhcnJheShleCwgZ2V0YnVmPVB5QlVGX1NJTVBMRSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobmQuZm9ybWF0LCAnJykKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobmQuc2hhcGUsICgpKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChuZC5zdHJpZGVzLCAoKSkKKyAgICAgICAgICAgIG0gPSBuZC5tZW1vcnl2aWV3X2Zyb21fYnVmZmVyKCkKKworICAgICAgICAgICAgbHN0ID0gW2l0ZW1zXSBpZiBuZGltID09IDAgZWxzZSBpdGVtcworICAgICAgICAgICAgc2VsZi52ZXJpZnkobSwgb2JqPU5vbmUsCisgICAgICAgICAgICAgICAgICAgICAgICBpdGVtc2l6ZT0xLCBmbXQ9J0InLCByZWFkb25seT0xLAorICAgICAgICAgICAgICAgICAgICAgICAgbmRpbT0xLCBzaGFwZT1bZXgubmJ5dGVzXSwgc3RyaWRlcz0oMSwpLAorICAgICAgICAgICAgICAgICAgICAgICAgbHN0PWxzdCkKKworICAgICAgICAjIE51bVB5IHN0eWxlLCBGb3J0cmFuIGNvbnRpZ3VvdXM6CisgICAgICAgIGZvciBpdGVtcywgc2hhcGUgaW4gaXRlbXNfc2hhcGU6CisKKyAgICAgICAgICAgICMgRnJvbSBQRVAtMzExOCBjb21wbGlhbnQgZXhwb3J0ZXI6CisgICAgICAgICAgICBleCA9IG5kYXJyYXkoaXRlbXMsIHNoYXBlPXNoYXBlLCBmbGFncz1ORF9GT1JUUkFOKQorICAgICAgICAgICAgbSA9IG1lbW9yeXZpZXcoZXgpCisgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUobS5mX2NvbnRpZ3VvdXMpCisgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUobS5jb250aWd1b3VzKQorCisgICAgICAgICAgICBuZGltID0gbGVuKHNoYXBlKQorICAgICAgICAgICAgc3RyaWRlcyA9IHN0cmlkZXNfZnJvbV9zaGFwZShuZGltLCBzaGFwZSwgMSwgJ0YnKQorICAgICAgICAgICAgbHN0ID0gZmFycmF5KGl0ZW1zLCBzaGFwZSkKKworICAgICAgICAgICAgc2VsZi52ZXJpZnkobSwgb2JqPWV4LAorICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXNpemU9MSwgZm10PSdCJywgcmVhZG9ubHk9MSwKKyAgICAgICAgICAgICAgICAgICAgICAgIG5kaW09bmRpbSwgc2hhcGU9c2hhcGUsIHN0cmlkZXM9c3RyaWRlcywKKyAgICAgICAgICAgICAgICAgICAgICAgIGxzdD1sc3QpCisKKyAgICAgICAgICAgICMgRnJvbSBtZW1vcnl2aWV3OgorICAgICAgICAgICAgbTIgPSBtZW1vcnl2aWV3KG0pCisgICAgICAgICAgICBzZWxmLnZlcmlmeShtMiwgb2JqPWV4LAorICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXNpemU9MSwgZm10PSdCJywgcmVhZG9ubHk9MSwKKyAgICAgICAgICAgICAgICAgICAgICAgIG5kaW09bmRpbSwgc2hhcGU9c2hhcGUsIHN0cmlkZXM9c3RyaWRlcywKKyAgICAgICAgICAgICAgICAgICAgICAgIGxzdD1sc3QpCisKKyAgICAgICAgIyBQSUwgc3R5bGU6CisgICAgICAgIGZvciBpdGVtcywgc2hhcGUgaW4gaXRlbXNfc2hhcGVbMTpdOgorCisgICAgICAgICAgICAjIEZyb20gUEVQLTMxMTggY29tcGxpYW50IGV4cG9ydGVyOgorICAgICAgICAgICAgZXggPSBuZGFycmF5KGl0ZW1zLCBzaGFwZT1zaGFwZSwgZmxhZ3M9TkRfUElMKQorICAgICAgICAgICAgbSA9IG1lbW9yeXZpZXcoZXgpCisKKyAgICAgICAgICAgIG5kaW0gPSBsZW4oc2hhcGUpCisgICAgICAgICAgICBsc3QgPSBjYXJyYXkoaXRlbXMsIHNoYXBlKQorCisgICAgICAgICAgICBzZWxmLnZlcmlmeShtLCBvYmo9ZXgsCisgICAgICAgICAgICAgICAgICAgICAgICBpdGVtc2l6ZT0xLCBmbXQ9J0InLCByZWFkb25seT0xLAorICAgICAgICAgICAgICAgICAgICAgICAgbmRpbT1uZGltLCBzaGFwZT1zaGFwZSwgc3RyaWRlcz1leC5zdHJpZGVzLAorICAgICAgICAgICAgICAgICAgICAgICAgbHN0PWxzdCkKKworICAgICAgICAgICAgIyBGcm9tIG1lbW9yeXZpZXc6CisgICAgICAgICAgICBtMiA9IG1lbW9yeXZpZXcobSkKKyAgICAgICAgICAgIHNlbGYudmVyaWZ5KG0yLCBvYmo9ZXgsCisgICAgICAgICAgICAgICAgICAgICAgICBpdGVtc2l6ZT0xLCBmbXQ9J0InLCByZWFkb25seT0xLAorICAgICAgICAgICAgICAgICAgICAgICAgbmRpbT1uZGltLCBzaGFwZT1zaGFwZSwgc3RyaWRlcz1leC5zdHJpZGVzLAorICAgICAgICAgICAgICAgICAgICAgICAgbHN0PWxzdCkKKworICAgICAgICAjIEludmFsaWQgbnVtYmVyIG9mIGFyZ3VtZW50czoKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBtZW1vcnl2aWV3LCBiJzknLCAneCcpCisgICAgICAgICMgTm90IGEgYnVmZmVyIHByb3ZpZGVyOgorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIG1lbW9yeXZpZXcsIHt9KQorICAgICAgICAjIE5vbi1jb21wbGlhbnQgYnVmZmVyIHByb3ZpZGVyOgorICAgICAgICBleCA9IG5kYXJyYXkoWzEsMiwzXSwgc2hhcGU9WzNdKQorICAgICAgICBuZCA9IG5kYXJyYXkoZXgsIGdldGJ1Zj1QeUJVRl9TSU1QTEUpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEJ1ZmZlckVycm9yLCBtZW1vcnl2aWV3LCBuZCkKKyAgICAgICAgbmQgPSBuZGFycmF5KGV4LCBnZXRidWY9UHlCVUZfQ09OVElHX1JPfFB5QlVGX0ZPUk1BVCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoQnVmZmVyRXJyb3IsIG1lbW9yeXZpZXcsIG5kKQorCisgICAgICAgICMgbmRpbSA+IDY0CisgICAgICAgIG5kID0gbmRhcnJheShbMV0qMTI4LCBzaGFwZT1bMV0qMTI4LCBmb3JtYXQ9J0wnKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBtZW1vcnl2aWV3LCBuZCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgbmQubWVtb3J5dmlld19mcm9tX2J1ZmZlcikKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgZ2V0X2NvbnRpZ3VvdXMsIG5kLCBQeUJVRl9SRUFELCAnQycpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIGdldF9jb250aWd1b3VzLCBuZCwgUHlCVUZfUkVBRCwgJ0YnKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBnZXRfY29udGlndW91cywgbmRbOjotMV0sIFB5QlVGX1JFQUQsICdDJykKKworICAgIGRlZiB0ZXN0X21lbW9yeXZpZXdfY2FzdF96ZXJvX3NoYXBlKHNlbGYpOgorICAgICAgICAjIENhc3RzIGFyZSB1bmRlZmluZWQgaWYgc2hhcGUgY29udGFpbnMgemVyb3MuIFRoZXNlIGFycmF5cyBhcmUKKyAgICAgICAgIyByZWdhcmRlZCBhcyBDLWNvbnRpZ3VvdXMgYnkgTnVtcHkgYW5kIFB5QnVmZmVyX0dldENvbnRpZ3VvdXMoKSwKKyAgICAgICAgIyBzbyB0aGV5IGFyZSBub3QgY2F1Z2h0IGJ5IHRoZSB0ZXN0IGZvciBDLWNvbnRpZ3VpdHkgaW4gbWVtb3J5X2Nhc3QoKS4KKyAgICAgICAgaXRlbXMgPSBbMSwyLDNdCisgICAgICAgIGZvciBzaGFwZSBpbiAoWzAsMywzXSwgWzMsMCwzXSwgWzAsMywzXSk6CisgICAgICAgICAgICBleCA9IG5kYXJyYXkoaXRlbXMsIHNoYXBlPXNoYXBlKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGV4LmNfY29udGlndW91cykKKyAgICAgICAgICAgIG1zcmMgPSBtZW1vcnl2aWV3KGV4KQorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBtc3JjLmNhc3QsICdjJykKKworICAgIGRlZiB0ZXN0X21lbW9yeXZpZXdfc3RydWN0X21vZHVsZShzZWxmKToKKworICAgICAgICBjbGFzcyBJTlQob2JqZWN0KToKKyAgICAgICAgICAgIGRlZiBfX2luaXRfXyhzZWxmLCB2YWwpOgorICAgICAgICAgICAgICAgIHNlbGYudmFsID0gdmFsCisgICAgICAgICAgICBkZWYgX19pbnRfXyhzZWxmKToKKyAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi52YWwKKworICAgICAgICBjbGFzcyBJRFgob2JqZWN0KToKKyAgICAgICAgICAgIGRlZiBfX2luaXRfXyhzZWxmLCB2YWwpOgorICAgICAgICAgICAgICAgIHNlbGYudmFsID0gdmFsCisgICAgICAgICAgICBkZWYgX19pbmRleF9fKHNlbGYpOgorICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLnZhbAorCisgICAgICAgIGRlZiBmKCk6IHJldHVybiA3CisKKyAgICAgICAgdmFsdWVzID0gW0lOVCg5KSwgSURYKDkpLAorICAgICAgICAgICAgICAgICAgMi4yKzNqLCBEZWNpbWFsKCItMjEuMSIpLCAxMi4yLCBGcmFjdGlvbig1LCAyKSwKKyAgICAgICAgICAgICAgICAgIFsxLDIsM10sIHs0LDUsNn0sIHs3Ojh9LCAoKSwgKDksKSwKKyAgICAgICAgICAgICAgICAgIFRydWUsIEZhbHNlLCBOb25lLCBOb3RJbXBsZW1lbnRlZCwKKyAgICAgICAgICAgICAgICAgIGInYScsIGInYWJjJywgYnl0ZWFycmF5KGInYScpLCBieXRlYXJyYXkoYidhYmMnKSwKKyAgICAgICAgICAgICAgICAgICdhJywgJ2FiYycsIHInYScsIHInYWJjJywKKyAgICAgICAgICAgICAgICAgIGYsIGxhbWJkYSB4OiB4XQorCisgICAgICAgIGZvciBmbXQsIGl0ZW1zLCBpdGVtIGluIGl0ZXJfZm9ybWF0KDEwLCAnbWVtb3J5dmlldycpOgorICAgICAgICAgICAgZXggPSBuZGFycmF5KGl0ZW1zLCBzaGFwZT1bMTBdLCBmb3JtYXQ9Zm10LCBmbGFncz1ORF9XUklUQUJMRSkKKyAgICAgICAgICAgIG5kID0gbmRhcnJheShpdGVtcywgc2hhcGU9WzEwXSwgZm9ybWF0PWZtdCwgZmxhZ3M9TkRfV1JJVEFCTEUpCisgICAgICAgICAgICBtID0gbWVtb3J5dmlldyhleCkKKworICAgICAgICAgICAgc3RydWN0LnBhY2tfaW50byhmbXQsIG5kLCAwLCBpdGVtKQorICAgICAgICAgICAgbVswXSA9IGl0ZW0KKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobVswXSwgbmRbMF0pCisKKyAgICAgICAgICAgIGl0ZW1zaXplID0gc3RydWN0LmNhbGNzaXplKGZtdCkKKyAgICAgICAgICAgIGlmICdQJyBpbiBmbXQ6CisgICAgICAgICAgICAgICAgY29udGludWUKKworICAgICAgICAgICAgZm9yIHYgaW4gdmFsdWVzOgorICAgICAgICAgICAgICAgIHN0cnVjdF9lcnIgPSBOb25lCisgICAgICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QucGFja19pbnRvKGZtdCwgbmQsIGl0ZW1zaXplLCB2KQorICAgICAgICAgICAgICAgIGV4Y2VwdCBzdHJ1Y3QuZXJyb3I6CisgICAgICAgICAgICAgICAgICAgIHN0cnVjdF9lcnIgPSBzdHJ1Y3QuZXJyb3IKKworICAgICAgICAgICAgICAgIG12X2VyciA9IE5vbmUKKyAgICAgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgICAgIG1bMV0gPSB2CisgICAgICAgICAgICAgICAgZXhjZXB0IChUeXBlRXJyb3IsIFZhbHVlRXJyb3IpIGFzIGU6CisgICAgICAgICAgICAgICAgICAgIG12X2VyciA9IGUuX19jbGFzc19fCisKKyAgICAgICAgICAgICAgICBpZiBzdHJ1Y3RfZXJyIG9yIG12X2VycjoKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRJc05vdChzdHJ1Y3RfZXJyLCBOb25lKQorICAgICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydElzTm90KG12X2VyciwgTm9uZSkKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1bMV0sIG5kWzFdKQorCisgICAgZGVmIHRlc3RfbWVtb3J5dmlld19jYXN0X3plcm9fc3RyaWRlcyhzZWxmKToKKyAgICAgICAgIyBDYXN0cyBhcmUgdW5kZWZpbmVkIGlmIHN0cmlkZXMgY29udGFpbnMgemVyb3MuIFRoZXNlIGFycmF5cyBhcmUKKyAgICAgICAgIyAoc29tZXRpbWVzISkgcmVnYXJkZWQgYXMgQy1jb250aWd1b3VzIGJ5IE51bXB5LCBidXQgbm90IGJ5CisgICAgICAgICMgUHlCdWZmZXJfR2V0Q29udGlndW91cygpLgorICAgICAgICBleCA9IG5kYXJyYXkoWzEsMiwzXSwgc2hhcGU9WzNdLCBzdHJpZGVzPVswXSkKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShleC5jX2NvbnRpZ3VvdXMpCisgICAgICAgIG1zcmMgPSBtZW1vcnl2aWV3KGV4KQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIG1zcmMuY2FzdCwgJ2MnKQorCisgICAgZGVmIHRlc3RfbWVtb3J5dmlld19jYXN0X2ludmFsaWQoc2VsZik6CisgICAgICAgICMgaW52YWxpZCBmb3JtYXQKKyAgICAgICAgZm9yIHNmbXQgaW4gTk9OX0JZVEVfRk9STUFUOgorICAgICAgICAgICAgc2Zvcm1hdCA9ICdAJyArIHNmbXQgaWYgcmFuZHJhbmdlKDIpIGVsc2Ugc2ZtdAorICAgICAgICAgICAgc3NpemUgPSBzdHJ1Y3QuY2FsY3NpemUoc2Zvcm1hdCkKKyAgICAgICAgICAgIGZvciBkZm10IGluIE5PTl9CWVRFX0ZPUk1BVDoKKyAgICAgICAgICAgICAgICBkZm9ybWF0ID0gJ0AnICsgZGZtdCBpZiByYW5kcmFuZ2UoMikgZWxzZSBkZm10CisgICAgICAgICAgICAgICAgZHNpemUgPSBzdHJ1Y3QuY2FsY3NpemUoZGZvcm1hdCkKKyAgICAgICAgICAgICAgICBleCA9IG5kYXJyYXkobGlzdChyYW5nZSgzMikpLCBzaGFwZT1bMzIvL3NzaXplXSwgZm9ybWF0PXNmb3JtYXQpCisgICAgICAgICAgICAgICAgbXNyYyA9IG1lbW9yeXZpZXcoZXgpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBtc3JjLmNhc3QsIGRmbXQsIFszMi8vZHNpemVdKQorCisgICAgICAgIGZvciBzZm10LCBzaXRlbXMsIF8gaW4gaXRlcl9mb3JtYXQoMSk6CisgICAgICAgICAgICBleCA9IG5kYXJyYXkoc2l0ZW1zLCBzaGFwZT1bMV0sIGZvcm1hdD1zZm10KQorICAgICAgICAgICAgbXNyYyA9IG1lbW9yeXZpZXcoZXgpCisgICAgICAgICAgICBmb3IgZGZtdCwgXywgXyBpbiBpdGVyX2Zvcm1hdCgxKToKKyAgICAgICAgICAgICAgICBpZiAobm90IGlzX21lbW9yeXZpZXdfZm9ybWF0KHNmbXQpIG9yCisgICAgICAgICAgICAgICAgICAgIG5vdCBpc19tZW1vcnl2aWV3X2Zvcm1hdChkZm10KSk6CisgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIG1zcmMuY2FzdCwgZGZtdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzMyLy9kc2l6ZV0pCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgaWYgbm90IGlzX2J5dGVfZm9ybWF0KHNmbXQpIGFuZCBub3QgaXNfYnl0ZV9mb3JtYXQoZGZtdCk6CisgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIG1zcmMuY2FzdCwgZGZtdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFszMi8vZHNpemVdKQorCisgICAgICAgICMgaW52YWxpZCBzaGFwZQorICAgICAgICBzaXplX2ggPSBzdHJ1Y3QuY2FsY3NpemUoJ2gnKQorICAgICAgICBzaXplX2QgPSBzdHJ1Y3QuY2FsY3NpemUoJ2QnKQorICAgICAgICBleCA9IG5kYXJyYXkobGlzdChyYW5nZSgyKjIqc2l6ZV9kKSksIHNoYXBlPVsyLDIsc2l6ZV9kXSwgZm9ybWF0PSdoJykKKyAgICAgICAgbXNyYyA9IG1lbW9yeXZpZXcoZXgpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgbXNyYy5jYXN0LCBzaGFwZT1bMiwyLHNpemVfaF0sIGZvcm1hdD0nZCcpCisKKyAgICAgICAgZXggPSBuZGFycmF5KGxpc3QocmFuZ2UoMTIwKSksIHNoYXBlPVsxLDIsMyw0LDVdKQorICAgICAgICBtID0gbWVtb3J5dmlldyhleCkKKworICAgICAgICAjIGluY29ycmVjdCBudW1iZXIgb2YgYXJncworICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIG0uY2FzdCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBtLmNhc3QsIDEsIDIsIDMpCisKKyAgICAgICAgIyBpbmNvcnJlY3QgZGVzdCBmb3JtYXQgdHlwZQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIG0uY2FzdCwge30pCisKKyAgICAgICAgIyBpbmNvcnJlY3QgZGVzdCBmb3JtYXQKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgbS5jYXN0LCAiWCIpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIG0uY2FzdCwgIkBYIikKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgbS5jYXN0LCAiQFhZIikKKworICAgICAgICAjIGRlc3QgZm9ybWF0IG5vdCBpbXBsZW1lbnRlZAorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBtLmNhc3QsICI9QiIpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIG0uY2FzdCwgIiFMIikKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgbS5jYXN0LCAiPFAiKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBtLmNhc3QsICI+bCIpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIG0uY2FzdCwgIkJJIikKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgbS5jYXN0LCAieEJJIikKKworICAgICAgICAjIHNyYyBmb3JtYXQgbm90IGltcGxlbWVudGVkCisgICAgICAgIGV4ID0gbmRhcnJheShbKDEsMiksICgzLDQpXSwgc2hhcGU9WzJdLCBmb3JtYXQ9IklJIikKKyAgICAgICAgbSA9IG1lbW9yeXZpZXcoZXgpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE5vdEltcGxlbWVudGVkRXJyb3IsIG0uX19nZXRpdGVtX18sIDApCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE5vdEltcGxlbWVudGVkRXJyb3IsIG0uX19zZXRpdGVtX18sIDAsIDgpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE5vdEltcGxlbWVudGVkRXJyb3IsIG0udG9saXN0KQorCisgICAgICAgICMgaW5jb3JyZWN0IHNoYXBlIHR5cGUKKyAgICAgICAgZXggPSBuZGFycmF5KGxpc3QocmFuZ2UoMTIwKSksIHNoYXBlPVsxLDIsMyw0LDVdKQorICAgICAgICBtID0gbWVtb3J5dmlldyhleCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBtLmNhc3QsICJCIiwgc2hhcGU9e30pCisKKyAgICAgICAgIyBpbmNvcnJlY3Qgc2hhcGUgZWxlbWVudHMKKyAgICAgICAgZXggPSBuZGFycmF5KGxpc3QocmFuZ2UoMTIwKSksIHNoYXBlPVsyKjMqNCo1XSkKKyAgICAgICAgbSA9IG1lbW9yeXZpZXcoZXgpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE92ZXJmbG93RXJyb3IsIG0uY2FzdCwgIkIiLCBzaGFwZT1bMioqNjRdKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBtLmNhc3QsICJCIiwgc2hhcGU9Wy0xXSkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgbS5jYXN0LCAiQiIsIHNoYXBlPVsyLDMsNCw1LDYsNywtMV0pCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIG0uY2FzdCwgIkIiLCBzaGFwZT1bMiwzLDQsNSw2LDcsMF0pCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgbS5jYXN0LCAiQiIsIHNoYXBlPVsyLDMsNCw1LDYsNywneCddKQorCisgICAgICAgICMgTi1EIC0+IE4tRCBjYXN0CisgICAgICAgIGV4ID0gbmRhcnJheShsaXN0KFs5IGZvciBfIGluIHJhbmdlKDMqNSo3KjExKV0pLCBzaGFwZT1bMyw1LDcsMTFdKQorICAgICAgICBtID0gbWVtb3J5dmlldyhleCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBtLmNhc3QsICJJIiwgc2hhcGU9WzIsMyw0LDVdKQorCisgICAgICAgICMgY2FzdCB3aXRoIG5kaW0gPiA2NAorICAgICAgICBuZCA9IG5kYXJyYXkobGlzdChyYW5nZSgxMjgpKSwgc2hhcGU9WzEyOF0sIGZvcm1hdD0nSScpCisgICAgICAgIG0gPSBtZW1vcnl2aWV3KG5kKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBtLmNhc3QsICdJJywgWzFdKjEyOCkKKworICAgICAgICAjIHZpZXctPmxlbiBub3QgYSBtdWx0aXBsZSBvZiBpdGVtc2l6ZQorICAgICAgICBleCA9IG5kYXJyYXkobGlzdChbOSBmb3IgXyBpbiByYW5nZSgzKjUqNyoxMSldKSwgc2hhcGU9WzMqNSo3KjExXSkKKyAgICAgICAgbSA9IG1lbW9yeXZpZXcoZXgpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgbS5jYXN0LCAiSSIsIHNoYXBlPVsyLDMsNCw1XSkKKworICAgICAgICAjIHByb2R1Y3Qoc2hhcGUpICogaXRlbXNpemUgIT0gYnVmZmVyIHNpemUKKyAgICAgICAgZXggPSBuZGFycmF5KGxpc3QoWzkgZm9yIF8gaW4gcmFuZ2UoMyo1KjcqMTEpXSksIHNoYXBlPVszKjUqNyoxMV0pCisgICAgICAgIG0gPSBtZW1vcnl2aWV3KGV4KQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIG0uY2FzdCwgIkIiLCBzaGFwZT1bMiwzLDQsNV0pCisKKyAgICAgICAgIyBwcm9kdWN0KHNoYXBlKSAqIGl0ZW1zaXplIG92ZXJmbG93CisgICAgICAgIG5kID0gbmRhcnJheShsaXN0KHJhbmdlKDEyOCkpLCBzaGFwZT1bMTI4XSwgZm9ybWF0PSdJJykKKyAgICAgICAgbTEgPSBtZW1vcnl2aWV3KG5kKQorICAgICAgICBuZCA9IG5kYXJyYXkobGlzdChyYW5nZSgxMjgpKSwgc2hhcGU9WzEyOF0sIGZvcm1hdD0nQicpCisgICAgICAgIG0yID0gbWVtb3J5dmlldyhuZCkKKyAgICAgICAgaWYgc3lzLm1heHNpemUgPT0gMioqNjMtMToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgbTEuY2FzdCwgJ0InLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzcsIDcsIDczLCAxMjcsIDMzNywgOTI3MzcsIDY0OTY1N10pCisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBtMS5jYXN0LCAnQicsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbMioqMjAsIDIqKjIwLCAyKioxMCwgMioqMTAsIDIqKjNdKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgbTIuY2FzdCwgJ0knLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzIqKjIwLCAyKioyMCwgMioqMTAsIDIqKjEwLCAyKioxXSkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgbTEuY2FzdCwgJ0InLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzEsIDIxNDc0ODM2NDddKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgbTEuY2FzdCwgJ0InLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzIqKjEwLCAyKioxMCwgMioqNSwgMioqNSwgMioqMV0pCisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBtMi5jYXN0LCAnSScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbMioqMTAsIDIqKjEwLCAyKio1LCAyKiozLCAyKioxXSkKKworICAgIGRlZiB0ZXN0X21lbW9yeXZpZXdfY2FzdChzZWxmKToKKyAgICAgICAgYnl0ZXNwZWMgPSAoCisgICAgICAgICAgKCdCJywgbGFtYmRhIGV4OiBsaXN0KGV4LnRvYnl0ZXMoKSkpLAorICAgICAgICAgICgnYicsIGxhbWJkYSBleDogW3gtMjU2IGlmIHggPiAxMjcgZWxzZSB4IGZvciB4IGluIGxpc3QoZXgudG9ieXRlcygpKV0pLAorICAgICAgICAgICgnYycsIGxhbWJkYSBleDogW2J5dGVzKGNocih4KSwgJ2xhdGluLTEnKSBmb3IgeCBpbiBsaXN0KGV4LnRvYnl0ZXMoKSldKSwKKyAgICAgICAgKQorCisgICAgICAgIGRlZiBpdGVyX3JvdW5kdHJpcChleCwgbSwgaXRlbXMsIGZtdCk6CisgICAgICAgICAgICBzcmNzaXplID0gc3RydWN0LmNhbGNzaXplKGZtdCkKKyAgICAgICAgICAgIGZvciBieXRlZm10LCB0b19ieXRlbGlzdCBpbiBieXRlc3BlYzoKKworICAgICAgICAgICAgICAgIG0yID0gbS5jYXN0KGJ5dGVmbXQpCisgICAgICAgICAgICAgICAgbHN0ID0gdG9fYnl0ZWxpc3QoZXgpCisgICAgICAgICAgICAgICAgc2VsZi52ZXJpZnkobTIsIG9iaj1leCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtc2l6ZT0xLCBmbXQ9Ynl0ZWZtdCwgcmVhZG9ubHk9MCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZGltPTEsIHNoYXBlPVszMSpzcmNzaXplXSwgc3RyaWRlcz0oMSwpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxzdD1sc3QsIGNhc3Q9VHJ1ZSkKKworICAgICAgICAgICAgICAgIG0zID0gbTIuY2FzdChmbXQpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtMywgZXgpCisgICAgICAgICAgICAgICAgbHN0ID0gZXgudG9saXN0KCkKKyAgICAgICAgICAgICAgICBzZWxmLnZlcmlmeShtMywgb2JqPWV4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zaXplPXNyY3NpemUsIGZtdD1mbXQsIHJlYWRvbmx5PTAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmRpbT0xLCBzaGFwZT1bMzFdLCBzdHJpZGVzPShzcmNzaXplLCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbHN0PWxzdCwgY2FzdD1UcnVlKQorCisgICAgICAgICMgY2FzdCBmcm9tIG5kaW0gPSAwIHRvIG5kaW0gPSAxCisgICAgICAgIHNyY3NpemUgPSBzdHJ1Y3QuY2FsY3NpemUoJ0knKQorICAgICAgICBleCA9IG5kYXJyYXkoOSwgc2hhcGU9W10sIGZvcm1hdD0nSScpCisgICAgICAgIGRlc3RpdGVtcywgZGVzdHNoYXBlID0gY2FzdF9pdGVtcyhleCwgJ0InLCAxKQorICAgICAgICBtID0gbWVtb3J5dmlldyhleCkKKyAgICAgICAgbTIgPSBtLmNhc3QoJ0InKQorICAgICAgICBzZWxmLnZlcmlmeShtMiwgb2JqPWV4LAorICAgICAgICAgICAgICAgICAgICBpdGVtc2l6ZT0xLCBmbXQ9J0InLCByZWFkb25seT0xLAorICAgICAgICAgICAgICAgICAgICBuZGltPTEsIHNoYXBlPWRlc3RzaGFwZSwgc3RyaWRlcz0oMSwpLAorICAgICAgICAgICAgICAgICAgICBsc3Q9ZGVzdGl0ZW1zLCBjYXN0PVRydWUpCisKKyAgICAgICAgIyBjYXN0IGZyb20gbmRpbSA9IDEgdG8gbmRpbSA9IDAKKyAgICAgICAgZGVzdHNpemUgPSBzdHJ1Y3QuY2FsY3NpemUoJ0knKQorICAgICAgICBleCA9IG5kYXJyYXkoWzldKmRlc3RzaXplLCBzaGFwZT1bZGVzdHNpemVdLCBmb3JtYXQ9J0InKQorICAgICAgICBkZXN0aXRlbXMsIGRlc3RzaGFwZSA9IGNhc3RfaXRlbXMoZXgsICdJJywgZGVzdHNpemUsIHNoYXBlPVtdKQorICAgICAgICBtID0gbWVtb3J5dmlldyhleCkKKyAgICAgICAgbTIgPSBtLmNhc3QoJ0knLCBzaGFwZT1bXSkKKyAgICAgICAgc2VsZi52ZXJpZnkobTIsIG9iaj1leCwKKyAgICAgICAgICAgICAgICAgICAgaXRlbXNpemU9ZGVzdHNpemUsIGZtdD0nSScsIHJlYWRvbmx5PTEsCisgICAgICAgICAgICAgICAgICAgIG5kaW09MCwgc2hhcGU9KCksIHN0cmlkZXM9KCksCisgICAgICAgICAgICAgICAgICAgIGxzdD1kZXN0aXRlbXMsIGNhc3Q9VHJ1ZSkKKworICAgICAgICAjIGFycmF5LmFycmF5OiByb3VuZHRyaXAgdG8vZnJvbSBieXRlcworICAgICAgICBmb3IgZm10LCBpdGVtcywgXyBpbiBpdGVyX2Zvcm1hdCgzMSwgJ2FycmF5Jyk6CisgICAgICAgICAgICBleCA9IGFycmF5LmFycmF5KGZtdCwgaXRlbXMpCisgICAgICAgICAgICBtID0gbWVtb3J5dmlldyhleCkKKyAgICAgICAgICAgIGl0ZXJfcm91bmR0cmlwKGV4LCBtLCBpdGVtcywgZm10KQorCisgICAgICAgICMgbmRhcnJheTogcm91bmR0cmlwIHRvL2Zyb20gYnl0ZXMKKyAgICAgICAgZm9yIGZtdCwgaXRlbXMsIF8gaW4gaXRlcl9mb3JtYXQoMzEsICdtZW1vcnl2aWV3Jyk6CisgICAgICAgICAgICBleCA9IG5kYXJyYXkoaXRlbXMsIHNoYXBlPVszMV0sIGZvcm1hdD1mbXQsIGZsYWdzPU5EX1dSSVRBQkxFKQorICAgICAgICAgICAgbSA9IG1lbW9yeXZpZXcoZXgpCisgICAgICAgICAgICBpdGVyX3JvdW5kdHJpcChleCwgbSwgaXRlbXMsIGZtdCkKKworICAgIGRlZiB0ZXN0X21lbW9yeXZpZXdfY2FzdF8xRF9ORChzZWxmKToKKyAgICAgICAgIyBDYXN0IGJldHdlZW4gQy1jb250aWd1b3VzIGJ1ZmZlcnMuIEF0IGxlYXN0IG9uZSBidWZmZXIgbXVzdAorICAgICAgICAjIGJlIDFELCBhdCBsZWFzdCBvbmUgZm9ybWF0IG11c3QgYmUgJ2MnLCAnYicgb3IgJ0InLgorICAgICAgICBmb3IgX3RzaGFwZSBpbiBnZW5jYXN0c2hhcGVzKCk6CisgICAgICAgICAgICBmb3IgY2hhciBpbiBmbXRkaWN0WydAJ106CisgICAgICAgICAgICAgICAgdGZtdCA9ICgnJywgJ0AnKVtyYW5kcmFuZ2UoMildICsgY2hhcgorICAgICAgICAgICAgICAgIHRzaXplID0gc3RydWN0LmNhbGNzaXplKHRmbXQpCisgICAgICAgICAgICAgICAgbiA9IHByb2QoX3RzaGFwZSkgKiB0c2l6ZQorICAgICAgICAgICAgICAgIG9iaiA9ICdtZW1vcnl2aWV3JyBpZiBpc19ieXRlX2Zvcm1hdCh0Zm10KSBlbHNlICdieXRlZm10JworICAgICAgICAgICAgICAgIGZvciBmbXQsIGl0ZW1zLCBfIGluIGl0ZXJfZm9ybWF0KG4sIG9iaik6CisgICAgICAgICAgICAgICAgICAgIHNpemUgPSBzdHJ1Y3QuY2FsY3NpemUoZm10KQorICAgICAgICAgICAgICAgICAgICBzaGFwZSA9IFtuXSBpZiBuID4gMCBlbHNlIFtdCisgICAgICAgICAgICAgICAgICAgIHRzaGFwZSA9IF90c2hhcGUgKyBbc2l6ZV0KKworICAgICAgICAgICAgICAgICAgICBleCA9IG5kYXJyYXkoaXRlbXMsIHNoYXBlPXNoYXBlLCBmb3JtYXQ9Zm10KQorICAgICAgICAgICAgICAgICAgICBtID0gbWVtb3J5dmlldyhleCkKKworICAgICAgICAgICAgICAgICAgICB0aXRlbXMsIHRzaGFwZSA9IGNhc3RfaXRlbXMoZXgsIHRmbXQsIHRzaXplLCBzaGFwZT10c2hhcGUpCisKKyAgICAgICAgICAgICAgICAgICAgaWYgdGl0ZW1zIGlzIE5vbmU6CisgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIG0uY2FzdCwgdGZtdCwgdHNoYXBlKQorICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgICAgICAgICAgICAgaWYgdGl0ZW1zID09ICduYW4nOgorICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWUgIyBOYU5zIGluIGxpc3RzIGFyZSBhIHJlY2lwZSBmb3IgdHJvdWJsZS4KKworICAgICAgICAgICAgICAgICAgICAjIDFEIC0+IE5ECisgICAgICAgICAgICAgICAgICAgIG5kID0gbmRhcnJheSh0aXRlbXMsIHNoYXBlPXRzaGFwZSwgZm9ybWF0PXRmbXQpCisKKyAgICAgICAgICAgICAgICAgICAgbTIgPSBtLmNhc3QodGZtdCwgc2hhcGU9dHNoYXBlKQorICAgICAgICAgICAgICAgICAgICBuZGltID0gbGVuKHRzaGFwZSkKKyAgICAgICAgICAgICAgICAgICAgc3RyaWRlcyA9IG5kLnN0cmlkZXMKKyAgICAgICAgICAgICAgICAgICAgbHN0ID0gbmQudG9saXN0KCkKKyAgICAgICAgICAgICAgICAgICAgc2VsZi52ZXJpZnkobTIsIG9iaj1leCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXNpemU9dHNpemUsIGZtdD10Zm10LCByZWFkb25seT0xLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZGltPW5kaW0sIHNoYXBlPXRzaGFwZSwgc3RyaWRlcz1zdHJpZGVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsc3Q9bHN0LCBjYXN0PVRydWUpCisKKyAgICAgICAgICAgICAgICAgICAgIyBORCAtPiAxRAorICAgICAgICAgICAgICAgICAgICBtMyA9IG0yLmNhc3QoZm10KQorICAgICAgICAgICAgICAgICAgICBtNCA9IG0yLmNhc3QoZm10LCBzaGFwZT1zaGFwZSkKKyAgICAgICAgICAgICAgICAgICAgbmRpbSA9IGxlbihzaGFwZSkKKyAgICAgICAgICAgICAgICAgICAgc3RyaWRlcyA9IGV4LnN0cmlkZXMKKyAgICAgICAgICAgICAgICAgICAgbHN0ID0gZXgudG9saXN0KCkKKworICAgICAgICAgICAgICAgICAgICBzZWxmLnZlcmlmeShtMywgb2JqPWV4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtc2l6ZT1zaXplLCBmbXQ9Zm10LCByZWFkb25seT0xLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZGltPW5kaW0sIHNoYXBlPXNoYXBlLCBzdHJpZGVzPXN0cmlkZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxzdD1sc3QsIGNhc3Q9VHJ1ZSkKKworICAgICAgICAgICAgICAgICAgICBzZWxmLnZlcmlmeShtNCwgb2JqPWV4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtc2l6ZT1zaXplLCBmbXQ9Zm10LCByZWFkb25seT0xLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZGltPW5kaW0sIHNoYXBlPXNoYXBlLCBzdHJpZGVzPXN0cmlkZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxzdD1sc3QsIGNhc3Q9VHJ1ZSkKKworICAgIGRlZiB0ZXN0X21lbW9yeXZpZXdfdG9saXN0KHNlbGYpOgorCisgICAgICAgICMgTW9zdCB0b2xpc3QoKSB0ZXN0cyBhcmUgaW4gc2VsZi52ZXJpZnkoKSBldGMuCisKKyAgICAgICAgYSA9IGFycmF5LmFycmF5KCdoJywgbGlzdChyYW5nZSgtNiwgNikpKQorICAgICAgICBtID0gbWVtb3J5dmlldyhhKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG0sIGEpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobS50b2xpc3QoKSwgYS50b2xpc3QoKSkKKworICAgICAgICBhID0gYVsyOjozXQorICAgICAgICBtID0gbVsyOjozXQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG0sIGEpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobS50b2xpc3QoKSwgYS50b2xpc3QoKSkKKworICAgICAgICBleCA9IG5kYXJyYXkobGlzdChyYW5nZSgyKjMqNSo3KjExKSksIHNoYXBlPVsxMSwyLDcsMyw1XSwgZm9ybWF0PSdMJykKKyAgICAgICAgbSA9IG1lbW9yeXZpZXcoZXgpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobS50b2xpc3QoKSwgZXgudG9saXN0KCkpCisKKyAgICAgICAgZXggPSBuZGFycmF5KFsoMiwgNSksICg3LCAxMSldLCBzaGFwZT1bMl0sIGZvcm1hdD0nbGgnKQorICAgICAgICBtID0gbWVtb3J5dmlldyhleCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoTm90SW1wbGVtZW50ZWRFcnJvciwgbS50b2xpc3QpCisKKyAgICAgICAgZXggPSBuZGFycmF5KFtiJzEyMzQ1J10sIHNoYXBlPVsxXSwgZm9ybWF0PSJzIikKKyAgICAgICAgbSA9IG1lbW9yeXZpZXcoZXgpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE5vdEltcGxlbWVudGVkRXJyb3IsIG0udG9saXN0KQorCisgICAgICAgIGV4ID0gbmRhcnJheShbYiJhIixiImIiLGIiYyIsYiJkIixiImUiLGIiZiJdLCBzaGFwZT1bMiwzXSwgZm9ybWF0PSdzJykKKyAgICAgICAgbSA9IG1lbW9yeXZpZXcoZXgpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE5vdEltcGxlbWVudGVkRXJyb3IsIG0udG9saXN0KQorCisgICAgZGVmIHRlc3RfbWVtb3J5dmlld19yZXByKHNlbGYpOgorICAgICAgICBtID0gbWVtb3J5dmlldyhieXRlYXJyYXkoOSkpCisgICAgICAgIHIgPSBtLl9fcmVwcl9fKCkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHIuc3RhcnRzd2l0aCgiPG1lbW9yeSIpKQorCisgICAgICAgIG0ucmVsZWFzZSgpCisgICAgICAgIHIgPSBtLl9fcmVwcl9fKCkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHIuc3RhcnRzd2l0aCgiPHJlbGVhc2VkIikpCisKKyAgICBkZWYgdGVzdF9tZW1vcnl2aWV3X3NlcXVlbmNlKHNlbGYpOgorCisgICAgICAgIGZvciBmbXQgaW4gKCdkJywgJ2YnKToKKyAgICAgICAgICAgIGluZiA9IGZsb2F0KDNlNDAwKQorICAgICAgICAgICAgZXggPSBhcnJheS5hcnJheShmbXQsIFsxLjAsIGluZiwgMy4wXSkKKyAgICAgICAgICAgIG0gPSBtZW1vcnl2aWV3KGV4KQorICAgICAgICAgICAgc2VsZi5hc3NlcnRJbigxLjAsIG0pCisgICAgICAgICAgICBzZWxmLmFzc2VydEluKDVlNzAwLCBtKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRJbigzLjAsIG0pCisKKyAgICAgICAgZXggPSBuZGFycmF5KDkuMCwgW10sIGZvcm1hdD0nZicpCisgICAgICAgIG0gPSBtZW1vcnl2aWV3KGV4KQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGV2YWwsICI5LjAgaW4gbSIsIGxvY2FscygpKQorCisgICAgZGVmIHRlc3RfbWVtb3J5dmlld19pbmRleChzZWxmKToKKworICAgICAgICAjIG5kaW0gPSAwCisgICAgICAgIGV4ID0gbmRhcnJheSgxMi41LCBzaGFwZT1bXSwgZm9ybWF0PSdkJykKKyAgICAgICAgbSA9IG1lbW9yeXZpZXcoZXgpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobVsoKV0sIDEyLjUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobVsuLi5dLCBtKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1bLi4uXSwgZXgpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgbS5fX2dldGl0ZW1fXywgMCkKKworICAgICAgICBleCA9IG5kYXJyYXkoKDEsMiwzKSwgc2hhcGU9W10sIGZvcm1hdD0naWlpJykKKyAgICAgICAgbSA9IG1lbW9yeXZpZXcoZXgpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE5vdEltcGxlbWVudGVkRXJyb3IsIG0uX19nZXRpdGVtX18sICgpKQorCisgICAgICAgICMgcmFuZ2UKKyAgICAgICAgZXggPSBuZGFycmF5KGxpc3QocmFuZ2UoNykpLCBzaGFwZT1bN10sIGZsYWdzPU5EX1dSSVRBQkxFKQorICAgICAgICBtID0gbWVtb3J5dmlldyhleCkKKworICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhJbmRleEVycm9yLCBtLl9fZ2V0aXRlbV9fLCAyKio2NCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBtLl9fZ2V0aXRlbV9fLCAyLjApCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgbS5fX2dldGl0ZW1fXywgMC4wKQorCisgICAgICAgICMgb3V0IG9mIGJvdW5kcworICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhJbmRleEVycm9yLCBtLl9fZ2V0aXRlbV9fLCAtOCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoSW5kZXhFcnJvciwgbS5fX2dldGl0ZW1fXywgOCkKKworICAgICAgICAjIE5vdCBpbXBsZW1lbnRlZDogbXVsdGlkaW1lbnNpb25hbCBzdWItdmlld3MKKyAgICAgICAgZXggPSBuZGFycmF5KGxpc3QocmFuZ2UoMTIpKSwgc2hhcGU9WzMsNF0sIGZsYWdzPU5EX1dSSVRBQkxFKQorICAgICAgICBtID0gbWVtb3J5dmlldyhleCkKKworICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhOb3RJbXBsZW1lbnRlZEVycm9yLCBtLl9fZ2V0aXRlbV9fLCAwKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhOb3RJbXBsZW1lbnRlZEVycm9yLCBtLl9fc2V0aXRlbV9fLCAwLCA5KQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhOb3RJbXBsZW1lbnRlZEVycm9yLCBtLl9fZ2V0aXRlbV9fLCAwKQorCisgICAgZGVmIHRlc3RfbWVtb3J5dmlld19hc3NpZ24oc2VsZik6CisKKyAgICAgICAgIyBuZGltID0gMAorICAgICAgICBleCA9IG5kYXJyYXkoMTIuNSwgc2hhcGU9W10sIGZvcm1hdD0nZicsIGZsYWdzPU5EX1dSSVRBQkxFKQorICAgICAgICBtID0gbWVtb3J5dmlldyhleCkKKyAgICAgICAgbVsoKV0gPSAyMi41CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobVsoKV0sIDIyLjUpCisgICAgICAgIG1bLi4uXSA9IDIzLjUKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtWygpXSwgMjMuNSkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBtLl9fc2V0aXRlbV9fLCAwLCAyNC43KQorCisgICAgICAgICMgcmVhZC1vbmx5CisgICAgICAgIGV4ID0gbmRhcnJheShsaXN0KHJhbmdlKDcpKSwgc2hhcGU9WzddKQorICAgICAgICBtID0gbWVtb3J5dmlldyhleCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBtLl9fc2V0aXRlbV9fLCAyLCAxMCkKKworICAgICAgICAjIHJhbmdlCisgICAgICAgIGV4ID0gbmRhcnJheShsaXN0KHJhbmdlKDcpKSwgc2hhcGU9WzddLCBmbGFncz1ORF9XUklUQUJMRSkKKyAgICAgICAgbSA9IG1lbW9yeXZpZXcoZXgpCisKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoSW5kZXhFcnJvciwgbS5fX3NldGl0ZW1fXywgMioqNjQsIDkpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgbS5fX3NldGl0ZW1fXywgMi4wLCAxMCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBtLl9fc2V0aXRlbV9fLCAwLjAsIDExKQorCisgICAgICAgICMgb3V0IG9mIGJvdW5kcworICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhJbmRleEVycm9yLCBtLl9fc2V0aXRlbV9fLCAtOCwgMjApCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEluZGV4RXJyb3IsIG0uX19zZXRpdGVtX18sIDgsIDI1KQorCisgICAgICAgICMgcGFja19zaW5nbGUoKSBzdWNjZXNzOgorICAgICAgICBmb3IgZm10IGluIGZtdGRpY3RbJ0AnXToKKyAgICAgICAgICAgIGlmIGZtdCA9PSAnYycgb3IgZm10ID09ICc/JzoKKyAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgZXggPSBuZGFycmF5KFsxLDIsM10sIHNoYXBlPVszXSwgZm9ybWF0PWZtdCwgZmxhZ3M9TkRfV1JJVEFCTEUpCisgICAgICAgICAgICBtID0gbWVtb3J5dmlldyhleCkKKyAgICAgICAgICAgIGkgPSByYW5kcmFuZ2UoLTMsIDMpCisgICAgICAgICAgICBtW2ldID0gOAorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtW2ldLCA4KQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtW2ldLCBleFtpXSkKKworICAgICAgICBleCA9IG5kYXJyYXkoW2InMScsIGInMicsIGInMyddLCBzaGFwZT1bM10sIGZvcm1hdD0nYycsCisgICAgICAgICAgICAgICAgICAgICBmbGFncz1ORF9XUklUQUJMRSkKKyAgICAgICAgbSA9IG1lbW9yeXZpZXcoZXgpCisgICAgICAgIG1bMl0gPSBiJzknCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobVsyXSwgYic5JykKKworICAgICAgICBleCA9IG5kYXJyYXkoW1RydWUsIEZhbHNlLCBUcnVlXSwgc2hhcGU9WzNdLCBmb3JtYXQ9Jz8nLAorICAgICAgICAgICAgICAgICAgICAgZmxhZ3M9TkRfV1JJVEFCTEUpCisgICAgICAgIG0gPSBtZW1vcnl2aWV3KGV4KQorICAgICAgICBtWzFdID0gVHJ1ZQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1bMV0sIFRydWUpCisKKyAgICAgICAgIyBwYWNrX3NpbmdsZSgpIGV4Y2VwdGlvbnM6CisgICAgICAgIG5kID0gbmRhcnJheShbYid4J10sIHNoYXBlPVsxXSwgZm9ybWF0PSdjJywgZmxhZ3M9TkRfV1JJVEFCTEUpCisgICAgICAgIG0gPSBtZW1vcnl2aWV3KG5kKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIG0uX19zZXRpdGVtX18sIDAsIDEwMCkKKworICAgICAgICBleCA9IG5kYXJyYXkobGlzdChyYW5nZSgxMjApKSwgc2hhcGU9WzEsMiwzLDQsNV0sIGZsYWdzPU5EX1dSSVRBQkxFKQorICAgICAgICBtMSA9IG1lbW9yeXZpZXcoZXgpCisKKyAgICAgICAgZm9yIGZtdCwgX3JhbmdlIGluIGZtdGRpY3RbJ0AnXS5pdGVtcygpOgorICAgICAgICAgICAgaWYgKGZtdCA9PSAnPycpOiAjIFB5T2JqZWN0X0lzVHJ1ZSgpIGFjY2VwdHMgYW55dGhpbmcKKyAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgaWYgZm10ID09ICdjJzogIyBzcGVjaWFsIGNhc2UgdGVzdGVkIGFib3ZlCisgICAgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgICAgIG0yID0gbTEuY2FzdChmbXQpCisgICAgICAgICAgICBsbywgaGkgPSBfcmFuZ2UKKyAgICAgICAgICAgIGlmIGZtdCA9PSAnZCcgb3IgZm10ID09ICdmJzoKKyAgICAgICAgICAgICAgICBsbywgaGkgPSAtMioqMTAyNCwgMioqMTAyNAorICAgICAgICAgICAgaWYgZm10ICE9ICdQJzogIyBQeUxvbmdfQXNWb2lkUHRyKCkgYWNjZXB0cyBuZWdhdGl2ZSBudW1iZXJzCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgbTIuX19zZXRpdGVtX18sIDAsIGxvLTEpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBtMi5fX3NldGl0ZW1fXywgMCwgInh5eiIpCisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBtMi5fX3NldGl0ZW1fXywgMCwgaGkpCisKKyAgICAgICAgIyBpbnZhbGlkIGl0ZW0KKyAgICAgICAgbTIgPSBtMS5jYXN0KCdjJykKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgbTIuX19zZXRpdGVtX18sIDAsIGInXHhmZlx4ZmYnKQorCisgICAgICAgICMgZm9ybWF0IG5vdCBpbXBsZW1lbnRlZAorICAgICAgICBleCA9IG5kYXJyYXkobGlzdChyYW5nZSgxKSksIHNoYXBlPVsxXSwgZm9ybWF0PSJ4TCIsIGZsYWdzPU5EX1dSSVRBQkxFKQorICAgICAgICBtID0gbWVtb3J5dmlldyhleCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoTm90SW1wbGVtZW50ZWRFcnJvciwgbS5fX3NldGl0ZW1fXywgMCwgMSkKKworICAgICAgICBleCA9IG5kYXJyYXkoW2InMTIzNDUnXSwgc2hhcGU9WzFdLCBmb3JtYXQ9InMiLCBmbGFncz1ORF9XUklUQUJMRSkKKyAgICAgICAgbSA9IG1lbW9yeXZpZXcoZXgpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE5vdEltcGxlbWVudGVkRXJyb3IsIG0uX19zZXRpdGVtX18sIDAsIDEpCisKKyAgICAgICAgIyBOb3QgaW1wbGVtZW50ZWQ6IG11bHRpZGltZW5zaW9uYWwgc3ViLXZpZXdzCisgICAgICAgIGV4ID0gbmRhcnJheShsaXN0KHJhbmdlKDEyKSksIHNoYXBlPVszLDRdLCBmbGFncz1ORF9XUklUQUJMRSkKKyAgICAgICAgbSA9IG1lbW9yeXZpZXcoZXgpCisKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoTm90SW1wbGVtZW50ZWRFcnJvciwgbS5fX3NldGl0ZW1fXywgMCwgWzIsIDNdKQorCisgICAgZGVmIHRlc3RfbWVtb3J5dmlld19zbGljZShzZWxmKToKKworICAgICAgICBleCA9IG5kYXJyYXkobGlzdChyYW5nZSgxMikpLCBzaGFwZT1bMTJdLCBmbGFncz1ORF9XUklUQUJMRSkKKyAgICAgICAgbSA9IG1lbW9yeXZpZXcoZXgpCisKKyAgICAgICAgIyB6ZXJvIHN0ZXAKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgbS5fX2dldGl0ZW1fXywgc2xpY2UoMCwyLDApKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBtLl9fc2V0aXRlbV9fLCBzbGljZSgwLDIsMCksCisgICAgICAgICAgICAgICAgICAgICAgICAgIGJ5dGVhcnJheShbMSwyXSkpCisKKyAgICAgICAgIyBpbnZhbGlkIHNsaWNlIGtleQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIG0uX19nZXRpdGVtX18sICgpKQorCisgICAgICAgICMgbXVsdGlkaW1lbnNpb25hbCBzbGljZXMKKyAgICAgICAgZXggPSBuZGFycmF5KGxpc3QocmFuZ2UoMTIpKSwgc2hhcGU9WzEyXSwgZmxhZ3M9TkRfV1JJVEFCTEUpCisgICAgICAgIG0gPSBtZW1vcnl2aWV3KGV4KQorCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE5vdEltcGxlbWVudGVkRXJyb3IsIG0uX19nZXRpdGVtX18sCisgICAgICAgICAgICAgICAgICAgICAgICAgIChzbGljZSgwLDIsMSksIHNsaWNlKDAsMiwxKSkpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE5vdEltcGxlbWVudGVkRXJyb3IsIG0uX19zZXRpdGVtX18sCisgICAgICAgICAgICAgICAgICAgICAgICAgIChzbGljZSgwLDIsMSksIHNsaWNlKDAsMiwxKSksIGJ5dGVhcnJheShbMSwyXSkpCisKKyAgICAgICAgIyBpbnZhbGlkIHNsaWNlIHR1cGxlCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgbS5fX2dldGl0ZW1fXywgKHNsaWNlKDAsMiwxKSwge30pKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIG0uX19zZXRpdGVtX18sIChzbGljZSgwLDIsMSksIHt9KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgYnl0ZWFycmF5KFsxLDJdKSkKKworICAgICAgICAjIHJ2YWx1ZSBpcyBub3QgYW4gZXhwb3J0ZXIKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBtLl9fc2V0aXRlbV9fLCBzbGljZSgwLDEsMSksIFsxXSkKKworICAgICAgICAjIG5vbi1jb250aWd1b3VzIHNsaWNlIGFzc2lnbm1lbnQKKyAgICAgICAgZm9yIGZsYWdzIGluICgwLCBORF9QSUwpOgorICAgICAgICAgICAgZXgxID0gbmRhcnJheShsaXN0KHJhbmdlKDEyKSksIHNoYXBlPVsxMl0sIHN0cmlkZXM9Wy0xXSwgb2Zmc2V0PTExLAorICAgICAgICAgICAgICAgICAgICAgICAgICBmbGFncz1ORF9XUklUQUJMRXxmbGFncykKKyAgICAgICAgICAgIGV4MiA9IG5kYXJyYXkobGlzdChyYW5nZSgyNCkpLCBzaGFwZT1bMTJdLCBzdHJpZGVzPVsyXSwgZmxhZ3M9ZmxhZ3MpCisgICAgICAgICAgICBtMSA9IG1lbW9yeXZpZXcoZXgxKQorICAgICAgICAgICAgbTIgPSBtZW1vcnl2aWV3KGV4MikKKworICAgICAgICAgICAgZXgxWzI6NV0gPSBleDFbMjo1XQorICAgICAgICAgICAgbTFbMjo1XSA9IG0yWzI6NV0KKworICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtMSwgZXgxKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtMiwgZXgyKQorCisgICAgICAgICAgICBleDFbMTozXVs6Oi0xXSA9IGV4MlswOjJdWzo6MV0KKyAgICAgICAgICAgIG0xWzE6M11bOjotMV0gPSBtMlswOjJdWzo6MV0KKworICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtMSwgZXgxKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtMiwgZXgyKQorCisgICAgICAgICAgICBleDFbNDoxOi0yXVs6Oi0xXSA9IGV4MVsxOjQ6Ml1bOjoxXQorICAgICAgICAgICAgbTFbNDoxOi0yXVs6Oi0xXSA9IG0xWzE6NDoyXVs6OjFdCisKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobTEsIGV4MSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobTIsIGV4MikKKworICAgIGRlZiB0ZXN0X21lbW9yeXZpZXdfYXJyYXkoc2VsZik6CisKKyAgICAgICAgZGVmIGNtcHRlc3QodGVzdGNhc2UsIGEsIGIsIG0sIHNpbmdsZWl0ZW0pOgorICAgICAgICAgICAgZm9yIGksIF8gaW4gZW51bWVyYXRlKGEpOgorICAgICAgICAgICAgICAgIGFpID0gYVtpXQorICAgICAgICAgICAgICAgIG1pID0gbVtpXQorICAgICAgICAgICAgICAgIHRlc3RjYXNlLmFzc2VydEVxdWFsKGFpLCBtaSkKKyAgICAgICAgICAgICAgICBhW2ldID0gc2luZ2xlaXRlbQorICAgICAgICAgICAgICAgIGlmIHNpbmdsZWl0ZW0gIT0gYWk6CisgICAgICAgICAgICAgICAgICAgIHRlc3RjYXNlLmFzc2VydE5vdEVxdWFsKGEsIG0pCisgICAgICAgICAgICAgICAgICAgIHRlc3RjYXNlLmFzc2VydE5vdEVxdWFsKGEsIGIpCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgdGVzdGNhc2UuYXNzZXJ0RXF1YWwoYSwgbSkKKyAgICAgICAgICAgICAgICAgICAgdGVzdGNhc2UuYXNzZXJ0RXF1YWwoYSwgYikKKyAgICAgICAgICAgICAgICBtW2ldID0gc2luZ2xlaXRlbQorICAgICAgICAgICAgICAgIHRlc3RjYXNlLmFzc2VydEVxdWFsKGEsIG0pCisgICAgICAgICAgICAgICAgdGVzdGNhc2UuYXNzZXJ0RXF1YWwoYiwgbSkKKyAgICAgICAgICAgICAgICBhW2ldID0gYWkKKyAgICAgICAgICAgICAgICBtW2ldID0gbWkKKworICAgICAgICBmb3IgbiBpbiByYW5nZSgxLCA1KToKKyAgICAgICAgICAgIGZvciBmbXQsIGl0ZW1zLCBzaW5nbGVpdGVtIGluIGl0ZXJfZm9ybWF0KG4sICdhcnJheScpOgorICAgICAgICAgICAgICAgIGZvciBsc2xpY2UgaW4gZ2Vuc2xpY2VzKG4pOgorICAgICAgICAgICAgICAgICAgICBmb3IgcnNsaWNlIGluIGdlbnNsaWNlcyhuKToKKworICAgICAgICAgICAgICAgICAgICAgICAgYSA9IGFycmF5LmFycmF5KGZtdCwgaXRlbXMpCisgICAgICAgICAgICAgICAgICAgICAgICBiID0gYXJyYXkuYXJyYXkoZm10LCBpdGVtcykKKyAgICAgICAgICAgICAgICAgICAgICAgIG0gPSBtZW1vcnl2aWV3KGIpCisKKyAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobSwgYSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobS50b2xpc3QoKSwgYS50b2xpc3QoKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobS50b2J5dGVzKCksIGEudG9ieXRlcygpKQorICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4obSksIGxlbihhKSkKKworICAgICAgICAgICAgICAgICAgICAgICAgY21wdGVzdChzZWxmLCBhLCBiLCBtLCBzaW5nbGVpdGVtKQorCisgICAgICAgICAgICAgICAgICAgICAgICBhcnJheV9lcnIgPSBOb25lCisgICAgICAgICAgICAgICAgICAgICAgICBoYXZlX3Jlc2l6ZSA9IE5vbmUKKyAgICAgICAgICAgICAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbCA9IGFbbHNsaWNlXQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyID0gYVtyc2xpY2VdCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYVtsc2xpY2VdID0gYVtyc2xpY2VdCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGF2ZV9yZXNpemUgPSBsZW4oYWwpICE9IGxlbihhcikKKyAgICAgICAgICAgICAgICAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcnJheV9lcnIgPSBlLl9fY2xhc3NfXworCisgICAgICAgICAgICAgICAgICAgICAgICBtX2VyciA9IE5vbmUKKyAgICAgICAgICAgICAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBtW2xzbGljZV0gPSBtW3JzbGljZV0KKyAgICAgICAgICAgICAgICAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBtX2VyciA9IGUuX19jbGFzc19fCisKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIGhhdmVfcmVzaXplOiAjIG1lbW9yeXZpZXcgY2Fubm90IGNoYW5nZSBzaGFwZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXMobV9lcnIsIFZhbHVlRXJyb3IpCisgICAgICAgICAgICAgICAgICAgICAgICBlbGlmIG1fZXJyIG9yIGFycmF5X2VycjoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydElzKG1fZXJyLCBhcnJheV9lcnIpCisgICAgICAgICAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobSwgYSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG0udG9saXN0KCksIGEudG9saXN0KCkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtLnRvYnl0ZXMoKSwgYS50b2J5dGVzKCkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY21wdGVzdChzZWxmLCBhLCBiLCBtLCBzaW5nbGVpdGVtKQorCisgICAgZGVmIHRlc3RfbWVtb3J5dmlld19jb21wYXJlKHNlbGYpOgorCisgICAgICAgIGEgPSBhcnJheS5hcnJheSgnTCcsIFsxLCAyLCAzXSkKKyAgICAgICAgYiA9IGFycmF5LmFycmF5KCdMJywgWzEsIDIsIDddKQorCisgICAgICAgICMgT3JkZXJpbmcgY29tcGFyaXNvbnMgcmFpc2U6CisgICAgICAgIHYgPSBtZW1vcnl2aWV3KGEpCisgICAgICAgIHcgPSBtZW1vcnl2aWV3KGIpCisgICAgICAgIGZvciBhdHRyIGluICgnX19sdF9fJywgJ19fbGVfXycsICdfX2d0X18nLCAnX19nZV9fJyk6CisgICAgICAgICAgICBzZWxmLmFzc2VydElzKGdldGF0dHIodiwgYXR0cikodyksIE5vdEltcGxlbWVudGVkKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRJcyhnZXRhdHRyKGEsIGF0dHIpKHYpLCBOb3RJbXBsZW1lbnRlZCkKKworICAgICAgICAjIFJlbGVhc2VkIHZpZXdzIGNvbXBhcmUgZXF1YWwgdG8gdGhlbXNlbHZlczoKKyAgICAgICAgdiA9IG1lbW9yeXZpZXcoYSkKKyAgICAgICAgdi5yZWxlYXNlKCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh2LCB2KQorICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKHYsIGEpCisgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwoYSwgdikKKworICAgICAgICB2ID0gbWVtb3J5dmlldyhhKQorICAgICAgICB3ID0gbWVtb3J5dmlldyhhKQorICAgICAgICB3LnJlbGVhc2UoKQorICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKHYsIHcpCisgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwodywgdikKKworICAgICAgICAjIE9wZXJhbmQgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBidWZmZXIgcHJvdG9jb2w6CisgICAgICAgIHYgPSBtZW1vcnl2aWV3KGEpCisgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwodiwgWzEsIDIsIDNdKQorCisgICAgICAgICMgRGlmZmVyZW50IGZvcm1hdHM6CisgICAgICAgIGMgPSBhcnJheS5hcnJheSgnbCcsIFsxLCAyLCAzXSkKKyAgICAgICAgdiA9IG1lbW9yeXZpZXcoYSkKKyAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbCh2LCBjKQorICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKGMsIHYpCisKKyAgICAgICAgIyBOb3QgaW1wbGVtZW50ZWQgZm9ybWF0cy4gVWdseSwgYnV0IGluZXZpdGFibGUuIFRoaXMgaXMgdGhlIHNhbWUgYXMKKyAgICAgICAgIyBpc3N1ZSAjMjUzMTogZXF1YWxpdHkgaXMgYWxzbyB1c2VkIGZvciBtZW1iZXJzaGlwIHRlc3RpbmcgYW5kIG11c3QKKyAgICAgICAgIyByZXR1cm4gYSByZXN1bHQuCisgICAgICAgIGEgPSBuZGFycmF5KFsoMSwgMS41KSwgKDIsIDIuNyldLCBzaGFwZT1bMl0sIGZvcm1hdD0nbGQnKQorICAgICAgICB2ID0gbWVtb3J5dmlldyhhKQorICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKHYsIGEpCisgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwoYSwgdikKKworICAgICAgICBhID0gbmRhcnJheShbYicxMjM0NSddLCBzaGFwZT1bMV0sIGZvcm1hdD0icyIpCisgICAgICAgIHYgPSBtZW1vcnl2aWV3KGEpCisgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwodiwgYSkKKyAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbChhLCB2KQorCisgICAgICAgIG5kID0gbmRhcnJheShbKDEsMSwxKSwgKDIsMiwyKSwgKDMsMywzKV0sIHNoYXBlPVszXSwgZm9ybWF0PSdpaWknKQorICAgICAgICB2ID0gbWVtb3J5dmlldyhuZCkKKyAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbCh2LCBuZCkKKyAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbChuZCwgdikKKworICAgICAgICAjICdAJyBwcmVmaXggY2FuIGJlIGRyb3BwZWQ6CisgICAgICAgIG5kMSA9IG5kYXJyYXkoWzEsMiwzXSwgc2hhcGU9WzNdLCBmb3JtYXQ9J0BpJykKKyAgICAgICAgbmQyID0gbmRhcnJheShbMSwyLDNdLCBzaGFwZT1bM10sIGZvcm1hdD0naScpCisgICAgICAgIHYgPSBtZW1vcnl2aWV3KG5kMSkKKyAgICAgICAgdyA9IG1lbW9yeXZpZXcobmQyKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHYsIHcpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodywgdikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh2LCBuZDIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobmQyLCB2KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHcsIG5kMSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChuZDEsIHcpCisKKyAgICAgICAgIyBuZGltID0gMAorICAgICAgICBuZDEgPSBuZGFycmF5KDE3MjksIHNoYXBlPVtdLCBmb3JtYXQ9J0BMJykKKyAgICAgICAgbmQyID0gbmRhcnJheSgxNzI5LCBzaGFwZT1bXSwgZm9ybWF0PSdMJywgZmxhZ3M9TkRfV1JJVEFCTEUpCisgICAgICAgIHYgPSBtZW1vcnl2aWV3KG5kMSkKKyAgICAgICAgdyA9IG1lbW9yeXZpZXcobmQyKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHYsIHcpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodywgdikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh2LCBuZDIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobmQyLCB2KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHcsIG5kMSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChuZDEsIHcpCisKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZSh2Ll9fbmVfXyh3KSkKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZSh3Ll9fbmVfXyh2KSkKKworICAgICAgICB3WygpXSA9IDE3MjgKKyAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbCh2LCB3KQorICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKHcsIHYpCisgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwodiwgbmQyKQorICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKG5kMiwgdikKKyAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbCh3LCBuZDEpCisgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwobmQxLCB3KQorCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2Uodi5fX2VxX18odykpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2Uody5fX2VxX18odikpCisKKyAgICAgICAgbmQgPSBuZGFycmF5KGxpc3QocmFuZ2UoMTIpKSwgc2hhcGU9WzEyXSwgZmxhZ3M9TkRfV1JJVEFCTEV8TkRfUElMKQorICAgICAgICBleCA9IG5kYXJyYXkobGlzdChyYW5nZSgxMikpLCBzaGFwZT1bMTJdLCBmbGFncz1ORF9XUklUQUJMRXxORF9QSUwpCisgICAgICAgIG0gPSBtZW1vcnl2aWV3KGV4KQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobSwgbmQpCisgICAgICAgIG1bOV0gPSAxMDAKKyAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbChtLCBuZCkKKworICAgICAgICAjIG5kaW0gPSAxOiBjb250aWd1b3VzCisgICAgICAgIG5kMSA9IG5kYXJyYXkoWy01MjksIDU3NiwgLTYyNSwgNjc2LCAtNzI5XSwgc2hhcGU9WzVdLCBmb3JtYXQ9J0BoJykKKyAgICAgICAgbmQyID0gbmRhcnJheShbLTUyOSwgNTc2LCAtNjI1LCA2NzYsIDcyOV0sIHNoYXBlPVs1XSwgZm9ybWF0PSdAaCcpCisgICAgICAgIHYgPSBtZW1vcnl2aWV3KG5kMSkKKyAgICAgICAgdyA9IG1lbW9yeXZpZXcobmQyKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodiwgbmQxKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHcsIG5kMikKKyAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbCh2LCBuZDIpCisgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwodywgbmQxKQorICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKHYsIHcpCisKKyAgICAgICAgIyBuZGltID0gMTogbm9uLWNvbnRpZ3VvdXMKKyAgICAgICAgbmQxID0gbmRhcnJheShbLTUyOSwgLTYyNSwgLTcyOV0sIHNoYXBlPVszXSwgZm9ybWF0PSdAaCcpCisgICAgICAgIG5kMiA9IG5kYXJyYXkoWy01MjksIDU3NiwgLTYyNSwgNjc2LCAtNzI5XSwgc2hhcGU9WzVdLCBmb3JtYXQ9J0BoJykKKyAgICAgICAgdiA9IG1lbW9yeXZpZXcobmQxKQorICAgICAgICB3ID0gbWVtb3J5dmlldyhuZDIpCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh2LCBuZDJbOjoyXSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh3Wzo6Ml0sIG5kMSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh2LCB3Wzo6Ml0pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodls6Oi0xXSwgd1s6Oi0yXSkKKworICAgICAgICAjIG5kaW0gPSAxOiBub24tY29udGlndW91cywgc3Vib2Zmc2V0cworICAgICAgICBuZDEgPSBuZGFycmF5KFstNTI5LCAtNjI1LCAtNzI5XSwgc2hhcGU9WzNdLCBmb3JtYXQ9J0BoJykKKyAgICAgICAgbmQyID0gbmRhcnJheShbLTUyOSwgNTc2LCAtNjI1LCA2NzYsIC03MjldLCBzaGFwZT1bNV0sIGZvcm1hdD0nQGgnLAorICAgICAgICAgICAgICAgICAgICAgIGZsYWdzPU5EX1BJTCkKKyAgICAgICAgdiA9IG1lbW9yeXZpZXcobmQxKQorICAgICAgICB3ID0gbWVtb3J5dmlldyhuZDIpCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh2LCBuZDJbOjoyXSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh3Wzo6Ml0sIG5kMSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh2LCB3Wzo6Ml0pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodls6Oi0xXSwgd1s6Oi0yXSkKKworICAgICAgICAjIG5kaW0gPSAxOiB6ZXJvcyBpbiBzaGFwZQorICAgICAgICBuZDEgPSBuZGFycmF5KFs5MDAsIDk2MV0sIHNoYXBlPVswXSwgZm9ybWF0PSdAaCcpCisgICAgICAgIG5kMiA9IG5kYXJyYXkoWy05MDAsIC05NjFdLCBzaGFwZT1bMF0sIGZvcm1hdD0nQGgnKQorICAgICAgICB2ID0gbWVtb3J5dmlldyhuZDEpCisgICAgICAgIHcgPSBtZW1vcnl2aWV3KG5kMikKKworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHYsIG5kMSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh3LCBuZDIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodiwgbmQyKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHcsIG5kMSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh2LCB3KQorCisgICAgICAgICMgbmRpbSA9IDE6IHplcm8gc3RyaWRlcworICAgICAgICBuZDEgPSBuZGFycmF5KFs5MDAsIDkwMCwgOTAwLCA5MDBdLCBzaGFwZT1bNF0sIGZvcm1hdD0nQEwnKQorICAgICAgICBuZDIgPSBuZGFycmF5KFs5MDBdLCBzaGFwZT1bNF0sIHN0cmlkZXM9WzBdLCBmb3JtYXQ9J0wnKQorICAgICAgICB2ID0gbWVtb3J5dmlldyhuZDEpCisgICAgICAgIHcgPSBtZW1vcnl2aWV3KG5kMikKKworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHYsIG5kMSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh3LCBuZDIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodiwgbmQyKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHcsIG5kMSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh2LCB3KQorCisgICAgICAgIG4gPSAxMAorICAgICAgICBmb3IgY2hhciBpbiBmbXRkaWN0WydAbSddOgorICAgICAgICAgICAgZm10LCBpdGVtcywgc2luZ2xlaXRlbSA9IHJhbmRpdGVtcyhuLCAnbWVtb3J5dmlldycsICdAJywgY2hhcikKKyAgICAgICAgICAgIGZvciBmbGFncyBpbiAoMCwgTkRfUElMKToKKyAgICAgICAgICAgICAgICBuZCA9IG5kYXJyYXkoaXRlbXMsIHNoYXBlPVtuXSwgZm9ybWF0PWZtdCwgZmxhZ3M9ZmxhZ3MpCisgICAgICAgICAgICAgICAgbSA9IG1lbW9yeXZpZXcobmQpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtLCBuZCkKKworICAgICAgICAgICAgICAgIG5kID0gbmRbOjotM10KKyAgICAgICAgICAgICAgICBtID0gbWVtb3J5dmlldyhuZCkKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG0sIG5kKQorCisgICAgICAgICMjIyMjIG5kaW0gPiAxOiBDLWNvbnRpZ3VvdXMKKyAgICAgICAgIyBkaWZmZXJlbnQgdmFsdWVzCisgICAgICAgIG5kMSA9IG5kYXJyYXkobGlzdChyYW5nZSgtMTUsIDE1KSksIHNoYXBlPVszLCAyLCA1XSwgZm9ybWF0PSdAaCcpCisgICAgICAgIG5kMiA9IG5kYXJyYXkobGlzdChyYW5nZSgwLCAzMCkpLCBzaGFwZT1bMywgMiwgNV0sIGZvcm1hdD0nQGgnKQorICAgICAgICB2ID0gbWVtb3J5dmlldyhuZDEpCisgICAgICAgIHcgPSBtZW1vcnl2aWV3KG5kMikKKworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHYsIG5kMSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh3LCBuZDIpCisgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwodiwgbmQyKQorICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKHcsIG5kMSkKKyAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbCh2LCB3KQorCisgICAgICAgICMgZGlmZmVyZW50IHNoYXBlCisgICAgICAgIG5kMSA9IG5kYXJyYXkobGlzdChyYW5nZSgzMCkpLCBzaGFwZT1bMiwgMywgNV0sIGZvcm1hdD0nTCcpCisgICAgICAgIG5kMiA9IG5kYXJyYXkobGlzdChyYW5nZSgzMCkpLCBzaGFwZT1bMywgMiwgNV0sIGZvcm1hdD0nTCcpCisgICAgICAgIHYgPSBtZW1vcnl2aWV3KG5kMSkKKyAgICAgICAgdyA9IG1lbW9yeXZpZXcobmQyKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodiwgbmQxKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHcsIG5kMikKKyAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbCh2LCBuZDIpCisgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwodywgbmQxKQorICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKHYsIHcpCisKKyAgICAgICAgIyBkaWZmZXJlbnQgZm9ybWF0CisgICAgICAgIG5kMSA9IG5kYXJyYXkobGlzdChyYW5nZSgzMCkpLCBzaGFwZT1bMiwgMywgNV0sIGZvcm1hdD0nTCcpCisgICAgICAgIG5kMiA9IG5kYXJyYXkobGlzdChyYW5nZSgzMCkpLCBzaGFwZT1bMiwgMywgNV0sIGZvcm1hdD0nbCcpCisgICAgICAgIHYgPSBtZW1vcnl2aWV3KG5kMSkKKyAgICAgICAgdyA9IG1lbW9yeXZpZXcobmQyKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodiwgbmQxKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHcsIG5kMikKKyAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbCh2LCBuZDIpCisgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwodywgbmQxKQorICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKHYsIHcpCisKKyAgICAgICAgIyMjIyMgbmRpbSA+IDE6IEZvcnRyYW4gY29udGlndW91cworICAgICAgICAjIGRpZmZlcmVudCB2YWx1ZXMKKyAgICAgICAgbmQxID0gbmRhcnJheShsaXN0KHJhbmdlKC0xNSwgMTUpKSwgc2hhcGU9WzUsIDIsIDNdLCBmb3JtYXQ9J0BoJywKKyAgICAgICAgICAgICAgICAgICAgICBmbGFncz1ORF9GT1JUUkFOKQorICAgICAgICBuZDIgPSBuZGFycmF5KGxpc3QocmFuZ2UoMCwgMzApKSwgc2hhcGU9WzUsIDIsIDNdLCBmb3JtYXQ9J0BoJywKKyAgICAgICAgICAgICAgICAgICAgICBmbGFncz1ORF9GT1JUUkFOKQorICAgICAgICB2ID0gbWVtb3J5dmlldyhuZDEpCisgICAgICAgIHcgPSBtZW1vcnl2aWV3KG5kMikKKworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHYsIG5kMSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh3LCBuZDIpCisgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwodiwgbmQyKQorICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKHcsIG5kMSkKKyAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbCh2LCB3KQorCisgICAgICAgICMgZGlmZmVyZW50IHNoYXBlCisgICAgICAgIG5kMSA9IG5kYXJyYXkobGlzdChyYW5nZSgtMTUsIDE1KSksIHNoYXBlPVsyLCAzLCA1XSwgZm9ybWF0PSdsJywKKyAgICAgICAgICAgICAgICAgICAgICBmbGFncz1ORF9GT1JUUkFOKQorICAgICAgICBuZDIgPSBuZGFycmF5KGxpc3QocmFuZ2UoLTE1LCAxNSkpLCBzaGFwZT1bMywgMiwgNV0sIGZvcm1hdD0nbCcsCisgICAgICAgICAgICAgICAgICAgICAgZmxhZ3M9TkRfRk9SVFJBTikKKyAgICAgICAgdiA9IG1lbW9yeXZpZXcobmQxKQorICAgICAgICB3ID0gbWVtb3J5dmlldyhuZDIpCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh2LCBuZDEpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodywgbmQyKQorICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKHYsIG5kMikKKyAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbCh3LCBuZDEpCisgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwodiwgdykKKworICAgICAgICAjIGRpZmZlcmVudCBmb3JtYXQKKyAgICAgICAgbmQxID0gbmRhcnJheShsaXN0KHJhbmdlKDMwKSksIHNoYXBlPVs1LCAyLCAzXSwgZm9ybWF0PSdAaCcsCisgICAgICAgICAgICAgICAgICAgICAgZmxhZ3M9TkRfRk9SVFJBTikKKyAgICAgICAgbmQyID0gbmRhcnJheShsaXN0KHJhbmdlKDMwKSksIHNoYXBlPVs1LCAyLCAzXSwgZm9ybWF0PSdAYicsCisgICAgICAgICAgICAgICAgICAgICAgZmxhZ3M9TkRfRk9SVFJBTikKKyAgICAgICAgdiA9IG1lbW9yeXZpZXcobmQxKQorICAgICAgICB3ID0gbWVtb3J5dmlldyhuZDIpCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh2LCBuZDEpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodywgbmQyKQorICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKHYsIG5kMikKKyAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbCh3LCBuZDEpCisgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwodiwgdykKKworICAgICAgICAjIyMjIyBuZGltID4gMTogbWl4ZWQgQy9Gb3J0cmFuIGNvbnRpZ3VvdXMKKyAgICAgICAgbHN0MSA9IGxpc3QocmFuZ2UoLTE1LCAxNSkpCisgICAgICAgIGxzdDIgPSB0cmFuc3Bvc2UobHN0MSwgWzMsIDIsIDVdKQorICAgICAgICBuZDEgPSBuZGFycmF5KGxzdDEsIHNoYXBlPVszLCAyLCA1XSwgZm9ybWF0PSdAbCcpCisgICAgICAgIG5kMiA9IG5kYXJyYXkobHN0Miwgc2hhcGU9WzMsIDIsIDVdLCBmb3JtYXQ9J2wnLCBmbGFncz1ORF9GT1JUUkFOKQorICAgICAgICB2ID0gbWVtb3J5dmlldyhuZDEpCisgICAgICAgIHcgPSBtZW1vcnl2aWV3KG5kMikKKworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHYsIG5kMSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh3LCBuZDIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodiwgdykKKworICAgICAgICAjIyMjIyBuZGltID4gMTogbm9uLWNvbnRpZ3VvdXMKKyAgICAgICAgIyBkaWZmZXJlbnQgdmFsdWVzCisgICAgICAgIGV4MSA9IG5kYXJyYXkobGlzdChyYW5nZSg0MCkpLCBzaGFwZT1bNSwgOF0sIGZvcm1hdD0nQEknKQorICAgICAgICBuZDEgPSBleDFbMzoxOi0xLCA6Oi0yXQorICAgICAgICBleDIgPSBuZGFycmF5KGxpc3QocmFuZ2UoNDApKSwgc2hhcGU9WzUsIDhdLCBmb3JtYXQ9J0knKQorICAgICAgICBuZDIgPSBleDJbMTozOjEsIDo6LTJdCisgICAgICAgIHYgPSBtZW1vcnl2aWV3KG5kMSkKKyAgICAgICAgdyA9IG1lbW9yeXZpZXcobmQyKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodiwgbmQxKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHcsIG5kMikKKyAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbCh2LCBuZDIpCisgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwodywgbmQxKQorICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKHYsIHcpCisKKyAgICAgICAgIyBkaWZmZXJlbnQgc2hhcGUKKyAgICAgICAgZXgxID0gbmRhcnJheShsaXN0KHJhbmdlKDMwKSksIHNoYXBlPVsyLCAzLCA1XSwgZm9ybWF0PSdiJykKKyAgICAgICAgbmQxID0gZXgxWzE6MzosIDo6LTJdCisgICAgICAgIG5kMiA9IG5kYXJyYXkobGlzdChyYW5nZSgzMCkpLCBzaGFwZT1bMywgMiwgNV0sIGZvcm1hdD0nYicpCisgICAgICAgIG5kMiA9IGV4MlsxOjM6LCA6Oi0yXQorICAgICAgICB2ID0gbWVtb3J5dmlldyhuZDEpCisgICAgICAgIHcgPSBtZW1vcnl2aWV3KG5kMikKKworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHYsIG5kMSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh3LCBuZDIpCisgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwodiwgbmQyKQorICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKHcsIG5kMSkKKyAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbCh2LCB3KQorCisgICAgICAgICMgZGlmZmVyZW50IGZvcm1hdAorICAgICAgICBleDEgPSBuZGFycmF5KGxpc3QocmFuZ2UoMzApKSwgc2hhcGU9WzUsIDMsIDJdLCBmb3JtYXQ9J2knKQorICAgICAgICBuZDEgPSBleDFbMTozOiwgOjotMl0KKyAgICAgICAgbmQyID0gbmRhcnJheShsaXN0KHJhbmdlKDMwKSksIHNoYXBlPVs1LCAzLCAyXSwgZm9ybWF0PSdASScpCisgICAgICAgIG5kMiA9IGV4MlsxOjM6LCA6Oi0yXQorICAgICAgICB2ID0gbWVtb3J5dmlldyhuZDEpCisgICAgICAgIHcgPSBtZW1vcnl2aWV3KG5kMikKKworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHYsIG5kMSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh3LCBuZDIpCisgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwodiwgbmQyKQorICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKHcsIG5kMSkKKyAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbCh2LCB3KQorCisgICAgICAgICMjIyMjIG5kaW0gPiAxOiB6ZXJvcyBpbiBzaGFwZQorICAgICAgICBuZDEgPSBuZGFycmF5KGxpc3QocmFuZ2UoMzApKSwgc2hhcGU9WzAsIDMsIDJdLCBmb3JtYXQ9J2knKQorICAgICAgICBuZDIgPSBuZGFycmF5KGxpc3QocmFuZ2UoMzApKSwgc2hhcGU9WzUsIDAsIDJdLCBmb3JtYXQ9J0BpJykKKyAgICAgICAgdiA9IG1lbW9yeXZpZXcobmQxKQorICAgICAgICB3ID0gbWVtb3J5dmlldyhuZDIpCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh2LCBuZDEpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodywgbmQyKQorICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKHYsIG5kMikKKyAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbCh3LCBuZDEpCisgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwodiwgdykKKworICAgICAgICAjIG5kaW0gPiAxOiB6ZXJvIHN0cmlkZXMKKyAgICAgICAgbmQxID0gbmRhcnJheShbOTAwXSo4MCwgc2hhcGU9WzQsIDUsIDRdLCBmb3JtYXQ9J0BMJykKKyAgICAgICAgbmQyID0gbmRhcnJheShbOTAwXSwgc2hhcGU9WzQsIDUsIDRdLCBzdHJpZGVzPVswLCAwLCAwXSwgZm9ybWF0PSdMJykKKyAgICAgICAgdiA9IG1lbW9yeXZpZXcobmQxKQorICAgICAgICB3ID0gbWVtb3J5dmlldyhuZDIpCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh2LCBuZDEpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodywgbmQyKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHYsIG5kMikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh3LCBuZDEpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodiwgdykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh2LnRvbGlzdCgpLCB3LnRvbGlzdCgpKQorCisgICAgICAgICMjIyMjIG5kaW0gPiAxOiBzdWJvZmZzZXRzCisgICAgICAgIGV4MSA9IG5kYXJyYXkobGlzdChyYW5nZSg0MCkpLCBzaGFwZT1bNSwgOF0sIGZvcm1hdD0nQEknKQorICAgICAgICBuZDEgPSBleDFbMzoxOi0xLCA6Oi0yXQorICAgICAgICBleDIgPSBuZGFycmF5KGxpc3QocmFuZ2UoNDApKSwgc2hhcGU9WzUsIDhdLCBmb3JtYXQ9J0knLCBmbGFncz1ORF9QSUwpCisgICAgICAgIG5kMiA9IGV4MlsxOjM6MSwgOjotMl0KKyAgICAgICAgdiA9IG1lbW9yeXZpZXcobmQxKQorICAgICAgICB3ID0gbWVtb3J5dmlldyhuZDIpCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh2LCBuZDEpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodywgbmQyKQorICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKHYsIG5kMikKKyAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbCh3LCBuZDEpCisgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwodiwgdykKKworICAgICAgICAjIGRpZmZlcmVudCBzaGFwZQorICAgICAgICBleDEgPSBuZGFycmF5KGxpc3QocmFuZ2UoMzApKSwgc2hhcGU9WzIsIDMsIDVdLCBmb3JtYXQ9J2InLCBmbGFncz1ORF9QSUwpCisgICAgICAgIG5kMSA9IGV4MVsxOjM6LCA6Oi0yXQorICAgICAgICBuZDIgPSBuZGFycmF5KGxpc3QocmFuZ2UoMzApKSwgc2hhcGU9WzMsIDIsIDVdLCBmb3JtYXQ9J2InKQorICAgICAgICBuZDIgPSBleDJbMTozOiwgOjotMl0KKyAgICAgICAgdiA9IG1lbW9yeXZpZXcobmQxKQorICAgICAgICB3ID0gbWVtb3J5dmlldyhuZDIpCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh2LCBuZDEpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodywgbmQyKQorICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKHYsIG5kMikKKyAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbCh3LCBuZDEpCisgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwodiwgdykKKworICAgICAgICAjIGRpZmZlcmVudCBmb3JtYXQKKyAgICAgICAgZXgxID0gbmRhcnJheShsaXN0KHJhbmdlKDMwKSksIHNoYXBlPVs1LCAzLCAyXSwgZm9ybWF0PSdpJywgZmxhZ3M9TkRfUElMKQorICAgICAgICBuZDEgPSBleDFbMTozOiwgOjotMl0KKyAgICAgICAgbmQyID0gbmRhcnJheShsaXN0KHJhbmdlKDMwKSksIHNoYXBlPVs1LCAzLCAyXSwgZm9ybWF0PSdASScsIGZsYWdzPU5EX1BJTCkKKyAgICAgICAgbmQyID0gZXgyWzE6MzosIDo6LTJdCisgICAgICAgIHYgPSBtZW1vcnl2aWV3KG5kMSkKKyAgICAgICAgdyA9IG1lbW9yeXZpZXcobmQyKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodiwgbmQxKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHcsIG5kMikKKyAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbCh2LCBuZDIpCisgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwodywgbmQxKQorICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKHYsIHcpCisKKyAgICAgICAgIyBpbml0aWFsaXplIG1peGVkIEMvRm9ydHJhbiArIHN1Ym9mZnNldHMKKyAgICAgICAgbHN0MSA9IGxpc3QocmFuZ2UoLTE1LCAxNSkpCisgICAgICAgIGxzdDIgPSB0cmFuc3Bvc2UobHN0MSwgWzMsIDIsIDVdKQorICAgICAgICBuZDEgPSBuZGFycmF5KGxzdDEsIHNoYXBlPVszLCAyLCA1XSwgZm9ybWF0PSdAbCcsIGZsYWdzPU5EX1BJTCkKKyAgICAgICAgbmQyID0gbmRhcnJheShsc3QyLCBzaGFwZT1bMywgMiwgNV0sIGZvcm1hdD0nbCcsIGZsYWdzPU5EX0ZPUlRSQU58TkRfUElMKQorICAgICAgICB2ID0gbWVtb3J5dmlldyhuZDEpCisgICAgICAgIHcgPSBtZW1vcnl2aWV3KG5kMikKKworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHYsIG5kMSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh3LCBuZDIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodiwgdykKKworICAgIGRlZiB0ZXN0X21lbW9yeXZpZXdfY2hlY2tfcmVsZWFzZWQoc2VsZik6CisKKyAgICAgICAgYSA9IGFycmF5LmFycmF5KCdkJywgWzEuMSwgMi4yLCAzLjNdKQorCisgICAgICAgIG0gPSBtZW1vcnl2aWV3KGEpCisgICAgICAgIG0ucmVsZWFzZSgpCisKKyAgICAgICAgIyBQeU1lbW9yeVZpZXdfRnJvbU9iamVjdCgpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIG1lbW9yeXZpZXcsIG0pCisgICAgICAgICMgbWVtb3J5dmlldy5jYXN0KCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgbS5jYXN0LCAnYycpCisgICAgICAgICMgZ2V0YnVmZmVyKCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgbmRhcnJheSwgbSkKKyAgICAgICAgIyBtZW1vcnl2aWV3LnRvbGlzdCgpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIG0udG9saXN0KQorICAgICAgICAjIG1lbW9yeXZpZXcudG9ieXRlcygpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIG0udG9ieXRlcykKKyAgICAgICAgIyBzZXF1ZW5jZQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBldmFsLCAiMS4wIGluIG0iLCBsb2NhbHMoKSkKKyAgICAgICAgIyBzdWJzY3JpcHQKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgbS5fX2dldGl0ZW1fXywgMCkKKyAgICAgICAgIyBhc3NpZ25tZW50CisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIG0uX19zZXRpdGVtX18sIDAsIDEpCisKKyAgICAgICAgZm9yIGF0dHIgaW4gKCdvYmonLCAnbmJ5dGVzJywgJ3JlYWRvbmx5JywgJ2l0ZW1zaXplJywgJ2Zvcm1hdCcsICduZGltJywKKyAgICAgICAgICAgICAgICAgICAgICdzaGFwZScsICdzdHJpZGVzJywgJ3N1Ym9mZnNldHMnLCAnY19jb250aWd1b3VzJywKKyAgICAgICAgICAgICAgICAgICAgICdmX2NvbnRpZ3VvdXMnLCAnY29udGlndW91cycpOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgbS5fX2dldGF0dHJpYnV0ZV9fLCBhdHRyKQorCisgICAgICAgICMgcmljaGNvbXBhcmUKKyAgICAgICAgYiA9IGFycmF5LmFycmF5KCdkJywgWzEuMSwgMi4yLCAzLjNdKQorICAgICAgICBtMSA9IG1lbW9yeXZpZXcoYSkKKyAgICAgICAgbTIgPSBtZW1vcnl2aWV3KGIpCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtMSwgbTIpCisgICAgICAgIG0xLnJlbGVhc2UoKQorICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKG0xLCBtMikKKyAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbChtMSwgYSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtMSwgbTEpCisKKyAgICBkZWYgdGVzdF9tZW1vcnl2aWV3X3RvYnl0ZXMoc2VsZik6CisgICAgICAgICMgTWFueSBpbXBsaWNpdCB0ZXN0cyBhcmUgYWxyZWFkeSBpbiBzZWxmLnZlcmlmeSgpLgorCisgICAgICAgIG5kID0gbmRhcnJheShbLTUyOSwgNTc2LCAtNjI1LCA2NzYsIC03MjldLCBzaGFwZT1bNV0sIGZvcm1hdD0nQGgnKQorCisgICAgICAgIG0gPSBtZW1vcnl2aWV3KG5kKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG0udG9ieXRlcygpLCBuZC50b2J5dGVzKCkpCisKKyAgICBkZWYgdGVzdF9tZW1vcnl2aWV3X2dldF9jb250aWd1b3VzKHNlbGYpOgorICAgICAgICAjIE1hbnkgaW1wbGljaXQgdGVzdHMgYXJlIGFscmVhZHkgaW4gc2VsZi52ZXJpZnkoKS4KKworICAgICAgICAjIG5vIGJ1ZmZlciBpbnRlcmZhY2UKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBnZXRfY29udGlndW91cywge30sIFB5QlVGX1JFQUQsICdGJykKKworICAgICAgICAjIHdyaXRhYmxlIHJlcXVlc3QgdG8gcmVhZC1vbmx5IG9iamVjdAorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhCdWZmZXJFcnJvciwgZ2V0X2NvbnRpZ3VvdXMsIGIneCcsIFB5QlVGX1dSSVRFLCAnQycpCisKKyAgICAgICAgIyB3cml0YWJsZSByZXF1ZXN0IHRvIG5vbi1jb250aWd1b3VzIG9iamVjdAorICAgICAgICBuZCA9IG5kYXJyYXkoWzEsIDIsIDNdLCBzaGFwZT1bMl0sIHN0cmlkZXM9WzJdKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhCdWZmZXJFcnJvciwgZ2V0X2NvbnRpZ3VvdXMsIG5kLCBQeUJVRl9XUklURSwgJ0EnKQorCisgICAgICAgICMgc2NhbGFyLCByZWFkLW9ubHkgcmVxdWVzdCBmcm9tIHJlYWQtb25seSBleHBvcnRlcgorICAgICAgICBuZCA9IG5kYXJyYXkoOSwgc2hhcGU9KCksIGZvcm1hdD0iTCIpCisgICAgICAgIGZvciBvcmRlciBpbiBbJ0MnLCAnRicsICdBJ106CisgICAgICAgICAgICBtID0gZ2V0X2NvbnRpZ3VvdXMobmQsIFB5QlVGX1JFQUQsIG9yZGVyKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtLCBuZCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobVsoKV0sIDkpCisKKyAgICAgICAgIyBzY2FsYXIsIHJlYWQtb25seSByZXF1ZXN0IGZyb20gd3JpdGFibGUgZXhwb3J0ZXIKKyAgICAgICAgbmQgPSBuZGFycmF5KDksIHNoYXBlPSgpLCBmb3JtYXQ9IkwiLCBmbGFncz1ORF9XUklUQUJMRSkKKyAgICAgICAgZm9yIG9yZGVyIGluIFsnQycsICdGJywgJ0EnXToKKyAgICAgICAgICAgIG0gPSBnZXRfY29udGlndW91cyhuZCwgUHlCVUZfUkVBRCwgb3JkZXIpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG0sIG5kKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtWygpXSwgOSkKKworICAgICAgICAjIHNjYWxhciwgd3JpdGFibGUgcmVxdWVzdAorICAgICAgICBmb3Igb3JkZXIgaW4gWydDJywgJ0YnLCAnQSddOgorICAgICAgICAgICAgbmRbKCldID0gOQorICAgICAgICAgICAgbSA9IGdldF9jb250aWd1b3VzKG5kLCBQeUJVRl9XUklURSwgb3JkZXIpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG0sIG5kKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtWygpXSwgOSkKKworICAgICAgICAgICAgbVsoKV0gPSAxMAorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtWygpXSwgMTApCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG5kWygpXSwgMTApCisKKyAgICAgICAgIyB6ZXJvcyBpbiBzaGFwZQorICAgICAgICBuZCA9IG5kYXJyYXkoWzFdLCBzaGFwZT1bMF0sIGZvcm1hdD0iTCIsIGZsYWdzPU5EX1dSSVRBQkxFKQorICAgICAgICBmb3Igb3JkZXIgaW4gWydDJywgJ0YnLCAnQSddOgorICAgICAgICAgICAgbSA9IGdldF9jb250aWd1b3VzKG5kLCBQeUJVRl9SRUFELCBvcmRlcikKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEluZGV4RXJyb3IsIG0uX19nZXRpdGVtX18sIDApCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG0sIG5kKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtLnRvbGlzdCgpLCBbXSkKKworICAgICAgICBuZCA9IG5kYXJyYXkobGlzdChyYW5nZSg4KSksIHNoYXBlPVsyLCAwLCA3XSwgZm9ybWF0PSJMIiwKKyAgICAgICAgICAgICAgICAgICAgIGZsYWdzPU5EX1dSSVRBQkxFKQorICAgICAgICBmb3Igb3JkZXIgaW4gWydDJywgJ0YnLCAnQSddOgorICAgICAgICAgICAgbSA9IGdldF9jb250aWd1b3VzKG5kLCBQeUJVRl9SRUFELCBvcmRlcikKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobmRhcnJheShtKS50b2xpc3QoKSwgW1tdLCBbXV0pCisKKyAgICAgICAgIyBvbmUtZGltZW5zaW9uYWwKKyAgICAgICAgbmQgPSBuZGFycmF5KFsxXSwgc2hhcGU9WzFdLCBmb3JtYXQ9ImgiLCBmbGFncz1ORF9XUklUQUJMRSkKKyAgICAgICAgZm9yIG9yZGVyIGluIFsnQycsICdGJywgJ0EnXToKKyAgICAgICAgICAgIG0gPSBnZXRfY29udGlndW91cyhuZCwgUHlCVUZfV1JJVEUsIG9yZGVyKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtLCBuZCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobS50b2xpc3QoKSwgbmQudG9saXN0KCkpCisKKyAgICAgICAgbmQgPSBuZGFycmF5KFsxLCAyLCAzXSwgc2hhcGU9WzNdLCBmb3JtYXQ9ImIiLCBmbGFncz1ORF9XUklUQUJMRSkKKyAgICAgICAgZm9yIG9yZGVyIGluIFsnQycsICdGJywgJ0EnXToKKyAgICAgICAgICAgIG0gPSBnZXRfY29udGlndW91cyhuZCwgUHlCVUZfV1JJVEUsIG9yZGVyKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtLCBuZCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobS50b2xpc3QoKSwgbmQudG9saXN0KCkpCisKKyAgICAgICAgIyBvbmUtZGltZW5zaW9uYWwsIG5vbi1jb250aWd1b3VzCisgICAgICAgIG5kID0gbmRhcnJheShbMSwgMiwgM10sIHNoYXBlPVsyXSwgc3RyaWRlcz1bMl0sIGZsYWdzPU5EX1dSSVRBQkxFKQorICAgICAgICBmb3Igb3JkZXIgaW4gWydDJywgJ0YnLCAnQSddOgorICAgICAgICAgICAgbSA9IGdldF9jb250aWd1b3VzKG5kLCBQeUJVRl9SRUFELCBvcmRlcikKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobSwgbmQpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG0udG9saXN0KCksIG5kLnRvbGlzdCgpKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBtLl9fc2V0aXRlbV9fLCAxLCAyMCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobVsxXSwgMykKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobmRbMV0sIDMpCisKKyAgICAgICAgbmQgPSBuZFs6Oi0xXQorICAgICAgICBmb3Igb3JkZXIgaW4gWydDJywgJ0YnLCAnQSddOgorICAgICAgICAgICAgbSA9IGdldF9jb250aWd1b3VzKG5kLCBQeUJVRl9SRUFELCBvcmRlcikKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobSwgbmQpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG0udG9saXN0KCksIG5kLnRvbGlzdCgpKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBtLl9fc2V0aXRlbV9fLCAxLCAyMCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobVsxXSwgMSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobmRbMV0sIDEpCisKKyAgICAgICAgIyBtdWx0aS1kaW1lbnNpb25hbCwgY29udGlndW91cyBpbnB1dAorICAgICAgICBuZCA9IG5kYXJyYXkobGlzdChyYW5nZSgxMikpLCBzaGFwZT1bMywgNF0sIGZsYWdzPU5EX1dSSVRBQkxFKQorICAgICAgICBmb3Igb3JkZXIgaW4gWydDJywgJ0EnXToKKyAgICAgICAgICAgIG0gPSBnZXRfY29udGlndW91cyhuZCwgUHlCVUZfV1JJVEUsIG9yZGVyKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChuZGFycmF5KG0pLnRvbGlzdCgpLCBuZC50b2xpc3QoKSkKKworICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhCdWZmZXJFcnJvciwgZ2V0X2NvbnRpZ3VvdXMsIG5kLCBQeUJVRl9XUklURSwgJ0YnKQorICAgICAgICBtID0gZ2V0X2NvbnRpZ3VvdXMobmQsIFB5QlVGX1JFQUQsIG9yZGVyKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG5kYXJyYXkobSkudG9saXN0KCksIG5kLnRvbGlzdCgpKQorCisgICAgICAgIG5kID0gbmRhcnJheShsaXN0KHJhbmdlKDEyKSksIHNoYXBlPVszLCA0XSwKKyAgICAgICAgICAgICAgICAgICAgIGZsYWdzPU5EX1dSSVRBQkxFfE5EX0ZPUlRSQU4pCisgICAgICAgIGZvciBvcmRlciBpbiBbJ0YnLCAnQSddOgorICAgICAgICAgICAgbSA9IGdldF9jb250aWd1b3VzKG5kLCBQeUJVRl9XUklURSwgb3JkZXIpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG5kYXJyYXkobSkudG9saXN0KCksIG5kLnRvbGlzdCgpKQorCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEJ1ZmZlckVycm9yLCBnZXRfY29udGlndW91cywgbmQsIFB5QlVGX1dSSVRFLCAnQycpCisgICAgICAgIG0gPSBnZXRfY29udGlndW91cyhuZCwgUHlCVUZfUkVBRCwgb3JkZXIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobmRhcnJheShtKS50b2xpc3QoKSwgbmQudG9saXN0KCkpCisKKyAgICAgICAgIyBtdWx0aS1kaW1lbnNpb25hbCwgbm9uLWNvbnRpZ3VvdXMgaW5wdXQKKyAgICAgICAgbmQgPSBuZGFycmF5KGxpc3QocmFuZ2UoMTIpKSwgc2hhcGU9WzMsIDRdLCBmbGFncz1ORF9XUklUQUJMRXxORF9QSUwpCisgICAgICAgIGZvciBvcmRlciBpbiBbJ0MnLCAnRicsICdBJ106CisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhCdWZmZXJFcnJvciwgZ2V0X2NvbnRpZ3VvdXMsIG5kLCBQeUJVRl9XUklURSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yZGVyKQorICAgICAgICAgICAgbSA9IGdldF9jb250aWd1b3VzKG5kLCBQeUJVRl9SRUFELCBvcmRlcikKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobmRhcnJheShtKS50b2xpc3QoKSwgbmQudG9saXN0KCkpCisKKyAgICAgICAgIyBmbGFncworICAgICAgICBuZCA9IG5kYXJyYXkoWzEsMiwzLDQsNV0sIHNoYXBlPVszXSwgc3RyaWRlcz1bMl0pCisgICAgICAgIG0gPSBnZXRfY29udGlndW91cyhuZCwgUHlCVUZfUkVBRCwgJ0MnKQorICAgICAgICBzZWxmLmFzc2VydFRydWUobS5jX2NvbnRpZ3VvdXMpCisKKyAgICBkZWYgdGVzdF9tZW1vcnl2aWV3X3NlcmlhbGl6aW5nKHNlbGYpOgorCisgICAgICAgICMgQy1jb250aWd1b3VzCisgICAgICAgIHNpemUgPSBzdHJ1Y3QuY2FsY3NpemUoJ2knKQorICAgICAgICBhID0gYXJyYXkuYXJyYXkoJ2knLCBbMSwyLDMsNCw1XSkKKyAgICAgICAgbSA9IG1lbW9yeXZpZXcoYSkKKyAgICAgICAgYnVmID0gaW8uQnl0ZXNJTyhtKQorICAgICAgICBiID0gYnl0ZWFycmF5KDUqc2l6ZSkKKyAgICAgICAgYnVmLnJlYWRpbnRvKGIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobS50b2J5dGVzKCksIGIpCisKKyAgICAgICAgIyBDLWNvbnRpZ3VvdXMsIG11bHRpLWRpbWVuc2lvbmFsCisgICAgICAgIHNpemUgPSBzdHJ1Y3QuY2FsY3NpemUoJ0wnKQorICAgICAgICBuZCA9IG5kYXJyYXkobGlzdChyYW5nZSgxMikpLCBzaGFwZT1bMiwzLDJdLCBmb3JtYXQ9IkwiKQorICAgICAgICBtID0gbWVtb3J5dmlldyhuZCkKKyAgICAgICAgYnVmID0gaW8uQnl0ZXNJTyhtKQorICAgICAgICBiID0gYnl0ZWFycmF5KDIqMyoyKnNpemUpCisgICAgICAgIGJ1Zi5yZWFkaW50byhiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG0udG9ieXRlcygpLCBiKQorCisgICAgICAgICMgRm9ydHJhbiBjb250aWd1b3VzLCBtdWx0aS1kaW1lbnNpb25hbAorICAgICAgICAjc2l6ZSA9IHN0cnVjdC5jYWxjc2l6ZSgnTCcpCisgICAgICAgICNuZCA9IG5kYXJyYXkobGlzdChyYW5nZSgxMikpLCBzaGFwZT1bMiwzLDJdLCBmb3JtYXQ9IkwiLAorICAgICAgICAjICAgICAgICAgICAgIGZsYWdzPU5EX0ZPUlRSQU4pCisgICAgICAgICNtID0gbWVtb3J5dmlldyhuZCkKKyAgICAgICAgI2J1ZiA9IGlvLkJ5dGVzSU8obSkKKyAgICAgICAgI2IgPSBieXRlYXJyYXkoMiozKjIqc2l6ZSkKKyAgICAgICAgI2J1Zi5yZWFkaW50byhiKQorICAgICAgICAjc2VsZi5hc3NlcnRFcXVhbChtLnRvYnl0ZXMoKSwgYikKKworICAgIGRlZiB0ZXN0X21lbW9yeXZpZXdfaGFzaChzZWxmKToKKworICAgICAgICAjIGJ5dGVzIGV4cG9ydGVyCisgICAgICAgIGIgPSBieXRlcyhsaXN0KHJhbmdlKDEyKSkpCisgICAgICAgIG0gPSBtZW1vcnl2aWV3KGIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaGFzaChiKSwgaGFzaChtKSkKKworICAgICAgICAjIEMtY29udGlndW91cworICAgICAgICBtYyA9IG0uY2FzdCgnYycsIHNoYXBlPVszLDRdKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGhhc2gobWMpLCBoYXNoKGIpKQorCisgICAgICAgICMgbm9uLWNvbnRpZ3VvdXMKKyAgICAgICAgbXggPSBtWzo6LTJdCisgICAgICAgIGIgPSBieXRlcyhsaXN0KHJhbmdlKDEyKSlbOjotMl0pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaGFzaChteCksIGhhc2goYikpCisKKyAgICAgICAgIyBGb3J0cmFuIGNvbnRpZ3VvdXMKKyAgICAgICAgbmQgPSBuZGFycmF5KGxpc3QocmFuZ2UoMzApKSwgc2hhcGU9WzMsMiw1XSwgZmxhZ3M9TkRfRk9SVFJBTikKKyAgICAgICAgbSA9IG1lbW9yeXZpZXcobmQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaGFzaChtKSwgaGFzaChuZCkpCisKKyAgICAgICAgIyBtdWx0aS1kaW1lbnNpb25hbCBzbGljZQorICAgICAgICBuZCA9IG5kYXJyYXkobGlzdChyYW5nZSgzMCkpLCBzaGFwZT1bMywyLDVdKQorICAgICAgICB4ID0gbmRbOjoyLCA6OiwgOjotMV0KKyAgICAgICAgbSA9IG1lbW9yeXZpZXcoeCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChoYXNoKG0pLCBoYXNoKHgpKQorCisgICAgICAgICMgbXVsdGktZGltZW5zaW9uYWwgc2xpY2Ugd2l0aCBzdWJvZmZzZXRzCisgICAgICAgIG5kID0gbmRhcnJheShsaXN0KHJhbmdlKDMwKSksIHNoYXBlPVsyLDUsM10sIGZsYWdzPU5EX1BJTCkKKyAgICAgICAgeCA9IG5kWzo6MiwgOjosIDo6LTFdCisgICAgICAgIG0gPSBtZW1vcnl2aWV3KHgpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaGFzaChtKSwgaGFzaCh4KSkKKworICAgICAgICAjIG5vbi1ieXRlIGZvcm1hdHMKKyAgICAgICAgbmQgPSBuZGFycmF5KGxpc3QocmFuZ2UoMTIpKSwgc2hhcGU9WzIsMiwzXSwgZm9ybWF0PSdMJykKKyAgICAgICAgbSA9IG1lbW9yeXZpZXcobmQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaGFzaChtKSwgaGFzaChuZC50b2J5dGVzKCkpKQorCisgICAgICAgIG5kID0gbmRhcnJheShsaXN0KHJhbmdlKC02LCA2KSksIHNoYXBlPVsyLDIsM10sIGZvcm1hdD0naCcpCisgICAgICAgIG0gPSBtZW1vcnl2aWV3KG5kKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGhhc2gobSksIGhhc2gobmQudG9ieXRlcygpKSkKKworICAgIGRlZiB0ZXN0X21lbW9yeXZpZXdfcmVsZWFzZShzZWxmKToKKworICAgICAgICAjIENyZWF0ZSByZS1leHBvcnRlciBmcm9tIGdldGJ1ZmZlcihtZW1vcnl2aWV3KSwgdGhlbiByZWxlYXNlIHRoZSB2aWV3LgorICAgICAgICBhID0gYnl0ZWFycmF5KFsxLDIsM10pCisgICAgICAgIG0gPSBtZW1vcnl2aWV3KGEpCisgICAgICAgIG5kID0gbmRhcnJheShtKSAjIHJlLWV4cG9ydGVyCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEJ1ZmZlckVycm9yLCBtLnJlbGVhc2UpCisgICAgICAgIGRlbCBuZAorICAgICAgICBtLnJlbGVhc2UoKQorCisgICAgICAgIGEgPSBieXRlYXJyYXkoWzEsMiwzXSkKKyAgICAgICAgbSA9IG1lbW9yeXZpZXcoYSkKKyAgICAgICAgbmQxID0gbmRhcnJheShtLCBnZXRidWY9UHlCVUZfRlVMTF9STywgZmxhZ3M9TkRfUkVESVJFQ1QpCisgICAgICAgIG5kMiA9IG5kYXJyYXkobmQxLCBnZXRidWY9UHlCVUZfRlVMTF9STywgZmxhZ3M9TkRfUkVESVJFQ1QpCisgICAgICAgIHNlbGYuYXNzZXJ0SXMobmQyLm9iaiwgbSkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoQnVmZmVyRXJyb3IsIG0ucmVsZWFzZSkKKyAgICAgICAgZGVsIG5kMSwgbmQyCisgICAgICAgIG0ucmVsZWFzZSgpCisKKyAgICAgICAgIyBjaGFpbmVkIHZpZXdzCisgICAgICAgIGEgPSBieXRlYXJyYXkoWzEsMiwzXSkKKyAgICAgICAgbTEgPSBtZW1vcnl2aWV3KGEpCisgICAgICAgIG0yID0gbWVtb3J5dmlldyhtMSkKKyAgICAgICAgbmQgPSBuZGFycmF5KG0yKSAjIHJlLWV4cG9ydGVyCisgICAgICAgIG0xLnJlbGVhc2UoKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhCdWZmZXJFcnJvciwgbTIucmVsZWFzZSkKKyAgICAgICAgZGVsIG5kCisgICAgICAgIG0yLnJlbGVhc2UoKQorCisgICAgICAgIGEgPSBieXRlYXJyYXkoWzEsMiwzXSkKKyAgICAgICAgbTEgPSBtZW1vcnl2aWV3KGEpCisgICAgICAgIG0yID0gbWVtb3J5dmlldyhtMSkKKyAgICAgICAgbmQxID0gbmRhcnJheShtMiwgZ2V0YnVmPVB5QlVGX0ZVTExfUk8sIGZsYWdzPU5EX1JFRElSRUNUKQorICAgICAgICBuZDIgPSBuZGFycmF5KG5kMSwgZ2V0YnVmPVB5QlVGX0ZVTExfUk8sIGZsYWdzPU5EX1JFRElSRUNUKQorICAgICAgICBzZWxmLmFzc2VydElzKG5kMi5vYmosIG0yKQorICAgICAgICBtMS5yZWxlYXNlKCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoQnVmZmVyRXJyb3IsIG0yLnJlbGVhc2UpCisgICAgICAgIGRlbCBuZDEsIG5kMgorICAgICAgICBtMi5yZWxlYXNlKCkKKworICAgICAgICAjIEFsbG93IGNoYW5naW5nIGxheW91dCB3aGlsZSBidWZmZXJzIGFyZSBleHBvcnRlZC4KKyAgICAgICAgbmQgPSBuZGFycmF5KFsxLDIsM10sIHNoYXBlPVszXSwgZmxhZ3M9TkRfVkFSRVhQT1JUKQorICAgICAgICBtMSA9IG1lbW9yeXZpZXcobmQpCisKKyAgICAgICAgbmQucHVzaChbNCw1LDYsNyw4XSwgc2hhcGU9WzVdKSAjIG11dGF0ZSBuZAorICAgICAgICBtMiA9IG1lbW9yeXZpZXcobmQpCisKKyAgICAgICAgeCA9IG1lbW9yeXZpZXcobTEpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoeC50b2xpc3QoKSwgbTEudG9saXN0KCkpCisKKyAgICAgICAgeSA9IG1lbW9yeXZpZXcobTIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoeS50b2xpc3QoKSwgbTIudG9saXN0KCkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoeS50b2xpc3QoKSwgbmQudG9saXN0KCkpCisgICAgICAgIG0yLnJlbGVhc2UoKQorICAgICAgICB5LnJlbGVhc2UoKQorCisgICAgICAgIG5kLnBvcCgpICMgcG9wIHRoZSBjdXJyZW50IHZpZXcKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh4LnRvbGlzdCgpLCBuZC50b2xpc3QoKSkKKworICAgICAgICBkZWwgbmQKKyAgICAgICAgbTEucmVsZWFzZSgpCisgICAgICAgIHgucmVsZWFzZSgpCisKKyAgICAgICAgIyBJZiBtdWx0aXBsZSBtZW1vcnl2aWV3cyBzaGFyZSB0aGUgc2FtZSBtYW5hZ2VkIGJ1ZmZlciwgaW1wbGljaXQKKyAgICAgICAgIyByZWxlYXNlKCkgaW4gdGhlIGNvbnRleHQgbWFuYWdlcidzIF9fZXhpdF9fKCkgbWV0aG9kIHNob3VsZCBzdGlsbAorICAgICAgICAjIHdvcmsuCisgICAgICAgIGRlZiBjYXRjaDIyKGIpOgorICAgICAgICAgICAgd2l0aCBtZW1vcnl2aWV3KGIpIGFzIG0yOgorICAgICAgICAgICAgICAgIHBhc3MKKworICAgICAgICB4ID0gYnl0ZWFycmF5KGInMTIzJykKKyAgICAgICAgd2l0aCBtZW1vcnl2aWV3KHgpIGFzIG0xOgorICAgICAgICAgICAgY2F0Y2gyMihtMSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobTFbMF0sIG9yZChiJzEnKSkKKworICAgICAgICB4ID0gbmRhcnJheShsaXN0KHJhbmdlKDEyKSksIHNoYXBlPVsyLDIsM10sIGZvcm1hdD0nbCcpCisgICAgICAgIHkgPSBuZGFycmF5KHgsIGdldGJ1Zj1QeUJVRl9GVUxMX1JPLCBmbGFncz1ORF9SRURJUkVDVCkKKyAgICAgICAgeiA9IG5kYXJyYXkoeSwgZ2V0YnVmPVB5QlVGX0ZVTExfUk8sIGZsYWdzPU5EX1JFRElSRUNUKQorICAgICAgICBzZWxmLmFzc2VydElzKHoub2JqLCB4KQorICAgICAgICB3aXRoIG1lbW9yeXZpZXcoeikgYXMgbToKKyAgICAgICAgICAgIGNhdGNoMjIobSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobVswOjFdLnRvbGlzdCgpLCBbW1swLCAxLCAyXSwgWzMsIDQsIDVdXV0pCisKKyAgICAgICAgIyBUZXN0IGdhcmJhZ2UgY29sbGVjdGlvbi4KKyAgICAgICAgZm9yIGZsYWdzIGluICgwLCBORF9SRURJUkVDVCk6CisgICAgICAgICAgICB4ID0gYnl0ZWFycmF5KGInMTIzJykKKyAgICAgICAgICAgIHdpdGggbWVtb3J5dmlldyh4KSBhcyBtMToKKyAgICAgICAgICAgICAgICBkZWwgeAorICAgICAgICAgICAgICAgIHkgPSBuZGFycmF5KG0xLCBnZXRidWY9UHlCVUZfRlVMTF9STywgZmxhZ3M9ZmxhZ3MpCisgICAgICAgICAgICAgICAgd2l0aCBtZW1vcnl2aWV3KHkpIGFzIG0yOgorICAgICAgICAgICAgICAgICAgICBkZWwgeQorICAgICAgICAgICAgICAgICAgICB6ID0gbmRhcnJheShtMiwgZ2V0YnVmPVB5QlVGX0ZVTExfUk8sIGZsYWdzPWZsYWdzKQorICAgICAgICAgICAgICAgICAgICB3aXRoIG1lbW9yeXZpZXcoeikgYXMgbTM6CisgICAgICAgICAgICAgICAgICAgICAgICBkZWwgegorICAgICAgICAgICAgICAgICAgICAgICAgY2F0Y2gyMihtMykKKyAgICAgICAgICAgICAgICAgICAgICAgIGNhdGNoMjIobTIpCisgICAgICAgICAgICAgICAgICAgICAgICBjYXRjaDIyKG0xKQorICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtMVswXSwgb3JkKGInMScpKQorICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtMlsxXSwgb3JkKGInMicpKQorICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtM1syXSwgb3JkKGInMycpKQorICAgICAgICAgICAgICAgICAgICAgICAgZGVsIG0zCisgICAgICAgICAgICAgICAgICAgIGRlbCBtMgorICAgICAgICAgICAgICAgIGRlbCBtMQorCisgICAgICAgICAgICB4ID0gYnl0ZWFycmF5KGInMTIzJykKKyAgICAgICAgICAgIHdpdGggbWVtb3J5dmlldyh4KSBhcyBtMToKKyAgICAgICAgICAgICAgICBkZWwgeAorICAgICAgICAgICAgICAgIHkgPSBuZGFycmF5KG0xLCBnZXRidWY9UHlCVUZfRlVMTF9STywgZmxhZ3M9ZmxhZ3MpCisgICAgICAgICAgICAgICAgd2l0aCBtZW1vcnl2aWV3KHkpIGFzIG0yOgorICAgICAgICAgICAgICAgICAgICBkZWwgeQorICAgICAgICAgICAgICAgICAgICB6ID0gbmRhcnJheShtMiwgZ2V0YnVmPVB5QlVGX0ZVTExfUk8sIGZsYWdzPWZsYWdzKQorICAgICAgICAgICAgICAgICAgICB3aXRoIG1lbW9yeXZpZXcoeikgYXMgbTM6CisgICAgICAgICAgICAgICAgICAgICAgICBkZWwgegorICAgICAgICAgICAgICAgICAgICAgICAgY2F0Y2gyMihtMSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGNhdGNoMjIobTIpCisgICAgICAgICAgICAgICAgICAgICAgICBjYXRjaDIyKG0zKQorICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtMVswXSwgb3JkKGInMScpKQorICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtMlsxXSwgb3JkKGInMicpKQorICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtM1syXSwgb3JkKGInMycpKQorICAgICAgICAgICAgICAgICAgICAgICAgZGVsIG0xLCBtMiwgbTMKKworICAgICAgICAjIG1lbW9yeXZpZXcucmVsZWFzZSgpIGZhaWxzIGlmIHRoZSB2aWV3IGhhcyBleHBvcnRlZCBidWZmZXJzLgorICAgICAgICB4ID0gYnl0ZWFycmF5KGInMTIzJykKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhCdWZmZXJFcnJvcik6CisgICAgICAgICAgICB3aXRoIG1lbW9yeXZpZXcoeCkgYXMgbToKKyAgICAgICAgICAgICAgICBleCA9IG5kYXJyYXkobSkKKyAgICAgICAgICAgICAgICBtWzBdID09IG9yZChiJzEnKQorCisgICAgZGVmIHRlc3RfbWVtb3J5dmlld19yZWRpcmVjdChzZWxmKToKKworICAgICAgICBuZCA9IG5kYXJyYXkoWzEuMCAqIHggZm9yIHggaW4gcmFuZ2UoMTIpXSwgc2hhcGU9WzEyXSwgZm9ybWF0PSdkJykKKyAgICAgICAgYSA9IGFycmF5LmFycmF5KCdkJywgWzEuMCAqIHggZm9yIHggaW4gcmFuZ2UoMTIpXSkKKworICAgICAgICBmb3IgeCBpbiAobmQsIGEpOgorICAgICAgICAgICAgeSA9IG5kYXJyYXkoeCwgZ2V0YnVmPVB5QlVGX0ZVTExfUk8sIGZsYWdzPU5EX1JFRElSRUNUKQorICAgICAgICAgICAgeiA9IG5kYXJyYXkoeSwgZ2V0YnVmPVB5QlVGX0ZVTExfUk8sIGZsYWdzPU5EX1JFRElSRUNUKQorICAgICAgICAgICAgbSA9IG1lbW9yeXZpZXcoeikKKworICAgICAgICAgICAgc2VsZi5hc3NlcnRJcyh5Lm9iaiwgeCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXMoei5vYmosIHgpCisgICAgICAgICAgICBzZWxmLmFzc2VydElzKG0ub2JqLCB4KQorCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG0sIHgpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG0sIHkpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG0sIHopCisKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobVsxOjNdLCB4WzE6M10pCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1bMTozXSwgeVsxOjNdKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtWzE6M10sIHpbMTozXSkKKyAgICAgICAgICAgIGRlbCB5LCB6CisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1bMTozXSwgeFsxOjNdKQorCisgICAgZGVmIHRlc3RfbWVtb3J5dmlld19mcm9tX3N0YXRpY19leHBvcnRlcihzZWxmKToKKworICAgICAgICBmbXQgPSAnQicKKyAgICAgICAgbHN0ID0gWzAsMSwyLDMsNCw1LDYsNyw4LDksMTAsMTFdCisKKyAgICAgICAgIyBleGNlcHRpb25zCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgc3RhdGljYXJyYXksIDEsIDIsIDMpCisKKyAgICAgICAgIyB2aWV3Lm9iaj09eAorICAgICAgICB4ID0gc3RhdGljYXJyYXkoKQorICAgICAgICB5ID0gbWVtb3J5dmlldyh4KQorICAgICAgICBzZWxmLnZlcmlmeSh5LCBvYmo9eCwKKyAgICAgICAgICAgICAgICAgICAgaXRlbXNpemU9MSwgZm10PWZtdCwgcmVhZG9ubHk9MSwKKyAgICAgICAgICAgICAgICAgICAgbmRpbT0xLCBzaGFwZT1bMTJdLCBzdHJpZGVzPVsxXSwKKyAgICAgICAgICAgICAgICAgICAgbHN0PWxzdCkKKyAgICAgICAgZm9yIGkgaW4gcmFuZ2UoMTIpOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh5W2ldLCBpKQorICAgICAgICBkZWwgeAorICAgICAgICBkZWwgeQorCisgICAgICAgIHggPSBzdGF0aWNhcnJheSgpCisgICAgICAgIHkgPSBtZW1vcnl2aWV3KHgpCisgICAgICAgIGRlbCB5CisgICAgICAgIGRlbCB4CisKKyAgICAgICAgeCA9IHN0YXRpY2FycmF5KCkKKyAgICAgICAgeSA9IG5kYXJyYXkoeCwgZ2V0YnVmPVB5QlVGX0ZVTExfUk8pCisgICAgICAgIHogPSBuZGFycmF5KHksIGdldGJ1Zj1QeUJVRl9GVUxMX1JPKQorICAgICAgICBtID0gbWVtb3J5dmlldyh6KQorICAgICAgICBzZWxmLmFzc2VydElzKHkub2JqLCB4KQorICAgICAgICBzZWxmLmFzc2VydElzKG0ub2JqLCB6KQorICAgICAgICBzZWxmLnZlcmlmeShtLCBvYmo9eiwKKyAgICAgICAgICAgICAgICAgICAgaXRlbXNpemU9MSwgZm10PWZtdCwgcmVhZG9ubHk9MSwKKyAgICAgICAgICAgICAgICAgICAgbmRpbT0xLCBzaGFwZT1bMTJdLCBzdHJpZGVzPVsxXSwKKyAgICAgICAgICAgICAgICAgICAgbHN0PWxzdCkKKyAgICAgICAgZGVsIHgsIHksIHosIG0KKworICAgICAgICB4ID0gc3RhdGljYXJyYXkoKQorICAgICAgICB5ID0gbmRhcnJheSh4LCBnZXRidWY9UHlCVUZfRlVMTF9STywgZmxhZ3M9TkRfUkVESVJFQ1QpCisgICAgICAgIHogPSBuZGFycmF5KHksIGdldGJ1Zj1QeUJVRl9GVUxMX1JPLCBmbGFncz1ORF9SRURJUkVDVCkKKyAgICAgICAgbSA9IG1lbW9yeXZpZXcoeikKKyAgICAgICAgc2VsZi5hc3NlcnRJcyh5Lm9iaiwgeCkKKyAgICAgICAgc2VsZi5hc3NlcnRJcyh6Lm9iaiwgeCkKKyAgICAgICAgc2VsZi5hc3NlcnRJcyhtLm9iaiwgeCkKKyAgICAgICAgc2VsZi52ZXJpZnkobSwgb2JqPXgsCisgICAgICAgICAgICAgICAgICAgIGl0ZW1zaXplPTEsIGZtdD1mbXQsIHJlYWRvbmx5PTEsCisgICAgICAgICAgICAgICAgICAgIG5kaW09MSwgc2hhcGU9WzEyXSwgc3RyaWRlcz1bMV0sCisgICAgICAgICAgICAgICAgICAgIGxzdD1sc3QpCisgICAgICAgIGRlbCB4LCB5LCB6LCBtCisKKyAgICAgICAgIyB2aWV3Lm9iaj09TlVMTAorICAgICAgICB4ID0gc3RhdGljYXJyYXkobGVnYWN5X21vZGU9VHJ1ZSkKKyAgICAgICAgeSA9IG1lbW9yeXZpZXcoeCkKKyAgICAgICAgc2VsZi52ZXJpZnkoeSwgb2JqPU5vbmUsCisgICAgICAgICAgICAgICAgICAgIGl0ZW1zaXplPTEsIGZtdD1mbXQsIHJlYWRvbmx5PTEsCisgICAgICAgICAgICAgICAgICAgIG5kaW09MSwgc2hhcGU9WzEyXSwgc3RyaWRlcz1bMV0sCisgICAgICAgICAgICAgICAgICAgIGxzdD1sc3QpCisgICAgICAgIGZvciBpIGluIHJhbmdlKDEyKToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoeVtpXSwgaSkKKyAgICAgICAgZGVsIHgKKyAgICAgICAgZGVsIHkKKworICAgICAgICB4ID0gc3RhdGljYXJyYXkobGVnYWN5X21vZGU9VHJ1ZSkKKyAgICAgICAgeSA9IG1lbW9yeXZpZXcoeCkKKyAgICAgICAgZGVsIHkKKyAgICAgICAgZGVsIHgKKworICAgICAgICB4ID0gc3RhdGljYXJyYXkobGVnYWN5X21vZGU9VHJ1ZSkKKyAgICAgICAgeSA9IG5kYXJyYXkoeCwgZ2V0YnVmPVB5QlVGX0ZVTExfUk8pCisgICAgICAgIHogPSBuZGFycmF5KHksIGdldGJ1Zj1QeUJVRl9GVUxMX1JPKQorICAgICAgICBtID0gbWVtb3J5dmlldyh6KQorICAgICAgICBzZWxmLmFzc2VydElzKHkub2JqLCBOb25lKQorICAgICAgICBzZWxmLmFzc2VydElzKG0ub2JqLCB6KQorICAgICAgICBzZWxmLnZlcmlmeShtLCBvYmo9eiwKKyAgICAgICAgICAgICAgICAgICAgaXRlbXNpemU9MSwgZm10PWZtdCwgcmVhZG9ubHk9MSwKKyAgICAgICAgICAgICAgICAgICAgbmRpbT0xLCBzaGFwZT1bMTJdLCBzdHJpZGVzPVsxXSwKKyAgICAgICAgICAgICAgICAgICAgbHN0PWxzdCkKKyAgICAgICAgZGVsIHgsIHksIHosIG0KKworICAgICAgICB4ID0gc3RhdGljYXJyYXkobGVnYWN5X21vZGU9VHJ1ZSkKKyAgICAgICAgeSA9IG5kYXJyYXkoeCwgZ2V0YnVmPVB5QlVGX0ZVTExfUk8sIGZsYWdzPU5EX1JFRElSRUNUKQorICAgICAgICB6ID0gbmRhcnJheSh5LCBnZXRidWY9UHlCVUZfRlVMTF9STywgZmxhZ3M9TkRfUkVESVJFQ1QpCisgICAgICAgIG0gPSBtZW1vcnl2aWV3KHopCisgICAgICAgICMgQ2xlYXJseSBzZXR0aW5nIHZpZXcub2JqPT1OVUxMIGlzIGluZmVyaW9yLCBzaW5jZSBpdAorICAgICAgICAjIG1lc3NlcyB1cCB0aGUgcmVkaXJlY3Rpb24gY2hhaW46CisgICAgICAgIHNlbGYuYXNzZXJ0SXMoeS5vYmosIE5vbmUpCisgICAgICAgIHNlbGYuYXNzZXJ0SXMoei5vYmosIHkpCisgICAgICAgIHNlbGYuYXNzZXJ0SXMobS5vYmosIHkpCisgICAgICAgIHNlbGYudmVyaWZ5KG0sIG9iaj15LAorICAgICAgICAgICAgICAgICAgICBpdGVtc2l6ZT0xLCBmbXQ9Zm10LCByZWFkb25seT0xLAorICAgICAgICAgICAgICAgICAgICBuZGltPTEsIHNoYXBlPVsxMl0sIHN0cmlkZXM9WzFdLAorICAgICAgICAgICAgICAgICAgICBsc3Q9bHN0KQorICAgICAgICBkZWwgeCwgeSwgeiwgbQorCisgICAgZGVmIHRlc3RfbWVtb3J5dmlld19nZXRidWZmZXJfdW5kZWZpbmVkKHNlbGYpOgorCisgICAgICAgICMgZ2V0YnVmZmVycHJvYyBkb2VzIG5vdCBhZGhlcmUgdG8gdGhlIG5ldyBkb2N1bWVudGF0aW9uCisgICAgICAgIG5kID0gbmRhcnJheShbMSwyLDNdLCBbM10sIGZsYWdzPU5EX0dFVEJVRl9GQUlMfE5EX0dFVEJVRl9VTkRFRklORUQpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEJ1ZmZlckVycm9yLCBtZW1vcnl2aWV3LCBuZCkKKworICAgIGRlZiB0ZXN0X2lzc3VlXzczODUoc2VsZik6CisgICAgICAgIHggPSBuZGFycmF5KFsxLDIsM10sIHNoYXBlPVszXSwgZmxhZ3M9TkRfR0VUQlVGX0ZBSUwpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEJ1ZmZlckVycm9yLCBtZW1vcnl2aWV3LCB4KQorCisKK2RlZiB0ZXN0X21haW4oKToKKyAgICBzdXBwb3J0LnJ1bl91bml0dGVzdChUZXN0QnVmZmVyUHJvdG9jb2wpCisKKworaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKKyAgICB0ZXN0X21haW4oKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9idWlsdGluLnB5IGIvTGliL3Rlc3QvdGVzdF9idWlsdGluLnB5CmluZGV4IDU1ZmI2M2EuLmJmYTVlZTcgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfYnVpbHRpbi5weQorKysgYi9MaWIvdGVzdC90ZXN0X2J1aWx0aW4ucHkKQEAgLTEyLDcgKzEyLDcgQEAKIGltcG9ydCBidWlsdGlucwogaW1wb3J0IHJhbmRvbQogaW1wb3J0IHRyYWNlYmFjawotZnJvbSB0ZXN0LnN1cHBvcnQgaW1wb3J0IGZjbXAsIFRFU1RGTiwgdW5saW5rLCAgcnVuX3VuaXR0ZXN0LCBjaGVja193YXJuaW5ncworZnJvbSB0ZXN0LnN1cHBvcnQgaW1wb3J0IFRFU1RGTiwgdW5saW5rLCAgcnVuX3VuaXR0ZXN0LCBjaGVja193YXJuaW5ncwogZnJvbSBvcGVyYXRvciBpbXBvcnQgbmVnCiB0cnk6CiAgICAgaW1wb3J0IHB0eSwgc2lnbmFsCkBAIC0yNTUsOCArMjU1LDcgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjaHIoMHhmZiksICdceGZmJykKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgY2hyLCAxPDwyNCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjaHIoc3lzLm1heHVuaWNvZGUpLAotICAgICAgICAgICAgICAgICAgICAgICAgIHN0cigoJ1xcVSUwOHgnICUgKHN5cy5tYXh1bmljb2RlKSkuZW5jb2RlKCJhc2NpaSIpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndW5pY29kZS1lc2NhcGUnKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICBzdHIoJ1xcVTAwMTBmZmZmJy5lbmNvZGUoImFzY2lpIiksICd1bmljb2RlLWVzY2FwZScpKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGNocikKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjaHIoMHgwMDAwRkZGRiksICJcVTAwMDBGRkZGIikKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjaHIoMHgwMDAxMDAwMCksICJcVTAwMDEwMDAwIikKQEAgLTM3OCw3ICszNzcsMTUgQEAKICAgICAgICAgZiA9IEZvbygpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShkaXIoZikgPT0gWyJnYSIsICJrYW4iLCAicm9vIl0pCiAKLSAgICAgICAgIyBkaXIob2JqX19kaXJfX25vdF9saXN0KQorICAgICAgICAjIGRpcihvYmpfX2Rpcl9fdHVwbGUpCisgICAgICAgIGNsYXNzIEZvbyhvYmplY3QpOgorICAgICAgICAgICAgZGVmIF9fZGlyX18oc2VsZik6CisgICAgICAgICAgICAgICAgcmV0dXJuICgiYiIsICJjIiwgImEiKQorICAgICAgICByZXMgPSBkaXIoRm9vKCkpCisgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShyZXMsIGxpc3QpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShyZXMgPT0gWyJhIiwgImIiLCAiYyJdKQorCisgICAgICAgICMgZGlyKG9ial9fZGlyX19ub3Rfc2VxdWVuY2UpCiAgICAgICAgIGNsYXNzIEZvbyhvYmplY3QpOgogICAgICAgICAgICAgZGVmIF9fZGlyX18oc2VsZik6CiAgICAgICAgICAgICAgICAgcmV0dXJuIDcKQEAgLTM5MSw2ICszOTgsOCBAQAogICAgICAgICBleGNlcHQ6CiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihkaXIoc3lzLmV4Y19pbmZvKClbMl0pKSwgNCkKIAorICAgICAgICAjIHRlc3QgdGhhdCBvYmplY3QgaGFzIGEgX19kaXJfXygpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc29ydGVkKFtdLl9fZGlyX18oKSksIGRpcihbXSkpCiAKICAgICBkZWYgdGVzdF9kaXZtb2Qoc2VsZik6CiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGl2bW9kKDEyLCA3KSwgKDEsIDUpKQpAQCAtNDAwLDEwICs0MDksMTMgQEAKIAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRpdm1vZCgtc3lzLm1heHNpemUtMSwgLTEpLCAoc3lzLm1heHNpemUrMSwgMCkpCiAKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG5vdCBmY21wKGRpdm1vZCgzLjI1LCAxLjApLCAoMy4wLCAwLjI1KSkpCi0gICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShub3QgZmNtcChkaXZtb2QoLTMuMjUsIDEuMCksICgtNC4wLCAwLjc1KSkpCi0gICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShub3QgZmNtcChkaXZtb2QoMy4yNSwgLTEuMCksICgtNC4wLCAtMC43NSkpKQotICAgICAgICBzZWxmLmFzc2VydFRydWUobm90IGZjbXAoZGl2bW9kKC0zLjI1LCAtMS4wKSwgKDMuMCwgLTAuMjUpKSkKKyAgICAgICAgZm9yIG51bSwgZGVub20sIGV4cF9yZXN1bHQgaW4gWyAoMy4yNSwgMS4wLCAoMy4wLCAwLjI1KSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKC0zLjI1LCAxLjAsICgtNC4wLCAwLjc1KSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMuMjUsIC0xLjAsICgtNC4wLCAtMC43NSkpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgtMy4yNSwgLTEuMCwgKDMuMCwgLTAuMjUpKV06CisgICAgICAgICAgICByZXN1bHQgPSBkaXZtb2QobnVtLCBkZW5vbSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0QWxtb3N0RXF1YWwocmVzdWx0WzBdLCBleHBfcmVzdWx0WzBdKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRBbG1vc3RFcXVhbChyZXN1bHRbMV0sIGV4cF9yZXN1bHRbMV0pCiAKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBkaXZtb2QpCiAKQEAgLTExOTcsNiArMTIwOSw5IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgc3VtLCA0MikKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBzdW0sIFsnYScsICdiJywgJ2MnXSkKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBzdW0sIFsnYScsICdiJywgJ2MnXSwgJycpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgc3VtLCBbYidhJywgYidjJ10sIGInJykKKyAgICAgICAgdmFsdWVzID0gW2J5dGVhcnJheShiJ2EnKSwgYnl0ZWFycmF5KGInYicpXQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIHN1bSwgdmFsdWVzLCBieXRlYXJyYXkoYicnKSkKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBzdW0sIFtbMV0sIFsyXSwgWzNdXSkKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBzdW0sIFt7MjozfV0pCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgc3VtLCBbezI6M31dKjIsIHsyOjN9KQpAQCAtMTM1OCwxNCArMTM3MywxNCBAQAogCiAgICAgICAgICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgICAgICAgIyBJc3N1ZSAjNzk5NDogb2JqZWN0Ll9fZm9ybWF0X18gd2l0aCBhIG5vbi1lbXB0eSBmb3JtYXQgc3RyaW5nIGlzCi0gICAgICAgICMgIHBlbmRpbmcgZGVwcmVjYXRlZAorICAgICAgICAjICBkZXByZWNhdGVkCiAgICAgICAgIGRlZiB0ZXN0X2RlcHJlY2F0ZWRfZm9ybWF0X3N0cmluZyhvYmosIGZtdF9zdHIsIHNob3VsZF9yYWlzZV93YXJuaW5nKToKICAgICAgICAgICAgIHdpdGggd2FybmluZ3MuY2F0Y2hfd2FybmluZ3MocmVjb3JkPVRydWUpIGFzIHc6Ci0gICAgICAgICAgICAgICAgd2FybmluZ3Muc2ltcGxlZmlsdGVyKCJhbHdheXMiLCBQZW5kaW5nRGVwcmVjYXRpb25XYXJuaW5nKQorICAgICAgICAgICAgICAgIHdhcm5pbmdzLnNpbXBsZWZpbHRlcigiYWx3YXlzIiwgRGVwcmVjYXRpb25XYXJuaW5nKQogICAgICAgICAgICAgICAgIGZvcm1hdChvYmosIGZtdF9zdHIpCiAgICAgICAgICAgICBpZiBzaG91bGRfcmFpc2Vfd2FybmluZzoKICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbih3KSwgMSkKLSAgICAgICAgICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2Uod1swXS5tZXNzYWdlLCBQZW5kaW5nRGVwcmVjYXRpb25XYXJuaW5nKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZSh3WzBdLm1lc3NhZ2UsIERlcHJlY2F0aW9uV2FybmluZykKICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEluKCdvYmplY3QuX19mb3JtYXRfXyB3aXRoIGEgbm9uLWVtcHR5IGZvcm1hdCAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc3RyaW5nJywgc3RyKHdbMF0ubWVzc2FnZSkpCiAgICAgICAgICAgICBlbHNlOgpAQCAtMTQwOSw2ICsxNDI0LDEzIEBACiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIHgudHJhbnNsYXRlLCBiIjEiLCAxKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIHgudHJhbnNsYXRlLCBiIjEiKjI1NiwgMSkKIAorICAgIGRlZiB0ZXN0X2NvbnN0cnVjdF9zaW5nbGV0b25zKHNlbGYpOgorICAgICAgICBmb3IgY29uc3QgaW4gTm9uZSwgRWxsaXBzaXMsIE5vdEltcGxlbWVudGVkOgorICAgICAgICAgICAgdHAgPSB0eXBlKGNvbnN0KQorICAgICAgICAgICAgc2VsZi5hc3NlcnRJcyh0cCgpLCBjb25zdCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgdHAsIDEsIDIpCisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIHRwLCBhPTEsIGI9MikKKwogY2xhc3MgVGVzdFNvcnRlZCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAKICAgICBkZWYgdGVzdF9iYXNpYyhzZWxmKToKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfYnl0ZXMucHkgYi9MaWIvdGVzdC90ZXN0X2J5dGVzLnB5CmluZGV4IDVlYWI4ZjUuLjIwM2ZjNWMgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfYnl0ZXMucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9ieXRlcy5weQpAQCAtMTg4LDI0ICsxODgsMjYgQEAKIAogICAgIGRlZiB0ZXN0X2VuY29kaW5nKHNlbGYpOgogICAgICAgICBzYW1wbGUgPSAiSGVsbG8gd29ybGRcblx1MTIzNFx1NTY3OFx1OWFiYyIKLSAgICAgICAgZm9yIGVuYyBpbiAoInV0ZjgiLCAidXRmMTYiKToKKyAgICAgICAgZm9yIGVuYyBpbiAoInV0Zi04IiwgInV0Zi0xNiIpOgogICAgICAgICAgICAgYiA9IHNlbGYudHlwZTJ0ZXN0KHNhbXBsZSwgZW5jKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiLCBzZWxmLnR5cGUydGVzdChzYW1wbGUuZW5jb2RlKGVuYykpKQotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhVbmljb2RlRW5jb2RlRXJyb3IsIHNlbGYudHlwZTJ0ZXN0LCBzYW1wbGUsICJsYXRpbjEiKQotICAgICAgICBiID0gc2VsZi50eXBlMnRlc3Qoc2FtcGxlLCAibGF0aW4xIiwgImlnbm9yZSIpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFVuaWNvZGVFbmNvZGVFcnJvciwgc2VsZi50eXBlMnRlc3QsIHNhbXBsZSwgImxhdGluLTEiKQorICAgICAgICBiID0gc2VsZi50eXBlMnRlc3Qoc2FtcGxlLCAibGF0aW4tMSIsICJpZ25vcmUiKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGIsIHNlbGYudHlwZTJ0ZXN0KHNhbXBsZVs6LTNdLCAidXRmLTgiKSkKIAogICAgIGRlZiB0ZXN0X2RlY29kZShzZWxmKToKICAgICAgICAgc2FtcGxlID0gIkhlbGxvIHdvcmxkXG5cdTEyMzRcdTU2NzhcdTlhYmNcZGVmMFxkZWYwIgotICAgICAgICBmb3IgZW5jIGluICgidXRmOCIsICJ1dGYxNiIpOgorICAgICAgICBmb3IgZW5jIGluICgidXRmLTgiLCAidXRmLTE2Iik6CiAgICAgICAgICAgICBiID0gc2VsZi50eXBlMnRlc3Qoc2FtcGxlLCBlbmMpCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGIuZGVjb2RlKGVuYyksIHNhbXBsZSkKICAgICAgICAgc2FtcGxlID0gIkhlbGxvIHdvcmxkXG5ceDgwXHg4MVx4ZmVceGZmIgotICAgICAgICBiID0gc2VsZi50eXBlMnRlc3Qoc2FtcGxlLCAibGF0aW4xIikKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVW5pY29kZURlY29kZUVycm9yLCBiLmRlY29kZSwgInV0ZjgiKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGIuZGVjb2RlKCJ1dGY4IiwgImlnbm9yZSIpLCAiSGVsbG8gd29ybGRcbiIpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYi5kZWNvZGUoZXJyb3JzPSJpZ25vcmUiLCBlbmNvZGluZz0idXRmOCIpLAorICAgICAgICBiID0gc2VsZi50eXBlMnRlc3Qoc2FtcGxlLCAibGF0aW4tMSIpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFVuaWNvZGVEZWNvZGVFcnJvciwgYi5kZWNvZGUsICJ1dGYtOCIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYi5kZWNvZGUoInV0Zi04IiwgImlnbm9yZSIpLCAiSGVsbG8gd29ybGRcbiIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYi5kZWNvZGUoZXJyb3JzPSJpZ25vcmUiLCBlbmNvZGluZz0idXRmLTgiKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAiSGVsbG8gd29ybGRcbiIpCisgICAgICAgICMgRGVmYXVsdCBlbmNvZGluZyBpcyB1dGYtOAorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYudHlwZTJ0ZXN0KGInXHhlMlx4OThceDgzJykuZGVjb2RlKCksICdcdTI2MDMnKQogCiAgICAgZGVmIHRlc3RfZnJvbV9pbnQoc2VsZik6CiAgICAgICAgIGIgPSBzZWxmLnR5cGUydGVzdCgwKQpAQCAtMjkxLDEwICsyOTMsMjcgQEAKIAogICAgIGRlZiB0ZXN0X2NvdW50KHNlbGYpOgogICAgICAgICBiID0gc2VsZi50eXBlMnRlc3QoYidtaXNzaXNzaXBwaScpCisgICAgICAgIGkgPSAxMDUKKyAgICAgICAgcCA9IDExMgorICAgICAgICB3ID0gMTE5CisKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiLmNvdW50KGInaScpLCA0KQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGIuY291bnQoYidzcycpLCAyKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGIuY291bnQoYid3JyksIDApCiAKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiLmNvdW50KGkpLCA0KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGIuY291bnQodyksIDApCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiLmNvdW50KGInaScsIDYpLCAyKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGIuY291bnQoYidwJywgNiksIDIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYi5jb3VudChiJ2knLCAxLCAzKSwgMSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiLmNvdW50KGIncCcsIDcsIDkpLCAxKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYi5jb3VudChpLCA2KSwgMikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiLmNvdW50KHAsIDYpLCAyKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGIuY291bnQoaSwgMSwgMyksIDEpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYi5jb3VudChwLCA3LCA5KSwgMSkKKwogICAgIGRlZiB0ZXN0X3N0YXJ0c3dpdGgoc2VsZik6CiAgICAgICAgIGIgPSBzZWxmLnR5cGUydGVzdChiJ2hlbGxvJykKICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShzZWxmLnR5cGUydGVzdCgpLnN0YXJ0c3dpdGgoYiJhbnl0aGluZyIpKQpAQCAtMzI1LDM1ICszNDQsODYgQEAKIAogICAgIGRlZiB0ZXN0X2ZpbmQoc2VsZik6CiAgICAgICAgIGIgPSBzZWxmLnR5cGUydGVzdChiJ21pc3Npc3NpcHBpJykKKyAgICAgICAgaSA9IDEwNQorICAgICAgICB3ID0gMTE5CisKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiLmZpbmQoYidzcycpLCAyKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGIuZmluZChiJ3NzJywgMyksIDUpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYi5maW5kKGInc3MnLCAxLCA3KSwgMikKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiLmZpbmQoYidzcycsIDEsIDMpLCAtMSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiLmZpbmQoYid3JyksIC0xKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGIuZmluZChiJ21pc3Npc3NpcHBpYW4nKSwgLTEpCiAKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiLmZpbmQoaSksIDEpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYi5maW5kKHcpLCAtMSkKKworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGIuZmluZChiJ3NzJywgMyksIDUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYi5maW5kKGInc3MnLCAxLCA3KSwgMikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiLmZpbmQoYidzcycsIDEsIDMpLCAtMSkKKworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGIuZmluZChpLCA2KSwgNykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiLmZpbmQoaSwgMSwgMyksIDEpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYi5maW5kKHcsIDEsIDMpLCAtMSkKKworICAgICAgICBmb3IgaW5kZXggaW4gKC0xLCAyNTYsIHN5cy5tYXhzaXplICsgMSk6CisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KAorICAgICAgICAgICAgICAgIFZhbHVlRXJyb3IsIHInYnl0ZSBtdXN0IGJlIGluIHJhbmdlXCgwLCAyNTZcKScsCisgICAgICAgICAgICAgICAgYi5maW5kLCBpbmRleCkKKwogICAgIGRlZiB0ZXN0X3JmaW5kKHNlbGYpOgogICAgICAgICBiID0gc2VsZi50eXBlMnRlc3QoYidtaXNzaXNzaXBwaScpCisgICAgICAgIGkgPSAxMDUKKyAgICAgICAgdyA9IDExOQorCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYi5yZmluZChiJ3NzJyksIDUpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYi5yZmluZChiJ3NzJywgMyksIDUpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYi5yZmluZChiJ3NzJywgMCwgNiksIDIpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYi5yZmluZChiJ3cnKSwgLTEpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYi5yZmluZChiJ21pc3Npc3NpcHBpYW4nKSwgLTEpCiAKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiLnJmaW5kKGkpLCAxMCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiLnJmaW5kKHcpLCAtMSkKKworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGIucmZpbmQoYidzcycsIDMpLCA1KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGIucmZpbmQoYidzcycsIDAsIDYpLCAyKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYi5yZmluZChpLCAxLCAzKSwgMSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiLnJmaW5kKGksIDMsIDkpLCA3KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGIucmZpbmQodywgMSwgMyksIC0xKQorCiAgICAgZGVmIHRlc3RfaW5kZXgoc2VsZik6Ci0gICAgICAgIGIgPSBzZWxmLnR5cGUydGVzdChiJ3dvcmxkJykKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiLmluZGV4KGIndycpLCAwKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGIuaW5kZXgoYidvcmwnKSwgMSkKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgYi5pbmRleCwgYid3b3JtJykKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgYi5pbmRleCwgYidsZG8nKQorICAgICAgICBiID0gc2VsZi50eXBlMnRlc3QoYidtaXNzaXNzaXBwaScpCisgICAgICAgIGkgPSAxMDUKKyAgICAgICAgdyA9IDExOQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYi5pbmRleChiJ3NzJyksIDIpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIGIuaW5kZXgsIGIndycpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIGIuaW5kZXgsIGInbWlzc2lzc2lwcGlhbicpCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiLmluZGV4KGkpLCAxKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBiLmluZGV4LCB3KQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYi5pbmRleChiJ3NzJywgMyksIDUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYi5pbmRleChiJ3NzJywgMSwgNyksIDIpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIGIuaW5kZXgsIGInc3MnLCAxLCAzKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYi5pbmRleChpLCA2KSwgNykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiLmluZGV4KGksIDEsIDMpLCAxKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBiLmluZGV4LCB3LCAxLCAzKQogCiAgICAgZGVmIHRlc3RfcmluZGV4KHNlbGYpOgotICAgICAgICAjIFhYWCBjb3VsZCBiZSBtb3JlIHJpZ29yb3VzCi0gICAgICAgIGIgPSBzZWxmLnR5cGUydGVzdChiJ3dvcmxkJykKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiLnJpbmRleChiJ3cnKSwgMCkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiLnJpbmRleChiJ29ybCcpLCAxKQotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBiLnJpbmRleCwgYid3b3JtJykKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgYi5yaW5kZXgsIGInbGRvJykKKyAgICAgICAgYiA9IHNlbGYudHlwZTJ0ZXN0KGInbWlzc2lzc2lwcGknKQorICAgICAgICBpID0gMTA1CisgICAgICAgIHcgPSAxMTkKKworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGIucmluZGV4KGInc3MnKSwgNSkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgYi5yaW5kZXgsIGIndycpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIGIucmluZGV4LCBiJ21pc3Npc3NpcHBpYW4nKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYi5yaW5kZXgoaSksIDEwKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBiLnJpbmRleCwgdykKKworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGIucmluZGV4KGInc3MnLCAzKSwgNSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiLnJpbmRleChiJ3NzJywgMCwgNiksIDIpCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiLnJpbmRleChpLCAxLCAzKSwgMSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiLnJpbmRleChpLCAzLCA5KSwgNykKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgYi5yaW5kZXgsIHcsIDEsIDMpCiAKICAgICBkZWYgdGVzdF9yZXBsYWNlKHNlbGYpOgogICAgICAgICBiID0gc2VsZi50eXBlMnRlc3QoYidtaXNzaXNzaXBwaScpCkBAIC0zNjUsNiArNDM1LDE0IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYi5zcGxpdChiJ2knKSwgW2InbScsIGInc3MnLCBiJ3NzJywgYidwcCcsIGInJ10pCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYi5zcGxpdChiJ3NzJyksIFtiJ21pJywgYidpJywgYidpcHBpJ10pCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYi5zcGxpdChiJ3cnKSwgW2JdKQorICAgICAgICAjIHdpdGgga2V5d29yZCBhcmdzCisgICAgICAgIGIgPSBzZWxmLnR5cGUydGVzdChiJ2F8YnxjfGQnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGIuc3BsaXQoc2VwPWInfCcpLCBbYidhJywgYidiJywgYidjJywgYidkJ10pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYi5zcGxpdChiJ3wnLCBtYXhzcGxpdD0xKSwgW2InYScsIGInYnxjfGQnXSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiLnNwbGl0KHNlcD1iJ3wnLCBtYXhzcGxpdD0xKSwgW2InYScsIGInYnxjfGQnXSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiLnNwbGl0KG1heHNwbGl0PTEsIHNlcD1iJ3wnKSwgW2InYScsIGInYnxjfGQnXSkKKyAgICAgICAgYiA9IHNlbGYudHlwZTJ0ZXN0KGInYSBiIGMgZCcpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYi5zcGxpdChtYXhzcGxpdD0xKSwgW2InYScsIGInYiBjIGQnXSkKIAogICAgIGRlZiB0ZXN0X3NwbGl0X3doaXRlc3BhY2Uoc2VsZik6CiAgICAgICAgIGZvciBiIGluIChiJyAgYXJmICBiYXJmICAnLCBiJ2FyZlx0YmFyZicsIGInYXJmXG5iYXJmJywgYidhcmZccmJhcmYnLApAQCAtMzkzLDYgKzQ3MSwxNCBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGIucnNwbGl0KGInaScpLCBbYidtJywgYidzcycsIGInc3MnLCBiJ3BwJywgYicnXSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiLnJzcGxpdChiJ3NzJyksIFtiJ21pJywgYidpJywgYidpcHBpJ10pCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYi5yc3BsaXQoYid3JyksIFtiXSkKKyAgICAgICAgIyB3aXRoIGtleXdvcmQgYXJncworICAgICAgICBiID0gc2VsZi50eXBlMnRlc3QoYidhfGJ8Y3xkJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiLnJzcGxpdChzZXA9Yid8JyksIFtiJ2EnLCBiJ2InLCBiJ2MnLCBiJ2QnXSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiLnJzcGxpdChiJ3wnLCBtYXhzcGxpdD0xKSwgW2InYXxifGMnLCBiJ2QnXSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiLnJzcGxpdChzZXA9Yid8JywgbWF4c3BsaXQ9MSksIFtiJ2F8YnxjJywgYidkJ10pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYi5yc3BsaXQobWF4c3BsaXQ9MSwgc2VwPWInfCcpLCBbYidhfGJ8YycsIGInZCddKQorICAgICAgICBiID0gc2VsZi50eXBlMnRlc3QoYidhIGIgYyBkJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiLnJzcGxpdChtYXhzcGxpdD0xKSwgW2InYSBiIGMnLCBiJ2QnXSkKIAogICAgIGRlZiB0ZXN0X3JzcGxpdF93aGl0ZXNwYWNlKHNlbGYpOgogICAgICAgICBmb3IgYiBpbiAoYicgIGFyZiAgYmFyZiAgJywgYidhcmZcdGJhcmYnLCBiJ2FyZlxuYmFyZicsIGInYXJmXHJiYXJmJywKQEAgLTQ3Myw2ICs1NTksMjcgQEAKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBzZWxmLnR5cGUydGVzdChiJ2FiYycpLmxzdHJpcCwgJ2InKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIHNlbGYudHlwZTJ0ZXN0KGInYWJjJykucnN0cmlwLCAnYicpCiAKKyAgICBkZWYgdGVzdF9jZW50ZXIoc2VsZik6CisgICAgICAgICMgRmlsbCBjaGFyYWN0ZXIgY2FuIGJlIGVpdGhlciBieXRlcyBvciBieXRlYXJyYXkgKGlzc3VlIDEyMzgwKQorICAgICAgICBiID0gc2VsZi50eXBlMnRlc3QoYidhYmMnKQorICAgICAgICBmb3IgZmlsbF90eXBlIGluIChieXRlcywgYnl0ZWFycmF5KToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYi5jZW50ZXIoNywgZmlsbF90eXBlKGInLScpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi50eXBlMnRlc3QoYictLWFiYy0tJykpCisKKyAgICBkZWYgdGVzdF9sanVzdChzZWxmKToKKyAgICAgICAgIyBGaWxsIGNoYXJhY3RlciBjYW4gYmUgZWl0aGVyIGJ5dGVzIG9yIGJ5dGVhcnJheSAoaXNzdWUgMTIzODApCisgICAgICAgIGIgPSBzZWxmLnR5cGUydGVzdChiJ2FiYycpCisgICAgICAgIGZvciBmaWxsX3R5cGUgaW4gKGJ5dGVzLCBieXRlYXJyYXkpOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiLmxqdXN0KDcsIGZpbGxfdHlwZShiJy0nKSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYudHlwZTJ0ZXN0KGInYWJjLS0tLScpKQorCisgICAgZGVmIHRlc3Rfcmp1c3Qoc2VsZik6CisgICAgICAgICMgRmlsbCBjaGFyYWN0ZXIgY2FuIGJlIGVpdGhlciBieXRlcyBvciBieXRlYXJyYXkgKGlzc3VlIDEyMzgwKQorICAgICAgICBiID0gc2VsZi50eXBlMnRlc3QoYidhYmMnKQorICAgICAgICBmb3IgZmlsbF90eXBlIGluIChieXRlcywgYnl0ZWFycmF5KToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYi5yanVzdCg3LCBmaWxsX3R5cGUoYictJykpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnR5cGUydGVzdChiJy0tLS1hYmMnKSkKKwogICAgIGRlZiB0ZXN0X29yZChzZWxmKToKICAgICAgICAgYiA9IHNlbGYudHlwZTJ0ZXN0KGInXDBBXHg3Zlx4ODBceGZmJykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChbb3JkKGJbaTppKzFdKSBmb3IgaSBpbiByYW5nZShsZW4oYikpXSwKQEAgLTUyOSw2ICs2MzYsMTQgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChUcnVlLCBiLnN0YXJ0c3dpdGgoaCwgTm9uZSwgLTIpKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKEZhbHNlLCBiLnN0YXJ0c3dpdGgoeCwgTm9uZSwgTm9uZSkpCiAKKyAgICBkZWYgdGVzdF9pbnRlZ2VyX2FyZ3VtZW50c19vdXRfb2ZfYnl0ZV9yYW5nZShzZWxmKToKKyAgICAgICAgYiA9IHNlbGYudHlwZTJ0ZXN0KGInaGVsbG8nKQorCisgICAgICAgIGZvciBtZXRob2QgaW4gKGIuY291bnQsIGIuZmluZCwgYi5pbmRleCwgYi5yZmluZCwgYi5yaW5kZXgpOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgbWV0aG9kLCAtMSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIG1ldGhvZCwgMjU2KQorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgbWV0aG9kLCA5OTk5KQorCiAgICAgZGVmIHRlc3RfZmluZF9ldGNfcmFpc2VfY29ycmVjdF9lcnJvcl9tZXNzYWdlcyhzZWxmKToKICAgICAgICAgIyBpc3N1ZSAxMTgyOAogICAgICAgICBiID0gc2VsZi50eXBlMnRlc3QoYidoZWxsbycpCkBAIC02MzQsNiArNzQ5LDM5IEBACiAgICAgICAgIGIucmV2ZXJzZSgpCiAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoYikKIAorICAgIGRlZiB0ZXN0X2NsZWFyKHNlbGYpOgorICAgICAgICBiID0gYnl0ZWFycmF5KGIncHl0aG9uJykKKyAgICAgICAgYi5jbGVhcigpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYiwgYicnKQorCisgICAgICAgIGIgPSBieXRlYXJyYXkoYicnKQorICAgICAgICBiLmNsZWFyKCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiLCBiJycpCisKKyAgICAgICAgYiA9IGJ5dGVhcnJheShiJycpCisgICAgICAgIGIuYXBwZW5kKG9yZCgncicpKQorICAgICAgICBiLmNsZWFyKCkKKyAgICAgICAgYi5hcHBlbmQob3JkKCdwJykpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYiwgYidwJykKKworICAgIGRlZiB0ZXN0X2NvcHkoc2VsZik6CisgICAgICAgIGIgPSBieXRlYXJyYXkoYidhYmMnKQorICAgICAgICBiYiA9IGIuY29weSgpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYmIsIGInYWJjJykKKworICAgICAgICBiID0gYnl0ZWFycmF5KGInJykKKyAgICAgICAgYmIgPSBiLmNvcHkoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJiLCBiJycpCisKKyAgICAgICAgIyB0ZXN0IHRoYXQgaXQncyBpbmRlZWQgYSBjb3B5IGFuZCBub3QgYSByZWZlcmVuY2UKKyAgICAgICAgYiA9IGJ5dGVhcnJheShiJ2FiYycpCisgICAgICAgIGJiID0gYi5jb3B5KCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiLCBiYikKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vdChiLCBiYikKKyAgICAgICAgYmIuYXBwZW5kKG9yZCgnZCcpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJiLCBiJ2FiY2QnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGIsIGInYWJjJykKKwogICAgIGRlZiB0ZXN0X3JlZ2V4cHMoc2VsZik6CiAgICAgICAgIGRlZiBieShzKToKICAgICAgICAgICAgIHJldHVybiBieXRlYXJyYXkobWFwKG9yZCwgcykpCkBAIC0xMTA1LDkgKzEyNTMsMTEgQEAKIAogY2xhc3MgQnl0ZUFycmF5QXNTdHJpbmdUZXN0KEZpeGVkU3RyaW5nVGVzdCk6CiAgICAgdHlwZTJ0ZXN0ID0gYnl0ZWFycmF5CisgICAgY29udGFpbnNfYnl0ZXMgPSBUcnVlCiAKIGNsYXNzIEJ5dGVzQXNTdHJpbmdUZXN0KEZpeGVkU3RyaW5nVGVzdCk6CiAgICAgdHlwZTJ0ZXN0ID0gYnl0ZXMKKyAgICBjb250YWluc19ieXRlcyA9IFRydWUKIAogCiBjbGFzcyBTdWJjbGFzc1Rlc3QodW5pdHRlc3QuVGVzdENhc2UpOgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9iejIucHkgYi9MaWIvdGVzdC90ZXN0X2J6Mi5weQppbmRleCBiZTM1NTgwLi5jYzQxNmVkIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2J6Mi5weQorKysgYi9MaWIvdGVzdC90ZXN0X2J6Mi5weQpAQCAtMSwxMCArMSwxMSBAQAogIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMwogZnJvbSB0ZXN0IGltcG9ydCBzdXBwb3J0Ci1mcm9tIHRlc3Quc3VwcG9ydCBpbXBvcnQgVEVTVEZOCitmcm9tIHRlc3Quc3VwcG9ydCBpbXBvcnQgVEVTVEZOLCBiaWdtZW10ZXN0LCBfNEcKIAogaW1wb3J0IHVuaXR0ZXN0CiBmcm9tIGlvIGltcG9ydCBCeXRlc0lPCiBpbXBvcnQgb3MKK2ltcG9ydCByYW5kb20KIGltcG9ydCBzdWJwcm9jZXNzCiBpbXBvcnQgc3lzCiAKQEAgLTIxLDkgKzIyLDMxIEBACiAKIGNsYXNzIEJhc2VUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAiQmFzZSBmb3Igb3RoZXIgdGVzdGNhc2VzLiIKLSAgICBURVhUID0gYidyb290Ong6MDowOnJvb3Q6L3Jvb3Q6L2Jpbi9iYXNoXG5iaW46eDoxOjE6YmluOi9iaW46XG5kYWVtb246eDoyOjI6ZGFlbW9uOi9zYmluOlxuYWRtOng6Mzo0OmFkbTovdmFyL2FkbTpcbmxwOng6NDo3OmxwOi92YXIvc3Bvb2wvbHBkOlxuc3luYzp4OjU6MDpzeW5jOi9zYmluOi9iaW4vc3luY1xuc2h1dGRvd246eDo2OjA6c2h1dGRvd246L3NiaW46L3NiaW4vc2h1dGRvd25cbmhhbHQ6eDo3OjA6aGFsdDovc2Jpbjovc2Jpbi9oYWx0XG5tYWlsOng6ODoxMjptYWlsOi92YXIvc3Bvb2wvbWFpbDpcbm5ld3M6eDo5OjEzOm5ld3M6L3Zhci9zcG9vbC9uZXdzOlxudXVjcDp4OjEwOjE0OnV1Y3A6L3Zhci9zcG9vbC91dWNwOlxub3BlcmF0b3I6eDoxMTowOm9wZXJhdG9yOi9yb290OlxuZ2FtZXM6eDoxMjoxMDA6Z2FtZXM6L3Vzci9nYW1lczpcbmdvcGhlcjp4OjEzOjMwOmdvcGhlcjovdXNyL2xpYi9nb3BoZXItZGF0YTpcbmZ0cDp4OjE0OjUwOkZUUCBVc2VyOi92YXIvZnRwOi9iaW4vYmFzaFxubm9ib2R5Ong6NjU1MzQ6NjU1MzQ6Tm9ib2R5Oi9ob21lOlxucG9zdGZpeDp4OjEwMDoxMDE6cG9zdGZpeDovdmFyL3Nwb29sL3Bvc3RmaXg6XG5uaWVtZXllcjp4OjUwMDo1MDA6Oi9ob21lL25pZW1leWVyOi9iaW4vYmFzaFxucG9zdGdyZXM6eDoxMDE6MTAyOlBvc3RncmVTUUwgU2VydmVyOi92YXIvbGliL3Bnc3FsOi9iaW4vYmFzaFxubXlzcWw6eDoxMDI6MTAzOk15U1FMIHNlcnZlcjovdmFyL2xpYi9teXNxbDovYmluL2Jhc2hcbnd3dzp4OjEwMzoxMDQ6Oi92YXIvd3d3Oi9iaW4vZmFsc2VcbicKKyAgICBURVhUX0xJTkVTID0gWworICAgICAgICBiJ3Jvb3Q6eDowOjA6cm9vdDovcm9vdDovYmluL2Jhc2hcbicsCisgICAgICAgIGInYmluOng6MToxOmJpbjovYmluOlxuJywKKyAgICAgICAgYidkYWVtb246eDoyOjI6ZGFlbW9uOi9zYmluOlxuJywKKyAgICAgICAgYidhZG06eDozOjQ6YWRtOi92YXIvYWRtOlxuJywKKyAgICAgICAgYidscDp4OjQ6NzpscDovdmFyL3Nwb29sL2xwZDpcbicsCisgICAgICAgIGInc3luYzp4OjU6MDpzeW5jOi9zYmluOi9iaW4vc3luY1xuJywKKyAgICAgICAgYidzaHV0ZG93bjp4OjY6MDpzaHV0ZG93bjovc2Jpbjovc2Jpbi9zaHV0ZG93blxuJywKKyAgICAgICAgYidoYWx0Ong6NzowOmhhbHQ6L3NiaW46L3NiaW4vaGFsdFxuJywKKyAgICAgICAgYidtYWlsOng6ODoxMjptYWlsOi92YXIvc3Bvb2wvbWFpbDpcbicsCisgICAgICAgIGInbmV3czp4Ojk6MTM6bmV3czovdmFyL3Nwb29sL25ld3M6XG4nLAorICAgICAgICBiJ3V1Y3A6eDoxMDoxNDp1dWNwOi92YXIvc3Bvb2wvdXVjcDpcbicsCisgICAgICAgIGInb3BlcmF0b3I6eDoxMTowOm9wZXJhdG9yOi9yb290OlxuJywKKyAgICAgICAgYidnYW1lczp4OjEyOjEwMDpnYW1lczovdXNyL2dhbWVzOlxuJywKKyAgICAgICAgYidnb3BoZXI6eDoxMzozMDpnb3BoZXI6L3Vzci9saWIvZ29waGVyLWRhdGE6XG4nLAorICAgICAgICBiJ2Z0cDp4OjE0OjUwOkZUUCBVc2VyOi92YXIvZnRwOi9iaW4vYmFzaFxuJywKKyAgICAgICAgYidub2JvZHk6eDo2NTUzNDo2NTUzNDpOb2JvZHk6L2hvbWU6XG4nLAorICAgICAgICBiJ3Bvc3RmaXg6eDoxMDA6MTAxOnBvc3RmaXg6L3Zhci9zcG9vbC9wb3N0Zml4OlxuJywKKyAgICAgICAgYiduaWVtZXllcjp4OjUwMDo1MDA6Oi9ob21lL25pZW1leWVyOi9iaW4vYmFzaFxuJywKKyAgICAgICAgYidwb3N0Z3Jlczp4OjEwMToxMDI6UG9zdGdyZVNRTCBTZXJ2ZXI6L3Zhci9saWIvcGdzcWw6L2Jpbi9iYXNoXG4nLAorICAgICAgICBiJ215c3FsOng6MTAyOjEwMzpNeVNRTCBzZXJ2ZXI6L3Zhci9saWIvbXlzcWw6L2Jpbi9iYXNoXG4nLAorICAgICAgICBiJ3d3dzp4OjEwMzoxMDQ6Oi92YXIvd3d3Oi9iaW4vZmFsc2VcbicsCisgICAgICAgIF0KKyAgICBURVhUID0gYicnLmpvaW4oVEVYVF9MSU5FUykKICAgICBEQVRBID0gYidCWmg5MUFZJlNZLlx4YzhOXHgxOFx4MDBceDAxPl9ceDgwXHgwMFx4MTBAXHgwMlx4ZmZceGYwXHgwMVx4MDduXHgwMD9ceGU3XHhmZlx4ZTAwXHgwMVx4OTlceGFhXHgwMFx4YzBceDAzRlx4ODZceDhjIyZceDgzRlx4OWFceDAzXHgwNlx4YTZceGQwXHhhNlx4OTNNXHgwZlFceGE3XHhhOFx4MDZceDgwNGhoXHgxMiRceDExXHhhNGk0XHhmMTRTXHhkMjxRXHhiNVx4MGZIXHhkM1x4ZDRceGRkXHhkNVx4ODdceGJiXHhmOFx4OTRcclx4OGZceGFmSVx4MTJceGUxXHhjOVx4ZjgvRVx4MDBwdVx4ODlceDEyXVx4YzlceGJiRExcblFceDBlXHQxXHgxMlx4ZGZceGEwXHhjMFx4OTdceGFjMk85XHg4OVx4MTNceDk0XHgwZVx4MWM3XHgwZWRceDk1SVx4MGNceGFhSlx4YTRceDE4TFx4MTBceDA1I1x4OWNceGFmXHhiYVx4YmMvXHg5N1x4OGEjQ1x4YzhceGUxXHg4Y1dceGY5XHhlMlx4ZDBceGQ2TVx4YTdceDhiWGE8ZVx4ODR0XHhjYkxceGIzXHhhN1x4ZDlceGNkXHhkMVx4Y2JceDg0Llx4YWZceGIzXHhhYlx4YWJceGFkYG59XHhhMGxoXHRFLFx4OGVaXHgxNVx4MTdWSD5ceDg4XHhlNVx4Y2Q5Z2Q2XHgwYlxuXHhlOVx4OWJceGQ1XHg4YVx4OTlceGY3XHgwOC5LXHg4ZXZceGZiXHhmN3h3XHhiYlx4ZGZceGExXHg5Mlx4ZjFceGRkfC8iO1x4YTJceGJhXHg5Zlx4ZDVceGIxI0FceGI2XHhmNlx4YjNvXHhjOVx4YzV5XFxceGViT1x4ZTdceDg1XHg5YVx4YmNceGI2ZjhceDk1Mlx4ZDVceGQ3IiVceDg5PlYsXHhmN1x4YTZ6XHhlMlx4OWZceGEzXHhkZlx4MTFceDExIlx4ZDZFKUlceGE5XHgxM15ceGNhXHhmM3JceGQwXHgwM1VceDkyMlx4ZjI2XHhlY1x4YjZceGVkXHg4Ylx4YzNVXHgxM1x4OWRceGM1XHgxNzBceGE0XHhmYV5ceDkyXHhhY0RGXHg4YVx4OTdceGQ2XHgxOVx4ZmVceGRkXHhiOFx4YmRceDFhXHg5YVx4MTlceGEzXHg4MGFua1JceDhiXHhlNVx4ZDgzXVx4YTlceGM2XHgwOFx4ODJmXHhmNlx4YjkiNmwkXHhiOGpAXHhjMFx4OGFceGIwbDEuLlx4YmFrXHg4M2xzXHgxNVx4YmNceGY0XHhjMVx4MTNceGJlXHhmOEVceGI4XHg5ZFxyXHhhOFx4OWRrXHg4NFx4ZDNuXHhmYVx4YWNRXHgwN1x4YjEleVx4YWF2XHhiNFx4MDhceGUwelx4MWJceDE2XHhmNVx4MDRceGU5XHhjY1x4YjlceDA4elx4MWVuNy5HXHhmY11ceGM5XHgxNFx4ZTFCQFx4YmIhOGAnCi0gICAgREFUQV9DUkxGID0gYidCWmg5MUFZJlNZXHhhZXpceGJiTlx4MDBceDAxSFx4ZGZceDgwXHgwMFx4MTJAXHgwMlx4ZmZceGYwXHgwMVx4MDduXHgwMD9ceGU3XHhmZlx4ZTBAXHgwMVx4YmNceGM2YFx4ODYqXHg4ZD1NXHhhOVx4OWFceDg2XHhkMExAXHgwZklceGE2IVx4YTFceDEzXHhjOFx4ODhqZGlceDhkQFx4MDNAXHgxYVx4MWFceDBjXHgwY1x4ODMgXHgwMFx4YzRoMlx4MTlceDAxXHg4MkRceDg0ZVx0XHhlOFx4OTlceDg5XHgxOVx4MWFoXHgwMFxyXHgxYVx4MTFceGFmXHg5Ylx4MGZHXHhmNShceDFiXHgxZj9cdFx4MTJceGNmXHhiNVx4ZmNceDk1RVx4MDBwc1x4ODlceDEyXlx4YTRceGRkXHhhMiZceDA1KFx4ODdceDA0XHg5OFx4ODl1XHhlNDAlXHhiNlx4MTlcJ1x4OGNceGM0XHg4OVx4Y2FceDA3XHgwZVx4MWIhXHg5MVVJRlUlQ1x4OTk0IURJXHhkMlx4ZmFceGYwXHhmMU44V1x4ZGVceDEzQVx4ZjVceDljciU/XHg5ZjM7STQ1QVx4ZDFceDhiVFx4YjE8bFx4YmFceGNiX1x4YzAweFlceDE3clx4MTdceDg4XHgwOFx4MDhAXHhhMFxyeUBceDEwXHgwNCQpYFx4ZjJceGNlXHg4OXpceGIwc1x4ZWNceDliLmlXXHg5ZFx4ODFceGI1LSt0XHg5Zlx4MWFcJ1x4OTdkQlx4ZjV4XHhiNVx4YmUuWy5ceGQ3XHgwZVx4ODFceGU3XHgwOFx4MWNOYFx4ODhceDEwXHhjYVx4ODdceGMzISJceDgwXHg5MlJceGExL1x4ZDFceGMwXHhlNm1mXHhhY1x4YmRceDk5XHhjY2FceGIzXHg4NzgwPlx4YTRceGM3XHg4ZFx4MWFcXCJceGFkXHhhMVx4YWJ5QmdceDE1XHhiOWxceDg4XHg4OFx4OTFrIlx4OTRceGE0XHhkNFx4ODlceGFlKlx4YTZceDBiXHgxMFx4MGNceGQ2XHhkNG1ceGU4Nlx4ZWNceGI1alx4OGFceDg2alwnO1x4Y2EuXHgwMUlceGYyXHhhYUpceGU4XHg4OFx4OGNVK3QzXHhmYlx4MGNcblx4YTMzXHgxM3IyXHJceDE2XHhlMFx4YjMoXHhiZlx4MWRceDgzclx4ZTdNXHhmMERceDEzNjVceGQ4XHg4OFx4ZDNceGE0XHg5Mlx4Y2IyXHgwNlx4MDRcXFx4YzFceGIwXHhlYS8vXHhiZWsmXHhkOFx4ZTYrdFx4ZTVceGExXHgxM1x4YWRhXHgxNlx4ZGVyNSJ3XVx4YTJpXHhiN1tceDk3UiBceGUySVRceGNkO1pceDA0ZGs0XHhhZFx4OGFcdFx4ZDNceDgxelx4MTBceGYxOl5gXHhhYlx4MWZceGM1XHhkY1x4OTFOXHgxNCQrXHg5ZVx4YWVceGQzXHg4MCcKIAogICAgIGlmIGhhc19jbWRsaW5lX2J1bnppcDI6CiAgICAgICAgIGRlZiBkZWNvbXByZXNzKHNlbGYsIGRhdGEpOgpAQCAtNTQsODMgKzc3LDEzNSBAQAogICAgICAgICBpZiBvcy5wYXRoLmlzZmlsZShzZWxmLmZpbGVuYW1lKToKICAgICAgICAgICAgIG9zLnVubGluayhzZWxmLmZpbGVuYW1lKQogCi0gICAgZGVmIGNyZWF0ZVRlbXBGaWxlKHNlbGYsIGNybGY9MCk6CisgICAgZGVmIGNyZWF0ZVRlbXBGaWxlKHNlbGYsIHN0cmVhbXM9MSk6CiAgICAgICAgIHdpdGggb3BlbihzZWxmLmZpbGVuYW1lLCAid2IiKSBhcyBmOgotICAgICAgICAgICAgaWYgY3JsZjoKLSAgICAgICAgICAgICAgICBkYXRhID0gc2VsZi5EQVRBX0NSTEYKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgZGF0YSA9IHNlbGYuREFUQQotICAgICAgICAgICAgZi53cml0ZShkYXRhKQorICAgICAgICAgICAgZi53cml0ZShzZWxmLkRBVEEgKiBzdHJlYW1zKQogCiAgICAgZGVmIHRlc3RSZWFkKHNlbGYpOgotICAgICAgICAjICJUZXN0IEJaMkZpbGUucmVhZCgpIgogICAgICAgICBzZWxmLmNyZWF0ZVRlbXBGaWxlKCkKICAgICAgICAgd2l0aCBCWjJGaWxlKHNlbGYuZmlsZW5hbWUpIGFzIGJ6MmY6CiAgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGJ6MmYucmVhZCwgTm9uZSkKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYnoyZi5yZWFkKCksIHNlbGYuVEVYVCkKIAorICAgIGRlZiB0ZXN0UmVhZE11bHRpU3RyZWFtKHNlbGYpOgorICAgICAgICBzZWxmLmNyZWF0ZVRlbXBGaWxlKHN0cmVhbXM9NSkKKyAgICAgICAgd2l0aCBCWjJGaWxlKHNlbGYuZmlsZW5hbWUpIGFzIGJ6MmY6CisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGJ6MmYucmVhZCwgTm9uZSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYnoyZi5yZWFkKCksIHNlbGYuVEVYVCAqIDUpCisKKyAgICBkZWYgdGVzdFJlYWRNb25rZXlNdWx0aVN0cmVhbShzZWxmKToKKyAgICAgICAgIyBUZXN0IEJaMkZpbGUucmVhZCgpIG9uIGEgbXVsdGktc3RyZWFtIGFyY2hpdmUgd2hlcmUgYSBzdHJlYW0KKyAgICAgICAgIyBib3VuZGFyeSBjb2luY2lkZXMgd2l0aCB0aGUgZW5kIG9mIHRoZSByYXcgcmVhZCBidWZmZXIuCisgICAgICAgIGJ1ZmZlcl9zaXplID0gYnoyLl9CVUZGRVJfU0laRQorICAgICAgICBiejIuX0JVRkZFUl9TSVpFID0gbGVuKHNlbGYuREFUQSkKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgc2VsZi5jcmVhdGVUZW1wRmlsZShzdHJlYW1zPTUpCisgICAgICAgICAgICB3aXRoIEJaMkZpbGUoc2VsZi5maWxlbmFtZSkgYXMgYnoyZjoKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGJ6MmYucmVhZCwgTm9uZSkKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJ6MmYucmVhZCgpLCBzZWxmLlRFWFQgKiA1KQorICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgYnoyLl9CVUZGRVJfU0laRSA9IGJ1ZmZlcl9zaXplCisKICAgICBkZWYgdGVzdFJlYWQwKHNlbGYpOgotICAgICAgICAjIFRlc3QgQkJaMkZpbGUucmVhZCgwKSIKICAgICAgICAgc2VsZi5jcmVhdGVUZW1wRmlsZSgpCiAgICAgICAgIHdpdGggQloyRmlsZShzZWxmLmZpbGVuYW1lKSBhcyBiejJmOgogICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBiejJmLnJlYWQsIE5vbmUpCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJ6MmYucmVhZCgwKSwgYiIiKQogCiAgICAgZGVmIHRlc3RSZWFkQ2h1bmsxMChzZWxmKToKLSAgICAgICAgIyAiVGVzdCBCWjJGaWxlLnJlYWQoKSBpbiBjaHVua3Mgb2YgMTAgYnl0ZXMiCiAgICAgICAgIHNlbGYuY3JlYXRlVGVtcEZpbGUoKQogICAgICAgICB3aXRoIEJaMkZpbGUoc2VsZi5maWxlbmFtZSkgYXMgYnoyZjoKICAgICAgICAgICAgIHRleHQgPSBiJycKLSAgICAgICAgICAgIHdoaWxlIDE6CisgICAgICAgICAgICB3aGlsZSBUcnVlOgogICAgICAgICAgICAgICAgIHN0ciA9IGJ6MmYucmVhZCgxMCkKICAgICAgICAgICAgICAgICBpZiBub3Qgc3RyOgogICAgICAgICAgICAgICAgICAgICBicmVhawogICAgICAgICAgICAgICAgIHRleHQgKz0gc3RyCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHRleHQsIHNlbGYuVEVYVCkKIAorICAgIGRlZiB0ZXN0UmVhZENodW5rMTBNdWx0aVN0cmVhbShzZWxmKToKKyAgICAgICAgc2VsZi5jcmVhdGVUZW1wRmlsZShzdHJlYW1zPTUpCisgICAgICAgIHdpdGggQloyRmlsZShzZWxmLmZpbGVuYW1lKSBhcyBiejJmOgorICAgICAgICAgICAgdGV4dCA9IGInJworICAgICAgICAgICAgd2hpbGUgVHJ1ZToKKyAgICAgICAgICAgICAgICBzdHIgPSBiejJmLnJlYWQoMTApCisgICAgICAgICAgICAgICAgaWYgbm90IHN0cjoKKyAgICAgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgICAgICAgICB0ZXh0ICs9IHN0cgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh0ZXh0LCBzZWxmLlRFWFQgKiA1KQorCiAgICAgZGVmIHRlc3RSZWFkMTAwKHNlbGYpOgotICAgICAgICAjICJUZXN0IEJaMkZpbGUucmVhZCgxMDApIgogICAgICAgICBzZWxmLmNyZWF0ZVRlbXBGaWxlKCkKICAgICAgICAgd2l0aCBCWjJGaWxlKHNlbGYuZmlsZW5hbWUpIGFzIGJ6MmY6CiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJ6MmYucmVhZCgxMDApLCBzZWxmLlRFWFRbOjEwMF0pCiAKKyAgICBkZWYgdGVzdFBlZWsoc2VsZik6CisgICAgICAgIHNlbGYuY3JlYXRlVGVtcEZpbGUoKQorICAgICAgICB3aXRoIEJaMkZpbGUoc2VsZi5maWxlbmFtZSkgYXMgYnoyZjoKKyAgICAgICAgICAgIHBkYXRhID0gYnoyZi5wZWVrKCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwobGVuKHBkYXRhKSwgMCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShzZWxmLlRFWFQuc3RhcnRzd2l0aChwZGF0YSkpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJ6MmYucmVhZCgpLCBzZWxmLlRFWFQpCisKKyAgICBkZWYgdGVzdFJlYWRJbnRvKHNlbGYpOgorICAgICAgICBzZWxmLmNyZWF0ZVRlbXBGaWxlKCkKKyAgICAgICAgd2l0aCBCWjJGaWxlKHNlbGYuZmlsZW5hbWUpIGFzIGJ6MmY6CisgICAgICAgICAgICBuID0gMTI4CisgICAgICAgICAgICBiID0gYnl0ZWFycmF5KG4pCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJ6MmYucmVhZGludG8oYiksIG4pCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGIsIHNlbGYuVEVYVFs6bl0pCisgICAgICAgICAgICBuID0gbGVuKHNlbGYuVEVYVCkgLSBuCisgICAgICAgICAgICBiID0gYnl0ZWFycmF5KGxlbihzZWxmLlRFWFQpKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiejJmLnJlYWRpbnRvKGIpLCBuKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiWzpuXSwgc2VsZi5URVhUWy1uOl0pCisKICAgICBkZWYgdGVzdFJlYWRMaW5lKHNlbGYpOgotICAgICAgICAjICJUZXN0IEJaMkZpbGUucmVhZGxpbmUoKSIKICAgICAgICAgc2VsZi5jcmVhdGVUZW1wRmlsZSgpCiAgICAgICAgIHdpdGggQloyRmlsZShzZWxmLmZpbGVuYW1lKSBhcyBiejJmOgogICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBiejJmLnJlYWRsaW5lLCBOb25lKQotICAgICAgICAgICAgc2lvID0gQnl0ZXNJTyhzZWxmLlRFWFQpCi0gICAgICAgICAgICBmb3IgbGluZSBpbiBzaW8ucmVhZGxpbmVzKCk6CisgICAgICAgICAgICBmb3IgbGluZSBpbiBzZWxmLlRFWFRfTElORVM6CisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiejJmLnJlYWRsaW5lKCksIGxpbmUpCisKKyAgICBkZWYgdGVzdFJlYWRMaW5lTXVsdGlTdHJlYW0oc2VsZik6CisgICAgICAgIHNlbGYuY3JlYXRlVGVtcEZpbGUoc3RyZWFtcz01KQorICAgICAgICB3aXRoIEJaMkZpbGUoc2VsZi5maWxlbmFtZSkgYXMgYnoyZjoKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgYnoyZi5yZWFkbGluZSwgTm9uZSkKKyAgICAgICAgICAgIGZvciBsaW5lIGluIHNlbGYuVEVYVF9MSU5FUyAqIDU6CiAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiejJmLnJlYWRsaW5lKCksIGxpbmUpCiAKICAgICBkZWYgdGVzdFJlYWRMaW5lcyhzZWxmKToKLSAgICAgICAgIyAiVGVzdCBCWjJGaWxlLnJlYWRsaW5lcygpIgogICAgICAgICBzZWxmLmNyZWF0ZVRlbXBGaWxlKCkKICAgICAgICAgd2l0aCBCWjJGaWxlKHNlbGYuZmlsZW5hbWUpIGFzIGJ6MmY6CiAgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGJ6MmYucmVhZGxpbmVzLCBOb25lKQotICAgICAgICAgICAgc2lvID0gQnl0ZXNJTyhzZWxmLlRFWFQpCi0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJ6MmYucmVhZGxpbmVzKCksIHNpby5yZWFkbGluZXMoKSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYnoyZi5yZWFkbGluZXMoKSwgc2VsZi5URVhUX0xJTkVTKQorCisgICAgZGVmIHRlc3RSZWFkTGluZXNNdWx0aVN0cmVhbShzZWxmKToKKyAgICAgICAgc2VsZi5jcmVhdGVUZW1wRmlsZShzdHJlYW1zPTUpCisgICAgICAgIHdpdGggQloyRmlsZShzZWxmLmZpbGVuYW1lKSBhcyBiejJmOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBiejJmLnJlYWRsaW5lcywgTm9uZSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYnoyZi5yZWFkbGluZXMoKSwgc2VsZi5URVhUX0xJTkVTICogNSkKIAogICAgIGRlZiB0ZXN0SXRlcmF0b3Ioc2VsZik6Ci0gICAgICAgICMgIlRlc3QgaXRlcihCWjJGaWxlKSIKICAgICAgICAgc2VsZi5jcmVhdGVUZW1wRmlsZSgpCiAgICAgICAgIHdpdGggQloyRmlsZShzZWxmLmZpbGVuYW1lKSBhcyBiejJmOgotICAgICAgICAgICAgc2lvID0gQnl0ZXNJTyhzZWxmLlRFWFQpCi0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxpc3QoaXRlcihiejJmKSksIHNpby5yZWFkbGluZXMoKSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGlzdChpdGVyKGJ6MmYpKSwgc2VsZi5URVhUX0xJTkVTKQorCisgICAgZGVmIHRlc3RJdGVyYXRvck11bHRpU3RyZWFtKHNlbGYpOgorICAgICAgICBzZWxmLmNyZWF0ZVRlbXBGaWxlKHN0cmVhbXM9NSkKKyAgICAgICAgd2l0aCBCWjJGaWxlKHNlbGYuZmlsZW5hbWUpIGFzIGJ6MmY6CisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxpc3QoaXRlcihiejJmKSksIHNlbGYuVEVYVF9MSU5FUyAqIDUpCiAKICAgICBkZWYgdGVzdENsb3NlZEl0ZXJhdG9yRGVhZGxvY2soc2VsZik6Ci0gICAgICAgICMgIlRlc3QgdGhhdCBpdGVyYXRpb24gb24gYSBjbG9zZWQgYnoyZmlsZSByZWxlYXNlcyB0aGUgbG9jay4iCi0gICAgICAgICMgaHR0cDovL2J1Z3MucHl0aG9uLm9yZy9pc3N1ZTMzMDkKKyAgICAgICAgIyBJc3N1ZSAjMzMwOTogSXRlcmF0aW9uIG9uIGEgY2xvc2VkIEJaMkZpbGUgc2hvdWxkIHJlbGVhc2UgdGhlIGxvY2suCiAgICAgICAgIHNlbGYuY3JlYXRlVGVtcEZpbGUoKQogICAgICAgICBiejJmID0gQloyRmlsZShzZWxmLmZpbGVuYW1lKQogICAgICAgICBiejJmLmNsb3NlKCkKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgYnoyZi5fX25leHRfXykKLSAgICAgICAgIyBUaGlzIGNhbGwgd2lsbCBkZWFkbG9jayBvZiB0aGUgYWJvdmUgLl9fbmV4dF9fIGNhbGwgZmFpbGVkIHRvCisgICAgICAgICMgVGhpcyBjYWxsIHdpbGwgZGVhZGxvY2sgaWYgdGhlIGFib3ZlIC5fX25leHRfXyBjYWxsIGZhaWxlZCB0bwogICAgICAgICAjIHJlbGVhc2UgdGhlIGxvY2suCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIGJ6MmYucmVhZGxpbmVzKQogCiAgICAgZGVmIHRlc3RXcml0ZShzZWxmKToKLSAgICAgICAgIyAiVGVzdCBCWjJGaWxlLndyaXRlKCkiCiAgICAgICAgIHdpdGggQloyRmlsZShzZWxmLmZpbGVuYW1lLCAidyIpIGFzIGJ6MmY6CiAgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGJ6MmYud3JpdGUpCiAgICAgICAgICAgICBiejJmLndyaXRlKHNlbGYuVEVYVCkKQEAgLTEzOCwxMCArMjEzLDkgQEAKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5kZWNvbXByZXNzKGYucmVhZCgpKSwgc2VsZi5URVhUKQogCiAgICAgZGVmIHRlc3RXcml0ZUNodW5rczEwKHNlbGYpOgotICAgICAgICAjICJUZXN0IEJaMkZpbGUud3JpdGUoKSB3aXRoIGNodW5rcyBvZiAxMCBieXRlcyIKICAgICAgICAgd2l0aCBCWjJGaWxlKHNlbGYuZmlsZW5hbWUsICJ3IikgYXMgYnoyZjoKICAgICAgICAgICAgIG4gPSAwCi0gICAgICAgICAgICB3aGlsZSAxOgorICAgICAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgICAgICBzdHIgPSBzZWxmLlRFWFRbbioxMDoobisxKSoxMF0KICAgICAgICAgICAgICAgICBpZiBub3Qgc3RyOgogICAgICAgICAgICAgICAgICAgICBicmVhawpAQCAtMTUwLDEzICsyMjQsMTkgQEAKICAgICAgICAgd2l0aCBvcGVuKHNlbGYuZmlsZW5hbWUsICdyYicpIGFzIGY6CiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuZGVjb21wcmVzcyhmLnJlYWQoKSksIHNlbGYuVEVYVCkKIAorICAgIGRlZiB0ZXN0V3JpdGVOb25EZWZhdWx0Q29tcHJlc3NMZXZlbChzZWxmKToKKyAgICAgICAgZXhwZWN0ZWQgPSBiejIuY29tcHJlc3Moc2VsZi5URVhULCBjb21wcmVzc2xldmVsPTUpCisgICAgICAgIHdpdGggQloyRmlsZShzZWxmLmZpbGVuYW1lLCAidyIsIGNvbXByZXNzbGV2ZWw9NSkgYXMgYnoyZjoKKyAgICAgICAgICAgIGJ6MmYud3JpdGUoc2VsZi5URVhUKQorICAgICAgICB3aXRoIG9wZW4oc2VsZi5maWxlbmFtZSwgInJiIikgYXMgZjoKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZi5yZWFkKCksIGV4cGVjdGVkKQorCiAgICAgZGVmIHRlc3RXcml0ZUxpbmVzKHNlbGYpOgotICAgICAgICAjICJUZXN0IEJaMkZpbGUud3JpdGVsaW5lcygpIgogICAgICAgICB3aXRoIEJaMkZpbGUoc2VsZi5maWxlbmFtZSwgInciKSBhcyBiejJmOgogICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBiejJmLndyaXRlbGluZXMpCi0gICAgICAgICAgICBzaW8gPSBCeXRlc0lPKHNlbGYuVEVYVCkKLSAgICAgICAgICAgIGJ6MmYud3JpdGVsaW5lcyhzaW8ucmVhZGxpbmVzKCkpCi0gICAgICAgICMgcGF0Y2ggIzE1MzU1MDAKKyAgICAgICAgICAgIGJ6MmYud3JpdGVsaW5lcyhzZWxmLlRFWFRfTElORVMpCisgICAgICAgICMgSXNzdWUgIzE1MzU1MDA6IENhbGxpbmcgd3JpdGVsaW5lcygpIG9uIGEgY2xvc2VkIEJaMkZpbGUKKyAgICAgICAgIyBzaG91bGQgcmFpc2UgYW4gZXhjZXB0aW9uLgogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBiejJmLndyaXRlbGluZXMsIFsiYSJdKQogICAgICAgICB3aXRoIG9wZW4oc2VsZi5maWxlbmFtZSwgJ3JiJykgYXMgZjoKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5kZWNvbXByZXNzKGYucmVhZCgpKSwgc2VsZi5URVhUKQpAQCAtMTY5LDM5ICsyNDksNzMgQEAKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKElPRXJyb3IsIGJ6MmYud3JpdGUsIGIiYSIpCiAgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhJT0Vycm9yLCBiejJmLndyaXRlbGluZXMsIFtiImEiXSkKIAorICAgIGRlZiB0ZXN0QXBwZW5kKHNlbGYpOgorICAgICAgICB3aXRoIEJaMkZpbGUoc2VsZi5maWxlbmFtZSwgInciKSBhcyBiejJmOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBiejJmLndyaXRlKQorICAgICAgICAgICAgYnoyZi53cml0ZShzZWxmLlRFWFQpCisgICAgICAgIHdpdGggQloyRmlsZShzZWxmLmZpbGVuYW1lLCAiYSIpIGFzIGJ6MmY6CisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGJ6MmYud3JpdGUpCisgICAgICAgICAgICBiejJmLndyaXRlKHNlbGYuVEVYVCkKKyAgICAgICAgd2l0aCBvcGVuKHNlbGYuZmlsZW5hbWUsICdyYicpIGFzIGY6CisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuZGVjb21wcmVzcyhmLnJlYWQoKSksIHNlbGYuVEVYVCAqIDIpCisKICAgICBkZWYgdGVzdFNlZWtGb3J3YXJkKHNlbGYpOgotICAgICAgICAjICJUZXN0IEJaMkZpbGUuc2VlaygxNTAsIDApIgogICAgICAgICBzZWxmLmNyZWF0ZVRlbXBGaWxlKCkKICAgICAgICAgd2l0aCBCWjJGaWxlKHNlbGYuZmlsZW5hbWUpIGFzIGJ6MmY6CiAgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGJ6MmYuc2VlaykKICAgICAgICAgICAgIGJ6MmYuc2VlaygxNTApCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJ6MmYucmVhZCgpLCBzZWxmLlRFWFRbMTUwOl0pCiAKKyAgICBkZWYgdGVzdFNlZWtGb3J3YXJkQWNyb3NzU3RyZWFtcyhzZWxmKToKKyAgICAgICAgc2VsZi5jcmVhdGVUZW1wRmlsZShzdHJlYW1zPTIpCisgICAgICAgIHdpdGggQloyRmlsZShzZWxmLmZpbGVuYW1lKSBhcyBiejJmOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBiejJmLnNlZWspCisgICAgICAgICAgICBiejJmLnNlZWsobGVuKHNlbGYuVEVYVCkgKyAxNTApCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJ6MmYucmVhZCgpLCBzZWxmLlRFWFRbMTUwOl0pCisKICAgICBkZWYgdGVzdFNlZWtCYWNrd2FyZHMoc2VsZik6Ci0gICAgICAgICMgIlRlc3QgQloyRmlsZS5zZWVrKC0xNTAsIDEpIgogICAgICAgICBzZWxmLmNyZWF0ZVRlbXBGaWxlKCkKICAgICAgICAgd2l0aCBCWjJGaWxlKHNlbGYuZmlsZW5hbWUpIGFzIGJ6MmY6CiAgICAgICAgICAgICBiejJmLnJlYWQoNTAwKQogICAgICAgICAgICAgYnoyZi5zZWVrKC0xNTAsIDEpCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJ6MmYucmVhZCgpLCBzZWxmLlRFWFRbNTAwLTE1MDpdKQogCisgICAgZGVmIHRlc3RTZWVrQmFja3dhcmRzQWNyb3NzU3RyZWFtcyhzZWxmKToKKyAgICAgICAgc2VsZi5jcmVhdGVUZW1wRmlsZShzdHJlYW1zPTIpCisgICAgICAgIHdpdGggQloyRmlsZShzZWxmLmZpbGVuYW1lKSBhcyBiejJmOgorICAgICAgICAgICAgcmVhZHRvID0gbGVuKHNlbGYuVEVYVCkgKyAxMDAKKyAgICAgICAgICAgIHdoaWxlIHJlYWR0byA+IDA6CisgICAgICAgICAgICAgICAgcmVhZHRvIC09IGxlbihiejJmLnJlYWQocmVhZHRvKSkKKyAgICAgICAgICAgIGJ6MmYuc2VlaygtMTUwLCAxKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiejJmLnJlYWQoKSwgc2VsZi5URVhUWzEwMC0xNTA6XSArIHNlbGYuVEVYVCkKKwogICAgIGRlZiB0ZXN0U2Vla0JhY2t3YXJkc0Zyb21FbmQoc2VsZik6Ci0gICAgICAgICMgIlRlc3QgQloyRmlsZS5zZWVrKC0xNTAsIDIpIgogICAgICAgICBzZWxmLmNyZWF0ZVRlbXBGaWxlKCkKICAgICAgICAgd2l0aCBCWjJGaWxlKHNlbGYuZmlsZW5hbWUpIGFzIGJ6MmY6CiAgICAgICAgICAgICBiejJmLnNlZWsoLTE1MCwgMikKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYnoyZi5yZWFkKCksIHNlbGYuVEVYVFtsZW4oc2VsZi5URVhUKS0xNTA6XSkKIAorICAgIGRlZiB0ZXN0U2Vla0JhY2t3YXJkc0Zyb21FbmRBY3Jvc3NTdHJlYW1zKHNlbGYpOgorICAgICAgICBzZWxmLmNyZWF0ZVRlbXBGaWxlKHN0cmVhbXM9MikKKyAgICAgICAgd2l0aCBCWjJGaWxlKHNlbGYuZmlsZW5hbWUpIGFzIGJ6MmY6CisgICAgICAgICAgICBiejJmLnNlZWsoLTEwMDAsIDIpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJ6MmYucmVhZCgpLCAoc2VsZi5URVhUICogMilbLTEwMDA6XSkKKwogICAgIGRlZiB0ZXN0U2Vla1Bvc3RFbmQoc2VsZik6Ci0gICAgICAgICMgIlRlc3QgQloyRmlsZS5zZWVrKDE1MDAwMCkiCiAgICAgICAgIHNlbGYuY3JlYXRlVGVtcEZpbGUoKQogICAgICAgICB3aXRoIEJaMkZpbGUoc2VsZi5maWxlbmFtZSkgYXMgYnoyZjoKICAgICAgICAgICAgIGJ6MmYuc2VlaygxNTAwMDApCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJ6MmYudGVsbCgpLCBsZW4oc2VsZi5URVhUKSkKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYnoyZi5yZWFkKCksIGIiIikKIAorICAgIGRlZiB0ZXN0U2Vla1Bvc3RFbmRNdWx0aVN0cmVhbShzZWxmKToKKyAgICAgICAgc2VsZi5jcmVhdGVUZW1wRmlsZShzdHJlYW1zPTUpCisgICAgICAgIHdpdGggQloyRmlsZShzZWxmLmZpbGVuYW1lKSBhcyBiejJmOgorICAgICAgICAgICAgYnoyZi5zZWVrKDE1MDAwMCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYnoyZi50ZWxsKCksIGxlbihzZWxmLlRFWFQpICogNSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYnoyZi5yZWFkKCksIGIiIikKKwogICAgIGRlZiB0ZXN0U2Vla1Bvc3RFbmRUd2ljZShzZWxmKToKLSAgICAgICAgIyAiVGVzdCBCWjJGaWxlLnNlZWsoMTUwMDAwKSB0d2ljZSIKICAgICAgICAgc2VsZi5jcmVhdGVUZW1wRmlsZSgpCiAgICAgICAgIHdpdGggQloyRmlsZShzZWxmLmZpbGVuYW1lKSBhcyBiejJmOgogICAgICAgICAgICAgYnoyZi5zZWVrKDE1MDAwMCkKQEAgLTIwOSwyNyArMzIzLDEwOSBAQAogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiejJmLnRlbGwoKSwgbGVuKHNlbGYuVEVYVCkpCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJ6MmYucmVhZCgpLCBiIiIpCiAKKyAgICBkZWYgdGVzdFNlZWtQb3N0RW5kVHdpY2VNdWx0aVN0cmVhbShzZWxmKToKKyAgICAgICAgc2VsZi5jcmVhdGVUZW1wRmlsZShzdHJlYW1zPTUpCisgICAgICAgIHdpdGggQloyRmlsZShzZWxmLmZpbGVuYW1lKSBhcyBiejJmOgorICAgICAgICAgICAgYnoyZi5zZWVrKDE1MDAwMCkKKyAgICAgICAgICAgIGJ6MmYuc2VlaygxNTAwMDApCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJ6MmYudGVsbCgpLCBsZW4oc2VsZi5URVhUKSAqIDUpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJ6MmYucmVhZCgpLCBiIiIpCisKICAgICBkZWYgdGVzdFNlZWtQcmVTdGFydChzZWxmKToKLSAgICAgICAgIyAiVGVzdCBCWjJGaWxlLnNlZWsoLTE1MCwgMCkiCiAgICAgICAgIHNlbGYuY3JlYXRlVGVtcEZpbGUoKQogICAgICAgICB3aXRoIEJaMkZpbGUoc2VsZi5maWxlbmFtZSkgYXMgYnoyZjoKICAgICAgICAgICAgIGJ6MmYuc2VlaygtMTUwKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiejJmLnRlbGwoKSwgMCkKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYnoyZi5yZWFkKCksIHNlbGYuVEVYVCkKIAorICAgIGRlZiB0ZXN0U2Vla1ByZVN0YXJ0TXVsdGlTdHJlYW0oc2VsZik6CisgICAgICAgIHNlbGYuY3JlYXRlVGVtcEZpbGUoc3RyZWFtcz0yKQorICAgICAgICB3aXRoIEJaMkZpbGUoc2VsZi5maWxlbmFtZSkgYXMgYnoyZjoKKyAgICAgICAgICAgIGJ6MmYuc2VlaygtMTUwKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiejJmLnRlbGwoKSwgMCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYnoyZi5yZWFkKCksIHNlbGYuVEVYVCAqIDIpCisKKyAgICBkZWYgdGVzdEZpbGVubyhzZWxmKToKKyAgICAgICAgc2VsZi5jcmVhdGVUZW1wRmlsZSgpCisgICAgICAgIHdpdGggb3BlbihzZWxmLmZpbGVuYW1lLCAncmInKSBhcyByYXdmOgorICAgICAgICAgICAgYnoyZiA9IEJaMkZpbGUoZmlsZW9iaj1yYXdmKQorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYnoyZi5maWxlbm8oKSwgcmF3Zi5maWxlbm8oKSkKKyAgICAgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICAgICAgYnoyZi5jbG9zZSgpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIGJ6MmYuZmlsZW5vKQorCisgICAgZGVmIHRlc3RTZWVrYWJsZShzZWxmKToKKyAgICAgICAgYnoyZiA9IEJaMkZpbGUoZmlsZW9iaj1CeXRlc0lPKHNlbGYuREFUQSkpCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShiejJmLnNlZWthYmxlKCkpCisgICAgICAgICAgICBiejJmLnJlYWQoKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGJ6MmYuc2Vla2FibGUoKSkKKyAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgIGJ6MmYuY2xvc2UoKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBiejJmLnNlZWthYmxlKQorCisgICAgICAgIGJ6MmYgPSBCWjJGaWxlKGZpbGVvYmo9Qnl0ZXNJTygpLCBtb2RlPSJ3IikKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShiejJmLnNlZWthYmxlKCkpCisgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICBiejJmLmNsb3NlKCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgYnoyZi5zZWVrYWJsZSkKKworICAgICAgICBzcmMgPSBCeXRlc0lPKHNlbGYuREFUQSkKKyAgICAgICAgc3JjLnNlZWthYmxlID0gbGFtYmRhOiBGYWxzZQorICAgICAgICBiejJmID0gQloyRmlsZShmaWxlb2JqPXNyYykKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShiejJmLnNlZWthYmxlKCkpCisgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICBiejJmLmNsb3NlKCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgYnoyZi5zZWVrYWJsZSkKKworICAgIGRlZiB0ZXN0UmVhZGFibGUoc2VsZik6CisgICAgICAgIGJ6MmYgPSBCWjJGaWxlKGZpbGVvYmo9Qnl0ZXNJTyhzZWxmLkRBVEEpKQorICAgICAgICB0cnk6CisgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoYnoyZi5yZWFkYWJsZSgpKQorICAgICAgICAgICAgYnoyZi5yZWFkKCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShiejJmLnJlYWRhYmxlKCkpCisgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICBiejJmLmNsb3NlKCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgYnoyZi5yZWFkYWJsZSkKKworICAgICAgICBiejJmID0gQloyRmlsZShmaWxlb2JqPUJ5dGVzSU8oKSwgbW9kZT0idyIpCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoYnoyZi5yZWFkYWJsZSgpKQorICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgYnoyZi5jbG9zZSgpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIGJ6MmYucmVhZGFibGUpCisKKyAgICBkZWYgdGVzdFdyaXRhYmxlKHNlbGYpOgorICAgICAgICBiejJmID0gQloyRmlsZShmaWxlb2JqPUJ5dGVzSU8oc2VsZi5EQVRBKSkKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShiejJmLndyaXRhYmxlKCkpCisgICAgICAgICAgICBiejJmLnJlYWQoKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShiejJmLndyaXRhYmxlKCkpCisgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICBiejJmLmNsb3NlKCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgYnoyZi53cml0YWJsZSkKKworICAgICAgICBiejJmID0gQloyRmlsZShmaWxlb2JqPUJ5dGVzSU8oKSwgbW9kZT0idyIpCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShiejJmLndyaXRhYmxlKCkpCisgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICBiejJmLmNsb3NlKCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgYnoyZi53cml0YWJsZSkKKwogICAgIGRlZiB0ZXN0T3BlbkRlbChzZWxmKToKLSAgICAgICAgIyAiVGVzdCBvcGVuaW5nIGFuZCBkZWxldGluZyBhIGZpbGUgbWFueSB0aW1lcyIKICAgICAgICAgc2VsZi5jcmVhdGVUZW1wRmlsZSgpCiAgICAgICAgIGZvciBpIGluIHJhbmdlKDEwMDAwKToKICAgICAgICAgICAgIG8gPSBCWjJGaWxlKHNlbGYuZmlsZW5hbWUpCiAgICAgICAgICAgICBkZWwgbwogCiAgICAgZGVmIHRlc3RPcGVuTm9uZXhpc3RlbnQoc2VsZik6Ci0gICAgICAgICMgIlRlc3Qgb3BlbmluZyBhIG5vbmV4aXN0ZW50IGZpbGUiCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKElPRXJyb3IsIEJaMkZpbGUsICIvbm9uL2V4aXN0ZW50IikKIAotICAgIGRlZiB0ZXN0QnVnMTE5MTA0MyhzZWxmKToKLSAgICAgICAgIyByZWFkbGluZXMoKSBmb3IgZmlsZXMgY29udGFpbmluZyBubyBuZXdsaW5lCisgICAgZGVmIHRlc3RSZWFkbGluZXNOb05ld2xpbmUoc2VsZik6CisgICAgICAgICMgSXNzdWUgIzExOTEwNDM6IHJlYWRsaW5lcygpIGZhaWxzIG9uIGEgZmlsZSBjb250YWluaW5nIG5vIG5ld2xpbmUuCiAgICAgICAgIGRhdGEgPSBiJ0JaaDkxQVkmU1lceGQ5Ylx4ODldXHgwMFx4MDBceDAwXHgwM1x4ODBceDA0XHgwMFx4MDJceDAwXHgwY1x4MDAgXHgwMCFceDlhaDNNXHgxMzxdXHhjOVx4MTRceGUxQkNlXHg4YSV0JwogICAgICAgICB3aXRoIG9wZW4oc2VsZi5maWxlbmFtZSwgIndiIikgYXMgZjoKICAgICAgICAgICAgIGYud3JpdGUoZGF0YSkKQEAgLTI0MSw3ICs0MzcsNiBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHhsaW5lcywgW2InVGVzdCddKQogCiAgICAgZGVmIHRlc3RDb250ZXh0UHJvdG9jb2woc2VsZik6Ci0gICAgICAgICMgQloyRmlsZSBzdXBwb3J0cyB0aGUgY29udGV4dCBtYW5hZ2VtZW50IHByb3RvY29sCiAgICAgICAgIGYgPSBOb25lCiAgICAgICAgIHdpdGggQloyRmlsZShzZWxmLmZpbGVuYW1lLCAid2IiKSBhcyBmOgogICAgICAgICAgICAgZi53cml0ZShiInh4eCIpCkBAIC0yNjQsNyArNDU5LDcgQEAKIAogICAgIEB1bml0dGVzdC5za2lwVW5sZXNzKHRocmVhZGluZywgJ1RocmVhZGluZyByZXF1aXJlZCBmb3IgdGhpcyB0ZXN0LicpCiAgICAgZGVmIHRlc3RUaHJlYWRpbmcoc2VsZik6Ci0gICAgICAgICMgVXNpbmcgYSBCWjJGaWxlIGZyb20gc2V2ZXJhbCB0aHJlYWRzIGRvZXNuJ3QgZGVhZGxvY2sgKGlzc3VlICM3MjA1KS4KKyAgICAgICAgIyBJc3N1ZSAjNzIwNTogVXNpbmcgYSBCWjJGaWxlIGZyb20gc2V2ZXJhbCB0aHJlYWRzIHNob3VsZG4ndCBkZWFkbG9jay4KICAgICAgICAgZGF0YSA9IGIiMSIgKiAyKioyMAogICAgICAgICBudGhyZWFkcyA9IDEwCiAgICAgICAgIHdpdGggYnoyLkJaMkZpbGUoc2VsZi5maWxlbmFtZSwgJ3diJykgYXMgZjoKQEAgLTI3NywyMiArNDcyLDgzIEBACiAgICAgICAgICAgICBmb3IgdCBpbiB0aHJlYWRzOgogICAgICAgICAgICAgICAgIHQuam9pbigpCiAKLSAgICBkZWYgdGVzdE1peGVkSXRlcmF0aW9uUmVhZHMoc2VsZik6Ci0gICAgICAgICMgSXNzdWUgIzgzOTc6IG1peGVkIGl0ZXJhdGlvbiBhbmQgcmVhZHMgc2hvdWxkIGJlIGZvcmJpZGRlbi4KLSAgICAgICAgd2l0aCBiejIuQloyRmlsZShzZWxmLmZpbGVuYW1lLCAnd2InKSBhcyBmOgotICAgICAgICAgICAgIyBUaGUgaW50ZXJuYWwgYnVmZmVyIHNpemUgaXMgaGFyZC13aXJlZCB0byA4MTkyIGJ5dGVzLCB3ZSBtdXN0Ci0gICAgICAgICAgICAjIHdyaXRlIG91dCBtb3JlIHRoYW4gdGhhdCBmb3IgdGhlIHRlc3QgdG8gc3RvcCBoYWxmIHRocm91Z2gKLSAgICAgICAgICAgICMgdGhlIGJ1ZmZlci4KLSAgICAgICAgICAgIGYud3JpdGUoc2VsZi5URVhUICogMTAwKQotICAgICAgICB3aXRoIGJ6Mi5CWjJGaWxlKHNlbGYuZmlsZW5hbWUsICdyYicpIGFzIGY6Ci0gICAgICAgICAgICBuZXh0KGYpCi0gICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBmLnJlYWQpCi0gICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBmLnJlYWRsaW5lKQotICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgZi5yZWFkbGluZXMpCisgICAgZGVmIHRlc3RXaXRob3V0VGhyZWFkaW5nKHNlbGYpOgorICAgICAgICBiejIgPSBzdXBwb3J0LmltcG9ydF9mcmVzaF9tb2R1bGUoImJ6MiIsIGJsb2NrZWQ9KCJ0aHJlYWRpbmciLCkpCisgICAgICAgIHdpdGggYnoyLkJaMkZpbGUoc2VsZi5maWxlbmFtZSwgIndiIikgYXMgZjoKKyAgICAgICAgICAgIGYud3JpdGUoYiJhYmMiKQorICAgICAgICB3aXRoIGJ6Mi5CWjJGaWxlKHNlbGYuZmlsZW5hbWUsICJyYiIpIGFzIGY6CisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGYucmVhZCgpLCBiImFiYyIpCisKKyAgICBkZWYgdGVzdE1peGVkSXRlcmF0aW9uQW5kUmVhZHMoc2VsZik6CisgICAgICAgIHNlbGYuY3JlYXRlVGVtcEZpbGUoKQorICAgICAgICBsaW5lbGVuID0gbGVuKHNlbGYuVEVYVF9MSU5FU1swXSkKKyAgICAgICAgaGFsZmxlbiA9IGxpbmVsZW4gLy8gMgorICAgICAgICB3aXRoIGJ6Mi5CWjJGaWxlKHNlbGYuZmlsZW5hbWUpIGFzIGJ6MmY6CisgICAgICAgICAgICBiejJmLnJlYWQoaGFsZmxlbikKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobmV4dChiejJmKSwgc2VsZi5URVhUX0xJTkVTWzBdW2hhbGZsZW46XSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYnoyZi5yZWFkKCksIHNlbGYuVEVYVFtsaW5lbGVuOl0pCisgICAgICAgIHdpdGggYnoyLkJaMkZpbGUoc2VsZi5maWxlbmFtZSkgYXMgYnoyZjoKKyAgICAgICAgICAgIGJ6MmYucmVhZGxpbmUoKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChuZXh0KGJ6MmYpLCBzZWxmLlRFWFRfTElORVNbMV0pCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJ6MmYucmVhZGxpbmUoKSwgc2VsZi5URVhUX0xJTkVTWzJdKQorICAgICAgICB3aXRoIGJ6Mi5CWjJGaWxlKHNlbGYuZmlsZW5hbWUpIGFzIGJ6MmY6CisgICAgICAgICAgICBiejJmLnJlYWRsaW5lcygpCisgICAgICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFN0b3BJdGVyYXRpb24pOgorICAgICAgICAgICAgICAgIG5leHQoYnoyZikKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYnoyZi5yZWFkbGluZXMoKSwgW10pCisKKyAgICBkZWYgdGVzdE11bHRpU3RyZWFtT3JkZXJpbmcoc2VsZik6CisgICAgICAgICMgVGVzdCB0aGUgb3JkZXJpbmcgb2Ygc3RyZWFtcyB3aGVuIHJlYWRpbmcgYSBtdWx0aS1zdHJlYW0gYXJjaGl2ZS4KKyAgICAgICAgZGF0YTEgPSBiImZvbyIgKiAxMDAwCisgICAgICAgIGRhdGEyID0gYiJiYXIiICogMTAwMAorICAgICAgICB3aXRoIEJaMkZpbGUoc2VsZi5maWxlbmFtZSwgInciKSBhcyBiejJmOgorICAgICAgICAgICAgYnoyZi53cml0ZShkYXRhMSkKKyAgICAgICAgd2l0aCBCWjJGaWxlKHNlbGYuZmlsZW5hbWUsICJhIikgYXMgYnoyZjoKKyAgICAgICAgICAgIGJ6MmYud3JpdGUoZGF0YTIpCisgICAgICAgIHdpdGggQloyRmlsZShzZWxmLmZpbGVuYW1lKSBhcyBiejJmOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiejJmLnJlYWQoKSwgZGF0YTEgKyBkYXRhMikKKworICAgICMgVGVzdHMgZm9yIGEgQloyRmlsZSB3cmFwcGluZyBhbm90aGVyIGZpbGUgb2JqZWN0OgorCisgICAgZGVmIHRlc3RSZWFkQnl0ZXNJTyhzZWxmKToKKyAgICAgICAgd2l0aCBCeXRlc0lPKHNlbGYuREFUQSkgYXMgYmlvOgorICAgICAgICAgICAgd2l0aCBCWjJGaWxlKGZpbGVvYmo9YmlvKSBhcyBiejJmOgorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgYnoyZi5yZWFkLCBOb25lKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYnoyZi5yZWFkKCksIHNlbGYuVEVYVCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoYmlvLmNsb3NlZCkKKworICAgIGRlZiB0ZXN0UGVla0J5dGVzSU8oc2VsZik6CisgICAgICAgIHdpdGggQnl0ZXNJTyhzZWxmLkRBVEEpIGFzIGJpbzoKKyAgICAgICAgICAgIHdpdGggQloyRmlsZShmaWxlb2JqPWJpbykgYXMgYnoyZjoKKyAgICAgICAgICAgICAgICBwZGF0YSA9IGJ6MmYucGVlaygpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbChsZW4ocGRhdGEpLCAwKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShzZWxmLlRFWFQuc3RhcnRzd2l0aChwZGF0YSkpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiejJmLnJlYWQoKSwgc2VsZi5URVhUKQorCisgICAgZGVmIHRlc3RXcml0ZUJ5dGVzSU8oc2VsZik6CisgICAgICAgIHdpdGggQnl0ZXNJTygpIGFzIGJpbzoKKyAgICAgICAgICAgIHdpdGggQloyRmlsZShmaWxlb2JqPWJpbywgbW9kZT0idyIpIGFzIGJ6MmY6CisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBiejJmLndyaXRlKQorICAgICAgICAgICAgICAgIGJ6MmYud3JpdGUoc2VsZi5URVhUKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmRlY29tcHJlc3MoYmlvLmdldHZhbHVlKCkpLCBzZWxmLlRFWFQpCisgICAgICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGJpby5jbG9zZWQpCisKKyAgICBkZWYgdGVzdFNlZWtGb3J3YXJkQnl0ZXNJTyhzZWxmKToKKyAgICAgICAgd2l0aCBCeXRlc0lPKHNlbGYuREFUQSkgYXMgYmlvOgorICAgICAgICAgICAgd2l0aCBCWjJGaWxlKGZpbGVvYmo9YmlvKSBhcyBiejJmOgorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgYnoyZi5zZWVrKQorICAgICAgICAgICAgICAgIGJ6MmYuc2VlaygxNTApCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiejJmLnJlYWQoKSwgc2VsZi5URVhUWzE1MDpdKQorCisgICAgZGVmIHRlc3RTZWVrQmFja3dhcmRzQnl0ZXNJTyhzZWxmKToKKyAgICAgICAgd2l0aCBCeXRlc0lPKHNlbGYuREFUQSkgYXMgYmlvOgorICAgICAgICAgICAgd2l0aCBCWjJGaWxlKGZpbGVvYmo9YmlvKSBhcyBiejJmOgorICAgICAgICAgICAgICAgIGJ6MmYucmVhZCg1MDApCisgICAgICAgICAgICAgICAgYnoyZi5zZWVrKC0xNTAsIDEpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiejJmLnJlYWQoKSwgc2VsZi5URVhUWzUwMC0xNTA6XSkKIAogY2xhc3MgQloyQ29tcHJlc3NvclRlc3QoQmFzZVRlc3QpOgogICAgIGRlZiB0ZXN0Q29tcHJlc3Moc2VsZik6Ci0gICAgICAgICMgIlRlc3QgQloyQ29tcHJlc3Nvci5jb21wcmVzcygpL2ZsdXNoKCkiCiAgICAgICAgIGJ6MmMgPSBCWjJDb21wcmVzc29yKCkKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBiejJjLmNvbXByZXNzKQogICAgICAgICBkYXRhID0gYnoyYy5jb21wcmVzcyhzZWxmLlRFWFQpCkBAIC0zMDAsMTEgKzU1NiwxMCBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuZGVjb21wcmVzcyhkYXRhKSwgc2VsZi5URVhUKQogCiAgICAgZGVmIHRlc3RDb21wcmVzc0NodW5rczEwKHNlbGYpOgotICAgICAgICAjICJUZXN0IEJaMkNvbXByZXNzb3IuY29tcHJlc3MoKS9mbHVzaCgpIHdpdGggY2h1bmtzIG9mIDEwIGJ5dGVzIgogICAgICAgICBiejJjID0gQloyQ29tcHJlc3NvcigpCiAgICAgICAgIG4gPSAwCiAgICAgICAgIGRhdGEgPSBiJycKLSAgICAgICAgd2hpbGUgMToKKyAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgIHN0ciA9IHNlbGYuVEVYVFtuKjEwOihuKzEpKjEwXQogICAgICAgICAgICAgaWYgbm90IHN0cjoKICAgICAgICAgICAgICAgICBicmVhawpAQCAtMzEzLDIzICs1NjgsMzggQEAKICAgICAgICAgZGF0YSArPSBiejJjLmZsdXNoKCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmRlY29tcHJlc3MoZGF0YSksIHNlbGYuVEVYVCkKIAorICAgIEBiaWdtZW10ZXN0KHNpemU9XzRHICsgMTAwLCBtZW11c2U9MikKKyAgICBkZWYgdGVzdENvbXByZXNzNEcoc2VsZiwgc2l6ZSk6CisgICAgICAgICMgIlRlc3QgQloyQ29tcHJlc3Nvci5jb21wcmVzcygpL2ZsdXNoKCkgd2l0aCA+NEdpQiBpbnB1dCIKKyAgICAgICAgYnoyYyA9IEJaMkNvbXByZXNzb3IoKQorICAgICAgICBkYXRhID0gYiJ4IiAqIHNpemUKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgY29tcHJlc3NlZCA9IGJ6MmMuY29tcHJlc3MoZGF0YSkKKyAgICAgICAgICAgIGNvbXByZXNzZWQgKz0gYnoyYy5mbHVzaCgpCisgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICBkYXRhID0gTm9uZSAgIyBSZWxlYXNlIG1lbW9yeQorICAgICAgICBkYXRhID0gYnoyLmRlY29tcHJlc3MoY29tcHJlc3NlZCkKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oZGF0YSksIHNpemUpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihkYXRhLnN0cmlwKGIieCIpKSwgMCkKKyAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgIGRhdGEgPSBOb25lCisKIGNsYXNzIEJaMkRlY29tcHJlc3NvclRlc3QoQmFzZVRlc3QpOgogICAgIGRlZiB0ZXN0X0NvbnN0cnVjdG9yKHNlbGYpOgogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIEJaMkRlY29tcHJlc3NvciwgNDIpCiAKICAgICBkZWYgdGVzdERlY29tcHJlc3Moc2VsZik6Ci0gICAgICAgICMgIlRlc3QgQloyRGVjb21wcmVzc29yLmRlY29tcHJlc3MoKSIKICAgICAgICAgYnoyZCA9IEJaMkRlY29tcHJlc3NvcigpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgYnoyZC5kZWNvbXByZXNzKQogICAgICAgICB0ZXh0ID0gYnoyZC5kZWNvbXByZXNzKHNlbGYuREFUQSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh0ZXh0LCBzZWxmLlRFWFQpCiAKICAgICBkZWYgdGVzdERlY29tcHJlc3NDaHVua3MxMChzZWxmKToKLSAgICAgICAgIyAiVGVzdCBCWjJEZWNvbXByZXNzb3IuZGVjb21wcmVzcygpIHdpdGggY2h1bmtzIG9mIDEwIGJ5dGVzIgogICAgICAgICBiejJkID0gQloyRGVjb21wcmVzc29yKCkKICAgICAgICAgdGV4dCA9IGInJwogICAgICAgICBuID0gMAotICAgICAgICB3aGlsZSAxOgorICAgICAgICB3aGlsZSBUcnVlOgogICAgICAgICAgICAgc3RyID0gc2VsZi5EQVRBW24qMTA6KG4rMSkqMTBdCiAgICAgICAgICAgICBpZiBub3Qgc3RyOgogICAgICAgICAgICAgICAgIGJyZWFrCkBAIC0zMzgsNyArNjA4LDYgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh0ZXh0LCBzZWxmLlRFWFQpCiAKICAgICBkZWYgdGVzdERlY29tcHJlc3NVbnVzZWREYXRhKHNlbGYpOgotICAgICAgICAjICJUZXN0IEJaMkRlY29tcHJlc3Nvci5kZWNvbXByZXNzKCkgd2l0aCB1bnVzZWQgZGF0YSIKICAgICAgICAgYnoyZCA9IEJaMkRlY29tcHJlc3NvcigpCiAgICAgICAgIHVudXNlZF9kYXRhID0gYiJ0aGlzIGlzIHVudXNlZCBkYXRhIgogICAgICAgICB0ZXh0ID0gYnoyZC5kZWNvbXByZXNzKHNlbGYuREFUQSt1bnVzZWRfZGF0YSkKQEAgLTM0NiwzNCArNjE1LDQ5IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYnoyZC51bnVzZWRfZGF0YSwgdW51c2VkX2RhdGEpCiAKICAgICBkZWYgdGVzdEVPRkVycm9yKHNlbGYpOgotICAgICAgICAjICJDYWxsaW5nIEJaMkRlY29tcHJlc3Nvci5kZWNvbXByZXNzKCkgYWZ0ZXIgRU9TIG11c3QgcmFpc2UgRU9GRXJyb3IiCiAgICAgICAgIGJ6MmQgPSBCWjJEZWNvbXByZXNzb3IoKQogICAgICAgICB0ZXh0ID0gYnoyZC5kZWNvbXByZXNzKHNlbGYuREFUQSkKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoRU9GRXJyb3IsIGJ6MmQuZGVjb21wcmVzcywgYiJhbnl0aGluZyIpCiAKKyAgICBAYmlnbWVtdGVzdChzaXplPV80RyArIDEwMCwgbWVtdXNlPTMpCisgICAgZGVmIHRlc3REZWNvbXByZXNzNEcoc2VsZiwgc2l6ZSk6CisgICAgICAgICMgIlRlc3QgQloyRGVjb21wcmVzc29yLmRlY29tcHJlc3MoKSB3aXRoID40R2lCIGlucHV0IgorICAgICAgICBibG9ja3NpemUgPSAxMCAqIDEwMjQgKiAxMDI0CisgICAgICAgIGJsb2NrID0gcmFuZG9tLmdldHJhbmRiaXRzKGJsb2Nrc2l6ZSAqIDgpLnRvX2J5dGVzKGJsb2Nrc2l6ZSwgJ2xpdHRsZScpCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIGRhdGEgPSBibG9jayAqIChzaXplIC8vIGJsb2Nrc2l6ZSArIDEpCisgICAgICAgICAgICBjb21wcmVzc2VkID0gYnoyLmNvbXByZXNzKGRhdGEpCisgICAgICAgICAgICBiejJkID0gQloyRGVjb21wcmVzc29yKCkKKyAgICAgICAgICAgIGRlY29tcHJlc3NlZCA9IGJ6MmQuZGVjb21wcmVzcyhjb21wcmVzc2VkKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGRlY29tcHJlc3NlZCA9PSBkYXRhKQorICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgZGF0YSA9IE5vbmUKKyAgICAgICAgICAgIGNvbXByZXNzZWQgPSBOb25lCisgICAgICAgICAgICBkZWNvbXByZXNzZWQgPSBOb25lCisKIAogY2xhc3MgRnVuY1Rlc3QoQmFzZVRlc3QpOgogICAgICJUZXN0IG1vZHVsZSBmdW5jdGlvbnMiCiAKICAgICBkZWYgdGVzdENvbXByZXNzKHNlbGYpOgotICAgICAgICAjICJUZXN0IGNvbXByZXNzKCkgZnVuY3Rpb24iCiAgICAgICAgIGRhdGEgPSBiejIuY29tcHJlc3Moc2VsZi5URVhUKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuZGVjb21wcmVzcyhkYXRhKSwgc2VsZi5URVhUKQogCiAgICAgZGVmIHRlc3REZWNvbXByZXNzKHNlbGYpOgotICAgICAgICAjICJUZXN0IGRlY29tcHJlc3MoKSBmdW5jdGlvbiIKICAgICAgICAgdGV4dCA9IGJ6Mi5kZWNvbXByZXNzKHNlbGYuREFUQSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh0ZXh0LCBzZWxmLlRFWFQpCiAKICAgICBkZWYgdGVzdERlY29tcHJlc3NFbXB0eShzZWxmKToKLSAgICAgICAgIyAiVGVzdCBkZWNvbXByZXNzKCkgZnVuY3Rpb24gd2l0aCBlbXB0eSBzdHJpbmciCiAgICAgICAgIHRleHQgPSBiejIuZGVjb21wcmVzcyhiIiIpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodGV4dCwgYiIiKQogCiAgICAgZGVmIHRlc3REZWNvbXByZXNzSW5jb21wbGV0ZShzZWxmKToKLSAgICAgICAgIyAiVGVzdCBkZWNvbXByZXNzKCkgZnVuY3Rpb24gd2l0aCBpbmNvbXBsZXRlIGRhdGEiCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIGJ6Mi5kZWNvbXByZXNzLCBzZWxmLkRBVEFbOi0xMF0pCiAKKyAgICBkZWYgdGVzdERlY29tcHJlc3NNdWx0aVN0cmVhbShzZWxmKToKKyAgICAgICAgdGV4dCA9IGJ6Mi5kZWNvbXByZXNzKHNlbGYuREFUQSAqIDUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodGV4dCwgc2VsZi5URVhUICogNSkKKwogZGVmIHRlc3RfbWFpbigpOgogICAgIHN1cHBvcnQucnVuX3VuaXR0ZXN0KAogICAgICAgICBCWjJGaWxlVGVzdCwKQEAgLTM4NSw1ICs2NjksMyBAQAogCiBpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgogICAgIHRlc3RfbWFpbigpCi0KLSMgdmltOnRzPTQ6c3c9NApkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9jYWxlbmRhci5weSBiL0xpYi90ZXN0L3Rlc3RfY2FsZW5kYXIucHkKaW5kZXggZDMwOTNhYy4uNzE4MGFmZSAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9jYWxlbmRhci5weQorKysgYi9MaWIvdGVzdC90ZXN0X2NhbGVuZGFyLnB5CkBAIC0xNzcsNyArMTc3LDcgQEAKICAgICAgICAgICAgIHJldHVybiBub3QgYy5pc3NwYWNlKCkgYW5kIG5vdCBjLmlzZGlnaXQoKQogCiAgICAgICAgIGxpbmVzID0gW10KLSAgICAgICAgZm9yIGxpbmUgaW4gcy5zcGxpdGxpbmVzKEZhbHNlKToKKyAgICAgICAgZm9yIGxpbmUgaW4gcy5zcGxpdGxpbmVzKGtlZXBlbmRzPUZhbHNlKToKICAgICAgICAgICAgICMgRHJvcCB0ZXh0cywgYXMgdGhleSBhcmUgbG9jYWxlIGRlcGVuZGVudAogICAgICAgICAgICAgaWYgbGluZSBhbmQgbm90IGZpbHRlcihuZWl0aGVyc3BhY2Vub3JkaWdpdCwgbGluZSk6CiAgICAgICAgICAgICAgICAgbGluZXMuYXBwZW5kKGxpbmUpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2NhcGkucHkgYi9MaWIvdGVzdC90ZXN0X2NhcGkucHkKaW5kZXggYzJjNjMzZi4uMmY5NGY5MCAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9jYXBpLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfY2FwaS5weQpAQCAtMjEwLDE4ICsyMTAsMTcgQEAKICAgICAgICAgaWRlbnRzID0gW10KIAogICAgICAgICBkZWYgY2FsbGJhY2soKToKLSAgICAgICAgICAgIGlkZW50cy5hcHBlbmQoX3RocmVhZC5nZXRfaWRlbnQoKSkKKyAgICAgICAgICAgIGlkZW50cy5hcHBlbmQodGhyZWFkaW5nLmdldF9pZGVudCgpKQogCiAgICAgICAgIF90ZXN0Y2FwaS5fdGVzdF90aHJlYWRfc3RhdGUoY2FsbGJhY2spCiAgICAgICAgIGEgPSBiID0gY2FsbGJhY2sKICAgICAgICAgdGltZS5zbGVlcCgxKQogICAgICAgICAjIENoZWNrIG91ciBtYWluIHRocmVhZCBpcyBpbiB0aGUgbGlzdCBleGFjdGx5IDMgdGltZXMuCi0gICAgICAgIGlmIGlkZW50cy5jb3VudChfdGhyZWFkLmdldF9pZGVudCgpKSAhPSAzOgorICAgICAgICBpZiBpZGVudHMuY291bnQodGhyZWFkaW5nLmdldF9pZGVudCgpKSAhPSAzOgogICAgICAgICAgICAgcmFpc2Ugc3VwcG9ydC5UZXN0RmFpbGVkKAogICAgICAgICAgICAgICAgICAgICAgICAgIkNvdWxkbid0IGZpbmQgbWFpbiB0aHJlYWQgY29ycmVjdGx5IGluIHRoZSBsaXN0IikKIAogICAgIGlmIHRocmVhZGluZzoKLSAgICAgICAgaW1wb3J0IF90aHJlYWQKICAgICAgICAgaW1wb3J0IHRpbWUKICAgICAgICAgVGVzdFRocmVhZFN0YXRlKCkKICAgICAgICAgdCA9IHRocmVhZGluZy5UaHJlYWQodGFyZ2V0PVRlc3RUaHJlYWRTdGF0ZSkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfY2dpLnB5IGIvTGliL3Rlc3QvdGVzdF9jZ2kucHkKaW5kZXggMzAzMWZiMy4uZDI1MTBhNCAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9jZ2kucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9jZ2kucHkKQEAgLTE2MCwxMyArMTYwLDcgQEAKICAgICAgICAgICAgIGNnaS5sb2dmcCA9IE5vbmUKICAgICAgICAgICAgIGNnaS5sb2dmaWxlID0gIi9kZXYvbnVsbCIKICAgICAgICAgICAgIGNnaS5pbml0bG9nKCIlcyIsICJUZXN0aW5nIGxvZyAzIikKLSAgICAgICAgICAgIGRlZiBsb2dfY2xlYW51cCgpOgotICAgICAgICAgICAgICAgICIiIlJlc3RvcmUgdGhlIGdsb2JhbCBzdGF0ZSBvZiB0aGUgbG9nIHZhcnMuIiIiCi0gICAgICAgICAgICAgICAgY2dpLmxvZ2ZpbGUgPSAnJwotICAgICAgICAgICAgICAgIGNnaS5sb2dmcC5jbG9zZSgpCi0gICAgICAgICAgICAgICAgY2dpLmxvZ2ZwID0gTm9uZQotICAgICAgICAgICAgICAgIGNnaS5sb2cgPSBjZ2kuaW5pdGxvZwotICAgICAgICAgICAgc2VsZi5hZGRDbGVhbnVwKGxvZ19jbGVhbnVwKQorICAgICAgICAgICAgc2VsZi5hZGRDbGVhbnVwKGNnaS5jbG9zZWxvZykKICAgICAgICAgICAgIGNnaS5sb2coIlRlc3RpbmcgbG9nIDQiKQogCiAgICAgZGVmIHRlc3RfZmllbGRzdG9yYWdlX3JlYWRsaW5lKHNlbGYpOgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9jZ2l0Yi5weSBiL0xpYi90ZXN0L3Rlc3RfY2dpdGIucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTZhNGIxYQotLS0gL2Rldi9udWxsCisrKyBiL0xpYi90ZXN0L3Rlc3RfY2dpdGIucHkKQEAgLTAsMCArMSw1NSBAQAorZnJvbSB0ZXN0LnN1cHBvcnQgaW1wb3J0IHJ1bl91bml0dGVzdAoraW1wb3J0IHVuaXR0ZXN0CitpbXBvcnQgc3lzCitpbXBvcnQgc3VicHJvY2VzcworaW1wb3J0IGNnaXRiCisKK2NsYXNzIFRlc3RDZ2l0Yih1bml0dGVzdC5UZXN0Q2FzZSk6CisKKyAgICBkZWYgdGVzdF9mb250cyhzZWxmKToKKyAgICAgICAgdGV4dCA9ICJIZWxsbyBSb2JiaWUhIgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNnaXRiLnNtYWxsKHRleHQpLCAiPHNtYWxsPnt9PC9zbWFsbD4iLmZvcm1hdCh0ZXh0KSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjZ2l0Yi5zdHJvbmcodGV4dCksICI8c3Ryb25nPnt9PC9zdHJvbmc+Ii5mb3JtYXQodGV4dCkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY2dpdGIuZ3JleSh0ZXh0KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAnPGZvbnQgY29sb3I9IiM5MDkwOTAiPnt9PC9mb250PicuZm9ybWF0KHRleHQpKQorCisgICAgZGVmIHRlc3RfYmxhbmtzKHNlbGYpOgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNnaXRiLnNtYWxsKCIiKSwgIiIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY2dpdGIuc3Ryb25nKCIiKSwgIiIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY2dpdGIuZ3JleSgiIiksICIiKQorCisgICAgZGVmIHRlc3RfaHRtbChzZWxmKToKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiSGVsbG8gV29ybGQiKQorICAgICAgICBleGNlcHQgVmFsdWVFcnJvciBhcyBlcnI6CisgICAgICAgICAgICAjIElmIHRoZSBodG1sIHdhcyB0ZW1wbGF0ZWQgd2UgY291bGQgZG8gYSBiaXQgbW9yZSBoZXJlLgorICAgICAgICAgICAgIyBBdCBsZWFzdCBjaGVjayB0aGF0IHdlIGdldCBkZXRhaWxzIG9uIHdoYXQgd2UganVzdCByYWlzZWQuCisgICAgICAgICAgICBodG1sID0gY2dpdGIuaHRtbChzeXMuZXhjX2luZm8oKSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4oIlZhbHVlRXJyb3IiLCBodG1sKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRJbihzdHIoZXJyKSwgaHRtbCkKKworICAgIGRlZiB0ZXN0X3RleHQoc2VsZik6CisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIkhlbGxvIFdvcmxkIikKKyAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3IgYXMgZXJyOgorICAgICAgICAgICAgdGV4dCA9IGNnaXRiLnRleHQoc3lzLmV4Y19pbmZvKCkpCisgICAgICAgICAgICBzZWxmLmFzc2VydEluKCJWYWx1ZUVycm9yIiwgdGV4dCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4oIkhlbGxvIFdvcmxkIiwgdGV4dCkKKworICAgIGRlZiB0ZXN0X2hvb2soc2VsZik6CisgICAgICAgIHByb2MgPSBzdWJwcm9jZXNzLlBvcGVuKFtzeXMuZXhlY3V0YWJsZSwgJy1jJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgnaW1wb3J0IGNnaXRiOycKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY2dpdGIuZW5hYmxlKCk7JworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyYWlzZSBWYWx1ZUVycm9yKCJIZWxsbyBXb3JsZCIpJyldLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGRvdXQ9c3VicHJvY2Vzcy5QSVBFKQorICAgICAgICBvdXQgPSBwcm9jLnN0ZG91dC5yZWFkKCkuZGVjb2RlKHN5cy5nZXRmaWxlc3lzdGVtZW5jb2RpbmcoKSkKKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKHByb2Muc3Rkb3V0LmNsb3NlKQorICAgICAgICBzZWxmLmFzc2VydEluKCJWYWx1ZUVycm9yIiwgb3V0KQorICAgICAgICBzZWxmLmFzc2VydEluKCJIZWxsbyBXb3JsZCIsIG91dCkKKworCitkZWYgdGVzdF9tYWluKCk6CisgICAgcnVuX3VuaXR0ZXN0KFRlc3RDZ2l0YikKKworaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKKyAgICB0ZXN0X21haW4oKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9jbWRfbGluZS5weSBiL0xpYi90ZXN0L3Rlc3RfY21kX2xpbmUucHkKaW5kZXggMWEyMTI4MS4uOGM5NjBiMSAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9jbWRfbGluZS5weQorKysgYi9MaWIvdGVzdC90ZXN0X2NtZF9saW5lLnB5CkBAIC0zMSwxMiArMzEsNiBAQAogICAgICAgICBzZWxmLnZlcmlmeV92YWxpZF9mbGFnKCctTycpCiAgICAgICAgIHNlbGYudmVyaWZ5X3ZhbGlkX2ZsYWcoJy1PTycpCiAKLSAgICBkZWYgdGVzdF9xKHNlbGYpOgotICAgICAgICBzZWxmLnZlcmlmeV92YWxpZF9mbGFnKCctUW9sZCcpCi0gICAgICAgIHNlbGYudmVyaWZ5X3ZhbGlkX2ZsYWcoJy1RbmV3JykKLSAgICAgICAgc2VsZi52ZXJpZnlfdmFsaWRfZmxhZygnLVF3YXJuJykKLSAgICAgICAgc2VsZi52ZXJpZnlfdmFsaWRfZmxhZygnLVF3YXJuYWxsJykKLQogICAgIGRlZiB0ZXN0X3NpdGVfZmxhZyhzZWxmKToKICAgICAgICAgc2VsZi52ZXJpZnlfdmFsaWRfZmxhZygnLVMnKQogCkBAIC0xNTEsNyArMTQ1LDcgQEAKICAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhzeXMucGxhdGZvcm0gPT0gJ2RhcndpbicsICd0ZXN0IHNwZWNpZmljIHRvIE1hYyBPUyBYJykKICAgICBkZWYgdGVzdF9vc3hfdXRmOChzZWxmKToKICAgICAgICAgZGVmIGNoZWNrX291dHB1dCh0ZXh0KToKLSAgICAgICAgICAgIGRlY29kZWQgPSB0ZXh0LmRlY29kZSgndXRmOCcsICdzdXJyb2dhdGVlc2NhcGUnKQorICAgICAgICAgICAgZGVjb2RlZCA9IHRleHQuZGVjb2RlKCd1dGYtOCcsICdzdXJyb2dhdGVlc2NhcGUnKQogICAgICAgICAgICAgZXhwZWN0ZWQgPSBhc2NpaShkZWNvZGVkKS5lbmNvZGUoJ2FzY2lpJykgKyBiJ1xuJwogCiAgICAgICAgICAgICBlbnYgPSBvcy5lbnZpcm9uLmNvcHkoKQpAQCAtMjIzLDcgKzIxNyw3IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0SW4ocGF0aDIuZW5jb2RlKCdhc2NpaScpLCBvdXQpCiAKICAgICBkZWYgdGVzdF9kaXNwbGF5aG9va191bmVuY29kYWJsZShzZWxmKToKLSAgICAgICAgZm9yIGVuY29kaW5nIGluICgnYXNjaWknLCAnbGF0aW4xJywgJ3V0ZjgnKToKKyAgICAgICAgZm9yIGVuY29kaW5nIGluICgnYXNjaWknLCAnbGF0aW4tMScsICd1dGYtOCcpOgogICAgICAgICAgICAgZW52ID0gb3MuZW52aXJvbi5jb3B5KCkKICAgICAgICAgICAgIGVudlsnUFlUSE9OSU9FTkNPRElORyddID0gZW5jb2RpbmcKICAgICAgICAgICAgIHAgPSBzdWJwcm9jZXNzLlBvcGVuKApAQCAtMjgyLDcgKzI3Niw3IEBACiAgICAgICAgIHJjLCBvdXQsIGVyciA9IGFzc2VydF9weXRob25fb2soJy1jJywgY29kZSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiJycsIG91dCkKICAgICAgICAgc2VsZi5hc3NlcnRSZWdleChlcnIuZGVjb2RlKCdhc2NpaScsICdpZ25vcmUnKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAnRXhjZXB0aW9uIElPRXJyb3I6IC4qIGlnbm9yZWQnKQorICAgICAgICAgICAgICAgICAgICAgICAgICdFeGNlcHRpb24gT1NFcnJvcjogLiogaWdub3JlZCcpCiAKICAgICBkZWYgdGVzdF9jbG9zZWRfc3Rkb3V0KHNlbGYpOgogICAgICAgICAjIElzc3VlICMxMzQ0NDogaWYgc3Rkb3V0IGhhcyBiZWVuIGV4cGxpY2l0bHkgY2xvc2VkLCB3ZSBzaG91bGQKQEAgLTMzNiwxNCArMzMwLDE0IEBACiAgICAgICAgIGhhc2hlcyA9IFtdCiAgICAgICAgIGZvciBpIGluIHJhbmdlKDIpOgogICAgICAgICAgICAgY29kZSA9ICdwcmludChoYXNoKCJzcGFtIikpJwotICAgICAgICAgICAgcmMsIG91dCwgZXJyID0gYXNzZXJ0X3B5dGhvbl9vaygnLVInLCAnLWMnLCBjb2RlKQorICAgICAgICAgICAgcmMsIG91dCwgZXJyID0gYXNzZXJ0X3B5dGhvbl9vaygnLWMnLCBjb2RlKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyYywgMCkKICAgICAgICAgICAgIGhhc2hlcy5hcHBlbmQob3V0KQogICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKGhhc2hlc1swXSwgaGFzaGVzWzFdKQogCiAgICAgICAgICMgVmVyaWZ5IHRoYXQgc3lzLmZsYWdzIGNvbnRhaW5zIGhhc2hfcmFuZG9taXphdGlvbgogICAgICAgICBjb2RlID0gJ2ltcG9ydCBzeXM7IHByaW50KCJyYW5kb20gaXMiLCBzeXMuZmxhZ3MuaGFzaF9yYW5kb21pemF0aW9uKScKLSAgICAgICAgcmMsIG91dCwgZXJyID0gYXNzZXJ0X3B5dGhvbl9vaygnLVInLCAnLWMnLCBjb2RlKQorICAgICAgICByYywgb3V0LCBlcnIgPSBhc3NlcnRfcHl0aG9uX29rKCctYycsIGNvZGUpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmMsIDApCiAgICAgICAgIHNlbGYuYXNzZXJ0SW4oYidyYW5kb20gaXMgMScsIG91dCkKIApkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9jb2RlLnB5IGIvTGliL3Rlc3QvdGVzdF9jb2RlLnB5CmluZGV4IGUxYzdhNzguLjMzNzdhN2IgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfY29kZS5weQorKysgYi9MaWIvdGVzdC90ZXN0X2NvZGUucHkKQEAgLTE2LDcgKzE2LDcgQEAKIGZyZWV2YXJzOiAoKQogbmxvY2FsczogMgogZmxhZ3M6IDMKLWNvbnN0czogKCdOb25lJywgJzxjb2RlIG9iamVjdCBnPicpCitjb25zdHM6ICgnTm9uZScsICc8Y29kZSBvYmplY3QgZz4nLCAiJ2YuPGxvY2Fscz4uZyciKQogCiA+Pj4gZHVtcChmKDQpLl9fY29kZV9fKQogbmFtZTogZwpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9jb2RlY2NhbGxiYWNrcy5weSBiL0xpYi90ZXN0L3Rlc3RfY29kZWNjYWxsYmFja3MucHkKaW5kZXggYzViMWUyNS4uODFiZjgwZCAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9jb2RlY2NhbGxiYWNrcy5weQorKysgYi9MaWIvdGVzdC90ZXN0X2NvZGVjY2FsbGJhY2tzLnB5CkBAIC0xLDUgKzEsMTggQEAKLWltcG9ydCB0ZXN0LnN1cHBvcnQsIHVuaXR0ZXN0Ci1pbXBvcnQgc3lzLCBjb2RlY3MsIGh0bWwuZW50aXRpZXMsIHVuaWNvZGVkYXRhCitpbXBvcnQgY29kZWNzCitpbXBvcnQgaHRtbC5lbnRpdGllcworaW1wb3J0IHN5cworaW1wb3J0IHRlc3Quc3VwcG9ydAoraW1wb3J0IHVuaWNvZGVkYXRhCitpbXBvcnQgdW5pdHRlc3QKK2ltcG9ydCB3YXJuaW5ncworCit0cnk6CisgICAgaW1wb3J0IGN0eXBlcworZXhjZXB0IEltcG9ydEVycm9yOgorICAgIGN0eXBlcyA9IE5vbmUKKyAgICBTSVpFT0ZfV0NIQVJfVCA9IC0xCitlbHNlOgorICAgIFNJWkVPRl9XQ0hBUl9UID0gY3R5cGVzLnNpemVvZihjdHlwZXMuY193Y2hhcikKIAogY2xhc3MgUG9zUmV0dXJuOgogICAgICMgdGhpcyBjYW4gYmUgdXNlZCBmb3IgY29uZmlndXJhYmxlIGNhbGxiYWNrcwpAQCAtMTM1LDIyICsxNDgsMTQgQEAKICAgICBkZWYgdGVzdF9iYWNrc2xhc2hlc2NhcGUoc2VsZik6CiAgICAgICAgICMgRG9lcyB0aGUgc2FtZSBhcyB0aGUgInVuaWNvZGUtZXNjYXBlIiBlbmNvZGluZywgYnV0IHdpdGggZGlmZmVyZW50CiAgICAgICAgICMgYmFzZSBlbmNvZGluZ3MuCi0gICAgICAgIHNpbiA9ICJhXHhhY1x1MTIzNFx1MjBhY1x1ODAwMCIKLSAgICAgICAgaWYgc3lzLm1heHVuaWNvZGUgPiAweGZmZmY6Ci0gICAgICAgICAgICBzaW4gKz0gY2hyKHN5cy5tYXh1bmljb2RlKQotICAgICAgICBzb3V0ID0gYiJhXFx4YWNcXHUxMjM0XFx1MjBhY1xcdTgwMDAiCi0gICAgICAgIGlmIHN5cy5tYXh1bmljb2RlID4gMHhmZmZmOgotICAgICAgICAgICAgc291dCArPSBieXRlcygiXFxVJTA4eCIgJSBzeXMubWF4dW5pY29kZSwgImFzY2lpIikKKyAgICAgICAgc2luID0gImFceGFjXHUxMjM0XHUyMGFjXHU4MDAwXFUwMDEwZmZmZiIKKyAgICAgICAgc291dCA9IGIiYVxceGFjXFx1MTIzNFxcdTIwYWNcXHU4MDAwXFxVMDAxMGZmZmYiCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2luLmVuY29kZSgiYXNjaWkiLCAiYmFja3NsYXNocmVwbGFjZSIpLCBzb3V0KQogCi0gICAgICAgIHNvdXQgPSBiImFceGFjXFx1MTIzNFxcdTIwYWNcXHU4MDAwIgotICAgICAgICBpZiBzeXMubWF4dW5pY29kZSA+IDB4ZmZmZjoKLSAgICAgICAgICAgIHNvdXQgKz0gYnl0ZXMoIlxcVSUwOHgiICUgc3lzLm1heHVuaWNvZGUsICJhc2NpaSIpCisgICAgICAgIHNvdXQgPSBiImFceGFjXFx1MTIzNFxcdTIwYWNcXHU4MDAwXFxVMDAxMGZmZmYiCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2luLmVuY29kZSgibGF0aW4tMSIsICJiYWNrc2xhc2hyZXBsYWNlIiksIHNvdXQpCiAKLSAgICAgICAgc291dCA9IGIiYVx4YWNcXHUxMjM0XHhhNFxcdTgwMDAiCi0gICAgICAgIGlmIHN5cy5tYXh1bmljb2RlID4gMHhmZmZmOgotICAgICAgICAgICAgc291dCArPSBieXRlcygiXFxVJTA4eCIgJSBzeXMubWF4dW5pY29kZSwgImFzY2lpIikKKyAgICAgICAgc291dCA9IGIiYVx4YWNcXHUxMjM0XHhhNFxcdTgwMDBcXFUwMDEwZmZmZiIKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzaW4uZW5jb2RlKCJpc28tODg1OS0xNSIsICJiYWNrc2xhc2hyZXBsYWNlIiksIHNvdXQpCiAKICAgICBkZWYgdGVzdF9kZWNvZGluZ19jYWxsYmFja3Moc2VsZik6CkBAIC0yMDAsMzMgKzIwNSwzNyBAQAogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGNvZGVjcy5jaGFybWFwX2VuY29kZSwgc2luLCAicmVwbGFjZSIsIGNoYXJtYXApCiAKICAgICBkZWYgdGVzdF9kZWNvZGV1bmljb2RlaW50ZXJuYWwoc2VsZik6Ci0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKAotICAgICAgICAgICAgVW5pY29kZURlY29kZUVycm9yLAotICAgICAgICAgICAgYiJceDAwXHgwMFx4MDBceDAwXHgwMCIuZGVjb2RlLAotICAgICAgICAgICAgInVuaWNvZGUtaW50ZXJuYWwiLAotICAgICAgICApCi0gICAgICAgIGlmIHN5cy5tYXh1bmljb2RlID4gMHhmZmZmOgorICAgICAgICB3aXRoIHRlc3Quc3VwcG9ydC5jaGVja193YXJuaW5ncygoJ3VuaWNvZGVfaW50ZXJuYWwgY29kZWMgaGFzIGJlZW4gJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2RlcHJlY2F0ZWQnLCBEZXByZWNhdGlvbldhcm5pbmcpKToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKAorICAgICAgICAgICAgICAgIFVuaWNvZGVEZWNvZGVFcnJvciwKKyAgICAgICAgICAgICAgICBiIlx4MDBceDAwXHgwMFx4MDBceDAwIi5kZWNvZGUsCisgICAgICAgICAgICAgICAgInVuaWNvZGUtaW50ZXJuYWwiLAorICAgICAgICAgICAgKQorICAgICAgICBpZiBTSVpFT0ZfV0NIQVJfVCA9PSA0OgogICAgICAgICAgICAgZGVmIGhhbmRsZXJfdW5pY29kZWludGVybmFsKGV4Yyk6CiAgICAgICAgICAgICAgICAgaWYgbm90IGlzaW5zdGFuY2UoZXhjLCBVbmljb2RlRGVjb2RlRXJyb3IpOgogICAgICAgICAgICAgICAgICAgICByYWlzZSBUeXBlRXJyb3IoImRvbid0IGtub3cgaG93IHRvIGhhbmRsZSAlciIgJSBleGMpCiAgICAgICAgICAgICAgICAgcmV0dXJuICgiXHgwMSIsIDEpCiAKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCi0gICAgICAgICAgICAgICAgYiJceDAwXHgwMFx4MDBceDAwXHgwMCIuZGVjb2RlKCJ1bmljb2RlLWludGVybmFsIiwgImlnbm9yZSIpLAotICAgICAgICAgICAgICAgICJcdTAwMDAiCi0gICAgICAgICAgICApCisgICAgICAgICAgICB3aXRoIHRlc3Quc3VwcG9ydC5jaGVja193YXJuaW5ncygoJ3VuaWNvZGVfaW50ZXJuYWwgY29kZWMgaGFzIGJlZW4gJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXByZWNhdGVkJywgRGVwcmVjYXRpb25XYXJuaW5nKSk6CisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgICAgICAgICAgYiJceDAwXHgwMFx4MDBceDAwXHgwMCIuZGVjb2RlKCJ1bmljb2RlLWludGVybmFsIiwgImlnbm9yZSIpLAorICAgICAgICAgICAgICAgICAgICAiXHUwMDAwIgorICAgICAgICAgICAgICAgICkKIAotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKLSAgICAgICAgICAgICAgICBiIlx4MDBceDAwXHgwMFx4MDBceDAwIi5kZWNvZGUoInVuaWNvZGUtaW50ZXJuYWwiLCAicmVwbGFjZSIpLAotICAgICAgICAgICAgICAgICJcdTAwMDBcdWZmZmQiCi0gICAgICAgICAgICApCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgICAgICAgICAgYiJceDAwXHgwMFx4MDBceDAwXHgwMCIuZGVjb2RlKCJ1bmljb2RlLWludGVybmFsIiwgInJlcGxhY2UiKSwKKyAgICAgICAgICAgICAgICAgICAgIlx1MDAwMFx1ZmZmZCIKKyAgICAgICAgICAgICAgICApCiAKLSAgICAgICAgICAgIGNvZGVjcy5yZWdpc3Rlcl9lcnJvcigidGVzdC5odWkiLCBoYW5kbGVyX3VuaWNvZGVpbnRlcm5hbCkKKyAgICAgICAgICAgICAgICBjb2RlY3MucmVnaXN0ZXJfZXJyb3IoInRlc3QuaHVpIiwgaGFuZGxlcl91bmljb2RlaW50ZXJuYWwpCiAKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCi0gICAgICAgICAgICAgICAgYiJceDAwXHgwMFx4MDBceDAwXHgwMCIuZGVjb2RlKCJ1bmljb2RlLWludGVybmFsIiwgInRlc3QuaHVpIiksCi0gICAgICAgICAgICAgICAgIlx1MDAwMFx1MDAwMVx1MDAwMCIKLSAgICAgICAgICAgICkKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgICAgICAgICBiIlx4MDBceDAwXHgwMFx4MDBceDAwIi5kZWNvZGUoInVuaWNvZGUtaW50ZXJuYWwiLCAidGVzdC5odWkiKSwKKyAgICAgICAgICAgICAgICAgICAgIlx1MDAwMFx1MDAwMVx1MDAwMCIKKyAgICAgICAgICAgICAgICApCiAKICAgICBkZWYgdGVzdF9jYWxsYmFja3Moc2VsZik6CiAgICAgICAgIGRlZiBoYW5kbGVyMShleGMpOgpAQCAtMzU1LDcgKzM2NCw3IEBACiAgICAgICAgICAgICBbImFzY2lpIiwgIlx1ZmZmZngiLCAwLCAxLCAib3VjaCJdLAogICAgICAgICAgICAgIidhc2NpaScgY29kZWMgY2FuJ3QgZW5jb2RlIGNoYXJhY3RlciAnXFx1ZmZmZicgaW4gcG9zaXRpb24gMDogb3VjaCIKICAgICAgICAgKQotICAgICAgICBpZiBzeXMubWF4dW5pY29kZSA+IDB4ZmZmZjoKKyAgICAgICAgaWYgU0laRU9GX1dDSEFSX1QgPT0gNDoKICAgICAgICAgICAgIHNlbGYuY2hlY2tfZXhjZXB0aW9ub2JqZWN0YXJncygKICAgICAgICAgICAgICAgICBVbmljb2RlRW5jb2RlRXJyb3IsCiAgICAgICAgICAgICAgICAgWyJhc2NpaSIsICJcVTAwMDEwMDAweCIsIDAsIDEsICJvdWNoIl0sCkBAIC0zOTAsNyArMzk5LDcgQEAKICAgICAgICAgICAgIFsiZ1x1ZmZmZnJrIiwgMSwgMiwgIm91Y2giXSwKICAgICAgICAgICAgICJjYW4ndCB0cmFuc2xhdGUgY2hhcmFjdGVyICdcXHVmZmZmJyBpbiBwb3NpdGlvbiAxOiBvdWNoIgogICAgICAgICApCi0gICAgICAgIGlmIHN5cy5tYXh1bmljb2RlID4gMHhmZmZmOgorICAgICAgICBpZiBTSVpFT0ZfV0NIQVJfVCA9PSA0OgogICAgICAgICAgICAgc2VsZi5jaGVja19leGNlcHRpb25vYmplY3RhcmdzKAogICAgICAgICAgICAgICAgIFVuaWNvZGVUcmFuc2xhdGVFcnJvciwKICAgICAgICAgICAgICAgICBbImdcVTAwMDEwMDAwcmsiLCAxLCAyLCAib3VjaCJdLApAQCAtNTc3LDMxICs1ODYsMzAgQEAKICAgICAgICAgICAgICAgICBVbmljb2RlRW5jb2RlRXJyb3IoImFzY2lpIiwgIlx1ZmZmZiIsIDAsIDEsICJvdWNoIikpLAogICAgICAgICAgICAgKCJcXHVmZmZmIiwgMSkKICAgICAgICAgKQotICAgICAgICAjIDEgb24gVUNTLTQgYnVpbGRzLCAyIG9uIFVDUy0yCi0gICAgICAgIGxlbl93aWRlID0gbGVuKCJcVTAwMDEwMDAwIikKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKLSAgICAgICAgICAgIGNvZGVjcy5iYWNrc2xhc2hyZXBsYWNlX2Vycm9ycygKLSAgICAgICAgICAgICAgICBVbmljb2RlRW5jb2RlRXJyb3IoImFzY2lpIiwgIlxVMDAwMTAwMDAiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLCBsZW5fd2lkZSwgIm91Y2giKSksCi0gICAgICAgICAgICAoIlxcVTAwMDEwMDAwIiwgbGVuX3dpZGUpCi0gICAgICAgICkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKLSAgICAgICAgICAgIGNvZGVjcy5iYWNrc2xhc2hyZXBsYWNlX2Vycm9ycygKLSAgICAgICAgICAgICAgICBVbmljb2RlRW5jb2RlRXJyb3IoImFzY2lpIiwgIlxVMDAxMGZmZmYiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLCBsZW5fd2lkZSwgIm91Y2giKSksCi0gICAgICAgICAgICAoIlxcVTAwMTBmZmZmIiwgbGVuX3dpZGUpCi0gICAgICAgICkKLSAgICAgICAgIyBMb25lIHN1cnJvZ2F0ZXMgKHJlZ2FyZGxlc3Mgb2YgdW5pY29kZSB3aWR0aCkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKLSAgICAgICAgICAgIGNvZGVjcy5iYWNrc2xhc2hyZXBsYWNlX2Vycm9ycygKLSAgICAgICAgICAgICAgICBVbmljb2RlRW5jb2RlRXJyb3IoImFzY2lpIiwgIlx1ZDgwMCIsIDAsIDEsICJvdWNoIikpLAotICAgICAgICAgICAgKCJcXHVkODAwIiwgMSkKLSAgICAgICAgKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAotICAgICAgICAgICAgY29kZWNzLmJhY2tzbGFzaHJlcGxhY2VfZXJyb3JzKAotICAgICAgICAgICAgICAgIFVuaWNvZGVFbmNvZGVFcnJvcigiYXNjaWkiLCAiXHVkZmZmIiwgMCwgMSwgIm91Y2giKSksCi0gICAgICAgICAgICAoIlxcdWRmZmYiLCAxKQotICAgICAgICApCisgICAgICAgIGlmIFNJWkVPRl9XQ0hBUl9UID4gMDoKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICAgICAgY29kZWNzLmJhY2tzbGFzaHJlcGxhY2VfZXJyb3JzKAorICAgICAgICAgICAgICAgICAgICBVbmljb2RlRW5jb2RlRXJyb3IoImFzY2lpIiwgIlxVMDAwMTAwMDAiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwgMSwgIm91Y2giKSksCisgICAgICAgICAgICAgICAgKCJcXFUwMDAxMDAwMCIsIDEpCisgICAgICAgICAgICApCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgICAgIGNvZGVjcy5iYWNrc2xhc2hyZXBsYWNlX2Vycm9ycygKKyAgICAgICAgICAgICAgICAgICAgVW5pY29kZUVuY29kZUVycm9yKCJhc2NpaSIsICJcVTAwMTBmZmZmIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsIDEsICJvdWNoIikpLAorICAgICAgICAgICAgICAgICgiXFxVMDAxMGZmZmYiLCAxKQorICAgICAgICAgICAgKQorICAgICAgICAgICAgIyBMb25lIHN1cnJvZ2F0ZXMgKHJlZ2FyZGxlc3Mgb2YgdW5pY29kZSB3aWR0aCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICAgICAgY29kZWNzLmJhY2tzbGFzaHJlcGxhY2VfZXJyb3JzKAorICAgICAgICAgICAgICAgICAgICBVbmljb2RlRW5jb2RlRXJyb3IoImFzY2lpIiwgIlx1ZDgwMCIsIDAsIDEsICJvdWNoIikpLAorICAgICAgICAgICAgICAgICgiXFx1ZDgwMCIsIDEpCisgICAgICAgICAgICApCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgICAgIGNvZGVjcy5iYWNrc2xhc2hyZXBsYWNlX2Vycm9ycygKKyAgICAgICAgICAgICAgICAgICAgVW5pY29kZUVuY29kZUVycm9yKCJhc2NpaSIsICJcdWRmZmYiLCAwLCAxLCAib3VjaCIpKSwKKyAgICAgICAgICAgICAgICAoIlxcdWRmZmYiLCAxKQorICAgICAgICAgICAgKQogCiAgICAgZGVmIHRlc3RfYmFkaGFuZGxlcnJlc3VsdHMoc2VsZik6CiAgICAgICAgIHJlc3VsdHMgPSAoIDQyLCAiZm9vIiwgKDEsMiwzKSwgKCJmb28iLCAxLCAzKSwgKCJmb28iLCBOb25lKSwgKCJmb28iLCksICgiZm9vIiwgMSwgMyksICgiZm9vIiwgTm9uZSksICgiZm9vIiwpICkKQEAgLTYyMiwxMiArNjMwLDE0IEBACiAgICAgICAgICAgICAgICAgKCJ1dGYtNyIsIGIiK3gtIiksCiAgICAgICAgICAgICAgICAgKCJ1bmljb2RlLWludGVybmFsIiwgYiJceDAwIiksCiAgICAgICAgICAgICApOgotICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKAotICAgICAgICAgICAgICAgICAgICBUeXBlRXJyb3IsCi0gICAgICAgICAgICAgICAgICAgIGJ5dGVzLmRlY29kZSwKLSAgICAgICAgICAgICAgICAgICAgZW5jLAotICAgICAgICAgICAgICAgICAgICAidGVzdC5iYWRoYW5kbGVyIgotICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICAgICB3aXRoIHRlc3Quc3VwcG9ydC5jaGVja193YXJuaW5ncygpOgorICAgICAgICAgICAgICAgICAgICAjIHVuaWNvZGUtaW50ZXJuYWwgaGFzIGJlZW4gZGVwcmVjYXRlZAorICAgICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcygKKyAgICAgICAgICAgICAgICAgICAgICAgIFR5cGVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgIGJ5dGVzLmRlY29kZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGVuYywKKyAgICAgICAgICAgICAgICAgICAgICAgICJ0ZXN0LmJhZGhhbmRsZXIiCisgICAgICAgICAgICAgICAgICAgICkKIAogICAgIGRlZiB0ZXN0X2xvb2t1cChzZWxmKToKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjb2RlY3Muc3RyaWN0X2Vycm9ycywgY29kZWNzLmxvb2t1cF9lcnJvcigic3RyaWN0IikpCkBAIC02NzksNyArNjg5LDcgQEAKICAgICAgICAgIyBQeXRob24vY29kZWNzLmM6OlB5Q29kZWNfWE1MQ2hhclJlZlJlcGxhY2VFcnJvcnMoKQogICAgICAgICAjIGFuZCBpbmxpbmUgaW1wbGVtZW50YXRpb25zCiAgICAgICAgIHYgPSAoMSwgNSwgMTAsIDUwLCAxMDAsIDUwMCwgMTAwMCwgNTAwMCwgMTAwMDAsIDUwMDAwKQotICAgICAgICBpZiBzeXMubWF4dW5pY29kZT49MTAwMDAwOgorICAgICAgICBpZiBTSVpFT0ZfV0NIQVJfVCA9PSA0OgogICAgICAgICAgICAgdiArPSAoMTAwMDAwLCA1MDAwMDAsIDEwMDAwMDApCiAgICAgICAgIHMgPSAiIi5qb2luKFtjaHIoeCkgZm9yIHggaW4gdl0pCiAgICAgICAgIGNvZGVjcy5yZWdpc3Rlcl9lcnJvcigidGVzdC54bWxjaGFycmVmcmVwbGFjZSIsIGNvZGVjcy54bWxjaGFycmVmcmVwbGFjZV9lcnJvcnMpCkBAIC04NDMsOCArODUzLDEyIEBACiAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgIHJhaXNlIFR5cGVFcnJvcigiZG9uJ3Qga25vdyBob3cgdG8gaGFuZGxlICVyIiAlIGV4YykKICAgICAgICAgY29kZWNzLnJlZ2lzdGVyX2Vycm9yKCJ0ZXN0LnJlcGxhY2luZyIsIHJlcGxhY2luZykKLSAgICAgICAgZm9yIChlbmNvZGluZywgZGF0YSkgaW4gYmFkZGF0YToKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgZGF0YS5kZWNvZGUsIGVuY29kaW5nLCAidGVzdC5yZXBsYWNpbmciKQorCisgICAgICAgIHdpdGggdGVzdC5zdXBwb3J0LmNoZWNrX3dhcm5pbmdzKCk6CisgICAgICAgICAgICAjIHVuaWNvZGUtaW50ZXJuYWwgaGFzIGJlZW4gZGVwcmVjYXRlZAorICAgICAgICAgICAgZm9yIChlbmNvZGluZywgZGF0YSkgaW4gYmFkZGF0YToKKyAgICAgICAgICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvcik6CisgICAgICAgICAgICAgICAgICAgIGRhdGEuZGVjb2RlKGVuY29kaW5nLCAidGVzdC5yZXBsYWNpbmciKQogCiAgICAgICAgIGRlZiBtdXRhdGluZyhleGMpOgogICAgICAgICAgICAgaWYgaXNpbnN0YW5jZShleGMsIFVuaWNvZGVEZWNvZGVFcnJvcik6CkBAIC04NTUsOCArODY5LDExIEBACiAgICAgICAgIGNvZGVjcy5yZWdpc3Rlcl9lcnJvcigidGVzdC5tdXRhdGluZyIsIG11dGF0aW5nKQogICAgICAgICAjIElmIHRoZSBkZWNvZGVyIGRvZXNuJ3QgcGljayB1cCB0aGUgbW9kaWZpZWQgaW5wdXQgdGhlIGZvbGxvd2luZwogICAgICAgICAjIHdpbGwgbGVhZCB0byBhbiBlbmRsZXNzIGxvb3AKLSAgICAgICAgZm9yIChlbmNvZGluZywgZGF0YSkgaW4gYmFkZGF0YToKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgZGF0YS5kZWNvZGUsIGVuY29kaW5nLCAidGVzdC5yZXBsYWNpbmciKQorICAgICAgICB3aXRoIHRlc3Quc3VwcG9ydC5jaGVja193YXJuaW5ncygpOgorICAgICAgICAgICAgIyB1bmljb2RlLWludGVybmFsIGhhcyBiZWVuIGRlcHJlY2F0ZWQKKyAgICAgICAgICAgIGZvciAoZW5jb2RpbmcsIGRhdGEpIGluIGJhZGRhdGE6CisgICAgICAgICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IpOgorICAgICAgICAgICAgICAgICAgICBkYXRhLmRlY29kZShlbmNvZGluZywgInRlc3QucmVwbGFjaW5nIikKIAogZGVmIHRlc3RfbWFpbigpOgogICAgIHRlc3Quc3VwcG9ydC5ydW5fdW5pdHRlc3QoQ29kZWNDYWxsYmFja1Rlc3QpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2NvZGVjZW5jb2RpbmdzX2NuLnB5IGIvTGliL3Rlc3QvdGVzdF9jb2RlY2VuY29kaW5nc19jbi5weQppbmRleCBkY2E5ZjEwLi5lZTNkMTY1IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2NvZGVjZW5jb2RpbmdzX2NuLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfY29kZWNlbmNvZGluZ3NfY24ucHkKQEAgLTE1LDggKzE1LDggQEAKICAgICAgICAgIyBpbnZhbGlkIGJ5dGVzCiAgICAgICAgIChiImFiY1x4ODFceDgxXHhjMVx4YzQiLCAic3RyaWN0IiwgIE5vbmUpLAogICAgICAgICAoYiJhYmNceGM4IiwgInN0cmljdCIsICBOb25lKSwKLSAgICAgICAgKGIiYWJjXHg4MVx4ODFceGMxXHhjNCIsICJyZXBsYWNlIiwgImFiY1x1ZmZmZFx1ODA0YSIpLAotICAgICAgICAoYiJhYmNceDgxXHg4MVx4YzFceGM0XHhjOCIsICJyZXBsYWNlIiwgImFiY1x1ZmZmZFx1ODA0YVx1ZmZmZCIpLAorICAgICAgICAoYiJhYmNceDgxXHg4MVx4YzFceGM0IiwgInJlcGxhY2UiLCAiYWJjXHVmZmZkXHVmZmZkXHU4MDRhIiksCisgICAgICAgIChiImFiY1x4ODFceDgxXHhjMVx4YzRceGM4IiwgInJlcGxhY2UiLCAiYWJjXHVmZmZkXHVmZmZkXHU4MDRhXHVmZmZkIiksCiAgICAgICAgIChiImFiY1x4ODFceDgxXHhjMVx4YzQiLCAiaWdub3JlIiwgICJhYmNcdTgwNGEiKSwKICAgICAgICAgKGIiXHhjMVx4NjQiLCAic3RyaWN0IiwgTm9uZSksCiAgICAgKQpAQCAtMjgsOCArMjgsOCBAQAogICAgICAgICAjIGludmFsaWQgYnl0ZXMKICAgICAgICAgKGIiYWJjXHg4MFx4ODBceGMxXHhjNCIsICJzdHJpY3QiLCAgTm9uZSksCiAgICAgICAgIChiImFiY1x4YzgiLCAic3RyaWN0IiwgIE5vbmUpLAotICAgICAgICAoYiJhYmNceDgwXHg4MFx4YzFceGM0IiwgInJlcGxhY2UiLCAiYWJjXHVmZmZkXHU4MDRhIiksCi0gICAgICAgIChiImFiY1x4ODBceDgwXHhjMVx4YzRceGM4IiwgInJlcGxhY2UiLCAiYWJjXHVmZmZkXHU4MDRhXHVmZmZkIiksCisgICAgICAgIChiImFiY1x4ODBceDgwXHhjMVx4YzQiLCAicmVwbGFjZSIsICJhYmNcdWZmZmRcdWZmZmRcdTgwNGEiKSwKKyAgICAgICAgKGIiYWJjXHg4MFx4ODBceGMxXHhjNFx4YzgiLCAicmVwbGFjZSIsICJhYmNcdWZmZmRcdWZmZmRcdTgwNGFcdWZmZmQiKSwKICAgICAgICAgKGIiYWJjXHg4MFx4ODBceGMxXHhjNCIsICJpZ25vcmUiLCAgImFiY1x1ODA0YSIpLAogICAgICAgICAoYiJceDgzXHgzNFx4ODNceDMxIiwgInN0cmljdCIsIE5vbmUpLAogICAgICAgICAoIlx1MzBmYiIsICJzdHJpY3QiLCBOb25lKSwKQEAgLTQyLDExICs0MiwxNCBAQAogICAgICAgICAjIGludmFsaWQgYnl0ZXMKICAgICAgICAgKGIiYWJjXHg4MFx4ODBceGMxXHhjNCIsICJzdHJpY3QiLCAgTm9uZSksCiAgICAgICAgIChiImFiY1x4YzgiLCAic3RyaWN0IiwgIE5vbmUpLAotICAgICAgICAoYiJhYmNceDgwXHg4MFx4YzFceGM0IiwgInJlcGxhY2UiLCAiYWJjXHVmZmZkXHU4MDRhIiksCi0gICAgICAgIChiImFiY1x4ODBceDgwXHhjMVx4YzRceGM4IiwgInJlcGxhY2UiLCAiYWJjXHVmZmZkXHU4MDRhXHVmZmZkIiksCisgICAgICAgIChiImFiY1x4ODBceDgwXHhjMVx4YzQiLCAicmVwbGFjZSIsICJhYmNcdWZmZmRcdWZmZmRcdTgwNGEiKSwKKyAgICAgICAgKGIiYWJjXHg4MFx4ODBceGMxXHhjNFx4YzgiLCAicmVwbGFjZSIsICJhYmNcdWZmZmRcdWZmZmRcdTgwNGFcdWZmZmQiKSwKICAgICAgICAgKGIiYWJjXHg4MFx4ODBceGMxXHhjNCIsICJpZ25vcmUiLCAgImFiY1x1ODA0YSIpLAotICAgICAgICAoYiJhYmNceDg0XHgzOVx4ODRceDM5XHhjMVx4YzQiLCAicmVwbGFjZSIsICJhYmNcdWZmZmRcdTgwNGEiKSwKKyAgICAgICAgKGIiYWJjXHg4NFx4MzlceDg0XHgzOVx4YzFceGM0IiwgInJlcGxhY2UiLCAiYWJjXHVmZmZkOVx1ZmZmZDlcdTgwNGEiKSwKICAgICAgICAgKCJcdTMwZmIiLCAic3RyaWN0IiwgYiJceDgxOVx4YTc5IiksCisgICAgICAgIChiImFiY1x4ODRceDMyXHg4MFx4ODBkZWYiLCAicmVwbGFjZSIsICdhYmNcdWZmZmQyXHVmZmZkXHVmZmZkZGVmJyksCisgICAgICAgIChiImFiY1x4ODFceDMwXHg4MVx4MzBkZWYiLCAic3RyaWN0IiwgJ2FiY1x4ODBkZWYnKSwKKyAgICAgICAgKGIiYWJjXHg4Nlx4MzBceDgxXHgzMGRlZiIsICJyZXBsYWNlIiwgJ2FiY1x1ZmZmZDBcdWZmZmQwZGVmJyksCiAgICAgKQogICAgIGhhc19pc28xMDY0NiA9IFRydWUKIApAQCAtNzQsOSArNzcsMTEgQEAKICAgICAgICAgICdcdTVkZjFcdTYyNDBcdTRlMGRcdTZiMzJcdWZmMGNcdTUyZmZcdTY1YmRcdTY1YmNcdTRlYmFcdTMwMDInCiAgICAgICAgICAnQnllLlxuJyksCiAgICAgICAgICMgaW52YWxpZCBieXRlcwotICAgICAgICAoYidhYn5jZCcsICdyZXBsYWNlJywgJ2FiXHVGRkZEZCcpLAorICAgICAgICAoYidhYn5jZCcsICdyZXBsYWNlJywgJ2FiXHVGRkZEY2QnKSwKICAgICAgICAgKGInYWJceGZmY2QnLCAncmVwbGFjZScsICdhYlx1RkZGRGNkJyksCiAgICAgICAgIChiJ2FifntceDgxXHg4MVx4NDFceDQ0fn1jZCcsICdyZXBsYWNlJywgJ2FiXHVGRkZEXHVGRkZEXHU4MDRBY2QnKSwKKyAgICAgICAgKGInYWJ+e1x4NDFceDQ0fn1jZCcsICdyZXBsYWNlJywgJ2FiXHU4MDRBY2QnKSwKKyAgICAgICAgKGIiYWJ+e1x4NzlceDc5XHg0MVx4NDR+fWNkIiwgInJlcGxhY2UiLCAiYWJcdWZmZmRcdWZmZmRcdTgwNGFjZCIpLAogICAgICkKIAogZGVmIHRlc3RfbWFpbigpOgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9jb2RlY2VuY29kaW5nc19oay5weSBiL0xpYi90ZXN0L3Rlc3RfY29kZWNlbmNvZGluZ3NfaGsucHkKaW5kZXggY2NkYzBiNC4uNTIwZGY0MyAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9jb2RlY2VuY29kaW5nc19oay5weQorKysgYi9MaWIvdGVzdC90ZXN0X2NvZGVjZW5jb2RpbmdzX2hrLnB5CkBAIC0xNSw4ICsxNSw4IEBACiAgICAgICAgICMgaW52YWxpZCBieXRlcwogICAgICAgICAoYiJhYmNceDgwXHg4MFx4YzFceGM0IiwgInN0cmljdCIsICBOb25lKSwKICAgICAgICAgKGIiYWJjXHhjOCIsICJzdHJpY3QiLCAgTm9uZSksCi0gICAgICAgIChiImFiY1x4ODBceDgwXHhjMVx4YzQiLCAicmVwbGFjZSIsICJhYmNcdWZmZmRcdThiMTAiKSwKLSAgICAgICAgKGIiYWJjXHg4MFx4ODBceGMxXHhjNFx4YzgiLCAicmVwbGFjZSIsICJhYmNcdWZmZmRcdThiMTBcdWZmZmQiKSwKKyAgICAgICAgKGIiYWJjXHg4MFx4ODBceGMxXHhjNCIsICJyZXBsYWNlIiwgImFiY1x1ZmZmZFx1ZmZmZFx1OGIxMCIpLAorICAgICAgICAoYiJhYmNceDgwXHg4MFx4YzFceGM0XHhjOCIsICJyZXBsYWNlIiwgImFiY1x1ZmZmZFx1ZmZmZFx1OGIxMFx1ZmZmZCIpLAogICAgICAgICAoYiJhYmNceDgwXHg4MFx4YzFceGM0IiwgImlnbm9yZSIsICAiYWJjXHU4YjEwIiksCiAgICAgKQogCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2NvZGVjZW5jb2RpbmdzX2pwLnB5IGIvTGliL3Rlc3QvdGVzdF9jb2RlY2VuY29kaW5nc19qcC5weQppbmRleCBmNTZhMzczLi44N2U0ODEyIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2NvZGVjZW5jb2RpbmdzX2pwLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfY29kZWNlbmNvZGluZ3NfanAucHkKQEAgLTE1LDUwICsxNSw1NyBAQAogICAgICAgICAjIGludmFsaWQgYnl0ZXMKICAgICAgICAgKGIiYWJjXHg4MVx4MDBceDgxXHgwMFx4ODJceDg0IiwgInN0cmljdCIsICBOb25lKSwKICAgICAgICAgKGIiYWJjXHhmOCIsICJzdHJpY3QiLCAgTm9uZSksCi0gICAgICAgIChiImFiY1x4ODFceDAwXHg4Mlx4ODQiLCAicmVwbGFjZSIsICJhYmNcdWZmZmRcdWZmNDQiKSwKLSAgICAgICAgKGIiYWJjXHg4MVx4MDBceDgyXHg4NFx4ODgiLCAicmVwbGFjZSIsICJhYmNcdWZmZmRcdWZmNDRcdWZmZmQiKSwKLSAgICAgICAgKGIiYWJjXHg4MVx4MDBceDgyXHg4NCIsICJpZ25vcmUiLCAgImFiY1x1ZmY0NCIpLAorICAgICAgICAoYiJhYmNceDgxXHgwMFx4ODJceDg0IiwgInJlcGxhY2UiLCAiYWJjXHVmZmZkXHgwMFx1ZmY0NCIpLAorICAgICAgICAoYiJhYmNceDgxXHgwMFx4ODJceDg0XHg4OCIsICJyZXBsYWNlIiwgImFiY1x1ZmZmZFx4MDBcdWZmNDRcdWZmZmQiKSwKKyAgICAgICAgKGIiYWJjXHg4MVx4MDBceDgyXHg4NCIsICJpZ25vcmUiLCAgImFiY1x4MDBcdWZmNDQiKSwKKyAgICAgICAgKGIiYWJceEVCeHkiLCAicmVwbGFjZSIsICJhYlx1RkZGRHh5IiksCisgICAgICAgIChiImFiXHhGMFx4Mzl4eSIsICJyZXBsYWNlIiwgImFiXHVGRkZEOXh5IiksCisgICAgICAgIChiImFiXHhFQVx4RjB4eSIsICJyZXBsYWNlIiwgJ2FiXHVmZmZkXHVlMDM4eScpLAogICAgICAgICAjIHNqaXMgdnMgY3A5MzIKICAgICAgICAgKGIiXFxceDdlIiwgInJlcGxhY2UiLCAiXFxceDdlIiksCiAgICAgICAgIChiIlx4ODFceDVmXHg4MVx4NjFceDgxXHg3YyIsICJyZXBsYWNlIiwgIlx1ZmYzY1x1MjIyNVx1ZmYwZCIpLAogICAgICkKIAorZXVjX2NvbW1vbnRlc3RzID0gKAorICAgICMgaW52YWxpZCBieXRlcworICAgIChiImFiY1x4ODBceDgwXHhjMVx4YzQiLCAic3RyaWN0IiwgIE5vbmUpLAorICAgIChiImFiY1x4ODBceDgwXHhjMVx4YzQiLCAicmVwbGFjZSIsICJhYmNcdWZmZmRcdWZmZmRcdTc5NTYiKSwKKyAgICAoYiJhYmNceDgwXHg4MFx4YzFceGM0XHhjOCIsICJyZXBsYWNlIiwgImFiY1x1ZmZmZFx1ZmZmZFx1Nzk1Nlx1ZmZmZCIpLAorICAgIChiImFiY1x4ODBceDgwXHhjMVx4YzQiLCAiaWdub3JlIiwgICJhYmNcdTc5NTYiKSwKKyAgICAoYiJhYmNceGM4IiwgInN0cmljdCIsICBOb25lKSwKKyAgICAoYiJhYmNceDhmXHg4M1x4ODMiLCAicmVwbGFjZSIsICJhYmNcdWZmZmRcdWZmZmRcdWZmZmQiKSwKKyAgICAoYiJceDgyXHhGQ3h5IiwgInJlcGxhY2UiLCAiXHVmZmZkXHVmZmZkeHkiKSwKKyAgICAoYiJceGMxXHg2NCIsICJzdHJpY3QiLCBOb25lKSwKKyAgICAoYiJceGExXHhjMCIsICJzdHJpY3QiLCAiXHVmZjNjIiksCisgICAgKGIiXHhhMVx4YzBcXCIsICJzdHJpY3QiLCAiXHVmZjNjXFwiKSwKKyAgICAoYiJceDhlWFkiLCAicmVwbGFjZSIsICJcdWZmZmRYWSIpLAorKQorCitjbGFzcyBUZXN0X0VVQ19KSVNfMjAwNCh0ZXN0X211bHRpYnl0ZWNvZGVjX3N1cHBvcnQuVGVzdEJhc2UsCisgICAgICAgICAgICAgICAgICAgICAgICB1bml0dGVzdC5UZXN0Q2FzZSk6CisgICAgZW5jb2RpbmcgPSAnZXVjX2ppc18yMDA0JworICAgIHRzdHJpbmcgPSB0ZXN0X211bHRpYnl0ZWNvZGVjX3N1cHBvcnQubG9hZF90ZXN0c3RyaW5nKCdldWNfamlzeDAyMTMnKQorICAgIGNvZGVjdGVzdHMgPSBldWNfY29tbW9udGVzdHMKKyAgICB4bWxjaGFybmFtZXRlc3QgPSAoCisgICAgICAgICJceGFiXHUyMTFjXHhiYiA9IFx1MjMyOVx1MTIzNFx1MjMyYSIsCisgICAgICAgIGIiXHhhOVx4YTgmcmVhbDtceGE5XHhiMiA9ICZsYW5nOyYjNDY2MDsmcmFuZzsiCisgICAgKQorCiBjbGFzcyBUZXN0X0VVQ19KSVNYMDIxMyh0ZXN0X211bHRpYnl0ZWNvZGVjX3N1cHBvcnQuVGVzdEJhc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICB1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgZW5jb2RpbmcgPSAnZXVjX2ppc3gwMjEzJwogICAgIHRzdHJpbmcgPSB0ZXN0X211bHRpYnl0ZWNvZGVjX3N1cHBvcnQubG9hZF90ZXN0c3RyaW5nKCdldWNfamlzeDAyMTMnKQotICAgIGNvZGVjdGVzdHMgPSAoCi0gICAgICAgICMgaW52YWxpZCBieXRlcwotICAgICAgICAoYiJhYmNceDgwXHg4MFx4YzFceGM0IiwgInN0cmljdCIsICBOb25lKSwKLSAgICAgICAgKGIiYWJjXHhjOCIsICJzdHJpY3QiLCAgTm9uZSksCi0gICAgICAgIChiImFiY1x4ODBceDgwXHhjMVx4YzQiLCAicmVwbGFjZSIsICJhYmNcdWZmZmRcdTc5NTYiKSwKLSAgICAgICAgKGIiYWJjXHg4MFx4ODBceGMxXHhjNFx4YzgiLCAicmVwbGFjZSIsICJhYmNcdWZmZmRcdTc5NTZcdWZmZmQiKSwKLSAgICAgICAgKGIiYWJjXHg4MFx4ODBceGMxXHhjNCIsICJpZ25vcmUiLCAgImFiY1x1Nzk1NiIpLAotICAgICAgICAoYiJhYmNceDhmXHg4M1x4ODMiLCAicmVwbGFjZSIsICJhYmNcdWZmZmQiKSwKLSAgICAgICAgKGIiXHhjMVx4NjQiLCAic3RyaWN0IiwgTm9uZSksCi0gICAgICAgIChiIlx4YTFceGMwIiwgInN0cmljdCIsICJcdWZmM2MiKSwKLSAgICApCisgICAgY29kZWN0ZXN0cyA9IGV1Y19jb21tb250ZXN0cwogICAgIHhtbGNoYXJuYW1ldGVzdCA9ICgKICAgICAgICAgIlx4YWJcdTIxMWNceGJiID0gXHUyMzI5XHUxMjM0XHUyMzJhIiwKICAgICAgICAgYiJceGE5XHhhOCZyZWFsO1x4YTlceGIyID0gJmxhbmc7JiM0NjYwOyZyYW5nOyIKICAgICApCiAKLWV1Y2pwX2NvbW1vbnRlc3RzID0gKAotICAgIChiImFiY1x4ODBceDgwXHhjMVx4YzQiLCAic3RyaWN0IiwgIE5vbmUpLAotICAgIChiImFiY1x4YzgiLCAic3RyaWN0IiwgIE5vbmUpLAotICAgIChiImFiY1x4ODBceDgwXHhjMVx4YzQiLCAicmVwbGFjZSIsICJhYmNcdWZmZmRcdTc5NTYiKSwKLSAgICAoYiJhYmNceDgwXHg4MFx4YzFceGM0XHhjOCIsICJyZXBsYWNlIiwgImFiY1x1ZmZmZFx1Nzk1Nlx1ZmZmZCIpLAotICAgIChiImFiY1x4ODBceDgwXHhjMVx4YzQiLCAiaWdub3JlIiwgICJhYmNcdTc5NTYiKSwKLSAgICAoYiJhYmNceDhmXHg4M1x4ODMiLCAicmVwbGFjZSIsICJhYmNcdWZmZmQiKSwKLSAgICAoYiJceGMxXHg2NCIsICJzdHJpY3QiLCBOb25lKSwKLSkKLQogY2xhc3MgVGVzdF9FVUNfSlBfQ09NUEFUKHRlc3RfbXVsdGlieXRlY29kZWNfc3VwcG9ydC5UZXN0QmFzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICB1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgZW5jb2RpbmcgPSAnZXVjX2pwJwogICAgIHRzdHJpbmcgPSB0ZXN0X211bHRpYnl0ZWNvZGVjX3N1cHBvcnQubG9hZF90ZXN0c3RyaW5nKCdldWNfanAnKQotICAgIGNvZGVjdGVzdHMgPSBldWNqcF9jb21tb250ZXN0cyArICgKLSAgICAgICAgKGIiXHhhMVx4YzBcXCIsICJzdHJpY3QiLCAiXHVmZjNjXFwiKSwKKyAgICBjb2RlY3Rlc3RzID0gZXVjX2NvbW1vbnRlc3RzICsgKAogICAgICAgICAoIlx4YTUiLCAic3RyaWN0IiwgYiJceDVjIiksCiAgICAgICAgICgiXHUyMDNlIiwgInN0cmljdCIsIGIiXHg3ZSIpLAogICAgICkKQEAgLTY2LDggKzczLDYgQEAKIHNoaWZ0amlzX2NvbW1vbmVuY3Rlc3RzID0gKAogICAgIChiImFiY1x4ODBceDgwXHg4Mlx4ODQiLCAic3RyaWN0IiwgIE5vbmUpLAogICAgIChiImFiY1x4ZjgiLCAic3RyaWN0IiwgIE5vbmUpLAotICAgIChiImFiY1x4ODBceDgwXHg4Mlx4ODQiLCAicmVwbGFjZSIsICJhYmNcdWZmZmRcdWZmNDQiKSwKLSAgICAoYiJhYmNceDgwXHg4MFx4ODJceDg0XHg4OCIsICJyZXBsYWNlIiwgImFiY1x1ZmZmZFx1ZmY0NFx1ZmZmZCIpLAogICAgIChiImFiY1x4ODBceDgwXHg4Mlx4ODRkZWYiLCAiaWdub3JlIiwgICJhYmNcdWZmNDRkZWYiKSwKICkKIApAQCAtNzUsMjAgKzgwLDQxIEBACiAgICAgZW5jb2RpbmcgPSAnc2hpZnRfamlzJwogICAgIHRzdHJpbmcgPSB0ZXN0X211bHRpYnl0ZWNvZGVjX3N1cHBvcnQubG9hZF90ZXN0c3RyaW5nKCdzaGlmdF9qaXMnKQogICAgIGNvZGVjdGVzdHMgPSBzaGlmdGppc19jb21tb25lbmN0ZXN0cyArICgKKyAgICAgICAgKGIiYWJjXHg4MFx4ODBceDgyXHg4NCIsICJyZXBsYWNlIiwgImFiY1x1ZmZmZFx1ZmZmZFx1ZmY0NCIpLAorICAgICAgICAoYiJhYmNceDgwXHg4MFx4ODJceDg0XHg4OCIsICJyZXBsYWNlIiwgImFiY1x1ZmZmZFx1ZmZmZFx1ZmY0NFx1ZmZmZCIpLAorCiAgICAgICAgIChiIlxcXHg3ZSIsICJzdHJpY3QiLCAiXFxceDdlIiksCiAgICAgICAgIChiIlx4ODFceDVmXHg4MVx4NjFceDgxXHg3YyIsICJzdHJpY3QiLCAiXHVmZjNjXHUyMDE2XHUyMjEyIiksCisgICAgICAgIChiImFiY1x4ODFceDM5IiwgInJlcGxhY2UiLCAgImFiY1x1ZmZmZDkiKSwKKyAgICAgICAgKGIiYWJjXHhFQVx4RkMiLCAicmVwbGFjZSIsICAiYWJjXHVmZmZkXHVmZmZkIiksCisgICAgICAgIChiImFiY1x4RkZceDU4IiwgInJlcGxhY2UiLCAgImFiY1x1ZmZmZFgiKSwKKyAgICApCisKK2NsYXNzIFRlc3RfU0pJU18yMDA0KHRlc3RfbXVsdGlieXRlY29kZWNfc3VwcG9ydC5UZXN0QmFzZSwgdW5pdHRlc3QuVGVzdENhc2UpOgorICAgIGVuY29kaW5nID0gJ3NoaWZ0X2ppc18yMDA0JworICAgIHRzdHJpbmcgPSB0ZXN0X211bHRpYnl0ZWNvZGVjX3N1cHBvcnQubG9hZF90ZXN0c3RyaW5nKCdzaGlmdF9qaXMnKQorICAgIGNvZGVjdGVzdHMgPSBzaGlmdGppc19jb21tb25lbmN0ZXN0cyArICgKKyAgICAgICAgKGIiXFxceDdlIiwgInN0cmljdCIsICJceGE1XHUyMDNlIiksCisgICAgICAgIChiIlx4ODFceDVmXHg4MVx4NjFceDgxXHg3YyIsICJzdHJpY3QiLCAiXFxcdTIwMTZcdTIyMTIiKSwKKyAgICAgICAgKGIiYWJjXHhFQVx4RkMiLCAic3RyaWN0IiwgICJhYmNcdTY0YmYiKSwKKyAgICAgICAgKGIiXHg4MVx4Mzl4eSIsICJyZXBsYWNlIiwgICJcdWZmZmQ5eHkiKSwKKyAgICAgICAgKGIiXHhGRlx4NTh4eSIsICJyZXBsYWNlIiwgICJcdWZmZmRYeHkiKSwKKyAgICAgICAgKGIiXHg4MFx4ODBceDgyXHg4NHh5IiwgInJlcGxhY2UiLCAiXHVmZmZkXHVmZmZkXHVmZjQ0eHkiKSwKKyAgICAgICAgKGIiXHg4MFx4ODBceDgyXHg4NFx4ODh4eSIsICJyZXBsYWNlIiwgIlx1ZmZmZFx1ZmZmZFx1ZmY0NFx1NTg2NHkiKSwKKyAgICAgICAgKGIiXHhGQ1x4RkJ4eSIsICJyZXBsYWNlIiwgJ1x1ZmZmZFx1OTViNHknKSwKKyAgICApCisgICAgeG1sY2hhcm5hbWV0ZXN0ID0gKAorICAgICAgICAiXHhhYlx1MjExY1x4YmIgPSBcdTIzMjlcdTEyMzRcdTIzMmEiLAorICAgICAgICBiIlx4ODVHJnJlYWw7XHg4NVEgPSAmbGFuZzsmIzQ2NjA7JnJhbmc7IgogICAgICkKIAogY2xhc3MgVGVzdF9TSklTWDAyMTModGVzdF9tdWx0aWJ5dGVjb2RlY19zdXBwb3J0LlRlc3RCYXNlLCB1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgZW5jb2RpbmcgPSAnc2hpZnRfamlzeDAyMTMnCiAgICAgdHN0cmluZyA9IHRlc3RfbXVsdGlieXRlY29kZWNfc3VwcG9ydC5sb2FkX3Rlc3RzdHJpbmcoJ3NoaWZ0X2ppc3gwMjEzJykKLSAgICBjb2RlY3Rlc3RzID0gKAotICAgICAgICAjIGludmFsaWQgYnl0ZXMKLSAgICAgICAgKGIiYWJjXHg4MFx4ODBceDgyXHg4NCIsICJzdHJpY3QiLCAgTm9uZSksCi0gICAgICAgIChiImFiY1x4ZjgiLCAic3RyaWN0IiwgIE5vbmUpLAotICAgICAgICAoYiJhYmNceDgwXHg4MFx4ODJceDg0IiwgInJlcGxhY2UiLCAiYWJjXHVmZmZkXHVmZjQ0IiksCi0gICAgICAgIChiImFiY1x4ODBceDgwXHg4Mlx4ODRceDg4IiwgInJlcGxhY2UiLCAiYWJjXHVmZmZkXHVmZjQ0XHVmZmZkIiksCi0gICAgICAgIChiImFiY1x4ODBceDgwXHg4Mlx4ODRkZWYiLCAiaWdub3JlIiwgICJhYmNcdWZmNDRkZWYiKSwKKyAgICBjb2RlY3Rlc3RzID0gc2hpZnRqaXNfY29tbW9uZW5jdGVzdHMgKyAoCisgICAgICAgIChiImFiY1x4ODBceDgwXHg4Mlx4ODQiLCAicmVwbGFjZSIsICJhYmNcdWZmZmRcdWZmZmRcdWZmNDQiKSwKKyAgICAgICAgKGIiYWJjXHg4MFx4ODBceDgyXHg4NFx4ODgiLCAicmVwbGFjZSIsICJhYmNcdWZmZmRcdWZmZmRcdWZmNDRcdWZmZmQiKSwKKwogICAgICAgICAjIHNqaXMgdnMgY3A5MzIKICAgICAgICAgKGIiXFxceDdlIiwgInJlcGxhY2UiLCAiXHhhNVx1MjAzZSIpLAogICAgICAgICAoYiJceDgxXHg1Zlx4ODFceDYxXHg4MVx4N2MiLCAicmVwbGFjZSIsICJceDVjXHUyMDE2XHUyMjEyIiksCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2NvZGVjZW5jb2RpbmdzX2tyLnB5IGIvTGliL3Rlc3QvdGVzdF9jb2RlY2VuY29kaW5nc19rci5weQppbmRleCBkZTRkYTdmLi40OTk3ZTgzIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2NvZGVjZW5jb2RpbmdzX2tyLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfY29kZWNlbmNvZGluZ3Nfa3IucHkKQEAgLTE1LDggKzE1LDggQEAKICAgICAgICAgIyBpbnZhbGlkIGJ5dGVzCiAgICAgICAgIChiImFiY1x4ODBceDgwXHhjMVx4YzQiLCAic3RyaWN0IiwgIE5vbmUpLAogICAgICAgICAoYiJhYmNceGM4IiwgInN0cmljdCIsICBOb25lKSwKLSAgICAgICAgKGIiYWJjXHg4MFx4ODBceGMxXHhjNCIsICJyZXBsYWNlIiwgImFiY1x1ZmZmZFx1Yzg5NCIpLAotICAgICAgICAoYiJhYmNceDgwXHg4MFx4YzFceGM0XHhjOCIsICJyZXBsYWNlIiwgImFiY1x1ZmZmZFx1Yzg5NFx1ZmZmZCIpLAorICAgICAgICAoYiJhYmNceDgwXHg4MFx4YzFceGM0IiwgInJlcGxhY2UiLCAiYWJjXHVmZmZkXHVmZmZkXHVjODk0IiksCisgICAgICAgIChiImFiY1x4ODBceDgwXHhjMVx4YzRceGM4IiwgInJlcGxhY2UiLCAiYWJjXHVmZmZkXHVmZmZkXHVjODk0XHVmZmZkIiksCiAgICAgICAgIChiImFiY1x4ODBceDgwXHhjMVx4YzQiLCAiaWdub3JlIiwgICJhYmNcdWM4OTQiKSwKICAgICApCiAKQEAgLTI3LDggKzI3LDggQEAKICAgICAgICAgIyBpbnZhbGlkIGJ5dGVzCiAgICAgICAgIChiImFiY1x4ODBceDgwXHhjMVx4YzQiLCAic3RyaWN0IiwgIE5vbmUpLAogICAgICAgICAoYiJhYmNceGM4IiwgInN0cmljdCIsICBOb25lKSwKLSAgICAgICAgKGIiYWJjXHg4MFx4ODBceGMxXHhjNCIsICJyZXBsYWNlIiwgImFiY1x1ZmZmZFx1Yzg5NCIpLAotICAgICAgICAoYiJhYmNceDgwXHg4MFx4YzFceGM0XHhjOCIsICJyZXBsYWNlIiwgImFiY1x1ZmZmZFx1Yzg5NFx1ZmZmZCIpLAorICAgICAgICAoYiJhYmNceDgwXHg4MFx4YzFceGM0IiwgInJlcGxhY2UiLCAnYWJjXHVmZmZkXHVmZmZkXHVjODk0JyksCisgICAgICAgIChiImFiY1x4ODBceDgwXHhjMVx4YzRceGM4IiwgInJlcGxhY2UiLCAiYWJjXHVmZmZkXHVmZmZkXHVjODk0XHVmZmZkIiksCiAgICAgICAgIChiImFiY1x4ODBceDgwXHhjMVx4YzQiLCAiaWdub3JlIiwgICJhYmNcdWM4OTQiKSwKIAogICAgICAgICAjIGNvbXBvc2VkIG1ha2UtdXAgc2VxdWVuY2UgZXJyb3JzCkBAIC00MCwxMyArNDAsMTQgQEAKICAgICAgICAgKGIiXHhhNFx4ZDRceGE0XHhiNlx4YTRceGQwXHhhNCIsICJzdHJpY3QiLCBOb25lKSwKICAgICAgICAgKGIiXHhhNFx4ZDRceGE0XHhiNlx4YTRceGQwXHhhNFx4ZDQiLCAic3RyaWN0IiwgIlx1YzRkNCIpLAogICAgICAgICAoYiJceGE0XHhkNFx4YTRceGI2XHhhNFx4ZDBceGE0XHhkNHgiLCAic3RyaWN0IiwgIlx1YzRkNHgiKSwKLSAgICAgICAgKGIiYVx4YTRceGQ0XHhhNFx4YjZceGE0IiwgInJlcGxhY2UiLCAiYVx1ZmZmZCIpLAorICAgICAgICAoYiJhXHhhNFx4ZDRceGE0XHhiNlx4YTQiLCAicmVwbGFjZSIsICdhXHVmZmZkJyksCiAgICAgICAgIChiIlx4YTRceGQ0XHhhM1x4YjZceGE0XHhkMFx4YTRceGQ0IiwgInN0cmljdCIsIE5vbmUpLAogICAgICAgICAoYiJceGE0XHhkNFx4YTRceGI2XHhhM1x4ZDBceGE0XHhkNCIsICJzdHJpY3QiLCBOb25lKSwKICAgICAgICAgKGIiXHhhNFx4ZDRceGE0XHhiNlx4YTRceGQwXHhhM1x4ZDQiLCAic3RyaWN0IiwgTm9uZSksCi0gICAgICAgIChiIlx4YTRceGQ0XHhhNFx4ZmZceGE0XHhkMFx4YTRceGQ0IiwgInJlcGxhY2UiLCAiXHVmZmZkIiksCi0gICAgICAgIChiIlx4YTRceGQ0XHhhNFx4YjZceGE0XHhmZlx4YTRceGQ0IiwgInJlcGxhY2UiLCAiXHVmZmZkIiksCi0gICAgICAgIChiIlx4YTRceGQ0XHhhNFx4YjZceGE0XHhkMFx4YTRceGZmIiwgInJlcGxhY2UiLCAiXHVmZmZkIiksCisgICAgICAgIChiIlx4YTRceGQ0XHhhNFx4ZmZceGE0XHhkMFx4YTRceGQ0IiwgInJlcGxhY2UiLCAnXHVmZmZkXHU2ZTIxXHVmZmZkXHUzMTYwXHVmZmZkJyksCisgICAgICAgIChiIlx4YTRceGQ0XHhhNFx4YjZceGE0XHhmZlx4YTRceGQ0IiwgInJlcGxhY2UiLCAnXHVmZmZkXHU2ZTIxXHViNTQ0XHVmZmZkXHVmZmZkJyksCisgICAgICAgIChiIlx4YTRceGQ0XHhhNFx4YjZceGE0XHhkMFx4YTRceGZmIiwgInJlcGxhY2UiLCAnXHVmZmZkXHU2ZTIxXHViNTQ0XHU1NzJkXHVmZmZkJyksCisgICAgICAgIChiIlx4YTRceGQ0XHhmZlx4YTRceGQ0XHhhNFx4YjZceGE0XHhkMFx4YTRceGQ0IiwgInJlcGxhY2UiLCAnXHVmZmZkXHVmZmZkXHVmZmZkXHVjNGQ0JyksCiAgICAgICAgIChiIlx4YzFceGM0IiwgInN0cmljdCIsICJcdWM4OTQiKSwKICAgICApCiAKQEAgLTU3LDkgKzU4LDEzIEBACiAgICAgICAgICMgaW52YWxpZCBieXRlcwogICAgICAgICAoYiJhYmNceDgwXHg4MFx4YzFceGM0IiwgInN0cmljdCIsICBOb25lKSwKICAgICAgICAgKGIiYWJjXHhjOCIsICJzdHJpY3QiLCAgTm9uZSksCi0gICAgICAgIChiImFiY1x4ODBceDgwXHhjMVx4YzQiLCAicmVwbGFjZSIsICJhYmNcdWZmZmRcdWNkMjciKSwKLSAgICAgICAgKGIiYWJjXHg4MFx4ODBceGMxXHhjNFx4YzgiLCAicmVwbGFjZSIsICJhYmNcdWZmZmRcdWNkMjdcdWZmZmQiKSwKKyAgICAgICAgKGIiYWJjXHg4MFx4ODBceGMxXHhjNCIsICJyZXBsYWNlIiwgImFiY1x1ZmZmZFx1ZmZmZFx1Y2QyNyIpLAorICAgICAgICAoYiJhYmNceDgwXHg4MFx4YzFceGM0XHhjOCIsICJyZXBsYWNlIiwgImFiY1x1ZmZmZFx1ZmZmZFx1Y2QyN1x1ZmZmZCIpLAogICAgICAgICAoYiJhYmNceDgwXHg4MFx4YzFceGM0IiwgImlnbm9yZSIsICAiYWJjXHVjZDI3IiksCisgICAgICAgIChiIlx4RDhhYmMiLCAicmVwbGFjZSIsICAiXHVGRkZEYWJjIiksCisgICAgICAgIChiIlx4RDhceEZGYWJjIiwgInJlcGxhY2UiLCAgIlx1RkZGRFx1RkZGRGFiYyIpLAorICAgICAgICAoYiJceDg0Ynh5IiwgInJlcGxhY2UiLCAgIlx1RkZGRGJ4eSIpLAorICAgICAgICAoYiJceDhDQnh5IiwgInJlcGxhY2UiLCAgIlx1RkZGREJ4eSIpLAogICAgICkKIAogZGVmIHRlc3RfbWFpbigpOgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9jb2RlY2VuY29kaW5nc190dy5weSBiL0xpYi90ZXN0L3Rlc3RfY29kZWNlbmNvZGluZ3NfdHcucHkKaW5kZXggMTJkM2M5Zi4uZjJmM2MxOCAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9jb2RlY2VuY29kaW5nc190dy5weQorKysgYi9MaWIvdGVzdC90ZXN0X2NvZGVjZW5jb2RpbmdzX3R3LnB5CkBAIC0xNSw4ICsxNSw4IEBACiAgICAgICAgICMgaW52YWxpZCBieXRlcwogICAgICAgICAoYiJhYmNceDgwXHg4MFx4YzFceGM0IiwgInN0cmljdCIsICBOb25lKSwKICAgICAgICAgKGIiYWJjXHhjOCIsICJzdHJpY3QiLCAgTm9uZSksCi0gICAgICAgIChiImFiY1x4ODBceDgwXHhjMVx4YzQiLCAicmVwbGFjZSIsICJhYmNcdWZmZmRcdThiMTAiKSwKLSAgICAgICAgKGIiYWJjXHg4MFx4ODBceGMxXHhjNFx4YzgiLCAicmVwbGFjZSIsICJhYmNcdWZmZmRcdThiMTBcdWZmZmQiKSwKKyAgICAgICAgKGIiYWJjXHg4MFx4ODBceGMxXHhjNCIsICJyZXBsYWNlIiwgImFiY1x1ZmZmZFx1ZmZmZFx1OGIxMCIpLAorICAgICAgICAoYiJhYmNceDgwXHg4MFx4YzFceGM0XHhjOCIsICJyZXBsYWNlIiwgImFiY1x1ZmZmZFx1ZmZmZFx1OGIxMFx1ZmZmZCIpLAogICAgICAgICAoYiJhYmNceDgwXHg4MFx4YzFceGM0IiwgImlnbm9yZSIsICAiYWJjXHU4YjEwIiksCiAgICAgKQogCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2NvZGVjbWFwc190dy5weSBiL0xpYi90ZXN0L3Rlc3RfY29kZWNtYXBzX3R3LnB5CmluZGV4IDZkYjUwOTEuLjQxMmI5ZGUgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfY29kZWNtYXBzX3R3LnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfY29kZWNtYXBzX3R3LnB5CkBAIC0yMyw2ICsyMyw5IEBACiAgICAgICAgIChiJ1x4YTJceGNjJywgJ1x1NTM0MScpLAogICAgICAgICAoYidceGEyXHhjZScsICdcdTUzNDUnKSwKICAgICBdCisgICAgY29kZWN0ZXN0cyA9ICgKKyAgICAgICAgKGIiXHhGRnh5IiwgInJlcGxhY2UiLCAgIlx1ZmZmZHh5IiksCisgICAgKQogCiBkZWYgdGVzdF9tYWluKCk6CiAgICAgc3VwcG9ydC5ydW5fdW5pdHRlc3QoX19uYW1lX18pCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2NvZGVjcy5weSBiL0xpYi90ZXN0L3Rlc3RfY29kZWNzLnB5CmluZGV4IDQ4OTlhNTkuLjVkYWFhMTkgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfY29kZWNzLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfY29kZWNzLnB5CkBAIC0xLDggKzEsMjUgQEAKLWZyb20gdGVzdCBpbXBvcnQgc3VwcG9ydAotaW1wb3J0IHVuaXR0ZXN0CitpbXBvcnQgX3Rlc3RjYXBpCiBpbXBvcnQgY29kZWNzCitpbXBvcnQgaW8KIGltcG9ydCBsb2NhbGUKLWltcG9ydCBzeXMsIF90ZXN0Y2FwaSwgaW8KK2ltcG9ydCBzeXMKK2ltcG9ydCB1bml0dGVzdAoraW1wb3J0IHdhcm5pbmdzCisKK2Zyb20gdGVzdCBpbXBvcnQgc3VwcG9ydAorCitpZiBzeXMucGxhdGZvcm0gPT0gJ3dpbjMyJzoKKyAgICBWSVNUQV9PUl9MQVRFUiA9IChzeXMuZ2V0d2luZG93c3ZlcnNpb24oKS5tYWpvciA+PSA2KQorZWxzZToKKyAgICBWSVNUQV9PUl9MQVRFUiA9IEZhbHNlCisKK3RyeToKKyAgICBpbXBvcnQgY3R5cGVzCitleGNlcHQgSW1wb3J0RXJyb3I6CisgICAgY3R5cGVzID0gTm9uZQorICAgIFNJWkVPRl9XQ0hBUl9UID0gLTEKK2Vsc2U6CisgICAgU0laRU9GX1dDSEFSX1QgPSBjdHlwZXMuc2l6ZW9mKGN0eXBlcy5jX3djaGFyKQogCiBjbGFzcyBRdWV1ZShvYmplY3QpOgogICAgICIiIgpAQCAtNjIyLDggKzYzOSwxMTMgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICBiImFiY1x4ZWRceGEwXHg4MGRlZiIpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYiJhYmNceGVkXHhhMFx4ODBkZWYiLmRlY29kZSgidXRmLTgiLCAic3Vycm9nYXRlcGFzcyIpLAogICAgICAgICAgICAgICAgICAgICAgICAgICJhYmNcdWQ4MDBkZWYiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCJcVTAwMDEwZmZmXHVEODAwIi5lbmNvZGUoInV0Zi04IiwgInN1cnJvZ2F0ZXBhc3MiKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBiIlx4ZjBceDkwXHhiZlx4YmZceGVkXHhhMFx4ODAiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGIiXHhmMFx4OTBceGJmXHhiZlx4ZWRceGEwXHg4MCIuZGVjb2RlKCJ1dGYtOCIsICJzdXJyb2dhdGVwYXNzIiksCisgICAgICAgICAgICAgICAgICAgICAgICAgIlxVMDAwMTBmZmZcdUQ4MDAiKQogICAgICAgICBzZWxmLmFzc2VydFRydWUoY29kZWNzLmxvb2t1cF9lcnJvcigic3Vycm9nYXRlcGFzcyIpKQogCitAdW5pdHRlc3Quc2tpcFVubGVzcyhzeXMucGxhdGZvcm0gPT0gJ3dpbjMyJywKKyAgICAgICAgICAgICAgICAgICAgICdjcDY1MDAxIGlzIGEgV2luZG93cy1vbmx5IGNvZGVjJykKK2NsYXNzIENQNjUwMDFUZXN0KFJlYWRUZXN0KToKKyAgICBlbmNvZGluZyA9ICJjcDY1MDAxIgorCisgICAgZGVmIHRlc3RfZW5jb2RlKHNlbGYpOgorICAgICAgICB0ZXN0cyA9IFsKKyAgICAgICAgICAgICgnYWJjJywgJ3N0cmljdCcsIGInYWJjJyksCisgICAgICAgICAgICAoJ1x4ZTlcdTIwYWMnLCAnc3RyaWN0JywgIGInXHhjM1x4YTlceGUyXHg4Mlx4YWMnKSwKKyAgICAgICAgICAgICgnXFUwMDEwZmZmZicsICdzdHJpY3QnLCBiJ1x4ZjRceDhmXHhiZlx4YmYnKSwKKyAgICAgICAgXQorICAgICAgICBpZiBWSVNUQV9PUl9MQVRFUjoKKyAgICAgICAgICAgIHRlc3RzLmV4dGVuZCgoCisgICAgICAgICAgICAgICAgKCdcdWRjODAnLCAnc3RyaWN0JywgTm9uZSksCisgICAgICAgICAgICAgICAgKCdcdWRjODAnLCAnaWdub3JlJywgYicnKSwKKyAgICAgICAgICAgICAgICAoJ1x1ZGM4MCcsICdyZXBsYWNlJywgYic/JyksCisgICAgICAgICAgICAgICAgKCdcdWRjODAnLCAnYmFja3NsYXNocmVwbGFjZScsIGInXFx1ZGM4MCcpLAorICAgICAgICAgICAgICAgICgnXHVkYzgwJywgJ3N1cnJvZ2F0ZXBhc3MnLCBiJ1x4ZWRceGIyXHg4MCcpLAorICAgICAgICAgICAgKSkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHRlc3RzLmFwcGVuZCgoJ1x1ZGM4MCcsICdzdHJpY3QnLCBiJ1x4ZWRceGIyXHg4MCcpKQorICAgICAgICBmb3IgdGV4dCwgZXJyb3JzLCBleHBlY3RlZCBpbiB0ZXN0czoKKyAgICAgICAgICAgIGlmIGV4cGVjdGVkIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICAgICAgZW5jb2RlZCA9IHRleHQuZW5jb2RlKCdjcDY1MDAxJywgZXJyb3JzKQorICAgICAgICAgICAgICAgIGV4Y2VwdCBVbmljb2RlRW5jb2RlRXJyb3IgYXMgZXJyOgorICAgICAgICAgICAgICAgICAgICBzZWxmLmZhaWwoJ1VuYWJsZSB0byBlbmNvZGUgJWEgdG8gY3A2NTAwMSB3aXRoICcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdlcnJvcnM9JXI6ICVzJyAlICh0ZXh0LCBlcnJvcnMsIGVycikpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChlbmNvZGVkLCBleHBlY3RlZCwKKyAgICAgICAgICAgICAgICAgICAgJyVhLmVuY29kZSgiY3A2NTAwMSIsICVyKT0lYSAhPSAlYScKKyAgICAgICAgICAgICAgICAgICAgJSAodGV4dCwgZXJyb3JzLCBlbmNvZGVkLCBleHBlY3RlZCkpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFVuaWNvZGVFbmNvZGVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgdGV4dC5lbmNvZGUsICJjcDY1MDAxIiwgZXJyb3JzKQorCisgICAgZGVmIHRlc3RfZGVjb2RlKHNlbGYpOgorICAgICAgICB0ZXN0cyA9IFsKKyAgICAgICAgICAgIChiJ2FiYycsICdzdHJpY3QnLCAnYWJjJyksCisgICAgICAgICAgICAoYidceGMzXHhhOVx4ZTJceDgyXHhhYycsICdzdHJpY3QnLCAnXHhlOVx1MjBhYycpLAorICAgICAgICAgICAgKGInXHhmNFx4OGZceGJmXHhiZicsICdzdHJpY3QnLCAnXFUwMDEwZmZmZicpLAorICAgICAgICAgICAgKGInXHhlZlx4YmZceGJkJywgJ3N0cmljdCcsICdcdWZmZmQnKSwKKyAgICAgICAgICAgIChiJ1tceGMzXHhhOV0nLCAnc3RyaWN0JywgJ1tceGU5XScpLAorICAgICAgICAgICAgIyBpbnZhbGlkIGJ5dGVzCisgICAgICAgICAgICAoYidbXHhmZl0nLCAnc3RyaWN0JywgTm9uZSksCisgICAgICAgICAgICAoYidbXHhmZl0nLCAnaWdub3JlJywgJ1tdJyksCisgICAgICAgICAgICAoYidbXHhmZl0nLCAncmVwbGFjZScsICdbXHVmZmZkXScpLAorICAgICAgICAgICAgKGInW1x4ZmZdJywgJ3N1cnJvZ2F0ZWVzY2FwZScsICdbXHVkY2ZmXScpLAorICAgICAgICBdCisgICAgICAgIGlmIFZJU1RBX09SX0xBVEVSOgorICAgICAgICAgICAgdGVzdHMuZXh0ZW5kKCgKKyAgICAgICAgICAgICAgICAoYidbXHhlZFx4YjJceDgwXScsICdzdHJpY3QnLCBOb25lKSwKKyAgICAgICAgICAgICAgICAoYidbXHhlZFx4YjJceDgwXScsICdpZ25vcmUnLCAnW10nKSwKKyAgICAgICAgICAgICAgICAoYidbXHhlZFx4YjJceDgwXScsICdyZXBsYWNlJywgJ1tcdWZmZmRcdWZmZmRcdWZmZmRdJyksCisgICAgICAgICAgICApKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgdGVzdHMuZXh0ZW5kKCgKKyAgICAgICAgICAgICAgICAoYidbXHhlZFx4YjJceDgwXScsICdzdHJpY3QnLCAnW1x1ZGM4MF0nKSwKKyAgICAgICAgICAgICkpCisgICAgICAgIGZvciByYXcsIGVycm9ycywgZXhwZWN0ZWQgaW4gdGVzdHM6CisgICAgICAgICAgICBpZiBleHBlY3RlZCBpcyBub3QgTm9uZToKKyAgICAgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgICAgIGRlY29kZWQgPSByYXcuZGVjb2RlKCdjcDY1MDAxJywgZXJyb3JzKQorICAgICAgICAgICAgICAgIGV4Y2VwdCBVbmljb2RlRGVjb2RlRXJyb3IgYXMgZXJyOgorICAgICAgICAgICAgICAgICAgICBzZWxmLmZhaWwoJ1VuYWJsZSB0byBkZWNvZGUgJWEgZnJvbSBjcDY1MDAxIHdpdGggJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Vycm9ycz0lcjogJXMnICUgKHJhdywgZXJyb3JzLCBlcnIpKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGVjb2RlZCwgZXhwZWN0ZWQsCisgICAgICAgICAgICAgICAgICAgICclYS5kZWNvZGUoImNwNjUwMDEiLCAlcik9JWEgIT0gJWEnCisgICAgICAgICAgICAgICAgICAgICUgKHJhdywgZXJyb3JzLCBkZWNvZGVkLCBleHBlY3RlZCkpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFVuaWNvZGVEZWNvZGVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgcmF3LmRlY29kZSwgJ2NwNjUwMDEnLCBlcnJvcnMpCisKKyAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhWSVNUQV9PUl9MQVRFUiwgJ3JlcXVpcmUgV2luZG93cyBWaXN0YSBvciBsYXRlcicpCisgICAgZGVmIHRlc3RfbG9uZV9zdXJyb2dhdGVzKHNlbGYpOgorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhVbmljb2RlRW5jb2RlRXJyb3IsICJcdWQ4MDAiLmVuY29kZSwgImNwNjUwMDEiKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhVbmljb2RlRGVjb2RlRXJyb3IsIGIiXHhlZFx4YTBceDgwIi5kZWNvZGUsICJjcDY1MDAxIikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgiW1x1REM4MF0iLmVuY29kZSgiY3A2NTAwMSIsICJiYWNrc2xhc2hyZXBsYWNlIiksCisgICAgICAgICAgICAgICAgICAgICAgICAgYidbXFx1ZGM4MF0nKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCJbXHVEQzgwXSIuZW5jb2RlKCJjcDY1MDAxIiwgInhtbGNoYXJyZWZyZXBsYWNlIiksCisgICAgICAgICAgICAgICAgICAgICAgICAgYidbJiM1NjQ0ODtdJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgiW1x1REM4MF0iLmVuY29kZSgiY3A2NTAwMSIsICJzdXJyb2dhdGVlc2NhcGUiKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBiJ1tceDgwXScpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoIltcdURDODBdIi5lbmNvZGUoImNwNjUwMDEiLCAiaWdub3JlIiksCisgICAgICAgICAgICAgICAgICAgICAgICAgYidbXScpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoIltcdURDODBdIi5lbmNvZGUoImNwNjUwMDEiLCAicmVwbGFjZSIpLAorICAgICAgICAgICAgICAgICAgICAgICAgIGInWz9dJykKKworICAgIEB1bml0dGVzdC5za2lwVW5sZXNzKFZJU1RBX09SX0xBVEVSLCAncmVxdWlyZSBXaW5kb3dzIFZpc3RhIG9yIGxhdGVyJykKKyAgICBkZWYgdGVzdF9zdXJyb2dhdGVwYXNzX2hhbmRsZXIoc2VsZik6CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoImFiY1x1ZDgwMGRlZiIuZW5jb2RlKCJjcDY1MDAxIiwgInN1cnJvZ2F0ZXBhc3MiKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBiImFiY1x4ZWRceGEwXHg4MGRlZiIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYiJhYmNceGVkXHhhMFx4ODBkZWYiLmRlY29kZSgiY3A2NTAwMSIsICJzdXJyb2dhdGVwYXNzIiksCisgICAgICAgICAgICAgICAgICAgICAgICAgImFiY1x1ZDgwMGRlZiIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoIlxVMDAwMTBmZmZcdUQ4MDAiLmVuY29kZSgiY3A2NTAwMSIsICJzdXJyb2dhdGVwYXNzIiksCisgICAgICAgICAgICAgICAgICAgICAgICAgYiJceGYwXHg5MFx4YmZceGJmXHhlZFx4YTBceDgwIikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiIlx4ZjBceDkwXHhiZlx4YmZceGVkXHhhMFx4ODAiLmRlY29kZSgiY3A2NTAwMSIsICJzdXJyb2dhdGVwYXNzIiksCisgICAgICAgICAgICAgICAgICAgICAgICAgIlxVMDAwMTBmZmZcdUQ4MDAiKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoY29kZWNzLmxvb2t1cF9lcnJvcigic3Vycm9nYXRlcGFzcyIpKQorCisKKwogY2xhc3MgVVRGN1Rlc3QoUmVhZFRlc3QpOgogICAgIGVuY29kaW5nID0gInV0Zi03IgogCkBAIC04ODQsNjEgKzEwMDYsODAgQEAKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodW5pLCBwdW55LmRlY29kZSgicHVueWNvZGUiKSkKIAogY2xhc3MgVW5pY29kZUludGVybmFsVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CisgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3MoU0laRU9GX1dDSEFSX1QgPT0gNCwgJ3NwZWNpZmljIHRvIDMyLWJpdCB3Y2hhcl90JykKICAgICBkZWYgdGVzdF9idWcxMjUxMzAwKHNlbGYpOgogICAgICAgICAjIERlY29kaW5nIHdpdGggdW5pY29kZV9pbnRlcm5hbCB1c2VkIHRvIG5vdCBjb3JyZWN0bHkgaGFuZGxlICJjb2RlCiAgICAgICAgICMgcG9pbnRzIiBhYm92ZSAweDEwZmZmZiBvbiBVQ1MtNCBidWlsZHMuCi0gICAgICAgIGlmIHN5cy5tYXh1bmljb2RlID4gMHhmZmZmOgotICAgICAgICAgICAgb2sgPSBbCi0gICAgICAgICAgICAgICAgKGIiXHgwMFx4MTBceGZmXHhmZiIsICJcVTAwMTBmZmZmIiksCi0gICAgICAgICAgICAgICAgKGIiXHgwMFx4MDBceDAxXHgwMSIsICJcVTAwMDAwMTAxIiksCi0gICAgICAgICAgICAgICAgKGIiIiwgIiIpLAotICAgICAgICAgICAgXQotICAgICAgICAgICAgbm90X29rID0gWwotICAgICAgICAgICAgICAgIGIiXHg3Zlx4ZmZceGZmXHhmZiIsCi0gICAgICAgICAgICAgICAgYiJceDgwXHgwMFx4MDBceDAwIiwKLSAgICAgICAgICAgICAgICBiIlx4ODFceDAwXHgwMFx4MDAiLAotICAgICAgICAgICAgICAgIGIiXHgwMCIsCi0gICAgICAgICAgICAgICAgYiJceDAwXHgwMFx4MDBceDAwXHgwMCIsCi0gICAgICAgICAgICBdCi0gICAgICAgICAgICBmb3IgaW50ZXJuYWwsIHVuaSBpbiBvazoKLSAgICAgICAgICAgICAgICBpZiBzeXMuYnl0ZW9yZGVyID09ICJsaXR0bGUiOgotICAgICAgICAgICAgICAgICAgICBpbnRlcm5hbCA9IGJ5dGVzKHJldmVyc2VkKGludGVybmFsKSkKKyAgICAgICAgb2sgPSBbCisgICAgICAgICAgICAoYiJceDAwXHgxMFx4ZmZceGZmIiwgIlxVMDAxMGZmZmYiKSwKKyAgICAgICAgICAgIChiIlx4MDBceDAwXHgwMVx4MDEiLCAiXFUwMDAwMDEwMSIpLAorICAgICAgICAgICAgKGIiIiwgIiIpLAorICAgICAgICBdCisgICAgICAgIG5vdF9vayA9IFsKKyAgICAgICAgICAgIGIiXHg3Zlx4ZmZceGZmXHhmZiIsCisgICAgICAgICAgICBiIlx4ODBceDAwXHgwMFx4MDAiLAorICAgICAgICAgICAgYiJceDgxXHgwMFx4MDBceDAwIiwKKyAgICAgICAgICAgIGIiXHgwMCIsCisgICAgICAgICAgICBiIlx4MDBceDAwXHgwMFx4MDBceDAwIiwKKyAgICAgICAgXQorICAgICAgICBmb3IgaW50ZXJuYWwsIHVuaSBpbiBvazoKKyAgICAgICAgICAgIGlmIHN5cy5ieXRlb3JkZXIgPT0gImxpdHRsZSI6CisgICAgICAgICAgICAgICAgaW50ZXJuYWwgPSBieXRlcyhyZXZlcnNlZChpbnRlcm5hbCkpCisgICAgICAgICAgICB3aXRoIHN1cHBvcnQuY2hlY2tfd2FybmluZ3MoKToKICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHVuaSwgaW50ZXJuYWwuZGVjb2RlKCJ1bmljb2RlX2ludGVybmFsIikpCi0gICAgICAgICAgICBmb3IgaW50ZXJuYWwgaW4gbm90X29rOgotICAgICAgICAgICAgICAgIGlmIHN5cy5ieXRlb3JkZXIgPT0gImxpdHRsZSI6Ci0gICAgICAgICAgICAgICAgICAgIGludGVybmFsID0gYnl0ZXMocmV2ZXJzZWQoaW50ZXJuYWwpKQorICAgICAgICBmb3IgaW50ZXJuYWwgaW4gbm90X29rOgorICAgICAgICAgICAgaWYgc3lzLmJ5dGVvcmRlciA9PSAibGl0dGxlIjoKKyAgICAgICAgICAgICAgICBpbnRlcm5hbCA9IGJ5dGVzKHJldmVyc2VkKGludGVybmFsKSkKKyAgICAgICAgICAgIHdpdGggc3VwcG9ydC5jaGVja193YXJuaW5ncygoJ3VuaWNvZGVfaW50ZXJuYWwgY29kZWMgaGFzIGJlZW4gJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVwcmVjYXRlZCcsIERlcHJlY2F0aW9uV2FybmluZykpOgogICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFVuaWNvZGVEZWNvZGVFcnJvciwgaW50ZXJuYWwuZGVjb2RlLAotICAgICAgICAgICAgICAgICAgICAidW5pY29kZV9pbnRlcm5hbCIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaWNvZGVfaW50ZXJuYWwiKQorICAgICAgICBpZiBzeXMuYnl0ZW9yZGVyID09ICJsaXR0bGUiOgorICAgICAgICAgICAgaW52YWxpZCA9IGIiXHgwMFx4MDBceDExXHgwMCIKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGludmFsaWQgPSBiIlx4MDBceDExXHgwMFx4MDAiCisgICAgICAgIHdpdGggc3VwcG9ydC5jaGVja193YXJuaW5ncygpOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVW5pY29kZURlY29kZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW52YWxpZC5kZWNvZGUsICJ1bmljb2RlX2ludGVybmFsIikKKyAgICAgICAgd2l0aCBzdXBwb3J0LmNoZWNrX3dhcm5pbmdzKCk6CisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGludmFsaWQuZGVjb2RlKCJ1bmljb2RlX2ludGVybmFsIiwgInJlcGxhY2UiKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1x1ZmZmZCcpCiAKKyAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhTSVpFT0ZfV0NIQVJfVCA9PSA0LCAnc3BlY2lmaWMgdG8gMzItYml0IHdjaGFyX3QnKQogICAgIGRlZiB0ZXN0X2RlY29kZV9lcnJvcl9hdHRyaWJ1dGVzKHNlbGYpOgotICAgICAgICBpZiBzeXMubWF4dW5pY29kZSA+IDB4ZmZmZjoKLSAgICAgICAgICAgIHRyeToKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgd2l0aCBzdXBwb3J0LmNoZWNrX3dhcm5pbmdzKCgndW5pY29kZV9pbnRlcm5hbCBjb2RlYyBoYXMgYmVlbiAnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXByZWNhdGVkJywgRGVwcmVjYXRpb25XYXJuaW5nKSk6CiAgICAgICAgICAgICAgICAgYiJceDAwXHgwMFx4MDBceDAwXHgwMFx4MTFceDExXHgwMCIuZGVjb2RlKCJ1bmljb2RlX2ludGVybmFsIikKLSAgICAgICAgICAgIGV4Y2VwdCBVbmljb2RlRGVjb2RlRXJyb3IgYXMgZXg6Ci0gICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgidW5pY29kZV9pbnRlcm5hbCIsIGV4LmVuY29kaW5nKQotICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYiJceDAwXHgwMFx4MDBceDAwXHgwMFx4MTFceDExXHgwMCIsIGV4Lm9iamVjdCkKLSAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKDQsIGV4LnN0YXJ0KQotICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoOCwgZXguZW5kKQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBzZWxmLmZhaWwoKQorICAgICAgICBleGNlcHQgVW5pY29kZURlY29kZUVycm9yIGFzIGV4OgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgidW5pY29kZV9pbnRlcm5hbCIsIGV4LmVuY29kaW5nKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiIlx4MDBceDAwXHgwMFx4MDBceDAwXHgxMVx4MTFceDAwIiwgZXgub2JqZWN0KQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCg0LCBleC5zdGFydCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoOCwgZXguZW5kKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgc2VsZi5mYWlsKCkKIAorICAgIEB1bml0dGVzdC5za2lwVW5sZXNzKFNJWkVPRl9XQ0hBUl9UID09IDQsICdzcGVjaWZpYyB0byAzMi1iaXQgd2NoYXJfdCcpCiAgICAgZGVmIHRlc3RfZGVjb2RlX2NhbGxiYWNrKHNlbGYpOgotICAgICAgICBpZiBzeXMubWF4dW5pY29kZSA+IDB4ZmZmZjoKLSAgICAgICAgICAgIGNvZGVjcy5yZWdpc3Rlcl9lcnJvcigiVW5pY29kZUludGVybmFsVGVzdCIsIGNvZGVjcy5pZ25vcmVfZXJyb3JzKQotICAgICAgICAgICAgZGVjb2RlciA9IGNvZGVjcy5nZXRkZWNvZGVyKCJ1bmljb2RlX2ludGVybmFsIikKKyAgICAgICAgY29kZWNzLnJlZ2lzdGVyX2Vycm9yKCJVbmljb2RlSW50ZXJuYWxUZXN0IiwgY29kZWNzLmlnbm9yZV9lcnJvcnMpCisgICAgICAgIGRlY29kZXIgPSBjb2RlY3MuZ2V0ZGVjb2RlcigidW5pY29kZV9pbnRlcm5hbCIpCisgICAgICAgIHdpdGggc3VwcG9ydC5jaGVja193YXJuaW5ncygoJ3VuaWNvZGVfaW50ZXJuYWwgY29kZWMgaGFzIGJlZW4gJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXByZWNhdGVkJywgRGVwcmVjYXRpb25XYXJuaW5nKSk6CiAgICAgICAgICAgICBhYiA9ICJhYiIuZW5jb2RlKCJ1bmljb2RlX2ludGVybmFsIikuZGVjb2RlKCkKICAgICAgICAgICAgIGlnbm9yZWQgPSBkZWNvZGVyKGJ5dGVzKCIlc1x4MjJceDIyXHgyMlx4MjIlcyIgJSAoYWJbOjRdLCBhYls0Ol0pLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFzY2lpIiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiVW5pY29kZUludGVybmFsVGVzdCIpCi0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCgiYWIiLCAxMiksIGlnbm9yZWQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoKCJhYiIsIDEyKSwgaWdub3JlZCkKIAogICAgIGRlZiB0ZXN0X2VuY29kZV9sZW5ndGgoc2VsZik6Ci0gICAgICAgICMgSXNzdWUgMzczOQotICAgICAgICBlbmNvZGVyID0gY29kZWNzLmdldGVuY29kZXIoInVuaWNvZGVfaW50ZXJuYWwiKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGVuY29kZXIoImEiKVsxXSwgMSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChlbmNvZGVyKCJceGU5XHUwMTQyIilbMV0sIDIpCisgICAgICAgIHdpdGggc3VwcG9ydC5jaGVja193YXJuaW5ncygoJ3VuaWNvZGVfaW50ZXJuYWwgY29kZWMgaGFzIGJlZW4gJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXByZWNhdGVkJywgRGVwcmVjYXRpb25XYXJuaW5nKSk6CisgICAgICAgICAgICAjIElzc3VlIDM3MzkKKyAgICAgICAgICAgIGVuY29kZXIgPSBjb2RlY3MuZ2V0ZW5jb2RlcigidW5pY29kZV9pbnRlcm5hbCIpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGVuY29kZXIoImEiKVsxXSwgMSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZW5jb2RlcigiXHhlOVx1MDE0MiIpWzFdLCAyKQogCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY29kZWNzLmVzY2FwZV9lbmNvZGUoYnInXHgwMCcpWzFdLCA0KQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjb2RlY3MuZXNjYXBlX2VuY29kZShicidceDAwJylbMV0sIDQpCiAKICMgRnJvbSBodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvbGliaWRuL2RyYWZ0LWpvc2Vmc3Nvbi1pZG4tdGVzdC12ZWN0b3JzLmh0bWwKIG5hbWVwcmVwX3Rlc3RzID0gWwpAQCAtMTI2Miw3ICsxNDAzLDcgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChlZi5yZWFkKCksIGInXFxceGQ1XG5ceDAwXHgwMFx4YWUnKQogCiAgICAgICAgIGYgPSBpby5CeXRlc0lPKCkKLSAgICAgICAgZWYgPSBjb2RlY3MuRW5jb2RlZEZpbGUoZiwgJ3V0Zi04JywgJ2xhdGluMScpCisgICAgICAgIGVmID0gY29kZWNzLkVuY29kZWRGaWxlKGYsICd1dGYtOCcsICdsYXRpbi0xJykKICAgICAgICAgZWYud3JpdGUoYidceGMzXHhiYycpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZi5nZXR2YWx1ZSgpLCBiJ1x4ZmMnKQogCkBAIC0xMzk0LDEwICsxNTM1LDEzIEBACiAgICAgICAgICAgICBlbGlmIGVuY29kaW5nID09ICJsYXRpbl8xIjoKICAgICAgICAgICAgICAgICBuYW1lID0gImxhdGluXzEiCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGVuY29kaW5nLnJlcGxhY2UoIl8iLCAiLSIpLCBuYW1lLnJlcGxhY2UoIl8iLCAiLSIpKQotICAgICAgICAgICAgKGIsIHNpemUpID0gY29kZWNzLmdldGVuY29kZXIoZW5jb2RpbmcpKHMpCi0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNpemUsIGxlbihzKSwgIiVyICE9ICVyIChlbmNvZGluZz0lcikiICUgKHNpemUsIGxlbihzKSwgZW5jb2RpbmcpKQotICAgICAgICAgICAgKGNoYXJzLCBzaXplKSA9IGNvZGVjcy5nZXRkZWNvZGVyKGVuY29kaW5nKShiKQotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjaGFycywgcywgIiVyICE9ICVyIChlbmNvZGluZz0lcikiICUgKGNoYXJzLCBzLCBlbmNvZGluZykpCisKKyAgICAgICAgICAgIHdpdGggc3VwcG9ydC5jaGVja193YXJuaW5ncygpOgorICAgICAgICAgICAgICAgICMgdW5pY29kZS1pbnRlcm5hbCBoYXMgYmVlbiBkZXByZWNhdGVkCisgICAgICAgICAgICAgICAgKGIsIHNpemUpID0gY29kZWNzLmdldGVuY29kZXIoZW5jb2RpbmcpKHMpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzaXplLCBsZW4ocyksICIlciAhPSAlciAoZW5jb2Rpbmc9JXIpIiAlIChzaXplLCBsZW4ocyksIGVuY29kaW5nKSkKKyAgICAgICAgICAgICAgICAoY2hhcnMsIHNpemUpID0gY29kZWNzLmdldGRlY29kZXIoZW5jb2RpbmcpKGIpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjaGFycywgcywgIiVyICE9ICVyIChlbmNvZGluZz0lcikiICUgKGNoYXJzLCBzLCBlbmNvZGluZykpCiAKICAgICAgICAgICAgIGlmIGVuY29kaW5nIG5vdCBpbiBicm9rZW5fdW5pY29kZV93aXRoX3N0cmVhbXM6CiAgICAgICAgICAgICAgICAgIyBjaGVjayBzdHJlYW0gcmVhZGVyL3dyaXRlcgpAQCAtMTUwMSw3ICsxNjQ1LDkgQEAKICAgICBkZWYgdGVzdF9iYWRfZW5jb2RlX2FyZ3Moc2VsZik6CiAgICAgICAgIGZvciBlbmNvZGluZyBpbiBhbGxfdW5pY29kZV9lbmNvZGluZ3M6CiAgICAgICAgICAgICBlbmNvZGVyID0gY29kZWNzLmdldGVuY29kZXIoZW5jb2RpbmcpCi0gICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGVuY29kZXIpCisgICAgICAgICAgICB3aXRoIHN1cHBvcnQuY2hlY2tfd2FybmluZ3MoKToKKyAgICAgICAgICAgICAgICAjIHVuaWNvZGUtaW50ZXJuYWwgaGFzIGJlZW4gZGVwcmVjYXRlZAorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgZW5jb2RlcikKIAogICAgIGRlZiB0ZXN0X2VuY29kaW5nX21hcF90eXBlX2luaXRpYWxpemVkKHNlbGYpOgogICAgICAgICBmcm9tIGVuY29kaW5ncyBpbXBvcnQgY3AxMTQwCkBAIC0xNTkzLDYgKzE3MzksMTIgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjb2RlY3MucmF3X3VuaWNvZGVfZXNjYXBlX2RlY29kZShyIlx1MTIzNCIpLCAoIlx1MTIzNCIsIDYpKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNvZGVjcy5yYXdfdW5pY29kZV9lc2NhcGVfZGVjb2RlKGJyIlx1MTIzNCIpLCAoIlx1MTIzNCIsIDYpKQogCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFVuaWNvZGVEZWNvZGVFcnJvciwgY29kZWNzLnVuaWNvZGVfZXNjYXBlX2RlY29kZSwgYnIiXFUwMDExMDAwMCIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY29kZWNzLnVuaWNvZGVfZXNjYXBlX2RlY29kZShyIlxVMDAxMTAwMDAiLCAicmVwbGFjZSIpLCAoIlx1ZmZmZCIsIDEwKSkKKworICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhVbmljb2RlRGVjb2RlRXJyb3IsIGNvZGVjcy5yYXdfdW5pY29kZV9lc2NhcGVfZGVjb2RlLCBiciJcVTAwMTEwMDAwIikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjb2RlY3MucmF3X3VuaWNvZGVfZXNjYXBlX2RlY29kZShyIlxVMDAxMTAwMDAiLCAicmVwbGFjZSIpLCAoIlx1ZmZmZCIsIDEwKSkKKwogY2xhc3MgU3Vycm9nYXRlRXNjYXBlVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAKICAgICBkZWYgdGVzdF91dGY4KHNlbGYpOgpAQCAtMTYyMyw3ICsxNzc1LDcgQEAKIAogICAgIGRlZiB0ZXN0X2xhdGluMShzZWxmKToKICAgICAgICAgIyBJc3N1ZTYzNzMKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgiXHVkY2U0XHVkY2ViXHVkY2VmXHVkY2Y2XHVkY2ZjIi5lbmNvZGUoImxhdGluMSIsICJzdXJyb2dhdGVlc2NhcGUiKSwKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgiXHVkY2U0XHVkY2ViXHVkY2VmXHVkY2Y2XHVkY2ZjIi5lbmNvZGUoImxhdGluLTEiLCAic3Vycm9nYXRlZXNjYXBlIiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgYiJceGU0XHhlYlx4ZWZceGY2XHhmYyIpCiAKIApAQCAtMTczMiw2ICsxODg0LDE1NSBAQAogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzb3V0LCBiIlx4ODAiKQogCiAKK0B1bml0dGVzdC5za2lwVW5sZXNzKHN5cy5wbGF0Zm9ybSA9PSAnd2luMzInLAorICAgICAgICAgICAgICAgICAgICAgJ2NvZGUgcGFnZXMgYXJlIHNwZWNpZmljIHRvIFdpbmRvd3MnKQorY2xhc3MgQ29kZVBhZ2VUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKKyAgICAjIENQX1VURjggaXMgYWxyZWFkeSB0ZXN0ZWQgYnkgQ1A2NTAwMVRlc3QKKyAgICBDUF9VVEY4ID0gNjUwMDEKKworICAgIGRlZiB0ZXN0X2ludmFsaWRfY29kZV9wYWdlKHNlbGYpOgorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBjb2RlY3MuY29kZV9wYWdlX2VuY29kZSwgLTEsICdhJykKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgY29kZWNzLmNvZGVfcGFnZV9kZWNvZGUsIC0xLCBiJ2EnKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhXaW5kb3dzRXJyb3IsIGNvZGVjcy5jb2RlX3BhZ2VfZW5jb2RlLCAxMjMsICdhJykKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoV2luZG93c0Vycm9yLCBjb2RlY3MuY29kZV9wYWdlX2RlY29kZSwgMTIzLCBiJ2EnKQorCisgICAgZGVmIHRlc3RfY29kZV9wYWdlX25hbWUoc2VsZik6CisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoVW5pY29kZUVuY29kZUVycm9yLCAnY3A5MzInLAorICAgICAgICAgICAgY29kZWNzLmNvZGVfcGFnZV9lbmNvZGUsIDkzMiwgJ1x4ZmYnKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KFVuaWNvZGVEZWNvZGVFcnJvciwgJ2NwOTMyJywKKyAgICAgICAgICAgIGNvZGVjcy5jb2RlX3BhZ2VfZGVjb2RlLCA5MzIsIGInXHg4MVx4MDAnKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KFVuaWNvZGVEZWNvZGVFcnJvciwgJ0NQX1VURjgnLAorICAgICAgICAgICAgY29kZWNzLmNvZGVfcGFnZV9kZWNvZGUsIHNlbGYuQ1BfVVRGOCwgYidceGZmJykKKworICAgIGRlZiBjaGVja19kZWNvZGUoc2VsZiwgY3AsIHRlc3RzKToKKyAgICAgICAgZm9yIHJhdywgZXJyb3JzLCBleHBlY3RlZCBpbiB0ZXN0czoKKyAgICAgICAgICAgIGlmIGV4cGVjdGVkIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICAgICAgZGVjb2RlZCA9IGNvZGVjcy5jb2RlX3BhZ2VfZGVjb2RlKGNwLCByYXcsIGVycm9ycykKKyAgICAgICAgICAgICAgICBleGNlcHQgVW5pY29kZURlY29kZUVycm9yIGFzIGVycjoKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5mYWlsKCdVbmFibGUgdG8gZGVjb2RlICVhIGZyb20gImNwJXMiIHdpdGggJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Vycm9ycz0lcjogJXMnICUgKHJhdywgY3AsIGVycm9ycywgZXJyKSkKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRlY29kZWRbMF0sIGV4cGVjdGVkLAorICAgICAgICAgICAgICAgICAgICAnJWEuZGVjb2RlKCJjcCVzIiwgJXIpPSVhICE9ICVhJworICAgICAgICAgICAgICAgICAgICAlIChyYXcsIGNwLCBlcnJvcnMsIGRlY29kZWRbMF0sIGV4cGVjdGVkKSkKKyAgICAgICAgICAgICAgICAjIGFzc2VydCAwIDw9IGRlY29kZWRbMV0gPD0gbGVuKHJhdykKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEdyZWF0ZXJFcXVhbChkZWNvZGVkWzFdLCAwKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0TGVzc0VxdWFsKGRlY29kZWRbMV0sIGxlbihyYXcpKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhVbmljb2RlRGVjb2RlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgIGNvZGVjcy5jb2RlX3BhZ2VfZGVjb2RlLCBjcCwgcmF3LCBlcnJvcnMpCisKKyAgICBkZWYgY2hlY2tfZW5jb2RlKHNlbGYsIGNwLCB0ZXN0cyk6CisgICAgICAgIGZvciB0ZXh0LCBlcnJvcnMsIGV4cGVjdGVkIGluIHRlc3RzOgorICAgICAgICAgICAgaWYgZXhwZWN0ZWQgaXMgbm90IE5vbmU6CisgICAgICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgICAgICBlbmNvZGVkID0gY29kZWNzLmNvZGVfcGFnZV9lbmNvZGUoY3AsIHRleHQsIGVycm9ycykKKyAgICAgICAgICAgICAgICBleGNlcHQgVW5pY29kZUVuY29kZUVycm9yIGFzIGVycjoKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5mYWlsKCdVbmFibGUgdG8gZW5jb2RlICVhIHRvICJjcCVzIiB3aXRoICcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdlcnJvcnM9JXI6ICVzJyAlICh0ZXh0LCBjcCwgZXJyb3JzLCBlcnIpKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZW5jb2RlZFswXSwgZXhwZWN0ZWQsCisgICAgICAgICAgICAgICAgICAgICclYS5lbmNvZGUoImNwJXMiLCAlcik9JWEgIT0gJWEnCisgICAgICAgICAgICAgICAgICAgICUgKHRleHQsIGNwLCBlcnJvcnMsIGVuY29kZWRbMF0sIGV4cGVjdGVkKSkKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGVuY29kZWRbMV0sIGxlbih0ZXh0KSkKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVW5pY29kZUVuY29kZUVycm9yLAorICAgICAgICAgICAgICAgICAgICBjb2RlY3MuY29kZV9wYWdlX2VuY29kZSwgY3AsIHRleHQsIGVycm9ycykKKworICAgIGRlZiB0ZXN0X2NwOTMyKHNlbGYpOgorICAgICAgICBzZWxmLmNoZWNrX2VuY29kZSg5MzIsICgKKyAgICAgICAgICAgICgnYWJjJywgJ3N0cmljdCcsIGInYWJjJyksCisgICAgICAgICAgICAoJ1x1ZmY0NFx1OWEzZScsICdzdHJpY3QnLCBiJ1x4ODJceDg0XHhlOVx4ODAnKSwKKyAgICAgICAgICAgICMgdGVzdCBlcnJvciBoYW5kbGVycworICAgICAgICAgICAgKCdceGZmJywgJ3N0cmljdCcsIE5vbmUpLAorICAgICAgICAgICAgKCdbXHhmZl0nLCAnaWdub3JlJywgYidbXScpLAorICAgICAgICAgICAgKCdbXHhmZl0nLCAncmVwbGFjZScsIGInW3ldJyksCisgICAgICAgICAgICAoJ1tcdTIwYWNdJywgJ3JlcGxhY2UnLCBiJ1s/XScpLAorICAgICAgICAgICAgKCdbXHhmZl0nLCAnYmFja3NsYXNocmVwbGFjZScsIGInW1xceGZmXScpLAorICAgICAgICAgICAgKCdbXHhmZl0nLCAneG1sY2hhcnJlZnJlcGxhY2UnLCBiJ1smIzI1NTtdJyksCisgICAgICAgICkpCisgICAgICAgIHNlbGYuY2hlY2tfZGVjb2RlKDkzMiwgKAorICAgICAgICAgICAgKGInYWJjJywgJ3N0cmljdCcsICdhYmMnKSwKKyAgICAgICAgICAgIChiJ1x4ODJceDg0XHhlOVx4ODAnLCAnc3RyaWN0JywgJ1x1ZmY0NFx1OWEzZScpLAorICAgICAgICAgICAgIyBpbnZhbGlkIGJ5dGVzCisgICAgICAgICAgICAoYidbXHhmZl0nLCAnc3RyaWN0JywgTm9uZSksCisgICAgICAgICAgICAoYidbXHhmZl0nLCAnaWdub3JlJywgJ1tdJyksCisgICAgICAgICAgICAoYidbXHhmZl0nLCAncmVwbGFjZScsICdbXHVmZmZkXScpLAorICAgICAgICAgICAgKGInW1x4ZmZdJywgJ3N1cnJvZ2F0ZWVzY2FwZScsICdbXHVkY2ZmXScpLAorICAgICAgICAgICAgKGInXHg4MVx4MDBhYmMnLCAnc3RyaWN0JywgTm9uZSksCisgICAgICAgICAgICAoYidceDgxXHgwMGFiYycsICdpZ25vcmUnLCAnXHgwMGFiYycpLAorICAgICAgICAgICAgKGInXHg4MVx4MDBhYmMnLCAncmVwbGFjZScsICdcdWZmZmRceDAwYWJjJyksCisgICAgICAgICkpCisKKyAgICBkZWYgdGVzdF9jcDEyNTIoc2VsZik6CisgICAgICAgIHNlbGYuY2hlY2tfZW5jb2RlKDEyNTIsICgKKyAgICAgICAgICAgICgnYWJjJywgJ3N0cmljdCcsIGInYWJjJyksCisgICAgICAgICAgICAoJ1x4ZTlcdTIwYWMnLCAnc3RyaWN0JywgIGInXHhlOVx4ODAnKSwKKyAgICAgICAgICAgICgnXHhmZicsICdzdHJpY3QnLCBiJ1x4ZmYnKSwKKyAgICAgICAgICAgICgnXHUwMTQxJywgJ3N0cmljdCcsIE5vbmUpLAorICAgICAgICAgICAgKCdcdTAxNDEnLCAnaWdub3JlJywgYicnKSwKKyAgICAgICAgICAgICgnXHUwMTQxJywgJ3JlcGxhY2UnLCBiJ0wnKSwKKyAgICAgICAgKSkKKyAgICAgICAgc2VsZi5jaGVja19kZWNvZGUoMTI1MiwgKAorICAgICAgICAgICAgKGInYWJjJywgJ3N0cmljdCcsICdhYmMnKSwKKyAgICAgICAgICAgIChiJ1x4ZTlceDgwJywgJ3N0cmljdCcsICdceGU5XHUyMGFjJyksCisgICAgICAgICAgICAoYidceGZmJywgJ3N0cmljdCcsICdceGZmJyksCisgICAgICAgICkpCisKKyAgICBkZWYgdGVzdF9jcF91dGY3KHNlbGYpOgorICAgICAgICBjcCA9IDY1MDAwCisgICAgICAgIHNlbGYuY2hlY2tfZW5jb2RlKGNwLCAoCisgICAgICAgICAgICAoJ2FiYycsICdzdHJpY3QnLCBiJ2FiYycpLAorICAgICAgICAgICAgKCdceGU5XHUyMGFjJywgJ3N0cmljdCcsICBiJytBT2tnckEtJyksCisgICAgICAgICAgICAoJ1xVMDAxMGZmZmYnLCAnc3RyaWN0JywgIGInKzIvL2Yvdy0nKSwKKyAgICAgICAgICAgICgnXHVkYzgwJywgJ3N0cmljdCcsIGInKzNJQS0nKSwKKyAgICAgICAgICAgICgnXHVmZmZkJywgJ3N0cmljdCcsIGInKy8vMC0nKSwKKyAgICAgICAgKSkKKyAgICAgICAgc2VsZi5jaGVja19kZWNvZGUoY3AsICgKKyAgICAgICAgICAgIChiJ2FiYycsICdzdHJpY3QnLCAnYWJjJyksCisgICAgICAgICAgICAoYicrQU9rZ3JBLScsICdzdHJpY3QnLCAnXHhlOVx1MjBhYycpLAorICAgICAgICAgICAgKGInKzIvL2Yvdy0nLCAnc3RyaWN0JywgJ1xVMDAxMGZmZmYnKSwKKyAgICAgICAgICAgIChiJyszSUEtJywgJ3N0cmljdCcsICdcdWRjODAnKSwKKyAgICAgICAgICAgIChiJysvLzAtJywgJ3N0cmljdCcsICdcdWZmZmQnKSwKKyAgICAgICAgICAgICMgaW52YWxpZCBieXRlcworICAgICAgICAgICAgKGInWysvXScsICdzdHJpY3QnLCAnW10nKSwKKyAgICAgICAgICAgIChiJ1tceGZmXScsICdzdHJpY3QnLCAnW1x4ZmZdJyksCisgICAgICAgICkpCisKKyAgICBkZWYgdGVzdF9tdWx0aWJ5dGVfZW5jb2Rpbmcoc2VsZik6CisgICAgICAgIHNlbGYuY2hlY2tfZGVjb2RlKDkzMiwgKAorICAgICAgICAgICAgKGInXHg4NFx4ZTlceDgwJywgJ2lnbm9yZScsICdcdTlhM2UnKSwKKyAgICAgICAgICAgIChiJ1x4ODRceGU5XHg4MCcsICdyZXBsYWNlJywgJ1x1ZmZmZFx1OWEzZScpLAorICAgICAgICApKQorICAgICAgICBzZWxmLmNoZWNrX2RlY29kZShzZWxmLkNQX1VURjgsICgKKyAgICAgICAgICAgIChiJ1x4ZmZceGY0XHg4Zlx4YmZceGJmJywgJ2lnbm9yZScsICdcVTAwMTBmZmZmJyksCisgICAgICAgICAgICAoYidceGZmXHhmNFx4OGZceGJmXHhiZicsICdyZXBsYWNlJywgJ1x1ZmZmZFxVMDAxMGZmZmYnKSwKKyAgICAgICAgKSkKKyAgICAgICAgaWYgVklTVEFfT1JfTEFURVI6CisgICAgICAgICAgICBzZWxmLmNoZWNrX2VuY29kZShzZWxmLkNQX1VURjgsICgKKyAgICAgICAgICAgICAgICAoJ1tcVTAwMTBmZmZmXHVEQzgwXScsICdpZ25vcmUnLCBiJ1tceGY0XHg4Zlx4YmZceGJmXScpLAorICAgICAgICAgICAgICAgICgnW1xVMDAxMGZmZmZcdURDODBdJywgJ3JlcGxhY2UnLCBiJ1tceGY0XHg4Zlx4YmZceGJmP10nKSwKKyAgICAgICAgICAgICkpCisKKyAgICBkZWYgdGVzdF9pbmNyZW1lbnRhbChzZWxmKToKKyAgICAgICAgZGVjb2RlZCA9IGNvZGVjcy5jb2RlX3BhZ2VfZGVjb2RlKDkzMiwgYidceDgyJywgJ3N0cmljdCcsIEZhbHNlKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRlY29kZWQsICgnJywgMCkpCisKKyAgICAgICAgZGVjb2RlZCA9IGNvZGVjcy5jb2RlX3BhZ2VfZGVjb2RlKDkzMiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGInXHhlOVx4ODBceGU5JywgJ3N0cmljdCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGYWxzZSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkZWNvZGVkLCAoJ1x1OWEzZScsIDIpKQorCisgICAgICAgIGRlY29kZWQgPSBjb2RlY3MuY29kZV9wYWdlX2RlY29kZSg5MzIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiJ1x4ZTlceDgwXHhlOVx4ODAnLCAnc3RyaWN0JywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZhbHNlKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRlY29kZWQsICgnXHU5YTNlXHU5YTNlJywgNCkpCisKKyAgICAgICAgZGVjb2RlZCA9IGNvZGVjcy5jb2RlX3BhZ2VfZGVjb2RlKDkzMiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGInYWJjJywgJ3N0cmljdCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGYWxzZSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkZWNvZGVkLCAoJ2FiYycsIDMpKQorCisKIGRlZiB0ZXN0X21haW4oKToKICAgICBzdXBwb3J0LnJ1bl91bml0dGVzdCgKICAgICAgICAgVVRGMzJUZXN0LApAQCAtMTc0Miw2ICsyMDQzLDcgQEAKICAgICAgICAgVVRGMTZCRVRlc3QsCiAgICAgICAgIFVURjhUZXN0LAogICAgICAgICBVVEY4U2lnVGVzdCwKKyAgICAgICAgQ1A2NTAwMVRlc3QsCiAgICAgICAgIFVURjdUZXN0LAogICAgICAgICBVVEYxNkV4VGVzdCwKICAgICAgICAgUmVhZEJ1ZmZlclRlc3QsCkBAIC0xNzYwLDYgKzIwNjIsNyBAQAogICAgICAgICBTdXJyb2dhdGVFc2NhcGVUZXN0LAogICAgICAgICBCb21UZXN0LAogICAgICAgICBUcmFuc2Zvcm1Db2RlY1Rlc3QsCisgICAgICAgIENvZGVQYWdlVGVzdCwKICAgICApCiAKIApkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9jb2xsZWN0aW9ucy5weSBiL0xpYi90ZXN0L3Rlc3RfY29sbGVjdGlvbnMucHkKaW5kZXggOGRjNTU1OS4uODhjMzEyOSAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9jb2xsZWN0aW9ucy5weQorKysgYi9MaWIvdGVzdC90ZXN0X2NvbGxlY3Rpb25zLnB5CkBAIC0xLDYgKzEsNyBAQAogIiIiVW5pdCB0ZXN0cyBmb3IgY29sbGVjdGlvbnMucHkuIiIiCiAKIGltcG9ydCB1bml0dGVzdCwgZG9jdGVzdCwgb3BlcmF0b3IKK2Zyb20gdGVzdC5zdXBwb3J0IGltcG9ydCBURVNURk4sIGZvcmdldCwgdW5saW5rCiBpbXBvcnQgaW5zcGVjdAogZnJvbSB0ZXN0IGltcG9ydCBzdXBwb3J0CiBmcm9tIGNvbGxlY3Rpb25zIGltcG9ydCBuYW1lZHR1cGxlLCBDb3VudGVyLCBPcmRlcmVkRGljdCwgX2NvdW50X2VsZW1lbnRzCkBAIC0xMCwyMSArMTEsMjAgQEAKIGltcG9ydCBrZXl3b3JkCiBpbXBvcnQgcmUKIGltcG9ydCBzeXMKLWZyb20gY29sbGVjdGlvbnMgaW1wb3J0IF9DaGFpbk1hcAotZnJvbSBjb2xsZWN0aW9ucyBpbXBvcnQgSGFzaGFibGUsIEl0ZXJhYmxlLCBJdGVyYXRvcgotZnJvbSBjb2xsZWN0aW9ucyBpbXBvcnQgU2l6ZWQsIENvbnRhaW5lciwgQ2FsbGFibGUKLWZyb20gY29sbGVjdGlvbnMgaW1wb3J0IFNldCwgTXV0YWJsZVNldAotZnJvbSBjb2xsZWN0aW9ucyBpbXBvcnQgTWFwcGluZywgTXV0YWJsZU1hcHBpbmcsIEtleXNWaWV3LCBJdGVtc1ZpZXcsIFVzZXJEaWN0Ci1mcm9tIGNvbGxlY3Rpb25zIGltcG9ydCBTZXF1ZW5jZSwgTXV0YWJsZVNlcXVlbmNlCi1mcm9tIGNvbGxlY3Rpb25zIGltcG9ydCBCeXRlU3RyaW5nCitmcm9tIGNvbGxlY3Rpb25zIGltcG9ydCBVc2VyRGljdAorZnJvbSBjb2xsZWN0aW9ucyBpbXBvcnQgQ2hhaW5NYXAKK2Zyb20gY29sbGVjdGlvbnMuYWJjIGltcG9ydCBIYXNoYWJsZSwgSXRlcmFibGUsIEl0ZXJhdG9yCitmcm9tIGNvbGxlY3Rpb25zLmFiYyBpbXBvcnQgU2l6ZWQsIENvbnRhaW5lciwgQ2FsbGFibGUKK2Zyb20gY29sbGVjdGlvbnMuYWJjIGltcG9ydCBTZXQsIE11dGFibGVTZXQKK2Zyb20gY29sbGVjdGlvbnMuYWJjIGltcG9ydCBNYXBwaW5nLCBNdXRhYmxlTWFwcGluZywgS2V5c1ZpZXcsIEl0ZW1zVmlldworZnJvbSBjb2xsZWN0aW9ucy5hYmMgaW1wb3J0IFNlcXVlbmNlLCBNdXRhYmxlU2VxdWVuY2UKK2Zyb20gY29sbGVjdGlvbnMuYWJjIGltcG9ydCBCeXRlU3RyaW5nCiAKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLSMjIyBfQ2hhaW5NYXAgKGhlbHBlciBjbGFzcyBmb3IgY29uZmlncGFyc2VyKQorIyMjIENoYWluTWFwIChoZWxwZXIgY2xhc3MgZm9yIGNvbmZpZ3BhcnNlciBhbmQgdGhlIHN0cmluZyBtb2R1bGUpCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCi1DaGFpbk1hcCA9IF9DaGFpbk1hcCAgIyByZW5hbWUgdG8ga2VlcCB0ZXN0IGNvZGUgaW4gc3luYyB3aXRoIDMuMyB2ZXJzaW9uCi0KIGNsYXNzIFRlc3RDaGFpbk1hcCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAKICAgICBkZWYgdGVzdF9iYXNpY3Moc2VsZik6CkBAIC0xMjgsNiArMTI4LDcgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChQb2ludC5fX21vZHVsZV9fLCBfX25hbWVfXykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChQb2ludC5fX2dldGl0ZW1fXywgdHVwbGUuX19nZXRpdGVtX18pCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoUG9pbnQuX2ZpZWxkcywgKCd4JywgJ3knKSkKKyAgICAgICAgc2VsZi5hc3NlcnRJbignY2xhc3MgUG9pbnQodHVwbGUpJywgUG9pbnQuX3NvdXJjZSkKIAogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBuYW1lZHR1cGxlLCAnYWJjJScsICdlZmcgZ2hpJykgICAgICAgIyB0eXBlIGhhcyBub24tYWxwaGEgY2hhcgogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBuYW1lZHR1cGxlLCAnY2xhc3MnLCAnZWZnIGdoaScpICAgICAgIyB0eXBlIGhhcyBrZXl3b3JkCkBAIC0zMjcsNiArMzI4LDE3IEBACiAgICAgICAgICAgICBwYXNzCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVwcihCKDEpKSwgJ0IoeD0xKScpCiAKKyAgICBkZWYgdGVzdF9zb3VyY2Uoc2VsZik6CisgICAgICAgICMgdmVyaWZ5IHRoYXQgX3NvdXJjZSBjYW4gYmUgcnVuIHRocm91Z2ggZXhlYygpCisgICAgICAgIHRtcCA9IG5hbWVkdHVwbGUoJ05UQ29sb3InLCAncmVkIGdyZWVuIGJsdWUnKQorICAgICAgICBnbG9iYWxzKCkucG9wKCdOVENvbG9yJywgTm9uZSkgICAgICAgICAgIyByZW1vdmUgYXJ0aWZhY3RzIGZyb20gb3RoZXIgdGVzdHMKKyAgICAgICAgZXhlYyh0bXAuX3NvdXJjZSwgZ2xvYmFscygpKQorICAgICAgICBzZWxmLmFzc2VydEluKCdOVENvbG9yJywgZ2xvYmFscygpKQorICAgICAgICBjID0gTlRDb2xvcigxMCwgMjAsIDMwKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKChjLnJlZCwgYy5ncmVlbiwgYy5ibHVlKSwgKDEwLCAyMCwgMzApKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKE5UQ29sb3IuX2ZpZWxkcywgKCdyZWQnLCAnZ3JlZW4nLCAnYmx1ZScpKQorICAgICAgICBnbG9iYWxzKCkucG9wKCdOVENvbG9yJywgTm9uZSkgICAgICAgICAgIyBjbGVhbi11cCBhZnRlciB0aGlzIHRlc3QKKwogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogIyMjIEFic3RyYWN0IEJhc2UgQ2xhc3NlcwpAQCAtNzI5LDYgKzc0MSw0NCBAQAogICAgICAgICBzZWxmLnZhbGlkYXRlX2Fic3RyYWN0X21ldGhvZHMoTXV0YWJsZVNlcXVlbmNlLCAnX19jb250YWluc19fJywgJ19faXRlcl9fJywKICAgICAgICAgICAgICdfX2xlbl9fJywgJ19fZ2V0aXRlbV9fJywgJ19fc2V0aXRlbV9fJywgJ19fZGVsaXRlbV9fJywgJ2luc2VydCcpCiAKKyAgICBkZWYgdGVzdF9NdXRhYmxlU2VxdWVuY2VfbWl4aW5zKHNlbGYpOgorICAgICAgICAjIFRlc3QgdGhlIG1peGlucyBvZiBNdXRhYmxlU2VxdWVuY2UgYnkgY3JlYXRpbmcgYSBtaW1pbmFsIGNvbmNyZXRlCisgICAgICAgICMgY2xhc3MgaW5oZXJpdGVkIGZyb20gaXQuCisgICAgICAgIGNsYXNzIE11dGFibGVTZXF1ZW5jZVN1YmNsYXNzKE11dGFibGVTZXF1ZW5jZSk6CisgICAgICAgICAgICBkZWYgX19pbml0X18oc2VsZik6CisgICAgICAgICAgICAgICAgc2VsZi5sc3QgPSBbXQorCisgICAgICAgICAgICBkZWYgX19zZXRpdGVtX18oc2VsZiwgaW5kZXgsIHZhbHVlKToKKyAgICAgICAgICAgICAgICBzZWxmLmxzdFtpbmRleF0gPSB2YWx1ZQorCisgICAgICAgICAgICBkZWYgX19nZXRpdGVtX18oc2VsZiwgaW5kZXgpOgorICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLmxzdFtpbmRleF0KKworICAgICAgICAgICAgZGVmIF9fbGVuX18oc2VsZik6CisgICAgICAgICAgICAgICAgcmV0dXJuIGxlbihzZWxmLmxzdCkKKworICAgICAgICAgICAgZGVmIF9fZGVsaXRlbV9fKHNlbGYsIGluZGV4KToKKyAgICAgICAgICAgICAgICBkZWwgc2VsZi5sc3RbaW5kZXhdCisKKyAgICAgICAgICAgIGRlZiBpbnNlcnQoc2VsZiwgaW5kZXgsIHZhbHVlKToKKyAgICAgICAgICAgICAgICBzZWxmLmxzdC5pbnNlcnQoaW5kZXgsIHZhbHVlKQorCisgICAgICAgIG1zcyA9IE11dGFibGVTZXF1ZW5jZVN1YmNsYXNzKCkKKyAgICAgICAgbXNzLmFwcGVuZCgwKQorICAgICAgICBtc3MuZXh0ZW5kKCgxLCAyLCAzLCA0KSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4obXNzKSwgNSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtc3NbM10sIDMpCisgICAgICAgIG1zcy5yZXZlcnNlKCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtc3NbM10sIDEpCisgICAgICAgIG1zcy5wb3AoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihtc3MpLCA0KQorICAgICAgICBtc3MucmVtb3ZlKDMpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKG1zcyksIDMpCisgICAgICAgIG1zcyArPSAoMTAsIDIwLCAzMCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4obXNzKSwgNikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtc3NbLTFdLCAzMCkKKyAgICAgICAgbXNzLmNsZWFyKCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4obXNzKSwgMCkKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICMjIyBDb3VudGVyCkBAIC04ODIsNiArOTMyLDI3IEBACiAgICAgICAgICAgICAgICAgc2V0X3Jlc3VsdCA9IHNldG9wKHNldChwLmVsZW1lbnRzKCkpLCBzZXQocS5lbGVtZW50cygpKSkKICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNvdW50ZXJfcmVzdWx0LCBkaWN0LmZyb21rZXlzKHNldF9yZXN1bHQsIDEpKQogCisgICAgZGVmIHRlc3RfaW5wbGFjZV9vcGVyYXRpb25zKHNlbGYpOgorICAgICAgICBlbGVtZW50cyA9ICdhYmNkJworICAgICAgICBmb3IgaSBpbiByYW5nZSgxMDAwKToKKyAgICAgICAgICAgICMgdGVzdCByYW5kb20gcGFpcnMgb2YgbXVsdGlzZXRzCisgICAgICAgICAgICBwID0gQ291bnRlcihkaWN0KChlbGVtLCByYW5kcmFuZ2UoLTIsNCkpIGZvciBlbGVtIGluIGVsZW1lbnRzKSkKKyAgICAgICAgICAgIHAudXBkYXRlKGU9MSwgZj0tMSwgZz0wKQorICAgICAgICAgICAgcSA9IENvdW50ZXIoZGljdCgoZWxlbSwgcmFuZHJhbmdlKC0yLDQpKSBmb3IgZWxlbSBpbiBlbGVtZW50cykpCisgICAgICAgICAgICBxLnVwZGF0ZShoPTEsIGk9LTEsIGo9MCkKKyAgICAgICAgICAgIGZvciBpbnBsYWNlX29wLCByZWd1bGFyX29wIGluIFsKKyAgICAgICAgICAgICAgICAoQ291bnRlci5fX2lhZGRfXywgQ291bnRlci5fX2FkZF9fKSwKKyAgICAgICAgICAgICAgICAoQ291bnRlci5fX2lzdWJfXywgQ291bnRlci5fX3N1Yl9fKSwKKyAgICAgICAgICAgICAgICAoQ291bnRlci5fX2lvcl9fLCBDb3VudGVyLl9fb3JfXyksCisgICAgICAgICAgICAgICAgKENvdW50ZXIuX19pYW5kX18sIENvdW50ZXIuX19hbmRfXyksCisgICAgICAgICAgICBdOgorICAgICAgICAgICAgICAgIGMgPSBwLmNvcHkoKQorICAgICAgICAgICAgICAgIGNfaWQgPSBpZChjKQorICAgICAgICAgICAgICAgIHJlZ3VsYXJfcmVzdWx0ID0gcmVndWxhcl9vcChjLCBxKQorICAgICAgICAgICAgICAgIGlucGxhY2VfcmVzdWx0ID0gaW5wbGFjZV9vcChjLCBxKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaW5wbGFjZV9yZXN1bHQsIHJlZ3VsYXJfcmVzdWx0KQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaWQoaW5wbGFjZV9yZXN1bHQpLCBjX2lkKQorCiAgICAgZGVmIHRlc3Rfc3VidHJhY3Qoc2VsZik6CiAgICAgICAgIGMgPSBDb3VudGVyKGE9LTUsIGI9MCwgYz01LCBkPTEwLCBlPTE1LGc9NDApCiAgICAgICAgIGMuc3VidHJhY3QoYT0xLCBiPTIsIGM9LTMsIGQ9MTAsIGU9MjAsIGY9MzAsIGg9LTUwKQpAQCAtODkzLDYgKzk2NCwxMSBAQAogICAgICAgICBjLnN1YnRyYWN0KCdhYWFhYmJjY2UnKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGMsIENvdW50ZXIoYT0tMSwgYj0wLCBjPS0xLCBkPTEsIGU9LTEpKQogCisgICAgZGVmIHRlc3RfdW5hcnkoc2VsZik6CisgICAgICAgIGMgPSBDb3VudGVyKGE9LTUsIGI9MCwgYz01LCBkPTEwLCBlPTE1LGc9NDApCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGljdCgrYyksIGRpY3QoYz01LCBkPTEwLCBlPTE1LCBnPTQwKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkaWN0KC1jKSwgZGljdChhPTUpKQorCiAgICAgZGVmIHRlc3RfcmVwcl9ub25zb3J0YWJsZShzZWxmKToKICAgICAgICAgYyA9IENvdW50ZXIoYT0yLCBiPU5vbmUpCiAgICAgICAgIHIgPSByZXByKGMpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2NvbXBpbGUucHkgYi9MaWIvdGVzdC90ZXN0X2NvbXBpbGUucHkKaW5kZXggNThlZjI5Ny4uNzIzNDJmOCAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9jb21waWxlLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfY29tcGlsZS5weQpAQCAtMSwxMCArMSwxNyBAQAogaW1wb3J0IHVuaXR0ZXN0CiBpbXBvcnQgc3lzCiBpbXBvcnQgX2FzdAoraW1wb3J0IHR5cGVzCiBmcm9tIHRlc3QgaW1wb3J0IHN1cHBvcnQKIAogY2xhc3MgVGVzdFNwZWNpZmljcyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAKKyAgICBkZWYgY29tcGlsZV9zaW5nbGUoc2VsZiwgc291cmNlKToKKyAgICAgICAgY29tcGlsZShzb3VyY2UsICI8c2luZ2xlPiIsICJzaW5nbGUiKQorCisgICAgZGVmIGFzc2VydEludmFsaWRTaW5nbGUoc2VsZiwgc291cmNlKToKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoU3ludGF4RXJyb3IsIHNlbGYuY29tcGlsZV9zaW5nbGUsIHNvdXJjZSkKKwogICAgIGRlZiB0ZXN0X25vX2VuZGluZ19uZXdsaW5lKHNlbGYpOgogICAgICAgICBjb21waWxlKCJoaSIsICI8dGVzdD4iLCAiZXhlYyIpCiAgICAgICAgIGNvbXBpbGUoImhpXHIiLCAiPHRlc3Q+IiwgImV4ZWMiKQpAQCAtNDMzLDYgKzQ0MCwzOSBAQAogICAgICAgICBhc3QuYm9keSA9IFtfYXN0LkJvb2xPcCgpXQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGNvbXBpbGUsIGFzdCwgJzxhc3Q+JywgJ2V4ZWMnKQogCisgICAgQHN1cHBvcnQuY3B5dGhvbl9vbmx5CisgICAgZGVmIHRlc3Rfc2FtZV9maWxlbmFtZV91c2VkKHNlbGYpOgorICAgICAgICBzID0gIiIiZGVmIGYoKTogcGFzc1xuZGVmIGcoKTogcGFzcyIiIgorICAgICAgICBjID0gY29tcGlsZShzLCAibXlmaWxlIiwgImV4ZWMiKQorICAgICAgICBmb3Igb2JqIGluIGMuY29fY29uc3RzOgorICAgICAgICAgICAgaWYgaXNpbnN0YW5jZShvYmosIHR5cGVzLkNvZGVUeXBlKToKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydElzKG9iai5jb19maWxlbmFtZSwgYy5jb19maWxlbmFtZSkKKworICAgIGRlZiB0ZXN0X3NpbmdsZV9zdGF0ZW1lbnQoc2VsZik6CisgICAgICAgIHNlbGYuY29tcGlsZV9zaW5nbGUoIjEgKyAyIikKKyAgICAgICAgc2VsZi5jb21waWxlX3NpbmdsZSgiXG4xICsgMiIpCisgICAgICAgIHNlbGYuY29tcGlsZV9zaW5nbGUoIjEgKyAyXG4iKQorICAgICAgICBzZWxmLmNvbXBpbGVfc2luZ2xlKCIxICsgMlxuXG4iKQorICAgICAgICBzZWxmLmNvbXBpbGVfc2luZ2xlKCIxICsgMlx0XHRcbiIpCisgICAgICAgIHNlbGYuY29tcGlsZV9zaW5nbGUoIjEgKyAyXHRcdFxuICAgICAgICAiKQorICAgICAgICBzZWxmLmNvbXBpbGVfc2luZ2xlKCIxICsgMiAjIG9uZSBwbHVzIHR3byIpCisgICAgICAgIHNlbGYuY29tcGlsZV9zaW5nbGUoIjE7IDIiKQorICAgICAgICBzZWxmLmNvbXBpbGVfc2luZ2xlKCJpbXBvcnQgc3lzOyBzeXMiKQorICAgICAgICBzZWxmLmNvbXBpbGVfc2luZ2xlKCJkZWYgZigpOlxuICAgcGFzcyIpCisgICAgICAgIHNlbGYuY29tcGlsZV9zaW5nbGUoIndoaWxlIEZhbHNlOlxuICAgcGFzcyIpCisgICAgICAgIHNlbGYuY29tcGlsZV9zaW5nbGUoImlmIHg6XG4gICBmKHgpIikKKyAgICAgICAgc2VsZi5jb21waWxlX3NpbmdsZSgiaWYgeDpcbiAgIGYoeClcbmVsc2U6XG4gICBnKHgpIikKKyAgICAgICAgc2VsZi5jb21waWxlX3NpbmdsZSgiY2xhc3MgVDpcbiAgIHBhc3MiKQorCisgICAgZGVmIHRlc3RfYmFkX3NpbmdsZV9zdGF0ZW1lbnQoc2VsZik6CisgICAgICAgIHNlbGYuYXNzZXJ0SW52YWxpZFNpbmdsZSgnMVxuMicpCisgICAgICAgIHNlbGYuYXNzZXJ0SW52YWxpZFNpbmdsZSgnZGVmIGYoKTogcGFzcycpCisgICAgICAgIHNlbGYuYXNzZXJ0SW52YWxpZFNpbmdsZSgnYSA9IDEzXG5iID0gMTg3JykKKyAgICAgICAgc2VsZi5hc3NlcnRJbnZhbGlkU2luZ2xlKCdkZWwgeFxuZGVsIHknKQorICAgICAgICBzZWxmLmFzc2VydEludmFsaWRTaW5nbGUoJ2YoKVxuZygpJykKKyAgICAgICAgc2VsZi5hc3NlcnRJbnZhbGlkU2luZ2xlKCdmKClcbiMgYmxhaFxuYmxhaCgpJykKKyAgICAgICAgc2VsZi5hc3NlcnRJbnZhbGlkU2luZ2xlKCdmKClcbnh5ICMgYmxhaFxuYmxhaCgpJykKKyAgICAgICAgc2VsZi5hc3NlcnRJbnZhbGlkU2luZ2xlKCd4ID0gNSAjIGNvbW1lbnRcbnggPSA2XG4nKQogCiBkZWYgdGVzdF9tYWluKCk6CiAgICAgc3VwcG9ydC5ydW5fdW5pdHRlc3QoVGVzdFNwZWNpZmljcykKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfY29uY3VycmVudF9mdXR1cmVzLnB5IGIvTGliL3Rlc3QvdGVzdF9jb25jdXJyZW50X2Z1dHVyZXMucHkKaW5kZXggMzcyZGEyNy4uMDRlZTI0NiAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9jb25jdXJyZW50X2Z1dHVyZXMucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9jb25jdXJyZW50X2Z1dHVyZXMucHkKQEAgLTE5LDcgKzE5LDcgQEAKIGZyb20gY29uY3VycmVudCBpbXBvcnQgZnV0dXJlcwogZnJvbSBjb25jdXJyZW50LmZ1dHVyZXMuX2Jhc2UgaW1wb3J0ICgKICAgICBQRU5ESU5HLCBSVU5OSU5HLCBDQU5DRUxMRUQsIENBTkNFTExFRF9BTkRfTk9USUZJRUQsIEZJTklTSEVELCBGdXR1cmUpCi1pbXBvcnQgY29uY3VycmVudC5mdXR1cmVzLnByb2Nlc3MKK2Zyb20gY29uY3VycmVudC5mdXR1cmVzLnByb2Nlc3MgaW1wb3J0IEJyb2tlblByb2Nlc3NQb29sCiAKIAogZGVmIGNyZWF0ZV9mdXR1cmUoc3RhdGU9UEVORElORywgZXhjZXB0aW9uPU5vbmUsIHJlc3VsdD1Ob25lKToKQEAgLTM0LDcgKzM0LDcgQEAKIFJVTk5JTkdfRlVUVVJFID0gY3JlYXRlX2Z1dHVyZShzdGF0ZT1SVU5OSU5HKQogQ0FOQ0VMTEVEX0ZVVFVSRSA9IGNyZWF0ZV9mdXR1cmUoc3RhdGU9Q0FOQ0VMTEVEKQogQ0FOQ0VMTEVEX0FORF9OT1RJRklFRF9GVVRVUkUgPSBjcmVhdGVfZnV0dXJlKHN0YXRlPUNBTkNFTExFRF9BTkRfTk9USUZJRUQpCi1FWENFUFRJT05fRlVUVVJFID0gY3JlYXRlX2Z1dHVyZShzdGF0ZT1GSU5JU0hFRCwgZXhjZXB0aW9uPUlPRXJyb3IoKSkKK0VYQ0VQVElPTl9GVVRVUkUgPSBjcmVhdGVfZnV0dXJlKHN0YXRlPUZJTklTSEVELCBleGNlcHRpb249T1NFcnJvcigpKQogU1VDQ0VTU0ZVTF9GVVRVUkUgPSBjcmVhdGVfZnV0dXJlKHN0YXRlPUZJTklTSEVELCByZXN1bHQ9NDIpCiAKIApAQCAtMTYwLDcgKzE2MCw3IEBACiAgICAgICAgIHByb2Nlc3NlcyA9IHNlbGYuZXhlY3V0b3IuX3Byb2Nlc3NlcwogICAgICAgICBzZWxmLmV4ZWN1dG9yLnNodXRkb3duKCkKIAotICAgICAgICBmb3IgcCBpbiBwcm9jZXNzZXM6CisgICAgICAgIGZvciBwIGluIHByb2Nlc3Nlcy52YWx1ZXMoKToKICAgICAgICAgICAgIHAuam9pbigpCiAKICAgICBkZWYgdGVzdF9jb250ZXh0X21hbmFnZXJfc2h1dGRvd24oc2VsZik6CkBAIC0xNjksNyArMTY5LDcgQEAKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGlzdChlLm1hcChhYnMsIHJhbmdlKC01LCA1KSkpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbNSwgNCwgMywgMiwgMSwgMCwgMSwgMiwgMywgNF0pCiAKLSAgICAgICAgZm9yIHAgaW4gcHJvY2Vzc2VzOgorICAgICAgICBmb3IgcCBpbiBwcm9jZXNzZXMudmFsdWVzKCk6CiAgICAgICAgICAgICBwLmpvaW4oKQogCiAgICAgZGVmIHRlc3RfZGVsX3NodXRkb3duKHNlbGYpOgpAQCAtMTgwLDcgKzE4MCw3IEBACiAgICAgICAgIGRlbCBleGVjdXRvcgogCiAgICAgICAgIHF1ZXVlX21hbmFnZW1lbnRfdGhyZWFkLmpvaW4oKQotICAgICAgICBmb3IgcCBpbiBwcm9jZXNzZXM6CisgICAgICAgIGZvciBwIGluIHByb2Nlc3Nlcy52YWx1ZXMoKToKICAgICAgICAgICAgIHAuam9pbigpCiAKIGNsYXNzIFdhaXRUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6CkBAIC0yNjYsMTQgKzI2NiwxNCBAQAogCiAgICAgZGVmIHRlc3RfdGltZW91dChzZWxmKToKICAgICAgICAgZnV0dXJlMSA9IHNlbGYuZXhlY3V0b3Iuc3VibWl0KG11bCwgNiwgNykKLSAgICAgICAgZnV0dXJlMiA9IHNlbGYuZXhlY3V0b3Iuc3VibWl0KHRpbWUuc2xlZXAsIDMpCisgICAgICAgIGZ1dHVyZTIgPSBzZWxmLmV4ZWN1dG9yLnN1Ym1pdCh0aW1lLnNsZWVwLCA2KQogCiAgICAgICAgIGZpbmlzaGVkLCBwZW5kaW5nID0gZnV0dXJlcy53YWl0KAogICAgICAgICAgICAgICAgIFtDQU5DRUxMRURfQU5EX05PVElGSUVEX0ZVVFVSRSwKICAgICAgICAgICAgICAgICAgRVhDRVBUSU9OX0ZVVFVSRSwKICAgICAgICAgICAgICAgICAgU1VDQ0VTU0ZVTF9GVVRVUkUsCiAgICAgICAgICAgICAgICAgIGZ1dHVyZTEsIGZ1dHVyZTJdLAotICAgICAgICAgICAgICAgIHRpbWVvdXQ9MS41LAorICAgICAgICAgICAgICAgIHRpbWVvdXQ9NSwKICAgICAgICAgICAgICAgICByZXR1cm5fd2hlbj1mdXR1cmVzLkFMTF9DT01QTEVURUQpCiAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZXQoW0NBTkNFTExFRF9BTkRfTk9USUZJRURfRlVUVVJFLApAQCAtMzYzLDggKzM2Myw4IEBACiAgICAgICAgIHJlc3VsdHMgPSBbXQogICAgICAgICB0cnk6CiAgICAgICAgICAgICBmb3IgaSBpbiBzZWxmLmV4ZWN1dG9yLm1hcCh0aW1lLnNsZWVwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzAsIDAsIDNdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGltZW91dD0xLjUpOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWzAsIDAsIDZdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGltZW91dD01KToKICAgICAgICAgICAgICAgICByZXN1bHRzLmFwcGVuZChpKQogICAgICAgICBleGNlcHQgZnV0dXJlcy5UaW1lb3V0RXJyb3I6CiAgICAgICAgICAgICBwYXNzCkBAIC0zNzMsMTMgKzM3MywzOCBAQAogCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoW05vbmUsIE5vbmVdLCByZXN1bHRzKQogCisgICAgZGVmIHRlc3Rfc2h1dGRvd25fcmFjZV9pc3N1ZTEyNDU2KHNlbGYpOgorICAgICAgICAjIElzc3VlICMxMjQ1NjogcmFjZSBjb25kaXRpb24gYXQgc2h1dGRvd24gd2hlcmUgdHJ5aW5nIHRvIHBvc3QgYQorICAgICAgICAjIHNlbnRpbmVsIGluIHRoZSBjYWxsIHF1ZXVlIGJsb2NrcyAodGhlIHF1ZXVlIGlzIGZ1bGwgd2hpbGUgcHJvY2Vzc2VzCisgICAgICAgICMgaGF2ZSBleGl0ZWQpLgorICAgICAgICBzZWxmLmV4ZWN1dG9yLm1hcChzdHIsIFsyXSAqIChzZWxmLndvcmtlcl9jb3VudCArIDEpKQorICAgICAgICBzZWxmLmV4ZWN1dG9yLnNodXRkb3duKCkKKwogCiBjbGFzcyBUaHJlYWRQb29sRXhlY3V0b3JUZXN0KFRocmVhZFBvb2xNaXhpbiwgRXhlY3V0b3JUZXN0KToKLSAgICBwYXNzCisgICAgZGVmIHRlc3RfbWFwX3N1Ym1pdHNfd2l0aG91dF9pdGVyYXRpb24oc2VsZik6CisgICAgICAgICIiIlRlc3RzIHZlcmlmeWluZyBpc3N1ZSAxMTc3Ny4iIiIKKyAgICAgICAgZmluaXNoZWQgPSBbXQorICAgICAgICBkZWYgcmVjb3JkX2ZpbmlzaGVkKG4pOgorICAgICAgICAgICAgZmluaXNoZWQuYXBwZW5kKG4pCisKKyAgICAgICAgc2VsZi5leGVjdXRvci5tYXAocmVjb3JkX2ZpbmlzaGVkLCByYW5nZSgxMCkpCisgICAgICAgIHNlbGYuZXhlY3V0b3Iuc2h1dGRvd24od2FpdD1UcnVlKQorICAgICAgICBzZWxmLmFzc2VydENvdW50RXF1YWwoZmluaXNoZWQsIHJhbmdlKDEwKSkKIAogCiBjbGFzcyBQcm9jZXNzUG9vbEV4ZWN1dG9yVGVzdChQcm9jZXNzUG9vbE1peGluLCBFeGVjdXRvclRlc3QpOgotICAgIHBhc3MKKyAgICBkZWYgdGVzdF9raWxsZWRfY2hpbGQoc2VsZik6CisgICAgICAgICMgV2hlbiBhIGNoaWxkIHByb2Nlc3MgaXMgYWJydXB0bHkgdGVybWluYXRlZCwgdGhlIHdob2xlIHBvb2wgZ2V0cworICAgICAgICAjICJicm9rZW4iLgorICAgICAgICBmdXR1cmVzID0gW3NlbGYuZXhlY3V0b3Iuc3VibWl0KHRpbWUuc2xlZXAsIDMpXQorICAgICAgICAjIEdldCBvbmUgb2YgdGhlIHByb2Nlc3NlcywgYW5kIHRlcm1pbmF0ZSAoa2lsbCkgaXQKKyAgICAgICAgcCA9IG5leHQoaXRlcihzZWxmLmV4ZWN1dG9yLl9wcm9jZXNzZXMudmFsdWVzKCkpKQorICAgICAgICBwLnRlcm1pbmF0ZSgpCisgICAgICAgIGZvciBmdXQgaW4gZnV0dXJlczoKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEJyb2tlblByb2Nlc3NQb29sLCBmdXQucmVzdWx0KQorICAgICAgICAjIFN1Ym1pdHRpbmcgb3RoZXIgam9icyBmYWlscyBhcyB3ZWxsLgorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhCcm9rZW5Qcm9jZXNzUG9vbCwgc2VsZi5leGVjdXRvci5zdWJtaXQsIHBvdywgMiwgOCkKIAogCiBjbGFzcyBGdXR1cmVUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6CkBAIC00ODIsNyArNTA3LDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAnPEZ1dHVyZSBhdCAweFswLTlhLWZdKyBzdGF0ZT1jYW5jZWxsZWQ+JykKICAgICAgICAgc2VsZi5hc3NlcnRSZWdleCgKICAgICAgICAgICAgICAgICByZXByKEVYQ0VQVElPTl9GVVRVUkUpLAotICAgICAgICAgICAgICAgICc8RnV0dXJlIGF0IDB4WzAtOWEtZl0rIHN0YXRlPWZpbmlzaGVkIHJhaXNlZCBJT0Vycm9yPicpCisgICAgICAgICAgICAgICAgJzxGdXR1cmUgYXQgMHhbMC05YS1mXSsgc3RhdGU9ZmluaXNoZWQgcmFpc2VkIE9TRXJyb3I+JykKICAgICAgICAgc2VsZi5hc3NlcnRSZWdleCgKICAgICAgICAgICAgICAgICByZXByKFNVQ0NFU1NGVUxfRlVUVVJFKSwKICAgICAgICAgICAgICAgICAnPEZ1dHVyZSBhdCAweFswLTlhLWZdKyBzdGF0ZT1maW5pc2hlZCByZXR1cm5lZCBpbnQ+JykKQEAgLTQ5Myw3ICs1MTgsNyBAQAogICAgICAgICBmMiA9IGNyZWF0ZV9mdXR1cmUoc3RhdGU9UlVOTklORykKICAgICAgICAgZjMgPSBjcmVhdGVfZnV0dXJlKHN0YXRlPUNBTkNFTExFRCkKICAgICAgICAgZjQgPSBjcmVhdGVfZnV0dXJlKHN0YXRlPUNBTkNFTExFRF9BTkRfTk9USUZJRUQpCi0gICAgICAgIGY1ID0gY3JlYXRlX2Z1dHVyZShzdGF0ZT1GSU5JU0hFRCwgZXhjZXB0aW9uPUlPRXJyb3IoKSkKKyAgICAgICAgZjUgPSBjcmVhdGVfZnV0dXJlKHN0YXRlPUZJTklTSEVELCBleGNlcHRpb249T1NFcnJvcigpKQogICAgICAgICBmNiA9IGNyZWF0ZV9mdXR1cmUoc3RhdGU9RklOSVNIRUQsIHJlc3VsdD01KQogCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShmMS5jYW5jZWwoKSkKQEAgLTU0Nyw3ICs1NzIsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICBDQU5DRUxMRURfRlVUVVJFLnJlc3VsdCwgdGltZW91dD0wKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhmdXR1cmVzLkNhbmNlbGxlZEVycm9yLAogICAgICAgICAgICAgICAgICAgICAgICAgICBDQU5DRUxMRURfQU5EX05PVElGSUVEX0ZVVFVSRS5yZXN1bHQsIHRpbWVvdXQ9MCkKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoSU9FcnJvciwgRVhDRVBUSU9OX0ZVVFVSRS5yZXN1bHQsIHRpbWVvdXQ9MCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoT1NFcnJvciwgRVhDRVBUSU9OX0ZVVFVSRS5yZXN1bHQsIHRpbWVvdXQ9MCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChTVUNDRVNTRlVMX0ZVVFVSRS5yZXN1bHQodGltZW91dD0wKSwgNDIpCiAKICAgICBkZWYgdGVzdF9yZXN1bHRfd2l0aF9zdWNjZXNzKHNlbGYpOgpAQCAtNTg2LDcgKzYxMSw3IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKGZ1dHVyZXMuQ2FuY2VsbGVkRXJyb3IsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIENBTkNFTExFRF9BTkRfTk9USUZJRURfRlVUVVJFLmV4Y2VwdGlvbiwgdGltZW91dD0wKQogICAgICAgICBzZWxmLmFzc2VydFRydWUoaXNpbnN0YW5jZShFWENFUFRJT05fRlVUVVJFLmV4Y2VwdGlvbih0aW1lb3V0PTApLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJT0Vycm9yKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT1NFcnJvcikpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoU1VDQ0VTU0ZVTF9GVVRVUkUuZXhjZXB0aW9uKHRpbWVvdXQ9MCksIE5vbmUpCiAKICAgICBkZWYgdGVzdF9leGNlcHRpb25fd2l0aF9zdWNjZXNzKHNlbGYpOgpAQCAtNTk1LDE0ICs2MjAsMTQgQEAKICAgICAgICAgICAgIHRpbWUuc2xlZXAoMSkKICAgICAgICAgICAgIHdpdGggZjEuX2NvbmRpdGlvbjoKICAgICAgICAgICAgICAgICBmMS5fc3RhdGUgPSBGSU5JU0hFRAotICAgICAgICAgICAgICAgIGYxLl9leGNlcHRpb24gPSBJT0Vycm9yKCkKKyAgICAgICAgICAgICAgICBmMS5fZXhjZXB0aW9uID0gT1NFcnJvcigpCiAgICAgICAgICAgICAgICAgZjEuX2NvbmRpdGlvbi5ub3RpZnlfYWxsKCkKIAogICAgICAgICBmMSA9IGNyZWF0ZV9mdXR1cmUoc3RhdGU9UEVORElORykKICAgICAgICAgdCA9IHRocmVhZGluZy5UaHJlYWQodGFyZ2V0PW5vdGlmaWNhdGlvbikKICAgICAgICAgdC5zdGFydCgpCiAKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGlzaW5zdGFuY2UoZjEuZXhjZXB0aW9uKHRpbWVvdXQ9NSksIElPRXJyb3IpKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoaXNpbnN0YW5jZShmMS5leGNlcHRpb24odGltZW91dD01KSwgT1NFcnJvcikpCiAKIEB0ZXN0LnN1cHBvcnQucmVhcF90aHJlYWRzCiBkZWYgdGVzdF9tYWluKCk6CkBAIC02MTUsNyArNjQwLDggQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaHJlYWRQb29sQXNDb21wbGV0ZWRUZXN0cywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGdXR1cmVUZXN0cywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcm9jZXNzUG9vbFNodXRkb3duVGVzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaHJlYWRQb29sU2h1dGRvd25UZXN0KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRocmVhZFBvb2xTaHV0ZG93blRlc3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgIGZpbmFsbHk6CiAgICAgICAgIHRlc3Quc3VwcG9ydC5yZWFwX2NoaWxkcmVuKCkKIApkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9jZmdwYXJzZXIucHkgYi9MaWIvdGVzdC90ZXN0X2NvbmZpZ3BhcnNlci5weQpzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gTGliL3Rlc3QvdGVzdF9jZmdwYXJzZXIucHkKcmVuYW1lIHRvIExpYi90ZXN0L3Rlc3RfY29uZmlncGFyc2VyLnB5CmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2NvcHkucHkgYi9MaWIvdGVzdC90ZXN0X2NvcHkucHkKaW5kZXggYTg0YzEwOS4uYzRiYWFlNCAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9jb3B5LnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfY29weS5weQpAQCAtMTcsNyArMTcsNyBAQAogICAgICMgQXR0ZW1wdCBmdWxsIGxpbmUgY292ZXJhZ2Ugb2YgY29weS5weSBmcm9tIHRvcCB0byBib3R0b20KIAogICAgIGRlZiB0ZXN0X2V4Y2VwdGlvbnMoc2VsZik6Ci0gICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShjb3B5LkVycm9yIGlzIGNvcHkuZXJyb3IpCisgICAgICAgIHNlbGYuYXNzZXJ0SXMoY29weS5FcnJvciwgY29weS5lcnJvcikKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGlzc3ViY2xhc3MoY29weS5FcnJvciwgRXhjZXB0aW9uKSkKIAogICAgICMgVGhlIGNvcHkoKSBtZXRob2QKQEAgLTU0LDIwICs1NCwyNiBAQAogICAgIGRlZiB0ZXN0X2NvcHlfcmVkdWNlX2V4KHNlbGYpOgogICAgICAgICBjbGFzcyBDKG9iamVjdCk6CiAgICAgICAgICAgICBkZWYgX19yZWR1Y2VfZXhfXyhzZWxmLCBwcm90byk6CisgICAgICAgICAgICAgICAgYy5hcHBlbmQoMSkKICAgICAgICAgICAgICAgICByZXR1cm4gIiIKICAgICAgICAgICAgIGRlZiBfX3JlZHVjZV9fKHNlbGYpOgotICAgICAgICAgICAgICAgIHJhaXNlIHN1cHBvcnQuVGVzdEZhaWxlZCgic2hvdWxkbid0IGNhbGwgdGhpcyIpCisgICAgICAgICAgICAgICAgc2VsZi5mYWlsKCJzaG91bGRuJ3QgY2FsbCB0aGlzIikKKyAgICAgICAgYyA9IFtdCiAgICAgICAgIHggPSBDKCkKICAgICAgICAgeSA9IGNvcHkuY29weSh4KQotICAgICAgICBzZWxmLmFzc2VydFRydWUoeSBpcyB4KQorICAgICAgICBzZWxmLmFzc2VydElzKHksIHgpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYywgWzFdKQogCiAgICAgZGVmIHRlc3RfY29weV9yZWR1Y2Uoc2VsZik6CiAgICAgICAgIGNsYXNzIEMob2JqZWN0KToKICAgICAgICAgICAgIGRlZiBfX3JlZHVjZV9fKHNlbGYpOgorICAgICAgICAgICAgICAgIGMuYXBwZW5kKDEpCiAgICAgICAgICAgICAgICAgcmV0dXJuICIiCisgICAgICAgIGMgPSBbXQogICAgICAgICB4ID0gQygpCiAgICAgICAgIHkgPSBjb3B5LmNvcHkoeCkKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHkgaXMgeCkKKyAgICAgICAgc2VsZi5hc3NlcnRJcyh5LCB4KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGMsIFsxXSkKIAogICAgIGRlZiB0ZXN0X2NvcHlfY2FudChzZWxmKToKICAgICAgICAgY2xhc3MgQyhvYmplY3QpOgpAQCAtOTEsNyArOTcsNyBAQAogICAgICAgICAgICAgICAgICAiaGVsbG8iLCAiaGVsbG9cdTEyMzQiLCBmLl9fY29kZV9fLAogICAgICAgICAgICAgICAgICBOZXdTdHlsZSwgcmFuZ2UoMTApLCBDbGFzc2ljLCBtYXhdCiAgICAgICAgIGZvciB4IGluIHRlc3RzOgotICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGNvcHkuY29weSh4KSBpcyB4LCByZXByKHgpKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRJcyhjb3B5LmNvcHkoeCksIHgpCiAKICAgICBkZWYgdGVzdF9jb3B5X2xpc3Qoc2VsZik6CiAgICAgICAgIHggPSBbMSwgMiwgM10KQEAgLTE4NSw5ICsxOTEsOSBAQAogICAgICAgICB4ID0gW3gsIHhdCiAgICAgICAgIHkgPSBjb3B5LmRlZXBjb3B5KHgpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoeSwgeCkKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHkgaXMgbm90IHgpCi0gICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSh5WzBdIGlzIG5vdCB4WzBdKQotICAgICAgICBzZWxmLmFzc2VydFRydWUoeVswXSBpcyB5WzFdKQorICAgICAgICBzZWxmLmFzc2VydElzTm90KHksIHgpCisgICAgICAgIHNlbGYuYXNzZXJ0SXNOb3QoeVswXSwgeFswXSkKKyAgICAgICAgc2VsZi5hc3NlcnRJcyh5WzBdLCB5WzFdKQogCiAgICAgZGVmIHRlc3RfZGVlcGNvcHlfaXNzdWJjbGFzcyhzZWxmKToKICAgICAgICAgIyBYWFggTm90ZTogdGhlcmUncyBubyB3YXkgdG8gdGVzdCB0aGUgVHlwZUVycm9yIGNvbWluZyBvdXQgb2YKQEAgLTIyNywyMCArMjMzLDI2IEBACiAgICAgZGVmIHRlc3RfZGVlcGNvcHlfcmVkdWNlX2V4KHNlbGYpOgogICAgICAgICBjbGFzcyBDKG9iamVjdCk6CiAgICAgICAgICAgICBkZWYgX19yZWR1Y2VfZXhfXyhzZWxmLCBwcm90byk6CisgICAgICAgICAgICAgICAgYy5hcHBlbmQoMSkKICAgICAgICAgICAgICAgICByZXR1cm4gIiIKICAgICAgICAgICAgIGRlZiBfX3JlZHVjZV9fKHNlbGYpOgotICAgICAgICAgICAgICAgIHJhaXNlIHN1cHBvcnQuVGVzdEZhaWxlZCgic2hvdWxkbid0IGNhbGwgdGhpcyIpCisgICAgICAgICAgICAgICAgc2VsZi5mYWlsKCJzaG91bGRuJ3QgY2FsbCB0aGlzIikKKyAgICAgICAgYyA9IFtdCiAgICAgICAgIHggPSBDKCkKICAgICAgICAgeSA9IGNvcHkuZGVlcGNvcHkoeCkKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHkgaXMgeCkKKyAgICAgICAgc2VsZi5hc3NlcnRJcyh5LCB4KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGMsIFsxXSkKIAogICAgIGRlZiB0ZXN0X2RlZXBjb3B5X3JlZHVjZShzZWxmKToKICAgICAgICAgY2xhc3MgQyhvYmplY3QpOgogICAgICAgICAgICAgZGVmIF9fcmVkdWNlX18oc2VsZik6CisgICAgICAgICAgICAgICAgYy5hcHBlbmQoMSkKICAgICAgICAgICAgICAgICByZXR1cm4gIiIKKyAgICAgICAgYyA9IFtdCiAgICAgICAgIHggPSBDKCkKICAgICAgICAgeSA9IGNvcHkuZGVlcGNvcHkoeCkKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHkgaXMgeCkKKyAgICAgICAgc2VsZi5hc3NlcnRJcyh5LCB4KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGMsIFsxXSkKIAogICAgIGRlZiB0ZXN0X2RlZXBjb3B5X2NhbnQoc2VsZik6CiAgICAgICAgIGNsYXNzIEMob2JqZWN0KToKQEAgLTI2NCwxNCArMjc2LDE0IEBACiAgICAgICAgICAgICAgICAgICJoZWxsbyIsICJoZWxsb1x1MTIzNCIsIGYuX19jb2RlX18sCiAgICAgICAgICAgICAgICAgIE5ld1N0eWxlLCByYW5nZSgxMCksIENsYXNzaWMsIG1heF0KICAgICAgICAgZm9yIHggaW4gdGVzdHM6Ci0gICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoY29weS5kZWVwY29weSh4KSBpcyB4LCByZXByKHgpKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRJcyhjb3B5LmRlZXBjb3B5KHgpLCB4KQogCiAgICAgZGVmIHRlc3RfZGVlcGNvcHlfbGlzdChzZWxmKToKICAgICAgICAgeCA9IFtbMSwgMl0sIDNdCiAgICAgICAgIHkgPSBjb3B5LmRlZXBjb3B5KHgpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoeSwgeCkKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHggaXMgbm90IHkpCi0gICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSh4WzBdIGlzIG5vdCB5WzBdKQorICAgICAgICBzZWxmLmFzc2VydElzTm90KHgsIHkpCisgICAgICAgIHNlbGYuYXNzZXJ0SXNOb3QoeFswXSwgeVswXSkKIAogICAgIGRlZiB0ZXN0X2RlZXBjb3B5X3JlZmxleGl2ZV9saXN0KHNlbGYpOgogICAgICAgICB4ID0gW10KQEAgLTI3OSwxNiArMjkxLDI2IEBACiAgICAgICAgIHkgPSBjb3B5LmRlZXBjb3B5KHgpCiAgICAgICAgIGZvciBvcCBpbiBjb21wYXJpc29uczoKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFJ1bnRpbWVFcnJvciwgb3AsIHksIHgpCi0gICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSh5IGlzIG5vdCB4KQotICAgICAgICBzZWxmLmFzc2VydFRydWUoeVswXSBpcyB5KQorICAgICAgICBzZWxmLmFzc2VydElzTm90KHksIHgpCisgICAgICAgIHNlbGYuYXNzZXJ0SXMoeVswXSwgeSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oeSksIDEpCiAKKyAgICBkZWYgdGVzdF9kZWVwY29weV9lbXB0eV90dXBsZShzZWxmKToKKyAgICAgICAgeCA9ICgpCisgICAgICAgIHkgPSBjb3B5LmRlZXBjb3B5KHgpCisgICAgICAgIHNlbGYuYXNzZXJ0SXMoeCwgeSkKKwogICAgIGRlZiB0ZXN0X2RlZXBjb3B5X3R1cGxlKHNlbGYpOgogICAgICAgICB4ID0gKFsxLCAyXSwgMykKICAgICAgICAgeSA9IGNvcHkuZGVlcGNvcHkoeCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh5LCB4KQotICAgICAgICBzZWxmLmFzc2VydFRydWUoeCBpcyBub3QgeSkKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHhbMF0gaXMgbm90IHlbMF0pCisgICAgICAgIHNlbGYuYXNzZXJ0SXNOb3QoeCwgeSkKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vdCh4WzBdLCB5WzBdKQorCisgICAgZGVmIHRlc3RfZGVlcGNvcHlfdHVwbGVfb2ZfaW1tdXRhYmxlcyhzZWxmKToKKyAgICAgICAgeCA9ICgoMSwgMiksIDMpCisgICAgICAgIHkgPSBjb3B5LmRlZXBjb3B5KHgpCisgICAgICAgIHNlbGYuYXNzZXJ0SXMoeCwgeSkKIAogICAgIGRlZiB0ZXN0X2RlZXBjb3B5X3JlZmxleGl2ZV90dXBsZShzZWxmKToKICAgICAgICAgeCA9IChbXSwpCkBAIC0yOTYsMTYgKzMxOCwxNiBAQAogICAgICAgICB5ID0gY29weS5kZWVwY29weSh4KQogICAgICAgICBmb3Igb3AgaW4gY29tcGFyaXNvbnM6CiAgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhSdW50aW1lRXJyb3IsIG9wLCB5LCB4KQotICAgICAgICBzZWxmLmFzc2VydFRydWUoeSBpcyBub3QgeCkKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHlbMF0gaXMgbm90IHhbMF0pCi0gICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSh5WzBdWzBdIGlzIHkpCisgICAgICAgIHNlbGYuYXNzZXJ0SXNOb3QoeSwgeCkKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vdCh5WzBdLCB4WzBdKQorICAgICAgICBzZWxmLmFzc2VydElzKHlbMF1bMF0sIHkpCiAKICAgICBkZWYgdGVzdF9kZWVwY29weV9kaWN0KHNlbGYpOgogICAgICAgICB4ID0geyJmb28iOiBbMSwgMl0sICJiYXIiOiAzfQogICAgICAgICB5ID0gY29weS5kZWVwY29weSh4KQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHksIHgpCi0gICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSh4IGlzIG5vdCB5KQotICAgICAgICBzZWxmLmFzc2VydFRydWUoeFsiZm9vIl0gaXMgbm90IHlbImZvbyJdKQorICAgICAgICBzZWxmLmFzc2VydElzTm90KHgsIHkpCisgICAgICAgIHNlbGYuYXNzZXJ0SXNOb3QoeFsiZm9vIl0sIHlbImZvbyJdKQogCiAgICAgZGVmIHRlc3RfZGVlcGNvcHlfcmVmbGV4aXZlX2RpY3Qoc2VsZik6CiAgICAgICAgIHggPSB7fQpAQCAtMzE1LDE1ICszMzcsMzAgQEAKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgb3AsIHksIHgpCiAgICAgICAgIGZvciBvcCBpbiBlcXVhbGl0eV9jb21wYXJpc29uczoKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFJ1bnRpbWVFcnJvciwgb3AsIHksIHgpCi0gICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSh5IGlzIG5vdCB4KQotICAgICAgICBzZWxmLmFzc2VydFRydWUoeVsnZm9vJ10gaXMgeSkKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vdCh5LCB4KQorICAgICAgICBzZWxmLmFzc2VydElzKHlbJ2ZvbyddLCB5KQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbih5KSwgMSkKIAogICAgIGRlZiB0ZXN0X2RlZXBjb3B5X2tlZXBhbGl2ZShzZWxmKToKICAgICAgICAgbWVtbyA9IHt9Ci0gICAgICAgIHggPSA0MgorICAgICAgICB4ID0gW10KICAgICAgICAgeSA9IGNvcHkuZGVlcGNvcHkoeCwgbWVtbykKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG1lbW9baWQoeCldIGlzIHgpCisgICAgICAgIHNlbGYuYXNzZXJ0SXMobWVtb1tpZChtZW1vKV1bMF0sIHgpCisKKyAgICBkZWYgdGVzdF9kZWVwY29weV9kb250X21lbW9faW1tdXRhYmxlKHNlbGYpOgorICAgICAgICBtZW1vID0ge30KKyAgICAgICAgeCA9IFsxLCAyLCAzLCA0XQorICAgICAgICB5ID0gY29weS5kZWVwY29weSh4LCBtZW1vKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHksIHgpCisgICAgICAgICMgVGhlcmUncyB0aGUgZW50cnkgZm9yIHRoZSBuZXcgbGlzdCwgYW5kIHRoZSBrZWVwIGFsaXZlLgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihtZW1vKSwgMikKKworICAgICAgICBtZW1vID0ge30KKyAgICAgICAgeCA9IFsoMSwgMildCisgICAgICAgIHkgPSBjb3B5LmRlZXBjb3B5KHgsIG1lbW8pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoeSwgeCkKKyAgICAgICAgIyBUdXBsZXMgd2l0aCBpbW11dGFibGUgY29udGVudHMgYXJlIGltbXV0YWJsZSBmb3IgZGVlcGNvcHkuCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKG1lbW8pLCAyKQogCiAgICAgZGVmIHRlc3RfZGVlcGNvcHlfaW5zdF92YW5pbGxhKHNlbGYpOgogICAgICAgICBjbGFzcyBDOgpAQCAtMzM0LDcgKzM3MSw3IEBACiAgICAgICAgIHggPSBDKFs0Ml0pCiAgICAgICAgIHkgPSBjb3B5LmRlZXBjb3B5KHgpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoeSwgeCkKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHkuZm9vIGlzIG5vdCB4LmZvbykKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vdCh5LmZvbywgeC5mb28pCiAKICAgICBkZWYgdGVzdF9kZWVwY29weV9pbnN0X2RlZXBjb3B5KHNlbGYpOgogICAgICAgICBjbGFzcyBDOgpAQCAtMzQ3LDggKzM4NCw4IEBACiAgICAgICAgIHggPSBDKFs0Ml0pCiAgICAgICAgIHkgPSBjb3B5LmRlZXBjb3B5KHgpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoeSwgeCkKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHkgaXMgbm90IHgpCi0gICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSh5LmZvbyBpcyBub3QgeC5mb28pCisgICAgICAgIHNlbGYuYXNzZXJ0SXNOb3QoeSwgeCkKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vdCh5LmZvbywgeC5mb28pCiAKICAgICBkZWYgdGVzdF9kZWVwY29weV9pbnN0X2dldGluaXRhcmdzKHNlbGYpOgogICAgICAgICBjbGFzcyBDOgpAQCAtMzYxLDggKzM5OCw4IEBACiAgICAgICAgIHggPSBDKFs0Ml0pCiAgICAgICAgIHkgPSBjb3B5LmRlZXBjb3B5KHgpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoeSwgeCkKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHkgaXMgbm90IHgpCi0gICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSh5LmZvbyBpcyBub3QgeC5mb28pCisgICAgICAgIHNlbGYuYXNzZXJ0SXNOb3QoeSwgeCkKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vdCh5LmZvbywgeC5mb28pCiAKICAgICBkZWYgdGVzdF9kZWVwY29weV9pbnN0X2dldHN0YXRlKHNlbGYpOgogICAgICAgICBjbGFzcyBDOgpAQCAtMzc1LDggKzQxMiw4IEBACiAgICAgICAgIHggPSBDKFs0Ml0pCiAgICAgICAgIHkgPSBjb3B5LmRlZXBjb3B5KHgpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoeSwgeCkKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHkgaXMgbm90IHgpCi0gICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSh5LmZvbyBpcyBub3QgeC5mb28pCisgICAgICAgIHNlbGYuYXNzZXJ0SXNOb3QoeSwgeCkKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vdCh5LmZvbywgeC5mb28pCiAKICAgICBkZWYgdGVzdF9kZWVwY29weV9pbnN0X3NldHN0YXRlKHNlbGYpOgogICAgICAgICBjbGFzcyBDOgpAQCAtMzg5LDggKzQyNiw4IEBACiAgICAgICAgIHggPSBDKFs0Ml0pCiAgICAgICAgIHkgPSBjb3B5LmRlZXBjb3B5KHgpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoeSwgeCkKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHkgaXMgbm90IHgpCi0gICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSh5LmZvbyBpcyBub3QgeC5mb28pCisgICAgICAgIHNlbGYuYXNzZXJ0SXNOb3QoeSwgeCkKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vdCh5LmZvbywgeC5mb28pCiAKICAgICBkZWYgdGVzdF9kZWVwY29weV9pbnN0X2dldHN0YXRlX3NldHN0YXRlKHNlbGYpOgogICAgICAgICBjbGFzcyBDOgpAQCAtNDA1LDggKzQ0Miw4IEBACiAgICAgICAgIHggPSBDKFs0Ml0pCiAgICAgICAgIHkgPSBjb3B5LmRlZXBjb3B5KHgpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoeSwgeCkKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHkgaXMgbm90IHgpCi0gICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSh5LmZvbyBpcyBub3QgeC5mb28pCisgICAgICAgIHNlbGYuYXNzZXJ0SXNOb3QoeSwgeCkKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vdCh5LmZvbywgeC5mb28pCiAKICAgICBkZWYgdGVzdF9kZWVwY29weV9yZWZsZXhpdmVfaW5zdChzZWxmKToKICAgICAgICAgY2xhc3MgQzoKQEAgLTQxNCw4ICs0NTEsOCBAQAogICAgICAgICB4ID0gQygpCiAgICAgICAgIHguZm9vID0geAogICAgICAgICB5ID0gY29weS5kZWVwY29weSh4KQotICAgICAgICBzZWxmLmFzc2VydFRydWUoeSBpcyBub3QgeCkKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHkuZm9vIGlzIHkpCisgICAgICAgIHNlbGYuYXNzZXJ0SXNOb3QoeSwgeCkKKyAgICAgICAgc2VsZi5hc3NlcnRJcyh5LmZvbywgeSkKIAogICAgICMgX3JlY29uc3RydWN0KCkKIApAQCAtNDI1LDkgKzQ2Miw5IEBACiAgICAgICAgICAgICAgICAgcmV0dXJuICIiCiAgICAgICAgIHggPSBDKCkKICAgICAgICAgeSA9IGNvcHkuY29weSh4KQotICAgICAgICBzZWxmLmFzc2VydFRydWUoeSBpcyB4KQorICAgICAgICBzZWxmLmFzc2VydElzKHksIHgpCiAgICAgICAgIHkgPSBjb3B5LmRlZXBjb3B5KHgpCi0gICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSh5IGlzIHgpCisgICAgICAgIHNlbGYuYXNzZXJ0SXMoeSwgeCkKIAogICAgIGRlZiB0ZXN0X3JlY29uc3RydWN0X25vc3RhdGUoc2VsZik6CiAgICAgICAgIGNsYXNzIEMob2JqZWN0KToKQEAgLTQzNiw5ICs0NzMsOSBAQAogICAgICAgICB4ID0gQygpCiAgICAgICAgIHguZm9vID0gNDIKICAgICAgICAgeSA9IGNvcHkuY29weSh4KQotICAgICAgICBzZWxmLmFzc2VydFRydWUoeS5fX2NsYXNzX18gaXMgeC5fX2NsYXNzX18pCisgICAgICAgIHNlbGYuYXNzZXJ0SXMoeS5fX2NsYXNzX18sIHguX19jbGFzc19fKQogICAgICAgICB5ID0gY29weS5kZWVwY29weSh4KQotICAgICAgICBzZWxmLmFzc2VydFRydWUoeS5fX2NsYXNzX18gaXMgeC5fX2NsYXNzX18pCisgICAgICAgIHNlbGYuYXNzZXJ0SXMoeS5fX2NsYXNzX18sIHguX19jbGFzc19fKQogCiAgICAgZGVmIHRlc3RfcmVjb25zdHJ1Y3Rfc3RhdGUoc2VsZik6CiAgICAgICAgIGNsYXNzIEMob2JqZWN0KToKQEAgLTQ1Miw3ICs0ODksNyBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHksIHgpCiAgICAgICAgIHkgPSBjb3B5LmRlZXBjb3B5KHgpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoeSwgeCkKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHkuZm9vIGlzIG5vdCB4LmZvbykKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vdCh5LmZvbywgeC5mb28pCiAKICAgICBkZWYgdGVzdF9yZWNvbnN0cnVjdF9zdGF0ZV9zZXRzdGF0ZShzZWxmKToKICAgICAgICAgY2xhc3MgQyhvYmplY3QpOgpAQCAtNDY4LDcgKzUwNSw3IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoeSwgeCkKICAgICAgICAgeSA9IGNvcHkuZGVlcGNvcHkoeCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh5LCB4KQotICAgICAgICBzZWxmLmFzc2VydFRydWUoeS5mb28gaXMgbm90IHguZm9vKQorICAgICAgICBzZWxmLmFzc2VydElzTm90KHkuZm9vLCB4LmZvbykKIAogICAgIGRlZiB0ZXN0X3JlY29uc3RydWN0X3JlZmxleGl2ZShzZWxmKToKICAgICAgICAgY2xhc3MgQyhvYmplY3QpOgpAQCAtNDc2LDggKzUxMyw4IEBACiAgICAgICAgIHggPSBDKCkKICAgICAgICAgeC5mb28gPSB4CiAgICAgICAgIHkgPSBjb3B5LmRlZXBjb3B5KHgpCi0gICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSh5IGlzIG5vdCB4KQotICAgICAgICBzZWxmLmFzc2VydFRydWUoeS5mb28gaXMgeSkKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vdCh5LCB4KQorICAgICAgICBzZWxmLmFzc2VydElzKHkuZm9vLCB5KQogCiAgICAgIyBBZGRpdGlvbnMgZm9yIFB5dGhvbiAyLjMgYW5kIHBpY2tsZSBwcm90b2NvbCAyCiAKQEAgLTQ5MSwxMiArNTI4LDEyIEBACiAgICAgICAgIHggPSBDKFtbMSwgMl0sIDNdKQogICAgICAgICB5ID0gY29weS5jb3B5KHgpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoeCwgeSkKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHggaXMgbm90IHkpCi0gICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSh4WzBdIGlzIHlbMF0pCisgICAgICAgIHNlbGYuYXNzZXJ0SXNOb3QoeCwgeSkKKyAgICAgICAgc2VsZi5hc3NlcnRJcyh4WzBdLCB5WzBdKQogICAgICAgICB5ID0gY29weS5kZWVwY29weSh4KQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHgsIHkpCi0gICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSh4IGlzIG5vdCB5KQotICAgICAgICBzZWxmLmFzc2VydFRydWUoeFswXSBpcyBub3QgeVswXSkKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vdCh4LCB5KQorICAgICAgICBzZWxmLmFzc2VydElzTm90KHhbMF0sIHlbMF0pCiAKICAgICBkZWYgdGVzdF9yZWR1Y2VfNXR1cGxlKHNlbGYpOgogICAgICAgICBjbGFzcyBDKGRpY3QpOgpAQCAtNTA4LDEyICs1NDUsMTIgQEAKICAgICAgICAgeCA9IEMoWygiZm9vIiwgWzEsIDJdKSwgKCJiYXIiLCAzKV0pCiAgICAgICAgIHkgPSBjb3B5LmNvcHkoeCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh4LCB5KQotICAgICAgICBzZWxmLmFzc2VydFRydWUoeCBpcyBub3QgeSkKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHhbImZvbyJdIGlzIHlbImZvbyJdKQorICAgICAgICBzZWxmLmFzc2VydElzTm90KHgsIHkpCisgICAgICAgIHNlbGYuYXNzZXJ0SXMoeFsiZm9vIl0sIHlbImZvbyJdKQogICAgICAgICB5ID0gY29weS5kZWVwY29weSh4KQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHgsIHkpCi0gICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSh4IGlzIG5vdCB5KQotICAgICAgICBzZWxmLmFzc2VydFRydWUoeFsiZm9vIl0gaXMgbm90IHlbImZvbyJdKQorICAgICAgICBzZWxmLmFzc2VydElzTm90KHgsIHkpCisgICAgICAgIHNlbGYuYXNzZXJ0SXNOb3QoeFsiZm9vIl0sIHlbImZvbyJdKQogCiAgICAgZGVmIHRlc3RfY29weV9zbG90cyhzZWxmKToKICAgICAgICAgY2xhc3MgQyhvYmplY3QpOgpAQCAtNTIxLDcgKzU1OCw3IEBACiAgICAgICAgIHggPSBDKCkKICAgICAgICAgeC5mb28gPSBbNDJdCiAgICAgICAgIHkgPSBjb3B5LmNvcHkoeCkKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHguZm9vIGlzIHkuZm9vKQorICAgICAgICBzZWxmLmFzc2VydElzKHguZm9vLCB5LmZvbykKIAogICAgIGRlZiB0ZXN0X2RlZXBjb3B5X3Nsb3RzKHNlbGYpOgogICAgICAgICBjbGFzcyBDKG9iamVjdCk6CkBAIC01MzAsNyArNTY3LDcgQEAKICAgICAgICAgeC5mb28gPSBbNDJdCiAgICAgICAgIHkgPSBjb3B5LmRlZXBjb3B5KHgpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoeC5mb28sIHkuZm9vKQotICAgICAgICBzZWxmLmFzc2VydFRydWUoeC5mb28gaXMgbm90IHkuZm9vKQorICAgICAgICBzZWxmLmFzc2VydElzTm90KHguZm9vLCB5LmZvbykKIAogICAgIGRlZiB0ZXN0X2RlZXBjb3B5X2RpY3Rfc3ViY2xhc3Moc2VsZik6CiAgICAgICAgIGNsYXNzIEMoZGljdCk6CkBAIC01NDcsNyArNTg0LDcgQEAKICAgICAgICAgeSA9IGNvcHkuZGVlcGNvcHkoeCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh4LCB5KQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHguX2tleXMsIHkuX2tleXMpCi0gICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSh4IGlzIG5vdCB5KQorICAgICAgICBzZWxmLmFzc2VydElzTm90KHgsIHkpCiAgICAgICAgIHhbJ2JhciddID0gMQogICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKHgsIHkpCiAgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwoeC5fa2V5cywgeS5fa2V5cykKQEAgLTU2MCw4ICs1OTcsOCBAQAogICAgICAgICB5ID0gY29weS5jb3B5KHgpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGlzdCh4KSwgbGlzdCh5KSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh4LmZvbywgeS5mb28pCi0gICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSh4WzBdIGlzIHlbMF0pCi0gICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSh4LmZvbyBpcyB5LmZvbykKKyAgICAgICAgc2VsZi5hc3NlcnRJcyh4WzBdLCB5WzBdKQorICAgICAgICBzZWxmLmFzc2VydElzKHguZm9vLCB5LmZvbykKIAogICAgIGRlZiB0ZXN0X2RlZXBjb3B5X2xpc3Rfc3ViY2xhc3Moc2VsZik6CiAgICAgICAgIGNsYXNzIEMobGlzdCk6CkBAIC01NzEsOCArNjA4LDggQEAKICAgICAgICAgeSA9IGNvcHkuZGVlcGNvcHkoeCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsaXN0KHgpLCBsaXN0KHkpKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHguZm9vLCB5LmZvbykKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHhbMF0gaXMgbm90IHlbMF0pCi0gICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSh4LmZvbyBpcyBub3QgeS5mb28pCisgICAgICAgIHNlbGYuYXNzZXJ0SXNOb3QoeFswXSwgeVswXSkKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vdCh4LmZvbywgeS5mb28pCiAKICAgICBkZWYgdGVzdF9jb3B5X3R1cGxlX3N1YmNsYXNzKHNlbGYpOgogICAgICAgICBjbGFzcyBDKHR1cGxlKToKQEAgLTU4OSw4ICs2MjYsOCBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHR1cGxlKHgpLCAoWzEsIDJdLCAzKSkKICAgICAgICAgeSA9IGNvcHkuZGVlcGNvcHkoeCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh0dXBsZSh5KSwgKFsxLCAyXSwgMykpCi0gICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSh4IGlzIG5vdCB5KQotICAgICAgICBzZWxmLmFzc2VydFRydWUoeFswXSBpcyBub3QgeVswXSkKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vdCh4LCB5KQorICAgICAgICBzZWxmLmFzc2VydElzTm90KHhbMF0sIHlbMF0pCiAKICAgICBkZWYgdGVzdF9nZXRzdGF0ZV9leGMoc2VsZik6CiAgICAgICAgIGNsYXNzIEV2aWxTdGF0ZShvYmplY3QpOgpAQCAtNjE4LDEwICs2NTUsMTAgQEAKICAgICAgICAgb2JqID0gQygpCiAgICAgICAgIHggPSB3ZWFrcmVmLnJlZihvYmopCiAgICAgICAgIHkgPSBfY29weSh4KQotICAgICAgICBzZWxmLmFzc2VydFRydWUoeSBpcyB4KQorICAgICAgICBzZWxmLmFzc2VydElzKHksIHgpCiAgICAgICAgIGRlbCBvYmoKICAgICAgICAgeSA9IF9jb3B5KHgpCi0gICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSh5IGlzIHgpCisgICAgICAgIHNlbGYuYXNzZXJ0SXMoeSwgeCkKIAogICAgIGRlZiB0ZXN0X2NvcHlfd2Vha3JlZihzZWxmKToKICAgICAgICAgc2VsZi5fY2hlY2tfd2Vha3JlZihjb3B5LmNvcHkpCkBAIC02MzcsNyArNjc0LDcgQEAKICAgICAgICAgdVthXSA9IGIKICAgICAgICAgdVtjXSA9IGQKICAgICAgICAgdiA9IGNvcHkuY29weSh1KQotICAgICAgICBzZWxmLmFzc2VydEZhbHNlKHYgaXMgdSkKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vdCh2LCB1KQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHYsIHUpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodlthXSwgYikKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh2W2NdLCBkKQpAQCAtNjY3LDggKzcwNCw4IEBACiAgICAgICAgIHYgPSBjb3B5LmRlZXBjb3B5KHUpCiAgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwodiwgdSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4odiksIDIpCi0gICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UodlthXSBpcyBiKQotICAgICAgICBzZWxmLmFzc2VydEZhbHNlKHZbY10gaXMgZCkKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vdCh2W2FdLCBiKQorICAgICAgICBzZWxmLmFzc2VydElzTm90KHZbY10sIGQpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodlthXS5pLCBiLmkpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodltjXS5pLCBkLmkpCiAgICAgICAgIGRlbCBjCkBAIC02ODcsMTIgKzcyNCwxMiBAQAogICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKHYsIHUpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKHYpLCAyKQogICAgICAgICAoeCwgeSksICh6LCB0KSA9IHNvcnRlZCh2Lml0ZW1zKCksIGtleT1sYW1iZGEgcGFpcjogcGFpclswXS5pKQotICAgICAgICBzZWxmLmFzc2VydEZhbHNlKHggaXMgYSkKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vdCh4LCBhKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHguaSwgYS5pKQotICAgICAgICBzZWxmLmFzc2VydFRydWUoeSBpcyBiKQotICAgICAgICBzZWxmLmFzc2VydEZhbHNlKHogaXMgYykKKyAgICAgICAgc2VsZi5hc3NlcnRJcyh5LCBiKQorICAgICAgICBzZWxmLmFzc2VydElzTm90KHosIGMpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoei5pLCBjLmkpCi0gICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSh0IGlzIGQpCisgICAgICAgIHNlbGYuYXNzZXJ0SXModCwgZCkKICAgICAgICAgZGVsIHgsIHksIHosIHQKICAgICAgICAgZGVsIGQKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4odiksIDEpCkBAIC03MDUsNyArNzQyLDcgQEAKICAgICAgICAgZi5iID0gZi5tCiAgICAgICAgIGcgPSBjb3B5LmRlZXBjb3B5KGYpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZy5tLCBnLmIpCi0gICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShnLmIuX19zZWxmX18gaXMgZykKKyAgICAgICAgc2VsZi5hc3NlcnRJcyhnLmIuX19zZWxmX18sIGcpCiAgICAgICAgIGcuYigpCiAKIApkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9jcHJvZmlsZS5weSBiL0xpYi90ZXN0L3Rlc3RfY3Byb2ZpbGUucHkKaW5kZXggYWUxN2MyYi4uNTY3NjY2OCAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9jcHJvZmlsZS5weQorKysgYi9MaWIvdGVzdC90ZXN0X2Nwcm9maWxlLnB5CkBAIC0xOCwxNiArMTgsMTkgQEAKICAgICBkZWYgdGVzdF9iYWRfY291bnRlcl9kdXJpbmdfZGVhbGxvYyhzZWxmKToKICAgICAgICAgaW1wb3J0IF9sc3Byb2YKICAgICAgICAgIyBNdXN0IHVzZSBhIGZpbGUgYXMgU3RyaW5nSU8gZG9lc24ndCB0cmlnZ2VyIHRoZSBidWcuCi0gICAgICAgIHdpdGggb3BlbihURVNURk4sICd3JykgYXMgZmlsZToKLSAgICAgICAgICAgIHN5cy5zdGRlcnIgPSBmaWxlCi0gICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgb2JqID0gX2xzcHJvZi5Qcm9maWxlcihsYW1iZGE6IGludCkKLSAgICAgICAgICAgICAgICBvYmouZW5hYmxlKCkKLSAgICAgICAgICAgICAgICBvYmogPSBfbHNwcm9mLlByb2ZpbGVyKDEpCi0gICAgICAgICAgICAgICAgb2JqLmRpc2FibGUoKQotICAgICAgICAgICAgZmluYWxseToKLSAgICAgICAgICAgICAgICBzeXMuc3RkZXJyID0gc3lzLl9fc3RkZXJyX18KLSAgICAgICAgdW5saW5rKFRFU1RGTikKKyAgICAgICAgb3JpZ19zdGRlcnIgPSBzeXMuc3RkZXJyCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHdpdGggb3BlbihURVNURk4sICd3JykgYXMgZmlsZToKKyAgICAgICAgICAgICAgICBzeXMuc3RkZXJyID0gZmlsZQorICAgICAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICAgICAgb2JqID0gX2xzcHJvZi5Qcm9maWxlcihsYW1iZGE6IGludCkKKyAgICAgICAgICAgICAgICAgICAgb2JqLmVuYWJsZSgpCisgICAgICAgICAgICAgICAgICAgIG9iaiA9IF9sc3Byb2YuUHJvZmlsZXIoMSkKKyAgICAgICAgICAgICAgICAgICAgb2JqLmRpc2FibGUoKQorICAgICAgICAgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICAgICAgICAgIHN5cy5zdGRlcnIgPSBvcmlnX3N0ZGVycgorICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgdW5saW5rKFRFU1RGTikKIAogCiBkZWYgdGVzdF9tYWluKCk6CmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2NyYXNoZXJzLnB5IGIvTGliL3Rlc3QvdGVzdF9jcmFzaGVycy5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMzZjY2JlCi0tLSAvZGV2L251bGwKKysrIGIvTGliL3Rlc3QvdGVzdF9jcmFzaGVycy5weQpAQCAtMCwwICsxLDM4IEBACisjIFRlc3RzIHRoYXQgdGhlIGNyYXNoZXJzIGluIHRoZSBMaWIvdGVzdC9jcmFzaGVycyBkaXJlY3RvcnkgYWN0dWFsbHkKKyMgZG8gY3Jhc2ggdGhlIGludGVycHJldGVyIGFzIGV4cGVjdGVkCisjCisjIElmIGEgY3Jhc2hlciBpcyBmaXhlZCwgaXQgc2hvdWxkIGJlIG1vdmVkIGVsc2V3aGVyZSBpbiB0aGUgdGVzdCBzdWl0ZSB0bworIyBlbnN1cmUgaXQgY29udGludWVzIHRvIHdvcmsgY29ycmVjdGx5LgorCitpbXBvcnQgdW5pdHRlc3QKK2ltcG9ydCBnbG9iCitpbXBvcnQgb3MucGF0aAoraW1wb3J0IHRlc3Quc3VwcG9ydAorZnJvbSB0ZXN0LnNjcmlwdF9oZWxwZXIgaW1wb3J0IGFzc2VydF9weXRob25fZmFpbHVyZQorCitDUkFTSEVSX0RJUiA9IG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUoX19maWxlX18pLCAiY3Jhc2hlcnMiKQorQ1JBU0hFUl9GSUxFUyA9IG9zLnBhdGguam9pbihDUkFTSEVSX0RJUiwgIioucHkiKQorCitpbmZpbml0ZV9sb29wcyA9IFsiaW5maW5pdGVfbG9vcF9yZS5weSIsICJuYXN0eV9lcV92c19kaWN0LnB5Il0KKworY2xhc3MgQ3Jhc2hlclRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgorCisgICAgQHVuaXR0ZXN0LnNraXAoInRoZXNlIHRlc3RzIGFyZSB0b28gZnJhZ2lsZSIpCisgICAgQHRlc3Quc3VwcG9ydC5jcHl0aG9uX29ubHkKKyAgICBkZWYgdGVzdF9jcmFzaGVyc19jcmFzaChzZWxmKToKKyAgICAgICAgZm9yIGZuYW1lIGluIGdsb2IuZ2xvYihDUkFTSEVSX0ZJTEVTKToKKyAgICAgICAgICAgIGlmIG9zLnBhdGguYmFzZW5hbWUoZm5hbWUpIGluIGluZmluaXRlX2xvb3BzOgorICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICAjIFNvbWUgImNyYXNoZXJzIiBvbmx5IHRyaWdnZXIgYW4gZXhjZXB0aW9uIHJhdGhlciB0aGFuIGEKKyAgICAgICAgICAgICMgc2VnZmF1bHQuIENvbnNpZGVyIHRoYXQgYW4gYWNjZXB0YWJsZSBvdXRjb21lLgorICAgICAgICAgICAgaWYgdGVzdC5zdXBwb3J0LnZlcmJvc2U6CisgICAgICAgICAgICAgICAgcHJpbnQoIkNoZWNraW5nIGNyYXNoZXI6IiwgZm5hbWUpCisgICAgICAgICAgICBhc3NlcnRfcHl0aG9uX2ZhaWx1cmUoZm5hbWUpCisKKworZGVmIHRlc3RfbWFpbigpOgorICAgIHRlc3Quc3VwcG9ydC5ydW5fdW5pdHRlc3QoQ3Jhc2hlclRlc3QpCisgICAgdGVzdC5zdXBwb3J0LnJlYXBfY2hpbGRyZW4oKQorCitpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgorICAgIHRlc3RfbWFpbigpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2NyeXB0LnB5IGIvTGliL3Rlc3QvdGVzdF9jcnlwdC5weQppbmRleCAyYWRiMjhkLi5kYzEwN2Q4IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2NyeXB0LnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfY3J5cHQucHkKQEAgLTEwLDYgKzEwLDI1IEBACiAgICAgICAgIGlmIHN1cHBvcnQudmVyYm9zZToKICAgICAgICAgICAgIHByaW50KCdUZXN0IGVuY3J5cHRpb246ICcsIGMpCiAKKyAgICBkZWYgdGVzdF9zYWx0KHNlbGYpOgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihjcnlwdC5fc2FsdGNoYXJzKSwgNjQpCisgICAgICAgIGZvciBtZXRob2QgaW4gY3J5cHQubWV0aG9kczoKKyAgICAgICAgICAgIHNhbHQgPSBjcnlwdC5ta3NhbHQobWV0aG9kKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oc2FsdCksCisgICAgICAgICAgICAgICAgICAgIG1ldGhvZC5zYWx0X2NoYXJzICsgKDMgaWYgbWV0aG9kLmlkZW50IGVsc2UgMCkpCisKKyAgICBkZWYgdGVzdF9zYWx0ZWRjcnlwdChzZWxmKToKKyAgICAgICAgZm9yIG1ldGhvZCBpbiBjcnlwdC5tZXRob2RzOgorICAgICAgICAgICAgcHcgPSBjcnlwdC5jcnlwdCgnYXNzd29yZCcsIG1ldGhvZCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKHB3KSwgbWV0aG9kLnRvdGFsX3NpemUpCisgICAgICAgICAgICBwdyA9IGNyeXB0LmNyeXB0KCdhc3N3b3JkJywgY3J5cHQubWtzYWx0KG1ldGhvZCkpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihwdyksIG1ldGhvZC50b3RhbF9zaXplKQorCisgICAgZGVmIHRlc3RfbWV0aG9kcyhzZWxmKToKKyAgICAgICAgIyBHdXJhbnRlZSB0aGF0IE1FVEhPRF9DUllQVCBpcyB0aGUgbGFzdCBtZXRob2QgaW4gY3J5cHQubWV0aG9kcy4KKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGxlbihjcnlwdC5tZXRob2RzKSA+PSAxKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNyeXB0Lk1FVEhPRF9DUllQVCwgY3J5cHQubWV0aG9kc1stMV0pCisKIGRlZiB0ZXN0X21haW4oKToKICAgICBzdXBwb3J0LnJ1bl91bml0dGVzdChDcnlwdFRlc3RDYXNlKQogCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2N1cnNlcy5weSBiL0xpYi90ZXN0L3Rlc3RfY3Vyc2VzLnB5CmluZGV4IDU4MTIxNDcuLjIxYWM2MDggMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfY3Vyc2VzLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfY3Vyc2VzLnB5CkBAIC0yNjQsMTEgKzI2NCw1NSBAQAogICAgIGN1cnNlcy51bmdldGNoKDEwMjUpCiAgICAgc3Rkc2NyLmdldGtleSgpCiAKK2RlZiB0ZXN0X3VuZ2V0X3djaChzdGRzY3IpOgorICAgIGlmIG5vdCBoYXNhdHRyKGN1cnNlcywgJ3VuZ2V0X3djaCcpOgorICAgICAgICByZXR1cm4KKyAgICBpbXBvcnQgbG9jYWxlCisgICAgZW5jb2RpbmcgPSBsb2NhbGUuZ2V0cHJlZmVycmVkZW5jb2RpbmcoKQorICAgIGZvciBjaCBpbiAoJ2EnLCAnXHhlOScsICdcdTIwYWMnLCAnXFUwMDEwRkZGRicpOgorICAgICAgICB0cnk6CisgICAgICAgICAgICBjaC5lbmNvZGUoZW5jb2RpbmcpCisgICAgICAgIGV4Y2VwdCBVbmljb2RlRW5jb2RlRXJyb3I6CisgICAgICAgICAgICBjb250aW51ZQorICAgICAgICB0cnk6CisgICAgICAgICAgICBjdXJzZXMudW5nZXRfd2NoKGNoKQorICAgICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGVycjoKKyAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbigidW5nZXRfd2NoKCVhKSBmYWlsZWQgd2l0aCBsb2NhbGUgZW5jb2RpbmcgJXM6ICVzIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICUgKGNoLCBlbmNvZGluZywgZXJyKSkKKyAgICAgICAgcmVhZCA9IHN0ZHNjci5nZXRfd2NoKCkKKyAgICAgICAgcmVhZCA9IGNocihyZWFkKQorICAgICAgICBpZiByZWFkICE9IGNoOgorICAgICAgICAgICAgcmFpc2UgQXNzZXJ0aW9uRXJyb3IoIiVyICE9ICVyIiAlIChyZWFkLCBjaCkpCisKKyAgICAgICAgY29kZSA9IG9yZChjaCkKKyAgICAgICAgY3Vyc2VzLnVuZ2V0X3djaChjb2RlKQorICAgICAgICByZWFkID0gc3Rkc2NyLmdldF93Y2goKQorICAgICAgICBpZiByZWFkICE9IGNvZGU6CisgICAgICAgICAgICByYWlzZSBBc3NlcnRpb25FcnJvcigiJXIgIT0gJXIiICUgKHJlYWQsIGNvZGUpKQorCiBkZWYgdGVzdF9pc3N1ZTEwNTcwKCk6CiAgICAgYiA9IGN1cnNlcy50cGFybShjdXJzZXMudGlnZXRzdHIoImN1cCIpLCA1LCAzKQogICAgIGFzc2VydCB0eXBlKGIpIGlzIGJ5dGVzCiAgICAgY3Vyc2VzLnB1dHAoYikKIAorZGVmIHRlc3RfZW5jb2Rpbmcoc3Rkc2NyKToKKyAgICBpbXBvcnQgY29kZWNzCisgICAgZW5jb2RpbmcgPSBzdGRzY3IuZW5jb2RpbmcKKyAgICBjb2RlY3MubG9va3VwKGVuY29kaW5nKQorICAgIHRyeToKKyAgICAgICAgc3Rkc2NyLmVuY29kaW5nID0gMTAKKyAgICBleGNlcHQgVHlwZUVycm9yOgorICAgICAgICBwYXNzCisgICAgZWxzZToKKyAgICAgICAgcmFpc2UgQXNzZXJ0aW9uRXJyb3IoIlR5cGVFcnJvciBub3QgcmFpc2VkIikKKyAgICBzdGRzY3IuZW5jb2RpbmcgPSBlbmNvZGluZworICAgIHRyeToKKyAgICAgICAgZGVsIHN0ZHNjci5lbmNvZGluZworICAgIGV4Y2VwdCBUeXBlRXJyb3I6CisgICAgICAgIHBhc3MKKyAgICBlbHNlOgorICAgICAgICByYWlzZSBBc3NlcnRpb25FcnJvcigiVHlwZUVycm9yIG5vdCByYWlzZWQiKQorCiBkZWYgbWFpbihzdGRzY3IpOgogICAgIGN1cnNlcy5zYXZldHR5KCkKICAgICB0cnk6CkBAIC0yNzcsMTYgKzMyMSwxOCBAQAogICAgICAgICB0ZXN0X3VzZXJwdHJfd2l0aG91dF9zZXQoc3Rkc2NyKQogICAgICAgICB0ZXN0X3Jlc2l6ZV90ZXJtKHN0ZHNjcikKICAgICAgICAgdGVzdF9pc3N1ZTYyNDMoc3Rkc2NyKQorICAgICAgICB0ZXN0X3VuZ2V0X3djaChzdGRzY3IpCiAgICAgICAgIHRlc3RfaXNzdWUxMDU3MCgpCisgICAgICAgIHRlc3RfZW5jb2Rpbmcoc3Rkc2NyKQogICAgIGZpbmFsbHk6CiAgICAgICAgIGN1cnNlcy5yZXNldHR5KCkKIAogZGVmIHRlc3RfbWFpbigpOgotICAgIGlmIG5vdCBzeXMuc3Rkb3V0LmlzYXR0eSgpOgotICAgICAgICByYWlzZSB1bml0dGVzdC5Ta2lwVGVzdCgic3lzLnN0ZG91dCBpcyBub3QgYSB0dHkiKQorICAgIGlmIG5vdCBzeXMuX19zdGRvdXRfXy5pc2F0dHkoKToKKyAgICAgICAgcmFpc2UgdW5pdHRlc3QuU2tpcFRlc3QoInN5cy5fX3N0ZG91dF9fIGlzIG5vdCBhIHR0eSIpCiAgICAgIyB0ZXN0aW5nIHNldHVwdGVybSgpIGluc2lkZSBpbml0c2NyL2VuZHdpbgogICAgICMgY2F1c2VzIHRlcm1pbmFsIGJyZWFrYWdlCi0gICAgY3Vyc2VzLnNldHVwdGVybShmZD1zeXMuc3Rkb3V0LmZpbGVubygpKQorICAgIGN1cnNlcy5zZXR1cHRlcm0oZmQ9c3lzLl9fc3Rkb3V0X18uZmlsZW5vKCkpCiAgICAgdHJ5OgogICAgICAgICBzdGRzY3IgPSBjdXJzZXMuaW5pdHNjcigpCiAgICAgICAgIG1haW4oc3Rkc2NyKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9kYm0ucHkgYi9MaWIvdGVzdC90ZXN0X2RibS5weQppbmRleCAyNmQ0YzE0Li4wMmRmN2UzIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2RibS5weQorKysgYi9MaWIvdGVzdC90ZXN0X2RibS5weQpAQCAtNzEsOCArNzEsOCBAQAogICAgICAgICBmLmNsb3NlKCkKIAogICAgIGRlZiB0ZXN0X2FueWRibV9jcmVhdGlvbl9uX2ZpbGVfZXhpc3RzX3dpdGhfaW52YWxpZF9jb250ZW50cyhzZWxmKToKLSAgICAgICAgd2l0aCBvcGVuKF9mbmFtZSwgInciKSBhcyB3OgotICAgICAgICAgICAgcGFzcyAjIGNyZWF0ZSBhbiBlbXB0eSBmaWxlCisgICAgICAgICMgY3JlYXRlIGFuIGVtcHR5IGZpbGUKKyAgICAgICAgdGVzdC5zdXBwb3J0LmNyZWF0ZV9lbXB0eV9maWxlKF9mbmFtZSkKIAogICAgICAgICBmID0gZGJtLm9wZW4oX2ZuYW1lLCAnbicpCiAgICAgICAgIHNlbGYuYWRkQ2xlYW51cChmLmNsb3NlKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9kZWNpbWFsLnB5IGIvTGliL3Rlc3QvdGVzdF9kZWNpbWFsLnB5CmluZGV4IGU0NmNkOTEuLjAxNGU5YzcgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfZGVjaW1hbC5weQorKysgYi9MaWIvdGVzdC90ZXN0X2RlY2ltYWwucHkKQEAgLTE4MzQsMTggKzE4MzQsOSBAQAogICAgICAgICAjIG9ubHksIHRoZSBhdHRyaWJ1dGUgc2hvdWxkIGJlIGdldHRhYmxlL3NldHRhYmxlIHZpYSBib3RoCiAgICAgICAgICMgYGNsYW1wYCBhbmQgYF9jbGFtcGA7IGluIFB5dGhvbiAzLjMsIGBfY2xhbXBgIHNob3VsZCBiZQogICAgICAgICAjIHJlbW92ZWQuCi0gICAgICAgIGMgPSBDb250ZXh0KGNsYW1wID0gMCkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjLmNsYW1wLCAwKQotCi0gICAgICAgIHdpdGggY2hlY2tfd2FybmluZ3MoKCIiLCBEZXByZWNhdGlvbldhcm5pbmcpKToKLSAgICAgICAgICAgIGMuX2NsYW1wID0gMQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGMuY2xhbXAsIDEpCi0gICAgICAgIHdpdGggY2hlY2tfd2FybmluZ3MoKCIiLCBEZXByZWNhdGlvbldhcm5pbmcpKToKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYy5fY2xhbXAsIDEpCi0gICAgICAgIGMuY2xhbXAgPSAwCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYy5jbGFtcCwgMCkKLSAgICAgICAgd2l0aCBjaGVja193YXJuaW5ncygoIiIsIERlcHJlY2F0aW9uV2FybmluZykpOgotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjLl9jbGFtcCwgMCkKKyAgICAgICAgYyA9IENvbnRleHQoKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKEF0dHJpYnV0ZUVycm9yKToKKyAgICAgICAgICAgIGNsYW1wX3ZhbHVlID0gYy5fY2xhbXAKIAogICAgIGRlZiB0ZXN0X2FicyhzZWxmKToKICAgICAgICAgYyA9IENvbnRleHQoKQpAQCAtMTk3MCw2ICsxOTYxLDE3IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgYy5mbWEsIDIsICczJywgNCkKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBjLmZtYSwgMiwgMywgJzQnKQogCisgICAgICAgICMgSXNzdWUgMTIwNzkgZm9yIENvbnRleHQuZm1hIC4uLgorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGMuZm1hLAorICAgICAgICAgICAgICAgICAgICAgICAgICBEZWNpbWFsKCdJbmZpbml0eScpLCBEZWNpbWFsKDApLCAibm90IGEgZGVjaW1hbCIpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgYy5mbWEsCisgICAgICAgICAgICAgICAgICAgICAgICAgIERlY2ltYWwoMSksIERlY2ltYWwoJ3NuYW4nKSwgMS4yMjIpCisgICAgICAgICMgLi4uIGFuZCBmb3IgRGVjaW1hbC5mbWEuCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgRGVjaW1hbCgnSW5maW5pdHknKS5mbWEsCisgICAgICAgICAgICAgICAgICAgICAgICAgIERlY2ltYWwoMCksICJub3QgYSBkZWNpbWFsIikKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBEZWNpbWFsKDEpLmZtYSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgRGVjaW1hbCgnc25hbicpLCAxLjIyMikKKwogICAgIGRlZiB0ZXN0X2lzX2Zpbml0ZShzZWxmKToKICAgICAgICAgYyA9IENvbnRleHQoKQogICAgICAgICBkID0gYy5pc19maW5pdGUoRGVjaW1hbCgxMCkpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2Rlc2NyLnB5IGIvTGliL3Rlc3QvdGVzdF9kZXNjci5weQppbmRleCAxNDFkNzkxLi41NzU5ZWZmIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2Rlc2NyLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfZGVzY3IucHkKQEAgLTY1NCwxOSArNjU0LDE5IEBACiAgICAgICAgIGNsYXNzIEEobWV0YWNsYXNzPUFNZXRhKToKICAgICAgICAgICAgIHBhc3MKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChbJ0FNZXRhJ10sIG5ld19jYWxscykKLSAgICAgICAgbmV3X2NhbGxzWzpdID0gW10KKyAgICAgICAgbmV3X2NhbGxzLmNsZWFyKCkKIAogICAgICAgICBjbGFzcyBCKG1ldGFjbGFzcz1CTWV0YSk6CiAgICAgICAgICAgICBwYXNzCiAgICAgICAgICMgQk1ldGEuX19uZXdfXyBjYWxscyBBTWV0YS5fX25ld19fIHdpdGggc3VwZXI6CiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoWydCTWV0YScsICdBTWV0YSddLCBuZXdfY2FsbHMpCi0gICAgICAgIG5ld19jYWxsc1s6XSA9IFtdCisgICAgICAgIG5ld19jYWxscy5jbGVhcigpCiAKICAgICAgICAgY2xhc3MgQyhBLCBCKToKICAgICAgICAgICAgIHBhc3MKICAgICAgICAgIyBUaGUgbW9zdCBkZXJpdmVkIG1ldGFjbGFzcyBpcyBCTWV0YToKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChbJ0JNZXRhJywgJ0FNZXRhJ10sIG5ld19jYWxscykKLSAgICAgICAgbmV3X2NhbGxzWzpdID0gW10KKyAgICAgICAgbmV3X2NhbGxzLmNsZWFyKCkKICAgICAgICAgIyBCTWV0YS5fX3ByZXBhcmVfXyBzaG91bGQndmUgYmVlbiBjYWxsZWQ6CiAgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ0JNZXRhX3dhc19oZXJlJywgQy5fX2RpY3RfXykKIApAQCAtNjc0LDIwICs2NzQsMjAgQEAKICAgICAgICAgY2xhc3MgQzIoQiwgQSk6CiAgICAgICAgICAgICBwYXNzCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoWydCTWV0YScsICdBTWV0YSddLCBuZXdfY2FsbHMpCi0gICAgICAgIG5ld19jYWxsc1s6XSA9IFtdCisgICAgICAgIG5ld19jYWxscy5jbGVhcigpCiAgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ0JNZXRhX3dhc19oZXJlJywgQzIuX19kaWN0X18pCiAKICAgICAgICAgIyBDaGVjayBjb3JyZWN0IG1ldGFjbGFzcyBjYWxjdWxhdGlvbiB3aGVuIGEgbWV0YWNsYXNzIGlzIGRlY2xhcmVkOgogICAgICAgICBjbGFzcyBEKEMsIG1ldGFjbGFzcz10eXBlKToKICAgICAgICAgICAgIHBhc3MKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChbJ0JNZXRhJywgJ0FNZXRhJ10sIG5ld19jYWxscykKLSAgICAgICAgbmV3X2NhbGxzWzpdID0gW10KKyAgICAgICAgbmV3X2NhbGxzLmNsZWFyKCkKICAgICAgICAgc2VsZi5hc3NlcnRJbignQk1ldGFfd2FzX2hlcmUnLCBELl9fZGljdF9fKQogCiAgICAgICAgIGNsYXNzIEUoQywgbWV0YWNsYXNzPUFNZXRhKToKICAgICAgICAgICAgIHBhc3MKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChbJ0JNZXRhJywgJ0FNZXRhJ10sIG5ld19jYWxscykKLSAgICAgICAgbmV3X2NhbGxzWzpdID0gW10KKyAgICAgICAgbmV3X2NhbGxzLmNsZWFyKCkKICAgICAgICAgc2VsZi5hc3NlcnRJbignQk1ldGFfd2FzX2hlcmUnLCBFLl9fZGljdF9fKQogCiAgICAgICAgICMgU3BlY2lhbCBjYXNlOiB0aGUgZ2l2ZW4gbWV0YWNsYXNzIGlzbid0IGEgY2xhc3MsCkBAIC03MjksMzMgKzcyOSwzMyBAQAogICAgICAgICAgICAgcGFzcwogICAgICAgICBzZWxmLmFzc2VydElzKEFOb3RNZXRhLCB0eXBlKEEpKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKFsnQU5vdE1ldGEnXSwgcHJlcGFyZV9jYWxscykKLSAgICAgICAgcHJlcGFyZV9jYWxsc1s6XSA9IFtdCisgICAgICAgIHByZXBhcmVfY2FsbHMuY2xlYXIoKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKFsnQU5vdE1ldGEnXSwgbmV3X2NhbGxzKQotICAgICAgICBuZXdfY2FsbHNbOl0gPSBbXQorICAgICAgICBuZXdfY2FsbHMuY2xlYXIoKQogCiAgICAgICAgIGNsYXNzIEIobWV0YWNsYXNzPUJOb3RNZXRhKToKICAgICAgICAgICAgIHBhc3MKICAgICAgICAgc2VsZi5hc3NlcnRJcyhCTm90TWV0YSwgdHlwZShCKSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChbJ0JOb3RNZXRhJywgJ0FOb3RNZXRhJ10sIHByZXBhcmVfY2FsbHMpCi0gICAgICAgIHByZXBhcmVfY2FsbHNbOl0gPSBbXQorICAgICAgICBwcmVwYXJlX2NhbGxzLmNsZWFyKCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChbJ0JOb3RNZXRhJywgJ0FOb3RNZXRhJ10sIG5ld19jYWxscykKLSAgICAgICAgbmV3X2NhbGxzWzpdID0gW10KKyAgICAgICAgbmV3X2NhbGxzLmNsZWFyKCkKIAogICAgICAgICBjbGFzcyBDKEEsIEIpOgogICAgICAgICAgICAgcGFzcwogICAgICAgICBzZWxmLmFzc2VydElzKEJOb3RNZXRhLCB0eXBlKEMpKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKFsnQk5vdE1ldGEnLCAnQU5vdE1ldGEnXSwgbmV3X2NhbGxzKQotICAgICAgICBuZXdfY2FsbHNbOl0gPSBbXQorICAgICAgICBuZXdfY2FsbHMuY2xlYXIoKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKFsnQk5vdE1ldGEnLCAnQU5vdE1ldGEnXSwgcHJlcGFyZV9jYWxscykKLSAgICAgICAgcHJlcGFyZV9jYWxsc1s6XSA9IFtdCisgICAgICAgIHByZXBhcmVfY2FsbHMuY2xlYXIoKQogCiAgICAgICAgIGNsYXNzIEMyKEIsIEEpOgogICAgICAgICAgICAgcGFzcwogICAgICAgICBzZWxmLmFzc2VydElzKEJOb3RNZXRhLCB0eXBlKEMyKSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChbJ0JOb3RNZXRhJywgJ0FOb3RNZXRhJ10sIG5ld19jYWxscykKLSAgICAgICAgbmV3X2NhbGxzWzpdID0gW10KKyAgICAgICAgbmV3X2NhbGxzLmNsZWFyKCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChbJ0JOb3RNZXRhJywgJ0FOb3RNZXRhJ10sIHByZXBhcmVfY2FsbHMpCi0gICAgICAgIHByZXBhcmVfY2FsbHNbOl0gPSBbXQorICAgICAgICBwcmVwYXJlX2NhbGxzLmNsZWFyKCkKIAogICAgICAgICAjIFRoaXMgaXMgYSBUeXBlRXJyb3IsIGJlY2F1c2Ugb2YgYSBtZXRhY2xhc3MgY29uZmxpY3Q6CiAgICAgICAgICMgQk5vdE1ldGEgaXMgbmVpdGhlciBhIHN1YmNsYXNzLCBub3IgYSBzdXBlcmNsYXNzIG9mIHR5cGUKQEAgLTc2NywyNSArNzY3LDI1IEBACiAgICAgICAgICAgICBwYXNzCiAgICAgICAgIHNlbGYuYXNzZXJ0SXMoQk5vdE1ldGEsIHR5cGUoRSkpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoWydCTm90TWV0YScsICdBTm90TWV0YSddLCBuZXdfY2FsbHMpCi0gICAgICAgIG5ld19jYWxsc1s6XSA9IFtdCisgICAgICAgIG5ld19jYWxscy5jbGVhcigpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoWydCTm90TWV0YScsICdBTm90TWV0YSddLCBwcmVwYXJlX2NhbGxzKQotICAgICAgICBwcmVwYXJlX2NhbGxzWzpdID0gW10KKyAgICAgICAgcHJlcGFyZV9jYWxscy5jbGVhcigpCiAKICAgICAgICAgY2xhc3MgRihvYmplY3QoKSwgQyk6CiAgICAgICAgICAgICBwYXNzCiAgICAgICAgIHNlbGYuYXNzZXJ0SXMoQk5vdE1ldGEsIHR5cGUoRikpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoWydCTm90TWV0YScsICdBTm90TWV0YSddLCBuZXdfY2FsbHMpCi0gICAgICAgIG5ld19jYWxsc1s6XSA9IFtdCisgICAgICAgIG5ld19jYWxscy5jbGVhcigpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoWydCTm90TWV0YScsICdBTm90TWV0YSddLCBwcmVwYXJlX2NhbGxzKQotICAgICAgICBwcmVwYXJlX2NhbGxzWzpdID0gW10KKyAgICAgICAgcHJlcGFyZV9jYWxscy5jbGVhcigpCiAKICAgICAgICAgY2xhc3MgRjIoQywgb2JqZWN0KCkpOgogICAgICAgICAgICAgcGFzcwogICAgICAgICBzZWxmLmFzc2VydElzKEJOb3RNZXRhLCB0eXBlKEYyKSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChbJ0JOb3RNZXRhJywgJ0FOb3RNZXRhJ10sIG5ld19jYWxscykKLSAgICAgICAgbmV3X2NhbGxzWzpdID0gW10KKyAgICAgICAgbmV3X2NhbGxzLmNsZWFyKCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChbJ0JOb3RNZXRhJywgJ0FOb3RNZXRhJ10sIHByZXBhcmVfY2FsbHMpCi0gICAgICAgIHByZXBhcmVfY2FsbHNbOl0gPSBbXQorICAgICAgICBwcmVwYXJlX2NhbGxzLmNsZWFyKCkKIAogICAgICAgICAjIFR5cGVFcnJvcjogQk5vdE1ldGEgaXMgbmVpdGhlciBhCiAgICAgICAgICMgc3ViY2xhc3MsIG5vciBhIHN1cGVyY2xhc3Mgb2YgaW50CkBAIC0xNDQ0LDYgKzE0NDQsMTQgQEAKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHNlbGYuZmFpbCgiY2xhc3NtZXRob2Qgc2hvdWxkbid0IGFjY2VwdCBrZXl3b3JkIGFyZ3MiKQogCisgICAgICAgIGNtID0gY2xhc3NtZXRob2QoZikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbS5fX2RpY3RfXywge30pCisgICAgICAgIGNtLnggPSA0MgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNtLngsIDQyKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNtLl9fZGljdF9fLCB7IngiIDogNDJ9KQorICAgICAgICBkZWwgY20ueAorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGhhc2F0dHIoY20sICJ4IikpCisKICAgICBAc3VwcG9ydC5pbXBsX2RldGFpbCgidGhlIG1vZHVsZSAneHhzdWJ0eXBlJyBpcyBpbnRlcm5hbCIpCiAgICAgZGVmIHRlc3RfY2xhc3NtZXRob2RzX2luX2Moc2VsZik6CiAgICAgICAgICMgVGVzdGluZyBDLWJhc2VkIGNsYXNzIG1ldGhvZHMuLi4KQEAgLTE0NzUsNiArMTQ4MywxMyBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGQuZ29vKDEpLCAoMSwpKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGQuZm9vKDEpLCAoZCwgMSkpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoRC5mb28oZCwgMSksIChkLCAxKSkKKyAgICAgICAgc20gPSBzdGF0aWNtZXRob2QoTm9uZSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzbS5fX2RpY3RfXywge30pCisgICAgICAgIHNtLnggPSA0MgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNtLngsIDQyKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNtLl9fZGljdF9fLCB7IngiIDogNDJ9KQorICAgICAgICBkZWwgc20ueAorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGhhc2F0dHIoc20sICJ4IikpCiAKICAgICBAc3VwcG9ydC5pbXBsX2RldGFpbCgidGhlIG1vZHVsZSAneHhzdWJ0eXBlJyBpcyBpbnRlcm5hbCIpCiAgICAgZGVmIHRlc3Rfc3RhdGljbWV0aG9kc19pbl9jKHNlbGYpOgpAQCAtMTgwMCwxMiArMTgxNSw3IEBACiAgICAgICAgICAgICBmb3IgYXR0ciwgb2JqIGluIGVudi5pdGVtcygpOgogICAgICAgICAgICAgICAgIHNldGF0dHIoWCwgYXR0ciwgb2JqKQogICAgICAgICAgICAgc2V0YXR0cihYLCBuYW1lLCBFcnJEZXNjcigpKQotICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgIHJ1bm5lcihYKCkpCi0gICAgICAgICAgICBleGNlcHQgTXlFeGNlcHRpb246Ci0gICAgICAgICAgICAgICAgcGFzcwotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBzZWxmLmZhaWwoInswIXJ9IGRpZG4ndCByYWlzZSIuZm9ybWF0KG5hbWUpKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoTXlFeGNlcHRpb24sIHJ1bm5lciwgWCgpKQogCiAgICAgZGVmIHRlc3Rfc3BlY2lhbHMoc2VsZik6CiAgICAgICAgICMgVGVzdGluZyBzcGVjaWFsIG9wZXJhdG9ycy4uLgpAQCAtMjI0Miw5ICsyMjUyLDYgQEAKICAgICAgICAgIyBUd28gZXNzZW50aWFsbHkgZmVhdHVyZWxlc3Mgb2JqZWN0cywganVzdCBpbmhlcml0aW5nIHN0dWZmIGZyb20KICAgICAgICAgIyBvYmplY3QuCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGlyKE5vdEltcGxlbWVudGVkKSwgZGlyKEVsbGlwc2lzKSkKLSAgICAgICAgaWYgc3VwcG9ydC5jaGVja19pbXBsX2RldGFpbCgpOgotICAgICAgICAgICAgIyBOb25lIGRpZmZlcnMgaW4gUHlQeTogaXQgaGFzIGEgX19ub256ZXJvX18KLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGlyKE5vbmUpLCBkaXIoRWxsaXBzaXMpKQogCiAgICAgICAgICMgTmFzdHkgdGVzdCBjYXNlIGZvciBwcm94aWVkIG9iamVjdHMKICAgICAgICAgY2xhc3MgV3JhcHBlcihvYmplY3QpOgpAQCAtNDQzMiw2ICs0NDM5LDU0IEBACiAgICAgICAgIGZvbyA9IEZvbygpCiAgICAgICAgIHN0cihmb28pCiAKKyAgICBkZWYgdGVzdF9zbG90X3NoYWRvd3NfY2xhc3NfdmFyaWFibGUoc2VsZik6CisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvcikgYXMgY206CisgICAgICAgICAgICBjbGFzcyBYOgorICAgICAgICAgICAgICAgIF9fc2xvdHNfXyA9IFsiZm9vIl0KKyAgICAgICAgICAgICAgICBmb28gPSBOb25lCisgICAgICAgIG0gPSBzdHIoY20uZXhjZXB0aW9uKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCInZm9vJyBpbiBfX3Nsb3RzX18gY29uZmxpY3RzIHdpdGggY2xhc3MgdmFyaWFibGUiLCBtKQorCisgICAgZGVmIHRlc3Rfc2V0X2RvYyhzZWxmKToKKyAgICAgICAgY2xhc3MgWDoKKyAgICAgICAgICAgICJlbGVwaGFudCIKKyAgICAgICAgWC5fX2RvY19fID0gImJhbmFuYSIKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChYLl9fZG9jX18sICJiYW5hbmEiKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvcikgYXMgY206CisgICAgICAgICAgICB0eXBlKGxpc3QpLl9fZGljdF9fWyJfX2RvY19fIl0uX19zZXRfXyhsaXN0LCAiYmxhaCIpCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oImNhbid0IHNldCBsaXN0Ll9fZG9jX18iLCBzdHIoY20uZXhjZXB0aW9uKSkKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IpIGFzIGNtOgorICAgICAgICAgICAgdHlwZShYKS5fX2RpY3RfX1siX19kb2NfXyJdLl9fZGVsZXRlX18oWCkKKyAgICAgICAgc2VsZi5hc3NlcnRJbigiY2FuJ3QgZGVsZXRlIFguX19kb2NfXyIsIHN0cihjbS5leGNlcHRpb24pKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKFguX19kb2NfXywgImJhbmFuYSIpCisKKyAgICBkZWYgdGVzdF9xdWFsbmFtZShzZWxmKToKKyAgICAgICAgZGVzY3JpcHRvcnMgPSBbc3RyLmxvd2VyLCBjb21wbGV4LnJlYWwsIGZsb2F0LnJlYWwsIGludC5fX2FkZF9fXQorICAgICAgICB0eXBlcyA9IFsnbWV0aG9kJywgJ21lbWJlcicsICdnZXRzZXQnLCAnd3JhcHBlciddCisKKyAgICAgICAgIyBtYWtlIHN1cmUgd2UgaGF2ZSBhbiBleGFtcGxlIG9mIGVhY2ggdHlwZSBvZiBkZXNjcmlwdG9yCisgICAgICAgIGZvciBkLCBuIGluIHppcChkZXNjcmlwdG9ycywgdHlwZXMpOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh0eXBlKGQpLl9fbmFtZV9fLCBuICsgJ19kZXNjcmlwdG9yJykKKworICAgICAgICBmb3IgZCBpbiBkZXNjcmlwdG9yczoKKyAgICAgICAgICAgIHF1YWxuYW1lID0gZC5fX29iamNsYXNzX18uX19xdWFsbmFtZV9fICsgJy4nICsgZC5fX25hbWVfXworICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkLl9fcXVhbG5hbWVfXywgcXVhbG5hbWUpCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdHIubG93ZXIuX19xdWFsbmFtZV9fLCAnc3RyLmxvd2VyJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjb21wbGV4LnJlYWwuX19xdWFsbmFtZV9fLCAnY29tcGxleC5yZWFsJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmbG9hdC5yZWFsLl9fcXVhbG5hbWVfXywgJ2Zsb2F0LnJlYWwnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGludC5fX2FkZF9fLl9fcXVhbG5hbWVfXywgJ2ludC5fX2FkZF9fJykKKworICAgIGRlZiB0ZXN0X3F1YWxuYW1lX2RpY3Qoc2VsZik6CisgICAgICAgIG5zID0geydfX3F1YWxuYW1lX18nOiAnc29tZS5uYW1lJ30KKyAgICAgICAgdHAgPSB0eXBlKCdGb28nLCAoKSwgbnMpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodHAuX19xdWFsbmFtZV9fLCAnc29tZS5uYW1lJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh0cC5fX2RpY3RfX1snX19xdWFsbmFtZV9fJ10sICdzb21lLm5hbWUnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG5zLCB7J19fcXVhbG5hbWVfXyc6ICdzb21lLm5hbWUnfSkKKworICAgICAgICBucyA9IHsnX19xdWFsbmFtZV9fJzogMX0KKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCB0eXBlLCAnRm9vJywgKCksIG5zKQorCiAgICAgZGVmIHRlc3RfY3ljbGVfdGhyb3VnaF9kaWN0KHNlbGYpOgogICAgICAgICAjIFNlZSBidWcgIzE0Njk2MjkKICAgICAgICAgY2xhc3MgWChkaWN0KToKQEAgLTQ0NDcsNiArNDUwMiwyNyBAQAogICAgICAgICBmb3IgbyBpbiBnYy5nZXRfb2JqZWN0cygpOgogICAgICAgICAgICAgc2VsZi5hc3NlcnRJc05vdCh0eXBlKG8pLCBYKQogCisgICAgZGVmIHRlc3Rfb2JqZWN0X25ld19hbmRfaW5pdF93aXRoX3BhcmFtZXRlcnMoc2VsZik6CisgICAgICAgICMgU2VlIGlzc3VlICMxNjgzMzY4CisgICAgICAgIGNsYXNzIE92ZXJyaWRlTmVpdGhlcjoKKyAgICAgICAgICAgIHBhc3MKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBPdmVycmlkZU5laXRoZXIsIDEpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgT3ZlcnJpZGVOZWl0aGVyLCBrdz0xKQorICAgICAgICBjbGFzcyBPdmVycmlkZU5ldzoKKyAgICAgICAgICAgIGRlZiBfX25ld19fKGNscywgZm9vLCBrdz0wLCAqYXJncywgKiprd2RzKToKKyAgICAgICAgICAgICAgICByZXR1cm4gb2JqZWN0Ll9fbmV3X18oY2xzLCAqYXJncywgKiprd2RzKQorICAgICAgICBjbGFzcyBPdmVycmlkZUluaXQ6CisgICAgICAgICAgICBkZWYgX19pbml0X18oc2VsZiwgZm9vLCBrdz0wLCAqYXJncywgKiprd2FyZ3MpOgorICAgICAgICAgICAgICAgIHJldHVybiBvYmplY3QuX19pbml0X18oc2VsZiwgKmFyZ3MsICoqa3dhcmdzKQorICAgICAgICBjbGFzcyBPdmVycmlkZUJvdGgoT3ZlcnJpZGVOZXcsIE92ZXJyaWRlSW5pdCk6CisgICAgICAgICAgICBwYXNzCisgICAgICAgIGZvciBjYXNlIGluIE92ZXJyaWRlTmV3LCBPdmVycmlkZUluaXQsIE92ZXJyaWRlQm90aDoKKyAgICAgICAgICAgIGNhc2UoMSkKKyAgICAgICAgICAgIGNhc2UoMSwga3c9MikKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgY2FzZSwgMSwgMiwgMykKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgY2FzZSwgMSwgMiwgZm9vPTMpCisKKwogY2xhc3MgRGljdFByb3h5VGVzdHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgIGRlZiBzZXRVcChzZWxmKToKICAgICAgICAgY2xhc3MgQyhvYmplY3QpOgpAQCAtNDQ1NCw2ICs0NTMwLDggQEAKICAgICAgICAgICAgICAgICBwYXNzCiAgICAgICAgIHNlbGYuQyA9IEMKIAorICAgIEB1bml0dGVzdC5za2lwSWYoaGFzYXR0cihzeXMsICdnZXR0cmFjZScpIGFuZCBzeXMuZ2V0dHJhY2UoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICd0cmFjZSBmdW5jdGlvbiBpbnRyb2R1Y2VzIF9fbG9jYWxfXycpCiAgICAgZGVmIHRlc3RfaXRlcl9rZXlzKHNlbGYpOgogICAgICAgICAjIFRlc3RpbmcgZGljdC1wcm94eSBrZXlzLi4uCiAgICAgICAgIGl0ID0gc2VsZi5DLl9fZGljdF9fLmtleXMoKQpAQCAtNDQ2MSwxNSArNDUzOSwxOSBAQAogICAgICAgICBrZXlzID0gbGlzdChpdCkKICAgICAgICAga2V5cy5zb3J0KCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChrZXlzLCBbJ19fZGljdF9fJywgJ19fZG9jX18nLCAnX19tb2R1bGVfXycsCi0gICAgICAgICAgICAnX193ZWFrcmVmX18nLCAnbWV0aCddKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnX19xdWFsbmFtZV9fJywgJ19fd2Vha3JlZl9fJywgJ21ldGgnXSkKIAorICAgIEB1bml0dGVzdC5za2lwSWYoaGFzYXR0cihzeXMsICdnZXR0cmFjZScpIGFuZCBzeXMuZ2V0dHJhY2UoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICd0cmFjZSBmdW5jdGlvbiBpbnRyb2R1Y2VzIF9fbG9jYWxfXycpCiAgICAgZGVmIHRlc3RfaXRlcl92YWx1ZXMoc2VsZik6CiAgICAgICAgICMgVGVzdGluZyBkaWN0LXByb3h5IHZhbHVlcy4uLgogICAgICAgICBpdCA9IHNlbGYuQy5fX2RpY3RfXy52YWx1ZXMoKQogICAgICAgICBzZWxmLmFzc2VydE5vdElzSW5zdGFuY2UoaXQsIGxpc3QpCiAgICAgICAgIHZhbHVlcyA9IGxpc3QoaXQpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKHZhbHVlcyksIDUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKHZhbHVlcyksIDYpCiAKKyAgICBAdW5pdHRlc3Quc2tpcElmKGhhc2F0dHIoc3lzLCAnZ2V0dHJhY2UnKSBhbmQgc3lzLmdldHRyYWNlKCksCisgICAgICAgICAgICAgICAgICAgICAgICAndHJhY2UgZnVuY3Rpb24gaW50cm9kdWNlcyBfX2xvY2FsX18nKQogICAgIGRlZiB0ZXN0X2l0ZXJfaXRlbXMoc2VsZik6CiAgICAgICAgICMgVGVzdGluZyBkaWN0LXByb3h5IGl0ZXJpdGVtcy4uLgogICAgICAgICBpdCA9IHNlbGYuQy5fX2RpY3RfXy5pdGVtcygpCkBAIC00NDc3LDcgKzQ1NTksNyBAQAogICAgICAgICBrZXlzID0gW2l0ZW1bMF0gZm9yIGl0ZW0gaW4gaXRdCiAgICAgICAgIGtleXMuc29ydCgpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoa2V5cywgWydfX2RpY3RfXycsICdfX2RvY19fJywgJ19fbW9kdWxlX18nLAotICAgICAgICAgICAgJ19fd2Vha3JlZl9fJywgJ21ldGgnXSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ19fcXVhbG5hbWVfXycsICdfX3dlYWtyZWZfXycsICdtZXRoJ10pCiAKICAgICBkZWYgdGVzdF9kaWN0X3R5cGVfd2l0aF9tZXRhY2xhc3Moc2VsZik6CiAgICAgICAgICMgVGVzdGluZyB0eXBlIG9mIF9fZGljdF9fIHdoZW4gbWV0YWNsYXNzIHNldC4uLgpAQCAtNDQ5MSwxOSArNDU3MywxNCBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHR5cGUoQy5fX2RpY3RfXyksIHR5cGUoQi5fX2RpY3RfXykpCiAKICAgICBkZWYgdGVzdF9yZXByKHNlbGYpOgotICAgICAgICAjIFRlc3RpbmcgZGljdF9wcm94eS5fX3JlcHJfXwotICAgICAgICBkZWYgc29ydGVkX2RpY3RfcmVwcihyZXByXyk6Ci0gICAgICAgICAgICAjIEdpdmVuIHRoZSByZXByIG9mIGEgZGljdCwgc29ydCB0aGUga2V5cwotICAgICAgICAgICAgYXNzZXJ0IHJlcHJfLnN0YXJ0c3dpdGgoJ3snKQotICAgICAgICAgICAgYXNzZXJ0IHJlcHJfLmVuZHN3aXRoKCd9JykKLSAgICAgICAgICAgIGt2cyA9IHJlcHJfWzE6LTFdLnNwbGl0KCcsICcpCi0gICAgICAgICAgICByZXR1cm4gJ3snICsgJywgJy5qb2luKHNvcnRlZChrdnMpKSArICd9JwotICAgICAgICBkaWN0XyA9IHtrOiB2IGZvciBrLCB2IGluIHNlbGYuQy5fX2RpY3RfXy5pdGVtcygpfQotICAgICAgICByZXByXyA9IHJlcHIoc2VsZi5DLl9fZGljdF9fKQotICAgICAgICBzZWxmLmFzc2VydFRydWUocmVwcl8uc3RhcnRzd2l0aCgnZGljdF9wcm94eSgnKSkKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHJlcHJfLmVuZHN3aXRoKCcpJykpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc29ydGVkX2RpY3RfcmVwcihyZXByX1tsZW4oJ2RpY3RfcHJveHkoJyk6LWxlbignKScpXSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgc29ydGVkX2RpY3RfcmVwcigneyFyfScuZm9ybWF0KGRpY3RfKSkpCisgICAgICAgICMgVGVzdGluZyBkaWN0X3Byb3h5Ll9fcmVwcl9fLgorICAgICAgICAjIFdlIGNhbid0IGJsaW5kbHkgY29tcGFyZSB3aXRoIHRoZSByZXByIG9mIGFub3RoZXIgZGljdCBhcyBvcmRlcmluZworICAgICAgICAjIG9mIGtleXMgYW5kIHZhbHVlcyBpcyBhcmJpdHJhcnkgYW5kIG1heSBkaWZmZXIuCisgICAgICAgIHIgPSByZXByKHNlbGYuQy5fX2RpY3RfXykKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHIuc3RhcnRzd2l0aCgnZGljdF9wcm94eSgnKSwgcikKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHIuZW5kc3dpdGgoJyknKSwgcikKKyAgICAgICAgZm9yIGssIHYgaW4gc2VsZi5DLl9fZGljdF9fLml0ZW1zKCk6CisgICAgICAgICAgICBzZWxmLmFzc2VydEluKCd7IXJ9OiB7IXJ9Jy5mb3JtYXQoaywgdiksIHIpCiAKIAogY2xhc3MgUFR5cGVzTG9uZ0luaXRUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKQEAgLTQ1MjgsMTAgKzQ2MDUsMzggQEAKICAgICAgICAgdHlwZS5tcm8odHVwbGUpCiAKIAorY2xhc3MgTWlzY1Rlc3RzKHVuaXR0ZXN0LlRlc3RDYXNlKToKKyAgICBkZWYgdGVzdF90eXBlX2xvb2t1cF9tcm9fcmVmZXJlbmNlKHNlbGYpOgorICAgICAgICAjIElzc3VlICMxNDE5OTogX1B5VHlwZV9Mb29rdXAoKSBoYXMgdG8ga2VlcCBhIHN0cm9uZyByZWZlcmVuY2UgdG8KKyAgICAgICAgIyB0aGUgdHlwZSBNUk8gYmVjYXVzZSBpdCBtYXkgYmUgbW9kaWZpZWQgZHVyaW5nIHRoZSBsb29rdXAsIGlmCisgICAgICAgICMgX19iYXNlc19fIGlzIHNldCBkdXJpbmcgdGhlIGxvb2t1cCBmb3IgZXhhbXBsZS4KKyAgICAgICAgY2xhc3MgTXlLZXkob2JqZWN0KToKKyAgICAgICAgICAgIGRlZiBfX2hhc2hfXyhzZWxmKToKKyAgICAgICAgICAgICAgICByZXR1cm4gaGFzaCgnbXlrZXknKQorCisgICAgICAgICAgICBkZWYgX19lcV9fKHNlbGYsIG90aGVyKToKKyAgICAgICAgICAgICAgICBYLl9fYmFzZXNfXyA9IChCYXNlMiwpCisKKyAgICAgICAgY2xhc3MgQmFzZShvYmplY3QpOgorICAgICAgICAgICAgbXlrZXkgPSAnZnJvbSBCYXNlJworICAgICAgICAgICAgbXlrZXkyID0gJ2Zyb20gQmFzZScKKworICAgICAgICBjbGFzcyBCYXNlMihvYmplY3QpOgorICAgICAgICAgICAgbXlrZXkgPSAnZnJvbSBCYXNlMicKKyAgICAgICAgICAgIG15a2V5MiA9ICdmcm9tIEJhc2UyJworCisgICAgICAgIFggPSB0eXBlKCdYJywgKEJhc2UsKSwge015S2V5KCk6IDV9KQorICAgICAgICAjIG15a2V5IGlzIHJlYWQgZnJvbSBCYXNlCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoWC5teWtleSwgJ2Zyb20gQmFzZScpCisgICAgICAgICMgbXlrZXkyIGlzIHJlYWQgZnJvbSBCYXNlMiBiZWNhdXNlIE15S2V5Ll9fZXFfXyBoYXMgc2V0IF9fYmFzZXNfXworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKFgubXlrZXkyLCAnZnJvbSBCYXNlMicpCisKKwogZGVmIHRlc3RfbWFpbigpOgogICAgICMgUnVuIGFsbCBsb2NhbCB0ZXN0IGNhc2VzLCB3aXRoIFBUeXBlc0xvbmdJbml0VGVzdCBmaXJzdC4KICAgICBzdXBwb3J0LnJ1bl91bml0dGVzdChQVHlwZXNMb25nSW5pdFRlc3QsIE9wZXJhdG9yc1Rlc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDbGFzc1Byb3BlcnRpZXNBbmRNZXRob2RzLCBEaWN0UHJveHlUZXN0cykKKyAgICAgICAgICAgICAgICAgICAgICAgICBDbGFzc1Byb3BlcnRpZXNBbmRNZXRob2RzLCBEaWN0UHJveHlUZXN0cywKKyAgICAgICAgICAgICAgICAgICAgICAgICBNaXNjVGVzdHMpCiAKIGlmIF9fbmFtZV9fID09ICJfX21haW5fXyI6CiAgICAgdGVzdF9tYWluKCkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfZGVzY3J0dXQucHkgYi9MaWIvdGVzdC90ZXN0X2Rlc2NydHV0LnB5CmluZGV4IDJkYjNkMzMuLmY0OTVlMTggMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfZGVzY3J0dXQucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9kZXNjcnR1dC5weQpAQCAtMTcwLDYgKzE3MCw3IEBACiAgICAgICdfX2NvbnRhaW5zX18nLAogICAgICAnX19kZWxhdHRyX18nLAogICAgICAnX19kZWxpdGVtX18nLAorICAgICAnX19kaXJfXycsCiAgICAgICdfX2RvY19fJywKICAgICAgJ19fZXFfXycsCiAgICAgICdfX2Zvcm1hdF9fJywKQEAgLTE5OSw2ICsyMDAsOCBAQAogICAgICAnX19zdHJfXycsCiAgICAgICdfX3N1YmNsYXNzaG9va19fJywKICAgICAgJ2FwcGVuZCcsCisgICAgICdjbGVhcicsCisgICAgICdjb3B5JywKICAgICAgJ2NvdW50JywKICAgICAgJ2V4dGVuZCcsCiAgICAgICdpbmRleCcsCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2RldnBvbGwucHkgYi9MaWIvdGVzdC90ZXN0X2RldnBvbGwucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmVmNGUxOAotLS0gL2Rldi9udWxsCisrKyBiL0xpYi90ZXN0L3Rlc3RfZGV2cG9sbC5weQpAQCAtMCwwICsxLDk0IEBACisjIFRlc3QgY2FzZSBmb3IgdGhlIHNlbGVjdC5kZXZwb2xsKCkgZnVuY3Rpb24KKworIyBJbml0aWFsIHRlc3RzIGFyZSBjb3BpZWQgYXMgaXMgZnJvbSAidGVzdF9wb2xsLnB5IgorCitpbXBvcnQgb3MsIHNlbGVjdCwgcmFuZG9tLCB1bml0dGVzdCwgc3lzCitmcm9tIHRlc3Quc3VwcG9ydCBpbXBvcnQgVEVTVEZOLCBydW5fdW5pdHRlc3QKKwordHJ5OgorICAgIHNlbGVjdC5kZXZwb2xsCitleGNlcHQgQXR0cmlidXRlRXJyb3I6CisgICAgcmFpc2UgdW5pdHRlc3QuU2tpcFRlc3QoInNlbGVjdC5kZXZwb2xsIG5vdCBkZWZpbmVkIC0tIHNraXBwaW5nIHRlc3RfZGV2cG9sbCIpCisKKworZGVmIGZpbmRfcmVhZHlfbWF0Y2hpbmcocmVhZHksIGZsYWcpOgorICAgIG1hdGNoID0gW10KKyAgICBmb3IgZmQsIG1vZGUgaW4gcmVhZHk6CisgICAgICAgIGlmIG1vZGUgJiBmbGFnOgorICAgICAgICAgICAgbWF0Y2guYXBwZW5kKGZkKQorICAgIHJldHVybiBtYXRjaAorCitjbGFzcyBEZXZQb2xsVGVzdHModW5pdHRlc3QuVGVzdENhc2UpOgorCisgICAgZGVmIHRlc3RfZGV2cG9sbDEoc2VsZik6CisgICAgICAgICMgQmFzaWMgZnVuY3Rpb25hbCB0ZXN0IG9mIHBvbGwgb2JqZWN0CisgICAgICAgICMgQ3JlYXRlIGEgYnVuY2ggb2YgcGlwZSBhbmQgdGVzdCB0aGF0IHBvbGwgd29ya3Mgd2l0aCB0aGVtLgorCisgICAgICAgIHAgPSBzZWxlY3QuZGV2cG9sbCgpCisKKyAgICAgICAgTlVNX1BJUEVTID0gMTIKKyAgICAgICAgTVNHID0gYiIgVGhpcyBpcyBhIHRlc3QuIgorICAgICAgICBNU0dfTEVOID0gbGVuKE1TRykKKyAgICAgICAgcmVhZGVycyA9IFtdCisgICAgICAgIHdyaXRlcnMgPSBbXQorICAgICAgICByMncgPSB7fQorICAgICAgICB3MnIgPSB7fQorCisgICAgICAgIGZvciBpIGluIHJhbmdlKE5VTV9QSVBFUyk6CisgICAgICAgICAgICByZCwgd3IgPSBvcy5waXBlKCkKKyAgICAgICAgICAgIHAucmVnaXN0ZXIocmQpCisgICAgICAgICAgICBwLm1vZGlmeShyZCwgc2VsZWN0LlBPTExJTikKKyAgICAgICAgICAgIHAucmVnaXN0ZXIod3IsIHNlbGVjdC5QT0xMT1VUKQorICAgICAgICAgICAgcmVhZGVycy5hcHBlbmQocmQpCisgICAgICAgICAgICB3cml0ZXJzLmFwcGVuZCh3cikKKyAgICAgICAgICAgIHIyd1tyZF0gPSB3cgorICAgICAgICAgICAgdzJyW3dyXSA9IHJkCisKKyAgICAgICAgYnVmcyA9IFtdCisKKyAgICAgICAgd2hpbGUgd3JpdGVyczoKKyAgICAgICAgICAgIHJlYWR5ID0gcC5wb2xsKCkKKyAgICAgICAgICAgIHJlYWR5X3dyaXRlcnMgPSBmaW5kX3JlYWR5X21hdGNoaW5nKHJlYWR5LCBzZWxlY3QuUE9MTE9VVCkKKyAgICAgICAgICAgIGlmIG5vdCByZWFkeV93cml0ZXJzOgorICAgICAgICAgICAgICAgIHNlbGYuZmFpbCgibm8gcGlwZXMgcmVhZHkgZm9yIHdyaXRpbmciKQorICAgICAgICAgICAgd3IgPSByYW5kb20uY2hvaWNlKHJlYWR5X3dyaXRlcnMpCisgICAgICAgICAgICBvcy53cml0ZSh3ciwgTVNHKQorCisgICAgICAgICAgICByZWFkeSA9IHAucG9sbCgpCisgICAgICAgICAgICByZWFkeV9yZWFkZXJzID0gZmluZF9yZWFkeV9tYXRjaGluZyhyZWFkeSwgc2VsZWN0LlBPTExJTikKKyAgICAgICAgICAgIGlmIG5vdCByZWFkeV9yZWFkZXJzOgorICAgICAgICAgICAgICAgIHNlbGYuZmFpbCgibm8gcGlwZXMgcmVhZHkgZm9yIHJlYWRpbmciKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChbdzJyW3dyXV0sIHJlYWR5X3JlYWRlcnMpCisgICAgICAgICAgICByZCA9IHJlYWR5X3JlYWRlcnNbMF0KKyAgICAgICAgICAgIGJ1ZiA9IG9zLnJlYWQocmQsIE1TR19MRU4pCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihidWYpLCBNU0dfTEVOKQorICAgICAgICAgICAgYnVmcy5hcHBlbmQoYnVmKQorICAgICAgICAgICAgb3MuY2xvc2UocjJ3W3JkXSkgOyBvcy5jbG9zZShyZCkKKyAgICAgICAgICAgIHAudW5yZWdpc3RlcihyMndbcmRdKQorICAgICAgICAgICAgcC51bnJlZ2lzdGVyKHJkKQorICAgICAgICAgICAgd3JpdGVycy5yZW1vdmUocjJ3W3JkXSkKKworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJ1ZnMsIFtNU0ddICogTlVNX1BJUEVTKQorCisgICAgZGVmIHRlc3RfdGltZW91dF9vdmVyZmxvdyhzZWxmKToKKyAgICAgICAgcG9sbHN0ZXIgPSBzZWxlY3QuZGV2cG9sbCgpCisgICAgICAgIHcsIHIgPSBvcy5waXBlKCkKKyAgICAgICAgcG9sbHN0ZXIucmVnaXN0ZXIodykKKworICAgICAgICBwb2xsc3Rlci5wb2xsKC0xKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhPdmVyZmxvd0Vycm9yLCBwb2xsc3Rlci5wb2xsLCAtMikKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoT3ZlcmZsb3dFcnJvciwgcG9sbHN0ZXIucG9sbCwgLTEgPDwgMzEpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE92ZXJmbG93RXJyb3IsIHBvbGxzdGVyLnBvbGwsIC0xIDw8IDY0KQorCisgICAgICAgIHBvbGxzdGVyLnBvbGwoMCkKKyAgICAgICAgcG9sbHN0ZXIucG9sbCgxKQorICAgICAgICBwb2xsc3Rlci5wb2xsKDEgPDwgMzApCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE92ZXJmbG93RXJyb3IsIHBvbGxzdGVyLnBvbGwsIDEgPDwgMzEpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE92ZXJmbG93RXJyb3IsIHBvbGxzdGVyLnBvbGwsIDEgPDwgNjMpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE92ZXJmbG93RXJyb3IsIHBvbGxzdGVyLnBvbGwsIDEgPDwgNjQpCisKK2RlZiB0ZXN0X21haW4oKToKKyAgICBydW5fdW5pdHRlc3QoRGV2UG9sbFRlc3RzKQorCitpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgorICAgIHRlc3RfbWFpbigpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2RpY3QucHkgYi9MaWIvdGVzdC90ZXN0X2RpY3QucHkKaW5kZXggZDI3NDBhMy4uMzg3ZGQzMiAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9kaWN0LnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfZGljdC5weQpAQCAtMzc5LDcgKzM3OSw3IEBACiAgICAgICAgIHguZmFpbCA9IFRydWUKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoRXhjLCBkLnBvcCwgeCkKIAotICAgIGRlZiB0ZXN0X211dGF0aW5naXRlcmF0aW9uKHNlbGYpOgorICAgIGRlZiB0ZXN0X211dGF0aW5nX2l0ZXJhdGlvbihzZWxmKToKICAgICAgICAgIyBjaGFuZ2luZyBkaWN0IHNpemUgZHVyaW5nIGl0ZXJhdGlvbgogICAgICAgICBkID0ge30KICAgICAgICAgZFsxXSA9IDEKQEAgLTM4Nyw2ICszODcsMzMgQEAKICAgICAgICAgICAgIGZvciBpIGluIGQ6CiAgICAgICAgICAgICAgICAgZFtpKzFdID0gMQogCisgICAgZGVmIHRlc3RfbXV0YXRpbmdfbG9va3VwKHNlbGYpOgorICAgICAgICAjIGNoYW5naW5nIGRpY3QgZHVyaW5nIGEgbG9va3VwCisgICAgICAgIGNsYXNzIE5hc3R5S2V5OgorICAgICAgICAgICAgbXV0YXRlX2RpY3QgPSBOb25lCisKKyAgICAgICAgICAgIGRlZiBfX2luaXRfXyhzZWxmLCB2YWx1ZSk6CisgICAgICAgICAgICAgICAgc2VsZi52YWx1ZSA9IHZhbHVlCisKKyAgICAgICAgICAgIGRlZiBfX2hhc2hfXyhzZWxmKToKKyAgICAgICAgICAgICAgICAjIGhhc2ggY29sbGlzaW9uIQorICAgICAgICAgICAgICAgIHJldHVybiAxCisKKyAgICAgICAgICAgIGRlZiBfX2VxX18oc2VsZiwgb3RoZXIpOgorICAgICAgICAgICAgICAgIGlmIE5hc3R5S2V5Lm11dGF0ZV9kaWN0OgorICAgICAgICAgICAgICAgICAgICBteWRpY3QsIGtleSA9IE5hc3R5S2V5Lm11dGF0ZV9kaWN0CisgICAgICAgICAgICAgICAgICAgIE5hc3R5S2V5Lm11dGF0ZV9kaWN0ID0gTm9uZQorICAgICAgICAgICAgICAgICAgICBkZWwgbXlkaWN0W2tleV0KKyAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi52YWx1ZSA9PSBvdGhlci52YWx1ZQorCisgICAgICAgIGtleTEgPSBOYXN0eUtleSgxKQorICAgICAgICBrZXkyID0gTmFzdHlLZXkoMikKKyAgICAgICAgZCA9IHtrZXkxOiAxfQorICAgICAgICBOYXN0eUtleS5tdXRhdGVfZGljdCA9IChkLCBrZXkxKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoUnVudGltZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2RpY3Rpb25hcnkgY2hhbmdlZCBzaXplIGR1cmluZyBsb29rdXAnKToKKyAgICAgICAgICAgIGRba2V5Ml0gPSAyCisKICAgICBkZWYgdGVzdF9yZXByKHNlbGYpOgogICAgICAgICBkID0ge30KICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXByKGQpLCAne30nKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9kaXMucHkgYi9MaWIvdGVzdC90ZXN0X2Rpcy5weQppbmRleCA1YzU5ZWFhLi4xNTA2ZmU5IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2Rpcy5weQorKysgYi9MaWIvdGVzdC90ZXN0X2Rpcy5weQpAQCAtMSwxMSArMSwzNSBAQAogIyBNaW5pbWFsIHRlc3RzIGZvciBkaXMgbW9kdWxlCiAKIGZyb20gdGVzdC5zdXBwb3J0IGltcG9ydCBydW5fdW5pdHRlc3QsIGNhcHR1cmVkX3N0ZG91dAoraW1wb3J0IGRpZmZsaWIKIGltcG9ydCB1bml0dGVzdAogaW1wb3J0IHN5cwogaW1wb3J0IGRpcwogaW1wb3J0IGlvCiAKK2NsYXNzIF9DOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCB4KToKKyAgICAgICAgc2VsZi54ID0geCA9PSAxCisKK2Rpc19jX2luc3RhbmNlX21ldGhvZCA9ICIiIlwKKyAlLTRkICAgICAgICAgMCBMT0FEX0ZBU1QgICAgICAgICAgICAgICAgMSAoeCkKKyAgICAgICAgICAgICAgMyBMT0FEX0NPTlNUICAgICAgICAgICAgICAgMSAoMSkKKyAgICAgICAgICAgICAgNiBDT01QQVJFX09QICAgICAgICAgICAgICAgMiAoPT0pCisgICAgICAgICAgICAgIDkgTE9BRF9GQVNUICAgICAgICAgICAgICAgIDAgKHNlbGYpCisgICAgICAgICAgICAgMTIgU1RPUkVfQVRUUiAgICAgICAgICAgICAgIDAgKHgpCisgICAgICAgICAgICAgMTUgTE9BRF9DT05TVCAgICAgICAgICAgICAgIDAgKE5vbmUpCisgICAgICAgICAgICAgMTggUkVUVVJOX1ZBTFVFCisiIiIgJSAoX0MuX19pbml0X18uX19jb2RlX18uY29fZmlyc3RsaW5lbm8gKyAxLCkKKworZGlzX2NfaW5zdGFuY2VfbWV0aG9kX2J5dGVzID0gIiIiXAorICAgICAgICAgIDAgTE9BRF9GQVNUICAgICAgICAgICAxICgxKQorICAgICAgICAgIDMgTE9BRF9DT05TVCAgICAgICAgICAxICgxKQorICAgICAgICAgIDYgQ09NUEFSRV9PUCAgICAgICAgICAyICg9PSkKKyAgICAgICAgICA5IExPQURfRkFTVCAgICAgICAgICAgMCAoMCkKKyAgICAgICAgIDEyIFNUT1JFX0FUVFIgICAgICAgICAgMCAoMCkKKyAgICAgICAgIDE1IExPQURfQ09OU1QgICAgICAgICAgMCAoMCkKKyAgICAgICAgIDE4IFJFVFVSTl9WQUxVRQorIiIiCiAKIGRlZiBfZihhKToKICAgICBwcmludChhKQpAQCAtMjMsNiArNDcsMTYgQEAKICAgICAgICBfZi5fX2NvZGVfXy5jb19maXJzdGxpbmVubyArIDIpCiAKIAorZGlzX2ZfY29fY29kZSA9ICIiIlwKKyAgICAgICAgICAwIExPQURfR0xPQkFMICAgICAgICAgMCAoMCkKKyAgICAgICAgICAzIExPQURfRkFTVCAgICAgICAgICAgMCAoMCkKKyAgICAgICAgICA2IENBTExfRlVOQ1RJT04gICAgICAgMQorICAgICAgICAgIDkgUE9QX1RPUAorICAgICAgICAgMTAgTE9BRF9DT05TVCAgICAgICAgICAxICgxKQorICAgICAgICAgMTMgUkVUVVJOX1ZBTFVFCisiIiIKKworCiBkZWYgYnVnNzA4OTAxKCk6CiAgICAgZm9yIHJlcyBpbiByYW5nZSgxLAogICAgICAgICAgICAgICAgICAgICAgMTApOgpAQCAtMTM4LDE4ICsxNzIsMjcgQEAKICIiIgogCiBjbGFzcyBEaXNUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6Ci0gICAgZGVmIGRvX2Rpc2Fzc2VtYmx5X3Rlc3Qoc2VsZiwgZnVuYywgZXhwZWN0ZWQpOgorCisgICAgZGVmIGdldF9kaXNhc3NlbWJseShzZWxmLCBmdW5jLCBsYXN0aT0tMSwgd3JhcHBlcj1UcnVlKToKICAgICAgICAgcyA9IGlvLlN0cmluZ0lPKCkKICAgICAgICAgc2F2ZV9zdGRvdXQgPSBzeXMuc3Rkb3V0CiAgICAgICAgIHN5cy5zdGRvdXQgPSBzCi0gICAgICAgIGRpcy5kaXMoZnVuYykKLSAgICAgICAgc3lzLnN0ZG91dCA9IHNhdmVfc3Rkb3V0Ci0gICAgICAgIGdvdCA9IHMuZ2V0dmFsdWUoKQorICAgICAgICB0cnk6CisgICAgICAgICAgICBpZiB3cmFwcGVyOgorICAgICAgICAgICAgICAgIGRpcy5kaXMoZnVuYykKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgZGlzLmRpc2Fzc2VtYmxlKGZ1bmMsIGxhc3RpKQorICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgc3lzLnN0ZG91dCA9IHNhdmVfc3Rkb3V0CiAgICAgICAgICMgVHJpbSB0cmFpbGluZyBibGFua3MgKGlmIGFueSkuCi0gICAgICAgIGxpbmVzID0gZ290LnNwbGl0KCdcbicpCi0gICAgICAgIGxpbmVzID0gW2xpbmUucnN0cmlwKCkgZm9yIGxpbmUgaW4gbGluZXNdCi0gICAgICAgIGV4cGVjdGVkID0gZXhwZWN0ZWQuc3BsaXQoIlxuIikKLSAgICAgICAgaW1wb3J0IGRpZmZsaWIKKyAgICAgICAgcmV0dXJuIFtsaW5lLnJzdHJpcCgpIGZvciBsaW5lIGluIHMuZ2V0dmFsdWUoKS5zcGxpdGxpbmVzKCldCisKKyAgICBkZWYgZ2V0X2Rpc2Fzc2VtYmxlX2FzX3N0cmluZyhzZWxmLCBmdW5jLCBsYXN0aT0tMSk6CisgICAgICAgIHJldHVybiAnXG4nLmpvaW4oc2VsZi5nZXRfZGlzYXNzZW1ibHkoZnVuYywgbGFzdGksIEZhbHNlKSkKKworICAgIGRlZiBkb19kaXNhc3NlbWJseV90ZXN0KHNlbGYsIGZ1bmMsIGV4cGVjdGVkKToKKyAgICAgICAgbGluZXMgPSBzZWxmLmdldF9kaXNhc3NlbWJseShmdW5jKQorICAgICAgICBleHBlY3RlZCA9IGV4cGVjdGVkLnNwbGl0bGluZXMoKQogICAgICAgICBpZiBleHBlY3RlZCAhPSBsaW5lczoKICAgICAgICAgICAgIHNlbGYuZmFpbCgKICAgICAgICAgICAgICAgICAiZXZlbnRzIGRpZCBub3QgbWF0Y2ggZXhwZWN0YXRpb246XG4iICsKQEAgLTE1Nyw3ICsyMDAsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVzKSkpCiAKICAgICBkZWYgdGVzdF9vcG1hcChzZWxmKToKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkaXMub3BtYXBbIlNUT1BfQ09ERSJdLCAwKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRpcy5vcG1hcFsiTk9QIl0sIDkpCiAgICAgICAgIHNlbGYuYXNzZXJ0SW4oZGlzLm9wbWFwWyJMT0FEX0NPTlNUIl0sIGRpcy5oYXNjb25zdCkKICAgICAgICAgc2VsZi5hc3NlcnRJbihkaXMub3BtYXBbIlNUT1JFX05BTUUiXSwgZGlzLmhhc25hbWUpCiAKQEAgLTIxMSw2ICsyNTQsNDQgQEAKICAgICAgICAgc2VsZi5kb19kaXNhc3NlbWJseV90ZXN0KHNpbXBsZV9zdG10X3N0ciwgZGlzX3NpbXBsZV9zdG10X3N0cikKICAgICAgICAgc2VsZi5kb19kaXNhc3NlbWJseV90ZXN0KGNvbXBvdW5kX3N0bXRfc3RyLCBkaXNfY29tcG91bmRfc3RtdF9zdHIpCiAKKyAgICBkZWYgdGVzdF9kaXNhc3NlbWJsZV9ieXRlcyhzZWxmKToKKyAgICAgICAgc2VsZi5kb19kaXNhc3NlbWJseV90ZXN0KF9mLl9fY29kZV9fLmNvX2NvZGUsIGRpc19mX2NvX2NvZGUpCisKKyAgICBkZWYgdGVzdF9kaXNhc3NlbWJsZV9tZXRob2Qoc2VsZik6CisgICAgICAgIHNlbGYuZG9fZGlzYXNzZW1ibHlfdGVzdChfQygxKS5fX2luaXRfXywgZGlzX2NfaW5zdGFuY2VfbWV0aG9kKQorCisgICAgZGVmIHRlc3RfZGlzYXNzZW1ibGVfbWV0aG9kX2J5dGVzKHNlbGYpOgorICAgICAgICBtZXRob2RfYnl0ZWNvZGUgPSBfQygxKS5fX2luaXRfXy5fX2NvZGVfXy5jb19jb2RlCisgICAgICAgIHNlbGYuZG9fZGlzYXNzZW1ibHlfdGVzdChtZXRob2RfYnl0ZWNvZGUsIGRpc19jX2luc3RhbmNlX21ldGhvZF9ieXRlcykKKworICAgIGRlZiB0ZXN0X2Rpc19ub25lKHNlbGYpOgorICAgICAgICB0cnk6CisgICAgICAgICAgICBkZWwgc3lzLmxhc3RfdHJhY2ViYWNrCisgICAgICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKKyAgICAgICAgICAgIHBhc3MKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoUnVudGltZUVycm9yLCBkaXMuZGlzLCBOb25lKQorCisgICAgZGVmIHRlc3RfZGlzX29iamVjdChzZWxmKToKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBkaXMuZGlzLCBvYmplY3QoKSkKKworICAgIGRlZiB0ZXN0X2Rpc190cmFjZWJhY2soc2VsZik6CisgICAgICAgIHRyeToKKyAgICAgICAgICAgIGRlbCBzeXMubGFzdF90cmFjZWJhY2sKKyAgICAgICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yOgorICAgICAgICAgICAgcGFzcworCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIDEvMAorICAgICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CisgICAgICAgICAgICB0YiA9IGUuX190cmFjZWJhY2tfXworICAgICAgICAgICAgc3lzLmxhc3RfdHJhY2ViYWNrID0gdGIKKworICAgICAgICB0Yl9kaXMgPSBzZWxmLmdldF9kaXNhc3NlbWJsZV9hc19zdHJpbmcodGIudGJfZnJhbWUuZl9jb2RlLCB0Yi50Yl9sYXN0aSkKKyAgICAgICAgc2VsZi5kb19kaXNhc3NlbWJseV90ZXN0KE5vbmUsIHRiX2RpcykKKworICAgIGRlZiB0ZXN0X2Rpc19vYmplY3Qoc2VsZik6CisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgZGlzLmRpcywgb2JqZWN0KCkpCisKIGNvZGVfaW5mb19jb2RlX2luZm8gPSAiIiJcCiBOYW1lOiAgICAgICAgICAgICAgY29kZV9pbmZvCiBGaWxlbmFtZTogICAgICAgICAgKC4qKQpAQCAtMjU4LDYgKzMzOSw3IEBACiBDb25zdGFudHM6CiAgICAwOiBOb25lCiAgICAxOiA8Y29kZSBvYmplY3QgZiBhdCAoLiopLCBmaWxlICIoLiopIiwgbGluZSAoLiopPgorICAgMjogJ3RyaWNreS48bG9jYWxzPi5mJwogVmFyaWFibGUgbmFtZXM6CiAgICAwOiB4CiAgICAxOiB5CkBAIC0zNjQsNiArNDQ2LDEzIEBACiAgICAgICAgICAgICAgICAgZGlzLnNob3dfY29kZSh4KQogICAgICAgICAgICAgc2VsZi5hc3NlcnRSZWdleChvdXRwdXQuZ2V0dmFsdWUoKSwgZXhwZWN0ZWQrIlxuIikKIAorICAgIGRlZiB0ZXN0X2NvZGVfaW5mb19vYmplY3Qoc2VsZik6CisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgZGlzLmNvZGVfaW5mbywgb2JqZWN0KCkpCisKKyAgICBkZWYgdGVzdF9wcmV0dHlfZmxhZ3Nfbm9fZmxhZ3Moc2VsZik6CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGlzLnByZXR0eV9mbGFncygwKSwgJzB4MCcpCisKKwogZGVmIHRlc3RfbWFpbigpOgogICAgIHJ1bl91bml0dGVzdChEaXNUZXN0cywgQ29kZUluZm9UZXN0cykKIApkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9kb2N0ZXN0LnB5IGIvTGliL3Rlc3QvdGVzdF9kb2N0ZXN0LnB5CmluZGV4IDU5NjljZTIuLmNkY2QzODkgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfZG9jdGVzdC5weQorKysgYi9MaWIvdGVzdC90ZXN0X2RvY3Rlc3QucHkKQEAgLTUsNiArNSw3IEBACiBmcm9tIHRlc3QgaW1wb3J0IHN1cHBvcnQKIGltcG9ydCBkb2N0ZXN0CiBpbXBvcnQgb3MKK2ltcG9ydCBzeXMKIAogCiAjIE5PVEU6IFRoZXJlIGFyZSBzb21lIGFkZGl0aW9uYWwgdGVzdHMgcmVsYXRpbmcgdG8gaW50ZXJhY3Rpb24gd2l0aApAQCAtNDMyLDcgKzQzMyw3IEBACiAgICAgPj4+IHRlc3RzID0gZmluZGVyLmZpbmQoc2FtcGxlX2Z1bmMpCiAKICAgICA+Pj4gcHJpbnQodGVzdHMpICAjIGRvY3Rlc3Q6ICtFTExJUFNJUwotICAgIFs8RG9jVGVzdCBzYW1wbGVfZnVuYyBmcm9tIC4uLjoxNyAoMSBleGFtcGxlKT5dCisgICAgWzxEb2NUZXN0IHNhbXBsZV9mdW5jIGZyb20gLi4uOjE4ICgxIGV4YW1wbGUpPl0KIAogVGhlIGV4YWN0IG5hbWUgZGVwZW5kcyBvbiBob3cgdGVzdF9kb2N0ZXN0IHdhcyBpbnZva2VkLCBzbyBhbGxvdyBmb3IKIGxlYWRpbmcgcGF0aCBjb21wb25lbnRzLgpAQCAtMTc0NSwyMjYgKzE3NDYsMjI3IEBACiAKICIiIgogCi1kZWYgdGVzdF9wZGJfc2V0X3RyYWNlKCk6Ci0gICAgIiIiVXNpbmcgcGRiLnNldF90cmFjZSBmcm9tIGEgZG9jdGVzdC4KK2lmIG5vdCBoYXNhdHRyKHN5cywgJ2dldHRyYWNlJykgb3Igbm90IHN5cy5nZXR0cmFjZSgpOgorICAgIGRlZiB0ZXN0X3BkYl9zZXRfdHJhY2UoKToKKyAgICAgICAgIiIiVXNpbmcgcGRiLnNldF90cmFjZSBmcm9tIGEgZG9jdGVzdC4KIAotICAgIFlvdSBjYW4gdXNlIHBkYi5zZXRfdHJhY2UgZnJvbSBhIGRvY3Rlc3QuICBUbyBkbyBzbywgeW91IG11c3QKLSAgICByZXRyaWV2ZSB0aGUgc2V0X3RyYWNlIGZ1bmN0aW9uIGZyb20gdGhlIHBkYiBtb2R1bGUgYXQgdGhlIHRpbWUKLSAgICB5b3UgdXNlIGl0LiAgVGhlIGRvY3Rlc3QgbW9kdWxlIGNoYW5nZXMgc3lzLnN0ZG91dCBzbyB0aGF0IGl0IGNhbgotICAgIGNhcHR1cmUgcHJvZ3JhbSBvdXRwdXQuICBJdCBhbHNvIHRlbXBvcmFyaWx5IHJlcGxhY2VzIHBkYi5zZXRfdHJhY2UKLSAgICB3aXRoIGEgdmVyc2lvbiB0aGF0IHJlc3RvcmVzIHN0ZG91dC4gIFRoaXMgaXMgbmVjZXNzYXJ5IGZvciB5b3UgdG8KLSAgICBzZWUgZGVidWdnZXIgb3V0cHV0LgorICAgICAgICBZb3UgY2FuIHVzZSBwZGIuc2V0X3RyYWNlIGZyb20gYSBkb2N0ZXN0LiAgVG8gZG8gc28sIHlvdSBtdXN0CisgICAgICAgIHJldHJpZXZlIHRoZSBzZXRfdHJhY2UgZnVuY3Rpb24gZnJvbSB0aGUgcGRiIG1vZHVsZSBhdCB0aGUgdGltZQorICAgICAgICB5b3UgdXNlIGl0LiAgVGhlIGRvY3Rlc3QgbW9kdWxlIGNoYW5nZXMgc3lzLnN0ZG91dCBzbyB0aGF0IGl0IGNhbgorICAgICAgICBjYXB0dXJlIHByb2dyYW0gb3V0cHV0LiAgSXQgYWxzbyB0ZW1wb3JhcmlseSByZXBsYWNlcyBwZGIuc2V0X3RyYWNlCisgICAgICAgIHdpdGggYSB2ZXJzaW9uIHRoYXQgcmVzdG9yZXMgc3Rkb3V0LiAgVGhpcyBpcyBuZWNlc3NhcnkgZm9yIHlvdSB0bworICAgICAgICBzZWUgZGVidWdnZXIgb3V0cHV0LgogCi0gICAgICA+Pj4gZG9jID0gJycnCi0gICAgICAuLi4gPj4+IHggPSA0MgotICAgICAgLi4uID4+PiByYWlzZSBFeGNlcHRpb24oJ2Nsw6knKQotICAgICAgLi4uIFRyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KToKLSAgICAgIC4uLiBFeGNlcHRpb246IGNsw6kKLSAgICAgIC4uLiA+Pj4gaW1wb3J0IHBkYjsgcGRiLnNldF90cmFjZSgpCi0gICAgICAuLi4gJycnCi0gICAgICA+Pj4gcGFyc2VyID0gZG9jdGVzdC5Eb2NUZXN0UGFyc2VyKCkKLSAgICAgID4+PiB0ZXN0ID0gcGFyc2VyLmdldF9kb2N0ZXN0KGRvYywge30sICJmb28tYmFyQGJheiIsICJmb28tYmFyQGJhei5weSIsIDApCi0gICAgICA+Pj4gcnVubmVyID0gZG9jdGVzdC5Eb2NUZXN0UnVubmVyKHZlcmJvc2U9RmFsc2UpCisgICAgICAgICAgPj4+IGRvYyA9ICcnJworICAgICAgICAgIC4uLiA+Pj4geCA9IDQyCisgICAgICAgICAgLi4uID4+PiByYWlzZSBFeGNlcHRpb24oJ2Nsw6knKQorICAgICAgICAgIC4uLiBUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CisgICAgICAgICAgLi4uIEV4Y2VwdGlvbjogY2zDqQorICAgICAgICAgIC4uLiA+Pj4gaW1wb3J0IHBkYjsgcGRiLnNldF90cmFjZSgpCisgICAgICAgICAgLi4uICcnJworICAgICAgICAgID4+PiBwYXJzZXIgPSBkb2N0ZXN0LkRvY1Rlc3RQYXJzZXIoKQorICAgICAgICAgID4+PiB0ZXN0ID0gcGFyc2VyLmdldF9kb2N0ZXN0KGRvYywge30sICJmb28tYmFyQGJheiIsICJmb28tYmFyQGJhei5weSIsIDApCisgICAgICAgICAgPj4+IHJ1bm5lciA9IGRvY3Rlc3QuRG9jVGVzdFJ1bm5lcih2ZXJib3NlPUZhbHNlKQogCi0gICAgVG8gZGVtb25zdHJhdGUgdGhpcywgd2UnbGwgY3JlYXRlIGEgZmFrZSBzdGFuZGFyZCBpbnB1dCB0aGF0Ci0gICAgY2FwdHVyZXMgb3VyIGRlYnVnZ2VyIGlucHV0OgorICAgICAgICBUbyBkZW1vbnN0cmF0ZSB0aGlzLCB3ZSdsbCBjcmVhdGUgYSBmYWtlIHN0YW5kYXJkIGlucHV0IHRoYXQKKyAgICAgICAgY2FwdHVyZXMgb3VyIGRlYnVnZ2VyIGlucHV0OgogCi0gICAgICA+Pj4gaW1wb3J0IHRlbXBmaWxlCi0gICAgICA+Pj4gcmVhbF9zdGRpbiA9IHN5cy5zdGRpbgotICAgICAgPj4+IHN5cy5zdGRpbiA9IF9GYWtlSW5wdXQoWwotICAgICAgLi4uICAgICdwcmludCh4KScsICAjIHByaW50IGRhdGEgZGVmaW5lZCBieSB0aGUgZXhhbXBsZQotICAgICAgLi4uICAgICdjb250aW51ZScsICMgc3RvcCBkZWJ1Z2dpbmcKLSAgICAgIC4uLiAgICAnJ10pCisgICAgICAgICAgPj4+IGltcG9ydCB0ZW1wZmlsZQorICAgICAgICAgID4+PiByZWFsX3N0ZGluID0gc3lzLnN0ZGluCisgICAgICAgICAgPj4+IHN5cy5zdGRpbiA9IF9GYWtlSW5wdXQoWworICAgICAgICAgIC4uLiAgICAncHJpbnQoeCknLCAgIyBwcmludCBkYXRhIGRlZmluZWQgYnkgdGhlIGV4YW1wbGUKKyAgICAgICAgICAuLi4gICAgJ2NvbnRpbnVlJywgIyBzdG9wIGRlYnVnZ2luZworICAgICAgICAgIC4uLiAgICAnJ10pCiAKLSAgICAgID4+PiB0cnk6IHJ1bm5lci5ydW4odGVzdCkKLSAgICAgIC4uLiBmaW5hbGx5OiBzeXMuc3RkaW4gPSByZWFsX3N0ZGluCi0gICAgICAtLVJldHVybi0tCi0gICAgICA+IDxkb2N0ZXN0IGZvby1iYXJAYmF6WzJdPigxKTxtb2R1bGU+KCktPk5vbmUKLSAgICAgIC0+IGltcG9ydCBwZGI7IHBkYi5zZXRfdHJhY2UoKQotICAgICAgKFBkYikgcHJpbnQoeCkKLSAgICAgIDQyCi0gICAgICAoUGRiKSBjb250aW51ZQotICAgICAgVGVzdFJlc3VsdHMoZmFpbGVkPTAsIGF0dGVtcHRlZD0zKQorICAgICAgICAgID4+PiB0cnk6IHJ1bm5lci5ydW4odGVzdCkKKyAgICAgICAgICAuLi4gZmluYWxseTogc3lzLnN0ZGluID0gcmVhbF9zdGRpbgorICAgICAgICAgIC0tUmV0dXJuLS0KKyAgICAgICAgICA+IDxkb2N0ZXN0IGZvby1iYXJAYmF6WzJdPigxKTxtb2R1bGU+KCktPk5vbmUKKyAgICAgICAgICAtPiBpbXBvcnQgcGRiOyBwZGIuc2V0X3RyYWNlKCkKKyAgICAgICAgICAoUGRiKSBwcmludCh4KQorICAgICAgICAgIDQyCisgICAgICAgICAgKFBkYikgY29udGludWUKKyAgICAgICAgICBUZXN0UmVzdWx0cyhmYWlsZWQ9MCwgYXR0ZW1wdGVkPTMpCiAKLSAgICAgIFlvdSBjYW4gYWxzbyBwdXQgcGRiLnNldF90cmFjZSBpbiBhIGZ1bmN0aW9uIGNhbGxlZCBmcm9tIGEgdGVzdDoKKyAgICAgICAgICBZb3UgY2FuIGFsc28gcHV0IHBkYi5zZXRfdHJhY2UgaW4gYSBmdW5jdGlvbiBjYWxsZWQgZnJvbSBhIHRlc3Q6CiAKLSAgICAgID4+PiBkZWYgY2FsbHNfc2V0X3RyYWNlKCk6Ci0gICAgICAuLi4gICAgeT0yCi0gICAgICAuLi4gICAgaW1wb3J0IHBkYjsgcGRiLnNldF90cmFjZSgpCisgICAgICAgICAgPj4+IGRlZiBjYWxsc19zZXRfdHJhY2UoKToKKyAgICAgICAgICAuLi4gICAgeT0yCisgICAgICAgICAgLi4uICAgIGltcG9ydCBwZGI7IHBkYi5zZXRfdHJhY2UoKQogCi0gICAgICA+Pj4gZG9jID0gJycnCi0gICAgICAuLi4gPj4+IHg9MQotICAgICAgLi4uID4+PiBjYWxsc19zZXRfdHJhY2UoKQotICAgICAgLi4uICcnJwotICAgICAgPj4+IHRlc3QgPSBwYXJzZXIuZ2V0X2RvY3Rlc3QoZG9jLCBnbG9iYWxzKCksICJmb28tYmFyQGJheiIsICJmb28tYmFyQGJhei5weSIsIDApCi0gICAgICA+Pj4gcmVhbF9zdGRpbiA9IHN5cy5zdGRpbgotICAgICAgPj4+IHN5cy5zdGRpbiA9IF9GYWtlSW5wdXQoWwotICAgICAgLi4uICAgICdwcmludCh5KScsICAjIHByaW50IGRhdGEgZGVmaW5lZCBpbiB0aGUgZnVuY3Rpb24KLSAgICAgIC4uLiAgICAndXAnLCAgICAgICAjIG91dCBvZiBmdW5jdGlvbgotICAgICAgLi4uICAgICdwcmludCh4KScsICAjIHByaW50IGRhdGEgZGVmaW5lZCBieSB0aGUgZXhhbXBsZQotICAgICAgLi4uICAgICdjb250aW51ZScsICMgc3RvcCBkZWJ1Z2dpbmcKLSAgICAgIC4uLiAgICAnJ10pCisgICAgICAgICAgPj4+IGRvYyA9ICcnJworICAgICAgICAgIC4uLiA+Pj4geD0xCisgICAgICAgICAgLi4uID4+PiBjYWxsc19zZXRfdHJhY2UoKQorICAgICAgICAgIC4uLiAnJycKKyAgICAgICAgICA+Pj4gdGVzdCA9IHBhcnNlci5nZXRfZG9jdGVzdChkb2MsIGdsb2JhbHMoKSwgImZvby1iYXJAYmF6IiwgImZvby1iYXJAYmF6LnB5IiwgMCkKKyAgICAgICAgICA+Pj4gcmVhbF9zdGRpbiA9IHN5cy5zdGRpbgorICAgICAgICAgID4+PiBzeXMuc3RkaW4gPSBfRmFrZUlucHV0KFsKKyAgICAgICAgICAuLi4gICAgJ3ByaW50KHkpJywgICMgcHJpbnQgZGF0YSBkZWZpbmVkIGluIHRoZSBmdW5jdGlvbgorICAgICAgICAgIC4uLiAgICAndXAnLCAgICAgICAjIG91dCBvZiBmdW5jdGlvbgorICAgICAgICAgIC4uLiAgICAncHJpbnQoeCknLCAgIyBwcmludCBkYXRhIGRlZmluZWQgYnkgdGhlIGV4YW1wbGUKKyAgICAgICAgICAuLi4gICAgJ2NvbnRpbnVlJywgIyBzdG9wIGRlYnVnZ2luZworICAgICAgICAgIC4uLiAgICAnJ10pCiAKLSAgICAgID4+PiB0cnk6Ci0gICAgICAuLi4gICAgIHJ1bm5lci5ydW4odGVzdCkKLSAgICAgIC4uLiBmaW5hbGx5OgotICAgICAgLi4uICAgICBzeXMuc3RkaW4gPSByZWFsX3N0ZGluCi0gICAgICAtLVJldHVybi0tCi0gICAgICA+IDxkb2N0ZXN0IHRlc3QudGVzdF9kb2N0ZXN0LnRlc3RfcGRiX3NldF90cmFjZVs4XT4oMyljYWxsc19zZXRfdHJhY2UoKS0+Tm9uZQotICAgICAgLT4gaW1wb3J0IHBkYjsgcGRiLnNldF90cmFjZSgpCi0gICAgICAoUGRiKSBwcmludCh5KQotICAgICAgMgotICAgICAgKFBkYikgdXAKLSAgICAgID4gPGRvY3Rlc3QgZm9vLWJhckBiYXpbMV0+KDEpPG1vZHVsZT4oKQotICAgICAgLT4gY2FsbHNfc2V0X3RyYWNlKCkKLSAgICAgIChQZGIpIHByaW50KHgpCi0gICAgICAxCi0gICAgICAoUGRiKSBjb250aW51ZQotICAgICAgVGVzdFJlc3VsdHMoZmFpbGVkPTAsIGF0dGVtcHRlZD0yKQorICAgICAgICAgID4+PiB0cnk6CisgICAgICAgICAgLi4uICAgICBydW5uZXIucnVuKHRlc3QpCisgICAgICAgICAgLi4uIGZpbmFsbHk6CisgICAgICAgICAgLi4uICAgICBzeXMuc3RkaW4gPSByZWFsX3N0ZGluCisgICAgICAgICAgLS1SZXR1cm4tLQorICAgICAgICAgID4gPGRvY3Rlc3QgdGVzdC50ZXN0X2RvY3Rlc3QudGVzdF9wZGJfc2V0X3RyYWNlWzhdPigzKWNhbGxzX3NldF90cmFjZSgpLT5Ob25lCisgICAgICAgICAgLT4gaW1wb3J0IHBkYjsgcGRiLnNldF90cmFjZSgpCisgICAgICAgICAgKFBkYikgcHJpbnQoeSkKKyAgICAgICAgICAyCisgICAgICAgICAgKFBkYikgdXAKKyAgICAgICAgICA+IDxkb2N0ZXN0IGZvby1iYXJAYmF6WzFdPigxKTxtb2R1bGU+KCkKKyAgICAgICAgICAtPiBjYWxsc19zZXRfdHJhY2UoKQorICAgICAgICAgIChQZGIpIHByaW50KHgpCisgICAgICAgICAgMQorICAgICAgICAgIChQZGIpIGNvbnRpbnVlCisgICAgICAgICAgVGVzdFJlc3VsdHMoZmFpbGVkPTAsIGF0dGVtcHRlZD0yKQogCi0gICAgRHVyaW5nIGludGVyYWN0aXZlIGRlYnVnZ2luZywgc291cmNlIGNvZGUgaXMgc2hvd24sIGV2ZW4gZm9yCi0gICAgZG9jdGVzdCBleGFtcGxlczoKKyAgICAgICAgRHVyaW5nIGludGVyYWN0aXZlIGRlYnVnZ2luZywgc291cmNlIGNvZGUgaXMgc2hvd24sIGV2ZW4gZm9yCisgICAgICAgIGRvY3Rlc3QgZXhhbXBsZXM6CiAKLSAgICAgID4+PiBkb2MgPSAnJycKLSAgICAgIC4uLiA+Pj4gZGVmIGYoeCk6Ci0gICAgICAuLi4gLi4uICAgICBnKHgqMikKLSAgICAgIC4uLiA+Pj4gZGVmIGcoeCk6Ci0gICAgICAuLi4gLi4uICAgICBwcmludCh4KzMpCi0gICAgICAuLi4gLi4uICAgICBpbXBvcnQgcGRiOyBwZGIuc2V0X3RyYWNlKCkKLSAgICAgIC4uLiA+Pj4gZigzKQotICAgICAgLi4uICcnJwotICAgICAgPj4+IHRlc3QgPSBwYXJzZXIuZ2V0X2RvY3Rlc3QoZG9jLCBnbG9iYWxzKCksICJmb28tYmFyQGJheiIsICJmb28tYmFyQGJhei5weSIsIDApCi0gICAgICA+Pj4gcmVhbF9zdGRpbiA9IHN5cy5zdGRpbgotICAgICAgPj4+IHN5cy5zdGRpbiA9IF9GYWtlSW5wdXQoWwotICAgICAgLi4uICAgICdsaXN0JywgICAgICMgbGlzdCBzb3VyY2UgZnJvbSBleGFtcGxlIDIKLSAgICAgIC4uLiAgICAnbmV4dCcsICAgICAjIHJldHVybiBmcm9tIGcoKQotICAgICAgLi4uICAgICdsaXN0JywgICAgICMgbGlzdCBzb3VyY2UgZnJvbSBleGFtcGxlIDEKLSAgICAgIC4uLiAgICAnbmV4dCcsICAgICAjIHJldHVybiBmcm9tIGYoKQotICAgICAgLi4uICAgICdsaXN0JywgICAgICMgbGlzdCBzb3VyY2UgZnJvbSBleGFtcGxlIDMKLSAgICAgIC4uLiAgICAnY29udGludWUnLCAjIHN0b3AgZGVidWdnaW5nCi0gICAgICAuLi4gICAgJyddKQotICAgICAgPj4+IHRyeTogcnVubmVyLnJ1bih0ZXN0KQotICAgICAgLi4uIGZpbmFsbHk6IHN5cy5zdGRpbiA9IHJlYWxfc3RkaW4KLSAgICAgIC4uLiAjIGRvY3Rlc3Q6ICtOT1JNQUxJWkVfV0hJVEVTUEFDRQotICAgICAgLS1SZXR1cm4tLQotICAgICAgPiA8ZG9jdGVzdCBmb28tYmFyQGJhelsxXT4oMylnKCktPk5vbmUKLSAgICAgIC0+IGltcG9ydCBwZGI7IHBkYi5zZXRfdHJhY2UoKQotICAgICAgKFBkYikgbGlzdAotICAgICAgICAxICAgICBkZWYgZyh4KToKLSAgICAgICAgMiAgICAgICAgIHByaW50KHgrMykKLSAgICAgICAgMyAgLT4gICAgIGltcG9ydCBwZGI7IHBkYi5zZXRfdHJhY2UoKQotICAgICAgW0VPRl0KLSAgICAgIChQZGIpIG5leHQKLSAgICAgIC0tUmV0dXJuLS0KLSAgICAgID4gPGRvY3Rlc3QgZm9vLWJhckBiYXpbMF0+KDIpZigpLT5Ob25lCi0gICAgICAtPiBnKHgqMikKLSAgICAgIChQZGIpIGxpc3QKLSAgICAgICAgMSAgICAgZGVmIGYoeCk6Ci0gICAgICAgIDIgIC0+ICAgICBnKHgqMikKLSAgICAgIFtFT0ZdCi0gICAgICAoUGRiKSBuZXh0Ci0gICAgICAtLVJldHVybi0tCi0gICAgICA+IDxkb2N0ZXN0IGZvby1iYXJAYmF6WzJdPigxKTxtb2R1bGU+KCktPk5vbmUKLSAgICAgIC0+IGYoMykKLSAgICAgIChQZGIpIGxpc3QKLSAgICAgICAgMSAgLT4gZigzKQotICAgICAgW0VPRl0KLSAgICAgIChQZGIpIGNvbnRpbnVlCi0gICAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gICAgICBGaWxlICJmb28tYmFyQGJhei5weSIsIGxpbmUgNywgaW4gZm9vLWJhckBiYXoKLSAgICAgIEZhaWxlZCBleGFtcGxlOgotICAgICAgICAgIGYoMykKLSAgICAgIEV4cGVjdGVkIG5vdGhpbmcKLSAgICAgIEdvdDoKLSAgICAgICAgICA5Ci0gICAgICBUZXN0UmVzdWx0cyhmYWlsZWQ9MSwgYXR0ZW1wdGVkPTMpCi0gICAgICAiIiIKKyAgICAgICAgICA+Pj4gZG9jID0gJycnCisgICAgICAgICAgLi4uID4+PiBkZWYgZih4KToKKyAgICAgICAgICAuLi4gLi4uICAgICBnKHgqMikKKyAgICAgICAgICAuLi4gPj4+IGRlZiBnKHgpOgorICAgICAgICAgIC4uLiAuLi4gICAgIHByaW50KHgrMykKKyAgICAgICAgICAuLi4gLi4uICAgICBpbXBvcnQgcGRiOyBwZGIuc2V0X3RyYWNlKCkKKyAgICAgICAgICAuLi4gPj4+IGYoMykKKyAgICAgICAgICAuLi4gJycnCisgICAgICAgICAgPj4+IHRlc3QgPSBwYXJzZXIuZ2V0X2RvY3Rlc3QoZG9jLCBnbG9iYWxzKCksICJmb28tYmFyQGJheiIsICJmb28tYmFyQGJhei5weSIsIDApCisgICAgICAgICAgPj4+IHJlYWxfc3RkaW4gPSBzeXMuc3RkaW4KKyAgICAgICAgICA+Pj4gc3lzLnN0ZGluID0gX0Zha2VJbnB1dChbCisgICAgICAgICAgLi4uICAgICdsaXN0JywgICAgICMgbGlzdCBzb3VyY2UgZnJvbSBleGFtcGxlIDIKKyAgICAgICAgICAuLi4gICAgJ25leHQnLCAgICAgIyByZXR1cm4gZnJvbSBnKCkKKyAgICAgICAgICAuLi4gICAgJ2xpc3QnLCAgICAgIyBsaXN0IHNvdXJjZSBmcm9tIGV4YW1wbGUgMQorICAgICAgICAgIC4uLiAgICAnbmV4dCcsICAgICAjIHJldHVybiBmcm9tIGYoKQorICAgICAgICAgIC4uLiAgICAnbGlzdCcsICAgICAjIGxpc3Qgc291cmNlIGZyb20gZXhhbXBsZSAzCisgICAgICAgICAgLi4uICAgICdjb250aW51ZScsICMgc3RvcCBkZWJ1Z2dpbmcKKyAgICAgICAgICAuLi4gICAgJyddKQorICAgICAgICAgID4+PiB0cnk6IHJ1bm5lci5ydW4odGVzdCkKKyAgICAgICAgICAuLi4gZmluYWxseTogc3lzLnN0ZGluID0gcmVhbF9zdGRpbgorICAgICAgICAgIC4uLiAjIGRvY3Rlc3Q6ICtOT1JNQUxJWkVfV0hJVEVTUEFDRQorICAgICAgICAgIC0tUmV0dXJuLS0KKyAgICAgICAgICA+IDxkb2N0ZXN0IGZvby1iYXJAYmF6WzFdPigzKWcoKS0+Tm9uZQorICAgICAgICAgIC0+IGltcG9ydCBwZGI7IHBkYi5zZXRfdHJhY2UoKQorICAgICAgICAgIChQZGIpIGxpc3QKKyAgICAgICAgICAgIDEgICAgIGRlZiBnKHgpOgorICAgICAgICAgICAgMiAgICAgICAgIHByaW50KHgrMykKKyAgICAgICAgICAgIDMgIC0+ICAgICBpbXBvcnQgcGRiOyBwZGIuc2V0X3RyYWNlKCkKKyAgICAgICAgICBbRU9GXQorICAgICAgICAgIChQZGIpIG5leHQKKyAgICAgICAgICAtLVJldHVybi0tCisgICAgICAgICAgPiA8ZG9jdGVzdCBmb28tYmFyQGJhelswXT4oMilmKCktPk5vbmUKKyAgICAgICAgICAtPiBnKHgqMikKKyAgICAgICAgICAoUGRiKSBsaXN0CisgICAgICAgICAgICAxICAgICBkZWYgZih4KToKKyAgICAgICAgICAgIDIgIC0+ICAgICBnKHgqMikKKyAgICAgICAgICBbRU9GXQorICAgICAgICAgIChQZGIpIG5leHQKKyAgICAgICAgICAtLVJldHVybi0tCisgICAgICAgICAgPiA8ZG9jdGVzdCBmb28tYmFyQGJhelsyXT4oMSk8bW9kdWxlPigpLT5Ob25lCisgICAgICAgICAgLT4gZigzKQorICAgICAgICAgIChQZGIpIGxpc3QKKyAgICAgICAgICAgIDEgIC0+IGYoMykKKyAgICAgICAgICBbRU9GXQorICAgICAgICAgIChQZGIpIGNvbnRpbnVlCisgICAgICAgICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICAgICAgICAgIEZpbGUgImZvby1iYXJAYmF6LnB5IiwgbGluZSA3LCBpbiBmb28tYmFyQGJhegorICAgICAgICAgIEZhaWxlZCBleGFtcGxlOgorICAgICAgICAgICAgICBmKDMpCisgICAgICAgICAgRXhwZWN0ZWQgbm90aGluZworICAgICAgICAgIEdvdDoKKyAgICAgICAgICAgICAgOQorICAgICAgICAgIFRlc3RSZXN1bHRzKGZhaWxlZD0xLCBhdHRlbXB0ZWQ9MykKKyAgICAgICAgICAiIiIKIAotZGVmIHRlc3RfcGRiX3NldF90cmFjZV9uZXN0ZWQoKToKLSAgICAiIiJUaGlzIGlsbHVzdHJhdGVzIG1vcmUtZGVtYW5kaW5nIHVzZSBvZiBzZXRfdHJhY2Ugd2l0aCBuZXN0ZWQgZnVuY3Rpb25zLgorICAgIGRlZiB0ZXN0X3BkYl9zZXRfdHJhY2VfbmVzdGVkKCk6CisgICAgICAgICIiIlRoaXMgaWxsdXN0cmF0ZXMgbW9yZS1kZW1hbmRpbmcgdXNlIG9mIHNldF90cmFjZSB3aXRoIG5lc3RlZCBmdW5jdGlvbnMuCiAKLSAgICA+Pj4gY2xhc3MgQyhvYmplY3QpOgotICAgIC4uLiAgICAgZGVmIGNhbGxzX3NldF90cmFjZShzZWxmKToKLSAgICAuLi4gICAgICAgICB5ID0gMQotICAgIC4uLiAgICAgICAgIGltcG9ydCBwZGI7IHBkYi5zZXRfdHJhY2UoKQotICAgIC4uLiAgICAgICAgIHNlbGYuZjEoKQotICAgIC4uLiAgICAgICAgIHkgPSAyCi0gICAgLi4uICAgICBkZWYgZjEoc2VsZik6Ci0gICAgLi4uICAgICAgICAgeCA9IDEKLSAgICAuLi4gICAgICAgICBzZWxmLmYyKCkKLSAgICAuLi4gICAgICAgICB4ID0gMgotICAgIC4uLiAgICAgZGVmIGYyKHNlbGYpOgotICAgIC4uLiAgICAgICAgIHogPSAxCi0gICAgLi4uICAgICAgICAgeiA9IDIKKyAgICAgICAgPj4+IGNsYXNzIEMob2JqZWN0KToKKyAgICAgICAgLi4uICAgICBkZWYgY2FsbHNfc2V0X3RyYWNlKHNlbGYpOgorICAgICAgICAuLi4gICAgICAgICB5ID0gMQorICAgICAgICAuLi4gICAgICAgICBpbXBvcnQgcGRiOyBwZGIuc2V0X3RyYWNlKCkKKyAgICAgICAgLi4uICAgICAgICAgc2VsZi5mMSgpCisgICAgICAgIC4uLiAgICAgICAgIHkgPSAyCisgICAgICAgIC4uLiAgICAgZGVmIGYxKHNlbGYpOgorICAgICAgICAuLi4gICAgICAgICB4ID0gMQorICAgICAgICAuLi4gICAgICAgICBzZWxmLmYyKCkKKyAgICAgICAgLi4uICAgICAgICAgeCA9IDIKKyAgICAgICAgLi4uICAgICBkZWYgZjIoc2VsZik6CisgICAgICAgIC4uLiAgICAgICAgIHogPSAxCisgICAgICAgIC4uLiAgICAgICAgIHogPSAyCiAKLSAgICA+Pj4gY2FsbHNfc2V0X3RyYWNlID0gQygpLmNhbGxzX3NldF90cmFjZQorICAgICAgICA+Pj4gY2FsbHNfc2V0X3RyYWNlID0gQygpLmNhbGxzX3NldF90cmFjZQogCi0gICAgPj4+IGRvYyA9ICcnJwotICAgIC4uLiA+Pj4gYSA9IDEKLSAgICAuLi4gPj4+IGNhbGxzX3NldF90cmFjZSgpCi0gICAgLi4uICcnJwotICAgID4+PiBwYXJzZXIgPSBkb2N0ZXN0LkRvY1Rlc3RQYXJzZXIoKQotICAgID4+PiBydW5uZXIgPSBkb2N0ZXN0LkRvY1Rlc3RSdW5uZXIodmVyYm9zZT1GYWxzZSkKLSAgICA+Pj4gdGVzdCA9IHBhcnNlci5nZXRfZG9jdGVzdChkb2MsIGdsb2JhbHMoKSwgImZvby1iYXJAYmF6IiwgImZvby1iYXJAYmF6LnB5IiwgMCkKLSAgICA+Pj4gcmVhbF9zdGRpbiA9IHN5cy5zdGRpbgotICAgID4+PiBzeXMuc3RkaW4gPSBfRmFrZUlucHV0KFsKLSAgICAuLi4gICAgJ3ByaW50KHkpJywgICMgcHJpbnQgZGF0YSBkZWZpbmVkIGluIHRoZSBmdW5jdGlvbgotICAgIC4uLiAgICAnc3RlcCcsICdzdGVwJywgJ3N0ZXAnLCAnc3RlcCcsICdzdGVwJywgJ3N0ZXAnLCAncHJpbnQoeiknLAotICAgIC4uLiAgICAndXAnLCAncHJpbnQoeCknLAotICAgIC4uLiAgICAndXAnLCAncHJpbnQoeSknLAotICAgIC4uLiAgICAndXAnLCAncHJpbnQoZm9vKScsCi0gICAgLi4uICAgICdjb250aW51ZScsICMgc3RvcCBkZWJ1Z2dpbmcKLSAgICAuLi4gICAgJyddKQorICAgICAgICA+Pj4gZG9jID0gJycnCisgICAgICAgIC4uLiA+Pj4gYSA9IDEKKyAgICAgICAgLi4uID4+PiBjYWxsc19zZXRfdHJhY2UoKQorICAgICAgICAuLi4gJycnCisgICAgICAgID4+PiBwYXJzZXIgPSBkb2N0ZXN0LkRvY1Rlc3RQYXJzZXIoKQorICAgICAgICA+Pj4gcnVubmVyID0gZG9jdGVzdC5Eb2NUZXN0UnVubmVyKHZlcmJvc2U9RmFsc2UpCisgICAgICAgID4+PiB0ZXN0ID0gcGFyc2VyLmdldF9kb2N0ZXN0KGRvYywgZ2xvYmFscygpLCAiZm9vLWJhckBiYXoiLCAiZm9vLWJhckBiYXoucHkiLCAwKQorICAgICAgICA+Pj4gcmVhbF9zdGRpbiA9IHN5cy5zdGRpbgorICAgICAgICA+Pj4gc3lzLnN0ZGluID0gX0Zha2VJbnB1dChbCisgICAgICAgIC4uLiAgICAncHJpbnQoeSknLCAgIyBwcmludCBkYXRhIGRlZmluZWQgaW4gdGhlIGZ1bmN0aW9uCisgICAgICAgIC4uLiAgICAnc3RlcCcsICdzdGVwJywgJ3N0ZXAnLCAnc3RlcCcsICdzdGVwJywgJ3N0ZXAnLCAncHJpbnQoeiknLAorICAgICAgICAuLi4gICAgJ3VwJywgJ3ByaW50KHgpJywKKyAgICAgICAgLi4uICAgICd1cCcsICdwcmludCh5KScsCisgICAgICAgIC4uLiAgICAndXAnLCAncHJpbnQoZm9vKScsCisgICAgICAgIC4uLiAgICAnY29udGludWUnLCAjIHN0b3AgZGVidWdnaW5nCisgICAgICAgIC4uLiAgICAnJ10pCiAKLSAgICA+Pj4gdHJ5OgotICAgIC4uLiAgICAgcnVubmVyLnJ1bih0ZXN0KQotICAgIC4uLiBmaW5hbGx5OgotICAgIC4uLiAgICAgc3lzLnN0ZGluID0gcmVhbF9zdGRpbgotICAgIC4uLiAjIGRvY3Rlc3Q6ICtSRVBPUlRfTkRJRkYKLSAgICA+IDxkb2N0ZXN0IHRlc3QudGVzdF9kb2N0ZXN0LnRlc3RfcGRiX3NldF90cmFjZV9uZXN0ZWRbMF0+KDUpY2FsbHNfc2V0X3RyYWNlKCkKLSAgICAtPiBzZWxmLmYxKCkKLSAgICAoUGRiKSBwcmludCh5KQotICAgIDEKLSAgICAoUGRiKSBzdGVwCi0gICAgLS1DYWxsLS0KLSAgICA+IDxkb2N0ZXN0IHRlc3QudGVzdF9kb2N0ZXN0LnRlc3RfcGRiX3NldF90cmFjZV9uZXN0ZWRbMF0+KDcpZjEoKQotICAgIC0+IGRlZiBmMShzZWxmKToKLSAgICAoUGRiKSBzdGVwCi0gICAgPiA8ZG9jdGVzdCB0ZXN0LnRlc3RfZG9jdGVzdC50ZXN0X3BkYl9zZXRfdHJhY2VfbmVzdGVkWzBdPig4KWYxKCkKLSAgICAtPiB4ID0gMQotICAgIChQZGIpIHN0ZXAKLSAgICA+IDxkb2N0ZXN0IHRlc3QudGVzdF9kb2N0ZXN0LnRlc3RfcGRiX3NldF90cmFjZV9uZXN0ZWRbMF0+KDkpZjEoKQotICAgIC0+IHNlbGYuZjIoKQotICAgIChQZGIpIHN0ZXAKLSAgICAtLUNhbGwtLQotICAgID4gPGRvY3Rlc3QgdGVzdC50ZXN0X2RvY3Rlc3QudGVzdF9wZGJfc2V0X3RyYWNlX25lc3RlZFswXT4oMTEpZjIoKQotICAgIC0+IGRlZiBmMihzZWxmKToKLSAgICAoUGRiKSBzdGVwCi0gICAgPiA8ZG9jdGVzdCB0ZXN0LnRlc3RfZG9jdGVzdC50ZXN0X3BkYl9zZXRfdHJhY2VfbmVzdGVkWzBdPigxMilmMigpCi0gICAgLT4geiA9IDEKLSAgICAoUGRiKSBzdGVwCi0gICAgPiA8ZG9jdGVzdCB0ZXN0LnRlc3RfZG9jdGVzdC50ZXN0X3BkYl9zZXRfdHJhY2VfbmVzdGVkWzBdPigxMylmMigpCi0gICAgLT4geiA9IDIKLSAgICAoUGRiKSBwcmludCh6KQotICAgIDEKLSAgICAoUGRiKSB1cAotICAgID4gPGRvY3Rlc3QgdGVzdC50ZXN0X2RvY3Rlc3QudGVzdF9wZGJfc2V0X3RyYWNlX25lc3RlZFswXT4oOSlmMSgpCi0gICAgLT4gc2VsZi5mMigpCi0gICAgKFBkYikgcHJpbnQoeCkKLSAgICAxCi0gICAgKFBkYikgdXAKLSAgICA+IDxkb2N0ZXN0IHRlc3QudGVzdF9kb2N0ZXN0LnRlc3RfcGRiX3NldF90cmFjZV9uZXN0ZWRbMF0+KDUpY2FsbHNfc2V0X3RyYWNlKCkKLSAgICAtPiBzZWxmLmYxKCkKLSAgICAoUGRiKSBwcmludCh5KQotICAgIDEKLSAgICAoUGRiKSB1cAotICAgID4gPGRvY3Rlc3QgZm9vLWJhckBiYXpbMV0+KDEpPG1vZHVsZT4oKQotICAgIC0+IGNhbGxzX3NldF90cmFjZSgpCi0gICAgKFBkYikgcHJpbnQoZm9vKQotICAgICoqKiBOYW1lRXJyb3I6IG5hbWUgJ2ZvbycgaXMgbm90IGRlZmluZWQKLSAgICAoUGRiKSBjb250aW51ZQotICAgIFRlc3RSZXN1bHRzKGZhaWxlZD0wLCBhdHRlbXB0ZWQ9MikKLSIiIgorICAgICAgICA+Pj4gdHJ5OgorICAgICAgICAuLi4gICAgIHJ1bm5lci5ydW4odGVzdCkKKyAgICAgICAgLi4uIGZpbmFsbHk6CisgICAgICAgIC4uLiAgICAgc3lzLnN0ZGluID0gcmVhbF9zdGRpbgorICAgICAgICAuLi4gIyBkb2N0ZXN0OiArUkVQT1JUX05ESUZGCisgICAgICAgID4gPGRvY3Rlc3QgdGVzdC50ZXN0X2RvY3Rlc3QudGVzdF9wZGJfc2V0X3RyYWNlX25lc3RlZFswXT4oNSljYWxsc19zZXRfdHJhY2UoKQorICAgICAgICAtPiBzZWxmLmYxKCkKKyAgICAgICAgKFBkYikgcHJpbnQoeSkKKyAgICAgICAgMQorICAgICAgICAoUGRiKSBzdGVwCisgICAgICAgIC0tQ2FsbC0tCisgICAgICAgID4gPGRvY3Rlc3QgdGVzdC50ZXN0X2RvY3Rlc3QudGVzdF9wZGJfc2V0X3RyYWNlX25lc3RlZFswXT4oNylmMSgpCisgICAgICAgIC0+IGRlZiBmMShzZWxmKToKKyAgICAgICAgKFBkYikgc3RlcAorICAgICAgICA+IDxkb2N0ZXN0IHRlc3QudGVzdF9kb2N0ZXN0LnRlc3RfcGRiX3NldF90cmFjZV9uZXN0ZWRbMF0+KDgpZjEoKQorICAgICAgICAtPiB4ID0gMQorICAgICAgICAoUGRiKSBzdGVwCisgICAgICAgID4gPGRvY3Rlc3QgdGVzdC50ZXN0X2RvY3Rlc3QudGVzdF9wZGJfc2V0X3RyYWNlX25lc3RlZFswXT4oOSlmMSgpCisgICAgICAgIC0+IHNlbGYuZjIoKQorICAgICAgICAoUGRiKSBzdGVwCisgICAgICAgIC0tQ2FsbC0tCisgICAgICAgID4gPGRvY3Rlc3QgdGVzdC50ZXN0X2RvY3Rlc3QudGVzdF9wZGJfc2V0X3RyYWNlX25lc3RlZFswXT4oMTEpZjIoKQorICAgICAgICAtPiBkZWYgZjIoc2VsZik6CisgICAgICAgIChQZGIpIHN0ZXAKKyAgICAgICAgPiA8ZG9jdGVzdCB0ZXN0LnRlc3RfZG9jdGVzdC50ZXN0X3BkYl9zZXRfdHJhY2VfbmVzdGVkWzBdPigxMilmMigpCisgICAgICAgIC0+IHogPSAxCisgICAgICAgIChQZGIpIHN0ZXAKKyAgICAgICAgPiA8ZG9jdGVzdCB0ZXN0LnRlc3RfZG9jdGVzdC50ZXN0X3BkYl9zZXRfdHJhY2VfbmVzdGVkWzBdPigxMylmMigpCisgICAgICAgIC0+IHogPSAyCisgICAgICAgIChQZGIpIHByaW50KHopCisgICAgICAgIDEKKyAgICAgICAgKFBkYikgdXAKKyAgICAgICAgPiA8ZG9jdGVzdCB0ZXN0LnRlc3RfZG9jdGVzdC50ZXN0X3BkYl9zZXRfdHJhY2VfbmVzdGVkWzBdPig5KWYxKCkKKyAgICAgICAgLT4gc2VsZi5mMigpCisgICAgICAgIChQZGIpIHByaW50KHgpCisgICAgICAgIDEKKyAgICAgICAgKFBkYikgdXAKKyAgICAgICAgPiA8ZG9jdGVzdCB0ZXN0LnRlc3RfZG9jdGVzdC50ZXN0X3BkYl9zZXRfdHJhY2VfbmVzdGVkWzBdPig1KWNhbGxzX3NldF90cmFjZSgpCisgICAgICAgIC0+IHNlbGYuZjEoKQorICAgICAgICAoUGRiKSBwcmludCh5KQorICAgICAgICAxCisgICAgICAgIChQZGIpIHVwCisgICAgICAgID4gPGRvY3Rlc3QgZm9vLWJhckBiYXpbMV0+KDEpPG1vZHVsZT4oKQorICAgICAgICAtPiBjYWxsc19zZXRfdHJhY2UoKQorICAgICAgICAoUGRiKSBwcmludChmb28pCisgICAgICAgICoqKiBOYW1lRXJyb3I6IG5hbWUgJ2ZvbycgaXMgbm90IGRlZmluZWQKKyAgICAgICAgKFBkYikgY29udGludWUKKyAgICAgICAgVGVzdFJlc3VsdHMoZmFpbGVkPTAsIGF0dGVtcHRlZD0yKQorICAgICIiIgogCiBkZWYgdGVzdF9Eb2NUZXN0U3VpdGUoKToKICAgICAiIiJEb2NUZXN0U3VpdGUgY3JlYXRlcyBhIHVuaXR0ZXN0IHRlc3Qgc3VpdGUgZnJvbSBhIGRvY3Rlc3QuCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2R1bW15X3RocmVhZC5weSBiL0xpYi90ZXN0L3Rlc3RfZHVtbXlfdGhyZWFkLnB5CmluZGV4IGM2MTA3OGQuLjJmYWZlMWQgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfZHVtbXlfdGhyZWFkLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfZHVtbXlfdGhyZWFkLnB5CkBAIC0zNSw4ICszNSw4IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAiTG9jayBvYmplY3QgZGlkIG5vdCByZWxlYXNlIHByb3Blcmx5LiIpCiAKICAgICBkZWYgdGVzdF9pbXByb3Blcl9yZWxlYXNlKHNlbGYpOgotICAgICAgICAjTWFrZSBzdXJlIHJlbGVhc2Ugb2YgYW4gdW5sb2NrZWQgdGhyZWFkIHJhaXNlcyBfdGhyZWFkLmVycm9yCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKF90aHJlYWQuZXJyb3IsIHNlbGYubG9jay5yZWxlYXNlKQorICAgICAgICAjTWFrZSBzdXJlIHJlbGVhc2Ugb2YgYW4gdW5sb2NrZWQgdGhyZWFkIHJhaXNlcyBSdW50aW1lRXJyb3IKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoUnVudGltZUVycm9yLCBzZWxmLmxvY2sucmVsZWFzZSkKIAogICAgIGRlZiB0ZXN0X2NvbmRfYWNxdWlyZV9zdWNjZXNzKHNlbGYpOgogICAgICAgICAjTWFrZSBzdXJlIHRoZSBjb25kaXRpb25hbCBhY3F1aXJpbmcgb2YgdGhlIGxvY2sgd29ya3MuCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2VtYWlsLnB5IGIvTGliL3Rlc3QvdGVzdF9lbWFpbC5weQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWVlYmJhNS4uMDAwMDAwMAotLS0gYS9MaWIvdGVzdC90ZXN0X2VtYWlsLnB5CisrKyAvZGV2L251bGwKQEAgLTEsMTQgKzAsMCBAQAotIyBDb3B5cmlnaHQgKEMpIDIwMDEtMjAwNyBQeXRob24gU29mdHdhcmUgRm91bmRhdGlvbgotIyBlbWFpbCBwYWNrYWdlIHVuaXQgdGVzdHMKLQotIyBUaGUgc3BlY2lmaWMgdGVzdHMgbm93IGxpdmUgaW4gTGliL2VtYWlsL3Rlc3QKLWZyb20gZW1haWwudGVzdC50ZXN0X2VtYWlsIGltcG9ydCBzdWl0ZQotZnJvbSBlbWFpbC50ZXN0LnRlc3RfZW1haWxfY29kZWNzIGltcG9ydCBzdWl0ZSBhcyBjb2RlY3Nfc3VpdGUKLWZyb20gdGVzdCBpbXBvcnQgc3VwcG9ydAotCi1kZWYgdGVzdF9tYWluKCk6Ci0gICAgc3VwcG9ydC5ydW5fdW5pdHRlc3Qoc3VpdGUoKSkKLSAgICBzdXBwb3J0LnJ1bl91bml0dGVzdChjb2RlY3Nfc3VpdGUoKSkKLQotaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKLSAgICB0ZXN0X21haW4oKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9lbWFpbC9fX2luaXRfXy5weSBiL0xpYi90ZXN0L3Rlc3RfZW1haWwvX19pbml0X18ucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDcyYjUwZQotLS0gL2Rldi9udWxsCisrKyBiL0xpYi90ZXN0L3Rlc3RfZW1haWwvX19pbml0X18ucHkKQEAgLTAsMCArMSw1NSBAQAoraW1wb3J0IG9zCitpbXBvcnQgc3lzCitpbXBvcnQgdW5pdHRlc3QKK2ltcG9ydCB0ZXN0LnN1cHBvcnQKK2ltcG9ydCBlbWFpbAorZnJvbSB0ZXN0LnRlc3RfZW1haWwgaW1wb3J0IF9fZmlsZV9fIGFzIGxhbmRtYXJrCisKKyMgUnVuIGFsbCB0ZXN0cyBpbiBwYWNrYWdlIGZvciAnLW0gdW5pdHRlc3QgdGVzdC50ZXN0X2VtYWlsJworZGVmIGxvYWRfdGVzdHMobG9hZGVyLCBzdGFuZGFyZF90ZXN0cywgcGF0dGVybik6CisgICAgdGhpc19kaXIgPSBvcy5wYXRoLmRpcm5hbWUoX19maWxlX18pCisgICAgaWYgcGF0dGVybiBpcyBOb25lOgorICAgICAgICBwYXR0ZXJuID0gInRlc3QqIgorICAgIHBhY2thZ2VfdGVzdHMgPSBsb2FkZXIuZGlzY292ZXIoc3RhcnRfZGlyPXRoaXNfZGlyLCBwYXR0ZXJuPXBhdHRlcm4pCisgICAgc3RhbmRhcmRfdGVzdHMuYWRkVGVzdHMocGFja2FnZV90ZXN0cykKKyAgICByZXR1cm4gc3RhbmRhcmRfdGVzdHMKKworCisjIHVzZWQgYnkgcmVncnRlc3QgYW5kIF9fbWFpbl9fLgorZGVmIHRlc3RfbWFpbigpOgorICAgIGhlcmUgPSBvcy5wYXRoLmRpcm5hbWUoX19maWxlX18pCisgICAgIyBVbml0dGVzdCBtdWNrcyB3aXRoIHRoZSBwYXRoLCBzbyB3ZSBoYXZlIHRvIHNhdmUgYW5kIHJlc3RvcmUKKyAgICAjIGl0IHRvIGtlZXAgcmVncnRlc3QgaGFwcHkuCisgICAgc2F2ZXBhdGggPSBzeXMucGF0aFs6XQorICAgIHRlc3Quc3VwcG9ydC5fcnVuX3N1aXRlKHVuaXR0ZXN0LmRlZmF1bHRUZXN0TG9hZGVyLmRpc2NvdmVyKGhlcmUpKQorICAgIHN5cy5wYXRoWzpdID0gc2F2ZXBhdGgKKworCisjIGhlbHBlciBjb2RlIHVzZWQgYnkgYSBudW1iZXIgb2YgdGVzdCBtb2R1bGVzLgorCitkZWYgb3BlbmZpbGUoZmlsZW5hbWUsICphcmdzLCAqKmt3cyk6CisgICAgcGF0aCA9IG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUobGFuZG1hcmspLCAnZGF0YScsIGZpbGVuYW1lKQorICAgIHJldHVybiBvcGVuKHBhdGgsICphcmdzLCAqKmt3cykKKworCisjIEJhc2UgdGVzdCBjbGFzcworY2xhc3MgVGVzdEVtYWlsQmFzZSh1bml0dGVzdC5UZXN0Q2FzZSk6CisKKyAgICBtYXhEaWZmID0gTm9uZQorCisgICAgZGVmIF9faW5pdF9fKHNlbGYsICphcmdzLCAqKmt3KToKKyAgICAgICAgc3VwZXIoKS5fX2luaXRfXygqYXJncywgKiprdykKKyAgICAgICAgc2VsZi5hZGRUeXBlRXF1YWxpdHlGdW5jKGJ5dGVzLCBzZWxmLmFzc2VydEJ5dGVzRXF1YWwpCisKKyAgICBuZGlmZkFzc2VydEVxdWFsID0gdW5pdHRlc3QuVGVzdENhc2UuYXNzZXJ0RXF1YWwKKworICAgIGRlZiBfbXNnb2JqKHNlbGYsIGZpbGVuYW1lKToKKyAgICAgICAgd2l0aCBvcGVuZmlsZShmaWxlbmFtZSkgYXMgZnA6CisgICAgICAgICAgICByZXR1cm4gZW1haWwubWVzc2FnZV9mcm9tX2ZpbGUoZnApCisKKyAgICBkZWYgX2J5dGVzX3JlcHIoc2VsZiwgYik6CisgICAgICAgIHJldHVybiBbcmVwcih4KSBmb3IgeCBpbiBiLnNwbGl0bGluZXMoa2VlcGVuZHM9VHJ1ZSldCisKKyAgICBkZWYgYXNzZXJ0Qnl0ZXNFcXVhbChzZWxmLCBmaXJzdCwgc2Vjb25kLCBtc2cpOgorICAgICAgICAiIiJPdXIgYnl0ZSBzdHJpbmdzIGFyZSByZWFsbHkgZW5jb2RlZCBzdHJpbmdzOyBpbXByb3ZlIGRpZmYgb3V0cHV0IiIiCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5fYnl0ZXNfcmVwcihmaXJzdCksIHNlbGYuX2J5dGVzX3JlcHIoc2Vjb25kKSkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfZW1haWwvX19tYWluX18ucHkgYi9MaWIvdGVzdC90ZXN0X2VtYWlsL19fbWFpbl9fLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk4YWY5ZWMKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvdGVzdC90ZXN0X2VtYWlsL19fbWFpbl9fLnB5CkBAIC0wLDAgKzEsMyBAQAorZnJvbSB0ZXN0LnRlc3RfZW1haWwgaW1wb3J0IHRlc3RfbWFpbgorCit0ZXN0X21haW4oKQpkaWZmIC0tZ2l0IGEvTGliL2VtYWlsL3Rlc3QvZGF0YS9QeUJhbm5lcjA0OC5naWYgYi9MaWIvdGVzdC90ZXN0X2VtYWlsL2RhdGEvUHlCYW5uZXIwNDguZ2lmCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBMaWIvZW1haWwvdGVzdC9kYXRhL1B5QmFubmVyMDQ4LmdpZgpyZW5hbWUgdG8gTGliL3Rlc3QvdGVzdF9lbWFpbC9kYXRhL1B5QmFubmVyMDQ4LmdpZgpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9MaWIvZW1haWwvdGVzdC9kYXRhL2F1ZGlvdGVzdC5hdSBiL0xpYi90ZXN0L3Rlc3RfZW1haWwvZGF0YS9hdWRpb3Rlc3QuYXUKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIExpYi9lbWFpbC90ZXN0L2RhdGEvYXVkaW90ZXN0LmF1CnJlbmFtZSB0byBMaWIvdGVzdC90ZXN0X2VtYWlsL2RhdGEvYXVkaW90ZXN0LmF1CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL0xpYi9lbWFpbC90ZXN0L2RhdGEvbXNnXzAxLnR4dCBiL0xpYi90ZXN0L3Rlc3RfZW1haWwvZGF0YS9tc2dfMDEudHh0CnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBMaWIvZW1haWwvdGVzdC9kYXRhL21zZ18wMS50eHQKcmVuYW1lIHRvIExpYi90ZXN0L3Rlc3RfZW1haWwvZGF0YS9tc2dfMDEudHh0CmRpZmYgLS1naXQgYS9MaWIvZW1haWwvdGVzdC9kYXRhL21zZ18wMi50eHQgYi9MaWIvdGVzdC90ZXN0X2VtYWlsL2RhdGEvbXNnXzAyLnR4dApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gTGliL2VtYWlsL3Rlc3QvZGF0YS9tc2dfMDIudHh0CnJlbmFtZSB0byBMaWIvdGVzdC90ZXN0X2VtYWlsL2RhdGEvbXNnXzAyLnR4dApkaWZmIC0tZ2l0IGEvTGliL2VtYWlsL3Rlc3QvZGF0YS9tc2dfMDMudHh0IGIvTGliL3Rlc3QvdGVzdF9lbWFpbC9kYXRhL21zZ18wMy50eHQKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIExpYi9lbWFpbC90ZXN0L2RhdGEvbXNnXzAzLnR4dApyZW5hbWUgdG8gTGliL3Rlc3QvdGVzdF9lbWFpbC9kYXRhL21zZ18wMy50eHQKZGlmZiAtLWdpdCBhL0xpYi9lbWFpbC90ZXN0L2RhdGEvbXNnXzA0LnR4dCBiL0xpYi90ZXN0L3Rlc3RfZW1haWwvZGF0YS9tc2dfMDQudHh0CnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBMaWIvZW1haWwvdGVzdC9kYXRhL21zZ18wNC50eHQKcmVuYW1lIHRvIExpYi90ZXN0L3Rlc3RfZW1haWwvZGF0YS9tc2dfMDQudHh0CmRpZmYgLS1naXQgYS9MaWIvZW1haWwvdGVzdC9kYXRhL21zZ18wNS50eHQgYi9MaWIvdGVzdC90ZXN0X2VtYWlsL2RhdGEvbXNnXzA1LnR4dApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gTGliL2VtYWlsL3Rlc3QvZGF0YS9tc2dfMDUudHh0CnJlbmFtZSB0byBMaWIvdGVzdC90ZXN0X2VtYWlsL2RhdGEvbXNnXzA1LnR4dApkaWZmIC0tZ2l0IGEvTGliL2VtYWlsL3Rlc3QvZGF0YS9tc2dfMDYudHh0IGIvTGliL3Rlc3QvdGVzdF9lbWFpbC9kYXRhL21zZ18wNi50eHQKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIExpYi9lbWFpbC90ZXN0L2RhdGEvbXNnXzA2LnR4dApyZW5hbWUgdG8gTGliL3Rlc3QvdGVzdF9lbWFpbC9kYXRhL21zZ18wNi50eHQKZGlmZiAtLWdpdCBhL0xpYi9lbWFpbC90ZXN0L2RhdGEvbXNnXzA3LnR4dCBiL0xpYi90ZXN0L3Rlc3RfZW1haWwvZGF0YS9tc2dfMDcudHh0CnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBMaWIvZW1haWwvdGVzdC9kYXRhL21zZ18wNy50eHQKcmVuYW1lIHRvIExpYi90ZXN0L3Rlc3RfZW1haWwvZGF0YS9tc2dfMDcudHh0CmRpZmYgLS1naXQgYS9MaWIvZW1haWwvdGVzdC9kYXRhL21zZ18wOC50eHQgYi9MaWIvdGVzdC90ZXN0X2VtYWlsL2RhdGEvbXNnXzA4LnR4dApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gTGliL2VtYWlsL3Rlc3QvZGF0YS9tc2dfMDgudHh0CnJlbmFtZSB0byBMaWIvdGVzdC90ZXN0X2VtYWlsL2RhdGEvbXNnXzA4LnR4dApkaWZmIC0tZ2l0IGEvTGliL2VtYWlsL3Rlc3QvZGF0YS9tc2dfMDkudHh0IGIvTGliL3Rlc3QvdGVzdF9lbWFpbC9kYXRhL21zZ18wOS50eHQKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIExpYi9lbWFpbC90ZXN0L2RhdGEvbXNnXzA5LnR4dApyZW5hbWUgdG8gTGliL3Rlc3QvdGVzdF9lbWFpbC9kYXRhL21zZ18wOS50eHQKZGlmZiAtLWdpdCBhL0xpYi9lbWFpbC90ZXN0L2RhdGEvbXNnXzEwLnR4dCBiL0xpYi90ZXN0L3Rlc3RfZW1haWwvZGF0YS9tc2dfMTAudHh0CnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBMaWIvZW1haWwvdGVzdC9kYXRhL21zZ18xMC50eHQKcmVuYW1lIHRvIExpYi90ZXN0L3Rlc3RfZW1haWwvZGF0YS9tc2dfMTAudHh0CmRpZmYgLS1naXQgYS9MaWIvZW1haWwvdGVzdC9kYXRhL21zZ18xMS50eHQgYi9MaWIvdGVzdC90ZXN0X2VtYWlsL2RhdGEvbXNnXzExLnR4dApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gTGliL2VtYWlsL3Rlc3QvZGF0YS9tc2dfMTEudHh0CnJlbmFtZSB0byBMaWIvdGVzdC90ZXN0X2VtYWlsL2RhdGEvbXNnXzExLnR4dApkaWZmIC0tZ2l0IGEvTGliL2VtYWlsL3Rlc3QvZGF0YS9tc2dfMTIudHh0IGIvTGliL3Rlc3QvdGVzdF9lbWFpbC9kYXRhL21zZ18xMi50eHQKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIExpYi9lbWFpbC90ZXN0L2RhdGEvbXNnXzEyLnR4dApyZW5hbWUgdG8gTGliL3Rlc3QvdGVzdF9lbWFpbC9kYXRhL21zZ18xMi50eHQKZGlmZiAtLWdpdCBhL0xpYi9lbWFpbC90ZXN0L2RhdGEvbXNnXzEyYS50eHQgYi9MaWIvdGVzdC90ZXN0X2VtYWlsL2RhdGEvbXNnXzEyYS50eHQKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIExpYi9lbWFpbC90ZXN0L2RhdGEvbXNnXzEyYS50eHQKcmVuYW1lIHRvIExpYi90ZXN0L3Rlc3RfZW1haWwvZGF0YS9tc2dfMTJhLnR4dApkaWZmIC0tZ2l0IGEvTGliL2VtYWlsL3Rlc3QvZGF0YS9tc2dfMTMudHh0IGIvTGliL3Rlc3QvdGVzdF9lbWFpbC9kYXRhL21zZ18xMy50eHQKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIExpYi9lbWFpbC90ZXN0L2RhdGEvbXNnXzEzLnR4dApyZW5hbWUgdG8gTGliL3Rlc3QvdGVzdF9lbWFpbC9kYXRhL21zZ18xMy50eHQKZGlmZiAtLWdpdCBhL0xpYi9lbWFpbC90ZXN0L2RhdGEvbXNnXzE0LnR4dCBiL0xpYi90ZXN0L3Rlc3RfZW1haWwvZGF0YS9tc2dfMTQudHh0CnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBMaWIvZW1haWwvdGVzdC9kYXRhL21zZ18xNC50eHQKcmVuYW1lIHRvIExpYi90ZXN0L3Rlc3RfZW1haWwvZGF0YS9tc2dfMTQudHh0CmRpZmYgLS1naXQgYS9MaWIvZW1haWwvdGVzdC9kYXRhL21zZ18xNS50eHQgYi9MaWIvdGVzdC90ZXN0X2VtYWlsL2RhdGEvbXNnXzE1LnR4dApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gTGliL2VtYWlsL3Rlc3QvZGF0YS9tc2dfMTUudHh0CnJlbmFtZSB0byBMaWIvdGVzdC90ZXN0X2VtYWlsL2RhdGEvbXNnXzE1LnR4dApkaWZmIC0tZ2l0IGEvTGliL2VtYWlsL3Rlc3QvZGF0YS9tc2dfMTYudHh0IGIvTGliL3Rlc3QvdGVzdF9lbWFpbC9kYXRhL21zZ18xNi50eHQKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIExpYi9lbWFpbC90ZXN0L2RhdGEvbXNnXzE2LnR4dApyZW5hbWUgdG8gTGliL3Rlc3QvdGVzdF9lbWFpbC9kYXRhL21zZ18xNi50eHQKZGlmZiAtLWdpdCBhL0xpYi9lbWFpbC90ZXN0L2RhdGEvbXNnXzE3LnR4dCBiL0xpYi90ZXN0L3Rlc3RfZW1haWwvZGF0YS9tc2dfMTcudHh0CnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBMaWIvZW1haWwvdGVzdC9kYXRhL21zZ18xNy50eHQKcmVuYW1lIHRvIExpYi90ZXN0L3Rlc3RfZW1haWwvZGF0YS9tc2dfMTcudHh0CmRpZmYgLS1naXQgYS9MaWIvZW1haWwvdGVzdC9kYXRhL21zZ18xOC50eHQgYi9MaWIvdGVzdC90ZXN0X2VtYWlsL2RhdGEvbXNnXzE4LnR4dApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gTGliL2VtYWlsL3Rlc3QvZGF0YS9tc2dfMTgudHh0CnJlbmFtZSB0byBMaWIvdGVzdC90ZXN0X2VtYWlsL2RhdGEvbXNnXzE4LnR4dApkaWZmIC0tZ2l0IGEvTGliL2VtYWlsL3Rlc3QvZGF0YS9tc2dfMTkudHh0IGIvTGliL3Rlc3QvdGVzdF9lbWFpbC9kYXRhL21zZ18xOS50eHQKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIExpYi9lbWFpbC90ZXN0L2RhdGEvbXNnXzE5LnR4dApyZW5hbWUgdG8gTGliL3Rlc3QvdGVzdF9lbWFpbC9kYXRhL21zZ18xOS50eHQKZGlmZiAtLWdpdCBhL0xpYi9lbWFpbC90ZXN0L2RhdGEvbXNnXzIwLnR4dCBiL0xpYi90ZXN0L3Rlc3RfZW1haWwvZGF0YS9tc2dfMjAudHh0CnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBMaWIvZW1haWwvdGVzdC9kYXRhL21zZ18yMC50eHQKcmVuYW1lIHRvIExpYi90ZXN0L3Rlc3RfZW1haWwvZGF0YS9tc2dfMjAudHh0CmRpZmYgLS1naXQgYS9MaWIvZW1haWwvdGVzdC9kYXRhL21zZ18yMS50eHQgYi9MaWIvdGVzdC90ZXN0X2VtYWlsL2RhdGEvbXNnXzIxLnR4dApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gTGliL2VtYWlsL3Rlc3QvZGF0YS9tc2dfMjEudHh0CnJlbmFtZSB0byBMaWIvdGVzdC90ZXN0X2VtYWlsL2RhdGEvbXNnXzIxLnR4dApkaWZmIC0tZ2l0IGEvTGliL2VtYWlsL3Rlc3QvZGF0YS9tc2dfMjIudHh0IGIvTGliL3Rlc3QvdGVzdF9lbWFpbC9kYXRhL21zZ18yMi50eHQKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIExpYi9lbWFpbC90ZXN0L2RhdGEvbXNnXzIyLnR4dApyZW5hbWUgdG8gTGliL3Rlc3QvdGVzdF9lbWFpbC9kYXRhL21zZ18yMi50eHQKZGlmZiAtLWdpdCBhL0xpYi9lbWFpbC90ZXN0L2RhdGEvbXNnXzIzLnR4dCBiL0xpYi90ZXN0L3Rlc3RfZW1haWwvZGF0YS9tc2dfMjMudHh0CnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBMaWIvZW1haWwvdGVzdC9kYXRhL21zZ18yMy50eHQKcmVuYW1lIHRvIExpYi90ZXN0L3Rlc3RfZW1haWwvZGF0YS9tc2dfMjMudHh0CmRpZmYgLS1naXQgYS9MaWIvZW1haWwvdGVzdC9kYXRhL21zZ18yNC50eHQgYi9MaWIvdGVzdC90ZXN0X2VtYWlsL2RhdGEvbXNnXzI0LnR4dApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gTGliL2VtYWlsL3Rlc3QvZGF0YS9tc2dfMjQudHh0CnJlbmFtZSB0byBMaWIvdGVzdC90ZXN0X2VtYWlsL2RhdGEvbXNnXzI0LnR4dApkaWZmIC0tZ2l0IGEvTGliL2VtYWlsL3Rlc3QvZGF0YS9tc2dfMjUudHh0IGIvTGliL3Rlc3QvdGVzdF9lbWFpbC9kYXRhL21zZ18yNS50eHQKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIExpYi9lbWFpbC90ZXN0L2RhdGEvbXNnXzI1LnR4dApyZW5hbWUgdG8gTGliL3Rlc3QvdGVzdF9lbWFpbC9kYXRhL21zZ18yNS50eHQKZGlmZiAtLWdpdCBhL0xpYi9lbWFpbC90ZXN0L2RhdGEvbXNnXzI2LnR4dCBiL0xpYi90ZXN0L3Rlc3RfZW1haWwvZGF0YS9tc2dfMjYudHh0CnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBMaWIvZW1haWwvdGVzdC9kYXRhL21zZ18yNi50eHQKcmVuYW1lIHRvIExpYi90ZXN0L3Rlc3RfZW1haWwvZGF0YS9tc2dfMjYudHh0CmRpZmYgLS1naXQgYS9MaWIvZW1haWwvdGVzdC9kYXRhL21zZ18yNy50eHQgYi9MaWIvdGVzdC90ZXN0X2VtYWlsL2RhdGEvbXNnXzI3LnR4dApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gTGliL2VtYWlsL3Rlc3QvZGF0YS9tc2dfMjcudHh0CnJlbmFtZSB0byBMaWIvdGVzdC90ZXN0X2VtYWlsL2RhdGEvbXNnXzI3LnR4dApkaWZmIC0tZ2l0IGEvTGliL2VtYWlsL3Rlc3QvZGF0YS9tc2dfMjgudHh0IGIvTGliL3Rlc3QvdGVzdF9lbWFpbC9kYXRhL21zZ18yOC50eHQKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIExpYi9lbWFpbC90ZXN0L2RhdGEvbXNnXzI4LnR4dApyZW5hbWUgdG8gTGliL3Rlc3QvdGVzdF9lbWFpbC9kYXRhL21zZ18yOC50eHQKZGlmZiAtLWdpdCBhL0xpYi9lbWFpbC90ZXN0L2RhdGEvbXNnXzI5LnR4dCBiL0xpYi90ZXN0L3Rlc3RfZW1haWwvZGF0YS9tc2dfMjkudHh0CnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBMaWIvZW1haWwvdGVzdC9kYXRhL21zZ18yOS50eHQKcmVuYW1lIHRvIExpYi90ZXN0L3Rlc3RfZW1haWwvZGF0YS9tc2dfMjkudHh0CmRpZmYgLS1naXQgYS9MaWIvZW1haWwvdGVzdC9kYXRhL21zZ18zMC50eHQgYi9MaWIvdGVzdC90ZXN0X2VtYWlsL2RhdGEvbXNnXzMwLnR4dApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gTGliL2VtYWlsL3Rlc3QvZGF0YS9tc2dfMzAudHh0CnJlbmFtZSB0byBMaWIvdGVzdC90ZXN0X2VtYWlsL2RhdGEvbXNnXzMwLnR4dApkaWZmIC0tZ2l0IGEvTGliL2VtYWlsL3Rlc3QvZGF0YS9tc2dfMzEudHh0IGIvTGliL3Rlc3QvdGVzdF9lbWFpbC9kYXRhL21zZ18zMS50eHQKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIExpYi9lbWFpbC90ZXN0L2RhdGEvbXNnXzMxLnR4dApyZW5hbWUgdG8gTGliL3Rlc3QvdGVzdF9lbWFpbC9kYXRhL21zZ18zMS50eHQKZGlmZiAtLWdpdCBhL0xpYi9lbWFpbC90ZXN0L2RhdGEvbXNnXzMyLnR4dCBiL0xpYi90ZXN0L3Rlc3RfZW1haWwvZGF0YS9tc2dfMzIudHh0CnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBMaWIvZW1haWwvdGVzdC9kYXRhL21zZ18zMi50eHQKcmVuYW1lIHRvIExpYi90ZXN0L3Rlc3RfZW1haWwvZGF0YS9tc2dfMzIudHh0CmRpZmYgLS1naXQgYS9MaWIvZW1haWwvdGVzdC9kYXRhL21zZ18zMy50eHQgYi9MaWIvdGVzdC90ZXN0X2VtYWlsL2RhdGEvbXNnXzMzLnR4dApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gTGliL2VtYWlsL3Rlc3QvZGF0YS9tc2dfMzMudHh0CnJlbmFtZSB0byBMaWIvdGVzdC90ZXN0X2VtYWlsL2RhdGEvbXNnXzMzLnR4dApkaWZmIC0tZ2l0IGEvTGliL2VtYWlsL3Rlc3QvZGF0YS9tc2dfMzQudHh0IGIvTGliL3Rlc3QvdGVzdF9lbWFpbC9kYXRhL21zZ18zNC50eHQKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIExpYi9lbWFpbC90ZXN0L2RhdGEvbXNnXzM0LnR4dApyZW5hbWUgdG8gTGliL3Rlc3QvdGVzdF9lbWFpbC9kYXRhL21zZ18zNC50eHQKZGlmZiAtLWdpdCBhL0xpYi9lbWFpbC90ZXN0L2RhdGEvbXNnXzM1LnR4dCBiL0xpYi90ZXN0L3Rlc3RfZW1haWwvZGF0YS9tc2dfMzUudHh0CnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBMaWIvZW1haWwvdGVzdC9kYXRhL21zZ18zNS50eHQKcmVuYW1lIHRvIExpYi90ZXN0L3Rlc3RfZW1haWwvZGF0YS9tc2dfMzUudHh0CmRpZmYgLS1naXQgYS9MaWIvZW1haWwvdGVzdC9kYXRhL21zZ18zNi50eHQgYi9MaWIvdGVzdC90ZXN0X2VtYWlsL2RhdGEvbXNnXzM2LnR4dApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gTGliL2VtYWlsL3Rlc3QvZGF0YS9tc2dfMzYudHh0CnJlbmFtZSB0byBMaWIvdGVzdC90ZXN0X2VtYWlsL2RhdGEvbXNnXzM2LnR4dApkaWZmIC0tZ2l0IGEvTGliL2VtYWlsL3Rlc3QvZGF0YS9tc2dfMzcudHh0IGIvTGliL3Rlc3QvdGVzdF9lbWFpbC9kYXRhL21zZ18zNy50eHQKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIExpYi9lbWFpbC90ZXN0L2RhdGEvbXNnXzM3LnR4dApyZW5hbWUgdG8gTGliL3Rlc3QvdGVzdF9lbWFpbC9kYXRhL21zZ18zNy50eHQKZGlmZiAtLWdpdCBhL0xpYi9lbWFpbC90ZXN0L2RhdGEvbXNnXzM4LnR4dCBiL0xpYi90ZXN0L3Rlc3RfZW1haWwvZGF0YS9tc2dfMzgudHh0CnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBMaWIvZW1haWwvdGVzdC9kYXRhL21zZ18zOC50eHQKcmVuYW1lIHRvIExpYi90ZXN0L3Rlc3RfZW1haWwvZGF0YS9tc2dfMzgudHh0CmRpZmYgLS1naXQgYS9MaWIvZW1haWwvdGVzdC9kYXRhL21zZ18zOS50eHQgYi9MaWIvdGVzdC90ZXN0X2VtYWlsL2RhdGEvbXNnXzM5LnR4dApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gTGliL2VtYWlsL3Rlc3QvZGF0YS9tc2dfMzkudHh0CnJlbmFtZSB0byBMaWIvdGVzdC90ZXN0X2VtYWlsL2RhdGEvbXNnXzM5LnR4dApkaWZmIC0tZ2l0IGEvTGliL2VtYWlsL3Rlc3QvZGF0YS9tc2dfNDAudHh0IGIvTGliL3Rlc3QvdGVzdF9lbWFpbC9kYXRhL21zZ180MC50eHQKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIExpYi9lbWFpbC90ZXN0L2RhdGEvbXNnXzQwLnR4dApyZW5hbWUgdG8gTGliL3Rlc3QvdGVzdF9lbWFpbC9kYXRhL21zZ180MC50eHQKZGlmZiAtLWdpdCBhL0xpYi9lbWFpbC90ZXN0L2RhdGEvbXNnXzQxLnR4dCBiL0xpYi90ZXN0L3Rlc3RfZW1haWwvZGF0YS9tc2dfNDEudHh0CnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBMaWIvZW1haWwvdGVzdC9kYXRhL21zZ180MS50eHQKcmVuYW1lIHRvIExpYi90ZXN0L3Rlc3RfZW1haWwvZGF0YS9tc2dfNDEudHh0CmRpZmYgLS1naXQgYS9MaWIvZW1haWwvdGVzdC9kYXRhL21zZ180Mi50eHQgYi9MaWIvdGVzdC90ZXN0X2VtYWlsL2RhdGEvbXNnXzQyLnR4dApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gTGliL2VtYWlsL3Rlc3QvZGF0YS9tc2dfNDIudHh0CnJlbmFtZSB0byBMaWIvdGVzdC90ZXN0X2VtYWlsL2RhdGEvbXNnXzQyLnR4dApkaWZmIC0tZ2l0IGEvTGliL2VtYWlsL3Rlc3QvZGF0YS9tc2dfNDMudHh0IGIvTGliL3Rlc3QvdGVzdF9lbWFpbC9kYXRhL21zZ180My50eHQKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIExpYi9lbWFpbC90ZXN0L2RhdGEvbXNnXzQzLnR4dApyZW5hbWUgdG8gTGliL3Rlc3QvdGVzdF9lbWFpbC9kYXRhL21zZ180My50eHQKZGlmZiAtLWdpdCBhL0xpYi9lbWFpbC90ZXN0L2RhdGEvbXNnXzQ0LnR4dCBiL0xpYi90ZXN0L3Rlc3RfZW1haWwvZGF0YS9tc2dfNDQudHh0CnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBMaWIvZW1haWwvdGVzdC9kYXRhL21zZ180NC50eHQKcmVuYW1lIHRvIExpYi90ZXN0L3Rlc3RfZW1haWwvZGF0YS9tc2dfNDQudHh0CmRpZmYgLS1naXQgYS9MaWIvZW1haWwvdGVzdC9kYXRhL21zZ180NS50eHQgYi9MaWIvdGVzdC90ZXN0X2VtYWlsL2RhdGEvbXNnXzQ1LnR4dApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gTGliL2VtYWlsL3Rlc3QvZGF0YS9tc2dfNDUudHh0CnJlbmFtZSB0byBMaWIvdGVzdC90ZXN0X2VtYWlsL2RhdGEvbXNnXzQ1LnR4dApkaWZmIC0tZ2l0IGEvTGliL2VtYWlsL3Rlc3QvZGF0YS9tc2dfNDYudHh0IGIvTGliL3Rlc3QvdGVzdF9lbWFpbC9kYXRhL21zZ180Ni50eHQKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIExpYi9lbWFpbC90ZXN0L2RhdGEvbXNnXzQ2LnR4dApyZW5hbWUgdG8gTGliL3Rlc3QvdGVzdF9lbWFpbC9kYXRhL21zZ180Ni50eHQKZGlmZiAtLWdpdCBhL0xpYi9lbWFpbC90ZXN0L3Rlc3RfZW1haWxfY29kZWNzLnB5IGIvTGliL3Rlc3QvdGVzdF9lbWFpbC90ZXN0X2FzaWFuX2NvZGVjcy5weQpzaW1pbGFyaXR5IGluZGV4IDkxJQpyZW5hbWUgZnJvbSBMaWIvZW1haWwvdGVzdC90ZXN0X2VtYWlsX2NvZGVjcy5weQpyZW5hbWUgdG8gTGliL3Rlc3QvdGVzdF9lbWFpbC90ZXN0X2FzaWFuX2NvZGVjcy5weQppbmRleCBjYTg1ZjU3Li5hNGRkOWE5IDEwMDY0NAotLS0gYS9MaWIvZW1haWwvdGVzdC90ZXN0X2VtYWlsX2NvZGVjcy5weQorKysgYi9MaWIvdGVzdC90ZXN0X2VtYWlsL3Rlc3RfYXNpYW5fY29kZWNzLnB5CkBAIC01LDcgKzUsNyBAQAogaW1wb3J0IHVuaXR0ZXN0CiBmcm9tIHRlc3Quc3VwcG9ydCBpbXBvcnQgcnVuX3VuaXR0ZXN0CiAKLWZyb20gZW1haWwudGVzdC50ZXN0X2VtYWlsIGltcG9ydCBUZXN0RW1haWxCYXNlCitmcm9tIHRlc3QudGVzdF9lbWFpbC50ZXN0X2VtYWlsIGltcG9ydCBUZXN0RW1haWxCYXNlCiBmcm9tIGVtYWlsLmNoYXJzZXQgaW1wb3J0IENoYXJzZXQKIGZyb20gZW1haWwuaGVhZGVyIGltcG9ydCBIZWFkZXIsIGRlY29kZV9oZWFkZXIKIGZyb20gZW1haWwubWVzc2FnZSBpbXBvcnQgTWVzc2FnZQpAQCAtNzgsMTYgKzc4LDUgQEAKIAogCiAMCi1kZWYgc3VpdGUoKToKLSAgICBzdWl0ZSA9IHVuaXR0ZXN0LlRlc3RTdWl0ZSgpCi0gICAgc3VpdGUuYWRkVGVzdCh1bml0dGVzdC5tYWtlU3VpdGUoVGVzdEVtYWlsQXNpYW5Db2RlY3MpKQotICAgIHJldHVybiBzdWl0ZQotCi0KLWRlZiB0ZXN0X21haW4oKToKLSAgICBydW5fdW5pdHRlc3QoVGVzdEVtYWlsQXNpYW5Db2RlY3MpCi0KLQotDAogaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKLSAgICB1bml0dGVzdC5tYWluKGRlZmF1bHRUZXN0PSdzdWl0ZScpCisgICAgdW5pdHRlc3QubWFpbigpCmRpZmYgLS1naXQgYS9MaWIvZW1haWwvdGVzdC90ZXN0X2VtYWlsLnB5IGIvTGliL3Rlc3QvdGVzdF9lbWFpbC90ZXN0X2VtYWlsLnB5CnNpbWlsYXJpdHkgaW5kZXggOTMlCnJlbmFtZSBmcm9tIExpYi9lbWFpbC90ZXN0L3Rlc3RfZW1haWwucHkKcmVuYW1lIHRvIExpYi90ZXN0L3Rlc3RfZW1haWwvdGVzdF9lbWFpbC5weQppbmRleCA1ZGIzNGRjLi5lNzcxYzIwIDEwMDY0NAotLS0gYS9MaWIvZW1haWwvdGVzdC90ZXN0X2VtYWlsLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfZW1haWwvdGVzdF9lbWFpbC5weQpAQCAtMzYsNDAgKzM2LDE0IEBACiBmcm9tIGVtYWlsIGltcG9ydCBiYXNlNjRtaW1lCiBmcm9tIGVtYWlsIGltcG9ydCBxdW9wcmltaW1lCiAKLWZyb20gdGVzdC5zdXBwb3J0IGltcG9ydCBmaW5kZmlsZSwgcnVuX3VuaXR0ZXN0LCB1bmxpbmsKLWZyb20gZW1haWwudGVzdCBpbXBvcnQgX19maWxlX18gYXMgbGFuZG1hcmsKLQorZnJvbSB0ZXN0LnN1cHBvcnQgaW1wb3J0IHJ1bl91bml0dGVzdCwgdW5saW5rCitmcm9tIHRlc3QudGVzdF9lbWFpbCBpbXBvcnQgb3BlbmZpbGUsIFRlc3RFbWFpbEJhc2UKIAogTkwgPSAnXG4nCiBFTVBUWVNUUklORyA9ICcnCiBTUEFDRSA9ICcgJwogCiAKLQotZGVmIG9wZW5maWxlKGZpbGVuYW1lLCAqYXJncywgKiprd3MpOgotICAgIHBhdGggPSBvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKGxhbmRtYXJrKSwgJ2RhdGEnLCBmaWxlbmFtZSkKLSAgICByZXR1cm4gb3BlbihwYXRoLCAqYXJncywgKiprd3MpCi0KLQotCi0jIEJhc2UgdGVzdCBjbGFzcwotY2xhc3MgVGVzdEVtYWlsQmFzZSh1bml0dGVzdC5UZXN0Q2FzZSk6Ci0gICAgZGVmIG5kaWZmQXNzZXJ0RXF1YWwoc2VsZiwgZmlyc3QsIHNlY29uZCk6Ci0gICAgICAgICIiIkxpa2UgYXNzZXJ0RXF1YWwgZXhjZXB0IHVzZSBuZGlmZiBmb3IgcmVhZGFibGUgb3V0cHV0LiIiIgotICAgICAgICBpZiBmaXJzdCAhPSBzZWNvbmQ6Ci0gICAgICAgICAgICBzZmlyc3QgPSBzdHIoZmlyc3QpCi0gICAgICAgICAgICBzc2Vjb25kID0gc3RyKHNlY29uZCkKLSAgICAgICAgICAgIHJmaXJzdCA9IFtyZXByKGxpbmUpIGZvciBsaW5lIGluIHNmaXJzdC5zcGxpdGxpbmVzKCldCi0gICAgICAgICAgICByc2Vjb25kID0gW3JlcHIobGluZSkgZm9yIGxpbmUgaW4gc3NlY29uZC5zcGxpdGxpbmVzKCldCi0gICAgICAgICAgICBkaWZmID0gZGlmZmxpYi5uZGlmZihyZmlyc3QsIHJzZWNvbmQpCi0gICAgICAgICAgICByYWlzZSBzZWxmLmZhaWx1cmVFeGNlcHRpb24oTkwgKyBOTC5qb2luKGRpZmYpKQotCi0gICAgZGVmIF9tc2dvYmooc2VsZiwgZmlsZW5hbWUpOgotICAgICAgICB3aXRoIG9wZW5maWxlKGZpbmRmaWxlKGZpbGVuYW1lKSkgYXMgZnA6Ci0gICAgICAgICAgICByZXR1cm4gZW1haWwubWVzc2FnZV9mcm9tX2ZpbGUoZnApCi0KLQotCiAjIFRlc3QgdmFyaW91cyBhc3BlY3RzIG9mIHRoZSBNZXNzYWdlIGNsYXNzJ3MgQVBJCiBjbGFzcyBUZXN0TWVzc2FnZUFQSShUZXN0RW1haWxCYXNlKToKICAgICBkZWYgdGVzdF9nZXRfYWxsKHNlbGYpOgpAQCAtMTk0LDcgKzE2OCw3IEBACiAgICAgZGVmIHRlc3RfbWVzc2FnZV9yZmM4MjJfb25seShzZWxmKToKICAgICAgICAgIyBJc3N1ZSA3OTcwOiBtZXNzYWdlL3JmYzgyMiBub3QgaW4gbXVsdGlwYXJ0IHBhcnNlZCBieQogICAgICAgICAjIEhlYWRlclBhcnNlciBjYXVzZWQgYW4gZXhjZXB0aW9uIHdoZW4gZmxhdHRlbmVkLgotICAgICAgICB3aXRoIG9wZW5maWxlKGZpbmRmaWxlKCdtc2dfNDYudHh0JykpIGFzIGZwOgorICAgICAgICB3aXRoIG9wZW5maWxlKCdtc2dfNDYudHh0JykgYXMgZnA6CiAgICAgICAgICAgICBtc2dkYXRhID0gZnAucmVhZCgpCiAgICAgICAgIHBhcnNlciA9IEhlYWRlclBhcnNlcigpCiAgICAgICAgIG1zZyA9IHBhcnNlci5wYXJzZXN0cihtc2dkYXRhKQpAQCAtMjAzLDYgKzE3NywxNyBAQAogICAgICAgICBnZW4uZmxhdHRlbihtc2csIEZhbHNlKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG91dC5nZXR2YWx1ZSgpLCBtc2dkYXRhKQogCisgICAgZGVmIHRlc3RfYnl0ZV9tZXNzYWdlX3JmYzgyMl9vbmx5KHNlbGYpOgorICAgICAgICAjIE1ha2Ugc3VyZSBuZXcgYnl0ZXMgaGVhZGVyIHBhcnNlciBhbHNvIHBhc3NlcyB0aGlzLgorICAgICAgICB3aXRoIG9wZW5maWxlKCdtc2dfNDYudHh0JywgJ3JiJykgYXMgZnA6CisgICAgICAgICAgICBtc2dkYXRhID0gZnAucmVhZCgpCisgICAgICAgIHBhcnNlciA9IGVtYWlsLnBhcnNlci5CeXRlc0hlYWRlclBhcnNlcigpCisgICAgICAgIG1zZyA9IHBhcnNlci5wYXJzZWJ5dGVzKG1zZ2RhdGEpCisgICAgICAgIG91dCA9IEJ5dGVzSU8oKQorICAgICAgICBnZW4gPSBlbWFpbC5nZW5lcmF0b3IuQnl0ZXNHZW5lcmF0b3Iob3V0KQorICAgICAgICBnZW4uZmxhdHRlbihtc2cpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwob3V0LmdldHZhbHVlKCksIG1zZ2RhdGEpCisKICAgICBkZWYgdGVzdF9nZXRfZGVjb2RlZF9wYXlsb2FkKHNlbGYpOgogICAgICAgICBlcSA9IHNlbGYuYXNzZXJ0RXF1YWwKICAgICAgICAgbXNnID0gc2VsZi5fbXNnb2JqKCdtc2dfMTAudHh0JykKQEAgLTEyNDMsNiArMTIyOCw3IEBACiAgICAgICAgICAgICAgPT91dGYtOD9xP19mb2xkaW5nX3doaXRlX3NwYWNlX3dvcmtzPz0iIiIpKydcbicpCiAKIAorCiAjIFRlc3QgbWFuZ2xpbmcgb2YgIkZyb20gIiBsaW5lcyBpbiB0aGUgYm9keSBvZiBhIG1lc3NhZ2UKIGNsYXNzIFRlc3RGcm9tTWFuZ2xpbmcodW5pdHRlc3QuVGVzdENhc2UpOgogICAgIGRlZiBzZXRVcChzZWxmKToKQEAgLTEyODAsMTMgKzEyNjYsNyBAQAogIyBUZXN0IHRoZSBiYXNpYyBNSU1FQXVkaW8gY2xhc3MKIGNsYXNzIFRlc3RNSU1FQXVkaW8odW5pdHRlc3QuVGVzdENhc2UpOgogICAgIGRlZiBzZXRVcChzZWxmKToKLSAgICAgICAgIyBNYWtlIHN1cmUgd2UgcGljayB1cCB0aGUgYXVkaW90ZXN0LmF1IHRoYXQgbGl2ZXMgaW4gZW1haWwvdGVzdC9kYXRhLgotICAgICAgICAjIEluIFB5dGhvbiwgdGhlcmUncyBhbiBhdWRpb3Rlc3QuYXUgbGl2aW5nIGluIExpYi90ZXN0IGJ1dCB0aGF0IGlzbid0Ci0gICAgICAgICMgaW5jbHVkZWQgaW4gc29tZSBiaW5hcnkgZGlzdHJvcyB0aGF0IGRvbid0IGluY2x1ZGUgdGhlIHRlc3QKLSAgICAgICAgIyBwYWNrYWdlLiAgVGhlIHRyYWlsaW5nIGVtcHR5IHN0cmluZyBvbiB0aGUgLmpvaW4oKSBpcyBzaWduaWZpY2FudAotICAgICAgICAjIHNpbmNlIGZpbmRmaWxlKCkgd2lsbCBkbyBhIGRpcm5hbWUoKS4KLSAgICAgICAgZGF0YWRpciA9IG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUobGFuZG1hcmspLCAnZGF0YScsICcnKQotICAgICAgICB3aXRoIG9wZW4oZmluZGZpbGUoJ2F1ZGlvdGVzdC5hdScsIGRhdGFkaXIpLCAncmInKSBhcyBmcDoKKyAgICAgICAgd2l0aCBvcGVuZmlsZSgnYXVkaW90ZXN0LmF1JywgJ3JiJykgYXMgZnA6CiAgICAgICAgICAgICBzZWxmLl9hdWRpb2RhdGEgPSBmcC5yZWFkKCkKICAgICAgICAgc2VsZi5fYXUgPSBNSU1FQXVkaW8oc2VsZi5fYXVkaW9kYXRhKQogCkBAIC0xODEzLDcgKzE3OTMsMTIgQEAKIAogCiAjIFRlc3Qgc29tZSBiYWRseSBmb3JtYXR0ZWQgbWVzc2FnZXMKLWNsYXNzIFRlc3ROb25Db25mb3JtYW50KFRlc3RFbWFpbEJhc2UpOgorY2xhc3MgVGVzdE5vbkNvbmZvcm1hbnRCYXNlOgorCisgICAgZGVmIF9tc2dvYmooc2VsZiwgZmlsZW5hbWUpOgorICAgICAgICB3aXRoIG9wZW5maWxlKGZpbGVuYW1lKSBhcyBmcDoKKyAgICAgICAgICAgIHJldHVybiBlbWFpbC5tZXNzYWdlX2Zyb21fZmlsZShmcCwgcG9saWN5PXNlbGYucG9saWN5KQorCiAgICAgZGVmIHRlc3RfcGFyc2VfbWlzc2luZ19taW5vcl90eXBlKHNlbGYpOgogICAgICAgICBlcSA9IHNlbGYuYXNzZXJ0RXF1YWwKICAgICAgICAgbXNnID0gc2VsZi5fbXNnb2JqKCdtc2dfMTQudHh0JykKQEAgLTE4MjcsMTkgKzE4MTIsNjUgQEAKICAgICAgICAgIyBYWFggV2UgY2FuIHByb2JhYmx5IGV2ZW50dWFsbHkgZG8gYmV0dGVyCiAgICAgICAgIGlubmVyID0gbXNnLmdldF9wYXlsb2FkKDApCiAgICAgICAgIHVubGVzcyhoYXNhdHRyKGlubmVyLCAnZGVmZWN0cycpKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihpbm5lci5kZWZlY3RzKSwgMSkKLSAgICAgICAgdW5sZXNzKGlzaW5zdGFuY2UoaW5uZXIuZGVmZWN0c1swXSwKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oc2VsZi5nZXRfZGVmZWN0cyhpbm5lcikpLCAxKQorICAgICAgICB1bmxlc3MoaXNpbnN0YW5jZShzZWxmLmdldF9kZWZlY3RzKGlubmVyKVswXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JzLlN0YXJ0Qm91bmRhcnlOb3RGb3VuZERlZmVjdCkpCiAKICAgICBkZWYgdGVzdF9tdWx0aXBhcnRfbm9fYm91bmRhcnkoc2VsZik6CiAgICAgICAgIHVubGVzcyA9IHNlbGYuYXNzZXJ0VHJ1ZQogICAgICAgICBtc2cgPSBzZWxmLl9tc2dvYmooJ21zZ18yNS50eHQnKQogICAgICAgICB1bmxlc3MoaXNpbnN0YW5jZShtc2cuZ2V0X3BheWxvYWQoKSwgc3RyKSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4obXNnLmRlZmVjdHMpLCAyKQotICAgICAgICB1bmxlc3MoaXNpbnN0YW5jZShtc2cuZGVmZWN0c1swXSwgZXJyb3JzLk5vQm91bmRhcnlJbk11bHRpcGFydERlZmVjdCkpCi0gICAgICAgIHVubGVzcyhpc2luc3RhbmNlKG1zZy5kZWZlY3RzWzFdLAorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihzZWxmLmdldF9kZWZlY3RzKG1zZykpLCAyKQorICAgICAgICB1bmxlc3MoaXNpbnN0YW5jZShzZWxmLmdldF9kZWZlY3RzKG1zZylbMF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9ycy5Ob0JvdW5kYXJ5SW5NdWx0aXBhcnREZWZlY3QpKQorICAgICAgICB1bmxlc3MoaXNpbnN0YW5jZShzZWxmLmdldF9kZWZlY3RzKG1zZylbMV0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9ycy5NdWx0aXBhcnRJbnZhcmlhbnRWaW9sYXRpb25EZWZlY3QpKQogCisgICAgbXVsdGlwYXJ0X21zZyA9IHRleHR3cmFwLmRlZGVudCgiIiJcCisgICAgICAgIERhdGU6IFdlZCwgMTQgTm92IDIwMDcgMTI6NTY6MjMgR01UCisgICAgICAgIEZyb206IGZvb0BiYXIuaW52YWxpZAorICAgICAgICBUbzogZm9vQGJhci5pbnZhbGlkCisgICAgICAgIFN1YmplY3Q6IENvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IGJhc2U2NCBhbmQgbXVsdGlwYXJ0CisgICAgICAgIE1JTUUtVmVyc2lvbjogMS4wCisgICAgICAgIENvbnRlbnQtVHlwZTogbXVsdGlwYXJ0L21peGVkOworICAgICAgICAgICAgYm91bmRhcnk9Ij09PT09PT09PT09PT09PTMzNDQ0Mzg3ODQ0NTgxMTk4NjE9PSJ7fQorCisgICAgICAgIC0tPT09PT09PT09PT09PT09MzM0NDQzODc4NDQ1ODExOTg2MT09CisgICAgICAgIENvbnRlbnQtVHlwZTogdGV4dC9wbGFpbgorCisgICAgICAgIFRlc3QgbWVzc2FnZQorCisgICAgICAgIC0tPT09PT09PT09PT09PT09MzM0NDQzODc4NDQ1ODExOTg2MT09CisgICAgICAgIENvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtCisgICAgICAgIENvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IGJhc2U2NAorCisgICAgICAgIFlXSmoKKworICAgICAgICAtLT09PT09PT09PT09PT09PTMzNDQ0Mzg3ODQ0NTgxMTk4NjE9PS0tCisgICAgICAgICIiIikKKworICAgIGRlZiB0ZXN0X211bHRpcGFydF9pbnZhbGlkX2N0ZShzZWxmKToKKyAgICAgICAgbXNnID0gZW1haWwubWVzc2FnZV9mcm9tX3N0cmluZygKKyAgICAgICAgICAgIHNlbGYubXVsdGlwYXJ0X21zZy5mb3JtYXQoIlxuQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogYmFzZTY0IiksCisgICAgICAgICAgICBwb2xpY3kgPSBzZWxmLnBvbGljeSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oc2VsZi5nZXRfZGVmZWN0cyhtc2cpKSwgMSkKKyAgICAgICAgc2VsZi5hc3NlcnRJc0luc3RhbmNlKHNlbGYuZ2V0X2RlZmVjdHMobXNnKVswXSwKKyAgICAgICAgICAgIGVycm9ycy5JbnZhbGlkTXVsdGlwYXJ0Q29udGVudFRyYW5zZmVyRW5jb2RpbmdEZWZlY3QpCisKKyAgICBkZWYgdGVzdF9tdWx0aXBhcnRfbm9fY3RlX25vX2RlZmVjdChzZWxmKToKKyAgICAgICAgbXNnID0gZW1haWwubWVzc2FnZV9mcm9tX3N0cmluZygKKyAgICAgICAgICAgIHNlbGYubXVsdGlwYXJ0X21zZy5mb3JtYXQoJycpLAorICAgICAgICAgICAgcG9saWN5ID0gc2VsZi5wb2xpY3kpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKHNlbGYuZ2V0X2RlZmVjdHMobXNnKSksIDApCisKKyAgICBkZWYgdGVzdF9tdWx0aXBhcnRfdmFsaWRfY3RlX25vX2RlZmVjdChzZWxmKToKKyAgICAgICAgZm9yIGN0ZSBpbiAoJzdiaXQnLCAnOGJpdCcsICdCSU5hcnknKToKKyAgICAgICAgICAgIG1zZyA9IGVtYWlsLm1lc3NhZ2VfZnJvbV9zdHJpbmcoCisgICAgICAgICAgICAgICAgc2VsZi5tdWx0aXBhcnRfbXNnLmZvcm1hdCgKKyAgICAgICAgICAgICAgICAgICAgIlxuQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzoge30iLmZvcm1hdChjdGUpKSwKKyAgICAgICAgICAgICAgICBwb2xpY3kgPSBzZWxmLnBvbGljeSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKHNlbGYuZ2V0X2RlZmVjdHMobXNnKSksIDApCisKICAgICBkZWYgdGVzdF9pbnZhbGlkX2NvbnRlbnRfdHlwZShzZWxmKToKICAgICAgICAgZXEgPSBzZWxmLmFzc2VydEVxdWFsCiAgICAgICAgIG5lcSA9IHNlbGYubmRpZmZBc3NlcnRFcXVhbApAQCAtMTg5Myw5ICsxOTI0LDEwIEBACiAgICAgICAgIHVubGVzcyA9IHNlbGYuYXNzZXJ0VHJ1ZQogICAgICAgICBtc2cgPSBzZWxmLl9tc2dvYmooJ21zZ180MS50eHQnKQogICAgICAgICB1bmxlc3MoaGFzYXR0cihtc2csICdkZWZlY3RzJykpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKG1zZy5kZWZlY3RzKSwgMikKLSAgICAgICAgdW5sZXNzKGlzaW5zdGFuY2UobXNnLmRlZmVjdHNbMF0sIGVycm9ycy5Ob0JvdW5kYXJ5SW5NdWx0aXBhcnREZWZlY3QpKQotICAgICAgICB1bmxlc3MoaXNpbnN0YW5jZShtc2cuZGVmZWN0c1sxXSwKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oc2VsZi5nZXRfZGVmZWN0cyhtc2cpKSwgMikKKyAgICAgICAgdW5sZXNzKGlzaW5zdGFuY2Uoc2VsZi5nZXRfZGVmZWN0cyhtc2cpWzBdLAorICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcnMuTm9Cb3VuZGFyeUluTXVsdGlwYXJ0RGVmZWN0KSkKKyAgICAgICAgdW5sZXNzKGlzaW5zdGFuY2Uoc2VsZi5nZXRfZGVmZWN0cyhtc2cpWzFdLAogICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcnMuTXVsdGlwYXJ0SW52YXJpYW50VmlvbGF0aW9uRGVmZWN0KSkKIAogICAgIGRlZiB0ZXN0X21pc3Npbmdfc3RhcnRfYm91bmRhcnkoc2VsZik6CkBAIC0xOTA5LDIyICsxOTQxLDcyIEBACiAgICAgICAgICMKICAgICAgICAgIyBbKl0gVGhpcyBtZXNzYWdlIGlzIG1pc3NpbmcgaXRzIHN0YXJ0IGJvdW5kYXJ5CiAgICAgICAgIGJhZCA9IG91dGVyLmdldF9wYXlsb2FkKDEpLmdldF9wYXlsb2FkKDApCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGJhZC5kZWZlY3RzKSwgMSkKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGlzaW5zdGFuY2UoYmFkLmRlZmVjdHNbMF0sCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKHNlbGYuZ2V0X2RlZmVjdHMoYmFkKSksIDEpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShpc2luc3RhbmNlKHNlbGYuZ2V0X2RlZmVjdHMoYmFkKVswXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JzLlN0YXJ0Qm91bmRhcnlOb3RGb3VuZERlZmVjdCkpCiAKICAgICBkZWYgdGVzdF9maXJzdF9saW5lX2lzX2NvbnRpbnVhdGlvbl9oZWFkZXIoc2VsZik6CiAgICAgICAgIGVxID0gc2VsZi5hc3NlcnRFcXVhbAogICAgICAgICBtID0gJyBMaW5lIDFcbkxpbmUgMlxuTGluZSAzJwotICAgICAgICBtc2cgPSBlbWFpbC5tZXNzYWdlX2Zyb21fc3RyaW5nKG0pCisgICAgICAgIG1zZyA9IGVtYWlsLm1lc3NhZ2VfZnJvbV9zdHJpbmcobSwgcG9saWN5PXNlbGYucG9saWN5KQogICAgICAgICBlcShtc2cua2V5cygpLCBbXSkKICAgICAgICAgZXEobXNnLmdldF9wYXlsb2FkKCksICdMaW5lIDJcbkxpbmUgMycpCi0gICAgICAgIGVxKGxlbihtc2cuZGVmZWN0cyksIDEpCi0gICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShpc2luc3RhbmNlKG1zZy5kZWZlY3RzWzBdLAorICAgICAgICBlcShsZW4oc2VsZi5nZXRfZGVmZWN0cyhtc2cpKSwgMSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGlzaW5zdGFuY2Uoc2VsZi5nZXRfZGVmZWN0cyhtc2cpWzBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcnMuRmlyc3RIZWFkZXJMaW5lSXNDb250aW51YXRpb25EZWZlY3QpKQotICAgICAgICBlcShtc2cuZGVmZWN0c1swXS5saW5lLCAnIExpbmUgMVxuJykKKyAgICAgICAgZXEoc2VsZi5nZXRfZGVmZWN0cyhtc2cpWzBdLmxpbmUsICcgTGluZSAxXG4nKQogCiAKK2NsYXNzIFRlc3ROb25Db25mb3JtYW50KFRlc3ROb25Db25mb3JtYW50QmFzZSwgVGVzdEVtYWlsQmFzZSk6CisKKyAgICBwb2xpY3k9ZW1haWwucG9saWN5LmRlZmF1bHQKKworICAgIGRlZiBnZXRfZGVmZWN0cyhzZWxmLCBvYmopOgorICAgICAgICByZXR1cm4gb2JqLmRlZmVjdHMKKworCitjbGFzcyBUZXN0Tm9uQ29uZm9ybWFudENhcHR1cmUoVGVzdE5vbkNvbmZvcm1hbnRCYXNlLCBUZXN0RW1haWxCYXNlKToKKworICAgIGNsYXNzIENhcHR1cmVQb2xpY3koZW1haWwucG9saWN5LlBvbGljeSk6CisgICAgICAgIGNhcHR1cmVkID0gTm9uZQorICAgICAgICBkZWYgcmVnaXN0ZXJfZGVmZWN0KHNlbGYsIG9iaiwgZGVmZWN0KToKKyAgICAgICAgICAgIHNlbGYuY2FwdHVyZWQuYXBwZW5kKGRlZmVjdCkKKworICAgIGRlZiBzZXRVcChzZWxmKToKKyAgICAgICAgc2VsZi5wb2xpY3kgPSBzZWxmLkNhcHR1cmVQb2xpY3koY2FwdHVyZWQ9bGlzdCgpKQorCisgICAgZGVmIGdldF9kZWZlY3RzKHNlbGYsIG9iaik6CisgICAgICAgIHJldHVybiBzZWxmLnBvbGljeS5jYXB0dXJlZAorCisKK2NsYXNzIFRlc3RSYWlzaW5nRGVmZWN0cyhUZXN0RW1haWxCYXNlKToKKworICAgIGRlZiBfbXNnb2JqKHNlbGYsIGZpbGVuYW1lKToKKyAgICAgICAgd2l0aCBvcGVuZmlsZShmaWxlbmFtZSkgYXMgZnA6CisgICAgICAgICAgICByZXR1cm4gZW1haWwubWVzc2FnZV9mcm9tX2ZpbGUoZnAsIHBvbGljeT1lbWFpbC5wb2xpY3kuc3RyaWN0KQorCisgICAgZGVmIHRlc3Rfc2FtZV9ib3VuZGFyeV9pbm5lcl9vdXRlcihzZWxmKToKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhlcnJvcnMuU3RhcnRCb3VuZGFyeU5vdEZvdW5kRGVmZWN0KToKKyAgICAgICAgICAgIHNlbGYuX21zZ29iaignbXNnXzE1LnR4dCcpCisKKyAgICBkZWYgdGVzdF9tdWx0aXBhcnRfbm9fYm91bmRhcnkoc2VsZik6CisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoZXJyb3JzLk5vQm91bmRhcnlJbk11bHRpcGFydERlZmVjdCk6CisgICAgICAgICAgICBzZWxmLl9tc2dvYmooJ21zZ18yNS50eHQnKQorCisgICAgZGVmIHRlc3RfbHlpbmdfbXVsdGlwYXJ0KHNlbGYpOgorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKGVycm9ycy5Ob0JvdW5kYXJ5SW5NdWx0aXBhcnREZWZlY3QpOgorICAgICAgICAgICAgc2VsZi5fbXNnb2JqKCdtc2dfNDEudHh0JykKKworCisgICAgZGVmIHRlc3RfbWlzc2luZ19zdGFydF9ib3VuZGFyeShzZWxmKToKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhlcnJvcnMuU3RhcnRCb3VuZGFyeU5vdEZvdW5kRGVmZWN0KToKKyAgICAgICAgICAgIHNlbGYuX21zZ29iaignbXNnXzQyLnR4dCcpCisKKyAgICBkZWYgdGVzdF9maXJzdF9saW5lX2lzX2NvbnRpbnVhdGlvbl9oZWFkZXIoc2VsZik6CisgICAgICAgIG0gPSAnIExpbmUgMVxuTGluZSAyXG5MaW5lIDMnCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoZXJyb3JzLkZpcnN0SGVhZGVyTGluZUlzQ29udGludWF0aW9uRGVmZWN0KToKKyAgICAgICAgICAgIG1zZyA9IGVtYWlsLm1lc3NhZ2VfZnJvbV9zdHJpbmcobSwgcG9saWN5PWVtYWlsLnBvbGljeS5zdHJpY3QpCisKIAogIyBUZXN0IFJGQyAyMDQ3IGhlYWRlciBlbmNvZGluZyBhbmQgZGVjb2RpbmcKIGNsYXNzIFRlc3RSRkMyMDQ3KFRlc3RFbWFpbEJhc2UpOgpAQCAtMjU3NCw2ICsyNjU2LDEzIEBACiAgICAgICAgICAgICgyMDAyLCA0LCAzLCAxNCwgNTgsIDI2LCAwLCAxLCAtMSwgLTI4ODAwKSkKIAogCisgICAgZGVmIHRlc3RfcGFyc2VkYXRlX2FjY2VwdHNfdGltZV93aXRoX2RvdHMoc2VsZik6CisgICAgICAgIGVxID0gc2VsZi5hc3NlcnRFcXVhbAorICAgICAgICBlcSh1dGlscy5wYXJzZWRhdGVfdHooJzUgRmViIDIwMDMgMTMuNDcuMjYgLTA4MDAnKSwKKyAgICAgICAgICAgKDIwMDMsIDIsIDUsIDEzLCA0NywgMjYsIDAsIDEsIC0xLCAtMjg4MDApKQorICAgICAgICBlcSh1dGlscy5wYXJzZWRhdGVfdHooJzUgRmViIDIwMDMgMTMuNDcgLTA4MDAnKSwKKyAgICAgICAgICAgKDIwMDMsIDIsIDUsIDEzLCA0NywgMCwgMCwgMSwgLTEsIC0yODgwMCkpCisKICAgICBkZWYgdGVzdF9wYXJzZWRhdGVfYWNjZXB0YWJsZV90b190aW1lX2Z1bmN0aW9ucyhzZWxmKToKICAgICAgICAgZXEgPSBzZWxmLmFzc2VydEVxdWFsCiAgICAgICAgIHRpbWV0dXAgPSB1dGlscy5wYXJzZWRhdGUoJzUgRmViIDIwMDMgMTM6NDc6MjYgLTA4MDAnKQpAQCAtMjYxMCw3ICsyNjk5LDEwIEBACiAgICAgZGVmIHRlc3RfZXNjYXBlX2R1bXAoc2VsZik6CiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCiAgICAgICAgICAgICB1dGlscy5mb3JtYXRhZGRyKCgnQSAoVmVyeSkgU2lsbHkgUGVyc29uJywgJ3BlcnNvbkBkb20uYWluJykpLAotICAgICAgICAgICAgciciQSBcKFZlcnlcKSBTaWxseSBQZXJzb24iIDxwZXJzb25AZG9tLmFpbj4nKQorICAgICAgICAgICAgciciQSAoVmVyeSkgU2lsbHkgUGVyc29uIiA8cGVyc29uQGRvbS5haW4+JykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgIHV0aWxzLnBhcnNlYWRkcihyJyJBIFwoVmVyeVwpIFNpbGx5IFBlcnNvbiIgPHBlcnNvbkBkb20uYWluPicpLAorICAgICAgICAgICAgKCdBIChWZXJ5KSBTaWxseSBQZXJzb24nLCAncGVyc29uQGRvbS5haW4nKSkKICAgICAgICAgYSA9IHInQSBcKFNwZWNpYWxcKSBQZXJzb24nCiAgICAgICAgIGIgPSAncGVyc29uQGRvbS5haW4nCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodXRpbHMucGFyc2VhZGRyKHV0aWxzLmZvcm1hdGFkZHIoKGEsIGIpKSksIChhLCBiKSkKQEAgLTI2MjMsNiArMjcxNSw0NiBAQAogICAgICAgICBiID0gJ3BlcnNvbkBkb20uYWluJwogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHV0aWxzLnBhcnNlYWRkcih1dGlscy5mb3JtYXRhZGRyKChhLCBiKSkpLCAoYSwgYikpCiAKKyAgICBkZWYgdGVzdF9xdW90ZXNfdW5pY29kZV9uYW1lcyhzZWxmKToKKyAgICAgICAgIyBpc3N1ZSAxNjkwNjA4LiAgZW1haWwudXRpbHMuZm9ybWF0YWRkcigpIHNob3VsZCBiZSByZmMyMDQ3IGF3YXJlLgorICAgICAgICBuYW1lID0gIkhcdTAwZTRucyBXXHUwMGZjcnN0IgorICAgICAgICBhZGRyID0gJ3BlcnNvbkBkb20uYWluJworICAgICAgICB1dGY4X2Jhc2U2NCA9ICI9P3V0Zi04P2I/U01Pa2JuTWdWOE84Y25OMD89IDxwZXJzb25AZG9tLmFpbj4iCisgICAgICAgIGxhdGluMV9xdW9wcmkgPSAiPT9pc28tODg1OS0xP3E/SD1FNG5zX1c9RkNyc3Q/PSA8cGVyc29uQGRvbS5haW4+IgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHV0aWxzLmZvcm1hdGFkZHIoKG5hbWUsIGFkZHIpKSwgdXRmOF9iYXNlNjQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodXRpbHMuZm9ybWF0YWRkcigobmFtZSwgYWRkciksICdpc28tODg1OS0xJyksCisgICAgICAgICAgICBsYXRpbjFfcXVvcHJpKQorCisgICAgZGVmIHRlc3RfYWNjZXB0c19hbnlfY2hhcnNldF9saWtlX29iamVjdChzZWxmKToKKyAgICAgICAgIyBpc3N1ZSAxNjkwNjA4LiAgZW1haWwudXRpbHMuZm9ybWF0YWRkcigpIHNob3VsZCBiZSByZmMyMDQ3IGF3YXJlLgorICAgICAgICBuYW1lID0gIkhcdTAwZTRucyBXXHUwMGZjcnN0IgorICAgICAgICBhZGRyID0gJ3BlcnNvbkBkb20uYWluJworICAgICAgICB1dGY4X2Jhc2U2NCA9ICI9P3V0Zi04P2I/U01Pa2JuTWdWOE84Y25OMD89IDxwZXJzb25AZG9tLmFpbj4iCisgICAgICAgIGZvb2JhciA9ICJGT09CQVIiCisgICAgICAgIGNsYXNzIENoYXJzZXRNb2NrOgorICAgICAgICAgICAgZGVmIGhlYWRlcl9lbmNvZGUoc2VsZiwgc3RyaW5nKToKKyAgICAgICAgICAgICAgICByZXR1cm4gZm9vYmFyCisgICAgICAgIG1vY2sgPSBDaGFyc2V0TW9jaygpCisgICAgICAgIG1vY2tfZXhwZWN0ZWQgPSAiJXMgPCVzPiIgJSAoZm9vYmFyLCBhZGRyKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHV0aWxzLmZvcm1hdGFkZHIoKG5hbWUsIGFkZHIpLCBtb2NrKSwgbW9ja19leHBlY3RlZCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh1dGlscy5mb3JtYXRhZGRyKChuYW1lLCBhZGRyKSwgQ2hhcnNldCgndXRmLTgnKSksCisgICAgICAgICAgICB1dGY4X2Jhc2U2NCkKKworICAgIGRlZiB0ZXN0X2ludmFsaWRfY2hhcnNldF9saWtlX29iamVjdF9yYWlzZXNfZXJyb3Ioc2VsZik6CisgICAgICAgICMgaXNzdWUgMTY5MDYwOC4gIGVtYWlsLnV0aWxzLmZvcm1hdGFkZHIoKSBzaG91bGQgYmUgcmZjMjA0NyBhd2FyZS4KKyAgICAgICAgbmFtZSA9ICJIXHUwMGU0bnMgV1x1MDBmY3JzdCIKKyAgICAgICAgYWRkciA9ICdwZXJzb25AZG9tLmFpbicKKyAgICAgICAgIyBBIG9iamVjdCB3aXRob3V0IGEgaGVhZGVyX2VuY29kZSBtZXRob2Q6CisgICAgICAgIGJhZF9jaGFyc2V0ID0gb2JqZWN0KCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoQXR0cmlidXRlRXJyb3IsIHV0aWxzLmZvcm1hdGFkZHIsIChuYW1lLCBhZGRyKSwKKyAgICAgICAgICAgIGJhZF9jaGFyc2V0KQorCisgICAgZGVmIHRlc3RfdW5pY29kZV9hZGRyZXNzX3JhaXNlc19lcnJvcihzZWxmKToKKyAgICAgICAgIyBpc3N1ZSAxNjkwNjA4LiAgZW1haWwudXRpbHMuZm9ybWF0YWRkcigpIHNob3VsZCBiZSByZmMyMDQ3IGF3YXJlLgorICAgICAgICBhZGRyID0gJ3BlcnNcdTAwZjZuQGRvbS5pbicKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVW5pY29kZUVycm9yLCB1dGlscy5mb3JtYXRhZGRyLCAoTm9uZSwgYWRkcikpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFVuaWNvZGVFcnJvciwgdXRpbHMuZm9ybWF0YWRkciwgKCJOYW1lIiwgYWRkcikpCisKICAgICBkZWYgdGVzdF9uYW1lX3dpdGhfZG90KHNlbGYpOgogICAgICAgICB4ID0gJ0pvaG4gWC4gRG9lIDxqeGRAZXhhbXBsZS5jb20+JwogICAgICAgICB5ID0gJyJKb2huIFguIERvZSIgPGp4ZEBleGFtcGxlLmNvbT4nCkBAIC0yNjY4LDYgKzI4MDAsMTUgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgoJycsICdtZXJ3b2sud29rLndva0B4YW1wbGUuY29tJyksCiAgICAgICAgICAgICB1dGlscy5wYXJzZWFkZHIoJ21lcndvay4gd29rIC4gIHdva0B4YW1wbGUuY29tJykpCiAKKyAgICBkZWYgdGVzdF9mb3JtYXRhZGRyX2RvZXNfbm90X3F1b3RlX3BhcmVuc19pbl9xdW90ZWRfc3RyaW5nKHNlbGYpOgorICAgICAgICBhZGRyID0gKCInZm9vQGV4YW1wbGUuY29tJyAoZm9vQGV4YW1wbGUuY29tKSIsCisgICAgICAgICAgICAgICAgJ2Zvb0BleGFtcGxlLmNvbScpCisgICAgICAgIGFkZHJzdHIgPSAoJyJcJ2Zvb0BleGFtcGxlLmNvbVwnICcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAnKGZvb0BleGFtcGxlLmNvbSkiIDxmb29AZXhhbXBsZS5jb20+JykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh1dGlscy5wYXJzZWFkZHIoYWRkcnN0ciksIGFkZHIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodXRpbHMuZm9ybWF0YWRkcihhZGRyKSwgYWRkcnN0cikKKworCiAgICAgZGVmIHRlc3RfbXVsdGlsaW5lX2Zyb21fY29tbWVudChzZWxmKToKICAgICAgICAgeCA9ICIiIlwKIEZvbwpAQCAtMjkwMyw2ICszMDQ0LDcgQEAKIAogCiBjbGFzcyBUZXN0UGFyc2VycyhUZXN0RW1haWxCYXNlKToKKwogICAgIGRlZiB0ZXN0X2hlYWRlcl9wYXJzZXIoc2VsZik6CiAgICAgICAgIGVxID0gc2VsZi5hc3NlcnRFcXVhbAogICAgICAgICAjIFBhcnNlIG9ubHkgdGhlIGhlYWRlcnMgb2YgYSBjb21wbGV4IG11bHRpcGFydCBNSU1FIGRvY3VtZW50CkBAIC0yOTE0LDYgKzMwNTYsMTggQEAKICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShtc2cuaXNfbXVsdGlwYXJ0KCkpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShpc2luc3RhbmNlKG1zZy5nZXRfcGF5bG9hZCgpLCBzdHIpKQogCisgICAgZGVmIHRlc3RfYnl0ZXNfaGVhZGVyX3BhcnNlcihzZWxmKToKKyAgICAgICAgZXEgPSBzZWxmLmFzc2VydEVxdWFsCisgICAgICAgICMgUGFyc2Ugb25seSB0aGUgaGVhZGVycyBvZiBhIGNvbXBsZXggbXVsdGlwYXJ0IE1JTUUgZG9jdW1lbnQKKyAgICAgICAgd2l0aCBvcGVuZmlsZSgnbXNnXzAyLnR4dCcsICdyYicpIGFzIGZwOgorICAgICAgICAgICAgbXNnID0gZW1haWwucGFyc2VyLkJ5dGVzSGVhZGVyUGFyc2VyKCkucGFyc2UoZnApCisgICAgICAgIGVxKG1zZ1snZnJvbSddLCAncHBwLXJlcXVlc3RAenp6Lm9yZycpCisgICAgICAgIGVxKG1zZ1sndG8nXSwgJ3BwcEB6enoub3JnJykKKyAgICAgICAgZXEobXNnLmdldF9jb250ZW50X3R5cGUoKSwgJ211bHRpcGFydC9taXhlZCcpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UobXNnLmlzX211bHRpcGFydCgpKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoaXNpbnN0YW5jZShtc2cuZ2V0X3BheWxvYWQoKSwgc3RyKSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGlzaW5zdGFuY2UobXNnLmdldF9wYXlsb2FkKGRlY29kZT1UcnVlKSwgYnl0ZXMpKQorCiAgICAgZGVmIHRlc3Rfd2hpdGVzcGFjZV9jb250aW51YXRpb24oc2VsZik6CiAgICAgICAgIGVxID0gc2VsZi5hc3NlcnRFcXVhbAogICAgICAgICAjIFRoaXMgbWVzc2FnZSBjb250YWlucyBhIGxpbmUgYWZ0ZXIgdGhlIFN1YmplY3Q6IGhlYWRlciB0aGF0IGhhcyBvbmx5CkBAIC0yOTcxLDYgKzMxMjUsMjUgQEAKICAgICAgICAgZy5mbGF0dGVuKG1zZywgbGluZXNlcD0nXHJcbicpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocy5nZXR2YWx1ZSgpLCB0ZXh0KQogCisgICAgZGVmIHRlc3RfY3JsZl9jb250cm9sX3ZpYV9wb2xpY3koc2VsZik6CisgICAgICAgIHdpdGggb3BlbmZpbGUoJ21zZ18yNi50eHQnLCBuZXdsaW5lPSdcbicpIGFzIGZwOgorICAgICAgICAgICAgdGV4dCA9IGZwLnJlYWQoKQorICAgICAgICBtc2cgPSBlbWFpbC5tZXNzYWdlX2Zyb21fc3RyaW5nKHRleHQpCisgICAgICAgIHMgPSBTdHJpbmdJTygpCisgICAgICAgIGcgPSBlbWFpbC5nZW5lcmF0b3IuR2VuZXJhdG9yKHMsIHBvbGljeT1lbWFpbC5wb2xpY3kuU01UUCkKKyAgICAgICAgZy5mbGF0dGVuKG1zZykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzLmdldHZhbHVlKCksIHRleHQpCisKKyAgICBkZWYgdGVzdF9mbGF0dGVuX2xpbmVzZXBfb3ZlcnJpZGVzX3BvbGljeShzZWxmKToKKyAgICAgICAgIyBtc2dfMjcgaXMgbGYgc2VwYXJhdGVkCisgICAgICAgIHdpdGggb3BlbmZpbGUoJ21zZ18yNy50eHQnLCBuZXdsaW5lPSdcbicpIGFzIGZwOgorICAgICAgICAgICAgdGV4dCA9IGZwLnJlYWQoKQorICAgICAgICBtc2cgPSBlbWFpbC5tZXNzYWdlX2Zyb21fc3RyaW5nKHRleHQpCisgICAgICAgIHMgPSBTdHJpbmdJTygpCisgICAgICAgIGcgPSBlbWFpbC5nZW5lcmF0b3IuR2VuZXJhdG9yKHMsIHBvbGljeT1lbWFpbC5wb2xpY3kuU01UUCkKKyAgICAgICAgZy5mbGF0dGVuKG1zZywgbGluZXNlcD0nXG4nKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHMuZ2V0dmFsdWUoKSwgdGV4dCkKKwogICAgIG1heERpZmYgPSBOb25lCiAKICAgICBkZWYgdGVzdF9tdWx0aXBhcnRfZGlnZXN0X3dpdGhfZXh0cmFfbWltZV9oZWFkZXJzKHNlbGYpOgpAQCAtMzQ2MSw2ICszNjM0LDQ0IEBACiAgICAgICAgICAgICBzLmdldHZhbHVlKCksCiAgICAgICAgICAgICAnU3ViamVjdDogPT91dGYtOD9iP3hiNXNkY1dsYjNYRWpXdkR2U0JyeGEvRmlBPT0/PVxyXG5cclxuJykKIAorICAgIGRlZiB0ZXN0X2NybGZfY29udHJvbF92aWFfcG9saWN5KHNlbGYpOgorICAgICAgICAjIG1zZ18yNiBpcyBjcmxmIHRlcm1pbmF0ZWQKKyAgICAgICAgd2l0aCBvcGVuZmlsZSgnbXNnXzI2LnR4dCcsICdyYicpIGFzIGZwOgorICAgICAgICAgICAgdGV4dCA9IGZwLnJlYWQoKQorICAgICAgICBtc2cgPSBlbWFpbC5tZXNzYWdlX2Zyb21fYnl0ZXModGV4dCkKKyAgICAgICAgcyA9IEJ5dGVzSU8oKQorICAgICAgICBnID0gZW1haWwuZ2VuZXJhdG9yLkJ5dGVzR2VuZXJhdG9yKHMsIHBvbGljeT1lbWFpbC5wb2xpY3kuU01UUCkKKyAgICAgICAgZy5mbGF0dGVuKG1zZykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzLmdldHZhbHVlKCksIHRleHQpCisKKyAgICBkZWYgdGVzdF9mbGF0dGVuX2xpbmVzZXBfb3ZlcnJpZGVzX3BvbGljeShzZWxmKToKKyAgICAgICAgIyBtc2dfMjcgaXMgbGYgc2VwYXJhdGVkCisgICAgICAgIHdpdGggb3BlbmZpbGUoJ21zZ18yNy50eHQnLCAncmInKSBhcyBmcDoKKyAgICAgICAgICAgIHRleHQgPSBmcC5yZWFkKCkKKyAgICAgICAgbXNnID0gZW1haWwubWVzc2FnZV9mcm9tX2J5dGVzKHRleHQpCisgICAgICAgIHMgPSBCeXRlc0lPKCkKKyAgICAgICAgZyA9IGVtYWlsLmdlbmVyYXRvci5CeXRlc0dlbmVyYXRvcihzLCBwb2xpY3k9ZW1haWwucG9saWN5LlNNVFApCisgICAgICAgIGcuZmxhdHRlbihtc2csIGxpbmVzZXA9J1xuJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzLmdldHZhbHVlKCksIHRleHQpCisKKyAgICBkZWYgdGVzdF9tdXN0X2JlXzdiaXRfaGFuZGxlc191bmtub3duXzhiaXQoc2VsZik6CisgICAgICAgIG1zZyA9IGVtYWlsLm1lc3NhZ2VfZnJvbV9ieXRlcyhzZWxmLm5vbl9sYXRpbl9iaW5fbXNnKQorICAgICAgICBvdXQgPSBCeXRlc0lPKCkKKyAgICAgICAgZyA9IGVtYWlsLmdlbmVyYXRvci5CeXRlc0dlbmVyYXRvcihvdXQsCisgICAgICAgICAgICAgICAgICAgICAgICBwb2xpY3k9ZW1haWwucG9saWN5LmRlZmF1bHQuY2xvbmUobXVzdF9iZV83Yml0PVRydWUpKQorICAgICAgICBnLmZsYXR0ZW4obXNnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG91dC5nZXR2YWx1ZSgpLAorICAgICAgICAgICAgc2VsZi5ub25fbGF0aW5fYmluX21zZ19hczdiaXRfd3JhcHBlZC5lbmNvZGUoJ2FzY2lpJykpCisKKyAgICBkZWYgdGVzdF9tdXN0X2JlXzdiaXRfdHJhbnNmb3Jtc184Yml0X2N0ZShzZWxmKToKKyAgICAgICAgbXNnID0gZW1haWwubWVzc2FnZV9mcm9tX2J5dGVzKHNlbGYubGF0aW5fYmluX21zZykKKyAgICAgICAgb3V0ID0gQnl0ZXNJTygpCisgICAgICAgIGcgPSBlbWFpbC5nZW5lcmF0b3IuQnl0ZXNHZW5lcmF0b3Iob3V0LAorICAgICAgICAgICAgICAgICAgICAgICAgcG9saWN5PWVtYWlsLnBvbGljeS5kZWZhdWx0LmNsb25lKG11c3RfYmVfN2JpdD1UcnVlKSkKKyAgICAgICAgZy5mbGF0dGVuKG1zZykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvdXQuZ2V0dmFsdWUoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYubGF0aW5fYmluX21zZ19hczdiaXQuZW5jb2RlKCdhc2NpaScpKQorCiAgICAgbWF4RGlmZiA9IE5vbmUKIAogCkBAIC0zNDc5LDEyICszNjkwLDcgQEAKICAgICAgICAgYiA9IEJ5dGVzSU8oKQogICAgICAgICBnID0gZW1haWwuZ2VuZXJhdG9yLkJ5dGVzR2VuZXJhdG9yKGIsIG1heGhlYWRlcmxlbj0wKQogICAgICAgICBnLmZsYXR0ZW4obXNnLCB1bml4ZnJvbT11bml4ZnJvbSwgbGluZXNlcD1zZWxmLmxpbmVzZXApCi0gICAgICAgIHNlbGYuYXNzZXJ0Qnl0ZVN0cmluZ3NFcXVhbChkYXRhLCBiLmdldHZhbHVlKCkpCi0KLSAgICBkZWYgYXNzZXJ0Qnl0ZVN0cmluZ3NFcXVhbChzZWxmLCBzdHIxLCBzdHIyKToKLSAgICAgICAgIyBOb3QgdXNpbmcgc2VsZi5ibGluZXNlcCBoZXJlIGlzIGludGVudGlvbmFsLiAgVGhpcyB3YXkgdGhlIG91dHB1dAotICAgICAgICAjIGlzIG1vcmUgdXNlZnVsIHdoZW4gdGhlIGZhaWx1cmUgcmVzdWx0cyBpbiBtaXhlZCBsaW5lIGVuZGluZ3MuCi0gICAgICAgIHNlbGYuYXNzZXJ0TGlzdEVxdWFsKHN0cjEuc3BsaXQoYidcbicpLCBzdHIyLnNwbGl0KGInXG4nKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkYXRhLCBiLmdldHZhbHVlKCkpCiAKIAogY2xhc3MgVGVzdEJ5dGVzR2VuZXJhdG9ySWRlbXBvdGVudE5MKEJhc2VUZXN0Qnl0ZXNHZW5lcmF0b3JJZGVtcG90ZW50LApAQCAtNDYzNiw3ICs0ODQyLDcgQEAKIGNsYXNzIFRlc3RTaWduZWQoVGVzdEVtYWlsQmFzZSk6CiAKICAgICBkZWYgX21zZ19hbmRfb2JqKHNlbGYsIGZpbGVuYW1lKToKLSAgICAgICAgd2l0aCBvcGVuZmlsZShmaW5kZmlsZShmaWxlbmFtZSkpIGFzIGZwOgorICAgICAgICB3aXRoIG9wZW5maWxlKGZpbGVuYW1lKSBhcyBmcDoKICAgICAgICAgICAgIG9yaWdpbmFsID0gZnAucmVhZCgpCiAgICAgICAgICAgICBtc2cgPSBlbWFpbC5tZXNzYWdlX2Zyb21fc3RyaW5nKG9yaWdpbmFsKQogICAgICAgICByZXR1cm4gb3JpZ2luYWwsIG1zZwpAQCAtNDY2OCwyMyArNDg3NCw1IEBACiAKIAogCi1kZWYgX3Rlc3RjbGFzc2VzKCk6Ci0gICAgbW9kID0gc3lzLm1vZHVsZXNbX19uYW1lX19dCi0gICAgcmV0dXJuIFtnZXRhdHRyKG1vZCwgbmFtZSkgZm9yIG5hbWUgaW4gZGlyKG1vZCkgaWYgbmFtZS5zdGFydHN3aXRoKCdUZXN0JyldCi0KLQotZGVmIHN1aXRlKCk6Ci0gICAgc3VpdGUgPSB1bml0dGVzdC5UZXN0U3VpdGUoKQotICAgIGZvciB0ZXN0Y2xhc3MgaW4gX3Rlc3RjbGFzc2VzKCk6Ci0gICAgICAgIHN1aXRlLmFkZFRlc3QodW5pdHRlc3QubWFrZVN1aXRlKHRlc3RjbGFzcykpCi0gICAgcmV0dXJuIHN1aXRlCi0KLQotZGVmIHRlc3RfbWFpbigpOgotICAgIGZvciB0ZXN0Y2xhc3MgaW4gX3Rlc3RjbGFzc2VzKCk6Ci0gICAgICAgIHJ1bl91bml0dGVzdCh0ZXN0Y2xhc3MpCi0KLQotCiBpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgotICAgIHVuaXR0ZXN0Lm1haW4oZGVmYXVsdFRlc3Q9J3N1aXRlJykKKyAgICB1bml0dGVzdC5tYWluKCkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfZW1haWwvdGVzdF9nZW5lcmF0b3IucHkgYi9MaWIvdGVzdC90ZXN0X2VtYWlsL3Rlc3RfZ2VuZXJhdG9yLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM1Y2E2YzUKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvdGVzdC90ZXN0X2VtYWlsL3Rlc3RfZ2VuZXJhdG9yLnB5CkBAIC0wLDAgKzEsMTM2IEBACitpbXBvcnQgaW8KK2ltcG9ydCB0ZXh0d3JhcAoraW1wb3J0IHVuaXR0ZXN0Citmcm9tIGVtYWlsIGltcG9ydCBtZXNzYWdlX2Zyb21fc3RyaW5nLCBtZXNzYWdlX2Zyb21fYnl0ZXMKK2Zyb20gZW1haWwuZ2VuZXJhdG9yIGltcG9ydCBHZW5lcmF0b3IsIEJ5dGVzR2VuZXJhdG9yCitmcm9tIGVtYWlsIGltcG9ydCBwb2xpY3kKK2Zyb20gdGVzdC50ZXN0X2VtYWlsIGltcG9ydCBUZXN0RW1haWxCYXNlCisKKyMgWFhYOiBtb3ZlIGdlbmVyYXRvciB0ZXN0cyBmcm9tIHRlc3RfZW1haWwgaW50byBoZXJlIGF0IHNvbWUgcG9pbnQuCisKKworY2xhc3MgVGVzdEdlbmVyYXRvckJhc2UoKToKKworICAgIGxvbmdfc3ViamVjdCA9IHsKKyAgICAgICAgMDogdGV4dHdyYXAuZGVkZW50KCIiIlwKKyAgICAgICAgICAgIFRvOiB3aG9tX2l0X21heV9jb25jZXJuQGV4YW1wbGUuY29tCisgICAgICAgICAgICBGcm9tOiBub2JvZHlfeW91X3dhbnRfdG9fa25vd0BleGFtcGxlLmNvbQorICAgICAgICAgICAgU3ViamVjdDogV2UgdGhlIHdpbGxpbmcgbGVkIGJ5IHRoZSB1bmtub3dpbmcgYXJlIGRvaW5nIHRoZQorICAgICAgICAgICAgIGltcG9zc2libGUgZm9yIHRoZSB1bmdyYXRlZnVsLiBXZSBoYXZlIGRvbmUgc28gbXVjaCBmb3Igc28gbG9uZyB3aXRoIHNvIGxpdHRsZQorICAgICAgICAgICAgIHdlIGFyZSBub3cgcXVhbGlmaWVkIHRvIGRvIGFueXRoaW5nIHdpdGggbm90aGluZy4KKworICAgICAgICAgICAgTm9uZQorICAgICAgICAgICAgIiIiKSwKKyAgICAgICAgNDA6IHRleHR3cmFwLmRlZGVudCgiIiJcCisgICAgICAgICAgICBUbzogd2hvbV9pdF9tYXlfY29uY2VybkBleGFtcGxlLmNvbQorICAgICAgICAgICAgRnJvbTpceDIwCisgICAgICAgICAgICAgbm9ib2R5X3lvdV93YW50X3RvX2tub3dAZXhhbXBsZS5jb20KKyAgICAgICAgICAgIFN1YmplY3Q6IFdlIHRoZSB3aWxsaW5nIGxlZCBieSB0aGUKKyAgICAgICAgICAgICB1bmtub3dpbmcgYXJlIGRvaW5nIHRoZQorICAgICAgICAgICAgIGltcG9zc2libGUgZm9yIHRoZSB1bmdyYXRlZnVsLiBXZSBoYXZlCisgICAgICAgICAgICAgZG9uZSBzbyBtdWNoIGZvciBzbyBsb25nIHdpdGggc28gbGl0dGxlCisgICAgICAgICAgICAgd2UgYXJlIG5vdyBxdWFsaWZpZWQgdG8gZG8gYW55dGhpbmcKKyAgICAgICAgICAgICB3aXRoIG5vdGhpbmcuCisKKyAgICAgICAgICAgIE5vbmUKKyAgICAgICAgICAgICIiIiksCisgICAgICAgIDIwOiB0ZXh0d3JhcC5kZWRlbnQoIiIiXAorICAgICAgICAgICAgVG86XHgyMAorICAgICAgICAgICAgIHdob21faXRfbWF5X2NvbmNlcm5AZXhhbXBsZS5jb20KKyAgICAgICAgICAgIEZyb206XHgyMAorICAgICAgICAgICAgIG5vYm9keV95b3Vfd2FudF90b19rbm93QGV4YW1wbGUuY29tCisgICAgICAgICAgICBTdWJqZWN0OiBXZSB0aGUKKyAgICAgICAgICAgICB3aWxsaW5nIGxlZCBieSB0aGUKKyAgICAgICAgICAgICB1bmtub3dpbmcgYXJlIGRvaW5nCisgICAgICAgICAgICAgdGhlCisgICAgICAgICAgICAgaW1wb3NzaWJsZSBmb3IgdGhlCisgICAgICAgICAgICAgdW5ncmF0ZWZ1bC4gV2UgaGF2ZQorICAgICAgICAgICAgIGRvbmUgc28gbXVjaCBmb3Igc28KKyAgICAgICAgICAgICBsb25nIHdpdGggc28gbGl0dGxlCisgICAgICAgICAgICAgd2UgYXJlIG5vdworICAgICAgICAgICAgIHF1YWxpZmllZCB0byBkbworICAgICAgICAgICAgIGFueXRoaW5nIHdpdGgKKyAgICAgICAgICAgICBub3RoaW5nLgorCisgICAgICAgICAgICBOb25lCisgICAgICAgICAgICAiIiIpLAorICAgICAgICB9CisgICAgbG9uZ19zdWJqZWN0WzEwMF0gPSBsb25nX3N1YmplY3RbMF0KKworICAgIGRlZiBtYXhoZWFkZXJsZW5fcGFyYW1ldGVyX3Rlc3Qoc2VsZiwgbik6CisgICAgICAgIG1zZyA9IHNlbGYubXNnbWFrZXIoc2VsZi5sb25nX3N1YmplY3RbMF0pCisgICAgICAgIHMgPSBzZWxmLmlvY2xhc3MoKQorICAgICAgICBnID0gc2VsZi5nZW5jbGFzcyhzLCBtYXhoZWFkZXJsZW49bikKKyAgICAgICAgZy5mbGF0dGVuKG1zZykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzLmdldHZhbHVlKCksIHNlbGYubG9uZ19zdWJqZWN0W25dKQorCisgICAgZGVmIHRlc3RfbWF4aGVhZGVybGVuX3BhcmFtZXRlcl8wKHNlbGYpOgorICAgICAgICBzZWxmLm1heGhlYWRlcmxlbl9wYXJhbWV0ZXJfdGVzdCgwKQorCisgICAgZGVmIHRlc3RfbWF4aGVhZGVybGVuX3BhcmFtZXRlcl8xMDAoc2VsZik6CisgICAgICAgIHNlbGYubWF4aGVhZGVybGVuX3BhcmFtZXRlcl90ZXN0KDEwMCkKKworICAgIGRlZiB0ZXN0X21heGhlYWRlcmxlbl9wYXJhbWV0ZXJfNDAoc2VsZik6CisgICAgICAgIHNlbGYubWF4aGVhZGVybGVuX3BhcmFtZXRlcl90ZXN0KDQwKQorCisgICAgZGVmIHRlc3RfbWF4aGVhZGVybGVuX3BhcmFtZXRlcl8yMChzZWxmKToKKyAgICAgICAgc2VsZi5tYXhoZWFkZXJsZW5fcGFyYW1ldGVyX3Rlc3QoMjApCisKKyAgICBkZWYgbWF4aGVhZGVybGVuX3BvbGljeV90ZXN0KHNlbGYsIG4pOgorICAgICAgICBtc2cgPSBzZWxmLm1zZ21ha2VyKHNlbGYubG9uZ19zdWJqZWN0WzBdKQorICAgICAgICBzID0gc2VsZi5pb2NsYXNzKCkKKyAgICAgICAgZyA9IHNlbGYuZ2VuY2xhc3MocywgcG9saWN5PXBvbGljeS5kZWZhdWx0LmNsb25lKG1heF9saW5lX2xlbmd0aD1uKSkKKyAgICAgICAgZy5mbGF0dGVuKG1zZykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzLmdldHZhbHVlKCksIHNlbGYubG9uZ19zdWJqZWN0W25dKQorCisgICAgZGVmIHRlc3RfbWF4aGVhZGVybGVuX3BvbGljeV8wKHNlbGYpOgorICAgICAgICBzZWxmLm1heGhlYWRlcmxlbl9wb2xpY3lfdGVzdCgwKQorCisgICAgZGVmIHRlc3RfbWF4aGVhZGVybGVuX3BvbGljeV8xMDAoc2VsZik6CisgICAgICAgIHNlbGYubWF4aGVhZGVybGVuX3BvbGljeV90ZXN0KDEwMCkKKworICAgIGRlZiB0ZXN0X21heGhlYWRlcmxlbl9wb2xpY3lfNDAoc2VsZik6CisgICAgICAgIHNlbGYubWF4aGVhZGVybGVuX3BvbGljeV90ZXN0KDQwKQorCisgICAgZGVmIHRlc3RfbWF4aGVhZGVybGVuX3BvbGljeV8yMChzZWxmKToKKyAgICAgICAgc2VsZi5tYXhoZWFkZXJsZW5fcG9saWN5X3Rlc3QoMjApCisKKyAgICBkZWYgbWF4aGVhZGVybGVuX3Bhcm1fb3ZlcnJpZGVzX3BvbGljeV90ZXN0KHNlbGYsIG4pOgorICAgICAgICBtc2cgPSBzZWxmLm1zZ21ha2VyKHNlbGYubG9uZ19zdWJqZWN0WzBdKQorICAgICAgICBzID0gc2VsZi5pb2NsYXNzKCkKKyAgICAgICAgZyA9IHNlbGYuZ2VuY2xhc3MocywgbWF4aGVhZGVybGVuPW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgIHBvbGljeT1wb2xpY3kuZGVmYXVsdC5jbG9uZShtYXhfbGluZV9sZW5ndGg9MTApKQorICAgICAgICBnLmZsYXR0ZW4obXNnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHMuZ2V0dmFsdWUoKSwgc2VsZi5sb25nX3N1YmplY3Rbbl0pCisKKyAgICBkZWYgdGVzdF9tYXhoZWFkZXJsZW5fcGFybV9vdmVycmlkZXNfcG9saWN5XzAoc2VsZik6CisgICAgICAgIHNlbGYubWF4aGVhZGVybGVuX3Bhcm1fb3ZlcnJpZGVzX3BvbGljeV90ZXN0KDApCisKKyAgICBkZWYgdGVzdF9tYXhoZWFkZXJsZW5fcGFybV9vdmVycmlkZXNfcG9saWN5XzEwMChzZWxmKToKKyAgICAgICAgc2VsZi5tYXhoZWFkZXJsZW5fcGFybV9vdmVycmlkZXNfcG9saWN5X3Rlc3QoMTAwKQorCisgICAgZGVmIHRlc3RfbWF4aGVhZGVybGVuX3Bhcm1fb3ZlcnJpZGVzX3BvbGljeV80MChzZWxmKToKKyAgICAgICAgc2VsZi5tYXhoZWFkZXJsZW5fcGFybV9vdmVycmlkZXNfcG9saWN5X3Rlc3QoNDApCisKKyAgICBkZWYgdGVzdF9tYXhoZWFkZXJsZW5fcGFybV9vdmVycmlkZXNfcG9saWN5XzIwKHNlbGYpOgorICAgICAgICBzZWxmLm1heGhlYWRlcmxlbl9wYXJtX292ZXJyaWRlc19wb2xpY3lfdGVzdCgyMCkKKworCitjbGFzcyBUZXN0R2VuZXJhdG9yKFRlc3RHZW5lcmF0b3JCYXNlLCBUZXN0RW1haWxCYXNlKToKKworICAgIG1zZ21ha2VyID0gc3RhdGljbWV0aG9kKG1lc3NhZ2VfZnJvbV9zdHJpbmcpCisgICAgZ2VuY2xhc3MgPSBHZW5lcmF0b3IKKyAgICBpb2NsYXNzID0gaW8uU3RyaW5nSU8KKworCitjbGFzcyBUZXN0Qnl0ZXNHZW5lcmF0b3IoVGVzdEdlbmVyYXRvckJhc2UsIFRlc3RFbWFpbEJhc2UpOgorCisgICAgbXNnbWFrZXIgPSBzdGF0aWNtZXRob2QobWVzc2FnZV9mcm9tX2J5dGVzKQorICAgIGdlbmNsYXNzID0gQnl0ZXNHZW5lcmF0b3IKKyAgICBpb2NsYXNzID0gaW8uQnl0ZXNJTworICAgIGxvbmdfc3ViamVjdCA9IHtrZXk6IHguZW5jb2RlKCdhc2NpaScpCisgICAgICAgIGZvciBrZXksIHggaW4gVGVzdEdlbmVyYXRvckJhc2UubG9uZ19zdWJqZWN0Lml0ZW1zKCl9CisKKworaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKKyAgICB1bml0dGVzdC5tYWluKCkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfZW1haWwvdGVzdF9wb2xpY3kucHkgYi9MaWIvdGVzdC90ZXN0X2VtYWlsL3Rlc3RfcG9saWN5LnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFjNjU5MDEKLS0tIC9kZXYvbnVsbAorKysgYi9MaWIvdGVzdC90ZXN0X2VtYWlsL3Rlc3RfcG9saWN5LnB5CkBAIC0wLDAgKzEsMTUwIEBACitpbXBvcnQgdHlwZXMKK2ltcG9ydCB1bml0dGVzdAoraW1wb3J0IGVtYWlsLnBvbGljeQorCitjbGFzcyBQb2xpY3lBUElUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6CisKKyAgICBsb25nTWVzc2FnZSA9IFRydWUKKworICAgICMgVGhlc2UgZGVmYXVsdCB2YWx1ZXMgYXJlIHRoZSBvbmVzIHNldCBvbiBlbWFpbC5wb2xpY3kuZGVmYXVsdC4KKyAgICAjIElmIGFueSBvZiB0aGVzZSBkZWZhdWx0cyBjaGFuZ2UsIHRoZSBkb2NzIG11c3QgYmUgdXBkYXRlZC4KKyAgICBwb2xpY3lfZGVmYXVsdHMgPSB7CisgICAgICAgICdtYXhfbGluZV9sZW5ndGgnOiAgICAgICAgICA3OCwKKyAgICAgICAgJ2xpbmVzZXAnOiAgICAgICAgICAgICAgICAgICdcbicsCisgICAgICAgICdtdXN0X2JlXzdiaXQnOiAgICAgICAgICAgICBGYWxzZSwKKyAgICAgICAgJ3JhaXNlX29uX2RlZmVjdCc6ICAgICAgICAgIEZhbHNlLAorICAgICAgICB9CisKKyAgICAjIEZvciBlYWNoIHBvbGljeSB1bmRlciB0ZXN0LCB3ZSBnaXZlIGhlcmUgdGhlIHZhbHVlcyBvZiB0aGUgYXR0cmlidXRlcworICAgICMgdGhhdCBhcmUgZGlmZmVyZW50IGZyb20gdGhlIGRlZmF1bHRzIGZvciB0aGF0IHBvbGljeS4KKyAgICBwb2xpY2llcyA9IHsKKyAgICAgICAgZW1haWwucG9saWN5LlBvbGljeSgpOiB7fSwKKyAgICAgICAgZW1haWwucG9saWN5LmRlZmF1bHQ6IHt9LAorICAgICAgICBlbWFpbC5wb2xpY3kuU01UUDogeydsaW5lc2VwJzogJ1xyXG4nfSwKKyAgICAgICAgZW1haWwucG9saWN5LkhUVFA6IHsnbGluZXNlcCc6ICdcclxuJywgJ21heF9saW5lX2xlbmd0aCc6IE5vbmV9LAorICAgICAgICBlbWFpbC5wb2xpY3kuc3RyaWN0OiB7J3JhaXNlX29uX2RlZmVjdCc6IFRydWV9LAorICAgICAgICB9CisKKyAgICBkZWYgdGVzdF9kZWZhdWx0cyhzZWxmKToKKyAgICAgICAgZm9yIHBvbGljeSwgY2hhbmdlZF9kZWZhdWx0cyBpbiBzZWxmLnBvbGljaWVzLml0ZW1zKCk6CisgICAgICAgICAgICBleHBlY3RlZCA9IHNlbGYucG9saWN5X2RlZmF1bHRzLmNvcHkoKQorICAgICAgICAgICAgZXhwZWN0ZWQudXBkYXRlKGNoYW5nZWRfZGVmYXVsdHMpCisgICAgICAgICAgICBmb3IgYXR0ciwgdmFsdWUgaW4gZXhwZWN0ZWQuaXRlbXMoKToKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGdldGF0dHIocG9saWN5LCBhdHRyKSwgdmFsdWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgiY2hhbmdlIHt9IGRvY3MvZG9jc3RyaW5ncyBpZiBkZWZhdWx0cyBoYXZlICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNoYW5nZWQiKS5mb3JtYXQocG9saWN5KSkKKworICAgIGRlZiB0ZXN0X2FsbF9hdHRyaWJ1dGVzX2NvdmVyZWQoc2VsZik6CisgICAgICAgIGZvciBhdHRyIGluIGRpcihlbWFpbC5wb2xpY3kuZGVmYXVsdCk6CisgICAgICAgICAgICBpZiAoYXR0ci5zdGFydHN3aXRoKCdfJykgb3IKKyAgICAgICAgICAgICAgIGlzaW5zdGFuY2UoZ2V0YXR0cihlbWFpbC5wb2xpY3kuUG9saWN5LCBhdHRyKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZXMuRnVuY3Rpb25UeXBlKSk6CisgICAgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRJbihhdHRyLCBzZWxmLnBvbGljeV9kZWZhdWx0cywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ7fSBpcyBub3QgZnVsbHkgdGVzdGVkIi5mb3JtYXQoYXR0cikpCisKKyAgICBkZWYgdGVzdF9wb2xpY3lfaXNfaW1tdXRhYmxlKHNlbGYpOgorICAgICAgICBmb3IgcG9saWN5IGluIHNlbGYucG9saWNpZXM6CisgICAgICAgICAgICBmb3IgYXR0ciBpbiBzZWxmLnBvbGljeV9kZWZhdWx0czoKKyAgICAgICAgICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoQXR0cmlidXRlRXJyb3IsIGF0dHIrIi4qcmVhZC1vbmx5Iik6CisgICAgICAgICAgICAgICAgICAgIHNldGF0dHIocG9saWN5LCBhdHRyLCBOb25lKQorICAgICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KEF0dHJpYnV0ZUVycm9yLCAnbm8gYXR0cmlidXRlLipmb28nKToKKyAgICAgICAgICAgICAgICBwb2xpY3kuZm9vID0gTm9uZQorCisgICAgZGVmIHRlc3Rfc2V0X3BvbGljeV9hdHRyc193aGVuX2NhbGxlZGwoc2VsZik6CisgICAgICAgIHRlc3RhdHRyZGljdCA9IHsgYXR0cjogTm9uZSBmb3IgYXR0ciBpbiBzZWxmLnBvbGljeV9kZWZhdWx0cyB9CisgICAgICAgIGZvciBwb2xpY3ljbGFzcyBpbiBzZWxmLnBvbGljaWVzOgorICAgICAgICAgICAgcG9saWN5ID0gcG9saWN5Y2xhc3MuY2xvbmUoKip0ZXN0YXR0cmRpY3QpCisgICAgICAgICAgICBmb3IgYXR0ciBpbiBzZWxmLnBvbGljeV9kZWZhdWx0czoKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydElzTm9uZShnZXRhdHRyKHBvbGljeSwgYXR0cikpCisKKyAgICBkZWYgdGVzdF9yZWplY3Rfbm9uX3BvbGljeV9rZXl3b3JkX3doZW5fY2FsbGVkKHNlbGYpOgorICAgICAgICBmb3IgcG9saWN5Y2xhc3MgaW4gc2VsZi5wb2xpY2llczoKKyAgICAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yKToKKyAgICAgICAgICAgICAgICBwb2xpY3ljbGFzcyh0aGlzX2tleXdvcmRfc2hvdWxkX25vdF9iZV92YWxpZD1Ob25lKQorICAgICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IpOgorICAgICAgICAgICAgICAgIHBvbGljeWNsYXNzKG5ld3RsaW5lPU5vbmUpCisKKyAgICBkZWYgdGVzdF9wb2xpY3lfYWRkaXRpb24oc2VsZik6CisgICAgICAgIGV4cGVjdGVkID0gc2VsZi5wb2xpY3lfZGVmYXVsdHMuY29weSgpCisgICAgICAgIHAxID0gZW1haWwucG9saWN5LmRlZmF1bHQuY2xvbmUobWF4X2xpbmVfbGVuZ3RoPTEwMCkKKyAgICAgICAgcDIgPSBlbWFpbC5wb2xpY3kuZGVmYXVsdC5jbG9uZShtYXhfbGluZV9sZW5ndGg9NTApCisgICAgICAgIGFkZGVkID0gcDEgKyBwMgorICAgICAgICBleHBlY3RlZC51cGRhdGUobWF4X2xpbmVfbGVuZ3RoPTUwKQorICAgICAgICBmb3IgYXR0ciwgdmFsdWUgaW4gZXhwZWN0ZWQuaXRlbXMoKToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZ2V0YXR0cihhZGRlZCwgYXR0ciksIHZhbHVlKQorICAgICAgICBhZGRlZCA9IHAyICsgcDEKKyAgICAgICAgZXhwZWN0ZWQudXBkYXRlKG1heF9saW5lX2xlbmd0aD0xMDApCisgICAgICAgIGZvciBhdHRyLCB2YWx1ZSBpbiBleHBlY3RlZC5pdGVtcygpOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChnZXRhdHRyKGFkZGVkLCBhdHRyKSwgdmFsdWUpCisgICAgICAgIGFkZGVkID0gYWRkZWQgKyBlbWFpbC5wb2xpY3kuZGVmYXVsdAorICAgICAgICBmb3IgYXR0ciwgdmFsdWUgaW4gZXhwZWN0ZWQuaXRlbXMoKToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZ2V0YXR0cihhZGRlZCwgYXR0ciksIHZhbHVlKQorCisgICAgZGVmIHRlc3RfcmVnaXN0ZXJfZGVmZWN0KHNlbGYpOgorICAgICAgICBjbGFzcyBEdW1teToKKyAgICAgICAgICAgIGRlZiBfX2luaXRfXyhzZWxmKToKKyAgICAgICAgICAgICAgICBzZWxmLmRlZmVjdHMgPSBbXQorICAgICAgICBvYmogPSBEdW1teSgpCisgICAgICAgIGRlZmVjdCA9IG9iamVjdCgpCisgICAgICAgIHBvbGljeSA9IGVtYWlsLnBvbGljeS5Qb2xpY3koKQorICAgICAgICBwb2xpY3kucmVnaXN0ZXJfZGVmZWN0KG9iaiwgZGVmZWN0KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG9iai5kZWZlY3RzLCBbZGVmZWN0XSkKKyAgICAgICAgZGVmZWN0MiA9IG9iamVjdCgpCisgICAgICAgIHBvbGljeS5yZWdpc3Rlcl9kZWZlY3Qob2JqLCBkZWZlY3QyKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG9iai5kZWZlY3RzLCBbZGVmZWN0LCBkZWZlY3QyXSkKKworICAgIGNsYXNzIE15T2JqOgorICAgICAgICBkZWYgX19pbml0X18oc2VsZik6CisgICAgICAgICAgICBzZWxmLmRlZmVjdHMgPSBbXQorCisgICAgY2xhc3MgTXlEZWZlY3QoRXhjZXB0aW9uKToKKyAgICAgICAgcGFzcworCisgICAgZGVmIHRlc3RfaGFuZGxlX2RlZmVjdF9yYWlzZXNfb25fc3RyaWN0KHNlbGYpOgorICAgICAgICBmb28gPSBzZWxmLk15T2JqKCkKKyAgICAgICAgZGVmZWN0ID0gc2VsZi5NeURlZmVjdCgidGhlIHRlbGx5IGlzIGJyb2tlbiIpCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXNSZWdleChzZWxmLk15RGVmZWN0LCAidGhlIHRlbGx5IGlzIGJyb2tlbiIpOgorICAgICAgICAgICAgZW1haWwucG9saWN5LnN0cmljdC5oYW5kbGVfZGVmZWN0KGZvbywgZGVmZWN0KQorCisgICAgZGVmIHRlc3RfaGFuZGxlX2RlZmVjdF9yZWdpc3RlcnNfZGVmZWN0KHNlbGYpOgorICAgICAgICBmb28gPSBzZWxmLk15T2JqKCkKKyAgICAgICAgZGVmZWN0MSA9IHNlbGYuTXlEZWZlY3QoIm9uZSIpCisgICAgICAgIGVtYWlsLnBvbGljeS5kZWZhdWx0LmhhbmRsZV9kZWZlY3QoZm9vLCBkZWZlY3QxKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGZvby5kZWZlY3RzLCBbZGVmZWN0MV0pCisgICAgICAgIGRlZmVjdDIgPSBzZWxmLk15RGVmZWN0KCJ0d28iKQorICAgICAgICBlbWFpbC5wb2xpY3kuZGVmYXVsdC5oYW5kbGVfZGVmZWN0KGZvbywgZGVmZWN0MikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmb28uZGVmZWN0cywgW2RlZmVjdDEsIGRlZmVjdDJdKQorCisgICAgY2xhc3MgTXlQb2xpY3koZW1haWwucG9saWN5LlBvbGljeSk6CisgICAgICAgIGRlZmVjdHMgPSBOb25lCisgICAgICAgIGRlZiBfX2luaXRfXyhzZWxmLCAqYXJncywgKiprdyk6CisgICAgICAgICAgICBzdXBlcigpLl9faW5pdF9fKCphcmdzLCBkZWZlY3RzPVtdLCAqKmt3KQorICAgICAgICBkZWYgcmVnaXN0ZXJfZGVmZWN0KHNlbGYsIG9iaiwgZGVmZWN0KToKKyAgICAgICAgICAgIHNlbGYuZGVmZWN0cy5hcHBlbmQoZGVmZWN0KQorCisgICAgZGVmIHRlc3Rfb3ZlcnJpZGRlbl9yZWdpc3Rlcl9kZWZlY3Rfc3RpbGxfcmFpc2VzKHNlbGYpOgorICAgICAgICBmb28gPSBzZWxmLk15T2JqKCkKKyAgICAgICAgZGVmZWN0ID0gc2VsZi5NeURlZmVjdCgidGhlIHRlbGx5IGlzIGJyb2tlbiIpCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXNSZWdleChzZWxmLk15RGVmZWN0LCAidGhlIHRlbGx5IGlzIGJyb2tlbiIpOgorICAgICAgICAgICAgc2VsZi5NeVBvbGljeShyYWlzZV9vbl9kZWZlY3Q9VHJ1ZSkuaGFuZGxlX2RlZmVjdChmb28sIGRlZmVjdCkKKworICAgIGRlZiB0ZXN0X292ZXJyaWRlbl9yZWdpc3Rlcl9kZWZlY3Rfd29ya3Moc2VsZik6CisgICAgICAgIGZvbyA9IHNlbGYuTXlPYmooKQorICAgICAgICBkZWZlY3QxID0gc2VsZi5NeURlZmVjdCgib25lIikKKyAgICAgICAgbXlfcG9saWN5ID0gc2VsZi5NeVBvbGljeSgpCisgICAgICAgIG15X3BvbGljeS5oYW5kbGVfZGVmZWN0KGZvbywgZGVmZWN0MSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChteV9wb2xpY3kuZGVmZWN0cywgW2RlZmVjdDFdKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGZvby5kZWZlY3RzLCBbXSkKKyAgICAgICAgZGVmZWN0MiA9IHNlbGYuTXlEZWZlY3QoInR3byIpCisgICAgICAgIG15X3BvbGljeS5oYW5kbGVfZGVmZWN0KGZvbywgZGVmZWN0MikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChteV9wb2xpY3kuZGVmZWN0cywgW2RlZmVjdDEsIGRlZmVjdDJdKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGZvby5kZWZlY3RzLCBbXSkKKworICAgICMgWFhYOiBOZWVkIHN1YmNsYXNzaW5nIHRlc3RzLgorICAgICMgRm9yIGFkZGluZyBzdWJjbGFzc2VkIG9iamVjdHMsIG1ha2Ugc3VyZSB0aGUgdXN1YWwgcnVsZXMgYXBwbHkgKHN1YmNsYXNzCisgICAgIyB3aW5zKSwgYnV0IHRoYXQgdGhlIG9yZGVyIHN0aWxsIHdvcmtzIChyaWdodCBvdmVycmlkZXMgbGVmdCkuCisKK2lmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CisgICAgdW5pdHRlc3QubWFpbigpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2VtYWlsL3Rlc3RfdXRpbHMucHkgYi9MaWIvdGVzdC90ZXN0X2VtYWlsL3Rlc3RfdXRpbHMucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTAwM2E2NAotLS0gL2Rldi9udWxsCisrKyBiL0xpYi90ZXN0L3Rlc3RfZW1haWwvdGVzdF91dGlscy5weQpAQCAtMCwwICsxLDQ1IEBACitpbXBvcnQgZGF0ZXRpbWUKK2Zyb20gZW1haWwgaW1wb3J0IHV0aWxzCitpbXBvcnQgdW5pdHRlc3QKKworY2xhc3MgRGF0ZVRpbWVUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6CisKKyAgICBkYXRlc3RyaW5nID0gJ1N1biwgMjMgU2VwIDIwMDEgMjA6MTA6NTUnCisgICAgZGF0ZWFyZ3MgPSAoMjAwMSwgOSwgMjMsIDIwLCAxMCwgNTUpCisgICAgb2Zmc2V0c3RyaW5nID0gJyAtMDcwMCcKKyAgICB1dGNvZmZzZXQgPSBkYXRldGltZS50aW1lZGVsdGEoaG91cnM9LTcpCisgICAgdHogPSBkYXRldGltZS50aW1lem9uZSh1dGNvZmZzZXQpCisgICAgbmFpdmVfZHQgPSBkYXRldGltZS5kYXRldGltZSgqZGF0ZWFyZ3MpCisgICAgYXdhcmVfZHQgPSBkYXRldGltZS5kYXRldGltZSgqZGF0ZWFyZ3MsIHR6aW5mbz10eikKKworICAgIGRlZiB0ZXN0X25haXZlX2RhdGV0aW1lKHNlbGYpOgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHV0aWxzLmZvcm1hdF9kYXRldGltZShzZWxmLm5haXZlX2R0KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmRhdGVzdHJpbmcgKyAnIC0wMDAwJykKKworICAgIGRlZiB0ZXN0X2F3YXJlX2RhdGV0aW1lKHNlbGYpOgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHV0aWxzLmZvcm1hdF9kYXRldGltZShzZWxmLmF3YXJlX2R0KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmRhdGVzdHJpbmcgKyBzZWxmLm9mZnNldHN0cmluZykKKworICAgIGRlZiB0ZXN0X3VzZWdtdChzZWxmKToKKyAgICAgICAgdXRjX2R0ID0gZGF0ZXRpbWUuZGF0ZXRpbWUoKnNlbGYuZGF0ZWFyZ3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR6aW5mbz1kYXRldGltZS50aW1lem9uZS51dGMpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodXRpbHMuZm9ybWF0X2RhdGV0aW1lKHV0Y19kdCwgdXNlZ210PVRydWUpLAorICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuZGF0ZXN0cmluZyArICcgR01UJykKKworICAgIGRlZiB0ZXN0X3VzZWdtdF93aXRoX25haXZlX2RhdGV0aW1lX3JhaXNlcyhzZWxmKToKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yKToKKyAgICAgICAgICAgIHV0aWxzLmZvcm1hdF9kYXRldGltZShzZWxmLm5haXZlX2R0LCB1c2VnbXQ9VHJ1ZSkKKworICAgIGRlZiB0ZXN0X3VzZWdtdF93aXRoX25vbl91dGNfZGF0ZXRpbWVfcmFpc2VzKHNlbGYpOgorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IpOgorICAgICAgICAgICAgdXRpbHMuZm9ybWF0X2RhdGV0aW1lKHNlbGYuYXdhcmVfZHQsIHVzZWdtdD1UcnVlKQorCisgICAgZGVmIHRlc3RfcGFyc2VkYXRlX3RvX2RhdGV0aW1lKHNlbGYpOgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgdXRpbHMucGFyc2VkYXRlX3RvX2RhdGV0aW1lKHNlbGYuZGF0ZXN0cmluZyArIHNlbGYub2Zmc2V0c3RyaW5nKSwKKyAgICAgICAgICAgIHNlbGYuYXdhcmVfZHQpCisKKyAgICBkZWYgdGVzdF9wYXJzZWRhdGVfdG9fZGF0ZXRpbWVfbmFpdmUoc2VsZik6CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICB1dGlscy5wYXJzZWRhdGVfdG9fZGF0ZXRpbWUoc2VsZi5kYXRlc3RyaW5nICsgJyAtMDAwMCcpLAorICAgICAgICAgICAgc2VsZi5uYWl2ZV9kdCkKZGlmZiAtLWdpdCBhL0xpYi9lbWFpbC90ZXN0L3Rlc3RfZW1haWxfdG9ydHVyZS5weSBiL0xpYi90ZXN0L3Rlc3RfZW1haWwvdG9ydHVyZV90ZXN0LnB5CnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBMaWIvZW1haWwvdGVzdC90ZXN0X2VtYWlsX3RvcnR1cmUucHkKcmVuYW1lIHRvIExpYi90ZXN0L3Rlc3RfZW1haWwvdG9ydHVyZV90ZXN0LnB5CmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2Vwb2xsLnB5IGIvTGliL3Rlc3QvdGVzdF9lcG9sbC5weQppbmRleCAwODNmZDdmLi43Zjk1NDdmIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2Vwb2xsLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfZXBvbGwucHkKQEAgLTc1LDYgKzc1LDkgQEAKICAgICAgICAgZXAuY2xvc2UoKQogICAgICAgICBzZWxmLmFzc2VydFRydWUoZXAuY2xvc2VkKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBlcC5maWxlbm8pCisgICAgICAgIGlmIGhhc2F0dHIoc2VsZWN0LCAiRVBPTExfQ0xPRVhFQyIpOgorICAgICAgICAgICAgc2VsZWN0LmVwb2xsKHNlbGVjdC5FUE9MTF9DTE9FWEVDKS5jbG9zZSgpCisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhPU0Vycm9yLCBzZWxlY3QuZXBvbGwsIGZsYWdzPTEyMzU2KQogCiAgICAgZGVmIHRlc3RfYmFkY3JlYXRlKHNlbGYpOgogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIHNlbGVjdC5lcG9sbCwgMSwgMiwgMykKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfZXhjZXB0aW9ucy5weSBiL0xpYi90ZXN0L3Rlc3RfZXhjZXB0aW9ucy5weQppbmRleCA3YTJkZDBjLi40MjUzNmQzIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2V4Y2VwdGlvbnMucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9leGNlcHRpb25zLnB5CkBAIC04LDcgKzgsNyBAQAogaW1wb3J0IGVycm5vCiAKIGZyb20gdGVzdC5zdXBwb3J0IGltcG9ydCAoVEVTVEZOLCB1bmxpbmssIHJ1bl91bml0dGVzdCwgY2FwdHVyZWRfb3V0cHV0LAotICAgICAgICAgICAgICAgICAgICAgICAgICBnY19jb2xsZWN0LCBjcHl0aG9uX29ubHkpCisgICAgICAgICAgICAgICAgICAgICAgICAgIGdjX2NvbGxlY3QsIGNweXRob25fb25seSwgbm9fdHJhY2luZykKIAogIyBYWFggVGhpcyBpcyBub3QgcmVhbGx5IGVub3VnaCwgZWFjaCAqb3BlcmF0aW9uKiBzaG91bGQgYmUgdGVzdGVkIQogCkBAIC00Niw4ICs0Niw4IEBACiAgICAgICAgICAgICBmcC5jbG9zZSgpCiAgICAgICAgICAgICB1bmxpbmsoVEVTVEZOKQogCi0gICAgICAgIHNlbGYucmFpc2VfY2F0Y2goSU9FcnJvciwgIklPRXJyb3IiKQotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhJT0Vycm9yLCBvcGVuLCAndGhpcyBmaWxlIGRvZXMgbm90IGV4aXN0JywgJ3InKQorICAgICAgICBzZWxmLnJhaXNlX2NhdGNoKE9TRXJyb3IsICJPU0Vycm9yIikKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoT1NFcnJvciwgb3BlbiwgJ3RoaXMgZmlsZSBkb2VzIG5vdCBleGlzdCcsICdyJykKIAogICAgICAgICBzZWxmLnJhaXNlX2NhdGNoKEltcG9ydEVycm9yLCAiSW1wb3J0RXJyb3IiKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhJbXBvcnRFcnJvciwgX19pbXBvcnRfXywgInVuZGVmaW5lZF9tb2R1bGUiKQpAQCAtMTkyLDExICsxOTIsMzUgQEAKICAgICAgICAgZXhjZXB0IE5hbWVFcnJvcjoKICAgICAgICAgICAgIHBhc3MKICAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKFdpbmRvd3NFcnJvcigxMDAxKSksICIxMDAxIikKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKFdpbmRvd3NFcnJvcigxMDAxLCAibWVzc2FnZSIpKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIltFcnJvciAxMDAxXSBtZXNzYWdlIikKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoV2luZG93c0Vycm9yKDEwMDEsICJtZXNzYWdlIikuZXJybm8sIDIyKQotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChXaW5kb3dzRXJyb3IoMTAwMSwgIm1lc3NhZ2UiKS53aW5lcnJvciwgMTAwMSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXMoV2luZG93c0Vycm9yLCBPU0Vycm9yKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdHIoT1NFcnJvcigxMDAxKSksICIxMDAxIikKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKE9TRXJyb3IoMTAwMSwgIm1lc3NhZ2UiKSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJbRXJybm8gMTAwMV0gbWVzc2FnZSIpCisgICAgICAgICAgICAjIFBPU0lYIGVycm5vICg5IGFrYSBFQkFERikgaXMgdW50cmFuc2xhdGVkCisgICAgICAgICAgICB3ID0gT1NFcnJvcig5LCAnZm9vJywgJ2JhcicpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHcuZXJybm8sIDkpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHcud2luZXJyb3IsIE5vbmUpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cih3KSwgIltFcnJubyA5XSBmb286ICdiYXInIikKKyAgICAgICAgICAgICMgRVJST1JfUEFUSF9OT1RfRk9VTkQgKHdpbiBlcnJvciAzKSBiZWNvbWVzIEVOT0VOVCAoMikKKyAgICAgICAgICAgIHcgPSBPU0Vycm9yKDAsICdmb28nLCAnYmFyJywgMykKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwody5lcnJubywgMikKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwody53aW5lcnJvciwgMykKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwody5zdHJlcnJvciwgJ2ZvbycpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHcuZmlsZW5hbWUsICdiYXInKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdHIodyksICJbRXJyb3IgM10gZm9vOiAnYmFyJyIpCisgICAgICAgICAgICAjIFVua25vd24gd2luIGVycm9yIGJlY29tZXMgRUlOVkFMICgyMikKKyAgICAgICAgICAgIHcgPSBPU0Vycm9yKDAsICdmb28nLCBOb25lLCAxMDAxKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh3LmVycm5vLCAyMikKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwody53aW5lcnJvciwgMTAwMSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwody5zdHJlcnJvciwgJ2ZvbycpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHcuZmlsZW5hbWUsIE5vbmUpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cih3KSwgIltFcnJvciAxMDAxXSBmb28iKQorICAgICAgICAgICAgIyBOb24tbnVtZXJpYyAiZXJybm8iCisgICAgICAgICAgICB3ID0gT1NFcnJvcignYmFyJywgJ2ZvbycpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHcuZXJybm8sICdiYXInKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh3LndpbmVycm9yLCBOb25lKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh3LnN0cmVycm9yLCAnZm9vJykKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwody5maWxlbmFtZSwgTm9uZSkKIAogICAgIGRlZiB0ZXN0QXR0cmlidXRlcyhzZWxmKToKICAgICAgICAgIyB0ZXN0IHRoYXQgZXhjZXB0aW9uIGF0dHJpYnV0ZXMgYXJlIGhhcHB5CkBAIC0yNzQsMTEgKzI5OCwxMiBAQAogICAgICAgICAgICAgICAgICAnc3RhcnQnIDogMCwgJ2VuZCcgOiAxfSksCiAgICAgICAgIF0KICAgICAgICAgdHJ5OgorICAgICAgICAgICAgIyBNb3JlIHRlc3RzIGFyZSBpbiB0ZXN0X1dpbmRvd3NFcnJvcgogICAgICAgICAgICAgZXhjZXB0aW9uTGlzdC5hcHBlbmQoCiAgICAgICAgICAgICAgICAgKFdpbmRvd3NFcnJvciwgKDEsICdzdHJFcnJvclN0cicsICdmaWxlbmFtZVN0cicpLAogICAgICAgICAgICAgICAgICAgICB7J2FyZ3MnIDogKDEsICdzdHJFcnJvclN0cicpLAotICAgICAgICAgICAgICAgICAgICAgJ3N0cmVycm9yJyA6ICdzdHJFcnJvclN0cicsICd3aW5lcnJvcicgOiAxLAotICAgICAgICAgICAgICAgICAgICAgJ2Vycm5vJyA6IDIyLCAnZmlsZW5hbWUnIDogJ2ZpbGVuYW1lU3RyJ30pCisgICAgICAgICAgICAgICAgICAgICAnc3RyZXJyb3InIDogJ3N0ckVycm9yU3RyJywgJ3dpbmVycm9yJyA6IE5vbmUsCisgICAgICAgICAgICAgICAgICAgICAnZXJybm8nIDogMSwgJ2ZpbGVuYW1lJyA6ICdmaWxlbmFtZVN0cid9KQogICAgICAgICAgICAgKQogICAgICAgICBleGNlcHQgTmFtZUVycm9yOgogICAgICAgICAgICAgcGFzcwpAQCAtMzYyLDE5ICszODcsMzYgQEAKIAogICAgIGRlZiB0ZXN0Q2hhaW5pbmdBdHRycyhzZWxmKToKICAgICAgICAgZSA9IEV4Y2VwdGlvbigpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZS5fX2NvbnRleHRfXywgTm9uZSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChlLl9fY2F1c2VfXywgTm9uZSkKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUoZS5fX2NvbnRleHRfXykKKyAgICAgICAgc2VsZi5hc3NlcnRJcyhlLl9fY2F1c2VfXywgRWxsaXBzaXMpCiAKICAgICAgICAgZSA9IFR5cGVFcnJvcigpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZS5fX2NvbnRleHRfXywgTm9uZSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChlLl9fY2F1c2VfXywgTm9uZSkKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUoZS5fX2NvbnRleHRfXykKKyAgICAgICAgc2VsZi5hc3NlcnRJcyhlLl9fY2F1c2VfXywgRWxsaXBzaXMpCiAKICAgICAgICAgY2xhc3MgTXlFeGNlcHRpb24oRW52aXJvbm1lbnRFcnJvcik6CiAgICAgICAgICAgICBwYXNzCiAKICAgICAgICAgZSA9IE15RXhjZXB0aW9uKCkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChlLl9fY29udGV4dF9fLCBOb25lKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGUuX19jYXVzZV9fLCBOb25lKQorICAgICAgICBzZWxmLmFzc2VydElzTm9uZShlLl9fY29udGV4dF9fKQorICAgICAgICBzZWxmLmFzc2VydElzKGUuX19jYXVzZV9fLCBFbGxpcHNpcykKKworICAgIGRlZiB0ZXN0Q2hhaW5pbmdEZXNjcmlwdG9ycyhzZWxmKToKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCkKKyAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBleGM6CisgICAgICAgICAgICBlID0gZXhjCisKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUoZS5fX2NvbnRleHRfXykKKyAgICAgICAgc2VsZi5hc3NlcnRJcyhlLl9fY2F1c2VfXywgRWxsaXBzaXMpCisKKyAgICAgICAgZS5fX2NvbnRleHRfXyA9IE5hbWVFcnJvcigpCisgICAgICAgIGUuX19jYXVzZV9fID0gTm9uZQorICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2UoZS5fX2NvbnRleHRfXywgTmFtZUVycm9yKQorICAgICAgICBzZWxmLmFzc2VydElzTm9uZShlLl9fY2F1c2VfXykKKworICAgICAgICBlLl9fY2F1c2VfXyA9IEVsbGlwc2lzCisgICAgICAgIHNlbGYuYXNzZXJ0SXMoZS5fX2NhdXNlX18sIEVsbGlwc2lzKQogCiAgICAgZGVmIHRlc3RLZXl3b3JkQXJncyhzZWxmKToKICAgICAgICAgIyB0ZXN0IHRoYXQgYnVpbHRpbiBleGNlcHRpb24gZG9uJ3QgdGFrZSBrZXl3b3JkIGFyZ3MsCkBAIC0zODksNiArNDMxLDcgQEAKICAgICAgICAgeCA9IERlcml2ZWRFeGNlcHRpb24oZmFuY3lfYXJnPTQyKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHguZmFuY3lfYXJnLCA0MikKIAorICAgIEBub190cmFjaW5nCiAgICAgZGVmIHRlc3RJbmZpbml0ZVJlY3Vyc2lvbihzZWxmKToKICAgICAgICAgZGVmIGYoKToKICAgICAgICAgICAgIHJldHVybiBmKCkKQEAgLTcyMSw2ICs3NjQsNyBAQAogICAgICAgICB1LnN0YXJ0ID0gMTAwMAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cih1KSwgImNhbid0IHRyYW5zbGF0ZSBjaGFyYWN0ZXJzIGluIHBvc2l0aW9uIDEwMDAtNDogOTY1MjMwOTUxNDQzNjg1NzI0OTk3IikKIAorICAgIEBub190cmFjaW5nCiAgICAgZGVmIHRlc3RfYmFkaXNpbnN0YW5jZShzZWxmKToKICAgICAgICAgIyBCdWcgIzI1NDI6IGlmIGlzc3ViY2xhc3MoZSwgTXlFeGNlcHRpb24pIHJhaXNlcyBhbiBleGNlcHRpb24sCiAgICAgICAgICMgaXQgc2hvdWxkIGJlIGlnbm9yZWQKQEAgLTgzMSw2ICs4NzUsNyBAQAogICAgICAgICAgICAgc2VsZi5mYWlsKCJNZW1vcnlFcnJvciBub3QgcmFpc2VkIikKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh3cigpLCBOb25lKQogCisgICAgQG5vX3RyYWNpbmcKICAgICBkZWYgdGVzdF9yZWN1cnNpb25fZXJyb3JfY2xlYW51cChzZWxmKToKICAgICAgICAgIyBTYW1lIHRlc3QgYXMgYWJvdmUsIGJ1dCB3aXRoICJyZWN1cnNpb24gZXhjZWVkZWQiIGVycm9ycwogICAgICAgICBjbGFzcyBDOgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9leHRjYWxsLnB5IGIvTGliL3Rlc3QvdGVzdF9leHRjYWxsLnB5CmluZGV4IDFmN2Y2MzAuLjZiNmMxMmQgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfZXh0Y2FsbC5weQorKysgYi9MaWIvdGVzdC90ZXN0X2V4dGNhbGwucHkKQEAgLTY2LDE3ICs2NiwxNyBAQAogICAgID4+PiBnKCkKICAgICBUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgICAgICAuLi4KLSAgICBUeXBlRXJyb3I6IGcoKSB0YWtlcyBhdCBsZWFzdCAxIGFyZ3VtZW50ICgwIGdpdmVuKQorICAgIFR5cGVFcnJvcjogZygpIG1pc3NpbmcgMSByZXF1aXJlZCBwb3NpdGlvbmFsIGFyZ3VtZW50OiAneCcKIAogICAgID4+PiBnKCooKSkKICAgICBUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgICAgICAuLi4KLSAgICBUeXBlRXJyb3I6IGcoKSB0YWtlcyBhdCBsZWFzdCAxIGFyZ3VtZW50ICgwIGdpdmVuKQorICAgIFR5cGVFcnJvcjogZygpIG1pc3NpbmcgMSByZXF1aXJlZCBwb3NpdGlvbmFsIGFyZ3VtZW50OiAneCcKIAogICAgID4+PiBnKCooKSwgKip7fSkKICAgICBUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgICAgICAuLi4KLSAgICBUeXBlRXJyb3I6IGcoKSB0YWtlcyBhdCBsZWFzdCAxIGFyZ3VtZW50ICgwIGdpdmVuKQorICAgIFR5cGVFcnJvcjogZygpIG1pc3NpbmcgMSByZXF1aXJlZCBwb3NpdGlvbmFsIGFyZ3VtZW50OiAneCcKIAogICAgID4+PiBnKDEpCiAgICAgMSAoKSB7fQpAQCAtMTUxLDcgKzE1MSw3IEBACiAgICAgPj4+IGcoMSwgMiwgMywgKip7J3gnOiA0LCAneSc6IDV9KQogICAgIFRyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KToKICAgICAgIC4uLgotICAgIFR5cGVFcnJvcjogZygpIGdvdCBtdWx0aXBsZSB2YWx1ZXMgZm9yIGtleXdvcmQgYXJndW1lbnQgJ3gnCisgICAgVHlwZUVycm9yOiBnKCkgZ290IG11bHRpcGxlIHZhbHVlcyBmb3IgYXJndW1lbnQgJ3gnCiAKICAgICA+Pj4gZigqKnsxOjJ9KQogICAgIFRyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KToKQEAgLTI2MywyOSArMjYzLDgwIEBACiAgICAgPj4+IGYoKip4KQogICAgIDEgMgogCi1BIG9ic2N1cmUgbWVzc2FnZToKK1RvbyBtYW55IGFyZ3VtZW50czoKIAotICAgID4+PiBkZWYgZihhLCBiKToKLSAgICAuLi4gICAgcGFzcwotICAgID4+PiBmKGI9MSkKKyAgICA+Pj4gZGVmIGYoKTogcGFzcworICAgID4+PiBmKDEpCiAgICAgVHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOgogICAgICAgLi4uCi0gICAgVHlwZUVycm9yOiBmKCkgdGFrZXMgZXhhY3RseSAyIGFyZ3VtZW50cyAoMSBnaXZlbikKLQotVGhlIG51bWJlciBvZiBhcmd1bWVudHMgcGFzc2VkIGluIGluY2x1ZGVzIGtleXdvcmRzOgotCi0gICAgPj4+IGRlZiBmKGEpOgotICAgIC4uLiAgICBwYXNzCi0gICAgPj4+IGYoNiwgYT00LCAqKDEsIDIsIDMpKQorICAgIFR5cGVFcnJvcjogZigpIHRha2VzIDAgcG9zaXRpb25hbCBhcmd1bWVudHMgYnV0IDEgd2FzIGdpdmVuCisgICAgPj4+IGRlZiBmKGEpOiBwYXNzCisgICAgPj4+IGYoMSwgMikKICAgICBUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgICAgICAuLi4KLSAgICBUeXBlRXJyb3I6IGYoKSB0YWtlcyBleGFjdGx5IDEgcG9zaXRpb25hbCBhcmd1bWVudCAoNSBnaXZlbikKLSAgICA+Pj4gZGVmIGYoYSwgKiwga3cpOgotICAgIC4uLiAgICBwYXNzCi0gICAgPj4+IGYoNiwgNCwga3c9NCkKKyAgICBUeXBlRXJyb3I6IGYoKSB0YWtlcyAxIHBvc2l0aW9uYWwgYXJndW1lbnQgYnV0IDIgd2VyZSBnaXZlbgorICAgID4+PiBkZWYgZihhLCBiPTEpOiBwYXNzCisgICAgPj4+IGYoMSwgMiwgMykKICAgICBUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgICAgICAuLi4KLSAgICBUeXBlRXJyb3I6IGYoKSB0YWtlcyBleGFjdGx5IDEgcG9zaXRpb25hbCBhcmd1bWVudCAoMyBnaXZlbikKKyAgICBUeXBlRXJyb3I6IGYoKSB0YWtlcyBmcm9tIDEgdG8gMiBwb3NpdGlvbmFsIGFyZ3VtZW50cyBidXQgMyB3ZXJlIGdpdmVuCisgICAgPj4+IGRlZiBmKCosIGt3KTogcGFzcworICAgID4+PiBmKDEsIGt3PTMpCisgICAgVHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOgorICAgICAgLi4uCisgICAgVHlwZUVycm9yOiBmKCkgdGFrZXMgMCBwb3NpdGlvbmFsIGFyZ3VtZW50cyBidXQgMSBwb3NpdGlvbmFsIGFyZ3VtZW50IChhbmQgMSBrZXl3b3JkLW9ubHkgYXJndW1lbnQpIHdlcmUgZ2l2ZW4KKyAgICA+Pj4gZGVmIGYoKiwga3csIGIpOiBwYXNzCisgICAgPj4+IGYoMSwgMiwgMywgYj0zLCBrdz0zKQorICAgIFRyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KToKKyAgICAgIC4uLgorICAgIFR5cGVFcnJvcjogZigpIHRha2VzIDAgcG9zaXRpb25hbCBhcmd1bWVudHMgYnV0IDMgcG9zaXRpb25hbCBhcmd1bWVudHMgKGFuZCAyIGtleXdvcmQtb25seSBhcmd1bWVudHMpIHdlcmUgZ2l2ZW4KKyAgICA+Pj4gZGVmIGYoYSwgYj0yLCAqLCBrdyk6IHBhc3MKKyAgICA+Pj4gZigyLCAzLCA0LCBrdz00KQorICAgIFRyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KToKKyAgICAgIC4uLgorICAgIFR5cGVFcnJvcjogZigpIHRha2VzIGZyb20gMSB0byAyIHBvc2l0aW9uYWwgYXJndW1lbnRzIGJ1dCAzIHBvc2l0aW9uYWwgYXJndW1lbnRzIChhbmQgMSBrZXl3b3JkLW9ubHkgYXJndW1lbnQpIHdlcmUgZ2l2ZW4KKworVG9vIGZldyBhbmQgbWlzc2luZyBhcmd1bWVudHM6CisKKyAgICA+Pj4gZGVmIGYoYSk6IHBhc3MKKyAgICA+Pj4gZigpCisgICAgVHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOgorICAgICAgLi4uCisgICAgVHlwZUVycm9yOiBmKCkgbWlzc2luZyAxIHJlcXVpcmVkIHBvc2l0aW9uYWwgYXJndW1lbnQ6ICdhJworICAgID4+PiBkZWYgZihhLCBiKTogcGFzcworICAgID4+PiBmKCkKKyAgICBUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CisgICAgICAuLi4KKyAgICBUeXBlRXJyb3I6IGYoKSBtaXNzaW5nIDIgcmVxdWlyZWQgcG9zaXRpb25hbCBhcmd1bWVudHM6ICdhJyBhbmQgJ2InCisgICAgPj4+IGRlZiBmKGEsIGIsIGMpOiBwYXNzCisgICAgPj4+IGYoKQorICAgIFRyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KToKKyAgICAgIC4uLgorICAgIFR5cGVFcnJvcjogZigpIG1pc3NpbmcgMyByZXF1aXJlZCBwb3NpdGlvbmFsIGFyZ3VtZW50czogJ2EnLCAnYicsIGFuZCAnYycKKyAgICA+Pj4gZGVmIGYoYSwgYiwgYywgZCwgZSk6IHBhc3MKKyAgICA+Pj4gZigpCisgICAgVHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOgorICAgICAgLi4uCisgICAgVHlwZUVycm9yOiBmKCkgbWlzc2luZyA1IHJlcXVpcmVkIHBvc2l0aW9uYWwgYXJndW1lbnRzOiAnYScsICdiJywgJ2MnLCAnZCcsIGFuZCAnZScKKyAgICA+Pj4gZGVmIGYoYSwgYj00LCBjPTUsIGQ9NSk6IHBhc3MKKyAgICA+Pj4gZihjPTEyLCBiPTkpCisgICAgVHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOgorICAgICAgLi4uCisgICAgVHlwZUVycm9yOiBmKCkgbWlzc2luZyAxIHJlcXVpcmVkIHBvc2l0aW9uYWwgYXJndW1lbnQ6ICdhJworCitTYW1lIHdpdGgga2V5d29yZCBvbmx5IGFyZ3M6CisKKyAgICA+Pj4gZGVmIGYoKiwgdyk6IHBhc3MKKyAgICA+Pj4gZigpCisgICAgVHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOgorICAgICAgLi4uCisgICAgVHlwZUVycm9yOiBmKCkgbWlzc2luZyAxIHJlcXVpcmVkIGtleXdvcmQtb25seSBhcmd1bWVudDogJ3cnCisgICAgPj4+IGRlZiBmKCosIGEsIGIsIGMsIGQsIGUpOiBwYXNzCisgICAgPj4+IGYoKQorICAgIFRyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KToKKyAgICAgIC4uLgorICAgIFR5cGVFcnJvcjogZigpIG1pc3NpbmcgNSByZXF1aXJlZCBrZXl3b3JkLW9ubHkgYXJndW1lbnRzOiAnYScsICdiJywgJ2MnLCAnZCcsIGFuZCAnZScKKwogIiIiCiAKIGltcG9ydCBzeXMKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfZmF1bHRoYW5kbGVyLnB5IGIvTGliL3Rlc3QvdGVzdF9mYXVsdGhhbmRsZXIucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTc3Y2IzOQotLS0gL2Rldi9udWxsCisrKyBiL0xpYi90ZXN0L3Rlc3RfZmF1bHRoYW5kbGVyLnB5CkBAIC0wLDAgKzEsNTU0IEBACitmcm9tIGNvbnRleHRsaWIgaW1wb3J0IGNvbnRleHRtYW5hZ2VyCitpbXBvcnQgZGF0ZXRpbWUKK2ltcG9ydCBmYXVsdGhhbmRsZXIKK2ltcG9ydCBvcworaW1wb3J0IHJlCitpbXBvcnQgc2lnbmFsCitpbXBvcnQgc3VicHJvY2VzcworaW1wb3J0IHN5cworZnJvbSB0ZXN0IGltcG9ydCBzdXBwb3J0LCBzY3JpcHRfaGVscGVyCitpbXBvcnQgdGVtcGZpbGUKK2ltcG9ydCB1bml0dGVzdAorCit0cnk6CisgICAgaW1wb3J0IHRocmVhZGluZworICAgIEhBVkVfVEhSRUFEUyA9IFRydWUKK2V4Y2VwdCBJbXBvcnRFcnJvcjoKKyAgICBIQVZFX1RIUkVBRFMgPSBGYWxzZQorCitUSU1FT1VUID0gMC41CisKK3RyeToKKyAgICBmcm9tIHJlc291cmNlIGltcG9ydCBzZXRybGltaXQsIFJMSU1JVF9DT1JFLCBlcnJvciBhcyByZXNvdXJjZV9lcnJvcgorZXhjZXB0IEltcG9ydEVycm9yOgorICAgIHByZXBhcmVfc3VicHJvY2VzcyA9IE5vbmUKK2Vsc2U6CisgICAgZGVmIHByZXBhcmVfc3VicHJvY2VzcygpOgorICAgICAgICAjIGRvbid0IGNyZWF0ZSBjb3JlIGZpbGUKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgc2V0cmxpbWl0KFJMSU1JVF9DT1JFLCAoMCwgMCkpCisgICAgICAgIGV4Y2VwdCAoVmFsdWVFcnJvciwgcmVzb3VyY2VfZXJyb3IpOgorICAgICAgICAgICAgcGFzcworCitkZWYgZXhwZWN0ZWRfdHJhY2ViYWNrKGxpbmVubzEsIGxpbmVubzIsIGhlYWRlciwgbWluX2NvdW50PTEpOgorICAgIHJlZ2V4ID0gaGVhZGVyCisgICAgcmVnZXggKz0gJyAgRmlsZSAiPHN0cmluZz4iLCBsaW5lICVzIGluIGZ1bmNcbicgJSBsaW5lbm8xCisgICAgcmVnZXggKz0gJyAgRmlsZSAiPHN0cmluZz4iLCBsaW5lICVzIGluIDxtb2R1bGU+JyAlIGxpbmVubzIKKyAgICBpZiAxIDwgbWluX2NvdW50OgorICAgICAgICByZXR1cm4gJ14nICsgKHJlZ2V4ICsgJ1xuJykgKiAobWluX2NvdW50IC0gMSkgKyByZWdleAorICAgIGVsc2U6CisgICAgICAgIHJldHVybiAnXicgKyByZWdleCArICckJworCitAY29udGV4dG1hbmFnZXIKK2RlZiB0ZW1wb3JhcnlfZmlsZW5hbWUoKToKKyAgICBmaWxlbmFtZSA9IHRlbXBmaWxlLm1rdGVtcCgpCisgICAgdHJ5OgorICAgICAgICB5aWVsZCBmaWxlbmFtZQorICAgIGZpbmFsbHk6CisgICAgICAgIHN1cHBvcnQudW5saW5rKGZpbGVuYW1lKQorCitjbGFzcyBGYXVsdEhhbmRsZXJUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6CisgICAgZGVmIGdldF9vdXRwdXQoc2VsZiwgY29kZSwgZmlsZW5hbWU9Tm9uZSk6CisgICAgICAgICIiIgorICAgICAgICBSdW4gdGhlIHNwZWNpZmllZCBjb2RlIGluIFB5dGhvbiAoaW4gYSBuZXcgY2hpbGQgcHJvY2VzcykgYW5kIHJlYWQgdGhlCisgICAgICAgIG91dHB1dCBmcm9tIHRoZSBzdGFuZGFyZCBlcnJvciBvciBmcm9tIGEgZmlsZSAoaWYgZmlsZW5hbWUgaXMgc2V0KS4KKyAgICAgICAgUmV0dXJuIHRoZSBvdXRwdXQgbGluZXMgYXMgYSBsaXN0LgorCisgICAgICAgIFN0cmlwIHRoZSByZWZlcmVuY2UgY291bnQgZnJvbSB0aGUgc3RhbmRhcmQgZXJyb3IgZm9yIFB5dGhvbiBkZWJ1ZworICAgICAgICBidWlsZCwgYW5kIHJlcGxhY2UgIkN1cnJlbnQgdGhyZWFkIDB4MDAwMDdmOGQ4ZmJkOTcwMCIgYnkgIkN1cnJlbnQKKyAgICAgICAgdGhyZWFkIFhYWCIuCisgICAgICAgICIiIgorICAgICAgICBvcHRpb25zID0ge30KKyAgICAgICAgaWYgcHJlcGFyZV9zdWJwcm9jZXNzOgorICAgICAgICAgICAgb3B0aW9uc1sncHJlZXhlY19mbiddID0gcHJlcGFyZV9zdWJwcm9jZXNzCisgICAgICAgIHByb2Nlc3MgPSBzY3JpcHRfaGVscGVyLnNwYXduX3B5dGhvbignLWMnLCBjb2RlLCAqKm9wdGlvbnMpCisgICAgICAgIHN0ZG91dCwgc3RkZXJyID0gcHJvY2Vzcy5jb21tdW5pY2F0ZSgpCisgICAgICAgIGV4aXRjb2RlID0gcHJvY2Vzcy53YWl0KCkKKyAgICAgICAgb3V0cHV0ID0gc3VwcG9ydC5zdHJpcF9weXRob25fc3RkZXJyKHN0ZG91dCkKKyAgICAgICAgb3V0cHV0ID0gb3V0cHV0LmRlY29kZSgnYXNjaWknLCAnYmFja3NsYXNocmVwbGFjZScpCisgICAgICAgIGlmIGZpbGVuYW1lOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvdXRwdXQsICcnKQorICAgICAgICAgICAgd2l0aCBvcGVuKGZpbGVuYW1lLCAicmIiKSBhcyBmcDoKKyAgICAgICAgICAgICAgICBvdXRwdXQgPSBmcC5yZWFkKCkKKyAgICAgICAgICAgIG91dHB1dCA9IG91dHB1dC5kZWNvZGUoJ2FzY2lpJywgJ2JhY2tzbGFzaHJlcGxhY2UnKQorICAgICAgICBvdXRwdXQgPSByZS5zdWIoJ0N1cnJlbnQgdGhyZWFkIDB4WzAtOWEtZl0rJywKKyAgICAgICAgICAgICAgICAgICAgICAgICdDdXJyZW50IHRocmVhZCBYWFgnLAorICAgICAgICAgICAgICAgICAgICAgICAgb3V0cHV0KQorICAgICAgICByZXR1cm4gb3V0cHV0LnNwbGl0bGluZXMoKSwgZXhpdGNvZGUKKworICAgIGRlZiBjaGVja19mYXRhbF9lcnJvcihzZWxmLCBjb2RlLCBsaW5lX251bWJlciwgbmFtZV9yZWdleCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZW5hbWU9Tm9uZSwgYWxsX3RocmVhZHM9VHJ1ZSwgb3RoZXJfcmVnZXg9Tm9uZSk6CisgICAgICAgICIiIgorICAgICAgICBDaGVjayB0aGF0IHRoZSBmYXVsdCBoYW5kbGVyIGZvciBmYXRhbCBlcnJvcnMgaXMgZW5hYmxlZCBhbmQgY2hlY2sgdGhlCisgICAgICAgIHRyYWNlYmFjayBmcm9tIHRoZSBjaGlsZCBwcm9jZXNzIG91dHB1dC4KKworICAgICAgICBSYWlzZSBhbiBlcnJvciBpZiB0aGUgb3V0cHV0IGRvZXNuJ3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC4KKyAgICAgICAgIiIiCisgICAgICAgIGlmIGFsbF90aHJlYWRzOgorICAgICAgICAgICAgaGVhZGVyID0gJ0N1cnJlbnQgdGhyZWFkIFhYWCcKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGhlYWRlciA9ICdUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgZmlyc3QpJworICAgICAgICByZWdleCA9ICIiIgorXkZhdGFsIFB5dGhvbiBlcnJvcjoge25hbWV9CisKK3toZWFkZXJ9OgorICBGaWxlICI8c3RyaW5nPiIsIGxpbmUge2xpbmVub30gaW4gPG1vZHVsZT4kCisiIiIuc3RyaXAoKQorICAgICAgICByZWdleCA9IHJlZ2V4LmZvcm1hdCgKKyAgICAgICAgICAgIGxpbmVubz1saW5lX251bWJlciwKKyAgICAgICAgICAgIG5hbWU9bmFtZV9yZWdleCwKKyAgICAgICAgICAgIGhlYWRlcj1yZS5lc2NhcGUoaGVhZGVyKSkKKyAgICAgICAgaWYgb3RoZXJfcmVnZXg6CisgICAgICAgICAgICByZWdleCArPSAnfCcgKyBvdGhlcl9yZWdleAorICAgICAgICBvdXRwdXQsIGV4aXRjb2RlID0gc2VsZi5nZXRfb3V0cHV0KGNvZGUsIGZpbGVuYW1lKQorICAgICAgICBvdXRwdXQgPSAnXG4nLmpvaW4ob3V0cHV0KQorICAgICAgICBzZWxmLmFzc2VydFJlZ2V4KG91dHB1dCwgcmVnZXgpCisgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwoZXhpdGNvZGUsIDApCisKKyAgICBkZWYgdGVzdF9yZWFkX251bGwoc2VsZik6CisgICAgICAgIHNlbGYuY2hlY2tfZmF0YWxfZXJyb3IoIiIiCitpbXBvcnQgZmF1bHRoYW5kbGVyCitmYXVsdGhhbmRsZXIuZW5hYmxlKCkKK2ZhdWx0aGFuZGxlci5fcmVhZF9udWxsKCkKKyIiIi5zdHJpcCgpLAorICAgICAgICAgICAgMywKKyAgICAgICAgICAgICMgSXNzdWUgIzEyNzAwOiBSZWFkIE5VTEwgcmFpc2VzIFNJR0lMTCBvbiBNYWMgT1MgWCBMaW9uCisgICAgICAgICAgICAnKD86U2VnbWVudGF0aW9uIGZhdWx0fEJ1cyBlcnJvcnxJbGxlZ2FsIGluc3RydWN0aW9uKScpCisKKyAgICBkZWYgdGVzdF9zaWdzZWd2KHNlbGYpOgorICAgICAgICBzZWxmLmNoZWNrX2ZhdGFsX2Vycm9yKCIiIgoraW1wb3J0IGZhdWx0aGFuZGxlcgorZmF1bHRoYW5kbGVyLmVuYWJsZSgpCitmYXVsdGhhbmRsZXIuX3NpZ3NlZ3YoKQorIiIiLnN0cmlwKCksCisgICAgICAgICAgICAzLAorICAgICAgICAgICAgJ1NlZ21lbnRhdGlvbiBmYXVsdCcpCisKKyAgICBkZWYgdGVzdF9zaWdhYnJ0KHNlbGYpOgorICAgICAgICBzZWxmLmNoZWNrX2ZhdGFsX2Vycm9yKCIiIgoraW1wb3J0IGZhdWx0aGFuZGxlcgorZmF1bHRoYW5kbGVyLmVuYWJsZSgpCitmYXVsdGhhbmRsZXIuX3NpZ2FicnQoKQorIiIiLnN0cmlwKCksCisgICAgICAgICAgICAzLAorICAgICAgICAgICAgJ0Fib3J0ZWQnKQorCisgICAgQHVuaXR0ZXN0LnNraXBJZihzeXMucGxhdGZvcm0gPT0gJ3dpbjMyJywKKyAgICAgICAgICAgICAgICAgICAgICJTSUdGUEUgY2Fubm90IGJlIGNhdWdodCBvbiBXaW5kb3dzIikKKyAgICBkZWYgdGVzdF9zaWdmcGUoc2VsZik6CisgICAgICAgIHNlbGYuY2hlY2tfZmF0YWxfZXJyb3IoIiIiCitpbXBvcnQgZmF1bHRoYW5kbGVyCitmYXVsdGhhbmRsZXIuZW5hYmxlKCkKK2ZhdWx0aGFuZGxlci5fc2lnZnBlKCkKKyIiIi5zdHJpcCgpLAorICAgICAgICAgICAgMywKKyAgICAgICAgICAgICdGbG9hdGluZyBwb2ludCBleGNlcHRpb24nKQorCisgICAgQHVuaXR0ZXN0LnNraXBJZihub3QgaGFzYXR0cihmYXVsdGhhbmRsZXIsICdfc2lnYnVzJyksCisgICAgICAgICAgICAgICAgICAgICAibmVlZCBmYXVsdGhhbmRsZXIuX3NpZ2J1cygpIikKKyAgICBkZWYgdGVzdF9zaWdidXMoc2VsZik6CisgICAgICAgIHNlbGYuY2hlY2tfZmF0YWxfZXJyb3IoIiIiCitpbXBvcnQgZmF1bHRoYW5kbGVyCitmYXVsdGhhbmRsZXIuZW5hYmxlKCkKK2ZhdWx0aGFuZGxlci5fc2lnYnVzKCkKKyIiIi5zdHJpcCgpLAorICAgICAgICAgICAgMywKKyAgICAgICAgICAgICdCdXMgZXJyb3InKQorCisgICAgQHVuaXR0ZXN0LnNraXBJZihub3QgaGFzYXR0cihmYXVsdGhhbmRsZXIsICdfc2lnaWxsJyksCisgICAgICAgICAgICAgICAgICAgICAibmVlZCBmYXVsdGhhbmRsZXIuX3NpZ2lsbCgpIikKKyAgICBkZWYgdGVzdF9zaWdpbGwoc2VsZik6CisgICAgICAgIHNlbGYuY2hlY2tfZmF0YWxfZXJyb3IoIiIiCitpbXBvcnQgZmF1bHRoYW5kbGVyCitmYXVsdGhhbmRsZXIuZW5hYmxlKCkKK2ZhdWx0aGFuZGxlci5fc2lnaWxsKCkKKyIiIi5zdHJpcCgpLAorICAgICAgICAgICAgMywKKyAgICAgICAgICAgICdJbGxlZ2FsIGluc3RydWN0aW9uJykKKworICAgIGRlZiB0ZXN0X2ZhdGFsX2Vycm9yKHNlbGYpOgorICAgICAgICBzZWxmLmNoZWNrX2ZhdGFsX2Vycm9yKCIiIgoraW1wb3J0IGZhdWx0aGFuZGxlcgorZmF1bHRoYW5kbGVyLl9mYXRhbF9lcnJvcihiJ3h5eicpCisiIiIuc3RyaXAoKSwKKyAgICAgICAgICAgIDIsCisgICAgICAgICAgICAneHl6JykKKworICAgIEB1bml0dGVzdC5za2lwSWYoc3lzLnBsYXRmb3JtLnN0YXJ0c3dpdGgoJ29wZW5ic2QnKSBhbmQgSEFWRV9USFJFQURTLAorICAgICAgICAgICAgICAgICAgICAgIklzc3VlICMxMjg2ODogc2lnYWx0c3RhY2soKSBkb2Vzbid0IHdvcmsgb24gIgorICAgICAgICAgICAgICAgICAgICAgIk9wZW5CU0QgaWYgUHl0aG9uIGlzIGNvbXBpbGVkIHdpdGggcHRocmVhZCIpCisgICAgQHVuaXR0ZXN0LnNraXBJZihub3QgaGFzYXR0cihmYXVsdGhhbmRsZXIsICdfc3RhY2tfb3ZlcmZsb3cnKSwKKyAgICAgICAgICAgICAgICAgICAgICduZWVkIGZhdWx0aGFuZGxlci5fc3RhY2tfb3ZlcmZsb3coKScpCisgICAgZGVmIHRlc3Rfc3RhY2tfb3ZlcmZsb3coc2VsZik6CisgICAgICAgIHNlbGYuY2hlY2tfZmF0YWxfZXJyb3IoIiIiCitpbXBvcnQgZmF1bHRoYW5kbGVyCitmYXVsdGhhbmRsZXIuZW5hYmxlKCkKK2ZhdWx0aGFuZGxlci5fc3RhY2tfb3ZlcmZsb3coKQorIiIiLnN0cmlwKCksCisgICAgICAgICAgICAzLAorICAgICAgICAgICAgJyg/OlNlZ21lbnRhdGlvbiBmYXVsdHxCdXMgZXJyb3IpJywKKyAgICAgICAgICAgIG90aGVyX3JlZ2V4PSd1bmFibGUgdG8gcmFpc2UgYSBzdGFjayBvdmVyZmxvdycpCisKKyAgICBkZWYgdGVzdF9naWxfcmVsZWFzZWQoc2VsZik6CisgICAgICAgIHNlbGYuY2hlY2tfZmF0YWxfZXJyb3IoIiIiCitpbXBvcnQgZmF1bHRoYW5kbGVyCitmYXVsdGhhbmRsZXIuZW5hYmxlKCkKK2ZhdWx0aGFuZGxlci5fcmVhZF9udWxsKFRydWUpCisiIiIuc3RyaXAoKSwKKyAgICAgICAgICAgIDMsCisgICAgICAgICAgICAnKD86U2VnbWVudGF0aW9uIGZhdWx0fEJ1cyBlcnJvcnxJbGxlZ2FsIGluc3RydWN0aW9uKScpCisKKyAgICBkZWYgdGVzdF9lbmFibGVfZmlsZShzZWxmKToKKyAgICAgICAgd2l0aCB0ZW1wb3JhcnlfZmlsZW5hbWUoKSBhcyBmaWxlbmFtZToKKyAgICAgICAgICAgIHNlbGYuY2hlY2tfZmF0YWxfZXJyb3IoIiIiCitpbXBvcnQgZmF1bHRoYW5kbGVyCitvdXRwdXQgPSBvcGVuKHtmaWxlbmFtZX0sICd3YicpCitmYXVsdGhhbmRsZXIuZW5hYmxlKG91dHB1dCkKK2ZhdWx0aGFuZGxlci5fcmVhZF9udWxsKCkKKyIiIi5zdHJpcCgpLmZvcm1hdChmaWxlbmFtZT1yZXByKGZpbGVuYW1lKSksCisgICAgICAgICAgICAgICAgNCwKKyAgICAgICAgICAgICAgICAnKD86U2VnbWVudGF0aW9uIGZhdWx0fEJ1cyBlcnJvcnxJbGxlZ2FsIGluc3RydWN0aW9uKScsCisgICAgICAgICAgICAgICAgZmlsZW5hbWU9ZmlsZW5hbWUpCisKKyAgICBkZWYgdGVzdF9lbmFibGVfc2luZ2xlX3RocmVhZChzZWxmKToKKyAgICAgICAgc2VsZi5jaGVja19mYXRhbF9lcnJvcigiIiIKK2ltcG9ydCBmYXVsdGhhbmRsZXIKK2ZhdWx0aGFuZGxlci5lbmFibGUoYWxsX3RocmVhZHM9RmFsc2UpCitmYXVsdGhhbmRsZXIuX3JlYWRfbnVsbCgpCisiIiIuc3RyaXAoKSwKKyAgICAgICAgICAgIDMsCisgICAgICAgICAgICAnKD86U2VnbWVudGF0aW9uIGZhdWx0fEJ1cyBlcnJvcnxJbGxlZ2FsIGluc3RydWN0aW9uKScsCisgICAgICAgICAgICBhbGxfdGhyZWFkcz1GYWxzZSkKKworICAgIGRlZiB0ZXN0X2Rpc2FibGUoc2VsZik6CisgICAgICAgIGNvZGUgPSAiIiIKK2ltcG9ydCBmYXVsdGhhbmRsZXIKK2ZhdWx0aGFuZGxlci5lbmFibGUoKQorZmF1bHRoYW5kbGVyLmRpc2FibGUoKQorZmF1bHRoYW5kbGVyLl9yZWFkX251bGwoKQorIiIiLnN0cmlwKCkKKyAgICAgICAgbm90X2V4cGVjdGVkID0gJ0ZhdGFsIFB5dGhvbiBlcnJvcicKKyAgICAgICAgc3RkZXJyLCBleGl0Y29kZSA9IHNlbGYuZ2V0X291dHB1dChjb2RlKQorICAgICAgICBzdGRlciA9ICdcbicuam9pbihzdGRlcnIpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShub3RfZXhwZWN0ZWQgbm90IGluIHN0ZGVyciwKKyAgICAgICAgICAgICAgICAgICAgICIlciBpcyBwcmVzZW50IGluICVyIiAlIChub3RfZXhwZWN0ZWQsIHN0ZGVycikpCisgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwoZXhpdGNvZGUsIDApCisKKyAgICBkZWYgdGVzdF9pc19lbmFibGVkKHNlbGYpOgorICAgICAgICBvcmlnX3N0ZGVyciA9IHN5cy5zdGRlcnIKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgIyByZWdydGVzdCBtYXkgcmVwbGFjZSBzeXMuc3RkZXJyIGJ5IGlvLlN0cmluZ0lPIG9iamVjdCwgYnV0CisgICAgICAgICAgICAjIGZhdWx0aGFuZGxlci5lbmFibGUoKSByZXF1aXJlcyB0aGF0IHN5cy5zdGRlcnIgaGFzIGEgZmlsZW5vKCkKKyAgICAgICAgICAgICMgbWV0aG9kCisgICAgICAgICAgICBzeXMuc3RkZXJyID0gc3lzLl9fc3RkZXJyX18KKworICAgICAgICAgICAgd2FzX2VuYWJsZWQgPSBmYXVsdGhhbmRsZXIuaXNfZW5hYmxlZCgpCisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgZmF1bHRoYW5kbGVyLmVuYWJsZSgpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGZhdWx0aGFuZGxlci5pc19lbmFibGVkKCkpCisgICAgICAgICAgICAgICAgZmF1bHRoYW5kbGVyLmRpc2FibGUoKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoZmF1bHRoYW5kbGVyLmlzX2VuYWJsZWQoKSkKKyAgICAgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICAgICAgaWYgd2FzX2VuYWJsZWQ6CisgICAgICAgICAgICAgICAgICAgIGZhdWx0aGFuZGxlci5lbmFibGUoKQorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIGZhdWx0aGFuZGxlci5kaXNhYmxlKCkKKyAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgIHN5cy5zdGRlcnIgPSBvcmlnX3N0ZGVycgorCisgICAgZGVmIGNoZWNrX2R1bXBfdHJhY2ViYWNrKHNlbGYsIGZpbGVuYW1lKToKKyAgICAgICAgIiIiCisgICAgICAgIEV4cGxpY2l0bHkgY2FsbCBkdW1wX3RyYWNlYmFjaygpIGZ1bmN0aW9uIGFuZCBjaGVjayBpdHMgb3V0cHV0LgorICAgICAgICBSYWlzZSBhbiBlcnJvciBpZiB0aGUgb3V0cHV0IGRvZXNuJ3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC4KKyAgICAgICAgIiIiCisgICAgICAgIGNvZGUgPSAiIiIKK2ltcG9ydCBmYXVsdGhhbmRsZXIKKworZGVmIGZ1bmNCKCk6CisgICAgaWYge2hhc19maWxlbmFtZX06CisgICAgICAgIHdpdGggb3Blbih7ZmlsZW5hbWV9LCAid2IiKSBhcyBmcDoKKyAgICAgICAgICAgIGZhdWx0aGFuZGxlci5kdW1wX3RyYWNlYmFjayhmcCwgYWxsX3RocmVhZHM9RmFsc2UpCisgICAgZWxzZToKKyAgICAgICAgZmF1bHRoYW5kbGVyLmR1bXBfdHJhY2ViYWNrKGFsbF90aHJlYWRzPUZhbHNlKQorCitkZWYgZnVuY0EoKToKKyAgICBmdW5jQigpCisKK2Z1bmNBKCkKKyIiIi5zdHJpcCgpCisgICAgICAgIGNvZGUgPSBjb2RlLmZvcm1hdCgKKyAgICAgICAgICAgIGZpbGVuYW1lPXJlcHIoZmlsZW5hbWUpLAorICAgICAgICAgICAgaGFzX2ZpbGVuYW1lPWJvb2woZmlsZW5hbWUpLAorICAgICAgICApCisgICAgICAgIGlmIGZpbGVuYW1lOgorICAgICAgICAgICAgbGluZW5vID0gNgorICAgICAgICBlbHNlOgorICAgICAgICAgICAgbGluZW5vID0gOAorICAgICAgICBleHBlY3RlZCA9IFsKKyAgICAgICAgICAgICdUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgZmlyc3QpOicsCisgICAgICAgICAgICAnICBGaWxlICI8c3RyaW5nPiIsIGxpbmUgJXMgaW4gZnVuY0InICUgbGluZW5vLAorICAgICAgICAgICAgJyAgRmlsZSAiPHN0cmluZz4iLCBsaW5lIDExIGluIGZ1bmNBJywKKyAgICAgICAgICAgICcgIEZpbGUgIjxzdHJpbmc+IiwgbGluZSAxMyBpbiA8bW9kdWxlPicKKyAgICAgICAgXQorICAgICAgICB0cmFjZSwgZXhpdGNvZGUgPSBzZWxmLmdldF9vdXRwdXQoY29kZSwgZmlsZW5hbWUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodHJhY2UsIGV4cGVjdGVkKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV4aXRjb2RlLCAwKQorCisgICAgZGVmIHRlc3RfZHVtcF90cmFjZWJhY2soc2VsZik6CisgICAgICAgIHNlbGYuY2hlY2tfZHVtcF90cmFjZWJhY2soTm9uZSkKKworICAgIGRlZiB0ZXN0X2R1bXBfdHJhY2ViYWNrX2ZpbGUoc2VsZik6CisgICAgICAgIHdpdGggdGVtcG9yYXJ5X2ZpbGVuYW1lKCkgYXMgZmlsZW5hbWU6CisgICAgICAgICAgICBzZWxmLmNoZWNrX2R1bXBfdHJhY2ViYWNrKGZpbGVuYW1lKQorCisgICAgQHVuaXR0ZXN0LnNraXBJZihub3QgSEFWRV9USFJFQURTLCAnbmVlZCB0aHJlYWRzJykKKyAgICBkZWYgY2hlY2tfZHVtcF90cmFjZWJhY2tfdGhyZWFkcyhzZWxmLCBmaWxlbmFtZSk6CisgICAgICAgICIiIgorICAgICAgICBDYWxsIGV4cGxpY2l0bHkgZHVtcF90cmFjZWJhY2soYWxsX3RocmVhZHM9VHJ1ZSkgYW5kIGNoZWNrIHRoZSBvdXRwdXQuCisgICAgICAgIFJhaXNlIGFuIGVycm9yIGlmIHRoZSBvdXRwdXQgZG9lc24ndCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LgorICAgICAgICAiIiIKKyAgICAgICAgY29kZSA9ICIiIgoraW1wb3J0IGZhdWx0aGFuZGxlcgorZnJvbSB0aHJlYWRpbmcgaW1wb3J0IFRocmVhZCwgRXZlbnQKK2ltcG9ydCB0aW1lCisKK2RlZiBkdW1wKCk6CisgICAgaWYge2ZpbGVuYW1lfToKKyAgICAgICAgd2l0aCBvcGVuKHtmaWxlbmFtZX0sICJ3YiIpIGFzIGZwOgorICAgICAgICAgICAgZmF1bHRoYW5kbGVyLmR1bXBfdHJhY2ViYWNrKGZwLCBhbGxfdGhyZWFkcz1UcnVlKQorICAgIGVsc2U6CisgICAgICAgIGZhdWx0aGFuZGxlci5kdW1wX3RyYWNlYmFjayhhbGxfdGhyZWFkcz1UcnVlKQorCitjbGFzcyBXYWl0ZXIoVGhyZWFkKToKKyAgICAjIGF2b2lkIGJsb2NraW5nIGlmIHRoZSBtYWluIHRocmVhZCByYWlzZXMgYW4gZXhjZXB0aW9uLgorICAgIGRhZW1vbiA9IFRydWUKKworICAgIGRlZiBfX2luaXRfXyhzZWxmKToKKyAgICAgICAgVGhyZWFkLl9faW5pdF9fKHNlbGYpCisgICAgICAgIHNlbGYucnVubmluZyA9IEV2ZW50KCkKKyAgICAgICAgc2VsZi5zdG9wID0gRXZlbnQoKQorCisgICAgZGVmIHJ1bihzZWxmKToKKyAgICAgICAgc2VsZi5ydW5uaW5nLnNldCgpCisgICAgICAgIHNlbGYuc3RvcC53YWl0KCkKKword2FpdGVyID0gV2FpdGVyKCkKK3dhaXRlci5zdGFydCgpCit3YWl0ZXIucnVubmluZy53YWl0KCkKK2R1bXAoKQord2FpdGVyLnN0b3Auc2V0KCkKK3dhaXRlci5qb2luKCkKKyIiIi5zdHJpcCgpCisgICAgICAgIGNvZGUgPSBjb2RlLmZvcm1hdChmaWxlbmFtZT1yZXByKGZpbGVuYW1lKSkKKyAgICAgICAgb3V0cHV0LCBleGl0Y29kZSA9IHNlbGYuZ2V0X291dHB1dChjb2RlLCBmaWxlbmFtZSkKKyAgICAgICAgb3V0cHV0ID0gJ1xuJy5qb2luKG91dHB1dCkKKyAgICAgICAgaWYgZmlsZW5hbWU6CisgICAgICAgICAgICBsaW5lbm8gPSA4CisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBsaW5lbm8gPSAxMAorICAgICAgICByZWdleCA9ICIiIgorXlRocmVhZCAweFswLTlhLWZdKzoKKyg/OiAgRmlsZSAiLip0aHJlYWRpbmcucHkiLCBsaW5lIFswLTldKyBpbiBbX2Etel0rCispe3sxLDN9fSAgRmlsZSAiPHN0cmluZz4iLCBsaW5lIDIzIGluIHJ1bgorICBGaWxlICIuKnRocmVhZGluZy5weSIsIGxpbmUgWzAtOV0rIGluIF9ib290c3RyYXBfaW5uZXIKKyAgRmlsZSAiLip0aHJlYWRpbmcucHkiLCBsaW5lIFswLTldKyBpbiBfYm9vdHN0cmFwCisKK0N1cnJlbnQgdGhyZWFkIFhYWDoKKyAgRmlsZSAiPHN0cmluZz4iLCBsaW5lIHtsaW5lbm99IGluIGR1bXAKKyAgRmlsZSAiPHN0cmluZz4iLCBsaW5lIDI4IGluIDxtb2R1bGU+JAorIiIiLnN0cmlwKCkKKyAgICAgICAgcmVnZXggPSByZWdleC5mb3JtYXQobGluZW5vPWxpbmVubykKKyAgICAgICAgc2VsZi5hc3NlcnRSZWdleChvdXRwdXQsIHJlZ2V4KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV4aXRjb2RlLCAwKQorCisgICAgZGVmIHRlc3RfZHVtcF90cmFjZWJhY2tfdGhyZWFkcyhzZWxmKToKKyAgICAgICAgc2VsZi5jaGVja19kdW1wX3RyYWNlYmFja190aHJlYWRzKE5vbmUpCisKKyAgICBkZWYgdGVzdF9kdW1wX3RyYWNlYmFja190aHJlYWRzX2ZpbGUoc2VsZik6CisgICAgICAgIHdpdGggdGVtcG9yYXJ5X2ZpbGVuYW1lKCkgYXMgZmlsZW5hbWU6CisgICAgICAgICAgICBzZWxmLmNoZWNrX2R1bXBfdHJhY2ViYWNrX3RocmVhZHMoZmlsZW5hbWUpCisKKyAgICBkZWYgX2NoZWNrX2R1bXBfdHJhY2ViYWNrc19sYXRlcihzZWxmLCByZXBlYXQsIGNhbmNlbCwgZmlsZW5hbWUsIGxvb3BzKToKKyAgICAgICAgIiIiCisgICAgICAgIENoZWNrIGhvdyBtYW55IHRpbWVzIHRoZSB0cmFjZWJhY2sgaXMgd3JpdHRlbiBpbiB0aW1lb3V0IHggMi41IHNlY29uZHMsCisgICAgICAgIG9yIHRpbWVvdXQgeCAzLjUgc2Vjb25kcyBpZiBjYW5jZWwgaXMgVHJ1ZTogMSwgMiBvciAzIHRpbWVzIGRlcGVuZGluZworICAgICAgICBvbiByZXBlYXQgYW5kIGNhbmNlbCBvcHRpb25zLgorCisgICAgICAgIFJhaXNlIGFuIGVycm9yIGlmIHRoZSBvdXRwdXQgZG9lc24ndCBtYXRjaCB0aGUgZXhwZWN0IGZvcm1hdC4KKyAgICAgICAgIiIiCisgICAgICAgIHRpbWVvdXRfc3RyID0gc3RyKGRhdGV0aW1lLnRpbWVkZWx0YShzZWNvbmRzPVRJTUVPVVQpKQorICAgICAgICBjb2RlID0gIiIiCitpbXBvcnQgZmF1bHRoYW5kbGVyCitpbXBvcnQgdGltZQorCitkZWYgZnVuYyh0aW1lb3V0LCByZXBlYXQsIGNhbmNlbCwgZmlsZSwgbG9vcHMpOgorICAgIGZvciBsb29wIGluIHJhbmdlKGxvb3BzKToKKyAgICAgICAgZmF1bHRoYW5kbGVyLmR1bXBfdHJhY2ViYWNrc19sYXRlcih0aW1lb3V0LCByZXBlYXQ9cmVwZWF0LCBmaWxlPWZpbGUpCisgICAgICAgIGlmIGNhbmNlbDoKKyAgICAgICAgICAgIGZhdWx0aGFuZGxlci5jYW5jZWxfZHVtcF90cmFjZWJhY2tzX2xhdGVyKCkKKyAgICAgICAgdGltZS5zbGVlcCh0aW1lb3V0ICogNSkKKyAgICAgICAgZmF1bHRoYW5kbGVyLmNhbmNlbF9kdW1wX3RyYWNlYmFja3NfbGF0ZXIoKQorCit0aW1lb3V0ID0ge3RpbWVvdXR9CityZXBlYXQgPSB7cmVwZWF0fQorY2FuY2VsID0ge2NhbmNlbH0KK2xvb3BzID0ge2xvb3BzfQoraWYge2hhc19maWxlbmFtZX06CisgICAgZmlsZSA9IG9wZW4oe2ZpbGVuYW1lfSwgIndiIikKK2Vsc2U6CisgICAgZmlsZSA9IE5vbmUKK2Z1bmModGltZW91dCwgcmVwZWF0LCBjYW5jZWwsIGZpbGUsIGxvb3BzKQoraWYgZmlsZSBpcyBub3QgTm9uZToKKyAgICBmaWxlLmNsb3NlKCkKKyIiIi5zdHJpcCgpCisgICAgICAgIGNvZGUgPSBjb2RlLmZvcm1hdCgKKyAgICAgICAgICAgIHRpbWVvdXQ9VElNRU9VVCwKKyAgICAgICAgICAgIHJlcGVhdD1yZXBlYXQsCisgICAgICAgICAgICBjYW5jZWw9Y2FuY2VsLAorICAgICAgICAgICAgbG9vcHM9bG9vcHMsCisgICAgICAgICAgICBoYXNfZmlsZW5hbWU9Ym9vbChmaWxlbmFtZSksCisgICAgICAgICAgICBmaWxlbmFtZT1yZXByKGZpbGVuYW1lKSwKKyAgICAgICAgKQorICAgICAgICB0cmFjZSwgZXhpdGNvZGUgPSBzZWxmLmdldF9vdXRwdXQoY29kZSwgZmlsZW5hbWUpCisgICAgICAgIHRyYWNlID0gJ1xuJy5qb2luKHRyYWNlKQorCisgICAgICAgIGlmIG5vdCBjYW5jZWw6CisgICAgICAgICAgICBjb3VudCA9IGxvb3BzCisgICAgICAgICAgICBpZiByZXBlYXQ6CisgICAgICAgICAgICAgICAgY291bnQgKj0gMgorICAgICAgICAgICAgaGVhZGVyID0gcidUaW1lb3V0IFwoJXNcKSFcblRocmVhZCAweFswLTlhLWZdKzpcbicgJSB0aW1lb3V0X3N0cgorICAgICAgICAgICAgcmVnZXggPSBleHBlY3RlZF90cmFjZWJhY2soOSwgMjAsIGhlYWRlciwgbWluX2NvdW50PWNvdW50KQorICAgICAgICAgICAgc2VsZi5hc3NlcnRSZWdleCh0cmFjZSwgcmVnZXgpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHRyYWNlLCAnJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChleGl0Y29kZSwgMCkKKworICAgIEB1bml0dGVzdC5za2lwSWYobm90IGhhc2F0dHIoZmF1bHRoYW5kbGVyLCAnZHVtcF90cmFjZWJhY2tzX2xhdGVyJyksCisgICAgICAgICAgICAgICAgICAgICAnbmVlZCBmYXVsdGhhbmRsZXIuZHVtcF90cmFjZWJhY2tzX2xhdGVyKCknKQorICAgIGRlZiBjaGVja19kdW1wX3RyYWNlYmFja3NfbGF0ZXIoc2VsZiwgcmVwZWF0PUZhbHNlLCBjYW5jZWw9RmFsc2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlPUZhbHNlLCB0d2ljZT1GYWxzZSk6CisgICAgICAgIGlmIHR3aWNlOgorICAgICAgICAgICAgbG9vcHMgPSAyCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBsb29wcyA9IDEKKyAgICAgICAgaWYgZmlsZToKKyAgICAgICAgICAgIHdpdGggdGVtcG9yYXJ5X2ZpbGVuYW1lKCkgYXMgZmlsZW5hbWU6CisgICAgICAgICAgICAgICAgc2VsZi5fY2hlY2tfZHVtcF90cmFjZWJhY2tzX2xhdGVyKHJlcGVhdCwgY2FuY2VsLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlbmFtZSwgbG9vcHMpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzZWxmLl9jaGVja19kdW1wX3RyYWNlYmFja3NfbGF0ZXIocmVwZWF0LCBjYW5jZWwsIE5vbmUsIGxvb3BzKQorCisgICAgZGVmIHRlc3RfZHVtcF90cmFjZWJhY2tzX2xhdGVyKHNlbGYpOgorICAgICAgICBzZWxmLmNoZWNrX2R1bXBfdHJhY2ViYWNrc19sYXRlcigpCisKKyAgICBkZWYgdGVzdF9kdW1wX3RyYWNlYmFja3NfbGF0ZXJfcmVwZWF0KHNlbGYpOgorICAgICAgICBzZWxmLmNoZWNrX2R1bXBfdHJhY2ViYWNrc19sYXRlcihyZXBlYXQ9VHJ1ZSkKKworICAgIGRlZiB0ZXN0X2R1bXBfdHJhY2ViYWNrc19sYXRlcl9jYW5jZWwoc2VsZik6CisgICAgICAgIHNlbGYuY2hlY2tfZHVtcF90cmFjZWJhY2tzX2xhdGVyKGNhbmNlbD1UcnVlKQorCisgICAgZGVmIHRlc3RfZHVtcF90cmFjZWJhY2tzX2xhdGVyX2ZpbGUoc2VsZik6CisgICAgICAgIHNlbGYuY2hlY2tfZHVtcF90cmFjZWJhY2tzX2xhdGVyKGZpbGU9VHJ1ZSkKKworICAgIGRlZiB0ZXN0X2R1bXBfdHJhY2ViYWNrc19sYXRlcl90d2ljZShzZWxmKToKKyAgICAgICAgc2VsZi5jaGVja19kdW1wX3RyYWNlYmFja3NfbGF0ZXIodHdpY2U9VHJ1ZSkKKworICAgIEB1bml0dGVzdC5za2lwSWYobm90IGhhc2F0dHIoZmF1bHRoYW5kbGVyLCAicmVnaXN0ZXIiKSwKKyAgICAgICAgICAgICAgICAgICAgICJuZWVkIGZhdWx0aGFuZGxlci5yZWdpc3RlciIpCisgICAgZGVmIGNoZWNrX3JlZ2lzdGVyKHNlbGYsIGZpbGVuYW1lPUZhbHNlLCBhbGxfdGhyZWFkcz1GYWxzZSwKKyAgICAgICAgICAgICAgICAgICAgICAgdW5yZWdpc3Rlcj1GYWxzZSwgY2hhaW49RmFsc2UpOgorICAgICAgICAiIiIKKyAgICAgICAgUmVnaXN0ZXIgYSBoYW5kbGVyIGRpc3BsYXlpbmcgdGhlIHRyYWNlYmFjayBvbiBhIHVzZXIgc2lnbmFsLiBSYWlzZSB0aGUKKyAgICAgICAgc2lnbmFsIGFuZCBjaGVjayB0aGUgd3JpdHRlbiB0cmFjZWJhY2suCisKKyAgICAgICAgSWYgY2hhaW4gaXMgVHJ1ZSwgY2hlY2sgdGhhdCB0aGUgcHJldmlvdXMgc2lnbmFsIGhhbmRsZXIgaXMgY2FsbGVkLgorCisgICAgICAgIFJhaXNlIGFuIGVycm9yIGlmIHRoZSBvdXRwdXQgZG9lc24ndCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LgorICAgICAgICAiIiIKKyAgICAgICAgc2lnbnVtID0gc2lnbmFsLlNJR1VTUjEKKyAgICAgICAgY29kZSA9ICIiIgoraW1wb3J0IGZhdWx0aGFuZGxlcgoraW1wb3J0IG9zCitpbXBvcnQgc2lnbmFsCitpbXBvcnQgc3lzCisKK2RlZiBmdW5jKHNpZ251bSk6CisgICAgb3Mua2lsbChvcy5nZXRwaWQoKSwgc2lnbnVtKQorCitkZWYgaGFuZGxlcihzaWdudW0sIGZyYW1lKToKKyAgICBoYW5kbGVyLmNhbGxlZCA9IFRydWUKK2hhbmRsZXIuY2FsbGVkID0gRmFsc2UKKworZXhpdGNvZGUgPSAwCitzaWdudW0gPSB7c2lnbnVtfQordW5yZWdpc3RlciA9IHt1bnJlZ2lzdGVyfQorY2hhaW4gPSB7Y2hhaW59CisKK2lmIHtoYXNfZmlsZW5hbWV9OgorICAgIGZpbGUgPSBvcGVuKHtmaWxlbmFtZX0sICJ3YiIpCitlbHNlOgorICAgIGZpbGUgPSBOb25lCitpZiBjaGFpbjoKKyAgICBzaWduYWwuc2lnbmFsKHNpZ251bSwgaGFuZGxlcikKK2ZhdWx0aGFuZGxlci5yZWdpc3RlcihzaWdudW0sIGZpbGU9ZmlsZSwKKyAgICAgICAgICAgICAgICAgICAgICBhbGxfdGhyZWFkcz17YWxsX3RocmVhZHN9LCBjaGFpbj17Y2hhaW59KQoraWYgdW5yZWdpc3RlcjoKKyAgICBmYXVsdGhhbmRsZXIudW5yZWdpc3RlcihzaWdudW0pCitmdW5jKHNpZ251bSkKK2lmIGNoYWluIGFuZCBub3QgaGFuZGxlci5jYWxsZWQ6CisgICAgaWYgZmlsZSBpcyBub3QgTm9uZToKKyAgICAgICAgb3V0cHV0ID0gZmlsZQorICAgIGVsc2U6CisgICAgICAgIG91dHB1dCA9IHN5cy5zdGRlcnIKKyAgICBwcmludCgiRXJyb3I6IHNpZ25hbCBoYW5kbGVyIG5vdCBjYWxsZWQhIiwgZmlsZT1vdXRwdXQpCisgICAgZXhpdGNvZGUgPSAxCitpZiBmaWxlIGlzIG5vdCBOb25lOgorICAgIGZpbGUuY2xvc2UoKQorc3lzLmV4aXQoZXhpdGNvZGUpCisiIiIuc3RyaXAoKQorICAgICAgICBjb2RlID0gY29kZS5mb3JtYXQoCisgICAgICAgICAgICBmaWxlbmFtZT1yZXByKGZpbGVuYW1lKSwKKyAgICAgICAgICAgIGhhc19maWxlbmFtZT1ib29sKGZpbGVuYW1lKSwKKyAgICAgICAgICAgIGFsbF90aHJlYWRzPWFsbF90aHJlYWRzLAorICAgICAgICAgICAgc2lnbnVtPXNpZ251bSwKKyAgICAgICAgICAgIHVucmVnaXN0ZXI9dW5yZWdpc3RlciwKKyAgICAgICAgICAgIGNoYWluPWNoYWluLAorICAgICAgICApCisgICAgICAgIHRyYWNlLCBleGl0Y29kZSA9IHNlbGYuZ2V0X291dHB1dChjb2RlLCBmaWxlbmFtZSkKKyAgICAgICAgdHJhY2UgPSAnXG4nLmpvaW4odHJhY2UpCisgICAgICAgIGlmIG5vdCB1bnJlZ2lzdGVyOgorICAgICAgICAgICAgaWYgYWxsX3RocmVhZHM6CisgICAgICAgICAgICAgICAgcmVnZXggPSAnQ3VycmVudCB0aHJlYWQgWFhYOlxuJworICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICByZWdleCA9ICdUcmFjZWJhY2sgXChtb3N0IHJlY2VudCBjYWxsIGZpcnN0XCk6XG4nCisgICAgICAgICAgICByZWdleCA9IGV4cGVjdGVkX3RyYWNlYmFjayg3LCAyOCwgcmVnZXgpCisgICAgICAgICAgICBzZWxmLmFzc2VydFJlZ2V4KHRyYWNlLCByZWdleCkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodHJhY2UsICcnKQorICAgICAgICBpZiB1bnJlZ2lzdGVyOgorICAgICAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbChleGl0Y29kZSwgMCkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXhpdGNvZGUsIDApCisKKyAgICBkZWYgdGVzdF9yZWdpc3RlcihzZWxmKToKKyAgICAgICAgc2VsZi5jaGVja19yZWdpc3RlcigpCisKKyAgICBkZWYgdGVzdF91bnJlZ2lzdGVyKHNlbGYpOgorICAgICAgICBzZWxmLmNoZWNrX3JlZ2lzdGVyKHVucmVnaXN0ZXI9VHJ1ZSkKKworICAgIGRlZiB0ZXN0X3JlZ2lzdGVyX2ZpbGUoc2VsZik6CisgICAgICAgIHdpdGggdGVtcG9yYXJ5X2ZpbGVuYW1lKCkgYXMgZmlsZW5hbWU6CisgICAgICAgICAgICBzZWxmLmNoZWNrX3JlZ2lzdGVyKGZpbGVuYW1lPWZpbGVuYW1lKQorCisgICAgZGVmIHRlc3RfcmVnaXN0ZXJfdGhyZWFkcyhzZWxmKToKKyAgICAgICAgc2VsZi5jaGVja19yZWdpc3RlcihhbGxfdGhyZWFkcz1UcnVlKQorCisgICAgZGVmIHRlc3RfcmVnaXN0ZXJfY2hhaW4oc2VsZik6CisgICAgICAgIHNlbGYuY2hlY2tfcmVnaXN0ZXIoY2hhaW49VHJ1ZSkKKworCitkZWYgdGVzdF9tYWluKCk6CisgICAgc3VwcG9ydC5ydW5fdW5pdHRlc3QoRmF1bHRIYW5kbGVyVGVzdHMpCisKK2lmIF9fbmFtZV9fID09ICJfX21haW5fXyI6CisgICAgdGVzdF9tYWluKCkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfZmlsZWlucHV0LnB5IGIvTGliL3Rlc3QvdGVzdF9maWxlaW5wdXQucHkKaW5kZXggZjMxMjg4Mi4uMWU3MDY0MSAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9maWxlaW5wdXQucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9maWxlaW5wdXQucHkKQEAgLTIsMTggKzIsMzMgQEAKIFRlc3RzIGZvciBmaWxlaW5wdXQgbW9kdWxlLgogTmljayBNYXRoZXdzb24KICcnJwotCitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKK2ltcG9ydCByZQoraW1wb3J0IGZpbGVpbnB1dAoraW1wb3J0IGNvbGxlY3Rpb25zCitpbXBvcnQgYnVpbHRpbnMKIGltcG9ydCB1bml0dGVzdAotZnJvbSB0ZXN0LnN1cHBvcnQgaW1wb3J0IHZlcmJvc2UsIFRFU1RGTiwgcnVuX3VuaXR0ZXN0Ci1mcm9tIHRlc3Quc3VwcG9ydCBpbXBvcnQgdW5saW5rIGFzIHNhZmVfdW5saW5rCi1pbXBvcnQgc3lzLCByZQorCit0cnk6CisgICAgaW1wb3J0IGJ6MgorZXhjZXB0IEltcG9ydEVycm9yOgorICAgIGJ6MiA9IE5vbmUKK3RyeToKKyAgICBpbXBvcnQgZ3ppcAorZXhjZXB0IEltcG9ydEVycm9yOgorICAgIGd6aXAgPSBOb25lCisKIGZyb20gaW8gaW1wb3J0IFN0cmluZ0lPCiBmcm9tIGZpbGVpbnB1dCBpbXBvcnQgRmlsZUlucHV0LCBob29rX2VuY29kZWQKIAorZnJvbSB0ZXN0LnN1cHBvcnQgaW1wb3J0IHZlcmJvc2UsIFRFU1RGTiwgcnVuX3VuaXR0ZXN0Citmcm9tIHRlc3Quc3VwcG9ydCBpbXBvcnQgdW5saW5rIGFzIHNhZmVfdW5saW5rCisKKwogIyBUaGUgZmlsZWlucHV0IG1vZHVsZSBoYXMgMiBpbnRlcmZhY2VzOiB0aGUgRmlsZUlucHV0IGNsYXNzIHdoaWNoIGRvZXMKICMgYWxsIHRoZSB3b3JrLCBhbmQgYSBmZXcgZnVuY3Rpb25zIChpbnB1dCwgZXRjLikgdGhhdCB1c2UgYSBnbG9iYWwgX3N0YXRlCi0jIHZhcmlhYmxlLiAgV2Ugb25seSB0ZXN0IHRoZSBGaWxlSW5wdXQgY2xhc3MsIHNpbmNlIHRoZSBvdGhlciBmdW5jdGlvbnMKLSMgb25seSBwcm92aWRlIGEgdGhpbiBmYWNhZGUgb3ZlciBGaWxlSW5wdXQuCisjIHZhcmlhYmxlLgogCiAjIFdyaXRlIGxpbmVzIChhIGxpc3Qgb2YgbGluZXMpIHRvIHRlbXAgZmlsZSBudW1iZXIgaSwgYW5kIHJldHVybiB0aGUKICMgdGVtcCBmaWxlJ3MgbmFtZS4KQEAgLTEyMSw3ICsxMzYsMTYgQEAKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaW50KG0uZ3JvdXAoMSkpLCBmaS5maWxlbGluZW5vKCkpCiAgICAgICAgIGZpLmNsb3NlKCkKIAorY2xhc3MgVW5jb25kaXRpb25hbGx5UmFpc2U6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGV4Y2VwdGlvbl90eXBlKToKKyAgICAgICAgc2VsZi5leGNlcHRpb25fdHlwZSA9IGV4Y2VwdGlvbl90eXBlCisgICAgICAgIHNlbGYuaW52b2tlZCA9IEZhbHNlCisgICAgZGVmIF9fY2FsbF9fKHNlbGYsICphcmdzLCAqKmt3YXJncyk6CisgICAgICAgIHNlbGYuaW52b2tlZCA9IFRydWUKKyAgICAgICAgcmFpc2Ugc2VsZi5leGNlcHRpb25fdHlwZSgpCisKIGNsYXNzIEZpbGVJbnB1dFRlc3RzKHVuaXR0ZXN0LlRlc3RDYXNlKToKKwogICAgIGRlZiB0ZXN0X3plcm9fYnl0ZV9maWxlcyhzZWxmKToKICAgICAgICAgdDEgPSB0MiA9IHQzID0gdDQgPSBOb25lCiAgICAgICAgIHRyeToKQEAgLTIxOSwxNyArMjQzLDIwIEBACiAgICAgICAgICAgICBzZWxmLmZhaWwoIkZpbGVJbnB1dCBzaG91bGQgY2hlY2sgb3Blbmhvb2sgZm9yIGJlaW5nIGNhbGxhYmxlIikKICAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3I6CiAgICAgICAgICAgICBwYXNzCi0gICAgICAgICMgWFhYIFRoZSByb3QxMyBjb2RlYyB3YXMgcmVtb3ZlZC4KLSAgICAgICAgIyAgICAgU28gdGhpcyB0ZXN0IG5lZWRzIHRvIGJlIGNoYW5nZWQgdG8gdXNlIHNvbWV0aGluZyBlbHNlLgotICAgICAgICAjICAgICAoT3IgcGVyaGFwcyB0aGUgQVBJIG5lZWRzIHRvIGNoYW5nZSBzbyB3ZSBjYW4ganVzdCBwYXNzCi0gICAgICAgICMgICAgIGFuIGVuY29kaW5nIHJhdGhlciB0aGFuIHVzaW5nIGEgaG9vaz8pCi0jIyAgICAgICAgIHRyeToKLSMjICAgICAgICAgICAgIHQxID0gd3JpdGVUbXAoMSwgWyJBXG5CIl0sIG1vZGU9IndiIikKLSMjICAgICAgICAgICAgIGZpID0gRmlsZUlucHV0KGZpbGVzPXQxLCBvcGVuaG9vaz1ob29rX2VuY29kZWQoInJvdDEzIikpCi0jIyAgICAgICAgICAgICBsaW5lcyA9IGxpc3QoZmkpCi0jIyAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxpbmVzLCBbIk5cbiIsICJPIl0pCi0jIyAgICAgICAgIGZpbmFsbHk6Ci0jIyAgICAgICAgICAgICByZW1vdmVfdGVtcGZpbGVzKHQxKQorCisgICAgICAgIGNsYXNzIEN1c3RvbU9wZW5Ib29rOgorICAgICAgICAgICAgZGVmIF9faW5pdF9fKHNlbGYpOgorICAgICAgICAgICAgICAgIHNlbGYuaW52b2tlZCA9IEZhbHNlCisgICAgICAgICAgICBkZWYgX19jYWxsX18oc2VsZiwgKmFyZ3MpOgorICAgICAgICAgICAgICAgIHNlbGYuaW52b2tlZCA9IFRydWUKKyAgICAgICAgICAgICAgICByZXR1cm4gb3BlbigqYXJncykKKworICAgICAgICB0ID0gd3JpdGVUbXAoMSwgWyJcbiJdKQorICAgICAgICBzZWxmLmFkZENsZWFudXAocmVtb3ZlX3RlbXBmaWxlcywgdCkKKyAgICAgICAgY3VzdG9tX29wZW5faG9vayA9IEN1c3RvbU9wZW5Ib29rKCkKKyAgICAgICAgd2l0aCBGaWxlSW5wdXQoW3RdLCBvcGVuaG9vaz1jdXN0b21fb3Blbl9ob29rKSBhcyBmaToKKyAgICAgICAgICAgIGZpLnJlYWRsaW5lKCkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGN1c3RvbV9vcGVuX2hvb2suaW52b2tlZCwgIm9wZW5ob29rIG5vdCBpbnZva2VkIikKIAogICAgIGRlZiB0ZXN0X2NvbnRleHRfbWFuYWdlcihzZWxmKToKICAgICAgICAgdHJ5OgpAQCAtMjU0LDkgKzI4MSw1NzYgQEAKICAgICAgICAgZmluYWxseToKICAgICAgICAgICAgIHJlbW92ZV90ZW1wZmlsZXModDEpCiAKKyAgICBkZWYgdGVzdF9lbXB0eV9maWxlc19saXN0X3NwZWNpZmllZF90b19jb25zdHJ1Y3RvcihzZWxmKToKKyAgICAgICAgd2l0aCBGaWxlSW5wdXQoZmlsZXM9W10pIGFzIGZpOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmaS5fZmlsZXMsICgnLScsKSkKKworICAgIGRlZiB0ZXN0X19nZXRpdGVtX18oc2VsZik6CisgICAgICAgICIiIlRlc3RzIGludm9raW5nIEZpbGVJbnB1dC5fX2dldGl0ZW1fXygpIHdpdGggdGhlIGN1cnJlbnQKKyAgICAgICAgICAgbGluZSBudW1iZXIiIiIKKyAgICAgICAgdCA9IHdyaXRlVG1wKDEsIFsibGluZTFcbiIsICJsaW5lMlxuIl0pCisgICAgICAgIHNlbGYuYWRkQ2xlYW51cChyZW1vdmVfdGVtcGZpbGVzLCB0KQorICAgICAgICB3aXRoIEZpbGVJbnB1dChmaWxlcz1bdF0pIGFzIGZpOgorICAgICAgICAgICAgcmV0dmFsMSA9IGZpWzBdCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJldHZhbDEsICJsaW5lMVxuIikKKyAgICAgICAgICAgIHJldHZhbDIgPSBmaVsxXQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXR2YWwyLCAibGluZTJcbiIpCisKKyAgICBkZWYgdGVzdF9fZ2V0aXRlbV9faW52YWxpZF9rZXkoc2VsZik6CisgICAgICAgICIiIlRlc3RzIGludm9raW5nIEZpbGVJbnB1dC5fX2dldGl0ZW1fXygpIHdpdGggYW4gaW5kZXggdW5lcXVhbCB0bworICAgICAgICAgICB0aGUgbGluZSBudW1iZXIiIiIKKyAgICAgICAgdCA9IHdyaXRlVG1wKDEsIFsibGluZTFcbiIsICJsaW5lMlxuIl0pCisgICAgICAgIHNlbGYuYWRkQ2xlYW51cChyZW1vdmVfdGVtcGZpbGVzLCB0KQorICAgICAgICB3aXRoIEZpbGVJbnB1dChmaWxlcz1bdF0pIGFzIGZpOgorICAgICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhSdW50aW1lRXJyb3IpIGFzIGNtOgorICAgICAgICAgICAgICAgIGZpWzFdCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY20uZXhjZXB0aW9uLmFyZ3MsICgiYWNjZXNzaW5nIGxpbmVzIG91dCBvZiBvcmRlciIsKSkKKworICAgIGRlZiB0ZXN0X19nZXRpdGVtX19lb2Yoc2VsZik6CisgICAgICAgICIiIlRlc3RzIGludm9raW5nIEZpbGVJbnB1dC5fX2dldGl0ZW1fXygpIHdpdGggdGhlIGxpbmUgbnVtYmVyIGJ1dCBhdAorICAgICAgICAgICBlbmQtb2YtaW5wdXQiIiIKKyAgICAgICAgdCA9IHdyaXRlVG1wKDEsIFtdKQorICAgICAgICBzZWxmLmFkZENsZWFudXAocmVtb3ZlX3RlbXBmaWxlcywgdCkKKyAgICAgICAgd2l0aCBGaWxlSW5wdXQoZmlsZXM9W3RdKSBhcyBmaToKKyAgICAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoSW5kZXhFcnJvcikgYXMgY206CisgICAgICAgICAgICAgICAgZmlbMF0KKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbS5leGNlcHRpb24uYXJncywgKCJlbmQgb2YgaW5wdXQgcmVhY2hlZCIsKSkKKworICAgIGRlZiB0ZXN0X25leHRmaWxlX29zZXJyb3JfZGVsZXRpbmdfYmFja3VwKHNlbGYpOgorICAgICAgICAiIiJUZXN0cyBpbnZva2luZyBGaWxlSW5wdXQubmV4dGZpbGUoKSB3aGVuIHRoZSBhdHRlbXB0IHRvIGRlbGV0ZQorICAgICAgICAgICB0aGUgYmFja3VwIGZpbGUgd291bGQgcmFpc2UgT1NFcnJvci4gIFRoaXMgZXJyb3IgaXMgZXhwZWN0ZWQgdG8gYmUKKyAgICAgICAgICAgc2lsZW50bHkgaWdub3JlZCIiIgorCisgICAgICAgIG9zX3VubGlua19vcmlnID0gb3MudW5saW5rCisgICAgICAgIG9zX3VubGlua19yZXBsYWNlbWVudCA9IFVuY29uZGl0aW9uYWxseVJhaXNlKE9TRXJyb3IpCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHQgPSB3cml0ZVRtcCgxLCBbIlxuIl0pCisgICAgICAgICAgICBzZWxmLmFkZENsZWFudXAocmVtb3ZlX3RlbXBmaWxlcywgdCkKKyAgICAgICAgICAgIHdpdGggRmlsZUlucHV0KGZpbGVzPVt0XSwgaW5wbGFjZT1UcnVlKSBhcyBmaToKKyAgICAgICAgICAgICAgICBuZXh0KGZpKSAjIG1ha2Ugc3VyZSB0aGUgZmlsZSBpcyBvcGVuZWQKKyAgICAgICAgICAgICAgICBvcy51bmxpbmsgPSBvc191bmxpbmtfcmVwbGFjZW1lbnQKKyAgICAgICAgICAgICAgICBmaS5uZXh0ZmlsZSgpCisgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICBvcy51bmxpbmsgPSBvc191bmxpbmtfb3JpZworCisgICAgICAgICMgc2FuaXR5IGNoZWNrIHRvIG1ha2Ugc3VyZSB0aGF0IG91ciB0ZXN0IHNjZW5hcmlvIHdhcyBhY3R1YWxseSBoaXQKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG9zX3VubGlua19yZXBsYWNlbWVudC5pbnZva2VkLAorICAgICAgICAgICAgICAgICAgICAgICAgIm9zLnVubGluaygpIHdhcyBub3QgaW52b2tlZCIpCisKKyAgICBkZWYgdGVzdF9yZWFkbGluZV9vc19mc3RhdF9yYWlzZXNfT1NFcnJvcihzZWxmKToKKyAgICAgICAgIiIiVGVzdHMgaW52b2tpbmcgRmlsZUlucHV0LnJlYWRsaW5lKCkgd2hlbiBvcy5mc3RhdCgpIHJhaXNlcyBPU0Vycm9yLgorICAgICAgICAgICBUaGlzIGV4Y2VwdGlvbiBzaG91bGQgYmUgc2lsZW50bHkgZGlzY2FyZGVkLiIiIgorCisgICAgICAgIG9zX2ZzdGF0X29yaWcgPSBvcy5mc3RhdAorICAgICAgICBvc19mc3RhdF9yZXBsYWNlbWVudCA9IFVuY29uZGl0aW9uYWxseVJhaXNlKE9TRXJyb3IpCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHQgPSB3cml0ZVRtcCgxLCBbIlxuIl0pCisgICAgICAgICAgICBzZWxmLmFkZENsZWFudXAocmVtb3ZlX3RlbXBmaWxlcywgdCkKKyAgICAgICAgICAgIHdpdGggRmlsZUlucHV0KGZpbGVzPVt0XSwgaW5wbGFjZT1UcnVlKSBhcyBmaToKKyAgICAgICAgICAgICAgICBvcy5mc3RhdCA9IG9zX2ZzdGF0X3JlcGxhY2VtZW50CisgICAgICAgICAgICAgICAgZmkucmVhZGxpbmUoKQorICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgb3MuZnN0YXQgPSBvc19mc3RhdF9vcmlnCisKKyAgICAgICAgIyBzYW5pdHkgY2hlY2sgdG8gbWFrZSBzdXJlIHRoYXQgb3VyIHRlc3Qgc2NlbmFyaW8gd2FzIGFjdHVhbGx5IGhpdAorICAgICAgICBzZWxmLmFzc2VydFRydWUob3NfZnN0YXRfcmVwbGFjZW1lbnQuaW52b2tlZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICJvcy5mc3RhdCgpIHdhcyBub3QgaW52b2tlZCIpCisKKyAgICBAdW5pdHRlc3Quc2tpcElmKG5vdCBoYXNhdHRyKG9zLCAiY2htb2QiKSwgIm9zLmNobW9kIGRvZXMgbm90IGV4aXN0IikKKyAgICBkZWYgdGVzdF9yZWFkbGluZV9vc19jaG1vZF9yYWlzZXNfT1NFcnJvcihzZWxmKToKKyAgICAgICAgIiIiVGVzdHMgaW52b2tpbmcgRmlsZUlucHV0LnJlYWRsaW5lKCkgd2hlbiBvcy5jaG1vZCgpIHJhaXNlcyBPU0Vycm9yLgorICAgICAgICAgICBUaGlzIGV4Y2VwdGlvbiBzaG91bGQgYmUgc2lsZW50bHkgZGlzY2FyZGVkLiIiIgorCisgICAgICAgIG9zX2NobW9kX29yaWcgPSBvcy5jaG1vZAorICAgICAgICBvc19jaG1vZF9yZXBsYWNlbWVudCA9IFVuY29uZGl0aW9uYWxseVJhaXNlKE9TRXJyb3IpCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHQgPSB3cml0ZVRtcCgxLCBbIlxuIl0pCisgICAgICAgICAgICBzZWxmLmFkZENsZWFudXAocmVtb3ZlX3RlbXBmaWxlcywgdCkKKyAgICAgICAgICAgIHdpdGggRmlsZUlucHV0KGZpbGVzPVt0XSwgaW5wbGFjZT1UcnVlKSBhcyBmaToKKyAgICAgICAgICAgICAgICBvcy5jaG1vZCA9IG9zX2NobW9kX3JlcGxhY2VtZW50CisgICAgICAgICAgICAgICAgZmkucmVhZGxpbmUoKQorICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgb3MuY2htb2QgPSBvc19jaG1vZF9vcmlnCisKKyAgICAgICAgIyBzYW5pdHkgY2hlY2sgdG8gbWFrZSBzdXJlIHRoYXQgb3VyIHRlc3Qgc2NlbmFyaW8gd2FzIGFjdHVhbGx5IGhpdAorICAgICAgICBzZWxmLmFzc2VydFRydWUob3NfY2htb2RfcmVwbGFjZW1lbnQuaW52b2tlZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICJvcy5mc3RhdCgpIHdhcyBub3QgaW52b2tlZCIpCisKKyAgICBkZWYgdGVzdF9maWxlbm9fd2hlbl9WYWx1ZUVycm9yX3JhaXNlZChzZWxmKToKKyAgICAgICAgY2xhc3MgRmlsZW5vUmFpc2VzVmFsdWVFcnJvcihVbmNvbmRpdGlvbmFsbHlSYWlzZSk6CisgICAgICAgICAgICBkZWYgX19pbml0X18oc2VsZik6CisgICAgICAgICAgICAgICAgVW5jb25kaXRpb25hbGx5UmFpc2UuX19pbml0X18oc2VsZiwgVmFsdWVFcnJvcikKKyAgICAgICAgICAgIGRlZiBmaWxlbm8oc2VsZik6CisgICAgICAgICAgICAgICAgc2VsZi5fX2NhbGxfXygpCisKKyAgICAgICAgdW5jb25kaXRpb25hbGx5X3JhaXNlX1ZhbHVlRXJyb3IgPSBGaWxlbm9SYWlzZXNWYWx1ZUVycm9yKCkKKyAgICAgICAgdCA9IHdyaXRlVG1wKDEsIFsiXG4iXSkKKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKHJlbW92ZV90ZW1wZmlsZXMsIHQpCisgICAgICAgIHdpdGggRmlsZUlucHV0KGZpbGVzPVt0XSkgYXMgZmk6CisgICAgICAgICAgICBmaWxlX2JhY2t1cCA9IGZpLl9maWxlCisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgZmkuX2ZpbGUgPSB1bmNvbmRpdGlvbmFsbHlfcmFpc2VfVmFsdWVFcnJvcgorICAgICAgICAgICAgICAgIHJlc3VsdCA9IGZpLmZpbGVubygpCisgICAgICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgICAgIGZpLl9maWxlID0gZmlsZV9iYWNrdXAgIyBtYWtlIHN1cmUgdGhlIGZpbGUgZ2V0cyBjbGVhbmVkIHVwCisKKyAgICAgICAgIyBzYW5pdHkgY2hlY2sgdG8gbWFrZSBzdXJlIHRoYXQgb3VyIHRlc3Qgc2NlbmFyaW8gd2FzIGFjdHVhbGx5IGhpdAorICAgICAgICBzZWxmLmFzc2VydFRydWUodW5jb25kaXRpb25hbGx5X3JhaXNlX1ZhbHVlRXJyb3IuaW52b2tlZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICJfZmlsZS5maWxlbm8oKSB3YXMgbm90IGludm9rZWQiKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzdWx0LCAtMSwgImZpbGVubygpIHNob3VsZCByZXR1cm4gLTEiKQorCitjbGFzcyBNb2NrRmlsZUlucHV0OgorICAgICIiIkEgY2xhc3MgdGhhdCBtb2NrcyBvdXQgZmlsZWlucHV0LkZpbGVJbnB1dCBmb3IgdXNlIGR1cmluZyB1bml0IHRlc3RzIiIiCisKKyAgICBkZWYgX19pbml0X18oc2VsZiwgZmlsZXM9Tm9uZSwgaW5wbGFjZT1GYWxzZSwgYmFja3VwPSIiLCBidWZzaXplPTAsCisgICAgICAgICAgICAgICAgIG1vZGU9InIiLCBvcGVuaG9vaz1Ob25lKToKKyAgICAgICAgc2VsZi5maWxlcyA9IGZpbGVzCisgICAgICAgIHNlbGYuaW5wbGFjZSA9IGlucGxhY2UKKyAgICAgICAgc2VsZi5iYWNrdXAgPSBiYWNrdXAKKyAgICAgICAgc2VsZi5idWZzaXplID0gYnVmc2l6ZQorICAgICAgICBzZWxmLm1vZGUgPSBtb2RlCisgICAgICAgIHNlbGYub3Blbmhvb2sgPSBvcGVuaG9vaworICAgICAgICBzZWxmLl9maWxlID0gTm9uZQorICAgICAgICBzZWxmLmludm9jYXRpb25fY291bnRzID0gY29sbGVjdGlvbnMuZGVmYXVsdGRpY3QobGFtYmRhOiAwKQorICAgICAgICBzZWxmLnJldHVybl92YWx1ZXMgPSB7fQorCisgICAgZGVmIGNsb3NlKHNlbGYpOgorICAgICAgICBzZWxmLmludm9jYXRpb25fY291bnRzWyJjbG9zZSJdICs9IDEKKworICAgIGRlZiBuZXh0ZmlsZShzZWxmKToKKyAgICAgICAgc2VsZi5pbnZvY2F0aW9uX2NvdW50c1sibmV4dGZpbGUiXSArPSAxCisgICAgICAgIHJldHVybiBzZWxmLnJldHVybl92YWx1ZXNbIm5leHRmaWxlIl0KKworICAgIGRlZiBmaWxlbmFtZShzZWxmKToKKyAgICAgICAgc2VsZi5pbnZvY2F0aW9uX2NvdW50c1siZmlsZW5hbWUiXSArPSAxCisgICAgICAgIHJldHVybiBzZWxmLnJldHVybl92YWx1ZXNbImZpbGVuYW1lIl0KKworICAgIGRlZiBsaW5lbm8oc2VsZik6CisgICAgICAgIHNlbGYuaW52b2NhdGlvbl9jb3VudHNbImxpbmVubyJdICs9IDEKKyAgICAgICAgcmV0dXJuIHNlbGYucmV0dXJuX3ZhbHVlc1sibGluZW5vIl0KKworICAgIGRlZiBmaWxlbGluZW5vKHNlbGYpOgorICAgICAgICBzZWxmLmludm9jYXRpb25fY291bnRzWyJmaWxlbGluZW5vIl0gKz0gMQorICAgICAgICByZXR1cm4gc2VsZi5yZXR1cm5fdmFsdWVzWyJmaWxlbGluZW5vIl0KKworICAgIGRlZiBmaWxlbm8oc2VsZik6CisgICAgICAgIHNlbGYuaW52b2NhdGlvbl9jb3VudHNbImZpbGVubyJdICs9IDEKKyAgICAgICAgcmV0dXJuIHNlbGYucmV0dXJuX3ZhbHVlc1siZmlsZW5vIl0KKworICAgIGRlZiBpc2ZpcnN0bGluZShzZWxmKToKKyAgICAgICAgc2VsZi5pbnZvY2F0aW9uX2NvdW50c1siaXNmaXJzdGxpbmUiXSArPSAxCisgICAgICAgIHJldHVybiBzZWxmLnJldHVybl92YWx1ZXNbImlzZmlyc3RsaW5lIl0KKworICAgIGRlZiBpc3N0ZGluKHNlbGYpOgorICAgICAgICBzZWxmLmludm9jYXRpb25fY291bnRzWyJpc3N0ZGluIl0gKz0gMQorICAgICAgICByZXR1cm4gc2VsZi5yZXR1cm5fdmFsdWVzWyJpc3N0ZGluIl0KKworY2xhc3MgQmFzZUZpbGVJbnB1dEdsb2JhbE1ldGhvZHNUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKKyAgICAiIiJCYXNlIGNsYXNzIGZvciB1bml0IHRlc3RzIGZvciB0aGUgZ2xvYmFsIGZ1bmN0aW9uIG9mCisgICAgICAgdGhlIGZpbGVpbnB1dCBtb2R1bGUuIiIiCisKKyAgICBkZWYgc2V0VXAoc2VsZik6CisgICAgICAgIHNlbGYuX29yaWdfc3RhdGUgPSBmaWxlaW5wdXQuX3N0YXRlCisgICAgICAgIHNlbGYuX29yaWdfRmlsZUlucHV0ID0gZmlsZWlucHV0LkZpbGVJbnB1dAorICAgICAgICBmaWxlaW5wdXQuRmlsZUlucHV0ID0gTW9ja0ZpbGVJbnB1dAorCisgICAgZGVmIHRlYXJEb3duKHNlbGYpOgorICAgICAgICBmaWxlaW5wdXQuRmlsZUlucHV0ID0gc2VsZi5fb3JpZ19GaWxlSW5wdXQKKyAgICAgICAgZmlsZWlucHV0Ll9zdGF0ZSA9IHNlbGYuX29yaWdfc3RhdGUKKworICAgIGRlZiBhc3NlcnRFeGFjdGx5T25lSW52b2NhdGlvbihzZWxmLCBtb2NrX2ZpbGVfaW5wdXQsIG1ldGhvZF9uYW1lKToKKyAgICAgICAgIyBhc3NlcnQgdGhhdCB0aGUgbWV0aG9kIHdpdGggdGhlIGdpdmVuIG5hbWUgd2FzIGludm9rZWQgb25jZQorICAgICAgICBhY3R1YWxfY291bnQgPSBtb2NrX2ZpbGVfaW5wdXQuaW52b2NhdGlvbl9jb3VudHNbbWV0aG9kX25hbWVdCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYWN0dWFsX2NvdW50LCAxLCBtZXRob2RfbmFtZSkKKyAgICAgICAgIyBhc3NlcnQgdGhhdCBubyBvdGhlciB1bmV4cGVjdGVkIG1ldGhvZHMgd2VyZSBpbnZva2VkCisgICAgICAgIGFjdHVhbF90b3RhbF9jb3VudCA9IGxlbihtb2NrX2ZpbGVfaW5wdXQuaW52b2NhdGlvbl9jb3VudHMpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYWN0dWFsX3RvdGFsX2NvdW50LCAxKQorCitjbGFzcyBUZXN0X2ZpbGVpbnB1dF9pbnB1dChCYXNlRmlsZUlucHV0R2xvYmFsTWV0aG9kc1Rlc3QpOgorICAgICIiIlVuaXQgdGVzdHMgZm9yIGZpbGVpbnB1dC5pbnB1dCgpIiIiCisKKyAgICBkZWYgdGVzdF9zdGF0ZV9pc19ub3RfTm9uZV9hbmRfc3RhdGVfZmlsZV9pc19ub3RfTm9uZShzZWxmKToKKyAgICAgICAgIiIiVGVzdHMgaW52b2tpbmcgZmlsZWlucHV0LmlucHV0KCkgd2hlbiBmaWxlaW5wdXQuX3N0YXRlIGlzIG5vdCBOb25lCisgICAgICAgICAgIGFuZCBpdHMgX2ZpbGUgYXR0cmlidXRlIGlzIGFsc28gbm90IE5vbmUuICBFeHBlY3QgUnVudGltZUVycm9yIHRvCisgICAgICAgICAgIGJlIHJhaXNlZCB3aXRoIGEgbWVhbmluZ2Z1bCBlcnJvciBtZXNzYWdlIGFuZCBmb3IgZmlsZWlucHV0Ll9zdGF0ZQorICAgICAgICAgICB0byAqbm90KiBiZSBtb2RpZmllZC4iIiIKKyAgICAgICAgaW5zdGFuY2UgPSBNb2NrRmlsZUlucHV0KCkKKyAgICAgICAgaW5zdGFuY2UuX2ZpbGUgPSBvYmplY3QoKQorICAgICAgICBmaWxlaW5wdXQuX3N0YXRlID0gaW5zdGFuY2UKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhSdW50aW1lRXJyb3IpIGFzIGNtOgorICAgICAgICAgICAgZmlsZWlucHV0LmlucHV0KCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgoImlucHV0KCkgYWxyZWFkeSBhY3RpdmUiLCksIGNtLmV4Y2VwdGlvbi5hcmdzKQorICAgICAgICBzZWxmLmFzc2VydElzKGluc3RhbmNlLCBmaWxlaW5wdXQuX3N0YXRlLCAiZmlsZWlucHV0Ll9zdGF0ZSIpCisKKyAgICBkZWYgdGVzdF9zdGF0ZV9pc19ub3RfTm9uZV9hbmRfc3RhdGVfZmlsZV9pc19Ob25lKHNlbGYpOgorICAgICAgICAiIiJUZXN0cyBpbnZva2luZyBmaWxlaW5wdXQuaW5wdXQoKSB3aGVuIGZpbGVpbnB1dC5fc3RhdGUgaXMgbm90IE5vbmUKKyAgICAgICAgICAgYnV0IGl0cyBfZmlsZSBhdHRyaWJ1dGUgKmlzKiBOb25lLiAgRXhwZWN0IGl0IHRvIGNyZWF0ZSBhbmQgcmV0dXJuCisgICAgICAgICAgIGEgbmV3IGZpbGVpbnB1dC5GaWxlSW5wdXQgb2JqZWN0IHdpdGggYWxsIG1ldGhvZCBwYXJhbWV0ZXJzIHBhc3NlZAorICAgICAgICAgICBleHBsaWNpdGx5IHRvIHRoZSBfX2luaXRfXygpIG1ldGhvZDsgYWxzbyBlbnN1cmUgdGhhdAorICAgICAgICAgICBmaWxlaW5wdXQuX3N0YXRlIGlzIHNldCB0byB0aGUgcmV0dXJuZWQgaW5zdGFuY2UuIiIiCisgICAgICAgIGluc3RhbmNlID0gTW9ja0ZpbGVJbnB1dCgpCisgICAgICAgIGluc3RhbmNlLl9maWxlID0gTm9uZQorICAgICAgICBmaWxlaW5wdXQuX3N0YXRlID0gaW5zdGFuY2UKKyAgICAgICAgc2VsZi5kb190ZXN0X2NhbGxfaW5wdXQoKQorCisgICAgZGVmIHRlc3Rfc3RhdGVfaXNfTm9uZShzZWxmKToKKyAgICAgICAgIiIiVGVzdHMgaW52b2tpbmcgZmlsZWlucHV0LmlucHV0KCkgd2hlbiBmaWxlaW5wdXQuX3N0YXRlIGlzIE5vbmUKKyAgICAgICAgICAgRXhwZWN0IGl0IHRvIGNyZWF0ZSBhbmQgcmV0dXJuIGEgbmV3IGZpbGVpbnB1dC5GaWxlSW5wdXQgb2JqZWN0CisgICAgICAgICAgIHdpdGggYWxsIG1ldGhvZCBwYXJhbWV0ZXJzIHBhc3NlZCBleHBsaWNpdGx5IHRvIHRoZSBfX2luaXRfXygpCisgICAgICAgICAgIG1ldGhvZDsgYWxzbyBlbnN1cmUgdGhhdCBmaWxlaW5wdXQuX3N0YXRlIGlzIHNldCB0byB0aGUgcmV0dXJuZWQKKyAgICAgICAgICAgaW5zdGFuY2UuIiIiCisgICAgICAgIGZpbGVpbnB1dC5fc3RhdGUgPSBOb25lCisgICAgICAgIHNlbGYuZG9fdGVzdF9jYWxsX2lucHV0KCkKKworICAgIGRlZiBkb190ZXN0X2NhbGxfaW5wdXQoc2VsZik6CisgICAgICAgICIiIlRlc3RzIHRoYXQgZmlsZWlucHV0LmlucHV0KCkgY3JlYXRlcyBhIG5ldyBmaWxlaW5wdXQuRmlsZUlucHV0CisgICAgICAgICAgIG9iamVjdCwgcGFzc2luZyB0aGUgZ2l2ZW4gcGFyYW1ldGVycyB1bm1vZGlmaWVkIHRvCisgICAgICAgICAgIGZpbGVpbnB1dC5GaWxlSW5wdXQuX19pbml0X18oKS4gIE5vdGUgdGhhdCB0aGlzIHRlc3QgZGVwZW5kcyBvbiB0aGUKKyAgICAgICAgICAgbW9ua2V5IHBhdGNoaW5nIG9mIGZpbGVpbnB1dC5GaWxlSW5wdXQgZG9uZSBieSBzZXRVcCgpLiIiIgorICAgICAgICBmaWxlcyA9IG9iamVjdCgpCisgICAgICAgIGlucGxhY2UgPSBvYmplY3QoKQorICAgICAgICBiYWNrdXAgPSBvYmplY3QoKQorICAgICAgICBidWZzaXplID0gb2JqZWN0KCkKKyAgICAgICAgbW9kZSA9IG9iamVjdCgpCisgICAgICAgIG9wZW5ob29rID0gb2JqZWN0KCkKKworICAgICAgICAjIGNhbGwgZmlsZWlucHV0LmlucHV0KCkgd2l0aCBkaWZmZXJlbnQgdmFsdWVzIGZvciBlYWNoIGFyZ3VtZW50CisgICAgICAgIHJlc3VsdCA9IGZpbGVpbnB1dC5pbnB1dChmaWxlcz1maWxlcywgaW5wbGFjZT1pbnBsYWNlLCBiYWNrdXA9YmFja3VwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVmc2l6ZT1idWZzaXplLAorICAgICAgICAgICAgbW9kZT1tb2RlLCBvcGVuaG9vaz1vcGVuaG9vaykKKworICAgICAgICAjIGVuc3VyZSBmaWxlaW5wdXQuX3N0YXRlIHdhcyBzZXQgdG8gdGhlIHJldHVybmVkIG9iamVjdAorICAgICAgICBzZWxmLmFzc2VydElzKHJlc3VsdCwgZmlsZWlucHV0Ll9zdGF0ZSwgImZpbGVpbnB1dC5fc3RhdGUiKQorCisgICAgICAgICMgZW5zdXJlIHRoZSBwYXJhbWV0ZXJzIHRvIGZpbGVpbnB1dC5pbnB1dCgpIHdlcmUgcGFzc2VkIGRpcmVjdGx5CisgICAgICAgICMgdG8gRmlsZUlucHV0Ll9faW5pdF9fKCkKKyAgICAgICAgc2VsZi5hc3NlcnRJcyhmaWxlcywgcmVzdWx0LmZpbGVzLCAiZmlsZXMiKQorICAgICAgICBzZWxmLmFzc2VydElzKGlucGxhY2UsIHJlc3VsdC5pbnBsYWNlLCAiaW5wbGFjZSIpCisgICAgICAgIHNlbGYuYXNzZXJ0SXMoYmFja3VwLCByZXN1bHQuYmFja3VwLCAiYmFja3VwIikKKyAgICAgICAgc2VsZi5hc3NlcnRJcyhidWZzaXplLCByZXN1bHQuYnVmc2l6ZSwgImJ1ZnNpemUiKQorICAgICAgICBzZWxmLmFzc2VydElzKG1vZGUsIHJlc3VsdC5tb2RlLCAibW9kZSIpCisgICAgICAgIHNlbGYuYXNzZXJ0SXMob3Blbmhvb2ssIHJlc3VsdC5vcGVuaG9vaywgIm9wZW5ob29rIikKKworY2xhc3MgVGVzdF9maWxlaW5wdXRfY2xvc2UoQmFzZUZpbGVJbnB1dEdsb2JhbE1ldGhvZHNUZXN0KToKKyAgICAiIiJVbml0IHRlc3RzIGZvciBmaWxlaW5wdXQuY2xvc2UoKSIiIgorCisgICAgZGVmIHRlc3Rfc3RhdGVfaXNfTm9uZShzZWxmKToKKyAgICAgICAgIiIiVGVzdHMgdGhhdCBmaWxlaW5wdXQuY2xvc2UoKSBkb2VzIG5vdGhpbmcgaWYgZmlsZWlucHV0Ll9zdGF0ZQorICAgICAgICAgICBpcyBOb25lIiIiCisgICAgICAgIGZpbGVpbnB1dC5fc3RhdGUgPSBOb25lCisgICAgICAgIGZpbGVpbnB1dC5jbG9zZSgpCisgICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKGZpbGVpbnB1dC5fc3RhdGUpCisKKyAgICBkZWYgdGVzdF9zdGF0ZV9pc19ub3RfTm9uZShzZWxmKToKKyAgICAgICAgIiIiVGVzdHMgdGhhdCBmaWxlaW5wdXQuY2xvc2UoKSBpbnZva2VzIGNsb3NlKCkgb24gZmlsZWlucHV0Ll9zdGF0ZQorICAgICAgICAgICBhbmQgc2V0cyBfc3RhdGU9Tm9uZSIiIgorICAgICAgICBpbnN0YW5jZSA9IE1vY2tGaWxlSW5wdXQoKQorICAgICAgICBmaWxlaW5wdXQuX3N0YXRlID0gaW5zdGFuY2UKKyAgICAgICAgZmlsZWlucHV0LmNsb3NlKCkKKyAgICAgICAgc2VsZi5hc3NlcnRFeGFjdGx5T25lSW52b2NhdGlvbihpbnN0YW5jZSwgImNsb3NlIikKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUoZmlsZWlucHV0Ll9zdGF0ZSkKKworY2xhc3MgVGVzdF9maWxlaW5wdXRfbmV4dGZpbGUoQmFzZUZpbGVJbnB1dEdsb2JhbE1ldGhvZHNUZXN0KToKKyAgICAiIiJVbml0IHRlc3RzIGZvciBmaWxlaW5wdXQubmV4dGZpbGUoKSIiIgorCisgICAgZGVmIHRlc3Rfc3RhdGVfaXNfTm9uZShzZWxmKToKKyAgICAgICAgIiIiVGVzdHMgZmlsZWlucHV0Lm5leHRmaWxlKCkgd2hlbiBmaWxlaW5wdXQuX3N0YXRlIGlzIE5vbmUuCisgICAgICAgICAgIEVuc3VyZSB0aGF0IGl0IHJhaXNlcyBSdW50aW1lRXJyb3Igd2l0aCBhIG1lYW5pbmdmdWwgZXJyb3IgbWVzc2FnZQorICAgICAgICAgICBhbmQgZG9lcyBub3QgbW9kaWZ5IGZpbGVpbnB1dC5fc3RhdGUiIiIKKyAgICAgICAgZmlsZWlucHV0Ll9zdGF0ZSA9IE5vbmUKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhSdW50aW1lRXJyb3IpIGFzIGNtOgorICAgICAgICAgICAgZmlsZWlucHV0Lm5leHRmaWxlKCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgoIm5vIGFjdGl2ZSBpbnB1dCgpIiwpLCBjbS5leGNlcHRpb24uYXJncykKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUoZmlsZWlucHV0Ll9zdGF0ZSkKKworICAgIGRlZiB0ZXN0X3N0YXRlX2lzX25vdF9Ob25lKHNlbGYpOgorICAgICAgICAiIiJUZXN0cyBmaWxlaW5wdXQubmV4dGZpbGUoKSB3aGVuIGZpbGVpbnB1dC5fc3RhdGUgaXMgbm90IE5vbmUuCisgICAgICAgICAgIEVuc3VyZSB0aGF0IGl0IGludm9rZXMgZmlsZWlucHV0Ll9zdGF0ZS5uZXh0ZmlsZSgpIGV4YWN0bHkgb25jZSwKKyAgICAgICAgICAgcmV0dXJucyB3aGF0ZXZlciBpdCByZXR1cm5zLCBhbmQgZG9lcyBub3QgbW9kaWZ5IGZpbGVpbnB1dC5fc3RhdGUKKyAgICAgICAgICAgdG8gcG9pbnQgdG8gYSBkaWZmZXJlbnQgb2JqZWN0LiIiIgorICAgICAgICBuZXh0ZmlsZV9yZXR2YWwgPSBvYmplY3QoKQorICAgICAgICBpbnN0YW5jZSA9IE1vY2tGaWxlSW5wdXQoKQorICAgICAgICBpbnN0YW5jZS5yZXR1cm5fdmFsdWVzWyJuZXh0ZmlsZSJdID0gbmV4dGZpbGVfcmV0dmFsCisgICAgICAgIGZpbGVpbnB1dC5fc3RhdGUgPSBpbnN0YW5jZQorICAgICAgICByZXR2YWwgPSBmaWxlaW5wdXQubmV4dGZpbGUoKQorICAgICAgICBzZWxmLmFzc2VydEV4YWN0bHlPbmVJbnZvY2F0aW9uKGluc3RhbmNlLCAibmV4dGZpbGUiKQorICAgICAgICBzZWxmLmFzc2VydElzKHJldHZhbCwgbmV4dGZpbGVfcmV0dmFsKQorICAgICAgICBzZWxmLmFzc2VydElzKGZpbGVpbnB1dC5fc3RhdGUsIGluc3RhbmNlKQorCitjbGFzcyBUZXN0X2ZpbGVpbnB1dF9maWxlbmFtZShCYXNlRmlsZUlucHV0R2xvYmFsTWV0aG9kc1Rlc3QpOgorICAgICIiIlVuaXQgdGVzdHMgZm9yIGZpbGVpbnB1dC5maWxlbmFtZSgpIiIiCisKKyAgICBkZWYgdGVzdF9zdGF0ZV9pc19Ob25lKHNlbGYpOgorICAgICAgICAiIiJUZXN0cyBmaWxlaW5wdXQuZmlsZW5hbWUoKSB3aGVuIGZpbGVpbnB1dC5fc3RhdGUgaXMgTm9uZS4KKyAgICAgICAgICAgRW5zdXJlIHRoYXQgaXQgcmFpc2VzIFJ1bnRpbWVFcnJvciB3aXRoIGEgbWVhbmluZ2Z1bCBlcnJvciBtZXNzYWdlCisgICAgICAgICAgIGFuZCBkb2VzIG5vdCBtb2RpZnkgZmlsZWlucHV0Ll9zdGF0ZSIiIgorICAgICAgICBmaWxlaW5wdXQuX3N0YXRlID0gTm9uZQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFJ1bnRpbWVFcnJvcikgYXMgY206CisgICAgICAgICAgICBmaWxlaW5wdXQuZmlsZW5hbWUoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCgibm8gYWN0aXZlIGlucHV0KCkiLCksIGNtLmV4Y2VwdGlvbi5hcmdzKQorICAgICAgICBzZWxmLmFzc2VydElzTm9uZShmaWxlaW5wdXQuX3N0YXRlKQorCisgICAgZGVmIHRlc3Rfc3RhdGVfaXNfbm90X05vbmUoc2VsZik6CisgICAgICAgICIiIlRlc3RzIGZpbGVpbnB1dC5maWxlbmFtZSgpIHdoZW4gZmlsZWlucHV0Ll9zdGF0ZSBpcyBub3QgTm9uZS4KKyAgICAgICAgICAgRW5zdXJlIHRoYXQgaXQgaW52b2tlcyBmaWxlaW5wdXQuX3N0YXRlLmZpbGVuYW1lKCkgZXhhY3RseSBvbmNlLAorICAgICAgICAgICByZXR1cm5zIHdoYXRldmVyIGl0IHJldHVybnMsIGFuZCBkb2VzIG5vdCBtb2RpZnkgZmlsZWlucHV0Ll9zdGF0ZQorICAgICAgICAgICB0byBwb2ludCB0byBhIGRpZmZlcmVudCBvYmplY3QuIiIiCisgICAgICAgIGZpbGVuYW1lX3JldHZhbCA9IG9iamVjdCgpCisgICAgICAgIGluc3RhbmNlID0gTW9ja0ZpbGVJbnB1dCgpCisgICAgICAgIGluc3RhbmNlLnJldHVybl92YWx1ZXNbImZpbGVuYW1lIl0gPSBmaWxlbmFtZV9yZXR2YWwKKyAgICAgICAgZmlsZWlucHV0Ll9zdGF0ZSA9IGluc3RhbmNlCisgICAgICAgIHJldHZhbCA9IGZpbGVpbnB1dC5maWxlbmFtZSgpCisgICAgICAgIHNlbGYuYXNzZXJ0RXhhY3RseU9uZUludm9jYXRpb24oaW5zdGFuY2UsICJmaWxlbmFtZSIpCisgICAgICAgIHNlbGYuYXNzZXJ0SXMocmV0dmFsLCBmaWxlbmFtZV9yZXR2YWwpCisgICAgICAgIHNlbGYuYXNzZXJ0SXMoZmlsZWlucHV0Ll9zdGF0ZSwgaW5zdGFuY2UpCisKK2NsYXNzIFRlc3RfZmlsZWlucHV0X2xpbmVubyhCYXNlRmlsZUlucHV0R2xvYmFsTWV0aG9kc1Rlc3QpOgorICAgICIiIlVuaXQgdGVzdHMgZm9yIGZpbGVpbnB1dC5saW5lbm8oKSIiIgorCisgICAgZGVmIHRlc3Rfc3RhdGVfaXNfTm9uZShzZWxmKToKKyAgICAgICAgIiIiVGVzdHMgZmlsZWlucHV0LmxpbmVubygpIHdoZW4gZmlsZWlucHV0Ll9zdGF0ZSBpcyBOb25lLgorICAgICAgICAgICBFbnN1cmUgdGhhdCBpdCByYWlzZXMgUnVudGltZUVycm9yIHdpdGggYSBtZWFuaW5nZnVsIGVycm9yIG1lc3NhZ2UKKyAgICAgICAgICAgYW5kIGRvZXMgbm90IG1vZGlmeSBmaWxlaW5wdXQuX3N0YXRlIiIiCisgICAgICAgIGZpbGVpbnB1dC5fc3RhdGUgPSBOb25lCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoUnVudGltZUVycm9yKSBhcyBjbToKKyAgICAgICAgICAgIGZpbGVpbnB1dC5saW5lbm8oKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCgibm8gYWN0aXZlIGlucHV0KCkiLCksIGNtLmV4Y2VwdGlvbi5hcmdzKQorICAgICAgICBzZWxmLmFzc2VydElzTm9uZShmaWxlaW5wdXQuX3N0YXRlKQorCisgICAgZGVmIHRlc3Rfc3RhdGVfaXNfbm90X05vbmUoc2VsZik6CisgICAgICAgICIiIlRlc3RzIGZpbGVpbnB1dC5saW5lbm8oKSB3aGVuIGZpbGVpbnB1dC5fc3RhdGUgaXMgbm90IE5vbmUuCisgICAgICAgICAgIEVuc3VyZSB0aGF0IGl0IGludm9rZXMgZmlsZWlucHV0Ll9zdGF0ZS5saW5lbm8oKSBleGFjdGx5IG9uY2UsCisgICAgICAgICAgIHJldHVybnMgd2hhdGV2ZXIgaXQgcmV0dXJucywgYW5kIGRvZXMgbm90IG1vZGlmeSBmaWxlaW5wdXQuX3N0YXRlCisgICAgICAgICAgIHRvIHBvaW50IHRvIGEgZGlmZmVyZW50IG9iamVjdC4iIiIKKyAgICAgICAgbGluZW5vX3JldHZhbCA9IG9iamVjdCgpCisgICAgICAgIGluc3RhbmNlID0gTW9ja0ZpbGVJbnB1dCgpCisgICAgICAgIGluc3RhbmNlLnJldHVybl92YWx1ZXNbImxpbmVubyJdID0gbGluZW5vX3JldHZhbAorICAgICAgICBmaWxlaW5wdXQuX3N0YXRlID0gaW5zdGFuY2UKKyAgICAgICAgcmV0dmFsID0gZmlsZWlucHV0LmxpbmVubygpCisgICAgICAgIHNlbGYuYXNzZXJ0RXhhY3RseU9uZUludm9jYXRpb24oaW5zdGFuY2UsICJsaW5lbm8iKQorICAgICAgICBzZWxmLmFzc2VydElzKHJldHZhbCwgbGluZW5vX3JldHZhbCkKKyAgICAgICAgc2VsZi5hc3NlcnRJcyhmaWxlaW5wdXQuX3N0YXRlLCBpbnN0YW5jZSkKKworY2xhc3MgVGVzdF9maWxlaW5wdXRfZmlsZWxpbmVubyhCYXNlRmlsZUlucHV0R2xvYmFsTWV0aG9kc1Rlc3QpOgorICAgICIiIlVuaXQgdGVzdHMgZm9yIGZpbGVpbnB1dC5maWxlbGluZW5vKCkiIiIKKworICAgIGRlZiB0ZXN0X3N0YXRlX2lzX05vbmUoc2VsZik6CisgICAgICAgICIiIlRlc3RzIGZpbGVpbnB1dC5maWxlbGluZW5vKCkgd2hlbiBmaWxlaW5wdXQuX3N0YXRlIGlzIE5vbmUuCisgICAgICAgICAgIEVuc3VyZSB0aGF0IGl0IHJhaXNlcyBSdW50aW1lRXJyb3Igd2l0aCBhIG1lYW5pbmdmdWwgZXJyb3IgbWVzc2FnZQorICAgICAgICAgICBhbmQgZG9lcyBub3QgbW9kaWZ5IGZpbGVpbnB1dC5fc3RhdGUiIiIKKyAgICAgICAgZmlsZWlucHV0Ll9zdGF0ZSA9IE5vbmUKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhSdW50aW1lRXJyb3IpIGFzIGNtOgorICAgICAgICAgICAgZmlsZWlucHV0LmZpbGVsaW5lbm8oKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCgibm8gYWN0aXZlIGlucHV0KCkiLCksIGNtLmV4Y2VwdGlvbi5hcmdzKQorICAgICAgICBzZWxmLmFzc2VydElzTm9uZShmaWxlaW5wdXQuX3N0YXRlKQorCisgICAgZGVmIHRlc3Rfc3RhdGVfaXNfbm90X05vbmUoc2VsZik6CisgICAgICAgICIiIlRlc3RzIGZpbGVpbnB1dC5maWxlbGluZW5vKCkgd2hlbiBmaWxlaW5wdXQuX3N0YXRlIGlzIG5vdCBOb25lLgorICAgICAgICAgICBFbnN1cmUgdGhhdCBpdCBpbnZva2VzIGZpbGVpbnB1dC5fc3RhdGUuZmlsZWxpbmVubygpIGV4YWN0bHkgb25jZSwKKyAgICAgICAgICAgcmV0dXJucyB3aGF0ZXZlciBpdCByZXR1cm5zLCBhbmQgZG9lcyBub3QgbW9kaWZ5IGZpbGVpbnB1dC5fc3RhdGUKKyAgICAgICAgICAgdG8gcG9pbnQgdG8gYSBkaWZmZXJlbnQgb2JqZWN0LiIiIgorICAgICAgICBmaWxlbGluZW5vX3JldHZhbCA9IG9iamVjdCgpCisgICAgICAgIGluc3RhbmNlID0gTW9ja0ZpbGVJbnB1dCgpCisgICAgICAgIGluc3RhbmNlLnJldHVybl92YWx1ZXNbImZpbGVsaW5lbm8iXSA9IGZpbGVsaW5lbm9fcmV0dmFsCisgICAgICAgIGZpbGVpbnB1dC5fc3RhdGUgPSBpbnN0YW5jZQorICAgICAgICByZXR2YWwgPSBmaWxlaW5wdXQuZmlsZWxpbmVubygpCisgICAgICAgIHNlbGYuYXNzZXJ0RXhhY3RseU9uZUludm9jYXRpb24oaW5zdGFuY2UsICJmaWxlbGluZW5vIikKKyAgICAgICAgc2VsZi5hc3NlcnRJcyhyZXR2YWwsIGZpbGVsaW5lbm9fcmV0dmFsKQorICAgICAgICBzZWxmLmFzc2VydElzKGZpbGVpbnB1dC5fc3RhdGUsIGluc3RhbmNlKQorCitjbGFzcyBUZXN0X2ZpbGVpbnB1dF9maWxlbm8oQmFzZUZpbGVJbnB1dEdsb2JhbE1ldGhvZHNUZXN0KToKKyAgICAiIiJVbml0IHRlc3RzIGZvciBmaWxlaW5wdXQuZmlsZW5vKCkiIiIKKworICAgIGRlZiB0ZXN0X3N0YXRlX2lzX05vbmUoc2VsZik6CisgICAgICAgICIiIlRlc3RzIGZpbGVpbnB1dC5maWxlbm8oKSB3aGVuIGZpbGVpbnB1dC5fc3RhdGUgaXMgTm9uZS4KKyAgICAgICAgICAgRW5zdXJlIHRoYXQgaXQgcmFpc2VzIFJ1bnRpbWVFcnJvciB3aXRoIGEgbWVhbmluZ2Z1bCBlcnJvciBtZXNzYWdlCisgICAgICAgICAgIGFuZCBkb2VzIG5vdCBtb2RpZnkgZmlsZWlucHV0Ll9zdGF0ZSIiIgorICAgICAgICBmaWxlaW5wdXQuX3N0YXRlID0gTm9uZQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFJ1bnRpbWVFcnJvcikgYXMgY206CisgICAgICAgICAgICBmaWxlaW5wdXQuZmlsZW5vKCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgoIm5vIGFjdGl2ZSBpbnB1dCgpIiwpLCBjbS5leGNlcHRpb24uYXJncykKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUoZmlsZWlucHV0Ll9zdGF0ZSkKKworICAgIGRlZiB0ZXN0X3N0YXRlX2lzX25vdF9Ob25lKHNlbGYpOgorICAgICAgICAiIiJUZXN0cyBmaWxlaW5wdXQuZmlsZW5vKCkgd2hlbiBmaWxlaW5wdXQuX3N0YXRlIGlzIG5vdCBOb25lLgorICAgICAgICAgICBFbnN1cmUgdGhhdCBpdCBpbnZva2VzIGZpbGVpbnB1dC5fc3RhdGUuZmlsZW5vKCkgZXhhY3RseSBvbmNlLAorICAgICAgICAgICByZXR1cm5zIHdoYXRldmVyIGl0IHJldHVybnMsIGFuZCBkb2VzIG5vdCBtb2RpZnkgZmlsZWlucHV0Ll9zdGF0ZQorICAgICAgICAgICB0byBwb2ludCB0byBhIGRpZmZlcmVudCBvYmplY3QuIiIiCisgICAgICAgIGZpbGVub19yZXR2YWwgPSBvYmplY3QoKQorICAgICAgICBpbnN0YW5jZSA9IE1vY2tGaWxlSW5wdXQoKQorICAgICAgICBpbnN0YW5jZS5yZXR1cm5fdmFsdWVzWyJmaWxlbm8iXSA9IGZpbGVub19yZXR2YWwKKyAgICAgICAgaW5zdGFuY2UuZmlsZW5vX3JldHZhbCA9IGZpbGVub19yZXR2YWwKKyAgICAgICAgZmlsZWlucHV0Ll9zdGF0ZSA9IGluc3RhbmNlCisgICAgICAgIHJldHZhbCA9IGZpbGVpbnB1dC5maWxlbm8oKQorICAgICAgICBzZWxmLmFzc2VydEV4YWN0bHlPbmVJbnZvY2F0aW9uKGluc3RhbmNlLCAiZmlsZW5vIikKKyAgICAgICAgc2VsZi5hc3NlcnRJcyhyZXR2YWwsIGZpbGVub19yZXR2YWwpCisgICAgICAgIHNlbGYuYXNzZXJ0SXMoZmlsZWlucHV0Ll9zdGF0ZSwgaW5zdGFuY2UpCisKK2NsYXNzIFRlc3RfZmlsZWlucHV0X2lzZmlyc3RsaW5lKEJhc2VGaWxlSW5wdXRHbG9iYWxNZXRob2RzVGVzdCk6CisgICAgIiIiVW5pdCB0ZXN0cyBmb3IgZmlsZWlucHV0LmlzZmlyc3RsaW5lKCkiIiIKKworICAgIGRlZiB0ZXN0X3N0YXRlX2lzX05vbmUoc2VsZik6CisgICAgICAgICIiIlRlc3RzIGZpbGVpbnB1dC5pc2ZpcnN0bGluZSgpIHdoZW4gZmlsZWlucHV0Ll9zdGF0ZSBpcyBOb25lLgorICAgICAgICAgICBFbnN1cmUgdGhhdCBpdCByYWlzZXMgUnVudGltZUVycm9yIHdpdGggYSBtZWFuaW5nZnVsIGVycm9yIG1lc3NhZ2UKKyAgICAgICAgICAgYW5kIGRvZXMgbm90IG1vZGlmeSBmaWxlaW5wdXQuX3N0YXRlIiIiCisgICAgICAgIGZpbGVpbnB1dC5fc3RhdGUgPSBOb25lCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoUnVudGltZUVycm9yKSBhcyBjbToKKyAgICAgICAgICAgIGZpbGVpbnB1dC5pc2ZpcnN0bGluZSgpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoKCJubyBhY3RpdmUgaW5wdXQoKSIsKSwgY20uZXhjZXB0aW9uLmFyZ3MpCisgICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKGZpbGVpbnB1dC5fc3RhdGUpCisKKyAgICBkZWYgdGVzdF9zdGF0ZV9pc19ub3RfTm9uZShzZWxmKToKKyAgICAgICAgIiIiVGVzdHMgZmlsZWlucHV0LmlzZmlyc3RsaW5lKCkgd2hlbiBmaWxlaW5wdXQuX3N0YXRlIGlzIG5vdCBOb25lLgorICAgICAgICAgICBFbnN1cmUgdGhhdCBpdCBpbnZva2VzIGZpbGVpbnB1dC5fc3RhdGUuaXNmaXJzdGxpbmUoKSBleGFjdGx5IG9uY2UsCisgICAgICAgICAgIHJldHVybnMgd2hhdGV2ZXIgaXQgcmV0dXJucywgYW5kIGRvZXMgbm90IG1vZGlmeSBmaWxlaW5wdXQuX3N0YXRlCisgICAgICAgICAgIHRvIHBvaW50IHRvIGEgZGlmZmVyZW50IG9iamVjdC4iIiIKKyAgICAgICAgaXNmaXJzdGxpbmVfcmV0dmFsID0gb2JqZWN0KCkKKyAgICAgICAgaW5zdGFuY2UgPSBNb2NrRmlsZUlucHV0KCkKKyAgICAgICAgaW5zdGFuY2UucmV0dXJuX3ZhbHVlc1siaXNmaXJzdGxpbmUiXSA9IGlzZmlyc3RsaW5lX3JldHZhbAorICAgICAgICBmaWxlaW5wdXQuX3N0YXRlID0gaW5zdGFuY2UKKyAgICAgICAgcmV0dmFsID0gZmlsZWlucHV0LmlzZmlyc3RsaW5lKCkKKyAgICAgICAgc2VsZi5hc3NlcnRFeGFjdGx5T25lSW52b2NhdGlvbihpbnN0YW5jZSwgImlzZmlyc3RsaW5lIikKKyAgICAgICAgc2VsZi5hc3NlcnRJcyhyZXR2YWwsIGlzZmlyc3RsaW5lX3JldHZhbCkKKyAgICAgICAgc2VsZi5hc3NlcnRJcyhmaWxlaW5wdXQuX3N0YXRlLCBpbnN0YW5jZSkKKworY2xhc3MgVGVzdF9maWxlaW5wdXRfaXNzdGRpbihCYXNlRmlsZUlucHV0R2xvYmFsTWV0aG9kc1Rlc3QpOgorICAgICIiIlVuaXQgdGVzdHMgZm9yIGZpbGVpbnB1dC5pc3N0ZGluKCkiIiIKKworICAgIGRlZiB0ZXN0X3N0YXRlX2lzX05vbmUoc2VsZik6CisgICAgICAgICIiIlRlc3RzIGZpbGVpbnB1dC5pc3N0ZGluKCkgd2hlbiBmaWxlaW5wdXQuX3N0YXRlIGlzIE5vbmUuCisgICAgICAgICAgIEVuc3VyZSB0aGF0IGl0IHJhaXNlcyBSdW50aW1lRXJyb3Igd2l0aCBhIG1lYW5pbmdmdWwgZXJyb3IgbWVzc2FnZQorICAgICAgICAgICBhbmQgZG9lcyBub3QgbW9kaWZ5IGZpbGVpbnB1dC5fc3RhdGUiIiIKKyAgICAgICAgZmlsZWlucHV0Ll9zdGF0ZSA9IE5vbmUKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhSdW50aW1lRXJyb3IpIGFzIGNtOgorICAgICAgICAgICAgZmlsZWlucHV0Lmlzc3RkaW4oKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCgibm8gYWN0aXZlIGlucHV0KCkiLCksIGNtLmV4Y2VwdGlvbi5hcmdzKQorICAgICAgICBzZWxmLmFzc2VydElzTm9uZShmaWxlaW5wdXQuX3N0YXRlKQorCisgICAgZGVmIHRlc3Rfc3RhdGVfaXNfbm90X05vbmUoc2VsZik6CisgICAgICAgICIiIlRlc3RzIGZpbGVpbnB1dC5pc3N0ZGluKCkgd2hlbiBmaWxlaW5wdXQuX3N0YXRlIGlzIG5vdCBOb25lLgorICAgICAgICAgICBFbnN1cmUgdGhhdCBpdCBpbnZva2VzIGZpbGVpbnB1dC5fc3RhdGUuaXNzdGRpbigpIGV4YWN0bHkgb25jZSwKKyAgICAgICAgICAgcmV0dXJucyB3aGF0ZXZlciBpdCByZXR1cm5zLCBhbmQgZG9lcyBub3QgbW9kaWZ5IGZpbGVpbnB1dC5fc3RhdGUKKyAgICAgICAgICAgdG8gcG9pbnQgdG8gYSBkaWZmZXJlbnQgb2JqZWN0LiIiIgorICAgICAgICBpc3N0ZGluX3JldHZhbCA9IG9iamVjdCgpCisgICAgICAgIGluc3RhbmNlID0gTW9ja0ZpbGVJbnB1dCgpCisgICAgICAgIGluc3RhbmNlLnJldHVybl92YWx1ZXNbImlzc3RkaW4iXSA9IGlzc3RkaW5fcmV0dmFsCisgICAgICAgIGZpbGVpbnB1dC5fc3RhdGUgPSBpbnN0YW5jZQorICAgICAgICByZXR2YWwgPSBmaWxlaW5wdXQuaXNzdGRpbigpCisgICAgICAgIHNlbGYuYXNzZXJ0RXhhY3RseU9uZUludm9jYXRpb24oaW5zdGFuY2UsICJpc3N0ZGluIikKKyAgICAgICAgc2VsZi5hc3NlcnRJcyhyZXR2YWwsIGlzc3RkaW5fcmV0dmFsKQorICAgICAgICBzZWxmLmFzc2VydElzKGZpbGVpbnB1dC5fc3RhdGUsIGluc3RhbmNlKQorCitjbGFzcyBJbnZvY2F0aW9uUmVjb3JkZXI6CisgICAgZGVmIF9faW5pdF9fKHNlbGYpOgorICAgICAgICBzZWxmLmludm9jYXRpb25fY291bnQgPSAwCisgICAgZGVmIF9fY2FsbF9fKHNlbGYsICphcmdzLCAqKmt3YXJncyk6CisgICAgICAgIHNlbGYuaW52b2NhdGlvbl9jb3VudCArPSAxCisgICAgICAgIHNlbGYubGFzdF9pbnZvY2F0aW9uID0gKGFyZ3MsIGt3YXJncykKKworY2xhc3MgVGVzdF9ob29rX2NvbXByZXNzZWQodW5pdHRlc3QuVGVzdENhc2UpOgorICAgICIiIlVuaXQgdGVzdHMgZm9yIGZpbGVpbnB1dC5ob29rX2NvbXByZXNzZWQoKSIiIgorCisgICAgZGVmIHNldFVwKHNlbGYpOgorICAgICAgICBzZWxmLmZha2Vfb3BlbiA9IEludm9jYXRpb25SZWNvcmRlcigpCisKKyAgICBkZWYgdGVzdF9lbXB0eV9zdHJpbmcoc2VsZik6CisgICAgICAgIHNlbGYuZG9fdGVzdF91c2VfYnVpbHRpbl9vcGVuKCIiLCAxKQorCisgICAgZGVmIHRlc3Rfbm9fZXh0KHNlbGYpOgorICAgICAgICBzZWxmLmRvX3Rlc3RfdXNlX2J1aWx0aW5fb3BlbigiYWJjZCIsIDIpCisKKyAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhnemlwLCAiUmVxdWlyZXMgZ3ppcCBhbmQgemxpYiIpCisgICAgZGVmIHRlc3RfZ3pfZXh0X2Zha2Uoc2VsZik6CisgICAgICAgIG9yaWdpbmFsX29wZW4gPSBnemlwLm9wZW4KKyAgICAgICAgZ3ppcC5vcGVuID0gc2VsZi5mYWtlX29wZW4KKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgcmVzdWx0ID0gZmlsZWlucHV0Lmhvb2tfY29tcHJlc3NlZCgidGVzdC5neiIsIDMpCisgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICBnemlwLm9wZW4gPSBvcmlnaW5hbF9vcGVuCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmZha2Vfb3Blbi5pbnZvY2F0aW9uX2NvdW50LCAxKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuZmFrZV9vcGVuLmxhc3RfaW52b2NhdGlvbiwgKCgidGVzdC5neiIsIDMpLCB7fSkpCisKKyAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhiejIsICJSZXF1aXJlcyBiejIiKQorICAgIGRlZiB0ZXN0X2J6Ml9leHRfZmFrZShzZWxmKToKKyAgICAgICAgb3JpZ2luYWxfb3BlbiA9IGJ6Mi5CWjJGaWxlCisgICAgICAgIGJ6Mi5CWjJGaWxlID0gc2VsZi5mYWtlX29wZW4KKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgcmVzdWx0ID0gZmlsZWlucHV0Lmhvb2tfY29tcHJlc3NlZCgidGVzdC5iejIiLCA0KQorICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgYnoyLkJaMkZpbGUgPSBvcmlnaW5hbF9vcGVuCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmZha2Vfb3Blbi5pbnZvY2F0aW9uX2NvdW50LCAxKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuZmFrZV9vcGVuLmxhc3RfaW52b2NhdGlvbiwgKCgidGVzdC5iejIiLCA0KSwge30pKQorCisgICAgZGVmIHRlc3RfYmxhaF9leHQoc2VsZik6CisgICAgICAgIHNlbGYuZG9fdGVzdF91c2VfYnVpbHRpbl9vcGVuKCJhYmNkLmJsYWgiLCA1KQorCisgICAgZGVmIHRlc3RfZ3pfZXh0X2J1aWx0aW4oc2VsZik6CisgICAgICAgIHNlbGYuZG9fdGVzdF91c2VfYnVpbHRpbl9vcGVuKCJhYmNkLkd6IiwgNikKKworICAgIGRlZiB0ZXN0X2J6Ml9leHRfYnVpbHRpbihzZWxmKToKKyAgICAgICAgc2VsZi5kb190ZXN0X3VzZV9idWlsdGluX29wZW4oImFiY2QuQnoyIiwgNykKKworICAgIGRlZiBkb190ZXN0X3VzZV9idWlsdGluX29wZW4oc2VsZiwgZmlsZW5hbWUsIG1vZGUpOgorICAgICAgICBvcmlnaW5hbF9vcGVuID0gc2VsZi5yZXBsYWNlX2J1aWx0aW5fb3BlbihzZWxmLmZha2Vfb3BlbikKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgcmVzdWx0ID0gZmlsZWlucHV0Lmhvb2tfY29tcHJlc3NlZChmaWxlbmFtZSwgbW9kZSkKKyAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgIHNlbGYucmVwbGFjZV9idWlsdGluX29wZW4ob3JpZ2luYWxfb3BlbikKKworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuZmFrZV9vcGVuLmludm9jYXRpb25fY291bnQsIDEpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5mYWtlX29wZW4ubGFzdF9pbnZvY2F0aW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgICgoZmlsZW5hbWUsIG1vZGUpLCB7fSkpCisKKyAgICBAc3RhdGljbWV0aG9kCisgICAgZGVmIHJlcGxhY2VfYnVpbHRpbl9vcGVuKG5ld19vcGVuX2Z1bmMpOgorICAgICAgICBvcmlnaW5hbF9vcGVuID0gYnVpbHRpbnMub3BlbgorICAgICAgICBidWlsdGlucy5vcGVuID0gbmV3X29wZW5fZnVuYworICAgICAgICByZXR1cm4gb3JpZ2luYWxfb3BlbgorCitjbGFzcyBUZXN0X2hvb2tfZW5jb2RlZCh1bml0dGVzdC5UZXN0Q2FzZSk6CisgICAgIiIiVW5pdCB0ZXN0cyBmb3IgZmlsZWlucHV0Lmhvb2tfZW5jb2RlZCgpIiIiCisKKyAgICBkZWYgdGVzdChzZWxmKToKKyAgICAgICAgZW5jb2RpbmcgPSBvYmplY3QoKQorICAgICAgICByZXN1bHQgPSBmaWxlaW5wdXQuaG9va19lbmNvZGVkKGVuY29kaW5nKQorCisgICAgICAgIGZha2Vfb3BlbiA9IEludm9jYXRpb25SZWNvcmRlcigpCisgICAgICAgIG9yaWdpbmFsX29wZW4gPSBidWlsdGlucy5vcGVuCisgICAgICAgIGJ1aWx0aW5zLm9wZW4gPSBmYWtlX29wZW4KKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgZmlsZW5hbWUgPSBvYmplY3QoKQorICAgICAgICAgICAgbW9kZSA9IG9iamVjdCgpCisgICAgICAgICAgICBvcGVuX3Jlc3VsdCA9IHJlc3VsdChmaWxlbmFtZSwgbW9kZSkKKyAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgIGJ1aWx0aW5zLm9wZW4gPSBvcmlnaW5hbF9vcGVuCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmYWtlX29wZW4uaW52b2NhdGlvbl9jb3VudCwgMSkKKworICAgICAgICBhcmdzLCBrd2FyZ3MgPSBmYWtlX29wZW4ubGFzdF9pbnZvY2F0aW9uCisgICAgICAgIHNlbGYuYXNzZXJ0SXMoYXJnc1swXSwgZmlsZW5hbWUpCisgICAgICAgIHNlbGYuYXNzZXJ0SXMoYXJnc1sxXSwgbW9kZSkKKyAgICAgICAgc2VsZi5hc3NlcnRJcyhrd2FyZ3MucG9wKCdlbmNvZGluZycpLCBlbmNvZGluZykKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShrd2FyZ3MpCiAKIGRlZiB0ZXN0X21haW4oKToKLSAgICBydW5fdW5pdHRlc3QoQnVmZmVyU2l6ZXNUZXN0cywgRmlsZUlucHV0VGVzdHMpCisgICAgcnVuX3VuaXR0ZXN0KAorICAgICAgICBCdWZmZXJTaXplc1Rlc3RzLAorICAgICAgICBGaWxlSW5wdXRUZXN0cywKKyAgICAgICAgVGVzdF9maWxlaW5wdXRfaW5wdXQsCisgICAgICAgIFRlc3RfZmlsZWlucHV0X2Nsb3NlLAorICAgICAgICBUZXN0X2ZpbGVpbnB1dF9uZXh0ZmlsZSwKKyAgICAgICAgVGVzdF9maWxlaW5wdXRfZmlsZW5hbWUsCisgICAgICAgIFRlc3RfZmlsZWlucHV0X2xpbmVubywKKyAgICAgICAgVGVzdF9maWxlaW5wdXRfZmlsZWxpbmVubywKKyAgICAgICAgVGVzdF9maWxlaW5wdXRfZmlsZW5vLAorICAgICAgICBUZXN0X2ZpbGVpbnB1dF9pc2ZpcnN0bGluZSwKKyAgICAgICAgVGVzdF9maWxlaW5wdXRfaXNzdGRpbiwKKyAgICAgICAgVGVzdF9ob29rX2NvbXByZXNzZWQsCisgICAgICAgIFRlc3RfaG9va19lbmNvZGVkLAorICAgICkKIAogaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKICAgICB0ZXN0X21haW4oKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9maWxlaW8ucHkgYi9MaWIvdGVzdC90ZXN0X2ZpbGVpby5weQppbmRleCAzNTg4ZmI0Li45ODU0ZDBjIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2ZpbGVpby5weQorKysgYi9MaWIvdGVzdC90ZXN0X2ZpbGVpby5weQpAQCAtMiw2ICsyLDcgQEAKIAogaW1wb3J0IHN5cwogaW1wb3J0IG9zCitpbXBvcnQgaW8KIGltcG9ydCBlcnJubwogaW1wb3J0IHVuaXR0ZXN0CiBmcm9tIGFycmF5IGltcG9ydCBhcnJheQpAQCAtMzM5LDEwICszNDAsMTAgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmLnRlbGwoKSwgMTApCiAgICAgICAgIGYudHJ1bmNhdGUoNSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmLnRlbGwoKSwgMTApCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZi5zZWVrKDAsIG9zLlNFRUtfRU5EKSwgNSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmLnNlZWsoMCwgaW8uU0VFS19FTkQpLCA1KQogICAgICAgICBmLnRydW5jYXRlKDE1KQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGYudGVsbCgpLCA1KQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGYuc2VlaygwLCBvcy5TRUVLX0VORCksIDE1KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGYuc2VlaygwLCBpby5TRUVLX0VORCksIDE1KQogICAgICAgICBmLmNsb3NlKCkKIAogICAgIGRlZiB0ZXN0VHJ1bmNhdGVPbldpbmRvd3Moc2VsZik6CmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2Zsb2F0LnB5IGIvTGliL3Rlc3QvdGVzdF9mbG9hdC5weQppbmRleCA0ZDdiYmJhLi5kYzBjMjkxIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2Zsb2F0LnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfZmxvYXQucHkKQEAgLTg4LDcgKzg4LDcgQEAKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgZmxvYXQsICIgIC0weDMucC0xICAiKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBmbG9hdCwgIiAgKzB4My5wLTEgICIpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZmxvYXQoIiAgMjUuZS0xICAiKSwgMi41KQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN1cHBvcnQuZmNtcChmbG9hdCgiICAuMjVlLTEgICIpLCAuMDI1KSwgMCkKKyAgICAgICAgc2VsZi5hc3NlcnRBbG1vc3RFcXVhbChmbG9hdCgiICAuMjVlLTEgICIpLCAuMDI1KQogCiAgICAgZGVmIHRlc3RfZmxvYXRjb252ZXJzaW9uKHNlbGYpOgogICAgICAgICAjIE1ha2Ugc3VyZSB0aGF0IGNhbGxzIHRvIF9fZmxvYXRfXygpIHdvcmsgcHJvcGVybHkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfZm9ybWF0LnB5IGIvTGliL3Rlc3QvdGVzdF9mb3JtYXQucHkKaW5kZXggN2ZhOTUwZC4uZDQzY2VhMyAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9mb3JtYXQucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9mb3JtYXQucHkKQEAgLTEsNCArMSw1IEBACiBmcm9tIHRlc3Quc3VwcG9ydCBpbXBvcnQgdmVyYm9zZSwgVGVzdEZhaWxlZAoraW1wb3J0IGxvY2FsZQogaW1wb3J0IHN5cwogaW1wb3J0IHRlc3Quc3VwcG9ydCBhcyBzdXBwb3J0CiBpbXBvcnQgdW5pdHRlc3QKQEAgLTI2Myw2ICsyNjQsNDkgQEAKICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgcmFpc2UgVGVzdEZhaWxlZCgnIiUqZCIlKG1heHNpemUsIC0xMjcpIHNob3VsZCBmYWlsJykKIAorICAgIGRlZiB0ZXN0X25vbl9hc2NpaShzZWxmKToKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmb3JtYXQoImFiYyIsICJcdTIwMDc8NSIpLCAiYWJjXHUyMDA3XHUyMDA3IikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmb3JtYXQoMTIzLCAiXHUyMDA3PDUiKSwgIjEyM1x1MjAwN1x1MjAwNyIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZm9ybWF0KDEyLjMsICJcdTIwMDc8NiIpLCAiMTIuM1x1MjAwN1x1MjAwNyIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZm9ybWF0KDBqLCAiXHUyMDA3PDQiKSwgIjBqXHUyMDA3XHUyMDA3IikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmb3JtYXQoMSsyaiwgIlx1MjAwNzw4IiksICIoMSsyailcdTIwMDdcdTIwMDciKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZm9ybWF0KCJhYmMiLCAiXHUyMDA3PjUiKSwgIlx1MjAwN1x1MjAwN2FiYyIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZm9ybWF0KDEyMywgIlx1MjAwNz41IiksICJcdTIwMDdcdTIwMDcxMjMiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGZvcm1hdCgxMi4zLCAiXHUyMDA3PjYiKSwgIlx1MjAwN1x1MjAwNzEyLjMiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGZvcm1hdCgxKzJqLCAiXHUyMDA3PjgiKSwgIlx1MjAwN1x1MjAwNygxKzJqKSIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZm9ybWF0KDBqLCAiXHUyMDA3PjQiKSwgIlx1MjAwN1x1MjAwNzBqIikKKworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGZvcm1hdCgiYWJjIiwgIlx1MjAwN141IiksICJcdTIwMDdhYmNcdTIwMDciKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGZvcm1hdCgxMjMsICJcdTIwMDdeNSIpLCAiXHUyMDA3MTIzXHUyMDA3IikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmb3JtYXQoMTIuMywgIlx1MjAwN142IiksICJcdTIwMDcxMi4zXHUyMDA3IikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmb3JtYXQoMSsyaiwgIlx1MjAwN144IiksICJcdTIwMDcoMSsyailcdTIwMDciKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGZvcm1hdCgwaiwgIlx1MjAwN140IiksICJcdTIwMDcwalx1MjAwNyIpCisKKyAgICBkZWYgdGVzdF9sb2NhbGUoc2VsZik6CisgICAgICAgIHRyeToKKyAgICAgICAgICAgIG9sZGxvYyA9IGxvY2FsZS5zZXRsb2NhbGUobG9jYWxlLkxDX0FMTCkKKyAgICAgICAgICAgIGxvY2FsZS5zZXRsb2NhbGUobG9jYWxlLkxDX0FMTCwgJycpCisgICAgICAgIGV4Y2VwdCBsb2NhbGUuRXJyb3IgYXMgZXJyOgorICAgICAgICAgICAgc2VsZi5za2lwVGVzdCgiQ2Fubm90IHNldCBsb2NhbGU6IHt9Ii5mb3JtYXQoZXJyKSkKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgbG9jYWxlY29udiA9IGxvY2FsZS5sb2NhbGVjb252KCkKKyAgICAgICAgICAgIHNlcCA9IGxvY2FsZWNvbnZbJ3Rob3VzYW5kc19zZXAnXQorICAgICAgICAgICAgcG9pbnQgPSBsb2NhbGVjb252WydkZWNpbWFsX3BvaW50J10KKworICAgICAgICAgICAgdGV4dCA9IGZvcm1hdCgxMjM0NTY3ODksICJuIikKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4oc2VwLCB0ZXh0KQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh0ZXh0LnJlcGxhY2Uoc2VwLCAnJyksICcxMjM0NTY3ODknKQorCisgICAgICAgICAgICB0ZXh0ID0gZm9ybWF0KDEyMzQuNSwgIm4iKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRJbihzZXAsIHRleHQpCisgICAgICAgICAgICBzZWxmLmFzc2VydEluKHBvaW50LCB0ZXh0KQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh0ZXh0LnJlcGxhY2Uoc2VwLCAnJyksICcxMjM0JyArIHBvaW50ICsgJzUnKQorICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgbG9jYWxlLnNldGxvY2FsZShsb2NhbGUuTENfQUxMLCBvbGRsb2MpCisKKworCiBkZWYgdGVzdF9tYWluKCk6CiAgICAgc3VwcG9ydC5ydW5fdW5pdHRlc3QoRm9ybWF0VGVzdCkKIApkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9mdHBsaWIucHkgYi9MaWIvdGVzdC90ZXN0X2Z0cGxpYi5weQppbmRleCA3MWJjMjNlLi43MDI4ZjQ2IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2Z0cGxpYi5weQorKysgYi9MaWIvdGVzdC90ZXN0X2Z0cGxpYi5weQpAQCAtMjIsMTAgKzIyLDI1IEBACiB0aHJlYWRpbmcgPSBzdXBwb3J0LmltcG9ydF9tb2R1bGUoJ3RocmVhZGluZycpCiAKICMgdGhlIGR1bW15IGRhdGEgcmV0dXJuZWQgYnkgc2VydmVyIG92ZXIgdGhlIGRhdGEgY2hhbm5lbCB3aGVuCi0jIFJFVFIsIExJU1QgYW5kIE5MU1QgY29tbWFuZHMgYXJlIGlzc3VlZAorIyBSRVRSLCBMSVNULCBOTFNULCBNTFNEIGNvbW1hbmRzIGFyZSBpc3N1ZWQKIFJFVFJfREFUQSA9ICdhYmNkZTEyMzQ1XHJcbicgKiAxMDAwCiBMSVNUX0RBVEEgPSAnZm9vXHJcbmJhclxyXG4nCiBOTFNUX0RBVEEgPSAnZm9vXHJcbmJhclxyXG4nCitNTFNEX0RBVEEgPSAoInR5cGU9Y2RpcjtwZXJtPWVsO3VuaXF1ZT09a2VWTzErWkY0OyB0ZXN0XHJcbiIKKyAgICAgICAgICAgICAidHlwZT1wZGlyO3Blcm09ZTt1bmlxdWU9PWtlVk8xK2Q/MzsgLi5cclxuIgorICAgICAgICAgICAgICJ0eXBlPU9TLnVuaXg9c2xpbms6L2Zvb2JhcjtwZXJtPTt1bmlxdWU9PWtlVk8xKzRHNDsgZm9vYmFyXHJcbiIKKyAgICAgICAgICAgICAidHlwZT1PUy51bml4PWNoci0xMy8yOTtwZXJtPTt1bmlxdWU9PWtlVk8xKzVHNDsgZGV2aWNlXHJcbiIKKyAgICAgICAgICAgICAidHlwZT1PUy51bml4PWJsay0xMS8xMDg7cGVybT07dW5pcXVlPT1rZVZPMSs2RzQ7IGJsb2NrXHJcbiIKKyAgICAgICAgICAgICAidHlwZT1maWxlO3Blcm09YXdyO3VuaXF1ZT09a2VWTzErOEc0OyB3cml0YWJsZVxyXG4iCisgICAgICAgICAgICAgInR5cGU9ZGlyO3Blcm09Y3BtZWw7dW5pcXVlPT1rZVZPMSs3RzQ7IHByb21pc2N1b3VzXHJcbiIKKyAgICAgICAgICAgICAidHlwZT1kaXI7cGVybT07dW5pcXVlPT1rZVZPMSsxdDI7IG5vLWV4ZWNcclxuIgorICAgICAgICAgICAgICJ0eXBlPWZpbGU7cGVybT1yO3VuaXF1ZT09a2VWTzErRUc0OyB0d28gd29yZHNcclxuIgorICAgICAgICAgICAgICJ0eXBlPWZpbGU7cGVybT1yO3VuaXF1ZT09a2VWTzErSUg0OyAgbGVhZGluZyBzcGFjZVxyXG4iCisgICAgICAgICAgICAgInR5cGU9ZmlsZTtwZXJtPXI7dW5pcXVlPT1rZVZPMSsxRzQ7IGZpbGUxXHJcbiIKKyAgICAgICAgICAgICAidHlwZT1kaXI7cGVybT1jcG1lbDt1bmlxdWU9PWtlVk8xKzdHNDsgaW5jb21pbmdcclxuIgorICAgICAgICAgICAgICJ0eXBlPWZpbGU7cGVybT1yO3VuaXF1ZT09a2VWTzErMUc0OyBmaWxlMlxyXG4iCisgICAgICAgICAgICAgInR5cGU9ZmlsZTtwZXJtPXI7dW5pcXVlPT1rZVZPMSsxRzQ7IGZpbGUzXHJcbiIKKyAgICAgICAgICAgICAidHlwZT1maWxlO3Blcm09cjt1bmlxdWU9PWtlVk8xKzFHNDsgZmlsZTRcclxuIikKIAogCiBjbGFzcyBEdW1teURUUEhhbmRsZXIoYXN5bmNoYXQuYXN5bmNfY2hhdCk6CkBAIC00OSw2ICs2NCwxMSBAQAogICAgICAgICAgICAgc2VsZi5kdHBfY29ubl9jbG9zZWQgPSBUcnVlCiAKICAgICBkZWYgcHVzaChzZWxmLCB3aGF0KToKKyAgICAgICAgaWYgc2VsZi5iYXNlY2xhc3MubmV4dF9kYXRhIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgd2hhdCA9IHNlbGYuYmFzZWNsYXNzLm5leHRfZGF0YQorICAgICAgICAgICAgc2VsZi5iYXNlY2xhc3MubmV4dF9kYXRhID0gTm9uZQorICAgICAgICBpZiBub3Qgd2hhdDoKKyAgICAgICAgICAgIHJldHVybiBzZWxmLmNsb3NlX3doZW5fZG9uZSgpCiAgICAgICAgIHN1cGVyKER1bW15RFRQSGFuZGxlciwgc2VsZikucHVzaCh3aGF0LmVuY29kZSgnYXNjaWknKSkKIAogICAgIGRlZiBoYW5kbGVfZXJyb3Ioc2VsZik6CkBAIC02OSw2ICs4OSw3IEBACiAgICAgICAgIHNlbGYubGFzdF9yZWNlaXZlZF9jbWQgPSBOb25lCiAgICAgICAgIHNlbGYubGFzdF9yZWNlaXZlZF9kYXRhID0gJycKICAgICAgICAgc2VsZi5uZXh0X3Jlc3BvbnNlID0gJycKKyAgICAgICAgc2VsZi5uZXh0X2RhdGEgPSBOb25lCiAgICAgICAgIHNlbGYucmVzdCA9IE5vbmUKICAgICAgICAgc2VsZi5wdXNoKCcyMjAgd2VsY29tZScpCiAKQEAgLTEwNCw3ICsxMjUsNyBAQAogICAgICAgICBhZGRyID0gbGlzdChtYXAoaW50LCBhcmcuc3BsaXQoJywnKSkpCiAgICAgICAgIGlwID0gJyVkLiVkLiVkLiVkJyAldHVwbGUoYWRkcls6NF0pCiAgICAgICAgIHBvcnQgPSAoYWRkcls0XSAqIDI1NikgKyBhZGRyWzVdCi0gICAgICAgIHMgPSBzb2NrZXQuY3JlYXRlX2Nvbm5lY3Rpb24oKGlwLCBwb3J0KSwgdGltZW91dD0xMCkKKyAgICAgICAgcyA9IHNvY2tldC5jcmVhdGVfY29ubmVjdGlvbigoaXAsIHBvcnQpLCB0aW1lb3V0PTIpCiAgICAgICAgIHNlbGYuZHRwID0gc2VsZi5kdHBfaGFuZGxlcihzLCBiYXNlY2xhc3M9c2VsZikKICAgICAgICAgc2VsZi5wdXNoKCcyMDAgYWN0aXZlIGRhdGEgY29ubmVjdGlvbiBlc3RhYmxpc2hlZCcpCiAKQEAgLTEyMiw3ICsxNDMsNyBAQAogICAgIGRlZiBjbWRfZXBydChzZWxmLCBhcmcpOgogICAgICAgICBhZiwgaXAsIHBvcnQgPSBhcmcuc3BsaXQoYXJnWzBdKVsxOi0xXQogICAgICAgICBwb3J0ID0gaW50KHBvcnQpCi0gICAgICAgIHMgPSBzb2NrZXQuY3JlYXRlX2Nvbm5lY3Rpb24oKGlwLCBwb3J0KSwgdGltZW91dD0xMCkKKyAgICAgICAgcyA9IHNvY2tldC5jcmVhdGVfY29ubmVjdGlvbigoaXAsIHBvcnQpLCB0aW1lb3V0PTIpCiAgICAgICAgIHNlbGYuZHRwID0gc2VsZi5kdHBfaGFuZGxlcihzLCBiYXNlY2xhc3M9c2VsZikKICAgICAgICAgc2VsZi5wdXNoKCcyMDAgYWN0aXZlIGRhdGEgY29ubmVjdGlvbiBlc3RhYmxpc2hlZCcpCiAKQEAgLTIxMyw2ICsyMzQsMTQgQEAKICAgICAgICAgc2VsZi5kdHAucHVzaChOTFNUX0RBVEEpCiAgICAgICAgIHNlbGYuZHRwLmNsb3NlX3doZW5fZG9uZSgpCiAKKyAgICBkZWYgY21kX29wdHMoc2VsZiwgYXJnKToKKyAgICAgICAgc2VsZi5wdXNoKCcyMDAgb3B0cyBvaycpCisKKyAgICBkZWYgY21kX21sc2Qoc2VsZiwgYXJnKToKKyAgICAgICAgc2VsZi5wdXNoKCcxMjUgbWxzZCBvaycpCisgICAgICAgIHNlbGYuZHRwLnB1c2goTUxTRF9EQVRBKQorICAgICAgICBzZWxmLmR0cC5jbG9zZV93aGVuX2RvbmUoKQorCiAKIGNsYXNzIER1bW15RlRQU2VydmVyKGFzeW5jb3JlLmRpc3BhdGNoZXIsIHRocmVhZGluZy5UaHJlYWQpOgogCkBAIC0yNzQsMTEgKzMwMywxMSBAQAogICAgICAgICBfc3NsX2Nsb3NpbmcgPSBGYWxzZQogCiAgICAgICAgIGRlZiBzZWN1cmVfY29ubmVjdGlvbihzZWxmKToKLSAgICAgICAgICAgIHNlbGYuZGVsX2NoYW5uZWwoKQogICAgICAgICAgICAgc29ja2V0ID0gc3NsLndyYXBfc29ja2V0KHNlbGYuc29ja2V0LCBzdXBwcmVzc19yYWdnZWRfZW9mcz1GYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZXJ0ZmlsZT1DRVJURklMRSwgc2VydmVyX3NpZGU9VHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb19oYW5kc2hha2Vfb25fY29ubmVjdD1GYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzc2xfdmVyc2lvbj1zc2wuUFJPVE9DT0xfU1NMdjIzKQorICAgICAgICAgICAgc2VsZi5kZWxfY2hhbm5lbCgpCiAgICAgICAgICAgICBzZWxmLnNldF9zb2NrZXQoc29ja2V0KQogICAgICAgICAgICAgc2VsZi5fc3NsX2FjY2VwdGluZyA9IFRydWUKIApAQCAtMzEzLDcgKzM0MiwxMCBAQAogICAgICAgICAgICAgICAgICMgaHR0cDovL3d3dy5tYWlsLWFyY2hpdmUuY29tL29wZW5zc2wtdXNlcnNAb3BlbnNzbC5vcmcvbXNnNjA3MTAuaHRtbAogICAgICAgICAgICAgICAgIHBhc3MKICAgICAgICAgICAgIHNlbGYuX3NzbF9jbG9zaW5nID0gRmFsc2UKLSAgICAgICAgICAgIHN1cGVyKFNTTENvbm5lY3Rpb24sIHNlbGYpLmNsb3NlKCkKKyAgICAgICAgICAgIGlmIGdldGF0dHIoc2VsZiwgJ19jY2MnLCBGYWxzZSkgPT0gRmFsc2U6CisgICAgICAgICAgICAgICAgc3VwZXIoU1NMQ29ubmVjdGlvbiwgc2VsZikuY2xvc2UoKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBwYXNzCiAKICAgICAgICAgZGVmIGhhbmRsZV9yZWFkX2V2ZW50KHNlbGYpOgogICAgICAgICAgICAgaWYgc2VsZi5fc3NsX2FjY2VwdGluZzoKQEAgLTM4MSwxMiArNDEzLDE4IEBACiAgICAgICAgIGRlZiBfX2luaXRfXyhzZWxmLCBjb25uKToKICAgICAgICAgICAgIER1bW15RlRQSGFuZGxlci5fX2luaXRfXyhzZWxmLCBjb25uKQogICAgICAgICAgICAgc2VsZi5zZWN1cmVfZGF0YV9jaGFubmVsID0gRmFsc2UKKyAgICAgICAgICAgIHNlbGYuX2NjYyA9IEZhbHNlCiAKICAgICAgICAgZGVmIGNtZF9hdXRoKHNlbGYsIGxpbmUpOgogICAgICAgICAgICAgIiIiU2V0IHVwIHNlY3VyZSBjb250cm9sIGNoYW5uZWwuIiIiCiAgICAgICAgICAgICBzZWxmLnB1c2goJzIzNCBBVVRIIFRMUyBzdWNjZXNzZnVsJykKICAgICAgICAgICAgIHNlbGYuc2VjdXJlX2Nvbm5lY3Rpb24oKQogCisgICAgICAgIGRlZiBjbWRfY2NjKHNlbGYsIGxpbmUpOgorICAgICAgICAgICAgc2VsZi5wdXNoKCcyMjAgUmV2ZXJ0aW5nIGJhY2sgdG8gY2xlYXItdGV4dCcpCisgICAgICAgICAgICBzZWxmLl9jY2MgPSBUcnVlCisgICAgICAgICAgICBzZWxmLl9kb19zc2xfc2h1dGRvd24oKQorCiAgICAgICAgIGRlZiBjbWRfcGJzeihzZWxmLCBsaW5lKToKICAgICAgICAgICAgICIiIk5lZ290aWF0ZSBzaXplIG9mIGJ1ZmZlciBmb3Igc2VjdXJlIGRhdGEgdHJhbnNmZXIuCiAgICAgICAgICAgICBGb3IgVExTL1NTTCB0aGUgb25seSB2YWxpZCB2YWx1ZSBmb3IgdGhlIHBhcmFtZXRlciBpcyAnMCcuCkBAIC00MTYsMTMgKzQ1NCwxNyBAQAogICAgIGRlZiBzZXRVcChzZWxmKToKICAgICAgICAgc2VsZi5zZXJ2ZXIgPSBEdW1teUZUUFNlcnZlcigoSE9TVCwgMCkpCiAgICAgICAgIHNlbGYuc2VydmVyLnN0YXJ0KCkKLSAgICAgICAgc2VsZi5jbGllbnQgPSBmdHBsaWIuRlRQKHRpbWVvdXQ9MTApCisgICAgICAgIHNlbGYuY2xpZW50ID0gZnRwbGliLkZUUCh0aW1lb3V0PTIpCiAgICAgICAgIHNlbGYuY2xpZW50LmNvbm5lY3Qoc2VsZi5zZXJ2ZXIuaG9zdCwgc2VsZi5zZXJ2ZXIucG9ydCkKIAogICAgIGRlZiB0ZWFyRG93bihzZWxmKToKICAgICAgICAgc2VsZi5jbGllbnQuY2xvc2UoKQogICAgICAgICBzZWxmLnNlcnZlci5zdG9wKCkKIAorICAgIGRlZiBjaGVja19kYXRhKHNlbGYsIHJlY2VpdmVkLCBleHBlY3RlZCk6CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKHJlY2VpdmVkKSwgbGVuKGV4cGVjdGVkKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZWNlaXZlZCwgZXhwZWN0ZWQpCisKICAgICBkZWYgdGVzdF9nZXR3ZWxjb21lKHNlbGYpOgogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuY2xpZW50LmdldHdlbGNvbWUoKSwgJzIyMCB3ZWxjb21lJykKIApAQCAtNTA0LDcgKzU0Niw3IEBACiAgICAgICAgICAgICByZWNlaXZlZC5hcHBlbmQoZGF0YS5kZWNvZGUoJ2FzY2lpJykpCiAgICAgICAgIHJlY2VpdmVkID0gW10KICAgICAgICAgc2VsZi5jbGllbnQucmV0cmJpbmFyeSgncmV0cicsIGNhbGxiYWNrKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCcnLmpvaW4ocmVjZWl2ZWQpLCBSRVRSX0RBVEEpCisgICAgICAgIHNlbGYuY2hlY2tfZGF0YSgnJy5qb2luKHJlY2VpdmVkKSwgUkVUUl9EQVRBKQogCiAgICAgZGVmIHRlc3RfcmV0cmJpbmFyeV9yZXN0KHNlbGYpOgogICAgICAgICBkZWYgY2FsbGJhY2soZGF0YSk6CkBAIC01MTIsMjAgKzU1NCwxNyBAQAogICAgICAgICBmb3IgcmVzdCBpbiAoMCwgMTAsIDIwKToKICAgICAgICAgICAgIHJlY2VpdmVkID0gW10KICAgICAgICAgICAgIHNlbGYuY2xpZW50LnJldHJiaW5hcnkoJ3JldHInLCBjYWxsYmFjaywgcmVzdD1yZXN0KQotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnJy5qb2luKHJlY2VpdmVkKSwgUkVUUl9EQVRBW3Jlc3Q6XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNnPSdyZXN0IHRlc3QgY2FzZSAlZCAlZCAlZCcgJSAocmVzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuKCcnLmpvaW4ocmVjZWl2ZWQpKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuKFJFVFJfREFUQVtyZXN0Ol0pKSkKKyAgICAgICAgICAgIHNlbGYuY2hlY2tfZGF0YSgnJy5qb2luKHJlY2VpdmVkKSwgUkVUUl9EQVRBW3Jlc3Q6XSkKIAogICAgIGRlZiB0ZXN0X3JldHJsaW5lcyhzZWxmKToKICAgICAgICAgcmVjZWl2ZWQgPSBbXQogICAgICAgICBzZWxmLmNsaWVudC5yZXRybGluZXMoJ3JldHInLCByZWNlaXZlZC5hcHBlbmQpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJycuam9pbihyZWNlaXZlZCksIFJFVFJfREFUQS5yZXBsYWNlKCdcclxuJywgJycpKQorICAgICAgICBzZWxmLmNoZWNrX2RhdGEoJycuam9pbihyZWNlaXZlZCksIFJFVFJfREFUQS5yZXBsYWNlKCdcclxuJywgJycpKQogCiAgICAgZGVmIHRlc3Rfc3RvcmJpbmFyeShzZWxmKToKICAgICAgICAgZiA9IGlvLkJ5dGVzSU8oUkVUUl9EQVRBLmVuY29kZSgnYXNjaWknKSkKICAgICAgICAgc2VsZi5jbGllbnQuc3RvcmJpbmFyeSgnc3RvcicsIGYpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5zZXJ2ZXIuaGFuZGxlcl9pbnN0YW5jZS5sYXN0X3JlY2VpdmVkX2RhdGEsIFJFVFJfREFUQSkKKyAgICAgICAgc2VsZi5jaGVja19kYXRhKHNlbGYuc2VydmVyLmhhbmRsZXJfaW5zdGFuY2UubGFzdF9yZWNlaXZlZF9kYXRhLCBSRVRSX0RBVEEpCiAgICAgICAgICMgdGVzdCBuZXcgY2FsbGJhY2sgYXJnCiAgICAgICAgIGZsYWcgPSBbXQogICAgICAgICBmLnNlZWsoMCkKQEAgLTU0Miw3ICs1ODEsNyBAQAogICAgIGRlZiB0ZXN0X3N0b3JsaW5lcyhzZWxmKToKICAgICAgICAgZiA9IGlvLkJ5dGVzSU8oUkVUUl9EQVRBLnJlcGxhY2UoJ1xyXG4nLCAnXG4nKS5lbmNvZGUoJ2FzY2lpJykpCiAgICAgICAgIHNlbGYuY2xpZW50LnN0b3JsaW5lcygnc3RvcicsIGYpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5zZXJ2ZXIuaGFuZGxlcl9pbnN0YW5jZS5sYXN0X3JlY2VpdmVkX2RhdGEsIFJFVFJfREFUQSkKKyAgICAgICAgc2VsZi5jaGVja19kYXRhKHNlbGYuc2VydmVyLmhhbmRsZXJfaW5zdGFuY2UubGFzdF9yZWNlaXZlZF9kYXRhLCBSRVRSX0RBVEEpCiAgICAgICAgICMgdGVzdCBuZXcgY2FsbGJhY2sgYXJnCiAgICAgICAgIGZsYWcgPSBbXQogICAgICAgICBmLnNlZWsoMCkKQEAgLTU1OCw2ICs1OTcsNjQgQEAKICAgICAgICAgc2VsZi5jbGllbnQuZGlyKGxhbWJkYSB4OiBsLmFwcGVuZCh4KSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnJy5qb2luKGwpLCBMSVNUX0RBVEEucmVwbGFjZSgnXHJcbicsICcnKSkKIAorICAgIGRlZiB0ZXN0X21sc2Qoc2VsZik6CisgICAgICAgIGxpc3Qoc2VsZi5jbGllbnQubWxzZCgpKQorICAgICAgICBsaXN0KHNlbGYuY2xpZW50Lm1sc2QocGF0aD0nLycpKQorICAgICAgICBsaXN0KHNlbGYuY2xpZW50Lm1sc2QocGF0aD0nLycsIGZhY3RzPVsnc2l6ZScsICd0eXBlJ10pKQorCisgICAgICAgIGxzID0gbGlzdChzZWxmLmNsaWVudC5tbHNkKCkpCisgICAgICAgIGZvciBuYW1lLCBmYWN0cyBpbiBsczoKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShuYW1lLCBzdHIpCisgICAgICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2UoZmFjdHMsIGRpY3QpCisgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUobmFtZSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ3R5cGUnLCBmYWN0cykKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ3Blcm0nLCBmYWN0cykKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ3VuaXF1ZScsIGZhY3RzKQorCisgICAgICAgIGRlZiBzZXRfZGF0YShkYXRhKToKKyAgICAgICAgICAgIHNlbGYuc2VydmVyLmhhbmRsZXJfaW5zdGFuY2UubmV4dF9kYXRhID0gZGF0YQorCisgICAgICAgIGRlZiB0ZXN0X2VudHJ5KGxpbmUsIHR5cGU9Tm9uZSwgcGVybT1Ob25lLCB1bmlxdWU9Tm9uZSwgbmFtZT1Ob25lKToKKyAgICAgICAgICAgIHR5cGUgPSAndHlwZScgaWYgdHlwZSBpcyBOb25lIGVsc2UgdHlwZQorICAgICAgICAgICAgcGVybSA9ICdwZXJtJyBpZiBwZXJtIGlzIE5vbmUgZWxzZSBwZXJtCisgICAgICAgICAgICB1bmlxdWUgPSAndW5pcXVlJyBpZiB1bmlxdWUgaXMgTm9uZSBlbHNlIHVuaXF1ZQorICAgICAgICAgICAgbmFtZSA9ICduYW1lJyBpZiBuYW1lIGlzIE5vbmUgZWxzZSBuYW1lCisgICAgICAgICAgICBzZXRfZGF0YShsaW5lKQorICAgICAgICAgICAgX25hbWUsIGZhY3RzID0gbmV4dChzZWxmLmNsaWVudC5tbHNkKCkpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKF9uYW1lLCBuYW1lKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmYWN0c1sndHlwZSddLCB0eXBlKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmYWN0c1sncGVybSddLCBwZXJtKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmYWN0c1sndW5pcXVlJ10sIHVuaXF1ZSkKKworICAgICAgICAjIHBsYWluCisgICAgICAgIHRlc3RfZW50cnkoJ3R5cGU9dHlwZTtwZXJtPXBlcm07dW5pcXVlPXVuaXF1ZTsgbmFtZVxyXG4nKQorICAgICAgICAjICI9IiBpbiBmYWN0IHZhbHVlCisgICAgICAgIHRlc3RfZW50cnkoJ3R5cGU9dHk9cGU7cGVybT1wZXJtO3VuaXF1ZT11bmlxdWU7IG5hbWVcclxuJywgdHlwZT0idHk9cGUiKQorICAgICAgICB0ZXN0X2VudHJ5KCd0eXBlPT10eXBlO3Blcm09cGVybTt1bmlxdWU9dW5pcXVlOyBuYW1lXHJcbicsIHR5cGU9Ij10eXBlIikKKyAgICAgICAgdGVzdF9lbnRyeSgndHlwZT10PXk9cGU7cGVybT1wZXJtO3VuaXF1ZT11bmlxdWU7IG5hbWVcclxuJywgdHlwZT0idD15PXBlIikKKyAgICAgICAgdGVzdF9lbnRyeSgndHlwZT09PT09O3Blcm09cGVybTt1bmlxdWU9dW5pcXVlOyBuYW1lXHJcbicsIHR5cGU9Ij09PT0iKQorICAgICAgICAjIHNwYWNlcyBpbiBuYW1lCisgICAgICAgIHRlc3RfZW50cnkoJ3R5cGU9dHlwZTtwZXJtPXBlcm07dW5pcXVlPXVuaXF1ZTsgbmEgbWVcclxuJywgbmFtZT0ibmEgbWUiKQorICAgICAgICB0ZXN0X2VudHJ5KCd0eXBlPXR5cGU7cGVybT1wZXJtO3VuaXF1ZT11bmlxdWU7IG5hbWUgXHJcbicsIG5hbWU9Im5hbWUgIikKKyAgICAgICAgdGVzdF9lbnRyeSgndHlwZT10eXBlO3Blcm09cGVybTt1bmlxdWU9dW5pcXVlOyAgbmFtZVxyXG4nLCBuYW1lPSIgbmFtZSIpCisgICAgICAgIHRlc3RfZW50cnkoJ3R5cGU9dHlwZTtwZXJtPXBlcm07dW5pcXVlPXVuaXF1ZTsgbiBhbSAgZVxyXG4nLCBuYW1lPSJuIGFtICBlIikKKyAgICAgICAgIyAiOyIgaW4gbmFtZQorICAgICAgICB0ZXN0X2VudHJ5KCd0eXBlPXR5cGU7cGVybT1wZXJtO3VuaXF1ZT11bmlxdWU7IG5hO21lXHJcbicsIG5hbWU9Im5hO21lIikKKyAgICAgICAgdGVzdF9lbnRyeSgndHlwZT10eXBlO3Blcm09cGVybTt1bmlxdWU9dW5pcXVlOyA7bmFtZVxyXG4nLCBuYW1lPSI7bmFtZSIpCisgICAgICAgIHRlc3RfZW50cnkoJ3R5cGU9dHlwZTtwZXJtPXBlcm07dW5pcXVlPXVuaXF1ZTsgO25hbWU7XHJcbicsIG5hbWU9IjtuYW1lOyIpCisgICAgICAgIHRlc3RfZW50cnkoJ3R5cGU9dHlwZTtwZXJtPXBlcm07dW5pcXVlPXVuaXF1ZTsgOzs7O1xyXG4nLCBuYW1lPSI7Ozs7IikKKyAgICAgICAgIyBjYXNlIHNlbnNpdGl2ZW5lc3MKKyAgICAgICAgc2V0X2RhdGEoJ1R5cGU9dHlwZTtUeVBlPXBlcm07VU5JUVVFPXVuaXF1ZTsgbmFtZVxyXG4nKQorICAgICAgICBfbmFtZSwgZmFjdHMgPSBuZXh0KHNlbGYuY2xpZW50Lm1sc2QoKSkKKyAgICAgICAgZm9yIHggaW4gZmFjdHM6CisgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoeC5pc2xvd2VyKCkpCisgICAgICAgICMgbm8gZGF0YSAoZGlyZWN0b3J5IGVtcHR5KQorICAgICAgICBzZXRfZGF0YSgnJykKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoU3RvcEl0ZXJhdGlvbiwgbmV4dCwgc2VsZi5jbGllbnQubWxzZCgpKQorICAgICAgICBzZXRfZGF0YSgnJykKKyAgICAgICAgZm9yIHggaW4gc2VsZi5jbGllbnQubWxzZCgpOgorICAgICAgICAgICAgc2VsZi5mYWlsKCJ1bmV4cGVjdGVkIGRhdGEgJXMiICUgZGF0YSkKKwogICAgIGRlZiB0ZXN0X21ha2Vwb3J0KHNlbGYpOgogICAgICAgICB3aXRoIHNlbGYuY2xpZW50Lm1ha2Vwb3J0KCk6CiAgICAgICAgICAgICAjIElQdjQgaXMgaW4gdXNlLCBqdXN0IG1ha2Ugc3VyZSBzZW5kX2VwcnQgaGFzIG5vdCBiZWVuIHVzZWQKQEAgLTU4NCw3ICs2ODEsNyBAQAogICAgICAgICAgICAgcmV0dXJuIFRydWUKIAogICAgICAgICAjIGJhc2UgdGVzdAotICAgICAgICB3aXRoIGZ0cGxpYi5GVFAodGltZW91dD0xMCkgYXMgc2VsZi5jbGllbnQ6CisgICAgICAgIHdpdGggZnRwbGliLkZUUCh0aW1lb3V0PTIpIGFzIHNlbGYuY2xpZW50OgogICAgICAgICAgICAgc2VsZi5jbGllbnQuY29ubmVjdChzZWxmLnNlcnZlci5ob3N0LCBzZWxmLnNlcnZlci5wb3J0KQogICAgICAgICAgICAgc2VsZi5jbGllbnQuc2VuZGNtZCgnbm9vcCcpCiAgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoaXNfY2xpZW50X2Nvbm5lY3RlZCgpKQpAQCAtNTkyLDcgKzY4OSw3IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoaXNfY2xpZW50X2Nvbm5lY3RlZCgpKQogCiAgICAgICAgICMgUVVJVCBzZW50IGluc2lkZSB0aGUgd2l0aCBibG9jawotICAgICAgICB3aXRoIGZ0cGxpYi5GVFAodGltZW91dD0xMCkgYXMgc2VsZi5jbGllbnQ6CisgICAgICAgIHdpdGggZnRwbGliLkZUUCh0aW1lb3V0PTIpIGFzIHNlbGYuY2xpZW50OgogICAgICAgICAgICAgc2VsZi5jbGllbnQuY29ubmVjdChzZWxmLnNlcnZlci5ob3N0LCBzZWxmLnNlcnZlci5wb3J0KQogICAgICAgICAgICAgc2VsZi5jbGllbnQuc2VuZGNtZCgnbm9vcCcpCiAgICAgICAgICAgICBzZWxmLmNsaWVudC5xdWl0KCkKQEAgLTYwMiw3ICs2OTksNyBAQAogICAgICAgICAjIGZvcmNlIGEgd3JvbmcgcmVzcG9uc2UgY29kZSB0byBiZSBzZW50IG9uIFFVSVQ6IGVycm9yX3Blcm0KICAgICAgICAgIyBpcyBleHBlY3RlZCBhbmQgdGhlIGNvbm5lY3Rpb24gaXMgc3VwcG9zZWQgdG8gYmUgY2xvc2VkCiAgICAgICAgIHRyeToKLSAgICAgICAgICAgIHdpdGggZnRwbGliLkZUUCh0aW1lb3V0PTEwKSBhcyBzZWxmLmNsaWVudDoKKyAgICAgICAgICAgIHdpdGggZnRwbGliLkZUUCh0aW1lb3V0PTIpIGFzIHNlbGYuY2xpZW50OgogICAgICAgICAgICAgICAgIHNlbGYuY2xpZW50LmNvbm5lY3Qoc2VsZi5zZXJ2ZXIuaG9zdCwgc2VsZi5zZXJ2ZXIucG9ydCkKICAgICAgICAgICAgICAgICBzZWxmLmNsaWVudC5zZW5kY21kKCdub29wJykKICAgICAgICAgICAgICAgICBzZWxmLnNlcnZlci5oYW5kbGVyX2luc3RhbmNlLm5leHRfcmVzcG9uc2UgPSAnNTUwIGVycm9yIG9uIHF1aXQnCkBAIC02MTYsNiArNzEzLDMwIEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5zZXJ2ZXIuaGFuZGxlcl9pbnN0YW5jZS5sYXN0X3JlY2VpdmVkX2NtZCwgJ3F1aXQnKQogICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGlzX2NsaWVudF9jb25uZWN0ZWQoKSkKIAorICAgIGRlZiB0ZXN0X3NvdXJjZV9hZGRyZXNzKHNlbGYpOgorICAgICAgICBzZWxmLmNsaWVudC5xdWl0KCkKKyAgICAgICAgcG9ydCA9IHN1cHBvcnQuZmluZF91bnVzZWRfcG9ydCgpCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHNlbGYuY2xpZW50LmNvbm5lY3Qoc2VsZi5zZXJ2ZXIuaG9zdCwgc2VsZi5zZXJ2ZXIucG9ydCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlX2FkZHJlc3M9KEhPU1QsIHBvcnQpKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmNsaWVudC5zb2NrLmdldHNvY2tuYW1lKClbMV0sIHBvcnQpCisgICAgICAgICAgICBzZWxmLmNsaWVudC5xdWl0KCkKKyAgICAgICAgZXhjZXB0IElPRXJyb3IgYXMgZToKKyAgICAgICAgICAgIGlmIGUuZXJybm8gPT0gZXJybm8uRUFERFJJTlVTRToKKyAgICAgICAgICAgICAgICBzZWxmLnNraXBUZXN0KCJjb3VsZG4ndCBiaW5kIHRvIHBvcnQgJWQiICUgcG9ydCkKKyAgICAgICAgICAgIHJhaXNlCisKKyAgICBkZWYgdGVzdF9zb3VyY2VfYWRkcmVzc19wYXNzaXZlX2Nvbm5lY3Rpb24oc2VsZik6CisgICAgICAgIHBvcnQgPSBzdXBwb3J0LmZpbmRfdW51c2VkX3BvcnQoKQorICAgICAgICBzZWxmLmNsaWVudC5zb3VyY2VfYWRkcmVzcyA9IChIT1NULCBwb3J0KQorICAgICAgICB0cnk6CisgICAgICAgICAgICB3aXRoIHNlbGYuY2xpZW50LnRyYW5zZmVyY21kKCdsaXN0JykgYXMgc29jazoKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNvY2suZ2V0c29ja25hbWUoKVsxXSwgcG9ydCkKKyAgICAgICAgZXhjZXB0IElPRXJyb3IgYXMgZToKKyAgICAgICAgICAgIGlmIGUuZXJybm8gPT0gZXJybm8uRUFERFJJTlVTRToKKyAgICAgICAgICAgICAgICBzZWxmLnNraXBUZXN0KCJjb3VsZG4ndCBiaW5kIHRvIHBvcnQgJWQiICUgcG9ydCkKKyAgICAgICAgICAgIHJhaXNlCisKICAgICBkZWYgdGVzdF9wYXJzZTI1NyhzZWxmKToKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmdHBsaWIucGFyc2UyNTcoJzI1NyAiL2Zvby9iYXIiJyksICcvZm9vL2JhcicpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZnRwbGliLnBhcnNlMjU3KCcyNTcgIi9mb28vYmFyIiBjcmVhdGVkJyksICcvZm9vL2JhcicpCkBAIC02MzIsNyArNzUzLDcgQEAKIGNsYXNzIFRlc3RJUHY2RW52aXJvbm1lbnQoVGVzdENhc2UpOgogCiAgICAgZGVmIHNldFVwKHNlbGYpOgotICAgICAgICBzZWxmLnNlcnZlciA9IER1bW15RlRQU2VydmVyKChIT1NULCAwKSwgYWY9c29ja2V0LkFGX0lORVQ2KQorICAgICAgICBzZWxmLnNlcnZlciA9IER1bW15RlRQU2VydmVyKCgnOjoxJywgMCksIGFmPXNvY2tldC5BRl9JTkVUNikKICAgICAgICAgc2VsZi5zZXJ2ZXIuc3RhcnQoKQogICAgICAgICBzZWxmLmNsaWVudCA9IGZ0cGxpYi5GVFAoKQogICAgICAgICBzZWxmLmNsaWVudC5jb25uZWN0KHNlbGYuc2VydmVyLmhvc3QsIHNlbGYuc2VydmVyLnBvcnQpCkBAIC02NjEsNiArNzgyLDcgQEAKICAgICAgICAgICAgICAgICByZWNlaXZlZC5hcHBlbmQoZGF0YS5kZWNvZGUoJ2FzY2lpJykpCiAgICAgICAgICAgICByZWNlaXZlZCA9IFtdCiAgICAgICAgICAgICBzZWxmLmNsaWVudC5yZXRyYmluYXJ5KCdyZXRyJywgY2FsbGJhY2spCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbignJy5qb2luKHJlY2VpdmVkKSksIGxlbihSRVRSX0RBVEEpKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnJy5qb2luKHJlY2VpdmVkKSwgUkVUUl9EQVRBKQogICAgICAgICBzZWxmLmNsaWVudC5zZXRfcGFzdihUcnVlKQogICAgICAgICByZXRyKCkKQEAgLTY3Niw3ICs3OTgsNyBAQAogICAgIGRlZiBzZXRVcChzZWxmKToKICAgICAgICAgc2VsZi5zZXJ2ZXIgPSBEdW1teVRMU19GVFBTZXJ2ZXIoKEhPU1QsIDApKQogICAgICAgICBzZWxmLnNlcnZlci5zdGFydCgpCi0gICAgICAgIHNlbGYuY2xpZW50ID0gZnRwbGliLkZUUF9UTFModGltZW91dD0xMCkKKyAgICAgICAgc2VsZi5jbGllbnQgPSBmdHBsaWIuRlRQX1RMUyh0aW1lb3V0PTIpCiAgICAgICAgIHNlbGYuY2xpZW50LmNvbm5lY3Qoc2VsZi5zZXJ2ZXIuaG9zdCwgc2VsZi5zZXJ2ZXIucG9ydCkKICAgICAgICAgIyBlbmFibGUgVExTCiAgICAgICAgIHNlbGYuY2xpZW50LmF1dGgoKQpAQCAtNjg5LDcgKzgxMSw3IEBACiAgICAgZGVmIHNldFVwKHNlbGYpOgogICAgICAgICBzZWxmLnNlcnZlciA9IER1bW15VExTX0ZUUFNlcnZlcigoSE9TVCwgMCkpCiAgICAgICAgIHNlbGYuc2VydmVyLnN0YXJ0KCkKLSAgICAgICAgc2VsZi5jbGllbnQgPSBmdHBsaWIuRlRQX1RMUyh0aW1lb3V0PTEwKQorICAgICAgICBzZWxmLmNsaWVudCA9IGZ0cGxpYi5GVFBfVExTKHRpbWVvdXQ9MikKICAgICAgICAgc2VsZi5jbGllbnQuY29ubmVjdChzZWxmLnNlcnZlci5ob3N0LCBzZWxmLnNlcnZlci5wb3J0KQogCiAgICAgZGVmIHRlYXJEb3duKHNlbGYpOgpAQCAtNzQ5LDcgKzg3MSw3IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIGZ0cGxpYi5GVFBfVExTLCBjZXJ0ZmlsZT1DRVJURklMRSwKICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5ZmlsZT1DRVJURklMRSwgY29udGV4dD1jdHgpCiAKLSAgICAgICAgc2VsZi5jbGllbnQgPSBmdHBsaWIuRlRQX1RMUyhjb250ZXh0PWN0eCwgdGltZW91dD0xMCkKKyAgICAgICAgc2VsZi5jbGllbnQgPSBmdHBsaWIuRlRQX1RMUyhjb250ZXh0PWN0eCwgdGltZW91dD0yKQogICAgICAgICBzZWxmLmNsaWVudC5jb25uZWN0KHNlbGYuc2VydmVyLmhvc3QsIHNlbGYuc2VydmVyLnBvcnQpCiAgICAgICAgIHNlbGYuYXNzZXJ0Tm90SXNJbnN0YW5jZShzZWxmLmNsaWVudC5zb2NrLCBzc2wuU1NMU29ja2V0KQogICAgICAgICBzZWxmLmNsaWVudC5hdXRoKCkKQEAgLTc2MSw2ICs4ODMsMTMgQEAKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXMoc29jay5jb250ZXh0LCBjdHgpCiAgICAgICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2Uoc29jaywgc3NsLlNTTFNvY2tldCkKIAorICAgIGRlZiB0ZXN0X2NjYyhzZWxmKToKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgc2VsZi5jbGllbnQuY2NjKQorICAgICAgICBzZWxmLmNsaWVudC5sb2dpbihzZWN1cmU9VHJ1ZSkKKyAgICAgICAgc2VsZi5hc3NlcnRJc0luc3RhbmNlKHNlbGYuY2xpZW50LnNvY2ssIHNzbC5TU0xTb2NrZXQpCisgICAgICAgIHNlbGYuY2xpZW50LmNjYygpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIHNlbGYuY2xpZW50LnNvY2sudW53cmFwKQorCiAKIGNsYXNzIFRlc3RUaW1lb3V0cyhUZXN0Q2FzZSk6CiAKQEAgLTg1NywxMyArOTg2LDggQEAKIAogZGVmIHRlc3RfbWFpbigpOgogICAgIHRlc3RzID0gW1Rlc3RGVFBDbGFzcywgVGVzdFRpbWVvdXRzXQotICAgIGlmIHNvY2tldC5oYXNfaXB2NjoKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgRHVtbXlGVFBTZXJ2ZXIoKEhPU1QsIDApLCBhZj1zb2NrZXQuQUZfSU5FVDYpCi0gICAgICAgIGV4Y2VwdCBzb2NrZXQuZXJyb3I6Ci0gICAgICAgICAgICBwYXNzCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICB0ZXN0cy5hcHBlbmQoVGVzdElQdjZFbnZpcm9ubWVudCkKKyAgICBpZiBzdXBwb3J0LklQVjZfRU5BQkxFRDoKKyAgICAgICAgdGVzdHMuYXBwZW5kKFRlc3RJUHY2RW52aXJvbm1lbnQpCiAKICAgICBpZiBzc2wgaXMgbm90IE5vbmU6CiAgICAgICAgIHRlc3RzLmV4dGVuZChbVGVzdFRMU19GVFBDbGFzc01peGluLCBUZXN0VExTX0ZUUENsYXNzXSkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfZnVuY2F0dHJzLnB5IGIvTGliL3Rlc3QvdGVzdF9mdW5jYXR0cnMucHkKaW5kZXggNGQxOTM2OC4uYzhlZDgzMCAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9mdW5jYXR0cnMucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9mdW5jYXR0cnMucHkKQEAgLTIsNiArMiwxNSBAQAogaW1wb3J0IHR5cGVzCiBpbXBvcnQgdW5pdHRlc3QKIAorCitkZWYgZ2xvYmFsX2Z1bmN0aW9uKCk6CisgICAgZGVmIGlubmVyX2Z1bmN0aW9uKCk6CisgICAgICAgIGNsYXNzIExvY2FsQ2xhc3M6CisgICAgICAgICAgICBwYXNzCisgICAgICAgIHJldHVybiBMb2NhbENsYXNzCisgICAgcmV0dXJuIGxhbWJkYTogaW5uZXJfZnVuY3Rpb24KKworCiBjbGFzcyBGdW5jQXR0cnNUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICBkZWYgc2V0VXAoc2VsZik6CiAgICAgICAgIGNsYXNzIEY6CkBAIC05Niw2ICsxMDUsMjQgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmZpLmEuX19uYW1lX18sICdhJykKICAgICAgICAgc2VsZi5jYW5ub3Rfc2V0X2F0dHIoc2VsZi5maS5hLCAiX19uYW1lX18iLCAnYScsIEF0dHJpYnV0ZUVycm9yKQogCisgICAgZGVmIHRlc3RfX19xdWFsbmFtZV9fKHNlbGYpOgorICAgICAgICAjIFBFUCAzMTU1CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5iLl9fcXVhbG5hbWVfXywgJ0Z1bmNBdHRyc1Rlc3Quc2V0VXAuPGxvY2Fscz4uYicpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoRnVuY0F0dHJzVGVzdC5zZXRVcC5fX3F1YWxuYW1lX18sICdGdW5jQXR0cnNUZXN0LnNldFVwJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChnbG9iYWxfZnVuY3Rpb24uX19xdWFsbmFtZV9fLCAnZ2xvYmFsX2Z1bmN0aW9uJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChnbG9iYWxfZnVuY3Rpb24oKS5fX3F1YWxuYW1lX18sCisgICAgICAgICAgICAgICAgICAgICAgICAgJ2dsb2JhbF9mdW5jdGlvbi48bG9jYWxzPi48bGFtYmRhPicpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZ2xvYmFsX2Z1bmN0aW9uKCkoKS5fX3F1YWxuYW1lX18sCisgICAgICAgICAgICAgICAgICAgICAgICAgJ2dsb2JhbF9mdW5jdGlvbi48bG9jYWxzPi5pbm5lcl9mdW5jdGlvbicpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZ2xvYmFsX2Z1bmN0aW9uKCkoKSgpLl9fcXVhbG5hbWVfXywKKyAgICAgICAgICAgICAgICAgICAgICAgICAnZ2xvYmFsX2Z1bmN0aW9uLjxsb2NhbHM+LmlubmVyX2Z1bmN0aW9uLjxsb2NhbHM+LkxvY2FsQ2xhc3MnKQorICAgICAgICBzZWxmLmIuX19xdWFsbmFtZV9fID0gJ2MnCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5iLl9fcXVhbG5hbWVfXywgJ2MnKQorICAgICAgICBzZWxmLmIuX19xdWFsbmFtZV9fID0gJ2QnCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5iLl9fcXVhbG5hbWVfXywgJ2QnKQorICAgICAgICAjIF9fcXVhbG5hbWVfXyBtdXN0IGJlIGEgc3RyaW5nCisgICAgICAgIHNlbGYuY2Fubm90X3NldF9hdHRyKHNlbGYuYiwgJ19fcXVhbG5hbWVfXycsIDcsIFR5cGVFcnJvcikKKwogICAgIGRlZiB0ZXN0X19fY29kZV9fKHNlbGYpOgogICAgICAgICBudW1fb25lLCBudW1fdHdvID0gNywgOAogICAgICAgICBkZWYgYSgpOiBwYXNzCkBAIC0zMTUsMTEgKzM0MiwzNyBAQAogICAgICAgICBzZWxmLmFzc2VydFRydWUocy5fX2Z1bmNfXyBpcyBmKQogCiAKK2NsYXNzIEJ1aWx0aW5GdW5jdGlvblByb3BlcnRpZXNUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKKyAgICAjIFhYWCBOb3Qgc3VyZSB3aGVyZSB0aGlzIHNob3VsZCByZWFsbHkgZ28gc2luY2UgSSBjYW4ndCBmaW5kIGEKKyAgICAjIHRlc3QgbW9kdWxlIHNwZWNpZmljYWxseSBmb3IgYnVpbHRpbl9mdW5jdGlvbl9vcl9tZXRob2QuCisKKyAgICBkZWYgdGVzdF9idWlsdGluX19xdWFsbmFtZV9fKHNlbGYpOgorICAgICAgICBpbXBvcnQgdGltZQorCisgICAgICAgICMgYnVpbHRpbiBmdW5jdGlvbjoKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4uX19xdWFsbmFtZV9fLCAnbGVuJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh0aW1lLnRpbWUuX19xdWFsbmFtZV9fLCAndGltZScpCisKKyAgICAgICAgIyBidWlsdGluIGNsYXNzbWV0aG9kOgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRpY3QuZnJvbWtleXMuX19xdWFsbmFtZV9fLCAnZGljdC5mcm9ta2V5cycpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZmxvYXQuX19nZXRmb3JtYXRfXy5fX3F1YWxuYW1lX18sCisgICAgICAgICAgICAgICAgICAgICAgICAgJ2Zsb2F0Ll9fZ2V0Zm9ybWF0X18nKQorCisgICAgICAgICMgYnVpbHRpbiBzdGF0aWNtZXRob2Q6CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyLm1ha2V0cmFucy5fX3F1YWxuYW1lX18sICdzdHIubWFrZXRyYW5zJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChieXRlcy5tYWtldHJhbnMuX19xdWFsbmFtZV9fLCAnYnl0ZXMubWFrZXRyYW5zJykKKworICAgICAgICAjIGJ1aWx0aW4gYm91bmQgaW5zdGFuY2UgbWV0aG9kOgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKFsxLCAyLCAzXS5hcHBlbmQuX19xdWFsbmFtZV9fLCAnbGlzdC5hcHBlbmQnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHsnZm9vJzogJ2Jhcid9LnBvcC5fX3F1YWxuYW1lX18sICdkaWN0LnBvcCcpCisKKwogZGVmIHRlc3RfbWFpbigpOgogICAgIHN1cHBvcnQucnVuX3VuaXR0ZXN0KEZ1bmN0aW9uUHJvcGVydGllc1Rlc3QsIEluc3RhbmNlbWV0aG9kQXR0clRlc3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBcmJpdHJhcnlGdW5jdGlvbkF0dHJUZXN0LCBGdW5jdGlvbkRpY3RzVGVzdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZ1bmN0aW9uRG9jc3RyaW5nVGVzdCwgQ2VsbFRlc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdGF0aWNNZXRob2RBdHRyc1Rlc3QpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdGF0aWNNZXRob2RBdHRyc1Rlc3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCdWlsdGluRnVuY3Rpb25Qcm9wZXJ0aWVzVGVzdCkKIAogaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKICAgICB0ZXN0X21haW4oKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9mdW5jdG9vbHMucHkgYi9MaWIvdGVzdC90ZXN0X2Z1bmN0b29scy5weQppbmRleCAyNzBjYWIwLi5jNDkxMGE3IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2Z1bmN0b29scy5weQorKysgYi9MaWIvdGVzdC90ZXN0X2Z1bmN0b29scy5weQpAQCAtMjI2LDYgKzIyNiw3IEBACiAgICAgICAgIHNlbGYuY2hlY2tfd3JhcHBlcih3cmFwcGVyLCBmKQogICAgICAgICBzZWxmLmFzc2VydElzKHdyYXBwZXIuX193cmFwcGVkX18sIGYpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwod3JhcHBlci5fX25hbWVfXywgJ2YnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHdyYXBwZXIuX19xdWFsbmFtZV9fLCBmLl9fcXVhbG5hbWVfXykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh3cmFwcGVyLmF0dHIsICdUaGlzIGlzIGFsc28gYSB0ZXN0JykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh3cmFwcGVyLl9fYW5ub3RhdGlvbnNfX1snYSddLCAnVGhpcyBpcyBhIG5ldyBhbm5vdGF0aW9uJykKICAgICAgICAgc2VsZi5hc3NlcnROb3RJbignYicsIHdyYXBwZXIuX19hbm5vdGF0aW9uc19fKQpAQCAtMjQ2LDYgKzI0Nyw3IEBACiAgICAgICAgIGZ1bmN0b29scy51cGRhdGVfd3JhcHBlcih3cmFwcGVyLCBmLCAoKSwgKCkpCiAgICAgICAgIHNlbGYuY2hlY2tfd3JhcHBlcih3cmFwcGVyLCBmLCAoKSwgKCkpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwod3JhcHBlci5fX25hbWVfXywgJ3dyYXBwZXInKQorICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKHdyYXBwZXIuX19xdWFsbmFtZV9fLCBmLl9fcXVhbG5hbWVfXykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh3cmFwcGVyLl9fZG9jX18sIE5vbmUpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwod3JhcHBlci5fX2Fubm90YXRpb25zX18sIHt9KQogICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGhhc2F0dHIod3JhcHBlciwgJ2F0dHInKSkKQEAgLTI2Myw2ICsyNjUsNyBAQAogICAgICAgICBmdW5jdG9vbHMudXBkYXRlX3dyYXBwZXIod3JhcHBlciwgZiwgYXNzaWduLCB1cGRhdGUpCiAgICAgICAgIHNlbGYuY2hlY2tfd3JhcHBlcih3cmFwcGVyLCBmLCBhc3NpZ24sIHVwZGF0ZSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh3cmFwcGVyLl9fbmFtZV9fLCAnd3JhcHBlcicpCisgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwod3JhcHBlci5fX3F1YWxuYW1lX18sIGYuX19xdWFsbmFtZV9fKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHdyYXBwZXIuX19kb2NfXywgTm9uZSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh3cmFwcGVyLmF0dHIsICdUaGlzIGlzIGEgZGlmZmVyZW50IHRlc3QnKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHdyYXBwZXIuZGljdF9hdHRyLCBmLmRpY3RfYXR0cikKQEAgLTMwOSwxNyArMzEyLDE4IEBACiAgICAgICAgIGRlZiB3cmFwcGVyKCk6CiAgICAgICAgICAgICBwYXNzCiAgICAgICAgIHNlbGYuY2hlY2tfd3JhcHBlcih3cmFwcGVyLCBmKQotICAgICAgICByZXR1cm4gd3JhcHBlcgorICAgICAgICByZXR1cm4gd3JhcHBlciwgZgogCiAgICAgZGVmIHRlc3RfZGVmYXVsdF91cGRhdGUoc2VsZik6Ci0gICAgICAgIHdyYXBwZXIgPSBzZWxmLl9kZWZhdWx0X3VwZGF0ZSgpCisgICAgICAgIHdyYXBwZXIsIGYgPSBzZWxmLl9kZWZhdWx0X3VwZGF0ZSgpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwod3JhcHBlci5fX25hbWVfXywgJ2YnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHdyYXBwZXIuX19xdWFsbmFtZV9fLCBmLl9fcXVhbG5hbWVfXykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh3cmFwcGVyLmF0dHIsICdUaGlzIGlzIGFsc28gYSB0ZXN0JykKIAogICAgIEB1bml0dGVzdC5za2lwSWYobm90IHN5cy5mbGFncy5vcHRpbWl6ZSA8PSAxLAogICAgICAgICAgICAgICAgICAgICAgIkRvY3N0cmluZ3MgYXJlIG9taXR0ZWQgd2l0aCAtTzIgYW5kIGFib3ZlIikKICAgICBkZWYgdGVzdF9kZWZhdWx0X3VwZGF0ZV9kb2Moc2VsZik6Ci0gICAgICAgIHdyYXBwZXIgPSBzZWxmLl9kZWZhdWx0X3VwZGF0ZSgpCisgICAgICAgIHdyYXBwZXIsIF8gPSBzZWxmLl9kZWZhdWx0X3VwZGF0ZSgpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwod3JhcHBlci5fX2RvY19fLCAnVGhpcyBpcyBhIHRlc3QnKQogCiAgICAgZGVmIHRlc3Rfbm9fdXBkYXRlKHNlbGYpOgpAQCAtMzMyLDYgKzMzNiw3IEBACiAgICAgICAgICAgICBwYXNzCiAgICAgICAgIHNlbGYuY2hlY2tfd3JhcHBlcih3cmFwcGVyLCBmLCAoKSwgKCkpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwod3JhcHBlci5fX25hbWVfXywgJ3dyYXBwZXInKQorICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKHdyYXBwZXIuX19xdWFsbmFtZV9fLCBmLl9fcXVhbG5hbWVfXykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh3cmFwcGVyLl9fZG9jX18sIE5vbmUpCiAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoaGFzYXR0cih3cmFwcGVyLCAnYXR0cicpKQogCkBAIC0zNTEsNiArMzU2LDcgQEAKICAgICAgICAgICAgIHBhc3MKICAgICAgICAgc2VsZi5jaGVja193cmFwcGVyKHdyYXBwZXIsIGYsIGFzc2lnbiwgdXBkYXRlKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHdyYXBwZXIuX19uYW1lX18sICd3cmFwcGVyJykKKyAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbCh3cmFwcGVyLl9fcXVhbG5hbWVfXywgZi5fX3F1YWxuYW1lX18pCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwod3JhcHBlci5fX2RvY19fLCBOb25lKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHdyYXBwZXIuYXR0ciwgJ1RoaXMgaXMgYSBkaWZmZXJlbnQgdGVzdCcpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwod3JhcHBlci5kaWN0X2F0dHIsIGYuZGljdF9hdHRyKQpAQCAtNDM2LDE5ICs0NDIsODIgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmZ1bmMoYWRkLCBkKSwgIiIuam9pbihkLmtleXMoKSkpCiAKIGNsYXNzIFRlc3RDbXBUb0tleSh1bml0dGVzdC5UZXN0Q2FzZSk6CisKICAgICBkZWYgdGVzdF9jbXBfdG9fa2V5KHNlbGYpOgorICAgICAgICBkZWYgY21wMSh4LCB5KToKKyAgICAgICAgICAgIHJldHVybiAoeCA+IHkpIC0gKHggPCB5KQorICAgICAgICBrZXkgPSBmdW5jdG9vbHMuY21wX3RvX2tleShjbXAxKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGtleSgzKSwga2V5KDMpKQorICAgICAgICBzZWxmLmFzc2VydEdyZWF0ZXIoa2V5KDMpLCBrZXkoMSkpCisgICAgICAgIGRlZiBjbXAyKHgsIHkpOgorICAgICAgICAgICAgcmV0dXJuIGludCh4KSAtIGludCh5KQorICAgICAgICBrZXkgPSBmdW5jdG9vbHMuY21wX3RvX2tleShjbXAyKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGtleSg0LjApLCBrZXkoJzQnKSkKKyAgICAgICAgc2VsZi5hc3NlcnRMZXNzKGtleSgyKSwga2V5KCczNScpKQorCisgICAgZGVmIHRlc3RfY21wX3RvX2tleV9hcmd1bWVudHMoc2VsZik6CisgICAgICAgIGRlZiBjbXAxKHgsIHkpOgorICAgICAgICAgICAgcmV0dXJuICh4ID4geSkgLSAoeCA8IHkpCisgICAgICAgIGtleSA9IGZ1bmN0b29scy5jbXBfdG9fa2V5KG15Y21wPWNtcDEpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoa2V5KG9iaj0zKSwga2V5KG9iaj0zKSkKKyAgICAgICAgc2VsZi5hc3NlcnRHcmVhdGVyKGtleShvYmo9MyksIGtleShvYmo9MSkpCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoKFR5cGVFcnJvciwgQXR0cmlidXRlRXJyb3IpKToKKyAgICAgICAgICAgIGtleSgzKSA+IDEgICAgIyByaHMgaXMgbm90IGEgSyBvYmplY3QKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcygoVHlwZUVycm9yLCBBdHRyaWJ1dGVFcnJvcikpOgorICAgICAgICAgICAgMSA8IGtleSgzKSAgICAjIGxocyBpcyBub3QgYSBLIG9iamVjdAorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvcik6CisgICAgICAgICAgICBrZXkgPSBmdW5jdG9vbHMuY21wX3RvX2tleSgpICAgICAgICAgICAgICMgdG9vIGZldyBhcmdzCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yKToKKyAgICAgICAgICAgIGtleSA9IGZ1bmN0b29scy5jbXBfdG9fa2V5KGNtcDEsIE5vbmUpICAgIyB0b28gbWFueSBhcmdzCisgICAgICAgIGtleSA9IGZ1bmN0b29scy5jbXBfdG9fa2V5KGNtcDEpCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yKToKKyAgICAgICAgICAgIGtleSgpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyB0b28gZmV3IGFyZ3MKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IpOgorICAgICAgICAgICAga2V5KE5vbmUsIE5vbmUpICAgICAgICAgICAgICAgICAgICAgICAgICAjIHRvbyBtYW55IGFyZ3MKKworICAgIGRlZiB0ZXN0X2JhZF9jbXAoc2VsZik6CisgICAgICAgIGRlZiBjbXAxKHgsIHkpOgorICAgICAgICAgICAgcmFpc2UgWmVyb0RpdmlzaW9uRXJyb3IKKyAgICAgICAga2V5ID0gZnVuY3Rvb2xzLmNtcF90b19rZXkoY21wMSkKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhaZXJvRGl2aXNpb25FcnJvcik6CisgICAgICAgICAgICBrZXkoMykgPiBrZXkoMSkKKworICAgICAgICBjbGFzcyBCYWRDbXA6CisgICAgICAgICAgICBkZWYgX19sdF9fKHNlbGYsIG90aGVyKToKKyAgICAgICAgICAgICAgICByYWlzZSBaZXJvRGl2aXNpb25FcnJvcgorICAgICAgICBkZWYgY21wMSh4LCB5KToKKyAgICAgICAgICAgIHJldHVybiBCYWRDbXAoKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFplcm9EaXZpc2lvbkVycm9yKToKKyAgICAgICAgICAgIGtleSgzKSA+IGtleSgxKQorCisgICAgZGVmIHRlc3Rfb2JqX2ZpZWxkKHNlbGYpOgorICAgICAgICBkZWYgY21wMSh4LCB5KToKKyAgICAgICAgICAgIHJldHVybiAoeCA+IHkpIC0gKHggPCB5KQorICAgICAgICBrZXkgPSBmdW5jdG9vbHMuY21wX3RvX2tleShteWNtcD1jbXAxKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGtleSg1MCkub2JqLCA1MCkKKworICAgIGRlZiB0ZXN0X3NvcnRfaW50KHNlbGYpOgogICAgICAgICBkZWYgbXljbXAoeCwgeSk6CiAgICAgICAgICAgICByZXR1cm4geSAtIHgKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzb3J0ZWQocmFuZ2UoNSksIGtleT1mdW5jdG9vbHMuY21wX3RvX2tleShteWNtcCkpLAogICAgICAgICAgICAgICAgICAgICAgICAgIFs0LCAzLCAyLCAxLCAwXSkKIAorICAgIGRlZiB0ZXN0X3NvcnRfaW50X3N0cihzZWxmKToKKyAgICAgICAgZGVmIG15Y21wKHgsIHkpOgorICAgICAgICAgICAgeCwgeSA9IGludCh4KSwgaW50KHkpCisgICAgICAgICAgICByZXR1cm4gKHggPiB5KSAtICh4IDwgeSkKKyAgICAgICAgdmFsdWVzID0gWzUsICczJywgNywgMiwgJzAnLCAnMScsIDQsICcxMCcsIDFdCisgICAgICAgIHZhbHVlcyA9IHNvcnRlZCh2YWx1ZXMsIGtleT1mdW5jdG9vbHMuY21wX3RvX2tleShteWNtcCkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoW2ludCh2YWx1ZSkgZm9yIHZhbHVlIGluIHZhbHVlc10sCisgICAgICAgICAgICAgICAgICAgICAgICAgWzAsIDEsIDEsIDIsIDMsIDQsIDUsIDcsIDEwXSkKKwogICAgIGRlZiB0ZXN0X2hhc2goc2VsZik6CiAgICAgICAgIGRlZiBteWNtcCh4LCB5KToKICAgICAgICAgICAgIHJldHVybiB5IC0geAogICAgICAgICBrZXkgPSBmdW5jdG9vbHMuY21wX3RvX2tleShteWNtcCkKICAgICAgICAgayA9IGtleSgxMCkKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBoYXNoLCBrKQotICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGlzaW5zdGFuY2UoaywgY29sbGVjdGlvbnMuSGFzaGFibGUpKQorICAgICAgICBzZWxmLmFzc2VydE5vdElzSW5zdGFuY2UoaywgY29sbGVjdGlvbnMuSGFzaGFibGUpCiAKIGNsYXNzIFRlc3RUb3RhbE9yZGVyaW5nKHVuaXR0ZXN0LlRlc3RDYXNlKToKIApAQCAtNjcxLDYgKzc0MCwyMiBAQAogICAgICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhJbmRleEVycm9yKToKICAgICAgICAgICAgICAgICBmdW5jKDE1KQogCisgICAgZGVmIHRlc3RfbHJ1X3dpdGhfdHlwZXMoc2VsZik6CisgICAgICAgIGZvciBtYXhzaXplIGluIChOb25lLCAxMDApOgorICAgICAgICAgICAgQGZ1bmN0b29scy5scnVfY2FjaGUobWF4c2l6ZT1tYXhzaXplLCB0eXBlZD1UcnVlKQorICAgICAgICAgICAgZGVmIHNxdWFyZSh4KToKKyAgICAgICAgICAgICAgICByZXR1cm4geCAqIHgKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3F1YXJlKDMpLCA5KQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh0eXBlKHNxdWFyZSgzKSksIHR5cGUoOSkpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNxdWFyZSgzLjApLCA5LjApCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHR5cGUoc3F1YXJlKDMuMCkpLCB0eXBlKDkuMCkpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNxdWFyZSh4PTMpLCA5KQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh0eXBlKHNxdWFyZSh4PTMpKSwgdHlwZSg5KSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3F1YXJlKHg9My4wKSwgOS4wKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh0eXBlKHNxdWFyZSh4PTMuMCkpLCB0eXBlKDkuMCkpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNxdWFyZS5jYWNoZV9pbmZvKCkuaGl0cywgNCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3F1YXJlLmNhY2hlX2luZm8oKS5taXNzZXMsIDQpCisKIGRlZiB0ZXN0X21haW4odmVyYm9zZT1Ob25lKToKICAgICB0ZXN0X2NsYXNzZXMgPSAoCiAgICAgICAgIFRlc3RQYXJ0aWFsLApkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9mdXR1cmUucHkgYi9MaWIvdGVzdC90ZXN0X2Z1dHVyZS5weQppbmRleCBjNjY4OWExLi4zYTI1ZWIxIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2Z1dHVyZS5weQorKysgYi9MaWIvdGVzdC90ZXN0X2Z1dHVyZS5weQpAQCAtMTMsMTQgKzEzLDE0IEBACiBjbGFzcyBGdXR1cmVUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKIAogICAgIGRlZiB0ZXN0X2Z1dHVyZTEoc2VsZik6Ci0gICAgICAgIHN1cHBvcnQudW5sb2FkKCd0ZXN0X2Z1dHVyZTEnKQotICAgICAgICBmcm9tIHRlc3QgaW1wb3J0IHRlc3RfZnV0dXJlMQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHRlc3RfZnV0dXJlMS5yZXN1bHQsIDYpCisgICAgICAgIHN1cHBvcnQudW5sb2FkKCdmdXR1cmVfdGVzdDEnKQorICAgICAgICBmcm9tIHRlc3QgaW1wb3J0IGZ1dHVyZV90ZXN0MQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGZ1dHVyZV90ZXN0MS5yZXN1bHQsIDYpCiAKICAgICBkZWYgdGVzdF9mdXR1cmUyKHNlbGYpOgotICAgICAgICBzdXBwb3J0LnVubG9hZCgndGVzdF9mdXR1cmUyJykKLSAgICAgICAgZnJvbSB0ZXN0IGltcG9ydCB0ZXN0X2Z1dHVyZTIKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh0ZXN0X2Z1dHVyZTIucmVzdWx0LCA2KQorICAgICAgICBzdXBwb3J0LnVubG9hZCgnZnV0dXJlX3Rlc3QyJykKKyAgICAgICAgZnJvbSB0ZXN0IGltcG9ydCBmdXR1cmVfdGVzdDIKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmdXR1cmVfdGVzdDIucmVzdWx0LCA2KQogCiAgICAgZGVmIHRlc3RfZnV0dXJlMyhzZWxmKToKICAgICAgICAgc3VwcG9ydC51bmxvYWQoJ3Rlc3RfZnV0dXJlMycpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2djLnB5IGIvTGliL3Rlc3QvdGVzdF9nYy5weQppbmRleCAxMDBjNzY3Li4xOTMxM2RiIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2djLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfZ2MucHkKQEAgLTEsNSArMSw2IEBACiBpbXBvcnQgdW5pdHRlc3QKLWZyb20gdGVzdC5zdXBwb3J0IGltcG9ydCB2ZXJib3NlLCBydW5fdW5pdHRlc3QsIHN0cmlwX3B5dGhvbl9zdGRlcnIKK2Zyb20gdGVzdC5zdXBwb3J0IGltcG9ydCAodmVyYm9zZSwgcmVmY291bnRfdGVzdCwgcnVuX3VuaXR0ZXN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmlwX3B5dGhvbl9zdGRlcnIpCiBpbXBvcnQgc3lzCiBpbXBvcnQgZ2MKIGltcG9ydCB3ZWFrcmVmCkBAIC0xNzUsNiArMTc2LDcgQEAKICAgICAgICAgZGVsIGQKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChnYy5jb2xsZWN0KCksIDIpCiAKKyAgICBAcmVmY291bnRfdGVzdAogICAgIGRlZiB0ZXN0X2ZyYW1lKHNlbGYpOgogICAgICAgICBkZWYgZigpOgogICAgICAgICAgICAgZnJhbWUgPSBzeXMuX2dldGZyYW1lKCkKQEAgLTI0Miw2ICsyNDQsNyBAQAogICAgICMgRm9yIGV4YW1wbGUsIGRpc3Bvc2VkIHR1cGxlcyBhcmUgbm90IGZyZWVkLCBidXQgcmV1c2VkLgogICAgICMgVG8gbWluaW1pemUgdmFyaWF0aW9ucywgdGhvdWdoLCB3ZSBmaXJzdCBzdG9yZSB0aGUgZ2V0X2NvdW50KCkgcmVzdWx0cwogICAgICMgYW5kIGNoZWNrIHRoZW0gYXQgdGhlIGVuZC4KKyAgICBAcmVmY291bnRfdGVzdAogICAgIGRlZiB0ZXN0X2dldF9jb3VudChzZWxmKToKICAgICAgICAgZ2MuY29sbGVjdCgpCiAgICAgICAgIGEsIGIsIGMgPSBnYy5nZXRfY291bnQoKQpAQCAtMjU1LDYgKzI1OCw3IEBACiAgICAgICAgICMgY3JlYXRlZCAodGhlIGxpc3QpLgogICAgICAgICBzZWxmLmFzc2VydEdyZWF0ZXIoZCwgYSkKIAorICAgIEByZWZjb3VudF90ZXN0CiAgICAgZGVmIHRlc3RfY29sbGVjdF9nZW5lcmF0aW9ucyhzZWxmKToKICAgICAgICAgZ2MuY29sbGVjdCgpCiAgICAgICAgICMgVGhpcyBvYmplY3Qgd2lsbCAidHJpY2tsZSIgaW50byBnZW5lcmF0aW9uIE4gKyAxIGFmdGVyCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2dkYi5weSBiL0xpYi90ZXN0L3Rlc3RfZ2RiLnB5CmluZGV4IGFlYTdjMGMuLmM0YzQ4MDMgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfZ2RiLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfZ2RiLnB5CkBAIC0zMjEsNyArMzIxLDcgQEAKIGZvbyA9IEZvbygpCiBmb28uYW5faW50ID0gNDIKIGlkKGZvbyknJycpCi0gICAgICAgIG0gPSByZS5tYXRjaChyJzxGb29cKGFuX2ludD00MlwpIGF0IHJlbW90ZSAweFswLTlhLWZdKz4nLCBnZGJfcmVwcikKKyAgICAgICAgbSA9IHJlLm1hdGNoKHInPEZvb1woYW5faW50PTQyXCkgYXQgcmVtb3RlIDB4LT9bMC05YS1mXSs+JywgZ2RiX3JlcHIpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShtLAogICAgICAgICAgICAgICAgICAgICAgICAgbXNnPSdVbmV4cGVjdGVkIG5ldy1zdHlsZSBjbGFzcyByZW5kZXJpbmcgJXInICUgZ2RiX3JlcHIpCiAKQEAgLTMzNCw3ICszMzQsNyBAQAogZm9vICs9IFsxLCAyLCAzXQogZm9vLmFuX2ludCA9IDQyCiBpZChmb28pJycnKQotICAgICAgICBtID0gcmUubWF0Y2gocic8Rm9vXChhbl9pbnQ9NDJcKSBhdCByZW1vdGUgMHhbMC05YS1mXSs+JywgZ2RiX3JlcHIpCisgICAgICAgIG0gPSByZS5tYXRjaChyJzxGb29cKGFuX2ludD00MlwpIGF0IHJlbW90ZSAweC0/WzAtOWEtZl0rPicsIGdkYl9yZXByKQogCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShtLAogICAgICAgICAgICAgICAgICAgICAgICAgbXNnPSdVbmV4cGVjdGVkIG5ldy1zdHlsZSBjbGFzcyByZW5kZXJpbmcgJXInICUgZ2RiX3JlcHIpCkBAIC0zNDksNyArMzQ5LDcgQEAKIGZvbyA9IEZvbygoMSwgMiwgMykpCiBmb28uYW5faW50ID0gNDIKIGlkKGZvbyknJycpCi0gICAgICAgIG0gPSByZS5tYXRjaChyJzxGb29cKGFuX2ludD00MlwpIGF0IHJlbW90ZSAweFswLTlhLWZdKz4nLCBnZGJfcmVwcikKKyAgICAgICAgbSA9IHJlLm1hdGNoKHInPEZvb1woYW5faW50PTQyXCkgYXQgcmVtb3RlIDB4LT9bMC05YS1mXSs+JywgZ2RiX3JlcHIpCiAKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG0sCiAgICAgICAgICAgICAgICAgICAgICAgICBtc2c9J1VuZXhwZWN0ZWQgbmV3LXN0eWxlIGNsYXNzIHJlbmRlcmluZyAlcicgJSBnZGJfcmVwcikKQEAgLTM3Niw3ICszNzYsNyBAQAogCiAgICAgICAgICMgTWF0Y2ggYW55dGhpbmcgZm9yIHRoZSB0eXBlIG5hbWU7IDB4REVBREJFRUYgY291bGQgcG9pbnQgdG8KICAgICAgICAgIyBzb21ldGhpbmcgYXJiaXRyYXJ5IChzZWUgIGh0dHA6Ly9idWdzLnB5dGhvbi5vcmcvaXNzdWU4MzMwKQotICAgICAgICBwYXR0ZXJuID0gJzwuKiBhdCByZW1vdGUgMHhbMC05YS1mXSs+JworICAgICAgICBwYXR0ZXJuID0gJzwuKiBhdCByZW1vdGUgMHgtP1swLTlhLWZdKz4nCiAKICAgICAgICAgbSA9IHJlLm1hdGNoKHBhdHRlcm4sIGdkYl9yZXByKQogICAgICAgICBpZiBub3QgbToKQEAgLTQyMiw3ICs0MjIsNyBAQAogICAgICAgICAjICBodHRwOi8vYnVncy5weXRob24ub3JnL2lzc3VlODAzMiNtc2cxMDA1MzcgKQogICAgICAgICBnZGJfcmVwciwgZ2RiX291dHB1dCA9IHNlbGYuZ2V0X2dkYl9yZXByKCdpZChfX2J1aWx0aW5zX18uaGVscCknLCBpbXBvcnRfc2l0ZT1UcnVlKQogCi0gICAgICAgIG0gPSByZS5tYXRjaChyJzxfSGVscGVyIGF0IHJlbW90ZSAweFswLTlhLWZdKz4nLCBnZGJfcmVwcikKKyAgICAgICAgbSA9IHJlLm1hdGNoKHInPF9IZWxwZXIgYXQgcmVtb3RlIDB4LT9bMC05YS1mXSs+JywgZ2RiX3JlcHIpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShtLAogICAgICAgICAgICAgICAgICAgICAgICAgbXNnPSdVbmV4cGVjdGVkIHJlbmRlcmluZyAlcicgJSBnZGJfcmVwcikKIApAQCAtNDUzLDcgKzQ1Myw3IEBACiBmb28gPSBGb28oKQogZm9vLmFuX2F0dHIgPSBmb28KIGlkKGZvbyknJycpCi0gICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShyZS5tYXRjaCgnPEZvb1woYW5fYXR0cj08XC5cLlwuPlwpIGF0IHJlbW90ZSAweFswLTlhLWZdKz4nLAorICAgICAgICBzZWxmLmFzc2VydFRydWUocmUubWF0Y2goJzxGb29cKGFuX2F0dHI9PFwuXC5cLj5cKSBhdCByZW1vdGUgMHgtP1swLTlhLWZdKz4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2RiX3JlcHIpLAogICAgICAgICAgICAgICAgICAgICAgICAgJ1VuZXhwZWN0ZWQgZ2RiIHJlcHJlc2VudGF0aW9uOiAlclxuJXMnICUgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIChnZGJfcmVwciwgZ2RiX291dHB1dCkpCkBAIC00NjYsNyArNDY2LDcgQEAKIGZvbyA9IEZvbygpCiBmb28uYW5fYXR0ciA9IGZvbwogaWQoZm9vKScnJykKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHJlLm1hdGNoKCc8Rm9vXChhbl9hdHRyPTxcLlwuXC4+XCkgYXQgcmVtb3RlIDB4WzAtOWEtZl0rPicsCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShyZS5tYXRjaCgnPEZvb1woYW5fYXR0cj08XC5cLlwuPlwpIGF0IHJlbW90ZSAweC0/WzAtOWEtZl0rPicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZGJfcmVwciksCiAgICAgICAgICAgICAgICAgICAgICAgICAnVW5leHBlY3RlZCBnZGIgcmVwcmVzZW50YXRpb246ICVyXG4lcycgJSBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGdkYl9yZXByLCBnZGJfb3V0cHV0KSkKQEAgLTQ4MCw3ICs0ODAsNyBAQAogYS5hbl9hdHRyID0gYgogYi5hbl9hdHRyID0gYQogaWQoYSknJycpCi0gICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShyZS5tYXRjaCgnPEZvb1woYW5fYXR0cj08Rm9vXChhbl9hdHRyPTxcLlwuXC4+XCkgYXQgcmVtb3RlIDB4WzAtOWEtZl0rPlwpIGF0IHJlbW90ZSAweFswLTlhLWZdKz4nLAorICAgICAgICBzZWxmLmFzc2VydFRydWUocmUubWF0Y2goJzxGb29cKGFuX2F0dHI9PEZvb1woYW5fYXR0cj08XC5cLlwuPlwpIGF0IHJlbW90ZSAweC0/WzAtOWEtZl0rPlwpIGF0IHJlbW90ZSAweC0/WzAtOWEtZl0rPicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZGJfcmVwciksCiAgICAgICAgICAgICAgICAgICAgICAgICAnVW5leHBlY3RlZCBnZGIgcmVwcmVzZW50YXRpb246ICVyXG4lcycgJSBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGdkYl9yZXByLCBnZGJfb3V0cHV0KSkKQEAgLTUxNSw3ICs1MTUsNyBAQAogCiAgICAgZGVmIHRlc3RfYnVpbHRpbl9tZXRob2Qoc2VsZik6CiAgICAgICAgIGdkYl9yZXByLCBnZGJfb3V0cHV0ID0gc2VsZi5nZXRfZ2RiX3JlcHIoJ2ltcG9ydCBzeXM7IGlkKHN5cy5zdGRvdXQucmVhZGxpbmVzKScpCi0gICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShyZS5tYXRjaCgnPGJ1aWx0LWluIG1ldGhvZCByZWFkbGluZXMgb2YgX2lvLlRleHRJT1dyYXBwZXIgb2JqZWN0IGF0IHJlbW90ZSAweFswLTlhLWZdKz4nLAorICAgICAgICBzZWxmLmFzc2VydFRydWUocmUubWF0Y2goJzxidWlsdC1pbiBtZXRob2QgcmVhZGxpbmVzIG9mIF9pby5UZXh0SU9XcmFwcGVyIG9iamVjdCBhdCByZW1vdGUgMHgtP1swLTlhLWZdKz4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2RiX3JlcHIpLAogICAgICAgICAgICAgICAgICAgICAgICAgJ1VuZXhwZWN0ZWQgZ2RiIHJlcHJlc2VudGF0aW9uOiAlclxuJXMnICUgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIChnZGJfcmVwciwgZ2RiX291dHB1dCkpCkBAIC01MzAsNyArNTMwLDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrcG9pbnQ9J2J1aWx0aW5faWQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY21kc19hZnRlcl9icmVha3BvaW50PVsncHJpbnQgKFB5RnJhbWVPYmplY3QqKSgoKFB5Q29kZU9iamVjdCopdiktPmNvX3pvbWJpZWZyYW1lKSddCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCi0gICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShyZS5tYXRjaCgnLipccytcJDEgPVxzK0ZyYW1lIDB4WzAtOWEtZl0rLCBmb3IgZmlsZSA8c3RyaW5nPiwgbGluZSAzLCBpbiBmb28gXChcKVxzKy4qJywKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHJlLm1hdGNoKCcuKlxzK1wkMSA9XHMrRnJhbWUgMHgtP1swLTlhLWZdKywgZm9yIGZpbGUgPHN0cmluZz4sIGxpbmUgMywgaW4gZm9vIFwoXClccysuKicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZGJfb3V0cHV0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmUuRE9UQUxMKSwKICAgICAgICAgICAgICAgICAgICAgICAgICdVbmV4cGVjdGVkIGdkYiByZXByZXNlbnRhdGlvbjogJXJcbiVzJyAlIChnZGJfb3V0cHV0LCBnZGJfb3V0cHV0KSkKQEAgLTU4Nyw3ICs1ODcsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNtZHNfYWZ0ZXJfYnJlYWtwb2ludD1bJ3B5LXVwJ10pCiAgICAgICAgIHNlbGYuYXNzZXJ0TXVsdGlsaW5lTWF0Y2hlcyhidCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHInJydeLioKLSNbMC05XSsgRnJhbWUgMHhbMC05YS1mXSssIGZvciBmaWxlIC4qZ2RiX3NhbXBsZS5weSwgbGluZSA3LCBpbiBiYXIgXChhPTEsIGI9MiwgYz0zXCkKKyNbMC05XSsgRnJhbWUgMHgtP1swLTlhLWZdKywgZm9yIGZpbGUgLipnZGJfc2FtcGxlLnB5LCBsaW5lIDcsIGluIGJhciBcKGE9MSwgYj0yLCBjPTNcKQogICAgIGJhelwoYSwgYiwgY1wpCiAkJycnKQogCkBAIC02MTYsOSArNjE2LDkgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbWRzX2FmdGVyX2JyZWFrcG9pbnQ9WydweS11cCcsICdweS1kb3duJ10pCiAgICAgICAgIHNlbGYuYXNzZXJ0TXVsdGlsaW5lTWF0Y2hlcyhidCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHInJydeLioKLSNbMC05XSsgRnJhbWUgMHhbMC05YS1mXSssIGZvciBmaWxlIC4qZ2RiX3NhbXBsZS5weSwgbGluZSA3LCBpbiBiYXIgXChhPTEsIGI9MiwgYz0zXCkKKyNbMC05XSsgRnJhbWUgMHgtP1swLTlhLWZdKywgZm9yIGZpbGUgLipnZGJfc2FtcGxlLnB5LCBsaW5lIDcsIGluIGJhciBcKGE9MSwgYj0yLCBjPTNcKQogICAgIGJhelwoYSwgYiwgY1wpCi0jWzAtOV0rIEZyYW1lIDB4WzAtOWEtZl0rLCBmb3IgZmlsZSAuKmdkYl9zYW1wbGUucHksIGxpbmUgMTAsIGluIGJheiBcKGFyZ3M9XCgxLCAyLCAzXClcKQorI1swLTldKyBGcmFtZSAweC0/WzAtOWEtZl0rLCBmb3IgZmlsZSAuKmdkYl9zYW1wbGUucHksIGxpbmUgMTAsIGluIGJheiBcKGFyZ3M9XCgxLCAyLCAzXClcKQogICAgIGlkXCg0MlwpCiAkJycnKQogCkBAIC02NTAsMTEgKzY1MCwxMSBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNtZHNfYWZ0ZXJfYnJlYWtwb2ludD1bJ3B5LWJ0LWZ1bGwnXSkKICAgICAgICAgc2VsZi5hc3NlcnRNdWx0aWxpbmVNYXRjaGVzKGJ0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcicnJ14uKgotI1swLTldKyBGcmFtZSAweFswLTlhLWZdKywgZm9yIGZpbGUgLipnZGJfc2FtcGxlLnB5LCBsaW5lIDcsIGluIGJhciBcKGE9MSwgYj0yLCBjPTNcKQorI1swLTldKyBGcmFtZSAweC0/WzAtOWEtZl0rLCBmb3IgZmlsZSAuKmdkYl9zYW1wbGUucHksIGxpbmUgNywgaW4gYmFyIFwoYT0xLCBiPTIsIGM9M1wpCiAgICAgYmF6XChhLCBiLCBjXCkKLSNbMC05XSsgRnJhbWUgMHhbMC05YS1mXSssIGZvciBmaWxlIC4qZ2RiX3NhbXBsZS5weSwgbGluZSA0LCBpbiBmb28gXChhPTEsIGI9MiwgYz0zXCkKKyNbMC05XSsgRnJhbWUgMHgtP1swLTlhLWZdKywgZm9yIGZpbGUgLipnZGJfc2FtcGxlLnB5LCBsaW5lIDQsIGluIGZvbyBcKGE9MSwgYj0yLCBjPTNcKQogICAgIGJhclwoYSwgYiwgY1wpCi0jWzAtOV0rIEZyYW1lIDB4WzAtOWEtZl0rLCBmb3IgZmlsZSAuKmdkYl9zYW1wbGUucHksIGxpbmUgMTIsIGluIDxtb2R1bGU+IFwoXCkKKyNbMC05XSsgRnJhbWUgMHgtP1swLTlhLWZdKywgZm9yIGZpbGUgLipnZGJfc2FtcGxlLnB5LCBsaW5lIDEyLCBpbiA8bW9kdWxlPiBcKFwpCiAgICAgZm9vXCgxLCAyLCAzXCkKICcnJykKIApAQCAtNjkxLDcgKzY5MSw3IEBACiAgICAgICAgIGJ0ID0gc2VsZi5nZXRfc3RhY2tfdHJhY2Uoc2NyaXB0PXNlbGYuZ2V0X3NhbXBsZV9zY3JpcHQoKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbWRzX2FmdGVyX2JyZWFrcG9pbnQ9WydweS1wcmludCBsZW4nXSkKICAgICAgICAgc2VsZi5hc3NlcnRNdWx0aWxpbmVNYXRjaGVzKGJ0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgciIuKlxuYnVpbHRpbiAnbGVuJyA9IDxidWlsdC1pbiBtZXRob2QgbGVuIG9mIG1vZHVsZSBvYmplY3QgYXQgcmVtb3RlIDB4WzAtOWEtZl0rPlxuLioiKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgciIuKlxuYnVpbHRpbiAnbGVuJyA9IDxidWlsdC1pbiBtZXRob2QgbGVuIG9mIG1vZHVsZSBvYmplY3QgYXQgcmVtb3RlIDB4LT9bMC05YS1mXSs+XG4uKiIpCiAKIGNsYXNzIFB5TG9jYWxzVGVzdHMoRGVidWdnZXJUZXN0cyk6CiAgICAgQHVuaXR0ZXN0LnNraXBJZihweXRob25faXNfb3B0aW1pemVkKCksCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2dlbmVyYXRvcnMucHkgYi9MaWIvdGVzdC90ZXN0X2dlbmVyYXRvcnMucHkKaW5kZXggNWY0N2IzZS4uMDZmNjdjMiAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9nZW5lcmF0b3JzLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfZ2VuZXJhdG9ycy5weQpAQCAtNzI4LDI5ICs3MjgsNiBAQAogCiBzeW50YXhfdGVzdHMgPSAiIiIKIAotPj4+IGRlZiBmKCk6Ci0uLi4gICAgIHJldHVybiAyMgotLi4uICAgICB5aWVsZCAxCi1UcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6Ci0gIC4uCi1TeW50YXhFcnJvcjogJ3JldHVybicgd2l0aCBhcmd1bWVudCBpbnNpZGUgZ2VuZXJhdG9yCi0KLT4+PiBkZWYgZigpOgotLi4uICAgICB5aWVsZCAxCi0uLi4gICAgIHJldHVybiAyMgotVHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOgotICAuLgotU3ludGF4RXJyb3I6ICdyZXR1cm4nIHdpdGggYXJndW1lbnQgaW5zaWRlIGdlbmVyYXRvcgotCi0icmV0dXJuIE5vbmUiIGlzIG5vdCB0aGUgc2FtZSBhcyAicmV0dXJuIiBpbiBhIGdlbmVyYXRvcjoKLQotPj4+IGRlZiBmKCk6Ci0uLi4gICAgIHlpZWxkIDEKLS4uLiAgICAgcmV0dXJuIE5vbmUKLVRyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KToKLSAgLi4KLVN5bnRheEVycm9yOiAncmV0dXJuJyB3aXRoIGFyZ3VtZW50IGluc2lkZSBnZW5lcmF0b3IKLQogVGhlc2UgYXJlIGZpbmU6CiAKID4+PiBkZWYgZigpOgpAQCAtODY2LDIwICs4NDMsNiBAQAogPj4+IHR5cGUoZigpKQogPGNsYXNzICdnZW5lcmF0b3InPgogCi0KLT4+PiBkZWYgZigpOgotLi4uICAgICBpZiAwOgotLi4uICAgICAgICAgbGFtYmRhIHg6ICB4ICAgICAgICAjIHNob3VsZG4ndCB0cmlnZ2VyIGhlcmUKLS4uLiAgICAgICAgIHJldHVybiAgICAgICAgICAgICAgIyBvciBoZXJlCi0uLi4gICAgICAgICBkZWYgZihpKToKLS4uLiAgICAgICAgICAgICByZXR1cm4gMippICAgICAgIyBvciBoZXJlCi0uLi4gICAgICAgICBpZiAwOgotLi4uICAgICAgICAgICAgIHJldHVybiAzICAgICAgICAjIGJ1dCAqdGhpcyogc3Vja3MgKGxpbmUgOCkKLS4uLiAgICAgaWYgMDoKLS4uLiAgICAgICAgIHlpZWxkIDIgICAgICAgICAgICAgIyBiZWNhdXNlIGl0J3MgYSBnZW5lcmF0b3IgKGxpbmUgMTApCi1UcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6Ci1TeW50YXhFcnJvcjogJ3JldHVybicgd2l0aCBhcmd1bWVudCBpbnNpZGUgZ2VuZXJhdG9yCi0KIFRoaXMgb25lIGNhdXNlZCBhIGNyYXNoIChzZWUgU0YgYnVnIDU2NzUzOCk6CiAKID4+PiBkZWYgZigpOgpAQCAtMTU2NiwxMSArMTUyOSw2IEBACiAgIC4uLgogU3ludGF4RXJyb3I6ICd5aWVsZCcgb3V0c2lkZSBmdW5jdGlvbgogCi0+Pj4gZGVmIGYoKTogcmV0dXJuIGxhbWJkYSB4PSh5aWVsZCk6IDEKLVRyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KToKLSAgLi4uCi1TeW50YXhFcnJvcjogJ3JldHVybicgd2l0aCBhcmd1bWVudCBpbnNpZGUgZ2VuZXJhdG9yCi0KID4+PiBkZWYgZigpOiB4ID0geWllbGQgPSB5CiBUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CiAgIC4uLgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9nZW5lcmljcGF0aC5weSBiL0xpYi90ZXN0L3Rlc3RfZ2VuZXJpY3BhdGgucHkKaW5kZXggNTA2MzhhMS4uZWJiODM5NiAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9nZW5lcmljcGF0aC5weQorKysgYi9MaWIvdGVzdC90ZXN0X2dlbmVyaWNwYXRoLnB5CkBAIC0yLDExICsyLDEyIEBACiBUZXN0cyBjb21tb24gdG8gZ2VuZXJpY3BhdGgsIG1hY3BhdGgsIG50cGF0aCBhbmQgcG9zaXhwYXRoCiAiIiIKIAotaW1wb3J0IHVuaXR0ZXN0Ci1mcm9tIHRlc3QgaW1wb3J0IHN1cHBvcnQKLWltcG9ydCBvcwogaW1wb3J0IGdlbmVyaWNwYXRoCitpbXBvcnQgb3MKIGltcG9ydCBzeXMKK2ltcG9ydCB1bml0dGVzdAoraW1wb3J0IHdhcm5pbmdzCitmcm9tIHRlc3QgaW1wb3J0IHN1cHBvcnQKIAogCiBkZWYgc2FmZV9ybWRpcihkaXJuYW1lKToKQEAgLTI1OCwxNSArMjU5LDIxIEBACiAKICAgICBkZWYgdGVzdF9hYnNwYXRoKHNlbGYpOgogICAgICAgICBzZWxmLmFzc2VydEluKCJmb28iLCBzZWxmLnBhdGhtb2R1bGUuYWJzcGF0aCgiZm9vIikpCi0gICAgICAgIHNlbGYuYXNzZXJ0SW4oYiJmb28iLCBzZWxmLnBhdGhtb2R1bGUuYWJzcGF0aChiImZvbyIpKQorICAgICAgICB3aXRoIHdhcm5pbmdzLmNhdGNoX3dhcm5pbmdzKCk6CisgICAgICAgICAgICB3YXJuaW5ncy5zaW1wbGVmaWx0ZXIoImlnbm9yZSIsIERlcHJlY2F0aW9uV2FybmluZykKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4oYiJmb28iLCBzZWxmLnBhdGhtb2R1bGUuYWJzcGF0aChiImZvbyIpKQogCiAgICAgICAgICMgQWJzcGF0aCByZXR1cm5zIGJ5dGVzIHdoZW4gdGhlIGFyZyBpcyBieXRlcwotICAgICAgICBmb3IgcGF0aCBpbiAoYicnLCBiJ2ZvbycsIGInZlx4ZjJceGYyJywgYicvZm9vJywgYidDOlxcJyk6Ci0gICAgICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2Uoc2VsZi5wYXRobW9kdWxlLmFic3BhdGgocGF0aCksIGJ5dGVzKQorICAgICAgICB3aXRoIHdhcm5pbmdzLmNhdGNoX3dhcm5pbmdzKCk6CisgICAgICAgICAgICB3YXJuaW5ncy5zaW1wbGVmaWx0ZXIoImlnbm9yZSIsIERlcHJlY2F0aW9uV2FybmluZykKKyAgICAgICAgICAgIGZvciBwYXRoIGluIChiJycsIGInZm9vJywgYidmXHhmMlx4ZjInLCBiJy9mb28nLCBiJ0M6XFwnKToKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2Uoc2VsZi5wYXRobW9kdWxlLmFic3BhdGgocGF0aCksIGJ5dGVzKQogCiAgICAgZGVmIHRlc3RfcmVhbHBhdGgoc2VsZik6CiAgICAgICAgIHNlbGYuYXNzZXJ0SW4oImZvbyIsIHNlbGYucGF0aG1vZHVsZS5yZWFscGF0aCgiZm9vIikpCi0gICAgICAgIHNlbGYuYXNzZXJ0SW4oYiJmb28iLCBzZWxmLnBhdGhtb2R1bGUucmVhbHBhdGgoYiJmb28iKSkKKyAgICAgICAgd2l0aCB3YXJuaW5ncy5jYXRjaF93YXJuaW5ncygpOgorICAgICAgICAgICAgd2FybmluZ3Muc2ltcGxlZmlsdGVyKCJpZ25vcmUiLCBEZXByZWNhdGlvbldhcm5pbmcpCisgICAgICAgICAgICBzZWxmLmFzc2VydEluKGIiZm9vIiwgc2VsZi5wYXRobW9kdWxlLnJlYWxwYXRoKGIiZm9vIikpCiAKICAgICBkZWYgdGVzdF9ub3JtcGF0aF9pc3N1ZTU4Mjcoc2VsZik6CiAgICAgICAgICMgTWFrZSBzdXJlIG5vcm1wYXRoIHByZXNlcnZlcyB1bmljb2RlCkBAIC0yOTYsOCArMzAzLDEwIEBACiAgICAgICAgICJNYWMgT1MgWCBkZW5pZXMgdGhlIGNyZWF0aW9uIG9mIGEgZGlyZWN0b3J5IHdpdGggYW4gaW52YWxpZCB1dGY4IG5hbWUiKQogICAgIGRlZiB0ZXN0X25vbmFzY2lpX2Fic3BhdGgoc2VsZik6CiAgICAgICAgICMgVGVzdCBub24tQVNDSUksIG5vbi1VVEY4IGJ5dGVzIGluIHRoZSBwYXRoLgotICAgICAgICB3aXRoIHN1cHBvcnQudGVtcF9jd2QoYidceGU3d1x4ZjAnKToKLSAgICAgICAgICAgIHNlbGYudGVzdF9hYnNwYXRoKCkKKyAgICAgICAgd2l0aCB3YXJuaW5ncy5jYXRjaF93YXJuaW5ncygpOgorICAgICAgICAgICAgd2FybmluZ3Muc2ltcGxlZmlsdGVyKCJpZ25vcmUiLCBEZXByZWNhdGlvbldhcm5pbmcpCisgICAgICAgICAgICB3aXRoIHN1cHBvcnQudGVtcF9jd2QoYidceGU3d1x4ZjAnKToKKyAgICAgICAgICAgICAgICBzZWxmLnRlc3RfYWJzcGF0aCgpCiAKIAogZGVmIHRlc3RfbWFpbigpOgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9nZW5leHBzLnB5IGIvTGliL3Rlc3QvdGVzdF9nZW5leHBzLnB5CmluZGV4IDFmNDZhZjEuLjQxMzA0M2MgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfZ2VuZXhwcy5weQorKysgYi9MaWIvdGVzdC90ZXN0X2dlbmV4cHMucHkKQEAgLTI1NywxMSArMjU3LDE1IEBACiAKICIiIgogCitpbXBvcnQgc3lzCiAKLV9fdGVzdF9fID0geydkb2N0ZXN0cycgOiBkb2N0ZXN0c30KKyMgVHJhY2UgZnVuY3Rpb24gY2FuIHRocm93IG9mZiB0aGUgdHVwbGUgcmV1c2UgdGVzdC4KK2lmIGhhc2F0dHIoc3lzLCAnZ2V0dHJhY2UnKSBhbmQgc3lzLmdldHRyYWNlKCk6CisgICAgX190ZXN0X18gPSB7fQorZWxzZToKKyAgICBfX3Rlc3RfXyA9IHsnZG9jdGVzdHMnIDogZG9jdGVzdHN9CiAKIGRlZiB0ZXN0X21haW4odmVyYm9zZT1Ob25lKToKLSAgICBpbXBvcnQgc3lzCiAgICAgZnJvbSB0ZXN0IGltcG9ydCBzdXBwb3J0CiAgICAgZnJvbSB0ZXN0IGltcG9ydCB0ZXN0X2dlbmV4cHMKICAgICBzdXBwb3J0LnJ1bl9kb2N0ZXN0KHRlc3RfZ2VuZXhwcywgdmVyYm9zZSkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfZ2V0YXJnczIucHkgYi9MaWIvdGVzdC90ZXN0X2dldGFyZ3MyLnB5CmluZGV4IDNkOWMwNmEuLjc2OGVhOGQgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfZ2V0YXJnczIucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9nZXRhcmdzMi5weQpAQCAtMjk0LDYgKzI5NCwxNSBAQAogICAgICAgICAgICAgc2VsZi5mYWlsKCdUeXBlRXJyb3Igc2hvdWxkIGhhdmUgYmVlbiByYWlzZWQnKQogCiBjbGFzcyBCeXRlc19UZXN0Q2FzZSh1bml0dGVzdC5UZXN0Q2FzZSk6CisgICAgZGVmIHRlc3RfYyhzZWxmKToKKyAgICAgICAgZnJvbSBfdGVzdGNhcGkgaW1wb3J0IGdldGFyZ3NfYworICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGdldGFyZ3NfYywgYidhYmMnKSAgIyBsZW4gPiAxCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZ2V0YXJnc19jKGInYScpLCBiJ2EnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGdldGFyZ3NfYyhieXRlYXJyYXkoYidhJykpLCBiJ2EnKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGdldGFyZ3NfYywgbWVtb3J5dmlldyhiJ2EnKSkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBnZXRhcmdzX2MsICdzJykKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBnZXRhcmdzX2MsIE5vbmUpCisKICAgICBkZWYgdGVzdF9zKHNlbGYpOgogICAgICAgICBmcm9tIF90ZXN0Y2FwaSBpbXBvcnQgZ2V0YXJnc19zCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZ2V0YXJnc19zKCdhYmNceGU5JyksIGInYWJjXHhjM1x4YTknKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9nbG9iLnB5IGIvTGliL3Rlc3QvdGVzdF9nbG9iLnB5CmluZGV4IDE1NjBhNmIuLjZlZTA4ZGIgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfZ2xvYi5weQorKysgYi9MaWIvdGVzdC90ZXN0X2dsb2IucHkKQEAgLTEsNSArMSw2IEBACiBpbXBvcnQgdW5pdHRlc3QKLWZyb20gdGVzdC5zdXBwb3J0IGltcG9ydCBydW5fdW5pdHRlc3QsIFRFU1RGTiwgc2tpcF91bmxlc3Nfc3ltbGluaywgY2FuX3N5bWxpbmsKK2Zyb20gdGVzdC5zdXBwb3J0IGltcG9ydCAocnVuX3VuaXR0ZXN0LCBURVNURk4sIHNraXBfdW5sZXNzX3N5bWxpbmssCisgICAgY2FuX3N5bWxpbmssIGNyZWF0ZV9lbXB0eV9maWxlKQogaW1wb3J0IGdsb2IKIGltcG9ydCBvcwogaW1wb3J0IHNodXRpbApAQCAtMTQsOCArMTUsNyBAQAogICAgICAgICBiYXNlLCBmaWxlID0gb3MucGF0aC5zcGxpdChmaWxlbmFtZSkKICAgICAgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKGJhc2UpOgogICAgICAgICAgICAgb3MubWFrZWRpcnMoYmFzZSkKLSAgICAgICAgZiA9IG9wZW4oZmlsZW5hbWUsICd3JykKLSAgICAgICAgZi5jbG9zZSgpCisgICAgICAgIGNyZWF0ZV9lbXB0eV9maWxlKGZpbGVuYW1lKQogCiAgICAgZGVmIHNldFVwKHNlbGYpOgogICAgICAgICBzZWxmLnRlbXBkaXIgPSBURVNURk4rIl9kaXIiCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2dyYW1tYXIucHkgYi9MaWIvdGVzdC90ZXN0X2dyYW1tYXIucHkKaW5kZXggMjY4YTYzMy4uNmIzMjZiZCAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9ncmFtbWFyLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfZ3JhbW1hci5weQpAQCAtMTAsNyArMTAsNyBAQAogCiBjbGFzcyBUb2tlblRlc3RzKHVuaXR0ZXN0LlRlc3RDYXNlKToKIAotICAgIGRlZiB0ZXN0QmFja3NsYXNoKHNlbGYpOgorICAgIGRlZiB0ZXN0X2JhY2tzbGFzaChzZWxmKToKICAgICAgICAgIyBCYWNrc2xhc2ggbWVhbnMgbGluZSBjb250aW51YXRpb246CiAgICAgICAgIHggPSAxIFwKICAgICAgICAgKyAxCkBAIC0yMCw3ICsyMCw3IEBACiAgICAgICAgIHggPSAwCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoeCwgMCwgJ2JhY2tzbGFzaCBlbmRpbmcgY29tbWVudCcpCiAKLSAgICBkZWYgdGVzdFBsYWluSW50ZWdlcnMoc2VsZik6CisgICAgZGVmIHRlc3RfcGxhaW5faW50ZWdlcnMoc2VsZik6CiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodHlwZSgwMDApLCB0eXBlKDApKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKDB4ZmYsIDI1NSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgwbzM3NywgMjU1KQpAQCAtNTYsNyArNTYsNyBAQAogICAgICAgICBlbHNlOgogICAgICAgICAgICAgc2VsZi5mYWlsKCdXZWlyZCBtYXhzaXplIHZhbHVlICVyJyAlIG1heHNpemUpCiAKLSAgICBkZWYgdGVzdExvbmdJbnRlZ2VycyhzZWxmKToKKyAgICBkZWYgdGVzdF9sb25nX2ludGVnZXJzKHNlbGYpOgogICAgICAgICB4ID0gMAogICAgICAgICB4ID0gMHhmZmZmZmZmZmZmZmZmZmZmCiAgICAgICAgIHggPSAwWGZmZmZmZmZmZmZmZmZmZmYKQEAgLTY2LDcgKzY2LDcgQEAKICAgICAgICAgeCA9IDBiMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCiAgICAgICAgIHggPSAwQjExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMQogCi0gICAgZGVmIHRlc3RGbG9hdHMoc2VsZik6CisgICAgZGVmIHRlc3RfZmxvYXRzKHNlbGYpOgogICAgICAgICB4ID0gMy4xNAogICAgICAgICB4ID0gMzE0LgogICAgICAgICB4ID0gMC4zMTQKQEAgLTgwLDcgKzgwLDcgQEAKICAgICAgICAgeCA9IC4zZTE0CiAgICAgICAgIHggPSAzLjFlNAogCi0gICAgZGVmIHRlc3RTdHJpbmdMaXRlcmFscyhzZWxmKToKKyAgICBkZWYgdGVzdF9zdHJpbmdfbGl0ZXJhbHMoc2VsZik6CiAgICAgICAgIHggPSAnJzsgeSA9ICIiOyBzZWxmLmFzc2VydFRydWUobGVuKHgpID09IDAgYW5kIHggPT0geSkKICAgICAgICAgeCA9ICdcJyc7IHkgPSAiJyI7IHNlbGYuYXNzZXJ0VHJ1ZShsZW4oeCkgPT0gMSBhbmQgeCA9PSB5IGFuZCBvcmQoeCkgPT0gMzkpCiAgICAgICAgIHggPSAnIic7IHkgPSAiXCIiOyBzZWxmLmFzc2VydFRydWUobGVuKHgpID09IDEgYW5kIHggPT0geSBhbmQgb3JkKHgpID09IDM0KQpAQCAtMTIwLDExICsxMjAsMTggQEAKICcKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh4LCB5KQogCi0gICAgZGVmIHRlc3RFbGxpcHNpcyhzZWxmKToKKyAgICBkZWYgdGVzdF9lbGxpcHNpcyhzZWxmKToKICAgICAgICAgeCA9IC4uLgogICAgICAgICBzZWxmLmFzc2VydFRydWUoeCBpcyBFbGxpcHNpcykKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoU3ludGF4RXJyb3IsIGV2YWwsICIuLiAuIikKIAorICAgIGRlZiB0ZXN0X2VvZl9lcnJvcihzZWxmKToKKyAgICAgICAgc2FtcGxlcyA9ICgiZGVmIGZvbygiLCAiXG5kZWYgZm9vKCIsICJkZWYgZm9vKFxuIikKKyAgICAgICAgZm9yIHMgaW4gc2FtcGxlczoKKyAgICAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoU3ludGF4RXJyb3IpIGFzIGNtOgorICAgICAgICAgICAgICAgIGNvbXBpbGUocywgIjx0ZXN0PiIsICJleGVjIikKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4oInVuZXhwZWN0ZWQgRU9GIiwgc3RyKGNtLmV4Y2VwdGlvbikpCisKIGNsYXNzIEdyYW1tYXJUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAKICAgICAjIHNpbmdsZV9pbnB1dDogTkVXTElORSB8IHNpbXBsZV9zdG10IHwgY29tcG91bmRfc3RtdCBORVdMSU5FCkBAIC0xMzYsMTEgKzE0MywxMSBAQAogICAgICMgZXhwcl9pbnB1dDogdGVzdGxpc3QgTkVXTElORQogICAgICMgWFhYIEhhcmQgdG8gdGVzdCAtLSB1c2VkIG9ubHkgaW4gY2FsbHMgdG8gaW5wdXQoKQogCi0gICAgZGVmIHRlc3RFdmFsSW5wdXQoc2VsZik6CisgICAgZGVmIHRlc3RfZXZhbF9pbnB1dChzZWxmKToKICAgICAgICAgIyB0ZXN0bGlzdCBFTkRNQVJLRVIKICAgICAgICAgeCA9IGV2YWwoJzEsIDAgb3IgMScpCiAKLSAgICBkZWYgdGVzdEZ1bmNkZWYoc2VsZik6CisgICAgZGVmIHRlc3RfZnVuY2RlZihzZWxmKToKICAgICAgICAgIyMjIFtkZWNvcmF0b3JzXSAnZGVmJyBOQU1FIHBhcmFtZXRlcnMgWyctPicgdGVzdF0gJzonIHN1aXRlCiAgICAgICAgICMjIyBkZWNvcmF0b3I6ICdAJyBkb3R0ZWRfbmFtZSBbICcoJyBbYXJnbGlzdF0gJyknIF0gTkVXTElORQogICAgICAgICAjIyMgZGVjb3JhdG9yczogZGVjb3JhdG9yKwpAQCAtMzI0LDcgKzMzMSw3IEBACiAgICAgICAgIGNoZWNrX3N5bnRheF9lcnJvcihzZWxmLCAiZigqZygxPTIpKSIpCiAgICAgICAgIGNoZWNrX3N5bnRheF9lcnJvcihzZWxmLCAiZigqKmcoMT0yKSkiKQogCi0gICAgZGVmIHRlc3RMYW1iZGVmKHNlbGYpOgorICAgIGRlZiB0ZXN0X2xhbWJkZWYoc2VsZik6CiAgICAgICAgICMjIyBsYW1iZGVmOiAnbGFtYmRhJyBbdmFyYXJnc2xpc3RdICc6JyB0ZXN0CiAgICAgICAgIGwxID0gbGFtYmRhIDogMAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGwxKCksIDApCkBAIC0zNDYsNyArMzUzLDcgQEAKICAgICAjIyMgc3RtdDogc2ltcGxlX3N0bXQgfCBjb21wb3VuZF9zdG10CiAgICAgIyBUZXN0ZWQgYmVsb3cKIAotICAgIGRlZiB0ZXN0U2ltcGxlU3RtdChzZWxmKToKKyAgICBkZWYgdGVzdF9zaW1wbGVfc3RtdChzZWxmKToKICAgICAgICAgIyMjIHNpbXBsZV9zdG10OiBzbWFsbF9zdG10ICgnOycgc21hbGxfc3RtdCkqIFsnOyddCiAgICAgICAgIHggPSAxOyBwYXNzOyBkZWwgeAogICAgICAgICBkZWYgZm9vKCk6CkBAIC0zNTcsNyArMzY0LDcgQEAKICAgICAjIyMgc21hbGxfc3RtdDogZXhwcl9zdG10IHwgcGFzc19zdG10IHwgZGVsX3N0bXQgfCBmbG93X3N0bXQgfCBpbXBvcnRfc3RtdCB8IGdsb2JhbF9zdG10IHwgYWNjZXNzX3N0bXQKICAgICAjIFRlc3RlZCBiZWxvdwogCi0gICAgZGVmIHRlc3RFeHByU3RtdChzZWxmKToKKyAgICBkZWYgdGVzdF9leHByX3N0bXQoc2VsZik6CiAgICAgICAgICMgKGV4cHJsaXN0ICc9JykqIGV4cHJsaXN0CiAgICAgICAgIDEKICAgICAgICAgMSwgMiwgMwpAQCAtMzcwLDcgKzM3Nyw3IEBACiAgICAgICAgIGNoZWNrX3N5bnRheF9lcnJvcihzZWxmLCAieCArIDEgPSAxIikKICAgICAgICAgY2hlY2tfc3ludGF4X2Vycm9yKHNlbGYsICJhICsgMSA9IGIgKyAyIikKIAotICAgIGRlZiB0ZXN0RGVsU3RtdChzZWxmKToKKyAgICBkZWYgdGVzdF9kZWxfc3RtdChzZWxmKToKICAgICAgICAgIyAnZGVsJyBleHBybGlzdAogICAgICAgICBhYmMgPSBbMSwyLDNdCiAgICAgICAgIHgsIHksIHogPSBhYmMKQEAgLTM3OSwxOCArMzg2LDE4IEBACiAgICAgICAgIGRlbCBhYmMKICAgICAgICAgZGVsIHgsIHksICh6LCB4eXopCiAKLSAgICBkZWYgdGVzdFBhc3NTdG10KHNlbGYpOgorICAgIGRlZiB0ZXN0X3Bhc3Nfc3RtdChzZWxmKToKICAgICAgICAgIyAncGFzcycKICAgICAgICAgcGFzcwogCiAgICAgIyBmbG93X3N0bXQ6IGJyZWFrX3N0bXQgfCBjb250aW51ZV9zdG10IHwgcmV0dXJuX3N0bXQgfCByYWlzZV9zdG10CiAgICAgIyBUZXN0ZWQgYmVsb3cKIAotICAgIGRlZiB0ZXN0QnJlYWtTdG10KHNlbGYpOgorICAgIGRlZiB0ZXN0X2JyZWFrX3N0bXQoc2VsZik6CiAgICAgICAgICMgJ2JyZWFrJwogICAgICAgICB3aGlsZSAxOiBicmVhawogCi0gICAgZGVmIHRlc3RDb250aW51ZVN0bXQoc2VsZik6CisgICAgZGVmIHRlc3RfY29udGludWVfc3RtdChzZWxmKToKICAgICAgICAgIyAnY29udGludWUnCiAgICAgICAgIGkgPSAxCiAgICAgICAgIHdoaWxlIGk6IGkgPSAwOyBjb250aW51ZQpAQCAtNDQyLDcgKzQ0OSw3IEBACiAgICAgICAgICAgICAgICAgc2VsZi5mYWlsKCJjb250aW51ZSB0aGVuIGJyZWFrIGluIHRyeS9leGNlcHQgaW4gbG9vcCBicm9rZW4hIikKICAgICAgICAgdGVzdF9pbm5lcigpCiAKLSAgICBkZWYgdGVzdFJldHVybihzZWxmKToKKyAgICBkZWYgdGVzdF9yZXR1cm4oc2VsZik6CiAgICAgICAgICMgJ3JldHVybicgW3Rlc3RsaXN0XQogICAgICAgICBkZWYgZzEoKTogcmV0dXJuCiAgICAgICAgIGRlZiBnMigpOiByZXR1cm4gMQpAQCAtNDUwLDE3ICs0NTcsNDkgQEAKICAgICAgICAgeCA9IGcyKCkKICAgICAgICAgY2hlY2tfc3ludGF4X2Vycm9yKHNlbGYsICJjbGFzcyBmb286cmV0dXJuIDEiKQogCi0gICAgZGVmIHRlc3RZaWVsZChzZWxmKToKKyAgICBkZWYgdGVzdF95aWVsZChzZWxmKToKKyAgICAgICAgIyBBbGxvd2VkIGFzIHN0YW5kYWxvbmUgc3RhdGVtZW50CisgICAgICAgIGRlZiBnKCk6IHlpZWxkIDEKKyAgICAgICAgZGVmIGcoKTogeWllbGQgZnJvbSAoKQorICAgICAgICAjIEFsbG93ZWQgYXMgUkhTIG9mIGFzc2lnbm1lbnQKKyAgICAgICAgZGVmIGcoKTogeCA9IHlpZWxkIDEKKyAgICAgICAgZGVmIGcoKTogeCA9IHlpZWxkIGZyb20gKCkKKyAgICAgICAgIyBPcmRpbmFyeSB5aWVsZCBhY2NlcHRzIGltcGxpY2l0IHR1cGxlcworICAgICAgICBkZWYgZygpOiB5aWVsZCAxLCAxCisgICAgICAgIGRlZiBnKCk6IHggPSB5aWVsZCAxLCAxCisgICAgICAgICMgJ3lpZWxkIGZyb20nIGRvZXMgbm90CisgICAgICAgIGNoZWNrX3N5bnRheF9lcnJvcihzZWxmLCAiZGVmIGcoKTogeWllbGQgZnJvbSAoKSwgMSIpCisgICAgICAgIGNoZWNrX3N5bnRheF9lcnJvcihzZWxmLCAiZGVmIGcoKTogeCA9IHlpZWxkIGZyb20gKCksIDEiKQorICAgICAgICAjIFJlcXVpcmVzIHBhcmVudGhlc2VzIGFzIHN1YmV4cHJlc3Npb24KKyAgICAgICAgZGVmIGcoKTogMSwgKHlpZWxkIDEpCisgICAgICAgIGRlZiBnKCk6IDEsICh5aWVsZCBmcm9tICgpKQorICAgICAgICBjaGVja19zeW50YXhfZXJyb3Ioc2VsZiwgImRlZiBnKCk6IDEsIHlpZWxkIDEiKQorICAgICAgICBjaGVja19zeW50YXhfZXJyb3Ioc2VsZiwgImRlZiBnKCk6IDEsIHlpZWxkIGZyb20gKCkiKQorICAgICAgICAjIFJlcXVpcmVzIHBhcmVudGhlc2VzIGFzIGNhbGwgYXJndW1lbnQKKyAgICAgICAgZGVmIGcoKTogZigoeWllbGQgMSkpCisgICAgICAgIGRlZiBnKCk6IGYoKHlpZWxkIDEpLCAxKQorICAgICAgICBkZWYgZygpOiBmKCh5aWVsZCBmcm9tICgpKSkKKyAgICAgICAgZGVmIGcoKTogZigoeWllbGQgZnJvbSAoKSksIDEpCisgICAgICAgIGNoZWNrX3N5bnRheF9lcnJvcihzZWxmLCAiZGVmIGcoKTogZih5aWVsZCAxKSIpCisgICAgICAgIGNoZWNrX3N5bnRheF9lcnJvcihzZWxmLCAiZGVmIGcoKTogZih5aWVsZCAxLCAxKSIpCisgICAgICAgIGNoZWNrX3N5bnRheF9lcnJvcihzZWxmLCAiZGVmIGcoKTogZih5aWVsZCBmcm9tICgpKSIpCisgICAgICAgIGNoZWNrX3N5bnRheF9lcnJvcihzZWxmLCAiZGVmIGcoKTogZih5aWVsZCBmcm9tICgpLCAxKSIpCisgICAgICAgICMgTm90IGFsbG93ZWQgYXQgdG9wIGxldmVsCisgICAgICAgIGNoZWNrX3N5bnRheF9lcnJvcihzZWxmLCAieWllbGQiKQorICAgICAgICBjaGVja19zeW50YXhfZXJyb3Ioc2VsZiwgInlpZWxkIGZyb20iKQorICAgICAgICAjIE5vdCBhbGxvd2VkIGF0IGNsYXNzIHNjb3BlCiAgICAgICAgIGNoZWNrX3N5bnRheF9lcnJvcihzZWxmLCAiY2xhc3MgZm9vOnlpZWxkIDEiKQorICAgICAgICBjaGVja19zeW50YXhfZXJyb3Ioc2VsZiwgImNsYXNzIGZvbzp5aWVsZCBmcm9tICgpIikKIAotICAgIGRlZiB0ZXN0UmFpc2Uoc2VsZik6CisKKyAgICBkZWYgdGVzdF9yYWlzZShzZWxmKToKICAgICAgICAgIyAncmFpc2UnIHRlc3QgWycsJyB0ZXN0XQogICAgICAgICB0cnk6IHJhaXNlIFJ1bnRpbWVFcnJvcignanVzdCB0ZXN0aW5nJykKICAgICAgICAgZXhjZXB0IFJ1bnRpbWVFcnJvcjogcGFzcwogICAgICAgICB0cnk6IHJhaXNlIEtleWJvYXJkSW50ZXJydXB0CiAgICAgICAgIGV4Y2VwdCBLZXlib2FyZEludGVycnVwdDogcGFzcwogCi0gICAgZGVmIHRlc3RJbXBvcnQoc2VsZik6CisgICAgZGVmIHRlc3RfaW1wb3J0KHNlbGYpOgogICAgICAgICAjICdpbXBvcnQnIGRvdHRlZF9hc19uYW1lcwogICAgICAgICBpbXBvcnQgc3lzCiAgICAgICAgIGltcG9ydCB0aW1lLCBzeXMKQEAgLTQ3MywxMyArNTEyLDEzIEBACiAgICAgICAgIGZyb20gc3lzIGltcG9ydCAocGF0aCwgYXJndikKICAgICAgICAgZnJvbSBzeXMgaW1wb3J0IChwYXRoLCBhcmd2LCkKIAotICAgIGRlZiB0ZXN0R2xvYmFsKHNlbGYpOgorICAgIGRlZiB0ZXN0X2dsb2JhbChzZWxmKToKICAgICAgICAgIyAnZ2xvYmFsJyBOQU1FICgnLCcgTkFNRSkqCiAgICAgICAgIGdsb2JhbCBhCiAgICAgICAgIGdsb2JhbCBhLCBiCiAgICAgICAgIGdsb2JhbCBvbmUsIHR3bywgdGhyZWUsIGZvdXIsIGZpdmUsIHNpeCwgc2V2ZW4sIGVpZ2h0LCBuaW5lLCB0ZW4KIAotICAgIGRlZiB0ZXN0Tm9ubG9jYWwoc2VsZik6CisgICAgZGVmIHRlc3Rfbm9ubG9jYWwoc2VsZik6CiAgICAgICAgICMgJ25vbmxvY2FsJyBOQU1FICgnLCcgTkFNRSkqCiAgICAgICAgIHggPSAwCiAgICAgICAgIHkgPSAwCkBAIC00ODcsNyArNTI2LDcgQEAKICAgICAgICAgICAgIG5vbmxvY2FsIHgKICAgICAgICAgICAgIG5vbmxvY2FsIHgsIHkKIAotICAgIGRlZiB0ZXN0QXNzZXJ0KHNlbGYpOgorICAgIGRlZiB0ZXN0X2Fzc2VydChzZWxmKToKICAgICAgICAgIyBhc3NlcnRUcnVlc3RtdDogJ2Fzc2VydCcgdGVzdCBbJywnIHRlc3RdCiAgICAgICAgIGFzc2VydCAxCiAgICAgICAgIGFzc2VydCAxLCAxCkBAIC01MjYsNyArNTY1LDcgQEAKICAgICAjIyMgY29tcG91bmRfc3RtdDogaWZfc3RtdCB8IHdoaWxlX3N0bXQgfCBmb3Jfc3RtdCB8IHRyeV9zdG10IHwgZnVuY2RlZiB8IGNsYXNzZGVmCiAgICAgIyBUZXN0ZWQgYmVsb3cKIAotICAgIGRlZiB0ZXN0SWYoc2VsZik6CisgICAgZGVmIHRlc3RfaWYoc2VsZik6CiAgICAgICAgICMgJ2lmJyB0ZXN0ICc6JyBzdWl0ZSAoJ2VsaWYnIHRlc3QgJzonIHN1aXRlKSogWydlbHNlJyAnOicgc3VpdGVdCiAgICAgICAgIGlmIDE6IHBhc3MKICAgICAgICAgaWYgMTogcGFzcwpAQCAtNTM5LDcgKzU3OCw3IEBACiAgICAgICAgIGVsaWYgMDogcGFzcwogICAgICAgICBlbHNlOiBwYXNzCiAKLSAgICBkZWYgdGVzdFdoaWxlKHNlbGYpOgorICAgIGRlZiB0ZXN0X3doaWxlKHNlbGYpOgogICAgICAgICAjICd3aGlsZScgdGVzdCAnOicgc3VpdGUgWydlbHNlJyAnOicgc3VpdGVdCiAgICAgICAgIHdoaWxlIDA6IHBhc3MKICAgICAgICAgd2hpbGUgMDogcGFzcwpAQCAtNTU0LDcgKzU5Myw3IEBACiAgICAgICAgICAgICB4ID0gMgogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHgsIDIpCiAKLSAgICBkZWYgdGVzdEZvcihzZWxmKToKKyAgICBkZWYgdGVzdF9mb3Ioc2VsZik6CiAgICAgICAgICMgJ2ZvcicgZXhwcmxpc3QgJ2luJyBleHBybGlzdCAnOicgc3VpdGUgWydlbHNlJyAnOicgc3VpdGVdCiAgICAgICAgIGZvciBpIGluIDEsIDIsIDM6IHBhc3MKICAgICAgICAgZm9yIGksIGosIGsgaW4gKCk6IHBhc3MKQEAgLTU4MSw3ICs2MjAsNyBAQAogICAgICAgICAgICAgcmVzdWx0LmFwcGVuZCh4KQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlc3VsdCwgWzEsIDIsIDNdKQogCi0gICAgZGVmIHRlc3RUcnkoc2VsZik6CisgICAgZGVmIHRlc3RfdHJ5KHNlbGYpOgogICAgICAgICAjIyMgdHJ5X3N0bXQ6ICd0cnknICc6JyBzdWl0ZSAoZXhjZXB0X2NsYXVzZSAnOicgc3VpdGUpKyBbJ2Vsc2UnICc6JyBzdWl0ZV0KICAgICAgICAgIyMjICAgICAgICAgfCAndHJ5JyAnOicgc3VpdGUgJ2ZpbmFsbHknICc6JyBzdWl0ZQogICAgICAgICAjIyMgZXhjZXB0X2NsYXVzZTogJ2V4Y2VwdCcgW2V4cHIgWydhcycgZXhwcl1dCkBAIC02MDQsNyArNjQzLDcgQEAKICAgICAgICAgdHJ5OiBwYXNzCiAgICAgICAgIGZpbmFsbHk6IHBhc3MKIAotICAgIGRlZiB0ZXN0U3VpdGUoc2VsZik6CisgICAgZGVmIHRlc3Rfc3VpdGUoc2VsZik6CiAgICAgICAgICMgc2ltcGxlX3N0bXQgfCBORVdMSU5FIElOREVOVCBORVdMSU5FKiAoc3RtdCBORVdMSU5FKikrIERFREVOVAogICAgICAgICBpZiAxOiBwYXNzCiAgICAgICAgIGlmIDE6CkBAIC02MTksNyArNjU4LDcgQEAKICAgICAgICAgICAgIHBhc3MKICAgICAgICAgICAgICMKIAotICAgIGRlZiB0ZXN0VGVzdChzZWxmKToKKyAgICBkZWYgdGVzdF90ZXN0KHNlbGYpOgogICAgICAgICAjIyMgYW5kX3Rlc3QgKCdvcicgYW5kX3Rlc3QpKgogICAgICAgICAjIyMgYW5kX3Rlc3Q6IG5vdF90ZXN0ICgnYW5kJyBub3RfdGVzdCkqCiAgICAgICAgICMjIyBub3RfdGVzdDogJ25vdCcgbm90X3Rlc3QgfCBjb21wYXJpc29uCkBAIC02MzAsNyArNjY5LDcgQEAKICAgICAgICAgaWYgbm90IDEgYW5kIDEgYW5kIDE6IHBhc3MKICAgICAgICAgaWYgMSBhbmQgMSBvciAxIGFuZCAxIGFuZCAxIG9yIG5vdCAxIGFuZCAxOiBwYXNzCiAKLSAgICBkZWYgdGVzdENvbXBhcmlzb24oc2VsZik6CisgICAgZGVmIHRlc3RfY29tcGFyaXNvbihzZWxmKToKICAgICAgICAgIyMjIGNvbXBhcmlzb246IGV4cHIgKGNvbXBfb3AgZXhwcikqCiAgICAgICAgICMjIyBjb21wX29wOiAnPCd8Jz4nfCc9PSd8Jz49J3wnPD0nfCchPSd8J2luJ3wnbm90JyAnaW4nfCdpcyd8J2lzJyAnbm90JwogICAgICAgICBpZiAxOiBwYXNzCkBAIC02NDcsMzYgKzY4NiwzNiBAQAogICAgICAgICBpZiAxIG5vdCBpbiAoKTogcGFzcwogICAgICAgICBpZiAxIDwgMSA+IDEgPT0gMSA+PSAxIDw9IDEgIT0gMSBpbiAxIG5vdCBpbiAxIGlzIDEgaXMgbm90IDE6IHBhc3MKIAotICAgIGRlZiB0ZXN0QmluYXJ5TWFza09wcyhzZWxmKToKKyAgICBkZWYgdGVzdF9iaW5hcnlfbWFza19vcHMoc2VsZik6CiAgICAgICAgIHggPSAxICYgMQogICAgICAgICB4ID0gMSBeIDEKICAgICAgICAgeCA9IDEgfCAxCiAKLSAgICBkZWYgdGVzdFNoaWZ0T3BzKHNlbGYpOgorICAgIGRlZiB0ZXN0X3NoaWZ0X29wcyhzZWxmKToKICAgICAgICAgeCA9IDEgPDwgMQogICAgICAgICB4ID0gMSA+PiAxCiAgICAgICAgIHggPSAxIDw8IDEgPj4gMQogCi0gICAgZGVmIHRlc3RBZGRpdGl2ZU9wcyhzZWxmKToKKyAgICBkZWYgdGVzdF9hZGRpdGl2ZV9vcHMoc2VsZik6CiAgICAgICAgIHggPSAxCiAgICAgICAgIHggPSAxICsgMQogICAgICAgICB4ID0gMSAtIDEgLSAxCiAgICAgICAgIHggPSAxIC0gMSArIDEgLSAxICsgMQogCi0gICAgZGVmIHRlc3RNdWx0aXBsaWNhdGl2ZU9wcyhzZWxmKToKKyAgICBkZWYgdGVzdF9tdWx0aXBsaWNhdGl2ZV9vcHMoc2VsZik6CiAgICAgICAgIHggPSAxICogMQogICAgICAgICB4ID0gMSAvIDEKICAgICAgICAgeCA9IDEgJSAxCiAgICAgICAgIHggPSAxIC8gMSAqIDEgJSAxCiAKLSAgICBkZWYgdGVzdFVuYXJ5T3BzKHNlbGYpOgorICAgIGRlZiB0ZXN0X3VuYXJ5X29wcyhzZWxmKToKICAgICAgICAgeCA9ICsxCiAgICAgICAgIHggPSAtMQogICAgICAgICB4ID0gfjEKICAgICAgICAgeCA9IH4xIF4gMSAmIDEgfCAxICYgMSBeIC0xCiAgICAgICAgIHggPSAtMSoxLzEgKyAxKjEgLSAtLS0xKjEKIAotICAgIGRlZiB0ZXN0U2VsZWN0b3JzKHNlbGYpOgorICAgIGRlZiB0ZXN0X3NlbGVjdG9ycyhzZWxmKToKICAgICAgICAgIyMjIHRyYWlsZXI6ICcoJyBbdGVzdGxpc3RdICcpJyB8ICdbJyBzdWJzY3JpcHQgJ10nIHwgJy4nIE5BTUUKICAgICAgICAgIyMjIHN1YnNjcmlwdDogZXhwciB8IFtleHByXSAnOicgW2V4cHJdCiAKQEAgLTcwNiw3ICs3NDUsNyBAQAogICAgICAgICBMLnNvcnQoa2V5PWxhbWJkYSB4OiB4IGlmIGlzaW5zdGFuY2UoeCwgdHVwbGUpIGVsc2UgKCkpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKEwpLCAnWzEsICgxLCksICgxLCAyKSwgKDEsIDIsIDMpXScpCiAKLSAgICBkZWYgdGVzdEF0b21zKHNlbGYpOgorICAgIGRlZiB0ZXN0X2F0b21zKHNlbGYpOgogICAgICAgICAjIyMgYXRvbTogJygnIFt0ZXN0bGlzdF0gJyknIHwgJ1snIFt0ZXN0bGlzdF0gJ10nIHwgJ3snIFtkaWN0c2V0bWFrZXJdICd9JyB8IE5BTUUgfCBOVU1CRVIgfCBTVFJJTkcKICAgICAgICAgIyMjIGRpY3RzZXRtYWtlcjogKHRlc3QgJzonIHRlc3QgKCcsJyB0ZXN0ICc6JyB0ZXN0KSogWycsJ10pIHwgKHRlc3QgKCcsJyB0ZXN0KSogWycsJ10pCiAKQEAgLTc0MSw3ICs3ODAsNyBAQAogICAgICMjIyB0ZXN0bGlzdDogdGVzdCAoJywnIHRlc3QpKiBbJywnXQogICAgICMgVGhlc2UgaGF2ZSBiZWVuIGV4ZXJjaXNlZCBlbm91Z2ggYWJvdmUKIAotICAgIGRlZiB0ZXN0Q2xhc3NkZWYoc2VsZik6CisgICAgZGVmIHRlc3RfY2xhc3NkZWYoc2VsZik6CiAgICAgICAgICMgJ2NsYXNzJyBOQU1FIFsnKCcgW3Rlc3RsaXN0XSAnKSddICc6JyBzdWl0ZQogICAgICAgICBjbGFzcyBCOiBwYXNzCiAgICAgICAgIGNsYXNzIEIyKCk6IHBhc3MKQEAgLTc2MCwxNCArNzk5LDE0IEBACiAgICAgICAgIEBjbGFzc19kZWNvcmF0b3IKICAgICAgICAgY2xhc3MgRzogcGFzcwogCi0gICAgZGVmIHRlc3REaWN0Y29tcHMoc2VsZik6CisgICAgZGVmIHRlc3RfZGljdGNvbXBzKHNlbGYpOgogICAgICAgICAjIGRpY3RvcnNldG1ha2VyOiAoICh0ZXN0ICc6JyB0ZXN0IChjb21wX2ZvciB8CiAgICAgICAgICMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgnLCcgdGVzdCAnOicgdGVzdCkqIFsnLCddKSkgfAogICAgICAgICAjICAgICAgICAgICAgICAgICAgICh0ZXN0IChjb21wX2ZvciB8ICgnLCcgdGVzdCkqIFsnLCddKSkgKQogICAgICAgICBudW1zID0gWzEsIDIsIDNdCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoe2k6aSsxIGZvciBpIGluIG51bXN9LCB7MTogMiwgMjogMywgMzogNH0pCiAKLSAgICBkZWYgdGVzdExpc3Rjb21wcyhzZWxmKToKKyAgICBkZWYgdGVzdF9saXN0Y29tcHMoc2VsZik6CiAgICAgICAgICMgbGlzdCBjb21wcmVoZW5zaW9uIHRlc3RzCiAgICAgICAgIG51bXMgPSBbMSwgMiwgMywgNCwgNV0KICAgICAgICAgc3RycyA9IFsiQXBwbGUiLCAiQmFuYW5hIiwgIkNvY29udXQiXQpAQCAtODMwLDcgKzg2OSw3IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoeCwgWygnQm9laW5nJywgJ0FpcmxpbmVyJyksICgnQm9laW5nJywgJ0VuZ2luZScpLCAoJ0ZvcmQnLCAnRW5naW5lJyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgnTWFjZG9uYWxkcycsICdDaGVlc2VidXJnZXInKV0pCiAKLSAgICBkZWYgdGVzdEdlbmV4cHMoc2VsZik6CisgICAgZGVmIHRlc3RfZ2VuZXhwcyhzZWxmKToKICAgICAgICAgIyBnZW5lcmF0b3IgZXhwcmVzc2lvbiB0ZXN0cwogICAgICAgICBnID0gKFt4IGZvciB4IGluIHJhbmdlKDEwKV0gZm9yIHggaW4gcmFuZ2UoMSkpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobmV4dChnKSwgW3ggZm9yIHggaW4gcmFuZ2UoMTApXSkKQEAgLTg2NSw3ICs5MDQsNyBAQAogICAgICAgICBjaGVja19zeW50YXhfZXJyb3Ioc2VsZiwgImZvbyh4IGZvciB4IGluIHJhbmdlKDEwKSwgMTAwKSIpCiAgICAgICAgIGNoZWNrX3N5bnRheF9lcnJvcihzZWxmLCAiZm9vKDEwMCwgeCBmb3IgeCBpbiByYW5nZSgxMCkpIikKIAotICAgIGRlZiB0ZXN0Q29tcHJlaGVuc2lvblNwZWNpYWxzKHNlbGYpOgorICAgIGRlZiB0ZXN0X2NvbXByZWhlbnNpb25fc3BlY2lhbHMoc2VsZik6CiAgICAgICAgICMgdGVzdCBmb3Igb3V0bW9zdCBpdGVyYWJsZSBwcmVjb21wdXRhdGlvbgogICAgICAgICB4ID0gMTA7IGcgPSAoaSBmb3IgaSBpbiByYW5nZSh4KSk7IHggPSA1CiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGxpc3QoZykpLCAxMCkKQEAgLTkwNCw3ICs5NDMsNyBAQAogICAgICAgICB3aXRoIG1hbmFnZXIoKSBhcyB4LCBtYW5hZ2VyKCk6CiAgICAgICAgICAgICBwYXNzCiAKLSAgICBkZWYgdGVzdElmRWxzZUV4cHIoc2VsZik6CisgICAgZGVmIHRlc3RfaWZfZWxzZV9leHByKHNlbGYpOgogICAgICAgICAjIFRlc3QgaWZlbHNlIGV4cHJlc3Npb25zIGluIHZhcmlvdXMgY2FzZXMKICAgICAgICAgZGVmIF9jaGVja2V2YWwobXNnLCByZXQpOgogICAgICAgICAgICAgImhlbHBlciB0byBjaGVjayB0aGF0IGV2YWx1YXRpb24gb2YgZXhwcmVzc2lvbnMgaXMgZG9uZSBjb3JyZWN0bHkiCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2d6aXAucHkgYi9MaWIvdGVzdC90ZXN0X2d6aXAucHkKaW5kZXggNWFlNzQ2Ny4uZDJiNDg3MSAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9nemlwLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfZ3ppcC5weQpAQCAtNjQsNiArNjQsMjEgQEAKICAgICAgICAgICAgIGQgPSBmLnJlYWQoKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGQsIGRhdGExKjUwKQogCisgICAgZGVmIHRlc3RfcmVhZDEoc2VsZik6CisgICAgICAgIHNlbGYudGVzdF93cml0ZSgpCisgICAgICAgIGJsb2NrcyA9IFtdCisgICAgICAgIG5yZWFkID0gMAorICAgICAgICB3aXRoIGd6aXAuR3ppcEZpbGUoc2VsZi5maWxlbmFtZSwgJ3InKSBhcyBmOgorICAgICAgICAgICAgd2hpbGUgVHJ1ZToKKyAgICAgICAgICAgICAgICBkID0gZi5yZWFkMSgpCisgICAgICAgICAgICAgICAgaWYgbm90IGQ6CisgICAgICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgICAgICAgICAgYmxvY2tzLmFwcGVuZChkKQorICAgICAgICAgICAgICAgIG5yZWFkICs9IGxlbihkKQorICAgICAgICAgICAgICAgICMgQ2hlY2sgdGhhdCBwb3NpdGlvbiB3YXMgdXBkYXRlZCBjb3JyZWN0bHkgKHNlZSBpc3N1ZTEwNzkxKS4KKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGYudGVsbCgpLCBucmVhZCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiJycuam9pbihibG9ja3MpLCBkYXRhMSAqIDUwKQorCiAgICAgZGVmIHRlc3RfaW9fb25fY2xvc2VkX29iamVjdChzZWxmKToKICAgICAgICAgIyBUZXN0IHRoYXQgSS9PIG9wZXJhdGlvbnMgb24gY2xvc2VkIEd6aXBGaWxlIG9iamVjdHMgcmFpc2UgYQogICAgICAgICAjIFZhbHVlRXJyb3IsIGp1c3QgbGlrZSB0aGUgY29ycmVzcG9uZGluZyBmdW5jdGlvbnMgb24gZmlsZSBvYmplY3RzLgpAQCAtMTI0LDcgKzEzOSw3IEBACiAgICAgICAgICAgICB3aXRoIGlvLkJ1ZmZlcmVkUmVhZGVyKGYpIGFzIHI6CiAgICAgICAgICAgICAgICAgbGluZXMgPSBbbGluZSBmb3IgbGluZSBpbiByXQogCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGluZXMsIDUwICogZGF0YTEuc3BsaXRsaW5lcyhUcnVlKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsaW5lcywgNTAgKiBkYXRhMS5zcGxpdGxpbmVzKGtlZXBlbmRzPVRydWUpKQogCiAgICAgZGVmIHRlc3RfcmVhZGxpbmUoc2VsZik6CiAgICAgICAgIHNlbGYudGVzdF93cml0ZSgpCkBAIC0zMjMsNiArMzM4LDE0IEBACiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGYucmVhZCgxMDApLCBiJycpCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG5yZWFkLCBsZW4odW5jb21wcmVzc2VkKSkKIAorICAgIGRlZiB0ZXN0X3RleHRpb19yZWFkbGluZXMoc2VsZik6CisgICAgICAgICMgSXNzdWUgIzEwNzkxOiBUZXh0SU9XcmFwcGVyLnJlYWRsaW5lcygpIGZhaWxzIHdoZW4gd3JhcHBpbmcgR3ppcEZpbGUuCisgICAgICAgIGxpbmVzID0gKGRhdGExICogNTApLmRlY29kZSgiYXNjaWkiKS5zcGxpdGxpbmVzKGtlZXBlbmRzPVRydWUpCisgICAgICAgIHNlbGYudGVzdF93cml0ZSgpCisgICAgICAgIHdpdGggZ3ppcC5HemlwRmlsZShzZWxmLmZpbGVuYW1lLCAncicpIGFzIGY6CisgICAgICAgICAgICB3aXRoIGlvLlRleHRJT1dyYXBwZXIoZiwgZW5jb2Rpbmc9ImFzY2lpIikgYXMgdDoKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHQucmVhZGxpbmVzKCksIGxpbmVzKQorCiAgICAgZGVmIHRlc3RfZmlsZW9ial9mcm9tX2Zkb3BlbihzZWxmKToKICAgICAgICAgIyBJc3N1ZSAjMTM3ODE6IE9wZW5pbmcgYSBHemlwRmlsZSBmb3Igd3JpdGluZyBmYWlscyB3aGVuIHVzaW5nIGEKICAgICAgICAgIyBmaWxlb2JqIGNyZWF0ZWQgd2l0aCBvcy5mZG9wZW4oKS4KZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfaGFzaC5weSBiL0xpYi90ZXN0L3Rlc3RfaGFzaC5weQppbmRleCBjMGRkMzRkLi4wNzc2Nzc5IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2hhc2gucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9oYXNoLnB5CkBAIC0xMTMsOCArMTEzLDcgQEAKICAgICAgICAgcmV0dXJuIHNlbGYuc2VxW2luZGV4XQogCiBjbGFzcyBIYXNoQnVpbHRpbnNUZXN0Q2FzZSh1bml0dGVzdC5UZXN0Q2FzZSk6Ci0gICAgaGFzaGVzX3RvX2NoZWNrID0gW3JhbmdlKDEwKSwKLSAgICAgICAgICAgICAgICAgICAgICAgZW51bWVyYXRlKHJhbmdlKDEwKSksCisgICAgaGFzaGVzX3RvX2NoZWNrID0gW2VudW1lcmF0ZShyYW5nZSgxMCkpLAogICAgICAgICAgICAgICAgICAgICAgICBpdGVyKERlZmF1bHRJdGVyU2VxKCkpLAogICAgICAgICAgICAgICAgICAgICAgICBpdGVyKGxhbWJkYTogMCwgMCksCiAgICAgICAgICAgICAgICAgICAgICAgXQpAQCAtMTYwLDggKzE1OSw4IEBACiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBrbm93bl9oYXNoX29mX29iaiA9IC0xNjAwOTI1NTMzCiAKLSAgICAgICAgIyBSYW5kb21pemF0aW9uIGlzIGRpc2FibGVkIGJ5IGRlZmF1bHQ6Ci0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5nZXRfaGFzaChzZWxmLnJlcHJfKSwga25vd25faGFzaF9vZl9vYmopCisgICAgICAgICMgUmFuZG9taXphdGlvbiBpcyBlbmFibGVkIGJ5IGRlZmF1bHQ6CisgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwoc2VsZi5nZXRfaGFzaChzZWxmLnJlcHJfKSwga25vd25faGFzaF9vZl9vYmopCiAKICAgICAgICAgIyBJdCBjYW4gYWxzbyBiZSBkaXNhYmxlZCBieSBzZXR0aW5nIHRoZSBzZWVkIHRvIDA6CiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5nZXRfaGFzaChzZWxmLnJlcHJfLCBzZWVkPTApLCBrbm93bl9oYXNoX29mX29iaikKQEAgLTE5Myw2ICsxOTIsMTIgQEAKICAgICBkZWYgdGVzdF9lbXB0eV9zdHJpbmcoc2VsZik6CiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaGFzaChiIiIpLCAwKQogCitjbGFzcyBNZW1vcnl2aWV3SGFzaFJhbmRvbWl6YXRpb25UZXN0cyhTdHJpbmdsaWtlSGFzaFJhbmRvbWl6YXRpb25UZXN0cyk6CisgICAgcmVwcl8gPSAibWVtb3J5dmlldyhiJ2FiYycpIgorCisgICAgZGVmIHRlc3RfZW1wdHlfc3RyaW5nKHNlbGYpOgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGhhc2gobWVtb3J5dmlldyhiIiIpKSwgMCkKKwogY2xhc3MgRGF0ZXRpbWVUZXN0cyhIYXNoUmFuZG9taXphdGlvblRlc3RzKToKICAgICBkZWYgZ2V0X2hhc2hfY29tbWFuZChzZWxmLCByZXByXyk6CiAgICAgICAgIHJldHVybiAnaW1wb3J0IGRhdGV0aW1lOyBwcmludChoYXNoKCVzKSknICUgcmVwcl8KQEAgLTIxMyw2ICsyMTgsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgIEhhc2hCdWlsdGluc1Rlc3RDYXNlLAogICAgICAgICAgICAgICAgICAgICAgICAgIFN0ckhhc2hSYW5kb21pemF0aW9uVGVzdHMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgQnl0ZXNIYXNoUmFuZG9taXphdGlvblRlc3RzLAorICAgICAgICAgICAgICAgICAgICAgICAgIE1lbW9yeXZpZXdIYXNoUmFuZG9taXphdGlvblRlc3RzLAogICAgICAgICAgICAgICAgICAgICAgICAgIERhdGV0aW1lRGF0ZVRlc3RzLAogICAgICAgICAgICAgICAgICAgICAgICAgIERhdGV0aW1lRGF0ZXRpbWVUZXN0cywKICAgICAgICAgICAgICAgICAgICAgICAgICBEYXRldGltZVRpbWVUZXN0cykKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfaHR0cF9jb29raWVqYXIucHkgYi9MaWIvdGVzdC90ZXN0X2h0dHBfY29va2llamFyLnB5CmluZGV4IDQxZTBkZmQuLmEzNWVjOTUgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfaHR0cF9jb29raWVqYXIucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9odHRwX2Nvb2tpZWphci5weQpAQCAtMjQ4LDE4ICsyNDgsMTkgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjLl9jb29raWVzWyJ3d3cuYWNtZS5jb20iXVsiLyJdWyJib28iXS52YWx1ZSwgTm9uZSkKIAogICAgIGRlZiB0ZXN0X2JhZF9tYWdpYyhzZWxmKToKLSAgICAgICAgIyBJT0Vycm9ycyAoZWcuIGZpbGUgZG9lc24ndCBleGlzdCkgYXJlIGFsbG93ZWQgdG8gcHJvcGFnYXRlCisgICAgICAgICMgT1NFcnJvcnMgKGVnLiBmaWxlIGRvZXNuJ3QgZXhpc3QpIGFyZSBhbGxvd2VkIHRvIHByb3BhZ2F0ZQogICAgICAgICBmaWxlbmFtZSA9IHRlc3Quc3VwcG9ydC5URVNURk4KICAgICAgICAgZm9yIGNvb2tpZWphcl9jbGFzcyBpbiBMV1BDb29raWVKYXIsIE1vemlsbGFDb29raWVKYXI6CiAgICAgICAgICAgICBjID0gY29va2llamFyX2NsYXNzKCkKICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICBjLmxvYWQoZmlsZW5hbWU9ImZvciB0aGlzIHRlc3QgdG8gd29yaywgYSBmaWxlIHdpdGggdGhpcyAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJmaWxlbmFtZSBzaG91bGQgbm90IGV4aXN0IikKLSAgICAgICAgICAgIGV4Y2VwdCBJT0Vycm9yIGFzIGV4YzoKLSAgICAgICAgICAgICAgICAjIGV4YWN0bHkgSU9FcnJvciwgbm90IExvYWRFcnJvcgotICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXMoZXhjLl9fY2xhc3NfXywgSU9FcnJvcikKKyAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGV4YzoKKyAgICAgICAgICAgICAgICAjIGFuIE9TRXJyb3Igc3ViY2xhc3MgKGxpa2VseSBGaWxlTm90Rm91bmRFcnJvciksIGJ1dCBub3QKKyAgICAgICAgICAgICAgICAjIExvYWRFcnJvcgorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXNOb3QoZXhjLl9fY2xhc3NfXywgTG9hZEVycm9yKQogICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBzZWxmLmZhaWwoImV4cGVjdGVkIElPRXJyb3IgZm9yIGludmFsaWQgZmlsZW5hbWUiKQorICAgICAgICAgICAgICAgIHNlbGYuZmFpbCgiZXhwZWN0ZWQgT1NFcnJvciBmb3IgaW52YWxpZCBmaWxlbmFtZSIpCiAgICAgICAgICMgSW52YWxpZCBjb250ZW50cyBvZiBjb29raWVzIGZpbGUgKGVnLiBiYWQgbWFnaWMgc3RyaW5nKQogICAgICAgICAjIGNhdXNlcyBhIExvYWRFcnJvci4KICAgICAgICAgdHJ5OgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9odHRwbGliLnB5IGIvTGliL3Rlc3QvdGVzdF9odHRwbGliLnB5CmluZGV4IGZmMDMzMjEuLjJhMGIzZTMgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfaHR0cGxpYi5weQorKysgYi9MaWIvdGVzdC90ZXN0X2h0dHBsaWIucHkKQEAgLTE1OCw2ICsxNTgsMjMgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXNwLnJlYWQoMiksIGIneHQnKQogICAgICAgICBzZWxmLmFzc2VydFRydWUocmVzcC5pc2Nsb3NlZCgpKQogCisgICAgZGVmIHRlc3RfcGFydGlhbF9yZWFkaW50b3Moc2VsZik6CisgICAgICAgICMgaWYgd2UgaGF2ZSBhIGxlbmdodCwgdGhlIHN5c3RlbSBrbm93cyB3aGVuIHRvIGNsb3NlIGl0c2VsZgorICAgICAgICAjIHNhbWUgYmVoYXZpb3VyIHRoYW4gd2hlbiB3ZSByZWFkIHRoZSB3aG9sZSB0aGluZyB3aXRoIHJlYWQoKQorICAgICAgICBib2R5ID0gIkhUVFAvMS4xIDIwMCBPa1xyXG5Db250ZW50LUxlbmd0aDogNFxyXG5cclxuVGV4dCIKKyAgICAgICAgc29jayA9IEZha2VTb2NrZXQoYm9keSkKKyAgICAgICAgcmVzcCA9IGNsaWVudC5IVFRQUmVzcG9uc2Uoc29jaykKKyAgICAgICAgcmVzcC5iZWdpbigpCisgICAgICAgIGIgPSBieXRlYXJyYXkoMikKKyAgICAgICAgbiA9IHJlc3AucmVhZGludG8oYikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChuLCAyKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJ5dGVzKGIpLCBiJ1RlJykKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShyZXNwLmlzY2xvc2VkKCkpCisgICAgICAgIG4gPSByZXNwLnJlYWRpbnRvKGIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobiwgMikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChieXRlcyhiKSwgYid4dCcpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShyZXNwLmlzY2xvc2VkKCkpCisKICAgICBkZWYgdGVzdF9ob3N0X3BvcnQoc2VsZik6CiAgICAgICAgICMgQ2hlY2sgaW52YWxpZCBob3N0X3BvcnQKIApAQCAtMjA2LDYgKzIyMywyMSBAQAogICAgICAgICBpZiByZXNwLnJlYWQoKToKICAgICAgICAgICAgIHNlbGYuZmFpbCgiRGlkIG5vdCBleHBlY3QgcmVzcG9uc2UgZnJvbSBIRUFEIHJlcXVlc3QiKQogCisgICAgZGVmIHRlc3RfcmVhZGludG9faGVhZChzZWxmKToKKyAgICAgICAgIyBUZXN0IHRoYXQgdGhlIGxpYnJhcnkgZG9lc24ndCBhdHRlbXB0IHRvIHJlYWQgYW55IGRhdGEKKyAgICAgICAgIyBmcm9tIGEgSEVBRCByZXF1ZXN0LiAgKFRpY2tsZXMgU0YgYnVnICM2MjIwNDIuKQorICAgICAgICBzb2NrID0gRmFrZVNvY2tldCgKKyAgICAgICAgICAgICdIVFRQLzEuMSAyMDAgT0tcclxuJworICAgICAgICAgICAgJ0NvbnRlbnQtTGVuZ3RoOiAxNDQzMlxyXG4nCisgICAgICAgICAgICAnXHJcbicsCisgICAgICAgICAgICBOb0VPRlN0cmluZ0lPKQorICAgICAgICByZXNwID0gY2xpZW50LkhUVFBSZXNwb25zZShzb2NrLCBtZXRob2Q9IkhFQUQiKQorICAgICAgICByZXNwLmJlZ2luKCkKKyAgICAgICAgYiA9IGJ5dGVhcnJheSg1KQorICAgICAgICBpZiByZXNwLnJlYWRpbnRvKGIpICE9IDA6CisgICAgICAgICAgICBzZWxmLmZhaWwoIkRpZCBub3QgZXhwZWN0IHJlc3BvbnNlIGZyb20gSEVBRCByZXF1ZXN0IikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChieXRlcyhiKSwgYidceDAwJyo1KQorCiAgICAgZGVmIHRlc3Rfc2VuZF9maWxlKHNlbGYpOgogICAgICAgICBleHBlY3RlZCA9IChiJ0dFVCAvZm9vIEhUVFAvMS4xXHJcbkhvc3Q6IGV4YW1wbGUuY29tXHJcbicKICAgICAgICAgICAgICAgICAgICAgYidBY2NlcHQtRW5jb2Rpbmc6IGlkZW50aXR5XHJcbkNvbnRlbnQtTGVuZ3RoOicpCkBAIC0yNjEsMTUgKzI5MywyOCBAQAogICAgICAgICAgICAgJ1RyYW5zZmVyLUVuY29kaW5nOiBjaHVua2VkXHJcblxyXG4nCiAgICAgICAgICAgICAnYVxyXG4nCiAgICAgICAgICAgICAnaGVsbG8gd29ybFxyXG4nCi0gICAgICAgICAgICAnMVxyXG4nCi0gICAgICAgICAgICAnZFxyXG4nCisgICAgICAgICAgICAnM1xyXG4nCisgICAgICAgICAgICAnZCEgXHJcbicKKyAgICAgICAgICAgICc4XHJcbicKKyAgICAgICAgICAgICdhbmQgbm93IFxyXG4nCisgICAgICAgICAgICAnMjJcclxuJworICAgICAgICAgICAgJ2ZvciBzb21ldGhpbmcgY29tcGxldGVseSBkaWZmZXJlbnRcclxuJwogICAgICAgICApCisgICAgICAgIGV4cGVjdGVkID0gYidoZWxsbyB3b3JsZCEgYW5kIG5vdyBmb3Igc29tZXRoaW5nIGNvbXBsZXRlbHkgZGlmZmVyZW50JwogICAgICAgICBzb2NrID0gRmFrZVNvY2tldChjaHVua2VkX3N0YXJ0ICsgJzBcclxuJykKICAgICAgICAgcmVzcCA9IGNsaWVudC5IVFRQUmVzcG9uc2Uoc29jaywgbWV0aG9kPSJHRVQiKQogICAgICAgICByZXNwLmJlZ2luKCkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXNwLnJlYWQoKSwgYidoZWxsbyB3b3JsZCcpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzcC5yZWFkKCksIGV4cGVjdGVkKQogICAgICAgICByZXNwLmNsb3NlKCkKIAorICAgICAgICAjIFZhcmlvdXMgcmVhZCBzaXplcworICAgICAgICBmb3IgbiBpbiByYW5nZSgxLCAxMik6CisgICAgICAgICAgICBzb2NrID0gRmFrZVNvY2tldChjaHVua2VkX3N0YXJ0ICsgJzBcclxuJykKKyAgICAgICAgICAgIHJlc3AgPSBjbGllbnQuSFRUUFJlc3BvbnNlKHNvY2ssIG1ldGhvZD0iR0VUIikKKyAgICAgICAgICAgIHJlc3AuYmVnaW4oKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXNwLnJlYWQobikgKyByZXNwLnJlYWQobikgKyByZXNwLnJlYWQoKSwgZXhwZWN0ZWQpCisgICAgICAgICAgICByZXNwLmNsb3NlKCkKKwogICAgICAgICBmb3IgeCBpbiAoJycsICdmb29cclxuJyk6CiAgICAgICAgICAgICBzb2NrID0gRmFrZVNvY2tldChjaHVua2VkX3N0YXJ0ICsgeCkKICAgICAgICAgICAgIHJlc3AgPSBjbGllbnQuSFRUUFJlc3BvbnNlKHNvY2ssIG1ldGhvZD0iR0VUIikKQEAgLTI3Nyw5ICszMjIsNjQgQEAKICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICByZXNwLnJlYWQoKQogICAgICAgICAgICAgZXhjZXB0IGNsaWVudC5JbmNvbXBsZXRlUmVhZCBhcyBpOgotICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaS5wYXJ0aWFsLCBiJ2hlbGxvIHdvcmxkJykKLSAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlcHIoaSksJ0luY29tcGxldGVSZWFkKDExIGJ5dGVzIHJlYWQpJykKLSAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cihpKSwnSW5jb21wbGV0ZVJlYWQoMTEgYnl0ZXMgcmVhZCknKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaS5wYXJ0aWFsLCBleHBlY3RlZCkKKyAgICAgICAgICAgICAgICBleHBlY3RlZF9tZXNzYWdlID0gJ0luY29tcGxldGVSZWFkKCVkIGJ5dGVzIHJlYWQpJyAlIGxlbihleHBlY3RlZCkKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlcHIoaSksIGV4cGVjdGVkX21lc3NhZ2UpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdHIoaSksIGV4cGVjdGVkX21lc3NhZ2UpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHNlbGYuZmFpbCgnSW5jb21wbGV0ZVJlYWQgZXhwZWN0ZWQnKQorICAgICAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgICAgICByZXNwLmNsb3NlKCkKKworICAgIGRlZiB0ZXN0X3JlYWRpbnRvX2NodW5rZWQoc2VsZik6CisgICAgICAgIGNodW5rZWRfc3RhcnQgPSAoCisgICAgICAgICAgICAnSFRUUC8xLjEgMjAwIE9LXHJcbicKKyAgICAgICAgICAgICdUcmFuc2Zlci1FbmNvZGluZzogY2h1bmtlZFxyXG5cclxuJworICAgICAgICAgICAgJ2FcclxuJworICAgICAgICAgICAgJ2hlbGxvIHdvcmxcclxuJworICAgICAgICAgICAgJzNcclxuJworICAgICAgICAgICAgJ2QhIFxyXG4nCisgICAgICAgICAgICAnOFxyXG4nCisgICAgICAgICAgICAnYW5kIG5vdyBcclxuJworICAgICAgICAgICAgJzIyXHJcbicKKyAgICAgICAgICAgICdmb3Igc29tZXRoaW5nIGNvbXBsZXRlbHkgZGlmZmVyZW50XHJcbicKKyAgICAgICAgKQorICAgICAgICBleHBlY3RlZCA9IGInaGVsbG8gd29ybGQhIGFuZCBub3cgZm9yIHNvbWV0aGluZyBjb21wbGV0ZWx5IGRpZmZlcmVudCcKKyAgICAgICAgbmV4cGVjdGVkID0gbGVuKGV4cGVjdGVkKQorICAgICAgICBiID0gYnl0ZWFycmF5KDEyOCkKKworICAgICAgICBzb2NrID0gRmFrZVNvY2tldChjaHVua2VkX3N0YXJ0ICsgJzBcclxuJykKKyAgICAgICAgcmVzcCA9IGNsaWVudC5IVFRQUmVzcG9uc2Uoc29jaywgbWV0aG9kPSJHRVQiKQorICAgICAgICByZXNwLmJlZ2luKCkKKyAgICAgICAgbiA9IHJlc3AucmVhZGludG8oYikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiWzpuZXhwZWN0ZWRdLCBleHBlY3RlZCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChuLCBuZXhwZWN0ZWQpCisgICAgICAgIHJlc3AuY2xvc2UoKQorCisgICAgICAgICMgVmFyaW91cyByZWFkIHNpemVzCisgICAgICAgIGZvciBuIGluIHJhbmdlKDEsIDEyKToKKyAgICAgICAgICAgIHNvY2sgPSBGYWtlU29ja2V0KGNodW5rZWRfc3RhcnQgKyAnMFxyXG4nKQorICAgICAgICAgICAgcmVzcCA9IGNsaWVudC5IVFRQUmVzcG9uc2Uoc29jaywgbWV0aG9kPSJHRVQiKQorICAgICAgICAgICAgcmVzcC5iZWdpbigpCisgICAgICAgICAgICBtID0gbWVtb3J5dmlldyhiKQorICAgICAgICAgICAgaSA9IHJlc3AucmVhZGludG8obVswOm5dKQorICAgICAgICAgICAgaSArPSByZXNwLnJlYWRpbnRvKG1baTpuICsgaV0pCisgICAgICAgICAgICBpICs9IHJlc3AucmVhZGludG8obVtpOl0pCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJbOm5leHBlY3RlZF0sIGV4cGVjdGVkKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChpLCBuZXhwZWN0ZWQpCisgICAgICAgICAgICByZXNwLmNsb3NlKCkKKworICAgICAgICBmb3IgeCBpbiAoJycsICdmb29cclxuJyk6CisgICAgICAgICAgICBzb2NrID0gRmFrZVNvY2tldChjaHVua2VkX3N0YXJ0ICsgeCkKKyAgICAgICAgICAgIHJlc3AgPSBjbGllbnQuSFRUUFJlc3BvbnNlKHNvY2ssIG1ldGhvZD0iR0VUIikKKyAgICAgICAgICAgIHJlc3AuYmVnaW4oKQorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIG4gPSByZXNwLnJlYWRpbnRvKGIpCisgICAgICAgICAgICBleGNlcHQgY2xpZW50LkluY29tcGxldGVSZWFkIGFzIGk6CisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChpLnBhcnRpYWwsIGV4cGVjdGVkKQorICAgICAgICAgICAgICAgIGV4cGVjdGVkX21lc3NhZ2UgPSAnSW5jb21wbGV0ZVJlYWQoJWQgYnl0ZXMgcmVhZCknICUgbGVuKGV4cGVjdGVkKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVwcihpKSwgZXhwZWN0ZWRfbWVzc2FnZSkKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cihpKSwgZXhwZWN0ZWRfbWVzc2FnZSkKICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgc2VsZi5mYWlsKCdJbmNvbXBsZXRlUmVhZCBleHBlY3RlZCcpCiAgICAgICAgICAgICBmaW5hbGx5OgpAQCAtMzAyLDYgKzQwMiwyNiBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlc3AucmVhc29uLCAnT0snKQogICAgICAgICBzZWxmLmFzc2VydFRydWUocmVzcC5pc2Nsb3NlZCgpKQogCisgICAgZGVmIHRlc3RfcmVhZGludG9fY2h1bmtlZF9oZWFkKHNlbGYpOgorICAgICAgICBjaHVua2VkX3N0YXJ0ID0gKAorICAgICAgICAgICAgJ0hUVFAvMS4xIDIwMCBPS1xyXG4nCisgICAgICAgICAgICAnVHJhbnNmZXItRW5jb2Rpbmc6IGNodW5rZWRcclxuXHJcbicKKyAgICAgICAgICAgICdhXHJcbicKKyAgICAgICAgICAgICdoZWxsbyB3b3JsZFxyXG4nCisgICAgICAgICAgICAnMVxyXG4nCisgICAgICAgICAgICAnZFxyXG4nCisgICAgICAgICkKKyAgICAgICAgc29jayA9IEZha2VTb2NrZXQoY2h1bmtlZF9zdGFydCArICcwXHJcbicpCisgICAgICAgIHJlc3AgPSBjbGllbnQuSFRUUFJlc3BvbnNlKHNvY2ssIG1ldGhvZD0iSEVBRCIpCisgICAgICAgIHJlc3AuYmVnaW4oKQorICAgICAgICBiID0gYnl0ZWFycmF5KDUpCisgICAgICAgIG4gPSByZXNwLnJlYWRpbnRvKGIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobiwgMCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChieXRlcyhiKSwgYidceDAwJyo1KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlc3Auc3RhdHVzLCAyMDApCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzcC5yZWFzb24sICdPSycpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShyZXNwLmlzY2xvc2VkKCkpCisKICAgICBkZWYgdGVzdF9uZWdhdGl2ZV9jb250ZW50X2xlbmd0aChzZWxmKToKICAgICAgICAgc29jayA9IEZha2VTb2NrZXQoCiAgICAgICAgICAgICAnSFRUUC8xLjEgMjAwIE9LXHJcbkNvbnRlbnQtTGVuZ3RoOiAtMVxyXG5cclxuSGVsbG9cclxuJykKQEAgLTUwOCw4ICs2MjgsNyBAQAogICAgIGRlZiB0ZXN0X2xvY2FsX2dvb2RfaG9zdG5hbWUoc2VsZik6CiAgICAgICAgICMgVGhlICh2YWxpZCkgY2VydCB2YWxpZGF0ZXMgdGhlIEhUVFAgaG9zdG5hbWUKICAgICAgICAgaW1wb3J0IHNzbAotICAgICAgICBmcm9tIHRlc3Quc3NsX3NlcnZlcnMgaW1wb3J0IG1ha2VfaHR0cHNfc2VydmVyCi0gICAgICAgIHNlcnZlciA9IG1ha2VfaHR0cHNfc2VydmVyKHNlbGYsIENFUlRfbG9jYWxob3N0KQorICAgICAgICBzZXJ2ZXIgPSBzZWxmLm1ha2Vfc2VydmVyKENFUlRfbG9jYWxob3N0KQogICAgICAgICBjb250ZXh0ID0gc3NsLlNTTENvbnRleHQoc3NsLlBST1RPQ09MX1RMU3YxKQogICAgICAgICBjb250ZXh0LnZlcmlmeV9tb2RlID0gc3NsLkNFUlRfUkVRVUlSRUQKICAgICAgICAgY29udGV4dC5sb2FkX3ZlcmlmeV9sb2NhdGlvbnMoQ0VSVF9sb2NhbGhvc3QpCkBAIC01MTcsMTIgKzYzNiwxMiBAQAogICAgICAgICBoLnJlcXVlc3QoJ0dFVCcsICcvbm9uZXhpc3RlbnQnKQogICAgICAgICByZXNwID0gaC5nZXRyZXNwb25zZSgpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzcC5zdGF0dXMsIDQwNCkKKyAgICAgICAgZGVsIHNlcnZlcgogCiAgICAgZGVmIHRlc3RfbG9jYWxfYmFkX2hvc3RuYW1lKHNlbGYpOgogICAgICAgICAjIFRoZSAodmFsaWQpIGNlcnQgZG9lc24ndCB2YWxpZGF0ZSB0aGUgSFRUUCBob3N0bmFtZQogICAgICAgICBpbXBvcnQgc3NsCi0gICAgICAgIGZyb20gdGVzdC5zc2xfc2VydmVycyBpbXBvcnQgbWFrZV9odHRwc19zZXJ2ZXIKLSAgICAgICAgc2VydmVyID0gbWFrZV9odHRwc19zZXJ2ZXIoc2VsZiwgQ0VSVF9mYWtlaG9zdG5hbWUpCisgICAgICAgIHNlcnZlciA9IHNlbGYubWFrZV9zZXJ2ZXIoQ0VSVF9mYWtlaG9zdG5hbWUpCiAgICAgICAgIGNvbnRleHQgPSBzc2wuU1NMQ29udGV4dChzc2wuUFJPVE9DT0xfVExTdjEpCiAgICAgICAgIGNvbnRleHQudmVyaWZ5X21vZGUgPSBzc2wuQ0VSVF9SRVFVSVJFRAogICAgICAgICBjb250ZXh0LmxvYWRfdmVyaWZ5X2xvY2F0aW9ucyhDRVJUX2Zha2Vob3N0bmFtZSkKQEAgLTU0MCw2ICs2NTksNyBAQAogICAgICAgICBoLnJlcXVlc3QoJ0dFVCcsICcvbm9uZXhpc3RlbnQnKQogICAgICAgICByZXNwID0gaC5nZXRyZXNwb25zZSgpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzcC5zdGF0dXMsIDQwNCkKKyAgICAgICAgZGVsIHNlcnZlcgogCiAgICAgQHVuaXR0ZXN0LnNraXBJZihub3QgaGFzYXR0cihjbGllbnQsICdIVFRQU0Nvbm5lY3Rpb24nKSwKICAgICAgICAgICAgICAgICAgICAgICdodHRwLmNsaWVudC5IVFRQU0Nvbm5lY3Rpb24gbm90IGF2YWlsYWJsZScpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2h0dHBzZXJ2ZXJzLnB5IGIvTGliL3Rlc3QvdGVzdF9odHRwc2VydmVycy5weQppbmRleCA0ZDU4ZTRiLi4xYjgwN2RkIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2h0dHBzZXJ2ZXJzLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfaHR0cHNlcnZlcnMucHkKQEAgLTQ2Niw2ICs0NjYsMjMgQEAKICAgICAgICAgc2VsZi5zZW5kX2Vycm9yKDQxNykKICAgICAgICAgcmV0dXJuIEZhbHNlCiAKKworY2xhc3MgQXVkaXRhYmxlQnl0ZXNJTzoKKworICAgIGRlZiBfX2luaXRfXyhzZWxmKToKKyAgICAgICAgc2VsZi5kYXRhcyA9IFtdCisKKyAgICBkZWYgd3JpdGUoc2VsZiwgZGF0YSk6CisgICAgICAgIHNlbGYuZGF0YXMuYXBwZW5kKGRhdGEpCisKKyAgICBkZWYgZ2V0RGF0YShzZWxmKToKKyAgICAgICAgcmV0dXJuIGInJy5qb2luKHNlbGYuZGF0YXMpCisKKyAgICBAcHJvcGVydHkKKyAgICBkZWYgbnVtV3JpdGVzKHNlbGYpOgorICAgICAgICByZXR1cm4gbGVuKHNlbGYuZGF0YXMpCisKKwogY2xhc3MgQmFzZUhUVFBSZXF1ZXN0SGFuZGxlclRlc3RDYXNlKHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAiIiJUZXN0IHRoZSBmdW5jdGlvbmFsaXR5IG9mIHRoZSBCYXNlSFRUUFNlcnZlci4KIApAQCAtNTMyLDI3ICs1NDksNDkgQEAKICAgICAgICAgc2VsZi52ZXJpZnlfZ2V0X2NhbGxlZCgpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzdWx0Wy0xXSwgYic8aHRtbD48Ym9keT5EYXRhPC9ib2R5PjwvaHRtbD5cclxuJykKIAotICAgIGRlZiB0ZXN0X2hlYWRlcl9idWZmZXJpbmcoc2VsZik6Ci0KLSAgICAgICAgZGVmIF9yZWFkQW5kUmVzZWVrKGYpOgotICAgICAgICAgICAgcG9zID0gZi50ZWxsKCkKLSAgICAgICAgICAgIGYuc2VlaygwKQotICAgICAgICAgICAgZGF0YSA9IGYucmVhZCgpCi0gICAgICAgICAgICBmLnNlZWsocG9zKQotICAgICAgICAgICAgcmV0dXJuIGRhdGEKKyAgICBkZWYgdGVzdF9oZWFkZXJfYnVmZmVyaW5nX29mX3NlbmRfZXJyb3Ioc2VsZik6CiAKICAgICAgICAgaW5wdXQgPSBCeXRlc0lPKGInR0VUIC8gSFRUUC8xLjFcclxuXHJcbicpCi0gICAgICAgIG91dHB1dCA9IEJ5dGVzSU8oKQotICAgICAgICBzZWxmLmhhbmRsZXIucmZpbGUgPSBpbnB1dAotICAgICAgICBzZWxmLmhhbmRsZXIud2ZpbGUgPSBvdXRwdXQKLSAgICAgICAgc2VsZi5oYW5kbGVyLnJlcXVlc3RfdmVyc2lvbiA9ICdIVFRQLzEuMScKKyAgICAgICAgb3V0cHV0ID0gQXVkaXRhYmxlQnl0ZXNJTygpCisgICAgICAgIGhhbmRsZXIgPSBTb2NrZXRsZXNzUmVxdWVzdEhhbmRsZXIoKQorICAgICAgICBoYW5kbGVyLnJmaWxlID0gaW5wdXQKKyAgICAgICAgaGFuZGxlci53ZmlsZSA9IG91dHB1dAorICAgICAgICBoYW5kbGVyLnJlcXVlc3RfdmVyc2lvbiA9ICdIVFRQLzEuMScKKyAgICAgICAgaGFuZGxlci5yZXF1ZXN0bGluZSA9ICcnCisgICAgICAgIGhhbmRsZXIuY29tbWFuZCA9IE5vbmUKIAotICAgICAgICBzZWxmLmhhbmRsZXIuc2VuZF9oZWFkZXIoJ0ZvbycsICdmb28nKQotICAgICAgICBzZWxmLmhhbmRsZXIuc2VuZF9oZWFkZXIoJ2JhcicsICdiYXInKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKF9yZWFkQW5kUmVzZWVrKG91dHB1dCksIGInJykKLSAgICAgICAgc2VsZi5oYW5kbGVyLmVuZF9oZWFkZXJzKCkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChfcmVhZEFuZFJlc2VlayhvdXRwdXQpLAotICAgICAgICAgICAgICAgICAgICAgICAgIGInRm9vOiBmb29cclxuYmFyOiBiYXJcclxuXHJcbicpCisgICAgICAgIGhhbmRsZXIuc2VuZF9lcnJvcig0MTgpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwob3V0cHV0Lm51bVdyaXRlcywgMikKKworICAgIGRlZiB0ZXN0X2hlYWRlcl9idWZmZXJpbmdfb2Zfc2VuZF9yZXNwb25zZV9vbmx5KHNlbGYpOgorCisgICAgICAgIGlucHV0ID0gQnl0ZXNJTyhiJ0dFVCAvIEhUVFAvMS4xXHJcblxyXG4nKQorICAgICAgICBvdXRwdXQgPSBBdWRpdGFibGVCeXRlc0lPKCkKKyAgICAgICAgaGFuZGxlciA9IFNvY2tldGxlc3NSZXF1ZXN0SGFuZGxlcigpCisgICAgICAgIGhhbmRsZXIucmZpbGUgPSBpbnB1dAorICAgICAgICBoYW5kbGVyLndmaWxlID0gb3V0cHV0CisgICAgICAgIGhhbmRsZXIucmVxdWVzdF92ZXJzaW9uID0gJ0hUVFAvMS4xJworCisgICAgICAgIGhhbmRsZXIuc2VuZF9yZXNwb25zZV9vbmx5KDQxOCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvdXRwdXQubnVtV3JpdGVzLCAwKQorICAgICAgICBoYW5kbGVyLmVuZF9oZWFkZXJzKCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvdXRwdXQubnVtV3JpdGVzLCAxKQorCisgICAgZGVmIHRlc3RfaGVhZGVyX2J1ZmZlcmluZ19vZl9zZW5kX2hlYWRlcihzZWxmKToKKworICAgICAgICBpbnB1dCA9IEJ5dGVzSU8oYidHRVQgLyBIVFRQLzEuMVxyXG5cclxuJykKKyAgICAgICAgb3V0cHV0ID0gQXVkaXRhYmxlQnl0ZXNJTygpCisgICAgICAgIGhhbmRsZXIgPSBTb2NrZXRsZXNzUmVxdWVzdEhhbmRsZXIoKQorICAgICAgICBoYW5kbGVyLnJmaWxlID0gaW5wdXQKKyAgICAgICAgaGFuZGxlci53ZmlsZSA9IG91dHB1dAorICAgICAgICBoYW5kbGVyLnJlcXVlc3RfdmVyc2lvbiA9ICdIVFRQLzEuMScKKworICAgICAgICBoYW5kbGVyLnNlbmRfaGVhZGVyKCdGb28nLCAnZm9vJykKKyAgICAgICAgaGFuZGxlci5zZW5kX2hlYWRlcignYmFyJywgJ2JhcicpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwob3V0cHV0Lm51bVdyaXRlcywgMCkKKyAgICAgICAgaGFuZGxlci5lbmRfaGVhZGVycygpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwob3V0cHV0LmdldERhdGEoKSwgYidGb286IGZvb1xyXG5iYXI6IGJhclxyXG5cclxuJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvdXRwdXQubnVtV3JpdGVzLCAxKQogCiAgICAgZGVmIHRlc3RfaGVhZGVyX3VuYnVmZmVyZWRfd2hlbl9jb250aW51ZShzZWxmKToKIApkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9pbWFwbGliLnB5IGIvTGliL3Rlc3QvdGVzdF9pbWFwbGliLnB5CmluZGV4IDgwMzQwMDAuLmM0YzdlY2MgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfaW1hcGxpYi5weQorKysgYi9MaWIvdGVzdC90ZXN0X2ltYXBsaWIucHkKQEAgLTI1OCwxMSArMjU4LDU4IEBACiAgICAgcG9ydCA9IDk5MwogICAgIGltYXBfY2xhc3MgPSBJTUFQNF9TU0wKIAorICAgIGRlZiBzZXRVcChzZWxmKToKKyAgICAgICAgcGFzcworCisgICAgZGVmIHRlYXJEb3duKHNlbGYpOgorICAgICAgICBwYXNzCisKKyAgICBkZWYgY3JlYXRlX3NzbF9jb250ZXh0KHNlbGYpOgorICAgICAgICBzc2xfY29udGV4dCA9IHNzbC5TU0xDb250ZXh0KHNzbC5QUk9UT0NPTF9TU0x2MjMpCisgICAgICAgIHNzbF9jb250ZXh0LmxvYWRfY2VydF9jaGFpbihDRVJURklMRSkKKyAgICAgICAgcmV0dXJuIHNzbF9jb250ZXh0CisKKyAgICBkZWYgY2hlY2tfbG9naW5jYXBhKHNlbGYsIHNlcnZlcik6CisgICAgICAgIHRyeToKKyAgICAgICAgICAgIGZvciBjYXAgaW4gc2VydmVyLmNhcGFiaWxpdGllczoKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2UoY2FwLCBzdHIpCisgICAgICAgICAgICBzZWxmLmFzc2VydEZhbHNlKCdMT0dJTkRJU0FCTEVEJyBpbiBzZXJ2ZXIuY2FwYWJpbGl0aWVzKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKCdBVVRIPVBMQUlOJyBpbiBzZXJ2ZXIuY2FwYWJpbGl0aWVzKQorICAgICAgICAgICAgcnMgPSBzZXJ2ZXIubG9naW4oc2VsZi51c2VybmFtZSwgc2VsZi5wYXNzd29yZCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocnNbMF0sICdPSycpCisgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICBzZXJ2ZXIubG9nb3V0KCkKKwogICAgIGRlZiB0ZXN0X2xvZ2luY2FwYShzZWxmKToKLSAgICAgICAgZm9yIGNhcCBpbiBzZWxmLnNlcnZlci5jYXBhYmlsaXRpZXM6Ci0gICAgICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2UoY2FwLCBzdHIpCi0gICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoJ0xPR0lORElTQUJMRUQnIGluIHNlbGYuc2VydmVyLmNhcGFiaWxpdGllcykKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKCdBVVRIPVBMQUlOJyBpbiBzZWxmLnNlcnZlci5jYXBhYmlsaXRpZXMpCisgICAgICAgIHdpdGggdHJhbnNpZW50X2ludGVybmV0KHNlbGYuaG9zdCk6CisgICAgICAgICAgICBfc2VydmVyID0gc2VsZi5pbWFwX2NsYXNzKHNlbGYuaG9zdCwgc2VsZi5wb3J0KQorICAgICAgICAgICAgc2VsZi5jaGVja19sb2dpbmNhcGEoX3NlcnZlcikKKworICAgIGRlZiB0ZXN0X2xvZ2luY2FwYV93aXRoX2NsaWVudF9jZXJ0ZmlsZShzZWxmKToKKyAgICAgICAgd2l0aCB0cmFuc2llbnRfaW50ZXJuZXQoc2VsZi5ob3N0KToKKyAgICAgICAgICAgIF9zZXJ2ZXIgPSBzZWxmLmltYXBfY2xhc3Moc2VsZi5ob3N0LCBzZWxmLnBvcnQsIGNlcnRmaWxlPUNFUlRGSUxFKQorICAgICAgICAgICAgc2VsZi5jaGVja19sb2dpbmNhcGEoX3NlcnZlcikKKworICAgIGRlZiB0ZXN0X2xvZ2luY2FwYV93aXRoX2NsaWVudF9zc2xfY29udGV4dChzZWxmKToKKyAgICAgICAgd2l0aCB0cmFuc2llbnRfaW50ZXJuZXQoc2VsZi5ob3N0KToKKyAgICAgICAgICAgIF9zZXJ2ZXIgPSBzZWxmLmltYXBfY2xhc3Moc2VsZi5ob3N0LCBzZWxmLnBvcnQsIHNzbF9jb250ZXh0PXNlbGYuY3JlYXRlX3NzbF9jb250ZXh0KCkpCisgICAgICAgICAgICBzZWxmLmNoZWNrX2xvZ2luY2FwYShfc2VydmVyKQorCisgICAgZGVmIHRlc3RfbG9nb3V0KHNlbGYpOgorICAgICAgICB3aXRoIHRyYW5zaWVudF9pbnRlcm5ldChzZWxmLmhvc3QpOgorICAgICAgICAgICAgX3NlcnZlciA9IHNlbGYuaW1hcF9jbGFzcyhzZWxmLmhvc3QsIHNlbGYucG9ydCkKKyAgICAgICAgICAgIHJzID0gX3NlcnZlci5sb2dvdXQoKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyc1swXSwgJ0JZRScpCisKKyAgICBkZWYgdGVzdF9zc2xfY29udGV4dF9jZXJ0ZmlsZV9leGNsdXNpdmUoc2VsZik6CisgICAgICAgIHdpdGggdHJhbnNpZW50X2ludGVybmV0KHNlbGYuaG9zdCk6CisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBzZWxmLmltYXBfY2xhc3MsIHNlbGYuaG9zdCwgc2VsZi5wb3J0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2VydGZpbGU9Q0VSVEZJTEUsIHNzbF9jb250ZXh0PXNlbGYuY3JlYXRlX3NzbF9jb250ZXh0KCkpCisKKyAgICBkZWYgdGVzdF9zc2xfY29udGV4dF9rZXlmaWxlX2V4Y2x1c2l2ZShzZWxmKToKKyAgICAgICAgd2l0aCB0cmFuc2llbnRfaW50ZXJuZXQoc2VsZi5ob3N0KToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIHNlbGYuaW1hcF9jbGFzcywgc2VsZi5ob3N0LCBzZWxmLnBvcnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXlmaWxlPUNFUlRGSUxFLCBzc2xfY29udGV4dD1zZWxmLmNyZWF0ZV9zc2xfY29udGV4dCgpKQogCiAKIGRlZiB0ZXN0X21haW4oKToKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfaW1wLnB5IGIvTGliL3Rlc3QvdGVzdF9pbXAucHkKaW5kZXggNTUxYWQxYi4uY2QzNGE0NiAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9pbXAucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9pbXAucHkKQEAgLTU4LDYgKzU4LDEyIEBACiAgICAgICAgICAgICB3aXRoIGltcC5maW5kX21vZHVsZSgnbW9kdWxlXycgKyBtb2QsIHNlbGYudGVzdF9wYXRoKVswXSBhcyBmZDoKICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGZkLmVuY29kaW5nLCBlbmNvZGluZykKIAorICAgICAgICBwYXRoID0gW29zLnBhdGguZGlybmFtZShfX2ZpbGVfXyldCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoU3ludGF4RXJyb3IsCisgICAgICAgICAgICByIk5vbi1VVEYtOCBjb2RlIHN0YXJ0aW5nIHdpdGggJ1xceGY2JyIKKyAgICAgICAgICAgIHIiIGluIGZpbGUgLipiYWRzeW50YXhfcGVwMzEyMC5weSIsCisgICAgICAgICAgICBpbXAuZmluZF9tb2R1bGUsICdiYWRzeW50YXhfcGVwMzEyMCcsIHBhdGgpCisKICAgICBkZWYgdGVzdF9pc3N1ZTEyNjcoc2VsZik6CiAgICAgICAgIGZvciBtb2QsIGVuY29kaW5nLCBfIGluIHNlbGYudGVzdF9zdHJpbmdzOgogICAgICAgICAgICAgZnAsIGZpbGVuYW1lLCBpbmZvICA9IGltcC5maW5kX21vZHVsZSgnbW9kdWxlXycgKyBtb2QsCkBAIC0yMTUsNiArMjIxLDEwIEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCiAgICAgICAgICAgICBpbXAuY2FjaGVfZnJvbV9zb3VyY2UoJy9mb28vYmFyL2Jhei9xdXgucHknLCBUcnVlKSwKICAgICAgICAgICAgICcvZm9vL2Jhci9iYXovX19weWNhY2hlX18vcXV4Lnt9LnB5YycuZm9ybWF0KHNlbGYudGFnKSkKKyAgICAgICAgIyBEaXJlY3Rvcnkgd2l0aCBhIGRvdCwgZmlsZW5hbWUgd2l0aG91dCBkb3QKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgIGltcC5jYWNoZV9mcm9tX3NvdXJjZSgnL2Zvby5iYXIvZmlsZScsIFRydWUpLAorICAgICAgICAgICAgJy9mb28uYmFyL19fcHljYWNoZV9fL2ZpbGV7fS5weWMnLmZvcm1hdChzZWxmLnRhZykpCiAKICAgICBkZWYgdGVzdF9jYWNoZV9mcm9tX3NvdXJjZV9vcHRpbWl6ZWQoc2VsZik6CiAgICAgICAgICMgR2l2ZW4gdGhlIHBhdGggdG8gYSAucHkgZmlsZSwgcmV0dXJuIHRoZSBwYXRoIHRvIGl0cyBQRVAgMzE0NwpAQCAtMzE0LDE0ICszMjQsMTYgQEAKICAgICAgICAgICAgIHNodXRpbC5ybXRyZWUoJ3BlcDMxNDcnKQogICAgICAgICBzZWxmLmFkZENsZWFudXAoY2xlYW51cCkKICAgICAgICAgIyBUb3VjaCB0aGUgX19pbml0X18ucHkgZmlsZS4KLSAgICAgICAgd2l0aCBvcGVuKCdwZXAzMTQ3L19faW5pdF9fLnB5JywgJ3cnKToKLSAgICAgICAgICAgIHBhc3MKKyAgICAgICAgc3VwcG9ydC5jcmVhdGVfZW1wdHlfZmlsZSgncGVwMzE0Ny9fX2luaXRfXy5weScpCisgICAgICAgIGltcG9ydGxpYi5pbnZhbGlkYXRlX2NhY2hlcygpCisgICAgICAgIGV4cGVjdGVkX19fZmlsZV9fID0gb3Muc2VwLmpvaW4oKCcuJywgJ3BlcDMxNDcnLCAnX19pbml0X18ucHknKSkKICAgICAgICAgbSA9IF9faW1wb3J0X18oJ3BlcDMxNDcnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG0uX19maWxlX18sIGV4cGVjdGVkX19fZmlsZV9fLCAobS5fX2ZpbGVfXywgbS5fX3BhdGhfXywgc3lzLnBhdGgsIHN5cy5wYXRoX2ltcG9ydGVyX2NhY2hlKSkKICAgICAgICAgIyBFbnN1cmUgd2UgbG9hZCB0aGUgcHljIGZpbGUuCi0gICAgICAgIHN1cHBvcnQuZm9yZ2V0KCdwZXAzMTQ3JykKKyAgICAgICAgc3VwcG9ydC51bmxvYWQoJ3BlcDMxNDcnKQogICAgICAgICBtID0gX19pbXBvcnRfXygncGVwMzE0NycpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobS5fX2ZpbGVfXywKLSAgICAgICAgICAgICAgICAgICAgICAgICBvcy5zZXAuam9pbigoJy4nLCAncGVwMzE0NycsICdfX2luaXRfXy5weScpKSkKKyAgICAgICAgc3VwcG9ydC51bmxvYWQoJ3BlcDMxNDcnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG0uX19maWxlX18sIGV4cGVjdGVkX19fZmlsZV9fLCAobS5fX2ZpbGVfXywgbS5fX3BhdGhfXywgc3lzLnBhdGgsIHN5cy5wYXRoX2ltcG9ydGVyX2NhY2hlKSkKIAogCiBjbGFzcyBOdWxsSW1wb3J0ZXJUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6CmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2ltcG9ydC5weSBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0LnB5CmluZGV4IDQ4NDQzZWEuLmJkMmRhNzIgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfaW1wb3J0LnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0LnB5CkBAIC0yLDYgKzIsNyBAQAogaW1wb3J0IGltcAogZnJvbSBpbXBvcnRsaWIudGVzdC5pbXBvcnRfIGltcG9ydCB0ZXN0X3JlbGF0aXZlX2ltcG9ydHMKIGZyb20gaW1wb3J0bGliLnRlc3QuaW1wb3J0XyBpbXBvcnQgdXRpbCBhcyBpbXBvcnRsaWJfdXRpbAoraW1wb3J0IGltcG9ydGxpYgogaW1wb3J0IG1hcnNoYWwKIGltcG9ydCBvcwogaW1wb3J0IHBsYXRmb3JtCkBAIC0xNiw3ICsxNyw3IEBACiBmcm9tIHRlc3Quc3VwcG9ydCBpbXBvcnQgKAogICAgIEVudmlyb25tZW50VmFyR3VhcmQsIFRFU1RGTiwgY2hlY2tfd2FybmluZ3MsIGZvcmdldCwgaXNfanl0aG9uLAogICAgIG1ha2VfbGVnYWN5X3B5Yywgcm10cmVlLCBydW5fdW5pdHRlc3QsIHN3YXBfYXR0ciwgc3dhcF9pdGVtLCB0ZW1wX3VtYXNrLAotICAgIHVubGluaywgdW5sb2FkKQorICAgIHVubGluaywgdW5sb2FkLCBjcmVhdGVfZW1wdHlfZmlsZSkKIGZyb20gdGVzdCBpbXBvcnQgc2NyaXB0X2hlbHBlcgogCiAKQEAgLTM0LDYgKzM1LDcgQEAKIAogICAgIGRlZiBzZXRVcChzZWxmKToKICAgICAgICAgcmVtb3ZlX2ZpbGVzKFRFU1RGTikKKyAgICAgICAgaW1wb3J0bGliLmludmFsaWRhdGVfY2FjaGVzKCkKIAogICAgIGRlZiB0ZWFyRG93bihzZWxmKToKICAgICAgICAgdW5sb2FkKFRFU1RGTikKQEAgLTk4LDI1ICsxMDAsMjQgQEAKIAogICAgIEB1bml0dGVzdC5za2lwVW5sZXNzKG9zLm5hbWUgPT0gJ3Bvc2l4JywKICAgICAgICAgICAgICAgICAgICAgICAgICAidGVzdCBtZWFuaW5nZnVsIG9ubHkgb24gcG9zaXggc3lzdGVtcyIpCi0gICAgZGVmIHRlc3RfZXhlY3V0ZV9iaXRfbm90X2NvcGllZChzZWxmKToKLSAgICAgICAgIyBJc3N1ZSA2MDcwOiB1bmRlciBwb3NpeCAucHljIGZpbGVzIGdvdCB0aGVpciBleGVjdXRlIGJpdCBzZXQgaWYKLSAgICAgICAgIyB0aGUgLnB5IGZpbGUgaGFkIHRoZSBleGVjdXRlIGJpdCBzZXQsIGJ1dCB0aGV5IGFyZW4ndCBleGVjdXRhYmxlLgotICAgICAgICB3aXRoIHRlbXBfdW1hc2soMG8wMjIpOgorICAgIGRlZiB0ZXN0X2NyZWF0aW9uX21vZGUoc2VsZik6CisgICAgICAgIG1hc2sgPSAwbzAyMgorICAgICAgICB3aXRoIHRlbXBfdW1hc2sobWFzayk6CiAgICAgICAgICAgICBzeXMucGF0aC5pbnNlcnQoMCwgb3MuY3VyZGlyKQogICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgIGZuYW1lID0gVEVTVEZOICsgb3MuZXh0c2VwICsgInB5IgotICAgICAgICAgICAgICAgIG9wZW4oZm5hbWUsICd3JykuY2xvc2UoKQotICAgICAgICAgICAgICAgIG9zLmNobW9kKGZuYW1lLCAoc3RhdC5TX0lSVVNSIHwgc3RhdC5TX0lSR1JQIHwgc3RhdC5TX0lST1RIIHwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXQuU19JWFVTUiB8IHN0YXQuU19JWEdSUCB8IHN0YXQuU19JWE9USCkpCisgICAgICAgICAgICAgICAgY3JlYXRlX2VtcHR5X2ZpbGUoZm5hbWUpCiAgICAgICAgICAgICAgICAgZm4gPSBpbXAuY2FjaGVfZnJvbV9zb3VyY2UoZm5hbWUpCiAgICAgICAgICAgICAgICAgdW5saW5rKGZuKQorICAgICAgICAgICAgICAgIGltcG9ydGxpYi5pbnZhbGlkYXRlX2NhY2hlcygpCiAgICAgICAgICAgICAgICAgX19pbXBvcnRfXyhURVNURk4pCiAgICAgICAgICAgICAgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKGZuKToKICAgICAgICAgICAgICAgICAgICAgc2VsZi5mYWlsKCJfX2ltcG9ydF9fIGRpZCBub3QgcmVzdWx0IGluIGNyZWF0aW9uIG9mICIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJlaXRoZXIgYSAucHljIG9yIC5weW8gZmlsZSIpCiAgICAgICAgICAgICAgICAgcyA9IG9zLnN0YXQoZm4pCi0gICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdGF0LlNfSU1PREUocy5zdF9tb2RlKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXQuU19JUlVTUiB8IHN0YXQuU19JUkdSUCB8IHN0YXQuU19JUk9USCkKKyAgICAgICAgICAgICAgICAjIENoZWNrIHRoYXQgdGhlIHVtYXNrIGlzIHJlc3BlY3RlZCwgYW5kIHRoZSBleGVjdXRhYmxlIGJpdHMKKyAgICAgICAgICAgICAgICAjIGFyZW4ndCBzZXQuCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdGF0LlNfSU1PREUocy5zdF9tb2RlKSwgMG82NjYgJiB+bWFzaykKICAgICAgICAgICAgIGZpbmFsbHk6CiAgICAgICAgICAgICAgICAgZGVsIHN5cy5wYXRoWzBdCiAgICAgICAgICAgICAgICAgcmVtb3ZlX2ZpbGVzKFRFU1RGTikKQEAgLTI2Miw2ICsyNjMsNyBAQAogICAgICAgICAgICAgb3MucmVtb3ZlKHNvdXJjZSkKICAgICAgICAgICAgIGRlbCBzeXMubW9kdWxlc1tURVNURk5dCiAgICAgICAgICAgICBtYWtlX2xlZ2FjeV9weWMoc291cmNlKQorICAgICAgICAgICAgaW1wb3J0bGliLmludmFsaWRhdGVfY2FjaGVzKCkKICAgICAgICAgICAgIG1vZCA9IF9faW1wb3J0X18oVEVTVEZOKQogICAgICAgICAgICAgYmFzZSwgZXh0ID0gb3MucGF0aC5zcGxpdGV4dChtb2QuX19maWxlX18pCiAgICAgICAgICAgICBzZWxmLmFzc2VydEluKGV4dCwgKCcucHljJywgJy5weW8nKSkKQEAgLTI5Nyw4ICsyOTksNiBAQAogICAgICAgICAgICAgc2VsZi5za2lwVGVzdCgncGF0aCBpcyBub3QgZW5jb2RhYmxlIHRvIHt9Jy5mb3JtYXQoZW5jb2RpbmcpKQogICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKEltcG9ydEVycm9yKSBhcyBjOgogICAgICAgICAgICAgX19pbXBvcnRfXyhwYXRoKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCJJbXBvcnQgYnkgZmlsZW5hbWUgaXMgbm90IHN1cHBvcnRlZC4iLAotICAgICAgICAgICAgICAgICAgICAgICAgIGMuZXhjZXB0aW9uLmFyZ3NbMF0pCiAKICAgICBkZWYgdGVzdF9pbXBvcnRfaW5fZGVsX2RvZXNfbm90X2NyYXNoKHNlbGYpOgogICAgICAgICAjIElzc3VlIDQyMzYKQEAgLTM2Miw2ICszNjIsNyBAQAogICAgICAgICB3aXRoIG9wZW4oc2VsZi5maWxlX25hbWUsICJ3IikgYXMgZjoKICAgICAgICAgICAgIGYud3JpdGUoc2VsZi5tb2R1bGVfc291cmNlKQogICAgICAgICBzeXMucGF0aC5pbnNlcnQoMCwgc2VsZi5kaXJfbmFtZSkKKyAgICAgICAgaW1wb3J0bGliLmludmFsaWRhdGVfY2FjaGVzKCkKIAogICAgIGRlZiB0ZWFyRG93bihzZWxmKToKICAgICAgICAgc3lzLnBhdGhbOl0gPSBzZWxmLnN5c19wYXRoCkBAIC00MDksNyArNDEwLDcgQEAKICAgICBkZWYgdGVzdF9mb3JlaWduX2NvZGUoc2VsZik6CiAgICAgICAgIHB5X2NvbXBpbGUuY29tcGlsZShzZWxmLmZpbGVfbmFtZSkKICAgICAgICAgd2l0aCBvcGVuKHNlbGYuY29tcGlsZWRfbmFtZSwgInJiIikgYXMgZjoKLSAgICAgICAgICAgIGhlYWRlciA9IGYucmVhZCg4KQorICAgICAgICAgICAgaGVhZGVyID0gZi5yZWFkKDEyKQogICAgICAgICAgICAgY29kZSA9IG1hcnNoYWwubG9hZChmKQogICAgICAgICBjb25zdGFudHMgPSBsaXN0KGNvZGUuY29fY29uc3RzKQogICAgICAgICBmb3JlaWduX2NvZGUgPSB0ZXN0X21haW4uX19jb2RlX18KQEAgLTU1Niw2ICs1NTcsNyBAQAogICAgICAgICB3aXRoIG9wZW4oc2VsZi5zb3VyY2UsICd3JykgYXMgZnA6CiAgICAgICAgICAgICBwcmludCgnIyBUaGlzIGlzIGEgdGVzdCBmaWxlIHdyaXR0ZW4gYnkgdGVzdF9pbXBvcnQucHknLCBmaWxlPWZwKQogICAgICAgICBzeXMucGF0aC5pbnNlcnQoMCwgb3MuY3VyZGlyKQorICAgICAgICBpbXBvcnRsaWIuaW52YWxpZGF0ZV9jYWNoZXMoKQogCiAgICAgZGVmIHRlYXJEb3duKHNlbGYpOgogICAgICAgICBhc3NlcnQgc3lzLnBhdGhbMF0gPT0gb3MuY3VyZGlyLCAnVW5leHBlY3RlZCBzeXMucGF0aFswXScKQEAgLTYwMyw2ICs2MDUsNyBAQAogICAgICAgICBweWNfZmlsZSA9IG1ha2VfbGVnYWN5X3B5YyhzZWxmLnNvdXJjZSkKICAgICAgICAgb3MucmVtb3ZlKHNlbGYuc291cmNlKQogICAgICAgICB1bmxvYWQoVEVTVEZOKQorICAgICAgICBpbXBvcnRsaWIuaW52YWxpZGF0ZV9jYWNoZXMoKQogICAgICAgICBtID0gX19pbXBvcnRfXyhURVNURk4pCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobS5fX2ZpbGVfXywKICAgICAgICAgICAgICAgICAgICAgICAgICBvcy5wYXRoLmpvaW4ob3MuY3VyZGlyLCBvcy5wYXRoLnJlbHBhdGgocHljX2ZpbGUpKSkKQEAgLTYyMyw2ICs2MjYsNyBAQAogICAgICAgICBweWNfZmlsZSA9IG1ha2VfbGVnYWN5X3B5YyhzZWxmLnNvdXJjZSkKICAgICAgICAgb3MucmVtb3ZlKHNlbGYuc291cmNlKQogICAgICAgICB1bmxvYWQoVEVTVEZOKQorICAgICAgICBpbXBvcnRsaWIuaW52YWxpZGF0ZV9jYWNoZXMoKQogICAgICAgICBtID0gX19pbXBvcnRfXyhURVNURk4pCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobS5fX2NhY2hlZF9fLAogICAgICAgICAgICAgICAgICAgICAgICAgIG9zLnBhdGguam9pbihvcy5jdXJkaXIsIG9zLnBhdGgucmVscGF0aChweWNfZmlsZSkpKQpAQCAtNjczLDYgKzY3NywxNiBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN5cy5tb2R1bGVzWydwZXAzMTQ3LmZvbyddLl9fY2FjaGVkX18sCiAgICAgICAgICAgICAgICAgICAgICAgICAgb3MucGF0aC5qb2luKG9zLmN1cmRpciwgZm9vX3B5YykpCiAKKyAgICBkZWYgdGVzdF9yZWNvbXB1dGVfcHljX3NhbWVfc2Vjb25kKHNlbGYpOgorICAgICAgICAjIEV2ZW4gd2hlbiB0aGUgc291cmNlIGZpbGUgZG9lc24ndCBjaGFuZ2UgdGltZXN0YW1wLCBhIGNoYW5nZSBpbgorICAgICAgICAjIHNvdXJjZSBzaXplIGlzIGVub3VnaCB0byB0cmlnZ2VyIHJlY29tcHV0YXRpb24gb2YgdGhlIHB5YyBmaWxlLgorICAgICAgICBfX2ltcG9ydF9fKFRFU1RGTikKKyAgICAgICAgdW5sb2FkKFRFU1RGTikKKyAgICAgICAgd2l0aCBvcGVuKHNlbGYuc291cmNlLCAnYScpIGFzIGZwOgorICAgICAgICAgICAgcHJpbnQoInggPSA1IiwgZmlsZT1mcCkKKyAgICAgICAgbSA9IF9faW1wb3J0X18oVEVTVEZOKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG0ueCwgNSkKKwogCiBjbGFzcyBSZWxhdGl2ZUltcG9ydEZyb21JbXBvcnRsaWJUZXN0cyh0ZXN0X3JlbGF0aXZlX2ltcG9ydHMuUmVsYXRpdmVJbXBvcnRzKToKIApkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9pbXBvcnRob29rcy5weSBiL0xpYi90ZXN0L3Rlc3RfaW1wb3J0aG9va3MucHkKaW5kZXggZWM2NzMwZS4uN2EyNTY1NyAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9pbXBvcnRob29rcy5weQorKysgYi9MaWIvdGVzdC90ZXN0X2ltcG9ydGhvb2tzLnB5CkBAIC01MSw3ICs1MSw3IEBACiAKICAgICBkZWYgX19pbml0X18oc2VsZiwgcGF0aD10ZXN0X3BhdGgpOgogICAgICAgICBpZiBwYXRoICE9IHRlc3RfcGF0aDoKLSAgICAgICAgICAgICMgaWYgb3V0IGNsYXNzIGlzIG9uIHN5cy5wYXRoX2hvb2tzLCB3ZSBtdXN0IHJhaXNlCisgICAgICAgICAgICAjIGlmIG91ciBjbGFzcyBpcyBvbiBzeXMucGF0aF9ob29rcywgd2UgbXVzdCByYWlzZQogICAgICAgICAgICAgIyBJbXBvcnRFcnJvciBmb3IgYW55IHBhdGggaXRlbSB0aGF0IHdlIGNhbid0IGhhbmRsZS4KICAgICAgICAgICAgIHJhaXNlIEltcG9ydEVycm9yCiAgICAgICAgIHNlbGYucGF0aCA9IHBhdGgKQEAgLTIyOSw3ICsyMjksOSBAQAogICAgICAgICBpID0gSW1wV3JhcHBlcigpCiAgICAgICAgIHN5cy5tZXRhX3BhdGguYXBwZW5kKGkpCiAgICAgICAgIHN5cy5wYXRoX2hvb2tzLmFwcGVuZChJbXBXcmFwcGVyKQotICAgICAgICBtbmFtZXMgPSAoImNvbG9yc3lzIiwgInVybGxpYi5wYXJzZSIsICJkaXN0dXRpbHMuY29yZSIpCisgICAgICAgIG1uYW1lcyA9ICgKKyAgICAgICAgICAgICJjb2xvcnN5cyIsICJ1cmxsaWIucGFyc2UiLCAiZGlzdHV0aWxzLmNvcmUiLCAic3lzIiwKKyAgICAgICAgKQogICAgICAgICBmb3IgbW5hbWUgaW4gbW5hbWVzOgogICAgICAgICAgICAgcGFyZW50ID0gbW5hbWUuc3BsaXQoIi4iKVswXQogICAgICAgICAgICAgZm9yIG4gaW4gbGlzdChzeXMubW9kdWxlcyk6CkBAIC0yMzcsNyArMjM5LDggQEAKICAgICAgICAgICAgICAgICAgICAgZGVsIHN5cy5tb2R1bGVzW25dCiAgICAgICAgIGZvciBtbmFtZSBpbiBtbmFtZXM6CiAgICAgICAgICAgICBtID0gX19pbXBvcnRfXyhtbmFtZSwgZ2xvYmFscygpLCBsb2NhbHMoKSwgWyJfX2R1bW15X18iXSkKLSAgICAgICAgICAgIG0uX19sb2FkZXJfXyAgIyB0byBtYWtlIHN1cmUgd2UgYWN0dWFsbHkgaGFuZGxlZCB0aGUgaW1wb3J0CisgICAgICAgICAgICAjIHRvIG1ha2Ugc3VyZSB3ZSBhY3R1YWxseSBoYW5kbGVkIHRoZSBpbXBvcnQKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShoYXNhdHRyKG0sICJfX2xvYWRlcl9fIikpCiAKIAogZGVmIHRlc3RfbWFpbigpOgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9pbnNwZWN0LnB5IGIvTGliL3Rlc3QvdGVzdF9pbnNwZWN0LnB5CmluZGV4IDRiN2VlNGUuLmQ4NDBiYmUgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfaW5zcGVjdC5weQorKysgYi9MaWIvdGVzdC90ZXN0X2luc3BlY3QucHkKQEAgLTMwNCw3ICszMDQsNyBAQAogICAgICAgICBnZXRsaW5lcyA9IGxpbmVjYWNoZS5nZXRsaW5lcwogICAgICAgICBkZWYgbW9ua2V5KGZpbGVuYW1lLCBtb2R1bGVfZ2xvYmFscz1Ob25lKToKICAgICAgICAgICAgIGlmIGZpbGVuYW1lID09IGZuOgotICAgICAgICAgICAgICAgIHJldHVybiBzb3VyY2Uuc3BsaXRsaW5lcyhUcnVlKQorICAgICAgICAgICAgICAgIHJldHVybiBzb3VyY2Uuc3BsaXRsaW5lcyhrZWVwZW5kcz1UcnVlKQogICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICByZXR1cm4gZ2V0bGluZXMoZmlsZW5hbWUsIG1vZHVsZV9nbG9iYWxzKQogICAgICAgICBsaW5lY2FjaGUuZ2V0bGluZXMgPSBtb25rZXkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfaW8ucHkgYi9MaWIvdGVzdC90ZXN0X2lvLnB5CmluZGV4IGVhODJjZWEuLjk2MjU4YjQgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfaW8ucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9pby5weQpAQCAtNDksNyArNDksNyBAQAogCiBkZWYgX2RlZmF1bHRfY2h1bmtfc2l6ZSgpOgogICAgICIiIkdldCB0aGUgZGVmYXVsdCBUZXh0SU9XcmFwcGVyIGNodW5rIHNpemUiIiIKLSAgICB3aXRoIG9wZW4oX19maWxlX18sICJyIiwgZW5jb2Rpbmc9ImxhdGluMSIpIGFzIGY6CisgICAgd2l0aCBvcGVuKF9fZmlsZV9fLCAiciIsIGVuY29kaW5nPSJsYXRpbi0xIikgYXMgZjoKICAgICAgICAgcmV0dXJuIGYuX0NIVU5LX1NJWkUKIAogCkBAIC02MzQsNiArNjM0LDE1IEBACiAgICAgICAgIGZvciBvYmogaW4gdGVzdDoKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShoYXNhdHRyKG9iaiwgIl9fZGljdF9fIikpCiAKKyAgICBkZWYgdGVzdF9vcGVuZXIoc2VsZik6CisgICAgICAgIHdpdGggc2VsZi5vcGVuKHN1cHBvcnQuVEVTVEZOLCAidyIpIGFzIGY6CisgICAgICAgICAgICBmLndyaXRlKCJlZ2dcbiIpCisgICAgICAgIGZkID0gb3Mub3BlbihzdXBwb3J0LlRFU1RGTiwgb3MuT19SRE9OTFkpCisgICAgICAgIGRlZiBvcGVuZXIocGF0aCwgZmxhZ3MpOgorICAgICAgICAgICAgcmV0dXJuIGZkCisgICAgICAgIHdpdGggc2VsZi5vcGVuKCJub24tZXhpc3RlbnQiLCAiciIsIG9wZW5lcj1vcGVuZXIpIGFzIGY6CisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGYucmVhZCgpLCAiZWdnXG4iKQorCiBjbGFzcyBDSU9UZXN0KElPVGVzdCk6CiAKICAgICBkZWYgdGVzdF9JT0Jhc2VfZmluYWxpemUoc2VsZik6CkBAIC04MzUsNiArODQ0LDEyIEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYiwgYiJnZiIpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYnVmaW8ucmVhZGludG8oYiksIDApCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYiwgYiJnZiIpCisgICAgICAgIHJhd2lvID0gc2VsZi5Nb2NrUmF3SU8oKGIiYWJjIiwgTm9uZSkpCisgICAgICAgIGJ1ZmlvID0gc2VsZi50cChyYXdpbykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChidWZpby5yZWFkaW50byhiKSwgMikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiLCBiImFiIikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChidWZpby5yZWFkaW50byhiKSwgMSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiLCBiImNiIikKIAogICAgIGRlZiB0ZXN0X3JlYWRsaW5lcyhzZWxmKToKICAgICAgICAgZGVmIGJ1ZmlvKCk6CkBAIC0xODAyLDExICsxODE3LDExIEBACiAgICAgICAgIHIgPSBzZWxmLkJ5dGVzSU8oYiJceGMzXHhhOVxuXG4iKQogICAgICAgICBiID0gc2VsZi5CdWZmZXJlZFJlYWRlcihyLCAxMDAwKQogICAgICAgICB0ID0gc2VsZi5UZXh0SU9XcmFwcGVyKGIpCi0gICAgICAgIHQuX19pbml0X18oYiwgZW5jb2Rpbmc9ImxhdGluMSIsIG5ld2xpbmU9IlxyXG4iKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHQuZW5jb2RpbmcsICJsYXRpbjEiKQorICAgICAgICB0Ll9faW5pdF9fKGIsIGVuY29kaW5nPSJsYXRpbi0xIiwgbmV3bGluZT0iXHJcbiIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodC5lbmNvZGluZywgImxhdGluLTEiKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHQubGluZV9idWZmZXJpbmcsIEZhbHNlKQotICAgICAgICB0Ll9faW5pdF9fKGIsIGVuY29kaW5nPSJ1dGY4IiwgbGluZV9idWZmZXJpbmc9VHJ1ZSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh0LmVuY29kaW5nLCAidXRmOCIpCisgICAgICAgIHQuX19pbml0X18oYiwgZW5jb2Rpbmc9InV0Zi04IiwgbGluZV9idWZmZXJpbmc9VHJ1ZSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh0LmVuY29kaW5nLCAidXRmLTgiKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHQubGluZV9idWZmZXJpbmcsIFRydWUpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoIlx4ZTlcbiIsIHQucmVhZGxpbmUoKSkKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCB0Ll9faW5pdF9fLCBiLCBuZXdsaW5lPTQyKQpAQCAtMTg1Niw4ICsxODcxLDggQEAKICAgICBkZWYgdGVzdF9lbmNvZGluZyhzZWxmKToKICAgICAgICAgIyBDaGVjayB0aGUgZW5jb2RpbmcgYXR0cmlidXRlIGlzIGFsd2F5cyBzZXQsIGFuZCB2YWxpZAogICAgICAgICBiID0gc2VsZi5CeXRlc0lPKCkKLSAgICAgICAgdCA9IHNlbGYuVGV4dElPV3JhcHBlcihiLCBlbmNvZGluZz0idXRmOCIpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodC5lbmNvZGluZywgInV0ZjgiKQorICAgICAgICB0ID0gc2VsZi5UZXh0SU9XcmFwcGVyKGIsIGVuY29kaW5nPSJ1dGYtOCIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodC5lbmNvZGluZywgInV0Zi04IikKICAgICAgICAgdCA9IHNlbGYuVGV4dElPV3JhcHBlcihiKQogICAgICAgICBzZWxmLmFzc2VydFRydWUodC5lbmNvZGluZyBpcyBub3QgTm9uZSkKICAgICAgICAgY29kZWNzLmxvb2t1cCh0LmVuY29kaW5nKQpAQCAtMTk1MCw4ICsxOTY1LDggQEAKICAgICAgICAgdGVzdGRhdGEgPSBiIkFBQVxuQkJceDAwQlxuQ0NDXHJERERcckVFRVxyXG5GRkZcclxuR0dHIgogICAgICAgICBub3JtYWxpemVkID0gdGVzdGRhdGEucmVwbGFjZShiIlxyXG4iLCBiIlxuIikucmVwbGFjZShiIlxyIiwgYiJcbiIpCiAgICAgICAgIGZvciBuZXdsaW5lLCBleHBlY3RlZCBpbiBbCi0gICAgICAgICAgICAoTm9uZSwgbm9ybWFsaXplZC5kZWNvZGUoImFzY2lpIikuc3BsaXRsaW5lcyhUcnVlKSksCi0gICAgICAgICAgICAoIiIsIHRlc3RkYXRhLmRlY29kZSgiYXNjaWkiKS5zcGxpdGxpbmVzKFRydWUpKSwKKyAgICAgICAgICAgIChOb25lLCBub3JtYWxpemVkLmRlY29kZSgiYXNjaWkiKS5zcGxpdGxpbmVzKGtlZXBlbmRzPVRydWUpKSwKKyAgICAgICAgICAgICgiIiwgdGVzdGRhdGEuZGVjb2RlKCJhc2NpaSIpLnNwbGl0bGluZXMoa2VlcGVuZHM9VHJ1ZSkpLAogICAgICAgICAgICAgKCJcbiIsIFsiQUFBXG4iLCAiQkJceDAwQlxuIiwgIkNDQ1xyREREXHJFRUVcclxuIiwgIkZGRlxyXG4iLCAiR0dHIl0pLAogICAgICAgICAgICAgKCJcclxuIiwgWyJBQUFcbkJCXHgwMEJcbkNDQ1xyREREXHJFRUVcclxuIiwgIkZGRlxyXG4iLCAiR0dHIl0pLAogICAgICAgICAgICAgKCJcciIsICBbIkFBQVxuQkJceDAwQlxuQ0NDXHIiLCAiREREXHIiLCAiRUVFXHIiLCAiXG5GRkZcciIsICJcbkdHRyJdKSwKQEAgLTIwMzYsNyArMjA1MSw3IEBACiAKICAgICBkZWYgdGVzdF9iYXNpY19pbyhzZWxmKToKICAgICAgICAgZm9yIGNodW5rc2l6ZSBpbiAoMSwgMiwgMywgNCwgNSwgMTUsIDE2LCAxNywgMzEsIDMyLCAzMywgNjMsIDY0LCA2NSk6Ci0gICAgICAgICAgICBmb3IgZW5jIGluICJhc2NpaSIsICJsYXRpbjEiLCAidXRmOCIgOiMgLCAidXRmLTE2LWJlIiwgInV0Zi0xNi1sZSI6CisgICAgICAgICAgICBmb3IgZW5jIGluICJhc2NpaSIsICJsYXRpbi0xIiwgInV0Zi04IiA6IyAsICJ1dGYtMTYtYmUiLCAidXRmLTE2LWxlIjoKICAgICAgICAgICAgICAgICBmID0gc2VsZi5vcGVuKHN1cHBvcnQuVEVTVEZOLCAidysiLCBlbmNvZGluZz1lbmMpCiAgICAgICAgICAgICAgICAgZi5fQ0hVTktfU0laRSA9IGNodW5rc2l6ZQogICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZi53cml0ZSgiYWJjIiksIDMpCkBAIC0yMDg2LDcgKzIxMDEsNyBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJsaW5lcywgd2xpbmVzKQogCiAgICAgZGVmIHRlc3RfdGVsbGluZyhzZWxmKToKLSAgICAgICAgZiA9IHNlbGYub3BlbihzdXBwb3J0LlRFU1RGTiwgIncrIiwgZW5jb2Rpbmc9InV0ZjgiKQorICAgICAgICBmID0gc2VsZi5vcGVuKHN1cHBvcnQuVEVTVEZOLCAidysiLCBlbmNvZGluZz0idXRmLTgiKQogICAgICAgICBwMCA9IGYudGVsbCgpCiAgICAgICAgIGYud3JpdGUoIlx4ZmZcbiIpCiAgICAgICAgIHAxID0gZi50ZWxsKCkKQEAgLTIzMzIsNiArMjM0Nyw3IEBACiAgICAgICAgIHdpdGggc2VsZi5vcGVuKHN1cHBvcnQuVEVTVEZOLCAidyIsIGVycm9ycz0icmVwbGFjZSIpIGFzIGY6CiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGYuZXJyb3JzLCAicmVwbGFjZSIpCiAKKyAgICBAc3VwcG9ydC5ub190cmFjaW5nCiAgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3ModGhyZWFkaW5nLCAnVGhyZWFkaW5nIHJlcXVpcmVkIGZvciB0aGlzIHRlc3QuJykKICAgICBkZWYgdGVzdF90aHJlYWRzX3dyaXRlKHNlbGYpOgogICAgICAgICAjIElzc3VlNjc1MDogY29uY3VycmVudCB3cml0ZXMgY291bGQgZHVwbGljYXRlIGRhdGEKQEAgLTI2NDksMTIgKzI2NjUsNiBAQAogCiAgICAgZGVmIHRlc3RfYmxvY2tpbmdpb2Vycm9yKHNlbGYpOgogICAgICAgICAjIFZhcmlvdXMgQmxvY2tpbmdJT0Vycm9yIGlzc3VlcwotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIHNlbGYuQmxvY2tpbmdJT0Vycm9yKQotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIHNlbGYuQmxvY2tpbmdJT0Vycm9yLCAxKQotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIHNlbGYuQmxvY2tpbmdJT0Vycm9yLCAxLCAyLCAzLCA0KQotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIHNlbGYuQmxvY2tpbmdJT0Vycm9yLCAxLCAiIiwgTm9uZSkKLSAgICAgICAgYiA9IHNlbGYuQmxvY2tpbmdJT0Vycm9yKDEsICIiKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGIuY2hhcmFjdGVyc193cml0dGVuLCAwKQogICAgICAgICBjbGFzcyBDKHN0cik6CiAgICAgICAgICAgICBwYXNzCiAgICAgICAgIGMgPSBDKCIiKQpAQCAtMjc5Niw2ICsyODA2LDcgQEAKIAogICAgICAgICAgICAgICAgIGV4Y2VwdCBzZWxmLkJsb2NraW5nSU9FcnJvciBhcyBlOgogICAgICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGUuYXJnc1swXSwgZXJybm8uRUFHQUlOKQorICAgICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGUuYXJnc1syXSwgZS5jaGFyYWN0ZXJzX3dyaXR0ZW4pCiAgICAgICAgICAgICAgICAgICAgIHNlbnRbLTFdID0gc2VudFstMV1bOmUuY2hhcmFjdGVyc193cml0dGVuXQogICAgICAgICAgICAgICAgICAgICByZWNlaXZlZC5hcHBlbmQocmYucmVhZCgpKQogICAgICAgICAgICAgICAgICAgICBtc2cgPSBiJ0JMT0NLRUQnCkBAIC0yODA4LDYgKzI4MTksNyBAQAogICAgICAgICAgICAgICAgICAgICBicmVhawogICAgICAgICAgICAgICAgIGV4Y2VwdCBzZWxmLkJsb2NraW5nSU9FcnJvciBhcyBlOgogICAgICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGUuYXJnc1swXSwgZXJybm8uRUFHQUlOKQorICAgICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGUuYXJnc1syXSwgZS5jaGFyYWN0ZXJzX3dyaXR0ZW4pCiAgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZS5jaGFyYWN0ZXJzX3dyaXR0ZW4sIDApCiAgICAgICAgICAgICAgICAgICAgIHJlY2VpdmVkLmFwcGVuZChyZi5yZWFkKCkpCiAKQEAgLTI4MTgsNiArMjgzMCwxOSBAQAogICAgICAgICBzZWxmLmFzc2VydFRydWUod2YuY2xvc2VkKQogICAgICAgICBzZWxmLmFzc2VydFRydWUocmYuY2xvc2VkKQogCisgICAgZGVmIHRlc3RfY3JlYXRlX2ZhaWwoc2VsZik6CisgICAgICAgICMgJ3gnIG1vZGUgZmFpbHMgaWYgZmlsZSBpcyBleGlzdGluZworICAgICAgICB3aXRoIHNlbGYub3BlbihzdXBwb3J0LlRFU1RGTiwgJ3cnKToKKyAgICAgICAgICAgIHBhc3MKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoRmlsZUV4aXN0c0Vycm9yLCBzZWxmLm9wZW4sIHN1cHBvcnQuVEVTVEZOLCAneCcpCisKKyAgICBkZWYgdGVzdF9jcmVhdGVfd3JpdGVzKHNlbGYpOgorICAgICAgICAjICd4JyBtb2RlIG9wZW5zIGZvciB3cml0aW5nCisgICAgICAgIHdpdGggc2VsZi5vcGVuKHN1cHBvcnQuVEVTVEZOLCAneGInKSBhcyBmOgorICAgICAgICAgICAgZi53cml0ZShiInNwYW0iKQorICAgICAgICB3aXRoIHNlbGYub3BlbihzdXBwb3J0LlRFU1RGTiwgJ3JiJykgYXMgZjoKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYiJzcGFtIiwgZi5yZWFkKCkpCisKIGNsYXNzIENNaXNjSU9UZXN0KE1pc2NJT1Rlc3QpOgogICAgIGlvID0gaW8KIApAQCAtMjgzOCwxNCArMjg2MywxNCBAQAogICAgICAgICAxLzAKIAogICAgIEB1bml0dGVzdC5za2lwVW5sZXNzKHRocmVhZGluZywgJ1RocmVhZGluZyByZXF1aXJlZCBmb3IgdGhpcyB0ZXN0LicpCi0gICAgQHVuaXR0ZXN0LnNraXBJZihzeXMucGxhdGZvcm0gaW4gKCdmcmVlYnNkNScsICdmcmVlYnNkNicsICdmcmVlYnNkNycpLAotICAgICAgICAgICAgICAgICAgICAgJ2lzc3VlICMxMjQyOTogc2tpcCB0ZXN0IG9uIEZyZWVCU0QgPD0gNycpCiAgICAgZGVmIGNoZWNrX2ludGVycnVwdGVkX3dyaXRlKHNlbGYsIGl0ZW0sIGJ5dGVzLCAqKmZkb3Blbl9rd2FyZ3MpOgogICAgICAgICAiIiJDaGVjayB0aGF0IGEgcGFydGlhbCB3cml0ZSwgd2hlbiBpdCBnZXRzIGludGVycnVwdGVkLCBwcm9wZXJseQogICAgICAgICBpbnZva2VzIHRoZSBzaWduYWwgaGFuZGxlciwgYW5kIGJ1YmJsZXMgdXAgdGhlIGV4Y2VwdGlvbiByYWlzZWQKICAgICAgICAgaW4gdGhlIGxhdHRlci4iIiIKICAgICAgICAgcmVhZF9yZXN1bHRzID0gW10KICAgICAgICAgZGVmIF9yZWFkKCk6CisgICAgICAgICAgICBpZiBoYXNhdHRyKHNpZ25hbCwgJ3B0aHJlYWRfc2lnbWFzaycpOgorICAgICAgICAgICAgICAgIHNpZ25hbC5wdGhyZWFkX3NpZ21hc2soc2lnbmFsLlNJR19CTE9DSywgW3NpZ25hbC5TSUdBTFJNXSkKICAgICAgICAgICAgIHMgPSBvcy5yZWFkKHIsIDEpCiAgICAgICAgICAgICByZWFkX3Jlc3VsdHMuYXBwZW5kKHMpCiAgICAgICAgIHQgPSB0aHJlYWRpbmcuVGhyZWFkKHRhcmdldD1fcmVhZCkKQEAgLTI4NjMsNyArMjg4OCw3IEBACiAgICAgICAgICAgICAjIFRoZSBidWZmZXJlZCBJTyBsYXllciBtdXN0IGNoZWNrIGZvciBwZW5kaW5nIHNpZ25hbAogICAgICAgICAgICAgIyBoYW5kbGVycywgd2hpY2ggaW4gdGhpcyBjYXNlIHdpbGwgaW52b2tlIGFsYXJtX2ludGVycnVwdCgpLgogICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoWmVyb0RpdmlzaW9uRXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aW8ud3JpdGUsIGl0ZW0gKiAoMTAyNCAqIDEwMjQpKQorICAgICAgICAgICAgICAgICAgICAgICAgd2lvLndyaXRlLCBpdGVtICogKHN1cHBvcnQuUElQRV9NQVhfU0laRSAvLyBsZW4oaXRlbSkpKQogICAgICAgICAgICAgdC5qb2luKCkKICAgICAgICAgICAgICMgV2UgZ290IG9uZSBieXRlLCBnZXQgYW5vdGhlciBvbmUgYW5kIGNoZWNrIHRoYXQgaXQgaXNuJ3QgYQogICAgICAgICAgICAgIyByZXBlYXQgb2YgdGhlIGZpcnN0IG9uZS4KQEAgLTI4OTAsNiArMjkxNSw3IEBACiAgICAgZGVmIHRlc3RfaW50ZXJydXB0ZWRfd3JpdGVfdGV4dChzZWxmKToKICAgICAgICAgc2VsZi5jaGVja19pbnRlcnJ1cHRlZF93cml0ZSgieHkiLCBiInh5IiwgbW9kZT0idyIsIGVuY29kaW5nPSJhc2NpaSIpCiAKKyAgICBAc3VwcG9ydC5ub190cmFjaW5nCiAgICAgZGVmIGNoZWNrX3JlZW50cmFudF93cml0ZShzZWxmLCBkYXRhLCAqKmZkb3Blbl9rd2FyZ3MpOgogICAgICAgICBkZWYgb25fYWxhcm0oKmFyZ3MpOgogICAgICAgICAgICAgIyBXaWxsIGJlIGNhbGxlZCByZWVudHJhbnRseSBmcm9tIHRoZSBzYW1lIHRocmVhZApkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9pdGVydG9vbHMucHkgYi9MaWIvdGVzdC90ZXN0X2l0ZXJ0b29scy5weQppbmRleCA4Y2RjNTk3Li45NTc5OTFjIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2l0ZXJ0b29scy5weQorKysgYi9MaWIvdGVzdC90ZXN0X2l0ZXJ0b29scy5weQpAQCAtNjksMTEgKzY5LDIxIEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGlzdChhY2N1bXVsYXRlKCdhYmMnKSksIFsnYScsICdhYicsICdhYmMnXSkgICAjIHdvcmtzIHdpdGggbm9uLW51bWVyaWMKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsaXN0KGFjY3VtdWxhdGUoW10pKSwgW10pICAgICAgICAgICAgICAgICAgIyBlbXB0eSBpdGVyYWJsZQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxpc3QoYWNjdW11bGF0ZShbN10pKSwgWzddKSAgICAgICAgICAgICAgICAjIGl0ZXJhYmxlIG9mIGxlbmd0aCBvbmUKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBhY2N1bXVsYXRlLCByYW5nZSgxMCksIDUpICAgICAgIyB0b28gbWFueSBhcmdzCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgYWNjdW11bGF0ZSwgcmFuZ2UoMTApLCA1LCA2KSAgICMgdG9vIG1hbnkgYXJncwogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGFjY3VtdWxhdGUpICAgICAgICAgICAgICAgICAgICAjIHRvbyBmZXcgYXJncwogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGFjY3VtdWxhdGUsIHg9cmFuZ2UoMTApKSAgICAgICAjIHVuZXhwZWN0ZWQga3dkIGFyZwogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGxpc3QsIGFjY3VtdWxhdGUoWzEsIFtdXSkpICAgICAjIGFyZ3MgdGhhdCBkb24ndCBhZGQKIAorICAgICAgICBzID0gWzIsIDgsIDksIDUsIDcsIDAsIDMsIDQsIDEsIDZdCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGlzdChhY2N1bXVsYXRlKHMsIG1pbikpLAorICAgICAgICAgICAgICAgICAgICAgICAgIFsyLCAyLCAyLCAyLCAyLCAwLCAwLCAwLCAwLCAwXSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsaXN0KGFjY3VtdWxhdGUocywgbWF4KSksCisgICAgICAgICAgICAgICAgICAgICAgICAgWzIsIDgsIDksIDksIDksIDksIDksIDksIDksIDldKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxpc3QoYWNjdW11bGF0ZShzLCBvcGVyYXRvci5tdWwpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBbMiwgMTYsIDE0NCwgNzIwLCA1MDQwLCAwLCAwLCAwLCAwLCAwXSkKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IpOgorICAgICAgICAgICAgbGlzdChhY2N1bXVsYXRlKHMsIGNocikpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIHVuYXJ5LW9wZXJhdGlvbgorCiAgICAgZGVmIHRlc3RfY2hhaW4oc2VsZik6CiAKICAgICAgICAgZGVmIGNoYWluMigqaXRlcmFibGVzKToKQEAgLTE1OCw3ICsxNjgsOCBAQAogICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzdWx0LCBsaXN0KGNvbWJpbmF0aW9uczIodmFsdWVzLCByKSkpICMgbWF0Y2hlcyBzZWNvbmQgcHVyZSBweXRob24gdmVyc2lvbgogICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzdWx0LCBsaXN0KGNvbWJpbmF0aW9uczModmFsdWVzLCByKSkpICMgbWF0Y2hlcyBzZWNvbmQgcHVyZSBweXRob24gdmVyc2lvbgogCi0gICAgICAgICMgVGVzdCBpbXBsZW1lbnRhdGlvbiBkZXRhaWw6ICB0dXBsZSByZS11c2UKKyAgICBAc3VwcG9ydC5pbXBsX2RldGFpbCgidHVwbGUgcmV1c2UgaXMgc3BlY2lmaWMgdG8gQ1B5dGhvbiIpCisgICAgZGVmIHRlc3RfY29tYmluYXRpb25zX3R1cGxlX3JldXNlKHNlbGYpOgogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihzZXQobWFwKGlkLCBjb21iaW5hdGlvbnMoJ2FiY2RlJywgMykpKSksIDEpCiAgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwobGVuKHNldChtYXAoaWQsIGxpc3QoY29tYmluYXRpb25zKCdhYmNkZScsIDMpKSkpKSwgMSkKIApAQCAtMjI4LDcgKzIzOSw5IEBACiAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXN1bHQsIGxpc3QoY3dyMSh2YWx1ZXMsIHIpKSkgICAgICAgICAjIG1hdGNoZXMgZmlyc3QgcHVyZSBweXRob24gdmVyc2lvbgogICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzdWx0LCBsaXN0KGN3cjIodmFsdWVzLCByKSkpICAgICAgICAgIyBtYXRjaGVzIHNlY29uZCBwdXJlIHB5dGhvbiB2ZXJzaW9uCiAKLSAgICAgICAgIyBUZXN0IGltcGxlbWVudGF0aW9uIGRldGFpbDogIHR1cGxlIHJlLXVzZQorICAgIEBzdXBwb3J0LmltcGxfZGV0YWlsKCJ0dXBsZSByZXVzZSBpcyBzcGVjaWZpYyB0byBDUHl0aG9uIikKKyAgICBkZWYgdGVzdF9jb21iaW5hdGlvbnNfd2l0aF9yZXBsYWNlbWVudF90dXBsZV9yZXVzZShzZWxmKToKKyAgICAgICAgY3dyID0gY29tYmluYXRpb25zX3dpdGhfcmVwbGFjZW1lbnQKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oc2V0KG1hcChpZCwgY3dyKCdhYmNkZScsIDMpKSkpLCAxKQogICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKGxlbihzZXQobWFwKGlkLCBsaXN0KGN3cignYWJjZGUnLCAzKSkpKSksIDEpCiAKQEAgLTI5Miw3ICszMDUsOCBAQAogICAgICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlc3VsdCwgbGlzdChwZXJtdXRhdGlvbnModmFsdWVzLCBOb25lKSkpICMgdGVzdCByIGFzIE5vbmUKICAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXN1bHQsIGxpc3QocGVybXV0YXRpb25zKHZhbHVlcykpKSAgICAgICAjIHRlc3QgZGVmYXVsdCByCiAKLSAgICAgICAgIyBUZXN0IGltcGxlbWVudGF0aW9uIGRldGFpbDogIHR1cGxlIHJlLXVzZQorICAgIEBzdXBwb3J0LmltcGxfZGV0YWlsKCJ0dXBsZSByZXN1c2UgaXMgQ1B5dGhvbiBzcGVjaWZpYyIpCisgICAgZGVmIHRlc3RfcGVybXV0YXRpb25zX3R1cGxlX3JldXNlKHNlbGYpOgogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihzZXQobWFwKGlkLCBwZXJtdXRhdGlvbnMoJ2FiY2RlJywgMykpKSksIDEpCiAgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwobGVuKHNldChtYXAoaWQsIGxpc3QocGVybXV0YXRpb25zKCdhYmNkZScsIDMpKSkpKSwgMSkKIApAQCAtNTU2LDExICs1NzAsMTMgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsaXN0KHppcCgpKSwgbHppcCgpKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIHppcCwgMykKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCB6aXAsIHJhbmdlKDMpLCAzKQotICAgICAgICAjIENoZWNrIHR1cGxlIHJlLXVzZSAoaW1wbGVtZW50YXRpb24gZGV0YWlsKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKFt0dXBsZShsaXN0KHBhaXIpKSBmb3IgcGFpciBpbiB6aXAoJ2FiYycsICdkZWYnKV0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgbHppcCgnYWJjJywgJ2RlZicpKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKFtwYWlyIGZvciBwYWlyIGluIHppcCgnYWJjJywgJ2RlZicpXSwKICAgICAgICAgICAgICAgICAgICAgICAgICBsemlwKCdhYmMnLCAnZGVmJykpCisKKyAgICBAc3VwcG9ydC5pbXBsX2RldGFpbCgidHVwbGUgcmV1c2UgaXMgc3BlY2lmaWMgdG8gQ1B5dGhvbiIpCisgICAgZGVmIHRlc3RfemlwX3R1cGxlX3JldXNlKHNlbGYpOgogICAgICAgICBpZHMgPSBsaXN0KG1hcChpZCwgemlwKCdhYmMnLCAnZGVmJykpKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1pbihpZHMpLCBtYXgoaWRzKSkKICAgICAgICAgaWRzID0gbGlzdChtYXAoaWQsIGxpc3QoemlwKCdhYmMnLCAnZGVmJykpKSkKQEAgLTYwMywxMSArNjE5LDEzIEBACiAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgIHNlbGYuZmFpbCgnRGlkIG5vdCByYWlzZSBUeXBlIGluOiAgJyArIHN0bXQpCiAKLSAgICAgICAgIyBDaGVjayB0dXBsZSByZS11c2UgKGltcGxlbWVudGF0aW9uIGRldGFpbCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChbdHVwbGUobGlzdChwYWlyKSkgZm9yIHBhaXIgaW4gemlwX2xvbmdlc3QoJ2FiYycsICdkZWYnKV0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgbGlzdCh6aXAoJ2FiYycsICdkZWYnKSkpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoW3BhaXIgZm9yIHBhaXIgaW4gemlwX2xvbmdlc3QoJ2FiYycsICdkZWYnKV0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgbGlzdCh6aXAoJ2FiYycsICdkZWYnKSkpCisKKyAgICBAc3VwcG9ydC5pbXBsX2RldGFpbCgidHVwbGUgcmV1c2UgaXMgc3BlY2lmaWMgdG8gQ1B5dGhvbiIpCisgICAgZGVmIHRlc3RfemlwX2xvbmdlc3RfdHVwbGVfcmV1c2Uoc2VsZik6CiAgICAgICAgIGlkcyA9IGxpc3QobWFwKGlkLCB6aXBfbG9uZ2VzdCgnYWJjJywgJ2RlZicpKSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtaW4oaWRzKSwgbWF4KGlkcykpCiAgICAgICAgIGlkcyA9IGxpc3QobWFwKGlkLCBsaXN0KHppcF9sb25nZXN0KCdhYmMnLCAnZGVmJykpKSkKQEAgLTcxMSw3ICs3MjksOCBAQAogICAgICAgICAgICAgYXJncyA9IG1hcChpdGVyLCBhcmdzKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4obGlzdChwcm9kdWN0KCphcmdzKSkpLCBleHBlY3RlZF9sZW4pCiAKLSAgICAgICAgIyBUZXN0IGltcGxlbWVudGF0aW9uIGRldGFpbDogIHR1cGxlIHJlLXVzZQorICAgIEBzdXBwb3J0LmltcGxfZGV0YWlsKCJ0dXBsZSByZXVzZSBpcyBzcGVjaWZpYyB0byBDUHl0aG9uIikKKyAgICBkZWYgdGVzdF9wcm9kdWN0X3R1cGxlX3JldXNlKHNlbGYpOgogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihzZXQobWFwKGlkLCBwcm9kdWN0KCdhYmMnLCAnZGVmJykpKSksIDEpCiAgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwobGVuKHNldChtYXAoaWQsIGxpc3QocHJvZHVjdCgnYWJjJywgJ2RlZicpKSkpKSwgMSkKIApkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9rZXl3b3Jkb25seWFyZy5weSBiL0xpYi90ZXN0L3Rlc3Rfa2V5d29yZG9ubHlhcmcucHkKaW5kZXggM2FlYmQ2OC4uNjFkNDBmOSAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9rZXl3b3Jkb25seWFyZy5weQorKysgYi9MaWIvdGVzdC90ZXN0X2tleXdvcmRvbmx5YXJnLnB5CkBAIC03OCw3ICs3OCw3IEBACiAgICAgICAgICAgICBwYXNzCiAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yKSBhcyBleGM6CiAgICAgICAgICAgICBmKDEsIDIsIDMpCi0gICAgICAgIGV4cGVjdGVkID0gImYoKSB0YWtlcyBhdCBtb3N0IDIgcG9zaXRpb25hbCBhcmd1bWVudHMgKDMgZ2l2ZW4pIgorICAgICAgICBleHBlY3RlZCA9ICJmKCkgdGFrZXMgZnJvbSAxIHRvIDIgcG9zaXRpb25hbCBhcmd1bWVudHMgYnV0IDMgd2VyZSBnaXZlbiIKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdHIoZXhjLmV4Y2VwdGlvbiksIGV4cGVjdGVkKQogCiAgICAgZGVmIHRlc3RTeW50YXhFcnJvckZvckZ1bmN0aW9uQ2FsbChzZWxmKToKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfbGliMnRvMy5weSBiL0xpYi90ZXN0L3Rlc3RfbGliMnRvMy5weQppbmRleCAxYWZhZjcwLi5kZjRjMzdiIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2xpYjJ0bzMucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9saWIydG8zLnB5CkBAIC05LDggKzksOCBAQAogZGVmIHN1aXRlKCk6CiAgICAgdGVzdHMgPSB1bml0dGVzdC5UZXN0U3VpdGUoKQogICAgIGxvYWRlciA9IHVuaXR0ZXN0LlRlc3RMb2FkZXIoKQotICAgIGZvciBtIGluICh0ZXN0X2ZpeGVycywgdGVzdF9weXRyZWUsdGVzdF91dGlsLCB0ZXN0X3JlZmFjdG9yLAotICAgICAgICAgICAgICB0ZXN0X3BhcnNlciwgdGVzdF9tYWluXyk6CisgICAgZm9yIG0gaW4gKHRlc3RfZml4ZXJzLCB0ZXN0X3B5dHJlZSwgdGVzdF91dGlsLCB0ZXN0X3JlZmFjdG9yLCB0ZXN0X3BhcnNlciwKKyAgICAgICAgICAgICAgdGVzdF9tYWluXyk6CiAgICAgICAgIHRlc3RzLmFkZFRlc3RzKGxvYWRlci5sb2FkVGVzdHNGcm9tTW9kdWxlKG0pKQogICAgIHJldHVybiB0ZXN0cwogCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X2xvY2FsZS5weSBiL0xpYi90ZXN0L3Rlc3RfbG9jYWxlLnB5CmluZGV4IDhmNzU3NGIuLjdmZGI2ZGEgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfbG9jYWxlLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfbG9jYWxlLnB5CkBAIC00MDEsNiArNDAxLDggQEAKICAgICAgICAgICAgICMgVW5zdXBwb3J0ZWQgbG9jYWxlIG9uIHRoaXMgc3lzdGVtCiAgICAgICAgICAgICBzZWxmLnNraXBUZXN0KCd0ZXN0IG5lZWRzIFR1cmtpc2ggbG9jYWxlJykKICAgICAgICAgbG9jID0gbG9jYWxlLmdldGxvY2FsZShsb2NhbGUuTENfQ1RZUEUpCisgICAgICAgIGlmIHZlcmJvc2U6CisgICAgICAgICAgICBwcmludCgnZ290IGxvY2FsZSAlYScgJSAobG9jLCkpCiAgICAgICAgIGxvY2FsZS5zZXRsb2NhbGUobG9jYWxlLkxDX0NUWVBFLCBsb2MpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobG9jLCBsb2NhbGUuZ2V0bG9jYWxlKGxvY2FsZS5MQ19DVFlQRSkpCiAKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfbG9nZ2luZy5weSBiL0xpYi90ZXN0L3Rlc3RfbG9nZ2luZy5weQppbmRleCBhYjY2NTk2Li5iMGY4ZjlmIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X2xvZ2dpbmcucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9sb2dnaW5nLnB5CkBAIC0zNiwyMCArMzYsNDMgQEAKIGltcG9ydCByZQogaW1wb3J0IHNlbGVjdAogaW1wb3J0IHNvY2tldAotZnJvbSBzb2NrZXRzZXJ2ZXIgaW1wb3J0IFRocmVhZGluZ1RDUFNlcnZlciwgU3RyZWFtUmVxdWVzdEhhbmRsZXIKIGltcG9ydCBzdHJ1Y3QKIGltcG9ydCBzeXMKIGltcG9ydCB0ZW1wZmlsZQotZnJvbSB0ZXN0LnN1cHBvcnQgaW1wb3J0IGNhcHR1cmVkX3N0ZG91dCwgcnVuX3dpdGhfbG9jYWxlLCBydW5fdW5pdHRlc3QKLWZyb20gdGVzdC5zdXBwb3J0IGltcG9ydCBUZXN0SGFuZGxlciwgTWF0Y2hlcgorZnJvbSB0ZXN0LnN1cHBvcnQgaW1wb3J0IChjYXB0dXJlZF9zdGRvdXQsIHJ1bl93aXRoX2xvY2FsZSwgcnVuX3VuaXR0ZXN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRjaCwgcmVxdWlyZXNfemxpYiwgVGVzdEhhbmRsZXIsIE1hdGNoZXIpCiBpbXBvcnQgdGV4dHdyYXAKK2ltcG9ydCB0aW1lCiBpbXBvcnQgdW5pdHRlc3QKIGltcG9ydCB3YXJuaW5ncwogaW1wb3J0IHdlYWtyZWYKIHRyeToKICAgICBpbXBvcnQgdGhyZWFkaW5nCisgICAgIyBUaGUgZm9sbG93aW5nIGltcG9ydHMgYXJlIG5lZWRlZCBvbmx5IGZvciB0ZXN0cyB3aGljaAorICAgICMgcmVxdWlyZSB0aHJlYWRpbmcKKyAgICBpbXBvcnQgYXN5bmNoYXQKKyAgICBpbXBvcnQgYXN5bmNvcmUKKyAgICBpbXBvcnQgZXJybm8KKyAgICBmcm9tIGh0dHAuc2VydmVyIGltcG9ydCBIVFRQU2VydmVyLCBCYXNlSFRUUFJlcXVlc3RIYW5kbGVyCisgICAgaW1wb3J0IHNtdHBkCisgICAgZnJvbSB1cmxsaWIucGFyc2UgaW1wb3J0IHVybHBhcnNlLCBwYXJzZV9xcworICAgIGZyb20gc29ja2V0c2VydmVyIGltcG9ydCAoVGhyZWFkaW5nVURQU2VydmVyLCBEYXRhZ3JhbVJlcXVlc3RIYW5kbGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhyZWFkaW5nVENQU2VydmVyLCBTdHJlYW1SZXF1ZXN0SGFuZGxlcikKIGV4Y2VwdCBJbXBvcnRFcnJvcjoKICAgICB0aHJlYWRpbmcgPSBOb25lCit0cnk6CisgICAgaW1wb3J0IHdpbjMyZXZ0bG9nCitleGNlcHQgSW1wb3J0RXJyb3I6CisgICAgd2luMzJldnRsb2cgPSBOb25lCit0cnk6CisgICAgaW1wb3J0IHdpbjMyZXZ0bG9ndXRpbAorZXhjZXB0IEltcG9ydEVycm9yOgorICAgIHdpbjMyZXZ0bG9ndXRpbCA9IE5vbmUKKyAgICB3aW4zMmV2dGxvZyA9IE5vbmUKK3RyeToKKyAgICBpbXBvcnQgemxpYgorZXhjZXB0IEltcG9ydEVycm9yOgorICAgIHBhc3MKIAogCiBjbGFzcyBCYXNlVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CkBAIC03Nyw5ICsxMDAsNyBAQAogICAgICAgICBmaW5hbGx5OgogICAgICAgICAgICAgbG9nZ2luZy5fcmVsZWFzZUxvY2soKQogCi0gICAgICAgICMgU2V0IHR3byB1bnVzZWQgbG9nZ2Vyczogb25lIG5vbi1BU0NJSSBhbmQgb25lIFVuaWNvZGUuCi0gICAgICAgICMgVGhpcyBpcyB0byB0ZXN0IGNvcnJlY3Qgb3BlcmF0aW9uIHdoZW4gc29ydGluZyBleGlzdGluZwotICAgICAgICAjIGxvZ2dlcnMgaW4gdGhlIGNvbmZpZ3VyYXRpb24gY29kZS4gU2VlIGlzc3VlIDgyMDEuCisgICAgICAgICMgU2V0IHR3byB1bnVzZWQgbG9nZ2VycwogICAgICAgICBzZWxmLmxvZ2dlcjEgPSBsb2dnaW5nLmdldExvZ2dlcigiXHhhYlx4ZDdceGJiIikKICAgICAgICAgc2VsZi5sb2dnZXIyID0gbG9nZ2luZy5nZXRMb2dnZXIoIlx1MDEzZlx1MDBkNlx1MDA0NyIpCiAKQEAgLTE0MCw4ICsxNjEsNyBAQAogICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6CiAgICAgICAgICAgICAjIFN0cmluZ0lPLlN0cmluZ0lPIGxhY2tzIGEgcmVzZXQoKSBtZXRob2QuCiAgICAgICAgICAgICBhY3R1YWxfbGluZXMgPSBzdHJlYW0uZ2V0dmFsdWUoKS5zcGxpdGxpbmVzKCkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oYWN0dWFsX2xpbmVzKSwgbGVuKGV4cGVjdGVkX3ZhbHVlcyksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICclcyB2cy4gJXMnICUgKGFjdHVhbF9saW5lcywgZXhwZWN0ZWRfdmFsdWVzKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oYWN0dWFsX2xpbmVzKSwgbGVuKGV4cGVjdGVkX3ZhbHVlcykpCiAgICAgICAgIGZvciBhY3R1YWwsIGV4cGVjdGVkIGluIHppcChhY3R1YWxfbGluZXMsIGV4cGVjdGVkX3ZhbHVlcyk6CiAgICAgICAgICAgICBtYXRjaCA9IHBhdC5zZWFyY2goYWN0dWFsKQogICAgICAgICAgICAgaWYgbm90IG1hdGNoOgpAQCAtMTc5LDE3ICsxOTksMTcgQEAKIAogICAgICAgICBJTkYubG9nKGxvZ2dpbmcuQ1JJVElDQUwsIG0oKSkKICAgICAgICAgSU5GLmVycm9yKG0oKSkKLSAgICAgICAgSU5GLndhcm4obSgpKQorICAgICAgICBJTkYud2FybmluZyhtKCkpCiAgICAgICAgIElORi5pbmZvKG0oKSkKIAogICAgICAgICBERUIubG9nKGxvZ2dpbmcuQ1JJVElDQUwsIG0oKSkKICAgICAgICAgREVCLmVycm9yKG0oKSkKLSAgICAgICAgREVCLndhcm4gKG0oKSkKLSAgICAgICAgREVCLmluZm8gKG0oKSkKKyAgICAgICAgREVCLndhcm5pbmcobSgpKQorICAgICAgICBERUIuaW5mbyhtKCkpCiAgICAgICAgIERFQi5kZWJ1ZyhtKCkpCiAKICAgICAgICAgIyBUaGVzZSBzaG91bGQgbm90IGxvZy4KLSAgICAgICAgRVJSLndhcm4obSgpKQorICAgICAgICBFUlIud2FybmluZyhtKCkpCiAgICAgICAgIEVSUi5pbmZvKG0oKSkKICAgICAgICAgRVJSLmRlYnVnKG0oKSkKIApAQCAtMjIzLDcgKzI0Myw3IEBACiAgICAgICAgIElORl9FUlIuZXJyb3IobSgpKQogCiAgICAgICAgICMgVGhlc2Ugc2hvdWxkIG5vdCBsb2cuCi0gICAgICAgIElORl9FUlIud2FybihtKCkpCisgICAgICAgIElORl9FUlIud2FybmluZyhtKCkpCiAgICAgICAgIElORl9FUlIuaW5mbyhtKCkpCiAgICAgICAgIElORl9FUlIuZGVidWcobSgpKQogCkBAIC0yNDcsMTQgKzI2NywxNCBAQAogICAgICAgICAjIFRoZXNlIHNob3VsZCBsb2cuCiAgICAgICAgIElORl9VTkRFRi5sb2cobG9nZ2luZy5DUklUSUNBTCwgbSgpKQogICAgICAgICBJTkZfVU5ERUYuZXJyb3IobSgpKQotICAgICAgICBJTkZfVU5ERUYud2FybihtKCkpCisgICAgICAgIElORl9VTkRFRi53YXJuaW5nKG0oKSkKICAgICAgICAgSU5GX1VOREVGLmluZm8obSgpKQogICAgICAgICBJTkZfRVJSX1VOREVGLmxvZyhsb2dnaW5nLkNSSVRJQ0FMLCBtKCkpCiAgICAgICAgIElORl9FUlJfVU5ERUYuZXJyb3IobSgpKQogCiAgICAgICAgICMgVGhlc2Ugc2hvdWxkIG5vdCBsb2cuCiAgICAgICAgIElORl9VTkRFRi5kZWJ1ZyhtKCkpCi0gICAgICAgIElORl9FUlJfVU5ERUYud2FybihtKCkpCisgICAgICAgIElORl9FUlJfVU5ERUYud2FybmluZyhtKCkpCiAgICAgICAgIElORl9FUlJfVU5ERUYuaW5mbyhtKCkpCiAgICAgICAgIElORl9FUlJfVU5ERUYuZGVidWcobSgpKQogCkBAIC0yOTMsOCArMzEzLDYgQEAKICAgICAgICAgICAgICgnSU5GLkJBRFBBUkVOVCcsICdJTkZPJywgJzQnKSwKICAgICAgICAgXSkKIAotICAgIGRlZiB0ZXN0X2ludmFsaWRfbmFtZShzZWxmKToKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBsb2dnaW5nLmdldExvZ2dlciwgYW55KQogCiBjbGFzcyBCYXNpY0ZpbHRlclRlc3QoQmFzZVRlc3QpOgogCkBAIC0zNTMsNiArMzcxLDEwIEBACiAgICAgICAgIGZpbmFsbHk6CiAgICAgICAgICAgICBoYW5kbGVyLnJlbW92ZUZpbHRlcihmaWx0ZXJmdW5jKQogCisgICAgZGVmIHRlc3RfZW1wdHlfZmlsdGVyKHNlbGYpOgorICAgICAgICBmID0gbG9nZ2luZy5GaWx0ZXIoKQorICAgICAgICByID0gbG9nZ2luZy5tYWtlTG9nUmVjb3JkKHsnbmFtZSc6ICdzcGFtLmVnZ3MnfSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGYuZmlsdGVyKHIpKQogCiAjCiAjICAgRmlyc3QsIHdlIGRlZmluZSBvdXIgbGV2ZWxzLiBUaGVyZSBjYW4gYmUgYXMgbWFueSBhcyB5b3Ugd2FudCAtIHRoZSBvbmx5CkBAIC00OTYsNiArNTE4LDQzOSBAQAogICAgICAgICAgICAgaGFuZGxlci5yZW1vdmVGaWx0ZXIoZ2FycikKIAogCitjbGFzcyBIYW5kbGVyVGVzdChCYXNlVGVzdCk6CisgICAgZGVmIHRlc3RfbmFtZShzZWxmKToKKyAgICAgICAgaCA9IGxvZ2dpbmcuSGFuZGxlcigpCisgICAgICAgIGgubmFtZSA9ICdnZW5lcmljJworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGgubmFtZSwgJ2dlbmVyaWMnKQorICAgICAgICBoLm5hbWUgPSAnYW5vdGhlcmdlbmVyaWMnCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaC5uYW1lLCAnYW5vdGhlcmdlbmVyaWMnKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhOb3RJbXBsZW1lbnRlZEVycm9yLCBoLmVtaXQsIE5vbmUpCisKKyAgICBkZWYgdGVzdF9idWlsdGluX2hhbmRsZXJzKHNlbGYpOgorICAgICAgICAjIFdlIGNhbid0IGFjdHVhbGx5ICp1c2UqIHRvbyBtYW55IGhhbmRsZXJzIGluIHRoZSB0ZXN0cywKKyAgICAgICAgIyBidXQgd2UgY2FuIHRyeSBpbnN0YW50aWF0aW5nIHRoZW0gd2l0aCB2YXJpb3VzIG9wdGlvbnMKKyAgICAgICAgaWYgc3lzLnBsYXRmb3JtIGluICgnbGludXgnLCAnZGFyd2luJyk6CisgICAgICAgICAgICBmb3IgZXhpc3RpbmcgaW4gKFRydWUsIEZhbHNlKToKKyAgICAgICAgICAgICAgICBmZCwgZm4gPSB0ZW1wZmlsZS5ta3N0ZW1wKCkKKyAgICAgICAgICAgICAgICBvcy5jbG9zZShmZCkKKyAgICAgICAgICAgICAgICBpZiBub3QgZXhpc3Rpbmc6CisgICAgICAgICAgICAgICAgICAgIG9zLnVubGluayhmbikKKyAgICAgICAgICAgICAgICBoID0gbG9nZ2luZy5oYW5kbGVycy5XYXRjaGVkRmlsZUhhbmRsZXIoZm4sIGRlbGF5PVRydWUpCisgICAgICAgICAgICAgICAgaWYgZXhpc3Rpbmc6CisgICAgICAgICAgICAgICAgICAgIGRldiwgaW5vID0gaC5kZXYsIGguaW5vCisgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwoZGV2LCAtMSkKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbChpbm8sIC0xKQorICAgICAgICAgICAgICAgICAgICByID0gbG9nZ2luZy5tYWtlTG9nUmVjb3JkKHsnbXNnJzogJ1Rlc3QnfSkKKyAgICAgICAgICAgICAgICAgICAgaC5oYW5kbGUocikKKyAgICAgICAgICAgICAgICAgICAgIyBOb3cgcmVtb3ZlIHRoZSBmaWxlLgorICAgICAgICAgICAgICAgICAgICBvcy51bmxpbmsoZm4pCisgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2Uob3MucGF0aC5leGlzdHMoZm4pKQorICAgICAgICAgICAgICAgICAgICAjIFRoZSBuZXh0IGNhbGwgc2hvdWxkIHJlY3JlYXRlIHRoZSBmaWxlLgorICAgICAgICAgICAgICAgICAgICBoLmhhbmRsZShyKQorICAgICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUob3MucGF0aC5leGlzdHMoZm4pKQorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaC5kZXYsIC0xKQorICAgICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGguaW5vLCAtMSkKKyAgICAgICAgICAgICAgICBoLmNsb3NlKCkKKyAgICAgICAgICAgICAgICBpZiBleGlzdGluZzoKKyAgICAgICAgICAgICAgICAgICAgb3MudW5saW5rKGZuKQorICAgICAgICAgICAgaWYgc3lzLnBsYXRmb3JtID09ICdkYXJ3aW4nOgorICAgICAgICAgICAgICAgIHNvY2tuYW1lID0gJy92YXIvcnVuL3N5c2xvZycKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgc29ja25hbWUgPSAnL2Rldi9sb2cnCisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgaCA9IGxvZ2dpbmcuaGFuZGxlcnMuU3lzTG9nSGFuZGxlcihzb2NrbmFtZSkKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGguZmFjaWxpdHksIGguTE9HX1VTRVIpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGgudW5peHNvY2tldCkKKyAgICAgICAgICAgICAgICBoLmNsb3NlKCkKKyAgICAgICAgICAgIGV4Y2VwdCBzb2NrZXQuZXJyb3I6ICMgc3lzbG9nZCBtaWdodCBub3QgYmUgYXZhaWxhYmxlCisgICAgICAgICAgICAgICAgcGFzcworICAgICAgICBmb3IgbWV0aG9kIGluICgnR0VUJywgJ1BPU1QnLCAnUFVUJyk6CisgICAgICAgICAgICBpZiBtZXRob2QgPT0gJ1BVVCc6CisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgbG9nZ2luZy5oYW5kbGVycy5IVFRQSGFuZGxlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbG9jYWxob3N0JywgJy9sb2cnLCBtZXRob2QpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIGggPSBsb2dnaW5nLmhhbmRsZXJzLkhUVFBIYW5kbGVyKCdsb2NhbGhvc3QnLCAnL2xvZycsIG1ldGhvZCkKKyAgICAgICAgICAgICAgICBoLmNsb3NlKCkKKyAgICAgICAgaCA9IGxvZ2dpbmcuaGFuZGxlcnMuQnVmZmVyaW5nSGFuZGxlcigwKQorICAgICAgICByID0gbG9nZ2luZy5tYWtlTG9nUmVjb3JkKHt9KQorICAgICAgICBzZWxmLmFzc2VydFRydWUoaC5zaG91bGRGbHVzaChyKSkKKyAgICAgICAgaC5jbG9zZSgpCisgICAgICAgIGggPSBsb2dnaW5nLmhhbmRsZXJzLkJ1ZmZlcmluZ0hhbmRsZXIoMSkKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShoLnNob3VsZEZsdXNoKHIpKQorICAgICAgICBoLmNsb3NlKCkKKworY2xhc3MgQmFkU3RyZWFtKG9iamVjdCk6CisgICAgZGVmIHdyaXRlKHNlbGYsIGRhdGEpOgorICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IoJ2RlbGliZXJhdGUgbWlzdGFrZScpCisKK2NsYXNzIFRlc3RTdHJlYW1IYW5kbGVyKGxvZ2dpbmcuU3RyZWFtSGFuZGxlcik6CisgICAgZGVmIGhhbmRsZUVycm9yKHNlbGYsIHJlY29yZCk6CisgICAgICAgIHNlbGYuZXJyb3JfcmVjb3JkID0gcmVjb3JkCisKK2NsYXNzIFN0cmVhbUhhbmRsZXJUZXN0KEJhc2VUZXN0KToKKyAgICBkZWYgdGVzdF9lcnJvcl9oYW5kbGluZyhzZWxmKToKKyAgICAgICAgaCA9IFRlc3RTdHJlYW1IYW5kbGVyKEJhZFN0cmVhbSgpKQorICAgICAgICByID0gbG9nZ2luZy5tYWtlTG9nUmVjb3JkKHt9KQorICAgICAgICBvbGRfcmFpc2UgPSBsb2dnaW5nLnJhaXNlRXhjZXB0aW9ucworICAgICAgICBvbGRfc3RkZXJyID0gc3lzLnN0ZGVycgorICAgICAgICB0cnk6CisgICAgICAgICAgICBoLmhhbmRsZShyKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRJcyhoLmVycm9yX3JlY29yZCwgcikKKyAgICAgICAgICAgIGggPSBsb2dnaW5nLlN0cmVhbUhhbmRsZXIoQmFkU3RyZWFtKCkpCisgICAgICAgICAgICBzeXMuc3RkZXJyID0gc2lvID0gaW8uU3RyaW5nSU8oKQorICAgICAgICAgICAgaC5oYW5kbGUocikKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ1xuUnVudGltZUVycm9yOiBkZWxpYmVyYXRlIG1pc3Rha2VcbicsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHNpby5nZXR2YWx1ZSgpKQorICAgICAgICAgICAgbG9nZ2luZy5yYWlzZUV4Y2VwdGlvbnMgPSBGYWxzZQorICAgICAgICAgICAgc3lzLnN0ZGVyciA9IHNpbyA9IGlvLlN0cmluZ0lPKCkKKyAgICAgICAgICAgIGguaGFuZGxlKHIpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCcnLCBzaW8uZ2V0dmFsdWUoKSkKKyAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgIGxvZ2dpbmcucmFpc2VFeGNlcHRpb25zID0gb2xkX3JhaXNlCisgICAgICAgICAgICBzeXMuc3RkZXJyID0gb2xkX3N0ZGVycgorCisjIC0tIFRoZSBmb2xsb3dpbmcgc2VjdGlvbiBjb3VsZCBiZSBtb3ZlZCBpbnRvIGEgc2VydmVyX2hlbHBlci5weSBtb2R1bGUKKyMgLS0gaWYgaXQgcHJvdmVzIHRvIGJlIG9mIHdpZGVyIHV0aWxpdHkgdGhhbiBqdXN0IHRlc3RfbG9nZ2luZworCitpZiB0aHJlYWRpbmc6CisgICAgY2xhc3MgVGVzdFNNVFBDaGFubmVsKHNtdHBkLlNNVFBDaGFubmVsKToKKyAgICAgICAgIiIiCisgICAgICAgIFRoaXMgZGVyaXZlZCBjbGFzcyBoYXMgaGFkIHRvIGJlIGNyZWF0ZWQgYmVjYXVzZSBzbXRwZCBkb2VzIG5vdAorICAgICAgICBzdXBwb3J0IHVzZSBvZiBjdXN0b20gY2hhbm5lbCBtYXBzLCBhbHRob3VnaCB0aGV5IGFyZSBhbGxvd2VkIGJ5CisgICAgICAgIGFzeW5jb3JlJ3MgZGVzaWduLiBJc3N1ZSAjMTE5NTkgaGFzIGJlZW4gcmFpc2VkIHRvIGFkZHJlc3MgdGhpcywKKyAgICAgICAgYW5kIGlmIHJlc29sdmVkIHNhdGlzZmFjdG9yaWx5LCBzb21lIG9mIHRoaXMgY29kZSBjYW4gYmUgcmVtb3ZlZC4KKyAgICAgICAgIiIiCisgICAgICAgIGRlZiBfX2luaXRfXyhzZWxmLCBzZXJ2ZXIsIGNvbm4sIGFkZHIsIHNvY2ttYXApOgorICAgICAgICAgICAgYXN5bmNoYXQuYXN5bmNfY2hhdC5fX2luaXRfXyhzZWxmLCBjb25uLCBzb2NrbWFwKQorICAgICAgICAgICAgc2VsZi5zbXRwX3NlcnZlciA9IHNlcnZlcgorICAgICAgICAgICAgc2VsZi5jb25uID0gY29ubgorICAgICAgICAgICAgc2VsZi5hZGRyID0gYWRkcgorICAgICAgICAgICAgc2VsZi5yZWNlaXZlZF9saW5lcyA9IFtdCisgICAgICAgICAgICBzZWxmLnNtdHBfc3RhdGUgPSBzZWxmLkNPTU1BTkQKKyAgICAgICAgICAgIHNlbGYuc2Vlbl9ncmVldGluZyA9ICcnCisgICAgICAgICAgICBzZWxmLm1haWxmcm9tID0gTm9uZQorICAgICAgICAgICAgc2VsZi5yY3B0dG9zID0gW10KKyAgICAgICAgICAgIHNlbGYucmVjZWl2ZWRfZGF0YSA9ICcnCisgICAgICAgICAgICBzZWxmLmZxZG4gPSBzb2NrZXQuZ2V0ZnFkbigpCisgICAgICAgICAgICBzZWxmLm51bV9ieXRlcyA9IDAKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBzZWxmLnBlZXIgPSBjb25uLmdldHBlZXJuYW1lKCkKKyAgICAgICAgICAgIGV4Y2VwdCBzb2NrZXQuZXJyb3IgYXMgZXJyOgorICAgICAgICAgICAgICAgICMgYSByYWNlIGNvbmRpdGlvbiAgbWF5IG9jY3VyIGlmIHRoZSBvdGhlciBlbmQgaXMgY2xvc2luZworICAgICAgICAgICAgICAgICMgYmVmb3JlIHdlIGNhbiBnZXQgdGhlIHBlZXJuYW1lCisgICAgICAgICAgICAgICAgc2VsZi5jbG9zZSgpCisgICAgICAgICAgICAgICAgaWYgZXJyLmFyZ3NbMF0gIT0gZXJybm8uRU5PVENPTk46CisgICAgICAgICAgICAgICAgICAgIHJhaXNlCisgICAgICAgICAgICAgICAgcmV0dXJuCisgICAgICAgICAgICBzZWxmLnB1c2goJzIyMCAlcyAlcycgJSAoc2VsZi5mcWRuLCBzbXRwZC5fX3ZlcnNpb25fXykpCisgICAgICAgICAgICBzZWxmLnNldF90ZXJtaW5hdG9yKGInXHJcbicpCisKKworICAgIGNsYXNzIFRlc3RTTVRQU2VydmVyKHNtdHBkLlNNVFBTZXJ2ZXIpOgorICAgICAgICAiIiIKKyAgICAgICAgVGhpcyBjbGFzcyBpbXBsZW1lbnRzIGEgdGVzdCBTTVRQIHNlcnZlci4KKworICAgICAgICA6cGFyYW0gYWRkcjogQSAoaG9zdCwgcG9ydCkgdHVwbGUgd2hpY2ggdGhlIHNlcnZlciBsaXN0ZW5zIG9uLgorICAgICAgICAgICAgICAgICAgICAgWW91IGNhbiBzcGVjaWZ5IGEgcG9ydCB2YWx1ZSBvZiB6ZXJvOiB0aGUgc2VydmVyJ3MKKyAgICAgICAgICAgICAgICAgICAgICpwb3J0KiBhdHRyaWJ1dGUgd2lsbCBob2xkIHRoZSBhY3R1YWwgcG9ydCBudW1iZXIKKyAgICAgICAgICAgICAgICAgICAgIHVzZWQsIHdoaWNoIGNhbiBiZSB1c2VkIGluIGNsaWVudCBjb25uZWN0aW9ucy4KKyAgICAgICAgOnBhcmFtIGhhbmRsZXI6IEEgY2FsbGFibGUgd2hpY2ggd2lsbCBiZSBjYWxsZWQgdG8gcHJvY2VzcworICAgICAgICAgICAgICAgICAgICAgICAgaW5jb21pbmcgbWVzc2FnZXMuIFRoZSBoYW5kbGVyIHdpbGwgYmUgcGFzc2VkCisgICAgICAgICAgICAgICAgICAgICAgICB0aGUgY2xpZW50IGFkZHJlc3MgdHVwbGUsIHdobyB0aGUgbWVzc2FnZSBpcyBmcm9tLAorICAgICAgICAgICAgICAgICAgICAgICAgYSBsaXN0IG9mIHJlY2lwaWVudHMgYW5kIHRoZSBtZXNzYWdlIGRhdGEuCisgICAgICAgIDpwYXJhbSBwb2xsX2ludGVydmFsOiBUaGUgaW50ZXJ2YWwsIGluIHNlY29uZHMsIHVzZWQgaW4gdGhlIHVuZGVybHlpbmcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpmdW5jOmBzZWxlY3RgIG9yIDpmdW5jOmBwb2xsYCBjYWxsIGJ5CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ZnVuYzpgYXN5bmNvcmUubG9vcGAuCisgICAgICAgIDpwYXJhbSBzb2NrbWFwOiBBIGRpY3Rpb25hcnkgd2hpY2ggd2lsbCBiZSB1c2VkIHRvIGhvbGQKKyAgICAgICAgICAgICAgICAgICAgICAgIDpjbGFzczpgYXN5bmNvcmUuZGlzcGF0Y2hlcmAgaW5zdGFuY2VzIHVzZWQgYnkKKyAgICAgICAgICAgICAgICAgICAgICAgIDpmdW5jOmBhc3luY29yZS5sb29wYC4gVGhpcyBhdm9pZHMgY2hhbmdpbmcgdGhlCisgICAgICAgICAgICAgICAgICAgICAgICA6bW9kOmBhc3luY29yZWAgbW9kdWxlJ3MgZ2xvYmFsIHN0YXRlLgorICAgICAgICAiIiIKKyAgICAgICAgY2hhbm5lbF9jbGFzcyA9IFRlc3RTTVRQQ2hhbm5lbAorCisgICAgICAgIGRlZiBfX2luaXRfXyhzZWxmLCBhZGRyLCBoYW5kbGVyLCBwb2xsX2ludGVydmFsLCBzb2NrbWFwKToKKyAgICAgICAgICAgIHNlbGYuX2xvY2FsYWRkciA9IGFkZHIKKyAgICAgICAgICAgIHNlbGYuX3JlbW90ZWFkZHIgPSBOb25lCisgICAgICAgICAgICBzZWxmLnNvY2ttYXAgPSBzb2NrbWFwCisgICAgICAgICAgICBhc3luY29yZS5kaXNwYXRjaGVyLl9faW5pdF9fKHNlbGYsIG1hcD1zb2NrbWFwKQorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIHNvY2sgPSBzb2NrZXQuc29ja2V0KHNvY2tldC5BRl9JTkVULCBzb2NrZXQuU09DS19TVFJFQU0pCisgICAgICAgICAgICAgICAgc29jay5zZXRibG9ja2luZygwKQorICAgICAgICAgICAgICAgIHNlbGYuc2V0X3NvY2tldChzb2NrLCBtYXA9c29ja21hcCkKKyAgICAgICAgICAgICAgICAjIHRyeSB0byByZS11c2UgYSBzZXJ2ZXIgcG9ydCBpZiBwb3NzaWJsZQorICAgICAgICAgICAgICAgIHNlbGYuc2V0X3JldXNlX2FkZHIoKQorICAgICAgICAgICAgICAgIHNlbGYuYmluZChhZGRyKQorICAgICAgICAgICAgICAgIHNlbGYucG9ydCA9IHNvY2suZ2V0c29ja25hbWUoKVsxXQorICAgICAgICAgICAgICAgIHNlbGYubGlzdGVuKDUpCisgICAgICAgICAgICBleGNlcHQ6CisgICAgICAgICAgICAgICAgc2VsZi5jbG9zZSgpCisgICAgICAgICAgICAgICAgcmFpc2UKKyAgICAgICAgICAgIHNlbGYuX2hhbmRsZXIgPSBoYW5kbGVyCisgICAgICAgICAgICBzZWxmLl90aHJlYWQgPSBOb25lCisgICAgICAgICAgICBzZWxmLnBvbGxfaW50ZXJ2YWwgPSBwb2xsX2ludGVydmFsCisKKyAgICAgICAgZGVmIGhhbmRsZV9hY2NlcHRlZChzZWxmLCBjb25uLCBhZGRyKToKKyAgICAgICAgICAgICIiIgorICAgICAgICAgICAgUmVkZWZpbmVkIG9ubHkgYmVjYXVzZSB0aGUgYmFzZSBjbGFzcyBkb2VzIG5vdCBwYXNzIGluIGEKKyAgICAgICAgICAgIG1hcCwgZm9yY2luZyB1c2Ugb2YgYSBnbG9iYWwgaW4gOm1vZDpgYXN5bmNvcmVgLgorICAgICAgICAgICAgIiIiCisgICAgICAgICAgICBjaGFubmVsID0gc2VsZi5jaGFubmVsX2NsYXNzKHNlbGYsIGNvbm4sIGFkZHIsIHNlbGYuc29ja21hcCkKKworICAgICAgICBkZWYgcHJvY2Vzc19tZXNzYWdlKHNlbGYsIHBlZXIsIG1haWxmcm9tLCByY3B0dG9zLCBkYXRhKToKKyAgICAgICAgICAgICIiIgorICAgICAgICAgICAgRGVsZWdhdGVzIHRvIHRoZSBoYW5kbGVyIHBhc3NlZCBpbiB0byB0aGUgc2VydmVyJ3MgY29uc3RydWN0b3IuCisKKyAgICAgICAgICAgIFR5cGljYWxseSwgdGhpcyB3aWxsIGJlIGEgdGVzdCBjYXNlIG1ldGhvZC4KKyAgICAgICAgICAgIDpwYXJhbSBwZWVyOiBUaGUgY2xpZW50IChob3N0LCBwb3J0KSB0dXBsZS4KKyAgICAgICAgICAgIDpwYXJhbSBtYWlsZnJvbTogVGhlIGFkZHJlc3Mgb2YgdGhlIHNlbmRlci4KKyAgICAgICAgICAgIDpwYXJhbSByY3B0dG9zOiBUaGUgYWRkcmVzc2VzIG9mIHRoZSByZWNpcGllbnRzLgorICAgICAgICAgICAgOnBhcmFtIGRhdGE6IFRoZSBtZXNzYWdlLgorICAgICAgICAgICAgIiIiCisgICAgICAgICAgICBzZWxmLl9oYW5kbGVyKHBlZXIsIG1haWxmcm9tLCByY3B0dG9zLCBkYXRhKQorCisgICAgICAgIGRlZiBzdGFydChzZWxmKToKKyAgICAgICAgICAgICIiIgorICAgICAgICAgICAgU3RhcnQgdGhlIHNlcnZlciBydW5uaW5nIG9uIGEgc2VwYXJhdGUgZGFlbW9uIHRocmVhZC4KKyAgICAgICAgICAgICIiIgorICAgICAgICAgICAgc2VsZi5fdGhyZWFkID0gdCA9IHRocmVhZGluZy5UaHJlYWQodGFyZ2V0PXNlbGYuc2VydmVfZm9yZXZlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyZ3M9KHNlbGYucG9sbF9pbnRlcnZhbCwpKQorICAgICAgICAgICAgdC5zZXREYWVtb24oVHJ1ZSkKKyAgICAgICAgICAgIHQuc3RhcnQoKQorCisgICAgICAgIGRlZiBzZXJ2ZV9mb3JldmVyKHNlbGYsIHBvbGxfaW50ZXJ2YWwpOgorICAgICAgICAgICAgIiIiCisgICAgICAgICAgICBSdW4gdGhlIDptb2Q6YGFzeW5jb3JlYCBsb29wIHVudGlsIG5vcm1hbCB0ZXJtaW5hdGlvbgorICAgICAgICAgICAgY29uZGl0aW9ucyBhcmlzZS4KKyAgICAgICAgICAgIDpwYXJhbSBwb2xsX2ludGVydmFsOiBUaGUgaW50ZXJ2YWwsIGluIHNlY29uZHMsIHVzZWQgaW4gdGhlIHVuZGVybHlpbmcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ZnVuYzpgc2VsZWN0YCBvciA6ZnVuYzpgcG9sbGAgY2FsbCBieQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpmdW5jOmBhc3luY29yZS5sb29wYC4KKyAgICAgICAgICAgICIiIgorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIGFzeW5jb3JlLmxvb3AocG9sbF9pbnRlcnZhbCwgbWFwPXNlbGYuc29ja21hcCkKKyAgICAgICAgICAgIGV4Y2VwdCBzZWxlY3QuZXJyb3I6CisgICAgICAgICAgICAgICAgIyBPbiBGcmVlQlNEIDgsIGNsb3NpbmcgdGhlIHNlcnZlciByZXBlYXRhYmx5CisgICAgICAgICAgICAgICAgIyByYWlzZXMgdGhpcyBlcnJvci4gV2Ugc3dhbGxvdyBpdCBpZiB0aGUKKyAgICAgICAgICAgICAgICAjIHNlcnZlciBoYXMgYmVlbiBjbG9zZWQuCisgICAgICAgICAgICAgICAgaWYgc2VsZi5jb25uZWN0ZWQgb3Igc2VsZi5hY2NlcHRpbmc6CisgICAgICAgICAgICAgICAgICAgIHJhaXNlCisKKyAgICAgICAgZGVmIHN0b3Aoc2VsZiwgdGltZW91dD1Ob25lKToKKyAgICAgICAgICAgICIiIgorICAgICAgICAgICAgU3RvcCB0aGUgdGhyZWFkIGJ5IGNsb3NpbmcgdGhlIHNlcnZlciBpbnN0YW5jZS4KKyAgICAgICAgICAgIFdhaXQgZm9yIHRoZSBzZXJ2ZXIgdGhyZWFkIHRvIHRlcm1pbmF0ZS4KKworICAgICAgICAgICAgOnBhcmFtIHRpbWVvdXQ6IEhvdyBsb25nIHRvIHdhaXQgZm9yIHRoZSBzZXJ2ZXIgdGhyZWFkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gdGVybWluYXRlLgorICAgICAgICAgICAgIiIiCisgICAgICAgICAgICBzZWxmLmNsb3NlKCkKKyAgICAgICAgICAgIHNlbGYuX3RocmVhZC5qb2luKHRpbWVvdXQpCisgICAgICAgICAgICBzZWxmLl90aHJlYWQgPSBOb25lCisKKyAgICBjbGFzcyBDb250cm9sTWl4aW4ob2JqZWN0KToKKyAgICAgICAgIiIiCisgICAgICAgIFRoaXMgbWl4aW4gaXMgdXNlZCB0byBzdGFydCBhIHNlcnZlciBvbiBhIHNlcGFyYXRlIHRocmVhZCwgYW5kCisgICAgICAgIHNodXQgaXQgZG93biBwcm9ncmFtbWF0aWNhbGx5LiBSZXF1ZXN0IGhhbmRsaW5nIGlzIHNpbXBsaWZpZWQgLSBpbnN0ZWFkCisgICAgICAgIG9mIG5lZWRpbmcgdG8gZGVyaXZlIGEgc3VpdGFibGUgUmVxdWVzdEhhbmRsZXIgc3ViY2xhc3MsIHlvdSBqdXN0CisgICAgICAgIHByb3ZpZGUgYSBjYWxsYWJsZSB3aGljaCB3aWxsIGJlIHBhc3NlZCBlYWNoIHJlY2VpdmVkIHJlcXVlc3QgdG8gYmUKKyAgICAgICAgcHJvY2Vzc2VkLgorCisgICAgICAgIDpwYXJhbSBoYW5kbGVyOiBBIGhhbmRsZXIgY2FsbGFibGUgd2hpY2ggd2lsbCBiZSBjYWxsZWQgd2l0aCBhCisgICAgICAgICAgICAgICAgICAgICAgICBzaW5nbGUgcGFyYW1ldGVyIC0gdGhlIHJlcXVlc3QgLSBpbiBvcmRlciB0bworICAgICAgICAgICAgICAgICAgICAgICAgcHJvY2VzcyB0aGUgcmVxdWVzdC4gVGhpcyBoYW5kbGVyIGlzIGNhbGxlZCBvbiB0aGUKKyAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZlciB0aHJlYWQsIGVmZmVjdGl2ZWx5IG1lYW5pbmcgdGhhdCByZXF1ZXN0cyBhcmUKKyAgICAgICAgICAgICAgICAgICAgICAgIHByb2Nlc3NlZCBzZXJpYWxseS4gV2hpbGUgbm90IHF1aXRlIFdlYiBzY2FsZSA7LSksCisgICAgICAgICAgICAgICAgICAgICAgICB0aGlzIHNob3VsZCBiZSBmaW5lIGZvciB0ZXN0aW5nIGFwcGxpY2F0aW9ucy4KKyAgICAgICAgOnBhcmFtIHBvbGxfaW50ZXJ2YWw6IFRoZSBwb2xsaW5nIGludGVydmFsIGluIHNlY29uZHMuCisgICAgICAgICIiIgorICAgICAgICBkZWYgX19pbml0X18oc2VsZiwgaGFuZGxlciwgcG9sbF9pbnRlcnZhbCk6CisgICAgICAgICAgICBzZWxmLl90aHJlYWQgPSBOb25lCisgICAgICAgICAgICBzZWxmLnBvbGxfaW50ZXJ2YWwgPSBwb2xsX2ludGVydmFsCisgICAgICAgICAgICBzZWxmLl9oYW5kbGVyID0gaGFuZGxlcgorICAgICAgICAgICAgc2VsZi5yZWFkeSA9IHRocmVhZGluZy5FdmVudCgpCisKKyAgICAgICAgZGVmIHN0YXJ0KHNlbGYpOgorICAgICAgICAgICAgIiIiCisgICAgICAgICAgICBDcmVhdGUgYSBkYWVtb24gdGhyZWFkIHRvIHJ1biB0aGUgc2VydmVyLCBhbmQgc3RhcnQgaXQuCisgICAgICAgICAgICAiIiIKKyAgICAgICAgICAgIHNlbGYuX3RocmVhZCA9IHQgPSB0aHJlYWRpbmcuVGhyZWFkKHRhcmdldD1zZWxmLnNlcnZlX2ZvcmV2ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmdzPShzZWxmLnBvbGxfaW50ZXJ2YWwsKSkKKyAgICAgICAgICAgIHQuc2V0RGFlbW9uKFRydWUpCisgICAgICAgICAgICB0LnN0YXJ0KCkKKworICAgICAgICBkZWYgc2VydmVfZm9yZXZlcihzZWxmLCBwb2xsX2ludGVydmFsKToKKyAgICAgICAgICAgICIiIgorICAgICAgICAgICAgUnVuIHRoZSBzZXJ2ZXIuIFNldCB0aGUgcmVhZHkgZmxhZyBiZWZvcmUgZW50ZXJpbmcgdGhlCisgICAgICAgICAgICBzZXJ2aWNlIGxvb3AuCisgICAgICAgICAgICAiIiIKKyAgICAgICAgICAgIHNlbGYucmVhZHkuc2V0KCkKKyAgICAgICAgICAgIHN1cGVyKENvbnRyb2xNaXhpbiwgc2VsZikuc2VydmVfZm9yZXZlcihwb2xsX2ludGVydmFsKQorCisgICAgICAgIGRlZiBzdG9wKHNlbGYsIHRpbWVvdXQ9Tm9uZSk6CisgICAgICAgICAgICAiIiIKKyAgICAgICAgICAgIFRlbGwgdGhlIHNlcnZlciB0aHJlYWQgdG8gc3RvcCwgYW5kIHdhaXQgZm9yIGl0IHRvIGRvIHNvLgorCisgICAgICAgICAgICA6cGFyYW0gdGltZW91dDogSG93IGxvbmcgdG8gd2FpdCBmb3IgdGhlIHNlcnZlciB0aHJlYWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byB0ZXJtaW5hdGUuCisgICAgICAgICAgICAiIiIKKyAgICAgICAgICAgIHNlbGYuc2h1dGRvd24oKQorICAgICAgICAgICAgaWYgc2VsZi5fdGhyZWFkIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgICAgIHNlbGYuX3RocmVhZC5qb2luKHRpbWVvdXQpCisgICAgICAgICAgICAgICAgc2VsZi5fdGhyZWFkID0gTm9uZQorICAgICAgICAgICAgc2VsZi5zZXJ2ZXJfY2xvc2UoKQorICAgICAgICAgICAgc2VsZi5yZWFkeS5jbGVhcigpCisKKyAgICBjbGFzcyBUZXN0SFRUUFNlcnZlcihDb250cm9sTWl4aW4sIEhUVFBTZXJ2ZXIpOgorICAgICAgICAiIiIKKyAgICAgICAgQW4gSFRUUCBzZXJ2ZXIgd2hpY2ggaXMgY29udHJvbGxhYmxlIHVzaW5nIDpjbGFzczpgQ29udHJvbE1peGluYC4KKworICAgICAgICA6cGFyYW0gYWRkcjogQSB0dXBsZSB3aXRoIHRoZSBJUCBhZGRyZXNzIGFuZCBwb3J0IHRvIGxpc3RlbiBvbi4KKyAgICAgICAgOnBhcmFtIGhhbmRsZXI6IEEgaGFuZGxlciBjYWxsYWJsZSB3aGljaCB3aWxsIGJlIGNhbGxlZCB3aXRoIGEKKyAgICAgICAgICAgICAgICAgICAgICAgIHNpbmdsZSBwYXJhbWV0ZXIgLSB0aGUgcmVxdWVzdCAtIGluIG9yZGVyIHRvCisgICAgICAgICAgICAgICAgICAgICAgICBwcm9jZXNzIHRoZSByZXF1ZXN0LgorICAgICAgICA6cGFyYW0gcG9sbF9pbnRlcnZhbDogVGhlIHBvbGxpbmcgaW50ZXJ2YWwgaW4gc2Vjb25kcy4KKyAgICAgICAgOnBhcmFtIGxvZzogUGFzcyBgYFRydWVgYCB0byBlbmFibGUgbG9nIG1lc3NhZ2VzLgorICAgICAgICAiIiIKKyAgICAgICAgZGVmIF9faW5pdF9fKHNlbGYsIGFkZHIsIGhhbmRsZXIsIHBvbGxfaW50ZXJ2YWw9MC41LAorICAgICAgICAgICAgICAgICAgICAgbG9nPUZhbHNlLCBzc2xjdHg9Tm9uZSk6CisgICAgICAgICAgICBjbGFzcyBEZWxlZ2F0aW5nSFRUUFJlcXVlc3RIYW5kbGVyKEJhc2VIVFRQUmVxdWVzdEhhbmRsZXIpOgorICAgICAgICAgICAgICAgIGRlZiBfX2dldGF0dHJfXyhzZWxmLCBuYW1lLCBkZWZhdWx0PU5vbmUpOgorICAgICAgICAgICAgICAgICAgICBpZiBuYW1lLnN0YXJ0c3dpdGgoJ2RvXycpOgorICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYucHJvY2Vzc19yZXF1ZXN0CisgICAgICAgICAgICAgICAgICAgIHJhaXNlIEF0dHJpYnV0ZUVycm9yKG5hbWUpCisKKyAgICAgICAgICAgICAgICBkZWYgcHJvY2Vzc19yZXF1ZXN0KHNlbGYpOgorICAgICAgICAgICAgICAgICAgICBzZWxmLnNlcnZlci5faGFuZGxlcihzZWxmKQorCisgICAgICAgICAgICAgICAgZGVmIGxvZ19tZXNzYWdlKHNlbGYsIGZvcm1hdCwgKmFyZ3MpOgorICAgICAgICAgICAgICAgICAgICBpZiBsb2c6CisgICAgICAgICAgICAgICAgICAgICAgICBzdXBlcihEZWxlZ2F0aW5nSFRUUFJlcXVlc3RIYW5kbGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZikubG9nX21lc3NhZ2UoZm9ybWF0LCAqYXJncykKKyAgICAgICAgICAgIEhUVFBTZXJ2ZXIuX19pbml0X18oc2VsZiwgYWRkciwgRGVsZWdhdGluZ0hUVFBSZXF1ZXN0SGFuZGxlcikKKyAgICAgICAgICAgIENvbnRyb2xNaXhpbi5fX2luaXRfXyhzZWxmLCBoYW5kbGVyLCBwb2xsX2ludGVydmFsKQorICAgICAgICAgICAgc2VsZi5zc2xjdHggPSBzc2xjdHgKKworICAgICAgICBkZWYgZ2V0X3JlcXVlc3Qoc2VsZik6CisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgc29jaywgYWRkciA9IHNlbGYuc29ja2V0LmFjY2VwdCgpCisgICAgICAgICAgICAgICAgaWYgc2VsZi5zc2xjdHg6CisgICAgICAgICAgICAgICAgICAgIHNvY2sgPSBzZWxmLnNzbGN0eC53cmFwX3NvY2tldChzb2NrLCBzZXJ2ZXJfc2lkZT1UcnVlKQorICAgICAgICAgICAgZXhjZXB0IHNvY2tldC5lcnJvciBhcyBlOgorICAgICAgICAgICAgICAgICMgc29ja2V0IGVycm9ycyBhcmUgc2lsZW5jZWQgYnkgdGhlIGNhbGxlciwgcHJpbnQgdGhlbSBoZXJlCisgICAgICAgICAgICAgICAgc3lzLnN0ZGVyci53cml0ZSgiR290IGFuIGVycm9yOlxuJXNcbiIgJSBlKQorICAgICAgICAgICAgICAgIHJhaXNlCisgICAgICAgICAgICByZXR1cm4gc29jaywgYWRkcgorCisgICAgY2xhc3MgVGVzdFRDUFNlcnZlcihDb250cm9sTWl4aW4sIFRocmVhZGluZ1RDUFNlcnZlcik6CisgICAgICAgICIiIgorICAgICAgICBBIFRDUCBzZXJ2ZXIgd2hpY2ggaXMgY29udHJvbGxhYmxlIHVzaW5nIDpjbGFzczpgQ29udHJvbE1peGluYC4KKworICAgICAgICA6cGFyYW0gYWRkcjogQSB0dXBsZSB3aXRoIHRoZSBJUCBhZGRyZXNzIGFuZCBwb3J0IHRvIGxpc3RlbiBvbi4KKyAgICAgICAgOnBhcmFtIGhhbmRsZXI6IEEgaGFuZGxlciBjYWxsYWJsZSB3aGljaCB3aWxsIGJlIGNhbGxlZCB3aXRoIGEgc2luZ2xlCisgICAgICAgICAgICAgICAgICAgICAgICBwYXJhbWV0ZXIgLSB0aGUgcmVxdWVzdCAtIGluIG9yZGVyIHRvIHByb2Nlc3MgdGhlIHJlcXVlc3QuCisgICAgICAgIDpwYXJhbSBwb2xsX2ludGVydmFsOiBUaGUgcG9sbGluZyBpbnRlcnZhbCBpbiBzZWNvbmRzLgorICAgICAgICA6YmluZF9hbmRfYWN0aXZhdGU6IElmIFRydWUgKHRoZSBkZWZhdWx0KSwgYmluZHMgdGhlIHNlcnZlciBhbmQgc3RhcnRzIGl0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlzdGVuaW5nLiBJZiBGYWxzZSwgeW91IG5lZWQgdG8gY2FsbAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDptZXRoOmBzZXJ2ZXJfYmluZGAgYW5kIDptZXRoOmBzZXJ2ZXJfYWN0aXZhdGVgIGF0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgc29tZSBsYXRlciB0aW1lIGJlZm9yZSBjYWxsaW5nIDptZXRoOmBzdGFydGAsIHNvIHRoYXQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgc2VydmVyIHdpbGwgc2V0IHVwIHRoZSBzb2NrZXQgYW5kIGxpc3RlbiBvbiBpdC4KKyAgICAgICAgIiIiCisKKyAgICAgICAgYWxsb3dfcmV1c2VfYWRkcmVzcyA9IFRydWUKKworICAgICAgICBkZWYgX19pbml0X18oc2VsZiwgYWRkciwgaGFuZGxlciwgcG9sbF9pbnRlcnZhbD0wLjUsCisgICAgICAgICAgICAgICAgICAgICBiaW5kX2FuZF9hY3RpdmF0ZT1UcnVlKToKKyAgICAgICAgICAgIGNsYXNzIERlbGVnYXRpbmdUQ1BSZXF1ZXN0SGFuZGxlcihTdHJlYW1SZXF1ZXN0SGFuZGxlcik6CisKKyAgICAgICAgICAgICAgICBkZWYgaGFuZGxlKHNlbGYpOgorICAgICAgICAgICAgICAgICAgICBzZWxmLnNlcnZlci5faGFuZGxlcihzZWxmKQorICAgICAgICAgICAgVGhyZWFkaW5nVENQU2VydmVyLl9faW5pdF9fKHNlbGYsIGFkZHIsIERlbGVnYXRpbmdUQ1BSZXF1ZXN0SGFuZGxlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiaW5kX2FuZF9hY3RpdmF0ZSkKKyAgICAgICAgICAgIENvbnRyb2xNaXhpbi5fX2luaXRfXyhzZWxmLCBoYW5kbGVyLCBwb2xsX2ludGVydmFsKQorCisgICAgICAgIGRlZiBzZXJ2ZXJfYmluZChzZWxmKToKKyAgICAgICAgICAgIHN1cGVyKFRlc3RUQ1BTZXJ2ZXIsIHNlbGYpLnNlcnZlcl9iaW5kKCkKKyAgICAgICAgICAgIHNlbGYucG9ydCA9IHNlbGYuc29ja2V0LmdldHNvY2tuYW1lKClbMV0KKworICAgIGNsYXNzIFRlc3RVRFBTZXJ2ZXIoQ29udHJvbE1peGluLCBUaHJlYWRpbmdVRFBTZXJ2ZXIpOgorICAgICAgICAiIiIKKyAgICAgICAgQSBVRFAgc2VydmVyIHdoaWNoIGlzIGNvbnRyb2xsYWJsZSB1c2luZyA6Y2xhc3M6YENvbnRyb2xNaXhpbmAuCisKKyAgICAgICAgOnBhcmFtIGFkZHI6IEEgdHVwbGUgd2l0aCB0aGUgSVAgYWRkcmVzcyBhbmQgcG9ydCB0byBsaXN0ZW4gb24uCisgICAgICAgIDpwYXJhbSBoYW5kbGVyOiBBIGhhbmRsZXIgY2FsbGFibGUgd2hpY2ggd2lsbCBiZSBjYWxsZWQgd2l0aCBhCisgICAgICAgICAgICAgICAgICAgICAgICBzaW5nbGUgcGFyYW1ldGVyIC0gdGhlIHJlcXVlc3QgLSBpbiBvcmRlciB0bworICAgICAgICAgICAgICAgICAgICAgICAgcHJvY2VzcyB0aGUgcmVxdWVzdC4KKyAgICAgICAgOnBhcmFtIHBvbGxfaW50ZXJ2YWw6IFRoZSBwb2xsaW5nIGludGVydmFsIGZvciBzaHV0ZG93biByZXF1ZXN0cywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIHNlY29uZHMuCisgICAgICAgIDpiaW5kX2FuZF9hY3RpdmF0ZTogSWYgVHJ1ZSAodGhlIGRlZmF1bHQpLCBiaW5kcyB0aGUgc2VydmVyIGFuZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0cyBpdCBsaXN0ZW5pbmcuIElmIEZhbHNlLCB5b3UgbmVlZCB0bworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbGwgOm1ldGg6YHNlcnZlcl9iaW5kYCBhbmQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA6bWV0aDpgc2VydmVyX2FjdGl2YXRlYCBhdCBzb21lIGxhdGVyIHRpbWUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWZvcmUgY2FsbGluZyA6bWV0aDpgc3RhcnRgLCBzbyB0aGF0IHRoZSBzZXJ2ZXIgd2lsbAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldCB1cCB0aGUgc29ja2V0IGFuZCBsaXN0ZW4gb24gaXQuCisgICAgICAgICIiIgorICAgICAgICBkZWYgX19pbml0X18oc2VsZiwgYWRkciwgaGFuZGxlciwgcG9sbF9pbnRlcnZhbD0wLjUsCisgICAgICAgICAgICAgICAgICAgICBiaW5kX2FuZF9hY3RpdmF0ZT1UcnVlKToKKyAgICAgICAgICAgIGNsYXNzIERlbGVnYXRpbmdVRFBSZXF1ZXN0SGFuZGxlcihEYXRhZ3JhbVJlcXVlc3RIYW5kbGVyKToKKworICAgICAgICAgICAgICAgIGRlZiBoYW5kbGUoc2VsZik6CisgICAgICAgICAgICAgICAgICAgIHNlbGYuc2VydmVyLl9oYW5kbGVyKHNlbGYpCisKKyAgICAgICAgICAgICAgICBkZWYgZmluaXNoKHNlbGYpOgorICAgICAgICAgICAgICAgICAgICBkYXRhID0gc2VsZi53ZmlsZS5nZXR2YWx1ZSgpCisgICAgICAgICAgICAgICAgICAgIGlmIGRhdGE6CisgICAgICAgICAgICAgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VwZXIoRGVsZWdhdGluZ1VEUFJlcXVlc3RIYW5kbGVyLCBzZWxmKS5maW5pc2goKQorICAgICAgICAgICAgICAgICAgICAgICAgZXhjZXB0IHNvY2tldC5lcnJvcjoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiBub3Qgc2VsZi5zZXJ2ZXIuX2Nsb3NlZDoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2UKKworICAgICAgICAgICAgVGhyZWFkaW5nVURQU2VydmVyLl9faW5pdF9fKHNlbGYsIGFkZHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVsZWdhdGluZ1VEUFJlcXVlc3RIYW5kbGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJpbmRfYW5kX2FjdGl2YXRlKQorICAgICAgICAgICAgQ29udHJvbE1peGluLl9faW5pdF9fKHNlbGYsIGhhbmRsZXIsIHBvbGxfaW50ZXJ2YWwpCisgICAgICAgICAgICBzZWxmLl9jbG9zZWQgPSBGYWxzZQorCisgICAgICAgIGRlZiBzZXJ2ZXJfYmluZChzZWxmKToKKyAgICAgICAgICAgIHN1cGVyKFRlc3RVRFBTZXJ2ZXIsIHNlbGYpLnNlcnZlcl9iaW5kKCkKKyAgICAgICAgICAgIHNlbGYucG9ydCA9IHNlbGYuc29ja2V0LmdldHNvY2tuYW1lKClbMV0KKworICAgICAgICBkZWYgc2VydmVyX2Nsb3NlKHNlbGYpOgorICAgICAgICAgICAgc3VwZXIoVGVzdFVEUFNlcnZlciwgc2VsZikuc2VydmVyX2Nsb3NlKCkKKyAgICAgICAgICAgIHNlbGYuX2Nsb3NlZCA9IFRydWUKKworIyAtIGVuZCBvZiBzZXJ2ZXJfaGVscGVyIHNlY3Rpb24KKworQHVuaXR0ZXN0LnNraXBVbmxlc3ModGhyZWFkaW5nLCAnVGhyZWFkaW5nIHJlcXVpcmVkIGZvciB0aGlzIHRlc3QuJykKK2NsYXNzIFNNVFBIYW5kbGVyVGVzdChCYXNlVGVzdCk6CisgICAgZGVmIHRlc3RfYmFzaWMoc2VsZik6CisgICAgICAgIHNvY2ttYXAgPSB7fQorICAgICAgICBzZXJ2ZXIgPSBUZXN0U01UUFNlcnZlcigoJ2xvY2FsaG9zdCcsIDApLCBzZWxmLnByb2Nlc3NfbWVzc2FnZSwgMC4wMDEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvY2ttYXApCisgICAgICAgIHNlcnZlci5zdGFydCgpCisgICAgICAgIGFkZHIgPSAoJ2xvY2FsaG9zdCcsIHNlcnZlci5wb3J0KQorICAgICAgICBoID0gbG9nZ2luZy5oYW5kbGVycy5TTVRQSGFuZGxlcihhZGRyLCAnbWUnLCAneW91JywgJ0xvZycpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaC50b2FkZHJzLCBbJ3lvdSddKQorICAgICAgICBzZWxmLm1lc3NhZ2VzID0gW10KKyAgICAgICAgciA9IGxvZ2dpbmcubWFrZUxvZ1JlY29yZCh7J21zZyc6ICdIZWxsbyd9KQorICAgICAgICBzZWxmLmhhbmRsZWQgPSB0aHJlYWRpbmcuRXZlbnQoKQorICAgICAgICBoLmhhbmRsZShyKQorICAgICAgICBzZWxmLmhhbmRsZWQud2FpdCg1LjApICAjIDE0MzE0OiBkb24ndCB3YWl0IGZvcmV2ZXIKKyAgICAgICAgc2VydmVyLnN0b3AoKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoc2VsZi5oYW5kbGVkLmlzX3NldCgpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihzZWxmLm1lc3NhZ2VzKSwgMSkKKyAgICAgICAgcGVlciwgbWFpbGZyb20sIHJjcHR0b3MsIGRhdGEgPSBzZWxmLm1lc3NhZ2VzWzBdCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobWFpbGZyb20sICdtZScpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmNwdHRvcywgWyd5b3UnXSkKKyAgICAgICAgc2VsZi5hc3NlcnRJbignXG5TdWJqZWN0OiBMb2dcbicsIGRhdGEpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShkYXRhLmVuZHN3aXRoKCdcblxuSGVsbG8nKSkKKyAgICAgICAgaC5jbG9zZSgpCisKKyAgICBkZWYgcHJvY2Vzc19tZXNzYWdlKHNlbGYsICphcmdzKToKKyAgICAgICAgc2VsZi5tZXNzYWdlcy5hcHBlbmQoYXJncykKKyAgICAgICAgc2VsZi5oYW5kbGVkLnNldCgpCisKIGNsYXNzIE1lbW9yeUhhbmRsZXJUZXN0KEJhc2VUZXN0KToKIAogICAgICIiIlRlc3RzIGZvciB0aGUgTWVtb3J5SGFuZGxlci4iIiIKQEAgLTUyMyw3ICs5NzgsNyBAQAogICAgICAgICBzZWxmLm1lbV9sb2dnZXIuaW5mbyhzZWxmLm5leHRfbWVzc2FnZSgpKQogICAgICAgICBzZWxmLmFzc2VydF9sb2dfbGluZXMoW10pCiAgICAgICAgICMgVGhpcyB3aWxsIGZsdXNoIGJlY2F1c2UgdGhlIGxldmVsIGlzID49IGxvZ2dpbmcuV0FSTklORwotICAgICAgICBzZWxmLm1lbV9sb2dnZXIud2FybihzZWxmLm5leHRfbWVzc2FnZSgpKQorICAgICAgICBzZWxmLm1lbV9sb2dnZXIud2FybmluZyhzZWxmLm5leHRfbWVzc2FnZSgpKQogICAgICAgICBsaW5lcyA9IFsKICAgICAgICAgICAgICgnREVCVUcnLCAnMScpLAogICAgICAgICAgICAgKCdJTkZPJywgJzInKSwKQEAgLTg2OCw2OCArMTMyMyw2IEBACiAgICAgICAgICAgICAjIE9yaWdpbmFsIGxvZ2dlciBvdXRwdXQgaXMgZW1wdHkuCiAgICAgICAgICAgICBzZWxmLmFzc2VydF9sb2dfbGluZXMoW10pCiAKLWNsYXNzIExvZ1JlY29yZFN0cmVhbUhhbmRsZXIoU3RyZWFtUmVxdWVzdEhhbmRsZXIpOgotCi0gICAgIiIiSGFuZGxlciBmb3IgYSBzdHJlYW1pbmcgbG9nZ2luZyByZXF1ZXN0LiBJdCBzYXZlcyB0aGUgbG9nIG1lc3NhZ2UgaW4gdGhlCi0gICAgVENQIHNlcnZlcidzICdsb2dfb3V0cHV0JyBhdHRyaWJ1dGUuIiIiCi0KLSAgICBUQ1BfTE9HX0VORCA9ICIhISFFTkQhISEiCi0KLSAgICBkZWYgaGFuZGxlKHNlbGYpOgotICAgICAgICAiIiJIYW5kbGUgbXVsdGlwbGUgcmVxdWVzdHMgLSBlYWNoIGV4cGVjdGVkIHRvIGJlIG9mIDQtYnl0ZSBsZW5ndGgsCi0gICAgICAgIGZvbGxvd2VkIGJ5IHRoZSBMb2dSZWNvcmQgaW4gcGlja2xlIGZvcm1hdC4gTG9ncyB0aGUgcmVjb3JkCi0gICAgICAgIGFjY29yZGluZyB0byB3aGF0ZXZlciBwb2xpY3kgaXMgY29uZmlndXJlZCBsb2NhbGx5LiIiIgotICAgICAgICB3aGlsZSBUcnVlOgotICAgICAgICAgICAgY2h1bmsgPSBzZWxmLmNvbm5lY3Rpb24ucmVjdig0KQotICAgICAgICAgICAgaWYgbGVuKGNodW5rKSA8IDQ6Ci0gICAgICAgICAgICAgICAgYnJlYWsKLSAgICAgICAgICAgIHNsZW4gPSBzdHJ1Y3QudW5wYWNrKCI+TCIsIGNodW5rKVswXQotICAgICAgICAgICAgY2h1bmsgPSBzZWxmLmNvbm5lY3Rpb24ucmVjdihzbGVuKQotICAgICAgICAgICAgd2hpbGUgbGVuKGNodW5rKSA8IHNsZW46Ci0gICAgICAgICAgICAgICAgY2h1bmsgPSBjaHVuayArIHNlbGYuY29ubmVjdGlvbi5yZWN2KHNsZW4gLSBsZW4oY2h1bmspKQotICAgICAgICAgICAgb2JqID0gc2VsZi51bnBpY2tsZShjaHVuaykKLSAgICAgICAgICAgIHJlY29yZCA9IGxvZ2dpbmcubWFrZUxvZ1JlY29yZChvYmopCi0gICAgICAgICAgICBzZWxmLmhhbmRsZV9sb2dfcmVjb3JkKHJlY29yZCkKLQotICAgIGRlZiB1bnBpY2tsZShzZWxmLCBkYXRhKToKLSAgICAgICAgcmV0dXJuIHBpY2tsZS5sb2FkcyhkYXRhKQotCi0gICAgZGVmIGhhbmRsZV9sb2dfcmVjb3JkKHNlbGYsIHJlY29yZCk6Ci0gICAgICAgICMgSWYgdGhlIGVuZC1vZi1tZXNzYWdlcyBzZW50aW5lbCBpcyBzZWVuLCB0ZWxsIHRoZSBzZXJ2ZXIgdG8KLSAgICAgICAgIyAgdGVybWluYXRlLgotICAgICAgICBpZiBzZWxmLlRDUF9MT0dfRU5EIGluIHJlY29yZC5tc2c6Ci0gICAgICAgICAgICBzZWxmLnNlcnZlci5hYm9ydCA9IDEKLSAgICAgICAgICAgIHJldHVybgotICAgICAgICBzZWxmLnNlcnZlci5sb2dfb3V0cHV0ICs9IHJlY29yZC5tc2cgKyAiXG4iCi0KLQotY2xhc3MgTG9nUmVjb3JkU29ja2V0UmVjZWl2ZXIoVGhyZWFkaW5nVENQU2VydmVyKToKLQotICAgICIiIkEgc2ltcGxlLW1pbmRlZCBUQ1Agc29ja2V0LWJhc2VkIGxvZ2dpbmcgcmVjZWl2ZXIgc3VpdGFibGUgZm9yIHRlc3QKLSAgICBwdXJwb3Nlcy4iIiIKLQotICAgIGFsbG93X3JldXNlX2FkZHJlc3MgPSAxCi0gICAgbG9nX291dHB1dCA9ICIiCi0KLSAgICBkZWYgX19pbml0X18oc2VsZiwgaG9zdD0nbG9jYWxob3N0JywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9ydD1sb2dnaW5nLmhhbmRsZXJzLkRFRkFVTFRfVENQX0xPR0dJTkdfUE9SVCwKLSAgICAgICAgICAgICAgICAgICAgIGhhbmRsZXI9TG9nUmVjb3JkU3RyZWFtSGFuZGxlcik6Ci0gICAgICAgIFRocmVhZGluZ1RDUFNlcnZlci5fX2luaXRfXyhzZWxmLCAoaG9zdCwgcG9ydCksIGhhbmRsZXIpCi0gICAgICAgIHNlbGYuYWJvcnQgPSBGYWxzZQotICAgICAgICBzZWxmLnRpbWVvdXQgPSAwLjEKLSAgICAgICAgc2VsZi5maW5pc2hlZCA9IHRocmVhZGluZy5FdmVudCgpCi0KLSAgICBkZWYgc2VydmVfdW50aWxfc3RvcHBlZChzZWxmKToKLSAgICAgICAgd2hpbGUgbm90IHNlbGYuYWJvcnQ6Ci0gICAgICAgICAgICByZCwgd3IsIGV4ID0gc2VsZWN0LnNlbGVjdChbc2VsZi5zb2NrZXQuZmlsZW5vKCldLCBbXSwgW10sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnRpbWVvdXQpCi0gICAgICAgICAgICBpZiByZDoKLSAgICAgICAgICAgICAgICBzZWxmLmhhbmRsZV9yZXF1ZXN0KCkKLSAgICAgICAgIyBOb3RpZnkgdGhlIG1haW4gdGhyZWFkIHRoYXQgd2UncmUgYWJvdXQgdG8gZXhpdAotICAgICAgICBzZWxmLmZpbmlzaGVkLnNldCgpCi0gICAgICAgICMgY2xvc2UgdGhlIGxpc3RlbiBzb2NrZXQKLSAgICAgICAgc2VsZi5zZXJ2ZXJfY2xvc2UoKQotCiAKIEB1bml0dGVzdC5za2lwVW5sZXNzKHRocmVhZGluZywgJ1RocmVhZGluZyByZXF1aXJlZCBmb3IgdGhpcyB0ZXN0LicpCiBjbGFzcyBTb2NrZXRIYW5kbGVyVGVzdChCYXNlVGVzdCk6CkBAIC05NDAsNDQgKzEzMzMsMjcwIEBACiAgICAgICAgICIiIlNldCB1cCBhIFRDUCBzZXJ2ZXIgdG8gcmVjZWl2ZSBsb2cgbWVzc2FnZXMsIGFuZCBhIFNvY2tldEhhbmRsZXIKICAgICAgICAgcG9pbnRpbmcgdG8gdGhhdCBzZXJ2ZXIncyBhZGRyZXNzIGFuZCBwb3J0LiIiIgogICAgICAgICBCYXNlVGVzdC5zZXRVcChzZWxmKQotICAgICAgICBzZWxmLnRjcHNlcnZlciA9IExvZ1JlY29yZFNvY2tldFJlY2VpdmVyKHBvcnQ9MCkKLSAgICAgICAgc2VsZi5wb3J0ID0gc2VsZi50Y3BzZXJ2ZXIuc29ja2V0LmdldHNvY2tuYW1lKClbMV0KLSAgICAgICAgc2VsZi50aHJlYWRzID0gWwotICAgICAgICAgICAgICAgIHRocmVhZGluZy5UaHJlYWQodGFyZ2V0PXNlbGYudGNwc2VydmVyLnNlcnZlX3VudGlsX3N0b3BwZWQpXQotICAgICAgICBmb3IgdGhyZWFkIGluIHNlbGYudGhyZWFkczoKLSAgICAgICAgICAgIHRocmVhZC5zdGFydCgpCi0KLSAgICAgICAgc2VsZi5zb2NrX2hkbHIgPSBsb2dnaW5nLmhhbmRsZXJzLlNvY2tldEhhbmRsZXIoJ2xvY2FsaG9zdCcsIHNlbGYucG9ydCkKLSAgICAgICAgc2VsZi5zb2NrX2hkbHIuc2V0Rm9ybWF0dGVyKHNlbGYucm9vdF9mb3JtYXR0ZXIpCisgICAgICAgIGFkZHIgPSAoJ2xvY2FsaG9zdCcsIDApCisgICAgICAgIHNlbGYuc2VydmVyID0gc2VydmVyID0gVGVzdFRDUFNlcnZlcihhZGRyLCBzZWxmLmhhbmRsZV9zb2NrZXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLjAxKQorICAgICAgICBzZXJ2ZXIuc3RhcnQoKQorICAgICAgICBzZXJ2ZXIucmVhZHkud2FpdCgpCisgICAgICAgIHNlbGYuc29ja19oZGxyID0gbG9nZ2luZy5oYW5kbGVycy5Tb2NrZXRIYW5kbGVyKCdsb2NhbGhvc3QnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXIucG9ydCkKKyAgICAgICAgc2VsZi5sb2dfb3V0cHV0ID0gJycKICAgICAgICAgc2VsZi5yb290X2xvZ2dlci5yZW1vdmVIYW5kbGVyKHNlbGYucm9vdF9sb2dnZXIuaGFuZGxlcnNbMF0pCiAgICAgICAgIHNlbGYucm9vdF9sb2dnZXIuYWRkSGFuZGxlcihzZWxmLnNvY2tfaGRscikKKyAgICAgICAgc2VsZi5oYW5kbGVkID0gdGhyZWFkaW5nLlNlbWFwaG9yZSgwKQogCiAgICAgZGVmIHRlYXJEb3duKHNlbGYpOgogICAgICAgICAiIiJTaHV0ZG93biB0aGUgVENQIHNlcnZlci4iIiIKICAgICAgICAgdHJ5OgotICAgICAgICAgICAgc2VsZi50Y3BzZXJ2ZXIuYWJvcnQgPSBUcnVlCi0gICAgICAgICAgICBkZWwgc2VsZi50Y3BzZXJ2ZXIKKyAgICAgICAgICAgIHNlbGYuc2VydmVyLnN0b3AoMi4wKQogICAgICAgICAgICAgc2VsZi5yb290X2xvZ2dlci5yZW1vdmVIYW5kbGVyKHNlbGYuc29ja19oZGxyKQogICAgICAgICAgICAgc2VsZi5zb2NrX2hkbHIuY2xvc2UoKQotICAgICAgICAgICAgZm9yIHRocmVhZCBpbiBzZWxmLnRocmVhZHM6Ci0gICAgICAgICAgICAgICAgdGhyZWFkLmpvaW4oMi4wKQogICAgICAgICBmaW5hbGx5OgogICAgICAgICAgICAgQmFzZVRlc3QudGVhckRvd24oc2VsZikKIAotICAgIGRlZiBnZXRfb3V0cHV0KHNlbGYpOgotICAgICAgICAiIiJHZXQgdGhlIGxvZyBvdXRwdXQgYXMgcmVjZWl2ZWQgYnkgdGhlIFRDUCBzZXJ2ZXIuIiIiCi0gICAgICAgICMgU2lnbmFsIHRoZSBUQ1AgcmVjZWl2ZXIgYW5kIHdhaXQgZm9yIGl0IHRvIHRlcm1pbmF0ZS4KLSAgICAgICAgc2VsZi5yb290X2xvZ2dlci5jcml0aWNhbChMb2dSZWNvcmRTdHJlYW1IYW5kbGVyLlRDUF9MT0dfRU5EKQotICAgICAgICBzZWxmLnRjcHNlcnZlci5maW5pc2hlZC53YWl0KDIuMCkKLSAgICAgICAgcmV0dXJuIHNlbGYudGNwc2VydmVyLmxvZ19vdXRwdXQKKyAgICBkZWYgaGFuZGxlX3NvY2tldChzZWxmLCByZXF1ZXN0KToKKyAgICAgICAgY29ubiA9IHJlcXVlc3QuY29ubmVjdGlvbgorICAgICAgICB3aGlsZSBUcnVlOgorICAgICAgICAgICAgY2h1bmsgPSBjb25uLnJlY3YoNCkKKyAgICAgICAgICAgIGlmIGxlbihjaHVuaykgPCA0OgorICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgICAgICBzbGVuID0gc3RydWN0LnVucGFjaygiPkwiLCBjaHVuaylbMF0KKyAgICAgICAgICAgIGNodW5rID0gY29ubi5yZWN2KHNsZW4pCisgICAgICAgICAgICB3aGlsZSBsZW4oY2h1bmspIDwgc2xlbjoKKyAgICAgICAgICAgICAgICBjaHVuayA9IGNodW5rICsgY29ubi5yZWN2KHNsZW4gLSBsZW4oY2h1bmspKQorICAgICAgICAgICAgb2JqID0gcGlja2xlLmxvYWRzKGNodW5rKQorICAgICAgICAgICAgcmVjb3JkID0gbG9nZ2luZy5tYWtlTG9nUmVjb3JkKG9iaikKKyAgICAgICAgICAgIHNlbGYubG9nX291dHB1dCArPSByZWNvcmQubXNnICsgJ1xuJworICAgICAgICAgICAgc2VsZi5oYW5kbGVkLnJlbGVhc2UoKQogCiAgICAgZGVmIHRlc3Rfb3V0cHV0KHNlbGYpOgogICAgICAgICAjIFRoZSBsb2cgbWVzc2FnZSBzZW50IHRvIHRoZSBTb2NrZXRIYW5kbGVyIGlzIHByb3Blcmx5IHJlY2VpdmVkLgogICAgICAgICBsb2dnZXIgPSBsb2dnaW5nLmdldExvZ2dlcigidGNwIikKICAgICAgICAgbG9nZ2VyLmVycm9yKCJzcGFtIikKKyAgICAgICAgc2VsZi5oYW5kbGVkLmFjcXVpcmUoKQogICAgICAgICBsb2dnZXIuZGVidWcoImVnZ3MiKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuZ2V0X291dHB1dCgpLCAic3BhbVxuZWdnc1xuIikKKyAgICAgICAgc2VsZi5oYW5kbGVkLmFjcXVpcmUoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYubG9nX291dHB1dCwgInNwYW1cbmVnZ3NcbiIpCiAKKyAgICBkZWYgdGVzdF9ub3NlcnZlcihzZWxmKToKKyAgICAgICAgIyBLaWxsIHRoZSBzZXJ2ZXIKKyAgICAgICAgc2VsZi5zZXJ2ZXIuc3RvcCgyLjApCisgICAgICAgICNUaGUgbG9nZ2luZyBjYWxsIHNob3VsZCB0cnkgdG8gY29ubmVjdCwgd2hpY2ggc2hvdWxkIGZhaWwKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgcmFpc2UgUnVudGltZUVycm9yKCdEZWxpYmVyYXRlIG1pc3Rha2UnKQorICAgICAgICBleGNlcHQgUnVudGltZUVycm9yOgorICAgICAgICAgICAgc2VsZi5yb290X2xvZ2dlci5leGNlcHRpb24oJ05ldmVyIHNlbnQnKQorICAgICAgICBzZWxmLnJvb3RfbG9nZ2VyLmVycm9yKCdOZXZlciBzZW50LCBlaXRoZXInKQorICAgICAgICBub3cgPSB0aW1lLnRpbWUoKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoc2VsZi5zb2NrX2hkbHIucmV0cnlUaW1lID4gbm93KQorICAgICAgICB0aW1lLnNsZWVwKHNlbGYuc29ja19oZGxyLnJldHJ5VGltZSAtIG5vdyArIDAuMDAxKQorICAgICAgICBzZWxmLnJvb3RfbG9nZ2VyLmVycm9yKCdOb3IgdGhpcycpCisKKworQHVuaXR0ZXN0LnNraXBVbmxlc3ModGhyZWFkaW5nLCAnVGhyZWFkaW5nIHJlcXVpcmVkIGZvciB0aGlzIHRlc3QuJykKK2NsYXNzIERhdGFncmFtSGFuZGxlclRlc3QoQmFzZVRlc3QpOgorCisgICAgIiIiVGVzdCBmb3IgRGF0YWdyYW1IYW5kbGVyLiIiIgorCisgICAgZGVmIHNldFVwKHNlbGYpOgorICAgICAgICAiIiJTZXQgdXAgYSBVRFAgc2VydmVyIHRvIHJlY2VpdmUgbG9nIG1lc3NhZ2VzLCBhbmQgYSBEYXRhZ3JhbUhhbmRsZXIKKyAgICAgICAgcG9pbnRpbmcgdG8gdGhhdCBzZXJ2ZXIncyBhZGRyZXNzIGFuZCBwb3J0LiIiIgorICAgICAgICBCYXNlVGVzdC5zZXRVcChzZWxmKQorICAgICAgICBhZGRyID0gKCdsb2NhbGhvc3QnLCAwKQorICAgICAgICBzZWxmLnNlcnZlciA9IHNlcnZlciA9IFRlc3RVRFBTZXJ2ZXIoYWRkciwgc2VsZi5oYW5kbGVfZGF0YWdyYW0sIDAuMDEpCisgICAgICAgIHNlcnZlci5zdGFydCgpCisgICAgICAgIHNlcnZlci5yZWFkeS53YWl0KCkKKyAgICAgICAgc2VsZi5zb2NrX2hkbHIgPSBsb2dnaW5nLmhhbmRsZXJzLkRhdGFncmFtSGFuZGxlcignbG9jYWxob3N0JywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXIucG9ydCkKKyAgICAgICAgc2VsZi5sb2dfb3V0cHV0ID0gJycKKyAgICAgICAgc2VsZi5yb290X2xvZ2dlci5yZW1vdmVIYW5kbGVyKHNlbGYucm9vdF9sb2dnZXIuaGFuZGxlcnNbMF0pCisgICAgICAgIHNlbGYucm9vdF9sb2dnZXIuYWRkSGFuZGxlcihzZWxmLnNvY2tfaGRscikKKyAgICAgICAgc2VsZi5oYW5kbGVkID0gdGhyZWFkaW5nLkV2ZW50KCkKKworICAgIGRlZiB0ZWFyRG93bihzZWxmKToKKyAgICAgICAgIiIiU2h1dGRvd24gdGhlIFVEUCBzZXJ2ZXIuIiIiCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHNlbGYuc2VydmVyLnN0b3AoMi4wKQorICAgICAgICAgICAgc2VsZi5yb290X2xvZ2dlci5yZW1vdmVIYW5kbGVyKHNlbGYuc29ja19oZGxyKQorICAgICAgICAgICAgc2VsZi5zb2NrX2hkbHIuY2xvc2UoKQorICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgQmFzZVRlc3QudGVhckRvd24oc2VsZikKKworICAgIGRlZiBoYW5kbGVfZGF0YWdyYW0oc2VsZiwgcmVxdWVzdCk6CisgICAgICAgIHNsZW4gPSBzdHJ1Y3QucGFjaygnPkwnLCAwKSAjIGxlbmd0aCBvZiBwcmVmaXgKKyAgICAgICAgcGFja2V0ID0gcmVxdWVzdC5wYWNrZXRbbGVuKHNsZW4pOl0KKyAgICAgICAgb2JqID0gcGlja2xlLmxvYWRzKHBhY2tldCkKKyAgICAgICAgcmVjb3JkID0gbG9nZ2luZy5tYWtlTG9nUmVjb3JkKG9iaikKKyAgICAgICAgc2VsZi5sb2dfb3V0cHV0ICs9IHJlY29yZC5tc2cgKyAnXG4nCisgICAgICAgIHNlbGYuaGFuZGxlZC5zZXQoKQorCisgICAgZGVmIHRlc3Rfb3V0cHV0KHNlbGYpOgorICAgICAgICAjIFRoZSBsb2cgbWVzc2FnZSBzZW50IHRvIHRoZSBEYXRhZ3JhbUhhbmRsZXIgaXMgcHJvcGVybHkgcmVjZWl2ZWQuCisgICAgICAgIGxvZ2dlciA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKCJ1ZHAiKQorICAgICAgICBsb2dnZXIuZXJyb3IoInNwYW0iKQorICAgICAgICBzZWxmLmhhbmRsZWQud2FpdCgpCisgICAgICAgIHNlbGYuaGFuZGxlZC5jbGVhcigpCisgICAgICAgIGxvZ2dlci5lcnJvcigiZWdncyIpCisgICAgICAgIHNlbGYuaGFuZGxlZC53YWl0KCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmxvZ19vdXRwdXQsICJzcGFtXG5lZ2dzXG4iKQorCisKK0B1bml0dGVzdC5za2lwVW5sZXNzKHRocmVhZGluZywgJ1RocmVhZGluZyByZXF1aXJlZCBmb3IgdGhpcyB0ZXN0LicpCitjbGFzcyBTeXNMb2dIYW5kbGVyVGVzdChCYXNlVGVzdCk6CisKKyAgICAiIiJUZXN0IGZvciBTeXNMb2dIYW5kbGVyIHVzaW5nIFVEUC4iIiIKKworICAgIGRlZiBzZXRVcChzZWxmKToKKyAgICAgICAgIiIiU2V0IHVwIGEgVURQIHNlcnZlciB0byByZWNlaXZlIGxvZyBtZXNzYWdlcywgYW5kIGEgU3lzTG9nSGFuZGxlcgorICAgICAgICBwb2ludGluZyB0byB0aGF0IHNlcnZlcidzIGFkZHJlc3MgYW5kIHBvcnQuIiIiCisgICAgICAgIEJhc2VUZXN0LnNldFVwKHNlbGYpCisgICAgICAgIGFkZHIgPSAoJ2xvY2FsaG9zdCcsIDApCisgICAgICAgIHNlbGYuc2VydmVyID0gc2VydmVyID0gVGVzdFVEUFNlcnZlcihhZGRyLCBzZWxmLmhhbmRsZV9kYXRhZ3JhbSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAuMDEpCisgICAgICAgIHNlcnZlci5zdGFydCgpCisgICAgICAgIHNlcnZlci5yZWFkeS53YWl0KCkKKyAgICAgICAgc2VsZi5zbF9oZGxyID0gbG9nZ2luZy5oYW5kbGVycy5TeXNMb2dIYW5kbGVyKCgnbG9jYWxob3N0JywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXIucG9ydCkpCisgICAgICAgIHNlbGYubG9nX291dHB1dCA9ICcnCisgICAgICAgIHNlbGYucm9vdF9sb2dnZXIucmVtb3ZlSGFuZGxlcihzZWxmLnJvb3RfbG9nZ2VyLmhhbmRsZXJzWzBdKQorICAgICAgICBzZWxmLnJvb3RfbG9nZ2VyLmFkZEhhbmRsZXIoc2VsZi5zbF9oZGxyKQorICAgICAgICBzZWxmLmhhbmRsZWQgPSB0aHJlYWRpbmcuRXZlbnQoKQorCisgICAgZGVmIHRlYXJEb3duKHNlbGYpOgorICAgICAgICAiIiJTaHV0ZG93biB0aGUgVURQIHNlcnZlci4iIiIKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgc2VsZi5zZXJ2ZXIuc3RvcCgyLjApCisgICAgICAgICAgICBzZWxmLnJvb3RfbG9nZ2VyLnJlbW92ZUhhbmRsZXIoc2VsZi5zbF9oZGxyKQorICAgICAgICAgICAgc2VsZi5zbF9oZGxyLmNsb3NlKCkKKyAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgIEJhc2VUZXN0LnRlYXJEb3duKHNlbGYpCisKKyAgICBkZWYgaGFuZGxlX2RhdGFncmFtKHNlbGYsIHJlcXVlc3QpOgorICAgICAgICBzZWxmLmxvZ19vdXRwdXQgPSByZXF1ZXN0LnBhY2tldAorICAgICAgICBzZWxmLmhhbmRsZWQuc2V0KCkKKworICAgIGRlZiB0ZXN0X291dHB1dChzZWxmKToKKyAgICAgICAgIyBUaGUgbG9nIG1lc3NhZ2Ugc2VudCB0byB0aGUgU3lzTG9nSGFuZGxlciBpcyBwcm9wZXJseSByZWNlaXZlZC4KKyAgICAgICAgbG9nZ2VyID0gbG9nZ2luZy5nZXRMb2dnZXIoInNsaCIpCisgICAgICAgIGxvZ2dlci5lcnJvcigic3BceGU0bSIpCisgICAgICAgIHNlbGYuaGFuZGxlZC53YWl0KCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmxvZ19vdXRwdXQsIGInPDExPlx4ZWZceGJiXHhiZnNwXHhjM1x4YTRtXHgwMCcpCisgICAgICAgIHNlbGYuaGFuZGxlZC5jbGVhcigpCisgICAgICAgIHNlbGYuc2xfaGRsci5hcHBlbmRfbnVsID0gRmFsc2UKKyAgICAgICAgbG9nZ2VyLmVycm9yKCJzcFx4ZTRtIikKKyAgICAgICAgc2VsZi5oYW5kbGVkLndhaXQoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYubG9nX291dHB1dCwgYic8MTE+XHhlZlx4YmJceGJmc3BceGMzXHhhNG0nKQorICAgICAgICBzZWxmLmhhbmRsZWQuY2xlYXIoKQorICAgICAgICBzZWxmLnNsX2hkbHIuaWRlbnQgPSAiaFx4ZTRtLSIKKyAgICAgICAgbG9nZ2VyLmVycm9yKCJzcFx4ZTRtIikKKyAgICAgICAgc2VsZi5oYW5kbGVkLndhaXQoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYubG9nX291dHB1dCwgYic8MTE+XHhlZlx4YmJceGJmaFx4YzNceGE0bS1zcFx4YzNceGE0bScpCisKKworQHVuaXR0ZXN0LnNraXBVbmxlc3ModGhyZWFkaW5nLCAnVGhyZWFkaW5nIHJlcXVpcmVkIGZvciB0aGlzIHRlc3QuJykKK2NsYXNzIEhUVFBIYW5kbGVyVGVzdChCYXNlVGVzdCk6CisgICAgIiIiVGVzdCBmb3IgSFRUUEhhbmRsZXIuIiIiCisKKyAgICBQRU1GSUxFID0gIiIiLS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQorTUlJQ1hRSUJBQUtCZ1FER1Q0eFM1cjkxcmJMSlFLMm5VRGVuQmhCRzZxRmsrYlZPanVBR0MvTFNIbEFvQm52RworelFHM2FnT0crZTdjNXoyWFQ4bTJrdE9STHFHM0U0bVltYnhneWhEcnpQNmVpMkFuYytwc3ptbnhQb0szUHVoNQorYVhWK1hLdDBiVTBDMW0yK0FDbUdHSjB0M1A0MDhhcnQ4Mm5PeEJ3OFpIZ0lnOUR0cDZ4SVVDeU9xd0lEQVFBQgorQW9HQkFKRlRuRmJvYUtoNWVVckl6am1OcktzRzQ0akV5eSt2V3ZITi9GZ1NDNGwxMDNIeGhtV2l1TDVMdjNmNworMHRNcDF0WDdENnh2SHdJRzlWV3Z5S2IvQ3E5ckpzRGlibURWSU9zbG5PV2VRaEcrWHdKeWl0UjBwcS9LbEpJQgorNUxqT1JjQnc3OTVvS1dPQWk2UmNPYjFPTjU5dHlzRUZZaEFHUU85azZWTDYyMWdSQWtFQS9HYitZWFVMTHBicworcGlYTjNxNHpjSHplYVZBTm82OXRVWjZUamFRcU1lVHhFNHRPWU0wRzBab1NlSEVkYVA1OUFPWkdLWFhOR1NReQorMnovTWRkY1lHUUpCQU1rakxTWUlwT0xKWTExamE4T3d3c3dGRzJoRXpIZTBjUzliem8rK1IvamMxYkhBNVIwWQoraTZ2QTVpUGkrd29wUEZ2cHl0ZEJvbDdVdUVCZTV4WnJ4V01DUVFDV3hFTFJIaVAyeVdwRWVMSjNnR0R6b1hNTgorUHlkV2poUmp1N0J4M0F6a1R0ZitENmxhd3oxK2VHVHVFc3M1aTBKS0JrTUV3dnduTjJzMWNlK0V1RjRKQWtCYgorRTk2aDFsQXprVlc1T0FmWU9QWThSQ1BBOTBaTy9ob3lnN1BwU3hSMEVDdURyZ0VSUjhnWEllWVVZZmVqQmtFYQorcmFiNENmUm9WSktLTTI4WXEveFpBa0J2dXE2NzBKUkN3T2dmVVRkd3c3V3BkT1FCWVBrelFjY3NLTkNzbFFXOAorL0R5VzZ5MDZvUXVzU0VOVXZ5blQ2ZHIzTEp4dC9OZ1pQaFpYMitrMWVZRFYKKy0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCistLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KK01JSUNHekNDQVlTZ0F3SUJBZ0lKQUlxODRhMlEvT3ZsTUEwR0NTcUdTSWIzRFFFQkJRVUFNQlF4RWpBUUJnTlYKK0JBTVRDV3h2WTJGc2FHOXpkREFlRncweE1UQTFNakV4TURJek16TmFGdzAzTlRBek1qRXdNelUxTVRkYU1CUXgKK0VqQVFCZ05WQkFNVENXeHZZMkZzYUc5emREQ0JuekFOQmdrcWhraUc5dzBCQVFFRkFBT0JqUUF3Z1lrQ2dZRUEKK3hrK01VdWEvZGEyeXlVQ3RwMUEzcHdZUVJ1cWhaUG0xVG83Z0JndnkwaDVRS0FaN3hzMEJ0Mm9EaHZudTNPYzkKK2wwL0p0cExUa1M2aHR4T0ptSm04WU1vUTY4eitub3RnSjNQcWJNNXA4VDZDdHo3b2VXbDFmbHlyZEcxTkF0WnQKK3ZnQXBoaGlkTGR6K05QR3E3Zk5wenNRY1BHUjRDSVBRN2Flc1NGQXNqcXNDQXdFQUFhTjFNSE13SFFZRFZSME8KK0JCWUVGTFdhVVBPNk43ZWZHaXVvUzlpM0RWWWNVd24wTUVRR0ExVWRJd1E5TUR1QUZMV2FVUE82TjdlZkdpdW8KK1M5aTNEVlljVXduMG9SaWtGakFVTVJJd0VBWURWUVFERXdsc2IyTmhiR2h2YzNTQ0NRQ0t2T0d0a1B6cjVUQU0KK0JnTlZIUk1FQlRBREFRSC9NQTBHQ1NxR1NJYjNEUUVCQlFVQUE0R0JBTUs1d2hQakxOUUsxSXZ2azg4b3FKcXEKKzRmODg5T3dpa0dQMGVVaE9CaGJGbHNacytqcTVZWkMyVXpIeitldnpLQmxnQVAxdTRsUC9jQjg1Q25qdldxTSsKKzFjL2x5d0ZIUTZIT2REZVExTDcydFNZTXJOT0c0WE5tTG4waDdyeDZHb1RVN2RjRlJmc2VhaEJDcThtdjBJRHQKK0lSYlRwdmxIV1Bqc1N2SHowWk9ICistLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tIiIiCisKKyAgICBkZWYgc2V0VXAoc2VsZik6CisgICAgICAgICIiIlNldCB1cCBhbiBIVFRQIHNlcnZlciB0byByZWNlaXZlIGxvZyBtZXNzYWdlcywgYW5kIGEgSFRUUEhhbmRsZXIKKyAgICAgICAgcG9pbnRpbmcgdG8gdGhhdCBzZXJ2ZXIncyBhZGRyZXNzIGFuZCBwb3J0LiIiIgorICAgICAgICBCYXNlVGVzdC5zZXRVcChzZWxmKQorICAgICAgICBzZWxmLmhhbmRsZWQgPSB0aHJlYWRpbmcuRXZlbnQoKQorCisgICAgZGVmIGhhbmRsZV9yZXF1ZXN0KHNlbGYsIHJlcXVlc3QpOgorICAgICAgICBzZWxmLmNvbW1hbmQgPSByZXF1ZXN0LmNvbW1hbmQKKyAgICAgICAgc2VsZi5sb2dfZGF0YSA9IHVybHBhcnNlKHJlcXVlc3QucGF0aCkKKyAgICAgICAgaWYgc2VsZi5jb21tYW5kID09ICdQT1NUJzoKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBybGVuID0gaW50KHJlcXVlc3QuaGVhZGVyc1snQ29udGVudC1MZW5ndGgnXSkKKyAgICAgICAgICAgICAgICBzZWxmLnBvc3RfZGF0YSA9IHJlcXVlc3QucmZpbGUucmVhZChybGVuKQorICAgICAgICAgICAgZXhjZXB0OgorICAgICAgICAgICAgICAgIHNlbGYucG9zdF9kYXRhID0gTm9uZQorICAgICAgICByZXF1ZXN0LnNlbmRfcmVzcG9uc2UoMjAwKQorICAgICAgICByZXF1ZXN0LmVuZF9oZWFkZXJzKCkKKyAgICAgICAgc2VsZi5oYW5kbGVkLnNldCgpCisKKyAgICBkZWYgdGVzdF9vdXRwdXQoc2VsZik6CisgICAgICAgICMgVGhlIGxvZyBtZXNzYWdlIHNlbnQgdG8gdGhlIEhUVFBIYW5kbGVyIGlzIHByb3Blcmx5IHJlY2VpdmVkLgorICAgICAgICBsb2dnZXIgPSBsb2dnaW5nLmdldExvZ2dlcigiaHR0cCIpCisgICAgICAgIHJvb3RfbG9nZ2VyID0gc2VsZi5yb290X2xvZ2dlcgorICAgICAgICByb290X2xvZ2dlci5yZW1vdmVIYW5kbGVyKHNlbGYucm9vdF9sb2dnZXIuaGFuZGxlcnNbMF0pCisgICAgICAgIGZvciBzZWN1cmUgaW4gKEZhbHNlLCBUcnVlKToKKyAgICAgICAgICAgIGFkZHIgPSAoJ2xvY2FsaG9zdCcsIDApCisgICAgICAgICAgICBpZiBzZWN1cmU6CisgICAgICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgICAgICBpbXBvcnQgc3NsCisgICAgICAgICAgICAgICAgICAgIGZkLCBmbiA9IHRlbXBmaWxlLm1rc3RlbXAoKQorICAgICAgICAgICAgICAgICAgICBvcy5jbG9zZShmZCkKKyAgICAgICAgICAgICAgICAgICAgd2l0aCBvcGVuKGZuLCAndycpIGFzIGY6CisgICAgICAgICAgICAgICAgICAgICAgICBmLndyaXRlKHNlbGYuUEVNRklMRSkKKyAgICAgICAgICAgICAgICAgICAgc3NsY3R4ID0gc3NsLlNTTENvbnRleHQoc3NsLlBST1RPQ09MX1NTTHYyMykKKyAgICAgICAgICAgICAgICAgICAgc3NsY3R4LmxvYWRfY2VydF9jaGFpbihmbikKKyAgICAgICAgICAgICAgICAgICAgb3MudW5saW5rKGZuKQorICAgICAgICAgICAgICAgIGV4Y2VwdCBJbXBvcnRFcnJvcjoKKyAgICAgICAgICAgICAgICAgICAgc3NsY3R4ID0gTm9uZQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBzc2xjdHggPSBOb25lCisgICAgICAgICAgICBzZWxmLnNlcnZlciA9IHNlcnZlciA9IFRlc3RIVFRQU2VydmVyKGFkZHIsIHNlbGYuaGFuZGxlX3JlcXVlc3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMC4wMSwgc3NsY3R4PXNzbGN0eCkKKyAgICAgICAgICAgIHNlcnZlci5zdGFydCgpCisgICAgICAgICAgICBzZXJ2ZXIucmVhZHkud2FpdCgpCisgICAgICAgICAgICBob3N0ID0gJ2xvY2FsaG9zdDolZCcgJSBzZXJ2ZXIuc2VydmVyX3BvcnQKKyAgICAgICAgICAgIHNlY3VyZV9jbGllbnQgPSBzZWN1cmUgYW5kIHNzbGN0eAorICAgICAgICAgICAgc2VsZi5oX2hkbHIgPSBsb2dnaW5nLmhhbmRsZXJzLkhUVFBIYW5kbGVyKGhvc3QsICcvZnJvYicsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VjdXJlPXNlY3VyZV9jbGllbnQpCisgICAgICAgICAgICBzZWxmLmxvZ19kYXRhID0gTm9uZQorICAgICAgICAgICAgcm9vdF9sb2dnZXIuYWRkSGFuZGxlcihzZWxmLmhfaGRscikKKworICAgICAgICAgICAgZm9yIG1ldGhvZCBpbiAoJ0dFVCcsICdQT1NUJyk6CisgICAgICAgICAgICAgICAgc2VsZi5oX2hkbHIubWV0aG9kID0gbWV0aG9kCisgICAgICAgICAgICAgICAgc2VsZi5oYW5kbGVkLmNsZWFyKCkKKyAgICAgICAgICAgICAgICBtc2cgPSAic3BceGU0bSIKKyAgICAgICAgICAgICAgICBsb2dnZXIuZXJyb3IobXNnKQorICAgICAgICAgICAgICAgIHNlbGYuaGFuZGxlZC53YWl0KCkKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYubG9nX2RhdGEucGF0aCwgJy9mcm9iJykKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuY29tbWFuZCwgbWV0aG9kKQorICAgICAgICAgICAgICAgIGlmIG1ldGhvZCA9PSAnR0VUJzoKKyAgICAgICAgICAgICAgICAgICAgZCA9IHBhcnNlX3FzKHNlbGYubG9nX2RhdGEucXVlcnkpCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgZCA9IHBhcnNlX3FzKHNlbGYucG9zdF9kYXRhLmRlY29kZSgndXRmLTgnKSkKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRbJ25hbWUnXSwgWydodHRwJ10pCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkWydmdW5jTmFtZSddLCBbJ3Rlc3Rfb3V0cHV0J10pCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkWydtc2cnXSwgW21zZ10pCisKKyAgICAgICAgICAgIHNlbGYuc2VydmVyLnN0b3AoMi4wKQorICAgICAgICAgICAgc2VsZi5yb290X2xvZ2dlci5yZW1vdmVIYW5kbGVyKHNlbGYuaF9oZGxyKQorICAgICAgICAgICAgc2VsZi5oX2hkbHIuY2xvc2UoKQogCiBjbGFzcyBNZW1vcnlUZXN0KEJhc2VUZXN0KToKIApAQCAtMTA4NSwyOCArMTcwNCwzOSBAQAogICAgIGRlZiB0ZXN0X3dhcm5pbmdzKHNlbGYpOgogICAgICAgICB3aXRoIHdhcm5pbmdzLmNhdGNoX3dhcm5pbmdzKCk6CiAgICAgICAgICAgICBsb2dnaW5nLmNhcHR1cmVXYXJuaW5ncyhUcnVlKQotICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgIHdhcm5pbmdzLmZpbHRlcndhcm5pbmdzKCJhbHdheXMiLCBjYXRlZ29yeT1Vc2VyV2FybmluZykKLSAgICAgICAgICAgICAgICBmaWxlID0gaW8uU3RyaW5nSU8oKQotICAgICAgICAgICAgICAgIGggPSBsb2dnaW5nLlN0cmVhbUhhbmRsZXIoZmlsZSkKLSAgICAgICAgICAgICAgICBsb2dnZXIgPSBsb2dnaW5nLmdldExvZ2dlcigicHkud2FybmluZ3MiKQotICAgICAgICAgICAgICAgIGxvZ2dlci5hZGRIYW5kbGVyKGgpCi0gICAgICAgICAgICAgICAgd2FybmluZ3Mud2FybigiSSdtIHdhcm5pbmcgeW91Li4uIikKLSAgICAgICAgICAgICAgICBsb2dnZXIucmVtb3ZlSGFuZGxlcihoKQotICAgICAgICAgICAgICAgIHMgPSBmaWxlLmdldHZhbHVlKCkKLSAgICAgICAgICAgICAgICBoLmNsb3NlKCkKLSAgICAgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUocy5maW5kKCJVc2VyV2FybmluZzogSSdtIHdhcm5pbmcgeW91Li4uXG4iKSA+IDApCisgICAgICAgICAgICBzZWxmLmFkZENsZWFudXAobG9nZ2luZy5jYXB0dXJlV2FybmluZ3MsIEZhbHNlKQorICAgICAgICAgICAgd2FybmluZ3MuZmlsdGVyd2FybmluZ3MoImFsd2F5cyIsIGNhdGVnb3J5PVVzZXJXYXJuaW5nKQorICAgICAgICAgICAgc3RyZWFtID0gaW8uU3RyaW5nSU8oKQorICAgICAgICAgICAgaCA9IGxvZ2dpbmcuU3RyZWFtSGFuZGxlcihzdHJlYW0pCisgICAgICAgICAgICBsb2dnZXIgPSBsb2dnaW5nLmdldExvZ2dlcigicHkud2FybmluZ3MiKQorICAgICAgICAgICAgbG9nZ2VyLmFkZEhhbmRsZXIoaCkKKyAgICAgICAgICAgIHdhcm5pbmdzLndhcm4oIkknbSB3YXJuaW5nIHlvdS4uLiIpCisgICAgICAgICAgICBsb2dnZXIucmVtb3ZlSGFuZGxlcihoKQorICAgICAgICAgICAgcyA9IHN0cmVhbS5nZXR2YWx1ZSgpCisgICAgICAgICAgICBoLmNsb3NlKCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShzLmZpbmQoIlVzZXJXYXJuaW5nOiBJJ20gd2FybmluZyB5b3UuLi5cbiIpID4gMCkKIAotICAgICAgICAgICAgICAgICNTZWUgaWYgYW4gZXhwbGljaXQgZmlsZSB1c2VzIHRoZSBvcmlnaW5hbCBpbXBsZW1lbnRhdGlvbgotICAgICAgICAgICAgICAgIGZpbGUgPSBpby5TdHJpbmdJTygpCi0gICAgICAgICAgICAgICAgd2FybmluZ3Muc2hvd3dhcm5pbmcoIkV4cGxpY2l0IiwgVXNlcldhcm5pbmcsICJkdW1teS5weSIsIDQyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGUsICJEdW1teSBsaW5lIikKLSAgICAgICAgICAgICAgICBzID0gZmlsZS5nZXR2YWx1ZSgpCi0gICAgICAgICAgICAgICAgZmlsZS5jbG9zZSgpCi0gICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzLAotICAgICAgICAgICAgICAgICAgICAgICAgImR1bW15LnB5OjQyOiBVc2VyV2FybmluZzogRXhwbGljaXRcbiAgRHVtbXkgbGluZVxuIikKLSAgICAgICAgICAgIGZpbmFsbHk6Ci0gICAgICAgICAgICAgICAgbG9nZ2luZy5jYXB0dXJlV2FybmluZ3MoRmFsc2UpCisgICAgICAgICAgICAjU2VlIGlmIGFuIGV4cGxpY2l0IGZpbGUgdXNlcyB0aGUgb3JpZ2luYWwgaW1wbGVtZW50YXRpb24KKyAgICAgICAgICAgIGFfZmlsZSA9IGlvLlN0cmluZ0lPKCkKKyAgICAgICAgICAgIHdhcm5pbmdzLnNob3d3YXJuaW5nKCJFeHBsaWNpdCIsIFVzZXJXYXJuaW5nLCAiZHVtbXkucHkiLCA0MiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFfZmlsZSwgIkR1bW15IGxpbmUiKQorICAgICAgICAgICAgcyA9IGFfZmlsZS5nZXR2YWx1ZSgpCisgICAgICAgICAgICBhX2ZpbGUuY2xvc2UoKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzLAorICAgICAgICAgICAgICAgICJkdW1teS5weTo0MjogVXNlcldhcm5pbmc6IEV4cGxpY2l0XG4gIER1bW15IGxpbmVcbiIpCisKKyAgICBkZWYgdGVzdF93YXJuaW5nc19ub19oYW5kbGVycyhzZWxmKToKKyAgICAgICAgd2l0aCB3YXJuaW5ncy5jYXRjaF93YXJuaW5ncygpOgorICAgICAgICAgICAgbG9nZ2luZy5jYXB0dXJlV2FybmluZ3MoVHJ1ZSkKKyAgICAgICAgICAgIHNlbGYuYWRkQ2xlYW51cChsb2dnaW5nLmNhcHR1cmVXYXJuaW5ncywgRmFsc2UpCisKKyAgICAgICAgICAgICMgY29uZmlybSBvdXIgYXNzdW1wdGlvbjogbm8gbG9nZ2VycyBhcmUgc2V0CisgICAgICAgICAgICBsb2dnZXIgPSBsb2dnaW5nLmdldExvZ2dlcigicHkud2FybmluZ3MiKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsb2dnZXIuaGFuZGxlcnMsIFtdKQorCisgICAgICAgICAgICB3YXJuaW5ncy5zaG93d2FybmluZygiRXhwbGljaXQiLCBVc2VyV2FybmluZywgImR1bW15LnB5IiwgNDIpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihsb2dnZXIuaGFuZGxlcnMpLCAxKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRJc0luc3RhbmNlKGxvZ2dlci5oYW5kbGVyc1swXSwgbG9nZ2luZy5OdWxsSGFuZGxlcikKIAogCiBkZWYgZm9ybWF0RnVuYyhmb3JtYXQsIGRhdGVmbXQ9Tm9uZSk6CkBAIC0xOTU5LDYgKzI1ODksNyBAQAogICAgICAgICAgICAgbG9nZ2luZy5jb25maWcuc3RvcExpc3RlbmluZygpCiAgICAgICAgICAgICB0LmpvaW4oMi4wKQogCisgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3ModGhyZWFkaW5nLCAnVGhyZWFkaW5nIHJlcXVpcmVkIGZvciB0aGlzIHRlc3QuJykKICAgICBkZWYgdGVzdF9saXN0ZW5fY29uZmlnXzEwX29rKHNlbGYpOgogICAgICAgICB3aXRoIGNhcHR1cmVkX3N0ZG91dCgpIGFzIG91dHB1dDoKICAgICAgICAgICAgIHNlbGYuc2V0dXBfdmlhX2xpc3RlbmVyKGpzb24uZHVtcHMoc2VsZi5jb25maWcxMCkpCkBAIC0xOTc4LDYgKzI2MDksNyBAQAogICAgICAgICAgICAgICAgICgnRVJST1InLCAnNCcpLAogICAgICAgICAgICAgXSwgc3RyZWFtPW91dHB1dCkKIAorICAgIEB1bml0dGVzdC5za2lwVW5sZXNzKHRocmVhZGluZywgJ1RocmVhZGluZyByZXF1aXJlZCBmb3IgdGhpcyB0ZXN0LicpCiAgICAgZGVmIHRlc3RfbGlzdGVuX2NvbmZpZ18xX29rKHNlbGYpOgogICAgICAgICB3aXRoIGNhcHR1cmVkX3N0ZG91dCgpIGFzIG91dHB1dDoKICAgICAgICAgICAgIHNlbGYuc2V0dXBfdmlhX2xpc3RlbmVyKHRleHR3cmFwLmRlZGVudChDb25maWdGaWxlVGVzdC5jb25maWcxKSkKQEAgLTE5OTIsNiArMjYyNCwyNyBAQAogICAgICAgICAgICAgIyBPcmlnaW5hbCBsb2dnZXIgb3V0cHV0IGlzIGVtcHR5LgogICAgICAgICAgICAgc2VsZi5hc3NlcnRfbG9nX2xpbmVzKFtdKQogCisgICAgZGVmIHRlc3RfYmFzZWNvbmZpZyhzZWxmKToKKyAgICAgICAgZCA9IHsKKyAgICAgICAgICAgICdhdHVwbGUnOiAoMSwgMiwgMyksCisgICAgICAgICAgICAnYWxpc3QnOiBbJ2EnLCAnYicsICdjJ10sCisgICAgICAgICAgICAnYWRpY3QnOiB7J2QnOiAnZScsICdmJzogMyB9LAorICAgICAgICAgICAgJ25lc3QxJzogKCdnJywgKCdoJywgJ2knKSwgJ2onKSwKKyAgICAgICAgICAgICduZXN0Mic6IFsnaycsIFsnbCcsICdtJ10sICduJ10sCisgICAgICAgICAgICAnbmVzdDMnOiBbJ28nLCAnY2ZnOi8vYWxpc3QnLCAncCddLAorICAgICAgICB9CisgICAgICAgIGJjID0gbG9nZ2luZy5jb25maWcuQmFzZUNvbmZpZ3VyYXRvcihkKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJjLmNvbnZlcnQoJ2NmZzovL2F0dXBsZVsxXScpLCAyKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJjLmNvbnZlcnQoJ2NmZzovL2FsaXN0WzFdJyksICdiJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiYy5jb252ZXJ0KCdjZmc6Ly9uZXN0MVsxXVswXScpLCAnaCcpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYmMuY29udmVydCgnY2ZnOi8vbmVzdDJbMV1bMV0nKSwgJ20nKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJjLmNvbnZlcnQoJ2NmZzovL2FkaWN0LmQnKSwgJ2UnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJjLmNvbnZlcnQoJ2NmZzovL2FkaWN0W2ZdJyksIDMpCisgICAgICAgIHYgPSBiYy5jb252ZXJ0KCdjZmc6Ly9uZXN0MycpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodi5wb3AoMSksIFsnYScsICdiJywgJ2MnXSkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoS2V5RXJyb3IsIGJjLmNvbnZlcnQsICdjZmc6Ly9ub3N1Y2gnKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBiYy5jb252ZXJ0LCAnY2ZnOi8vIScpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEtleUVycm9yLCBiYy5jb252ZXJ0LCAnY2ZnOi8vYWRpY3RbMl0nKQogCiBjbGFzcyBNYW5hZ2VyVGVzdChCYXNlVGVzdCk6CiAgICAgZGVmIHRlc3RfbWFuYWdlcl9sb2dnZXJjbGFzcyhzZWxmKToKQEAgLTIwMTAsNiArMjY2MywxMSBAQAogCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobG9nZ2VkLCBbJ3Nob3VsZCBhcHBlYXIgaW4gbG9nZ2VkJ10pCiAKKyAgICBkZWYgdGVzdF9zZXRfbG9nX3JlY29yZF9mYWN0b3J5KHNlbGYpOgorICAgICAgICBtYW4gPSBsb2dnaW5nLk1hbmFnZXIoTm9uZSkKKyAgICAgICAgZXhwZWN0ZWQgPSBvYmplY3QoKQorICAgICAgICBtYW4uc2V0TG9nUmVjb3JkRmFjdG9yeShleHBlY3RlZCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtYW4ubG9nUmVjb3JkRmFjdG9yeSwgZXhwZWN0ZWQpCiAKIGNsYXNzIENoaWxkTG9nZ2VyVGVzdChCYXNlVGVzdCk6CiAgICAgZGVmIHRlc3RfY2hpbGRfbG9nZ2VycyhzZWxmKToKQEAgLTIxMTEsNiArMjc2OSwxOCBAQAogICAgICAgICBzZWxmLmFzc2VydFRydWUoaGFuZGxlci5tYXRjaGVzKGxldmVsbm89bG9nZ2luZy5FUlJPUiwgbWVzc2FnZT0nMicpKQogICAgICAgICBzZWxmLmFzc2VydFRydWUoaGFuZGxlci5tYXRjaGVzKGxldmVsbm89bG9nZ2luZy5DUklUSUNBTCwgbWVzc2FnZT0nMycpKQogCitaRVJPID0gZGF0ZXRpbWUudGltZWRlbHRhKDApCisKK2NsYXNzIFVUQyhkYXRldGltZS50emluZm8pOgorICAgIGRlZiB1dGNvZmZzZXQoc2VsZiwgZHQpOgorICAgICAgICByZXR1cm4gWkVSTworCisgICAgZHN0ID0gdXRjb2Zmc2V0CisKKyAgICBkZWYgdHpuYW1lKHNlbGYsIGR0KToKKyAgICAgICAgcmV0dXJuICdVVEMnCisKK3V0YyA9IFVUQygpCiAKIGNsYXNzIEZvcm1hdHRlclRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgIGRlZiBzZXRVcChzZWxmKToKQEAgLTIxODQsNiArMjg1NCw2OSBAQAogICAgICAgICBmID0gbG9nZ2luZy5Gb3JtYXR0ZXIoJ2FzY3RpbWUnLCBzdHlsZT0nJCcpCiAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoZi51c2VzVGltZSgpKQogCisgICAgZGVmIHRlc3RfaW52YWxpZF9zdHlsZShzZWxmKToKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgbG9nZ2luZy5Gb3JtYXR0ZXIsIE5vbmUsIE5vbmUsICd4JykKKworICAgIGRlZiB0ZXN0X3RpbWUoc2VsZik6CisgICAgICAgIHIgPSBzZWxmLmdldF9yZWNvcmQoKQorICAgICAgICBkdCA9IGRhdGV0aW1lLmRhdGV0aW1lKDE5OTMsNCwyMSw4LDMsMCwwLHV0YykKKyAgICAgICAgci5jcmVhdGVkID0gdGltZS5ta3RpbWUoZHQudGltZXR1cGxlKCkpIC0gdGltZS50aW1lem9uZQorICAgICAgICByLm1zZWNzID0gMTIzCisgICAgICAgIGYgPSBsb2dnaW5nLkZvcm1hdHRlcignJShhc2N0aW1lKXMgJShtZXNzYWdlKXMnKQorICAgICAgICBmLmNvbnZlcnRlciA9IHRpbWUuZ210aW1lCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZi5mb3JtYXRUaW1lKHIpLCAnMTk5My0wNC0yMSAwODowMzowMCwxMjMnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGYuZm9ybWF0VGltZShyLCAnJVk6JWQnKSwgJzE5OTM6MjEnKQorICAgICAgICBmLmZvcm1hdChyKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHIuYXNjdGltZSwgJzE5OTMtMDQtMjEgMDg6MDM6MDAsMTIzJykKKworY2xhc3MgVGVzdEJ1ZmZlcmluZ0Zvcm1hdHRlcihsb2dnaW5nLkJ1ZmZlcmluZ0Zvcm1hdHRlcik6CisgICAgZGVmIGZvcm1hdEhlYWRlcihzZWxmLCByZWNvcmRzKToKKyAgICAgICAgcmV0dXJuICdbKCVkKScgJSBsZW4ocmVjb3JkcykKKworICAgIGRlZiBmb3JtYXRGb290ZXIoc2VsZiwgcmVjb3Jkcyk6CisgICAgICAgIHJldHVybiAnKCVkKV0nICUgbGVuKHJlY29yZHMpCisKK2NsYXNzIEJ1ZmZlcmluZ0Zvcm1hdHRlclRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgorICAgIGRlZiBzZXRVcChzZWxmKToKKyAgICAgICAgc2VsZi5yZWNvcmRzID0gWworICAgICAgICAgICAgbG9nZ2luZy5tYWtlTG9nUmVjb3JkKHsnbXNnJzogJ29uZSd9KSwKKyAgICAgICAgICAgIGxvZ2dpbmcubWFrZUxvZ1JlY29yZCh7J21zZyc6ICd0d28nfSksCisgICAgICAgIF0KKworICAgIGRlZiB0ZXN0X2RlZmF1bHQoc2VsZik6CisgICAgICAgIGYgPSBsb2dnaW5nLkJ1ZmZlcmluZ0Zvcm1hdHRlcigpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJycsIGYuZm9ybWF0KFtdKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnb25ldHdvJywgZi5mb3JtYXQoc2VsZi5yZWNvcmRzKSkKKworICAgIGRlZiB0ZXN0X2N1c3RvbShzZWxmKToKKyAgICAgICAgZiA9IFRlc3RCdWZmZXJpbmdGb3JtYXR0ZXIoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCdbKDIpb25ldHdvKDIpXScsIGYuZm9ybWF0KHNlbGYucmVjb3JkcykpCisgICAgICAgIGxmID0gbG9nZ2luZy5Gb3JtYXR0ZXIoJzwlKG1lc3NhZ2Upcz4nKQorICAgICAgICBmID0gVGVzdEJ1ZmZlcmluZ0Zvcm1hdHRlcihsZikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnWygyKTxvbmU+PHR3bz4oMildJywgZi5mb3JtYXQoc2VsZi5yZWNvcmRzKSkKKworY2xhc3MgRXhjZXB0aW9uVGVzdChCYXNlVGVzdCk6CisgICAgZGVmIHRlc3RfZm9ybWF0dGluZyhzZWxmKToKKyAgICAgICAgciA9IHNlbGYucm9vdF9sb2dnZXIKKyAgICAgICAgaCA9IFJlY29yZGluZ0hhbmRsZXIoKQorICAgICAgICByLmFkZEhhbmRsZXIoaCkKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgcmFpc2UgUnVudGltZUVycm9yKCdkZWxpYmVyYXRlIG1pc3Rha2UnKQorICAgICAgICBleGNlcHQ6CisgICAgICAgICAgICBsb2dnaW5nLmV4Y2VwdGlvbignZmFpbGVkJywgc3RhY2tfaW5mbz1UcnVlKQorICAgICAgICByLnJlbW92ZUhhbmRsZXIoaCkKKyAgICAgICAgaC5jbG9zZSgpCisgICAgICAgIHIgPSBoLnJlY29yZHNbMF0KKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHIuZXhjX3RleHQuc3RhcnRzd2l0aCgnVHJhY2ViYWNrIChtb3N0IHJlY2VudCAnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NhbGwgbGFzdCk6XG4nKSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHIuZXhjX3RleHQuZW5kc3dpdGgoJ1xuUnVudGltZUVycm9yOiAnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZWxpYmVyYXRlIG1pc3Rha2UnKSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHIuc3RhY2tfaW5mby5zdGFydHN3aXRoKCdTdGFjayAobW9zdCByZWNlbnQgJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjYWxsIGxhc3QpOlxuJykpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShyLnN0YWNrX2luZm8uZW5kc3dpdGgoJ2xvZ2dpbmcuZXhjZXB0aW9uKFwnZmFpbGVkXCcsICcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3N0YWNrX2luZm89VHJ1ZSknKSkKKworCiBjbGFzcyBMYXN0UmVzb3J0VGVzdChCYXNlVGVzdCk6CiAgICAgZGVmIHRlc3RfbGFzdF9yZXNvcnQoc2VsZik6CiAgICAgICAgICMgVGVzdCB0aGUgbGFzdCByZXNvcnQgaGFuZGxlcgpAQCAtMjE5NCw2ICsyOTI3LDggQEAKICAgICAgICAgb2xkX3JhaXNlX2V4Y2VwdGlvbnMgPSBsb2dnaW5nLnJhaXNlRXhjZXB0aW9ucwogICAgICAgICB0cnk6CiAgICAgICAgICAgICBzeXMuc3RkZXJyID0gc2lvID0gaW8uU3RyaW5nSU8oKQorICAgICAgICAgICAgcm9vdC5kZWJ1ZygnVGhpcyBzaG91bGQgbm90IGFwcGVhcicpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNpby5nZXR2YWx1ZSgpLCAnJykKICAgICAgICAgICAgIHJvb3Qud2FybmluZygnVGhpcyBpcyB5b3VyIGZpbmFsIGNoYW5jZSEnKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzaW8uZ2V0dmFsdWUoKSwgJ1RoaXMgaXMgeW91ciBmaW5hbCBjaGFuY2UhXG4nKQogICAgICAgICAgICAgI05vIGhhbmRsZXJzIGFuZCBubyBsYXN0IHJlc29ydCwgc28gJ05vIGhhbmRsZXJzJyBtZXNzYWdlCkBAIC0yMjE4LDYgKzI5NTMsNTg2IEBACiAgICAgICAgICAgICBsb2dnaW5nLnJhaXNlRXhjZXB0aW9ucyA9IG9sZF9yYWlzZV9leGNlcHRpb25zCiAKIAorY2xhc3MgRmFrZUhhbmRsZXI6CisKKyAgICBkZWYgX19pbml0X18oc2VsZiwgaWRlbnRpZmllciwgY2FsbGVkKToKKyAgICAgICAgZm9yIG1ldGhvZCBpbiAoJ2FjcXVpcmUnLCAnZmx1c2gnLCAnY2xvc2UnLCAncmVsZWFzZScpOgorICAgICAgICAgICAgc2V0YXR0cihzZWxmLCBtZXRob2QsIHNlbGYucmVjb3JkX2NhbGwoaWRlbnRpZmllciwgbWV0aG9kLCBjYWxsZWQpKQorCisgICAgZGVmIHJlY29yZF9jYWxsKHNlbGYsIGlkZW50aWZpZXIsIG1ldGhvZF9uYW1lLCBjYWxsZWQpOgorICAgICAgICBkZWYgaW5uZXIoKToKKyAgICAgICAgICAgIGNhbGxlZC5hcHBlbmQoJ3t9IC0ge30nLmZvcm1hdChpZGVudGlmaWVyLCBtZXRob2RfbmFtZSkpCisgICAgICAgIHJldHVybiBpbm5lcgorCisKK2NsYXNzIFJlY29yZGluZ0hhbmRsZXIobG9nZ2luZy5OdWxsSGFuZGxlcik6CisKKyAgICBkZWYgX19pbml0X18oc2VsZiwgKmFyZ3MsICoqa3dhcmdzKToKKyAgICAgICAgc3VwZXIoUmVjb3JkaW5nSGFuZGxlciwgc2VsZikuX19pbml0X18oKmFyZ3MsICoqa3dhcmdzKQorICAgICAgICBzZWxmLnJlY29yZHMgPSBbXQorCisgICAgZGVmIGhhbmRsZShzZWxmLCByZWNvcmQpOgorICAgICAgICAiIiJLZWVwIHRyYWNrIG9mIGFsbCB0aGUgZW1pdHRlZCByZWNvcmRzLiIiIgorICAgICAgICBzZWxmLnJlY29yZHMuYXBwZW5kKHJlY29yZCkKKworCitjbGFzcyBTaHV0ZG93blRlc3QoQmFzZVRlc3QpOgorCisgICAgIiIiVGVzdCBzdWl0ZSBmb3IgdGhlIHNodXRkb3duIG1ldGhvZC4iIiIKKworICAgIGRlZiBzZXRVcChzZWxmKToKKyAgICAgICAgc3VwZXIoU2h1dGRvd25UZXN0LCBzZWxmKS5zZXRVcCgpCisgICAgICAgIHNlbGYuY2FsbGVkID0gW10KKworICAgICAgICByYWlzZV9leGNlcHRpb25zID0gbG9nZ2luZy5yYWlzZUV4Y2VwdGlvbnMKKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKHNldGF0dHIsIGxvZ2dpbmcsICdyYWlzZUV4Y2VwdGlvbnMnLCByYWlzZV9leGNlcHRpb25zKQorCisgICAgZGVmIHJhaXNlX2Vycm9yKHNlbGYsIGVycm9yKToKKyAgICAgICAgZGVmIGlubmVyKCk6CisgICAgICAgICAgICByYWlzZSBlcnJvcigpCisgICAgICAgIHJldHVybiBpbm5lcgorCisgICAgZGVmIHRlc3Rfbm9fZmFpbHVyZShzZWxmKToKKyAgICAgICAgIyBjcmVhdGUgc29tZSBmYWtlIGhhbmRsZXJzCisgICAgICAgIGhhbmRsZXIwID0gRmFrZUhhbmRsZXIoMCwgc2VsZi5jYWxsZWQpCisgICAgICAgIGhhbmRsZXIxID0gRmFrZUhhbmRsZXIoMSwgc2VsZi5jYWxsZWQpCisgICAgICAgIGhhbmRsZXIyID0gRmFrZUhhbmRsZXIoMiwgc2VsZi5jYWxsZWQpCisKKyAgICAgICAgIyBjcmVhdGUgbGl2ZSB3ZWFrcmVmIHRvIHRob3NlIGhhbmRsZXJzCisgICAgICAgIGhhbmRsZXJzID0gbWFwKGxvZ2dpbmcud2Vha3JlZi5yZWYsIFtoYW5kbGVyMCwgaGFuZGxlcjEsIGhhbmRsZXIyXSkKKworICAgICAgICBsb2dnaW5nLnNodXRkb3duKGhhbmRsZXJMaXN0PWxpc3QoaGFuZGxlcnMpKQorCisgICAgICAgIGV4cGVjdGVkID0gWycyIC0gYWNxdWlyZScsICcyIC0gZmx1c2gnLCAnMiAtIGNsb3NlJywgJzIgLSByZWxlYXNlJywKKyAgICAgICAgICAgICAgICAgICAgJzEgLSBhY3F1aXJlJywgJzEgLSBmbHVzaCcsICcxIC0gY2xvc2UnLCAnMSAtIHJlbGVhc2UnLAorICAgICAgICAgICAgICAgICAgICAnMCAtIGFjcXVpcmUnLCAnMCAtIGZsdXNoJywgJzAgLSBjbG9zZScsICcwIC0gcmVsZWFzZSddCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXhwZWN0ZWQsIHNlbGYuY2FsbGVkKQorCisgICAgZGVmIF90ZXN0X3dpdGhfZmFpbHVyZV9pbl9tZXRob2Qoc2VsZiwgbWV0aG9kLCBlcnJvcik6CisgICAgICAgIGhhbmRsZXIgPSBGYWtlSGFuZGxlcigwLCBzZWxmLmNhbGxlZCkKKyAgICAgICAgc2V0YXR0cihoYW5kbGVyLCBtZXRob2QsIHNlbGYucmFpc2VfZXJyb3IoZXJyb3IpKQorICAgICAgICBoYW5kbGVycyA9IFtsb2dnaW5nLndlYWtyZWYucmVmKGhhbmRsZXIpXQorCisgICAgICAgIGxvZ2dpbmcuc2h1dGRvd24oaGFuZGxlckxpc3Q9bGlzdChoYW5kbGVycykpCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnMCAtIHJlbGVhc2UnLCBzZWxmLmNhbGxlZFstMV0pCisKKyAgICBkZWYgdGVzdF93aXRoX2lvZXJyb3JfaW5fYWNxdWlyZShzZWxmKToKKyAgICAgICAgc2VsZi5fdGVzdF93aXRoX2ZhaWx1cmVfaW5fbWV0aG9kKCdhY3F1aXJlJywgSU9FcnJvcikKKworICAgIGRlZiB0ZXN0X3dpdGhfaW9lcnJvcl9pbl9mbHVzaChzZWxmKToKKyAgICAgICAgc2VsZi5fdGVzdF93aXRoX2ZhaWx1cmVfaW5fbWV0aG9kKCdmbHVzaCcsIElPRXJyb3IpCisKKyAgICBkZWYgdGVzdF93aXRoX2lvZXJyb3JfaW5fY2xvc2Uoc2VsZik6CisgICAgICAgIHNlbGYuX3Rlc3Rfd2l0aF9mYWlsdXJlX2luX21ldGhvZCgnY2xvc2UnLCBJT0Vycm9yKQorCisgICAgZGVmIHRlc3Rfd2l0aF92YWx1ZWVycm9yX2luX2FjcXVpcmUoc2VsZik6CisgICAgICAgIHNlbGYuX3Rlc3Rfd2l0aF9mYWlsdXJlX2luX21ldGhvZCgnYWNxdWlyZScsIFZhbHVlRXJyb3IpCisKKyAgICBkZWYgdGVzdF93aXRoX3ZhbHVlZXJyb3JfaW5fZmx1c2goc2VsZik6CisgICAgICAgIHNlbGYuX3Rlc3Rfd2l0aF9mYWlsdXJlX2luX21ldGhvZCgnZmx1c2gnLCBWYWx1ZUVycm9yKQorCisgICAgZGVmIHRlc3Rfd2l0aF92YWx1ZWVycm9yX2luX2Nsb3NlKHNlbGYpOgorICAgICAgICBzZWxmLl90ZXN0X3dpdGhfZmFpbHVyZV9pbl9tZXRob2QoJ2Nsb3NlJywgVmFsdWVFcnJvcikKKworICAgIGRlZiB0ZXN0X3dpdGhfb3RoZXJfZXJyb3JfaW5fYWNxdWlyZV93aXRob3V0X3JhaXNlKHNlbGYpOgorICAgICAgICBsb2dnaW5nLnJhaXNlRXhjZXB0aW9ucyA9IEZhbHNlCisgICAgICAgIHNlbGYuX3Rlc3Rfd2l0aF9mYWlsdXJlX2luX21ldGhvZCgnYWNxdWlyZScsIEluZGV4RXJyb3IpCisKKyAgICBkZWYgdGVzdF93aXRoX290aGVyX2Vycm9yX2luX2ZsdXNoX3dpdGhvdXRfcmFpc2Uoc2VsZik6CisgICAgICAgIGxvZ2dpbmcucmFpc2VFeGNlcHRpb25zID0gRmFsc2UKKyAgICAgICAgc2VsZi5fdGVzdF93aXRoX2ZhaWx1cmVfaW5fbWV0aG9kKCdmbHVzaCcsIEluZGV4RXJyb3IpCisKKyAgICBkZWYgdGVzdF93aXRoX290aGVyX2Vycm9yX2luX2Nsb3NlX3dpdGhvdXRfcmFpc2Uoc2VsZik6CisgICAgICAgIGxvZ2dpbmcucmFpc2VFeGNlcHRpb25zID0gRmFsc2UKKyAgICAgICAgc2VsZi5fdGVzdF93aXRoX2ZhaWx1cmVfaW5fbWV0aG9kKCdjbG9zZScsIEluZGV4RXJyb3IpCisKKyAgICBkZWYgdGVzdF93aXRoX290aGVyX2Vycm9yX2luX2FjcXVpcmVfd2l0aF9yYWlzZShzZWxmKToKKyAgICAgICAgbG9nZ2luZy5yYWlzZUV4Y2VwdGlvbnMgPSBUcnVlCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEluZGV4RXJyb3IsIHNlbGYuX3Rlc3Rfd2l0aF9mYWlsdXJlX2luX21ldGhvZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgJ2FjcXVpcmUnLCBJbmRleEVycm9yKQorCisgICAgZGVmIHRlc3Rfd2l0aF9vdGhlcl9lcnJvcl9pbl9mbHVzaF93aXRoX3JhaXNlKHNlbGYpOgorICAgICAgICBsb2dnaW5nLnJhaXNlRXhjZXB0aW9ucyA9IFRydWUKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoSW5kZXhFcnJvciwgc2VsZi5fdGVzdF93aXRoX2ZhaWx1cmVfaW5fbWV0aG9kLAorICAgICAgICAgICAgICAgICAgICAgICAgICAnZmx1c2gnLCBJbmRleEVycm9yKQorCisgICAgZGVmIHRlc3Rfd2l0aF9vdGhlcl9lcnJvcl9pbl9jbG9zZV93aXRoX3JhaXNlKHNlbGYpOgorICAgICAgICBsb2dnaW5nLnJhaXNlRXhjZXB0aW9ucyA9IFRydWUKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoSW5kZXhFcnJvciwgc2VsZi5fdGVzdF93aXRoX2ZhaWx1cmVfaW5fbWV0aG9kLAorICAgICAgICAgICAgICAgICAgICAgICAgICAnY2xvc2UnLCBJbmRleEVycm9yKQorCisKK2NsYXNzIE1vZHVsZUxldmVsTWlzY1Rlc3QoQmFzZVRlc3QpOgorCisgICAgIiIiVGVzdCBzdWl0ZSBmb3Igc29tZSBtb2R1bGUgbGV2ZWwgbWV0aG9kcy4iIiIKKworICAgIGRlZiB0ZXN0X2Rpc2FibGUoc2VsZik6CisgICAgICAgIG9sZF9kaXNhYmxlID0gbG9nZ2luZy5yb290Lm1hbmFnZXIuZGlzYWJsZQorICAgICAgICAjIGNvbmZpcm0gb3VyIGFzc3VtcHRpb25zIGFyZSBjb3JyZWN0CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwob2xkX2Rpc2FibGUsIDApCisgICAgICAgIHNlbGYuYWRkQ2xlYW51cChsb2dnaW5nLmRpc2FibGUsIG9sZF9kaXNhYmxlKQorCisgICAgICAgIGxvZ2dpbmcuZGlzYWJsZSg4MykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsb2dnaW5nLnJvb3QubWFuYWdlci5kaXNhYmxlLCA4MykKKworICAgIGRlZiBfdGVzdF9sb2coc2VsZiwgbWV0aG9kLCBsZXZlbD1Ob25lKToKKyAgICAgICAgY2FsbGVkID0gW10KKyAgICAgICAgcGF0Y2goc2VsZiwgbG9nZ2luZywgJ2Jhc2ljQ29uZmlnJywKKyAgICAgICAgICAgICAgbGFtYmRhICphLCAqKmt3OiBjYWxsZWQuYXBwZW5kKChhLCBrdykpKQorCisgICAgICAgIHJlY29yZGluZyA9IFJlY29yZGluZ0hhbmRsZXIoKQorICAgICAgICBsb2dnaW5nLnJvb3QuYWRkSGFuZGxlcihyZWNvcmRpbmcpCisKKyAgICAgICAgbG9nX21ldGhvZCA9IGdldGF0dHIobG9nZ2luZywgbWV0aG9kKQorICAgICAgICBpZiBsZXZlbCBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIGxvZ19tZXRob2QobGV2ZWwsICJ0ZXN0IG1lOiAlciIsIHJlY29yZGluZykKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGxvZ19tZXRob2QoInRlc3QgbWU6ICVyIiwgcmVjb3JkaW5nKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKHJlY29yZGluZy5yZWNvcmRzKSwgMSkKKyAgICAgICAgcmVjb3JkID0gcmVjb3JkaW5nLnJlY29yZHNbMF0KKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZWNvcmQuZ2V0TWVzc2FnZSgpLCAidGVzdCBtZTogJXIiICUgcmVjb3JkaW5nKQorCisgICAgICAgIGV4cGVjdGVkX2xldmVsID0gbGV2ZWwgaWYgbGV2ZWwgaXMgbm90IE5vbmUgZWxzZSBnZXRhdHRyKGxvZ2dpbmcsIG1ldGhvZC51cHBlcigpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlY29yZC5sZXZlbG5vLCBleHBlY3RlZF9sZXZlbCkKKworICAgICAgICAjIGJhc2ljQ29uZmlnIHdhcyBub3QgY2FsbGVkIQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNhbGxlZCwgW10pCisKKyAgICBkZWYgdGVzdF9sb2coc2VsZik6CisgICAgICAgIHNlbGYuX3Rlc3RfbG9nKCdsb2cnLCBsb2dnaW5nLkVSUk9SKQorCisgICAgZGVmIHRlc3RfZGVidWcoc2VsZik6CisgICAgICAgIHNlbGYuX3Rlc3RfbG9nKCdkZWJ1ZycpCisKKyAgICBkZWYgdGVzdF9pbmZvKHNlbGYpOgorICAgICAgICBzZWxmLl90ZXN0X2xvZygnaW5mbycpCisKKyAgICBkZWYgdGVzdF93YXJuaW5nKHNlbGYpOgorICAgICAgICBzZWxmLl90ZXN0X2xvZygnd2FybmluZycpCisKKyAgICBkZWYgdGVzdF9lcnJvcihzZWxmKToKKyAgICAgICAgc2VsZi5fdGVzdF9sb2coJ2Vycm9yJykKKworICAgIGRlZiB0ZXN0X2NyaXRpY2FsKHNlbGYpOgorICAgICAgICBzZWxmLl90ZXN0X2xvZygnY3JpdGljYWwnKQorCisgICAgZGVmIHRlc3Rfc2V0X2xvZ2dlcl9jbGFzcyhzZWxmKToKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBsb2dnaW5nLnNldExvZ2dlckNsYXNzLCBvYmplY3QpCisKKyAgICAgICAgY2xhc3MgTXlMb2dnZXIobG9nZ2luZy5Mb2dnZXIpOgorICAgICAgICAgICAgcGFzcworCisgICAgICAgIGxvZ2dpbmcuc2V0TG9nZ2VyQ2xhc3MoTXlMb2dnZXIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobG9nZ2luZy5nZXRMb2dnZXJDbGFzcygpLCBNeUxvZ2dlcikKKworICAgICAgICBsb2dnaW5nLnNldExvZ2dlckNsYXNzKGxvZ2dpbmcuTG9nZ2VyKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxvZ2dpbmcuZ2V0TG9nZ2VyQ2xhc3MoKSwgbG9nZ2luZy5Mb2dnZXIpCisKK2NsYXNzIExvZ1JlY29yZFRlc3QoQmFzZVRlc3QpOgorICAgIGRlZiB0ZXN0X3N0cl9yZXAoc2VsZik6CisgICAgICAgIHIgPSBsb2dnaW5nLm1ha2VMb2dSZWNvcmQoe30pCisgICAgICAgIHMgPSBzdHIocikKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHMuc3RhcnRzd2l0aCgnPExvZ1JlY29yZDogJykpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShzLmVuZHN3aXRoKCc+JykpCisKKyAgICBkZWYgdGVzdF9kaWN0X2FyZyhzZWxmKToKKyAgICAgICAgaCA9IFJlY29yZGluZ0hhbmRsZXIoKQorICAgICAgICByID0gbG9nZ2luZy5nZXRMb2dnZXIoKQorICAgICAgICByLmFkZEhhbmRsZXIoaCkKKyAgICAgICAgZCA9IHsnbGVzcycgOiAnbW9yZScgfQorICAgICAgICBsb2dnaW5nLndhcm5pbmcoJ2xlc3MgaXMgJShsZXNzKXMnLCBkKQorICAgICAgICBzZWxmLmFzc2VydElzKGgucmVjb3Jkc1swXS5hcmdzLCBkKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGgucmVjb3Jkc1swXS5tZXNzYWdlLCAnbGVzcyBpcyBtb3JlJykKKyAgICAgICAgci5yZW1vdmVIYW5kbGVyKGgpCisgICAgICAgIGguY2xvc2UoKQorCisgICAgZGVmIHRlc3RfbXVsdGlwcm9jZXNzaW5nKHNlbGYpOgorICAgICAgICByID0gbG9nZ2luZy5tYWtlTG9nUmVjb3JkKHt9KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHIucHJvY2Vzc05hbWUsICdNYWluUHJvY2VzcycpCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIGltcG9ydCBtdWx0aXByb2Nlc3NpbmcgYXMgbXAKKyAgICAgICAgICAgIHIgPSBsb2dnaW5nLm1ha2VMb2dSZWNvcmQoe30pCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHIucHJvY2Vzc05hbWUsIG1wLmN1cnJlbnRfcHJvY2VzcygpLm5hbWUpCisgICAgICAgIGV4Y2VwdCBJbXBvcnRFcnJvcjoKKyAgICAgICAgICAgIHBhc3MKKworICAgIGRlZiB0ZXN0X29wdGlvbmFsKHNlbGYpOgorICAgICAgICByID0gbG9nZ2luZy5tYWtlTG9nUmVjb3JkKHt9KQorICAgICAgICBOT1RfTk9ORSA9IHNlbGYuYXNzZXJ0SXNOb3ROb25lCisgICAgICAgIGlmIHRocmVhZGluZzoKKyAgICAgICAgICAgIE5PVF9OT05FKHIudGhyZWFkKQorICAgICAgICAgICAgTk9UX05PTkUoci50aHJlYWROYW1lKQorICAgICAgICBOT1RfTk9ORShyLnByb2Nlc3MpCisgICAgICAgIE5PVF9OT05FKHIucHJvY2Vzc05hbWUpCisgICAgICAgIGxvZ190aHJlYWRzID0gbG9nZ2luZy5sb2dUaHJlYWRzCisgICAgICAgIGxvZ19wcm9jZXNzZXMgPSBsb2dnaW5nLmxvZ1Byb2Nlc3NlcworICAgICAgICBsb2dfbXVsdGlwcm9jZXNzaW5nID0gbG9nZ2luZy5sb2dNdWx0aXByb2Nlc3NpbmcKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgbG9nZ2luZy5sb2dUaHJlYWRzID0gRmFsc2UKKyAgICAgICAgICAgIGxvZ2dpbmcubG9nUHJvY2Vzc2VzID0gRmFsc2UKKyAgICAgICAgICAgIGxvZ2dpbmcubG9nTXVsdGlwcm9jZXNzaW5nID0gRmFsc2UKKyAgICAgICAgICAgIHIgPSBsb2dnaW5nLm1ha2VMb2dSZWNvcmQoe30pCisgICAgICAgICAgICBOT05FID0gc2VsZi5hc3NlcnRJc05vbmUKKyAgICAgICAgICAgIE5PTkUoci50aHJlYWQpCisgICAgICAgICAgICBOT05FKHIudGhyZWFkTmFtZSkKKyAgICAgICAgICAgIE5PTkUoci5wcm9jZXNzKQorICAgICAgICAgICAgTk9ORShyLnByb2Nlc3NOYW1lKQorICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgbG9nZ2luZy5sb2dUaHJlYWRzID0gbG9nX3RocmVhZHMKKyAgICAgICAgICAgIGxvZ2dpbmcubG9nUHJvY2Vzc2VzID0gbG9nX3Byb2Nlc3NlcworICAgICAgICAgICAgbG9nZ2luZy5sb2dNdWx0aXByb2Nlc3NpbmcgPSBsb2dfbXVsdGlwcm9jZXNzaW5nCisKK2NsYXNzIEJhc2ljQ29uZmlnVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CisKKyAgICAiIiJUZXN0IHN1aXRlIGZvciBsb2dnaW5nLmJhc2ljQ29uZmlnLiIiIgorCisgICAgZGVmIHNldFVwKHNlbGYpOgorICAgICAgICBzdXBlcihCYXNpY0NvbmZpZ1Rlc3QsIHNlbGYpLnNldFVwKCkKKyAgICAgICAgc2VsZi5oYW5kbGVycyA9IGxvZ2dpbmcucm9vdC5oYW5kbGVycworICAgICAgICBzZWxmLnNhdmVkX2hhbmRsZXJzID0gbG9nZ2luZy5faGFuZGxlcnMuY29weSgpCisgICAgICAgIHNlbGYuc2F2ZWRfaGFuZGxlcl9saXN0ID0gbG9nZ2luZy5faGFuZGxlckxpc3RbOl0KKyAgICAgICAgc2VsZi5vcmlnaW5hbF9sb2dnaW5nX2xldmVsID0gbG9nZ2luZy5yb290LmxldmVsCisgICAgICAgIHNlbGYuYWRkQ2xlYW51cChzZWxmLmNsZWFudXApCisgICAgICAgIGxvZ2dpbmcucm9vdC5oYW5kbGVycyA9IFtdCisKKyAgICBkZWYgdGVhckRvd24oc2VsZik6CisgICAgICAgIGZvciBoIGluIGxvZ2dpbmcucm9vdC5oYW5kbGVyc1s6XToKKyAgICAgICAgICAgIGxvZ2dpbmcucm9vdC5yZW1vdmVIYW5kbGVyKGgpCisgICAgICAgICAgICBoLmNsb3NlKCkKKyAgICAgICAgc3VwZXIoQmFzaWNDb25maWdUZXN0LCBzZWxmKS50ZWFyRG93bigpCisKKyAgICBkZWYgY2xlYW51cChzZWxmKToKKyAgICAgICAgc2V0YXR0cihsb2dnaW5nLnJvb3QsICdoYW5kbGVycycsIHNlbGYuaGFuZGxlcnMpCisgICAgICAgIGxvZ2dpbmcuX2hhbmRsZXJzLmNsZWFyKCkKKyAgICAgICAgbG9nZ2luZy5faGFuZGxlcnMudXBkYXRlKHNlbGYuc2F2ZWRfaGFuZGxlcnMpCisgICAgICAgIGxvZ2dpbmcuX2hhbmRsZXJMaXN0WzpdID0gc2VsZi5zYXZlZF9oYW5kbGVyX2xpc3QKKyAgICAgICAgbG9nZ2luZy5yb290LmxldmVsID0gc2VsZi5vcmlnaW5hbF9sb2dnaW5nX2xldmVsCisKKyAgICBkZWYgdGVzdF9ub19rd2FyZ3Moc2VsZik6CisgICAgICAgIGxvZ2dpbmcuYmFzaWNDb25maWcoKQorCisgICAgICAgICMgaGFuZGxlciBkZWZhdWx0cyB0byBhIFN0cmVhbUhhbmRsZXIgdG8gc3lzLnN0ZGVycgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihsb2dnaW5nLnJvb3QuaGFuZGxlcnMpLCAxKQorICAgICAgICBoYW5kbGVyID0gbG9nZ2luZy5yb290LmhhbmRsZXJzWzBdCisgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShoYW5kbGVyLCBsb2dnaW5nLlN0cmVhbUhhbmRsZXIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaGFuZGxlci5zdHJlYW0sIHN5cy5zdGRlcnIpCisKKyAgICAgICAgZm9ybWF0dGVyID0gaGFuZGxlci5mb3JtYXR0ZXIKKyAgICAgICAgIyBmb3JtYXQgZGVmYXVsdHMgdG8gbG9nZ2luZy5CQVNJQ19GT1JNQVQKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmb3JtYXR0ZXIuX3N0eWxlLl9mbXQsIGxvZ2dpbmcuQkFTSUNfRk9STUFUKQorICAgICAgICAjIGRhdGVmbXQgZGVmYXVsdHMgdG8gTm9uZQorICAgICAgICBzZWxmLmFzc2VydElzTm9uZShmb3JtYXR0ZXIuZGF0ZWZtdCkKKyAgICAgICAgIyBzdHlsZSBkZWZhdWx0cyB0byAlCisgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShmb3JtYXR0ZXIuX3N0eWxlLCBsb2dnaW5nLlBlcmNlbnRTdHlsZSkKKworICAgICAgICAjIGxldmVsIGlzIG5vdCBleHBsaWNpdGx5IHNldAorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxvZ2dpbmcucm9vdC5sZXZlbCwgc2VsZi5vcmlnaW5hbF9sb2dnaW5nX2xldmVsKQorCisgICAgZGVmIHRlc3RfZmlsZW5hbWUoc2VsZik6CisgICAgICAgIGxvZ2dpbmcuYmFzaWNDb25maWcoZmlsZW5hbWU9J3Rlc3QubG9nJykKKworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihsb2dnaW5nLnJvb3QuaGFuZGxlcnMpLCAxKQorICAgICAgICBoYW5kbGVyID0gbG9nZ2luZy5yb290LmhhbmRsZXJzWzBdCisgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShoYW5kbGVyLCBsb2dnaW5nLkZpbGVIYW5kbGVyKQorCisgICAgICAgIGV4cGVjdGVkID0gbG9nZ2luZy5GaWxlSGFuZGxlcigndGVzdC5sb2cnLCAnYScpCisgICAgICAgIHNlbGYuYWRkQ2xlYW51cChleHBlY3RlZC5jbG9zZSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChoYW5kbGVyLnN0cmVhbS5tb2RlLCBleHBlY3RlZC5zdHJlYW0ubW9kZSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChoYW5kbGVyLnN0cmVhbS5uYW1lLCBleHBlY3RlZC5zdHJlYW0ubmFtZSkKKworICAgIGRlZiB0ZXN0X2ZpbGVtb2RlKHNlbGYpOgorICAgICAgICBsb2dnaW5nLmJhc2ljQ29uZmlnKGZpbGVuYW1lPSd0ZXN0LmxvZycsIGZpbGVtb2RlPSd3YicpCisKKyAgICAgICAgaGFuZGxlciA9IGxvZ2dpbmcucm9vdC5oYW5kbGVyc1swXQorICAgICAgICBleHBlY3RlZCA9IGxvZ2dpbmcuRmlsZUhhbmRsZXIoJ3Rlc3QubG9nJywgJ3diJykKKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKGV4cGVjdGVkLmNsb3NlKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGhhbmRsZXIuc3RyZWFtLm1vZGUsIGV4cGVjdGVkLnN0cmVhbS5tb2RlKQorCisgICAgZGVmIHRlc3Rfc3RyZWFtKHNlbGYpOgorICAgICAgICBzdHJlYW0gPSBpby5TdHJpbmdJTygpCisgICAgICAgIHNlbGYuYWRkQ2xlYW51cChzdHJlYW0uY2xvc2UpCisgICAgICAgIGxvZ2dpbmcuYmFzaWNDb25maWcoc3RyZWFtPXN0cmVhbSkKKworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihsb2dnaW5nLnJvb3QuaGFuZGxlcnMpLCAxKQorICAgICAgICBoYW5kbGVyID0gbG9nZ2luZy5yb290LmhhbmRsZXJzWzBdCisgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShoYW5kbGVyLCBsb2dnaW5nLlN0cmVhbUhhbmRsZXIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaGFuZGxlci5zdHJlYW0sIHN0cmVhbSkKKworICAgIGRlZiB0ZXN0X2Zvcm1hdChzZWxmKToKKyAgICAgICAgbG9nZ2luZy5iYXNpY0NvbmZpZyhmb3JtYXQ9J2ZvbycpCisKKyAgICAgICAgZm9ybWF0dGVyID0gbG9nZ2luZy5yb290LmhhbmRsZXJzWzBdLmZvcm1hdHRlcgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGZvcm1hdHRlci5fc3R5bGUuX2ZtdCwgJ2ZvbycpCisKKyAgICBkZWYgdGVzdF9kYXRlZm10KHNlbGYpOgorICAgICAgICBsb2dnaW5nLmJhc2ljQ29uZmlnKGRhdGVmbXQ9J2JhcicpCisKKyAgICAgICAgZm9ybWF0dGVyID0gbG9nZ2luZy5yb290LmhhbmRsZXJzWzBdLmZvcm1hdHRlcgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGZvcm1hdHRlci5kYXRlZm10LCAnYmFyJykKKworICAgIGRlZiB0ZXN0X3N0eWxlKHNlbGYpOgorICAgICAgICBsb2dnaW5nLmJhc2ljQ29uZmlnKHN0eWxlPSckJykKKworICAgICAgICBmb3JtYXR0ZXIgPSBsb2dnaW5nLnJvb3QuaGFuZGxlcnNbMF0uZm9ybWF0dGVyCisgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShmb3JtYXR0ZXIuX3N0eWxlLCBsb2dnaW5nLlN0cmluZ1RlbXBsYXRlU3R5bGUpCisKKyAgICBkZWYgdGVzdF9sZXZlbChzZWxmKToKKyAgICAgICAgb2xkX2xldmVsID0gbG9nZ2luZy5yb290LmxldmVsCisgICAgICAgIHNlbGYuYWRkQ2xlYW51cChsb2dnaW5nLnJvb3Quc2V0TGV2ZWwsIG9sZF9sZXZlbCkKKworICAgICAgICBsb2dnaW5nLmJhc2ljQ29uZmlnKGxldmVsPTU3KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxvZ2dpbmcucm9vdC5sZXZlbCwgNTcpCisgICAgICAgICMgVGVzdCB0aGF0IHNlY29uZCBjYWxsIGhhcyBubyBlZmZlY3QKKyAgICAgICAgbG9nZ2luZy5iYXNpY0NvbmZpZyhsZXZlbD01OCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsb2dnaW5nLnJvb3QubGV2ZWwsIDU3KQorCisgICAgZGVmIHRlc3RfaW5jb21wYXRpYmxlKHNlbGYpOgorICAgICAgICBhc3NlcnRSYWlzZXMgPSBzZWxmLmFzc2VydFJhaXNlcworICAgICAgICBoYW5kbGVycyA9IFtsb2dnaW5nLlN0cmVhbUhhbmRsZXIoKV0KKyAgICAgICAgc3RyZWFtID0gc3lzLnN0ZGVycgorICAgICAgICBhc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgbG9nZ2luZy5iYXNpY0NvbmZpZywgZmlsZW5hbWU9J3Rlc3QubG9nJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyZWFtPXN0cmVhbSkKKyAgICAgICAgYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIGxvZ2dpbmcuYmFzaWNDb25maWcsIGZpbGVuYW1lPSd0ZXN0LmxvZycsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZXJzPWhhbmRsZXJzKQorICAgICAgICBhc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgbG9nZ2luZy5iYXNpY0NvbmZpZywgc3RyZWFtPXN0cmVhbSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlcnM9aGFuZGxlcnMpCisKKyAgICBkZWYgdGVzdF9oYW5kbGVycyhzZWxmKToKKyAgICAgICAgaGFuZGxlcnMgPSBbCisgICAgICAgICAgICBsb2dnaW5nLlN0cmVhbUhhbmRsZXIoKSwKKyAgICAgICAgICAgIGxvZ2dpbmcuU3RyZWFtSGFuZGxlcihzeXMuc3Rkb3V0KSwKKyAgICAgICAgICAgIGxvZ2dpbmcuU3RyZWFtSGFuZGxlcigpLAorICAgICAgICBdCisgICAgICAgIGYgPSBsb2dnaW5nLkZvcm1hdHRlcigpCisgICAgICAgIGhhbmRsZXJzWzJdLnNldEZvcm1hdHRlcihmKQorICAgICAgICBsb2dnaW5nLmJhc2ljQ29uZmlnKGhhbmRsZXJzPWhhbmRsZXJzKQorICAgICAgICBzZWxmLmFzc2VydElzKGhhbmRsZXJzWzBdLCBsb2dnaW5nLnJvb3QuaGFuZGxlcnNbMF0pCisgICAgICAgIHNlbGYuYXNzZXJ0SXMoaGFuZGxlcnNbMV0sIGxvZ2dpbmcucm9vdC5oYW5kbGVyc1sxXSkKKyAgICAgICAgc2VsZi5hc3NlcnRJcyhoYW5kbGVyc1syXSwgbG9nZ2luZy5yb290LmhhbmRsZXJzWzJdKQorICAgICAgICBzZWxmLmFzc2VydElzTm90Tm9uZShoYW5kbGVyc1swXS5mb3JtYXR0ZXIpCisgICAgICAgIHNlbGYuYXNzZXJ0SXNOb3ROb25lKGhhbmRsZXJzWzFdLmZvcm1hdHRlcikKKyAgICAgICAgc2VsZi5hc3NlcnRJcyhoYW5kbGVyc1syXS5mb3JtYXR0ZXIsIGYpCisgICAgICAgIHNlbGYuYXNzZXJ0SXMoaGFuZGxlcnNbMF0uZm9ybWF0dGVyLCBoYW5kbGVyc1sxXS5mb3JtYXR0ZXIpCisKKyAgICBkZWYgX3Rlc3RfbG9nKHNlbGYsIG1ldGhvZCwgbGV2ZWw9Tm9uZSk6CisgICAgICAgICMgbG9nZ2luZy5yb290IGhhcyBubyBoYW5kbGVycyBzbyBiYXNpY0NvbmZpZyBzaG91bGQgYmUgY2FsbGVkCisgICAgICAgIGNhbGxlZCA9IFtdCisKKyAgICAgICAgb2xkX2Jhc2ljX2NvbmZpZyA9IGxvZ2dpbmcuYmFzaWNDb25maWcKKyAgICAgICAgZGVmIG15X2Jhc2ljX2NvbmZpZygqYSwgKiprdyk6CisgICAgICAgICAgICBvbGRfYmFzaWNfY29uZmlnKCkKKyAgICAgICAgICAgIG9sZF9sZXZlbCA9IGxvZ2dpbmcucm9vdC5sZXZlbAorICAgICAgICAgICAgbG9nZ2luZy5yb290LnNldExldmVsKDEwMCkgICMgYXZvaWQgaGF2aW5nIG1lc3NhZ2VzIGluIHN0ZGVycgorICAgICAgICAgICAgc2VsZi5hZGRDbGVhbnVwKGxvZ2dpbmcucm9vdC5zZXRMZXZlbCwgb2xkX2xldmVsKQorICAgICAgICAgICAgY2FsbGVkLmFwcGVuZCgoYSwga3cpKQorCisgICAgICAgIHBhdGNoKHNlbGYsIGxvZ2dpbmcsICdiYXNpY0NvbmZpZycsIG15X2Jhc2ljX2NvbmZpZykKKworICAgICAgICBsb2dfbWV0aG9kID0gZ2V0YXR0cihsb2dnaW5nLCBtZXRob2QpCisgICAgICAgIGlmIGxldmVsIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgbG9nX21ldGhvZChsZXZlbCwgInRlc3QgbWUiKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgbG9nX21ldGhvZCgidGVzdCBtZSIpCisKKyAgICAgICAgIyBiYXNpY0NvbmZpZyB3YXMgY2FsbGVkIHdpdGggbm8gYXJndW1lbnRzCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY2FsbGVkLCBbKCgpLCB7fSldKQorCisgICAgZGVmIHRlc3RfbG9nKHNlbGYpOgorICAgICAgICBzZWxmLl90ZXN0X2xvZygnbG9nJywgbG9nZ2luZy5XQVJOSU5HKQorCisgICAgZGVmIHRlc3RfZGVidWcoc2VsZik6CisgICAgICAgIHNlbGYuX3Rlc3RfbG9nKCdkZWJ1ZycpCisKKyAgICBkZWYgdGVzdF9pbmZvKHNlbGYpOgorICAgICAgICBzZWxmLl90ZXN0X2xvZygnaW5mbycpCisKKyAgICBkZWYgdGVzdF93YXJuaW5nKHNlbGYpOgorICAgICAgICBzZWxmLl90ZXN0X2xvZygnd2FybmluZycpCisKKyAgICBkZWYgdGVzdF9lcnJvcihzZWxmKToKKyAgICAgICAgc2VsZi5fdGVzdF9sb2coJ2Vycm9yJykKKworICAgIGRlZiB0ZXN0X2NyaXRpY2FsKHNlbGYpOgorICAgICAgICBzZWxmLl90ZXN0X2xvZygnY3JpdGljYWwnKQorCisKK2NsYXNzIExvZ2dlckFkYXB0ZXJUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKKworICAgIGRlZiBzZXRVcChzZWxmKToKKyAgICAgICAgc3VwZXIoTG9nZ2VyQWRhcHRlclRlc3QsIHNlbGYpLnNldFVwKCkKKyAgICAgICAgb2xkX2hhbmRsZXJfbGlzdCA9IGxvZ2dpbmcuX2hhbmRsZXJMaXN0WzpdCisKKyAgICAgICAgc2VsZi5yZWNvcmRpbmcgPSBSZWNvcmRpbmdIYW5kbGVyKCkKKyAgICAgICAgc2VsZi5sb2dnZXIgPSBsb2dnaW5nLnJvb3QKKyAgICAgICAgc2VsZi5sb2dnZXIuYWRkSGFuZGxlcihzZWxmLnJlY29yZGluZykKKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKHNlbGYubG9nZ2VyLnJlbW92ZUhhbmRsZXIsIHNlbGYucmVjb3JkaW5nKQorICAgICAgICBzZWxmLmFkZENsZWFudXAoc2VsZi5yZWNvcmRpbmcuY2xvc2UpCisKKyAgICAgICAgZGVmIGNsZWFudXAoKToKKyAgICAgICAgICAgIGxvZ2dpbmcuX2hhbmRsZXJMaXN0WzpdID0gb2xkX2hhbmRsZXJfbGlzdAorCisgICAgICAgIHNlbGYuYWRkQ2xlYW51cChjbGVhbnVwKQorICAgICAgICBzZWxmLmFkZENsZWFudXAobG9nZ2luZy5zaHV0ZG93bikKKyAgICAgICAgc2VsZi5hZGFwdGVyID0gbG9nZ2luZy5Mb2dnZXJBZGFwdGVyKGxvZ2dlcj1zZWxmLmxvZ2dlciwgZXh0cmE9Tm9uZSkKKworICAgIGRlZiB0ZXN0X2V4Y2VwdGlvbihzZWxmKToKKyAgICAgICAgbXNnID0gJ3Rlc3RpbmcgZXhjZXB0aW9uOiAlcicKKyAgICAgICAgZXhjID0gTm9uZQorICAgICAgICB0cnk6CisgICAgICAgICAgICAxIC8gMAorICAgICAgICBleGNlcHQgWmVyb0RpdmlzaW9uRXJyb3IgYXMgZToKKyAgICAgICAgICAgIGV4YyA9IGUKKyAgICAgICAgICAgIHNlbGYuYWRhcHRlci5leGNlcHRpb24obXNnLCBzZWxmLnJlY29yZGluZykKKworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihzZWxmLnJlY29yZGluZy5yZWNvcmRzKSwgMSkKKyAgICAgICAgcmVjb3JkID0gc2VsZi5yZWNvcmRpbmcucmVjb3Jkc1swXQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlY29yZC5sZXZlbG5vLCBsb2dnaW5nLkVSUk9SKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlY29yZC5tc2csIG1zZykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZWNvcmQuYXJncywgKHNlbGYucmVjb3JkaW5nLCkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVjb3JkLmV4Y19pbmZvLAorICAgICAgICAgICAgICAgICAgICAgICAgIChleGMuX19jbGFzc19fLCBleGMsIGV4Yy5fX3RyYWNlYmFja19fKSkKKworICAgIGRlZiB0ZXN0X2NyaXRpY2FsKHNlbGYpOgorICAgICAgICBtc2cgPSAnY3JpdGljYWwgdGVzdCEgJXInCisgICAgICAgIHNlbGYuYWRhcHRlci5jcml0aWNhbChtc2csIHNlbGYucmVjb3JkaW5nKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKHNlbGYucmVjb3JkaW5nLnJlY29yZHMpLCAxKQorICAgICAgICByZWNvcmQgPSBzZWxmLnJlY29yZGluZy5yZWNvcmRzWzBdCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVjb3JkLmxldmVsbm8sIGxvZ2dpbmcuQ1JJVElDQUwpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVjb3JkLm1zZywgbXNnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlY29yZC5hcmdzLCAoc2VsZi5yZWNvcmRpbmcsKSkKKworICAgIGRlZiB0ZXN0X2lzX2VuYWJsZWRfZm9yKHNlbGYpOgorICAgICAgICBvbGRfZGlzYWJsZSA9IHNlbGYuYWRhcHRlci5sb2dnZXIubWFuYWdlci5kaXNhYmxlCisgICAgICAgIHNlbGYuYWRhcHRlci5sb2dnZXIubWFuYWdlci5kaXNhYmxlID0gMzMKKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKHNldGF0dHIsIHNlbGYuYWRhcHRlci5sb2dnZXIubWFuYWdlciwgJ2Rpc2FibGUnLAorICAgICAgICAgICAgICAgICAgICAgICAgb2xkX2Rpc2FibGUpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2Uoc2VsZi5hZGFwdGVyLmlzRW5hYmxlZEZvcigzMikpCisKKyAgICBkZWYgdGVzdF9oYXNfaGFuZGxlcnMoc2VsZik6CisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShzZWxmLmFkYXB0ZXIuaGFzSGFuZGxlcnMoKSkKKworICAgICAgICBmb3IgaGFuZGxlciBpbiBzZWxmLmxvZ2dlci5oYW5kbGVyczoKKyAgICAgICAgICAgIHNlbGYubG9nZ2VyLnJlbW92ZUhhbmRsZXIoaGFuZGxlcikKKworICAgICAgICBzZWxmLmFzc2VydEZhbHNlKHNlbGYubG9nZ2VyLmhhc0hhbmRsZXJzKCkpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2Uoc2VsZi5hZGFwdGVyLmhhc0hhbmRsZXJzKCkpCisKKworY2xhc3MgTG9nZ2VyVGVzdChCYXNlVGVzdCk6CisKKyAgICBkZWYgc2V0VXAoc2VsZik6CisgICAgICAgIHN1cGVyKExvZ2dlclRlc3QsIHNlbGYpLnNldFVwKCkKKyAgICAgICAgc2VsZi5yZWNvcmRpbmcgPSBSZWNvcmRpbmdIYW5kbGVyKCkKKyAgICAgICAgc2VsZi5sb2dnZXIgPSBsb2dnaW5nLkxvZ2dlcihuYW1lPSdibGFoJykKKyAgICAgICAgc2VsZi5sb2dnZXIuYWRkSGFuZGxlcihzZWxmLnJlY29yZGluZykKKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKHNlbGYubG9nZ2VyLnJlbW92ZUhhbmRsZXIsIHNlbGYucmVjb3JkaW5nKQorICAgICAgICBzZWxmLmFkZENsZWFudXAoc2VsZi5yZWNvcmRpbmcuY2xvc2UpCisgICAgICAgIHNlbGYuYWRkQ2xlYW51cChsb2dnaW5nLnNodXRkb3duKQorCisgICAgZGVmIHRlc3Rfc2V0X2ludmFsaWRfbGV2ZWwoc2VsZik6CisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgc2VsZi5sb2dnZXIuc2V0TGV2ZWwsIG9iamVjdCgpKQorCisgICAgZGVmIHRlc3RfZXhjZXB0aW9uKHNlbGYpOgorICAgICAgICBtc2cgPSAndGVzdGluZyBleGNlcHRpb246ICVyJworICAgICAgICBleGMgPSBOb25lCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIDEgLyAwCisgICAgICAgIGV4Y2VwdCBaZXJvRGl2aXNpb25FcnJvciBhcyBlOgorICAgICAgICAgICAgZXhjID0gZQorICAgICAgICAgICAgc2VsZi5sb2dnZXIuZXhjZXB0aW9uKG1zZywgc2VsZi5yZWNvcmRpbmcpCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oc2VsZi5yZWNvcmRpbmcucmVjb3JkcyksIDEpCisgICAgICAgIHJlY29yZCA9IHNlbGYucmVjb3JkaW5nLnJlY29yZHNbMF0KKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZWNvcmQubGV2ZWxubywgbG9nZ2luZy5FUlJPUikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZWNvcmQubXNnLCBtc2cpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVjb3JkLmFyZ3MsIChzZWxmLnJlY29yZGluZywpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlY29yZC5leGNfaW5mbywKKyAgICAgICAgICAgICAgICAgICAgICAgICAoZXhjLl9fY2xhc3NfXywgZXhjLCBleGMuX190cmFjZWJhY2tfXykpCisKKyAgICBkZWYgdGVzdF9sb2dfaW52YWxpZF9sZXZlbF93aXRoX3JhaXNlKHNlbGYpOgorICAgICAgICBvbGRfcmFpc2UgPSBsb2dnaW5nLnJhaXNlRXhjZXB0aW9ucworICAgICAgICBzZWxmLmFkZENsZWFudXAoc2V0YXR0ciwgbG9nZ2luZywgJ3JhaXNlRXhlY3B0aW9ucycsIG9sZF9yYWlzZSkKKworICAgICAgICBsb2dnaW5nLnJhaXNlRXhjZXB0aW9ucyA9IFRydWUKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBzZWxmLmxvZ2dlci5sb2csICcxMCcsICd0ZXN0IG1lc3NhZ2UnKQorCisgICAgZGVmIHRlc3RfbG9nX2ludmFsaWRfbGV2ZWxfbm9fcmFpc2Uoc2VsZik6CisgICAgICAgIG9sZF9yYWlzZSA9IGxvZ2dpbmcucmFpc2VFeGNlcHRpb25zCisgICAgICAgIHNlbGYuYWRkQ2xlYW51cChzZXRhdHRyLCBsb2dnaW5nLCAncmFpc2VFeGVjcHRpb25zJywgb2xkX3JhaXNlKQorCisgICAgICAgIGxvZ2dpbmcucmFpc2VFeGNlcHRpb25zID0gRmFsc2UKKyAgICAgICAgc2VsZi5sb2dnZXIubG9nKCcxMCcsICd0ZXN0IG1lc3NhZ2UnKSAgIyBubyBleGNlcHRpb24gaGFwcGVucworCisgICAgZGVmIHRlc3RfZmluZF9jYWxsZXJfd2l0aF9zdGFja19pbmZvKHNlbGYpOgorICAgICAgICBjYWxsZWQgPSBbXQorICAgICAgICBwYXRjaChzZWxmLCBsb2dnaW5nLnRyYWNlYmFjaywgJ3ByaW50X3N0YWNrJywKKyAgICAgICAgICAgICAgbGFtYmRhIGYsIGZpbGU6IGNhbGxlZC5hcHBlbmQoZmlsZS5nZXR2YWx1ZSgpKSkKKworICAgICAgICBzZWxmLmxvZ2dlci5maW5kQ2FsbGVyKHN0YWNrX2luZm89VHJ1ZSkKKworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihjYWxsZWQpLCAxKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCdTdGFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KTpcbicsIGNhbGxlZFswXSkKKworICAgIGRlZiB0ZXN0X21ha2VfcmVjb3JkX3dpdGhfZXh0cmFfb3ZlcndyaXRlKHNlbGYpOgorICAgICAgICBuYW1lID0gJ215IHJlY29yZCcKKyAgICAgICAgbGV2ZWwgPSAxMworICAgICAgICBmbiA9IGxubyA9IG1zZyA9IGFyZ3MgPSBleGNfaW5mbyA9IGZ1bmMgPSBzaW5mbyA9IE5vbmUKKyAgICAgICAgcnYgPSBsb2dnaW5nLl9sb2dSZWNvcmRGYWN0b3J5KG5hbWUsIGxldmVsLCBmbiwgbG5vLCBtc2csIGFyZ3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleGNfaW5mbywgZnVuYywgc2luZm8pCisKKyAgICAgICAgZm9yIGtleSBpbiAoJ21lc3NhZ2UnLCAnYXNjdGltZScpICsgdHVwbGUocnYuX19kaWN0X18ua2V5cygpKToKKyAgICAgICAgICAgIGV4dHJhID0ge2tleTogJ3NvbWUgdmFsdWUnfQorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoS2V5RXJyb3IsIHNlbGYubG9nZ2VyLm1ha2VSZWNvcmQsIG5hbWUsIGxldmVsLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm4sIGxubywgbXNnLCBhcmdzLCBleGNfaW5mbywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4dHJhPWV4dHJhLCBzaW5mbz1zaW5mbykKKworICAgIGRlZiB0ZXN0X21ha2VfcmVjb3JkX3dpdGhfZXh0cmFfbm9fb3ZlcndyaXRlKHNlbGYpOgorICAgICAgICBuYW1lID0gJ215IHJlY29yZCcKKyAgICAgICAgbGV2ZWwgPSAxMworICAgICAgICBmbiA9IGxubyA9IG1zZyA9IGFyZ3MgPSBleGNfaW5mbyA9IGZ1bmMgPSBzaW5mbyA9IE5vbmUKKyAgICAgICAgZXh0cmEgPSB7J3ZhbGlkX2tleSc6ICdzb21lIHZhbHVlJ30KKyAgICAgICAgcmVzdWx0ID0gc2VsZi5sb2dnZXIubWFrZVJlY29yZChuYW1lLCBsZXZlbCwgZm4sIGxubywgbXNnLCBhcmdzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4Y19pbmZvLCBleHRyYT1leHRyYSwgc2luZm89c2luZm8pCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ3ZhbGlkX2tleScsIHJlc3VsdC5fX2RpY3RfXykKKworICAgIGRlZiB0ZXN0X2hhc19oYW5kbGVycyhzZWxmKToKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHNlbGYubG9nZ2VyLmhhc0hhbmRsZXJzKCkpCisKKyAgICAgICAgZm9yIGhhbmRsZXIgaW4gc2VsZi5sb2dnZXIuaGFuZGxlcnM6CisgICAgICAgICAgICBzZWxmLmxvZ2dlci5yZW1vdmVIYW5kbGVyKGhhbmRsZXIpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2Uoc2VsZi5sb2dnZXIuaGFzSGFuZGxlcnMoKSkKKworICAgIGRlZiB0ZXN0X2hhc19oYW5kbGVyc19ub19wcm9wYWdhdGUoc2VsZik6CisgICAgICAgIGNoaWxkX2xvZ2dlciA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKCdibGFoLmNoaWxkJykKKyAgICAgICAgY2hpbGRfbG9nZ2VyLnByb3BhZ2F0ZSA9IEZhbHNlCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoY2hpbGRfbG9nZ2VyLmhhc0hhbmRsZXJzKCkpCisKKyAgICBkZWYgdGVzdF9pc19lbmFibGVkX2ZvcihzZWxmKToKKyAgICAgICAgb2xkX2Rpc2FibGUgPSBzZWxmLmxvZ2dlci5tYW5hZ2VyLmRpc2FibGUKKyAgICAgICAgc2VsZi5sb2dnZXIubWFuYWdlci5kaXNhYmxlID0gMjMKKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKHNldGF0dHIsIHNlbGYubG9nZ2VyLm1hbmFnZXIsICdkaXNhYmxlJywgb2xkX2Rpc2FibGUpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2Uoc2VsZi5sb2dnZXIuaXNFbmFibGVkRm9yKDIyKSkKKworICAgIGRlZiB0ZXN0X3Jvb3RfbG9nZ2VyX2FsaWFzZXMoc2VsZik6CisgICAgICAgIHJvb3QgPSBsb2dnaW5nLmdldExvZ2dlcigpCisgICAgICAgIHNlbGYuYXNzZXJ0SXMocm9vdCwgbG9nZ2luZy5yb290KQorICAgICAgICBzZWxmLmFzc2VydElzKHJvb3QsIGxvZ2dpbmcuZ2V0TG9nZ2VyKE5vbmUpKQorICAgICAgICBzZWxmLmFzc2VydElzKHJvb3QsIGxvZ2dpbmcuZ2V0TG9nZ2VyKCcnKSkKKyAgICAgICAgc2VsZi5hc3NlcnRJcyhyb290LCBsb2dnaW5nLmdldExvZ2dlcignZm9vJykucm9vdCkKKyAgICAgICAgc2VsZi5hc3NlcnRJcyhyb290LCBsb2dnaW5nLmdldExvZ2dlcignZm9vLmJhcicpLnJvb3QpCisgICAgICAgIHNlbGYuYXNzZXJ0SXMocm9vdCwgbG9nZ2luZy5nZXRMb2dnZXIoJ2ZvbycpLnBhcmVudCkKKworICAgICAgICBzZWxmLmFzc2VydElzTm90KHJvb3QsIGxvZ2dpbmcuZ2V0TG9nZ2VyKCdcMCcpKQorICAgICAgICBzZWxmLmFzc2VydElzTm90KHJvb3QsIGxvZ2dpbmcuZ2V0TG9nZ2VyKCdmb28uYmFyJykucGFyZW50KQorCisgICAgZGVmIHRlc3RfaW52YWxpZF9uYW1lcyhzZWxmKToKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBsb2dnaW5nLmdldExvZ2dlciwgYW55KQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGxvZ2dpbmcuZ2V0TG9nZ2VyLCBiJ2ZvbycpCisKKwogY2xhc3MgQmFzZUZpbGVUZXN0KEJhc2VUZXN0KToKICAgICAiQmFzZSBjbGFzcyBmb3IgaGFuZGxlciB0ZXN0cyB0aGF0IHdyaXRlIGxvZyBmaWxlcyIKIApAQCAtMjIzNywxMCArMzU1MiwyMSBAQAogICAgIGRlZiBhc3NlcnRMb2dGaWxlKHNlbGYsIGZpbGVuYW1lKToKICAgICAgICAgIkFzc2VydCBhIGxvZyBmaWxlIGlzIHRoZXJlIGFuZCByZWdpc3RlciBpdCBmb3IgZGVsZXRpb24iCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShvcy5wYXRoLmV4aXN0cyhmaWxlbmFtZSksCi0gICAgICAgICAgICAgICAgICAgICAgICBtc2c9IkxvZyBmaWxlICVyIGRvZXMgbm90IGV4aXN0IikKKyAgICAgICAgICAgICAgICAgICAgICAgIG1zZz0iTG9nIGZpbGUgJXIgZG9lcyBub3QgZXhpc3QiICUgZmlsZW5hbWUpCiAgICAgICAgIHNlbGYucm1maWxlcy5hcHBlbmQoZmlsZW5hbWUpCiAKIAorY2xhc3MgRmlsZUhhbmRsZXJUZXN0KEJhc2VGaWxlVGVzdCk6CisgICAgZGVmIHRlc3RfZGVsYXkoc2VsZik6CisgICAgICAgIG9zLnVubGluayhzZWxmLmZuKQorICAgICAgICBmaCA9IGxvZ2dpbmcuRmlsZUhhbmRsZXIoc2VsZi5mbiwgZGVsYXk9VHJ1ZSkKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUoZmguc3RyZWFtKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKG9zLnBhdGguZXhpc3RzKHNlbGYuZm4pKQorICAgICAgICBmaC5oYW5kbGUobG9nZ2luZy5tYWtlTG9nUmVjb3JkKHt9KSkKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vdE5vbmUoZmguc3RyZWFtKQorICAgICAgICBzZWxmLmFzc2VydFRydWUob3MucGF0aC5leGlzdHMoc2VsZi5mbikpCisgICAgICAgIGZoLmNsb3NlKCkKKwogY2xhc3MgUm90YXRpbmdGaWxlSGFuZGxlclRlc3QoQmFzZUZpbGVUZXN0KToKICAgICBkZWYgbmV4dF9yZWMoc2VsZik6CiAgICAgICAgIHJldHVybiBsb2dnaW5nLkxvZ1JlY29yZCgnbicsIGxvZ2dpbmcuREVCVUcsICdwJywgMSwKQEAgLTIyNjYsMjAgKzM1OTIsMTE3IEBACiAgICAgICAgIHJoLmNsb3NlKCkKIAogICAgIGRlZiB0ZXN0X3JvbGxvdmVyX2ZpbGVuYW1lcyhzZWxmKToKKyAgICAgICAgZGVmIG5hbWVyKG5hbWUpOgorICAgICAgICAgICAgcmV0dXJuIG5hbWUgKyAiLnRlc3QiCiAgICAgICAgIHJoID0gbG9nZ2luZy5oYW5kbGVycy5Sb3RhdGluZ0ZpbGVIYW5kbGVyKAogICAgICAgICAgICAgc2VsZi5mbiwgYmFja3VwQ291bnQ9MiwgbWF4Qnl0ZXM9MSkKKyAgICAgICAgcmgubmFtZXIgPSBuYW1lcgogICAgICAgICByaC5lbWl0KHNlbGYubmV4dF9yZWMoKSkKICAgICAgICAgc2VsZi5hc3NlcnRMb2dGaWxlKHNlbGYuZm4pCiAgICAgICAgIHJoLmVtaXQoc2VsZi5uZXh0X3JlYygpKQotICAgICAgICBzZWxmLmFzc2VydExvZ0ZpbGUoc2VsZi5mbiArICIuMSIpCisgICAgICAgIHNlbGYuYXNzZXJ0TG9nRmlsZShuYW1lcihzZWxmLmZuICsgIi4xIikpCiAgICAgICAgIHJoLmVtaXQoc2VsZi5uZXh0X3JlYygpKQotICAgICAgICBzZWxmLmFzc2VydExvZ0ZpbGUoc2VsZi5mbiArICIuMiIpCi0gICAgICAgIHNlbGYuYXNzZXJ0RmFsc2Uob3MucGF0aC5leGlzdHMoc2VsZi5mbiArICIuMyIpKQorICAgICAgICBzZWxmLmFzc2VydExvZ0ZpbGUobmFtZXIoc2VsZi5mbiArICIuMiIpKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKG9zLnBhdGguZXhpc3RzKG5hbWVyKHNlbGYuZm4gKyAiLjMiKSkpCisgICAgICAgIHJoLmNsb3NlKCkKKworICAgIEByZXF1aXJlc196bGliCisgICAgZGVmIHRlc3Rfcm90YXRvcihzZWxmKToKKyAgICAgICAgZGVmIG5hbWVyKG5hbWUpOgorICAgICAgICAgICAgcmV0dXJuIG5hbWUgKyAiLmd6IgorCisgICAgICAgIGRlZiByb3RhdG9yKHNvdXJjZSwgZGVzdCk6CisgICAgICAgICAgICB3aXRoIG9wZW4oc291cmNlLCAicmIiKSBhcyBzZjoKKyAgICAgICAgICAgICAgICBkYXRhID0gc2YucmVhZCgpCisgICAgICAgICAgICAgICAgY29tcHJlc3NlZCA9IHpsaWIuY29tcHJlc3MoZGF0YSwgOSkKKyAgICAgICAgICAgICAgICB3aXRoIG9wZW4oZGVzdCwgIndiIikgYXMgZGY6CisgICAgICAgICAgICAgICAgICAgIGRmLndyaXRlKGNvbXByZXNzZWQpCisgICAgICAgICAgICBvcy5yZW1vdmUoc291cmNlKQorCisgICAgICAgIHJoID0gbG9nZ2luZy5oYW5kbGVycy5Sb3RhdGluZ0ZpbGVIYW5kbGVyKAorICAgICAgICAgICAgc2VsZi5mbiwgYmFja3VwQ291bnQ9MiwgbWF4Qnl0ZXM9MSkKKyAgICAgICAgcmgucm90YXRvciA9IHJvdGF0b3IKKyAgICAgICAgcmgubmFtZXIgPSBuYW1lcgorICAgICAgICBtMSA9IHNlbGYubmV4dF9yZWMoKQorICAgICAgICByaC5lbWl0KG0xKQorICAgICAgICBzZWxmLmFzc2VydExvZ0ZpbGUoc2VsZi5mbikKKyAgICAgICAgbTIgPSBzZWxmLm5leHRfcmVjKCkKKyAgICAgICAgcmguZW1pdChtMikKKyAgICAgICAgZm4gPSBuYW1lcihzZWxmLmZuICsgIi4xIikKKyAgICAgICAgc2VsZi5hc3NlcnRMb2dGaWxlKGZuKQorICAgICAgICBuZXdsaW5lID0gb3MubGluZXNlcAorICAgICAgICB3aXRoIG9wZW4oZm4sICJyYiIpIGFzIGY6CisgICAgICAgICAgICBjb21wcmVzc2VkID0gZi5yZWFkKCkKKyAgICAgICAgICAgIGRhdGEgPSB6bGliLmRlY29tcHJlc3MoY29tcHJlc3NlZCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGF0YS5kZWNvZGUoImFzY2lpIiksIG0xLm1zZyArIG5ld2xpbmUpCisgICAgICAgIHJoLmVtaXQoc2VsZi5uZXh0X3JlYygpKQorICAgICAgICBmbiA9IG5hbWVyKHNlbGYuZm4gKyAiLjIiKQorICAgICAgICBzZWxmLmFzc2VydExvZ0ZpbGUoZm4pCisgICAgICAgIHdpdGggb3BlbihmbiwgInJiIikgYXMgZjoKKyAgICAgICAgICAgIGNvbXByZXNzZWQgPSBmLnJlYWQoKQorICAgICAgICAgICAgZGF0YSA9IHpsaWIuZGVjb21wcmVzcyhjb21wcmVzc2VkKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkYXRhLmRlY29kZSgiYXNjaWkiKSwgbTEubXNnICsgbmV3bGluZSkKKyAgICAgICAgcmguZW1pdChzZWxmLm5leHRfcmVjKCkpCisgICAgICAgIGZuID0gbmFtZXIoc2VsZi5mbiArICIuMiIpCisgICAgICAgIHdpdGggb3BlbihmbiwgInJiIikgYXMgZjoKKyAgICAgICAgICAgIGNvbXByZXNzZWQgPSBmLnJlYWQoKQorICAgICAgICAgICAgZGF0YSA9IHpsaWIuZGVjb21wcmVzcyhjb21wcmVzc2VkKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkYXRhLmRlY29kZSgiYXNjaWkiKSwgbTIubXNnICsgbmV3bGluZSkKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShvcy5wYXRoLmV4aXN0cyhuYW1lcihzZWxmLmZuICsgIi4zIikpKQogICAgICAgICByaC5jbG9zZSgpCiAKIGNsYXNzIFRpbWVkUm90YXRpbmdGaWxlSGFuZGxlclRlc3QoQmFzZUZpbGVUZXN0KToKLSAgICAjIHRlc3QgbWV0aG9kcyBhZGRlZCBiZWxvdwotICAgIHBhc3MKKyAgICAjIG90aGVyIHRlc3QgbWV0aG9kcyBhZGRlZCBiZWxvdworICAgIGRlZiB0ZXN0X3JvbGxvdmVyKHNlbGYpOgorICAgICAgICBmaCA9IGxvZ2dpbmcuaGFuZGxlcnMuVGltZWRSb3RhdGluZ0ZpbGVIYW5kbGVyKHNlbGYuZm4sICdTJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrdXBDb3VudD0xKQorICAgICAgICBmbXQgPSBsb2dnaW5nLkZvcm1hdHRlcignJShhc2N0aW1lKXMgJShtZXNzYWdlKXMnKQorICAgICAgICBmaC5zZXRGb3JtYXR0ZXIoZm10KQorICAgICAgICByMSA9IGxvZ2dpbmcubWFrZUxvZ1JlY29yZCh7J21zZyc6ICd0ZXN0aW5nIC0gaW5pdGlhbCd9KQorICAgICAgICBmaC5lbWl0KHIxKQorICAgICAgICBzZWxmLmFzc2VydExvZ0ZpbGUoc2VsZi5mbikKKyAgICAgICAgdGltZS5zbGVlcCgxLjEpICAgICMgYSBsaXR0bGUgb3ZlciBhIHNlY29uZCAuLi4KKyAgICAgICAgcjIgPSBsb2dnaW5nLm1ha2VMb2dSZWNvcmQoeydtc2cnOiAndGVzdGluZyAtIGFmdGVyIGRlbGF5J30pCisgICAgICAgIGZoLmVtaXQocjIpCisgICAgICAgIGZoLmNsb3NlKCkKKyAgICAgICAgIyBBdCB0aGlzIHBvaW50LCB3ZSBzaG91bGQgaGF2ZSBhIHJlY2VudCByb3RhdGVkIGZpbGUgd2hpY2ggd2UKKyAgICAgICAgIyBjYW4gdGVzdCBmb3IgdGhlIGV4aXN0ZW5jZSBvZi4gSG93ZXZlciwgaW4gcHJhY3RpY2UsIG9uIHNvbWUKKyAgICAgICAgIyBtYWNoaW5lcyB3aGljaCBydW4gcmVhbGx5IHNsb3dseSwgd2UgZG9uJ3Qga25vdyBob3cgZmFyIGJhY2sKKyAgICAgICAgIyBpbiB0aW1lIHRvIGdvIHRvIGxvb2sgZm9yIHRoZSBsb2cgZmlsZS4gU28sIHdlIGdvIGJhY2sgYSBmYWlyCisgICAgICAgICMgYml0LCBhbmQgc3RvcCBhcyBzb29uIGFzIHdlIHNlZSBhIHJvdGF0ZWQgZmlsZS4gSW4gdGhlb3J5IHRoaXMKKyAgICAgICAgIyBjb3VsZCBvZiBjb3Vyc2Ugc3RpbGwgZmFpbCwgYnV0IHRoZSBjaGFuY2VzIGFyZSBsb3dlci4KKyAgICAgICAgZm91bmQgPSBGYWxzZQorICAgICAgICBub3cgPSBkYXRldGltZS5kYXRldGltZS5ub3coKQorICAgICAgICBHT19CQUNLID0gNSAqIDYwICMgc2Vjb25kcworICAgICAgICBmb3Igc2VjcyBpbiByYW5nZShHT19CQUNLKToKKyAgICAgICAgICAgIHByZXYgPSBub3cgLSBkYXRldGltZS50aW1lZGVsdGEoc2Vjb25kcz1zZWNzKQorICAgICAgICAgICAgZm4gPSBzZWxmLmZuICsgcHJldi5zdHJmdGltZSgiLiVZLSVtLSVkXyVILSVNLSVTIikKKyAgICAgICAgICAgIGZvdW5kID0gb3MucGF0aC5leGlzdHMoZm4pCisgICAgICAgICAgICBpZiBmb3VuZDoKKyAgICAgICAgICAgICAgICBzZWxmLnJtZmlsZXMuYXBwZW5kKGZuKQorICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgIG1zZyA9ICdObyByb3RhdGVkIGZpbGVzIGZvdW5kLCB3ZW50IGJhY2sgJWQgc2Vjb25kcycgJSBHT19CQUNLCisgICAgICAgIGlmIG5vdCBmb3VuZDoKKyAgICAgICAgICAgICNwcmludCBhZGRpdGlvbmFsIGRpYWdub3N0aWNzCisgICAgICAgICAgICBkbiwgZm4gPSBvcy5wYXRoLnNwbGl0KHNlbGYuZm4pCisgICAgICAgICAgICBmaWxlcyA9IFtmIGZvciBmIGluIG9zLmxpc3RkaXIoZG4pIGlmIGYuc3RhcnRzd2l0aChmbildCisgICAgICAgICAgICBwcmludCgnVGVzdCB0aW1lOiAlcycgJSBub3cuc3RyZnRpbWUoIiVZLSVtLSVkICVILSVNLSVTIiksIGZpbGU9c3lzLnN0ZGVycikKKyAgICAgICAgICAgIHByaW50KCdUaGUgb25seSBtYXRjaGluZyBmaWxlcyBhcmU6ICVzJyAlIGZpbGVzLCBmaWxlPXN5cy5zdGRlcnIpCisgICAgICAgICAgICBmb3IgZiBpbiBmaWxlczoKKyAgICAgICAgICAgICAgICBwcmludCgnQ29udGVudHMgb2YgJXM6JyAlIGYpCisgICAgICAgICAgICAgICAgcGF0aCA9IG9zLnBhdGguam9pbihkbiwgZikKKyAgICAgICAgICAgICAgICB3aXRoIG9wZW4ocGF0aCwgJ3InKSBhcyB0ZjoKKyAgICAgICAgICAgICAgICAgICAgcHJpbnQodGYucmVhZCgpKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoZm91bmQsIG1zZz1tc2cpCisKKyAgICBkZWYgdGVzdF9pbnZhbGlkKHNlbGYpOgorICAgICAgICBhc3NlcnRSYWlzZXMgPSBzZWxmLmFzc2VydFJhaXNlcworICAgICAgICBhc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgbG9nZ2luZy5oYW5kbGVycy5UaW1lZFJvdGF0aW5nRmlsZUhhbmRsZXIsCisgICAgICAgICAgICAgICAgICAgICBzZWxmLmZuLCAnWCcsIGRlbGF5PVRydWUpCisgICAgICAgIGFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBsb2dnaW5nLmhhbmRsZXJzLlRpbWVkUm90YXRpbmdGaWxlSGFuZGxlciwKKyAgICAgICAgICAgICAgICAgICAgIHNlbGYuZm4sICdXJywgZGVsYXk9VHJ1ZSkKKyAgICAgICAgYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIGxvZ2dpbmcuaGFuZGxlcnMuVGltZWRSb3RhdGluZ0ZpbGVIYW5kbGVyLAorICAgICAgICAgICAgICAgICAgICAgc2VsZi5mbiwgJ1c3JywgZGVsYXk9VHJ1ZSkKIAogZGVmIHNlY3MoKiprdyk6CiAgICAgcmV0dXJuIGRhdGV0aW1lLnRpbWVkZWx0YSgqKmt3KSAvLyBkYXRldGltZS50aW1lZGVsdGEoc2Vjb25kcz0xKQpAQCAtMjMyOCwxOSArMzc1MSw1MSBAQAogICAgICAgICByaC5jbG9zZSgpCiAgICAgc2V0YXR0cihUaW1lZFJvdGF0aW5nRmlsZUhhbmRsZXJUZXN0LCAidGVzdF9jb21wdXRlX3JvbGxvdmVyXyVzIiAlIHdoZW4sIHRlc3RfY29tcHV0ZV9yb2xsb3ZlcikKIAorCitAdW5pdHRlc3Quc2tpcFVubGVzcyh3aW4zMmV2dGxvZywgJ3dpbjMyZXZ0bG9nL3dpbjMyZXZ0bG9ndXRpbCByZXF1aXJlZCBmb3IgdGhpcyB0ZXN0LicpCitjbGFzcyBOVEV2ZW50TG9nSGFuZGxlclRlc3QoQmFzZVRlc3QpOgorICAgIGRlZiB0ZXN0X2Jhc2ljKHNlbGYpOgorICAgICAgICBsb2d0eXBlID0gJ0FwcGxpY2F0aW9uJworICAgICAgICBlbGggPSB3aW4zMmV2dGxvZy5PcGVuRXZlbnRMb2coTm9uZSwgbG9ndHlwZSkKKyAgICAgICAgbnVtX3JlY3MgPSB3aW4zMmV2dGxvZy5HZXROdW1iZXJPZkV2ZW50TG9nUmVjb3JkcyhlbGgpCisgICAgICAgIGggPSBsb2dnaW5nLmhhbmRsZXJzLk5URXZlbnRMb2dIYW5kbGVyKCd0ZXN0X2xvZ2dpbmcnKQorICAgICAgICByID0gbG9nZ2luZy5tYWtlTG9nUmVjb3JkKHsnbXNnJzogJ1Rlc3QgTG9nIE1lc3NhZ2UnfSkKKyAgICAgICAgaC5oYW5kbGUocikKKyAgICAgICAgaC5jbG9zZSgpCisgICAgICAgICMgTm93IHNlZSBpZiB0aGUgZXZlbnQgaXMgcmVjb3JkZWQKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG51bV9yZWNzIDwgd2luMzJldnRsb2cuR2V0TnVtYmVyT2ZFdmVudExvZ1JlY29yZHMoZWxoKSkKKyAgICAgICAgZmxhZ3MgPSB3aW4zMmV2dGxvZy5FVkVOVExPR19CQUNLV0FSRFNfUkVBRCB8IFwKKyAgICAgICAgICAgICAgICB3aW4zMmV2dGxvZy5FVkVOVExPR19TRVFVRU5USUFMX1JFQUQKKyAgICAgICAgZm91bmQgPSBGYWxzZQorICAgICAgICBHT19CQUNLID0gMTAwCisgICAgICAgIGV2ZW50cyA9IHdpbjMyZXZ0bG9nLlJlYWRFdmVudExvZyhlbGgsIGZsYWdzLCBHT19CQUNLKQorICAgICAgICBmb3IgZSBpbiBldmVudHM6CisgICAgICAgICAgICBpZiBlLlNvdXJjZU5hbWUgIT0gJ3Rlc3RfbG9nZ2luZyc6CisgICAgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgICAgIG1zZyA9IHdpbjMyZXZ0bG9ndXRpbC5TYWZlRm9ybWF0TWVzc2FnZShlLCBsb2d0eXBlKQorICAgICAgICAgICAgaWYgbXNnICE9ICdUZXN0IExvZyBNZXNzYWdlXHJcbic6CisgICAgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgICAgIGZvdW5kID0gVHJ1ZQorICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgbXNnID0gJ1JlY29yZCBub3QgZm91bmQgaW4gZXZlbnQgbG9nLCB3ZW50IGJhY2sgJWQgcmVjb3JkcycgJSBHT19CQUNLCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShmb3VuZCwgbXNnPW1zZykKKwogIyBTZXQgdGhlIGxvY2FsZSB0byB0aGUgcGxhdGZvcm0tZGVwZW5kZW50IGRlZmF1bHQuICBJIGhhdmUgbm8gaWRlYQogIyB3aHkgdGhlIHRlc3QgZG9lcyB0aGlzLCBidXQgaW4gYW55IGNhc2Ugd2Ugc2F2ZSB0aGUgY3VycmVudCBsb2NhbGUKICMgZmlyc3QgYW5kIHJlc3RvcmUgaXQgYXQgdGhlIGVuZC4KIEBydW5fd2l0aF9sb2NhbGUoJ0xDX0FMTCcsICcnKQogZGVmIHRlc3RfbWFpbigpOgogICAgIHJ1bl91bml0dGVzdChCdWlsdGluTGV2ZWxzVGVzdCwgQmFzaWNGaWx0ZXJUZXN0LAotICAgICAgICAgICAgICAgICBDdXN0b21MZXZlbHNBbmRGaWx0ZXJzVGVzdCwgTWVtb3J5SGFuZGxlclRlc3QsCi0gICAgICAgICAgICAgICAgIENvbmZpZ0ZpbGVUZXN0LCBTb2NrZXRIYW5kbGVyVGVzdCwgTWVtb3J5VGVzdCwKLSAgICAgICAgICAgICAgICAgRW5jb2RpbmdUZXN0LCBXYXJuaW5nc1Rlc3QsIENvbmZpZ0RpY3RUZXN0LCBNYW5hZ2VyVGVzdCwKLSAgICAgICAgICAgICAgICAgRm9ybWF0dGVyVGVzdCwKLSAgICAgICAgICAgICAgICAgTG9nUmVjb3JkRmFjdG9yeVRlc3QsIENoaWxkTG9nZ2VyVGVzdCwgUXVldWVIYW5kbGVyVGVzdCwKLSAgICAgICAgICAgICAgICAgUm90YXRpbmdGaWxlSGFuZGxlclRlc3QsCi0gICAgICAgICAgICAgICAgIExhc3RSZXNvcnRUZXN0LAorICAgICAgICAgICAgICAgICBDdXN0b21MZXZlbHNBbmRGaWx0ZXJzVGVzdCwgSGFuZGxlclRlc3QsIE1lbW9yeUhhbmRsZXJUZXN0LAorICAgICAgICAgICAgICAgICBDb25maWdGaWxlVGVzdCwgU29ja2V0SGFuZGxlclRlc3QsIERhdGFncmFtSGFuZGxlclRlc3QsCisgICAgICAgICAgICAgICAgIE1lbW9yeVRlc3QsIEVuY29kaW5nVGVzdCwgV2FybmluZ3NUZXN0LCBDb25maWdEaWN0VGVzdCwKKyAgICAgICAgICAgICAgICAgTWFuYWdlclRlc3QsIEZvcm1hdHRlclRlc3QsIEJ1ZmZlcmluZ0Zvcm1hdHRlclRlc3QsCisgICAgICAgICAgICAgICAgIFN0cmVhbUhhbmRsZXJUZXN0LCBMb2dSZWNvcmRGYWN0b3J5VGVzdCwgQ2hpbGRMb2dnZXJUZXN0LAorICAgICAgICAgICAgICAgICBRdWV1ZUhhbmRsZXJUZXN0LCBTaHV0ZG93blRlc3QsIE1vZHVsZUxldmVsTWlzY1Rlc3QsCisgICAgICAgICAgICAgICAgIEJhc2ljQ29uZmlnVGVzdCwgTG9nZ2VyQWRhcHRlclRlc3QsIExvZ2dlclRlc3QsCisgICAgICAgICAgICAgICAgIFNNVFBIYW5kbGVyVGVzdCwgRmlsZUhhbmRsZXJUZXN0LCBSb3RhdGluZ0ZpbGVIYW5kbGVyVGVzdCwKKyAgICAgICAgICAgICAgICAgTGFzdFJlc29ydFRlc3QsIExvZ1JlY29yZFRlc3QsIEV4Y2VwdGlvblRlc3QsCisgICAgICAgICAgICAgICAgIFN5c0xvZ0hhbmRsZXJUZXN0LCBIVFRQSGFuZGxlclRlc3QsIE5URXZlbnRMb2dIYW5kbGVyVGVzdCwKICAgICAgICAgICAgICAgICAgVGltZWRSb3RhdGluZ0ZpbGVIYW5kbGVyVGVzdAogICAgICAgICAgICAgICAgICkKIApkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9sb25nLnB5IGIvTGliL3Rlc3QvdGVzdF9sb25nLnB5CmluZGV4IDA0MDY2ZWMuLjA1YjNlM2UgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfbG9uZy5weQorKysgYi9MaWIvdGVzdC90ZXN0X2xvbmcucHkKQEAgLTQzLDYgKzQzLDUzIEBACiBEQkxfTUFOVF9ESUcgPSBzeXMuZmxvYXRfaW5mby5tYW50X2RpZwogREJMX01JTl9PVkVSRkxPVyA9IDIqKkRCTF9NQVhfRVhQIC0gMioqKERCTF9NQVhfRVhQIC0gREJMX01BTlRfRElHIC0gMSkKIAorCisjIFB1cmUgUHl0aG9uIHZlcnNpb24gb2YgY29ycmVjdGx5LXJvdW5kZWQgaW50ZWdlci10by1mbG9hdCBjb252ZXJzaW9uLgorZGVmIGludF90b19mbG9hdChuKToKKyAgICAiIiIKKyAgICBDb3JyZWN0bHktcm91bmRlZCBpbnRlZ2VyLXRvLWZsb2F0IGNvbnZlcnNpb24uCisKKyAgICAiIiIKKyAgICAjIENvbnN0YW50cywgZGVwZW5kaW5nIG9ubHkgb24gdGhlIGZsb2F0aW5nLXBvaW50IGZvcm1hdCBpbiB1c2UuCisgICAgIyBXZSB1c2UgYW4gZXh0cmEgMiBiaXRzIG9mIHByZWNpc2lvbiBmb3Igcm91bmRpbmcgcHVycG9zZXMuCisgICAgUFJFQ0lTSU9OID0gc3lzLmZsb2F0X2luZm8ubWFudF9kaWcgKyAyCisgICAgU0hJRlRfTUFYID0gc3lzLmZsb2F0X2luZm8ubWF4X2V4cCAtIFBSRUNJU0lPTgorICAgIFFfTUFYID0gMSA8PCBQUkVDSVNJT04KKyAgICBST1VORF9IQUxGX1RPX0VWRU5fQ09SUkVDVElPTiA9IFswLCAtMSwgLTIsIDEsIDAsIC0xLCAyLCAxXQorCisgICAgIyBSZWR1Y2UgdG8gdGhlIGNhc2Ugd2hlcmUgbiBpcyBwb3NpdGl2ZS4KKyAgICBpZiBuID09IDA6CisgICAgICAgIHJldHVybiAwLjAKKyAgICBlbGlmIG4gPCAwOgorICAgICAgICByZXR1cm4gLWludF90b19mbG9hdCgtbikKKworICAgICMgQ29udmVydCBuIHRvIGEgJ2Zsb2F0aW5nLXBvaW50JyBudW1iZXIgcSAqIDIqKnNoaWZ0LCB3aGVyZSBxIGlzIGFuCisgICAgIyBpbnRlZ2VyIHdpdGggJ1BSRUNJU0lPTicgc2lnbmlmaWNhbnQgYml0cy4gIFdoZW4gc2hpZnRpbmcgbiB0byBjcmVhdGUgcSwKKyAgICAjIHRoZSBsZWFzdCBzaWduaWZpY2FudCBiaXQgb2YgcSBpcyB0cmVhdGVkIGFzICdzdGlja3knLiAgVGhhdCBpcywgdGhlCisgICAgIyBsZWFzdCBzaWduaWZpY2FudCBiaXQgb2YgcSBpcyBzZXQgaWYgZWl0aGVyIHRoZSBjb3JyZXNwb25kaW5nIGJpdCBvZiBuCisgICAgIyB3YXMgYWxyZWFkeSBzZXQsIG9yIGFueSBvbmUgb2YgdGhlIGJpdHMgb2YgbiBsb3N0IGluIHRoZSBzaGlmdCB3YXMgc2V0LgorICAgIHNoaWZ0ID0gbi5iaXRfbGVuZ3RoKCkgLSBQUkVDSVNJT04KKyAgICBxID0gbiA8PCAtc2hpZnQgaWYgc2hpZnQgPCAwIGVsc2UgKG4gPj4gc2hpZnQpIHwgYm9vbChuICYgfigtMSA8PCBzaGlmdCkpCisKKyAgICAjIFJvdW5kIGhhbGYgdG8gZXZlbiAoYWN0dWFsbHkgcm91bmRzIHRvIHRoZSBuZWFyZXN0IG11bHRpcGxlIG9mIDQsCisgICAgIyByb3VuZGluZyB0aWVzIHRvIGEgbXVsdGlwbGUgb2YgOCkuCisgICAgcSArPSBST1VORF9IQUxGX1RPX0VWRU5fQ09SUkVDVElPTltxICYgN10KKworICAgICMgRGV0ZWN0IG92ZXJmbG93LgorICAgIGlmIHNoaWZ0ICsgKHEgPT0gUV9NQVgpID4gU0hJRlRfTUFYOgorICAgICAgICByYWlzZSBPdmVyZmxvd0Vycm9yKCJpbnRlZ2VyIHRvbyBsYXJnZSB0byBjb252ZXJ0IHRvIGZsb2F0IikKKworICAgICMgQ2hlY2tzOiBxIGlzIGV4YWN0bHkgcmVwcmVzZW50YWJsZSwgYW5kIHEqKjIqKnNoaWZ0IGRvZXNuJ3Qgb3ZlcmZsb3cuCisgICAgYXNzZXJ0IHEgJSA0ID09IDAgYW5kIHEgLy8gNCA8PSAyKiooc3lzLmZsb2F0X2luZm8ubWFudF9kaWcpCisgICAgYXNzZXJ0IHEgKiAyKipzaGlmdCA8PSBzeXMuZmxvYXRfaW5mby5tYXgKKworICAgICMgU29tZSBjaXJjdWxhcml0eSBoZXJlLCBzaW5jZSBmbG9hdChxKSBpcyBkb2luZyBhbiBpbnQtdG8tZmxvYXQKKyAgICAjIGNvbnZlcnNpb24uICBCdXQgaGVyZSBxIGlzIG9mIGJvdW5kZWQgc2l6ZSwgYW5kIGlzIGV4YWN0bHkgcmVwcmVzZW50YWJsZQorICAgICMgYXMgYSBmbG9hdC4gIEluIGEgbG93LWxldmVsIEMtbGlrZSBsYW5ndWFnZSwgdGhpcyBvcGVyYXRpb24gd291bGQgYmUgYQorICAgICMgc2ltcGxlIGNhc3QgKGUuZy4sIGZyb20gdW5zaWduZWQgbG9uZyBsb25nIHRvIGRvdWJsZSkuCisgICAgcmV0dXJuIG1hdGgubGRleHAoZmxvYXQocSksIHNoaWZ0KQorCisKICMgcHVyZSBQeXRob24gdmVyc2lvbiBvZiBjb3JyZWN0bHktcm91bmRlZCB0cnVlIGRpdmlzaW9uCiBkZWYgdHJ1ZWRpdihhLCBiKToKICAgICAiIiJDb3JyZWN0bHktcm91bmRlZCB0cnVlIGRpdmlzaW9uIGZvciBpbnRlZ2Vycy4iIiIKQEAgLTM2Nyw2ICs0MTQsMjMgQEAKICAgICAgICAgICAgICAgICByZXR1cm4gMTcyOQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGludChMb25nVHJ1bmMoKSksIDE3MjkpCiAKKyAgICBkZWYgY2hlY2tfZmxvYXRfY29udmVyc2lvbihzZWxmLCBuKToKKyAgICAgICAgIyBDaGVjayB0aGF0IGludCAtPiBmbG9hdCBjb252ZXJzaW9uIGJlaGF2aW91ciBtYXRjaGVzCisgICAgICAgICMgdGhhdCBvZiB0aGUgcHVyZSBQeXRob24gdmVyc2lvbiBhYm92ZS4KKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgYWN0dWFsID0gZmxvYXQobikKKyAgICAgICAgZXhjZXB0IE92ZXJmbG93RXJyb3I6CisgICAgICAgICAgICBhY3R1YWwgPSAnb3ZlcmZsb3cnCisKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgZXhwZWN0ZWQgPSBpbnRfdG9fZmxvYXQobikKKyAgICAgICAgZXhjZXB0IE92ZXJmbG93RXJyb3I6CisgICAgICAgICAgICBleHBlY3RlZCA9ICdvdmVyZmxvdycKKworICAgICAgICBtc2cgPSAoIkVycm9yIGluIGNvbnZlcnNpb24gb2YgaW50ZWdlciB7fSB0byBmbG9hdC4gICIKKyAgICAgICAgICAgICAgICJHb3Qge30sIGV4cGVjdGVkIHt9LiIuZm9ybWF0KG4sIGFjdHVhbCwgZXhwZWN0ZWQpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGFjdHVhbCwgZXhwZWN0ZWQsIG1zZykKKwogICAgIEBzdXBwb3J0LnJlcXVpcmVzX0lFRUVfNzU0CiAgICAgZGVmIHRlc3RfZmxvYXRfY29udmVyc2lvbihzZWxmKToKIApAQCAtNDIxLDYgKzQ4NSwyMiBAQAogICAgICAgICAgICAgeSA9IDIqKnAgKiAyKio1MwogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChpbnQoZmxvYXQoeCkpLCB5KQogCisgICAgICAgICMgQ29tcGFyZSBidWlsdGluIGZsb2F0IGNvbnZlcnNpb24gd2l0aCBwdXJlIFB5dGhvbiBpbnRfdG9fZmxvYXQKKyAgICAgICAgIyBmdW5jdGlvbiBhYm92ZS4KKyAgICAgICAgdGVzdF92YWx1ZXMgPSBbCisgICAgICAgICAgICBpbnRfZGJsX21heC0xLCBpbnRfZGJsX21heCwgaW50X2RibF9tYXgrMSwKKyAgICAgICAgICAgIGhhbGZ3YXktMSwgaGFsZndheSwgaGFsZndheSArIDEsCisgICAgICAgICAgICB0b3BfcG93ZXItMSwgdG9wX3Bvd2VyLCB0b3BfcG93ZXIrMSwKKyAgICAgICAgICAgIDIqdG9wX3Bvd2VyLTEsIDIqdG9wX3Bvd2VyLCB0b3BfcG93ZXIqdG9wX3Bvd2VyLAorICAgICAgICBdCisgICAgICAgIHRlc3RfdmFsdWVzLmV4dGVuZChleGFjdF92YWx1ZXMpCisgICAgICAgIGZvciBwIGluIHJhbmdlKC00LCA4KToKKyAgICAgICAgICAgIGZvciB4IGluIHJhbmdlKC0xMjgsIDEyOCk6CisgICAgICAgICAgICAgICAgdGVzdF92YWx1ZXMuYXBwZW5kKDIqKihwKzUzKSArIHgpCisgICAgICAgIGZvciB2YWx1ZSBpbiB0ZXN0X3ZhbHVlczoKKyAgICAgICAgICAgIHNlbGYuY2hlY2tfZmxvYXRfY29udmVyc2lvbih2YWx1ZSkKKyAgICAgICAgICAgIHNlbGYuY2hlY2tfZmxvYXRfY29udmVyc2lvbigtdmFsdWUpCisKICAgICBkZWYgdGVzdF9mbG9hdF9vdmVyZmxvdyhzZWxmKToKICAgICAgICAgZm9yIHggaW4gLTIuMCwgLTEuMCwgMC4wLCAxLjAsIDIuMDoKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZmxvYXQoaW50KHgpKSwgeCkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfbHptYS5weSBiL0xpYi90ZXN0L3Rlc3RfbHptYS5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZmRlNTU3Ci0tLSAvZGV2L251bGwKKysrIGIvTGliL3Rlc3QvdGVzdF9sem1hLnB5CkBAIC0wLDAgKzEsMTM0NCBAQAorZnJvbSBpbyBpbXBvcnQgQnl0ZXNJTywgVW5zdXBwb3J0ZWRPcGVyYXRpb24KK2ltcG9ydCBvcworaW1wb3J0IHJhbmRvbQoraW1wb3J0IHVuaXR0ZXN0CisKK2Zyb20gdGVzdC5zdXBwb3J0IGltcG9ydCAoCisgICAgXzRHLCBURVNURk4sIGltcG9ydF9tb2R1bGUsIGJpZ21lbXRlc3QsIHJ1bl91bml0dGVzdCwgdW5saW5rCispCisKK2x6bWEgPSBpbXBvcnRfbW9kdWxlKCJsem1hIikKK2Zyb20gbHptYSBpbXBvcnQgTFpNQUNvbXByZXNzb3IsIExaTUFEZWNvbXByZXNzb3IsIExaTUFFcnJvciwgTFpNQUZpbGUKKworCitjbGFzcyBDb21wcmVzc29yRGVjb21wcmVzc29yVGVzdENhc2UodW5pdHRlc3QuVGVzdENhc2UpOgorCisgICAgIyBUZXN0IGVycm9yIGNhc2VzLgorCisgICAgZGVmIHRlc3Rfc2ltcGxlX2JhZF9hcmdzKHNlbGYpOgorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIExaTUFDb21wcmVzc29yLCBbXSkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBMWk1BQ29tcHJlc3NvciwgZm9ybWF0PTMuNDUpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgTFpNQUNvbXByZXNzb3IsIGNoZWNrPSIiKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIExaTUFDb21wcmVzc29yLCBwcmVzZXQ9ImFzZGYiKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIExaTUFDb21wcmVzc29yLCBmaWx0ZXJzPTMpCisgICAgICAgICMgQ2FuJ3Qgc3BlY2lmeSBGT1JNQVRfQVVUTyB3aGVuIGNvbXByZXNzaW5nLgorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBMWk1BQ29tcHJlc3NvciwgZm9ybWF0PWx6bWEuRk9STUFUX0FVVE8pCisgICAgICAgICMgQ2FuJ3Qgc3BlY2lmeSBhIHByZXNldCBhbmQgYSBjdXN0b20gZmlsdGVyIGNoYWluIGF0IHRoZSBzYW1lIHRpbWUuCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvcik6CisgICAgICAgICAgICBMWk1BQ29tcHJlc3NvcihwcmVzZXQ9NywgZmlsdGVycz1beyJpZCI6IGx6bWEuRklMVEVSX0xaTUEyfV0pCisKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBMWk1BRGVjb21wcmVzc29yLCAoKSkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBMWk1BRGVjb21wcmVzc29yLCBtZW1saW1pdD1iInF3IikKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IpOgorICAgICAgICAgICAgTFpNQURlY29tcHJlc3Nvcihsem1hLkZPUk1BVF9SQVcsIGZpbHRlcnM9Inp6eiIpCisgICAgICAgICMgQ2Fubm90IHNwZWNpZnkgYSBtZW1vcnkgbGltaXQgd2l0aCBGSUxURVJfUkFXLgorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IpOgorICAgICAgICAgICAgTFpNQURlY29tcHJlc3Nvcihsem1hLkZPUk1BVF9SQVcsIG1lbWxpbWl0PTB4MTAwMDAwMCkKKyAgICAgICAgIyBDYW4gb25seSBzcGVjaWZ5IGEgY3VzdG9tIGZpbHRlciBjaGFpbiB3aXRoIEZJTFRFUl9SQVcuCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIExaTUFEZWNvbXByZXNzb3IsIGZpbHRlcnM9RklMVEVSU19SQVdfMSkKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yKToKKyAgICAgICAgICAgIExaTUFEZWNvbXByZXNzb3IoZm9ybWF0PWx6bWEuRk9STUFUX1haLCBmaWx0ZXJzPUZJTFRFUlNfUkFXXzEpCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvcik6CisgICAgICAgICAgICBMWk1BRGVjb21wcmVzc29yKGZvcm1hdD1sem1hLkZPUk1BVF9BTE9ORSwgZmlsdGVycz1GSUxURVJTX1JBV18xKQorCisgICAgICAgIGx6YyA9IExaTUFDb21wcmVzc29yKCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBsemMuY29tcHJlc3MpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgbHpjLmNvbXByZXNzLCBiImZvbyIsIGIiYmFyIikKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBsemMuZmx1c2gsIGIiYmxhaCIpCisgICAgICAgIGVtcHR5ID0gbHpjLmZsdXNoKCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgbHpjLmNvbXByZXNzLCBiInF1dXgiKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBsemMuZmx1c2gpCisKKyAgICAgICAgbHpkID0gTFpNQURlY29tcHJlc3NvcigpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgbHpkLmRlY29tcHJlc3MpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgbHpkLmRlY29tcHJlc3MsIGIiZm9vIiwgYiJiYXIiKQorICAgICAgICBsemQuZGVjb21wcmVzcyhlbXB0eSkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoRU9GRXJyb3IsIGx6ZC5kZWNvbXByZXNzLCBiInF1dXgiKQorCisgICAgZGVmIHRlc3RfYmFkX2ZpbHRlcl9zcGVjKHNlbGYpOgorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIExaTUFDb21wcmVzc29yLCBmaWx0ZXJzPVtiIndvYnNpdGUiXSkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgTFpNQUNvbXByZXNzb3IsIGZpbHRlcnM9W3sieHl6enkiOiAzfV0pCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIExaTUFDb21wcmVzc29yLCBmaWx0ZXJzPVt7ImlkIjogOTg3NjV9XSkKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yKToKKyAgICAgICAgICAgIExaTUFDb21wcmVzc29yKGZpbHRlcnM9W3siaWQiOiBsem1hLkZJTFRFUl9MWk1BMiwgImZvbyI6IDB9XSkKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yKToKKyAgICAgICAgICAgIExaTUFDb21wcmVzc29yKGZpbHRlcnM9W3siaWQiOiBsem1hLkZJTFRFUl9ERUxUQSwgImZvbyI6IDB9XSkKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yKToKKyAgICAgICAgICAgIExaTUFDb21wcmVzc29yKGZpbHRlcnM9W3siaWQiOiBsem1hLkZJTFRFUl9YODYsICJmb28iOiAwfV0pCisKKyAgICBkZWYgdGVzdF9kZWNvbXByZXNzb3JfYWZ0ZXJfZW9mKHNlbGYpOgorICAgICAgICBsemQgPSBMWk1BRGVjb21wcmVzc29yKCkKKyAgICAgICAgbHpkLmRlY29tcHJlc3MoQ09NUFJFU1NFRF9YWikKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoRU9GRXJyb3IsIGx6ZC5kZWNvbXByZXNzLCBiIm55YW4iKQorCisgICAgZGVmIHRlc3RfZGVjb21wcmVzc29yX21lbWxpbWl0KHNlbGYpOgorICAgICAgICBsemQgPSBMWk1BRGVjb21wcmVzc29yKG1lbWxpbWl0PTEwMjQpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKExaTUFFcnJvciwgbHpkLmRlY29tcHJlc3MsIENPTVBSRVNTRURfWFopCisKKyAgICAgICAgbHpkID0gTFpNQURlY29tcHJlc3Nvcihsem1hLkZPUk1BVF9YWiwgbWVtbGltaXQ9MTAyNCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoTFpNQUVycm9yLCBsemQuZGVjb21wcmVzcywgQ09NUFJFU1NFRF9YWikKKworICAgICAgICBsemQgPSBMWk1BRGVjb21wcmVzc29yKGx6bWEuRk9STUFUX0FMT05FLCBtZW1saW1pdD0xMDI0KQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhMWk1BRXJyb3IsIGx6ZC5kZWNvbXByZXNzLCBDT01QUkVTU0VEX0FMT05FKQorCisgICAgIyBUZXN0IExaTUFEZWNvbXByZXNzb3Igb24ga25vd24tZ29vZCBpbnB1dCBkYXRhLgorCisgICAgZGVmIF90ZXN0X2RlY29tcHJlc3NvcihzZWxmLCBsemQsIGRhdGEsIGNoZWNrLCB1bnVzZWRfZGF0YT1iIiIpOgorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGx6ZC5lb2YpCisgICAgICAgIG91dCA9IGx6ZC5kZWNvbXByZXNzKGRhdGEpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwob3V0LCBJTlBVVCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsemQuY2hlY2ssIGNoZWNrKQorICAgICAgICBzZWxmLmFzc2VydFRydWUobHpkLmVvZikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsemQudW51c2VkX2RhdGEsIHVudXNlZF9kYXRhKQorCisgICAgZGVmIHRlc3RfZGVjb21wcmVzc29yX2F1dG8oc2VsZik6CisgICAgICAgIGx6ZCA9IExaTUFEZWNvbXByZXNzb3IoKQorICAgICAgICBzZWxmLl90ZXN0X2RlY29tcHJlc3NvcihsemQsIENPTVBSRVNTRURfWFosIGx6bWEuQ0hFQ0tfQ1JDNjQpCisKKyAgICAgICAgbHpkID0gTFpNQURlY29tcHJlc3NvcigpCisgICAgICAgIHNlbGYuX3Rlc3RfZGVjb21wcmVzc29yKGx6ZCwgQ09NUFJFU1NFRF9BTE9ORSwgbHptYS5DSEVDS19OT05FKQorCisgICAgZGVmIHRlc3RfZGVjb21wcmVzc29yX3h6KHNlbGYpOgorICAgICAgICBsemQgPSBMWk1BRGVjb21wcmVzc29yKGx6bWEuRk9STUFUX1haKQorICAgICAgICBzZWxmLl90ZXN0X2RlY29tcHJlc3NvcihsemQsIENPTVBSRVNTRURfWFosIGx6bWEuQ0hFQ0tfQ1JDNjQpCisKKyAgICBkZWYgdGVzdF9kZWNvbXByZXNzb3JfYWxvbmUoc2VsZik6CisgICAgICAgIGx6ZCA9IExaTUFEZWNvbXByZXNzb3IobHptYS5GT1JNQVRfQUxPTkUpCisgICAgICAgIHNlbGYuX3Rlc3RfZGVjb21wcmVzc29yKGx6ZCwgQ09NUFJFU1NFRF9BTE9ORSwgbHptYS5DSEVDS19OT05FKQorCisgICAgZGVmIHRlc3RfZGVjb21wcmVzc29yX3Jhd18xKHNlbGYpOgorICAgICAgICBsemQgPSBMWk1BRGVjb21wcmVzc29yKGx6bWEuRk9STUFUX1JBVywgZmlsdGVycz1GSUxURVJTX1JBV18xKQorICAgICAgICBzZWxmLl90ZXN0X2RlY29tcHJlc3NvcihsemQsIENPTVBSRVNTRURfUkFXXzEsIGx6bWEuQ0hFQ0tfTk9ORSkKKworICAgIGRlZiB0ZXN0X2RlY29tcHJlc3Nvcl9yYXdfMihzZWxmKToKKyAgICAgICAgbHpkID0gTFpNQURlY29tcHJlc3Nvcihsem1hLkZPUk1BVF9SQVcsIGZpbHRlcnM9RklMVEVSU19SQVdfMikKKyAgICAgICAgc2VsZi5fdGVzdF9kZWNvbXByZXNzb3IobHpkLCBDT01QUkVTU0VEX1JBV18yLCBsem1hLkNIRUNLX05PTkUpCisKKyAgICBkZWYgdGVzdF9kZWNvbXByZXNzb3JfcmF3XzMoc2VsZik6CisgICAgICAgIGx6ZCA9IExaTUFEZWNvbXByZXNzb3IobHptYS5GT1JNQVRfUkFXLCBmaWx0ZXJzPUZJTFRFUlNfUkFXXzMpCisgICAgICAgIHNlbGYuX3Rlc3RfZGVjb21wcmVzc29yKGx6ZCwgQ09NUFJFU1NFRF9SQVdfMywgbHptYS5DSEVDS19OT05FKQorCisgICAgZGVmIHRlc3RfZGVjb21wcmVzc29yX3Jhd180KHNlbGYpOgorICAgICAgICBsemQgPSBMWk1BRGVjb21wcmVzc29yKGx6bWEuRk9STUFUX1JBVywgZmlsdGVycz1GSUxURVJTX1JBV180KQorICAgICAgICBzZWxmLl90ZXN0X2RlY29tcHJlc3NvcihsemQsIENPTVBSRVNTRURfUkFXXzQsIGx6bWEuQ0hFQ0tfTk9ORSkKKworICAgIGRlZiB0ZXN0X2RlY29tcHJlc3Nvcl9jaHVua3Moc2VsZik6CisgICAgICAgIGx6ZCA9IExaTUFEZWNvbXByZXNzb3IoKQorICAgICAgICBvdXQgPSBbXQorICAgICAgICBmb3IgaSBpbiByYW5nZSgwLCBsZW4oQ09NUFJFU1NFRF9YWiksIDEwKToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UobHpkLmVvZikKKyAgICAgICAgICAgIG91dC5hcHBlbmQobHpkLmRlY29tcHJlc3MoQ09NUFJFU1NFRF9YWltpOmkrMTBdKSkKKyAgICAgICAgb3V0ID0gYiIiLmpvaW4ob3V0KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG91dCwgSU5QVVQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobHpkLmNoZWNrLCBsem1hLkNIRUNLX0NSQzY0KQorICAgICAgICBzZWxmLmFzc2VydFRydWUobHpkLmVvZikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsemQudW51c2VkX2RhdGEsIGIiIikKKworICAgIGRlZiB0ZXN0X2RlY29tcHJlc3Nvcl91bnVzZWRfZGF0YShzZWxmKToKKyAgICAgICAgbHpkID0gTFpNQURlY29tcHJlc3NvcigpCisgICAgICAgIGV4dHJhID0gYiJmb29ibGliYXIiCisgICAgICAgIHNlbGYuX3Rlc3RfZGVjb21wcmVzc29yKGx6ZCwgQ09NUFJFU1NFRF9YWiArIGV4dHJhLCBsem1hLkNIRUNLX0NSQzY0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnVzZWRfZGF0YT1leHRyYSkKKworICAgIGRlZiB0ZXN0X2RlY29tcHJlc3Nvcl9iYWRfaW5wdXQoc2VsZik6CisgICAgICAgIGx6ZCA9IExaTUFEZWNvbXByZXNzb3IoKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhMWk1BRXJyb3IsIGx6ZC5kZWNvbXByZXNzLCBDT01QUkVTU0VEX1JBV18xKQorCisgICAgICAgIGx6ZCA9IExaTUFEZWNvbXByZXNzb3IobHptYS5GT1JNQVRfWFopCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKExaTUFFcnJvciwgbHpkLmRlY29tcHJlc3MsIENPTVBSRVNTRURfQUxPTkUpCisKKyAgICAgICAgbHpkID0gTFpNQURlY29tcHJlc3Nvcihsem1hLkZPUk1BVF9BTE9ORSkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoTFpNQUVycm9yLCBsemQuZGVjb21wcmVzcywgQ09NUFJFU1NFRF9YWikKKworICAgICAgICBsemQgPSBMWk1BRGVjb21wcmVzc29yKGx6bWEuRk9STUFUX1JBVywgZmlsdGVycz1GSUxURVJTX1JBV18xKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhMWk1BRXJyb3IsIGx6ZC5kZWNvbXByZXNzLCBDT01QUkVTU0VEX1haKQorCisgICAgIyBUZXN0IHRoYXQgTFpNQUNvbXByZXNzb3ItPkxaTUFEZWNvbXByZXNzb3IgcHJlc2VydmVzIHRoZSBpbnB1dCBkYXRhLgorCisgICAgZGVmIHRlc3Rfcm91bmR0cmlwX3h6KHNlbGYpOgorICAgICAgICBsemMgPSBMWk1BQ29tcHJlc3NvcigpCisgICAgICAgIGNkYXRhID0gbHpjLmNvbXByZXNzKElOUFVUKSArIGx6Yy5mbHVzaCgpCisgICAgICAgIGx6ZCA9IExaTUFEZWNvbXByZXNzb3IoKQorICAgICAgICBzZWxmLl90ZXN0X2RlY29tcHJlc3NvcihsemQsIGNkYXRhLCBsem1hLkNIRUNLX0NSQzY0KQorCisgICAgZGVmIHRlc3Rfcm91bmR0cmlwX2Fsb25lKHNlbGYpOgorICAgICAgICBsemMgPSBMWk1BQ29tcHJlc3Nvcihsem1hLkZPUk1BVF9BTE9ORSkKKyAgICAgICAgY2RhdGEgPSBsemMuY29tcHJlc3MoSU5QVVQpICsgbHpjLmZsdXNoKCkKKyAgICAgICAgbHpkID0gTFpNQURlY29tcHJlc3NvcigpCisgICAgICAgIHNlbGYuX3Rlc3RfZGVjb21wcmVzc29yKGx6ZCwgY2RhdGEsIGx6bWEuQ0hFQ0tfTk9ORSkKKworICAgIGRlZiB0ZXN0X3JvdW5kdHJpcF9yYXcoc2VsZik6CisgICAgICAgIGx6YyA9IExaTUFDb21wcmVzc29yKGx6bWEuRk9STUFUX1JBVywgZmlsdGVycz1GSUxURVJTX1JBV180KQorICAgICAgICBjZGF0YSA9IGx6Yy5jb21wcmVzcyhJTlBVVCkgKyBsemMuZmx1c2goKQorICAgICAgICBsemQgPSBMWk1BRGVjb21wcmVzc29yKGx6bWEuRk9STUFUX1JBVywgZmlsdGVycz1GSUxURVJTX1JBV180KQorICAgICAgICBzZWxmLl90ZXN0X2RlY29tcHJlc3NvcihsemQsIGNkYXRhLCBsem1hLkNIRUNLX05PTkUpCisKKyAgICBkZWYgdGVzdF9yb3VuZHRyaXBfY2h1bmtzKHNlbGYpOgorICAgICAgICBsemMgPSBMWk1BQ29tcHJlc3NvcigpCisgICAgICAgIGNkYXRhID0gW10KKyAgICAgICAgZm9yIGkgaW4gcmFuZ2UoMCwgbGVuKElOUFVUKSwgMTApOgorICAgICAgICAgICAgY2RhdGEuYXBwZW5kKGx6Yy5jb21wcmVzcyhJTlBVVFtpOmkrMTBdKSkKKyAgICAgICAgY2RhdGEuYXBwZW5kKGx6Yy5mbHVzaCgpKQorICAgICAgICBjZGF0YSA9IGIiIi5qb2luKGNkYXRhKQorICAgICAgICBsemQgPSBMWk1BRGVjb21wcmVzc29yKCkKKyAgICAgICAgc2VsZi5fdGVzdF9kZWNvbXByZXNzb3IobHpkLCBjZGF0YSwgbHptYS5DSEVDS19DUkM2NCkKKworICAgICMgTFpNQURlY29tcHJlc3NvciBpbnRlbnRpb25hbGx5IGRvZXMgbm90IGhhbmRsZSBjb25jYXRlbmF0ZWQgc3RyZWFtcy4KKworICAgIGRlZiB0ZXN0X2RlY29tcHJlc3Nvcl9tdWx0aXN0cmVhbShzZWxmKToKKyAgICAgICAgbHpkID0gTFpNQURlY29tcHJlc3NvcigpCisgICAgICAgIHNlbGYuX3Rlc3RfZGVjb21wcmVzc29yKGx6ZCwgQ09NUFJFU1NFRF9YWiArIENPTVBSRVNTRURfQUxPTkUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGx6bWEuQ0hFQ0tfQ1JDNjQsIHVudXNlZF9kYXRhPUNPTVBSRVNTRURfQUxPTkUpCisKKyAgICAjIFRlc3Qgd2l0aCBpbnB1dHMgbGFyZ2VyIHRoYW4gNEdpQi4KKworICAgIEBiaWdtZW10ZXN0KHNpemU9XzRHICsgMTAwLCBtZW11c2U9MikKKyAgICBkZWYgdGVzdF9jb21wcmVzc29yX2JpZ21lbShzZWxmLCBzaXplKToKKyAgICAgICAgbHpjID0gTFpNQUNvbXByZXNzb3IoKQorICAgICAgICBjZGF0YSA9IGx6Yy5jb21wcmVzcyhiIngiICogc2l6ZSkgKyBsemMuZmx1c2goKQorICAgICAgICBkZGF0YSA9IGx6bWEuZGVjb21wcmVzcyhjZGF0YSkKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oZGRhdGEpLCBzaXplKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oZGRhdGEuc3RyaXAoYiJ4IikpLCAwKQorICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgZGRhdGEgPSBOb25lCisKKyAgICBAYmlnbWVtdGVzdChzaXplPV80RyArIDEwMCwgbWVtdXNlPTMpCisgICAgZGVmIHRlc3RfZGVjb21wcmVzc29yX2JpZ21lbShzZWxmLCBzaXplKToKKyAgICAgICAgbHpkID0gTFpNQURlY29tcHJlc3NvcigpCisgICAgICAgIGJsb2Nrc2l6ZSA9IDEwICogMTAyNCAqIDEwMjQKKyAgICAgICAgYmxvY2sgPSByYW5kb20uZ2V0cmFuZGJpdHMoYmxvY2tzaXplICogOCkudG9fYnl0ZXMoYmxvY2tzaXplLCAibGl0dGxlIikKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgaW5wdXQgPSBibG9jayAqIChzaXplIC8vIGJsb2Nrc2l6ZSArIDEpCisgICAgICAgICAgICBjZGF0YSA9IGx6bWEuY29tcHJlc3MoaW5wdXQpCisgICAgICAgICAgICBkZGF0YSA9IGx6ZC5kZWNvbXByZXNzKGNkYXRhKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkZGF0YSwgaW5wdXQpCisgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICBpbnB1dCA9IGNkYXRhID0gZGRhdGEgPSBOb25lCisKKworY2xhc3MgQ29tcHJlc3NEZWNvbXByZXNzRnVuY3Rpb25UZXN0Q2FzZSh1bml0dGVzdC5UZXN0Q2FzZSk6CisKKyAgICAjIFRlc3QgZXJyb3IgY2FzZXM6CisKKyAgICBkZWYgdGVzdF9iYWRfYXJncyhzZWxmKToKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBsem1hLmNvbXByZXNzKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGx6bWEuY29tcHJlc3MsIFtdKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGx6bWEuY29tcHJlc3MsIGIiIiwgZm9ybWF0PSJ4eiIpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgbHptYS5jb21wcmVzcywgYiIiLCBjaGVjaz0ibm9uZSIpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgbHptYS5jb21wcmVzcywgYiIiLCBwcmVzZXQ9ImJsYWgiKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGx6bWEuY29tcHJlc3MsIGIiIiwgZmlsdGVycz0xMDI0KQorICAgICAgICAjIENhbid0IHNwZWNpZnkgYSBwcmVzZXQgYW5kIGEgY3VzdG9tIGZpbHRlciBjaGFpbiBhdCB0aGUgc2FtZSB0aW1lLgorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IpOgorICAgICAgICAgICAgbHptYS5jb21wcmVzcyhiIiIsIHByZXNldD0zLCBmaWx0ZXJzPVt7ImlkIjogbHptYS5GSUxURVJfTFpNQTJ9XSkKKworICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGx6bWEuZGVjb21wcmVzcykKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBsem1hLmRlY29tcHJlc3MsIFtdKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGx6bWEuZGVjb21wcmVzcywgYiIiLCBmb3JtYXQ9Imx6bWEiKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGx6bWEuZGVjb21wcmVzcywgYiIiLCBtZW1saW1pdD03LjNlOSkKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IpOgorICAgICAgICAgICAgbHptYS5kZWNvbXByZXNzKGIiIiwgZm9ybWF0PWx6bWEuRk9STUFUX1JBVywgZmlsdGVycz17fSkKKyAgICAgICAgIyBDYW5ub3Qgc3BlY2lmeSBhIG1lbW9yeSBsaW1pdCB3aXRoIEZJTFRFUl9SQVcuCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvcik6CisgICAgICAgICAgICBsem1hLmRlY29tcHJlc3MoYiIiLCBmb3JtYXQ9bHptYS5GT1JNQVRfUkFXLCBtZW1saW1pdD0weDEwMDAwMDApCisgICAgICAgICMgQ2FuIG9ubHkgc3BlY2lmeSBhIGN1c3RvbSBmaWx0ZXIgY2hhaW4gd2l0aCBGSUxURVJfUkFXLgorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IpOgorICAgICAgICAgICAgbHptYS5kZWNvbXByZXNzKGIiIiwgZmlsdGVycz1GSUxURVJTX1JBV18xKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IpOgorICAgICAgICAgICAgbHptYS5kZWNvbXByZXNzKGIiIiwgZm9ybWF0PWx6bWEuRk9STUFUX1haLCBmaWx0ZXJzPUZJTFRFUlNfUkFXXzEpCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvcik6CisgICAgICAgICAgICBsem1hLmRlY29tcHJlc3MoCisgICAgICAgICAgICAgICAgICAgIGIiIiwgZm9ybWF0PWx6bWEuRk9STUFUX0FMT05FLCBmaWx0ZXJzPUZJTFRFUlNfUkFXXzEpCisKKyAgICBkZWYgdGVzdF9kZWNvbXByZXNzX21lbWxpbWl0KHNlbGYpOgorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKExaTUFFcnJvcik6CisgICAgICAgICAgICBsem1hLmRlY29tcHJlc3MoQ09NUFJFU1NFRF9YWiwgbWVtbGltaXQ9MTAyNCkKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhMWk1BRXJyb3IpOgorICAgICAgICAgICAgbHptYS5kZWNvbXByZXNzKAorICAgICAgICAgICAgICAgICAgICBDT01QUkVTU0VEX1haLCBmb3JtYXQ9bHptYS5GT1JNQVRfWFosIG1lbWxpbWl0PTEwMjQpCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoTFpNQUVycm9yKToKKyAgICAgICAgICAgIGx6bWEuZGVjb21wcmVzcygKKyAgICAgICAgICAgICAgICAgICAgQ09NUFJFU1NFRF9BTE9ORSwgZm9ybWF0PWx6bWEuRk9STUFUX0FMT05FLCBtZW1saW1pdD0xMDI0KQorCisgICAgIyBUZXN0IExaTUFEZWNvbXByZXNzb3Igb24ga25vd24tZ29vZCBpbnB1dCBkYXRhLgorCisgICAgZGVmIHRlc3RfZGVjb21wcmVzc19nb29kX2lucHV0KHNlbGYpOgorICAgICAgICBkZGF0YSA9IGx6bWEuZGVjb21wcmVzcyhDT01QUkVTU0VEX1haKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRkYXRhLCBJTlBVVCkKKworICAgICAgICBkZGF0YSA9IGx6bWEuZGVjb21wcmVzcyhDT01QUkVTU0VEX0FMT05FKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRkYXRhLCBJTlBVVCkKKworICAgICAgICBkZGF0YSA9IGx6bWEuZGVjb21wcmVzcyhDT01QUkVTU0VEX1haLCBsem1hLkZPUk1BVF9YWikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkZGF0YSwgSU5QVVQpCisKKyAgICAgICAgZGRhdGEgPSBsem1hLmRlY29tcHJlc3MoQ09NUFJFU1NFRF9BTE9ORSwgbHptYS5GT1JNQVRfQUxPTkUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGRhdGEsIElOUFVUKQorCisgICAgICAgIGRkYXRhID0gbHptYS5kZWNvbXByZXNzKAorICAgICAgICAgICAgICAgIENPTVBSRVNTRURfUkFXXzEsIGx6bWEuRk9STUFUX1JBVywgZmlsdGVycz1GSUxURVJTX1JBV18xKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRkYXRhLCBJTlBVVCkKKworICAgICAgICBkZGF0YSA9IGx6bWEuZGVjb21wcmVzcygKKyAgICAgICAgICAgICAgICBDT01QUkVTU0VEX1JBV18yLCBsem1hLkZPUk1BVF9SQVcsIGZpbHRlcnM9RklMVEVSU19SQVdfMikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkZGF0YSwgSU5QVVQpCisKKyAgICAgICAgZGRhdGEgPSBsem1hLmRlY29tcHJlc3MoCisgICAgICAgICAgICAgICAgQ09NUFJFU1NFRF9SQVdfMywgbHptYS5GT1JNQVRfUkFXLCBmaWx0ZXJzPUZJTFRFUlNfUkFXXzMpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGRhdGEsIElOUFVUKQorCisgICAgICAgIGRkYXRhID0gbHptYS5kZWNvbXByZXNzKAorICAgICAgICAgICAgICAgIENPTVBSRVNTRURfUkFXXzQsIGx6bWEuRk9STUFUX1JBVywgZmlsdGVycz1GSUxURVJTX1JBV180KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRkYXRhLCBJTlBVVCkKKworICAgIGRlZiB0ZXN0X2RlY29tcHJlc3NfaW5jb21wbGV0ZV9pbnB1dChzZWxmKToKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoTFpNQUVycm9yLCBsem1hLmRlY29tcHJlc3MsIENPTVBSRVNTRURfWFpbOjEyOF0pCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKExaTUFFcnJvciwgbHptYS5kZWNvbXByZXNzLCBDT01QUkVTU0VEX0FMT05FWzoxMjhdKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhMWk1BRXJyb3IsIGx6bWEuZGVjb21wcmVzcywgQ09NUFJFU1NFRF9SQVdfMVs6MTI4XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0PWx6bWEuRk9STUFUX1JBVywgZmlsdGVycz1GSUxURVJTX1JBV18xKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhMWk1BRXJyb3IsIGx6bWEuZGVjb21wcmVzcywgQ09NUFJFU1NFRF9SQVdfMls6MTI4XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0PWx6bWEuRk9STUFUX1JBVywgZmlsdGVycz1GSUxURVJTX1JBV18yKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhMWk1BRXJyb3IsIGx6bWEuZGVjb21wcmVzcywgQ09NUFJFU1NFRF9SQVdfM1s6MTI4XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0PWx6bWEuRk9STUFUX1JBVywgZmlsdGVycz1GSUxURVJTX1JBV18zKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhMWk1BRXJyb3IsIGx6bWEuZGVjb21wcmVzcywgQ09NUFJFU1NFRF9SQVdfNFs6MTI4XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0PWx6bWEuRk9STUFUX1JBVywgZmlsdGVycz1GSUxURVJTX1JBV180KQorCisgICAgZGVmIHRlc3RfZGVjb21wcmVzc19iYWRfaW5wdXQoc2VsZik6CisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoTFpNQUVycm9yKToKKyAgICAgICAgICAgIGx6bWEuZGVjb21wcmVzcyhDT01QUkVTU0VEX1JBV18xKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKExaTUFFcnJvcik6CisgICAgICAgICAgICBsem1hLmRlY29tcHJlc3MoQ09NUFJFU1NFRF9BTE9ORSwgZm9ybWF0PWx6bWEuRk9STUFUX1haKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKExaTUFFcnJvcik6CisgICAgICAgICAgICBsem1hLmRlY29tcHJlc3MoQ09NUFJFU1NFRF9YWiwgZm9ybWF0PWx6bWEuRk9STUFUX0FMT05FKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKExaTUFFcnJvcik6CisgICAgICAgICAgICBsem1hLmRlY29tcHJlc3MoQ09NUFJFU1NFRF9YWiwgZm9ybWF0PWx6bWEuRk9STUFUX1JBVywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXJzPUZJTFRFUlNfUkFXXzEpCisKKyAgICAjIFRlc3QgdGhhdCBjb21wcmVzcygpLT5kZWNvbXByZXNzKCkgcHJlc2VydmVzIHRoZSBpbnB1dCBkYXRhLgorCisgICAgZGVmIHRlc3Rfcm91bmR0cmlwKHNlbGYpOgorICAgICAgICBjZGF0YSA9IGx6bWEuY29tcHJlc3MoSU5QVVQpCisgICAgICAgIGRkYXRhID0gbHptYS5kZWNvbXByZXNzKGNkYXRhKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRkYXRhLCBJTlBVVCkKKworICAgICAgICBjZGF0YSA9IGx6bWEuY29tcHJlc3MoSU5QVVQsIGx6bWEuRk9STUFUX1haKQorICAgICAgICBkZGF0YSA9IGx6bWEuZGVjb21wcmVzcyhjZGF0YSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkZGF0YSwgSU5QVVQpCisKKyAgICAgICAgY2RhdGEgPSBsem1hLmNvbXByZXNzKElOUFVULCBsem1hLkZPUk1BVF9BTE9ORSkKKyAgICAgICAgZGRhdGEgPSBsem1hLmRlY29tcHJlc3MoY2RhdGEpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGRhdGEsIElOUFVUKQorCisgICAgICAgIGNkYXRhID0gbHptYS5jb21wcmVzcyhJTlBVVCwgbHptYS5GT1JNQVRfUkFXLCBmaWx0ZXJzPUZJTFRFUlNfUkFXXzQpCisgICAgICAgIGRkYXRhID0gbHptYS5kZWNvbXByZXNzKGNkYXRhLCBsem1hLkZPUk1BVF9SQVcsIGZpbHRlcnM9RklMVEVSU19SQVdfNCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkZGF0YSwgSU5QVVQpCisKKyAgICAjIFVubGlrZSBMWk1BRGVjb21wcmVzc29yLCBkZWNvbXByZXNzKCkgKmRvZXMqIGhhbmRsZSBjb25jYXRlbmF0ZWQgc3RyZWFtcy4KKworICAgIGRlZiB0ZXN0X2RlY29tcHJlc3NfbXVsdGlzdHJlYW0oc2VsZik6CisgICAgICAgIGRkYXRhID0gbHptYS5kZWNvbXByZXNzKENPTVBSRVNTRURfWFogKyBDT01QUkVTU0VEX0FMT05FKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRkYXRhLCBJTlBVVCAqIDIpCisKKworY2xhc3MgVGVtcEZpbGU6CisgICAgIiIiQ29udGV4dCBtYW5hZ2VyIC0gY3JlYXRlcyBhIGZpbGUsIGFuZCBkZWxldGVzIGl0IG9uIF9fZXhpdF9fLiIiIgorCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGZpbGVuYW1lLCBkYXRhPWIiIik6CisgICAgICAgIHNlbGYuZmlsZW5hbWUgPSBmaWxlbmFtZQorICAgICAgICBzZWxmLmRhdGEgPSBkYXRhCisKKyAgICBkZWYgX19lbnRlcl9fKHNlbGYpOgorICAgICAgICB3aXRoIG9wZW4oc2VsZi5maWxlbmFtZSwgIndiIikgYXMgZjoKKyAgICAgICAgICAgIGYud3JpdGUoc2VsZi5kYXRhKQorCisgICAgZGVmIF9fZXhpdF9fKHNlbGYsICphcmdzKToKKyAgICAgICAgdW5saW5rKHNlbGYuZmlsZW5hbWUpCisKKworY2xhc3MgRmlsZVRlc3RDYXNlKHVuaXR0ZXN0LlRlc3RDYXNlKToKKworICAgIGRlZiB0ZXN0X2luaXQoc2VsZik6CisgICAgICAgIHdpdGggTFpNQUZpbGUoZmlsZW9iaj1CeXRlc0lPKENPTVBSRVNTRURfWFopKSBhcyBmOgorICAgICAgICAgICAgcGFzcworICAgICAgICB3aXRoIExaTUFGaWxlKGZpbGVvYmo9Qnl0ZXNJTygpLCBtb2RlPSJ3IikgYXMgZjoKKyAgICAgICAgICAgIHBhc3MKKyAgICAgICAgd2l0aCBMWk1BRmlsZShmaWxlb2JqPUJ5dGVzSU8oKSwgbW9kZT0iYSIpIGFzIGY6CisgICAgICAgICAgICBwYXNzCisKKyAgICBkZWYgdGVzdF9pbml0X3dpdGhfZmlsZW5hbWUoc2VsZik6CisgICAgICAgIHdpdGggVGVtcEZpbGUoVEVTVEZOLCBDT01QUkVTU0VEX1haKToKKyAgICAgICAgICAgIHdpdGggTFpNQUZpbGUoVEVTVEZOKSBhcyBmOgorICAgICAgICAgICAgICAgIHBhc3MKKyAgICAgICAgICAgIHdpdGggTFpNQUZpbGUoVEVTVEZOLCAidyIpIGFzIGY6CisgICAgICAgICAgICAgICAgcGFzcworICAgICAgICAgICAgd2l0aCBMWk1BRmlsZShURVNURk4sICJhIikgYXMgZjoKKyAgICAgICAgICAgICAgICBwYXNzCisKKyAgICBkZWYgdGVzdF9pbml0X2JhZF9tb2RlKHNlbGYpOgorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IpOgorICAgICAgICAgICAgTFpNQUZpbGUoZmlsZW9iaj1CeXRlc0lPKENPTVBSRVNTRURfWFopLCBtb2RlPSgzLCAieCIpKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IpOgorICAgICAgICAgICAgTFpNQUZpbGUoZmlsZW9iaj1CeXRlc0lPKENPTVBSRVNTRURfWFopLCBtb2RlPSIiKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IpOgorICAgICAgICAgICAgTFpNQUZpbGUoZmlsZW9iaj1CeXRlc0lPKENPTVBSRVNTRURfWFopLCBtb2RlPSJ4IikKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yKToKKyAgICAgICAgICAgIExaTUFGaWxlKGZpbGVvYmo9Qnl0ZXNJTyhDT01QUkVTU0VEX1haKSwgbW9kZT0icmIiKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IpOgorICAgICAgICAgICAgTFpNQUZpbGUoZmlsZW9iaj1CeXRlc0lPKENPTVBSRVNTRURfWFopLCBtb2RlPSJyKyIpCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvcik6CisgICAgICAgICAgICBMWk1BRmlsZShmaWxlb2JqPUJ5dGVzSU8oQ09NUFJFU1NFRF9YWiksIG1vZGU9IndiIikKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yKToKKyAgICAgICAgICAgIExaTUFGaWxlKGZpbGVvYmo9Qnl0ZXNJTyhDT01QUkVTU0VEX1haKSwgbW9kZT0idysiKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IpOgorICAgICAgICAgICAgTFpNQUZpbGUoZmlsZW9iaj1CeXRlc0lPKENPTVBSRVNTRURfWFopLCBtb2RlPSJydyIpCisKKyAgICBkZWYgdGVzdF9pbml0X2JhZF9jaGVjayhzZWxmKToKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IpOgorICAgICAgICAgICAgTFpNQUZpbGUoZmlsZW9iaj1CeXRlc0lPKCksIG1vZGU9InciLCBjaGVjaz1iImFzZCIpCisgICAgICAgICMgQ0hFQ0tfVU5LTk9XTiBhbmQgYW55dGhpbmcgYWJvdmUgQ0hFQ0tfSURfTUFYIHNob3VsZCBiZSBpbnZhbGlkLgorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKExaTUFFcnJvcik6CisgICAgICAgICAgICBMWk1BRmlsZShmaWxlb2JqPUJ5dGVzSU8oKSwgbW9kZT0idyIsIGNoZWNrPWx6bWEuQ0hFQ0tfVU5LTk9XTikKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhMWk1BRXJyb3IpOgorICAgICAgICAgICAgTFpNQUZpbGUoZmlsZW9iaj1CeXRlc0lPKCksIG1vZGU9InciLCBjaGVjaz1sem1hLkNIRUNLX0lEX01BWCArIDMpCisgICAgICAgICMgQ2Fubm90IHNwZWNpZnkgYSBjaGVjayB3aXRoIG1vZGU9InIiLgorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IpOgorICAgICAgICAgICAgTFpNQUZpbGUoZmlsZW9iaj1CeXRlc0lPKENPTVBSRVNTRURfWFopLCBjaGVjaz1sem1hLkNIRUNLX05PTkUpCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvcik6CisgICAgICAgICAgICBMWk1BRmlsZShmaWxlb2JqPUJ5dGVzSU8oQ09NUFJFU1NFRF9YWiksIGNoZWNrPWx6bWEuQ0hFQ0tfQ1JDMzIpCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvcik6CisgICAgICAgICAgICBMWk1BRmlsZShmaWxlb2JqPUJ5dGVzSU8oQ09NUFJFU1NFRF9YWiksIGNoZWNrPWx6bWEuQ0hFQ0tfQ1JDNjQpCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvcik6CisgICAgICAgICAgICBMWk1BRmlsZShmaWxlb2JqPUJ5dGVzSU8oQ09NUFJFU1NFRF9YWiksIGNoZWNrPWx6bWEuQ0hFQ0tfU0hBMjU2KQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IpOgorICAgICAgICAgICAgTFpNQUZpbGUoZmlsZW9iaj1CeXRlc0lPKENPTVBSRVNTRURfWFopLCBjaGVjaz1sem1hLkNIRUNLX1VOS05PV04pCisKKyAgICBkZWYgdGVzdF9pbml0X2JhZF9wcmVzZXQoc2VsZik6CisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yKToKKyAgICAgICAgICAgIExaTUFGaWxlKGZpbGVvYmo9Qnl0ZXNJTygpLCBtb2RlPSJ3IiwgcHJlc2V0PTQuMzkpCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoTFpNQUVycm9yKToKKyAgICAgICAgICAgIExaTUFGaWxlKGZpbGVvYmo9Qnl0ZXNJTygpLCBtb2RlPSJ3IiwgcHJlc2V0PTEwKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKExaTUFFcnJvcik6CisgICAgICAgICAgICBMWk1BRmlsZShmaWxlb2JqPUJ5dGVzSU8oKSwgbW9kZT0idyIsIHByZXNldD0yMykKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhPdmVyZmxvd0Vycm9yKToKKyAgICAgICAgICAgIExaTUFGaWxlKGZpbGVvYmo9Qnl0ZXNJTygpLCBtb2RlPSJ3IiwgcHJlc2V0PS0xKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKE92ZXJmbG93RXJyb3IpOgorICAgICAgICAgICAgTFpNQUZpbGUoZmlsZW9iaj1CeXRlc0lPKCksIG1vZGU9InciLCBwcmVzZXQ9LTcpCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yKToKKyAgICAgICAgICAgIExaTUFGaWxlKGZpbGVvYmo9Qnl0ZXNJTygpLCBtb2RlPSJ3IiwgcHJlc2V0PSJmb28iKQorICAgICAgICAjIENhbm5vdCBzcGVjaWZ5IGEgcHJlc2V0IHdpdGggbW9kZT0iciIuCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvcik6CisgICAgICAgICAgICBMWk1BRmlsZShmaWxlb2JqPUJ5dGVzSU8oQ09NUFJFU1NFRF9YWiksIHByZXNldD0zKQorCisgICAgZGVmIHRlc3RfaW5pdF9iYWRfZmlsdGVyX3NwZWMoc2VsZik6CisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yKToKKyAgICAgICAgICAgIExaTUFGaWxlKGZpbGVvYmo9Qnl0ZXNJTygpLCBtb2RlPSJ3IiwgZmlsdGVycz1bYiJ3b2JzaXRlIl0pCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvcik6CisgICAgICAgICAgICBMWk1BRmlsZShmaWxlb2JqPUJ5dGVzSU8oKSwgbW9kZT0idyIsIGZpbHRlcnM9W3sieHl6enkiOiAzfV0pCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvcik6CisgICAgICAgICAgICBMWk1BRmlsZShmaWxlb2JqPUJ5dGVzSU8oKSwgbW9kZT0idyIsIGZpbHRlcnM9W3siaWQiOiA5ODc2NX1dKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IpOgorICAgICAgICAgICAgTFpNQUZpbGUoZmlsZW9iaj1CeXRlc0lPKCksIG1vZGU9InciLAorICAgICAgICAgICAgICAgICAgICAgZmlsdGVycz1beyJpZCI6IGx6bWEuRklMVEVSX0xaTUEyLCAiZm9vIjogMH1dKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IpOgorICAgICAgICAgICAgTFpNQUZpbGUoZmlsZW9iaj1CeXRlc0lPKCksIG1vZGU9InciLAorICAgICAgICAgICAgICAgICAgICAgZmlsdGVycz1beyJpZCI6IGx6bWEuRklMVEVSX0RFTFRBLCAiZm9vIjogMH1dKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IpOgorICAgICAgICAgICAgTFpNQUZpbGUoZmlsZW9iaj1CeXRlc0lPKCksIG1vZGU9InciLAorICAgICAgICAgICAgICAgICAgICAgZmlsdGVycz1beyJpZCI6IGx6bWEuRklMVEVSX1g4NiwgImZvbyI6IDB9XSkKKworICAgIGRlZiB0ZXN0X2luaXRfd2l0aF9wcmVzZXRfYW5kX2ZpbHRlcnMoc2VsZik6CisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvcik6CisgICAgICAgICAgICBMWk1BRmlsZShmaWxlb2JqPUJ5dGVzSU8oKSwgbW9kZT0idyIsIGZvcm1hdD1sem1hLkZPUk1BVF9SQVcsCisgICAgICAgICAgICAgICAgICAgICBwcmVzZXQ9NiwgIGZpbHRlcnM9RklMVEVSU19SQVdfMSkKKworICAgIGRlZiB0ZXN0X2luaXRfd2l0aF9maWxlbmFtZV9hbmRfZmlsZW9iaihzZWxmKToKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yKToKKyAgICAgICAgICAgIExaTUFGaWxlKCIvZGV2L251bGwiLCBmaWxlb2JqPUJ5dGVzSU8oKSkKKworICAgIGRlZiB0ZXN0X2Nsb3NlKHNlbGYpOgorICAgICAgICB3aXRoIEJ5dGVzSU8oQ09NUFJFU1NFRF9YWikgYXMgc3JjOgorICAgICAgICAgICAgZiA9IExaTUFGaWxlKGZpbGVvYmo9c3JjKQorICAgICAgICAgICAgZi5jbG9zZSgpCisgICAgICAgICAgICAjIExaTUFGaWxlLmNsb3NlKCkgc2hvdWxkIG5vdCBjbG9zZSB0aGUgdW5kZXJseWluZyBmaWxlIG9iamVjdC4KKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2Uoc3JjLmNsb3NlZCkKKyAgICAgICAgICAgICMgVHJ5IGNsb3NpbmcgYW4gYWxyZWFkeS1jbG9zZWQgTFpNQUZpbGUuCisgICAgICAgICAgICBmLmNsb3NlKCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2Uoc3JjLmNsb3NlZCkKKworICAgICAgICAjIFRlc3Qgd2l0aCBhIHJlYWwgZmlsZSBvbiBkaXNrLCBvcGVuZWQgZGlyZWN0bHkgYnkgTFpNQUZpbGUuCisgICAgICAgIHdpdGggVGVtcEZpbGUoVEVTVEZOLCBDT01QUkVTU0VEX1haKToKKyAgICAgICAgICAgIGYgPSBMWk1BRmlsZShURVNURk4pCisgICAgICAgICAgICBmcCA9IGYuX2ZwCisgICAgICAgICAgICBmLmNsb3NlKCkKKyAgICAgICAgICAgICMgSGVyZSwgTFpNQUZpbGUuY2xvc2UoKSAqc2hvdWxkKiBjbG9zZSB0aGUgdW5kZXJseWluZyBmaWxlIG9iamVjdC4KKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShmcC5jbG9zZWQpCisgICAgICAgICAgICAjIFRyeSBjbG9zaW5nIGFuIGFscmVhZHktY2xvc2VkIExaTUFGaWxlLgorICAgICAgICAgICAgZi5jbG9zZSgpCisKKyAgICBkZWYgdGVzdF9jbG9zZWQoc2VsZik6CisgICAgICAgIGYgPSBMWk1BRmlsZShmaWxlb2JqPUJ5dGVzSU8oQ09NUFJFU1NFRF9YWikpCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoZi5jbG9zZWQpCisgICAgICAgICAgICBmLnJlYWQoKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShmLmNsb3NlZCkKKyAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgIGYuY2xvc2UoKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoZi5jbG9zZWQpCisKKyAgICAgICAgZiA9IExaTUFGaWxlKGZpbGVvYmo9Qnl0ZXNJTygpLCBtb2RlPSJ3IikKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShmLmNsb3NlZCkKKyAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgIGYuY2xvc2UoKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoZi5jbG9zZWQpCisKKyAgICBkZWYgdGVzdF9maWxlbm8oc2VsZik6CisgICAgICAgIGYgPSBMWk1BRmlsZShmaWxlb2JqPUJ5dGVzSU8oQ09NUFJFU1NFRF9YWikpCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFVuc3VwcG9ydGVkT3BlcmF0aW9uLCBmLmZpbGVubykKKyAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgIGYuY2xvc2UoKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBmLmZpbGVubykKKyAgICAgICAgd2l0aCBUZW1wRmlsZShURVNURk4sIENPTVBSRVNTRURfWFopOgorICAgICAgICAgICAgZiA9IExaTUFGaWxlKFRFU1RGTikKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGYuZmlsZW5vKCksIGYuX2ZwLmZpbGVubygpKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShmLmZpbGVubygpLCBpbnQpCisgICAgICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgICAgIGYuY2xvc2UoKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBmLmZpbGVubykKKworICAgIGRlZiB0ZXN0X3NlZWthYmxlKHNlbGYpOgorICAgICAgICBmID0gTFpNQUZpbGUoZmlsZW9iaj1CeXRlc0lPKENPTVBSRVNTRURfWFopKQorICAgICAgICB0cnk6CisgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoZi5zZWVrYWJsZSgpKQorICAgICAgICAgICAgZi5yZWFkKCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShmLnNlZWthYmxlKCkpCisgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICBmLmNsb3NlKCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgZi5zZWVrYWJsZSkKKworICAgICAgICBmID0gTFpNQUZpbGUoZmlsZW9iaj1CeXRlc0lPKCksIG1vZGU9InciKQorICAgICAgICB0cnk6CisgICAgICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGYuc2Vla2FibGUoKSkKKyAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgIGYuY2xvc2UoKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBmLnNlZWthYmxlKQorCisgICAgICAgIHNyYyA9IEJ5dGVzSU8oQ09NUFJFU1NFRF9YWikKKyAgICAgICAgc3JjLnNlZWthYmxlID0gbGFtYmRhOiBGYWxzZQorICAgICAgICBmID0gTFpNQUZpbGUoZmlsZW9iaj1zcmMpCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoZi5zZWVrYWJsZSgpKQorICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgZi5jbG9zZSgpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIGYuc2Vla2FibGUpCisKKyAgICBkZWYgdGVzdF9yZWFkYWJsZShzZWxmKToKKyAgICAgICAgZiA9IExaTUFGaWxlKGZpbGVvYmo9Qnl0ZXNJTyhDT01QUkVTU0VEX1haKSkKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGYucmVhZGFibGUoKSkKKyAgICAgICAgICAgIGYucmVhZCgpCisgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoZi5yZWFkYWJsZSgpKQorICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgZi5jbG9zZSgpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIGYucmVhZGFibGUpCisKKyAgICAgICAgZiA9IExaTUFGaWxlKGZpbGVvYmo9Qnl0ZXNJTygpLCBtb2RlPSJ3IikKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShmLnJlYWRhYmxlKCkpCisgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICBmLmNsb3NlKCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgZi5yZWFkYWJsZSkKKworICAgIGRlZiB0ZXN0X3dyaXRhYmxlKHNlbGYpOgorICAgICAgICBmID0gTFpNQUZpbGUoZmlsZW9iaj1CeXRlc0lPKENPTVBSRVNTRURfWFopKQorICAgICAgICB0cnk6CisgICAgICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGYud3JpdGFibGUoKSkKKyAgICAgICAgICAgIGYucmVhZCgpCisgICAgICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGYud3JpdGFibGUoKSkKKyAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgIGYuY2xvc2UoKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBmLndyaXRhYmxlKQorCisgICAgICAgIGYgPSBMWk1BRmlsZShmaWxlb2JqPUJ5dGVzSU8oKSwgbW9kZT0idyIpCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShmLndyaXRhYmxlKCkpCisgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICBmLmNsb3NlKCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgZi53cml0YWJsZSkKKworICAgIGRlZiB0ZXN0X3JlYWQoc2VsZik6CisgICAgICAgIHdpdGggTFpNQUZpbGUoZmlsZW9iaj1CeXRlc0lPKENPTVBSRVNTRURfWFopKSBhcyBmOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmLnJlYWQoKSwgSU5QVVQpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGYucmVhZCgpLCBiIiIpCisgICAgICAgIHdpdGggTFpNQUZpbGUoZmlsZW9iaj1CeXRlc0lPKENPTVBSRVNTRURfQUxPTkUpKSBhcyBmOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmLnJlYWQoKSwgSU5QVVQpCisgICAgICAgIHdpdGggTFpNQUZpbGUoZmlsZW9iaj1CeXRlc0lPKENPTVBSRVNTRURfWFopLAorICAgICAgICAgICAgICAgICAgICAgIGZvcm1hdD1sem1hLkZPUk1BVF9YWikgYXMgZjoKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZi5yZWFkKCksIElOUFVUKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmLnJlYWQoKSwgYiIiKQorICAgICAgICB3aXRoIExaTUFGaWxlKGZpbGVvYmo9Qnl0ZXNJTyhDT01QUkVTU0VEX0FMT05FKSwKKyAgICAgICAgICAgICAgICAgICAgICBmb3JtYXQ9bHptYS5GT1JNQVRfQUxPTkUpIGFzIGY6CisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGYucmVhZCgpLCBJTlBVVCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZi5yZWFkKCksIGIiIikKKyAgICAgICAgd2l0aCBMWk1BRmlsZShmaWxlb2JqPUJ5dGVzSU8oQ09NUFJFU1NFRF9SQVdfMSksCisgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0PWx6bWEuRk9STUFUX1JBVywgZmlsdGVycz1GSUxURVJTX1JBV18xKSBhcyBmOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmLnJlYWQoKSwgSU5QVVQpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGYucmVhZCgpLCBiIiIpCisgICAgICAgIHdpdGggTFpNQUZpbGUoZmlsZW9iaj1CeXRlc0lPKENPTVBSRVNTRURfUkFXXzIpLAorICAgICAgICAgICAgICAgICAgICAgIGZvcm1hdD1sem1hLkZPUk1BVF9SQVcsIGZpbHRlcnM9RklMVEVSU19SQVdfMikgYXMgZjoKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZi5yZWFkKCksIElOUFVUKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmLnJlYWQoKSwgYiIiKQorICAgICAgICB3aXRoIExaTUFGaWxlKGZpbGVvYmo9Qnl0ZXNJTyhDT01QUkVTU0VEX1JBV18zKSwKKyAgICAgICAgICAgICAgICAgICAgICBmb3JtYXQ9bHptYS5GT1JNQVRfUkFXLCBmaWx0ZXJzPUZJTFRFUlNfUkFXXzMpIGFzIGY6CisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGYucmVhZCgpLCBJTlBVVCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZi5yZWFkKCksIGIiIikKKyAgICAgICAgd2l0aCBMWk1BRmlsZShmaWxlb2JqPUJ5dGVzSU8oQ09NUFJFU1NFRF9SQVdfNCksCisgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0PWx6bWEuRk9STUFUX1JBVywgZmlsdGVycz1GSUxURVJTX1JBV180KSBhcyBmOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmLnJlYWQoKSwgSU5QVVQpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGYucmVhZCgpLCBiIiIpCisKKyAgICBkZWYgdGVzdF9yZWFkXzAoc2VsZik6CisgICAgICAgIHdpdGggTFpNQUZpbGUoZmlsZW9iaj1CeXRlc0lPKENPTVBSRVNTRURfWFopKSBhcyBmOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmLnJlYWQoMCksIGIiIikKKyAgICAgICAgd2l0aCBMWk1BRmlsZShmaWxlb2JqPUJ5dGVzSU8oQ09NUFJFU1NFRF9BTE9ORSkpIGFzIGY6CisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGYucmVhZCgwKSwgYiIiKQorICAgICAgICB3aXRoIExaTUFGaWxlKGZpbGVvYmo9Qnl0ZXNJTyhDT01QUkVTU0VEX1haKSwKKyAgICAgICAgICAgICAgICAgICAgICBmb3JtYXQ9bHptYS5GT1JNQVRfWFopIGFzIGY6CisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGYucmVhZCgwKSwgYiIiKQorICAgICAgICB3aXRoIExaTUFGaWxlKGZpbGVvYmo9Qnl0ZXNJTyhDT01QUkVTU0VEX0FMT05FKSwKKyAgICAgICAgICAgICAgICAgICAgICBmb3JtYXQ9bHptYS5GT1JNQVRfQUxPTkUpIGFzIGY6CisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGYucmVhZCgwKSwgYiIiKQorCisgICAgZGVmIHRlc3RfcmVhZF8xMChzZWxmKToKKyAgICAgICAgd2l0aCBMWk1BRmlsZShmaWxlb2JqPUJ5dGVzSU8oQ09NUFJFU1NFRF9YWikpIGFzIGY6CisgICAgICAgICAgICBjaHVua3MgPSBbXQorICAgICAgICAgICAgd2hpbGUgVHJ1ZToKKyAgICAgICAgICAgICAgICByZXN1bHQgPSBmLnJlYWQoMTApCisgICAgICAgICAgICAgICAgaWYgbm90IHJlc3VsdDoKKyAgICAgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydExlc3NFcXVhbChsZW4ocmVzdWx0KSwgMTApCisgICAgICAgICAgICAgICAgY2h1bmtzLmFwcGVuZChyZXN1bHQpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGIiIi5qb2luKGNodW5rcyksIElOUFVUKQorCisgICAgZGVmIHRlc3RfcmVhZF9tdWx0aXN0cmVhbShzZWxmKToKKyAgICAgICAgd2l0aCBMWk1BRmlsZShmaWxlb2JqPUJ5dGVzSU8oQ09NUFJFU1NFRF9YWiAqIDUpKSBhcyBmOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmLnJlYWQoKSwgSU5QVVQgKiA1KQorICAgICAgICB3aXRoIExaTUFGaWxlKGZpbGVvYmo9Qnl0ZXNJTyhDT01QUkVTU0VEX1haICsgQ09NUFJFU1NFRF9BTE9ORSkpIGFzIGY6CisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGYucmVhZCgpLCBJTlBVVCAqIDIpCisgICAgICAgIHdpdGggTFpNQUZpbGUoZmlsZW9iaj1CeXRlc0lPKENPTVBSRVNTRURfUkFXXzMgKiA0KSwKKyAgICAgICAgICAgICAgICAgICAgICBmb3JtYXQ9bHptYS5GT1JNQVRfUkFXLCBmaWx0ZXJzPUZJTFRFUlNfUkFXXzMpIGFzIGY6CisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGYucmVhZCgpLCBJTlBVVCAqIDQpCisKKyAgICBkZWYgdGVzdF9yZWFkX211bHRpc3RyZWFtX2J1ZmZlcl9zaXplX2FsaWduZWQoc2VsZik6CisgICAgICAgICMgVGVzdCB0aGUgY2FzZSB3aGVyZSBhIHN0cmVhbSBib3VuZGFyeSBjb2luY2lkZXMgd2l0aCB0aGUgZW5kCisgICAgICAgICMgb2YgdGhlIHJhdyByZWFkIGJ1ZmZlci4KKyAgICAgICAgc2F2ZWRfYnVmZmVyX3NpemUgPSBsem1hLl9CVUZGRVJfU0laRQorICAgICAgICBsem1hLl9CVUZGRVJfU0laRSA9IGxlbihDT01QUkVTU0VEX1haKQorICAgICAgICB0cnk6CisgICAgICAgICAgICB3aXRoIExaTUFGaWxlKGZpbGVvYmo9Qnl0ZXNJTyhDT01QUkVTU0VEX1haICogIDUpKSBhcyBmOgorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZi5yZWFkKCksIElOUFVUICogNSkKKyAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgIGx6bWEuX0JVRkZFUl9TSVpFID0gc2F2ZWRfYnVmZmVyX3NpemUKKworICAgIGRlZiB0ZXN0X3JlYWRfZnJvbV9maWxlKHNlbGYpOgorICAgICAgICB3aXRoIFRlbXBGaWxlKFRFU1RGTiwgQ09NUFJFU1NFRF9YWik6CisgICAgICAgICAgICB3aXRoIExaTUFGaWxlKFRFU1RGTikgYXMgZjoKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGYucmVhZCgpLCBJTlBVVCkKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGYucmVhZCgpLCBiIiIpCisKKyAgICBkZWYgdGVzdF9yZWFkX2luY29tcGxldGUoc2VsZik6CisgICAgICAgIHdpdGggTFpNQUZpbGUoZmlsZW9iaj1CeXRlc0lPKENPTVBSRVNTRURfWFpbOjEyOF0pKSBhcyBmOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoRU9GRXJyb3IsIGYucmVhZCkKKworICAgIGRlZiB0ZXN0X3JlYWRfYmFkX2FyZ3Moc2VsZik6CisgICAgICAgIGYgPSBMWk1BRmlsZShmaWxlb2JqPUJ5dGVzSU8oQ09NUFJFU1NFRF9YWikpCisgICAgICAgIGYuY2xvc2UoKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBmLnJlYWQpCisgICAgICAgIHdpdGggTFpNQUZpbGUoZmlsZW9iaj1CeXRlc0lPKCksIG1vZGU9InciKSBhcyBmOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgZi5yZWFkKQorICAgICAgICB3aXRoIExaTUFGaWxlKGZpbGVvYmo9Qnl0ZXNJTyhDT01QUkVTU0VEX1haKSkgYXMgZjoKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgZi5yZWFkLCBOb25lKQorCisgICAgZGVmIHRlc3RfcmVhZDEoc2VsZik6CisgICAgICAgIHdpdGggTFpNQUZpbGUoZmlsZW9iaj1CeXRlc0lPKENPTVBSRVNTRURfWFopKSBhcyBmOgorICAgICAgICAgICAgYmxvY2tzID0gW10KKyAgICAgICAgICAgIHdoaWxlIFRydWU6CisgICAgICAgICAgICAgICAgcmVzdWx0ID0gZi5yZWFkMSgpCisgICAgICAgICAgICAgICAgaWYgbm90IHJlc3VsdDoKKyAgICAgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgICAgICAgICBibG9ja3MuYXBwZW5kKHJlc3VsdCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYiIiLmpvaW4oYmxvY2tzKSwgSU5QVVQpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGYucmVhZDEoKSwgYiIiKQorCisgICAgZGVmIHRlc3RfcmVhZDFfMChzZWxmKToKKyAgICAgICAgd2l0aCBMWk1BRmlsZShmaWxlb2JqPUJ5dGVzSU8oQ09NUFJFU1NFRF9YWikpIGFzIGY6CisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGYucmVhZDEoMCksIGIiIikKKworICAgIGRlZiB0ZXN0X3JlYWQxXzEwKHNlbGYpOgorICAgICAgICB3aXRoIExaTUFGaWxlKGZpbGVvYmo9Qnl0ZXNJTyhDT01QUkVTU0VEX1haKSkgYXMgZjoKKyAgICAgICAgICAgIGJsb2NrcyA9IFtdCisgICAgICAgICAgICB3aGlsZSBUcnVlOgorICAgICAgICAgICAgICAgIHJlc3VsdCA9IGYucmVhZDEoMTApCisgICAgICAgICAgICAgICAgaWYgbm90IHJlc3VsdDoKKyAgICAgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgICAgICAgICBibG9ja3MuYXBwZW5kKHJlc3VsdCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYiIiLmpvaW4oYmxvY2tzKSwgSU5QVVQpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGYucmVhZDEoKSwgYiIiKQorCisgICAgZGVmIHRlc3RfcmVhZDFfbXVsdGlzdHJlYW0oc2VsZik6CisgICAgICAgIHdpdGggTFpNQUZpbGUoZmlsZW9iaj1CeXRlc0lPKENPTVBSRVNTRURfWFogKiA1KSkgYXMgZjoKKyAgICAgICAgICAgIGJsb2NrcyA9IFtdCisgICAgICAgICAgICB3aGlsZSBUcnVlOgorICAgICAgICAgICAgICAgIHJlc3VsdCA9IGYucmVhZDEoKQorICAgICAgICAgICAgICAgIGlmIG5vdCByZXN1bHQ6CisgICAgICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgICAgICAgICAgYmxvY2tzLmFwcGVuZChyZXN1bHQpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGIiIi5qb2luKGJsb2NrcyksIElOUFVUICogNSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZi5yZWFkMSgpLCBiIiIpCisKKyAgICBkZWYgdGVzdF9yZWFkMV9iYWRfYXJncyhzZWxmKToKKyAgICAgICAgZiA9IExaTUFGaWxlKGZpbGVvYmo9Qnl0ZXNJTyhDT01QUkVTU0VEX1haKSkKKyAgICAgICAgZi5jbG9zZSgpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIGYucmVhZDEpCisgICAgICAgIHdpdGggTFpNQUZpbGUoZmlsZW9iaj1CeXRlc0lPKCksIG1vZGU9InciKSBhcyBmOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgZi5yZWFkMSkKKyAgICAgICAgd2l0aCBMWk1BRmlsZShmaWxlb2JqPUJ5dGVzSU8oQ09NUFJFU1NFRF9YWikpIGFzIGY6CisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGYucmVhZDEsIE5vbmUpCisKKyAgICBkZWYgdGVzdF9wZWVrKHNlbGYpOgorICAgICAgICB3aXRoIExaTUFGaWxlKGZpbGVvYmo9Qnl0ZXNJTyhDT01QUkVTU0VEX1haKSkgYXMgZjoKKyAgICAgICAgICAgIHJlc3VsdCA9IGYucGVlaygpCisgICAgICAgICAgICBzZWxmLmFzc2VydEdyZWF0ZXIobGVuKHJlc3VsdCksIDApCisgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoSU5QVVQuc3RhcnRzd2l0aChyZXN1bHQpKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmLnJlYWQoKSwgSU5QVVQpCisgICAgICAgIHdpdGggTFpNQUZpbGUoZmlsZW9iaj1CeXRlc0lPKENPTVBSRVNTRURfWFopKSBhcyBmOgorICAgICAgICAgICAgcmVzdWx0ID0gZi5wZWVrKDEwKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRHcmVhdGVyKGxlbihyZXN1bHQpLCAwKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKElOUFVULnN0YXJ0c3dpdGgocmVzdWx0KSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZi5yZWFkKCksIElOUFVUKQorCisgICAgZGVmIHRlc3RfcGVla19iYWRfYXJncyhzZWxmKToKKyAgICAgICAgd2l0aCBMWk1BRmlsZShmaWxlb2JqPUJ5dGVzSU8oKSwgbW9kZT0idyIpIGFzIGY6CisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBmLnBlZWspCisKKyAgICBkZWYgdGVzdF9pdGVyYXRvcihzZWxmKToKKyAgICAgICAgd2l0aCBCeXRlc0lPKElOUFVUKSBhcyBmOgorICAgICAgICAgICAgbGluZXMgPSBmLnJlYWRsaW5lcygpCisgICAgICAgIHdpdGggTFpNQUZpbGUoZmlsZW9iaj1CeXRlc0lPKENPTVBSRVNTRURfWFopKSBhcyBmOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRMaXN0RXF1YWwobGlzdChpdGVyKGYpKSwgbGluZXMpCisgICAgICAgIHdpdGggTFpNQUZpbGUoZmlsZW9iaj1CeXRlc0lPKENPTVBSRVNTRURfQUxPTkUpKSBhcyBmOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRMaXN0RXF1YWwobGlzdChpdGVyKGYpKSwgbGluZXMpCisgICAgICAgIHdpdGggTFpNQUZpbGUoZmlsZW9iaj1CeXRlc0lPKENPTVBSRVNTRURfWFopLAorICAgICAgICAgICAgICAgICAgICAgIGZvcm1hdD1sem1hLkZPUk1BVF9YWikgYXMgZjoKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0TGlzdEVxdWFsKGxpc3QoaXRlcihmKSksIGxpbmVzKQorICAgICAgICB3aXRoIExaTUFGaWxlKGZpbGVvYmo9Qnl0ZXNJTyhDT01QUkVTU0VEX0FMT05FKSwKKyAgICAgICAgICAgICAgICAgICAgICBmb3JtYXQ9bHptYS5GT1JNQVRfQUxPTkUpIGFzIGY6CisgICAgICAgICAgICBzZWxmLmFzc2VydExpc3RFcXVhbChsaXN0KGl0ZXIoZikpLCBsaW5lcykKKyAgICAgICAgd2l0aCBMWk1BRmlsZShmaWxlb2JqPUJ5dGVzSU8oQ09NUFJFU1NFRF9SQVdfMiksCisgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0PWx6bWEuRk9STUFUX1JBVywgZmlsdGVycz1GSUxURVJTX1JBV18yKSBhcyBmOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRMaXN0RXF1YWwobGlzdChpdGVyKGYpKSwgbGluZXMpCisKKyAgICBkZWYgdGVzdF9yZWFkbGluZShzZWxmKToKKyAgICAgICAgd2l0aCBCeXRlc0lPKElOUFVUKSBhcyBmOgorICAgICAgICAgICAgbGluZXMgPSBmLnJlYWRsaW5lcygpCisgICAgICAgIHdpdGggTFpNQUZpbGUoZmlsZW9iaj1CeXRlc0lPKENPTVBSRVNTRURfWFopKSBhcyBmOgorICAgICAgICAgICAgZm9yIGxpbmUgaW4gbGluZXM6CisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmLnJlYWRsaW5lKCksIGxpbmUpCisKKyAgICBkZWYgdGVzdF9yZWFkbGluZXMoc2VsZik6CisgICAgICAgIHdpdGggQnl0ZXNJTyhJTlBVVCkgYXMgZjoKKyAgICAgICAgICAgIGxpbmVzID0gZi5yZWFkbGluZXMoKQorICAgICAgICB3aXRoIExaTUFGaWxlKGZpbGVvYmo9Qnl0ZXNJTyhDT01QUkVTU0VEX1haKSkgYXMgZjoKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0TGlzdEVxdWFsKGYucmVhZGxpbmVzKCksIGxpbmVzKQorCisgICAgZGVmIHRlc3Rfd3JpdGUoc2VsZik6CisgICAgICAgIHdpdGggQnl0ZXNJTygpIGFzIGRzdDoKKyAgICAgICAgICAgIHdpdGggTFpNQUZpbGUoZmlsZW9iaj1kc3QsIG1vZGU9InciKSBhcyBmOgorICAgICAgICAgICAgICAgIGYud3JpdGUoSU5QVVQpCisgICAgICAgICAgICBleHBlY3RlZCA9IGx6bWEuY29tcHJlc3MoSU5QVVQpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRzdC5nZXR2YWx1ZSgpLCBleHBlY3RlZCkKKyAgICAgICAgd2l0aCBCeXRlc0lPKCkgYXMgZHN0OgorICAgICAgICAgICAgd2l0aCBMWk1BRmlsZShmaWxlb2JqPWRzdCwgbW9kZT0idyIsIGZvcm1hdD1sem1hLkZPUk1BVF9YWikgYXMgZjoKKyAgICAgICAgICAgICAgICBmLndyaXRlKElOUFVUKQorICAgICAgICAgICAgZXhwZWN0ZWQgPSBsem1hLmNvbXByZXNzKElOUFVULCBmb3JtYXQ9bHptYS5GT1JNQVRfWFopCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRzdC5nZXR2YWx1ZSgpLCBleHBlY3RlZCkKKyAgICAgICAgd2l0aCBCeXRlc0lPKCkgYXMgZHN0OgorICAgICAgICAgICAgd2l0aCBMWk1BRmlsZShmaWxlb2JqPWRzdCwgbW9kZT0idyIsIGZvcm1hdD1sem1hLkZPUk1BVF9BTE9ORSkgYXMgZjoKKyAgICAgICAgICAgICAgICBmLndyaXRlKElOUFVUKQorICAgICAgICAgICAgZXhwZWN0ZWQgPSBsem1hLmNvbXByZXNzKElOUFVULCBmb3JtYXQ9bHptYS5GT1JNQVRfQUxPTkUpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRzdC5nZXR2YWx1ZSgpLCBleHBlY3RlZCkKKyAgICAgICAgd2l0aCBCeXRlc0lPKCkgYXMgZHN0OgorICAgICAgICAgICAgd2l0aCBMWk1BRmlsZShmaWxlb2JqPWRzdCwgbW9kZT0idyIsIGZvcm1hdD1sem1hLkZPUk1BVF9SQVcsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcnM9RklMVEVSU19SQVdfMikgYXMgZjoKKyAgICAgICAgICAgICAgICBmLndyaXRlKElOUFVUKQorICAgICAgICAgICAgZXhwZWN0ZWQgPSBsem1hLmNvbXByZXNzKElOUFVULCBmb3JtYXQ9bHptYS5GT1JNQVRfUkFXLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcnM9RklMVEVSU19SQVdfMikKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZHN0LmdldHZhbHVlKCksIGV4cGVjdGVkKQorCisgICAgZGVmIHRlc3Rfd3JpdGVfMTAoc2VsZik6CisgICAgICAgIHdpdGggQnl0ZXNJTygpIGFzIGRzdDoKKyAgICAgICAgICAgIHdpdGggTFpNQUZpbGUoZmlsZW9iaj1kc3QsIG1vZGU9InciKSBhcyBmOgorICAgICAgICAgICAgICAgIGZvciBzdGFydCBpbiByYW5nZSgwLCBsZW4oSU5QVVQpLCAxMCk6CisgICAgICAgICAgICAgICAgICAgIGYud3JpdGUoSU5QVVRbc3RhcnQ6c3RhcnQrMTBdKQorICAgICAgICAgICAgZXhwZWN0ZWQgPSBsem1hLmNvbXByZXNzKElOUFVUKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkc3QuZ2V0dmFsdWUoKSwgZXhwZWN0ZWQpCisKKyAgICBkZWYgdGVzdF93cml0ZV9hcHBlbmQoc2VsZik6CisgICAgICAgIHBhcnQxID0gSU5QVVRbOjEwMjRdCisgICAgICAgIHBhcnQyID0gSU5QVVRbMTAyNDoxNTM2XQorICAgICAgICBwYXJ0MyA9IElOUFVUWzE1MzY6XQorICAgICAgICBleHBlY3RlZCA9IGIiIi5qb2luKGx6bWEuY29tcHJlc3MoeCkgZm9yIHggaW4gKHBhcnQxLCBwYXJ0MiwgcGFydDMpKQorICAgICAgICB3aXRoIEJ5dGVzSU8oKSBhcyBkc3Q6CisgICAgICAgICAgICB3aXRoIExaTUFGaWxlKGZpbGVvYmo9ZHN0LCBtb2RlPSJ3IikgYXMgZjoKKyAgICAgICAgICAgICAgICBmLndyaXRlKHBhcnQxKQorICAgICAgICAgICAgd2l0aCBMWk1BRmlsZShmaWxlb2JqPWRzdCwgbW9kZT0iYSIpIGFzIGY6CisgICAgICAgICAgICAgICAgZi53cml0ZShwYXJ0MikKKyAgICAgICAgICAgIHdpdGggTFpNQUZpbGUoZmlsZW9iaj1kc3QsIG1vZGU9ImEiKSBhcyBmOgorICAgICAgICAgICAgICAgIGYud3JpdGUocGFydDMpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRzdC5nZXR2YWx1ZSgpLCBleHBlY3RlZCkKKworICAgIGRlZiB0ZXN0X3dyaXRlX3RvX2ZpbGUoc2VsZik6CisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHdpdGggTFpNQUZpbGUoVEVTVEZOLCAidyIpIGFzIGY6CisgICAgICAgICAgICAgICAgZi53cml0ZShJTlBVVCkKKyAgICAgICAgICAgIGV4cGVjdGVkID0gbHptYS5jb21wcmVzcyhJTlBVVCkKKyAgICAgICAgICAgIHdpdGggb3BlbihURVNURk4sICJyYiIpIGFzIGY6CisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmLnJlYWQoKSwgZXhwZWN0ZWQpCisgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICB1bmxpbmsoVEVTVEZOKQorCisgICAgZGVmIHRlc3Rfd3JpdGVfYXBwZW5kX3RvX2ZpbGUoc2VsZik6CisgICAgICAgIHBhcnQxID0gSU5QVVRbOjEwMjRdCisgICAgICAgIHBhcnQyID0gSU5QVVRbMTAyNDoxNTM2XQorICAgICAgICBwYXJ0MyA9IElOUFVUWzE1MzY6XQorICAgICAgICBleHBlY3RlZCA9IGIiIi5qb2luKGx6bWEuY29tcHJlc3MoeCkgZm9yIHggaW4gKHBhcnQxLCBwYXJ0MiwgcGFydDMpKQorICAgICAgICB0cnk6CisgICAgICAgICAgICB3aXRoIExaTUFGaWxlKFRFU1RGTiwgInciKSBhcyBmOgorICAgICAgICAgICAgICAgIGYud3JpdGUocGFydDEpCisgICAgICAgICAgICB3aXRoIExaTUFGaWxlKFRFU1RGTiwgImEiKSBhcyBmOgorICAgICAgICAgICAgICAgIGYud3JpdGUocGFydDIpCisgICAgICAgICAgICB3aXRoIExaTUFGaWxlKFRFU1RGTiwgImEiKSBhcyBmOgorICAgICAgICAgICAgICAgIGYud3JpdGUocGFydDMpCisgICAgICAgICAgICB3aXRoIG9wZW4oVEVTVEZOLCAicmIiKSBhcyBmOgorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZi5yZWFkKCksIGV4cGVjdGVkKQorICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgdW5saW5rKFRFU1RGTikKKworICAgIGRlZiB0ZXN0X3dyaXRlX2JhZF9hcmdzKHNlbGYpOgorICAgICAgICBmID0gTFpNQUZpbGUoZmlsZW9iaj1CeXRlc0lPKCksIG1vZGU9InciKQorICAgICAgICBmLmNsb3NlKCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgZi53cml0ZSwgYiJmb28iKQorICAgICAgICB3aXRoIExaTUFGaWxlKGZpbGVvYmo9Qnl0ZXNJTyhDT01QUkVTU0VEX1haKSwgbW9kZT0iciIpIGFzIGY6CisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBmLndyaXRlLCBiImJhciIpCisgICAgICAgIHdpdGggTFpNQUZpbGUoZmlsZW9iaj1CeXRlc0lPKCksIG1vZGU9InciKSBhcyBmOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBmLndyaXRlLCBOb25lKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBmLndyaXRlLCAidGV4dCIpCisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGYud3JpdGUsIDc4OSkKKworICAgIGRlZiB0ZXN0X3dyaXRlbGluZXMoc2VsZik6CisgICAgICAgIHdpdGggQnl0ZXNJTyhJTlBVVCkgYXMgZjoKKyAgICAgICAgICAgIGxpbmVzID0gZi5yZWFkbGluZXMoKQorICAgICAgICB3aXRoIEJ5dGVzSU8oKSBhcyBkc3Q6CisgICAgICAgICAgICB3aXRoIExaTUFGaWxlKGZpbGVvYmo9ZHN0LCBtb2RlPSJ3IikgYXMgZjoKKyAgICAgICAgICAgICAgICBmLndyaXRlbGluZXMobGluZXMpCisgICAgICAgICAgICBleHBlY3RlZCA9IGx6bWEuY29tcHJlc3MoSU5QVVQpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRzdC5nZXR2YWx1ZSgpLCBleHBlY3RlZCkKKworICAgIGRlZiB0ZXN0X3NlZWtfZm9yd2FyZChzZWxmKToKKyAgICAgICAgd2l0aCBMWk1BRmlsZShmaWxlb2JqPUJ5dGVzSU8oQ09NUFJFU1NFRF9YWikpIGFzIGY6CisgICAgICAgICAgICBmLnNlZWsoNTU1KQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmLnJlYWQoKSwgSU5QVVRbNTU1Ol0pCisKKyAgICBkZWYgdGVzdF9zZWVrX2ZvcndhcmRfYWNyb3NzX3N0cmVhbXMoc2VsZik6CisgICAgICAgIHdpdGggTFpNQUZpbGUoZmlsZW9iaj1CeXRlc0lPKENPTVBSRVNTRURfWFogKiAyKSkgYXMgZjoKKyAgICAgICAgICAgIGYuc2VlayhsZW4oSU5QVVQpICsgMTIzKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmLnJlYWQoKSwgSU5QVVRbMTIzOl0pCisKKyAgICBkZWYgdGVzdF9zZWVrX2ZvcndhcmRfcmVsYXRpdmVfdG9fY3VycmVudChzZWxmKToKKyAgICAgICAgd2l0aCBMWk1BRmlsZShmaWxlb2JqPUJ5dGVzSU8oQ09NUFJFU1NFRF9YWikpIGFzIGY6CisgICAgICAgICAgICBmLnJlYWQoMTAwKQorICAgICAgICAgICAgZi5zZWVrKDEyMzYsIDEpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGYucmVhZCgpLCBJTlBVVFsxMzM2Ol0pCisKKyAgICBkZWYgdGVzdF9zZWVrX2ZvcndhcmRfcmVsYXRpdmVfdG9fZW5kKHNlbGYpOgorICAgICAgICB3aXRoIExaTUFGaWxlKGZpbGVvYmo9Qnl0ZXNJTyhDT01QUkVTU0VEX1haKSkgYXMgZjoKKyAgICAgICAgICAgIGYuc2VlaygtNTU1LCAyKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmLnJlYWQoKSwgSU5QVVRbLTU1NTpdKQorCisgICAgZGVmIHRlc3Rfc2Vla19iYWNrd2FyZChzZWxmKToKKyAgICAgICAgd2l0aCBMWk1BRmlsZShmaWxlb2JqPUJ5dGVzSU8oQ09NUFJFU1NFRF9YWikpIGFzIGY6CisgICAgICAgICAgICBmLnJlYWQoMTAwMSkKKyAgICAgICAgICAgIGYuc2VlaygyMTEpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGYucmVhZCgpLCBJTlBVVFsyMTE6XSkKKworICAgIGRlZiB0ZXN0X3NlZWtfYmFja3dhcmRfYWNyb3NzX3N0cmVhbXMoc2VsZik6CisgICAgICAgIHdpdGggTFpNQUZpbGUoZmlsZW9iaj1CeXRlc0lPKENPTVBSRVNTRURfWFogKiAyKSkgYXMgZjoKKyAgICAgICAgICAgIGYucmVhZChsZW4oSU5QVVQpICsgMzMzKQorICAgICAgICAgICAgZi5zZWVrKDczNykKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZi5yZWFkKCksIElOUFVUWzczNzpdICsgSU5QVVQpCisKKyAgICBkZWYgdGVzdF9zZWVrX2JhY2t3YXJkX3JlbGF0aXZlX3RvX2VuZChzZWxmKToKKyAgICAgICAgd2l0aCBMWk1BRmlsZShmaWxlb2JqPUJ5dGVzSU8oQ09NUFJFU1NFRF9YWikpIGFzIGY6CisgICAgICAgICAgICBmLnNlZWsoLTE1MCwgMikKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZi5yZWFkKCksIElOUFVUWy0xNTA6XSkKKworICAgIGRlZiB0ZXN0X3NlZWtfcGFzdF9lbmQoc2VsZik6CisgICAgICAgIHdpdGggTFpNQUZpbGUoZmlsZW9iaj1CeXRlc0lPKENPTVBSRVNTRURfWFopKSBhcyBmOgorICAgICAgICAgICAgZi5zZWVrKGxlbihJTlBVVCkgKyA5MDAxKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmLnRlbGwoKSwgbGVuKElOUFVUKSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZi5yZWFkKCksIGIiIikKKworICAgIGRlZiB0ZXN0X3NlZWtfcGFzdF9zdGFydChzZWxmKToKKyAgICAgICAgd2l0aCBMWk1BRmlsZShmaWxlb2JqPUJ5dGVzSU8oQ09NUFJFU1NFRF9YWikpIGFzIGY6CisgICAgICAgICAgICBmLnNlZWsoLTg4KQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmLnRlbGwoKSwgMCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZi5yZWFkKCksIElOUFVUKQorCisgICAgZGVmIHRlc3Rfc2Vla19iYWRfYXJncyhzZWxmKToKKyAgICAgICAgZiA9IExaTUFGaWxlKGZpbGVvYmo9Qnl0ZXNJTyhDT01QUkVTU0VEX1haKSkKKyAgICAgICAgZi5jbG9zZSgpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIGYuc2VlaywgMCkKKyAgICAgICAgd2l0aCBMWk1BRmlsZShmaWxlb2JqPUJ5dGVzSU8oKSwgbW9kZT0idyIpIGFzIGY6CisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBmLnNlZWssIDApCisgICAgICAgIHdpdGggTFpNQUZpbGUoZmlsZW9iaj1CeXRlc0lPKENPTVBSRVNTRURfWFopKSBhcyBmOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgZi5zZWVrLCAwLCAzKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgZi5zZWVrLCA5LCAoKSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgZi5zZWVrLCBOb25lKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBmLnNlZWssIGIiZGVycCIpCisKKyAgICBkZWYgdGVzdF90ZWxsKHNlbGYpOgorICAgICAgICB3aXRoIExaTUFGaWxlKGZpbGVvYmo9Qnl0ZXNJTyhDT01QUkVTU0VEX1haKSkgYXMgZjoKKyAgICAgICAgICAgIHBvcyA9IDAKKyAgICAgICAgICAgIHdoaWxlIFRydWU6CisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmLnRlbGwoKSwgcG9zKQorICAgICAgICAgICAgICAgIHJlc3VsdCA9IGYucmVhZCgxODMpCisgICAgICAgICAgICAgICAgaWYgbm90IHJlc3VsdDoKKyAgICAgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgICAgICAgICBwb3MgKz0gbGVuKHJlc3VsdCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZi50ZWxsKCksIGxlbihJTlBVVCkpCisgICAgICAgIHdpdGggTFpNQUZpbGUoZmlsZW9iaj1CeXRlc0lPKCksIG1vZGU9InciKSBhcyBmOgorICAgICAgICAgICAgZm9yIHBvcyBpbiByYW5nZSgwLCBsZW4oSU5QVVQpLCAxNDQpOgorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZi50ZWxsKCksIHBvcykKKyAgICAgICAgICAgICAgICBmLndyaXRlKElOUFVUW3Bvczpwb3MrMTQ0XSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZi50ZWxsKCksIGxlbihJTlBVVCkpCisKKyAgICBkZWYgdGVzdF90ZWxsX2JhZF9hcmdzKHNlbGYpOgorICAgICAgICBmID0gTFpNQUZpbGUoZmlsZW9iaj1CeXRlc0lPKENPTVBSRVNTRURfWFopKQorICAgICAgICBmLmNsb3NlKCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgZi50ZWxsKQorCisKK2NsYXNzIE1pc2NlbGxhbmVvdXNUZXN0Q2FzZSh1bml0dGVzdC5UZXN0Q2FzZSk6CisKKyAgICBkZWYgdGVzdF9pc19jaGVja19zdXBwb3J0ZWQoc2VsZik6CisgICAgICAgICMgQ0hFQ0tfTk9ORSBhbmQgQ0hFQ0tfQ1JDMzIgc2hvdWxkIGFsd2F5cyBiZSBzdXBwb3J0ZWQsCisgICAgICAgICMgcmVnYXJkbGVzcyBvZiB0aGUgb3B0aW9ucyBsaWJsem1hIHdhcyBjb21waWxlZCB3aXRoLgorICAgICAgICBzZWxmLmFzc2VydFRydWUobHptYS5jaGVja19pc19zdXBwb3J0ZWQobHptYS5DSEVDS19OT05FKSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGx6bWEuY2hlY2tfaXNfc3VwcG9ydGVkKGx6bWEuQ0hFQ0tfQ1JDMzIpKQorCisgICAgICAgICMgVGhlIC54eiBmb3JtYXQgc3BlYyBjYW5ub3Qgc3RvcmUgY2hlY2sgSURzIGFib3ZlIHRoaXMgdmFsdWUuCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UobHptYS5jaGVja19pc19zdXBwb3J0ZWQobHptYS5DSEVDS19JRF9NQVggKyAxKSkKKworICAgICAgICAjIFRoaXMgdmFsdWUgc2hvdWxkIG5vdCBiZSBhIHZhbGlkIGNoZWNrIElELgorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGx6bWEuY2hlY2tfaXNfc3VwcG9ydGVkKGx6bWEuQ0hFQ0tfVU5LTk9XTikpCisKKworIyBUZXN0IGRhdGE6CisKK0lOUFVUID0gYiIiIgorTEFFUlRFUworCisgICAgICAgTywgZmVhciBtZSBub3QuCisgICAgICAgSSBzdGF5IHRvbyBsb25nOiBidXQgaGVyZSBteSBmYXRoZXIgY29tZXMuCisKKyAgICAgICBFbnRlciBQT0xPTklVUworCisgICAgICAgQSBkb3VibGUgYmxlc3NpbmcgaXMgYSBkb3VibGUgZ3JhY2UsCisgICAgICAgT2NjYXNpb24gc21pbGVzIHVwb24gYSBzZWNvbmQgbGVhdmUuCisKK0xPUkQgUE9MT05JVVMKKworICAgICAgIFlldCBoZXJlLCBMYWVydGVzISBhYm9hcmQsIGFib2FyZCwgZm9yIHNoYW1lIQorICAgICAgIFRoZSB3aW5kIHNpdHMgaW4gdGhlIHNob3VsZGVyIG9mIHlvdXIgc2FpbCwKKyAgICAgICBBbmQgeW91IGFyZSBzdGF5J2QgZm9yLiBUaGVyZTsgbXkgYmxlc3Npbmcgd2l0aCB0aGVlIQorICAgICAgIEFuZCB0aGVzZSBmZXcgcHJlY2VwdHMgaW4gdGh5IG1lbW9yeQorICAgICAgIFNlZSB0aG91IGNoYXJhY3Rlci4gR2l2ZSB0aHkgdGhvdWdodHMgbm8gdG9uZ3VlLAorICAgICAgIE5vciBhbnkgdW5wcm9wb3J0aW9uZWQgdGhvdWdodCBoaXMgYWN0LgorICAgICAgIEJlIHRob3UgZmFtaWxpYXIsIGJ1dCBieSBubyBtZWFucyB2dWxnYXIuCisgICAgICAgVGhvc2UgZnJpZW5kcyB0aG91IGhhc3QsIGFuZCB0aGVpciBhZG9wdGlvbiB0cmllZCwKKyAgICAgICBHcmFwcGxlIHRoZW0gdG8gdGh5IHNvdWwgd2l0aCBob29wcyBvZiBzdGVlbDsKKyAgICAgICBCdXQgZG8gbm90IGR1bGwgdGh5IHBhbG0gd2l0aCBlbnRlcnRhaW5tZW50CisgICAgICAgT2YgZWFjaCBuZXctaGF0Y2gnZCwgdW5mbGVkZ2VkIGNvbXJhZGUuIEJld2FyZQorICAgICAgIE9mIGVudHJhbmNlIHRvIGEgcXVhcnJlbCwgYnV0IGJlaW5nIGluLAorICAgICAgIEJlYXIndCB0aGF0IHRoZSBvcHBvc2VkIG1heSBiZXdhcmUgb2YgdGhlZS4KKyAgICAgICBHaXZlIGV2ZXJ5IG1hbiB0aHkgZWFyLCBidXQgZmV3IHRoeSB2b2ljZTsKKyAgICAgICBUYWtlIGVhY2ggbWFuJ3MgY2Vuc3VyZSwgYnV0IHJlc2VydmUgdGh5IGp1ZGdtZW50LgorICAgICAgIENvc3RseSB0aHkgaGFiaXQgYXMgdGh5IHB1cnNlIGNhbiBidXksCisgICAgICAgQnV0IG5vdCBleHByZXNzJ2QgaW4gZmFuY3k7IHJpY2gsIG5vdCBnYXVkeTsKKyAgICAgICBGb3IgdGhlIGFwcGFyZWwgb2Z0IHByb2NsYWltcyB0aGUgbWFuLAorICAgICAgIEFuZCB0aGV5IGluIEZyYW5jZSBvZiB0aGUgYmVzdCByYW5rIGFuZCBzdGF0aW9uCisgICAgICAgQXJlIG9mIGEgbW9zdCBzZWxlY3QgYW5kIGdlbmVyb3VzIGNoaWVmIGluIHRoYXQuCisgICAgICAgTmVpdGhlciBhIGJvcnJvd2VyIG5vciBhIGxlbmRlciBiZTsKKyAgICAgICBGb3IgbG9hbiBvZnQgbG9zZXMgYm90aCBpdHNlbGYgYW5kIGZyaWVuZCwKKyAgICAgICBBbmQgYm9ycm93aW5nIGR1bGxzIHRoZSBlZGdlIG9mIGh1c2JhbmRyeS4KKyAgICAgICBUaGlzIGFib3ZlIGFsbDogdG8gdGhpbmUgb3duc2VsZiBiZSB0cnVlLAorICAgICAgIEFuZCBpdCBtdXN0IGZvbGxvdywgYXMgdGhlIG5pZ2h0IHRoZSBkYXksCisgICAgICAgVGhvdSBjYW5zdCBub3QgdGhlbiBiZSBmYWxzZSB0byBhbnkgbWFuLgorICAgICAgIEZhcmV3ZWxsOiBteSBibGVzc2luZyBzZWFzb24gdGhpcyBpbiB0aGVlIQorCitMQUVSVEVTCisKKyAgICAgICBNb3N0IGh1bWJseSBkbyBJIHRha2UgbXkgbGVhdmUsIG15IGxvcmQuCisKK0xPUkQgUE9MT05JVVMKKworICAgICAgIFRoZSB0aW1lIGludml0ZXMgeW91OyBnbzsgeW91ciBzZXJ2YW50cyB0ZW5kLgorCitMQUVSVEVTCisKKyAgICAgICBGYXJld2VsbCwgT3BoZWxpYTsgYW5kIHJlbWVtYmVyIHdlbGwKKyAgICAgICBXaGF0IEkgaGF2ZSBzYWlkIHRvIHlvdS4KKworT1BIRUxJQQorCisgICAgICAgJ1RpcyBpbiBteSBtZW1vcnkgbG9jaydkLAorICAgICAgIEFuZCB5b3UgeW91cnNlbGYgc2hhbGwga2VlcCB0aGUga2V5IG9mIGl0LgorCitMQUVSVEVTCisKKyAgICAgICBGYXJld2VsbC4KKyIiIgorCitDT01QUkVTU0VEX1haID0gKAorICAgIGIiXHhmZDd6WFpceDAwXHgwMFx4MDRceGU2XHhkNlx4YjRGXHgwMlx4MDAhXHgwMVx4MTZceDAwXHgwMFx4MDB0L1x4ZTVceGEzIgorICAgIGIiXHhlMFx4MDdceDgwXHgwM1x4ZGZdXHgwMFx4MDVceDE0XHgwN2JYXHgxOVx4Y2RceGRkblx4OThceDE1XHhlNFx4YjRceDlkIgorICAgIGIib1x4MWRceGM0XHhlNVxuXHgwM1x4Y2MyaFx4YzdcXFx4ODZceGZmXHhmOFx4ZTJceGZjXHhlN1x4ZDlceGZlNlx4YjgoIgorICAgIGIiXHhhOHdkXHhjMlwidS5uXHgxZVx4YzNceGYyXHg4ZVx4OGRceDhmXHgwMlx4MTcvXHhhNj1ceGYwXHhhMlx4ZGYvTVx4ODkiCisgICAgYiJceGJlXHhkZVx4YTdceDFjelx4MTgtXVx4ZDVceGVmXHgxM1x4OGZyWlx4MTVceDgwXHg4Y1x4ZjhceDhkb1x4ZmFceDEyIgorICAgIGIiXHg5YiN6L1x4ZWZceGYwXHhmYUZceDAxXHg4Mlx4YTNNXHg4ZVx4YTF0XHhjYTYgQkYkXHhlNVFceGE0XHg5OFx4ZWVceGRlIgorICAgIGIibFx4ZThceDdmXHhmMFx4OWQsYm5ceDBiXHgxM1x4ZDRceGE4XHg4MVx4ZTROXHhjOFx4ODZceDE1M1x4ZjV4Mlx4YTJPIgorICAgIGIiXHgxM0BRXHhhMVx4MDAvXHhhNVx4ZDBPXHg5N1x4ZGNvXHhhZVx4Zjd6XHhjNFx4Y2RTXHhiNnQ8XHgxNlx4ZjJceDljSSMiCisgICAgYiJceDg5dWRceGM2NllceGQ5XHhlZVx4ZTZceGNlXHgxMl1ceGU1XHhmMFx4YWFceDk2LVBlXHhhZGU6XHgwNFx0XHgxYlx4ZjciCisgICAgYiJceGRiN1xuXHg4Nlx4MWZwXHhjOEpceGJhXHhmNFx4ZjBWXHhhOVx4ZGNceGYwXHgwMiVHXHhmOVx4ZGY9P1x4MTVceDFiIgorICAgIGIiXHhlMShceGNlXHg4Mj1ceGQ2SVx4YWMzXHgxMlx4MGNSXHhiN1x4YWVcclx4YjFpXHgwM1x4OTVceDAxXHhiZFx4YmVceGZhIgorICAgIGIiXHgwMnNceDAxUFx4OWRceDk2WFx4YjEyalx4YzhMXHhhOFx4ODRiXHhmNlx4YzNceGQ0Yy1IXHg5M29KbFx4ZDBpUVx4ZTRrIgorICAgIGIiXHg4NFx4MGJceGMxXHhiN1x4YmNceGIxXHgxN1x4ODhceGIxXHhjYT9AXHhmNlx4MDdceGVhXHhlNnhceGYxSDEyUFx4MGYiCisgICAgYiJceDhhXHhjOVx4ZWF1d1x4ZTNceGJlXHhhYWlceGE5V1x4ZDBceDgwXHhjZCNjYjVceDk5XHhkOF1ceGE5ZFx4MGNceGJkIgorICAgIGIiXHhhMlx4ZGNXbFx4ZWRVR1x4YmZceDg5eUZceGY3N1x4ODF2XHhiZDVceDk4XHhiZWg4XHgxOFdceDA4XHhmMFx4MWJceDk5IgorICAgIGIiNTpceDFhP3JEXHg5Nlx4YTFceDA0XHgwZlx4YWVceGJhXHg4NVx4ZWJceDlkNUBceGY1XHg4M1x4ZDM3XHg4M1x4OGFjIgorICAgIGIiXHgwNlx4ZDRceDk3aVx4Y2R0XHgxNlNceDgya1x4ZjZLXHgwMXZ5XHg4OFx4OTFceDliNlRceGRhZVxyXHhmZF06a1x4YmFsIgorICAgIGIiXHhhOVx4YmJhXHhjMzRceGY5clx4ZWJ9clx4ZGJceGM3XHhkYipceDhmXHgwM3pceGRjOGhceGNjXHhjOVx4ZDNceGJjbCIKKyAgICBiIlx4YTUtXHhjYlx4ZWFLXHhhMlx4YzVceDE1XHhjMFx4ZTNceGMxXHg4NlpceGZiXHhlYkxceGUxM1x4Y2ZceDljXHhlMyIKKyAgICBiIlx4MWRceGM5XHhlZFx4YzJceDA2XHhjY1x4Y2UhXHg5Mlx4ZTVceGZlXHg5Y15ceGE1OXcgXHg5YlBceGEzUEtceDA4ZCIKKyAgICBiIlx4ZjlceGUyWn1ceGE3XHhiZlx4ZWRceGViJSRceDBjXHg4Mlx4YjgvXHhiMFx4MDFceGE5JixceGY3cWh7UVx4OTYpXHhmMiIKKyAgICBiInFceDk2XHhjM1x4ODBceGI0XHgxMlx4YjBceGJhXHhlNm9ceGY0IVx4YjRbXHhkNFx4OGF3XHgxMFx4Zjd0XHgwY1x4YjMiCisgICAgYiJceGQ5XHhkNVx4YzNgXlx4ODFceDExPz9cXFx4YTRceDk5XHg4NVJceGQ0XHg4ZVx4ODNceGM5XHgxZVhceGJmYVx4ZjEiCisgICAgYiJceGFjXHhiMFx4ZWFceGVhXHhkN1x4ZDBceGFiXHgxOFx4ZTJceGYyXHhlZFx4ZTFceGI3XHhjOVx4MThceGNiU1x4ZTQ+IgorICAgIGIiXHhjOVx4OTVIXHhlOFx4Y2JcdFxyJVx4ZWJceGM3JC5vXHhmMVx4ZjNSXHgxN1x4MWRiXHhiYlx4ZDhVXHhhNV5ceGNjUyIKKyAgICBiIlx4MTZceDAxXHg4N1x4ZjMvXHg5M1x4ZDFceGYwdlx4YzByXHhkN1x4Y2NceGEyR2t6XHhjYVx4ODBceDBlXHhmZFx4ZDAiCisgICAgYiJceDhiXHhiYlx4ZDJJeFx4YjNceDFleVx4Y2EtMFx4ZTN6Xlx4ZDZceGQ2XHg4Zl9ceGYxXHg5ZFBceDlmaVx4YTdceGQxIgorICAgIGIiXHhlOFx4OTBceDg0XHhkY1x4YmZceGNka3lceDhlXHhkY1x4ODFceDdmXHhhM1x4YjIrXHhiZlx4MDRceGVmXHhkOFxcIgorICAgIGIiXHhjNFx4ZGZceGUxXHhiMFx4MDFceGU5XHg5M1x4ZTNZXHhmMVx4MWRZXHhlOGhceDgxXHhjZlx4ZjF3XHhjY1x4YjRceGVmIgorICAgIGIiIFx4OGJ8XHgwNFx4ZWFceDgzZWpceGJlXHgxZlx4ZDR6XHg5Y2BceGQzXHgxYVx4OTJBXHgwNlx4ZTVceDhmXHhhOVx4MTMiCisgICAgYiJcdFx4OWU9XHhmYVx4MWNceGU1X1x4OWYldlx4MWJvXHgxMVpPXHhkOFx4ZjRcdFx4ZGRNXHgxNi1ceDA0XHhmY1x4MTg8XCIiCisgICAgYiJDTVx4ZGRnfmJceGY2XHhlZlx4OGVceDBjXHhkMFx4ZGV8XHhhMCdceDhhXHgwY1x4ZDZ4XHhhZSFKXHhhNkZceDg4XHgxNXUiCisgICAgYiJceDAwOFx4MTdceGJjN3lceGIzXHhkOHVceGFjX1x4ODVceDhkXHhlN1x4YzFAXHg5Y1x4ZWNxY1x4YTMjXHhhZFx4ZjEiCisgICAgYiJceDkzNVx4YjUpX1xyXHhlYzNdXHgwZm9dNVx4ZDBteVx4MDdceDliXHhlZVx4ODFceGI1XHgwZlx4Y2ZLK1x4MDBceGMwIgorICAgIGIiXHhlNGJceDEwXHhlNFx4MGNceDFhIFx4OWJceGUwXHg5N3RceGY2XHhhMVx4OWVceDg1MFx4YmFceDBjXHg5YVx4OGRceGM4IgorICAgIGIiXHg4Zlx4MDdceGQ3XHhhZVx4YzhceGY5K2lceGRjXHhiOWtceGIwPmZceDE5XHhiOFxyXHhhOFx4ZjhceDFmJFx4YTV7cCIKKyAgICBiIlx4YzZceDg4MFx4Y2VceGRiXHhjZlx4Y2FfXHg4Nlx4YWNceDg4aDZceDhiWiUnXHhkMFxuXHhiZlx4MGZceDljXCJceGJhIgorICAgIGIiXHhlNVx4ODZceDlmXHgwZjdYPW1OWFtceGNjXHgxOUZVXHhjOVx4ODYwXHhiY1x4OTBhKyogXHhhZV8kXHgwM1x4MWVceGQzIgorICAgIGIiXHhjZF9ceGEwXHg5Y1x4ZGVceGFmNDZxXHhhNVx4YzlceDkyXHhkN1x4Y2FceGUzYFx4OWRceDg1fVx4YjRceGZmXHhiMyIKKyAgICBiIlx4ODNceGZiXHhiNlx4Y2FceGFlYFx4MGJ3XHg3Zlx4ZmNceGQ4XHhhY1ZlXHgxOVx4YzhceDE3XHgwYlpceGFkXHg4OCIKKyAgICBiIlx4ZWIjXHg5N1x4MDNceDEzXHhiMWRceDBme1x4MGNceDA0d1x4MDdcclx4OTdceGJkXHhkNlx4YzFceGMzQjpceDk1XHgwOCIKKyAgICBiIl5ceDEwVlx4YWVhSFx4MDJceGQ5XHhlM1xuXFxceDAxWFx4ZjZceDljXHg4YVx4MDZ1IyVceGJlKlx4YTFceDE4dlx4ODUiCisgICAgYiJceGVjIVx0NFx4MDBceDAwXHgwMFx4MDBWaj91TFVceGYzXHhhNlx4MDBceDAxXHhmYlx4MDdceDgxXHgwZlx4MDBceDAwdHciCisgICAgYiJceDk5UFx4YjFceGM0Z1x4ZmJceDAyXHgwMFx4MDBceDAwXHgwMFx4MDRZWiIKKykKKworQ09NUFJFU1NFRF9BTE9ORSA9ICgKKyAgICBiIl1ceDAwXHgwMFx4ODBceDAwXHhmZlx4ZmZceGZmXHhmZlx4ZmZceGZmXHhmZlx4ZmZceDAwXHgwNVx4MTRceDA3YlhceDE5IgorICAgIGIiXHhjZFx4ZGRuXHg5OFx4MTVceGU0XHhiNFx4OWRvXHgxZFx4YzRceGU1XG5ceDAzXHhjYzJoXHhjN1xcXHg4Nlx4ZmZceGY4IgorICAgIGIiXHhlMlx4ZmNceGU3XHhkOVx4ZmU2XHhiOChceGE4d2RceGMyXCJ1Lm5ceDFlXHhjM1x4ZjJceDhlXHg4ZFx4OGZceDAyIgorICAgIGIiXHgxNy9ceGE2PVx4ZjBceGEyXHhkZi9NXHg4OVx4YmVceGRlXHhhN1x4MWN6XHgxOC1dXHhkNVx4ZWZceDEzXHg4ZnJaIgorICAgIGIiXHgxNVx4ODBceDhjXHhmOFx4OGRvXHhmYVx4MTJceDliI3ovXHhlZlx4ZjBceGZhRlx4MDFceDgyXHhhM01ceDhlXHhhMXQiCisgICAgYiJceGNhNiBCRiRceGU1UVx4YTRceDk4XHhlZVx4ZGVsXHhlOFx4N2ZceGYwXHg5ZCxiblx4MGJceDEzXHhkNFx4YThceDgxIgorICAgIGIiXHhlNE5ceGM4XHg4Nlx4MTUzXHhmNXgyXHhhMk9ceDEzQFFceGExXHgwMC9ceGE1XHhkME9ceDk3XHhkY29ceGFlXHhmN3oiCisgICAgYiJceGM0XHhjZFNceGI2dDxceDE2XHhmMlx4OWNJI1x4ODl1ZFx4YzY2WVx4ZDlceGVlXHhlNlx4Y2VceDEyXVx4ZTVceGYwIgorICAgIGIiXHhhYVx4OTYtUGVceGFkZTpceDA0XHRceDFiXHhmN1x4ZGI3XG5ceDg2XHgxZnBceGM4Slx4YmFceGY0XHhmMFZceGE5IgorICAgIGIiXHhkY1x4ZjBceDAyJUdceGY5XHhkZj0/XHgxNVx4MWJceGUxKFx4Y2VceDgyPVx4ZDZJXHhhYzNceDEyXHgwY1JceGI3IgorICAgIGIiXHhhZVxyXHhiMWlceDAzXHg5NVx4MDFceGJkXHhiZVx4ZmFceDAyc1x4MDFQXHg5ZFx4OTZYXHhiMTJqXHhjOExceGE4IgorICAgIGIiXHg4NGJceGY4XHgxZXBsXHhlYWpyXHhkMT1cdFx4MDNceGRkXHgxM1x4MWIzIUVceGY5dlZceGRhRlx4ZjNceGQ3XHhiNCIKKyAgICBiIlx4MGNceGE5UH5ceGVjXHhkZUVceGUzN1x4ZjZceDFkXHhjNlx4YmJceGRkYyVceGI2XHgwZklceDA3XHhmMDtceGFmXHhlNyIKKyAgICBiIlx4YTBceDhiXHhhN1pceDk5KFx4ZTlceGUyXHhmMG9ceDE4PmBceGUxXHhhYVx4YThceGQ5XHhhMVx4YjJ9XHhlN1x4OGQiCisgICAgYiJceDgzNFRceGI2XHhlZlx4YzFceGRlXHhlM1x4OThceGJjRFx4MDNNQUBceGQ4XHhlZFx4ZGNceGM4XHg5M1x4MDNceDFhIgorICAgIGIiXHg5M1x4MGJceDdmXHg5NFx4MTJceDBiXHgwMlNhXHgxOFx4YzlceGM1XHg5YlRKRX1ceGY2XHhjOGdceDE3I1pWXHgwMSIKKyAgICBiIlx4YzlceDlkY1x4ODNceDBlPjBceDE2XHg5MFNceGI4L1x4MDN5X1x4MThceGZhKFx4ZDdceDBiclx4YTJceGIwXHhiYT8iCisgICAgYiJceDhjXHhlNlx4ODNAXHg4NFx4ZGZceDAyOlx4YzV6XHg5ZVx4YTZceDg0XHhjOVx4ZjVCZXlYXHg4M1x4MWFceGYxIDpcdCIKKyAgICBiIlx4ZjdceDE5XHhmZXhEXFwmR1x4ZjNceDg1WVx4YTJKXHhmOVx4MGJ2e1x4ODlceGY2XHhlNylBXHhhZlx4MDRvXHgwMCIKKyAgICBiIlx4MDc1XHhkM1x4ZTBceDdmXHg5N1x4OThGXHgwZj92XHg5M1x4ZWRWdFRmXHhiNVx4OTdceDgzXHhlZFx4MTlceGQ3XHgxYSIKKyAgICBiIidrXHhkN1x4ZDlceGM1XFxZXHhkMVx4ZGNceDA3XHgxNXx3XHhiY1x4YWNkXHg4N1x4MDhkXHhlY1x4YTdceGY2XHg4MiIKKyAgICBiIlx4ZmNceGIzXHg5M1x4ZWJceGI5IFx4OGRceGJjICxceGIzWFx4YjBceGQyc1x4ZDdceGQxXHhmZnZceDA1XHhkZn1ceGEyIgorICAgIGIiXHg5Nlx4ZmIlXG5ceGRmXHhhMlx4N2ZceDA4Llx4YTE2XG5ceGUwXHgxOVx4OTNceDdmaFxuXHgxY1x4OGNceDBmIFx4MTEiCisgICAgYiJceGM2QmxceDk1XHgxOVV9XHhlNHNceGI1XHgxMEhceGVhXHg4NnBCXHhlODhceDk1XHhiZVx4OGNaXHhkYlx4ZTRceDk0QSIKKyAgICBiIlx4OTJceGI5O3pceGFhXHhhN3tceDFjNSFceGMwXHhhZlx4YzFBXHhmOVx4ZGFceGYwJFx4YjBceDAycWdceGM4XHhjNy98IgorICAgIGIiXHhhZnJceDk5Xlx4OTFceDg4XHhiZlx4MDNceGQ5PVx4ZDduXHhkYTZ7Pjhcblx4Yzc6XHhhOSdceGJhLlx4MGJceGUyIgorICAgIGIiXHhiNVx4MWRceDBlXG5ceDlhXHg4ZVx4MDZceDhmOlx4ZGRceDgyJ1tceGMzXCJ3RCRceGE3d1x4ZWNxXHg4YywxXHg5MyIKKyAgICBiIlx4ZDAsXHhhZTJ3XHg5M1x4MTIkSmRceDE5bWdceDAyXHg5M1x4OWNBXHg5NVx4OWQmXHhjYThpXHg5Y1x4YjA7XHhlN05RIgorICAgIGIiXHgxZnJoXHg4YmVMO1x4YjBtXHhlZVx4MDdRXHg5Ylx4YzZceGQ4XHgwM1x4YjVceGRlTlx4ZDRceGZlXHg5OFx4ZDBceGRjIgorICAgIGIiXHgxYVtceDA0XHhkZVx4MWFceGY2XHg5MWpceGY4RU9saVx4OGVCXlx4MWRceDgyXHgwN1x4YjJceGI1Ul1ceGI3XHhkNyIKKyAgICBiIlx4ZTlceGE2XHhjMy5ceGZiXHhmMC1ceGI0ZVx4OWJceGRlXHgwM1x4ODhceGM2XHhjMWlOXHgwZVx4ODR3YlFceGRmfiIKKyAgICBiIlx4ZTlceGE0XHg4ODRceDk2a01ceGJjKVRceGYzXHg4OVx4OTdceDBmXHgxNDNceGU3KVx4YTBceGIzQlx4MDBceGE4XHhhZiIKKyAgICBiIlx4ODJeXHhjYlx4YzcuLlx4ZGJceGM3XHRceDlkSFx4ZWU1XHhlOSNceGU2TlZceDk0XHhjYiRLa1x4ZTNceDdmXHJceGUzdCIKKyAgICBiIlx4MTJceGNmJ1x4ZWZSXHg4Ylx4ZjQyXHhjZi1MSFx4YWNceGU1XHgxZjB+P1NPXHhlYlx4YzFFXHgxYVx4MWNdXHhmMiIKKyAgICBiIlx4YzQ8XHgxMVx4MDJceDEwWjBhKj9ceGU0clx4ZmZceGZiXHhmZlx4ZjZceDE0bkdceGVhZF5ceGQ2XHhlZjhceGI2dUVJIgorICAgIGIiXHg5OVxuVlx4ZTJceGIzXHg5NVx4OGVceDgzXHhmNmkhXHhiNSYxRlx4YjFEUFx4ZjQgU08zRCF3XHg5OV9HXHg3ZitceDkwIgorICAgIGIiLlx4YWJceGJiXVx4OTE+XHhjOSNoO1x4MGY1Slx4OTFLXHhmNF4tW1x4OWVceDhhXFxceDk0XHhjYVx4YWZceGY2XHgxOSIKKyAgICBiIlx4ZDRceGExXHg5Ylx4YzRceGI4cFx4YTFceGFlXHgxNVx4ZTlyXHg4NFx4ZTBceGNhci5sIFtdXHg4Ylx4YWYrMFx4ZjJnIgorICAgIGIiXHgwMWFLWVx4ZGZJXHhjZixcblx4ZThceGYwXHhlN1ZceDgwXyNceGIyXHhmMlx4YTlceDA2XHg4Yz53XHhlMlcsXHhmNCIKKyAgICBiIlx4OGNcclx4Zjk2M1x4ZjVKXHhjYzJceDA1PWtUXHhlYVV0aVx4ZTVfXHhjZVx4MWJceGZhXHg4ZGxceDAyaFx4ZWZceGE4IgorICAgIGIiXHhmYmZceDdmXHhmZlx4ZjBceDE5XHhlYXgiCispCisKK0ZJTFRFUlNfUkFXXzEgPSBbeyJpZCI6IGx6bWEuRklMVEVSX0xaTUEyLCAicHJlc2V0IjogM31dCitDT01QUkVTU0VEX1JBV18xID0gKAorICAgIGIiXHhlMFx4MDdceDgwXHgwM1x4ZmRdXHgwMFx4MDVceDE0XHgwN2JYXHgxOVx4Y2RceGRkblx4OTZjeXFceGExXHhkZFx4ZWUiCisgICAgYiJceGY4XHhmYW1ceGUzJ1x4ODhceGQzXHhmZlx4ZTRceDllIFx4Y2VRXHg5MVx4YTRceDE0SVx4ZjZceGI5XHg5ZFZMOFx4MTUiCisgICAgYiJfXHgwZVx4MTJceGMzXHhlYlx4YmNceGE1XHhjZFxuV1x4MWQkPVI7XHgxZFx4ZjhrOFx0XHhiMXtceGQ0XHhjNStceDlkIgorICAgIGIiXHg4N2NceGU1XHhlZlx4OThceGI0XHhkN1MzXHhjZFx4Y2NceGQyXHhlZFx4YTRceDBlbVx4ZTVceGY0XHhkZFx4ZDBiIgorICAgIGIiXHhiZTQqXHhhYVx4MGJceGM1XHgwOFx4MTBceDg1K1x4ODEuXHgxN1x4YWY5XHhjOWJceGVhWnJBXHhlMjBceDdmc1wiciIKKyAgICBiIlx4ZGFHXHg4MVx4ZGVceDkwY3VceGE1XHhkYlx4YTkuQVx4MDhsXHhiMDxceGY2XHgwM1x4ZGRPaVx4ZDBceGM1XHhiNCIKKyAgICBiIlx4ZWNceGVjZzR0NlwiXHhhNlx4YjhvXHhiNT9ceDE4Xn1ceGI2fVx4MDNbOlx4ZWJceDAzXHhhOVxuW1x4ODlsXHgxOWciCisgICAgYiJceDE2XHhjODJceGVkXHgwYlx4ZmJceDg2blx4YTJceDg1N0BceDkzXHhjZDZUXHhjM3VceGIwXHRceGY5XHgxYlx4OTE4IgorICAgIGIiXHhmY1tceDFiXHgxZTRceGIzXHgxNFx4MDZQQ1ZceGE4XCJceGY1XHg4MXh+XHhlOVx4YjVOXHg5Y0tceDlmXHhjNlx4YzMlIgorICAgIGIiXHhjOGs6ezZceGU3XHhmN1x4YmRceDA1XHgwMlx4YjRceGM0XHhjM1x4ZDNceGZkXHhjM1x4YThcXFx4ZmNAXHhiMUZfIgorICAgIGIiXHhjOFx4OTBceGQ5c1VceDk4XHhhZDhceDA1XHgwN1x4ZGU3Slx4OGJNXHhkMFx4YjM7WFx4ZWNceDg3XHhlZlx4YWVceGIzIgorICAgIGIiZU8sXHhiMXosZFx4MTF5XHhlZWpsQlx4MDJceDFkXHhmMjhceDFmI1x4ODk2XHhjZVx4MGJceGYwXHhmNVx4YTlQS1x4MGYiCisgICAgYiJceGIzXHgxM1BceGQ4XHg4OFx4ZDJceGExXHgwOFx4MDRDP1x4ZGJceDk0X1x4OWFcIlx4ZTlceGUzZVx4MWRceGRlXHg5YiIKKyAgICBiIlx4YTFceGU4PkhceDk4XHgxMDtceGM1XHgwMyNceGI1XHg5ZDRceDAxXHhlN1x4YzVceGJhJXZceGE0OVx4OTdBXHhlMFwiIgorICAgIGIiXHg4Y1x4YzIyXHhlM2lceGMxXHg5ZFx4YWIzXHhkZlx4YmVceGZkRG03XHgxYlx4OWRceGFiXHhiNVx4MTVvOkpceDkyIgorICAgIGIiXHhkYlx4ODE2XHgxN1x4YzJPXHg5OVx4MWJceDBlXHg4ZFx4ZjNcdFFceGVkXHg4ZVx4OTVTL1x4MTZNXHhiMlNceDA0IgorICAgIGIiXHgwZlx4YzNKXHhjNlx4YzdceGU0XHhjYlx4YzVceGY0XHhlN2RceDE0XHhlND1eQlx4ZmJceGQzRVx4ZDNceDFlXHhjZCIKKyAgICBiIlx4OTFceGE1XHhkMEdceDhmLlx4ZjZceGY5XHgwYmImXHhkOVx4OWZceGMyXHhmZGpceGEyXHg5ZVx4YzRcXFx4MGVceDFkQyIKKyAgICBiInZceGU4XHhkMlx4OGE/XkhceGVjXHhhZVx4ZWI+XHhmZVx4YjhceGFiXHhkNElxWVx4OGNceGQ0SzdceDExXHhmNERceGQwVyIKKyAgICBiIlx4YTVceGJlXHhlYU9ceGJmXHhkMFx4MDRceGZkbFx4MTBceGFlNVx4ZDRVXHgxOVx4MDZceGY5e1x4YWFceGUwXHg4MSIKKyAgICBiIlx4MGZceGNmXHhhM2t7XHg5NVx4YmRceDE5XHhhMlx4ZjhceGU0XHhhM1x4MDhPKlx4ZjFceGYxQi1ceGM3KFx4MGVSXHhmZCIKKyAgICBiIkBFXHg5Zlx4ZDNceDFlOlx4ZmRWXHhiN1x4MDRZXHg5NFx4ZWJdXHg4M1x4YzRceGE1XHhkN1x4YzBnWFx4OThceGNmXHgwZiIKKyAgICBiIlx4Y2QzXHgwMF1uXHgxN1x4ZWNceGJkXHhhM1lceDg2XHhjNVx4ZjN1XHhmNipceGJkVFx4ZWRBJEFceGQ5QVx4ZTdceDk4IgorICAgIGIiXHhlZlx4MTRceDAyXHg5YVx4ZmRpd1x4ZWNceGEwXHg4N1x4MTFceGQ5JVx4YzVceGViXHg4YT1ceGFlXHhjMFx4YzRceGM2IgorICAgIGIiRFx4ODBceDhmXHhhOFx4ZDFceGJicVx4YjJceGMwXHhhMFx4ZjVDcXBceGVlTFx4ZTNceGU1XHhkYyBceDg0XCJceGU5IgorICAgIGIiXHg4MHRceDgzXHgwNVx4YmFceGYxXHhjNX5ceDkzXHhjOVx4ZjBceDAxY1x4Y2VpeFx4OWRceGVkXHhjNSlsXHgxNilceGQxIgorICAgIGIiXHgwM0BsXHgwNFx4N2ZceDg3XHhhNXluXHgxYlx4MDFEXHhhYTpceGQyXHg5Nlx4YjRceGIzP1x4YjBceGY5XHhjZVx4MDciCisgICAgYiJceGViXHg4MVx4MDBceGU0XHhjM1x4ZjUlX1x4YWVceGQ0XHhmOVx4ZWJceGUyXHJoXHhiMiNceGQ2N1FceDE2RFx4ODJobiIKKyAgICBiIlx4ZDFceGEzXz9xXHhmMFx4ZTJceGFjXHhmMzE3XHg5ZVx4ZDBfXHg4M3xceGYxXHhjYVx4YjdceDk1U1x4YWJXXHgxMiIKKyAgICBiIlx4ZmZceGRkdFx4ZjY5TFx4MDFceGYyfFx4ZGFXXHhkYVx4ZWVzXHg5OExceDE4XHhiOF9ceGU4JFx4ODJceGVhXHhkNiIKKyAgICBiIlx4ZDFGXHhkNFx4MGJceGNka1x4MDF2Zlx4ODhoXHhjM1x4YWVceGI5MVx4YzdRXHg5Zlx4YTVHXHhkOVx4Y2NceDFmXHhlMyIKKyAgICBiIjVceGIxXHhkY3lceDdmSVx4OGJjd1x4OGVceDEwcklwXHgwMjpceDE5cF9ceGM4dlx4Y2VhXCJceGMxXHhkOVx4OTFceDAzIgorICAgIGIiXHhiZmVceGJlXHhhNlx4YjNceGE4XHgxNFx4MThceGMzXHhhYkgqbX1ceGMyXHhjMVx4OWF9PmwlXHhjZVx4ODRceDk5IgorICAgIGIiXHhiM2RceGFmXHhkM1x4ODJceDE1XHhkZlx4YzFceGZjNWZPZ1x4OWJceGZjXHg4ZV4mXHRAXHhjZVx4OWZceDA2Slx4YjgiCisgICAgYiJceGI1XHg4Nlx4MWRceGRhe1x4OWZceGFlXHhiMFx4ZmZceDAyXHg4MXJceDkyelx4OGNNXHhiN2hvXHhjOV5ceDljXHhiNiIKKyAgICBiIlx4OWNceGFlXHhkMVx4YzlceGY0XHhkZlU3XHhkNlxcIVx4ZWFceDBiXHg5NGtceGI5VWR+XHg5OFx4ZTdceDg2XHg4YXoiCisgICAgYiJceDEwO1x4ZTNceDFkXHhlNVBHXHhmOFx4YTRceDEyXHgwNXdceDk4Xlx4YzRceGIxXHhiYlx4ZmJceGNmXHhlMFx4N2YiCisgICAgYiJceDAzM1NmXHgwYyBceGIxXHhmNkBceDk0XHhlNVx4YTNceGIyXHhhN1x4MTBceDlhXHhjMFx4MTRceGMzc1x4YjV4UkQiCisgICAgYiJceGY0YFdceGQ5XHhlNVx4ZDNceGNmXHg5MVxyVFotWFx4YmVceGJmXHhiNVx4ZTJceGVlfFx4MWFceGJmXHhmYlx4MDgiCisgICAgYiJceDkxXHhlMVx4ZmNceDlhXHgxOFx4YTNceDhiXHhkNl5ceDg5XHhmNVtceGVmXHg4N1x4ZDFceDA2XHgxYzdceGQ2XHhhMiIKKyAgICBiIlx0XHRRNS9AU1x4YzA1XHhkMlZoQUtceDAzVkNcclx4OWJceDkzXHhkNk1ceGYxeE9ceGFhT1x4ZWRceGI5PFx4MGNceGRhZSIKKyAgICBiIipceGQwXHgwN0hrNlx4OWZHK1x4YTEpXHhjZFx4OWNsXHg4N1x4ZGJceGUxXHhlN1x4ZWZLfVx4ODc1XHhhYlx4YTBceDE5dSIKKyAgICBiIlx4ZjYqRlx4YjMyXHgwMFx4MDBceDAwIgorKQorCitGSUxURVJTX1JBV18yID0gW3siaWQiOiBsem1hLkZJTFRFUl9ERUxUQSwgImRpc3QiOiAyfSwKKyAgICAgICAgICAgICAgICAgeyJpZCI6IGx6bWEuRklMVEVSX0xaTUEyLAorICAgICAgICAgICAgICAgICAgInByZXNldCI6IGx6bWEuUFJFU0VUX0RFRkFVTFQgfCBsem1hLlBSRVNFVF9FWFRSRU1FfV0KK0NPTVBSRVNTRURfUkFXXzIgPSAoCisgICAgYiJceGUwXHgwN1x4ODBceDA1XHg5MV1ceDAwXHgwNVx4MTRceDA2LVx4ZDRceGE4ZD9ceGVmXHhiZVx4YWZIXHhlZVx4MDQyIgorICAgIGIiXHhjYi5ceGI1Z1x4OGZceGZiXHgxNFx4YWJceGE1XHg5Zlx4MDI1elx4YTRceGRkXHhkOFx0W31XXHhmOFx4MGNceDFkbUgiCisgICAgYiJceGZhXHgwNVx4ZmNnXHhiYVx4ZTVceDAxUVx4MGJceDgzUlx4YjZBXHg4ODVceGMwXHhiYVx4ZWVcblx4MWN2flx4ZGU6byIKKyAgICBiIlx4MDY6Slx4YTdceDExQ2NceGVhXHhmN1x4ZTUqb1x4ZjdceDgzXFxsXHhiZEVceDE5XHgxZlxyXHhhOFx4MTBceGI0MiIKKyAgICBiIlx4MGNhVXtceGQ3XHhiOHdceGRjXHhiZVx4MWJceGZjOFx4YjRceGNjXHhkMzhcXFx4ZjZceDEzXHhmNlx4ZTdceDk4XHhmYSIKKyAgICBiIlx4YzdbXHgxN185XHg4NiVceGE4XHhmOFx4YWFceGI4XHg4ZGZzI1x4MWU9XHhlZDxceDkyXHgxMFxcdFx4ZmZceDg2XHhmYiIKKyAgICBiIj1ceDllN1x4MThceDFkZnRcXFx4YjVceDAxXHg5NVFceGM1XHgxOVx4YjM4XHhlMFx4ZDRceGFhXHgwN1x4YzNceDdmXHhkOCIKKyAgICBiIlx4YTJceDAwPi1ceGQzXHg4ZVx4YTEjXHhmYVx4ODNBckFtXHhkYkp+XHg5M1x4YTNCXHg4Mlx4ZTBceGM3XHhjYyhceDA4YCIKKyAgICBiIldLXHhhZFx4MWJceDk0a2FqXHgwNCBceGRlXHhmY1x4ZTFceGVkXHhiMFx4ODJceDkxXHhlZlNceDg0JVx4ODZceGZiaSIKKyAgICBiIlx4OTlYXHhmMUJceGU3XHg5MDtFXHhmZGVceDk4XHhkYVx4Y2FceGQ2VFx4YjRiZ1x4YTRcblx4OWFqXHhkMVx4ODNceDllXSIKKyAgICBiIlwiXHg3Zk1ceGI1XHgwZnJceGQyXFxceGE1an5QXHgxMEdIXHhiZk4qWlx4MTAuXHg4MVx0cEVceDhhXHgwOFx4YmUxXHhiZCIKKyAgICBiIlx4Y2RceGE5XHhlMVx4OGRceDFmXHgwNFx4ZjlceDBlSFx4YjlceGFlXHhkNlx4YzNceGMxXHhhNVx4YTlceDk1UFx4ZGN+IgorICAgIGIiXHhmZlx4MDFceDkzMFx4YTlceDA0XHhmNlx4MDNceGZlXHhiNUpLXHhjM11ceGRkOVx4YjFceGQzXHhkN0ZceGY1XHhkMSIKKyAgICBiIlx4MWVceGEwXHgxY19ceGVkW1x4MGNceGFlXHhkNFx4OGJceDk0Nlx4ZWJceGJmXHhiYlx4ZTMka1N7XHhiNVx4ODAsZjpTaiIKKyAgICBiIlx4MGZceDA4elx4MWNceGY1XHhlOFx4ZTZceGFlXHg5OFx4YjBRfnJceDBmXHhiMFx4MDU/XHhiNlx4OTBceDE5XHgwMiYiCisgICAgYiJceGNiXHg4MFx0XHhjNFx4ZWFceDljfHhceGNlXHgxMFx4OWNceGM1fFx4Y2JkaGgrXHgwYydceGM1XHg4MVx4YzMzXHhiNSIKKyAgICBiIlx4MTRxXHhkNlx4YzVceGUzYFojXHhkY1x4OGFceGFiXHhkZFx4ZWFceDA4XHhjMklceGU3XHgwMmx7XHhlY1x4MTk2XHgwNiIKKyAgICBiIlx4OTFceDhkXHhkY1x4ZDVceGIzeFx4ZTFoeiVceGQxXHhmOFx4YTVceGRkXHg5OCFceDhjXHgxY1x4YzFceDE3UlVhXHhiYiIKKyAgICBiIlx4OTVceDBmXHhlNFhceGVhMVx4MGNceGYxPVJceGJlXHhjNjBceGUzXHhhNFx4OWFceDkwYmRceDk3JF1CXHgwMVx4ZGQiCisgICAgYiJceDFmXHhlM2gyY1x4MWVceGEwTGA0XHhjNnhceGEzWlx4OGFcclx4MTRdVF5ceGQ4XHg4OVx4MWJceDkyXHI7XHhlZFkiCisgICAgYiJceDBjXHhlZlx4OGQ5elx4ZjNvXHhiNilmXHhhOV0kblxycFx4OTNceGQwXHgxMFx4YTRceDA4XHhiOFx4YjJceDhiXHhiNiIKKyAgICBiIlx4OGZceDgwXHhhZTtceGRjUVx4ZjFceGZhXHg5YVx4MDZceDhlXHhhNVx4MGVceDhjS1x4OWMgQFx4YWE6VWNYXG4hXHhjNiIKKyAgICBiIlx4MDJceDEyXHhjYlx4MWJcIj1ceDE2Llx4MWZceDE3Nlx4ZjJnPVx4ZTFXblx4ZTlceGUxXHhkNFx4ZjFPXHhhZFx4MTUiCisgICAgYiJceDg2XHhlOVx4YTNUXHhhZlx4YTlceGQ3RFx4YjVceGQxVzNwbnRceDExXHhjN1ZPalx4YjdNXHhjNGlceGExXHhmMSQzIgorICAgIGIiXHhiYlx4ZGNceDhhZlx4YjBceGM1WVxyXHhkMVx4ZmJceGYyXHhlN0tceGU2XHhjNWh3T1x4ZmVceDhjMl4mXHgwN1x4ZDUiCisgICAgYiJceDFmVlx4MTlceGZkXHJceDE0XHhkMmk9eVpceGU2b1x4YWZceGM2XHhiNlx4OTJceDlkXHhjNFxyXHhiM1x4YWZ3XHhhYyUiCisgICAgYiJceGNmY1x4MWFceGYxYF1ceGYyXHgxYVx4OWVceDgwOFx4ZWRtXHhlZFFceGIyXHhmZVx4ZTRoYFtxXHhhZVx4ZTBceDBmIgorICAgIGIiXHhiYTBnXHhiNlwiTlx4YzNceGZiXHhjZlJceDExXHhjNVx4MTgpKFx4YzQwXFxceGEzXHgwMlx4ZDlHIVx4Y2VceDFiIgorICAgIGIiXHhjMVx4OTZ4XHhiNVx4Yzh6XHgxZlx4MDFceGI0XHhhZlx4ZGVceGMyXHhjZFx4MDdceGU3SFx4YjN5XHhhOE1cblxcQVx0IgorICAgIGIiYXJceGRkTVx4OGJceDlhXHhlYVx4ODRceDliIVx4ZjFceDhkXHhiMVx4ZjF+XHgxZVxyXHhhNUhceGJhXHhmMVx4ODRvIgorICAgIGIiXHhkYVx4ODdceDAxaFx4ZTlceGEyXHhiZVx4YmVxTlx4OWRceDg0XHgwYiFXR1x4ZGFceGExXHhhNUFceGI3XHhjN2BqIgorICAgIGIiXHgxNVx4ZjJceGU5XHhkZD9ceDAxNUJceGQyfkVceDA2XHgxMVx4ZTBceDkxIVx4MDVeXHg4MFx4ZGRceGE4eVx4MTV9IgorICAgIGIiXHhhMSlceGIxKVx4ODFceDE4XHhmNFx4ZjRceGY4XHhjMFx4ZWZEXHhlM1x4ZGIyZlx4MWVceDEyXHhhYnVceGM5XHg5NyIKKyAgICBiIlx4Y2RceDFlXHhhN1x4MGNceDAyeDRfNlx4MDNceGM0JHRceGYzOVx4OTRceDFkPVx4Y2JceGJmdlxcXHhmNVx4YTNceDFkIgorICAgIGIiXHg5ZDhqa1x4OTVceDEzKWZmXHhmOW5ceGM0XHhhOVx4ZTNceDAxXHhiOFx4ZGFceGZiXHhhYlx4ZGZNXHg5OVx4ZmJceDA1IgorICAgIGIiXHhlMFx4ZTlceGIwSVx4ZjRFXHhhYlx4ZTJceDE1XHhhM1x4MDM1XHhlN1x4ZGVUXHhlZVx4ODJwXHhiNFx4ODhceGQzIgorICAgIGIiXHg4OTNceDljL1x4YzBceGQ2XHg4Zm91O1x4ZjZceDk1UFJceGE5XHhiMlx4YzFceGVmRmpceGUyXHhhNyRceGY3aFx4ZjEiCisgICAgYiJceGRmSyhceGM5Y1x4YmE3XHhlOFx4ZTMpXHhkZFx4YjIsXHg4M1x4ZmJceDg0XHgxOC55XHgxOFFpXHg4OFx4ZjhgaC0iCisgICAgYiJceGVmXHhkNVx4ZWRceDhjXHRceGQ4XHhjM15ceDBmXHgwMFx4YjdceGQwWyFceGFmTVx4OWJceGQ3Llx4MDdceGQ4XHhmYiIKKyAgICBiIlx4ZDlceGUyLVMrXHhhYTgsXHhhMFx4MDNceDFiIFx4ZWFceGE4XHgwMFx4YzNceGFiflx4ZDAkZVx4YTVceDdmXHhmNyIKKyAgICBiIlx4OTVQXVx4MTJceDE5aVx4ZDlceDdmb1x4MGNceGQ4Z15cckVceGE1XHg4MFx4MThceGM1XHgwMVx4ODBceGFla2BceGZmfiIKKyAgICBiIlx4YjZ5XHhlNytceGU1XHgxMV5EXHhhN1x4ODVceDE4XCIhXHhkNlx4ZDJceGE3XHhmNFx4MWVUXHhkYlx4MDJceGUxNSIKKyAgICBiIlx4MDJZXHhiY1x4MTc0Wlx4ZTdceDljSFx4MWNceGJmXHgwZlx4YzZceGU5Zl1ceGNmXHg4Y3hceGJjXHhlNVx4MTVceDk0IgorICAgIGIiXHhmYzNceGJjXHhhN1RVSFx4ZjFceDg0XHgxYlx4ZjdceGE5eVx4YzA3XHg4NFx4ZjhYXHhkOFx4ZWZceGZjIFx4MWNceGQ4IgorICAgIGIiKCAvXHhmMlx4YjdceGVjXHhjMVxcXHg4Y1x4ZjZceDk1XHhhMVx4MDNKXHg4M3ZQOFx4ZTFceGUzXHhiYn5ceGMyNGtBIgorICAgIGIiXHg5OHlceGExXHhmMlBceGU5XHg5ZFx4YzlKXHhmOE5ceDk5XHhiNFx4Y2VhT1x4ZGVceDE2XHgxZVx4YzJceDE5XHhhNyIKKyAgICBiIlx4MDNceGQyXHhlMFx4OGY6XHgxNVx4ZjNceDg0XHg5ZVx4ZWVceGU2ZVx4YjhceDAycVx4YzdBQ1x4MWVtd1x4ZmRcdCIKKyAgICBiIlx4OWFceDFldVx4YzFceGE5XHhjYUN3VVBceDAwXHhhNVx4Zjc4TDR3IVx4OTFMMiBceDg3XHhkMFx4ZjJceDA2XHg4MWoiCisgICAgYiJceDgwO1x4MDNWXHgwNlx4ODdceDkyXHhjYlx4OTBsdkBFXHg4ZFx4OGRceGE1XHhhNlx4ZTdaW1x4ZGZceGQ2RVx4MDNgPiIKKyAgICBiIlx4OGZceGRlXHhhMWJaXHg4NFx4ZDBceGE5YFx4MDVceDBle1x4ODA7XHhlM1x4YmVmXHg4ZFx4MWRceGViazEuXHhlMyIKKyAgICBiIlx4ZTlOXHgxNVx4ZjdceGQ0KFx4ZmFceGJiXHgxNVx4YmR1XHhmN1x4N2ZceDg2XHhhZSFceDAzTFx4MWRceGI1XHhjMSIKKyAgICBiIlx4YjlceDExXHhkYlx4ZDBceDkzXHhlNFx4MDJceGUxXHhkMlx4Y2JCamNfXHhlOH1kXHhkYlx4YzNceGEwWVx4YmVceGM5LyIKKyAgICBiIlx4OTVceDAxXHhhMyxceGU2YmxAXHgwMVx4ZGJwXHhjMlx4Y2VceDE0XHgxNjhceGMycVx4ZTN1SFx4ODlYXHhhNFx4YTkiCisgICAgYiJceDE5XHgxZFx4YzF9XHg3Zk9YXHgxOVx4OWZceGRkXHhiZVx4ODVceDgzXHhmZlx4OTZceDFlZVx4ODJPYENGPUtceGViJEkiCisgICAgYiJceDE3X1x4ZWZYXHg4Ykondlx4ZGVceDFmK1x4ZDkudlx4ZjhUdlx4MTdceGYyXHg5ZjVceDE5XHhlMVx4YjlceDkxXHhhOFMiCisgICAgYiJceDg2XHhiZFx4MWFcIihceGE1eFx4OGRDXHgwM1hceDgxXHg5MVx4YThceDExXHhjNHBTXHgxM1x4YmNceGYyJ0pceGFlISIKKyAgICBiIlx4ZWZceGVmXHg4NEdcdFx4OGRceGM0XHgxMFx4MTMyXHgwMG9TXHg5ZVx4ZTBceGU0ZFx4OGZceGI4eVx4YWNceGE2XHg5ZiIKKyAgICBiIixceGI4Zlx4ODdcclx4ZGZceDllRVx4MGZceGUxXHhkMFxcTFx4MDBceGIyXHhlMWhceDg0XHhlZn1ceDk4XHhhOFx4MTEiCisgICAgYiJceGNjVyNcXFx4ODNceDdmb1x4YmJ6XHg4Zlx4MDAiCispCisKK0ZJTFRFUlNfUkFXXzMgPSBbeyJpZCI6IGx6bWEuRklMVEVSX0lBNjQsICJzdGFydF9vZmZzZXQiOiAweDEwMH0sCisgICAgICAgICAgICAgICAgIHsiaWQiOiBsem1hLkZJTFRFUl9MWk1BMn1dCitDT01QUkVTU0VEX1JBV18zID0gKAorICAgIGIiXHhlMFx4MDdceDgwXHgwM1x4ZGZdXHgwMFx4MDVceDE0XHgwN2JYXHgxOVx4Y2RceGRkblx4OThceDE1XHhlNFx4YjRceDlkIgorICAgIGIib1x4MWRceGM0XHhlNVxuXHgwM1x4Y2MyaFx4YzdcXFx4ODZceGZmXHhmOFx4ZTJceGZjXHhlN1x4ZDlceGZlNlx4YjgoIgorICAgIGIiXHhhOHdkXHhjMlwidS5uXHgxZVx4YzNceGYyXHg4ZVx4OGRceDhmXHgwMlx4MTcvXHhhNj1ceGYwXHhhMlx4ZGYvTVx4ODkiCisgICAgYiJceGJlXHhkZVx4YTdceDFjelx4MTgtXVx4ZDVceGVmXHgxM1x4OGZyWlx4MTVceDgwXHg4Y1x4ZjhceDhkb1x4ZmFceDEyIgorICAgIGIiXHg5YiN6L1x4ZWZceGYwXHhmYUZceDAxXHg4Mlx4YTNNXHg4ZVx4YTF0XHhjYTYgQkYkXHhlNVFceGE0XHg5OFx4ZWVceGRlIgorICAgIGIibFx4ZThceDdmXHhmMFx4OWQsYm5ceDBiXHgxM1x4ZDRceGE4XHg4MVx4ZTROXHhjOFx4ODZceDE1M1x4ZjV4Mlx4YTJPIgorICAgIGIiXHgxM0BRXHhhMVx4MDAvXHhhNVx4ZDBPXHg5N1x4ZGNvXHhhZVx4Zjd6XHhjNFx4Y2RTXHhiNnQ8XHgxNlx4ZjJceDljSSMiCisgICAgYiJceDg5dWRceGM2NllceGQ5XHhlZVx4ZTZceGNlXHgxMl1ceGU1XHhmMFx4YWFceDk2LVBlXHhhZGU6XHgwNFx0XHgxYlx4ZjciCisgICAgYiJceGRiN1xuXHg4Nlx4MWZwXHhjOEpceGJhXHhmNFx4ZjBWXHhhOVx4ZGNceGYwXHgwMiVHXHhmOVx4ZGY9P1x4MTVceDFiIgorICAgIGIiXHhlMShceGNlXHg4Mj1ceGQ2SVx4YWMzXHgxMlx4MGNSXHhiN1x4YWVcclx4YjFpXHgwM1x4OTVceDAxXHhiZFx4YmVceGZhIgorICAgIGIiXHgwMnNceDAxUFx4OWRceDk2WFx4YjEyalx4YzhMXHhhOFx4ODRiXHhmNlx4YzNceGQ0Yy1IXHg5M29KbFx4ZDBpUVx4ZTRrIgorICAgIGIiXHg4NFx4MGJceGMxXHhiN1x4YmNceGIxXHgxN1x4ODhceGIxXHhjYT9AXHhmNlx4MDdceGVhXHhlNnhceGYxSDEyUFx4MGYiCisgICAgYiJceDhhXHhjOVx4ZWF1d1x4ZTNceGJlXHhhYWlceGE5V1x4ZDBceDgwXHhjZCNjYjVceDk5XHhkOF1ceGE5ZFx4MGNceGJkIgorICAgIGIiXHhhMlx4ZGNXbFx4ZWRVR1x4YmZceDg5eUZceGY3N1x4ODF2XHhiZDVceDk4XHhiZWg4XHgxOFdceDA4XHhmMFx4MWJceDk5IgorICAgIGIiNTpceDFhP3JEXHg5Nlx4YTFceDA0XHgwZlx4YWVceGJhXHg4NVx4ZWJceDlkNUBceGY1XHg4M1x4ZDM3XHg4M1x4OGFjIgorICAgIGIiXHgwNlx4ZDRceDk3aVx4Y2R0XHgxNlNceDgya1x4ZjZLXHgwMXZ5XHg4OFx4OTFceDliNlRceGRhZVxyXHhmZF06a1x4YmFsIgorICAgIGIiXHhhOVx4YmJhXHhjMzRceGY5clx4ZWJ9clx4ZGJceGM3XHhkYipceDhmXHgwM3pceGRjOGhceGNjXHhjOVx4ZDNceGJjbCIKKyAgICBiIlx4YTUtXHhjYlx4ZWFLXHhhMlx4YzVceDE1XHhjMFx4ZTNceGMxXHg4NlpceGZiXHhlYkxceGUxM1x4Y2ZceDljXHhlMyIKKyAgICBiIlx4MWRceGM5XHhlZFx4YzJceDA2XHhjY1x4Y2UhXHg5Mlx4ZTVceGZlXHg5Y15ceGE1OXcgXHg5YlBceGEzUEtceDA4ZCIKKyAgICBiIlx4ZjlceGUyWn1ceGE3XHhiZlx4ZWRceGViJSRceDBjXHg4Mlx4YjgvXHhiMFx4MDFceGE5JixceGY3cWh7UVx4OTYpXHhmMiIKKyAgICBiInFceDk2XHhjM1x4ODBceGI0XHgxMlx4YjBceGJhXHhlNm9ceGY0IVx4YjRbXHhkNFx4OGF3XHgxMFx4Zjd0XHgwY1x4YjMiCisgICAgYiJceGQ5XHhkNVx4YzNgXlx4ODFceDExPz9cXFx4YTRceDk5XHg4NVJceGQ0XHg4ZVx4ODNceGM5XHgxZVhceGJmYVx4ZjEiCisgICAgYiJceGFjXHhiMFx4ZWFceGVhXHhkN1x4ZDBceGFiXHgxOFx4ZTJceGYyXHhlZFx4ZTFceGI3XHhjOVx4MThceGNiU1x4ZTQ+IgorICAgIGIiXHhjOVx4OTVIXHhlOFx4Y2JcdFxyJVx4ZWJceGM3JC5vXHhmMVx4ZjNSXHgxN1x4MWRiXHhiYlx4ZDhVXHhhNV5ceGNjUyIKKyAgICBiIlx4MTZceDAxXHg4N1x4ZjMvXHg5M1x4ZDFceGYwdlx4YzByXHhkN1x4Y2NceGEyR2t6XHhjYVx4ODBceDBlXHhmZFx4ZDAiCisgICAgYiJceDhiXHhiYlx4ZDJJeFx4YjNceDFleVx4Y2EtMFx4ZTN6Xlx4ZDZceGQ2XHg4Zl9ceGYxXHg5ZFBceDlmaVx4YTdceGQxIgorICAgIGIiXHhlOFx4OTBceDg0XHhkY1x4YmZceGNka3lceDhlXHhkY1x4ODFceDdmXHhhM1x4YjIrXHhiZlx4MDRceGVmXHhkOFxcIgorICAgIGIiXHhjNFx4ZGZceGUxXHhiMFx4MDFceGU5XHg5M1x4ZTNZXHhmMVx4MWRZXHhlOGhceDgxXHhjZlx4ZjF3XHhjY1x4YjRceGVmIgorICAgIGIiIFx4OGJ8XHgwNFx4ZWFceDgzZWpceGJlXHgxZlx4ZDR6XHg5Y2BceGQzXHgxYVx4OTJBXHgwNlx4ZTVceDhmXHhhOVx4MTMiCisgICAgYiJcdFx4OWU9XHhmYVx4MWNceGU1X1x4OWYldlx4MWJvXHgxMVpPXHhkOFx4ZjRcdFx4ZGRNXHgxNi1ceDA0XHhmY1x4MTg8XCIiCisgICAgYiJDTVx4ZGRnfmJceGY2XHhlZlx4OGVceDBjXHhkMFx4ZGV8XHhhMCdceDhhXHgwY1x4ZDZ4XHhhZSFKXHhhNkZceDg4XHgxNXUiCisgICAgYiJceDAwOFx4MTdceGJjN3lceGIzXHhkOHVceGFjX1x4ODVceDhkXHhlN1x4YzFAXHg5Y1x4ZWNxY1x4YTMjXHhhZFx4ZjEiCisgICAgYiJceDkzNVx4YjUpX1xyXHhlYzNdXHgwZm9dNVx4ZDBteVx4MDdceDliXHhlZVx4ODFceGI1XHgwZlx4Y2ZLK1x4MDBceGMwIgorICAgIGIiXHhlNGJceDEwXHhlNFx4MGNceDFhIFx4OWJceGUwXHg5N3RceGY2XHhhMVx4OWVceDg1MFx4YmFceDBjXHg5YVx4OGRceGM4IgorICAgIGIiXHg4Zlx4MDdceGQ3XHhhZVx4YzhceGY5K2lceGRjXHhiOWtceGIwPmZceDE5XHhiOFxyXHhhOFx4ZjhceDFmJFx4YTV7cCIKKyAgICBiIlx4YzZceDg4MFx4Y2VceGRiXHhjZlx4Y2FfXHg4Nlx4YWNceDg4aDZceDhiWiUnXHhkMFxuXHhiZlx4MGZceDljXCJceGJhIgorICAgIGIiXHhlNVx4ODZceDlmXHgwZjdYPW1OWFtceGNjXHgxOUZVXHhjOVx4ODYwXHhiY1x4OTBhKyogXHhhZV8kXHgwM1x4MWVceGQzIgorICAgIGIiXHhjZF9ceGEwXHg5Y1x4ZGVceGFmNDZxXHhhNVx4YzlceDkyXHhkN1x4Y2FceGUzYFx4OWRceDg1fVx4YjRceGZmXHhiMyIKKyAgICBiIlx4ODNceGZiXHhiNlx4Y2FceGFlYFx4MGJ3XHg3Zlx4ZmNceGQ4XHhhY1ZlXHgxOVx4YzhceDE3XHgwYlpceGFkXHg4OCIKKyAgICBiIlx4ZWIjXHg5N1x4MDNceDEzXHhiMWRceDBme1x4MGNceDA0d1x4MDdcclx4OTdceGJkXHhkNlx4YzFceGMzQjpceDk1XHgwOCIKKyAgICBiIl5ceDEwVlx4YWVhSFx4MDJceGQ5XHhlM1xuXFxceDAxWFx4ZjZceDljXHg4YVx4MDZ1IyVceGJlKlx4YTFceDE4dlx4ODUiCisgICAgYiJceGVjIVx0NFx4MDBceDAwXHgwMCIKKykKKworRklMVEVSU19SQVdfNCA9IFt7ImlkIjogbHptYS5GSUxURVJfREVMVEEsICJkaXN0IjogNH0sCisgICAgICAgICAgICAgICAgIHsiaWQiOiBsem1hLkZJTFRFUl9YODYsICJzdGFydF9vZmZzZXQiOiAweDQwfSwKKyAgICAgICAgICAgICAgICAgeyJpZCI6IGx6bWEuRklMVEVSX0xaTUEyLCAicHJlc2V0IjogNCwgImxjIjogMn1dCitDT01QUkVTU0VEX1JBV180ID0gKAorICAgIGIiXHhlMFx4MDdceDgwXHgwNlx4MGVcXFx4MDBceDA1XHgxNFx4MDdiV1x4YWFoXHhkZFx4MTBceGRjJ1x4ZDZceDkwLFx4YzZ2IgorICAgIGIiSnEgXHgxNGxceGI3XHg4M3hCXHgwYlx4OTdmPSZmeFx4YmFcbj5Ublx4YmZceDhmXHhmYlx4MWRGXHhjYVx4YzN2X1x4Y2E/IgorICAgIGIiXHhmYlY8XHg5MiNceGQ0d1x4YTZceDhhXHhlYlx4ZjZceDAzXHhjMFx4MDFceDk0XHhkOFx4OWVceDEzXHgxMlx4OThceGQxIgorICAgIGIiKlx4ZmFdY1x4ZThceDFlflx4YWZceGI1XUVnXHhmYlx4OWVceDAxXCI4XHhiMlx4OTBceDA2PX5ceGU5XHg5MVdceGNkIgorICAgIGIiXHhlY0RceDEyXHhjN1x4ZmFceGUxXHg5MVx4MDZceGM3XHg5OVx4YjlceGUzXHg5MDFceDg3XHgxOXVceDBmXHg4NjlceGZmIgorICAgIGIiXHhjMVx4YjBod3xceGIwXHhkY2xceGNja1x4YjE2bzdceDg1XHhlZXtZX2JceGJmXHhiYyRceGYzPVx4OGRceDhid1x4ZTVaIgorICAgIGIiXHgwOEBceGM0a21FXHhhZFx4ZmJceGY2Klx4ZDhceGFkXHhhMVx4ZmJceGM1e1x4ZGVqLClceDFlbUJceDFmPFx4YWVjYSIKKyAgICBiIlx4ODAoXHhlZVx4MDcgXHhkZlx4ZTlceGY4XHhlYlx4MGUtXHg5N1x4ODZceDkwY1x4ZjlceGVhJ0JceGY3YFx4ZDdceGIwIgorICAgIGIiXHg5Mlx4YmRceGEwXHg4Ml1ceGJkXHgwZVx4MGVCXHgxOVx4ZGNceDk2XHhjNlx4MTlceGQ4NkRceGYwXHhkNVx4ODMxIgorICAgIGIiXHgwM1x4YjdceDFjXHhmNyY1XHgxYVx4OGYgUFomalx4ZjhceDk4XHgxYm9ceGNjXHg4Nlx4OWJTXHhkM1x4YTVceGNkdSIKKyAgICBiIlx4ZjkkXHhjY1x4OTdvXHhlNVZ+XHhmYlx4OTdceGI1XHgwYlx4MTdceDljXHhmZHhXXHgxMFx4ZmVwNFx4ODBceGRhSERZIgorICAgIGIiXHhmYSlceGZldFx4YjVcIlx4ZDRceGQzRlx4ODFceGY0XHgxM1x4MWZceGVjXHhkZlx4YTVceDEzXHhmY1wiXHg5MXhceGI3IgorICAgIGIiXHg5OVx4Y2VceGM4XHg5MlxuXHhlYltceDEwbCpZXHhkOFx4YjFAXHgwNlx4YzhvXHg4ZDdyXHhlYnVceGZkNVx4MGVceDdmIgorICAgIGIiXHhmMSRVe1x0fVx4MWZRXHhjZnhOXHg5ZFx4OWZYWFx4ZTlgXHg4M1x4YzFceDA2XHhmNFx4ODd2LWZceDExXHhkYi9cXCIKKyAgICBiIlx4MDZceGZmXHhkNylCXHhmM2dceDA2XHg4OCMyXHgxZUIyNDRceDdmNHFcdFx4Yzg5Mz9tUFhceDk1XHhhNmFceGZiKWQiCisgICAgYiJceDliXHhmY1x4OThceDlhalx4MDRceGFlXHg5Ylx4OWRceDE5d1x4YmFceGY5Mlx4ZmFBXHgxMVxcXHgxN1x4OTdDM1x4YTQiCisgICAgYiJceGJjIVx4ODhceGNkb1tceGVjOlx4MDMwXHg5MS5ceDg1XHhlMEBcXDRceDE2XHgxMlx4OWRceGNhSnZceDk3XHhiMDQiCisgICAgYiJceGFja1x4Y2JrZlx4YTNzc1x4ZmNceDE2Xlx4OGNlXHg4NWFceGE1PSZceGVjclx4YjNwXHhkMUVceGQ1XHg4MHlceGM3IgorICAgIGIiXHhkYVx4ZjZceGZla1x4YmNUXHhiZkhceGVlXHgxNW9ceGM1XHg4Y1x4ODMwXHhlY1x4MWRceDAxXHhhZVx4MGMtZVxcIgorICAgIGIiXHg5MVx4OTBceDk0XHhiMlx4ZjhceDg4XHg5MVx4ZThceDBiXHhhZVx4YTc+XHg5OFx4ZjZceDlja1x4ZDJceGM2XHgwOCIKKyAgICBiIlx4ZTZceGFiXHRceDk4XHhmMiFceGEwXHg4Y15ceGFjcUFceDk5PFx4MWNFR1x4OTdceGM4XHhmMVx4YjZceGI5XHg4MiIKKyAgICBiIlx4OGRceGY3XHgwOHNceDk4YVx4ZmZceGUzXHhjY1x4OTJceDBlXHhkMlx4YjZVXHhkN1x4ZDlceDg2XHg3ZmFceGU1XHgxYyIKKyAgICBiIlx4OGRUR0BcdFx4MWVceDBlNypceGZjXHhkZVx4YmNdNk5ceGY3XHhmMVx4ODRceDllXHg5Zlx4Y2ZceGU5XHgxZVx4YjUnIgorICAgIGIiXHhmNDxceGRmXHg5OXNxXHhkMFx4OWRceGJkXHg5OVx4MGJceGI0JXA0XHhiZntceGJiXHg4YVx4ZDJceDBiXHhiYz1NIgorICAgIGIiXHg5NEg6XHhmNVx4YThceGQ2XHhhNFx4YzkwXHhjMkRceGI5XHhkM1x4YThceGIwU1x4ODcgYFx4YTJceGViXHhmM1dceGNlIgorICAgIGIiIDdceGY5TiNcclx4ZTZceGJlXHRceDlkXHhlN1x4ODExXHhmOVx4MTBceGMxXHhjMlx4MTRceGY2XHhmY1x4Y2JhXHhiNyIKKyAgICBiIlx4YjFceDdmXHg5NWxceGU0XHRqQVx4ZWM6XHgxMFx4ZTVceGZlXHhjMlxcPURceGUyXHgwY1x4MGIzXVx4ZjdceGMxXHhmNyIKKyAgICBiIlx4YmNlWlx4YjFBXHhlYVx4MTZceGU1XHhmZGRnRlFceGVkXHhhZlx4MDRceGEzXHhkM1x4ZjhceGEycVx4MTlCXHhkNHIiCisgICAgYiJceGM1XHgwY1x4OWFceDE0XHg5NFx4ZWFceDkxXHhjNG9ceGU0XHhiYlx4YjRceDk5XHhmNEBceGQxXHhlNlx4MGNceGUzIgorICAgIGIiXHhjNmRceGEwUVxuXHhmMi9ceGQ4XHhiOFM1XHg4YVx4MTg6XHhiNWdceGFjXHg5NURceGNlXHgxN1x4MDdceGQ0elx4ZGEiCisgICAgYiJceDkwXHhlNjVceDA3XHgxOUghXHRceGZkdVx4MTZceDhlXHgwZVJceDE5XHhmNFx4OGNsXHgwY1x4ZjlRXHhmMVx4ODAiCisgICAgYiJceGUzXHhiZlx4ZDdPXHhmOFx4OGNceDE4XHgwYlx4OWNceGYxXHgxZmJceGUxXHRSXHhiMlx4ZjFceGUxQVx4ZWEgXHhjZi0iCisgICAgYiJJR0VceGYxXHgxNFx4OTgkXHg4M1x4MTVceGM5XHhkOGpceGJmXHgxOVx4MGZceGQ1XHhkMVx4YWFceGIzXHhmM1x4YTVJMnMiCisgICAgYiJceDhkXHgxNDVceGNhXHhkNVx4ZDkzXHg5Y1x4YjhEMFx4ZTZceGFhJVx4ZDBceGMwUH1KT15oXHg4ZVx4MDhceGFkbFYuIgorICAgIGIiXHgxOFx4ODhceDEzXHgwNW9ceGIwXHgwN1x4ZWF3XHhlMFx4YjZceGE0XHhkNSpceGU0clx4ZWZceDA3RytceGMxXHhiZWlbIgorICAgIGIid1x4ZThceGFiQF9ceGVmXHgxNXlceGU1XHgxMlx4YzlXXHgxYi5ceGFkXHg4NS1ceGMyXHhmN1x4ZTNtVTZnXHg4ZVNBIgorICAgIGIiXHgwMShceGQzXHhkYlx4MTZceDEzPVx4ZGVceDkyXHhmOSxEXHhiOFx4OGFceGIyXHhiNFx4YzlceGMzXHhlZm5FXHhlOFxcIgorICAgIGIiXHhhNlx4ZTJZXHhkMlx4Y2ZceGNiXHg4Y1x4YjZceGQ1XHhlOVx4MWRceDFlXHg5YVx4OGJ+XHhlMlx4YTZcckVceDg0dVYiCisgICAgYiJceGVkXHhjNlx4OTlceGRkbTxceDEwW1x4MGZ1XHgxZlx4YzFceDFkMVxuXHhjZndceGIyJSFceGYwW1x4Y2VceDg3XHg4M0IiCisgICAgYiJceDA4XHhhYSxceDA4JWRceGNlZlx4OTRcIlx4ZDlnLlx4YzgzXHhjYlhZKzRceGVjXHg4NXFBXG5ceDFkPTlceGYwKlx4YjEiCisgICAgYiJceDFmL1x4ZjNzXHhkNjFiXHg3ZkBceGZiXHg5ZFx4ZTNGUVxcXHhiZFx4ODJceDFlXHgwMFx4ZjNceGNlXHhkM1x4ZTEiCisgICAgYiJceGNhLEVceGZkN1tceGFiXHhiNlx4YjdceGFjIW1BfVx4YmRceDlkM1I1XHg5Y0ZceGFiSFx4ZWJceDkyKWNjXHgxM1x4ZDAiCisgICAgYiJceGJkXHhlZVx4ZTlue1x4MWRJSkJceGE1XHhlYlx4MTFceGU4YHcmYFx4OGJ9QE94ZVx0XHg4YVx4MDdceDAyXHg5NVx4ZjIiCisgICAgYiJceGVkXHhkYXxceGIxZVx4YmVceGFhXHhiYmdceDE5QFx4ZTFZXHg4NzhceDg0XHgwZlx4OGNceGUzXHhjOThceGYyXHg5ZSIKKyAgICBiIlx4ZDVOXHhiNUpceGVmXHhhYiFceGUyXHg4ZHFceGUxXHhlNXFceGM1XHhlZVx4MTFXXHhiN1x4ZTRrKlx4MDI3XHhhMCIKKyAgICBiIlx4YTNKXHhmNFx4ZDhtXHhkMHFceDk0XHhjYlx4MDdcbjpceGI2YC5ceGU0XHg5Y1x4MTUrXHhjMClceGRlXHg4MFhceGQ0IgorICAgIGIiXHhjZlFtXHgwMVx4YzJjUFx4MWNBXHg4NSdceGM5XHhhY1x4OGJceGU2XHhiMilceGU2XHg4NHRceDFjXHg5Mlx4ZTRaIgorICAgIGIiXHgxY1JceGIwXHg5ZVx4OTZceGQxXHhmYlx4MWNceGE2XHg4Ylx4Y2JgXHgxMFx4MTJdXHhmMmdSXHg5YkZUXHhlMFx4YzhIIgorICAgIGIiU1x4ZmJceGFjPFx4MDRceGM3XHhjMVx4ZThceGVkUFx4ZjRceDE2XHhkYlx4YzBceGQ3ZVx4YzJceDE3Sl5ceDFmXHhhYiIKKyAgICBiIlx4ZmZbXHgwOFx4MTlceGI0XHhmNVx4ZmJceDE5XHhiNFx4MDRceGU1Y34nXVx4Y2JceGMyQVx4ZWNceDkwXHhkMFx4ZWQiCisgICAgYiJceDA2LFx4YzVLe1x4ODZceDAzXHhiMVx4Y2RNeFx4ZGVRXHg4YzNceGY5XHg4YVx4ZWE9XHg4OVx4YWJhXHhkMlx4Yzg5YSIKKyAgICBiIlx4ZDcyXHhmMFx4YzNceDE5XHg4YVx4ZGZzXHhkNFx4ZmRceGJiXHg4MWJceGVhRVwiXHhkOFx4ZjRkXHgwY0RceGY3SUohIgorICAgIGIiXHhlNWRceGJiR1x4ZTlceGNhbVx4YWFceDBmX3JceDk1XHg5MU5CcVx4Y2FQXHhjZVx4YTdceGE5XHhiNVx4MTBceDk0ZVAhIgorICAgIGIifFx4ODU2XHhjZFx4YmZJaXJceGI4ZVx4OWJqUFx4OTdxXHhhYndTN1x4MWFceDBlaE1ceGU3XHhjYVx4ODY/XHhkZVB9eX4iCisgICAgYiJceDBmXHg5NUlceGZjXHgxM1x4ZTE8UVx4MWJceDg2OFx4MWRceDExXHhkZlx4OTRceGY0XHg4Mj5yXHhhOWtceDg4XHhjYiIKKyAgICBiIlx4ZmRceGMzdlx4ZTJceGI5XHg4YVx4MDJceDhlcVx4OTJJXHhmOFx4ZjZceGYxXHgwM3NceDliXHhiOFx4ZTNcIlx4ZTMiCisgICAgYiJceGE5XHhhNT5EXHhiOFx4OTY7XHhlN1x4OTJceGQxMzNceGU4XHhkZCdlXHhjOS5ceGRjO1x4MTdceDFmXHhmNUhceDEzcSIKKyAgICBiIlx4YTRXXHgwY1x4ZGJ+XHg5OFx4MDFceGViXHhkZlx4ZTMyXHgxM1x4MGZceGRkeFxuNlx4YTBcdFx4MTBceGI2XHhiYiIKKyAgICBiIlx4YjBceGMzXHgxOFx4YjY7XHg5ZmpbXHhkOVx4ZDVceGM5XHgwNlx4OGFceDg3XHhjZFx4ZTVceGVlXHhmY1x4OWMtJUAiCisgICAgYiJceGVlXHhlMFx4ZWJceGQyXHhlM1x4ZThceGZiXHhjMFx4MTIyXFxceGM3XHhhZlx4YzJceGExT3RoXHhiM1x4OGZceDgyIgorICAgIGIiXHhiM1x4MThceGE4XHgwN1x4ZDVceGVlX1x4YmVceGUwXHgxY0FceDFlX1xyXHg5YVx4YjBceDE3VyZceGEyRFx4OTFceDk0IgorICAgIGIiXHgxYVx4YjJceGVmXHhmMlx4ZGNceDg1O1hceGIwLFx4ZWI+LTdTXHhlNVx4Y2FceDA3KVx4MWZwXHg3Zlx4Y2FRQkxceGNhIgorICAgIGIiXHhmM1x4YjlkXHhmY1x4YjVzdVx4YjBceGM4XHg5NVx4OTBceGViKilceGEwdlx4ZTRceDlhe0ZXXHhmNGxceGRlXHhjZGoiCisgICAgYiJceDAwIgorKQorCisKK2RlZiB0ZXN0X21haW4oKToKKyAgICBydW5fdW5pdHRlc3QoCisgICAgICAgIENvbXByZXNzb3JEZWNvbXByZXNzb3JUZXN0Q2FzZSwKKyAgICAgICAgQ29tcHJlc3NEZWNvbXByZXNzRnVuY3Rpb25UZXN0Q2FzZSwKKyAgICAgICAgRmlsZVRlc3RDYXNlLAorICAgICAgICBNaXNjZWxsYW5lb3VzVGVzdENhc2UsCisgICAgKQorCitpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgorICAgIHRlc3RfbWFpbigpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X21haWxib3gucHkgYi9MaWIvdGVzdC90ZXN0X21haWxib3gucHkKaW5kZXggOGY3NmUxOC4uNTQ5NjNhOSAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9tYWlsYm94LnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfbWFpbGJveC5weQpAQCAtOTEsMTQgKzkxLDE0IEBACiAgICAgICAgICAgICAiIiIpCiAKICAgICBkZWYgdGVzdF9hZGRfaW52YWxpZF84Yml0X2J5dGVzX2hlYWRlcihzZWxmKToKLSAgICAgICAga2V5ID0gc2VsZi5fYm94LmFkZChzZWxmLl9ub25hc2NpaV9tc2cuZW5jb2RlKCdsYXRpbjEnKSkKKyAgICAgICAga2V5ID0gc2VsZi5fYm94LmFkZChzZWxmLl9ub25hc2NpaV9tc2cuZW5jb2RlKCdsYXRpbi0xJykpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKHNlbGYuX2JveCksIDEpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5fYm94LmdldF9ieXRlcyhrZXkpLAotICAgICAgICAgICAgc2VsZi5fbm9uYXNjaWlfbXNnLmVuY29kZSgnbGF0aW4xJykpCisgICAgICAgICAgICBzZWxmLl9ub25hc2NpaV9tc2cuZW5jb2RlKCdsYXRpbi0xJykpCiAKICAgICBkZWYgdGVzdF9pbnZhbGlkX25vbmFzY2lpX2hlYWRlcl9hc19zdHJpbmcoc2VsZik6CiAgICAgICAgIHN1YmogPSBzZWxmLl9ub25hc2NpaV9tc2cuc3BsaXRsaW5lcygpWzFdCi0gICAgICAgIGtleSA9IHNlbGYuX2JveC5hZGQoc3Viai5lbmNvZGUoJ2xhdGluMScpKQorICAgICAgICBrZXkgPSBzZWxmLl9ib3guYWRkKHN1YmouZW5jb2RlKCdsYXRpbi0xJykpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5fYm94LmdldF9zdHJpbmcoa2V5KSwKICAgICAgICAgICAgICdTdWJqZWN0OiA9P3Vua25vd24tOGJpdD9iP1JtRnNhVzVoY0hUaGNpQm80WHBvYjNwemV1RnNiTzEwNFhOeicKICAgICAgICAgICAgICdZV3d1SUUzaGNpQnlaVzVrWld4MDZXdy8/PVxuXG4nKQpAQCAtOTI1LDggKzkyNSw3IEBACiAgICAgICAgICMgdGhlIG10aW1lIGFuZCBzaG91bGQgY2F1c2UgYSByZS1yZWFkLiBOb3RlIHRoYXQgInNsZWVwCiAgICAgICAgICMgZW11bGF0aW9uIiBpcyBzdGlsbCBpbiBlZmZlY3QsIGFzIHNrZXdmYWN0b3IgaXMgLTMuCiAgICAgICAgIGZpbGVuYW1lID0gb3MucGF0aC5qb2luKHNlbGYuX3BhdGgsICdjdXInLCAnc3RyYXktZmlsZScpCi0gICAgICAgIGYgPSBvcGVuKGZpbGVuYW1lLCAndycpCi0gICAgICAgIGYuY2xvc2UoKQorICAgICAgICBzdXBwb3J0LmNyZWF0ZV9lbXB0eV9maWxlKGZpbGVuYW1lKQogICAgICAgICBvcy51bmxpbmsoZmlsZW5hbWUpCiAgICAgICAgIHNlbGYuX2JveC5fcmVmcmVzaCgpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShyZWZyZXNoZWQoKSkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfbWFpbGNhcC5weSBiL0xpYi90ZXN0L3Rlc3RfbWFpbGNhcC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNGNkMDljCi0tLSAvZGV2L251bGwKKysrIGIvTGliL3Rlc3QvdGVzdF9tYWlsY2FwLnB5CkBAIC0wLDAgKzEsMjIxIEBACitpbXBvcnQgbWFpbGNhcAoraW1wb3J0IG9zCitpbXBvcnQgc2h1dGlsCitpbXBvcnQgdGVzdC5zdXBwb3J0CitpbXBvcnQgdW5pdHRlc3QKKworIyBMb2NhdGlvbiBvZiBtYWlsY2FwIGZpbGUKK01BSUxDQVBGSUxFID0gdGVzdC5zdXBwb3J0LmZpbmRmaWxlKCJtYWlsY2FwLnR4dCIpCisKKyMgRGljdCB0byBhY3QgYXMgbW9jayBtYWlsY2FwIGVudHJ5IGZvciB0aGlzIHRlc3QKKyMgVGhlIGtleXMgYW5kIHZhbHVlcyBzaG91bGQgbWF0Y2ggdGhlIGNvbnRlbnRzIG9mIE1BSUxDQVBGSUxFCitNQUlMQ0FQRElDVCA9IHsKKyAgICAnYXBwbGljYXRpb24veC1tb3ZpZSc6CisgICAgICAgIFt7J2NvbXBvc2UnOiAnbW92aWVtYWtlciAlcycsCisgICAgICAgICAgJ3gxMS1iaXRtYXAnOiAnIi91c3IvbGliL1ptYWlsL2JpdG1hcHMvbW92aWUueGJtIicsCisgICAgICAgICAgJ2Rlc2NyaXB0aW9uJzogJyJNb3ZpZSInLAorICAgICAgICAgICd2aWV3JzogJ21vdmllcGxheWVyICVzJ31dLAorICAgICdhcHBsaWNhdGlvbi8qJzoKKyAgICAgICAgW3snY29waW91c291dHB1dCc6ICcnLAorICAgICAgICAgICd2aWV3JzogJ2VjaG8gIlRoaXMgaXMgXFwiJXRcXCIgYnV0ICAgICAgICBpcyA1MCBcXCUgR3JlZWsgdG8gbWUiIFxcOyBjYXQgJXMnfV0sCisgICAgJ2F1ZGlvL2Jhc2ljJzoKKyAgICAgICAgW3snZWRpdCc6ICdhdWRpb2NvbXBvc2UgJXMnLAorICAgICAgICAgICdjb21wb3NlJzogJ2F1ZGlvY29tcG9zZSAlcycsCisgICAgICAgICAgJ2Rlc2NyaXB0aW9uJzogJyJBbiBhdWRpbyBmcmFnbWVudCInLAorICAgICAgICAgICd2aWV3JzogJ3Nob3dhdWRpbyAlcyd9XSwKKyAgICAndmlkZW8vbXBlZyc6CisgICAgICAgIFt7J3ZpZXcnOiAnbXBlZ19wbGF5ICVzJ31dLAorICAgICdhcHBsaWNhdGlvbi9wb3N0c2NyaXB0JzoKKyAgICAgICAgW3snbmVlZHN0ZXJtaW5hbCc6ICcnLCAndmlldyc6ICdwcy10by10ZXJtaW5hbCAlcyd9LAorICAgICAgICAgeydjb21wb3NlJzogJ2lkcmF3ICVzJywgJ3ZpZXcnOiAncHMtdG8tdGVybWluYWwgJXMnfV0sCisgICAgJ2FwcGxpY2F0aW9uL3gtZHZpJzoKKyAgICAgICAgW3sndmlldyc6ICd4ZHZpICVzJ31dLAorICAgICdtZXNzYWdlL2V4dGVybmFsLWJvZHknOgorICAgICAgICBbeydjb21wb3NldHlwZWQnOiAnZXh0Y29tcG9zZSAlcycsCisgICAgICAgICAgJ2Rlc2NyaXB0aW9uJzogJyJBIHJlZmVyZW5jZSB0byBkYXRhIHN0b3JlZCBpbiBhbiBleHRlcm5hbCBsb2NhdGlvbiInLAorICAgICAgICAgICduZWVkc3Rlcm1pbmFsJzogJycsCisgICAgICAgICAgJ3ZpZXcnOiAnc2hvd2V4dGVybmFsICVzICV7YWNjZXNzLXR5cGV9ICV7bmFtZX0gJXtzaXRlfSAgICAgJXtkaXJlY3Rvcnl9ICV7bW9kZX0gJXtzZXJ2ZXJ9J31dLAorICAgICd0ZXh0L3JpY2h0ZXh0JzoKKyAgICAgICAgW3sndGVzdCc6ICd0ZXN0ICJgZWNobyAgICAgJXtjaGFyc2V0fSB8IHRyIFwnW0EtWl1cJyBcJ1thLXpdXCdgIiAgPSBpc28tODg1OS04JywKKyAgICAgICAgICAnY29waW91c291dHB1dCc6ICcnLAorICAgICAgICAgICd2aWV3JzogJ3Nob3dub25hc2NpaSBpc28tODg1OS04IC1lIHJpY2h0ZXh0IC1wICVzJ31dLAorICAgICdpbWFnZS94LXh3aW5kb3dkdW1wJzoKKyAgICAgICAgW3sndmlldyc6ICdkaXNwbGF5ICVzJ31dLAorICAgICdhdWRpby8qJzoKKyAgICAgICAgW3sndmlldyc6ICcvdXNyL2xvY2FsL2Jpbi9zaG93YXVkaW8gJXQnfV0sCisgICAgJ3ZpZGVvLyonOgorICAgICAgICBbeyd2aWV3JzogJ2FuaW1hdGUgJXMnfV0sCisgICAgJ2FwcGxpY2F0aW9uL2ZyYW1lJzoKKyAgICAgICAgW3sncHJpbnQnOiAnImNhdCAlcyB8IGxwIicsICd2aWV3JzogJ3Nob3dmcmFtZSAlcyd9XSwKKyAgICAnaW1hZ2UvcmdiJzoKKyAgICAgICAgW3sndmlldyc6ICdkaXNwbGF5ICVzJ31dCit9CisKKworY2xhc3MgSGVscGVyRnVuY3Rpb25UZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKKworICAgIGRlZiB0ZXN0X2xpc3RtYWlsY2FwZmlsZXMoc2VsZik6CisgICAgICAgICMgVGhlIHJldHVybiB2YWx1ZSBmb3IgbGlzdG1haWxjYXBmaWxlcygpIHdpbGwgdmFyeSBieSBzeXN0ZW0uCisgICAgICAgICMgU28gdmVyaWZ5IHRoYXQgbGlzdG1haWxjYXBmaWxlcygpIHJldHVybnMgYSBsaXN0IG9mIHN0cmluZ3MgdGhhdCBpcyBvZgorICAgICAgICAjIG5vbi16ZXJvIGxlbmd0aC4KKyAgICAgICAgbWNmaWxlcyA9IG1haWxjYXAubGlzdG1haWxjYXBmaWxlcygpCisgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShtY2ZpbGVzLCBsaXN0KQorICAgICAgICBmb3IgbSBpbiBtY2ZpbGVzOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRJc0luc3RhbmNlKG0sIHN0cikKKyAgICAgICAgd2l0aCB0ZXN0LnN1cHBvcnQuRW52aXJvbm1lbnRWYXJHdWFyZCgpIGFzIGVudjoKKyAgICAgICAgICAgICMgQWNjb3JkaW5nIHRvIFJGQyAxNTI0LCBpZiBNQUlMQ0FQUyBlbnYgdmFyaWFibGUgZXhpc3RzLCB1c2UgdGhhdAorICAgICAgICAgICAgIyBhbmQgb25seSB0aGF0LgorICAgICAgICAgICAgaWYgIk1BSUxDQVBTIiBpbiBlbnY6CisgICAgICAgICAgICAgICAgZW52X21haWxjYXBzID0gZW52WyJNQUlMQ0FQUyJdLnNwbGl0KG9zLnBhdGhzZXApCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIGVudl9tYWlsY2FwcyA9IFsiL3Rlc3RkaXIxLy5tYWlsY2FwIiwgIi90ZXN0ZGlyMi9tYWlsY2FwIl0KKyAgICAgICAgICAgICAgICBlbnZbIk1BSUxDQVBTIl0gPSBvcy5wYXRoc2VwLmpvaW4oZW52X21haWxjYXBzKQorICAgICAgICAgICAgICAgIG1jZmlsZXMgPSBtYWlsY2FwLmxpc3RtYWlsY2FwZmlsZXMoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGVudl9tYWlsY2FwcywgbWNmaWxlcykKKworICAgIGRlZiB0ZXN0X3JlYWRtYWlsY2FwZmlsZShzZWxmKToKKyAgICAgICAgIyBUZXN0IHJlYWRtYWlsY2FwZmlsZSgpIHVzaW5nIHRlc3QgZmlsZS4gSXQgc2hvdWxkIG1hdGNoIE1BSUxDQVBESUNULgorICAgICAgICB3aXRoIG9wZW4oTUFJTENBUEZJTEUsICdyJykgYXMgbWNmOgorICAgICAgICAgICAgZCA9IG1haWxjYXAucmVhZG1haWxjYXBmaWxlKG1jZikKKyAgICAgICAgc2VsZi5hc3NlcnREaWN0RXF1YWwoZCwgTUFJTENBUERJQ1QpCisKKyAgICBkZWYgdGVzdF9sb29rdXAoc2VsZik6CisgICAgICAgICMgVGVzdCB3aXRob3V0IGtleQorICAgICAgICBleHBlY3RlZCA9IFt7J3ZpZXcnOiAnbXBlZ19wbGF5ICVzJ30sIHsndmlldyc6ICdhbmltYXRlICVzJ31dCisgICAgICAgIGFjdHVhbCA9IG1haWxjYXAubG9va3VwKE1BSUxDQVBESUNULCAndmlkZW8vbXBlZycpCisgICAgICAgIHNlbGYuYXNzZXJ0TGlzdEVxdWFsKGV4cGVjdGVkLCBhY3R1YWwpCisKKyAgICAgICAgIyBUZXN0IHdpdGgga2V5CisgICAgICAgIGtleSA9ICdjb21wb3NlJworICAgICAgICBleHBlY3RlZCA9IFt7J2VkaXQnOiAnYXVkaW9jb21wb3NlICVzJywKKyAgICAgICAgICAgICAgICAgICAgICdjb21wb3NlJzogJ2F1ZGlvY29tcG9zZSAlcycsCisgICAgICAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nOiAnIkFuIGF1ZGlvIGZyYWdtZW50IicsCisgICAgICAgICAgICAgICAgICAgICAndmlldyc6ICdzaG93YXVkaW8gJXMnfV0KKyAgICAgICAgYWN0dWFsID0gbWFpbGNhcC5sb29rdXAoTUFJTENBUERJQ1QsICdhdWRpby9iYXNpYycsIGtleSkKKyAgICAgICAgc2VsZi5hc3NlcnRMaXN0RXF1YWwoZXhwZWN0ZWQsIGFjdHVhbCkKKworICAgIGRlZiB0ZXN0X3N1YnN0KHNlbGYpOgorICAgICAgICBwbGlzdCA9IFsnaWQ9MScsICdudW1iZXI9MicsICd0b3RhbD0zJ10KKyAgICAgICAgIyB0ZXN0IGNhc2U6IChbZmllbGQsIE1JTUV0eXBlLCBmaWxlbmFtZSwgcGxpc3Q9W11dLCA8ZXhwZWN0ZWQgc3RyaW5nPikKKyAgICAgICAgdGVzdF9jYXNlcyA9IFsKKyAgICAgICAgICAgIChbIiIsICJhdWRpby8qIiwgImZvby50eHQiXSwgIiIpLAorICAgICAgICAgICAgKFsiZWNobyBmb28iLCAiYXVkaW8vKiIsICJmb28udHh0Il0sICJlY2hvIGZvbyIpLAorICAgICAgICAgICAgKFsiZWNobyAlcyIsICJhdWRpby8qIiwgImZvby50eHQiXSwgImVjaG8gZm9vLnR4dCIpLAorICAgICAgICAgICAgKFsiZWNobyAldCIsICJhdWRpby8qIiwgImZvby50eHQiXSwgImVjaG8gYXVkaW8vKiIpLAorICAgICAgICAgICAgKFsiZWNobyBcJXQiLCAiYXVkaW8vKiIsICJmb28udHh0Il0sICJlY2hvICV0IiksCisgICAgICAgICAgICAoWyJlY2hvIGZvbyIsICJhdWRpby8qIiwgImZvby50eHQiLCBwbGlzdF0sICJlY2hvIGZvbyIpLAorICAgICAgICAgICAgKFsiZWNobyAle3RvdGFsfSIsICJhdWRpby8qIiwgImZvby50eHQiLCBwbGlzdF0sICJlY2hvIDMiKQorICAgICAgICBdCisgICAgICAgIGZvciB0YyBpbiB0ZXN0X2Nhc2VzOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtYWlsY2FwLnN1YnN0KCp0Y1swXSksIHRjWzFdKQorCisKK2NsYXNzIEdldGNhcHNUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKKworICAgIGRlZiB0ZXN0X21vY2tfZ2V0Y2FwcyhzZWxmKToKKyAgICAgICAgIyBUZXN0IG1haWxjYXAuZ2V0Y2FwcygpIHVzaW5nIG1vY2sgbWFpbGNhcCBmaWxlIGluIHRoaXMgZGlyLgorICAgICAgICAjIFRlbXBvcmFyaWx5IG92ZXJyaWRlIGFueSBleGlzdGluZyBzeXN0ZW0gbWFpbGNhcCBmaWxlIGJ5IHBvaW50aW5nIHRoZQorICAgICAgICAjIE1BSUxDQVBTIGVudmlyb25tZW50IHZhcmlhYmxlIHRvIG91ciBtb2NrIGZpbGUuCisgICAgICAgIHdpdGggdGVzdC5zdXBwb3J0LkVudmlyb25tZW50VmFyR3VhcmQoKSBhcyBlbnY6CisgICAgICAgICAgICBlbnZbIk1BSUxDQVBTIl0gPSBNQUlMQ0FQRklMRQorICAgICAgICAgICAgY2FwcyA9IG1haWxjYXAuZ2V0Y2FwcygpCisgICAgICAgICAgICBzZWxmLmFzc2VydERpY3RFcXVhbChjYXBzLCBNQUlMQ0FQRElDVCkKKworICAgIGRlZiB0ZXN0X3N5c3RlbV9tYWlsY2FwKHNlbGYpOgorICAgICAgICAjIFRlc3QgbWFpbGNhcC5nZXRjYXBzKCkgd2l0aCBtYWlsY2FwIGZpbGUocykgb24gc3lzdGVtLCBpZiBhbnkuCisgICAgICAgIGNhcHMgPSBtYWlsY2FwLmdldGNhcHMoKQorICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2UoY2FwcywgZGljdCkKKyAgICAgICAgbWFpbGNhcGZpbGVzID0gbWFpbGNhcC5saXN0bWFpbGNhcGZpbGVzKCkKKyAgICAgICAgZXhpc3RpbmdtY2ZpbGVzID0gW21jZiBmb3IgbWNmIGluIG1haWxjYXBmaWxlcyBpZiBvcy5wYXRoLmV4aXN0cyhtY2YpXQorICAgICAgICBpZiBleGlzdGluZ21jZmlsZXM6CisgICAgICAgICAgICAjIEF0IGxlYXN0IDEgbWFpbGNhcCBmaWxlIGV4aXN0cywgc28gdGVzdCB0aGF0LgorICAgICAgICAgICAgZm9yIChrLCB2KSBpbiBjYXBzLml0ZW1zKCk6CisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRJc0luc3RhbmNlKGssIHN0cikKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2UodiwgbGlzdCkKKyAgICAgICAgICAgICAgICBmb3IgZSBpbiB2OgorICAgICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2UoZSwgZGljdCkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgICMgTm8gbWFpbGNhcCBmaWxlcyBvbiBzeXN0ZW0uIGdldGNhcHMoKSBzaG91bGQgcmV0dXJuIGVtcHR5IGRpY3QuCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHt9LCBjYXBzKQorCisKK2NsYXNzIEZpbmRtYXRjaFRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgorCisgICAgZGVmIHRlc3RfZmluZG1hdGNoKHNlbGYpOgorCisgICAgICAgICMgZGVmYXVsdCBmaW5kbWF0Y2ggYXJndW1lbnRzCisgICAgICAgIGMgPSBNQUlMQ0FQRElDVAorICAgICAgICBmbmFtZSA9ICJmb28udHh0IgorICAgICAgICBwbGlzdCA9IFsiYWNjZXNzLXR5cGU9ZGVmYXVsdCIsICJuYW1lPWpvaG4iLCAic2l0ZT1weXRob24ub3JnIiwKKyAgICAgICAgICAgICAgICAgImRpcmVjdG9yeT0vdG1wIiwgIm1vZGU9Zm9vIiwgInNlcnZlcj1iYXIiXQorICAgICAgICBhdWRpb19iYXNpY19lbnRyeSA9IHsKKyAgICAgICAgICAgICdlZGl0JzogJ2F1ZGlvY29tcG9zZSAlcycsCisgICAgICAgICAgICAnY29tcG9zZSc6ICdhdWRpb2NvbXBvc2UgJXMnLAorICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJzogJyJBbiBhdWRpbyBmcmFnbWVudCInLAorICAgICAgICAgICAgJ3ZpZXcnOiAnc2hvd2F1ZGlvICVzJworICAgICAgICB9CisgICAgICAgIGF1ZGlvX2VudHJ5ID0geyJ2aWV3IjogIi91c3IvbG9jYWwvYmluL3Nob3dhdWRpbyAldCJ9CisgICAgICAgIHZpZGVvX2VudHJ5ID0geyd2aWV3JzogJ2FuaW1hdGUgJXMnfQorICAgICAgICBtZXNzYWdlX2VudHJ5ID0geworICAgICAgICAgICAgJ2NvbXBvc2V0eXBlZCc6ICdleHRjb21wb3NlICVzJywKKyAgICAgICAgICAgICdkZXNjcmlwdGlvbic6ICciQSByZWZlcmVuY2UgdG8gZGF0YSBzdG9yZWQgaW4gYW4gZXh0ZXJuYWwgbG9jYXRpb24iJywgJ25lZWRzdGVybWluYWwnOiAnJywKKyAgICAgICAgICAgICd2aWV3JzogJ3Nob3dleHRlcm5hbCAlcyAle2FjY2Vzcy10eXBlfSAle25hbWV9ICV7c2l0ZX0gICAgICV7ZGlyZWN0b3J5fSAle21vZGV9ICV7c2VydmVyfScKKyAgICAgICAgfQorCisgICAgICAgICMgdGVzdCBjYXNlOiAoZmluZG1hdGNoIGFyZ3MsIGZpbmRtYXRjaCBrZXl3b3JkIGFyZ3MsIGV4cGVjdGVkIG91dHB1dCkKKyAgICAgICAgIyAgIHBvc2l0aW9uYWwgYXJnczogY2FwcywgTUlNRXR5cGUKKyAgICAgICAgIyAgIGtleXdvcmQgYXJnczoga2V5PSJ2aWV3IiwgZmlsZW5hbWU9Ii9kZXYvbnVsbCIsIHBsaXN0PVtdCisgICAgICAgICMgICBvdXRwdXQ6IChjb21tYW5kIGxpbmUsIG1haWxjYXAgZW50cnkpCisgICAgICAgIGNhc2VzID0gWworICAgICAgICAgICAgKFt7fSwgInZpZGVvL21wZWciXSwge30sIChOb25lLCBOb25lKSksCisgICAgICAgICAgICAoW2MsICJmb28vYmFyIl0sIHt9LCAoTm9uZSwgTm9uZSkpLAorICAgICAgICAgICAgKFtjLCAidmlkZW8vbXBlZyJdLCB7fSwgKCdtcGVnX3BsYXkgL2Rldi9udWxsJywgeyd2aWV3JzogJ21wZWdfcGxheSAlcyd9KSksCisgICAgICAgICAgICAoW2MsICJhdWRpby9iYXNpYyIsICJlZGl0Il0sIHt9LCAoImF1ZGlvY29tcG9zZSAvZGV2L251bGwiLCBhdWRpb19iYXNpY19lbnRyeSkpLAorICAgICAgICAgICAgKFtjLCAiYXVkaW8vYmFzaWMiLCAiY29tcG9zZSJdLCB7fSwgKCJhdWRpb2NvbXBvc2UgL2Rldi9udWxsIiwgYXVkaW9fYmFzaWNfZW50cnkpKSwKKyAgICAgICAgICAgIChbYywgImF1ZGlvL2Jhc2ljIiwgImRlc2NyaXB0aW9uIl0sIHt9LCAoJyJBbiBhdWRpbyBmcmFnbWVudCInLCBhdWRpb19iYXNpY19lbnRyeSkpLAorICAgICAgICAgICAgKFtjLCAiYXVkaW8vYmFzaWMiLCAiZm9vYmFyIl0sIHt9LCAoTm9uZSwgTm9uZSkpLAorICAgICAgICAgICAgKFtjLCAidmlkZW8vKiJdLCB7ImZpbGVuYW1lIjogZm5hbWV9LCAoImFuaW1hdGUgJXMiICUgZm5hbWUsIHZpZGVvX2VudHJ5KSksCisgICAgICAgICAgICAoW2MsICJhdWRpby9iYXNpYyIsICJjb21wb3NlIl0sCisgICAgICAgICAgICAgeyJmaWxlbmFtZSI6IGZuYW1lfSwKKyAgICAgICAgICAgICAoImF1ZGlvY29tcG9zZSAlcyIgJSBmbmFtZSwgYXVkaW9fYmFzaWNfZW50cnkpKSwKKyAgICAgICAgICAgIChbYywgImF1ZGlvL2Jhc2ljIl0sCisgICAgICAgICAgICAgeyJrZXkiOiAiZGVzY3JpcHRpb24iLCAiZmlsZW5hbWUiOiBmbmFtZX0sCisgICAgICAgICAgICAgKCciQW4gYXVkaW8gZnJhZ21lbnQiJywgYXVkaW9fYmFzaWNfZW50cnkpKSwKKyAgICAgICAgICAgIChbYywgImF1ZGlvLyoiXSwKKyAgICAgICAgICAgICB7ImZpbGVuYW1lIjogZm5hbWV9LAorICAgICAgICAgICAgICgiL3Vzci9sb2NhbC9iaW4vc2hvd2F1ZGlvIGF1ZGlvLyoiLCBhdWRpb19lbnRyeSkpLAorICAgICAgICAgICAgKFtjLCAibWVzc2FnZS9leHRlcm5hbC1ib2R5Il0sCisgICAgICAgICAgICAgeyJwbGlzdCI6IHBsaXN0fSwKKyAgICAgICAgICAgICAoInNob3dleHRlcm5hbCAvZGV2L251bGwgZGVmYXVsdCBqb2huIHB5dGhvbi5vcmcgICAgIC90bXAgZm9vIGJhciIsIG1lc3NhZ2VfZW50cnkpKQorICAgICAgICBdCisgICAgICAgIHNlbGYuX3J1bl9jYXNlcyhjYXNlcykKKworICAgIEB1bml0dGVzdC5za2lwVW5sZXNzKG9zLm5hbWUgPT0gInBvc2l4IiwgIlJlcXVpcmVzICd0ZXN0JyBjb21tYW5kIG9uIHN5c3RlbSIpCisgICAgZGVmIHRlc3RfdGVzdChzZWxmKToKKyAgICAgICAgIyBmaW5kbWF0Y2goKSB3aWxsIGF1dG9tYXRpY2FsbHkgY2hlY2sgYW55ICJ0ZXN0IiBjb25kaXRpb25zIGFuZCBza2lwCisgICAgICAgICMgdGhlIGVudHJ5IGlmIHRoZSBjaGVjayBmYWlscy4KKyAgICAgICAgY2FwcyA9IHsidGVzdC9wYXNzIjogW3sidGVzdCI6ICJ0ZXN0IDEgLWVxIDEifV0sCisgICAgICAgICAgICAgICAgInRlc3QvZmFpbCI6IFt7InRlc3QiOiAidGVzdCAxIC1lcSAwIn1dfQorICAgICAgICAjIHRlc3QgY2FzZTogKGZpbmRtYXRjaCBhcmdzLCBmaW5kbWF0Y2gga2V5d29yZCBhcmdzLCBleHBlY3RlZCBvdXRwdXQpCisgICAgICAgICMgICBwb3NpdGlvbmFsIGFyZ3M6IGNhcHMsIE1JTUV0eXBlLCBrZXkgKCJ0ZXN0IikKKyAgICAgICAgIyAgIGtleXdvcmQgYXJnczogTi9BCisgICAgICAgICMgICBvdXRwdXQ6IChjb21tYW5kIGxpbmUsIG1haWxjYXAgZW50cnkpCisgICAgICAgIGNhc2VzID0gWworICAgICAgICAgICAgIyBmaW5kbWF0Y2ggd2lsbCByZXR1cm4gdGhlIG1haWxjYXAgZW50cnkgZm9yIHRlc3QvcGFzcyBiZWNhdXNlIGl0IGV2YWx1YXRlcyB0byB0cnVlCisgICAgICAgICAgICAoW2NhcHMsICJ0ZXN0L3Bhc3MiLCAidGVzdCJdLCB7fSwgKCJ0ZXN0IDEgLWVxIDEiLCB7InRlc3QiOiAidGVzdCAxIC1lcSAxIn0pKSwKKyAgICAgICAgICAgICMgZmluZG1hdGNoIHdpbGwgcmV0dXJuIE5vbmUgYmVjYXVzZSB0ZXN0L2ZhaWwgZXZhbHVhdGVzIHRvIGZhbHNlCisgICAgICAgICAgICAoW2NhcHMsICJ0ZXN0L2ZhaWwiLCAidGVzdCJdLCB7fSwgKE5vbmUsIE5vbmUpKQorICAgICAgICBdCisgICAgICAgIHNlbGYuX3J1bl9jYXNlcyhjYXNlcykKKworICAgIGRlZiBfcnVuX2Nhc2VzKHNlbGYsIGNhc2VzKToKKyAgICAgICAgZm9yIGMgaW4gY2FzZXM6CisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1haWxjYXAuZmluZG1hdGNoKCpjWzBdLCAqKmNbMV0pLCBjWzJdKQorCisKK2RlZiB0ZXN0X21haW4oKToKKyAgICB0ZXN0LnN1cHBvcnQucnVuX3VuaXR0ZXN0KEhlbHBlckZ1bmN0aW9uVGVzdCwgR2V0Y2Fwc1Rlc3QsIEZpbmRtYXRjaFRlc3QpCisKKworaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKKyAgICB0ZXN0X21haW4oKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9tYXJzaGFsLnB5IGIvTGliL3Rlc3QvdGVzdF9tYXJzaGFsLnB5CmluZGV4IDk2YTcwZWMuLjgzYzM0OGMgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfbWFyc2hhbC5weQorKysgYi9MaWIvdGVzdC90ZXN0X21hcnNoYWwucHkKQEAgLTYsNiArNiw3IEBACiBpbXBvcnQgc3lzCiBpbXBvcnQgdW5pdHRlc3QKIGltcG9ydCBvcworaW1wb3J0IHR5cGVzCiAKIGNsYXNzIEhlbHBlck1peGluOgogICAgIGRlZiBoZWxwZXIoc2VsZiwgc2FtcGxlLCAqZXh0cmEpOgpAQCAtMTE0LDYgKzExNSwyMiBAQAogICAgICAgICBjb2RlcyA9IChFeGNlcHRpb25UZXN0Q2FzZS50ZXN0X2V4Y2VwdGlvbnMuX19jb2RlX18sKSAqIGNvdW50CiAgICAgICAgIG1hcnNoYWwubG9hZHMobWFyc2hhbC5kdW1wcyhjb2RlcykpCiAKKyAgICBkZWYgdGVzdF9kaWZmZXJlbnRfZmlsZW5hbWVzKHNlbGYpOgorICAgICAgICBjbzEgPSBjb21waWxlKCJ4IiwgImYxIiwgImV4ZWMiKQorICAgICAgICBjbzIgPSBjb21waWxlKCJ5IiwgImYyIiwgImV4ZWMiKQorICAgICAgICBjbzEsIGNvMiA9IG1hcnNoYWwubG9hZHMobWFyc2hhbC5kdW1wcygoY28xLCBjbzIpKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbzEuY29fZmlsZW5hbWUsICJmMSIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY28yLmNvX2ZpbGVuYW1lLCAiZjIiKQorCisgICAgQHN1cHBvcnQuY3B5dGhvbl9vbmx5CisgICAgZGVmIHRlc3Rfc2FtZV9maWxlbmFtZV91c2VkKHNlbGYpOgorICAgICAgICBzID0gIiIiZGVmIGYoKTogcGFzc1xuZGVmIGcoKTogcGFzcyIiIgorICAgICAgICBjbyA9IGNvbXBpbGUocywgIm15ZmlsZSIsICJleGVjIikKKyAgICAgICAgY28gPSBtYXJzaGFsLmxvYWRzKG1hcnNoYWwuZHVtcHMoY28pKQorICAgICAgICBmb3Igb2JqIGluIGNvLmNvX2NvbnN0czoKKyAgICAgICAgICAgIGlmIGlzaW5zdGFuY2Uob2JqLCB0eXBlcy5Db2RlVHlwZSk6CisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRJcyhjby5jb19maWxlbmFtZSwgb2JqLmNvX2ZpbGVuYW1lKQorCiBjbGFzcyBDb250YWluZXJUZXN0Q2FzZSh1bml0dGVzdC5UZXN0Q2FzZSwgSGVscGVyTWl4aW4pOgogICAgIGQgPSB7J2FzdHJpbmcnOiAnZm9vQGJhci5iYXouc3BhbScsCiAgICAgICAgICAnYWZsb2F0JzogNzI4My40MywKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfbWF0aC5weSBiL0xpYi90ZXN0L3Rlc3RfbWF0aC5weQppbmRleCBkZGRjODg5Li43MTUwMDNhIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X21hdGgucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9tYXRoLnB5CkBAIC0yLDExICsyLDEyIEBACiAjIFhYWFggU2hvdWxkIG5vdCBkbyB0ZXN0cyBhcm91bmQgemVybyBvbmx5CiAKIGZyb20gdGVzdC5zdXBwb3J0IGltcG9ydCBydW5fdW5pdHRlc3QsIHZlcmJvc2UsIHJlcXVpcmVzX0lFRUVfNzU0Citmcm9tIHRlc3QgaW1wb3J0IHN1cHBvcnQKIGltcG9ydCB1bml0dGVzdAogaW1wb3J0IG1hdGgKIGltcG9ydCBvcworaW1wb3J0IHBsYXRmb3JtCiBpbXBvcnQgc3lzCi1pbXBvcnQgcmFuZG9tCiBpbXBvcnQgc3RydWN0CiBpbXBvcnQgc3lzY29uZmlnCiAKQEAgLTQ1NywxMiArNDU4LDEyIEBACiAKICAgICBkZWYgdGVzdEZtb2Qoc2VsZik6CiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgbWF0aC5mbW9kKQotICAgICAgICBzZWxmLmZ0ZXN0KCdmbW9kKDEwLDEpJywgbWF0aC5mbW9kKDEwLDEpLCAwKQotICAgICAgICBzZWxmLmZ0ZXN0KCdmbW9kKDEwLDAuNSknLCBtYXRoLmZtb2QoMTAsMC41KSwgMCkKLSAgICAgICAgc2VsZi5mdGVzdCgnZm1vZCgxMCwxLjUpJywgbWF0aC5mbW9kKDEwLDEuNSksIDEpCi0gICAgICAgIHNlbGYuZnRlc3QoJ2Ztb2QoLTEwLDEpJywgbWF0aC5mbW9kKC0xMCwxKSwgMCkKLSAgICAgICAgc2VsZi5mdGVzdCgnZm1vZCgtMTAsMC41KScsIG1hdGguZm1vZCgtMTAsMC41KSwgMCkKLSAgICAgICAgc2VsZi5mdGVzdCgnZm1vZCgtMTAsMS41KScsIG1hdGguZm1vZCgtMTAsMS41KSwgLTEpCisgICAgICAgIHNlbGYuZnRlc3QoJ2Ztb2QoMTAsIDEpJywgbWF0aC5mbW9kKDEwLCAxKSwgMC4wKQorICAgICAgICBzZWxmLmZ0ZXN0KCdmbW9kKDEwLCAwLjUpJywgbWF0aC5mbW9kKDEwLCAwLjUpLCAwLjApCisgICAgICAgIHNlbGYuZnRlc3QoJ2Ztb2QoMTAsIDEuNSknLCBtYXRoLmZtb2QoMTAsIDEuNSksIDEuMCkKKyAgICAgICAgc2VsZi5mdGVzdCgnZm1vZCgtMTAsIDEpJywgbWF0aC5mbW9kKC0xMCwgMSksIC0wLjApCisgICAgICAgIHNlbGYuZnRlc3QoJ2Ztb2QoLTEwLCAwLjUpJywgbWF0aC5mbW9kKC0xMCwgMC41KSwgLTAuMCkKKyAgICAgICAgc2VsZi5mdGVzdCgnZm1vZCgtMTAsIDEuNSknLCBtYXRoLmZtb2QoLTEwLCAxLjUpLCAtMS4wKQogICAgICAgICBzZWxmLmFzc2VydFRydWUobWF0aC5pc25hbihtYXRoLmZtb2QoTkFOLCAxLikpKQogICAgICAgICBzZWxmLmFzc2VydFRydWUobWF0aC5pc25hbihtYXRoLmZtb2QoMS4sIE5BTikpKQogICAgICAgICBzZWxmLmFzc2VydFRydWUobWF0aC5pc25hbihtYXRoLmZtb2QoTkFOLCBOQU4pKSkKQEAgLTY1MCw2ICs2NTEsMzMgQEAKICAgICAgICAgbj0gMioqOTAKICAgICAgICAgc2VsZi5hc3NlcnRBbG1vc3RFcXVhbChtYXRoLmxvZzFwKG4pLCBtYXRoLmxvZzFwKGZsb2F0KG4pKSkKIAorICAgIEByZXF1aXJlc19JRUVFXzc1NAorICAgIGRlZiB0ZXN0TG9nMihzZWxmKToKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBtYXRoLmxvZzIpCisKKyAgICAgICAgIyBDaGVjayBzb21lIGludGVnZXIgdmFsdWVzCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobWF0aC5sb2cyKDEpLCAwLjApCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobWF0aC5sb2cyKDIpLCAxLjApCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobWF0aC5sb2cyKDQpLCAyLjApCisKKyAgICAgICAgIyBMYXJnZSBpbnRlZ2VyIHZhbHVlcworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1hdGgubG9nMigyKioxMDIzKSwgMTAyMy4wKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1hdGgubG9nMigyKioxMDI0KSwgMTAyNC4wKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1hdGgubG9nMigyKioyMDAwKSwgMjAwMC4wKQorCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIG1hdGgubG9nMiwgLTEuNSkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgbWF0aC5sb2cyLCBOSU5GKQorICAgICAgICBzZWxmLmFzc2VydFRydWUobWF0aC5pc25hbihtYXRoLmxvZzIoTkFOKSkpCisKKyAgICBAcmVxdWlyZXNfSUVFRV83NTQKKyAgICAjIGxvZzIoKSBpcyBub3QgYWNjdXJhdGUgZW5vdWdoIG9uIE1hYyBPUyBYIFRpZ2VyICgxMC40KQorICAgIEBzdXBwb3J0LnJlcXVpcmVzX21hY192ZXIoMTAsIDUpCisgICAgZGVmIHRlc3RMb2cyRXhhY3Qoc2VsZik6CisgICAgICAgICMgQ2hlY2sgdGhhdCB3ZSBnZXQgZXhhY3QgZXF1YWxpdHkgZm9yIGxvZzIgb2YgcG93ZXJzIG9mIDIuCisgICAgICAgIGFjdHVhbCA9IFttYXRoLmxvZzIobWF0aC5sZGV4cCgxLjAsIG4pKSBmb3IgbiBpbiByYW5nZSgtMTA3NCwgMTAyNCldCisgICAgICAgIGV4cGVjdGVkID0gW2Zsb2F0KG4pIGZvciBuIGluIHJhbmdlKC0xMDc0LCAxMDI0KV0KKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChhY3R1YWwsIGV4cGVjdGVkKQorCiAgICAgZGVmIHRlc3RMb2cxMChzZWxmKToKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBtYXRoLmxvZzEwKQogICAgICAgICBzZWxmLmZ0ZXN0KCdsb2cxMCgwLjEpJywgbWF0aC5sb2cxMCgwLjEpLCAtMSkKQEAgLTEwMTAsNyArMTAzOCw2IEBACiAKICAgICBAcmVxdWlyZXNfSUVFRV83NTQKICAgICBkZWYgdGVzdF9tdGVzdGZpbGUoc2VsZik6Ci0gICAgICAgIEFMTE9XRURfRVJST1IgPSAyMCAgIyBwZXJtaXR0ZWQgZXJyb3IsIGluIHVscHMKICAgICAgICAgZmFpbF9mbXQgPSAie306e30oeyFyfSk6IGV4cGVjdGVkIHshcn0sIGdvdCB7IXJ9IgogCiAgICAgICAgIGZhaWx1cmVzID0gW10KZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfbWVtb3J5dmlldy5weSBiL0xpYi90ZXN0L3Rlc3RfbWVtb3J5dmlldy5weQppbmRleCAwYmZkZGQ5Li44ODA5OTMwIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X21lbW9yeXZpZXcucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9tZW1vcnl2aWV3LnB5CkBAIC0yNCwxNSArMjQsMTQgQEAKICAgICAgICAgcmV0dXJuIGZpbHRlcihOb25lLCBbc2VsZi5yb190eXBlLCBzZWxmLnJ3X3R5cGVdKQogCiAgICAgZGVmIGNoZWNrX2dldGl0ZW1fd2l0aF90eXBlKHNlbGYsIHRwKToKLSAgICAgICAgaXRlbSA9IHNlbGYuZ2V0aXRlbV90eXBlCiAgICAgICAgIGIgPSB0cChzZWxmLl9zb3VyY2UpCiAgICAgICAgIG9sZHJlZmNvdW50ID0gc3lzLmdldHJlZmNvdW50KGIpCiAgICAgICAgIG0gPSBzZWxmLl92aWV3KGIpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobVswXSwgaXRlbShiImEiKSkKLSAgICAgICAgc2VsZi5hc3NlcnRJc0luc3RhbmNlKG1bMF0sIGJ5dGVzKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1bNV0sIGl0ZW0oYiJmIikpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobVstMV0sIGl0ZW0oYiJmIikpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobVstNl0sIGl0ZW0oYiJhIikpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobVswXSwgb3JkKGIiYSIpKQorICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2UobVswXSwgaW50KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1bNV0sIG9yZChiImYiKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtWy0xXSwgb3JkKGIiZiIpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1bLTZdLCBvcmQoYiJhIikpCiAgICAgICAgICMgQm91bmRzIGNoZWNraW5nCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEluZGV4RXJyb3IsIGxhbWJkYTogbVs2XSkKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoSW5kZXhFcnJvciwgbGFtYmRhOiBtWy03XSkKQEAgLTc2LDcgKzc1LDkgQEAKICAgICAgICAgYiA9IHNlbGYucndfdHlwZShzZWxmLl9zb3VyY2UpCiAgICAgICAgIG9sZHJlZmNvdW50ID0gc3lzLmdldHJlZmNvdW50KGIpCiAgICAgICAgIG0gPSBzZWxmLl92aWV3KGIpCi0gICAgICAgIG1bMF0gPSB0cChiIjAiKQorICAgICAgICBtWzBdID0gb3JkKGInMScpCisgICAgICAgIHNlbGYuX2NoZWNrX2NvbnRlbnRzKHRwLCBiLCBiIjFiY2RlZiIpCisgICAgICAgIG1bMDoxXSA9IHRwKGIiMCIpCiAgICAgICAgIHNlbGYuX2NoZWNrX2NvbnRlbnRzKHRwLCBiLCBiIjBiY2RlZiIpCiAgICAgICAgIG1bMTozXSA9IHRwKGIiMTIiKQogICAgICAgICBzZWxmLl9jaGVja19jb250ZW50cyh0cCwgYiwgYiIwMTJkZWYiKQpAQCAtMTAyLDEwICsxMDMsMTcgQEAKICAgICAgICAgIyBXcm9uZyBpbmRleC9zbGljZSB0eXBlcwogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIHNldGl0ZW0sIDAuMCwgYiJhIikKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBzZXRpdGVtLCAoMCwpLCBiImEiKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIHNldGl0ZW0sIChzbGljZSgwLDEsMSksIDApLCBiImEiKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIHNldGl0ZW0sICgwLCBzbGljZSgwLDEsMSkpLCBiImEiKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIHNldGl0ZW0sICgwLCksIGIiYSIpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgc2V0aXRlbSwgImEiLCBiImEiKQorICAgICAgICAjIE5vdCBpbXBsZW1lbnRlZDogbXVsdGlkaW1lbnNpb25hbCBzbGljZXMKKyAgICAgICAgc2xpY2VzID0gKHNsaWNlKDAsMSwxKSwgc2xpY2UoMCwxLDIpKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhOb3RJbXBsZW1lbnRlZEVycm9yLCBzZXRpdGVtLCBzbGljZXMsIGIiYSIpCiAgICAgICAgICMgVHJ5aW5nIHRvIHJlc2l6ZSB0aGUgbWVtb3J5IG9iamVjdAotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBzZXRpdGVtLCAwLCBiIiIpCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIHNldGl0ZW0sIDAsIGIiYWIiKQorICAgICAgICBleGMgPSBWYWx1ZUVycm9yIGlmIG0uZm9ybWF0ID09ICdjJyBlbHNlIFR5cGVFcnJvcgorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhleGMsIHNldGl0ZW0sIDAsIGIiIikKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoZXhjLCBzZXRpdGVtLCAwLCBiImFiIikKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgc2V0aXRlbSwgc2xpY2UoMSwxKSwgYiJhIikKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgc2V0aXRlbSwgc2xpY2UoMCwyKSwgYiJhIikKIApAQCAtMTc1LDcgKzE4Myw3IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobS5zaGFwZSwgKDYsKSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4obSksIDYpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobS5zdHJpZGVzLCAoc2VsZi5pdGVtc2l6ZSwpKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG0uc3Vib2Zmc2V0cywgTm9uZSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtLnN1Ym9mZnNldHMsICgpKQogICAgICAgICByZXR1cm4gbQogCiAgICAgZGVmIHRlc3RfYXR0cmlidXRlc19yZWFkb25seShzZWxmKToKQEAgLTIwOSwxMiArMjE3LDE2IEBACiAgICAgICAgICAgICAgICAgIyBJZiB0cCBpcyBhIGZhY3RvcnkgcmF0aGVyIHRoYW4gYSBwbGFpbiB0eXBlLCBza2lwCiAgICAgICAgICAgICAgICAgY29udGludWUKIAorICAgICAgICAgICAgY2xhc3MgTXlWaWV3KCk6CisgICAgICAgICAgICAgICAgZGVmIF9faW5pdF9fKHNlbGYsIGJhc2UpOgorICAgICAgICAgICAgICAgICAgICBzZWxmLm0gPSBtZW1vcnl2aWV3KGJhc2UpCiAgICAgICAgICAgICBjbGFzcyBNeVNvdXJjZSh0cCk6CiAgICAgICAgICAgICAgICAgcGFzcwogICAgICAgICAgICAgY2xhc3MgTXlPYmplY3Q6CiAgICAgICAgICAgICAgICAgcGFzcwogCi0gICAgICAgICAgICAjIENyZWF0ZSBhIHJlZmVyZW5jZSBjeWNsZSB0aHJvdWdoIGEgbWVtb3J5dmlldyBvYmplY3QKKyAgICAgICAgICAgICMgQ3JlYXRlIGEgcmVmZXJlbmNlIGN5Y2xlIHRocm91Z2ggYSBtZW1vcnl2aWV3IG9iamVjdC4KKyAgICAgICAgICAgICMgVGhpcyBleGVyY2lzZXMgbWJ1Zl9jbGVhcigpLgogICAgICAgICAgICAgYiA9IE15U291cmNlKHRwKGInYWJjJykpCiAgICAgICAgICAgICBtID0gc2VsZi5fdmlldyhiKQogICAgICAgICAgICAgbyA9IE15T2JqZWN0KCkKQEAgLTIyNiw2ICsyMzgsMTcgQEAKICAgICAgICAgICAgIGdjLmNvbGxlY3QoKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHdyKCkgaXMgTm9uZSwgd3IoKSkKIAorICAgICAgICAgICAgIyBUaGlzIGV4ZXJjaXNlcyBtZW1vcnlfY2xlYXIoKS4KKyAgICAgICAgICAgIG0gPSBNeVZpZXcodHAoYidhYmMnKSkKKyAgICAgICAgICAgIG8gPSBNeU9iamVjdCgpCisgICAgICAgICAgICBtLnggPSBtCisgICAgICAgICAgICBtLm8gPSBvCisgICAgICAgICAgICB3ciA9IHdlYWtyZWYucmVmKG8pCisgICAgICAgICAgICBtID0gbyA9IE5vbmUKKyAgICAgICAgICAgICMgVGhlIGN5Y2xlIG11c3QgYmUgYnJva2VuCisgICAgICAgICAgICBnYy5jb2xsZWN0KCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSh3cigpIGlzIE5vbmUsIHdyKCkpCisKICAgICBkZWYgX2NoZWNrX3JlbGVhc2VkKHNlbGYsIG0sIHRwKToKICAgICAgICAgY2hlY2sgPSBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KFZhbHVlRXJyb3IsICJyZWxlYXNlZCIpCiAgICAgICAgIHdpdGggY2hlY2s6IGJ5dGVzKG0pCkBAIC0yODMsNiArMzA2LDM2IEBACiAgICAgICAgIGkgPSBpby5CeXRlc0lPKGInWlpaWicpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgaS5yZWFkaW50bywgbSkKIAorICAgIGRlZiB0ZXN0X2dldGJ1Zl9mYWlsKHNlbGYpOgorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIHNlbGYuX3ZpZXcsIHt9KQorCisgICAgZGVmIHRlc3RfaGFzaChzZWxmKToKKyAgICAgICAgIyBNZW1vcnl2aWV3cyBvZiByZWFkb25seSAoaGFzaGFibGUpIHR5cGVzIGFyZSBoYXNoYWJsZSwgYW5kIHRoZXkKKyAgICAgICAgIyBoYXNoIGFzIGhhc2gob2JqLnRvYnl0ZXMoKSkuCisgICAgICAgIHRwID0gc2VsZi5yb190eXBlCisgICAgICAgIGlmIHRwIGlzIE5vbmU6CisgICAgICAgICAgICBzZWxmLnNraXBUZXN0KCJubyByZWFkLW9ubHkgdHlwZSB0byB0ZXN0IikKKyAgICAgICAgYiA9IHRwKHNlbGYuX3NvdXJjZSkKKyAgICAgICAgbSA9IHNlbGYuX3ZpZXcoYikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChoYXNoKG0pLCBoYXNoKGIiYWJjZGVmIikpCisgICAgICAgICMgUmVsZWFzaW5nIHRoZSBtZW1vcnl2aWV3IGtlZXBzIHRoZSBzdG9yZWQgaGFzaCB2YWx1ZSAoYXMgd2l0aCB3ZWFrcmVmcykKKyAgICAgICAgbS5yZWxlYXNlKCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChoYXNoKG0pLCBoYXNoKGIiYWJjZGVmIikpCisgICAgICAgICMgSGFzaGluZyBhIG1lbW9yeXZpZXcgZm9yIHRoZSBmaXJzdCB0aW1lIGFmdGVyIGl0IGlzIHJlbGVhc2VkCisgICAgICAgICMgcmVzdWx0cyBpbiBhbiBlcnJvciAoYXMgd2l0aCB3ZWFrcmVmcykuCisgICAgICAgIG0gPSBzZWxmLl92aWV3KGIpCisgICAgICAgIG0ucmVsZWFzZSgpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIGhhc2gsIG0pCisKKyAgICBkZWYgdGVzdF9oYXNoX3dyaXRhYmxlKHNlbGYpOgorICAgICAgICAjIE1lbW9yeXZpZXdzIG9mIHdyaXRhYmxlIHR5cGVzIGFyZSB1bmhhc2hhYmxlCisgICAgICAgIHRwID0gc2VsZi5yd190eXBlCisgICAgICAgIGlmIHRwIGlzIE5vbmU6CisgICAgICAgICAgICBzZWxmLnNraXBUZXN0KCJubyB3cml0YWJsZSB0eXBlIHRvIHRlc3QiKQorICAgICAgICBiID0gdHAoc2VsZi5fc291cmNlKQorICAgICAgICBtID0gc2VsZi5fdmlldyhiKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBoYXNoLCBtKQorCiAjIFZhcmlhdGlvbnMgb24gc291cmNlIG9iamVjdHMgZm9yIHRoZSBidWZmZXI6IGJ5dGVzLWxpa2Ugb2JqZWN0cywgdGhlbiBhcnJheXMKICMgd2l0aCBpdGVtc2l6ZSA+IDEuCiAjIE5PVEU6IHN1cHBvcnQgZm9yIG11bHRpLWRpbWVuc2lvbmFsIG9iamVjdHMgaXMgdW5pbXBsZW1lbnRlZC4KZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfbWV0YWNsYXNzLnB5IGIvTGliL3Rlc3QvdGVzdF9tZXRhY2xhc3MucHkKaW5kZXggMjE5YWI5OS4uZTZmZTIwYSAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9tZXRhY2xhc3MucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9tZXRhY2xhc3MucHkKQEAgLTE1OSw2ICsxNTksNyBAQAogICAgIC4uLiAgICAgYmFyID0gMTIzCiAgICAgLi4uCiAgICAgZFsnX19tb2R1bGVfXyddID0gJ3Rlc3QudGVzdF9tZXRhY2xhc3MnCisgICAgZFsnX19xdWFsbmFtZV9fJ10gPSAnQycKICAgICBkWydmb28nXSA9IDQKICAgICBkWydmb28nXSA9IDQyCiAgICAgZFsnYmFyJ10gPSAxMjMKQEAgLTE3NywxMiArMTc4LDEyIEBACiAgICAgLi4uICAgICBiID0gMjQKICAgICAuLi4KICAgICBtZXRhOiBDICgpCi0gICAgbnM6IFsoJ19fbW9kdWxlX18nLCAndGVzdC50ZXN0X21ldGFjbGFzcycpLCAoJ2EnLCA0MiksICgnYicsIDI0KV0KKyAgICBuczogWygnX19tb2R1bGVfXycsICd0ZXN0LnRlc3RfbWV0YWNsYXNzJyksICgnX19xdWFsbmFtZV9fJywgJ0MnKSwgKCdhJywgNDIpLCAoJ2InLCAyNCldCiAgICAga3c6IFtdCiAgICAgPj4+IHR5cGUoQykgaXMgZGljdAogICAgIFRydWUKICAgICA+Pj4gcHJpbnQoc29ydGVkKEMuaXRlbXMoKSkpCi0gICAgWygnX19tb2R1bGVfXycsICd0ZXN0LnRlc3RfbWV0YWNsYXNzJyksICgnYScsIDQyKSwgKCdiJywgMjQpXQorICAgIFsoJ19fbW9kdWxlX18nLCAndGVzdC50ZXN0X21ldGFjbGFzcycpLCAoJ19fcXVhbG5hbWVfXycsICdDJyksICgnYScsIDQyKSwgKCdiJywgMjQpXQogICAgID4+PgogCiBBbmQgYWdhaW4sIHdpdGggYSBfX3ByZXBhcmVfXyBhdHRyaWJ1dGUuCkBAIC0xOTksMTEgKzIwMCwxMiBAQAogICAgIC4uLgogICAgIHByZXBhcmU6IEMgKCkgWygnb3RoZXInLCAnYm9vaCcpXQogICAgIGRbJ19fbW9kdWxlX18nXSA9ICd0ZXN0LnRlc3RfbWV0YWNsYXNzJworICAgIGRbJ19fcXVhbG5hbWVfXyddID0gJ0MnCiAgICAgZFsnYSddID0gMQogICAgIGRbJ2EnXSA9IDIKICAgICBkWydiJ10gPSAzCiAgICAgbWV0YTogQyAoKQotICAgIG5zOiBbKCdfX21vZHVsZV9fJywgJ3Rlc3QudGVzdF9tZXRhY2xhc3MnKSwgKCdhJywgMiksICgnYicsIDMpXQorICAgIG5zOiBbKCdfX21vZHVsZV9fJywgJ3Rlc3QudGVzdF9tZXRhY2xhc3MnKSwgKCdfX3F1YWxuYW1lX18nLCAnQycpLCAoJ2EnLCAyKSwgKCdiJywgMyldCiAgICAga3c6IFsoJ290aGVyJywgJ2Jvb2gnKV0KICAgICA+Pj4KIApAQCAtMjQ2LDcgKzI0OCwxMyBAQAogCiAiIiIKIAotX190ZXN0X18gPSB7J2RvY3Rlc3RzJyA6IGRvY3Rlc3RzfQoraW1wb3J0IHN5cworCisjIFRyYWNlIGZ1bmN0aW9uIGludHJvZHVjZXMgX19sb2NhbHNfXyB3aGljaCBjYXVzZXMgdmFyaW91cyB0ZXN0cyB0byBmYWlsLgoraWYgaGFzYXR0cihzeXMsICdnZXR0cmFjZScpIGFuZCBzeXMuZ2V0dHJhY2UoKToKKyAgICBfX3Rlc3RfXyA9IHt9CitlbHNlOgorICAgIF9fdGVzdF9fID0geydkb2N0ZXN0cycgOiBkb2N0ZXN0c30KIAogZGVmIHRlc3RfbWFpbih2ZXJib3NlPUZhbHNlKToKICAgICBmcm9tIHRlc3QgaW1wb3J0IHN1cHBvcnQKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfbWluaWRvbS5weSBiL0xpYi90ZXN0L3Rlc3RfbWluaWRvbS5weQppbmRleCA0YTY5YjAwLi5jYzRjOTViIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X21pbmlkb20ucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9taW5pZG9tLnB5CkBAIC00LDkgKzQsNyBAQAogZnJvbSB0ZXN0LnN1cHBvcnQgaW1wb3J0IHZlcmJvc2UsIHJ1bl91bml0dGVzdCwgZmluZGZpbGUKIGltcG9ydCB1bml0dGVzdAogCi1pbXBvcnQgeG1sLmRvbQogaW1wb3J0IHhtbC5kb20ubWluaWRvbQotaW1wb3J0IHhtbC5wYXJzZXJzLmV4cGF0CiAKIGZyb20geG1sLmRvbS5taW5pZG9tIGltcG9ydCBwYXJzZSwgTm9kZSwgRG9jdW1lbnQsIHBhcnNlU3RyaW5nCiBmcm9tIHhtbC5kb20ubWluaWRvbSBpbXBvcnQgZ2V0RE9NSW1wbGVtZW50YXRpb24KQEAgLTE0LDcgKzEyLDYgQEAKIAogdHN0ZmlsZSA9IGZpbmRmaWxlKCJ0ZXN0LnhtbCIsIHN1YmRpcj0ieG1sdGVzdGRhdGEiKQogCi0KICMgVGhlIHRlc3RzIG9mIERvY3VtZW50VHlwZSBpbXBvcnRpbmcgdXNlIHRoZXNlIGhlbHBlcnMgdG8gY29uc3RydWN0CiAjIHRoZSBkb2N1bWVudHMgdG8gd29yayB3aXRoLCBzaW5jZSBub3QgYWxsIERPTSBidWlsZGVycyBhY3R1YWxseQogIyBjcmVhdGUgdGhlIERvY3VtZW50VHlwZSBub2Rlcy4KQEAgLTUwLDcgKzQ3LDcgQEAKIAogICAgIGRlZiBjaGVja1dob2xlVGV4dChzZWxmLCBub2RlLCBzKToKICAgICAgICAgdCA9IG5vZGUud2hvbGVUZXh0Ci0gICAgICAgIHNlbGYuY29uZmlybSh0ID09IHMsICJsb29raW5nIGZvciAlcywgZm91bmQgJXMiICUgKHJlcHIocyksIHJlcHIodCkpKQorICAgICAgICBzZWxmLmNvbmZpcm0odCA9PSBzLCAibG9va2luZyBmb3IgJXIsIGZvdW5kICVyIiAlIChzLCB0KSkKIAogICAgIGRlZiB0ZXN0UGFyc2VGcm9tRmlsZShzZWxmKToKICAgICAgICAgd2l0aCBvcGVuKHRzdGZpbGUpIGFzIGZpbGU6CkBAIC0yODIsNiArMjc5LDcgQEAKIAogICAgICAgICBjaGlsZC5zZXRBdHRyaWJ1dGUoImRlZiIsICJnaGkiKQogICAgICAgICBzZWxmLmNvbmZpcm0obGVuKGNoaWxkLmF0dHJpYnV0ZXMpID09IDEpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKHhtbC5kb20uTm90Rm91bmRFcnIsIGNoaWxkLnJlbW92ZUF0dHJpYnV0ZSwgImZvbyIpCiAgICAgICAgIGNoaWxkLnJlbW92ZUF0dHJpYnV0ZSgiZGVmIikKICAgICAgICAgc2VsZi5jb25maXJtKGxlbihjaGlsZC5hdHRyaWJ1dGVzKSA9PSAwKQogICAgICAgICBkb20udW5saW5rKCkKQEAgLTI5Myw2ICsyOTEsOCBAQAogICAgICAgICBjaGlsZC5zZXRBdHRyaWJ1dGVOUygiaHR0cDovL3d3dy53My5vcmciLCAieG1sbnM6cHl0aG9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJodHRwOi8vd3d3LnB5dGhvbi5vcmciKQogICAgICAgICBjaGlsZC5zZXRBdHRyaWJ1dGVOUygiaHR0cDovL3d3dy5weXRob24ub3JnIiwgInB5dGhvbjphYmNhdHRyIiwgImZvbyIpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKHhtbC5kb20uTm90Rm91bmRFcnIsIGNoaWxkLnJlbW92ZUF0dHJpYnV0ZU5TLAorICAgICAgICAgICAgImZvbyIsICJodHRwOi8vd3d3LnB5dGhvbi5vcmciKQogICAgICAgICBzZWxmLmNvbmZpcm0obGVuKGNoaWxkLmF0dHJpYnV0ZXMpID09IDIpCiAgICAgICAgIGNoaWxkLnJlbW92ZUF0dHJpYnV0ZU5TKCJodHRwOi8vd3d3LnB5dGhvbi5vcmciLCAiYWJjYXR0ciIpCiAgICAgICAgIHNlbGYuY29uZmlybShsZW4oY2hpbGQuYXR0cmlidXRlcykgPT0gMSkKQEAgLTMwNCwxMSArMzA0LDIzIEBACiAgICAgICAgIGNoaWxkLnNldEF0dHJpYnV0ZSgic3BhbSIsICJqYW0iKQogICAgICAgICBzZWxmLmNvbmZpcm0obGVuKGNoaWxkLmF0dHJpYnV0ZXMpID09IDEpCiAgICAgICAgIG5vZGUgPSBjaGlsZC5nZXRBdHRyaWJ1dGVOb2RlKCJzcGFtIikKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoeG1sLmRvbS5Ob3RGb3VuZEVyciwgY2hpbGQucmVtb3ZlQXR0cmlidXRlTm9kZSwKKyAgICAgICAgICAgIE5vbmUpCiAgICAgICAgIGNoaWxkLnJlbW92ZUF0dHJpYnV0ZU5vZGUobm9kZSkKICAgICAgICAgc2VsZi5jb25maXJtKGxlbihjaGlsZC5hdHRyaWJ1dGVzKSA9PSAwCiAgICAgICAgICAgICAgICAgYW5kIGNoaWxkLmdldEF0dHJpYnV0ZU5vZGUoInNwYW0iKSBpcyBOb25lKQorICAgICAgICBkb20yID0gRG9jdW1lbnQoKQorICAgICAgICBjaGlsZDIgPSBkb20yLmFwcGVuZENoaWxkKGRvbS5jcmVhdGVFbGVtZW50KCJmb28iKSkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoeG1sLmRvbS5Ob3RGb3VuZEVyciwgY2hpbGQucmVtb3ZlQXR0cmlidXRlTm9kZSwKKyAgICAgICAgICAgIG5vZGUpCiAgICAgICAgIGRvbS51bmxpbmsoKQogCisgICAgZGVmIHRlc3RIYXNBdHRyaWJ1dGUoc2VsZik6CisgICAgICAgIGRvbSA9IERvY3VtZW50KCkKKyAgICAgICAgY2hpbGQgPSBkb20uYXBwZW5kQ2hpbGQoZG9tLmNyZWF0ZUVsZW1lbnQoImZvbyIpKQorICAgICAgICBjaGlsZC5zZXRBdHRyaWJ1dGUoInNwYW0iLCAiamFtIikKKyAgICAgICAgc2VsZi5jb25maXJtKGNoaWxkLmhhc0F0dHJpYnV0ZSgic3BhbSIpKQorCiAgICAgZGVmIHRlc3RDaGFuZ2VBdHRyKHNlbGYpOgogICAgICAgICBkb20gPSBwYXJzZVN0cmluZygiPGFiYy8+IikKICAgICAgICAgZWwgPSBkb20uZG9jdW1lbnRFbGVtZW50CkBAIC01OTIsNyArNjA0LDEzIEBACiAKICAgICBkZWYgdGVzdEZpcnN0Q2hpbGQoc2VsZik6IHBhc3MKIAotICAgIGRlZiB0ZXN0SGFzQ2hpbGROb2RlcyhzZWxmKTogcGFzcworICAgIGRlZiB0ZXN0SGFzQ2hpbGROb2RlcyhzZWxmKToKKyAgICAgICAgZG9tID0gcGFyc2VTdHJpbmcoIjxkb2M+PGZvby8+PC9kb2M+IikKKyAgICAgICAgZG9jID0gZG9tLmRvY3VtZW50RWxlbWVudAorICAgICAgICBzZWxmLmFzc2VydFRydWUoZG9tLmhhc0NoaWxkTm9kZXMoKSkKKyAgICAgICAgZG9tMiA9IHBhcnNlU3RyaW5nKCI8ZG9jLz4iKQorICAgICAgICBkb2MyID0gZG9tMi5kb2N1bWVudEVsZW1lbnQKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShkb2MyLmhhc0NoaWxkTm9kZXMoKSkKIAogICAgIGRlZiBfdGVzdENsb25lRWxlbWVudENvcGllc0F0dHJpYnV0ZXMoc2VsZiwgZTEsIGUyLCB0ZXN0KToKICAgICAgICAgYXR0cnMxID0gZTEuYXR0cmlidXRlcwpAQCAtMTA0MSw0MSArMTA1OSw2IEBACiAgICAgICAgICAgICAgICAgInRlc3QgTm9kZUxpc3QuaXRlbSgpIikKICAgICAgICAgZG9jLnVubGluaygpCiAKLSAgICBkZWYgdGVzdFNBWDJET00oc2VsZik6Ci0gICAgICAgIGZyb20geG1sLmRvbSBpbXBvcnQgcHVsbGRvbQotCi0gICAgICAgIHNheDJkb20gPSBwdWxsZG9tLlNBWDJET00oKQotICAgICAgICBzYXgyZG9tLnN0YXJ0RG9jdW1lbnQoKQotICAgICAgICBzYXgyZG9tLnN0YXJ0RWxlbWVudCgiZG9jIiwge30pCi0gICAgICAgIHNheDJkb20uY2hhcmFjdGVycygidGV4dCIpCi0gICAgICAgIHNheDJkb20uc3RhcnRFbGVtZW50KCJzdWJlbG0iLCB7fSkKLSAgICAgICAgc2F4MmRvbS5jaGFyYWN0ZXJzKCJ0ZXh0IikKLSAgICAgICAgc2F4MmRvbS5lbmRFbGVtZW50KCJzdWJlbG0iKQotICAgICAgICBzYXgyZG9tLmNoYXJhY3RlcnMoInRleHQiKQotICAgICAgICBzYXgyZG9tLmVuZEVsZW1lbnQoImRvYyIpCi0gICAgICAgIHNheDJkb20uZW5kRG9jdW1lbnQoKQotCi0gICAgICAgIGRvYyA9IHNheDJkb20uZG9jdW1lbnQKLSAgICAgICAgcm9vdCA9IGRvYy5kb2N1bWVudEVsZW1lbnQKLSAgICAgICAgKHRleHQxLCBlbG0xLCB0ZXh0MikgPSByb290LmNoaWxkTm9kZXMKLSAgICAgICAgdGV4dDMgPSBlbG0xLmNoaWxkTm9kZXNbMF0KLQotICAgICAgICBzZWxmLmNvbmZpcm0odGV4dDEucHJldmlvdXNTaWJsaW5nIGlzIE5vbmUgYW5kCi0gICAgICAgICAgICAgICAgdGV4dDEubmV4dFNpYmxpbmcgaXMgZWxtMSBhbmQKLSAgICAgICAgICAgICAgICBlbG0xLnByZXZpb3VzU2libGluZyBpcyB0ZXh0MSBhbmQKLSAgICAgICAgICAgICAgICBlbG0xLm5leHRTaWJsaW5nIGlzIHRleHQyIGFuZAotICAgICAgICAgICAgICAgIHRleHQyLnByZXZpb3VzU2libGluZyBpcyBlbG0xIGFuZAotICAgICAgICAgICAgICAgIHRleHQyLm5leHRTaWJsaW5nIGlzIE5vbmUgYW5kCi0gICAgICAgICAgICAgICAgdGV4dDMucHJldmlvdXNTaWJsaW5nIGlzIE5vbmUgYW5kCi0gICAgICAgICAgICAgICAgdGV4dDMubmV4dFNpYmxpbmcgaXMgTm9uZSwgInRlc3RTQVgyRE9NIC0gc2libGluZ3MiKQotCi0gICAgICAgIHNlbGYuY29uZmlybShyb290LnBhcmVudE5vZGUgaXMgZG9jIGFuZAotICAgICAgICAgICAgICAgIHRleHQxLnBhcmVudE5vZGUgaXMgcm9vdCBhbmQKLSAgICAgICAgICAgICAgICBlbG0xLnBhcmVudE5vZGUgaXMgcm9vdCBhbmQKLSAgICAgICAgICAgICAgICB0ZXh0Mi5wYXJlbnROb2RlIGlzIHJvb3QgYW5kCi0gICAgICAgICAgICAgICAgdGV4dDMucGFyZW50Tm9kZSBpcyBlbG0xLCAidGVzdFNBWDJET00gLSBwYXJlbnRzIikKLSAgICAgICAgZG9jLnVubGluaygpCi0KICAgICBkZWYgdGVzdEVuY29kaW5ncyhzZWxmKToKICAgICAgICAgZG9jID0gcGFyc2VTdHJpbmcoJzxmb28+JiN4MjBhYzs8L2Zvbz4nKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRvYy50b3htbCgpLApAQCAtMTUyMiwxMiArMTUwNSwyMSBAQAogICAgICAgICBkb2MuYXBwZW5kQ2hpbGQoZG9jLmNyZWF0ZUNvbW1lbnQoImZvby0tYmFyIikpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIGRvYy50b3htbCkKIAorCiAgICAgZGVmIHRlc3RFbXB0eVhNTE5TVmFsdWUoc2VsZik6CiAgICAgICAgIGRvYyA9IHBhcnNlU3RyaW5nKCI8ZWxlbWVudCB4bWxucz0nJz5cbiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIjxmb28vPlxuPC9lbGVtZW50PiIpCiAgICAgICAgIGRvYzIgPSBwYXJzZVN0cmluZyhkb2MudG94bWwoKSkKICAgICAgICAgc2VsZi5jb25maXJtKGRvYzIubmFtZXNwYWNlVVJJID09IHhtbC5kb20uRU1QVFlfTkFNRVNQQUNFKQogCisgICAgZGVmIHRlc3REb2NSZW1vdmVDaGlsZChzZWxmKToKKyAgICAgICAgZG9jID0gcGFyc2UodHN0ZmlsZSkKKyAgICAgICAgdGl0bGVfdGFnID0gZG9jLmRvY3VtZW50RWxlbWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiVElUTEUiKVswXQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyggeG1sLmRvbS5Ob3RGb3VuZEVyciwgZG9jLnJlbW92ZUNoaWxkLCB0aXRsZV90YWcpCisgICAgICAgIG51bV9jaGlsZHJlbl9iZWZvcmUgPSBsZW4oZG9jLmNoaWxkTm9kZXMpCisgICAgICAgIGRvYy5yZW1vdmVDaGlsZChkb2MuY2hpbGROb2Rlc1swXSkKKyAgICAgICAgbnVtX2NoaWxkcmVuX2FmdGVyID0gbGVuKGRvYy5jaGlsZE5vZGVzKQorICAgICAgICBzZWxmLmFzc2VydFRydWUobnVtX2NoaWxkcmVuX2FmdGVyID09IG51bV9jaGlsZHJlbl9iZWZvcmUgLSAxKQogCiBkZWYgdGVzdF9tYWluKCk6CiAgICAgcnVuX3VuaXR0ZXN0KE1pbmlkb21UZXN0KQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9tbWFwLnB5IGIvTGliL3Rlc3QvdGVzdF9tbWFwLnB5CmluZGV4IDBlMThhYWIuLjIyMzAwMjggMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfbW1hcC5weQorKysgYi9MaWIvdGVzdC90ZXN0X21tYXAucHkKQEAgLTQxNyw2ICs0MTcsMzUgQEAKICAgICAgICAgICAgIG1beF0gPSBiCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1beF0sIGIpCiAKKyAgICBkZWYgdGVzdF9yZWFkX2FsbChzZWxmKToKKyAgICAgICAgbSA9IG1tYXAubW1hcCgtMSwgMTYpCisgICAgICAgIHNlbGYuYWRkQ2xlYW51cChtLmNsb3NlKQorCisgICAgICAgICMgV2l0aCBubyBwYXJhbWV0ZXJzLCBvciBOb25lIG9yIGEgbmVnYXRpdmUgYXJndW1lbnQsIHJlYWRzIGFsbAorICAgICAgICBtLndyaXRlKGJ5dGVzKHJhbmdlKDE2KSkpCisgICAgICAgIG0uc2VlaygwKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG0ucmVhZCgpLCBieXRlcyhyYW5nZSgxNikpKQorICAgICAgICBtLnNlZWsoOCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtLnJlYWQoKSwgYnl0ZXMocmFuZ2UoOCwgMTYpKSkKKyAgICAgICAgbS5zZWVrKDE2KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG0ucmVhZCgpLCBiJycpCisgICAgICAgIG0uc2VlaygzKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG0ucmVhZChOb25lKSwgYnl0ZXMocmFuZ2UoMywgMTYpKSkKKyAgICAgICAgbS5zZWVrKDQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobS5yZWFkKC0xKSwgYnl0ZXMocmFuZ2UoNCwgMTYpKSkKKyAgICAgICAgbS5zZWVrKDUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobS5yZWFkKC0yKSwgYnl0ZXMocmFuZ2UoNSwgMTYpKSkKKyAgICAgICAgbS5zZWVrKDkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobS5yZWFkKC00MiksIGJ5dGVzKHJhbmdlKDksIDE2KSkpCisKKyAgICBkZWYgdGVzdF9yZWFkX2ludmFsaWRfYXJnKHNlbGYpOgorICAgICAgICBtID0gbW1hcC5tbWFwKC0xLCAxNikKKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKG0uY2xvc2UpCisKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBtLnJlYWQsICdmb28nKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIG0ucmVhZCwgNS41KQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIG0ucmVhZCwgWzEsIDIsIDNdKQorCiAgICAgZGVmIHRlc3RfZXh0ZW5kZWRfZ2V0c2xpY2Uoc2VsZik6CiAgICAgICAgICMgVGVzdCBleHRlbmRlZCBzbGljaW5nIGJ5IGNvbXBhcmluZyB3aXRoIGxpc3Qgc2xpY2luZy4KICAgICAgICAgcyA9IGJ5dGVzKHJldmVyc2VkKHJhbmdlKDI1NikpKQpAQCAtNTM0LDggKzU2Myw3IEBACiAgICAgICAgIGYuY2xvc2UoKQogCiAgICAgZGVmIHRlc3RfZXJyb3Ioc2VsZik6Ci0gICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShpc3N1YmNsYXNzKG1tYXAuZXJyb3IsIEVudmlyb25tZW50RXJyb3IpKQotICAgICAgICBzZWxmLmFzc2VydEluKCJtbWFwLmVycm9yIiwgc3RyKG1tYXAuZXJyb3IpKQorICAgICAgICBzZWxmLmFzc2VydElzKG1tYXAuZXJyb3IsIE9TRXJyb3IpCiAKICAgICBkZWYgdGVzdF9pb19tZXRob2RzKHNlbGYpOgogICAgICAgICBkYXRhID0gYiIwMTIzNDU2Nzg5IgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9tb2R1bGUucHkgYi9MaWIvdGVzdC90ZXN0X21vZHVsZS5weQppbmRleCAxNTgzNmNhLi41NjE3Nzg5IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X21vZHVsZS5weQorKysgYi9MaWIvdGVzdC90ZXN0X21vZHVsZS5weQpAQCAtNzAsOSArNzAsMTEgQEAKICAgICAgICAgbSA9IE1vZHVsZVR5cGUoImZvbyIpCiAgICAgICAgIG0uZGVzdHJveWVkID0gZGVzdHJveWVkCiAgICAgICAgIHMgPSAiIiJjbGFzcyBBOgotICAgIGRlZiBfX2RlbF9fKHNlbGYsIGRlc3Ryb3llZD1kZXN0cm95ZWQpOgotICAgICAgICBkZXN0cm95ZWQuYXBwZW5kKDEpCi1hID0gQSgpIiIiCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGwpOgorICAgICAgICBzZWxmLmwgPSBsCisgICAgZGVmIF9fZGVsX18oc2VsZik6CisgICAgICAgIHNlbGYubC5hcHBlbmQoMSkKK2EgPSBBKGRlc3Ryb3llZCkiIiIKICAgICAgICAgZXhlYyhzLCBtLl9fZGljdF9fKQogICAgICAgICBkZWwgbQogICAgICAgICBnY19jb2xsZWN0KCkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfbW9kdWxlZmluZGVyLnB5IGIvTGliL3Rlc3QvdGVzdF9tb2R1bGVmaW5kZXIucHkKaW5kZXggYTE4NDIxNy4uYzVmYzMyMCAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9tb2R1bGVmaW5kZXIucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9tb2R1bGVmaW5kZXIucHkKQEAgLTEsNyArMSw3IEBACi1pbXBvcnQgX19mdXR1cmVfXwogaW1wb3J0IG9zCitpbXBvcnQgZXJybm8KK2ltcG9ydCBzaHV0aWwKIGltcG9ydCB1bml0dGVzdAotaW1wb3J0IGRpc3R1dGlscy5kaXJfdXRpbAogaW1wb3J0IHRlbXBmaWxlCiAKIGZyb20gdGVzdCBpbXBvcnQgc3VwcG9ydApAQCAtOSw3ICs5LDcgQEAKIGltcG9ydCBtb2R1bGVmaW5kZXIKIAogVEVTVF9ESVIgPSB0ZW1wZmlsZS5ta2R0ZW1wKCkKLVRFU1RfUEFUSCA9IFtURVNUX0RJUiwgb3MucGF0aC5kaXJuYW1lKF9fZnV0dXJlX18uX19maWxlX18pXQorVEVTVF9QQVRIID0gW1RFU1RfRElSLCBvcy5wYXRoLmRpcm5hbWUodGVtcGZpbGUuX19maWxlX18pXQogCiAjIEVhY2ggdGVzdCBkZXNjcmlwdGlvbiBpcyBhIGxpc3Qgb2YgNSBpdGVtczoKICMKQEAgLTE5NiwxMiArMTk2LDE3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb20gLiBpbXBvcnQgYmFyCiAiIiJdCiAKKwogZGVmIG9wZW5fZmlsZShwYXRoKToKLSAgICAjI3ByaW50ICIjIiwgb3MucGF0aC5hYnNwYXRoKHBhdGgpCiAgICAgZGlybmFtZSA9IG9zLnBhdGguZGlybmFtZShwYXRoKQotICAgIGRpc3R1dGlscy5kaXJfdXRpbC5ta3BhdGgoZGlybmFtZSkKKyAgICB0cnk6CisgICAgICAgIG9zLm1ha2VkaXJzKGRpcm5hbWUpCisgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKKyAgICAgICAgaWYgZS5lcnJubyAhPSBlcnJuby5FRVhJU1Q6CisgICAgICAgICAgICByYWlzZQogICAgIHJldHVybiBvcGVuKHBhdGgsICJ3IikKIAorCiBkZWYgY3JlYXRlX3BhY2thZ2Uoc291cmNlKToKICAgICBvZmkgPSBOb25lCiAgICAgdHJ5OgpAQCAtMjE2LDYgKzIyMSw3IEBACiAgICAgICAgIGlmIG9maToKICAgICAgICAgICAgIG9maS5jbG9zZSgpCiAKKwogY2xhc3MgTW9kdWxlRmluZGVyVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgZGVmIF9kb190ZXN0KHNlbGYsIGluZm8sIHJlcG9ydD1GYWxzZSk6CiAgICAgICAgIGltcG9ydF90aGlzLCBtb2R1bGVzLCBtaXNzaW5nLCBtYXliZV9taXNzaW5nLCBzb3VyY2UgPSBpbmZvCkBAIC0yMzQsMTkgKzI0MCwxNyBAQAogIyMgICAgICAgICAgICAgICAgICAgIGltcG9ydCB0cmFjZWJhY2s7IHRyYWNlYmFjay5wcmludF9leGMoKQogIyMgICAgICAgICAgICAgICAgc3lzLnBhdGggPSBvcGF0aAogIyMgICAgICAgICAgICAgICAgcmV0dXJuCi0gICAgICAgICAgICBtb2R1bGVzID0gc2V0KG1vZHVsZXMpCi0gICAgICAgICAgICBmb3VuZCA9IHNldChtZi5tb2R1bGVzLmtleXMoKSkKLSAgICAgICAgICAgIG1vcmUgPSBsaXN0KGZvdW5kIC0gbW9kdWxlcykKLSAgICAgICAgICAgIGxlc3MgPSBsaXN0KG1vZHVsZXMgLSBmb3VuZCkKKyAgICAgICAgICAgIG1vZHVsZXMgPSBzb3J0ZWQoc2V0KG1vZHVsZXMpKQorICAgICAgICAgICAgZm91bmQgPSBzb3J0ZWQobWYubW9kdWxlcykKICAgICAgICAgICAgICMgY2hlY2sgaWYgd2UgZm91bmQgd2hhdCB3ZSBleHBlY3RlZCwgbm90IG1vcmUsIG5vdCBsZXNzCi0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKChtb3JlLCBsZXNzKSwgKFtdLCBbXSkpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGZvdW5kLCBtb2R1bGVzKQogCiAgICAgICAgICAgICAjIGNoZWNrIGZvciBtaXNzaW5nIGFuZCBtYXliZSBtaXNzaW5nIG1vZHVsZXMKICAgICAgICAgICAgIGJhZCwgbWF5YmUgPSBtZi5hbnlfbWlzc2luZ19tYXliZSgpCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJhZCwgbWlzc2luZykKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobWF5YmUsIG1heWJlX21pc3NpbmcpCiAgICAgICAgIGZpbmFsbHk6Ci0gICAgICAgICAgICBkaXN0dXRpbHMuZGlyX3V0aWwucmVtb3ZlX3RyZWUoVEVTVF9ESVIpCisgICAgICAgICAgICBzaHV0aWwucm10cmVlKFRFU1RfRElSKQogCiAgICAgZGVmIHRlc3RfcGFja2FnZShzZWxmKToKICAgICAgICAgc2VsZi5fZG9fdGVzdChwYWNrYWdlX3Rlc3QpCkBAIC0yNTQsMjUgKzI1OCwyMyBAQAogICAgIGRlZiB0ZXN0X21heWJlKHNlbGYpOgogICAgICAgICBzZWxmLl9kb190ZXN0KG1heWJlX3Rlc3QpCiAKLSAgICBpZiBnZXRhdHRyKF9fZnV0dXJlX18sICJhYnNvbHV0ZV9pbXBvcnQiLCBOb25lKToKKyAgICBkZWYgdGVzdF9tYXliZV9uZXcoc2VsZik6CisgICAgICAgIHNlbGYuX2RvX3Rlc3QobWF5YmVfdGVzdF9uZXcpCiAKLSAgICAgICAgZGVmIHRlc3RfbWF5YmVfbmV3KHNlbGYpOgotICAgICAgICAgICAgc2VsZi5fZG9fdGVzdChtYXliZV90ZXN0X25ldykKKyAgICBkZWYgdGVzdF9hYnNvbHV0ZV9pbXBvcnRzKHNlbGYpOgorICAgICAgICBzZWxmLl9kb190ZXN0KGFic29sdXRlX2ltcG9ydF90ZXN0KQogCi0gICAgICAgIGRlZiB0ZXN0X2Fic29sdXRlX2ltcG9ydHMoc2VsZik6Ci0gICAgICAgICAgICBzZWxmLl9kb190ZXN0KGFic29sdXRlX2ltcG9ydF90ZXN0KQorICAgIGRlZiB0ZXN0X3JlbGF0aXZlX2ltcG9ydHMoc2VsZik6CisgICAgICAgIHNlbGYuX2RvX3Rlc3QocmVsYXRpdmVfaW1wb3J0X3Rlc3QpCiAKLSAgICAgICAgZGVmIHRlc3RfcmVsYXRpdmVfaW1wb3J0cyhzZWxmKToKLSAgICAgICAgICAgIHNlbGYuX2RvX3Rlc3QocmVsYXRpdmVfaW1wb3J0X3Rlc3QpCisgICAgZGVmIHRlc3RfcmVsYXRpdmVfaW1wb3J0c18yKHNlbGYpOgorICAgICAgICBzZWxmLl9kb190ZXN0KHJlbGF0aXZlX2ltcG9ydF90ZXN0XzIpCiAKLSAgICAgICAgZGVmIHRlc3RfcmVsYXRpdmVfaW1wb3J0c18yKHNlbGYpOgotICAgICAgICAgICAgc2VsZi5fZG9fdGVzdChyZWxhdGl2ZV9pbXBvcnRfdGVzdF8yKQorICAgIGRlZiB0ZXN0X3JlbGF0aXZlX2ltcG9ydHNfMyhzZWxmKToKKyAgICAgICAgc2VsZi5fZG9fdGVzdChyZWxhdGl2ZV9pbXBvcnRfdGVzdF8zKQogCi0gICAgICAgIGRlZiB0ZXN0X3JlbGF0aXZlX2ltcG9ydHNfMyhzZWxmKToKLSAgICAgICAgICAgIHNlbGYuX2RvX3Rlc3QocmVsYXRpdmVfaW1wb3J0X3Rlc3RfMykKIAogZGVmIHRlc3RfbWFpbigpOgotICAgIGRpc3R1dGlscy5sb2cuc2V0X3RocmVzaG9sZChkaXN0dXRpbHMubG9nLldBUk4pCiAgICAgc3VwcG9ydC5ydW5fdW5pdHRlc3QoTW9kdWxlRmluZGVyVGVzdCkKIAogaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfbXVsdGlieXRlY29kZWMucHkgYi9MaWIvdGVzdC90ZXN0X211bHRpYnl0ZWNvZGVjLnB5CmluZGV4IDg2YzY4ZGMuLmZlYjdiZDUgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfbXVsdGlieXRlY29kZWMucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9tdWx0aWJ5dGVjb2RlYy5weQpAQCAtMjQ3LDIwICsyNDcsMTYgQEAKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoYW55KHggPiAweDgwIGZvciB4IGluIGUpKQogCiAgICAgZGVmIHRlc3RfYnVnMTU3MjgzMihzZWxmKToKLSAgICAgICAgaWYgc3lzLm1heHVuaWNvZGUgPj0gMHgxMDAwMDoKLSAgICAgICAgICAgIG15dW5pY2hyID0gY2hyCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBteXVuaWNociA9IGxhbWJkYSB4OiBjaHIoMHhEN0MwKyh4Pj4xMCkpICsgY2hyKDB4REMwMCsoeCYweDNGRikpCi0KICAgICAgICAgZm9yIHggaW4gcmFuZ2UoMHgxMDAwMCwgMHgxMTAwMDApOgogICAgICAgICAgICAgIyBBbnkgSVNPIDIwMjIgY29kZWMgd2lsbCBjYXVzZSB0aGUgc2VnZmF1bHQKLSAgICAgICAgICAgIG15dW5pY2hyKHgpLmVuY29kZSgnaXNvXzIwMjJfanAnLCAnaWdub3JlJykKKyAgICAgICAgICAgIGNocih4KS5lbmNvZGUoJ2lzb18yMDIyX2pwJywgJ2lnbm9yZScpCiAKIGNsYXNzIFRlc3RTdGF0ZWZ1bCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgdGV4dCA9ICdcdTRFMTZcdTRFMTYnCiAgICAgZW5jb2RpbmcgPSAnaXNvLTIwMjItanAnCiAgICAgZXhwZWN0ZWQgPSBiJ1x4MWIkQkAkQCQnCi0gICAgZXhwZWN0ZWRfcmVzZXQgPSBiJ1x4MWIkQkAkQCRceDFiKEInCisgICAgcmVzZXQgPSBiJ1x4MWIoQicKKyAgICBleHBlY3RlZF9yZXNldCA9IGV4cGVjdGVkICsgcmVzZXQKIAogICAgIGRlZiB0ZXN0X2VuY29kZShzZWxmKToKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLnRleHQuZW5jb2RlKHNlbGYuZW5jb2RpbmcpLCBzZWxmLmV4cGVjdGVkX3Jlc2V0KQpAQCAtMjcxLDYgKzI2Nyw4IEBACiAgICAgICAgICAgICBlbmNvZGVyLmVuY29kZShjaGFyKQogICAgICAgICAgICAgZm9yIGNoYXIgaW4gc2VsZi50ZXh0KQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG91dHB1dCwgc2VsZi5leHBlY3RlZCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChlbmNvZGVyLmVuY29kZSgnJywgZmluYWw9VHJ1ZSksIHNlbGYucmVzZXQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZW5jb2Rlci5lbmNvZGUoJycsIGZpbmFsPVRydWUpLCBiJycpCiAKICAgICBkZWYgdGVzdF9pbmNyZW1lbnRhbGVuY29kZXJfZmluYWwoc2VsZik6CiAgICAgICAgIGVuY29kZXIgPSBjb2RlY3MuZ2V0aW5jcmVtZW50YWxlbmNvZGVyKHNlbGYuZW5jb2RpbmcpKCkKQEAgLTI3OSwxMiArMjc3LDE0IEBACiAgICAgICAgICAgICBlbmNvZGVyLmVuY29kZShjaGFyLCBpbmRleCA9PSBsYXN0X2luZGV4KQogICAgICAgICAgICAgZm9yIGluZGV4LCBjaGFyIGluIGVudW1lcmF0ZShzZWxmLnRleHQpKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG91dHB1dCwgc2VsZi5leHBlY3RlZF9yZXNldCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChlbmNvZGVyLmVuY29kZSgnJywgZmluYWw9VHJ1ZSksIGInJykKIAogY2xhc3MgVGVzdEhaU3RhdGVmdWwoVGVzdFN0YXRlZnVsKToKICAgICB0ZXh0ID0gJ1x1ODA0YVx1ODA0YScKICAgICBlbmNvZGluZyA9ICdoeicKICAgICBleHBlY3RlZCA9IGInfntBREFEJwotICAgIGV4cGVjdGVkX3Jlc2V0ID0gYid+e0FEQUR+fScKKyAgICByZXNldCA9IGInfn0nCisgICAgZXhwZWN0ZWRfcmVzZXQgPSBleHBlY3RlZCArIHJlc2V0CiAKIGRlZiB0ZXN0X21haW4oKToKICAgICBzdXBwb3J0LnJ1bl91bml0dGVzdChfX25hbWVfXykKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfbXVsdGlieXRlY29kZWNfc3VwcG9ydC5weSBiL0xpYi90ZXN0L3Rlc3RfbXVsdGlieXRlY29kZWNfc3VwcG9ydC5weQppbmRleCBlZjYzYjY5Li5hYzNiOTJiIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X211bHRpYnl0ZWNvZGVjX3N1cHBvcnQucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9tdWx0aWJ5dGVjb2RlY19zdXBwb3J0LnB5CkBAIC0yNjQsMjEgKzI2NCw2IEBACiAKICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG9zdHJlYW0uZ2V0dmFsdWUoKSwgc2VsZi50c3RyaW5nWzBdKQogCi1pZiBsZW4oJ1xVMDAwMTIzNDUnKSA9PSAyOiAjIHVjczIgYnVpbGQKLSAgICBfdW5pY2hyID0gY2hyCi0gICAgZGVmIGNocih2KToKLSAgICAgICAgaWYgdiA+PSAweDEwMDAwOgotICAgICAgICAgICAgcmV0dXJuIF91bmljaHIoMHhkODAwICsgKCh2IC0gMHgxMDAwMCkgPj4gMTApKSArIFwKLSAgICAgICAgICAgICAgICAgICBfdW5pY2hyKDB4ZGMwMCArICgodiAtIDB4MTAwMDApICYgMHgzZmYpKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgcmV0dXJuIF91bmljaHIodikKLSAgICBfb3JkID0gb3JkCi0gICAgZGVmIG9yZChjKToKLSAgICAgICAgaWYgbGVuKGMpID09IDI6Ci0gICAgICAgICAgICByZXR1cm4gMHgxMDAwMCArICgoX29yZChjWzBdKSAtIDB4ZDgwMCkgPDwgMTApICsgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAob3JkKGNbMV0pIC0gMHhkYzAwKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgcmV0dXJuIF9vcmQoYykKIAogY2xhc3MgVGVzdEJhc2VfTWFwcGluZyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgcGFzc19lbmN0ZXN0ID0gW10KZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfbXVsdGlwcm9jZXNzaW5nLnB5IGIvTGliL3Rlc3QvdGVzdF9tdWx0aXByb2Nlc3NpbmcucHkKaW5kZXggOGVkYjQyMC4uZDY1Y2Y2ZSAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9tdWx0aXByb2Nlc3NpbmcucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9tdWx0aXByb2Nlc3NpbmcucHkKQEAgLTgsNiArOCw3IEBACiBpbXBvcnQgcXVldWUgYXMgcHlxdWV1ZQogaW1wb3J0IHRpbWUKIGltcG9ydCBpbworaW1wb3J0IGl0ZXJ0b29scwogaW1wb3J0IHN5cwogaW1wb3J0IG9zCiBpbXBvcnQgZ2MKQEAgLTgyLDYgKzgzLDIzIEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0hBVkVfQlJPS0VOX1NFTV9HRVRWQUxVRScsIEZhbHNlKQogCiBXSU4zMiA9IChzeXMucGxhdGZvcm0gPT0gIndpbjMyIikKK2lmIFdJTjMyOgorICAgIGZyb20gX3N1YnByb2Nlc3MgaW1wb3J0IFdhaXRGb3JTaW5nbGVPYmplY3QsIElORklOSVRFLCBXQUlUX09CSkVDVF8wCisKKyAgICBkZWYgd2FpdF9mb3JfaGFuZGxlKGhhbmRsZSwgdGltZW91dCk6CisgICAgICAgIGlmIHRpbWVvdXQgaXMgTm9uZSBvciB0aW1lb3V0IDwgMC4wOgorICAgICAgICAgICAgdGltZW91dCA9IElORklOSVRFCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICB0aW1lb3V0ID0gaW50KDEwMDAgKiB0aW1lb3V0KQorICAgICAgICByZXR1cm4gV2FpdEZvclNpbmdsZU9iamVjdChoYW5kbGUsIHRpbWVvdXQpID09IFdBSVRfT0JKRUNUXzAKK2Vsc2U6CisgICAgZnJvbSBzZWxlY3QgaW1wb3J0IHNlbGVjdAorICAgIF9zZWxlY3QgPSB1dGlsLl9laW50cl9yZXRyeShzZWxlY3QpCisKKyAgICBkZWYgd2FpdF9mb3JfaGFuZGxlKGhhbmRsZSwgdGltZW91dCk6CisgICAgICAgIGlmIHRpbWVvdXQgaXMgbm90IE5vbmUgYW5kIHRpbWVvdXQgPCAwLjA6CisgICAgICAgICAgICB0aW1lb3V0ID0gTm9uZQorICAgICAgICByZXR1cm4gaGFuZGxlIGluIF9zZWxlY3QoW2hhbmRsZV0sIFtdLCBbXSwgdGltZW91dClbMF0KIAogdHJ5OgogICAgIE1BWEZEID0gb3Muc3lzY29uZigiU0NfT1BFTl9NQVgiKQpAQCAtMTk2LDYgKzIxNCwxOCBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGN1cnJlbnQuaWRlbnQsIG9zLmdldHBpZCgpKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGN1cnJlbnQuZXhpdGNvZGUsIE5vbmUpCiAKKyAgICBkZWYgdGVzdF9kYWVtb25fYXJndW1lbnQoc2VsZik6CisgICAgICAgIGlmIHNlbGYuVFlQRSA9PSAidGhyZWFkcyI6CisgICAgICAgICAgICByZXR1cm4KKworICAgICAgICAjIEJ5IGRlZmF1bHQgdXNlcyB0aGUgY3VycmVudCBwcm9jZXNzJ3MgZGFlbW9uIGZsYWcuCisgICAgICAgIHByb2MwID0gc2VsZi5Qcm9jZXNzKHRhcmdldD1zZWxmLl90ZXN0KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHByb2MwLmRhZW1vbiwgc2VsZi5jdXJyZW50X3Byb2Nlc3MoKS5kYWVtb24pCisgICAgICAgIHByb2MxID0gc2VsZi5Qcm9jZXNzKHRhcmdldD1zZWxmLl90ZXN0LCBkYWVtb249VHJ1ZSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHByb2MxLmRhZW1vbikKKyAgICAgICAgcHJvYzIgPSBzZWxmLlByb2Nlc3ModGFyZ2V0PXNlbGYuX3Rlc3QsIGRhZW1vbj1GYWxzZSkKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShwcm9jMi5kYWVtb24pCisKICAgICBAY2xhc3NtZXRob2QKICAgICBkZWYgX3Rlc3QoY2xzLCBxLCAqYXJncywgKiprd2RzKToKICAgICAgICAgY3VycmVudCA9IGNscy5jdXJyZW50X3Byb2Nlc3MoKQpAQCAtMzI4LDYgKzM1OCwyNiBAQAogICAgICAgICAgICAgXQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlc3VsdCwgZXhwZWN0ZWQpCiAKKyAgICBAY2xhc3NtZXRob2QKKyAgICBkZWYgX3Rlc3Rfc2VudGluZWwoY2xzLCBldmVudCk6CisgICAgICAgIGV2ZW50LndhaXQoMTAuMCkKKworICAgIGRlZiB0ZXN0X3NlbnRpbmVsKHNlbGYpOgorICAgICAgICBpZiBzZWxmLlRZUEUgPT0gInRocmVhZHMiOgorICAgICAgICAgICAgcmV0dXJuCisgICAgICAgIGV2ZW50ID0gc2VsZi5FdmVudCgpCisgICAgICAgIHAgPSBzZWxmLlByb2Nlc3ModGFyZ2V0PXNlbGYuX3Rlc3Rfc2VudGluZWwsIGFyZ3M9KGV2ZW50LCkpCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvcik6CisgICAgICAgICAgICBwLnNlbnRpbmVsCisgICAgICAgIHAuc3RhcnQoKQorICAgICAgICBzZWxmLmFkZENsZWFudXAocC5qb2luKQorICAgICAgICBzZW50aW5lbCA9IHAuc2VudGluZWwKKyAgICAgICAgc2VsZi5hc3NlcnRJc0luc3RhbmNlKHNlbnRpbmVsLCBpbnQpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2Uod2FpdF9mb3JfaGFuZGxlKHNlbnRpbmVsLCB0aW1lb3V0PTAuMCkpCisgICAgICAgIGV2ZW50LnNldCgpCisgICAgICAgIHAuam9pbigpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSh3YWl0X2Zvcl9oYW5kbGUoc2VudGluZWwsIHRpbWVvdXQ9REVMVEEpKQorCiAjCiAjCiAjCkBAIC0xMDk5LDYgKzExNDksOSBAQAogICAgIHRpbWUuc2xlZXAod2FpdCkKICAgICByZXR1cm4geCp4CiAKK2RlZiBtdWwoeCwgeSk6CisgICAgcmV0dXJuIHgqeQorCiBjbGFzcyBfVGVzdFBvb2woQmFzZVRlc3RDYXNlKToKIAogICAgIGRlZiB0ZXN0X2FwcGx5KHNlbGYpOgpAQCAtMTExMiw2ICsxMTY1LDIwIEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocG1hcChzcXIsIGxpc3QocmFuZ2UoMTAwKSksIGNodW5rc2l6ZT0yMCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgbGlzdChtYXAoc3FyLCBsaXN0KHJhbmdlKDEwMCkpKSkpCiAKKyAgICBkZWYgdGVzdF9zdGFybWFwKHNlbGYpOgorICAgICAgICBwc21hcCA9IHNlbGYucG9vbC5zdGFybWFwCisgICAgICAgIHR1cGxlcyA9IGxpc3QoemlwKHJhbmdlKDEwKSwgcmFuZ2UoOSwtMSwgLTEpKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwc21hcChtdWwsIHR1cGxlcyksCisgICAgICAgICAgICAgICAgICAgICAgICAgbGlzdChpdGVydG9vbHMuc3Rhcm1hcChtdWwsIHR1cGxlcykpKQorICAgICAgICB0dXBsZXMgPSBsaXN0KHppcChyYW5nZSgxMDApLCByYW5nZSg5OSwtMSwgLTEpKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwc21hcChtdWwsIHR1cGxlcywgY2h1bmtzaXplPTIwKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0KGl0ZXJ0b29scy5zdGFybWFwKG11bCwgdHVwbGVzKSkpCisKKyAgICBkZWYgdGVzdF9zdGFybWFwX2FzeW5jKHNlbGYpOgorICAgICAgICB0dXBsZXMgPSBsaXN0KHppcChyYW5nZSgxMDApLCByYW5nZSg5OSwtMSwgLTEpKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLnBvb2wuc3Rhcm1hcF9hc3luYyhtdWwsIHR1cGxlcykuZ2V0KCksCisgICAgICAgICAgICAgICAgICAgICAgICAgbGlzdChpdGVydG9vbHMuc3Rhcm1hcChtdWwsIHR1cGxlcykpKQorCiAgICAgZGVmIHRlc3RfbWFwX2NodW5rc2l6ZShzZWxmKToKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgc2VsZi5wb29sLm1hcF9hc3luYyhzcXIsIFtdLCBjaHVua3NpemU9MSkuZ2V0KHRpbWVvdXQ9VElNRU9VVDEpCkBAIC0xNzEyLDYgKzE3NzksMTcgQEAKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoUnVudGltZUVycm9yLCByZWR1Y3Rpb24ucmVjdl9oYW5kbGUsIGNvbm4pCiAgICAgICAgIHAuam9pbigpCiAKK2NsYXNzIF9UZXN0TGlzdGVuZXIoQmFzZVRlc3RDYXNlKToKKworICAgIEFMTE9XRURfVFlQRVMgPSAoJ3Byb2Nlc3NlcycpCisKKyAgICBkZWYgdGVzdF9tdWx0aXBsZV9iaW5kKHNlbGYpOgorICAgICAgICBmb3IgZmFtaWx5IGluIHNlbGYuY29ubmVjdGlvbi5mYW1pbGllczoKKyAgICAgICAgICAgIGwgPSBzZWxmLmNvbm5lY3Rpb24uTGlzdGVuZXIoZmFtaWx5PWZhbWlseSkKKyAgICAgICAgICAgIHNlbGYuYWRkQ2xlYW51cChsLmNsb3NlKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoT1NFcnJvciwgc2VsZi5jb25uZWN0aW9uLkxpc3RlbmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbC5hZGRyZXNzLCBmYW1pbHkpCisKIGNsYXNzIF9UZXN0TGlzdGVuZXJDbGllbnQoQmFzZVRlc3RDYXNlKToKIAogICAgIEFMTE9XRURfVFlQRVMgPSAoJ3Byb2Nlc3NlcycsICd0aHJlYWRzJykKQEAgLTE3MzIsNiArMTgxMCw4NSBAQAogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjb25uLnJlY3YoKSwgJ2hlbGxvJykKICAgICAgICAgICAgIHAuam9pbigpCiAgICAgICAgICAgICBsLmNsb3NlKCkKKworY2xhc3MgX1Rlc3RQb2xsKHVuaXR0ZXN0LlRlc3RDYXNlKToKKworICAgIEFMTE9XRURfVFlQRVMgPSAoJ3Byb2Nlc3NlcycsICd0aHJlYWRzJykKKworICAgIGRlZiB0ZXN0X2VtcHR5X3N0cmluZyhzZWxmKToKKyAgICAgICAgYSwgYiA9IHNlbGYuUGlwZSgpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYS5wb2xsKCksIEZhbHNlKQorICAgICAgICBiLnNlbmRfYnl0ZXMoYicnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGEucG9sbCgpLCBUcnVlKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGEucG9sbCgpLCBUcnVlKQorCisgICAgQGNsYXNzbWV0aG9kCisgICAgZGVmIF9jaGlsZF9zdHJpbmdzKGNscywgY29ubiwgc3RyaW5ncyk6CisgICAgICAgIGZvciBzIGluIHN0cmluZ3M6CisgICAgICAgICAgICB0aW1lLnNsZWVwKDAuMSkKKyAgICAgICAgICAgIGNvbm4uc2VuZF9ieXRlcyhzKQorICAgICAgICBjb25uLmNsb3NlKCkKKworICAgIGRlZiB0ZXN0X3N0cmluZ3Moc2VsZik6CisgICAgICAgIHN0cmluZ3MgPSAoYidoZWxsbycsIGInJywgYidhJywgYidiJywgYicnLCBiJ2J5ZScsIGInJywgYidsb3AnKQorICAgICAgICBhLCBiID0gc2VsZi5QaXBlKCkKKyAgICAgICAgcCA9IHNlbGYuUHJvY2Vzcyh0YXJnZXQ9c2VsZi5fY2hpbGRfc3RyaW5ncywgYXJncz0oYiwgc3RyaW5ncykpCisgICAgICAgIHAuc3RhcnQoKQorCisgICAgICAgIGZvciBzIGluIHN0cmluZ3M6CisgICAgICAgICAgICBmb3IgaSBpbiByYW5nZSgyMDApOgorICAgICAgICAgICAgICAgIGlmIGEucG9sbCgwLjAxKToKKyAgICAgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgICAgIHggPSBhLnJlY3ZfYnl0ZXMoKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzLCB4KQorCisgICAgICAgIHAuam9pbigpCisKKyAgICBAY2xhc3NtZXRob2QKKyAgICBkZWYgX2NoaWxkX2JvdW5kYXJpZXMoY2xzLCByKToKKyAgICAgICAgIyBQb2xsaW5nIG1heSAicHVsbCIgYSBtZXNzYWdlIGluIHRvIHRoZSBjaGlsZCBwcm9jZXNzLCBidXQgd2UKKyAgICAgICAgIyBkb24ndCB3YW50IGl0IHRvIHB1bGwgb25seSBwYXJ0IG9mIGEgbWVzc2FnZSwgYXMgdGhhdCB3b3VsZAorICAgICAgICAjIGNvcnJ1cHQgdGhlIHBpcGUgZm9yIGFueSBvdGhlciBwcm9jZXNzZXMgd2hpY2ggbWlnaHQgbGF0ZXIKKyAgICAgICAgIyByZWFkIGZyb20gaXQuCisgICAgICAgIHIucG9sbCg1KQorCisgICAgZGVmIHRlc3RfYm91bmRhcmllcyhzZWxmKToKKyAgICAgICAgciwgdyA9IHNlbGYuUGlwZShGYWxzZSkKKyAgICAgICAgcCA9IHNlbGYuUHJvY2Vzcyh0YXJnZXQ9c2VsZi5fY2hpbGRfYm91bmRhcmllcywgYXJncz0ociwpKQorICAgICAgICBwLnN0YXJ0KCkKKyAgICAgICAgdGltZS5zbGVlcCgyKQorICAgICAgICBMID0gW2IiZmlyc3QiLCBiInNlY29uZCJdCisgICAgICAgIGZvciBvYmogaW4gTDoKKyAgICAgICAgICAgIHcuc2VuZF9ieXRlcyhvYmopCisgICAgICAgIHcuY2xvc2UoKQorICAgICAgICBwLmpvaW4oKQorICAgICAgICBzZWxmLmFzc2VydEluKHIucmVjdl9ieXRlcygpLCBMKQorCisgICAgQGNsYXNzbWV0aG9kCisgICAgZGVmIF9jaGlsZF9kb250X21lcmdlKGNscywgYik6CisgICAgICAgIGIuc2VuZF9ieXRlcyhiJ2EnKQorICAgICAgICBiLnNlbmRfYnl0ZXMoYidiJykKKyAgICAgICAgYi5zZW5kX2J5dGVzKGInY2QnKQorCisgICAgZGVmIHRlc3RfZG9udF9tZXJnZShzZWxmKToKKyAgICAgICAgYSwgYiA9IHNlbGYuUGlwZSgpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYS5wb2xsKDAuMCksIEZhbHNlKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGEucG9sbCgwLjEpLCBGYWxzZSkKKworICAgICAgICBwID0gc2VsZi5Qcm9jZXNzKHRhcmdldD1zZWxmLl9jaGlsZF9kb250X21lcmdlLCBhcmdzPShiLCkpCisgICAgICAgIHAuc3RhcnQoKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYS5yZWN2X2J5dGVzKCksIGInYScpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYS5wb2xsKDEuMCksIFRydWUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYS5wb2xsKDEuMCksIFRydWUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYS5yZWN2X2J5dGVzKCksIGInYicpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYS5wb2xsKDEuMCksIFRydWUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYS5wb2xsKDEuMCksIFRydWUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYS5wb2xsKDAuMCksIFRydWUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYS5yZWN2X2J5dGVzKCksIGInY2QnKQorCisgICAgICAgIHAuam9pbigpCisKICMKICMgVGVzdCBvZiBzZW5kaW5nIGNvbm5lY3Rpb24gYW5kIHNvY2tldCBvYmplY3RzIGJldHdlZW4gcHJvY2Vzc2VzCiAjCkBAIC0yMTE0LDkgKzIyNzEsMTUgQEAKIAogICAgIEB1bml0dGVzdC5za2lwSWYoV0lOMzIsICJza2lwcGVkIG9uIFdpbmRvd3MiKQogICAgIGRlZiB0ZXN0X2ludmFsaWRfaGFuZGxlcyhzZWxmKToKLSAgICAgICAgY29ubiA9IF9tdWx0aXByb2Nlc3NpbmcuQ29ubmVjdGlvbig0NDk3NzYwOCkKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoSU9FcnJvciwgY29ubi5wb2xsKQotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhJT0Vycm9yLCBfbXVsdGlwcm9jZXNzaW5nLkNvbm5lY3Rpb24sIC0xKQorICAgICAgICBjb25uID0gbXVsdGlwcm9jZXNzaW5nLmNvbm5lY3Rpb24uQ29ubmVjdGlvbig0NDk3NzYwOCkKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoKFZhbHVlRXJyb3IsIElPRXJyb3IpLCBjb25uLnBvbGwpCisgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICAjIEhhY2sgcHJpdmF0ZSBhdHRyaWJ1dGUgX2hhbmRsZSB0byBhdm9pZCBwcmludGluZyBhbiBlcnJvcgorICAgICAgICAgICAgIyBpbiBjb25uLl9fZGVsX18KKyAgICAgICAgICAgIGNvbm4uX2hhbmRsZSA9IE5vbmUKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoKFZhbHVlRXJyb3IsIElPRXJyb3IpLAorICAgICAgICAgICAgICAgICAgICAgICAgICBtdWx0aXByb2Nlc3NpbmcuY29ubmVjdGlvbi5Db25uZWN0aW9uLCAtMSkKIAogIwogIyBGdW5jdGlvbnMgdXNlZCB0byBjcmVhdGUgdGVzdCBjYXNlcyBmcm9tIHRoZSBiYXNlIG9uZXMgaW4gdGhpcyBtb2R1bGUKQEAgLTIzMTksOCArMjQ4MiwxNjQgQEAKICAgICAgICAgZmxpa2UuZmx1c2goKQogICAgICAgICBhc3NlcnQgc2lvLmdldHZhbHVlKCkgPT0gJ2ZvbycKIAorCitjbGFzcyBUZXN0V2FpdCh1bml0dGVzdC5UZXN0Q2FzZSk6CisKKyAgICBAY2xhc3NtZXRob2QKKyAgICBkZWYgX2NoaWxkX3Rlc3Rfd2FpdChjbHMsIHcsIHNsb3cpOgorICAgICAgICBmb3IgaSBpbiByYW5nZSgxMCk6CisgICAgICAgICAgICBpZiBzbG93OgorICAgICAgICAgICAgICAgIHRpbWUuc2xlZXAocmFuZG9tLnJhbmRvbSgpKjAuMSkKKyAgICAgICAgICAgIHcuc2VuZCgoaSwgb3MuZ2V0cGlkKCkpKQorICAgICAgICB3LmNsb3NlKCkKKworICAgIGRlZiB0ZXN0X3dhaXQoc2VsZiwgc2xvdz1GYWxzZSk6CisgICAgICAgIGZyb20gbXVsdGlwcm9jZXNzaW5nLmNvbm5lY3Rpb24gaW1wb3J0IHdhaXQKKyAgICAgICAgcmVhZGVycyA9IFtdCisgICAgICAgIHByb2NzID0gW10KKyAgICAgICAgbWVzc2FnZXMgPSBbXQorCisgICAgICAgIGZvciBpIGluIHJhbmdlKDQpOgorICAgICAgICAgICAgciwgdyA9IG11bHRpcHJvY2Vzc2luZy5QaXBlKGR1cGxleD1GYWxzZSkKKyAgICAgICAgICAgIHAgPSBtdWx0aXByb2Nlc3NpbmcuUHJvY2Vzcyh0YXJnZXQ9c2VsZi5fY2hpbGRfdGVzdF93YWl0LCBhcmdzPSh3LCBzbG93KSkKKyAgICAgICAgICAgIHAuZGFlbW9uID0gVHJ1ZQorICAgICAgICAgICAgcC5zdGFydCgpCisgICAgICAgICAgICB3LmNsb3NlKCkKKyAgICAgICAgICAgIHJlYWRlcnMuYXBwZW5kKHIpCisgICAgICAgICAgICBwcm9jcy5hcHBlbmQocCkKKyAgICAgICAgICAgIHNlbGYuYWRkQ2xlYW51cChwLmpvaW4pCisKKyAgICAgICAgd2hpbGUgcmVhZGVyczoKKyAgICAgICAgICAgIGZvciByIGluIHdhaXQocmVhZGVycyk6CisgICAgICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgICAgICBtc2cgPSByLnJlY3YoKQorICAgICAgICAgICAgICAgIGV4Y2VwdCBFT0ZFcnJvcjoKKyAgICAgICAgICAgICAgICAgICAgcmVhZGVycy5yZW1vdmUocikKKyAgICAgICAgICAgICAgICAgICAgci5jbG9zZSgpCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgbWVzc2FnZXMuYXBwZW5kKG1zZykKKworICAgICAgICBtZXNzYWdlcy5zb3J0KCkKKyAgICAgICAgZXhwZWN0ZWQgPSBzb3J0ZWQoKGksIHAucGlkKSBmb3IgaSBpbiByYW5nZSgxMCkgZm9yIHAgaW4gcHJvY3MpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobWVzc2FnZXMsIGV4cGVjdGVkKQorCisgICAgQGNsYXNzbWV0aG9kCisgICAgZGVmIF9jaGlsZF90ZXN0X3dhaXRfc29ja2V0KGNscywgYWRkcmVzcywgc2xvdyk6CisgICAgICAgIHMgPSBzb2NrZXQuc29ja2V0KCkKKyAgICAgICAgcy5jb25uZWN0KGFkZHJlc3MpCisgICAgICAgIGZvciBpIGluIHJhbmdlKDEwKToKKyAgICAgICAgICAgIGlmIHNsb3c6CisgICAgICAgICAgICAgICAgdGltZS5zbGVlcChyYW5kb20ucmFuZG9tKCkqMC4xKQorICAgICAgICAgICAgcy5zZW5kYWxsKCgnJXNcbicgJSBpKS5lbmNvZGUoJ2FzY2lpJykpCisgICAgICAgIHMuY2xvc2UoKQorCisgICAgZGVmIHRlc3Rfd2FpdF9zb2NrZXQoc2VsZiwgc2xvdz1GYWxzZSk6CisgICAgICAgIGZyb20gbXVsdGlwcm9jZXNzaW5nLmNvbm5lY3Rpb24gaW1wb3J0IHdhaXQKKyAgICAgICAgbCA9IHNvY2tldC5zb2NrZXQoKQorICAgICAgICBsLmJpbmQoKCcnLCAwKSkKKyAgICAgICAgbC5saXN0ZW4oNCkKKyAgICAgICAgYWRkciA9ICgnbG9jYWxob3N0JywgbC5nZXRzb2NrbmFtZSgpWzFdKQorICAgICAgICByZWFkZXJzID0gW10KKyAgICAgICAgcHJvY3MgPSBbXQorICAgICAgICBkaWMgPSB7fQorCisgICAgICAgIGZvciBpIGluIHJhbmdlKDQpOgorICAgICAgICAgICAgcCA9IG11bHRpcHJvY2Vzc2luZy5Qcm9jZXNzKHRhcmdldD1zZWxmLl9jaGlsZF90ZXN0X3dhaXRfc29ja2V0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyZ3M9KGFkZHIsIHNsb3cpKQorICAgICAgICAgICAgcC5kYWVtb24gPSBUcnVlCisgICAgICAgICAgICBwLnN0YXJ0KCkKKyAgICAgICAgICAgIHByb2NzLmFwcGVuZChwKQorICAgICAgICAgICAgc2VsZi5hZGRDbGVhbnVwKHAuam9pbikKKworICAgICAgICBmb3IgaSBpbiByYW5nZSg0KToKKyAgICAgICAgICAgIHIsIF8gPSBsLmFjY2VwdCgpCisgICAgICAgICAgICByZWFkZXJzLmFwcGVuZChyKQorICAgICAgICAgICAgZGljW3JdID0gW10KKyAgICAgICAgbC5jbG9zZSgpCisKKyAgICAgICAgd2hpbGUgcmVhZGVyczoKKyAgICAgICAgICAgIGZvciByIGluIHdhaXQocmVhZGVycyk6CisgICAgICAgICAgICAgICAgbXNnID0gci5yZWN2KDMyKQorICAgICAgICAgICAgICAgIGlmIG5vdCBtc2c6CisgICAgICAgICAgICAgICAgICAgIHJlYWRlcnMucmVtb3ZlKHIpCisgICAgICAgICAgICAgICAgICAgIHIuY2xvc2UoKQorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIGRpY1tyXS5hcHBlbmQobXNnKQorCisgICAgICAgIGV4cGVjdGVkID0gJycuam9pbignJXNcbicgJSBpIGZvciBpIGluIHJhbmdlKDEwKSkuZW5jb2RlKCdhc2NpaScpCisgICAgICAgIGZvciB2IGluIGRpYy52YWx1ZXMoKToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYicnLmpvaW4odiksIGV4cGVjdGVkKQorCisgICAgZGVmIHRlc3Rfd2FpdF9zbG93KHNlbGYpOgorICAgICAgICBzZWxmLnRlc3Rfd2FpdChUcnVlKQorCisgICAgZGVmIHRlc3Rfd2FpdF9zb2NrZXRfc2xvdyhzZWxmKToKKyAgICAgICAgc2VsZi50ZXN0X3dhaXQoVHJ1ZSkKKworICAgIGRlZiB0ZXN0X3dhaXRfdGltZW91dChzZWxmKToKKyAgICAgICAgZnJvbSBtdWx0aXByb2Nlc3NpbmcuY29ubmVjdGlvbiBpbXBvcnQgd2FpdAorCisgICAgICAgIGV4cGVjdGVkID0gMQorICAgICAgICBhLCBiID0gbXVsdGlwcm9jZXNzaW5nLlBpcGUoKQorCisgICAgICAgIHN0YXJ0ID0gdGltZS50aW1lKCkKKyAgICAgICAgcmVzID0gd2FpdChbYSwgYl0sIDEpCisgICAgICAgIGRlbHRhID0gdGltZS50aW1lKCkgLSBzdGFydAorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzLCBbXSkKKyAgICAgICAgc2VsZi5hc3NlcnRMZXNzKGRlbHRhLCBleHBlY3RlZCArIDAuNSkKKyAgICAgICAgc2VsZi5hc3NlcnRHcmVhdGVyKGRlbHRhLCBleHBlY3RlZCAtIDAuNSkKKworICAgICAgICBiLnNlbmQoTm9uZSkKKworICAgICAgICBzdGFydCA9IHRpbWUudGltZSgpCisgICAgICAgIHJlcyA9IHdhaXQoW2EsIGJdLCAxKQorICAgICAgICBkZWx0YSA9IHRpbWUudGltZSgpIC0gc3RhcnQKKworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlcywgW2FdKQorICAgICAgICBzZWxmLmFzc2VydExlc3MoZGVsdGEsIDAuNCkKKworICAgIGRlZiB0ZXN0X3dhaXRfaW50ZWdlcihzZWxmKToKKyAgICAgICAgZnJvbSBtdWx0aXByb2Nlc3NpbmcuY29ubmVjdGlvbiBpbXBvcnQgd2FpdAorCisgICAgICAgIGV4cGVjdGVkID0gNQorICAgICAgICBhLCBiID0gbXVsdGlwcm9jZXNzaW5nLlBpcGUoKQorICAgICAgICBwID0gbXVsdGlwcm9jZXNzaW5nLlByb2Nlc3ModGFyZ2V0PXRpbWUuc2xlZXAsIGFyZ3M9KGV4cGVjdGVkLCkpCisKKyAgICAgICAgcC5zdGFydCgpCisgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShwLnNlbnRpbmVsLCBpbnQpCisKKyAgICAgICAgc3RhcnQgPSB0aW1lLnRpbWUoKQorICAgICAgICByZXMgPSB3YWl0KFthLCBwLnNlbnRpbmVsLCBiXSwgZXhwZWN0ZWQgKyAyMCkKKyAgICAgICAgZGVsdGEgPSB0aW1lLnRpbWUoKSAtIHN0YXJ0CisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXMsIFtwLnNlbnRpbmVsXSkKKyAgICAgICAgc2VsZi5hc3NlcnRMZXNzKGRlbHRhLCBleHBlY3RlZCArIDIpCisgICAgICAgIHNlbGYuYXNzZXJ0R3JlYXRlcihkZWx0YSwgZXhwZWN0ZWQgLSAyKQorCisgICAgICAgIGEuc2VuZChOb25lKQorCisgICAgICAgIHN0YXJ0ID0gdGltZS50aW1lKCkKKyAgICAgICAgcmVzID0gd2FpdChbYSwgcC5zZW50aW5lbCwgYl0sIDIwKQorICAgICAgICBkZWx0YSA9IHRpbWUudGltZSgpIC0gc3RhcnQKKworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlcywgW3Auc2VudGluZWwsIGJdKQorICAgICAgICBzZWxmLmFzc2VydExlc3MoZGVsdGEsIDAuNCkKKworICAgICAgICBiLnNlbmQoTm9uZSkKKworICAgICAgICBzdGFydCA9IHRpbWUudGltZSgpCisgICAgICAgIHJlcyA9IHdhaXQoW2EsIHAuc2VudGluZWwsIGJdLCAyMCkKKyAgICAgICAgZGVsdGEgPSB0aW1lLnRpbWUoKSAtIHN0YXJ0CisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXMsIFthLCBwLnNlbnRpbmVsLCBiXSkKKyAgICAgICAgc2VsZi5hc3NlcnRMZXNzKGRlbHRhLCAwLjQpCisKKyAgICAgICAgcC5qb2luKCkKKworCiB0ZXN0Y2FzZXNfb3RoZXIgPSBbT3RoZXJUZXN0LCBUZXN0SW52YWxpZEhhbmRsZSwgVGVzdEluaXRpYWxpemVycywKLSAgICAgICAgICAgICAgICAgICBUZXN0U3RkaW5CYWRmaWxlZGVzY3JpcHRvcl0KKyAgICAgICAgICAgICAgICAgICBUZXN0U3RkaW5CYWRmaWxlZGVzY3JpcHRvciwgVGVzdFdhaXRdCiAKICMKICMKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfbXV0YW50cy5weSBiL0xpYi90ZXN0L3Rlc3RfbXV0YW50cy5weQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjQzZmE0Ny4uMDAwMDAwMAotLS0gYS9MaWIvdGVzdC90ZXN0X211dGFudHMucHkKKysrIC9kZXYvbnVsbApAQCAtMSwyOTEgKzAsMCBAQAotZnJvbSB0ZXN0LnN1cHBvcnQgaW1wb3J0IHZlcmJvc2UsIFRFU1RGTgotaW1wb3J0IHJhbmRvbQotaW1wb3J0IG9zCi0KLSMgRnJvbSBTRiBidWcgIzQyMjEyMTogIEluc2VjdXJpdGllcyBpbiBkaWN0IGNvbXBhcmlzb24uCi0KLSMgU2FmZXR5IG9mIGNvZGUgZG9pbmcgY29tcGFyaXNvbnMgaGFzIGJlZW4gYW4gaGlzdG9yaWNhbCBQeXRob24gd2VhayBzcG90LgotIyBUaGUgcHJvYmxlbSBpcyB0aGF0IGNvbXBhcmlzb24gb2Ygc3RydWN0dXJlcyB3cml0dGVuIGluIEMgKm5hdHVyYWxseSoKLSMgd2FudHMgdG8gaG9sZCBvbiB0byB0aGluZ3MgbGlrZSB0aGUgc2l6ZSBvZiB0aGUgY29udGFpbmVyLCBvciAidGhlCi0jIGJpZ2dlc3QiIGNvbnRhaW5lZSBzbyBmYXIsIGFjcm9zcyBhIHRyYXZlcnNhbCBvZiB0aGUgY29udGFpbmVyOyBidXQKLSMgY29kZSB0byBkbyBjb250YWluZWUgY29tcGFyaXNvbnMgY2FuIGNhbGwgYmFjayBpbnRvIFB5dGhvbiBhbmQgbXV0YXRlCi0jIHRoZSBjb250YWluZXIgaW4gYXJiaXRyYXJ5IHdheXMgd2hpbGUgdGhlIEMgbG9vcCBpcyBpbiBtaWRzdHJlYW0uICBJZiB0aGUKLSMgQyBjb2RlIGlzbid0IGV4dHJlbWVseSBwYXJhbm9pZCBhYm91dCBkaWdnaW5nIHRoaW5ncyBvdXQgb2YgbWVtb3J5IG9uCi0jIGVhY2ggdHJpcCwgYW5kIGFydGlmaWNpYWxseSBib29zdGluZyByZWZjb3VudHMgZm9yIHRoZSBkdXJhdGlvbiwgYW55dGhpbmcKLSMgZnJvbSBpbmZpbml0ZSBsb29wcyB0byBPUyBjcmFzaGVzIGNhbiByZXN1bHQgKHllcywgSSB1c2UgV2luZG93cyA8d2luaz4pLgotIwotIyBUaGUgb3RoZXIgcHJvYmxlbSBpcyB0aGF0IGNvZGUgZGVzaWduZWQgdG8gcHJvdm9rZSBhIHdlYWtuZXNzIGlzIHVzdWFsbHkKLSMgd2hpdGUtYm94IGNvZGUsIGFuZCBzbyBjYXRjaGVzIG9ubHkgdGhlIHBhcnRpY3VsYXIgdnVsbmVyYWJpbGl0aWVzIHRoZQotIyBhdXRob3Iga25ldyB0byBwcm90ZWN0IGFnYWluc3QuICBGb3IgZXhhbXBsZSwgUHl0aG9uJ3MgbGlzdC5zb3J0KCkgY29kZQotIyB3ZW50IHRocnUgbWFueSBpdGVyYXRpb25zIGFzIG9uZSAibmV3IiB2dWxuZXJhYmlsaXR5IGFmdGVyIGFub3RoZXIgd2FzCi0jIGRpc2NvdmVyZWQuCi0jCi0jIFNvIHRoZSBkaWN0IGNvbXBhcmlzb24gdGVzdCBoZXJlIHVzZXMgYSBibGFjay1ib3ggYXBwcm9hY2ggaW5zdGVhZCwKLSMgZ2VuZXJhdGluZyBkaWN0cyBvZiB2YXJpb3VzIHNpemVzIGF0IHJhbmRvbSwgYW5kIHBlcmZvcm1pbmcgcmFuZG9tCi0jIG11dGF0aW9ucyBvbiB0aGVtIGF0IHJhbmRvbSB0aW1lcy4gIFRoaXMgcHJvdmVkIHZlcnkgZWZmZWN0aXZlLAotIyB0cmlnZ2VyaW5nIGF0IGxlYXN0IHNpeCBkaXN0aW5jdCBmYWlsdXJlIG1vZGVzIHRoZSBmaXJzdCAyMCB0aW1lcyBJCi0jIHJhbiBpdC4gIEluZGVlZCwgYXQgdGhlIHN0YXJ0LCB0aGUgZHJpdmVyIG5ldmVyIGdvdCBiZXlvbmQgNiBpdGVyYXRpb25zCi0jIGJlZm9yZSB0aGUgdGVzdCBkaWVkLgotCi0jIFRoZSBkaWN0cyBhcmUgZ2xvYmFsIHRvIG1ha2UgaXQgZWFzeSB0byBtdXRhdGUgdGhhbSBmcm9tIHdpdGhpbiBmdW5jdGlvbnMuCi1kaWN0MSA9IHt9Ci1kaWN0MiA9IHt9Ci0KLSMgVGhlIGN1cnJlbnQgc2V0IG9mIGtleXMgaW4gZGljdDEgYW5kIGRpY3QyLiAgVGhlc2UgYXJlIG1hdGVyaWFsaXplZCBhcwotIyBsaXN0cyB0byBtYWtlIGl0IGVhc3kgdG8gcGljayBhIGRpY3Qga2V5IGF0IHJhbmRvbS4KLWRpY3Qxa2V5cyA9IFtdCi1kaWN0MmtleXMgPSBbXQotCi0jIEdsb2JhbCBmbGFnIHRlbGxpbmcgbWF5YmVfbXV0YXRlKCkgd2hldGhlciB0byAqY29uc2lkZXIqIG11dGF0aW5nLgotbXV0YXRlID0gMAotCi0jIElmIGdsb2JhbCBtdXRhdGUgaXMgdHJ1ZSwgY29uc2lkZXIgbXV0YXRpbmcgYSBkaWN0LiAgTWF5IG9yIG1heSBub3QKLSMgbXV0YXRlIGEgZGljdCBldmVuIGlmIG11dGF0ZSBpcyB0cnVlLiAgSWYgaXQgZG9lcyBkZWNpZGUgdG8gbXV0YXRlIGEKLSMgZGljdCwgaXQgcGlja3Mgb25lIG9mIHtkaWN0MSwgZGljdDJ9IGF0IHJhbmRvbSwgYW5kIGRlbGV0ZXMgYSByYW5kb20KLSMgZW50cnkgZnJvbSBpdDsgb3IsIG1vcmUgcmFyZWx5LCBhZGRzIGEgcmFuZG9tIGVsZW1lbnQuCi0KLWRlZiBtYXliZV9tdXRhdGUoKToKLSAgICBnbG9iYWwgbXV0YXRlCi0gICAgaWYgbm90IG11dGF0ZToKLSAgICAgICAgcmV0dXJuCi0gICAgaWYgcmFuZG9tLnJhbmRvbSgpIDwgMC41OgotICAgICAgICByZXR1cm4KLQotICAgIGlmIHJhbmRvbS5yYW5kb20oKSA8IDAuNToKLSAgICAgICAgdGFyZ2V0LCBrZXlzID0gZGljdDEsIGRpY3Qxa2V5cwotICAgIGVsc2U6Ci0gICAgICAgIHRhcmdldCwga2V5cyA9IGRpY3QyLCBkaWN0MmtleXMKLQotICAgIGlmIHJhbmRvbS5yYW5kb20oKSA8IDAuMjoKLSAgICAgICAgIyBJbnNlcnQgYSBuZXcga2V5LgotICAgICAgICBtdXRhdGUgPSAwICAgIyBkaXNhYmxlIG11dGF0aW9uIHVudGlsIGtleSBpbnNlcnRlZAotICAgICAgICB3aGlsZSAxOgotICAgICAgICAgICAgbmV3a2V5ID0gSG9ycmlkKHJhbmRvbS5yYW5kcmFuZ2UoMTAwKSkKLSAgICAgICAgICAgIGlmIG5ld2tleSBub3QgaW4gdGFyZ2V0OgotICAgICAgICAgICAgICAgIGJyZWFrCi0gICAgICAgIHRhcmdldFtuZXdrZXldID0gSG9ycmlkKHJhbmRvbS5yYW5kcmFuZ2UoMTAwKSkKLSAgICAgICAga2V5cy5hcHBlbmQobmV3a2V5KQotICAgICAgICBtdXRhdGUgPSAxCi0KLSAgICBlbGlmIGtleXM6Ci0gICAgICAgICMgRGVsZXRlIGEga2V5IGF0IHJhbmRvbS4KLSAgICAgICAgbXV0YXRlID0gMCAgICMgZGlzYWJsZSBtdXRhdGlvbiB1bnRpbCBrZXkgZGVsZXRlZAotICAgICAgICBpID0gcmFuZG9tLnJhbmRyYW5nZShsZW4oa2V5cykpCi0gICAgICAgIGtleSA9IGtleXNbaV0KLSAgICAgICAgZGVsIHRhcmdldFtrZXldCi0gICAgICAgIGRlbCBrZXlzW2ldCi0gICAgICAgIG11dGF0ZSA9IDEKLQotIyBBIGhvcnJpZCBjbGFzcyB0aGF0IHRyaWdnZXJzIHJhbmRvbSBtdXRhdGlvbnMgb2YgZGljdDEgYW5kIGRpY3QyIHdoZW4KLSMgaW5zdGFuY2VzIGFyZSBjb21wYXJlZC4KLQotY2xhc3MgSG9ycmlkOgotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBpKToKLSAgICAgICAgIyBDb21wYXJpc29uIG91dGNvbWVzIGFyZSBkZXRlcm1pbmVkIGJ5IHRoZSB2YWx1ZSBvZiBpLgotICAgICAgICBzZWxmLmkgPSBpCi0KLSAgICAgICAgIyBBbiBhcnRpZmljaWFsIGhhc2hjb2RlIGlzIHNlbGVjdGVkIGF0IHJhbmRvbSBzbyB0aGF0IHdlIGRvbid0Ci0gICAgICAgICMgaGF2ZSBhbnkgc3lzdGVtYXRpYyByZWxhdGlvbnNoaXAgYmV0d2VlbiBjb21wYXJpc29uIG91dGNvbWVzCi0gICAgICAgICMgKGJhc2VkIG9uIHNlbGYuaSBhbmQgb3RoZXIuaSkgYW5kIHJlbGF0aXZlIHBvc2l0aW9uIHdpdGhpbiB0aGUKLSAgICAgICAgIyBoYXNoIHZlY3RvciAoYmFzZWQgb24gaGFzaGNvZGUpLgotICAgICAgICAjIFhYWCBUaGlzIGlzIG5vIGxvbmdlciBlZmZlY3RpdmUuCi0gICAgICAgICMjc2VsZi5oYXNoY29kZSA9IHJhbmRvbS5yYW5kcmFuZ2UoMTAwMDAwMDAwMCkKLQotICAgIGRlZiBfX2hhc2hfXyhzZWxmKToKLSAgICAgICAgcmV0dXJuIDQyCi0gICAgICAgIHJldHVybiBzZWxmLmhhc2hjb2RlCi0KLSAgICBkZWYgX19lcV9fKHNlbGYsIG90aGVyKToKLSAgICAgICAgbWF5YmVfbXV0YXRlKCkgICAjIFRoZSBwb2ludCBvZiB0aGUgdGVzdC4KLSAgICAgICAgcmV0dXJuIHNlbGYuaSA9PSBvdGhlci5pCi0KLSAgICBkZWYgX19uZV9fKHNlbGYsIG90aGVyKToKLSAgICAgICAgcmFpc2UgUnVudGltZUVycm9yKCJJIGRpZG4ndCBleHBlY3Qgc29tZSBraW5kIG9mIFNwYW5pc2ggaW5xdWlzaXRpb24hIikKLQotICAgIF9fbHRfXyA9IF9fbGVfXyA9IF9fZ3RfXyA9IF9fZ2VfXyA9IF9fbmVfXwotCi0gICAgZGVmIF9fcmVwcl9fKHNlbGYpOgotICAgICAgICByZXR1cm4gIkhvcnJpZCglZCkiICUgc2VsZi5pCi0KLSMgRmlsbCBkaWN0IGQgd2l0aCBudW1lbnRyaWVzIChIb3JyaWQoaSksIEhvcnJpZChqKSkga2V5LXZhbHVlIHBhaXJzLAotIyB3aGVyZSBpIGFuZCBqIGFyZSBzZWxlY3RlZCBhdCByYW5kb20gZnJvbSB0aGUgY2FuZGlkYXRlcyBsaXN0LgotIyBSZXR1cm4gZC5rZXlzKCkgYWZ0ZXIgZmlsbGluZy4KLQotZGVmIGZpbGxfZGljdChkLCBjYW5kaWRhdGVzLCBudW1lbnRyaWVzKToKLSAgICBkLmNsZWFyKCkKLSAgICBmb3IgaSBpbiByYW5nZShudW1lbnRyaWVzKToKLSAgICAgICAgZFtIb3JyaWQocmFuZG9tLmNob2ljZShjYW5kaWRhdGVzKSldID0gXAotICAgICAgICAgICAgSG9ycmlkKHJhbmRvbS5jaG9pY2UoY2FuZGlkYXRlcykpCi0gICAgcmV0dXJuIGxpc3QoZC5rZXlzKCkpCi0KLSMgVGVzdCBvbmUgcGFpciBvZiByYW5kb21seSBnZW5lcmF0ZWQgZGljdHMsIGVhY2ggd2l0aCBuIGVudHJpZXMuCi0jIE5vdGUgdGhhdCBkaWN0IGNvbXBhcmlzb24gaXMgdHJpdmlhbCBpZiB0aGV5IGRvbid0IGhhdmUgdGhlIHNhbWUgbnVtYmVyCi0jIG9mIGVudGlyZXMgKHRoZW4gdGhlICJzaG9ydGVyIiBkaWN0IGlzIGluc3RhbnRseSBjb25zaWRlcmVkIHRvIGJlIHRoZQotIyBzbWFsbGVyIG9uZSwgd2l0aG91dCBldmVuIGxvb2tpbmcgYXQgdGhlIGVudHJpZXMpLgotCi1kZWYgdGVzdF9vbmUobik6Ci0gICAgZ2xvYmFsIG11dGF0ZSwgZGljdDEsIGRpY3QyLCBkaWN0MWtleXMsIGRpY3Qya2V5cwotCi0gICAgIyBGaWxsIHRoZSBkaWN0cyB3aXRob3V0IG11dGF0aW5nIHRoZW0uCi0gICAgbXV0YXRlID0gMAotICAgIGRpY3Qxa2V5cyA9IGZpbGxfZGljdChkaWN0MSwgcmFuZ2UobiksIG4pCi0gICAgZGljdDJrZXlzID0gZmlsbF9kaWN0KGRpY3QyLCByYW5nZShuKSwgbikKLQotICAgICMgRW5hYmxlIG11dGF0aW9uLCB0aGVuIGNvbXBhcmUgdGhlIGRpY3RzIHNvIGxvbmcgYXMgdGhleSBoYXZlIHRoZQotICAgICMgc2FtZSBzaXplLgotICAgIG11dGF0ZSA9IDEKLSAgICBpZiB2ZXJib3NlOgotICAgICAgICBwcmludCgidHJ5aW5nIHcvIGxlbmd0aHMiLCBsZW4oZGljdDEpLCBsZW4oZGljdDIpLCBlbmQ9JyAnKQotICAgIHdoaWxlIGRpY3QxIGFuZCBsZW4oZGljdDEpID09IGxlbihkaWN0Mik6Ci0gICAgICAgIGlmIHZlcmJvc2U6Ci0gICAgICAgICAgICBwcmludCgiLiIsIGVuZD0nICcpCi0gICAgICAgIGMgPSBkaWN0MSA9PSBkaWN0MgotICAgIGlmIHZlcmJvc2U6Ci0gICAgICAgIHByaW50KCkKLQotIyBSdW4gdGVzdF9vbmUgbiB0aW1lcy4gIEF0IHRoZSBzdGFydCAoYmVmb3JlIHRoZSBidWdzIHdlcmUgZml4ZWQpLCAyMAotIyBjb25zZWN1dGl2ZSBydW5zIG9mIHRoaXMgdGVzdCBlYWNoIGJsZXcgdXAgb24gb3IgYmVmb3JlIHRoZSBzaXh0aCB0aW1lCi0jIHRlc3Rfb25lIHdhcyBydW4uICBTbyBuIGRvZXNuJ3QgaGF2ZSB0byBiZSBsYXJnZSB0byBnZXQgYW4gaW50ZXJlc3RpbmcKLSMgdGVzdC4KLSMgT1RPSCwgY2FsbGluZyB3aXRoIGxhcmdlIG4gaXMgYWxzbyBpbnRlcmVzdGluZywgdG8gZW5zdXJlIHRoYXQgdGhlIGZpeGVkCi0jIGNvZGUgZG9lc24ndCBob2xkIG9uIHRvIHJlZmNvdW50cyAqdG9vKiBsb25nIChpbiB3aGljaCBjYXNlIG1lbW9yeSB3b3VsZAotIyBsZWFrKS4KLQotZGVmIHRlc3Qobik6Ci0gICAgZm9yIGkgaW4gcmFuZ2Uobik6Ci0gICAgICAgIHRlc3Rfb25lKHJhbmRvbS5yYW5kcmFuZ2UoMSwgMTAwKSkKLQotIyBTZWUgbGFzdCBjb21tZW50IGJsb2NrIGZvciBjbHVlcyBhYm91dCBnb29kIHZhbHVlcyBmb3Igbi4KLXRlc3QoMTAwKQotCi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotIyBBbm90aGVyIHNlZ2ZhdWx0IGJ1ZywgZGlzdGlsbGVkIGJ5IE1pY2hhZWwgSHVkc29uIGZyb20gYSBjLmwucHkgcG9zdC4KLQotY2xhc3MgQ2hpbGQ6Ci0gICAgZGVmIF9faW5pdF9fKHNlbGYsIHBhcmVudCk6Ci0gICAgICAgIHNlbGYuX19kaWN0X19bJ3BhcmVudCddID0gcGFyZW50Ci0gICAgZGVmIF9fZ2V0YXR0cl9fKHNlbGYsIGF0dHIpOgotICAgICAgICBzZWxmLnBhcmVudC5hID0gMQotICAgICAgICBzZWxmLnBhcmVudC5iID0gMQotICAgICAgICBzZWxmLnBhcmVudC5jID0gMQotICAgICAgICBzZWxmLnBhcmVudC5kID0gMQotICAgICAgICBzZWxmLnBhcmVudC5lID0gMQotICAgICAgICBzZWxmLnBhcmVudC5mID0gMQotICAgICAgICBzZWxmLnBhcmVudC5nID0gMQotICAgICAgICBzZWxmLnBhcmVudC5oID0gMQotICAgICAgICBzZWxmLnBhcmVudC5pID0gMQotICAgICAgICByZXR1cm4gZ2V0YXR0cihzZWxmLnBhcmVudCwgYXR0cikKLQotY2xhc3MgUGFyZW50OgotICAgIGRlZiBfX2luaXRfXyhzZWxmKToKLSAgICAgICAgc2VsZi5hID0gQ2hpbGQoc2VsZikKLQotIyBIYXJkIHRvIHNheSB3aGF0IHRoaXMgd2lsbCBwcmludCEgIE1heSB2YXJ5IGZyb20gdGltZSB0byB0aW1lLiAgQnV0Ci0jIHdlJ3JlIHNwZWNpZmljYWxseSB0cnlpbmcgdG8gdGVzdCB0aGUgdHBfcHJpbnQgc2xvdCBoZXJlLCBhbmQgdGhpcyBpcwotIyB0aGUgY2xlYXJlc3Qgd2F5IHRvIGRvIGl0LiAgV2UgcHJpbnQgdGhlIHJlc3VsdCB0byBhIHRlbXAgZmlsZSBzbyB0aGF0Ci0jIHRoZSBleHBlY3RlZC1vdXRwdXQgZmlsZSBkb2Vzbid0IG5lZWQgdG8gY2hhbmdlLgotCi1mID0gb3BlbihURVNURk4sICJ3IikKLXByaW50KFBhcmVudCgpLl9fZGljdF9fLCBmaWxlPWYpCi1mLmNsb3NlKCkKLW9zLnVubGluayhURVNURk4pCi0KLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0jIEFuZCBhbm90aGVyIGNvcmUtZHVtcGVyIGZyb20gTWljaGFlbCBIdWRzb24uCi0KLWRpY3QgPSB7fQotCi0jIEZvcmNlIGRpY3QgdG8gbWFsbG9jIGl0cyB0YWJsZS4KLWZvciBpIGluIHJhbmdlKDEsIDEwKToKLSAgICBkaWN0W2ldID0gaQotCi1mID0gb3BlbihURVNURk4sICJ3IikKLQotY2xhc3MgTWFjaGlhdmVsbGk6Ci0gICAgZGVmIF9fcmVwcl9fKHNlbGYpOgotICAgICAgICBkaWN0LmNsZWFyKCkKLQotICAgICAgICAjIE1pY2hhZWwgc2V6OiAgImRvZXNuJ3QgY3Jhc2ggd2l0aG91dCB0aGlzLiAgZG9uJ3Qga25vdyB3aHkuIgotICAgICAgICAjIFRpbSBzZXo6ICAibHVjayBvZiB0aGUgZHJhdzsgY3Jhc2hlcyB3aXRoIG9yIHdpdGhvdXQgZm9yIG1lLiIKLSAgICAgICAgcHJpbnQoZmlsZT1mKQotCi0gICAgICAgIHJldHVybiByZXByKCJtYWNoaWF2ZWxsaSIpCi0KLSAgICBkZWYgX19oYXNoX18oc2VsZik6Ci0gICAgICAgIHJldHVybiAwCi0KLWRpY3RbTWFjaGlhdmVsbGkoKV0gPSBNYWNoaWF2ZWxsaSgpCi0KLXByaW50KHN0cihkaWN0KSwgZmlsZT1mKQotZi5jbG9zZSgpCi1vcy51bmxpbmsoVEVTVEZOKQotZGVsIGYsIGRpY3QKLQotCi0jIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotIyBBbmQgYW5vdGhlciBjb3JlLWR1bXBlciBmcm9tIE1pY2hhZWwgSHVkc29uLgotCi1kaWN0ID0ge30KLQotIyBsZXQncyBmb3JjZSBkaWN0IHRvIG1hbGxvYyBpdHMgdGFibGUKLWZvciBpIGluIHJhbmdlKDEsIDEwKToKLSAgICBkaWN0W2ldID0gaQotCi1jbGFzcyBNYWNoaWF2ZWxsaTI6Ci0gICAgZGVmIF9fZXFfXyhzZWxmLCBvdGhlcik6Ci0gICAgICAgIGRpY3QuY2xlYXIoKQotICAgICAgICByZXR1cm4gMQotCi0gICAgZGVmIF9faGFzaF9fKHNlbGYpOgotICAgICAgICByZXR1cm4gMAotCi1kaWN0W01hY2hpYXZlbGxpMigpXSA9IE1hY2hpYXZlbGxpMigpCi0KLXRyeToKLSAgICBkaWN0W01hY2hpYXZlbGxpMigpXQotZXhjZXB0IEtleUVycm9yOgotICAgIHBhc3MKLQotZGVsIGRpY3QKLQotIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLSMgQW5kIGFub3RoZXIgY29yZS1kdW1wZXIgZnJvbSBNaWNoYWVsIEh1ZHNvbi4KLQotZGljdCA9IHt9Ci0KLSMgbGV0J3MgZm9yY2UgZGljdCB0byBtYWxsb2MgaXRzIHRhYmxlCi1mb3IgaSBpbiByYW5nZSgxLCAxMCk6Ci0gICAgZGljdFtpXSA9IGkKLQotY2xhc3MgTWFjaGlhdmVsbGkzOgotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBpZCk6Ci0gICAgICAgIHNlbGYuaWQgPSBpZAotCi0gICAgZGVmIF9fZXFfXyhzZWxmLCBvdGhlcik6Ci0gICAgICAgIGlmIHNlbGYuaWQgPT0gb3RoZXIuaWQ6Ci0gICAgICAgICAgICBkaWN0LmNsZWFyKCkKLSAgICAgICAgICAgIHJldHVybiAxCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICByZXR1cm4gMAotCi0gICAgZGVmIF9fcmVwcl9fKHNlbGYpOgotICAgICAgICByZXR1cm4gIiVzKCVzKSIlKHNlbGYuX19jbGFzc19fLl9fbmFtZV9fLCBzZWxmLmlkKQotCi0gICAgZGVmIF9faGFzaF9fKHNlbGYpOgotICAgICAgICByZXR1cm4gMAotCi1kaWN0W01hY2hpYXZlbGxpMygxKV0gPSBNYWNoaWF2ZWxsaTMoMCkKLWRpY3RbTWFjaGlhdmVsbGkzKDIpXSA9IE1hY2hpYXZlbGxpMygwKQotCi1mID0gb3BlbihURVNURk4sICJ3IikKLXRyeToKLSAgICB0cnk6Ci0gICAgICAgIHByaW50KGRpY3RbTWFjaGlhdmVsbGkzKDIpXSwgZmlsZT1mKQotICAgIGV4Y2VwdCBLZXlFcnJvcjoKLSAgICAgICAgcGFzcwotZmluYWxseToKLSAgICBmLmNsb3NlKCkKLSAgICBvcy51bmxpbmsoVEVTVEZOKQotCi1kZWwgZGljdAotZGVsIGRpY3QxLCBkaWN0MiwgZGljdDFrZXlzLCBkaWN0MmtleXMKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3Rfbm50cGxpYi5weSBiL0xpYi90ZXN0L3Rlc3Rfbm50cGxpYi5weQppbmRleCBjYzQ5MGYxLi5jNTE0NmMxIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X25udHBsaWIucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9ubnRwbGliLnB5CkBAIC0xLDQgKzEsNSBAQAogaW1wb3J0IGlvCitpbXBvcnQgc29ja2V0CiBpbXBvcnQgZGF0ZXRpbWUKIGltcG9ydCB0ZXh0d3JhcAogaW1wb3J0IHVuaXR0ZXN0CkBAIC0yNTEsNiArMjUyLDI2IEBACiAgICAgICAgICAgICAjIHZhbHVlCiAgICAgICAgICAgICBzZXRhdHRyKGNscywgbmFtZSwgd3JhcF9tZXRoKG1ldGgpKQogCisgICAgZGVmIHRlc3Rfd2l0aF9zdGF0ZW1lbnQoc2VsZik6CisgICAgICAgIGRlZiBpc19jb25uZWN0ZWQoKToKKyAgICAgICAgICAgIGlmIG5vdCBoYXNhdHRyKHNlcnZlciwgJ2ZpbGUnKToKKyAgICAgICAgICAgICAgICByZXR1cm4gRmFsc2UKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBzZXJ2ZXIuaGVscCgpCisgICAgICAgICAgICBleGNlcHQgKHNvY2tldC5lcnJvciwgRU9GRXJyb3IpOgorICAgICAgICAgICAgICAgIHJldHVybiBGYWxzZQorICAgICAgICAgICAgcmV0dXJuIFRydWUKKworICAgICAgICB3aXRoIHNlbGYuTk5UUF9DTEFTUyhzZWxmLk5OVFBfSE9TVCwgdGltZW91dD1USU1FT1VULCB1c2VuZXRyYz1GYWxzZSkgYXMgc2VydmVyOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGlzX2Nvbm5lY3RlZCgpKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHNlcnZlci5oZWxwKCkpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoaXNfY29ubmVjdGVkKCkpCisKKyAgICAgICAgd2l0aCBzZWxmLk5OVFBfQ0xBU1Moc2VsZi5OTlRQX0hPU1QsIHRpbWVvdXQ9VElNRU9VVCwgdXNlbmV0cmM9RmFsc2UpIGFzIHNlcnZlcjoKKyAgICAgICAgICAgIHNlcnZlci5xdWl0KCkKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShpc19jb25uZWN0ZWQoKSkKKworCiBOZXR3b3JrZWROTlRQVGVzdHNNaXhpbi53cmFwX21ldGhvZHMoKQogCiAKQEAgLTg4OCw3ICs5MDksNyBAQAogCiAgICAgZGVmIF9jaGVja19hcnRpY2xlX2JvZHkoc2VsZiwgbGluZXMpOgogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihsaW5lcyksIDQpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGluZXNbLTFdLmRlY29kZSgndXRmOCcpLCAiLS0gU2lnbmVkIGJ5IEFuZHLDqS4iKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxpbmVzWy0xXS5kZWNvZGUoJ3V0Zi04JyksICItLSBTaWduZWQgYnkgQW5kcsOpLiIpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGluZXNbLTJdLCBiIiIpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGluZXNbLTNdLCBiIi5IZXJlIGlzIGEgZG90LXN0YXJ0aW5nIGxpbmUuIikKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsaW5lc1stNF0sIGIiVGhpcyBpcyBqdXN0IGEgdGVzdCBhcnRpY2xlLiIpCkBAIC0xMTI3LDEyICsxMTQ4LDEyIEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzcCwgc3VjY2Vzc19yZXNwKQogICAgICAgICAjIFdpdGggYW4gaXRlcmFibGUgb2YgdGVybWluYXRlZCBsaW5lcwogICAgICAgICBkZWYgaXRlcmxpbmVzKGIpOgotICAgICAgICAgICAgcmV0dXJuIGl0ZXIoYi5zcGxpdGxpbmVzKFRydWUpKQorICAgICAgICAgICAgcmV0dXJuIGl0ZXIoYi5zcGxpdGxpbmVzKGtlZXBlbmRzPVRydWUpKQogICAgICAgICByZXNwID0gc2VsZi5fY2hlY2tfcG9zdF9paGF2ZV9zdWIoZnVuYywgKmFyZ3MsIGZpbGVfZmFjdG9yeT1pdGVybGluZXMpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzcCwgc3VjY2Vzc19yZXNwKQogICAgICAgICAjIFdpdGggYW4gaXRlcmFibGUgb2Ygbm9uLXRlcm1pbmF0ZWQgbGluZXMKICAgICAgICAgZGVmIGl0ZXJsaW5lcyhiKToKLSAgICAgICAgICAgIHJldHVybiBpdGVyKGIuc3BsaXRsaW5lcyhGYWxzZSkpCisgICAgICAgICAgICByZXR1cm4gaXRlcihiLnNwbGl0bGluZXMoa2VlcGVuZHM9RmFsc2UpKQogICAgICAgICByZXNwID0gc2VsZi5fY2hlY2tfcG9zdF9paGF2ZV9zdWIoZnVuYywgKmFyZ3MsIGZpbGVfZmFjdG9yeT1pdGVybGluZXMpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzcCwgc3VjY2Vzc19yZXNwKQogCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X250cGF0aC5weSBiL0xpYi90ZXN0L3Rlc3RfbnRwYXRoLnB5CmluZGV4IDY0NjQ5NTAuLjJjOWRhYjkgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfbnRwYXRoLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfbnRwYXRoLnB5CkBAIC0xLDEwICsxLDExIEBACiBpbXBvcnQgbnRwYXRoCiBpbXBvcnQgb3MKIGltcG9ydCBzeXMKK2ltcG9ydCB1bml0dGVzdAoraW1wb3J0IHdhcm5pbmdzCiBmcm9tIHRlc3Quc3VwcG9ydCBpbXBvcnQgVGVzdEZhaWxlZAogZnJvbSB0ZXN0IGltcG9ydCBzdXBwb3J0LCB0ZXN0X2dlbmVyaWNwYXRoCiBmcm9tIHRlbXBmaWxlIGltcG9ydCBUZW1wb3JhcnlGaWxlCi1pbXBvcnQgdW5pdHRlc3QKIAogCiBkZWYgdGVzdGVyKGZuLCB3YW50UmVzdWx0KToKQEAgLTIxLDcgKzIyLDkgQEAKICAgICBmbiA9IGZuLnJlcGxhY2UoJ1siJywgJ1tiIicpCiAgICAgZm4gPSBmbi5yZXBsYWNlKCIsICciLCAiLCBiJyIpCiAgICAgZm4gPSBmbi5yZXBsYWNlKCcsICInLCAnLCBiIicpCi0gICAgZ290UmVzdWx0ID0gZXZhbChmbikKKyAgICB3aXRoIHdhcm5pbmdzLmNhdGNoX3dhcm5pbmdzKCk6CisgICAgICAgIHdhcm5pbmdzLnNpbXBsZWZpbHRlcigiaWdub3JlIiwgRGVwcmVjYXRpb25XYXJuaW5nKQorICAgICAgICBnb3RSZXN1bHQgPSBldmFsKGZuKQogICAgIGlmIGlzaW5zdGFuY2Uod2FudFJlc3VsdCwgc3RyKToKICAgICAgICAgd2FudFJlc3VsdCA9IHdhbnRSZXN1bHQuZW5jb2RlKCdhc2NpaScpCiAgICAgZWxpZiBpc2luc3RhbmNlKHdhbnRSZXN1bHQsIHR1cGxlKToKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3Rfb3B0cGFyc2UucHkgYi9MaWIvdGVzdC90ZXN0X29wdHBhcnNlLnB5CmluZGV4IDdiOTU2MTIuLmQxYWU3NTcgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3Rfb3B0cGFyc2UucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9vcHRwYXJzZS5weQpAQCAtNjMxLDcgKzYzMSw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbl9saXN0PW9wdGlvbnMpCiAKICAgICBkZWYgdGVzdF9yZXF1aXJlZF92YWx1ZShzZWxmKToKLSAgICAgICAgc2VsZi5hc3NlcnRQYXJzZUZhaWwoWyItYSJdLCAiLWEgb3B0aW9uIHJlcXVpcmVzIGFuIGFyZ3VtZW50IikKKyAgICAgICAgc2VsZi5hc3NlcnRQYXJzZUZhaWwoWyItYSJdLCAiLWEgb3B0aW9uIHJlcXVpcmVzIDEgYXJndW1lbnQiKQogCiAgICAgZGVmIHRlc3RfaW52YWxpZF9pbnRlZ2VyKHNlbGYpOgogICAgICAgICBzZWxmLmFzc2VydFBhcnNlRmFpbChbIi1iIiwgIjV4Il0sCkBAIC0xMDIzLDcgKzEwMjMsNyBAQAogICAgICAgICBUWVBFX0NIRUNLRVJbImZpbGUiXSA9IGNoZWNrX2ZpbGUKIAogICAgIGRlZiB0ZXN0X2ZpbGV0eXBlX29rKHNlbGYpOgotICAgICAgICBvcGVuKHN1cHBvcnQuVEVTVEZOLCAidyIpLmNsb3NlKCkKKyAgICAgICAgc3VwcG9ydC5jcmVhdGVfZW1wdHlfZmlsZShzdXBwb3J0LlRFU1RGTikKICAgICAgICAgc2VsZi5hc3NlcnRQYXJzZU9LKFsiLS1maWxlIiwgc3VwcG9ydC5URVNURk4sICItYWZvbyJdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeydmaWxlJzogc3VwcG9ydC5URVNURk4sICdhJzogJ2Zvbyd9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgW10pCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X29zLnB5IGIvTGliL3Rlc3QvdGVzdF9vcy5weQppbmRleCA4YmM4YmE5Li5kMjU5NTE1IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X29zLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3Rfb3MucHkKQEAgLTE0LDE5ICsxNCwzOCBAQAogZnJvbSB0ZXN0IGltcG9ydCBzdXBwb3J0CiBpbXBvcnQgY29udGV4dGxpYgogaW1wb3J0IG1tYXAKK2ltcG9ydCBwbGF0Zm9ybQoraW1wb3J0IHJlCiBpbXBvcnQgdXVpZAoraW1wb3J0IGFzeW5jb3JlCitpbXBvcnQgYXN5bmNoYXQKK2ltcG9ydCBzb2NrZXQKK2ltcG9ydCBpdGVydG9vbHMKK2ltcG9ydCBzdGF0CitpbXBvcnQgbG9jYWxlCitpbXBvcnQgY29kZWNzCit0cnk6CisgICAgaW1wb3J0IHRocmVhZGluZworZXhjZXB0IEltcG9ydEVycm9yOgorICAgIHRocmVhZGluZyA9IE5vbmUKIGZyb20gdGVzdC5zY3JpcHRfaGVscGVyIGltcG9ydCBhc3NlcnRfcHl0aG9uX29rCiAKK29zLnN0YXRfZmxvYXRfdGltZXMoVHJ1ZSkKK3N0ID0gb3Muc3RhdChfX2ZpbGVfXykKK3N0YXRfc3VwcG9ydHNfc3Vic2Vjb25kID0gKAorICAgICMgY2hlY2sgaWYgZmxvYXQgYW5kIGludCB0aW1lc3RhbXBzIGFyZSBkaWZmZXJlbnQKKyAgICAoc3Quc3RfYXRpbWUgIT0gc3RbN10pCisgICAgb3IgKHN0LnN0X210aW1lICE9IHN0WzhdKQorICAgIG9yIChzdC5zdF9jdGltZSAhPSBzdFs5XSkpCisKICMgRGV0ZWN0IHdoZXRoZXIgd2UncmUgb24gYSBMaW51eCBzeXN0ZW0gdGhhdCB1c2VzIHRoZSAobm93IG91dGRhdGVkCiAjIGFuZCB1bm1haW50YWluZWQpIGxpbnV4dGhyZWFkcyB0aHJlYWRpbmcgbGlicmFyeS4gIFRoZXJlJ3MgYW4gaXNzdWUKICMgd2hlbiBjb21iaW5pbmcgbGludXh0aHJlYWRzIHdpdGggYSBmYWlsZWQgZXhlY3YgY2FsbDogc2VlCiAjIGh0dHA6Ly9idWdzLnB5dGhvbi5vcmcvaXNzdWU0OTcwLgotaWYgKGhhc2F0dHIob3MsICJjb25mc3RyX25hbWVzIikgYW5kCi0gICAgIkNTX0dOVV9MSUJQVEhSRUFEX1ZFUlNJT04iIGluIG9zLmNvbmZzdHJfbmFtZXMpOgotICAgIGxpYnB0aHJlYWQgPSBvcy5jb25mc3RyKCJDU19HTlVfTElCUFRIUkVBRF9WRVJTSU9OIikKLSAgICBVU0lOR19MSU5VWFRIUkVBRFM9IGxpYnB0aHJlYWQuc3RhcnRzd2l0aCgibGludXh0aHJlYWRzIikKK2lmIGhhc2F0dHIoc3lzLCAndGhyZWFkX2luZm8nKSBhbmQgc3lzLnRocmVhZF9pbmZvLnZlcnNpb246CisgICAgVVNJTkdfTElOVVhUSFJFQURTID0gc3lzLnRocmVhZF9pbmZvLnZlcnNpb24uc3RhcnRzd2l0aCgibGludXh0aHJlYWRzIikKIGVsc2U6Ci0gICAgVVNJTkdfTElOVVhUSFJFQURTPSBGYWxzZQorICAgIFVTSU5HX0xJTlVYVEhSRUFEUyA9IEZhbHNlCiAKICMgVGVzdHMgY3JlYXRpbmcgVEVTVEZOCiBjbGFzcyBGaWxlVGVzdHModW5pdHRlc3QuVGVzdENhc2UpOgpAQCAtMTIzLDYgKzE0MiwxOCBAQAogICAgICAgICBzZWxmLmZkb3Blbl9oZWxwZXIoJ3InKQogICAgICAgICBzZWxmLmZkb3Blbl9oZWxwZXIoJ3InLCAxMDApCiAKKyAgICBkZWYgdGVzdF9yZXBsYWNlKHNlbGYpOgorICAgICAgICBURVNURk4yID0gc3VwcG9ydC5URVNURk4gKyAiLjIiCisgICAgICAgIHdpdGggb3BlbihzdXBwb3J0LlRFU1RGTiwgJ3cnKSBhcyBmOgorICAgICAgICAgICAgZi53cml0ZSgiMSIpCisgICAgICAgIHdpdGggb3BlbihURVNURk4yLCAndycpIGFzIGY6CisgICAgICAgICAgICBmLndyaXRlKCIyIikKKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKG9zLnVubGluaywgVEVTVEZOMikKKyAgICAgICAgb3MucmVwbGFjZShzdXBwb3J0LlRFU1RGTiwgVEVTVEZOMikKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoRmlsZU5vdEZvdW5kRXJyb3IsIG9zLnN0YXQsIHN1cHBvcnQuVEVTVEZOKQorICAgICAgICB3aXRoIG9wZW4oVEVTVEZOMiwgJ3InKSBhcyBmOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmLnJlYWQoKSwgIjEiKQorCiAKICMgVGVzdCBhdHRyaWJ1dGVzIG9uIHJldHVybiB2YWx1ZXMgZnJvbSBvcy4qc3RhdCogZmFtaWx5LgogY2xhc3MgU3RhdEF0dHJpYnV0ZVRlc3RzKHVuaXR0ZXN0LlRlc3RDYXNlKToKQEAgLTE0MSw3ICsxNzIsNiBAQAogICAgICAgICBpZiBub3QgaGFzYXR0cihvcywgInN0YXQiKToKICAgICAgICAgICAgIHJldHVybgogCi0gICAgICAgIGltcG9ydCBzdGF0CiAgICAgICAgIHJlc3VsdCA9IG9zLnN0YXQoZm5hbWUpCiAKICAgICAgICAgIyBNYWtlIHN1cmUgZGlyZWN0IGFjY2VzcyB3b3JrcwpAQCAtMjA3LDcgKzIzNyw5IEBACiAgICAgICAgICAgICBmbmFtZSA9IHNlbGYuZm5hbWUuZW5jb2RlKHN5cy5nZXRmaWxlc3lzdGVtZW5jb2RpbmcoKSkKICAgICAgICAgZXhjZXB0IFVuaWNvZGVFbmNvZGVFcnJvcjoKICAgICAgICAgICAgIHNlbGYuc2tpcFRlc3QoImNhbm5vdCBlbmNvZGUgJWEgZm9yIHRoZSBmaWxlc3lzdGVtIiAlIHNlbGYuZm5hbWUpCi0gICAgICAgIHNlbGYuY2hlY2tfc3RhdF9hdHRyaWJ1dGVzKGZuYW1lKQorICAgICAgICB3aXRoIHdhcm5pbmdzLmNhdGNoX3dhcm5pbmdzKCk6CisgICAgICAgICAgICB3YXJuaW5ncy5zaW1wbGVmaWx0ZXIoImlnbm9yZSIsIERlcHJlY2F0aW9uV2FybmluZykKKyAgICAgICAgICAgIHNlbGYuY2hlY2tfc3RhdF9hdHRyaWJ1dGVzKGZuYW1lKQogCiAgICAgZGVmIHRlc3Rfc3RhdHZmc19hdHRyaWJ1dGVzKHNlbGYpOgogICAgICAgICBpZiBub3QgaGFzYXR0cihvcywgInN0YXR2ZnMiKToKQEAgLTI2NCw2ICsyOTYsMTA1IEBACiAgICAgICAgIHN0MiA9IG9zLnN0YXQoc3VwcG9ydC5URVNURk4pCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3QyLnN0X210aW1lLCBpbnQoc3Quc3RfbXRpbWUtZGVsdGEpKQogCisgICAgZGVmIHRlc3RfdXRpbWVfbm9hcmdzKHNlbGYpOgorICAgICAgICAjIElzc3VlICMxMzMyNyByZW1vdmVkIHRoZSByZXF1aXJlbWVudCB0byBwYXNzIE5vbmUgYXMgdGhlCisgICAgICAgICMgc2Vjb25kIGFyZ3VtZW50LiBDaGVjayB0aGF0IHRoZSBwcmV2aW91cyBtZXRob2RzIG9mIHBhc3NpbmcKKyAgICAgICAgIyBhIHRpbWUgdHVwbGUgb3IgTm9uZSB3b3JrIGluIGFkZGl0aW9uIHRvIG5vIGFyZ3VtZW50LgorICAgICAgICBzdCA9IG9zLnN0YXQoc3VwcG9ydC5URVNURk4pCisgICAgICAgICMgRG9lc24ndCBzZXQgYW55dGhpbmcgbmV3LCBidXQgc2V0cyB0aGUgdGltZSB0dXBsZSB3YXkKKyAgICAgICAgb3MudXRpbWUoc3VwcG9ydC5URVNURk4sIChzdC5zdF9hdGltZSwgc3Quc3RfbXRpbWUpKQorICAgICAgICAjIFNldCB0byB0aGUgY3VycmVudCB0aW1lIGluIHRoZSBvbGQgZXhwbGljaXQgd2F5LgorICAgICAgICBvcy51dGltZShzdXBwb3J0LlRFU1RGTiwgTm9uZSkKKyAgICAgICAgc3QxID0gb3Muc3RhdChzdXBwb3J0LlRFU1RGTikKKyAgICAgICAgIyBTZXQgdG8gdGhlIGN1cnJlbnQgdGltZSBpbiB0aGUgbmV3IHdheQorICAgICAgICBvcy51dGltZShzdXBwb3J0LlRFU1RGTikKKyAgICAgICAgc3QyID0gb3Muc3RhdChzdXBwb3J0LlRFU1RGTikKKyAgICAgICAgc2VsZi5hc3NlcnRBbG1vc3RFcXVhbChzdDEuc3RfbXRpbWUsIHN0Mi5zdF9tdGltZSwgZGVsdGE9MTApCisKKyAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhzdGF0X3N1cHBvcnRzX3N1YnNlY29uZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAib3Muc3RhdCgpIGRvZXNuJ3QgaGFzIGEgc3Vic2Vjb25kIHJlc29sdXRpb24iKQorICAgIGRlZiBfdGVzdF91dGltZV9zdWJzZWNvbmQoc2VsZiwgc2V0X3RpbWVfZnVuYyk6CisgICAgICAgIGFzZWMsIGFtc2VjID0gMSwgOTAxCisgICAgICAgIGF0aW1lID0gYXNlYyArIGFtc2VjICogMWUtMworICAgICAgICBtc2VjLCBtbXNlYyA9IDIsIDkwMQorICAgICAgICBtdGltZSA9IG1zZWMgKyBtbXNlYyAqIDFlLTMKKyAgICAgICAgZmlsZW5hbWUgPSBzZWxmLmZuYW1lCisgICAgICAgIG9zLnV0aW1lKGZpbGVuYW1lLCAoMCwgMCkpCisgICAgICAgIHNldF90aW1lX2Z1bmMoZmlsZW5hbWUsIGF0aW1lLCBtdGltZSkKKyAgICAgICAgb3Muc3RhdF9mbG9hdF90aW1lcyhUcnVlKQorICAgICAgICBzdCA9IG9zLnN0YXQoZmlsZW5hbWUpCisgICAgICAgIHNlbGYuYXNzZXJ0QWxtb3N0RXF1YWwoc3Quc3RfYXRpbWUsIGF0aW1lLCBwbGFjZXM9MykKKyAgICAgICAgc2VsZi5hc3NlcnRBbG1vc3RFcXVhbChzdC5zdF9tdGltZSwgbXRpbWUsIHBsYWNlcz0zKQorCisgICAgZGVmIHRlc3RfdXRpbWVfc3Vic2Vjb25kKHNlbGYpOgorICAgICAgICBkZWYgc2V0X3RpbWUoZmlsZW5hbWUsIGF0aW1lLCBtdGltZSk6CisgICAgICAgICAgICBvcy51dGltZShmaWxlbmFtZSwgKGF0aW1lLCBtdGltZSkpCisgICAgICAgIHNlbGYuX3Rlc3RfdXRpbWVfc3Vic2Vjb25kKHNldF90aW1lKQorCisgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3MoaGFzYXR0cihvcywgJ2Z1dGltZXMnKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAib3MuZnV0aW1lcyByZXF1aXJlZCBmb3IgdGhpcyB0ZXN0LiIpCisgICAgZGVmIHRlc3RfZnV0aW1lc19zdWJzZWNvbmQoc2VsZik6CisgICAgICAgIGRlZiBzZXRfdGltZShmaWxlbmFtZSwgYXRpbWUsIG10aW1lKToKKyAgICAgICAgICAgIHdpdGggb3BlbihmaWxlbmFtZSwgIndiIikgYXMgZjoKKyAgICAgICAgICAgICAgICBvcy5mdXRpbWVzKGYuZmlsZW5vKCksIChhdGltZSwgbXRpbWUpKQorICAgICAgICBzZWxmLl90ZXN0X3V0aW1lX3N1YnNlY29uZChzZXRfdGltZSkKKworICAgIEB1bml0dGVzdC5za2lwVW5sZXNzKGhhc2F0dHIob3MsICdmdXRpbWVucycpLAorICAgICAgICAgICAgICAgICAgICAgICAgICJvcy5mdXRpbWVucyByZXF1aXJlZCBmb3IgdGhpcyB0ZXN0LiIpCisgICAgZGVmIHRlc3RfZnV0aW1lbnNfc3Vic2Vjb25kKHNlbGYpOgorICAgICAgICBkZWYgc2V0X3RpbWUoZmlsZW5hbWUsIGF0aW1lLCBtdGltZSk6CisgICAgICAgICAgICB3aXRoIG9wZW4oZmlsZW5hbWUsICJ3YiIpIGFzIGY6CisgICAgICAgICAgICAgICAgYXNlYywgYW5zZWMgPSBkaXZtb2QoYXRpbWUsIDEuMCkKKyAgICAgICAgICAgICAgICBhc2VjID0gaW50KGFzZWMpCisgICAgICAgICAgICAgICAgYW5zZWMgPSBpbnQoYW5zZWMgKiAxZTkpCisgICAgICAgICAgICAgICAgbXNlYywgbW5zZWMgPSBkaXZtb2QobXRpbWUsIDEuMCkKKyAgICAgICAgICAgICAgICBtc2VjID0gaW50KG1zZWMpCisgICAgICAgICAgICAgICAgbW5zZWMgPSBpbnQobW5zZWMgKiAxZTkpCisgICAgICAgICAgICAgICAgb3MuZnV0aW1lbnMoZi5maWxlbm8oKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIChhc2VjLCBhbnNlYyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAobXNlYywgbW5zZWMpKQorICAgICAgICBzZWxmLl90ZXN0X3V0aW1lX3N1YnNlY29uZChzZXRfdGltZSkKKworICAgIEB1bml0dGVzdC5za2lwVW5sZXNzKGhhc2F0dHIob3MsICdmdXRpbWVzYXQnKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAib3MuZnV0aW1lc2F0IHJlcXVpcmVkIGZvciB0aGlzIHRlc3QuIikKKyAgICBkZWYgdGVzdF9mdXRpbWVzYXRfc3Vic2Vjb25kKHNlbGYpOgorICAgICAgICBkZWYgc2V0X3RpbWUoZmlsZW5hbWUsIGF0aW1lLCBtdGltZSk6CisgICAgICAgICAgICBkaXJuYW1lID0gb3MucGF0aC5kaXJuYW1lKGZpbGVuYW1lKQorICAgICAgICAgICAgZGlyZmQgPSBvcy5vcGVuKGRpcm5hbWUsIG9zLk9fUkRPTkxZKQorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIG9zLmZ1dGltZXNhdChkaXJmZCwgb3MucGF0aC5iYXNlbmFtZShmaWxlbmFtZSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChhdGltZSwgbXRpbWUpKQorICAgICAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgICAgICBvcy5jbG9zZShkaXJmZCkKKyAgICAgICAgc2VsZi5fdGVzdF91dGltZV9zdWJzZWNvbmQoc2V0X3RpbWUpCisKKyAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhoYXNhdHRyKG9zLCAnbHV0aW1lcycpLAorICAgICAgICAgICAgICAgICAgICAgICAgICJvcy5sdXRpbWVzIHJlcXVpcmVkIGZvciB0aGlzIHRlc3QuIikKKyAgICBkZWYgdGVzdF9sdXRpbWVzX3N1YnNlY29uZChzZWxmKToKKyAgICAgICAgZGVmIHNldF90aW1lKGZpbGVuYW1lLCBhdGltZSwgbXRpbWUpOgorICAgICAgICAgICAgb3MubHV0aW1lcyhmaWxlbmFtZSwgKGF0aW1lLCBtdGltZSkpCisgICAgICAgIHNlbGYuX3Rlc3RfdXRpbWVfc3Vic2Vjb25kKHNldF90aW1lKQorCisgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3MoaGFzYXR0cihvcywgJ3V0aW1lbnNhdCcpLAorICAgICAgICAgICAgICAgICAgICAgICAgICJvcy51dGltZW5zYXQgcmVxdWlyZWQgZm9yIHRoaXMgdGVzdC4iKQorICAgIGRlZiB0ZXN0X3V0aW1lbnNhdF9zdWJzZWNvbmQoc2VsZik6CisgICAgICAgIGRlZiBzZXRfdGltZShmaWxlbmFtZSwgYXRpbWUsIG10aW1lKToKKyAgICAgICAgICAgIGRpcm5hbWUgPSBvcy5wYXRoLmRpcm5hbWUoZmlsZW5hbWUpCisgICAgICAgICAgICBkaXJmZCA9IG9zLm9wZW4oZGlybmFtZSwgb3MuT19SRE9OTFkpCisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgYXNlYywgYW5zZWMgPSBkaXZtb2QoYXRpbWUsIDEuMCkKKyAgICAgICAgICAgICAgICBhc2VjID0gaW50KGFzZWMpCisgICAgICAgICAgICAgICAgYW5zZWMgPSBpbnQoYW5zZWMgKiAxZTkpCisgICAgICAgICAgICAgICAgbXNlYywgbW5zZWMgPSBkaXZtb2QobXRpbWUsIDEuMCkKKyAgICAgICAgICAgICAgICBtc2VjID0gaW50KG1zZWMpCisgICAgICAgICAgICAgICAgbW5zZWMgPSBpbnQobW5zZWMgKiAxZTkpCisgICAgICAgICAgICAgICAgb3MudXRpbWVuc2F0KGRpcmZkLCBvcy5wYXRoLmJhc2VuYW1lKGZpbGVuYW1lKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFzZWMsIGFuc2VjKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1zZWMsIG1uc2VjKSkKKyAgICAgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICAgICAgb3MuY2xvc2UoZGlyZmQpCisgICAgICAgIHNlbGYuX3Rlc3RfdXRpbWVfc3Vic2Vjb25kKHNldF90aW1lKQorCiAgICAgIyBSZXN0cmljdCB0ZXN0IHRvIFdpbjMyLCBzaW5jZSB0aGVyZSBpcyBubyBndWFyYW50ZWUgb3RoZXIKICAgICAjIHN5c3RlbXMgc3VwcG9ydCBjZW50aXNlY29uZHMKICAgICBpZiBzeXMucGxhdGZvcm0gPT0gJ3dpbjMyJzoKQEAgLTQyNiw4ICs1NTcsOCBAQAogCiAgICAgIyBPbiBGcmVlQlNEIDwgNyBhbmQgT1MgWCA8IDEwLjYsIHVuc2V0ZW52KCkgZG9lc24ndCByZXR1cm4gYSB2YWx1ZSAoaXNzdWUKICAgICAjICMxMzQxNSkuCi0gICAgQHVuaXR0ZXN0LnNraXBJZihzeXMucGxhdGZvcm0uc3RhcnRzd2l0aCgoJ2ZyZWVic2QnLCAnZGFyd2luJykpLAotICAgICAgICAgICAgICAgICAgICAgImR1ZSB0byBrbm93biBPUyBidWc6IHNlZSBpc3N1ZSAjMTM0MTUiKQorICAgIEBzdXBwb3J0LnJlcXVpcmVzX2ZyZWVic2RfdmVyc2lvbig3KQorICAgIEBzdXBwb3J0LnJlcXVpcmVzX21hY192ZXIoMTAsIDYpCiAgICAgZGVmIHRlc3RfdW5zZXRfZXJyb3Ioc2VsZik6CiAgICAgICAgIGlmIHN5cy5wbGF0Zm9ybSA9PSAid2luMzIiOgogICAgICAgICAgICAgIyBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBsaW1pdGVkIHRvIDMyLDc2NyBjaGFyYWN0ZXJzCkBAIC00NDEsNyArNTcyLDcgQEAKIGNsYXNzIFdhbGtUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgIiIiVGVzdHMgZm9yIG9zLndhbGsoKS4iIiIKIAotICAgIGRlZiB0ZXN0X3RyYXZlcnNhbChzZWxmKToKKyAgICBkZWYgc2V0VXAoc2VsZik6CiAgICAgICAgIGltcG9ydCBvcwogICAgICAgICBmcm9tIG9zLnBhdGggaW1wb3J0IGpvaW4KIApAQCAtNTUxLDYgKzY4Miw2MCBAQAogICAgICAgICAgICAgICAgICAgICBvcy5yZW1vdmUoZGlybmFtZSkKICAgICAgICAgb3Mucm1kaXIoc3VwcG9ydC5URVNURk4pCiAKKworQHVuaXR0ZXN0LnNraXBVbmxlc3MoaGFzYXR0cihvcywgJ2Z3YWxrJyksICJUZXN0IG5lZWRzIG9zLmZ3YWxrKCkiKQorY2xhc3MgRndhbGtUZXN0cyhXYWxrVGVzdHMpOgorICAgICIiIlRlc3RzIGZvciBvcy5md2FsaygpLiIiIgorCisgICAgZGVmIHRlc3RfY29tcGFyZV90b193YWxrKHNlbGYpOgorICAgICAgICAjIGNvbXBhcmUgd2l0aCB3YWxrKCkgcmVzdWx0cworICAgICAgICBmb3IgdG9wZG93biwgZm9sbG93bGlua3MgaW4gaXRlcnRvb2xzLnByb2R1Y3QoKFRydWUsIEZhbHNlKSwgcmVwZWF0PTIpOgorICAgICAgICAgICAgYXJncyA9IHN1cHBvcnQuVEVTVEZOLCB0b3Bkb3duLCBOb25lLCBmb2xsb3dsaW5rcworICAgICAgICAgICAgZXhwZWN0ZWQgPSB7fQorICAgICAgICAgICAgZm9yIHJvb3QsIGRpcnMsIGZpbGVzIGluIG9zLndhbGsoKmFyZ3MpOgorICAgICAgICAgICAgICAgIGV4cGVjdGVkW3Jvb3RdID0gKHNldChkaXJzKSwgc2V0KGZpbGVzKSkKKworICAgICAgICAgICAgZm9yIHJvb3QsIGRpcnMsIGZpbGVzLCByb290ZmQgaW4gb3MuZndhbGsoKmFyZ3MpOgorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4ocm9vdCwgZXhwZWN0ZWQpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChleHBlY3RlZFtyb290XSwgKHNldChkaXJzKSwgc2V0KGZpbGVzKSkpCisKKyAgICBkZWYgdGVzdF9kaXJfZmQoc2VsZik6CisgICAgICAgICMgY2hlY2sgcmV0dXJuZWQgZmlsZSBkZXNjcmlwdG9ycworICAgICAgICBmb3IgdG9wZG93biwgZm9sbG93bGlua3MgaW4gaXRlcnRvb2xzLnByb2R1Y3QoKFRydWUsIEZhbHNlKSwgcmVwZWF0PTIpOgorICAgICAgICAgICAgYXJncyA9IHN1cHBvcnQuVEVTVEZOLCB0b3Bkb3duLCBOb25lLCBmb2xsb3dsaW5rcworICAgICAgICAgICAgZm9yIHJvb3QsIGRpcnMsIGZpbGVzLCByb290ZmQgaW4gb3MuZndhbGsoKmFyZ3MpOgorICAgICAgICAgICAgICAgICMgY2hlY2sgdGhhdCB0aGUgRkQgaXMgdmFsaWQKKyAgICAgICAgICAgICAgICBvcy5mc3RhdChyb290ZmQpCisgICAgICAgICAgICAgICAgIyBjaGVjayB0aGF0IGZsaXN0ZGlyKCkgcmV0dXJucyBjb25zaXN0ZW50IGluZm9ybWF0aW9uCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZXQob3MuZmxpc3RkaXIocm9vdGZkKSksIHNldChkaXJzKSB8IHNldChmaWxlcykpCisKKyAgICBkZWYgdGVzdF9mZF9sZWFrKHNlbGYpOgorICAgICAgICAjIFNpbmNlIHdlJ3JlIG9wZW5pbmcgYSBsb3Qgb2YgRkRzLCB3ZSBtdXN0IGJlIGNhcmVmdWwgdG8gYXZvaWQgbGVha3M6CisgICAgICAgICMgd2UgYm90aCBjaGVjayB0aGF0IGNhbGxpbmcgZndhbGsoKSBhIGxhcmdlIG51bWJlciBvZiB0aW1lcyBkb2Vzbid0CisgICAgICAgICMgeWllbGQgRU1GSUxFLCBhbmQgdGhhdCB0aGUgbWluaW11bSBhbGxvY2F0ZWQgRkQgaGFzbid0IGNoYW5nZWQuCisgICAgICAgIG1pbmZkID0gb3MuZHVwKDEpCisgICAgICAgIG9zLmNsb3NlKG1pbmZkKQorICAgICAgICBmb3IgaSBpbiByYW5nZSgyNTYpOgorICAgICAgICAgICAgZm9yIHggaW4gb3MuZndhbGsoc3VwcG9ydC5URVNURk4pOgorICAgICAgICAgICAgICAgIHBhc3MKKyAgICAgICAgbmV3ZmQgPSBvcy5kdXAoMSkKKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKG9zLmNsb3NlLCBuZXdmZCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChuZXdmZCwgbWluZmQpCisKKyAgICBkZWYgdGVhckRvd24oc2VsZik6CisgICAgICAgICMgY2xlYW51cAorICAgICAgICBmb3Igcm9vdCwgZGlycywgZmlsZXMsIHJvb3RmZCBpbiBvcy5md2FsayhzdXBwb3J0LlRFU1RGTiwgdG9wZG93bj1GYWxzZSk6CisgICAgICAgICAgICBmb3IgbmFtZSBpbiBmaWxlczoKKyAgICAgICAgICAgICAgICBvcy51bmxpbmthdChyb290ZmQsIG5hbWUpCisgICAgICAgICAgICBmb3IgbmFtZSBpbiBkaXJzOgorICAgICAgICAgICAgICAgIHN0ID0gb3MuZnN0YXRhdChyb290ZmQsIG5hbWUsIG9zLkFUX1NZTUxJTktfTk9GT0xMT1cpCisgICAgICAgICAgICAgICAgaWYgc3RhdC5TX0lTRElSKHN0LnN0X21vZGUpOgorICAgICAgICAgICAgICAgICAgICBvcy51bmxpbmthdChyb290ZmQsIG5hbWUsIG9zLkFUX1JFTU9WRURJUikKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICBvcy51bmxpbmthdChyb290ZmQsIG5hbWUpCisgICAgICAgIG9zLnJtZGlyKHN1cHBvcnQuVEVTVEZOKQorCisKIGNsYXNzIE1ha2VkaXJUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgZGVmIHNldFVwKHNlbGYpOgogICAgICAgICBvcy5ta2RpcihzdXBwb3J0LlRFU1RGTikKQEAgLTg1NSw3ICsxMDQwLDkgQEAKICAgICAgICAgd2l0aCBvcGVuKGZpbGUxLCAidyIpIGFzIGYxOgogICAgICAgICAgICAgZjEud3JpdGUoInRlc3QiKQogCi0gICAgICAgIG9zLmxpbmsoZmlsZTEsIGZpbGUyKQorICAgICAgICB3aXRoIHdhcm5pbmdzLmNhdGNoX3dhcm5pbmdzKCk6CisgICAgICAgICAgICB3YXJuaW5ncy5zaW1wbGVmaWx0ZXIoImlnbm9yZSIsIERlcHJlY2F0aW9uV2FybmluZykKKyAgICAgICAgICAgIG9zLmxpbmsoZmlsZTEsIGZpbGUyKQogICAgICAgICB3aXRoIG9wZW4oZmlsZTEsICJyIikgYXMgZjEsIG9wZW4oZmlsZTIsICJyIikgYXMgZjI6CiAgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUob3MucGF0aC5zYW1lb3BlbmZpbGUoZjEuZmlsZW5vKCksIGYyLmZpbGVubygpKSkKIApAQCAtOTU4LDggKzExNDUsNyBAQAogICAgICAgICAgICAgb3MubWtkaXIoc2VsZi5kaXIpCiAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgZm9yIGZuIGluIGJ5dGVzZm46Ci0gICAgICAgICAgICAgICAgICAgIGYgPSBvcGVuKG9zLnBhdGguam9pbihzZWxmLmJkaXIsIGZuKSwgInciKQotICAgICAgICAgICAgICAgICAgICBmLmNsb3NlKCkKKyAgICAgICAgICAgICAgICAgICAgc3VwcG9ydC5jcmVhdGVfZW1wdHlfZmlsZShvcy5wYXRoLmpvaW4oc2VsZi5iZGlyLCBmbikpCiAgICAgICAgICAgICAgICAgICAgIGZuID0gb3MuZnNkZWNvZGUoZm4pCiAgICAgICAgICAgICAgICAgICAgIGlmIGZuIGluIHNlbGYudW5pY29kZWZuOgogICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiZHVwbGljYXRlIGZpbGVuYW1lIikKQEAgLTExNzgsOCArMTM2NCwxMCBAQAogICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKG9zLmxzdGF0KGxpbmspLCBvcy5zdGF0KGxpbmspKQogCiAgICAgICAgIGJ5dGVzX2xpbmsgPSBvcy5mc2VuY29kZShsaW5rKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG9zLnN0YXQoYnl0ZXNfbGluayksIG9zLnN0YXQodGFyZ2V0KSkKLSAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbChvcy5sc3RhdChieXRlc19saW5rKSwgb3Muc3RhdChieXRlc19saW5rKSkKKyAgICAgICAgd2l0aCB3YXJuaW5ncy5jYXRjaF93YXJuaW5ncygpOgorICAgICAgICAgICAgd2FybmluZ3Muc2ltcGxlZmlsdGVyKCJpZ25vcmUiLCBEZXByZWNhdGlvbldhcm5pbmcpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG9zLnN0YXQoYnl0ZXNfbGluayksIG9zLnN0YXQodGFyZ2V0KSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwob3MubHN0YXQoYnl0ZXNfbGluayksIG9zLnN0YXQoYnl0ZXNfbGluaykpCiAKICAgICBkZWYgdGVzdF8xMjA4NChzZWxmKToKICAgICAgICAgbGV2ZWwxID0gb3MucGF0aC5hYnNwYXRoKHN1cHBvcnQuVEVTVEZOKQpAQCAtMTIzOCw2ICsxNDI2LDIyIEBACiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG9zLmZzZGVjb2RlKGJ5dGVzZm4pLCBmbikKIAogCisKK2NsYXNzIERldmljZUVuY29kaW5nVGVzdHModW5pdHRlc3QuVGVzdENhc2UpOgorCisgICAgZGVmIHRlc3RfYmFkX2ZkKHNlbGYpOgorICAgICAgICAjIFJldHVybiBOb25lIHdoZW4gYW4gZmQgZG9lc24ndCBhY3R1YWxseSBleGlzdC4KKyAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUob3MuZGV2aWNlX2VuY29kaW5nKDEyMzQ1NikpCisKKyAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhvcy5pc2F0dHkoMCkgYW5kIChzeXMucGxhdGZvcm0uc3RhcnRzd2l0aCgnd2luJykgb3IKKyAgICAgICAgICAgIChoYXNhdHRyKGxvY2FsZSwgJ25sX2xhbmdpbmZvJykgYW5kIGhhc2F0dHIobG9jYWxlLCAnQ09ERVNFVCcpKSksCisgICAgICAgICAgICAndGVzdCByZXF1aXJlcyBhIHR0eSBhbmQgZWl0aGVyIFdpbmRvd3Mgb3IgbmxfbGFuZ2luZm8oQ09ERVNFVCknKQorICAgIGRlZiB0ZXN0X2RldmljZV9lbmNvZGluZyhzZWxmKToKKyAgICAgICAgZW5jb2RpbmcgPSBvcy5kZXZpY2VfZW5jb2RpbmcoMCkKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vdE5vbmUoZW5jb2RpbmcpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShjb2RlY3MubG9va3VwKGVuY29kaW5nKSkKKworCiBjbGFzcyBQaWRUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3MoaGFzYXR0cihvcywgJ2dldHBwaWQnKSwgInRlc3QgbmVlZHMgb3MuZ2V0cHBpZCIpCiAgICAgZGVmIHRlc3RfZ2V0cHBpZChzZWxmKToKQEAgLTEyNTksMTIgKzE0NjMsNDczIEBACiAgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwobGVuKHVzZXJfbmFtZSksIDApCiAKIAorQHVuaXR0ZXN0LnNraXBVbmxlc3MoaGFzYXR0cihvcywgJ2dldHByaW9yaXR5JykgYW5kIGhhc2F0dHIob3MsICdzZXRwcmlvcml0eScpLAorICAgICAgICAgICAgICAgICAgICAgIm5lZWRzIG9zLmdldHByaW9yaXR5IGFuZCBvcy5zZXRwcmlvcml0eSIpCitjbGFzcyBQcm9ncmFtUHJpb3JpdHlUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6CisgICAgIiIiVGVzdHMgZm9yIG9zLmdldHByaW9yaXR5KCkgYW5kIG9zLnNldHByaW9yaXR5KCkuIiIiCisKKyAgICBkZWYgdGVzdF9zZXRfZ2V0X3ByaW9yaXR5KHNlbGYpOgorCisgICAgICAgIGJhc2UgPSBvcy5nZXRwcmlvcml0eShvcy5QUklPX1BST0NFU1MsIG9zLmdldHBpZCgpKQorICAgICAgICBvcy5zZXRwcmlvcml0eShvcy5QUklPX1BST0NFU1MsIG9zLmdldHBpZCgpLCBiYXNlICsgMSkKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgbmV3X3ByaW8gPSBvcy5nZXRwcmlvcml0eShvcy5QUklPX1BST0NFU1MsIG9zLmdldHBpZCgpKQorICAgICAgICAgICAgaWYgYmFzZSA+PSAxOSBhbmQgbmV3X3ByaW8gPD0gMTk6CisgICAgICAgICAgICAgICAgcmFpc2UgdW5pdHRlc3QuU2tpcFRlc3QoCisgICAgICAidW5hYmxlIHRvIHJlbGlhYmx5IHRlc3Qgc2V0cHJpb3JpdHkgYXQgY3VycmVudCBuaWNlIGxldmVsIG9mICVzIiAlIGJhc2UpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobmV3X3ByaW8sIGJhc2UgKyAxKQorICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIG9zLnNldHByaW9yaXR5KG9zLlBSSU9fUFJPQ0VTUywgb3MuZ2V0cGlkKCksIGJhc2UpCisgICAgICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlcnI6CisgICAgICAgICAgICAgICAgaWYgZXJyLmVycm5vICE9IGVycm5vLkVBQ0NFUzoKKyAgICAgICAgICAgICAgICAgICAgcmFpc2UKKworCitpZiB0aHJlYWRpbmcgaXMgbm90IE5vbmU6CisgICAgY2xhc3MgU2VuZGZpbGVUZXN0U2VydmVyKGFzeW5jb3JlLmRpc3BhdGNoZXIsIHRocmVhZGluZy5UaHJlYWQpOgorCisgICAgICAgIGNsYXNzIEhhbmRsZXIoYXN5bmNoYXQuYXN5bmNfY2hhdCk6CisKKyAgICAgICAgICAgIGRlZiBfX2luaXRfXyhzZWxmLCBjb25uKToKKyAgICAgICAgICAgICAgICBhc3luY2hhdC5hc3luY19jaGF0Ll9faW5pdF9fKHNlbGYsIGNvbm4pCisgICAgICAgICAgICAgICAgc2VsZi5pbl9idWZmZXIgPSBbXQorICAgICAgICAgICAgICAgIHNlbGYuY2xvc2VkID0gRmFsc2UKKyAgICAgICAgICAgICAgICBzZWxmLnB1c2goYiIyMjAgcmVhZHlcclxuIikKKworICAgICAgICAgICAgZGVmIGhhbmRsZV9yZWFkKHNlbGYpOgorICAgICAgICAgICAgICAgIGRhdGEgPSBzZWxmLnJlY3YoNDA5NikKKyAgICAgICAgICAgICAgICBzZWxmLmluX2J1ZmZlci5hcHBlbmQoZGF0YSkKKworICAgICAgICAgICAgZGVmIGdldF9kYXRhKHNlbGYpOgorICAgICAgICAgICAgICAgIHJldHVybiBiJycuam9pbihzZWxmLmluX2J1ZmZlcikKKworICAgICAgICAgICAgZGVmIGhhbmRsZV9jbG9zZShzZWxmKToKKyAgICAgICAgICAgICAgICBzZWxmLmNsb3NlKCkKKyAgICAgICAgICAgICAgICBzZWxmLmNsb3NlZCA9IFRydWUKKworICAgICAgICAgICAgZGVmIGhhbmRsZV9lcnJvcihzZWxmKToKKyAgICAgICAgICAgICAgICByYWlzZQorCisgICAgICAgIGRlZiBfX2luaXRfXyhzZWxmLCBhZGRyZXNzKToKKyAgICAgICAgICAgIHRocmVhZGluZy5UaHJlYWQuX19pbml0X18oc2VsZikKKyAgICAgICAgICAgIGFzeW5jb3JlLmRpc3BhdGNoZXIuX19pbml0X18oc2VsZikKKyAgICAgICAgICAgIHNlbGYuY3JlYXRlX3NvY2tldChzb2NrZXQuQUZfSU5FVCwgc29ja2V0LlNPQ0tfU1RSRUFNKQorICAgICAgICAgICAgc2VsZi5iaW5kKGFkZHJlc3MpCisgICAgICAgICAgICBzZWxmLmxpc3Rlbig1KQorICAgICAgICAgICAgc2VsZi5ob3N0LCBzZWxmLnBvcnQgPSBzZWxmLnNvY2tldC5nZXRzb2NrbmFtZSgpWzoyXQorICAgICAgICAgICAgc2VsZi5oYW5kbGVyX2luc3RhbmNlID0gTm9uZQorICAgICAgICAgICAgc2VsZi5fYWN0aXZlID0gRmFsc2UKKyAgICAgICAgICAgIHNlbGYuX2FjdGl2ZV9sb2NrID0gdGhyZWFkaW5nLkxvY2soKQorCisgICAgICAgICMgLS0tIHB1YmxpYyBBUEkKKworICAgICAgICBAcHJvcGVydHkKKyAgICAgICAgZGVmIHJ1bm5pbmcoc2VsZik6CisgICAgICAgICAgICByZXR1cm4gc2VsZi5fYWN0aXZlCisKKyAgICAgICAgZGVmIHN0YXJ0KHNlbGYpOgorICAgICAgICAgICAgYXNzZXJ0IG5vdCBzZWxmLnJ1bm5pbmcKKyAgICAgICAgICAgIHNlbGYuX19mbGFnID0gdGhyZWFkaW5nLkV2ZW50KCkKKyAgICAgICAgICAgIHRocmVhZGluZy5UaHJlYWQuc3RhcnQoc2VsZikKKyAgICAgICAgICAgIHNlbGYuX19mbGFnLndhaXQoKQorCisgICAgICAgIGRlZiBzdG9wKHNlbGYpOgorICAgICAgICAgICAgYXNzZXJ0IHNlbGYucnVubmluZworICAgICAgICAgICAgc2VsZi5fYWN0aXZlID0gRmFsc2UKKyAgICAgICAgICAgIHNlbGYuam9pbigpCisKKyAgICAgICAgZGVmIHdhaXQoc2VsZik6CisgICAgICAgICAgICAjIHdhaXQgZm9yIGhhbmRsZXIgY29ubmVjdGlvbiB0byBiZSBjbG9zZWQsIHRoZW4gc3RvcCB0aGUgc2VydmVyCisgICAgICAgICAgICB3aGlsZSBub3QgZ2V0YXR0cihzZWxmLmhhbmRsZXJfaW5zdGFuY2UsICJjbG9zZWQiLCBGYWxzZSk6CisgICAgICAgICAgICAgICAgdGltZS5zbGVlcCgwLjAwMSkKKyAgICAgICAgICAgIHNlbGYuc3RvcCgpCisKKyAgICAgICAgIyAtLS0gaW50ZXJuYWxzCisKKyAgICAgICAgZGVmIHJ1bihzZWxmKToKKyAgICAgICAgICAgIHNlbGYuX2FjdGl2ZSA9IFRydWUKKyAgICAgICAgICAgIHNlbGYuX19mbGFnLnNldCgpCisgICAgICAgICAgICB3aGlsZSBzZWxmLl9hY3RpdmUgYW5kIGFzeW5jb3JlLnNvY2tldF9tYXA6CisgICAgICAgICAgICAgICAgc2VsZi5fYWN0aXZlX2xvY2suYWNxdWlyZSgpCisgICAgICAgICAgICAgICAgYXN5bmNvcmUubG9vcCh0aW1lb3V0PTAuMDAxLCBjb3VudD0xKQorICAgICAgICAgICAgICAgIHNlbGYuX2FjdGl2ZV9sb2NrLnJlbGVhc2UoKQorICAgICAgICAgICAgYXN5bmNvcmUuY2xvc2VfYWxsKCkKKworICAgICAgICBkZWYgaGFuZGxlX2FjY2VwdChzZWxmKToKKyAgICAgICAgICAgIGNvbm4sIGFkZHIgPSBzZWxmLmFjY2VwdCgpCisgICAgICAgICAgICBzZWxmLmhhbmRsZXJfaW5zdGFuY2UgPSBzZWxmLkhhbmRsZXIoY29ubikKKworICAgICAgICBkZWYgaGFuZGxlX2Nvbm5lY3Qoc2VsZik6CisgICAgICAgICAgICBzZWxmLmNsb3NlKCkKKyAgICAgICAgaGFuZGxlX3JlYWQgPSBoYW5kbGVfY29ubmVjdAorCisgICAgICAgIGRlZiB3cml0YWJsZShzZWxmKToKKyAgICAgICAgICAgIHJldHVybiAwCisKKyAgICAgICAgZGVmIGhhbmRsZV9lcnJvcihzZWxmKToKKyAgICAgICAgICAgIHJhaXNlCisKKworQHVuaXR0ZXN0LnNraXBVbmxlc3ModGhyZWFkaW5nIGlzIG5vdCBOb25lLCAidGVzdCBuZWVkcyB0aHJlYWRpbmcgbW9kdWxlIikKK0B1bml0dGVzdC5za2lwVW5sZXNzKGhhc2F0dHIob3MsICdzZW5kZmlsZScpLCAidGVzdCBuZWVkcyBvcy5zZW5kZmlsZSgpIikKK2NsYXNzIFRlc3RTZW5kZmlsZSh1bml0dGVzdC5UZXN0Q2FzZSk6CisKKyAgICBEQVRBID0gYiIxMjM0NWFiY2RlIiAqIDE2ICogMTAyNCAgIyAxNjAgS0IKKyAgICBTVVBQT1JUX0hFQURFUlNfVFJBSUxFUlMgPSBub3Qgc3lzLnBsYXRmb3JtLnN0YXJ0c3dpdGgoImxpbnV4IikgYW5kIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub3Qgc3lzLnBsYXRmb3JtLnN0YXJ0c3dpdGgoInNvbGFyaXMiKSBhbmQgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vdCBzeXMucGxhdGZvcm0uc3RhcnRzd2l0aCgic3Vub3MiKQorCisgICAgQGNsYXNzbWV0aG9kCisgICAgZGVmIHNldFVwQ2xhc3MoY2xzKToKKyAgICAgICAgd2l0aCBvcGVuKHN1cHBvcnQuVEVTVEZOLCAid2IiKSBhcyBmOgorICAgICAgICAgICAgZi53cml0ZShjbHMuREFUQSkKKworICAgIEBjbGFzc21ldGhvZAorICAgIGRlZiB0ZWFyRG93bkNsYXNzKGNscyk6CisgICAgICAgIHN1cHBvcnQudW5saW5rKHN1cHBvcnQuVEVTVEZOKQorCisgICAgZGVmIHNldFVwKHNlbGYpOgorICAgICAgICBzZWxmLnNlcnZlciA9IFNlbmRmaWxlVGVzdFNlcnZlcigoc3VwcG9ydC5IT1NULCAwKSkKKyAgICAgICAgc2VsZi5zZXJ2ZXIuc3RhcnQoKQorICAgICAgICBzZWxmLmNsaWVudCA9IHNvY2tldC5zb2NrZXQoKQorICAgICAgICBzZWxmLmNsaWVudC5jb25uZWN0KChzZWxmLnNlcnZlci5ob3N0LCBzZWxmLnNlcnZlci5wb3J0KSkKKyAgICAgICAgc2VsZi5jbGllbnQuc2V0dGltZW91dCgxKQorICAgICAgICAjIHN5bmNocm9uaXplIGJ5IHdhaXRpbmcgZm9yICIyMjAgcmVhZHkiIHJlc3BvbnNlCisgICAgICAgIHNlbGYuY2xpZW50LnJlY3YoMTAyNCkKKyAgICAgICAgc2VsZi5zb2Nrbm8gPSBzZWxmLmNsaWVudC5maWxlbm8oKQorICAgICAgICBzZWxmLmZpbGUgPSBvcGVuKHN1cHBvcnQuVEVTVEZOLCAncmInKQorICAgICAgICBzZWxmLmZpbGVubyA9IHNlbGYuZmlsZS5maWxlbm8oKQorCisgICAgZGVmIHRlYXJEb3duKHNlbGYpOgorICAgICAgICBzZWxmLmZpbGUuY2xvc2UoKQorICAgICAgICBzZWxmLmNsaWVudC5jbG9zZSgpCisgICAgICAgIGlmIHNlbGYuc2VydmVyLnJ1bm5pbmc6CisgICAgICAgICAgICBzZWxmLnNlcnZlci5zdG9wKCkKKworICAgIGRlZiBzZW5kZmlsZV93cmFwcGVyKHNlbGYsIHNvY2ssIGZpbGUsIG9mZnNldCwgbmJ5dGVzLCBoZWFkZXJzPVtdLCB0cmFpbGVycz1bXSk6CisgICAgICAgICIiIkEgaGlnaGVyIGxldmVsIHdyYXBwZXIgcmVwcmVzZW50aW5nIGhvdyBhbiBhcHBsaWNhdGlvbiBpcworICAgICAgICBzdXBwb3NlZCB0byB1c2Ugc2VuZGZpbGUoKS4KKyAgICAgICAgIiIiCisgICAgICAgIHdoaWxlIDE6CisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgaWYgc2VsZi5TVVBQT1JUX0hFQURFUlNfVFJBSUxFUlM6CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBvcy5zZW5kZmlsZShzb2NrLCBmaWxlLCBvZmZzZXQsIG5ieXRlcywgaGVhZGVycywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYWlsZXJzKQorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBvcy5zZW5kZmlsZShzb2NrLCBmaWxlLCBvZmZzZXQsIG5ieXRlcykKKyAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGVycjoKKyAgICAgICAgICAgICAgICBpZiBlcnIuZXJybm8gPT0gZXJybm8uRUNPTk5SRVNFVDoKKyAgICAgICAgICAgICAgICAgICAgIyBkaXNjb25uZWN0ZWQKKyAgICAgICAgICAgICAgICAgICAgcmFpc2UKKyAgICAgICAgICAgICAgICBlbGlmIGVyci5lcnJubyBpbiAoZXJybm8uRUFHQUlOLCBlcnJuby5FQlVTWSk6CisgICAgICAgICAgICAgICAgICAgICMgd2UgaGF2ZSB0byByZXRyeSBzZW5kIGRhdGEKKyAgICAgICAgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICByYWlzZQorCisgICAgZGVmIHRlc3Rfc2VuZF93aG9sZV9maWxlKHNlbGYpOgorICAgICAgICAjIG5vcm1hbCBzZW5kCisgICAgICAgIHRvdGFsX3NlbnQgPSAwCisgICAgICAgIG9mZnNldCA9IDAKKyAgICAgICAgbmJ5dGVzID0gNDA5NgorICAgICAgICB3aGlsZSB0b3RhbF9zZW50IDwgbGVuKHNlbGYuREFUQSk6CisgICAgICAgICAgICBzZW50ID0gc2VsZi5zZW5kZmlsZV93cmFwcGVyKHNlbGYuc29ja25vLCBzZWxmLmZpbGVubywgb2Zmc2V0LCBuYnl0ZXMpCisgICAgICAgICAgICBpZiBzZW50ID09IDA6CisgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgICAgIG9mZnNldCArPSBzZW50CisgICAgICAgICAgICB0b3RhbF9zZW50ICs9IHNlbnQKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShzZW50IDw9IG5ieXRlcykKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwob2Zmc2V0LCB0b3RhbF9zZW50KQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodG90YWxfc2VudCwgbGVuKHNlbGYuREFUQSkpCisgICAgICAgIHNlbGYuY2xpZW50LnNodXRkb3duKHNvY2tldC5TSFVUX1JEV1IpCisgICAgICAgIHNlbGYuY2xpZW50LmNsb3NlKCkKKyAgICAgICAgc2VsZi5zZXJ2ZXIud2FpdCgpCisgICAgICAgIGRhdGEgPSBzZWxmLnNlcnZlci5oYW5kbGVyX2luc3RhbmNlLmdldF9kYXRhKCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oZGF0YSksIGxlbihzZWxmLkRBVEEpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRhdGEsIHNlbGYuREFUQSkKKworICAgIGRlZiB0ZXN0X3NlbmRfYXRfY2VydGFpbl9vZmZzZXQoc2VsZik6CisgICAgICAgICMgc3RhcnQgc2VuZGluZyBhIGZpbGUgYXQgYSBjZXJ0YWluIG9mZnNldAorICAgICAgICB0b3RhbF9zZW50ID0gMAorICAgICAgICBvZmZzZXQgPSBsZW4oc2VsZi5EQVRBKSAvLyAyCisgICAgICAgIG11c3Rfc2VuZCA9IGxlbihzZWxmLkRBVEEpIC0gb2Zmc2V0CisgICAgICAgIG5ieXRlcyA9IDQwOTYKKyAgICAgICAgd2hpbGUgdG90YWxfc2VudCA8IG11c3Rfc2VuZDoKKyAgICAgICAgICAgIHNlbnQgPSBzZWxmLnNlbmRmaWxlX3dyYXBwZXIoc2VsZi5zb2Nrbm8sIHNlbGYuZmlsZW5vLCBvZmZzZXQsIG5ieXRlcykKKyAgICAgICAgICAgIGlmIHNlbnQgPT0gMDoKKyAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAgb2Zmc2V0ICs9IHNlbnQKKyAgICAgICAgICAgIHRvdGFsX3NlbnQgKz0gc2VudAorICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHNlbnQgPD0gbmJ5dGVzKQorCisgICAgICAgIHNlbGYuY2xpZW50LnNodXRkb3duKHNvY2tldC5TSFVUX1JEV1IpCisgICAgICAgIHNlbGYuY2xpZW50LmNsb3NlKCkKKyAgICAgICAgc2VsZi5zZXJ2ZXIud2FpdCgpCisgICAgICAgIGRhdGEgPSBzZWxmLnNlcnZlci5oYW5kbGVyX2luc3RhbmNlLmdldF9kYXRhKCkKKyAgICAgICAgZXhwZWN0ZWQgPSBzZWxmLkRBVEFbbGVuKHNlbGYuREFUQSkgLy8gMjpdCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodG90YWxfc2VudCwgbGVuKGV4cGVjdGVkKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oZGF0YSksIGxlbihleHBlY3RlZCkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZGF0YSwgZXhwZWN0ZWQpCisKKyAgICBkZWYgdGVzdF9vZmZzZXRfb3ZlcmZsb3coc2VsZik6CisgICAgICAgICMgc3BlY2lmeSBhbiBvZmZzZXQgPiBmaWxlIHNpemUKKyAgICAgICAgb2Zmc2V0ID0gbGVuKHNlbGYuREFUQSkgKyA0MDk2CisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHNlbnQgPSBvcy5zZW5kZmlsZShzZWxmLnNvY2tubywgc2VsZi5maWxlbm8sIG9mZnNldCwgNDA5NikKKyAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKKyAgICAgICAgICAgICMgU29sYXJpcyBjYW4gcmFpc2UgRUlOVkFMIGlmIG9mZnNldCA+PSBmaWxlIGxlbmd0aCwgaWdub3JlLgorICAgICAgICAgICAgaWYgZS5lcnJubyAhPSBlcnJuby5FSU5WQUw6CisgICAgICAgICAgICAgICAgcmFpc2UKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VudCwgMCkKKyAgICAgICAgc2VsZi5jbGllbnQuc2h1dGRvd24oc29ja2V0LlNIVVRfUkRXUikKKyAgICAgICAgc2VsZi5jbGllbnQuY2xvc2UoKQorICAgICAgICBzZWxmLnNlcnZlci53YWl0KCkKKyAgICAgICAgZGF0YSA9IHNlbGYuc2VydmVyLmhhbmRsZXJfaW5zdGFuY2UuZ2V0X2RhdGEoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRhdGEsIGInJykKKworICAgIGRlZiB0ZXN0X2ludmFsaWRfb2Zmc2V0KHNlbGYpOgorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKE9TRXJyb3IpIGFzIGNtOgorICAgICAgICAgICAgb3Muc2VuZGZpbGUoc2VsZi5zb2Nrbm8sIHNlbGYuZmlsZW5vLCAtMSwgNDA5NikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbS5leGNlcHRpb24uZXJybm8sIGVycm5vLkVJTlZBTCkKKworICAgICMgLS0tIGhlYWRlcnMgLyB0cmFpbGVycyB0ZXN0cworCisgICAgaWYgU1VQUE9SVF9IRUFERVJTX1RSQUlMRVJTOgorCisgICAgICAgIGRlZiB0ZXN0X2hlYWRlcnMoc2VsZik6CisgICAgICAgICAgICB0b3RhbF9zZW50ID0gMAorICAgICAgICAgICAgc2VudCA9IG9zLnNlbmRmaWxlKHNlbGYuc29ja25vLCBzZWxmLmZpbGVubywgMCwgNDA5NiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWFkZXJzPVtiIngiICogNTEyXSkKKyAgICAgICAgICAgIHRvdGFsX3NlbnQgKz0gc2VudAorICAgICAgICAgICAgb2Zmc2V0ID0gNDA5NgorICAgICAgICAgICAgbmJ5dGVzID0gNDA5NgorICAgICAgICAgICAgd2hpbGUgMToKKyAgICAgICAgICAgICAgICBzZW50ID0gc2VsZi5zZW5kZmlsZV93cmFwcGVyKHNlbGYuc29ja25vLCBzZWxmLmZpbGVubywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0LCBuYnl0ZXMpCisgICAgICAgICAgICAgICAgaWYgc2VudCA9PSAwOgorICAgICAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAgICAgIHRvdGFsX3NlbnQgKz0gc2VudAorICAgICAgICAgICAgICAgIG9mZnNldCArPSBzZW50CisKKyAgICAgICAgICAgIGV4cGVjdGVkX2RhdGEgPSBiIngiICogNTEyICsgc2VsZi5EQVRBCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHRvdGFsX3NlbnQsIGxlbihleHBlY3RlZF9kYXRhKSkKKyAgICAgICAgICAgIHNlbGYuY2xpZW50LmNsb3NlKCkKKyAgICAgICAgICAgIHNlbGYuc2VydmVyLndhaXQoKQorICAgICAgICAgICAgZGF0YSA9IHNlbGYuc2VydmVyLmhhbmRsZXJfaW5zdGFuY2UuZ2V0X2RhdGEoKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChoYXNoKGRhdGEpLCBoYXNoKGV4cGVjdGVkX2RhdGEpKQorCisgICAgICAgIGRlZiB0ZXN0X3RyYWlsZXJzKHNlbGYpOgorICAgICAgICAgICAgVEVTVEZOMiA9IHN1cHBvcnQuVEVTVEZOICsgIjIiCisgICAgICAgICAgICB3aXRoIG9wZW4oVEVTVEZOMiwgJ3diJykgYXMgZjoKKyAgICAgICAgICAgICAgICBmLndyaXRlKGIiYWJjZGUiKQorICAgICAgICAgICAgd2l0aCBvcGVuKFRFU1RGTjIsICdyYicpYXMgZjoKKyAgICAgICAgICAgICAgICBzZWxmLmFkZENsZWFudXAob3MucmVtb3ZlLCBURVNURk4yKQorICAgICAgICAgICAgICAgIG9zLnNlbmRmaWxlKHNlbGYuc29ja25vLCBmLmZpbGVubygpLCAwLCA0MDk2LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYWlsZXJzPVtiIjEyMzQ1Il0pCisgICAgICAgICAgICAgICAgc2VsZi5jbGllbnQuY2xvc2UoKQorICAgICAgICAgICAgICAgIHNlbGYuc2VydmVyLndhaXQoKQorICAgICAgICAgICAgICAgIGRhdGEgPSBzZWxmLnNlcnZlci5oYW5kbGVyX2luc3RhbmNlLmdldF9kYXRhKCkKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRhdGEsIGIiYWJjZGUxMjM0NSIpCisKKyAgICAgICAgaWYgaGFzYXR0cihvcywgIlNGX05PRElTS0lPIik6CisgICAgICAgICAgICBkZWYgdGVzdF9mbGFncyhzZWxmKToKKyAgICAgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgICAgIG9zLnNlbmRmaWxlKHNlbGYuc29ja25vLCBzZWxmLmZpbGVubywgMCwgNDA5NiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxhZ3M9b3MuU0ZfTk9ESVNLSU8pCisgICAgICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZXJyOgorICAgICAgICAgICAgICAgICAgICBpZiBlcnIuZXJybm8gbm90IGluIChlcnJuby5FQlVTWSwgZXJybm8uRUFHQUlOKToKKyAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlCisKKworZGVmIHN1cHBvcnRzX2V4dGVuZGVkX2F0dHJpYnV0ZXMoKToKKyAgICBpZiBub3QgaGFzYXR0cihvcywgInNldHhhdHRyIik6CisgICAgICAgIHJldHVybiBGYWxzZQorICAgIHRyeToKKyAgICAgICAgd2l0aCBvcGVuKHN1cHBvcnQuVEVTVEZOLCAid2IiKSBhcyBmcDoKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBvcy5mc2V0eGF0dHIoZnAuZmlsZW5vKCksIGIidXNlci50ZXN0IiwgYiIiKQorICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKKyAgICAgICAgICAgICAgICBpZiBlLmVycm5vICE9IGVycm5vLkVOT1RTVVA6CisgICAgICAgICAgICAgICAgICAgIHJhaXNlCisgICAgICAgICAgICAgICAgcmV0dXJuIEZhbHNlCisgICAgZmluYWxseToKKyAgICAgICAgc3VwcG9ydC51bmxpbmsoc3VwcG9ydC5URVNURk4pCisgICAgIyBLZXJuZWxzIDwgMi42LjM5IGRvbid0IHJlc3BlY3Qgc2V0eGF0dHIgZmxhZ3MuCisgICAga2VybmVsX3ZlcnNpb24gPSBwbGF0Zm9ybS5yZWxlYXNlKCkKKyAgICBtID0gcmUubWF0Y2goIjIuNi4oXGR7MSwyfSkiLCBrZXJuZWxfdmVyc2lvbikKKyAgICByZXR1cm4gbSBpcyBOb25lIG9yIGludChtLmdyb3VwKDEpKSA+PSAzOQorCisKK0B1bml0dGVzdC5za2lwVW5sZXNzKHN1cHBvcnRzX2V4dGVuZGVkX2F0dHJpYnV0ZXMoKSwKKyAgICAgICAgICAgICAgICAgICAgICJubyBub24tYnJva2VuIGV4dGVuZGVkIGF0dHJpYnV0ZSBzdXBwb3J0IikKK2NsYXNzIEV4dGVuZGVkQXR0cmlidXRlVGVzdHModW5pdHRlc3QuVGVzdENhc2UpOgorCisgICAgZGVmIHRlYXJEb3duKHNlbGYpOgorICAgICAgICBzdXBwb3J0LnVubGluayhzdXBwb3J0LlRFU1RGTikKKworICAgIGRlZiBfY2hlY2tfeGF0dHJzX3N0cihzZWxmLCBzLCBnZXR4YXR0ciwgc2V0eGF0dHIsIHJlbW92ZXhhdHRyLCBsaXN0eGF0dHIpOgorICAgICAgICBmbiA9IHN1cHBvcnQuVEVTVEZOCisgICAgICAgIG9wZW4oZm4sICJ3YiIpLmNsb3NlKCkKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhPU0Vycm9yKSBhcyBjbToKKyAgICAgICAgICAgIGdldHhhdHRyKGZuLCBzKCJ1c2VyLnRlc3QiKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbS5leGNlcHRpb24uZXJybm8sIGVycm5vLkVOT0RBVEEpCisgICAgICAgIGluaXRfeGF0dHIgPSBsaXN0eGF0dHIoZm4pCisgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShpbml0X3hhdHRyLCBsaXN0KQorICAgICAgICBzZXR4YXR0cihmbiwgcygidXNlci50ZXN0IiksIGIiIikKKyAgICAgICAgeGF0dHIgPSBzZXQoaW5pdF94YXR0cikKKyAgICAgICAgeGF0dHIuYWRkKCJ1c2VyLnRlc3QiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNldChsaXN0eGF0dHIoZm4pKSwgeGF0dHIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZ2V0eGF0dHIoZm4sIGIidXNlci50ZXN0IiksIGIiIikKKyAgICAgICAgc2V0eGF0dHIoZm4sIHMoInVzZXIudGVzdCIpLCBiImhlbGxvIiwgb3MuWEFUVFJfUkVQTEFDRSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChnZXR4YXR0cihmbiwgYiJ1c2VyLnRlc3QiKSwgYiJoZWxsbyIpCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoT1NFcnJvcikgYXMgY206CisgICAgICAgICAgICBzZXR4YXR0cihmbiwgcygidXNlci50ZXN0IiksIGIiYnllIiwgb3MuWEFUVFJfQ1JFQVRFKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNtLmV4Y2VwdGlvbi5lcnJubywgZXJybm8uRUVYSVNUKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKE9TRXJyb3IpIGFzIGNtOgorICAgICAgICAgICAgc2V0eGF0dHIoZm4sIHMoInVzZXIudGVzdDIiKSwgYiJieWUiLCBvcy5YQVRUUl9SRVBMQUNFKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNtLmV4Y2VwdGlvbi5lcnJubywgZXJybm8uRU5PREFUQSkKKyAgICAgICAgc2V0eGF0dHIoZm4sIHMoInVzZXIudGVzdDIiKSwgYiJmb28iLCBvcy5YQVRUUl9DUkVBVEUpCisgICAgICAgIHhhdHRyLmFkZCgidXNlci50ZXN0MiIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2V0KGxpc3R4YXR0cihmbikpLCB4YXR0cikKKyAgICAgICAgcmVtb3ZleGF0dHIoZm4sIHMoInVzZXIudGVzdCIpKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKE9TRXJyb3IpIGFzIGNtOgorICAgICAgICAgICAgZ2V0eGF0dHIoZm4sIHMoInVzZXIudGVzdCIpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNtLmV4Y2VwdGlvbi5lcnJubywgZXJybm8uRU5PREFUQSkKKyAgICAgICAgeGF0dHIucmVtb3ZlKCJ1c2VyLnRlc3QiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNldChsaXN0eGF0dHIoZm4pKSwgeGF0dHIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZ2V0eGF0dHIoZm4sIHMoInVzZXIudGVzdDIiKSksIGIiZm9vIikKKyAgICAgICAgc2V0eGF0dHIoZm4sIHMoInVzZXIudGVzdCIpLCBiImEiKjEwMjQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZ2V0eGF0dHIoZm4sIHMoInVzZXIudGVzdCIpKSwgYiJhIioxMDI0KQorICAgICAgICByZW1vdmV4YXR0cihmbiwgcygidXNlci50ZXN0IikpCisgICAgICAgIG1hbnkgPSBzb3J0ZWQoInVzZXIudGVzdHt9Ii5mb3JtYXQoaSkgZm9yIGkgaW4gcmFuZ2UoMTAwKSkKKyAgICAgICAgZm9yIHRoaW5nIGluIG1hbnk6CisgICAgICAgICAgICBzZXR4YXR0cihmbiwgdGhpbmcsIGIieCIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2V0KGxpc3R4YXR0cihmbikpLCBzZXQoaW5pdF94YXR0cikgfCBzZXQobWFueSkpCisKKyAgICBkZWYgX2NoZWNrX3hhdHRycyhzZWxmLCAqYXJncyk6CisgICAgICAgIGRlZiBtYWtlX2J5dGVzKHMpOgorICAgICAgICAgICAgcmV0dXJuIGJ5dGVzKHMsICJhc2NpaSIpCisgICAgICAgIHNlbGYuX2NoZWNrX3hhdHRyc19zdHIoc3RyLCAqYXJncykKKyAgICAgICAgc3VwcG9ydC51bmxpbmsoc3VwcG9ydC5URVNURk4pCisgICAgICAgIHNlbGYuX2NoZWNrX3hhdHRyc19zdHIobWFrZV9ieXRlcywgKmFyZ3MpCisKKyAgICBkZWYgdGVzdF9zaW1wbGUoc2VsZik6CisgICAgICAgIHNlbGYuX2NoZWNrX3hhdHRycyhvcy5nZXR4YXR0ciwgb3Muc2V0eGF0dHIsIG9zLnJlbW92ZXhhdHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgb3MubGlzdHhhdHRyKQorCisgICAgZGVmIHRlc3RfbHBhdGgoc2VsZik6CisgICAgICAgIHNlbGYuX2NoZWNrX3hhdHRycyhvcy5sZ2V0eGF0dHIsIG9zLmxzZXR4YXR0ciwgb3MubHJlbW92ZXhhdHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgb3MubGxpc3R4YXR0cikKKworICAgIGRlZiB0ZXN0X2ZkcyhzZWxmKToKKyAgICAgICAgZGVmIGdldHhhdHRyKHBhdGgsICphcmdzKToKKyAgICAgICAgICAgIHdpdGggb3BlbihwYXRoLCAicmIiKSBhcyBmcDoKKyAgICAgICAgICAgICAgICByZXR1cm4gb3MuZmdldHhhdHRyKGZwLmZpbGVubygpLCAqYXJncykKKyAgICAgICAgZGVmIHNldHhhdHRyKHBhdGgsICphcmdzKToKKyAgICAgICAgICAgIHdpdGggb3BlbihwYXRoLCAid2IiKSBhcyBmcDoKKyAgICAgICAgICAgICAgICBvcy5mc2V0eGF0dHIoZnAuZmlsZW5vKCksICphcmdzKQorICAgICAgICBkZWYgcmVtb3ZleGF0dHIocGF0aCwgKmFyZ3MpOgorICAgICAgICAgICAgd2l0aCBvcGVuKHBhdGgsICJ3YiIpIGFzIGZwOgorICAgICAgICAgICAgICAgIG9zLmZyZW1vdmV4YXR0cihmcC5maWxlbm8oKSwgKmFyZ3MpCisgICAgICAgIGRlZiBsaXN0eGF0dHIocGF0aCwgKmFyZ3MpOgorICAgICAgICAgICAgd2l0aCBvcGVuKHBhdGgsICJyYiIpIGFzIGZwOgorICAgICAgICAgICAgICAgIHJldHVybiBvcy5mbGlzdHhhdHRyKGZwLmZpbGVubygpLCAqYXJncykKKyAgICAgICAgc2VsZi5fY2hlY2tfeGF0dHJzKGdldHhhdHRyLCBzZXR4YXR0ciwgcmVtb3ZleGF0dHIsIGxpc3R4YXR0cikKKworCitAdW5pdHRlc3Quc2tpcFVubGVzcyhzeXMucGxhdGZvcm0gPT0gIndpbjMyIiwgIldpbjMyIHNwZWNpZmljIHRlc3RzIikKK2NsYXNzIFdpbjMyRGVwcmVjYXRlZEJ5dGVzQVBJKHVuaXR0ZXN0LlRlc3RDYXNlKToKKyAgICBkZWYgdGVzdF9kZXByZWNhdGVkKHNlbGYpOgorICAgICAgICBpbXBvcnQgbnQKKyAgICAgICAgZmlsZW5hbWUgPSBvcy5mc2VuY29kZShzdXBwb3J0LlRFU1RGTikKKyAgICAgICAgd2l0aCB3YXJuaW5ncy5jYXRjaF93YXJuaW5ncygpOgorICAgICAgICAgICAgd2FybmluZ3Muc2ltcGxlZmlsdGVyKCJlcnJvciIsIERlcHJlY2F0aW9uV2FybmluZykKKyAgICAgICAgICAgIGZvciBmdW5jLCAqYXJncyBpbiAoCisgICAgICAgICAgICAgICAgKG50Ll9nZXRmdWxscGF0aG5hbWUsIGZpbGVuYW1lKSwKKyAgICAgICAgICAgICAgICAobnQuX2lzZGlyLCBmaWxlbmFtZSksCisgICAgICAgICAgICAgICAgKG9zLmFjY2VzcywgZmlsZW5hbWUsIG9zLlJfT0spLAorICAgICAgICAgICAgICAgIChvcy5jaGRpciwgZmlsZW5hbWUpLAorICAgICAgICAgICAgICAgIChvcy5jaG1vZCwgZmlsZW5hbWUsIDBvNzc3KSwKKyAgICAgICAgICAgICAgICAob3MuZ2V0Y3dkYiwpLAorICAgICAgICAgICAgICAgIChvcy5saW5rLCBmaWxlbmFtZSwgZmlsZW5hbWUpLAorICAgICAgICAgICAgICAgIChvcy5saXN0ZGlyLCBmaWxlbmFtZSksCisgICAgICAgICAgICAgICAgKG9zLmxzdGF0LCBmaWxlbmFtZSksCisgICAgICAgICAgICAgICAgKG9zLm1rZGlyLCBmaWxlbmFtZSksCisgICAgICAgICAgICAgICAgKG9zLm9wZW4sIGZpbGVuYW1lLCBvcy5PX1JET05MWSksCisgICAgICAgICAgICAgICAgKG9zLnJlbmFtZSwgZmlsZW5hbWUsIGZpbGVuYW1lKSwKKyAgICAgICAgICAgICAgICAob3Mucm1kaXIsIGZpbGVuYW1lKSwKKyAgICAgICAgICAgICAgICAob3Muc3RhcnRmaWxlLCBmaWxlbmFtZSksCisgICAgICAgICAgICAgICAgKG9zLnN0YXQsIGZpbGVuYW1lKSwKKyAgICAgICAgICAgICAgICAob3MudW5saW5rLCBmaWxlbmFtZSksCisgICAgICAgICAgICAgICAgKG9zLnV0aW1lLCBmaWxlbmFtZSksCisgICAgICAgICAgICApOgorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKERlcHJlY2F0aW9uV2FybmluZywgZnVuYywgKmFyZ3MpCisKKyAgICBAc3VwcG9ydC5za2lwX3VubGVzc19zeW1saW5rCisgICAgZGVmIHRlc3Rfc3ltbGluayhzZWxmKToKKyAgICAgICAgZmlsZW5hbWUgPSBvcy5mc2VuY29kZShzdXBwb3J0LlRFU1RGTikKKyAgICAgICAgd2l0aCB3YXJuaW5ncy5jYXRjaF93YXJuaW5ncygpOgorICAgICAgICAgICAgd2FybmluZ3Muc2ltcGxlZmlsdGVyKCJlcnJvciIsIERlcHJlY2F0aW9uV2FybmluZykKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKERlcHJlY2F0aW9uV2FybmluZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9zLnN5bWxpbmssIGZpbGVuYW1lLCBmaWxlbmFtZSkKKworCitAdW5pdHRlc3Quc2tpcFVubGVzcyhoYXNhdHRyKG9zLCAnZ2V0X3Rlcm1pbmFsX3NpemUnKSwgInJlcXVpcmVzIG9zLmdldF90ZXJtaW5hbF9zaXplIikKK2NsYXNzIFRlcm1zaXplVGVzdHModW5pdHRlc3QuVGVzdENhc2UpOgorICAgIGRlZiB0ZXN0X2RvZXNfbm90X2NyYXNoKHNlbGYpOgorICAgICAgICAiIiJDaGVjayBpZiBnZXRfdGVybWluYWxfc2l6ZSgpIHJldHVybnMgYSBtZWFuaW5nZnVsIHZhbHVlLgorCisgICAgICAgIFRoZXJlJ3Mgbm8gZWFzeSBwb3J0YWJsZSB3YXkgdG8gYWN0dWFsbHkgY2hlY2sgdGhlIHNpemUgb2YgdGhlCisgICAgICAgIHRlcm1pbmFsLCBzbyBsZXQncyBjaGVjayBpZiBpdCByZXR1cm5zIHNvbWV0aGluZyBzZW5zaWJsZSBpbnN0ZWFkLgorICAgICAgICAiIiIKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgc2l6ZSA9IG9zLmdldF90ZXJtaW5hbF9zaXplKCkKKyAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKKyAgICAgICAgICAgIGlmIHN5cy5wbGF0Zm9ybSA9PSAid2luMzIiIG9yIGUuZXJybm8gaW4gKGVycm5vLkVJTlZBTCwgZXJybm8uRU5PVFRZKToKKyAgICAgICAgICAgICAgICAjIFVuZGVyIHdpbjMyIGEgZ2VuZXJpYyBPU0Vycm9yIGNhbiBiZSB0aHJvd24gaWYgdGhlCisgICAgICAgICAgICAgICAgIyBoYW5kbGUgY2Fubm90IGJlIHJldHJpZXZlZAorICAgICAgICAgICAgICAgIHNlbGYuc2tpcFRlc3QoImZhaWxlZCB0byBxdWVyeSB0ZXJtaW5hbCBzaXplIikKKyAgICAgICAgICAgIHJhaXNlCisKKyAgICAgICAgc2VsZi5hc3NlcnRHcmVhdGVyRXF1YWwoc2l6ZS5jb2x1bW5zLCAwKQorICAgICAgICBzZWxmLmFzc2VydEdyZWF0ZXJFcXVhbChzaXplLmxpbmVzLCAwKQorCisgICAgZGVmIHRlc3Rfc3R0eV9tYXRjaChzZWxmKToKKyAgICAgICAgIiIiQ2hlY2sgaWYgc3R0eSByZXR1cm5zIHRoZSBzYW1lIHJlc3VsdHMKKworICAgICAgICBzdHR5IGFjdHVhbGx5IHRlc3RzIHN0ZGluLCBzbyBnZXRfdGVybWluYWxfc2l6ZSBpcyBpbnZva2VkIG9uCisgICAgICAgIHN0ZGluIGV4cGxpY2l0bHkuIElmIHN0dHkgc3VjY2VlZGVkLCB0aGVuIGdldF90ZXJtaW5hbF9zaXplKCkKKyAgICAgICAgc2hvdWxkIHdvcmsgdG9vLgorICAgICAgICAiIiIKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgc2l6ZSA9IHN1YnByb2Nlc3MuY2hlY2tfb3V0cHV0KFsnc3R0eScsICdzaXplJ10pLmRlY29kZSgpLnNwbGl0KCkKKyAgICAgICAgZXhjZXB0IChGaWxlTm90Rm91bmRFcnJvciwgc3VicHJvY2Vzcy5DYWxsZWRQcm9jZXNzRXJyb3IpOgorICAgICAgICAgICAgc2VsZi5za2lwVGVzdCgic3R0eSBpbnZvY2F0aW9uIGZhaWxlZCIpCisgICAgICAgIGV4cGVjdGVkID0gKGludChzaXplWzFdKSwgaW50KHNpemVbMF0pKSAjIHJldmVyc2VkIG9yZGVyCisKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgYWN0dWFsID0gb3MuZ2V0X3Rlcm1pbmFsX3NpemUoc3lzLl9fc3RkaW5fXy5maWxlbm8oKSkKKyAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKKyAgICAgICAgICAgIGlmIHN5cy5wbGF0Zm9ybSA9PSAid2luMzIiIG9yIGUuZXJybm8gaW4gKGVycm5vLkVJTlZBTCwgZXJybm8uRU5PVFRZKToKKyAgICAgICAgICAgICAgICAjIFVuZGVyIHdpbjMyIGEgZ2VuZXJpYyBPU0Vycm9yIGNhbiBiZSB0aHJvd24gaWYgdGhlCisgICAgICAgICAgICAgICAgIyBoYW5kbGUgY2Fubm90IGJlIHJldHJpZXZlZAorICAgICAgICAgICAgICAgIHNlbGYuc2tpcFRlc3QoImZhaWxlZCB0byBxdWVyeSB0ZXJtaW5hbCBzaXplIikKKyAgICAgICAgICAgIHJhaXNlCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXhwZWN0ZWQsIGFjdHVhbCkKKworCitAc3VwcG9ydC5yZWFwX3RocmVhZHMKIGRlZiB0ZXN0X21haW4oKToKICAgICBzdXBwb3J0LnJ1bl91bml0dGVzdCgKICAgICAgICAgRmlsZVRlc3RzLAogICAgICAgICBTdGF0QXR0cmlidXRlVGVzdHMsCiAgICAgICAgIEVudmlyb25UZXN0cywKICAgICAgICAgV2Fsa1Rlc3RzLAorICAgICAgICBGd2Fsa1Rlc3RzLAogICAgICAgICBNYWtlZGlyVGVzdHMsCiAgICAgICAgIERldk51bGxUZXN0cywKICAgICAgICAgVVJhbmRvbVRlc3RzLApAQCAtMTI3Niw5ICsxOTQxLDE1IEBACiAgICAgICAgIFdpbjMyS2lsbFRlc3RzLAogICAgICAgICBXaW4zMlN5bWxpbmtUZXN0cywKICAgICAgICAgRlNFbmNvZGluZ1Rlc3RzLAorICAgICAgICBEZXZpY2VFbmNvZGluZ1Rlc3RzLAogICAgICAgICBQaWRUZXN0cywKICAgICAgICAgTG9naW5UZXN0cywKICAgICAgICAgTGlua1Rlc3RzLAorICAgICAgICBUZXN0U2VuZGZpbGUsCisgICAgICAgIFByb2dyYW1Qcmlvcml0eVRlc3RzLAorICAgICAgICBFeHRlbmRlZEF0dHJpYnV0ZVRlc3RzLAorICAgICAgICBXaW4zMkRlcHJlY2F0ZWRCeXRlc0FQSSwKKyAgICAgICAgVGVybXNpemVUZXN0cywKICAgICApCiAKIGlmIF9fbmFtZV9fID09ICJfX21haW5fXyI6CmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X29zc2F1ZGlvZGV2LnB5IGIvTGliL3Rlc3QvdGVzdF9vc3NhdWRpb2Rldi5weQppbmRleCA5Y2I4OWQ2Li4zOTA4YTA1IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X29zc2F1ZGlvZGV2LnB5CisrKyBiL0xpYi90ZXN0L3Rlc3Rfb3NzYXVkaW9kZXYucHkKQEAgLTE3MCw2ICsxNzAsMjIgQEAKICAgICAgICAgICAgIHBhc3MKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGRzcC5jbG9zZWQpCiAKKyAgICBkZWYgdGVzdF9vbl9jbG9zZWQoc2VsZik6CisgICAgICAgIGRzcCA9IG9zc2F1ZGlvZGV2Lm9wZW4oJ3cnKQorICAgICAgICBkc3AuY2xvc2UoKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBkc3AuZmlsZW5vKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBkc3AucmVhZCwgMSkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgZHNwLndyaXRlLCBiJ3gnKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBkc3Aud3JpdGVhbGwsIGIneCcpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIGRzcC5idWZzaXplKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBkc3Aub2J1ZmNvdW50KQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBkc3Aub2J1ZmNvdW50KQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBkc3Aub2J1ZmZyZWUpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIGRzcC5nZXRwdHIpCisKKyAgICAgICAgbWl4ZXIgPSBvc3NhdWRpb2Rldi5vcGVubWl4ZXIoKQorICAgICAgICBtaXhlci5jbG9zZSgpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIG1peGVyLmZpbGVubykKIAogZGVmIHRlc3RfbWFpbigpOgogICAgIHRyeToKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3Rfb3N4X2Vudi5weSBiL0xpYi90ZXN0L3Rlc3Rfb3N4X2Vudi5weQppbmRleCA4YjNkZjM3Li4yNGVjMmI0IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X29zeF9lbnYucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9vc3hfZW52LnB5CkBAIC01LDYgKzUsNyBAQAogZnJvbSB0ZXN0LnN1cHBvcnQgaW1wb3J0IEVudmlyb25tZW50VmFyR3VhcmQsIHJ1bl91bml0dGVzdAogaW1wb3J0IHN1YnByb2Nlc3MKIGltcG9ydCBzeXMKK2ltcG9ydCBzeXNjb25maWcKIGltcG9ydCB1bml0dGVzdAogCiBjbGFzcyBPU1hFbnZpcm9ubWVudFZhcmlhYmxlVGVzdENhc2UodW5pdHRlc3QuVGVzdENhc2UpOgpAQCAtMjcsOCArMjgsNiBAQAogICAgICAgICBzZWxmLl9jaGVja19zeXMoJ1BZVEhPTkVYRUNVVEFCTEUnLCAnPT0nLCAnc3lzLmV4ZWN1dGFibGUnKQogCiBkZWYgdGVzdF9tYWluKCk6Ci0gICAgZnJvbSBkaXN0dXRpbHMgaW1wb3J0IHN5c2NvbmZpZwotCiAgICAgaWYgc3lzLnBsYXRmb3JtID09ICdkYXJ3aW4nIGFuZCBzeXNjb25maWcuZ2V0X2NvbmZpZ192YXIoJ1dJVEhfTkVYVF9GUkFNRVdPUksnKToKICAgICAgICAgcnVuX3VuaXR0ZXN0KE9TWEVudmlyb25tZW50VmFyaWFibGVUZXN0Q2FzZSkKIApkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9wYWNrYWdpbmcucHkgYi9MaWIvdGVzdC90ZXN0X3BhY2thZ2luZy5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNTBkNjYxCi0tLSAvZGV2L251bGwKKysrIGIvTGliL3Rlc3QvdGVzdF9wYWNrYWdpbmcucHkKQEAgLTAsMCArMSw1IEBACitpbXBvcnQgc3lzCitmcm9tIHBhY2thZ2luZy50ZXN0cy5fX21haW5fXyBpbXBvcnQgdGVzdF9tYWluCisKK2lmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CisgICAgdGVzdF9tYWluKCkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfcGFyc2VyLnB5IGIvTGliL3Rlc3QvdGVzdF9wYXJzZXIucHkKaW5kZXggMDIwYWNkNS4uYjZmODFmYiAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9wYXJzZXIucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9wYXJzZXIucHkKQEAgLTUwLDYgKzUwLDEwIEBACiAgICAgICAgIHNlbGYuY2hlY2tfc3VpdGUoImRlZiBmKCk6ICh5aWVsZCAxKSoyIikKICAgICAgICAgc2VsZi5jaGVja19zdWl0ZSgiZGVmIGYoKTogcmV0dXJuOyB5aWVsZCAxIikKICAgICAgICAgc2VsZi5jaGVja19zdWl0ZSgiZGVmIGYoKTogeWllbGQgMTsgcmV0dXJuIikKKyAgICAgICAgc2VsZi5jaGVja19zdWl0ZSgiZGVmIGYoKTogeWllbGQgZnJvbSAxIikKKyAgICAgICAgc2VsZi5jaGVja19zdWl0ZSgiZGVmIGYoKTogeCA9IHlpZWxkIGZyb20gMSIpCisgICAgICAgIHNlbGYuY2hlY2tfc3VpdGUoImRlZiBmKCk6IGYoKHlpZWxkIGZyb20gMSkpIikKKyAgICAgICAgc2VsZi5jaGVja19zdWl0ZSgiZGVmIGYoKTogeWllbGQgMTsgcmV0dXJuIDEiKQogICAgICAgICBzZWxmLmNoZWNrX3N1aXRlKCJkZWYgZigpOlxuIgogICAgICAgICAgICAgICAgICAgICAgICAgICIgICAgZm9yIHggaW4gcmFuZ2UoMzApOlxuIgogICAgICAgICAgICAgICAgICAgICAgICAgICIgICAgICAgIHlpZWxkIHhcbiIpCkBAIC02MTQsNiArNjE4LDEyIEBACiAKICAgICAjIFhYWCB0ZXN0cyBmb3IgcGlja2xpbmcgYW5kIHVucGlja2xpbmcgb2YgU1Qgb2JqZWN0cyBzaG91bGQgZ28gaGVyZQogCitjbGFzcyBPdGhlclBhcnNlckNhc2UodW5pdHRlc3QuVGVzdENhc2UpOgorCisgICAgZGVmIHRlc3RfdHdvX2FyZ3NfdG9fZXhwcihzZWxmKToKKyAgICAgICAgIyBTZWUgYnVnICMxMjI2NAorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvcik6CisgICAgICAgICAgICBwYXJzZXIuZXhwcigiYSIsICJiIikKIAogZGVmIHRlc3RfbWFpbigpOgogICAgIHN1cHBvcnQucnVuX3VuaXR0ZXN0KApAQCAtNjIyLDYgKzYzMiw3IEBACiAgICAgICAgIENvbXBpbGVUZXN0Q2FzZSwKICAgICAgICAgUGFyc2VyU3RhY2tMaW1pdFRlc3RDYXNlLAogICAgICAgICBTVE9iamVjdFRlc3RDYXNlLAorICAgICAgICBPdGhlclBhcnNlckNhc2UsCiAgICAgKQogCiAKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfcGRiLnB5IGIvTGliL3Rlc3QvdGVzdF9wZGIucHkKaW5kZXggZDg2MWRmNS4uYzE5N2FmZiAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9wZGIucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9wZGIucHkKQEAgLTIwLDkgKzIwLDEyIEBACiAgICAgZGVmIF9fZW50ZXJfXyhzZWxmKToKICAgICAgICAgc2VsZi5yZWFsX3N0ZGluID0gc3lzLnN0ZGluCiAgICAgICAgIHN5cy5zdGRpbiA9IF9GYWtlSW5wdXQoc2VsZi5pbnB1dCkKKyAgICAgICAgc2VsZi5vcmlnX3RyYWNlID0gc3lzLmdldHRyYWNlKCkgaWYgaGFzYXR0cihzeXMsICdnZXR0cmFjZScpIGVsc2UgTm9uZQogCiAgICAgZGVmIF9fZXhpdF9fKHNlbGYsICpleGMpOgogICAgICAgICBzeXMuc3RkaW4gPSBzZWxmLnJlYWxfc3RkaW4KKyAgICAgICAgaWYgc2VsZi5vcmlnX3RyYWNlOgorICAgICAgICAgICAgc3lzLnNldHRyYWNlKHNlbGYub3JpZ190cmFjZSkKIAogCiBkZWYgdGVzdF9wZGJfZGlzcGxheWhvb2soKToKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfcGVlcGhvbGVyLnB5IGIvTGliL3Rlc3QvdGVzdF9wZWVwaG9sZXIucHkKaW5kZXggNTM3MTlkMy4uMWU3ODJjZiAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9wZWVwaG9sZXIucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9wZWVwaG9sZXIucHkKQEAgLTMsMTMgKzMsMTYgQEAKIGltcG9ydCBzeXMKIGZyb20gaW8gaW1wb3J0IFN0cmluZ0lPCiBpbXBvcnQgdW5pdHRlc3QKK2Zyb20gbWF0aCBpbXBvcnQgY29weXNpZ24KIAogZGVmIGRpc2Fzc2VtYmxlKGZ1bmMpOgogICAgIGYgPSBTdHJpbmdJTygpCiAgICAgdG1wID0gc3lzLnN0ZG91dAogICAgIHN5cy5zdGRvdXQgPSBmCi0gICAgZGlzLmRpcyhmdW5jKQotICAgIHN5cy5zdGRvdXQgPSB0bXAKKyAgICB0cnk6CisgICAgICAgIGRpcy5kaXMoZnVuYykKKyAgICBmaW5hbGx5OgorICAgICAgICBzeXMuc3Rkb3V0ID0gdG1wCiAgICAgcmVzdWx0ID0gZi5nZXR2YWx1ZSgpCiAgICAgZi5jbG9zZSgpCiAgICAgcmV0dXJuIHJlc3VsdApAQCAtMTcsNiArMjAsNyBAQAogZGVmIGRpc19zaW5nbGUobGluZSk6CiAgICAgcmV0dXJuIGRpc2Fzc2VtYmxlKGNvbXBpbGUobGluZSwgJycsICdzaW5nbGUnKSkKIAorCiBjbGFzcyBUZXN0VHJhbmZvcm1zKHVuaXR0ZXN0LlRlc3RDYXNlKToKIAogICAgIGRlZiB0ZXN0X3Vub3Qoc2VsZik6CkBAIC05OSw2ICsxMDMsMTIgQEAKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4oZWxlbSwgYXNtKQogICAgICAgICAgICAgc2VsZi5hc3NlcnROb3RJbignQlVJTERfVFVQTEUnLCBhc20pCiAKKyAgICAgICAgIyBMb25nIHR1cGxlcyBzaG91bGQgYmUgZm9sZGVkIHRvby4KKyAgICAgICAgYXNtID0gZGlzX3NpbmdsZShyZXByKHR1cGxlKHJhbmdlKDEwMDAwKSkpKQorICAgICAgICAjIE9uZSBMT0FEX0NPTlNUIGZvciB0aGUgdHVwbGUsIG9uZSBmb3IgdGhlIE5vbmUgcmV0dXJuIHZhbHVlCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYXNtLmNvdW50KCdMT0FEX0NPTlNUJyksIDIpCisgICAgICAgIHNlbGYuYXNzZXJ0Tm90SW4oJ0JVSUxEX1RVUExFJywgYXNtKQorCiAgICAgICAgICMgQnVnIDEwNTM4MTk6ICBUdXBsZSBvZiBjb25zdGFudHMgbWlzaWRlbnRpZmllZCB3aGVuIHByZXNlbnRlZCB3aXRoOgogICAgICAgICAjIC4gLiAuIG9wY29kZV93aXRoX2FyZyAxMDAgICB1bmFyeV9vcGNvZGUgICBCVUlMRF9UVVBMRSAxICAuIC4gLgogICAgICAgICAjIFRoZSBmb2xsb3dpbmcgd291bGQgc2VnZmF1bHQgdXBvbiBjb21waWxhdGlvbgpAQCAtMjA4LDE0ICsyMTgsMTMgQEAKICAgICAgICAgIyBvdXQgb2YgcmFuZ2UKICAgICAgICAgYXNtID0gZGlzX3NpbmdsZSgnImZ1dSJbMTBdJykKICAgICAgICAgc2VsZi5hc3NlcnRJbignQklOQVJZX1NVQlNDUicsIGFzbSkKLSAgICAgICAgIyBub24tQk1QIGNoYXIgKHNlZSAjNTA1NykKLSAgICAgICAgYXNtID0gZGlzX3NpbmdsZSgnIlxVMDAwMTIzNDUiWzBdJykKLSAgICAgICAgc2VsZi5hc3NlcnRJbignQklOQVJZX1NVQlNDUicsIGFzbSkKLQogCiAgICAgZGVmIHRlc3RfZm9sZGluZ19vZl91bmFyeW9wc19vbl9jb25zdGFudHMoc2VsZik6CiAgICAgICAgIGZvciBsaW5lLCBlbGVtIGluICgKICAgICAgICAgICAgICgnLTAuNScsICcoLTAuNSknKSwgICAgICAgICAgICAgICAgICAgICAjIHVuYXJ5IG5lZ2F0aXZlCisgICAgICAgICAgICAoJy0wLjAnLCAnKC0wLjApJyksICAgICAgICAgICAgICAgICAgICAgIyAtMC4wCisgICAgICAgICAgICAoJy0oMS4wLTEuMCknLCcoLTAuMCknKSwgICAgICAgICAgICAgICAgIyAtMC4wIGFmdGVyIGZvbGRpbmcKKyAgICAgICAgICAgICgnLTAnLCAnKDApJyksICAgICAgICAgICAgICAgICAgICAgICAgICAjIC0wCiAgICAgICAgICAgICAoJ34tMicsICcoMSknKSwgICAgICAgICAgICAgICAgICAgICAgICAgIyB1bmFyeSBpbnZlcnQKICAgICAgICAgICAgICgnKzEnLCAnKDEpJyksICAgICAgICAgICAgICAgICAgICAgICAgICAjIHVuYXJ5IHBvc2l0aXZlCiAgICAgICAgICk6CkBAIC0yMjMsNiArMjMyLDEzIEBACiAgICAgICAgICAgICBzZWxmLmFzc2VydEluKGVsZW0sIGFzbSwgYXNtKQogICAgICAgICAgICAgc2VsZi5hc3NlcnROb3RJbignVU5BUllfJywgYXNtKQogCisgICAgICAgICMgQ2hlY2sgdGhhdCAtMC4wIHdvcmtzIGFmdGVyIG1hcnNoYWxpbmcKKyAgICAgICAgZGVmIG5lZ3plcm8oKToKKyAgICAgICAgICAgIHJldHVybiAtKDEuMC0xLjApCisKKyAgICAgICAgc2VsZi5hc3NlcnROb3RJbignVU5BUllfJywgZGlzYXNzZW1ibGUobmVnemVybykpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShjb3B5c2lnbigxLjAsIG5lZ3plcm8oKSkgPCAwKQorCiAgICAgICAgICMgVmVyaWZ5IHRoYXQgdW5mb2xkYWJsZXMgYXJlIHNraXBwZWQKICAgICAgICAgZm9yIGxpbmUsIGVsZW0gaW4gKAogICAgICAgICAgICAgKCctImFiYyInLCAiKCdhYmMnKSIpLCAgICAgICAgICAgICAgICAgICMgdW5hcnkgbmVnYXRpdmUKQEAgLTI4NSw2ICszMDEsMjUgQEAKICAgICAgICAgYXNtID0gZGlzYXNzZW1ibGUoZikKICAgICAgICAgc2VsZi5hc3NlcnROb3RJbignQklOQVJZX0FERCcsIGFzbSkKIAorICAgIGRlZiB0ZXN0X2NvbnN0YW50X2ZvbGRpbmcoc2VsZik6CisgICAgICAgICMgSXNzdWUgIzExMjQ0OiBhZ2dyZXNzaXZlIGNvbnN0YW50IGZvbGRpbmcuCisgICAgICAgIGV4cHJzID0gWworICAgICAgICAgICAgIjMgKiAtNSIsCisgICAgICAgICAgICAiLTMgKiA1IiwKKyAgICAgICAgICAgICIyICogKDMgKiA0KSIsCisgICAgICAgICAgICAiKDIgKiAzKSAqIDQiLAorICAgICAgICAgICAgIigtMSwgMiwgMykiLAorICAgICAgICAgICAgIigxLCAtMiwgMykiLAorICAgICAgICAgICAgIigxLCAyLCAtMykiLAorICAgICAgICAgICAgIigxLCAyLCAtMykgKiA2IiwKKyAgICAgICAgICAgICJsYW1iZGEgeDogeCBpbiB7KDMgKiAtNSkgKyAoLTEgLSA2KSwgKDEsIC0yLCAzKSAqIDIsIE5vbmV9IiwKKyAgICAgICAgXQorICAgICAgICBmb3IgZSBpbiBleHByczoKKyAgICAgICAgICAgIGFzbSA9IGRpc19zaW5nbGUoZSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0Tm90SW4oJ1VOQVJZXycsIGFzbSwgZSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0Tm90SW4oJ0JJTkFSWV8nLCBhc20sIGUpCisgICAgICAgICAgICBzZWxmLmFzc2VydE5vdEluKCdCVUlMRF8nLCBhc20sIGUpCisKIGNsYXNzIFRlc3RCdWdsZXRzKHVuaXR0ZXN0LlRlc3RDYXNlKToKIAogICAgIGRlZiB0ZXN0X2J1Z18xMTUxMChzZWxmKToKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfcGVwMjc3LnB5IGIvTGliL3Rlc3QvdGVzdF9wZXAyNzcucHkKaW5kZXggNmQ4OTFlNS4uNGIxNmNiYiAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9wZXAyNzcucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9wZXAyNzcucHkKQEAgLTEsNiArMSw5IEBACiAjIFRlc3QgdGhlIFVuaWNvZGUgdmVyc2lvbnMgb2Ygbm9ybWFsIGZpbGUgZnVuY3Rpb25zCiAjIG9wZW4sIG9zLm9wZW4sIG9zLnN0YXQuIG9zLmxpc3RkaXIsIG9zLnJlbmFtZSwgb3MucmVtb3ZlLCBvcy5ta2Rpciwgb3MuY2hkaXIsIG9zLnJtZGlyCi1pbXBvcnQgc3lzLCBvcywgdW5pdHRlc3QKK2ltcG9ydCBvcworaW1wb3J0IHN5cworaW1wb3J0IHVuaXR0ZXN0CitpbXBvcnQgd2FybmluZ3MKIGZyb20gdW5pY29kZWRhdGEgaW1wb3J0IG5vcm1hbGl6ZQogZnJvbSB0ZXN0IGltcG9ydCBzdXBwb3J0CiAKQEAgLTM4LDggKzQxLDggQEAKICAgICAgICAgJzE3X1x1MjAwMVx1MjAwMVx1MjAwMUEnLAogICAgICAgICAnMThfXHUyMDAzXHUyMDAzXHUyMDAzQScsICAjID09IE5GQygnXHUyMDAxXHUyMDAxXHUyMDAxQScpCiAgICAgICAgICcxOV9cdTAwMjBcdTAwMjBcdTAwMjBBJywgICMgJ1x1MDAyMCcgPT0gJyAnID09IE5GS0MoJ1x1MjAwMCcpID09Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgIE5GS0MoJ1x1MjAwMScpID09IE5GS0MoJ1x1MjAwMycpCi1dKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICBORktDKCdcdTIwMDEnKSA9PSBORktDKCdcdTIwMDMnKQorICAgIF0pCiAKIAogIyBJcyBpdCBVbmljb2RlLWZyaWVuZGx5PwpAQCAtNzEsNyArNzQsNyBAQAogICAgIGRlZiBzZXRVcChzZWxmKToKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgb3MubWtkaXIoc3VwcG9ydC5URVNURk4pCi0gICAgICAgIGV4Y2VwdCBPU0Vycm9yOgorICAgICAgICBleGNlcHQgRmlsZUV4aXN0c0Vycm9yOgogICAgICAgICAgICAgcGFzcwogICAgICAgICBmaWxlcyA9IHNldCgpCiAgICAgICAgIGZvciBuYW1lIGluIHNlbGYuZmlsZXM6CkBAIC05MCwxNSArOTMsMTcgQEAKICAgICAgICAgICAgIHJldHVybiBub3JtYWxpemUoc2VsZi5ub3JtYWxfZm9ybSwgcykKICAgICAgICAgcmV0dXJuIHMKIAotICAgIGRlZiBfYXBwbHlfZmFpbHVyZShzZWxmLCBmbiwgZmlsZW5hbWUsIGV4cGVjdGVkX2V4Y2VwdGlvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgY2hlY2tfZm5faW5fZXhjZXB0aW9uID0gVHJ1ZSk6CisgICAgZGVmIF9hcHBseV9mYWlsdXJlKHNlbGYsIGZuLCBmaWxlbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgZXhwZWN0ZWRfZXhjZXB0aW9uPUZpbGVOb3RGb3VuZEVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICBjaGVja19maWxlbmFtZT1UcnVlKToKICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhleHBlY3RlZF9leGNlcHRpb24pIGFzIGM6CiAgICAgICAgICAgICBmbihmaWxlbmFtZSkKICAgICAgICAgZXhjX2ZpbGVuYW1lID0gYy5leGNlcHRpb24uZmlsZW5hbWUKLSAgICAgICAgIyB0aGUgImZpbGVuYW1lIiBleGNlcHRpb24gYXR0cmlidXRlIG1heSBiZSBlbmNvZGVkCi0gICAgICAgIGlmIGlzaW5zdGFuY2UoZXhjX2ZpbGVuYW1lLCBieXRlcyk6Ci0gICAgICAgICAgICBmaWxlbmFtZSA9IGZpbGVuYW1lLmVuY29kZShzeXMuZ2V0ZmlsZXN5c3RlbWVuY29kaW5nKCkpCi0gICAgICAgIGlmIGNoZWNrX2ZuX2luX2V4Y2VwdGlvbjoKKyAgICAgICAgIyBsaXN0ZGlyIG1heSBhcHBlbmQgYSB3aWxkY2FyZCB0byB0aGUgZmlsZW5hbWUKKyAgICAgICAgaWYgZm4gaXMgb3MubGlzdGRpciBhbmQgc3lzLnBsYXRmb3JtID09ICd3aW4zMic6CisgICAgICAgICAgICBleGNfZmlsZW5hbWUsIF8sIHdpbGRjYXJkID0gZXhjX2ZpbGVuYW1lLnJwYXJ0aXRpb24ob3Muc2VwKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh3aWxkY2FyZCwgJyouKicpCisgICAgICAgIGlmIGNoZWNrX2ZpbGVuYW1lOgogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChleGNfZmlsZW5hbWUsIGZpbGVuYW1lLCAiRnVuY3Rpb24gJyVzKCVhKSBmYWlsZWQgIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAid2l0aCBiYWQgZmlsZW5hbWUgaW4gdGhlIGV4Y2VwdGlvbjogJWEiICUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZuLl9fbmFtZV9fLCBmaWxlbmFtZSwgZXhjX2ZpbGVuYW1lKSkKQEAgLTEwNywxMyArMTEyLDE4IEBACiAgICAgICAgICMgUGFzcyBub24tZXhpc3RpbmcgVW5pY29kZSBmaWxlbmFtZXMgYWxsIG92ZXIgdGhlIHBsYWNlLgogICAgICAgICBmb3IgbmFtZSBpbiBzZWxmLmZpbGVzOgogICAgICAgICAgICAgbmFtZSA9ICJub3RfIiArIG5hbWUKLSAgICAgICAgICAgIHNlbGYuX2FwcGx5X2ZhaWx1cmUob3BlbiwgbmFtZSwgSU9FcnJvcikKLSAgICAgICAgICAgIHNlbGYuX2FwcGx5X2ZhaWx1cmUob3Muc3RhdCwgbmFtZSwgT1NFcnJvcikKLSAgICAgICAgICAgIHNlbGYuX2FwcGx5X2ZhaWx1cmUob3MuY2hkaXIsIG5hbWUsIE9TRXJyb3IpCi0gICAgICAgICAgICBzZWxmLl9hcHBseV9mYWlsdXJlKG9zLnJtZGlyLCBuYW1lLCBPU0Vycm9yKQotICAgICAgICAgICAgc2VsZi5fYXBwbHlfZmFpbHVyZShvcy5yZW1vdmUsIG5hbWUsIE9TRXJyb3IpCi0gICAgICAgICAgICAjIGxpc3RkaXIgbWF5IGFwcGVuZCBhIHdpbGRjYXJkIHRvIHRoZSBmaWxlbmFtZSwgc28gZG9udCBjaGVjawotICAgICAgICAgICAgc2VsZi5fYXBwbHlfZmFpbHVyZShvcy5saXN0ZGlyLCBuYW1lLCBPU0Vycm9yLCBGYWxzZSkKKyAgICAgICAgICAgIHNlbGYuX2FwcGx5X2ZhaWx1cmUob3BlbiwgbmFtZSkKKyAgICAgICAgICAgIHNlbGYuX2FwcGx5X2ZhaWx1cmUob3Muc3RhdCwgbmFtZSkKKyAgICAgICAgICAgIHNlbGYuX2FwcGx5X2ZhaWx1cmUob3MuY2hkaXIsIG5hbWUpCisgICAgICAgICAgICBzZWxmLl9hcHBseV9mYWlsdXJlKG9zLnJtZGlyLCBuYW1lKQorICAgICAgICAgICAgc2VsZi5fYXBwbHlfZmFpbHVyZShvcy5yZW1vdmUsIG5hbWUpCisgICAgICAgICAgICBzZWxmLl9hcHBseV9mYWlsdXJlKG9zLmxpc3RkaXIsIG5hbWUpCisKKyAgICBpZiBzeXMucGxhdGZvcm0gPT0gJ3dpbjMyJzoKKyAgICAgICAgIyBXaW5kb3dzIGlzIGx1bmF0aWMuIElzc3VlICMxMzM2Ni4KKyAgICAgICAgX2xpc3RkaXJfZmFpbHVyZSA9IE5vdEFEaXJlY3RvcnlFcnJvciwgRmlsZU5vdEZvdW5kRXJyb3IKKyAgICBlbHNlOgorICAgICAgICBfbGlzdGRpcl9mYWlsdXJlID0gTm90QURpcmVjdG9yeUVycm9yCiAKICAgICBkZWYgdGVzdF9vcGVuKHNlbGYpOgogICAgICAgICBmb3IgbmFtZSBpbiBzZWxmLmZpbGVzOgpAQCAtMTIxLDEyICsxMzEsMTMgQEAKICAgICAgICAgICAgIGYud3JpdGUoKG5hbWUrJ1xuJykuZW5jb2RlKCJ1dGYtOCIpKQogICAgICAgICAgICAgZi5jbG9zZSgpCiAgICAgICAgICAgICBvcy5zdGF0KG5hbWUpCisgICAgICAgICAgICBzZWxmLl9hcHBseV9mYWlsdXJlKG9zLmxpc3RkaXIsIG5hbWUsIHNlbGYuX2xpc3RkaXJfZmFpbHVyZSkKIAogICAgICMgU2tpcCB0aGUgdGVzdCBvbiBkYXJ3aW4sIGJlY2F1c2UgZGFyd2luIGRvZXMgbm9ybWFsaXplIHRoZSBmaWxlbmFtZSB0bwogICAgICMgTkZEIChhIHZhcmlhbnQgb2YgVW5pY29kZSBORkQgZm9ybSkuIE5vcm1hbGl6ZSB0aGUgZmlsZW5hbWUgdG8gTkZDLCBORktDLAogICAgICMgTkZLRCBpbiBQeXRob24gaXMgdXNlbGVzcywgYmVjYXVzZSBkYXJ3aW4gd2lsbCBub3JtYWxpemUgaXQgbGF0ZXIgYW5kIHNvCiAgICAgIyBvcGVuKCksIG9zLnN0YXQoKSwgZXRjLiBkb24ndCByYWlzZSBhbnkgZXhjZXB0aW9uLgotICAgIEB1bml0dGVzdC5za2lwSWYoc3lzLnBsYXRmb3JtID09ICdkYXJ3aW4nLCAnaXJyZXZlbGFudCB0ZXN0IG9uIE1hYyBPUyBYJykKKyAgICBAdW5pdHRlc3Quc2tpcElmKHN5cy5wbGF0Zm9ybSA9PSAnZGFyd2luJywgJ2lycmVsZXZhbnQgdGVzdCBvbiBNYWMgT1MgWCcpCiAgICAgZGVmIHRlc3Rfbm9ybWFsaXplKHNlbGYpOgogICAgICAgICBmaWxlcyA9IHNldChzZWxmLmZpbGVzKQogICAgICAgICBvdGhlcnMgPSBzZXQoKQpAQCAtMTM0LDIxICsxNDUsMjIgQEAKICAgICAgICAgICAgIG90aGVycyB8PSBzZXQobm9ybWFsaXplKG5mLCBmaWxlKSBmb3IgZmlsZSBpbiBmaWxlcykKICAgICAgICAgb3RoZXJzIC09IGZpbGVzCiAgICAgICAgIGZvciBuYW1lIGluIG90aGVyczoKLSAgICAgICAgICAgIHNlbGYuX2FwcGx5X2ZhaWx1cmUob3BlbiwgbmFtZSwgSU9FcnJvcikKLSAgICAgICAgICAgIHNlbGYuX2FwcGx5X2ZhaWx1cmUob3Muc3RhdCwgbmFtZSwgT1NFcnJvcikKLSAgICAgICAgICAgIHNlbGYuX2FwcGx5X2ZhaWx1cmUob3MuY2hkaXIsIG5hbWUsIE9TRXJyb3IpCi0gICAgICAgICAgICBzZWxmLl9hcHBseV9mYWlsdXJlKG9zLnJtZGlyLCBuYW1lLCBPU0Vycm9yKQotICAgICAgICAgICAgc2VsZi5fYXBwbHlfZmFpbHVyZShvcy5yZW1vdmUsIG5hbWUsIE9TRXJyb3IpCi0gICAgICAgICAgICAjIGxpc3RkaXIgbWF5IGFwcGVuZCBhIHdpbGRjYXJkIHRvIHRoZSBmaWxlbmFtZSwgc28gZG9udCBjaGVjawotICAgICAgICAgICAgc2VsZi5fYXBwbHlfZmFpbHVyZShvcy5saXN0ZGlyLCBuYW1lLCBPU0Vycm9yLCBGYWxzZSkKKyAgICAgICAgICAgIHNlbGYuX2FwcGx5X2ZhaWx1cmUob3BlbiwgbmFtZSkKKyAgICAgICAgICAgIHNlbGYuX2FwcGx5X2ZhaWx1cmUob3Muc3RhdCwgbmFtZSkKKyAgICAgICAgICAgIHNlbGYuX2FwcGx5X2ZhaWx1cmUob3MuY2hkaXIsIG5hbWUpCisgICAgICAgICAgICBzZWxmLl9hcHBseV9mYWlsdXJlKG9zLnJtZGlyLCBuYW1lKQorICAgICAgICAgICAgc2VsZi5fYXBwbHlfZmFpbHVyZShvcy5yZW1vdmUsIG5hbWUpCisgICAgICAgICAgICBzZWxmLl9hcHBseV9mYWlsdXJlKG9zLmxpc3RkaXIsIG5hbWUpCiAKICAgICAjIFNraXAgdGhlIHRlc3Qgb24gZGFyd2luLCBiZWNhdXNlIGRhcndpbiB1c2VzIGEgbm9ybWFsaXphdGlvbiBkaWZmZXJlbnQKICAgICAjIHRoYW4gUHl0aG9uIE5GRCBub3JtYWxpemF0aW9uOiBmaWxlbmFtZXMgYXJlIGRpZmZlcmVudCBldmVuIGlmIHdlIHVzZQogICAgICMgUHl0aG9uIE5GRCBub3JtYWxpemF0aW9uLgotICAgIEB1bml0dGVzdC5za2lwSWYoc3lzLnBsYXRmb3JtID09ICdkYXJ3aW4nLCAnaXJyZXZlbGFudCB0ZXN0IG9uIE1hYyBPUyBYJykKKyAgICBAdW5pdHRlc3Quc2tpcElmKHN5cy5wbGF0Zm9ybSA9PSAnZGFyd2luJywgJ2lycmVsZXZhbnQgdGVzdCBvbiBNYWMgT1MgWCcpCiAgICAgZGVmIHRlc3RfbGlzdGRpcihzZWxmKToKICAgICAgICAgc2YwID0gc2V0KHNlbGYuZmlsZXMpCi0gICAgICAgIGYxID0gb3MubGlzdGRpcihzdXBwb3J0LlRFU1RGTi5lbmNvZGUoc3lzLmdldGZpbGVzeXN0ZW1lbmNvZGluZygpKSkKKyAgICAgICAgd2l0aCB3YXJuaW5ncy5jYXRjaF93YXJuaW5ncygpOgorICAgICAgICAgICAgd2FybmluZ3Muc2ltcGxlZmlsdGVyKCJpZ25vcmUiLCBEZXByZWNhdGlvbldhcm5pbmcpCisgICAgICAgICAgICBmMSA9IG9zLmxpc3RkaXIoc3VwcG9ydC5URVNURk4uZW5jb2RlKHN5cy5nZXRmaWxlc3lzdGVtZW5jb2RpbmcoKSkpCiAgICAgICAgIGYyID0gb3MubGlzdGRpcihzdXBwb3J0LlRFU1RGTikKICAgICAgICAgc2YyID0gc2V0KG9zLnBhdGguam9pbihzdXBwb3J0LlRFU1RGTiwgZikgZm9yIGYgaW4gZjIpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2YwLCBzZjIsICIlYSAhPSAlYSIgJSAoc2YwLCBzZjIpKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9wZXAyOTIucHkgYi9MaWIvdGVzdC90ZXN0X3BlcDI5Mi5weQppbmRleCAxMTljN2VhLi42ZGE4ZDJlIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3BlcDI5Mi5weQorKysgYi9MaWIvdGVzdC90ZXN0X3BlcDI5Mi5weQpAQCAtNDIsMTkgKzQyLDYgQEAKICAgICAgICAgcyA9IFRlbXBsYXRlKCckd2hvIGxpa2VzICQkJykKICAgICAgICAgZXEocy5zdWJzdGl0dXRlKGRpY3Qod2hvPSd0aW0nLCB3aGF0PSdoYW0nKSksICd0aW0gbGlrZXMgJCcpCiAKLSAgICBkZWYgdGVzdF9pbnZhbGlkKHNlbGYpOgotICAgICAgICBjbGFzcyBNeVBhdHRlcm4oVGVtcGxhdGUpOgotICAgICAgICAgICAgcGF0dGVybiA9IHIiIiIKLSAgICAgICAgICAgICg/OgotICAgICAgICAgICAgKD9QPGludmFsaWQ+KSAgICAgICAgICAgIHwKLSAgICAgICAgICAgICg/UDxlc2NhcGVkPiUoZGVsaW0pcykgICB8Ci0gICAgICAgICAgICBAKD9QPG5hbWVkPiUoaWQpcykgICAgICAgfAotICAgICAgICAgICAgQHsoP1A8YnJhY2VkPiUoaWQpcyl9ICAgIAotICAgICAgICAgICAgKQotICAgICAgICAgICAgIiIiCi0gICAgICAgIHMgPSBNeVBhdHRlcm4oJyQnKQotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBzLnN1YnN0aXR1dGUsIGRpY3QoKSkgCi0KICAgICBkZWYgdGVzdF9wZXJjZW50cyhzZWxmKToKICAgICAgICAgZXEgPSBzZWxmLmFzc2VydEVxdWFsCiAgICAgICAgIHMgPSBUZW1wbGF0ZSgnJShmb28pcyAkZm9vICR7Zm9vfScpCkBAIC0xNzIsNiArMTU5LDI2IEBACiAgICAgICAgIHZhbCA9IHQuc2FmZV9zdWJzdGl0dXRlKHsnbG9jYXRpb24nOiAnQ2xldmVsYW5kJ30pCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodmFsLCAnUHlDb24gaW4gQ2xldmVsYW5kJykKIAorICAgIGRlZiB0ZXN0X2ludmFsaWRfd2l0aF9ub19saW5lcyhzZWxmKToKKyAgICAgICAgIyBUaGUgZXJyb3IgZm9ybWF0dGluZyBmb3IgaW52YWxpZCB0ZW1wbGF0ZXMKKyAgICAgICAgIyBoYXMgYSBzcGVjaWFsIGNhc2UgZm9yIG5vIGRhdGEgdGhhdCB0aGUgZGVmYXVsdAorICAgICAgICAjIHBhdHRlcm4gY2FuJ3QgdHJpZ2dlciAoYWx3YXlzIGhhcyBhdCBsZWFzdCAnJCcpCisgICAgICAgICMgU28gd2UgY3JhZnQgYSBwYXR0ZXJuIHRoYXQgaXMgYWx3YXlzIGludmFsaWQKKyAgICAgICAgIyB3aXRoIG5vIGxlYWRpbmcgZGF0YS4KKyAgICAgICAgY2xhc3MgTXlUZW1wbGF0ZShUZW1wbGF0ZSk6CisgICAgICAgICAgICBwYXR0ZXJuID0gciIiIgorICAgICAgICAgICAgICAoP1A8aW52YWxpZD4pIHwKKyAgICAgICAgICAgICAgdW5yZWFjaGFibGUoCisgICAgICAgICAgICAgICAgKD9QPG5hbWVkPikgICB8CisgICAgICAgICAgICAgICAgKD9QPGJyYWNlZD4pICB8CisgICAgICAgICAgICAgICAgKD9QPGVzY2FwZWQ+KQorICAgICAgICAgICAgICApCisgICAgICAgICAgICAiIiIKKyAgICAgICAgcyA9IE15VGVtcGxhdGUoJycpCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvcikgYXMgZXJyOgorICAgICAgICAgICAgcy5zdWJzdGl0dXRlKHt9KQorICAgICAgICBzZWxmLmFzc2VydEluKCdsaW5lIDEsIGNvbCAxJywgc3RyKGVyci5leGNlcHRpb24pKQorCiAgICAgZGVmIHRlc3RfdW5pY29kZV92YWx1ZXMoc2VsZik6CiAgICAgICAgIHMgPSBUZW1wbGF0ZSgnJHdobyBsaWtlcyAkd2hhdCcpCiAgICAgICAgIGQgPSBkaWN0KHdobz0ndFx4ZmZtJywgd2hhdD0nZlx4ZmVcZmVkJykKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfcGVwMzEzMS5weSBiL0xpYi90ZXN0L3Rlc3RfcGVwMzEzMS5weQppbmRleCBkZjBmNjRkLi4yZTZiOTBhIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3BlcDMxMzEucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9wZXAzMTMxLnB5CkBAIC0xNywxMiArMTcsNyBAQAogCiAgICAgZGVmIHRlc3Rfbm9uX2JtcF9ub3JtYWxpemVkKHNlbGYpOgogICAgICAgICDwnZSY8J2Uq/CdlKbwnZSg8J2UrPCdlKHwnZSiID0gMQotICAgICAgICAjIE9uIHdpZGUgYnVpbGRzLCB0aGlzIGlzIG5vcm1hbGl6ZWQsIGJ1dCBvbiBuYXJyb3cgb25lcyBpdCBpcyBub3QuIFNlZQotICAgICAgICAjICMxMjc0Ni4KLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgc2VsZi5hc3NlcnRJbigi8J2UmPCdlKvwnZSm8J2UoPCdlKzwnZSh8J2UoiIsIGRpcigpKQotICAgICAgICBleGNlcHQgQXNzZXJ0aW9uRXJyb3I6Ci0gICAgICAgICAgICByYWlzZSB1bml0dGVzdC5jYXNlLl9FeHBlY3RlZEZhaWx1cmUoc3lzLmV4Y19pbmZvKCkpCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oIlVuaWNvZGUiLCBkaXIoKSkKIAogICAgIGRlZiB0ZXN0X2ludmFsaWQoc2VsZik6CiAgICAgICAgIHRyeToKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfcGVwMzE1MS5weSBiL0xpYi90ZXN0L3Rlc3RfcGVwMzE1MS5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YWY5ZTBjCi0tLSAvZGV2L251bGwKKysrIGIvTGliL3Rlc3QvdGVzdF9wZXAzMTUxLnB5CkBAIC0wLDAgKzEsMjAxIEBACitpbXBvcnQgYnVpbHRpbnMKK2ltcG9ydCBvcworaW1wb3J0IHNlbGVjdAoraW1wb3J0IHNvY2tldAoraW1wb3J0IHN5cworaW1wb3J0IHVuaXR0ZXN0CitpbXBvcnQgZXJybm8KK2Zyb20gZXJybm8gaW1wb3J0IEVFWElTVAorCitmcm9tIHRlc3QgaW1wb3J0IHN1cHBvcnQKKworY2xhc3MgU3ViT1NFcnJvcihPU0Vycm9yKToKKyAgICBwYXNzCisKK2NsYXNzIFN1Yk9TRXJyb3JXaXRoSW5pdChPU0Vycm9yKToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgbWVzc2FnZSwgYmFyKToKKyAgICAgICAgc2VsZi5iYXIgPSBiYXIKKyAgICAgICAgc3VwZXIoKS5fX2luaXRfXyhtZXNzYWdlKQorCitjbGFzcyBTdWJPU0Vycm9yV2l0aE5ldyhPU0Vycm9yKToKKyAgICBkZWYgX19uZXdfXyhjbHMsIG1lc3NhZ2UsIGJheik6CisgICAgICAgIHNlbGYgPSBzdXBlcigpLl9fbmV3X18oY2xzLCBtZXNzYWdlKQorICAgICAgICBzZWxmLmJheiA9IGJhegorICAgICAgICByZXR1cm4gc2VsZgorCitjbGFzcyBTdWJPU0Vycm9yQ29tYmluZWRJbml0Rmlyc3QoU3ViT1NFcnJvcldpdGhJbml0LCBTdWJPU0Vycm9yV2l0aE5ldyk6CisgICAgcGFzcworCitjbGFzcyBTdWJPU0Vycm9yQ29tYmluZWROZXdGaXJzdChTdWJPU0Vycm9yV2l0aE5ldywgU3ViT1NFcnJvcldpdGhJbml0KToKKyAgICBwYXNzCisKKworY2xhc3MgSGllcmFyY2h5VGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CisKKyAgICBkZWYgdGVzdF9idWlsdGluX2Vycm9ycyhzZWxmKToKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChPU0Vycm9yLl9fbmFtZV9fLCAnT1NFcnJvcicpCisgICAgICAgIHNlbGYuYXNzZXJ0SXMoSU9FcnJvciwgT1NFcnJvcikKKyAgICAgICAgc2VsZi5hc3NlcnRJcyhFbnZpcm9ubWVudEVycm9yLCBPU0Vycm9yKQorCisgICAgZGVmIHRlc3Rfc29ja2V0X2Vycm9ycyhzZWxmKToKKyAgICAgICAgc2VsZi5hc3NlcnRJcyhzb2NrZXQuZXJyb3IsIElPRXJyb3IpCisgICAgICAgIHNlbGYuYXNzZXJ0SXMoc29ja2V0LmdhaWVycm9yLl9fYmFzZV9fLCBPU0Vycm9yKQorICAgICAgICBzZWxmLmFzc2VydElzKHNvY2tldC5oZXJyb3IuX19iYXNlX18sIE9TRXJyb3IpCisgICAgICAgIHNlbGYuYXNzZXJ0SXMoc29ja2V0LnRpbWVvdXQuX19iYXNlX18sIE9TRXJyb3IpCisKKyAgICBkZWYgdGVzdF9zZWxlY3RfZXJyb3Ioc2VsZik6CisgICAgICAgIHNlbGYuYXNzZXJ0SXMoc2VsZWN0LmVycm9yLCBPU0Vycm9yKQorCisgICAgIyBtbWFwLmVycm9yIGlzIHRlc3RlZCBpbiB0ZXN0X21tYXAKKworICAgIF9wZXBfbWFwID0gIiIiCisgICAgICAgICstLSBCbG9ja2luZ0lPRXJyb3IgICAgICAgIEVBR0FJTiwgRUFMUkVBRFksIEVXT1VMREJMT0NLLCBFSU5QUk9HUkVTUworICAgICAgICArLS0gQ2hpbGRQcm9jZXNzRXJyb3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFQ0hJTEQKKyAgICAgICAgKy0tIENvbm5lY3Rpb25FcnJvcgorICAgICAgICAgICAgKy0tIEJyb2tlblBpcGVFcnJvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVQSVBFLCBFU0hVVERPV04KKyAgICAgICAgICAgICstLSBDb25uZWN0aW9uQWJvcnRlZEVycm9yICAgICAgICAgICAgICAgICAgICAgICAgICAgRUNPTk5BQk9SVEVECisgICAgICAgICAgICArLS0gQ29ubmVjdGlvblJlZnVzZWRFcnJvciAgICAgICAgICAgICAgICAgICAgICAgICAgIEVDT05OUkVGVVNFRAorICAgICAgICAgICAgKy0tIENvbm5lY3Rpb25SZXNldEVycm9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVDT05OUkVTRVQKKyAgICAgICAgKy0tIEZpbGVFeGlzdHNFcnJvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRUVYSVNUCisgICAgICAgICstLSBGaWxlTm90Rm91bmRFcnJvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVOT0VOVAorICAgICAgICArLS0gSW50ZXJydXB0ZWRFcnJvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRUlOVFIKKyAgICAgICAgKy0tIElzQURpcmVjdG9yeUVycm9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRUlTRElSCisgICAgICAgICstLSBOb3RBRGlyZWN0b3J5RXJyb3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRU5PVERJUgorICAgICAgICArLS0gUGVybWlzc2lvbkVycm9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVBQ0NFUywgRVBFUk0KKyAgICAgICAgKy0tIFByb2Nlc3NMb29rdXBFcnJvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVTUkNICisgICAgICAgICstLSBUaW1lb3V0RXJyb3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVUSU1FRE9VVAorICAgICIiIgorICAgIGRlZiBfbWFrZV9tYXAocyk6CisgICAgICAgIF9tYXAgPSB7fQorICAgICAgICBmb3IgbGluZSBpbiBzLnNwbGl0bGluZXMoKToKKyAgICAgICAgICAgIGxpbmUgPSBsaW5lLnN0cmlwKCcrLSAnKQorICAgICAgICAgICAgaWYgbm90IGxpbmU6CisgICAgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgICAgIGV4Y25hbWUsIF8sIGVycm5hbWVzID0gbGluZS5wYXJ0aXRpb24oJyAnKQorICAgICAgICAgICAgZm9yIGVycm5hbWUgaW4gZmlsdGVyKE5vbmUsIGVycm5hbWVzLnN0cmlwKCkuc3BsaXQoJywgJykpOgorICAgICAgICAgICAgICAgIF9tYXBbZ2V0YXR0cihlcnJubywgZXJybmFtZSldID0gZ2V0YXR0cihidWlsdGlucywgZXhjbmFtZSkKKyAgICAgICAgcmV0dXJuIF9tYXAKKyAgICBfbWFwID0gX21ha2VfbWFwKF9wZXBfbWFwKQorCisgICAgZGVmIHRlc3RfZXJybm9fbWFwcGluZyhzZWxmKToKKyAgICAgICAgIyBUaGUgT1NFcnJvciBjb25zdHJ1Y3RvciBtYXBzIGVycm5vcyB0byBzdWJjbGFzc2VzCisgICAgICAgICMgQSBzYW1wbGUgdGVzdCBmb3IgdGhlIGJhc2ljIGZ1bmN0aW9uYWxpdHkKKyAgICAgICAgZSA9IE9TRXJyb3IoRUVYSVNULCAiQmFkIGZpbGUgZGVzY3JpcHRvciIpCisgICAgICAgIHNlbGYuYXNzZXJ0SXModHlwZShlKSwgRmlsZUV4aXN0c0Vycm9yKQorICAgICAgICAjIEV4aGF1c3RpdmUgdGVzdGluZworICAgICAgICBmb3IgZXJyY29kZSwgZXhjIGluIHNlbGYuX21hcC5pdGVtcygpOgorICAgICAgICAgICAgZSA9IE9TRXJyb3IoZXJyY29kZSwgIlNvbWUgbWVzc2FnZSIpCisgICAgICAgICAgICBzZWxmLmFzc2VydElzKHR5cGUoZSksIGV4YykKKyAgICAgICAgb3RoZXJjb2RlcyA9IHNldChlcnJuby5lcnJvcmNvZGUpIC0gc2V0KHNlbGYuX21hcCkKKyAgICAgICAgZm9yIGVycmNvZGUgaW4gb3RoZXJjb2RlczoKKyAgICAgICAgICAgIGUgPSBPU0Vycm9yKGVycmNvZGUsICJTb21lIG1lc3NhZ2UiKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRJcyh0eXBlKGUpLCBPU0Vycm9yKQorCisgICAgZGVmIHRlc3RfdHJ5X2V4Y2VwdChzZWxmKToKKyAgICAgICAgZmlsZW5hbWUgPSAic29tZV9ob3BlZnVsbHlfbm9uX2V4aXN0aW5nX2ZpbGUiCisKKyAgICAgICAgIyBUaGlzIGNoZWNrcyB0aGF0IHRyeSAuLiBleGNlcHQgY2hlY2tzIHRoZSBjb25jcmV0ZSBleGNlcHRpb24KKyAgICAgICAgIyAoRmlsZU5vdEZvdW5kRXJyb3IpIGFuZCBub3QgdGhlIGJhc2UgdHlwZSBzcGVjaWZpZWQgd2hlbgorICAgICAgICAjIFB5RXJyX1NldEZyb21FcnJub1dpdGhGaWxlbmFtZU9iamVjdCB3YXMgY2FsbGVkLgorICAgICAgICAjIChpdCBpcyB0aGVyZWZvcmUgZGVsaWJlcmF0ZSB0aGF0IGl0IGRvZXNuJ3QgdXNlIGFzc2VydFJhaXNlcykKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgb3BlbihmaWxlbmFtZSkKKyAgICAgICAgZXhjZXB0IEZpbGVOb3RGb3VuZEVycm9yOgorICAgICAgICAgICAgcGFzcworICAgICAgICBlbHNlOgorICAgICAgICAgICAgc2VsZi5mYWlsKCJzaG91bGQgaGF2ZSByYWlzZWQgYSBGaWxlTm90Rm91bmRFcnJvciIpCisKKyAgICAgICAgIyBBbm90aGVyIHRlc3QgZm9yIFB5RXJyX1NldEV4Y0Zyb21XaW5kb3dzRXJyV2l0aEZpbGVuYW1lT2JqZWN0KCkKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShvcy5wYXRoLmV4aXN0cyhmaWxlbmFtZSkpCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIG9zLnVubGluayhmaWxlbmFtZSkKKyAgICAgICAgZXhjZXB0IEZpbGVOb3RGb3VuZEVycm9yOgorICAgICAgICAgICAgcGFzcworICAgICAgICBlbHNlOgorICAgICAgICAgICAgc2VsZi5mYWlsKCJzaG91bGQgaGF2ZSByYWlzZWQgYSBGaWxlTm90Rm91bmRFcnJvciIpCisKKworY2xhc3MgQXR0cmlidXRlc1Rlc3QodW5pdHRlc3QuVGVzdENhc2UpOgorCisgICAgZGVmIHRlc3Rfd2luZG93c19lcnJvcihzZWxmKToKKyAgICAgICAgaWYgb3MubmFtZSA9PSAibnQiOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRJbignd2luZXJyb3InLCBkaXIoT1NFcnJvcikpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzZWxmLmFzc2VydE5vdEluKCd3aW5lcnJvcicsIGRpcihPU0Vycm9yKSkKKworICAgIGRlZiB0ZXN0X3Bvc2l4X2Vycm9yKHNlbGYpOgorICAgICAgICBlID0gT1NFcnJvcihFRVhJU1QsICJGaWxlIGFscmVhZHkgZXhpc3RzIiwgImZvby50eHQiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGUuZXJybm8sIEVFWElTVCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChlLmFyZ3NbMF0sIEVFWElTVCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChlLnN0cmVycm9yLCAiRmlsZSBhbHJlYWR5IGV4aXN0cyIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZS5maWxlbmFtZSwgImZvby50eHQiKQorICAgICAgICBpZiBvcy5uYW1lID09ICJudCI6CisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGUud2luZXJyb3IsIE5vbmUpCisKKyAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhvcy5uYW1lID09ICJudCIsICJXaW5kb3dzLXNwZWNpZmljIHRlc3QiKQorICAgIGRlZiB0ZXN0X2Vycm5vX3RyYW5zbGF0aW9uKHNlbGYpOgorICAgICAgICAjIEVSUk9SX0FMUkVBRFlfRVhJU1RTICgxODMpIC0+IEVFWElTVAorICAgICAgICBlID0gT1NFcnJvcigwLCAiRmlsZSBhbHJlYWR5IGV4aXN0cyIsICJmb28udHh0IiwgMTgzKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGUud2luZXJyb3IsIDE4MykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChlLmVycm5vLCBFRVhJU1QpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZS5hcmdzWzBdLCBFRVhJU1QpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZS5zdHJlcnJvciwgIkZpbGUgYWxyZWFkeSBleGlzdHMiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGUuZmlsZW5hbWUsICJmb28udHh0IikKKworICAgIGRlZiB0ZXN0X2Jsb2NraW5naW9lcnJvcihzZWxmKToKKyAgICAgICAgYXJncyA9ICgiYSIsICJiIiwgImMiLCAiZCIsICJlIikKKyAgICAgICAgZm9yIG4gaW4gcmFuZ2UoNik6CisgICAgICAgICAgICBlID0gQmxvY2tpbmdJT0Vycm9yKCphcmdzWzpuXSkKKyAgICAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoQXR0cmlidXRlRXJyb3IpOgorICAgICAgICAgICAgICAgIGUuY2hhcmFjdGVyc193cml0dGVuCisgICAgICAgIGUgPSBCbG9ja2luZ0lPRXJyb3IoImEiLCAiYiIsIDMpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZS5jaGFyYWN0ZXJzX3dyaXR0ZW4sIDMpCisgICAgICAgIGUuY2hhcmFjdGVyc193cml0dGVuID0gNQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGUuY2hhcmFjdGVyc193cml0dGVuLCA1KQorCisgICAgIyBYWFggVk1TRXJyb3Igbm90IHRlc3RlZAorCisKK2NsYXNzIEV4cGxpY2l0U3ViY2xhc3NpbmdUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKKworICAgIGRlZiB0ZXN0X2Vycm5vX21hcHBpbmcoc2VsZik6CisgICAgICAgICMgV2hlbiBjb25zdHJ1Y3RpbmcgYW4gT1NFcnJvciBzdWJjbGFzcywgZXJybm8gbWFwcGluZyBpc24ndCBkb25lCisgICAgICAgIGUgPSBTdWJPU0Vycm9yKEVFWElTVCwgIkJhZCBmaWxlIGRlc2NyaXB0b3IiKQorICAgICAgICBzZWxmLmFzc2VydElzKHR5cGUoZSksIFN1Yk9TRXJyb3IpCisKKyAgICBkZWYgdGVzdF9pbml0X292ZXJyaWRlbihzZWxmKToKKyAgICAgICAgZSA9IFN1Yk9TRXJyb3JXaXRoSW5pdCgic29tZSBtZXNzYWdlIiwgImJheiIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZS5iYXIsICJiYXoiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGUuYXJncywgKCJzb21lIG1lc3NhZ2UiLCkpCisKKyAgICBkZWYgdGVzdF9pbml0X2t3ZGFyZ3Moc2VsZik6CisgICAgICAgIGUgPSBTdWJPU0Vycm9yV2l0aEluaXQoInNvbWUgbWVzc2FnZSIsIGJhcj0iYmF6IikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChlLmJhciwgImJheiIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZS5hcmdzLCAoInNvbWUgbWVzc2FnZSIsKSkKKworICAgIGRlZiB0ZXN0X25ld19vdmVycmlkZW4oc2VsZik6CisgICAgICAgIGUgPSBTdWJPU0Vycm9yV2l0aE5ldygic29tZSBtZXNzYWdlIiwgImJheiIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZS5iYXosICJiYXoiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGUuYXJncywgKCJzb21lIG1lc3NhZ2UiLCkpCisKKyAgICBkZWYgdGVzdF9uZXdfa3dkYXJncyhzZWxmKToKKyAgICAgICAgZSA9IFN1Yk9TRXJyb3JXaXRoTmV3KCJzb21lIG1lc3NhZ2UiLCBiYXo9ImJheiIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZS5iYXosICJiYXoiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGUuYXJncywgKCJzb21lIG1lc3NhZ2UiLCkpCisKKyAgICBkZWYgdGVzdF9pbml0X25ld19vdmVycmlkZW4oc2VsZik6CisgICAgICAgIGUgPSBTdWJPU0Vycm9yQ29tYmluZWRJbml0Rmlyc3QoInNvbWUgbWVzc2FnZSIsICJiYXoiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGUuYmFyLCAiYmF6IikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChlLmJheiwgImJheiIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZS5hcmdzLCAoInNvbWUgbWVzc2FnZSIsKSkKKyAgICAgICAgZSA9IFN1Yk9TRXJyb3JDb21iaW5lZE5ld0ZpcnN0KCJzb21lIG1lc3NhZ2UiLCAiYmF6IikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChlLmJhciwgImJheiIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZS5iYXosICJiYXoiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGUuYXJncywgKCJzb21lIG1lc3NhZ2UiLCkpCisKKworZGVmIHRlc3RfbWFpbigpOgorICAgIHN1cHBvcnQucnVuX3VuaXR0ZXN0KF9fbmFtZV9fKQorCitpZiBfX25hbWVfXz09Il9fbWFpbl9fIjoKKyAgICB0ZXN0X21haW4oKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9wZXAzODAucHkgYi9MaWIvdGVzdC90ZXN0X3BlcDM4MC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NThiY2I5Ci0tLSAvZGV2L251bGwKKysrIGIvTGliL3Rlc3QvdGVzdF9wZXAzODAucHkKQEAgLTAsMCArMSw5NTEgQEAKKyMgLSotIGNvZGluZzogdXRmLTggLSotCisKKyIiIgorVGVzdCBzdWl0ZSBmb3IgUEVQIDM4MCBpbXBsZW1lbnRhdGlvbgorCithZGFwdGVkIGZyb20gb3JpZ2luYWwgdGVzdHMgd3JpdHRlbiBieSBHcmVnIEV3aW5nCitzZWUgPGh0dHA6Ly93d3cuY29zYy5jYW50ZXJidXJ5LmFjLm56L2dyZWcuZXdpbmcvcHl0aG9uL3lpZWxkLWZyb20vWWllbGRGcm9tLVB5dGhvbjMuMS4yLXJldjUuemlwPgorIiIiCisKK2ltcG9ydCB1bml0dGVzdAoraW1wb3J0IGlvCitpbXBvcnQgc3lzCitpbXBvcnQgaW5zcGVjdAoraW1wb3J0IHBhcnNlcgorCitmcm9tIHRlc3Quc3VwcG9ydCBpbXBvcnQgY2FwdHVyZWRfc3RkZXJyCisKK2NsYXNzIFRlc3RQRVAzODBPcGVyYXRpb24odW5pdHRlc3QuVGVzdENhc2UpOgorICAgICIiIgorICAgIFRlc3Qgc2VtYW50aWNzLgorICAgICIiIgorCisgICAgZGVmIHRlc3RfZGVsZWdhdGlvbl9vZl9pbml0aWFsX25leHRfdG9fc3ViZ2VuZXJhdG9yKHNlbGYpOgorICAgICAgICAiIiIKKyAgICAgICAgVGVzdCBkZWxlZ2F0aW9uIG9mIGluaXRpYWwgbmV4dCgpIGNhbGwgdG8gc3ViZ2VuZXJhdG9yCisgICAgICAgICIiIgorICAgICAgICB0cmFjZSA9IFtdCisgICAgICAgIGRlZiBnMSgpOgorICAgICAgICAgICAgdHJhY2UuYXBwZW5kKCJTdGFydGluZyBnMSIpCisgICAgICAgICAgICB5aWVsZCBmcm9tIGcyKCkKKyAgICAgICAgICAgIHRyYWNlLmFwcGVuZCgiRmluaXNoaW5nIGcxIikKKyAgICAgICAgZGVmIGcyKCk6CisgICAgICAgICAgICB0cmFjZS5hcHBlbmQoIlN0YXJ0aW5nIGcyIikKKyAgICAgICAgICAgIHlpZWxkIDQyCisgICAgICAgICAgICB0cmFjZS5hcHBlbmQoIkZpbmlzaGluZyBnMiIpCisgICAgICAgIGZvciB4IGluIGcxKCk6CisgICAgICAgICAgICB0cmFjZS5hcHBlbmQoIllpZWxkZWQgJXMiICUgKHgsKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh0cmFjZSxbCisgICAgICAgICAgICAiU3RhcnRpbmcgZzEiLAorICAgICAgICAgICAgIlN0YXJ0aW5nIGcyIiwKKyAgICAgICAgICAgICJZaWVsZGVkIDQyIiwKKyAgICAgICAgICAgICJGaW5pc2hpbmcgZzIiLAorICAgICAgICAgICAgIkZpbmlzaGluZyBnMSIsCisgICAgICAgIF0pCisKKyAgICBkZWYgdGVzdF9yYWlzaW5nX2V4Y2VwdGlvbl9pbl9pbml0aWFsX25leHRfY2FsbChzZWxmKToKKyAgICAgICAgIiIiCisgICAgICAgIFRlc3QgcmFpc2luZyBleGNlcHRpb24gaW4gaW5pdGlhbCBuZXh0KCkgY2FsbAorICAgICAgICAiIiIKKyAgICAgICAgdHJhY2UgPSBbXQorICAgICAgICBkZWYgZzEoKToKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICB0cmFjZS5hcHBlbmQoIlN0YXJ0aW5nIGcxIikKKyAgICAgICAgICAgICAgICB5aWVsZCBmcm9tIGcyKCkKKyAgICAgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICAgICAgdHJhY2UuYXBwZW5kKCJGaW5pc2hpbmcgZzEiKQorICAgICAgICBkZWYgZzIoKToKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICB0cmFjZS5hcHBlbmQoIlN0YXJ0aW5nIGcyIikKKyAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJzcGFuaXNoIGlucXVpc2l0aW9uIG9jY3VycmVkIikKKyAgICAgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICAgICAgdHJhY2UuYXBwZW5kKCJGaW5pc2hpbmcgZzIiKQorICAgICAgICB0cnk6CisgICAgICAgICAgICBmb3IgeCBpbiBnMSgpOgorICAgICAgICAgICAgICAgIHRyYWNlLmFwcGVuZCgiWWllbGRlZCAlcyIgJSAoeCwpKQorICAgICAgICBleGNlcHQgVmFsdWVFcnJvciBhcyBlOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChlLmFyZ3NbMF0sICJzcGFuaXNoIGlucXVpc2l0aW9uIG9jY3VycmVkIikKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHNlbGYuZmFpbCgic3ViZ2VuZXJhdG9yIGZhaWxlZCB0byByYWlzZSBWYWx1ZUVycm9yIikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh0cmFjZSxbCisgICAgICAgICAgICAiU3RhcnRpbmcgZzEiLAorICAgICAgICAgICAgIlN0YXJ0aW5nIGcyIiwKKyAgICAgICAgICAgICJGaW5pc2hpbmcgZzIiLAorICAgICAgICAgICAgIkZpbmlzaGluZyBnMSIsCisgICAgICAgIF0pCisKKyAgICBkZWYgdGVzdF9kZWxlZ2F0aW9uX29mX25leHRfY2FsbF90b19zdWJnZW5lcmF0b3Ioc2VsZik6CisgICAgICAgICIiIgorICAgICAgICBUZXN0IGRlbGVnYXRpb24gb2YgbmV4dCgpIGNhbGwgdG8gc3ViZ2VuZXJhdG9yCisgICAgICAgICIiIgorICAgICAgICB0cmFjZSA9IFtdCisgICAgICAgIGRlZiBnMSgpOgorICAgICAgICAgICAgdHJhY2UuYXBwZW5kKCJTdGFydGluZyBnMSIpCisgICAgICAgICAgICB5aWVsZCAiZzEgaGFtIgorICAgICAgICAgICAgeWllbGQgZnJvbSBnMigpCisgICAgICAgICAgICB5aWVsZCAiZzEgZWdncyIKKyAgICAgICAgICAgIHRyYWNlLmFwcGVuZCgiRmluaXNoaW5nIGcxIikKKyAgICAgICAgZGVmIGcyKCk6CisgICAgICAgICAgICB0cmFjZS5hcHBlbmQoIlN0YXJ0aW5nIGcyIikKKyAgICAgICAgICAgIHlpZWxkICJnMiBzcGFtIgorICAgICAgICAgICAgeWllbGQgImcyIG1vcmUgc3BhbSIKKyAgICAgICAgICAgIHRyYWNlLmFwcGVuZCgiRmluaXNoaW5nIGcyIikKKyAgICAgICAgZm9yIHggaW4gZzEoKToKKyAgICAgICAgICAgIHRyYWNlLmFwcGVuZCgiWWllbGRlZCAlcyIgJSAoeCwpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHRyYWNlLFsKKyAgICAgICAgICAgICJTdGFydGluZyBnMSIsCisgICAgICAgICAgICAiWWllbGRlZCBnMSBoYW0iLAorICAgICAgICAgICAgIlN0YXJ0aW5nIGcyIiwKKyAgICAgICAgICAgICJZaWVsZGVkIGcyIHNwYW0iLAorICAgICAgICAgICAgIllpZWxkZWQgZzIgbW9yZSBzcGFtIiwKKyAgICAgICAgICAgICJGaW5pc2hpbmcgZzIiLAorICAgICAgICAgICAgIllpZWxkZWQgZzEgZWdncyIsCisgICAgICAgICAgICAiRmluaXNoaW5nIGcxIiwKKyAgICAgICAgXSkKKworICAgIGRlZiB0ZXN0X3JhaXNpbmdfZXhjZXB0aW9uX2luX2RlbGVnYXRlZF9uZXh0X2NhbGwoc2VsZik6CisgICAgICAgICIiIgorICAgICAgICBUZXN0IHJhaXNpbmcgZXhjZXB0aW9uIGluIGRlbGVnYXRlZCBuZXh0KCkgY2FsbAorICAgICAgICAiIiIKKyAgICAgICAgdHJhY2UgPSBbXQorICAgICAgICBkZWYgZzEoKToKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICB0cmFjZS5hcHBlbmQoIlN0YXJ0aW5nIGcxIikKKyAgICAgICAgICAgICAgICB5aWVsZCAiZzEgaGFtIgorICAgICAgICAgICAgICAgIHlpZWxkIGZyb20gZzIoKQorICAgICAgICAgICAgICAgIHlpZWxkICJnMSBlZ2dzIgorICAgICAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgICAgICB0cmFjZS5hcHBlbmQoIkZpbmlzaGluZyBnMSIpCisgICAgICAgIGRlZiBnMigpOgorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIHRyYWNlLmFwcGVuZCgiU3RhcnRpbmcgZzIiKQorICAgICAgICAgICAgICAgIHlpZWxkICJnMiBzcGFtIgorICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoImhvdmVyY3JhZnQgaXMgZnVsbCBvZiBlZWxzIikKKyAgICAgICAgICAgICAgICB5aWVsZCAiZzIgbW9yZSBzcGFtIgorICAgICAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgICAgICB0cmFjZS5hcHBlbmQoIkZpbmlzaGluZyBnMiIpCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIGZvciB4IGluIGcxKCk6CisgICAgICAgICAgICAgICAgdHJhY2UuYXBwZW5kKCJZaWVsZGVkICVzIiAlICh4LCkpCisgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yIGFzIGU6CisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGUuYXJnc1swXSwgImhvdmVyY3JhZnQgaXMgZnVsbCBvZiBlZWxzIikKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHNlbGYuZmFpbCgic3ViZ2VuZXJhdG9yIGZhaWxlZCB0byByYWlzZSBWYWx1ZUVycm9yIikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh0cmFjZSxbCisgICAgICAgICAgICAiU3RhcnRpbmcgZzEiLAorICAgICAgICAgICAgIllpZWxkZWQgZzEgaGFtIiwKKyAgICAgICAgICAgICJTdGFydGluZyBnMiIsCisgICAgICAgICAgICAiWWllbGRlZCBnMiBzcGFtIiwKKyAgICAgICAgICAgICJGaW5pc2hpbmcgZzIiLAorICAgICAgICAgICAgIkZpbmlzaGluZyBnMSIsCisgICAgICAgIF0pCisKKyAgICBkZWYgdGVzdF9kZWxlZ2F0aW9uX29mX3NlbmQoc2VsZik6CisgICAgICAgICIiIgorICAgICAgICBUZXN0IGRlbGVnYXRpb24gb2Ygc2VuZCgpCisgICAgICAgICIiIgorICAgICAgICB0cmFjZSA9IFtdCisgICAgICAgIGRlZiBnMSgpOgorICAgICAgICAgICAgdHJhY2UuYXBwZW5kKCJTdGFydGluZyBnMSIpCisgICAgICAgICAgICB4ID0geWllbGQgImcxIGhhbSIKKyAgICAgICAgICAgIHRyYWNlLmFwcGVuZCgiZzEgcmVjZWl2ZWQgJXMiICUgKHgsKSkKKyAgICAgICAgICAgIHlpZWxkIGZyb20gZzIoKQorICAgICAgICAgICAgeCA9IHlpZWxkICJnMSBlZ2dzIgorICAgICAgICAgICAgdHJhY2UuYXBwZW5kKCJnMSByZWNlaXZlZCAlcyIgJSAoeCwpKQorICAgICAgICAgICAgdHJhY2UuYXBwZW5kKCJGaW5pc2hpbmcgZzEiKQorICAgICAgICBkZWYgZzIoKToKKyAgICAgICAgICAgIHRyYWNlLmFwcGVuZCgiU3RhcnRpbmcgZzIiKQorICAgICAgICAgICAgeCA9IHlpZWxkICJnMiBzcGFtIgorICAgICAgICAgICAgdHJhY2UuYXBwZW5kKCJnMiByZWNlaXZlZCAlcyIgJSAoeCwpKQorICAgICAgICAgICAgeCA9IHlpZWxkICJnMiBtb3JlIHNwYW0iCisgICAgICAgICAgICB0cmFjZS5hcHBlbmQoImcyIHJlY2VpdmVkICVzIiAlICh4LCkpCisgICAgICAgICAgICB0cmFjZS5hcHBlbmQoIkZpbmlzaGluZyBnMiIpCisgICAgICAgIGcgPSBnMSgpCisgICAgICAgIHkgPSBuZXh0KGcpCisgICAgICAgIHggPSAxCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHdoaWxlIDE6CisgICAgICAgICAgICAgICAgeSA9IGcuc2VuZCh4KQorICAgICAgICAgICAgICAgIHRyYWNlLmFwcGVuZCgiWWllbGRlZCAlcyIgJSAoeSwpKQorICAgICAgICAgICAgICAgIHggKz0gMQorICAgICAgICBleGNlcHQgU3RvcEl0ZXJhdGlvbjoKKyAgICAgICAgICAgIHBhc3MKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh0cmFjZSxbCisgICAgICAgICAgICAiU3RhcnRpbmcgZzEiLAorICAgICAgICAgICAgImcxIHJlY2VpdmVkIDEiLAorICAgICAgICAgICAgIlN0YXJ0aW5nIGcyIiwKKyAgICAgICAgICAgICJZaWVsZGVkIGcyIHNwYW0iLAorICAgICAgICAgICAgImcyIHJlY2VpdmVkIDIiLAorICAgICAgICAgICAgIllpZWxkZWQgZzIgbW9yZSBzcGFtIiwKKyAgICAgICAgICAgICJnMiByZWNlaXZlZCAzIiwKKyAgICAgICAgICAgICJGaW5pc2hpbmcgZzIiLAorICAgICAgICAgICAgIllpZWxkZWQgZzEgZWdncyIsCisgICAgICAgICAgICAiZzEgcmVjZWl2ZWQgNCIsCisgICAgICAgICAgICAiRmluaXNoaW5nIGcxIiwKKyAgICAgICAgXSkKKworICAgIGRlZiB0ZXN0X2hhbmRsaW5nX2V4Y2VwdGlvbl93aGlsZV9kZWxlZ2F0aW5nX3NlbmQoc2VsZik6CisgICAgICAgICIiIgorICAgICAgICBUZXN0IGhhbmRsaW5nIGV4Y2VwdGlvbiB3aGlsZSBkZWxlZ2F0aW5nICdzZW5kJworICAgICAgICAiIiIKKyAgICAgICAgdHJhY2UgPSBbXQorICAgICAgICBkZWYgZzEoKToKKyAgICAgICAgICAgIHRyYWNlLmFwcGVuZCgiU3RhcnRpbmcgZzEiKQorICAgICAgICAgICAgeCA9IHlpZWxkICJnMSBoYW0iCisgICAgICAgICAgICB0cmFjZS5hcHBlbmQoImcxIHJlY2VpdmVkICVzIiAlICh4LCkpCisgICAgICAgICAgICB5aWVsZCBmcm9tIGcyKCkKKyAgICAgICAgICAgIHggPSB5aWVsZCAiZzEgZWdncyIKKyAgICAgICAgICAgIHRyYWNlLmFwcGVuZCgiZzEgcmVjZWl2ZWQgJXMiICUgKHgsKSkKKyAgICAgICAgICAgIHRyYWNlLmFwcGVuZCgiRmluaXNoaW5nIGcxIikKKyAgICAgICAgZGVmIGcyKCk6CisgICAgICAgICAgICB0cmFjZS5hcHBlbmQoIlN0YXJ0aW5nIGcyIikKKyAgICAgICAgICAgIHggPSB5aWVsZCAiZzIgc3BhbSIKKyAgICAgICAgICAgIHRyYWNlLmFwcGVuZCgiZzIgcmVjZWl2ZWQgJXMiICUgKHgsKSkKKyAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoImhvdmVyY3JhZnQgaXMgZnVsbCBvZiBlZWxzIikKKyAgICAgICAgICAgIHggPSB5aWVsZCAiZzIgbW9yZSBzcGFtIgorICAgICAgICAgICAgdHJhY2UuYXBwZW5kKCJnMiByZWNlaXZlZCAlcyIgJSAoeCwpKQorICAgICAgICAgICAgdHJhY2UuYXBwZW5kKCJGaW5pc2hpbmcgZzIiKQorICAgICAgICBkZWYgcnVuKCk6CisgICAgICAgICAgICBnID0gZzEoKQorICAgICAgICAgICAgeSA9IG5leHQoZykKKyAgICAgICAgICAgIHggPSAxCisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgd2hpbGUgMToKKyAgICAgICAgICAgICAgICAgICAgeSA9IGcuc2VuZCh4KQorICAgICAgICAgICAgICAgICAgICB0cmFjZS5hcHBlbmQoIllpZWxkZWQgJXMiICUgKHksKSkKKyAgICAgICAgICAgICAgICAgICAgeCArPSAxCisgICAgICAgICAgICBleGNlcHQgU3RvcEl0ZXJhdGlvbjoKKyAgICAgICAgICAgICAgICB0cmFjZS5hcHBlbmQoIlN0b3BJdGVyYXRpb24iKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLHJ1bikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh0cmFjZSxbCisgICAgICAgICAgICAiU3RhcnRpbmcgZzEiLAorICAgICAgICAgICAgImcxIHJlY2VpdmVkIDEiLAorICAgICAgICAgICAgIlN0YXJ0aW5nIGcyIiwKKyAgICAgICAgICAgICJZaWVsZGVkIGcyIHNwYW0iLAorICAgICAgICAgICAgImcyIHJlY2VpdmVkIDIiLAorICAgICAgICBdKQorCisgICAgZGVmIHRlc3RfZGVsZWdhdGluZ19jbG9zZShzZWxmKToKKyAgICAgICAgIiIiCisgICAgICAgIFRlc3QgZGVsZWdhdGluZyAnY2xvc2UnCisgICAgICAgICIiIgorICAgICAgICB0cmFjZSA9IFtdCisgICAgICAgIGRlZiBnMSgpOgorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIHRyYWNlLmFwcGVuZCgiU3RhcnRpbmcgZzEiKQorICAgICAgICAgICAgICAgIHlpZWxkICJnMSBoYW0iCisgICAgICAgICAgICAgICAgeWllbGQgZnJvbSBnMigpCisgICAgICAgICAgICAgICAgeWllbGQgImcxIGVnZ3MiCisgICAgICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgICAgIHRyYWNlLmFwcGVuZCgiRmluaXNoaW5nIGcxIikKKyAgICAgICAgZGVmIGcyKCk6CisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgdHJhY2UuYXBwZW5kKCJTdGFydGluZyBnMiIpCisgICAgICAgICAgICAgICAgeWllbGQgImcyIHNwYW0iCisgICAgICAgICAgICAgICAgeWllbGQgImcyIG1vcmUgc3BhbSIKKyAgICAgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICAgICAgdHJhY2UuYXBwZW5kKCJGaW5pc2hpbmcgZzIiKQorICAgICAgICBnID0gZzEoKQorICAgICAgICBmb3IgaSBpbiByYW5nZSgyKToKKyAgICAgICAgICAgIHggPSBuZXh0KGcpCisgICAgICAgICAgICB0cmFjZS5hcHBlbmQoIllpZWxkZWQgJXMiICUgKHgsKSkKKyAgICAgICAgZy5jbG9zZSgpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodHJhY2UsWworICAgICAgICAgICAgIlN0YXJ0aW5nIGcxIiwKKyAgICAgICAgICAgICJZaWVsZGVkIGcxIGhhbSIsCisgICAgICAgICAgICAiU3RhcnRpbmcgZzIiLAorICAgICAgICAgICAgIllpZWxkZWQgZzIgc3BhbSIsCisgICAgICAgICAgICAiRmluaXNoaW5nIGcyIiwKKyAgICAgICAgICAgICJGaW5pc2hpbmcgZzEiCisgICAgICAgIF0pCisKKyAgICBkZWYgdGVzdF9oYW5kaW5nX2V4Y2VwdGlvbl93aGlsZV9kZWxlZ2F0aW5nX2Nsb3NlKHNlbGYpOgorICAgICAgICAiIiIKKyAgICAgICAgVGVzdCBoYW5kbGluZyBleGNlcHRpb24gd2hpbGUgZGVsZWdhdGluZyAnY2xvc2UnCisgICAgICAgICIiIgorICAgICAgICB0cmFjZSA9IFtdCisgICAgICAgIGRlZiBnMSgpOgorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIHRyYWNlLmFwcGVuZCgiU3RhcnRpbmcgZzEiKQorICAgICAgICAgICAgICAgIHlpZWxkICJnMSBoYW0iCisgICAgICAgICAgICAgICAgeWllbGQgZnJvbSBnMigpCisgICAgICAgICAgICAgICAgeWllbGQgImcxIGVnZ3MiCisgICAgICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgICAgIHRyYWNlLmFwcGVuZCgiRmluaXNoaW5nIGcxIikKKyAgICAgICAgZGVmIGcyKCk6CisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgdHJhY2UuYXBwZW5kKCJTdGFydGluZyBnMiIpCisgICAgICAgICAgICAgICAgeWllbGQgImcyIHNwYW0iCisgICAgICAgICAgICAgICAgeWllbGQgImcyIG1vcmUgc3BhbSIKKyAgICAgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICAgICAgdHJhY2UuYXBwZW5kKCJGaW5pc2hpbmcgZzIiKQorICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIm55YmJsZXMgaGF2ZSBleHBsb2RlZCB3aXRoIGRlbGlnaHQiKQorICAgICAgICB0cnk6CisgICAgICAgICAgICBnID0gZzEoKQorICAgICAgICAgICAgZm9yIGkgaW4gcmFuZ2UoMik6CisgICAgICAgICAgICAgICAgeCA9IG5leHQoZykKKyAgICAgICAgICAgICAgICB0cmFjZS5hcHBlbmQoIllpZWxkZWQgJXMiICUgKHgsKSkKKyAgICAgICAgICAgIGcuY2xvc2UoKQorICAgICAgICBleGNlcHQgVmFsdWVFcnJvciBhcyBlOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChlLmFyZ3NbMF0sICJueWJibGVzIGhhdmUgZXhwbG9kZWQgd2l0aCBkZWxpZ2h0IikKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShlLl9fY29udGV4dF9fLCBHZW5lcmF0b3JFeGl0KQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgc2VsZi5mYWlsKCJzdWJnZW5lcmF0b3IgZmFpbGVkIHRvIHJhaXNlIFZhbHVlRXJyb3IiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHRyYWNlLFsKKyAgICAgICAgICAgICJTdGFydGluZyBnMSIsCisgICAgICAgICAgICAiWWllbGRlZCBnMSBoYW0iLAorICAgICAgICAgICAgIlN0YXJ0aW5nIGcyIiwKKyAgICAgICAgICAgICJZaWVsZGVkIGcyIHNwYW0iLAorICAgICAgICAgICAgIkZpbmlzaGluZyBnMiIsCisgICAgICAgICAgICAiRmluaXNoaW5nIGcxIiwKKyAgICAgICAgXSkKKworICAgIGRlZiB0ZXN0X2RlbGVnYXRpbmdfdGhyb3coc2VsZik6CisgICAgICAgICIiIgorICAgICAgICBUZXN0IGRlbGVnYXRpbmcgJ3Rocm93JworICAgICAgICAiIiIKKyAgICAgICAgdHJhY2UgPSBbXQorICAgICAgICBkZWYgZzEoKToKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICB0cmFjZS5hcHBlbmQoIlN0YXJ0aW5nIGcxIikKKyAgICAgICAgICAgICAgICB5aWVsZCAiZzEgaGFtIgorICAgICAgICAgICAgICAgIHlpZWxkIGZyb20gZzIoKQorICAgICAgICAgICAgICAgIHlpZWxkICJnMSBlZ2dzIgorICAgICAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgICAgICB0cmFjZS5hcHBlbmQoIkZpbmlzaGluZyBnMSIpCisgICAgICAgIGRlZiBnMigpOgorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIHRyYWNlLmFwcGVuZCgiU3RhcnRpbmcgZzIiKQorICAgICAgICAgICAgICAgIHlpZWxkICJnMiBzcGFtIgorICAgICAgICAgICAgICAgIHlpZWxkICJnMiBtb3JlIHNwYW0iCisgICAgICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgICAgIHRyYWNlLmFwcGVuZCgiRmluaXNoaW5nIGcyIikKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgZyA9IGcxKCkKKyAgICAgICAgICAgIGZvciBpIGluIHJhbmdlKDIpOgorICAgICAgICAgICAgICAgIHggPSBuZXh0KGcpCisgICAgICAgICAgICAgICAgdHJhY2UuYXBwZW5kKCJZaWVsZGVkICVzIiAlICh4LCkpCisgICAgICAgICAgICBlID0gVmFsdWVFcnJvcigidG9tYXRvIGVqZWN0ZWQiKQorICAgICAgICAgICAgZy50aHJvdyhlKQorICAgICAgICBleGNlcHQgVmFsdWVFcnJvciBhcyBlOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChlLmFyZ3NbMF0sICJ0b21hdG8gZWplY3RlZCIpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzZWxmLmZhaWwoInN1YmdlbmVyYXRvciBmYWlsZWQgdG8gcmFpc2UgVmFsdWVFcnJvciIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodHJhY2UsWworICAgICAgICAgICAgIlN0YXJ0aW5nIGcxIiwKKyAgICAgICAgICAgICJZaWVsZGVkIGcxIGhhbSIsCisgICAgICAgICAgICAiU3RhcnRpbmcgZzIiLAorICAgICAgICAgICAgIllpZWxkZWQgZzIgc3BhbSIsCisgICAgICAgICAgICAiRmluaXNoaW5nIGcyIiwKKyAgICAgICAgICAgICJGaW5pc2hpbmcgZzEiLAorICAgICAgICBdKQorCisgICAgZGVmIHRlc3RfdmFsdWVfYXR0cmlidXRlX29mX1N0b3BJdGVyYXRpb25fZXhjZXB0aW9uKHNlbGYpOgorICAgICAgICAiIiIKKyAgICAgICAgVGVzdCAndmFsdWUnIGF0dHJpYnV0ZSBvZiBTdG9wSXRlcmF0aW9uIGV4Y2VwdGlvbgorICAgICAgICAiIiIKKyAgICAgICAgdHJhY2UgPSBbXQorICAgICAgICBkZWYgcGV4KGUpOgorICAgICAgICAgICAgdHJhY2UuYXBwZW5kKCIlczogJXMiICUgKGUuX19jbGFzc19fLl9fbmFtZV9fLCBlKSkKKyAgICAgICAgICAgIHRyYWNlLmFwcGVuZCgidmFsdWUgPSAlcyIgJSAoZS52YWx1ZSwpKQorICAgICAgICBlID0gU3RvcEl0ZXJhdGlvbigpCisgICAgICAgIHBleChlKQorICAgICAgICBlID0gU3RvcEl0ZXJhdGlvbigic3BhbSIpCisgICAgICAgIHBleChlKQorICAgICAgICBlLnZhbHVlID0gImVnZ3MiCisgICAgICAgIHBleChlKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHRyYWNlLFsKKyAgICAgICAgICAgICJTdG9wSXRlcmF0aW9uOiAiLAorICAgICAgICAgICAgInZhbHVlID0gTm9uZSIsCisgICAgICAgICAgICAiU3RvcEl0ZXJhdGlvbjogc3BhbSIsCisgICAgICAgICAgICAidmFsdWUgPSBzcGFtIiwKKyAgICAgICAgICAgICJTdG9wSXRlcmF0aW9uOiBzcGFtIiwKKyAgICAgICAgICAgICJ2YWx1ZSA9IGVnZ3MiLAorICAgICAgICBdKQorCisKKyAgICBkZWYgdGVzdF9leGNlcHRpb25fdmFsdWVfY3Jhc2goc2VsZik6CisgICAgICAgICMgVGhlcmUgdXNlZCB0byBiZSBhIHJlZmNvdW50IGVycm9yIHdoZW4gdGhlIHJldHVybiB2YWx1ZQorICAgICAgICAjIHN0b3JlZCBpbiB0aGUgU3RvcEl0ZXJhdGlvbiBoYXMgYSByZWZjb3VudCBvZiAxLgorICAgICAgICBkZWYgZzEoKToKKyAgICAgICAgICAgIHlpZWxkIGZyb20gZzIoKQorICAgICAgICBkZWYgZzIoKToKKyAgICAgICAgICAgIHlpZWxkICJnMiIKKyAgICAgICAgICAgIHJldHVybiBbNDJdCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGlzdChnMSgpKSwgWyJnMiJdKQorCisKKyAgICBkZWYgdGVzdF9nZW5lcmF0b3JfcmV0dXJuX3ZhbHVlKHNlbGYpOgorICAgICAgICAiIiIKKyAgICAgICAgVGVzdCBnZW5lcmF0b3IgcmV0dXJuIHZhbHVlCisgICAgICAgICIiIgorICAgICAgICB0cmFjZSA9IFtdCisgICAgICAgIGRlZiBnMSgpOgorICAgICAgICAgICAgdHJhY2UuYXBwZW5kKCJTdGFydGluZyBnMSIpCisgICAgICAgICAgICB5aWVsZCAiZzEgaGFtIgorICAgICAgICAgICAgcmV0ID0geWllbGQgZnJvbSBnMigpCisgICAgICAgICAgICB0cmFjZS5hcHBlbmQoImcyIHJldHVybmVkICVzIiAlIChyZXQsKSkKKyAgICAgICAgICAgIHJldCA9IHlpZWxkIGZyb20gZzIoNDIpCisgICAgICAgICAgICB0cmFjZS5hcHBlbmQoImcyIHJldHVybmVkICVzIiAlIChyZXQsKSkKKyAgICAgICAgICAgIHlpZWxkICJnMSBlZ2dzIgorICAgICAgICAgICAgdHJhY2UuYXBwZW5kKCJGaW5pc2hpbmcgZzEiKQorICAgICAgICBkZWYgZzIodiA9IE5vbmUpOgorICAgICAgICAgICAgdHJhY2UuYXBwZW5kKCJTdGFydGluZyBnMiIpCisgICAgICAgICAgICB5aWVsZCAiZzIgc3BhbSIKKyAgICAgICAgICAgIHlpZWxkICJnMiBtb3JlIHNwYW0iCisgICAgICAgICAgICB0cmFjZS5hcHBlbmQoIkZpbmlzaGluZyBnMiIpCisgICAgICAgICAgICBpZiB2OgorICAgICAgICAgICAgICAgIHJldHVybiB2CisgICAgICAgIGZvciB4IGluIGcxKCk6CisgICAgICAgICAgICB0cmFjZS5hcHBlbmQoIllpZWxkZWQgJXMiICUgKHgsKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh0cmFjZSxbCisgICAgICAgICAgICAiU3RhcnRpbmcgZzEiLAorICAgICAgICAgICAgIllpZWxkZWQgZzEgaGFtIiwKKyAgICAgICAgICAgICJTdGFydGluZyBnMiIsCisgICAgICAgICAgICAiWWllbGRlZCBnMiBzcGFtIiwKKyAgICAgICAgICAgICJZaWVsZGVkIGcyIG1vcmUgc3BhbSIsCisgICAgICAgICAgICAiRmluaXNoaW5nIGcyIiwKKyAgICAgICAgICAgICJnMiByZXR1cm5lZCBOb25lIiwKKyAgICAgICAgICAgICJTdGFydGluZyBnMiIsCisgICAgICAgICAgICAiWWllbGRlZCBnMiBzcGFtIiwKKyAgICAgICAgICAgICJZaWVsZGVkIGcyIG1vcmUgc3BhbSIsCisgICAgICAgICAgICAiRmluaXNoaW5nIGcyIiwKKyAgICAgICAgICAgICJnMiByZXR1cm5lZCA0MiIsCisgICAgICAgICAgICAiWWllbGRlZCBnMSBlZ2dzIiwKKyAgICAgICAgICAgICJGaW5pc2hpbmcgZzEiLAorICAgICAgICBdKQorCisgICAgZGVmIHRlc3RfZGVsZWdhdGlvbl9vZl9uZXh0X3RvX25vbl9nZW5lcmF0b3Ioc2VsZik6CisgICAgICAgICIiIgorICAgICAgICBUZXN0IGRlbGVnYXRpb24gb2YgbmV4dCgpIHRvIG5vbi1nZW5lcmF0b3IKKyAgICAgICAgIiIiCisgICAgICAgIHRyYWNlID0gW10KKyAgICAgICAgZGVmIGcoKToKKyAgICAgICAgICAgIHlpZWxkIGZyb20gcmFuZ2UoMykKKyAgICAgICAgZm9yIHggaW4gZygpOgorICAgICAgICAgICAgdHJhY2UuYXBwZW5kKCJZaWVsZGVkICVzIiAlICh4LCkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodHJhY2UsWworICAgICAgICAgICAgIllpZWxkZWQgMCIsCisgICAgICAgICAgICAiWWllbGRlZCAxIiwKKyAgICAgICAgICAgICJZaWVsZGVkIDIiLAorICAgICAgICBdKQorCisKKyAgICBkZWYgdGVzdF9jb252ZXJzaW9uX29mX3NlbmROb25lX3RvX25leHQoc2VsZik6CisgICAgICAgICIiIgorICAgICAgICBUZXN0IGNvbnZlcnNpb24gb2Ygc2VuZChOb25lKSB0byBuZXh0KCkKKyAgICAgICAgIiIiCisgICAgICAgIHRyYWNlID0gW10KKyAgICAgICAgZGVmIGcoKToKKyAgICAgICAgICAgIHlpZWxkIGZyb20gcmFuZ2UoMykKKyAgICAgICAgZ2kgPSBnKCkKKyAgICAgICAgZm9yIHggaW4gcmFuZ2UoMyk6CisgICAgICAgICAgICB5ID0gZ2kuc2VuZChOb25lKQorICAgICAgICAgICAgdHJhY2UuYXBwZW5kKCJZaWVsZGVkOiAlcyIgJSAoeSwpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHRyYWNlLFsKKyAgICAgICAgICAgICJZaWVsZGVkOiAwIiwKKyAgICAgICAgICAgICJZaWVsZGVkOiAxIiwKKyAgICAgICAgICAgICJZaWVsZGVkOiAyIiwKKyAgICAgICAgXSkKKworICAgIGRlZiB0ZXN0X2RlbGVnYXRpb25fb2ZfY2xvc2VfdG9fbm9uX2dlbmVyYXRvcihzZWxmKToKKyAgICAgICAgIiIiCisgICAgICAgIFRlc3QgZGVsZWdhdGlvbiBvZiBjbG9zZSgpIHRvIG5vbi1nZW5lcmF0b3IKKyAgICAgICAgIiIiCisgICAgICAgIHRyYWNlID0gW10KKyAgICAgICAgZGVmIGcoKToKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICB0cmFjZS5hcHBlbmQoInN0YXJ0aW5nIGciKQorICAgICAgICAgICAgICAgIHlpZWxkIGZyb20gcmFuZ2UoMykKKyAgICAgICAgICAgICAgICB0cmFjZS5hcHBlbmQoImcgc2hvdWxkIG5vdCBiZSBoZXJlIikKKyAgICAgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICAgICAgdHJhY2UuYXBwZW5kKCJmaW5pc2hpbmcgZyIpCisgICAgICAgIGdpID0gZygpCisgICAgICAgIG5leHQoZ2kpCisgICAgICAgIHdpdGggY2FwdHVyZWRfc3RkZXJyKCkgYXMgb3V0cHV0OgorICAgICAgICAgICAgZ2kuY2xvc2UoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG91dHB1dC5nZXR2YWx1ZSgpLCAnJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh0cmFjZSxbCisgICAgICAgICAgICAic3RhcnRpbmcgZyIsCisgICAgICAgICAgICAiZmluaXNoaW5nIGciLAorICAgICAgICBdKQorCisgICAgZGVmIHRlc3RfZGVsZWdhdGluZ190aHJvd190b19ub25fZ2VuZXJhdG9yKHNlbGYpOgorICAgICAgICAiIiIKKyAgICAgICAgVGVzdCBkZWxlZ2F0aW5nICd0aHJvdycgdG8gbm9uLWdlbmVyYXRvcgorICAgICAgICAiIiIKKyAgICAgICAgdHJhY2UgPSBbXQorICAgICAgICBkZWYgZygpOgorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIHRyYWNlLmFwcGVuZCgiU3RhcnRpbmcgZyIpCisgICAgICAgICAgICAgICAgeWllbGQgZnJvbSByYW5nZSgxMCkKKyAgICAgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICAgICAgdHJhY2UuYXBwZW5kKCJGaW5pc2hpbmcgZyIpCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIGdpID0gZygpCisgICAgICAgICAgICBmb3IgaSBpbiByYW5nZSg1KToKKyAgICAgICAgICAgICAgICB4ID0gbmV4dChnaSkKKyAgICAgICAgICAgICAgICB0cmFjZS5hcHBlbmQoIllpZWxkZWQgJXMiICUgKHgsKSkKKyAgICAgICAgICAgIGUgPSBWYWx1ZUVycm9yKCJ0b21hdG8gZWplY3RlZCIpCisgICAgICAgICAgICBnaS50aHJvdyhlKQorICAgICAgICBleGNlcHQgVmFsdWVFcnJvciBhcyBlOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChlLmFyZ3NbMF0sInRvbWF0byBlamVjdGVkIikKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHNlbGYuZmFpbCgic3ViZ2VuZXJhdG9yIGZhaWxlZCB0byByYWlzZSBWYWx1ZUVycm9yIikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh0cmFjZSxbCisgICAgICAgICAgICAiU3RhcnRpbmcgZyIsCisgICAgICAgICAgICAiWWllbGRlZCAwIiwKKyAgICAgICAgICAgICJZaWVsZGVkIDEiLAorICAgICAgICAgICAgIllpZWxkZWQgMiIsCisgICAgICAgICAgICAiWWllbGRlZCAzIiwKKyAgICAgICAgICAgICJZaWVsZGVkIDQiLAorICAgICAgICAgICAgIkZpbmlzaGluZyBnIiwKKyAgICAgICAgXSkKKworICAgIGRlZiB0ZXN0X2F0dGVtcHRpbmdfdG9fc2VuZF90b19ub25fZ2VuZXJhdG9yKHNlbGYpOgorICAgICAgICAiIiIKKyAgICAgICAgVGVzdCBhdHRlbXB0aW5nIHRvIHNlbmQgdG8gbm9uLWdlbmVyYXRvcgorICAgICAgICAiIiIKKyAgICAgICAgdHJhY2UgPSBbXQorICAgICAgICBkZWYgZygpOgorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIHRyYWNlLmFwcGVuZCgic3RhcnRpbmcgZyIpCisgICAgICAgICAgICAgICAgeWllbGQgZnJvbSByYW5nZSgzKQorICAgICAgICAgICAgICAgIHRyYWNlLmFwcGVuZCgiZyBzaG91bGQgbm90IGJlIGhlcmUiKQorICAgICAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgICAgICB0cmFjZS5hcHBlbmQoImZpbmlzaGluZyBnIikKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgZ2kgPSBnKCkKKyAgICAgICAgICAgIG5leHQoZ2kpCisgICAgICAgICAgICBmb3IgeCBpbiByYW5nZSgzKToKKyAgICAgICAgICAgICAgICB5ID0gZ2kuc2VuZCg0MikKKyAgICAgICAgICAgICAgICB0cmFjZS5hcHBlbmQoIlNob3VsZCBub3QgaGF2ZSB5aWVsZGVkOiIsIHkpCisgICAgICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvciBhcyBlOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRJbigic2VuZCIsIGUuYXJnc1swXSkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHNlbGYuZmFpbCgid2FzIGFibGUgdG8gc2VuZCBpbnRvIG5vbi1nZW5lcmF0b3IiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHRyYWNlLFsKKyAgICAgICAgICAgICJzdGFydGluZyBnIiwKKyAgICAgICAgICAgICJmaW5pc2hpbmcgZyIsCisgICAgICAgIF0pCisKKyAgICBkZWYgdGVzdF9icm9rZW5fZ2V0YXR0cl9oYW5kbGluZyhzZWxmKToKKyAgICAgICAgIiIiCisgICAgICAgIFRlc3Qgc3ViaXRlcmF0b3Igd2l0aCBhIGJyb2tlbiBnZXRhdHRyIGltcGxlbWVudGF0aW9uCisgICAgICAgICIiIgorICAgICAgICBjbGFzcyBCcm9rZW46CisgICAgICAgICAgICBkZWYgX19pdGVyX18oc2VsZik6CisgICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYKKyAgICAgICAgICAgIGRlZiBfX25leHRfXyhzZWxmKToKKyAgICAgICAgICAgICAgICByZXR1cm4gMQorICAgICAgICAgICAgZGVmIF9fZ2V0YXR0cl9fKHNlbGYsIGF0dHIpOgorICAgICAgICAgICAgICAgIDEvMAorCisgICAgICAgIGRlZiBnKCk6CisgICAgICAgICAgICB5aWVsZCBmcm9tIEJyb2tlbigpCisKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhaZXJvRGl2aXNpb25FcnJvcik6CisgICAgICAgICAgICBnaSA9IGcoKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChuZXh0KGdpKSwgMSkKKyAgICAgICAgICAgIGdpLnNlbmQoMSkKKworICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFplcm9EaXZpc2lvbkVycm9yKToKKyAgICAgICAgICAgIGdpID0gZygpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG5leHQoZ2kpLCAxKQorICAgICAgICAgICAgZ2kudGhyb3coQXR0cmlidXRlRXJyb3IpCisKKyAgICAgICAgd2l0aCBjYXB0dXJlZF9zdGRlcnIoKSBhcyBvdXRwdXQ6CisgICAgICAgICAgICBnaSA9IGcoKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChuZXh0KGdpKSwgMSkKKyAgICAgICAgICAgIGdpLmNsb3NlKCkKKyAgICAgICAgc2VsZi5hc3NlcnRJbignWmVyb0RpdmlzaW9uRXJyb3InLCBvdXRwdXQuZ2V0dmFsdWUoKSkKKworICAgIGRlZiB0ZXN0X2V4Y2VwdGlvbl9pbl9pbml0aWFsX25leHRfY2FsbChzZWxmKToKKyAgICAgICAgIiIiCisgICAgICAgIFRlc3QgZXhjZXB0aW9uIGluIGluaXRpYWwgbmV4dCgpIGNhbGwKKyAgICAgICAgIiIiCisgICAgICAgIHRyYWNlID0gW10KKyAgICAgICAgZGVmIGcxKCk6CisgICAgICAgICAgICB0cmFjZS5hcHBlbmQoImcxIGFib3V0IHRvIHlpZWxkIGZyb20gZzIiKQorICAgICAgICAgICAgeWllbGQgZnJvbSBnMigpCisgICAgICAgICAgICB0cmFjZS5hcHBlbmQoImcxIHNob3VsZCBub3QgYmUgaGVyZSIpCisgICAgICAgIGRlZiBnMigpOgorICAgICAgICAgICAgeWllbGQgMS8wCisgICAgICAgIGRlZiBydW4oKToKKyAgICAgICAgICAgIGdpID0gZzEoKQorICAgICAgICAgICAgbmV4dChnaSkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoWmVyb0RpdmlzaW9uRXJyb3IscnVuKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHRyYWNlLFsKKyAgICAgICAgICAgICJnMSBhYm91dCB0byB5aWVsZCBmcm9tIGcyIgorICAgICAgICBdKQorCisgICAgZGVmIHRlc3RfYXR0ZW1wdGVkX3lpZWxkX2Zyb21fbG9vcChzZWxmKToKKyAgICAgICAgIiIiCisgICAgICAgIFRlc3QgYXR0ZW1wdGVkIHlpZWxkLWZyb20gbG9vcAorICAgICAgICAiIiIKKyAgICAgICAgdHJhY2UgPSBbXQorICAgICAgICBkZWYgZzEoKToKKyAgICAgICAgICAgIHRyYWNlLmFwcGVuZCgiZzE6IHN0YXJ0aW5nIikKKyAgICAgICAgICAgIHlpZWxkICJ5MSIKKyAgICAgICAgICAgIHRyYWNlLmFwcGVuZCgiZzE6IGFib3V0IHRvIHlpZWxkIGZyb20gZzIiKQorICAgICAgICAgICAgeWllbGQgZnJvbSBnMigpCisgICAgICAgICAgICB0cmFjZS5hcHBlbmQoImcxIHNob3VsZCBub3QgYmUgaGVyZSIpCisKKyAgICAgICAgZGVmIGcyKCk6CisgICAgICAgICAgICB0cmFjZS5hcHBlbmQoImcyOiBzdGFydGluZyIpCisgICAgICAgICAgICB5aWVsZCAieTIiCisgICAgICAgICAgICB0cmFjZS5hcHBlbmQoImcyOiBhYm91dCB0byB5aWVsZCBmcm9tIGcxIikKKyAgICAgICAgICAgIHlpZWxkIGZyb20gZ2kKKyAgICAgICAgICAgIHRyYWNlLmFwcGVuZCgiZzIgc2hvdWxkIG5vdCBiZSBoZXJlIikKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgZ2kgPSBnMSgpCisgICAgICAgICAgICBmb3IgeSBpbiBnaToKKyAgICAgICAgICAgICAgICB0cmFjZS5hcHBlbmQoIllpZWxkZWQ6ICVzIiAlICh5LCkpCisgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yIGFzIGU6CisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGUuYXJnc1swXSwiZ2VuZXJhdG9yIGFscmVhZHkgZXhlY3V0aW5nIikKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHNlbGYuZmFpbCgic3ViZ2VuZXJhdG9yIGRpZG4ndCByYWlzZSBWYWx1ZUVycm9yIikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh0cmFjZSxbCisgICAgICAgICAgICAiZzE6IHN0YXJ0aW5nIiwKKyAgICAgICAgICAgICJZaWVsZGVkOiB5MSIsCisgICAgICAgICAgICAiZzE6IGFib3V0IHRvIHlpZWxkIGZyb20gZzIiLAorICAgICAgICAgICAgImcyOiBzdGFydGluZyIsCisgICAgICAgICAgICAiWWllbGRlZDogeTIiLAorICAgICAgICAgICAgImcyOiBhYm91dCB0byB5aWVsZCBmcm9tIGcxIiwKKyAgICAgICAgXSkKKworICAgIGRlZiB0ZXN0X3JldHVybmluZ192YWx1ZV9mcm9tX2RlbGVnYXRlZF90aHJvdyhzZWxmKToKKyAgICAgICAgIiIiCisgICAgICAgIFRlc3QgcmV0dXJuaW5nIHZhbHVlIGZyb20gZGVsZWdhdGVkICd0aHJvdycKKyAgICAgICAgIiIiCisgICAgICAgIHRyYWNlID0gW10KKyAgICAgICAgZGVmIGcxKCk6CisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgdHJhY2UuYXBwZW5kKCJTdGFydGluZyBnMSIpCisgICAgICAgICAgICAgICAgeWllbGQgImcxIGhhbSIKKyAgICAgICAgICAgICAgICB5aWVsZCBmcm9tIGcyKCkKKyAgICAgICAgICAgICAgICB5aWVsZCAiZzEgZWdncyIKKyAgICAgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICAgICAgdHJhY2UuYXBwZW5kKCJGaW5pc2hpbmcgZzEiKQorICAgICAgICBkZWYgZzIoKToKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICB0cmFjZS5hcHBlbmQoIlN0YXJ0aW5nIGcyIikKKyAgICAgICAgICAgICAgICB5aWVsZCAiZzIgc3BhbSIKKyAgICAgICAgICAgICAgICB5aWVsZCAiZzIgbW9yZSBzcGFtIgorICAgICAgICAgICAgZXhjZXB0IEx1bmNoRXJyb3I6CisgICAgICAgICAgICAgICAgdHJhY2UuYXBwZW5kKCJDYXVnaHQgTHVuY2hFcnJvciBpbiBnMiIpCisgICAgICAgICAgICAgICAgeWllbGQgImcyIGx1bmNoIHNhdmVkIgorICAgICAgICAgICAgICAgIHlpZWxkICJnMiB5ZXQgbW9yZSBzcGFtIgorICAgICAgICBjbGFzcyBMdW5jaEVycm9yKEV4Y2VwdGlvbik6CisgICAgICAgICAgICBwYXNzCisgICAgICAgIGcgPSBnMSgpCisgICAgICAgIGZvciBpIGluIHJhbmdlKDIpOgorICAgICAgICAgICAgeCA9IG5leHQoZykKKyAgICAgICAgICAgIHRyYWNlLmFwcGVuZCgiWWllbGRlZCAlcyIgJSAoeCwpKQorICAgICAgICBlID0gTHVuY2hFcnJvcigidG9tYXRvIGVqZWN0ZWQiKQorICAgICAgICBnLnRocm93KGUpCisgICAgICAgIGZvciB4IGluIGc6CisgICAgICAgICAgICB0cmFjZS5hcHBlbmQoIllpZWxkZWQgJXMiICUgKHgsKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh0cmFjZSxbCisgICAgICAgICAgICAiU3RhcnRpbmcgZzEiLAorICAgICAgICAgICAgIllpZWxkZWQgZzEgaGFtIiwKKyAgICAgICAgICAgICJTdGFydGluZyBnMiIsCisgICAgICAgICAgICAiWWllbGRlZCBnMiBzcGFtIiwKKyAgICAgICAgICAgICJDYXVnaHQgTHVuY2hFcnJvciBpbiBnMiIsCisgICAgICAgICAgICAiWWllbGRlZCBnMiB5ZXQgbW9yZSBzcGFtIiwKKyAgICAgICAgICAgICJZaWVsZGVkIGcxIGVnZ3MiLAorICAgICAgICAgICAgIkZpbmlzaGluZyBnMSIsCisgICAgICAgIF0pCisKKyAgICBkZWYgdGVzdF9uZXh0X2FuZF9yZXR1cm5fd2l0aF92YWx1ZShzZWxmKToKKyAgICAgICAgIiIiCisgICAgICAgIFRlc3QgbmV4dCBhbmQgcmV0dXJuIHdpdGggdmFsdWUKKyAgICAgICAgIiIiCisgICAgICAgIHRyYWNlID0gW10KKyAgICAgICAgZGVmIGYocik6CisgICAgICAgICAgICBnaSA9IGcocikKKyAgICAgICAgICAgIG5leHQoZ2kpCisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgdHJhY2UuYXBwZW5kKCJmIHJlc3VtaW5nIGciKQorICAgICAgICAgICAgICAgIG5leHQoZ2kpCisgICAgICAgICAgICAgICAgdHJhY2UuYXBwZW5kKCJmIFNIT1VMRCBOT1QgQkUgSEVSRSIpCisgICAgICAgICAgICBleGNlcHQgU3RvcEl0ZXJhdGlvbiBhcyBlOgorICAgICAgICAgICAgICAgIHRyYWNlLmFwcGVuZCgiZiBjYXVnaHQgJXMiICUgKHJlcHIoZSksKSkKKyAgICAgICAgZGVmIGcocik6CisgICAgICAgICAgICB0cmFjZS5hcHBlbmQoImcgc3RhcnRpbmciKQorICAgICAgICAgICAgeWllbGQKKyAgICAgICAgICAgIHRyYWNlLmFwcGVuZCgiZyByZXR1cm5pbmcgJXMiICUgKHIsKSkKKyAgICAgICAgICAgIHJldHVybiByCisgICAgICAgIGYoTm9uZSkKKyAgICAgICAgZig0MikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh0cmFjZSxbCisgICAgICAgICAgICAiZyBzdGFydGluZyIsCisgICAgICAgICAgICAiZiByZXN1bWluZyBnIiwKKyAgICAgICAgICAgICJnIHJldHVybmluZyBOb25lIiwKKyAgICAgICAgICAgICJmIGNhdWdodCBTdG9wSXRlcmF0aW9uKCkiLAorICAgICAgICAgICAgImcgc3RhcnRpbmciLAorICAgICAgICAgICAgImYgcmVzdW1pbmcgZyIsCisgICAgICAgICAgICAiZyByZXR1cm5pbmcgNDIiLAorICAgICAgICAgICAgImYgY2F1Z2h0IFN0b3BJdGVyYXRpb24oNDIsKSIsCisgICAgICAgIF0pCisKKyAgICBkZWYgdGVzdF9zZW5kX2FuZF9yZXR1cm5fd2l0aF92YWx1ZShzZWxmKToKKyAgICAgICAgIiIiCisgICAgICAgIFRlc3Qgc2VuZCBhbmQgcmV0dXJuIHdpdGggdmFsdWUKKyAgICAgICAgIiIiCisgICAgICAgIHRyYWNlID0gW10KKyAgICAgICAgZGVmIGYocik6CisgICAgICAgICAgICBnaSA9IGcocikKKyAgICAgICAgICAgIG5leHQoZ2kpCisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgdHJhY2UuYXBwZW5kKCJmIHNlbmRpbmcgc3BhbSB0byBnIikKKyAgICAgICAgICAgICAgICBnaS5zZW5kKCJzcGFtIikKKyAgICAgICAgICAgICAgICB0cmFjZS5hcHBlbmQoImYgU0hPVUxEIE5PVCBCRSBIRVJFIikKKyAgICAgICAgICAgIGV4Y2VwdCBTdG9wSXRlcmF0aW9uIGFzIGU6CisgICAgICAgICAgICAgICAgdHJhY2UuYXBwZW5kKCJmIGNhdWdodCAlciIgJSAoZSwpKQorICAgICAgICBkZWYgZyhyKToKKyAgICAgICAgICAgIHRyYWNlLmFwcGVuZCgiZyBzdGFydGluZyIpCisgICAgICAgICAgICB4ID0geWllbGQKKyAgICAgICAgICAgIHRyYWNlLmFwcGVuZCgiZyByZWNlaXZlZCAlcyIgJSAoeCwpKQorICAgICAgICAgICAgdHJhY2UuYXBwZW5kKCJnIHJldHVybmluZyAlcyIgJSAociwpKQorICAgICAgICAgICAgcmV0dXJuIHIKKyAgICAgICAgZihOb25lKQorICAgICAgICBmKDQyKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHRyYWNlLFsKKyAgICAgICAgICAgICJnIHN0YXJ0aW5nIiwKKyAgICAgICAgICAgICJmIHNlbmRpbmcgc3BhbSB0byBnIiwKKyAgICAgICAgICAgICJnIHJlY2VpdmVkIHNwYW0iLAorICAgICAgICAgICAgImcgcmV0dXJuaW5nIE5vbmUiLAorICAgICAgICAgICAgImYgY2F1Z2h0IFN0b3BJdGVyYXRpb24oKSIsCisgICAgICAgICAgICAiZyBzdGFydGluZyIsCisgICAgICAgICAgICAiZiBzZW5kaW5nIHNwYW0gdG8gZyIsCisgICAgICAgICAgICAiZyByZWNlaXZlZCBzcGFtIiwKKyAgICAgICAgICAgICJnIHJldHVybmluZyA0MiIsCisgICAgICAgICAgICAiZiBjYXVnaHQgU3RvcEl0ZXJhdGlvbig0MiwpIiwKKyAgICAgICAgXSkKKworICAgIGRlZiB0ZXN0X2NhdGNoaW5nX2V4Y2VwdGlvbl9mcm9tX3N1Ymdlbl9hbmRfcmV0dXJuaW5nKHNlbGYpOgorICAgICAgICAiIiIKKyAgICAgICAgVGVzdCBjYXRjaGluZyBhbiBleGNlcHRpb24gdGhyb3duIGludG8gYQorICAgICAgICBzdWJnZW5lcmF0b3IgYW5kIHJldHVybmluZyBhIHZhbHVlCisgICAgICAgICIiIgorICAgICAgICB0cmFjZSA9IFtdCisgICAgICAgIGRlZiBpbm5lcigpOgorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIHlpZWxkIDEKKyAgICAgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yOgorICAgICAgICAgICAgICAgIHRyYWNlLmFwcGVuZCgiaW5uZXIgY2F1Z2h0IFZhbHVlRXJyb3IiKQorICAgICAgICAgICAgcmV0dXJuIDIKKworICAgICAgICBkZWYgb3V0ZXIoKToKKyAgICAgICAgICAgIHYgPSB5aWVsZCBmcm9tIGlubmVyKCkKKyAgICAgICAgICAgIHRyYWNlLmFwcGVuZCgiaW5uZXIgcmV0dXJuZWQgJXIgdG8gb3V0ZXIiICUgdikKKyAgICAgICAgICAgIHlpZWxkIHYKKyAgICAgICAgZyA9IG91dGVyKCkKKyAgICAgICAgdHJhY2UuYXBwZW5kKG5leHQoZykpCisgICAgICAgIHRyYWNlLmFwcGVuZChnLnRocm93KFZhbHVlRXJyb3IpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHRyYWNlLFsKKyAgICAgICAgICAgIDEsCisgICAgICAgICAgICAiaW5uZXIgY2F1Z2h0IFZhbHVlRXJyb3IiLAorICAgICAgICAgICAgImlubmVyIHJldHVybmVkIDIgdG8gb3V0ZXIiLAorICAgICAgICAgICAgMiwKKyAgICAgICAgXSkKKworICAgIGRlZiB0ZXN0X3Rocm93aW5nX0dlbmVyYXRvckV4aXRfaW50b19zdWJnZW5fdGhhdF9yZXR1cm5zKHNlbGYpOgorICAgICAgICAiIiIKKyAgICAgICAgVGVzdCB0aHJvd2luZyBHZW5lcmF0b3JFeGl0IGludG8gYSBzdWJnZW5lcmF0b3IgdGhhdAorICAgICAgICBjYXRjaGVzIGl0IGFuZCByZXR1cm5zIG5vcm1hbGx5LgorICAgICAgICAiIiIKKyAgICAgICAgdHJhY2UgPSBbXQorICAgICAgICBkZWYgZigpOgorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIHRyYWNlLmFwcGVuZCgiRW50ZXIgZiIpCisgICAgICAgICAgICAgICAgeWllbGQKKyAgICAgICAgICAgICAgICB0cmFjZS5hcHBlbmQoIkV4aXQgZiIpCisgICAgICAgICAgICBleGNlcHQgR2VuZXJhdG9yRXhpdDoKKyAgICAgICAgICAgICAgICByZXR1cm4KKyAgICAgICAgZGVmIGcoKToKKyAgICAgICAgICAgIHRyYWNlLmFwcGVuZCgiRW50ZXIgZyIpCisgICAgICAgICAgICB5aWVsZCBmcm9tIGYoKQorICAgICAgICAgICAgdHJhY2UuYXBwZW5kKCJFeGl0IGciKQorICAgICAgICB0cnk6CisgICAgICAgICAgICBnaSA9IGcoKQorICAgICAgICAgICAgbmV4dChnaSkKKyAgICAgICAgICAgIGdpLnRocm93KEdlbmVyYXRvckV4aXQpCisgICAgICAgIGV4Y2VwdCBHZW5lcmF0b3JFeGl0OgorICAgICAgICAgICAgcGFzcworICAgICAgICBlbHNlOgorICAgICAgICAgICAgc2VsZi5mYWlsKCJzdWJnZW5lcmF0b3IgZmFpbGVkIHRvIHJhaXNlIEdlbmVyYXRvckV4aXQiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHRyYWNlLFsKKyAgICAgICAgICAgICJFbnRlciBnIiwKKyAgICAgICAgICAgICJFbnRlciBmIiwKKyAgICAgICAgXSkKKworICAgIGRlZiB0ZXN0X3Rocm93aW5nX0dlbmVyYXRvckV4aXRfaW50b19zdWJnZW5lcmF0b3JfdGhhdF95aWVsZHMoc2VsZik6CisgICAgICAgICIiIgorICAgICAgICBUZXN0IHRocm93aW5nIEdlbmVyYXRvckV4aXQgaW50byBhIHN1YmdlbmVyYXRvciB0aGF0CisgICAgICAgIGNhdGNoZXMgaXQgYW5kIHlpZWxkcy4KKyAgICAgICAgIiIiCisgICAgICAgIHRyYWNlID0gW10KKyAgICAgICAgZGVmIGYoKToKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICB0cmFjZS5hcHBlbmQoIkVudGVyIGYiKQorICAgICAgICAgICAgICAgIHlpZWxkCisgICAgICAgICAgICAgICAgdHJhY2UuYXBwZW5kKCJFeGl0IGYiKQorICAgICAgICAgICAgZXhjZXB0IEdlbmVyYXRvckV4aXQ6CisgICAgICAgICAgICAgICAgeWllbGQKKyAgICAgICAgZGVmIGcoKToKKyAgICAgICAgICAgIHRyYWNlLmFwcGVuZCgiRW50ZXIgZyIpCisgICAgICAgICAgICB5aWVsZCBmcm9tIGYoKQorICAgICAgICAgICAgdHJhY2UuYXBwZW5kKCJFeGl0IGciKQorICAgICAgICB0cnk6CisgICAgICAgICAgICBnaSA9IGcoKQorICAgICAgICAgICAgbmV4dChnaSkKKyAgICAgICAgICAgIGdpLnRocm93KEdlbmVyYXRvckV4aXQpCisgICAgICAgIGV4Y2VwdCBSdW50aW1lRXJyb3IgYXMgZToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZS5hcmdzWzBdLCAiZ2VuZXJhdG9yIGlnbm9yZWQgR2VuZXJhdG9yRXhpdCIpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzZWxmLmZhaWwoInN1YmdlbmVyYXRvciBmYWlsZWQgdG8gcmFpc2UgR2VuZXJhdG9yRXhpdCIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodHJhY2UsWworICAgICAgICAgICAgIkVudGVyIGciLAorICAgICAgICAgICAgIkVudGVyIGYiLAorICAgICAgICBdKQorCisgICAgZGVmIHRlc3RfdGhyb3dpbmdfR2VuZXJhdG9yRXhpdF9pbnRvX3N1Ymdlbl90aGF0X3JhaXNlcyhzZWxmKToKKyAgICAgICAgIiIiCisgICAgICAgIFRlc3QgdGhyb3dpbmcgR2VuZXJhdG9yRXhpdCBpbnRvIGEgc3ViZ2VuZXJhdG9yIHRoYXQKKyAgICAgICAgY2F0Y2hlcyBpdCBhbmQgcmFpc2VzIGEgZGlmZmVyZW50IGV4Y2VwdGlvbi4KKyAgICAgICAgIiIiCisgICAgICAgIHRyYWNlID0gW10KKyAgICAgICAgZGVmIGYoKToKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICB0cmFjZS5hcHBlbmQoIkVudGVyIGYiKQorICAgICAgICAgICAgICAgIHlpZWxkCisgICAgICAgICAgICAgICAgdHJhY2UuYXBwZW5kKCJFeGl0IGYiKQorICAgICAgICAgICAgZXhjZXB0IEdlbmVyYXRvckV4aXQ6CisgICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiVm9ycGFsIGJ1bm55IGVuY291bnRlcmVkIikKKyAgICAgICAgZGVmIGcoKToKKyAgICAgICAgICAgIHRyYWNlLmFwcGVuZCgiRW50ZXIgZyIpCisgICAgICAgICAgICB5aWVsZCBmcm9tIGYoKQorICAgICAgICAgICAgdHJhY2UuYXBwZW5kKCJFeGl0IGciKQorICAgICAgICB0cnk6CisgICAgICAgICAgICBnaSA9IGcoKQorICAgICAgICAgICAgbmV4dChnaSkKKyAgICAgICAgICAgIGdpLnRocm93KEdlbmVyYXRvckV4aXQpCisgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yIGFzIGU6CisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGUuYXJnc1swXSwgIlZvcnBhbCBidW5ueSBlbmNvdW50ZXJlZCIpCisgICAgICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2UoZS5fX2NvbnRleHRfXywgR2VuZXJhdG9yRXhpdCkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHNlbGYuZmFpbCgic3ViZ2VuZXJhdG9yIGZhaWxlZCB0byByYWlzZSBWYWx1ZUVycm9yIikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh0cmFjZSxbCisgICAgICAgICAgICAiRW50ZXIgZyIsCisgICAgICAgICAgICAiRW50ZXIgZiIsCisgICAgICAgIF0pCisKKyAgICBkZWYgdGVzdF95aWVsZF9mcm9tX2VtcHR5KHNlbGYpOgorICAgICAgICBkZWYgZygpOgorICAgICAgICAgICAgeWllbGQgZnJvbSAoKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhTdG9wSXRlcmF0aW9uLCBuZXh0LCBnKCkpCisKKyAgICBkZWYgdGVzdF9kZWxlZ2F0aW5nX2dlbmVyYXRvcnNfY2xhaW1fdG9fYmVfcnVubmluZyhzZWxmKToKKyAgICAgICAgIyBDaGVjayB3aXRoIGJhc2ljIGl0ZXJhdGlvbgorICAgICAgICBkZWYgb25lKCk6CisgICAgICAgICAgICB5aWVsZCAwCisgICAgICAgICAgICB5aWVsZCBmcm9tIHR3bygpCisgICAgICAgICAgICB5aWVsZCAzCisgICAgICAgIGRlZiB0d28oKToKKyAgICAgICAgICAgIHlpZWxkIDEKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICB5aWVsZCBmcm9tIGcxCisgICAgICAgICAgICBleGNlcHQgVmFsdWVFcnJvcjoKKyAgICAgICAgICAgICAgICBwYXNzCisgICAgICAgICAgICB5aWVsZCAyCisgICAgICAgIGcxID0gb25lKCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsaXN0KGcxKSwgWzAsIDEsIDIsIDNdKQorICAgICAgICAjIENoZWNrIHdpdGggc2VuZAorICAgICAgICBnMSA9IG9uZSgpCisgICAgICAgIHJlcyA9IFtuZXh0KGcxKV0KKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgd2hpbGUgVHJ1ZToKKyAgICAgICAgICAgICAgICByZXMuYXBwZW5kKGcxLnNlbmQoNDIpKQorICAgICAgICBleGNlcHQgU3RvcEl0ZXJhdGlvbjoKKyAgICAgICAgICAgIHBhc3MKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXMsIFswLCAxLCAyLCAzXSkKKyAgICAgICAgIyBDaGVjayB3aXRoIHRocm93CisgICAgICAgIGNsYXNzIE15RXJyKEV4Y2VwdGlvbik6CisgICAgICAgICAgICBwYXNzCisgICAgICAgIGRlZiBvbmUoKToKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICB5aWVsZCAwCisgICAgICAgICAgICBleGNlcHQgTXlFcnI6CisgICAgICAgICAgICAgICAgcGFzcworICAgICAgICAgICAgeWllbGQgZnJvbSB0d28oKQorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIHlpZWxkIDMKKyAgICAgICAgICAgIGV4Y2VwdCBNeUVycjoKKyAgICAgICAgICAgICAgICBwYXNzCisgICAgICAgIGRlZiB0d28oKToKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICB5aWVsZCAxCisgICAgICAgICAgICBleGNlcHQgTXlFcnI6CisgICAgICAgICAgICAgICAgcGFzcworICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIHlpZWxkIGZyb20gZzEKKyAgICAgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yOgorICAgICAgICAgICAgICAgIHBhc3MKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICB5aWVsZCAyCisgICAgICAgICAgICBleGNlcHQgTXlFcnI6CisgICAgICAgICAgICAgICAgcGFzcworICAgICAgICBnMSA9IG9uZSgpCisgICAgICAgIHJlcyA9IFtuZXh0KGcxKV0KKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgd2hpbGUgVHJ1ZToKKyAgICAgICAgICAgICAgICByZXMuYXBwZW5kKGcxLnRocm93KE15RXJyKSkKKyAgICAgICAgZXhjZXB0IFN0b3BJdGVyYXRpb246CisgICAgICAgICAgICBwYXNzCisgICAgICAgICMgQ2hlY2sgd2l0aCBjbG9zZQorICAgICAgICBjbGFzcyBNeUl0KG9iamVjdCk6CisgICAgICAgICAgICBkZWYgX19pdGVyX18oc2VsZik6CisgICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYKKyAgICAgICAgICAgIGRlZiBfX25leHRfXyhzZWxmKToKKyAgICAgICAgICAgICAgICByZXR1cm4gNDIKKyAgICAgICAgICAgIGRlZiBjbG9zZShzZWxmXyk6CisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGcxLmdpX3J1bm5pbmcpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgbmV4dCwgZzEpCisgICAgICAgIGRlZiBvbmUoKToKKyAgICAgICAgICAgIHlpZWxkIGZyb20gTXlJdCgpCisgICAgICAgIGcxID0gb25lKCkKKyAgICAgICAgbmV4dChnMSkKKyAgICAgICAgZzEuY2xvc2UoKQorCisgICAgZGVmIHRlc3RfZGVsZWdhdG9yX2lzX3Zpc2libGVfdG9fZGVidWdnZXIoc2VsZik6CisgICAgICAgIGRlZiBjYWxsX3N0YWNrKCk6CisgICAgICAgICAgICByZXR1cm4gW2ZbM10gZm9yIGYgaW4gaW5zcGVjdC5zdGFjaygpXQorCisgICAgICAgIGRlZiBnZW4oKToKKyAgICAgICAgICAgIHlpZWxkIGNhbGxfc3RhY2soKQorICAgICAgICAgICAgeWllbGQgY2FsbF9zdGFjaygpCisgICAgICAgICAgICB5aWVsZCBjYWxsX3N0YWNrKCkKKworICAgICAgICBkZWYgc3BhbShnKToKKyAgICAgICAgICAgIHlpZWxkIGZyb20gZworCisgICAgICAgIGRlZiBlZ2dzKGcpOgorICAgICAgICAgICAgeWllbGQgZnJvbSBnCisKKyAgICAgICAgZm9yIHN0YWNrIGluIHNwYW0oZ2VuKCkpOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKCdzcGFtJyBpbiBzdGFjaykKKworICAgICAgICBmb3Igc3RhY2sgaW4gc3BhbShlZ2dzKGdlbigpKSk6CisgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoJ3NwYW0nIGluIHN0YWNrIGFuZCAnZWdncycgaW4gc3RhY2spCisKKworZGVmIHRlc3RfbWFpbigpOgorICAgIGZyb20gdGVzdCBpbXBvcnQgc3VwcG9ydAorICAgIHRlc3RfY2xhc3NlcyA9IFtUZXN0UEVQMzgwT3BlcmF0aW9uXQorICAgIHN1cHBvcnQucnVuX3VuaXR0ZXN0KCp0ZXN0X2NsYXNzZXMpCisKKworaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKKyAgICB0ZXN0X21haW4oKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9waWNrbGUucHkgYi9MaWIvdGVzdC90ZXN0X3BpY2tsZS5weQppbmRleCA5ZGEyY2FlLi5mNTJkNGJkIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3BpY2tsZS5weQorKysgYi9MaWIvdGVzdC90ZXN0X3BpY2tsZS5weQpAQCAtMSw1ICsxLDYgQEAKIGltcG9ydCBwaWNrbGUKIGltcG9ydCBpbworaW1wb3J0IGNvbGxlY3Rpb25zCiAKIGZyb20gdGVzdCBpbXBvcnQgc3VwcG9ydAogCkBAIC03LDYgKzgsNyBAQAogZnJvbSB0ZXN0LnBpY2tsZXRlc3RlciBpbXBvcnQgQWJzdHJhY3RQaWNrbGVNb2R1bGVUZXN0cwogZnJvbSB0ZXN0LnBpY2tsZXRlc3RlciBpbXBvcnQgQWJzdHJhY3RQZXJzaXN0ZW50UGlja2xlclRlc3RzCiBmcm9tIHRlc3QucGlja2xldGVzdGVyIGltcG9ydCBBYnN0cmFjdFBpY2tsZXJVbnBpY2tsZXJPYmplY3RUZXN0cworZnJvbSB0ZXN0LnBpY2tsZXRlc3RlciBpbXBvcnQgQWJzdHJhY3REaXNwYXRjaFRhYmxlVGVzdHMKIGZyb20gdGVzdC5waWNrbGV0ZXN0ZXIgaW1wb3J0IEJpZ21lbVBpY2tsZVRlc3RzCiAKIHRyeToKQEAgLTgwLDYgKzgyLDE4IEBACiAgICAgdW5waWNrbGVyX2NsYXNzID0gcGlja2xlLl9VbnBpY2tsZXIKIAogCitjbGFzcyBQeURpc3BhdGNoVGFibGVUZXN0cyhBYnN0cmFjdERpc3BhdGNoVGFibGVUZXN0cyk6CisgICAgcGlja2xlcl9jbGFzcyA9IHBpY2tsZS5fUGlja2xlcgorICAgIGRlZiBnZXRfZGlzcGF0Y2hfdGFibGUoc2VsZik6CisgICAgICAgIHJldHVybiBwaWNrbGUuZGlzcGF0Y2hfdGFibGUuY29weSgpCisKKworY2xhc3MgUHlDaGFpbkRpc3BhdGNoVGFibGVUZXN0cyhBYnN0cmFjdERpc3BhdGNoVGFibGVUZXN0cyk6CisgICAgcGlja2xlcl9jbGFzcyA9IHBpY2tsZS5fUGlja2xlcgorICAgIGRlZiBnZXRfZGlzcGF0Y2hfdGFibGUoc2VsZik6CisgICAgICAgIHJldHVybiBjb2xsZWN0aW9ucy5DaGFpbk1hcCh7fSwgcGlja2xlLmRpc3BhdGNoX3RhYmxlKQorCisKIGlmIGhhc19jX2ltcGxlbWVudGF0aW9uOgogICAgIGNsYXNzIENQaWNrbGVyVGVzdHMoUHlQaWNrbGVyVGVzdHMpOgogICAgICAgICBwaWNrbGVyID0gX3BpY2tsZS5QaWNrbGVyCkBAIC0xMDEsMTQgKzExNSwyNiBAQAogICAgICAgICBwaWNrbGVyX2NsYXNzID0gX3BpY2tsZS5QaWNrbGVyCiAgICAgICAgIHVucGlja2xlcl9jbGFzcyA9IF9waWNrbGUuVW5waWNrbGVyCiAKKyAgICBjbGFzcyBDRGlzcGF0Y2hUYWJsZVRlc3RzKEFic3RyYWN0RGlzcGF0Y2hUYWJsZVRlc3RzKToKKyAgICAgICAgcGlja2xlcl9jbGFzcyA9IHBpY2tsZS5QaWNrbGVyCisgICAgICAgIGRlZiBnZXRfZGlzcGF0Y2hfdGFibGUoc2VsZik6CisgICAgICAgICAgICByZXR1cm4gcGlja2xlLmRpc3BhdGNoX3RhYmxlLmNvcHkoKQorCisgICAgY2xhc3MgQ0NoYWluRGlzcGF0Y2hUYWJsZVRlc3RzKEFic3RyYWN0RGlzcGF0Y2hUYWJsZVRlc3RzKToKKyAgICAgICAgcGlja2xlcl9jbGFzcyA9IHBpY2tsZS5QaWNrbGVyCisgICAgICAgIGRlZiBnZXRfZGlzcGF0Y2hfdGFibGUoc2VsZik6CisgICAgICAgICAgICByZXR1cm4gY29sbGVjdGlvbnMuQ2hhaW5NYXAoe30sIHBpY2tsZS5kaXNwYXRjaF90YWJsZSkKKwogCiBkZWYgdGVzdF9tYWluKCk6Ci0gICAgdGVzdHMgPSBbUGlja2xlVGVzdHMsIFB5UGlja2xlclRlc3RzLCBQeVBlcnNQaWNrbGVyVGVzdHNdCisgICAgdGVzdHMgPSBbUGlja2xlVGVzdHMsIFB5UGlja2xlclRlc3RzLCBQeVBlcnNQaWNrbGVyVGVzdHMsCisgICAgICAgICAgICAgUHlEaXNwYXRjaFRhYmxlVGVzdHMsIFB5Q2hhaW5EaXNwYXRjaFRhYmxlVGVzdHNdCiAgICAgaWYgaGFzX2NfaW1wbGVtZW50YXRpb246CiAgICAgICAgIHRlc3RzLmV4dGVuZChbQ1BpY2tsZXJUZXN0cywgQ1BlcnNQaWNrbGVyVGVzdHMsCiAgICAgICAgICAgICAgICAgICAgICAgQ0R1bXBQaWNrbGVfTG9hZFBpY2tsZSwgRHVtcFBpY2tsZV9DTG9hZFBpY2tsZSwKICAgICAgICAgICAgICAgICAgICAgICBQeVBpY2tsZXJVbnBpY2tsZXJPYmplY3RUZXN0cywKICAgICAgICAgICAgICAgICAgICAgICBDUGlja2xlclVucGlja2xlck9iamVjdFRlc3RzLAorICAgICAgICAgICAgICAgICAgICAgIENEaXNwYXRjaFRhYmxlVGVzdHMsIENDaGFpbkRpc3BhdGNoVGFibGVUZXN0cywKICAgICAgICAgICAgICAgICAgICAgICBJbk1lbW9yeVBpY2tsZVRlc3RzXSkKICAgICBzdXBwb3J0LnJ1bl91bml0dGVzdCgqdGVzdHMpCiAgICAgc3VwcG9ydC5ydW5fZG9jdGVzdChwaWNrbGUpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3BpcGVzLnB5IGIvTGliL3Rlc3QvdGVzdF9waXBlcy5weQppbmRleCBkNWI4ODZmLi42YTdiNDVmIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3BpcGVzLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfcGlwZXMucHkKQEAgLTc5LDIxICs3OSw2IEBACiAgICAgICAgIHdpdGggb3BlbihURVNURk4pIGFzIGY6CiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGYucmVhZCgpLCBkKQogCi0gICAgZGVmIHRlc3RRdW90aW5nKHNlbGYpOgotICAgICAgICBzYWZldW5xdW90ZWQgPSBzdHJpbmcuYXNjaWlfbGV0dGVycyArIHN0cmluZy5kaWdpdHMgKyAnQCVfLSs9OiwuLycKLSAgICAgICAgdW5pY29kZV9zYW1wbGUgPSAnXHhlOVx4ZTBceGRmJyAgIyBlICsgYWN1dGUgYWNjZW50LCBhICsgZ3JhdmUsIHNoYXJwIHMKLSAgICAgICAgdW5zYWZlID0gJyJgJFxcIScgKyB1bmljb2RlX3NhbXBsZQotCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocGlwZXMucXVvdGUoJycpLCAiJyciKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBpcGVzLnF1b3RlKHNhZmV1bnF1b3RlZCksIHNhZmV1bnF1b3RlZCkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwaXBlcy5xdW90ZSgndGVzdCBmaWxlIG5hbWUnKSwgIid0ZXN0IGZpbGUgbmFtZSciKQotICAgICAgICBmb3IgdSBpbiB1bnNhZmU6Ci0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBpcGVzLnF1b3RlKCd0ZXN0JXNuYW1lJyAlIHUpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIid0ZXN0JXNuYW1lJyIgJSB1KQotICAgICAgICBmb3IgdSBpbiB1bnNhZmU6Ci0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBpcGVzLnF1b3RlKCJ0ZXN0JXMnbmFtZSciICUgdSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICIndGVzdCVzJ1wiJ1wiJ25hbWUnXCInXCInJyIgJSB1KQotCiAgICAgZGVmIHRlc3RSZXByKHNlbGYpOgogICAgICAgICB0ID0gcGlwZXMuVGVtcGxhdGUoKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlcHIodCksICI8VGVtcGxhdGUgaW5zdGFuY2UsIHN0ZXBzPVtdPiIpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3BrZ2ltcG9ydC5weSBiL0xpYi90ZXN0L3Rlc3RfcGtnaW1wb3J0LnB5CmluZGV4IGMzN2U5MzYuLmE4NDI2YjUgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfcGtnaW1wb3J0LnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfcGtnaW1wb3J0LnB5CkBAIC03LDcgKzcsNyBAQAogaW1wb3J0IHVuaXR0ZXN0CiAKIGZyb20gaW1wIGltcG9ydCBjYWNoZV9mcm9tX3NvdXJjZQotZnJvbSB0ZXN0LnN1cHBvcnQgaW1wb3J0IHJ1bl91bml0dGVzdAorZnJvbSB0ZXN0LnN1cHBvcnQgaW1wb3J0IHJ1bl91bml0dGVzdCwgY3JlYXRlX2VtcHR5X2ZpbGUKIAogY2xhc3MgVGVzdEltcG9ydCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAKQEAgLTI5LDcgKzI5LDcgQEAKICAgICAgICAgc2VsZi5wYWNrYWdlX2RpciA9IG9zLnBhdGguam9pbihzZWxmLnRlc3RfZGlyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYucGFja2FnZV9uYW1lKQogICAgICAgICBvcy5ta2RpcihzZWxmLnBhY2thZ2VfZGlyKQotICAgICAgICBvcGVuKG9zLnBhdGguam9pbihzZWxmLnBhY2thZ2VfZGlyLCAnX19pbml0X18ucHknKSwgJ3cnKS5jbG9zZSgpCisgICAgICAgIGNyZWF0ZV9lbXB0eV9maWxlKG9zLnBhdGguam9pbihzZWxmLnBhY2thZ2VfZGlyLCAnX19pbml0X18ucHknKSkKICAgICAgICAgc2VsZi5tb2R1bGVfcGF0aCA9IG9zLnBhdGguam9pbihzZWxmLnBhY2thZ2VfZGlyLCAnZm9vLnB5JykKIAogICAgIGRlZiB0ZWFyRG93bihzZWxmKToKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfcGxhdGZvcm0ucHkgYi9MaWIvdGVzdC90ZXN0X3BsYXRmb3JtLnB5CmluZGV4IDg3NTFhYTguLmNmZTYyM2EgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfcGxhdGZvcm0ucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9wbGF0Zm9ybS5weQpAQCAtMSw4ICsxLDkgQEAKLWltcG9ydCBzeXMKIGltcG9ydCBvcwotaW1wb3J0IHVuaXR0ZXN0CiBpbXBvcnQgcGxhdGZvcm0KIGltcG9ydCBzdWJwcm9jZXNzCitpbXBvcnQgc3lzCitpbXBvcnQgdW5pdHRlc3QKK2ltcG9ydCB3YXJuaW5ncwogCiBmcm9tIHRlc3QgaW1wb3J0IHN1cHBvcnQKIApAQCAtNTYsMTMgKzU3LDExIEBACiAKICAgICBkZWYgc2V0VXAoc2VsZik6CiAgICAgICAgIHNlbGYuc2F2ZV92ZXJzaW9uID0gc3lzLnZlcnNpb24KLSAgICAgICAgc2VsZi5zYXZlX3N1YnZlcnNpb24gPSBzeXMuc3VidmVyc2lvbgogICAgICAgICBzZWxmLnNhdmVfbWVyY3VyaWFsID0gc3lzLl9tZXJjdXJpYWwKICAgICAgICAgc2VsZi5zYXZlX3BsYXRmb3JtID0gc3lzLnBsYXRmb3JtCiAKICAgICBkZWYgdGVhckRvd24oc2VsZik6CiAgICAgICAgIHN5cy52ZXJzaW9uID0gc2VsZi5zYXZlX3ZlcnNpb24KLSAgICAgICAgc3lzLnN1YnZlcnNpb24gPSBzZWxmLnNhdmVfc3VidmVyc2lvbgogICAgICAgICBzeXMuX21lcmN1cmlhbCA9IHNlbGYuc2F2ZV9tZXJjdXJpYWwKICAgICAgICAgc3lzLnBsYXRmb3JtID0gc2VsZi5zYXZlX3BsYXRmb3JtCiAKQEAgLTc3LDcgKzc2LDcgQEAKICAgICAgICAgICAgICAoJ0lyb25QeXRob24nLCAnMS4wLjAnLCAnJywgJycsICcnLCAnJywgJy5ORVQgMi4wLjUwNzI3LjQyJykpLAogICAgICAgICAgICAgKToKICAgICAgICAgICAgICMgYnJhbmNoIGFuZCByZXZpc2lvbiBhcmUgbm90ICJwYXJzZWQiLCBidXQgZmV0Y2hlZAotICAgICAgICAgICAgIyBmcm9tIHN5cy5zdWJ2ZXJzaW9uLiAgSWdub3JlIHRoZW0KKyAgICAgICAgICAgICMgZnJvbSBzeXMuX21lcmN1cmlhbC4gIElnbm9yZSB0aGVtCiAgICAgICAgICAgICAobmFtZSwgdmVyc2lvbiwgYnJhbmNoLCByZXZpc2lvbiwgYnVpbGRubywgYnVpbGRkYXRlLCBjb21waWxlcikgXAogICAgICAgICAgICAgICAgICAgID0gcGxhdGZvcm0uX3N5c192ZXJzaW9uKGlucHV0KQogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKQEAgLTExMyw4ICsxMTIsNiBAQAogICAgICAgICAgICAgaWYgc3VidmVyc2lvbiBpcyBOb25lOgogICAgICAgICAgICAgICAgIGlmIGhhc2F0dHIoc3lzLCAiX21lcmN1cmlhbCIpOgogICAgICAgICAgICAgICAgICAgICBkZWwgc3lzLl9tZXJjdXJpYWwKLSAgICAgICAgICAgICAgICBpZiBoYXNhdHRyKHN5cywgInN1YnZlcnNpb24iKToKLSAgICAgICAgICAgICAgICAgICAgZGVsIHN5cy5zdWJ2ZXJzaW9uCiAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgIHN5cy5fbWVyY3VyaWFsID0gc3VidmVyc2lvbgogICAgICAgICAgICAgaWYgc3lzX3BsYXRmb3JtIGlzIG5vdCBOb25lOgpAQCAtMjQ3LDYgKzI0NCwzOCBAQAogICAgICAgICAgICAgKToKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocGxhdGZvcm0uX3BhcnNlX3JlbGVhc2VfZmlsZShpbnB1dCksIG91dHB1dCkKIAorICAgIGRlZiB0ZXN0X3BvcGVuKHNlbGYpOgorICAgICAgICBtc3dpbmRvd3MgPSAoc3lzLnBsYXRmb3JtID09ICJ3aW4zMiIpCisKKyAgICAgICAgaWYgbXN3aW5kb3dzOgorICAgICAgICAgICAgY29tbWFuZCA9ICcie30iIC1jICJwcmludChcJ0hlbGxvXCcpIicuZm9ybWF0KHN5cy5leGVjdXRhYmxlKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgY29tbWFuZCA9ICIne30nIC1jICdwcmludChcIkhlbGxvXCIpJyIuZm9ybWF0KHN5cy5leGVjdXRhYmxlKQorICAgICAgICB3aXRoIHdhcm5pbmdzLmNhdGNoX3dhcm5pbmdzKCk6CisgICAgICAgICAgICB3YXJuaW5ncy5zaW1wbGVmaWx0ZXIoImlnbm9yZSIsIERlcHJlY2F0aW9uV2FybmluZykKKyAgICAgICAgICAgIHdpdGggcGxhdGZvcm0ucG9wZW4oY29tbWFuZCkgYXMgc3Rkb3V0OgorICAgICAgICAgICAgICAgIGhlbGxvID0gc3Rkb3V0LnJlYWQoKS5zdHJpcCgpCisgICAgICAgICAgICAgICAgc3Rkb3V0LmNsb3NlKCkKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGhlbGxvLCAiSGVsbG8iKQorCisgICAgICAgIGRhdGEgPSAncGxvcCcKKyAgICAgICAgaWYgbXN3aW5kb3dzOgorICAgICAgICAgICAgY29tbWFuZCA9ICcie30iIC1jICJpbXBvcnQgc3lzOyBkYXRhPXN5cy5zdGRpbi5yZWFkKCk7IGV4aXQobGVuKGRhdGEpKSInCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBjb21tYW5kID0gIid7fScgLWMgJ2ltcG9ydCBzeXM7IGRhdGE9c3lzLnN0ZGluLnJlYWQoKTsgZXhpdChsZW4oZGF0YSkpJyIKKyAgICAgICAgY29tbWFuZCA9IGNvbW1hbmQuZm9ybWF0KHN5cy5leGVjdXRhYmxlKQorICAgICAgICB3aXRoIHdhcm5pbmdzLmNhdGNoX3dhcm5pbmdzKCk6CisgICAgICAgICAgICB3YXJuaW5ncy5zaW1wbGVmaWx0ZXIoImlnbm9yZSIsIERlcHJlY2F0aW9uV2FybmluZykKKyAgICAgICAgICAgIHdpdGggcGxhdGZvcm0ucG9wZW4oY29tbWFuZCwgJ3cnKSBhcyBzdGRpbjoKKyAgICAgICAgICAgICAgICBzdGRvdXQgPSBzdGRpbi53cml0ZShkYXRhKQorICAgICAgICAgICAgICAgIHJldCA9IHN0ZGluLmNsb3NlKCkKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydElzTm90Tm9uZShyZXQpCisgICAgICAgICAgICAgICAgaWYgb3MubmFtZSA9PSAnbnQnOgorICAgICAgICAgICAgICAgICAgICByZXR1cm5jb2RlID0gcmV0CisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuY29kZSA9IHJldCA+PiA4CisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXR1cm5jb2RlLCBsZW4oZGF0YSkpCisKIAogZGVmIHRlc3RfbWFpbigpOgogICAgIHN1cHBvcnQucnVuX3VuaXR0ZXN0KApkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9wb3BsaWIucHkgYi9MaWIvdGVzdC90ZXN0X3BvcGxpYi5weQppbmRleCBlMzkwMWI4Li5jMDkyOWEwIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3BvcGxpYi5weQorKysgYi9MaWIvdGVzdC90ZXN0X3BvcGxpYi5weQpAQCAtMTA4LDYgKzEwOCwxMCBAQAogICAgIGRlZiBjbWRfYXBvcChzZWxmLCBhcmcpOgogICAgICAgICBzZWxmLnB1c2goJytPSyBkb25lIG5vdGhpbmcuJykKIAorICAgIGRlZiBjbWRfcXVpdChzZWxmLCBhcmcpOgorICAgICAgICBzZWxmLnB1c2goJytPSyBjbG9zaW5nLicpCisgICAgICAgIHNlbGYuY2xvc2Vfd2hlbl9kb25lKCkKKwogCiBjbGFzcyBEdW1teVBPUDNTZXJ2ZXIoYXN5bmNvcmUuZGlzcGF0Y2hlciwgdGhyZWFkaW5nLlRocmVhZCk6CiAKQEAgLTE2NSwxMCArMTY5LDEwIEBACiAgICAgZGVmIHNldFVwKHNlbGYpOgogICAgICAgICBzZWxmLnNlcnZlciA9IER1bW15UE9QM1NlcnZlcigoSE9TVCwgUE9SVCkpCiAgICAgICAgIHNlbGYuc2VydmVyLnN0YXJ0KCkKLSAgICAgICAgc2VsZi5jbGllbnQgPSBwb3BsaWIuUE9QMyhzZWxmLnNlcnZlci5ob3N0LCBzZWxmLnNlcnZlci5wb3J0KQorICAgICAgICBzZWxmLmNsaWVudCA9IHBvcGxpYi5QT1AzKHNlbGYuc2VydmVyLmhvc3QsIHNlbGYuc2VydmVyLnBvcnQsIHRpbWVvdXQ9MykKIAogICAgIGRlZiB0ZWFyRG93bihzZWxmKToKLSAgICAgICAgc2VsZi5jbGllbnQucXVpdCgpCisgICAgICAgIHNlbGYuY2xpZW50LmNsb3NlKCkKICAgICAgICAgc2VsZi5zZXJ2ZXIuc3RvcCgpCiAKICAgICBkZWYgdGVzdF9nZXR3ZWxjb21lKHNlbGYpOgpAQCAtMjI4LDYgKzIzMiwxMiBAQAogICAgICAgICBzZWxmLmNsaWVudC51aWRsKCkKICAgICAgICAgc2VsZi5jbGllbnQudWlkbCgnZm9vJykKIAorICAgIGRlZiB0ZXN0X3F1aXQoc2VsZik6CisgICAgICAgIHJlc3AgPSBzZWxmLmNsaWVudC5xdWl0KCkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHJlc3ApCisgICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKHNlbGYuY2xpZW50LnNvY2spCisgICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKHNlbGYuY2xpZW50LmZpbGUpCisKIAogU1VQUE9SVFNfU1NMID0gRmFsc2UKIGlmIGhhc2F0dHIocG9wbGliLCAnUE9QM19TU0wnKToKQEAgLTI3NCw2ICsyODQsNyBAQAogICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICBEdW1teVBPUDNIYW5kbGVyLmhhbmRsZV9yZWFkKHNlbGYpCiAKKwogICAgIGNsYXNzIFRlc3RQT1AzX1NTTENsYXNzKFRlc3RQT1AzQ2xhc3MpOgogICAgICAgICAjIHJlcGVhdCBwcmV2aW91cyB0ZXN0cyBieSB1c2luZyBwb3BsaWIuUE9QM19TU0wKIApkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9wb3NpeC5weSBiL0xpYi90ZXN0L3Rlc3RfcG9zaXgucHkKaW5kZXggMDlmMDRlYy4uYzNkZmZmYiAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9wb3NpeC5weQorKysgYi9MaWIvdGVzdC90ZXN0X3Bvc2l4LnB5CkBAIC05LDYgKzksNyBAQAogaW1wb3J0IHN5cwogaW1wb3J0IHRpbWUKIGltcG9ydCBvcworaW1wb3J0IGZjbnRsCiBpbXBvcnQgcHdkCiBpbXBvcnQgc2h1dGlsCiBpbXBvcnQgc3RhdApAQCAtNDIsNyArNDMsNyBAQAogICAgICAgICBOT19BUkdfRlVOQ1RJT05TID0gWyAiY3Rlcm1pZCIsICJnZXRjd2QiLCAiZ2V0Y3dkYiIsICJ1bmFtZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aW1lcyIsICJnZXRsb2FkYXZnIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImdldGVnaWQiLCAiZ2V0ZXVpZCIsICJnZXRnaWQiLCAiZ2V0Z3JvdXBzIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImdldHBpZCIsICJnZXRwZ3JwIiwgImdldHBwaWQiLCAiZ2V0dWlkIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImdldHBpZCIsICJnZXRwZ3JwIiwgImdldHBwaWQiLCAiZ2V0dWlkIiwgInN5bmMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgXQogCiAgICAgICAgIGZvciBuYW1lIGluIE5PX0FSR19GVU5DVElPTlM6CkBAIC0xMzcsNiArMTM4LDE1OSBAQAogICAgICAgICAgICAgZmluYWxseToKICAgICAgICAgICAgICAgICBmcC5jbG9zZSgpCiAKKyAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhoYXNhdHRyKHBvc2l4LCAndHJ1bmNhdGUnKSwgInRlc3QgbmVlZHMgcG9zaXgudHJ1bmNhdGUoKSIpCisgICAgZGVmIHRlc3RfdHJ1bmNhdGUoc2VsZik6CisgICAgICAgIHdpdGggb3BlbihzdXBwb3J0LlRFU1RGTiwgJ3cnKSBhcyBmcDoKKyAgICAgICAgICAgIGZwLndyaXRlKCd0ZXN0JykKKyAgICAgICAgICAgIGZwLmZsdXNoKCkKKyAgICAgICAgcG9zaXgudHJ1bmNhdGUoc3VwcG9ydC5URVNURk4sIDApCisKKyAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhoYXNhdHRyKHBvc2l4LCAnZmV4ZWN2ZScpLCAidGVzdCBuZWVkcyBwb3NpeC5mZXhlY3ZlKCkiKQorICAgIEB1bml0dGVzdC5za2lwVW5sZXNzKGhhc2F0dHIob3MsICdmb3JrJyksICJ0ZXN0IG5lZWRzIG9zLmZvcmsoKSIpCisgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3MoaGFzYXR0cihvcywgJ3dhaXRwaWQnKSwgInRlc3QgbmVlZHMgb3Mud2FpdHBpZCgpIikKKyAgICBkZWYgdGVzdF9mZXhlY3ZlKHNlbGYpOgorICAgICAgICBmcCA9IG9zLm9wZW4oc3lzLmV4ZWN1dGFibGUsIG9zLk9fUkRPTkxZKQorICAgICAgICB0cnk6CisgICAgICAgICAgICBwaWQgPSBvcy5mb3JrKCkKKyAgICAgICAgICAgIGlmIHBpZCA9PSAwOgorICAgICAgICAgICAgICAgIG9zLmNoZGlyKG9zLnBhdGguc3BsaXQoc3lzLmV4ZWN1dGFibGUpWzBdKQorICAgICAgICAgICAgICAgIHBvc2l4LmZleGVjdmUoZnAsIFtzeXMuZXhlY3V0YWJsZSwgJy1jJywgJ3Bhc3MnXSwgb3MuZW52aXJvbikKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvcy53YWl0cGlkKHBpZCwgMCksIChwaWQsIDApKQorICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgb3MuY2xvc2UoZnApCisKKyAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhoYXNhdHRyKHBvc2l4LCAnd2FpdGlkJyksICJ0ZXN0IG5lZWRzIHBvc2l4LndhaXRpZCgpIikKKyAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhoYXNhdHRyKG9zLCAnZm9yaycpLCAidGVzdCBuZWVkcyBvcy5mb3JrKCkiKQorICAgIGRlZiB0ZXN0X3dhaXRpZChzZWxmKToKKyAgICAgICAgcGlkID0gb3MuZm9yaygpCisgICAgICAgIGlmIHBpZCA9PSAwOgorICAgICAgICAgICAgb3MuY2hkaXIob3MucGF0aC5zcGxpdChzeXMuZXhlY3V0YWJsZSlbMF0pCisgICAgICAgICAgICBwb3NpeC5leGVjdmUoc3lzLmV4ZWN1dGFibGUsIFtzeXMuZXhlY3V0YWJsZSwgJy1jJywgJ3Bhc3MnXSwgb3MuZW52aXJvbikKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHJlcyA9IHBvc2l4LndhaXRpZChwb3NpeC5QX1BJRCwgcGlkLCBwb3NpeC5XRVhJVEVEKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwaWQsIHJlcy5zaV9waWQpCisKKyAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhoYXNhdHRyKHBvc2l4LCAnbG9ja2YnKSwgInRlc3QgbmVlZHMgcG9zaXgubG9ja2YoKSIpCisgICAgZGVmIHRlc3RfbG9ja2Yoc2VsZik6CisgICAgICAgIGZkID0gb3Mub3BlbihzdXBwb3J0LlRFU1RGTiwgb3MuT19XUk9OTFkgfCBvcy5PX0NSRUFUKQorICAgICAgICB0cnk6CisgICAgICAgICAgICBvcy53cml0ZShmZCwgYid0ZXN0JykKKyAgICAgICAgICAgIG9zLmxzZWVrKGZkLCAwLCBvcy5TRUVLX1NFVCkKKyAgICAgICAgICAgIHBvc2l4LmxvY2tmKGZkLCBwb3NpeC5GX0xPQ0ssIDQpCisgICAgICAgICAgICAjIHNlY3Rpb24gaXMgbG9ja2VkCisgICAgICAgICAgICBwb3NpeC5sb2NrZihmZCwgcG9zaXguRl9VTE9DSywgNCkKKyAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgIG9zLmNsb3NlKGZkKQorCisgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3MoaGFzYXR0cihwb3NpeCwgJ3ByZWFkJyksICJ0ZXN0IG5lZWRzIHBvc2l4LnByZWFkKCkiKQorICAgIGRlZiB0ZXN0X3ByZWFkKHNlbGYpOgorICAgICAgICBmZCA9IG9zLm9wZW4oc3VwcG9ydC5URVNURk4sIG9zLk9fUkRXUiB8IG9zLk9fQ1JFQVQpCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIG9zLndyaXRlKGZkLCBiJ3Rlc3QnKQorICAgICAgICAgICAgb3MubHNlZWsoZmQsIDAsIG9zLlNFRUtfU0VUKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiJ2VzJywgcG9zaXgucHJlYWQoZmQsIDIsIDEpKQorICAgICAgICAgICAgIyB0aGUgZmlyc3QgcHJlYWQoKSBzaG91bGRuJ3QgZGlzdHVyYiB0aGUgZmlsZSBvZmZzZXQKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYid0ZScsIHBvc2l4LnJlYWQoZmQsIDIpKQorICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgb3MuY2xvc2UoZmQpCisKKyAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhoYXNhdHRyKHBvc2l4LCAncHdyaXRlJyksICJ0ZXN0IG5lZWRzIHBvc2l4LnB3cml0ZSgpIikKKyAgICBkZWYgdGVzdF9wd3JpdGUoc2VsZik6CisgICAgICAgIGZkID0gb3Mub3BlbihzdXBwb3J0LlRFU1RGTiwgb3MuT19SRFdSIHwgb3MuT19DUkVBVCkKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgb3Mud3JpdGUoZmQsIGIndGVzdCcpCisgICAgICAgICAgICBvcy5sc2VlayhmZCwgMCwgb3MuU0VFS19TRVQpCisgICAgICAgICAgICBwb3NpeC5wd3JpdGUoZmQsIGIneHgnLCAxKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiJ3R4eHQnLCBwb3NpeC5yZWFkKGZkLCA0KSkKKyAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgIG9zLmNsb3NlKGZkKQorCisgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3MoaGFzYXR0cihwb3NpeCwgJ3Bvc2l4X2ZhbGxvY2F0ZScpLAorICAgICAgICAidGVzdCBuZWVkcyBwb3NpeC5wb3NpeF9mYWxsb2NhdGUoKSIpCisgICAgZGVmIHRlc3RfcG9zaXhfZmFsbG9jYXRlKHNlbGYpOgorICAgICAgICBmZCA9IG9zLm9wZW4oc3VwcG9ydC5URVNURk4sIG9zLk9fV1JPTkxZIHwgb3MuT19DUkVBVCkKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgcG9zaXgucG9zaXhfZmFsbG9jYXRlKGZkLCAwLCAxMCkKKyAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgaW5zdDoKKyAgICAgICAgICAgICMgaXNzdWUxMDgxMiwgWkZTIGRvZXNuJ3QgYXBwZWFyIHRvIHN1cHBvcnQgcG9zaXhfZmFsbG9jYXRlLAorICAgICAgICAgICAgIyBzbyBza2lwIFNvbGFyaXMtYmFzZWQgc2luY2UgdGhleSBhcmUgbGlrZWx5IHRvIGhhdmUgWkZTLgorICAgICAgICAgICAgaWYgaW5zdC5lcnJubyAhPSBlcnJuby5FSU5WQUwgb3Igbm90IHN5cy5wbGF0Zm9ybS5zdGFydHN3aXRoKCJzdW5vcyIpOgorICAgICAgICAgICAgICAgIHJhaXNlCisgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICBvcy5jbG9zZShmZCkKKworICAgIEB1bml0dGVzdC5za2lwVW5sZXNzKGhhc2F0dHIocG9zaXgsICdwb3NpeF9mYWR2aXNlJyksCisgICAgICAgICJ0ZXN0IG5lZWRzIHBvc2l4LnBvc2l4X2ZhZHZpc2UoKSIpCisgICAgZGVmIHRlc3RfcG9zaXhfZmFkdmlzZShzZWxmKToKKyAgICAgICAgZmQgPSBvcy5vcGVuKHN1cHBvcnQuVEVTVEZOLCBvcy5PX1JET05MWSkKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgcG9zaXgucG9zaXhfZmFkdmlzZShmZCwgMCwgMCwgcG9zaXguUE9TSVhfRkFEVl9XSUxMTkVFRCkKKyAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgIG9zLmNsb3NlKGZkKQorCisgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3MoaGFzYXR0cihwb3NpeCwgJ2Z1dGltZXMnKSwgInRlc3QgbmVlZHMgcG9zaXguZnV0aW1lcygpIikKKyAgICBkZWYgdGVzdF9mdXRpbWVzKHNlbGYpOgorICAgICAgICBub3cgPSB0aW1lLnRpbWUoKQorICAgICAgICBmZCA9IG9zLm9wZW4oc3VwcG9ydC5URVNURk4sIG9zLk9fUkRPTkxZKQorICAgICAgICB0cnk6CisgICAgICAgICAgICBwb3NpeC5mdXRpbWVzKGZkLCBOb25lKQorICAgICAgICAgICAgcG9zaXguZnV0aW1lcyhmZCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgcG9zaXguZnV0aW1lcywgZmQsIChOb25lLCBOb25lKSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgcG9zaXguZnV0aW1lcywgZmQsIChub3csIE5vbmUpKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBwb3NpeC5mdXRpbWVzLCBmZCwgKE5vbmUsIG5vdykpCisgICAgICAgICAgICBwb3NpeC5mdXRpbWVzKGZkLCAoaW50KG5vdyksIGludChub3cpKSkKKyAgICAgICAgICAgIHBvc2l4LmZ1dGltZXMoZmQsIChub3csIG5vdykpCisgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICBvcy5jbG9zZShmZCkKKworICAgIEB1bml0dGVzdC5za2lwVW5sZXNzKGhhc2F0dHIocG9zaXgsICdsdXRpbWVzJyksICJ0ZXN0IG5lZWRzIHBvc2l4Lmx1dGltZXMoKSIpCisgICAgZGVmIHRlc3RfbHV0aW1lcyhzZWxmKToKKyAgICAgICAgbm93ID0gdGltZS50aW1lKCkKKyAgICAgICAgcG9zaXgubHV0aW1lcyhzdXBwb3J0LlRFU1RGTiwgTm9uZSkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBwb3NpeC5sdXRpbWVzLCBzdXBwb3J0LlRFU1RGTiwgKE5vbmUsIE5vbmUpKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIHBvc2l4Lmx1dGltZXMsIHN1cHBvcnQuVEVTVEZOLCAobm93LCBOb25lKSkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBwb3NpeC5sdXRpbWVzLCBzdXBwb3J0LlRFU1RGTiwgKE5vbmUsIG5vdykpCisgICAgICAgIHBvc2l4Lmx1dGltZXMoc3VwcG9ydC5URVNURk4sIChpbnQobm93KSwgaW50KG5vdykpKQorICAgICAgICBwb3NpeC5sdXRpbWVzKHN1cHBvcnQuVEVTVEZOLCAobm93LCBub3cpKQorICAgICAgICBwb3NpeC5sdXRpbWVzKHN1cHBvcnQuVEVTVEZOKQorCisgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3MoaGFzYXR0cihwb3NpeCwgJ2Z1dGltZW5zJyksICJ0ZXN0IG5lZWRzIHBvc2l4LmZ1dGltZW5zKCkiKQorICAgIGRlZiB0ZXN0X2Z1dGltZW5zKHNlbGYpOgorICAgICAgICBub3cgPSB0aW1lLnRpbWUoKQorICAgICAgICBmZCA9IG9zLm9wZW4oc3VwcG9ydC5URVNURk4sIG9zLk9fUkRPTkxZKQorICAgICAgICB0cnk6CisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIHBvc2l4LmZ1dGltZW5zLCBmZCwgKE5vbmUsIE5vbmUpLCAoTm9uZSwgTm9uZSkpCisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIHBvc2l4LmZ1dGltZW5zLCBmZCwgKG5vdywgMCksIE5vbmUpCisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIHBvc2l4LmZ1dGltZW5zLCBmZCwgTm9uZSwgKG5vdywgMCkpCisgICAgICAgICAgICBwb3NpeC5mdXRpbWVucyhmZCwgKGludChub3cpLCBpbnQoKG5vdyAtIGludChub3cpKSAqIDFlOSkpLAorICAgICAgICAgICAgICAgICAgICAoaW50KG5vdyksIGludCgobm93IC0gaW50KG5vdykpICogMWU5KSkpCisgICAgICAgICAgICBwb3NpeC5mdXRpbWVucyhmZCkKKyAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgIG9zLmNsb3NlKGZkKQorCisgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3MoaGFzYXR0cihwb3NpeCwgJ3dyaXRldicpLCAidGVzdCBuZWVkcyBwb3NpeC53cml0ZXYoKSIpCisgICAgZGVmIHRlc3Rfd3JpdGV2KHNlbGYpOgorICAgICAgICBmZCA9IG9zLm9wZW4oc3VwcG9ydC5URVNURk4sIG9zLk9fUkRXUiB8IG9zLk9fQ1JFQVQpCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIG9zLndyaXRldihmZCwgKGIndGVzdDEnLCBiJ3R0MicsIGIndDMnKSkKKyAgICAgICAgICAgIG9zLmxzZWVrKGZkLCAwLCBvcy5TRUVLX1NFVCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYid0ZXN0MXR0MnQzJywgcG9zaXgucmVhZChmZCwgMTApKQorICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgb3MuY2xvc2UoZmQpCisKKyAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhoYXNhdHRyKHBvc2l4LCAncmVhZHYnKSwgInRlc3QgbmVlZHMgcG9zaXgucmVhZHYoKSIpCisgICAgZGVmIHRlc3RfcmVhZHYoc2VsZik6CisgICAgICAgIGZkID0gb3Mub3BlbihzdXBwb3J0LlRFU1RGTiwgb3MuT19SRFdSIHwgb3MuT19DUkVBVCkKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgb3Mud3JpdGUoZmQsIGIndGVzdDF0dDJ0MycpCisgICAgICAgICAgICBvcy5sc2VlayhmZCwgMCwgb3MuU0VFS19TRVQpCisgICAgICAgICAgICBidWYgPSBbYnl0ZWFycmF5KGkpIGZvciBpIGluIFs1LCAzLCAyXV0KKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocG9zaXgucmVhZHYoZmQsIGJ1ZiksIDEwKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChbYid0ZXN0MScsIGIndHQyJywgYid0MyddLCBbYnl0ZXMoaSkgZm9yIGkgaW4gYnVmXSkKKyAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgIG9zLmNsb3NlKGZkKQorCiAgICAgZGVmIHRlc3RfZHVwKHNlbGYpOgogICAgICAgICBpZiBoYXNhdHRyKHBvc2l4LCAnZHVwJyk6CiAgICAgICAgICAgICBmcCA9IG9wZW4oc3VwcG9ydC5URVNURk4pCkBAIC0xNjIsNiArMzE2LDEzIEBACiAgICAgICAgICAgICAgICAgZnAxLmNsb3NlKCkKICAgICAgICAgICAgICAgICBmcDIuY2xvc2UoKQogCisgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3MoaGFzYXR0cihvcywgJ09fQ0xPRVhFQycpLCAibmVlZHMgb3MuT19DTE9FWEVDIikKKyAgICBAc3VwcG9ydC5yZXF1aXJlc19saW51eF92ZXJzaW9uKDIsIDYsIDIzKQorICAgIGRlZiB0ZXN0X29zY2xvZXhlYyhzZWxmKToKKyAgICAgICAgZmQgPSBvcy5vcGVuKHN1cHBvcnQuVEVTVEZOLCBvcy5PX1JET05MWXxvcy5PX0NMT0VYRUMpCisgICAgICAgIHNlbGYuYWRkQ2xlYW51cChvcy5jbG9zZSwgZmQpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShmY250bC5mY250bChmZCwgZmNudGwuRl9HRVRGRCkgJiBmY250bC5GRF9DTE9FWEVDKQorCiAgICAgZGVmIHRlc3Rfb3NleGxvY2soc2VsZik6CiAgICAgICAgIGlmIGhhc2F0dHIocG9zaXgsICJPX0VYTE9DSyIpOgogICAgICAgICAgICAgZmQgPSBvcy5vcGVuKHN1cHBvcnQuVEVTVEZOLApAQCAtMjU0LDcgKzQxNSw3IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE9TRXJyb3IsIHBvc2l4LmNob3duLCBzdXBwb3J0LlRFU1RGTiwgLTEsIC0xKQogCiAgICAgICAgICMgcmUtY3JlYXRlIHRoZSBmaWxlCi0gICAgICAgIG9wZW4oc3VwcG9ydC5URVNURk4sICd3JykuY2xvc2UoKQorICAgICAgICBzdXBwb3J0LmNyZWF0ZV9lbXB0eV9maWxlKHN1cHBvcnQuVEVTVEZOKQogICAgICAgICBzZWxmLl90ZXN0X2FsbF9jaG93bl9jb21tb24ocG9zaXguY2hvd24sIHN1cHBvcnQuVEVTVEZOKQogCiAgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3MoaGFzYXR0cihwb3NpeCwgJ2ZjaG93bicpLCAidGVzdCBuZWVkcyBvcy5mY2hvd24oKSIpCkBAIC0yOTAsNiArNDUxLDIwIEBACiAgICAgICAgIGlmIGhhc2F0dHIocG9zaXgsICdsaXN0ZGlyJyk6CiAgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoc3VwcG9ydC5URVNURk4gaW4gcG9zaXgubGlzdGRpcigpKQogCisgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3MoaGFzYXR0cihwb3NpeCwgJ2ZsaXN0ZGlyJyksICJ0ZXN0IG5lZWRzIHBvc2l4LmZsaXN0ZGlyKCkiKQorICAgIGRlZiB0ZXN0X2ZsaXN0ZGlyKHNlbGYpOgorICAgICAgICBmID0gcG9zaXgub3Blbihwb3NpeC5nZXRjd2QoKSwgcG9zaXguT19SRE9OTFkpCisgICAgICAgIHNlbGYuYWRkQ2xlYW51cChwb3NpeC5jbG9zZSwgZikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgIHNvcnRlZChwb3NpeC5saXN0ZGlyKCcuJykpLAorICAgICAgICAgICAgc29ydGVkKHBvc2l4LmZsaXN0ZGlyKGYpKQorICAgICAgICAgICAgKQorICAgICAgICAjIENoZWNrIHRoYXQgdGhlIGZkIG9mZnNldCB3YXMgcmVzZXQgKGlzc3VlICMxMzczOSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgIHNvcnRlZChwb3NpeC5saXN0ZGlyKCcuJykpLAorICAgICAgICAgICAgc29ydGVkKHBvc2l4LmZsaXN0ZGlyKGYpKQorICAgICAgICAgICAgKQorCiAgICAgZGVmIHRlc3RfYWNjZXNzKHNlbGYpOgogICAgICAgICBpZiBoYXNhdHRyKHBvc2l4LCAnYWNjZXNzJyk6CiAgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUocG9zaXguYWNjZXNzKHN1cHBvcnQuVEVTVEZOLCBvcy5SX09LKSkKQEAgLTMxMCw2ICs0ODUsMzIgQEAKICAgICAgICAgICAgIG9zLmNsb3NlKHJlYWRlcikKICAgICAgICAgICAgIG9zLmNsb3NlKHdyaXRlcikKIAorICAgIEB1bml0dGVzdC5za2lwVW5sZXNzKGhhc2F0dHIob3MsICdwaXBlMicpLCAidGVzdCBuZWVkcyBvcy5waXBlMigpIikKKyAgICBAc3VwcG9ydC5yZXF1aXJlc19saW51eF92ZXJzaW9uKDIsIDYsIDI3KQorICAgIGRlZiB0ZXN0X3BpcGUyKHNlbGYpOgorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIG9zLnBpcGUyLCAnREVBREJFRUYnKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIG9zLnBpcGUyLCAwLCAwKQorCisgICAgICAgICMgdHJ5IGNhbGxpbmcgd2l0aCBmbGFncyA9IDAsIGxpa2Ugb3MucGlwZSgpCisgICAgICAgIHIsIHcgPSBvcy5waXBlMigwKQorICAgICAgICBvcy5jbG9zZShyKQorICAgICAgICBvcy5jbG9zZSh3KQorCisgICAgICAgICMgdGVzdCBmbGFncworICAgICAgICByLCB3ID0gb3MucGlwZTIob3MuT19DTE9FWEVDfG9zLk9fTk9OQkxPQ0spCisgICAgICAgIHNlbGYuYWRkQ2xlYW51cChvcy5jbG9zZSwgcikKKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKG9zLmNsb3NlLCB3KQorICAgICAgICBzZWxmLmFzc2VydFRydWUoZmNudGwuZmNudGwociwgZmNudGwuRl9HRVRGRCkgJiBmY250bC5GRF9DTE9FWEVDKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoZmNudGwuZmNudGwodywgZmNudGwuRl9HRVRGRCkgJiBmY250bC5GRF9DTE9FWEVDKQorICAgICAgICAjIHRyeSByZWFkaW5nIGZyb20gYW4gZW1wdHkgcGlwZTogdGhpcyBzaG91bGQgZmFpbCwgbm90IGJsb2NrCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE9TRXJyb3IsIG9zLnJlYWQsIHIsIDEpCisgICAgICAgICMgdHJ5IGEgd3JpdGUgYmlnIGVub3VnaCB0byBmaWxsLXVwIHRoZSBwaXBlOiB0aGlzIHNob3VsZCBlaXRoZXIKKyAgICAgICAgIyBmYWlsIG9yIHBlcmZvcm0gYSBwYXJ0aWFsIHdyaXRlLCBub3QgYmxvY2sKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgb3Mud3JpdGUodywgYid4JyAqIHN1cHBvcnQuUElQRV9NQVhfU0laRSkKKyAgICAgICAgZXhjZXB0IE9TRXJyb3I6CisgICAgICAgICAgICBwYXNzCisKICAgICBkZWYgdGVzdF91dGltZShzZWxmKToKICAgICAgICAgaWYgaGFzYXR0cihwb3NpeCwgJ3V0aW1lJyk6CiAgICAgICAgICAgICBub3cgPSB0aW1lLnRpbWUoKQpAQCAtNDEwLDYgKzYxMSwyMSBAQAogICAgICAgICAgICAgICAgIG9zLmNoZGlyKGN1cmRpcikKICAgICAgICAgICAgICAgICBzdXBwb3J0LnJtdHJlZShiYXNlX3BhdGgpCiAKKyAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhoYXNhdHRyKHBvc2l4LCAnZ2V0Z3JvdXBsaXN0JyksICJ0ZXN0IG5lZWRzIHBvc2l4LmdldGdyb3VwbGlzdCgpIikKKyAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhoYXNhdHRyKHB3ZCwgJ2dldHB3dWlkJyksICJ0ZXN0IG5lZWRzIHB3ZC5nZXRwd3VpZCgpIikKKyAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhoYXNhdHRyKG9zLCAnZ2V0dWlkJyksICJ0ZXN0IG5lZWRzIG9zLmdldHVpZCgpIikKKyAgICBkZWYgdGVzdF9nZXRncm91cGxpc3Qoc2VsZik6CisgICAgICAgIHdpdGggb3MucG9wZW4oJ2lkIC1HJykgYXMgaWRnOgorICAgICAgICAgICAgZ3JvdXBzID0gaWRnLnJlYWQoKS5zdHJpcCgpCisKKyAgICAgICAgaWYgbm90IGdyb3VwczoKKyAgICAgICAgICAgIHJhaXNlIHVuaXR0ZXN0LlNraXBUZXN0KCJuZWVkIHdvcmtpbmcgJ2lkIC1HJyIpCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgIHNldChbaW50KHgpIGZvciB4IGluIGdyb3Vwcy5zcGxpdCgpXSksCisgICAgICAgICAgICBzZXQocG9zaXguZ2V0Z3JvdXBsaXN0KHB3ZC5nZXRwd3VpZChvcy5nZXR1aWQoKSlbMF0sCisgICAgICAgICAgICAgICAgcHdkLmdldHB3dWlkKG9zLmdldHVpZCgpKVszXSkpKQorCiAgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3MoaGFzYXR0cihvcywgJ2dldGVnaWQnKSwgInRlc3QgbmVlZHMgb3MuZ2V0ZWdpZCgpIikKICAgICBkZWYgdGVzdF9nZXRncm91cHMoc2VsZik6CiAgICAgICAgIHdpdGggb3MucG9wZW4oJ2lkIC1HJykgYXMgaWRnOgpAQCAtNDI2LDYgKzY0MiwzNjYgQEAKICAgICAgICAgICAgICAgICBzZXQoW2ludCh4KSBmb3IgeCBpbiBncm91cHMuc3BsaXQoKV0pLAogICAgICAgICAgICAgICAgIHNldChwb3NpeC5nZXRncm91cHMoKSArIFtwb3NpeC5nZXRlZ2lkKCldKSkKIAorICAgICMgdGVzdHMgZm9yIHRoZSBwb3NpeCAqYXQgZnVuY3Rpb25zIGZvbGxvdworCisgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3MoaGFzYXR0cihwb3NpeCwgJ2ZhY2Nlc3NhdCcpLCAidGVzdCBuZWVkcyBwb3NpeC5mYWNjZXNzYXQoKSIpCisgICAgZGVmIHRlc3RfZmFjY2Vzc2F0KHNlbGYpOgorICAgICAgICBmID0gcG9zaXgub3Blbihwb3NpeC5nZXRjd2QoKSwgcG9zaXguT19SRE9OTFkpCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShwb3NpeC5mYWNjZXNzYXQoZiwgc3VwcG9ydC5URVNURk4sIG9zLlJfT0spKQorICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgcG9zaXguY2xvc2UoZikKKworICAgIEB1bml0dGVzdC5za2lwVW5sZXNzKGhhc2F0dHIocG9zaXgsICdmY2htb2RhdCcpLCAidGVzdCBuZWVkcyBwb3NpeC5mY2htb2RhdCgpIikKKyAgICBkZWYgdGVzdF9mY2htb2RhdChzZWxmKToKKyAgICAgICAgb3MuY2htb2Qoc3VwcG9ydC5URVNURk4sIHN0YXQuU19JUlVTUikKKworICAgICAgICBmID0gcG9zaXgub3Blbihwb3NpeC5nZXRjd2QoKSwgcG9zaXguT19SRE9OTFkpCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHBvc2l4LmZjaG1vZGF0KGYsIHN1cHBvcnQuVEVTVEZOLCBzdGF0LlNfSVJVU1IgfCBzdGF0LlNfSVdVU1IpCisKKyAgICAgICAgICAgIHMgPSBwb3NpeC5zdGF0KHN1cHBvcnQuVEVTVEZOKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzWzBdICYgc3RhdC5TX0lSV1hVLCBzdGF0LlNfSVJVU1IgfCBzdGF0LlNfSVdVU1IpCisgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICBwb3NpeC5jbG9zZShmKQorCisgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3MoaGFzYXR0cihwb3NpeCwgJ2ZjaG93bmF0JyksICJ0ZXN0IG5lZWRzIHBvc2l4LmZjaG93bmF0KCkiKQorICAgIGRlZiB0ZXN0X2ZjaG93bmF0KHNlbGYpOgorICAgICAgICBzdXBwb3J0LnVubGluayhzdXBwb3J0LlRFU1RGTikKKyAgICAgICAgc3VwcG9ydC5jcmVhdGVfZW1wdHlfZmlsZShzdXBwb3J0LlRFU1RGTikKKworICAgICAgICBmID0gcG9zaXgub3Blbihwb3NpeC5nZXRjd2QoKSwgcG9zaXguT19SRE9OTFkpCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHBvc2l4LmZjaG93bmF0KGYsIHN1cHBvcnQuVEVTVEZOLCBvcy5nZXR1aWQoKSwgb3MuZ2V0Z2lkKCkpCisgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICBwb3NpeC5jbG9zZShmKQorCisgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3MoaGFzYXR0cihwb3NpeCwgJ2ZzdGF0YXQnKSwgInRlc3QgbmVlZHMgcG9zaXguZnN0YXRhdCgpIikKKyAgICBkZWYgdGVzdF9mc3RhdGF0KHNlbGYpOgorICAgICAgICBzdXBwb3J0LnVubGluayhzdXBwb3J0LlRFU1RGTikKKyAgICAgICAgd2l0aCBvcGVuKHN1cHBvcnQuVEVTVEZOLCAndycpIGFzIG91dGZpbGU6CisgICAgICAgICAgICBvdXRmaWxlLndyaXRlKCJ0ZXN0bGluZVxuIikKKworICAgICAgICBmID0gcG9zaXgub3Blbihwb3NpeC5nZXRjd2QoKSwgcG9zaXguT19SRE9OTFkpCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHMxID0gcG9zaXguc3RhdChzdXBwb3J0LlRFU1RGTikKKyAgICAgICAgICAgIHMyID0gcG9zaXguZnN0YXRhdChmLCBzdXBwb3J0LlRFU1RGTikKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoczEsIHMyKQorICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgcG9zaXguY2xvc2UoZikKKworICAgIEB1bml0dGVzdC5za2lwVW5sZXNzKGhhc2F0dHIocG9zaXgsICdmdXRpbWVzYXQnKSwgInRlc3QgbmVlZHMgcG9zaXguZnV0aW1lc2F0KCkiKQorICAgIGRlZiB0ZXN0X2Z1dGltZXNhdChzZWxmKToKKyAgICAgICAgZiA9IHBvc2l4Lm9wZW4ocG9zaXguZ2V0Y3dkKCksIHBvc2l4Lk9fUkRPTkxZKQorICAgICAgICB0cnk6CisgICAgICAgICAgICBub3cgPSB0aW1lLnRpbWUoKQorICAgICAgICAgICAgcG9zaXguZnV0aW1lc2F0KGYsIHN1cHBvcnQuVEVTVEZOLCBOb25lKQorICAgICAgICAgICAgcG9zaXguZnV0aW1lc2F0KGYsIHN1cHBvcnQuVEVTVEZOKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBwb3NpeC5mdXRpbWVzYXQsIGYsIHN1cHBvcnQuVEVTVEZOLCAoTm9uZSwgTm9uZSkpCisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIHBvc2l4LmZ1dGltZXNhdCwgZiwgc3VwcG9ydC5URVNURk4sIChub3csIE5vbmUpKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBwb3NpeC5mdXRpbWVzYXQsIGYsIHN1cHBvcnQuVEVTVEZOLCAoTm9uZSwgbm93KSkKKyAgICAgICAgICAgIHBvc2l4LmZ1dGltZXNhdChmLCBzdXBwb3J0LlRFU1RGTiwgKGludChub3cpLCBpbnQobm93KSkpCisgICAgICAgICAgICBwb3NpeC5mdXRpbWVzYXQoZiwgc3VwcG9ydC5URVNURk4sIChub3csIG5vdykpCisgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICBwb3NpeC5jbG9zZShmKQorCisgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3MoaGFzYXR0cihwb3NpeCwgJ2xpbmthdCcpLCAidGVzdCBuZWVkcyBwb3NpeC5saW5rYXQoKSIpCisgICAgZGVmIHRlc3RfbGlua2F0KHNlbGYpOgorICAgICAgICBmID0gcG9zaXgub3Blbihwb3NpeC5nZXRjd2QoKSwgcG9zaXguT19SRE9OTFkpCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHBvc2l4LmxpbmthdChmLCBzdXBwb3J0LlRFU1RGTiwgZiwgc3VwcG9ydC5URVNURk4gKyAnbGluaycpCisgICAgICAgICAgICAjIHNob3VsZCBoYXZlIHNhbWUgaW5vZGVzCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBvc2l4LnN0YXQoc3VwcG9ydC5URVNURk4pWzFdLAorICAgICAgICAgICAgICAgIHBvc2l4LnN0YXQoc3VwcG9ydC5URVNURk4gKyAnbGluaycpWzFdKQorICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgcG9zaXguY2xvc2UoZikKKyAgICAgICAgICAgIHN1cHBvcnQudW5saW5rKHN1cHBvcnQuVEVTVEZOICsgJ2xpbmsnKQorCisgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3MoaGFzYXR0cihwb3NpeCwgJ21rZGlyYXQnKSwgInRlc3QgbmVlZHMgcG9zaXgubWtkaXJhdCgpIikKKyAgICBkZWYgdGVzdF9ta2RpcmF0KHNlbGYpOgorICAgICAgICBmID0gcG9zaXgub3Blbihwb3NpeC5nZXRjd2QoKSwgcG9zaXguT19SRE9OTFkpCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHBvc2l4Lm1rZGlyYXQoZiwgc3VwcG9ydC5URVNURk4gKyAnZGlyJykKKyAgICAgICAgICAgIHBvc2l4LnN0YXQoc3VwcG9ydC5URVNURk4gKyAnZGlyJykgIyBzaG91bGQgbm90IHJhaXNlIGV4Y2VwdGlvbgorICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgcG9zaXguY2xvc2UoZikKKyAgICAgICAgICAgIHN1cHBvcnQucm10cmVlKHN1cHBvcnQuVEVTVEZOICsgJ2RpcicpCisKKyAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhoYXNhdHRyKHBvc2l4LCAnbWtub2RhdCcpIGFuZCBoYXNhdHRyKHN0YXQsICdTX0lGSUZPJyksCisgICAgICAgICAgICAgICAgICAgICAgICAgImRvbid0IGhhdmUgbWtub2RhdCgpL1NfSUZJRk8iKQorICAgIGRlZiB0ZXN0X21rbm9kYXQoc2VsZik6CisgICAgICAgICMgVGVzdCB1c2luZyBta25vZGF0KCkgdG8gY3JlYXRlIGEgRklGTyAodGhlIG9ubHkgdXNlIHNwZWNpZmllZAorICAgICAgICAjIGJ5IFBPU0lYKS4KKyAgICAgICAgc3VwcG9ydC51bmxpbmsoc3VwcG9ydC5URVNURk4pCisgICAgICAgIG1vZGUgPSBzdGF0LlNfSUZJRk8gfCBzdGF0LlNfSVJVU1IgfCBzdGF0LlNfSVdVU1IKKyAgICAgICAgZiA9IHBvc2l4Lm9wZW4ocG9zaXguZ2V0Y3dkKCksIHBvc2l4Lk9fUkRPTkxZKQorICAgICAgICB0cnk6CisgICAgICAgICAgICBwb3NpeC5ta25vZGF0KGYsIHN1cHBvcnQuVEVTVEZOLCBtb2RlLCAwKQorICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlOgorICAgICAgICAgICAgIyBTb21lIG9sZCBzeXN0ZW1zIGRvbid0IGFsbG93IHVucHJpdmlsZWdlZCB1c2VycyB0byB1c2UKKyAgICAgICAgICAgICMgbWtub2QoKSwgb3Igb25seSBzdXBwb3J0IGNyZWF0aW5nIGRldmljZSBub2Rlcy4KKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4oZS5lcnJubywgKGVycm5vLkVQRVJNLCBlcnJuby5FSU5WQUwpKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHN0YXQuU19JU0ZJRk8ocG9zaXguc3RhdChzdXBwb3J0LlRFU1RGTikuc3RfbW9kZSkpCisgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICBwb3NpeC5jbG9zZShmKQorCisgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3MoaGFzYXR0cihwb3NpeCwgJ29wZW5hdCcpLCAidGVzdCBuZWVkcyBwb3NpeC5vcGVuYXQoKSIpCisgICAgZGVmIHRlc3Rfb3BlbmF0KHNlbGYpOgorICAgICAgICBzdXBwb3J0LnVubGluayhzdXBwb3J0LlRFU1RGTikKKyAgICAgICAgd2l0aCBvcGVuKHN1cHBvcnQuVEVTVEZOLCAndycpIGFzIG91dGZpbGU6CisgICAgICAgICAgICBvdXRmaWxlLndyaXRlKCJ0ZXN0bGluZVxuIikKKyAgICAgICAgYSA9IHBvc2l4Lm9wZW4ocG9zaXguZ2V0Y3dkKCksIHBvc2l4Lk9fUkRPTkxZKQorICAgICAgICBiID0gcG9zaXgub3BlbmF0KGEsIHN1cHBvcnQuVEVTVEZOLCBwb3NpeC5PX1JET05MWSkKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgcmVzID0gcG9zaXgucmVhZChiLCA5KS5kZWNvZGUoZW5jb2Rpbmc9InV0Zi04IikKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoInRlc3RsaW5lXG4iLCByZXMpCisgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICBwb3NpeC5jbG9zZShhKQorICAgICAgICAgICAgcG9zaXguY2xvc2UoYikKKworICAgIEB1bml0dGVzdC5za2lwVW5sZXNzKGhhc2F0dHIocG9zaXgsICdyZWFkbGlua2F0JyksICJ0ZXN0IG5lZWRzIHBvc2l4LnJlYWRsaW5rYXQoKSIpCisgICAgZGVmIHRlc3RfcmVhZGxpbmthdChzZWxmKToKKyAgICAgICAgb3Muc3ltbGluayhzdXBwb3J0LlRFU1RGTiwgc3VwcG9ydC5URVNURk4gKyAnbGluaycpCisgICAgICAgIGYgPSBwb3NpeC5vcGVuKHBvc2l4LmdldGN3ZCgpLCBwb3NpeC5PX1JET05MWSkKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwb3NpeC5yZWFkbGluayhzdXBwb3J0LlRFU1RGTiArICdsaW5rJyksCisgICAgICAgICAgICAgICAgcG9zaXgucmVhZGxpbmthdChmLCBzdXBwb3J0LlRFU1RGTiArICdsaW5rJykpCisgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICBzdXBwb3J0LnVubGluayhzdXBwb3J0LlRFU1RGTiArICdsaW5rJykKKyAgICAgICAgICAgIHBvc2l4LmNsb3NlKGYpCisKKyAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhoYXNhdHRyKHBvc2l4LCAncmVuYW1lYXQnKSwgInRlc3QgbmVlZHMgcG9zaXgucmVuYW1lYXQoKSIpCisgICAgZGVmIHRlc3RfcmVuYW1lYXQoc2VsZik6CisgICAgICAgIHN1cHBvcnQudW5saW5rKHN1cHBvcnQuVEVTVEZOKQorICAgICAgICBzdXBwb3J0LmNyZWF0ZV9lbXB0eV9maWxlKHN1cHBvcnQuVEVTVEZOICsgJ3JlbicpCisgICAgICAgIGYgPSBwb3NpeC5vcGVuKHBvc2l4LmdldGN3ZCgpLCBwb3NpeC5PX1JET05MWSkKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgcG9zaXgucmVuYW1lYXQoZiwgc3VwcG9ydC5URVNURk4gKyAncmVuJywgZiwgc3VwcG9ydC5URVNURk4pCisgICAgICAgIGV4Y2VwdDoKKyAgICAgICAgICAgIHBvc2l4LnJlbmFtZShzdXBwb3J0LlRFU1RGTiArICdyZW4nLCBzdXBwb3J0LlRFU1RGTikKKyAgICAgICAgICAgIHJhaXNlCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBwb3NpeC5zdGF0KHN1cHBvcnQuVEVTVEZOKSAjIHNob3VsZCBub3QgdGhyb3cgZXhjZXB0aW9uCisgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICBwb3NpeC5jbG9zZShmKQorCisgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3MoaGFzYXR0cihwb3NpeCwgJ3N5bWxpbmthdCcpLCAidGVzdCBuZWVkcyBwb3NpeC5zeW1saW5rYXQoKSIpCisgICAgZGVmIHRlc3Rfc3ltbGlua2F0KHNlbGYpOgorICAgICAgICBmID0gcG9zaXgub3Blbihwb3NpeC5nZXRjd2QoKSwgcG9zaXguT19SRE9OTFkpCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHBvc2l4LnN5bWxpbmthdChzdXBwb3J0LlRFU1RGTiwgZiwgc3VwcG9ydC5URVNURk4gKyAnbGluaycpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBvc2l4LnJlYWRsaW5rKHN1cHBvcnQuVEVTVEZOICsgJ2xpbmsnKSwgc3VwcG9ydC5URVNURk4pCisgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICBwb3NpeC5jbG9zZShmKQorICAgICAgICAgICAgc3VwcG9ydC51bmxpbmsoc3VwcG9ydC5URVNURk4gKyAnbGluaycpCisKKyAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhoYXNhdHRyKHBvc2l4LCAndW5saW5rYXQnKSwgInRlc3QgbmVlZHMgcG9zaXgudW5saW5rYXQoKSIpCisgICAgZGVmIHRlc3RfdW5saW5rYXQoc2VsZik6CisgICAgICAgIGYgPSBwb3NpeC5vcGVuKHBvc2l4LmdldGN3ZCgpLCBwb3NpeC5PX1JET05MWSkKKyAgICAgICAgc3VwcG9ydC5jcmVhdGVfZW1wdHlfZmlsZShzdXBwb3J0LlRFU1RGTiArICdkZWwnKQorICAgICAgICBwb3NpeC5zdGF0KHN1cHBvcnQuVEVTVEZOICsgJ2RlbCcpICMgc2hvdWxkIG5vdCB0aHJvdyBleGNlcHRpb24KKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgcG9zaXgudW5saW5rYXQoZiwgc3VwcG9ydC5URVNURk4gKyAnZGVsJykKKyAgICAgICAgZXhjZXB0OgorICAgICAgICAgICAgc3VwcG9ydC51bmxpbmsoc3VwcG9ydC5URVNURk4gKyAnZGVsJykKKyAgICAgICAgICAgIHJhaXNlCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhPU0Vycm9yLCBwb3NpeC5zdGF0LCBzdXBwb3J0LlRFU1RGTiArICdsaW5rJykKKyAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgIHBvc2l4LmNsb3NlKGYpCisKKyAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhoYXNhdHRyKHBvc2l4LCAndXRpbWVuc2F0JyksICJ0ZXN0IG5lZWRzIHBvc2l4LnV0aW1lbnNhdCgpIikKKyAgICBkZWYgdGVzdF91dGltZW5zYXQoc2VsZik6CisgICAgICAgIGYgPSBwb3NpeC5vcGVuKHBvc2l4LmdldGN3ZCgpLCBwb3NpeC5PX1JET05MWSkKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgbm93ID0gdGltZS50aW1lKCkKKyAgICAgICAgICAgIHBvc2l4LnV0aW1lbnNhdChmLCBzdXBwb3J0LlRFU1RGTiwgTm9uZSwgTm9uZSkKKyAgICAgICAgICAgIHBvc2l4LnV0aW1lbnNhdChmLCBzdXBwb3J0LlRFU1RGTikKKyAgICAgICAgICAgIHBvc2l4LnV0aW1lbnNhdChmLCBzdXBwb3J0LlRFU1RGTiwgZmxhZ3M9b3MuQVRfU1lNTElOS19OT0ZPTExPVykKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgcG9zaXgudXRpbWVuc2F0LCBmLCBzdXBwb3J0LlRFU1RGTiwgKE5vbmUsIE5vbmUpLCAoTm9uZSwgTm9uZSkpCisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIHBvc2l4LnV0aW1lbnNhdCwgZiwgc3VwcG9ydC5URVNURk4sIChub3csIDApLCBOb25lKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBwb3NpeC51dGltZW5zYXQsIGYsIHN1cHBvcnQuVEVTVEZOLCBOb25lLCAobm93LCAwKSkKKyAgICAgICAgICAgIHBvc2l4LnV0aW1lbnNhdChmLCBzdXBwb3J0LlRFU1RGTiwgKGludChub3cpLCBpbnQoKG5vdyAtIGludChub3cpKSAqIDFlOSkpLAorICAgICAgICAgICAgICAgICAgICAoaW50KG5vdyksIGludCgobm93IC0gaW50KG5vdykpICogMWU5KSkpCisgICAgICAgICAgICBwb3NpeC51dGltZW5zYXQoZGlyZmQ9ZiwgcGF0aD1zdXBwb3J0LlRFU1RGTiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdGltZT0oaW50KG5vdyksIGludCgobm93IC0gaW50KG5vdykpICogMWU5KSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXRpbWU9KGludChub3cpLCBpbnQoKG5vdyAtIGludChub3cpKSAqIDFlOSkpKQorICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgcG9zaXguY2xvc2UoZikKKworICAgIEB1bml0dGVzdC5za2lwVW5sZXNzKGhhc2F0dHIocG9zaXgsICdta2ZpZm9hdCcpLCAiZG9uJ3QgaGF2ZSBta2ZpZm9hdCgpIikKKyAgICBkZWYgdGVzdF9ta2ZpZm9hdChzZWxmKToKKyAgICAgICAgc3VwcG9ydC51bmxpbmsoc3VwcG9ydC5URVNURk4pCisgICAgICAgIGYgPSBwb3NpeC5vcGVuKHBvc2l4LmdldGN3ZCgpLCBwb3NpeC5PX1JET05MWSkKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgcG9zaXgubWtmaWZvYXQoZiwgc3VwcG9ydC5URVNURk4sIHN0YXQuU19JUlVTUiB8IHN0YXQuU19JV1VTUikKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShzdGF0LlNfSVNGSUZPKHBvc2l4LnN0YXQoc3VwcG9ydC5URVNURk4pLnN0X21vZGUpKQorICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgcG9zaXguY2xvc2UoZikKKworICAgIHJlcXVpcmVzX3NjaGVkX2ggPSB1bml0dGVzdC5za2lwVW5sZXNzKGhhc2F0dHIocG9zaXgsICdzY2hlZF95aWVsZCcpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkb24ndCBoYXZlIHNjaGVkdWxpbmcgc3VwcG9ydCIpCisgICAgcmVxdWlyZXNfc2NoZWRfYWZmaW5pdHkgPSB1bml0dGVzdC5za2lwVW5sZXNzKGhhc2F0dHIocG9zaXgsICdjcHVfc2V0JyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkb24ndCBoYXZlIHNjaGVkIGFmZmluaXR5IHN1cHBvcnQiKQorCisgICAgQHJlcXVpcmVzX3NjaGVkX2gKKyAgICBkZWYgdGVzdF9zY2hlZF95aWVsZChzZWxmKToKKyAgICAgICAgIyBUaGlzIGhhcyBubyBlcnJvciBjb25kaXRpb25zIChhdCBsZWFzdCBvbiBMaW51eCkuCisgICAgICAgIHBvc2l4LnNjaGVkX3lpZWxkKCkKKworICAgIEByZXF1aXJlc19zY2hlZF9oCisgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3MoaGFzYXR0cihwb3NpeCwgJ3NjaGVkX2dldF9wcmlvcml0eV9tYXgnKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAicmVxdWlyZXMgc2NoZWRfZ2V0X3ByaW9yaXR5X21heCgpIikKKyAgICBkZWYgdGVzdF9zY2hlZF9wcmlvcml0eShzZWxmKToKKyAgICAgICAgIyBSb3VuZC1yb2JpbiB1c3VhbGx5IGhhcyBpbnRlcmVzdGluZyBwcmlvcml0aWVzLgorICAgICAgICBwb2wgPSBwb3NpeC5TQ0hFRF9SUgorICAgICAgICBsbyA9IHBvc2l4LnNjaGVkX2dldF9wcmlvcml0eV9taW4ocG9sKQorICAgICAgICBoaSA9IHBvc2l4LnNjaGVkX2dldF9wcmlvcml0eV9tYXgocG9sKQorICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2UobG8sIGludCkKKyAgICAgICAgc2VsZi5hc3NlcnRJc0luc3RhbmNlKGhpLCBpbnQpCisgICAgICAgIHNlbGYuYXNzZXJ0R3JlYXRlckVxdWFsKGhpLCBsbykKKyAgICAgICAgIyBPU1ggZXZpZGVudGx5IGp1c3QgcmV0dXJucyAxNSB3aXRob3V0IGNoZWNraW5nIHRoZSBhcmd1bWVudC4KKyAgICAgICAgaWYgc3lzLnBsYXRmb3JtICE9ICJkYXJ3aW4iOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoT1NFcnJvciwgcG9zaXguc2NoZWRfZ2V0X3ByaW9yaXR5X21pbiwgLTIzKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoT1NFcnJvciwgcG9zaXguc2NoZWRfZ2V0X3ByaW9yaXR5X21heCwgLTIzKQorCisgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3MoaGFzYXR0cihwb3NpeCwgJ3NjaGVkX3NldHNjaGVkdWxlcicpLCAiY2FuJ3QgY2hhbmdlIHNjaGVkdWxlciIpCisgICAgZGVmIHRlc3RfZ2V0X2FuZF9zZXRfc2NoZWR1bGVyX2FuZF9wYXJhbShzZWxmKToKKyAgICAgICAgcG9zc2libGVfc2NoZWR1bGVycyA9IFtzY2hlZCBmb3IgbmFtZSwgc2NoZWQgaW4gcG9zaXguX19kaWN0X18uaXRlbXMoKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIG5hbWUuc3RhcnRzd2l0aCgiU0NIRURfIildCisgICAgICAgIG1pbmUgPSBwb3NpeC5zY2hlZF9nZXRzY2hlZHVsZXIoMCkKKyAgICAgICAgc2VsZi5hc3NlcnRJbihtaW5lLCBwb3NzaWJsZV9zY2hlZHVsZXJzKQorICAgICAgICB0cnk6CisgICAgICAgICAgICBwYXJlbnQgPSBwb3NpeC5zY2hlZF9nZXRzY2hlZHVsZXIob3MuZ2V0cHBpZCgpKQorICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlOgorICAgICAgICAgICAgaWYgZS5lcnJubyAhPSBlcnJuby5FUEVSTToKKyAgICAgICAgICAgICAgICByYWlzZQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRJbihwYXJlbnQsIHBvc3NpYmxlX3NjaGVkdWxlcnMpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE9TRXJyb3IsIHBvc2l4LnNjaGVkX2dldHNjaGVkdWxlciwgLTEpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE9TRXJyb3IsIHBvc2l4LnNjaGVkX2dldHBhcmFtLCAtMSkKKyAgICAgICAgcGFyYW0gPSBwb3NpeC5zY2hlZF9nZXRwYXJhbSgwKQorICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2UocGFyYW0uc2NoZWRfcHJpb3JpdHksIGludCkKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgcG9zaXguc2NoZWRfc2V0c2NoZWR1bGVyKDAsIG1pbmUsIHBhcmFtKQorICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlOgorICAgICAgICAgICAgaWYgZS5lcnJubyAhPSBlcnJuby5FUEVSTToKKyAgICAgICAgICAgICAgICByYWlzZQorCisgICAgICAgICMgUE9TSVggc3RhdGVzIHRoYXQgY2FsbGluZyBzY2hlZF9zZXRwYXJhbSgpIG9uIGEgcHJvY2VzcyB3aXRoIGEKKyAgICAgICAgIyBzY2hlZHVsaW5nIHBvbGljeSBvdGhlciB0aGFuIFNDSEVEX0ZJRk8gb3IgU0NIRURfUlIgaXMKKyAgICAgICAgIyBpbXBsZW1lbnRhdGlvbi1kZWZpbmVkOiBGcmVlQlNEIHJldHVybnMgRUlOVkFMLgorICAgICAgICBpZiBub3Qgc3lzLnBsYXRmb3JtLnN0YXJ0c3dpdGgoJ2ZyZWVic2QnKToKKyAgICAgICAgICAgIHBvc2l4LnNjaGVkX3NldHBhcmFtKDAsIHBhcmFtKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoT1NFcnJvciwgcG9zaXguc2NoZWRfc2V0cGFyYW0sIC0xLCBwYXJhbSkKKworICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhPU0Vycm9yLCBwb3NpeC5zY2hlZF9zZXRzY2hlZHVsZXIsIC0xLCBtaW5lLCBwYXJhbSkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBwb3NpeC5zY2hlZF9zZXRzY2hlZHVsZXIsIDAsIG1pbmUsIE5vbmUpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgcG9zaXguc2NoZWRfc2V0cGFyYW0sIDAsIDQzKQorICAgICAgICBwYXJhbSA9IHBvc2l4LnNjaGVkX3BhcmFtKE5vbmUpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgcG9zaXguc2NoZWRfc2V0cGFyYW0sIDAsIHBhcmFtKQorICAgICAgICBsYXJnZSA9IDIxNDc0ODM2NDcwMAorICAgICAgICBwYXJhbSA9IHBvc2l4LnNjaGVkX3BhcmFtKGxhcmdlKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhPdmVyZmxvd0Vycm9yLCBwb3NpeC5zY2hlZF9zZXRwYXJhbSwgMCwgcGFyYW0pCisgICAgICAgIHBhcmFtID0gcG9zaXguc2NoZWRfcGFyYW0oc2NoZWRfcHJpb3JpdHk9LWxhcmdlKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhPdmVyZmxvd0Vycm9yLCBwb3NpeC5zY2hlZF9zZXRwYXJhbSwgMCwgcGFyYW0pCisKKyAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhoYXNhdHRyKHBvc2l4LCAic2NoZWRfcnJfZ2V0X2ludGVydmFsIiksICJubyBmdW5jdGlvbiIpCisgICAgZGVmIHRlc3Rfc2NoZWRfcnJfZ2V0X2ludGVydmFsKHNlbGYpOgorICAgICAgICB0cnk6CisgICAgICAgICAgICBpbnRlcnZhbCA9IHBvc2l4LnNjaGVkX3JyX2dldF9pbnRlcnZhbCgwKQorICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlOgorICAgICAgICAgICAgIyBUaGlzIGxpa2VseSBtZWFucyB0aGF0IHNjaGVkX3JyX2dldF9pbnRlcnZhbCBpcyBvbmx5IHZhbGlkIGZvcgorICAgICAgICAgICAgIyBwcm9jZXNzZXMgd2l0aCB0aGUgU0NIRURfUlIgc2NoZWR1bGVyIGluIGVmZmVjdC4KKyAgICAgICAgICAgIGlmIGUuZXJybm8gIT0gZXJybm8uRUlOVkFMOgorICAgICAgICAgICAgICAgIHJhaXNlCisgICAgICAgICAgICBzZWxmLnNraXBUZXN0KCJvbmx5IHdvcmtzIG9uIFNDSEVEX1JSIHByb2Nlc3NlcyIpCisgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShpbnRlcnZhbCwgZmxvYXQpCisgICAgICAgICMgUmVhc29uYWJsZSBjb25zdHJhaW50cywgSSB0aGluay4KKyAgICAgICAgc2VsZi5hc3NlcnRHcmVhdGVyRXF1YWwoaW50ZXJ2YWwsIDAuKQorICAgICAgICBzZWxmLmFzc2VydExlc3MoaW50ZXJ2YWwsIDEuKQorCisgICAgQHJlcXVpcmVzX3NjaGVkX2FmZmluaXR5CisgICAgZGVmIHRlc3Rfc2NoZWRfYWZmaW5pdHkoc2VsZik6CisgICAgICAgIG1hc2sgPSBwb3NpeC5zY2hlZF9nZXRhZmZpbml0eSgwLCAxMDI0KQorICAgICAgICBzZWxmLmFzc2VydEdyZWF0ZXJFcXVhbChtYXNrLmNvdW50KCksIDEpCisgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShtYXNrLCBwb3NpeC5jcHVfc2V0KQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhPU0Vycm9yLCBwb3NpeC5zY2hlZF9nZXRhZmZpbml0eSwgLTEsIDEwMjQpCisgICAgICAgIGVtcHR5ID0gcG9zaXguY3B1X3NldCgxMCkKKyAgICAgICAgcG9zaXguc2NoZWRfc2V0YWZmaW5pdHkoMCwgbWFzaykKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoT1NFcnJvciwgcG9zaXguc2NoZWRfc2V0YWZmaW5pdHksIDAsIGVtcHR5KQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhPU0Vycm9yLCBwb3NpeC5zY2hlZF9zZXRhZmZpbml0eSwgLTEsIG1hc2spCisKKyAgICBAcmVxdWlyZXNfc2NoZWRfYWZmaW5pdHkKKyAgICBkZWYgdGVzdF9jcHVfc2V0X2Jhc2ljKHNlbGYpOgorICAgICAgICBzID0gcG9zaXguY3B1X3NldCgxMCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4ocyksIDEwKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHMuY291bnQoKSwgMCkKKyAgICAgICAgcy5zZXQoMCkKKyAgICAgICAgcy5zZXQoOSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHMuaXNzZXQoMCkpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShzLmlzc2V0KDkpKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKHMuaXNzZXQoNSkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocy5jb3VudCgpLCAyKQorICAgICAgICBzLmNsZWFyKDApCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2Uocy5pc3NldCgwKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzLmNvdW50KCksIDEpCisgICAgICAgIHMuemVybygpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2Uocy5pc3NldCgwKSkKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShzLmlzc2V0KDkpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHMuY291bnQoKSwgMCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgcy5zZXQsIC0xKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBzLnNldCwgMTApCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIHMuY2xlYXIsIC0xKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBzLmNsZWFyLCAxMCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgcy5pc3NldCwgLTEpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIHMuaXNzZXQsIDEwKQorCisgICAgQHJlcXVpcmVzX3NjaGVkX2FmZmluaXR5CisgICAgZGVmIHRlc3RfY3B1X3NldF9jbXAoc2VsZik6CisgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwocG9zaXguY3B1X3NldCgxMSksIHBvc2l4LmNwdV9zZXQoMTIpKQorICAgICAgICBsID0gcG9zaXguY3B1X3NldCgxMCkKKyAgICAgICAgciA9IHBvc2l4LmNwdV9zZXQoMTApCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobCwgcikKKyAgICAgICAgbC5zZXQoMSkKKyAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbChsLCByKQorICAgICAgICByLnNldCgxKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGwsIHIpCisKKyAgICBAcmVxdWlyZXNfc2NoZWRfYWZmaW5pdHkKKyAgICBkZWYgdGVzdF9jcHVfc2V0X2JpdHdpc2Uoc2VsZik6CisgICAgICAgIGwgPSBwb3NpeC5jcHVfc2V0KDUpCisgICAgICAgIGwuc2V0KDApCisgICAgICAgIGwuc2V0KDEpCisgICAgICAgIHIgPSBwb3NpeC5jcHVfc2V0KDUpCisgICAgICAgIHIuc2V0KDEpCisgICAgICAgIHIuc2V0KDIpCisgICAgICAgIGIgPSBsICYgcgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGIuY291bnQoKSwgMSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGIuaXNzZXQoMSkpCisgICAgICAgIGIgPSBsIHwgcgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGIuY291bnQoKSwgMykKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGIuaXNzZXQoMCkpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShiLmlzc2V0KDEpKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoYi5pc3NldCgyKSkKKyAgICAgICAgYiA9IGwgXiByCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYi5jb3VudCgpLCAyKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoYi5pc3NldCgwKSkKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShiLmlzc2V0KDEpKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoYi5pc3NldCgyKSkKKyAgICAgICAgYiA9IGwKKyAgICAgICAgYiB8PSByCisgICAgICAgIHNlbGYuYXNzZXJ0SXMoYiwgbCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsLmNvdW50KCksIDMpCisKKyAgICBkZWYgdGVzdF9ydGxkX2NvbnN0YW50cyhzZWxmKToKKyAgICAgICAgIyBjaGVjayBwcmVzZW5jZSBvZiBtYWpvciBSVExEXyogY29uc3RhbnRzCisgICAgICAgIHBvc2l4LlJUTERfTEFaWQorICAgICAgICBwb3NpeC5SVExEX05PVworICAgICAgICBwb3NpeC5SVExEX0dMT0JBTAorICAgICAgICBwb3NpeC5SVExEX0xPQ0FMCisKIGNsYXNzIFBvc2l4R3JvdXBzVGVzdGVyKHVuaXR0ZXN0LlRlc3RDYXNlKToKIAogICAgIGRlZiBzZXRVcChzZWxmKToKQEAgLTQ2MSw5ICsxMDM3LDExIEBACiAgICAgICAgICAgICBwb3NpeC5zZXRncm91cHMoZ3JvdXBzKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRMaXN0RXF1YWwoZ3JvdXBzLCBwb3NpeC5nZXRncm91cHMoKSkKIAotCiBkZWYgdGVzdF9tYWluKCk6Ci0gICAgc3VwcG9ydC5ydW5fdW5pdHRlc3QoUG9zaXhUZXN0ZXIsIFBvc2l4R3JvdXBzVGVzdGVyKQorICAgIHRyeToKKyAgICAgICAgc3VwcG9ydC5ydW5fdW5pdHRlc3QoUG9zaXhUZXN0ZXIsIFBvc2l4R3JvdXBzVGVzdGVyKQorICAgIGZpbmFsbHk6CisgICAgICAgIHN1cHBvcnQucmVhcF9jaGlsZHJlbigpCiAKIGlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CiAgICAgdGVzdF9tYWluKCkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfcG9zaXhwYXRoLnB5IGIvTGliL3Rlc3QvdGVzdF9wb3NpeHBhdGgucHkKaW5kZXggYmI0NTU5Yy4uNzA5ZWYwNCAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9wb3NpeHBhdGgucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9wb3NpeHBhdGgucHkKQEAgLTEsMTAgKzEsMTAgQEAKLWltcG9ydCB1bml0dGVzdAotZnJvbSB0ZXN0IGltcG9ydCBzdXBwb3J0LCB0ZXN0X2dlbmVyaWNwYXRoCi0KLWltcG9ydCBwb3NpeHBhdGgKIGltcG9ydCBvcworaW1wb3J0IHBvc2l4cGF0aAogaW1wb3J0IHN5cworaW1wb3J0IHVuaXR0ZXN0CitpbXBvcnQgd2FybmluZ3MKIGZyb20gcG9zaXhwYXRoIGltcG9ydCByZWFscGF0aCwgYWJzcGF0aCwgZGlybmFtZSwgYmFzZW5hbWUKK2Zyb20gdGVzdCBpbXBvcnQgc3VwcG9ydCwgdGVzdF9nZW5lcmljcGF0aAogCiB0cnk6CiAgICAgaW1wb3J0IHBvc2l4CkBAIC0yMzEsNyArMjMxLDkgQEAKIAogICAgIGRlZiB0ZXN0X2lzbW91bnQoc2VsZik6CiAgICAgICAgIHNlbGYuYXNzZXJ0SXMocG9zaXhwYXRoLmlzbW91bnQoIi8iKSwgVHJ1ZSkKLSAgICAgICAgc2VsZi5hc3NlcnRJcyhwb3NpeHBhdGguaXNtb3VudChiIi8iKSwgVHJ1ZSkKKyAgICAgICAgd2l0aCB3YXJuaW5ncy5jYXRjaF93YXJuaW5ncygpOgorICAgICAgICAgICAgd2FybmluZ3Muc2ltcGxlZmlsdGVyKCJpZ25vcmUiLCBEZXByZWNhdGlvbldhcm5pbmcpCisgICAgICAgICAgICBzZWxmLmFzc2VydElzKHBvc2l4cGF0aC5pc21vdW50KGIiLyIpLCBUcnVlKQogCiAgICAgZGVmIHRlc3RfaXNtb3VudF9ub25fZXhpc3RlbnQoc2VsZik6CiAgICAgICAgICMgTm9uLWV4aXN0ZW50IG1vdW50cG9pbnQuCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3ByaW50LnB5IGIvTGliL3Rlc3QvdGVzdF9wcmludC5weQppbmRleCA4ZDM3YmJjLi45ZDZkYmVhIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3ByaW50LnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfcHJpbnQucHkKQEAgLTExMSw2ICsxMTEsMzIgQEAKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBwcmludCwgJycsIGVuZD0zKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhBdHRyaWJ1dGVFcnJvciwgcHJpbnQsICcnLCBmaWxlPScnKQogCisgICAgZGVmIHRlc3RfcHJpbnRfZmx1c2goc2VsZik6CisgICAgICAgICMgb3BlcmF0aW9uIG9mIHRoZSBmbHVzaCBmbGFnCisgICAgICAgIGNsYXNzIGZpbGVsaWtlKCk6CisgICAgICAgICAgICBkZWYgX19pbml0X18oc2VsZik6CisgICAgICAgICAgICAgICAgc2VsZi53cml0dGVuID0gJycKKyAgICAgICAgICAgICAgICBzZWxmLmZsdXNoZWQgPSAwCisgICAgICAgICAgICBkZWYgd3JpdGUoc2VsZiwgc3RyKToKKyAgICAgICAgICAgICAgICBzZWxmLndyaXR0ZW4gKz0gc3RyCisgICAgICAgICAgICBkZWYgZmx1c2goc2VsZik6CisgICAgICAgICAgICAgICAgc2VsZi5mbHVzaGVkICs9IDEKKworICAgICAgICBmID0gZmlsZWxpa2UoKQorICAgICAgICBwcmludCgxLCBmaWxlPWYsIGVuZD0nJywgZmx1c2g9VHJ1ZSkKKyAgICAgICAgcHJpbnQoMiwgZmlsZT1mLCBlbmQ9JycsIGZsdXNoPVRydWUpCisgICAgICAgIHByaW50KDMsIGZpbGU9ZiwgZmx1c2g9RmFsc2UpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZi53cml0dGVuLCAnMTIzXG4nKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGYuZmx1c2hlZCwgMikKKworICAgICAgICAjIGVuc3VyZSBleGNlcHRpb25zIGZyb20gZmx1c2ggYXJlIHBhc3NlZCB0aHJvdWdoCisgICAgICAgIGNsYXNzIG5vZmx1c2goKToKKyAgICAgICAgICAgIGRlZiB3cml0ZShzZWxmLCBzdHIpOgorICAgICAgICAgICAgICAgIHBhc3MKKyAgICAgICAgICAgIGRlZiBmbHVzaChzZWxmKToKKyAgICAgICAgICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoUnVudGltZUVycm9yLCBwcmludCwgMSwgZmlsZT1ub2ZsdXNoKCksIGZsdXNoPVRydWUpCisKIGRlZiB0ZXN0X21haW4oKToKICAgICBzdXBwb3J0LnJ1bl91bml0dGVzdChUZXN0UHJpbnQpCiAKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfcHJvcGVydHkucHkgYi9MaWIvdGVzdC90ZXN0X3Byb3BlcnR5LnB5CmluZGV4IGNjNmE4NzIuLjcyNmQ2ZmUgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfcHJvcGVydHkucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9wcm9wZXJ0eS5weQpAQCAtMTI4LDYgKzEyOCwyOSBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG5ld2dldHRlci5zcGFtLCA4KQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG5ld2dldHRlci5fX2NsYXNzX18uc3BhbS5fX2RvY19fLCAibmV3IGRvY3N0cmluZyIpCiAKKyAgICBkZWYgdGVzdF9wcm9wZXJ0eV9fX2lzYWJzdHJhY3RtZXRob2RfX2Rlc2NyaXB0b3Ioc2VsZik6CisgICAgICAgIGZvciB2YWwgaW4gKFRydWUsIEZhbHNlLCBbXSwgWzFdLCAnJywgJzEnKToKKyAgICAgICAgICAgIGNsYXNzIEMob2JqZWN0KToKKyAgICAgICAgICAgICAgICBkZWYgZm9vKHNlbGYpOgorICAgICAgICAgICAgICAgICAgICBwYXNzCisgICAgICAgICAgICAgICAgZm9vLl9faXNhYnN0cmFjdG1ldGhvZF9fID0gdmFsCisgICAgICAgICAgICAgICAgZm9vID0gcHJvcGVydHkoZm9vKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRJcyhDLmZvby5fX2lzYWJzdHJhY3RtZXRob2RfXywgYm9vbCh2YWwpKQorCisgICAgICAgICMgY2hlY2sgdGhhdCB0aGUgcHJvcGVydHkncyBfX2lzYWJzdHJhY3RtZXRob2RfXyBkZXNjcmlwdG9yIGRvZXMgdGhlCisgICAgICAgICMgcmlnaHQgdGhpbmcgd2hlbiBwcmVzZW50ZWQgd2l0aCBhIHZhbHVlIHRoYXQgZmFpbHMgdHJ1dGggdGVzdGluZzoKKyAgICAgICAgY2xhc3MgTm90Qm9vbChvYmplY3QpOgorICAgICAgICAgICAgZGVmIF9fbm9uemVyb19fKHNlbGYpOgorICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoKQorICAgICAgICAgICAgX19sZW5fXyA9IF9fbm9uemVyb19fCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvcik6CisgICAgICAgICAgICBjbGFzcyBDKG9iamVjdCk6CisgICAgICAgICAgICAgICAgZGVmIGZvbyhzZWxmKToKKyAgICAgICAgICAgICAgICAgICAgcGFzcworICAgICAgICAgICAgICAgIGZvby5fX2lzYWJzdHJhY3RtZXRob2RfXyA9IE5vdEJvb2woKQorICAgICAgICAgICAgICAgIGZvbyA9IHByb3BlcnR5KGZvbykKKyAgICAgICAgICAgIEMuZm9vLl9faXNhYnN0cmFjdG1ldGhvZF9fCisKIAogIyBJc3N1ZSA1ODkwOiBzdWJjbGFzc2VzIG9mIHByb3BlcnR5IGRvIG5vdCBwcmVzZXJ2ZSBtZXRob2QgX19kb2NfXyBzdHJpbmdzCiBjbGFzcyBQcm9wZXJ0eVN1Yihwcm9wZXJ0eSk6CmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3B0eS5weSBiL0xpYi90ZXN0L3Rlc3RfcHR5LnB5CmluZGV4IDRmMTI1MWMuLmVmOTUyNjggMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfcHR5LnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfcHR5LnB5CkBAIC0yMDUsNiArMjA1LDcgQEAKICAgICAgICAgc2VsZi5vcmlnX3N0ZG91dF9maWxlbm8gPSBwdHkuU1RET1VUX0ZJTEVOTwogICAgICAgICBzZWxmLm9yaWdfcHR5X3NlbGVjdCA9IHB0eS5zZWxlY3QKICAgICAgICAgc2VsZi5mZHMgPSBbXSAgIyBBIGxpc3Qgb2YgZmlsZSBkZXNjcmlwdG9ycyB0byBjbG9zZS4KKyAgICAgICAgc2VsZi5maWxlcyA9IFtdCiAgICAgICAgIHNlbGYuc2VsZWN0X3JmZHNfbGVuZ3RocyA9IFtdCiAgICAgICAgIHNlbGYuc2VsZWN0X3JmZHNfcmVzdWx0cyA9IFtdCiAKQEAgLTIxMiwxMCArMjEzLDE1IEBACiAgICAgICAgIHB0eS5TVERJTl9GSUxFTk8gPSBzZWxmLm9yaWdfc3RkaW5fZmlsZW5vCiAgICAgICAgIHB0eS5TVERPVVRfRklMRU5PID0gc2VsZi5vcmlnX3N0ZG91dF9maWxlbm8KICAgICAgICAgcHR5LnNlbGVjdCA9IHNlbGYub3JpZ19wdHlfc2VsZWN0CisgICAgICAgIGZvciBmaWxlIGluIHNlbGYuZmlsZXM6CisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgZmlsZS5jbG9zZSgpCisgICAgICAgICAgICBleGNlcHQgT1NFcnJvcjoKKyAgICAgICAgICAgICAgICBwYXNzCiAgICAgICAgIGZvciBmZCBpbiBzZWxmLmZkczoKICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICBvcy5jbG9zZShmZCkKLSAgICAgICAgICAgIGV4Y2VwdDoKKyAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yOgogICAgICAgICAgICAgICAgIHBhc3MKIAogICAgIGRlZiBfcGlwZShzZWxmKToKQEAgLTIyMyw2ICsyMjksMTEgQEAKICAgICAgICAgc2VsZi5mZHMuZXh0ZW5kKHBpcGVfZmRzKQogICAgICAgICByZXR1cm4gcGlwZV9mZHMKIAorICAgIGRlZiBfc29ja2V0cGFpcihzZWxmKToKKyAgICAgICAgc29ja2V0cGFpciA9IHNvY2tldC5zb2NrZXRwYWlyKCkKKyAgICAgICAgc2VsZi5maWxlcy5leHRlbmQoc29ja2V0cGFpcikKKyAgICAgICAgcmV0dXJuIHNvY2tldHBhaXIKKwogICAgIGRlZiBfbW9ja19zZWxlY3Qoc2VsZiwgcmZkcywgd2ZkcywgeGZkcyk6CiAgICAgICAgICMgVGhpcyB3aWxsIHJhaXNlIEluZGV4RXJyb3Igd2hlbiBubyBtb3JlIGV4cGVjdGVkIGNhbGxzIGV4aXN0LgogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuc2VsZWN0X3JmZHNfbGVuZ3Rocy5wb3AoMCksIGxlbihyZmRzKSkKQEAgLTIzNCw5ICsyNDUsOCBAQAogICAgICAgICBwdHkuU1RET1VUX0ZJTEVOTyA9IG1vY2tfc3Rkb3V0X2ZkCiAgICAgICAgIG1vY2tfc3RkaW5fZmQsIHdyaXRlX3RvX3N0ZGluX2ZkID0gc2VsZi5fcGlwZSgpCiAgICAgICAgIHB0eS5TVERJTl9GSUxFTk8gPSBtb2NrX3N0ZGluX2ZkCi0gICAgICAgIHNvY2tldHBhaXIgPSBzb2NrZXQuc29ja2V0cGFpcigpCisgICAgICAgIHNvY2tldHBhaXIgPSBzZWxmLl9zb2NrZXRwYWlyKCkKICAgICAgICAgbWFzdGVycyA9IFtzLmZpbGVubygpIGZvciBzIGluIHNvY2tldHBhaXJdCi0gICAgICAgIHNlbGYuZmRzLmV4dGVuZChtYXN0ZXJzKQogCiAgICAgICAgICMgRmVlZCBkYXRhLiAgU21hbGxlciB0aGFuIFBJUEVCVUYuICBUaGVzZSB3cml0ZXMgd2lsbCBub3QgYmxvY2suCiAgICAgICAgIG9zLndyaXRlKG1hc3RlcnNbMV0sIGInZnJvbSBtYXN0ZXInKQpAQCAtMjYzLDkgKzI3Myw4IEBACiAgICAgICAgIHB0eS5TVERPVVRfRklMRU5PID0gbW9ja19zdGRvdXRfZmQKICAgICAgICAgbW9ja19zdGRpbl9mZCwgd3JpdGVfdG9fc3RkaW5fZmQgPSBzZWxmLl9waXBlKCkKICAgICAgICAgcHR5LlNURElOX0ZJTEVOTyA9IG1vY2tfc3RkaW5fZmQKLSAgICAgICAgc29ja2V0cGFpciA9IHNvY2tldC5zb2NrZXRwYWlyKCkKKyAgICAgICAgc29ja2V0cGFpciA9IHNlbGYuX3NvY2tldHBhaXIoKQogICAgICAgICBtYXN0ZXJzID0gW3MuZmlsZW5vKCkgZm9yIHMgaW4gc29ja2V0cGFpcl0KLSAgICAgICAgc2VsZi5mZHMuZXh0ZW5kKG1hc3RlcnMpCiAKICAgICAgICAgb3MuY2xvc2UobWFzdGVyc1sxXSkKICAgICAgICAgc29ja2V0cGFpclsxXS5jbG9zZSgpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3B1bGxkb20ucHkgYi9MaWIvdGVzdC90ZXN0X3B1bGxkb20ucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjgxYTU5NQotLS0gL2Rldi9udWxsCisrKyBiL0xpYi90ZXN0L3Rlc3RfcHVsbGRvbS5weQpAQCAtMCwwICsxLDM0NyBAQAoraW1wb3J0IGlvCitpbXBvcnQgdW5pdHRlc3QKK2ltcG9ydCBzeXMKK2ltcG9ydCB4bWwuc2F4CisKK2Zyb20geG1sLnNheC54bWxyZWFkZXIgaW1wb3J0IEF0dHJpYnV0ZXNJbXBsCitmcm9tIHhtbC5kb20gaW1wb3J0IHB1bGxkb20KKworZnJvbSB0ZXN0LnN1cHBvcnQgaW1wb3J0IHJ1bl91bml0dGVzdCwgZmluZGZpbGUKKworCit0c3RmaWxlID0gZmluZGZpbGUoInRlc3QueG1sIiwgc3ViZGlyPSJ4bWx0ZXN0ZGF0YSIpCisKKyMgQSBoYW5keSBYTUwgc25pcHBldCwgY29udGFpbmluZyBhdHRyaWJ1dGVzLCBhIG5hbWVzcGFjZSBwcmVmaXgsIGFuZCBhCisjIHNlbGYtY2xvc2luZyB0YWc6CitTTUFMTF9TQU1QTEUgPSAiIiI8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiB4bWxuczp4ZGM9Imh0dHA6Ly93d3cueG1sLmNvbS9ib29rcyI+Cis8IS0tIEEgY29tbWVudCAtLT4KKzx0aXRsZT5JbnRyb2R1Y3Rpb24gdG8gWFNMPC90aXRsZT4KKzxoci8+Cis8cD48eGRjOmF1dGhvciB4ZGM6YXR0cmliPSJwcmVmaXhlZCBhdHRyaWJ1dGUiIGF0dHJpYj0ib3RoZXIgYXR0cmliIj5BLiBOYW1lc3BhY2U8L3hkYzphdXRob3I+PC9wPgorPC9odG1sPiIiIgorCisKK2NsYXNzIFB1bGxET01UZXN0Q2FzZSh1bml0dGVzdC5UZXN0Q2FzZSk6CisKKyAgICBkZWYgdGVzdF9wYXJzZShzZWxmKToKKyAgICAgICAgIiIiTWluaW1hbCB0ZXN0IG9mIERPTUV2ZW50U3RyZWFtLnBhcnNlKCkiIiIKKworICAgICAgICAjIFRoaXMganVzdCB0ZXN0cyB0aGF0IHBhcnNpbmcgZnJvbSBhIHN0cmVhbSB3b3Jrcy4gQWN0dWFsIHBhcnNlcgorICAgICAgICAjIHNlbWFudGljcyBhcmUgdGVzdGVkIHVzaW5nIHBhcnNlU3RyaW5nIHdpdGggYSBtb3JlIGZvY3VzZWQgWE1MCisgICAgICAgICMgZnJhZ21lbnQuCisKKyAgICAgICAgIyBUZXN0IHdpdGggYSBmaWxlbmFtZToKKyAgICAgICAgaGFuZGxlciA9IHB1bGxkb20ucGFyc2UodHN0ZmlsZSkKKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKGhhbmRsZXIuc3RyZWFtLmNsb3NlKQorICAgICAgICBsaXN0KGhhbmRsZXIpCisKKyAgICAgICAgIyBUZXN0IHdpdGggYSBmaWxlIG9iamVjdDoKKyAgICAgICAgd2l0aCBvcGVuKHRzdGZpbGUsICJyYiIpIGFzIGZpbjoKKyAgICAgICAgICAgIGxpc3QocHVsbGRvbS5wYXJzZShmaW4pKQorCisgICAgZGVmIHRlc3RfcGFyc2Vfc2VtYW50aWNzKHNlbGYpOgorICAgICAgICAiIiJUZXN0IERPTUV2ZW50U3RyZWFtIHBhcnNpbmcgc2VtYW50aWNzLiIiIgorCisgICAgICAgIGl0ZW1zID0gcHVsbGRvbS5wYXJzZVN0cmluZyhTTUFMTF9TQU1QTEUpCisgICAgICAgIGV2dCwgbm9kZSA9IG5leHQoaXRlbXMpCisgICAgICAgICMgSnVzdCBjaGVjayB0aGUgbm9kZSBpcyBhIERvY3VtZW50OgorICAgICAgICBzZWxmLmFzc2VydFRydWUoaGFzYXR0cihub2RlLCAiY3JlYXRlRWxlbWVudCIpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHB1bGxkb20uU1RBUlRfRE9DVU1FTlQsIGV2dCkKKyAgICAgICAgZXZ0LCBub2RlID0gbmV4dChpdGVtcykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwdWxsZG9tLlNUQVJUX0VMRU1FTlQsIGV2dCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgiaHRtbCIsIG5vZGUudGFnTmFtZSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgyLCBsZW4obm9kZS5hdHRyaWJ1dGVzKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChub2RlLmF0dHJpYnV0ZXMuZ2V0TmFtZWRJdGVtKCJ4bWxuczp4ZGMiKS52YWx1ZSwKKyAgICAgICAgICAgICAgImh0dHA6Ly93d3cueG1sLmNvbS9ib29rcyIpCisgICAgICAgIGV2dCwgbm9kZSA9IG5leHQoaXRlbXMpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocHVsbGRvbS5DSEFSQUNURVJTLCBldnQpICMgTGluZSBicmVhaworICAgICAgICBldnQsIG5vZGUgPSBuZXh0KGl0ZW1zKQorICAgICAgICAjIFhYWCAtIEEgY29tbWVudCBzaG91bGQgYmUgcmVwb3J0ZWQgaGVyZSEKKyAgICAgICAgIyBzZWxmLmFzc2VydEVxdWFsKHB1bGxkb20uQ09NTUVOVCwgZXZ0KQorICAgICAgICAjIExpbmUgYnJlYWsgYWZ0ZXIgc3dhbGxvd2VkIGNvbW1lbnQ6CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocHVsbGRvbS5DSEFSQUNURVJTLCBldnQpCisgICAgICAgIGV2dCwgbm9kZSA9IG5leHQoaXRlbXMpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoInRpdGxlIiwgbm9kZS50YWdOYW1lKQorICAgICAgICB0aXRsZV9ub2RlID0gbm9kZQorICAgICAgICBldnQsIG5vZGUgPSBuZXh0KGl0ZW1zKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHB1bGxkb20uQ0hBUkFDVEVSUywgZXZ0KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCJJbnRyb2R1Y3Rpb24gdG8gWFNMIiwgbm9kZS5kYXRhKQorICAgICAgICBldnQsIG5vZGUgPSBuZXh0KGl0ZW1zKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHB1bGxkb20uRU5EX0VMRU1FTlQsIGV2dCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgidGl0bGUiLCBub2RlLnRhZ05hbWUpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSh0aXRsZV9ub2RlIGlzIG5vZGUpCisgICAgICAgIGV2dCwgbm9kZSA9IG5leHQoaXRlbXMpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocHVsbGRvbS5DSEFSQUNURVJTLCBldnQpCisgICAgICAgIGV2dCwgbm9kZSA9IG5leHQoaXRlbXMpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocHVsbGRvbS5TVEFSVF9FTEVNRU5ULCBldnQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoImhyIiwgbm9kZS50YWdOYW1lKQorICAgICAgICBldnQsIG5vZGUgPSBuZXh0KGl0ZW1zKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHB1bGxkb20uRU5EX0VMRU1FTlQsIGV2dCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgiaHIiLCBub2RlLnRhZ05hbWUpCisgICAgICAgIGV2dCwgbm9kZSA9IG5leHQoaXRlbXMpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocHVsbGRvbS5DSEFSQUNURVJTLCBldnQpCisgICAgICAgIGV2dCwgbm9kZSA9IG5leHQoaXRlbXMpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocHVsbGRvbS5TVEFSVF9FTEVNRU5ULCBldnQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoInAiLCBub2RlLnRhZ05hbWUpCisgICAgICAgIGV2dCwgbm9kZSA9IG5leHQoaXRlbXMpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocHVsbGRvbS5TVEFSVF9FTEVNRU5ULCBldnQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoInhkYzphdXRob3IiLCBub2RlLnRhZ05hbWUpCisgICAgICAgIGV2dCwgbm9kZSA9IG5leHQoaXRlbXMpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocHVsbGRvbS5DSEFSQUNURVJTLCBldnQpCisgICAgICAgIGV2dCwgbm9kZSA9IG5leHQoaXRlbXMpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocHVsbGRvbS5FTkRfRUxFTUVOVCwgZXZ0KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCJ4ZGM6YXV0aG9yIiwgbm9kZS50YWdOYW1lKQorICAgICAgICBldnQsIG5vZGUgPSBuZXh0KGl0ZW1zKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHB1bGxkb20uRU5EX0VMRU1FTlQsIGV2dCkKKyAgICAgICAgZXZ0LCBub2RlID0gbmV4dChpdGVtcykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwdWxsZG9tLkNIQVJBQ1RFUlMsIGV2dCkKKyAgICAgICAgZXZ0LCBub2RlID0gbmV4dChpdGVtcykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwdWxsZG9tLkVORF9FTEVNRU5ULCBldnQpCisgICAgICAgICMgWFhYIE5vIEVORF9ET0NVTUVOVCBpdGVtIGlzIGV2ZXIgb2J0YWluZWQ6CisgICAgICAgICNldnQsIG5vZGUgPSBuZXh0KGl0ZW1zKQorICAgICAgICAjc2VsZi5hc3NlcnRFcXVhbChwdWxsZG9tLkVORF9ET0NVTUVOVCwgZXZ0KQorCisgICAgZGVmIHRlc3RfZXhwYW5kSXRlbShzZWxmKToKKyAgICAgICAgIiIiRW5zdXJlIGV4cGFuZEl0ZW0gd29ya3MgYXMgZXhwZWN0ZWQuIiIiCisgICAgICAgIGl0ZW1zID0gcHVsbGRvbS5wYXJzZVN0cmluZyhTTUFMTF9TQU1QTEUpCisgICAgICAgICMgTG9vcCB0aHJvdWdoIHRoZSBub2RlcyB1bnRpbCB3ZSBnZXQgdG8gYSAidGl0bGUiIHN0YXJ0IHRhZzoKKyAgICAgICAgZm9yIGV2dCwgaXRlbSBpbiBpdGVtczoKKyAgICAgICAgICAgIGlmIGV2dCA9PSBwdWxsZG9tLlNUQVJUX0VMRU1FTlQgYW5kIGl0ZW0udGFnTmFtZSA9PSAidGl0bGUiOgorICAgICAgICAgICAgICAgIGl0ZW1zLmV4cGFuZE5vZGUoaXRlbSkKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKDEsIGxlbihpdGVtLmNoaWxkTm9kZXMpKQorICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzZWxmLmZhaWwoIk5vIFwidGl0bGVcIiBlbGVtZW50IGRldGVjdGVkIGluIFNNQUxMX1NBTVBMRSEiKQorICAgICAgICAjIExvb3AgdW50aWwgd2UgZ2V0IHRvIHRoZSBuZXh0IHN0YXJ0LWVsZW1lbnQ6CisgICAgICAgIGZvciBldnQsIG5vZGUgaW4gaXRlbXM6CisgICAgICAgICAgICBpZiBldnQgPT0gcHVsbGRvbS5TVEFSVF9FTEVNRU5UOgorICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoImhyIiwgbm9kZS50YWdOYW1lLAorICAgICAgICAgICAgImV4cGFuZE5vZGUgZGlkIG5vdCBsZWF2ZSBET01FdmVudFN0cmVhbSBpbiB0aGUgY29ycmVjdCBzdGF0ZS4iKQorICAgICAgICAjIEF0dGVtcHQgdG8gZXhwYW5kIGEgc3RhbmRhbG9uZSBlbGVtZW50OgorICAgICAgICBpdGVtcy5leHBhbmROb2RlKG5vZGUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobmV4dChpdGVtcylbMF0sIHB1bGxkb20uQ0hBUkFDVEVSUykKKyAgICAgICAgZXZ0LCBub2RlID0gbmV4dChpdGVtcykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChub2RlLnRhZ05hbWUsICJwIikKKyAgICAgICAgaXRlbXMuZXhwYW5kTm9kZShub2RlKQorICAgICAgICBuZXh0KGl0ZW1zKSAjIFNraXAgY2hhcmFjdGVyIGRhdGEKKyAgICAgICAgZXZ0LCBub2RlID0gbmV4dChpdGVtcykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChub2RlLnRhZ05hbWUsICJodG1sIikKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhTdG9wSXRlcmF0aW9uKToKKyAgICAgICAgICAgIG5leHQoaXRlbXMpCisgICAgICAgIGl0ZW1zLmNsZWFyKCkKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUoaXRlbXMucGFyc2VyKQorICAgICAgICBzZWxmLmFzc2VydElzTm9uZShpdGVtcy5zdHJlYW0pCisKKyAgICBAdW5pdHRlc3QuZXhwZWN0ZWRGYWlsdXJlCisgICAgZGVmIHRlc3RfY29tbWVudChzZWxmKToKKyAgICAgICAgIiIiUHVsbERPTSBkb2VzIG5vdCByZWNlaXZlICJjb21tZW50IiBldmVudHMuIiIiCisgICAgICAgIGl0ZW1zID0gcHVsbGRvbS5wYXJzZVN0cmluZyhTTUFMTF9TQU1QTEUpCisgICAgICAgIGZvciBldnQsIF8gaW4gaXRlbXM6CisgICAgICAgICAgICBpZiBldnQgPT0gcHVsbGRvbS5DT01NRU5UOgorICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzZWxmLmZhaWwoIk5vIGNvbW1lbnQgd2FzIGVuY291bnRlcmVkIikKKworICAgIEB1bml0dGVzdC5leHBlY3RlZEZhaWx1cmUKKyAgICBkZWYgdGVzdF9lbmRfZG9jdW1lbnQoc2VsZik6CisgICAgICAgICIiIlB1bGxET00gZG9lcyBub3QgcmVjZWl2ZSAiZW5kLWRvY3VtZW50IiBldmVudHMuIiIiCisgICAgICAgIGl0ZW1zID0gcHVsbGRvbS5wYXJzZVN0cmluZyhTTUFMTF9TQU1QTEUpCisgICAgICAgICMgUmVhZCBhbGwgb2YgdGhlIG5vZGVzIHVwIHRvIGFuZCBpbmNsdWRpbmcgPC9odG1sPjoKKyAgICAgICAgZm9yIGV2dCwgbm9kZSBpbiBpdGVtczoKKyAgICAgICAgICAgIGlmIGV2dCA9PSBwdWxsZG9tLkVORF9FTEVNRU5UIGFuZCBub2RlLnRhZ05hbWUgPT0gImh0bWwiOgorICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgIHRyeToKKyAgICAgICAgICAgICMgQXNzZXJ0IHRoYXQgdGhlIG5leHQgbm9kZSBpcyBFTkRfRE9DVU1FTlQ6CisgICAgICAgICAgICBldnQsIG5vZGUgPSBuZXh0KGl0ZW1zKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwdWxsZG9tLkVORF9ET0NVTUVOVCwgZXZ0KQorICAgICAgICBleGNlcHQgU3RvcEl0ZXJhdGlvbjoKKyAgICAgICAgICAgIHNlbGYuZmFpbCgKKyAgICAgICAgICAgICAgICAiUmFuIG91dCBvZiBldmVudHMsIGJ1dCBzaG91bGQgaGF2ZSByZWNlaXZlZCBFTkRfRE9DVU1FTlQiKQorCisKK2NsYXNzIFRob3JvdWdoVGVzdENhc2UodW5pdHRlc3QuVGVzdENhc2UpOgorICAgICIiIlRlc3QgdGhlIGhhcmQtdG8tcmVhY2ggcGFydHMgb2YgcHVsbGRvbS4iIiIKKworICAgIGRlZiB0ZXN0X3Rob3JvdWdoX3BhcnNlKHNlbGYpOgorICAgICAgICAiIiJUZXN0IHNvbWUgb2YgdGhlIGhhcmQtdG8tcmVhY2ggcGFydHMgb2YgUHVsbERPTS4iIiIKKyAgICAgICAgc2VsZi5fdGVzdF90aG9yb3VnaChwdWxsZG9tLnBhcnNlKE5vbmUsIHBhcnNlcj1TQVhFeGVyY2lzZXIoKSkpCisKKyAgICBAdW5pdHRlc3QuZXhwZWN0ZWRGYWlsdXJlCisgICAgZGVmIHRlc3Rfc2F4MmRvbV9mYWlsKHNlbGYpOgorICAgICAgICAiIiJTQVgyRE9NIGNhbiJ0IGhhbmRsZSBhIFBJIGJlZm9yZSB0aGUgcm9vdCBlbGVtZW50LiIiIgorICAgICAgICBwZCA9IFNBWDJET01UZXN0SGVscGVyKE5vbmUsIFNBWEV4ZXJjaXNlcigpLCAxMikKKyAgICAgICAgc2VsZi5fdGVzdF90aG9yb3VnaChwZCkKKworICAgIGRlZiB0ZXN0X3Rob3JvdWdoX3NheDJkb20oc2VsZik6CisgICAgICAgICIiIlRlc3Qgc29tZSBvZiB0aGUgaGFyZC10by1yZWFjaCBwYXJ0cyBvZiBTQVgyRE9NLiIiIgorICAgICAgICBwZCA9IFNBWDJET01UZXN0SGVscGVyKE5vbmUsIFNBWDJET01FeGVyY2lzZXIoKSwgMTIpCisgICAgICAgIHNlbGYuX3Rlc3RfdGhvcm91Z2gocGQsIEZhbHNlKQorCisgICAgZGVmIF90ZXN0X3Rob3JvdWdoKHNlbGYsIHBkLCBiZWZvcmVfcm9vdD1UcnVlKToKKyAgICAgICAgIiIiVGVzdCBzb21lIG9mIHRoZSBoYXJkLXRvLXJlYWNoIHBhcnRzIG9mIHRoZSBwYXJzZXIsIHVzaW5nIGEgbW9jaworICAgICAgICBwYXJzZXIuIiIiCisKKyAgICAgICAgZXZ0LCBub2RlID0gbmV4dChwZCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwdWxsZG9tLlNUQVJUX0RPQ1VNRU5ULCBldnQpCisgICAgICAgICMgSnVzdCBjaGVjayB0aGUgbm9kZSBpcyBhIERvY3VtZW50OgorICAgICAgICBzZWxmLmFzc2VydFRydWUoaGFzYXR0cihub2RlLCAiY3JlYXRlRWxlbWVudCIpKQorCisgICAgICAgIGlmIGJlZm9yZV9yb290OgorICAgICAgICAgICAgZXZ0LCBub2RlID0gbmV4dChwZCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocHVsbGRvbS5DT01NRU5ULCBldnQpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCJhIGNvbW1lbnQiLCBub2RlLmRhdGEpCisgICAgICAgICAgICBldnQsIG5vZGUgPSBuZXh0KHBkKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwdWxsZG9tLlBST0NFU1NJTkdfSU5TVFJVQ1RJT04sIGV2dCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoInRhcmdldCIsIG5vZGUudGFyZ2V0KQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgiZGF0YSIsIG5vZGUuZGF0YSkKKworICAgICAgICBldnQsIG5vZGUgPSBuZXh0KHBkKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHB1bGxkb20uU1RBUlRfRUxFTUVOVCwgZXZ0KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCJodG1sIiwgbm9kZS50YWdOYW1lKQorCisgICAgICAgIGV2dCwgbm9kZSA9IG5leHQocGQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocHVsbGRvbS5DT01NRU5ULCBldnQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoImEgY29tbWVudCIsIG5vZGUuZGF0YSkKKyAgICAgICAgZXZ0LCBub2RlID0gbmV4dChwZCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwdWxsZG9tLlBST0NFU1NJTkdfSU5TVFJVQ1RJT04sIGV2dCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgidGFyZ2V0Iiwgbm9kZS50YXJnZXQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoImRhdGEiLCBub2RlLmRhdGEpCisKKyAgICAgICAgZXZ0LCBub2RlID0gbmV4dChwZCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwdWxsZG9tLlNUQVJUX0VMRU1FTlQsIGV2dCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgicCIsIG5vZGUudGFnTmFtZSkKKworICAgICAgICBldnQsIG5vZGUgPSBuZXh0KHBkKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHB1bGxkb20uQ0hBUkFDVEVSUywgZXZ0KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCJ0ZXh0Iiwgbm9kZS5kYXRhKQorICAgICAgICBldnQsIG5vZGUgPSBuZXh0KHBkKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHB1bGxkb20uRU5EX0VMRU1FTlQsIGV2dCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgicCIsIG5vZGUudGFnTmFtZSkKKyAgICAgICAgZXZ0LCBub2RlID0gbmV4dChwZCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwdWxsZG9tLkVORF9FTEVNRU5ULCBldnQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoImh0bWwiLCBub2RlLnRhZ05hbWUpCisgICAgICAgIGV2dCwgbm9kZSA9IG5leHQocGQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocHVsbGRvbS5FTkRfRE9DVU1FTlQsIGV2dCkKKworCitjbGFzcyBTQVhFeGVyY2lzZXIob2JqZWN0KToKKyAgICAiIiJBIGZha2Ugc2F4IHBhcnNlciB0aGF0IGNhbGxzIHNvbWUgb2YgdGhlIGhhcmRlci10by1yZWFjaCBzYXggbWV0aG9kcyB0bworICAgIGVuc3VyZSBpdCBlbWl0cyB0aGUgY29ycmVjdCBldmVudHMiIiIKKworICAgIGRlZiBzZXRDb250ZW50SGFuZGxlcihzZWxmLCBoYW5kbGVyKToKKyAgICAgICAgc2VsZi5faGFuZGxlciA9IGhhbmRsZXIKKworICAgIGRlZiBwYXJzZShzZWxmLCBfKToKKyAgICAgICAgaCA9IHNlbGYuX2hhbmRsZXIKKyAgICAgICAgaC5zdGFydERvY3VtZW50KCkKKworICAgICAgICAjIFRoZSBuZXh0IHR3byBpdGVtcyBlbnN1cmUgdGhhdCBpdGVtcyBwcmVjZWRpbmcgdGhlIGZpcnN0CisgICAgICAgICMgc3RhcnRfZWxlbWVudCBhcmUgcHJvcGVybHkgc3RvcmVkIGFuZCBlbWl0dGVkOgorICAgICAgICBoLmNvbW1lbnQoImEgY29tbWVudCIpCisgICAgICAgIGgucHJvY2Vzc2luZ0luc3RydWN0aW9uKCJ0YXJnZXQiLCAiZGF0YSIpCisKKyAgICAgICAgaC5zdGFydEVsZW1lbnQoImh0bWwiLCBBdHRyaWJ1dGVzSW1wbCh7fSkpCisKKyAgICAgICAgaC5jb21tZW50KCJhIGNvbW1lbnQiKQorICAgICAgICBoLnByb2Nlc3NpbmdJbnN0cnVjdGlvbigidGFyZ2V0IiwgImRhdGEiKQorCisgICAgICAgIGguc3RhcnRFbGVtZW50KCJwIiwgQXR0cmlidXRlc0ltcGwoeyJjbGFzcyI6ICJwYXJhY2xhc3MifSkpCisgICAgICAgIGguY2hhcmFjdGVycygidGV4dCIpCisgICAgICAgIGguZW5kRWxlbWVudCgicCIpCisgICAgICAgIGguZW5kRWxlbWVudCgiaHRtbCIpCisgICAgICAgIGguZW5kRG9jdW1lbnQoKQorCisgICAgZGVmIHN0dWIoc2VsZiwgKmFyZ3MsICoqa3dhcmdzKToKKyAgICAgICAgIiIiU3R1YiBtZXRob2QuIERvZXMgbm90aGluZy4iIiIKKyAgICAgICAgcGFzcworICAgIHNldFByb3BlcnR5ID0gc3R1YgorICAgIHNldEZlYXR1cmUgPSBzdHViCisKKworY2xhc3MgU0FYMkRPTUV4ZXJjaXNlcihTQVhFeGVyY2lzZXIpOgorICAgICIiIlRoZSBzYW1lIGFzIFNBWEV4ZXJjaXNlciwgYnV0IHdpdGhvdXQgdGhlIHByb2Nlc3NpbmcgaW5zdHJ1Y3Rpb24gYW5kCisgICAgY29tbWVudCBiZWZvcmUgdGhlIHJvb3QgZWxlbWVudCwgYmVjYXVzZSBTMkQgY2FuInQgaGFuZGxlIGl0IiIiCisKKyAgICBkZWYgcGFyc2Uoc2VsZiwgXyk6CisgICAgICAgIGggPSBzZWxmLl9oYW5kbGVyCisgICAgICAgIGguc3RhcnREb2N1bWVudCgpCisgICAgICAgIGguc3RhcnRFbGVtZW50KCJodG1sIiwgQXR0cmlidXRlc0ltcGwoe30pKQorICAgICAgICBoLmNvbW1lbnQoImEgY29tbWVudCIpCisgICAgICAgIGgucHJvY2Vzc2luZ0luc3RydWN0aW9uKCJ0YXJnZXQiLCAiZGF0YSIpCisgICAgICAgIGguc3RhcnRFbGVtZW50KCJwIiwgQXR0cmlidXRlc0ltcGwoeyJjbGFzcyI6ICJwYXJhY2xhc3MifSkpCisgICAgICAgIGguY2hhcmFjdGVycygidGV4dCIpCisgICAgICAgIGguZW5kRWxlbWVudCgicCIpCisgICAgICAgIGguZW5kRWxlbWVudCgiaHRtbCIpCisgICAgICAgIGguZW5kRG9jdW1lbnQoKQorCisKK2NsYXNzIFNBWDJET01UZXN0SGVscGVyKHB1bGxkb20uRE9NRXZlbnRTdHJlYW0pOgorICAgICIiIkFsbG93cyB1cyB0byBkcml2ZSBTQVgyRE9NIGZyb20gYSBET01FdmVudFN0cmVhbS4iIiIKKworICAgIGRlZiByZXNldChzZWxmKToKKyAgICAgICAgc2VsZi5wdWxsZG9tID0gcHVsbGRvbS5TQVgyRE9NKCkKKyAgICAgICAgIyBUaGlzIGNvbnRlbnQgaGFuZGxlciByZWxpZXMgb24gbmFtZXNwYWNlIHN1cHBvcnQKKyAgICAgICAgc2VsZi5wYXJzZXIuc2V0RmVhdHVyZSh4bWwuc2F4LmhhbmRsZXIuZmVhdHVyZV9uYW1lc3BhY2VzLCAxKQorICAgICAgICBzZWxmLnBhcnNlci5zZXRDb250ZW50SGFuZGxlcihzZWxmLnB1bGxkb20pCisKKworY2xhc3MgU0FYMkRPTVRlc3RDYXNlKHVuaXR0ZXN0LlRlc3RDYXNlKToKKworICAgIGRlZiBjb25maXJtKHNlbGYsIHRlc3QsIHRlc3RuYW1lPSJUZXN0Iik6CisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSh0ZXN0LCB0ZXN0bmFtZSkKKworICAgIGRlZiB0ZXN0X2Jhc2ljKHNlbGYpOgorICAgICAgICAiIiJFbnN1cmUgU0FYMkRPTSBjYW4gcGFyc2UgZnJvbSBhIHN0cmVhbS4iIiIKKyAgICAgICAgd2l0aCBpby5TdHJpbmdJTyhTTUFMTF9TQU1QTEUpIGFzIGZpbjoKKyAgICAgICAgICAgIHNkID0gU0FYMkRPTVRlc3RIZWxwZXIoZmluLCB4bWwuc2F4Lm1ha2VfcGFyc2VyKCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlbihTTUFMTF9TQU1QTEUpKQorICAgICAgICAgICAgZm9yIGV2dCwgbm9kZSBpbiBzZDoKKyAgICAgICAgICAgICAgICBpZiBldnQgPT0gcHVsbGRvbS5TVEFSVF9FTEVNRU5UIGFuZCBub2RlLnRhZ05hbWUgPT0gImh0bWwiOgorICAgICAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAgIyBCZWNhdXNlIHRoZSBidWZmZXIgaXMgdGhlIHNhbWUgbGVuZ3RoIGFzIHRoZSBYTUwsIGFsbCB0aGUKKyAgICAgICAgICAgICMgbm9kZXMgc2hvdWxkIGhhdmUgYmVlbiBwYXJzZWQgYW5kIGFkZGVkOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRHcmVhdGVyKGxlbihub2RlLmNoaWxkTm9kZXMpLCAwKQorCisgICAgZGVmIHRlc3RTQVgyRE9NKHNlbGYpOgorICAgICAgICAiIiJFbnN1cmUgU0FYMkRPTSBleHBhbmRzIG5vZGVzIGFzIGV4cGVjdGVkLiIiIgorICAgICAgICBzYXgyZG9tID0gcHVsbGRvbS5TQVgyRE9NKCkKKyAgICAgICAgc2F4MmRvbS5zdGFydERvY3VtZW50KCkKKyAgICAgICAgc2F4MmRvbS5zdGFydEVsZW1lbnQoImRvYyIsIHt9KQorICAgICAgICBzYXgyZG9tLmNoYXJhY3RlcnMoInRleHQiKQorICAgICAgICBzYXgyZG9tLnN0YXJ0RWxlbWVudCgic3ViZWxtIiwge30pCisgICAgICAgIHNheDJkb20uY2hhcmFjdGVycygidGV4dCIpCisgICAgICAgIHNheDJkb20uZW5kRWxlbWVudCgic3ViZWxtIikKKyAgICAgICAgc2F4MmRvbS5jaGFyYWN0ZXJzKCJ0ZXh0IikKKyAgICAgICAgc2F4MmRvbS5lbmRFbGVtZW50KCJkb2MiKQorICAgICAgICBzYXgyZG9tLmVuZERvY3VtZW50KCkKKworICAgICAgICBkb2MgPSBzYXgyZG9tLmRvY3VtZW50CisgICAgICAgIHJvb3QgPSBkb2MuZG9jdW1lbnRFbGVtZW50CisgICAgICAgICh0ZXh0MSwgZWxtMSwgdGV4dDIpID0gcm9vdC5jaGlsZE5vZGVzCisgICAgICAgIHRleHQzID0gZWxtMS5jaGlsZE5vZGVzWzBdCisKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUodGV4dDEucHJldmlvdXNTaWJsaW5nKQorICAgICAgICBzZWxmLmFzc2VydElzKHRleHQxLm5leHRTaWJsaW5nLCBlbG0xKQorICAgICAgICBzZWxmLmFzc2VydElzKGVsbTEucHJldmlvdXNTaWJsaW5nLCB0ZXh0MSkKKyAgICAgICAgc2VsZi5hc3NlcnRJcyhlbG0xLm5leHRTaWJsaW5nLCB0ZXh0MikKKyAgICAgICAgc2VsZi5hc3NlcnRJcyh0ZXh0Mi5wcmV2aW91c1NpYmxpbmcsIGVsbTEpCisgICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKHRleHQyLm5leHRTaWJsaW5nKQorICAgICAgICBzZWxmLmFzc2VydElzTm9uZSh0ZXh0My5wcmV2aW91c1NpYmxpbmcpCisgICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKHRleHQzLm5leHRTaWJsaW5nKQorCisgICAgICAgIHNlbGYuYXNzZXJ0SXMocm9vdC5wYXJlbnROb2RlLCBkb2MpCisgICAgICAgIHNlbGYuYXNzZXJ0SXModGV4dDEucGFyZW50Tm9kZSwgcm9vdCkKKyAgICAgICAgc2VsZi5hc3NlcnRJcyhlbG0xLnBhcmVudE5vZGUsIHJvb3QpCisgICAgICAgIHNlbGYuYXNzZXJ0SXModGV4dDIucGFyZW50Tm9kZSwgcm9vdCkKKyAgICAgICAgc2VsZi5hc3NlcnRJcyh0ZXh0My5wYXJlbnROb2RlLCBlbG0xKQorICAgICAgICBkb2MudW5saW5rKCkKKworCitkZWYgdGVzdF9tYWluKCk6CisgICAgcnVuX3VuaXR0ZXN0KFB1bGxET01UZXN0Q2FzZSwgVGhvcm91Z2hUZXN0Q2FzZSwgU0FYMkRPTVRlc3RDYXNlKQorCisKK2lmIF9fbmFtZV9fID09ICJfX21haW5fXyI6CisgICAgdGVzdF9tYWluKCkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfcHlkb2MucHkgYi9MaWIvdGVzdC90ZXN0X3B5ZG9jLnB5CmluZGV4IDY1YjBhYjUuLmU4MDVlZDggMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfcHlkb2MucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9weWRvYy5weQpAQCAtMTk4LDcgKzE5OCw3IEBACiBtaXNzaW5nX3BhdHRlcm4gPSAibm8gUHl0aG9uIGRvY3VtZW50YXRpb24gZm91bmQgZm9yICclcyciCiAKICMgb3V0cHV0IHBhdHRlcm4gZm9yIG1vZHVsZSB3aXRoIGJhZCBpbXBvcnRzCi1iYWRpbXBvcnRfcGF0dGVybiA9ICJwcm9ibGVtIGluICVzIC0gSW1wb3J0RXJyb3I6IE5vIG1vZHVsZSBuYW1lZCAlcyIKK2JhZGltcG9ydF9wYXR0ZXJuID0gInByb2JsZW0gaW4gJXMgLSBJbXBvcnRFcnJvcjogTm8gbW9kdWxlIG5hbWVkICVyIgogCiBkZWYgcnVuX3B5ZG9jKG1vZHVsZV9uYW1lLCAqYXJncywgKiplbnYpOgogICAgICIiIgpAQCAtMjM2LDggKzIzNiw4IEBACiBkZWYgcHJpbnRfZGlmZnModGV4dDEsIHRleHQyKToKICAgICAiUHJpbnRzIHVuaWZpZWQgZGlmZnMgZm9yIHR3byB0ZXh0cyIKICAgICAjIFhYWCBub3cgb2Jzb2xldGUsIHVzZSB1bml0dGVzdCBidWlsdC1pbiBzdXBwb3J0Ci0gICAgbGluZXMxID0gdGV4dDEuc3BsaXRsaW5lcyhUcnVlKQotICAgIGxpbmVzMiA9IHRleHQyLnNwbGl0bGluZXMoVHJ1ZSkKKyAgICBsaW5lczEgPSB0ZXh0MS5zcGxpdGxpbmVzKGtlZXBlbmRzPVRydWUpCisgICAgbGluZXMyID0gdGV4dDIuc3BsaXRsaW5lcyhrZWVwZW5kcz1UcnVlKQogICAgIGRpZmZzID0gZGlmZmxpYi51bmlmaWVkX2RpZmYobGluZXMxLCBsaW5lczIsIG49MCwgZnJvbWZpbGU9J2V4cGVjdGVkJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvZmlsZT0nZ290JykKICAgICBwcmludCgnXG4nICsgJycuam9pbihkaWZmcykpCkBAIC0yNTQsNiArMjU0LDggQEAKIAogICAgIEB1bml0dGVzdC5za2lwSWYoc3lzLmZsYWdzLm9wdGltaXplID49IDIsCiAgICAgICAgICAgICAgICAgICAgICAiRG9jc3RyaW5ncyBhcmUgb21pdHRlZCB3aXRoIC1PMiBhbmQgYWJvdmUiKQorICAgIEB1bml0dGVzdC5za2lwSWYoaGFzYXR0cihzeXMsICdnZXR0cmFjZScpIGFuZCBzeXMuZ2V0dHJhY2UoKSwKKyAgICAgICAgICAgICAgICAgICAgICd0cmFjZSBmdW5jdGlvbiBpbnRyb2R1Y2VzIF9fbG9jYWxzX18gdW5leHBlY3RlZGx5JykKICAgICBkZWYgdGVzdF9odG1sX2RvYyhzZWxmKToKICAgICAgICAgcmVzdWx0LCBkb2NfbG9jID0gZ2V0X3B5ZG9jX2h0bWwocHlkb2NfbW9kKQogICAgICAgICBtb2RfZmlsZSA9IGluc3BlY3QuZ2V0YWJzZmlsZShweWRvY19tb2QpCkBAIC0yNjksNiArMjcxLDggQEAKIAogICAgIEB1bml0dGVzdC5za2lwSWYoc3lzLmZsYWdzLm9wdGltaXplID49IDIsCiAgICAgICAgICAgICAgICAgICAgICAiRG9jc3RyaW5ncyBhcmUgb21pdHRlZCB3aXRoIC1PMiBhbmQgYWJvdmUiKQorICAgIEB1bml0dGVzdC5za2lwSWYoaGFzYXR0cihzeXMsICdnZXR0cmFjZScpIGFuZCBzeXMuZ2V0dHJhY2UoKSwKKyAgICAgICAgICAgICAgICAgICAgICd0cmFjZSBmdW5jdGlvbiBpbnRyb2R1Y2VzIF9fbG9jYWxzX18gdW5leHBlY3RlZGx5JykKICAgICBkZWYgdGVzdF90ZXh0X2RvYyhzZWxmKToKICAgICAgICAgcmVzdWx0LCBkb2NfbG9jID0gZ2V0X3B5ZG9jX3RleHQocHlkb2NfbW9kKQogICAgICAgICBleHBlY3RlZF90ZXh0ID0gZXhwZWN0ZWRfdGV4dF9wYXR0ZXJuICUgXApAQCAtMzEwLDYgKzMxNCw4IEBACiAKICAgICBAdW5pdHRlc3Quc2tpcElmKHN5cy5mbGFncy5vcHRpbWl6ZSA+PSAyLAogICAgICAgICAgICAgICAgICAgICAgJ0RvY3N0cmluZ3MgYXJlIG9taXR0ZWQgd2l0aCAtTzIgYW5kIGFib3ZlJykKKyAgICBAdW5pdHRlc3Quc2tpcElmKGhhc2F0dHIoc3lzLCAnZ2V0dHJhY2UnKSBhbmQgc3lzLmdldHRyYWNlKCksCisgICAgICAgICAgICAgICAgICAgICAndHJhY2UgZnVuY3Rpb24gaW50cm9kdWNlcyBfX2xvY2Fsc19fIHVuZXhwZWN0ZWRseScpCiAgICAgZGVmIHRlc3RfaGVscF9vdXRwdXRfcmVkaXJlY3Qoc2VsZik6CiAgICAgICAgICMgaXNzdWUgOTQwMjg2LCBpZiBvdXRwdXQgaXMgc2V0IGluIEhlbHBlciwgdGhlbiBhbGwgb3V0cHV0IGZyb20KICAgICAgICAgIyBIZWxwZXIuaGVscCBzaG91bGQgYmUgcmVkaXJlY3RlZApkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9yYWlzZS5weSBiL0xpYi90ZXN0L3Rlc3RfcmFpc2UucHkKaW5kZXggZTAyYzFhZi4uOGFlOTIxMCAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9yYWlzZS5weQorKysgYi9MaWIvdGVzdC90ZXN0X3JhaXNlLnB5CkBAIC0zLDEyICszLDI3IEBACiAKICIiIlRlc3RzIGZvciB0aGUgcmFpc2Ugc3RhdGVtZW50LiIiIgogCi1mcm9tIHRlc3QgaW1wb3J0IHN1cHBvcnQKK2Zyb20gdGVzdCBpbXBvcnQgc3VwcG9ydCwgc2NyaXB0X2hlbHBlcgoraW1wb3J0IHJlCiBpbXBvcnQgc3lzCiBpbXBvcnQgdHlwZXMKIGltcG9ydCB1bml0dGVzdAogCiAKK3RyeToKKyAgICBmcm9tIHJlc291cmNlIGltcG9ydCBzZXRybGltaXQsIFJMSU1JVF9DT1JFLCBlcnJvciBhcyByZXNvdXJjZV9lcnJvcgorZXhjZXB0IEltcG9ydEVycm9yOgorICAgIHByZXBhcmVfc3VicHJvY2VzcyA9IE5vbmUKK2Vsc2U6CisgICAgZGVmIHByZXBhcmVfc3VicHJvY2VzcygpOgorICAgICAgICAjIGRvbid0IGNyZWF0ZSBjb3JlIGZpbGUKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgc2V0cmxpbWl0KFJMSU1JVF9DT1JFLCAoMCwgMCkpCisgICAgICAgIGV4Y2VwdCAoVmFsdWVFcnJvciwgcmVzb3VyY2VfZXJyb3IpOgorICAgICAgICAgICAgcGFzcworCisKKwogZGVmIGdldF90YigpOgogICAgIHRyeToKICAgICAgICAgcmFpc2UgT1NFcnJvcigpCkBAIC03Nyw2ICs5MiwxNiBAQAogICAgICAgICAgICAgICAgIG5lc3RlZF9yZXJhaXNlKCkKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCByZXJhaXNlKQogCisgICAgZGVmIHRlc3RfcmFpc2VfZnJvbV9Ob25lKHNlbGYpOgorICAgICAgICB0cnk6CisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCJmb28iKQorICAgICAgICAgICAgZXhjZXB0OgorICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoKSBmcm9tIE5vbmUKKyAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3IgYXMgZToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShpc2luc3RhbmNlKGUuX19jb250ZXh0X18sIFR5cGVFcnJvcikpCisgICAgICAgICAgICBzZWxmLmFzc2VydElzTm9uZShlLl9fY2F1c2VfXykKKwogICAgIGRlZiB0ZXN0X3dpdGhfcmVyYWlzZTEoc2VsZik6CiAgICAgICAgIGRlZiByZXJhaXNlKCk6CiAgICAgICAgICAgICB0cnk6CkBAIC0xMzAsOCArMTU1LDMyIEBACiAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yKToKICAgICAgICAgICAgIHJhaXNlIE15RXhjZXB0aW9uCiAKKyAgICBkZWYgdGVzdF9hc3NlcnRfd2l0aF90dXBsZV9hcmcoc2VsZik6CisgICAgICAgIHRyeToKKyAgICAgICAgICAgIGFzc2VydCBGYWxzZSwgKDMsKQorICAgICAgICBleGNlcHQgQXNzZXJ0aW9uRXJyb3IgYXMgZToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKGUpLCAiKDMsKSIpCisKKwogCiBjbGFzcyBUZXN0Q2F1c2UodW5pdHRlc3QuVGVzdENhc2UpOgorCisgICAgZGVmIHRlc3RDYXVzZVN5bnRheChzZWxmKToKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yCisgICAgICAgICAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbjoKKyAgICAgICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvciBmcm9tIE5vbmUKKyAgICAgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yIGFzIGV4YzoKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydElzTm9uZShleGMuX19jYXVzZV9fKQorICAgICAgICAgICAgICAgIHJhaXNlIGV4YyBmcm9tIEVsbGlwc2lzCisgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yIGFzIGV4YzoKKyAgICAgICAgICAgIGUgPSBleGMKKworICAgICAgICBzZWxmLmFzc2VydElzKGUuX19jYXVzZV9fLCBFbGxpcHNpcykKKyAgICAgICAgc2VsZi5hc3NlcnRJc0luc3RhbmNlKGUuX19jb250ZXh0X18sIFR5cGVFcnJvcikKKwogICAgIGRlZiB0ZXN0X2ludmFsaWRfY2F1c2Uoc2VsZik6CiAgICAgICAgIHRyeToKICAgICAgICAgICAgIHJhaXNlIEluZGV4RXJyb3IgZnJvbSA1CkBAIC0xNzEsNiArMjIwLDQ0IEBACiAKIAogY2xhc3MgVGVzdFRyYWNlYmFjayh1bml0dGVzdC5UZXN0Q2FzZSk6CisKKyAgICBkZWYgZ2V0X291dHB1dChzZWxmLCBjb2RlLCBmaWxlbmFtZT1Ob25lKToKKyAgICAgICAgIiIiCisgICAgICAgIFJ1biB0aGUgc3BlY2lmaWVkIGNvZGUgaW4gUHl0aG9uIChpbiBhIG5ldyBjaGlsZCBwcm9jZXNzKSBhbmQgcmVhZCB0aGUKKyAgICAgICAgb3V0cHV0IGZyb20gdGhlIHN0YW5kYXJkIGVycm9yIG9yIGZyb20gYSBmaWxlIChpZiBmaWxlbmFtZSBpcyBzZXQpLgorICAgICAgICBSZXR1cm4gdGhlIG91dHB1dCBsaW5lcyBhcyBhIGxpc3QuCisgICAgICAgICIiIgorICAgICAgICBvcHRpb25zID0ge30KKyAgICAgICAgaWYgcHJlcGFyZV9zdWJwcm9jZXNzOgorICAgICAgICAgICAgb3B0aW9uc1sncHJlZXhlY19mbiddID0gcHJlcGFyZV9zdWJwcm9jZXNzCisgICAgICAgIHByb2Nlc3MgPSBzY3JpcHRfaGVscGVyLnNwYXduX3B5dGhvbignLWMnLCBjb2RlLCAqKm9wdGlvbnMpCisgICAgICAgIHN0ZG91dCwgc3RkZXJyID0gcHJvY2Vzcy5jb21tdW5pY2F0ZSgpCisgICAgICAgIGV4aXRjb2RlID0gcHJvY2Vzcy53YWl0KCkKKyAgICAgICAgb3V0cHV0ID0gc3VwcG9ydC5zdHJpcF9weXRob25fc3RkZXJyKHN0ZG91dCkKKyAgICAgICAgb3V0cHV0ID0gb3V0cHV0LmRlY29kZSgnYXNjaWknLCAnYmFja3NsYXNocmVwbGFjZScpCisgICAgICAgIGlmIGZpbGVuYW1lOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvdXRwdXQsICcnKQorICAgICAgICAgICAgd2l0aCBvcGVuKGZpbGVuYW1lLCAicmIiKSBhcyBmcDoKKyAgICAgICAgICAgICAgICBvdXRwdXQgPSBmcC5yZWFkKCkKKyAgICAgICAgICAgIG91dHB1dCA9IG91dHB1dC5kZWNvZGUoJ2FzY2lpJywgJ2JhY2tzbGFzaHJlcGxhY2UnKQorICAgICAgICBvdXRwdXQgPSByZS5zdWIoJ0N1cnJlbnQgdGhyZWFkIDB4WzAtOWEtZl0rJywKKyAgICAgICAgICAgICAgICAgICAgICAgICdDdXJyZW50IHRocmVhZCBYWFgnLAorICAgICAgICAgICAgICAgICAgICAgICAgb3V0cHV0KQorICAgICAgICByZXR1cm4gb3V0cHV0LnNwbGl0bGluZXMoKSwgZXhpdGNvZGUKKworICAgIGRlZiB0ZXN0X3RyYWNlYmFja192ZXJiaWFnZShzZWxmKToKKyAgICAgICAgY29kZSA9ICIiIgordHJ5OgorICAgIHJhaXNlIFZhbHVlRXJyb3IKK2V4Y2VwdDoKKyAgICByYWlzZSBOYW1lRXJyb3IgZnJvbSBOb25lCisiIiIKKyAgICAgICAgdGV4dCwgZXhpdGNvZGUgPSBzZWxmLmdldF9vdXRwdXQoY29kZSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4odGV4dCksIDMpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSh0ZXh0WzBdLnN0YXJ0c3dpdGgoJ1RyYWNlYmFjaycpKQorICAgICAgICBzZWxmLmFzc2VydFRydWUodGV4dFsxXS5zdGFydHN3aXRoKCcgIEZpbGUgJykpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSh0ZXh0WzJdLnN0YXJ0c3dpdGgoJ05hbWVFcnJvcicpKQorCiAgICAgZGVmIHRlc3Rfc2V0c190cmFjZWJhY2soc2VsZik6CiAgICAgICAgIHRyeToKICAgICAgICAgICAgIHJhaXNlIEluZGV4RXJyb3IoKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9yYW5nZS5weSBiL0xpYi90ZXN0L3Rlc3RfcmFuZ2UucHkKaW5kZXggZWRlMDc5MS4uMmUzMzVjYyAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9yYW5nZS5weQorKysgYi9MaWIvdGVzdC90ZXN0X3JhbmdlLnB5CkBAIC01MDcsNiArNTA3LDg3IEBACiAgICAgICAgICAgICAgICAgZm9yIGsgaW4gdmFsdWVzIC0gezB9OgogICAgICAgICAgICAgICAgICAgICByW2k6ajprXQogCisgICAgZGVmIHRlc3RfY29tcGFyaXNvbihzZWxmKToKKyAgICAgICAgdGVzdF9yYW5nZXMgPSBbcmFuZ2UoMCksIHJhbmdlKDAsIC0xKSwgcmFuZ2UoMSwgMSwgMyksCisgICAgICAgICAgICAgICAgICAgICAgIHJhbmdlKDEpLCByYW5nZSg1LCA2KSwgcmFuZ2UoNSwgNiwgMiksCisgICAgICAgICAgICAgICAgICAgICAgIHJhbmdlKDUsIDcsIDIpLCByYW5nZSgyKSwgcmFuZ2UoMCwgNCwgMiksCisgICAgICAgICAgICAgICAgICAgICAgIHJhbmdlKDAsIDUsIDIpLCByYW5nZSgwLCA2LCAyKV0KKyAgICAgICAgdGVzdF90dXBsZXMgPSBsaXN0KG1hcCh0dXBsZSwgdGVzdF9yYW5nZXMpKQorCisgICAgICAgICMgQ2hlY2sgdGhhdCBlcXVhbGl0eSBvZiByYW5nZXMgbWF0Y2hlcyBlcXVhbGl0eSBvZiB0aGUgY29ycmVzcG9uZGluZworICAgICAgICAjIHR1cGxlcyBmb3IgZWFjaCBwYWlyIGZyb20gdGhlIHRlc3QgbGlzdHMgYWJvdmUuCisgICAgICAgIHJhbmdlc19lcSA9IFthID09IGIgZm9yIGEgaW4gdGVzdF9yYW5nZXMgZm9yIGIgaW4gdGVzdF9yYW5nZXNdCisgICAgICAgIHR1cGxlc19lcSA9IFthID09IGIgZm9yIGEgaW4gdGVzdF90dXBsZXMgZm9yIGIgaW4gdGVzdF90dXBsZXNdCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmFuZ2VzX2VxLCB0dXBsZXNfZXEpCisKKyAgICAgICAgIyBDaGVjayB0aGF0ICE9IGNvcnJlY3RseSBnaXZlcyB0aGUgbG9naWNhbCBuZWdhdGlvbiBvZiA9PQorICAgICAgICByYW5nZXNfbmUgPSBbYSAhPSBiIGZvciBhIGluIHRlc3RfcmFuZ2VzIGZvciBiIGluIHRlc3RfcmFuZ2VzXQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJhbmdlc19uZSwgW25vdCB4IGZvciB4IGluIHJhbmdlc19lcV0pCisKKyAgICAgICAgIyBFcXVhbCByYW5nZXMgc2hvdWxkIGhhdmUgZXF1YWwgaGFzaGVzLgorICAgICAgICBmb3IgYSBpbiB0ZXN0X3JhbmdlczoKKyAgICAgICAgICAgIGZvciBiIGluIHRlc3RfcmFuZ2VzOgorICAgICAgICAgICAgICAgIGlmIGEgPT0gYjoKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChoYXNoKGEpLCBoYXNoKGIpKQorCisgICAgICAgICMgUmFuZ2VzIGFyZSB1bmVxdWFsIHRvIG90aGVyIHR5cGVzIChldmVuIHNlcXVlbmNlIHR5cGVzKQorICAgICAgICBzZWxmLmFzc2VydElzKHJhbmdlKDApID09ICgpLCBGYWxzZSkKKyAgICAgICAgc2VsZi5hc3NlcnRJcygoKSA9PSByYW5nZSgwKSwgRmFsc2UpCisgICAgICAgIHNlbGYuYXNzZXJ0SXMocmFuZ2UoMikgPT0gWzAsIDFdLCBGYWxzZSkKKworICAgICAgICAjIEh1Z2UgaW50ZWdlcnMgYXJlbid0IGEgcHJvYmxlbS4KKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyYW5nZSgwLCAyKioxMDAgLSAxLCAyKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICByYW5nZSgwLCAyKioxMDAsIDIpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGhhc2gocmFuZ2UoMCwgMioqMTAwIC0gMSwgMikpLAorICAgICAgICAgICAgICAgICAgICAgICAgIGhhc2gocmFuZ2UoMCwgMioqMTAwLCAyKSkpCisgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwocmFuZ2UoMCwgMioqMTAwLCAyKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICByYW5nZSgwLCAyKioxMDAgKyAxLCAyKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyYW5nZSgyKioyMDAsIDIqKjIwMSAtIDIqKjk5LCAyKioxMDApLAorICAgICAgICAgICAgICAgICAgICAgICAgIHJhbmdlKDIqKjIwMCwgMioqMjAxLCAyKioxMDApKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGhhc2gocmFuZ2UoMioqMjAwLCAyKioyMDEgLSAyKio5OSwgMioqMTAwKSksCisgICAgICAgICAgICAgICAgICAgICAgICAgaGFzaChyYW5nZSgyKioyMDAsIDIqKjIwMSwgMioqMTAwKSkpCisgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwocmFuZ2UoMioqMjAwLCAyKioyMDEsIDIqKjEwMCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFuZ2UoMioqMjAwLCAyKioyMDEgKyAxLCAyKioxMDApKQorCisgICAgICAgICMgT3JkZXIgY29tcGFyaXNvbnMgYXJlIG5vdCBpbXBsZW1lbnRlZCBmb3IgcmFuZ2VzLgorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvcik6CisgICAgICAgICAgICByYW5nZSgwKSA8IHJhbmdlKDApCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yKToKKyAgICAgICAgICAgIHJhbmdlKDApID4gcmFuZ2UoMCkKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IpOgorICAgICAgICAgICAgcmFuZ2UoMCkgPD0gcmFuZ2UoMCkKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IpOgorICAgICAgICAgICAgcmFuZ2UoMCkgPj0gcmFuZ2UoMCkKKworCisgICAgZGVmIHRlc3RfYXR0cmlidXRlcyhzZWxmKToKKyAgICAgICAgIyB0ZXN0IHRoZSBzdGFydCwgc3RvcCBhbmQgc3RlcCBhdHRyaWJ1dGVzIG9mIHJhbmdlIG9iamVjdHMKKyAgICAgICAgc2VsZi5hc3NlcnRfYXR0cnMocmFuZ2UoMCksIDAsIDAsIDEpCisgICAgICAgIHNlbGYuYXNzZXJ0X2F0dHJzKHJhbmdlKDEwKSwgMCwgMTAsIDEpCisgICAgICAgIHNlbGYuYXNzZXJ0X2F0dHJzKHJhbmdlKC0xMCksIDAsIC0xMCwgMSkKKyAgICAgICAgc2VsZi5hc3NlcnRfYXR0cnMocmFuZ2UoMCwgMTAsIDEpLCAwLCAxMCwgMSkKKyAgICAgICAgc2VsZi5hc3NlcnRfYXR0cnMocmFuZ2UoMCwgMTAsIDMpLCAwLCAxMCwgMykKKyAgICAgICAgc2VsZi5hc3NlcnRfYXR0cnMocmFuZ2UoMTAsIDAsIC0xKSwgMTAsIDAsIC0xKQorICAgICAgICBzZWxmLmFzc2VydF9hdHRycyhyYW5nZSgxMCwgMCwgLTMpLCAxMCwgMCwgLTMpCisKKyAgICBkZWYgYXNzZXJ0X2F0dHJzKHNlbGYsIHJhbmdlb2JqLCBzdGFydCwgc3RvcCwgc3RlcCk6CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmFuZ2VvYmouc3RhcnQsIHN0YXJ0KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJhbmdlb2JqLnN0b3AsIHN0b3ApCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmFuZ2VvYmouc3RlcCwgc3RlcCkKKworICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKEF0dHJpYnV0ZUVycm9yKToKKyAgICAgICAgICAgIHJhbmdlb2JqLnN0YXJ0ID0gMAorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKEF0dHJpYnV0ZUVycm9yKToKKyAgICAgICAgICAgIHJhbmdlb2JqLnN0b3AgPSAxMAorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKEF0dHJpYnV0ZUVycm9yKToKKyAgICAgICAgICAgIHJhbmdlb2JqLnN0ZXAgPSAxCisKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhBdHRyaWJ1dGVFcnJvcik6CisgICAgICAgICAgICBkZWwgcmFuZ2VvYmouc3RhcnQKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhBdHRyaWJ1dGVFcnJvcik6CisgICAgICAgICAgICBkZWwgcmFuZ2VvYmouc3RvcAorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKEF0dHJpYnV0ZUVycm9yKToKKyAgICAgICAgICAgIGRlbCByYW5nZW9iai5zdGVwCiAKIGRlZiB0ZXN0X21haW4oKToKICAgICB0ZXN0LnN1cHBvcnQucnVuX3VuaXR0ZXN0KFJhbmdlVGVzdCkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfcmUucHkgYi9MaWIvdGVzdC90ZXN0X3JlLnB5CmluZGV4IDk0MGJhMzkuLjc0YTdiNzEgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfcmUucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9yZS5weQpAQCAtNDY2LDcgKzQ2Niw3IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobS5zcGFuKCksIHNwYW4pCiAKICAgICBkZWYgdGVzdF9yZV9lc2NhcGUoc2VsZik6Ci0gICAgICAgIGFsbnVtX2NoYXJzID0gc3RyaW5nLmFzY2lpX2xldHRlcnMgKyBzdHJpbmcuZGlnaXRzCisgICAgICAgIGFsbnVtX2NoYXJzID0gc3RyaW5nLmFzY2lpX2xldHRlcnMgKyBzdHJpbmcuZGlnaXRzICsgJ18nCiAgICAgICAgIHAgPSAnJy5qb2luKGNocihpKSBmb3IgaSBpbiByYW5nZSgyNTYpKQogICAgICAgICBmb3IgYyBpbiBwOgogICAgICAgICAgICAgaWYgYyBpbiBhbG51bV9jaGFyczoKQEAgLTQ3OSw3ICs0NzksNyBAQAogICAgICAgICBzZWxmLmFzc2VydE1hdGNoKHJlLmVzY2FwZShwKSwgcCkKIAogICAgIGRlZiB0ZXN0X3JlX2VzY2FwZV9ieXRlKHNlbGYpOgotICAgICAgICBhbG51bV9jaGFycyA9IChzdHJpbmcuYXNjaWlfbGV0dGVycyArIHN0cmluZy5kaWdpdHMpLmVuY29kZSgnYXNjaWknKQorICAgICAgICBhbG51bV9jaGFycyA9IChzdHJpbmcuYXNjaWlfbGV0dGVycyArIHN0cmluZy5kaWdpdHMgKyAnXycpLmVuY29kZSgnYXNjaWknKQogICAgICAgICBwID0gYnl0ZXMocmFuZ2UoMjU2KSkKICAgICAgICAgZm9yIGkgaW4gcDoKICAgICAgICAgICAgIGIgPSBieXRlcyhbaV0pCkBAIC02NTIsNiArNjUyLDI2IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoW2l0ZW0uZ3JvdXAoMCkgZm9yIGl0ZW0gaW4gaXRlcl0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgWyI6IiwgIjo6IiwgIjo6OiJdKQogCisgICAgICAgIHBhdCA9IHJlLmNvbXBpbGUociI6KyIpCisgICAgICAgIGl0ZXIgPSBwYXQuZmluZGl0ZXIoImE6Yjo6Yzo6OmQiLCAxLCAxMCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChbaXRlbS5ncm91cCgwKSBmb3IgaXRlbSBpbiBpdGVyXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBbIjoiLCAiOjoiLCAiOjo6Il0pCisKKyAgICAgICAgcGF0ID0gcmUuY29tcGlsZShyIjorIikKKyAgICAgICAgaXRlciA9IHBhdC5maW5kaXRlcigiYTpiOjpjOjo6ZCIsIHBvcz0xLCBlbmRwb3M9MTApCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoW2l0ZW0uZ3JvdXAoMCkgZm9yIGl0ZW0gaW4gaXRlcl0sCisgICAgICAgICAgICAgICAgICAgICAgICAgWyI6IiwgIjo6IiwgIjo6OiJdKQorCisgICAgICAgIHBhdCA9IHJlLmNvbXBpbGUociI6KyIpCisgICAgICAgIGl0ZXIgPSBwYXQuZmluZGl0ZXIoImE6Yjo6Yzo6OmQiLCBlbmRwb3M9MTAsIHBvcz0xKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKFtpdGVtLmdyb3VwKDApIGZvciBpdGVtIGluIGl0ZXJdLAorICAgICAgICAgICAgICAgICAgICAgICAgIFsiOiIsICI6OiIsICI6OjoiXSkKKworICAgICAgICBwYXQgPSByZS5jb21waWxlKHIiOisiKQorICAgICAgICBpdGVyID0gcGF0LmZpbmRpdGVyKCJhOmI6OmM6OjpkIiwgcG9zPTMsIGVuZHBvcz04KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKFtpdGVtLmdyb3VwKDApIGZvciBpdGVtIGluIGl0ZXJdLAorICAgICAgICAgICAgICAgICAgICAgICAgIFsiOjoiLCAiOjoiXSkKKwogICAgIGRlZiB0ZXN0X2J1Z185MjYwNzUoc2VsZik6CiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShyZS5jb21waWxlKCdidWdfOTI2MDc1JykgaXMgbm90CiAgICAgICAgICAgICAgICAgICAgICByZS5jb21waWxlKGInYnVnXzkyNjA3NScpKQpAQCAtODE4LDYgKzgzOCwxMyBAQAogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhPdmVyZmxvd0Vycm9yLCBfc3JlLmNvbXBpbGUsICJhYmMiLCAwLCBbbG9uZ19vdmVyZmxvd10pCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgX3NyZS5jb21waWxlLCB7fSwgMCwgW10pCiAKKyAgICBkZWYgdGVzdF9zZWFyY2hfZG90X3VuaWNvZGUoc2VsZik6CisgICAgICAgIHNlbGYuYXNzZXJ0SXNOb3ROb25lKHJlLnNlYXJjaCgiMTIzLiotIiwgJzEyM2FiYy0nKSkKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vdE5vbmUocmUuc2VhcmNoKCIxMjMuKi0iLCAnMTIzXHhlOS0nKSkKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vdE5vbmUocmUuc2VhcmNoKCIxMjMuKi0iLCAnMTIzXHUyMGFjLScpKQorICAgICAgICBzZWxmLmFzc2VydElzTm90Tm9uZShyZS5zZWFyY2goIjEyMy4qLSIsICcxMjNcVTAwMTBmZmZmLScpKQorICAgICAgICBzZWxmLmFzc2VydElzTm90Tm9uZShyZS5zZWFyY2goIjEyMy4qLSIsICcxMjNceGU5XHUyMGFjXFUwMDEwZmZmZi0nKSkKKwogICAgIGRlZiB0ZXN0X2NvbXBpbGUoc2VsZik6CiAgICAgICAgICMgVGVzdCByZXR1cm4gdmFsdWUgd2hlbiBnaXZlbiBzdHJpbmcgYW5kIHBhdHRlcm4gYXMgcGFyYW1ldGVyCiAgICAgICAgIHBhdHRlcm4gPSByZS5jb21waWxlKCdyYW5kb20gcGF0dGVybicpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3JlcHJsaWIucHkgYi9MaWIvdGVzdC90ZXN0X3JlcHJsaWIucHkKaW5kZXggYjBkYzRkNy4uZTc1YmExYyAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9yZXBybGliLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfcmVwcmxpYi5weQpAQCAtNiw5ICs2LDEwIEBACiBpbXBvcnQgc3lzCiBpbXBvcnQgb3MKIGltcG9ydCBzaHV0aWwKK2ltcG9ydCBpbXBvcnRsaWIKIGltcG9ydCB1bml0dGVzdAogCi1mcm9tIHRlc3Quc3VwcG9ydCBpbXBvcnQgcnVuX3VuaXR0ZXN0Citmcm9tIHRlc3Quc3VwcG9ydCBpbXBvcnQgcnVuX3VuaXR0ZXN0LCBjcmVhdGVfZW1wdHlfZmlsZQogZnJvbSByZXBybGliIGltcG9ydCByZXByIGFzIHIgIyBEb24ndCBzaGFkb3cgYnVpbHRpbiByZXByCiBmcm9tIHJlcHJsaWIgaW1wb3J0IFJlcHIKIGZyb20gcmVwcmxpYiBpbXBvcnQgcmVjdXJzaXZlX3JlcHIKQEAgLTEyOSw4ICsxMzAsOCBAQAogICAgICAgICBzZWxmLmFzc2VydEluKHMuZmluZCgiLi4uIiksIFsxMiwgMTNdKQogCiAgICAgZGVmIHRlc3RfbGFtYmRhKHNlbGYpOgotICAgICAgICBzZWxmLmFzc2VydFRydWUocmVwcihsYW1iZGEgeDogeCkuc3RhcnRzd2l0aCgKLSAgICAgICAgICAgICI8ZnVuY3Rpb24gPGxhbWJkYSIpKQorICAgICAgICByID0gcmVwcihsYW1iZGEgeDogeCkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHIuc3RhcnRzd2l0aCgiPGZ1bmN0aW9uIFJlcHJUZXN0cy50ZXN0X2xhbWJkYS48bG9jYWxzPi48bGFtYmRhIiksIHIpCiAgICAgICAgICMgWFhYIGFub255bW91cyBmdW5jdGlvbnM/ICBzZWUgZnVuY19yZXByCiAKICAgICBkZWYgdGVzdF9idWlsdGluX2Z1bmN0aW9uKHNlbGYpOgpAQCAtMTkzLDEwICsxOTQsOSBAQAogICAgICAgICByKHkpCiAgICAgICAgIHIoeikKIAotZGVmIHRvdWNoKHBhdGgsIHRleHQ9JycpOgotICAgIGZwID0gb3BlbihwYXRoLCAndycpCi0gICAgZnAud3JpdGUodGV4dCkKLSAgICBmcC5jbG9zZSgpCitkZWYgd3JpdGVfZmlsZShwYXRoLCB0ZXh0KToKKyAgICB3aXRoIG9wZW4ocGF0aCwgJ3cnLCBlbmNvZGluZz0nQVNDSUknKSBhcyBmcDoKKyAgICAgICAgZnAud3JpdGUodGV4dCkKIAogY2xhc3MgTG9uZ1JlcHJUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICBkZWYgc2V0VXAoc2VsZik6CkBAIC0yMDYsMTMgKzIwNiwxNCBAQAogICAgICAgICAjIE1ha2UgdGhlIHBhY2thZ2UgYW5kIHN1YnBhY2thZ2UKICAgICAgICAgc2h1dGlsLnJtdHJlZShzZWxmLnBrZ25hbWUsIGlnbm9yZV9lcnJvcnM9VHJ1ZSkKICAgICAgICAgb3MubWtkaXIoc2VsZi5wa2duYW1lKQotICAgICAgICB0b3VjaChvcy5wYXRoLmpvaW4oc2VsZi5wa2duYW1lLCAnX19pbml0X18ucHknKSkKKyAgICAgICAgY3JlYXRlX2VtcHR5X2ZpbGUob3MucGF0aC5qb2luKHNlbGYucGtnbmFtZSwgJ19faW5pdF9fLnB5JykpCiAgICAgICAgIHNodXRpbC5ybXRyZWUoc2VsZi5zdWJwa2duYW1lLCBpZ25vcmVfZXJyb3JzPVRydWUpCiAgICAgICAgIG9zLm1rZGlyKHNlbGYuc3VicGtnbmFtZSkKLSAgICAgICAgdG91Y2gob3MucGF0aC5qb2luKHNlbGYuc3VicGtnbmFtZSwgJ19faW5pdF9fLnB5JykpCisgICAgICAgIGNyZWF0ZV9lbXB0eV9maWxlKG9zLnBhdGguam9pbihzZWxmLnN1YnBrZ25hbWUsICdfX2luaXRfXy5weScpKQogICAgICAgICAjIFJlbWVtYmVyIHdoZXJlIHdlIGFyZQogICAgICAgICBzZWxmLmhlcmUgPSBvcy5nZXRjd2QoKQogICAgICAgICBzeXMucGF0aC5pbnNlcnQoMCwgc2VsZi5oZXJlKQorICAgICAgICBpbXBvcnRsaWIuaW52YWxpZGF0ZV9jYWNoZXMoKQogCiAgICAgZGVmIHRlYXJEb3duKHNlbGYpOgogICAgICAgICBhY3Rpb25zID0gW10KQEAgLTIzMSwxNSArMjMyLDE1IEBACiAKICAgICBkZWYgdGVzdF9tb2R1bGUoc2VsZik6CiAgICAgICAgIGVxID0gc2VsZi5hc3NlcnRFcXVhbAotICAgICAgICB0b3VjaChvcy5wYXRoLmpvaW4oc2VsZi5zdWJwa2duYW1lLCBzZWxmLnBrZ25hbWUgKyAnLnB5JykpCisgICAgICAgIGNyZWF0ZV9lbXB0eV9maWxlKG9zLnBhdGguam9pbihzZWxmLnN1YnBrZ25hbWUsIHNlbGYucGtnbmFtZSArICcucHknKSkKICAgICAgICAgZnJvbSBhcmVhbGx5bG9uZ3BhY2thZ2VhbmRtb2R1bGVuYW1ldG90ZXN0cmVwcnRydW5jYXRpb24uYXJlYWxseWxvbmdwYWNrYWdlYW5kbW9kdWxlbmFtZXRvdGVzdHJlcHJ0cnVuY2F0aW9uIGltcG9ydCBhcmVhbGx5bG9uZ3BhY2thZ2VhbmRtb2R1bGVuYW1ldG90ZXN0cmVwcnRydW5jYXRpb24KICAgICAgICAgZXEocmVwcihhcmVhbGx5bG9uZ3BhY2thZ2VhbmRtb2R1bGVuYW1ldG90ZXN0cmVwcnRydW5jYXRpb24pLAotICAgICAgICAgICAiPG1vZHVsZSAnJXMnIGZyb20gJyVzJz4iICUgKGFyZWFsbHlsb25ncGFja2FnZWFuZG1vZHVsZW5hbWV0b3Rlc3RyZXBydHJ1bmNhdGlvbi5fX25hbWVfXywgYXJlYWxseWxvbmdwYWNrYWdlYW5kbW9kdWxlbmFtZXRvdGVzdHJlcHJ0cnVuY2F0aW9uLl9fZmlsZV9fKSkKKyAgICAgICAgICAgIjxtb2R1bGUgJXIgZnJvbSAlcj4iICUgKGFyZWFsbHlsb25ncGFja2FnZWFuZG1vZHVsZW5hbWV0b3Rlc3RyZXBydHJ1bmNhdGlvbi5fX25hbWVfXywgYXJlYWxseWxvbmdwYWNrYWdlYW5kbW9kdWxlbmFtZXRvdGVzdHJlcHJ0cnVuY2F0aW9uLl9fZmlsZV9fKSkKICAgICAgICAgZXEocmVwcihzeXMpLCAiPG1vZHVsZSAnc3lzJyAoYnVpbHQtaW4pPiIpCiAKICAgICBkZWYgdGVzdF90eXBlKHNlbGYpOgogICAgICAgICBlcSA9IHNlbGYuYXNzZXJ0RXF1YWwKLSAgICAgICAgdG91Y2gob3MucGF0aC5qb2luKHNlbGYuc3VicGtnbmFtZSwgJ2Zvby5weScpLCAnJydcCisgICAgICAgIHdyaXRlX2ZpbGUob3MucGF0aC5qb2luKHNlbGYuc3VicGtnbmFtZSwgJ2Zvby5weScpLCAnJydcCiBjbGFzcyBmb28ob2JqZWN0KToKICAgICBwYXNzCiAnJycpCkBAIC0yNTMsNyArMjU0LDcgQEAKICAgICAgICAgcGFzcwogCiAgICAgZGVmIHRlc3RfY2xhc3Moc2VsZik6Ci0gICAgICAgIHRvdWNoKG9zLnBhdGguam9pbihzZWxmLnN1YnBrZ25hbWUsICdiYXIucHknKSwgJycnXAorICAgICAgICB3cml0ZV9maWxlKG9zLnBhdGguam9pbihzZWxmLnN1YnBrZ25hbWUsICdiYXIucHknKSwgJycnXAogY2xhc3MgYmFyOgogICAgIHBhc3MKICcnJykKQEAgLTI2Miw3ICsyNjMsNyBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlcHIoYmFyLmJhciksICI8Y2xhc3MgJyVzLmJhcic+IiAlIGJhci5fX25hbWVfXykKIAogICAgIGRlZiB0ZXN0X2luc3RhbmNlKHNlbGYpOgotICAgICAgICB0b3VjaChvcy5wYXRoLmpvaW4oc2VsZi5zdWJwa2duYW1lLCAnYmF6LnB5JyksICcnJ1wKKyAgICAgICAgd3JpdGVfZmlsZShvcy5wYXRoLmpvaW4oc2VsZi5zdWJwa2duYW1lLCAnYmF6LnB5JyksICcnJ1wKIGNsYXNzIGJhejoKICAgICBwYXNzCiAnJycpCkBAIC0yNzMsMTkgKzI3NCwyMCBAQAogCiAgICAgZGVmIHRlc3RfbWV0aG9kKHNlbGYpOgogICAgICAgICBlcSA9IHNlbGYuYXNzZXJ0RXF1YWwKLSAgICAgICAgdG91Y2gob3MucGF0aC5qb2luKHNlbGYuc3VicGtnbmFtZSwgJ3F1eC5weScpLCAnJydcCisgICAgICAgIHdyaXRlX2ZpbGUob3MucGF0aC5qb2luKHNlbGYuc3VicGtnbmFtZSwgJ3F1eC5weScpLCAnJydcCiBjbGFzcyBhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYToKICAgICBkZWYgYW1ldGhvZChzZWxmKTogcGFzcwogJycnKQogICAgICAgICBmcm9tIGFyZWFsbHlsb25ncGFja2FnZWFuZG1vZHVsZW5hbWV0b3Rlc3RyZXBydHJ1bmNhdGlvbi5hcmVhbGx5bG9uZ3BhY2thZ2VhbmRtb2R1bGVuYW1ldG90ZXN0cmVwcnRydW5jYXRpb24gaW1wb3J0IHF1eAogICAgICAgICAjIFVuYm91bmQgbWV0aG9kcyBmaXJzdAotICAgICAgICBzZWxmLmFzc2VydFRydWUocmVwcihxdXguYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWEuYW1ldGhvZCkuc3RhcnRzd2l0aCgKLSAgICAgICAgJzxmdW5jdGlvbiBhbWV0aG9kJykpCisgICAgICAgIHIgPSByZXByKHF1eC5hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYS5hbWV0aG9kKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoci5zdGFydHN3aXRoKCc8ZnVuY3Rpb24gYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWEuYW1ldGhvZCcpLCByKQogICAgICAgICAjIEJvdW5kIG1ldGhvZCBuZXh0CiAgICAgICAgIGlxdXggPSBxdXguYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWEoKQotICAgICAgICBzZWxmLmFzc2VydFRydWUocmVwcihpcXV4LmFtZXRob2QpLnN0YXJ0c3dpdGgoCisgICAgICAgIHIgPSByZXByKGlxdXguYW1ldGhvZCkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHIuc3RhcnRzd2l0aCgKICAgICAgICAgICAgICc8Ym91bmQgbWV0aG9kIGFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhLmFtZXRob2Qgb2YgPCVzLmFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhIG9iamVjdCBhdCAweCcgXAotICAgICAgICAgICAgJSAocXV4Ll9fbmFtZV9fLCkgKSkKKyAgICAgICAgICAgICUgKHF1eC5fX25hbWVfXywpICksIHIpCiAKICAgICBkZWYgdGVzdF9idWlsdGluX2Z1bmN0aW9uKHNlbGYpOgogICAgICAgICAjIFhYWCB0ZXN0IGJ1aWx0LWluIGZ1bmN0aW9ucyBhbmQgbWV0aG9kcyB3aXRoIHJlYWxseSBsb25nIG5hbWVzCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3JpY2hjbXAucHkgYi9MaWIvdGVzdC90ZXN0X3JpY2hjbXAucHkKaW5kZXggZjhmMzcxNy4uMGI2MjlkYyAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9yaWNoY21wLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfcmljaGNtcC5weQpAQCAtMjIwLDYgKzIyMCw3IEBACiAgICAgICAgIGZvciBmdW5jIGluIChkbywgb3BlcmF0b3Iubm90Xyk6CiAgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhFeGMsIGZ1bmMsIEJhZCgpKQogCisgICAgQHN1cHBvcnQubm9fdHJhY2luZwogICAgIGRlZiB0ZXN0X3JlY3Vyc2lvbihzZWxmKToKICAgICAgICAgIyBDaGVjayB0aGF0IGNvbXBhcmlzb24gZm9yIHJlY3Vyc2l2ZSBvYmplY3RzIGZhaWxzIGdyYWNlZnVsbHkKICAgICAgICAgZnJvbSBjb2xsZWN0aW9ucyBpbXBvcnQgVXNlckxpc3QKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfcnVucHkucHkgYi9MaWIvdGVzdC90ZXN0X3J1bnB5LnB5CmluZGV4IDdmZmI2YWYuLjJjZWRlMTkgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfcnVucHkucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9ydW5weS5weQpAQCAtNiw3ICs2LDkgQEAKIGltcG9ydCByZQogaW1wb3J0IHRlbXBmaWxlCiBpbXBvcnQgcHlfY29tcGlsZQotZnJvbSB0ZXN0LnN1cHBvcnQgaW1wb3J0IGZvcmdldCwgbWFrZV9sZWdhY3lfcHljLCBydW5fdW5pdHRlc3QsIHVubG9hZCwgdmVyYm9zZQorZnJvbSB0ZXN0LnN1cHBvcnQgaW1wb3J0ICgKKyAgICBmb3JnZXQsIG1ha2VfbGVnYWN5X3B5YywgcnVuX3VuaXR0ZXN0LCB1bmxvYWQsIHZlcmJvc2UsIG5vX3RyYWNpbmcsCisgICAgY3JlYXRlX2VtcHR5X2ZpbGUpCiBmcm9tIHRlc3Quc2NyaXB0X2hlbHBlciBpbXBvcnQgKAogICAgIG1ha2VfcGtnLCBtYWtlX3NjcmlwdCwgbWFrZV96aXBfcGtnLCBtYWtlX3ppcF9zY3JpcHQsIHRlbXBfZGlyKQogCkBAIC0xMTIsOCArMTE0LDcgQEAKICAgICBkZWYgX2FkZF9wa2dfZGlyKHNlbGYsIHBrZ19kaXIpOgogICAgICAgICBvcy5ta2Rpcihwa2dfZGlyKQogICAgICAgICBwa2dfZm5hbWUgPSBvcy5wYXRoLmpvaW4ocGtnX2RpciwgIl9faW5pdF9fLnB5IikKLSAgICAgICAgcGtnX2ZpbGUgPSBvcGVuKHBrZ19mbmFtZSwgInciKQotICAgICAgICBwa2dfZmlsZS5jbG9zZSgpCisgICAgICAgIGNyZWF0ZV9lbXB0eV9maWxlKHBrZ19mbmFtZSkKICAgICAgICAgcmV0dXJuIHBrZ19mbmFtZQogCiAgICAgZGVmIF9tYWtlX3BrZyhzZWxmLCBzb3VyY2UsIGRlcHRoLCBtb2RfYmFzZT0icnVucHlfdGVzdCIpOgpAQCAtMjE4LDggKzIxOSw3IEBACiAgICAgICAgICAgICBtb2R1bGVfZGlyID0gb3MucGF0aC5qb2luKG1vZHVsZV9kaXIsIHBrZ19uYW1lKQogICAgICAgICAjIEFkZCBzaWJsaW5nIG1vZHVsZQogICAgICAgICBzaWJsaW5nX2ZuYW1lID0gb3MucGF0aC5qb2luKG1vZHVsZV9kaXIsICJzaWJsaW5nLnB5IikKLSAgICAgICAgc2libGluZ19maWxlID0gb3BlbihzaWJsaW5nX2ZuYW1lLCAidyIpCi0gICAgICAgIHNpYmxpbmdfZmlsZS5jbG9zZSgpCisgICAgICAgIGNyZWF0ZV9lbXB0eV9maWxlKHNpYmxpbmdfZm5hbWUpCiAgICAgICAgIGlmIHZlcmJvc2U6IHByaW50KCIgIEFkZGVkIHNpYmxpbmcgbW9kdWxlOiIsIHNpYmxpbmdfZm5hbWUpCiAgICAgICAgICMgQWRkIG5lcGhldyBtb2R1bGUKICAgICAgICAgdW5jbGVfZGlyID0gb3MucGF0aC5qb2luKHBhcmVudF9kaXIsICJ1bmNsZSIpCkBAIC0yMjksOCArMjI5LDcgQEAKICAgICAgICAgc2VsZi5fYWRkX3BrZ19kaXIoY291c2luX2RpcikKICAgICAgICAgaWYgdmVyYm9zZTogcHJpbnQoIiAgQWRkZWQgY291c2luIHBhY2thZ2U6IiwgY291c2luX2RpcikKICAgICAgICAgbmVwaGV3X2ZuYW1lID0gb3MucGF0aC5qb2luKGNvdXNpbl9kaXIsICJuZXBoZXcucHkiKQotICAgICAgICBuZXBoZXdfZmlsZSA9IG9wZW4obmVwaGV3X2ZuYW1lLCAidyIpCi0gICAgICAgIG5lcGhld19maWxlLmNsb3NlKCkKKyAgICAgICAgY3JlYXRlX2VtcHR5X2ZpbGUobmVwaGV3X2ZuYW1lKQogICAgICAgICBpZiB2ZXJib3NlOiBwcmludCgiICBBZGRlZCBuZXBoZXcgbW9kdWxlOiIsIG5lcGhld19mbmFtZSkKIAogICAgIGRlZiBfY2hlY2tfcmVsYXRpdmVfaW1wb3J0cyhzZWxmLCBkZXB0aCwgcnVuX25hbWU9Tm9uZSk6CkBAIC0zOTUsNiArMzk0LDcgQEAKICAgICAgICAgICAgIG1zZyA9ICJjYW4ndCBmaW5kICdfX21haW5fXycgbW9kdWxlIGluICVyIiAlIHppcF9uYW1lCiAgICAgICAgICAgICBzZWxmLl9jaGVja19pbXBvcnRfZXJyb3IoemlwX25hbWUsIG1zZykKIAorICAgIEBub190cmFjaW5nCiAgICAgZGVmIHRlc3RfbWFpbl9yZWN1cnNpb25fZXJyb3Ioc2VsZik6CiAgICAgICAgIHdpdGggdGVtcF9kaXIoKSBhcyBzY3JpcHRfZGlyLCB0ZW1wX2RpcigpIGFzIGR1bW15X2RpcjoKICAgICAgICAgICAgIG1vZF9uYW1lID0gJ19fbWFpbl9fJwpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9zYXgucHkgYi9MaWIvdGVzdC90ZXN0X3NheC5weQppbmRleCAxMjI1ZDZlLi44ZTAwODg5IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3NheC5weQorKysgYi9MaWIvdGVzdC90ZXN0X3NheC5weQpAQCAtMjAsOCArMjAsOCBAQAogVEVTVF9YTUxGSUxFID0gZmluZGZpbGUoInRlc3QueG1sIiwgc3ViZGlyPSJ4bWx0ZXN0ZGF0YSIpCiBURVNUX1hNTEZJTEVfT1VUID0gZmluZGZpbGUoInRlc3QueG1sLm91dCIsIHN1YmRpcj0ieG1sdGVzdGRhdGEiKQogdHJ5OgotICAgIFRFU1RfWE1MRklMRS5lbmNvZGUoInV0ZjgiKQotICAgIFRFU1RfWE1MRklMRV9PVVQuZW5jb2RlKCJ1dGY4IikKKyAgICBURVNUX1hNTEZJTEUuZW5jb2RlKCJ1dGYtOCIpCisgICAgVEVTVF9YTUxGSUxFX09VVC5lbmNvZGUoInV0Zi04IikKIGV4Y2VwdCBVbmljb2RlRW5jb2RlRXJyb3I6CiAgICAgcmFpc2UgdW5pdHRlc3QuU2tpcFRlc3QoImZpbGVuYW1lIGlzIG5vdCBlbmNvZGFibGUgdG8gdXRmOCIpCiAKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3Rfc2NoZWQucHkgYi9MaWIvdGVzdC90ZXN0X3NjaGVkLnB5CmluZGV4IDkxYjhmMGMuLjUwYWRhNTIgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3Rfc2NoZWQucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9zY2hlZC5weQpAQCAtNjMsMTUgKzYzLDM5IEBACiAKICAgICBkZWYgdGVzdF9xdWV1ZShzZWxmKToKICAgICAgICAgbCA9IFtdCi0gICAgICAgIGV2ZW50cyA9IFtdCiAgICAgICAgIGZ1biA9IGxhbWJkYSB4OiBsLmFwcGVuZCh4KQogICAgICAgICBzY2hlZHVsZXIgPSBzY2hlZC5zY2hlZHVsZXIodGltZS50aW1lLCB0aW1lLnNsZWVwKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNjaGVkdWxlci5fcXVldWUsIFtdKQotICAgICAgICBmb3IgeCBpbiBbMC4wNSwgMC4wNCwgMC4wMywgMC4wMiwgMC4wMV06Ci0gICAgICAgICAgICBldmVudHMuYXBwZW5kKHNjaGVkdWxlci5lbnRlcmFicyh4LCAxLCBmdW4sICh4LCkpKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNjaGVkdWxlci5fcXVldWUuc29ydCgpLCBldmVudHMuc29ydCgpKQorICAgICAgICBub3cgPSB0aW1lLnRpbWUoKQorICAgICAgICBlNSA9IHNjaGVkdWxlci5lbnRlcmFicyhub3cgKyAwLjA1LCAxLCBmdW4pCisgICAgICAgIGUxID0gc2NoZWR1bGVyLmVudGVyYWJzKG5vdyArIDAuMDEsIDEsIGZ1bikKKyAgICAgICAgZTIgPSBzY2hlZHVsZXIuZW50ZXJhYnMobm93ICsgMC4wMiwgMSwgZnVuKQorICAgICAgICBlNCA9IHNjaGVkdWxlci5lbnRlcmFicyhub3cgKyAwLjA0LCAxLCBmdW4pCisgICAgICAgIGUzID0gc2NoZWR1bGVyLmVudGVyYWJzKG5vdyArIDAuMDMsIDEsIGZ1bikKKyAgICAgICAgIyBxdWV1ZSBwcm9wZXJ0eSBpcyBzdXBwb3NlZCB0byByZXR1cm4gYW4gb3JkZXIgbGlzdCBvZgorICAgICAgICAjIHVwY29taW5nIGV2ZW50cworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxpc3Qoc2NoZWR1bGVyLnF1ZXVlKSwgW2UxLCBlMiwgZTMsIGU0LCBlNV0pCisKKyAgICBkZWYgdGVzdF9hcmdzX2t3YXJncyhzZWxmKToKKyAgICAgICAgZmxhZyA9IFtdCisKKyAgICAgICAgZGVmIGZ1bigqYSwgKipiKToKKyAgICAgICAgICAgIGZsYWcuYXBwZW5kKE5vbmUpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGEsICgxLDIsMykpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGIsIHsiZm9vIjoxfSkKKworICAgICAgICBzY2hlZHVsZXIgPSBzY2hlZC5zY2hlZHVsZXIodGltZS50aW1lLCB0aW1lLnNsZWVwKQorICAgICAgICB6ID0gc2NoZWR1bGVyLmVudGVyYWJzKDAuMDEsIDEsIGZ1biwgYXJndW1lbnQ9KDEsMiwzKSwga3dhcmdzPXsiZm9vIjoxfSkKICAgICAgICAgc2NoZWR1bGVyLnJ1bigpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2NoZWR1bGVyLl9xdWV1ZSwgW10pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZmxhZywgW05vbmVdKQorCisgICAgZGVmIHRlc3RfcnVuX25vbl9ibG9ja2luZyhzZWxmKToKKyAgICAgICAgbCA9IFtdCisgICAgICAgIGZ1biA9IGxhbWJkYSB4OiBsLmFwcGVuZCh4KQorICAgICAgICBzY2hlZHVsZXIgPSBzY2hlZC5zY2hlZHVsZXIodGltZS50aW1lLCB0aW1lLnNsZWVwKQorICAgICAgICBmb3IgeCBpbiBbMTAsIDksIDgsIDcsIDZdOgorICAgICAgICAgICAgc2NoZWR1bGVyLmVudGVyKHgsIDEsIGZ1biwgKHgsKSkKKyAgICAgICAgc2NoZWR1bGVyLnJ1bihibG9ja2luZz1GYWxzZSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsLCBbXSkKIAogCiBkZWYgdGVzdF9tYWluKCk6CmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3Njb3BlLnB5IGIvTGliL3Rlc3QvdGVzdF9zY29wZS5weQppbmRleCBmYmM4N2FhLi4xMjlhMThhIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3Njb3BlLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3Rfc2NvcGUucHkKQEAgLTEsNSArMSw1IEBACiBpbXBvcnQgdW5pdHRlc3QKLWZyb20gdGVzdC5zdXBwb3J0IGltcG9ydCBjaGVja19zeW50YXhfZXJyb3IsIHJ1bl91bml0dGVzdAorZnJvbSB0ZXN0LnN1cHBvcnQgaW1wb3J0IGNoZWNrX3N5bnRheF9lcnJvciwgY3B5dGhvbl9vbmx5LCBydW5fdW5pdHRlc3QKIAogCiBjbGFzcyBTY29wZVRlc3RzKHVuaXR0ZXN0LlRlc3RDYXNlKToKQEAgLTQ5NiwyMyArNDk2LDIyIEBACiAgICAgICAgIHNlbGYuYXNzZXJ0Tm90SW4oIngiLCB2YXJuYW1lcykKICAgICAgICAgc2VsZi5hc3NlcnRJbigieSIsIHZhcm5hbWVzKQogCisgICAgQGNweXRob25fb25seQogICAgIGRlZiB0ZXN0TG9jYWxzQ2xhc3NfV2l0aFRyYWNlKHNlbGYpOgogICAgICAgICAjIElzc3VlMjM3Mjg6IGFmdGVyIHRoZSB0cmFjZSBmdW5jdGlvbiByZXR1cm5zLCB0aGUgbG9jYWxzKCkKICAgICAgICAgIyBkaWN0aW9uYXJ5IGlzIHVzZWQgdG8gdXBkYXRlIGFsbCB2YXJpYWJsZXMsIHRoaXMgdXNlZCB0bwogICAgICAgICAjIGluY2x1ZGUgZnJlZSB2YXJpYWJsZXMuIEJ1dCBpbiBjbGFzcyBzdGF0ZW1lbnRzLCBmcmVlCiAgICAgICAgICMgdmFyaWFibGVzIGFyZSBub3QgaW5zZXJ0ZWQuLi4KICAgICAgICAgaW1wb3J0IHN5cworICAgICAgICBzZWxmLmFkZENsZWFudXAoc3lzLnNldHRyYWNlLCBzeXMuZ2V0dHJhY2UoKSkKICAgICAgICAgc3lzLnNldHRyYWNlKGxhbWJkYSBhLGIsYzpOb25lKQotICAgICAgICB0cnk6Ci0gICAgICAgICAgICB4ID0gMTIKKyAgICAgICAgeCA9IDEyCiAKLSAgICAgICAgICAgIGNsYXNzIEM6Ci0gICAgICAgICAgICAgICAgZGVmIGYoc2VsZik6Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiB4CisgICAgICAgIGNsYXNzIEM6CisgICAgICAgICAgICBkZWYgZihzZWxmKToKKyAgICAgICAgICAgICAgICByZXR1cm4geAogCi0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHgsIDEyKSAjIFVzZWQgdG8gcmFpc2UgVW5ib3VuZExvY2FsRXJyb3IKLSAgICAgICAgZmluYWxseToKLSAgICAgICAgICAgIHN5cy5zZXR0cmFjZShOb25lKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHgsIDEyKSAjIFVzZWQgdG8gcmFpc2UgVW5ib3VuZExvY2FsRXJyb3IKIAogICAgIGRlZiB0ZXN0Qm91bmRBbmRGcmVlKHNlbGYpOgogICAgICAgICAjIHZhciBpcyBib3VuZCBhbmQgZnJlZSBpbiBjbGFzcwpAQCAtNTI3LDYgKzUyNiw3IEBACiAgICAgICAgIGluc3QgPSBmKDMpKCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChpbnN0LmEsIGluc3QubSgpKQogCisgICAgQGNweXRob25fb25seQogICAgIGRlZiB0ZXN0SW50ZXJhY3Rpb25XaXRoVHJhY2VGdW5jKHNlbGYpOgogCiAgICAgICAgIGltcG9ydCBzeXMKQEAgLTU0Myw2ICs1NDMsNyBAQAogICAgICAgICBjbGFzcyBUZXN0Q2xhc3M6CiAgICAgICAgICAgICBwYXNzCiAKKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKHN5cy5zZXR0cmFjZSwgc3lzLmdldHRyYWNlKCkpCiAgICAgICAgIHN5cy5zZXR0cmFjZSh0cmFjZXIpCiAgICAgICAgIGFkYXB0Z2V0dGVyKCJmb28iLCBUZXN0Q2xhc3MsICgxLCAiIikpCiAgICAgICAgIHN5cy5zZXR0cmFjZShOb25lKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9zZWxlY3QucHkgYi9MaWIvdGVzdC90ZXN0X3NlbGVjdC5weQppbmRleCBmZTkyZjQ1Li4zMTQ0YzU0IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3NlbGVjdC5weQorKysgYi9MaWIvdGVzdC90ZXN0X3NlbGVjdC5weQpAQCAtMSw4ICsxLDkgQEAKLWZyb20gdGVzdCBpbXBvcnQgc3VwcG9ydAotaW1wb3J0IHVuaXR0ZXN0Ci1pbXBvcnQgc2VsZWN0CitpbXBvcnQgZXJybm8KIGltcG9ydCBvcworaW1wb3J0IHNlbGVjdAogaW1wb3J0IHN5cworaW1wb3J0IHVuaXR0ZXN0Citmcm9tIHRlc3QgaW1wb3J0IHN1cHBvcnQKIAogQHVuaXR0ZXN0LnNraXBJZihzeXMucGxhdGZvcm1bOjNdIGluICgnd2luJywgJ29zMicsICdyaXNjb3MnKSwKICAgICAgICAgICAgICAgICAgImNhbid0IGVhc2lseSB0ZXN0IG9uIHRoaXMgc3lzdGVtIikKQEAgLTIwLDYgKzIxLDIxIEBACiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgc2VsZWN0LnNlbGVjdCwgW3NlbGYuTm9wZSgpXSwgW10sIFtdKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIHNlbGVjdC5zZWxlY3QsIFtzZWxmLkFsbW9zdCgpXSwgW10sIFtdKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIHNlbGVjdC5zZWxlY3QsIFtdLCBbXSwgW10sICJub3QgYSBudW1iZXIiKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBzZWxlY3Quc2VsZWN0LCBbXSwgW10sIFtdLCAtMSkKKworICAgICMgSXNzdWUgIzEyMzY3OiBodHRwOi8vd3d3LmZyZWVic2Qub3JnL2NnaS9xdWVyeS1wci5jZ2k/cHI9a2Vybi8xNTU2MDYKKyAgICBAdW5pdHRlc3Quc2tpcElmKHN5cy5wbGF0Zm9ybS5zdGFydHN3aXRoKCdmcmVlYnNkJyksCisgICAgICAgICAgICAgICAgICAgICAnc2tpcCBiZWNhdXNlIG9mIGEgRnJlZUJTRCBidWc6IGtlcm4vMTU1NjA2JykKKyAgICBkZWYgdGVzdF9lcnJubyhzZWxmKToKKyAgICAgICAgd2l0aCBvcGVuKF9fZmlsZV9fLCAncmInKSBhcyBmcDoKKyAgICAgICAgICAgIGZkID0gZnAuZmlsZW5vKCkKKyAgICAgICAgICAgIGZwLmNsb3NlKCkKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBzZWxlY3Quc2VsZWN0KFtmZF0sIFtdLCBbXSwgMCkKKyAgICAgICAgICAgIGV4Y2VwdCBzZWxlY3QuZXJyb3IgYXMgZXJyOgorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXJyLmVycm5vLCBlcnJuby5FQkFERikKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgc2VsZi5mYWlsKCJleGNlcHRpb24gbm90IHJhaXNlZCIpCiAKICAgICBkZWYgdGVzdF9yZXR1cm5lZF9saXN0X2lkZW50aXR5KHNlbGYpOgogICAgICAgICAjIFNlZSBpc3N1ZSAjODMyOQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9zaGVsdmUucHkgYi9MaWIvdGVzdC90ZXN0X3NoZWx2ZS5weQppbmRleCAzZTczZjUyLi4xM2MxMjY1IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3NoZWx2ZS5weQorKysgYi9MaWIvdGVzdC90ZXN0X3NoZWx2ZS5weQpAQCAtMiw3ICsyLDcgQEAKIGltcG9ydCBzaGVsdmUKIGltcG9ydCBnbG9iCiBmcm9tIHRlc3QgaW1wb3J0IHN1cHBvcnQKLWZyb20gY29sbGVjdGlvbnMgaW1wb3J0IE11dGFibGVNYXBwaW5nCitmcm9tIGNvbGxlY3Rpb25zLmFiYyBpbXBvcnQgTXV0YWJsZU1hcHBpbmcKIGZyb20gdGVzdC50ZXN0X2RibSBpbXBvcnQgZGJtX2l0ZXJhdG9yCiAKIGRlZiBMMShzKToKQEAgLTEyOSw4ICsxMjksOCBAQAogICAgICAgICBzaGVsdmUuU2hlbGYoZClba2V5XSA9IFsxXQogICAgICAgICBzZWxmLmFzc2VydEluKGtleS5lbmNvZGUoJ3V0Zi04JyksIGQpCiAgICAgICAgICMgYnV0IGEgZGlmZmVyZW50IG9uZSBjYW4gYmUgZ2l2ZW4KLSAgICAgICAgc2hlbHZlLlNoZWxmKGQsIGtleWVuY29kaW5nPSdsYXRpbjEnKVtrZXldID0gWzFdCi0gICAgICAgIHNlbGYuYXNzZXJ0SW4oa2V5LmVuY29kZSgnbGF0aW4xJyksIGQpCisgICAgICAgIHNoZWx2ZS5TaGVsZihkLCBrZXllbmNvZGluZz0nbGF0aW4tMScpW2tleV0gPSBbMV0KKyAgICAgICAgc2VsZi5hc3NlcnRJbihrZXkuZW5jb2RlKCdsYXRpbi0xJyksIGQpCiAgICAgICAgICMgd2l0aCBhbGwgY29uc2VxdWVuY2VzCiAgICAgICAgIHMgPSBzaGVsdmUuU2hlbGYoZCwga2V5ZW5jb2Rpbmc9J2FzY2lpJykKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVW5pY29kZUVuY29kZUVycm9yLCBzLl9fc2V0aXRlbV9fLCBrZXksIFsxXSkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3Rfc2hsZXgucHkgYi9MaWIvdGVzdC90ZXN0X3NobGV4LnB5CmluZGV4IDI1ZTRiNmQuLmQ0NDYzZjMwIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3NobGV4LnB5CisrKyBiL0xpYi90ZXN0L3Rlc3Rfc2hsZXgucHkKQEAgLTEsNiArMSw3IEBACi1pbXBvcnQgdW5pdHRlc3QKLWltcG9ydCBvcywgc3lzLCBpbworaW1wb3J0IGlvCiBpbXBvcnQgc2hsZXgKK2ltcG9ydCBzdHJpbmcKK2ltcG9ydCB1bml0dGVzdAogCiBmcm9tIHRlc3QgaW1wb3J0IHN1cHBvcnQKIApAQCAtMTczLDYgKzE3NCwyMiBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiJXM6ICVzICE9ICVzIiAlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzZWxmLmRhdGFbaV1bMF0sIGwsIHNlbGYuZGF0YVtpXVsxOl0pKQogCisgICAgZGVmIHRlc3RRdW90ZShzZWxmKToKKyAgICAgICAgc2FmZXVucXVvdGVkID0gc3RyaW5nLmFzY2lpX2xldHRlcnMgKyBzdHJpbmcuZGlnaXRzICsgJ0AlXy0rPTosLi8nCisgICAgICAgIHVuaWNvZGVfc2FtcGxlID0gJ1x4ZTlceGUwXHhkZicgICMgZSArIGFjdXRlIGFjY2VudCwgYSArIGdyYXZlLCBzaGFycCBzCisgICAgICAgIHVuc2FmZSA9ICciYCRcXCEnICsgdW5pY29kZV9zYW1wbGUKKworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNobGV4LnF1b3RlKCcnKSwgIicnIikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzaGxleC5xdW90ZShzYWZldW5xdW90ZWQpLCBzYWZldW5xdW90ZWQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2hsZXgucXVvdGUoJ3Rlc3QgZmlsZSBuYW1lJyksICIndGVzdCBmaWxlIG5hbWUnIikKKyAgICAgICAgZm9yIHUgaW4gdW5zYWZlOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzaGxleC5xdW90ZSgndGVzdCVzbmFtZScgJSB1KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIid0ZXN0JXNuYW1lJyIgJSB1KQorICAgICAgICBmb3IgdSBpbiB1bnNhZmU6CisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNobGV4LnF1b3RlKCJ0ZXN0JXMnbmFtZSciICUgdSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIndGVzdCVzJ1wiJ1wiJ25hbWUnXCInXCInJyIgJSB1KQorCisKICMgQWxsb3cgdGhpcyB0ZXN0IHRvIGJlIHVzZWQgd2l0aCBvbGQgc2hsZXgucHkKIGlmIG5vdCBnZXRhdHRyKHNobGV4LCAic3BsaXQiLCBOb25lKToKICAgICBmb3IgbWV0aG5hbWUgaW4gZGlyKFNobGV4VGVzdCk6CmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3NodXRpbC5weSBiL0xpYi90ZXN0L3Rlc3Rfc2h1dGlsLnB5CmluZGV4IGUyMzEwZTIuLjZjOTUxNWUgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3Rfc2h1dGlsLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3Rfc2h1dGlsLnB5CkBAIC03LDcgKzcsOSBAQAogaW1wb3J0IHN0YXQKIGltcG9ydCBvcwogaW1wb3J0IG9zLnBhdGgKK2ltcG9ydCBlcnJubwogaW1wb3J0IGZ1bmN0b29scworaW1wb3J0IHN1YnByb2Nlc3MKIGZyb20gdGVzdCBpbXBvcnQgc3VwcG9ydAogZnJvbSB0ZXN0LnN1cHBvcnQgaW1wb3J0IFRFU1RGTgogZnJvbSBvcy5wYXRoIGltcG9ydCBzcGxpdGRyaXZlCkBAIC0yMSw3ICsyMyw3IEBACiBpbXBvcnQgd2FybmluZ3MKIAogZnJvbSB0ZXN0IGltcG9ydCBzdXBwb3J0Ci1mcm9tIHRlc3Quc3VwcG9ydCBpbXBvcnQgVEVTVEZOLCBjaGVja193YXJuaW5ncywgY2FwdHVyZWRfc3Rkb3V0Citmcm9tIHRlc3Quc3VwcG9ydCBpbXBvcnQgVEVTVEZOLCBjaGVja193YXJuaW5ncywgY2FwdHVyZWRfc3Rkb3V0LCByZXF1aXJlc196bGliCiAKIHRyeToKICAgICBpbXBvcnQgYnoyCkBAIC0zOSwxMSArNDEsNiBAQAogICAgIFVJRF9HSURfU1VQUE9SVCA9IEZhbHNlCiAKIHRyeToKLSAgICBpbXBvcnQgemxpYgotZXhjZXB0IEltcG9ydEVycm9yOgotICAgIHpsaWIgPSBOb25lCi0KLXRyeToKICAgICBpbXBvcnQgemlwZmlsZQogICAgIFpJUF9TVVBQT1JUID0gVHJ1ZQogZXhjZXB0IEltcG9ydEVycm9yOgpAQCAtNTEsNyArNDgsNyBAQAogCiBkZWYgX2Zha2VfcmVuYW1lKCphcmdzLCAqKmt3YXJncyk6CiAgICAgIyBQcmV0ZW5kIHRoZSBkZXN0aW5hdGlvbiBwYXRoIGlzIG9uIGEgZGlmZmVyZW50IGZpbGVzeXN0ZW0uCi0gICAgcmFpc2UgT1NFcnJvcigpCisgICAgcmFpc2UgT1NFcnJvcihnZXRhdHRyKGVycm5vLCAnRVhERVYnLCAxOCksICJJbnZhbGlkIGNyb3NzLWRldmljZSBsaW5rIikKIAogZGVmIG1vY2tfcmVuYW1lKGZ1bmMpOgogICAgIEBmdW5jdG9vbHMud3JhcHMoZnVuYykKQEAgLTY0LDYgKzYxLDMxIEBACiAgICAgICAgICAgICBvcy5yZW5hbWUgPSBidWlsdGluX3JlbmFtZQogICAgIHJldHVybiB3cmFwCiAKK2RlZiB3cml0ZV9maWxlKHBhdGgsIGNvbnRlbnQsIGJpbmFyeT1GYWxzZSk6CisgICAgIiIiV3JpdGUgKmNvbnRlbnQqIHRvIGEgZmlsZSBsb2NhdGVkIGF0ICpwYXRoKi4KKworICAgIElmICpwYXRoKiBpcyBhIHR1cGxlIGluc3RlYWQgb2YgYSBzdHJpbmcsIG9zLnBhdGguam9pbiB3aWxsIGJlIHVzZWQgdG8KKyAgICBtYWtlIGEgcGF0aC4gIElmICpiaW5hcnkqIGlzIHRydWUsIHRoZSBmaWxlIHdpbGwgYmUgb3BlbmVkIGluIGJpbmFyeQorICAgIG1vZGUuCisgICAgIiIiCisgICAgaWYgaXNpbnN0YW5jZShwYXRoLCB0dXBsZSk6CisgICAgICAgIHBhdGggPSBvcy5wYXRoLmpvaW4oKnBhdGgpCisgICAgd2l0aCBvcGVuKHBhdGgsICd3YicgaWYgYmluYXJ5IGVsc2UgJ3cnKSBhcyBmcDoKKyAgICAgICAgZnAud3JpdGUoY29udGVudCkKKworZGVmIHJlYWRfZmlsZShwYXRoLCBiaW5hcnk9RmFsc2UpOgorICAgICIiIlJldHVybiBjb250ZW50cyBmcm9tIGEgZmlsZSBsb2NhdGVkIGF0ICpwYXRoKi4KKworICAgIElmICpwYXRoKiBpcyBhIHR1cGxlIGluc3RlYWQgb2YgYSBzdHJpbmcsIG9zLnBhdGguam9pbiB3aWxsIGJlIHVzZWQgdG8KKyAgICBtYWtlIGEgcGF0aC4gIElmICpiaW5hcnkqIGlzIHRydWUsIHRoZSBmaWxlIHdpbGwgYmUgb3BlbmVkIGluIGJpbmFyeQorICAgIG1vZGUuCisgICAgIiIiCisgICAgaWYgaXNpbnN0YW5jZShwYXRoLCB0dXBsZSk6CisgICAgICAgIHBhdGggPSBvcy5wYXRoLmpvaW4oKnBhdGgpCisgICAgd2l0aCBvcGVuKHBhdGgsICdyYicgaWYgYmluYXJ5IGVsc2UgJ3InKSBhcyBmcDoKKyAgICAgICAgcmV0dXJuIGZwLnJlYWQoKQorCisKIGNsYXNzIFRlc3RTaHV0aWwodW5pdHRlc3QuVGVzdENhc2UpOgogCiAgICAgZGVmIHNldFVwKHNlbGYpOgpAQCAtNzYsMTkgKzk4LDYgQEAKICAgICAgICAgICAgIGQgPSBzZWxmLnRlbXBkaXJzLnBvcCgpCiAgICAgICAgICAgICBzaHV0aWwucm10cmVlKGQsIG9zLm5hbWUgaW4gKCdudCcsICdjeWd3aW4nKSkKIAotICAgIGRlZiB3cml0ZV9maWxlKHNlbGYsIHBhdGgsIGNvbnRlbnQ9J3h4eCcpOgotICAgICAgICAiIiJXcml0ZXMgYSBmaWxlIGluIHRoZSBnaXZlbiBwYXRoLgotCi0KLSAgICAgICAgcGF0aCBjYW4gYmUgYSBzdHJpbmcgb3IgYSBzZXF1ZW5jZS4KLSAgICAgICAgIiIiCi0gICAgICAgIGlmIGlzaW5zdGFuY2UocGF0aCwgKGxpc3QsIHR1cGxlKSk6Ci0gICAgICAgICAgICBwYXRoID0gb3MucGF0aC5qb2luKCpwYXRoKQotICAgICAgICBmID0gb3BlbihwYXRoLCAndycpCi0gICAgICAgIHRyeToKLSAgICAgICAgICAgIGYud3JpdGUoY29udGVudCkKLSAgICAgICAgZmluYWxseToKLSAgICAgICAgICAgIGYuY2xvc2UoKQogCiAgICAgZGVmIG1rZHRlbXAoc2VsZik6CiAgICAgICAgICIiIkNyZWF0ZSBhIHRlbXBvcmFyeSBkaXJlY3RvcnkgdGhhdCB3aWxsIGJlIGNsZWFuZWQgdXAuCkBAIC0xMTIsOCArMTIxLDcgQEAKICAgICAgICAgICAgIHNlbGYuZXJyb3JTdGF0ZSA9IDAKICAgICAgICAgICAgIG9zLm1rZGlyKFRFU1RGTikKICAgICAgICAgICAgIHNlbGYuY2hpbGRwYXRoID0gb3MucGF0aC5qb2luKFRFU1RGTiwgJ2EnKQotICAgICAgICAgICAgZiA9IG9wZW4oc2VsZi5jaGlsZHBhdGgsICd3JykKLSAgICAgICAgICAgIGYuY2xvc2UoKQorICAgICAgICAgICAgc3VwcG9ydC5jcmVhdGVfZW1wdHlfZmlsZShzZWxmLmNoaWxkcGF0aCkKICAgICAgICAgICAgIG9sZF9kaXJfbW9kZSA9IG9zLnN0YXQoVEVTVEZOKS5zdF9tb2RlCiAgICAgICAgICAgICBvbGRfY2hpbGRfbW9kZSA9IG9zLnN0YXQoc2VsZi5jaGlsZHBhdGgpLnN0X21vZGUKICAgICAgICAgICAgICMgTWFrZSB1bndyaXRhYmxlLgpAQCAtMTU4LDg0ICsxNjYsMjY4IEBACiAgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoaXNzdWJjbGFzcyhleGNbMF0sIE9TRXJyb3IpKQogICAgICAgICAgICAgc2VsZi5lcnJvclN0YXRlID0gMgogCisgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3MoaGFzYXR0cihvcywgJ2NobW9kJyksICdyZXF1aXJlcyBvcy5jaG1vZCcpCisgICAgQHN1cHBvcnQuc2tpcF91bmxlc3Nfc3ltbGluaworICAgIGRlZiB0ZXN0X2NvcHltb2RlX2ZvbGxvd19zeW1saW5rcyhzZWxmKToKKyAgICAgICAgdG1wX2RpciA9IHNlbGYubWtkdGVtcCgpCisgICAgICAgIHNyYyA9IG9zLnBhdGguam9pbih0bXBfZGlyLCAnZm9vJykKKyAgICAgICAgZHN0ID0gb3MucGF0aC5qb2luKHRtcF9kaXIsICdiYXInKQorICAgICAgICBzcmNfbGluayA9IG9zLnBhdGguam9pbih0bXBfZGlyLCAnYmF6JykKKyAgICAgICAgZHN0X2xpbmsgPSBvcy5wYXRoLmpvaW4odG1wX2RpciwgJ3F1dXgnKQorICAgICAgICB3cml0ZV9maWxlKHNyYywgJ2ZvbycpCisgICAgICAgIHdyaXRlX2ZpbGUoZHN0LCAnZm9vJykKKyAgICAgICAgb3Muc3ltbGluayhzcmMsIHNyY19saW5rKQorICAgICAgICBvcy5zeW1saW5rKGRzdCwgZHN0X2xpbmspCisgICAgICAgIG9zLmNobW9kKHNyYywgc3RhdC5TX0lSV1hVfHN0YXQuU19JUldYRykKKyAgICAgICAgIyBmaWxlIHRvIGZpbGUKKyAgICAgICAgb3MuY2htb2QoZHN0LCBzdGF0LlNfSVJXWE8pCisgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwob3Muc3RhdChzcmMpLnN0X21vZGUsIG9zLnN0YXQoZHN0KS5zdF9tb2RlKQorICAgICAgICBzaHV0aWwuY29weW1vZGUoc3JjLCBkc3QpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwob3Muc3RhdChzcmMpLnN0X21vZGUsIG9zLnN0YXQoZHN0KS5zdF9tb2RlKQorICAgICAgICAjIGZvbGxvdyBzcmMgbGluaworICAgICAgICBvcy5jaG1vZChkc3QsIHN0YXQuU19JUldYTykKKyAgICAgICAgc2h1dGlsLmNvcHltb2RlKHNyY19saW5rLCBkc3QpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwob3Muc3RhdChzcmMpLnN0X21vZGUsIG9zLnN0YXQoZHN0KS5zdF9tb2RlKQorICAgICAgICAjIGZvbGxvdyBkc3QgbGluaworICAgICAgICBvcy5jaG1vZChkc3QsIHN0YXQuU19JUldYTykKKyAgICAgICAgc2h1dGlsLmNvcHltb2RlKHNyYywgZHN0X2xpbmspCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwob3Muc3RhdChzcmMpLnN0X21vZGUsIG9zLnN0YXQoZHN0KS5zdF9tb2RlKQorICAgICAgICAjIGZvbGxvdyBib3RoIGxpbmtzCisgICAgICAgIG9zLmNobW9kKGRzdCwgc3RhdC5TX0lSV1hPKQorICAgICAgICBzaHV0aWwuY29weW1vZGUoc3JjX2xpbmssIGRzdCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvcy5zdGF0KHNyYykuc3RfbW9kZSwgb3Muc3RhdChkc3QpLnN0X21vZGUpCisKKyAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhoYXNhdHRyKG9zLCAnbGNobW9kJyksICdyZXF1aXJlcyBvcy5sY2htb2QnKQorICAgIEBzdXBwb3J0LnNraXBfdW5sZXNzX3N5bWxpbmsKKyAgICBkZWYgdGVzdF9jb3B5bW9kZV9zeW1saW5rX3RvX3N5bWxpbmsoc2VsZik6CisgICAgICAgIHRtcF9kaXIgPSBzZWxmLm1rZHRlbXAoKQorICAgICAgICBzcmMgPSBvcy5wYXRoLmpvaW4odG1wX2RpciwgJ2ZvbycpCisgICAgICAgIGRzdCA9IG9zLnBhdGguam9pbih0bXBfZGlyLCAnYmFyJykKKyAgICAgICAgc3JjX2xpbmsgPSBvcy5wYXRoLmpvaW4odG1wX2RpciwgJ2JheicpCisgICAgICAgIGRzdF9saW5rID0gb3MucGF0aC5qb2luKHRtcF9kaXIsICdxdXV4JykKKyAgICAgICAgd3JpdGVfZmlsZShzcmMsICdmb28nKQorICAgICAgICB3cml0ZV9maWxlKGRzdCwgJ2ZvbycpCisgICAgICAgIG9zLnN5bWxpbmsoc3JjLCBzcmNfbGluaykKKyAgICAgICAgb3Muc3ltbGluayhkc3QsIGRzdF9saW5rKQorICAgICAgICBvcy5jaG1vZChzcmMsIHN0YXQuU19JUldYVXxzdGF0LlNfSVJXWEcpCisgICAgICAgIG9zLmNobW9kKGRzdCwgc3RhdC5TX0lSV1hVKQorICAgICAgICBvcy5sY2htb2Qoc3JjX2xpbmssIHN0YXQuU19JUldYT3xzdGF0LlNfSVJXWEcpCisgICAgICAgICMgbGluayB0byBsaW5rCisgICAgICAgIG9zLmxjaG1vZChkc3RfbGluaywgc3RhdC5TX0lSV1hPKQorICAgICAgICBzaHV0aWwuY29weW1vZGUoc3JjX2xpbmssIGRzdF9saW5rLCBzeW1saW5rcz1UcnVlKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG9zLmxzdGF0KHNyY19saW5rKS5zdF9tb2RlLAorICAgICAgICAgICAgICAgICAgICAgICAgIG9zLmxzdGF0KGRzdF9saW5rKS5zdF9tb2RlKQorICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKG9zLnN0YXQoc3JjKS5zdF9tb2RlLCBvcy5zdGF0KGRzdCkuc3RfbW9kZSkKKyAgICAgICAgIyBzcmMgbGluayAtIHVzZSBjaG1vZAorICAgICAgICBvcy5sY2htb2QoZHN0X2xpbmssIHN0YXQuU19JUldYTykKKyAgICAgICAgc2h1dGlsLmNvcHltb2RlKHNyY19saW5rLCBkc3QsIHN5bWxpbmtzPVRydWUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwob3Muc3RhdChzcmMpLnN0X21vZGUsIG9zLnN0YXQoZHN0KS5zdF9tb2RlKQorICAgICAgICAjIGRzdCBsaW5rIC0gdXNlIGNobW9kCisgICAgICAgIG9zLmxjaG1vZChkc3RfbGluaywgc3RhdC5TX0lSV1hPKQorICAgICAgICBzaHV0aWwuY29weW1vZGUoc3JjLCBkc3RfbGluaywgc3ltbGlua3M9VHJ1ZSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvcy5zdGF0KHNyYykuc3RfbW9kZSwgb3Muc3RhdChkc3QpLnN0X21vZGUpCisKKyAgICBAdW5pdHRlc3Quc2tpcElmKGhhc2F0dHIob3MsICdsY2htb2QnKSwgJ3JlcXVpcmVzIG9zLmxjaG1vZCB0byBiZSBtaXNzaW5nJykKKyAgICBAc3VwcG9ydC5za2lwX3VubGVzc19zeW1saW5rCisgICAgZGVmIHRlc3RfY29weW1vZGVfc3ltbGlua190b19zeW1saW5rX3dvX2xjaG1vZChzZWxmKToKKyAgICAgICAgdG1wX2RpciA9IHNlbGYubWtkdGVtcCgpCisgICAgICAgIHNyYyA9IG9zLnBhdGguam9pbih0bXBfZGlyLCAnZm9vJykKKyAgICAgICAgZHN0ID0gb3MucGF0aC5qb2luKHRtcF9kaXIsICdiYXInKQorICAgICAgICBzcmNfbGluayA9IG9zLnBhdGguam9pbih0bXBfZGlyLCAnYmF6JykKKyAgICAgICAgZHN0X2xpbmsgPSBvcy5wYXRoLmpvaW4odG1wX2RpciwgJ3F1dXgnKQorICAgICAgICB3cml0ZV9maWxlKHNyYywgJ2ZvbycpCisgICAgICAgIHdyaXRlX2ZpbGUoZHN0LCAnZm9vJykKKyAgICAgICAgb3Muc3ltbGluayhzcmMsIHNyY19saW5rKQorICAgICAgICBvcy5zeW1saW5rKGRzdCwgZHN0X2xpbmspCisgICAgICAgIHNodXRpbC5jb3B5bW9kZShzcmNfbGluaywgZHN0X2xpbmssIHN5bWxpbmtzPVRydWUpICAjIHNpbGVudCBmYWlsCisKKyAgICBAc3VwcG9ydC5za2lwX3VubGVzc19zeW1saW5rCisgICAgZGVmIHRlc3RfY29weXN0YXRfc3ltbGlua3Moc2VsZik6CisgICAgICAgIHRtcF9kaXIgPSBzZWxmLm1rZHRlbXAoKQorICAgICAgICBzcmMgPSBvcy5wYXRoLmpvaW4odG1wX2RpciwgJ2ZvbycpCisgICAgICAgIGRzdCA9IG9zLnBhdGguam9pbih0bXBfZGlyLCAnYmFyJykKKyAgICAgICAgc3JjX2xpbmsgPSBvcy5wYXRoLmpvaW4odG1wX2RpciwgJ2JheicpCisgICAgICAgIGRzdF9saW5rID0gb3MucGF0aC5qb2luKHRtcF9kaXIsICdxdXgnKQorICAgICAgICB3cml0ZV9maWxlKHNyYywgJ2ZvbycpCisgICAgICAgIHNyY19zdGF0ID0gb3Muc3RhdChzcmMpCisgICAgICAgIG9zLnV0aW1lKHNyYywgKHNyY19zdGF0LnN0X2F0aW1lLAorICAgICAgICAgICAgICAgICAgICAgICBzcmNfc3RhdC5zdF9tdGltZSAtIDQyLjApKSAgIyBlbnN1cmUgZGlmZmVyZW50IG10aW1lcworICAgICAgICB3cml0ZV9maWxlKGRzdCwgJ2JhcicpCisgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwob3Muc3RhdChzcmMpLnN0X210aW1lLCBvcy5zdGF0KGRzdCkuc3RfbXRpbWUpCisgICAgICAgIG9zLnN5bWxpbmsoc3JjLCBzcmNfbGluaykKKyAgICAgICAgb3Muc3ltbGluayhkc3QsIGRzdF9saW5rKQorICAgICAgICBpZiBoYXNhdHRyKG9zLCAnbGNobW9kJyk6CisgICAgICAgICAgICBvcy5sY2htb2Qoc3JjX2xpbmssIHN0YXQuU19JUldYTykKKyAgICAgICAgaWYgaGFzYXR0cihvcywgJ2xjaGZsYWdzJykgYW5kIGhhc2F0dHIoc3RhdCwgJ1VGX05PRFVNUCcpOgorICAgICAgICAgICAgb3MubGNoZmxhZ3Moc3JjX2xpbmssIHN0YXQuVUZfTk9EVU1QKQorICAgICAgICBzcmNfbGlua19zdGF0ID0gb3MubHN0YXQoc3JjX2xpbmspCisgICAgICAgICMgZm9sbG93CisgICAgICAgIGlmIGhhc2F0dHIob3MsICdsY2htb2QnKToKKyAgICAgICAgICAgIHNodXRpbC5jb3B5c3RhdChzcmNfbGluaywgZHN0X2xpbmssIHN5bWxpbmtzPUZhbHNlKQorICAgICAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbChzcmNfbGlua19zdGF0LnN0X21vZGUsIG9zLnN0YXQoZHN0KS5zdF9tb2RlKQorICAgICAgICAjIGRvbid0IGZvbGxvdworICAgICAgICBzaHV0aWwuY29weXN0YXQoc3JjX2xpbmssIGRzdF9saW5rLCBzeW1saW5rcz1UcnVlKQorICAgICAgICBkc3RfbGlua19zdGF0ID0gb3MubHN0YXQoZHN0X2xpbmspCisgICAgICAgIGlmIGhhc2F0dHIob3MsICdsdXRpbWVzJyk6CisgICAgICAgICAgICBmb3IgYXR0ciBpbiAnc3RfYXRpbWUnLCAnc3RfbXRpbWUnOgorICAgICAgICAgICAgICAgICMgVGhlIG1vZGlmaWNhdGlvbiB0aW1lcyBtYXkgYmUgdHJ1bmNhdGVkIGluIHRoZSBuZXcgZmlsZS4KKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydExlc3NFcXVhbChnZXRhdHRyKHNyY19saW5rX3N0YXQsIGF0dHIpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldGF0dHIoZHN0X2xpbmtfc3RhdCwgYXR0cikgKyAxKQorICAgICAgICBpZiBoYXNhdHRyKG9zLCAnbGNobW9kJyk6CisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNyY19saW5rX3N0YXQuc3RfbW9kZSwgZHN0X2xpbmtfc3RhdC5zdF9tb2RlKQorICAgICAgICBpZiBoYXNhdHRyKG9zLCAnbGNoZmxhZ3MnKSBhbmQgaGFzYXR0cihzcmNfbGlua19zdGF0LCAnc3RfZmxhZ3MnKToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3JjX2xpbmtfc3RhdC5zdF9mbGFncywgZHN0X2xpbmtfc3RhdC5zdF9mbGFncykKKyAgICAgICAgIyB0ZWxsIHRvIGZvbGxvdyBidXQgZHN0IGlzIG5vdCBhIGxpbmsKKyAgICAgICAgc2h1dGlsLmNvcHlzdGF0KHNyY19saW5rLCBkc3QsIHN5bWxpbmtzPVRydWUpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShhYnMob3Muc3RhdChzcmMpLnN0X210aW1lIC0gb3Muc3RhdChkc3QpLnN0X210aW1lKSA8CisgICAgICAgICAgICAgICAgICAgICAgICAwMDAwMC4xKQorCisgICAgQHN1cHBvcnQuc2tpcF91bmxlc3Nfc3ltbGluaworICAgIGRlZiB0ZXN0X2NvcHlfc3ltbGlua3Moc2VsZik6CisgICAgICAgIHRtcF9kaXIgPSBzZWxmLm1rZHRlbXAoKQorICAgICAgICBzcmMgPSBvcy5wYXRoLmpvaW4odG1wX2RpciwgJ2ZvbycpCisgICAgICAgIGRzdCA9IG9zLnBhdGguam9pbih0bXBfZGlyLCAnYmFyJykKKyAgICAgICAgc3JjX2xpbmsgPSBvcy5wYXRoLmpvaW4odG1wX2RpciwgJ2JheicpCisgICAgICAgIHdyaXRlX2ZpbGUoc3JjLCAnZm9vJykKKyAgICAgICAgb3Muc3ltbGluayhzcmMsIHNyY19saW5rKQorICAgICAgICBpZiBoYXNhdHRyKG9zLCAnbGNobW9kJyk6CisgICAgICAgICAgICBvcy5sY2htb2Qoc3JjX2xpbmssIHN0YXQuU19JUldYVSB8IHN0YXQuU19JUldYTykKKyAgICAgICAgIyBkb24ndCBmb2xsb3cKKyAgICAgICAgc2h1dGlsLmNvcHkoc3JjX2xpbmssIGRzdCwgc3ltbGlua3M9RmFsc2UpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2Uob3MucGF0aC5pc2xpbmsoZHN0KSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZWFkX2ZpbGUoc3JjKSwgcmVhZF9maWxlKGRzdCkpCisgICAgICAgIG9zLnJlbW92ZShkc3QpCisgICAgICAgICMgZm9sbG93CisgICAgICAgIHNodXRpbC5jb3B5KHNyY19saW5rLCBkc3QsIHN5bWxpbmtzPVRydWUpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShvcy5wYXRoLmlzbGluayhkc3QpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG9zLnJlYWRsaW5rKGRzdCksIG9zLnJlYWRsaW5rKHNyY19saW5rKSkKKyAgICAgICAgaWYgaGFzYXR0cihvcywgJ2xjaG1vZCcpOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvcy5sc3RhdChzcmNfbGluaykuc3RfbW9kZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3MubHN0YXQoZHN0KS5zdF9tb2RlKQorCisgICAgQHN1cHBvcnQuc2tpcF91bmxlc3Nfc3ltbGluaworICAgIGRlZiB0ZXN0X2NvcHkyX3N5bWxpbmtzKHNlbGYpOgorICAgICAgICB0bXBfZGlyID0gc2VsZi5ta2R0ZW1wKCkKKyAgICAgICAgc3JjID0gb3MucGF0aC5qb2luKHRtcF9kaXIsICdmb28nKQorICAgICAgICBkc3QgPSBvcy5wYXRoLmpvaW4odG1wX2RpciwgJ2JhcicpCisgICAgICAgIHNyY19saW5rID0gb3MucGF0aC5qb2luKHRtcF9kaXIsICdiYXonKQorICAgICAgICB3cml0ZV9maWxlKHNyYywgJ2ZvbycpCisgICAgICAgIG9zLnN5bWxpbmsoc3JjLCBzcmNfbGluaykKKyAgICAgICAgaWYgaGFzYXR0cihvcywgJ2xjaG1vZCcpOgorICAgICAgICAgICAgb3MubGNobW9kKHNyY19saW5rLCBzdGF0LlNfSVJXWFUgfCBzdGF0LlNfSVJXWE8pCisgICAgICAgIGlmIGhhc2F0dHIob3MsICdsY2hmbGFncycpIGFuZCBoYXNhdHRyKHN0YXQsICdVRl9OT0RVTVAnKToKKyAgICAgICAgICAgIG9zLmxjaGZsYWdzKHNyY19saW5rLCBzdGF0LlVGX05PRFVNUCkKKyAgICAgICAgc3JjX3N0YXQgPSBvcy5zdGF0KHNyYykKKyAgICAgICAgc3JjX2xpbmtfc3RhdCA9IG9zLmxzdGF0KHNyY19saW5rKQorICAgICAgICAjIGZvbGxvdworICAgICAgICBzaHV0aWwuY29weTIoc3JjX2xpbmssIGRzdCwgc3ltbGlua3M9RmFsc2UpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2Uob3MucGF0aC5pc2xpbmsoZHN0KSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZWFkX2ZpbGUoc3JjKSwgcmVhZF9maWxlKGRzdCkpCisgICAgICAgIG9zLnJlbW92ZShkc3QpCisgICAgICAgICMgZG9uJ3QgZm9sbG93CisgICAgICAgIHNodXRpbC5jb3B5MihzcmNfbGluaywgZHN0LCBzeW1saW5rcz1UcnVlKQorICAgICAgICBzZWxmLmFzc2VydFRydWUob3MucGF0aC5pc2xpbmsoZHN0KSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvcy5yZWFkbGluayhkc3QpLCBvcy5yZWFkbGluayhzcmNfbGluaykpCisgICAgICAgIGRzdF9zdGF0ID0gb3MubHN0YXQoZHN0KQorICAgICAgICBpZiBoYXNhdHRyKG9zLCAnbHV0aW1lcycpOgorICAgICAgICAgICAgZm9yIGF0dHIgaW4gJ3N0X2F0aW1lJywgJ3N0X210aW1lJzoKKyAgICAgICAgICAgICAgICAjIFRoZSBtb2RpZmljYXRpb24gdGltZXMgbWF5IGJlIHRydW5jYXRlZCBpbiB0aGUgbmV3IGZpbGUuCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRMZXNzRXF1YWwoZ2V0YXR0cihzcmNfbGlua19zdGF0LCBhdHRyKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRhdHRyKGRzdF9zdGF0LCBhdHRyKSArIDEpCisgICAgICAgIGlmIGhhc2F0dHIob3MsICdsY2htb2QnKToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3JjX2xpbmtfc3RhdC5zdF9tb2RlLCBkc3Rfc3RhdC5zdF9tb2RlKQorICAgICAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbChzcmNfc3RhdC5zdF9tb2RlLCBkc3Rfc3RhdC5zdF9tb2RlKQorICAgICAgICBpZiBoYXNhdHRyKG9zLCAnbGNoZmxhZ3MnKSBhbmQgaGFzYXR0cihzcmNfbGlua19zdGF0LCAnc3RfZmxhZ3MnKToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3JjX2xpbmtfc3RhdC5zdF9mbGFncywgZHN0X3N0YXQuc3RfZmxhZ3MpCisKKyAgICBAc3VwcG9ydC5za2lwX3VubGVzc19zeW1saW5rCisgICAgZGVmIHRlc3RfY29weWZpbGVfc3ltbGlua3Moc2VsZik6CisgICAgICAgIHRtcF9kaXIgPSBzZWxmLm1rZHRlbXAoKQorICAgICAgICBzcmMgPSBvcy5wYXRoLmpvaW4odG1wX2RpciwgJ3NyYycpCisgICAgICAgIGRzdCA9IG9zLnBhdGguam9pbih0bXBfZGlyLCAnZHN0JykKKyAgICAgICAgZHN0X2xpbmsgPSBvcy5wYXRoLmpvaW4odG1wX2RpciwgJ2RzdF9saW5rJykKKyAgICAgICAgbGluayA9IG9zLnBhdGguam9pbih0bXBfZGlyLCAnbGluaycpCisgICAgICAgIHdyaXRlX2ZpbGUoc3JjLCAnZm9vJykKKyAgICAgICAgb3Muc3ltbGluayhzcmMsIGxpbmspCisgICAgICAgICMgZG9uJ3QgZm9sbG93CisgICAgICAgIHNodXRpbC5jb3B5ZmlsZShsaW5rLCBkc3RfbGluaywgc3ltbGlua3M9VHJ1ZSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG9zLnBhdGguaXNsaW5rKGRzdF9saW5rKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvcy5yZWFkbGluayhsaW5rKSwgb3MucmVhZGxpbmsoZHN0X2xpbmspKQorICAgICAgICAjIGZvbGxvdworICAgICAgICBzaHV0aWwuY29weWZpbGUobGluaywgZHN0KQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKG9zLnBhdGguaXNsaW5rKGRzdCkpCisKICAgICBkZWYgdGVzdF9ybXRyZWVfZG9udF9kZWxldGVfZmlsZShzZWxmKToKICAgICAgICAgIyBXaGVuIGNhbGxlZCBvbiBhIGZpbGUgaW5zdGVhZCBvZiBhIGRpcmVjdG9yeSwgZG9uJ3QgZGVsZXRlIGl0LgogICAgICAgICBoYW5kbGUsIHBhdGggPSB0ZW1wZmlsZS5ta3N0ZW1wKCkKLSAgICAgICAgb3MuZmRvcGVuKGhhbmRsZSkuY2xvc2UoKQorICAgICAgICBvcy5jbG9zZShoYW5kbGUpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE9TRXJyb3IsIHNodXRpbC5ybXRyZWUsIHBhdGgpCiAgICAgICAgIG9zLnJlbW92ZShwYXRoKQogCi0gICAgZGVmIF93cml0ZV9kYXRhKHNlbGYsIHBhdGgsIGRhdGEpOgotICAgICAgICBmID0gb3BlbihwYXRoLCAidyIpCi0gICAgICAgIGYud3JpdGUoZGF0YSkKLSAgICAgICAgZi5jbG9zZSgpCi0KICAgICBkZWYgdGVzdF9jb3B5dHJlZV9zaW1wbGUoc2VsZik6Ci0KLSAgICAgICAgZGVmIHJlYWRfZGF0YShwYXRoKToKLSAgICAgICAgICAgIGYgPSBvcGVuKHBhdGgpCi0gICAgICAgICAgICBkYXRhID0gZi5yZWFkKCkKLSAgICAgICAgICAgIGYuY2xvc2UoKQotICAgICAgICAgICAgcmV0dXJuIGRhdGEKLQogICAgICAgICBzcmNfZGlyID0gdGVtcGZpbGUubWtkdGVtcCgpCiAgICAgICAgIGRzdF9kaXIgPSBvcy5wYXRoLmpvaW4odGVtcGZpbGUubWtkdGVtcCgpLCAnZGVzdGluYXRpb24nKQotICAgICAgICBzZWxmLl93cml0ZV9kYXRhKG9zLnBhdGguam9pbihzcmNfZGlyLCAndGVzdC50eHQnKSwgJzEyMycpCisgICAgICAgIHNlbGYuYWRkQ2xlYW51cChzaHV0aWwucm10cmVlLCBzcmNfZGlyKQorICAgICAgICBzZWxmLmFkZENsZWFudXAoc2h1dGlsLnJtdHJlZSwgb3MucGF0aC5kaXJuYW1lKGRzdF9kaXIpKQorICAgICAgICB3cml0ZV9maWxlKChzcmNfZGlyLCAndGVzdC50eHQnKSwgJzEyMycpCiAgICAgICAgIG9zLm1rZGlyKG9zLnBhdGguam9pbihzcmNfZGlyLCAndGVzdF9kaXInKSkKLSAgICAgICAgc2VsZi5fd3JpdGVfZGF0YShvcy5wYXRoLmpvaW4oc3JjX2RpciwgJ3Rlc3RfZGlyJywgJ3Rlc3QudHh0JyksICc0NTYnKQorICAgICAgICB3cml0ZV9maWxlKChzcmNfZGlyLCAndGVzdF9kaXInLCAndGVzdC50eHQnKSwgJzQ1NicpCiAKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgc2h1dGlsLmNvcHl0cmVlKHNyY19kaXIsIGRzdF9kaXIpCi0gICAgICAgICAgICBzZWxmLmFzc2VydFRydWUob3MucGF0aC5pc2ZpbGUob3MucGF0aC5qb2luKGRzdF9kaXIsICd0ZXN0LnR4dCcpKSkKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShvcy5wYXRoLmlzZGlyKG9zLnBhdGguam9pbihkc3RfZGlyLCAndGVzdF9kaXInKSkpCi0gICAgICAgICAgICBzZWxmLmFzc2VydFRydWUob3MucGF0aC5pc2ZpbGUob3MucGF0aC5qb2luKGRzdF9kaXIsICd0ZXN0X2RpcicsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0ZXN0LnR4dCcpKSkKLSAgICAgICAgICAgIGFjdHVhbCA9IHJlYWRfZGF0YShvcy5wYXRoLmpvaW4oZHN0X2RpciwgJ3Rlc3QudHh0JykpCi0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGFjdHVhbCwgJzEyMycpCi0gICAgICAgICAgICBhY3R1YWwgPSByZWFkX2RhdGEob3MucGF0aC5qb2luKGRzdF9kaXIsICd0ZXN0X2RpcicsICd0ZXN0LnR4dCcpKQotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChhY3R1YWwsICc0NTYnKQotICAgICAgICBmaW5hbGx5OgotICAgICAgICAgICAgZm9yIHBhdGggaW4gKAotICAgICAgICAgICAgICAgICAgICBvcy5wYXRoLmpvaW4oc3JjX2RpciwgJ3Rlc3QudHh0JyksCi0gICAgICAgICAgICAgICAgICAgIG9zLnBhdGguam9pbihkc3RfZGlyLCAndGVzdC50eHQnKSwKLSAgICAgICAgICAgICAgICAgICAgb3MucGF0aC5qb2luKHNyY19kaXIsICd0ZXN0X2RpcicsICd0ZXN0LnR4dCcpLAotICAgICAgICAgICAgICAgICAgICBvcy5wYXRoLmpvaW4oZHN0X2RpciwgJ3Rlc3RfZGlyJywgJ3Rlc3QudHh0JyksCi0gICAgICAgICAgICAgICAgKToKLSAgICAgICAgICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cyhwYXRoKToKLSAgICAgICAgICAgICAgICAgICAgb3MucmVtb3ZlKHBhdGgpCi0gICAgICAgICAgICBmb3IgcGF0aCBpbiAoc3JjX2RpciwKLSAgICAgICAgICAgICAgICAgICAgb3MucGF0aC5kaXJuYW1lKGRzdF9kaXIpCi0gICAgICAgICAgICAgICAgKToKLSAgICAgICAgICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cyhwYXRoKToKLSAgICAgICAgICAgICAgICAgICAgc2h1dGlsLnJtdHJlZShwYXRoKQorICAgICAgICBzaHV0aWwuY29weXRyZWUoc3JjX2RpciwgZHN0X2RpcikKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG9zLnBhdGguaXNmaWxlKG9zLnBhdGguam9pbihkc3RfZGlyLCAndGVzdC50eHQnKSkpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShvcy5wYXRoLmlzZGlyKG9zLnBhdGguam9pbihkc3RfZGlyLCAndGVzdF9kaXInKSkpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShvcy5wYXRoLmlzZmlsZShvcy5wYXRoLmpvaW4oZHN0X2RpciwgJ3Rlc3RfZGlyJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndGVzdC50eHQnKSkpCisgICAgICAgIGFjdHVhbCA9IHJlYWRfZmlsZSgoZHN0X2RpciwgJ3Rlc3QudHh0JykpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYWN0dWFsLCAnMTIzJykKKyAgICAgICAgYWN0dWFsID0gcmVhZF9maWxlKChkc3RfZGlyLCAndGVzdF9kaXInLCAndGVzdC50eHQnKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChhY3R1YWwsICc0NTYnKQorCisgICAgQHN1cHBvcnQuc2tpcF91bmxlc3Nfc3ltbGluaworICAgIGRlZiB0ZXN0X2NvcHl0cmVlX3N5bWxpbmtzKHNlbGYpOgorICAgICAgICB0bXBfZGlyID0gc2VsZi5ta2R0ZW1wKCkKKyAgICAgICAgc3JjX2RpciA9IG9zLnBhdGguam9pbih0bXBfZGlyLCAnc3JjJykKKyAgICAgICAgZHN0X2RpciA9IG9zLnBhdGguam9pbih0bXBfZGlyLCAnZHN0JykKKyAgICAgICAgc3ViX2RpciA9IG9zLnBhdGguam9pbihzcmNfZGlyLCAnc3ViJykKKyAgICAgICAgb3MubWtkaXIoc3JjX2RpcikKKyAgICAgICAgb3MubWtkaXIoc3ViX2RpcikKKyAgICAgICAgd3JpdGVfZmlsZSgoc3JjX2RpciwgJ2ZpbGUudHh0JyksICdmb28nKQorICAgICAgICBzcmNfbGluayA9IG9zLnBhdGguam9pbihzdWJfZGlyLCAnbGluaycpCisgICAgICAgIGRzdF9saW5rID0gb3MucGF0aC5qb2luKGRzdF9kaXIsICdzdWIvbGluaycpCisgICAgICAgIG9zLnN5bWxpbmsob3MucGF0aC5qb2luKHNyY19kaXIsICdmaWxlLnR4dCcpLAorICAgICAgICAgICAgICAgICAgIHNyY19saW5rKQorICAgICAgICBpZiBoYXNhdHRyKG9zLCAnbGNobW9kJyk6CisgICAgICAgICAgICBvcy5sY2htb2Qoc3JjX2xpbmssIHN0YXQuU19JUldYVSB8IHN0YXQuU19JUldYTykKKyAgICAgICAgaWYgaGFzYXR0cihvcywgJ2xjaGZsYWdzJykgYW5kIGhhc2F0dHIoc3RhdCwgJ1VGX05PRFVNUCcpOgorICAgICAgICAgICAgb3MubGNoZmxhZ3Moc3JjX2xpbmssIHN0YXQuVUZfTk9EVU1QKQorICAgICAgICBzcmNfc3RhdCA9IG9zLmxzdGF0KHNyY19saW5rKQorICAgICAgICBzaHV0aWwuY29weXRyZWUoc3JjX2RpciwgZHN0X2Rpciwgc3ltbGlua3M9VHJ1ZSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG9zLnBhdGguaXNsaW5rKG9zLnBhdGguam9pbihkc3RfZGlyLCAnc3ViJywgJ2xpbmsnKSkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwob3MucmVhZGxpbmsob3MucGF0aC5qb2luKGRzdF9kaXIsICdzdWInLCAnbGluaycpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBvcy5wYXRoLmpvaW4oc3JjX2RpciwgJ2ZpbGUudHh0JykpCisgICAgICAgIGRzdF9zdGF0ID0gb3MubHN0YXQoZHN0X2xpbmspCisgICAgICAgIGlmIGhhc2F0dHIob3MsICdsY2htb2QnKToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZHN0X3N0YXQuc3RfbW9kZSwgc3JjX3N0YXQuc3RfbW9kZSkKKyAgICAgICAgaWYgaGFzYXR0cihvcywgJ2xjaGZsYWdzJyk6CisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGRzdF9zdGF0LnN0X2ZsYWdzLCBzcmNfc3RhdC5zdF9mbGFncykKIAogICAgIGRlZiB0ZXN0X2NvcHl0cmVlX3dpdGhfZXhjbHVkZShzZWxmKToKLQotICAgICAgICBkZWYgcmVhZF9kYXRhKHBhdGgpOgotICAgICAgICAgICAgZiA9IG9wZW4ocGF0aCkKLSAgICAgICAgICAgIGRhdGEgPSBmLnJlYWQoKQotICAgICAgICAgICAgZi5jbG9zZSgpCi0gICAgICAgICAgICByZXR1cm4gZGF0YQotCiAgICAgICAgICMgY3JlYXRpbmcgZGF0YQogICAgICAgICBqb2luID0gb3MucGF0aC5qb2luCiAgICAgICAgIGV4aXN0cyA9IG9zLnBhdGguZXhpc3RzCiAgICAgICAgIHNyY19kaXIgPSB0ZW1wZmlsZS5ta2R0ZW1wKCkKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgZHN0X2RpciA9IGpvaW4odGVtcGZpbGUubWtkdGVtcCgpLCAnZGVzdGluYXRpb24nKQotICAgICAgICAgICAgc2VsZi5fd3JpdGVfZGF0YShqb2luKHNyY19kaXIsICd0ZXN0LnR4dCcpLCAnMTIzJykKLSAgICAgICAgICAgIHNlbGYuX3dyaXRlX2RhdGEoam9pbihzcmNfZGlyLCAndGVzdC50bXAnKSwgJzEyMycpCisgICAgICAgICAgICB3cml0ZV9maWxlKChzcmNfZGlyLCAndGVzdC50eHQnKSwgJzEyMycpCisgICAgICAgICAgICB3cml0ZV9maWxlKChzcmNfZGlyLCAndGVzdC50bXAnKSwgJzEyMycpCiAgICAgICAgICAgICBvcy5ta2Rpcihqb2luKHNyY19kaXIsICd0ZXN0X2RpcicpKQotICAgICAgICAgICAgc2VsZi5fd3JpdGVfZGF0YShqb2luKHNyY19kaXIsICd0ZXN0X2RpcicsICd0ZXN0LnR4dCcpLCAnNDU2JykKKyAgICAgICAgICAgIHdyaXRlX2ZpbGUoKHNyY19kaXIsICd0ZXN0X2RpcicsICd0ZXN0LnR4dCcpLCAnNDU2JykKICAgICAgICAgICAgIG9zLm1rZGlyKGpvaW4oc3JjX2RpciwgJ3Rlc3RfZGlyMicpKQotICAgICAgICAgICAgc2VsZi5fd3JpdGVfZGF0YShqb2luKHNyY19kaXIsICd0ZXN0X2RpcjInLCAndGVzdC50eHQnKSwgJzQ1NicpCisgICAgICAgICAgICB3cml0ZV9maWxlKChzcmNfZGlyLCAndGVzdF9kaXIyJywgJ3Rlc3QudHh0JyksICc0NTYnKQogICAgICAgICAgICAgb3MubWtkaXIoam9pbihzcmNfZGlyLCAndGVzdF9kaXIyJywgJ3N1YmRpcicpKQogICAgICAgICAgICAgb3MubWtkaXIoam9pbihzcmNfZGlyLCAndGVzdF9kaXIyJywgJ3N1YmRpcjInKSkKLSAgICAgICAgICAgIHNlbGYuX3dyaXRlX2RhdGEoam9pbihzcmNfZGlyLCAndGVzdF9kaXIyJywgJ3N1YmRpcicsICd0ZXN0LnR4dCcpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnNDU2JykKLSAgICAgICAgICAgIHNlbGYuX3dyaXRlX2RhdGEoam9pbihzcmNfZGlyLCAndGVzdF9kaXIyJywgJ3N1YmRpcjInLCAndGVzdC5weScpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnNDU2JykKLQorICAgICAgICAgICAgd3JpdGVfZmlsZSgoc3JjX2RpciwgJ3Rlc3RfZGlyMicsICdzdWJkaXInLCAndGVzdC50eHQnKSwgJzQ1NicpCisgICAgICAgICAgICB3cml0ZV9maWxlKChzcmNfZGlyLCAndGVzdF9kaXIyJywgJ3N1YmRpcjInLCAndGVzdC5weScpLCAnNDU2JykKIAogICAgICAgICAgICAgIyB0ZXN0aW5nIGdsb2ItbGlrZSBwYXR0ZXJucwogICAgICAgICAgICAgdHJ5OgpAQCAtMjQzLDIxICs0MzUsMTkgQEAKICAgICAgICAgICAgICAgICBzaHV0aWwuY29weXRyZWUoc3JjX2RpciwgZHN0X2RpciwgaWdub3JlPXBhdHRlcm5zKQogICAgICAgICAgICAgICAgICMgY2hlY2tpbmcgdGhlIHJlc3VsdDogc29tZSBlbGVtZW50cyBzaG91bGQgbm90IGJlIGNvcGllZAogICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShleGlzdHMoam9pbihkc3RfZGlyLCAndGVzdC50eHQnKSkpCi0gICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG5vdCBleGlzdHMoam9pbihkc3RfZGlyLCAndGVzdC50bXAnKSkpCi0gICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG5vdCBleGlzdHMoam9pbihkc3RfZGlyLCAndGVzdF9kaXIyJykpKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoZXhpc3RzKGpvaW4oZHN0X2RpciwgJ3Rlc3QudG1wJykpKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoZXhpc3RzKGpvaW4oZHN0X2RpciwgJ3Rlc3RfZGlyMicpKSkKICAgICAgICAgICAgIGZpbmFsbHk6Ci0gICAgICAgICAgICAgICAgaWYgb3MucGF0aC5leGlzdHMoZHN0X2Rpcik6Ci0gICAgICAgICAgICAgICAgICAgIHNodXRpbC5ybXRyZWUoZHN0X2RpcikKKyAgICAgICAgICAgICAgICBzaHV0aWwucm10cmVlKGRzdF9kaXIpCiAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgcGF0dGVybnMgPSBzaHV0aWwuaWdub3JlX3BhdHRlcm5zKCcqLnRtcCcsICdzdWJkaXIqJykKICAgICAgICAgICAgICAgICBzaHV0aWwuY29weXRyZWUoc3JjX2RpciwgZHN0X2RpciwgaWdub3JlPXBhdHRlcm5zKQogICAgICAgICAgICAgICAgICMgY2hlY2tpbmcgdGhlIHJlc3VsdDogc29tZSBlbGVtZW50cyBzaG91bGQgbm90IGJlIGNvcGllZAotICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShub3QgZXhpc3RzKGpvaW4oZHN0X2RpciwgJ3Rlc3QudG1wJykpKQotICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShub3QgZXhpc3RzKGpvaW4oZHN0X2RpciwgJ3Rlc3RfZGlyMicsICdzdWJkaXIyJykpKQotICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShub3QgZXhpc3RzKGpvaW4oZHN0X2RpciwgJ3Rlc3RfZGlyMicsICdzdWJkaXInKSkpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShleGlzdHMoam9pbihkc3RfZGlyLCAndGVzdC50bXAnKSkpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShleGlzdHMoam9pbihkc3RfZGlyLCAndGVzdF9kaXIyJywgJ3N1YmRpcjInKSkpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShleGlzdHMoam9pbihkc3RfZGlyLCAndGVzdF9kaXIyJywgJ3N1YmRpcicpKSkKICAgICAgICAgICAgIGZpbmFsbHk6Ci0gICAgICAgICAgICAgICAgaWYgb3MucGF0aC5leGlzdHMoZHN0X2Rpcik6Ci0gICAgICAgICAgICAgICAgICAgIHNodXRpbC5ybXRyZWUoZHN0X2RpcikKKyAgICAgICAgICAgICAgICBzaHV0aWwucm10cmVlKGRzdF9kaXIpCiAKICAgICAgICAgICAgICMgdGVzdGluZyBjYWxsYWJsZS1zdHlsZQogICAgICAgICAgICAgdHJ5OgpAQCAtMjc2LDEzICs0NjYsMTIgQEAKICAgICAgICAgICAgICAgICBzaHV0aWwuY29weXRyZWUoc3JjX2RpciwgZHN0X2RpciwgaWdub3JlPV9maWx0ZXIpCiAKICAgICAgICAgICAgICAgICAjIGNoZWNraW5nIHRoZSByZXN1bHQ6IHNvbWUgZWxlbWVudHMgc2hvdWxkIG5vdCBiZSBjb3BpZWQKLSAgICAgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUobm90IGV4aXN0cyhqb2luKGRzdF9kaXIsICd0ZXN0X2RpcjInLCAnc3ViZGlyMicsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Rlc3QucHknKSkpCi0gICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG5vdCBleGlzdHMoam9pbihkc3RfZGlyLCAndGVzdF9kaXIyJywgJ3N1YmRpcicpKSkKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGV4aXN0cyhqb2luKGRzdF9kaXIsICd0ZXN0X2RpcjInLCAnc3ViZGlyMicsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndGVzdC5weScpKSkKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGV4aXN0cyhqb2luKGRzdF9kaXIsICd0ZXN0X2RpcjInLCAnc3ViZGlyJykpKQogCiAgICAgICAgICAgICBmaW5hbGx5OgotICAgICAgICAgICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKGRzdF9kaXIpOgotICAgICAgICAgICAgICAgICAgICBzaHV0aWwucm10cmVlKGRzdF9kaXIpCisgICAgICAgICAgICAgICAgc2h1dGlsLnJtdHJlZShkc3RfZGlyKQogICAgICAgICBmaW5hbGx5OgogICAgICAgICAgICAgc2h1dGlsLnJtdHJlZShzcmNfZGlyKQogICAgICAgICAgICAgc2h1dGlsLnJtdHJlZShvcy5wYXRoLmRpcm5hbWUoZHN0X2RpcikpCkBAIC0zNzcsOSArNTY2LDkgQEAKIAogICAgICAgICBzcmNfZGlyID0gc2VsZi5ta2R0ZW1wKCkKICAgICAgICAgZHN0X2RpciA9IG9zLnBhdGguam9pbihzZWxmLm1rZHRlbXAoKSwgJ2Rlc3RpbmF0aW9uJykKLSAgICAgICAgc2VsZi5fd3JpdGVfZGF0YShvcy5wYXRoLmpvaW4oc3JjX2RpciwgJ3Rlc3QudHh0JyksICcxMjMnKQorICAgICAgICB3cml0ZV9maWxlKChzcmNfZGlyLCAndGVzdC50eHQnKSwgJzEyMycpCiAgICAgICAgIG9zLm1rZGlyKG9zLnBhdGguam9pbihzcmNfZGlyLCAndGVzdF9kaXInKSkKLSAgICAgICAgc2VsZi5fd3JpdGVfZGF0YShvcy5wYXRoLmpvaW4oc3JjX2RpciwgJ3Rlc3RfZGlyJywgJ3Rlc3QudHh0JyksICc0NTYnKQorICAgICAgICB3cml0ZV9maWxlKChzcmNfZGlyLCAndGVzdF9kaXInLCAndGVzdC50eHQnKSwgJzQ1NicpCiAKICAgICAgICAgY29waWVkID0gW10KICAgICAgICAgZGVmIF9jb3B5KHNyYywgZHN0KToKQEAgLTM5Niw3ICs1ODUsNyBAQAogICAgICAgICBkc3RfZGlyID0gb3MucGF0aC5qb2luKHNlbGYubWtkdGVtcCgpLCAnZGVzdGluYXRpb24nKQogICAgICAgICBvcy5zeW1saW5rKCdJRE9OVEVYSVNUJywgb3MucGF0aC5qb2luKHNyY19kaXIsICd0ZXN0LnR4dCcpKQogICAgICAgICBvcy5ta2Rpcihvcy5wYXRoLmpvaW4oc3JjX2RpciwgJ3Rlc3RfZGlyJykpCi0gICAgICAgIHNlbGYuX3dyaXRlX2RhdGEob3MucGF0aC5qb2luKHNyY19kaXIsICd0ZXN0X2RpcicsICd0ZXN0LnR4dCcpLCAnNDU2JykKKyAgICAgICAgd3JpdGVfZmlsZSgoc3JjX2RpciwgJ3Rlc3RfZGlyJywgJ3Rlc3QudHh0JyksICc0NTYnKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhFcnJvciwgc2h1dGlsLmNvcHl0cmVlLCBzcmNfZGlyLCBkc3RfZGlyKQogCiAgICAgICAgICMgYSBkYW5nbGluZyBzeW1saW5rIGlzIGlnbm9yZWQgd2l0aCB0aGUgcHJvcGVyIGZsYWcKQEAgLTQxMiw3ICs2MDEsNyBAQAogICAgIGRlZiBfY29weV9maWxlKHNlbGYsIG1ldGhvZCk6CiAgICAgICAgIGZuYW1lID0gJ3Rlc3QudHh0JwogICAgICAgICB0bXBkaXIgPSBzZWxmLm1rZHRlbXAoKQotICAgICAgICBzZWxmLndyaXRlX2ZpbGUoW3RtcGRpciwgZm5hbWVdKQorICAgICAgICB3cml0ZV9maWxlKCh0bXBkaXIsIGZuYW1lKSwgJ3h4eCcpCiAgICAgICAgIGZpbGUxID0gb3MucGF0aC5qb2luKHRtcGRpciwgZm5hbWUpCiAgICAgICAgIHRtcGRpcjIgPSBzZWxmLm1rZHRlbXAoKQogICAgICAgICBtZXRob2QoZmlsZTEsIHRtcGRpcjIpCkBAIC00NDQsMTQgKzYzMywxNCBAQAogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChnZXRhdHRyKGZpbGUxX3N0YXQsICdzdF9mbGFncycpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRhdHRyKGZpbGUyX3N0YXQsICdzdF9mbGFncycpKQogCi0gICAgQHVuaXR0ZXN0LnNraXBVbmxlc3MoemxpYiwgInJlcXVpcmVzIHpsaWIiKQorICAgIEByZXF1aXJlc196bGliCiAgICAgZGVmIHRlc3RfbWFrZV90YXJiYWxsKHNlbGYpOgogICAgICAgICAjIGNyZWF0aW5nIHNvbWV0aGluZyB0byB0YXIKICAgICAgICAgdG1wZGlyID0gc2VsZi5ta2R0ZW1wKCkKLSAgICAgICAgc2VsZi53cml0ZV9maWxlKFt0bXBkaXIsICdmaWxlMSddLCAneHh4JykKLSAgICAgICAgc2VsZi53cml0ZV9maWxlKFt0bXBkaXIsICdmaWxlMiddLCAneHh4JykKKyAgICAgICAgd3JpdGVfZmlsZSgodG1wZGlyLCAnZmlsZTEnKSwgJ3h4eCcpCisgICAgICAgIHdyaXRlX2ZpbGUoKHRtcGRpciwgJ2ZpbGUyJyksICd4eHgnKQogICAgICAgICBvcy5ta2Rpcihvcy5wYXRoLmpvaW4odG1wZGlyLCAnc3ViJykpCi0gICAgICAgIHNlbGYud3JpdGVfZmlsZShbdG1wZGlyLCAnc3ViJywgJ2ZpbGUzJ10sICd4eHgnKQorICAgICAgICB3cml0ZV9maWxlKCh0bXBkaXIsICdzdWInLCAnZmlsZTMnKSwgJ3h4eCcpCiAKICAgICAgICAgdG1wZGlyMiA9IHNlbGYubWtkdGVtcCgpCiAgICAgICAgICMgZm9yY2Ugc2h1dGlsIHRvIGNyZWF0ZSB0aGUgZGlyZWN0b3J5CkBAIC00OTgsMTYgKzY4NywxNiBAQAogICAgICAgICB0bXBkaXIgPSBzZWxmLm1rZHRlbXAoKQogICAgICAgICBkaXN0ID0gb3MucGF0aC5qb2luKHRtcGRpciwgJ2Rpc3QnKQogICAgICAgICBvcy5ta2RpcihkaXN0KQotICAgICAgICBzZWxmLndyaXRlX2ZpbGUoW2Rpc3QsICdmaWxlMSddLCAneHh4JykKLSAgICAgICAgc2VsZi53cml0ZV9maWxlKFtkaXN0LCAnZmlsZTInXSwgJ3h4eCcpCisgICAgICAgIHdyaXRlX2ZpbGUoKGRpc3QsICdmaWxlMScpLCAneHh4JykKKyAgICAgICAgd3JpdGVfZmlsZSgoZGlzdCwgJ2ZpbGUyJyksICd4eHgnKQogICAgICAgICBvcy5ta2Rpcihvcy5wYXRoLmpvaW4oZGlzdCwgJ3N1YicpKQotICAgICAgICBzZWxmLndyaXRlX2ZpbGUoW2Rpc3QsICdzdWInLCAnZmlsZTMnXSwgJ3h4eCcpCisgICAgICAgIHdyaXRlX2ZpbGUoKGRpc3QsICdzdWInLCAnZmlsZTMnKSwgJ3h4eCcpCiAgICAgICAgIG9zLm1rZGlyKG9zLnBhdGguam9pbihkaXN0LCAnc3ViMicpKQogICAgICAgICB0bXBkaXIyID0gc2VsZi5ta2R0ZW1wKCkKICAgICAgICAgYmFzZV9uYW1lID0gb3MucGF0aC5qb2luKHRtcGRpcjIsICdhcmNoaXZlJykKICAgICAgICAgcmV0dXJuIHRtcGRpciwgdG1wZGlyMiwgYmFzZV9uYW1lCiAKLSAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyh6bGliLCAiUmVxdWlyZXMgemxpYiIpCisgICAgQHJlcXVpcmVzX3psaWIKICAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhmaW5kX2V4ZWN1dGFibGUoJ3RhcicpIGFuZCBmaW5kX2V4ZWN1dGFibGUoJ2d6aXAnKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAnTmVlZCB0aGUgdGFyIGNvbW1hbmQgdG8gcnVuJykKICAgICBkZWYgdGVzdF90YXJmaWxlX3ZzX3RhcihzZWxmKToKQEAgLTU2MiwxMyArNzUxLDEzIEBACiAgICAgICAgIHRhcmJhbGwgPSBiYXNlX25hbWUgKyAnLnRhcicKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG9zLnBhdGguZXhpc3RzKHRhcmJhbGwpKQogCi0gICAgQHVuaXR0ZXN0LnNraXBVbmxlc3MoemxpYiwgIlJlcXVpcmVzIHpsaWIiKQorICAgIEByZXF1aXJlc196bGliCiAgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3MoWklQX1NVUFBPUlQsICdOZWVkIHppcCBzdXBwb3J0IHRvIHJ1bicpCiAgICAgZGVmIHRlc3RfbWFrZV96aXBmaWxlKHNlbGYpOgogICAgICAgICAjIGNyZWF0aW5nIHNvbWV0aGluZyB0byB0YXIKICAgICAgICAgdG1wZGlyID0gc2VsZi5ta2R0ZW1wKCkKLSAgICAgICAgc2VsZi53cml0ZV9maWxlKFt0bXBkaXIsICdmaWxlMSddLCAneHh4JykKLSAgICAgICAgc2VsZi53cml0ZV9maWxlKFt0bXBkaXIsICdmaWxlMiddLCAneHh4JykKKyAgICAgICAgd3JpdGVfZmlsZSgodG1wZGlyLCAnZmlsZTEnKSwgJ3h4eCcpCisgICAgICAgIHdyaXRlX2ZpbGUoKHRtcGRpciwgJ2ZpbGUyJyksICd4eHgnKQogCiAgICAgICAgIHRtcGRpcjIgPSBzZWxmLm1rZHRlbXAoKQogICAgICAgICAjIGZvcmNlIHNodXRpbCB0byBjcmVhdGUgdGhlIGRpcmVjdG9yeQpAQCAtNTg2LDcgKzc3NSw3IEBACiAgICAgICAgIGJhc2VfbmFtZSA9IG9zLnBhdGguam9pbih0bXBkaXIsICdhcmNoaXZlJykKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgbWFrZV9hcmNoaXZlLCBiYXNlX25hbWUsICd4eHgnKQogCi0gICAgQHVuaXR0ZXN0LnNraXBVbmxlc3MoemxpYiwgIlJlcXVpcmVzIHpsaWIiKQorICAgIEByZXF1aXJlc196bGliCiAgICAgZGVmIHRlc3RfbWFrZV9hcmNoaXZlX293bmVyX2dyb3VwKHNlbGYpOgogICAgICAgICAjIHRlc3RpbmcgbWFrZV9hcmNoaXZlIHdpdGggb3duZXIgYW5kIGdyb3VwLCB3aXRoIHZhcmlvdXMgY29tYmluYXRpb25zCiAgICAgICAgICMgdGhpcyB3b3JrcyBldmVuIGlmIHRoZXJlJ3Mgbm90IGdpZC91aWQgc3VwcG9ydApAQCAtNjE0LDcgKzgwMyw3IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShvcy5wYXRoLmV4aXN0cyhyZXMpKQogCiAKLSAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyh6bGliLCAiUmVxdWlyZXMgemxpYiIpCisgICAgQHJlcXVpcmVzX3psaWIKICAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhVSURfR0lEX1NVUFBPUlQsICJSZXF1aXJlcyBncnAgYW5kIHB3ZCBzdXBwb3J0IikKICAgICBkZWYgdGVzdF90YXJmaWxlX3Jvb3Rfb3duZXIoc2VsZik6CiAgICAgICAgIHRtcGRpciwgdG1wZGlyMiwgYmFzZV9uYW1lID0gIHNlbGYuX2NyZWF0ZV9maWxlcygpCkBAIC02ODMsNyArODcyLDcgQEAKICAgICAgICAgICAgICAgICAgICAgZGlmZi5hcHBlbmQoZmlsZV8pCiAgICAgICAgIHJldHVybiBkaWZmCiAKLSAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyh6bGliLCAiUmVxdWlyZXMgemxpYiIpCisgICAgQHJlcXVpcmVzX3psaWIKICAgICBkZWYgdGVzdF91bnBhY2tfYXJjaGl2ZShzZWxmKToKICAgICAgICAgZm9ybWF0cyA9IFsndGFyJywgJ2d6dGFyJywgJ3ppcCddCiAgICAgICAgIGlmIEJaMl9TVVBQT1JURUQ6CkBAIC03MzQsNiArOTIzLDc1IEBACiAgICAgICAgIHVucmVnaXN0ZXJfdW5wYWNrX2Zvcm1hdCgnQm9vMicpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZ2V0X3VucGFja19mb3JtYXRzKCksIGZvcm1hdHMpCiAKKyAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhoYXNhdHRyKHNodXRpbCwgJ2Rpc2tfdXNhZ2UnKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAiZGlza191c2FnZSBub3QgYXZhaWxhYmxlIG9uIHRoaXMgcGxhdGZvcm0iKQorICAgIGRlZiB0ZXN0X2Rpc2tfdXNhZ2Uoc2VsZik6CisgICAgICAgIHVzYWdlID0gc2h1dGlsLmRpc2tfdXNhZ2Uob3MuZ2V0Y3dkKCkpCisgICAgICAgIHNlbGYuYXNzZXJ0R3JlYXRlcih1c2FnZS50b3RhbCwgMCkKKyAgICAgICAgc2VsZi5hc3NlcnRHcmVhdGVyKHVzYWdlLnVzZWQsIDApCisgICAgICAgIHNlbGYuYXNzZXJ0R3JlYXRlckVxdWFsKHVzYWdlLmZyZWUsIDApCisgICAgICAgIHNlbGYuYXNzZXJ0R3JlYXRlckVxdWFsKHVzYWdlLnRvdGFsLCB1c2FnZS51c2VkKQorICAgICAgICBzZWxmLmFzc2VydEdyZWF0ZXIodXNhZ2UudG90YWwsIHVzYWdlLmZyZWUpCisKKyAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhVSURfR0lEX1NVUFBPUlQsICJSZXF1aXJlcyBncnAgYW5kIHB3ZCBzdXBwb3J0IikKKyAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhoYXNhdHRyKG9zLCAnY2hvd24nKSwgJ3JlcXVpcmVzIG9zLmNob3duJykKKyAgICBkZWYgdGVzdF9jaG93bihzZWxmKToKKworICAgICAgICAjIGNsZWFuZWQtdXAgYXV0b21hdGljYWxseSBieSBUZXN0U2h1dGlsLnRlYXJEb3duIG1ldGhvZAorICAgICAgICBkaXJuYW1lID0gc2VsZi5ta2R0ZW1wKCkKKyAgICAgICAgZmlsZW5hbWUgPSB0ZW1wZmlsZS5ta3RlbXAoZGlyPWRpcm5hbWUpCisgICAgICAgIHdyaXRlX2ZpbGUoZmlsZW5hbWUsICd0ZXN0aW5nIGNob3duIGZ1bmN0aW9uJykKKworICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IpOgorICAgICAgICAgICAgc2h1dGlsLmNob3duKGZpbGVuYW1lKQorCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoTG9va3VwRXJyb3IpOgorICAgICAgICAgICAgc2h1dGlsLmNob3duKGZpbGVuYW1lLCB1c2VyPSdub24tZXhpc2luZyB1c2VybmFtZScpCisKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhMb29rdXBFcnJvcik6CisgICAgICAgICAgICBzaHV0aWwuY2hvd24oZmlsZW5hbWUsIGdyb3VwPSdub24tZXhpc2luZyBncm91cG5hbWUnKQorCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yKToKKyAgICAgICAgICAgIHNodXRpbC5jaG93bihmaWxlbmFtZSwgYidzcGFtJykKKworICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvcik6CisgICAgICAgICAgICBzaHV0aWwuY2hvd24oZmlsZW5hbWUsIDMuMTQpCisKKyAgICAgICAgdWlkID0gb3MuZ2V0dWlkKCkKKyAgICAgICAgZ2lkID0gb3MuZ2V0Z2lkKCkKKworICAgICAgICBkZWYgY2hlY2tfY2hvd24ocGF0aCwgdWlkPU5vbmUsIGdpZD1Ob25lKToKKyAgICAgICAgICAgIHMgPSBvcy5zdGF0KGZpbGVuYW1lKQorICAgICAgICAgICAgaWYgdWlkIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodWlkLCBzLnN0X3VpZCkKKyAgICAgICAgICAgIGlmIGdpZCBpcyBub3QgTm9uZToKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGdpZCwgcy5zdF9naWQpCisKKyAgICAgICAgc2h1dGlsLmNob3duKGZpbGVuYW1lLCB1aWQsIGdpZCkKKyAgICAgICAgY2hlY2tfY2hvd24oZmlsZW5hbWUsIHVpZCwgZ2lkKQorICAgICAgICBzaHV0aWwuY2hvd24oZmlsZW5hbWUsIHVpZCkKKyAgICAgICAgY2hlY2tfY2hvd24oZmlsZW5hbWUsIHVpZCkKKyAgICAgICAgc2h1dGlsLmNob3duKGZpbGVuYW1lLCB1c2VyPXVpZCkKKyAgICAgICAgY2hlY2tfY2hvd24oZmlsZW5hbWUsIHVpZCkKKyAgICAgICAgc2h1dGlsLmNob3duKGZpbGVuYW1lLCBncm91cD1naWQpCisgICAgICAgIGNoZWNrX2Nob3duKGZpbGVuYW1lLCBnaWQ9Z2lkKQorCisgICAgICAgIHNodXRpbC5jaG93bihkaXJuYW1lLCB1aWQsIGdpZCkKKyAgICAgICAgY2hlY2tfY2hvd24oZGlybmFtZSwgdWlkLCBnaWQpCisgICAgICAgIHNodXRpbC5jaG93bihkaXJuYW1lLCB1aWQpCisgICAgICAgIGNoZWNrX2Nob3duKGRpcm5hbWUsIHVpZCkKKyAgICAgICAgc2h1dGlsLmNob3duKGRpcm5hbWUsIHVzZXI9dWlkKQorICAgICAgICBjaGVja19jaG93bihkaXJuYW1lLCB1aWQpCisgICAgICAgIHNodXRpbC5jaG93bihkaXJuYW1lLCBncm91cD1naWQpCisgICAgICAgIGNoZWNrX2Nob3duKGRpcm5hbWUsIGdpZD1naWQpCisKKyAgICAgICAgdXNlciA9IHB3ZC5nZXRwd3VpZCh1aWQpWzBdCisgICAgICAgIGdyb3VwID0gZ3JwLmdldGdyZ2lkKGdpZClbMF0KKyAgICAgICAgc2h1dGlsLmNob3duKGZpbGVuYW1lLCB1c2VyLCBncm91cCkKKyAgICAgICAgY2hlY2tfY2hvd24oZmlsZW5hbWUsIHVpZCwgZ2lkKQorICAgICAgICBzaHV0aWwuY2hvd24oZGlybmFtZSwgdXNlciwgZ3JvdXApCisgICAgICAgIGNoZWNrX2Nob3duKGRpcm5hbWUsIHVpZCwgZ2lkKQorCiAKIGNsYXNzIFRlc3RNb3ZlKHVuaXR0ZXN0LlRlc3RDYXNlKToKIApAQCAtODQ3LDYgKzExMDUsNDkgQEAKICAgICAgICAgZmluYWxseToKICAgICAgICAgICAgIHNodXRpbC5ybXRyZWUoVEVTVEZOLCBpZ25vcmVfZXJyb3JzPVRydWUpCiAKKyAgICBAc3VwcG9ydC5za2lwX3VubGVzc19zeW1saW5rCisgICAgQG1vY2tfcmVuYW1lCisgICAgZGVmIHRlc3RfbW92ZV9maWxlX3N5bWxpbmsoc2VsZik6CisgICAgICAgIGRzdCA9IG9zLnBhdGguam9pbihzZWxmLnNyY19kaXIsICdiYXInKQorICAgICAgICBvcy5zeW1saW5rKHNlbGYuc3JjX2ZpbGUsIGRzdCkKKyAgICAgICAgc2h1dGlsLm1vdmUoZHN0LCBzZWxmLmRzdF9maWxlKQorICAgICAgICBzZWxmLmFzc2VydFRydWUob3MucGF0aC5pc2xpbmsoc2VsZi5kc3RfZmlsZSkpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShvcy5wYXRoLnNhbWVmaWxlKHNlbGYuc3JjX2ZpbGUsIHNlbGYuZHN0X2ZpbGUpKQorCisgICAgQHN1cHBvcnQuc2tpcF91bmxlc3Nfc3ltbGluaworICAgIEBtb2NrX3JlbmFtZQorICAgIGRlZiB0ZXN0X21vdmVfZmlsZV9zeW1saW5rX3RvX2RpcihzZWxmKToKKyAgICAgICAgZmlsZW5hbWUgPSAiYmFyIgorICAgICAgICBkc3QgPSBvcy5wYXRoLmpvaW4oc2VsZi5zcmNfZGlyLCBmaWxlbmFtZSkKKyAgICAgICAgb3Muc3ltbGluayhzZWxmLnNyY19maWxlLCBkc3QpCisgICAgICAgIHNodXRpbC5tb3ZlKGRzdCwgc2VsZi5kc3RfZGlyKQorICAgICAgICBmaW5hbF9saW5rID0gb3MucGF0aC5qb2luKHNlbGYuZHN0X2RpciwgZmlsZW5hbWUpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShvcy5wYXRoLmlzbGluayhmaW5hbF9saW5rKSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG9zLnBhdGguc2FtZWZpbGUoc2VsZi5zcmNfZmlsZSwgZmluYWxfbGluaykpCisKKyAgICBAc3VwcG9ydC5za2lwX3VubGVzc19zeW1saW5rCisgICAgQG1vY2tfcmVuYW1lCisgICAgZGVmIHRlc3RfbW92ZV9kYW5nbGluZ19zeW1saW5rKHNlbGYpOgorICAgICAgICBzcmMgPSBvcy5wYXRoLmpvaW4oc2VsZi5zcmNfZGlyLCAnYmF6JykKKyAgICAgICAgZHN0ID0gb3MucGF0aC5qb2luKHNlbGYuc3JjX2RpciwgJ2JhcicpCisgICAgICAgIG9zLnN5bWxpbmsoc3JjLCBkc3QpCisgICAgICAgIGRzdF9saW5rID0gb3MucGF0aC5qb2luKHNlbGYuZHN0X2RpciwgJ3F1dXgnKQorICAgICAgICBzaHV0aWwubW92ZShkc3QsIGRzdF9saW5rKQorICAgICAgICBzZWxmLmFzc2VydFRydWUob3MucGF0aC5pc2xpbmsoZHN0X2xpbmspKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG9zLnBhdGgucmVhbHBhdGgoc3JjKSwgb3MucGF0aC5yZWFscGF0aChkc3RfbGluaykpCisKKyAgICBAc3VwcG9ydC5za2lwX3VubGVzc19zeW1saW5rCisgICAgQG1vY2tfcmVuYW1lCisgICAgZGVmIHRlc3RfbW92ZV9kaXJfc3ltbGluayhzZWxmKToKKyAgICAgICAgc3JjID0gb3MucGF0aC5qb2luKHNlbGYuc3JjX2RpciwgJ2JheicpCisgICAgICAgIGRzdCA9IG9zLnBhdGguam9pbihzZWxmLnNyY19kaXIsICdiYXInKQorICAgICAgICBvcy5ta2RpcihzcmMpCisgICAgICAgIG9zLnN5bWxpbmsoc3JjLCBkc3QpCisgICAgICAgIGRzdF9saW5rID0gb3MucGF0aC5qb2luKHNlbGYuZHN0X2RpciwgJ3F1dXgnKQorICAgICAgICBzaHV0aWwubW92ZShkc3QsIGRzdF9saW5rKQorICAgICAgICBzZWxmLmFzc2VydFRydWUob3MucGF0aC5pc2xpbmsoZHN0X2xpbmspKQorICAgICAgICBzZWxmLmFzc2VydFRydWUob3MucGF0aC5zYW1lZmlsZShzcmMsIGRzdF9saW5rKSkKKwogCiBjbGFzcyBUZXN0Q29weUZpbGUodW5pdHRlc3QuVGVzdENhc2UpOgogCkBAIC05NjUsMTMgKzEyNjYsNTcgQEAKICAgICAgICAgICAgIHNodXRpbC5tb3ZlKHNlbGYuc3JjX2RpciwgZHN0X2RpcikKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShvcy5wYXRoLmlzZGlyKGRzdF9kaXIpKQogICAgICAgICBmaW5hbGx5OgotICAgICAgICAgICAgaWYgb3MucGF0aC5leGlzdHMoZHN0X2Rpcik6Ci0gICAgICAgICAgICAgICAgb3Mucm1kaXIoZHN0X2RpcikKKyAgICAgICAgICAgIG9zLnJtZGlyKGRzdF9kaXIpCiAKK2NsYXNzIFRlcm1zaXplVGVzdHModW5pdHRlc3QuVGVzdENhc2UpOgorICAgIGRlZiB0ZXN0X2RvZXNfbm90X2NyYXNoKHNlbGYpOgorICAgICAgICAiIiJDaGVjayBpZiBnZXRfdGVybWluYWxfc2l6ZSgpIHJldHVybnMgYSBtZWFuaW5nZnVsIHZhbHVlLgorCisgICAgICAgIFRoZXJlJ3Mgbm8gZWFzeSBwb3J0YWJsZSB3YXkgdG8gYWN0dWFsbHkgY2hlY2sgdGhlIHNpemUgb2YgdGhlCisgICAgICAgIHRlcm1pbmFsLCBzbyBsZXQncyBjaGVjayBpZiBpdCByZXR1cm5zIHNvbWV0aGluZyBzZW5zaWJsZSBpbnN0ZWFkLgorICAgICAgICAiIiIKKyAgICAgICAgc2l6ZSA9IHNodXRpbC5nZXRfdGVybWluYWxfc2l6ZSgpCisgICAgICAgIHNlbGYuYXNzZXJ0R3JlYXRlckVxdWFsKHNpemUuY29sdW1ucywgMCkKKyAgICAgICAgc2VsZi5hc3NlcnRHcmVhdGVyRXF1YWwoc2l6ZS5saW5lcywgMCkKKworICAgIGRlZiB0ZXN0X29zX2Vudmlyb25fZmlyc3Qoc2VsZik6CisgICAgICAgICJDaGVjayBpZiBlbnZpcm9ubWVudCB2YXJpYWJsZXMgaGF2ZSBwcmVjZWRlbmNlIgorCisgICAgICAgIHdpdGggc3VwcG9ydC5FbnZpcm9ubWVudFZhckd1YXJkKCkgYXMgZW52OgorICAgICAgICAgICAgZW52WydDT0xVTU5TJ10gPSAnNzc3JworICAgICAgICAgICAgc2l6ZSA9IHNodXRpbC5nZXRfdGVybWluYWxfc2l6ZSgpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2l6ZS5jb2x1bW5zLCA3NzcpCisKKyAgICAgICAgd2l0aCBzdXBwb3J0LkVudmlyb25tZW50VmFyR3VhcmQoKSBhcyBlbnY6CisgICAgICAgICAgICBlbnZbJ0xJTkVTJ10gPSAnODg4JworICAgICAgICAgICAgc2l6ZSA9IHNodXRpbC5nZXRfdGVybWluYWxfc2l6ZSgpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2l6ZS5saW5lcywgODg4KQorCisgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3Mob3MuaXNhdHR5KHN5cy5fX3N0ZG91dF9fLmZpbGVubygpKSwgIm5vdCBvbiB0dHkiKQorICAgIGRlZiB0ZXN0X3N0dHlfbWF0Y2goc2VsZik6CisgICAgICAgICIiIkNoZWNrIGlmIHN0dHkgcmV0dXJucyB0aGUgc2FtZSByZXN1bHRzIGlnbm9yaW5nIGVudgorCisgICAgICAgIFRoaXMgdGVzdCB3aWxsIGZhaWwgaWYgc3RkaW4gYW5kIHN0ZG91dCBhcmUgY29ubmVjdGVkIHRvCisgICAgICAgIGRpZmZlcmVudCB0ZXJtaW5hbHMgd2l0aCBkaWZmZXJlbnQgc2l6ZXMuIE5ldmVydGhlbGVzcywgc3VjaAorICAgICAgICBzaXR1YXRpb25zIHNob3VsZCBiZSBwcmV0dHkgcmFyZS4KKyAgICAgICAgIiIiCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHNpemUgPSBzdWJwcm9jZXNzLmNoZWNrX291dHB1dChbJ3N0dHknLCAnc2l6ZSddKS5kZWNvZGUoKS5zcGxpdCgpCisgICAgICAgIGV4Y2VwdCAoRmlsZU5vdEZvdW5kRXJyb3IsIHN1YnByb2Nlc3MuQ2FsbGVkUHJvY2Vzc0Vycm9yKToKKyAgICAgICAgICAgIHNlbGYuc2tpcFRlc3QoInN0dHkgaW52b2NhdGlvbiBmYWlsZWQiKQorICAgICAgICBleHBlY3RlZCA9IChpbnQoc2l6ZVsxXSksIGludChzaXplWzBdKSkgIyByZXZlcnNlZCBvcmRlcgorCisgICAgICAgIHdpdGggc3VwcG9ydC5FbnZpcm9ubWVudFZhckd1YXJkKCkgYXMgZW52OgorICAgICAgICAgICAgZGVsIGVudlsnTElORVMnXQorICAgICAgICAgICAgZGVsIGVudlsnQ09MVU1OUyddCisgICAgICAgICAgICBhY3R1YWwgPSBzaHV0aWwuZ2V0X3Rlcm1pbmFsX3NpemUoKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXhwZWN0ZWQsIGFjdHVhbCkKIAogCiBkZWYgdGVzdF9tYWluKCk6Ci0gICAgc3VwcG9ydC5ydW5fdW5pdHRlc3QoVGVzdFNodXRpbCwgVGVzdE1vdmUsIFRlc3RDb3B5RmlsZSkKKyAgICBzdXBwb3J0LnJ1bl91bml0dGVzdChUZXN0U2h1dGlsLCBUZXN0TW92ZSwgVGVzdENvcHlGaWxlLAorICAgICAgICAgICAgICAgICAgICAgICAgIFRlcm1zaXplVGVzdHMpCiAKIGlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CiAgICAgdGVzdF9tYWluKCkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3Rfc2lnbmFsLnB5IGIvTGliL3Rlc3QvdGVzdF9zaWduYWwucHkKaW5kZXggOGRmMWJmMC4uNmJlMjU5YiAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF9zaWduYWwucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9zaWduYWwucHkKQEAgLTEsMTcgKzEsMTkgQEAKLWltcG9ydCBlcnJubwotaW1wb3J0IGdjCi1pbXBvcnQgb3MKLWltcG9ydCBwaWNrbGUKLWltcG9ydCBzZWxlY3QKLWltcG9ydCBzaWduYWwKLWltcG9ydCBzdWJwcm9jZXNzCi1pbXBvcnQgc3lzCi1pbXBvcnQgdGltZQotaW1wb3J0IHRyYWNlYmFjawogaW1wb3J0IHVuaXR0ZXN0CiBmcm9tIHRlc3QgaW1wb3J0IHN1cHBvcnQKIGZyb20gY29udGV4dGxpYiBpbXBvcnQgY2xvc2luZworaW1wb3J0IGdjCitpbXBvcnQgcGlja2xlCitpbXBvcnQgc2VsZWN0CitpbXBvcnQgc2lnbmFsCitpbXBvcnQgc3RydWN0CitpbXBvcnQgc3VicHJvY2VzcworaW1wb3J0IHRyYWNlYmFjaworaW1wb3J0IHN5cywgb3MsIHRpbWUsIGVycm5vCiBmcm9tIHRlc3Quc2NyaXB0X2hlbHBlciBpbXBvcnQgYXNzZXJ0X3B5dGhvbl9vaywgc3Bhd25fcHl0aG9uCit0cnk6CisgICAgaW1wb3J0IHRocmVhZGluZworZXhjZXB0IEltcG9ydEVycm9yOgorICAgIHRocmVhZGluZyA9IE5vbmUKIAogaWYgc3lzLnBsYXRmb3JtIGluICgnb3MyJywgJ3Jpc2NvcycpOgogICAgIHJhaXNlIHVuaXR0ZXN0LlNraXBUZXN0KCJDYW4ndCB0ZXN0IHNpZ25hbCBvbiAlcyIgJSBzeXMucGxhdGZvcm0pCkBAIC01NywxNSArNTksOSBAQAogCiAgICAgZGVmIGhhbmRsZXJBKHNlbGYsIHNpZ251bSwgZnJhbWUpOgogICAgICAgICBzZWxmLmFfY2FsbGVkID0gVHJ1ZQotICAgICAgICBpZiBzdXBwb3J0LnZlcmJvc2U6Ci0gICAgICAgICAgICBwcmludCgiaGFuZGxlckEgaW52b2tlZCBmcm9tIHNpZ25hbCAlcyBhdDpcbiVzIiAlICgKLSAgICAgICAgICAgICAgICBzaWdudW0sIHNlbGYuZm9ybWF0X2ZyYW1lKGZyYW1lLCBsaW1pdD0xKSkpCiAKICAgICBkZWYgaGFuZGxlckIoc2VsZiwgc2lnbnVtLCBmcmFtZSk6CiAgICAgICAgIHNlbGYuYl9jYWxsZWQgPSBUcnVlCi0gICAgICAgIGlmIHN1cHBvcnQudmVyYm9zZToKLSAgICAgICAgICAgIHByaW50ICgiaGFuZGxlckIgaW52b2tlZCBmcm9tIHNpZ25hbCAlcyBhdDpcbiVzIiAlICgKLSAgICAgICAgICAgICAgICBzaWdudW0sIHNlbGYuZm9ybWF0X2ZyYW1lKGZyYW1lLCBsaW1pdD0xKSkpCiAgICAgICAgIHJhaXNlIEhhbmRsZXJCQ2FsbGVkKHNpZ251bSwgc2VsZi5mb3JtYXRfZnJhbWUoZnJhbWUpKQogCiAgICAgZGVmIHdhaXQoc2VsZiwgY2hpbGQpOgpAQCAtOTIsOCArODgsNiBAQAogCiAgICAgICAgICMgTGV0IHRoZSBzdWItcHJvY2Vzc2VzIGtub3cgd2hvIHRvIHNlbmQgc2lnbmFscyB0by4KICAgICAgICAgcGlkID0gb3MuZ2V0cGlkKCkKLSAgICAgICAgaWYgc3VwcG9ydC52ZXJib3NlOgotICAgICAgICAgICAgcHJpbnQoInRlc3QgcnVubmVyJ3MgcGlkIGlzIiwgcGlkKQogCiAgICAgICAgIGNoaWxkID0gaWdub3JpbmdfZWludHIoc3VicHJvY2Vzcy5Qb3BlbiwgWydraWxsJywgJy1IVVAnLCBzdHIocGlkKV0pCiAgICAgICAgIGlmIGNoaWxkOgpAQCAtMTE3LDggKzExMSw2IEBACiAgICAgICAgIGV4Y2VwdCBIYW5kbGVyQkNhbGxlZDoKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShzZWxmLmJfY2FsbGVkKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShzZWxmLmFfY2FsbGVkKQotICAgICAgICAgICAgaWYgc3VwcG9ydC52ZXJib3NlOgotICAgICAgICAgICAgICAgIHByaW50KCJIYW5kbGVyQkNhbGxlZCBleGNlcHRpb24gY2F1Z2h0IikKIAogICAgICAgICBjaGlsZCA9IGlnbm9yaW5nX2VpbnRyKHN1YnByb2Nlc3MuUG9wZW4sIFsna2lsbCcsICctVVNSMicsIHN0cihwaWQpXSkKICAgICAgICAgaWYgY2hpbGQ6CkBAIC0xMzQsOCArMTI2LDcgQEAKICAgICAgICAgICAgICMgbWF5IHJldHVybiBlYXJseS4KICAgICAgICAgICAgIHRpbWUuc2xlZXAoMSkKICAgICAgICAgZXhjZXB0IEtleWJvYXJkSW50ZXJydXB0OgotICAgICAgICAgICAgaWYgc3VwcG9ydC52ZXJib3NlOgotICAgICAgICAgICAgICAgIHByaW50KCJLZXlib2FyZEludGVycnVwdCAodGhlIGFsYXJtKCkgd2VudCBvZmYpIikKKyAgICAgICAgICAgIHBhc3MKICAgICAgICAgZXhjZXB0OgogICAgICAgICAgICAgc2VsZi5mYWlsKCJTb21lIG90aGVyIGV4Y2VwdGlvbiB3b2tlIHVzIGZyb20gcGF1c2U6ICVzIiAlCiAgICAgICAgICAgICAgICAgICAgICAgdHJhY2ViYWNrLmZvcm1hdF9leGMoKSkKQEAgLTE5MSw3ICsxODIsNyBAQAogCiAKIEB1bml0dGVzdC5za2lwSWYoc3lzLnBsYXRmb3JtID09ICJ3aW4zMiIsICJOb3QgdmFsaWQgb24gV2luZG93cyIpCi1jbGFzcyBCYXNpY1NpZ25hbFRlc3RzKHVuaXR0ZXN0LlRlc3RDYXNlKToKK2NsYXNzIFBvc2l4VGVzdHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgIGRlZiB0cml2aWFsX3NpZ25hbF9oYW5kbGVyKHNlbGYsICphcmdzKToKICAgICAgICAgcGFzcwogCkBAIC0yMzMsMzEgKzIyNCw0NCBAQAogCiBAdW5pdHRlc3Quc2tpcElmKHN5cy5wbGF0Zm9ybSA9PSAid2luMzIiLCAiTm90IHZhbGlkIG9uIFdpbmRvd3MiKQogY2xhc3MgV2FrZXVwU2lnbmFsVGVzdHModW5pdHRlc3QuVGVzdENhc2UpOgotICAgIGRlZiBjaGVja193YWtldXAoc2VsZiwgdGVzdF9ib2R5KToKLSAgICAgICAgIyB1c2UgYSBzdWJwcm9jZXNzIHRvIGhhdmUgb25seSBvbmUgdGhyZWFkIGFuZCB0byBub3QgY2hhbmdlIHNpZ25hbAotICAgICAgICAjIGhhbmRsaW5nIG9mIHRoZSBwYXJlbnQgcHJvY2VzcworICAgIGRlZiBjaGVja193YWtldXAoc2VsZiwgdGVzdF9ib2R5LCAqc2lnbmFscywgb3JkZXJlZD1UcnVlKToKKyAgICAgICAgIyB1c2UgYSBzdWJwcm9jZXNzIHRvIGhhdmUgb25seSBvbmUgdGhyZWFkCiAgICAgICAgIGNvZGUgPSAiIiJpZiAxOgogICAgICAgICBpbXBvcnQgZmNudGwKICAgICAgICAgaW1wb3J0IG9zCiAgICAgICAgIGltcG9ydCBzaWduYWwKKyAgICAgICAgaW1wb3J0IHN0cnVjdAorCisgICAgICAgIHNpZ25hbHMgPSB7IXJ9CiAKICAgICAgICAgZGVmIGhhbmRsZXIoc2lnbnVtLCBmcmFtZSk6CiAgICAgICAgICAgICBwYXNzCiAKKyAgICAgICAgZGVmIGNoZWNrX3NpZ251bShzaWduYWxzKToKKyAgICAgICAgICAgIGRhdGEgPSBvcy5yZWFkKHJlYWQsIGxlbihzaWduYWxzKSsxKQorICAgICAgICAgICAgcmFpc2VkID0gc3RydWN0LnVucGFjaygnJXVCJyAlIGxlbihkYXRhKSwgZGF0YSkKKyAgICAgICAgICAgIGlmIG5vdCB7IXJ9OgorICAgICAgICAgICAgICAgIHJhaXNlZCA9IHNldChyYWlzZWQpCisgICAgICAgICAgICAgICAgc2lnbmFscyA9IHNldChzaWduYWxzKQorICAgICAgICAgICAgaWYgcmFpc2VkICE9IHNpZ25hbHM6CisgICAgICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCIlciAhPSAlciIgJSAocmFpc2VkLCBzaWduYWxzKSkKKwogICAgICAgICB7fQogCiAgICAgICAgIHNpZ25hbC5zaWduYWwoc2lnbmFsLlNJR0FMUk0sIGhhbmRsZXIpCiAgICAgICAgIHJlYWQsIHdyaXRlID0gb3MucGlwZSgpCi0gICAgICAgIGZsYWdzID0gZmNudGwuZmNudGwod3JpdGUsIGZjbnRsLkZfR0VURkwsIDApCi0gICAgICAgIGZsYWdzID0gZmxhZ3MgfCBvcy5PX05PTkJMT0NLCi0gICAgICAgIGZjbnRsLmZjbnRsKHdyaXRlLCBmY250bC5GX1NFVEZMLCBmbGFncykKKyAgICAgICAgZm9yIGZkIGluIChyZWFkLCB3cml0ZSk6CisgICAgICAgICAgICBmbGFncyA9IGZjbnRsLmZjbnRsKGZkLCBmY250bC5GX0dFVEZMLCAwKQorICAgICAgICAgICAgZmxhZ3MgPSBmbGFncyB8IG9zLk9fTk9OQkxPQ0sKKyAgICAgICAgICAgIGZjbnRsLmZjbnRsKGZkLCBmY250bC5GX1NFVEZMLCBmbGFncykKICAgICAgICAgc2lnbmFsLnNldF93YWtldXBfZmQod3JpdGUpCiAKICAgICAgICAgdGVzdCgpCisgICAgICAgIGNoZWNrX3NpZ251bShzaWduYWxzKQogCiAgICAgICAgIG9zLmNsb3NlKHJlYWQpCiAgICAgICAgIG9zLmNsb3NlKHdyaXRlKQotICAgICAgICAiIiIuZm9ybWF0KHRlc3RfYm9keSkKKyAgICAgICAgIiIiLmZvcm1hdChzaWduYWxzLCBvcmRlcmVkLCB0ZXN0X2JvZHkpCiAKICAgICAgICAgYXNzZXJ0X3B5dGhvbl9vaygnLWMnLCBjb2RlKQogCkBAIC0yODMsNyArMjg3LDcgQEAKICAgICAgICAgICAgIGR0ID0gYWZ0ZXJfdGltZSAtIG1pZF90aW1lCiAgICAgICAgICAgICBpZiBkdCA+PSBUSU1FT1VUX0hBTEY6CiAgICAgICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCIlcyA+PSAlcyIgJSAoZHQsIFRJTUVPVVRfSEFMRikpCi0gICAgICAgICIiIikKKyAgICAgICAgIiIiLCBzaWduYWwuU0lHQUxSTSkKIAogICAgIGRlZiB0ZXN0X3dha2V1cF9mZF9kdXJpbmcoc2VsZik6CiAgICAgICAgIHNlbGYuY2hlY2tfd2FrZXVwKCIiImRlZiB0ZXN0KCk6CkBAIC0zMDYsNyArMzEwLDMyIEBACiAgICAgICAgICAgICBkdCA9IGFmdGVyX3RpbWUgLSBiZWZvcmVfdGltZQogICAgICAgICAgICAgaWYgZHQgPj0gVElNRU9VVF9IQUxGOgogICAgICAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbigiJXMgPj0gJXMiICUgKGR0LCBUSU1FT1VUX0hBTEYpKQotICAgICAgICAiIiIpCisgICAgICAgICIiIiwgc2lnbmFsLlNJR0FMUk0pCisKKyAgICBkZWYgdGVzdF9zaWdudW0oc2VsZik6CisgICAgICAgIHNlbGYuY2hlY2tfd2FrZXVwKCIiImRlZiB0ZXN0KCk6CisgICAgICAgICAgICBzaWduYWwuc2lnbmFsKHNpZ25hbC5TSUdVU1IxLCBoYW5kbGVyKQorICAgICAgICAgICAgb3Mua2lsbChvcy5nZXRwaWQoKSwgc2lnbmFsLlNJR1VTUjEpCisgICAgICAgICAgICBvcy5raWxsKG9zLmdldHBpZCgpLCBzaWduYWwuU0lHQUxSTSkKKyAgICAgICAgIiIiLCBzaWduYWwuU0lHVVNSMSwgc2lnbmFsLlNJR0FMUk0pCisKKyAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhoYXNhdHRyKHNpZ25hbCwgJ3B0aHJlYWRfc2lnbWFzaycpLAorICAgICAgICAgICAgICAgICAgICAgICAgICduZWVkIHNpZ25hbC5wdGhyZWFkX3NpZ21hc2soKScpCisgICAgZGVmIHRlc3RfcGVuZGluZyhzZWxmKToKKyAgICAgICAgc2VsZi5jaGVja193YWtldXAoIiIiZGVmIHRlc3QoKToKKyAgICAgICAgICAgIHNpZ251bTEgPSBzaWduYWwuU0lHVVNSMQorICAgICAgICAgICAgc2lnbnVtMiA9IHNpZ25hbC5TSUdVU1IyCisKKyAgICAgICAgICAgIHNpZ25hbC5zaWduYWwoc2lnbnVtMSwgaGFuZGxlcikKKyAgICAgICAgICAgIHNpZ25hbC5zaWduYWwoc2lnbnVtMiwgaGFuZGxlcikKKworICAgICAgICAgICAgc2lnbmFsLnB0aHJlYWRfc2lnbWFzayhzaWduYWwuU0lHX0JMT0NLLCAoc2lnbnVtMSwgc2lnbnVtMikpCisgICAgICAgICAgICBvcy5raWxsKG9zLmdldHBpZCgpLCBzaWdudW0xKQorICAgICAgICAgICAgb3Mua2lsbChvcy5nZXRwaWQoKSwgc2lnbnVtMikKKyAgICAgICAgICAgICMgVW5ibG9ja2luZyB0aGUgMiBzaWduYWxzIGNhbGxzIHRoZSBDIHNpZ25hbCBoYW5kbGVyIHR3aWNlCisgICAgICAgICAgICBzaWduYWwucHRocmVhZF9zaWdtYXNrKHNpZ25hbC5TSUdfVU5CTE9DSywgKHNpZ251bTEsIHNpZ251bTIpKQorICAgICAgICAiIiIsICBzaWduYWwuU0lHVVNSMSwgc2lnbmFsLlNJR1VTUjIsIG9yZGVyZWQ9RmFsc2UpCisKIAogQHVuaXR0ZXN0LnNraXBJZihzeXMucGxhdGZvcm0gPT0gIndpbjMyIiwgIk5vdCB2YWxpZCBvbiBXaW5kb3dzIikKIGNsYXNzIFNpZ2ludGVycnVwdFRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgpAQCAtMzE2LDkgKzM0NSw2IEBACiAgICAgICAgIHJlYWQgaXMgaW50ZXJydXB0ZWQgYnkgdGhlIHNpZ25hbCBhbmQgcmFpc2VzIGFuIGV4Y2VwdGlvbi4gIFJldHVybiBGYWxzZQogICAgICAgICBpZiBpdCByZXR1cm5zIG5vcm1hbGx5LgogICAgICAgICAiIiIKLSAgICAgICAgY2xhc3MgVGltZW91dChFeGNlcHRpb24pOgotICAgICAgICAgICAgcGFzcwotCiAgICAgICAgICMgdXNlIGEgc3VicHJvY2VzcyB0byBoYXZlIG9ubHkgb25lIHRocmVhZCwgdG8gaGF2ZSBhIHRpbWVvdXQgb24gdGhlCiAgICAgICAgICMgYmxvY2tpbmcgcmVhZCBhbmQgdG8gbm90IHRvdWNoIHNpZ25hbCBoYW5kbGluZyBpbiB0aGlzIHByb2Nlc3MKICAgICAgICAgY29kZSA9ICIiImlmIDE6CkBAIC0zNTksMTggKzM4NSw4IEBACiAgICAgICAgICAgICAgICAgIyB3YWl0IHVudGlsIHRoZSBjaGlsZCBwcm9jZXNzIGlzIGxvYWRlZCBhbmQgaGFzIHN0YXJ0ZWQKICAgICAgICAgICAgICAgICBmaXJzdF9saW5lID0gcHJvY2Vzcy5zdGRvdXQucmVhZGxpbmUoKQogCi0gICAgICAgICAgICAgICAgIyBXYWl0IHRoZSBwcm9jZXNzIHdpdGggYSB0aW1lb3V0IG9mIDUgc2Vjb25kcwotICAgICAgICAgICAgICAgIHRpbWVvdXQgPSB0aW1lLnRpbWUoKSArIDUuMAotICAgICAgICAgICAgICAgIHdoaWxlIFRydWU6Ci0gICAgICAgICAgICAgICAgICAgIGlmIHRpbWVvdXQgPCB0aW1lLnRpbWUoKToKLSAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIFRpbWVvdXQoKQotICAgICAgICAgICAgICAgICAgICBzdGF0dXMgPSBwcm9jZXNzLnBvbGwoKQotICAgICAgICAgICAgICAgICAgICBpZiBzdGF0dXMgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICAgICAgICAgICAgICBicmVhawotICAgICAgICAgICAgICAgICAgICB0aW1lLnNsZWVwKDAuMSkKLQotICAgICAgICAgICAgICAgIHN0ZG91dCwgc3RkZXJyID0gcHJvY2Vzcy5jb21tdW5pY2F0ZSgpCi0gICAgICAgICAgICBleGNlcHQgVGltZW91dDoKKyAgICAgICAgICAgICAgICBzdGRvdXQsIHN0ZGVyciA9IHByb2Nlc3MuY29tbXVuaWNhdGUodGltZW91dD01LjApCisgICAgICAgICAgICBleGNlcHQgc3VicHJvY2Vzcy5UaW1lb3V0RXhwaXJlZDoKICAgICAgICAgICAgICAgICBwcm9jZXNzLmtpbGwoKQogICAgICAgICAgICAgICAgIHJldHVybiBGYWxzZQogICAgICAgICAgICAgZWxzZToKQEAgLTQxOSw4ICs0MzUsNiBAQAogCiAgICAgZGVmIHNpZ19hbHJtKHNlbGYsICphcmdzKToKICAgICAgICAgc2VsZi5obmRsX2NhbGxlZCA9IFRydWUKLSAgICAgICAgaWYgc3VwcG9ydC52ZXJib3NlOgotICAgICAgICAgICAgcHJpbnQoIlNJR0FMUk0gaGFuZGxlciBpbnZva2VkIiwgYXJncykKIAogICAgIGRlZiBzaWdfdnRhbHJtKHNlbGYsICphcmdzKToKICAgICAgICAgc2VsZi5obmRsX2NhbGxlZCA9IFRydWUKQEAgLTQzMiwyMSArNDQ2LDEzIEBACiAgICAgICAgIGVsaWYgc2VsZi5obmRsX2NvdW50ID09IDM6CiAgICAgICAgICAgICAjIGRpc2FibGUgSVRJTUVSX1ZJUlRVQUwsIHRoaXMgZnVuY3Rpb24gc2hvdWxkbid0IGJlIGNhbGxlZCBhbnltb3JlCiAgICAgICAgICAgICBzaWduYWwuc2V0aXRpbWVyKHNpZ25hbC5JVElNRVJfVklSVFVBTCwgMCkKLSAgICAgICAgICAgIGlmIHN1cHBvcnQudmVyYm9zZToKLSAgICAgICAgICAgICAgICBwcmludCgibGFzdCBTSUdWVEFMUk0gaGFuZGxlciBjYWxsIikKIAogICAgICAgICBzZWxmLmhuZGxfY291bnQgKz0gMQogCi0gICAgICAgIGlmIHN1cHBvcnQudmVyYm9zZToKLSAgICAgICAgICAgIHByaW50KCJTSUdWVEFMUk0gaGFuZGxlciBpbnZva2VkIiwgYXJncykKLQogICAgIGRlZiBzaWdfcHJvZihzZWxmLCAqYXJncyk6CiAgICAgICAgIHNlbGYuaG5kbF9jYWxsZWQgPSBUcnVlCiAgICAgICAgIHNpZ25hbC5zZXRpdGltZXIoc2lnbmFsLklUSU1FUl9QUk9GLCAwKQogCi0gICAgICAgIGlmIHN1cHBvcnQudmVyYm9zZToKLSAgICAgICAgICAgIHByaW50KCJTSUdQUk9GIGhhbmRsZXIgaW52b2tlZCIsIGFyZ3MpCi0KICAgICBkZWYgdGVzdF9pdGltZXJfZXhjKHNlbGYpOgogICAgICAgICAjIFhYWCBJJ20gYXNzdW1pbmcgLTEgaXMgYW4gaW52YWxpZCBpdGltZXIsIGJ1dCBtYXliZSBzb21lIHBsYXRmb3JtCiAgICAgICAgICMgZGVmaW5lcyBpdCA/CkBAIC00NTksMTAgKzQ2NSw3IEBACiAgICAgZGVmIHRlc3RfaXRpbWVyX3JlYWwoc2VsZik6CiAgICAgICAgIHNlbGYuaXRpbWVyID0gc2lnbmFsLklUSU1FUl9SRUFMCiAgICAgICAgIHNpZ25hbC5zZXRpdGltZXIoc2VsZi5pdGltZXIsIDEuMCkKLSAgICAgICAgaWYgc3VwcG9ydC52ZXJib3NlOgotICAgICAgICAgICAgcHJpbnQoIlxuY2FsbCBwYXVzZSgpLi4uIikKICAgICAgICAgc2lnbmFsLnBhdXNlKCkKLQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuaG5kbF9jYWxsZWQsIFRydWUpCiAKICAgICAjIElzc3VlIDM4NjQsIHVua25vd24gaWYgdGhpcyBhZmZlY3RzIGVhcmxpZXIgdmVyc2lvbnMgb2YgZnJlZWJzZCBhbHNvCkBAIC01MTEsMTEgKzUxNCwzNTkgQEAKICAgICAgICAgIyBhbmQgdGhlIGhhbmRsZXIgc2hvdWxkIGhhdmUgYmVlbiBjYWxsZWQKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmhuZGxfY2FsbGVkLCBUcnVlKQogCisKK2NsYXNzIFBlbmRpbmdTaWduYWxzVGVzdHModW5pdHRlc3QuVGVzdENhc2UpOgorICAgICIiIgorICAgIFRlc3QgcHRocmVhZF9zaWdtYXNrKCksIHB0aHJlYWRfa2lsbCgpLCBzaWdwZW5kaW5nKCkgYW5kIHNpZ3dhaXQoKQorICAgIGZ1bmN0aW9ucy4KKyAgICAiIiIKKyAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhoYXNhdHRyKHNpZ25hbCwgJ3NpZ3BlbmRpbmcnKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAnbmVlZCBzaWduYWwuc2lncGVuZGluZygpJykKKyAgICBkZWYgdGVzdF9zaWdwZW5kaW5nX2VtcHR5KHNlbGYpOgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNpZ25hbC5zaWdwZW5kaW5nKCksIHNldCgpKQorCisgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3MoaGFzYXR0cihzaWduYWwsICdwdGhyZWFkX3NpZ21hc2snKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAnbmVlZCBzaWduYWwucHRocmVhZF9zaWdtYXNrKCknKQorICAgIEB1bml0dGVzdC5za2lwVW5sZXNzKGhhc2F0dHIoc2lnbmFsLCAnc2lncGVuZGluZycpLAorICAgICAgICAgICAgICAgICAgICAgICAgICduZWVkIHNpZ25hbC5zaWdwZW5kaW5nKCknKQorICAgIGRlZiB0ZXN0X3NpZ3BlbmRpbmcoc2VsZik6CisgICAgICAgIGNvZGUgPSAiIiJpZiAxOgorICAgICAgICAgICAgaW1wb3J0IG9zCisgICAgICAgICAgICBpbXBvcnQgc2lnbmFsCisKKyAgICAgICAgICAgIGRlZiBoYW5kbGVyKHNpZ251bSwgZnJhbWUpOgorICAgICAgICAgICAgICAgIDEvMAorCisgICAgICAgICAgICBzaWdudW0gPSBzaWduYWwuU0lHVVNSMQorICAgICAgICAgICAgc2lnbmFsLnNpZ25hbChzaWdudW0sIGhhbmRsZXIpCisKKyAgICAgICAgICAgIHNpZ25hbC5wdGhyZWFkX3NpZ21hc2soc2lnbmFsLlNJR19CTE9DSywgW3NpZ251bV0pCisgICAgICAgICAgICBvcy5raWxsKG9zLmdldHBpZCgpLCBzaWdudW0pCisgICAgICAgICAgICBwZW5kaW5nID0gc2lnbmFsLnNpZ3BlbmRpbmcoKQorICAgICAgICAgICAgaWYgcGVuZGluZyAhPSB7c2lnbnVtfToKKyAgICAgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oJyVzICE9IHslc30nICUgKHBlbmRpbmcsIHNpZ251bSkpCisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgc2lnbmFsLnB0aHJlYWRfc2lnbWFzayhzaWduYWwuU0lHX1VOQkxPQ0ssIFtzaWdudW1dKQorICAgICAgICAgICAgZXhjZXB0IFplcm9EaXZpc2lvbkVycm9yOgorICAgICAgICAgICAgICAgIHBhc3MKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCJaZXJvRGl2aXNpb25FcnJvciBub3QgcmFpc2VkIikKKyAgICAgICAgIiIiCisgICAgICAgIGFzc2VydF9weXRob25fb2soJy1jJywgY29kZSkKKworICAgIEB1bml0dGVzdC5za2lwVW5sZXNzKGhhc2F0dHIoc2lnbmFsLCAncHRocmVhZF9raWxsJyksCisgICAgICAgICAgICAgICAgICAgICAgICAgJ25lZWQgc2lnbmFsLnB0aHJlYWRfa2lsbCgpJykKKyAgICBkZWYgdGVzdF9wdGhyZWFkX2tpbGwoc2VsZik6CisgICAgICAgIGNvZGUgPSAiIiJpZiAxOgorICAgICAgICAgICAgaW1wb3J0IHNpZ25hbAorICAgICAgICAgICAgaW1wb3J0IHRocmVhZGluZworICAgICAgICAgICAgaW1wb3J0IHN5cworCisgICAgICAgICAgICBzaWdudW0gPSBzaWduYWwuU0lHVVNSMQorCisgICAgICAgICAgICBkZWYgaGFuZGxlcihzaWdudW0sIGZyYW1lKToKKyAgICAgICAgICAgICAgICAxLzAKKworICAgICAgICAgICAgc2lnbmFsLnNpZ25hbChzaWdudW0sIGhhbmRsZXIpCisKKyAgICAgICAgICAgIGlmIHN5cy5wbGF0Zm9ybSA9PSAnZnJlZWJzZDYnOgorICAgICAgICAgICAgICAgICMgSXNzdWUgIzEyMzkyIGFuZCAjMTI0Njk6IHNlbmQgYSBzaWduYWwgdG8gdGhlIG1haW4gdGhyZWFkCisgICAgICAgICAgICAgICAgIyBkb2Vzbid0IHdvcmsgYmVmb3JlIHRoZSBjcmVhdGlvbiBvZiB0aGUgZmlyc3QgdGhyZWFkIG9uCisgICAgICAgICAgICAgICAgIyBGcmVlQlNEIDYKKyAgICAgICAgICAgICAgICBkZWYgbm9vcCgpOgorICAgICAgICAgICAgICAgICAgICBwYXNzCisgICAgICAgICAgICAgICAgdGhyZWFkID0gdGhyZWFkaW5nLlRocmVhZCh0YXJnZXQ9bm9vcCkKKyAgICAgICAgICAgICAgICB0aHJlYWQuc3RhcnQoKQorICAgICAgICAgICAgICAgIHRocmVhZC5qb2luKCkKKworICAgICAgICAgICAgdGlkID0gdGhyZWFkaW5nLmdldF9pZGVudCgpCisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgc2lnbmFsLnB0aHJlYWRfa2lsbCh0aWQsIHNpZ251bSkKKyAgICAgICAgICAgIGV4Y2VwdCBaZXJvRGl2aXNpb25FcnJvcjoKKyAgICAgICAgICAgICAgICBwYXNzCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbigiWmVyb0RpdmlzaW9uRXJyb3Igbm90IHJhaXNlZCIpCisgICAgICAgICIiIgorICAgICAgICBhc3NlcnRfcHl0aG9uX29rKCctYycsIGNvZGUpCisKKyAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhoYXNhdHRyKHNpZ25hbCwgJ3B0aHJlYWRfc2lnbWFzaycpLAorICAgICAgICAgICAgICAgICAgICAgICAgICduZWVkIHNpZ25hbC5wdGhyZWFkX3NpZ21hc2soKScpCisgICAgZGVmIHdhaXRfaGVscGVyKHNlbGYsIGJsb2NrZWQsIHRlc3QpOgorICAgICAgICAiIiIKKyAgICAgICAgdGVzdDogYm9keSBvZiB0aGUgImRlZiB0ZXN0KHNpZ251bSk6IiBmdW5jdGlvbi4KKyAgICAgICAgYmxvY2tlZDogbnVtYmVyIG9mIHRoZSBibG9ja2VkIHNpZ25hbAorICAgICAgICAiIiIKKyAgICAgICAgY29kZSA9ICcnJ2lmIDE6CisgICAgICAgIGltcG9ydCBzaWduYWwKKyAgICAgICAgaW1wb3J0IHN5cworCisgICAgICAgIGRlZiBoYW5kbGVyKHNpZ251bSwgZnJhbWUpOgorICAgICAgICAgICAgMS8wCisKKyAgICAgICAgJXMKKworICAgICAgICBibG9ja2VkID0gJXMKKyAgICAgICAgc2lnbnVtID0gc2lnbmFsLlNJR0FMUk0KKworICAgICAgICAjIGNoaWxkOiBibG9jayBhbmQgd2FpdCB0aGUgc2lnbmFsCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHNpZ25hbC5zaWduYWwoc2lnbnVtLCBoYW5kbGVyKQorICAgICAgICAgICAgc2lnbmFsLnB0aHJlYWRfc2lnbWFzayhzaWduYWwuU0lHX0JMT0NLLCBbYmxvY2tlZF0pCisKKyAgICAgICAgICAgICMgRG8gdGhlIHRlc3RzCisgICAgICAgICAgICB0ZXN0KHNpZ251bSkKKworICAgICAgICAgICAgIyBUaGUgaGFuZGxlciBtdXN0IG5vdCBiZSBjYWxsZWQgb24gdW5ibG9jaworICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIHNpZ25hbC5wdGhyZWFkX3NpZ21hc2soc2lnbmFsLlNJR19VTkJMT0NLLCBbYmxvY2tlZF0pCisgICAgICAgICAgICBleGNlcHQgWmVyb0RpdmlzaW9uRXJyb3I6CisgICAgICAgICAgICAgICAgcHJpbnQoInRoZSBzaWduYWwgaGFuZGxlciBoYXMgYmVlbiBjYWxsZWQiLAorICAgICAgICAgICAgICAgICAgICAgIGZpbGU9c3lzLnN0ZGVycikKKyAgICAgICAgICAgICAgICBzeXMuZXhpdCgxKQorICAgICAgICBleGNlcHQgQmFzZUV4Y2VwdGlvbiBhcyBlcnI6CisgICAgICAgICAgICBwcmludCgiZXJyb3I6IHt9Ii5mb3JtYXQoZXJyKSwgZmlsZT1zeXMuc3RkZXJyKQorICAgICAgICAgICAgc3lzLnN0ZGVyci5mbHVzaCgpCisgICAgICAgICAgICBzeXMuZXhpdCgxKQorICAgICAgICAnJycgJSAodGVzdC5zdHJpcCgpLCBibG9ja2VkKQorCisgICAgICAgICMgc2lnKndhaXQqIG11c3QgYmUgY2FsbGVkIHdpdGggdGhlIHNpZ25hbCBibG9ja2VkOiBzaW5jZSB0aGUgY3VycmVudAorICAgICAgICAjIHByb2Nlc3MgbWlnaHQgaGF2ZSBzZXZlcmFsIHRocmVhZHMgcnVubmluZywgdXNlIGEgc3VicHJvY2VzcyB0byBoYXZlCisgICAgICAgICMgYSBzaW5nbGUgdGhyZWFkLgorICAgICAgICBhc3NlcnRfcHl0aG9uX29rKCctYycsIGNvZGUpCisKKyAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhoYXNhdHRyKHNpZ25hbCwgJ3NpZ3dhaXQnKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAnbmVlZCBzaWduYWwuc2lnd2FpdCgpJykKKyAgICBkZWYgdGVzdF9zaWd3YWl0KHNlbGYpOgorICAgICAgICBzZWxmLndhaXRfaGVscGVyKHNpZ25hbC5TSUdBTFJNLCAnJycKKyAgICAgICAgZGVmIHRlc3Qoc2lnbnVtKToKKyAgICAgICAgICAgIHNpZ25hbC5hbGFybSgxKQorICAgICAgICAgICAgcmVjZWl2ZWQgPSBzaWduYWwuc2lnd2FpdChbc2lnbnVtXSkKKyAgICAgICAgICAgIGlmIHJlY2VpdmVkICE9IHNpZ251bToKKyAgICAgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oJ3JlY2VpdmVkICVzLCBub3QgJXMnICUgKHJlY2VpdmVkLCBzaWdudW0pKQorICAgICAgICAnJycpCisKKyAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhoYXNhdHRyKHNpZ25hbCwgJ3NpZ3dhaXRpbmZvJyksCisgICAgICAgICAgICAgICAgICAgICAgICAgJ25lZWQgc2lnbmFsLnNpZ3dhaXRpbmZvKCknKQorICAgIGRlZiB0ZXN0X3NpZ3dhaXRpbmZvKHNlbGYpOgorICAgICAgICBzZWxmLndhaXRfaGVscGVyKHNpZ25hbC5TSUdBTFJNLCAnJycKKyAgICAgICAgZGVmIHRlc3Qoc2lnbnVtKToKKyAgICAgICAgICAgIHNpZ25hbC5hbGFybSgxKQorICAgICAgICAgICAgaW5mbyA9IHNpZ25hbC5zaWd3YWl0aW5mbyhbc2lnbnVtXSkKKyAgICAgICAgICAgIGlmIGluZm8uc2lfc2lnbm8gIT0gc2lnbnVtOgorICAgICAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbigiaW5mby5zaV9zaWdubyAhPSAlcyIgJSBzaWdudW0pCisgICAgICAgICcnJykKKworICAgIEB1bml0dGVzdC5za2lwVW5sZXNzKGhhc2F0dHIoc2lnbmFsLCAnc2lndGltZWR3YWl0JyksCisgICAgICAgICAgICAgICAgICAgICAgICAgJ25lZWQgc2lnbmFsLnNpZ3RpbWVkd2FpdCgpJykKKyAgICBkZWYgdGVzdF9zaWd0aW1lZHdhaXQoc2VsZik6CisgICAgICAgIHNlbGYud2FpdF9oZWxwZXIoc2lnbmFsLlNJR0FMUk0sICcnJworICAgICAgICBkZWYgdGVzdChzaWdudW0pOgorICAgICAgICAgICAgc2lnbmFsLmFsYXJtKDEpCisgICAgICAgICAgICBpbmZvID0gc2lnbmFsLnNpZ3RpbWVkd2FpdChbc2lnbnVtXSwgMTAuMTAwMCkKKyAgICAgICAgICAgIGlmIGluZm8uc2lfc2lnbm8gIT0gc2lnbnVtOgorICAgICAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbignaW5mby5zaV9zaWdubyAhPSAlcycgJSBzaWdudW0pCisgICAgICAgICcnJykKKworICAgIEB1bml0dGVzdC5za2lwVW5sZXNzKGhhc2F0dHIoc2lnbmFsLCAnc2lndGltZWR3YWl0JyksCisgICAgICAgICAgICAgICAgICAgICAgICAgJ25lZWQgc2lnbmFsLnNpZ3RpbWVkd2FpdCgpJykKKyAgICBkZWYgdGVzdF9zaWd0aW1lZHdhaXRfcG9sbChzZWxmKToKKyAgICAgICAgIyBjaGVjayB0aGF0IHBvbGxpbmcgd2l0aCBzaWd0aW1lZHdhaXQgd29ya3MKKyAgICAgICAgc2VsZi53YWl0X2hlbHBlcihzaWduYWwuU0lHQUxSTSwgJycnCisgICAgICAgIGRlZiB0ZXN0KHNpZ251bSk6CisgICAgICAgICAgICBpbXBvcnQgb3MKKyAgICAgICAgICAgIG9zLmtpbGwob3MuZ2V0cGlkKCksIHNpZ251bSkKKyAgICAgICAgICAgIGluZm8gPSBzaWduYWwuc2lndGltZWR3YWl0KFtzaWdudW1dLCAwKQorICAgICAgICAgICAgaWYgaW5mby5zaV9zaWdubyAhPSBzaWdudW06CisgICAgICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCdpbmZvLnNpX3NpZ25vICE9ICVzJyAlIHNpZ251bSkKKyAgICAgICAgJycnKQorCisgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3MoaGFzYXR0cihzaWduYWwsICdzaWd0aW1lZHdhaXQnKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAnbmVlZCBzaWduYWwuc2lndGltZWR3YWl0KCknKQorICAgIGRlZiB0ZXN0X3NpZ3RpbWVkd2FpdF90aW1lb3V0KHNlbGYpOgorICAgICAgICBzZWxmLndhaXRfaGVscGVyKHNpZ25hbC5TSUdBTFJNLCAnJycKKyAgICAgICAgZGVmIHRlc3Qoc2lnbnVtKToKKyAgICAgICAgICAgIHJlY2VpdmVkID0gc2lnbmFsLnNpZ3RpbWVkd2FpdChbc2lnbnVtXSwgMS4wKQorICAgICAgICAgICAgaWYgcmVjZWl2ZWQgaXMgbm90IE5vbmU6CisgICAgICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCJyZWNlaXZlZD0lciIgJSAocmVjZWl2ZWQsKSkKKyAgICAgICAgJycnKQorCisgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3MoaGFzYXR0cihzaWduYWwsICdzaWd0aW1lZHdhaXQnKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAnbmVlZCBzaWduYWwuc2lndGltZWR3YWl0KCknKQorICAgIGRlZiB0ZXN0X3NpZ3RpbWVkd2FpdF9uZWdhdGl2ZV90aW1lb3V0KHNlbGYpOgorICAgICAgICBzaWdudW0gPSBzaWduYWwuU0lHQUxSTQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBzaWduYWwuc2lndGltZWR3YWl0LCBbc2lnbnVtXSwgLTEuMCkKKworICAgIEB1bml0dGVzdC5za2lwVW5sZXNzKGhhc2F0dHIoc2lnbmFsLCAnc2lnd2FpdGluZm8nKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAnbmVlZCBzaWduYWwuc2lnd2FpdGluZm8oKScpCisgICAgZGVmIHRlc3Rfc2lnd2FpdGluZm9faW50ZXJydXB0ZWQoc2VsZik6CisgICAgICAgIHNlbGYud2FpdF9oZWxwZXIoc2lnbmFsLlNJR1VTUjEsICcnJworICAgICAgICBkZWYgdGVzdChzaWdudW0pOgorICAgICAgICAgICAgaW1wb3J0IGVycm5vCisKKyAgICAgICAgICAgIGhuZGxfY2FsbGVkID0gVHJ1ZQorICAgICAgICAgICAgZGVmIGFsYXJtX2hhbmRsZXIoc2lnbnVtLCBmcmFtZSk6CisgICAgICAgICAgICAgICAgaG5kbF9jYWxsZWQgPSBGYWxzZQorCisgICAgICAgICAgICBzaWduYWwuc2lnbmFsKHNpZ25hbC5TSUdBTFJNLCBhbGFybV9oYW5kbGVyKQorICAgICAgICAgICAgc2lnbmFsLmFsYXJtKDEpCisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgc2lnbmFsLnNpZ3dhaXRpbmZvKFtzaWduYWwuU0lHVVNSMV0pCisgICAgICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlOgorICAgICAgICAgICAgICAgIGlmIGUuZXJybm8gPT0gZXJybm8uRUlOVFI6CisgICAgICAgICAgICAgICAgICAgIGlmIG5vdCBobmRsX2NhbGxlZDoKKyAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbigiU0lHQUxSTSBoYW5kbGVyIG5vdCBjYWxsZWQiKQorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbigiRXhwZWN0ZWQgRUlOVFIgdG8gYmUgcmFpc2VkIGJ5IHNpZ3dhaXRpbmZvIikKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCJFeHBlY3RlZCBFSU5UUiB0byBiZSByYWlzZWQgYnkgc2lnd2FpdGluZm8iKQorICAgICAgICAnJycpCisKKyAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhoYXNhdHRyKHNpZ25hbCwgJ3NpZ3dhaXQnKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAnbmVlZCBzaWduYWwuc2lnd2FpdCgpJykKKyAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhoYXNhdHRyKHNpZ25hbCwgJ3B0aHJlYWRfc2lnbWFzaycpLAorICAgICAgICAgICAgICAgICAgICAgICAgICduZWVkIHNpZ25hbC5wdGhyZWFkX3NpZ21hc2soKScpCisgICAgQHVuaXR0ZXN0LnNraXBJZih0aHJlYWRpbmcgaXMgTm9uZSwgInRlc3QgbmVlZHMgdGhyZWFkaW5nIG1vZHVsZSIpCisgICAgZGVmIHRlc3Rfc2lnd2FpdF90aHJlYWQoc2VsZik6CisgICAgICAgICMgQ2hlY2sgdGhhdCBjYWxsaW5nIHNpZ3dhaXQoKSBmcm9tIGEgdGhyZWFkIGRvZXNuJ3Qgc3VzcGVuZCB0aGUgd2hvbGUKKyAgICAgICAgIyBwcm9jZXNzLiBBIG5ldyBpbnRlcnByZXRlciBpcyBzcGF3bmVkIHRvIGF2b2lkIHByb2JsZW1zIHdoZW4gbWl4aW5nCisgICAgICAgICMgdGhyZWFkcyBhbmQgZm9yaygpOiBvbmx5IGFzeW5jLXNhZmUgZnVuY3Rpb25zIGFyZSBhbGxvd2VkIGJldHdlZW4KKyAgICAgICAgIyBmb3JrKCkgYW5kIGV4ZWMoKS4KKyAgICAgICAgYXNzZXJ0X3B5dGhvbl9vaygiLWMiLCAiIiJpZiBUcnVlOgorICAgICAgICAgICAgaW1wb3J0IG9zLCB0aHJlYWRpbmcsIHN5cywgdGltZSwgc2lnbmFsCisKKyAgICAgICAgICAgICMgdGhlIGRlZmF1bHQgaGFuZGxlciB0ZXJtaW5hdGVzIHRoZSBwcm9jZXNzCisgICAgICAgICAgICBzaWdudW0gPSBzaWduYWwuU0lHVVNSMQorCisgICAgICAgICAgICBkZWYga2lsbF9sYXRlcigpOgorICAgICAgICAgICAgICAgICMgd2FpdCB1bnRpbCB0aGUgbWFpbiB0aHJlYWQgaXMgd2FpdGluZyBpbiBzaWd3YWl0KCkKKyAgICAgICAgICAgICAgICB0aW1lLnNsZWVwKDEpCisgICAgICAgICAgICAgICAgb3Mua2lsbChvcy5nZXRwaWQoKSwgc2lnbnVtKQorCisgICAgICAgICAgICAjIHRoZSBzaWduYWwgbXVzdCBiZSBibG9ja2VkIGJ5IGFsbCB0aGUgdGhyZWFkcworICAgICAgICAgICAgc2lnbmFsLnB0aHJlYWRfc2lnbWFzayhzaWduYWwuU0lHX0JMT0NLLCBbc2lnbnVtXSkKKyAgICAgICAgICAgIGtpbGxlciA9IHRocmVhZGluZy5UaHJlYWQodGFyZ2V0PWtpbGxfbGF0ZXIpCisgICAgICAgICAgICBraWxsZXIuc3RhcnQoKQorICAgICAgICAgICAgcmVjZWl2ZWQgPSBzaWduYWwuc2lnd2FpdChbc2lnbnVtXSkKKyAgICAgICAgICAgIGlmIHJlY2VpdmVkICE9IHNpZ251bToKKyAgICAgICAgICAgICAgICBwcmludCgic2lnd2FpdCgpIHJlY2VpdmVkICVzLCBub3QgJXMiICUgKHJlY2VpdmVkLCBzaWdudW0pLAorICAgICAgICAgICAgICAgICAgICAgIGZpbGU9c3lzLnN0ZGVycikKKyAgICAgICAgICAgICAgICBzeXMuZXhpdCgxKQorICAgICAgICAgICAga2lsbGVyLmpvaW4oKQorICAgICAgICAgICAgIyB1bmJsb2NrIHRoZSBzaWduYWwsIHdoaWNoIHNob3VsZCBoYXZlIGJlZW4gY2xlYXJlZCBieSBzaWd3YWl0KCkKKyAgICAgICAgICAgIHNpZ25hbC5wdGhyZWFkX3NpZ21hc2soc2lnbmFsLlNJR19VTkJMT0NLLCBbc2lnbnVtXSkKKyAgICAgICAgIiIiKQorCisgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3MoaGFzYXR0cihzaWduYWwsICdwdGhyZWFkX3NpZ21hc2snKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAnbmVlZCBzaWduYWwucHRocmVhZF9zaWdtYXNrKCknKQorICAgIGRlZiB0ZXN0X3B0aHJlYWRfc2lnbWFza19hcmd1bWVudHMoc2VsZik6CisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgc2lnbmFsLnB0aHJlYWRfc2lnbWFzaykKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBzaWduYWwucHRocmVhZF9zaWdtYXNrLCAxKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIHNpZ25hbC5wdGhyZWFkX3NpZ21hc2ssIDEsIDIsIDMpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE9TRXJyb3IsIHNpZ25hbC5wdGhyZWFkX3NpZ21hc2ssIDE3MDAsIFtdKQorCisgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3MoaGFzYXR0cihzaWduYWwsICdwdGhyZWFkX3NpZ21hc2snKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAnbmVlZCBzaWduYWwucHRocmVhZF9zaWdtYXNrKCknKQorICAgIGRlZiB0ZXN0X3B0aHJlYWRfc2lnbWFzayhzZWxmKToKKyAgICAgICAgY29kZSA9ICIiImlmIDE6CisgICAgICAgIGltcG9ydCBzaWduYWwKKyAgICAgICAgaW1wb3J0IG9zOyBpbXBvcnQgdGhyZWFkaW5nCisKKyAgICAgICAgZGVmIGhhbmRsZXIoc2lnbnVtLCBmcmFtZSk6CisgICAgICAgICAgICAxLzAKKworICAgICAgICBkZWYga2lsbChzaWdudW0pOgorICAgICAgICAgICAgb3Mua2lsbChvcy5nZXRwaWQoKSwgc2lnbnVtKQorCisgICAgICAgIGRlZiByZWFkX3NpZ21hc2soKToKKyAgICAgICAgICAgIHJldHVybiBzaWduYWwucHRocmVhZF9zaWdtYXNrKHNpZ25hbC5TSUdfQkxPQ0ssIFtdKQorCisgICAgICAgIHNpZ251bSA9IHNpZ25hbC5TSUdVU1IxCisKKyAgICAgICAgIyBJbnN0YWxsIG91ciBzaWduYWwgaGFuZGxlcgorICAgICAgICBvbGRfaGFuZGxlciA9IHNpZ25hbC5zaWduYWwoc2lnbnVtLCBoYW5kbGVyKQorCisgICAgICAgICMgVW5ibG9jayBTSUdVU1IxIChhbmQgY29weSB0aGUgb2xkIG1hc2spIHRvIHRlc3Qgb3VyIHNpZ25hbCBoYW5kbGVyCisgICAgICAgIG9sZF9tYXNrID0gc2lnbmFsLnB0aHJlYWRfc2lnbWFzayhzaWduYWwuU0lHX1VOQkxPQ0ssIFtzaWdudW1dKQorICAgICAgICB0cnk6CisgICAgICAgICAgICBraWxsKHNpZ251bSkKKyAgICAgICAgZXhjZXB0IFplcm9EaXZpc2lvbkVycm9yOgorICAgICAgICAgICAgcGFzcworICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCJaZXJvRGl2aXNpb25FcnJvciBub3QgcmFpc2VkIikKKworICAgICAgICAjIEJsb2NrIGFuZCB0aGVuIHJhaXNlIFNJR1VTUjEuIFRoZSBzaWduYWwgaXMgYmxvY2tlZDogdGhlIHNpZ25hbAorICAgICAgICAjIGhhbmRsZXIgaXMgbm90IGNhbGxlZCwgYW5kIHRoZSBzaWduYWwgaXMgbm93IHBlbmRpbmcKKyAgICAgICAgc2lnbmFsLnB0aHJlYWRfc2lnbWFzayhzaWduYWwuU0lHX0JMT0NLLCBbc2lnbnVtXSkKKyAgICAgICAga2lsbChzaWdudW0pCisKKyAgICAgICAgIyBDaGVjayB0aGUgbmV3IG1hc2sKKyAgICAgICAgYmxvY2tlZCA9IHJlYWRfc2lnbWFzaygpCisgICAgICAgIGlmIHNpZ251bSBub3QgaW4gYmxvY2tlZDoKKyAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbigiJXMgbm90IGluICVzIiAlIChzaWdudW0sIGJsb2NrZWQpKQorICAgICAgICBpZiBvbGRfbWFzayBeIGJsb2NrZWQgIT0ge3NpZ251bX06CisgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oIiVzIF4gJXMgIT0geyVzfSIgJSAob2xkX21hc2ssIGJsb2NrZWQsIHNpZ251bSkpCisKKyAgICAgICAgIyBVbmJsb2NrIFNJR1VTUjEKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgIyB1bmJsb2NrIHRoZSBwZW5kaW5nIHNpZ25hbCBjYWxscyBpbW1lZGlhdGx5IHRoZSBzaWduYWwgaGFuZGxlcgorICAgICAgICAgICAgc2lnbmFsLnB0aHJlYWRfc2lnbWFzayhzaWduYWwuU0lHX1VOQkxPQ0ssIFtzaWdudW1dKQorICAgICAgICBleGNlcHQgWmVyb0RpdmlzaW9uRXJyb3I6CisgICAgICAgICAgICBwYXNzCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oIlplcm9EaXZpc2lvbkVycm9yIG5vdCByYWlzZWQiKQorICAgICAgICB0cnk6CisgICAgICAgICAgICBraWxsKHNpZ251bSkKKyAgICAgICAgZXhjZXB0IFplcm9EaXZpc2lvbkVycm9yOgorICAgICAgICAgICAgcGFzcworICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCJaZXJvRGl2aXNpb25FcnJvciBub3QgcmFpc2VkIikKKworICAgICAgICAjIENoZWNrIHRoZSBuZXcgbWFzaworICAgICAgICB1bmJsb2NrZWQgPSByZWFkX3NpZ21hc2soKQorICAgICAgICBpZiBzaWdudW0gaW4gdW5ibG9ja2VkOgorICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCIlcyBpbiAlcyIgJSAoc2lnbnVtLCB1bmJsb2NrZWQpKQorICAgICAgICBpZiBibG9ja2VkIF4gdW5ibG9ja2VkICE9IHtzaWdudW19OgorICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCIlcyBeICVzICE9IHslc30iICUgKGJsb2NrZWQsIHVuYmxvY2tlZCwgc2lnbnVtKSkKKyAgICAgICAgaWYgb2xkX21hc2sgIT0gdW5ibG9ja2VkOgorICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCIlcyAhPSAlcyIgJSAob2xkX21hc2ssIHVuYmxvY2tlZCkpCisgICAgICAgICIiIgorICAgICAgICBhc3NlcnRfcHl0aG9uX29rKCctYycsIGNvZGUpCisKKyAgICBAdW5pdHRlc3Quc2tpcElmKHN5cy5wbGF0Zm9ybSA9PSAnZnJlZWJzZDYnLAorICAgICAgICAiaXNzdWUgIzEyMzkyOiBzZW5kIGEgc2lnbmFsIHRvIHRoZSBtYWluIHRocmVhZCBkb2Vzbid0IHdvcmsgIgorICAgICAgICAiYmVmb3JlIHRoZSBjcmVhdGlvbiBvZiB0aGUgZmlyc3QgdGhyZWFkIG9uIEZyZWVCU0QgNiIpCisgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3MoaGFzYXR0cihzaWduYWwsICdwdGhyZWFkX2tpbGwnKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAnbmVlZCBzaWduYWwucHRocmVhZF9raWxsKCknKQorICAgIGRlZiB0ZXN0X3B0aHJlYWRfa2lsbF9tYWluX3RocmVhZChzZWxmKToKKyAgICAgICAgIyBUZXN0IHRoYXQgYSBzaWduYWwgY2FuIGJlIHNlbnQgdG8gdGhlIG1haW4gdGhyZWFkIHdpdGggcHRocmVhZF9raWxsKCkKKyAgICAgICAgIyBiZWZvcmUgYW55IG90aGVyIHRocmVhZCBoYXMgYmVlbiBjcmVhdGVkIChzZWUgaXNzdWUgIzEyMzkyKS4KKyAgICAgICAgY29kZSA9ICIiImlmIFRydWU6CisgICAgICAgICAgICBpbXBvcnQgdGhyZWFkaW5nCisgICAgICAgICAgICBpbXBvcnQgc2lnbmFsCisgICAgICAgICAgICBpbXBvcnQgc3lzCisKKyAgICAgICAgICAgIGRlZiBoYW5kbGVyKHNpZ251bSwgZnJhbWUpOgorICAgICAgICAgICAgICAgIHN5cy5leGl0KDMpCisKKyAgICAgICAgICAgIHNpZ25hbC5zaWduYWwoc2lnbmFsLlNJR1VTUjEsIGhhbmRsZXIpCisgICAgICAgICAgICBzaWduYWwucHRocmVhZF9raWxsKHRocmVhZGluZy5nZXRfaWRlbnQoKSwgc2lnbmFsLlNJR1VTUjEpCisgICAgICAgICAgICBzeXMuZXhpdCgyKQorICAgICAgICAiIiIKKworICAgICAgICB3aXRoIHNwYXduX3B5dGhvbignLWMnLCBjb2RlKSBhcyBwcm9jZXNzOgorICAgICAgICAgICAgc3Rkb3V0LCBzdGRlcnIgPSBwcm9jZXNzLmNvbW11bmljYXRlKCkKKyAgICAgICAgICAgIGV4aXRjb2RlID0gcHJvY2Vzcy53YWl0KCkKKyAgICAgICAgICAgIGlmIGV4aXRjb2RlICE9IDM6CisgICAgICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCJDaGlsZCBlcnJvciAoZXhpdCBjb2RlICVzKTogJXMiICUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGV4aXRjb2RlLCBzdGRvdXQpKQorCisKIGRlZiB0ZXN0X21haW4oKToKICAgICB0cnk6Ci0gICAgICAgIHN1cHBvcnQucnVuX3VuaXR0ZXN0KEJhc2ljU2lnbmFsVGVzdHMsIEludGVyUHJvY2Vzc1NpZ25hbFRlc3RzLAorICAgICAgICBzdXBwb3J0LnJ1bl91bml0dGVzdChQb3NpeFRlc3RzLCBJbnRlclByb2Nlc3NTaWduYWxUZXN0cywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2FrZXVwU2lnbmFsVGVzdHMsIFNpZ2ludGVycnVwdFRlc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIEl0aW1lclRlc3QsIFdpbmRvd3NTaWduYWxUZXN0cykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSXRpbWVyVGVzdCwgV2luZG93c1NpZ25hbFRlc3RzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQZW5kaW5nU2lnbmFsc1Rlc3RzKQogICAgIGZpbmFsbHk6CiAgICAgICAgIHN1cHBvcnQucmVhcF9jaGlsZHJlbigpCiAKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3Rfc210cGQucHkgYi9MaWIvdGVzdC90ZXN0X3NtdHBkLnB5CmluZGV4IDY4Y2NjMjkuLmRkMjM1NjUgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3Rfc210cGQucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9zbXRwZC5weQpAQCAtMjM5LDQ5ICsyMzksNDkgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmNoYW5uZWwuc29ja2V0Lmxhc3QsIGInNTAxIFN5bnRheDogUlNFVFxyXG4nKQogCiAgICAgZGVmIHRlc3RfYXR0cmlidXRlX2RlcHJlY2F0aW9ucyhzZWxmKToKLSAgICAgICAgd2l0aCBzdXBwb3J0LmNoZWNrX3dhcm5pbmdzKCgnJywgUGVuZGluZ0RlcHJlY2F0aW9uV2FybmluZykpOgorICAgICAgICB3aXRoIHN1cHBvcnQuY2hlY2tfd2FybmluZ3MoKCcnLCBEZXByZWNhdGlvbldhcm5pbmcpKToKICAgICAgICAgICAgIHNwYW0gPSBzZWxmLmNoYW5uZWwuX1NNVFBDaGFubmVsX19zZXJ2ZXIKLSAgICAgICAgd2l0aCBzdXBwb3J0LmNoZWNrX3dhcm5pbmdzKCgnJywgUGVuZGluZ0RlcHJlY2F0aW9uV2FybmluZykpOgorICAgICAgICB3aXRoIHN1cHBvcnQuY2hlY2tfd2FybmluZ3MoKCcnLCBEZXByZWNhdGlvbldhcm5pbmcpKToKICAgICAgICAgICAgIHNlbGYuY2hhbm5lbC5fU01UUENoYW5uZWxfX3NlcnZlciA9ICdzcGFtJwotICAgICAgICB3aXRoIHN1cHBvcnQuY2hlY2tfd2FybmluZ3MoKCcnLCBQZW5kaW5nRGVwcmVjYXRpb25XYXJuaW5nKSk6CisgICAgICAgIHdpdGggc3VwcG9ydC5jaGVja193YXJuaW5ncygoJycsIERlcHJlY2F0aW9uV2FybmluZykpOgogICAgICAgICAgICAgc3BhbSA9IHNlbGYuY2hhbm5lbC5fU01UUENoYW5uZWxfX2xpbmUKLSAgICAgICAgd2l0aCBzdXBwb3J0LmNoZWNrX3dhcm5pbmdzKCgnJywgUGVuZGluZ0RlcHJlY2F0aW9uV2FybmluZykpOgorICAgICAgICB3aXRoIHN1cHBvcnQuY2hlY2tfd2FybmluZ3MoKCcnLCBEZXByZWNhdGlvbldhcm5pbmcpKToKICAgICAgICAgICAgIHNlbGYuY2hhbm5lbC5fU01UUENoYW5uZWxfX2xpbmUgPSAnc3BhbScKLSAgICAgICAgd2l0aCBzdXBwb3J0LmNoZWNrX3dhcm5pbmdzKCgnJywgUGVuZGluZ0RlcHJlY2F0aW9uV2FybmluZykpOgorICAgICAgICB3aXRoIHN1cHBvcnQuY2hlY2tfd2FybmluZ3MoKCcnLCBEZXByZWNhdGlvbldhcm5pbmcpKToKICAgICAgICAgICAgIHNwYW0gPSBzZWxmLmNoYW5uZWwuX1NNVFBDaGFubmVsX19zdGF0ZQotICAgICAgICB3aXRoIHN1cHBvcnQuY2hlY2tfd2FybmluZ3MoKCcnLCBQZW5kaW5nRGVwcmVjYXRpb25XYXJuaW5nKSk6CisgICAgICAgIHdpdGggc3VwcG9ydC5jaGVja193YXJuaW5ncygoJycsIERlcHJlY2F0aW9uV2FybmluZykpOgogICAgICAgICAgICAgc2VsZi5jaGFubmVsLl9TTVRQQ2hhbm5lbF9fc3RhdGUgPSAnc3BhbScKLSAgICAgICAgd2l0aCBzdXBwb3J0LmNoZWNrX3dhcm5pbmdzKCgnJywgUGVuZGluZ0RlcHJlY2F0aW9uV2FybmluZykpOgorICAgICAgICB3aXRoIHN1cHBvcnQuY2hlY2tfd2FybmluZ3MoKCcnLCBEZXByZWNhdGlvbldhcm5pbmcpKToKICAgICAgICAgICAgIHNwYW0gPSBzZWxmLmNoYW5uZWwuX1NNVFBDaGFubmVsX19ncmVldGluZwotICAgICAgICB3aXRoIHN1cHBvcnQuY2hlY2tfd2FybmluZ3MoKCcnLCBQZW5kaW5nRGVwcmVjYXRpb25XYXJuaW5nKSk6CisgICAgICAgIHdpdGggc3VwcG9ydC5jaGVja193YXJuaW5ncygoJycsIERlcHJlY2F0aW9uV2FybmluZykpOgogICAgICAgICAgICAgc2VsZi5jaGFubmVsLl9TTVRQQ2hhbm5lbF9fZ3JlZXRpbmcgPSAnc3BhbScKLSAgICAgICAgd2l0aCBzdXBwb3J0LmNoZWNrX3dhcm5pbmdzKCgnJywgUGVuZGluZ0RlcHJlY2F0aW9uV2FybmluZykpOgorICAgICAgICB3aXRoIHN1cHBvcnQuY2hlY2tfd2FybmluZ3MoKCcnLCBEZXByZWNhdGlvbldhcm5pbmcpKToKICAgICAgICAgICAgIHNwYW0gPSBzZWxmLmNoYW5uZWwuX1NNVFBDaGFubmVsX19tYWlsZnJvbQotICAgICAgICB3aXRoIHN1cHBvcnQuY2hlY2tfd2FybmluZ3MoKCcnLCBQZW5kaW5nRGVwcmVjYXRpb25XYXJuaW5nKSk6CisgICAgICAgIHdpdGggc3VwcG9ydC5jaGVja193YXJuaW5ncygoJycsIERlcHJlY2F0aW9uV2FybmluZykpOgogICAgICAgICAgICAgc2VsZi5jaGFubmVsLl9TTVRQQ2hhbm5lbF9fbWFpbGZyb20gPSAnc3BhbScKLSAgICAgICAgd2l0aCBzdXBwb3J0LmNoZWNrX3dhcm5pbmdzKCgnJywgUGVuZGluZ0RlcHJlY2F0aW9uV2FybmluZykpOgorICAgICAgICB3aXRoIHN1cHBvcnQuY2hlY2tfd2FybmluZ3MoKCcnLCBEZXByZWNhdGlvbldhcm5pbmcpKToKICAgICAgICAgICAgIHNwYW0gPSBzZWxmLmNoYW5uZWwuX1NNVFBDaGFubmVsX19yY3B0dG9zCi0gICAgICAgIHdpdGggc3VwcG9ydC5jaGVja193YXJuaW5ncygoJycsIFBlbmRpbmdEZXByZWNhdGlvbldhcm5pbmcpKToKKyAgICAgICAgd2l0aCBzdXBwb3J0LmNoZWNrX3dhcm5pbmdzKCgnJywgRGVwcmVjYXRpb25XYXJuaW5nKSk6CiAgICAgICAgICAgICBzZWxmLmNoYW5uZWwuX1NNVFBDaGFubmVsX19yY3B0dG9zID0gJ3NwYW0nCi0gICAgICAgIHdpdGggc3VwcG9ydC5jaGVja193YXJuaW5ncygoJycsIFBlbmRpbmdEZXByZWNhdGlvbldhcm5pbmcpKToKKyAgICAgICAgd2l0aCBzdXBwb3J0LmNoZWNrX3dhcm5pbmdzKCgnJywgRGVwcmVjYXRpb25XYXJuaW5nKSk6CiAgICAgICAgICAgICBzcGFtID0gc2VsZi5jaGFubmVsLl9TTVRQQ2hhbm5lbF9fZGF0YQotICAgICAgICB3aXRoIHN1cHBvcnQuY2hlY2tfd2FybmluZ3MoKCcnLCBQZW5kaW5nRGVwcmVjYXRpb25XYXJuaW5nKSk6CisgICAgICAgIHdpdGggc3VwcG9ydC5jaGVja193YXJuaW5ncygoJycsIERlcHJlY2F0aW9uV2FybmluZykpOgogICAgICAgICAgICAgc2VsZi5jaGFubmVsLl9TTVRQQ2hhbm5lbF9fZGF0YSA9ICdzcGFtJwotICAgICAgICB3aXRoIHN1cHBvcnQuY2hlY2tfd2FybmluZ3MoKCcnLCBQZW5kaW5nRGVwcmVjYXRpb25XYXJuaW5nKSk6CisgICAgICAgIHdpdGggc3VwcG9ydC5jaGVja193YXJuaW5ncygoJycsIERlcHJlY2F0aW9uV2FybmluZykpOgogICAgICAgICAgICAgc3BhbSA9IHNlbGYuY2hhbm5lbC5fU01UUENoYW5uZWxfX2ZxZG4KLSAgICAgICAgd2l0aCBzdXBwb3J0LmNoZWNrX3dhcm5pbmdzKCgnJywgUGVuZGluZ0RlcHJlY2F0aW9uV2FybmluZykpOgorICAgICAgICB3aXRoIHN1cHBvcnQuY2hlY2tfd2FybmluZ3MoKCcnLCBEZXByZWNhdGlvbldhcm5pbmcpKToKICAgICAgICAgICAgIHNlbGYuY2hhbm5lbC5fU01UUENoYW5uZWxfX2ZxZG4gPSAnc3BhbScKLSAgICAgICAgd2l0aCBzdXBwb3J0LmNoZWNrX3dhcm5pbmdzKCgnJywgUGVuZGluZ0RlcHJlY2F0aW9uV2FybmluZykpOgorICAgICAgICB3aXRoIHN1cHBvcnQuY2hlY2tfd2FybmluZ3MoKCcnLCBEZXByZWNhdGlvbldhcm5pbmcpKToKICAgICAgICAgICAgIHNwYW0gPSBzZWxmLmNoYW5uZWwuX1NNVFBDaGFubmVsX19wZWVyCi0gICAgICAgIHdpdGggc3VwcG9ydC5jaGVja193YXJuaW5ncygoJycsIFBlbmRpbmdEZXByZWNhdGlvbldhcm5pbmcpKToKKyAgICAgICAgd2l0aCBzdXBwb3J0LmNoZWNrX3dhcm5pbmdzKCgnJywgRGVwcmVjYXRpb25XYXJuaW5nKSk6CiAgICAgICAgICAgICBzZWxmLmNoYW5uZWwuX1NNVFBDaGFubmVsX19wZWVyID0gJ3NwYW0nCi0gICAgICAgIHdpdGggc3VwcG9ydC5jaGVja193YXJuaW5ncygoJycsIFBlbmRpbmdEZXByZWNhdGlvbldhcm5pbmcpKToKKyAgICAgICAgd2l0aCBzdXBwb3J0LmNoZWNrX3dhcm5pbmdzKCgnJywgRGVwcmVjYXRpb25XYXJuaW5nKSk6CiAgICAgICAgICAgICBzcGFtID0gc2VsZi5jaGFubmVsLl9TTVRQQ2hhbm5lbF9fY29ubgotICAgICAgICB3aXRoIHN1cHBvcnQuY2hlY2tfd2FybmluZ3MoKCcnLCBQZW5kaW5nRGVwcmVjYXRpb25XYXJuaW5nKSk6CisgICAgICAgIHdpdGggc3VwcG9ydC5jaGVja193YXJuaW5ncygoJycsIERlcHJlY2F0aW9uV2FybmluZykpOgogICAgICAgICAgICAgc2VsZi5jaGFubmVsLl9TTVRQQ2hhbm5lbF9fY29ubiA9ICdzcGFtJwotICAgICAgICB3aXRoIHN1cHBvcnQuY2hlY2tfd2FybmluZ3MoKCcnLCBQZW5kaW5nRGVwcmVjYXRpb25XYXJuaW5nKSk6CisgICAgICAgIHdpdGggc3VwcG9ydC5jaGVja193YXJuaW5ncygoJycsIERlcHJlY2F0aW9uV2FybmluZykpOgogICAgICAgICAgICAgc3BhbSA9IHNlbGYuY2hhbm5lbC5fU01UUENoYW5uZWxfX2FkZHIKLSAgICAgICAgd2l0aCBzdXBwb3J0LmNoZWNrX3dhcm5pbmdzKCgnJywgUGVuZGluZ0RlcHJlY2F0aW9uV2FybmluZykpOgorICAgICAgICB3aXRoIHN1cHBvcnQuY2hlY2tfd2FybmluZ3MoKCcnLCBEZXByZWNhdGlvbldhcm5pbmcpKToKICAgICAgICAgICAgIHNlbGYuY2hhbm5lbC5fU01UUENoYW5uZWxfX2FkZHIgPSAnc3BhbScKIAogZGVmIHRlc3RfbWFpbigpOgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9zbXRwbGliLnB5IGIvTGliL3Rlc3QvdGVzdF9zbXRwbGliLnB5CmluZGV4IDJjYjBkMWEuLjA1ZDk3ZWYgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3Rfc210cGxpYi5weQorKysgYi9MaWIvdGVzdC90ZXN0X3NtdHBsaWIucHkKQEAgLTcyLDYgKzcyLDE0IEBACiAgICAgICAgIHNtdHAgPSBzbXRwbGliLlNNVFAoSE9TVCwgc2VsZi5wb3J0KQogICAgICAgICBzbXRwLmNsb3NlKCkKIAorICAgIGRlZiB0ZXN0U291cmNlQWRkcmVzcyhzZWxmKToKKyAgICAgICAgbW9ja19zb2NrZXQucmVwbHlfd2l0aChiIjIyMCBIb2xhIG11bmRvIikKKyAgICAgICAgIyBjb25uZWN0cworICAgICAgICBzbXRwID0gc210cGxpYi5TTVRQKEhPU1QsIHNlbGYucG9ydCwKKyAgICAgICAgICAgICAgICBzb3VyY2VfYWRkcmVzcz0oJzEyNy4wLjAuMScsMTk4NzYpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNtdHAuc291cmNlX2FkZHJlc3MsICgnMTI3LjAuMC4xJywgMTk4NzYpKQorICAgICAgICBzbXRwLmNsb3NlKCkKKwogICAgIGRlZiB0ZXN0QmFzaWMyKHNlbGYpOgogICAgICAgICBtb2NrX3NvY2tldC5yZXBseV93aXRoKGIiMjIwIEhvbGEgbXVuZG8iKQogICAgICAgICAjIGNvbm5lY3RzLCBpbmNsdWRlIHBvcnQgaW4gaG9zdCBuYW1lCkBAIC0yMDQsNiArMjEyLDIwIEBACiAgICAgICAgIHNtdHAgPSBzbXRwbGliLlNNVFAoSE9TVCwgc2VsZi5wb3J0LCBsb2NhbF9ob3N0bmFtZT0nbG9jYWxob3N0JywgdGltZW91dD0zKQogICAgICAgICBzbXRwLnF1aXQoKQogCisgICAgZGVmIHRlc3RTb3VyY2VBZGRyZXNzKHNlbGYpOgorICAgICAgICAjIGNvbm5lY3QKKyAgICAgICAgcG9ydCA9IHN1cHBvcnQuZmluZF91bnVzZWRfcG9ydCgpCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHNtdHAgPSBzbXRwbGliLlNNVFAoSE9TVCwgc2VsZi5wb3J0LCBsb2NhbF9ob3N0bmFtZT0nbG9jYWxob3N0JywKKyAgICAgICAgICAgICAgICAgICAgdGltZW91dD0zLCBzb3VyY2VfYWRkcmVzcz0oJzEyNy4wLjAuMScsIHBvcnQpKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzbXRwLnNvdXJjZV9hZGRyZXNzLCAoJzEyNy4wLjAuMScsIHBvcnQpKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzbXRwLmxvY2FsX2hvc3RuYW1lLCAnbG9jYWxob3N0JykKKyAgICAgICAgICAgIHNtdHAucXVpdCgpCisgICAgICAgIGV4Y2VwdCBJT0Vycm9yIGFzIGU6CisgICAgICAgICAgICBpZiBlLmVycm5vID09IGVycm5vLkVBRERSSU5VU0U6CisgICAgICAgICAgICAgICAgc2VsZi5za2lwVGVzdCgiY291bGRuJ3QgYmluZCB0byBwb3J0ICVkIiAlIHBvcnQpCisgICAgICAgICAgICByYWlzZQorCiAgICAgZGVmIHRlc3ROT09QKHNlbGYpOgogICAgICAgICBzbXRwID0gc210cGxpYi5TTVRQKEhPU1QsIHNlbGYucG9ydCwgbG9jYWxfaG9zdG5hbWU9J2xvY2FsaG9zdCcsIHRpbWVvdXQ9MykKICAgICAgICAgZXhwZWN0ZWQgPSAoMjUwLCBiJ09rJykKQEAgLTU2MCw2ICs1ODIsOSBAQAogIyBTaW11bGF0ZWQgU01UUCBjaGFubmVsICYgc2VydmVyCiBjbGFzcyBTaW1TTVRQQ2hhbm5lbChzbXRwZC5TTVRQQ2hhbm5lbCk6CiAKKyAgICAjIEZvciB0ZXN0aW5nIGZhaWx1cmVzIGluIFFVSVQgd2hlbiB1c2luZyB0aGUgY29udGV4dCBtYW5hZ2VyIEFQSS4KKyAgICBxdWl0X3Jlc3BvbnNlID0gTm9uZQorCiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIGV4dHJhX2ZlYXR1cmVzLCAqYXJncywgKiprdyk6CiAgICAgICAgIHNlbGYuX2V4dHJhZmVhdHVyZXMgPSAnJy5qb2luKAogICAgICAgICAgICAgWyAiMjUwLXswfVxyXG4iLmZvcm1hdCh4KSBmb3IgeCBpbiBleHRyYV9mZWF0dXJlcyBdKQpAQCAtNjEwLDE5ICs2MzUsMzEgQEAKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHNlbGYucHVzaCgnNTUwIE5vIGFjY2VzcyBmb3IgeW91IScpCiAKKyAgICBkZWYgc210cF9RVUlUKHNlbGYsIGFyZyk6CisgICAgICAgICMgYXJncyBpcyBpZ25vcmVkCisgICAgICAgIGlmIHNlbGYucXVpdF9yZXNwb25zZSBpcyBOb25lOgorICAgICAgICAgICAgc3VwZXIoU2ltU01UUENoYW5uZWwsIHNlbGYpLnNtdHBfUVVJVChhcmcpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzZWxmLnB1c2goc2VsZi5xdWl0X3Jlc3BvbnNlKQorICAgICAgICAgICAgc2VsZi5jbG9zZV93aGVuX2RvbmUoKQorCiAgICAgZGVmIGhhbmRsZV9lcnJvcihzZWxmKToKICAgICAgICAgcmFpc2UKIAogCiBjbGFzcyBTaW1TTVRQU2VydmVyKHNtdHBkLlNNVFBTZXJ2ZXIpOgogCisgICAgIyBGb3IgdGVzdGluZyBmYWlsdXJlcyBpbiBRVUlUIHdoZW4gdXNpbmcgdGhlIGNvbnRleHQgbWFuYWdlciBBUEkuCisgICAgcXVpdF9yZXNwb25zZSA9IE5vbmUKKwogICAgIGRlZiBfX2luaXRfXyhzZWxmLCAqYXJncywgKiprdyk6CiAgICAgICAgIHNlbGYuX2V4dHJhX2ZlYXR1cmVzID0gW10KICAgICAgICAgc210cGQuU01UUFNlcnZlci5fX2luaXRfXyhzZWxmLCAqYXJncywgKiprdykKIAogICAgIGRlZiBoYW5kbGVfYWNjZXB0ZWQoc2VsZiwgY29ubiwgYWRkcik6Ci0gICAgICAgIHNlbGYuX1NNVFBjaGFubmVsID0gU2ltU01UUENoYW5uZWwoc2VsZi5fZXh0cmFfZmVhdHVyZXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZiwgY29ubiwgYWRkcikKKyAgICAgICAgc2VsZi5fU01UUGNoYW5uZWwgPSBTaW1TTVRQQ2hhbm5lbCgKKyAgICAgICAgICAgIHNlbGYuX2V4dHJhX2ZlYXR1cmVzLCBzZWxmLCBjb25uLCBhZGRyKQorICAgICAgICBzZWxmLl9TTVRQY2hhbm5lbC5xdWl0X3Jlc3BvbnNlID0gc2VsZi5xdWl0X3Jlc3BvbnNlCiAKICAgICBkZWYgcHJvY2Vzc19tZXNzYWdlKHNlbGYsIHBlZXIsIG1haWxmcm9tLCByY3B0dG9zLCBkYXRhKToKICAgICAgICAgcGFzcwpAQCAtNzUyLDYgKzc4OSwyNSBAQAogICAgICAgICAgICAgc2VsZi5hc3NlcnRJbihzaW1fYXV0aF9jcmVkZW50aWFsc1snY3JhbS1tZDUnXSwgc3RyKGVycikpCiAgICAgICAgIHNtdHAuY2xvc2UoKQogCisgICAgZGVmIHRlc3Rfd2l0aF9zdGF0ZW1lbnQoc2VsZik6CisgICAgICAgIHdpdGggc210cGxpYi5TTVRQKEhPU1QsIHNlbGYucG9ydCkgYXMgc210cDoKKyAgICAgICAgICAgIGNvZGUsIG1lc3NhZ2UgPSBzbXRwLm5vb3AoKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjb2RlLCAyNTApCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKHNtdHBsaWIuU01UUFNlcnZlckRpc2Nvbm5lY3RlZCwgc210cC5zZW5kLCBiJ2ZvbycpCisgICAgICAgIHdpdGggc210cGxpYi5TTVRQKEhPU1QsIHNlbGYucG9ydCkgYXMgc210cDoKKyAgICAgICAgICAgIHNtdHAuY2xvc2UoKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhzbXRwbGliLlNNVFBTZXJ2ZXJEaXNjb25uZWN0ZWQsIHNtdHAuc2VuZCwgYidmb28nKQorCisgICAgZGVmIHRlc3Rfd2l0aF9zdGF0ZW1lbnRfUVVJVF9mYWlsdXJlKHNlbGYpOgorICAgICAgICBzZWxmLnNlcnYucXVpdF9yZXNwb25zZSA9ICc0MjEgUVVJVCBGQUlMRUQnCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoc210cGxpYi5TTVRQUmVzcG9uc2VFeGNlcHRpb24pIGFzIGVycm9yOgorICAgICAgICAgICAgd2l0aCBzbXRwbGliLlNNVFAoSE9TVCwgc2VsZi5wb3J0KSBhcyBzbXRwOgorICAgICAgICAgICAgICAgIHNtdHAubm9vcCgpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXJyb3IuZXhjZXB0aW9uLnNtdHBfY29kZSwgNDIxKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGVycm9yLmV4Y2VwdGlvbi5zbXRwX2Vycm9yLCBiJ1FVSVQgRkFJTEVEJykKKyAgICAgICAgIyBXZSBkb24ndCBuZWVkIHRvIGNsZWFuIHVwIHNlbGYuc2Vydi5xdWl0X3Jlc3BvbnNlIGJlY2F1c2UgYSBuZXcKKyAgICAgICAgIyBzZXJ2ZXIgaXMgYWx3YXlzIGluc3RhbnRpYXRlZCBpbiB0aGUgc2V0VXAoKS4KKwogICAgICNUT0RPOiBhZGQgdGVzdHMgZm9yIGNvcnJlY3QgQVVUSCBtZXRob2QgZmFsbGJhY2sgbm93IHRoYXQgdGhlCiAgICAgI3Rlc3QgaW5mcmFzdHJ1Y3R1cmUgY2FuIHN1cHBvcnQgaXQuCiAKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3Rfc210cG5ldC5weSBiL0xpYi90ZXN0L3Rlc3Rfc210cG5ldC5weQppbmRleCAwMTk4YWI2Li44NjIyNGVmIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3NtdHBuZXQucHkKKysrIGIvTGliL3Rlc3QvdGVzdF9zbXRwbmV0LnB5CkBAIC00LDI4ICs0LDYwIEBACiBmcm9tIHRlc3QgaW1wb3J0IHN1cHBvcnQKIGltcG9ydCBzbXRwbGliCiAKK3NzbCA9IHN1cHBvcnQuaW1wb3J0X21vZHVsZSgic3NsIikKKwogc3VwcG9ydC5yZXF1aXJlcygibmV0d29yayIpCiAKKworY2xhc3MgU210cFRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgorICAgIHRlc3RTZXJ2ZXIgPSAnc210cC5nbWFpbC5jb20nCisgICAgcmVtb3RlUG9ydCA9IDI1CisgICAgY29udGV4dCA9IHNzbC5TU0xDb250ZXh0KHNzbC5QUk9UT0NPTF9TU0x2MjMpCisKKyAgICBkZWYgdGVzdF9jb25uZWN0X3N0YXJ0dGxzKHNlbGYpOgorICAgICAgICBzdXBwb3J0LmdldF9hdHRyaWJ1dGUoc210cGxpYiwgJ1NNVFBfU1NMJykKKyAgICAgICAgd2l0aCBzdXBwb3J0LnRyYW5zaWVudF9pbnRlcm5ldChzZWxmLnRlc3RTZXJ2ZXIpOgorICAgICAgICAgICAgc2VydmVyID0gc210cGxpYi5TTVRQKHNlbGYudGVzdFNlcnZlciwgc2VsZi5yZW1vdGVQb3J0KQorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIHNlcnZlci5zdGFydHRscyhjb250ZXh0PXNlbGYuY29udGV4dCkKKyAgICAgICAgICAgIGV4Y2VwdCBzbXRwbGliLlNNVFBFeGNlcHRpb24gYXMgZToKKyAgICAgICAgICAgICAgICBpZiBlLmFyZ3NbMF0gPT0gJ1NUQVJUVExTIGV4dGVuc2lvbiBub3Qgc3VwcG9ydGVkIGJ5IHNlcnZlci4nOgorICAgICAgICAgICAgICAgICAgICB1bml0dGVzdC5za2lwKGUuYXJnc1swXSkKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICByYWlzZQorICAgICAgICAgICAgc2VydmVyLmVobG8oKQorICAgICAgICAgICAgc2VydmVyLnF1aXQoKQorCisKIGNsYXNzIFNtdHBTU0xUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICB0ZXN0U2VydmVyID0gJ3NtdHAuZ21haWwuY29tJwogICAgIHJlbW90ZVBvcnQgPSA0NjUKKyAgICBjb250ZXh0ID0gc3NsLlNTTENvbnRleHQoc3NsLlBST1RPQ09MX1NTTHYyMykKIAogICAgIGRlZiB0ZXN0X2Nvbm5lY3Qoc2VsZik6CiAgICAgICAgIHN1cHBvcnQuZ2V0X2F0dHJpYnV0ZShzbXRwbGliLCAnU01UUF9TU0wnKQogICAgICAgICB3aXRoIHN1cHBvcnQudHJhbnNpZW50X2ludGVybmV0KHNlbGYudGVzdFNlcnZlcik6CiAgICAgICAgICAgICBzZXJ2ZXIgPSBzbXRwbGliLlNNVFBfU1NMKHNlbGYudGVzdFNlcnZlciwgc2VsZi5yZW1vdGVQb3J0KQotICAgICAgICBzZXJ2ZXIuZWhsbygpCi0gICAgICAgIHNlcnZlci5xdWl0KCkKKyAgICAgICAgICAgIHNlcnZlci5laGxvKCkKKyAgICAgICAgICAgIHNlcnZlci5xdWl0KCkKIAogICAgIGRlZiB0ZXN0X2Nvbm5lY3RfZGVmYXVsdF9wb3J0KHNlbGYpOgogICAgICAgICBzdXBwb3J0LmdldF9hdHRyaWJ1dGUoc210cGxpYiwgJ1NNVFBfU1NMJykKICAgICAgICAgd2l0aCBzdXBwb3J0LnRyYW5zaWVudF9pbnRlcm5ldChzZWxmLnRlc3RTZXJ2ZXIpOgogICAgICAgICAgICAgc2VydmVyID0gc210cGxpYi5TTVRQX1NTTChzZWxmLnRlc3RTZXJ2ZXIpCi0gICAgICAgIHNlcnZlci5laGxvKCkKLSAgICAgICAgc2VydmVyLnF1aXQoKQorICAgICAgICAgICAgc2VydmVyLmVobG8oKQorICAgICAgICAgICAgc2VydmVyLnF1aXQoKQorCisgICAgZGVmIHRlc3RfY29ubmVjdF91c2luZ19zc2xjb250ZXh0KHNlbGYpOgorICAgICAgICBzdXBwb3J0LmdldF9hdHRyaWJ1dGUoc210cGxpYiwgJ1NNVFBfU1NMJykKKyAgICAgICAgd2l0aCBzdXBwb3J0LnRyYW5zaWVudF9pbnRlcm5ldChzZWxmLnRlc3RTZXJ2ZXIpOgorICAgICAgICAgICAgc2VydmVyID0gc210cGxpYi5TTVRQX1NTTChzZWxmLnRlc3RTZXJ2ZXIsIHNlbGYucmVtb3RlUG9ydCwgY29udGV4dD1zZWxmLmNvbnRleHQpCisgICAgICAgICAgICBzZXJ2ZXIuZWhsbygpCisgICAgICAgICAgICBzZXJ2ZXIucXVpdCgpCisKIAogZGVmIHRlc3RfbWFpbigpOgotICAgIHN1cHBvcnQucnVuX3VuaXR0ZXN0KFNtdHBTU0xUZXN0KQorICAgIHN1cHBvcnQucnVuX3VuaXR0ZXN0KFNtdHBUZXN0LCBTbXRwU1NMVGVzdCkKIAogaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKICAgICB0ZXN0X21haW4oKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9zb2NrZXQucHkgYi9MaWIvdGVzdC90ZXN0X3NvY2tldC5weQppbmRleCBkNzdiN2RjLi5lZGUxMDM4IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3NvY2tldC5weQorKysgYi9MaWIvdGVzdC90ZXN0X3NvY2tldC5weQpAQCAtNyw2ICs3LDggQEAKIGltcG9ydCBpbwogaW1wb3J0IHNvY2tldAogaW1wb3J0IHNlbGVjdAoraW1wb3J0IHRlbXBmaWxlCitpbXBvcnQgX3Rlc3RjYXBpCiBpbXBvcnQgdGltZQogaW1wb3J0IHRyYWNlYmFjawogaW1wb3J0IHF1ZXVlCkBAIC0xOCwzNCArMjAsMTUgQEAKIGZyb20gd2Vha3JlZiBpbXBvcnQgcHJveHkKIGltcG9ydCBzaWduYWwKIGltcG9ydCBtYXRoCitpbXBvcnQgcGlja2xlCitpbXBvcnQgc3RydWN0CiB0cnk6CiAgICAgaW1wb3J0IGZjbnRsCiBleGNlcHQgSW1wb3J0RXJyb3I6CiAgICAgZmNudGwgPSBGYWxzZQogCi1kZWYgdHJ5X2FkZHJlc3MoaG9zdCwgcG9ydD0wLCBmYW1pbHk9c29ja2V0LkFGX0lORVQpOgotICAgICIiIlRyeSB0byBiaW5kIGEgc29ja2V0IG9uIHRoZSBnaXZlbiBob3N0OnBvcnQgYW5kIHJldHVybiBUcnVlCi0gICAgaWYgdGhhdCBoYXMgYmVlbiBwb3NzaWJsZS4iIiIKLSAgICB0cnk6Ci0gICAgICAgIHNvY2sgPSBzb2NrZXQuc29ja2V0KGZhbWlseSwgc29ja2V0LlNPQ0tfU1RSRUFNKQotICAgICAgICBzb2NrLmJpbmQoKGhvc3QsIHBvcnQpKQotICAgIGV4Y2VwdCAoc29ja2V0LmVycm9yLCBzb2NrZXQuZ2FpZXJyb3IpOgotICAgICAgICByZXR1cm4gRmFsc2UKLSAgICBlbHNlOgotICAgICAgICBzb2NrLmNsb3NlKCkKLSAgICAgICAgcmV0dXJuIFRydWUKLQotZGVmIGxpbnV4X3ZlcnNpb24oKToKLSAgICB0cnk6Ci0gICAgICAgICMgcGxhdGZvcm0ucmVsZWFzZSgpIGlzIHNvbWV0aGluZyBsaWtlICcyLjYuMzMuNy1kZXNrdG9wLTJtbmInCi0gICAgICAgIHZlcnNpb25fc3RyaW5nID0gcGxhdGZvcm0ucmVsZWFzZSgpLnNwbGl0KCctJylbMF0KLSAgICAgICAgcmV0dXJuIHR1cGxlKG1hcChpbnQsIHZlcnNpb25fc3RyaW5nLnNwbGl0KCcuJykpKQotICAgIGV4Y2VwdCBWYWx1ZUVycm9yOgotICAgICAgICByZXR1cm4gMCwgMCwgMAotCiBIT1NUID0gc3VwcG9ydC5IT1NUCi1NU0cgPSAnTWljaGFlbCBHaWxmaXggd2FzIGhlcmVcdTEyMzRcclxuJy5lbmNvZGUoJ3V0ZjgnKSAjIyB0ZXN0IHVuaWNvZGUgc3RyaW5nIGFuZCBjYXJyaWFnZSByZXR1cm4KLVNVUFBPUlRTX0lQVjYgPSBzb2NrZXQuaGFzX2lwdjYgYW5kIHRyeV9hZGRyZXNzKCc6OjEnLCBmYW1pbHk9c29ja2V0LkFGX0lORVQ2KQorTVNHID0gJ01pY2hhZWwgR2lsZml4IHdhcyBoZXJlXHUxMjM0XHJcbicuZW5jb2RlKCd1dGYtOCcpICMjIHRlc3QgdW5pY29kZSBzdHJpbmcgYW5kIGNhcnJpYWdlIHJldHVybgogCiB0cnk6CiAgICAgaW1wb3J0IF90aHJlYWQgYXMgdGhyZWFkCkBAIC01NCw2ICszNywzMyBAQAogICAgIHRocmVhZCA9IE5vbmUKICAgICB0aHJlYWRpbmcgPSBOb25lCiAKK2RlZiBfaGF2ZV9zb2NrZXRfY2FuKCk6CisgICAgIiIiQ2hlY2sgd2hldGhlciBDQU4gc29ja2V0cyBhcmUgc3VwcG9ydGVkIG9uIHRoaXMgaG9zdC4iIiIKKyAgICB0cnk6CisgICAgICAgIHMgPSBzb2NrZXQuc29ja2V0KHNvY2tldC5QRl9DQU4sIHNvY2tldC5TT0NLX1JBVywgc29ja2V0LkNBTl9SQVcpCisgICAgZXhjZXB0IChBdHRyaWJ1dGVFcnJvciwgc29ja2V0LmVycm9yLCBPU0Vycm9yKToKKyAgICAgICAgcmV0dXJuIEZhbHNlCisgICAgZWxzZToKKyAgICAgICAgcy5jbG9zZSgpCisgICAgcmV0dXJuIFRydWUKKworZGVmIF9oYXZlX3NvY2tldF9yZHMoKToKKyAgICAiIiJDaGVjayB3aGV0aGVyIFJEUyBzb2NrZXRzIGFyZSBzdXBwb3J0ZWQgb24gdGhpcyBob3N0LiIiIgorICAgIHRyeToKKyAgICAgICAgcyA9IHNvY2tldC5zb2NrZXQoc29ja2V0LlBGX1JEUywgc29ja2V0LlNPQ0tfU0VRUEFDS0VULCAwKQorICAgIGV4Y2VwdCAoQXR0cmlidXRlRXJyb3IsIE9TRXJyb3IpOgorICAgICAgICByZXR1cm4gRmFsc2UKKyAgICBlbHNlOgorICAgICAgICBzLmNsb3NlKCkKKyAgICByZXR1cm4gVHJ1ZQorCitIQVZFX1NPQ0tFVF9DQU4gPSBfaGF2ZV9zb2NrZXRfY2FuKCkKKworSEFWRV9TT0NLRVRfUkRTID0gX2hhdmVfc29ja2V0X3JkcygpCisKKyMgU2l6ZSBpbiBieXRlcyBvZiB0aGUgaW50IHR5cGUKK1NJWkVPRl9JTlQgPSBhcnJheS5hcnJheSgiaSIpLml0ZW1zaXplCisKIGNsYXNzIFNvY2tldFRDUFRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogCiAgICAgZGVmIHNldFVwKHNlbGYpOgpAQCAtNzUsNiArODUsNjMgQEAKICAgICAgICAgc2VsZi5zZXJ2LmNsb3NlKCkKICAgICAgICAgc2VsZi5zZXJ2ID0gTm9uZQogCitjbGFzcyBUaHJlYWRTYWZlQ2xlYW51cFRlc3RDYXNlKHVuaXR0ZXN0LlRlc3RDYXNlKToKKyAgICAiIiJTdWJjbGFzcyBvZiB1bml0dGVzdC5UZXN0Q2FzZSB3aXRoIHRocmVhZC1zYWZlIGNsZWFudXAgbWV0aG9kcy4KKworICAgIFRoaXMgc3ViY2xhc3MgcHJvdGVjdHMgdGhlIGFkZENsZWFudXAoKSBhbmQgZG9DbGVhbnVwcygpIG1ldGhvZHMKKyAgICB3aXRoIGEgcmVjdXJzaXZlIGxvY2suCisgICAgIiIiCisKKyAgICBpZiB0aHJlYWRpbmc6CisgICAgICAgIGRlZiBfX2luaXRfXyhzZWxmLCAqYXJncywgKiprd2FyZ3MpOgorICAgICAgICAgICAgc3VwZXIoKS5fX2luaXRfXygqYXJncywgKiprd2FyZ3MpCisgICAgICAgICAgICBzZWxmLl9jbGVhbnVwX2xvY2sgPSB0aHJlYWRpbmcuUkxvY2soKQorCisgICAgICAgIGRlZiBhZGRDbGVhbnVwKHNlbGYsICphcmdzLCAqKmt3YXJncyk6CisgICAgICAgICAgICB3aXRoIHNlbGYuX2NsZWFudXBfbG9jazoKKyAgICAgICAgICAgICAgICByZXR1cm4gc3VwZXIoKS5hZGRDbGVhbnVwKCphcmdzLCAqKmt3YXJncykKKworICAgICAgICBkZWYgZG9DbGVhbnVwcyhzZWxmLCAqYXJncywgKiprd2FyZ3MpOgorICAgICAgICAgICAgd2l0aCBzZWxmLl9jbGVhbnVwX2xvY2s6CisgICAgICAgICAgICAgICAgcmV0dXJuIHN1cGVyKCkuZG9DbGVhbnVwcygqYXJncywgKiprd2FyZ3MpCisKK2NsYXNzIFNvY2tldENBTlRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgorCisgICAgIiIiVG8gYmUgYWJsZSB0byBydW4gdGhpcyB0ZXN0LCBhIGB2Y2FuMGAgQ0FOIGludGVyZmFjZSBjYW4gYmUgY3JlYXRlZCB3aXRoCisgICAgdGhlIGZvbGxvd2luZyBjb21tYW5kczoKKyAgICAjIG1vZHByb2JlIHZjYW4KKyAgICAjIGlwIGxpbmsgYWRkIGRldiB2Y2FuMCB0eXBlIHZjYW4KKyAgICAjIGlmY29uZmlnIHZjYW4wIHVwCisgICAgIiIiCisgICAgaW50ZXJmYWNlID0gJ3ZjYW4wJworICAgIGJ1ZnNpemUgPSAxMjgKKworICAgIGRlZiBzZXRVcChzZWxmKToKKyAgICAgICAgc2VsZi5zID0gc29ja2V0LnNvY2tldChzb2NrZXQuUEZfQ0FOLCBzb2NrZXQuU09DS19SQVcsIHNvY2tldC5DQU5fUkFXKQorICAgICAgICBzZWxmLmFkZENsZWFudXAoc2VsZi5zLmNsb3NlKQorICAgICAgICB0cnk6CisgICAgICAgICAgICBzZWxmLnMuYmluZCgoc2VsZi5pbnRlcmZhY2UsKSkKKyAgICAgICAgZXhjZXB0IHNvY2tldC5lcnJvcjoKKyAgICAgICAgICAgIHNlbGYuc2tpcFRlc3QoJ25ldHdvcmsgaW50ZXJmYWNlIGAlc2AgZG9lcyBub3QgZXhpc3QnICUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuaW50ZXJmYWNlKQorCisKK2NsYXNzIFNvY2tldFJEU1Rlc3QodW5pdHRlc3QuVGVzdENhc2UpOgorCisgICAgIiIiVG8gYmUgYWJsZSB0byBydW4gdGhpcyB0ZXN0LCB0aGUgYHJkc2Aga2VybmVsIG1vZHVsZSBtdXN0IGJlIGxvYWRlZDoKKyAgICAjIG1vZHByb2JlIHJkcworICAgICIiIgorICAgIGJ1ZnNpemUgPSA4MTkyCisKKyAgICBkZWYgc2V0VXAoc2VsZik6CisgICAgICAgIHNlbGYuc2VydiA9IHNvY2tldC5zb2NrZXQoc29ja2V0LlBGX1JEUywgc29ja2V0LlNPQ0tfU0VRUEFDS0VULCAwKQorICAgICAgICBzZWxmLmFkZENsZWFudXAoc2VsZi5zZXJ2LmNsb3NlKQorICAgICAgICB0cnk6CisgICAgICAgICAgICBzZWxmLnBvcnQgPSBzdXBwb3J0LmJpbmRfcG9ydChzZWxmLnNlcnYpCisgICAgICAgIGV4Y2VwdCBPU0Vycm9yOgorICAgICAgICAgICAgc2VsZi5za2lwVGVzdCgndW5hYmxlIHRvIGJpbmQgUkRTIHNvY2tldCcpCisKKwogY2xhc3MgVGhyZWFkYWJsZVRlc3Q6CiAgICAgIiIiVGhyZWFkYWJsZSBUZXN0IGNsYXNzCiAKQEAgLTEzMiw2ICsxOTksNyBAQAogICAgICAgICBzZWxmLmNsaWVudF9yZWFkeSA9IHRocmVhZGluZy5FdmVudCgpCiAgICAgICAgIHNlbGYuZG9uZSA9IHRocmVhZGluZy5FdmVudCgpCiAgICAgICAgIHNlbGYucXVldWUgPSBxdWV1ZS5RdWV1ZSgxKQorICAgICAgICBzZWxmLnNlcnZlcl9jcmFzaGVkID0gRmFsc2UKIAogICAgICAgICAjIERvIHNvbWUgbXVuZ2luZyB0byBzdGFydCB0aGUgY2xpZW50IHRlc3QuCiAgICAgICAgIG1ldGhvZG5hbWUgPSBzZWxmLmlkKCkKQEAgLTE0MSw4ICsyMDksMTIgQEAKICAgICAgICAgc2VsZi5jbGllbnRfdGhyZWFkID0gdGhyZWFkLnN0YXJ0X25ld190aHJlYWQoCiAgICAgICAgICAgICBzZWxmLmNsaWVudFJ1biwgKHRlc3RfbWV0aG9kLCkpCiAKLSAgICAgICAgc2VsZi5fX3NldFVwKCkKLSAgICAgICAgaWYgbm90IHNlbGYuc2VydmVyX3JlYWR5LmlzX3NldCgpOgorICAgICAgICB0cnk6CisgICAgICAgICAgICBzZWxmLl9fc2V0VXAoKQorICAgICAgICBleGNlcHQ6CisgICAgICAgICAgICBzZWxmLnNlcnZlcl9jcmFzaGVkID0gVHJ1ZQorICAgICAgICAgICAgcmFpc2UKKyAgICAgICAgZmluYWxseToKICAgICAgICAgICAgIHNlbGYuc2VydmVyX3JlYWR5LnNldCgpCiAgICAgICAgIHNlbGYuY2xpZW50X3JlYWR5LndhaXQoKQogCkBAIC0xNTgsMTAgKzIzMCwxNiBAQAogICAgICAgICBzZWxmLnNlcnZlcl9yZWFkeS53YWl0KCkKICAgICAgICAgc2VsZi5jbGllbnRTZXRVcCgpCiAgICAgICAgIHNlbGYuY2xpZW50X3JlYWR5LnNldCgpCisgICAgICAgIGlmIHNlbGYuc2VydmVyX2NyYXNoZWQ6CisgICAgICAgICAgICBzZWxmLmNsaWVudFRlYXJEb3duKCkKKyAgICAgICAgICAgIHJldHVybgogICAgICAgICBpZiBub3QgaGFzYXR0cih0ZXN0X2Z1bmMsICdfX2NhbGxfXycpOgogICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCJ0ZXN0X2Z1bmMgbXVzdCBiZSBhIGNhbGxhYmxlIGZ1bmN0aW9uIikKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgdGVzdF9mdW5jKCkKKyAgICAgICAgZXhjZXB0IHVuaXR0ZXN0Ll9FeHBlY3RlZEZhaWx1cmU6CisgICAgICAgICAgICAjIFdlIGRlbGliZXJhdGVseSBpZ25vcmUgZXhwZWN0ZWQgZmFpbHVyZXMKKyAgICAgICAgICAgIHBhc3MKICAgICAgICAgZXhjZXB0IEJhc2VFeGNlcHRpb24gYXMgZToKICAgICAgICAgICAgIHNlbGYucXVldWUucHV0KGUpCiAgICAgICAgIGZpbmFsbHk6CkBAIC0yMDIsNiArMjgwLDQ4IEBACiAgICAgICAgIHNlbGYuY2xpID0gTm9uZQogICAgICAgICBUaHJlYWRhYmxlVGVzdC5jbGllbnRUZWFyRG93bihzZWxmKQogCitjbGFzcyBUaHJlYWRlZENBTlNvY2tldFRlc3QoU29ja2V0Q0FOVGVzdCwgVGhyZWFkYWJsZVRlc3QpOgorCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIG1ldGhvZE5hbWU9J3J1blRlc3QnKToKKyAgICAgICAgU29ja2V0Q0FOVGVzdC5fX2luaXRfXyhzZWxmLCBtZXRob2ROYW1lPW1ldGhvZE5hbWUpCisgICAgICAgIFRocmVhZGFibGVUZXN0Ll9faW5pdF9fKHNlbGYpCisKKyAgICBkZWYgY2xpZW50U2V0VXAoc2VsZik6CisgICAgICAgIHNlbGYuY2xpID0gc29ja2V0LnNvY2tldChzb2NrZXQuUEZfQ0FOLCBzb2NrZXQuU09DS19SQVcsIHNvY2tldC5DQU5fUkFXKQorICAgICAgICB0cnk6CisgICAgICAgICAgICBzZWxmLmNsaS5iaW5kKChzZWxmLmludGVyZmFjZSwpKQorICAgICAgICBleGNlcHQgc29ja2V0LmVycm9yOgorICAgICAgICAgICAgIyBza2lwVGVzdCBzaG91bGQgbm90IGJlIGNhbGxlZCBoZXJlLCBhbmQgd2lsbCBiZSBjYWxsZWQgaW4gdGhlCisgICAgICAgICAgICAjIHNlcnZlciBpbnN0ZWFkCisgICAgICAgICAgICBwYXNzCisKKyAgICBkZWYgY2xpZW50VGVhckRvd24oc2VsZik6CisgICAgICAgIHNlbGYuY2xpLmNsb3NlKCkKKyAgICAgICAgc2VsZi5jbGkgPSBOb25lCisgICAgICAgIFRocmVhZGFibGVUZXN0LmNsaWVudFRlYXJEb3duKHNlbGYpCisKK2NsYXNzIFRocmVhZGVkUkRTU29ja2V0VGVzdChTb2NrZXRSRFNUZXN0LCBUaHJlYWRhYmxlVGVzdCk6CisKKyAgICBkZWYgX19pbml0X18oc2VsZiwgbWV0aG9kTmFtZT0ncnVuVGVzdCcpOgorICAgICAgICBTb2NrZXRSRFNUZXN0Ll9faW5pdF9fKHNlbGYsIG1ldGhvZE5hbWU9bWV0aG9kTmFtZSkKKyAgICAgICAgVGhyZWFkYWJsZVRlc3QuX19pbml0X18oc2VsZikKKworICAgIGRlZiBjbGllbnRTZXRVcChzZWxmKToKKyAgICAgICAgc2VsZi5jbGkgPSBzb2NrZXQuc29ja2V0KHNvY2tldC5QRl9SRFMsIHNvY2tldC5TT0NLX1NFUVBBQ0tFVCwgMCkKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgIyBSRFMgc29ja2V0cyBtdXN0IGJlIGJvdW5kIGV4cGxpY2l0bHkgdG8gc2VuZCBvciByZWNlaXZlIGRhdGEKKyAgICAgICAgICAgIHNlbGYuY2xpLmJpbmQoKEhPU1QsIDApKQorICAgICAgICAgICAgc2VsZi5jbGlfYWRkciA9IHNlbGYuY2xpLmdldHNvY2tuYW1lKCkKKyAgICAgICAgZXhjZXB0IE9TRXJyb3I6CisgICAgICAgICAgICAjIHNraXBUZXN0IHNob3VsZCBub3QgYmUgY2FsbGVkIGhlcmUsIGFuZCB3aWxsIGJlIGNhbGxlZCBpbiB0aGUKKyAgICAgICAgICAgICMgc2VydmVyIGluc3RlYWQKKyAgICAgICAgICAgIHBhc3MKKworICAgIGRlZiBjbGllbnRUZWFyRG93bihzZWxmKToKKyAgICAgICAgc2VsZi5jbGkuY2xvc2UoKQorICAgICAgICBzZWxmLmNsaSA9IE5vbmUKKyAgICAgICAgVGhyZWFkYWJsZVRlc3QuY2xpZW50VGVhckRvd24oc2VsZikKKwogY2xhc3MgU29ja2V0Q29ubmVjdGVkVGVzdChUaHJlYWRlZFRDUFNvY2tldFRlc3QpOgogICAgICIiIlNvY2tldCB0ZXN0cyBmb3IgY2xpZW50LXNlcnZlciBjb25uZWN0aW9uLgogCkBAIC0yNTcsNiArMzc3LDI0MyBAQAogICAgICAgICBUaHJlYWRhYmxlVGVzdC5jbGllbnRUZWFyRG93bihzZWxmKQogCiAKKyMgVGhlIGZvbGxvd2luZyBjbGFzc2VzIGFyZSB1c2VkIGJ5IHRoZSBzZW5kbXNnKCkvcmVjdm1zZygpIHRlc3RzLgorIyBDb21iaW5pbmcsIGZvciBpbnN0YW5jZSwgQ29ubmVjdGVkU3RyZWFtVGVzdE1peGluIGFuZCBUQ1BUZXN0QmFzZQorIyBnaXZlcyBhIGRyb3AtaW4gcmVwbGFjZW1lbnQgZm9yIFNvY2tldENvbm5lY3RlZFRlc3QsIGJ1dCBkaWZmZXJlbnQKKyMgYWRkcmVzcyBmYW1pbGllcyBjYW4gYmUgdXNlZCwgYW5kIHRoZSBhdHRyaWJ1dGVzIHNlcnZfYWRkciBhbmQKKyMgY2xpX2FkZHIgd2lsbCBiZSBzZXQgdG8gdGhlIGFkZHJlc3NlcyBvZiB0aGUgZW5kcG9pbnRzLgorCitjbGFzcyBTb2NrZXRUZXN0QmFzZSh1bml0dGVzdC5UZXN0Q2FzZSk6CisgICAgIiIiQSBiYXNlIGNsYXNzIGZvciBzb2NrZXQgdGVzdHMuCisKKyAgICBTdWJjbGFzc2VzIG11c3QgcHJvdmlkZSBtZXRob2RzIG5ld1NvY2tldCgpIHRvIHJldHVybiBhIG5ldyBzb2NrZXQKKyAgICBhbmQgYmluZFNvY2soc29jaykgdG8gYmluZCBpdCB0byBhbiB1bnVzZWQgYWRkcmVzcy4KKworICAgIENyZWF0ZXMgYSBzb2NrZXQgc2VsZi5zZXJ2IGFuZCBzZXRzIHNlbGYuc2Vydl9hZGRyIHRvIGl0cyBhZGRyZXNzLgorICAgICIiIgorCisgICAgZGVmIHNldFVwKHNlbGYpOgorICAgICAgICBzZWxmLnNlcnYgPSBzZWxmLm5ld1NvY2tldCgpCisgICAgICAgIHNlbGYuYmluZFNlcnZlcigpCisKKyAgICBkZWYgYmluZFNlcnZlcihzZWxmKToKKyAgICAgICAgIiIiQmluZCBzZXJ2ZXIgc29ja2V0IGFuZCBzZXQgc2VsZi5zZXJ2X2FkZHIgdG8gaXRzIGFkZHJlc3MuIiIiCisgICAgICAgIHNlbGYuYmluZFNvY2soc2VsZi5zZXJ2KQorICAgICAgICBzZWxmLnNlcnZfYWRkciA9IHNlbGYuc2Vydi5nZXRzb2NrbmFtZSgpCisKKyAgICBkZWYgdGVhckRvd24oc2VsZik6CisgICAgICAgIHNlbGYuc2Vydi5jbG9zZSgpCisgICAgICAgIHNlbGYuc2VydiA9IE5vbmUKKworCitjbGFzcyBTb2NrZXRMaXN0ZW5pbmdUZXN0TWl4aW4oU29ja2V0VGVzdEJhc2UpOgorICAgICIiIk1peGluIHRvIGxpc3RlbiBvbiB0aGUgc2VydmVyIHNvY2tldC4iIiIKKworICAgIGRlZiBzZXRVcChzZWxmKToKKyAgICAgICAgc3VwZXIoKS5zZXRVcCgpCisgICAgICAgIHNlbGYuc2Vydi5saXN0ZW4oMSkKKworCitjbGFzcyBUaHJlYWRlZFNvY2tldFRlc3RNaXhpbihUaHJlYWRTYWZlQ2xlYW51cFRlc3RDYXNlLCBTb2NrZXRUZXN0QmFzZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRocmVhZGFibGVUZXN0KToKKyAgICAiIiJNaXhpbiB0byBhZGQgY2xpZW50IHNvY2tldCBhbmQgYWxsb3cgY2xpZW50L3NlcnZlciB0ZXN0cy4KKworICAgIENsaWVudCBzb2NrZXQgaXMgc2VsZi5jbGkgYW5kIGl0cyBhZGRyZXNzIGlzIHNlbGYuY2xpX2FkZHIuICBTZWUKKyAgICBUaHJlYWRhYmxlVGVzdCBmb3IgdXNhZ2UgaW5mb3JtYXRpb24uCisgICAgIiIiCisKKyAgICBkZWYgX19pbml0X18oc2VsZiwgKmFyZ3MsICoqa3dhcmdzKToKKyAgICAgICAgc3VwZXIoKS5fX2luaXRfXygqYXJncywgKiprd2FyZ3MpCisgICAgICAgIFRocmVhZGFibGVUZXN0Ll9faW5pdF9fKHNlbGYpCisKKyAgICBkZWYgY2xpZW50U2V0VXAoc2VsZik6CisgICAgICAgIHNlbGYuY2xpID0gc2VsZi5uZXdDbGllbnRTb2NrZXQoKQorICAgICAgICBzZWxmLmJpbmRDbGllbnQoKQorCisgICAgZGVmIG5ld0NsaWVudFNvY2tldChzZWxmKToKKyAgICAgICAgIiIiUmV0dXJuIGEgbmV3IHNvY2tldCBmb3IgdXNlIGFzIGNsaWVudC4iIiIKKyAgICAgICAgcmV0dXJuIHNlbGYubmV3U29ja2V0KCkKKworICAgIGRlZiBiaW5kQ2xpZW50KHNlbGYpOgorICAgICAgICAiIiJCaW5kIGNsaWVudCBzb2NrZXQgYW5kIHNldCBzZWxmLmNsaV9hZGRyIHRvIGl0cyBhZGRyZXNzLiIiIgorICAgICAgICBzZWxmLmJpbmRTb2NrKHNlbGYuY2xpKQorICAgICAgICBzZWxmLmNsaV9hZGRyID0gc2VsZi5jbGkuZ2V0c29ja25hbWUoKQorCisgICAgZGVmIGNsaWVudFRlYXJEb3duKHNlbGYpOgorICAgICAgICBzZWxmLmNsaS5jbG9zZSgpCisgICAgICAgIHNlbGYuY2xpID0gTm9uZQorICAgICAgICBUaHJlYWRhYmxlVGVzdC5jbGllbnRUZWFyRG93bihzZWxmKQorCisKK2NsYXNzIENvbm5lY3RlZFN0cmVhbVRlc3RNaXhpbihTb2NrZXRMaXN0ZW5pbmdUZXN0TWl4aW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhyZWFkZWRTb2NrZXRUZXN0TWl4aW4pOgorICAgICIiIk1peGluIHRvIGFsbG93IGNsaWVudC9zZXJ2ZXIgc3RyZWFtIHRlc3RzIHdpdGggY29ubmVjdGVkIGNsaWVudC4KKworICAgIFNlcnZlcidzIHNvY2tldCByZXByZXNlbnRpbmcgY29ubmVjdGlvbiB0byBjbGllbnQgaXMgc2VsZi5jbGlfY29ubgorICAgIGFuZCBjbGllbnQncyBjb25uZWN0aW9uIHRvIHNlcnZlciBpcyBzZWxmLnNlcnZfY29ubi4gIChCYXNlZCBvbgorICAgIFNvY2tldENvbm5lY3RlZFRlc3QuKQorICAgICIiIgorCisgICAgZGVmIHNldFVwKHNlbGYpOgorICAgICAgICBzdXBlcigpLnNldFVwKCkKKyAgICAgICAgIyBJbmRpY2F0ZSBleHBsaWNpdGx5IHdlJ3JlIHJlYWR5IGZvciB0aGUgY2xpZW50IHRocmVhZCB0bworICAgICAgICAjIHByb2NlZWQgYW5kIHRoZW4gcGVyZm9ybSB0aGUgYmxvY2tpbmcgY2FsbCB0byBhY2NlcHQKKyAgICAgICAgc2VsZi5zZXJ2ZXJFeHBsaWNpdFJlYWR5KCkKKyAgICAgICAgY29ubiwgYWRkciA9IHNlbGYuc2Vydi5hY2NlcHQoKQorICAgICAgICBzZWxmLmNsaV9jb25uID0gY29ubgorCisgICAgZGVmIHRlYXJEb3duKHNlbGYpOgorICAgICAgICBzZWxmLmNsaV9jb25uLmNsb3NlKCkKKyAgICAgICAgc2VsZi5jbGlfY29ubiA9IE5vbmUKKyAgICAgICAgc3VwZXIoKS50ZWFyRG93bigpCisKKyAgICBkZWYgY2xpZW50U2V0VXAoc2VsZik6CisgICAgICAgIHN1cGVyKCkuY2xpZW50U2V0VXAoKQorICAgICAgICBzZWxmLmNsaS5jb25uZWN0KHNlbGYuc2Vydl9hZGRyKQorICAgICAgICBzZWxmLnNlcnZfY29ubiA9IHNlbGYuY2xpCisKKyAgICBkZWYgY2xpZW50VGVhckRvd24oc2VsZik6CisgICAgICAgIHNlbGYuc2Vydl9jb25uLmNsb3NlKCkKKyAgICAgICAgc2VsZi5zZXJ2X2Nvbm4gPSBOb25lCisgICAgICAgIHN1cGVyKCkuY2xpZW50VGVhckRvd24oKQorCisKK2NsYXNzIFVuaXhTb2NrZXRUZXN0QmFzZShTb2NrZXRUZXN0QmFzZSk6CisgICAgIiIiQmFzZSBjbGFzcyBmb3IgVW5peC1kb21haW4gc29ja2V0IHRlc3RzLiIiIgorCisgICAgIyBUaGlzIGNsYXNzIGlzIHVzZWQgZm9yIGZpbGUgZGVzY3JpcHRvciBwYXNzaW5nIHRlc3RzLCBzbyB3ZQorICAgICMgY3JlYXRlIHRoZSBzb2NrZXRzIGluIGEgcHJpdmF0ZSBkaXJlY3Rvcnkgc28gdGhhdCBvdGhlciB1c2VycworICAgICMgY2FuJ3Qgc2VuZCBhbnl0aGluZyB0aGF0IG1pZ2h0IGJlIHByb2JsZW1hdGljIGZvciBhIHByaXZpbGVnZWQKKyAgICAjIHVzZXIgcnVubmluZyB0aGUgdGVzdHMuCisKKyAgICBkZWYgc2V0VXAoc2VsZik6CisgICAgICAgIHNlbGYuZGlyX3BhdGggPSB0ZW1wZmlsZS5ta2R0ZW1wKCkKKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKG9zLnJtZGlyLCBzZWxmLmRpcl9wYXRoKQorICAgICAgICBzdXBlcigpLnNldFVwKCkKKworICAgIGRlZiBiaW5kU29jayhzZWxmLCBzb2NrKToKKyAgICAgICAgcGF0aCA9IHRlbXBmaWxlLm1rdGVtcChkaXI9c2VsZi5kaXJfcGF0aCkKKyAgICAgICAgc29jay5iaW5kKHBhdGgpCisgICAgICAgIHNlbGYuYWRkQ2xlYW51cChzdXBwb3J0LnVubGluaywgcGF0aCkKKworY2xhc3MgVW5peFN0cmVhbUJhc2UoVW5peFNvY2tldFRlc3RCYXNlKToKKyAgICAiIiJCYXNlIGNsYXNzIGZvciBVbml4LWRvbWFpbiBTT0NLX1NUUkVBTSB0ZXN0cy4iIiIKKworICAgIGRlZiBuZXdTb2NrZXQoc2VsZik6CisgICAgICAgIHJldHVybiBzb2NrZXQuc29ja2V0KHNvY2tldC5BRl9VTklYLCBzb2NrZXQuU09DS19TVFJFQU0pCisKKworY2xhc3MgSW5ldFRlc3RCYXNlKFNvY2tldFRlc3RCYXNlKToKKyAgICAiIiJCYXNlIGNsYXNzIGZvciBJUHY0IHNvY2tldCB0ZXN0cy4iIiIKKworICAgIGhvc3QgPSBIT1NUCisKKyAgICBkZWYgc2V0VXAoc2VsZik6CisgICAgICAgIHN1cGVyKCkuc2V0VXAoKQorICAgICAgICBzZWxmLnBvcnQgPSBzZWxmLnNlcnZfYWRkclsxXQorCisgICAgZGVmIGJpbmRTb2NrKHNlbGYsIHNvY2spOgorICAgICAgICBzdXBwb3J0LmJpbmRfcG9ydChzb2NrLCBob3N0PXNlbGYuaG9zdCkKKworY2xhc3MgVENQVGVzdEJhc2UoSW5ldFRlc3RCYXNlKToKKyAgICAiIiJCYXNlIGNsYXNzIGZvciBUQ1Atb3Zlci1JUHY0IHRlc3RzLiIiIgorCisgICAgZGVmIG5ld1NvY2tldChzZWxmKToKKyAgICAgICAgcmV0dXJuIHNvY2tldC5zb2NrZXQoc29ja2V0LkFGX0lORVQsIHNvY2tldC5TT0NLX1NUUkVBTSkKKworY2xhc3MgVURQVGVzdEJhc2UoSW5ldFRlc3RCYXNlKToKKyAgICAiIiJCYXNlIGNsYXNzIGZvciBVRFAtb3Zlci1JUHY0IHRlc3RzLiIiIgorCisgICAgZGVmIG5ld1NvY2tldChzZWxmKToKKyAgICAgICAgcmV0dXJuIHNvY2tldC5zb2NrZXQoc29ja2V0LkFGX0lORVQsIHNvY2tldC5TT0NLX0RHUkFNKQorCitjbGFzcyBTQ1RQU3RyZWFtQmFzZShJbmV0VGVzdEJhc2UpOgorICAgICIiIkJhc2UgY2xhc3MgZm9yIFNDVFAgdGVzdHMgaW4gb25lLXRvLW9uZSAoU09DS19TVFJFQU0pIG1vZGUuIiIiCisKKyAgICBkZWYgbmV3U29ja2V0KHNlbGYpOgorICAgICAgICByZXR1cm4gc29ja2V0LnNvY2tldChzb2NrZXQuQUZfSU5FVCwgc29ja2V0LlNPQ0tfU1RSRUFNLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb2NrZXQuSVBQUk9UT19TQ1RQKQorCisKK2NsYXNzIEluZXQ2VGVzdEJhc2UoSW5ldFRlc3RCYXNlKToKKyAgICAiIiJCYXNlIGNsYXNzIGZvciBJUHY2IHNvY2tldCB0ZXN0cy4iIiIKKworICAgICMgRG9uJ3QgdXNlICJsb2NhbGhvc3QiIGhlcmUgLSBpdCBtYXkgbm90IGhhdmUgYW4gSVB2NiBhZGRyZXNzCisgICAgIyBhc3NpZ25lZCB0byBpdCBieSBkZWZhdWx0IChlLmcuIGluIC9ldGMvaG9zdHMpLCBhbmQgaWYgc29tZW9uZQorICAgICMgaGFzIGFzc2lnbmVkIGl0IGFuIElQdjQtbWFwcGVkIGFkZHJlc3MsIHRoZW4gaXQncyB1bmxpa2VseSB0bworICAgICMgd29yayB3aXRoIHRoZSBmdWxsIElQdjYgQVBJLgorICAgIGhvc3QgPSAiOjoxIgorCitjbGFzcyBVRFA2VGVzdEJhc2UoSW5ldDZUZXN0QmFzZSk6CisgICAgIiIiQmFzZSBjbGFzcyBmb3IgVURQLW92ZXItSVB2NiB0ZXN0cy4iIiIKKworICAgIGRlZiBuZXdTb2NrZXQoc2VsZik6CisgICAgICAgIHJldHVybiBzb2NrZXQuc29ja2V0KHNvY2tldC5BRl9JTkVUNiwgc29ja2V0LlNPQ0tfREdSQU0pCisKKworIyBUZXN0LXNraXBwaW5nIGRlY29yYXRvcnMgZm9yIHVzZSB3aXRoIFRocmVhZGFibGVUZXN0LgorCitkZWYgc2tpcFdpdGhDbGllbnRJZihjb25kaXRpb24sIHJlYXNvbik6CisgICAgIiIiU2tpcCBkZWNvcmF0ZWQgdGVzdCBpZiBjb25kaXRpb24gaXMgdHJ1ZSwgYWRkIGNsaWVudF9za2lwIGRlY29yYXRvci4KKworICAgIElmIHRoZSBkZWNvcmF0ZWQgb2JqZWN0IGlzIG5vdCBhIGNsYXNzLCBzZXRzIGl0cyBhdHRyaWJ1dGUKKyAgICAiY2xpZW50X3NraXAiIHRvIGEgZGVjb3JhdG9yIHdoaWNoIHdpbGwgcmV0dXJuIGFuIGVtcHR5IGZ1bmN0aW9uCisgICAgaWYgdGhlIHRlc3QgaXMgdG8gYmUgc2tpcHBlZCwgb3IgdGhlIG9yaWdpbmFsIGZ1bmN0aW9uIGlmIGl0IGlzCisgICAgbm90LiAgVGhpcyBjYW4gYmUgdXNlZCB0byBhdm9pZCBydW5uaW5nIHRoZSBjbGllbnQgcGFydCBvZiBhCisgICAgc2tpcHBlZCB0ZXN0IHdoZW4gdXNpbmcgVGhyZWFkYWJsZVRlc3QuCisgICAgIiIiCisgICAgZGVmIGNsaWVudF9wYXNzKCphcmdzLCAqKmt3YXJncyk6CisgICAgICAgIHBhc3MKKyAgICBkZWYgc2tpcGRlYyhvYmopOgorICAgICAgICByZXR2YWwgPSB1bml0dGVzdC5za2lwKHJlYXNvbikob2JqKQorICAgICAgICBpZiBub3QgaXNpbnN0YW5jZShvYmosIHR5cGUpOgorICAgICAgICAgICAgcmV0dmFsLmNsaWVudF9za2lwID0gbGFtYmRhIGY6IGNsaWVudF9wYXNzCisgICAgICAgIHJldHVybiByZXR2YWwKKyAgICBkZWYgbm9za2lwZGVjKG9iaik6CisgICAgICAgIGlmIG5vdCAoaXNpbnN0YW5jZShvYmosIHR5cGUpIG9yIGhhc2F0dHIob2JqLCAiY2xpZW50X3NraXAiKSk6CisgICAgICAgICAgICBvYmouY2xpZW50X3NraXAgPSBsYW1iZGEgZjogZgorICAgICAgICByZXR1cm4gb2JqCisgICAgcmV0dXJuIHNraXBkZWMgaWYgY29uZGl0aW9uIGVsc2Ugbm9za2lwZGVjCisKKworZGVmIHJlcXVpcmVBdHRycyhvYmosICphdHRyaWJ1dGVzKToKKyAgICAiIiJTa2lwIGRlY29yYXRlZCB0ZXN0IGlmIG9iaiBpcyBtaXNzaW5nIGFueSBvZiB0aGUgZ2l2ZW4gYXR0cmlidXRlcy4KKworICAgIFNldHMgY2xpZW50X3NraXAgYXR0cmlidXRlIGFzIHNraXBXaXRoQ2xpZW50SWYoKSBkb2VzLgorICAgICIiIgorICAgIG1pc3NpbmcgPSBbbmFtZSBmb3IgbmFtZSBpbiBhdHRyaWJ1dGVzIGlmIG5vdCBoYXNhdHRyKG9iaiwgbmFtZSldCisgICAgcmV0dXJuIHNraXBXaXRoQ2xpZW50SWYoCisgICAgICAgIG1pc3NpbmcsICJkb24ndCBoYXZlICIgKyAiLCAiLmpvaW4obmFtZSBmb3IgbmFtZSBpbiBtaXNzaW5nKSkKKworCitkZWYgcmVxdWlyZVNvY2tldCgqYXJncyk6CisgICAgIiIiU2tpcCBkZWNvcmF0ZWQgdGVzdCBpZiBhIHNvY2tldCBjYW5ub3QgYmUgY3JlYXRlZCB3aXRoIGdpdmVuIGFyZ3VtZW50cy4KKworICAgIFdoZW4gYW4gYXJndW1lbnQgaXMgZ2l2ZW4gYXMgYSBzdHJpbmcsIHdpbGwgdXNlIHRoZSB2YWx1ZSBvZiB0aGF0CisgICAgYXR0cmlidXRlIG9mIHRoZSBzb2NrZXQgbW9kdWxlLCBvciBza2lwIHRoZSB0ZXN0IGlmIGl0IGRvZXNuJ3QKKyAgICBleGlzdC4gIFNldHMgY2xpZW50X3NraXAgYXR0cmlidXRlIGFzIHNraXBXaXRoQ2xpZW50SWYoKSBkb2VzLgorICAgICIiIgorICAgIGVyciA9IE5vbmUKKyAgICBtaXNzaW5nID0gW29iaiBmb3Igb2JqIGluIGFyZ3MgaWYKKyAgICAgICAgICAgICAgIGlzaW5zdGFuY2Uob2JqLCBzdHIpIGFuZCBub3QgaGFzYXR0cihzb2NrZXQsIG9iaildCisgICAgaWYgbWlzc2luZzoKKyAgICAgICAgZXJyID0gImRvbid0IGhhdmUgIiArICIsICIuam9pbihuYW1lIGZvciBuYW1lIGluIG1pc3NpbmcpCisgICAgZWxzZToKKyAgICAgICAgY2FsbGFyZ3MgPSBbZ2V0YXR0cihzb2NrZXQsIG9iaikgaWYgaXNpbnN0YW5jZShvYmosIHN0cikgZWxzZSBvYmoKKyAgICAgICAgICAgICAgICAgICAgZm9yIG9iaiBpbiBhcmdzXQorICAgICAgICB0cnk6CisgICAgICAgICAgICBzID0gc29ja2V0LnNvY2tldCgqY2FsbGFyZ3MpCisgICAgICAgIGV4Y2VwdCBzb2NrZXQuZXJyb3IgYXMgZToKKyAgICAgICAgICAgICMgWFhYOiBjaGVjayBlcnJubz8KKyAgICAgICAgICAgIGVyciA9IHN0cihlKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcy5jbG9zZSgpCisgICAgcmV0dXJuIHNraXBXaXRoQ2xpZW50SWYoCisgICAgICAgIGVyciBpcyBub3QgTm9uZSwKKyAgICAgICAgImNhbid0IGNyZWF0ZSBzb2NrZXQoezB9KTogezF9Ii5mb3JtYXQoCisgICAgICAgICAgICAiLCAiLmpvaW4oc3RyKG8pIGZvciBvIGluIGFyZ3MpLCBlcnIpKQorCisKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAjIyBCZWdpbiBUZXN0cwogCkBAIC0yODIsMTggKzYzOSwxMyBAQAogCiAgICAgZGVmIHRlc3RTb2NrZXRFcnJvcihzZWxmKToKICAgICAgICAgIyBUZXN0aW5nIHNvY2tldCBtb2R1bGUgZXhjZXB0aW9ucwotICAgICAgICBkZWYgcmFpc2VfZXJyb3IoKmFyZ3MsICoqa3dhcmdzKToKKyAgICAgICAgbXNnID0gIkVycm9yIHJhaXNpbmcgc29ja2V0IGV4Y2VwdGlvbiAoJXMpLiIKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhzb2NrZXQuZXJyb3IsIG1zZz1tc2cgJSAnc29ja2V0LmVycm9yJyk6CiAgICAgICAgICAgICByYWlzZSBzb2NrZXQuZXJyb3IKLSAgICAgICAgZGVmIHJhaXNlX2hlcnJvcigqYXJncywgKiprd2FyZ3MpOgorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKHNvY2tldC5lcnJvciwgbXNnPW1zZyAlICdzb2NrZXQuaGVycm9yJyk6CiAgICAgICAgICAgICByYWlzZSBzb2NrZXQuaGVycm9yCi0gICAgICAgIGRlZiByYWlzZV9nYWllcnJvcigqYXJncywgKiprd2FyZ3MpOgorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKHNvY2tldC5lcnJvciwgbXNnPW1zZyAlICdzb2NrZXQuZ2FpZXJyb3InKToKICAgICAgICAgICAgIHJhaXNlIHNvY2tldC5nYWllcnJvcgotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhzb2NrZXQuZXJyb3IsIHJhaXNlX2Vycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkVycm9yIHJhaXNpbmcgc29ja2V0IGV4Y2VwdGlvbi4iKQotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhzb2NrZXQuZXJyb3IsIHJhaXNlX2hlcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJFcnJvciByYWlzaW5nIHNvY2tldCBleGNlcHRpb24uIikKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoc29ja2V0LmVycm9yLCByYWlzZV9nYWllcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJFcnJvciByYWlzaW5nIHNvY2tldCBleGNlcHRpb24uIikKIAogICAgIGRlZiB0ZXN0U2VuZHRvRXJyb3JzKHNlbGYpOgogICAgICAgICAjIFRlc3RpbmcgdGhhdCBzZW5kdG8gZG9lbnMndCBtYXNrcyBmYWlsdXJlcy4gU2VlICMxMDE2OS4KQEAgLTM2OSw2ICs3MjEsNTIgQEAKICAgICAgICAgaWYgbm90IGZxaG4gaW4gYWxsX2hvc3RfbmFtZXM6CiAgICAgICAgICAgICBzZWxmLmZhaWwoIkVycm9yIHRlc3RpbmcgaG9zdCByZXNvbHV0aW9uIG1lY2hhbmlzbXMuIChmcWRuOiAlcywgYWxsOiAlcykiICUgKGZxaG4sIHJlcHIoYWxsX2hvc3RfbmFtZXMpKSkKIAorICAgIEB1bml0dGVzdC5za2lwVW5sZXNzKGhhc2F0dHIoc29ja2V0LCAnc2V0aG9zdG5hbWUnKSwgInRlc3QgbmVlZHMgc29ja2V0LnNldGhvc3RuYW1lKCkiKQorICAgIEB1bml0dGVzdC5za2lwVW5sZXNzKGhhc2F0dHIoc29ja2V0LCAnZ2V0aG9zdG5hbWUnKSwgInRlc3QgbmVlZHMgc29ja2V0LmdldGhvc3RuYW1lKCkiKQorICAgIGRlZiB0ZXN0X3NldGhvc3RuYW1lKHNlbGYpOgorICAgICAgICBvbGRobiA9IHNvY2tldC5nZXRob3N0bmFtZSgpCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHNvY2tldC5zZXRob3N0bmFtZSgnbmV3JykKKyAgICAgICAgZXhjZXB0IHNvY2tldC5lcnJvciBhcyBlOgorICAgICAgICAgICAgaWYgZS5lcnJubyA9PSBlcnJuby5FUEVSTToKKyAgICAgICAgICAgICAgICBzZWxmLnNraXBUZXN0KCJ0ZXN0IHNob3VsZCBiZSBydW4gYXMgcm9vdCIpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHJhaXNlCisgICAgICAgIHRyeToKKyAgICAgICAgICAgICMgcnVubmluZyB0ZXN0IGFzIHJvb3QhCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNvY2tldC5nZXRob3N0bmFtZSgpLCAnbmV3JykKKyAgICAgICAgICAgICMgU2hvdWxkIHdvcmsgd2l0aCBieXRlcyBvYmplY3RzIHRvbworICAgICAgICAgICAgc29ja2V0LnNldGhvc3RuYW1lKGInYmFyJykKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc29ja2V0LmdldGhvc3RuYW1lKCksICdiYXInKQorICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgc29ja2V0LnNldGhvc3RuYW1lKG9sZGhuKQorCisgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3MoaGFzYXR0cihzb2NrZXQsICdpZl9uYW1laW5kZXgnKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAnc29ja2V0LmlmX25hbWVpbmRleCgpIG5vdCBhdmFpbGFibGUuJykKKyAgICBkZWYgdGVzdEludGVyZmFjZU5hbWVJbmRleChzZWxmKToKKyAgICAgICAgaW50ZXJmYWNlcyA9IHNvY2tldC5pZl9uYW1laW5kZXgoKQorICAgICAgICBmb3IgaW5kZXgsIG5hbWUgaW4gaW50ZXJmYWNlczoKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShpbmRleCwgaW50KQorICAgICAgICAgICAgc2VsZi5hc3NlcnRJc0luc3RhbmNlKG5hbWUsIHN0cikKKyAgICAgICAgICAgICMgaW50ZXJmYWNlIGluZGljZXMgYXJlIG5vbi16ZXJvIGludGVnZXJzCisgICAgICAgICAgICBzZWxmLmFzc2VydEdyZWF0ZXIoaW5kZXgsIDApCisgICAgICAgICAgICBfaW5kZXggPSBzb2NrZXQuaWZfbmFtZXRvaW5kZXgobmFtZSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShfaW5kZXgsIGludCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaW5kZXgsIF9pbmRleCkKKyAgICAgICAgICAgIF9uYW1lID0gc29ja2V0LmlmX2luZGV4dG9uYW1lKGluZGV4KQorICAgICAgICAgICAgc2VsZi5hc3NlcnRJc0luc3RhbmNlKF9uYW1lLCBzdHIpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG5hbWUsIF9uYW1lKQorCisgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3MoaGFzYXR0cihzb2NrZXQsICdpZl9uYW1laW5kZXgnKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAnc29ja2V0LmlmX25hbWVpbmRleCgpIG5vdCBhdmFpbGFibGUuJykKKyAgICBkZWYgdGVzdEludmFsaWRJbnRlcmZhY2VOYW1lSW5kZXgoc2VsZik6CisgICAgICAgICMgdGVzdCBub25leGlzdGVudCBpbnRlcmZhY2UgaW5kZXgvbmFtZQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhzb2NrZXQuZXJyb3IsIHNvY2tldC5pZl9pbmRleHRvbmFtZSwgMCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoc29ja2V0LmVycm9yLCBzb2NrZXQuaWZfbmFtZXRvaW5kZXgsICdfREVBREJFRUYnKQorICAgICAgICAjIHRlc3Qgd2l0aCBpbnZhbGlkIHZhbHVlcworICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIHNvY2tldC5pZl9uYW1ldG9pbmRleCwgMCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBzb2NrZXQuaWZfaW5kZXh0b25hbWUsICdfREVBREJFRUYnKQorCiAgICAgZGVmIHRlc3RSZWZDb3VudEdldE5hbWVJbmZvKHNlbGYpOgogICAgICAgICAjIFRlc3RpbmcgcmVmZXJlbmNlIGNvdW50IGZvciBnZXRuYW1laW5mbwogICAgICAgICBpZiBoYXNhdHRyKHN5cywgImdldHJlZmNvdW50Iik6CkBAIC00MjEsMTAgKzgxOSw4IEBACiAgICAgICAgICMgRmluZCBvbmUgc2VydmljZSB0aGF0IGV4aXN0cywgdGhlbiBjaGVjayBhbGwgdGhlIHJlbGF0ZWQgaW50ZXJmYWNlcy4KICAgICAgICAgIyBJJ3ZlIG9yZGVyZWQgdGhpcyBieSBwcm90b2NvbHMgdGhhdCBoYXZlIGJvdGggYSB0Y3AgYW5kIHVkcAogICAgICAgICAjIHByb3RvY29sLCBhdCBsZWFzdCBmb3IgbW9kZXJuIExpbnV4ZXMuCi0gICAgICAgIGlmIChzeXMucGxhdGZvcm0uc3RhcnRzd2l0aCgnbGludXgnKSBvcgotICAgICAgICAgICAgc3lzLnBsYXRmb3JtLnN0YXJ0c3dpdGgoJ2ZyZWVic2QnKSBvcgotICAgICAgICAgICAgc3lzLnBsYXRmb3JtLnN0YXJ0c3dpdGgoJ25ldGJzZCcpIG9yCi0gICAgICAgICAgICBzeXMucGxhdGZvcm0gPT0gJ2RhcndpbicpOgorICAgICAgICBpZiAoc3lzLnBsYXRmb3JtLnN0YXJ0c3dpdGgoKCdmcmVlYnNkJywgJ25ldGJzZCcpKQorICAgICAgICAgICAgb3Igc3lzLnBsYXRmb3JtIGluICgnbGludXgnLCAnZGFyd2luJykpOgogICAgICAgICAgICAgIyBhdm9pZCB0aGUgJ2VjaG8nIHNlcnZpY2Ugb24gdGhpcyBwbGF0Zm9ybSwgYXMgdGhlcmUgaXMgYW4KICAgICAgICAgICAgICMgYXNzdW1wdGlvbiBicmVha2luZyBub24tc3RhbmRhcmQgcG9ydC9wcm90b2NvbCBlbnRyeQogICAgICAgICAgICAgc2VydmljZXMgPSAoJ2RheXRpbWUnLCAncW90ZCcsICdkb21haW4nKQpAQCAtNzE5LDcgKzExMTUsNyBAQAogICAgICAgICBzb2NrZXQuZ2V0YWRkcmluZm8oJ2xvY2FsaG9zdCcsIDgwKQogICAgICAgICBzb2NrZXQuZ2V0YWRkcmluZm8oJzEyNy4wLjAuMScsIDgwKQogICAgICAgICBzb2NrZXQuZ2V0YWRkcmluZm8oTm9uZSwgODApCi0gICAgICAgIGlmIFNVUFBPUlRTX0lQVjY6CisgICAgICAgIGlmIHN1cHBvcnQuSVBWNl9FTkFCTEVEOgogICAgICAgICAgICAgc29ja2V0LmdldGFkZHJpbmZvKCc6OjEnLCA4MCkKICAgICAgICAgIyBwb3J0IGNhbiBiZSBhIHN0cmluZyBzZXJ2aWNlIG5hbWUgc3VjaCBhcyAiaHR0cCIsIGEgbnVtZXJpYwogICAgICAgICAjIHBvcnQgbnVtYmVyIG9yIE5vbmUKQEAgLTc3Miw3ICsxMTY4LDEyIEBACiAgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3Moc3VwcG9ydC5pc19yZXNvdXJjZV9lbmFibGVkKCduZXR3b3JrJyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ25ldHdvcmsgaXMgbm90IGVuYWJsZWQnKQogICAgIGRlZiB0ZXN0X2lkbmEoc2VsZik6Ci0gICAgICAgIHN1cHBvcnQucmVxdWlyZXMoJ25ldHdvcmsnKQorICAgICAgICAjIENoZWNrIGZvciBpbnRlcm5ldCBhY2Nlc3MgYmVmb3JlIHJ1bm5pbmcgdGVzdCAoaXNzdWUgIzEyODA0KS4KKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgc29ja2V0LmdldGhvc3RieW5hbWUoJ3B5dGhvbi5vcmcnKQorICAgICAgICBleGNlcHQgc29ja2V0LmdhaWVycm9yIGFzIGU6CisgICAgICAgICAgICBpZiBlLmVycm5vID09IHNvY2tldC5FQUlfTk9EQVRBOgorICAgICAgICAgICAgICAgIHNlbGYuc2tpcFRlc3QoJ2ludGVybmV0IGFjY2VzcyByZXF1aXJlZCBmb3IgdGhpcyB0ZXN0JykKICAgICAgICAgIyB0aGVzZSBzaG91bGQgYWxsIGJlIHN1Y2Nlc3NmdWwKICAgICAgICAgc29ja2V0LmdldGhvc3RieW5hbWUoJ9C40YHQv9GL0YLQsNC90LjQtS5weXRob24ub3JnJykKICAgICAgICAgc29ja2V0LmdldGhvc3RieW5hbWVfZXgoJ9C40YHQv9GL0YLQsNC90LjQtS5weXRob24ub3JnJykKQEAgLTgzOSwxNCArMTI0MCwyMCBAQAogICAgICAgICAgICAgZnAuY2xvc2UoKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXByKGZwKSwgIjxfaW8uQnVmZmVyZWRSZWFkZXIgbmFtZT0tMT4iKQogCi0gICAgZGVmIHRlc3RMaXN0ZW5CYWNrbG9nMChzZWxmKToKKyAgICBkZWYgdGVzdF9waWNrbGUoc2VsZik6CisgICAgICAgIHNvY2sgPSBzb2NrZXQuc29ja2V0KCkKKyAgICAgICAgd2l0aCBzb2NrOgorICAgICAgICAgICAgZm9yIHByb3RvY29sIGluIHJhbmdlKHBpY2tsZS5ISUdIRVNUX1BST1RPQ09MICsgMSk6CisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBwaWNrbGUuZHVtcHMsIHNvY2ssIHByb3RvY29sKQorCisgICAgZGVmIHRlc3RfbGlzdGVuX2JhY2tsb2cwKHNlbGYpOgogICAgICAgICBzcnYgPSBzb2NrZXQuc29ja2V0KHNvY2tldC5BRl9JTkVULCBzb2NrZXQuU09DS19TVFJFQU0pCiAgICAgICAgIHNydi5iaW5kKChIT1NULCAwKSkKICAgICAgICAgIyBiYWNrbG9nID0gMAogICAgICAgICBzcnYubGlzdGVuKDApCiAgICAgICAgIHNydi5jbG9zZSgpCiAKLSAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhTVVBQT1JUU19JUFY2LCAnSVB2NiByZXF1aXJlZCBmb3IgdGhpcyB0ZXN0LicpCisgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3Moc3VwcG9ydC5JUFY2X0VOQUJMRUQsICdJUHY2IHJlcXVpcmVkIGZvciB0aGlzIHRlc3QuJykKICAgICBkZWYgdGVzdF9mbG93aW5mbyhzZWxmKToKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoT3ZlcmZsb3dFcnJvciwgc29ja2V0LmdldG5hbWVpbmZvLAogICAgICAgICAgICAgICAgICAgICAgICAgICAoJzo6MScsMCwgMHhmZmZmZmZmZiksIDApCkBAIC04NTQsNiArMTI2MSwyMjIgQEAKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE92ZXJmbG93RXJyb3IsIHMuYmluZCwgKCc6OjEnLCAwLCAtMTApKQogCiAKK0B1bml0dGVzdC5za2lwVW5sZXNzKEhBVkVfU09DS0VUX0NBTiwgJ1NvY2tldENhbiByZXF1aXJlZCBmb3IgdGhpcyB0ZXN0LicpCitjbGFzcyBCYXNpY0NBTlRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgorCisgICAgZGVmIHRlc3RDcnVjaWFsQ29uc3RhbnRzKHNlbGYpOgorICAgICAgICBzb2NrZXQuQUZfQ0FOCisgICAgICAgIHNvY2tldC5QRl9DQU4KKyAgICAgICAgc29ja2V0LkNBTl9SQVcKKworICAgIGRlZiB0ZXN0Q3JlYXRlU29ja2V0KHNlbGYpOgorICAgICAgICB3aXRoIHNvY2tldC5zb2NrZXQoc29ja2V0LlBGX0NBTiwgc29ja2V0LlNPQ0tfUkFXLCBzb2NrZXQuQ0FOX1JBVykgYXMgczoKKyAgICAgICAgICAgIHBhc3MKKworICAgIGRlZiB0ZXN0QmluZEFueShzZWxmKToKKyAgICAgICAgd2l0aCBzb2NrZXQuc29ja2V0KHNvY2tldC5QRl9DQU4sIHNvY2tldC5TT0NLX1JBVywgc29ja2V0LkNBTl9SQVcpIGFzIHM6CisgICAgICAgICAgICBzLmJpbmQoKCcnLCApKQorCisgICAgZGVmIHRlc3RUb29Mb25nSW50ZXJmYWNlTmFtZShzZWxmKToKKyAgICAgICAgIyBtb3N0IHN5c3RlbXMgbGltaXQgSUZOQU1TSVogdG8gMTYsIHRha2UgMTAyNCB0byBiZSBzdXJlCisgICAgICAgIHdpdGggc29ja2V0LnNvY2tldChzb2NrZXQuUEZfQ0FOLCBzb2NrZXQuU09DS19SQVcsIHNvY2tldC5DQU5fUkFXKSBhcyBzOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXNSZWdleChzb2NrZXQuZXJyb3IsICdpbnRlcmZhY2UgbmFtZSB0b28gbG9uZycsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHMuYmluZCwgKCd4JyAqIDEwMjQsKSkKKworICAgIEB1bml0dGVzdC5za2lwVW5sZXNzKGhhc2F0dHIoc29ja2V0LCAiQ0FOX1JBV19MT09QQkFDSyIpLAorICAgICAgICAgICAgICAgICAgICAgICAgICdzb2NrZXQuQ0FOX1JBV19MT09QQkFDSyByZXF1aXJlZCBmb3IgdGhpcyB0ZXN0LicpCisgICAgZGVmIHRlc3RMb29wYmFjayhzZWxmKToKKyAgICAgICAgd2l0aCBzb2NrZXQuc29ja2V0KHNvY2tldC5QRl9DQU4sIHNvY2tldC5TT0NLX1JBVywgc29ja2V0LkNBTl9SQVcpIGFzIHM6CisgICAgICAgICAgICBmb3IgbG9vcGJhY2sgaW4gKDAsIDEpOgorICAgICAgICAgICAgICAgIHMuc2V0c29ja29wdChzb2NrZXQuU09MX0NBTl9SQVcsIHNvY2tldC5DQU5fUkFXX0xPT1BCQUNLLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb29wYmFjaykKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxvb3BiYWNrLAorICAgICAgICAgICAgICAgICAgICBzLmdldHNvY2tvcHQoc29ja2V0LlNPTF9DQU5fUkFXLCBzb2NrZXQuQ0FOX1JBV19MT09QQkFDSykpCisKKyAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhoYXNhdHRyKHNvY2tldCwgIkNBTl9SQVdfRklMVEVSIiksCisgICAgICAgICAgICAgICAgICAgICAgICAgJ3NvY2tldC5DQU5fUkFXX0ZJTFRFUiByZXF1aXJlZCBmb3IgdGhpcyB0ZXN0LicpCisgICAgZGVmIHRlc3RGaWx0ZXIoc2VsZik6CisgICAgICAgIGNhbl9pZCwgY2FuX21hc2sgPSAweDIwMCwgMHg3MDAKKyAgICAgICAgY2FuX2ZpbHRlciA9IHN0cnVjdC5wYWNrKCI9SUkiLCBjYW5faWQsIGNhbl9tYXNrKQorICAgICAgICB3aXRoIHNvY2tldC5zb2NrZXQoc29ja2V0LlBGX0NBTiwgc29ja2V0LlNPQ0tfUkFXLCBzb2NrZXQuQ0FOX1JBVykgYXMgczoKKyAgICAgICAgICAgIHMuc2V0c29ja29wdChzb2NrZXQuU09MX0NBTl9SQVcsIHNvY2tldC5DQU5fUkFXX0ZJTFRFUiwgY2FuX2ZpbHRlcikKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY2FuX2ZpbHRlciwKKyAgICAgICAgICAgICAgICAgICAgcy5nZXRzb2Nrb3B0KHNvY2tldC5TT0xfQ0FOX1JBVywgc29ja2V0LkNBTl9SQVdfRklMVEVSLCA4KSkKKworCitAdW5pdHRlc3Quc2tpcFVubGVzcyhIQVZFX1NPQ0tFVF9DQU4sICdTb2NrZXRDYW4gcmVxdWlyZWQgZm9yIHRoaXMgdGVzdC4nKQorQHVuaXR0ZXN0LnNraXBVbmxlc3ModGhyZWFkLCAnVGhyZWFkaW5nIHJlcXVpcmVkIGZvciB0aGlzIHRlc3QuJykKK2NsYXNzIENBTlRlc3QoVGhyZWFkZWRDQU5Tb2NrZXRUZXN0KToKKworICAgICIiIlRoZSBDQU4gZnJhbWUgc3RydWN0dXJlIGlzIGRlZmluZWQgaW4gPGxpbnV4L2Nhbi5oPjoKKworICAgIHN0cnVjdCBjYW5fZnJhbWUgeworICAgICAgICBjYW5pZF90IGNhbl9pZDsgIC8qIDMyIGJpdCBDQU5fSUQgKyBFRkYvUlRSL0VSUiBmbGFncyAqLworICAgICAgICBfX3U4ICAgIGNhbl9kbGM7IC8qIGRhdGEgbGVuZ3RoIGNvZGU6IDAgLi4gOCAqLworICAgICAgICBfX3U4ICAgIGRhdGFbOF0gX19hdHRyaWJ1dGVfXygoYWxpZ25lZCg4KSkpOworICAgIH07CisgICAgIiIiCisgICAgY2FuX2ZyYW1lX2ZtdCA9ICI9SUIzeDhzIgorCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIG1ldGhvZE5hbWU9J3J1blRlc3QnKToKKyAgICAgICAgVGhyZWFkZWRDQU5Tb2NrZXRUZXN0Ll9faW5pdF9fKHNlbGYsIG1ldGhvZE5hbWU9bWV0aG9kTmFtZSkKKworICAgIEBjbGFzc21ldGhvZAorICAgIGRlZiBidWlsZF9jYW5fZnJhbWUoY2xzLCBjYW5faWQsIGRhdGEpOgorICAgICAgICAiIiJCdWlsZCBhIENBTiBmcmFtZS4iIiIKKyAgICAgICAgY2FuX2RsYyA9IGxlbihkYXRhKQorICAgICAgICBkYXRhID0gZGF0YS5sanVzdCg4LCBiJ1x4MDAnKQorICAgICAgICByZXR1cm4gc3RydWN0LnBhY2soY2xzLmNhbl9mcmFtZV9mbXQsIGNhbl9pZCwgY2FuX2RsYywgZGF0YSkKKworICAgIEBjbGFzc21ldGhvZAorICAgIGRlZiBkaXNzZWN0X2Nhbl9mcmFtZShjbHMsIGZyYW1lKToKKyAgICAgICAgIiIiRGlzc2VjdCBhIENBTiBmcmFtZS4iIiIKKyAgICAgICAgY2FuX2lkLCBjYW5fZGxjLCBkYXRhID0gc3RydWN0LnVucGFjayhjbHMuY2FuX2ZyYW1lX2ZtdCwgZnJhbWUpCisgICAgICAgIHJldHVybiAoY2FuX2lkLCBjYW5fZGxjLCBkYXRhWzpjYW5fZGxjXSkKKworICAgIGRlZiB0ZXN0U2VuZEZyYW1lKHNlbGYpOgorICAgICAgICBjZiwgYWRkciA9IHNlbGYucy5yZWN2ZnJvbShzZWxmLmJ1ZnNpemUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5jZiwgY2YpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYWRkclswXSwgc2VsZi5pbnRlcmZhY2UpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYWRkclsxXSwgc29ja2V0LkFGX0NBTikKKworICAgIGRlZiBfdGVzdFNlbmRGcmFtZShzZWxmKToKKyAgICAgICAgc2VsZi5jZiA9IHNlbGYuYnVpbGRfY2FuX2ZyYW1lKDB4MDAsIGInXHgwMVx4MDJceDAzXHgwNFx4MDUnKQorICAgICAgICBzZWxmLmNsaS5zZW5kKHNlbGYuY2YpCisKKyAgICBkZWYgdGVzdFNlbmRNYXhGcmFtZShzZWxmKToKKyAgICAgICAgY2YsIGFkZHIgPSBzZWxmLnMucmVjdmZyb20oc2VsZi5idWZzaXplKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuY2YsIGNmKQorCisgICAgZGVmIF90ZXN0U2VuZE1heEZyYW1lKHNlbGYpOgorICAgICAgICBzZWxmLmNmID0gc2VsZi5idWlsZF9jYW5fZnJhbWUoMHgwMCwgYidceDA3JyAqIDgpCisgICAgICAgIHNlbGYuY2xpLnNlbmQoc2VsZi5jZikKKworICAgIGRlZiB0ZXN0U2VuZE11bHRpRnJhbWVzKHNlbGYpOgorICAgICAgICBjZiwgYWRkciA9IHNlbGYucy5yZWN2ZnJvbShzZWxmLmJ1ZnNpemUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5jZjEsIGNmKQorCisgICAgICAgIGNmLCBhZGRyID0gc2VsZi5zLnJlY3Zmcm9tKHNlbGYuYnVmc2l6ZSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmNmMiwgY2YpCisKKyAgICBkZWYgX3Rlc3RTZW5kTXVsdGlGcmFtZXMoc2VsZik6CisgICAgICAgIHNlbGYuY2YxID0gc2VsZi5idWlsZF9jYW5fZnJhbWUoMHgwNywgYidceDQ0XHgzM1x4MjJceDExJykKKyAgICAgICAgc2VsZi5jbGkuc2VuZChzZWxmLmNmMSkKKworICAgICAgICBzZWxmLmNmMiA9IHNlbGYuYnVpbGRfY2FuX2ZyYW1lKDB4MTIsIGInXHg5OVx4MjJceDMzJykKKyAgICAgICAgc2VsZi5jbGkuc2VuZChzZWxmLmNmMikKKworCitAdW5pdHRlc3Quc2tpcFVubGVzcyhIQVZFX1NPQ0tFVF9SRFMsICdSRFMgc29ja2V0cyByZXF1aXJlZCBmb3IgdGhpcyB0ZXN0LicpCitjbGFzcyBCYXNpY1JEU1Rlc3QodW5pdHRlc3QuVGVzdENhc2UpOgorCisgICAgZGVmIHRlc3RDcnVjaWFsQ29uc3RhbnRzKHNlbGYpOgorICAgICAgICBzb2NrZXQuQUZfUkRTCisgICAgICAgIHNvY2tldC5QRl9SRFMKKworICAgIGRlZiB0ZXN0Q3JlYXRlU29ja2V0KHNlbGYpOgorICAgICAgICB3aXRoIHNvY2tldC5zb2NrZXQoc29ja2V0LlBGX1JEUywgc29ja2V0LlNPQ0tfU0VRUEFDS0VULCAwKSBhcyBzOgorICAgICAgICAgICAgcGFzcworCisgICAgZGVmIHRlc3RTb2NrZXRCdWZmZXJTaXplKHNlbGYpOgorICAgICAgICBidWZzaXplID0gMTYzODQKKyAgICAgICAgd2l0aCBzb2NrZXQuc29ja2V0KHNvY2tldC5QRl9SRFMsIHNvY2tldC5TT0NLX1NFUVBBQ0tFVCwgMCkgYXMgczoKKyAgICAgICAgICAgIHMuc2V0c29ja29wdChzb2NrZXQuU09MX1NPQ0tFVCwgc29ja2V0LlNPX1JDVkJVRiwgYnVmc2l6ZSkKKyAgICAgICAgICAgIHMuc2V0c29ja29wdChzb2NrZXQuU09MX1NPQ0tFVCwgc29ja2V0LlNPX1NOREJVRiwgYnVmc2l6ZSkKKworCitAdW5pdHRlc3Quc2tpcFVubGVzcyhIQVZFX1NPQ0tFVF9SRFMsICdSRFMgc29ja2V0cyByZXF1aXJlZCBmb3IgdGhpcyB0ZXN0LicpCitAdW5pdHRlc3Quc2tpcFVubGVzcyh0aHJlYWQsICdUaHJlYWRpbmcgcmVxdWlyZWQgZm9yIHRoaXMgdGVzdC4nKQorY2xhc3MgUkRTVGVzdChUaHJlYWRlZFJEU1NvY2tldFRlc3QpOgorCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIG1ldGhvZE5hbWU9J3J1blRlc3QnKToKKyAgICAgICAgVGhyZWFkZWRSRFNTb2NrZXRUZXN0Ll9faW5pdF9fKHNlbGYsIG1ldGhvZE5hbWU9bWV0aG9kTmFtZSkKKworICAgIGRlZiBzZXRVcChzZWxmKToKKyAgICAgICAgc3VwZXIoKS5zZXRVcCgpCisgICAgICAgIHNlbGYuZXZ0ID0gdGhyZWFkaW5nLkV2ZW50KCkKKworICAgIGRlZiB0ZXN0U2VuZEFuZFJlY3Yoc2VsZik6CisgICAgICAgIGRhdGEsIGFkZHIgPSBzZWxmLnNlcnYucmVjdmZyb20oc2VsZi5idWZzaXplKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuZGF0YSwgZGF0YSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmNsaV9hZGRyLCBhZGRyKQorCisgICAgZGVmIF90ZXN0U2VuZEFuZFJlY3Yoc2VsZik6CisgICAgICAgIHNlbGYuZGF0YSA9IGInc3BhbScKKyAgICAgICAgc2VsZi5jbGkuc2VuZHRvKHNlbGYuZGF0YSwgMCwgKEhPU1QsIHNlbGYucG9ydCkpCisKKyAgICBkZWYgdGVzdFBlZWsoc2VsZik6CisgICAgICAgIGRhdGEsIGFkZHIgPSBzZWxmLnNlcnYucmVjdmZyb20oc2VsZi5idWZzaXplLCBzb2NrZXQuTVNHX1BFRUspCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5kYXRhLCBkYXRhKQorICAgICAgICBkYXRhLCBhZGRyID0gc2VsZi5zZXJ2LnJlY3Zmcm9tKHNlbGYuYnVmc2l6ZSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmRhdGEsIGRhdGEpCisKKyAgICBkZWYgX3Rlc3RQZWVrKHNlbGYpOgorICAgICAgICBzZWxmLmRhdGEgPSBiJ3NwYW0nCisgICAgICAgIHNlbGYuY2xpLnNlbmR0byhzZWxmLmRhdGEsIDAsIChIT1NULCBzZWxmLnBvcnQpKQorCisgICAgQHJlcXVpcmVBdHRycyhzb2NrZXQuc29ja2V0LCAncmVjdm1zZycpCisgICAgZGVmIHRlc3RTZW5kQW5kUmVjdk1zZyhzZWxmKToKKyAgICAgICAgZGF0YSwgYW5jZGF0YSwgbXNnX2ZsYWdzLCBhZGRyID0gc2VsZi5zZXJ2LnJlY3Ztc2coc2VsZi5idWZzaXplKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuZGF0YSwgZGF0YSkKKworICAgIEByZXF1aXJlQXR0cnMoc29ja2V0LnNvY2tldCwgJ3NlbmRtc2cnKQorICAgIGRlZiBfdGVzdFNlbmRBbmRSZWN2TXNnKHNlbGYpOgorICAgICAgICBzZWxmLmRhdGEgPSBiJ2hlbGxvICcgKiAxMAorICAgICAgICBzZWxmLmNsaS5zZW5kbXNnKFtzZWxmLmRhdGFdLCAoKSwgMCwgKEhPU1QsIHNlbGYucG9ydCkpCisKKyAgICBkZWYgdGVzdFNlbmRBbmRSZWN2TXVsdGkoc2VsZik6CisgICAgICAgIGRhdGEsIGFkZHIgPSBzZWxmLnNlcnYucmVjdmZyb20oc2VsZi5idWZzaXplKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuZGF0YTEsIGRhdGEpCisKKyAgICAgICAgZGF0YSwgYWRkciA9IHNlbGYuc2Vydi5yZWN2ZnJvbShzZWxmLmJ1ZnNpemUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5kYXRhMiwgZGF0YSkKKworICAgIGRlZiBfdGVzdFNlbmRBbmRSZWN2TXVsdGkoc2VsZik6CisgICAgICAgIHNlbGYuZGF0YTEgPSBiJ2JhY29uJworICAgICAgICBzZWxmLmNsaS5zZW5kdG8oc2VsZi5kYXRhMSwgMCwgKEhPU1QsIHNlbGYucG9ydCkpCisKKyAgICAgICAgc2VsZi5kYXRhMiA9IGInZWdnJworICAgICAgICBzZWxmLmNsaS5zZW5kdG8oc2VsZi5kYXRhMiwgMCwgKEhPU1QsIHNlbGYucG9ydCkpCisKKyAgICBkZWYgdGVzdFNlbGVjdChzZWxmKToKKyAgICAgICAgciwgdywgeCA9IHNlbGVjdC5zZWxlY3QoW3NlbGYuc2Vydl0sIFtdLCBbXSwgMy4wKQorICAgICAgICBzZWxmLmFzc2VydEluKHNlbGYuc2VydiwgcikKKyAgICAgICAgZGF0YSwgYWRkciA9IHNlbGYuc2Vydi5yZWN2ZnJvbShzZWxmLmJ1ZnNpemUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5kYXRhLCBkYXRhKQorCisgICAgZGVmIF90ZXN0U2VsZWN0KHNlbGYpOgorICAgICAgICBzZWxmLmRhdGEgPSBiJ3NlbGVjdCcKKyAgICAgICAgc2VsZi5jbGkuc2VuZHRvKHNlbGYuZGF0YSwgMCwgKEhPU1QsIHNlbGYucG9ydCkpCisKKyAgICBkZWYgdGVzdENvbmdlc3Rpb24oc2VsZik6CisgICAgICAgICMgd2FpdCB1bnRpbCB0aGUgc2VuZGVyIGlzIGRvbmUKKyAgICAgICAgc2VsZi5ldnQud2FpdCgpCisKKyAgICBkZWYgX3Rlc3RDb25nZXN0aW9uKHNlbGYpOgorICAgICAgICAjIHRlc3QgdGhlIGJlaGF2aW9yIGluIGNhc2Ugb2YgY29uZ2VzdGlvbgorICAgICAgICBzZWxmLmRhdGEgPSBiJ2ZpbGwnCisgICAgICAgIHNlbGYuY2xpLnNldGJsb2NraW5nKEZhbHNlKQorICAgICAgICB0cnk6CisgICAgICAgICAgICAjIHRyeSB0byBsb3dlciB0aGUgcmVjZWl2ZXIncyBzb2NrZXQgYnVmZmVyIHNpemUKKyAgICAgICAgICAgIHNlbGYuY2xpLnNldHNvY2tvcHQoc29ja2V0LlNPTF9TT0NLRVQsIHNvY2tldC5TT19SQ1ZCVUYsIDE2Mzg0KQorICAgICAgICBleGNlcHQgT1NFcnJvcjoKKyAgICAgICAgICAgIHBhc3MKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhPU0Vycm9yKSBhcyBjbToKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICAjIGZpbGwgdGhlIHJlY2VpdmVyJ3Mgc29ja2V0IGJ1ZmZlcgorICAgICAgICAgICAgICAgIHdoaWxlIFRydWU6CisgICAgICAgICAgICAgICAgICAgIHNlbGYuY2xpLnNlbmR0byhzZWxmLmRhdGEsIDAsIChIT1NULCBzZWxmLnBvcnQpKQorICAgICAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgICAgICAjIHNpZ25hbCB0aGUgcmVjZWl2ZXIgd2UncmUgZG9uZQorICAgICAgICAgICAgICAgIHNlbGYuZXZ0LnNldCgpCisgICAgICAgICMgc2VuZHRvKCkgc2hvdWxkIGhhdmUgZmFpbGVkIHdpdGggRU5PQlVGUworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNtLmV4Y2VwdGlvbi5lcnJubywgZXJybm8uRU5PQlVGUykKKyAgICAgICAgIyBhbmQgd2Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb25nZXN0aW9uIG5vdGlmaWNhdGlvbiB0aHJvdWdoIHBvbGwKKyAgICAgICAgciwgdywgeCA9IHNlbGVjdC5zZWxlY3QoW3NlbGYuc2Vydl0sIFtdLCBbXSwgMy4wKQorICAgICAgICBzZWxmLmFzc2VydEluKHNlbGYuc2VydiwgcikKKworCiBAdW5pdHRlc3Quc2tpcFVubGVzcyh0aHJlYWQsICdUaHJlYWRpbmcgcmVxdWlyZWQgZm9yIHRoaXMgdGVzdC4nKQogY2xhc3MgQmFzaWNUQ1BUZXN0KFNvY2tldENvbm5lY3RlZFRlc3QpOgogCkBAIC05OTIsNiArMTYxNSwxODUyIEBACiAgICAgZGVmIF90ZXN0UmVjdkZyb21OZWdhdGl2ZShzZWxmKToKICAgICAgICAgc2VsZi5jbGkuc2VuZHRvKE1TRywgMCwgKEhPU1QsIHNlbGYucG9ydCkpCiAKKyMgVGVzdHMgZm9yIHRoZSBzZW5kbXNnKCkvcmVjdm1zZygpIGludGVyZmFjZS4gIFdoZXJlIHBvc3NpYmxlLCB0aGUKKyMgc2FtZSB0ZXN0IGNvZGUgaXMgdXNlZCB3aXRoIGRpZmZlcmVudCBmYW1pbGllcyBhbmQgdHlwZXMgb2Ygc29ja2V0CisjIChlLmcuIHN0cmVhbSwgZGF0YWdyYW0pLCBhbmQgdGVzdHMgdXNpbmcgcmVjdm1zZygpIGFyZSByZXBlYXRlZAorIyB1c2luZyByZWN2bXNnX2ludG8oKS4KKyMKKyMgVGhlIGdlbmVyaWMgdGVzdCBjbGFzc2VzIHN1Y2ggYXMgU2VuZG1zZ1Rlc3RzIGFuZAorIyBSZWN2bXNnR2VuZXJpY1Rlc3RzIGluaGVyaXQgZnJvbSBTZW5kcmVjdm1zZ0Jhc2UgYW5kIGV4cGVjdCB0byBiZQorIyBzdXBwbGllZCB3aXRoIHNvY2tldHMgY2xpX3NvY2sgYW5kIHNlcnZfc29jayByZXByZXNlbnRpbmcgdGhlCisjIGNsaWVudCdzIGFuZCB0aGUgc2VydmVyJ3MgZW5kIG9mIHRoZSBjb25uZWN0aW9uIHJlc3BlY3RpdmVseSwgYW5kCisjIGF0dHJpYnV0ZXMgY2xpX2FkZHIgYW5kIHNlcnZfYWRkciBob2xkaW5nIHRoZWlyIChudW1lcmljIHdoZXJlCisjIGFwcHJvcHJpYXRlKSBhZGRyZXNzZXMuCisjCisjIFRoZSBmaW5hbCBjb25jcmV0ZSB0ZXN0IGNsYXNzZXMgY29tYmluZSB0aGVzZSB3aXRoIHN1YmNsYXNzZXMgb2YKKyMgU29ja2V0VGVzdEJhc2Ugd2hpY2ggc2V0IHVwIGNsaWVudCBhbmQgc2VydmVyIHNvY2tldHMgb2YgYSBzcGVjaWZpYworIyB0eXBlLCBhbmQgd2l0aCBzdWJjbGFzc2VzIG9mIFNlbmRyZWN2bXNnQmFzZSBzdWNoIGFzCisjIFNlbmRyZWN2bXNnRGdyYW1CYXNlIGFuZCBTZW5kcmVjdm1zZ0Nvbm5lY3RlZEJhc2Ugd2hpY2ggbWFwIHRoZXNlCisjIHNvY2tldHMgdG8gY2xpX3NvY2sgYW5kIHNlcnZfc29jayBhbmQgb3ZlcnJpZGUgdGhlIG1ldGhvZHMgYW5kCisjIGF0dHJpYnV0ZXMgb2YgU2VuZHJlY3Ztc2dCYXNlIHRvIGZpbGwgaW4gZGVzdGluYXRpb24gYWRkcmVzc2VzIGlmCisjIG5lZWRlZCB3aGVuIHNlbmRpbmcsIGNoZWNrIGZvciBzcGVjaWZpYyBmbGFncyBpbiBtc2dfZmxhZ3MsIGV0Yy4KKyMKKyMgUmVjdm1zZ0ludG9NaXhpbiBwcm92aWRlcyBhIHZlcnNpb24gb2YgZG9SZWN2bXNnKCkgaW1wbGVtZW50ZWQgdXNpbmcKKyMgcmVjdm1zZ19pbnRvKCkuCisKKyMgWFhYOiBsaWtlIHRoZSBvdGhlciBkYXRhZ3JhbSAoVURQKSB0ZXN0cyBpbiB0aGlzIG1vZHVsZSwgdGhlIGNvZGUKKyMgaGVyZSBhc3N1bWVzIHRoYXQgZGF0YWdyYW0gZGVsaXZlcnkgb24gdGhlIGxvY2FsIG1hY2hpbmUgd2lsbCBiZQorIyByZWxpYWJsZS4KKworY2xhc3MgU2VuZHJlY3Ztc2dCYXNlKFRocmVhZFNhZmVDbGVhbnVwVGVzdENhc2UpOgorICAgICMgQmFzZSBjbGFzcyBmb3Igc2VuZG1zZygpL3JlY3Ztc2coKSB0ZXN0cy4KKworICAgICMgVGltZSBpbiBzZWNvbmRzIHRvIHdhaXQgYmVmb3JlIGNvbnNpZGVyaW5nIGEgdGVzdCBmYWlsZWQsIG9yCisgICAgIyBOb25lIGZvciBubyB0aW1lb3V0LiAgTm90IGFsbCB0ZXN0cyBhY3R1YWxseSBzZXQgYSB0aW1lb3V0LgorICAgIGZhaWxfdGltZW91dCA9IDMuMAorCisgICAgZGVmIHNldFVwKHNlbGYpOgorICAgICAgICBzZWxmLm1pc2NfZXZlbnQgPSB0aHJlYWRpbmcuRXZlbnQoKQorICAgICAgICBzdXBlcigpLnNldFVwKCkKKworICAgIGRlZiBzZW5kVG9TZXJ2ZXIoc2VsZiwgbXNnKToKKyAgICAgICAgIyBTZW5kIG1zZyB0byB0aGUgc2VydmVyLgorICAgICAgICByZXR1cm4gc2VsZi5jbGlfc29jay5zZW5kKG1zZykKKworICAgICMgVHVwbGUgb2YgYWx0ZXJuYXRpdmUgZGVmYXVsdCBhcmd1bWVudHMgZm9yIHNlbmRtc2coKSB3aGVuIGNhbGxlZAorICAgICMgdmlhIHNlbmRtc2dUb1NlcnZlcigpIChlLmcuIHRvIGluY2x1ZGUgYSBkZXN0aW5hdGlvbiBhZGRyZXNzKS4KKyAgICBzZW5kbXNnX3RvX3NlcnZlcl9kZWZhdWx0cyA9ICgpCisKKyAgICBkZWYgc2VuZG1zZ1RvU2VydmVyKHNlbGYsICphcmdzKToKKyAgICAgICAgIyBDYWxsIHNlbmRtc2coKSBvbiBzZWxmLmNsaV9zb2NrIHdpdGggdGhlIGdpdmVuIGFyZ3VtZW50cywKKyAgICAgICAgIyBmaWxsaW5nIGluIGFueSBhcmd1bWVudHMgd2hpY2ggYXJlIG5vdCBzdXBwbGllZCB3aXRoIHRoZQorICAgICAgICAjIGNvcnJlc3BvbmRpbmcgaXRlbXMgb2Ygc2VsZi5zZW5kbXNnX3RvX3NlcnZlcl9kZWZhdWx0cywgaWYKKyAgICAgICAgIyBhbnkuCisgICAgICAgIHJldHVybiBzZWxmLmNsaV9zb2NrLnNlbmRtc2coCisgICAgICAgICAgICAqKGFyZ3MgKyBzZWxmLnNlbmRtc2dfdG9fc2VydmVyX2RlZmF1bHRzW2xlbihhcmdzKTpdKSkKKworICAgIGRlZiBkb1JlY3Ztc2coc2VsZiwgc29jaywgYnVmc2l6ZSwgKmFyZ3MpOgorICAgICAgICAjIENhbGwgcmVjdm1zZygpIG9uIHNvY2sgd2l0aCBnaXZlbiBhcmd1bWVudHMgYW5kIHJldHVybiBpdHMKKyAgICAgICAgIyByZXN1bHQuICBTaG91bGQgYmUgdXNlZCBmb3IgdGVzdHMgd2hpY2ggY2FuIHVzZSBlaXRoZXIKKyAgICAgICAgIyByZWN2bXNnKCkgb3IgcmVjdm1zZ19pbnRvKCkgLSBSZWN2bXNnSW50b01peGluIG92ZXJyaWRlcworICAgICAgICAjIHRoaXMgbWV0aG9kIHdpdGggb25lIHdoaWNoIGVtdWxhdGVzIGl0IHVzaW5nIHJlY3Ztc2dfaW50bygpLAorICAgICAgICAjIHRodXMgYWxsb3dpbmcgdGhlIHNhbWUgdGVzdCB0byBiZSB1c2VkIGZvciBib3RoIG1ldGhvZHMuCisgICAgICAgIHJlc3VsdCA9IHNvY2sucmVjdm1zZyhidWZzaXplLCAqYXJncykKKyAgICAgICAgc2VsZi5yZWdpc3RlclJlY3Ztc2dSZXN1bHQocmVzdWx0KQorICAgICAgICByZXR1cm4gcmVzdWx0CisKKyAgICBkZWYgcmVnaXN0ZXJSZWN2bXNnUmVzdWx0KHNlbGYsIHJlc3VsdCk6CisgICAgICAgICMgQ2FsbGVkIGJ5IGRvUmVjdm1zZygpIHdpdGggdGhlIHJldHVybiB2YWx1ZSBvZiByZWN2bXNnKCkgb3IKKyAgICAgICAgIyByZWN2bXNnX2ludG8oKS4gIENhbiBiZSBvdmVycmlkZGVuIHRvIGFycmFuZ2UgY2xlYW51cCBiYXNlZAorICAgICAgICAjIG9uIHRoZSByZXR1cm5lZCBhbmNpbGxhcnkgZGF0YSwgZm9yIGluc3RhbmNlLgorICAgICAgICBwYXNzCisKKyAgICBkZWYgY2hlY2tSZWN2bXNnQWRkcmVzcyhzZWxmLCBhZGRyMSwgYWRkcjIpOgorICAgICAgICAjIENhbGxlZCB0byBjb21wYXJlIHRoZSByZWNlaXZlZCBhZGRyZXNzIHdpdGggdGhlIGFkZHJlc3Mgb2YKKyAgICAgICAgIyB0aGUgcGVlci4KKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChhZGRyMSwgYWRkcjIpCisKKyAgICAjIEZsYWdzIHRoYXQgYXJlIG5vcm1hbGx5IHVuc2V0IGluIG1zZ19mbGFncworICAgIG1zZ19mbGFnc19jb21tb25fdW5zZXQgPSAwCisgICAgZm9yIG5hbWUgaW4gKCJNU0dfQ1RSVU5DIiwgIk1TR19PT0IiKToKKyAgICAgICAgbXNnX2ZsYWdzX2NvbW1vbl91bnNldCB8PSBnZXRhdHRyKHNvY2tldCwgbmFtZSwgMCkKKworICAgICMgRmxhZ3MgdGhhdCBhcmUgbm9ybWFsbHkgc2V0CisgICAgbXNnX2ZsYWdzX2NvbW1vbl9zZXQgPSAwCisKKyAgICAjIEZsYWdzIHNldCB3aGVuIGEgY29tcGxldGUgcmVjb3JkIGhhcyBiZWVuIHJlY2VpdmVkIChlLmcuIE1TR19FT1IKKyAgICAjIGZvciBTQ1RQKQorICAgIG1zZ19mbGFnc19lb3JfaW5kaWNhdG9yID0gMAorCisgICAgIyBGbGFncyBzZXQgd2hlbiBhIGNvbXBsZXRlIHJlY29yZCBoYXMgbm90IGJlZW4gcmVjZWl2ZWQKKyAgICAjIChlLmcuIE1TR19UUlVOQyBmb3IgZGF0YWdyYW0gc29ja2V0cykKKyAgICBtc2dfZmxhZ3Nfbm9uX2Vvcl9pbmRpY2F0b3IgPSAwCisKKyAgICBkZWYgY2hlY2tGbGFncyhzZWxmLCBmbGFncywgZW9yPU5vbmUsIGNoZWNrc2V0PTAsIGNoZWNrdW5zZXQ9MCwgaWdub3JlPTApOgorICAgICAgICAjIE1ldGhvZCB0byBjaGVjayB0aGUgdmFsdWUgb2YgbXNnX2ZsYWdzIHJldHVybmVkIGJ5IHJlY3Ztc2dbX2ludG9dKCkuCisgICAgICAgICMKKyAgICAgICAgIyBDaGVja3MgdGhhdCBhbGwgYml0cyBpbiBtc2dfZmxhZ3NfY29tbW9uX3NldCBhdHRyaWJ1dGUgYXJlCisgICAgICAgICMgc2V0IGluICJmbGFncyIgYW5kIGFsbCBiaXRzIGluIG1zZ19mbGFnc19jb21tb25fdW5zZXQgYXJlCisgICAgICAgICMgdW5zZXQuCisgICAgICAgICMKKyAgICAgICAgIyBUaGUgImVvciIgYXJndW1lbnQgc3BlY2lmaWVzIHdoZXRoZXIgdGhlIGZsYWdzIHNob3VsZAorICAgICAgICAjIGluZGljYXRlIHRoYXQgYSBmdWxsIHJlY29yZCAob3IgZGF0YWdyYW0pIGhhcyBiZWVuIHJlY2VpdmVkLgorICAgICAgICAjIElmICJlb3IiIGlzIE5vbmUsIG5vIGNoZWNrcyBhcmUgZG9uZTsgb3RoZXJ3aXNlLCBjaGVja3MKKyAgICAgICAgIyB0aGF0OgorICAgICAgICAjCisgICAgICAgICMgICogaWYgImVvciIgaXMgdHJ1ZSwgYWxsIGJpdHMgaW4gbXNnX2ZsYWdzX2Vvcl9pbmRpY2F0b3IgYXJlCisgICAgICAgICMgICAgc2V0IGFuZCBhbGwgYml0cyBpbiBtc2dfZmxhZ3Nfbm9uX2Vvcl9pbmRpY2F0b3IgYXJlIHVuc2V0CisgICAgICAgICMKKyAgICAgICAgIyAgKiBpZiAiZW9yIiBpcyBmYWxzZSwgYWxsIGJpdHMgaW4gbXNnX2ZsYWdzX25vbl9lb3JfaW5kaWNhdG9yCisgICAgICAgICMgICAgYXJlIHNldCBhbmQgYWxsIGJpdHMgaW4gbXNnX2ZsYWdzX2Vvcl9pbmRpY2F0b3IgYXJlIHVuc2V0CisgICAgICAgICMKKyAgICAgICAgIyBJZiAiY2hlY2tzZXQiIGFuZC9vciAiY2hlY2t1bnNldCIgYXJlIHN1cHBsaWVkLCB0aGV5IHJlcXVpcmUKKyAgICAgICAgIyB0aGUgZ2l2ZW4gYml0cyB0byBiZSBzZXQgb3IgdW5zZXQgcmVzcGVjdGl2ZWx5LCBvdmVycmlkaW5nCisgICAgICAgICMgd2hhdCB0aGUgYXR0cmlidXRlcyByZXF1aXJlIGZvciB0aG9zZSBiaXRzLgorICAgICAgICAjCisgICAgICAgICMgSWYgYW55IGJpdHMgYXJlIHNldCBpbiAiaWdub3JlIiwgdGhleSB3aWxsIG5vdCBiZSBjaGVja2VkLAorICAgICAgICAjIHJlZ2FyZGxlc3Mgb2YgdGhlIG90aGVyIGlucHV0cy4KKyAgICAgICAgIworICAgICAgICAjIFdpbGwgcmFpc2UgRXhjZXB0aW9uIGlmIHRoZSBpbnB1dHMgcmVxdWlyZSBhIGJpdCB0byBiZSBib3RoCisgICAgICAgICMgc2V0IGFuZCB1bnNldCwgYW5kIGl0IGlzIG5vdCBpZ25vcmVkLgorCisgICAgICAgIGRlZmF1bHRzZXQgPSBzZWxmLm1zZ19mbGFnc19jb21tb25fc2V0CisgICAgICAgIGRlZmF1bHR1bnNldCA9IHNlbGYubXNnX2ZsYWdzX2NvbW1vbl91bnNldAorCisgICAgICAgIGlmIGVvcjoKKyAgICAgICAgICAgIGRlZmF1bHRzZXQgfD0gc2VsZi5tc2dfZmxhZ3NfZW9yX2luZGljYXRvcgorICAgICAgICAgICAgZGVmYXVsdHVuc2V0IHw9IHNlbGYubXNnX2ZsYWdzX25vbl9lb3JfaW5kaWNhdG9yCisgICAgICAgIGVsaWYgZW9yIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgZGVmYXVsdHNldCB8PSBzZWxmLm1zZ19mbGFnc19ub25fZW9yX2luZGljYXRvcgorICAgICAgICAgICAgZGVmYXVsdHVuc2V0IHw9IHNlbGYubXNnX2ZsYWdzX2Vvcl9pbmRpY2F0b3IKKworICAgICAgICAjIEZ1bmN0aW9uIGFyZ3VtZW50cyBvdmVycmlkZSBkZWZhdWx0cworICAgICAgICBkZWZhdWx0c2V0ICY9IH5jaGVja3Vuc2V0CisgICAgICAgIGRlZmF1bHR1bnNldCAmPSB+Y2hlY2tzZXQKKworICAgICAgICAjIE1lcmdlIGFyZ3VtZW50cyB3aXRoIHJlbWFpbmluZyBkZWZhdWx0cywgYW5kIGNoZWNrIGZvciBjb25mbGljdHMKKyAgICAgICAgY2hlY2tzZXQgfD0gZGVmYXVsdHNldAorICAgICAgICBjaGVja3Vuc2V0IHw9IGRlZmF1bHR1bnNldAorICAgICAgICBpbmJvdGggPSBjaGVja3NldCAmIGNoZWNrdW5zZXQgJiB+aWdub3JlCisgICAgICAgIGlmIGluYm90aDoKKyAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbigiY29udHJhZGljdG9yeSBzZXQsIHVuc2V0IHJlcXVpcmVtZW50cyBmb3IgZmxhZ3MgIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ7MDojeH0iLmZvcm1hdChpbmJvdGgpKQorCisgICAgICAgICMgQ29tcGFyZSB3aXRoIGdpdmVuIG1zZ19mbGFncyB2YWx1ZQorICAgICAgICBtYXNrID0gKGNoZWNrc2V0IHwgY2hlY2t1bnNldCkgJiB+aWdub3JlCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZmxhZ3MgJiBtYXNrLCBjaGVja3NldCAmIG1hc2spCisKKworY2xhc3MgUmVjdm1zZ0ludG9NaXhpbihTZW5kcmVjdm1zZ0Jhc2UpOgorICAgICMgTWl4aW4gdG8gaW1wbGVtZW50IGRvUmVjdm1zZygpIHVzaW5nIHJlY3Ztc2dfaW50bygpLgorCisgICAgZGVmIGRvUmVjdm1zZyhzZWxmLCBzb2NrLCBidWZzaXplLCAqYXJncyk6CisgICAgICAgIGJ1ZiA9IGJ5dGVhcnJheShidWZzaXplKQorICAgICAgICByZXN1bHQgPSBzb2NrLnJlY3Ztc2dfaW50byhbYnVmXSwgKmFyZ3MpCisgICAgICAgIHNlbGYucmVnaXN0ZXJSZWN2bXNnUmVzdWx0KHJlc3VsdCkKKyAgICAgICAgc2VsZi5hc3NlcnRHcmVhdGVyRXF1YWwocmVzdWx0WzBdLCAwKQorICAgICAgICBzZWxmLmFzc2VydExlc3NFcXVhbChyZXN1bHRbMF0sIGJ1ZnNpemUpCisgICAgICAgIHJldHVybiAoYnl0ZXMoYnVmWzpyZXN1bHRbMF1dKSwpICsgcmVzdWx0WzE6XQorCisKK2NsYXNzIFNlbmRyZWN2bXNnRGdyYW1GbGFnc0Jhc2UoU2VuZHJlY3Ztc2dCYXNlKToKKyAgICAjIERlZmluZXMgZmxhZ3MgdG8gYmUgY2hlY2tlZCBpbiBtc2dfZmxhZ3MgZm9yIGRhdGFncmFtIHNvY2tldHMuCisKKyAgICBAcHJvcGVydHkKKyAgICBkZWYgbXNnX2ZsYWdzX25vbl9lb3JfaW5kaWNhdG9yKHNlbGYpOgorICAgICAgICByZXR1cm4gc3VwZXIoKS5tc2dfZmxhZ3Nfbm9uX2Vvcl9pbmRpY2F0b3IgfCBzb2NrZXQuTVNHX1RSVU5DCisKKworY2xhc3MgU2VuZHJlY3Ztc2dTQ1RQRmxhZ3NCYXNlKFNlbmRyZWN2bXNnQmFzZSk6CisgICAgIyBEZWZpbmVzIGZsYWdzIHRvIGJlIGNoZWNrZWQgaW4gbXNnX2ZsYWdzIGZvciBTQ1RQIHNvY2tldHMuCisKKyAgICBAcHJvcGVydHkKKyAgICBkZWYgbXNnX2ZsYWdzX2Vvcl9pbmRpY2F0b3Ioc2VsZik6CisgICAgICAgIHJldHVybiBzdXBlcigpLm1zZ19mbGFnc19lb3JfaW5kaWNhdG9yIHwgc29ja2V0Lk1TR19FT1IKKworCitjbGFzcyBTZW5kcmVjdm1zZ0Nvbm5lY3Rpb25sZXNzQmFzZShTZW5kcmVjdm1zZ0Jhc2UpOgorICAgICMgQmFzZSBjbGFzcyBmb3IgdGVzdHMgb24gY29ubmVjdGlvbmxlc3MtbW9kZSBzb2NrZXRzLiAgVXNlcnMgbXVzdAorICAgICMgc3VwcGx5IHNvY2tldHMgb24gYXR0cmlidXRlcyBjbGkgYW5kIHNlcnYgdG8gYmUgbWFwcGVkIHRvCisgICAgIyBjbGlfc29jayBhbmQgc2Vydl9zb2NrIHJlc3BlY3RpdmVseS4KKworICAgIEBwcm9wZXJ0eQorICAgIGRlZiBzZXJ2X3NvY2soc2VsZik6CisgICAgICAgIHJldHVybiBzZWxmLnNlcnYKKworICAgIEBwcm9wZXJ0eQorICAgIGRlZiBjbGlfc29jayhzZWxmKToKKyAgICAgICAgcmV0dXJuIHNlbGYuY2xpCisKKyAgICBAcHJvcGVydHkKKyAgICBkZWYgc2VuZG1zZ190b19zZXJ2ZXJfZGVmYXVsdHMoc2VsZik6CisgICAgICAgIHJldHVybiAoW10sIFtdLCAwLCBzZWxmLnNlcnZfYWRkcikKKworICAgIGRlZiBzZW5kVG9TZXJ2ZXIoc2VsZiwgbXNnKToKKyAgICAgICAgcmV0dXJuIHNlbGYuY2xpX3NvY2suc2VuZHRvKG1zZywgc2VsZi5zZXJ2X2FkZHIpCisKKworY2xhc3MgU2VuZHJlY3Ztc2dDb25uZWN0ZWRCYXNlKFNlbmRyZWN2bXNnQmFzZSk6CisgICAgIyBCYXNlIGNsYXNzIGZvciB0ZXN0cyBvbiBjb25uZWN0ZWQgc29ja2V0cy4gIFVzZXJzIG11c3Qgc3VwcGx5CisgICAgIyBzb2NrZXRzIG9uIGF0dHJpYnV0ZXMgc2Vydl9jb25uIGFuZCBjbGlfY29ubiAocmVwcmVzZW50aW5nIHRoZQorICAgICMgY29ubmVjdGlvbnMgKnRvKiB0aGUgc2VydmVyIGFuZCB0aGUgY2xpZW50KSwgdG8gYmUgbWFwcGVkIHRvCisgICAgIyBjbGlfc29jayBhbmQgc2Vydl9zb2NrIHJlc3BlY3RpdmVseS4KKworICAgIEBwcm9wZXJ0eQorICAgIGRlZiBzZXJ2X3NvY2soc2VsZik6CisgICAgICAgIHJldHVybiBzZWxmLmNsaV9jb25uCisKKyAgICBAcHJvcGVydHkKKyAgICBkZWYgY2xpX3NvY2soc2VsZik6CisgICAgICAgIHJldHVybiBzZWxmLnNlcnZfY29ubgorCisgICAgZGVmIGNoZWNrUmVjdm1zZ0FkZHJlc3Moc2VsZiwgYWRkcjEsIGFkZHIyKToKKyAgICAgICAgIyBBZGRyZXNzIGlzIGN1cnJlbnRseSAidW5zcGVjaWZpZWQiIGZvciBhIGNvbm5lY3RlZCBzb2NrZXQsCisgICAgICAgICMgc28gd2UgZG9uJ3QgZXhhbWluZSBpdAorICAgICAgICBwYXNzCisKKworY2xhc3MgU2VuZHJlY3Ztc2dTZXJ2ZXJUaW1lb3V0QmFzZShTZW5kcmVjdm1zZ0Jhc2UpOgorICAgICMgQmFzZSBjbGFzcyB0byBzZXQgYSB0aW1lb3V0IG9uIHNlcnZlcidzIHNvY2tldC4KKworICAgIGRlZiBzZXRVcChzZWxmKToKKyAgICAgICAgc3VwZXIoKS5zZXRVcCgpCisgICAgICAgIHNlbGYuc2Vydl9zb2NrLnNldHRpbWVvdXQoc2VsZi5mYWlsX3RpbWVvdXQpCisKKworY2xhc3MgU2VuZG1zZ1Rlc3RzKFNlbmRyZWN2bXNnU2VydmVyVGltZW91dEJhc2UpOgorICAgICMgVGVzdHMgZm9yIHNlbmRtc2coKSB3aGljaCBjYW4gdXNlIGFueSBzb2NrZXQgdHlwZSBhbmQgZG8gbm90CisgICAgIyBpbnZvbHZlIHJlY3Ztc2coKSBvciByZWN2bXNnX2ludG8oKS4KKworICAgIGRlZiB0ZXN0U2VuZG1zZyhzZWxmKToKKyAgICAgICAgIyBTZW5kIGEgc2ltcGxlIG1lc3NhZ2Ugd2l0aCBzZW5kbXNnKCkuCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5zZXJ2X3NvY2sucmVjdihsZW4oTVNHKSksIE1TRykKKworICAgIGRlZiBfdGVzdFNlbmRtc2coc2VsZik6CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5zZW5kbXNnVG9TZXJ2ZXIoW01TR10pLCBsZW4oTVNHKSkKKworICAgIGRlZiB0ZXN0U2VuZG1zZ0RhdGFHZW5lcmF0b3Ioc2VsZik6CisgICAgICAgICMgU2VuZCBmcm9tIGJ1ZmZlciBvYnRhaW5lZCBmcm9tIGEgZ2VuZXJhdG9yIChub3QgYSBzZXF1ZW5jZSkuCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5zZXJ2X3NvY2sucmVjdihsZW4oTVNHKSksIE1TRykKKworICAgIGRlZiBfdGVzdFNlbmRtc2dEYXRhR2VuZXJhdG9yKHNlbGYpOgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuc2VuZG1zZ1RvU2VydmVyKChvIGZvciBvIGluIFtNU0ddKSksCisgICAgICAgICAgICAgICAgICAgICAgICAgbGVuKE1TRykpCisKKyAgICBkZWYgdGVzdFNlbmRtc2dBbmNpbGxhcnlHZW5lcmF0b3Ioc2VsZik6CisgICAgICAgICMgR2F0aGVyIChlbXB0eSkgYW5jaWxsYXJ5IGRhdGEgZnJvbSBhIGdlbmVyYXRvci4KKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLnNlcnZfc29jay5yZWN2KGxlbihNU0cpKSwgTVNHKQorCisgICAgZGVmIF90ZXN0U2VuZG1zZ0FuY2lsbGFyeUdlbmVyYXRvcihzZWxmKToKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLnNlbmRtc2dUb1NlcnZlcihbTVNHXSwgKG8gZm9yIG8gaW4gW10pKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBsZW4oTVNHKSkKKworICAgIGRlZiB0ZXN0U2VuZG1zZ0FycmF5KHNlbGYpOgorICAgICAgICAjIFNlbmQgZGF0YSBmcm9tIGFuIGFycmF5IGluc3RlYWQgb2YgdGhlIHVzdWFsIGJ5dGVzIG9iamVjdC4KKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLnNlcnZfc29jay5yZWN2KGxlbihNU0cpKSwgTVNHKQorCisgICAgZGVmIF90ZXN0U2VuZG1zZ0FycmF5KHNlbGYpOgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuc2VuZG1zZ1RvU2VydmVyKFthcnJheS5hcnJheSgiQiIsIE1TRyldKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBsZW4oTVNHKSkKKworICAgIGRlZiB0ZXN0U2VuZG1zZ0dhdGhlcihzZWxmKToKKyAgICAgICAgIyBTZW5kIG1lc3NhZ2UgZGF0YSBmcm9tIG1vcmUgdGhhbiBvbmUgYnVmZmVyIChnYXRoZXIgd3JpdGUpLgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuc2Vydl9zb2NrLnJlY3YobGVuKE1TRykpLCBNU0cpCisKKyAgICBkZWYgX3Rlc3RTZW5kbXNnR2F0aGVyKHNlbGYpOgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuc2VuZG1zZ1RvU2VydmVyKFtNU0dbOjNdLCBNU0dbMzpdXSksIGxlbihNU0cpKQorCisgICAgZGVmIHRlc3RTZW5kbXNnQmFkQXJncyhzZWxmKToKKyAgICAgICAgIyBDaGVjayB0aGF0IHNlbmRtc2coKSByZWplY3RzIGludmFsaWQgYXJndW1lbnRzLgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuc2Vydl9zb2NrLnJlY3YoMTAwMCksIGIiZG9uZSIpCisKKyAgICBkZWYgX3Rlc3RTZW5kbXNnQmFkQXJncyhzZWxmKToKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBzZWxmLmNsaV9zb2NrLnNlbmRtc2cpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgc2VsZi5zZW5kbXNnVG9TZXJ2ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGIibm90IGluIGFuIGl0ZXJhYmxlIikKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBzZWxmLnNlbmRtc2dUb1NlcnZlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqZWN0KCkpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgc2VsZi5zZW5kbXNnVG9TZXJ2ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgIFtvYmplY3QoKV0pCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgc2VsZi5zZW5kbXNnVG9TZXJ2ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgIFtNU0csIG9iamVjdCgpXSkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBzZWxmLnNlbmRtc2dUb1NlcnZlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgW01TR10sIG9iamVjdCgpKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIHNlbGYuc2VuZG1zZ1RvU2VydmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICBbTVNHXSwgW10sIG9iamVjdCgpKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIHNlbGYuc2VuZG1zZ1RvU2VydmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICBbTVNHXSwgW10sIDAsIG9iamVjdCgpKQorICAgICAgICBzZWxmLnNlbmRUb1NlcnZlcihiImRvbmUiKQorCisgICAgZGVmIHRlc3RTZW5kbXNnQmFkQ21zZyhzZWxmKToKKyAgICAgICAgIyBDaGVjayB0aGF0IGludmFsaWQgYW5jaWxsYXJ5IGRhdGEgaXRlbXMgYXJlIHJlamVjdGVkLgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuc2Vydl9zb2NrLnJlY3YoMTAwMCksIGIiZG9uZSIpCisKKyAgICBkZWYgX3Rlc3RTZW5kbXNnQmFkQ21zZyhzZWxmKToKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBzZWxmLnNlbmRtc2dUb1NlcnZlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgW01TR10sIFtvYmplY3QoKV0pCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgc2VsZi5zZW5kbXNnVG9TZXJ2ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgIFtNU0ddLCBbKG9iamVjdCgpLCAwLCBiImRhdGEiKV0pCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgc2VsZi5zZW5kbXNnVG9TZXJ2ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgIFtNU0ddLCBbKDAsIG9iamVjdCgpLCBiImRhdGEiKV0pCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgc2VsZi5zZW5kbXNnVG9TZXJ2ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgIFtNU0ddLCBbKDAsIDAsIG9iamVjdCgpKV0pCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgc2VsZi5zZW5kbXNnVG9TZXJ2ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgIFtNU0ddLCBbKDAsIDApXSkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBzZWxmLnNlbmRtc2dUb1NlcnZlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgW01TR10sIFsoMCwgMCwgYiJkYXRhIiwgNDIpXSkKKyAgICAgICAgc2VsZi5zZW5kVG9TZXJ2ZXIoYiJkb25lIikKKworICAgIEByZXF1aXJlQXR0cnMoc29ja2V0LCAiQ01TR19TUEFDRSIpCisgICAgZGVmIHRlc3RTZW5kbXNnQmFkTXVsdGlDbXNnKHNlbGYpOgorICAgICAgICAjIENoZWNrIHRoYXQgaW52YWxpZCBhbmNpbGxhcnkgZGF0YSBpdGVtcyBhcmUgcmVqZWN0ZWQgd2hlbgorICAgICAgICAjIG1vcmUgdGhhbiBvbmUgaXRlbSBpcyBwcmVzZW50LgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuc2Vydl9zb2NrLnJlY3YoMTAwMCksIGIiZG9uZSIpCisKKyAgICBAdGVzdFNlbmRtc2dCYWRNdWx0aUNtc2cuY2xpZW50X3NraXAKKyAgICBkZWYgX3Rlc3RTZW5kbXNnQmFkTXVsdGlDbXNnKHNlbGYpOgorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIHNlbGYuc2VuZG1zZ1RvU2VydmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICBbTVNHXSwgWzAsIDAsIGIiIl0pCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgc2VsZi5zZW5kbXNnVG9TZXJ2ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgIFtNU0ddLCBbKDAsIDAsIGIiIiksIG9iamVjdCgpXSkKKyAgICAgICAgc2VsZi5zZW5kVG9TZXJ2ZXIoYiJkb25lIikKKworICAgIGRlZiB0ZXN0U2VuZG1zZ0V4Y2Vzc0Ntc2dSZWplY3Qoc2VsZik6CisgICAgICAgICMgQ2hlY2sgdGhhdCBzZW5kbXNnKCkgcmVqZWN0cyBleGNlc3MgYW5jaWxsYXJ5IGRhdGEgaXRlbXMKKyAgICAgICAgIyB3aGVuIHRoZSBudW1iZXIgdGhhdCBjYW4gYmUgc2VudCBpcyBsaW1pdGVkLgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuc2Vydl9zb2NrLnJlY3YoMTAwMCksIGIiZG9uZSIpCisKKyAgICBkZWYgX3Rlc3RTZW5kbXNnRXhjZXNzQ21zZ1JlamVjdChzZWxmKToKKyAgICAgICAgaWYgbm90IGhhc2F0dHIoc29ja2V0LCAiQ01TR19TUEFDRSIpOgorICAgICAgICAgICAgIyBDYW4gb25seSBzZW5kIG9uZSBpdGVtCisgICAgICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKHNvY2tldC5lcnJvcikgYXMgY206CisgICAgICAgICAgICAgICAgc2VsZi5zZW5kbXNnVG9TZXJ2ZXIoW01TR10sIFsoMCwgMCwgYiIiKSwgKDAsIDAsIGIiIildKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUoY20uZXhjZXB0aW9uLmVycm5vKQorICAgICAgICBzZWxmLnNlbmRUb1NlcnZlcihiImRvbmUiKQorCisgICAgZGVmIHRlc3RTZW5kbXNnQWZ0ZXJDbG9zZShzZWxmKToKKyAgICAgICAgIyBDaGVjayB0aGF0IHNlbmRtc2coKSBmYWlscyBvbiBhIGNsb3NlZCBzb2NrZXQuCisgICAgICAgIHBhc3MKKworICAgIGRlZiBfdGVzdFNlbmRtc2dBZnRlckNsb3NlKHNlbGYpOgorICAgICAgICBzZWxmLmNsaV9zb2NrLmNsb3NlKCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoc29ja2V0LmVycm9yLCBzZWxmLnNlbmRtc2dUb1NlcnZlciwgW01TR10pCisKKworY2xhc3MgU2VuZG1zZ1N0cmVhbVRlc3RzKFNlbmRtc2dUZXN0cyk6CisgICAgIyBUZXN0cyBmb3Igc2VuZG1zZygpIHdoaWNoIHJlcXVpcmUgYSBzdHJlYW0gc29ja2V0IGFuZCBkbyBub3QKKyAgICAjIGludm9sdmUgcmVjdm1zZygpIG9yIHJlY3Ztc2dfaW50bygpLgorCisgICAgZGVmIHRlc3RTZW5kbXNnRXhwbGljaXROb25lQWRkcihzZWxmKToKKyAgICAgICAgIyBDaGVjayB0aGF0IHBlZXIgYWRkcmVzcyBjYW4gYmUgc3BlY2lmaWVkIGFzIE5vbmUuCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5zZXJ2X3NvY2sucmVjdihsZW4oTVNHKSksIE1TRykKKworICAgIGRlZiBfdGVzdFNlbmRtc2dFeHBsaWNpdE5vbmVBZGRyKHNlbGYpOgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuc2VuZG1zZ1RvU2VydmVyKFtNU0ddLCBbXSwgMCwgTm9uZSksIGxlbihNU0cpKQorCisgICAgZGVmIHRlc3RTZW5kbXNnVGltZW91dChzZWxmKToKKyAgICAgICAgIyBDaGVjayB0aGF0IHRpbWVvdXQgd29ya3Mgd2l0aCBzZW5kbXNnKCkuCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5zZXJ2X3NvY2sucmVjdig1MTIpLCBiImEiKjUxMikKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHNlbGYubWlzY19ldmVudC53YWl0KHRpbWVvdXQ9c2VsZi5mYWlsX3RpbWVvdXQpKQorCisgICAgZGVmIF90ZXN0U2VuZG1zZ1RpbWVvdXQoc2VsZik6CisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHNlbGYuY2xpX3NvY2suc2V0dGltZW91dCgwLjAzKQorICAgICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhzb2NrZXQudGltZW91dCk6CisgICAgICAgICAgICAgICAgd2hpbGUgVHJ1ZToKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5zZW5kbXNnVG9TZXJ2ZXIoW2IiYSIqNTEyXSkKKyAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgIHNlbGYubWlzY19ldmVudC5zZXQoKQorCisgICAgIyBYWFg6IHdvdWxkIGJlIG5pY2UgdG8gaGF2ZSBtb3JlIHRlc3RzIGZvciBzZW5kbXNnIGZsYWdzIGFyZ3VtZW50LgorCisgICAgIyBMaW51eCBzdXBwb3J0cyBNU0dfRE9OVFdBSVQgd2hlbiBzZW5kaW5nLCBidXQgaW4gZ2VuZXJhbCwgaXQKKyAgICAjIG9ubHkgd29ya3Mgd2hlbiByZWNlaXZpbmcuICBDb3VsZCBhZGQgb3RoZXIgcGxhdGZvcm1zIGlmIHRoZXkKKyAgICAjIHN1cHBvcnQgaXQgdG9vLgorICAgIEBza2lwV2l0aENsaWVudElmKHN5cy5wbGF0Zm9ybSBub3QgaW4geyJsaW51eDIifSwKKyAgICAgICAgICAgICAgICAgICAgICAiTVNHX0RPTlRXQUlUIG5vdCBrbm93biB0byB3b3JrIG9uIHRoaXMgcGxhdGZvcm0gd2hlbiAiCisgICAgICAgICAgICAgICAgICAgICAgInNlbmRpbmciKQorICAgIGRlZiB0ZXN0U2VuZG1zZ0RvbnRXYWl0KHNlbGYpOgorICAgICAgICAjIENoZWNrIHRoYXQgTVNHX0RPTlRXQUlUIGluIGZsYWdzIGNhdXNlcyBub24tYmxvY2tpbmcgYmVoYXZpb3VyLgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuc2Vydl9zb2NrLnJlY3YoNTEyKSwgYiJhIio1MTIpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShzZWxmLm1pc2NfZXZlbnQud2FpdCh0aW1lb3V0PXNlbGYuZmFpbF90aW1lb3V0KSkKKworICAgIEB0ZXN0U2VuZG1zZ0RvbnRXYWl0LmNsaWVudF9za2lwCisgICAgZGVmIF90ZXN0U2VuZG1zZ0RvbnRXYWl0KHNlbGYpOgorICAgICAgICB0cnk6CisgICAgICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKHNvY2tldC5lcnJvcikgYXMgY206CisgICAgICAgICAgICAgICAgd2hpbGUgVHJ1ZToKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5zZW5kbXNnVG9TZXJ2ZXIoW2IiYSIqNTEyXSwgW10sIHNvY2tldC5NU0dfRE9OVFdBSVQpCisgICAgICAgICAgICBzZWxmLmFzc2VydEluKGNtLmV4Y2VwdGlvbi5lcnJubywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgKGVycm5vLkVBR0FJTiwgZXJybm8uRVdPVUxEQkxPQ0spKQorICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgc2VsZi5taXNjX2V2ZW50LnNldCgpCisKKworY2xhc3MgU2VuZG1zZ0Nvbm5lY3Rpb25sZXNzVGVzdHMoU2VuZG1zZ1Rlc3RzKToKKyAgICAjIFRlc3RzIGZvciBzZW5kbXNnKCkgd2hpY2ggcmVxdWlyZSBhIGNvbm5lY3Rpb25sZXNzLW1vZGUKKyAgICAjIChlLmcuIGRhdGFncmFtKSBzb2NrZXQsIGFuZCBkbyBub3QgaW52b2x2ZSByZWN2bXNnKCkgb3IKKyAgICAjIHJlY3Ztc2dfaW50bygpLgorCisgICAgZGVmIHRlc3RTZW5kbXNnTm9EZXN0QWRkcihzZWxmKToKKyAgICAgICAgIyBDaGVjayB0aGF0IHNlbmRtc2coKSBmYWlscyB3aGVuIG5vIGRlc3RpbmF0aW9uIGFkZHJlc3MgaXMKKyAgICAgICAgIyBnaXZlbiBmb3IgdW5jb25uZWN0ZWQgc29ja2V0LgorICAgICAgICBwYXNzCisKKyAgICBkZWYgX3Rlc3RTZW5kbXNnTm9EZXN0QWRkcihzZWxmKToKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoc29ja2V0LmVycm9yLCBzZWxmLmNsaV9zb2NrLnNlbmRtc2csCisgICAgICAgICAgICAgICAgICAgICAgICAgIFtNU0ddKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhzb2NrZXQuZXJyb3IsIHNlbGYuY2xpX3NvY2suc2VuZG1zZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgW01TR10sIFtdLCAwLCBOb25lKQorCisKK2NsYXNzIFJlY3Ztc2dHZW5lcmljVGVzdHMoU2VuZHJlY3Ztc2dCYXNlKToKKyAgICAjIFRlc3RzIGZvciByZWN2bXNnKCkgd2hpY2ggY2FuIGFsc28gYmUgZW11bGF0ZWQgdXNpbmcKKyAgICAjIHJlY3Ztc2dfaW50bygpLCBhbmQgY2FuIHVzZSBhbnkgc29ja2V0IHR5cGUuCisKKyAgICBkZWYgdGVzdFJlY3Ztc2coc2VsZik6CisgICAgICAgICMgUmVjZWl2ZSBhIHNpbXBsZSBtZXNzYWdlIHdpdGggcmVjdm1zZ1tfaW50b10oKS4KKyAgICAgICAgbXNnLCBhbmNkYXRhLCBmbGFncywgYWRkciA9IHNlbGYuZG9SZWN2bXNnKHNlbGYuc2Vydl9zb2NrLCBsZW4oTVNHKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtc2csIE1TRykKKyAgICAgICAgc2VsZi5jaGVja1JlY3Ztc2dBZGRyZXNzKGFkZHIsIHNlbGYuY2xpX2FkZHIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYW5jZGF0YSwgW10pCisgICAgICAgIHNlbGYuY2hlY2tGbGFncyhmbGFncywgZW9yPVRydWUpCisKKyAgICBkZWYgX3Rlc3RSZWN2bXNnKHNlbGYpOgorICAgICAgICBzZWxmLnNlbmRUb1NlcnZlcihNU0cpCisKKyAgICBkZWYgdGVzdFJlY3Ztc2dFeHBsaWNpdERlZmF1bHRzKHNlbGYpOgorICAgICAgICAjIFRlc3QgcmVjdm1zZ1tfaW50b10oKSB3aXRoIGRlZmF1bHQgYXJndW1lbnRzIHByb3ZpZGVkIGV4cGxpY2l0bHkuCisgICAgICAgIG1zZywgYW5jZGF0YSwgZmxhZ3MsIGFkZHIgPSBzZWxmLmRvUmVjdm1zZyhzZWxmLnNlcnZfc29jaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlbihNU0cpLCAwLCAwKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1zZywgTVNHKQorICAgICAgICBzZWxmLmNoZWNrUmVjdm1zZ0FkZHJlc3MoYWRkciwgc2VsZi5jbGlfYWRkcikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChhbmNkYXRhLCBbXSkKKyAgICAgICAgc2VsZi5jaGVja0ZsYWdzKGZsYWdzLCBlb3I9VHJ1ZSkKKworICAgIGRlZiBfdGVzdFJlY3Ztc2dFeHBsaWNpdERlZmF1bHRzKHNlbGYpOgorICAgICAgICBzZWxmLnNlbmRUb1NlcnZlcihNU0cpCisKKyAgICBkZWYgdGVzdFJlY3Ztc2dTaG9ydGVyKHNlbGYpOgorICAgICAgICAjIFJlY2VpdmUgYSBtZXNzYWdlIHNtYWxsZXIgdGhhbiBidWZmZXIuCisgICAgICAgIG1zZywgYW5jZGF0YSwgZmxhZ3MsIGFkZHIgPSBzZWxmLmRvUmVjdm1zZyhzZWxmLnNlcnZfc29jaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlbihNU0cpICsgNDIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobXNnLCBNU0cpCisgICAgICAgIHNlbGYuY2hlY2tSZWN2bXNnQWRkcmVzcyhhZGRyLCBzZWxmLmNsaV9hZGRyKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGFuY2RhdGEsIFtdKQorICAgICAgICBzZWxmLmNoZWNrRmxhZ3MoZmxhZ3MsIGVvcj1UcnVlKQorCisgICAgZGVmIF90ZXN0UmVjdm1zZ1Nob3J0ZXIoc2VsZik6CisgICAgICAgIHNlbGYuc2VuZFRvU2VydmVyKE1TRykKKworICAgICMgRnJlZUJTRCA8IDggZG9lc24ndCBhbHdheXMgc2V0IHRoZSBNU0dfVFJVTkMgZmxhZyB3aGVuIGEgdHJ1bmNhdGVkCisgICAgIyBkYXRhZ3JhbSBpcyByZWNlaXZlZCAoaXNzdWUgIzEzMDAxKS4KKyAgICBAc3VwcG9ydC5yZXF1aXJlc19mcmVlYnNkX3ZlcnNpb24oOCkKKyAgICBkZWYgdGVzdFJlY3Ztc2dUcnVuYyhzZWxmKToKKyAgICAgICAgIyBSZWNlaXZlIHBhcnQgb2YgbWVzc2FnZSwgY2hlY2sgZm9yIHRydW5jYXRpb24gaW5kaWNhdG9ycy4KKyAgICAgICAgbXNnLCBhbmNkYXRhLCBmbGFncywgYWRkciA9IHNlbGYuZG9SZWN2bXNnKHNlbGYuc2Vydl9zb2NrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuKE1TRykgLSAzKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1zZywgTVNHWzotM10pCisgICAgICAgIHNlbGYuY2hlY2tSZWN2bXNnQWRkcmVzcyhhZGRyLCBzZWxmLmNsaV9hZGRyKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGFuY2RhdGEsIFtdKQorICAgICAgICBzZWxmLmNoZWNrRmxhZ3MoZmxhZ3MsIGVvcj1GYWxzZSkKKworICAgIEBzdXBwb3J0LnJlcXVpcmVzX2ZyZWVic2RfdmVyc2lvbig4KQorICAgIGRlZiBfdGVzdFJlY3Ztc2dUcnVuYyhzZWxmKToKKyAgICAgICAgc2VsZi5zZW5kVG9TZXJ2ZXIoTVNHKQorCisgICAgZGVmIHRlc3RSZWN2bXNnU2hvcnRBbmNpbGxhcnlCdWYoc2VsZik6CisgICAgICAgICMgVGVzdCBhbmNpbGxhcnkgZGF0YSBidWZmZXIgdG9vIHNtYWxsIHRvIGhvbGQgYW55IGFuY2lsbGFyeSBkYXRhLgorICAgICAgICBtc2csIGFuY2RhdGEsIGZsYWdzLCBhZGRyID0gc2VsZi5kb1JlY3Ztc2coc2VsZi5zZXJ2X3NvY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZW4oTVNHKSwgMSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtc2csIE1TRykKKyAgICAgICAgc2VsZi5jaGVja1JlY3Ztc2dBZGRyZXNzKGFkZHIsIHNlbGYuY2xpX2FkZHIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYW5jZGF0YSwgW10pCisgICAgICAgIHNlbGYuY2hlY2tGbGFncyhmbGFncywgZW9yPVRydWUpCisKKyAgICBkZWYgX3Rlc3RSZWN2bXNnU2hvcnRBbmNpbGxhcnlCdWYoc2VsZik6CisgICAgICAgIHNlbGYuc2VuZFRvU2VydmVyKE1TRykKKworICAgIGRlZiB0ZXN0UmVjdm1zZ0xvbmdBbmNpbGxhcnlCdWYoc2VsZik6CisgICAgICAgICMgVGVzdCBsYXJnZSBhbmNpbGxhcnkgZGF0YSBidWZmZXIuCisgICAgICAgIG1zZywgYW5jZGF0YSwgZmxhZ3MsIGFkZHIgPSBzZWxmLmRvUmVjdm1zZyhzZWxmLnNlcnZfc29jaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlbihNU0cpLCAxMDI0MCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtc2csIE1TRykKKyAgICAgICAgc2VsZi5jaGVja1JlY3Ztc2dBZGRyZXNzKGFkZHIsIHNlbGYuY2xpX2FkZHIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYW5jZGF0YSwgW10pCisgICAgICAgIHNlbGYuY2hlY2tGbGFncyhmbGFncywgZW9yPVRydWUpCisKKyAgICBkZWYgX3Rlc3RSZWN2bXNnTG9uZ0FuY2lsbGFyeUJ1ZihzZWxmKToKKyAgICAgICAgc2VsZi5zZW5kVG9TZXJ2ZXIoTVNHKQorCisgICAgZGVmIHRlc3RSZWN2bXNnQWZ0ZXJDbG9zZShzZWxmKToKKyAgICAgICAgIyBDaGVjayB0aGF0IHJlY3Ztc2dbX2ludG9dKCkgZmFpbHMgb24gYSBjbG9zZWQgc29ja2V0LgorICAgICAgICBzZWxmLnNlcnZfc29jay5jbG9zZSgpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKHNvY2tldC5lcnJvciwgc2VsZi5kb1JlY3Ztc2csIHNlbGYuc2Vydl9zb2NrLCAxMDI0KQorCisgICAgZGVmIF90ZXN0UmVjdm1zZ0FmdGVyQ2xvc2Uoc2VsZik6CisgICAgICAgIHBhc3MKKworICAgIGRlZiB0ZXN0UmVjdm1zZ1RpbWVvdXQoc2VsZik6CisgICAgICAgICMgQ2hlY2sgdGhhdCB0aW1lb3V0IHdvcmtzLgorICAgICAgICB0cnk6CisgICAgICAgICAgICBzZWxmLnNlcnZfc29jay5zZXR0aW1lb3V0KDAuMDMpCisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhzb2NrZXQudGltZW91dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuZG9SZWN2bXNnLCBzZWxmLnNlcnZfc29jaywgbGVuKE1TRykpCisgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICBzZWxmLm1pc2NfZXZlbnQuc2V0KCkKKworICAgIGRlZiBfdGVzdFJlY3Ztc2dUaW1lb3V0KHNlbGYpOgorICAgICAgICBzZWxmLmFzc2VydFRydWUoc2VsZi5taXNjX2V2ZW50LndhaXQodGltZW91dD1zZWxmLmZhaWxfdGltZW91dCkpCisKKyAgICBAcmVxdWlyZUF0dHJzKHNvY2tldCwgIk1TR19QRUVLIikKKyAgICBkZWYgdGVzdFJlY3Ztc2dQZWVrKHNlbGYpOgorICAgICAgICAjIENoZWNrIHRoYXQgTVNHX1BFRUsgaW4gZmxhZ3MgZW5hYmxlcyBleGFtaW5hdGlvbiBvZiBwZW5kaW5nCisgICAgICAgICMgZGF0YSB3aXRob3V0IGNvbnN1bWluZyBpdC4KKworICAgICAgICAjIFJlY2VpdmUgcGFydCBvZiBkYXRhIHdpdGggTVNHX1BFRUsuCisgICAgICAgIG1zZywgYW5jZGF0YSwgZmxhZ3MsIGFkZHIgPSBzZWxmLmRvUmVjdm1zZyhzZWxmLnNlcnZfc29jaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlbihNU0cpIC0gMywgMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvY2tldC5NU0dfUEVFSykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtc2csIE1TR1s6LTNdKQorICAgICAgICBzZWxmLmNoZWNrUmVjdm1zZ0FkZHJlc3MoYWRkciwgc2VsZi5jbGlfYWRkcikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChhbmNkYXRhLCBbXSkKKyAgICAgICAgIyBJZ25vcmluZyBNU0dfVFJVTkMgaGVyZSAoc28gdGhpcyB0ZXN0IGlzIHRoZSBzYW1lIGZvciBzdHJlYW0KKyAgICAgICAgIyBhbmQgZGF0YWdyYW0gc29ja2V0cykuICBTb21lIHdvcmRpbmcgaW4gUE9TSVggc2VlbXMgdG8KKyAgICAgICAgIyBzdWdnZXN0IHRoYXQgaXQgbmVlZG4ndCBiZSBzZXQgd2hlbiBwZWVraW5nLCBidXQgdGhhdCBtYXkKKyAgICAgICAgIyBqdXN0IGJlIGEgc2xpcC4KKyAgICAgICAgc2VsZi5jaGVja0ZsYWdzKGZsYWdzLCBlb3I9RmFsc2UsCisgICAgICAgICAgICAgICAgICAgICAgICBpZ25vcmU9Z2V0YXR0cihzb2NrZXQsICJNU0dfVFJVTkMiLCAwKSkKKworICAgICAgICAjIFJlY2VpdmUgYWxsIGRhdGEgd2l0aCBNU0dfUEVFSy4KKyAgICAgICAgbXNnLCBhbmNkYXRhLCBmbGFncywgYWRkciA9IHNlbGYuZG9SZWN2bXNnKHNlbGYuc2Vydl9zb2NrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuKE1TRyksIDAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb2NrZXQuTVNHX1BFRUspCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobXNnLCBNU0cpCisgICAgICAgIHNlbGYuY2hlY2tSZWN2bXNnQWRkcmVzcyhhZGRyLCBzZWxmLmNsaV9hZGRyKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGFuY2RhdGEsIFtdKQorICAgICAgICBzZWxmLmNoZWNrRmxhZ3MoZmxhZ3MsIGVvcj1UcnVlKQorCisgICAgICAgICMgQ2hlY2sgdGhhdCB0aGUgc2FtZSBkYXRhIGNhbiBzdGlsbCBiZSByZWNlaXZlZCBub3JtYWxseS4KKyAgICAgICAgbXNnLCBhbmNkYXRhLCBmbGFncywgYWRkciA9IHNlbGYuZG9SZWN2bXNnKHNlbGYuc2Vydl9zb2NrLCBsZW4oTVNHKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtc2csIE1TRykKKyAgICAgICAgc2VsZi5jaGVja1JlY3Ztc2dBZGRyZXNzKGFkZHIsIHNlbGYuY2xpX2FkZHIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYW5jZGF0YSwgW10pCisgICAgICAgIHNlbGYuY2hlY2tGbGFncyhmbGFncywgZW9yPVRydWUpCisKKyAgICBAdGVzdFJlY3Ztc2dQZWVrLmNsaWVudF9za2lwCisgICAgZGVmIF90ZXN0UmVjdm1zZ1BlZWsoc2VsZik6CisgICAgICAgIHNlbGYuc2VuZFRvU2VydmVyKE1TRykKKworICAgIEByZXF1aXJlQXR0cnMoc29ja2V0LnNvY2tldCwgInNlbmRtc2ciKQorICAgIGRlZiB0ZXN0UmVjdm1zZ0Zyb21TZW5kbXNnKHNlbGYpOgorICAgICAgICAjIFRlc3QgcmVjZWl2aW5nIHdpdGggcmVjdm1zZ1tfaW50b10oKSB3aGVuIG1lc3NhZ2UgaXMgc2VudAorICAgICAgICAjIHVzaW5nIHNlbmRtc2coKS4KKyAgICAgICAgc2VsZi5zZXJ2X3NvY2suc2V0dGltZW91dChzZWxmLmZhaWxfdGltZW91dCkKKyAgICAgICAgbXNnLCBhbmNkYXRhLCBmbGFncywgYWRkciA9IHNlbGYuZG9SZWN2bXNnKHNlbGYuc2Vydl9zb2NrLCBsZW4oTVNHKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtc2csIE1TRykKKyAgICAgICAgc2VsZi5jaGVja1JlY3Ztc2dBZGRyZXNzKGFkZHIsIHNlbGYuY2xpX2FkZHIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYW5jZGF0YSwgW10pCisgICAgICAgIHNlbGYuY2hlY2tGbGFncyhmbGFncywgZW9yPVRydWUpCisKKyAgICBAdGVzdFJlY3Ztc2dGcm9tU2VuZG1zZy5jbGllbnRfc2tpcAorICAgIGRlZiBfdGVzdFJlY3Ztc2dGcm9tU2VuZG1zZyhzZWxmKToKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLnNlbmRtc2dUb1NlcnZlcihbTVNHWzozXSwgTVNHWzM6XV0pLCBsZW4oTVNHKSkKKworCitjbGFzcyBSZWN2bXNnR2VuZXJpY1N0cmVhbVRlc3RzKFJlY3Ztc2dHZW5lcmljVGVzdHMpOgorICAgICMgVGVzdHMgd2hpY2ggcmVxdWlyZSBhIHN0cmVhbSBzb2NrZXQgYW5kIGNhbiB1c2UgZWl0aGVyIHJlY3Ztc2coKQorICAgICMgb3IgcmVjdm1zZ19pbnRvKCkuCisKKyAgICBkZWYgdGVzdFJlY3Ztc2dFT0Yoc2VsZik6CisgICAgICAgICMgUmVjZWl2ZSBlbmQtb2Ytc3RyZWFtIGluZGljYXRvciAoYiIiLCBwZWVyIHNvY2tldCBjbG9zZWQpLgorICAgICAgICBtc2csIGFuY2RhdGEsIGZsYWdzLCBhZGRyID0gc2VsZi5kb1JlY3Ztc2coc2VsZi5zZXJ2X3NvY2ssIDEwMjQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobXNnLCBiIiIpCisgICAgICAgIHNlbGYuY2hlY2tSZWN2bXNnQWRkcmVzcyhhZGRyLCBzZWxmLmNsaV9hZGRyKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGFuY2RhdGEsIFtdKQorICAgICAgICBzZWxmLmNoZWNrRmxhZ3MoZmxhZ3MsIGVvcj1Ob25lKSAjIE1pZ2h0IG5vdCBoYXZlIGVuZC1vZi1yZWNvcmQgbWFya2VyCisKKyAgICBkZWYgX3Rlc3RSZWN2bXNnRU9GKHNlbGYpOgorICAgICAgICBzZWxmLmNsaV9zb2NrLmNsb3NlKCkKKworICAgIGRlZiB0ZXN0UmVjdm1zZ092ZXJmbG93KHNlbGYpOgorICAgICAgICAjIFJlY2VpdmUgYSBtZXNzYWdlIGluIG1vcmUgdGhhbiBvbmUgY2h1bmsuCisgICAgICAgIHNlZzEsIGFuY2RhdGEsIGZsYWdzLCBhZGRyID0gc2VsZi5kb1JlY3Ztc2coc2VsZi5zZXJ2X3NvY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuKE1TRykgLSAzKQorICAgICAgICBzZWxmLmNoZWNrUmVjdm1zZ0FkZHJlc3MoYWRkciwgc2VsZi5jbGlfYWRkcikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChhbmNkYXRhLCBbXSkKKyAgICAgICAgc2VsZi5jaGVja0ZsYWdzKGZsYWdzLCBlb3I9RmFsc2UpCisKKyAgICAgICAgc2VnMiwgYW5jZGF0YSwgZmxhZ3MsIGFkZHIgPSBzZWxmLmRvUmVjdm1zZyhzZWxmLnNlcnZfc29jaywgMTAyNCkKKyAgICAgICAgc2VsZi5jaGVja1JlY3Ztc2dBZGRyZXNzKGFkZHIsIHNlbGYuY2xpX2FkZHIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYW5jZGF0YSwgW10pCisgICAgICAgIHNlbGYuY2hlY2tGbGFncyhmbGFncywgZW9yPVRydWUpCisKKyAgICAgICAgbXNnID0gc2VnMSArIHNlZzIKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtc2csIE1TRykKKworICAgIGRlZiBfdGVzdFJlY3Ztc2dPdmVyZmxvdyhzZWxmKToKKyAgICAgICAgc2VsZi5zZW5kVG9TZXJ2ZXIoTVNHKQorCisKK2NsYXNzIFJlY3Ztc2dUZXN0cyhSZWN2bXNnR2VuZXJpY1Rlc3RzKToKKyAgICAjIFRlc3RzIGZvciByZWN2bXNnKCkgd2hpY2ggY2FuIHVzZSBhbnkgc29ja2V0IHR5cGUuCisKKyAgICBkZWYgdGVzdFJlY3Ztc2dCYWRBcmdzKHNlbGYpOgorICAgICAgICAjIENoZWNrIHRoYXQgcmVjdm1zZygpIHJlamVjdHMgaW52YWxpZCBhcmd1bWVudHMuCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgc2VsZi5zZXJ2X3NvY2sucmVjdm1zZykKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgc2VsZi5zZXJ2X3NvY2sucmVjdm1zZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgLTEsIDAsIDApCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIHNlbGYuc2Vydl9zb2NrLnJlY3Ztc2csCisgICAgICAgICAgICAgICAgICAgICAgICAgIGxlbihNU0cpLCAtMSwgMCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBzZWxmLnNlcnZfc29jay5yZWN2bXNnLAorICAgICAgICAgICAgICAgICAgICAgICAgICBbYnl0ZWFycmF5KDEwKV0sIDAsIDApCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgc2VsZi5zZXJ2X3NvY2sucmVjdm1zZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqZWN0KCksIDAsIDApCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgc2VsZi5zZXJ2X3NvY2sucmVjdm1zZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuKE1TRyksIG9iamVjdCgpLCAwKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIHNlbGYuc2Vydl9zb2NrLnJlY3Ztc2csCisgICAgICAgICAgICAgICAgICAgICAgICAgIGxlbihNU0cpLCAwLCBvYmplY3QoKSkKKworICAgICAgICBtc2csIGFuY2RhdGEsIGZsYWdzLCBhZGRyID0gc2VsZi5zZXJ2X3NvY2sucmVjdm1zZyhsZW4oTVNHKSwgMCwgMCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtc2csIE1TRykKKyAgICAgICAgc2VsZi5jaGVja1JlY3Ztc2dBZGRyZXNzKGFkZHIsIHNlbGYuY2xpX2FkZHIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYW5jZGF0YSwgW10pCisgICAgICAgIHNlbGYuY2hlY2tGbGFncyhmbGFncywgZW9yPVRydWUpCisKKyAgICBkZWYgX3Rlc3RSZWN2bXNnQmFkQXJncyhzZWxmKToKKyAgICAgICAgc2VsZi5zZW5kVG9TZXJ2ZXIoTVNHKQorCisKK2NsYXNzIFJlY3Ztc2dJbnRvVGVzdHMoUmVjdm1zZ0ludG9NaXhpbiwgUmVjdm1zZ0dlbmVyaWNUZXN0cyk6CisgICAgIyBUZXN0cyBmb3IgcmVjdm1zZ19pbnRvKCkgd2hpY2ggY2FuIHVzZSBhbnkgc29ja2V0IHR5cGUuCisKKyAgICBkZWYgdGVzdFJlY3Ztc2dJbnRvQmFkQXJncyhzZWxmKToKKyAgICAgICAgIyBDaGVjayB0aGF0IHJlY3Ztc2dfaW50bygpIHJlamVjdHMgaW52YWxpZCBhcmd1bWVudHMuCisgICAgICAgIGJ1ZiA9IGJ5dGVhcnJheShsZW4oTVNHKSkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBzZWxmLnNlcnZfc29jay5yZWN2bXNnX2ludG8pCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgc2VsZi5zZXJ2X3NvY2sucmVjdm1zZ19pbnRvLAorICAgICAgICAgICAgICAgICAgICAgICAgICBsZW4oTVNHKSwgMCwgMCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBzZWxmLnNlcnZfc29jay5yZWN2bXNnX2ludG8sCisgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1ZiwgMCwgMCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBzZWxmLnNlcnZfc29jay5yZWN2bXNnX2ludG8sCisgICAgICAgICAgICAgICAgICAgICAgICAgIFtvYmplY3QoKV0sIDAsIDApCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgc2VsZi5zZXJ2X3NvY2sucmVjdm1zZ19pbnRvLAorICAgICAgICAgICAgICAgICAgICAgICAgICBbYiJJJ20gbm90IHdyaXRhYmxlIl0sIDAsIDApCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgc2VsZi5zZXJ2X3NvY2sucmVjdm1zZ19pbnRvLAorICAgICAgICAgICAgICAgICAgICAgICAgICBbYnVmLCBvYmplY3QoKV0sIDAsIDApCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIHNlbGYuc2Vydl9zb2NrLnJlY3Ztc2dfaW50bywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgW2J1Zl0sIC0xLCAwKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIHNlbGYuc2Vydl9zb2NrLnJlY3Ztc2dfaW50bywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgW2J1Zl0sIG9iamVjdCgpLCAwKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIHNlbGYuc2Vydl9zb2NrLnJlY3Ztc2dfaW50bywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgW2J1Zl0sIDAsIG9iamVjdCgpKQorCisgICAgICAgIG5ieXRlcywgYW5jZGF0YSwgZmxhZ3MsIGFkZHIgPSBzZWxmLnNlcnZfc29jay5yZWN2bXNnX2ludG8oW2J1Zl0sIDAsIDApCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobmJ5dGVzLCBsZW4oTVNHKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChidWYsIGJ5dGVhcnJheShNU0cpKQorICAgICAgICBzZWxmLmNoZWNrUmVjdm1zZ0FkZHJlc3MoYWRkciwgc2VsZi5jbGlfYWRkcikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChhbmNkYXRhLCBbXSkKKyAgICAgICAgc2VsZi5jaGVja0ZsYWdzKGZsYWdzLCBlb3I9VHJ1ZSkKKworICAgIGRlZiBfdGVzdFJlY3Ztc2dJbnRvQmFkQXJncyhzZWxmKToKKyAgICAgICAgc2VsZi5zZW5kVG9TZXJ2ZXIoTVNHKQorCisgICAgZGVmIHRlc3RSZWN2bXNnSW50b0dlbmVyYXRvcihzZWxmKToKKyAgICAgICAgIyBSZWNlaXZlIGludG8gYnVmZmVyIG9idGFpbmVkIGZyb20gYSBnZW5lcmF0b3IgKG5vdCBhIHNlcXVlbmNlKS4KKyAgICAgICAgYnVmID0gYnl0ZWFycmF5KGxlbihNU0cpKQorICAgICAgICBuYnl0ZXMsIGFuY2RhdGEsIGZsYWdzLCBhZGRyID0gc2VsZi5zZXJ2X3NvY2sucmVjdm1zZ19pbnRvKAorICAgICAgICAgICAgKG8gZm9yIG8gaW4gW2J1Zl0pKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG5ieXRlcywgbGVuKE1TRykpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYnVmLCBieXRlYXJyYXkoTVNHKSkKKyAgICAgICAgc2VsZi5jaGVja1JlY3Ztc2dBZGRyZXNzKGFkZHIsIHNlbGYuY2xpX2FkZHIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYW5jZGF0YSwgW10pCisgICAgICAgIHNlbGYuY2hlY2tGbGFncyhmbGFncywgZW9yPVRydWUpCisKKyAgICBkZWYgX3Rlc3RSZWN2bXNnSW50b0dlbmVyYXRvcihzZWxmKToKKyAgICAgICAgc2VsZi5zZW5kVG9TZXJ2ZXIoTVNHKQorCisgICAgZGVmIHRlc3RSZWN2bXNnSW50b0FycmF5KHNlbGYpOgorICAgICAgICAjIFJlY2VpdmUgaW50byBhbiBhcnJheSByYXRoZXIgdGhhbiB0aGUgdXN1YWwgYnl0ZWFycmF5LgorICAgICAgICBidWYgPSBhcnJheS5hcnJheSgiQiIsIFswXSAqIGxlbihNU0cpKQorICAgICAgICBuYnl0ZXMsIGFuY2RhdGEsIGZsYWdzLCBhZGRyID0gc2VsZi5zZXJ2X3NvY2sucmVjdm1zZ19pbnRvKFtidWZdKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG5ieXRlcywgbGVuKE1TRykpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYnVmLnRvYnl0ZXMoKSwgTVNHKQorICAgICAgICBzZWxmLmNoZWNrUmVjdm1zZ0FkZHJlc3MoYWRkciwgc2VsZi5jbGlfYWRkcikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChhbmNkYXRhLCBbXSkKKyAgICAgICAgc2VsZi5jaGVja0ZsYWdzKGZsYWdzLCBlb3I9VHJ1ZSkKKworICAgIGRlZiBfdGVzdFJlY3Ztc2dJbnRvQXJyYXkoc2VsZik6CisgICAgICAgIHNlbGYuc2VuZFRvU2VydmVyKE1TRykKKworICAgIGRlZiB0ZXN0UmVjdm1zZ0ludG9TY2F0dGVyKHNlbGYpOgorICAgICAgICAjIFJlY2VpdmUgaW50byBtdWx0aXBsZSBidWZmZXJzIChzY2F0dGVyIHdyaXRlKS4KKyAgICAgICAgYjEgPSBieXRlYXJyYXkoYiItLS0tIikKKyAgICAgICAgYjIgPSBieXRlYXJyYXkoYiIwMTIzNDU2Nzg5IikKKyAgICAgICAgYjMgPSBieXRlYXJyYXkoYiItLS0tLS0tLS0tLS0tLSIpCisgICAgICAgIG5ieXRlcywgYW5jZGF0YSwgZmxhZ3MsIGFkZHIgPSBzZWxmLnNlcnZfc29jay5yZWN2bXNnX2ludG8oCisgICAgICAgICAgICBbYjEsIG1lbW9yeXZpZXcoYjIpWzI6OV0sIGIzXSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChuYnl0ZXMsIGxlbihiIk1hcnkgaGFkIGEgbGl0dGxlIGxhbWIiKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChiMSwgYnl0ZWFycmF5KGIiTWFyeSIpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGIyLCBieXRlYXJyYXkoYiIwMSBoYWQgYSA5IikpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYjMsIGJ5dGVhcnJheShiImxpdHRsZSBsYW1iLS0tIikpCisgICAgICAgIHNlbGYuY2hlY2tSZWN2bXNnQWRkcmVzcyhhZGRyLCBzZWxmLmNsaV9hZGRyKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGFuY2RhdGEsIFtdKQorICAgICAgICBzZWxmLmNoZWNrRmxhZ3MoZmxhZ3MsIGVvcj1UcnVlKQorCisgICAgZGVmIF90ZXN0UmVjdm1zZ0ludG9TY2F0dGVyKHNlbGYpOgorICAgICAgICBzZWxmLnNlbmRUb1NlcnZlcihiIk1hcnkgaGFkIGEgbGl0dGxlIGxhbWIiKQorCisKK2NsYXNzIENtc2dNYWNyb1Rlc3RzKHVuaXR0ZXN0LlRlc3RDYXNlKToKKyAgICAjIFRlc3QgdGhlIGZ1bmN0aW9ucyBDTVNHX0xFTigpIGFuZCBDTVNHX1NQQUNFKCkuICBUZXN0cworICAgICMgYXNzdW1wdGlvbnMgdXNlZCBieSBzZW5kbXNnKCkgYW5kIHJlY3Ztc2dbX2ludG9dKCksIHdoaWNoIHNoYXJlCisgICAgIyBjb2RlIHdpdGggdGhlc2UgZnVuY3Rpb25zLgorCisgICAgIyBNYXRjaCB0aGUgZGVmaW5pdGlvbiBpbiBzb2NrZXRtb2R1bGUuYworICAgIHNvY2tsZW5fdF9saW1pdCA9IG1pbigweDdmZmZmZmZmLCBfdGVzdGNhcGkuSU5UX01BWCkKKworICAgIEByZXF1aXJlQXR0cnMoc29ja2V0LCAiQ01TR19MRU4iKQorICAgIGRlZiB0ZXN0Q01TR19MRU4oc2VsZik6CisgICAgICAgICMgVGVzdCBDTVNHX0xFTigpIHdpdGggdmFyaW91cyB2YWxpZCBhbmQgaW52YWxpZCB2YWx1ZXMsCisgICAgICAgICMgY2hlY2tpbmcgdGhlIGFzc3VtcHRpb25zIHVzZWQgYnkgcmVjdm1zZygpIGFuZCBzZW5kbXNnKCkuCisgICAgICAgIHRvb2JpZyA9IHNlbGYuc29ja2xlbl90X2xpbWl0IC0gc29ja2V0LkNNU0dfTEVOKDApICsgMQorICAgICAgICB2YWx1ZXMgPSBsaXN0KHJhbmdlKDI1NykpICsgbGlzdChyYW5nZSh0b29iaWcgLSAyNTcsIHRvb2JpZykpCisKKyAgICAgICAgIyBzdHJ1Y3QgY21zZ2hkciBoYXMgYXQgbGVhc3QgdGhyZWUgbWVtYmVycywgdHdvIG9mIHdoaWNoIGFyZSBpbnRzCisgICAgICAgIHNlbGYuYXNzZXJ0R3JlYXRlcihzb2NrZXQuQ01TR19MRU4oMCksIGFycmF5LmFycmF5KCJpIikuaXRlbXNpemUgKiAyKQorICAgICAgICBmb3IgbiBpbiB2YWx1ZXM6CisgICAgICAgICAgICByZXQgPSBzb2NrZXQuQ01TR19MRU4obikKKyAgICAgICAgICAgICMgVGhpcyBpcyBob3cgcmVjdm1zZygpIGNhbGN1bGF0ZXMgdGhlIGRhdGEgc2l6ZQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXQgLSBzb2NrZXQuQ01TR19MRU4oMCksIG4pCisgICAgICAgICAgICBzZWxmLmFzc2VydExlc3NFcXVhbChyZXQsIHNlbGYuc29ja2xlbl90X2xpbWl0KQorCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE92ZXJmbG93RXJyb3IsIHNvY2tldC5DTVNHX0xFTiwgLTEpCisgICAgICAgICMgc2VuZG1zZygpIHNoYXJlcyBjb2RlIHdpdGggdGhlc2UgZnVuY3Rpb25zLCBhbmQgcmVxdWlyZXMKKyAgICAgICAgIyB0aGF0IGl0IHJlamVjdCB2YWx1ZXMgb3ZlciB0aGUgbGltaXQuCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE92ZXJmbG93RXJyb3IsIHNvY2tldC5DTVNHX0xFTiwgdG9vYmlnKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhPdmVyZmxvd0Vycm9yLCBzb2NrZXQuQ01TR19MRU4sIHN5cy5tYXhzaXplKQorCisgICAgQHJlcXVpcmVBdHRycyhzb2NrZXQsICJDTVNHX1NQQUNFIikKKyAgICBkZWYgdGVzdENNU0dfU1BBQ0Uoc2VsZik6CisgICAgICAgICMgVGVzdCBDTVNHX1NQQUNFKCkgd2l0aCB2YXJpb3VzIHZhbGlkIGFuZCBpbnZhbGlkIHZhbHVlcywKKyAgICAgICAgIyBjaGVja2luZyB0aGUgYXNzdW1wdGlvbnMgdXNlZCBieSBzZW5kbXNnKCkuCisgICAgICAgIHRvb2JpZyA9IHNlbGYuc29ja2xlbl90X2xpbWl0IC0gc29ja2V0LkNNU0dfU1BBQ0UoMSkgKyAxCisgICAgICAgIHZhbHVlcyA9IGxpc3QocmFuZ2UoMjU3KSkgKyBsaXN0KHJhbmdlKHRvb2JpZyAtIDI1NywgdG9vYmlnKSkKKworICAgICAgICBsYXN0ID0gc29ja2V0LkNNU0dfU1BBQ0UoMCkKKyAgICAgICAgIyBzdHJ1Y3QgY21zZ2hkciBoYXMgYXQgbGVhc3QgdGhyZWUgbWVtYmVycywgdHdvIG9mIHdoaWNoIGFyZSBpbnRzCisgICAgICAgIHNlbGYuYXNzZXJ0R3JlYXRlcihsYXN0LCBhcnJheS5hcnJheSgiaSIpLml0ZW1zaXplICogMikKKyAgICAgICAgZm9yIG4gaW4gdmFsdWVzOgorICAgICAgICAgICAgcmV0ID0gc29ja2V0LkNNU0dfU1BBQ0UobikKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0R3JlYXRlckVxdWFsKHJldCwgbGFzdCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0R3JlYXRlckVxdWFsKHJldCwgc29ja2V0LkNNU0dfTEVOKG4pKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRHcmVhdGVyRXF1YWwocmV0LCBuICsgc29ja2V0LkNNU0dfTEVOKDApKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRMZXNzRXF1YWwocmV0LCBzZWxmLnNvY2tsZW5fdF9saW1pdCkKKyAgICAgICAgICAgIGxhc3QgPSByZXQKKworICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhPdmVyZmxvd0Vycm9yLCBzb2NrZXQuQ01TR19TUEFDRSwgLTEpCisgICAgICAgICMgc2VuZG1zZygpIHNoYXJlcyBjb2RlIHdpdGggdGhlc2UgZnVuY3Rpb25zLCBhbmQgcmVxdWlyZXMKKyAgICAgICAgIyB0aGF0IGl0IHJlamVjdCB2YWx1ZXMgb3ZlciB0aGUgbGltaXQuCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE92ZXJmbG93RXJyb3IsIHNvY2tldC5DTVNHX1NQQUNFLCB0b29iaWcpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE92ZXJmbG93RXJyb3IsIHNvY2tldC5DTVNHX1NQQUNFLCBzeXMubWF4c2l6ZSkKKworCitjbGFzcyBTQ01SaWdodHNUZXN0KFNlbmRyZWN2bXNnU2VydmVyVGltZW91dEJhc2UpOgorICAgICMgVGVzdHMgZm9yIGZpbGUgZGVzY3JpcHRvciBwYXNzaW5nIG9uIFVuaXgtZG9tYWluIHNvY2tldHMuCisKKyAgICAjIEludmFsaWQgZmlsZSBkZXNjcmlwdG9yIHZhbHVlIHRoYXQncyB1bmxpa2VseSB0byBldmFsdWF0ZSB0byBhCisgICAgIyByZWFsIEZEIGV2ZW4gaWYgb25lIG9mIGl0cyBieXRlcyBpcyByZXBsYWNlZCB3aXRoIGEgZGlmZmVyZW50CisgICAgIyB2YWx1ZSAod2hpY2ggc2hvdWxkbid0IGFjdHVhbGx5IGhhcHBlbikuCisgICAgYmFkZmQgPSAtMHg1NTU1CisKKyAgICBkZWYgbmV3RkRzKHNlbGYsIG4pOgorICAgICAgICAjIFJldHVybiBhIGxpc3Qgb2YgbiBmaWxlIGRlc2NyaXB0b3JzIGZvciBuZXdseS1jcmVhdGVkIGZpbGVzCisgICAgICAgICMgY29udGFpbmluZyB0aGVpciBsaXN0IGluZGljZXMgYXMgQVNDSUkgbnVtYmVycy4KKyAgICAgICAgZmRzID0gW10KKyAgICAgICAgZm9yIGkgaW4gcmFuZ2Uobik6CisgICAgICAgICAgICBmZCwgcGF0aCA9IHRlbXBmaWxlLm1rc3RlbXAoKQorICAgICAgICAgICAgc2VsZi5hZGRDbGVhbnVwKG9zLnVubGluaywgcGF0aCkKKyAgICAgICAgICAgIHNlbGYuYWRkQ2xlYW51cChvcy5jbG9zZSwgZmQpCisgICAgICAgICAgICBvcy53cml0ZShmZCwgc3RyKGkpLmVuY29kZSgpKQorICAgICAgICAgICAgZmRzLmFwcGVuZChmZCkKKyAgICAgICAgcmV0dXJuIGZkcworCisgICAgZGVmIGNoZWNrRkRzKHNlbGYsIGZkcyk6CisgICAgICAgICMgQ2hlY2sgdGhhdCB0aGUgZmlsZSBkZXNjcmlwdG9ycyBpbiB0aGUgZ2l2ZW4gbGlzdCBjb250YWluCisgICAgICAgICMgdGhlaXIgY29ycmVjdCBsaXN0IGluZGljZXMgYXMgQVNDSUkgbnVtYmVycy4KKyAgICAgICAgZm9yIG4sIGZkIGluIGVudW1lcmF0ZShmZHMpOgorICAgICAgICAgICAgb3MubHNlZWsoZmQsIDAsIG9zLlNFRUtfU0VUKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvcy5yZWFkKGZkLCAxMDI0KSwgc3RyKG4pLmVuY29kZSgpKQorCisgICAgZGVmIHJlZ2lzdGVyUmVjdm1zZ1Jlc3VsdChzZWxmLCByZXN1bHQpOgorICAgICAgICBzZWxmLmFkZENsZWFudXAoc2VsZi5jbG9zZVJlY3Ztc2dGRHMsIHJlc3VsdCkKKworICAgIGRlZiBjbG9zZVJlY3Ztc2dGRHMoc2VsZiwgcmVjdm1zZ19yZXN1bHQpOgorICAgICAgICAjIENsb3NlIGFsbCBmaWxlIGRlc2NyaXB0b3JzIHNwZWNpZmllZCBpbiB0aGUgYW5jaWxsYXJ5IGRhdGEKKyAgICAgICAgIyBvZiB0aGUgZ2l2ZW4gcmV0dXJuIHZhbHVlIGZyb20gcmVjdm1zZygpIG9yIHJlY3Ztc2dfaW50bygpLgorICAgICAgICBmb3IgY21zZ19sZXZlbCwgY21zZ190eXBlLCBjbXNnX2RhdGEgaW4gcmVjdm1zZ19yZXN1bHRbMV06CisgICAgICAgICAgICBpZiAoY21zZ19sZXZlbCA9PSBzb2NrZXQuU09MX1NPQ0tFVCBhbmQKKyAgICAgICAgICAgICAgICAgICAgY21zZ190eXBlID09IHNvY2tldC5TQ01fUklHSFRTKToKKyAgICAgICAgICAgICAgICBmZHMgPSBhcnJheS5hcnJheSgiaSIpCisgICAgICAgICAgICAgICAgZmRzLmZyb21ieXRlcyhjbXNnX2RhdGFbOgorICAgICAgICAgICAgICAgICAgICAgICAgbGVuKGNtc2dfZGF0YSkgLSAobGVuKGNtc2dfZGF0YSkgJSBmZHMuaXRlbXNpemUpXSkKKyAgICAgICAgICAgICAgICBmb3IgZmQgaW4gZmRzOgorICAgICAgICAgICAgICAgICAgICBvcy5jbG9zZShmZCkKKworICAgIGRlZiBjcmVhdGVBbmRTZW5kRkRzKHNlbGYsIG4pOgorICAgICAgICAjIFNlbmQgbiBuZXcgZmlsZSBkZXNjcmlwdG9ycyBjcmVhdGVkIGJ5IG5ld0ZEcygpIHRvIHRoZQorICAgICAgICAjIHNlcnZlciwgd2l0aCB0aGUgY29uc3RhbnQgTVNHIGFzIHRoZSBub24tYW5jaWxsYXJ5IGRhdGEuCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICBzZWxmLnNlbmRtc2dUb1NlcnZlcihbTVNHXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsoc29ja2V0LlNPTF9TT0NLRVQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvY2tldC5TQ01fUklHSFRTLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcnJheS5hcnJheSgiaSIsIHNlbGYubmV3RkRzKG4pKSldKSwKKyAgICAgICAgICAgIGxlbihNU0cpKQorCisgICAgZGVmIGNoZWNrUmVjdm1zZ0ZEcyhzZWxmLCBudW1mZHMsIHJlc3VsdCwgbWF4Y21zZ3M9MSwgaWdub3JlZmxhZ3M9MCk6CisgICAgICAgICMgQ2hlY2sgdGhhdCBjb25zdGFudCBNU0cgd2FzIHJlY2VpdmVkIHdpdGggbnVtZmRzIGZpbGUKKyAgICAgICAgIyBkZXNjcmlwdG9ycyBpbiBhIG1heGltdW0gb2YgbWF4Y21zZ3MgY29udHJvbCBtZXNzYWdlcyAod2hpY2gKKyAgICAgICAgIyBtdXN0IGNvbnRhaW4gb25seSBjb21wbGV0ZSBpbnRlZ2VycykuICBCeSBkZWZhdWx0LCBjaGVjaworICAgICAgICAjIHRoYXQgTVNHX0NUUlVOQyBpcyB1bnNldCwgYnV0IGlnbm9yZSBhbnkgZmxhZ3MgaW4KKyAgICAgICAgIyBpZ25vcmVmbGFncy4KKyAgICAgICAgbXNnLCBhbmNkYXRhLCBmbGFncywgYWRkciA9IHJlc3VsdAorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1zZywgTVNHKQorICAgICAgICBzZWxmLmNoZWNrUmVjdm1zZ0FkZHJlc3MoYWRkciwgc2VsZi5jbGlfYWRkcikKKyAgICAgICAgc2VsZi5jaGVja0ZsYWdzKGZsYWdzLCBlb3I9VHJ1ZSwgY2hlY2t1bnNldD1zb2NrZXQuTVNHX0NUUlVOQywKKyAgICAgICAgICAgICAgICAgICAgICAgIGlnbm9yZT1pZ25vcmVmbGFncykKKworICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2UoYW5jZGF0YSwgbGlzdCkKKyAgICAgICAgc2VsZi5hc3NlcnRMZXNzRXF1YWwobGVuKGFuY2RhdGEpLCBtYXhjbXNncykKKyAgICAgICAgZmRzID0gYXJyYXkuYXJyYXkoImkiKQorICAgICAgICBmb3IgaXRlbSBpbiBhbmNkYXRhOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRJc0luc3RhbmNlKGl0ZW0sIHR1cGxlKQorICAgICAgICAgICAgY21zZ19sZXZlbCwgY21zZ190eXBlLCBjbXNnX2RhdGEgPSBpdGVtCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNtc2dfbGV2ZWwsIHNvY2tldC5TT0xfU09DS0VUKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbXNnX3R5cGUsIHNvY2tldC5TQ01fUklHSFRTKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRJc0luc3RhbmNlKGNtc2dfZGF0YSwgYnl0ZXMpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihjbXNnX2RhdGEpICUgU0laRU9GX0lOVCwgMCkKKyAgICAgICAgICAgIGZkcy5mcm9tYnl0ZXMoY21zZ19kYXRhKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGZkcyksIG51bWZkcykKKyAgICAgICAgc2VsZi5jaGVja0ZEcyhmZHMpCisKKyAgICBkZWYgdGVzdEZEUGFzc1NpbXBsZShzZWxmKToKKyAgICAgICAgIyBQYXNzIGEgc2luZ2xlIEZEIChhcnJheSByZWFkIGZyb20gYnl0ZXMgb2JqZWN0KS4KKyAgICAgICAgc2VsZi5jaGVja1JlY3Ztc2dGRHMoMSwgc2VsZi5kb1JlY3Ztc2coc2VsZi5zZXJ2X3NvY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlbihNU0cpLCAxMDI0MCkpCisKKyAgICBkZWYgX3Rlc3RGRFBhc3NTaW1wbGUoc2VsZik6CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICBzZWxmLnNlbmRtc2dUb1NlcnZlcigKKyAgICAgICAgICAgICAgICBbTVNHXSwKKyAgICAgICAgICAgICAgICBbKHNvY2tldC5TT0xfU09DS0VULAorICAgICAgICAgICAgICAgICAgc29ja2V0LlNDTV9SSUdIVFMsCisgICAgICAgICAgICAgICAgICBhcnJheS5hcnJheSgiaSIsIHNlbGYubmV3RkRzKDEpKS50b2J5dGVzKCkpXSksCisgICAgICAgICAgICBsZW4oTVNHKSkKKworICAgIGRlZiB0ZXN0TXVsdGlwbGVGRFBhc3Moc2VsZik6CisgICAgICAgICMgUGFzcyBtdWx0aXBsZSBGRHMgaW4gYSBzaW5nbGUgYXJyYXkuCisgICAgICAgIHNlbGYuY2hlY2tSZWN2bXNnRkRzKDQsIHNlbGYuZG9SZWN2bXNnKHNlbGYuc2Vydl9zb2NrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZW4oTVNHKSwgMTAyNDApKQorCisgICAgZGVmIF90ZXN0TXVsdGlwbGVGRFBhc3Moc2VsZik6CisgICAgICAgIHNlbGYuY3JlYXRlQW5kU2VuZEZEcyg0KQorCisgICAgQHJlcXVpcmVBdHRycyhzb2NrZXQsICJDTVNHX1NQQUNFIikKKyAgICBkZWYgdGVzdEZEUGFzc0NNU0dfU1BBQ0Uoc2VsZik6CisgICAgICAgICMgVGVzdCB1c2luZyBDTVNHX1NQQUNFKCkgdG8gY2FsY3VsYXRlIGFuY2lsbGFyeSBidWZmZXIgc2l6ZS4KKyAgICAgICAgc2VsZi5jaGVja1JlY3Ztc2dGRHMoCisgICAgICAgICAgICA0LCBzZWxmLmRvUmVjdm1zZyhzZWxmLnNlcnZfc29jaywgbGVuKE1TRyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb2NrZXQuQ01TR19TUEFDRSg0ICogU0laRU9GX0lOVCkpKQorCisgICAgQHRlc3RGRFBhc3NDTVNHX1NQQUNFLmNsaWVudF9za2lwCisgICAgZGVmIF90ZXN0RkRQYXNzQ01TR19TUEFDRShzZWxmKToKKyAgICAgICAgc2VsZi5jcmVhdGVBbmRTZW5kRkRzKDQpCisKKyAgICBkZWYgdGVzdEZEUGFzc0NNU0dfTEVOKHNlbGYpOgorICAgICAgICAjIFRlc3QgdXNpbmcgQ01TR19MRU4oKSB0byBjYWxjdWxhdGUgYW5jaWxsYXJ5IGJ1ZmZlciBzaXplLgorICAgICAgICBzZWxmLmNoZWNrUmVjdm1zZ0ZEcygxLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmRvUmVjdm1zZyhzZWxmLnNlcnZfc29jaywgbGVuKE1TRyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvY2tldC5DTVNHX0xFTig0ICogU0laRU9GX0lOVCkpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIFJGQyAzNTQyIHNheXMgaW1wbGVtZW50YXRpb25zIG1heSBzZXQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBNU0dfQ1RSVU5DIGlmIHRoZXJlIGlzbid0IGVub3VnaCBzcGFjZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIGZvciB0cmFpbGluZyBwYWRkaW5nLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZ25vcmVmbGFncz1zb2NrZXQuTVNHX0NUUlVOQykKKworICAgIGRlZiBfdGVzdEZEUGFzc0NNU0dfTEVOKHNlbGYpOgorICAgICAgICBzZWxmLmNyZWF0ZUFuZFNlbmRGRHMoMSkKKworICAgICMgSXNzdWUgIzEyOTU4OiBUaGUgZm9sbG93aW5nIHRlc3QgaGFzIHByb2JsZW1zIG9uIE1hYyBPUyBYCisgICAgQHN1cHBvcnQuYW50aWNpcGF0ZV9mYWlsdXJlKHN5cy5wbGF0Zm9ybSA9PSAiZGFyd2luIikKKyAgICBAcmVxdWlyZUF0dHJzKHNvY2tldCwgIkNNU0dfU1BBQ0UiKQorICAgIGRlZiB0ZXN0RkRQYXNzU2VwYXJhdGUoc2VsZik6CisgICAgICAgICMgUGFzcyB0d28gRkRzIGluIHR3byBzZXBhcmF0ZSBhcnJheXMuICBBcnJheXMgbWF5IGJlIGNvbWJpbmVkCisgICAgICAgICMgaW50byBhIHNpbmdsZSBjb250cm9sIG1lc3NhZ2UgYnkgdGhlIE9TLgorICAgICAgICBzZWxmLmNoZWNrUmVjdm1zZ0ZEcygyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmRvUmVjdm1zZyhzZWxmLnNlcnZfc29jaywgbGVuKE1TRyksIDEwMjQwKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4Y21zZ3M9MikKKworICAgIEB0ZXN0RkRQYXNzU2VwYXJhdGUuY2xpZW50X3NraXAKKyAgICBAc3VwcG9ydC5hbnRpY2lwYXRlX2ZhaWx1cmUoc3lzLnBsYXRmb3JtID09ICJkYXJ3aW4iKQorICAgIGRlZiBfdGVzdEZEUGFzc1NlcGFyYXRlKHNlbGYpOgorICAgICAgICBmZDAsIGZkMSA9IHNlbGYubmV3RkRzKDIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICBzZWxmLnNlbmRtc2dUb1NlcnZlcihbTVNHXSwgWyhzb2NrZXQuU09MX1NPQ0tFVCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvY2tldC5TQ01fUklHSFRTLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJyYXkuYXJyYXkoImkiLCBbZmQwXSkpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc29ja2V0LlNPTF9TT0NLRVQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb2NrZXQuU0NNX1JJR0hUUywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFycmF5LmFycmF5KCJpIiwgW2ZkMV0pKV0pLAorICAgICAgICAgICAgbGVuKE1TRykpCisKKyAgICAjIElzc3VlICMxMjk1ODogVGhlIGZvbGxvd2luZyB0ZXN0IGhhcyBwcm9ibGVtcyBvbiBNYWMgT1MgWAorICAgIEBzdXBwb3J0LmFudGljaXBhdGVfZmFpbHVyZShzeXMucGxhdGZvcm0gPT0gImRhcndpbiIpCisgICAgQHJlcXVpcmVBdHRycyhzb2NrZXQsICJDTVNHX1NQQUNFIikKKyAgICBkZWYgdGVzdEZEUGFzc1NlcGFyYXRlTWluU3BhY2Uoc2VsZik6CisgICAgICAgICMgUGFzcyB0d28gRkRzIGluIHR3byBzZXBhcmF0ZSBhcnJheXMsIHJlY2VpdmluZyB0aGVtIGludG8gdGhlCisgICAgICAgICMgbWluaW11bSBzcGFjZSBmb3IgdHdvIGFycmF5cy4KKyAgICAgICAgc2VsZi5jaGVja1JlY3Ztc2dGRHMoMiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5kb1JlY3Ztc2coc2VsZi5zZXJ2X3NvY2ssIGxlbihNU0cpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb2NrZXQuQ01TR19TUEFDRShTSVpFT0ZfSU5UKSArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvY2tldC5DTVNHX0xFTihTSVpFT0ZfSU5UKSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heGNtc2dzPTIsIGlnbm9yZWZsYWdzPXNvY2tldC5NU0dfQ1RSVU5DKQorCisgICAgQHRlc3RGRFBhc3NTZXBhcmF0ZU1pblNwYWNlLmNsaWVudF9za2lwCisgICAgQHN1cHBvcnQuYW50aWNpcGF0ZV9mYWlsdXJlKHN5cy5wbGF0Zm9ybSA9PSAiZGFyd2luIikKKyAgICBkZWYgX3Rlc3RGRFBhc3NTZXBhcmF0ZU1pblNwYWNlKHNlbGYpOgorICAgICAgICBmZDAsIGZkMSA9IHNlbGYubmV3RkRzKDIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICBzZWxmLnNlbmRtc2dUb1NlcnZlcihbTVNHXSwgWyhzb2NrZXQuU09MX1NPQ0tFVCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvY2tldC5TQ01fUklHSFRTLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJyYXkuYXJyYXkoImkiLCBbZmQwXSkpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc29ja2V0LlNPTF9TT0NLRVQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb2NrZXQuU0NNX1JJR0hUUywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFycmF5LmFycmF5KCJpIiwgW2ZkMV0pKV0pLAorICAgICAgICAgICAgbGVuKE1TRykpCisKKyAgICBkZWYgc2VuZEFuY2lsbGFyeUlmUG9zc2libGUoc2VsZiwgbXNnLCBhbmNkYXRhKToKKyAgICAgICAgIyBUcnkgdG8gc2VuZCBtc2cgYW5kIGFuY2RhdGEgdG8gc2VydmVyLCBidXQgaWYgdGhlIHN5c3RlbQorICAgICAgICAjIGNhbGwgZmFpbHMsIGp1c3Qgc2VuZCBtc2cgd2l0aCBubyBhbmNpbGxhcnkgZGF0YS4KKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgbmJ5dGVzID0gc2VsZi5zZW5kbXNnVG9TZXJ2ZXIoW21zZ10sIGFuY2RhdGEpCisgICAgICAgIGV4Y2VwdCBzb2NrZXQuZXJyb3IgYXMgZToKKyAgICAgICAgICAgICMgQ2hlY2sgdGhhdCBpdCB3YXMgdGhlIHN5c3RlbSBjYWxsIHRoYXQgZmFpbGVkCisgICAgICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2UoZS5lcnJubywgaW50KQorICAgICAgICAgICAgbmJ5dGVzID0gc2VsZi5zZW5kbXNnVG9TZXJ2ZXIoW21zZ10pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobmJ5dGVzLCBsZW4obXNnKSkKKworICAgIGRlZiB0ZXN0RkRQYXNzRW1wdHkoc2VsZik6CisgICAgICAgICMgVHJ5IHRvIHBhc3MgYW4gZW1wdHkgRkQgYXJyYXkuICBDYW4gcmVjZWl2ZSBlaXRoZXIgbm8gYXJyYXkKKyAgICAgICAgIyBvciBhbiBlbXB0eSBhcnJheS4KKyAgICAgICAgc2VsZi5jaGVja1JlY3Ztc2dGRHMoMCwgc2VsZi5kb1JlY3Ztc2coc2VsZi5zZXJ2X3NvY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlbihNU0cpLCAxMDI0MCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlnbm9yZWZsYWdzPXNvY2tldC5NU0dfQ1RSVU5DKQorCisgICAgZGVmIF90ZXN0RkRQYXNzRW1wdHkoc2VsZik6CisgICAgICAgIHNlbGYuc2VuZEFuY2lsbGFyeUlmUG9zc2libGUoTVNHLCBbKHNvY2tldC5TT0xfU09DS0VULAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb2NrZXQuU0NNX1JJR0hUUywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYiIiKV0pCisKKyAgICBkZWYgdGVzdEZEUGFzc1BhcnRpYWxJbnQoc2VsZik6CisgICAgICAgICMgVHJ5IHRvIHBhc3MgYSB0cnVuY2F0ZWQgRkQgYXJyYXkuCisgICAgICAgIG1zZywgYW5jZGF0YSwgZmxhZ3MsIGFkZHIgPSBzZWxmLmRvUmVjdm1zZyhzZWxmLnNlcnZfc29jaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlbihNU0cpLCAxMDI0MCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtc2csIE1TRykKKyAgICAgICAgc2VsZi5jaGVja1JlY3Ztc2dBZGRyZXNzKGFkZHIsIHNlbGYuY2xpX2FkZHIpCisgICAgICAgIHNlbGYuY2hlY2tGbGFncyhmbGFncywgZW9yPVRydWUsIGlnbm9yZT1zb2NrZXQuTVNHX0NUUlVOQykKKyAgICAgICAgc2VsZi5hc3NlcnRMZXNzRXF1YWwobGVuKGFuY2RhdGEpLCAxKQorICAgICAgICBmb3IgY21zZ19sZXZlbCwgY21zZ190eXBlLCBjbXNnX2RhdGEgaW4gYW5jZGF0YToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY21zZ19sZXZlbCwgc29ja2V0LlNPTF9TT0NLRVQpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNtc2dfdHlwZSwgc29ja2V0LlNDTV9SSUdIVFMpCisgICAgICAgICAgICBzZWxmLmFzc2VydExlc3MobGVuKGNtc2dfZGF0YSksIFNJWkVPRl9JTlQpCisKKyAgICBkZWYgX3Rlc3RGRFBhc3NQYXJ0aWFsSW50KHNlbGYpOgorICAgICAgICBzZWxmLnNlbmRBbmNpbGxhcnlJZlBvc3NpYmxlKAorICAgICAgICAgICAgTVNHLAorICAgICAgICAgICAgWyhzb2NrZXQuU09MX1NPQ0tFVCwKKyAgICAgICAgICAgICAgc29ja2V0LlNDTV9SSUdIVFMsCisgICAgICAgICAgICAgIGFycmF5LmFycmF5KCJpIiwgW3NlbGYuYmFkZmRdKS50b2J5dGVzKClbOi0xXSldKQorCisgICAgQHJlcXVpcmVBdHRycyhzb2NrZXQsICJDTVNHX1NQQUNFIikKKyAgICBkZWYgdGVzdEZEUGFzc1BhcnRpYWxJbnRJbk1pZGRsZShzZWxmKToKKyAgICAgICAgIyBUcnkgdG8gcGFzcyB0d28gRkQgYXJyYXlzLCB0aGUgZmlyc3Qgb2Ygd2hpY2ggaXMgdHJ1bmNhdGVkLgorICAgICAgICBtc2csIGFuY2RhdGEsIGZsYWdzLCBhZGRyID0gc2VsZi5kb1JlY3Ztc2coc2VsZi5zZXJ2X3NvY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZW4oTVNHKSwgMTAyNDApCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobXNnLCBNU0cpCisgICAgICAgIHNlbGYuY2hlY2tSZWN2bXNnQWRkcmVzcyhhZGRyLCBzZWxmLmNsaV9hZGRyKQorICAgICAgICBzZWxmLmNoZWNrRmxhZ3MoZmxhZ3MsIGVvcj1UcnVlLCBpZ25vcmU9c29ja2V0Lk1TR19DVFJVTkMpCisgICAgICAgIHNlbGYuYXNzZXJ0TGVzc0VxdWFsKGxlbihhbmNkYXRhKSwgMikKKyAgICAgICAgZmRzID0gYXJyYXkuYXJyYXkoImkiKQorICAgICAgICAjIEFycmF5cyBtYXkgaGF2ZSBiZWVuIGNvbWJpbmVkIGluIGEgc2luZ2xlIGNvbnRyb2wgbWVzc2FnZQorICAgICAgICBmb3IgY21zZ19sZXZlbCwgY21zZ190eXBlLCBjbXNnX2RhdGEgaW4gYW5jZGF0YToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY21zZ19sZXZlbCwgc29ja2V0LlNPTF9TT0NLRVQpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNtc2dfdHlwZSwgc29ja2V0LlNDTV9SSUdIVFMpCisgICAgICAgICAgICBmZHMuZnJvbWJ5dGVzKGNtc2dfZGF0YVs6CisgICAgICAgICAgICAgICAgICAgIGxlbihjbXNnX2RhdGEpIC0gKGxlbihjbXNnX2RhdGEpICUgZmRzLml0ZW1zaXplKV0pCisgICAgICAgIHNlbGYuYXNzZXJ0TGVzc0VxdWFsKGxlbihmZHMpLCAyKQorICAgICAgICBzZWxmLmNoZWNrRkRzKGZkcykKKworICAgIEB0ZXN0RkRQYXNzUGFydGlhbEludEluTWlkZGxlLmNsaWVudF9za2lwCisgICAgZGVmIF90ZXN0RkRQYXNzUGFydGlhbEludEluTWlkZGxlKHNlbGYpOgorICAgICAgICBmZDAsIGZkMSA9IHNlbGYubmV3RkRzKDIpCisgICAgICAgIHNlbGYuc2VuZEFuY2lsbGFyeUlmUG9zc2libGUoCisgICAgICAgICAgICBNU0csCisgICAgICAgICAgICBbKHNvY2tldC5TT0xfU09DS0VULAorICAgICAgICAgICAgICBzb2NrZXQuU0NNX1JJR0hUUywKKyAgICAgICAgICAgICAgYXJyYXkuYXJyYXkoImkiLCBbZmQwLCBzZWxmLmJhZGZkXSkudG9ieXRlcygpWzotMV0pLAorICAgICAgICAgICAgIChzb2NrZXQuU09MX1NPQ0tFVCwKKyAgICAgICAgICAgICAgc29ja2V0LlNDTV9SSUdIVFMsCisgICAgICAgICAgICAgIGFycmF5LmFycmF5KCJpIiwgW2ZkMV0pKV0pCisKKyAgICBkZWYgY2hlY2tUcnVuY2F0ZWRIZWFkZXIoc2VsZiwgcmVzdWx0LCBpZ25vcmVmbGFncz0wKToKKyAgICAgICAgIyBDaGVjayB0aGF0IG5vIGFuY2lsbGFyeSBkYXRhIGl0ZW1zIGFyZSByZXR1cm5lZCB3aGVuIGRhdGEgaXMKKyAgICAgICAgIyB0cnVuY2F0ZWQgaW5zaWRlIHRoZSBjbXNnaGRyIHN0cnVjdHVyZS4KKyAgICAgICAgbXNnLCBhbmNkYXRhLCBmbGFncywgYWRkciA9IHJlc3VsdAorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1zZywgTVNHKQorICAgICAgICBzZWxmLmNoZWNrUmVjdm1zZ0FkZHJlc3MoYWRkciwgc2VsZi5jbGlfYWRkcikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChhbmNkYXRhLCBbXSkKKyAgICAgICAgc2VsZi5jaGVja0ZsYWdzKGZsYWdzLCBlb3I9VHJ1ZSwgY2hlY2tzZXQ9c29ja2V0Lk1TR19DVFJVTkMsCisgICAgICAgICAgICAgICAgICAgICAgICBpZ25vcmU9aWdub3JlZmxhZ3MpCisKKyAgICBkZWYgdGVzdENtc2dUcnVuY05vQnVmU2l6ZShzZWxmKToKKyAgICAgICAgIyBDaGVjayB0aGF0IG5vIGFuY2lsbGFyeSBkYXRhIGlzIHJlY2VpdmVkIHdoZW4gbm8gYnVmZmVyIHNpemUKKyAgICAgICAgIyBpcyBzcGVjaWZpZWQuCisgICAgICAgIHNlbGYuY2hlY2tUcnVuY2F0ZWRIZWFkZXIoc2VsZi5kb1JlY3Ztc2coc2VsZi5zZXJ2X3NvY2ssIGxlbihNU0cpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIEJTRCBzZWVtcyB0byBzZXQgTVNHX0NUUlVOQyBvbmx5CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBpZiBhbiBpdGVtIGhhcyBiZWVuIHBhcnRpYWxseQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgcmVjZWl2ZWQuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWdub3JlZmxhZ3M9c29ja2V0Lk1TR19DVFJVTkMpCisKKyAgICBkZWYgX3Rlc3RDbXNnVHJ1bmNOb0J1ZlNpemUoc2VsZik6CisgICAgICAgIHNlbGYuY3JlYXRlQW5kU2VuZEZEcygxKQorCisgICAgZGVmIHRlc3RDbXNnVHJ1bmMwKHNlbGYpOgorICAgICAgICAjIENoZWNrIHRoYXQgbm8gYW5jaWxsYXJ5IGRhdGEgaXMgcmVjZWl2ZWQgd2hlbiBidWZmZXIgc2l6ZSBpcyAwLgorICAgICAgICBzZWxmLmNoZWNrVHJ1bmNhdGVkSGVhZGVyKHNlbGYuZG9SZWN2bXNnKHNlbGYuc2Vydl9zb2NrLCBsZW4oTVNHKSwgMCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWdub3JlZmxhZ3M9c29ja2V0Lk1TR19DVFJVTkMpCisKKyAgICBkZWYgX3Rlc3RDbXNnVHJ1bmMwKHNlbGYpOgorICAgICAgICBzZWxmLmNyZWF0ZUFuZFNlbmRGRHMoMSkKKworICAgICMgQ2hlY2sgdGhhdCBubyBhbmNpbGxhcnkgZGF0YSBpcyByZXR1cm5lZCBmb3IgdmFyaW91cyBub24temVybworICAgICMgKGJ1dCBzdGlsbCB0b28gc21hbGwpIGJ1ZmZlciBzaXplcy4KKworICAgIGRlZiB0ZXN0Q21zZ1RydW5jMShzZWxmKToKKyAgICAgICAgc2VsZi5jaGVja1RydW5jYXRlZEhlYWRlcihzZWxmLmRvUmVjdm1zZyhzZWxmLnNlcnZfc29jaywgbGVuKE1TRyksIDEpKQorCisgICAgZGVmIF90ZXN0Q21zZ1RydW5jMShzZWxmKToKKyAgICAgICAgc2VsZi5jcmVhdGVBbmRTZW5kRkRzKDEpCisKKyAgICBkZWYgdGVzdENtc2dUcnVuYzJJbnQoc2VsZik6CisgICAgICAgICMgVGhlIGNtc2doZHIgc3RydWN0dXJlIGhhcyBhdCBsZWFzdCB0aHJlZSBtZW1iZXJzLCB0d28gb2YKKyAgICAgICAgIyB3aGljaCBhcmUgaW50cywgc28gd2Ugc3RpbGwgc2hvdWxkbid0IHNlZSBhbnkgYW5jaWxsYXJ5CisgICAgICAgICMgZGF0YS4KKyAgICAgICAgc2VsZi5jaGVja1RydW5jYXRlZEhlYWRlcihzZWxmLmRvUmVjdm1zZyhzZWxmLnNlcnZfc29jaywgbGVuKE1TRyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU0laRU9GX0lOVCAqIDIpKQorCisgICAgZGVmIF90ZXN0Q21zZ1RydW5jMkludChzZWxmKToKKyAgICAgICAgc2VsZi5jcmVhdGVBbmRTZW5kRkRzKDEpCisKKyAgICBkZWYgdGVzdENtc2dUcnVuY0xlbjBNaW51czEoc2VsZik6CisgICAgICAgIHNlbGYuY2hlY2tUcnVuY2F0ZWRIZWFkZXIoc2VsZi5kb1JlY3Ztc2coc2VsZi5zZXJ2X3NvY2ssIGxlbihNU0cpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvY2tldC5DTVNHX0xFTigwKSAtIDEpKQorCisgICAgZGVmIF90ZXN0Q21zZ1RydW5jTGVuME1pbnVzMShzZWxmKToKKyAgICAgICAgc2VsZi5jcmVhdGVBbmRTZW5kRkRzKDEpCisKKyAgICAjIFRoZSBmb2xsb3dpbmcgdGVzdHMgdHJ5IHRvIHRydW5jYXRlIHRoZSBjb250cm9sIG1lc3NhZ2UgaW4gdGhlCisgICAgIyBtaWRkbGUgb2YgdGhlIEZEIGFycmF5LgorCisgICAgZGVmIGNoZWNrVHJ1bmNhdGVkQXJyYXkoc2VsZiwgYW5jYnVmLCBtYXhkYXRhLCBtaW5kYXRhPTApOgorICAgICAgICAjIENoZWNrIHRoYXQgZmlsZSBkZXNjcmlwdG9yIGRhdGEgaXMgdHJ1bmNhdGVkIHRvIGJldHdlZW4KKyAgICAgICAgIyBtaW5kYXRhIGFuZCBtYXhkYXRhIGJ5dGVzIHdoZW4gcmVjZWl2ZWQgd2l0aCBidWZmZXIgc2l6ZQorICAgICAgICAjIGFuY2J1ZiwgYW5kIHRoYXQgYW55IGNvbXBsZXRlIGZpbGUgZGVzY3JpcHRvciBudW1iZXJzIGFyZQorICAgICAgICAjIHZhbGlkLgorICAgICAgICBtc2csIGFuY2RhdGEsIGZsYWdzLCBhZGRyID0gc2VsZi5kb1JlY3Ztc2coc2VsZi5zZXJ2X3NvY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZW4oTVNHKSwgYW5jYnVmKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1zZywgTVNHKQorICAgICAgICBzZWxmLmNoZWNrUmVjdm1zZ0FkZHJlc3MoYWRkciwgc2VsZi5jbGlfYWRkcikKKyAgICAgICAgc2VsZi5jaGVja0ZsYWdzKGZsYWdzLCBlb3I9VHJ1ZSwgY2hlY2tzZXQ9c29ja2V0Lk1TR19DVFJVTkMpCisKKyAgICAgICAgaWYgbWluZGF0YSA9PSAwIGFuZCBhbmNkYXRhID09IFtdOgorICAgICAgICAgICAgcmV0dXJuCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGFuY2RhdGEpLCAxKQorICAgICAgICBjbXNnX2xldmVsLCBjbXNnX3R5cGUsIGNtc2dfZGF0YSA9IGFuY2RhdGFbMF0KKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbXNnX2xldmVsLCBzb2NrZXQuU09MX1NPQ0tFVCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbXNnX3R5cGUsIHNvY2tldC5TQ01fUklHSFRTKQorICAgICAgICBzZWxmLmFzc2VydEdyZWF0ZXJFcXVhbChsZW4oY21zZ19kYXRhKSwgbWluZGF0YSkKKyAgICAgICAgc2VsZi5hc3NlcnRMZXNzRXF1YWwobGVuKGNtc2dfZGF0YSksIG1heGRhdGEpCisgICAgICAgIGZkcyA9IGFycmF5LmFycmF5KCJpIikKKyAgICAgICAgZmRzLmZyb21ieXRlcyhjbXNnX2RhdGFbOgorICAgICAgICAgICAgICAgIGxlbihjbXNnX2RhdGEpIC0gKGxlbihjbXNnX2RhdGEpICUgZmRzLml0ZW1zaXplKV0pCisgICAgICAgIHNlbGYuY2hlY2tGRHMoZmRzKQorCisgICAgZGVmIHRlc3RDbXNnVHJ1bmNMZW4wKHNlbGYpOgorICAgICAgICBzZWxmLmNoZWNrVHJ1bmNhdGVkQXJyYXkoYW5jYnVmPXNvY2tldC5DTVNHX0xFTigwKSwgbWF4ZGF0YT0wKQorCisgICAgZGVmIF90ZXN0Q21zZ1RydW5jTGVuMChzZWxmKToKKyAgICAgICAgc2VsZi5jcmVhdGVBbmRTZW5kRkRzKDEpCisKKyAgICBkZWYgdGVzdENtc2dUcnVuY0xlbjBQbHVzMShzZWxmKToKKyAgICAgICAgc2VsZi5jaGVja1RydW5jYXRlZEFycmF5KGFuY2J1Zj1zb2NrZXQuQ01TR19MRU4oMCkgKyAxLCBtYXhkYXRhPTEpCisKKyAgICBkZWYgX3Rlc3RDbXNnVHJ1bmNMZW4wUGx1czEoc2VsZik6CisgICAgICAgIHNlbGYuY3JlYXRlQW5kU2VuZEZEcygyKQorCisgICAgZGVmIHRlc3RDbXNnVHJ1bmNMZW4xKHNlbGYpOgorICAgICAgICBzZWxmLmNoZWNrVHJ1bmNhdGVkQXJyYXkoYW5jYnVmPXNvY2tldC5DTVNHX0xFTihTSVpFT0ZfSU5UKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heGRhdGE9U0laRU9GX0lOVCkKKworICAgIGRlZiBfdGVzdENtc2dUcnVuY0xlbjEoc2VsZik6CisgICAgICAgIHNlbGYuY3JlYXRlQW5kU2VuZEZEcygyKQorCisgICAgZGVmIHRlc3RDbXNnVHJ1bmNMZW4yTWludXMxKHNlbGYpOgorICAgICAgICBzZWxmLmNoZWNrVHJ1bmNhdGVkQXJyYXkoYW5jYnVmPXNvY2tldC5DTVNHX0xFTigyICogU0laRU9GX0lOVCkgLSAxLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4ZGF0YT0oMiAqIFNJWkVPRl9JTlQpIC0gMSkKKworICAgIGRlZiBfdGVzdENtc2dUcnVuY0xlbjJNaW51czEoc2VsZik6CisgICAgICAgIHNlbGYuY3JlYXRlQW5kU2VuZEZEcygyKQorCisKK2NsYXNzIFJGQzM1NDJBbmNpbGxhcnlUZXN0KFNlbmRyZWN2bXNnU2VydmVyVGltZW91dEJhc2UpOgorICAgICMgVGVzdCBzZW5kbXNnKCkgYW5kIHJlY3Ztc2dbX2ludG9dKCkgdXNpbmcgdGhlIGFuY2lsbGFyeSBkYXRhCisgICAgIyBmZWF0dXJlcyBvZiB0aGUgUkZDIDM1NDIgQWR2YW5jZWQgU29ja2V0cyBBUEkgZm9yIElQdjYuCisgICAgIyBDdXJyZW50bHkgd2UgY2FuIG9ubHkgaGFuZGxlIGNlcnRhaW4gZGF0YSBpdGVtcyAoZS5nLiB0cmFmZmljCisgICAgIyBjbGFzcywgaG9wIGxpbWl0LCBNVFUgZGlzY292ZXJ5IGFuZCBmcmFnbWVudGF0aW9uIHNldHRpbmdzKQorICAgICMgd2l0aG91dCByZXNvcnRpbmcgdG8gdW5wb3J0YWJsZSBtZWFucyBzdWNoIGFzIHRoZSBzdHJ1Y3QgbW9kdWxlLAorICAgICMgYnV0IHRoZSB0ZXN0cyBoZXJlIGFyZSBhaW1lZCBhdCB0ZXN0aW5nIHRoZSBhbmNpbGxhcnkgZGF0YQorICAgICMgaGFuZGxpbmcgaW4gc2VuZG1zZygpIGFuZCByZWN2bXNnKCkgcmF0aGVyIHRoYW4gdGhlIElQdjYgQVBJCisgICAgIyBpdHNlbGYuCisKKyAgICAjIFRlc3QgdmFsdWUgdG8gdXNlIHdoZW4gc2V0dGluZyBob3AgbGltaXQgb2YgcGFja2V0CisgICAgaG9wX2xpbWl0ID0gMgorCisgICAgIyBUZXN0IHZhbHVlIHRvIHVzZSB3aGVuIHNldHRpbmcgdHJhZmZpYyBjbGFzcyBvZiBwYWNrZXQuCisgICAgIyAtMSBtZWFucyAidXNlIGtlcm5lbCBkZWZhdWx0Ii4KKyAgICB0cmFmZmljX2NsYXNzID0gLTEKKworICAgIGRlZiBhbmNpbGxhcnlNYXBwaW5nKHNlbGYsIGFuY2RhdGEpOgorICAgICAgICAjIEdpdmVuIGFuY2lsbGFyeSBkYXRhIGxpc3QgYW5jZGF0YSwgcmV0dXJuIGEgbWFwcGluZyBmcm9tCisgICAgICAgICMgcGFpcnMgKGNtc2dfbGV2ZWwsIGNtc2dfdHlwZSkgdG8gY29ycmVzcG9uZGluZyBjbXNnX2RhdGEuCisgICAgICAgICMgQ2hlY2sgdGhhdCBubyAobGV2ZWwsIHR5cGUpIHBhaXIgYXBwZWFycyBtb3JlIHRoYW4gb25jZS4KKyAgICAgICAgZCA9IHt9CisgICAgICAgIGZvciBjbXNnX2xldmVsLCBjbXNnX3R5cGUsIGNtc2dfZGF0YSBpbiBhbmNkYXRhOgorICAgICAgICAgICAgc2VsZi5hc3NlcnROb3RJbigoY21zZ19sZXZlbCwgY21zZ190eXBlKSwgZCkKKyAgICAgICAgICAgIGRbKGNtc2dfbGV2ZWwsIGNtc2dfdHlwZSldID0gY21zZ19kYXRhCisgICAgICAgIHJldHVybiBkCisKKyAgICBkZWYgY2hlY2tIb3BMaW1pdChzZWxmLCBhbmNidWZzaXplLCBtYXhob3A9MjU1LCBpZ25vcmVmbGFncz0wKToKKyAgICAgICAgIyBSZWNlaXZlIGhvcCBsaW1pdCBpbnRvIGFuY2J1ZnNpemUgYnl0ZXMgb2YgYW5jaWxsYXJ5IGRhdGEKKyAgICAgICAgIyBzcGFjZS4gIENoZWNrIHRoYXQgZGF0YSBpcyBNU0csIGFuY2lsbGFyeSBkYXRhIGlzIG5vdAorICAgICAgICAjIHRydW5jYXRlZCAoYnV0IGlnbm9yZSBhbnkgZmxhZ3MgaW4gaWdub3JlZmxhZ3MpLCBhbmQgaG9wCisgICAgICAgICMgbGltaXQgaXMgYmV0d2VlbiAwIGFuZCBtYXhob3AgaW5jbHVzaXZlLgorICAgICAgICBzZWxmLnNlcnZfc29jay5zZXRzb2Nrb3B0KHNvY2tldC5JUFBST1RPX0lQVjYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc29ja2V0LklQVjZfUkVDVkhPUExJTUlULCAxKQorICAgICAgICBzZWxmLm1pc2NfZXZlbnQuc2V0KCkKKyAgICAgICAgbXNnLCBhbmNkYXRhLCBmbGFncywgYWRkciA9IHNlbGYuZG9SZWN2bXNnKHNlbGYuc2Vydl9zb2NrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuKE1TRyksIGFuY2J1ZnNpemUpCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtc2csIE1TRykKKyAgICAgICAgc2VsZi5jaGVja1JlY3Ztc2dBZGRyZXNzKGFkZHIsIHNlbGYuY2xpX2FkZHIpCisgICAgICAgIHNlbGYuY2hlY2tGbGFncyhmbGFncywgZW9yPVRydWUsIGNoZWNrdW5zZXQ9c29ja2V0Lk1TR19DVFJVTkMsCisgICAgICAgICAgICAgICAgICAgICAgICBpZ25vcmU9aWdub3JlZmxhZ3MpCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oYW5jZGF0YSksIDEpCisgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShhbmNkYXRhWzBdLCB0dXBsZSkKKyAgICAgICAgY21zZ19sZXZlbCwgY21zZ190eXBlLCBjbXNnX2RhdGEgPSBhbmNkYXRhWzBdCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY21zZ19sZXZlbCwgc29ja2V0LklQUFJPVE9fSVBWNikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbXNnX3R5cGUsIHNvY2tldC5JUFY2X0hPUExJTUlUKQorICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2UoY21zZ19kYXRhLCBieXRlcykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oY21zZ19kYXRhKSwgU0laRU9GX0lOVCkKKyAgICAgICAgYSA9IGFycmF5LmFycmF5KCJpIikKKyAgICAgICAgYS5mcm9tYnl0ZXMoY21zZ19kYXRhKQorICAgICAgICBzZWxmLmFzc2VydEdyZWF0ZXJFcXVhbChhWzBdLCAwKQorICAgICAgICBzZWxmLmFzc2VydExlc3NFcXVhbChhWzBdLCBtYXhob3ApCisKKyAgICBAcmVxdWlyZUF0dHJzKHNvY2tldCwgIklQVjZfUkVDVkhPUExJTUlUIiwgIklQVjZfSE9QTElNSVQiKQorICAgIGRlZiB0ZXN0UmVjdkhvcExpbWl0KHNlbGYpOgorICAgICAgICAjIFRlc3QgcmVjZWl2aW5nIHRoZSBwYWNrZXQgaG9wIGxpbWl0IGFzIGFuY2lsbGFyeSBkYXRhLgorICAgICAgICBzZWxmLmNoZWNrSG9wTGltaXQoYW5jYnVmc2l6ZT0xMDI0MCkKKworICAgIEB0ZXN0UmVjdkhvcExpbWl0LmNsaWVudF9za2lwCisgICAgZGVmIF90ZXN0UmVjdkhvcExpbWl0KHNlbGYpOgorICAgICAgICAjIE5lZWQgdG8gd2FpdCB1bnRpbCBzZXJ2ZXIgaGFzIGFza2VkIHRvIHJlY2VpdmUgYW5jaWxsYXJ5CisgICAgICAgICMgZGF0YSwgYXMgaW1wbGVtZW50YXRpb25zIGFyZSBub3QgcmVxdWlyZWQgdG8gYnVmZmVyIGl0CisgICAgICAgICMgb3RoZXJ3aXNlLgorICAgICAgICBzZWxmLmFzc2VydFRydWUoc2VsZi5taXNjX2V2ZW50LndhaXQodGltZW91dD1zZWxmLmZhaWxfdGltZW91dCkpCisgICAgICAgIHNlbGYuc2VuZFRvU2VydmVyKE1TRykKKworICAgIEByZXF1aXJlQXR0cnMoc29ja2V0LCAiQ01TR19TUEFDRSIsICJJUFY2X1JFQ1ZIT1BMSU1JVCIsICJJUFY2X0hPUExJTUlUIikKKyAgICBkZWYgdGVzdFJlY3ZIb3BMaW1pdENNU0dfU1BBQ0Uoc2VsZik6CisgICAgICAgICMgVGVzdCByZWNlaXZpbmcgaG9wIGxpbWl0LCB1c2luZyBDTVNHX1NQQUNFIHRvIGNhbGN1bGF0ZSBidWZmZXIgc2l6ZS4KKyAgICAgICAgc2VsZi5jaGVja0hvcExpbWl0KGFuY2J1ZnNpemU9c29ja2V0LkNNU0dfU1BBQ0UoU0laRU9GX0lOVCkpCisKKyAgICBAdGVzdFJlY3ZIb3BMaW1pdENNU0dfU1BBQ0UuY2xpZW50X3NraXAKKyAgICBkZWYgX3Rlc3RSZWN2SG9wTGltaXRDTVNHX1NQQUNFKHNlbGYpOgorICAgICAgICBzZWxmLmFzc2VydFRydWUoc2VsZi5taXNjX2V2ZW50LndhaXQodGltZW91dD1zZWxmLmZhaWxfdGltZW91dCkpCisgICAgICAgIHNlbGYuc2VuZFRvU2VydmVyKE1TRykKKworICAgICMgQ291bGQgdGVzdCByZWNlaXZpbmcgaW50byBidWZmZXIgc2l6ZWQgdXNpbmcgQ01TR19MRU4sIGJ1dCBSRkMKKyAgICAjIDM1NDIgc2F5cyBwb3J0YWJsZSBhcHBsaWNhdGlvbnMgbXVzdCBwcm92aWRlIHNwYWNlIGZvciB0cmFpbGluZworICAgICMgcGFkZGluZy4gIEltcGxlbWVudGF0aW9ucyBtYXkgc2V0IE1TR19DVFJVTkMgaWYgdGhlcmUgaXNuJ3QKKyAgICAjIGVub3VnaCBzcGFjZSBmb3IgdGhlIHBhZGRpbmcuCisKKyAgICBAcmVxdWlyZUF0dHJzKHNvY2tldC5zb2NrZXQsICJzZW5kbXNnIikKKyAgICBAcmVxdWlyZUF0dHJzKHNvY2tldCwgIklQVjZfUkVDVkhPUExJTUlUIiwgIklQVjZfSE9QTElNSVQiKQorICAgIGRlZiB0ZXN0U2V0SG9wTGltaXQoc2VsZik6CisgICAgICAgICMgVGVzdCBzZXR0aW5nIGhvcCBsaW1pdCBvbiBvdXRnb2luZyBwYWNrZXQgYW5kIHJlY2VpdmluZyBpdAorICAgICAgICAjIGF0IHRoZSBvdGhlciBlbmQuCisgICAgICAgIHNlbGYuY2hlY2tIb3BMaW1pdChhbmNidWZzaXplPTEwMjQwLCBtYXhob3A9c2VsZi5ob3BfbGltaXQpCisKKyAgICBAdGVzdFNldEhvcExpbWl0LmNsaWVudF9za2lwCisgICAgZGVmIF90ZXN0U2V0SG9wTGltaXQoc2VsZik6CisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShzZWxmLm1pc2NfZXZlbnQud2FpdCh0aW1lb3V0PXNlbGYuZmFpbF90aW1lb3V0KSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgIHNlbGYuc2VuZG1zZ1RvU2VydmVyKFtNU0ddLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhzb2NrZXQuSVBQUk9UT19JUFY2LCBzb2NrZXQuSVBWNl9IT1BMSU1JVCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJyYXkuYXJyYXkoImkiLCBbc2VsZi5ob3BfbGltaXRdKSldKSwKKyAgICAgICAgICAgIGxlbihNU0cpKQorCisgICAgZGVmIGNoZWNrVHJhZmZpY0NsYXNzQW5kSG9wTGltaXQoc2VsZiwgYW5jYnVmc2l6ZSwgbWF4aG9wPTI1NSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZ25vcmVmbGFncz0wKToKKyAgICAgICAgIyBSZWNlaXZlIHRyYWZmaWMgY2xhc3MgYW5kIGhvcCBsaW1pdCBpbnRvIGFuY2J1ZnNpemUgYnl0ZXMgb2YKKyAgICAgICAgIyBhbmNpbGxhcnkgZGF0YSBzcGFjZS4gIENoZWNrIHRoYXQgZGF0YSBpcyBNU0csIGFuY2lsbGFyeQorICAgICAgICAjIGRhdGEgaXMgbm90IHRydW5jYXRlZCAoYnV0IGlnbm9yZSBhbnkgZmxhZ3MgaW4gaWdub3JlZmxhZ3MpLAorICAgICAgICAjIGFuZCB0cmFmZmljIGNsYXNzIGFuZCBob3AgbGltaXQgYXJlIGluIHJhbmdlIChob3AgbGltaXQgbm8KKyAgICAgICAgIyBtb3JlIHRoYW4gbWF4aG9wKS4KKyAgICAgICAgc2VsZi5zZXJ2X3NvY2suc2V0c29ja29wdChzb2NrZXQuSVBQUk9UT19JUFY2LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvY2tldC5JUFY2X1JFQ1ZIT1BMSU1JVCwgMSkKKyAgICAgICAgc2VsZi5zZXJ2X3NvY2suc2V0c29ja29wdChzb2NrZXQuSVBQUk9UT19JUFY2LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvY2tldC5JUFY2X1JFQ1ZUQ0xBU1MsIDEpCisgICAgICAgIHNlbGYubWlzY19ldmVudC5zZXQoKQorICAgICAgICBtc2csIGFuY2RhdGEsIGZsYWdzLCBhZGRyID0gc2VsZi5kb1JlY3Ztc2coc2VsZi5zZXJ2X3NvY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZW4oTVNHKSwgYW5jYnVmc2l6ZSkKKworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1zZywgTVNHKQorICAgICAgICBzZWxmLmNoZWNrUmVjdm1zZ0FkZHJlc3MoYWRkciwgc2VsZi5jbGlfYWRkcikKKyAgICAgICAgc2VsZi5jaGVja0ZsYWdzKGZsYWdzLCBlb3I9VHJ1ZSwgY2hlY2t1bnNldD1zb2NrZXQuTVNHX0NUUlVOQywKKyAgICAgICAgICAgICAgICAgICAgICAgIGlnbm9yZT1pZ25vcmVmbGFncykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oYW5jZGF0YSksIDIpCisgICAgICAgIGFuY21hcCA9IHNlbGYuYW5jaWxsYXJ5TWFwcGluZyhhbmNkYXRhKQorCisgICAgICAgIHRjZGF0YSA9IGFuY21hcFsoc29ja2V0LklQUFJPVE9fSVBWNiwgc29ja2V0LklQVjZfVENMQVNTKV0KKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4odGNkYXRhKSwgU0laRU9GX0lOVCkKKyAgICAgICAgYSA9IGFycmF5LmFycmF5KCJpIikKKyAgICAgICAgYS5mcm9tYnl0ZXModGNkYXRhKQorICAgICAgICBzZWxmLmFzc2VydEdyZWF0ZXJFcXVhbChhWzBdLCAwKQorICAgICAgICBzZWxmLmFzc2VydExlc3NFcXVhbChhWzBdLCAyNTUpCisKKyAgICAgICAgaGxkYXRhID0gYW5jbWFwWyhzb2NrZXQuSVBQUk9UT19JUFY2LCBzb2NrZXQuSVBWNl9IT1BMSU1JVCldCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGhsZGF0YSksIFNJWkVPRl9JTlQpCisgICAgICAgIGEgPSBhcnJheS5hcnJheSgiaSIpCisgICAgICAgIGEuZnJvbWJ5dGVzKGhsZGF0YSkKKyAgICAgICAgc2VsZi5hc3NlcnRHcmVhdGVyRXF1YWwoYVswXSwgMCkKKyAgICAgICAgc2VsZi5hc3NlcnRMZXNzRXF1YWwoYVswXSwgbWF4aG9wKQorCisgICAgQHJlcXVpcmVBdHRycyhzb2NrZXQsICJJUFY2X1JFQ1ZIT1BMSU1JVCIsICJJUFY2X0hPUExJTUlUIiwKKyAgICAgICAgICAgICAgICAgICJJUFY2X1JFQ1ZUQ0xBU1MiLCAiSVBWNl9UQ0xBU1MiKQorICAgIGRlZiB0ZXN0UmVjdlRyYWZmaWNDbGFzc0FuZEhvcExpbWl0KHNlbGYpOgorICAgICAgICAjIFRlc3QgcmVjZWl2aW5nIHRyYWZmaWMgY2xhc3MgYW5kIGhvcCBsaW1pdCBhcyBhbmNpbGxhcnkgZGF0YS4KKyAgICAgICAgc2VsZi5jaGVja1RyYWZmaWNDbGFzc0FuZEhvcExpbWl0KGFuY2J1ZnNpemU9MTAyNDApCisKKyAgICBAdGVzdFJlY3ZUcmFmZmljQ2xhc3NBbmRIb3BMaW1pdC5jbGllbnRfc2tpcAorICAgIGRlZiBfdGVzdFJlY3ZUcmFmZmljQ2xhc3NBbmRIb3BMaW1pdChzZWxmKToKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHNlbGYubWlzY19ldmVudC53YWl0KHRpbWVvdXQ9c2VsZi5mYWlsX3RpbWVvdXQpKQorICAgICAgICBzZWxmLnNlbmRUb1NlcnZlcihNU0cpCisKKyAgICBAcmVxdWlyZUF0dHJzKHNvY2tldCwgIkNNU0dfU1BBQ0UiLCAiSVBWNl9SRUNWSE9QTElNSVQiLCAiSVBWNl9IT1BMSU1JVCIsCisgICAgICAgICAgICAgICAgICAiSVBWNl9SRUNWVENMQVNTIiwgIklQVjZfVENMQVNTIikKKyAgICBkZWYgdGVzdFJlY3ZUcmFmZmljQ2xhc3NBbmRIb3BMaW1pdENNU0dfU1BBQ0Uoc2VsZik6CisgICAgICAgICMgVGVzdCByZWNlaXZpbmcgdHJhZmZpYyBjbGFzcyBhbmQgaG9wIGxpbWl0LCB1c2luZworICAgICAgICAjIENNU0dfU1BBQ0UoKSB0byBjYWxjdWxhdGUgYnVmZmVyIHNpemUuCisgICAgICAgIHNlbGYuY2hlY2tUcmFmZmljQ2xhc3NBbmRIb3BMaW1pdCgKKyAgICAgICAgICAgIGFuY2J1ZnNpemU9c29ja2V0LkNNU0dfU1BBQ0UoU0laRU9GX0lOVCkgKiAyKQorCisgICAgQHRlc3RSZWN2VHJhZmZpY0NsYXNzQW5kSG9wTGltaXRDTVNHX1NQQUNFLmNsaWVudF9za2lwCisgICAgZGVmIF90ZXN0UmVjdlRyYWZmaWNDbGFzc0FuZEhvcExpbWl0Q01TR19TUEFDRShzZWxmKToKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHNlbGYubWlzY19ldmVudC53YWl0KHRpbWVvdXQ9c2VsZi5mYWlsX3RpbWVvdXQpKQorICAgICAgICBzZWxmLnNlbmRUb1NlcnZlcihNU0cpCisKKyAgICBAcmVxdWlyZUF0dHJzKHNvY2tldC5zb2NrZXQsICJzZW5kbXNnIikKKyAgICBAcmVxdWlyZUF0dHJzKHNvY2tldCwgIkNNU0dfU1BBQ0UiLCAiSVBWNl9SRUNWSE9QTElNSVQiLCAiSVBWNl9IT1BMSU1JVCIsCisgICAgICAgICAgICAgICAgICAiSVBWNl9SRUNWVENMQVNTIiwgIklQVjZfVENMQVNTIikKKyAgICBkZWYgdGVzdFNldFRyYWZmaWNDbGFzc0FuZEhvcExpbWl0KHNlbGYpOgorICAgICAgICAjIFRlc3Qgc2V0dGluZyB0cmFmZmljIGNsYXNzIGFuZCBob3AgbGltaXQgb24gb3V0Z29pbmcgcGFja2V0LAorICAgICAgICAjIGFuZCByZWNlaXZpbmcgdGhlbSBhdCB0aGUgb3RoZXIgZW5kLgorICAgICAgICBzZWxmLmNoZWNrVHJhZmZpY0NsYXNzQW5kSG9wTGltaXQoYW5jYnVmc2l6ZT0xMDI0MCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heGhvcD1zZWxmLmhvcF9saW1pdCkKKworICAgIEB0ZXN0U2V0VHJhZmZpY0NsYXNzQW5kSG9wTGltaXQuY2xpZW50X3NraXAKKyAgICBkZWYgX3Rlc3RTZXRUcmFmZmljQ2xhc3NBbmRIb3BMaW1pdChzZWxmKToKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHNlbGYubWlzY19ldmVudC53YWl0KHRpbWVvdXQ9c2VsZi5mYWlsX3RpbWVvdXQpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgc2VsZi5zZW5kbXNnVG9TZXJ2ZXIoW01TR10sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKHNvY2tldC5JUFBST1RPX0lQVjYsIHNvY2tldC5JUFY2X1RDTEFTUywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJyYXkuYXJyYXkoImkiLCBbc2VsZi50cmFmZmljX2NsYXNzXSkpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzb2NrZXQuSVBQUk9UT19JUFY2LCBzb2NrZXQuSVBWNl9IT1BMSU1JVCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJyYXkuYXJyYXkoImkiLCBbc2VsZi5ob3BfbGltaXRdKSldKSwKKyAgICAgICAgICAgIGxlbihNU0cpKQorCisgICAgQHJlcXVpcmVBdHRycyhzb2NrZXQuc29ja2V0LCAic2VuZG1zZyIpCisgICAgQHJlcXVpcmVBdHRycyhzb2NrZXQsICJDTVNHX1NQQUNFIiwgIklQVjZfUkVDVkhPUExJTUlUIiwgIklQVjZfSE9QTElNSVQiLAorICAgICAgICAgICAgICAgICAgIklQVjZfUkVDVlRDTEFTUyIsICJJUFY2X1RDTEFTUyIpCisgICAgZGVmIHRlc3RPZGRDbXNnU2l6ZShzZWxmKToKKyAgICAgICAgIyBUcnkgdG8gc2VuZCBhbmNpbGxhcnkgZGF0YSB3aXRoIGZpcnN0IGl0ZW0gb25lIGJ5dGUgdG9vCisgICAgICAgICMgbG9uZy4gIEZhbGwgYmFjayB0byBzZW5kaW5nIHdpdGggY29ycmVjdCBzaXplIGlmIHRoaXMgZmFpbHMsCisgICAgICAgICMgYW5kIGNoZWNrIHRoYXQgc2Vjb25kIGl0ZW0gd2FzIGhhbmRsZWQgY29ycmVjdGx5LgorICAgICAgICBzZWxmLmNoZWNrVHJhZmZpY0NsYXNzQW5kSG9wTGltaXQoYW5jYnVmc2l6ZT0xMDI0MCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heGhvcD1zZWxmLmhvcF9saW1pdCkKKworICAgIEB0ZXN0T2RkQ21zZ1NpemUuY2xpZW50X3NraXAKKyAgICBkZWYgX3Rlc3RPZGRDbXNnU2l6ZShzZWxmKToKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHNlbGYubWlzY19ldmVudC53YWl0KHRpbWVvdXQ9c2VsZi5mYWlsX3RpbWVvdXQpKQorICAgICAgICB0cnk6CisgICAgICAgICAgICBuYnl0ZXMgPSBzZWxmLnNlbmRtc2dUb1NlcnZlcigKKyAgICAgICAgICAgICAgICBbTVNHXSwKKyAgICAgICAgICAgICAgICBbKHNvY2tldC5JUFBST1RPX0lQVjYsIHNvY2tldC5JUFY2X1RDTEFTUywKKyAgICAgICAgICAgICAgICAgIGFycmF5LmFycmF5KCJpIiwgW3NlbGYudHJhZmZpY19jbGFzc10pLnRvYnl0ZXMoKSArIGIiXHgwMCIpLAorICAgICAgICAgICAgICAgICAoc29ja2V0LklQUFJPVE9fSVBWNiwgc29ja2V0LklQVjZfSE9QTElNSVQsCisgICAgICAgICAgICAgICAgICBhcnJheS5hcnJheSgiaSIsIFtzZWxmLmhvcF9saW1pdF0pKV0pCisgICAgICAgIGV4Y2VwdCBzb2NrZXQuZXJyb3IgYXMgZToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShlLmVycm5vLCBpbnQpCisgICAgICAgICAgICBuYnl0ZXMgPSBzZWxmLnNlbmRtc2dUb1NlcnZlcigKKyAgICAgICAgICAgICAgICBbTVNHXSwKKyAgICAgICAgICAgICAgICBbKHNvY2tldC5JUFBST1RPX0lQVjYsIHNvY2tldC5JUFY2X1RDTEFTUywKKyAgICAgICAgICAgICAgICAgIGFycmF5LmFycmF5KCJpIiwgW3NlbGYudHJhZmZpY19jbGFzc10pKSwKKyAgICAgICAgICAgICAgICAgKHNvY2tldC5JUFBST1RPX0lQVjYsIHNvY2tldC5JUFY2X0hPUExJTUlULAorICAgICAgICAgICAgICAgICAgYXJyYXkuYXJyYXkoImkiLCBbc2VsZi5ob3BfbGltaXRdKSldKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChuYnl0ZXMsIGxlbihNU0cpKQorCisgICAgIyBUZXN0cyBmb3IgcHJvcGVyIGhhbmRsaW5nIG9mIHRydW5jYXRlZCBhbmNpbGxhcnkgZGF0YQorCisgICAgZGVmIGNoZWNrSG9wTGltaXRUcnVuY2F0ZWRIZWFkZXIoc2VsZiwgYW5jYnVmc2l6ZSwgaWdub3JlZmxhZ3M9MCk6CisgICAgICAgICMgUmVjZWl2ZSBob3AgbGltaXQgaW50byBhbmNidWZzaXplIGJ5dGVzIG9mIGFuY2lsbGFyeSBkYXRhCisgICAgICAgICMgc3BhY2UsIHdoaWNoIHNob3VsZCBiZSB0b28gc21hbGwgdG8gY29udGFpbiB0aGUgYW5jaWxsYXJ5CisgICAgICAgICMgZGF0YSBoZWFkZXIgKGlmIGFuY2J1ZnNpemUgaXMgTm9uZSwgcGFzcyBubyBzZWNvbmQgYXJndW1lbnQKKyAgICAgICAgIyB0byByZWN2bXNnKCkpLiAgQ2hlY2sgdGhhdCBkYXRhIGlzIE1TRywgTVNHX0NUUlVOQyBpcyBzZXQKKyAgICAgICAgIyAodW5sZXNzIGluY2x1ZGVkIGluIGlnbm9yZWZsYWdzKSwgYW5kIG5vIGFuY2lsbGFyeSBkYXRhIGlzCisgICAgICAgICMgcmV0dXJuZWQuCisgICAgICAgIHNlbGYuc2Vydl9zb2NrLnNldHNvY2tvcHQoc29ja2V0LklQUFJPVE9fSVBWNiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb2NrZXQuSVBWNl9SRUNWSE9QTElNSVQsIDEpCisgICAgICAgIHNlbGYubWlzY19ldmVudC5zZXQoKQorICAgICAgICBhcmdzID0gKCkgaWYgYW5jYnVmc2l6ZSBpcyBOb25lIGVsc2UgKGFuY2J1ZnNpemUsKQorICAgICAgICBtc2csIGFuY2RhdGEsIGZsYWdzLCBhZGRyID0gc2VsZi5kb1JlY3Ztc2coc2VsZi5zZXJ2X3NvY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZW4oTVNHKSwgKmFyZ3MpCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtc2csIE1TRykKKyAgICAgICAgc2VsZi5jaGVja1JlY3Ztc2dBZGRyZXNzKGFkZHIsIHNlbGYuY2xpX2FkZHIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYW5jZGF0YSwgW10pCisgICAgICAgIHNlbGYuY2hlY2tGbGFncyhmbGFncywgZW9yPVRydWUsIGNoZWNrc2V0PXNvY2tldC5NU0dfQ1RSVU5DLAorICAgICAgICAgICAgICAgICAgICAgICAgaWdub3JlPWlnbm9yZWZsYWdzKQorCisgICAgQHJlcXVpcmVBdHRycyhzb2NrZXQsICJJUFY2X1JFQ1ZIT1BMSU1JVCIsICJJUFY2X0hPUExJTUlUIikKKyAgICBkZWYgdGVzdENtc2dUcnVuY05vQnVmU2l6ZShzZWxmKToKKyAgICAgICAgIyBDaGVjayB0aGF0IG5vIGFuY2lsbGFyeSBkYXRhIGlzIHJlY2VpdmVkIHdoZW4gbm8gYW5jaWxsYXJ5CisgICAgICAgICMgYnVmZmVyIHNpemUgaXMgcHJvdmlkZWQuCisgICAgICAgIHNlbGYuY2hlY2tIb3BMaW1pdFRydW5jYXRlZEhlYWRlcihhbmNidWZzaXplPU5vbmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIEJTRCBzZWVtcyB0byBzZXQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgTVNHX0NUUlVOQyBvbmx5IGlmIGFuIGl0ZW0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgaGFzIGJlZW4gcGFydGlhbGx5CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIHJlY2VpdmVkLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWdub3JlZmxhZ3M9c29ja2V0Lk1TR19DVFJVTkMpCisKKyAgICBAdGVzdENtc2dUcnVuY05vQnVmU2l6ZS5jbGllbnRfc2tpcAorICAgIGRlZiBfdGVzdENtc2dUcnVuY05vQnVmU2l6ZShzZWxmKToKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHNlbGYubWlzY19ldmVudC53YWl0KHRpbWVvdXQ9c2VsZi5mYWlsX3RpbWVvdXQpKQorICAgICAgICBzZWxmLnNlbmRUb1NlcnZlcihNU0cpCisKKyAgICBAcmVxdWlyZUF0dHJzKHNvY2tldCwgIklQVjZfUkVDVkhPUExJTUlUIiwgIklQVjZfSE9QTElNSVQiKQorICAgIGRlZiB0ZXN0U2luZ2xlQ21zZ1RydW5jMChzZWxmKToKKyAgICAgICAgIyBDaGVjayB0aGF0IG5vIGFuY2lsbGFyeSBkYXRhIGlzIHJlY2VpdmVkIHdoZW4gYW5jaWxsYXJ5CisgICAgICAgICMgYnVmZmVyIHNpemUgaXMgemVyby4KKyAgICAgICAgc2VsZi5jaGVja0hvcExpbWl0VHJ1bmNhdGVkSGVhZGVyKGFuY2J1ZnNpemU9MCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlnbm9yZWZsYWdzPXNvY2tldC5NU0dfQ1RSVU5DKQorCisgICAgQHRlc3RTaW5nbGVDbXNnVHJ1bmMwLmNsaWVudF9za2lwCisgICAgZGVmIF90ZXN0U2luZ2xlQ21zZ1RydW5jMChzZWxmKToKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHNlbGYubWlzY19ldmVudC53YWl0KHRpbWVvdXQ9c2VsZi5mYWlsX3RpbWVvdXQpKQorICAgICAgICBzZWxmLnNlbmRUb1NlcnZlcihNU0cpCisKKyAgICAjIENoZWNrIHRoYXQgbm8gYW5jaWxsYXJ5IGRhdGEgaXMgcmV0dXJuZWQgZm9yIHZhcmlvdXMgbm9uLXplcm8KKyAgICAjIChidXQgc3RpbGwgdG9vIHNtYWxsKSBidWZmZXIgc2l6ZXMuCisKKyAgICBAcmVxdWlyZUF0dHJzKHNvY2tldCwgIklQVjZfUkVDVkhPUExJTUlUIiwgIklQVjZfSE9QTElNSVQiKQorICAgIGRlZiB0ZXN0U2luZ2xlQ21zZ1RydW5jMShzZWxmKToKKyAgICAgICAgc2VsZi5jaGVja0hvcExpbWl0VHJ1bmNhdGVkSGVhZGVyKGFuY2J1ZnNpemU9MSkKKworICAgIEB0ZXN0U2luZ2xlQ21zZ1RydW5jMS5jbGllbnRfc2tpcAorICAgIGRlZiBfdGVzdFNpbmdsZUNtc2dUcnVuYzEoc2VsZik6CisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShzZWxmLm1pc2NfZXZlbnQud2FpdCh0aW1lb3V0PXNlbGYuZmFpbF90aW1lb3V0KSkKKyAgICAgICAgc2VsZi5zZW5kVG9TZXJ2ZXIoTVNHKQorCisgICAgQHJlcXVpcmVBdHRycyhzb2NrZXQsICJJUFY2X1JFQ1ZIT1BMSU1JVCIsICJJUFY2X0hPUExJTUlUIikKKyAgICBkZWYgdGVzdFNpbmdsZUNtc2dUcnVuYzJJbnQoc2VsZik6CisgICAgICAgIHNlbGYuY2hlY2tIb3BMaW1pdFRydW5jYXRlZEhlYWRlcihhbmNidWZzaXplPTIgKiBTSVpFT0ZfSU5UKQorCisgICAgQHRlc3RTaW5nbGVDbXNnVHJ1bmMySW50LmNsaWVudF9za2lwCisgICAgZGVmIF90ZXN0U2luZ2xlQ21zZ1RydW5jMkludChzZWxmKToKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHNlbGYubWlzY19ldmVudC53YWl0KHRpbWVvdXQ9c2VsZi5mYWlsX3RpbWVvdXQpKQorICAgICAgICBzZWxmLnNlbmRUb1NlcnZlcihNU0cpCisKKyAgICBAcmVxdWlyZUF0dHJzKHNvY2tldCwgIklQVjZfUkVDVkhPUExJTUlUIiwgIklQVjZfSE9QTElNSVQiKQorICAgIGRlZiB0ZXN0U2luZ2xlQ21zZ1RydW5jTGVuME1pbnVzMShzZWxmKToKKyAgICAgICAgc2VsZi5jaGVja0hvcExpbWl0VHJ1bmNhdGVkSGVhZGVyKGFuY2J1ZnNpemU9c29ja2V0LkNNU0dfTEVOKDApIC0gMSkKKworICAgIEB0ZXN0U2luZ2xlQ21zZ1RydW5jTGVuME1pbnVzMS5jbGllbnRfc2tpcAorICAgIGRlZiBfdGVzdFNpbmdsZUNtc2dUcnVuY0xlbjBNaW51czEoc2VsZik6CisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShzZWxmLm1pc2NfZXZlbnQud2FpdCh0aW1lb3V0PXNlbGYuZmFpbF90aW1lb3V0KSkKKyAgICAgICAgc2VsZi5zZW5kVG9TZXJ2ZXIoTVNHKQorCisgICAgQHJlcXVpcmVBdHRycyhzb2NrZXQsICJJUFY2X1JFQ1ZIT1BMSU1JVCIsICJJUFY2X0hPUExJTUlUIikKKyAgICBkZWYgdGVzdFNpbmdsZUNtc2dUcnVuY0luRGF0YShzZWxmKToKKyAgICAgICAgIyBUZXN0IHRydW5jYXRpb24gb2YgYSBjb250cm9sIG1lc3NhZ2UgaW5zaWRlIGl0cyBhc3NvY2lhdGVkCisgICAgICAgICMgZGF0YS4gIFRoZSBtZXNzYWdlIG1heSBiZSByZXR1cm5lZCB3aXRoIGl0cyBkYXRhIHRydW5jYXRlZCwKKyAgICAgICAgIyBvciBub3QgcmV0dXJuZWQgYXQgYWxsLgorICAgICAgICBzZWxmLnNlcnZfc29jay5zZXRzb2Nrb3B0KHNvY2tldC5JUFBST1RPX0lQVjYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc29ja2V0LklQVjZfUkVDVkhPUExJTUlULCAxKQorICAgICAgICBzZWxmLm1pc2NfZXZlbnQuc2V0KCkKKyAgICAgICAgbXNnLCBhbmNkYXRhLCBmbGFncywgYWRkciA9IHNlbGYuZG9SZWN2bXNnKAorICAgICAgICAgICAgc2VsZi5zZXJ2X3NvY2ssIGxlbihNU0cpLCBzb2NrZXQuQ01TR19MRU4oU0laRU9GX0lOVCkgLSAxKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobXNnLCBNU0cpCisgICAgICAgIHNlbGYuY2hlY2tSZWN2bXNnQWRkcmVzcyhhZGRyLCBzZWxmLmNsaV9hZGRyKQorICAgICAgICBzZWxmLmNoZWNrRmxhZ3MoZmxhZ3MsIGVvcj1UcnVlLCBjaGVja3NldD1zb2NrZXQuTVNHX0NUUlVOQykKKworICAgICAgICBzZWxmLmFzc2VydExlc3NFcXVhbChsZW4oYW5jZGF0YSksIDEpCisgICAgICAgIGlmIGFuY2RhdGE6CisgICAgICAgICAgICBjbXNnX2xldmVsLCBjbXNnX3R5cGUsIGNtc2dfZGF0YSA9IGFuY2RhdGFbMF0KKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY21zZ19sZXZlbCwgc29ja2V0LklQUFJPVE9fSVBWNikKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY21zZ190eXBlLCBzb2NrZXQuSVBWNl9IT1BMSU1JVCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0TGVzcyhsZW4oY21zZ19kYXRhKSwgU0laRU9GX0lOVCkKKworICAgIEB0ZXN0U2luZ2xlQ21zZ1RydW5jSW5EYXRhLmNsaWVudF9za2lwCisgICAgZGVmIF90ZXN0U2luZ2xlQ21zZ1RydW5jSW5EYXRhKHNlbGYpOgorICAgICAgICBzZWxmLmFzc2VydFRydWUoc2VsZi5taXNjX2V2ZW50LndhaXQodGltZW91dD1zZWxmLmZhaWxfdGltZW91dCkpCisgICAgICAgIHNlbGYuc2VuZFRvU2VydmVyKE1TRykKKworICAgIGRlZiBjaGVja1RydW5jYXRlZFNlY29uZEhlYWRlcihzZWxmLCBhbmNidWZzaXplLCBpZ25vcmVmbGFncz0wKToKKyAgICAgICAgIyBSZWNlaXZlIHRyYWZmaWMgY2xhc3MgYW5kIGhvcCBsaW1pdCBpbnRvIGFuY2J1ZnNpemUgYnl0ZXMgb2YKKyAgICAgICAgIyBhbmNpbGxhcnkgZGF0YSBzcGFjZSwgd2hpY2ggc2hvdWxkIGJlIGxhcmdlIGVub3VnaCB0bworICAgICAgICAjIGNvbnRhaW4gdGhlIGZpcnN0IGl0ZW0sIGJ1dCB0b28gc21hbGwgdG8gY29udGFpbiB0aGUgaGVhZGVyCisgICAgICAgICMgb2YgdGhlIHNlY29uZC4gIENoZWNrIHRoYXQgZGF0YSBpcyBNU0csIE1TR19DVFJVTkMgaXMgc2V0CisgICAgICAgICMgKHVubGVzcyBpbmNsdWRlZCBpbiBpZ25vcmVmbGFncyksIGFuZCBvbmx5IG9uZSBhbmNpbGxhcnkKKyAgICAgICAgIyBkYXRhIGl0ZW0gaXMgcmV0dXJuZWQuCisgICAgICAgIHNlbGYuc2Vydl9zb2NrLnNldHNvY2tvcHQoc29ja2V0LklQUFJPVE9fSVBWNiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb2NrZXQuSVBWNl9SRUNWSE9QTElNSVQsIDEpCisgICAgICAgIHNlbGYuc2Vydl9zb2NrLnNldHNvY2tvcHQoc29ja2V0LklQUFJPVE9fSVBWNiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb2NrZXQuSVBWNl9SRUNWVENMQVNTLCAxKQorICAgICAgICBzZWxmLm1pc2NfZXZlbnQuc2V0KCkKKyAgICAgICAgbXNnLCBhbmNkYXRhLCBmbGFncywgYWRkciA9IHNlbGYuZG9SZWN2bXNnKHNlbGYuc2Vydl9zb2NrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVuKE1TRyksIGFuY2J1ZnNpemUpCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtc2csIE1TRykKKyAgICAgICAgc2VsZi5jaGVja1JlY3Ztc2dBZGRyZXNzKGFkZHIsIHNlbGYuY2xpX2FkZHIpCisgICAgICAgIHNlbGYuY2hlY2tGbGFncyhmbGFncywgZW9yPVRydWUsIGNoZWNrc2V0PXNvY2tldC5NU0dfQ1RSVU5DLAorICAgICAgICAgICAgICAgICAgICAgICAgaWdub3JlPWlnbm9yZWZsYWdzKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGFuY2RhdGEpLCAxKQorICAgICAgICBjbXNnX2xldmVsLCBjbXNnX3R5cGUsIGNtc2dfZGF0YSA9IGFuY2RhdGFbMF0KKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbXNnX2xldmVsLCBzb2NrZXQuSVBQUk9UT19JUFY2KQorICAgICAgICBzZWxmLmFzc2VydEluKGNtc2dfdHlwZSwge3NvY2tldC5JUFY2X1RDTEFTUywgc29ja2V0LklQVjZfSE9QTElNSVR9KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihjbXNnX2RhdGEpLCBTSVpFT0ZfSU5UKQorICAgICAgICBhID0gYXJyYXkuYXJyYXkoImkiKQorICAgICAgICBhLmZyb21ieXRlcyhjbXNnX2RhdGEpCisgICAgICAgIHNlbGYuYXNzZXJ0R3JlYXRlckVxdWFsKGFbMF0sIDApCisgICAgICAgIHNlbGYuYXNzZXJ0TGVzc0VxdWFsKGFbMF0sIDI1NSkKKworICAgICMgVHJ5IHRoZSBhYm92ZSB0ZXN0IHdpdGggdmFyaW91cyBidWZmZXIgc2l6ZXMuCisKKyAgICBAcmVxdWlyZUF0dHJzKHNvY2tldCwgIkNNU0dfU1BBQ0UiLCAiSVBWNl9SRUNWSE9QTElNSVQiLCAiSVBWNl9IT1BMSU1JVCIsCisgICAgICAgICAgICAgICAgICAiSVBWNl9SRUNWVENMQVNTIiwgIklQVjZfVENMQVNTIikKKyAgICBkZWYgdGVzdFNlY29uZENtc2dUcnVuYzAoc2VsZik6CisgICAgICAgIHNlbGYuY2hlY2tUcnVuY2F0ZWRTZWNvbmRIZWFkZXIoc29ja2V0LkNNU0dfU1BBQ0UoU0laRU9GX0lOVCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWdub3JlZmxhZ3M9c29ja2V0Lk1TR19DVFJVTkMpCisKKyAgICBAdGVzdFNlY29uZENtc2dUcnVuYzAuY2xpZW50X3NraXAKKyAgICBkZWYgX3Rlc3RTZWNvbmRDbXNnVHJ1bmMwKHNlbGYpOgorICAgICAgICBzZWxmLmFzc2VydFRydWUoc2VsZi5taXNjX2V2ZW50LndhaXQodGltZW91dD1zZWxmLmZhaWxfdGltZW91dCkpCisgICAgICAgIHNlbGYuc2VuZFRvU2VydmVyKE1TRykKKworICAgIEByZXF1aXJlQXR0cnMoc29ja2V0LCAiQ01TR19TUEFDRSIsICJJUFY2X1JFQ1ZIT1BMSU1JVCIsICJJUFY2X0hPUExJTUlUIiwKKyAgICAgICAgICAgICAgICAgICJJUFY2X1JFQ1ZUQ0xBU1MiLCAiSVBWNl9UQ0xBU1MiKQorICAgIGRlZiB0ZXN0U2Vjb25kQ21zZ1RydW5jMShzZWxmKToKKyAgICAgICAgc2VsZi5jaGVja1RydW5jYXRlZFNlY29uZEhlYWRlcihzb2NrZXQuQ01TR19TUEFDRShTSVpFT0ZfSU5UKSArIDEpCisKKyAgICBAdGVzdFNlY29uZENtc2dUcnVuYzEuY2xpZW50X3NraXAKKyAgICBkZWYgX3Rlc3RTZWNvbmRDbXNnVHJ1bmMxKHNlbGYpOgorICAgICAgICBzZWxmLmFzc2VydFRydWUoc2VsZi5taXNjX2V2ZW50LndhaXQodGltZW91dD1zZWxmLmZhaWxfdGltZW91dCkpCisgICAgICAgIHNlbGYuc2VuZFRvU2VydmVyKE1TRykKKworICAgIEByZXF1aXJlQXR0cnMoc29ja2V0LCAiQ01TR19TUEFDRSIsICJJUFY2X1JFQ1ZIT1BMSU1JVCIsICJJUFY2X0hPUExJTUlUIiwKKyAgICAgICAgICAgICAgICAgICJJUFY2X1JFQ1ZUQ0xBU1MiLCAiSVBWNl9UQ0xBU1MiKQorICAgIGRlZiB0ZXN0U2Vjb25kQ21zZ1RydW5jMkludChzZWxmKToKKyAgICAgICAgc2VsZi5jaGVja1RydW5jYXRlZFNlY29uZEhlYWRlcihzb2NrZXQuQ01TR19TUEFDRShTSVpFT0ZfSU5UKSArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMiAqIFNJWkVPRl9JTlQpCisKKyAgICBAdGVzdFNlY29uZENtc2dUcnVuYzJJbnQuY2xpZW50X3NraXAKKyAgICBkZWYgX3Rlc3RTZWNvbmRDbXNnVHJ1bmMySW50KHNlbGYpOgorICAgICAgICBzZWxmLmFzc2VydFRydWUoc2VsZi5taXNjX2V2ZW50LndhaXQodGltZW91dD1zZWxmLmZhaWxfdGltZW91dCkpCisgICAgICAgIHNlbGYuc2VuZFRvU2VydmVyKE1TRykKKworICAgIEByZXF1aXJlQXR0cnMoc29ja2V0LCAiQ01TR19TUEFDRSIsICJJUFY2X1JFQ1ZIT1BMSU1JVCIsICJJUFY2X0hPUExJTUlUIiwKKyAgICAgICAgICAgICAgICAgICJJUFY2X1JFQ1ZUQ0xBU1MiLCAiSVBWNl9UQ0xBU1MiKQorICAgIGRlZiB0ZXN0U2Vjb25kQ21zZ1RydW5jTGVuME1pbnVzMShzZWxmKToKKyAgICAgICAgc2VsZi5jaGVja1RydW5jYXRlZFNlY29uZEhlYWRlcihzb2NrZXQuQ01TR19TUEFDRShTSVpFT0ZfSU5UKSArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc29ja2V0LkNNU0dfTEVOKDApIC0gMSkKKworICAgIEB0ZXN0U2Vjb25kQ21zZ1RydW5jTGVuME1pbnVzMS5jbGllbnRfc2tpcAorICAgIGRlZiBfdGVzdFNlY29uZENtc2dUcnVuY0xlbjBNaW51czEoc2VsZik6CisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShzZWxmLm1pc2NfZXZlbnQud2FpdCh0aW1lb3V0PXNlbGYuZmFpbF90aW1lb3V0KSkKKyAgICAgICAgc2VsZi5zZW5kVG9TZXJ2ZXIoTVNHKQorCisgICAgQHJlcXVpcmVBdHRycyhzb2NrZXQsICJDTVNHX1NQQUNFIiwgIklQVjZfUkVDVkhPUExJTUlUIiwgIklQVjZfSE9QTElNSVQiLAorICAgICAgICAgICAgICAgICAgIklQVjZfUkVDVlRDTEFTUyIsICJJUFY2X1RDTEFTUyIpCisgICAgZGVmIHRlc3RTZWNvbWRDbXNnVHJ1bmNJbkRhdGEoc2VsZik6CisgICAgICAgICMgVGVzdCB0cnVuY2F0aW9uIG9mIHRoZSBzZWNvbmQgb2YgdHdvIGNvbnRyb2wgbWVzc2FnZXMgaW5zaWRlCisgICAgICAgICMgaXRzIGFzc29jaWF0ZWQgZGF0YS4KKyAgICAgICAgc2VsZi5zZXJ2X3NvY2suc2V0c29ja29wdChzb2NrZXQuSVBQUk9UT19JUFY2LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvY2tldC5JUFY2X1JFQ1ZIT1BMSU1JVCwgMSkKKyAgICAgICAgc2VsZi5zZXJ2X3NvY2suc2V0c29ja29wdChzb2NrZXQuSVBQUk9UT19JUFY2LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvY2tldC5JUFY2X1JFQ1ZUQ0xBU1MsIDEpCisgICAgICAgIHNlbGYubWlzY19ldmVudC5zZXQoKQorICAgICAgICBtc2csIGFuY2RhdGEsIGZsYWdzLCBhZGRyID0gc2VsZi5kb1JlY3Ztc2coCisgICAgICAgICAgICBzZWxmLnNlcnZfc29jaywgbGVuKE1TRyksCisgICAgICAgICAgICBzb2NrZXQuQ01TR19TUEFDRShTSVpFT0ZfSU5UKSArIHNvY2tldC5DTVNHX0xFTihTSVpFT0ZfSU5UKSAtIDEpCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtc2csIE1TRykKKyAgICAgICAgc2VsZi5jaGVja1JlY3Ztc2dBZGRyZXNzKGFkZHIsIHNlbGYuY2xpX2FkZHIpCisgICAgICAgIHNlbGYuY2hlY2tGbGFncyhmbGFncywgZW9yPVRydWUsIGNoZWNrc2V0PXNvY2tldC5NU0dfQ1RSVU5DKQorCisgICAgICAgIGNtc2dfdHlwZXMgPSB7c29ja2V0LklQVjZfVENMQVNTLCBzb2NrZXQuSVBWNl9IT1BMSU1JVH0KKworICAgICAgICBjbXNnX2xldmVsLCBjbXNnX3R5cGUsIGNtc2dfZGF0YSA9IGFuY2RhdGEucG9wKDApCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY21zZ19sZXZlbCwgc29ja2V0LklQUFJPVE9fSVBWNikKKyAgICAgICAgY21zZ190eXBlcy5yZW1vdmUoY21zZ190eXBlKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihjbXNnX2RhdGEpLCBTSVpFT0ZfSU5UKQorICAgICAgICBhID0gYXJyYXkuYXJyYXkoImkiKQorICAgICAgICBhLmZyb21ieXRlcyhjbXNnX2RhdGEpCisgICAgICAgIHNlbGYuYXNzZXJ0R3JlYXRlckVxdWFsKGFbMF0sIDApCisgICAgICAgIHNlbGYuYXNzZXJ0TGVzc0VxdWFsKGFbMF0sIDI1NSkKKworICAgICAgICBpZiBhbmNkYXRhOgorICAgICAgICAgICAgY21zZ19sZXZlbCwgY21zZ190eXBlLCBjbXNnX2RhdGEgPSBhbmNkYXRhLnBvcCgwKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbXNnX2xldmVsLCBzb2NrZXQuSVBQUk9UT19JUFY2KQorICAgICAgICAgICAgY21zZ190eXBlcy5yZW1vdmUoY21zZ190eXBlKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRMZXNzKGxlbihjbXNnX2RhdGEpLCBTSVpFT0ZfSU5UKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYW5jZGF0YSwgW10pCisKKyAgICBAdGVzdFNlY29tZENtc2dUcnVuY0luRGF0YS5jbGllbnRfc2tpcAorICAgIGRlZiBfdGVzdFNlY29tZENtc2dUcnVuY0luRGF0YShzZWxmKToKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHNlbGYubWlzY19ldmVudC53YWl0KHRpbWVvdXQ9c2VsZi5mYWlsX3RpbWVvdXQpKQorICAgICAgICBzZWxmLnNlbmRUb1NlcnZlcihNU0cpCisKKworIyBEZXJpdmUgY29uY3JldGUgdGVzdCBjbGFzc2VzIGZvciBkaWZmZXJlbnQgc29ja2V0IHR5cGVzLgorCitjbGFzcyBTZW5kcmVjdm1zZ1VEUFRlc3RCYXNlKFNlbmRyZWN2bXNnRGdyYW1GbGFnc0Jhc2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNlbmRyZWN2bXNnQ29ubmVjdGlvbmxlc3NCYXNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaHJlYWRlZFNvY2tldFRlc3RNaXhpbiwgVURQVGVzdEJhc2UpOgorICAgIHBhc3MKKworQHJlcXVpcmVBdHRycyhzb2NrZXQuc29ja2V0LCAic2VuZG1zZyIpCitAdW5pdHRlc3Quc2tpcFVubGVzcyh0aHJlYWQsICdUaHJlYWRpbmcgcmVxdWlyZWQgZm9yIHRoaXMgdGVzdC4nKQorY2xhc3MgU2VuZG1zZ1VEUFRlc3QoU2VuZG1zZ0Nvbm5lY3Rpb25sZXNzVGVzdHMsIFNlbmRyZWN2bXNnVURQVGVzdEJhc2UpOgorICAgIHBhc3MKKworQHJlcXVpcmVBdHRycyhzb2NrZXQuc29ja2V0LCAicmVjdm1zZyIpCitAdW5pdHRlc3Quc2tpcFVubGVzcyh0aHJlYWQsICdUaHJlYWRpbmcgcmVxdWlyZWQgZm9yIHRoaXMgdGVzdC4nKQorY2xhc3MgUmVjdm1zZ1VEUFRlc3QoUmVjdm1zZ1Rlc3RzLCBTZW5kcmVjdm1zZ1VEUFRlc3RCYXNlKToKKyAgICBwYXNzCisKK0ByZXF1aXJlQXR0cnMoc29ja2V0LnNvY2tldCwgInJlY3Ztc2dfaW50byIpCitAdW5pdHRlc3Quc2tpcFVubGVzcyh0aHJlYWQsICdUaHJlYWRpbmcgcmVxdWlyZWQgZm9yIHRoaXMgdGVzdC4nKQorY2xhc3MgUmVjdm1zZ0ludG9VRFBUZXN0KFJlY3Ztc2dJbnRvVGVzdHMsIFNlbmRyZWN2bXNnVURQVGVzdEJhc2UpOgorICAgIHBhc3MKKworCitjbGFzcyBTZW5kcmVjdm1zZ1VEUDZUZXN0QmFzZShTZW5kcmVjdm1zZ0RncmFtRmxhZ3NCYXNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2VuZHJlY3Ztc2dDb25uZWN0aW9ubGVzc0Jhc2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaHJlYWRlZFNvY2tldFRlc3RNaXhpbiwgVURQNlRlc3RCYXNlKToKKyAgICBwYXNzCisKK0ByZXF1aXJlQXR0cnMoc29ja2V0LnNvY2tldCwgInNlbmRtc2ciKQorQHVuaXR0ZXN0LnNraXBVbmxlc3Moc29ja2V0Lmhhc19pcHY2LCAiUHl0aG9uIG5vdCBidWlsdCB3aXRoIElQdjYgc3VwcG9ydCIpCitAcmVxdWlyZVNvY2tldCgiQUZfSU5FVDYiLCAiU09DS19ER1JBTSIpCitAdW5pdHRlc3Quc2tpcFVubGVzcyh0aHJlYWQsICdUaHJlYWRpbmcgcmVxdWlyZWQgZm9yIHRoaXMgdGVzdC4nKQorY2xhc3MgU2VuZG1zZ1VEUDZUZXN0KFNlbmRtc2dDb25uZWN0aW9ubGVzc1Rlc3RzLCBTZW5kcmVjdm1zZ1VEUDZUZXN0QmFzZSk6CisgICAgcGFzcworCitAcmVxdWlyZUF0dHJzKHNvY2tldC5zb2NrZXQsICJyZWN2bXNnIikKK0B1bml0dGVzdC5za2lwVW5sZXNzKHNvY2tldC5oYXNfaXB2NiwgIlB5dGhvbiBub3QgYnVpbHQgd2l0aCBJUHY2IHN1cHBvcnQiKQorQHJlcXVpcmVTb2NrZXQoIkFGX0lORVQ2IiwgIlNPQ0tfREdSQU0iKQorQHVuaXR0ZXN0LnNraXBVbmxlc3ModGhyZWFkLCAnVGhyZWFkaW5nIHJlcXVpcmVkIGZvciB0aGlzIHRlc3QuJykKK2NsYXNzIFJlY3Ztc2dVRFA2VGVzdChSZWN2bXNnVGVzdHMsIFNlbmRyZWN2bXNnVURQNlRlc3RCYXNlKToKKyAgICBwYXNzCisKK0ByZXF1aXJlQXR0cnMoc29ja2V0LnNvY2tldCwgInJlY3Ztc2dfaW50byIpCitAdW5pdHRlc3Quc2tpcFVubGVzcyhzb2NrZXQuaGFzX2lwdjYsICJQeXRob24gbm90IGJ1aWx0IHdpdGggSVB2NiBzdXBwb3J0IikKK0ByZXF1aXJlU29ja2V0KCJBRl9JTkVUNiIsICJTT0NLX0RHUkFNIikKK0B1bml0dGVzdC5za2lwVW5sZXNzKHRocmVhZCwgJ1RocmVhZGluZyByZXF1aXJlZCBmb3IgdGhpcyB0ZXN0LicpCitjbGFzcyBSZWN2bXNnSW50b1VEUDZUZXN0KFJlY3Ztc2dJbnRvVGVzdHMsIFNlbmRyZWN2bXNnVURQNlRlc3RCYXNlKToKKyAgICBwYXNzCisKK0ByZXF1aXJlQXR0cnMoc29ja2V0LnNvY2tldCwgInJlY3Ztc2ciKQorQHVuaXR0ZXN0LnNraXBVbmxlc3Moc29ja2V0Lmhhc19pcHY2LCAiUHl0aG9uIG5vdCBidWlsdCB3aXRoIElQdjYgc3VwcG9ydCIpCitAcmVxdWlyZUF0dHJzKHNvY2tldCwgIklQUFJPVE9fSVBWNiIpCitAcmVxdWlyZVNvY2tldCgiQUZfSU5FVDYiLCAiU09DS19ER1JBTSIpCitAdW5pdHRlc3Quc2tpcFVubGVzcyh0aHJlYWQsICdUaHJlYWRpbmcgcmVxdWlyZWQgZm9yIHRoaXMgdGVzdC4nKQorY2xhc3MgUmVjdm1zZ1JGQzM1NDJBbmNpbGxhcnlVRFA2VGVzdChSRkMzNTQyQW5jaWxsYXJ5VGVzdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2VuZHJlY3Ztc2dVRFA2VGVzdEJhc2UpOgorICAgIHBhc3MKKworQHJlcXVpcmVBdHRycyhzb2NrZXQuc29ja2V0LCAicmVjdm1zZ19pbnRvIikKK0B1bml0dGVzdC5za2lwVW5sZXNzKHNvY2tldC5oYXNfaXB2NiwgIlB5dGhvbiBub3QgYnVpbHQgd2l0aCBJUHY2IHN1cHBvcnQiKQorQHJlcXVpcmVBdHRycyhzb2NrZXQsICJJUFBST1RPX0lQVjYiKQorQHJlcXVpcmVTb2NrZXQoIkFGX0lORVQ2IiwgIlNPQ0tfREdSQU0iKQorQHVuaXR0ZXN0LnNraXBVbmxlc3ModGhyZWFkLCAnVGhyZWFkaW5nIHJlcXVpcmVkIGZvciB0aGlzIHRlc3QuJykKK2NsYXNzIFJlY3Ztc2dJbnRvUkZDMzU0MkFuY2lsbGFyeVVEUDZUZXN0KFJlY3Ztc2dJbnRvTWl4aW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSRkMzNTQyQW5jaWxsYXJ5VGVzdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNlbmRyZWN2bXNnVURQNlRlc3RCYXNlKToKKyAgICBwYXNzCisKKworY2xhc3MgU2VuZHJlY3Ztc2dUQ1BUZXN0QmFzZShTZW5kcmVjdm1zZ0Nvbm5lY3RlZEJhc2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbm5lY3RlZFN0cmVhbVRlc3RNaXhpbiwgVENQVGVzdEJhc2UpOgorICAgIHBhc3MKKworQHJlcXVpcmVBdHRycyhzb2NrZXQuc29ja2V0LCAic2VuZG1zZyIpCitAdW5pdHRlc3Quc2tpcFVubGVzcyh0aHJlYWQsICdUaHJlYWRpbmcgcmVxdWlyZWQgZm9yIHRoaXMgdGVzdC4nKQorY2xhc3MgU2VuZG1zZ1RDUFRlc3QoU2VuZG1zZ1N0cmVhbVRlc3RzLCBTZW5kcmVjdm1zZ1RDUFRlc3RCYXNlKToKKyAgICBwYXNzCisKK0ByZXF1aXJlQXR0cnMoc29ja2V0LnNvY2tldCwgInJlY3Ztc2ciKQorQHVuaXR0ZXN0LnNraXBVbmxlc3ModGhyZWFkLCAnVGhyZWFkaW5nIHJlcXVpcmVkIGZvciB0aGlzIHRlc3QuJykKK2NsYXNzIFJlY3Ztc2dUQ1BUZXN0KFJlY3Ztc2dUZXN0cywgUmVjdm1zZ0dlbmVyaWNTdHJlYW1UZXN0cywKKyAgICAgICAgICAgICAgICAgICAgIFNlbmRyZWN2bXNnVENQVGVzdEJhc2UpOgorICAgIHBhc3MKKworQHJlcXVpcmVBdHRycyhzb2NrZXQuc29ja2V0LCAicmVjdm1zZ19pbnRvIikKK0B1bml0dGVzdC5za2lwVW5sZXNzKHRocmVhZCwgJ1RocmVhZGluZyByZXF1aXJlZCBmb3IgdGhpcyB0ZXN0LicpCitjbGFzcyBSZWN2bXNnSW50b1RDUFRlc3QoUmVjdm1zZ0ludG9UZXN0cywgUmVjdm1zZ0dlbmVyaWNTdHJlYW1UZXN0cywKKyAgICAgICAgICAgICAgICAgICAgICAgICBTZW5kcmVjdm1zZ1RDUFRlc3RCYXNlKToKKyAgICBwYXNzCisKKworY2xhc3MgU2VuZHJlY3Ztc2dTQ1RQU3RyZWFtVGVzdEJhc2UoU2VuZHJlY3Ztc2dTQ1RQRmxhZ3NCYXNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2VuZHJlY3Ztc2dDb25uZWN0ZWRCYXNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29ubmVjdGVkU3RyZWFtVGVzdE1peGluLCBTQ1RQU3RyZWFtQmFzZSk6CisgICAgcGFzcworCitAcmVxdWlyZUF0dHJzKHNvY2tldC5zb2NrZXQsICJzZW5kbXNnIikKK0ByZXF1aXJlU29ja2V0KCJBRl9JTkVUIiwgIlNPQ0tfU1RSRUFNIiwgIklQUFJPVE9fU0NUUCIpCitAdW5pdHRlc3Quc2tpcFVubGVzcyh0aHJlYWQsICdUaHJlYWRpbmcgcmVxdWlyZWQgZm9yIHRoaXMgdGVzdC4nKQorY2xhc3MgU2VuZG1zZ1NDVFBTdHJlYW1UZXN0KFNlbmRtc2dTdHJlYW1UZXN0cywgU2VuZHJlY3Ztc2dTQ1RQU3RyZWFtVGVzdEJhc2UpOgorICAgIHBhc3MKKworQHJlcXVpcmVBdHRycyhzb2NrZXQuc29ja2V0LCAicmVjdm1zZyIpCitAcmVxdWlyZVNvY2tldCgiQUZfSU5FVCIsICJTT0NLX1NUUkVBTSIsICJJUFBST1RPX1NDVFAiKQorQHVuaXR0ZXN0LnNraXBVbmxlc3ModGhyZWFkLCAnVGhyZWFkaW5nIHJlcXVpcmVkIGZvciB0aGlzIHRlc3QuJykKK2NsYXNzIFJlY3Ztc2dTQ1RQU3RyZWFtVGVzdChSZWN2bXNnVGVzdHMsIFJlY3Ztc2dHZW5lcmljU3RyZWFtVGVzdHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2VuZHJlY3Ztc2dTQ1RQU3RyZWFtVGVzdEJhc2UpOgorICAgIHBhc3MKKworQHJlcXVpcmVBdHRycyhzb2NrZXQuc29ja2V0LCAicmVjdm1zZ19pbnRvIikKK0ByZXF1aXJlU29ja2V0KCJBRl9JTkVUIiwgIlNPQ0tfU1RSRUFNIiwgIklQUFJPVE9fU0NUUCIpCitAdW5pdHRlc3Quc2tpcFVubGVzcyh0aHJlYWQsICdUaHJlYWRpbmcgcmVxdWlyZWQgZm9yIHRoaXMgdGVzdC4nKQorY2xhc3MgUmVjdm1zZ0ludG9TQ1RQU3RyZWFtVGVzdChSZWN2bXNnSW50b1Rlc3RzLCBSZWN2bXNnR2VuZXJpY1N0cmVhbVRlc3RzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTZW5kcmVjdm1zZ1NDVFBTdHJlYW1UZXN0QmFzZSk6CisgICAgcGFzcworCisKK2NsYXNzIFNlbmRyZWN2bXNnVW5peFN0cmVhbVRlc3RCYXNlKFNlbmRyZWN2bXNnQ29ubmVjdGVkQmFzZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbm5lY3RlZFN0cmVhbVRlc3RNaXhpbiwgVW5peFN0cmVhbUJhc2UpOgorICAgIHBhc3MKKworQHJlcXVpcmVBdHRycyhzb2NrZXQuc29ja2V0LCAic2VuZG1zZyIpCitAcmVxdWlyZUF0dHJzKHNvY2tldCwgIkFGX1VOSVgiKQorQHVuaXR0ZXN0LnNraXBVbmxlc3ModGhyZWFkLCAnVGhyZWFkaW5nIHJlcXVpcmVkIGZvciB0aGlzIHRlc3QuJykKK2NsYXNzIFNlbmRtc2dVbml4U3RyZWFtVGVzdChTZW5kbXNnU3RyZWFtVGVzdHMsIFNlbmRyZWN2bXNnVW5peFN0cmVhbVRlc3RCYXNlKToKKyAgICBwYXNzCisKK0ByZXF1aXJlQXR0cnMoc29ja2V0LnNvY2tldCwgInJlY3Ztc2ciKQorQHJlcXVpcmVBdHRycyhzb2NrZXQsICJBRl9VTklYIikKK0B1bml0dGVzdC5za2lwVW5sZXNzKHRocmVhZCwgJ1RocmVhZGluZyByZXF1aXJlZCBmb3IgdGhpcyB0ZXN0LicpCitjbGFzcyBSZWN2bXNnVW5peFN0cmVhbVRlc3QoUmVjdm1zZ1Rlc3RzLCBSZWN2bXNnR2VuZXJpY1N0cmVhbVRlc3RzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNlbmRyZWN2bXNnVW5peFN0cmVhbVRlc3RCYXNlKToKKyAgICBwYXNzCisKK0ByZXF1aXJlQXR0cnMoc29ja2V0LnNvY2tldCwgInJlY3Ztc2dfaW50byIpCitAcmVxdWlyZUF0dHJzKHNvY2tldCwgIkFGX1VOSVgiKQorQHVuaXR0ZXN0LnNraXBVbmxlc3ModGhyZWFkLCAnVGhyZWFkaW5nIHJlcXVpcmVkIGZvciB0aGlzIHRlc3QuJykKK2NsYXNzIFJlY3Ztc2dJbnRvVW5peFN0cmVhbVRlc3QoUmVjdm1zZ0ludG9UZXN0cywgUmVjdm1zZ0dlbmVyaWNTdHJlYW1UZXN0cywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2VuZHJlY3Ztc2dVbml4U3RyZWFtVGVzdEJhc2UpOgorICAgIHBhc3MKKworQHJlcXVpcmVBdHRycyhzb2NrZXQuc29ja2V0LCAic2VuZG1zZyIsICJyZWN2bXNnIikKK0ByZXF1aXJlQXR0cnMoc29ja2V0LCAiQUZfVU5JWCIsICJTT0xfU09DS0VUIiwgIlNDTV9SSUdIVFMiKQorQHVuaXR0ZXN0LnNraXBVbmxlc3ModGhyZWFkLCAnVGhyZWFkaW5nIHJlcXVpcmVkIGZvciB0aGlzIHRlc3QuJykKK2NsYXNzIFJlY3Ztc2dTQ01SaWdodHNTdHJlYW1UZXN0KFNDTVJpZ2h0c1Rlc3QsIFNlbmRyZWN2bXNnVW5peFN0cmVhbVRlc3RCYXNlKToKKyAgICBwYXNzCisKK0ByZXF1aXJlQXR0cnMoc29ja2V0LnNvY2tldCwgInNlbmRtc2ciLCAicmVjdm1zZ19pbnRvIikKK0ByZXF1aXJlQXR0cnMoc29ja2V0LCAiQUZfVU5JWCIsICJTT0xfU09DS0VUIiwgIlNDTV9SSUdIVFMiKQorQHVuaXR0ZXN0LnNraXBVbmxlc3ModGhyZWFkLCAnVGhyZWFkaW5nIHJlcXVpcmVkIGZvciB0aGlzIHRlc3QuJykKK2NsYXNzIFJlY3Ztc2dJbnRvU0NNUmlnaHRzU3RyZWFtVGVzdChSZWN2bXNnSW50b01peGluLCBTQ01SaWdodHNUZXN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNlbmRyZWN2bXNnVW5peFN0cmVhbVRlc3RCYXNlKToKKyAgICBwYXNzCisKKworIyBUZXN0IGludGVycnVwdGluZyB0aGUgaW50ZXJydXB0aWJsZSBzZW5kL3JlY2VpdmUgbWV0aG9kcyB3aXRoIGEKKyMgc2lnbmFsIHdoZW4gYSB0aW1lb3V0IGlzIHNldC4gIFRoZXNlIHRlc3RzIGF2b2lkIGhhdmluZyBtdWx0aXBsZQorIyB0aHJlYWRzIGFsaXZlIGR1cmluZyB0aGUgdGVzdCBzbyB0aGF0IHRoZSBPUyBjYW5ub3QgZGVsaXZlciB0aGUKKyMgc2lnbmFsIHRvIHRoZSB3cm9uZyBvbmUuCisKK2NsYXNzIEludGVycnVwdGVkVGltZW91dEJhc2UodW5pdHRlc3QuVGVzdENhc2UpOgorICAgICMgQmFzZSBjbGFzcyBmb3IgaW50ZXJydXB0ZWQgc2VuZC9yZWNlaXZlIHRlc3RzLiAgSW5zdGFsbHMgYW4KKyAgICAjIGVtcHR5IGhhbmRsZXIgZm9yIFNJR0FMUk0gYW5kIHJlbW92ZXMgaXQgb24gdGVhcmRvd24sIGFsb25nIHdpdGgKKyAgICAjIGFueSBzY2hlZHVsZWQgYWxhcm1zLgorCisgICAgZGVmIHNldFVwKHNlbGYpOgorICAgICAgICBzdXBlcigpLnNldFVwKCkKKyAgICAgICAgb3JpZ19hbHJtX2hhbmRsZXIgPSBzaWduYWwuc2lnbmFsKHNpZ25hbC5TSUdBTFJNLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFtYmRhIHNpZ251bSwgZnJhbWU6IE5vbmUpCisgICAgICAgIHNlbGYuYWRkQ2xlYW51cChzaWduYWwuc2lnbmFsLCBzaWduYWwuU0lHQUxSTSwgb3JpZ19hbHJtX2hhbmRsZXIpCisgICAgICAgIHNlbGYuYWRkQ2xlYW51cChzZWxmLnNldEFsYXJtLCAwKQorCisgICAgIyBUaW1lb3V0IGZvciBzb2NrZXQgb3BlcmF0aW9ucworICAgIHRpbWVvdXQgPSA0LjAKKworICAgICMgUHJvdmlkZSBzZXRBbGFybSgpIG1ldGhvZCB0byBzY2hlZHVsZSBkZWxpdmVyeSBvZiBTSUdBTFJNIGFmdGVyCisgICAgIyBnaXZlbiBudW1iZXIgb2Ygc2Vjb25kcywgb3IgY2FuY2VsIGl0IGlmIHplcm8sIGFuZCBhbgorICAgICMgYXBwcm9wcmlhdGUgdGltZSB2YWx1ZSB0byB1c2UuICBVc2Ugc2V0aXRpbWVyKCkgaWYgYXZhaWxhYmxlLgorICAgIGlmIGhhc2F0dHIoc2lnbmFsLCAic2V0aXRpbWVyIik6CisgICAgICAgIGFsYXJtX3RpbWUgPSAwLjA1CisKKyAgICAgICAgZGVmIHNldEFsYXJtKHNlbGYsIHNlY29uZHMpOgorICAgICAgICAgICAgc2lnbmFsLnNldGl0aW1lcihzaWduYWwuSVRJTUVSX1JFQUwsIHNlY29uZHMpCisgICAgZWxzZToKKyAgICAgICAgIyBPbGQgc3lzdGVtcyBtYXkgZGVsaXZlciB0aGUgYWxhcm0gdXAgdG8gb25lIHNlY29uZCBlYXJseQorICAgICAgICBhbGFybV90aW1lID0gMgorCisgICAgICAgIGRlZiBzZXRBbGFybShzZWxmLCBzZWNvbmRzKToKKyAgICAgICAgICAgIHNpZ25hbC5hbGFybShzZWNvbmRzKQorCisKKyMgUmVxdWlyZSBzaWdpbnRlcnJ1cHQoKSBpbiBvcmRlciB0byBlbnN1cmUgdGhhdCBzeXN0ZW0gY2FsbHMgYXJlCisjIGludGVycnVwdGVkIGJ5IGRlZmF1bHQuCitAcmVxdWlyZUF0dHJzKHNpZ25hbCwgInNpZ2ludGVycnVwdCIpCitAdW5pdHRlc3Quc2tpcFVubGVzcyhoYXNhdHRyKHNpZ25hbCwgImFsYXJtIikgb3IgaGFzYXR0cihzaWduYWwsICJzZXRpdGltZXIiKSwKKyAgICAgICAgICAgICAgICAgICAgICJEb24ndCBoYXZlIHNpZ25hbC5hbGFybSBvciBzaWduYWwuc2V0aXRpbWVyIikKK2NsYXNzIEludGVycnVwdGVkUmVjdlRpbWVvdXRUZXN0KEludGVycnVwdGVkVGltZW91dEJhc2UsIFVEUFRlc3RCYXNlKToKKyAgICAjIFRlc3QgaW50ZXJydXB0aW5nIHRoZSByZWN2KigpIG1ldGhvZHMgd2l0aCBzaWduYWxzIHdoZW4gYQorICAgICMgdGltZW91dCBpcyBzZXQuCisKKyAgICBkZWYgc2V0VXAoc2VsZik6CisgICAgICAgIHN1cGVyKCkuc2V0VXAoKQorICAgICAgICBzZWxmLnNlcnYuc2V0dGltZW91dChzZWxmLnRpbWVvdXQpCisKKyAgICBkZWYgY2hlY2tJbnRlcnJ1cHRlZFJlY3Yoc2VsZiwgZnVuYywgKmFyZ3MsICoqa3dhcmdzKToKKyAgICAgICAgIyBDaGVjayB0aGF0IGZ1bmMoKmFyZ3MsICoqa3dhcmdzKSByYWlzZXMgc29ja2V0LmVycm9yIHdpdGggYW4KKyAgICAgICAgIyBlcnJubyBvZiBFSU5UUiB3aGVuIGludGVycnVwdGVkIGJ5IGEgc2lnbmFsLgorICAgICAgICBzZWxmLnNldEFsYXJtKHNlbGYuYWxhcm1fdGltZSkKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhzb2NrZXQuZXJyb3IpIGFzIGNtOgorICAgICAgICAgICAgZnVuYygqYXJncywgKiprd2FyZ3MpCisgICAgICAgIHNlbGYuYXNzZXJ0Tm90SXNJbnN0YW5jZShjbS5leGNlcHRpb24sIHNvY2tldC50aW1lb3V0KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNtLmV4Y2VwdGlvbi5lcnJubywgZXJybm8uRUlOVFIpCisKKyAgICBkZWYgdGVzdEludGVycnVwdGVkUmVjdlRpbWVvdXQoc2VsZik6CisgICAgICAgIHNlbGYuY2hlY2tJbnRlcnJ1cHRlZFJlY3Yoc2VsZi5zZXJ2LnJlY3YsIDEwMjQpCisKKyAgICBkZWYgdGVzdEludGVycnVwdGVkUmVjdkludG9UaW1lb3V0KHNlbGYpOgorICAgICAgICBzZWxmLmNoZWNrSW50ZXJydXB0ZWRSZWN2KHNlbGYuc2Vydi5yZWN2X2ludG8sIGJ5dGVhcnJheSgxMDI0KSkKKworICAgIGRlZiB0ZXN0SW50ZXJydXB0ZWRSZWN2ZnJvbVRpbWVvdXQoc2VsZik6CisgICAgICAgIHNlbGYuY2hlY2tJbnRlcnJ1cHRlZFJlY3Yoc2VsZi5zZXJ2LnJlY3Zmcm9tLCAxMDI0KQorCisgICAgZGVmIHRlc3RJbnRlcnJ1cHRlZFJlY3Zmcm9tSW50b1RpbWVvdXQoc2VsZik6CisgICAgICAgIHNlbGYuY2hlY2tJbnRlcnJ1cHRlZFJlY3Yoc2VsZi5zZXJ2LnJlY3Zmcm9tX2ludG8sIGJ5dGVhcnJheSgxMDI0KSkKKworICAgIEByZXF1aXJlQXR0cnMoc29ja2V0LnNvY2tldCwgInJlY3Ztc2ciKQorICAgIGRlZiB0ZXN0SW50ZXJydXB0ZWRSZWN2bXNnVGltZW91dChzZWxmKToKKyAgICAgICAgc2VsZi5jaGVja0ludGVycnVwdGVkUmVjdihzZWxmLnNlcnYucmVjdm1zZywgMTAyNCkKKworICAgIEByZXF1aXJlQXR0cnMoc29ja2V0LnNvY2tldCwgInJlY3Ztc2dfaW50byIpCisgICAgZGVmIHRlc3RJbnRlcnJ1cHRlZFJlY3Ztc2dJbnRvVGltZW91dChzZWxmKToKKyAgICAgICAgc2VsZi5jaGVja0ludGVycnVwdGVkUmVjdihzZWxmLnNlcnYucmVjdm1zZ19pbnRvLCBbYnl0ZWFycmF5KDEwMjQpXSkKKworCisjIFJlcXVpcmUgc2lnaW50ZXJydXB0KCkgaW4gb3JkZXIgdG8gZW5zdXJlIHRoYXQgc3lzdGVtIGNhbGxzIGFyZQorIyBpbnRlcnJ1cHRlZCBieSBkZWZhdWx0LgorQHJlcXVpcmVBdHRycyhzaWduYWwsICJzaWdpbnRlcnJ1cHQiKQorQHVuaXR0ZXN0LnNraXBVbmxlc3MoaGFzYXR0cihzaWduYWwsICJhbGFybSIpIG9yIGhhc2F0dHIoc2lnbmFsLCAic2V0aXRpbWVyIiksCisgICAgICAgICAgICAgICAgICAgICAiRG9uJ3QgaGF2ZSBzaWduYWwuYWxhcm0gb3Igc2lnbmFsLnNldGl0aW1lciIpCitAdW5pdHRlc3Quc2tpcFVubGVzcyh0aHJlYWQsICdUaHJlYWRpbmcgcmVxdWlyZWQgZm9yIHRoaXMgdGVzdC4nKQorY2xhc3MgSW50ZXJydXB0ZWRTZW5kVGltZW91dFRlc3QoSW50ZXJydXB0ZWRUaW1lb3V0QmFzZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRocmVhZFNhZmVDbGVhbnVwVGVzdENhc2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTb2NrZXRMaXN0ZW5pbmdUZXN0TWl4aW4sIFRDUFRlc3RCYXNlKToKKyAgICAjIFRlc3QgaW50ZXJydXB0aW5nIHRoZSBpbnRlcnJ1cHRpYmxlIHNlbmQqKCkgbWV0aG9kcyB3aXRoIHNpZ25hbHMKKyAgICAjIHdoZW4gYSB0aW1lb3V0IGlzIHNldC4KKworICAgIGRlZiBzZXRVcChzZWxmKToKKyAgICAgICAgc3VwZXIoKS5zZXRVcCgpCisgICAgICAgIHNlbGYuc2Vydl9jb25uID0gc2VsZi5uZXdTb2NrZXQoKQorICAgICAgICBzZWxmLmFkZENsZWFudXAoc2VsZi5zZXJ2X2Nvbm4uY2xvc2UpCisgICAgICAgICMgVXNlIGEgdGhyZWFkIHRvIGNvbXBsZXRlIHRoZSBjb25uZWN0aW9uLCBidXQgd2FpdCBmb3IgaXQgdG8KKyAgICAgICAgIyB0ZXJtaW5hdGUgYmVmb3JlIHJ1bm5pbmcgdGhlIHRlc3QsIHNvIHRoYXQgdGhlcmUgaXMgb25seSBvbmUKKyAgICAgICAgIyB0aHJlYWQgdG8gYWNjZXB0IHRoZSBzaWduYWwuCisgICAgICAgIGNsaV90aHJlYWQgPSB0aHJlYWRpbmcuVGhyZWFkKHRhcmdldD1zZWxmLmRvQ29ubmVjdCkKKyAgICAgICAgY2xpX3RocmVhZC5zdGFydCgpCisgICAgICAgIHNlbGYuY2xpX2Nvbm4sIGFkZHIgPSBzZWxmLnNlcnYuYWNjZXB0KCkKKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKHNlbGYuY2xpX2Nvbm4uY2xvc2UpCisgICAgICAgIGNsaV90aHJlYWQuam9pbigpCisgICAgICAgIHNlbGYuc2Vydl9jb25uLnNldHRpbWVvdXQoc2VsZi50aW1lb3V0KQorCisgICAgZGVmIGRvQ29ubmVjdChzZWxmKToKKyAgICAgICAgc2VsZi5zZXJ2X2Nvbm4uY29ubmVjdChzZWxmLnNlcnZfYWRkcikKKworICAgIGRlZiBjaGVja0ludGVycnVwdGVkU2VuZChzZWxmLCBmdW5jLCAqYXJncywgKiprd2FyZ3MpOgorICAgICAgICAjIENoZWNrIHRoYXQgZnVuYygqYXJncywgKiprd2FyZ3MpLCBydW4gaW4gYSBsb29wLCByYWlzZXMKKyAgICAgICAgIyBzb2NrZXQuZXJyb3Igd2l0aCBhbiBlcnJubyBvZiBFSU5UUiB3aGVuIGludGVycnVwdGVkIGJ5IGEKKyAgICAgICAgIyBzaWduYWwuCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoc29ja2V0LmVycm9yKSBhcyBjbToKKyAgICAgICAgICAgIHdoaWxlIFRydWU6CisgICAgICAgICAgICAgICAgc2VsZi5zZXRBbGFybShzZWxmLmFsYXJtX3RpbWUpCisgICAgICAgICAgICAgICAgZnVuYygqYXJncywgKiprd2FyZ3MpCisgICAgICAgIHNlbGYuYXNzZXJ0Tm90SXNJbnN0YW5jZShjbS5leGNlcHRpb24sIHNvY2tldC50aW1lb3V0KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNtLmV4Y2VwdGlvbi5lcnJubywgZXJybm8uRUlOVFIpCisKKyAgICAjIElzc3VlICMxMjk1ODogVGhlIGZvbGxvd2luZyB0ZXN0cyBoYXZlIHByb2JsZW1zIG9uIE1hYyBPUyBYCisgICAgQHN1cHBvcnQuYW50aWNpcGF0ZV9mYWlsdXJlKHN5cy5wbGF0Zm9ybSA9PSAiZGFyd2luIikKKyAgICBkZWYgdGVzdEludGVycnVwdGVkU2VuZFRpbWVvdXQoc2VsZik6CisgICAgICAgIHNlbGYuY2hlY2tJbnRlcnJ1cHRlZFNlbmQoc2VsZi5zZXJ2X2Nvbm4uc2VuZCwgYiJhIio1MTIpCisKKyAgICBAc3VwcG9ydC5hbnRpY2lwYXRlX2ZhaWx1cmUoc3lzLnBsYXRmb3JtID09ICJkYXJ3aW4iKQorICAgIGRlZiB0ZXN0SW50ZXJydXB0ZWRTZW5kdG9UaW1lb3V0KHNlbGYpOgorICAgICAgICAjIFBhc3NpbmcgYW4gYWN0dWFsIGFkZHJlc3MgaGVyZSBhcyBQeXRob24ncyB3cmFwcGVyIGZvcgorICAgICAgICAjIHNlbmR0bygpIGRvZXNuJ3QgYWxsb3cgcGFzc2luZyBhIHplcm8tbGVuZ3RoIG9uZTsgUE9TSVgKKyAgICAgICAgIyByZXF1aXJlcyB0aGF0IHRoZSBhZGRyZXNzIGlzIGlnbm9yZWQgc2luY2UgdGhlIHNvY2tldCBpcworICAgICAgICAjIGNvbm5lY3Rpb24tbW9kZSwgaG93ZXZlci4KKyAgICAgICAgc2VsZi5jaGVja0ludGVycnVwdGVkU2VuZChzZWxmLnNlcnZfY29ubi5zZW5kdG8sIGIiYSIqNTEyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc2Vydl9hZGRyKQorCisgICAgQHN1cHBvcnQuYW50aWNpcGF0ZV9mYWlsdXJlKHN5cy5wbGF0Zm9ybSA9PSAiZGFyd2luIikKKyAgICBAcmVxdWlyZUF0dHJzKHNvY2tldC5zb2NrZXQsICJzZW5kbXNnIikKKyAgICBkZWYgdGVzdEludGVycnVwdGVkU2VuZG1zZ1RpbWVvdXQoc2VsZik6CisgICAgICAgIHNlbGYuY2hlY2tJbnRlcnJ1cHRlZFNlbmQoc2VsZi5zZXJ2X2Nvbm4uc2VuZG1zZywgW2IiYSIqNTEyXSkKKworCiBAdW5pdHRlc3Quc2tpcFVubGVzcyh0aHJlYWQsICdUaHJlYWRpbmcgcmVxdWlyZWQgZm9yIHRoaXMgdGVzdC4nKQogY2xhc3MgVENQQ2xvc2VyVGVzdChUaHJlYWRlZFRDUFNvY2tldFRlc3QpOgogCkBAIC0xMDY4LDExICszNTM3LDggQEAKICAgICAgICAgcGFzcwogCiAgICAgaWYgaGFzYXR0cihzb2NrZXQsICJTT0NLX05PTkJMT0NLIik6CisgICAgICAgIEBzdXBwb3J0LnJlcXVpcmVzX2xpbnV4X3ZlcnNpb24oMiwgNiwgMjgpCiAgICAgICAgIGRlZiB0ZXN0SW5pdE5vbkJsb2NraW5nKHNlbGYpOgotICAgICAgICAgICAgdiA9IGxpbnV4X3ZlcnNpb24oKQotICAgICAgICAgICAgaWYgdiA8ICgyLCA2LCAyOCk6Ci0gICAgICAgICAgICAgICAgc2VsZi5za2lwVGVzdCgiTGludXgga2VybmVsIDIuNi4yOCBvciBoaWdoZXIgcmVxdWlyZWQsIG5vdCAlcyIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICUgIi4iLmpvaW4obWFwKHN0ciwgdikpKQogICAgICAgICAgICAgIyByZWluaXQgc2VydmVyIHNvY2tldAogICAgICAgICAgICAgc2VsZi5zZXJ2LmNsb3NlKCkKICAgICAgICAgICAgIHNlbGYuc2VydiA9IHNvY2tldC5zb2NrZXQoc29ja2V0LkFGX0lORVQsIHNvY2tldC5TT0NLX1NUUkVBTSB8CkBAIC0xMTc0LDcgKzM2NDAsNyBAQAogICAgICIiIgogCiAgICAgYnVmc2l6ZSA9IC0xICMgVXNlIGRlZmF1bHQgYnVmZmVyIHNpemUKLSAgICBlbmNvZGluZyA9ICd1dGY4JworICAgIGVuY29kaW5nID0gJ3V0Zi04JwogICAgIGVycm9ycyA9ICdzdHJpY3QnCiAgICAgbmV3bGluZSA9IE5vbmUKIApAQCAtMTM1NSw3ICszODIxLDcgQEAKIAogICAgIEBzdGF0aWNtZXRob2QKICAgICBkZWYgX3JhaXNlX2VpbnRyKCk6Ci0gICAgICAgIHJhaXNlIHNvY2tldC5lcnJvcihlcnJuby5FSU5UUikKKyAgICAgICAgcmFpc2Ugc29ja2V0LmVycm9yKGVycm5vLkVJTlRSLCAiaW50ZXJydXB0ZWQiKQogCiAgICAgZGVmIF90ZXh0aW93cmFwX21vY2tfc29ja2V0KHNlbGYsIG1vY2ssIGJ1ZmZlcmluZz0tMSk6CiAgICAgICAgIHJhdyA9IHNvY2tldC5Tb2NrZXRJTyhtb2NrLCAiciIpCkBAIC0xMzk1LDcgKzM4NjEsNyBAQAogICAgICAgICAgICAgZGF0YSA9IGInJwogICAgICAgICBlbHNlOgogICAgICAgICAgICAgZGF0YSA9ICcnCi0gICAgICAgICAgICBleHBlY3RpbmcgPSBleHBlY3RpbmcuZGVjb2RlKCd1dGY4JykKKyAgICAgICAgICAgIGV4cGVjdGluZyA9IGV4cGVjdGluZy5kZWNvZGUoJ3V0Zi04JykKICAgICAgICAgd2hpbGUgbGVuKGRhdGEpICE9IGxlbihleHBlY3RpbmcpOgogICAgICAgICAgICAgcGFydCA9IGZvLnJlYWQoc2l6ZSkKICAgICAgICAgICAgIGlmIG5vdCBwYXJ0OgpAQCAtMTU1Nyw3ICs0MDIzLDcgQEAKICAgICAiIiJUZXN0cyBmb3Igc29ja2V0Lm1ha2VmaWxlKCkgaW4gdGV4dCBtb2RlIChyYXRoZXIgdGhhbiBiaW5hcnkpIiIiCiAKICAgICByZWFkX21vZGUgPSAncicKLSAgICByZWFkX21zZyA9IE1TRy5kZWNvZGUoJ3V0ZjgnKQorICAgIHJlYWRfbXNnID0gTVNHLmRlY29kZSgndXRmLTgnKQogICAgIHdyaXRlX21vZGUgPSAnd2InCiAgICAgd3JpdGVfbXNnID0gTVNHCiAgICAgbmV3bGluZSA9ICcnCkBAIC0xNTY5LDcgKzQwMzUsNyBAQAogICAgIHJlYWRfbW9kZSA9ICdyYicKICAgICByZWFkX21zZyA9IE1TRwogICAgIHdyaXRlX21vZGUgPSAndycKLSAgICB3cml0ZV9tc2cgPSBNU0cuZGVjb2RlKCd1dGY4JykKKyAgICB3cml0ZV9tc2cgPSBNU0cuZGVjb2RlKCd1dGYtOCcpCiAgICAgbmV3bGluZSA9ICcnCiAKIApAQCAtMTU3Nyw5ICs0MDQzLDkgQEAKICAgICAiIiJUZXN0cyBmb3Igc29ja2V0Lm1ha2VmaWxlKCkgaW4gdGV4dCBtb2RlIChyYXRoZXIgdGhhbiBiaW5hcnkpIiIiCiAKICAgICByZWFkX21vZGUgPSAncicKLSAgICByZWFkX21zZyA9IE1TRy5kZWNvZGUoJ3V0ZjgnKQorICAgIHJlYWRfbXNnID0gTVNHLmRlY29kZSgndXRmLTgnKQogICAgIHdyaXRlX21vZGUgPSAndycKLSAgICB3cml0ZV9tc2cgPSBNU0cuZGVjb2RlKCd1dGY4JykKKyAgICB3cml0ZV9tc2cgPSBNU0cuZGVjb2RlKCd1dGYtOCcpCiAgICAgbmV3bGluZSA9ICcnCiAKIApAQCAtMTg1MSw2ICs0MzE3LDc4IEBACiAgICAgICAgIHdpdGggc29ja2V0LnNvY2tldChzb2NrZXQuQUZfVU5JWCwgc29ja2V0LlNPQ0tfU1RSRUFNKSBhcyBzOgogICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoc29ja2V0LmVycm9yLCBzLmJpbmQsIGFkZHJlc3MpCiAKKyAgICBkZWYgdGVzdFN0ck5hbWUoc2VsZik6CisgICAgICAgICMgQ2hlY2sgdGhhdCBhbiBhYnN0cmFjdCBuYW1lIGNhbiBiZSBwYXNzZWQgYXMgYSBzdHJpbmcuCisgICAgICAgIHMgPSBzb2NrZXQuc29ja2V0KHNvY2tldC5BRl9VTklYLCBzb2NrZXQuU09DS19TVFJFQU0pCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHMuYmluZCgiXHgwMHB5dGhvblx4MDB0ZXN0XHgwMCIpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHMuZ2V0c29ja25hbWUoKSwgYiJceDAwcHl0aG9uXHgwMHRlc3RceDAwIikKKyAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgIHMuY2xvc2UoKQorCitjbGFzcyBUZXN0VW5peERvbWFpbih1bml0dGVzdC5UZXN0Q2FzZSk6CisKKyAgICBkZWYgc2V0VXAoc2VsZik6CisgICAgICAgIHNlbGYuc29jayA9IHNvY2tldC5zb2NrZXQoc29ja2V0LkFGX1VOSVgsIHNvY2tldC5TT0NLX1NUUkVBTSkKKworICAgIGRlZiB0ZWFyRG93bihzZWxmKToKKyAgICAgICAgc2VsZi5zb2NrLmNsb3NlKCkKKworICAgIGRlZiBlbmNvZGVkKHNlbGYsIHBhdGgpOgorICAgICAgICAjIFJldHVybiB0aGUgZ2l2ZW4gcGF0aCBlbmNvZGVkIGluIHRoZSBmaWxlIHN5c3RlbSBlbmNvZGluZywKKyAgICAgICAgIyBvciBza2lwIHRoZSB0ZXN0IGlmIHRoaXMgaXMgbm90IHBvc3NpYmxlLgorICAgICAgICB0cnk6CisgICAgICAgICAgICByZXR1cm4gb3MuZnNlbmNvZGUocGF0aCkKKyAgICAgICAgZXhjZXB0IFVuaWNvZGVFbmNvZGVFcnJvcjoKKyAgICAgICAgICAgIHNlbGYuc2tpcFRlc3QoCisgICAgICAgICAgICAgICAgIlBhdGhuYW1lIHswIWF9IGNhbm5vdCBiZSByZXByZXNlbnRlZCBpbiBmaWxlICIKKyAgICAgICAgICAgICAgICAic3lzdGVtIGVuY29kaW5nIHsxIXJ9Ii5mb3JtYXQoCisgICAgICAgICAgICAgICAgICAgIHBhdGgsIHN5cy5nZXRmaWxlc3lzdGVtZW5jb2RpbmcoKSkpCisKKyAgICBkZWYgYmluZChzZWxmLCBzb2NrLCBwYXRoKToKKyAgICAgICAgIyBCaW5kIHRoZSBzb2NrZXQKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgc29jay5iaW5kKHBhdGgpCisgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGU6CisgICAgICAgICAgICBpZiBzdHIoZSkgPT0gIkFGX1VOSVggcGF0aCB0b28gbG9uZyI6CisgICAgICAgICAgICAgICAgc2VsZi5za2lwVGVzdCgKKyAgICAgICAgICAgICAgICAgICAgIlBhdGhuYW1lIHswIWF9IGlzIHRvbyBsb25nIHRvIHNlcnZlIGFzIGEgQUZfVU5JWCBwYXRoIgorICAgICAgICAgICAgICAgICAgICAuZm9ybWF0KHBhdGgpKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICByYWlzZQorCisgICAgZGVmIHRlc3RTdHJBZGRyKHNlbGYpOgorICAgICAgICAjIFRlc3QgYmluZGluZyB0byBhbmQgcmV0cmlldmluZyBhIG5vcm1hbCBzdHJpbmcgcGF0aG5hbWUuCisgICAgICAgIHBhdGggPSBvcy5wYXRoLmFic3BhdGgoc3VwcG9ydC5URVNURk4pCisgICAgICAgIHNlbGYuYmluZChzZWxmLnNvY2ssIHBhdGgpCisgICAgICAgIHNlbGYuYWRkQ2xlYW51cChzdXBwb3J0LnVubGluaywgcGF0aCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLnNvY2suZ2V0c29ja25hbWUoKSwgcGF0aCkKKworICAgIGRlZiB0ZXN0Qnl0ZXNBZGRyKHNlbGYpOgorICAgICAgICAjIFRlc3QgYmluZGluZyB0byBhIGJ5dGVzIHBhdGhuYW1lLgorICAgICAgICBwYXRoID0gb3MucGF0aC5hYnNwYXRoKHN1cHBvcnQuVEVTVEZOKQorICAgICAgICBzZWxmLmJpbmQoc2VsZi5zb2NrLCBzZWxmLmVuY29kZWQocGF0aCkpCisgICAgICAgIHNlbGYuYWRkQ2xlYW51cChzdXBwb3J0LnVubGluaywgcGF0aCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLnNvY2suZ2V0c29ja25hbWUoKSwgcGF0aCkKKworICAgIGRlZiB0ZXN0U3Vycm9nYXRlZXNjYXBlQmluZChzZWxmKToKKyAgICAgICAgIyBUZXN0IGJpbmRpbmcgdG8gYSB2YWxpZCBub24tQVNDSUkgcGF0aG5hbWUsIHdpdGggdGhlCisgICAgICAgICMgbm9uLUFTQ0lJIGJ5dGVzIHN1cHBsaWVkIHVzaW5nIHN1cnJvZ2F0ZWVzY2FwZSBlbmNvZGluZy4KKyAgICAgICAgcGF0aCA9IG9zLnBhdGguYWJzcGF0aChzdXBwb3J0LlRFU1RGTl9VTklDT0RFKQorICAgICAgICBiID0gc2VsZi5lbmNvZGVkKHBhdGgpCisgICAgICAgIHNlbGYuYmluZChzZWxmLnNvY2ssIGIuZGVjb2RlKCJhc2NpaSIsICJzdXJyb2dhdGVlc2NhcGUiKSkKKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKHN1cHBvcnQudW5saW5rLCBwYXRoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuc29jay5nZXRzb2NrbmFtZSgpLCBwYXRoKQorCisgICAgZGVmIHRlc3RVbmVuY29kYWJsZUFkZHIoc2VsZik6CisgICAgICAgICMgVGVzdCBiaW5kaW5nIHRvIGEgcGF0aG5hbWUgdGhhdCBjYW5ub3QgYmUgZW5jb2RlZCBpbiB0aGUKKyAgICAgICAgIyBmaWxlIHN5c3RlbSBlbmNvZGluZy4KKyAgICAgICAgaWYgc3VwcG9ydC5URVNURk5fVU5FTkNPREFCTEUgaXMgTm9uZToKKyAgICAgICAgICAgIHNlbGYuc2tpcFRlc3QoIk5vIHVuZW5jb2RhYmxlIGZpbGVuYW1lIGF2YWlsYWJsZSIpCisgICAgICAgIHBhdGggPSBvcy5wYXRoLmFic3BhdGgoc3VwcG9ydC5URVNURk5fVU5FTkNPREFCTEUpCisgICAgICAgIHNlbGYuYmluZChzZWxmLnNvY2ssIHBhdGgpCisgICAgICAgIHNlbGYuYWRkQ2xlYW51cChzdXBwb3J0LnVubGluaywgcGF0aCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLnNvY2suZ2V0c29ja25hbWUoKSwgcGF0aCkKIAogQHVuaXR0ZXN0LnNraXBVbmxlc3ModGhyZWFkLCAnVGhyZWFkaW5nIHJlcXVpcmVkIGZvciB0aGlzIHRlc3QuJykKIGNsYXNzIEJ1ZmZlcklPVGVzdChTb2NrZXRDb25uZWN0ZWRUZXN0KToKQEAgLTIwNTEsMTEgKzQ1ODksOCBAQAogICAgICAgICAgICAgICAgICAgICAgIlNPQ0tfQ0xPRVhFQyBub3QgZGVmaW5lZCIpCiBAdW5pdHRlc3Quc2tpcFVubGVzcyhmY250bCwgIm1vZHVsZSBmY250bCBub3QgYXZhaWxhYmxlIikKIGNsYXNzIENsb2V4ZWNDb25zdGFudFRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgorICAgIEBzdXBwb3J0LnJlcXVpcmVzX2xpbnV4X3ZlcnNpb24oMiwgNiwgMjgpCiAgICAgZGVmIHRlc3RfU09DS19DTE9FWEVDKHNlbGYpOgotICAgICAgICB2ID0gbGludXhfdmVyc2lvbigpCi0gICAgICAgIGlmIHYgPCAoMiwgNiwgMjgpOgotICAgICAgICAgICAgc2VsZi5za2lwVGVzdCgiTGludXgga2VybmVsIDIuNi4yOCBvciBoaWdoZXIgcmVxdWlyZWQsIG5vdCAlcyIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgJSAiLiIuam9pbihtYXAoc3RyLCB2KSkpCiAgICAgICAgIHdpdGggc29ja2V0LnNvY2tldChzb2NrZXQuQUZfSU5FVCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvY2tldC5TT0NLX1NUUkVBTSB8IHNvY2tldC5TT0NLX0NMT0VYRUMpIGFzIHM6CiAgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUocy50eXBlICYgc29ja2V0LlNPQ0tfQ0xPRVhFQykKQEAgLTIwNzMsMTEgKzQ2MDgsOCBAQAogICAgICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShzLnR5cGUgJiBzb2NrZXQuU09DS19OT05CTE9DSykKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocy5nZXR0aW1lb3V0KCksIE5vbmUpCiAKKyAgICBAc3VwcG9ydC5yZXF1aXJlc19saW51eF92ZXJzaW9uKDIsIDYsIDI4KQogICAgIGRlZiB0ZXN0X1NPQ0tfTk9OQkxPQ0soc2VsZik6Ci0gICAgICAgIHYgPSBsaW51eF92ZXJzaW9uKCkKLSAgICAgICAgaWYgdiA8ICgyLCA2LCAyOCk6Ci0gICAgICAgICAgICBzZWxmLnNraXBUZXN0KCJMaW51eCBrZXJuZWwgMi42LjI4IG9yIGhpZ2hlciByZXF1aXJlZCwgbm90ICVzIgotICAgICAgICAgICAgICAgICAgICAgICAgICAlICIuIi5qb2luKG1hcChzdHIsIHYpKSkKICAgICAgICAgIyBhIGxvdCBvZiBpdCBzZWVtcyBzaWxseSBhbmQgcmVkdW5kYW50LCBidXQgSSB3YW50ZWQgdG8gdGVzdCB0aGF0CiAgICAgICAgICMgY2hhbmdpbmcgYmFjayBhbmQgZm9ydGggd29ya2VkIG9rCiAgICAgICAgIHdpdGggc29ja2V0LnNvY2tldChzb2NrZXQuQUZfSU5FVCwKQEAgLTIxMzMsMTEgKzQ2NjUsNDAgQEAKICAgICBdKQogICAgIGlmIGhhc2F0dHIoc29ja2V0LCAic29ja2V0cGFpciIpOgogICAgICAgICB0ZXN0cy5hcHBlbmQoQmFzaWNTb2NrZXRQYWlyVGVzdCkKLSAgICBpZiBzeXMucGxhdGZvcm0gPT0gJ2xpbnV4Mic6CisgICAgaWYgaGFzYXR0cihzb2NrZXQsICJBRl9VTklYIik6CisgICAgICAgIHRlc3RzLmFwcGVuZChUZXN0VW5peERvbWFpbikKKyAgICBpZiBzeXMucGxhdGZvcm0gPT0gJ2xpbnV4JzoKICAgICAgICAgdGVzdHMuYXBwZW5kKFRlc3RMaW51eEFic3RyYWN0TmFtZXNwYWNlKQogICAgIGlmIGlzVGlwY0F2YWlsYWJsZSgpOgogICAgICAgICB0ZXN0cy5hcHBlbmQoVElQQ1Rlc3QpCiAgICAgICAgIHRlc3RzLmFwcGVuZChUSVBDVGhyZWFkYWJsZVRlc3QpCisgICAgdGVzdHMuZXh0ZW5kKFtCYXNpY0NBTlRlc3QsIENBTlRlc3RdKQorICAgIHRlc3RzLmV4dGVuZChbQmFzaWNSRFNUZXN0LCBSRFNUZXN0XSkKKyAgICB0ZXN0cy5leHRlbmQoWworICAgICAgICBDbXNnTWFjcm9UZXN0cywKKyAgICAgICAgU2VuZG1zZ1VEUFRlc3QsCisgICAgICAgIFJlY3Ztc2dVRFBUZXN0LAorICAgICAgICBSZWN2bXNnSW50b1VEUFRlc3QsCisgICAgICAgIFNlbmRtc2dVRFA2VGVzdCwKKyAgICAgICAgUmVjdm1zZ1VEUDZUZXN0LAorICAgICAgICBSZWN2bXNnUkZDMzU0MkFuY2lsbGFyeVVEUDZUZXN0LAorICAgICAgICBSZWN2bXNnSW50b1JGQzM1NDJBbmNpbGxhcnlVRFA2VGVzdCwKKyAgICAgICAgUmVjdm1zZ0ludG9VRFA2VGVzdCwKKyAgICAgICAgU2VuZG1zZ1RDUFRlc3QsCisgICAgICAgIFJlY3Ztc2dUQ1BUZXN0LAorICAgICAgICBSZWN2bXNnSW50b1RDUFRlc3QsCisgICAgICAgIFNlbmRtc2dTQ1RQU3RyZWFtVGVzdCwKKyAgICAgICAgUmVjdm1zZ1NDVFBTdHJlYW1UZXN0LAorICAgICAgICBSZWN2bXNnSW50b1NDVFBTdHJlYW1UZXN0LAorICAgICAgICBTZW5kbXNnVW5peFN0cmVhbVRlc3QsCisgICAgICAgIFJlY3Ztc2dVbml4U3RyZWFtVGVzdCwKKyAgICAgICAgUmVjdm1zZ0ludG9Vbml4U3RyZWFtVGVzdCwKKyAgICAgICAgUmVjdm1zZ1NDTVJpZ2h0c1N0cmVhbVRlc3QsCisgICAgICAgIFJlY3Ztc2dJbnRvU0NNUmlnaHRzU3RyZWFtVGVzdCwKKyAgICAgICAgIyBUaGVzZSBhcmUgc2xvdyB3aGVuIHNldGl0aW1lcigpIGlzIG5vdCBhdmFpbGFibGUKKyAgICAgICAgSW50ZXJydXB0ZWRSZWN2VGltZW91dFRlc3QsCisgICAgICAgIEludGVycnVwdGVkU2VuZFRpbWVvdXRUZXN0LAorICAgIF0pCiAKICAgICB0aHJlYWRfaW5mbyA9IHN1cHBvcnQudGhyZWFkaW5nX3NldHVwKCkKICAgICBzdXBwb3J0LnJ1bl91bml0dGVzdCgqdGVzdHMpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3NzbC5weSBiL0xpYi90ZXN0L3Rlc3Rfc3NsLnB5CmluZGV4IDFiMDhmMmUuLmM2Y2UwNzUgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3Rfc3NsLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3Rfc3NsLnB5CkBAIC00Miw2ICs0Miw5IEBACiBPTkxZS0VZID0gZGF0YV9maWxlKCJzc2xfa2V5LnBlbSIpCiBCWVRFU19PTkxZQ0VSVCA9IG9zLmZzZW5jb2RlKE9OTFlDRVJUKQogQllURVNfT05MWUtFWSA9IG9zLmZzZW5jb2RlKE9OTFlLRVkpCitDRVJURklMRV9QUk9URUNURUQgPSBkYXRhX2ZpbGUoImtleWNlcnQucGFzc3dkLnBlbSIpCitPTkxZS0VZX1BST1RFQ1RFRCA9IGRhdGFfZmlsZSgic3NsX2tleS5wYXNzd2QucGVtIikKK0tFWV9QQVNTV09SRCA9ICJzb21lcGFzcyIKIENBUEFUSCA9IGRhdGFfZmlsZSgiY2FwYXRoIikKIEJZVEVTX0NBUEFUSCA9IG9zLmZzZW5jb2RlKENBUEFUSCkKIApAQCAtNTMsNiArNTYsOCBAQAogQkFES0VZID0gZGF0YV9maWxlKCJiYWRrZXkucGVtIikKIE5PS0lBQ0VSVCA9IGRhdGFfZmlsZSgibm9raWEucGVtIikKIAorREhGSUxFID0gZGF0YV9maWxlKCJkaDUxMi5wZW0iKQorQllURVNfREhGSUxFID0gb3MuZnNlbmNvZGUoREhGSUxFKQogCiBkZWYgaGFuZGxlX2Vycm9yKHByZWZpeCk6CiAgICAgZXhjX2Zvcm1hdCA9ICcgJy5qb2luKHRyYWNlYmFjay5mb3JtYXRfZXhjZXB0aW9uKCpzeXMuZXhjX2luZm8oKSkpCkBAIC05NSw3ICsxMDAsMTQgQEAKICAgICAgICAgc3NsLkNFUlRfTk9ORQogICAgICAgICBzc2wuQ0VSVF9PUFRJT05BTAogICAgICAgICBzc2wuQ0VSVF9SRVFVSVJFRAorICAgICAgICBzc2wuT1BfQ0lQSEVSX1NFUlZFUl9QUkVGRVJFTkNFCisgICAgICAgIHNzbC5PUF9TSU5HTEVfREhfVVNFCisgICAgICAgIGlmIHNzbC5IQVNfRUNESDoKKyAgICAgICAgICAgIHNzbC5PUF9TSU5HTEVfRUNESF9VU0UKKyAgICAgICAgaWYgc3NsLk9QRU5TU0xfVkVSU0lPTl9JTkZPID49ICgxLCAwKToKKyAgICAgICAgICAgIHNzbC5PUF9OT19DT01QUkVTU0lPTgogICAgICAgICBzZWxmLmFzc2VydEluKHNzbC5IQVNfU05JLCB7VHJ1ZSwgRmFsc2V9KQorICAgICAgICBzZWxmLmFzc2VydEluKHNzbC5IQVNfRUNESCwge1RydWUsIEZhbHNlfSkKIAogICAgIGRlZiB0ZXN0X3JhbmRvbShzZWxmKToKICAgICAgICAgdiA9IHNzbC5SQU5EX3N0YXR1cygpCkBAIC0xMDMsNiArMTE1LDE2IEBACiAgICAgICAgICAgICBzeXMuc3Rkb3V0LndyaXRlKCJcbiBSQU5EX3N0YXR1cyBpcyAlZCAoJXMpXG4iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICUgKHYsICh2IGFuZCAic3VmZmljaWVudCByYW5kb21uZXNzIikgb3IKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImluc3VmZmljaWVudCByYW5kb21uZXNzIikpCisKKyAgICAgICAgZGF0YSwgaXNfY3J5cHRvZ3JhcGhpYyA9IHNzbC5SQU5EX3BzZXVkb19ieXRlcygxNikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oZGF0YSksIDE2KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGlzX2NyeXB0b2dyYXBoaWMsIHYgPT0gMSkKKyAgICAgICAgaWYgdjoKKyAgICAgICAgICAgIGRhdGEgPSBzc2wuUkFORF9ieXRlcygxNikKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGRhdGEpLCAxNikKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKHNzbC5TU0xFcnJvciwgc3NsLlJBTkRfYnl0ZXMsIDE2KQorCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIHNzbC5SQU5EX2VnZCgxKQogICAgICAgICBleGNlcHQgVHlwZUVycm9yOgpAQCAtMzM3LDYgKzM1OSwyNSBAQAogICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgY3R4LndyYXBfc29ja2V0LCBzb2NrLCBUcnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyX2hvc3RuYW1lPSJzb21lLmhvc3RuYW1lIikKIAorICAgIGRlZiB0ZXN0X3Vua25vd25fY2hhbm5lbF9iaW5kaW5nKHNlbGYpOgorICAgICAgICAjIHNob3VsZCByYWlzZSBWYWx1ZUVycm9yIGZvciB1bmtub3duIHR5cGUKKyAgICAgICAgcyA9IHNvY2tldC5zb2NrZXQoc29ja2V0LkFGX0lORVQpCisgICAgICAgIHNzID0gc3NsLndyYXBfc29ja2V0KHMpCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvcik6CisgICAgICAgICAgICBzcy5nZXRfY2hhbm5lbF9iaW5kaW5nKCJ1bmtub3duLXR5cGUiKQorCisgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3MoInRscy11bmlxdWUiIGluIHNzbC5DSEFOTkVMX0JJTkRJTkdfVFlQRVMsCisgICAgICAgICAgICAgICAgICAgICAgICAgIid0bHMtdW5pcXVlJyBjaGFubmVsIGJpbmRpbmcgbm90IGF2YWlsYWJsZSIpCisgICAgZGVmIHRlc3RfdGxzX3VuaXF1ZV9jaGFubmVsX2JpbmRpbmcoc2VsZik6CisgICAgICAgICMgdW5jb25uZWN0ZWQgc2hvdWxkIHJldHVybiBOb25lIGZvciBrbm93biB0eXBlCisgICAgICAgIHMgPSBzb2NrZXQuc29ja2V0KHNvY2tldC5BRl9JTkVUKQorICAgICAgICBzcyA9IHNzbC53cmFwX3NvY2tldChzKQorICAgICAgICBzZWxmLmFzc2VydElzTm9uZShzcy5nZXRfY2hhbm5lbF9iaW5kaW5nKCJ0bHMtdW5pcXVlIikpCisgICAgICAgICMgdGhlIHNhbWUgZm9yIHNlcnZlci1zaWRlCisgICAgICAgIHMgPSBzb2NrZXQuc29ja2V0KHNvY2tldC5BRl9JTkVUKQorICAgICAgICBzcyA9IHNzbC53cmFwX3NvY2tldChzLCBzZXJ2ZXJfc2lkZT1UcnVlLCBjZXJ0ZmlsZT1DRVJURklMRSkKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUoc3MuZ2V0X2NoYW5uZWxfYmluZGluZygidGxzLXVuaXF1ZSIpKQorCiBjbGFzcyBDb250ZXh0VGVzdHModW5pdHRlc3QuVGVzdENhc2UpOgogCiAgICAgQHNraXBfaWZfYnJva2VuX3VidW50dV9zc2wKQEAgLTQyNyw2ICs0NjgsNjAgQEAKICAgICAgICAgY3R4ID0gc3NsLlNTTENvbnRleHQoc3NsLlBST1RPQ09MX1RMU3YxKQogICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoc3NsLlNTTEVycm9yLCAia2V5IHZhbHVlcyBtaXNtYXRjaCIpOgogICAgICAgICAgICAgY3R4LmxvYWRfY2VydF9jaGFpbihTVk5fUFlUSE9OX09SR19ST09UX0NFUlQsIE9OTFlLRVkpCisgICAgICAgICMgUGFzc3dvcmQgcHJvdGVjdGVkIGtleSBhbmQgY2VydAorICAgICAgICBjdHgubG9hZF9jZXJ0X2NoYWluKENFUlRGSUxFX1BST1RFQ1RFRCwgcGFzc3dvcmQ9S0VZX1BBU1NXT1JEKQorICAgICAgICBjdHgubG9hZF9jZXJ0X2NoYWluKENFUlRGSUxFX1BST1RFQ1RFRCwgcGFzc3dvcmQ9S0VZX1BBU1NXT1JELmVuY29kZSgpKQorICAgICAgICBjdHgubG9hZF9jZXJ0X2NoYWluKENFUlRGSUxFX1BST1RFQ1RFRCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXNzd29yZD1ieXRlYXJyYXkoS0VZX1BBU1NXT1JELmVuY29kZSgpKSkKKyAgICAgICAgY3R4LmxvYWRfY2VydF9jaGFpbihPTkxZQ0VSVCwgT05MWUtFWV9QUk9URUNURUQsIEtFWV9QQVNTV09SRCkKKyAgICAgICAgY3R4LmxvYWRfY2VydF9jaGFpbihPTkxZQ0VSVCwgT05MWUtFWV9QUk9URUNURUQsIEtFWV9QQVNTV09SRC5lbmNvZGUoKSkKKyAgICAgICAgY3R4LmxvYWRfY2VydF9jaGFpbihPTkxZQ0VSVCwgT05MWUtFWV9QUk9URUNURUQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnl0ZWFycmF5KEtFWV9QQVNTV09SRC5lbmNvZGUoKSkpCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXNSZWdleChUeXBlRXJyb3IsICJzaG91bGQgYmUgYSBzdHJpbmciKToKKyAgICAgICAgICAgIGN0eC5sb2FkX2NlcnRfY2hhaW4oQ0VSVEZJTEVfUFJPVEVDVEVELCBwYXNzd29yZD1UcnVlKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKHNzbC5TU0xFcnJvcik6CisgICAgICAgICAgICBjdHgubG9hZF9jZXJ0X2NoYWluKENFUlRGSUxFX1BST1RFQ1RFRCwgcGFzc3dvcmQ9ImJhZHBhc3MiKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoVmFsdWVFcnJvciwgImNhbm5vdCBiZSBsb25nZXIiKToKKyAgICAgICAgICAgICMgb3BlbnNzbCBoYXMgYSBmaXhlZCBsaW1pdCBvbiB0aGUgcGFzc3dvcmQgYnVmZmVyLgorICAgICAgICAgICAgIyBQRU1fQlVGU0laRSBpcyBnZW5lcmFsbHkgc2V0IHRvIDFrYi4KKyAgICAgICAgICAgICMgUmV0dXJuIGEgc3RyaW5nIGxhcmdlciB0aGFuIHRoaXMuCisgICAgICAgICAgICBjdHgubG9hZF9jZXJ0X2NoYWluKENFUlRGSUxFX1BST1RFQ1RFRCwgcGFzc3dvcmQ9YidhJyAqIDEwMjQwMCkKKyAgICAgICAgIyBQYXNzd29yZCBjYWxsYmFjaworICAgICAgICBkZWYgZ2V0cGFzc191bmljb2RlKCk6CisgICAgICAgICAgICByZXR1cm4gS0VZX1BBU1NXT1JECisgICAgICAgIGRlZiBnZXRwYXNzX2J5dGVzKCk6CisgICAgICAgICAgICByZXR1cm4gS0VZX1BBU1NXT1JELmVuY29kZSgpCisgICAgICAgIGRlZiBnZXRwYXNzX2J5dGVhcnJheSgpOgorICAgICAgICAgICAgcmV0dXJuIGJ5dGVhcnJheShLRVlfUEFTU1dPUkQuZW5jb2RlKCkpCisgICAgICAgIGRlZiBnZXRwYXNzX2JhZHBhc3MoKToKKyAgICAgICAgICAgIHJldHVybiAiYmFkcGFzcyIKKyAgICAgICAgZGVmIGdldHBhc3NfaHVnZSgpOgorICAgICAgICAgICAgcmV0dXJuIGInYScgKiAoMTAyNCAqIDEwMjQpCisgICAgICAgIGRlZiBnZXRwYXNzX2JhZF90eXBlKCk6CisgICAgICAgICAgICByZXR1cm4gOQorICAgICAgICBkZWYgZ2V0cGFzc19leGNlcHRpb24oKToKKyAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbignZ2V0cGFzcyBlcnJvcicpCisgICAgICAgIGNsYXNzIEdldFBhc3NDYWxsYWJsZToKKyAgICAgICAgICAgIGRlZiBfX2NhbGxfXyhzZWxmKToKKyAgICAgICAgICAgICAgICByZXR1cm4gS0VZX1BBU1NXT1JECisgICAgICAgICAgICBkZWYgZ2V0cGFzcyhzZWxmKToKKyAgICAgICAgICAgICAgICByZXR1cm4gS0VZX1BBU1NXT1JECisgICAgICAgIGN0eC5sb2FkX2NlcnRfY2hhaW4oQ0VSVEZJTEVfUFJPVEVDVEVELCBwYXNzd29yZD1nZXRwYXNzX3VuaWNvZGUpCisgICAgICAgIGN0eC5sb2FkX2NlcnRfY2hhaW4oQ0VSVEZJTEVfUFJPVEVDVEVELCBwYXNzd29yZD1nZXRwYXNzX2J5dGVzKQorICAgICAgICBjdHgubG9hZF9jZXJ0X2NoYWluKENFUlRGSUxFX1BST1RFQ1RFRCwgcGFzc3dvcmQ9Z2V0cGFzc19ieXRlYXJyYXkpCisgICAgICAgIGN0eC5sb2FkX2NlcnRfY2hhaW4oQ0VSVEZJTEVfUFJPVEVDVEVELCBwYXNzd29yZD1HZXRQYXNzQ2FsbGFibGUoKSkKKyAgICAgICAgY3R4LmxvYWRfY2VydF9jaGFpbihDRVJURklMRV9QUk9URUNURUQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFzc3dvcmQ9R2V0UGFzc0NhbGxhYmxlKCkuZ2V0cGFzcykKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhzc2wuU1NMRXJyb3IpOgorICAgICAgICAgICAgY3R4LmxvYWRfY2VydF9jaGFpbihDRVJURklMRV9QUk9URUNURUQsIHBhc3N3b3JkPWdldHBhc3NfYmFkcGFzcykKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KFZhbHVlRXJyb3IsICJjYW5ub3QgYmUgbG9uZ2VyIik6CisgICAgICAgICAgICBjdHgubG9hZF9jZXJ0X2NoYWluKENFUlRGSUxFX1BST1RFQ1RFRCwgcGFzc3dvcmQ9Z2V0cGFzc19odWdlKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoVHlwZUVycm9yLCAibXVzdCByZXR1cm4gYSBzdHJpbmciKToKKyAgICAgICAgICAgIGN0eC5sb2FkX2NlcnRfY2hhaW4oQ0VSVEZJTEVfUFJPVEVDVEVELCBwYXNzd29yZD1nZXRwYXNzX2JhZF90eXBlKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoRXhjZXB0aW9uLCAiZ2V0cGFzcyBlcnJvciIpOgorICAgICAgICAgICAgY3R4LmxvYWRfY2VydF9jaGFpbihDRVJURklMRV9QUk9URUNURUQsIHBhc3N3b3JkPWdldHBhc3NfZXhjZXB0aW9uKQorICAgICAgICAjIE1ha2Ugc3VyZSB0aGUgcGFzc3dvcmQgZnVuY3Rpb24gaXNuJ3QgY2FsbGVkIGlmIGl0IGlzbid0IG5lZWRlZAorICAgICAgICBjdHgubG9hZF9jZXJ0X2NoYWluKENFUlRGSUxFLCBwYXNzd29yZD1nZXRwYXNzX2V4Y2VwdGlvbikKIAogICAgIGRlZiB0ZXN0X2xvYWRfdmVyaWZ5X2xvY2F0aW9ucyhzZWxmKToKICAgICAgICAgY3R4ID0gc3NsLlNTTENvbnRleHQoc3NsLlBST1RPQ09MX1RMU3YxKQpAQCAtNDQ3LDYgKzU0MiwxOSBAQAogICAgICAgICAjIElzc3VlICMxMDk4OTogY3Jhc2ggaWYgdGhlIHNlY29uZCBhcmd1bWVudCB0eXBlIGlzIGludmFsaWQKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBjdHgubG9hZF92ZXJpZnlfbG9jYXRpb25zLCBOb25lLCBUcnVlKQogCisgICAgZGVmIHRlc3RfbG9hZF9kaF9wYXJhbXMoc2VsZik6CisgICAgICAgIGN0eCA9IHNzbC5TU0xDb250ZXh0KHNzbC5QUk9UT0NPTF9UTFN2MSkKKyAgICAgICAgY3R4LmxvYWRfZGhfcGFyYW1zKERIRklMRSkKKyAgICAgICAgaWYgb3MubmFtZSAhPSAnbnQnOgorICAgICAgICAgICAgY3R4LmxvYWRfZGhfcGFyYW1zKEJZVEVTX0RIRklMRSkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBjdHgubG9hZF9kaF9wYXJhbXMpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgY3R4LmxvYWRfZGhfcGFyYW1zLCBOb25lKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKEZpbGVOb3RGb3VuZEVycm9yKSBhcyBjbToKKyAgICAgICAgICAgIGN0eC5sb2FkX2RoX3BhcmFtcyhXUk9OR0NFUlQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY20uZXhjZXB0aW9uLmVycm5vLCBlcnJuby5FTk9FTlQpCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXNSZWdleChzc2wuU1NMRXJyb3IsICJQRU0gcm91dGluZXMiKToKKyAgICAgICAgICAgIGN0eC5sb2FkX2RoX3BhcmFtcyhDRVJURklMRSkKKwogICAgIEBza2lwX2lmX2Jyb2tlbl91YnVudHVfc3NsCiAgICAgZGVmIHRlc3Rfc2Vzc2lvbl9zdGF0cyhzZWxmKToKICAgICAgICAgZm9yIHByb3RvIGluIFBST1RPQ09MUzoKQEAgLTQ3MSw2ICs1NzksMTYgQEAKICAgICAgICAgY3R4ID0gc3NsLlNTTENvbnRleHQoc3NsLlBST1RPQ09MX1RMU3YxKQogICAgICAgICBjdHguc2V0X2RlZmF1bHRfdmVyaWZ5X3BhdGhzKCkKIAorICAgIEB1bml0dGVzdC5za2lwVW5sZXNzKHNzbC5IQVNfRUNESCwgIkVDREggZGlzYWJsZWQgb24gdGhpcyBPcGVuU1NMIGJ1aWxkIikKKyAgICBkZWYgdGVzdF9zZXRfZWNkaF9jdXJ2ZShzZWxmKToKKyAgICAgICAgY3R4ID0gc3NsLlNTTENvbnRleHQoc3NsLlBST1RPQ09MX1RMU3YxKQorICAgICAgICBjdHguc2V0X2VjZGhfY3VydmUoInByaW1lMjU2djEiKQorICAgICAgICBjdHguc2V0X2VjZGhfY3VydmUoYiJwcmltZTI1NnYxIikKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBjdHguc2V0X2VjZGhfY3VydmUpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgY3R4LnNldF9lY2RoX2N1cnZlLCBOb25lKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBjdHguc2V0X2VjZGhfY3VydmUsICJmb28iKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBjdHguc2V0X2VjZGhfY3VydmUsIGIiZm9vIikKKwogCiBjbGFzcyBOZXR3b3JrZWRUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAKQEAgLTUzMywxMyArNjUxLDEwIEBACiAgICAgICAgICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICAgICAgICAgIHMuZG9faGFuZHNoYWtlKCkKICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrCi0gICAgICAgICAgICAgICAgICAgIGV4Y2VwdCBzc2wuU1NMRXJyb3IgYXMgZXJyOgotICAgICAgICAgICAgICAgICAgICAgICAgaWYgZXJyLmFyZ3NbMF0gPT0gc3NsLlNTTF9FUlJPUl9XQU5UX1JFQUQ6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0LnNlbGVjdChbc10sIFtdLCBbXSwgNS4wKQotICAgICAgICAgICAgICAgICAgICAgICAgZWxpZiBlcnIuYXJnc1swXSA9PSBzc2wuU1NMX0VSUk9SX1dBTlRfV1JJVEU6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0LnNlbGVjdChbXSwgW3NdLCBbXSwgNS4wKQotICAgICAgICAgICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICByYWlzZQorICAgICAgICAgICAgICAgICAgICBleGNlcHQgc3NsLlNTTFdhbnRSZWFkRXJyb3I6CisgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3Quc2VsZWN0KFtzXSwgW10sIFtdLCA1LjApCisgICAgICAgICAgICAgICAgICAgIGV4Y2VwdCBzc2wuU1NMV2FudFdyaXRlRXJyb3I6CisgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3Quc2VsZWN0KFtdLCBbc10sIFtdLCA1LjApCiAgICAgICAgICAgICAgICAgIyBTU0wgZXN0YWJsaXNoZWQKICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUocy5nZXRwZWVyY2VydCgpKQogICAgICAgICAgICAgZmluYWxseToKQEAgLTY1OSwzNyArNzc0LDM5IEBACiAgICAgICAgICAgICAgICAgICAgIGNvdW50ICs9IDEKICAgICAgICAgICAgICAgICAgICAgcy5kb19oYW5kc2hha2UoKQogICAgICAgICAgICAgICAgICAgICBicmVhawotICAgICAgICAgICAgICAgIGV4Y2VwdCBzc2wuU1NMRXJyb3IgYXMgZXJyOgotICAgICAgICAgICAgICAgICAgICBpZiBlcnIuYXJnc1swXSA9PSBzc2wuU1NMX0VSUk9SX1dBTlRfUkVBRDoKLSAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdC5zZWxlY3QoW3NdLCBbXSwgW10pCi0gICAgICAgICAgICAgICAgICAgIGVsaWYgZXJyLmFyZ3NbMF0gPT0gc3NsLlNTTF9FUlJPUl9XQU5UX1dSSVRFOgotICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0LnNlbGVjdChbXSwgW3NdLCBbXSkKLSAgICAgICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlCisgICAgICAgICAgICAgICAgZXhjZXB0IHNzbC5TU0xXYW50UmVhZEVycm9yOgorICAgICAgICAgICAgICAgICAgICBzZWxlY3Quc2VsZWN0KFtzXSwgW10sIFtdKQorICAgICAgICAgICAgICAgIGV4Y2VwdCBzc2wuU1NMV2FudFdyaXRlRXJyb3I6CisgICAgICAgICAgICAgICAgICAgIHNlbGVjdC5zZWxlY3QoW10sIFtzXSwgW10pCiAgICAgICAgICAgICBzLmNsb3NlKCkKICAgICAgICAgICAgIGlmIHN1cHBvcnQudmVyYm9zZToKICAgICAgICAgICAgICAgICBzeXMuc3Rkb3V0LndyaXRlKCJcbk5lZWRlZCAlZCBjYWxscyB0byBkb19oYW5kc2hha2UoKSB0byBlc3RhYmxpc2ggc2Vzc2lvbi5cbiIgJSBjb3VudCkKIAogICAgIGRlZiB0ZXN0X2dldF9zZXJ2ZXJfY2VydGlmaWNhdGUoc2VsZik6Ci0gICAgICAgIHdpdGggc3VwcG9ydC50cmFuc2llbnRfaW50ZXJuZXQoInN2bi5weXRob24ub3JnIik6Ci0gICAgICAgICAgICBwZW0gPSBzc2wuZ2V0X3NlcnZlcl9jZXJ0aWZpY2F0ZSgoInN2bi5weXRob24ub3JnIiwgNDQzKSkKLSAgICAgICAgICAgIGlmIG5vdCBwZW06Ci0gICAgICAgICAgICAgICAgc2VsZi5mYWlsKCJObyBzZXJ2ZXIgY2VydGlmaWNhdGUgb24gc3ZuLnB5dGhvbi5vcmc6NDQzISIpCisgICAgICAgIGRlZiBfdGVzdF9nZXRfc2VydmVyX2NlcnRpZmljYXRlKGhvc3QsIHBvcnQsIGNlcnQ9Tm9uZSk6CisgICAgICAgICAgICB3aXRoIHN1cHBvcnQudHJhbnNpZW50X2ludGVybmV0KGhvc3QpOgorICAgICAgICAgICAgICAgIHBlbSA9IHNzbC5nZXRfc2VydmVyX2NlcnRpZmljYXRlKChob3N0LCBwb3J0KSkKKyAgICAgICAgICAgICAgICBpZiBub3QgcGVtOgorICAgICAgICAgICAgICAgICAgICBzZWxmLmZhaWwoIk5vIHNlcnZlciBjZXJ0aWZpY2F0ZSBvbiAlczolcyEiICUgKGhvc3QsIHBvcnQpKQogCi0gICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgcGVtID0gc3NsLmdldF9zZXJ2ZXJfY2VydGlmaWNhdGUoKCJzdm4ucHl0aG9uLm9yZyIsIDQ0MyksIGNhX2NlcnRzPUNFUlRGSUxFKQotICAgICAgICAgICAgZXhjZXB0IHNzbC5TU0xFcnJvciBhcyB4OgotICAgICAgICAgICAgICAgICNzaG91bGQgZmFpbAorICAgICAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICAgICAgcGVtID0gc3NsLmdldF9zZXJ2ZXJfY2VydGlmaWNhdGUoKGhvc3QsIHBvcnQpLCBjYV9jZXJ0cz1DRVJURklMRSkKKyAgICAgICAgICAgICAgICBleGNlcHQgc3NsLlNTTEVycm9yIGFzIHg6CisgICAgICAgICAgICAgICAgICAgICNzaG91bGQgZmFpbAorICAgICAgICAgICAgICAgICAgICBpZiBzdXBwb3J0LnZlcmJvc2U6CisgICAgICAgICAgICAgICAgICAgICAgICBzeXMuc3Rkb3V0LndyaXRlKCIlc1xuIiAlIHgpCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5mYWlsKCJHb3Qgc2VydmVyIGNlcnRpZmljYXRlICVzIGZvciAlczolcyEiICUgKHBlbSwgaG9zdCwgcG9ydCkpCisKKyAgICAgICAgICAgICAgICBwZW0gPSBzc2wuZ2V0X3NlcnZlcl9jZXJ0aWZpY2F0ZSgoaG9zdCwgcG9ydCksIGNhX2NlcnRzPWNlcnQpCisgICAgICAgICAgICAgICAgaWYgbm90IHBlbToKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5mYWlsKCJObyBzZXJ2ZXIgY2VydGlmaWNhdGUgb24gJXM6JXMhIiAlIChob3N0LCBwb3J0KSkKICAgICAgICAgICAgICAgICBpZiBzdXBwb3J0LnZlcmJvc2U6Ci0gICAgICAgICAgICAgICAgICAgIHN5cy5zdGRvdXQud3JpdGUoIiVzXG4iICUgeCkKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgc2VsZi5mYWlsKCJHb3Qgc2VydmVyIGNlcnRpZmljYXRlICVzIGZvciBzdm4ucHl0aG9uLm9yZyEiICUgcGVtKQorICAgICAgICAgICAgICAgICAgICBzeXMuc3Rkb3V0LndyaXRlKCJcblZlcmlmaWVkIGNlcnRpZmljYXRlIGZvciAlczolcyBpc1xuJXNcbiIgJSAoaG9zdCwgcG9ydCAscGVtKSkKIAotICAgICAgICAgICAgcGVtID0gc3NsLmdldF9zZXJ2ZXJfY2VydGlmaWNhdGUoKCJzdm4ucHl0aG9uLm9yZyIsIDQ0MyksIGNhX2NlcnRzPVNWTl9QWVRIT05fT1JHX1JPT1RfQ0VSVCkKLSAgICAgICAgICAgIGlmIG5vdCBwZW06Ci0gICAgICAgICAgICAgICAgc2VsZi5mYWlsKCJObyBzZXJ2ZXIgY2VydGlmaWNhdGUgb24gc3ZuLnB5dGhvbi5vcmc6NDQzISIpCi0gICAgICAgICAgICBpZiBzdXBwb3J0LnZlcmJvc2U6Ci0gICAgICAgICAgICAgICAgc3lzLnN0ZG91dC53cml0ZSgiXG5WZXJpZmllZCBjZXJ0aWZpY2F0ZSBmb3Igc3ZuLnB5dGhvbi5vcmc6NDQzIGlzXG4lc1xuIiAlIHBlbSkKKyAgICAgICAgX3Rlc3RfZ2V0X3NlcnZlcl9jZXJ0aWZpY2F0ZSgnc3ZuLnB5dGhvbi5vcmcnLCA0NDMsIFNWTl9QWVRIT05fT1JHX1JPT1RfQ0VSVCkKKyAgICAgICAgaWYgc3VwcG9ydC5JUFY2X0VOQUJMRUQ6CisgICAgICAgICAgICBfdGVzdF9nZXRfc2VydmVyX2NlcnRpZmljYXRlKCdpcHY2Lmdvb2dsZS5jb20nLCA0NDMpCiAKICAgICBkZWYgdGVzdF9jaXBoZXJzKHNlbGYpOgogICAgICAgICByZW1vdGUgPSAoInN2bi5weXRob24ub3JnIiwgNDQzKQpAQCAtODM4LDYgKzk1NSwxMSBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc3NsY29ubiA9IE5vbmUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiBzdXBwb3J0LnZlcmJvc2UgYW5kIHNlbGYuc2VydmVyLmNvbm5lY3Rpb25jaGF0dHk6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5cy5zdGRvdXQud3JpdGUoIiBzZXJ2ZXI6IGNvbm5lY3Rpb24gaXMgbm93IHVuZW5jcnlwdGVkLi4uXG4iKQorICAgICAgICAgICAgICAgICAgICAgICAgZWxpZiBzdHJpcHBlZCA9PSBiJ0NCIHRscy11bmlxdWUnOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIHN1cHBvcnQudmVyYm9zZSBhbmQgc2VsZi5zZXJ2ZXIuY29ubmVjdGlvbmNoYXR0eToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3lzLnN0ZG91dC53cml0ZSgiIHNlcnZlcjogcmVhZCBDQiB0bHMtdW5pcXVlIGZyb20gY2xpZW50LCBzZW5kaW5nIG91ciBDQiBkYXRhLi4uXG4iKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEgPSBzZWxmLnNzbGNvbm4uZ2V0X2NoYW5uZWxfYmluZGluZygidGxzLXVuaXF1ZSIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi53cml0ZShyZXByKGRhdGEpLmVuY29kZSgidXMtYXNjaWkiKSArIGIiXG4iKQogICAgICAgICAgICAgICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3VwcG9ydC52ZXJib3NlIGFuZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnNlcnZlci5jb25uZWN0aW9uY2hhdHR5KToKQEAgLTk0NiwxMiArMTA2OCwxMSBAQAogICAgICAgICAgICAgICAgIGRlZiBfZG9fc3NsX2hhbmRzaGFrZShzZWxmKToKICAgICAgICAgICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zb2NrZXQuZG9faGFuZHNoYWtlKCkKLSAgICAgICAgICAgICAgICAgICAgZXhjZXB0IHNzbC5TU0xFcnJvciBhcyBlcnI6Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiBlcnIuYXJnc1swXSBpbiAoc3NsLlNTTF9FUlJPUl9XQU5UX1JFQUQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3NsLlNTTF9FUlJPUl9XQU5UX1dSSVRFKToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4KLSAgICAgICAgICAgICAgICAgICAgICAgIGVsaWYgZXJyLmFyZ3NbMF0gPT0gc3NsLlNTTF9FUlJPUl9FT0Y6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYuaGFuZGxlX2Nsb3NlKCkKKyAgICAgICAgICAgICAgICAgICAgZXhjZXB0IChzc2wuU1NMV2FudFJlYWRFcnJvciwgc3NsLlNTTFdhbnRXcml0ZUVycm9yKToKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybgorICAgICAgICAgICAgICAgICAgICBleGNlcHQgc3NsLlNTTEVPRkVycm9yOgorICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYuaGFuZGxlX2Nsb3NlKCkKKyAgICAgICAgICAgICAgICAgICAgZXhjZXB0IHNzbC5TU0xFcnJvcjoKICAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlCiAgICAgICAgICAgICAgICAgICAgIGV4Y2VwdCBzb2NrZXQuZXJyb3IgYXMgZXJyOgogICAgICAgICAgICAgICAgICAgICAgICAgaWYgZXJyLmFyZ3NbMF0gPT0gZXJybm8uRUNPTk5BQk9SVEVEOgpAQCAtMTA5OSw3ICsxMjIwLDEyIEBACiAgICAgICAgICAgICAgICAgaWYgY29ubmVjdGlvbmNoYXR0eToKICAgICAgICAgICAgICAgICAgICAgaWYgc3VwcG9ydC52ZXJib3NlOgogICAgICAgICAgICAgICAgICAgICAgICAgc3lzLnN0ZG91dC53cml0ZSgiIGNsaWVudDogIGNsb3NpbmcgY29ubmVjdGlvbi5cbiIpCisgICAgICAgICAgICAgICAgc3RhdHMgPSB7CisgICAgICAgICAgICAgICAgICAgICdjb21wcmVzc2lvbic6IHMuY29tcHJlc3Npb24oKSwKKyAgICAgICAgICAgICAgICAgICAgJ2NpcGhlcic6IHMuY2lwaGVyKCksCisgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIHMuY2xvc2UoKQorICAgICAgICAgICAgICAgIHJldHVybiBzdGF0cwogCiAgICAgZGVmIHRyeV9wcm90b2NvbF9jb21ibyhzZXJ2ZXJfcHJvdG9jb2wsIGNsaWVudF9wcm90b2NvbCwgZXhwZWN0X3N1Y2Nlc3MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZXJ0c3JlcXM9Tm9uZSwgc2VydmVyX29wdGlvbnM9MCwgY2xpZW50X29wdGlvbnM9MCk6CkBAIC0xMjUxLDcgKzEzNzcsOCBAQAogICAgICAgICAgICAgICAgIHQuam9pbigpCiAKICAgICAgICAgQHNraXBfaWZfYnJva2VuX3VidW50dV9zc2wKLSAgICAgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3MoaGFzYXR0cihzc2wsICdQUk9UT0NPTF9TU0x2MicpLCAibmVlZCBTU0x2MiIpCisgICAgICAgIEB1bml0dGVzdC5za2lwVW5sZXNzKGhhc2F0dHIoc3NsLCAnUFJPVE9DT0xfU1NMdjInKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk9wZW5TU0wgaXMgY29tcGlsZWQgd2l0aG91dCBTU0x2MiBzdXBwb3J0IikKICAgICAgICAgZGVmIHRlc3RfcHJvdG9jb2xfc3NsdjIoc2VsZik6CiAgICAgICAgICAgICAiIiJDb25uZWN0aW5nIHRvIGFuIFNTTHYyIHNlcnZlciB3aXRoIHZhcmlvdXMgY2xpZW50IG9wdGlvbnMiIiIKICAgICAgICAgICAgIGlmIHN1cHBvcnQudmVyYm9zZToKQEAgLTE1NTcsNiArMTY4NCwxNSBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICAgICAgICMgY29uc3VtZSBkYXRhCiAgICAgICAgICAgICAgICAgICAgICAgICBzLnJlYWQoKQorCisgICAgICAgICAgICAgICAgIyBNYWtlIHN1cmUgc2VuZG1zZyBldCBhbCBhcmUgZGlzYWxsb3dlZCB0byBhdm9pZAorICAgICAgICAgICAgICAgICMgaW5hZHZlcnRlbnQgZGlzY2xvc3VyZSBvZiBkYXRhIGFuZC9vciBjb3JydXB0aW9uCisgICAgICAgICAgICAgICAgIyBvZiB0aGUgZW5jcnlwdGVkIGRhdGEgc3RyZWFtCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoTm90SW1wbGVtZW50ZWRFcnJvciwgcy5zZW5kbXNnLCBbYiJkYXRhIl0pCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoTm90SW1wbGVtZW50ZWRFcnJvciwgcy5yZWN2bXNnLCAxMDApCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoTm90SW1wbGVtZW50ZWRFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzLnJlY3Ztc2dfaW50bywgYnl0ZWFycmF5KDEwMCkpCisKICAgICAgICAgICAgICAgICBzLndyaXRlKGIib3ZlclxuIikKICAgICAgICAgICAgICAgICBzLmNsb3NlKCkKIApAQCAtMTYyNSw2ICsxNzYxLDk4IEBACiAgICAgICAgICAgICAgICAgICAgICAgICBzLmNvbm5lY3QoKEhPU1QsIHNlcnZlci5wb3J0KSkKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4oIm5vIHNoYXJlZCBjaXBoZXIiLCBzdHIoc2VydmVyLmNvbm5fZXJyb3JzWzBdKSkKIAorICAgICAgICBAdW5pdHRlc3Quc2tpcFVubGVzcygidGxzLXVuaXF1ZSIgaW4gc3NsLkNIQU5ORUxfQklORElOR19UWVBFUywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIid0bHMtdW5pcXVlJyBjaGFubmVsIGJpbmRpbmcgbm90IGF2YWlsYWJsZSIpCisgICAgICAgIGRlZiB0ZXN0X3Rsc191bmlxdWVfY2hhbm5lbF9iaW5kaW5nKHNlbGYpOgorICAgICAgICAgICAgIiIiVGVzdCB0bHMtdW5pcXVlIGNoYW5uZWwgYmluZGluZy4iIiIKKyAgICAgICAgICAgIGlmIHN1cHBvcnQudmVyYm9zZToKKyAgICAgICAgICAgICAgICBzeXMuc3Rkb3V0LndyaXRlKCJcbiIpCisKKyAgICAgICAgICAgIHNlcnZlciA9IFRocmVhZGVkRWNob1NlcnZlcihDRVJURklMRSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZXJ0cmVxcz1zc2wuQ0VSVF9OT05FLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNzbF92ZXJzaW9uPXNzbC5QUk9UT0NPTF9UTFN2MSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWNlcnRzPUNFUlRGSUxFLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXR0eT1UcnVlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbm5lY3Rpb25jaGF0dHk9RmFsc2UpCisgICAgICAgICAgICB3aXRoIHNlcnZlcjoKKyAgICAgICAgICAgICAgICBzID0gc3NsLndyYXBfc29ja2V0KHNvY2tldC5zb2NrZXQoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZlcl9zaWRlPUZhbHNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2VydGZpbGU9Q0VSVEZJTEUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYV9jZXJ0cz1DRVJURklMRSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNlcnRfcmVxcz1zc2wuQ0VSVF9OT05FLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3NsX3ZlcnNpb249c3NsLlBST1RPQ09MX1RMU3YxKQorICAgICAgICAgICAgICAgIHMuY29ubmVjdCgoSE9TVCwgc2VydmVyLnBvcnQpKQorICAgICAgICAgICAgICAgICMgZ2V0IHRoZSBkYXRhCisgICAgICAgICAgICAgICAgY2JfZGF0YSA9IHMuZ2V0X2NoYW5uZWxfYmluZGluZygidGxzLXVuaXF1ZSIpCisgICAgICAgICAgICAgICAgaWYgc3VwcG9ydC52ZXJib3NlOgorICAgICAgICAgICAgICAgICAgICBzeXMuc3Rkb3V0LndyaXRlKCIgZ290IGNoYW5uZWwgYmluZGluZyBkYXRhOiB7MCFyfVxuIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5mb3JtYXQoY2JfZGF0YSkpCisKKyAgICAgICAgICAgICAgICAjIGNoZWNrIGlmIGl0IGlzIHNhbmUKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydElzTm90Tm9uZShjYl9kYXRhKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGNiX2RhdGEpLCAxMikgIyBUcnVlIGZvciBUTFN2MQorCisgICAgICAgICAgICAgICAgIyBhbmQgY29tcGFyZSB3aXRoIHRoZSBwZWVycyB2ZXJzaW9uCisgICAgICAgICAgICAgICAgcy53cml0ZShiIkNCIHRscy11bmlxdWVcbiIpCisgICAgICAgICAgICAgICAgcGVlcl9kYXRhX3JlcHIgPSBzLnJlYWQoKS5zdHJpcCgpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwZWVyX2RhdGFfcmVwciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcHIoY2JfZGF0YSkuZW5jb2RlKCJ1cy1hc2NpaSIpKQorICAgICAgICAgICAgICAgIHMuY2xvc2UoKQorCisgICAgICAgICAgICAgICAgIyBub3csIGFnYWluCisgICAgICAgICAgICAgICAgcyA9IHNzbC53cmFwX3NvY2tldChzb2NrZXQuc29ja2V0KCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJfc2lkZT1GYWxzZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNlcnRmaWxlPUNFUlRGSUxFLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FfY2VydHM9Q0VSVEZJTEUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZXJ0X3JlcXM9c3NsLkNFUlRfTk9ORSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNzbF92ZXJzaW9uPXNzbC5QUk9UT0NPTF9UTFN2MSkKKyAgICAgICAgICAgICAgICBzLmNvbm5lY3QoKEhPU1QsIHNlcnZlci5wb3J0KSkKKyAgICAgICAgICAgICAgICBuZXdfY2JfZGF0YSA9IHMuZ2V0X2NoYW5uZWxfYmluZGluZygidGxzLXVuaXF1ZSIpCisgICAgICAgICAgICAgICAgaWYgc3VwcG9ydC52ZXJib3NlOgorICAgICAgICAgICAgICAgICAgICBzeXMuc3Rkb3V0LndyaXRlKCIgZ290IGFub3RoZXIgY2hhbm5lbCBiaW5kaW5nIGRhdGE6IHswIXJ9XG4iCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmZvcm1hdChuZXdfY2JfZGF0YSkpCisgICAgICAgICAgICAgICAgIyBpcyBpdCByZWFsbHkgdW5pcXVlCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbChjYl9kYXRhLCBuZXdfY2JfZGF0YSkKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydElzTm90Tm9uZShjYl9kYXRhKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGNiX2RhdGEpLCAxMikgIyBUcnVlIGZvciBUTFN2MQorICAgICAgICAgICAgICAgIHMud3JpdGUoYiJDQiB0bHMtdW5pcXVlXG4iKQorICAgICAgICAgICAgICAgIHBlZXJfZGF0YV9yZXByID0gcy5yZWFkKCkuc3RyaXAoKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocGVlcl9kYXRhX3JlcHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXByKG5ld19jYl9kYXRhKS5lbmNvZGUoInVzLWFzY2lpIikpCisgICAgICAgICAgICAgICAgcy5jbG9zZSgpCisKKyAgICAgICAgZGVmIHRlc3RfY29tcHJlc3Npb24oc2VsZik6CisgICAgICAgICAgICBjb250ZXh0ID0gc3NsLlNTTENvbnRleHQoc3NsLlBST1RPQ09MX1RMU3YxKQorICAgICAgICAgICAgY29udGV4dC5sb2FkX2NlcnRfY2hhaW4oQ0VSVEZJTEUpCisgICAgICAgICAgICBzdGF0cyA9IHNlcnZlcl9wYXJhbXNfdGVzdChjb250ZXh0LCBjb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhdHR5PVRydWUsIGNvbm5lY3Rpb25jaGF0dHk9VHJ1ZSkKKyAgICAgICAgICAgIGlmIHN1cHBvcnQudmVyYm9zZToKKyAgICAgICAgICAgICAgICBzeXMuc3Rkb3V0LndyaXRlKCIgZ290IGNvbXByZXNzaW9uOiB7IXJ9XG4iLmZvcm1hdChzdGF0c1snY29tcHJlc3Npb24nXSkpCisgICAgICAgICAgICBzZWxmLmFzc2VydEluKHN0YXRzWydjb21wcmVzc2lvbiddLCB7IE5vbmUsICdaTElCJywgJ1JMRScgfSkKKworICAgICAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhoYXNhdHRyKHNzbCwgJ09QX05PX0NPTVBSRVNTSU9OJyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzc2wuT1BfTk9fQ09NUFJFU1NJT04gbmVlZGVkIGZvciB0aGlzIHRlc3QiKQorICAgICAgICBkZWYgdGVzdF9jb21wcmVzc2lvbl9kaXNhYmxlZChzZWxmKToKKyAgICAgICAgICAgIGNvbnRleHQgPSBzc2wuU1NMQ29udGV4dChzc2wuUFJPVE9DT0xfVExTdjEpCisgICAgICAgICAgICBjb250ZXh0LmxvYWRfY2VydF9jaGFpbihDRVJURklMRSkKKyAgICAgICAgICAgIGNvbnRleHQub3B0aW9ucyB8PSBzc2wuT1BfTk9fQ09NUFJFU1NJT04KKyAgICAgICAgICAgIHN0YXRzID0gc2VydmVyX3BhcmFtc190ZXN0KGNvbnRleHQsIGNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGF0dHk9VHJ1ZSwgY29ubmVjdGlvbmNoYXR0eT1UcnVlKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRJcyhzdGF0c1snY29tcHJlc3Npb24nXSwgTm9uZSkKKworICAgICAgICBkZWYgdGVzdF9kaF9wYXJhbXMoc2VsZik6CisgICAgICAgICAgICAjIENoZWNrIHdlIGNhbiBnZXQgYSBjb25uZWN0aW9uIHdpdGggZXBoZW1lcmFsIERpZmZpZS1IZWxsbWFuCisgICAgICAgICAgICBjb250ZXh0ID0gc3NsLlNTTENvbnRleHQoc3NsLlBST1RPQ09MX1RMU3YxKQorICAgICAgICAgICAgY29udGV4dC5sb2FkX2NlcnRfY2hhaW4oQ0VSVEZJTEUpCisgICAgICAgICAgICBjb250ZXh0LmxvYWRfZGhfcGFyYW1zKERIRklMRSkKKyAgICAgICAgICAgIGNvbnRleHQuc2V0X2NpcGhlcnMoImtFREgiKQorICAgICAgICAgICAgc3RhdHMgPSBzZXJ2ZXJfcGFyYW1zX3Rlc3QoY29udGV4dCwgY29udGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXR0eT1UcnVlLCBjb25uZWN0aW9uY2hhdHR5PVRydWUpCisgICAgICAgICAgICBjaXBoZXIgPSBzdGF0c1siY2lwaGVyIl1bMF0KKyAgICAgICAgICAgIHBhcnRzID0gY2lwaGVyLnNwbGl0KCItIikKKyAgICAgICAgICAgIGlmICJBREgiIG5vdCBpbiBwYXJ0cyBhbmQgIkVESCIgbm90IGluIHBhcnRzIGFuZCAiREhFIiBub3QgaW4gcGFydHM6CisgICAgICAgICAgICAgICAgc2VsZi5mYWlsKCJOb24tREggY2lwaGVyOiAiICsgY2lwaGVyWzBdKQorCiAKIGRlZiB0ZXN0X21haW4odmVyYm9zZT1GYWxzZSk6CiAgICAgaWYgc3VwcG9ydC52ZXJib3NlOgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9zdHJpbmcucHkgYi9MaWIvdGVzdC90ZXN0X3N0cmluZy5weQppbmRleCBhMzUyZWUzLi4xNjE1NzMyIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3N0cmluZy5weQorKysgYi9MaWIvdGVzdC90ZXN0X3N0cmluZy5weQpAQCAtMjYsMTUgKzI2LDM4IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyaW5nLmNhcHdvcmRzKCdcdGFCY1x0RGVGXHQnKSwgJ0FiYyBEZWYnKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cmluZy5jYXB3b3JkcygnXHRhQmNcdERlRlx0JywgJ1x0JyksICdcdEFiY1x0RGVmXHQnKQogCi0gICAgZGVmIHRlc3RfZm9ybWF0dGVyKHNlbGYpOgorICAgIGRlZiB0ZXN0X2Jhc2ljX2Zvcm1hdHRlcihzZWxmKToKICAgICAgICAgZm10ID0gc3RyaW5nLkZvcm1hdHRlcigpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZm10LmZvcm1hdCgiZm9vIiksICJmb28iKQotCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZm10LmZvcm1hdCgiZm9vezB9IiwgImJhciIpLCAiZm9vYmFyIikKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmbXQuZm9ybWF0KCJmb297MX17MH0tezF9IiwgImJhciIsIDYpLCAiZm9vNmJhci02IikKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmbXQuZm9ybWF0KCIte2FyZyFyfS0iLCBhcmc9J3Rlc3QnKSwgIi0ndGVzdCctIikKIAotICAgICAgICAjIG92ZXJyaWRlIGdldF92YWx1ZSAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworICAgIGRlZiB0ZXN0X2NvbnZlcnNpb25fc3BlY2lmaWVycyhzZWxmKToKKyAgICAgICAgZm10ID0gc3RyaW5nLkZvcm1hdHRlcigpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZm10LmZvcm1hdCgiLXthcmchcn0tIiwgYXJnPSd0ZXN0JyksICItJ3Rlc3QnLSIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZm10LmZvcm1hdCgiezAhc30iLCAndGVzdCcpLCAndGVzdCcpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIGZtdC5mb3JtYXQsICJ7MCFofSIsICd0ZXN0JykKKworICAgIGRlZiB0ZXN0X25hbWVfbG9va3VwKHNlbGYpOgorICAgICAgICBmbXQgPSBzdHJpbmcuRm9ybWF0dGVyKCkKKyAgICAgICAgY2xhc3MgQW55QXR0cjoKKyAgICAgICAgICAgIGRlZiBfX2dldGF0dHJfXyhzZWxmLCBhdHRyKToKKyAgICAgICAgICAgICAgICByZXR1cm4gYXR0cgorICAgICAgICB4ID0gQW55QXR0cigpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZm10LmZvcm1hdCgiezAubHVtYmVyfXswLmphY2t9IiwgeCksICdsdW1iZXJqYWNrJykKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhBdHRyaWJ1dGVFcnJvcik6CisgICAgICAgICAgICBmbXQuZm9ybWF0KCJ7MC5sdW1iZXJ9ezAuamFja30iLCAnJykKKworICAgIGRlZiB0ZXN0X2luZGV4X2xvb2t1cChzZWxmKToKKyAgICAgICAgZm10ID0gc3RyaW5nLkZvcm1hdHRlcigpCisgICAgICAgIGxvb2t1cCA9IFsiZWdncyIsICJhbmQiLCAic3BhbSJdCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZm10LmZvcm1hdCgiezBbMl19ezBbMF19IiwgbG9va3VwKSwgJ3NwYW1lZ2dzJykKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhJbmRleEVycm9yKToKKyAgICAgICAgICAgIGZtdC5mb3JtYXQoInswWzJdfXswWzBdfSIsIFtdKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKEtleUVycm9yKToKKyAgICAgICAgICAgIGZtdC5mb3JtYXQoInswWzJdfXswWzBdfSIsIHt9KQorCisgICAgZGVmIHRlc3Rfb3ZlcnJpZGVfZ2V0X3ZhbHVlKHNlbGYpOgogICAgICAgICBjbGFzcyBOYW1lc3BhY2VGb3JtYXR0ZXIoc3RyaW5nLkZvcm1hdHRlcik6CiAgICAgICAgICAgICBkZWYgX19pbml0X18oc2VsZiwgbmFtZXNwYWNlPXt9KToKICAgICAgICAgICAgICAgICBzdHJpbmcuRm9ybWF0dGVyLl9faW5pdF9fKHNlbGYpCkBAIC01NCw3ICs3Nyw3IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZm10LmZvcm1hdCgie2dyZWV0aW5nfSwgd29ybGQhIiksICdoZWxsbywgd29ybGQhJykKIAogCi0gICAgICAgICMgb3ZlcnJpZGUgZm9ybWF0X2ZpZWxkICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisgICAgZGVmIHRlc3Rfb3ZlcnJpZGVfZm9ybWF0X2ZpZWxkKHNlbGYpOgogICAgICAgICBjbGFzcyBDYWxsRm9ybWF0dGVyKHN0cmluZy5Gb3JtYXR0ZXIpOgogICAgICAgICAgICAgZGVmIGZvcm1hdF9maWVsZChzZWxmLCB2YWx1ZSwgZm9ybWF0X3NwZWMpOgogICAgICAgICAgICAgICAgIHJldHVybiBmb3JtYXQodmFsdWUoKSwgZm9ybWF0X3NwZWMpCkBAIC02MywxOCArODYsMTggQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmbXQuZm9ybWF0KCcqezB9KicsIGxhbWJkYSA6ICdyZXN1bHQnKSwgJypyZXN1bHQqJykKIAogCi0gICAgICAgICMgb3ZlcnJpZGUgY29udmVydF9maWVsZCAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisgICAgZGVmIHRlc3Rfb3ZlcnJpZGVfY29udmVydF9maWVsZChzZWxmKToKICAgICAgICAgY2xhc3MgWEZvcm1hdHRlcihzdHJpbmcuRm9ybWF0dGVyKToKICAgICAgICAgICAgIGRlZiBjb252ZXJ0X2ZpZWxkKHNlbGYsIHZhbHVlLCBjb252ZXJzaW9uKToKICAgICAgICAgICAgICAgICBpZiBjb252ZXJzaW9uID09ICd4JzoKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE5vbmUKLSAgICAgICAgICAgICAgICByZXR1cm4gc3VwZXIoWEZvcm1hdHRlciwgc2VsZikuY29udmVydF9maWVsZCh2YWx1ZSwgY29udmVyc2lvbikKKyAgICAgICAgICAgICAgICByZXR1cm4gc3VwZXIoKS5jb252ZXJ0X2ZpZWxkKHZhbHVlLCBjb252ZXJzaW9uKQogCiAgICAgICAgIGZtdCA9IFhGb3JtYXR0ZXIoKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGZtdC5mb3JtYXQoInswIXJ9OnswIXh9IiwgJ2ZvbycsICdmb28nKSwgIidmb28nOk5vbmUiKQogCiAKLSAgICAgICAgIyBvdmVycmlkZSBwYXJzZSAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyAgICBkZWYgdGVzdF9vdmVycmlkZV9wYXJzZShzZWxmKToKICAgICAgICAgY2xhc3MgQmFyRm9ybWF0dGVyKHN0cmluZy5Gb3JtYXR0ZXIpOgogICAgICAgICAgICAgIyByZXR1cm5zIGFuIGl0ZXJhYmxlIHRoYXQgY29udGFpbnMgdHVwbGVzIG9mIHRoZSBmb3JtOgogICAgICAgICAgICAgIyAobGl0ZXJhbF90ZXh0LCBmaWVsZF9uYW1lLCBmb3JtYXRfc3BlYywgY29udmVyc2lvbikKQEAgLTkwLDcgKzExMyw3IEBACiAgICAgICAgIGZtdCA9IEJhckZvcm1hdHRlcigpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZm10LmZvcm1hdCgnKnwrMDpeMTBzfConLCAnZm9vJyksICcqICAgZm9vICAgIConKQogCi0gICAgICAgICMgdGVzdCBhbGwgcGFyYW1ldGVycyB1c2VkCisgICAgZGVmIHRlc3RfY2hlY2tfdW51c2VkX2FyZ3Moc2VsZik6CiAgICAgICAgIGNsYXNzIENoZWNrQWxsVXNlZEZvcm1hdHRlcihzdHJpbmcuRm9ybWF0dGVyKToKICAgICAgICAgICAgIGRlZiBjaGVja191bnVzZWRfYXJncyhzZWxmLCB1c2VkX2FyZ3MsIGFyZ3MsIGt3YXJncyk6CiAgICAgICAgICAgICAgICAgIyBUcmFjayB3aGljaCBhcmd1bWVudHMgYWN0dWFsbHkgZ290IHVzZWQKQEAgLTExMiwyOCArMTM1LDEzIEBACiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIGZtdC5mb3JtYXQsICJ7MH0iLCAxMCwgMjAsIGk9MTAwKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBmbXQuZm9ybWF0LCAie2l9IiwgMTAsIDIwLCBpPTEwMCkKIAotICAgIGRlZiB0ZXN0X3Zmb3JtYXRfYXNzZXJ0KHNlbGYpOgotICAgICAgICBjbHMgPSBzdHJpbmcuRm9ybWF0dGVyKCkKLSAgICAgICAga3dhcmdzID0gewotICAgICAgICAgICAgImkiOiAxMDAKLSAgICAgICAgfQotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBjbHMuX3Zmb3JtYXQsCi0gICAgICAgICAgICAgICAgY2xzLmZvcm1hdCwgInswfSIsIGt3YXJncywgc2V0KCksIC0yKQotCi0gICAgZGVmIHRlc3RfY29udmVydF9maWVsZChzZWxmKToKLSAgICAgICAgY2xzID0gc3RyaW5nLkZvcm1hdHRlcigpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY2xzLmZvcm1hdCgiezAhc30iLCAnZm9vJyksICdmb28nKQotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBjbHMuZm9ybWF0LCAiezAhaH0iLCAnZm9vJykKLQotICAgIGRlZiB0ZXN0X2dldF9maWVsZChzZWxmKToKLSAgICAgICAgY2xzID0gc3RyaW5nLkZvcm1hdHRlcigpCi0gICAgICAgIGNsYXNzIE15Q2xhc3M6Ci0gICAgICAgICAgICBuYW1lID0gJ2x1bWJlcmphY2snCi0gICAgICAgIHggPSBNeUNsYXNzKCkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbHMuZm9ybWF0KCJ7MC5uYW1lfSIsIHgpLCAnbHVtYmVyamFjaycpCi0KLSAgICAgICAgbG9va3VwID0gWyJlZ2dzIiwgImFuZCIsICJzcGFtIl0KLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbHMuZm9ybWF0KCJ7MFsyXX0iLCBsb29rdXApLCAnc3BhbScpCisgICAgZGVmIHRlc3RfdmZvcm1hdF9yZWN1cnNpb25fbGltaXQoc2VsZik6CisgICAgICAgIGZtdCA9IHN0cmluZy5Gb3JtYXR0ZXIoKQorICAgICAgICBhcmdzID0gKCkKKyAgICAgICAga3dhcmdzID0gZGljdChpPTEwMCkKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yKSBhcyBlcnI6CisgICAgICAgICAgICBmbXQuX3Zmb3JtYXQoIntpfSIsIGFyZ3MsIGt3YXJncywgc2V0KCksIC0xKQorICAgICAgICBzZWxmLmFzc2VydEluKCJyZWN1cnNpb24iLCBzdHIoZXJyLmV4Y2VwdGlvbikpCiAKIAogZGVmIHRlc3RfbWFpbigpOgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9zdHJsaXQucHkgYi9MaWIvdGVzdC90ZXN0X3N0cmxpdC5weQppbmRleCA2YmRjNmU0Li4xZjA0MWM4IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3N0cmxpdC5weQorKysgYi9MaWIvdGVzdC90ZXN0X3N0cmxpdC5weQpAQCAtMiwxMCArMiwxMCBAQAogCiBUaGVyZSBhcmUgZm91ciB0eXBlcyBvZiBzdHJpbmcgbGl0ZXJhbHM6CiAKLSAgICAnYWJjJyAgIC0tIG5vcm1hbCBzdHIKLSAgICByJ2FiYycgIC0tIHJhdyBzdHIKLSAgICBiJ3h5eicgIC0tIG5vcm1hbCBieXRlcwotICAgIGJyJ3h5eicgLS0gcmF3IGJ5dGVzCisgICAgJ2FiYycgICAgICAgICAgICAgLS0gbm9ybWFsIHN0cgorICAgIHInYWJjJyAgICAgICAgICAgIC0tIHJhdyBzdHIKKyAgICBiJ3h5eicgICAgICAgICAgICAtLSBub3JtYWwgYnl0ZXMKKyAgICBicid4eXonIHwgcmIneHl6JyAtLSByYXcgYnl0ZXMKIAogVGhlIGRpZmZlcmVuY2UgYmV0d2VlbiBub3JtYWwgYW5kIHJhdyBzdHJpbmdzIGlzIG9mIGNvdXJzZSB0aGF0IGluIGEKIHJhdyBzdHJpbmcsIFwgZXNjYXBlcyAod2hpbGUgc3RpbGwgdXNlZCB0byBkZXRlcm1pbmUgdGhlIGVuZCBvZiB0aGUKQEAgLTEwMywxMiArMTAzLDI1IEBACiAKICAgICBkZWYgdGVzdF9ldmFsX2J5dGVzX3JhdyhzZWxmKToKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChldmFsKCIiIiBicid4JyAiIiIpLCBiJ3gnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV2YWwoIiIiIHJiJ3gnICIiIiksIGIneCcpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXZhbChyIiIiIGJyJ1x4MDEnICIiIiksIGInXFwnICsgYid4MDEnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV2YWwociIiIiByYidceDAxJyAiIiIpLCBiJ1xcJyArIGIneDAxJykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChldmFsKCIiIiBicidceDAxJyAiIiIpLCBieXRlKDEpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV2YWwoIiIiIHJiJ1x4MDEnICIiIiksIGJ5dGUoMSkpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXZhbChyIiIiIGJyJ1x4ODEnICIiIiksIGIiXFwiICsgYiJ4ODEiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV2YWwociIiIiByYidceDgxJyAiIiIpLCBiIlxcIiArIGIieDgxIikKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoU3ludGF4RXJyb3IsIGV2YWwsICIiIiBicidceDgxJyAiIiIpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFN5bnRheEVycm9yLCBldmFsLCAiIiIgcmInXHg4MScgIiIiKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV2YWwociIiIiBicidcdTE4ODEnICIiIiksIGIiXFwiICsgYiJ1MTg4MSIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXZhbChyIiIiIHJiJ1x1MTg4MScgIiIiKSwgYiJcXCIgKyBiInUxODgxIikKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoU3ludGF4RXJyb3IsIGV2YWwsICIiIiBicidcdTE4ODEnICIiIikKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoU3ludGF4RXJyb3IsIGV2YWwsICIiIiByYidcdTE4ODEnICIiIikKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoU3ludGF4RXJyb3IsIGV2YWwsICIiIiBiYicnICIiIikKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoU3ludGF4RXJyb3IsIGV2YWwsICIiIiBycicnICIiIikKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoU3ludGF4RXJyb3IsIGV2YWwsICIiIiBicnInJyAiIiIpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFN5bnRheEVycm9yLCBldmFsLCAiIiIgYmJyJycgIiIiKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhTeW50YXhFcnJvciwgZXZhbCwgIiIiIHJyYicnICIiIikKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoU3ludGF4RXJyb3IsIGV2YWwsICIiIiByYmInJyAiIiIpCiAKICAgICBkZWYgY2hlY2tfZW5jb2Rpbmcoc2VsZiwgZW5jb2RpbmcsIGV4dHJhPSIiKToKICAgICAgICAgbW9kbmFtZSA9ICJ4eF8iICsgZW5jb2RpbmcucmVwbGFjZSgiLSIsICJfIikKQEAgLTEzMSw3ICsxNDQsNyBAQAogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhTeW50YXhFcnJvciwgc2VsZi5jaGVja19lbmNvZGluZywgInV0Zi04IiwgZXh0cmEpCiAKICAgICBkZWYgdGVzdF9maWxlX3V0Zjgoc2VsZik6Ci0gICAgICAgIHNlbGYuY2hlY2tfZW5jb2RpbmcoInV0ZjgiKQorICAgICAgICBzZWxmLmNoZWNrX2VuY29kaW5nKCJ1dGYtOCIpCiAKICAgICBkZWYgdGVzdF9maWxlX2lzb184ODU5XzEoc2VsZik6CiAgICAgICAgIHNlbGYuY2hlY2tfZW5jb2RpbmcoImlzby04ODU5LTEiKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9zdHJ1Y3QucHkgYi9MaWIvdGVzdC90ZXN0X3N0cnVjdC5weQppbmRleCAyY2NhYWQyLi5kYzc1ODU4IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3N0cnVjdC5weQorKysgYi9MaWIvdGVzdC90ZXN0X3N0cnVjdC5weQpAQCAtOCw5ICs4LDE5IEBACiBJU0JJR0VORElBTiA9IHN5cy5ieXRlb3JkZXIgPT0gImJpZyIKIElTMzJCSVQgPSBzeXMubWF4c2l6ZSA9PSAweDdmZmZmZmZmCiAKLWludGVnZXJfY29kZXMgPSAnYicsICdCJywgJ2gnLCAnSCcsICdpJywgJ0knLCAnbCcsICdMJywgJ3EnLCAnUScKK2ludGVnZXJfY29kZXMgPSAnYicsICdCJywgJ2gnLCAnSCcsICdpJywgJ0knLCAnbCcsICdMJywgJ3EnLCAnUScsICduJywgJ04nCiBieXRlb3JkZXJzID0gJycsICdAJywgJz0nLCAnPCcsICc+JywgJyEnCiAKK2RlZiBpdGVyX2ludGVnZXJfZm9ybWF0cyhieXRlb3JkZXJzPWJ5dGVvcmRlcnMpOgorICAgIGZvciBjb2RlIGluIGludGVnZXJfY29kZXM6CisgICAgICAgIGZvciBieXRlb3JkZXIgaW4gYnl0ZW9yZGVyczoKKyAgICAgICAgICAgIGlmIChieXRlb3JkZXIgaW4gKCcnLCAnQCcpIGFuZCBjb2RlIGluICgncScsICdRJykgYW5kCisgICAgICAgICAgICAgICAgbm90IEhBVkVfTE9OR19MT05HKToKKyAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgaWYgKGJ5dGVvcmRlciBub3QgaW4gKCcnLCAnQCcpIGFuZCBjb2RlIGluICgnbicsICdOJykpOgorICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICB5aWVsZCBjb2RlLCBieXRlb3JkZXIKKwogIyBOYXRpdmUgJ3EnIHBhY2tpbmcgaXNuJ3QgYXZhaWxhYmxlIG9uIHN5c3RlbXMgdGhhdCBkb24ndCBoYXZlIHRoZSBDCiAjIGxvbmcgbG9uZyB0eXBlLgogdHJ5OgpAQCAtMTQxLDE0ICsxNTEsMTMgQEAKICAgICAgICAgICAgIH0KIAogICAgICAgICAjIHN0YW5kYXJkIGludGVnZXIgc2l6ZXMKLSAgICAgICAgZm9yIGNvZGUgaW4gaW50ZWdlcl9jb2RlczoKLSAgICAgICAgICAgIGZvciBieXRlb3JkZXIgaW4gJz0nLCAnPCcsICc+JywgJyEnOgotICAgICAgICAgICAgICAgIGZvcm1hdCA9IGJ5dGVvcmRlcitjb2RlCi0gICAgICAgICAgICAgICAgc2l6ZSA9IHN0cnVjdC5jYWxjc2l6ZShmb3JtYXQpCi0gICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzaXplLCBleHBlY3RlZF9zaXplW2NvZGVdKQorICAgICAgICBmb3IgY29kZSwgYnl0ZW9yZGVyIGluIGl0ZXJfaW50ZWdlcl9mb3JtYXRzKCgnPScsICc8JywgJz4nLCAnIScpKToKKyAgICAgICAgICAgIGZvcm1hdCA9IGJ5dGVvcmRlcitjb2RlCisgICAgICAgICAgICBzaXplID0gc3RydWN0LmNhbGNzaXplKGZvcm1hdCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2l6ZSwgZXhwZWN0ZWRfc2l6ZVtjb2RlXSkKIAogICAgICAgICAjIG5hdGl2ZSBpbnRlZ2VyIHNpemVzCi0gICAgICAgIG5hdGl2ZV9wYWlycyA9ICdiQicsICdoSCcsICdpSScsICdsTCcKKyAgICAgICAgbmF0aXZlX3BhaXJzID0gJ2JCJywgJ2hIJywgJ2lJJywgJ2xMJywgJ25OJwogICAgICAgICBpZiBIQVZFX0xPTkdfTE9ORzoKICAgICAgICAgICAgIG5hdGl2ZV9wYWlycyArPSAncVEnLAogICAgICAgICBmb3IgZm9ybWF0X3BhaXIgaW4gbmF0aXZlX3BhaXJzOgpAQCAtMTY2LDkgKzE3NSwxMSBAQAogICAgICAgICBpZiBIQVZFX0xPTkdfTE9ORzoKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0TGVzc0VxdWFsKDgsIHN0cnVjdC5jYWxjc2l6ZSgncScpKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRMZXNzRXF1YWwoc3RydWN0LmNhbGNzaXplKCdsJyksIHN0cnVjdC5jYWxjc2l6ZSgncScpKQorICAgICAgICBzZWxmLmFzc2VydEdyZWF0ZXJFcXVhbChzdHJ1Y3QuY2FsY3NpemUoJ24nKSwgc3RydWN0LmNhbGNzaXplKCdpJykpCisgICAgICAgIHNlbGYuYXNzZXJ0R3JlYXRlckVxdWFsKHN0cnVjdC5jYWxjc2l6ZSgnbicpLCBzdHJ1Y3QuY2FsY3NpemUoJ1AnKSkKIAogICAgIGRlZiB0ZXN0X2ludGVnZXJzKHNlbGYpOgotICAgICAgICAjIEludGVnZXIgdGVzdHMgKGJCaEhpSWxMcVEpLgorICAgICAgICAjIEludGVnZXIgdGVzdHMgKGJCaEhpSWxMcVFuTikuCiAgICAgICAgIGltcG9ydCBiaW5hc2NpaQogCiAgICAgICAgIGNsYXNzIEludFRlc3Rlcih1bml0dGVzdC5UZXN0Q2FzZSk6CkBAIC0xODIsMTEgKzE5MywxMSBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuYnl0ZW9yZGVyKQogICAgICAgICAgICAgICAgIHNlbGYuYnl0ZXNpemUgPSBzdHJ1Y3QuY2FsY3NpemUoZm9ybWF0KQogICAgICAgICAgICAgICAgIHNlbGYuYml0c2l6ZSA9IHNlbGYuYnl0ZXNpemUgKiA4Ci0gICAgICAgICAgICAgICAgaWYgc2VsZi5jb2RlIGluIHR1cGxlKCdiaGlscScpOgorICAgICAgICAgICAgICAgIGlmIHNlbGYuY29kZSBpbiB0dXBsZSgnYmhpbHFuJyk6CiAgICAgICAgICAgICAgICAgICAgIHNlbGYuc2lnbmVkID0gVHJ1ZQogICAgICAgICAgICAgICAgICAgICBzZWxmLm1pbl92YWx1ZSA9IC0oMioqKHNlbGYuYml0c2l6ZS0xKSkKICAgICAgICAgICAgICAgICAgICAgc2VsZi5tYXhfdmFsdWUgPSAyKiooc2VsZi5iaXRzaXplLTEpIC0gMQotICAgICAgICAgICAgICAgIGVsaWYgc2VsZi5jb2RlIGluIHR1cGxlKCdCSElMUScpOgorICAgICAgICAgICAgICAgIGVsaWYgc2VsZi5jb2RlIGluIHR1cGxlKCdCSElMUU4nKToKICAgICAgICAgICAgICAgICAgICAgc2VsZi5zaWduZWQgPSBGYWxzZQogICAgICAgICAgICAgICAgICAgICBzZWxmLm1pbl92YWx1ZSA9IDAKICAgICAgICAgICAgICAgICAgICAgc2VsZi5tYXhfdmFsdWUgPSAyKipzZWxmLmJpdHNpemUgLSAxCkBAIC0zMTYsMTQgKzMyNywyMyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QucGFjaywgc2VsZi5mb3JtYXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iaikKIAotICAgICAgICBmb3IgY29kZSBpbiBpbnRlZ2VyX2NvZGVzOgotICAgICAgICAgICAgZm9yIGJ5dGVvcmRlciBpbiBieXRlb3JkZXJzOgotICAgICAgICAgICAgICAgIGlmIChieXRlb3JkZXIgaW4gKCcnLCAnQCcpIGFuZCBjb2RlIGluICgncScsICdRJykgYW5kCi0gICAgICAgICAgICAgICAgICAgIG5vdCBIQVZFX0xPTkdfTE9ORyk6Ci0gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgIGZvciBjb2RlLCBieXRlb3JkZXIgaW4gaXRlcl9pbnRlZ2VyX2Zvcm1hdHMoKToKKyAgICAgICAgICAgIGZvcm1hdCA9IGJ5dGVvcmRlcitjb2RlCisgICAgICAgICAgICB0ID0gSW50VGVzdGVyKGZvcm1hdCkKKyAgICAgICAgICAgIHQucnVuKCkKKworICAgIGRlZiB0ZXN0X25OX2NvZGUoc2VsZik6CisgICAgICAgICMgbiBhbmQgTiBkb24ndCBleGlzdCBpbiBzdGFuZGFyZCBzaXplcworICAgICAgICBkZWYgYXNzZXJ0U3RydWN0RXJyb3IoZnVuYywgKmFyZ3MsICoqa3dhcmdzKToKKyAgICAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoc3RydWN0LmVycm9yKSBhcyBjbToKKyAgICAgICAgICAgICAgICBmdW5jKCphcmdzLCAqKmt3YXJncykKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4oImJhZCBjaGFyIGluIHN0cnVjdCBmb3JtYXQiLCBzdHIoY20uZXhjZXB0aW9uKSkKKyAgICAgICAgZm9yIGNvZGUgaW4gJ25OJzoKKyAgICAgICAgICAgIGZvciBieXRlb3JkZXIgaW4gKCc9JywgJzwnLCAnPicsICchJyk6CiAgICAgICAgICAgICAgICAgZm9ybWF0ID0gYnl0ZW9yZGVyK2NvZGUKLSAgICAgICAgICAgICAgICB0ID0gSW50VGVzdGVyKGZvcm1hdCkKLSAgICAgICAgICAgICAgICB0LnJ1bigpCisgICAgICAgICAgICAgICAgYXNzZXJ0U3RydWN0RXJyb3Ioc3RydWN0LmNhbGNzaXplLCBmb3JtYXQpCisgICAgICAgICAgICAgICAgYXNzZXJ0U3RydWN0RXJyb3Ioc3RydWN0LnBhY2ssIGZvcm1hdCwgMCkKKyAgICAgICAgICAgICAgICBhc3NlcnRTdHJ1Y3RFcnJvcihzdHJ1Y3QudW5wYWNrLCBmb3JtYXQsIGIiIikKIAogICAgIGRlZiB0ZXN0X3BfY29kZShzZWxmKToKICAgICAgICAgIyBUZXN0IHAgKCJQYXNjYWwgc3RyaW5nIikgY29kZS4KQEAgLTM3NywxNCArMzk3LDEwIEBACiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE92ZXJmbG93RXJyb3IsIHN0cnVjdC5wYWNrLCAiPmYiLCBiaWcpCiAKICAgICBkZWYgdGVzdF8xNTMwNTU5KHNlbGYpOgotICAgICAgICBmb3IgYnl0ZW9yZGVyIGluICcnLCAnQCcsICc9JywgJzwnLCAnPicsICchJzoKLSAgICAgICAgICAgIGZvciBjb2RlIGluIGludGVnZXJfY29kZXM6Ci0gICAgICAgICAgICAgICAgaWYgKGJ5dGVvcmRlciBpbiAoJycsICdAJykgYW5kIGNvZGUgaW4gKCdxJywgJ1EnKSBhbmQKLSAgICAgICAgICAgICAgICAgICAgbm90IEhBVkVfTE9OR19MT05HKToKLSAgICAgICAgICAgICAgICAgICAgY29udGludWUKLSAgICAgICAgICAgICAgICBmb3JtYXQgPSBieXRlb3JkZXIgKyBjb2RlCi0gICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoc3RydWN0LmVycm9yLCBzdHJ1Y3QucGFjaywgZm9ybWF0LCAxLjApCi0gICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoc3RydWN0LmVycm9yLCBzdHJ1Y3QucGFjaywgZm9ybWF0LCAxLjUpCisgICAgICAgIGZvciBjb2RlLCBieXRlb3JkZXIgaW4gaXRlcl9pbnRlZ2VyX2Zvcm1hdHMoKToKKyAgICAgICAgICAgIGZvcm1hdCA9IGJ5dGVvcmRlciArIGNvZGUKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKHN0cnVjdC5lcnJvciwgc3RydWN0LnBhY2ssIGZvcm1hdCwgMS4wKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoc3RydWN0LmVycm9yLCBzdHJ1Y3QucGFjaywgZm9ybWF0LCAxLjUpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKHN0cnVjdC5lcnJvciwgc3RydWN0LnBhY2ssICdQJywgMS4wKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhzdHJ1Y3QuZXJyb3IsIHN0cnVjdC5wYWNrLCAnUCcsIDEuNSkKIApkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF9zdWJwcm9jZXNzLnB5IGIvTGliL3Rlc3QvdGVzdF9zdWJwcm9jZXNzLnB5CmluZGV4IDYxNTBlODguLjBmOGQxY2EgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3Rfc3VicHJvY2Vzcy5weQorKysgYi9MaWIvdGVzdC90ZXN0X3N1YnByb2Nlc3MucHkKQEAgLTYwLDYgKzYwLDggQEAKICAgICAgICAgIyBzaHV0ZG93biB0aW1lLiAgVGhhdCBmcnVzdHJhdGVzIHRlc3RzIHRyeWluZyB0byBjaGVjayBzdGRlcnIgcHJvZHVjZWQKICAgICAgICAgIyBmcm9tIGEgc3Bhd25lZCBQeXRob24gcHJvY2Vzcy4KICAgICAgICAgYWN0dWFsID0gc3VwcG9ydC5zdHJpcF9weXRob25fc3RkZXJyKHN0ZGVycikKKyAgICAgICAgIyBzdHJpcF9weXRob25fc3RkZXJyIGFsc28gc3RyaXBzIHdoaXRlc3BhY2UsIHNvIHdlIGRvIHRvby4KKyAgICAgICAgZXhwZWN0ZWQgPSBleHBlY3RlZC5zdHJpcCgpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYWN0dWFsLCBleHBlY3RlZCwgbXNnKQogCiAKQEAgLTcxLDYgKzczLDE1IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaW1wb3J0IHN5czsgc3lzLmV4aXQoNDcpIl0pCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmMsIDQ3KQogCisgICAgZGVmIHRlc3RfY2FsbF90aW1lb3V0KHNlbGYpOgorICAgICAgICAjIGNhbGwoKSBmdW5jdGlvbiB3aXRoIHRpbWVvdXQgYXJndW1lbnQ7IHdlIHdhbnQgdG8gdGVzdCB0aGF0IHRoZSBjaGlsZAorICAgICAgICAjIHByb2Nlc3MgZ2V0cyBraWxsZWQgd2hlbiB0aGUgdGltZW91dCBleHBpcmVzLiAgSWYgdGhlIGNoaWxkIGlzbid0CisgICAgICAgICMga2lsbGVkLCB0aGlzIGNhbGwgd2lsbCBkZWFkbG9jayBzaW5jZSBzdWJwcm9jZXNzLmNhbGwgd2FpdHMgZm9yIHRoZQorICAgICAgICAjIGNoaWxkLgorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhzdWJwcm9jZXNzLlRpbWVvdXRFeHBpcmVkLCBzdWJwcm9jZXNzLmNhbGwsCisgICAgICAgICAgICAgICAgICAgICAgICAgIFtzeXMuZXhlY3V0YWJsZSwgIi1jIiwgIndoaWxlIFRydWU6IHBhc3MiXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdGltZW91dD0wLjEpCisKICAgICBkZWYgdGVzdF9jaGVja19jYWxsX3plcm8oc2VsZik6CiAgICAgICAgICMgY2hlY2tfY2FsbCgpIGZ1bmN0aW9uIHdpdGggemVybyByZXR1cm4gY29kZQogICAgICAgICByYyA9IHN1YnByb2Nlc3MuY2hlY2tfY2FsbChbc3lzLmV4ZWN1dGFibGUsICItYyIsCkBAIC0xMTMsNiArMTI0LDIxIEBACiAgICAgICAgICAgICBzZWxmLmZhaWwoIkV4cGVjdGVkIFZhbHVlRXJyb3Igd2hlbiBzdGRvdXQgYXJnIHN1cHBsaWVkLiIpCiAgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ3N0ZG91dCcsIGMuZXhjZXB0aW9uLmFyZ3NbMF0pCiAKKyAgICBkZWYgdGVzdF9jaGVja19vdXRwdXRfdGltZW91dChzZWxmKToKKyAgICAgICAgIyBjaGVja19vdXRwdXQoKSBmdW5jdGlvbiB3aXRoIHRpbWVvdXQgYXJnCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoc3VicHJvY2Vzcy5UaW1lb3V0RXhwaXJlZCkgYXMgYzoKKyAgICAgICAgICAgIG91dHB1dCA9IHN1YnByb2Nlc3MuY2hlY2tfb3V0cHV0KAorICAgICAgICAgICAgICAgICAgICBbc3lzLmV4ZWN1dGFibGUsICItYyIsCisgICAgICAgICAgICAgICAgICAgICAiaW1wb3J0IHN5cywgdGltZVxuIgorICAgICAgICAgICAgICAgICAgICAgInN5cy5zdGRvdXQud3JpdGUoJ0JERkwnKVxuIgorICAgICAgICAgICAgICAgICAgICAgInN5cy5zdGRvdXQuZmx1c2goKVxuIgorICAgICAgICAgICAgICAgICAgICAgInRpbWUuc2xlZXAoMzYwMCkiXSwKKyAgICAgICAgICAgICAgICAgICAgIyBTb21lIGhlYXZpbHkgbG9hZGVkIGJ1aWxkYm90cyAoc3BhcmMgRGViaWFuIDMueCkgcmVxdWlyZQorICAgICAgICAgICAgICAgICAgICAjIHRoaXMgbXVjaCB0aW1lIHRvIHN0YXJ0IGFuZCBwcmludC4KKyAgICAgICAgICAgICAgICAgICAgdGltZW91dD0zKQorICAgICAgICAgICAgc2VsZi5mYWlsKCJFeHBlY3RlZCBUaW1lb3V0RXhwaXJlZC4iKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGMuZXhjZXB0aW9uLm91dHB1dCwgYidCREZMJykKKwogICAgIGRlZiB0ZXN0X2NhbGxfa3dhcmdzKHNlbGYpOgogICAgICAgICAjIGNhbGwoKSBmdW5jdGlvbiB3aXRoIGtleXdvcmQgYXJncwogICAgICAgICBuZXdlbnYgPSBvcy5lbnZpcm9uLmNvcHkoKQpAQCAtMzEyLDYgKzMzOCwzMSBAQAogICAgICAgICByYyA9IHN1YnByb2Nlc3MuY2FsbChbc3lzLmV4ZWN1dGFibGUsICItYyIsIGNtZF0sIHN0ZG91dD0xKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJjLCAyKQogCisgICAgZGVmIHRlc3Rfc3Rkb3V0X2Rldm51bGwoc2VsZik6CisgICAgICAgIHAgPSBzdWJwcm9jZXNzLlBvcGVuKFtzeXMuZXhlY3V0YWJsZSwgIi1jIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmb3IgaSBpbiByYW5nZSgxMDI0MCk6JworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3ByaW50KCJ4IiAqIDEwMjQpJ10sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGRvdXQ9c3VicHJvY2Vzcy5ERVZOVUxMKQorICAgICAgICBwLndhaXQoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHAuc3Rkb3V0LCBOb25lKQorCisgICAgZGVmIHRlc3Rfc3RkZXJyX2Rldm51bGwoc2VsZik6CisgICAgICAgIHAgPSBzdWJwcm9jZXNzLlBvcGVuKFtzeXMuZXhlY3V0YWJsZSwgIi1jIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpbXBvcnQgc3lzXG4nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZm9yIGkgaW4gcmFuZ2UoMTAyNDApOicKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzeXMuc3RkZXJyLndyaXRlKCJ4IiAqIDEwMjQpJ10sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGRlcnI9c3VicHJvY2Vzcy5ERVZOVUxMKQorICAgICAgICBwLndhaXQoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHAuc3RkZXJyLCBOb25lKQorCisgICAgZGVmIHRlc3Rfc3RkaW5fZGV2bnVsbChzZWxmKToKKyAgICAgICAgcCA9IHN1YnByb2Nlc3MuUG9wZW4oW3N5cy5leGVjdXRhYmxlLCAiLWMiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ltcG9ydCBzeXM7JworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3N5cy5zdGRpbi5yZWFkKDEpJ10sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGRpbj1zdWJwcm9jZXNzLkRFVk5VTEwpCisgICAgICAgIHAud2FpdCgpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocC5zdGRpbiwgTm9uZSkKKwogICAgIGRlZiB0ZXN0X2N3ZChzZWxmKToKICAgICAgICAgdG1wZGlyID0gdGVtcGZpbGUuZ2V0dGVtcGRpcigpCiAgICAgICAgICMgV2UgY2Fubm90IHVzZSBvcy5wYXRoLnJlYWxwYXRoIHRvIGNhbm9uaWNhbGl6ZSB0aGUgcGF0aCwKQEAgLTQwMCw2ICs0NTEsNDEgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdGRvdXQsIGIiYmFuYW5hIikKICAgICAgICAgc2VsZi5hc3NlcnRTdGRlcnJFcXVhbChzdGRlcnIsIGIicGluZWFwcGxlIikKIAorICAgIGRlZiB0ZXN0X2NvbW11bmljYXRlX3RpbWVvdXQoc2VsZik6CisgICAgICAgIHAgPSBzdWJwcm9jZXNzLlBvcGVuKFtzeXMuZXhlY3V0YWJsZSwgIi1jIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpbXBvcnQgc3lzLG9zLHRpbWU7JworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3N5cy5zdGRlcnIud3JpdGUoInBpbmVhcHBsZVxcbiIpOycKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0aW1lLnNsZWVwKDEpOycKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzeXMuc3RkZXJyLndyaXRlKCJwZWFyXFxuIik7JworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3N5cy5zdGRvdXQud3JpdGUoc3lzLnN0ZGluLnJlYWQoKSknXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5pdmVyc2FsX25ld2xpbmVzPVRydWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZGluPXN1YnByb2Nlc3MuUElQRSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Rkb3V0PXN1YnByb2Nlc3MuUElQRSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RkZXJyPXN1YnByb2Nlc3MuUElQRSkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoc3VicHJvY2Vzcy5UaW1lb3V0RXhwaXJlZCwgcC5jb21tdW5pY2F0ZSwgImJhbmFuYSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVvdXQ9MC4zKQorICAgICAgICAjIE1ha2Ugc3VyZSB3ZSBjYW4ga2VlcCB3YWl0aW5nIGZvciBpdCwgYW5kIHRoYXQgd2UgZ2V0IHRoZSB3aG9sZSBvdXRwdXQKKyAgICAgICAgIyBhZnRlciBpdCBjb21wbGV0ZXMuCisgICAgICAgIChzdGRvdXQsIHN0ZGVycikgPSBwLmNvbW11bmljYXRlKCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdGRvdXQsICJiYW5hbmEiKQorICAgICAgICBzZWxmLmFzc2VydFN0ZGVyckVxdWFsKHN0ZGVyci5lbmNvZGUoKSwgYiJwaW5lYXBwbGVcbnBlYXJcbiIpCisKKyAgICBkZWYgdGVzdF9jb21tdW5pY2F0ZV90aW1lb3V0X2xhcmdlX291cHV0KHNlbGYpOgorICAgICAgICAjIFRlc3QgYW4gZXhwaXJpbmcgdGltZW91dCB3aGlsZSB0aGUgY2hpbGQgaXMgb3V0cHV0dGluZyBsb3RzIG9mIGRhdGEuCisgICAgICAgIHAgPSBzdWJwcm9jZXNzLlBvcGVuKFtzeXMuZXhlY3V0YWJsZSwgIi1jIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpbXBvcnQgc3lzLG9zLHRpbWU7JworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3N5cy5zdGRvdXQud3JpdGUoImEiICogKDY0ICogMTAyNCkpOycKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0aW1lLnNsZWVwKDAuMik7JworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3N5cy5zdGRvdXQud3JpdGUoImEiICogKDY0ICogMTAyNCkpOycKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0aW1lLnNsZWVwKDAuMik7JworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3N5cy5zdGRvdXQud3JpdGUoImEiICogKDY0ICogMTAyNCkpOycKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0aW1lLnNsZWVwKDAuMik7JworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3N5cy5zdGRvdXQud3JpdGUoImEiICogKDY0ICogMTAyNCkpOyddLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGRvdXQ9c3VicHJvY2Vzcy5QSVBFKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhzdWJwcm9jZXNzLlRpbWVvdXRFeHBpcmVkLCBwLmNvbW11bmljYXRlLCB0aW1lb3V0PTAuNCkKKyAgICAgICAgKHN0ZG91dCwgXykgPSBwLmNvbW11bmljYXRlKCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oc3Rkb3V0KSwgNCAqIDY0ICogMTAyNCkKKwogICAgICMgVGVzdCBmb3IgdGhlIGZkIGxlYWsgcmVwb3J0ZWQgaW4gaHR0cDovL2J1Z3MucHl0aG9uLm9yZy9pc3N1ZTI3OTEuCiAgICAgZGVmIHRlc3RfY29tbXVuaWNhdGVfcGlwZV9mZF9sZWFrKHNlbGYpOgogICAgICAgICBmb3Igc3RkaW5fcGlwZSBpbiAoRmFsc2UsIFRydWUpOgpAQCAtNDM2LDI0ICs1MjIsMjEgQEAKICAgICAgICAgIyBUaGlzIHRlc3Qgd2lsbCBwcm9iYWJseSBkZWFkbG9jayByYXRoZXIgdGhhbiBmYWlsLCBpZgogICAgICAgICAjIGNvbW11bmljYXRlKCkgZG9lcyBub3Qgd29yayBwcm9wZXJseS4KICAgICAgICAgeCwgeSA9IG9zLnBpcGUoKQotICAgICAgICBpZiBtc3dpbmRvd3M6Ci0gICAgICAgICAgICBwaXBlX2J1ZiA9IDUxMgotICAgICAgICBlbHNlOgotICAgICAgICAgICAgcGlwZV9idWYgPSBvcy5mcGF0aGNvbmYoeCwgIlBDX1BJUEVfQlVGIikKICAgICAgICAgb3MuY2xvc2UoeCkKICAgICAgICAgb3MuY2xvc2UoeSkKICAgICAgICAgcCA9IHN1YnByb2Nlc3MuUG9wZW4oW3N5cy5leGVjdXRhYmxlLCAiLWMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ltcG9ydCBzeXMsb3M7JwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3N5cy5zdGRvdXQud3JpdGUoc3lzLnN0ZGluLnJlYWQoNDcpKTsnCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc3lzLnN0ZGVyci53cml0ZSgieHl6IiolZCk7JwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3N5cy5zdGRvdXQud3JpdGUoc3lzLnN0ZGluLnJlYWQoKSknICUgcGlwZV9idWZdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3N5cy5zdGRlcnIud3JpdGUoIngiICogJWQpOycKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzeXMuc3Rkb3V0LndyaXRlKHN5cy5zdGRpbi5yZWFkKCkpJyAlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdXBwb3J0LlBJUEVfTUFYX1NJWkVdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGRpbj1zdWJwcm9jZXNzLlBJUEUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZG91dD1zdWJwcm9jZXNzLlBJUEUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZGVycj1zdWJwcm9jZXNzLlBJUEUpCiAgICAgICAgIHNlbGYuYWRkQ2xlYW51cChwLnN0ZG91dC5jbG9zZSkKICAgICAgICAgc2VsZi5hZGRDbGVhbnVwKHAuc3RkZXJyLmNsb3NlKQogICAgICAgICBzZWxmLmFkZENsZWFudXAocC5zdGRpbi5jbG9zZSkKLSAgICAgICAgc3RyaW5nX3RvX3dyaXRlID0gYiJhYmMiKnBpcGVfYnVmCisgICAgICAgIHN0cmluZ190b193cml0ZSA9IGIiYSIgKiBzdXBwb3J0LlBJUEVfTUFYX1NJWkUKICAgICAgICAgKHN0ZG91dCwgc3RkZXJyKSA9IHAuY29tbXVuaWNhdGUoc3RyaW5nX3RvX3dyaXRlKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0ZG91dCwgc3RyaW5nX3RvX3dyaXRlKQogCkBAIC02MDMsMzAgKzY4NiwzMiBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN1YnByb2Nlc3MubGlzdDJjbWRsaW5lKFsnYWInLCAnJ10pLAogICAgICAgICAgICAgICAgICAgICAgICAgICdhYiAiIicpCiAKLQogICAgIGRlZiB0ZXN0X3BvbGwoc2VsZik6Ci0gICAgICAgIHAgPSBzdWJwcm9jZXNzLlBvcGVuKFtzeXMuZXhlY3V0YWJsZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIi1jIiwgImltcG9ydCB0aW1lOyB0aW1lLnNsZWVwKDEpIl0pCi0gICAgICAgIGNvdW50ID0gMAotICAgICAgICB3aGlsZSBwLnBvbGwoKSBpcyBOb25lOgotICAgICAgICAgICAgdGltZS5zbGVlcCgwLjEpCi0gICAgICAgICAgICBjb3VudCArPSAxCi0gICAgICAgICMgV2UgZXhwZWN0IHRoYXQgdGhlIHBvbGwgbG9vcCBwcm9iYWJseSB3ZW50IGFyb3VuZCBhYm91dCAxMCB0aW1lcywKLSAgICAgICAgIyBidXQsIGJhc2VkIG9uIHN5c3RlbSBzY2hlZHVsaW5nIHdlIGNhbid0IGNvbnRyb2wsIGl0J3MgcG9zc2libGUKLSAgICAgICAgIyBwb2xsKCkgbmV2ZXIgcmV0dXJuZWQgTm9uZS4gIEl0ICJzaG91bGQgYmUiIHZlcnkgcmFyZSB0aGF0IGl0Ci0gICAgICAgICMgZGlkbid0IGdvIGFyb3VuZCBhdCBsZWFzdCB0d2ljZS4KLSAgICAgICAgc2VsZi5hc3NlcnRHcmVhdGVyRXF1YWwoY291bnQsIDIpCisgICAgICAgIHAgPSBzdWJwcm9jZXNzLlBvcGVuKFtzeXMuZXhlY3V0YWJsZSwgIi1jIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpbXBvcnQgb3M7IG9zLnJlYWQoMCwgMSkiXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RkaW49c3VicHJvY2Vzcy5QSVBFKQorICAgICAgICBzZWxmLmFkZENsZWFudXAocC5zdGRpbi5jbG9zZSkKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUocC5wb2xsKCkpCisgICAgICAgIG9zLndyaXRlKHAuc3RkaW4uZmlsZW5vKCksIGInQScpCisgICAgICAgIHAud2FpdCgpCiAgICAgICAgICMgU3Vic2VxdWVudCBpbnZvY2F0aW9ucyBzaG91bGQganVzdCByZXR1cm4gdGhlIHJldHVybmNvZGUKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwLnBvbGwoKSwgMCkKIAotCiAgICAgZGVmIHRlc3Rfd2FpdChzZWxmKToKLSAgICAgICAgcCA9IHN1YnByb2Nlc3MuUG9wZW4oW3N5cy5leGVjdXRhYmxlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAiLWMiLCAiaW1wb3J0IHRpbWU7IHRpbWUuc2xlZXAoMikiXSkKKyAgICAgICAgcCA9IHN1YnByb2Nlc3MuUG9wZW4oW3N5cy5leGVjdXRhYmxlLCAiLWMiLCAicGFzcyJdKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHAud2FpdCgpLCAwKQogICAgICAgICAjIFN1YnNlcXVlbnQgaW52b2NhdGlvbnMgc2hvdWxkIGp1c3QgcmV0dXJuIHRoZSByZXR1cm5jb2RlCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocC53YWl0KCksIDApCiAKKyAgICBkZWYgdGVzdF93YWl0X3RpbWVvdXQoc2VsZik6CisgICAgICAgIHAgPSBzdWJwcm9jZXNzLlBvcGVuKFtzeXMuZXhlY3V0YWJsZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItYyIsICJpbXBvcnQgdGltZTsgdGltZS5zbGVlcCgwLjEpIl0pCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoc3VicHJvY2Vzcy5UaW1lb3V0RXhwaXJlZCkgYXMgYzoKKyAgICAgICAgICAgIHAud2FpdCh0aW1lb3V0PTAuMDEpCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oIjAuMDEiLCBzdHIoYy5leGNlcHRpb24pKSAgIyBGb3IgY292ZXJhZ2Ugb2YgX19zdHJfXy4KKyAgICAgICAgIyBTb21lIGhlYXZpbHkgbG9hZGVkIGJ1aWxkYm90cyAoc3BhcmMgRGViaWFuIDMueCkgcmVxdWlyZSB0aGlzIG11Y2gKKyAgICAgICAgIyB0aW1lIHRvIHN0YXJ0LgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHAud2FpdCh0aW1lb3V0PTMpLCAwKQogCiAgICAgZGVmIHRlc3RfaW52YWxpZF9idWZzaXplKHNlbGYpOgogICAgICAgICAjIGFuIGludmFsaWQgdHlwZSBvZiB0aGUgYnVmc2l6ZSBhcmd1bWVudCBzaG91bGQgcmFpc2UKQEAgLTcwNSwyNSArNzkwLDI5IEBACiAgICAgICAgIHAgPSBzdWJwcm9jZXNzLlBvcGVuKFtzeXMuZXhlY3V0YWJsZSwgIi1jIiwgJ3Bhc3MnXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RkaW49c3VicHJvY2Vzcy5QSVBFKQogICAgICAgICBzZWxmLmFkZENsZWFudXAocC5zdGRpbi5jbG9zZSkKLSAgICAgICAgdGltZS5zbGVlcCgyKQorICAgICAgICBwLndhaXQoKQogICAgICAgICBwLmNvbW11bmljYXRlKGIieCIgKiAyKioyMCkKIAotICAgIEB1bml0dGVzdC5za2lwVW5sZXNzKGhhc2F0dHIoc2lnbmFsLCAnU0lHQUxSTScpLAotICAgICAgICAgICAgICAgICAgICAgICAgICJSZXF1aXJlcyBzaWduYWwuU0lHQUxSTSIpCisgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3MoaGFzYXR0cihzaWduYWwsICdTSUdVU1IxJyksCisgICAgICAgICAgICAgICAgICAgICAgICAgIlJlcXVpcmVzIHNpZ25hbC5TSUdVU1IxIikKKyAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhoYXNhdHRyKG9zLCAna2lsbCcpLAorICAgICAgICAgICAgICAgICAgICAgICAgICJSZXF1aXJlcyBvcy5raWxsIikKKyAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhoYXNhdHRyKG9zLCAnZ2V0cHBpZCcpLAorICAgICAgICAgICAgICAgICAgICAgICAgICJSZXF1aXJlcyBvcy5nZXRwcGlkIikKICAgICBkZWYgdGVzdF9jb21tdW5pY2F0ZV9laW50cihzZWxmKToKICAgICAgICAgIyBJc3N1ZSAjMTI0OTM6IGNvbW11bmljYXRlKCkgc2hvdWxkIGhhbmRsZSBFSU5UUgogICAgICAgICBkZWYgaGFuZGxlcihzaWdudW0sIGZyYW1lKToKICAgICAgICAgICAgIHBhc3MKLSAgICAgICAgb2xkX2hhbmRsZXIgPSBzaWduYWwuc2lnbmFsKHNpZ25hbC5TSUdBTFJNLCBoYW5kbGVyKQotICAgICAgICBzZWxmLmFkZENsZWFudXAoc2lnbmFsLnNpZ25hbCwgc2lnbmFsLlNJR0FMUk0sIG9sZF9oYW5kbGVyKQorICAgICAgICBvbGRfaGFuZGxlciA9IHNpZ25hbC5zaWduYWwoc2lnbmFsLlNJR1VTUjEsIGhhbmRsZXIpCisgICAgICAgIHNlbGYuYWRkQ2xlYW51cChzaWduYWwuc2lnbmFsLCBzaWduYWwuU0lHVVNSMSwgb2xkX2hhbmRsZXIpCiAKLSAgICAgICAgIyB0aGUgcHJvY2VzcyBpcyBydW5uaW5nIGZvciAyIHNlY29uZHMKLSAgICAgICAgYXJncyA9IFtzeXMuZXhlY3V0YWJsZSwgIi1jIiwgJ2ltcG9ydCB0aW1lOyB0aW1lLnNsZWVwKDIpJ10KKyAgICAgICAgYXJncyA9IFtzeXMuZXhlY3V0YWJsZSwgIi1jIiwKKyAgICAgICAgICAgICAgICAnaW1wb3J0IG9zLCBzaWduYWw7JworICAgICAgICAgICAgICAgICdvcy5raWxsKG9zLmdldHBwaWQoKSwgc2lnbmFsLlNJR1VTUjEpJ10KICAgICAgICAgZm9yIHN0cmVhbSBpbiAoJ3N0ZG91dCcsICdzdGRlcnInKToKICAgICAgICAgICAgIGt3ID0ge3N0cmVhbTogc3VicHJvY2Vzcy5QSVBFfQogICAgICAgICAgICAgd2l0aCBzdWJwcm9jZXNzLlBvcGVuKGFyZ3MsICoqa3cpIGFzIHByb2Nlc3M6Ci0gICAgICAgICAgICAgICAgc2lnbmFsLmFsYXJtKDEpCi0gICAgICAgICAgICAgICAgIyBjb21tdW5pY2F0ZSgpIHdpbGwgYmUgaW50ZXJydXB0ZWQgYnkgU0lHQUxSTQorICAgICAgICAgICAgICAgICMgY29tbXVuaWNhdGUoKSB3aWxsIGJlIGludGVycnVwdGVkIGJ5IFNJR1VTUjEKICAgICAgICAgICAgICAgICBwcm9jZXNzLmNvbW11bmljYXRlKCkKIAogCkBAIC0xMjU0LDYgKzEzNDMsMTEgQEAKICAgICAgICAgZXhpdGNvZGUgPSBzdWJwcm9jZXNzLmNhbGwoW2Fic19wcm9ncmFtLCAiLWMiLCAicGFzcyJdKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV4aXRjb2RlLCAwKQogCisgICAgICAgICMgYWJzb2x1dGUgYnl0ZXMgcGF0aCBhcyBhIHN0cmluZworICAgICAgICBjbWQgPSBiIiciICsgYWJzX3Byb2dyYW0gKyBiIicgLWMgcGFzcyIKKyAgICAgICAgZXhpdGNvZGUgPSBzdWJwcm9jZXNzLmNhbGwoY21kLCBzaGVsbD1UcnVlKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV4aXRjb2RlLCAwKQorCiAgICAgICAgICMgYnl0ZXMgcHJvZ3JhbSwgdW5pY29kZSBQQVRICiAgICAgICAgIGVudiA9IG9zLmVudmlyb24uY29weSgpCiAgICAgICAgIGVudlsiUEFUSCJdID0gcGF0aApAQCAtMTQzNyw3ICsxNTMxLDcgQEAKICAgICAgICAgc3Rkb3V0LCBzdGRlcnIgPSBwLmNvbW11bmljYXRlKCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgwLCBwLnJldHVybmNvZGUsICJzaWdjaGlsZF9pZ25vcmUucHkgZXhpdGVkIgogICAgICAgICAgICAgICAgICAgICAgICAgICIgbm9uLXplcm8gd2l0aCB0aGlzIGVycm9yOlxuJXMiICUKLSAgICAgICAgICAgICAgICAgICAgICAgICBzdGRlcnIuZGVjb2RlKCd1dGY4JykpCisgICAgICAgICAgICAgICAgICAgICAgICAgc3RkZXJyLmRlY29kZSgndXRmLTgnKSkKIAogICAgIGRlZiB0ZXN0X3NlbGVjdF91bmJ1ZmZlcmVkKHNlbGYpOgogICAgICAgICAjIElzc3VlICMxMTQ1OTogYnVmc2l6ZT0wIHNob3VsZCByZWFsbHkgc2V0IHRoZSBwaXBlcyBhcwpAQCAtMTY4NCwyOCArMTc3OCw2IEBACiAgICAgICAgIFByb2Nlc3NUZXN0Q2FzZS50ZWFyRG93bihzZWxmKQogCiAKLUB1bml0dGVzdC5za2lwVW5sZXNzKGdldGF0dHIoc3VicHJvY2VzcywgJ19wb3NpeHN1YnByb2Nlc3MnLCBGYWxzZSksCi0gICAgICAgICAgICAgICAgICAgICAiX3Bvc2l4c3VicHJvY2VzcyBleHRlbnNpb24gbW9kdWxlIG5vdCBmb3VuZC4iKQotY2xhc3MgUHJvY2Vzc1Rlc3RDYXNlUE9TSVhQdXJlUHl0aG9uKFByb2Nlc3NUZXN0Q2FzZSwgUE9TSVhQcm9jZXNzVGVzdENhc2UpOgotICAgIEBjbGFzc21ldGhvZAotICAgIGRlZiBzZXRVcENsYXNzKGNscyk6Ci0gICAgICAgIGdsb2JhbCBzdWJwcm9jZXNzCi0gICAgICAgIGFzc2VydCBzdWJwcm9jZXNzLl9wb3NpeHN1YnByb2Nlc3MKLSAgICAgICAgIyBSZWltcG9ydCBzdWJwcm9jZXNzIHdoaWxlIGZvcmNpbmcgX3Bvc2l4c3VicHJvY2VzcyB0byBub3QgZXhpc3QuCi0gICAgICAgIHdpdGggc3VwcG9ydC5jaGVja193YXJuaW5ncygoJy4qX3Bvc2l4c3VicHJvY2VzcyAuKiBub3QgYmVpbmcgdXNlZC4qJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSdW50aW1lV2FybmluZykpOgotICAgICAgICAgICAgc3VicHJvY2VzcyA9IHN1cHBvcnQuaW1wb3J0X2ZyZXNoX21vZHVsZSgKLSAgICAgICAgICAgICAgICAgICAgJ3N1YnByb2Nlc3MnLCBibG9ja2VkPVsnX3Bvc2l4c3VicHJvY2VzcyddKQotICAgICAgICBhc3NlcnQgbm90IHN1YnByb2Nlc3MuX3Bvc2l4c3VicHJvY2VzcwotCi0gICAgQGNsYXNzbWV0aG9kCi0gICAgZGVmIHRlYXJEb3duQ2xhc3MoY2xzKToKLSAgICAgICAgZ2xvYmFsIHN1YnByb2Nlc3MKLSAgICAgICAgIyBSZWltcG9ydCBzdWJwcm9jZXNzIGFzIGl0IHNob3VsZCBiZSwgcmVzdG9yaW5nIG9yZGVyIHRvIHRoZSB1bml2ZXJzZS4KLSAgICAgICAgc3VicHJvY2VzcyA9IHN1cHBvcnQuaW1wb3J0X2ZyZXNoX21vZHVsZSgnc3VicHJvY2VzcycpCi0gICAgICAgIGFzc2VydCBzdWJwcm9jZXNzLl9wb3NpeHN1YnByb2Nlc3MKLQotCiBjbGFzcyBIZWxwZXJGdW5jdGlvblRlc3RzKHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICBAdW5pdHRlc3Quc2tpcElmKG1zd2luZG93cywgImVycm5vIGFuZCBFSU5UUiBtYWtlIG5vIHNlbnNlIG9uIHdpbmRvd3MiKQogICAgIGRlZiB0ZXN0X2VpbnRyX3JldHJ5X2NhbGwoc2VsZik6CkBAIC0xODE0LDcgKzE4ODYsNiBAQAogICAgIHVuaXRfdGVzdHMgPSAoUHJvY2Vzc1Rlc3RDYXNlLAogICAgICAgICAgICAgICAgICAgUE9TSVhQcm9jZXNzVGVzdENhc2UsCiAgICAgICAgICAgICAgICAgICBXaW4zMlByb2Nlc3NUZXN0Q2FzZSwKLSAgICAgICAgICAgICAgICAgIFByb2Nlc3NUZXN0Q2FzZVBPU0lYUHVyZVB5dGhvbiwKICAgICAgICAgICAgICAgICAgIENvbW1hbmRUZXN0cywKICAgICAgICAgICAgICAgICAgIFByb2Nlc3NUZXN0Q2FzZU5vUG9sbCwKICAgICAgICAgICAgICAgICAgIEhlbHBlckZ1bmN0aW9uVGVzdHMsCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3N1cGVyLnB5IGIvTGliL3Rlc3QvdGVzdF9zdXBlci5weQppbmRleCA5MTQyMTZkLi4yOThjYWUwIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3N1cGVyLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3Rfc3VwZXIucHkKQEAgLTgxLDYgKzgxLDE2IEBACiAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChFKCkuZigpLCAnQUUnKQogCisgICAgZGVmIHRlc3RfX19jbGFzc19fX3NldChzZWxmKToKKyAgICAgICAgIyBTZWUgaXNzdWUgIzEyMzcwCisgICAgICAgIGNsYXNzIFgoQSk6CisgICAgICAgICAgICBkZWYgZihzZWxmKToKKyAgICAgICAgICAgICAgICByZXR1cm4gc3VwZXIoKS5mKCkKKyAgICAgICAgICAgIF9fY2xhc3NfXyA9IDQxMworICAgICAgICB4ID0gWCgpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoeC5mKCksICdBJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh4Ll9fY2xhc3NfXywgNDEzKQorCiAKIGRlZiB0ZXN0X21haW4oKToKICAgICBzdXBwb3J0LnJ1bl91bml0dGVzdChUZXN0U3VwZXIpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3N1cHBvcnQucHkgYi9MaWIvdGVzdC90ZXN0X3N1cHBvcnQucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzk0ZTIxMAotLS0gL2Rldi9udWxsCisrKyBiL0xpYi90ZXN0L3Rlc3Rfc3VwcG9ydC5weQpAQCAtMCwwICsxLDE4OCBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uCisKK2ltcG9ydCBzeXMKK2ltcG9ydCBvcworaW1wb3J0IHVuaXR0ZXN0CitpbXBvcnQgc29ja2V0CitpbXBvcnQgdGVtcGZpbGUKK2ltcG9ydCBlcnJubworZnJvbSB0ZXN0IGltcG9ydCBzdXBwb3J0CisKK1RFU1RGTiA9IHN1cHBvcnQuVEVTVEZOCitURVNURElSTiA9IG9zLnBhdGguYmFzZW5hbWUodGVtcGZpbGUubWtkdGVtcChkaXI9Jy4nKSkKKworCitjbGFzcyBUZXN0U3VwcG9ydCh1bml0dGVzdC5UZXN0Q2FzZSk6CisgICAgZGVmIHNldFVwKHNlbGYpOgorICAgICAgICBzdXBwb3J0LnVubGluayhURVNURk4pCisgICAgICAgIHN1cHBvcnQucm10cmVlKFRFU1RESVJOKQorICAgIHRlYXJEb3duID0gc2V0VXAKKworICAgIGRlZiB0ZXN0X2ltcG9ydF9tb2R1bGUoc2VsZik6CisgICAgICAgIHN1cHBvcnQuaW1wb3J0X21vZHVsZSgiZnRwbGliIikKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXModW5pdHRlc3QuU2tpcFRlc3QsIHN1cHBvcnQuaW1wb3J0X21vZHVsZSwgImZvbyIpCisKKyAgICBkZWYgdGVzdF9pbXBvcnRfZnJlc2hfbW9kdWxlKHNlbGYpOgorICAgICAgICBzdXBwb3J0LmltcG9ydF9mcmVzaF9tb2R1bGUoImZ0cGxpYiIpCisKKyAgICBkZWYgdGVzdF9nZXRfYXR0cmlidXRlKHNlbGYpOgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN1cHBvcnQuZ2V0X2F0dHJpYnV0ZShzZWxmLCAidGVzdF9nZXRfYXR0cmlidXRlIiksCisgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnRlc3RfZ2V0X2F0dHJpYnV0ZSkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXModW5pdHRlc3QuU2tpcFRlc3QsIHN1cHBvcnQuZ2V0X2F0dHJpYnV0ZSwgc2VsZiwgImZvbyIpCisKKyAgICBAdW5pdHRlc3Quc2tpcCgiZmFpbGluZyBidWlsZGJvdHMiKQorICAgIGRlZiB0ZXN0X2dldF9vcmlnaW5hbF9zdGRvdXQoc2VsZik6CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3VwcG9ydC5nZXRfb3JpZ2luYWxfc3Rkb3V0KCksIHN5cy5zdGRvdXQpCisKKyAgICBkZWYgdGVzdF91bmxvYWQoc2VsZik6CisgICAgICAgIGltcG9ydCBzY2hlZAorICAgICAgICBzZWxmLmFzc2VydEluKCJzY2hlZCIsIHN5cy5tb2R1bGVzKQorICAgICAgICBzdXBwb3J0LnVubG9hZCgic2NoZWQiKQorICAgICAgICBzZWxmLmFzc2VydE5vdEluKCJzY2hlZCIsIHN5cy5tb2R1bGVzKQorCisgICAgZGVmIHRlc3RfdW5saW5rKHNlbGYpOgorICAgICAgICB3aXRoIG9wZW4oVEVTVEZOLCAidyIpIGFzIGY6CisgICAgICAgICAgICBwYXNzCisgICAgICAgIHN1cHBvcnQudW5saW5rKFRFU1RGTikKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShvcy5wYXRoLmV4aXN0cyhURVNURk4pKQorICAgICAgICBzdXBwb3J0LnVubGluayhURVNURk4pCisKKyAgICBkZWYgdGVzdF9ybXRyZWUoc2VsZik6CisgICAgICAgIG9zLm1rZGlyKFRFU1RESVJOKQorICAgICAgICBvcy5ta2Rpcihvcy5wYXRoLmpvaW4oVEVTVERJUk4sIFRFU1RESVJOKSkKKyAgICAgICAgc3VwcG9ydC5ybXRyZWUoVEVTVERJUk4pCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2Uob3MucGF0aC5leGlzdHMoVEVTVERJUk4pKQorICAgICAgICBzdXBwb3J0LnJtdHJlZShURVNURElSTikKKworICAgIGRlZiB0ZXN0X2ZvcmdldChzZWxmKToKKyAgICAgICAgbW9kX2ZpbGVuYW1lID0gVEVTVEZOICsgJy5weScKKyAgICAgICAgd2l0aCBvcGVuKG1vZF9maWxlbmFtZSwgJ3cnKSBhcyBmOgorICAgICAgICAgICAgcHJpbnQoJ2ZvbyA9IDEnLCBmaWxlPWYpCisgICAgICAgIHN5cy5wYXRoLmluc2VydCgwLCBvcy5jdXJkaXIpCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIG1vZCA9IF9faW1wb3J0X18oVEVTVEZOKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRJbihURVNURk4sIHN5cy5tb2R1bGVzKQorCisgICAgICAgICAgICBzdXBwb3J0LmZvcmdldChURVNURk4pCisgICAgICAgICAgICBzZWxmLmFzc2VydE5vdEluKFRFU1RGTiwgc3lzLm1vZHVsZXMpCisgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICBkZWwgc3lzLnBhdGhbMF0KKyAgICAgICAgICAgIHN1cHBvcnQudW5saW5rKG1vZF9maWxlbmFtZSkKKworICAgIGRlZiB0ZXN0X0hPU1Qoc2VsZik6CisgICAgICAgIHMgPSBzb2NrZXQuc29ja2V0KCkKKyAgICAgICAgcy5iaW5kKChzdXBwb3J0LkhPU1QsIDApKQorICAgICAgICBzLmNsb3NlKCkKKworICAgIGRlZiB0ZXN0X2ZpbmRfdW51c2VkX3BvcnQoc2VsZik6CisgICAgICAgIHBvcnQgPSBzdXBwb3J0LmZpbmRfdW51c2VkX3BvcnQoKQorICAgICAgICBzID0gc29ja2V0LnNvY2tldCgpCisgICAgICAgIHMuYmluZCgoc3VwcG9ydC5IT1NULCBwb3J0KSkKKyAgICAgICAgcy5jbG9zZSgpCisKKyAgICBkZWYgdGVzdF9iaW5kX3BvcnQoc2VsZik6CisgICAgICAgIHMgPSBzb2NrZXQuc29ja2V0KCkKKyAgICAgICAgc3VwcG9ydC5iaW5kX3BvcnQocykKKyAgICAgICAgcy5saXN0ZW4oMSkKKyAgICAgICAgcy5jbG9zZSgpCisKKyAgICBkZWYgdGVzdF90ZW1wX2N3ZChzZWxmKToKKyAgICAgICAgaGVyZSA9IG9zLmdldGN3ZCgpCisgICAgICAgIHdpdGggc3VwcG9ydC50ZW1wX2N3ZChuYW1lPVRFU1RGTik6CisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG9zLnBhdGguYmFzZW5hbWUob3MuZ2V0Y3dkKCkpLCBURVNURk4pCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2Uob3MucGF0aC5leGlzdHMoVEVTVEZOKSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG9zLnBhdGguYmFzZW5hbWUob3MuZ2V0Y3dkKCkpLCBoZXJlKQorCisgICAgZGVmIHRlc3Rfc29ydGRpY3Qoc2VsZik6CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3VwcG9ydC5zb3J0ZGljdCh7MzozLCAyOjIsIDE6MX0pLCAiezE6IDEsIDI6IDIsIDM6IDN9IikKKworICAgIGRlZiB0ZXN0X21ha2VfYmFkX2ZkKHNlbGYpOgorICAgICAgICBmZCA9IHN1cHBvcnQubWFrZV9iYWRfZmQoKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKE9TRXJyb3IpIGFzIGNtOgorICAgICAgICAgICAgb3Mud3JpdGUoZmQsIGIiZm9vIikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjbS5leGNlcHRpb24uZXJybm8sIGVycm5vLkVCQURGKQorCisgICAgZGVmIHRlc3RfY2hlY2tfc3ludGF4X2Vycm9yKHNlbGYpOgorICAgICAgICBzdXBwb3J0LmNoZWNrX3N5bnRheF9lcnJvcihzZWxmLCAiZGVmIGNsYXNzIikKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoQXNzZXJ0aW9uRXJyb3IsIHN1cHBvcnQuY2hlY2tfc3ludGF4X2Vycm9yLCBzZWxmLCAiMSIpCisKKyAgICBkZWYgdGVzdF9DbGVhbkltcG9ydChzZWxmKToKKyAgICAgICAgaW1wb3J0IGltcG9ydGxpYgorICAgICAgICB3aXRoIHN1cHBvcnQuQ2xlYW5JbXBvcnQoImFzeW5jb3JlIik6CisgICAgICAgICAgICBpbXBvcnRsaWIuaW1wb3J0X21vZHVsZSgiYXN5bmNvcmUiKQorCisgICAgZGVmIHRlc3RfRGlyc09uU3lzUGF0aChzZWxmKToKKyAgICAgICAgd2l0aCBzdXBwb3J0LkRpcnNPblN5c1BhdGgoJ2ZvbycsICdiYXInKToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4oImZvbyIsIHN5cy5wYXRoKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRJbigiYmFyIiwgc3lzLnBhdGgpCisgICAgICAgIHNlbGYuYXNzZXJ0Tm90SW4oImZvbyIsIHN5cy5wYXRoKQorICAgICAgICBzZWxmLmFzc2VydE5vdEluKCJiYXIiLCBzeXMucGF0aCkKKworICAgIGRlZiB0ZXN0X2NhcHR1cmVkX3N0ZG91dChzZWxmKToKKyAgICAgICAgd2l0aCBzdXBwb3J0LmNhcHR1cmVkX3N0ZG91dCgpIGFzIHM6CisgICAgICAgICAgICBwcmludCgiaGVsbG8iKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHMuZ2V0dmFsdWUoKSwgImhlbGxvXG4iKQorCisgICAgZGVmIHRlc3RfY2FwdHVyZWRfc3RkZXJyKHNlbGYpOgorICAgICAgICB3aXRoIHN1cHBvcnQuY2FwdHVyZWRfc3RkZXJyKCkgYXMgczoKKyAgICAgICAgICAgIHByaW50KCJoZWxsbyIsIGZpbGU9c3lzLnN0ZGVycikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzLmdldHZhbHVlKCksICJoZWxsb1xuIikKKworICAgIGRlZiB0ZXN0X2NhcHR1cmVkX3N0ZGluKHNlbGYpOgorICAgICAgICB3aXRoIHN1cHBvcnQuY2FwdHVyZWRfc3RkaW4oKSBhcyBzOgorICAgICAgICAgICAgcHJpbnQoImhlbGxvIiwgZmlsZT1zeXMuc3RkaW4pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocy5nZXR2YWx1ZSgpLCAiaGVsbG9cbiIpCisKKyAgICBkZWYgdGVzdF9nY19jb2xsZWN0KHNlbGYpOgorICAgICAgICBzdXBwb3J0LmdjX2NvbGxlY3QoKQorCisgICAgZGVmIHRlc3RfcHl0aG9uX2lzX29wdGltaXplZChzZWxmKToKKyAgICAgICAgc2VsZi5hc3NlcnRJc0luc3RhbmNlKHN1cHBvcnQucHl0aG9uX2lzX29wdGltaXplZCgpLCBib29sKQorCisgICAgZGVmIHRlc3Rfc3dhcF9hdHRyKHNlbGYpOgorICAgICAgICBjbGFzcyBPYmo6CisgICAgICAgICAgICB4ID0gMQorICAgICAgICBvYmogPSBPYmooKQorICAgICAgICB3aXRoIHN1cHBvcnQuc3dhcF9hdHRyKG9iaiwgIngiLCA1KToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwob2JqLngsIDUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwob2JqLngsIDEpCisKKyAgICBkZWYgdGVzdF9zd2FwX2l0ZW0oc2VsZik6CisgICAgICAgIEQgPSB7Iml0ZW0iOjF9CisgICAgICAgIHdpdGggc3VwcG9ydC5zd2FwX2l0ZW0oRCwgIml0ZW0iLCA1KToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoRFsiaXRlbSJdLCA1KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKERbIml0ZW0iXSwgMSkKKworICAgICMgWFhYIC1mb2xsb3dzIGEgbGlzdCBvZiB1bnRlc3RlZCBBUEkKKyAgICAjIG1ha2VfbGVnYWN5X3B5YworICAgICMgaXNfcmVzb3VyY2VfZW5hYmxlZAorICAgICMgcmVxdWlyZXMKKyAgICAjIGZjbXAKKyAgICAjIHVtYWtzCisgICAgIyBmaW5kZmlsZQorICAgICMgY2hlY2tfd2FybmluZ3MKKyAgICAjIEVudmlyb25tZW50VmFyR3VhcmQKKyAgICAjIFRyYW5zaWVudFJlc291cmNlCisgICAgIyB0cmFuc2llbnRfaW50ZXJuZXQKKyAgICAjIHJ1bl93aXRoX2xvY2FsZQorICAgICMgc2V0X21lbWxpbWl0CisgICAgIyBiaWdtZW10ZXN0CisgICAgIyBwcmVjaXNpb25iaWdtZW10ZXN0CisgICAgIyBiaWdhZGRyc3BhY2V0ZXN0CisgICAgIyByZXF1aXJlc19yZXNvdXJjZQorICAgICMgcnVuX2RvY3Rlc3QKKyAgICAjIHRocmVhZGluZ19jbGVhbnVwCisgICAgIyByZWFwX3RocmVhZHMKKyAgICAjIHJlYXBfY2hpbGRyZW4KKyAgICAjIHN0cmlwX3B5dGhvbl9zdGRlcnIKKyAgICAjIGFyZ3NfZnJvbV9pbnRlcnByZXRlcl9mbGFncworICAgICMgY2FuX3N5bWxpbmsKKyAgICAjIHNraXBfdW5sZXNzX3N5bWxpbmsKKworCitkZWYgdGVzdF9tYWluKCk6CisgICAgdGVzdHMgPSBbVGVzdFN1cHBvcnRdCisgICAgc3VwcG9ydC5ydW5fdW5pdHRlc3QoKnRlc3RzKQorCitpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgorICAgIHRlc3RfbWFpbigpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3N5cy5weSBiL0xpYi90ZXN0L3Rlc3Rfc3lzLnB5CmluZGV4IDMyNjhiMWEuLjJhZmMyNjEgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3Rfc3lzLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3Rfc3lzLnB5CkBAIC0zMDMsNiArMzAzLDcgQEAKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3lzLmdldGRsb3BlbmZsYWdzKCksIG9sZGZsYWdzKzEpCiAgICAgICAgICAgICBzeXMuc2V0ZGxvcGVuZmxhZ3Mob2xkZmxhZ3MpCiAKKyAgICBAdGVzdC5zdXBwb3J0LnJlZmNvdW50X3Rlc3QKICAgICBkZWYgdGVzdF9yZWZjb3VudChzZWxmKToKICAgICAgICAgIyBuIGhlcmUgbXVzdCBiZSBhIGdsb2JhbCBpbiBvcmRlciBmb3IgdGhpcyB0ZXN0IHRvIHBhc3Mgd2hpbGUKICAgICAgICAgIyB0cmFjaW5nIHdpdGggYSBweXRob24gZnVuY3Rpb24uICBUcmFjaW5nIGNhbGxzIFB5RnJhbWVfRmFzdFRvTG9jYWxzCkBAIC0zNDIsNyArMzQzLDcgQEAKICAgICAjIFRlc3Qgc3lzLl9jdXJyZW50X2ZyYW1lcygpIGluIGEgV0lUSF9USFJFQURTIGJ1aWxkLgogICAgIEB0ZXN0LnN1cHBvcnQucmVhcF90aHJlYWRzCiAgICAgZGVmIGN1cnJlbnRfZnJhbWVzX3dpdGhfdGhyZWFkcyhzZWxmKToKLSAgICAgICAgaW1wb3J0IHRocmVhZGluZywgX3RocmVhZAorICAgICAgICBpbXBvcnQgdGhyZWFkaW5nCiAgICAgICAgIGltcG9ydCB0cmFjZWJhY2sKIAogICAgICAgICAjIFNwYXduIGEgdGhyZWFkIHRoYXQgYmxvY2tzIGF0IGEga25vd24gcGxhY2UuICBUaGVuIHRoZSBtYWluCkBAIC0zNTYsNyArMzU3LDcgQEAKICAgICAgICAgICAgIGc0NTYoKQogCiAgICAgICAgIGRlZiBnNDU2KCk6Ci0gICAgICAgICAgICB0aHJlYWRfaW5mby5hcHBlbmQoX3RocmVhZC5nZXRfaWRlbnQoKSkKKyAgICAgICAgICAgIHRocmVhZF9pbmZvLmFwcGVuZCh0aHJlYWRpbmcuZ2V0X2lkZW50KCkpCiAgICAgICAgICAgICBlbnRlcmVkX2cuc2V0KCkKICAgICAgICAgICAgIGxlYXZlX2cud2FpdCgpCiAKQEAgLTM3Miw3ICszNzMsNyBAQAogCiAgICAgICAgIGQgPSBzeXMuX2N1cnJlbnRfZnJhbWVzKCkKIAotICAgICAgICBtYWluX2lkID0gX3RocmVhZC5nZXRfaWRlbnQoKQorICAgICAgICBtYWluX2lkID0gdGhyZWFkaW5nLmdldF9pZGVudCgpCiAgICAgICAgIHNlbGYuYXNzZXJ0SW4obWFpbl9pZCwgZCkKICAgICAgICAgc2VsZi5hc3NlcnRJbih0aHJlYWRfaWQsIGQpCiAKQEAgLTQ0Niw2ICs0NDcsNyBAQAogCiAgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShzeXMubWF4c2l6ZSwgaW50KQogICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2Uoc3lzLm1heHVuaWNvZGUsIGludCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzeXMubWF4dW5pY29kZSwgMHgxMEZGRkYpCiAgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShzeXMucGxhdGZvcm0sIHN0cikKICAgICAgICAgc2VsZi5hc3NlcnRJc0luc3RhbmNlKHN5cy5wcmVmaXgsIHN0cikKICAgICAgICAgc2VsZi5hc3NlcnRJc0luc3RhbmNlKHN5cy52ZXJzaW9uLCBzdHIpCkBAIC00NzMsNiArNDc1LDE0IEBACiAgICAgICAgIGlmIG5vdCBzeXMucGxhdGZvcm0uc3RhcnRzd2l0aCgnd2luJyk6CiAgICAgICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2Uoc3lzLmFiaWZsYWdzLCBzdHIpCiAKKyAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhoYXNhdHRyKHN5cywgJ3RocmVhZF9pbmZvJyksCisgICAgICAgICAgICAgICAgICAgICAgICAgJ1RocmVhZGluZyByZXF1aXJlZCBmb3IgdGhpcyB0ZXN0LicpCisgICAgZGVmIHRlc3RfdGhyZWFkX2luZm8oc2VsZik6CisgICAgICAgIGluZm8gPSBzeXMudGhyZWFkX2luZm8KKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oaW5mbyksIDMpCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oaW5mby5uYW1lLCAoJ250JywgJ29zMicsICdwdGhyZWFkJywgJ3NvbGFyaXMnLCBOb25lKSkKKyAgICAgICAgc2VsZi5hc3NlcnRJbihpbmZvLmxvY2ssICgnc2VtYXBob3JlJywgJ211dGV4K2NvbmQnLCBOb25lKSkKKwogICAgIGRlZiB0ZXN0XzQzNTgxKHNlbGYpOgogICAgICAgICAjIENhbid0IHVzZSBzeXMuc3Rkb3V0LCBhcyB0aGlzIGlzIGEgU3RyaW5nSU8gb2JqZWN0IHdoZW4KICAgICAgICAgIyB0aGUgdGVzdCBydW5zIHVuZGVyIHJlZ3J0ZXN0LgpAQCAtNTAwLDcgKzUxMCw3IEBACiAKICAgICBkZWYgdGVzdF9zeXNfZmxhZ3Moc2VsZik6CiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShzeXMuZmxhZ3MpCi0gICAgICAgIGF0dHJzID0gKCJkZWJ1ZyIsICJkaXZpc2lvbl93YXJuaW5nIiwKKyAgICAgICAgYXR0cnMgPSAoImRlYnVnIiwKICAgICAgICAgICAgICAgICAgImluc3BlY3QiLCAiaW50ZXJhY3RpdmUiLCAib3B0aW1pemUiLCAiZG9udF93cml0ZV9ieXRlY29kZSIsCiAgICAgICAgICAgICAgICAgICJub191c2VyX3NpdGUiLCAibm9fc2l0ZSIsICJpZ25vcmVfZW52aXJvbm1lbnQiLCAidmVyYm9zZSIsCiAgICAgICAgICAgICAgICAgICJieXRlc193YXJuaW5nIiwgInF1aWV0IiwgImhhc2hfcmFuZG9taXphdGlvbiIpCkBAIC02NTksMjEgKzY2OSwyMSBAQAogICAgICAgICAgICAgcmV0dXJuIGlubmVyCiAgICAgICAgIGNoZWNrKGdldF9jZWxsKCkuX19jbG9zdXJlX19bMF0sIHNpemUoaCArICdQJykpCiAgICAgICAgICMgY29kZQotICAgICAgICBjaGVjayhnZXRfY2VsbCgpLl9fY29kZV9fLCBzaXplKGggKyAnNWk4UGkzUCcpKQorICAgICAgICBjaGVjayhnZXRfY2VsbCgpLl9fY29kZV9fLCBzaXplKGggKyAnNWk5UGkzUCcpKQogICAgICAgICAjIGNvbXBsZXgKICAgICAgICAgY2hlY2soY29tcGxleCgwLDEpLCBzaXplKGggKyAnMmQnKSkKICAgICAgICAgIyBtZXRob2RfZGVzY3JpcHRvciAoZGVzY3JpcHRvciBvYmplY3QpCi0gICAgICAgIGNoZWNrKHN0ci5sb3dlciwgc2l6ZShoICsgJzJQUCcpKQorICAgICAgICBjaGVjayhzdHIubG93ZXIsIHNpemUoaCArICczUFAnKSkKICAgICAgICAgIyBjbGFzc21ldGhvZF9kZXNjcmlwdG9yIChkZXNjcmlwdG9yIG9iamVjdCkKICAgICAgICAgIyBYWFgKICAgICAgICAgIyBtZW1iZXJfZGVzY3JpcHRvciAoZGVzY3JpcHRvciBvYmplY3QpCiAgICAgICAgIGltcG9ydCBkYXRldGltZQotICAgICAgICBjaGVjayhkYXRldGltZS50aW1lZGVsdGEuZGF5cywgc2l6ZShoICsgJzJQUCcpKQorICAgICAgICBjaGVjayhkYXRldGltZS50aW1lZGVsdGEuZGF5cywgc2l6ZShoICsgJzNQUCcpKQogICAgICAgICAjIGdldHNldF9kZXNjcmlwdG9yIChkZXNjcmlwdG9yIG9iamVjdCkKICAgICAgICAgaW1wb3J0IGNvbGxlY3Rpb25zCi0gICAgICAgIGNoZWNrKGNvbGxlY3Rpb25zLmRlZmF1bHRkaWN0LmRlZmF1bHRfZmFjdG9yeSwgc2l6ZShoICsgJzJQUCcpKQorICAgICAgICBjaGVjayhjb2xsZWN0aW9ucy5kZWZhdWx0ZGljdC5kZWZhdWx0X2ZhY3RvcnksIHNpemUoaCArICczUFAnKSkKICAgICAgICAgIyB3cmFwcGVyX2Rlc2NyaXB0b3IgKGRlc2NyaXB0b3Igb2JqZWN0KQotICAgICAgICBjaGVjayhpbnQuX19hZGRfXywgc2l6ZShoICsgJzJQMlAnKSkKKyAgICAgICAgY2hlY2soaW50Ll9fYWRkX18sIHNpemUoaCArICczUDJQJykpCiAgICAgICAgICMgbWV0aG9kLXdyYXBwZXIgKGRlc2NyaXB0b3Igb2JqZWN0KQogICAgICAgICBjaGVjayh7fS5fX2l0ZXJfXywgc2l6ZShoICsgJzJQJykpCiAgICAgICAgICMgZGljdApAQCAtNzIzLDcgKzczMyw3IEBACiAgICAgICAgIGNoZWNrKHgsIHNpemUodmggKyAnMTJQM2knICsgQ09fTUFYQkxPQ0tTKiczaScgKyAnUCcgKyBleHRyYXMqJ1AnKSkKICAgICAgICAgIyBmdW5jdGlvbgogICAgICAgICBkZWYgZnVuYygpOiBwYXNzCi0gICAgICAgIGNoZWNrKGZ1bmMsIHNpemUoaCArICcxMVAnKSkKKyAgICAgICAgY2hlY2soZnVuYywgc2l6ZShoICsgJzEyUCcpKQogICAgICAgICBjbGFzcyBjKCk6CiAgICAgICAgICAgICBAc3RhdGljbWV0aG9kCiAgICAgICAgICAgICBkZWYgZm9vKCk6CkBAIC03MzIsOSArNzQyLDkgQEAKICAgICAgICAgICAgIGRlZiBiYXIoY2xzKToKICAgICAgICAgICAgICAgICBwYXNzCiAgICAgICAgICAgICAjIHN0YXRpY21ldGhvZAotICAgICAgICAgICAgY2hlY2soZm9vLCBzaXplKGggKyAnUCcpKQorICAgICAgICAgICAgY2hlY2soZm9vLCBzaXplKGggKyAnUFAnKSkKICAgICAgICAgICAgICMgY2xhc3NtZXRob2QKLSAgICAgICAgICAgIGNoZWNrKGJhciwgc2l6ZShoICsgJ1AnKSkKKyAgICAgICAgICAgIGNoZWNrKGJhciwgc2l6ZShoICsgJ1BQJykpCiAgICAgICAgICMgZ2VuZXJhdG9yCiAgICAgICAgIGRlZiBnZXRfZ2VuKCk6IHlpZWxkIDEKICAgICAgICAgY2hlY2soZ2V0X2dlbigpLCBzaXplKGggKyAnUGkyUCcpKQpAQCAtNzYzLDggKzc3Myw4IEBACiAgICAgICAgIGNoZWNrKGludChQeUxvbmdfQkFTRSksIHNpemUodmgpICsgMipzZWxmLmxvbmdkaWdpdCkKICAgICAgICAgY2hlY2soaW50KFB5TG9uZ19CQVNFKioyLTEpLCBzaXplKHZoKSArIDIqc2VsZi5sb25nZGlnaXQpCiAgICAgICAgIGNoZWNrKGludChQeUxvbmdfQkFTRSoqMiksIHNpemUodmgpICsgMypzZWxmLmxvbmdkaWdpdCkKLSAgICAgICAgIyBtZW1vcnkKLSAgICAgICAgY2hlY2sobWVtb3J5dmlldyhiJycpLCBzaXplKGggKyAnUFAyUDJpN1AnKSkKKyAgICAgICAgIyBtZW1vcnl2aWV3CisgICAgICAgIGNoZWNrKG1lbW9yeXZpZXcoYicnKSwgc2l6ZShoICsgJ1BQaVA0UDJpNVAzY1AnKSkKICAgICAgICAgIyBtb2R1bGUKICAgICAgICAgY2hlY2sodW5pdHRlc3QsIHNpemUoaCArICczUCcpKQogICAgICAgICAjIE5vbmUKQEAgLTgyMSwxOSArODMxLDQxIEBACiAgICAgICAgICMgdHlwZQogICAgICAgICAjIChQeVR5cGVPYmplY3QgKyBQeU51bWJlck1ldGhvZHMgKyBQeU1hcHBpbmdNZXRob2RzICsKICAgICAgICAgIyAgUHlTZXF1ZW5jZU1ldGhvZHMgKyBQeUJ1ZmZlclByb2NzKQotICAgICAgICBzID0gc2l6ZSh2aCArICdQMlAxNVBsNFBQOVBQMTFQSScpICsgc2l6ZSgnMTZQaTE3UCAzUCAxMFAgMlAgMlAnKQorICAgICAgICBzID0gc2l6ZSh2aCArICdQMlAxNVBsNFBQOVBQMTFQSScpICsgc2l6ZSgnMTZQaTE3UCAzUCAxMFAgMlAgM1AnKQogICAgICAgICBjaGVjayhpbnQsIHMpCiAgICAgICAgICMgY2xhc3MKICAgICAgICAgY2xhc3MgbmV3c3R5bGVjbGFzcyhvYmplY3QpOiBwYXNzCiAgICAgICAgIGNoZWNrKG5ld3N0eWxlY2xhc3MsIHMpCiAgICAgICAgICMgdW5pY29kZQotICAgICAgICB1c2l6ZSA9IGxlbignXDAnLmVuY29kZSgndW5pY29kZS1pbnRlcm5hbCcpKQotICAgICAgICBzYW1wbGVzID0gWycnLCAnMScqMTAwXQotICAgICAgICAjIHdlIG5lZWQgdG8gdGVzdCBmb3IgYm90aCBzaXplcywgYmVjYXVzZSB3ZSBkb24ndCBrbm93IGlmIHRoZSBzdHJpbmcKLSAgICAgICAgIyBoYXMgYmVlbiBjYWNoZWQKKyAgICAgICAgIyBlYWNoIHR1cGxlIGNvbnRhaW5zIGEgc3RyaW5nIGFuZCBpdHMgZXhwZWN0ZWQgY2hhcmFjdGVyIHNpemUKKyAgICAgICAgIyBkb24ndCBwdXQgYW55IHN0YXRpYyBzdHJpbmdzIGhlcmUsIGFzIHRoZXkgbWF5IGNvbnRhaW4KKyAgICAgICAgIyB3Y2hhcl90IG9yIFVURi04IHJlcHJlc2VudGF0aW9ucworICAgICAgICBzYW1wbGVzID0gWycxJyoxMDAsICdceGZmJyo1MCwKKyAgICAgICAgICAgICAgICAgICAnXHUwMTAwJyo0MCwgJ1x1ZmZmZicqMTAwLAorICAgICAgICAgICAgICAgICAgICdcVTAwMDEwMDAwJyozMCwgJ1xVMDAxMGZmZmYnKjEwMF0KKyAgICAgICAgYXNjaWlmaWVsZHMgPSBoICsgIlBQaVAiCisgICAgICAgIGNvbXBhY3RmaWVsZHMgPSBhc2NpaWZpZWxkcyArICJQUFAiCisgICAgICAgIHVuaWNvZGVmaWVsZHMgPSBjb21wYWN0ZmllbGRzICsgIlAiCiAgICAgICAgIGZvciBzIGluIHNhbXBsZXM6Ci0gICAgICAgICAgICBiYXNpY3NpemUgPSAgc2l6ZShoICsgJ1BQUGlQJykgKyB1c2l6ZSAqIChsZW4ocykgKyAxKQotICAgICAgICAgICAgY2hlY2socywgYmFzaWNzaXplKQorICAgICAgICAgICAgbWF4Y2hhciA9IG9yZChtYXgocykpCisgICAgICAgICAgICBpZiBtYXhjaGFyIDwgMTI4OgorICAgICAgICAgICAgICAgIEwgPSBzaXplKGFzY2lpZmllbGRzKSArIGxlbihzKSArIDEKKyAgICAgICAgICAgIGVsaWYgbWF4Y2hhciA8IDI1NjoKKyAgICAgICAgICAgICAgICBMID0gc2l6ZShjb21wYWN0ZmllbGRzKSArIGxlbihzKSArIDEKKyAgICAgICAgICAgIGVsaWYgbWF4Y2hhciA8IDY1NTM2OgorICAgICAgICAgICAgICAgIEwgPSBzaXplKGNvbXBhY3RmaWVsZHMpICsgMioobGVuKHMpICsgMSkKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgTCA9IHNpemUoY29tcGFjdGZpZWxkcykgKyA0KihsZW4ocykgKyAxKQorICAgICAgICAgICAgY2hlY2socywgTCkKKyAgICAgICAgIyB2ZXJpZnkgdGhhdCB0aGUgVVRGLTggc2l6ZSBpcyBhY2NvdW50ZWQgZm9yCisgICAgICAgIHMgPSBjaHIoMHg0MDAwKSAgICMgNCBieXRlcyBjYW5vbmljYWwgcmVwcmVzZW50YXRpb24KKyAgICAgICAgY2hlY2socywgc2l6ZShjb21wYWN0ZmllbGRzKSArIDQpCisgICAgICAgICMgY29tcGlsZSgpIHdpbGwgdHJpZ2dlciB0aGUgZ2VuZXJhdGlvbiBvZiB0aGUgVVRGLTgKKyAgICAgICAgIyByZXByZXNlbnRhdGlvbiBhcyBhIHNpZGUgZWZmZWN0CisgICAgICAgIGNvbXBpbGUocywgIjxzdGRpbj4iLCAiZXZhbCIpCisgICAgICAgIGNoZWNrKHMsIHNpemUoY29tcGFjdGZpZWxkcykgKyA0ICsgNCkKKyAgICAgICAgIyBUT0RPOiBhZGQgY2hlY2sgdGhhdCBmb3JjZXMgdGhlIHByZXNlbmNlIG9mIHdjaGFyX3QgcmVwcmVzZW50YXRpb24KKyAgICAgICAgIyBUT0RPOiBhZGQgY2hlY2sgdGhhdCBmb3JjZXMgbGF5b3V0IG9mIHVuaWNvZGVmaWVsZHMKICAgICAgICAgIyB3ZWFrcmVmCiAgICAgICAgIGltcG9ydCB3ZWFrcmVmCiAgICAgICAgIGNoZWNrKHdlYWtyZWYucmVmKGludCksIHNpemUoaCArICcyUGwyUCcpKQpAQCAtODUwLDcgKzg4Miw3IEBACiAgICAgICAgIGNoZWNrID0gc2VsZi5jaGVja19zaXplb2YKICAgICAgICAgIyBfYXN0LkFTVAogICAgICAgICBpbXBvcnQgX2FzdAotICAgICAgICBjaGVjayhfYXN0LkFTVCgpLCBzaXplKGggKyAnJykpCisgICAgICAgIGNoZWNrKF9hc3QuQVNUKCksIHNpemUoaCArICdQJykpCiAgICAgICAgICMgaW1wLk51bGxJbXBvcnRlcgogICAgICAgICBpbXBvcnQgaW1wCiAgICAgICAgIGNoZWNrKGltcC5OdWxsSW1wb3J0ZXIoc2VsZi5maWxlLm5hbWUpLCBzaXplKGggKyAnJykpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3N5c19zZXR0cmFjZS5weSBiL0xpYi90ZXN0L3Rlc3Rfc3lzX3NldHRyYWNlLnB5CmluZGV4IGNmMzk3NmMuLjU3OGU5NWQgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3Rfc3lzX3NldHRyYWNlLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3Rfc3lzX3NldHRyYWNlLnB5CkBAIC0yNTEsNiArMjUxLDcgQEAKICAgICBkZWYgc2V0VXAoc2VsZik6CiAgICAgICAgIHNlbGYudXNpbmdfZ2MgPSBnYy5pc2VuYWJsZWQoKQogICAgICAgICBnYy5kaXNhYmxlKCkKKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKHN5cy5zZXR0cmFjZSwgc3lzLmdldHRyYWNlKCkpCiAKICAgICBkZWYgdGVhckRvd24oc2VsZik6CiAgICAgICAgIGlmIHNlbGYudXNpbmdfZ2M6CkBAIC0zODksNiArMzkwLDkgQEAKIAogCiBjbGFzcyBSYWlzaW5nVHJhY2VGdW5jVGVzdENhc2UodW5pdHRlc3QuVGVzdENhc2UpOgorICAgIGRlZiBzZXRVcChzZWxmKToKKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKHN5cy5zZXR0cmFjZSwgc3lzLmdldHRyYWNlKCkpCisKICAgICBkZWYgdHJhY2Uoc2VsZiwgZnJhbWUsIGV2ZW50LCBhcmcpOgogICAgICAgICAiIiJBIHRyYWNlIGZ1bmN0aW9uIHRoYXQgcmFpc2VzIGFuIGV4Y2VwdGlvbiBpbiByZXNwb25zZSB0byBhCiAgICAgICAgIHNwZWNpZmljIHRyYWNlIGV2ZW50LiIiIgpAQCAtNjg4LDYgKzY5MiwxMCBAQAogCiAKIGNsYXNzIEp1bXBUZXN0Q2FzZSh1bml0dGVzdC5UZXN0Q2FzZSk6CisgICAgZGVmIHNldFVwKHNlbGYpOgorICAgICAgICBzZWxmLmFkZENsZWFudXAoc3lzLnNldHRyYWNlLCBzeXMuZ2V0dHJhY2UoKSkKKyAgICAgICAgc3lzLnNldHRyYWNlKE5vbmUpCisKICAgICBkZWYgY29tcGFyZV9qdW1wX291dHB1dChzZWxmLCBleHBlY3RlZCwgcmVjZWl2ZWQpOgogICAgICAgICBpZiByZWNlaXZlZCAhPSBleHBlY3RlZDoKICAgICAgICAgICAgIHNlbGYuZmFpbCggIk91dHB1dHMgZG9uJ3QgbWF0Y2g6XG4iICsKQEAgLTczOSw2ICs3NDcsOCBAQAogICAgIGRlZiB0ZXN0XzE4X25vX2p1bXBfdG9fbm9uX2ludGVnZXJzKHNlbGYpOgogICAgICAgICBzZWxmLnJ1bl90ZXN0KG5vX2p1bXBfdG9fbm9uX2ludGVnZXJzKQogICAgIGRlZiB0ZXN0XzE5X25vX2p1bXBfd2l0aG91dF90cmFjZV9mdW5jdGlvbihzZWxmKToKKyAgICAgICAgIyBNdXN0IHNldCBzeXMuc2V0dHJhY2UoTm9uZSkgaW4gc2V0VXAoKSwgZWxzZSBjb25kaXRpb24gaXMgbm90CisgICAgICAgICMgdHJpZ2dlcmVkLgogICAgICAgICBub19qdW1wX3dpdGhvdXRfdHJhY2VfZnVuY3Rpb24oKQogCiAgICAgZGVmIHRlc3RfMjBfbGFyZ2VfZnVuY3Rpb24oc2VsZik6CmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3N5c2NvbmZpZy5weSBiL0xpYi90ZXN0L3Rlc3Rfc3lzY29uZmlnLnB5CmluZGV4IGFhYmI2ZmEuLmEyZTZmYmMgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3Rfc3lzY29uZmlnLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3Rfc3lzY29uZmlnLnB5CkBAIC0xLDI1ICsxLDIzIEBACi0iIiJUZXN0cyBmb3Igc3lzY29uZmlnLiIiIgotCiBpbXBvcnQgdW5pdHRlc3QKIGltcG9ydCBzeXMKIGltcG9ydCBvcwogaW1wb3J0IHN1YnByb2Nlc3MKIGltcG9ydCBzaHV0aWwKLWZyb20gY29weSBpbXBvcnQgY29weSwgZGVlcGNvcHkKK2Zyb20gY29weSBpbXBvcnQgY29weQogCiBmcm9tIHRlc3Quc3VwcG9ydCBpbXBvcnQgKHJ1bl91bml0dGVzdCwgVEVTVEZOLCB1bmxpbmssCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhcHR1cmVkX3N0ZG91dCwgc2tpcF91bmxlc3Nfc3ltbGluaykKIAogaW1wb3J0IHN5c2NvbmZpZwogZnJvbSBzeXNjb25maWcgaW1wb3J0IChnZXRfcGF0aHMsIGdldF9wbGF0Zm9ybSwgZ2V0X2NvbmZpZ192YXJzLAotICAgICAgICAgICAgICAgICAgICAgICBnZXRfcGF0aCwgZ2V0X3BhdGhfbmFtZXMsIF9JTlNUQUxMX1NDSEVNRVMsCisgICAgICAgICAgICAgICAgICAgICAgIGdldF9wYXRoLCBnZXRfcGF0aF9uYW1lcywgX1NDSEVNRVMsCiAgICAgICAgICAgICAgICAgICAgICAgIF9nZXRfZGVmYXVsdF9zY2hlbWUsIF9leHBhbmRfdmFycywKICAgICAgICAgICAgICAgICAgICAgICAgZ2V0X3NjaGVtZV9uYW1lcywgZ2V0X2NvbmZpZ192YXIsIF9tYWluKQogCisKIGNsYXNzIFRlc3RTeXNDb25maWcodW5pdHRlc3QuVGVzdENhc2UpOgogCiAgICAgZGVmIHNldFVwKHNlbGYpOgotICAgICAgICAiIiJNYWtlIGEgY29weSBvZiBzeXMucGF0aCIiIgogICAgICAgICBzdXBlcihUZXN0U3lzQ29uZmlnLCBzZWxmKS5zZXRVcCgpCiAgICAgICAgIHNlbGYuc3lzX3BhdGggPSBzeXMucGF0aFs6XQogICAgICAgICAjIHBhdGNoaW5nIG9zLnVuYW1lCkBAIC0zOCwxMSArMzYsMTcgQEAKICAgICAgICAgc2VsZi5qb2luID0gb3MucGF0aC5qb2luCiAgICAgICAgIHNlbGYuaXNhYnMgPSBvcy5wYXRoLmlzYWJzCiAgICAgICAgIHNlbGYuc3BsaXRkcml2ZSA9IG9zLnBhdGguc3BsaXRkcml2ZQotICAgICAgICBzZWxmLl9jb25maWdfdmFycyA9IGNvcHkoc3lzY29uZmlnLl9DT05GSUdfVkFSUykKLSAgICAgICAgc2VsZi5vbGRfZW52aXJvbiA9IGRlZXBjb3B5KG9zLmVudmlyb24pCisgICAgICAgIHNlbGYuX2NvbmZpZ192YXJzID0gc3lzY29uZmlnLl9DT05GSUdfVkFSUworICAgICAgICBzeXNjb25maWcuX0NPTkZJR19WQVJTID0gY29weShzeXNjb25maWcuX0NPTkZJR19WQVJTKQorICAgICAgICBzZWxmLl9hZGRlZF9lbnZ2YXJzID0gW10KKyAgICAgICAgc2VsZi5fY2hhbmdlZF9lbnZ2YXJzID0gW10KKyAgICAgICAgZm9yIHZhciBpbiAoJ01BQ09TWF9ERVBMT1lNRU5UX1RBUkdFVCcsICdQQVRIJyk6CisgICAgICAgICAgICBpZiB2YXIgaW4gb3MuZW52aXJvbjoKKyAgICAgICAgICAgICAgICBzZWxmLl9jaGFuZ2VkX2VudnZhcnMuYXBwZW5kKCh2YXIsIG9zLmVudmlyb25bdmFyXSkpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHNlbGYuX2FkZGVkX2VudnZhcnMuYXBwZW5kKHZhcikKIAogICAgIGRlZiB0ZWFyRG93bihzZWxmKToKLSAgICAgICAgIiIiUmVzdG9yZSBzeXMucGF0aCIiIgogICAgICAgICBzeXMucGF0aFs6XSA9IHNlbGYuc3lzX3BhdGgKICAgICAgICAgc2VsZi5fY2xlYW51cF90ZXN0Zm4oKQogICAgICAgICBpZiBzZWxmLnVuYW1lIGlzIG5vdCBOb25lOgpAQCAtNTYsMTQgKzYwLDExIEBACiAgICAgICAgIG9zLnBhdGguam9pbiA9IHNlbGYuam9pbgogICAgICAgICBvcy5wYXRoLmlzYWJzID0gc2VsZi5pc2FicwogICAgICAgICBvcy5wYXRoLnNwbGl0ZHJpdmUgPSBzZWxmLnNwbGl0ZHJpdmUKLSAgICAgICAgc3lzY29uZmlnLl9DT05GSUdfVkFSUyA9IGNvcHkoc2VsZi5fY29uZmlnX3ZhcnMpCi0gICAgICAgIGZvciBrZXksIHZhbHVlIGluIHNlbGYub2xkX2Vudmlyb24uaXRlbXMoKToKLSAgICAgICAgICAgIGlmIG9zLmVudmlyb24uZ2V0KGtleSkgIT0gdmFsdWU6Ci0gICAgICAgICAgICAgICAgb3MuZW52aXJvbltrZXldID0gdmFsdWUKLQotICAgICAgICBmb3Iga2V5IGluIGxpc3Qob3MuZW52aXJvbi5rZXlzKCkpOgotICAgICAgICAgICAgaWYga2V5IG5vdCBpbiBzZWxmLm9sZF9lbnZpcm9uOgotICAgICAgICAgICAgICAgIGRlbCBvcy5lbnZpcm9uW2tleV0KKyAgICAgICAgc3lzY29uZmlnLl9DT05GSUdfVkFSUyA9IHNlbGYuX2NvbmZpZ192YXJzCisgICAgICAgIGZvciB2YXIsIHZhbHVlIGluIHNlbGYuX2NoYW5nZWRfZW52dmFyczoKKyAgICAgICAgICAgIG9zLmVudmlyb25bdmFyXSA9IHZhbHVlCisgICAgICAgIGZvciB2YXIgaW4gc2VsZi5fYWRkZWRfZW52dmFyczoKKyAgICAgICAgICAgIG9zLmVudmlyb24ucG9wKHZhciwgTm9uZSkKIAogICAgICAgICBzdXBlcihUZXN0U3lzQ29uZmlnLCBzZWxmKS50ZWFyRG93bigpCiAKQEAgLTgxLDI3ICs4MiwyNSBAQAogICAgICAgICAgICAgc2h1dGlsLnJtdHJlZShwYXRoKQogCiAgICAgZGVmIHRlc3RfZ2V0X3BhdGhfbmFtZXMoc2VsZik6Ci0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZ2V0X3BhdGhfbmFtZXMoKSwgc3lzY29uZmlnLl9TQ0hFTUVfS0VZUykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChnZXRfcGF0aF9uYW1lcygpLCBfU0NIRU1FUy5vcHRpb25zKCdwb3NpeF9wcmVmaXgnKSkKIAogICAgIGRlZiB0ZXN0X2dldF9wYXRocyhzZWxmKToKICAgICAgICAgc2NoZW1lID0gZ2V0X3BhdGhzKCkKICAgICAgICAgZGVmYXVsdF9zY2hlbWUgPSBfZ2V0X2RlZmF1bHRfc2NoZW1lKCkKICAgICAgICAgd2FudGVkID0gX2V4cGFuZF92YXJzKGRlZmF1bHRfc2NoZW1lLCBOb25lKQotICAgICAgICB3YW50ZWQgPSBsaXN0KHdhbnRlZC5pdGVtcygpKQotICAgICAgICB3YW50ZWQuc29ydCgpCi0gICAgICAgIHNjaGVtZSA9IGxpc3Qoc2NoZW1lLml0ZW1zKCkpCi0gICAgICAgIHNjaGVtZS5zb3J0KCkKKyAgICAgICAgd2FudGVkID0gc29ydGVkKHdhbnRlZC5pdGVtcygpKQorICAgICAgICBzY2hlbWUgPSBzb3J0ZWQoc2NoZW1lLml0ZW1zKCkpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2NoZW1lLCB3YW50ZWQpCiAKICAgICBkZWYgdGVzdF9nZXRfcGF0aChzZWxmKToKLSAgICAgICAgIyB4eHggbWFrZSByZWFsIHRlc3RzIGhlcmUKLSAgICAgICAgZm9yIHNjaGVtZSBpbiBfSU5TVEFMTF9TQ0hFTUVTOgotICAgICAgICAgICAgZm9yIG5hbWUgaW4gX0lOU1RBTExfU0NIRU1FU1tzY2hlbWVdOgorICAgICAgICAjIFhYWCBtYWtlIHJlYWwgdGVzdHMgaGVyZQorICAgICAgICBmb3Igc2NoZW1lIGluIF9TQ0hFTUVTOgorICAgICAgICAgICAgZm9yIG5hbWUgaW4gX1NDSEVNRVNbc2NoZW1lXToKICAgICAgICAgICAgICAgICByZXMgPSBnZXRfcGF0aChuYW1lLCBzY2hlbWUpCiAKICAgICBkZWYgdGVzdF9nZXRfY29uZmlnX3ZhcnMoc2VsZik6CiAgICAgICAgIGN2YXJzID0gZ2V0X2NvbmZpZ192YXJzKCkKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGlzaW5zdGFuY2UoY3ZhcnMsIGRpY3QpKQorICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2UoY3ZhcnMsIGRpY3QpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShjdmFycykKIAogICAgIGRlZiB0ZXN0X2dldF9wbGF0Zm9ybShzZWxmKToKQEAgLTEzNSw4ICsxMzQsNiBAQAogICAgICAgICAgICAgICAgICAgICgnRGFyd2luIEtlcm5lbCBWZXJzaW9uIDguMTEuMTogJwogICAgICAgICAgICAgICAgICAgICAnV2VkIE9jdCAxMCAxODoyMzoyOCBQRFQgMjAwNzsgJwogICAgICAgICAgICAgICAgICAgICAncm9vdDp4bnUtNzkyLjI1LjIwfjEvUkVMRUFTRV9JMzg2JyksICdQb3dlclBDJykpCi0KLQogICAgICAgICBnZXRfY29uZmlnX3ZhcnMoKVsnTUFDT1NYX0RFUExPWU1FTlRfVEFSR0VUJ10gPSAnMTAuMycKIAogICAgICAgICBnZXRfY29uZmlnX3ZhcnMoKVsnQ0ZMQUdTJ10gPSAoJy1mbm8tc3RyaWN0LWFsaWFzaW5nIC1ETkRFQlVHIC1nICcKQEAgLTE1MSw3ICsxNDgsNiBAQAogICAgICAgICBmaW5hbGx5OgogICAgICAgICAgICAgc3lzLm1heHNpemUgPSBtYXhpbnQKIAotCiAgICAgICAgIHNlbGYuX3NldF91bmFtZSgoJ0RhcndpbicsICdtYWN6aWFkZScsICc4LjExLjEnLAogICAgICAgICAgICAgICAgICAgICgnRGFyd2luIEtlcm5lbCBWZXJzaW9uIDguMTEuMTogJwogICAgICAgICAgICAgICAgICAgICAnV2VkIE9jdCAxMCAxODoyMzoyOCBQRFQgMjAwNzsgJwpAQCAtMjA5LDkgKzIwNSw5IEBACiAgICAgICAgICAgICBnZXRfY29uZmlnX3ZhcnMoKVsnQ0ZMQUdTJ10gPSAoJy1hcmNoICVzIC1pc3lzcm9vdCAnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy9EZXZlbG9wZXIvU0RLcy9NYWNPU1gxMC40dS5zZGsgICcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZuby1jb21tb24gJwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICctZHluYW1pYyAtRE5ERUJVRyAtZyAtTzMnJShhcmNoLCkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy1keW5hbWljIC1ETkRFQlVHIC1nIC1PMycgJSBhcmNoKQogCi0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGdldF9wbGF0Zm9ybSgpLCAnbWFjb3N4LTEwLjQtJXMnJShhcmNoLCkpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGdldF9wbGF0Zm9ybSgpLCAnbWFjb3N4LTEwLjQtJXMnICUgYXJjaCkKIAogICAgICAgICAjIGxpbnV4IGRlYmlhbiBzYXJnZQogICAgICAgICBvcy5uYW1lID0gJ3Bvc2l4JwpAQCAtMjM5LDggKzIzNSw4IEBACiAgICAgICAgICMgT24gV2luZG93cywgdGhlIEVYRSBuZWVkcyB0byBrbm93IHdoZXJlIHB5dGhvblhZLmRsbCBpcyBhdCBzbyB3ZSBoYXZlCiAgICAgICAgICMgdG8gYWRkIHRoZSBkaXJlY3RvcnkgdG8gdGhlIHBhdGguCiAgICAgICAgIGlmIHN5cy5wbGF0Zm9ybSA9PSAid2luMzIiOgotICAgICAgICAgICAgb3MuZW52aXJvblsiUGF0aCJdID0gInt9O3t9Ii5mb3JtYXQoCi0gICAgICAgICAgICAgICAgb3MucGF0aC5kaXJuYW1lKHN5cy5leGVjdXRhYmxlKSwgb3MuZW52aXJvblsiUGF0aCJdKQorICAgICAgICAgICAgb3MuZW52aXJvblsiUEFUSCJdID0gInt9O3t9Ii5mb3JtYXQoCisgICAgICAgICAgICAgICAgb3MucGF0aC5kaXJuYW1lKHN5cy5leGVjdXRhYmxlKSwgb3MuZW52aXJvblsiUEFUSCJdKQogCiAgICAgICAgICMgSXNzdWUgNzg4MAogICAgICAgICBkZWYgZ2V0KHB5dGhvbik6CkBAIC0yODYsNyArMjgyLDYgQEAKIAogICAgICAgICBzZWxmLmFzc2VydEluKGxkZmxhZ3MsIGxkc2hhcmVkKQogCi0KICAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhzeXMucGxhdGZvcm0gPT0gImRhcndpbiIsICJ0ZXN0IG9ubHkgcmVsZXZhbnQgb24gTWFjT1NYIikKICAgICBkZWYgdGVzdF9wbGF0Zm9ybV9pbl9zdWJwcm9jZXNzKHNlbGYpOgogICAgICAgICBteV9wbGF0Zm9ybSA9IHN5c2NvbmZpZy5nZXRfcGxhdGZvcm0oKQpAQCAtMzEyLDI4ICszMDcsMjkgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdGF0dXMsIDApCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobXlfcGxhdGZvcm0sIHRlc3RfcGxhdGZvcm0pCiAKLQogICAgICAgICAjIFRlc3Qgd2l0aCBNQUNPU1hfREVQTE9ZTUVOVF9UQVJHRVQgaW4gdGhlIGVudmlyb25tZW50LCBhbmQKICAgICAgICAgIyB1c2luZyBhIHZhbHVlIHRoYXQgaXMgdW5saWtlbHkgdG8gYmUgdGhlIGRlZmF1bHQgb25lLgogICAgICAgICBlbnYgPSBvcy5lbnZpcm9uLmNvcHkoKQogICAgICAgICBlbnZbJ01BQ09TWF9ERVBMT1lNRU5UX1RBUkdFVCddID0gJzEwLjEnCiAKLSAgICAgICAgcCA9IHN1YnByb2Nlc3MuUG9wZW4oWwotICAgICAgICAgICAgICAgIHN5cy5leGVjdXRhYmxlLCAnLWMnLAotICAgICAgICAgICAgICAgICdpbXBvcnQgc3lzY29uZmlnOyBwcmludChzeXNjb25maWcuZ2V0X3BsYXRmb3JtKCkpJywKLSAgICAgICAgICAgIF0sCi0gICAgICAgICAgICBzdGRvdXQ9c3VicHJvY2Vzcy5QSVBFLAotICAgICAgICAgICAgc3RkZXJyPW9wZW4oJy9kZXYvbnVsbCcpLAotICAgICAgICAgICAgZW52PWVudikKLSAgICAgICAgdGVzdF9wbGF0Zm9ybSA9IHAuY29tbXVuaWNhdGUoKVswXS5zdHJpcCgpCi0gICAgICAgIHRlc3RfcGxhdGZvcm0gPSB0ZXN0X3BsYXRmb3JtLmRlY29kZSgndXRmLTgnKQotICAgICAgICBzdGF0dXMgPSBwLndhaXQoKQorICAgICAgICB3aXRoIG9wZW4oJy9kZXYvbnVsbCcpIGFzIGRldl9udWxsOgorICAgICAgICAgICAgcCA9IHN1YnByb2Nlc3MuUG9wZW4oWworICAgICAgICAgICAgICAgICAgICBzeXMuZXhlY3V0YWJsZSwgJy1jJywKKyAgICAgICAgICAgICAgICAgICAgJ2ltcG9ydCBzeXNjb25maWc7IHByaW50KHN5c2NvbmZpZy5nZXRfcGxhdGZvcm0oKSknLAorICAgICAgICAgICAgICAgIF0sCisgICAgICAgICAgICAgICAgc3Rkb3V0PXN1YnByb2Nlc3MuUElQRSwKKyAgICAgICAgICAgICAgICBzdGRlcnI9ZGV2X251bGwsCisgICAgICAgICAgICAgICAgZW52PWVudikKKyAgICAgICAgICAgIHRlc3RfcGxhdGZvcm0gPSBwLmNvbW11bmljYXRlKClbMF0uc3RyaXAoKQorICAgICAgICAgICAgdGVzdF9wbGF0Zm9ybSA9IHRlc3RfcGxhdGZvcm0uZGVjb2RlKCd1dGYtOCcpCisgICAgICAgICAgICBzdGF0dXMgPSBwLndhaXQoKQogCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RhdHVzLCAwKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG15X3BsYXRmb3JtLCB0ZXN0X3BsYXRmb3JtKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdGF0dXMsIDApCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG15X3BsYXRmb3JtLCB0ZXN0X3BsYXRmb3JtKQogCiAKIGNsYXNzIE1ha2VmaWxlVGVzdHModW5pdHRlc3QuVGVzdENhc2UpOgorCiAgICAgQHVuaXR0ZXN0LnNraXBJZihzeXMucGxhdGZvcm0uc3RhcnRzd2l0aCgnd2luJyksCiAgICAgICAgICAgICAgICAgICAgICAnVGVzdCBpcyBub3QgV2luZG93cyBjb21wYXRpYmxlJykKICAgICBkZWYgdGVzdF9nZXRfbWFrZWZpbGVfZmlsZW5hbWUoc2VsZik6CmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3RhcmZpbGUucHkgYi9MaWIvdGVzdC90ZXN0X3RhcmZpbGUucHkKaW5kZXggMTc1N2U0NC4uY2U1NDNkZiAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF90YXJmaWxlLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfdGFyZmlsZS5weQpAQCAtMjEsNiArMjEsMTAgQEAKICAgICBpbXBvcnQgYnoyCiBleGNlcHQgSW1wb3J0RXJyb3I6CiAgICAgYnoyID0gTm9uZQordHJ5OgorICAgIGltcG9ydCBsem1hCitleGNlcHQgSW1wb3J0RXJyb3I6CisgICAgbHptYSA9IE5vbmUKIAogZGVmIG1kNXN1bShkYXRhKToKICAgICByZXR1cm4gbWQ1KGRhdGEpLmhleGRpZ2VzdCgpCkBAIC0yOSw2ICszMyw3IEBACiB0YXJuYW1lID0gc3VwcG9ydC5maW5kZmlsZSgidGVzdHRhci50YXIiKQogZ3ppcG5hbWUgPSBvcy5wYXRoLmpvaW4oVEVNUERJUiwgInRlc3R0YXIudGFyLmd6IikKIGJ6Mm5hbWUgPSBvcy5wYXRoLmpvaW4oVEVNUERJUiwgInRlc3R0YXIudGFyLmJ6MiIpCit4em5hbWUgPSBvcy5wYXRoLmpvaW4oVEVNUERJUiwgInRlc3R0YXIudGFyLnh6IikKIHRtcG5hbWUgPSBvcy5wYXRoLmpvaW4oVEVNUERJUiwgInRtcC50YXIiKQogCiBtZDVfcmVndHlwZSA9ICI2NWY0NzdjODE4YWQ5ZTE1ZjdmZWFiMGM2ZDM3NzQyZiIKQEAgLTgyLDcgKzg3LDcgQEAKICAgICBkZWYgdGVzdF9maWxlb2JqX2l0ZXIoc2VsZik6CiAgICAgICAgIHNlbGYudGFyLmV4dHJhY3QoInVzdGFyL3JlZ3R5cGUiLCBURU1QRElSKQogICAgICAgICB0YXJpbmZvID0gc2VsZi50YXIuZ2V0bWVtYmVyKCJ1c3Rhci9yZWd0eXBlIikKLSAgICAgICAgd2l0aCBvcGVuKG9zLnBhdGguam9pbihURU1QRElSLCAidXN0YXIvcmVndHlwZSIpLCAiclUiKSBhcyBmb2JqMToKKyAgICAgICAgd2l0aCBvcGVuKG9zLnBhdGguam9pbihURU1QRElSLCAidXN0YXIvcmVndHlwZSIpLCAiciIpIGFzIGZvYmoxOgogICAgICAgICAgICAgbGluZXMxID0gZm9iajEucmVhZGxpbmVzKCkKICAgICAgICAgZm9iajIgPSBzZWxmLnRhci5leHRyYWN0ZmlsZSh0YXJpbmZvKQogICAgICAgICB0cnk6CkBAIC0yMDEsMTMgKzIwNiwxNSBAQAogICAgICAgICAgICAgX29wZW4gPSBnemlwLkd6aXBGaWxlCiAgICAgICAgIGVsaWYgc2VsZi5tb2RlLmVuZHN3aXRoKCI6YnoyIik6CiAgICAgICAgICAgICBfb3BlbiA9IGJ6Mi5CWjJGaWxlCisgICAgICAgIGVsaWYgc2VsZi5tb2RlLmVuZHN3aXRoKCI6eHoiKToKKyAgICAgICAgICAgIF9vcGVuID0gbHptYS5MWk1BRmlsZQogICAgICAgICBlbHNlOgotICAgICAgICAgICAgX29wZW4gPSBvcGVuCisgICAgICAgICAgICBfb3BlbiA9IGlvLkZpbGVJTwogCiAgICAgICAgIGZvciBjaGFyIGluIChiJ1wwJywgYidhJyk6CiAgICAgICAgICAgICAjIFRlc3QgaWYgRU9GSGVhZGVyRXJyb3IgKCdcMCcpIGFuZCBJbnZhbGlkSGVhZGVyRXJyb3IgKCdhJykKICAgICAgICAgICAgICMgYXJlIGlnbm9yZWQgY29ycmVjdGx5LgotICAgICAgICAgICAgd2l0aCBfb3Blbih0bXBuYW1lLCAid2IiKSBhcyBmb2JqOgorICAgICAgICAgICAgd2l0aCBfb3Blbih0bXBuYW1lLCAidyIpIGFzIGZvYmo6CiAgICAgICAgICAgICAgICAgZm9iai53cml0ZShjaGFyICogMTAyNCkKICAgICAgICAgICAgICAgICBmb2JqLndyaXRlKHRhcmZpbGUuVGFySW5mbygiZm9vIikudG9idWYoKSkKIApAQCAtMjIyLDYgKzIyOSwxMCBAQAogY2xhc3MgTWlzY1JlYWRUZXN0KENvbW1vblJlYWRUZXN0KToKIAogICAgIGRlZiB0ZXN0X25vX25hbWVfYXJndW1lbnQoc2VsZik6CisgICAgICAgIGlmIHNlbGYubW9kZS5lbmRzd2l0aCgoImJ6MiIsICJ4eiIpKToKKyAgICAgICAgICAgICMgQloyRmlsZSBhbmQgTFpNQUZpbGUgaGF2ZSBubyBuYW1lIGF0dHJpYnV0ZS4KKyAgICAgICAgICAgIHNlbGYuc2tpcFRlc3QoIm5vIG5hbWUgYXR0cmlidXRlIikKKwogICAgICAgICB3aXRoIG9wZW4oc2VsZi50YXJuYW1lLCAicmIiKSBhcyBmb2JqOgogICAgICAgICAgICAgdGFyID0gdGFyZmlsZS5vcGVuKGZpbGVvYmo9Zm9iaiwgbW9kZT1zZWxmLm1vZGUpCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHRhci5uYW1lLCBvcy5wYXRoLmFic3BhdGgoZm9iai5uYW1lKSkKQEAgLTI2MiwxMCArMjczLDEyIEBACiAgICAgICAgICAgICBfb3BlbiA9IGd6aXAuR3ppcEZpbGUKICAgICAgICAgZWxpZiBzZWxmLm1vZGUuZW5kc3dpdGgoIjpiejIiKToKICAgICAgICAgICAgIF9vcGVuID0gYnoyLkJaMkZpbGUKKyAgICAgICAgZWxpZiBzZWxmLm1vZGUuZW5kc3dpdGgoIjp4eiIpOgorICAgICAgICAgICAgX29wZW4gPSBsem1hLkxaTUFGaWxlCiAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBfb3BlbiA9IG9wZW4KLSAgICAgICAgZm9iaiA9IF9vcGVuKHNlbGYudGFybmFtZSwgInJiIikKLSAgICAgICAgdHJ5OgorICAgICAgICAgICAgX29wZW4gPSBpby5GaWxlSU8KKworICAgICAgICB3aXRoIF9vcGVuKHNlbGYudGFybmFtZSkgYXMgZm9iajoKICAgICAgICAgICAgIGZvYmouc2VlayhvZmZzZXQpCiAKICAgICAgICAgICAgICMgVGVzdCBpZiB0aGUgdGFyZmlsZSBzdGFydHMgd2l0aCB0aGUgc2Vjb25kIG1lbWJlci4KQEAgLTI3OCw4ICsyOTEsNiBAQAogICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh0YXIuZXh0cmFjdGZpbGUodCkucmVhZCgpLCBkYXRhLAogICAgICAgICAgICAgICAgICAgICAic2VlayBiYWNrIGRpZCBub3Qgd29yayIpCiAgICAgICAgICAgICB0YXIuY2xvc2UoKQotICAgICAgICBmaW5hbGx5OgotICAgICAgICAgICAgZm9iai5jbG9zZSgpCiAKICAgICBkZWYgdGVzdF9mYWlsX2NvbXAoc2VsZik6CiAgICAgICAgICMgRm9yIEd6aXAgYW5kIEJ6MiBUZXN0czogZmFpbCB3aXRoIGEgUmVhZEVycm9yIG9uIGFuIHVuY29tcHJlc3NlZCBmaWxlLgpAQCAtNTIzLDYgKzUzNCwxOCBAQAogICAgICAgICAgICAgdGVzdGZ1bmMoYnoybmFtZSwgInJ8KiIpCiAgICAgICAgICAgICB0ZXN0ZnVuYyhiejJuYW1lLCAicnxiejIiKQogCisgICAgICAgIGlmIGx6bWE6CisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyh0YXJmaWxlLlJlYWRFcnJvciwgdGFyZmlsZS5vcGVuLCB0YXJuYW1lLCBtb2RlPSJyOnh6IikKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKHRhcmZpbGUuUmVhZEVycm9yLCB0YXJmaWxlLm9wZW4sIHRhcm5hbWUsIG1vZGU9InJ8eHoiKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXModGFyZmlsZS5SZWFkRXJyb3IsIHRhcmZpbGUub3BlbiwgeHpuYW1lLCBtb2RlPSJyOiIpCisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyh0YXJmaWxlLlJlYWRFcnJvciwgdGFyZmlsZS5vcGVuLCB4em5hbWUsIG1vZGU9InJ8IikKKworICAgICAgICAgICAgdGVzdGZ1bmMoeHpuYW1lLCAiciIpCisgICAgICAgICAgICB0ZXN0ZnVuYyh4em5hbWUsICJyOioiKQorICAgICAgICAgICAgdGVzdGZ1bmMoeHpuYW1lLCAicjp4eiIpCisgICAgICAgICAgICB0ZXN0ZnVuYyh4em5hbWUsICJyfCoiKQorICAgICAgICAgICAgdGVzdGZ1bmMoeHpuYW1lLCAicnx4eiIpCisKICAgICBkZWYgdGVzdF9kZXRlY3RfZmlsZShzZWxmKToKICAgICAgICAgc2VsZi5fdGVzdF9tb2RlcyhzZWxmLl90ZXN0ZnVuY19maWxlKQogCkBAIC03MjAsNyArNzQzLDcgQEAKICAgICAgICAgIyBSZXR1cm4gVHJ1ZSBpZiB0aGUgcGxhdGZvcm0ga25vd3MgdGhlIHN0X2Jsb2NrcyBzdGF0IGF0dHJpYnV0ZSBhbmQKICAgICAgICAgIyB1c2VzIHN0X2Jsb2NrcyB1bml0cyBvZiA1MTIgYnl0ZXMsIGFuZCBpZiB0aGUgZmlsZXN5c3RlbSBpcyBhYmxlIHRvCiAgICAgICAgICMgc3RvcmUgaG9sZXMgaW4gZmlsZXMuCi0gICAgICAgIGlmIHN5cy5wbGF0Zm9ybSA9PSAibGludXgyIjoKKyAgICAgICAgaWYgc3lzLnBsYXRmb3JtLnN0YXJ0c3dpdGgoImxpbnV4Iik6CiAgICAgICAgICAgICAjIExpbnV4IGV2aWRlbnRpYWxseSBoYXMgNTEyIGJ5dGUgc3RfYmxvY2tzIHVuaXRzLgogICAgICAgICAgICAgbmFtZSA9IG9zLnBhdGguam9pbihURU1QRElSLCAic3BhcnNlLXRlc3QiKQogICAgICAgICAgICAgd2l0aCBvcGVuKG5hbWUsICJ3YiIpIGFzIGZvYmo6CkBAIC05MTAsNyArOTMzLDcgQEAKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgZm9yIG5hbWUgaW4gKCJmb28iLCAiYmFyIiwgImJheiIpOgogICAgICAgICAgICAgICAgIG5hbWUgPSBvcy5wYXRoLmpvaW4odGVtcGRpciwgbmFtZSkKLSAgICAgICAgICAgICAgICBvcGVuKG5hbWUsICJ3YiIpLmNsb3NlKCkKKyAgICAgICAgICAgICAgICBzdXBwb3J0LmNyZWF0ZV9lbXB0eV9maWxlKG5hbWUpCiAKICAgICAgICAgICAgIGV4Y2x1ZGUgPSBvcy5wYXRoLmlzZmlsZQogCkBAIC05MzcsNyArOTYwLDcgQEAKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgZm9yIG5hbWUgaW4gKCJmb28iLCAiYmFyIiwgImJheiIpOgogICAgICAgICAgICAgICAgIG5hbWUgPSBvcy5wYXRoLmpvaW4odGVtcGRpciwgbmFtZSkKLSAgICAgICAgICAgICAgICBvcGVuKG5hbWUsICJ3YiIpLmNsb3NlKCkKKyAgICAgICAgICAgICAgICBzdXBwb3J0LmNyZWF0ZV9lbXB0eV9maWxlKG5hbWUpCiAKICAgICAgICAgICAgIGRlZiBmaWx0ZXIodGFyaW5mbyk6CiAgICAgICAgICAgICAgICAgaWYgb3MucGF0aC5iYXNlbmFtZSh0YXJpbmZvLm5hbWUpID09ICJiYXIiOgpAQCAtOTc2LDcgKzk5OSw3IEBACiAgICAgICAgICMgYW5kIGNvbXBhcmUgdGhlIHN0b3JlZCBuYW1lIHdpdGggdGhlIG9yaWdpbmFsLgogICAgICAgICBmb28gPSBvcy5wYXRoLmpvaW4oVEVNUERJUiwgImZvbyIpCiAgICAgICAgIGlmIG5vdCBkaXI6Ci0gICAgICAgICAgICBvcGVuKGZvbywgInciKS5jbG9zZSgpCisgICAgICAgICAgICBzdXBwb3J0LmNyZWF0ZV9lbXB0eV9maWxlKGZvbykKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIG9zLm1rZGlyKGZvbykKIApAQCAtMTA5Myw2ICsxMTE2LDkgQEAKICAgICAgICAgICAgIGRhdGEgPSBkZWMuZGVjb21wcmVzcyhkYXRhKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGxlbihkZWMudW51c2VkX2RhdGEpID09IDAsCiAgICAgICAgICAgICAgICAgICAgICJmb3VuZCB0cmFpbGluZyBkYXRhIikKKyAgICAgICAgZWxpZiBzZWxmLm1vZGUuZW5kc3dpdGgoInh6Iik6CisgICAgICAgICAgICB3aXRoIGx6bWEuTFpNQUZpbGUodG1wbmFtZSkgYXMgZm9iajoKKyAgICAgICAgICAgICAgICBkYXRhID0gZm9iai5yZWFkKCkKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHdpdGggb3Blbih0bXBuYW1lLCAicmIiKSBhcyBmb2JqOgogICAgICAgICAgICAgICAgIGRhdGEgPSBmb2JqLnJlYWQoKQpAQCAtMTMzNiw3ICsxMzYyLDcgQEAKICAgICAgICAgc2VsZi5fdGVzdF91bmljb2RlX2ZpbGVuYW1lKCJ1dGY3IikKIAogICAgIGRlZiB0ZXN0X3V0ZjhfZmlsZW5hbWUoc2VsZik6Ci0gICAgICAgIHNlbGYuX3Rlc3RfdW5pY29kZV9maWxlbmFtZSgidXRmOCIpCisgICAgICAgIHNlbGYuX3Rlc3RfdW5pY29kZV9maWxlbmFtZSgidXRmLTgiKQogCiAgICAgZGVmIF90ZXN0X3VuaWNvZGVfZmlsZW5hbWUoc2VsZiwgZW5jb2RpbmcpOgogICAgICAgICB0YXIgPSB0YXJmaWxlLm9wZW4odG1wbmFtZSwgInciLCBmb3JtYXQ9c2VsZi5mb3JtYXQsIGVuY29kaW5nPWVuY29kaW5nLCBlcnJvcnM9InN0cmljdCIpCkBAIC0xNDE1LDcgKzE0NDEsNyBAQAogICAgIGRlZiB0ZXN0X2JhZF9wYXhfaGVhZGVyKHNlbGYpOgogICAgICAgICAjIFRlc3QgZm9yIGlzc3VlICM4NjMzLiBHTlUgdGFyIDw9IDEuMjMgY3JlYXRlcyByYXcgYmluYXJ5IGZpZWxkcwogICAgICAgICAjIHdpdGhvdXQgYSBoZHJjaGFyc2V0PUJJTkFSWSBoZWFkZXIuCi0gICAgICAgIGZvciBlbmNvZGluZywgbmFtZSBpbiAoKCJ1dGY4IiwgInBheC9iYWQtcGF4LVx1ZGNlNFx1ZGNmNlx1ZGNmYyIpLAorICAgICAgICBmb3IgZW5jb2RpbmcsIG5hbWUgaW4gKCgidXRmLTgiLCAicGF4L2JhZC1wYXgtXHVkY2U0XHVkY2Y2XHVkY2ZjIiksCiAgICAgICAgICAgICAgICAgKCJpc284ODU5LTEiLCAicGF4L2JhZC1wYXgtXHhlNFx4ZjZceGZjIiksKToKICAgICAgICAgICAgIHdpdGggdGFyZmlsZS5vcGVuKHRhcm5hbWUsIGVuY29kaW5nPWVuY29kaW5nLCBlcnJvcnM9InN1cnJvZ2F0ZWVzY2FwZSIpIGFzIHRhcjoKICAgICAgICAgICAgICAgICB0cnk6CkBAIC0xNDMwLDcgKzE0NTYsNyBAQAogCiAgICAgZGVmIHRlc3RfYmluYXJ5X2hlYWRlcihzZWxmKToKICAgICAgICAgIyBUZXN0IGEgUE9TSVguMS0yMDA4IGNvbXBhdGlibGUgaGVhZGVyIHdpdGggYSBoZHJjaGFyc2V0PUJJTkFSWSBmaWVsZC4KLSAgICAgICAgZm9yIGVuY29kaW5nLCBuYW1lIGluICgoInV0ZjgiLCAicGF4L2hkcmNoYXJzZXQtXHVkY2U0XHVkY2Y2XHVkY2ZjIiksCisgICAgICAgIGZvciBlbmNvZGluZywgbmFtZSBpbiAoKCJ1dGYtOCIsICJwYXgvaGRyY2hhcnNldC1cdWRjZTRcdWRjZjZcdWRjZmMiKSwKICAgICAgICAgICAgICAgICAoImlzbzg4NTktMSIsICJwYXgvaGRyY2hhcnNldC1ceGU0XHhmNlx4ZmMiKSwpOgogICAgICAgICAgICAgd2l0aCB0YXJmaWxlLm9wZW4odGFybmFtZSwgZW5jb2Rpbmc9ZW5jb2RpbmcsIGVycm9ycz0ic3Vycm9nYXRlZXNjYXBlIikgYXMgdGFyOgogICAgICAgICAgICAgICAgIHRyeToKQEAgLTE1MDcsNiArMTUzMywxMiBAQAogICAgICAgICBzZWxmLl9jcmVhdGVfdGVzdHRhcigidzpiejIiKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyh0YXJmaWxlLlJlYWRFcnJvciwgdGFyZmlsZS5vcGVuLCB0bXBuYW1lLCAiYSIpCiAKKyAgICBkZWYgdGVzdF9hcHBlbmRfbHptYShzZWxmKToKKyAgICAgICAgaWYgbHptYSBpcyBOb25lOgorICAgICAgICAgICAgc2VsZi5za2lwVGVzdCgibHptYSBtb2R1bGUgbm90IGF2YWlsYWJsZSIpCisgICAgICAgIHNlbGYuX2NyZWF0ZV90ZXN0dGFyKCJ3Onh6IikKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXModGFyZmlsZS5SZWFkRXJyb3IsIHRhcmZpbGUub3BlbiwgdG1wbmFtZSwgImEiKQorCiAgICAgIyBBcHBlbmQgbW9kZSBpcyBzdXBwb3NlZCB0byBmYWlsIGlmIHRoZSB0YXJmaWxlIHRvIGFwcGVuZCB0bwogICAgICMgZG9lcyBub3QgZW5kIHdpdGggYSB6ZXJvIGJsb2NrLgogICAgIGRlZiBfdGVzdF9lcnJvcihzZWxmLCBkYXRhKToKQEAgLTE3ODUsNiArMTgxNywyMSBAQAogICAgICAgICBzZWxmLl90ZXN0X3BhcnRpYWxfaW5wdXQoInI6YnoyIikKIAogCitjbGFzcyBMem1hTWlzY1JlYWRUZXN0KE1pc2NSZWFkVGVzdCk6CisgICAgdGFybmFtZSA9IHh6bmFtZQorICAgIG1vZGUgPSAicjp4eiIKK2NsYXNzIEx6bWFVc3RhclJlYWRUZXN0KFVzdGFyUmVhZFRlc3QpOgorICAgIHRhcm5hbWUgPSB4em5hbWUKKyAgICBtb2RlID0gInI6eHoiCitjbGFzcyBMem1hU3RyZWFtUmVhZFRlc3QoU3RyZWFtUmVhZFRlc3QpOgorICAgIHRhcm5hbWUgPSB4em5hbWUKKyAgICBtb2RlID0gInJ8eHoiCitjbGFzcyBMem1hV3JpdGVUZXN0KFdyaXRlVGVzdCk6CisgICAgbW9kZSA9ICJ3Onh6IgorY2xhc3MgTHptYVN0cmVhbVdyaXRlVGVzdChTdHJlYW1Xcml0ZVRlc3QpOgorICAgIG1vZGUgPSAid3x4eiIKKworCiBkZWYgdGVzdF9tYWluKCk6CiAgICAgc3VwcG9ydC51bmxpbmsoVEVNUERJUikKICAgICBvcy5tYWtlZGlycyhURU1QRElSKQpAQCAtMTg0Nyw2ICsxODk0LDIwIEBACiAgICAgICAgICAgICBCejJQYXJ0aWFsUmVhZFRlc3QsCiAgICAgICAgIF0KIAorICAgIGlmIGx6bWE6CisgICAgICAgICMgQ3JlYXRlIHRlc3R0YXIudGFyLnh6IGFuZCBhZGQgbHptYS1zcGVjaWZpYyB0ZXN0cy4KKyAgICAgICAgc3VwcG9ydC51bmxpbmsoeHpuYW1lKQorICAgICAgICB3aXRoIGx6bWEuTFpNQUZpbGUoeHpuYW1lLCAidyIpIGFzIHRhcjoKKyAgICAgICAgICAgIHRhci53cml0ZShkYXRhKQorCisgICAgICAgIHRlc3RzICs9IFsKKyAgICAgICAgICAgIEx6bWFNaXNjUmVhZFRlc3QsCisgICAgICAgICAgICBMem1hVXN0YXJSZWFkVGVzdCwKKyAgICAgICAgICAgIEx6bWFTdHJlYW1SZWFkVGVzdCwKKyAgICAgICAgICAgIEx6bWFXcml0ZVRlc3QsCisgICAgICAgICAgICBMem1hU3RyZWFtV3JpdGVUZXN0LAorICAgICAgICBdCisKICAgICB0cnk6CiAgICAgICAgIHN1cHBvcnQucnVuX3VuaXR0ZXN0KCp0ZXN0cykKICAgICBmaW5hbGx5OgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF90ZWxuZXRsaWIucHkgYi9MaWIvdGVzdC90ZXN0X3RlbG5ldGxpYi5weQppbmRleCA4NzQxOGY1Li5lNThjMTBmIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3RlbG5ldGxpYi5weQorKysgYi9MaWIvdGVzdC90ZXN0X3RlbG5ldGxpYi5weQpAQCAtMzUsNiArMzUsNyBAQAogCiAgICAgZGVmIHRlYXJEb3duKHNlbGYpOgogICAgICAgICBzZWxmLnRocmVhZC5qb2luKCkKKyAgICAgICAgZGVsIHNlbGYudGhyZWFkICAjIENsZWFyIG91dCBhbnkgZGFuZ2xpbmcgVGhyZWFkIG9iamVjdHMuCiAKICAgICBkZWYgdGVzdEJhc2ljKHNlbGYpOgogICAgICAgICAjIGNvbm5lY3RzCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3RlbXBmaWxlLnB5IGIvTGliL3Rlc3QvdGVzdF90ZW1wZmlsZS5weQppbmRleCA1MGNmM2I0Li5kNzlmMzE5IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3RlbXBmaWxlLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfdGVtcGZpbGUucHkKQEAgLTIxLDcgKzIxLDcgQEAKIAogIyBURVNUX0ZJTEVTIG1heSBuZWVkIHRvIGJlIHR3ZWFrZWQgZm9yIHN5c3RlbXMgZGVwZW5kaW5nIG9uIHRoZSBtYXhpbXVtCiAjIG51bWJlciBvZiBmaWxlcyB0aGF0IGNhbiBiZSBvcGVuZWQgYXQgb25lIHRpbWUgKHNlZSB1bGltaXQgLW4pCi1pZiBzeXMucGxhdGZvcm0gaW4gKCdvcGVuYnNkMycsICdvcGVuYnNkNCcpOgoraWYgc3lzLnBsYXRmb3JtLnN0YXJ0c3dpdGgoJ29wZW5ic2QnKToKICAgICBURVNUX0ZJTEVTID0gNDgKIGVsc2U6CiAgICAgVEVTVF9GSUxFUyA9IDEwMApAQCAtMzEsNyArMzEsNyBAQAogIyB0aHJlYWRzIGlzIG5vdCBkb25lIGhlcmUuCiAKICMgQ29tbW9uIGZ1bmN0aW9uYWxpdHkuCi1jbGFzcyBUQyh1bml0dGVzdC5UZXN0Q2FzZSk6CitjbGFzcyBCYXNlVGVzdENhc2UodW5pdHRlc3QuVGVzdENhc2UpOgogCiAgICAgc3RyX2NoZWNrID0gcmUuY29tcGlsZShyIlthLXpBLVowLTlfLV17Nn0kIikKIApAQCAtNDUsMTEgKzQ1LDYgQEAKICAgICAgICAgc2VsZi5fd2FybmluZ3NfbWFuYWdlci5fX2V4aXRfXyhOb25lLCBOb25lLCBOb25lKQogCiAKLSAgICBkZWYgZmFpbE9uRXhjZXB0aW9uKHNlbGYsIHdoYXQsIGVpPU5vbmUpOgotICAgICAgICBpZiBlaSBpcyBOb25lOgotICAgICAgICAgICAgZWkgPSBzeXMuZXhjX2luZm8oKQotICAgICAgICBzZWxmLmZhaWwoIiVzIHJhaXNlZCAlczogJXMiICUgKHdoYXQsIGVpWzBdLCBlaVsxXSkpCi0KICAgICBkZWYgbmFtZUNoZWNrKHNlbGYsIG5hbWUsIGRpciwgcHJlLCBzdWYpOgogICAgICAgICAobmRpciwgbmJhc2UpID0gb3MucGF0aC5zcGxpdChuYW1lKQogICAgICAgICBucHJlICA9IG5iYXNlWzpsZW4ocHJlKV0KQEAgLTY4LDkgKzYzLDggQEAKICAgICAgICAgICAgICAgICAgICAgICJyYW5kb20gc3RyaW5nICclcycgZG9lcyBub3QgbWF0Y2ggL15bYS16QS1aMC05Xy1dezZ9JC8iCiAgICAgICAgICAgICAgICAgICAgICAlIG5iYXNlKQogCi10ZXN0X2NsYXNzZXMgPSBbXQogCi1jbGFzcyB0ZXN0X2V4cG9ydHMoVEMpOgorY2xhc3MgVGVzdEV4cG9ydHMoQmFzZVRlc3RDYXNlKToKICAgICBkZWYgdGVzdF9leHBvcnRzKHNlbGYpOgogICAgICAgICAjIFRoZXJlIGFyZSBubyBzdXJwcmlzaW5nIHN5bWJvbHMgaW4gdGhlIHRlbXBmaWxlIG1vZHVsZQogICAgICAgICBkaWN0ID0gdGVtcGZpbGUuX19kaWN0X18KQEAgLTk3LDEwICs5MSw4IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShsZW4odW5leHApID09IDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAidW5leHBlY3RlZCBrZXlzOiAlcyIgJSB1bmV4cCkKIAotdGVzdF9jbGFzc2VzLmFwcGVuZCh0ZXN0X2V4cG9ydHMpCiAKLQotY2xhc3MgdGVzdF9fUmFuZG9tTmFtZVNlcXVlbmNlKFRDKToKK2NsYXNzIFRlc3RSYW5kb21OYW1lU2VxdWVuY2UoQmFzZVRlc3RDYXNlKToKICAgICAiIiJUZXN0IHRoZSBpbnRlcm5hbCBpdGVyYXRvciBvYmplY3QgX1JhbmRvbU5hbWVTZXF1ZW5jZS4iIiIKIAogICAgIGRlZiBzZXRVcChzZWxmKToKQEAgLTEyOCwxMyArMTIwLDEwIEBACiAKICAgICAgICAgaSA9IDAKICAgICAgICAgciA9IHNlbGYucgotICAgICAgICB0cnk6Ci0gICAgICAgICAgICBmb3IgcyBpbiByOgotICAgICAgICAgICAgICAgIGkgKz0gMQotICAgICAgICAgICAgICAgIGlmIGkgPT0gMjA6Ci0gICAgICAgICAgICAgICAgICAgIGJyZWFrCi0gICAgICAgIGV4Y2VwdDoKLSAgICAgICAgICAgIHNlbGYuZmFpbE9uRXhjZXB0aW9uKCJpdGVyYXRpb24iKQorICAgICAgICBmb3IgcyBpbiByOgorICAgICAgICAgICAgaSArPSAxCisgICAgICAgICAgICBpZiBpID09IDIwOgorICAgICAgICAgICAgICAgIGJyZWFrCiAKICAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhoYXNhdHRyKG9zLCAnZm9yaycpLAogICAgICAgICAib3MuZm9yayBpcyByZXF1aXJlZCBmb3IgdGhpcyB0ZXN0IikKQEAgLTE2NywxMCArMTU2LDggQEAKICAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbChjaGlsZF92YWx1ZSwgcGFyZW50X3ZhbHVlKQogCiAKLXRlc3RfY2xhc3Nlcy5hcHBlbmQodGVzdF9fUmFuZG9tTmFtZVNlcXVlbmNlKQogCi0KLWNsYXNzIHRlc3RfX2NhbmRpZGF0ZV90ZW1wZGlyX2xpc3QoVEMpOgorY2xhc3MgVGVzdENhbmRpZGF0ZVRlbXBkaXJMaXN0KEJhc2VUZXN0Q2FzZSk6CiAgICAgIiIiVGVzdCB0aGUgaW50ZXJuYWwgZnVuY3Rpb24gX2NhbmRpZGF0ZV90ZW1wZGlyX2xpc3QuIiIiCiAKICAgICBkZWYgdGVzdF9ub25lbXB0eV9saXN0KHNlbGYpOgpAQCAtMjA5LDEzICsxOTYsMTEgQEAKICAgICAgICAgICAgICMgTm90IHByYWN0aWNhbCB0byB0cnkgdG8gdmVyaWZ5IHRoZSBwcmVzZW5jZSBvZiBPUy1zcGVjaWZpYwogICAgICAgICAgICAgIyBwYXRocyBpbiB0aGlzIGxpc3QuCiAKLXRlc3RfY2xhc3Nlcy5hcHBlbmQodGVzdF9fY2FuZGlkYXRlX3RlbXBkaXJfbGlzdCkKLQogCiAjIFdlIHRlc3QgX2dldF9kZWZhdWx0X3RlbXBkaXIgYnkgdGVzdGluZyBnZXR0ZW1wZGlyLgogCiAKLWNsYXNzIHRlc3RfX2dldF9jYW5kaWRhdGVfbmFtZXMoVEMpOgorY2xhc3MgVGVzdEdldENhbmRpZGF0ZU5hbWVzKEJhc2VUZXN0Q2FzZSk6CiAgICAgIiIiVGVzdCB0aGUgaW50ZXJuYWwgZnVuY3Rpb24gX2dldF9jYW5kaWRhdGVfbmFtZXMuIiIiCiAKICAgICBkZWYgdGVzdF9yZXR2YWwoc2VsZik6CkBAIC0yMzAsMTAgKzIxNSw4IEBACiAKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGEgaXMgYikKIAotdGVzdF9jbGFzc2VzLmFwcGVuZCh0ZXN0X19nZXRfY2FuZGlkYXRlX25hbWVzKQogCi0KLWNsYXNzIHRlc3RfX21rc3RlbXBfaW5uZXIoVEMpOgorY2xhc3MgVGVzdE1rc3RlbXBJbm5lcihCYXNlVGVzdENhc2UpOgogICAgICIiIlRlc3QgdGhlIGludGVybmFsIGZ1bmN0aW9uIF9ta3N0ZW1wX2lubmVyLiIiIgogCiAgICAgY2xhc3MgbWtzdGVtcGVkOgpAQCAtMjU4LDEwICsyNDEsNyBAQAogICAgIGRlZiBkb19jcmVhdGUoc2VsZiwgZGlyPU5vbmUsIHByZT0iIiwgc3VmPSIiLCBiaW49MSk6CiAgICAgICAgIGlmIGRpciBpcyBOb25lOgogICAgICAgICAgICAgZGlyID0gdGVtcGZpbGUuZ2V0dGVtcGRpcigpCi0gICAgICAgIHRyeToKLSAgICAgICAgICAgIGZpbGUgPSBzZWxmLm1rc3RlbXBlZChkaXIsIHByZSwgc3VmLCBiaW4pCi0gICAgICAgIGV4Y2VwdDoKLSAgICAgICAgICAgIHNlbGYuZmFpbE9uRXhjZXB0aW9uKCJfbWtzdGVtcF9pbm5lciIpCisgICAgICAgIGZpbGUgPSBzZWxmLm1rc3RlbXBlZChkaXIsIHByZSwgc3VmLCBiaW4pCiAKICAgICAgICAgc2VsZi5uYW1lQ2hlY2soZmlsZS5uYW1lLCBkaXIsIHByZSwgc3VmKQogICAgICAgICByZXR1cm4gZmlsZQpAQCAtMzUzLDEwICszMzMsOCBAQAogICAgICAgICBvcy5sc2VlayhmLmZkLCAwLCBvcy5TRUVLX1NFVCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvcy5yZWFkKGYuZmQsIDIwKSwgYiJibGF0IikKIAotdGVzdF9jbGFzc2VzLmFwcGVuZCh0ZXN0X19ta3N0ZW1wX2lubmVyKQogCi0KLWNsYXNzIHRlc3RfZ2V0dGVtcHByZWZpeChUQyk6CitjbGFzcyBUZXN0R2V0VGVtcFByZWZpeChCYXNlVGVzdENhc2UpOgogICAgICIiIlRlc3QgZ2V0dGVtcHByZWZpeCgpLiIiIgogCiAgICAgZGVmIHRlc3Rfc2FuZV90ZW1wbGF0ZShzZWxmKToKQEAgLTM3NiwxOSArMzU0LDE0IEBACiAgICAgICAgIGQgPSB0ZW1wZmlsZS5ta2R0ZW1wKHByZWZpeD0iIikKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgcCA9IG9zLnBhdGguam9pbihkLCBwKQotICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgIGZkID0gb3Mub3BlbihwLCBvcy5PX1JEV1IgfCBvcy5PX0NSRUFUKQotICAgICAgICAgICAgZXhjZXB0OgotICAgICAgICAgICAgICAgIHNlbGYuZmFpbE9uRXhjZXB0aW9uKCJvcy5vcGVuIikKKyAgICAgICAgICAgIGZkID0gb3Mub3BlbihwLCBvcy5PX1JEV1IgfCBvcy5PX0NSRUFUKQogICAgICAgICAgICAgb3MuY2xvc2UoZmQpCiAgICAgICAgICAgICBvcy51bmxpbmsocCkKICAgICAgICAgZmluYWxseToKICAgICAgICAgICAgIG9zLnJtZGlyKGQpCiAKLXRlc3RfY2xhc3Nlcy5hcHBlbmQodGVzdF9nZXR0ZW1wcHJlZml4KQogCi0KLWNsYXNzIHRlc3RfZ2V0dGVtcGRpcihUQyk6CitjbGFzcyBUZXN0R2V0VGVtcERpcihCYXNlVGVzdENhc2UpOgogICAgICIiIlRlc3QgZ2V0dGVtcGRpcigpLiIiIgogCiAgICAgZGVmIHRlc3RfZGlyZWN0b3J5X2V4aXN0cyhzZWxmKToKQEAgLTQwNiwxMiArMzc5LDkgQEAKICAgICAgICAgIyBzbmVha3k6IGp1c3QgaW5zdGFudGlhdGUgYSBOYW1lZFRlbXBvcmFyeUZpbGUsIHdoaWNoCiAgICAgICAgICMgZGVmYXVsdHMgdG8gd3JpdGluZyBpbnRvIHRoZSBkaXJlY3RvcnkgcmV0dXJuZWQgYnkKICAgICAgICAgIyBnZXR0ZW1wZGlyLgotICAgICAgICB0cnk6Ci0gICAgICAgICAgICBmaWxlID0gdGVtcGZpbGUuTmFtZWRUZW1wb3JhcnlGaWxlKCkKLSAgICAgICAgICAgIGZpbGUud3JpdGUoYiJibGF0IikKLSAgICAgICAgICAgIGZpbGUuY2xvc2UoKQotICAgICAgICBleGNlcHQ6Ci0gICAgICAgICAgICBzZWxmLmZhaWxPbkV4Y2VwdGlvbigiY3JlYXRlIGZpbGUgaW4gJXMiICUgdGVtcGZpbGUuZ2V0dGVtcGRpcigpKQorICAgICAgICBmaWxlID0gdGVtcGZpbGUuTmFtZWRUZW1wb3JhcnlGaWxlKCkKKyAgICAgICAgZmlsZS53cml0ZShiImJsYXQiKQorICAgICAgICBmaWxlLmNsb3NlKCkKIAogICAgIGRlZiB0ZXN0X3NhbWVfdGhpbmcoc2VsZik6CiAgICAgICAgICMgZ2V0dGVtcGRpciBhbHdheXMgcmV0dXJucyB0aGUgc2FtZSBvYmplY3QKQEAgLTQyMCwyMyArMzkwLDE4IEBACiAKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGEgaXMgYikKIAotdGVzdF9jbGFzc2VzLmFwcGVuZCh0ZXN0X2dldHRlbXBkaXIpCiAKLQotY2xhc3MgdGVzdF9ta3N0ZW1wKFRDKToKK2NsYXNzIFRlc3RNa3N0ZW1wKEJhc2VUZXN0Q2FzZSk6CiAgICAgIiIiVGVzdCBta3N0ZW1wKCkuIiIiCiAKICAgICBkZWYgZG9fY3JlYXRlKHNlbGYsIGRpcj1Ob25lLCBwcmU9IiIsIHN1Zj0iIik6CiAgICAgICAgIGlmIGRpciBpcyBOb25lOgogICAgICAgICAgICAgZGlyID0gdGVtcGZpbGUuZ2V0dGVtcGRpcigpCi0gICAgICAgIHRyeToKLSAgICAgICAgICAgIChmZCwgbmFtZSkgPSB0ZW1wZmlsZS5ta3N0ZW1wKGRpcj1kaXIsIHByZWZpeD1wcmUsIHN1ZmZpeD1zdWYpCi0gICAgICAgICAgICAobmRpciwgbmJhc2UpID0gb3MucGF0aC5zcGxpdChuYW1lKQotICAgICAgICAgICAgYWRpciA9IG9zLnBhdGguYWJzcGF0aChkaXIpCi0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGFkaXIsIG5kaXIsCi0gICAgICAgICAgICAgICAgIkRpcmVjdG9yeSAnJXMnIGluY29ycmVjdGx5IHJldHVybmVkIGFzICclcyciICUgKGFkaXIsIG5kaXIpKQotICAgICAgICBleGNlcHQ6Ci0gICAgICAgICAgICBzZWxmLmZhaWxPbkV4Y2VwdGlvbigibWtzdGVtcCIpCisgICAgICAgIChmZCwgbmFtZSkgPSB0ZW1wZmlsZS5ta3N0ZW1wKGRpcj1kaXIsIHByZWZpeD1wcmUsIHN1ZmZpeD1zdWYpCisgICAgICAgIChuZGlyLCBuYmFzZSkgPSBvcy5wYXRoLnNwbGl0KG5hbWUpCisgICAgICAgIGFkaXIgPSBvcy5wYXRoLmFic3BhdGgoZGlyKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGFkaXIsIG5kaXIsCisgICAgICAgICAgICAiRGlyZWN0b3J5ICclcycgaW5jb3JyZWN0bHkgcmV0dXJuZWQgYXMgJyVzJyIgJSAoYWRpciwgbmRpcikpCiAKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgc2VsZi5uYW1lQ2hlY2sobmFtZSwgZGlyLCBwcmUsIHN1ZikKQEAgLTQ2MSwxOSArNDI2LDE0IEBACiAgICAgICAgIGZpbmFsbHk6CiAgICAgICAgICAgICBvcy5ybWRpcihkaXIpCiAKLXRlc3RfY2xhc3Nlcy5hcHBlbmQodGVzdF9ta3N0ZW1wKQogCi0KLWNsYXNzIHRlc3RfbWtkdGVtcChUQyk6CitjbGFzcyBUZXN0TWtkdGVtcChCYXNlVGVzdENhc2UpOgogICAgICIiIlRlc3QgbWtkdGVtcCgpLiIiIgogCiAgICAgZGVmIGRvX2NyZWF0ZShzZWxmLCBkaXI9Tm9uZSwgcHJlPSIiLCBzdWY9IiIpOgogICAgICAgICBpZiBkaXIgaXMgTm9uZToKICAgICAgICAgICAgIGRpciA9IHRlbXBmaWxlLmdldHRlbXBkaXIoKQotICAgICAgICB0cnk6Ci0gICAgICAgICAgICBuYW1lID0gdGVtcGZpbGUubWtkdGVtcChkaXI9ZGlyLCBwcmVmaXg9cHJlLCBzdWZmaXg9c3VmKQotICAgICAgICBleGNlcHQ6Ci0gICAgICAgICAgICBzZWxmLmZhaWxPbkV4Y2VwdGlvbigibWtkdGVtcCIpCisgICAgICAgIG5hbWUgPSB0ZW1wZmlsZS5ta2R0ZW1wKGRpcj1kaXIsIHByZWZpeD1wcmUsIHN1ZmZpeD1zdWYpCiAKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgc2VsZi5uYW1lQ2hlY2sobmFtZSwgZGlyLCBwcmUsIHN1ZikKQEAgLTUyOCwxMCArNDg4LDggQEAKICAgICAgICAgZmluYWxseToKICAgICAgICAgICAgIG9zLnJtZGlyKGRpcikKIAotdGVzdF9jbGFzc2VzLmFwcGVuZCh0ZXN0X21rZHRlbXApCiAKLQotY2xhc3MgdGVzdF9ta3RlbXAoVEMpOgorY2xhc3MgVGVzdE1rdGVtcChCYXNlVGVzdENhc2UpOgogICAgICIiIlRlc3QgbWt0ZW1wKCkuIiIiCiAKICAgICAjIEZvciBzYWZldHksIGFsbCB1c2Ugb2YgbWt0ZW1wIG11c3Qgb2NjdXIgaW4gYSBwcml2YXRlIGRpcmVjdG9yeS4KQEAgLTU2MCwxMCArNTE4LDcgQEAKICAgICAgICAgICAgIHNlbGYuX3VubGluayhzZWxmLm5hbWUpCiAKICAgICBkZWYgZG9fY3JlYXRlKHNlbGYsIHByZT0iIiwgc3VmPSIiKToKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgZmlsZSA9IHNlbGYubWt0ZW1wZWQoc2VsZi5kaXIsIHByZSwgc3VmKQotICAgICAgICBleGNlcHQ6Ci0gICAgICAgICAgICBzZWxmLmZhaWxPbkV4Y2VwdGlvbigibWt0ZW1wIikKKyAgICAgICAgZmlsZSA9IHNlbGYubWt0ZW1wZWQoc2VsZi5kaXIsIHByZSwgc3VmKQogCiAgICAgICAgIHNlbGYubmFtZUNoZWNrKGZpbGUubmFtZSwgc2VsZi5kaXIsIHByZSwgc3VmKQogICAgICAgICByZXR1cm4gZmlsZQpAQCAtNTkwLDIzICs1NDUsMTggQEAKICMjICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoUnVudGltZVdhcm5pbmcsCiAjIyAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlbXBmaWxlLm1rdGVtcCwgZGlyPXNlbGYuZGlyKQogCi10ZXN0X2NsYXNzZXMuYXBwZW5kKHRlc3RfbWt0ZW1wKQotCiAKICMgV2UgdGVzdCBfVGVtcG9yYXJ5RmlsZVdyYXBwZXIgYnkgdGVzdGluZyBOYW1lZFRlbXBvcmFyeUZpbGUuCiAKIAotY2xhc3MgdGVzdF9OYW1lZFRlbXBvcmFyeUZpbGUoVEMpOgorY2xhc3MgVGVzdE5hbWVkVGVtcG9yYXJ5RmlsZShCYXNlVGVzdENhc2UpOgogICAgICIiIlRlc3QgTmFtZWRUZW1wb3JhcnlGaWxlKCkuIiIiCiAKICAgICBkZWYgZG9fY3JlYXRlKHNlbGYsIGRpcj1Ob25lLCBwcmU9IiIsIHN1Zj0iIiwgZGVsZXRlPVRydWUpOgogICAgICAgICBpZiBkaXIgaXMgTm9uZToKICAgICAgICAgICAgIGRpciA9IHRlbXBmaWxlLmdldHRlbXBkaXIoKQotICAgICAgICB0cnk6Ci0gICAgICAgICAgICBmaWxlID0gdGVtcGZpbGUuTmFtZWRUZW1wb3JhcnlGaWxlKGRpcj1kaXIsIHByZWZpeD1wcmUsIHN1ZmZpeD1zdWYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbGV0ZT1kZWxldGUpCi0gICAgICAgIGV4Y2VwdDoKLSAgICAgICAgICAgIHNlbGYuZmFpbE9uRXhjZXB0aW9uKCJOYW1lZFRlbXBvcmFyeUZpbGUiKQorICAgICAgICBmaWxlID0gdGVtcGZpbGUuTmFtZWRUZW1wb3JhcnlGaWxlKGRpcj1kaXIsIHByZWZpeD1wcmUsIHN1ZmZpeD1zdWYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsZXRlPWRlbGV0ZSkKIAogICAgICAgICBzZWxmLm5hbWVDaGVjayhmaWxlLm5hbWUsIGRpciwgcHJlLCBzdWYpCiAgICAgICAgIHJldHVybiBmaWxlCkBAIC02NTksMTEgKzYwOSw4IEBACiAgICAgICAgIGYgPSB0ZW1wZmlsZS5OYW1lZFRlbXBvcmFyeUZpbGUoKQogICAgICAgICBmLndyaXRlKGInYWJjXG4nKQogICAgICAgICBmLmNsb3NlKCkKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgZi5jbG9zZSgpCi0gICAgICAgICAgICBmLmNsb3NlKCkKLSAgICAgICAgZXhjZXB0OgotICAgICAgICAgICAgc2VsZi5mYWlsT25FeGNlcHRpb24oImNsb3NlIikKKyAgICAgICAgZi5jbG9zZSgpCisgICAgICAgIGYuY2xvc2UoKQogCiAgICAgZGVmIHRlc3RfY29udGV4dF9tYW5hZ2VyKHNlbGYpOgogICAgICAgICAjIEEgTmFtZWRUZW1wb3JhcnlGaWxlIGNhbiBiZSB1c2VkIGFzIGEgY29udGV4dCBtYW5hZ2VyCkBAIC02NzcsMTggKzYyNCwxNCBAQAogCiAgICAgIyBIb3cgdG8gdGVzdCB0aGUgbW9kZSBhbmQgYnVmc2l6ZSBwYXJhbWV0ZXJzPwogCi10ZXN0X2NsYXNzZXMuYXBwZW5kKHRlc3RfTmFtZWRUZW1wb3JhcnlGaWxlKQogCi1jbGFzcyB0ZXN0X1Nwb29sZWRUZW1wb3JhcnlGaWxlKFRDKToKK2NsYXNzIFRlc3RTcG9vbGVkVGVtcG9yYXJ5RmlsZShCYXNlVGVzdENhc2UpOgogICAgICIiIlRlc3QgU3Bvb2xlZFRlbXBvcmFyeUZpbGUoKS4iIiIKIAogICAgIGRlZiBkb19jcmVhdGUoc2VsZiwgbWF4X3NpemU9MCwgZGlyPU5vbmUsIHByZT0iIiwgc3VmPSIiKToKICAgICAgICAgaWYgZGlyIGlzIE5vbmU6CiAgICAgICAgICAgICBkaXIgPSB0ZW1wZmlsZS5nZXR0ZW1wZGlyKCkKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgZmlsZSA9IHRlbXBmaWxlLlNwb29sZWRUZW1wb3JhcnlGaWxlKG1heF9zaXplPW1heF9zaXplLCBkaXI9ZGlyLCBwcmVmaXg9cHJlLCBzdWZmaXg9c3VmKQotICAgICAgICBleGNlcHQ6Ci0gICAgICAgICAgICBzZWxmLmZhaWxPbkV4Y2VwdGlvbigiU3Bvb2xlZFRlbXBvcmFyeUZpbGUiKQorICAgICAgICBmaWxlID0gdGVtcGZpbGUuU3Bvb2xlZFRlbXBvcmFyeUZpbGUobWF4X3NpemU9bWF4X3NpemUsIGRpcj1kaXIsIHByZWZpeD1wcmUsIHN1ZmZpeD1zdWYpCiAKICAgICAgICAgcmV0dXJuIGZpbGUKIApAQCAtNzc2LDExICs3MTksOCBAQAogICAgICAgICBmLndyaXRlKGInYWJjXG4nKQogICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGYuX3JvbGxlZCkKICAgICAgICAgZi5jbG9zZSgpCi0gICAgICAgIHRyeToKLSAgICAgICAgICAgIGYuY2xvc2UoKQotICAgICAgICAgICAgZi5jbG9zZSgpCi0gICAgICAgIGV4Y2VwdDoKLSAgICAgICAgICAgIHNlbGYuZmFpbE9uRXhjZXB0aW9uKCJjbG9zZSIpCisgICAgICAgIGYuY2xvc2UoKQorICAgICAgICBmLmNsb3NlKCkKIAogICAgIGRlZiB0ZXN0X211bHRpcGxlX2Nsb3NlX2FmdGVyX3JvbGxvdmVyKHNlbGYpOgogICAgICAgICAjIEEgU3Bvb2xlZFRlbXBvcmFyeUZpbGUgY2FuIGJlIGNsb3NlZCBtYW55IHRpbWVzIHdpdGhvdXQgZXJyb3IKQEAgLTc4OCwxMSArNzI4LDggQEAKICAgICAgICAgZi53cml0ZShiJ2FiY1xuJykKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGYuX3JvbGxlZCkKICAgICAgICAgZi5jbG9zZSgpCi0gICAgICAgIHRyeToKLSAgICAgICAgICAgIGYuY2xvc2UoKQotICAgICAgICAgICAgZi5jbG9zZSgpCi0gICAgICAgIGV4Y2VwdDoKLSAgICAgICAgICAgIHNlbGYuZmFpbE9uRXhjZXB0aW9uKCJjbG9zZSIpCisgICAgICAgIGYuY2xvc2UoKQorICAgICAgICBmLmNsb3NlKCkKIAogICAgIGRlZiB0ZXN0X2JvdW5kX21ldGhvZHMoc2VsZik6CiAgICAgICAgICMgSXQgc2hvdWxkIGJlIE9LIHRvIHN0ZWFsIGEgYm91bmQgbWV0aG9kIGZyb20gYSBTcG9vbGVkVGVtcG9yYXJ5RmlsZQpAQCAtODc4LDY2ICs4MTUsNzYgQEAKICAgICAgICAgICAgICAgICBwYXNzCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIHVzZV9jbG9zZWQpCiAKLQotdGVzdF9jbGFzc2VzLmFwcGVuZCh0ZXN0X1Nwb29sZWRUZW1wb3JhcnlGaWxlKQotCi0KLWNsYXNzIHRlc3RfVGVtcG9yYXJ5RmlsZShUQyk6Ci0gICAgIiIiVGVzdCBUZW1wb3JhcnlGaWxlKCkuIiIiCi0KLSAgICBkZWYgdGVzdF9iYXNpYyhzZWxmKToKLSAgICAgICAgIyBUZW1wb3JhcnlGaWxlIGNhbiBjcmVhdGUgZmlsZXMKLSAgICAgICAgIyBObyBwb2ludCBpbiB0ZXN0aW5nIHRoZSBuYW1lIHBhcmFtcyAtIHRoZSBmaWxlIGhhcyBubyBuYW1lLgotICAgICAgICB0cnk6Ci0gICAgICAgICAgICB0ZW1wZmlsZS5UZW1wb3JhcnlGaWxlKCkKLSAgICAgICAgZXhjZXB0OgotICAgICAgICAgICAgc2VsZi5mYWlsT25FeGNlcHRpb24oIlRlbXBvcmFyeUZpbGUiKQotCi0gICAgZGVmIHRlc3RfaGFzX25vX25hbWUoc2VsZik6Ci0gICAgICAgICMgVGVtcG9yYXJ5RmlsZSBjcmVhdGVzIGZpbGVzIHdpdGggbm8gbmFtZXMgKG9uIHRoaXMgc3lzdGVtKQotICAgICAgICBkaXIgPSB0ZW1wZmlsZS5ta2R0ZW1wKCkKLSAgICAgICAgZiA9IHRlbXBmaWxlLlRlbXBvcmFyeUZpbGUoZGlyPWRpcikKLSAgICAgICAgZi53cml0ZShiJ2JsYXQnKQotCi0gICAgICAgICMgU25lYWt5OiBiZWNhdXNlIHRoaXMgZmlsZSBoYXMgbm8gbmFtZSwgaXQgc2hvdWxkIG5vdCBwcmV2ZW50Ci0gICAgICAgICMgdXMgZnJvbSByZW1vdmluZyB0aGUgZGlyZWN0b3J5IGl0IHdhcyBjcmVhdGVkIGluLgotICAgICAgICB0cnk6Ci0gICAgICAgICAgICBvcy5ybWRpcihkaXIpCi0gICAgICAgIGV4Y2VwdDoKLSAgICAgICAgICAgIGVpID0gc3lzLmV4Y19pbmZvKCkKLSAgICAgICAgICAgICMgY2xlYW51cAotICAgICAgICAgICAgZi5jbG9zZSgpCi0gICAgICAgICAgICBvcy5ybWRpcihkaXIpCi0gICAgICAgICAgICBzZWxmLmZhaWxPbkV4Y2VwdGlvbigicm1kaXIiLCBlaSkKLQotICAgIGRlZiB0ZXN0X211bHRpcGxlX2Nsb3NlKHNlbGYpOgotICAgICAgICAjIEEgVGVtcG9yYXJ5RmlsZSBjYW4gYmUgY2xvc2VkIG1hbnkgdGltZXMgd2l0aG91dCBlcnJvcgotICAgICAgICBmID0gdGVtcGZpbGUuVGVtcG9yYXJ5RmlsZSgpCi0gICAgICAgIGYud3JpdGUoYidhYmNcbicpCi0gICAgICAgIGYuY2xvc2UoKQotICAgICAgICB0cnk6Ci0gICAgICAgICAgICBmLmNsb3NlKCkKLSAgICAgICAgICAgIGYuY2xvc2UoKQotICAgICAgICBleGNlcHQ6Ci0gICAgICAgICAgICBzZWxmLmZhaWxPbkV4Y2VwdGlvbigiY2xvc2UiKQotCi0gICAgIyBIb3cgdG8gdGVzdCB0aGUgbW9kZSBhbmQgYnVmc2l6ZSBwYXJhbWV0ZXJzPwotICAgIGRlZiB0ZXN0X21vZGVfYW5kX2VuY29kaW5nKHNlbGYpOgotCi0gICAgICAgIGRlZiByb3VuZHRyaXAoaW5wdXQsICphcmdzLCAqKmt3YXJncyk6Ci0gICAgICAgICAgICB3aXRoIHRlbXBmaWxlLlRlbXBvcmFyeUZpbGUoKmFyZ3MsICoqa3dhcmdzKSBhcyBmaWxlb2JqOgotICAgICAgICAgICAgICAgIGZpbGVvYmoud3JpdGUoaW5wdXQpCi0gICAgICAgICAgICAgICAgZmlsZW9iai5zZWVrKDApCi0gICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChpbnB1dCwgZmlsZW9iai5yZWFkKCkpCi0KLSAgICAgICAgcm91bmR0cmlwKGIiMTIzNCIsICJ3K2IiKQotICAgICAgICByb3VuZHRyaXAoImFiZGNcbiIsICJ3KyIpCi0gICAgICAgIHJvdW5kdHJpcCgiXHUwMzlCIiwgIncrIiwgZW5jb2Rpbmc9InV0Zi0xNiIpCi0gICAgICAgIHJvdW5kdHJpcCgiZm9vXHJcbiIsICJ3KyIsIG5ld2xpbmU9IiIpCisgICAgZGVmIHRlc3RfdHJ1bmNhdGVfd2l0aF9zaXplX3BhcmFtZXRlcihzZWxmKToKKyAgICAgICAgIyBBIFNwb29sZWRUZW1wb3JhcnlGaWxlIGNhbiBiZSB0cnVuY2F0ZWQgdG8gemVybyBzaXplCisgICAgICAgIGYgPSB0ZW1wZmlsZS5TcG9vbGVkVGVtcG9yYXJ5RmlsZShtYXhfc2l6ZT0xMCkKKyAgICAgICAgZi53cml0ZShiJ2FiY2RlZmdcbicpCisgICAgICAgIGYuc2VlaygwKQorICAgICAgICBmLnRydW5jYXRlKCkKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShmLl9yb2xsZWQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZi5fZmlsZS5nZXR2YWx1ZSgpLCBiJycpCisgICAgICAgICMgQSBTcG9vbGVkVGVtcG9yYXJ5RmlsZSBjYW4gYmUgdHJ1bmNhdGVkIHRvIGEgc3BlY2lmaWMgc2l6ZQorICAgICAgICBmID0gdGVtcGZpbGUuU3Bvb2xlZFRlbXBvcmFyeUZpbGUobWF4X3NpemU9MTApCisgICAgICAgIGYud3JpdGUoYidhYmNkZWZnXG4nKQorICAgICAgICBmLnRydW5jYXRlKDQpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoZi5fcm9sbGVkKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGYuX2ZpbGUuZ2V0dmFsdWUoKSwgYidhYmNkJykKKyAgICAgICAgIyBBIFNwb29sZWRUZW1wb3JhcnlGaWxlIHJvbGxzIG92ZXIgaWYgdHJ1bmNhdGVkIHRvIGxhcmdlIHNpemUKKyAgICAgICAgZiA9IHRlbXBmaWxlLlNwb29sZWRUZW1wb3JhcnlGaWxlKG1heF9zaXplPTEwKQorICAgICAgICBmLndyaXRlKGInYWJjZGVmZ1xuJykKKyAgICAgICAgZi50cnVuY2F0ZSgyMCkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGYuX3JvbGxlZCkKKyAgICAgICAgaWYgaGFzX3N0YXQ6CisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG9zLmZzdGF0KGYuZmlsZW5vKCkpLnN0X3NpemUsIDIwKQogCiAKIGlmIHRlbXBmaWxlLk5hbWVkVGVtcG9yYXJ5RmlsZSBpcyBub3QgdGVtcGZpbGUuVGVtcG9yYXJ5RmlsZToKLSAgICB0ZXN0X2NsYXNzZXMuYXBwZW5kKHRlc3RfVGVtcG9yYXJ5RmlsZSkKKworICAgIGNsYXNzIFRlc3RUZW1wb3JhcnlGaWxlKEJhc2VUZXN0Q2FzZSk6CisgICAgICAgICIiIlRlc3QgVGVtcG9yYXJ5RmlsZSgpLiIiIgorCisgICAgICAgIGRlZiB0ZXN0X2Jhc2ljKHNlbGYpOgorICAgICAgICAgICAgIyBUZW1wb3JhcnlGaWxlIGNhbiBjcmVhdGUgZmlsZXMKKyAgICAgICAgICAgICMgTm8gcG9pbnQgaW4gdGVzdGluZyB0aGUgbmFtZSBwYXJhbXMgLSB0aGUgZmlsZSBoYXMgbm8gbmFtZS4KKyAgICAgICAgICAgIHRlbXBmaWxlLlRlbXBvcmFyeUZpbGUoKQorCisgICAgICAgIGRlZiB0ZXN0X2hhc19ub19uYW1lKHNlbGYpOgorICAgICAgICAgICAgIyBUZW1wb3JhcnlGaWxlIGNyZWF0ZXMgZmlsZXMgd2l0aCBubyBuYW1lcyAob24gdGhpcyBzeXN0ZW0pCisgICAgICAgICAgICBkaXIgPSB0ZW1wZmlsZS5ta2R0ZW1wKCkKKyAgICAgICAgICAgIGYgPSB0ZW1wZmlsZS5UZW1wb3JhcnlGaWxlKGRpcj1kaXIpCisgICAgICAgICAgICBmLndyaXRlKGInYmxhdCcpCisKKyAgICAgICAgICAgICMgU25lYWt5OiBiZWNhdXNlIHRoaXMgZmlsZSBoYXMgbm8gbmFtZSwgaXQgc2hvdWxkIG5vdCBwcmV2ZW50CisgICAgICAgICAgICAjIHVzIGZyb20gcmVtb3ZpbmcgdGhlIGRpcmVjdG9yeSBpdCB3YXMgY3JlYXRlZCBpbi4KKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBvcy5ybWRpcihkaXIpCisgICAgICAgICAgICBleGNlcHQ6CisgICAgICAgICAgICAgICAgIyBjbGVhbnVwCisgICAgICAgICAgICAgICAgZi5jbG9zZSgpCisgICAgICAgICAgICAgICAgb3Mucm1kaXIoZGlyKQorICAgICAgICAgICAgICAgIHJhaXNlCisKKyAgICAgICAgZGVmIHRlc3RfbXVsdGlwbGVfY2xvc2Uoc2VsZik6CisgICAgICAgICAgICAjIEEgVGVtcG9yYXJ5RmlsZSBjYW4gYmUgY2xvc2VkIG1hbnkgdGltZXMgd2l0aG91dCBlcnJvcgorICAgICAgICAgICAgZiA9IHRlbXBmaWxlLlRlbXBvcmFyeUZpbGUoKQorICAgICAgICAgICAgZi53cml0ZShiJ2FiY1xuJykKKyAgICAgICAgICAgIGYuY2xvc2UoKQorICAgICAgICAgICAgZi5jbG9zZSgpCisgICAgICAgICAgICBmLmNsb3NlKCkKKworICAgICAgICAjIEhvdyB0byB0ZXN0IHRoZSBtb2RlIGFuZCBidWZzaXplIHBhcmFtZXRlcnM/CisgICAgICAgIGRlZiB0ZXN0X21vZGVfYW5kX2VuY29kaW5nKHNlbGYpOgorCisgICAgICAgICAgICBkZWYgcm91bmR0cmlwKGlucHV0LCAqYXJncywgKiprd2FyZ3MpOgorICAgICAgICAgICAgICAgIHdpdGggdGVtcGZpbGUuVGVtcG9yYXJ5RmlsZSgqYXJncywgKiprd2FyZ3MpIGFzIGZpbGVvYmo6CisgICAgICAgICAgICAgICAgICAgIGZpbGVvYmoud3JpdGUoaW5wdXQpCisgICAgICAgICAgICAgICAgICAgIGZpbGVvYmouc2VlaygwKQorICAgICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGlucHV0LCBmaWxlb2JqLnJlYWQoKSkKKworICAgICAgICAgICAgcm91bmR0cmlwKGIiMTIzNCIsICJ3K2IiKQorICAgICAgICAgICAgcm91bmR0cmlwKCJhYmRjXG4iLCAidysiKQorICAgICAgICAgICAgcm91bmR0cmlwKCJcdTAzOUIiLCAidysiLCBlbmNvZGluZz0idXRmLTE2IikKKyAgICAgICAgICAgIHJvdW5kdHJpcCgiZm9vXHJcbiIsICJ3KyIsIG5ld2xpbmU9IiIpCiAKIAogIyBIZWxwZXIgZm9yIHRlc3RfZGVsX29uX3NodXRkb3duCkBAIC05NTYsMTYgKzkwMywxMyBAQAogICAgICAgICAgICAgZC5jbGVhcigpCiAgICAgICAgICAgICBkLnVwZGF0ZShjKQogCi1jbGFzcyB0ZXN0X1RlbXBvcmFyeURpcmVjdG9yeShUQyk6CitjbGFzcyBUZXN0VGVtcG9yYXJ5RGlyZWN0b3J5KEJhc2VUZXN0Q2FzZSk6CiAgICAgIiIiVGVzdCBUZW1wb3JhcnlEaXJlY3RvcnkoKS4iIiIKIAogICAgIGRlZiBkb19jcmVhdGUoc2VsZiwgZGlyPU5vbmUsIHByZT0iIiwgc3VmPSIiLCByZWN1cnNlPTEpOgogICAgICAgICBpZiBkaXIgaXMgTm9uZToKICAgICAgICAgICAgIGRpciA9IHRlbXBmaWxlLmdldHRlbXBkaXIoKQotICAgICAgICB0cnk6Ci0gICAgICAgICAgICB0bXAgPSB0ZW1wZmlsZS5UZW1wb3JhcnlEaXJlY3RvcnkoZGlyPWRpciwgcHJlZml4PXByZSwgc3VmZml4PXN1ZikKLSAgICAgICAgZXhjZXB0OgotICAgICAgICAgICAgc2VsZi5mYWlsT25FeGNlcHRpb24oIlRlbXBvcmFyeURpcmVjdG9yeSIpCisgICAgICAgIHRtcCA9IHRlbXBmaWxlLlRlbXBvcmFyeURpcmVjdG9yeShkaXI9ZGlyLCBwcmVmaXg9cHJlLCBzdWZmaXg9c3VmKQogICAgICAgICBzZWxmLm5hbWVDaGVjayh0bXAubmFtZSwgZGlyLCBwcmUsIHN1ZikKICAgICAgICAgIyBDcmVhdGUgYSBzdWJkaXJlY3RvcnkgYW5kIHNvbWUgZmlsZXMKICAgICAgICAgaWYgcmVjdXJzZToKQEAgLTEwODksMTEgKzEwMzMsOCBAQAogICAgICAgICAjIENhbiBiZSBjbGVhbmVkLXVwIG1hbnkgdGltZXMgd2l0aG91dCBlcnJvcgogICAgICAgICBkID0gc2VsZi5kb19jcmVhdGUoKQogICAgICAgICBkLmNsZWFudXAoKQotICAgICAgICB0cnk6Ci0gICAgICAgICAgICBkLmNsZWFudXAoKQotICAgICAgICAgICAgZC5jbGVhbnVwKCkKLSAgICAgICAgZXhjZXB0OgotICAgICAgICAgICAgc2VsZi5mYWlsT25FeGNlcHRpb24oImNsZWFudXAiKQorICAgICAgICBkLmNsZWFudXAoKQorICAgICAgICBkLmNsZWFudXAoKQogCiAgICAgZGVmIHRlc3RfY29udGV4dF9tYW5hZ2VyKHNlbGYpOgogICAgICAgICAjIENhbiBiZSB1c2VkIGFzIGEgY29udGV4dCBtYW5hZ2VyCkBAIC0xMTA0LDEwICsxMDQ1LDggQEAKICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShvcy5wYXRoLmV4aXN0cyhuYW1lKSkKIAogCi10ZXN0X2NsYXNzZXMuYXBwZW5kKHRlc3RfVGVtcG9yYXJ5RGlyZWN0b3J5KQotCiBkZWYgdGVzdF9tYWluKCk6Ci0gICAgc3VwcG9ydC5ydW5fdW5pdHRlc3QoKnRlc3RfY2xhc3NlcykKKyAgICBzdXBwb3J0LnJ1bl91bml0dGVzdChfX25hbWVfXykKIAogaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKICAgICB0ZXN0X21haW4oKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF90aHJlYWRlZF9pbXBvcnQucHkgYi9MaWIvdGVzdC90ZXN0X3RocmVhZGVkX2ltcG9ydC5weQppbmRleCA3NzkxOTM1Li43ODk5MjBiIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3RocmVhZGVkX2ltcG9ydC5weQorKysgYi9MaWIvdGVzdC90ZXN0X3RocmVhZGVkX2ltcG9ydC5weQpAQCAtMTEsOCArMTEsOCBAQAogaW1wb3J0IHRpbWUKIGltcG9ydCBzaHV0aWwKIGltcG9ydCB1bml0dGVzdAotZnJvbSB0ZXN0LnN1cHBvcnQgaW1wb3J0IHZlcmJvc2UsIGltcG9ydF9tb2R1bGUsIHJ1bl91bml0dGVzdCwgVEVTVEZOCi10aHJlYWQgPSBpbXBvcnRfbW9kdWxlKCdfdGhyZWFkJykKK2Zyb20gdGVzdC5zdXBwb3J0IGltcG9ydCAoCisgICAgdmVyYm9zZSwgaW1wb3J0X21vZHVsZSwgcnVuX3VuaXR0ZXN0LCBURVNURk4sIHJlYXBfdGhyZWFkcykKIHRocmVhZGluZyA9IGltcG9ydF9tb2R1bGUoJ3RocmVhZGluZycpCiAKIGRlZiB0YXNrKE4sIGRvbmUsIGRvbmVfdGFza3MsIGVycm9ycyk6CkBAIC0zMCw3ICszMCw3IEBACiAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgogICAgICAgICBlcnJvcnMuYXBwZW5kKGUud2l0aF90cmFjZWJhY2soTm9uZSkpCiAgICAgZmluYWxseToKLSAgICAgICAgZG9uZV90YXNrcy5hcHBlbmQodGhyZWFkLmdldF9pZGVudCgpKQorICAgICAgICBkb25lX3Rhc2tzLmFwcGVuZCh0aHJlYWRpbmcuZ2V0X2lkZW50KCkpCiAgICAgICAgIGZpbmlzaGVkID0gbGVuKGRvbmVfdGFza3MpID09IE4KICAgICAgICAgaWYgZmluaXNoZWQ6CiAgICAgICAgICAgICBkb25lLnNldCgpCkBAIC02Miw3ICs2Miw3IEBACiAgICAgZGVmIF9faW5pdF9fKHNlbGYpOgogICAgICAgICBzZWxmLm51bWNhbGxzID0gMAogICAgICAgICBzZWxmLnggPSAwCi0gICAgICAgIHNlbGYubG9jayA9IHRocmVhZC5hbGxvY2F0ZV9sb2NrKCkKKyAgICAgICAgc2VsZi5sb2NrID0gdGhyZWFkaW5nLkxvY2soKQogCiAgICAgZGVmIGZpbmRfbW9kdWxlKHNlbGYsIG5hbWUsIHBhdGg9Tm9uZSk6CiAgICAgICAgICMgU2ltdWxhdGUgc29tZSB0aHJlYWQtdW5zYWZlIGJlaGF2aW91ci4gSWYgY2FsbHMgdG8gZmluZF9tb2R1bGUoKQpAQCAtMTEzLDcgKzExMyw5IEBACiAgICAgICAgICAgICBkb25lX3Rhc2tzID0gW10KICAgICAgICAgICAgIGRvbmUuY2xlYXIoKQogICAgICAgICAgICAgZm9yIGkgaW4gcmFuZ2UoTik6Ci0gICAgICAgICAgICAgICAgdGhyZWFkLnN0YXJ0X25ld190aHJlYWQodGFzaywgKE4sIGRvbmUsIGRvbmVfdGFza3MsIGVycm9ycywpKQorICAgICAgICAgICAgICAgIHQgPSB0aHJlYWRpbmcuVGhyZWFkKHRhcmdldD10YXNrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyZ3M9KE4sIGRvbmUsIGRvbmVfdGFza3MsIGVycm9ycywpKQorICAgICAgICAgICAgICAgIHQuc3RhcnQoKQogICAgICAgICAgICAgZG9uZS53YWl0KDYwKQogICAgICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShlcnJvcnMpCiAgICAgICAgICAgICBpZiB2ZXJib3NlOgpAQCAtMjAzLDYgKzIwNSw3IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2V0KHJlc3VsdHMpLCB7J2EnLCAnYid9KQogCiAKK0ByZWFwX3RocmVhZHMKIGRlZiB0ZXN0X21haW4oKToKICAgICBydW5fdW5pdHRlc3QoVGhyZWFkZWRJbXBvcnRUZXN0cykKIApkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF90aHJlYWRpbmcucHkgYi9MaWIvdGVzdC90ZXN0X3RocmVhZGluZy5weQppbmRleCAzMjYzN2I1Li4xNDFkOTYxIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3RocmVhZGluZy5weQorKysgYi9MaWIvdGVzdC90ZXN0X3RocmVhZGluZy5weQpAQCAtMTczLDcgKzE3Myw3IEBACiAgICAgICAgIGV4Y2VwdGlvbiA9IGN0eXBlcy5weV9vYmplY3QoQXN5bmNFeGMpCiAKICAgICAgICAgIyBGaXJzdCBjaGVjayBpdCB3b3JrcyB3aGVuIHNldHRpbmcgdGhlIGV4Y2VwdGlvbiBmcm9tIHRoZSBzYW1lIHRocmVhZC4KLSAgICAgICAgdGlkID0gX3RocmVhZC5nZXRfaWRlbnQoKQorICAgICAgICB0aWQgPSB0aHJlYWRpbmcuZ2V0X2lkZW50KCkKIAogICAgICAgICB0cnk6CiAgICAgICAgICAgICByZXN1bHQgPSBzZXRfYXN5bmNfZXhjKGN0eXBlcy5jX2xvbmcodGlkKSwgZXhjZXB0aW9uKQpAQCAtMjAyLDcgKzIwMiw3IEBACiAKICAgICAgICAgY2xhc3MgV29ya2VyKHRocmVhZGluZy5UaHJlYWQpOgogICAgICAgICAgICAgZGVmIHJ1bihzZWxmKToKLSAgICAgICAgICAgICAgICBzZWxmLmlkID0gX3RocmVhZC5nZXRfaWRlbnQoKQorICAgICAgICAgICAgICAgIHNlbGYuaWQgPSB0aHJlYWRpbmcuZ2V0X2lkZW50KCkKICAgICAgICAgICAgICAgICBzZWxmLmZpbmlzaGVkID0gRmFsc2UKIAogICAgICAgICAgICAgICAgIHRyeToKQEAgLTQwNyw2ICs0MDcsMTQgQEAKICAgICAgICAgdC5kYWVtb24gPSBUcnVlCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSgnZGFlbW9uJyBpbiByZXByKHQpKQogCisgICAgZGVmIHRlc3RfZGVhbW9uX3BhcmFtKHNlbGYpOgorICAgICAgICB0ID0gdGhyZWFkaW5nLlRocmVhZCgpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UodC5kYWVtb24pCisgICAgICAgIHQgPSB0aHJlYWRpbmcuVGhyZWFkKGRhZW1vbj1GYWxzZSkKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZSh0LmRhZW1vbikKKyAgICAgICAgdCA9IHRocmVhZGluZy5UaHJlYWQoZGFlbW9uPVRydWUpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSh0LmRhZW1vbikKKwogCiBjbGFzcyBUaHJlYWRKb2luT25TaHV0ZG93bihCYXNlVGVzdENhc2UpOgogCkBAIC03MTIsNiArNzIwLDEwIEBACiAgICAgICAgIHRocmVhZC5zdGFydCgpCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFJ1bnRpbWVFcnJvciwgc2V0YXR0ciwgdGhyZWFkLCAiZGFlbW9uIiwgVHJ1ZSkKIAorICAgIGRlZiB0ZXN0X3JlbGVhc2luZ191bmFjcXVpcmVkX2xvY2soc2VsZik6CisgICAgICAgIGxvY2sgPSB0aHJlYWRpbmcuTG9jaygpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFJ1bnRpbWVFcnJvciwgbG9jay5yZWxlYXNlKQorCiAgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3Moc3lzLnBsYXRmb3JtID09ICdkYXJ3aW4nLCAndGVzdCBtYWNvc3ggcHJvYmxlbScpCiAgICAgZGVmIHRlc3RfcmVjdXJzaW9uX2xpbWl0KHNlbGYpOgogICAgICAgICAjIElzc3VlIDk2NzAKQEAgLTc3Myw2ICs3ODUsNyBAQAogY2xhc3MgQmFycmllclRlc3RzKGxvY2tfdGVzdHMuQmFycmllclRlc3RzKToKICAgICBiYXJyaWVydHlwZSA9IHN0YXRpY21ldGhvZCh0aHJlYWRpbmcuQmFycmllcikKIAorCiBkZWYgdGVzdF9tYWluKCk6CiAgICAgdGVzdC5zdXBwb3J0LnJ1bl91bml0dGVzdChMb2NrVGVzdHMsIFB5UkxvY2tUZXN0cywgQ1JMb2NrVGVzdHMsIEV2ZW50VGVzdHMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb25kaXRpb25Bc1JMb2NrVGVzdHMsIENvbmRpdGlvblRlc3RzLApAQCAtNzgwLDcgKzc5Myw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaHJlYWRUZXN0cywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRocmVhZEpvaW5PblNodXRkb3duLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhyZWFkaW5nRXhjZXB0aW9uVGVzdHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCYXJyaWVyVGVzdHMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJhcnJpZXJUZXN0cywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKIAogaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfdGhyZWFkc2lnbmFscy5weSBiL0xpYi90ZXN0L3Rlc3RfdGhyZWFkc2lnbmFscy5weQppbmRleCBlMGFmMzFkLi5mOTc1YTc1IDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3RocmVhZHNpZ25hbHMucHkKKysrIGIvTGliL3Rlc3QvdGVzdF90aHJlYWRzaWduYWxzLnB5CkBAIC0xNCwxMCArMTQsOCBAQAogcHJvY2Vzc19waWQgPSBvcy5nZXRwaWQoKQogc2lnbmFsbGVkX2FsbD10aHJlYWQuYWxsb2NhdGVfbG9jaygpCiAKLSMgSXNzdWUgIzExMjIzOiBMb2NrcyBhcmUgaW1wbGVtZW50ZWQgdXNpbmcgYSBtdXRleCBhbmQgYSBjb25kaXRpb24gdmFyaWFibGUgb2YKLSMgdGhlIHB0aHJlYWQgbGlicmFyeSBvbiBGcmVlQlNENi4gUE9TSVggY29uZGl0aW9uIHZhcmlhYmxlcyBjYW5ub3QgYmUKLSMgaW50ZXJydXB0ZWQgYnkgc2lnbmFscyAoc2VlIHB0aHJlYWRfY29uZF93YWl0IG1hbnVhbCBwYWdlKS4KLVVTSU5HX1BUSFJFQURfQ09ORCA9IChzeXMucGxhdGZvcm0gPT0gJ2ZyZWVic2Q2JykKK1VTSU5HX1BUSFJFQURfQ09ORCA9IChzeXMudGhyZWFkX2luZm8ubmFtZSA9PSAncHRocmVhZCcKKyAgICAgICAgICAgICAgICAgICAgICBhbmQgc3lzLnRocmVhZF9pbmZvLmxvY2sgPT0gJ211dGV4K2NvbmQnKQogCiBkZWYgcmVnaXN0ZXJTaWduYWxzKGZvcl91c3IxLCBmb3JfdXNyMiwgZm9yX2Fscm0pOgogICAgIHVzcjEgPSBzaWduYWwuc2lnbmFsKHNpZ25hbC5TSUdVU1IxLCBmb3JfdXNyMSkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfdGltZS5weSBiL0xpYi90ZXN0L3Rlc3RfdGltZS5weQppbmRleCBjZTU3ZDg3Li4yOGQwMThhIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3RpbWUucHkKKysrIGIvTGliL3Rlc3QvdGVzdF90aW1lLnB5CkBAIC00LDcgKzQsMTMgQEAKIGltcG9ydCBsb2NhbGUKIGltcG9ydCBzeXNjb25maWcKIGltcG9ydCBzeXMKLWltcG9ydCB3YXJuaW5ncworaW1wb3J0IHBsYXRmb3JtCisKKyMgTWF4IHllYXIgaXMgb25seSBsaW1pdGVkIGJ5IHRoZSBzaXplIG9mIEMgaW50LgorU0laRU9GX0lOVCA9IHN5c2NvbmZpZy5nZXRfY29uZmlnX3ZhcignU0laRU9GX0lOVCcpIG9yIDQKK1RJTUVfTUFYWUVBUiA9ICgxIDw8IDggKiBTSVpFT0ZfSU5UIC0gMSkgLSAxCitUSU1FX01JTllFQVIgPSAtVElNRV9NQVhZRUFSIC0gMQorCiAKIGNsYXNzIFRpbWVUZXN0Q2FzZSh1bml0dGVzdC5UZXN0Q2FzZSk6CiAKQEAgLTIwLDYgKzI2LDI3IEBACiAgICAgZGVmIHRlc3RfY2xvY2soc2VsZik6CiAgICAgICAgIHRpbWUuY2xvY2soKQogCisgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3MoaGFzYXR0cih0aW1lLCAnY2xvY2tfZ2V0dGltZScpLAorICAgICAgICAgICAgICAgICAgICAgICAgICduZWVkIHRpbWUuY2xvY2tfZ2V0dGltZSgpJykKKyAgICBkZWYgdGVzdF9jbG9ja19yZWFsdGltZShzZWxmKToKKyAgICAgICAgdGltZS5jbG9ja19nZXR0aW1lKHRpbWUuQ0xPQ0tfUkVBTFRJTUUpCisKKyAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhoYXNhdHRyKHRpbWUsICdjbG9ja19nZXR0aW1lJyksCisgICAgICAgICAgICAgICAgICAgICAgICAgJ25lZWQgdGltZS5jbG9ja19nZXR0aW1lKCknKQorICAgIEB1bml0dGVzdC5za2lwVW5sZXNzKGhhc2F0dHIodGltZSwgJ0NMT0NLX01PTk9UT05JQycpLAorICAgICAgICAgICAgICAgICAgICAgICAgICduZWVkIHRpbWUuQ0xPQ0tfTU9OT1RPTklDJykKKyAgICBkZWYgdGVzdF9jbG9ja19tb25vdG9uaWMoc2VsZik6CisgICAgICAgIGEgPSB0aW1lLmNsb2NrX2dldHRpbWUodGltZS5DTE9DS19NT05PVE9OSUMpCisgICAgICAgIGIgPSB0aW1lLmNsb2NrX2dldHRpbWUodGltZS5DTE9DS19NT05PVE9OSUMpCisgICAgICAgIHNlbGYuYXNzZXJ0TGVzc0VxdWFsKGEsIGIpCisKKyAgICBAdW5pdHRlc3Quc2tpcFVubGVzcyhoYXNhdHRyKHRpbWUsICdjbG9ja19nZXRyZXMnKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAnbmVlZCB0aW1lLmNsb2NrX2dldHJlcygpJykKKyAgICBkZWYgdGVzdF9jbG9ja19nZXRyZXMoc2VsZik6CisgICAgICAgIHJlcyA9IHRpbWUuY2xvY2tfZ2V0cmVzKHRpbWUuQ0xPQ0tfUkVBTFRJTUUpCisgICAgICAgIHNlbGYuYXNzZXJ0R3JlYXRlcihyZXMsIDAuMCkKKyAgICAgICAgc2VsZi5hc3NlcnRMZXNzRXF1YWwocmVzLCAxLjApCisKICAgICBkZWYgdGVzdF9jb252ZXJzaW9ucyhzZWxmKToKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh0aW1lLmN0aW1lKHNlbGYudCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgdGltZS5hc2N0aW1lKHRpbWUubG9jYWx0aW1lKHNlbGYudCkpKQpAQCAtMjcsNiArNTQsOCBAQAogICAgICAgICAgICAgICAgICAgICAgICAgIGludChzZWxmLnQpKQogCiAgICAgZGVmIHRlc3Rfc2xlZXAoc2VsZik6CisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIHRpbWUuc2xlZXAsIC0yKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCB0aW1lLnNsZWVwLCAtMSkKICAgICAgICAgdGltZS5zbGVlcCgxLjIpCiAKICAgICBkZWYgdGVzdF9zdHJmdGltZShzZWxmKToKQEAgLTQ3LDI4ICs3NiwzNCBAQAogICAgICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yKToKICAgICAgICAgICAgICAgICB0aW1lLnN0cmZ0aW1lKCclZicpCiAKLSAgICBkZWYgX2JvdW5kc19jaGVja2luZyhzZWxmLCBmdW5jPXRpbWUuc3RyZnRpbWUpOgorICAgIGRlZiBfYm91bmRzX2NoZWNraW5nKHNlbGYsIGZ1bmMpOgogICAgICAgICAjIE1ha2Ugc3VyZSB0aGF0IHN0cmZ0aW1lKCkgY2hlY2tzIHRoZSBib3VuZHMgb2YgdGhlIHZhcmlvdXMgcGFydHMKLSAgICAgICAgI29mIHRoZSB0aW1lIHR1cGxlICgwIGlzIHZhbGlkIGZvciAqYWxsKiB2YWx1ZXMpLgorICAgICAgICAjIG9mIHRoZSB0aW1lIHR1cGxlICgwIGlzIHZhbGlkIGZvciAqYWxsKiB2YWx1ZXMpLgogCiAgICAgICAgICMgVGhlIHllYXIgZmllbGQgaXMgdGVzdGVkIGJ5IG90aGVyIHRlc3QgY2FzZXMgYWJvdmUKIAogICAgICAgICAjIENoZWNrIG1vbnRoIFsxLCAxMl0gKyB6ZXJvIHN1cHBvcnQKKyAgICAgICAgZnVuYygoMTkwMCwgMCwgMSwgMCwgMCwgMCwgMCwgMSwgLTEpKQorICAgICAgICBmdW5jKCgxOTAwLCAxMiwgMSwgMCwgMCwgMCwgMCwgMSwgLTEpKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBmdW5jLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxOTAwLCAtMSwgMSwgMCwgMCwgMCwgMCwgMSwgLTEpKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBmdW5jLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxOTAwLCAxMywgMSwgMCwgMCwgMCwgMCwgMSwgLTEpKQogICAgICAgICAjIENoZWNrIGRheSBvZiBtb250aCBbMSwgMzFdICsgemVybyBzdXBwb3J0CisgICAgICAgIGZ1bmMoKDE5MDAsIDEsIDAsIDAsIDAsIDAsIDAsIDEsIC0xKSkKKyAgICAgICAgZnVuYygoMTkwMCwgMSwgMzEsIDAsIDAsIDAsIDAsIDEsIC0xKSkKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgZnVuYywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTkwMCwgMSwgLTEsIDAsIDAsIDAsIDAsIDEsIC0xKSkKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgZnVuYywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTkwMCwgMSwgMzIsIDAsIDAsIDAsIDAsIDEsIC0xKSkKICAgICAgICAgIyBDaGVjayBob3VyIFswLCAyM10KKyAgICAgICAgZnVuYygoMTkwMCwgMSwgMSwgMjMsIDAsIDAsIDAsIDEsIC0xKSkKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgZnVuYywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTkwMCwgMSwgMSwgLTEsIDAsIDAsIDAsIDEsIC0xKSkKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgZnVuYywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTkwMCwgMSwgMSwgMjQsIDAsIDAsIDAsIDEsIC0xKSkKICAgICAgICAgIyBDaGVjayBtaW51dGUgWzAsIDU5XQorICAgICAgICBmdW5jKCgxOTAwLCAxLCAxLCAwLCA1OSwgMCwgMCwgMSwgLTEpKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBmdW5jLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxOTAwLCAxLCAxLCAwLCAtMSwgMCwgMCwgMSwgLTEpKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBmdW5jLApAQCAtNzgsMTUgKzExMywyMSBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxOTAwLCAxLCAxLCAwLCAwLCAtMSwgMCwgMSwgLTEpKQogICAgICAgICAjIEM5OSBvbmx5IHJlcXVpcmVzIGFsbG93aW5nIGZvciBvbmUgbGVhcCBzZWNvbmQsIGJ1dCBQeXRob24ncyBkb2NzIHNheQogICAgICAgICAjIGFsbG93IHR3byBsZWFwIHNlY29uZHMgKDAuLjYxKQorICAgICAgICBmdW5jKCgxOTAwLCAxLCAxLCAwLCAwLCA2MCwgMCwgMSwgLTEpKQorICAgICAgICBmdW5jKCgxOTAwLCAxLCAxLCAwLCAwLCA2MSwgMCwgMSwgLTEpKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCBmdW5jLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxOTAwLCAxLCAxLCAwLCAwLCA2MiwgMCwgMSwgLTEpKQogICAgICAgICAjIE5vIGNoZWNrIGZvciB1cHBlci1ib3VuZCBkYXkgb2Ygd2VlazsKICAgICAgICAgIyAgdmFsdWUgZm9yY2VkIGludG8gcmFuZ2UgYnkgYSBgYCUgN2BgIGNhbGN1bGF0aW9uLgogICAgICAgICAjIFN0YXJ0IGNoZWNrIGF0IC0yIHNpbmNlIGdldHRtYXJnKCkgaW5jcmVtZW50cyB2YWx1ZSBiZWZvcmUgdGFraW5nCiAgICAgICAgICMgIG1vZHVsby4KKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmdW5jKCgxOTAwLCAxLCAxLCAwLCAwLCAwLCAtMSwgMSwgLTEpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jKCgxOTAwLCAxLCAxLCAwLCAwLCAwLCArNiwgMSwgLTEpKSkKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgZnVuYywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTkwMCwgMSwgMSwgMCwgMCwgMCwgLTIsIDEsIC0xKSkKICAgICAgICAgIyBDaGVjayBkYXkgb2YgdGhlIHllYXIgWzEsIDM2Nl0gKyB6ZXJvIHN1cHBvcnQKKyAgICAgICAgZnVuYygoMTkwMCwgMSwgMSwgMCwgMCwgMCwgMCwgMCwgLTEpKQorICAgICAgICBmdW5jKCgxOTAwLCAxLCAxLCAwLCAwLCAwLCAwLCAzNjYsIC0xKSkKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgZnVuYywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMTkwMCwgMSwgMSwgMCwgMCwgMCwgMCwgLTEsIC0xKSkKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgZnVuYywKQEAgLTk2LDEyICsxMzcsMTMgQEAKICAgICAgICAgc2VsZi5fYm91bmRzX2NoZWNraW5nKGxhbWJkYSB0dXA6IHRpbWUuc3RyZnRpbWUoJycsIHR1cCkpCiAKICAgICBkZWYgdGVzdF9kZWZhdWx0X3ZhbHVlc19mb3JfemVybyhzZWxmKToKLSAgICAgICAgIyBNYWtlIHN1cmUgdGhhdCB1c2luZyBhbGwgemVyb3MgdXNlcyB0aGUgcHJvcGVyIGRlZmF1bHQgdmFsdWVzLgotICAgICAgICAjIE5vIHRlc3QgZm9yIGRheWxpZ2h0IHNhdmluZ3Mgc2luY2Ugc3RyZnRpbWUoKSBkb2VzIG5vdCBjaGFuZ2Ugb3V0cHV0Ci0gICAgICAgICMgYmFzZWQgb24gaXRzIHZhbHVlLgorICAgICAgICAjIE1ha2Ugc3VyZSB0aGF0IHVzaW5nIGFsbCB6ZXJvcyB1c2VzIHRoZSBwcm9wZXIgZGVmYXVsdAorICAgICAgICAjIHZhbHVlcy4gIE5vIHRlc3QgZm9yIGRheWxpZ2h0IHNhdmluZ3Mgc2luY2Ugc3RyZnRpbWUoKSBkb2VzCisgICAgICAgICMgbm90IGNoYW5nZSBvdXRwdXQgYmFzZWQgb24gaXRzIHZhbHVlIGFuZCBubyB0ZXN0IGZvciB5ZWFyCisgICAgICAgICMgYmVjYXVzZSBzeXN0ZW1zIHZhcnkgaW4gdGhlaXIgc3VwcG9ydCBmb3IgeWVhciAwLgogICAgICAgICBleHBlY3RlZCA9ICIyMDAwIDAxIDAxIDAwIDAwIDAwIDEgMDAxIgogICAgICAgICB3aXRoIHN1cHBvcnQuY2hlY2tfd2FybmluZ3MoKToKLSAgICAgICAgICAgIHJlc3VsdCA9IHRpbWUuc3RyZnRpbWUoIiVZICVtICVkICVIICVNICVTICV3ICVqIiwgKDAsKSo5KQorICAgICAgICAgICAgcmVzdWx0ID0gdGltZS5zdHJmdGltZSgiJVkgJW0gJWQgJUggJU0gJVMgJXcgJWoiLCAoMjAwMCwpKygwLCkqOCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChleHBlY3RlZCwgcmVzdWx0KQogCiAgICAgZGVmIHRlc3Rfc3RycHRpbWUoc2VsZik6CkBAIC0xMjgsMTEgKzE3MCwxMyBAQAogICAgICAgICB0aW1lLmFzY3RpbWUodGltZS5nbXRpbWUoc2VsZi50KSkKIAogICAgICAgICAjIE1heCB5ZWFyIGlzIG9ubHkgbGltaXRlZCBieSB0aGUgc2l6ZSBvZiBDIGludC4KLSAgICAgICAgc2l6ZW9mX2ludCA9IHN5c2NvbmZpZy5nZXRfY29uZmlnX3ZhcignU0laRU9GX0lOVCcpIG9yIDQKLSAgICAgICAgYmlneWVhciA9ICgxIDw8IDggKiBzaXplb2ZfaW50IC0gMSkgLSAxCi0gICAgICAgIGFzYyA9IHRpbWUuYXNjdGltZSgoYmlneWVhciwgNiwgMSkgKyAoMCwpKjYpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYXNjWy1sZW4oc3RyKGJpZ3llYXIpKTpdLCBzdHIoYmlneWVhcikpCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE92ZXJmbG93RXJyb3IsIHRpbWUuYXNjdGltZSwgKGJpZ3llYXIgKyAxLCkgKyAoMCwpKjgpCisgICAgICAgIGZvciBiaWd5ZWFyIGluIFRJTUVfTUFYWUVBUiwgVElNRV9NSU5ZRUFSOgorICAgICAgICAgICAgYXNjID0gdGltZS5hc2N0aW1lKChiaWd5ZWFyLCA2LCAxKSArICgwLCkgKiA2KQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChhc2NbLWxlbihzdHIoYmlneWVhcikpOl0sIHN0cihiaWd5ZWFyKSkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoT3ZlcmZsb3dFcnJvciwgdGltZS5hc2N0aW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAoVElNRV9NQVhZRUFSICsgMSwpICsgKDAsKSAqIDgpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE92ZXJmbG93RXJyb3IsIHRpbWUuYXNjdGltZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgKFRJTUVfTUlOWUVBUiAtIDEsKSArICgwLCkgKiA4KQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIHRpbWUuYXNjdGltZSwgMCkKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCB0aW1lLmFzY3RpbWUsICgpKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIHRpbWUuYXNjdGltZSwgKDAsKSAqIDEwKQpAQCAtMTU1LDggKzE5OSw4IEBACiAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodGltZS5jdGltZSh0ZXN0dmFsKVsyMDpdLCBzdHIoeWVhcikpCiAKLSAgICBAdW5pdHRlc3Quc2tpcElmKG5vdCBoYXNhdHRyKHRpbWUsICJ0enNldCIpLAotICAgICAgICAidGltZSBtb2R1bGUgaGFzIG5vIGF0dHJpYnV0ZSB0enNldCIpCisgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3MoaGFzYXR0cih0aW1lLCAidHpzZXQiKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAidGltZSBtb2R1bGUgaGFzIG5vIGF0dHJpYnV0ZSB0enNldCIpCiAgICAgZGVmIHRlc3RfdHpzZXQoc2VsZik6CiAKICAgICAgICAgZnJvbSBvcyBpbXBvcnQgZW52aXJvbgpAQCAtMjA4LDExICsyNTIsMTMgQEAKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwodGltZS5nbXRpbWUoeG1hczIwMDIpLCB0aW1lLmxvY2FsdGltZSh4bWFzMjAwMikpCiAKICAgICAgICAgICAgICMgSXNzdWUgIzExODg2OiBBdXN0cmFsaWFuIEVhc3Rlcm4gU3RhbmRhcmQgVGltZSAoVVRDKzEwKSBpcyBjYWxsZWQKLSAgICAgICAgICAgICMgIkVTVCIgKGFzIEVhc3Rlcm4gU3RhbmRhcmQgVGltZSwgVVRDLTUpIGluc3RlYWQgb2YgIkFFU1QiIG9uIHNvbWUKLSAgICAgICAgICAgICMgb3BlcmF0aW5nIHN5c3RlbXMgKGUuZy4gRnJlZUJTRCksIHdoaWNoIGlzIHdyb25nLiBTZWUgZm9yIGV4YW1wbGUKLSAgICAgICAgICAgICMgdGhpcyBidWc6IGh0dHA6Ly9idWdzLmRlYmlhbi5vcmcvY2dpLWJpbi9idWdyZXBvcnQuY2dpP2J1Zz05MzgxMAorICAgICAgICAgICAgIyAiRVNUIiAoYXMgRWFzdGVybiBTdGFuZGFyZCBUaW1lLCBVVEMtNSkgaW5zdGVhZCBvZiAiQUVTVCIKKyAgICAgICAgICAgICMgKG5vbi1EU1QgdGltZXpvbmUpLCBhbmQgIkVEVCIgaW5zdGVhZCBvZiAiQUVEVCIgKERTVCB0aW1lem9uZSksCisgICAgICAgICAgICAjIG9uIHNvbWUgb3BlcmF0aW5nIHN5c3RlbXMgKGUuZy4gRnJlZUJTRCksIHdoaWNoIGlzIHdyb25nLiBTZWUgZm9yCisgICAgICAgICAgICAjIGV4YW1wbGUgdGhpcyBidWc6CisgICAgICAgICAgICAjIGh0dHA6Ly9idWdzLmRlYmlhbi5vcmcvY2dpLWJpbi9idWdyZXBvcnQuY2dpP2J1Zz05MzgxMAogICAgICAgICAgICAgc2VsZi5hc3NlcnRJbih0aW1lLnR6bmFtZVswXSwgKCdBRVNUJyAnRVNUJyksIHRpbWUudHpuYW1lWzBdKQotICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHRpbWUudHpuYW1lWzFdID09ICdBRURUJywgc3RyKHRpbWUudHpuYW1lWzFdKSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSh0aW1lLnR6bmFtZVsxXSBpbiAoJ0FFRFQnLCAnRURUJyksIHN0cih0aW1lLnR6bmFtZVsxXSkpCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbih0aW1lLnR6bmFtZSksIDIpCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHRpbWUuZGF5bGlnaHQsIDEpCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHRpbWUudGltZXpvbmUsIC0zNjAwMCkKQEAgLTIzNSw3ICsyODEsNyBAQAogICAgICAgICAjIHJlc3VsdHMhKS4KICAgICAgICAgZm9yIGZ1bmMgaW4gdGltZS5jdGltZSwgdGltZS5nbXRpbWUsIHRpbWUubG9jYWx0aW1lOgogICAgICAgICAgICAgZm9yIHVucmVhc29uYWJsZSBpbiAtMWUyMDAsIDFlMjAwOgotICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIGZ1bmMsIHVucmVhc29uYWJsZSkKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhPdmVyZmxvd0Vycm9yLCBmdW5jLCB1bnJlYXNvbmFibGUpCiAKICAgICBkZWYgdGVzdF9jdGltZV93aXRob3V0X2FyZyhzZWxmKToKICAgICAgICAgIyBOb3Qgc3VyZSBob3cgdG8gY2hlY2sgdGhlIHZhbHVlcywgc2luY2UgdGhlIGNsb2NrIGNvdWxkIHRpY2sKQEAgLTI1OCw2ICszMDQsNjkgQEAKICAgICAgICAgdDEgPSB0aW1lLm1rdGltZShsdDEpCiAgICAgICAgIHNlbGYuYXNzZXJ0QWxtb3N0RXF1YWwodDEsIHQwLCBkZWx0YT0wLjIpCiAKKyAgICBkZWYgdGVzdF9ta3RpbWUoc2VsZik6CisgICAgICAgICMgSXNzdWUgIzE3MjY2ODcKKyAgICAgICAgZm9yIHQgaW4gKC0yLCAtMSwgMCwgMSk6CisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgdHQgPSB0aW1lLmxvY2FsdGltZSh0KQorICAgICAgICAgICAgZXhjZXB0IChPdmVyZmxvd0Vycm9yLCBPU0Vycm9yKToKKyAgICAgICAgICAgICAgICBwYXNzCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodGltZS5ta3RpbWUodHQpLCB0KQorCisgICAgIyBJc3N1ZSAjMTMzMDk6IHBhc3NpbmcgZXh0cmVtZSB2YWx1ZXMgdG8gbWt0aW1lKCkgb3IgbG9jYWx0aW1lKCkKKyAgICAjIGJvcmtzIHRoZSBnbGliYydzIGludGVybmFsIHRpbWV6b25lIGRhdGEuCisgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3MocGxhdGZvcm0ubGliY192ZXIoKVswXSAhPSAnZ2xpYmMnLAorICAgICAgICAgICAgICAgICAgICAgICAgICJkaXNhYmxlZCBiZWNhdXNlIG9mIGEgYnVnIGluIGdsaWJjLiBJc3N1ZSAjMTMzMDkiKQorICAgIGRlZiB0ZXN0X21rdGltZV9lcnJvcihzZWxmKToKKyAgICAgICAgIyBJdCBtYXkgbm90IGJlIHBvc3NpYmxlIHRvIHJlbGlhYmx5IG1ha2UgbWt0aW1lIHJldHVybiBlcnJvcgorICAgICAgICAjIG9uIGFsbCBwbGF0Zm9tLiAgVGhpcyB3aWxsIG1ha2Ugc3VyZSB0aGF0IG5vIG90aGVyIGV4Y2VwdGlvbgorICAgICAgICAjIHRoYW4gT3ZlcmZsb3dFcnJvciBpcyByYWlzZWQgZm9yIGFuIGV4dHJlbWUgdmFsdWUuCisgICAgICAgIHR0ID0gdGltZS5nbXRpbWUoc2VsZi50KQorICAgICAgICB0em5hbWUgPSB0aW1lLnN0cmZ0aW1lKCclWicsIHR0KQorICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKHR6bmFtZSwgJ0xNVCcpCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHRpbWUubWt0aW1lKCgtMSwgMSwgMSwgMCwgMCwgMCwgLTEsIC0xLCAtMSkpCisgICAgICAgIGV4Y2VwdCBPdmVyZmxvd0Vycm9yOgorICAgICAgICAgICAgcGFzcworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHRpbWUuc3RyZnRpbWUoJyVaJywgdHQpLCB0em5hbWUpCisKKyAgICBkZWYgdGVzdF9zdGVhZHkoc2VsZik6CisgICAgICAgIHQxID0gdGltZS5zdGVhZHkoKQorICAgICAgICB0aW1lLnNsZWVwKDAuMSkKKyAgICAgICAgdDIgPSB0aW1lLnN0ZWFkeSgpCisgICAgICAgIGR0ID0gdDIgLSB0MQorICAgICAgICAjIG1heSBmYWlsIGlmIHRoZSBzeXN0ZW0gY2xvY2sgd2FzIGNoYW5nZWQKKyAgICAgICAgc2VsZi5hc3NlcnRHcmVhdGVyKHQyLCB0MSkKKyAgICAgICAgc2VsZi5hc3NlcnRBbG1vc3RFcXVhbChkdCwgMC4xLCBkZWx0YT0wLjIpCisKKyAgICBkZWYgdGVzdF9zdGVhZHlfc3RyaWN0KHNlbGYpOgorICAgICAgICB0cnk6CisgICAgICAgICAgICB0MSA9IHRpbWUuc3RlYWR5KHN0cmljdD1UcnVlKQorICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlcnI6CisgICAgICAgICAgICBzZWxmLnNraXBUZXN0KCJ0aGUgbW9ub3RvbmljIGNsb2NrIGZhaWxlZDogJXMiICUgZXJyKQorICAgICAgICBleGNlcHQgTm90SW1wbGVtZW50ZWRFcnJvcjoKKyAgICAgICAgICAgIHNlbGYuc2tpcFRlc3QoIm5vIG1vbm90b25pYyBjbG9jayBhdmFpbGFibGUiKQorICAgICAgICB0MiA9IHRpbWUuc3RlYWR5KHN0cmljdD1UcnVlKQorICAgICAgICBzZWxmLmFzc2VydEdyZWF0ZXJFcXVhbCh0MiwgdDEpCisKKyAgICBkZWYgdGVzdF9sb2NhbHRpbWVfZmFpbHVyZShzZWxmKToKKyAgICAgICAgIyBJc3N1ZSAjMTM4NDc6IGNoZWNrIGZvciBsb2NhbHRpbWUoKSBmYWlsdXJlCisgICAgICAgIGludmFsaWRfdGltZV90ID0gTm9uZQorICAgICAgICBmb3IgdGltZV90IGluICgtMSwgMioqMzAsIDIqKjMzLCAyKio2MCk6CisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgdGltZS5sb2NhbHRpbWUodGltZV90KQorICAgICAgICAgICAgZXhjZXB0IE92ZXJmbG93RXJyb3I6CisgICAgICAgICAgICAgICAgc2VsZi5za2lwVGVzdCgibmVlZCA2NC1iaXQgdGltZV90IikKKyAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yOgorICAgICAgICAgICAgICAgIGludmFsaWRfdGltZV90ID0gdGltZV90CisgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgaWYgaW52YWxpZF90aW1lX3QgaXMgTm9uZToKKyAgICAgICAgICAgIHNlbGYuc2tpcFRlc3QoInVuYWJsZSB0byBmaW5kIGFuIGludmFsaWQgdGltZV90IHZhbHVlIikKKworICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhPU0Vycm9yLCB0aW1lLmxvY2FsdGltZSwgaW52YWxpZF90aW1lX3QpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE9TRXJyb3IsIHRpbWUuY3RpbWUsIGludmFsaWRfdGltZV90KQorCiBjbGFzcyBUZXN0TG9jYWxlKHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICBkZWYgc2V0VXAoc2VsZik6CiAgICAgICAgIHNlbGYub2xkbG9jID0gbG9jYWxlLnNldGxvY2FsZShsb2NhbGUuTENfQUxMKQpAQCAtMjc2LDE5ICszODUsMTIgQEAKIAogCiBjbGFzcyBfQmFzZVllYXJUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKLSAgICBhY2NlcHQyZHllYXIgPSBOb25lCi0KLSAgICBkZWYgc2V0VXAoc2VsZik6Ci0gICAgICAgIHNlbGYuc2F2ZWRfYWNjZXB0MmR5ZWFyID0gdGltZS5hY2NlcHQyZHllYXIKLSAgICAgICAgdGltZS5hY2NlcHQyZHllYXIgPSBzZWxmLmFjY2VwdDJkeWVhcgotCi0gICAgZGVmIHRlYXJEb3duKHNlbGYpOgotICAgICAgICB0aW1lLmFjY2VwdDJkeWVhciA9IHNlbGYuc2F2ZWRfYWNjZXB0MmR5ZWFyCi0KICAgICBkZWYgeWVhcnN0cihzZWxmLCB5KToKICAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcigpCiAKIGNsYXNzIF9UZXN0QXNjdGltZVllYXI6CisgICAgX2Zvcm1hdCA9ICclZCcKKwogICAgIGRlZiB5ZWFyc3RyKHNlbGYsIHkpOgogICAgICAgICByZXR1cm4gdGltZS5hc2N0aW1lKCh5LCkgKyAoMCwpICogOCkuc3BsaXQoKVstMV0KIApAQCAtMjk4LDExNCArNDAwLDE2MCBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYueWVhcnN0cigxMjM0NTY3ODkpLCAnMTIzNDU2Nzg5JykKIAogY2xhc3MgX1Rlc3RTdHJmdGltZVllYXI6Ci0gICAgZGVmIHllYXJzdHIoc2VsZiwgeSk6Ci0gICAgICAgIHJldHVybiB0aW1lLnN0cmZ0aW1lKCclWScsICh5LCkgKyAoMCwpICogOCkuc3BsaXQoKVstMV0KIAotICAgIGRlZiB0ZXN0X2xhcmdlX3llYXIoc2VsZik6CisgICAgIyBJc3N1ZSAxMzMwNTogIEZvciB5ZWFycyA8IDEwMDAsIHRoZSB2YWx1ZSBpcyBub3QgYWx3YXlzCisgICAgIyBwYWRkZWQgdG8gNCBkaWdpdHMgYWNyb3NzIHBsYXRmb3Jtcy4gIFRoZSBDIHN0YW5kYXJkCisgICAgIyBhc3N1bWVzIHllYXIgPj0gMTkwMCwgc28gaXQgZG9lcyBub3Qgc3BlY2lmeSB0aGUgbnVtYmVyCisgICAgIyBvZiBkaWdpdHMuCisKKyAgICBpZiB0aW1lLnN0cmZ0aW1lKCclWScsICgxLCkgKyAoMCwpICogOCkgPT0gJzAwMDEnOgorICAgICAgICBfZm9ybWF0ID0gJyUwNGQnCisgICAgZWxzZToKKyAgICAgICAgX2Zvcm1hdCA9ICclZCcKKworICAgIGRlZiB5ZWFyc3RyKHNlbGYsIHkpOgorICAgICAgICByZXR1cm4gdGltZS5zdHJmdGltZSgnJVknLCAoeSwpICsgKDAsKSAqIDgpCisKKyAgICBkZWYgdGVzdF80ZHllYXIoc2VsZik6CisgICAgICAgICMgQ2hlY2sgdGhhdCB3ZSBjYW4gcmV0dXJuIHRoZSB6ZXJvIHBhZGRlZCB2YWx1ZS4KKyAgICAgICAgaWYgc2VsZi5fZm9ybWF0ID09ICclMDRkJzoKKyAgICAgICAgICAgIHNlbGYudGVzdF95ZWFyKCclMDRkJykKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGRlZiB5ZWFyNGQoeSk6CisgICAgICAgICAgICAgICAgcmV0dXJuIHRpbWUuc3RyZnRpbWUoJyU0WScsICh5LCkgKyAoMCwpICogOCkKKyAgICAgICAgICAgIHNlbGYudGVzdF95ZWFyKCclMDRkJywgZnVuYz15ZWFyNGQpCisKKyAgICBkZWYgc2tpcF9pZl9ub3Rfc3VwcG9ydGVkKHkpOgorICAgICAgICBtc2cgPSAic3RyZnRpbWUoKSBpcyBsaW1pdGVkIHRvIFsxOyA5OTk5XSB3aXRoIFZpc3VhbCBTdHVkaW8iCiAgICAgICAgICMgQ2hlY2sgdGhhdCBpdCBkb2Vzbid0IGNyYXNoIGZvciB5ZWFyID4gOTk5OQogICAgICAgICB0cnk6Ci0gICAgICAgICAgICB0ZXh0ID0gc2VsZi55ZWFyc3RyKDEyMzQ1KQorICAgICAgICAgICAgdGltZS5zdHJmdGltZSgnJVknLCAoeSwpICsgKDAsKSAqIDgpCiAgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yOgotICAgICAgICAgICAgIyBzdHJmdGltZSgpIGlzIGxpbWl0ZWQgdG8gWzE7IDk5OTldIHdpdGggVmlzdWFsIFN0dWRpbwotICAgICAgICAgICAgcmV0dXJuCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodGV4dCwgJzEyMzQ1JykKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLnllYXJzdHIoMTIzNDU2Nzg5KSwgJzEyMzQ1Njc4OScpCisgICAgICAgICAgICBjb25kID0gRmFsc2UKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGNvbmQgPSBUcnVlCisgICAgICAgIHJldHVybiB1bml0dGVzdC5za2lwVW5sZXNzKGNvbmQsIG1zZykKIAotY2xhc3MgX1Rlc3QyZFllYXIoX0Jhc2VZZWFyVGVzdCk6Ci0gICAgYWNjZXB0MmR5ZWFyID0gMQorICAgIEBza2lwX2lmX25vdF9zdXBwb3J0ZWQoMTAwMDApCisgICAgZGVmIHRlc3RfbGFyZ2VfeWVhcihzZWxmKToKKyAgICAgICAgcmV0dXJuIHN1cGVyKCkudGVzdF9sYXJnZV95ZWFyKCkKIAotICAgIGRlZiB0ZXN0X3llYXIoc2VsZik6Ci0gICAgICAgIHdpdGggc3VwcG9ydC5jaGVja193YXJuaW5ncygpOgotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLnllYXJzdHIoMCksICcyMDAwJykKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi55ZWFyc3RyKDY5KSwgJzE5NjknKQotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLnllYXJzdHIoNjgpLCAnMjA2OCcpCi0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYueWVhcnN0cig5OSksICcxOTk5JykKKyAgICBAc2tpcF9pZl9ub3Rfc3VwcG9ydGVkKDApCisgICAgZGVmIHRlc3RfbmVnYXRpdmUoc2VsZik6CisgICAgICAgIHJldHVybiBzdXBlcigpLnRlc3RfbmVnYXRpdmUoKQogCi0gICAgZGVmIHRlc3RfaW52YWxpZChzZWxmKToKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgc2VsZi55ZWFyc3RyLCAtMSkKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgc2VsZi55ZWFyc3RyLCAxMDApCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIHNlbGYueWVhcnN0ciwgOTk5KQorICAgIGRlbCBza2lwX2lmX25vdF9zdXBwb3J0ZWQKKwogCiBjbGFzcyBfVGVzdDRkWWVhcihfQmFzZVllYXJUZXN0KToKLSAgICBhY2NlcHQyZHllYXIgPSAwCisgICAgX2Zvcm1hdCA9ICclZCcKIAotICAgIGRlZiB0ZXN0X3llYXIoc2VsZik6Ci0gICAgICAgIHNlbGYuYXNzZXJ0SW4oc2VsZi55ZWFyc3RyKDEpLCAgICAgKCcxJywgJzAwMDEnKSkKLSAgICAgICAgc2VsZi5hc3NlcnRJbihzZWxmLnllYXJzdHIoNjgpLCAgICgnNjgnLCAnMDA2OCcpKQotICAgICAgICBzZWxmLmFzc2VydEluKHNlbGYueWVhcnN0cig2OSksICAgKCc2OScsICcwMDY5JykpCi0gICAgICAgIHNlbGYuYXNzZXJ0SW4oc2VsZi55ZWFyc3RyKDk5KSwgICAoJzk5JywgJzAwOTknKSkKLSAgICAgICAgc2VsZi5hc3NlcnRJbihzZWxmLnllYXJzdHIoOTk5KSwgKCc5OTknLCAnMDk5OScpKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYueWVhcnN0cig5OTk5KSwgJzk5OTknKQorICAgIGRlZiB0ZXN0X3llYXIoc2VsZiwgZm10PU5vbmUsIGZ1bmM9Tm9uZSk6CisgICAgICAgIGZtdCA9IGZtdCBvciBzZWxmLl9mb3JtYXQKKyAgICAgICAgZnVuYyA9IGZ1bmMgb3Igc2VsZi55ZWFyc3RyCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZnVuYygxKSwgICAgZm10ICUgMSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmdW5jKDY4KSwgICBmbXQgJSA2OCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmdW5jKDY5KSwgICBmbXQgJSA2OSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmdW5jKDk5KSwgICBmbXQgJSA5OSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmdW5jKDk5OSksICBmbXQgJSA5OTkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZnVuYyg5OTk5KSwgZm10ICUgOTk5OSkKKworICAgIGRlZiB0ZXN0X2xhcmdlX3llYXIoc2VsZik6CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi55ZWFyc3RyKDEyMzQ1KSwgJzEyMzQ1JykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLnllYXJzdHIoMTIzNDU2Nzg5KSwgJzEyMzQ1Njc4OScpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi55ZWFyc3RyKFRJTUVfTUFYWUVBUiksIHN0cihUSU1FX01BWFlFQVIpKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhPdmVyZmxvd0Vycm9yLCBzZWxmLnllYXJzdHIsIFRJTUVfTUFYWUVBUiArIDEpCiAKICAgICBkZWYgdGVzdF9uZWdhdGl2ZShzZWxmKToKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgdGV4dCA9IHNlbGYueWVhcnN0cigtMSkKLSAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3I6Ci0gICAgICAgICAgICAjIHN0cmZ0aW1lKCkgaXMgbGltaXRlZCB0byBbMTsgOTk5OV0gd2l0aCBWaXN1YWwgU3R1ZGlvCi0gICAgICAgICAgICByZXR1cm4KLSAgICAgICAgc2VsZi5hc3NlcnRJbih0ZXh0LCAoJy0xJywgJy0wMDEnKSkKLQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYueWVhcnN0cigtMSksIHNlbGYuX2Zvcm1hdCAlIC0xKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYueWVhcnN0cigtMTIzNCksICctMTIzNCcpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi55ZWFyc3RyKC0xMjM0NTYpLCAnLTEyMzQ1NicpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi55ZWFyc3RyKC0xMjM0NTY3ODkpLCBzdHIoLTEyMzQ1Njc4OSkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi55ZWFyc3RyKC0xMjM0NTY3ODkwKSwgc3RyKC0xMjM0NTY3ODkwKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLnllYXJzdHIoVElNRV9NSU5ZRUFSICsgMTkwMCksIHN0cihUSU1FX01JTllFQVIgKyAxOTAwKSkKKyAgICAgICAgIyBJc3N1ZSAjMTMzMTI6IGl0IG1heSByZXR1cm4gd3JvbmcgdmFsdWUgZm9yIHllYXIgPCBUSU1FX01JTllFQVIgKyAxOTAwCisgICAgICAgICMgU2tpcCB0aGUgdmFsdWUgdGVzdCwgYnV0IGNoZWNrIHRoYXQgbm8gZXJyb3IgaXMgcmFpc2VkCisgICAgICAgIHNlbGYueWVhcnN0cihUSU1FX01JTllFQVIpCisgICAgICAgICMgc2VsZi5hc3NlcnRFcXVhbChzZWxmLnllYXJzdHIoVElNRV9NSU5ZRUFSKSwgc3RyKFRJTUVfTUlOWUVBUikpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE92ZXJmbG93RXJyb3IsIHNlbGYueWVhcnN0ciwgVElNRV9NSU5ZRUFSIC0gMSkKIAogCi0gICAgZGVmIHRlc3RfbWt0aW1lKHNlbGYpOgotICAgICAgICAjIElzc3VlICMxNzI2Njg3Ci0gICAgICAgIGZvciB0IGluICgtMiwgLTEsIDAsIDEpOgotICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgIHR0ID0gdGltZS5sb2NhbHRpbWUodCkKLSAgICAgICAgICAgIGV4Y2VwdCAoT3ZlcmZsb3dFcnJvciwgVmFsdWVFcnJvcik6Ci0gICAgICAgICAgICAgICAgcGFzcwotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHRpbWUubWt0aW1lKHR0KSwgdCkKLSAgICAgICAgIyBJdCBtYXkgbm90IGJlIHBvc3NpYmxlIHRvIHJlbGlhYmx5IG1ha2UgbWt0aW1lIHJldHVybiBlcnJvcgotICAgICAgICAjIG9uIGFsbCBwbGF0Zm9tLiAgVGhpcyB3aWxsIG1ha2Ugc3VyZSB0aGF0IG5vIG90aGVyIGV4Y2VwdGlvbgotICAgICAgICAjIHRoYW4gT3ZlcmZsb3dFcnJvciBpcyByYWlzZWQgZm9yIGFuIGV4dHJlbWUgdmFsdWUuCi0gICAgICAgIHRyeToKLSAgICAgICAgICAgIHRpbWUubWt0aW1lKCgtMSwgMSwgMSwgMCwgMCwgMCwgLTEsIC0xLCAtMSkpCi0gICAgICAgIGV4Y2VwdCBPdmVyZmxvd0Vycm9yOgotICAgICAgICAgICAgcGFzcwotCi1jbGFzcyBUZXN0QXNjdGltZUFjY2VwdDJkWWVhcihfVGVzdEFzY3RpbWVZZWFyLCBfVGVzdDJkWWVhcik6Ci0gICAgcGFzcwotCi1jbGFzcyBUZXN0U3RyZnRpbWVBY2NlcHQyZFllYXIoX1Rlc3RTdHJmdGltZVllYXIsIF9UZXN0MmRZZWFyKToKLSAgICBwYXNzCi0KIGNsYXNzIFRlc3RBc2N0aW1lNGR5ZWFyKF9UZXN0QXNjdGltZVllYXIsIF9UZXN0NGRZZWFyKToKICAgICBwYXNzCiAKIGNsYXNzIFRlc3RTdHJmdGltZTRkeWVhcihfVGVzdFN0cmZ0aW1lWWVhciwgX1Rlc3Q0ZFllYXIpOgogICAgIHBhc3MKIAotY2xhc3MgVGVzdDJkeWVhckJvb2woX1Rlc3RBc2N0aW1lWWVhciwgX1Rlc3QyZFllYXIpOgotICAgIGFjY2VwdDJkeWVhciA9IFRydWUKIAotY2xhc3MgVGVzdDRkeWVhckJvb2woX1Rlc3RBc2N0aW1lWWVhciwgX1Rlc3Q0ZFllYXIpOgotICAgIGFjY2VwdDJkeWVhciA9IEZhbHNlCitjbGFzcyBUZXN0UHl0aW1lKHVuaXR0ZXN0LlRlc3RDYXNlKToKKyAgICBkZWYgc2V0VXAoc2VsZik6CisgICAgICAgIHNlbGYuaW52YWxpZF92YWx1ZXMgPSAoCisgICAgICAgICAgICAtKDIgKiogMTAwKSwgMiAqKiAxMDAsCisgICAgICAgICAgICAtKDIuMCAqKiAxMDAuMCksIDIuMCAqKiAxMDAuMCwKKyAgICAgICAgKQogCi1jbGFzcyBUZXN0QWNjZXB0MlllYXJCYWQoX1Rlc3RBc2N0aW1lWWVhciwgX0Jhc2VZZWFyVGVzdCk6Ci0gICAgY2xhc3MgWDoKLSAgICAgICAgZGVmIF9fYm9vbF9fKHNlbGYpOgotICAgICAgICAgICAgcmFpc2UgUnVudGltZUVycm9yKCdib28nKQotICAgIGFjY2VwdDJkeWVhciA9IFgoKQotICAgIGRlZiB0ZXN0XzJkeWVhcihzZWxmKToKLSAgICAgICAgcGFzcwotICAgIGRlZiB0ZXN0X2ludmFsaWQoc2VsZik6Ci0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFJ1bnRpbWVFcnJvciwgc2VsZi55ZWFyc3RyLCAyMDApCisgICAgZGVmIHRlc3RfdGltZV90KHNlbGYpOgorICAgICAgICBmcm9tIF90ZXN0Y2FwaSBpbXBvcnQgcHl0aW1lX29iamVjdF90b190aW1lX3QKKyAgICAgICAgZm9yIG9iaiwgdGltZV90IGluICgKKyAgICAgICAgICAgICgwLCAwKSwKKyAgICAgICAgICAgICgtMSwgLTEpLAorICAgICAgICAgICAgKC0xLjAsIC0xKSwKKyAgICAgICAgICAgICgtMS45LCAtMSksCisgICAgICAgICAgICAoMS4wLCAxKSwKKyAgICAgICAgICAgICgxLjksIDEpLAorICAgICAgICApOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChweXRpbWVfb2JqZWN0X3RvX3RpbWVfdChvYmopLCB0aW1lX3QpCisKKyAgICAgICAgZm9yIGludmFsaWQgaW4gc2VsZi5pbnZhbGlkX3ZhbHVlczoKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE92ZXJmbG93RXJyb3IsIHB5dGltZV9vYmplY3RfdG9fdGltZV90LCBpbnZhbGlkKQorCisgICAgZGVmIHRlc3RfdGltZXZhbChzZWxmKToKKyAgICAgICAgZnJvbSBfdGVzdGNhcGkgaW1wb3J0IHB5dGltZV9vYmplY3RfdG9fdGltZXZhbAorICAgICAgICBmb3Igb2JqLCB0aW1ldmFsIGluICgKKyAgICAgICAgICAgICgwLCAoMCwgMCkpLAorICAgICAgICAgICAgKC0xLCAoLTEsIDApKSwKKyAgICAgICAgICAgICgtMS4wLCAoLTEsIDApKSwKKyAgICAgICAgICAgICgxZS02LCAoMCwgMSkpLAorICAgICAgICAgICAgKC0xZS02LCAoLTEsIDk5OTk5OSkpLAorICAgICAgICAgICAgKC0xLjIsICgtMiwgODAwMDAwKSksCisgICAgICAgICAgICAoMS4xMjM0NTYwLCAoMSwgMTIzNDU2KSksCisgICAgICAgICAgICAoMS4xMjM0NTY5LCAoMSwgMTIzNDU2KSksCisgICAgICAgICAgICAoLTEuMTIzNDU2MCwgKC0yLCA4NzY1NDQpKSwKKyAgICAgICAgICAgICgtMS4xMjM0NTYxLCAoLTIsIDg3NjU0MykpLAorICAgICAgICApOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChweXRpbWVfb2JqZWN0X3RvX3RpbWV2YWwob2JqKSwgdGltZXZhbCkKKworICAgICAgICBmb3IgaW52YWxpZCBpbiBzZWxmLmludmFsaWRfdmFsdWVzOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoT3ZlcmZsb3dFcnJvciwgcHl0aW1lX29iamVjdF90b190aW1ldmFsLCBpbnZhbGlkKQorCisgICAgZGVmIHRlc3RfdGltZXNwZWMoc2VsZik6CisgICAgICAgIGZyb20gX3Rlc3RjYXBpIGltcG9ydCBweXRpbWVfb2JqZWN0X3RvX3RpbWVzcGVjCisgICAgICAgIGZvciBvYmosIHRpbWVzcGVjIGluICgKKyAgICAgICAgICAgICgwLCAoMCwgMCkpLAorICAgICAgICAgICAgKC0xLCAoLTEsIDApKSwKKyAgICAgICAgICAgICgtMS4wLCAoLTEsIDApKSwKKyAgICAgICAgICAgICgxZS05LCAoMCwgMSkpLAorICAgICAgICAgICAgKC0xZS05LCAoLTEsIDk5OTk5OTk5OSkpLAorICAgICAgICAgICAgKC0xLjIsICgtMiwgODAwMDAwMDAwKSksCisgICAgICAgICAgICAoMS4xMjM0NTY3ODkwLCAoMSwgMTIzNDU2Nzg5KSksCisgICAgICAgICAgICAoMS4xMjM0NTY3ODk5LCAoMSwgMTIzNDU2Nzg5KSksCisgICAgICAgICAgICAoLTEuMTIzNDU2Nzg5MCwgKC0yLCA4NzY1NDMyMTEpKSwKKyAgICAgICAgICAgICgtMS4xMjM0NTY3ODkxLCAoLTIsIDg3NjU0MzIxMCkpLAorICAgICAgICApOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChweXRpbWVfb2JqZWN0X3RvX3RpbWVzcGVjKG9iaiksIHRpbWVzcGVjKQorCisgICAgICAgIGZvciBpbnZhbGlkIGluIHNlbGYuaW52YWxpZF92YWx1ZXM6CisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhPdmVyZmxvd0Vycm9yLCBweXRpbWVfb2JqZWN0X3RvX3RpbWVzcGVjLCBpbnZhbGlkKQorCiAKIAogZGVmIHRlc3RfbWFpbigpOgogICAgIHN1cHBvcnQucnVuX3VuaXR0ZXN0KAogICAgICAgICBUaW1lVGVzdENhc2UsCiAgICAgICAgIFRlc3RMb2NhbGUsCi0gICAgICAgIFRlc3RBc2N0aW1lQWNjZXB0MmRZZWFyLAotICAgICAgICBUZXN0U3RyZnRpbWVBY2NlcHQyZFllYXIsCiAgICAgICAgIFRlc3RBc2N0aW1lNGR5ZWFyLAogICAgICAgICBUZXN0U3RyZnRpbWU0ZHllYXIsCi0gICAgICAgIFRlc3QyZHllYXJCb29sLAotICAgICAgICBUZXN0NGR5ZWFyQm9vbCwKLSAgICAgICAgVGVzdEFjY2VwdDJZZWFyQmFkKQorICAgICAgICBUZXN0UHl0aW1lKQogCiBpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgogICAgIHRlc3RfbWFpbigpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3Rva2VuaXplLnB5IGIvTGliL3Rlc3QvdGVzdF90b2tlbml6ZS5weQppbmRleCA5ZTk2NTZjLi5kYjg3ZTExIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3Rva2VuaXplLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfdG9rZW5pemUucHkKQEAgLTU2MywxNSArNTYzLDI4IEBACiAgICAgTkFNRSAgICAgICAnZ3LDvG4nICAgICAgICAoMiwgMCkgKDIsIDQpCiAgICAgT1AgICAgICAgICAnPScgICAgICAgICAgICgyLCA1KSAoMiwgNikKICAgICBTVFJJTkcgICAgICInZ3JlZW4nIiAgICAgKDIsIDcpICgyLCAxNCkKKworTGVnYWN5IHVuaWNvZGUgbGl0ZXJhbHM6CisKKyAgICA+Pj4gZHVtcF90b2tlbnMoIsOWcnRlciA9IHUncGxhY2VzJ1xcbmdyw7xuID0gVVInZ3JlZW4nIikKKyAgICBFTkNPRElORyAgICd1dGYtOCcgICAgICAgKDAsIDApICgwLCAwKQorICAgIE5BTUUgICAgICAgJ8OWcnRlcicgICAgICAgKDEsIDApICgxLCA1KQorICAgIE9QICAgICAgICAgJz0nICAgICAgICAgICAoMSwgNikgKDEsIDcpCisgICAgU1RSSU5HICAgICAidSdwbGFjZXMnIiAgICgxLCA4KSAoMSwgMTcpCisgICAgTkVXTElORSAgICAnXFxuJyAgICAgICAgICAoMSwgMTcpICgxLCAxOCkKKyAgICBOQU1FICAgICAgICdncsO8bicgICAgICAgICgyLCAwKSAoMiwgNCkKKyAgICBPUCAgICAgICAgICc9JyAgICAgICAgICAgKDIsIDUpICgyLCA2KQorICAgIFNUUklORyAgICAgIlVSJ2dyZWVuJyIgICAoMiwgNykgKDIsIDE2KQogIiIiCiAKIGZyb20gdGVzdCBpbXBvcnQgc3VwcG9ydAogZnJvbSB0b2tlbml6ZSBpbXBvcnQgKHRva2VuaXplLCBfdG9rZW5pemUsIHVudG9rZW5pemUsIE5VTUJFUiwgTkFNRSwgT1AsCi0gICAgICAgICAgICAgICAgICAgICBTVFJJTkcsIEVORE1BUktFUiwgdG9rX25hbWUsIGRldGVjdF9lbmNvZGluZywKKyAgICAgICAgICAgICAgICAgICAgIFNUUklORywgRU5ETUFSS0VSLCBFTkNPRElORywgdG9rX25hbWUsIGRldGVjdF9lbmNvZGluZywKICAgICAgICAgICAgICAgICAgICAgIG9wZW4gYXMgdG9rZW5pemVfb3BlbikKIGZyb20gaW8gaW1wb3J0IEJ5dGVzSU8KIGZyb20gdW5pdHRlc3QgaW1wb3J0IFRlc3RDYXNlCiBpbXBvcnQgb3MsIHN5cywgZ2xvYgoraW1wb3J0IHRva2VuCiAKIGRlZiBkdW1wX3Rva2VucyhzKToKICAgICAiIiJQcmludCBvdXQgdGhlIHRva2VucyBpbiBzIGluIGEgdGFibGUgZm9ybWF0LgpAQCAtNjAwLDcgKzYxMyw3IEBACiAgICAgICAgIGYuY2xvc2UoKQogICAgIHRva2VuczEgPSBbdG9rWzoyXSBmb3IgdG9rIGluIHRva2VuX2xpc3RdCiAgICAgbmV3X2J5dGVzID0gdW50b2tlbml6ZSh0b2tlbnMxKQotICAgIHJlYWRsaW5lID0gKGxpbmUgZm9yIGxpbmUgaW4gbmV3X2J5dGVzLnNwbGl0bGluZXMoMSkpLl9fbmV4dF9fCisgICAgcmVhZGxpbmUgPSAobGluZSBmb3IgbGluZSBpbiBuZXdfYnl0ZXMuc3BsaXRsaW5lcyhrZWVwZW5kcz1UcnVlKSkuX19uZXh0X18KICAgICB0b2tlbnMyID0gW3Rva1s6Ml0gZm9yIHRvayBpbiB0b2tlbml6ZShyZWFkbGluZSldCiAgICAgcmV0dXJuIHRva2VuczEgPT0gdG9rZW5zMgogCkBAIC05MjIsNiArOTM1LDc4IEBACiAKICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGVuY29kaW5nX3VzZWQsIGVuY29kaW5nKQogCisgICAgZGVmIGFzc2VydEV4YWN0VHlwZUVxdWFsKHNlbGYsIG9wc3RyLCAqb3B0eXBlcyk6CisgICAgICAgIHRva2VucyA9IGxpc3QodG9rZW5pemUoQnl0ZXNJTyhvcHN0ci5lbmNvZGUoJ3V0Zi04JykpLnJlYWRsaW5lKSkKKyAgICAgICAgbnVtX29wdHlwZXMgPSBsZW4ob3B0eXBlcykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4odG9rZW5zKSwgMiArIG51bV9vcHR5cGVzKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHRva2VuLnRva19uYW1lW3Rva2Vuc1swXS5leGFjdF90eXBlXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICB0b2tlbi50b2tfbmFtZVtFTkNPRElOR10pCisgICAgICAgIGZvciBpIGluIHJhbmdlKG51bV9vcHR5cGVzKToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodG9rZW4udG9rX25hbWVbdG9rZW5zW2kgKyAxXS5leGFjdF90eXBlXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9rZW4udG9rX25hbWVbb3B0eXBlc1tpXV0pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodG9rZW4udG9rX25hbWVbdG9rZW5zWzEgKyBudW1fb3B0eXBlc10uZXhhY3RfdHlwZV0sCisgICAgICAgICAgICAgICAgICAgICAgICAgdG9rZW4udG9rX25hbWVbdG9rZW4uRU5ETUFSS0VSXSkKKworICAgIGRlZiB0ZXN0X2V4YWN0X3R5cGUoc2VsZik6CisgICAgICAgIHNlbGYuYXNzZXJ0RXhhY3RUeXBlRXF1YWwoJygpJywgdG9rZW4uTFBBUiwgdG9rZW4uUlBBUikKKyAgICAgICAgc2VsZi5hc3NlcnRFeGFjdFR5cGVFcXVhbCgnW10nLCB0b2tlbi5MU1FCLCB0b2tlbi5SU1FCKQorICAgICAgICBzZWxmLmFzc2VydEV4YWN0VHlwZUVxdWFsKCc6JywgdG9rZW4uQ09MT04pCisgICAgICAgIHNlbGYuYXNzZXJ0RXhhY3RUeXBlRXF1YWwoJywnLCB0b2tlbi5DT01NQSkKKyAgICAgICAgc2VsZi5hc3NlcnRFeGFjdFR5cGVFcXVhbCgnOycsIHRva2VuLlNFTUkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXhhY3RUeXBlRXF1YWwoJysnLCB0b2tlbi5QTFVTKQorICAgICAgICBzZWxmLmFzc2VydEV4YWN0VHlwZUVxdWFsKCctJywgdG9rZW4uTUlOVVMpCisgICAgICAgIHNlbGYuYXNzZXJ0RXhhY3RUeXBlRXF1YWwoJyonLCB0b2tlbi5TVEFSKQorICAgICAgICBzZWxmLmFzc2VydEV4YWN0VHlwZUVxdWFsKCcvJywgdG9rZW4uU0xBU0gpCisgICAgICAgIHNlbGYuYXNzZXJ0RXhhY3RUeXBlRXF1YWwoJ3wnLCB0b2tlbi5WQkFSKQorICAgICAgICBzZWxmLmFzc2VydEV4YWN0VHlwZUVxdWFsKCcmJywgdG9rZW4uQU1QRVIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXhhY3RUeXBlRXF1YWwoJzwnLCB0b2tlbi5MRVNTKQorICAgICAgICBzZWxmLmFzc2VydEV4YWN0VHlwZUVxdWFsKCc+JywgdG9rZW4uR1JFQVRFUikKKyAgICAgICAgc2VsZi5hc3NlcnRFeGFjdFR5cGVFcXVhbCgnPScsIHRva2VuLkVRVUFMKQorICAgICAgICBzZWxmLmFzc2VydEV4YWN0VHlwZUVxdWFsKCcuJywgdG9rZW4uRE9UKQorICAgICAgICBzZWxmLmFzc2VydEV4YWN0VHlwZUVxdWFsKCclJywgdG9rZW4uUEVSQ0VOVCkKKyAgICAgICAgc2VsZi5hc3NlcnRFeGFjdFR5cGVFcXVhbCgne30nLCB0b2tlbi5MQlJBQ0UsIHRva2VuLlJCUkFDRSkKKyAgICAgICAgc2VsZi5hc3NlcnRFeGFjdFR5cGVFcXVhbCgnPT0nLCB0b2tlbi5FUUVRVUFMKQorICAgICAgICBzZWxmLmFzc2VydEV4YWN0VHlwZUVxdWFsKCchPScsIHRva2VuLk5PVEVRVUFMKQorICAgICAgICBzZWxmLmFzc2VydEV4YWN0VHlwZUVxdWFsKCc8PScsIHRva2VuLkxFU1NFUVVBTCkKKyAgICAgICAgc2VsZi5hc3NlcnRFeGFjdFR5cGVFcXVhbCgnPj0nLCB0b2tlbi5HUkVBVEVSRVFVQUwpCisgICAgICAgIHNlbGYuYXNzZXJ0RXhhY3RUeXBlRXF1YWwoJ34nLCB0b2tlbi5USUxERSkKKyAgICAgICAgc2VsZi5hc3NlcnRFeGFjdFR5cGVFcXVhbCgnXicsIHRva2VuLkNJUkNVTUZMRVgpCisgICAgICAgIHNlbGYuYXNzZXJ0RXhhY3RUeXBlRXF1YWwoJzw8JywgdG9rZW4uTEVGVFNISUZUKQorICAgICAgICBzZWxmLmFzc2VydEV4YWN0VHlwZUVxdWFsKCc+PicsIHRva2VuLlJJR0hUU0hJRlQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXhhY3RUeXBlRXF1YWwoJyoqJywgdG9rZW4uRE9VQkxFU1RBUikKKyAgICAgICAgc2VsZi5hc3NlcnRFeGFjdFR5cGVFcXVhbCgnKz0nLCB0b2tlbi5QTFVTRVFVQUwpCisgICAgICAgIHNlbGYuYXNzZXJ0RXhhY3RUeXBlRXF1YWwoJy09JywgdG9rZW4uTUlORVFVQUwpCisgICAgICAgIHNlbGYuYXNzZXJ0RXhhY3RUeXBlRXF1YWwoJyo9JywgdG9rZW4uU1RBUkVRVUFMKQorICAgICAgICBzZWxmLmFzc2VydEV4YWN0VHlwZUVxdWFsKCcvPScsIHRva2VuLlNMQVNIRVFVQUwpCisgICAgICAgIHNlbGYuYXNzZXJ0RXhhY3RUeXBlRXF1YWwoJyU9JywgdG9rZW4uUEVSQ0VOVEVRVUFMKQorICAgICAgICBzZWxmLmFzc2VydEV4YWN0VHlwZUVxdWFsKCcmPScsIHRva2VuLkFNUEVSRVFVQUwpCisgICAgICAgIHNlbGYuYXNzZXJ0RXhhY3RUeXBlRXF1YWwoJ3w9JywgdG9rZW4uVkJBUkVRVUFMKQorICAgICAgICBzZWxmLmFzc2VydEV4YWN0VHlwZUVxdWFsKCdePScsIHRva2VuLkNJUkNVTUZMRVhFUVVBTCkKKyAgICAgICAgc2VsZi5hc3NlcnRFeGFjdFR5cGVFcXVhbCgnXj0nLCB0b2tlbi5DSVJDVU1GTEVYRVFVQUwpCisgICAgICAgIHNlbGYuYXNzZXJ0RXhhY3RUeXBlRXF1YWwoJzw8PScsIHRva2VuLkxFRlRTSElGVEVRVUFMKQorICAgICAgICBzZWxmLmFzc2VydEV4YWN0VHlwZUVxdWFsKCc+Pj0nLCB0b2tlbi5SSUdIVFNISUZURVFVQUwpCisgICAgICAgIHNlbGYuYXNzZXJ0RXhhY3RUeXBlRXF1YWwoJyoqPScsIHRva2VuLkRPVUJMRVNUQVJFUVVBTCkKKyAgICAgICAgc2VsZi5hc3NlcnRFeGFjdFR5cGVFcXVhbCgnLy8nLCB0b2tlbi5ET1VCTEVTTEFTSCkKKyAgICAgICAgc2VsZi5hc3NlcnRFeGFjdFR5cGVFcXVhbCgnLy89JywgdG9rZW4uRE9VQkxFU0xBU0hFUVVBTCkKKyAgICAgICAgc2VsZi5hc3NlcnRFeGFjdFR5cGVFcXVhbCgnQCcsIHRva2VuLkFUKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXhhY3RUeXBlRXF1YWwoJ2EqKjIrYioqMj09YyoqMicsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTkFNRSwgdG9rZW4uRE9VQkxFU1RBUiwgTlVNQkVSLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRva2VuLlBMVVMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTkFNRSwgdG9rZW4uRE9VQkxFU1RBUiwgTlVNQkVSLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRva2VuLkVRRVFVQUwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTkFNRSwgdG9rZW4uRE9VQkxFU1RBUiwgTlVNQkVSKQorICAgICAgICBzZWxmLmFzc2VydEV4YWN0VHlwZUVxdWFsKCd7MSwgMiwgM30nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRva2VuLkxCUkFDRSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2tlbi5OVU1CRVIsIHRva2VuLkNPTU1BLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRva2VuLk5VTUJFUiwgdG9rZW4uQ09NTUEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9rZW4uTlVNQkVSLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRva2VuLlJCUkFDRSkKKyAgICAgICAgc2VsZi5hc3NlcnRFeGFjdFR5cGVFcXVhbCgnXih4ICYgMHgxKScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9rZW4uQ0lSQ1VNRkxFWCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2tlbi5MUEFSLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRva2VuLk5BTUUsIHRva2VuLkFNUEVSLCB0b2tlbi5OVU1CRVIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9rZW4uUlBBUikKIAogX190ZXN0X18gPSB7ImRvY3Rlc3RzIiA6IGRvY3Rlc3RzLCAnZGVjaXN0bXQnOiBkZWNpc3RtdH0KIApkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF90cmFjZS5weSBiL0xpYi90ZXN0L3Rlc3RfdHJhY2UucHkKaW5kZXggNDYxZDFkOC4uZDliZWYzOCAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF90cmFjZS5weQorKysgYi9MaWIvdGVzdC90ZXN0X3RyYWNlLnB5CkBAIC0xMDIsNiArMTAyLDcgQEAKIGNsYXNzIFRlc3RMaW5lQ291bnRzKHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAiIiJXaGl0ZS1ib3ggdGVzdGluZyBvZiBsaW5lLWNvdW50aW5nLCB2aWEgcnVuZnVuYyIiIgogICAgIGRlZiBzZXRVcChzZWxmKToKKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKHN5cy5zZXR0cmFjZSwgc3lzLmdldHRyYWNlKCkpCiAgICAgICAgIHNlbGYudHJhY2VyID0gVHJhY2UoY291bnQ9MSwgdHJhY2U9MCwgY291bnRmdW5jcz0wLCBjb3VudGNhbGxlcnM9MCkKICAgICAgICAgc2VsZi5teV9weV9maWxlbmFtZSA9IGZpeF9leHRfcHkoX19maWxlX18pCiAKQEAgLTE5Miw2ICsxOTMsNyBAQAogICAgICIiIkEgc2ltcGxlIHNhbml0eSB0ZXN0IG9mIGxpbmUtY291bnRpbmcsIHZpYSBydW5jdHggKGV4ZWMpIiIiCiAgICAgZGVmIHNldFVwKHNlbGYpOgogICAgICAgICBzZWxmLm15X3B5X2ZpbGVuYW1lID0gZml4X2V4dF9weShfX2ZpbGVfXykKKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKHN5cy5zZXR0cmFjZSwgc3lzLmdldHRyYWNlKCkpCiAKICAgICBkZWYgdGVzdF9leGVjX2NvdW50cyhzZWxmKToKICAgICAgICAgc2VsZi50cmFjZXIgPSBUcmFjZShjb3VudD0xLCB0cmFjZT0wLCBjb3VudGZ1bmNzPTAsIGNvdW50Y2FsbGVycz0wKQpAQCAtMjE4LDYgKzIyMCw3IEBACiBjbGFzcyBUZXN0RnVuY3ModW5pdHRlc3QuVGVzdENhc2UpOgogICAgICIiIldoaXRlLWJveCB0ZXN0aW5nIG9mIGZ1bmNzIHRyYWNpbmciIiIKICAgICBkZWYgc2V0VXAoc2VsZik6CisgICAgICAgIHNlbGYuYWRkQ2xlYW51cChzeXMuc2V0dHJhY2UsIHN5cy5nZXR0cmFjZSgpKQogICAgICAgICBzZWxmLnRyYWNlciA9IFRyYWNlKGNvdW50PTAsIHRyYWNlPTAsIGNvdW50ZnVuY3M9MSkKICAgICAgICAgc2VsZi5maWxlbW9kID0gbXlfZmlsZV9hbmRfbW9kbmFtZSgpCiAKQEAgLTI0Miw2ICsyNDUsOCBAQAogICAgICAgICB9CiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi50cmFjZXIucmVzdWx0cygpLmNhbGxlZGZ1bmNzLCBleHBlY3RlZCkKIAorICAgIEB1bml0dGVzdC5za2lwSWYoaGFzYXR0cihzeXMsICdnZXR0cmFjZScpIGFuZCBzeXMuZ2V0dHJhY2UoKSwKKyAgICAgICAgICAgICAgICAgICAgICdwcmUtZXhpc3RpbmcgdHJhY2UgZnVuY3Rpb24gdGhyb3dzIG9mZiBtZWFzdXJlbWVudHMnKQogICAgIGRlZiB0ZXN0X2luc3RfbWV0aG9kX2NhbGxpbmcoc2VsZik6CiAgICAgICAgIG9iaiA9IFRyYWNlZENsYXNzKDIwKQogICAgICAgICBzZWxmLnRyYWNlci5ydW5mdW5jKG9iai5pbnN0X21ldGhvZF9jYWxsaW5nLCAxKQpAQCAtMjU3LDkgKzI2MiwxMiBAQAogY2xhc3MgVGVzdENhbGxlcnModW5pdHRlc3QuVGVzdENhc2UpOgogICAgICIiIldoaXRlLWJveCB0ZXN0aW5nIG9mIGNhbGxlcnMgdHJhY2luZyIiIgogICAgIGRlZiBzZXRVcChzZWxmKToKKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKHN5cy5zZXR0cmFjZSwgc3lzLmdldHRyYWNlKCkpCiAgICAgICAgIHNlbGYudHJhY2VyID0gVHJhY2UoY291bnQ9MCwgdHJhY2U9MCwgY291bnRjYWxsZXJzPTEpCiAgICAgICAgIHNlbGYuZmlsZW1vZCA9IG15X2ZpbGVfYW5kX21vZG5hbWUoKQogCisgICAgQHVuaXR0ZXN0LnNraXBJZihoYXNhdHRyKHN5cywgJ2dldHRyYWNlJykgYW5kIHN5cy5nZXR0cmFjZSgpLAorICAgICAgICAgICAgICAgICAgICAgJ3ByZS1leGlzdGluZyB0cmFjZSBmdW5jdGlvbiB0aHJvd3Mgb2ZmIG1lYXN1cmVtZW50cycpCiAgICAgZGVmIHRlc3RfbG9vcF9jYWxsZXJfaW1wb3J0aW5nKHNlbGYpOgogICAgICAgICBzZWxmLnRyYWNlci5ydW5mdW5jKHRyYWNlZF9mdW5jX2ltcG9ydGluZ19jYWxsZXIsIDEpCiAKQEAgLTI4MCw2ICsyODgsOSBAQAogCiAjIENyZWF0ZWQgc2VwYXJhdGVseSBmb3IgaXNzdWUgIzM4MjEKIGNsYXNzIFRlc3RDb3ZlcmFnZSh1bml0dGVzdC5UZXN0Q2FzZSk6CisgICAgZGVmIHNldFVwKHNlbGYpOgorICAgICAgICBzZWxmLmFkZENsZWFudXAoc3lzLnNldHRyYWNlLCBzeXMuZ2V0dHJhY2UoKSkKKwogICAgIGRlZiB0ZWFyRG93bihzZWxmKToKICAgICAgICAgcm10cmVlKFRFU1RGTikKICAgICAgICAgdW5saW5rKFRFU1RGTikKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfdHJhY2ViYWNrLnB5IGIvTGliL3Rlc3QvdGVzdF90cmFjZWJhY2sucHkKaW5kZXggNDc1MmQzNy4uNWJjZTJhZiAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF90cmFjZWJhY2sucHkKKysrIGIvTGliL3Rlc3QvdGVzdF90cmFjZWJhY2sucHkKQEAgLTI0Niw2ICsyNDYsMjEgQEAKICAgICAgICAgc2VsZi5jaGVja196ZXJvX2RpdihibG9ja3NbMF0pCiAgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ2lubmVyX3JhaXNlKCkgIyBNYXJrZXInLCBibG9ja3NbMl0pCiAKKyAgICBkZWYgdGVzdF9jb250ZXh0X3N1cHByZXNzaW9uKHNlbGYpOgorICAgICAgICB0cnk6CisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uCisgICAgICAgICAgICBleGNlcHQ6CisgICAgICAgICAgICAgICAgcmFpc2UgWmVyb0RpdmlzaW9uRXJyb3IgZnJvbSBOb25lCisgICAgICAgIGV4Y2VwdCBaZXJvRGl2aXNpb25FcnJvciBhcyBfOgorICAgICAgICAgICAgZSA9IF8KKyAgICAgICAgbGluZXMgPSBzZWxmLmdldF9yZXBvcnQoZSkuc3BsaXRsaW5lcygpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGxpbmVzKSwgNCkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGxpbmVzWzBdLnN0YXJ0c3dpdGgoJ1RyYWNlYmFjaycpKQorICAgICAgICBzZWxmLmFzc2VydFRydWUobGluZXNbMV0uc3RhcnRzd2l0aCgnICBGaWxlJykpCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ1plcm9EaXZpc2lvbkVycm9yIGZyb20gTm9uZScsIGxpbmVzWzJdKQorICAgICAgICBzZWxmLmFzc2VydFRydWUobGluZXNbM10uc3RhcnRzd2l0aCgnWmVyb0RpdmlzaW9uRXJyb3InKSkKKwogICAgIGRlZiB0ZXN0X2NhdXNlX2FuZF9jb250ZXh0KHNlbGYpOgogICAgICAgICAjIFdoZW4gYm90aCBhIGNhdXNlIGFuZCBhIGNvbnRleHQgYXJlIHNldCwgb25seSB0aGUgY2F1c2Ugc2hvdWxkIGJlCiAgICAgICAgICMgZGlzcGxheWVkIGFuZCB0aGUgY29udGV4dCBzaG91bGQgYmUgbXV0ZWQuCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3Vjbi5weSBiL0xpYi90ZXN0L3Rlc3RfdWNuLnB5CmluZGV4IGZkNjIwZjAuLjY4YTMyMTkgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfdWNuLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfdWNuLnB5CkBAIC04LDggKzgsMTEgQEAKICIiIiMiCiAKIGltcG9ydCB1bml0dGVzdAoraW1wb3J0IHVuaWNvZGVkYXRhCiAKIGZyb20gdGVzdCBpbXBvcnQgc3VwcG9ydAorZnJvbSBodHRwLmNsaWVudCBpbXBvcnQgSFRUUEV4Y2VwdGlvbgorZnJvbSB0ZXN0LnRlc3Rfbm9ybWFsaXphdGlvbiBpbXBvcnQgY2hlY2tfdmVyc2lvbgogCiBjbGFzcyBVbmljb2RlTmFtZXNUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKIApAQCAtNTksOCArNjIsNiBAQAogICAgICAgICApCiAKICAgICBkZWYgdGVzdF9hc2NpaV9sZXR0ZXJzKHNlbGYpOgotICAgICAgICBpbXBvcnQgdW5pY29kZWRhdGEKLQogICAgICAgICBmb3IgY2hhciBpbiAiIi5qb2luKG1hcChjaHIsIHJhbmdlKG9yZCgiYSIpLCBvcmQoInoiKSkpKToKICAgICAgICAgICAgIG5hbWUgPSAiTEFUSU4gU01BTEwgTEVUVEVSICVzIiAlIGNoYXIudXBwZXIoKQogICAgICAgICAgICAgY29kZSA9IHVuaWNvZGVkYXRhLmxvb2t1cChuYW1lKQpAQCAtODEsNyArODIsNiBAQAogICAgICAgICBzZWxmLmNoZWNrbGV0dGVyKCJIQU5HVUwgU1lMTEFCTEUgSFdFT0siLCAiXHVkNmY4IikKICAgICAgICAgc2VsZi5jaGVja2xldHRlcigiSEFOR1VMIFNZTExBQkxFIEhJSCIsICJcdWQ3YTMiKQogCi0gICAgICAgIGltcG9ydCB1bmljb2RlZGF0YQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLCB1bmljb2RlZGF0YS5uYW1lLCAiXHVkN2E0IikKIAogICAgIGRlZiB0ZXN0X2Nqa191bmlmaWVkX2lkZW9ncmFwaHMoc2VsZik6CkBAIC05NywxNCArOTcsMTEgQEAKICAgICAgICAgc2VsZi5jaGVja2xldHRlcigiQ0pLIFVOSUZJRUQgSURFT0dSQVBILTJCODFEIiwgIlxVMDAwMkI4MUQiKQogCiAgICAgZGVmIHRlc3RfYm1wX2NoYXJhY3RlcnMoc2VsZik6Ci0gICAgICAgIGltcG9ydCB1bmljb2RlZGF0YQotICAgICAgICBjb3VudCA9IDAKICAgICAgICAgZm9yIGNvZGUgaW4gcmFuZ2UoMHgxMDAwMCk6CiAgICAgICAgICAgICBjaGFyID0gY2hyKGNvZGUpCiAgICAgICAgICAgICBuYW1lID0gdW5pY29kZWRhdGEubmFtZShjaGFyLCBOb25lKQogICAgICAgICAgICAgaWYgbmFtZSBpcyBub3QgTm9uZToKICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHVuaWNvZGVkYXRhLmxvb2t1cChuYW1lKSwgY2hhcikKLSAgICAgICAgICAgICAgICBjb3VudCArPSAxCiAKICAgICBkZWYgdGVzdF9taXNjX3N5bWJvbHMoc2VsZik6CiAgICAgICAgIHNlbGYuY2hlY2tsZXR0ZXIoIlBJTENST1cgU0lHTiIsICJcdTAwYjYiKQpAQCAtMTEyLDggKzEwOSw4NSBAQAogICAgICAgICBzZWxmLmNoZWNrbGV0dGVyKCJIQUxGV0lEVEggS0FUQUtBTkEgU0VNSS1WT0lDRUQgU09VTkQgTUFSSyIsICJcdUZGOUYiKQogICAgICAgICBzZWxmLmNoZWNrbGV0dGVyKCJGVUxMV0lEVEggTEFUSU4gU01BTEwgTEVUVEVSIEEiLCAiXHVGRjQxIikKIAorICAgIGRlZiB0ZXN0X2FsaWFzZXMoc2VsZik6CisgICAgICAgICMgQ2hlY2sgdGhhdCB0aGUgYWxpYXNlcyBkZWZpbmVkIGluIHRoZSBOYW1lQWxpYXNlcy50eHQgZmlsZSB3b3JrLgorICAgICAgICAjIFRoaXMgc2hvdWxkIGJlIHVwZGF0ZWQgd2hlbiBuZXcgYWxpYXNlcyBhcmUgYWRkZWQgb3IgdGhlIGZpbGUKKyAgICAgICAgIyBzaG91bGQgYmUgZG93bmxvYWRlZCBhbmQgcGFyc2VkIGluc3RlYWQuICBTZWUgIzEyNzUzLgorICAgICAgICBhbGlhc2VzID0gWworICAgICAgICAgICAgKCdMQVRJTiBDQVBJVEFMIExFVFRFUiBHSEEnLCAweDAxQTIpLAorICAgICAgICAgICAgKCdMQVRJTiBTTUFMTCBMRVRURVIgR0hBJywgMHgwMUEzKSwKKyAgICAgICAgICAgICgnS0FOTkFEQSBMRVRURVIgTExMQScsIDB4MENERSksCisgICAgICAgICAgICAoJ0xBTyBMRVRURVIgRk8gRk9OJywgMHgwRTlEKSwKKyAgICAgICAgICAgICgnTEFPIExFVFRFUiBGTyBGQVknLCAweDBFOUYpLAorICAgICAgICAgICAgKCdMQU8gTEVUVEVSIFJPJywgMHgwRUEzKSwKKyAgICAgICAgICAgICgnTEFPIExFVFRFUiBMTycsIDB4MEVBNSksCisgICAgICAgICAgICAoJ1RJQkVUQU4gTUFSSyBCS0EtIFNIT0cgR0kgTUdPIFJHWUFOJywgMHgwRkQwKSwKKyAgICAgICAgICAgICgnWUkgU1lMTEFCTEUgSVRFUkFUSU9OIE1BUksnLCAweEEwMTUpLAorICAgICAgICAgICAgKCdQUkVTRU5UQVRJT04gRk9STSBGT1IgVkVSVElDQUwgUklHSFQgV0hJVEUgTEVOVElDVUxBUiBCUkFDS0VUJywgMHhGRTE4KSwKKyAgICAgICAgICAgICgnQllaQU5USU5FIE1VU0lDQUwgU1lNQk9MIEZUSE9SQSBTS0xJUk9OIENIUk9NQSBWQVNJUycsIDB4MUQwQzUpCisgICAgICAgIF0KKyAgICAgICAgZm9yIGFsaWFzLCBjb2RlcG9pbnQgaW4gYWxpYXNlczoKKyAgICAgICAgICAgIHNlbGYuY2hlY2tsZXR0ZXIoYWxpYXMsIGNocihjb2RlcG9pbnQpKQorICAgICAgICAgICAgbmFtZSA9IHVuaWNvZGVkYXRhLm5hbWUoY2hyKGNvZGVwb2ludCkpCisgICAgICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKG5hbWUsIGFsaWFzKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh1bmljb2RlZGF0YS5sb29rdXAoYWxpYXMpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bmljb2RlZGF0YS5sb29rdXAobmFtZSkpCisgICAgICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKEtleUVycm9yKToKKyAgICAgICAgICAgICAgICB1bmljb2RlZGF0YS51Y2RfM18yXzAubG9va3VwKGFsaWFzKQorCisgICAgZGVmIHRlc3RfYWxpYXNlc19uYW1lc19pbl9wdWFfcmFuZ2Uoc2VsZik6CisgICAgICAgICMgV2UgYXJlIHN0b3JpbmcgYWxpYXNlcyBpbiB0aGUgUFVBIDE1LCBidXQgdGhlaXIgbmFtZXMgc2hvdWxkbid0IGxlYWsKKyAgICAgICAgZm9yIGNwIGluIHJhbmdlKDB4ZjAwMDAsIDB4ZjAxMDApOgorICAgICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yKSBhcyBjbToKKyAgICAgICAgICAgICAgICB1bmljb2RlZGF0YS5uYW1lKGNocihjcCkpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cihjbS5leGNlcHRpb24pLCAnbm8gc3VjaCBuYW1lJykKKworICAgIGRlZiB0ZXN0X25hbWVkX3NlcXVlbmNlc19uYW1lc19pbl9wdWFfcmFuZ2Uoc2VsZik6CisgICAgICAgICMgV2UgYXJlIHN0b3JpbmcgbmFtZWQgc2VxIGluIHRoZSBQVUEgMTUsIGJ1dCB0aGVpciBuYW1lcyBzaG91bGRuJ3QgbGVhaworICAgICAgICBmb3IgY3AgaW4gcmFuZ2UoMHhmMDEwMCwgMHhmMGZmZik6CisgICAgICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IpIGFzIGNtOgorICAgICAgICAgICAgICAgIHVuaWNvZGVkYXRhLm5hbWUoY2hyKGNwKSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKGNtLmV4Y2VwdGlvbiksICdubyBzdWNoIG5hbWUnKQorCisgICAgZGVmIHRlc3RfbmFtZWRfc2VxdWVuY2VzX3NhbXBsZShzZWxmKToKKyAgICAgICAgIyBDaGVjayBhIGZldyBuYW1lZCBzZXF1ZW5jZXMuICBTZWUgIzEyNzUzLgorICAgICAgICBzZXF1ZW5jZXMgPSBbCisgICAgICAgICAgICAoJ0xBVElOIFNNQUxMIExFVFRFUiBSIFdJVEggVElMREUnLCAnXHUwMDcyXHUwMzAzJyksCisgICAgICAgICAgICAoJ1RBTUlMIFNZTExBQkxFIFNBSScsICdcdTBCQjhcdTBCQzgnKSwKKyAgICAgICAgICAgICgnVEFNSUwgU1lMTEFCTEUgTU9PJywgJ1x1MEJBRVx1MEJDQicpLAorICAgICAgICAgICAgKCdUQU1JTCBTWUxMQUJMRSBOTk9PJywgJ1x1MEJBM1x1MEJDQicpLAorICAgICAgICAgICAgKCdUQU1JTCBDT05TT05BTlQgS1NTJywgJ1x1MEI5NVx1MEJDRFx1MEJCN1x1MEJDRCcpLAorICAgICAgICBdCisgICAgICAgIGZvciBzZXFuYW1lLCBjb2RlcG9pbnRzIGluIHNlcXVlbmNlczoKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodW5pY29kZWRhdGEubG9va3VwKHNlcW5hbWUpLCBjb2RlcG9pbnRzKQorICAgICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhTeW50YXhFcnJvcik6CisgICAgICAgICAgICAgICAgc2VsZi5jaGVja2xldHRlcihzZXFuYW1lLCBOb25lKQorICAgICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhLZXlFcnJvcik6CisgICAgICAgICAgICAgICAgdW5pY29kZWRhdGEudWNkXzNfMl8wLmxvb2t1cChzZXFuYW1lKQorCisgICAgZGVmIHRlc3RfbmFtZWRfc2VxdWVuY2VzX2Z1bGwoc2VsZik6CisgICAgICAgICMgQ2hlY2sgYWxsIHRoZSBuYW1lZCBzZXF1ZW5jZXMKKyAgICAgICAgdXJsID0gKCJodHRwOi8vd3d3LnVuaWNvZGUub3JnL1B1YmxpYy8lcy91Y2QvTmFtZWRTZXF1ZW5jZXMudHh0IiAlCisgICAgICAgICAgICAgICB1bmljb2RlZGF0YS51bmlkYXRhX3ZlcnNpb24pCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHRlc3RkYXRhID0gc3VwcG9ydC5vcGVuX3VybHJlc291cmNlKHVybCwgZW5jb2Rpbmc9InV0Zi04IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrPWNoZWNrX3ZlcnNpb24pCisgICAgICAgIGV4Y2VwdCAoSU9FcnJvciwgSFRUUEV4Y2VwdGlvbik6CisgICAgICAgICAgICBzZWxmLnNraXBUZXN0KCJDb3VsZCBub3QgcmV0cmlldmUgIiArIHVybCkKKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKHRlc3RkYXRhLmNsb3NlKQorICAgICAgICBmb3IgbGluZSBpbiB0ZXN0ZGF0YToKKyAgICAgICAgICAgIGxpbmUgPSBsaW5lLnN0cmlwKCkKKyAgICAgICAgICAgIGlmIG5vdCBsaW5lIG9yIGxpbmUuc3RhcnRzd2l0aCgnIycpOgorICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICBzZXFuYW1lLCBjb2RlcG9pbnRzID0gbGluZS5zcGxpdCgnOycpCisgICAgICAgICAgICBjb2RlcG9pbnRzID0gJycuam9pbihjaHIoaW50KGNwLCAxNikpIGZvciBjcCBpbiBjb2RlcG9pbnRzLnNwbGl0KCkpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHVuaWNvZGVkYXRhLmxvb2t1cChzZXFuYW1lKSwgY29kZXBvaW50cykKKyAgICAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoU3ludGF4RXJyb3IpOgorICAgICAgICAgICAgICAgIHNlbGYuY2hlY2tsZXR0ZXIoc2VxbmFtZSwgTm9uZSkKKyAgICAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoS2V5RXJyb3IpOgorICAgICAgICAgICAgICAgIHVuaWNvZGVkYXRhLnVjZF8zXzJfMC5sb29rdXAoc2VxbmFtZSkKKwogICAgIGRlZiB0ZXN0X2Vycm9ycyhzZWxmKToKLSAgICAgICAgaW1wb3J0IHVuaWNvZGVkYXRhCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgdW5pY29kZWRhdGEubmFtZSkKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCB1bmljb2RlZGF0YS5uYW1lLCAneHgnKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIHVuaWNvZGVkYXRhLmxvb2t1cCkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfdW5pY29kZS5weSBiL0xpYi90ZXN0L3Rlc3RfdW5pY29kZS5weQppbmRleCAxOWIwNmEwLi44MTNkNTlmIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3VuaWNvZGUucHkKKysrIGIvTGliL3Rlc3QvdGVzdF91bmljb2RlLnB5CkBAIC01LDE3ICs1LDEzIEBACiAoYykgQ29weXJpZ2h0IENOUkksIEFsbCBSaWdodHMgUmVzZXJ2ZWQuIE5PIFdBUlJBTlRZLgogCiAiIiIjIgoraW1wb3J0IF9zdHJpbmcKIGltcG9ydCBjb2RlY3MKIGltcG9ydCBzdHJ1Y3QKIGltcG9ydCBzeXMKIGltcG9ydCB1bml0dGVzdAogaW1wb3J0IHdhcm5pbmdzCiBmcm9tIHRlc3QgaW1wb3J0IHN1cHBvcnQsIHN0cmluZ190ZXN0cwotaW1wb3J0IF9zdHJpbmcKLQotIyBkZWNvcmF0b3IgdG8gc2tpcCB0ZXN0cyBvbiBuYXJyb3cgYnVpbGRzCi1yZXF1aXJlc193aWRlX2J1aWxkID0gdW5pdHRlc3Quc2tpcElmKHN5cy5tYXh1bmljb2RlID09IDY1NTM1LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncmVxdWlyZXMgd2lkZSBidWlsZCcpCiAKICMgRXJyb3IgaGFuZGxpbmcgKGJhZCBkZWNvZGVyIHJldHVybikKIGRlZiBzZWFyY2hfZnVuY3Rpb24oZW5jb2RpbmcpOgpAQCAtMTc1LDYgKzE3MSwxNSBAQAogCiAgICAgZGVmIHRlc3RfZmluZChzZWxmKToKICAgICAgICAgc3RyaW5nX3Rlc3RzLkNvbW1vblRlc3QudGVzdF9maW5kKHNlbGYpCisgICAgICAgICMgdGVzdCBpbXBsZW1lbnRhdGlvbiBkZXRhaWxzIG9mIHRoZSBtZW1jaHIgZmFzdCBwYXRoCisgICAgICAgIHNlbGYuY2hlY2tlcXVhbCgxMDAsICdhJyAqIDEwMCArICdcdTAxMDInLCAnZmluZCcsICdcdTAxMDInKQorICAgICAgICBzZWxmLmNoZWNrZXF1YWwoLTEsICdhJyAqIDEwMCArICdcdTAxMDInLCAnZmluZCcsICdcdTAyMDEnKQorICAgICAgICBzZWxmLmNoZWNrZXF1YWwoLTEsICdhJyAqIDEwMCArICdcdTAxMDInLCAnZmluZCcsICdcdTAxMjAnKQorICAgICAgICBzZWxmLmNoZWNrZXF1YWwoLTEsICdhJyAqIDEwMCArICdcdTAxMDInLCAnZmluZCcsICdcdTAyMjAnKQorICAgICAgICBzZWxmLmNoZWNrZXF1YWwoMTAwLCAnYScgKiAxMDAgKyAnXFUwMDEwMDMwNCcsICdmaW5kJywgJ1xVMDAxMDAzMDQnKQorICAgICAgICBzZWxmLmNoZWNrZXF1YWwoLTEsICdhJyAqIDEwMCArICdcVTAwMTAwMzA0JywgJ2ZpbmQnLCAnXFUwMDEwMDIwNCcpCisgICAgICAgIHNlbGYuY2hlY2tlcXVhbCgtMSwgJ2EnICogMTAwICsgJ1xVMDAxMDAzMDQnLCAnZmluZCcsICdcVTAwMTAyMDA0JykKKyAgICAgICAgIyBjaGVjayBtaXhlZCBhcmd1bWVudCB0eXBlcwogICAgICAgICBzZWxmLmNoZWNrZXF1YWxub2ZpeCgwLCAgJ2FiY2RlZmdoaWFiYycsICdmaW5kJywgJ2FiYycpCiAgICAgICAgIHNlbGYuY2hlY2tlcXVhbG5vZml4KDksICAnYWJjZGVmZ2hpYWJjJywgJ2ZpbmQnLCAnYWJjJywgMSkKICAgICAgICAgc2VsZi5jaGVja2VxdWFsbm9maXgoLTEsICdhYmNkZWZnaGlhYmMnLCAnZmluZCcsICdkZWYnLCA0KQpAQCAtMTg0LDYgKzE4OSwxNCBAQAogCiAgICAgZGVmIHRlc3RfcmZpbmQoc2VsZik6CiAgICAgICAgIHN0cmluZ190ZXN0cy5Db21tb25UZXN0LnRlc3RfcmZpbmQoc2VsZikKKyAgICAgICAgIyB0ZXN0IGltcGxlbWVudGF0aW9uIGRldGFpbHMgb2YgdGhlIG1lbXJjaHIgZmFzdCBwYXRoCisgICAgICAgIHNlbGYuY2hlY2tlcXVhbCgwLCAnXHUwMTAyJyArICdhJyAqIDEwMCAsICdyZmluZCcsICdcdTAxMDInKQorICAgICAgICBzZWxmLmNoZWNrZXF1YWwoLTEsICdcdTAxMDInICsgJ2EnICogMTAwICwgJ3JmaW5kJywgJ1x1MDIwMScpCisgICAgICAgIHNlbGYuY2hlY2tlcXVhbCgtMSwgJ1x1MDEwMicgKyAnYScgKiAxMDAgLCAncmZpbmQnLCAnXHUwMTIwJykKKyAgICAgICAgc2VsZi5jaGVja2VxdWFsKC0xLCAnXHUwMTAyJyArICdhJyAqIDEwMCAsICdyZmluZCcsICdcdTAyMjAnKQorICAgICAgICBzZWxmLmNoZWNrZXF1YWwoMCwgJ1xVMDAxMDAzMDQnICsgJ2EnICogMTAwLCAncmZpbmQnLCAnXFUwMDEwMDMwNCcpCisgICAgICAgIHNlbGYuY2hlY2tlcXVhbCgtMSwgJ1xVMDAxMDAzMDQnICsgJ2EnICogMTAwLCAncmZpbmQnLCAnXFUwMDEwMDIwNCcpCisgICAgICAgIHNlbGYuY2hlY2tlcXVhbCgtMSwgJ1xVMDAxMDAzMDQnICsgJ2EnICogMTAwLCAncmZpbmQnLCAnXFUwMDEwMjAwNCcpCiAgICAgICAgICMgY2hlY2sgbWl4ZWQgYXJndW1lbnQgdHlwZXMKICAgICAgICAgc2VsZi5jaGVja2VxdWFsbm9maXgoOSwgICAnYWJjZGVmZ2hpYWJjJywgJ3JmaW5kJywgJ2FiYycpCiAgICAgICAgIHNlbGYuY2hlY2tlcXVhbG5vZml4KDEyLCAgJ2FiY2RlZmdoaWFiYycsICdyZmluZCcsICcnKQpAQCAtMjgwLDYgKzI5MywxMiBAQAogICAgICAgICBzZWxmLmNoZWNrZXF1YWxub2ZpeCgnb25lQHR3byF0aHJlZSEnLCAnb25lIXR3byF0aHJlZSEnLCAncmVwbGFjZScsICchJywgJ0AnLCAxKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsICdyZXBsYWNlJy5yZXBsYWNlLCAiciIsIDQyKQogCisgICAgQHN1cHBvcnQuY3B5dGhvbl9vbmx5CisgICAgZGVmIHRlc3RfcmVwbGFjZV9pZChzZWxmKToKKyAgICAgICAgcGF0dGVybiA9ICdhYmMnCisgICAgICAgIHRleHQgPSAnYWJjIGRlZicKKyAgICAgICAgc2VsZi5hc3NlcnRJcyh0ZXh0LnJlcGxhY2UocGF0dGVybiwgcGF0dGVybiksIHRleHQpCisKICAgICBkZWYgdGVzdF9ieXRlc19jb21wYXJpc29uKHNlbGYpOgogICAgICAgICB3aXRoIHN1cHBvcnQuY2hlY2tfd2FybmluZ3MoKToKICAgICAgICAgICAgIHdhcm5pbmdzLnNpbXBsZWZpbHRlcignaWdub3JlJywgQnl0ZXNXYXJuaW5nKQpAQCAtMzUwLDYgKzM2OSw4IEBACiAgICAgZGVmIHRlc3RfaXNsb3dlcihzZWxmKToKICAgICAgICAgc3RyaW5nX3Rlc3RzLk1peGluU3RyVW5pY29kZVVzZXJTdHJpbmdUZXN0LnRlc3RfaXNsb3dlcihzZWxmKQogICAgICAgICBzZWxmLmNoZWNrZXF1YWxub2ZpeChGYWxzZSwgJ1x1MUZGYycsICdpc2xvd2VyJykKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZSgnXHUyMTY3Jy5pc2xvd2VyKCkpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSgnXHUyMTc3Jy5pc2xvd2VyKCkpCiAgICAgICAgICMgbm9uLUJNUCwgdXBwZXJjYXNlCiAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoJ1xVMDAwMTA0MDEnLmlzbG93ZXIoKSkKICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZSgnXFUwMDAxMDQyNycuaXNsb3dlcigpKQpAQCAtMzY0LDYgKzM4NSw4IEBACiAgICAgICAgIHN0cmluZ190ZXN0cy5NaXhpblN0clVuaWNvZGVVc2VyU3RyaW5nVGVzdC50ZXN0X2lzdXBwZXIoc2VsZikKICAgICAgICAgaWYgbm90IHN5cy5wbGF0Zm9ybS5zdGFydHN3aXRoKCdqYXZhJyk6CiAgICAgICAgICAgICBzZWxmLmNoZWNrZXF1YWxub2ZpeChGYWxzZSwgJ1x1MUZGYycsICdpc3VwcGVyJykKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKCdcdTIxNjcnLmlzdXBwZXIoKSkKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZSgnXHUyMTc3Jy5pc3VwcGVyKCkpCiAgICAgICAgICMgbm9uLUJNUCwgdXBwZXJjYXNlCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSgnXFUwMDAxMDQwMScuaXN1cHBlcigpKQogICAgICAgICBzZWxmLmFzc2VydFRydWUoJ1xVMDAwMTA0MjcnLmlzdXBwZXIoKSkKQEAgLTUyMCw3ICs1NDMsNiBAQAogICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UobWV0aChzKSwgJyVhLiVzKCkgaXMgRmFsc2UnICUgKHMsIG1ldGhfbmFtZSkpCiAKIAotICAgIEByZXF1aXJlc193aWRlX2J1aWxkCiAgICAgZGVmIHRlc3RfbG93ZXIoc2VsZik6CiAgICAgICAgIHN0cmluZ190ZXN0cy5Db21tb25UZXN0LnRlc3RfbG93ZXIoc2VsZikKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnXFUwMDAxMDQyNycubG93ZXIoKSwgJ1xVMDAwMTA0NEYnKQpAQCAtNTMwLDggKzU1MiwyNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICdcVTAwMDEwNDRGXFUwMDAxMDQ0RicpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ1hcVTAwMDEwNDI3eFxVMDAwMTA0NEYnLmxvd2VyKCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ3hcVTAwMDEwNDRGeFxVMDAwMTA0NEYnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCfvrIEnLmxvd2VyKCksICfvrIEnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCdcdTAxMzAnLmxvd2VyKCksICdcdTAwNjlcdTAzMDcnKQorICAgICAgICAjIFNwZWNpYWwgY2FzZSBmb3IgR1JFRUsgQ0FQSVRBTCBMRVRURVIgU0lHTUEgVSswM0EzCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ1x1MDNhMycubG93ZXIoKSwgJ1x1MDNjMycpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ1x1MDM0NVx1MDNhMycubG93ZXIoKSwgJ1x1MDM0NVx1MDNjMycpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ0FcdTAzNDVcdTAzYTMnLmxvd2VyKCksICdhXHUwMzQ1XHUwM2MyJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnQVx1MDM0NVx1MDNhM2EnLmxvd2VyKCksICdhXHUwMzQ1XHUwM2MzYScpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ0FcdTAzNDVcdTAzYTMnLmxvd2VyKCksICdhXHUwMzQ1XHUwM2MyJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnQVx1MDNhM1x1MDM0NScubG93ZXIoKSwgJ2FcdTAzYzJcdTAzNDUnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCdcdTAzYTNcdTAzNDUgJy5sb3dlcigpLCAnXHUwM2MzXHUwMzQ1ICcpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ1xVMDAwOGZmZmUnLmxvd2VyKCksICdcVTAwMDhmZmZlJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnXHUyMTc3Jy5sb3dlcigpLCAnXHUyMTc3JykKIAotICAgIEByZXF1aXJlc193aWRlX2J1aWxkCisgICAgZGVmIHRlc3RfY2FzZWZvbGQoc2VsZik6CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ2hlbGxvJy5jYXNlZm9sZCgpLCAnaGVsbG8nKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCdoRUxsbycuY2FzZWZvbGQoKSwgJ2hlbGxvJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnw58nLmNhc2Vmb2xkKCksICdzcycpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ++sgScuY2FzZWZvbGQoKSwgJ2ZpJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnXHUwM2EzJy5jYXNlZm9sZCgpLCAnXHUwM2MzJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnQVx1MDM0NVx1MDNhMycuY2FzZWZvbGQoKSwgJ2FcdTAzYjlcdTAzYzMnKQorCiAgICAgZGVmIHRlc3RfdXBwZXIoc2VsZik6CiAgICAgICAgIHN0cmluZ190ZXN0cy5Db21tb25UZXN0LnRlc3RfdXBwZXIoc2VsZikKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnXFUwMDAxMDQ0RicudXBwZXIoKSwgJ1xVMDAwMTA0MjcnKQpAQCAtNTQxLDggKzU4MiwxNCBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICdcVTAwMDEwNDI3XFUwMDAxMDQyNycpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ1hcVTAwMDEwNDI3eFxVMDAwMTA0NEYnLnVwcGVyKCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ1hcVTAwMDEwNDI3WFxVMDAwMTA0MjcnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCfvrIEnLnVwcGVyKCksICdGSScpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ1x1MDEzMCcudXBwZXIoKSwgJ1x1MDEzMCcpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ1x1MDNhMycudXBwZXIoKSwgJ1x1MDNhMycpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ8OfJy51cHBlcigpLCAnU1MnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCdcdTFmZDInLnVwcGVyKCksICdcdTAzOTlcdTAzMDhcdTAzMDAnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCdcVTAwMDhmZmZlJy51cHBlcigpLCAnXFUwMDA4ZmZmZScpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ1x1MjE3NycudXBwZXIoKSwgJ1x1MjE2NycpCiAKLSAgICBAcmVxdWlyZXNfd2lkZV9idWlsZAogICAgIGRlZiB0ZXN0X2NhcGl0YWxpemUoc2VsZik6CiAgICAgICAgIHN0cmluZ190ZXN0cy5Db21tb25UZXN0LnRlc3RfY2FwaXRhbGl6ZShzZWxmKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCdcVTAwMDEwNDRGJy5jYXBpdGFsaXplKCksICdcVTAwMDEwNDI3JykKQEAgLTU1NCw4ICs2MDEsMTIgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAnXFUwMDAxMDQyN1xVMDAwMTA0NEYnKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCdYXFUwMDAxMDQyN3hcVTAwMDEwNDRGJy5jYXBpdGFsaXplKCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ1hcVTAwMDEwNDRGeFxVMDAwMTA0NEYnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCdoXHUwMTMwJy5jYXBpdGFsaXplKCksICdIXHUwMDY5XHUwMzA3JykKKyAgICAgICAgZXhwID0gJ1x1MDM5OVx1MDMwOFx1MDMwMFx1MDA2OVx1MDMwNycKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnXHUxZmQyXHUwMTMwJy5jYXBpdGFsaXplKCksIGV4cCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgn76yBbm5pc2gnLmNhcGl0YWxpemUoKSwgJ0ZJbm5pc2gnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCdBXHUwMzQ1XHUwM2EzJy5jYXBpdGFsaXplKCksICdBXHUwMzQ1XHUwM2MyJykKIAotICAgIEByZXF1aXJlc193aWRlX2J1aWxkCiAgICAgZGVmIHRlc3RfdGl0bGUoc2VsZik6CiAgICAgICAgIHN0cmluZ190ZXN0cy5NaXhpblN0clVuaWNvZGVVc2VyU3RyaW5nVGVzdC50ZXN0X3RpdGxlKHNlbGYpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ1xVMDAwMTA0NEYnLnRpdGxlKCksICdcVTAwMDEwNDI3JykKQEAgLTU2OSw4ICs2MjAsMTAgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAnXFUwMDAxMDQyN1xVMDAwMTA0NEYgXFUwMDAxMDQyN1xVMDAwMTA0NEYnKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCdYXFUwMDAxMDQyN3hcVTAwMDEwNDRGIFhcVTAwMDEwNDI3eFxVMDAwMTA0NEYnLnRpdGxlKCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgJ1hcVTAwMDEwNDRGeFxVMDAwMTA0NEYgWFxVMDAwMTA0NEZ4XFUwMDAxMDQ0RicpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ++sgU5OSVNIJy50aXRsZSgpLCAnRmlubmlzaCcpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ0FcdTAzYTMgXHUxZmExeHknLnRpdGxlKCksICdBXHUwM2MyIFx1MWZhOXh5JykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnQVx1MDNhM0EnLnRpdGxlKCksICdBXHUwM2MzYScpCiAKLSAgICBAcmVxdWlyZXNfd2lkZV9idWlsZAogICAgIGRlZiB0ZXN0X3N3YXBjYXNlKHNlbGYpOgogICAgICAgICBzdHJpbmdfdGVzdHMuQ29tbW9uVGVzdC50ZXN0X3N3YXBjYXNlKHNlbGYpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ1xVMDAwMTA0NEYnLnN3YXBjYXNlKCksICdcVTAwMDEwNDI3JykKQEAgLTU4Myw2ICs2MzYsMTkgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAnXFUwMDAxMDQyN1xVMDAwMTA0NEYnKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCdYXFUwMDAxMDQyN3hcVTAwMDEwNDRGJy5zd2FwY2FzZSgpLAogICAgICAgICAgICAgICAgICAgICAgICAgICd4XFUwMDAxMDQ0RlhcVTAwMDEwNDI3JykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgn76yBJy5zd2FwY2FzZSgpLCAnRkknKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCdcdTAxMzAnLnN3YXBjYXNlKCksICdcdTAwNjlcdTAzMDcnKQorICAgICAgICAjIFNwZWNpYWwgY2FzZSBmb3IgR1JFRUsgQ0FQSVRBTCBMRVRURVIgU0lHTUEgVSswM0EzCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ1x1MDNhMycuc3dhcGNhc2UoKSwgJ1x1MDNjMycpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ1x1MDM0NVx1MDNhMycuc3dhcGNhc2UoKSwgJ1x1MDM5OVx1MDNjMycpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ0FcdTAzNDVcdTAzYTMnLnN3YXBjYXNlKCksICdhXHUwMzk5XHUwM2MyJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnQVx1MDM0NVx1MDNhM2EnLnN3YXBjYXNlKCksICdhXHUwMzk5XHUwM2MzQScpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ0FcdTAzNDVcdTAzYTMnLnN3YXBjYXNlKCksICdhXHUwMzk5XHUwM2MyJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnQVx1MDNhM1x1MDM0NScuc3dhcGNhc2UoKSwgJ2FcdTAzYzJcdTAzOTknKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCdcdTAzYTNcdTAzNDUgJy5zd2FwY2FzZSgpLCAnXHUwM2MzXHUwMzk5ICcpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ1x1MDNhMycuc3dhcGNhc2UoKSwgJ1x1MDNjMycpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ8OfJy5zd2FwY2FzZSgpLCAnU1MnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCdcdTFmZDInLnN3YXBjYXNlKCksICdcdTAzOTlcdTAzMDhcdTAzMDAnKQogCiAgICAgZGVmIHRlc3RfY29udGFpbnMoc2VsZik6CiAgICAgICAgICMgVGVzdGluZyBVbmljb2RlIGNvbnRhaW5zIG1ldGhvZApAQCAtNzc2LDcgKzg0Miw3IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ3swIXN9Jy5mb3JtYXQoRygnZGF0YScpKSwgJ3N0cmluZyBpcyBkYXRhJykKIAogICAgICAgICBtc2cgPSAnb2JqZWN0Ll9fZm9ybWF0X18gd2l0aCBhIG5vbi1lbXB0eSBmb3JtYXQgc3RyaW5nIGlzIGRlcHJlY2F0ZWQnCi0gICAgICAgIHdpdGggc3VwcG9ydC5jaGVja193YXJuaW5ncygobXNnLCBQZW5kaW5nRGVwcmVjYXRpb25XYXJuaW5nKSk6CisgICAgICAgIHdpdGggc3VwcG9ydC5jaGVja193YXJuaW5ncygobXNnLCBEZXByZWNhdGlvbldhcm5pbmcpKToKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ3swOl4xMH0nLmZvcm1hdChFKCdkYXRhJykpLCAnIEUoZGF0YSkgICcpCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCd7MDpeMTBzfScuZm9ybWF0KEUoJ2RhdGEnKSksICcgRShkYXRhKSAgJykKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ3swOj4xNXN9Jy5mb3JtYXQoRygnZGF0YScpKSwgJyBzdHJpbmcgaXMgZGF0YScpCkBAIC0xMDE0LDEwICsxMDgwLDEzIEBACiAgICAgICAgIGNsYXNzIFVuaWNvZGVTdWJjbGFzcyhzdHIpOgogICAgICAgICAgICAgcGFzcwogCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCi0gICAgICAgICAgICBzdHIoVW5pY29kZVN1YmNsYXNzKCd1bmljb2RlIHN1YmNsYXNzIGJlY29tZXMgdW5pY29kZScpKSwKLSAgICAgICAgICAgICd1bmljb2RlIHN1YmNsYXNzIGJlY29tZXMgdW5pY29kZScKLSAgICAgICAgKQorICAgICAgICBmb3IgdGV4dCBpbiAoJ2FzY2lpJywgJ1x4ZTknLCAnXHUyMGFjJywgJ1xVMDAxMEZGRkYnKToKKyAgICAgICAgICAgIHN1YmNsYXNzID0gVW5pY29kZVN1YmNsYXNzKHRleHQpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cihzdWJjbGFzcyksIHRleHQpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihzdWJjbGFzcyksIGxlbih0ZXh0KSkKKyAgICAgICAgICAgIGlmIHRleHQgPT0gJ2FzY2lpJzoKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN1YmNsYXNzLmVuY29kZSgnYXNjaWknKSwgYidhc2NpaScpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdWJjbGFzcy5lbmNvZGUoJ3V0Zi04JyksIGInYXNjaWknKQogCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCiAgICAgICAgICAgICBzdHIoJ3N0cmluZ3MgYXJlIGNvbnZlcnRlZCB0byB1bmljb2RlJyksCkBAIC0xMTIzLDE1ICsxMTkyLDEyIEBACiAgICAgZGVmIHRlc3RfY29kZWNzX3V0Zjgoc2VsZik6CiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJycuZW5jb2RlKCd1dGYtOCcpLCBiJycpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ1x1MjBhYycuZW5jb2RlKCd1dGYtOCcpLCBiJ1x4ZTJceDgyXHhhYycpCi0gICAgICAgIGlmIHN5cy5tYXh1bmljb2RlID09IDY1NTM1OgotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnXHVkODAwXHVkYzAyJy5lbmNvZGUoJ3V0Zi04JyksIGInXHhmMFx4OTBceDgwXHg4MicpCi0gICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCdcdWQ4NGRcdWRjNTYnLmVuY29kZSgndXRmLTgnKSwgYidceGYwXHhhM1x4OTFceDk2JykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnXFUwMDAxMDAwMicuZW5jb2RlKCd1dGYtOCcpLCBiJ1x4ZjBceDkwXHg4MFx4ODInKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCdcVTAwMDIzNDU2Jy5lbmNvZGUoJ3V0Zi04JyksIGInXHhmMFx4YTNceDkxXHg5NicpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ1x1ZDgwMCcuZW5jb2RlKCd1dGYtOCcsICdzdXJyb2dhdGVwYXNzJyksIGInXHhlZFx4YTBceDgwJykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnXHVkYzAwJy5lbmNvZGUoJ3V0Zi04JywgJ3N1cnJvZ2F0ZXBhc3MnKSwgYidceGVkXHhiMFx4ODAnKQotICAgICAgICBpZiBzeXMubWF4dW5pY29kZSA9PSA2NTUzNToKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCi0gICAgICAgICAgICAgICAgKCdcdWQ4MDBcdWRjMDInKjEwMDApLmVuY29kZSgndXRmLTgnKSwKLSAgICAgICAgICAgICAgICBiJ1x4ZjBceDkwXHg4MFx4ODInKjEwMDApCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoKCdcVTAwMDEwMDAyJyoxMCkuZW5jb2RlKCd1dGYtOCcpLAorICAgICAgICAgICAgICAgICAgICAgICAgIGInXHhmMFx4OTBceDgwXHg4MicqMTApCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCiAgICAgICAgICAgICAnXHU2YjYzXHU3OGJhXHUzMDZiXHU4YTAwXHUzMDQ2XHUzMDY4XHU3ZmZiXHU4YTMzXHUzMDZmJwogICAgICAgICAgICAgJ1x1MzA1NVx1MzA4Y1x1MzA2Nlx1MzA0NFx1MzA3ZVx1MzA1Ylx1MzA5M1x1MzAwMlx1NGUwMCcKQEAgLTEzNjksMTggKzE0MzUsMjUgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnaGVsbG8nLmVuY29kZSgnYXNjaWknKSwgYidoZWxsbycpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ2hlbGxvJy5lbmNvZGUoJ3V0Zi03JyksIGInaGVsbG8nKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCdoZWxsbycuZW5jb2RlKCd1dGYtOCcpLCBiJ2hlbGxvJykKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnaGVsbG8nLmVuY29kZSgndXRmOCcpLCBiJ2hlbGxvJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnaGVsbG8nLmVuY29kZSgndXRmLTgnKSwgYidoZWxsbycpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJ2hlbGxvJy5lbmNvZGUoJ3V0Zi0xNi1sZScpLCBiJ2hcMDAwZVwwMDBsXDAwMGxcMDAwb1wwMDAnKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCdoZWxsbycuZW5jb2RlKCd1dGYtMTYtYmUnKSwgYidcMDAwaFwwMDBlXDAwMGxcMDAwbFwwMDBvJykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnaGVsbG8nLmVuY29kZSgnbGF0aW4tMScpLCBiJ2hlbGxvJykKIAorICAgICAgICAjIERlZmF1bHQgZW5jb2RpbmcgaXMgdXRmLTgKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnXHUyNjAzJy5lbmNvZGUoKSwgYidceGUyXHg5OFx4ODMnKQorCiAgICAgICAgICMgUm91bmR0cmlwIHNhZmV0eSBmb3IgQk1QIChqdXN0IHRoZSBmaXJzdCAxMDI0IGNoYXJzKQogICAgICAgICBmb3IgYyBpbiByYW5nZSgxMDI0KToKICAgICAgICAgICAgIHUgPSBjaHIoYykKICAgICAgICAgICAgIGZvciBlbmNvZGluZyBpbiAoJ3V0Zi03JywgJ3V0Zi04JywgJ3V0Zi0xNicsICd1dGYtMTYtbGUnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndXRmLTE2LWJlJywgJ3Jhd191bmljb2RlX2VzY2FwZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd1bmljb2RlX2VzY2FwZScsICd1bmljb2RlX2ludGVybmFsJyk6Ci0gICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdHIodS5lbmNvZGUoZW5jb2RpbmcpLGVuY29kaW5nKSwgdSkKKyAgICAgICAgICAgICAgICB3aXRoIHdhcm5pbmdzLmNhdGNoX3dhcm5pbmdzKCk6CisgICAgICAgICAgICAgICAgICAgICMgdW5pY29kZS1pbnRlcm5hbCBoYXMgYmVlbiBkZXByZWNhdGVkCisgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdzLnNpbXBsZWZpbHRlcigiaWdub3JlIiwgRGVwcmVjYXRpb25XYXJuaW5nKQorCisgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKHUuZW5jb2RlKGVuY29kaW5nKSxlbmNvZGluZyksIHUpCiAKICAgICAgICAgIyBSb3VuZHRyaXAgc2FmZXR5IGZvciBCTVAgKGp1c3QgdGhlIGZpcnN0IDI1NiBjaGFycykKICAgICAgICAgZm9yIGMgaW4gcmFuZ2UoMjU2KToKQEAgLTEzOTUsMTggKzE0NjgsMjAgQEAKICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cih1LmVuY29kZShlbmNvZGluZyksZW5jb2RpbmcpLCB1KQogCiAgICAgICAgICMgUm91bmR0cmlwIHNhZmV0eSBmb3Igbm9uLUJNUCAoanVzdCBhIGZldyBjaGFycykKLSAgICAgICAgdSA9ICdcVTAwMDEwMDAxXFUwMDAyMDAwMlxVMDAwMzAwMDNcVTAwMDQwMDA0XFUwMDA1MDAwNScKLSAgICAgICAgZm9yIGVuY29kaW5nIGluICgndXRmLTgnLCAndXRmLTE2JywgJ3V0Zi0xNi1sZScsICd1dGYtMTYtYmUnLAotICAgICAgICAgICAgICAgICAgICAgICAgICMncmF3X3VuaWNvZGVfZXNjYXBlJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAndW5pY29kZV9lc2NhcGUnLCAndW5pY29kZV9pbnRlcm5hbCcpOgotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdHIodS5lbmNvZGUoZW5jb2RpbmcpLGVuY29kaW5nKSwgdSkKKyAgICAgICAgd2l0aCB3YXJuaW5ncy5jYXRjaF93YXJuaW5ncygpOgorICAgICAgICAgICAgIyB1bmljb2RlLWludGVybmFsIGhhcyBiZWVuIGRlcHJlY2F0ZWQKKyAgICAgICAgICAgIHdhcm5pbmdzLnNpbXBsZWZpbHRlcigiaWdub3JlIiwgRGVwcmVjYXRpb25XYXJuaW5nKQogCi0gICAgICAgICMgVVRGLTggbXVzdCBiZSByb3VuZHRyaXAgc2FmZSBmb3IgYWxsIFVDUy0yIGNvZGUgcG9pbnRzCi0gICAgICAgICMgVGhpcyBleGNsdWRlcyBzdXJyb2dhdGVzOiBpbiB0aGUgZnVsbCByYW5nZSwgdGhlcmUgd291bGQgYmUKLSAgICAgICAgIyBhIHN1cnJvZ2F0ZSBwYWlyIChcdWRiZmZcdWRjMDApLCB3aGljaCBnZXRzIGNvbnZlcnRlZCBiYWNrCi0gICAgICAgICMgdG8gYSBub24tQk1QIGNoYXJhY3RlciAoXFUwMDEwZmMwMCkKLSAgICAgICAgdSA9ICcnLmpvaW4obWFwKGNociwgbGlzdChyYW5nZSgwLDB4ZDgwMCkpICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlzdChyYW5nZSgweGUwMDAsMHgxMDAwMCkpKSkKKyAgICAgICAgICAgIHUgPSAnXFUwMDAxMDAwMVxVMDAwMjAwMDJcVTAwMDMwMDAzXFUwMDA0MDAwNFxVMDAwNTAwMDUnCisgICAgICAgICAgICBmb3IgZW5jb2RpbmcgaW4gKCd1dGYtOCcsICd1dGYtMTYnLCAndXRmLTE2LWxlJywgJ3V0Zi0xNi1iZScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyYXdfdW5pY29kZV9lc2NhcGUnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndW5pY29kZV9lc2NhcGUnLCAndW5pY29kZV9pbnRlcm5hbCcpOgorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKHUuZW5jb2RlKGVuY29kaW5nKSxlbmNvZGluZyksIHUpCisKKyAgICAgICAgIyBVVEYtOCBtdXN0IGJlIHJvdW5kdHJpcCBzYWZlIGZvciBhbGwgY29kZSBwb2ludHMKKyAgICAgICAgIyAoZXhjZXB0IHN1cnJvZ2F0ZXMsIHdoaWNoIGFyZSBmb3JiaWRkZW4pLgorICAgICAgICB1ID0gJycuam9pbihtYXAoY2hyLCBsaXN0KHJhbmdlKDAsIDB4ZDgwMCkpICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlzdChyYW5nZSgweGUwMDAsIDB4MTEwMDAwKSkpKQogICAgICAgICBmb3IgZW5jb2RpbmcgaW4gKCd1dGYtOCcsKToKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKHUuZW5jb2RlKGVuY29kaW5nKSxlbmNvZGluZyksIHUpCiAKQEAgLTE1OTEsMTcgKzE2NjYsMzkgQEAKICAgICAgICAgICAgIHJldHVybgogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhPdmVyZmxvd0Vycm9yLCAndFx0dFx0Jy5leHBhbmR0YWJzLCBzeXMubWF4c2l6ZSkKIAorICAgIEBzdXBwb3J0LmNweXRob25fb25seQorICAgIGRlZiB0ZXN0X2V4cGFuZHRhYnNfb3B0aW1pemF0aW9uKHNlbGYpOgorICAgICAgICBzID0gJ2FiYycKKyAgICAgICAgc2VsZi5hc3NlcnRJcyhzLmV4cGFuZHRhYnMoKSwgcykKKwogICAgIGRlZiB0ZXN0X3JhaXNlTWVtRXJyb3Ioc2VsZik6Ci0gICAgICAgICMgRW5zdXJlIHRoYXQgdGhlIGZyZWVsaXN0IGNvbnRhaW5zIGEgY29uc2lzdGVudCBvYmplY3QsIGV2ZW4KLSAgICAgICAgIyB3aGVuIGEgc3RyaW5nIGFsbG9jYXRpb24gZmFpbHMgd2l0aCBhIE1lbW9yeUVycm9yLgotICAgICAgICAjIFRoaXMgdXNlZCB0byBjcmFzaCB0aGUgaW50ZXJwcmV0ZXIsCi0gICAgICAgICMgb3IgbGVhayByZWZlcmVuY2VzIHdoZW4gdGhlIG51bWJlciB3YXMgc21hbGxlci4KLSAgICAgICAgY2hhcndpZHRoID0gNCBpZiBzeXMubWF4dW5pY29kZSA+PSAweDEwMDAwIGVsc2UgMgotICAgICAgICAjIE5vdGU6IHN5cy5tYXhzaXplIGlzIGhhbGYgb2YgdGhlIGFjdHVhbCBtYXggYWxsb2NhdGlvbiBiZWNhdXNlIG9mCi0gICAgICAgICMgdGhlIHNpZ25lZG5lc3Mgb2YgUHlfc3NpemVfdC4KLSAgICAgICAgYWxsb2MgPSBsYW1iZGE6ICJhIiAqIChzeXMubWF4c2l6ZSAvLyBjaGFyd2lkdGggKiAyKQotICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhNZW1vcnlFcnJvciwgYWxsb2MpCi0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE1lbW9yeUVycm9yLCBhbGxvYykKKyAgICAgICAgaWYgc3RydWN0LmNhbGNzaXplKCdQJykgPT0gODoKKyAgICAgICAgICAgICMgNjQgYml0cyBwb2ludGVycworICAgICAgICAgICAgYXNjaWlfc3RydWN0X3NpemUgPSA0OAorICAgICAgICAgICAgY29tcGFjdF9zdHJ1Y3Rfc2l6ZSA9IDcyCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICAjIDMyIGJpdHMgcG9pbnRlcnMKKyAgICAgICAgICAgIGFzY2lpX3N0cnVjdF9zaXplID0gMjQKKyAgICAgICAgICAgIGNvbXBhY3Rfc3RydWN0X3NpemUgPSAzNgorCisgICAgICAgIGZvciBjaGFyIGluICgnYScsICdceGU5JywgJ1x1MjBhYycsICdcVTAwMTBmZmZmJyk6CisgICAgICAgICAgICBjb2RlID0gb3JkKGNoYXIpCisgICAgICAgICAgICBpZiBjb2RlIDwgMHgxMDA6CisgICAgICAgICAgICAgICAgY2hhcl9zaXplID0gMSAgIyBzaXplb2YoUHlfVUNTMSkKKyAgICAgICAgICAgICAgICBzdHJ1Y3Rfc2l6ZSA9IGFzY2lpX3N0cnVjdF9zaXplCisgICAgICAgICAgICBlbGlmIGNvZGUgPCAweDEwMDAwOgorICAgICAgICAgICAgICAgIGNoYXJfc2l6ZSA9IDIgICMgc2l6ZW9mKFB5X1VDUzIpCisgICAgICAgICAgICAgICAgc3RydWN0X3NpemUgPSBjb21wYWN0X3N0cnVjdF9zaXplCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIGNoYXJfc2l6ZSA9IDQgICMgc2l6ZW9mKFB5X1VDUzQpCisgICAgICAgICAgICAgICAgc3RydWN0X3NpemUgPSBjb21wYWN0X3N0cnVjdF9zaXplCisgICAgICAgICAgICAjIE5vdGU6IHN5cy5tYXhzaXplIGlzIGhhbGYgb2YgdGhlIGFjdHVhbCBtYXggYWxsb2NhdGlvbiBiZWNhdXNlIG9mCisgICAgICAgICAgICAjIHRoZSBzaWduZWRuZXNzIG9mIFB5X3NzaXplX3QuIFN0cmluZ3Mgb2YgbWF4bGVuLTEgc2hvdWxkIGluIHByaW5jaXBsZQorICAgICAgICAgICAgIyBiZSBhbGxvY2F0YWJsZSwgZ2l2ZW4gZW5vdWdoIG1lbW9yeS4KKyAgICAgICAgICAgIG1heGxlbiA9ICgoc3lzLm1heHNpemUgLSBzdHJ1Y3Rfc2l6ZSkgLy8gY2hhcl9zaXplKQorICAgICAgICAgICAgYWxsb2MgPSBsYW1iZGE6IGNoYXIgKiBtYXhsZW4KKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE1lbW9yeUVycm9yLCBhbGxvYykKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE1lbW9yeUVycm9yLCBhbGxvYykKIAogICAgIGRlZiB0ZXN0X2Zvcm1hdF9zdWJjbGFzcyhzZWxmKToKICAgICAgICAgY2xhc3MgUyhzdHIpOgpAQCAtMTYxNCwxMSArMTcxMSwxMCBAQAogICAgICMgVGVzdCBQeVVuaWNvZGVfRnJvbUZvcm1hdCgpCiAgICAgZGVmIHRlc3RfZnJvbV9mb3JtYXQoc2VsZik6CiAgICAgICAgIHN1cHBvcnQuaW1wb3J0X21vZHVsZSgnY3R5cGVzJykKLSAgICAgICAgZnJvbSBjdHlwZXMgaW1wb3J0IHB5dGhvbmFwaSwgcHlfb2JqZWN0LCBjX2ludAotICAgICAgICBpZiBzeXMubWF4dW5pY29kZSA9PSA2NTUzNToKLSAgICAgICAgICAgIG5hbWUgPSAiUHlVbmljb2RlVUNTMl9Gcm9tRm9ybWF0IgotICAgICAgICBlbHNlOgotICAgICAgICAgICAgbmFtZSA9ICJQeVVuaWNvZGVVQ1M0X0Zyb21Gb3JtYXQiCisgICAgICAgIGZyb20gY3R5cGVzIGltcG9ydCAocHl0aG9uYXBpLCBweV9vYmplY3QsCisgICAgICAgICAgICBjX2ludCwgY19sb25nLCBjX2xvbmdsb25nLCBjX3NzaXplX3QsCisgICAgICAgICAgICBjX3VpbnQsIGNfdWxvbmcsIGNfdWxvbmdsb25nLCBjX3NpemVfdCkKKyAgICAgICAgbmFtZSA9ICJQeVVuaWNvZGVfRnJvbUZvcm1hdCIKICAgICAgICAgX1B5VW5pY29kZV9Gcm9tRm9ybWF0ID0gZ2V0YXR0cihweXRob25hcGksIG5hbWUpCiAgICAgICAgIF9QeVVuaWNvZGVfRnJvbUZvcm1hdC5yZXN0eXBlID0gcHlfb2JqZWN0CiAKQEAgLTE2MzksMTMgKzE3MzUsNDAgQEAKICAgICAgICAgICAgICdzdHJpbmcsIGdvdCBhIG5vbi1BU0NJSSBieXRlOiAweGU5JCcsCiAgICAgICAgICAgICBQeVVuaWNvZGVfRnJvbUZvcm1hdCwgYid1bmljb2RlXHhlOT0lcycsICdhc2NpaScpCiAKKyAgICAgICAgIyB0ZXN0ICIlYyIKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChQeVVuaWNvZGVfRnJvbUZvcm1hdChiJyVjJywgY19pbnQoMHhhYmNkKSksICdcdWFiY2QnKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKFB5VW5pY29kZV9Gcm9tRm9ybWF0KGInJWMnLCBjX2ludCgweDEwZmZmZikpLCAnXFUwMDEwZmZmZicpCiAKLSAgICAgICAgIyBvdGhlciB0ZXN0cworICAgICAgICAjIHRlc3QgIiUiCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoUHlVbmljb2RlX0Zyb21Gb3JtYXQoYiclJyksICclJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChQeVVuaWNvZGVfRnJvbUZvcm1hdChiJyUlJyksICclJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChQeVVuaWNvZGVfRnJvbUZvcm1hdChiJyUlcycpLCAnJXMnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKFB5VW5pY29kZV9Gcm9tRm9ybWF0KGInWyUlXScpLCAnWyVdJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChQeVVuaWNvZGVfRnJvbUZvcm1hdChiJyUlJXMnLCBiJ2FiYycpLCAnJWFiYycpCisKKyAgICAgICAgIyB0ZXN0IGludGVnZXIgZm9ybWF0cyAoJWksICVkLCAldSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChQeVVuaWNvZGVfRnJvbUZvcm1hdChiJyUwM2knLCBjX2ludCgxMCkpLCAnMDEwJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChQeVVuaWNvZGVfRnJvbUZvcm1hdChiJyUwLjRpJywgY19pbnQoMTApKSwgJzAwMTAnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKFB5VW5pY29kZV9Gcm9tRm9ybWF0KGInJWknLCBjX2ludCgtMTIzKSksICctMTIzJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChQeVVuaWNvZGVfRnJvbUZvcm1hdChiJyVsaScsIGNfbG9uZygtMTIzKSksICctMTIzJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChQeVVuaWNvZGVfRnJvbUZvcm1hdChiJyVsbGknLCBjX2xvbmdsb25nKC0xMjMpKSwgJy0xMjMnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKFB5VW5pY29kZV9Gcm9tRm9ybWF0KGInJXppJywgY19zc2l6ZV90KC0xMjMpKSwgJy0xMjMnKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoUHlVbmljb2RlX0Zyb21Gb3JtYXQoYiclZCcsIGNfaW50KC0xMjMpKSwgJy0xMjMnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKFB5VW5pY29kZV9Gcm9tRm9ybWF0KGInJWxkJywgY19sb25nKC0xMjMpKSwgJy0xMjMnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKFB5VW5pY29kZV9Gcm9tRm9ybWF0KGInJWxsZCcsIGNfbG9uZ2xvbmcoLTEyMykpLCAnLTEyMycpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoUHlVbmljb2RlX0Zyb21Gb3JtYXQoYiclemQnLCBjX3NzaXplX3QoLTEyMykpLCAnLTEyMycpCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChQeVVuaWNvZGVfRnJvbUZvcm1hdChiJyV1JywgY191aW50KDEyMykpLCAnMTIzJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChQeVVuaWNvZGVfRnJvbUZvcm1hdChiJyVsdScsIGNfdWxvbmcoMTIzKSksICcxMjMnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKFB5VW5pY29kZV9Gcm9tRm9ybWF0KGInJWxsdScsIGNfdWxvbmdsb25nKDEyMykpLCAnMTIzJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChQeVVuaWNvZGVfRnJvbUZvcm1hdChiJyV6dScsIGNfc2l6ZV90KDEyMykpLCAnMTIzJykKKworICAgICAgICAjIHRlc3QgJUEKICAgICAgICAgdGV4dCA9IFB5VW5pY29kZV9Gcm9tRm9ybWF0KGInJSVBOiVBJywgJ2FiY1x4ZTlcdWFiY2RcVTAwMTBmZmZmJykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh0ZXh0LCByIiVBOidhYmNceGU5XHVhYmNkXFUwMDEwZmZmZiciKQogCisgICAgICAgICMgdGVzdCAlVgogICAgICAgICB0ZXh0ID0gUHlVbmljb2RlX0Zyb21Gb3JtYXQoYidyZXByPSVWJywgJ2FiYycsIGIneHl6JykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh0ZXh0LCAncmVwcj1hYmMnKQogCkBAIC0xNjU5LDYgKzE3ODIsMTMgQEAKICAgICAgICAgdGV4dCA9IFB5VW5pY29kZV9Gcm9tRm9ybWF0KGIncmVwcj0lVicsIE5vbmUsIGInYWJjXHhmZicpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodGV4dCwgJ3JlcHI9YWJjXHVmZmZkJykKIAorICAgICAgICAjIG5vdCBzdXBwb3J0ZWQ6IGNvcHkgdGhlIHJhdyBmb3JtYXQgc3RyaW5nLiB0aGVzZSB0ZXN0cyBhcmUganVzdCBoZXJlCisgICAgICAgICMgdG8gY2hlY2sgZm9yIGNyYXNocyBhbmQgc2hvdWxkIG5vdCBiZSBjb25zaWRlcmVkIGFzIHNwZWNpZmljYXRpb25zCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoUHlVbmljb2RlX0Zyb21Gb3JtYXQoYiclMSVzJywgYidhYmMnKSwgJyVzJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChQeVVuaWNvZGVfRnJvbUZvcm1hdChiJyUxYWJjJyksICclMWFiYycpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoUHlVbmljb2RlX0Zyb21Gb3JtYXQoYiclK2knLCBjX2ludCgxMCkpLCAnJStpJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChQeVVuaWNvZGVfRnJvbUZvcm1hdChiJyUuJXMnLCBiJ2FiYycpLCAnJS4lcycpCisKICAgICAjIFRlc3QgUHlVbmljb2RlX0FzV2lkZUNoYXIoKQogICAgIGRlZiB0ZXN0X2Fzd2lkZWNoYXIoc2VsZik6CiAgICAgICAgIGZyb20gX3Rlc3RjYXBpIGltcG9ydCB1bmljb2RlX2Fzd2lkZWNoYXIKQEAgLTE3MTksNiArMTg0OSw1MSBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNpemUsIG5jaGFyKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHdjaGFyLCBub25ibXAgKyAnXDAnKQogCisgICAgZGVmIHRlc3Rfc3ViY2xhc3NfYWRkKHNlbGYpOgorICAgICAgICBjbGFzcyBTKHN0cik6CisgICAgICAgICAgICBkZWYgX19hZGRfXyhzZWxmLCBvKToKKyAgICAgICAgICAgICAgICByZXR1cm4gIjMiCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoUygiNCIpICsgUygiNSIpLCAiMyIpCisgICAgICAgIGNsYXNzIFMoc3RyKToKKyAgICAgICAgICAgIGRlZiBfX2lhZGRfXyhzZWxmLCBvKToKKyAgICAgICAgICAgICAgICByZXR1cm4gIjMiCisgICAgICAgIHMgPSBTKCIxIikKKyAgICAgICAgcyArPSAiNCIKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzLCAiMyIpCisKKyAgICBkZWYgdGVzdF9lbmNvZGVfZGVjaW1hbChzZWxmKToKKyAgICAgICAgZnJvbSBfdGVzdGNhcGkgaW1wb3J0IHVuaWNvZGVfZW5jb2RlZGVjaW1hbAorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHVuaWNvZGVfZW5jb2RlZGVjaW1hbCgnMTIzJyksCisgICAgICAgICAgICAgICAgICAgICAgICAgYicxMjMnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHVuaWNvZGVfZW5jb2RlZGVjaW1hbCgnXHUwNjYzLlx1MDY2MVx1MDY2NCcpLAorICAgICAgICAgICAgICAgICAgICAgICAgIGInMy4xNCcpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodW5pY29kZV9lbmNvZGVkZWNpbWFsKCJcTntFTSBTUEFDRX0zLjE0XE57RU4gU1BBQ0V9IiksCisgICAgICAgICAgICAgICAgICAgICAgICAgYicgMy4xNCAnKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhVbmljb2RlRW5jb2RlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHVuaWNvZGVfZW5jb2RlZGVjaW1hbCwgIjEyM1x1MjBhYyIsICJzdHJpY3QiKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KAorICAgICAgICAgICAgVmFsdWVFcnJvciwKKyAgICAgICAgICAgICJeJ2RlY2ltYWwnIGNvZGVjIGNhbid0IGVuY29kZSBjaGFyYWN0ZXIiLAorICAgICAgICAgICAgdW5pY29kZV9lbmNvZGVkZWNpbWFsLCAiMTIzXHUyMGFjIiwgInJlcGxhY2UiKQorCisgICAgZGVmIHRlc3RfdHJhbnNmb3JtX2RlY2ltYWwoc2VsZik6CisgICAgICAgIGZyb20gX3Rlc3RjYXBpIGltcG9ydCB1bmljb2RlX3RyYW5zZm9ybWRlY2ltYWx0b2FzY2lpIGFzIHRyYW5zZm9ybV9kZWNpbWFsCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodHJhbnNmb3JtX2RlY2ltYWwoJzEyMycpLAorICAgICAgICAgICAgICAgICAgICAgICAgICcxMjMnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHRyYW5zZm9ybV9kZWNpbWFsKCdcdTA2NjMuXHUwNjYxXHUwNjY0JyksCisgICAgICAgICAgICAgICAgICAgICAgICAgJzMuMTQnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHRyYW5zZm9ybV9kZWNpbWFsKCJcTntFTSBTUEFDRX0zLjE0XE57RU4gU1BBQ0V9IiksCisgICAgICAgICAgICAgICAgICAgICAgICAgIlxOe0VNIFNQQUNFfTMuMTRcTntFTiBTUEFDRX0iKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHRyYW5zZm9ybV9kZWNpbWFsKCcxMjNcdTIwYWMnKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAnMTIzXHUyMGFjJykKKworICAgIGRlZiB0ZXN0X2dldG5ld2FyZ3Moc2VsZik6CisgICAgICAgIHRleHQgPSAnYWJjJworICAgICAgICBhcmdzID0gdGV4dC5fX2dldG5ld2FyZ3NfXygpCisgICAgICAgIHNlbGYuYXNzZXJ0SXNOb3QoYXJnc1swXSwgdGV4dCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChhcmdzWzBdLCB0ZXh0KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihhcmdzKSwgMSkKKwogCiBjbGFzcyBTdHJpbmdNb2R1bGVUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICBkZWYgdGVzdF9mb3JtYXR0ZXJfcGFyc2VyKHNlbGYpOgpAQCAtMTc3MCw0MiArMTk0NSw2IEBACiAgICAgICAgICAgICBdXSkKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBfc3RyaW5nLmZvcm1hdHRlcl9maWVsZF9uYW1lX3NwbGl0LCAxKQogCi0gICAgZGVmIHRlc3RfZW5jb2RlX2RlY2ltYWwoc2VsZik6Ci0gICAgICAgIGZyb20gX3Rlc3RjYXBpIGltcG9ydCB1bmljb2RlX2VuY29kZWRlY2ltYWwKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh1bmljb2RlX2VuY29kZWRlY2ltYWwoJzEyMycpLAotICAgICAgICAgICAgICAgICAgICAgICAgIGInMTIzJykKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh1bmljb2RlX2VuY29kZWRlY2ltYWwoJ1x1MDY2My5cdTA2NjFcdTA2NjQnKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICBiJzMuMTQnKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHVuaWNvZGVfZW5jb2RlZGVjaW1hbCgiXE57RU0gU1BBQ0V9My4xNFxOe0VOIFNQQUNFfSIpLAotICAgICAgICAgICAgICAgICAgICAgICAgIGInIDMuMTQgJykKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVW5pY29kZUVuY29kZUVycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgICB1bmljb2RlX2VuY29kZWRlY2ltYWwsICIxMjNcdTIwYWMiLCAic3RyaWN0IikKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh1bmljb2RlX2VuY29kZWRlY2ltYWwoIjEyM1x1MjBhYyIsICJyZXBsYWNlIiksCi0gICAgICAgICAgICAgICAgICAgICAgICAgYicxMjM/JykKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh1bmljb2RlX2VuY29kZWRlY2ltYWwoIjEyM1x1MjBhYyIsICJpZ25vcmUiKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICBiJzEyMycpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodW5pY29kZV9lbmNvZGVkZWNpbWFsKCIxMjNcdTIwYWMiLCAieG1sY2hhcnJlZnJlcGxhY2UiKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICBiJzEyMyYjODM2NDsnKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHVuaWNvZGVfZW5jb2RlZGVjaW1hbCgiMTIzXHUyMGFjIiwgImJhY2tzbGFzaHJlcGxhY2UiKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICBiJzEyM1xcdTIwYWMnKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHVuaWNvZGVfZW5jb2RlZGVjaW1hbCgiMTIzXHUyMGFjXE57RU0gU1BBQ0V9IiwgInJlcGxhY2UiKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICBiJzEyMz8gJykKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh1bmljb2RlX2VuY29kZWRlY2ltYWwoIjEyM1x1MjBhY1x1MjBhYyIsICJyZXBsYWNlIiksCi0gICAgICAgICAgICAgICAgICAgICAgICAgYicxMjM/PycpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodW5pY29kZV9lbmNvZGVkZWNpbWFsKCIxMjNcdTIwYWNcdTA2NjAiLCAicmVwbGFjZSIpLAotICAgICAgICAgICAgICAgICAgICAgICAgIGInMTIzPzAnKQotCi0gICAgZGVmIHRlc3RfdHJhbnNmb3JtX2RlY2ltYWwoc2VsZik6Ci0gICAgICAgIGZyb20gX3Rlc3RjYXBpIGltcG9ydCB1bmljb2RlX3RyYW5zZm9ybWRlY2ltYWx0b2FzY2lpIGFzIHRyYW5zZm9ybV9kZWNpbWFsCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodHJhbnNmb3JtX2RlY2ltYWwoJzEyMycpLAotICAgICAgICAgICAgICAgICAgICAgICAgICcxMjMnKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHRyYW5zZm9ybV9kZWNpbWFsKCdcdTA2NjMuXHUwNjYxXHUwNjY0JyksCi0gICAgICAgICAgICAgICAgICAgICAgICAgJzMuMTQnKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHRyYW5zZm9ybV9kZWNpbWFsKCJcTntFTSBTUEFDRX0zLjE0XE57RU4gU1BBQ0V9IiksCi0gICAgICAgICAgICAgICAgICAgICAgICAgIlxOe0VNIFNQQUNFfTMuMTRcTntFTiBTUEFDRX0iKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHRyYW5zZm9ybV9kZWNpbWFsKCcxMjNcdTIwYWMnKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAnMTIzXHUyMGFjJykKLQogCiBkZWYgdGVzdF9tYWluKCk6CiAgICAgc3VwcG9ydC5ydW5fdW5pdHRlc3QoX19uYW1lX18pCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3VuaWNvZGVfZmlsZS5weSBiL0xpYi90ZXN0L3Rlc3RfdW5pY29kZV9maWxlLnB5CmluZGV4IDZjMjAxMWEuLmZhYThkYTMgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfdW5pY29kZV9maWxlLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfdW5pY29kZV9maWxlLnB5CkBAIC02LDcgKzYsNyBAQAogCiBpbXBvcnQgdW5pdHRlc3QKIGZyb20gdGVzdC5zdXBwb3J0IGltcG9ydCAocnVuX3VuaXR0ZXN0LCBybXRyZWUsCi0gICAgVEVTVEZOX0VOQ09ESU5HLCBURVNURk5fVU5JQ09ERSwgVEVTVEZOX1VORU5DT0RBQkxFKQorICAgIFRFU1RGTl9FTkNPRElORywgVEVTVEZOX1VOSUNPREUsIFRFU1RGTl9VTkVOQ09EQUJMRSwgY3JlYXRlX2VtcHR5X2ZpbGUpCiAKIGlmIG5vdCBvcy5wYXRoLnN1cHBvcnRzX3VuaWNvZGVfZmlsZW5hbWVzOgogICAgIHRyeToKQEAgLTU2LDE2ICs1NiwyMCBAQAogICAgICAgICAjIFNob3VsZCBiZSBhYmxlIHRvIHJlbmFtZSB0aGUgZmlsZSB1c2luZyBlaXRoZXIgbmFtZS4KICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG9zLnBhdGguaXNmaWxlKGZpbGVuYW1lMSkpICMgbXVzdCBleGlzdC4KICAgICAgICAgb3MucmVuYW1lKGZpbGVuYW1lMSwgZmlsZW5hbWUyICsgIi5uZXciKQotICAgICAgICBzZWxmLmFzc2VydFRydWUob3MucGF0aC5pc2ZpbGUoZmlsZW5hbWUxKyIubmV3IikpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2Uob3MucGF0aC5pc2ZpbGUoZmlsZW5hbWUyKSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG9zLnBhdGguaXNmaWxlKGZpbGVuYW1lMSArICcubmV3JykpCiAgICAgICAgIG9zLnJlbmFtZShmaWxlbmFtZTEgKyAiLm5ldyIsIGZpbGVuYW1lMikKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShvcy5wYXRoLmlzZmlsZShmaWxlbmFtZTEgKyAnLm5ldycpKQogICAgICAgICBzZWxmLmFzc2VydFRydWUob3MucGF0aC5pc2ZpbGUoZmlsZW5hbWUyKSkKIAogICAgICAgICBzaHV0aWwuY29weShmaWxlbmFtZTEsIGZpbGVuYW1lMiArICIubmV3IikKICAgICAgICAgb3MudW5saW5rKGZpbGVuYW1lMSArICIubmV3IikgIyByZW1vdmUgdXNpbmcgZXF1aXYgbmFtZS4KICAgICAgICAgIyBBbmQgYSBjb3VwbGUgb2YgbW92ZXMsIG9uZSB1c2luZyBlYWNoIG5hbWUuCiAgICAgICAgIHNodXRpbC5tb3ZlKGZpbGVuYW1lMSwgZmlsZW5hbWUyICsgIi5uZXciKQotICAgICAgICBzZWxmLmFzc2VydFRydWUobm90IG9zLnBhdGguZXhpc3RzKGZpbGVuYW1lMikpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2Uob3MucGF0aC5leGlzdHMoZmlsZW5hbWUyKSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG9zLnBhdGguZXhpc3RzKGZpbGVuYW1lMSArICcubmV3JykpCiAgICAgICAgIHNodXRpbC5tb3ZlKGZpbGVuYW1lMSArICIubmV3IiwgZmlsZW5hbWUyKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKG9zLnBhdGguZXhpc3RzKGZpbGVuYW1lMiArICcubmV3JykpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShvcy5wYXRoLmV4aXN0cyhmaWxlbmFtZTEpKQogICAgICAgICAjIE5vdGUgLSBkdWUgdG8gdGhlIGltcGxlbWVudGF0aW9uIG9mIHNodXRpbC5tb3ZlLAogICAgICAgICAjIGl0IHRyaWVzIGEgcmVuYW1lIGZpcnN0LiAgVGhpcyBvbmx5IGZhaWxzIG9uIFdpbmRvd3Mgd2hlbiBvbgpAQCAtNzMsMTAgKzc3LDEyIEBACiAgICAgICAgICMgU28gd2UgdGVzdCB0aGUgc2h1dGlsLmNvcHkyIGZ1bmN0aW9uLCB3aGljaCBpcyB0aGUgdGhpbmcgbW9zdAogICAgICAgICAjIGxpa2VseSB0byBmYWlsLgogICAgICAgICBzaHV0aWwuY29weTIoZmlsZW5hbWUxLCBmaWxlbmFtZTIgKyAiLm5ldyIpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShvcy5wYXRoLmlzZmlsZShmaWxlbmFtZTEgKyAnLm5ldycpKQogICAgICAgICBvcy51bmxpbmsoZmlsZW5hbWUxICsgIi5uZXciKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKG9zLnBhdGguZXhpc3RzKGZpbGVuYW1lMiArICcubmV3JykpCiAKICAgICBkZWYgX2RvX2RpcmVjdG9yeShzZWxmLCBtYWtlX25hbWUsIGNoZGlyX25hbWUpOgotICAgICAgICBjd2QgPSBvcy5nZXRjd2RiKCkKKyAgICAgICAgY3dkID0gb3MuZ2V0Y3dkKCkKICAgICAgICAgaWYgb3MucGF0aC5pc2RpcihtYWtlX25hbWUpOgogICAgICAgICAgICAgcm10cmVlKG1ha2VfbmFtZSkKICAgICAgICAgb3MubWtkaXIobWFrZV9uYW1lKQpAQCAtOTksOCArMTA1LDcgQEAKICAgICAjIHRvcC1sZXZlbCAndGVzdCcgZnVuY3Rpb25zIHdvdWxkIGJlIGlmIHRoZXkgY291bGQgdGFrZSBwYXJhbXMKICAgICBkZWYgX3Rlc3Rfc2luZ2xlKHNlbGYsIGZpbGVuYW1lKToKICAgICAgICAgcmVtb3ZlX2lmX2V4aXN0cyhmaWxlbmFtZSkKLSAgICAgICAgZiA9IG9wZW4oZmlsZW5hbWUsICJ3IikKLSAgICAgICAgZi5jbG9zZSgpCisgICAgICAgIGNyZWF0ZV9lbXB0eV9maWxlKGZpbGVuYW1lKQogICAgICAgICB0cnk6CiAgICAgICAgICAgICBzZWxmLl9kb19zaW5nbGUoZmlsZW5hbWUpCiAgICAgICAgIGZpbmFsbHk6CmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3VuaWNvZGVkYXRhLnB5IGIvTGliL3Rlc3QvdGVzdF91bmljb2RlZGF0YS5weQppbmRleCA5NzQ0MjU2Li45OWFhMDAzIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3VuaWNvZGVkYXRhLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfdW5pY29kZWRhdGEucHkKQEAgLTIxLDcgKzIxLDcgQEAKIGNsYXNzIFVuaWNvZGVNZXRob2RzVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAKICAgICAjIHVwZGF0ZSB0aGlzLCBpZiB0aGUgZGF0YWJhc2UgY2hhbmdlcwotICAgIGV4cGVjdGVkY2hlY2tzdW0gPSAnMjFiOTBmMWFlZDAwMDgxYjgxY2E3OTQyYjIyMTk2YWYwOTAwMTVhMCcKKyAgICBleHBlY3RlZGNoZWNrc3VtID0gJ2JmN2E3OGYxYTUzMjQyMWI1MDMzNjAwMTAyZTIzYTkyMDQ0ZGJiYTknCiAKICAgICBkZWYgdGVzdF9tZXRob2RfY2hlY2tzdW0oc2VsZik6CiAgICAgICAgIGggPSBoYXNobGliLnNoYTEoKQpAQCAtODAsNyArODAsNyBAQAogY2xhc3MgVW5pY29kZUZ1bmN0aW9uc1Rlc3QoVW5pY29kZURhdGFiYXNlVGVzdCk6CiAKICAgICAjIHVwZGF0ZSB0aGlzLCBpZiB0aGUgZGF0YWJhc2UgY2hhbmdlcwotICAgIGV4cGVjdGVkY2hlY2tzdW0gPSAnYzIzZGZjMGI1ZWFmM2NhMmFhZDMyZDczM2RlOTZiYjE4MmNjZGE1MCcKKyAgICBleHBlY3RlZGNoZWNrc3VtID0gJzE3ZmUyZjEyYjc4OGU0ZmZmNTQ3OWI0NjljNDQwNGJiNmVjZjg0MWYnCiAgICAgZGVmIHRlc3RfZnVuY3Rpb25fY2hlY2tzdW0oc2VsZik6CiAgICAgICAgIGRhdGEgPSBbXQogICAgICAgICBoID0gaGFzaGxpYi5zaGExKCkKQEAgLTEwOCw2ICsxMDgsNyBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuZGIuZGlnaXQoJ1x1MjE1YicsIE5vbmUpLCBOb25lKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuZGIuZGlnaXQoJ1x1MjQ2OCcpLCA5KQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuZGIuZGlnaXQoJ1xVMDAwMjAwMDAnLCBOb25lKSwgTm9uZSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmRiLmRpZ2l0KCdcVTAwMDFEN0ZEJyksIDcpCiAKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBzZWxmLmRiLmRpZ2l0KQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIHNlbGYuZGIuZGlnaXQsICd4eCcpCkBAIC0xMjAsNiArMTIxLDcgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmRiLm51bWVyaWMoJ1x1MjQ2OCcpLCA5LjApCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5kYi5udW1lcmljKCdcdWE2MjcnKSwgNy4wKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuZGIubnVtZXJpYygnXFUwMDAyMDAwMCcsIE5vbmUpLCBOb25lKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuZGIubnVtZXJpYygnXFUwMDAxMDEyQScpLCA5MDAwKQogCiAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgc2VsZi5kYi5udW1lcmljKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIHNlbGYuZGIubnVtZXJpYywgJ3h4JykKQEAgLTEzMSw2ICsxMzMsNyBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuZGIuZGVjaW1hbCgnXHUyMTViJywgTm9uZSksIE5vbmUpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5kYi5kZWNpbWFsKCdcdTI0NjgnLCBOb25lKSwgTm9uZSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmRiLmRlY2ltYWwoJ1xVMDAwMjAwMDAnLCBOb25lKSwgTm9uZSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmRiLmRlY2ltYWwoJ1xVMDAwMUQ3RkQnKSwgNykKIAogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIHNlbGYuZGIuZGVjaW1hbCkKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBzZWxmLmRiLmRlY2ltYWwsICd4eCcpCkBAIC0xNDEsNiArMTQ0LDcgQEAKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmRiLmNhdGVnb3J5KCdhJyksICdMbCcpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5kYi5jYXRlZ29yeSgnQScpLCAnTHUnKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuZGIuY2F0ZWdvcnkoJ1xVMDAwMjAwMDAnKSwgJ0xvJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmRiLmNhdGVnb3J5KCdcVTAwMDEwMTJBJyksICdObycpCiAKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBzZWxmLmRiLmNhdGVnb3J5KQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIHNlbGYuZGIuY2F0ZWdvcnksICd4eCcpCkBAIC0zMDgsMTQgKzMxMiw2IEBACiAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4obGluZXMpLCAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgciJcdSUuNHggc2hvdWxkIG5vdCBiZSBhIGxpbmVicmVhayIgJSBpKQogCi0gICAgZGVmIHRlc3RfVUNTNChzZWxmKToKLSAgICAgICAgIyB1bmljb2RlZGF0YSBzaG91bGQgd29yayB3aXRoIGNvZGUgcG9pbnRzIG91dHNpZGUgdGhlIEJNUAotICAgICAgICAjIGV2ZW4gb24gYSBuYXJyb3cgVW5pY29kZSBidWlsZAotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuZGIuY2F0ZWdvcnkoIlxVMDAwMTAxMkEiKSwgIk5vIikKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmRiLm51bWVyaWMoIlxVMDAwMTAxMkEiKSwgOTAwMCkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmRiLmRlY2ltYWwoIlxVMDAwMUQ3RkQiKSwgNykKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmRiLmRpZ2l0KCJcVTAwMDFEN0ZEIiksIDcpCi0KIGRlZiB0ZXN0X21haW4oKToKICAgICB0ZXN0LnN1cHBvcnQucnVuX3VuaXR0ZXN0KAogICAgICAgICBVbmljb2RlTWlzY1Rlc3QsCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3VybGxpYi5weSBiL0xpYi90ZXN0L3Rlc3RfdXJsbGliLnB5CmluZGV4IGM2ZjZmNjEuLjIyYWRhNTYgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfdXJsbGliLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfdXJsbGliLnB5CkBAIC0yOTgsNiArMjk4LDEwIEBACiAgICAgICAgIGZpbmFsbHk6CiAgICAgICAgICAgICBzZWxmLnVuZmFrZWh0dHAoKQogCisgICAgZGVmIHRlc3RfVVJMb3BlbmVyX2RlcHJlY2F0aW9uKHNlbGYpOgorICAgICAgICB3aXRoIHN1cHBvcnQuY2hlY2tfd2FybmluZ3MoKCcnLERlcHJlY2F0aW9uV2FybmluZykpOgorICAgICAgICAgICAgd2FybiA9IHVybGxpYi5yZXF1ZXN0LlVSTG9wZW5lcigpCisKIGNsYXNzIHVybHJldHJpZXZlX0ZpbGVUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgIiIiVGVzdCB1cmxsaWIudXJscmV0cmlldmUoKSBvbiBsb2NhbCBmaWxlcyIiIgogCkBAIC0zMzEsNyArMzM1LDcgQEAKICAgICBkZWYgY29uc3RydWN0TG9jYWxGaWxlVXJsKHNlbGYsIGZpbGVQYXRoKToKICAgICAgICAgZmlsZVBhdGggPSBvcy5wYXRoLmFic3BhdGgoZmlsZVBhdGgpCiAgICAgICAgIHRyeToKLSAgICAgICAgICAgIGZpbGVQYXRoLmVuY29kZSgidXRmOCIpCisgICAgICAgICAgICBmaWxlUGF0aC5lbmNvZGUoInV0Zi04IikKICAgICAgICAgZXhjZXB0IFVuaWNvZGVFbmNvZGVFcnJvcjoKICAgICAgICAgICAgIHJhaXNlIHVuaXR0ZXN0LlNraXBUZXN0KCJmaWxlUGF0aCBpcyBub3QgZW5jb2RhYmxlIHRvIHV0ZjgiKQogICAgICAgICByZXR1cm4gImZpbGU6Ly8lcyIgJSB1cmxsaWIucmVxdWVzdC5wYXRobmFtZTJ1cmwoZmlsZVBhdGgpCkBAIC0zODQsMTEgKzM4OCwxMSBAQAogCiAgICAgZGVmIHRlc3RfcmVwb3J0aG9vayhzZWxmKToKICAgICAgICAgIyBNYWtlIHN1cmUgdGhhdCB0aGUgcmVwb3J0aG9vayB3b3Jrcy4KLSAgICAgICAgZGVmIGhvb2t0ZXN0ZXIoY291bnQsIGJsb2NrX3NpemUsIHRvdGFsX3NpemUsIGNvdW50X2hvbGRlcj1bMF0pOgotICAgICAgICAgICAgc2VsZi5hc3NlcnRJc0luc3RhbmNlKGNvdW50LCBpbnQpCi0gICAgICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2UoYmxvY2tfc2l6ZSwgaW50KQotICAgICAgICAgICAgc2VsZi5hc3NlcnRJc0luc3RhbmNlKHRvdGFsX3NpemUsIGludCkKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY291bnQsIGNvdW50X2hvbGRlclswXSkKKyAgICAgICAgZGVmIGhvb2t0ZXN0ZXIoYmxvY2tfY291bnQsIGJsb2NrX3JlYWRfc2l6ZSwgZmlsZV9zaXplLCBjb3VudF9ob2xkZXI9WzBdKToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShibG9ja19jb3VudCwgaW50KQorICAgICAgICAgICAgc2VsZi5hc3NlcnRJc0luc3RhbmNlKGJsb2NrX3JlYWRfc2l6ZSwgaW50KQorICAgICAgICAgICAgc2VsZi5hc3NlcnRJc0luc3RhbmNlKGZpbGVfc2l6ZSwgaW50KQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChibG9ja19jb3VudCwgY291bnRfaG9sZGVyWzBdKQogICAgICAgICAgICAgY291bnRfaG9sZGVyWzBdID0gY291bnRfaG9sZGVyWzBdICsgMQogICAgICAgICBzZWNvbmRfdGVtcCA9ICIlcy4yIiAlIHN1cHBvcnQuVEVTVEZOCiAgICAgICAgIHNlbGYucmVnaXN0ZXJGaWxlRm9yQ2xlYW5VcChzZWNvbmRfdGVtcCkKQEAgLTM5OSw4ICs0MDMsOCBAQAogICAgIGRlZiB0ZXN0X3JlcG9ydGhvb2tfMF9ieXRlcyhzZWxmKToKICAgICAgICAgIyBUZXN0IG9uIHplcm8gbGVuZ3RoIGZpbGUuIFNob3VsZCBjYWxsIHJlcG9ydGhvb2sgb25seSAxIHRpbWUuCiAgICAgICAgIHJlcG9ydCA9IFtdCi0gICAgICAgIGRlZiBob29rdGVzdGVyKGNvdW50LCBibG9ja19zaXplLCB0b3RhbF9zaXplLCBfcmVwb3J0PXJlcG9ydCk6Ci0gICAgICAgICAgICBfcmVwb3J0LmFwcGVuZCgoY291bnQsIGJsb2NrX3NpemUsIHRvdGFsX3NpemUpKQorICAgICAgICBkZWYgaG9va3Rlc3RlcihibG9ja19jb3VudCwgYmxvY2tfcmVhZF9zaXplLCBmaWxlX3NpemUsIF9yZXBvcnQ9cmVwb3J0KToKKyAgICAgICAgICAgIF9yZXBvcnQuYXBwZW5kKChibG9ja19jb3VudCwgYmxvY2tfcmVhZF9zaXplLCBmaWxlX3NpemUpKQogICAgICAgICBzcmNGaWxlTmFtZSA9IHNlbGYuY3JlYXRlTmV3VGVtcEZpbGUoKQogICAgICAgICB1cmxsaWIucmVxdWVzdC51cmxyZXRyaWV2ZShzZWxmLmNvbnN0cnVjdExvY2FsRmlsZVVybChzcmNGaWxlTmFtZSksCiAgICAgICAgICAgICBzdXBwb3J0LlRFU1RGTiwgaG9va3Rlc3RlcikKQEAgLTQxMCwzMSArNDE0LDMxIEBACiAgICAgZGVmIHRlc3RfcmVwb3J0aG9va181X2J5dGVzKHNlbGYpOgogICAgICAgICAjIFRlc3Qgb24gNSBieXRlIGZpbGUuIFNob3VsZCBjYWxsIHJlcG9ydGhvb2sgb25seSAyIHRpbWVzIChvbmNlIHdoZW4KICAgICAgICAgIyB0aGUgIm5ldHdvcmsgY29ubmVjdGlvbiIgaXMgZXN0YWJsaXNoZWQgYW5kIG9uY2Ugd2hlbiB0aGUgYmxvY2sgaXMKLSAgICAgICAgIyByZWFkKS4gU2luY2UgdGhlIGJsb2NrIHNpemUgaXMgODE5MiBieXRlcywgb25seSBvbmUgYmxvY2sgcmVhZCBpcwotICAgICAgICAjIHJlcXVpcmVkIHRvIHJlYWQgdGhlIGVudGlyZSBmaWxlLgorICAgICAgICAjIHJlYWQpLgogICAgICAgICByZXBvcnQgPSBbXQotICAgICAgICBkZWYgaG9va3Rlc3Rlcihjb3VudCwgYmxvY2tfc2l6ZSwgdG90YWxfc2l6ZSwgX3JlcG9ydD1yZXBvcnQpOgotICAgICAgICAgICAgX3JlcG9ydC5hcHBlbmQoKGNvdW50LCBibG9ja19zaXplLCB0b3RhbF9zaXplKSkKKyAgICAgICAgZGVmIGhvb2t0ZXN0ZXIoYmxvY2tfY291bnQsIGJsb2NrX3JlYWRfc2l6ZSwgZmlsZV9zaXplLCBfcmVwb3J0PXJlcG9ydCk6CisgICAgICAgICAgICBfcmVwb3J0LmFwcGVuZCgoYmxvY2tfY291bnQsIGJsb2NrX3JlYWRfc2l6ZSwgZmlsZV9zaXplKSkKICAgICAgICAgc3JjRmlsZU5hbWUgPSBzZWxmLmNyZWF0ZU5ld1RlbXBGaWxlKGIieCIgKiA1KQogICAgICAgICB1cmxsaWIucmVxdWVzdC51cmxyZXRyaWV2ZShzZWxmLmNvbnN0cnVjdExvY2FsRmlsZVVybChzcmNGaWxlTmFtZSksCiAgICAgICAgICAgICBzdXBwb3J0LlRFU1RGTiwgaG9va3Rlc3RlcikKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4ocmVwb3J0KSwgMikKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXBvcnRbMF1bMV0sIDgxOTIpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVwb3J0WzBdWzJdLCA1KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlcG9ydFswXVsxXSwgMCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXBvcnRbMV1bMV0sIDUpCiAKICAgICBkZWYgdGVzdF9yZXBvcnRob29rXzgxOTNfYnl0ZXMoc2VsZik6CiAgICAgICAgICMgVGVzdCBvbiA4MTkzIGJ5dGUgZmlsZS4gU2hvdWxkIGNhbGwgcmVwb3J0aG9vayBvbmx5IDMgdGltZXMgKG9uY2UKICAgICAgICAgIyB3aGVuIHRoZSAibmV0d29yayBjb25uZWN0aW9uIiBpcyBlc3RhYmxpc2hlZCwgb25jZSBmb3IgdGhlIG5leHQgODE5MgogICAgICAgICAjIGJ5dGVzLCBhbmQgb25jZSBmb3IgdGhlIGxhc3QgYnl0ZSkuCiAgICAgICAgIHJlcG9ydCA9IFtdCi0gICAgICAgIGRlZiBob29rdGVzdGVyKGNvdW50LCBibG9ja19zaXplLCB0b3RhbF9zaXplLCBfcmVwb3J0PXJlcG9ydCk6Ci0gICAgICAgICAgICBfcmVwb3J0LmFwcGVuZCgoY291bnQsIGJsb2NrX3NpemUsIHRvdGFsX3NpemUpKQorICAgICAgICBkZWYgaG9va3Rlc3RlcihibG9ja19jb3VudCwgYmxvY2tfcmVhZF9zaXplLCBmaWxlX3NpemUsIF9yZXBvcnQ9cmVwb3J0KToKKyAgICAgICAgICAgIF9yZXBvcnQuYXBwZW5kKChibG9ja19jb3VudCwgYmxvY2tfcmVhZF9zaXplLCBmaWxlX3NpemUpKQogICAgICAgICBzcmNGaWxlTmFtZSA9IHNlbGYuY3JlYXRlTmV3VGVtcEZpbGUoYiJ4IiAqIDgxOTMpCiAgICAgICAgIHVybGxpYi5yZXF1ZXN0LnVybHJldHJpZXZlKHNlbGYuY29uc3RydWN0TG9jYWxGaWxlVXJsKHNyY0ZpbGVOYW1lKSwKICAgICAgICAgICAgIHN1cHBvcnQuVEVTVEZOLCBob29rdGVzdGVyKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihyZXBvcnQpLCAzKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlcG9ydFswXVsxXSwgODE5MikKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXBvcnRbMF1bMl0sIDgxOTMpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVwb3J0WzBdWzFdLCAwKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlcG9ydFsxXVsxXSwgODE5MikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXBvcnRbMl1bMV0sIDEpCiAKIAogY2xhc3MgdXJscmV0cmlldmVfSHR0cFRlc3RzKHVuaXR0ZXN0LlRlc3RDYXNlLCBGYWtlSFRUUE1peGluKToKQEAgLTEyNDUsNiArMTI0OSwyOCBAQAogIyAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZnRwLmZ0cC5zb2NrLmdldHRpbWVvdXQoKSwgMzApCiAjICAgICAgICAgZnRwLmNsb3NlKCkKIAorY2xhc3MgUmVxdWVzdFRlc3RzKHVuaXR0ZXN0LlRlc3RDYXNlKToKKyAgICAiIiJVbml0IHRlc3RzIGZvciB1cmxsaWIucmVxdWVzdC5SZXF1ZXN0LiIiIgorCisgICAgZGVmIHRlc3RfZGVmYXVsdF92YWx1ZXMoc2VsZik6CisgICAgICAgIFJlcXVlc3QgPSB1cmxsaWIucmVxdWVzdC5SZXF1ZXN0CisgICAgICAgIHJlcXVlc3QgPSBSZXF1ZXN0KCJodHRwOi8vd3d3LnB5dGhvbi5vcmciKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlcXVlc3QuZ2V0X21ldGhvZCgpLCAnR0VUJykKKyAgICAgICAgcmVxdWVzdCA9IFJlcXVlc3QoImh0dHA6Ly93d3cucHl0aG9uLm9yZyIsIHt9KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlcXVlc3QuZ2V0X21ldGhvZCgpLCAnUE9TVCcpCisKKyAgICBkZWYgdGVzdF93aXRoX21ldGhvZF9hcmcoc2VsZik6CisgICAgICAgIFJlcXVlc3QgPSB1cmxsaWIucmVxdWVzdC5SZXF1ZXN0CisgICAgICAgIHJlcXVlc3QgPSBSZXF1ZXN0KCJodHRwOi8vd3d3LnB5dGhvbi5vcmciLCBtZXRob2Q9J0hFQUQnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlcXVlc3QubWV0aG9kLCAnSEVBRCcpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVxdWVzdC5nZXRfbWV0aG9kKCksICdIRUFEJykKKyAgICAgICAgcmVxdWVzdCA9IFJlcXVlc3QoImh0dHA6Ly93d3cucHl0aG9uLm9yZyIsIHt9LCBtZXRob2Q9J0hFQUQnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlcXVlc3QubWV0aG9kLCAnSEVBRCcpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVxdWVzdC5nZXRfbWV0aG9kKCksICdIRUFEJykKKyAgICAgICAgcmVxdWVzdCA9IFJlcXVlc3QoImh0dHA6Ly93d3cucHl0aG9uLm9yZyIsIG1ldGhvZD0nR0VUJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXF1ZXN0LmdldF9tZXRob2QoKSwgJ0dFVCcpCisgICAgICAgIHJlcXVlc3QubWV0aG9kID0gJ0hFQUQnCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVxdWVzdC5nZXRfbWV0aG9kKCksICdIRUFEJykKIAogCiBkZWYgdGVzdF9tYWluKCk6CkBAIC0xMjYxLDYgKzEyODcsNyBAQAogICAgICAgICBVdGlsaXR5X1Rlc3RzLAogICAgICAgICBVUkxvcGVuZXJfVGVzdHMsCiAgICAgICAgICNGVFBXcmFwcGVyVGVzdHMsCisgICAgICAgIFJlcXVlc3RUZXN0cywKICAgICApCiAKIApkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF91cmxsaWIyLnB5IGIvTGliL3Rlc3QvdGVzdF91cmxsaWIyLnB5CmluZGV4IDNkODBlMDEuLjYzMjUyNGMgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfdXJsbGliMi5weQorKysgYi9MaWIvdGVzdC90ZXN0X3VybGxpYjIucHkKQEAgLTUsNiArNSw3IEBACiBpbXBvcnQgaW8KIGltcG9ydCBzb2NrZXQKIGltcG9ydCBhcnJheQoraW1wb3J0IHN5cwogCiBpbXBvcnQgdXJsbGliLnJlcXVlc3QKICMgVGhlIHByb3h5IGJ5cGFzcyBtZXRob2QgaW1wb3J0ZWQgYmVsb3cgaGFzIGxvZ2ljIHNwZWNpZmljIHRvIHRoZSBPU1gKQEAgLTE4LDYgKzE5LDIyIEBACiAjIHBhcnNlX2tlcXZfbGlzdCwgcGFyc2VfaHR0cF9saXN0LCBIVFRQRGlnZXN0QXV0aEhhbmRsZXIKIAogY2xhc3MgVHJpdmlhbFRlc3RzKHVuaXR0ZXN0LlRlc3RDYXNlKToKKworICAgIGRlZiB0ZXN0X19fYWxsX18oc2VsZik6CisgICAgICAgICMgVmVyaWZ5IHdoaWNoIG5hbWVzIGFyZSBleHBvc2VkCisgICAgICAgIGZvciBtb2R1bGUgaW4gJ3JlcXVlc3QnLCAncmVzcG9uc2UnLCAncGFyc2UnLCAnZXJyb3InLCAncm9ib3RwYXJzZXInOgorICAgICAgICAgICAgY29udGV4dCA9IHt9CisgICAgICAgICAgICBleGVjKCdmcm9tIHVybGxpYi4lcyBpbXBvcnQgKicgJSBtb2R1bGUsIGNvbnRleHQpCisgICAgICAgICAgICBkZWwgY29udGV4dFsnX19idWlsdGluc19fJ10KKyAgICAgICAgICAgIGlmIG1vZHVsZSA9PSAncmVxdWVzdCcgYW5kIG9zLm5hbWUgPT0gJ250JzoKKyAgICAgICAgICAgICAgICB1LCBwID0gY29udGV4dC5wb3AoJ3VybDJwYXRobmFtZScpLCBjb250ZXh0LnBvcCgncGF0aG5hbWUydXJsJykKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHUuX19tb2R1bGVfXywgJ250dXJsMnBhdGgnKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocC5fX21vZHVsZV9fLCAnbnR1cmwycGF0aCcpCisgICAgICAgICAgICBmb3IgaywgdiBpbiBjb250ZXh0Lml0ZW1zKCk6CisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh2Ll9fbW9kdWxlX18sICd1cmxsaWIuJXMnICUgbW9kdWxlLAorICAgICAgICAgICAgICAgICAgICAiJXIgaXMgZXhwb3NlZCBpbiAndXJsbGliLiVzJyBidXQgZGVmaW5lZCBpbiAlciIgJQorICAgICAgICAgICAgICAgICAgICAoaywgbW9kdWxlLCB2Ll9fbW9kdWxlX18pKQorCiAgICAgZGVmIHRlc3RfdHJpdmlhbChzZWxmKToKICAgICAgICAgIyBBIGNvdXBsZSB0cml2aWFsIHRlc3RzCiAKQEAgLTUzNiwxMCArNTUzLDYgQEAKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXModXJsbGliLmVycm9yLlVSTEVycm9yLCBvLm9wZW4sIHJlcSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvLmNhbGxzLCBbKGhhbmRsZXJzWzBdLCAiaHR0cF9vcGVuIiwgKHJlcSwpLCB7fSldKQogCi0jIyAgICAgZGVmIHRlc3RfZXJyb3Ioc2VsZik6Ci0jIyAgICAgICAgICMgWFhYIHRoaXMgZG9lc24ndCBhY3R1YWxseSBzZWVtIHRvIGJlIHVzZWQgaW4gc3RhbmRhcmQgbGlicmFyeSwKLSMjICAgICAgICAgIyAgYnV0IHNob3VsZCByZWFsbHkgYmUgdGVzdGVkIGFueXdheS4uLgotCiAgICAgZGVmIHRlc3RfaHR0cF9lcnJvcihzZWxmKToKICAgICAgICAgIyBYWFggaHR0cF9lcnJvcl9kZWZhdWx0CiAgICAgICAgICMgaHR0cCBlcnJvcnMgYXJlIGEgc3BlY2lhbCBjYXNlCkBAIC01NjcsNiArNTgwLDcgQEAKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoKGhhbmRsZXIsIG1ldGhvZF9uYW1lKSwgZ290WzoyXSkKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYXJncywgZ290WzJdKQogCisKICAgICBkZWYgdGVzdF9wcm9jZXNzb3JzKHNlbGYpOgogICAgICAgICAjICpfcmVxdWVzdCAvICpfcmVzcG9uc2UgbWV0aG9kcyBnZXQgY2FsbGVkIGFwcHJvcHJpYXRlbHkKICAgICAgICAgbyA9IE9wZW5lckRpcmVjdG9yKCkKQEAgLTYwMiwxMCArNjE2LDI2IEBACiAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGFyZ3NbMV0gaXMgTm9uZSBvcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc2luc3RhbmNlKGFyZ3NbMV0sIE1vY2tSZXNwb25zZSkpCiAKKyAgICBkZWYgdGVzdF9tZXRob2RfZGVwcmVjYXRpb25zKHNlbGYpOgorICAgICAgICByZXEgPSBSZXF1ZXN0KCJodHRwOi8vd3d3LmV4YW1wbGUuY29tIikKKyAgICAgICAgd2l0aCBzdXBwb3J0LmNoZWNrX3dhcm5pbmdzKCgnJywgRGVwcmVjYXRpb25XYXJuaW5nKSk6CisgICAgICAgICAgICByZXEuYWRkX2RhdGEoImRhdGEiKQorICAgICAgICB3aXRoIHN1cHBvcnQuY2hlY2tfd2FybmluZ3MoKCcnLCBEZXByZWNhdGlvbldhcm5pbmcpKToKKyAgICAgICAgICAgIHJlcS5oYXNfZGF0YSgpCisgICAgICAgIHdpdGggc3VwcG9ydC5jaGVja193YXJuaW5ncygoJycsIERlcHJlY2F0aW9uV2FybmluZykpOgorICAgICAgICAgICAgcmVxLmdldF9kYXRhKCkKKyAgICAgICAgd2l0aCBzdXBwb3J0LmNoZWNrX3dhcm5pbmdzKCgnJywgRGVwcmVjYXRpb25XYXJuaW5nKSk6CisgICAgICAgICAgICByZXEuZ2V0X2hvc3QoKQorICAgICAgICB3aXRoIHN1cHBvcnQuY2hlY2tfd2FybmluZ3MoKCcnLCBEZXByZWNhdGlvbldhcm5pbmcpKToKKyAgICAgICAgICAgIHJlcS5nZXRfc2VsZWN0b3IoKQorICAgICAgICB3aXRoIHN1cHBvcnQuY2hlY2tfd2FybmluZ3MoKCcnLCBEZXByZWNhdGlvbldhcm5pbmcpKToKKyAgICAgICAgICAgIHJlcS5pc191bnZlcmlmaWFibGUoKQorICAgICAgICB3aXRoIHN1cHBvcnQuY2hlY2tfd2FybmluZ3MoKCcnLCBEZXByZWNhdGlvbldhcm5pbmcpKToKKyAgICAgICAgICAgIHJlcS5nZXRfb3JpZ2luX3JlcV9ob3N0KCkKIAogZGVmIHNhbmVwYXRobmFtZTJ1cmwocGF0aCk6CiAgICAgdHJ5OgotICAgICAgICBwYXRoLmVuY29kZSgidXRmOCIpCisgICAgICAgIHBhdGguZW5jb2RlKCJ1dGYtOCIpCiAgICAgZXhjZXB0IFVuaWNvZGVFbmNvZGVFcnJvcjoKICAgICAgICAgcmFpc2UgdW5pdHRlc3QuU2tpcFRlc3QoInBhdGggaXMgbm90IGVuY29kYWJsZSB0byB1dGY4IikKICAgICB1cmxwYXRoID0gdXJsbGliLnJlcXVlc3QucGF0aG5hbWUydXJsKHBhdGgpCkBAIC0xMTc5LDYgKzEyMDksOCBAQAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlcS5nZXRfaG9zdCgpLCAicHJveHkuZXhhbXBsZS5jb206MzEyOCIpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVxLmdldF9oZWFkZXIoIlByb3h5LWF1dGhvcml6YXRpb24iKSwiRm9vQmFyIikKIAorICAgICMgVE9ETzogVGhpcyBzaG91bGQgYmUgb25seSBmb3IgT1NYCisgICAgQHVuaXR0ZXN0LnNraXBVbmxlc3Moc3lzLnBsYXRmb3JtID09ICdkYXJ3aW4nLCAib25seSByZWxldmFudCBmb3IgT1NYIikKICAgICBkZWYgdGVzdF9vc3hfcHJveHlfYnlwYXNzKHNlbGYpOgogICAgICAgICBieXBhc3MgPSB7CiAgICAgICAgICAgICAnZXhjbHVkZV9zaW1wbGUnOiBGYWxzZSwKQEAgLTEyODIsNiArMTMxNCwyNiBAQAogICAgICAgICAjIF90ZXN0X2Jhc2ljX2F1dGggY2FsbGVkIC5vcGVuKCkgdHdpY2UpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwob3BlbmVyLnJlY29yZGVkLCBbImRpZ2VzdCIsICJiYXNpYyJdKjIpCiAKKyAgICBkZWYgdGVzdF91bnN1cHBvcnRlZF9hdXRoX2RpZ2VzdF9oYW5kbGVyKHNlbGYpOgorICAgICAgICBvcGVuZXIgPSBPcGVuZXJEaXJlY3RvcigpCisgICAgICAgICMgV2hpbGUgdXNpbmcgRGlnZXN0QXV0aEhhbmRsZXIKKyAgICAgICAgZGlnZXN0X2F1dGhfaGFuZGxlciA9IHVybGxpYi5yZXF1ZXN0LkhUVFBEaWdlc3RBdXRoSGFuZGxlcihOb25lKQorICAgICAgICBodHRwX2hhbmRsZXIgPSBNb2NrSFRUUEhhbmRsZXIoCisgICAgICAgICAgICA0MDEsICdXV1ctQXV0aGVudGljYXRlOiBLZXJiZXJvc1xyXG5cclxuJykKKyAgICAgICAgb3BlbmVyLmFkZF9oYW5kbGVyKGRpZ2VzdF9hdXRoX2hhbmRsZXIpCisgICAgICAgIG9wZW5lci5hZGRfaGFuZGxlcihodHRwX2hhbmRsZXIpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3Isb3BlbmVyLm9wZW4sImh0dHA6Ly93d3cuZXhhbXBsZS5jb20iKQorCisgICAgZGVmIHRlc3RfdW5zdXBwb3J0ZWRfYXV0aF9iYXNpY19oYW5kbGVyKHNlbGYpOgorICAgICAgICAjIFdoaWxlIHVzaW5nIEJhc2ljQXV0aEhhbmRsZXIKKyAgICAgICAgb3BlbmVyID0gT3BlbmVyRGlyZWN0b3IoKQorICAgICAgICBiYXNpY19hdXRoX2hhbmRsZXIgPSB1cmxsaWIucmVxdWVzdC5IVFRQQmFzaWNBdXRoSGFuZGxlcihOb25lKQorICAgICAgICBodHRwX2hhbmRsZXIgPSBNb2NrSFRUUEhhbmRsZXIoCisgICAgICAgICAgICA0MDEsICdXV1ctQXV0aGVudGljYXRlOiBOVExNXHJcblxyXG4nKQorICAgICAgICBvcGVuZXIuYWRkX2hhbmRsZXIoYmFzaWNfYXV0aF9oYW5kbGVyKQorICAgICAgICBvcGVuZXIuYWRkX2hhbmRsZXIoaHR0cF9oYW5kbGVyKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yLG9wZW5lci5vcGVuLCJodHRwOi8vd3d3LmV4YW1wbGUuY29tIikKKwogICAgIGRlZiBfdGVzdF9iYXNpY19hdXRoKHNlbGYsIG9wZW5lciwgYXV0aF9oYW5kbGVyLCBhdXRoX2hlYWRlciwKICAgICAgICAgICAgICAgICAgICAgICAgICByZWFsbSwgaHR0cF9oYW5kbGVyLCBwYXNzd29yZF9tYW5hZ2VyLAogICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RfdXJsLCBwcm90ZWN0ZWRfdXJsKToKQEAgLTEzMTksNiArMTM3MSw3IEBACiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGh0dHBfaGFuZGxlci5yZXF1ZXN0cyksIDEpCiAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoaHR0cF9oYW5kbGVyLnJlcXVlc3RzWzBdLmhhc19oZWFkZXIoYXV0aF9oZWFkZXIpKQogCisKIGNsYXNzIE1pc2NUZXN0cyh1bml0dGVzdC5UZXN0Q2FzZSk6CiAKICAgICBkZWYgdGVzdF9idWlsZF9vcGVuZXIoc2VsZik6CkBAIC0xNDI3LDcgKzE0ODAsOSBAQAogICAgIElzc3VlIDEzMjExIHJldmVhbHMgdGhhdCBIVFRQRXJyb3IgZGlkbid0IGltcGxlbWVudCB0aGUgVVJMRXJyb3IKICAgICBpbnRlcmZhY2UgZXZlbiB0aG91Z2ggSFRUUEVycm9yIGlzIGEgc3ViY2xhc3Mgb2YgVVJMRXJyb3IuCiAKLSAgICA+Pj4gZXJyID0gdXJsbGliLmVycm9yLkhUVFBFcnJvcihtc2c9J3NvbWV0aGluZyBiYWQgaGFwcGVuZWQnLCB1cmw9Tm9uZSwgY29kZT1Ob25lLCBoZHJzPU5vbmUsIGZwPU5vbmUpCisgICAgPj4+IG1zZyA9ICdzb21ldGhpbmcgYmFkIGhhcHBlbmVkJworICAgID4+PiB1cmwgPSBjb2RlID0gaGRycyA9IGZwID0gTm9uZQorICAgID4+PiBlcnIgPSB1cmxsaWIuZXJyb3IuSFRUUEVycm9yKHVybCwgY29kZSwgbXNnLCBoZHJzLCBmcCkKICAgICA+Pj4gYXNzZXJ0IGhhc2F0dHIoZXJyLCAncmVhc29uJykKICAgICA+Pj4gZXJyLnJlYXNvbgogICAgICdzb21ldGhpbmcgYmFkIGhhcHBlbmVkJwpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF91cmxsaWIybmV0LnB5IGIvTGliL3Rlc3QvdGVzdF91cmxsaWIybmV0LnB5CmluZGV4IDVmY2I0Y2IuLmZjNTUyN2UgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfdXJsbGliMm5ldC5weQorKysgYi9MaWIvdGVzdC90ZXN0X3VybGxpYjJuZXQucHkKQEAgLTgzLDEyICs4MywxMyBAQAogICAgIGRlZiB0ZXN0X2Nsb3NlKHNlbGYpOgogICAgICAgICAjIGNhbGxpbmcgLmNsb3NlKCkgb24gdXJsbGliMidzIHJlc3BvbnNlIG9iamVjdHMgc2hvdWxkIGNsb3NlIHRoZQogICAgICAgICAjIHVuZGVybHlpbmcgc29ja2V0Ci0KLSAgICAgICAgcmVzcG9uc2UgPSBfdXJsb3Blbl93aXRoX3JldHJ5KCJodHRwOi8vd3d3LnB5dGhvbi5vcmcvIikKLSAgICAgICAgc29jayA9IHJlc3BvbnNlLmZwCi0gICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShub3Qgc29jay5jbG9zZWQpCi0gICAgICAgIHJlc3BvbnNlLmNsb3NlKCkKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHNvY2suY2xvc2VkKQorICAgICAgICB1cmwgPSAiaHR0cDovL3d3dy5weXRob24ub3JnLyIKKyAgICAgICAgd2l0aCBzdXBwb3J0LnRyYW5zaWVudF9pbnRlcm5ldCh1cmwpOgorICAgICAgICAgICAgcmVzcG9uc2UgPSBfdXJsb3Blbl93aXRoX3JldHJ5KHVybCkKKyAgICAgICAgICAgIHNvY2sgPSByZXNwb25zZS5mcAorICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG5vdCBzb2NrLmNsb3NlZCkKKyAgICAgICAgICAgIHJlc3BvbnNlLmNsb3NlKCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShzb2NrLmNsb3NlZCkKIAogY2xhc3MgT3RoZXJOZXR3b3JrVGVzdHModW5pdHRlc3QuVGVzdENhc2UpOgogICAgIGRlZiBzZXRVcChzZWxmKToKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfdXNlcmxpc3QucHkgYi9MaWIvdGVzdC90ZXN0X3VzZXJsaXN0LnB5CmluZGV4IDg2OGVkMjQuLjYzODEwNzAgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfdXNlcmxpc3QucHkKKysrIGIvTGliL3Rlc3QvdGVzdF91c2VybGlzdC5weQpAQCAtNTIsNiArNTIsMTIgQEAKICAgICAgICAgICAgICAgICByZXR1cm4gc3RyKGtleSkgKyAnISEhJwogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG5leHQoaXRlcihUKCgxLDIpKSkpLCAiMCEhISIpCiAKKyAgICBkZWYgdGVzdF91c2VybGlzdF9jb3B5KHNlbGYpOgorICAgICAgICB1ID0gc2VsZi50eXBlMnRlc3QoWzYsIDgsIDEsIDksIDFdKQorICAgICAgICB2ID0gdS5jb3B5KCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh1LCB2KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHR5cGUodSksIHR5cGUodikpCisKIGRlZiB0ZXN0X21haW4oKToKICAgICBzdXBwb3J0LnJ1bl91bml0dGVzdChVc2VyTGlzdFRlc3QpCiAKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfdXNlcnN0cmluZy5weSBiL0xpYi90ZXN0L3Rlc3RfdXNlcnN0cmluZy5weQppbmRleCA3YThiOTMyLi5kNWQwYzg5IDEwMDc1NQotLS0gYS9MaWIvdGVzdC90ZXN0X3VzZXJzdHJpbmcucHkKKysrIGIvTGliL3Rlc3QvdGVzdF91c2Vyc3RyaW5nLnB5CkBAIC0xNywxMSArMTcsMTEgQEAKICAgICAjIE92ZXJ3cml0ZSB0aGUgdGhyZWUgdGVzdGluZyBtZXRob2RzLCBiZWNhdXNlIFVzZXJTdHJpbmcKICAgICAjIGNhbid0IGNvcGUgd2l0aCBhcmd1bWVudHMgcHJvcGFnYXRlZCB0byBVc2VyU3RyaW5nCiAgICAgIyAoYW5kIHdlIGRvbid0IHRlc3Qgd2l0aCBzdWJjbGFzc2VzKQotICAgIGRlZiBjaGVja2VxdWFsKHNlbGYsIHJlc3VsdCwgb2JqZWN0LCBtZXRob2RuYW1lLCAqYXJncyk6CisgICAgZGVmIGNoZWNrZXF1YWwoc2VsZiwgcmVzdWx0LCBvYmplY3QsIG1ldGhvZG5hbWUsICphcmdzLCAqKmt3YXJncyk6CiAgICAgICAgIHJlc3VsdCA9IHNlbGYuZml4dHlwZShyZXN1bHQpCiAgICAgICAgIG9iamVjdCA9IHNlbGYuZml4dHlwZShvYmplY3QpCiAgICAgICAgICMgd2UgZG9uJ3QgZml4IHRoZSBhcmd1bWVudHMsIGJlY2F1c2UgVXNlclN0cmluZyBjYW4ndCBjb3BlIHdpdGggaXQKLSAgICAgICAgcmVhbHJlc3VsdCA9IGdldGF0dHIob2JqZWN0LCBtZXRob2RuYW1lKSgqYXJncykKKyAgICAgICAgcmVhbHJlc3VsdCA9IGdldGF0dHIob2JqZWN0LCBtZXRob2RuYW1lKSgqYXJncywgKiprd2FyZ3MpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCiAgICAgICAgICAgICByZXN1bHQsCiAgICAgICAgICAgICByZWFscmVzdWx0CmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3V1aWQucHkgYi9MaWIvdGVzdC90ZXN0X3V1aWQucHkKaW5kZXggNDNmYTY1Ni4uN2JjNTllZCAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF91dWlkLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfdXVpZC5weQpAQCAtNDcxLDE0ICs0NzEsMTQgQEAKICAgICAgICAgaWYgcGlkID09IDA6CiAgICAgICAgICAgICBvcy5jbG9zZShmZHNbMF0pCiAgICAgICAgICAgICB2YWx1ZSA9IHV1aWQudXVpZDQoKQotICAgICAgICAgICAgb3Mud3JpdGUoZmRzWzFdLCB2YWx1ZS5oZXguZW5jb2RlKCdsYXRpbjEnKSkKKyAgICAgICAgICAgIG9zLndyaXRlKGZkc1sxXSwgdmFsdWUuaGV4LmVuY29kZSgnbGF0aW4tMScpKQogICAgICAgICAgICAgb3MuX2V4aXQoMCkKIAogICAgICAgICBlbHNlOgogICAgICAgICAgICAgb3MuY2xvc2UoZmRzWzFdKQogICAgICAgICAgICAgcGFyZW50X3ZhbHVlID0gdXVpZC51dWlkNCgpLmhleAogICAgICAgICAgICAgb3Mud2FpdHBpZChwaWQsIDApCi0gICAgICAgICAgICBjaGlsZF92YWx1ZSA9IG9zLnJlYWQoZmRzWzBdLCAxMDApLmRlY29kZSgnbGF0aW4xJykKKyAgICAgICAgICAgIGNoaWxkX3ZhbHVlID0gb3MucmVhZChmZHNbMF0sIDEwMCkuZGVjb2RlKCdsYXRpbi0xJykKIAogICAgICAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbChwYXJlbnRfdmFsdWUsIGNoaWxkX3ZhbHVlKQogCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3dhaXQzLnB5IGIvTGliL3Rlc3QvdGVzdF93YWl0My5weQppbmRleCA3ODZlNjBiLi5iZDA2YzhkIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3dhaXQzLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3Rfd2FpdDMucHkKQEAgLTE5LDEzICsxOSwxNiBAQAogCiBjbGFzcyBXYWl0M1Rlc3QoRm9ya1dhaXQpOgogICAgIGRlZiB3YWl0X2ltcGwoc2VsZiwgY3BpZCk6Ci0gICAgICAgIGZvciBpIGluIHJhbmdlKDEwKToKKyAgICAgICAgIyBUaGlzIG1hbnkgaXRlcmF0aW9ucyBjYW4gYmUgcmVxdWlyZWQsIHNpbmNlIHNvbWUgcHJldmlvdXNseSBydW4KKyAgICAgICAgIyB0ZXN0cyAoZS5nLiB0ZXN0X2N0eXBlcykgY291bGQgaGF2ZSBzcGF3bmVkIGEgbG90IG9mIGNoaWxkcmVuCisgICAgICAgICMgdmVyeSBxdWlja2x5LgorICAgICAgICBmb3IgaSBpbiByYW5nZSgzMCk6CiAgICAgICAgICAgICAjIHdhaXQzKCkgc2hvdWxkbid0IGhhbmcsIGJ1dCBzb21lIG9mIHRoZSBidWlsZGJvdHMgc2VlbSB0byBoYW5nCiAgICAgICAgICAgICAjIGluIHRoZSBmb3JraW5nIHRlc3RzLiAgVGhpcyBpcyBhbiBhdHRlbXB0IHRvIGZpeCB0aGUgcHJvYmxlbS4KICAgICAgICAgICAgIHNwaWQsIHN0YXR1cywgcnVzYWdlID0gb3Mud2FpdDMob3MuV05PSEFORykKICAgICAgICAgICAgIGlmIHNwaWQgPT0gY3BpZDoKICAgICAgICAgICAgICAgICBicmVhawotICAgICAgICAgICAgdGltZS5zbGVlcCgxLjApCisgICAgICAgICAgICB0aW1lLnNsZWVwKDAuMSkKIAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNwaWQsIGNwaWQpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RhdHVzLCAwLCAiY2F1c2UgPSAlZCwgZXhpdCA9ICVkIiAlIChzdGF0dXMmMHhmZiwgc3RhdHVzPj44KSkKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3Rfd2FybmluZ3MucHkgYi9MaWIvdGVzdC90ZXN0X3dhcm5pbmdzLnB5CmluZGV4IDc5YmU4MzUuLjk1M2IyODIgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3Rfd2FybmluZ3MucHkKKysrIGIvTGliL3Rlc3QvdGVzdF93YXJuaW5ncy5weQpAQCAtNTEyLDEyICs1MTIsMTEgQEAKICAgICBkZWYgdGVzdF9zaG93d2FybmluZ19ub3RfY2FsbGFibGUoc2VsZik6CiAgICAgICAgIHdpdGggb3JpZ2luYWxfd2FybmluZ3MuY2F0Y2hfd2FybmluZ3MobW9kdWxlPXNlbGYubW9kdWxlKToKICAgICAgICAgICAgIHNlbGYubW9kdWxlLmZpbHRlcndhcm5pbmdzKCJhbHdheXMiLCBjYXRlZ29yeT1Vc2VyV2FybmluZykKLSAgICAgICAgICAgIG9sZF9zaG93d2FybmluZyA9IHNlbGYubW9kdWxlLnNob3d3YXJuaW5nCisgICAgICAgICAgICBzZWxmLm1vZHVsZS5zaG93d2FybmluZyA9IHByaW50CisgICAgICAgICAgICB3aXRoIHN1cHBvcnQuY2FwdHVyZWRfb3V0cHV0KCdzdGRvdXQnKToKKyAgICAgICAgICAgICAgICBzZWxmLm1vZHVsZS53YXJuKCdXYXJuaW5nIScpCiAgICAgICAgICAgICBzZWxmLm1vZHVsZS5zaG93d2FybmluZyA9IDIzCi0gICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBzZWxmLm1vZHVsZS53YXJuLCAiV2FybmluZyEiKQotICAgICAgICAgICAgZmluYWxseToKLSAgICAgICAgICAgICAgICBzZWxmLm1vZHVsZS5zaG93d2FybmluZyA9IG9sZF9zaG93d2FybmluZworICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBzZWxmLm1vZHVsZS53YXJuLCAiV2FybmluZyEiKQogCiAgICAgZGVmIHRlc3Rfc2hvd193YXJuaW5nX291dHB1dChzZWxmKToKICAgICAgICAgIyBXaXRoIHNob3dhcm5pbmcoKSBtaXNzaW5nLCBtYWtlIHN1cmUgdGhhdCBvdXRwdXQgaXMgb2theS4KQEAgLTU0NywxMCArNTQ2LDEzIEBACiAgICAgICAgIGdsb2JhbHNfZGljdCA9IGdsb2JhbHMoKQogICAgICAgICBvbGRmaWxlID0gZ2xvYmFsc19kaWN0WydfX2ZpbGVfXyddCiAgICAgICAgIHRyeToKLSAgICAgICAgICAgIHdpdGggb3JpZ2luYWxfd2FybmluZ3MuY2F0Y2hfd2FybmluZ3MobW9kdWxlPXNlbGYubW9kdWxlKSBhcyB3OgorICAgICAgICAgICAgY2F0Y2ggPSBvcmlnaW5hbF93YXJuaW5ncy5jYXRjaF93YXJuaW5ncyhyZWNvcmQ9VHJ1ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kdWxlPXNlbGYubW9kdWxlKQorICAgICAgICAgICAgd2l0aCBjYXRjaCBhcyB3OgogICAgICAgICAgICAgICAgIHNlbGYubW9kdWxlLmZpbHRlcndhcm5pbmdzKCJhbHdheXMiLCBjYXRlZ29yeT1Vc2VyV2FybmluZykKICAgICAgICAgICAgICAgICBnbG9iYWxzX2RpY3RbJ19fZmlsZV9fJ10gPSBOb25lCiAgICAgICAgICAgICAgICAgb3JpZ2luYWxfd2FybmluZ3Mud2FybigndGVzdCcsIFVzZXJXYXJuaW5nKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShsZW4odykpCiAgICAgICAgIGZpbmFsbHk6CiAgICAgICAgICAgICBnbG9iYWxzX2RpY3RbJ19fZmlsZV9fJ10gPSBvbGRmaWxlCiAKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3Rlc3RfeG1sX2V0cmVlLnB5IGIvTGliL3Rlc3QvdGVzdF94bWxfZXRyZWUucHkKaW5kZXggYjdhOTk2Yy4uNTBlNTE5NiAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF94bWxfZXRyZWUucHkKKysrIGIvTGliL3Rlc3QvdGVzdF94bWxfZXRyZWUucHkKQEAgLTEsMTAgKzEsMTMgQEAKICMgeG1sLmV0cmVlIHRlc3QuICBUaGlzIGZpbGUgY29udGFpbnMgZW5vdWdoIHRlc3RzIHRvIG1ha2Ugc3VyZSB0aGF0CiAjIGFsbCBpbmNsdWRlZCBjb21wb25lbnRzIHdvcmsgYXMgdGhleSBzaG91bGQuCiAjIExhcmdlIHBhcnRzIGFyZSBleHRyYWN0ZWQgZnJvbSB0aGUgdXBzdHJlYW0gdGVzdCBzdWl0ZS4KLQotIyBJTVBPUlRBTlQ6IHRoZSBzYW1lIGRvY3Rlc3RzIGFyZSBydW4gZnJvbSAidGVzdF94bWxfZXRyZWVfYyIgaW4KLSMgb3JkZXIgdG8gZW5zdXJlIGNvbnNpc3RlbmN5IGJldHdlZW4gdGhlIEMgaW1wbGVtZW50YXRpb24gYW5kIHRoZQotIyBQeXRob24gaW1wbGVtZW50YXRpb24uCisjCisjIFBMRUFTRSB3cml0ZSBhbGwgbmV3IHRlc3RzIHVzaW5nIHRoZSBzdGFuZGFyZCB1bml0dGVzdCBpbmZyYXN0cnVjdHVyZSBhbmQKKyMgbm90IGRvY3Rlc3QuCisjCisjIElNUE9SVEFOVDogdGhlIHNhbWUgdGVzdHMgYXJlIHJ1biBmcm9tICJ0ZXN0X3htbF9ldHJlZV9jIiBpbiBvcmRlcgorIyB0byBlbnN1cmUgY29uc2lzdGVuY3kgYmV0d2VlbiB0aGUgQyBpbXBsZW1lbnRhdGlvbiBhbmQgdGhlIFB5dGhvbgorIyBpbXBsZW1lbnRhdGlvbi4KICMKICMgRm9yIHRoaXMgcHVycG9zZSwgdGhlIG1vZHVsZS1sZXZlbCAiRVQiIHN5bWJvbCBpcyB0ZW1wb3JhcmlseQogIyBtb25rZXktcGF0Y2hlZCB3aGVuIHJ1bm5pbmcgdGhlICJ0ZXN0X3htbF9ldHJlZV9jIiB0ZXN0IHN1aXRlLgpAQCAtMTMsMTYgKzE2LDE3IEBACiAKIGltcG9ydCBzeXMKIGltcG9ydCBodG1sCitpbXBvcnQgaW8KIGltcG9ydCB1bml0dGVzdAogCiBmcm9tIHRlc3QgaW1wb3J0IHN1cHBvcnQKLWZyb20gdGVzdC5zdXBwb3J0IGltcG9ydCBmaW5kZmlsZQorZnJvbSB0ZXN0LnN1cHBvcnQgaW1wb3J0IGZpbmRmaWxlLCBpbXBvcnRfZnJlc2hfbW9kdWxlCiAKLWZyb20geG1sLmV0cmVlIGltcG9ydCBFbGVtZW50VHJlZSBhcyBFVAorcHlFVCA9IGltcG9ydF9mcmVzaF9tb2R1bGUoJ3htbC5ldHJlZS5FbGVtZW50VHJlZScsIGJsb2NrZWQ9WydfZWxlbWVudHRyZWUnXSkKIAogU0lNUExFX1hNTEZJTEUgPSBmaW5kZmlsZSgic2ltcGxlLnhtbCIsIHN1YmRpcj0ieG1sdGVzdGRhdGEiKQogdHJ5OgotICAgIFNJTVBMRV9YTUxGSUxFLmVuY29kZSgidXRmOCIpCisgICAgU0lNUExFX1hNTEZJTEUuZW5jb2RlKCJ1dGYtOCIpCiBleGNlcHQgVW5pY29kZUVuY29kZUVycm9yOgogICAgIHJhaXNlIHVuaXR0ZXN0LlNraXBUZXN0KCJmaWxlbmFtZSBpcyBub3QgZW5jb2RhYmxlIHRvIHV0ZjgiKQogU0lNUExFX05TX1hNTEZJTEUgPSBmaW5kZmlsZSgic2ltcGxlLW5zLnhtbCIsIHN1YmRpcj0ieG1sdGVzdGRhdGEiKQpAQCAtMjc1LDcgKzI3OSw3IEBACiAgICAgIiIiCiAgICAgVGVzdCBmaW5kIG1ldGhvZHMgdXNpbmcgdGhlIGVsZW1lbnRwYXRoIGZhbGxiYWNrLgogCi0gICAgPj4+IGZyb20geG1sLmV0cmVlIGltcG9ydCBFbGVtZW50VHJlZQorICAgID4+PiBFbGVtZW50VHJlZSA9IHB5RVQKIAogICAgID4+PiBDdXJyZW50RWxlbWVudFBhdGggPSBFbGVtZW50VHJlZS5FbGVtZW50UGF0aAogICAgID4+PiBFbGVtZW50VHJlZS5FbGVtZW50UGF0aCA9IEVsZW1lbnRUcmVlLl9TaW1wbGVFbGVtZW50UGF0aCgpCkBAIC00NjAsMTcgKzQ2NCwxOSBAQAogICAgICIiIgogICAgIENoZWNrIHRoYXQgdGhlIHBhdGggY2FjaGUgYmVoYXZlcyBzYW5lbHkuCiAKKyAgICA+Pj4gZnJvbSB4bWwuZXRyZWUgaW1wb3J0IEVsZW1lbnRQYXRoCisKICAgICA+Pj4gZWxlbSA9IEVULlhNTChTQU1QTEVfWE1MKQogICAgID4+PiBmb3IgaSBpbiByYW5nZSgxMCk6IEVULkVsZW1lbnRUcmVlKGVsZW0pLmZpbmQoJy4vJytzdHIoaSkpCi0gICAgPj4+IGNhY2hlX2xlbl8xMCA9IGxlbihFVC5FbGVtZW50UGF0aC5fY2FjaGUpCisgICAgPj4+IGNhY2hlX2xlbl8xMCA9IGxlbihFbGVtZW50UGF0aC5fY2FjaGUpCiAgICAgPj4+IGZvciBpIGluIHJhbmdlKDEwKTogRVQuRWxlbWVudFRyZWUoZWxlbSkuZmluZCgnLi8nK3N0cihpKSkKLSAgICA+Pj4gbGVuKEVULkVsZW1lbnRQYXRoLl9jYWNoZSkgPT0gY2FjaGVfbGVuXzEwCisgICAgPj4+IGxlbihFbGVtZW50UGF0aC5fY2FjaGUpID09IGNhY2hlX2xlbl8xMAogICAgIFRydWUKICAgICA+Pj4gZm9yIGkgaW4gcmFuZ2UoMjApOiBFVC5FbGVtZW50VHJlZShlbGVtKS5maW5kKCcuLycrc3RyKGkpKQotICAgID4+PiBsZW4oRVQuRWxlbWVudFBhdGguX2NhY2hlKSA+IGNhY2hlX2xlbl8xMAorICAgID4+PiBsZW4oRWxlbWVudFBhdGguX2NhY2hlKSA+IGNhY2hlX2xlbl8xMAogICAgIFRydWUKICAgICA+Pj4gZm9yIGkgaW4gcmFuZ2UoNjAwKTogRVQuRWxlbWVudFRyZWUoZWxlbSkuZmluZCgnLi8nK3N0cihpKSkKLSAgICA+Pj4gbGVuKEVULkVsZW1lbnRQYXRoLl9jYWNoZSkgPCA1MDAKKyAgICA+Pj4gbGVuKEVsZW1lbnRQYXRoLl9jYWNoZSkgPCA1MDAKICAgICBUcnVlCiAgICAgIiIiCiAKQEAgLTEwNDksMjYgKzEwNTUsNiBAQAogICAgICc8ZG9jdW1lbnQ+dGV4dDwvZG9jdW1lbnQ+JwogICAgICIiIgogCi1kZWYgZXJyb3IoeG1sKToKLSAgICAiIiIKLQotICAgIFRlc3QgZXJyb3IgaGFuZGxpbmcuCi0KLSAgICA+Pj4gaXNzdWJjbGFzcyhFVC5QYXJzZUVycm9yLCBTeW50YXhFcnJvcikKLSAgICBUcnVlCi0gICAgPj4+IGVycm9yKCJmb28iKS5wb3NpdGlvbgotICAgICgxLCAwKQotICAgID4+PiBlcnJvcigiPHRhZz4mZm9vOzwvdGFnPiIpLnBvc2l0aW9uCi0gICAgKDEsIDUpCi0gICAgPj4+IGVycm9yKCJmb29iYXI8IikucG9zaXRpb24KLSAgICAoMSwgNikKLQotICAgICIiIgotICAgIHRyeToKLSAgICAgICAgRVQuWE1MKHhtbCkKLSAgICBleGNlcHQgRVQuUGFyc2VFcnJvcjoKLSAgICAgICAgcmV0dXJuIHN5cy5leGNfaW5mbygpWzFdCi0KIGRlZiBuYW1lc3BhY2UoKToKICAgICAiIiIKICAgICBUZXN0IG5hbWVzcGFjZSBpc3N1ZXMuCkBAIC0xMjU2LDggKzEyNDIsOCBAQAogCiAgICAgPj4+IEVULnRvc3RyaW5nKEVULlBJKCd0ZXN0JywgJzx0ZXN0aW5nJj4nKSkKICAgICBiJzw/dGVzdCA8dGVzdGluZyY+Pz4nCi0gICAgPj4+IEVULnRvc3RyaW5nKEVULlBJKCd0ZXN0JywgJzx0ZXN0aW5nJj5ceGUzJyksICdsYXRpbjEnKQotICAgIGIiPD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nbGF0aW4xJz8+XFxuPD90ZXN0IDx0ZXN0aW5nJj5cXHhlMz8+IgorICAgID4+PiBFVC50b3N0cmluZyhFVC5QSSgndGVzdCcsICc8dGVzdGluZyY+XHhlMycpLCAnbGF0aW4tMScpCisgICAgYiI8P3htbCB2ZXJzaW9uPScxLjAnIGVuY29kaW5nPSdsYXRpbi0xJz8+XFxuPD90ZXN0IDx0ZXN0aW5nJj5cXHhlMz8+IgogICAgICIiIgogCiAjCkBAIC0xMzQwLDcgKzEzMjYsNyBAQAogICAgIHRyeToKICAgICAgICAgZGF0YSA9IFhJTkNMVURFW2hyZWZdCiAgICAgZXhjZXB0IEtleUVycm9yOgotICAgICAgICByYWlzZSBJT0Vycm9yKCJyZXNvdXJjZSBub3QgZm91bmQiKQorICAgICAgICByYWlzZSBPU0Vycm9yKCJyZXNvdXJjZSBub3QgZm91bmQiKQogICAgIGlmIHBhcnNlID09ICJ4bWwiOgogICAgICAgICBmcm9tIHhtbC5ldHJlZS5FbGVtZW50VHJlZSBpbXBvcnQgWE1MCiAgICAgICAgIHJldHVybiBYTUwoZGF0YSkKQEAgLTEzNTAsNyArMTMzNiw2IEBACiAgICAgciIiIgogICAgIEJhc2ljIGluY2x1c2lvbiBleGFtcGxlIChYSW5jbHVkZSBDLjEpCiAKLSAgICA+Pj4gZnJvbSB4bWwuZXRyZWUgaW1wb3J0IEVsZW1lbnRUcmVlIGFzIEVUCiAgICAgPj4+IGZyb20geG1sLmV0cmVlIGltcG9ydCBFbGVtZW50SW5jbHVkZQogCiAgICAgPj4+IGRvY3VtZW50ID0geGluY2x1ZGVfbG9hZGVyKCJDMS54bWwiKQpAQCAtMTQwNSw3ICsxMzkwLDcgQEAKICAgICA+Pj4gZG9jdW1lbnQgPSB4aW5jbHVkZV9sb2FkZXIoIkM1LnhtbCIpCiAgICAgPj4+IEVsZW1lbnRJbmNsdWRlLmluY2x1ZGUoZG9jdW1lbnQsIHhpbmNsdWRlX2xvYWRlcikKICAgICBUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6Ci0gICAgSU9FcnJvcjogcmVzb3VyY2Ugbm90IGZvdW5kCisgICAgT1NFcnJvcjogcmVzb3VyY2Ugbm90IGZvdW5kCiAgICAgPj4+ICMgcHJpbnQoc2VyaWFsaXplKGRvY3VtZW50KSkgIyBDNQogICAgICIiIgogCkBAIC0xNjEyLDcgKzE1OTcsNyBAQAogCiBjbGFzcyBFeGNlcHRpb25GaWxlOgogICAgIGRlZiByZWFkKHNlbGYsIHgpOgotICAgICAgICByYWlzZSBJT0Vycm9yCisgICAgICAgIHJhaXNlIE9TRXJyb3IKIAogZGVmIHhtbHRvb2xraXQ2MCgpOgogICAgICIiIgpAQCAtMTYyMCw3ICsxNjA1LDcgQEAKICAgICBIYW5kbGUgY3Jhc2ggaW4gc3RyZWFtIHNvdXJjZS4KICAgICA+Pj4gdHJlZSA9IEVULnBhcnNlKEV4Y2VwdGlvbkZpbGUoKSkKICAgICBUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6Ci0gICAgSU9FcnJvcgorICAgIE9TRXJyb3IKIAogICAgICIiIgogCkBAIC0xODU0LDYgKzE4MzksMjE1IEBACiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKIAorY2xhc3MgRWxlbWVudFRyZWVUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKKworICAgIGRlZiB0ZXN0X2lzdHlwZShzZWxmKToKKyAgICAgICAgc2VsZi5hc3NlcnRJc0luc3RhbmNlKEVULlBhcnNlRXJyb3IsIHR5cGUpCisgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShFVC5RTmFtZSwgdHlwZSkKKyAgICAgICAgc2VsZi5hc3NlcnRJc0luc3RhbmNlKEVULkVsZW1lbnRUcmVlLCB0eXBlKQorICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2UoRVQuRWxlbWVudCwgdHlwZSkKKyAgICAgICAgIyBYWFggaXNzdWUgMTQxMjggd2l0aCBDIEVsZW1lbnRUcmVlCisgICAgICAgICMgc2VsZi5hc3NlcnRJc0luc3RhbmNlKEVULlRyZWVCdWlsZGVyLCB0eXBlKQorICAgICAgICAjIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShFVC5YTUxQYXJzZXIsIHR5cGUpCisKKyAgICBkZWYgdGVzdF9FbGVtZW50X3N1YmNsYXNzX3RyaXZpYWwoc2VsZik6CisgICAgICAgIGNsYXNzIE15RWxlbWVudChFVC5FbGVtZW50KToKKyAgICAgICAgICAgIHBhc3MKKworICAgICAgICBteWUgPSBNeUVsZW1lbnQoJ2ZvbycpCisgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShteWUsIEVULkVsZW1lbnQpCisgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShteWUsIE15RWxlbWVudCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChteWUudGFnLCAnZm9vJykKKworICAgIGRlZiB0ZXN0X0VsZW1lbnRfc3ViY2xhc3NfY29uc3RydWN0b3Ioc2VsZik6CisgICAgICAgIGNsYXNzIE15RWxlbWVudChFVC5FbGVtZW50KToKKyAgICAgICAgICAgIGRlZiBfX2luaXRfXyhzZWxmLCB0YWcsIGF0dHJpYj17fSwgKipleHRyYSk6CisgICAgICAgICAgICAgICAgc3VwZXIoTXlFbGVtZW50LCBzZWxmKS5fX2luaXRfXyh0YWcgKyAnX18nLCBhdHRyaWIsICoqZXh0cmEpCisKKyAgICAgICAgbXllID0gTXlFbGVtZW50KCdmb28nLCB7J2EnOiAxLCAnYic6IDJ9LCBjPTMsIGQ9NCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChteWUudGFnLCAnZm9vX18nKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNvcnRlZChteWUuaXRlbXMoKSksCisgICAgICAgICAgICBbKCdhJywgMSksICgnYicsIDIpLCAoJ2MnLCAzKSwgKCdkJywgNCldKQorCisgICAgZGVmIHRlc3RfRWxlbWVudF9zdWJjbGFzc19uZXdfbWV0aG9kKHNlbGYpOgorICAgICAgICBjbGFzcyBNeUVsZW1lbnQoRVQuRWxlbWVudCk6CisgICAgICAgICAgICBkZWYgbmV3bWV0aG9kKHNlbGYpOgorICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLnRhZworCisgICAgICAgIG15ZSA9IE15RWxlbWVudCgnam9lJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChteWUubmV3bWV0aG9kKCksICdqb2UnKQorCisKK2NsYXNzIFRyZWVCdWlsZGVyVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CisKKyAgICBzYW1wbGUxID0gKCc8IURPQ1RZUEUgaHRtbCBQVUJMSUMnCisgICAgICAgICcgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIicKKyAgICAgICAgJyAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+JworICAgICAgICAnPGh0bWw+dGV4dDwvaHRtbD4nKQorCisgICAgZGVmIHRlc3RfZHVtbXlfYnVpbGRlcihzZWxmKToKKyAgICAgICAgY2xhc3MgQmFzZUR1bW15QnVpbGRlcjoKKyAgICAgICAgICAgIGRlZiBjbG9zZShzZWxmKToKKyAgICAgICAgICAgICAgICByZXR1cm4gNDIKKworICAgICAgICBjbGFzcyBEdW1teUJ1aWxkZXIoQmFzZUR1bW15QnVpbGRlcik6CisgICAgICAgICAgICBkYXRhID0gc3RhcnQgPSBlbmQgPSBsYW1iZGEgKmE6IE5vbmUKKworICAgICAgICBwYXJzZXIgPSBFVC5YTUxQYXJzZXIodGFyZ2V0PUR1bW15QnVpbGRlcigpKQorICAgICAgICBwYXJzZXIuZmVlZChzZWxmLnNhbXBsZTEpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocGFyc2VyLmNsb3NlKCksIDQyKQorCisgICAgICAgIHBhcnNlciA9IEVULlhNTFBhcnNlcih0YXJnZXQ9QmFzZUR1bW15QnVpbGRlcigpKQorICAgICAgICBwYXJzZXIuZmVlZChzZWxmLnNhbXBsZTEpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocGFyc2VyLmNsb3NlKCksIDQyKQorCisgICAgICAgIHBhcnNlciA9IEVULlhNTFBhcnNlcih0YXJnZXQ9b2JqZWN0KCkpCisgICAgICAgIHBhcnNlci5mZWVkKHNlbGYuc2FtcGxlMSkKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUocGFyc2VyLmNsb3NlKCkpCisKKyAgICAjIFhYWCBpbiBfZWxlbWVudHRyZWUsIHRoZSBjb25zdHJ1Y3RvciBvZiBUcmVlQnVpbGRlciBleHBlY3RzIG5vCisgICAgIyBhcmd1bWVudHMKKyAgICBAdW5pdHRlc3QuZXhwZWN0ZWRGYWlsdXJlCisgICAgZGVmIHRlc3RfZWxlbWVudF9mYWN0b3J5KHNlbGYpOgorICAgICAgICB0YiA9IEVULlRyZWVCdWlsZGVyKGVsZW1lbnRfZmFjdG9yeT1sYW1iZGE6IEVULkVsZW1lbnQoKSkKKworICAgIEB1bml0dGVzdC5leHBlY3RlZEZhaWx1cmUgICAjIFhYWCBpc3N1ZSAxNDAwNyB3aXRoIEMgRWxlbWVudFRyZWUKKyAgICBkZWYgdGVzdF9kb2N0eXBlKHNlbGYpOgorICAgICAgICBjbGFzcyBEb2N0eXBlUGFyc2VyOgorICAgICAgICAgICAgX2RvY3R5cGUgPSBOb25lCisKKyAgICAgICAgICAgIGRlZiBkb2N0eXBlKHNlbGYsIG5hbWUsIHB1YmlkLCBzeXN0ZW0pOgorICAgICAgICAgICAgICAgIHNlbGYuX2RvY3R5cGUgPSAobmFtZSwgcHViaWQsIHN5c3RlbSkKKworICAgICAgICAgICAgZGVmIGNsb3NlKHNlbGYpOgorICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLl9kb2N0eXBlCisKKyAgICAgICAgcGFyc2VyID0gRVQuWE1MUGFyc2VyKHRhcmdldD1Eb2N0eXBlUGFyc2VyKCkpCisgICAgICAgIHBhcnNlci5mZWVkKHNlbGYuc2FtcGxlMSkKKworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHBhcnNlci5jbG9zZSgpLAorICAgICAgICAgICAgKCdodG1sJywgJy0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOJywKKyAgICAgICAgICAgICAnaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCcpKQorCisKK2NsYXNzIE5vQWNjZWxlcmF0b3JUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKKworICAgICMgVGVzdCB0aGF0IHRoZSBDIGFjY2VsZXJhdG9yIHdhcyBub3QgaW1wb3J0ZWQgZm9yIHB5RVQKKyAgICBkZWYgdGVzdF9jb3JyZWN0X2ltcG9ydF9weUVUKHNlbGYpOgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHB5RVQuRWxlbWVudC5fX21vZHVsZV9fLCAneG1sLmV0cmVlLkVsZW1lbnRUcmVlJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChweUVULlN1YkVsZW1lbnQuX19tb2R1bGVfXywgJ3htbC5ldHJlZS5FbGVtZW50VHJlZScpCisKKworY2xhc3MgRWxlbWVudFNsaWNpbmdUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKKyAgICBkZWYgX2VsZW1fdGFncyhzZWxmLCBlbGVtbGlzdCk6CisgICAgICAgIHJldHVybiBbZS50YWcgZm9yIGUgaW4gZWxlbWxpc3RdCisKKyAgICBkZWYgX3N1YmVsZW1fdGFncyhzZWxmLCBlbGVtKToKKyAgICAgICAgcmV0dXJuIHNlbGYuX2VsZW1fdGFncyhsaXN0KGVsZW0pKQorCisgICAgZGVmIF9tYWtlX2VsZW1fd2l0aF9jaGlsZHJlbihzZWxmLCBudW1jaGlsZHJlbik6CisgICAgICAgICIiIkNyZWF0ZSBhbiBFbGVtZW50IHdpdGggYSB0YWcgJ2EnLCB3aXRoIHRoZSBnaXZlbiBhbW91bnQgb2YgY2hpbGRyZW4KKyAgICAgICAgICAgbmFtZWQgJ2EwJywgJ2ExJyAuLi4gYW5kIHNvIG9uLgorCisgICAgICAgICIiIgorICAgICAgICBlID0gRVQuRWxlbWVudCgnYScpCisgICAgICAgIGZvciBpIGluIHJhbmdlKG51bWNoaWxkcmVuKToKKyAgICAgICAgICAgIEVULlN1YkVsZW1lbnQoZSwgJ2ElcycgJSBpKQorICAgICAgICByZXR1cm4gZQorCisgICAgZGVmIHRlc3RfZ2V0c2xpY2Vfc2luZ2xlX2luZGV4KHNlbGYpOgorICAgICAgICBlID0gc2VsZi5fbWFrZV9lbGVtX3dpdGhfY2hpbGRyZW4oMTApCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChlWzFdLnRhZywgJ2ExJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChlWy0yXS50YWcsICdhOCcpCisKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoSW5kZXhFcnJvciwgbGFtYmRhOiBlWzEyXSkKKworICAgIGRlZiB0ZXN0X2dldHNsaWNlX3JhbmdlKHNlbGYpOgorICAgICAgICBlID0gc2VsZi5fbWFrZV9lbGVtX3dpdGhfY2hpbGRyZW4oNikKKworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuX2VsZW1fdGFncyhlWzM6XSksIFsnYTMnLCAnYTQnLCAnYTUnXSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLl9lbGVtX3RhZ3MoZVszOjZdKSwgWydhMycsICdhNCcsICdhNSddKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuX2VsZW1fdGFncyhlWzM6MTZdKSwgWydhMycsICdhNCcsICdhNSddKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuX2VsZW1fdGFncyhlWzM6NV0pLCBbJ2EzJywgJ2E0J10pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5fZWxlbV90YWdzKGVbMzotMV0pLCBbJ2EzJywgJ2E0J10pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5fZWxlbV90YWdzKGVbOjJdKSwgWydhMCcsICdhMSddKQorCisgICAgZGVmIHRlc3RfZ2V0c2xpY2Vfc3RlcHMoc2VsZik6CisgICAgICAgIGUgPSBzZWxmLl9tYWtlX2VsZW1fd2l0aF9jaGlsZHJlbigxMCkKKworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuX2VsZW1fdGFncyhlWzg6MTA6MV0pLCBbJ2E4JywgJ2E5J10pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5fZWxlbV90YWdzKGVbOjozXSksIFsnYTAnLCAnYTMnLCAnYTYnLCAnYTknXSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLl9lbGVtX3RhZ3MoZVs6OjhdKSwgWydhMCcsICdhOCddKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuX2VsZW1fdGFncyhlWzE6OjhdKSwgWydhMScsICdhOSddKQorCisgICAgZGVmIHRlc3RfZ2V0c2xpY2VfbmVnYXRpdmVfc3RlcHMoc2VsZik6CisgICAgICAgIGUgPSBzZWxmLl9tYWtlX2VsZW1fd2l0aF9jaGlsZHJlbig0KQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5fZWxlbV90YWdzKGVbOjotMV0pLCBbJ2EzJywgJ2EyJywgJ2ExJywgJ2EwJ10pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5fZWxlbV90YWdzKGVbOjotMl0pLCBbJ2EzJywgJ2ExJ10pCisKKyAgICBkZWYgdGVzdF9kZWxzbGljZShzZWxmKToKKyAgICAgICAgZSA9IHNlbGYuX21ha2VfZWxlbV93aXRoX2NoaWxkcmVuKDQpCisgICAgICAgIGRlbCBlWzA6Ml0KKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLl9zdWJlbGVtX3RhZ3MoZSksIFsnYTInLCAnYTMnXSkKKworICAgICAgICBlID0gc2VsZi5fbWFrZV9lbGVtX3dpdGhfY2hpbGRyZW4oNCkKKyAgICAgICAgZGVsIGVbMDpdCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5fc3ViZWxlbV90YWdzKGUpLCBbXSkKKworICAgICAgICBlID0gc2VsZi5fbWFrZV9lbGVtX3dpdGhfY2hpbGRyZW4oNCkKKyAgICAgICAgZGVsIGVbOjotMV0KKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLl9zdWJlbGVtX3RhZ3MoZSksIFtdKQorCisgICAgICAgIGUgPSBzZWxmLl9tYWtlX2VsZW1fd2l0aF9jaGlsZHJlbig0KQorICAgICAgICBkZWwgZVs6Oi0yXQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuX3N1YmVsZW1fdGFncyhlKSwgWydhMCcsICdhMiddKQorCisgICAgICAgIGUgPSBzZWxmLl9tYWtlX2VsZW1fd2l0aF9jaGlsZHJlbig0KQorICAgICAgICBkZWwgZVsxOjoyXQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuX3N1YmVsZW1fdGFncyhlKSwgWydhMCcsICdhMiddKQorCisgICAgICAgIGUgPSBzZWxmLl9tYWtlX2VsZW1fd2l0aF9jaGlsZHJlbigyKQorICAgICAgICBkZWwgZVs6OjJdCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5fc3ViZWxlbV90YWdzKGUpLCBbJ2ExJ10pCisKKworY2xhc3MgU3RyaW5nSU9UZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKKyAgICBkZWYgdGVzdF9yZWFkX2Zyb21fc3RyaW5naW8oc2VsZik6CisgICAgICAgIHRyZWUgPSBFVC5FbGVtZW50VHJlZSgpCisgICAgICAgIHN0cmVhbSA9IGlvLlN0cmluZ0lPKCkKKyAgICAgICAgc3RyZWFtLndyaXRlKCcnJzw/eG1sIHZlcnNpb249IjEuMCI/PjxzaXRlPjwvc2l0ZT4nJycpCisgICAgICAgIHN0cmVhbS5zZWVrKDApCisgICAgICAgIHRyZWUucGFyc2Uoc3RyZWFtKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodHJlZS5nZXRyb290KCkudGFnLCAnc2l0ZScpCisKKworY2xhc3MgUGFyc2VFcnJvclRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgorICAgIGRlZiB0ZXN0X3N1YmNsYXNzKHNlbGYpOgorICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2UoRVQuUGFyc2VFcnJvcigpLCBTeW50YXhFcnJvcikKKworICAgIGRlZiBfZ2V0X2Vycm9yKHNlbGYsIHMpOgorICAgICAgICB0cnk6CisgICAgICAgICAgICBFVC5mcm9tc3RyaW5nKHMpCisgICAgICAgIGV4Y2VwdCBFVC5QYXJzZUVycm9yIGFzIGU6CisgICAgICAgICAgICByZXR1cm4gZQorCisgICAgZGVmIHRlc3RfZXJyb3JfcG9zaXRpb24oc2VsZik6CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5fZ2V0X2Vycm9yKCdmb28nKS5wb3NpdGlvbiwgKDEsIDApKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuX2dldF9lcnJvcignPHRhZz4mZm9vOzwvdGFnPicpLnBvc2l0aW9uLCAoMSwgNSkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5fZ2V0X2Vycm9yKCdmb29iYXI8JykucG9zaXRpb24sICgxLCA2KSkKKworICAgIGRlZiB0ZXN0X2Vycm9yX2NvZGUoc2VsZik6CisgICAgICAgIGltcG9ydCB4bWwucGFyc2Vycy5leHBhdC5lcnJvcnMgYXMgRVJST1JTCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi5fZ2V0X2Vycm9yKCdmb28nKS5jb2RlLAorICAgICAgICAgICAgICAgIEVSUk9SUy5jb2Rlc1tFUlJPUlMuWE1MX0VSUk9SX1NZTlRBWF0pCisKKworIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKIGNsYXNzIENsZWFuQ29udGV4dChvYmplY3QpOgogICAgICIiIlByb3ZpZGUgZGVmYXVsdCBuYW1lc3BhY2UgbWFwcGluZyBhbmQgcGF0aCBjYWNoZS4iIiIKICAgICBjaGVja3dhcm5pbmdzID0gTm9uZQpAQCAtMTg3Miw0NCArMjA2Niw0OSBAQAogICAgICAgICAgICAgKCJUaGlzIG1ldGhvZCB3aWxsIGJlIHJlbW92ZWQgaW4gZnV0dXJlIHZlcnNpb25zLiAgIgogICAgICAgICAgICAgICJVc2UgLisgaW5zdGVhZC4iLCBEZXByZWNhdGlvbldhcm5pbmcpLAogICAgICAgICAgICAgKCJUaGlzIG1ldGhvZCB3aWxsIGJlIHJlbW92ZWQgaW4gZnV0dXJlIHZlcnNpb25zLiAgIgotICAgICAgICAgICAgICJVc2UgLisgaW5zdGVhZC4iLCBQZW5kaW5nRGVwcmVjYXRpb25XYXJuaW5nKSwKLSAgICAgICAgICAgICMgWE1MUGFyc2VyLmRvY3R5cGUoKSBpcyBkZXByZWNhdGVkLgotICAgICAgICAgICAgKCJUaGlzIG1ldGhvZCBvZiBYTUxQYXJzZXIgaXMgZGVwcmVjYXRlZC4gIERlZmluZSBkb2N0eXBlLi4gIgotICAgICAgICAgICAgICJtZXRob2Qgb24gdGhlIFRyZWVCdWlsZGVyIHRhcmdldC4iLCBEZXByZWNhdGlvbldhcm5pbmcpKQorICAgICAgICAgICAgICJVc2UgLisgaW5zdGVhZC4iLCBQZW5kaW5nRGVwcmVjYXRpb25XYXJuaW5nKSkKICAgICAgICAgc2VsZi5jaGVja3dhcm5pbmdzID0gc3VwcG9ydC5jaGVja193YXJuaW5ncygqZGVwcmVjYXRpb25zLCBxdWlldD1xdWlldCkKIAogICAgIGRlZiBfX2VudGVyX18oc2VsZik6Ci0gICAgICAgIGZyb20geG1sLmV0cmVlIGltcG9ydCBFbGVtZW50VHJlZQotICAgICAgICBzZWxmLl9uc21hcCA9IEVsZW1lbnRUcmVlLl9uYW1lc3BhY2VfbWFwCi0gICAgICAgIHNlbGYuX3BhdGhfY2FjaGUgPSBFbGVtZW50VHJlZS5FbGVtZW50UGF0aC5fY2FjaGUKKyAgICAgICAgZnJvbSB4bWwuZXRyZWUgaW1wb3J0IEVsZW1lbnRQYXRoCisgICAgICAgIHNlbGYuX25zbWFwID0gRVQucmVnaXN0ZXJfbmFtZXNwYWNlLl9uYW1lc3BhY2VfbWFwCiAgICAgICAgICMgQ29weSB0aGUgZGVmYXVsdCBuYW1lc3BhY2UgbWFwcGluZwotICAgICAgICBFbGVtZW50VHJlZS5fbmFtZXNwYWNlX21hcCA9IHNlbGYuX25zbWFwLmNvcHkoKQorICAgICAgICBzZWxmLl9uc21hcF9jb3B5ID0gc2VsZi5fbnNtYXAuY29weSgpCiAgICAgICAgICMgQ29weSB0aGUgcGF0aCBjYWNoZSAoc2hvdWxkIGJlIGVtcHR5KQotICAgICAgICBFbGVtZW50VHJlZS5FbGVtZW50UGF0aC5fY2FjaGUgPSBzZWxmLl9wYXRoX2NhY2hlLmNvcHkoKQorICAgICAgICBzZWxmLl9wYXRoX2NhY2hlID0gRWxlbWVudFBhdGguX2NhY2hlCisgICAgICAgIEVsZW1lbnRQYXRoLl9jYWNoZSA9IHNlbGYuX3BhdGhfY2FjaGUuY29weSgpCiAgICAgICAgIHNlbGYuY2hlY2t3YXJuaW5ncy5fX2VudGVyX18oKQogCiAgICAgZGVmIF9fZXhpdF9fKHNlbGYsICphcmdzKToKLSAgICAgICAgZnJvbSB4bWwuZXRyZWUgaW1wb3J0IEVsZW1lbnRUcmVlCisgICAgICAgIGZyb20geG1sLmV0cmVlIGltcG9ydCBFbGVtZW50UGF0aAogICAgICAgICAjIFJlc3RvcmUgbWFwcGluZyBhbmQgcGF0aCBjYWNoZQotICAgICAgICBFbGVtZW50VHJlZS5fbmFtZXNwYWNlX21hcCA9IHNlbGYuX25zbWFwCi0gICAgICAgIEVsZW1lbnRUcmVlLkVsZW1lbnRQYXRoLl9jYWNoZSA9IHNlbGYuX3BhdGhfY2FjaGUKKyAgICAgICAgc2VsZi5fbnNtYXAuY2xlYXIoKQorICAgICAgICBzZWxmLl9uc21hcC51cGRhdGUoc2VsZi5fbnNtYXBfY29weSkKKyAgICAgICAgRWxlbWVudFBhdGguX2NhY2hlID0gc2VsZi5fcGF0aF9jYWNoZQogICAgICAgICBzZWxmLmNoZWNrd2FybmluZ3MuX19leGl0X18oKmFyZ3MpCiAKIAotZGVmIHRlc3RfbWFpbihtb2R1bGVfbmFtZT0neG1sLmV0cmVlLkVsZW1lbnRUcmVlJyk6CitkZWYgdGVzdF9tYWluKG1vZHVsZT1weUVUKToKICAgICBmcm9tIHRlc3QgaW1wb3J0IHRlc3RfeG1sX2V0cmVlCiAKLSAgICB1c2VfcHlfbW9kdWxlID0gKG1vZHVsZV9uYW1lID09ICd4bWwuZXRyZWUuRWxlbWVudFRyZWUnKQotCiAgICAgIyBUaGUgc2FtZSBkb2N0ZXN0cyBhcmUgdXNlZCBmb3IgYm90aCB0aGUgUHl0aG9uIGFuZCB0aGUgQyBpbXBsZW1lbnRhdGlvbnMKLSAgICBhc3NlcnQgdGVzdF94bWxfZXRyZWUuRVQuX19uYW1lX18gPT0gbW9kdWxlX25hbWUKKyAgICB0ZXN0X3htbF9ldHJlZS5FVCA9IG1vZHVsZQorCisgICAgdGVzdF9jbGFzc2VzID0gWworICAgICAgICBFbGVtZW50U2xpY2luZ1Rlc3QsCisgICAgICAgIFN0cmluZ0lPVGVzdCwKKyAgICAgICAgUGFyc2VFcnJvclRlc3QsCisgICAgICAgIEVsZW1lbnRUcmVlVGVzdCwKKyAgICAgICAgVHJlZUJ1aWxkZXJUZXN0XQorICAgIGlmIG1vZHVsZSBpcyBweUVUOgorICAgICAgICAjIFJ1biB0aGUgdGVzdHMgc3BlY2lmaWMgdG8gdGhlIFB5dGhvbiBpbXBsZW1lbnRhdGlvbgorICAgICAgICB0ZXN0X2NsYXNzZXMgKz0gW05vQWNjZWxlcmF0b3JUZXN0XQorCisgICAgc3VwcG9ydC5ydW5fdW5pdHRlc3QoKnRlc3RfY2xhc3NlcykKIAogICAgICMgWFhYIHRoZSBDIG1vZHVsZSBzaG91bGQgZ2l2ZSB0aGUgc2FtZSB3YXJuaW5ncyBhcyB0aGUgUHl0aG9uIG1vZHVsZQotICAgIHdpdGggQ2xlYW5Db250ZXh0KHF1aWV0PW5vdCB1c2VfcHlfbW9kdWxlKToKKyAgICB3aXRoIENsZWFuQ29udGV4dChxdWlldD0obW9kdWxlIGlzIG5vdCBweUVUKSk6CiAgICAgICAgIHN1cHBvcnQucnVuX2RvY3Rlc3QodGVzdF94bWxfZXRyZWUsIHZlcmJvc2l0eT1UcnVlKQogCi0gICAgIyBUaGUgbW9kdWxlIHNob3VsZCBub3QgYmUgY2hhbmdlZCBieSB0aGUgdGVzdHMKLSAgICBhc3NlcnQgdGVzdF94bWxfZXRyZWUuRVQuX19uYW1lX18gPT0gbW9kdWxlX25hbWUKLQogaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKICAgICB0ZXN0X21haW4oKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF94bWxfZXRyZWVfYy5weSBiL0xpYi90ZXN0L3Rlc3RfeG1sX2V0cmVlX2MucHkKaW5kZXggMmZmMTE4Zi4uMTA0MTZkMiAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF94bWxfZXRyZWVfYy5weQorKysgYi9MaWIvdGVzdC90ZXN0X3htbF9ldHJlZV9jLnB5CkBAIC0xLDEwICsxLDExIEBACiAjIHhtbC5ldHJlZSB0ZXN0IGZvciBjRWxlbWVudFRyZWUKIAogZnJvbSB0ZXN0IGltcG9ydCBzdXBwb3J0Ci1mcm9tIHRlc3Quc3VwcG9ydCBpbXBvcnQgYmlnbWVtdGVzdCwgXzJHCitmcm9tIHRlc3Quc3VwcG9ydCBpbXBvcnQgaW1wb3J0X2ZyZXNoX21vZHVsZQogaW1wb3J0IHVuaXR0ZXN0CiAKLWNFVCA9IHN1cHBvcnQuaW1wb3J0X21vZHVsZSgneG1sLmV0cmVlLmNFbGVtZW50VHJlZScpCitjRVQgPSBpbXBvcnRfZnJlc2hfbW9kdWxlKCd4bWwuZXRyZWUuRWxlbWVudFRyZWUnLCBmcmVzaD1bJ19lbGVtZW50dHJlZSddKQorY0VUX2FsaWFzID0gaW1wb3J0X2ZyZXNoX21vZHVsZSgneG1sLmV0cmVlLmNFbGVtZW50VHJlZScsIGZyZXNoPVsnX2VsZW1lbnR0cmVlJywgJ3htbC5ldHJlZSddKQogCiAKICMgY0VsZW1lbnRUcmVlIHNwZWNpZmljIHRlc3RzCkBAIC0xMywxMCArMTQsOSBAQAogICAgIHIiIiIKICAgICBJbXBvcnQgc2FuaXR5LgogCi0gICAgPj4+IGZyb20geG1sLmV0cmVlIGltcG9ydCBjRWxlbWVudFRyZWUKLQogICAgIElzc3VlICM2Njk3LgogCisgICAgPj4+IGNFbGVtZW50VHJlZSA9IGNFVAogICAgID4+PiBlID0gY0VsZW1lbnRUcmVlLkVsZW1lbnQoJ2EnKQogICAgID4+PiBnZXRhdHRyKGUsICdcdUQ4MDAnKSAgICAgICAgICAgIyBkb2N0ZXN0OiArRUxMSVBTSVMKICAgICBUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CkBAIC00NiwyOCArNDYsMzcgQEAKICAgICAgICAgZmluYWxseToKICAgICAgICAgICAgIGRhdGEgPSBOb25lCiAKK0B1bml0dGVzdC5za2lwVW5sZXNzKGNFVCwgJ3JlcXVpcmVzIF9lbGVtZW50dHJlZScpCitjbGFzcyBUZXN0QWxpYXNXb3JraW5nKHVuaXR0ZXN0LlRlc3RDYXNlKToKKyAgICAjIFRlc3QgdGhhdCB0aGUgY0VUIGFsaWFzIG1vZHVsZSBpcyBhbGl2ZQorICAgIGRlZiB0ZXN0X2FsaWFzX3dvcmtpbmcoc2VsZik6CisgICAgICAgIGUgPSBjRVRfYWxpYXMuRWxlbWVudCgnZm9vJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChlLnRhZywgJ2ZvbycpCisKK0B1bml0dGVzdC5za2lwVW5sZXNzKGNFVCwgJ3JlcXVpcmVzIF9lbGVtZW50dHJlZScpCitjbGFzcyBUZXN0QWNjZWxlcmF0b3JJbXBvcnRlZCh1bml0dGVzdC5UZXN0Q2FzZSk6CisgICAgIyBUZXN0IHRoYXQgdGhlIEMgYWNjZWxlcmF0b3Igd2FzIGltcG9ydGVkLCBhcyBleHBlY3RlZAorICAgIGRlZiB0ZXN0X2NvcnJlY3RfaW1wb3J0X2NFVChzZWxmKToKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjRVQuU3ViRWxlbWVudC5fX21vZHVsZV9fLCAnX2VsZW1lbnR0cmVlJykKKworICAgIGRlZiB0ZXN0X2NvcnJlY3RfaW1wb3J0X2NFVF9hbGlhcyhzZWxmKToKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjRVRfYWxpYXMuU3ViRWxlbWVudC5fX21vZHVsZV9fLCAnX2VsZW1lbnR0cmVlJykKKwogCiBkZWYgdGVzdF9tYWluKCk6CiAgICAgZnJvbSB0ZXN0IGltcG9ydCB0ZXN0X3htbF9ldHJlZSwgdGVzdF94bWxfZXRyZWVfYwogCiAgICAgIyBSdW4gdGhlIHRlc3RzIHNwZWNpZmljIHRvIHRoZSBDIGltcGxlbWVudGF0aW9uCiAgICAgc3VwcG9ydC5ydW5fZG9jdGVzdCh0ZXN0X3htbF9ldHJlZV9jLCB2ZXJib3NpdHk9VHJ1ZSkKKyAgICBzdXBwb3J0LnJ1bl91bml0dGVzdCgKKyAgICAgICAgTWlzY1Rlc3RzLAorICAgICAgICBUZXN0QWxpYXNXb3JraW5nLAorICAgICAgICBUZXN0QWNjZWxlcmF0b3JJbXBvcnRlZAorICAgICAgICApCiAKLSAgICBzdXBwb3J0LnJ1bl91bml0dGVzdChNaXNjVGVzdHMpCisgICAgIyBSdW4gdGhlIHNhbWUgdGVzdCBzdWl0ZSBhcyB0aGUgUHl0aG9uIG1vZHVsZQorICAgIHRlc3RfeG1sX2V0cmVlLnRlc3RfbWFpbihtb2R1bGU9Y0VUKQogCi0gICAgIyBBc3NpZ24gdGhlIEMgaW1wbGVtZW50YXRpb24gYmVmb3JlIHJ1bm5pbmcgdGhlIGRvY3Rlc3RzCi0gICAgIyBQYXRjaCB0aGUgX19uYW1lX18sIHRvIHByZXZlbnQgY29uZnVzaW9uIHdpdGggdGhlIHB1cmUgUHl0aG9uIHRlc3QKLSAgICBweUVUID0gdGVzdF94bWxfZXRyZWUuRVQKLSAgICBweV9fbmFtZV9fID0gdGVzdF94bWxfZXRyZWUuX19uYW1lX18KLSAgICB0ZXN0X3htbF9ldHJlZS5FVCA9IGNFVAotICAgIGlmIF9fbmFtZV9fICE9ICdfX21haW5fXyc6Ci0gICAgICAgIHRlc3RfeG1sX2V0cmVlLl9fbmFtZV9fID0gX19uYW1lX18KLSAgICB0cnk6Ci0gICAgICAgICMgUnVuIHRoZSBzYW1lIHRlc3Qgc3VpdGUgYXMgeG1sLmV0cmVlLkVsZW1lbnRUcmVlCi0gICAgICAgIHRlc3RfeG1sX2V0cmVlLnRlc3RfbWFpbihtb2R1bGVfbmFtZT0neG1sLmV0cmVlLmNFbGVtZW50VHJlZScpCi0gICAgZmluYWxseToKLSAgICAgICAgdGVzdF94bWxfZXRyZWUuRVQgPSBweUVUCi0gICAgICAgIHRlc3RfeG1sX2V0cmVlLl9fbmFtZV9fID0gcHlfX25hbWVfXwogCiBpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgogICAgIHRlc3RfbWFpbigpCmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3htbHJwYy5weSBiL0xpYi90ZXN0L3Rlc3RfeG1scnBjLnB5CmluZGV4IDM4MTQxOTEuLmFmZDhjNTEgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfeG1scnBjLnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfeG1scnBjLnB5CkBAIC0yNCw2ICsyNCw4IEBACiAgICAgICAgICAgJ2FzaG9ydGxvbmcnOiAyLAogICAgICAgICAgICdhbm90aGVybGlzdCc6IFsnLnp5eC40MSddLAogICAgICAgICAgICdhYmFzZTY0JzogeG1scnBjbGliLkJpbmFyeShiIm15IGRvZyBoYXMgZmxlYXMiKSwKKyAgICAgICAgICAnYjY0Ynl0ZXMnOiBiIm15IGRvZyBoYXMgZmxlYXMiLAorICAgICAgICAgICdiNjRieXRlYXJyYXknOiBieXRlYXJyYXkoYiJteSBkb2cgaGFzIGZsZWFzIiksCiAgICAgICAgICAgJ2Jvb2xlYW4nOiBGYWxzZSwKICAgICAgICAgICAndW5pY29kZSc6ICdcdTQwMDBcdTYwMDBcdTgwMDAnLAogICAgICAgICAgICd1a2V5XHU0MDAwJzogJ3JlZ3VsYXIgdmFsdWUnLApAQCAtNDQsMjcgKzQ2LDU0IEBACiAgICAgZGVmIHRlc3RfZHVtcF9iYXJlX2RhdGV0aW1lKHNlbGYpOgogICAgICAgICAjIFRoaXMgY2hlY2tzIHRoYXQgYW4gdW53cmFwcGVkIGRhdGV0aW1lLmRhdGUgb2JqZWN0IGNhbiBiZSBoYW5kbGVkCiAgICAgICAgICMgYnkgdGhlIG1hcnNoYWxsaW5nIGNvZGUuICBUaGlzIGNhbid0IGJlIGRvbmUgdmlhIHRlc3RfZHVtcF9sb2FkKCkKLSAgICAgICAgIyBzaW5jZSB3aXRoIHVzZV9kYXRldGltZSBzZXQgdG8gMSB0aGUgdW5tYXJzaGFsbGVyIHdvdWxkIGNyZWF0ZQorICAgICAgICAjIHNpbmNlIHdpdGggdXNlX2J1aWx0aW5fdHlwZXMgc2V0IHRvIDEgdGhlIHVubWFyc2hhbGxlciB3b3VsZCBjcmVhdGUKICAgICAgICAgIyBkYXRldGltZSBvYmplY3RzIGZvciB0aGUgJ2RhdGV0aW1lWzEyM10nIGtleXMgYXMgd2VsbAogICAgICAgICBkdCA9IGRhdGV0aW1lLmRhdGV0aW1lKDIwMDUsIDIsIDEwLCAxMSwgNDEsIDIzKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGR0LCB4bWxycGNsaWIuRGF0ZVRpbWUoJzIwMDUwMjEwVDExOjQxOjIzJykpCiAgICAgICAgIHMgPSB4bWxycGNsaWIuZHVtcHMoKGR0LCkpCi0gICAgICAgIChuZXdkdCwpLCBtID0geG1scnBjbGliLmxvYWRzKHMsIHVzZV9kYXRldGltZT0xKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG5ld2R0LCBkdCkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtLCBOb25lKQogCi0gICAgICAgIChuZXdkdCwpLCBtID0geG1scnBjbGliLmxvYWRzKHMsIHVzZV9kYXRldGltZT0wKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG5ld2R0LCB4bWxycGNsaWIuRGF0ZVRpbWUoJzIwMDUwMjEwVDExOjQxOjIzJykpCisgICAgICAgIHJlc3VsdCwgbSA9IHhtbHJwY2xpYi5sb2FkcyhzLCB1c2VfYnVpbHRpbl90eXBlcz1UcnVlKQorICAgICAgICAobmV3ZHQsKSA9IHJlc3VsdAorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG5ld2R0LCBkdCkKKyAgICAgICAgc2VsZi5hc3NlcnRJcyh0eXBlKG5ld2R0KSwgZGF0ZXRpbWUuZGF0ZXRpbWUpCisgICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKG0pCisKKyAgICAgICAgcmVzdWx0LCBtID0geG1scnBjbGliLmxvYWRzKHMsIHVzZV9idWlsdGluX3R5cGVzPUZhbHNlKQorICAgICAgICAobmV3ZHQsKSA9IHJlc3VsdAorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG5ld2R0LCBkdCkKKyAgICAgICAgc2VsZi5hc3NlcnRJcyh0eXBlKG5ld2R0KSwgeG1scnBjbGliLkRhdGVUaW1lKQorICAgICAgICBzZWxmLmFzc2VydElzTm9uZShtKQorCisgICAgICAgIHJlc3VsdCwgbSA9IHhtbHJwY2xpYi5sb2FkcyhzLCB1c2VfZGF0ZXRpbWU9VHJ1ZSkKKyAgICAgICAgKG5ld2R0LCkgPSByZXN1bHQKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChuZXdkdCwgZHQpCisgICAgICAgIHNlbGYuYXNzZXJ0SXModHlwZShuZXdkdCksIGRhdGV0aW1lLmRhdGV0aW1lKQorICAgICAgICBzZWxmLmFzc2VydElzTm9uZShtKQorCisgICAgICAgIHJlc3VsdCwgbSA9IHhtbHJwY2xpYi5sb2FkcyhzLCB1c2VfZGF0ZXRpbWU9RmFsc2UpCisgICAgICAgIChuZXdkdCwpID0gcmVzdWx0CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobmV3ZHQsIGR0KQorICAgICAgICBzZWxmLmFzc2VydElzKHR5cGUobmV3ZHQpLCB4bWxycGNsaWIuRGF0ZVRpbWUpCisgICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKG0pCisKIAogICAgIGRlZiB0ZXN0X2RhdGV0aW1lX2JlZm9yZV8xOTAwKHNlbGYpOgogICAgICAgICAjIHNhbWUgYXMgYmVmb3JlIGJ1dCB3aXRoIGEgZGF0ZSBiZWZvcmUgMTkwMAogICAgICAgICBkdCA9IGRhdGV0aW1lLmRhdGV0aW1lKDEsICAyLCAxMCwgMTEsIDQxLCAyMykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkdCwgeG1scnBjbGliLkRhdGVUaW1lKCcwMDAxMDIxMFQxMTo0MToyMycpKQogICAgICAgICBzID0geG1scnBjbGliLmR1bXBzKChkdCwpKQotICAgICAgICAobmV3ZHQsKSwgbSA9IHhtbHJwY2xpYi5sb2FkcyhzLCB1c2VfZGF0ZXRpbWU9MSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChuZXdkdCwgZHQpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobSwgTm9uZSkKIAotICAgICAgICAobmV3ZHQsKSwgbSA9IHhtbHJwY2xpYi5sb2FkcyhzLCB1c2VfZGF0ZXRpbWU9MCkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChuZXdkdCwgeG1scnBjbGliLkRhdGVUaW1lKCcwMDAxMDIxMFQxMTo0MToyMycpKQorICAgICAgICByZXN1bHQsIG0gPSB4bWxycGNsaWIubG9hZHMocywgdXNlX2J1aWx0aW5fdHlwZXM9VHJ1ZSkKKyAgICAgICAgKG5ld2R0LCkgPSByZXN1bHQKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChuZXdkdCwgZHQpCisgICAgICAgIHNlbGYuYXNzZXJ0SXModHlwZShuZXdkdCksIGRhdGV0aW1lLmRhdGV0aW1lKQorICAgICAgICBzZWxmLmFzc2VydElzTm9uZShtKQorCisgICAgICAgIHJlc3VsdCwgbSA9IHhtbHJwY2xpYi5sb2FkcyhzLCB1c2VfYnVpbHRpbl90eXBlcz1GYWxzZSkKKyAgICAgICAgKG5ld2R0LCkgPSByZXN1bHQKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChuZXdkdCwgZHQpCisgICAgICAgIHNlbGYuYXNzZXJ0SXModHlwZShuZXdkdCksIHhtbHJwY2xpYi5EYXRlVGltZSkKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUobSkKIAogICAgIGRlZiB0ZXN0X2J1Z18xMTY0OTEyIChzZWxmKToKICAgICAgICAgZCA9IHhtbHJwY2xpYi5EYXRlVGltZSgpCkBAIC0xMzMsNiArMTYyLDI1IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbHJwY2xpYi5sb2FkcyhzdHJnKVswXVswXSkKICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCB4bWxycGNsaWIuZHVtcHMsIChhcmcxLCkpCiAKKyAgICBkZWYgdGVzdF9kdW1wX2J5dGVzKHNlbGYpOgorICAgICAgICBzYW1wbGUgPSBiIm15IGRvZyBoYXMgZmxlYXMiCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2FtcGxlLCB4bWxycGNsaWIuQmluYXJ5KHNhbXBsZSkpCisgICAgICAgIGZvciB0eXBlXyBpbiBieXRlcywgYnl0ZWFycmF5LCB4bWxycGNsaWIuQmluYXJ5OgorICAgICAgICAgICAgdmFsdWUgPSB0eXBlXyhzYW1wbGUpCisgICAgICAgICAgICBzID0geG1scnBjbGliLmR1bXBzKCh2YWx1ZSwpKQorCisgICAgICAgICAgICByZXN1bHQsIG0gPSB4bWxycGNsaWIubG9hZHMocywgdXNlX2J1aWx0aW5fdHlwZXM9VHJ1ZSkKKyAgICAgICAgICAgIChuZXd2YWx1ZSwpID0gcmVzdWx0CisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG5ld3ZhbHVlLCBzYW1wbGUpCisgICAgICAgICAgICBzZWxmLmFzc2VydElzKHR5cGUobmV3dmFsdWUpLCBieXRlcykKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKG0pCisKKyAgICAgICAgICAgIHJlc3VsdCwgbSA9IHhtbHJwY2xpYi5sb2FkcyhzLCB1c2VfYnVpbHRpbl90eXBlcz1GYWxzZSkKKyAgICAgICAgICAgIChuZXd2YWx1ZSwpID0gcmVzdWx0CisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG5ld3ZhbHVlLCBzYW1wbGUpCisgICAgICAgICAgICBzZWxmLmFzc2VydElzKHR5cGUobmV3dmFsdWUpLCB4bWxycGNsaWIuQmluYXJ5KQorICAgICAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUobSkKKwogICAgIGRlZiB0ZXN0X2dldF9ob3N0X2luZm8oc2VsZik6CiAgICAgICAgICMgc2VlIGJ1ZyAjMzYxMywgdGhpcyByYWlzZWQgYSBUeXBlRXJyb3IKICAgICAgICAgdHJhbnNwID0geG1scnBjLmNsaWVudC5UcmFuc3BvcnQoKQpAQCAtMTQwLDkgKzE4OCw2IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICgnaG9zdC50bGQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgWygnQXV0aG9yaXphdGlvbicsICdCYXNpYyBkWE5sY2c9PScpXSwge30pKQogCi0gICAgZGVmIHRlc3RfZHVtcF9ieXRlcyhzZWxmKToKLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCB4bWxycGNsaWIuZHVtcHMsIChiIm15IGRvZyBoYXMgZmxlYXMiLCkpCi0KICAgICBkZWYgdGVzdF9zc2xfcHJlc2VuY2Uoc2VsZik6CiAgICAgICAgIHRyeToKICAgICAgICAgICAgIGltcG9ydCBzc2wKQEAgLTk4MCwxMCArMTAyNSw0NCBAQAogICAgICAgICAgICAgbGVuKGNvbnRlbnQpKQogCiAKK2NsYXNzIFVzZUJ1aWx0aW5UeXBlc1Rlc3RDYXNlKHVuaXR0ZXN0LlRlc3RDYXNlKToKKworICAgIGRlZiB0ZXN0X3VzZV9idWlsdGluX3R5cGVzKHNlbGYpOgorICAgICAgICAjIFNpbXBsZVhNTFJQQ0Rpc3BhdGNoZXIuX19pbml0X18gYWNjZXB0cyB1c2VfYnVpbHRpbl90eXBlcywgd2hpY2gKKyAgICAgICAgIyBtYWtlcyBhbGwgZGlzcGF0Y2ggb2YgYmluYXJ5IGRhdGEgYXMgYnl0ZXMgaW5zdGFuY2VzLCBhbmQgYWxsCisgICAgICAgICMgZGlzcGF0Y2ggb2YgZGF0ZXRpbWUgYXJndW1lbnQgYXMgZGF0ZXRpbWUuZGF0ZXRpbWUgaW5zdGFuY2VzLgorICAgICAgICBzZWxmLmxvZyA9IFtdCisgICAgICAgIGV4cGVjdGVkX2J5dGVzID0gYiJteSBkb2cgaGFzIGZsZWFzIgorICAgICAgICBleHBlY3RlZF9kYXRlID0gZGF0ZXRpbWUuZGF0ZXRpbWUoMjAwOCwgNSwgMjYsIDE4LCAyNSwgMTIpCisgICAgICAgIG1hcnNoYWxlZCA9IHhtbHJwY2xpYi5kdW1wcygoZXhwZWN0ZWRfYnl0ZXMsIGV4cGVjdGVkX2RhdGUpLCAnZm9vYmFyJykKKyAgICAgICAgZGVmIGZvb2JhcigqYXJncyk6CisgICAgICAgICAgICBzZWxmLmxvZy5leHRlbmQoYXJncykKKyAgICAgICAgaGFuZGxlciA9IHhtbHJwYy5zZXJ2ZXIuU2ltcGxlWE1MUlBDRGlzcGF0Y2hlcigKKyAgICAgICAgICAgIGFsbG93X25vbmU9VHJ1ZSwgZW5jb2Rpbmc9Tm9uZSwgdXNlX2J1aWx0aW5fdHlwZXM9VHJ1ZSkKKyAgICAgICAgaGFuZGxlci5yZWdpc3Rlcl9mdW5jdGlvbihmb29iYXIpCisgICAgICAgIGhhbmRsZXIuX21hcnNoYWxlZF9kaXNwYXRjaChtYXJzaGFsZWQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKHNlbGYubG9nKSwgMikKKyAgICAgICAgbXlieXRlcywgbXlkYXRlID0gc2VsZi5sb2cKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZWxmLmxvZywgW2V4cGVjdGVkX2J5dGVzLCBleHBlY3RlZF9kYXRlXSkKKyAgICAgICAgc2VsZi5hc3NlcnRJcyh0eXBlKG15ZGF0ZSksIGRhdGV0aW1lLmRhdGV0aW1lKQorICAgICAgICBzZWxmLmFzc2VydElzKHR5cGUobXlieXRlcyksIGJ5dGVzKQorCisgICAgZGVmIHRlc3RfY2dpaGFuZGxlcl9oYXNfdXNlX2J1aWx0aW5fdHlwZXNfZmxhZyhzZWxmKToKKyAgICAgICAgaGFuZGxlciA9IHhtbHJwYy5zZXJ2ZXIuQ0dJWE1MUlBDUmVxdWVzdEhhbmRsZXIodXNlX2J1aWx0aW5fdHlwZXM9VHJ1ZSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGhhbmRsZXIudXNlX2J1aWx0aW5fdHlwZXMpCisKKyAgICBkZWYgdGVzdF94bWxycGNzZXJ2ZXJfaGFzX3VzZV9idWlsdGluX3R5cGVzX2ZsYWcoc2VsZik6CisgICAgICAgIHNlcnZlciA9IHhtbHJwYy5zZXJ2ZXIuU2ltcGxlWE1MUlBDU2VydmVyKCgibG9jYWxob3N0IiwgMCksCisgICAgICAgICAgICB1c2VfYnVpbHRpbl90eXBlcz1UcnVlKQorICAgICAgICBzZXJ2ZXIuc2VydmVyX2Nsb3NlKCkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHNlcnZlci51c2VfYnVpbHRpbl90eXBlcykKKworCiBAc3VwcG9ydC5yZWFwX3RocmVhZHMKIGRlZiB0ZXN0X21haW4oKToKICAgICB4bWxycGNfdGVzdHMgPSBbWE1MUlBDVGVzdENhc2UsIEhlbHBlclRlc3RDYXNlLCBEYXRlVGltZVRlc3RDYXNlLAogICAgICAgICAgQmluYXJ5VGVzdENhc2UsIEZhdWx0VGVzdENhc2VdCisgICAgeG1scnBjX3Rlc3RzLmFwcGVuZChVc2VCdWlsdGluVHlwZXNUZXN0Q2FzZSkKICAgICB4bWxycGNfdGVzdHMuYXBwZW5kKFNpbXBsZVNlcnZlclRlc3RDYXNlKQogICAgIHhtbHJwY190ZXN0cy5hcHBlbmQoS2VlcGFsaXZlU2VydmVyVGVzdENhc2UxKQogICAgIHhtbHJwY190ZXN0cy5hcHBlbmQoS2VlcGFsaXZlU2VydmVyVGVzdENhc2UyKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF94bWxycGNfbmV0LnB5IGIvTGliL3Rlc3QvdGVzdF94bWxycGNfbmV0LnB5CmluZGV4IDllZDhmOGQuLjliYTg5YjIgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfeG1scnBjX25ldC5weQorKysgYi9MaWIvdGVzdC90ZXN0X3htbHJwY19uZXQucHkKQEAgLTEsNiArMSw2IEBACiAjIS91c3IvYmluL2VudiBweXRob24zCiAKLWltcG9ydCBjb2xsZWN0aW9ucworaW1wb3J0IGNvbGxlY3Rpb25zLmFiYwogaW1wb3J0IGVycm5vCiBpbXBvcnQgc29ja2V0CiBpbXBvcnQgc3lzCkBAIC00OSw3ICs0OSw3IEBACiAKICAgICAgICAgIyBQZXJmb3JtIGEgbWluaW1hbCBzYW5pdHkgY2hlY2sgb24gdGhlIHJlc3VsdCwganVzdCB0byBiZSBzdXJlCiAgICAgICAgICMgdGhlIHJlcXVlc3QgbWVhbnMgd2hhdCB3ZSB0aGluayBpdCBtZWFucy4KLSAgICAgICAgc2VsZi5hc3NlcnRJc0luc3RhbmNlKGJ1aWxkZXJzLCBjb2xsZWN0aW9ucy5TZXF1ZW5jZSkKKyAgICAgICAgc2VsZi5hc3NlcnRJc0luc3RhbmNlKGJ1aWxkZXJzLCBjb2xsZWN0aW9ucy5hYmMuU2VxdWVuY2UpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShbeCBmb3IgeCBpbiBidWlsZGVycyBpZiAiMy54IiBpbiB4XSwgYnVpbGRlcnMpCiAKIApkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF96aXBmaWxlLnB5IGIvTGliL3Rlc3QvdGVzdF96aXBmaWxlLnB5CmluZGV4IGJiMGQ3OWEuLjBiM2E2OTQgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfemlwZmlsZS5weQorKysgYi9MaWIvdGVzdC90ZXN0X3ppcGZpbGUucHkKQEAgLTEsOSArMSwzIEBACi0jIFdlIGNhbiB0ZXN0IHBhcnQgb2YgdGhlIG1vZHVsZSB3aXRob3V0IHpsaWIuCi10cnk6Ci0gICAgaW1wb3J0IHpsaWIKLWV4Y2VwdCBJbXBvcnRFcnJvcjoKLSAgICB6bGliID0gTm9uZQotCiBpbXBvcnQgaW8KIGltcG9ydCBvcwogaW1wb3J0IHN5cwpAQCAtMTksNyArMTMsNyBAQAogZnJvbSByYW5kb20gaW1wb3J0IHJhbmRpbnQsIHJhbmRvbQogZnJvbSB1bml0dGVzdCBpbXBvcnQgc2tpcFVubGVzcwogCi1mcm9tIHRlc3Quc3VwcG9ydCBpbXBvcnQgVEVTVEZOLCBydW5fdW5pdHRlc3QsIGZpbmRmaWxlLCB1bmxpbmsKK2Zyb20gdGVzdC5zdXBwb3J0IGltcG9ydCBURVNURk4sIHJ1bl91bml0dGVzdCwgZmluZGZpbGUsIHVubGluaywgcmVxdWlyZXNfemxpYgogCiBURVNURk4yID0gVEVTVEZOICsgIjIiCiBURVNURk5ESVIgPSBURVNURk4gKyAiZCIKQEAgLTI2OSw0NCArMjYzLDQ0IEBACiAgICAgICAgIGZvciBmIGluIChURVNURk4yLCBUZW1wb3JhcnlGaWxlKCksIGlvLkJ5dGVzSU8oKSk6CiAgICAgICAgICAgICBzZWxmLnppcF9pdGVybGluZXNfdGVzdChmLCB6aXBmaWxlLlpJUF9TVE9SRUQpCiAKLSAgICBAc2tpcFVubGVzcyh6bGliLCAicmVxdWlyZXMgemxpYiIpCisgICAgQHJlcXVpcmVzX3psaWIKICAgICBkZWYgdGVzdF9kZWZsYXRlZChzZWxmKToKICAgICAgICAgZm9yIGYgaW4gKFRFU1RGTjIsIFRlbXBvcmFyeUZpbGUoKSwgaW8uQnl0ZXNJTygpKToKICAgICAgICAgICAgIHNlbGYuemlwX3Rlc3QoZiwgemlwZmlsZS5aSVBfREVGTEFURUQpCiAKIAotICAgIEBza2lwVW5sZXNzKHpsaWIsICJyZXF1aXJlcyB6bGliIikKKyAgICBAcmVxdWlyZXNfemxpYgogICAgIGRlZiB0ZXN0X29wZW5fZGVmbGF0ZWQoc2VsZik6CiAgICAgICAgIGZvciBmIGluIChURVNURk4yLCBUZW1wb3JhcnlGaWxlKCksIGlvLkJ5dGVzSU8oKSk6CiAgICAgICAgICAgICBzZWxmLnppcF9vcGVuX3Rlc3QoZiwgemlwZmlsZS5aSVBfREVGTEFURUQpCiAKLSAgICBAc2tpcFVubGVzcyh6bGliLCAicmVxdWlyZXMgemxpYiIpCisgICAgQHJlcXVpcmVzX3psaWIKICAgICBkZWYgdGVzdF9yYW5kb21fb3Blbl9kZWZsYXRlZChzZWxmKToKICAgICAgICAgZm9yIGYgaW4gKFRFU1RGTjIsIFRlbXBvcmFyeUZpbGUoKSwgaW8uQnl0ZXNJTygpKToKICAgICAgICAgICAgIHNlbGYuemlwX3JhbmRvbV9vcGVuX3Rlc3QoZiwgemlwZmlsZS5aSVBfREVGTEFURUQpCiAKLSAgICBAc2tpcFVubGVzcyh6bGliLCAicmVxdWlyZXMgemxpYiIpCisgICAgQHJlcXVpcmVzX3psaWIKICAgICBkZWYgdGVzdF9yZWFkbGluZV9yZWFkX2RlZmxhdGVkKHNlbGYpOgogICAgICAgICAjIElzc3VlICM3NjEwOiBjYWxscyB0byByZWFkbGluZSgpIGludGVybGVhdmVkIHdpdGggY2FsbHMgdG8gcmVhZCgpLgogICAgICAgICBmb3IgZiBpbiAoVEVTVEZOMiwgVGVtcG9yYXJ5RmlsZSgpLCBpby5CeXRlc0lPKCkpOgogICAgICAgICAgICAgc2VsZi56aXBfcmVhZGxpbmVfcmVhZF90ZXN0KGYsIHppcGZpbGUuWklQX0RFRkxBVEVEKQogCi0gICAgQHNraXBVbmxlc3MoemxpYiwgInJlcXVpcmVzIHpsaWIiKQorICAgIEByZXF1aXJlc196bGliCiAgICAgZGVmIHRlc3RfcmVhZGxpbmVfZGVmbGF0ZWQoc2VsZik6CiAgICAgICAgIGZvciBmIGluIChURVNURk4yLCBUZW1wb3JhcnlGaWxlKCksIGlvLkJ5dGVzSU8oKSk6CiAgICAgICAgICAgICBzZWxmLnppcF9yZWFkbGluZV90ZXN0KGYsIHppcGZpbGUuWklQX0RFRkxBVEVEKQogCi0gICAgQHNraXBVbmxlc3MoemxpYiwgInJlcXVpcmVzIHpsaWIiKQorICAgIEByZXF1aXJlc196bGliCiAgICAgZGVmIHRlc3RfcmVhZGxpbmVzX2RlZmxhdGVkKHNlbGYpOgogICAgICAgICBmb3IgZiBpbiAoVEVTVEZOMiwgVGVtcG9yYXJ5RmlsZSgpLCBpby5CeXRlc0lPKCkpOgogICAgICAgICAgICAgc2VsZi56aXBfcmVhZGxpbmVzX3Rlc3QoZiwgemlwZmlsZS5aSVBfREVGTEFURUQpCiAKLSAgICBAc2tpcFVubGVzcyh6bGliLCAicmVxdWlyZXMgemxpYiIpCisgICAgQHJlcXVpcmVzX3psaWIKICAgICBkZWYgdGVzdF9pdGVybGluZXNfZGVmbGF0ZWQoc2VsZik6CiAgICAgICAgIGZvciBmIGluIChURVNURk4yLCBUZW1wb3JhcnlGaWxlKCksIGlvLkJ5dGVzSU8oKSk6CiAgICAgICAgICAgICBzZWxmLnppcF9pdGVybGluZXNfdGVzdChmLCB6aXBmaWxlLlpJUF9ERUZMQVRFRCkKIAotICAgIEBza2lwVW5sZXNzKHpsaWIsICJyZXF1aXJlcyB6bGliIikKKyAgICBAcmVxdWlyZXNfemxpYgogICAgIGRlZiB0ZXN0X2xvd19jb21wcmVzc2lvbihzZWxmKToKICAgICAgICAgIiIiQ2hlY2sgZm9yIGNhc2VzIHdoZXJlIGNvbXByZXNzZWQgZGF0YSBpcyBsYXJnZXIgdGhhbiBvcmlnaW5hbC4iIiIKICAgICAgICAgIyBDcmVhdGUgdGhlIFpJUCBhcmNoaXZlCkBAIC0zNzcsNyArMzcxLDcgQEAKICAgICAgICAgICAgIHdpdGggb3BlbihURVNURk4sICJyYiIpIGFzIGY6CiAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh6aXBmcC5yZWFkKFRFU1RGTiksIGYucmVhZCgpKQogCi0gICAgQHNraXBVbmxlc3MoemxpYiwgInJlcXVpcmVzIHpsaWIiKQorICAgIEByZXF1aXJlc196bGliCiAgICAgZGVmIHRlc3RfcGVyX2ZpbGVfY29tcHJlc3Npb24oc2VsZik6CiAgICAgICAgICIiIkNoZWNrIHRoYXQgZmlsZXMgd2l0aGluIGEgWmlwIGFyY2hpdmUgY2FuIGhhdmUgZGlmZmVyZW50CiAgICAgICAgIGNvbXByZXNzaW9uIG9wdGlvbnMuIiIiCkBAIC00NDYsMTkgKzQ0MCwxOCBAQAogICAgICAgICAjIHJlbW92ZSB0aGUgdGVzdCBmaWxlIHN1YmRpcmVjdG9yaWVzCiAgICAgICAgIHNodXRpbC5ybXRyZWUob3MucGF0aC5qb2luKG9zLmdldGN3ZCgpLCAnemlwdGVzdDJkaXInKSkKIAotICAgIGRlZiB0ZXN0X3dyaXRlc3RyX2NvbXByZXNzaW9uKHNlbGYpOgorICAgIGRlZiB0ZXN0X3dyaXRlc3RyX2NvbXByZXNzaW9uX3N0b3JlZChzZWxmKToKICAgICAgICAgemlwZnAgPSB6aXBmaWxlLlppcEZpbGUoVEVTVEZOMiwgInciKQogICAgICAgICB6aXBmcC53cml0ZXN0cigiYS50eHQiLCAiaGVsbG8gd29ybGQiLCBjb21wcmVzc190eXBlPXppcGZpbGUuWklQX1NUT1JFRCkKLSAgICAgICAgaWYgemxpYjoKLSAgICAgICAgICAgIHppcGZwLndyaXRlc3RyKCJiLnR4dCIsICJoZWxsbyB3b3JsZCIsIGNvbXByZXNzX3R5cGU9emlwZmlsZS5aSVBfREVGTEFURUQpCi0KICAgICAgICAgaW5mbyA9IHppcGZwLmdldGluZm8oJ2EudHh0JykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChpbmZvLmNvbXByZXNzX3R5cGUsIHppcGZpbGUuWklQX1NUT1JFRCkKIAotICAgICAgICBpZiB6bGliOgotICAgICAgICAgICAgaW5mbyA9IHppcGZwLmdldGluZm8oJ2IudHh0JykKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaW5mby5jb21wcmVzc190eXBlLCB6aXBmaWxlLlpJUF9ERUZMQVRFRCkKLQorICAgIEByZXF1aXJlc196bGliCisgICAgZGVmIHRlc3Rfd3JpdGVzdHJfY29tcHJlc3Npb25fZGVmbGF0ZWQoc2VsZik6CisgICAgICAgIHppcGZwID0gemlwZmlsZS5aaXBGaWxlKFRFU1RGTjIsICJ3IikKKyAgICAgICAgemlwZnAud3JpdGVzdHIoImIudHh0IiwgImhlbGxvIHdvcmxkIiwgY29tcHJlc3NfdHlwZT16aXBmaWxlLlpJUF9ERUZMQVRFRCkKKyAgICAgICAgaW5mbyA9IHppcGZwLmdldGluZm8oJ2IudHh0JykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChpbmZvLmNvbXByZXNzX3R5cGUsIHppcGZpbGUuWklQX0RFRkxBVEVEKQogCiAgICAgZGVmIHppcF90ZXN0X3dyaXRlc3RyX3Blcm1pc3Npb25zKHNlbGYsIGYsIGNvbXByZXNzaW9uKToKICAgICAgICAgIyBNYWtlIHN1cmUgdGhhdCB3cml0ZXN0ciBjcmVhdGVzIGZpbGVzIHdpdGggbW9kZSAwNjAwLApAQCAtNTE0LDcgKzUwNywxMiBAQAogICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgemlwZnAud3JpdGUsIFRFU1RGTikKIAogCi0gICAgQHNraXBVbmxlc3MoemxpYiwgInJlcXVpcmVzIHpsaWIiKQorCisKKworCisKKyAgICBAcmVxdWlyZXNfemxpYgogICAgIGRlZiB0ZXN0X3VuaWNvZGVfZmlsZW5hbWVzKHNlbGYpOgogICAgICAgICAjIGJ1ZyAjMTA4MDEKICAgICAgICAgZm5hbWUgPSBmaW5kZmlsZSgnemlwX2NwNDM3X2hlYWRlci56aXAnKQpAQCAtNjIzLDcgKzYyMSw3IEBACiAgICAgICAgIGZvciBmIGluIChURVNURk4yLCBUZW1wb3JhcnlGaWxlKCksIGlvLkJ5dGVzSU8oKSk6CiAgICAgICAgICAgICBzZWxmLnppcF90ZXN0KGYsIHppcGZpbGUuWklQX1NUT1JFRCkKIAotICAgIEBza2lwVW5sZXNzKHpsaWIsICJyZXF1aXJlcyB6bGliIikKKyAgICBAcmVxdWlyZXNfemxpYgogICAgIGRlZiB0ZXN0X2RlZmxhdGVkKHNlbGYpOgogICAgICAgICBmb3IgZiBpbiAoVEVTVEZOMiwgVGVtcG9yYXJ5RmlsZSgpLCBpby5CeXRlc0lPKCkpOgogICAgICAgICAgICAgc2VsZi56aXBfdGVzdChmLCB6aXBmaWxlLlpJUF9ERUZMQVRFRCkKQEAgLTk4Myw3ICs5ODEsNyBAQAogICAgIGRlZiB0ZXN0X3Rlc3R6aXBfd2l0aF9iYWRfY3JjX3N0b3JlZChzZWxmKToKICAgICAgICAgc2VsZi5jaGVja190ZXN0emlwX3dpdGhfYmFkX2NyYyh6aXBmaWxlLlpJUF9TVE9SRUQpCiAKLSAgICBAc2tpcFVubGVzcyh6bGliLCAicmVxdWlyZXMgemxpYiIpCisgICAgQHJlcXVpcmVzX3psaWIKICAgICBkZWYgdGVzdF90ZXN0emlwX3dpdGhfYmFkX2NyY19kZWZsYXRlZChzZWxmKToKICAgICAgICAgc2VsZi5jaGVja190ZXN0emlwX3dpdGhfYmFkX2NyYyh6aXBmaWxlLlpJUF9ERUZMQVRFRCkKIApAQCAtMTAxMSw3ICsxMDA5LDcgQEAKICAgICBkZWYgdGVzdF9yZWFkX3dpdGhfYmFkX2NyY19zdG9yZWQoc2VsZik6CiAgICAgICAgIHNlbGYuY2hlY2tfcmVhZF93aXRoX2JhZF9jcmMoemlwZmlsZS5aSVBfU1RPUkVEKQogCi0gICAgQHNraXBVbmxlc3MoemxpYiwgInJlcXVpcmVzIHpsaWIiKQorICAgIEByZXF1aXJlc196bGliCiAgICAgZGVmIHRlc3RfcmVhZF93aXRoX2JhZF9jcmNfZGVmbGF0ZWQoc2VsZik6CiAgICAgICAgIHNlbGYuY2hlY2tfcmVhZF93aXRoX2JhZF9jcmMoemlwZmlsZS5aSVBfREVGTEFURUQpCiAKQEAgLTEwMzEsNyArMTAyOSw3IEBACiAgICAgZGVmIHRlc3RfcmVhZF9yZXR1cm5fc2l6ZV9zdG9yZWQoc2VsZik6CiAgICAgICAgIHNlbGYuY2hlY2tfcmVhZF9yZXR1cm5fc2l6ZSh6aXBmaWxlLlpJUF9TVE9SRUQpCiAKLSAgICBAc2tpcFVubGVzcyh6bGliLCAicmVxdWlyZXMgemxpYiIpCisgICAgQHJlcXVpcmVzX3psaWIKICAgICBkZWYgdGVzdF9yZWFkX3JldHVybl9zaXplX2RlZmxhdGVkKHNlbGYpOgogICAgICAgICBzZWxmLmNoZWNrX3JlYWRfcmV0dXJuX3NpemUoemlwZmlsZS5aSVBfREVGTEFURUQpCiAKQEAgLTExMjEsNyArMTExOSw3IEBACiAgICAgICAgIHNlbGYuemlwMi5zZXRwYXNzd29yZChiInBlcmwiKQogICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhSdW50aW1lRXJyb3IsIHNlbGYuemlwMi5yZWFkLCAiemVybyIpCiAKLSAgICBAc2tpcFVubGVzcyh6bGliLCAicmVxdWlyZXMgemxpYiIpCisgICAgQHJlcXVpcmVzX3psaWIKICAgICBkZWYgdGVzdF9nb29kX3Bhc3N3b3JkKHNlbGYpOgogICAgICAgICBzZWxmLnppcC5zZXRwYXNzd29yZChiInB5dGhvbiIpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VsZi56aXAucmVhZCgidGVzdC50eHQiKSwgc2VsZi5wbGFpbikKQEAgLTExNzEsNyArMTE2OSw3IEBACiAgICAgICAgIGZvciBmIGluIChURVNURk4yLCBUZW1wb3JhcnlGaWxlKCksIGlvLkJ5dGVzSU8oKSk6CiAgICAgICAgICAgICBzZWxmLnppcF90ZXN0KGYsIHppcGZpbGUuWklQX1NUT1JFRCkKIAotICAgIEBza2lwVW5sZXNzKHpsaWIsICJyZXF1aXJlcyB6bGliIikKKyAgICBAcmVxdWlyZXNfemxpYgogICAgIGRlZiB0ZXN0X2RlZmxhdGVkKHNlbGYpOgogICAgICAgICBmb3IgZiBpbiAoVEVTVEZOMiwgVGVtcG9yYXJ5RmlsZSgpLCBpby5CeXRlc0lPKCkpOgogICAgICAgICAgICAgc2VsZi56aXBfdGVzdChmLCB6aXBmaWxlLlpJUF9ERUZMQVRFRCkKQEAgLTEyMTEsNyArMTIwOSw3IEBACiAgICAgICAgIGZvciBmIGluIChURVNURk4yLCBUZW1wb3JhcnlGaWxlKCksIGlvLkJ5dGVzSU8oKSk6CiAgICAgICAgICAgICBzZWxmLnppcF9vcGVuX3Rlc3QoZiwgemlwZmlsZS5aSVBfU1RPUkVEKQogCi0gICAgQHNraXBVbmxlc3MoemxpYiwgInJlcXVpcmVzIHpsaWIiKQorICAgIEByZXF1aXJlc196bGliCiAgICAgZGVmIHRlc3Rfb3Blbl9kZWZsYXRlZChzZWxmKToKICAgICAgICAgZm9yIGYgaW4gKFRFU1RGTjIsIFRlbXBvcmFyeUZpbGUoKSwgaW8uQnl0ZXNJTygpKToKICAgICAgICAgICAgIHNlbGYuemlwX29wZW5fdGVzdChmLCB6aXBmaWxlLlpJUF9ERUZMQVRFRCkKQEAgLTEyMzksMTMgKzEyMzcsMTMgQEAKICAgICAgICAgZm9yIGYgaW4gKFRFU1RGTjIsIFRlbXBvcmFyeUZpbGUoKSwgaW8uQnl0ZXNJTygpKToKICAgICAgICAgICAgIHNlbGYuemlwX3JhbmRvbV9vcGVuX3Rlc3QoZiwgemlwZmlsZS5aSVBfU1RPUkVEKQogCi0gICAgQHNraXBVbmxlc3MoemxpYiwgInJlcXVpcmVzIHpsaWIiKQorICAgIEByZXF1aXJlc196bGliCiAgICAgZGVmIHRlc3RfcmFuZG9tX29wZW5fZGVmbGF0ZWQoc2VsZik6CiAgICAgICAgIGZvciBmIGluIChURVNURk4yLCBUZW1wb3JhcnlGaWxlKCksIGlvLkJ5dGVzSU8oKSk6CiAgICAgICAgICAgICBzZWxmLnppcF9yYW5kb21fb3Blbl90ZXN0KGYsIHppcGZpbGUuWklQX0RFRkxBVEVEKQogCiAKLUBza2lwVW5sZXNzKHpsaWIsICJyZXF1aXJlcyB6bGliIikKK0ByZXF1aXJlc196bGliCiBjbGFzcyBUZXN0c1dpdGhNdWx0aXBsZU9wZW5zKHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICBkZWYgc2V0VXAoc2VsZik6CiAgICAgICAgICMgQ3JlYXRlIHRoZSBaSVAgYXJjaGl2ZQpAQCAtMTQzNywyOCArMTQzNSwyOCBAQAogICAgICAgICBmb3IgZiBpbiAoVEVTVEZOMiwgVGVtcG9yYXJ5RmlsZSgpLCBpby5CeXRlc0lPKCkpOgogICAgICAgICAgICAgc2VsZi5pdGVybGluZXNfdGVzdChmLCB6aXBmaWxlLlpJUF9TVE9SRUQpCiAKLSAgICBAc2tpcFVubGVzcyh6bGliLCAicmVxdWlyZXMgemxpYiIpCisgICAgQHJlcXVpcmVzX3psaWIKICAgICBkZWYgdGVzdF9yZWFkX2RlZmxhdGVkKHNlbGYpOgogICAgICAgICBmb3IgZiBpbiAoVEVTVEZOMiwgVGVtcG9yYXJ5RmlsZSgpLCBpby5CeXRlc0lPKCkpOgogICAgICAgICAgICAgc2VsZi5yZWFkX3Rlc3QoZiwgemlwZmlsZS5aSVBfREVGTEFURUQpCiAKLSAgICBAc2tpcFVubGVzcyh6bGliLCAicmVxdWlyZXMgemxpYiIpCisgICAgQHJlcXVpcmVzX3psaWIKICAgICBkZWYgdGVzdF9yZWFkbGluZV9yZWFkX2RlZmxhdGVkKHNlbGYpOgogICAgICAgICAjIElzc3VlICM3NjEwOiBjYWxscyB0byByZWFkbGluZSgpIGludGVybGVhdmVkIHdpdGggY2FsbHMgdG8gcmVhZCgpLgogICAgICAgICBmb3IgZiBpbiAoVEVTVEZOMiwgVGVtcG9yYXJ5RmlsZSgpLCBpby5CeXRlc0lPKCkpOgogICAgICAgICAgICAgc2VsZi5yZWFkbGluZV9yZWFkX3Rlc3QoZiwgemlwZmlsZS5aSVBfREVGTEFURUQpCiAKLSAgICBAc2tpcFVubGVzcyh6bGliLCAicmVxdWlyZXMgemxpYiIpCisgICAgQHJlcXVpcmVzX3psaWIKICAgICBkZWYgdGVzdF9yZWFkbGluZV9kZWZsYXRlZChzZWxmKToKICAgICAgICAgZm9yIGYgaW4gKFRFU1RGTjIsIFRlbXBvcmFyeUZpbGUoKSwgaW8uQnl0ZXNJTygpKToKICAgICAgICAgICAgIHNlbGYucmVhZGxpbmVfdGVzdChmLCB6aXBmaWxlLlpJUF9ERUZMQVRFRCkKIAotICAgIEBza2lwVW5sZXNzKHpsaWIsICJyZXF1aXJlcyB6bGliIikKKyAgICBAcmVxdWlyZXNfemxpYgogICAgIGRlZiB0ZXN0X3JlYWRsaW5lc19kZWZsYXRlZChzZWxmKToKICAgICAgICAgZm9yIGYgaW4gKFRFU1RGTjIsIFRlbXBvcmFyeUZpbGUoKSwgaW8uQnl0ZXNJTygpKToKICAgICAgICAgICAgIHNlbGYucmVhZGxpbmVzX3Rlc3QoZiwgemlwZmlsZS5aSVBfREVGTEFURUQpCiAKLSAgICBAc2tpcFVubGVzcyh6bGliLCAicmVxdWlyZXMgemxpYiIpCisgICAgQHJlcXVpcmVzX3psaWIKICAgICBkZWYgdGVzdF9pdGVybGluZXNfZGVmbGF0ZWQoc2VsZik6CiAgICAgICAgIGZvciBmIGluIChURVNURk4yLCBUZW1wb3JhcnlGaWxlKCksIGlvLkJ5dGVzSU8oKSk6CiAgICAgICAgICAgICBzZWxmLml0ZXJsaW5lc190ZXN0KGYsIHppcGZpbGUuWklQX0RFRkxBVEVEKQpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF96aXBmaWxlNjQucHkgYi9MaWIvdGVzdC90ZXN0X3ppcGZpbGU2NC5weQppbmRleCAwZTdkNzNmLi5hOGZiN2FiIDEwMDY0NAotLS0gYS9MaWIvdGVzdC90ZXN0X3ppcGZpbGU2NC5weQorKysgYi9MaWIvdGVzdC90ZXN0X3ppcGZpbGU2NC5weQpAQCAtMTEsMTIgKzExLDYgQEAKICAgICAgICAgJ3Rlc3QgcmVxdWlyZXMgbG9hZHMgb2YgZGlzay1zcGFjZSBieXRlcyBhbmQgYSBsb25nIHRpbWUgdG8gcnVuJwogICAgICkKIAotIyBXZSBjYW4gdGVzdCBwYXJ0IG9mIHRoZSBtb2R1bGUgd2l0aG91dCB6bGliLgotdHJ5OgotICAgIGltcG9ydCB6bGliCi1leGNlcHQgSW1wb3J0RXJyb3I6Ci0gICAgemxpYiA9IE5vbmUKLQogaW1wb3J0IHppcGZpbGUsIG9zLCB1bml0dGVzdAogaW1wb3J0IHRpbWUKIGltcG9ydCBzeXMKQEAgLTI0LDcgKzE4LDcgQEAKIGZyb20gaW8gaW1wb3J0IFN0cmluZ0lPCiBmcm9tIHRlbXBmaWxlIGltcG9ydCBUZW1wb3JhcnlGaWxlCiAKLWZyb20gdGVzdC5zdXBwb3J0IGltcG9ydCBURVNURk4sIHJ1bl91bml0dGVzdAorZnJvbSB0ZXN0LnN1cHBvcnQgaW1wb3J0IFRFU1RGTiwgcnVuX3VuaXR0ZXN0LCByZXF1aXJlc196bGliCiAKIFRFU1RGTjIgPSBURVNURk4gKyAiMiIKIApAQCAtODEsMTIgKzc1LDEyIEBACiAgICAgICAgIGZvciBmIGluIFRlbXBvcmFyeUZpbGUoKSwgVEVTVEZOMjoKICAgICAgICAgICAgIHNlbGYuemlwVGVzdChmLCB6aXBmaWxlLlpJUF9TVE9SRUQpCiAKLSAgICBpZiB6bGliOgotICAgICAgICBkZWYgdGVzdERlZmxhdGVkKHNlbGYpOgotICAgICAgICAgICAgIyBUcnkgdGhlIHRlbXAgZmlsZSBmaXJzdC4gIElmIHdlIGRvIFRFU1RGTjIgZmlyc3QsIHRoZW4gaXQgaG9ncwotICAgICAgICAgICAgIyBnaWdhYnl0ZXMgb2YgZGlzayBzcGFjZSBmb3IgdGhlIGR1cmF0aW9uIG9mIHRoZSB0ZXN0LgotICAgICAgICAgICAgZm9yIGYgaW4gVGVtcG9yYXJ5RmlsZSgpLCBURVNURk4yOgotICAgICAgICAgICAgICAgIHNlbGYuemlwVGVzdChmLCB6aXBmaWxlLlpJUF9ERUZMQVRFRCkKKyAgICBAcmVxdWlyZXNfemxpYgorICAgIGRlZiB0ZXN0RGVmbGF0ZWQoc2VsZik6CisgICAgICAgICMgVHJ5IHRoZSB0ZW1wIGZpbGUgZmlyc3QuICBJZiB3ZSBkbyBURVNURk4yIGZpcnN0LCB0aGVuIGl0IGhvZ3MKKyAgICAgICAgIyBnaWdhYnl0ZXMgb2YgZGlzayBzcGFjZSBmb3IgdGhlIGR1cmF0aW9uIG9mIHRoZSB0ZXN0LgorICAgICAgICBmb3IgZiBpbiBUZW1wb3JhcnlGaWxlKCksIFRFU1RGTjI6CisgICAgICAgICAgICBzZWxmLnppcFRlc3QoZiwgemlwZmlsZS5aSVBfREVGTEFURUQpCiAKICAgICBkZWYgdGVhckRvd24oc2VsZik6CiAgICAgICAgIGZvciBmbmFtZSBpbiBURVNURk4sIFRFU1RGTjI6CmRpZmYgLS1naXQgYS9MaWIvdGVzdC90ZXN0X3ppcGltcG9ydC5weSBiL0xpYi90ZXN0L3Rlc3RfemlwaW1wb3J0LnB5CmluZGV4IGRmNWZmOWQuLmY3Y2I4YjkgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfemlwaW1wb3J0LnB5CisrKyBiL0xpYi90ZXN0L3Rlc3RfemlwaW1wb3J0LnB5CkBAIC05LDEyICs5LDYgQEAKIGZyb20gdGVzdCBpbXBvcnQgc3VwcG9ydAogZnJvbSB0ZXN0LnRlc3RfaW1wb3J0aG9va3MgaW1wb3J0IEltcG9ydEhvb2tzQmFzZVRlc3RDYXNlLCB0ZXN0X3NyYywgdGVzdF9jbwogCi0jIHNvbWUgdGVzdHMgY2FuIGJlIHJhbiBldmVuIHdpdGhvdXQgemxpYgotdHJ5OgotICAgIGltcG9ydCB6bGliCi1leGNlcHQgSW1wb3J0RXJyb3I6Ci0gICAgemxpYiA9IE5vbmUKLQogZnJvbSB6aXBmaWxlIGltcG9ydCBaaXBGaWxlLCBaaXBJbmZvLCBaSVBfU1RPUkVELCBaSVBfREVGTEFURUQKIAogaW1wb3J0IHppcGltcG9ydApAQCAtMjUsNyArMTksNyBAQAogZnJvbSB0cmFjZWJhY2sgaW1wb3J0IGV4dHJhY3RfdGIsIGV4dHJhY3Rfc3RhY2ssIHByaW50X3RiCiByYWlzZV9zcmMgPSAnZGVmIGRvX3JhaXNlKCk6IHJhaXNlIFR5cGVFcnJvclxuJwogCi1kZWYgbWFrZV9weWMoY28sIG10aW1lKToKK2RlZiBtYWtlX3B5YyhjbywgbXRpbWUsIHNpemUpOgogICAgIGRhdGEgPSBtYXJzaGFsLmR1bXBzKGNvKQogICAgIGlmIHR5cGUobXRpbWUpIGlzIHR5cGUoMC4wKToKICAgICAgICAgIyBNYWMgbXRpbWVzIG5lZWQgYSBiaXQgb2Ygc3BlY2lhbCBjYXNpbmcKQEAgLTMzLDE0ICsyNywxNCBAQAogICAgICAgICAgICAgbXRpbWUgPSBpbnQobXRpbWUpCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBtdGltZSA9IGludCgtMHgxMDAwMDAwMDAgKyBpbnQobXRpbWUpKQotICAgIHB5YyA9IGltcC5nZXRfbWFnaWMoKSArIHN0cnVjdC5wYWNrKCI8aSIsIGludChtdGltZSkpICsgZGF0YQorICAgIHB5YyA9IGltcC5nZXRfbWFnaWMoKSArIHN0cnVjdC5wYWNrKCI8aWkiLCBpbnQobXRpbWUpLCBzaXplICYgMHhGRkZGRkZGRikgKyBkYXRhCiAgICAgcmV0dXJuIHB5YwogCiBkZWYgbW9kdWxlX3BhdGhfdG9fZG90dGVkX25hbWUocGF0aCk6CiAgICAgcmV0dXJuIHBhdGgucmVwbGFjZShvcy5zZXAsICcuJykKIAogTk9XID0gdGltZS50aW1lKCkKLXRlc3RfcHljID0gbWFrZV9weWModGVzdF9jbywgTk9XKQordGVzdF9weWMgPSBtYWtlX3B5Yyh0ZXN0X2NvLCBOT1csIGxlbih0ZXN0X3NyYykpCiAKIAogVEVTVE1PRCA9ICJ6aXB0ZXN0bW9kdWxlIgpAQCAtMjExLDYgKzIwNSwxMCBAQAogICAgICAgICAgICAgbW9kID0gemkubG9hZF9tb2R1bGUoVEVTVFBBQ0spCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHppLmdldF9maWxlbmFtZShURVNUUEFDSyksIG1vZC5fX2ZpbGVfXykKIAorICAgICAgICAgICAgZXhpc3RpbmdfcGFja19wYXRoID0gX19pbXBvcnRfXyhURVNUUEFDSykuX19wYXRoX19bMF0KKyAgICAgICAgICAgIGV4cGVjdGVkX3BhdGhfcGF0aCA9IG9zLnBhdGguam9pbihURU1QX1pJUCwgVEVTVFBBQ0spCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV4aXN0aW5nX3BhY2tfcGF0aCwgZXhwZWN0ZWRfcGF0aF9wYXRoKQorCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHppLmlzX3BhY2thZ2UocGFja2RpciArICdfX2luaXRfXycpLCBGYWxzZSkKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoemkuaXNfcGFja2FnZShwYWNrZGlyICsgVEVTVFBBQ0syKSwgVHJ1ZSkKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoemkuaXNfcGFja2FnZShwYWNrZGlyMiArIFRFU1RNT0QpLCBGYWxzZSkKQEAgLTI5OSw3ICsyOTcsNyBAQAogICAgICAgICAgICAgcmV0dXJuIF9fZmlsZV9fCiAgICAgICAgIGlmIF9fbG9hZGVyX18uZ2V0X2RhdGEoInNvbWUuZGF0YSIpICE9IGIic29tZSBkYXRhIjoKICAgICAgICAgICAgIHJhaXNlIEFzc2VydGlvbkVycm9yKCJiYWQgZGF0YSIpXG4iIiIKLSAgICAgICAgcHljID0gbWFrZV9weWMoY29tcGlsZShzcmMsICI8Pz8/PiIsICJleGVjIiksIE5PVykKKyAgICAgICAgcHljID0gbWFrZV9weWMoY29tcGlsZShzcmMsICI8Pz8/PiIsICJleGVjIiksIE5PVywgbGVuKHNyYykpCiAgICAgICAgIGZpbGVzID0ge1RFU1RNT0QgKyBweWNfZXh0OiAoTk9XLCBweWMpLAogICAgICAgICAgICAgICAgICAic29tZS5kYXRhIjogKE5PVywgInNvbWUgZGF0YSIpfQogICAgICAgICBzZWxmLmRvVGVzdChweWNfZXh0LCBmaWxlcywgVEVTVE1PRCkKQEAgLTMxOSw3ICszMTcsNyBAQAogICAgICAgICBzZWxmLmRvVGVzdCgiLnB5IiwgZmlsZXMsIFRFU1RNT0QsIGNhbGw9c2VsZi5hc3NlcnRNb2R1bGVTb3VyY2UpCiAKICAgICBkZWYgdGVzdEdldENvbXBpbGVkU291cmNlKHNlbGYpOgotICAgICAgICBweWMgPSBtYWtlX3B5Yyhjb21waWxlKHRlc3Rfc3JjLCAiPD8/Pz4iLCAiZXhlYyIpLCBOT1cpCisgICAgICAgIHB5YyA9IG1ha2VfcHljKGNvbXBpbGUodGVzdF9zcmMsICI8Pz8/PiIsICJleGVjIiksIE5PVywgbGVuKHRlc3Rfc3JjKSkKICAgICAgICAgZmlsZXMgPSB7VEVTVE1PRCArICIucHkiOiAoTk9XLCB0ZXN0X3NyYyksCiAgICAgICAgICAgICAgICAgIFRFU1RNT0QgKyBweWNfZXh0OiAoTk9XLCBweWMpfQogICAgICAgICBzZWxmLmRvVGVzdChweWNfZXh0LCBmaWxlcywgVEVTVE1PRCwgY2FsbD1zZWxmLmFzc2VydE1vZHVsZVNvdXJjZSkKQEAgLTM5Miw3ICszOTAsNyBAQAogICAgICAgICAgICAgb3MucmVtb3ZlKGZpbGVuYW1lKQogCiAKLUB1bml0dGVzdC5za2lwVW5sZXNzKHpsaWIsICJyZXF1aXJlcyB6bGliIikKK0BzdXBwb3J0LnJlcXVpcmVzX3psaWIKIGNsYXNzIENvbXByZXNzZWRaaXBJbXBvcnRUZXN0Q2FzZShVbmNvbXByZXNzZWRaaXBJbXBvcnRUZXN0Q2FzZSk6CiAgICAgY29tcHJlc3Npb24gPSBaSVBfREVGTEFURUQKIApAQCAtNDE3LDcgKzQxNSw3IEBACiAKICAgICBkZWYgdGVzdEVtcHR5RmlsZShzZWxmKToKICAgICAgICAgc3VwcG9ydC51bmxpbmsoVEVTVE1PRCkKLSAgICAgICAgb3BlbihURVNUTU9ELCAndysnKS5jbG9zZSgpCisgICAgICAgIHN1cHBvcnQuY3JlYXRlX2VtcHR5X2ZpbGUoVEVTVE1PRCkKICAgICAgICAgc2VsZi5hc3NlcnRaaXBGYWlsdXJlKFRFU1RNT0QpCiAKICAgICBkZWYgdGVzdEZpbGVVbnJlYWRhYmxlKHNlbGYpOgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF96aXBpbXBvcnRfc3VwcG9ydC5weSBiL0xpYi90ZXN0L3Rlc3RfemlwaW1wb3J0X3N1cHBvcnQucHkKaW5kZXggYTU1OGQ3ZC4uMGM5M2E4YyAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGVzdF96aXBpbXBvcnRfc3VwcG9ydC5weQorKysgYi9MaWIvdGVzdC90ZXN0X3ppcGltcG9ydF9zdXBwb3J0LnB5CkBAIC0xNTYsMjAgKzE1NiwxOSBAQAogICAgICAgICAgICAgICAgICAgICB0ZXN0X3ppcHBlZF9kb2N0ZXN0LnRlc3RfRG9jVGVzdFJ1bm5lci52ZXJib3NlX2ZsYWcsCiAgICAgICAgICAgICAgICAgICAgIHRlc3RfemlwcGVkX2RvY3Rlc3QudGVzdF9FeGFtcGxlLAogICAgICAgICAgICAgICAgICAgICB0ZXN0X3ppcHBlZF9kb2N0ZXN0LnRlc3RfZGVidWcsCi0gICAgICAgICAgICAgICAgICAgIHRlc3RfemlwcGVkX2RvY3Rlc3QudGVzdF9wZGJfc2V0X3RyYWNlLAotICAgICAgICAgICAgICAgICAgICB0ZXN0X3ppcHBlZF9kb2N0ZXN0LnRlc3RfcGRiX3NldF90cmFjZV9uZXN0ZWQsCiAgICAgICAgICAgICAgICAgICAgIHRlc3RfemlwcGVkX2RvY3Rlc3QudGVzdF90ZXN0c291cmNlLAogICAgICAgICAgICAgICAgICAgICB0ZXN0X3ppcHBlZF9kb2N0ZXN0LnRlc3RfdHJhaWxpbmdfc3BhY2VfaW5fdGVzdCwKICAgICAgICAgICAgICAgICAgICAgdGVzdF96aXBwZWRfZG9jdGVzdC50ZXN0X0RvY1Rlc3RTdWl0ZSwKICAgICAgICAgICAgICAgICAgICAgdGVzdF96aXBwZWRfZG9jdGVzdC50ZXN0X0RvY1Rlc3RGaW5kZXIsCiAgICAgICAgICAgICAgICAgXQotICAgICAgICAgICAgICAgICMgVGhlc2UgcmVtYWluaW5nIHRlc3RzIGFyZSB0aGUgb25lcyB3aGljaCBuZWVkIGFjY2VzcworICAgICAgICAgICAgICAgICMgVGhlc2UgdGVzdHMgYXJlIHRoZSBvbmVzIHdoaWNoIG5lZWQgYWNjZXNzCiAgICAgICAgICAgICAgICAgIyB0byB0aGUgZGF0YSBmaWxlcywgc28gd2UgZG9uJ3QgcnVuIHRoZW0KICAgICAgICAgICAgICAgICBmYWlsX2R1ZV90b19taXNzaW5nX2RhdGFfZmlsZXMgPSBbCiAgICAgICAgICAgICAgICAgICAgIHRlc3RfemlwcGVkX2RvY3Rlc3QudGVzdF9Eb2NGaWxlU3VpdGUsCiAgICAgICAgICAgICAgICAgICAgIHRlc3RfemlwcGVkX2RvY3Rlc3QudGVzdF90ZXN0ZmlsZSwKICAgICAgICAgICAgICAgICAgICAgdGVzdF96aXBwZWRfZG9jdGVzdC50ZXN0X3VuaXR0ZXN0X3JlcG9ydGZsYWdzLAogICAgICAgICAgICAgICAgIF0KKwogICAgICAgICAgICAgICAgIGZvciBvYmogaW4ga25vd25fZ29vZF90ZXN0czoKICAgICAgICAgICAgICAgICAgICAgX3J1bl9vYmplY3RfZG9jdGVzdChvYmosIHRlc3RfemlwcGVkX2RvY3Rlc3QpCiAgICAgICAgICAgICBmaW5hbGx5OgpkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdGVzdF96bGliLnB5IGIvTGliL3Rlc3QvdGVzdF96bGliLnB5CmluZGV4IDYwMDgxZTIuLjNjOTgyYzYgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rlc3RfemxpYi5weQorKysgYi9MaWIvdGVzdC90ZXN0X3psaWIucHkKQEAgLTcsMTAgKzcsMTYgQEAKIAogemxpYiA9IHN1cHBvcnQuaW1wb3J0X21vZHVsZSgnemxpYicpCiAKLXRyeToKLSAgICBpbXBvcnQgbW1hcAotZXhjZXB0IEltcG9ydEVycm9yOgotICAgIG1tYXAgPSBOb25lCisKK2NsYXNzIFZlcnNpb25UZXN0Q2FzZSh1bml0dGVzdC5UZXN0Q2FzZSk6CisKKyAgICBkZWYgdGVzdF9saWJyYXJ5X3ZlcnNpb24oc2VsZik6CisgICAgICAgICMgVGVzdCB0aGF0IHRoZSBtYWpvciB2ZXJzaW9uIG9mIHRoZSBhY3R1YWwgbGlicmFyeSBpbiB1c2UgbWF0Y2hlcyB0aGUKKyAgICAgICAgIyBtYWpvciB2ZXJzaW9uIHRoYXQgd2Ugd2VyZSBjb21waWxlZCBhZ2FpbnN0LiBXZSBjYW4ndCBndWFyYW50ZWUgdGhhdAorICAgICAgICAjIHRoZSBtaW5vciB2ZXJzaW9ucyB3aWxsIG1hdGNoIChldmVuIG9uIHRoZSBtYWNoaW5lIG9uIHdoaWNoIHRoZSBtb2R1bGUKKyAgICAgICAgIyB3YXMgY29tcGlsZWQpLCBhbmQgdGhlIEFQSSBpcyBzdGFibGUgYmV0d2VlbiBtaW5vciB2ZXJzaW9ucywgc28KKyAgICAgICAgIyB0ZXN0aW5nIG9ubHkgdGhlIG1ham9yIHZlcnNpb25zIGF2b2lkcyBzcHVyaW91cyBmYWlsdXJlcy4KKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh6bGliLlpMSUJfUlVOVElNRV9WRVJTSU9OWzBdLCB6bGliLlpMSUJfVkVSU0lPTlswXSkKIAogCiBjbGFzcyBDaGVja3N1bVRlc3RDYXNlKHVuaXR0ZXN0LlRlc3RDYXNlKToKQEAgLTE3MywxMCArMTc5LDggQEAKICAgICBkZWYgdGVzdF9iaWdfZGVjb21wcmVzc19idWZmZXIoc2VsZiwgc2l6ZSk6CiAgICAgICAgIHNlbGYuY2hlY2tfYmlnX2RlY29tcHJlc3NfYnVmZmVyKHNpemUsIHpsaWIuZGVjb21wcmVzcykKIAotICAgIEBiaWdtZW10ZXN0KHNpemU9XzRHICsgMTAwLCBtZW11c2U9MSkKKyAgICBAYmlnbWVtdGVzdChzaXplPV80RyArIDEwMCwgbWVtdXNlPTEsIGRyeV9ydW49RmFsc2UpCiAgICAgZGVmIHRlc3RfbGVuZ3RoX292ZXJmbG93KHNlbGYsIHNpemUpOgotICAgICAgICBpZiBzaXplIDwgXzRHICsgMTAwOgotICAgICAgICAgICAgc2VsZi5za2lwVGVzdCgibm90IGVub3VnaCBmcmVlIG1lbW9yeSwgbmVlZCBhdCBsZWFzdCA0IEdCIikKICAgICAgICAgZGF0YSA9IGIneCcgKiBzaXplCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE92ZXJmbG93RXJyb3IsIHpsaWIuY29tcHJlc3MsIGRhdGEsIDEpCkBAIC00MzQsNiArNDM4LDI2IEBACiAgICAgICAgIHkgKz0gZGNvLmZsdXNoKCkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh5LCBiJ2ZvbycpCiAKKyAgICBkZWYgdGVzdF9kZWNvbXByZXNzX2VvZihzZWxmKToKKyAgICAgICAgeCA9IGIneFx4OWNLXHhjYlx4Y2ZceDA3XHgwMFx4MDJceDgyXHgwMUUnICAjICdmb28nCisgICAgICAgIGRjbyA9IHpsaWIuZGVjb21wcmVzc29iaigpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoZGNvLmVvZikKKyAgICAgICAgZGNvLmRlY29tcHJlc3MoeFs6LTVdKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGRjby5lb2YpCisgICAgICAgIGRjby5kZWNvbXByZXNzKHhbLTU6XSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGRjby5lb2YpCisgICAgICAgIGRjby5mbHVzaCgpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShkY28uZW9mKQorCisgICAgZGVmIHRlc3RfZGVjb21wcmVzc19lb2ZfaW5jb21wbGV0ZV9zdHJlYW0oc2VsZik6CisgICAgICAgIHggPSBiJ3hceDljS1x4Y2JceGNmXHgwN1x4MDBceDAyXHg4Mlx4MDFFJyAgIyAnZm9vJworICAgICAgICBkY28gPSB6bGliLmRlY29tcHJlc3NvYmooKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGRjby5lb2YpCisgICAgICAgIGRjby5kZWNvbXByZXNzKHhbOi01XSkKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShkY28uZW9mKQorICAgICAgICBkY28uZmx1c2goKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGRjby5lb2YpCisKICAgICBpZiBoYXNhdHRyKHpsaWIuY29tcHJlc3NvYmooKSwgImNvcHkiKToKICAgICAgICAgZGVmIHRlc3RfY29tcHJlc3Njb3B5KHNlbGYpOgogICAgICAgICAgICAgIyBUZXN0IGNvcHlpbmcgYSBjb21wcmVzc2lvbiBvYmplY3QKQEAgLTUxMCwxMCArNTM0LDggQEAKICAgICAgICAgZGVjb21wcmVzcyA9IGxhbWJkYSBzOiBkLmRlY29tcHJlc3MocykgKyBkLmZsdXNoKCkKICAgICAgICAgc2VsZi5jaGVja19iaWdfZGVjb21wcmVzc19idWZmZXIoc2l6ZSwgZGVjb21wcmVzcykKIAotICAgIEBiaWdtZW10ZXN0KHNpemU9XzRHICsgMTAwLCBtZW11c2U9MSkKKyAgICBAYmlnbWVtdGVzdChzaXplPV80RyArIDEwMCwgbWVtdXNlPTEsIGRyeV9ydW49RmFsc2UpCiAgICAgZGVmIHRlc3RfbGVuZ3RoX292ZXJmbG93KHNlbGYsIHNpemUpOgotICAgICAgICBpZiBzaXplIDwgXzRHICsgMTAwOgotICAgICAgICAgICAgc2VsZi5za2lwVGVzdCgibm90IGVub3VnaCBmcmVlIG1lbW9yeSwgbmVlZCBhdCBsZWFzdCA0IEdCIikKICAgICAgICAgZGF0YSA9IGIneCcgKiBzaXplCiAgICAgICAgIGMgPSB6bGliLmNvbXByZXNzb2JqKDEpCiAgICAgICAgIGQgPSB6bGliLmRlY29tcHJlc3NvYmooKQpAQCAtNjE0LDYgKzYzNiw3IEBACiAKIGRlZiB0ZXN0X21haW4oKToKICAgICBzdXBwb3J0LnJ1bl91bml0dGVzdCgKKyAgICAgICAgVmVyc2lvblRlc3RDYXNlLAogICAgICAgICBDaGVja3N1bVRlc3RDYXNlLAogICAgICAgICBDaGVja3N1bUJpZ0J1ZmZlclRlc3RDYXNlLAogICAgICAgICBFeGNlcHRpb25UZXN0Q2FzZSwKZGlmZiAtLWdpdCBhL0xpYi90ZXN0L3RocmVhZGVkX2ltcG9ydF9oYW5nZXJzLnB5IGIvTGliL3Rlc3QvdGhyZWFkZWRfaW1wb3J0X2hhbmdlcnMucHkKaW5kZXggYWRmMDNlMy4uNTQ4NGU2MCAxMDA2NDQKLS0tIGEvTGliL3Rlc3QvdGhyZWFkZWRfaW1wb3J0X2hhbmdlcnMucHkKKysrIGIvTGliL3Rlc3QvdGhyZWFkZWRfaW1wb3J0X2hhbmdlcnMucHkKQEAgLTM1LDggKzM1LDExIEBACiAgICAgICAgICgib3MucGF0aC5hYnNwYXRoIiwgb3MucGF0aC5hYnNwYXRoLCAoJy4nLCkpLAogICAgICAgICBdOgogCi0gICAgdCA9IFdvcmtlcihmdW5jLCBhcmdzKQotICAgIHQuc3RhcnQoKQotICAgIHQuam9pbihUSU1FT1VUKQotICAgIGlmIHQuaXNfYWxpdmUoKToKLSAgICAgICAgZXJyb3JzLmFwcGVuZCgiJXMgYXBwZWFyZWQgdG8gaGFuZyIgJSBuYW1lKQorICAgIHRyeToKKyAgICAgICAgdCA9IFdvcmtlcihmdW5jLCBhcmdzKQorICAgICAgICB0LnN0YXJ0KCkKKyAgICAgICAgdC5qb2luKFRJTUVPVVQpCisgICAgICAgIGlmIHQuaXNfYWxpdmUoKToKKyAgICAgICAgICAgIGVycm9ycy5hcHBlbmQoIiVzIGFwcGVhcmVkIHRvIGhhbmciICUgbmFtZSkKKyAgICBmaW5hbGx5OgorICAgICAgICBkZWwgdApkaWZmIC0tZ2l0IGEvTGliL3Rlc3QvdG9rZW5pemVfdGVzdHMudHh0IGIvTGliL3Rlc3QvdG9rZW5pemVfdGVzdHMudHh0CmluZGV4IDA2YzgzYjAuLjJjNWZiMTAgMTAwNjQ0Ci0tLSBhL0xpYi90ZXN0L3Rva2VuaXplX3Rlc3RzLnR4dAorKysgYi9MaWIvdGVzdC90b2tlbml6ZV90ZXN0cy50eHQKQEAgLTExNCw4ICsxMTQsMTIgQEAKIHkgPSBiImFiYyIgKyBCIkFCQyIKIHggPSBicidhYmMnICsgQnInQUJDJyArIGJSJ0FCQycgKyBCUidBQkMnCiB5ID0gYnIiYWJjIiArIEJyIkFCQyIgKyBiUiJBQkMiICsgQlIiQUJDIgoreCA9IHJiJ2FiYycgKyByQidBQkMnICsgUmInQUJDJyArIFJCJ0FCQycKK3kgPSByYiJhYmMiICsgckIiQUJDIiArIFJiIkFCQyIgKyBSQiJBQkMiCiB4ID0gYnInXFwnICsgQlInXFwnCit4ID0gcmInXFwnICsgUkInXFwnCiB4ID0gYnInXCcnICsgJycKK3ggPSByYidcJycgKyAnJwogeSA9IGJyJycnCiBmb28gYmFyIFxcCiBiYXonJycgKyBCUicnJwpAQCAtMTI0LDYgKzEyOCwxMCBAQAogYmFyIFxcIGJhegogIiIiICsgYlInJydzcGFtCiAnJycKK3kgPSByQiIiImZvbworYmFyIFxcIGJhegorIiIiICsgUmInJydzcGFtCisnJycKIAogIyBJbmRlbnRhdGlvbgogaWYgMToKZGlmZiAtLWdpdCBhL0xpYi90ZXh0d3JhcC5weSBiL0xpYi90ZXh0d3JhcC5weQppbmRleCBkZmI0MDA1Li4wYWViYTNmIDEwMDY0NAotLS0gYS9MaWIvdGV4dHdyYXAucHkKKysrIGIvTGliL3RleHR3cmFwLnB5CkBAIC01LDcgKzUsNyBAQAogIyBDb3B5cmlnaHQgKEMpIDIwMDIsIDIwMDMgUHl0aG9uIFNvZnR3YXJlIEZvdW5kYXRpb24uCiAjIFdyaXR0ZW4gYnkgR3JlZyBXYXJkIDxnd2FyZEBweXRob24ubmV0PgogCi1pbXBvcnQgc3RyaW5nLCByZQoraW1wb3J0IHJlCiAKIF9fYWxsX18gPSBbJ1RleHRXcmFwcGVyJywgJ3dyYXAnLCAnZmlsbCcsICdkZWRlbnQnXQogCmRpZmYgLS1naXQgYS9MaWIvdGhyZWFkaW5nLnB5IGIvTGliL3RocmVhZGluZy5weQppbmRleCA2OWI3NzYzLi4xOTdkZWM0IDEwMDY0NAotLS0gYS9MaWIvdGhyZWFkaW5nLnB5CisrKyBiL0xpYi90aHJlYWRpbmcucHkKQEAgLTMsNyArMyw3IEBACiBpbXBvcnQgc3lzIGFzIF9zeXMKIGltcG9ydCBfdGhyZWFkCiAKLWZyb20gdGltZSBpbXBvcnQgdGltZSBhcyBfdGltZSwgc2xlZXAgYXMgX3NsZWVwCitmcm9tIHRpbWUgaW1wb3J0IHN0ZWFkeSBhcyBfdGltZSwgc2xlZXAgYXMgX3NsZWVwCiBmcm9tIHRyYWNlYmFjayBpbXBvcnQgZm9ybWF0X2V4YyBhcyBfZm9ybWF0X2V4YwogZnJvbSBfd2Vha3JlZnNldCBpbXBvcnQgV2Vha1NldAogCkBAIC0xOSwxMiArMTksMTIgQEAKIAogX19hbGxfXyA9IFsnYWN0aXZlX2NvdW50JywgJ0NvbmRpdGlvbicsICdjdXJyZW50X3RocmVhZCcsICdlbnVtZXJhdGUnLCAnRXZlbnQnLAogICAgICAgICAgICAnTG9jaycsICdSTG9jaycsICdTZW1hcGhvcmUnLCAnQm91bmRlZFNlbWFwaG9yZScsICdUaHJlYWQnLCAnQmFycmllcicsCi0gICAgICAgICAgICdUaW1lcicsICdzZXRwcm9maWxlJywgJ3NldHRyYWNlJywgJ2xvY2FsJywgJ3N0YWNrX3NpemUnXQorICAgICAgICAgICAnVGltZXInLCAnVGhyZWFkRXJyb3InLCAnc2V0cHJvZmlsZScsICdzZXR0cmFjZScsICdsb2NhbCcsICdzdGFja19zaXplJ10KIAogIyBSZW5hbWUgc29tZSBzdHVmZiBzbyAiZnJvbSB0aHJlYWRpbmcgaW1wb3J0ICoiIGlzIHNhZmUKIF9zdGFydF9uZXdfdGhyZWFkID0gX3RocmVhZC5zdGFydF9uZXdfdGhyZWFkCiBfYWxsb2NhdGVfbG9jayA9IF90aHJlYWQuYWxsb2NhdGVfbG9jawotX2dldF9pZGVudCA9IF90aHJlYWQuZ2V0X2lkZW50CitnZXRfaWRlbnQgPSBfdGhyZWFkLmdldF9pZGVudAogVGhyZWFkRXJyb3IgPSBfdGhyZWFkLmVycm9yCiB0cnk6CiAgICAgX0NSTG9jayA9IF90aHJlYWQuUkxvY2sKQEAgLTM0LDQwICszNCw2IEBACiBkZWwgX3RocmVhZAogCiAKLSMgRGVidWcgc3VwcG9ydCAoYWRhcHRlZCBmcm9tIGlob29rcy5weSkuCi0KLV9WRVJCT1NFID0gRmFsc2UKLQotaWYgX19kZWJ1Z19fOgotCi0gICAgY2xhc3MgX1ZlcmJvc2Uob2JqZWN0KToKLQotICAgICAgICBkZWYgX19pbml0X18oc2VsZiwgdmVyYm9zZT1Ob25lKToKLSAgICAgICAgICAgIGlmIHZlcmJvc2UgaXMgTm9uZToKLSAgICAgICAgICAgICAgICB2ZXJib3NlID0gX1ZFUkJPU0UKLSAgICAgICAgICAgIHNlbGYuX3ZlcmJvc2UgPSB2ZXJib3NlCi0KLSAgICAgICAgZGVmIF9ub3RlKHNlbGYsIGZvcm1hdCwgKmFyZ3MpOgotICAgICAgICAgICAgaWYgc2VsZi5fdmVyYm9zZToKLSAgICAgICAgICAgICAgICBmb3JtYXQgPSBmb3JtYXQgJSBhcmdzCi0gICAgICAgICAgICAgICAgIyBJc3N1ZSAjNDE4ODogY2FsbGluZyBjdXJyZW50X3RocmVhZCgpIGNhbiBpbmN1ciBhbiBpbmZpbml0ZQotICAgICAgICAgICAgICAgICMgcmVjdXJzaW9uIGlmIGl0IGhhcyB0byBjcmVhdGUgYSBEdW1teVRocmVhZCBvbiB0aGUgZmx5LgotICAgICAgICAgICAgICAgIGlkZW50ID0gX2dldF9pZGVudCgpCi0gICAgICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgICAgICBuYW1lID0gX2FjdGl2ZVtpZGVudF0ubmFtZQotICAgICAgICAgICAgICAgIGV4Y2VwdCBLZXlFcnJvcjoKLSAgICAgICAgICAgICAgICAgICAgbmFtZSA9ICI8T1MgdGhyZWFkICVkPiIgJSBpZGVudAotICAgICAgICAgICAgICAgIGZvcm1hdCA9ICIlczogJXNcbiIgJSAobmFtZSwgZm9ybWF0KQotICAgICAgICAgICAgICAgIF9zeXMuc3RkZXJyLndyaXRlKGZvcm1hdCkKLQotZWxzZToKLSAgICAjIERpc2FibGUgdGhpcyB3aGVuIHVzaW5nICJweXRob24gLU8iCi0gICAgY2xhc3MgX1ZlcmJvc2Uob2JqZWN0KToKLSAgICAgICAgZGVmIF9faW5pdF9fKHNlbGYsIHZlcmJvc2U9Tm9uZSk6Ci0gICAgICAgICAgICBwYXNzCi0gICAgICAgIGRlZiBfbm90ZShzZWxmLCAqYXJncyk6Ci0gICAgICAgICAgICBwYXNzCi0KICMgU3VwcG9ydCBmb3IgcHJvZmlsZSBhbmQgdHJhY2UgaG9va3MKIAogX3Byb2ZpbGVfaG9vayA9IE5vbmUKQEAgLTg1LDE3ICs1MSwxNCBAQAogCiBMb2NrID0gX2FsbG9jYXRlX2xvY2sKIAotZGVmIFJMb2NrKHZlcmJvc2U9Tm9uZSwgKmFyZ3MsICoqa3dhcmdzKToKLSAgICBpZiB2ZXJib3NlIGlzIE5vbmU6Ci0gICAgICAgIHZlcmJvc2UgPSBfVkVSQk9TRQotICAgIGlmIChfX2RlYnVnX18gYW5kIHZlcmJvc2UpIG9yIF9DUkxvY2sgaXMgTm9uZToKLSAgICAgICAgcmV0dXJuIF9QeVJMb2NrKHZlcmJvc2UsICphcmdzLCAqKmt3YXJncykKK2RlZiBSTG9jaygqYXJncywgKiprd2FyZ3MpOgorICAgIGlmIF9DUkxvY2sgaXMgTm9uZToKKyAgICAgICAgcmV0dXJuIF9QeVJMb2NrKCphcmdzLCAqKmt3YXJncykKICAgICByZXR1cm4gX0NSTG9jaygqYXJncywgKiprd2FyZ3MpCiAKLWNsYXNzIF9STG9jayhfVmVyYm9zZSk6CitjbGFzcyBfUkxvY2s6CiAKLSAgICBkZWYgX19pbml0X18oc2VsZiwgdmVyYm9zZT1Ob25lKToKLSAgICAgICAgX1ZlcmJvc2UuX19pbml0X18oc2VsZiwgdmVyYm9zZSkKKyAgICBkZWYgX19pbml0X18oc2VsZik6CiAgICAgICAgIHNlbGYuX2Jsb2NrID0gX2FsbG9jYXRlX2xvY2soKQogICAgICAgICBzZWxmLl9vd25lciA9IE5vbmUKICAgICAgICAgc2VsZi5fY291bnQgPSAwCkBAIC0xMTAsMzcgKzczLDI1IEBACiAgICAgICAgICAgICAgICAgc2VsZi5fX2NsYXNzX18uX19uYW1lX18sIG93bmVyLCBzZWxmLl9jb3VudCkKIAogICAgIGRlZiBhY3F1aXJlKHNlbGYsIGJsb2NraW5nPVRydWUsIHRpbWVvdXQ9LTEpOgotICAgICAgICBtZSA9IF9nZXRfaWRlbnQoKQorICAgICAgICBtZSA9IGdldF9pZGVudCgpCiAgICAgICAgIGlmIHNlbGYuX293bmVyID09IG1lOgogICAgICAgICAgICAgc2VsZi5fY291bnQgPSBzZWxmLl9jb3VudCArIDEKLSAgICAgICAgICAgIGlmIF9fZGVidWdfXzoKLSAgICAgICAgICAgICAgICBzZWxmLl9ub3RlKCIlcy5hY3F1aXJlKCVzKTogcmVjdXJzaXZlIHN1Y2Nlc3MiLCBzZWxmLCBibG9ja2luZykKICAgICAgICAgICAgIHJldHVybiAxCiAgICAgICAgIHJjID0gc2VsZi5fYmxvY2suYWNxdWlyZShibG9ja2luZywgdGltZW91dCkKICAgICAgICAgaWYgcmM6CiAgICAgICAgICAgICBzZWxmLl9vd25lciA9IG1lCiAgICAgICAgICAgICBzZWxmLl9jb3VudCA9IDEKLSAgICAgICAgICAgIGlmIF9fZGVidWdfXzoKLSAgICAgICAgICAgICAgICBzZWxmLl9ub3RlKCIlcy5hY3F1aXJlKCVzKTogaW5pdGlhbCBzdWNjZXNzIiwgc2VsZiwgYmxvY2tpbmcpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBpZiBfX2RlYnVnX186Ci0gICAgICAgICAgICAgICAgc2VsZi5fbm90ZSgiJXMuYWNxdWlyZSglcyk6IGZhaWx1cmUiLCBzZWxmLCBibG9ja2luZykKICAgICAgICAgcmV0dXJuIHJjCiAKICAgICBfX2VudGVyX18gPSBhY3F1aXJlCiAKICAgICBkZWYgcmVsZWFzZShzZWxmKToKLSAgICAgICAgaWYgc2VsZi5fb3duZXIgIT0gX2dldF9pZGVudCgpOgorICAgICAgICBpZiBzZWxmLl9vd25lciAhPSBnZXRfaWRlbnQoKToKICAgICAgICAgICAgIHJhaXNlIFJ1bnRpbWVFcnJvcigiY2Fubm90IHJlbGVhc2UgdW4tYWNxdWlyZWQgbG9jayIpCiAgICAgICAgIHNlbGYuX2NvdW50ID0gY291bnQgPSBzZWxmLl9jb3VudCAtIDEKICAgICAgICAgaWYgbm90IGNvdW50OgogICAgICAgICAgICAgc2VsZi5fb3duZXIgPSBOb25lCiAgICAgICAgICAgICBzZWxmLl9ibG9jay5yZWxlYXNlKCkKLSAgICAgICAgICAgIGlmIF9fZGVidWdfXzoKLSAgICAgICAgICAgICAgICBzZWxmLl9ub3RlKCIlcy5yZWxlYXNlKCk6IGZpbmFsIHJlbGVhc2UiLCBzZWxmKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgaWYgX19kZWJ1Z19fOgotICAgICAgICAgICAgICAgIHNlbGYuX25vdGUoIiVzLnJlbGVhc2UoKTogbm9uLWZpbmFsIHJlbGVhc2UiLCBzZWxmKQogCiAgICAgZGVmIF9fZXhpdF9fKHNlbGYsIHQsIHYsIHRiKToKICAgICAgICAgc2VsZi5yZWxlYXNlKCkKQEAgLTE1MCwxMiArMTAxLDEwIEBACiAgICAgZGVmIF9hY3F1aXJlX3Jlc3RvcmUoc2VsZiwgc3RhdGUpOgogICAgICAgICBzZWxmLl9ibG9jay5hY3F1aXJlKCkKICAgICAgICAgc2VsZi5fY291bnQsIHNlbGYuX293bmVyID0gc3RhdGUKLSAgICAgICAgaWYgX19kZWJ1Z19fOgotICAgICAgICAgICAgc2VsZi5fbm90ZSgiJXMuX2FjcXVpcmVfcmVzdG9yZSgpIiwgc2VsZikKIAogICAgIGRlZiBfcmVsZWFzZV9zYXZlKHNlbGYpOgotICAgICAgICBpZiBfX2RlYnVnX186Ci0gICAgICAgICAgICBzZWxmLl9ub3RlKCIlcy5fcmVsZWFzZV9zYXZlKCkiLCBzZWxmKQorICAgICAgICBpZiBzZWxmLl9jb3VudCA9PSAwOgorICAgICAgICAgICAgcmFpc2UgUnVudGltZUVycm9yKCJjYW5ub3QgcmVsZWFzZSB1bi1hY3F1aXJlZCBsb2NrIikKICAgICAgICAgY291bnQgPSBzZWxmLl9jb3VudAogICAgICAgICBzZWxmLl9jb3VudCA9IDAKICAgICAgICAgb3duZXIgPSBzZWxmLl9vd25lcgpAQCAtMTY0LDE4ICsxMTMsMTQgQEAKICAgICAgICAgcmV0dXJuIChjb3VudCwgb3duZXIpCiAKICAgICBkZWYgX2lzX293bmVkKHNlbGYpOgotICAgICAgICByZXR1cm4gc2VsZi5fb3duZXIgPT0gX2dldF9pZGVudCgpCisgICAgICAgIHJldHVybiBzZWxmLl9vd25lciA9PSBnZXRfaWRlbnQoKQogCiBfUHlSTG9jayA9IF9STG9jawogCiAKLWRlZiBDb25kaXRpb24oKmFyZ3MsICoqa3dhcmdzKToKLSAgICByZXR1cm4gX0NvbmRpdGlvbigqYXJncywgKiprd2FyZ3MpCitjbGFzcyBDb25kaXRpb246CiAKLWNsYXNzIF9Db25kaXRpb24oX1ZlcmJvc2UpOgotCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIGxvY2s9Tm9uZSwgdmVyYm9zZT1Ob25lKToKLSAgICAgICAgX1ZlcmJvc2UuX19pbml0X18oc2VsZiwgdmVyYm9zZSkKKyAgICBkZWYgX19pbml0X18oc2VsZiwgbG9jaz1Ob25lKToKICAgICAgICAgaWYgbG9jayBpcyBOb25lOgogICAgICAgICAgICAgbG9jayA9IFJMb2NrKCkKICAgICAgICAgc2VsZi5fbG9jayA9IGxvY2sKQEAgLTIzNCwyMyArMTc5LDE2IEBACiAgICAgICAgICAgICBpZiB0aW1lb3V0IGlzIE5vbmU6CiAgICAgICAgICAgICAgICAgd2FpdGVyLmFjcXVpcmUoKQogICAgICAgICAgICAgICAgIGdvdGl0ID0gVHJ1ZQotICAgICAgICAgICAgICAgIGlmIF9fZGVidWdfXzoKLSAgICAgICAgICAgICAgICAgICAgc2VsZi5fbm90ZSgiJXMud2FpdCgpOiBnb3QgaXQiLCBzZWxmKQogICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICBpZiB0aW1lb3V0ID4gMDoKICAgICAgICAgICAgICAgICAgICAgZ290aXQgPSB3YWl0ZXIuYWNxdWlyZShUcnVlLCB0aW1lb3V0KQogICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgIGdvdGl0ID0gd2FpdGVyLmFjcXVpcmUoRmFsc2UpCiAgICAgICAgICAgICAgICAgaWYgbm90IGdvdGl0OgotICAgICAgICAgICAgICAgICAgICBpZiBfX2RlYnVnX186Ci0gICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9ub3RlKCIlcy53YWl0KCVzKTogdGltZWQgb3V0Iiwgc2VsZiwgdGltZW91dCkKICAgICAgICAgICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fd2FpdGVycy5yZW1vdmUod2FpdGVyKQogICAgICAgICAgICAgICAgICAgICBleGNlcHQgVmFsdWVFcnJvcjoKICAgICAgICAgICAgICAgICAgICAgICAgIHBhc3MKLSAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICBpZiBfX2RlYnVnX186Ci0gICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9ub3RlKCIlcy53YWl0KCVzKTogZ290IGl0Iiwgc2VsZiwgdGltZW91dCkKICAgICAgICAgICAgIHJldHVybiBnb3RpdAogICAgICAgICBmaW5hbGx5OgogICAgICAgICAgICAgc2VsZi5fYWNxdWlyZV9yZXN0b3JlKHNhdmVkX3N0YXRlKQpAQCAtMjY2LDE5ICsyMDQsOSBAQAogICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgIHdhaXR0aW1lID0gZW5kdGltZSAtIF90aW1lKCkKICAgICAgICAgICAgICAgICAgICAgaWYgd2FpdHRpbWUgPD0gMDoKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIF9fZGVidWdfXzoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9ub3RlKCIlcy53YWl0X2ZvciglciwgJXIpOiBUaW1lZCBvdXQuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYsIHByZWRpY2F0ZSwgdGltZW91dCkKICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrCi0gICAgICAgICAgICBpZiBfX2RlYnVnX186Ci0gICAgICAgICAgICAgICAgc2VsZi5fbm90ZSgiJXMud2FpdF9mb3IoJXIsICVyKTogV2FpdGluZyB3aXRoIHRpbWVvdXQ9JXMuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYsIHByZWRpY2F0ZSwgdGltZW91dCwgd2FpdHRpbWUpCiAgICAgICAgICAgICBzZWxmLndhaXQod2FpdHRpbWUpCiAgICAgICAgICAgICByZXN1bHQgPSBwcmVkaWNhdGUoKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgaWYgX19kZWJ1Z19fOgotICAgICAgICAgICAgICAgIHNlbGYuX25vdGUoIiVzLndhaXRfZm9yKCVyLCAlcik6IFN1Y2Nlc3MuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYsIHByZWRpY2F0ZSwgdGltZW91dCkKICAgICAgICAgcmV0dXJuIHJlc3VsdAogCiAgICAgZGVmIG5vdGlmeShzZWxmLCBuPTEpOgpAQCAtMjg3LDExICsyMTUsNyBAQAogICAgICAgICBfX3dhaXRlcnMgPSBzZWxmLl93YWl0ZXJzCiAgICAgICAgIHdhaXRlcnMgPSBfX3dhaXRlcnNbOm5dCiAgICAgICAgIGlmIG5vdCB3YWl0ZXJzOgotICAgICAgICAgICAgaWYgX19kZWJ1Z19fOgotICAgICAgICAgICAgICAgIHNlbGYuX25vdGUoIiVzLm5vdGlmeSgpOiBubyB3YWl0ZXJzIiwgc2VsZikKICAgICAgICAgICAgIHJldHVybgotICAgICAgICBzZWxmLl9ub3RlKCIlcy5ub3RpZnkoKTogbm90aWZ5aW5nICVkIHdhaXRlciVzIiwgc2VsZiwgbiwKLSAgICAgICAgICAgICAgICAgICBuIT0xIGFuZCAicyIgb3IgIiIpCiAgICAgICAgIGZvciB3YWl0ZXIgaW4gd2FpdGVyczoKICAgICAgICAgICAgIHdhaXRlci5yZWxlYXNlKCkKICAgICAgICAgICAgIHRyeToKQEAgLTMwNSwxNyArMjI5LDEzIEBACiAgICAgbm90aWZ5QWxsID0gbm90aWZ5X2FsbAogCiAKLWRlZiBTZW1hcGhvcmUoKmFyZ3MsICoqa3dhcmdzKToKLSAgICByZXR1cm4gX1NlbWFwaG9yZSgqYXJncywgKiprd2FyZ3MpCi0KLWNsYXNzIF9TZW1hcGhvcmUoX1ZlcmJvc2UpOgorY2xhc3MgU2VtYXBob3JlOgogCiAgICAgIyBBZnRlciBUaW0gUGV0ZXJzJyBzZW1hcGhvcmUgY2xhc3MsIGJ1dCBub3QgcXVpdGUgdGhlIHNhbWUgKG5vIG1heGltdW0pCiAKLSAgICBkZWYgX19pbml0X18oc2VsZiwgdmFsdWU9MSwgdmVyYm9zZT1Ob25lKToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgdmFsdWU9MSk6CiAgICAgICAgIGlmIHZhbHVlIDwgMDoKICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoInNlbWFwaG9yZSBpbml0aWFsIHZhbHVlIG11c3QgYmUgPj0gMCIpCi0gICAgICAgIF9WZXJib3NlLl9faW5pdF9fKHNlbGYsIHZlcmJvc2UpCiAgICAgICAgIHNlbGYuX2NvbmQgPSBDb25kaXRpb24oTG9jaygpKQogICAgICAgICBzZWxmLl92YWx1ZSA9IHZhbHVlCiAKQEAgLTMyOCw5ICsyNDgsNiBAQAogICAgICAgICB3aGlsZSBzZWxmLl92YWx1ZSA9PSAwOgogICAgICAgICAgICAgaWYgbm90IGJsb2NraW5nOgogICAgICAgICAgICAgICAgIGJyZWFrCi0gICAgICAgICAgICBpZiBfX2RlYnVnX186Ci0gICAgICAgICAgICAgICAgc2VsZi5fbm90ZSgiJXMuYWNxdWlyZSglcyk6IGJsb2NrZWQgd2FpdGluZywgdmFsdWU9JXMiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZiwgYmxvY2tpbmcsIHNlbGYuX3ZhbHVlKQogICAgICAgICAgICAgaWYgdGltZW91dCBpcyBub3QgTm9uZToKICAgICAgICAgICAgICAgICBpZiBlbmR0aW1lIGlzIE5vbmU6CiAgICAgICAgICAgICAgICAgICAgIGVuZHRpbWUgPSBfdGltZSgpICsgdGltZW91dApAQCAtMzQxLDkgKzI1OCw2IEBACiAgICAgICAgICAgICBzZWxmLl9jb25kLndhaXQodGltZW91dCkKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHNlbGYuX3ZhbHVlID0gc2VsZi5fdmFsdWUgLSAxCi0gICAgICAgICAgICBpZiBfX2RlYnVnX186Ci0gICAgICAgICAgICAgICAgc2VsZi5fbm90ZSgiJXMuYWNxdWlyZTogc3VjY2VzcywgdmFsdWU9JXMiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZiwgc2VsZi5fdmFsdWUpCiAgICAgICAgICAgICByYyA9IFRydWUKICAgICAgICAgc2VsZi5fY29uZC5yZWxlYXNlKCkKICAgICAgICAgcmV0dXJuIHJjCkBAIC0zNTMsOSArMjY3LDYgQEAKICAgICBkZWYgcmVsZWFzZShzZWxmKToKICAgICAgICAgc2VsZi5fY29uZC5hY3F1aXJlKCkKICAgICAgICAgc2VsZi5fdmFsdWUgPSBzZWxmLl92YWx1ZSArIDEKLSAgICAgICAgaWYgX19kZWJ1Z19fOgotICAgICAgICAgICAgc2VsZi5fbm90ZSgiJXMucmVsZWFzZTogc3VjY2VzcywgdmFsdWU9JXMiLAotICAgICAgICAgICAgICAgICAgICAgICBzZWxmLCBzZWxmLl92YWx1ZSkKICAgICAgICAgc2VsZi5fY29uZC5ub3RpZnkoKQogICAgICAgICBzZWxmLl9jb25kLnJlbGVhc2UoKQogCkBAIC0zNjMsMzAgKzI3NCwyMyBAQAogICAgICAgICBzZWxmLnJlbGVhc2UoKQogCiAKLWRlZiBCb3VuZGVkU2VtYXBob3JlKCphcmdzLCAqKmt3YXJncyk6Ci0gICAgcmV0dXJuIF9Cb3VuZGVkU2VtYXBob3JlKCphcmdzLCAqKmt3YXJncykKLQotY2xhc3MgX0JvdW5kZWRTZW1hcGhvcmUoX1NlbWFwaG9yZSk6CitjbGFzcyBCb3VuZGVkU2VtYXBob3JlKFNlbWFwaG9yZSk6CiAgICAgIiIiU2VtYXBob3JlIHRoYXQgY2hlY2tzIHRoYXQgIyByZWxlYXNlcyBpcyA8PSAjIGFjcXVpcmVzIiIiCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIHZhbHVlPTEsIHZlcmJvc2U9Tm9uZSk6Ci0gICAgICAgIF9TZW1hcGhvcmUuX19pbml0X18oc2VsZiwgdmFsdWUsIHZlcmJvc2UpCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHZhbHVlPTEpOgorICAgICAgICBTZW1hcGhvcmUuX19pbml0X18oc2VsZiwgdmFsdWUpCiAgICAgICAgIHNlbGYuX2luaXRpYWxfdmFsdWUgPSB2YWx1ZQogCiAgICAgZGVmIHJlbGVhc2Uoc2VsZik6CiAgICAgICAgIGlmIHNlbGYuX3ZhbHVlID49IHNlbGYuX2luaXRpYWxfdmFsdWU6CiAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJTZW1hcGhvcmUgcmVsZWFzZWQgdG9vIG1hbnkgdGltZXMiKQotICAgICAgICByZXR1cm4gX1NlbWFwaG9yZS5yZWxlYXNlKHNlbGYpCisgICAgICAgIHJldHVybiBTZW1hcGhvcmUucmVsZWFzZShzZWxmKQogCiAKLWRlZiBFdmVudCgqYXJncywgKiprd2FyZ3MpOgotICAgIHJldHVybiBfRXZlbnQoKmFyZ3MsICoqa3dhcmdzKQotCi1jbGFzcyBfRXZlbnQoX1ZlcmJvc2UpOgorY2xhc3MgRXZlbnQ6CiAKICAgICAjIEFmdGVyIFRpbSBQZXRlcnMnIGV2ZW50IGNsYXNzICh3aXRob3V0IGlzX3Bvc3RlZCgpKQogCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIHZlcmJvc2U9Tm9uZSk6Ci0gICAgICAgIF9WZXJib3NlLl9faW5pdF9fKHNlbGYsIHZlcmJvc2UpCisgICAgZGVmIF9faW5pdF9fKHNlbGYpOgogICAgICAgICBzZWxmLl9jb25kID0gQ29uZGl0aW9uKExvY2soKSkKICAgICAgICAgc2VsZi5fZmxhZyA9IEZhbHNlCiAKQEAgLTQzNiwxMyArMzQwLDEzIEBACiAjIHNpbmNlIHRoZSBwcmV2aW91cyBjeWNsZS4gIEluIGFkZGl0aW9uLCBhICdyZXNldHRpbmcnIHN0YXRlIGV4aXN0cyB3aGljaCBpcwogIyBzaW1pbGFyIHRvICdkcmFpbmluZycgZXhjZXB0IHRoYXQgdGhyZWFkcyBsZWF2ZSB3aXRoIGEgQnJva2VuQmFycmllckVycm9yLAogIyBhbmQgYSAnYnJva2VuJyBzdGF0ZSBpbiB3aGljaCBhbGwgdGhyZWFkcyBnZXQgdGhlIGV4Y2VwdGlvbi4KLWNsYXNzIEJhcnJpZXIoX1ZlcmJvc2UpOgorY2xhc3MgQmFycmllcjoKICAgICAiIiIKICAgICBCYXJyaWVyLiAgVXNlZnVsIGZvciBzeW5jaHJvbml6aW5nIGEgZml4ZWQgbnVtYmVyIG9mIHRocmVhZHMKICAgICBhdCBrbm93biBzeW5jaHJvbml6YXRpb24gcG9pbnRzLiAgVGhyZWFkcyBibG9jayBvbiAnd2FpdCgpJyBhbmQgYXJlCiAgICAgc2ltdWx0YW5lb3VzbHkgb25jZSB0aGV5IGhhdmUgYWxsIG1hZGUgdGhhdCBjYWxsLgogICAgICIiIgotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwYXJ0aWVzLCBhY3Rpb249Tm9uZSwgdGltZW91dD1Ob25lLCB2ZXJib3NlPU5vbmUpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwYXJ0aWVzLCBhY3Rpb249Tm9uZSwgdGltZW91dD1Ob25lKToKICAgICAgICAgIiIiCiAgICAgICAgIENyZWF0ZSBhIGJhcnJpZXIsIGluaXRpYWxpc2VkIHRvICdwYXJ0aWVzJyB0aHJlYWRzLgogICAgICAgICAnYWN0aW9uJyBpcyBhIGNhbGxhYmxlIHdoaWNoLCB3aGVuIHN1cHBsaWVkLCB3aWxsIGJlIGNhbGxlZApAQCAtNDUxLDcgKzM1NSw2IEBACiAgICAgICAgIElmIGEgJ3RpbWVvdXQnIGlzIHByb3ZpZGVkLCBpdCBpcyB1c2VzIGFzIHRoZSBkZWZhdWx0IGZvcgogICAgICAgICBhbGwgc3Vic2VxdWVudCAnd2FpdCgpJyBjYWxscy4KICAgICAgICAgIiIiCi0gICAgICAgIF9WZXJib3NlLl9faW5pdF9fKHNlbGYsIHZlcmJvc2UpCiAgICAgICAgIHNlbGYuX2NvbmQgPSBDb25kaXRpb24oTG9jaygpKQogICAgICAgICBzZWxmLl9hY3Rpb24gPSBhY3Rpb24KICAgICAgICAgc2VsZi5fdGltZW91dCA9IHRpbWVvdXQKQEAgLTYxMiw3ICs1MTUsNyBAQAogCiAjIE1haW4gY2xhc3MgZm9yIHRocmVhZHMKIAotY2xhc3MgVGhyZWFkKF9WZXJib3NlKToKK2NsYXNzIFRocmVhZDoKIAogICAgIF9faW5pdGlhbGl6ZWQgPSBGYWxzZQogICAgICMgTmVlZCB0byBzdG9yZSBhIHJlZmVyZW5jZSB0byBzeXMuZXhjX2luZm8gZm9yIHByaW50aW5nCkBAIC02MjUsMTYgKzUyOCwxOCBAQAogICAgICNYWFggX19leGNfY2xlYXIgPSBfc3lzLmV4Y19jbGVhcgogCiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIGdyb3VwPU5vbmUsIHRhcmdldD1Ob25lLCBuYW1lPU5vbmUsCi0gICAgICAgICAgICAgICAgIGFyZ3M9KCksIGt3YXJncz1Ob25lLCB2ZXJib3NlPU5vbmUpOgorICAgICAgICAgICAgICAgICBhcmdzPSgpLCBrd2FyZ3M9Tm9uZSwgKiwgZGFlbW9uPU5vbmUpOgogICAgICAgICBhc3NlcnQgZ3JvdXAgaXMgTm9uZSwgImdyb3VwIGFyZ3VtZW50IG11c3QgYmUgTm9uZSBmb3Igbm93IgotICAgICAgICBfVmVyYm9zZS5fX2luaXRfXyhzZWxmLCB2ZXJib3NlKQogICAgICAgICBpZiBrd2FyZ3MgaXMgTm9uZToKICAgICAgICAgICAgIGt3YXJncyA9IHt9CiAgICAgICAgIHNlbGYuX3RhcmdldCA9IHRhcmdldAogICAgICAgICBzZWxmLl9uYW1lID0gc3RyKG5hbWUgb3IgX25ld25hbWUoKSkKICAgICAgICAgc2VsZi5fYXJncyA9IGFyZ3MKICAgICAgICAgc2VsZi5fa3dhcmdzID0ga3dhcmdzCi0gICAgICAgIHNlbGYuX2RhZW1vbmljID0gc2VsZi5fc2V0X2RhZW1vbigpCisgICAgICAgIGlmIGRhZW1vbiBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIHNlbGYuX2RhZW1vbmljID0gZGFlbW9uCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzZWxmLl9kYWVtb25pYyA9IGN1cnJlbnRfdGhyZWFkKCkuZGFlbW9uCiAgICAgICAgIHNlbGYuX2lkZW50ID0gTm9uZQogICAgICAgICBzZWxmLl9zdGFydGVkID0gRXZlbnQoKQogICAgICAgICBzZWxmLl9zdG9wcGVkID0gRmFsc2UKQEAgLTY1MiwxMCArNTU3LDYgQEAKICAgICAgICAgICAgIHNlbGYuX2Jsb2NrLl9faW5pdF9fKCkKICAgICAgICAgc2VsZi5fc3RhcnRlZC5fcmVzZXRfaW50ZXJuYWxfbG9ja3MoKQogCi0gICAgZGVmIF9zZXRfZGFlbW9uKHNlbGYpOgotICAgICAgICAjIE92ZXJyaWRkZW4gaW4gX01haW5UaHJlYWQgYW5kIF9EdW1teVRocmVhZAotICAgICAgICByZXR1cm4gY3VycmVudF90aHJlYWQoKS5kYWVtb24KLQogICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKICAgICAgICAgYXNzZXJ0IHNlbGYuX2luaXRpYWxpemVkLCAiVGhyZWFkLl9faW5pdF9fKCkgd2FzIG5vdCBjYWxsZWQiCiAgICAgICAgIHN0YXR1cyA9ICJpbml0aWFsIgpAQCAtNjc1LDggKzU3Niw2IEBACiAKICAgICAgICAgaWYgc2VsZi5fc3RhcnRlZC5pc19zZXQoKToKICAgICAgICAgICAgIHJhaXNlIFJ1bnRpbWVFcnJvcigidGhyZWFkcyBjYW4gb25seSBiZSBzdGFydGVkIG9uY2UiKQotICAgICAgICBpZiBfX2RlYnVnX186Ci0gICAgICAgICAgICBzZWxmLl9ub3RlKCIlcy5zdGFydCgpOiBzdGFydGluZyB0aHJlYWQiLCBzZWxmKQogICAgICAgICB3aXRoIF9hY3RpdmVfbGltYm9fbG9jazoKICAgICAgICAgICAgIF9saW1ib1tzZWxmXSA9IHNlbGYKICAgICAgICAgdHJ5OgpAQCAtNzE3LDcgKzYxNiw3IEBACiAgICAgICAgICAgICByYWlzZQogCiAgICAgZGVmIF9zZXRfaWRlbnQoc2VsZik6Ci0gICAgICAgIHNlbGYuX2lkZW50ID0gX2dldF9pZGVudCgpCisgICAgICAgIHNlbGYuX2lkZW50ID0gZ2V0X2lkZW50KCkKIAogICAgIGRlZiBfYm9vdHN0cmFwX2lubmVyKHNlbGYpOgogICAgICAgICB0cnk6CkBAIC03MjYsMjQgKzYyNSwxNyBAQAogICAgICAgICAgICAgd2l0aCBfYWN0aXZlX2xpbWJvX2xvY2s6CiAgICAgICAgICAgICAgICAgX2FjdGl2ZVtzZWxmLl9pZGVudF0gPSBzZWxmCiAgICAgICAgICAgICAgICAgZGVsIF9saW1ib1tzZWxmXQotICAgICAgICAgICAgaWYgX19kZWJ1Z19fOgotICAgICAgICAgICAgICAgIHNlbGYuX25vdGUoIiVzLl9ib290c3RyYXAoKTogdGhyZWFkIHN0YXJ0ZWQiLCBzZWxmKQogCiAgICAgICAgICAgICBpZiBfdHJhY2VfaG9vazoKLSAgICAgICAgICAgICAgICBzZWxmLl9ub3RlKCIlcy5fYm9vdHN0cmFwKCk6IHJlZ2lzdGVyaW5nIHRyYWNlIGhvb2siLCBzZWxmKQogICAgICAgICAgICAgICAgIF9zeXMuc2V0dHJhY2UoX3RyYWNlX2hvb2spCiAgICAgICAgICAgICBpZiBfcHJvZmlsZV9ob29rOgotICAgICAgICAgICAgICAgIHNlbGYuX25vdGUoIiVzLl9ib290c3RyYXAoKTogcmVnaXN0ZXJpbmcgcHJvZmlsZSBob29rIiwgc2VsZikKICAgICAgICAgICAgICAgICBfc3lzLnNldHByb2ZpbGUoX3Byb2ZpbGVfaG9vaykKIAogICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgIHNlbGYucnVuKCkKICAgICAgICAgICAgIGV4Y2VwdCBTeXN0ZW1FeGl0OgotICAgICAgICAgICAgICAgIGlmIF9fZGVidWdfXzoKLSAgICAgICAgICAgICAgICAgICAgc2VsZi5fbm90ZSgiJXMuX2Jvb3RzdHJhcCgpOiByYWlzZWQgU3lzdGVtRXhpdCIsIHNlbGYpCisgICAgICAgICAgICAgICAgcGFzcwogICAgICAgICAgICAgZXhjZXB0OgotICAgICAgICAgICAgICAgIGlmIF9fZGVidWdfXzoKLSAgICAgICAgICAgICAgICAgICAgc2VsZi5fbm90ZSgiJXMuX2Jvb3RzdHJhcCgpOiB1bmhhbmRsZWQgZXhjZXB0aW9uIiwgc2VsZikKICAgICAgICAgICAgICAgICAjIElmIHN5cy5zdGRlcnIgaXMgbm8gbW9yZSAobW9zdCBsaWtlbHkgZnJvbSBpbnRlcnByZXRlcgogICAgICAgICAgICAgICAgICMgc2h1dGRvd24pIHVzZSBzZWxmLl9zdGRlcnIuICBPdGhlcndpc2Ugc3RpbGwgdXNlIHN5cyAoYXMgaW4KICAgICAgICAgICAgICAgICAjIF9zeXMpIGluIGNhc2Ugc3lzLnN0ZGVyciB3YXMgcmVkZWZpbmVkIHNpbmNlIHRoZSBjcmVhdGlvbiBvZgpAQCAtNzc0LDkgKzY2Niw2IEBACiAgICAgICAgICAgICAgICAgICAgICMgaG9nOyBkZWxldGluZyBldmVyeXRoaW5nIGVsc2UgaXMganVzdCBmb3IgdGhvcm91Z2huZXNzCiAgICAgICAgICAgICAgICAgICAgIGZpbmFsbHk6CiAgICAgICAgICAgICAgICAgICAgICAgICBkZWwgZXhjX3R5cGUsIGV4Y192YWx1ZSwgZXhjX3RiCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIGlmIF9fZGVidWdfXzoKLSAgICAgICAgICAgICAgICAgICAgc2VsZi5fbm90ZSgiJXMuX2Jvb3RzdHJhcCgpOiBub3JtYWwgcmV0dXJuIiwgc2VsZikKICAgICAgICAgICAgIGZpbmFsbHk6CiAgICAgICAgICAgICAgICAgIyBQcmV2ZW50IGEgcmFjZSBpbgogICAgICAgICAgICAgICAgICMgdGVzdF90aHJlYWRpbmcudGVzdF9ub19yZWZjeWNsZV90aHJvdWdoX3RhcmdldCB3aGVuCkBAIC03OTAsNyArNjc5LDcgQEAKICAgICAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgICAgICMgV2UgZG9uJ3QgY2FsbCBzZWxmLl9kZWxldGUoKSBiZWNhdXNlIGl0IGFsc28KICAgICAgICAgICAgICAgICAgICAgIyBncmFicyBfYWN0aXZlX2xpbWJvX2xvY2suCi0gICAgICAgICAgICAgICAgICAgIGRlbCBfYWN0aXZlW19nZXRfaWRlbnQoKV0KKyAgICAgICAgICAgICAgICAgICAgZGVsIF9hY3RpdmVbZ2V0X2lkZW50KCldCiAgICAgICAgICAgICAgICAgZXhjZXB0OgogICAgICAgICAgICAgICAgICAgICBwYXNzCiAKQEAgLTgyNiw3ICs3MTUsNyBAQAogCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIHdpdGggX2FjdGl2ZV9saW1ib19sb2NrOgotICAgICAgICAgICAgICAgIGRlbCBfYWN0aXZlW19nZXRfaWRlbnQoKV0KKyAgICAgICAgICAgICAgICBkZWwgX2FjdGl2ZVtnZXRfaWRlbnQoKV0KICAgICAgICAgICAgICAgICAjIFRoZXJlIG11c3Qgbm90IGJlIGFueSBweXRob24gY29kZSBiZXR3ZWVuIHRoZSBwcmV2aW91cyBsaW5lCiAgICAgICAgICAgICAgICAgIyBhbmQgYWZ0ZXIgdGhlIGxvY2sgaXMgcmVsZWFzZWQuICBPdGhlcndpc2UgYSB0cmFjaW5nIGZ1bmN0aW9uCiAgICAgICAgICAgICAgICAgIyBjb3VsZCB0cnkgdG8gYWNxdWlyZSB0aGUgbG9jayBhZ2FpbiBpbiB0aGUgc2FtZSB0aHJlYWQsIChpbgpAQCAtODQzLDI5ICs3MzIsMTggQEAKICAgICAgICAgaWYgc2VsZiBpcyBjdXJyZW50X3RocmVhZCgpOgogICAgICAgICAgICAgcmFpc2UgUnVudGltZUVycm9yKCJjYW5ub3Qgam9pbiBjdXJyZW50IHRocmVhZCIpCiAKLSAgICAgICAgaWYgX19kZWJ1Z19fOgotICAgICAgICAgICAgaWYgbm90IHNlbGYuX3N0b3BwZWQ6Ci0gICAgICAgICAgICAgICAgc2VsZi5fbm90ZSgiJXMuam9pbigpOiB3YWl0aW5nIHVudGlsIHRocmVhZCBzdG9wcyIsIHNlbGYpCi0KICAgICAgICAgc2VsZi5fYmxvY2suYWNxdWlyZSgpCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIGlmIHRpbWVvdXQgaXMgTm9uZToKICAgICAgICAgICAgICAgICB3aGlsZSBub3Qgc2VsZi5fc3RvcHBlZDoKICAgICAgICAgICAgICAgICAgICAgc2VsZi5fYmxvY2sud2FpdCgpCi0gICAgICAgICAgICAgICAgaWYgX19kZWJ1Z19fOgotICAgICAgICAgICAgICAgICAgICBzZWxmLl9ub3RlKCIlcy5qb2luKCk6IHRocmVhZCBzdG9wcGVkIiwgc2VsZikKICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgZGVhZGxpbmUgPSBfdGltZSgpICsgdGltZW91dAogICAgICAgICAgICAgICAgIHdoaWxlIG5vdCBzZWxmLl9zdG9wcGVkOgogICAgICAgICAgICAgICAgICAgICBkZWxheSA9IGRlYWRsaW5lIC0gX3RpbWUoKQogICAgICAgICAgICAgICAgICAgICBpZiBkZWxheSA8PSAwOgotICAgICAgICAgICAgICAgICAgICAgICAgaWYgX19kZWJ1Z19fOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX25vdGUoIiVzLmpvaW4oKTogdGltZWQgb3V0Iiwgc2VsZikKICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrCiAgICAgICAgICAgICAgICAgICAgIHNlbGYuX2Jsb2NrLndhaXQoZGVsYXkpCi0gICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgaWYgX19kZWJ1Z19fOgotICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fbm90ZSgiJXMuam9pbigpOiB0aHJlYWQgc3RvcHBlZCIsIHNlbGYpCiAgICAgICAgIGZpbmFsbHk6CiAgICAgICAgICAgICBzZWxmLl9ibG9jay5yZWxlYXNlKCkKIApAQCAtOTE3LDEwICs3OTUsNyBAQAogCiAjIFRoZSB0aW1lciBjbGFzcyB3YXMgY29udHJpYnV0ZWQgYnkgSXRhbWFyIFNodHVsbC1UcmF1cmluZwogCi1kZWYgVGltZXIoKmFyZ3MsICoqa3dhcmdzKToKLSAgICByZXR1cm4gX1RpbWVyKCphcmdzLCAqKmt3YXJncykKLQotY2xhc3MgX1RpbWVyKFRocmVhZCk6CitjbGFzcyBUaW1lcihUaHJlYWQpOgogICAgICIiIkNhbGwgYSBmdW5jdGlvbiBhZnRlciBhIHNwZWNpZmllZCBudW1iZXIgb2Ygc2Vjb25kczoKIAogICAgIHQgPSBUaW1lcigzMC4wLCBmLCBhcmdzPVtdLCBrd2FyZ3M9e30pCkBAIC05NTIsMjYgKzgyNywxOCBAQAogY2xhc3MgX01haW5UaHJlYWQoVGhyZWFkKToKIAogICAgIGRlZiBfX2luaXRfXyhzZWxmKToKLSAgICAgICAgVGhyZWFkLl9faW5pdF9fKHNlbGYsIG5hbWU9Ik1haW5UaHJlYWQiKQorICAgICAgICBUaHJlYWQuX19pbml0X18oc2VsZiwgbmFtZT0iTWFpblRocmVhZCIsIGRhZW1vbj1GYWxzZSkKICAgICAgICAgc2VsZi5fc3RhcnRlZC5zZXQoKQogICAgICAgICBzZWxmLl9zZXRfaWRlbnQoKQogICAgICAgICB3aXRoIF9hY3RpdmVfbGltYm9fbG9jazoKICAgICAgICAgICAgIF9hY3RpdmVbc2VsZi5faWRlbnRdID0gc2VsZgogCi0gICAgZGVmIF9zZXRfZGFlbW9uKHNlbGYpOgotICAgICAgICByZXR1cm4gRmFsc2UKLQogICAgIGRlZiBfZXhpdGZ1bmMoc2VsZik6CiAgICAgICAgIHNlbGYuX3N0b3AoKQogICAgICAgICB0ID0gX3BpY2tTb21lTm9uRGFlbW9uVGhyZWFkKCkKLSAgICAgICAgaWYgdDoKLSAgICAgICAgICAgIGlmIF9fZGVidWdfXzoKLSAgICAgICAgICAgICAgICBzZWxmLl9ub3RlKCIlczogd2FpdGluZyBmb3Igb3RoZXIgdGhyZWFkcyIsIHNlbGYpCiAgICAgICAgIHdoaWxlIHQ6CiAgICAgICAgICAgICB0LmpvaW4oKQogICAgICAgICAgICAgdCA9IF9waWNrU29tZU5vbkRhZW1vblRocmVhZCgpCi0gICAgICAgIGlmIF9fZGVidWdfXzoKLSAgICAgICAgICAgIHNlbGYuX25vdGUoIiVzOiBleGl0aW5nIiwgc2VsZikKICAgICAgICAgc2VsZi5fZGVsZXRlKCkKIAogZGVmIF9waWNrU29tZU5vbkRhZW1vblRocmVhZCgpOgpAQCAtOTkyLDcgKzg1OSw3IEBACiBjbGFzcyBfRHVtbXlUaHJlYWQoVGhyZWFkKToKIAogICAgIGRlZiBfX2luaXRfXyhzZWxmKToKLSAgICAgICAgVGhyZWFkLl9faW5pdF9fKHNlbGYsIG5hbWU9X25ld25hbWUoIkR1bW15LSVkIikpCisgICAgICAgIFRocmVhZC5fX2luaXRfXyhzZWxmLCBuYW1lPV9uZXduYW1lKCJEdW1teS0lZCIpLCBkYWVtb249VHJ1ZSkKIAogICAgICAgICAjIFRocmVhZC5fYmxvY2sgY29uc3VtZXMgYW4gT1MtbGV2ZWwgbG9ja2luZyBwcmltaXRpdmUsIHdoaWNoCiAgICAgICAgICMgY2FuIG5ldmVyIGJlIHVzZWQgYnkgYSBfRHVtbXlUaHJlYWQuICBTaW5jZSBhIF9EdW1teVRocmVhZApAQCAtMTAwNCw5ICs4NzEsNiBAQAogICAgICAgICB3aXRoIF9hY3RpdmVfbGltYm9fbG9jazoKICAgICAgICAgICAgIF9hY3RpdmVbc2VsZi5faWRlbnRdID0gc2VsZgogCi0gICAgZGVmIF9zZXRfZGFlbW9uKHNlbGYpOgotICAgICAgICByZXR1cm4gVHJ1ZQotCiAgICAgZGVmIGpvaW4oc2VsZiwgdGltZW91dD1Ob25lKToKICAgICAgICAgYXNzZXJ0IEZhbHNlLCAiY2Fubm90IGpvaW4gYSBkdW1teSB0aHJlYWQiCiAKQEAgLTEwMTUsOSArODc5LDggQEAKIAogZGVmIGN1cnJlbnRfdGhyZWFkKCk6CiAgICAgdHJ5OgotICAgICAgICByZXR1cm4gX2FjdGl2ZVtfZ2V0X2lkZW50KCldCisgICAgICAgIHJldHVybiBfYWN0aXZlW2dldF9pZGVudCgpXQogICAgIGV4Y2VwdCBLZXlFcnJvcjoKLSAgICAgICAgIyNwcmludCAiY3VycmVudF90aHJlYWQoKTogbm8gY3VycmVudCB0aHJlYWQgZm9yIiwgX2dldF9pZGVudCgpCiAgICAgICAgIHJldHVybiBfRHVtbXlUaHJlYWQoKQogCiBjdXJyZW50VGhyZWFkID0gY3VycmVudF90aHJlYWQKQEAgLTEwNzQsNyArOTM3LDcgQEAKICAgICAgICAgICAgIGlmIHRocmVhZCBpcyBjdXJyZW50OgogICAgICAgICAgICAgICAgICMgVGhlcmUgaXMgb25seSBvbmUgYWN0aXZlIHRocmVhZC4gV2UgcmVzZXQgdGhlIGlkZW50IHRvCiAgICAgICAgICAgICAgICAgIyBpdHMgbmV3IHZhbHVlIHNpbmNlIGl0IGNhbiBoYXZlIGNoYW5nZWQuCi0gICAgICAgICAgICAgICAgaWRlbnQgPSBfZ2V0X2lkZW50KCkKKyAgICAgICAgICAgICAgICBpZGVudCA9IGdldF9pZGVudCgpCiAgICAgICAgICAgICAgICAgdGhyZWFkLl9pZGVudCA9IGlkZW50CiAgICAgICAgICAgICAgICAgbmV3X2FjdGl2ZVtpZGVudF0gPSB0aHJlYWQKICAgICAgICAgICAgIGVsc2U6CmRpZmYgLS1naXQgYS9MaWIvdGltZWl0LnB5IGIvTGliL3RpbWVpdC5weQppbmRleCAxYWU1OWUwLi5mZGMwYmJiIDEwMDY0NAotLS0gYS9MaWIvdGltZWl0LnB5CisrKyBiL0xpYi90aW1laXQucHkKQEAgLTc5LDEwICs3OSwxMCBAQAogIyBiZWluZyBpbmRlbnRlZCA4IHNwYWNlcy4KIHRlbXBsYXRlID0gIiIiCiBkZWYgaW5uZXIoX2l0LCBfdGltZXIpOgotICAgICUoc2V0dXApcworICAgIHtzZXR1cH0KICAgICBfdDAgPSBfdGltZXIoKQogICAgIGZvciBfaSBpbiBfaXQ6Ci0gICAgICAgICUoc3RtdClzCisgICAgICAgIHtzdG10fQogICAgIF90MSA9IF90aW1lcigpCiAgICAgcmV0dXJuIF90MSAtIF90MAogIiIiCkBAIC0xMjYsOSArMTI2LDkgQEAKICAgICAgICAgICAgIHN0bXQgPSByZWluZGVudChzdG10LCA4KQogICAgICAgICAgICAgaWYgaXNpbnN0YW5jZShzZXR1cCwgc3RyKToKICAgICAgICAgICAgICAgICBzZXR1cCA9IHJlaW5kZW50KHNldHVwLCA0KQotICAgICAgICAgICAgICAgIHNyYyA9IHRlbXBsYXRlICUgeydzdG10Jzogc3RtdCwgJ3NldHVwJzogc2V0dXB9CisgICAgICAgICAgICAgICAgc3JjID0gdGVtcGxhdGUuZm9ybWF0KHN0bXQ9c3RtdCwgc2V0dXA9c2V0dXApCiAgICAgICAgICAgICBlbGlmIGNhbGxhYmxlKHNldHVwKToKLSAgICAgICAgICAgICAgICBzcmMgPSB0ZW1wbGF0ZSAlIHsnc3RtdCc6IHN0bXQsICdzZXR1cCc6ICdfc2V0dXAoKSd9CisgICAgICAgICAgICAgICAgc3JjID0gdGVtcGxhdGUuZm9ybWF0KHN0bXQ9c3RtdCwgc2V0dXA9J19zZXR1cCgpJykKICAgICAgICAgICAgICAgICBuc1snX3NldHVwJ10gPSBzZXR1cAogICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJzZXR1cCBpcyBuZWl0aGVyIGEgc3RyaW5nIG5vciBjYWxsYWJsZSIpCmRpZmYgLS1naXQgYS9MaWIvdGtpbnRlci9fX2luaXRfXy5weSBiL0xpYi90a2ludGVyL19faW5pdF9fLnB5CmluZGV4IDhhZjUwNjUuLmVmMDgyYmYgMTAwNjQ0Ci0tLSBhL0xpYi90a2ludGVyL19faW5pdF9fLnB5CisrKyBiL0xpYi90a2ludGVyL19faW5pdF9fLnB5CkBAIC0zMCw4ICszMCw2IEBACiB0ay5tYWlubG9vcCgpCiAiIiIKIAotX192ZXJzaW9uX18gPSAiJFJldmlzaW9uJCIKLQogaW1wb3J0IHN5cwogaWYgc3lzLnBsYXRmb3JtID09ICJ3aW4zMiI6CiAgICAgIyBBdHRlbXB0IHRvIGNvbmZpZ3VyZSBUY2wvVGsgd2l0aG91dCByZXF1aXJpbmcgUEFUSApAQCAtMTU3LDYgKzE1NSw3IEBACiAgICAgU3ViY2xhc3NlcyBTdHJpbmdWYXIsIEludFZhciwgRG91YmxlVmFyLCBCb29sZWFuVmFyIGFyZSBzcGVjaWFsaXphdGlvbnMKICAgICB0aGF0IGNvbnN0cmFpbiB0aGUgdHlwZSBvZiB0aGUgdmFsdWUgcmV0dXJuZWQgZnJvbSBnZXQoKS4iIiIKICAgICBfZGVmYXVsdCA9ICIiCisgICAgX3RrID0gTm9uZQogICAgIGRlZiBfX2luaXRfXyhzZWxmLCBtYXN0ZXI9Tm9uZSwgdmFsdWU9Tm9uZSwgbmFtZT1Ob25lKToKICAgICAgICAgIiIiQ29uc3RydWN0IGEgdmFyaWFibGUKIApAQCAtMTY3LDYgKzE2NiwxMSBAQAogICAgICAgICBJZiBOQU1FIG1hdGNoZXMgYW4gZXhpc3RpbmcgdmFyaWFibGUgYW5kIFZBTFVFIGlzIG9taXR0ZWQKICAgICAgICAgdGhlbiB0aGUgZXhpc3RpbmcgdmFsdWUgaXMgcmV0YWluZWQuCiAgICAgICAgICIiIgorICAgICAgICAjIGNoZWNrIGZvciB0eXBlIG9mIE5BTUUgcGFyYW1ldGVyIHRvIG92ZXJyaWRlIHdlaXJkIGVycm9yIG1lc3NhZ2UKKyAgICAgICAgIyByYWlzZWQgZnJvbSBNb2R1bGVzL190a2ludGVyLmM6U2V0VmFyIGxpa2U6CisgICAgICAgICMgVHlwZUVycm9yOiBzZXR2YXIoKSB0YWtlcyBleGFjdGx5IDMgYXJndW1lbnRzICgyIGdpdmVuKQorICAgICAgICBpZiBuYW1lIGlzIG5vdCBOb25lIGFuZCBub3QgaXNpbnN0YW5jZShuYW1lLCBzdHIpOgorICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCJuYW1lIG11c3QgYmUgYSBzdHJpbmciKQogICAgICAgICBnbG9iYWwgX3Zhcm51bQogICAgICAgICBpZiBub3QgbWFzdGVyOgogICAgICAgICAgICAgbWFzdGVyID0gX2RlZmF1bHRfcm9vdApAQCAtMTc4LDE4ICsxODIsMjEgQEAKICAgICAgICAgICAgIHNlbGYuX25hbWUgPSAnUFlfVkFSJyArIHJlcHIoX3Zhcm51bSkKICAgICAgICAgICAgIF92YXJudW0gKz0gMQogICAgICAgICBpZiB2YWx1ZSBpcyBub3QgTm9uZToKLSAgICAgICAgICAgIHNlbGYuc2V0KHZhbHVlKQorICAgICAgICAgICAgc2VsZi5pbml0aWFsaXplKHZhbHVlKQogICAgICAgICBlbGlmIG5vdCBzZWxmLl90ay5jYWxsKCJpbmZvIiwgImV4aXN0cyIsIHNlbGYuX25hbWUpOgotICAgICAgICAgICAgc2VsZi5zZXQoc2VsZi5fZGVmYXVsdCkKKyAgICAgICAgICAgIHNlbGYuaW5pdGlhbGl6ZShzZWxmLl9kZWZhdWx0KQogICAgIGRlZiBfX2RlbF9fKHNlbGYpOgogICAgICAgICAiIiJVbnNldCB0aGUgdmFyaWFibGUgaW4gVGNsLiIiIgotICAgICAgICBzZWxmLl90ay5nbG9iYWx1bnNldHZhcihzZWxmLl9uYW1lKQorICAgICAgICBpZiAoc2VsZi5fdGsgaXMgbm90IE5vbmUgYW5kIHNlbGYuX3RrLmNhbGwoImluZm8iLCAiZXhpc3RzIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX25hbWUpKToKKyAgICAgICAgICAgIHNlbGYuX3RrLmdsb2JhbHVuc2V0dmFyKHNlbGYuX25hbWUpCiAgICAgZGVmIF9fc3RyX18oc2VsZik6CiAgICAgICAgICIiIlJldHVybiB0aGUgbmFtZSBvZiB0aGUgdmFyaWFibGUgaW4gVGNsLiIiIgogICAgICAgICByZXR1cm4gc2VsZi5fbmFtZQogICAgIGRlZiBzZXQoc2VsZiwgdmFsdWUpOgogICAgICAgICAiIiJTZXQgdGhlIHZhcmlhYmxlIHRvIFZBTFVFLiIiIgogICAgICAgICByZXR1cm4gc2VsZi5fdGsuZ2xvYmFsc2V0dmFyKHNlbGYuX25hbWUsIHZhbHVlKQorICAgIGluaXRpYWxpemUgPSBzZXQKICAgICBkZWYgZ2V0KHNlbGYpOgogICAgICAgICAiIiJSZXR1cm4gdmFsdWUgb2YgdmFyaWFibGUuIiIiCiAgICAgICAgIHJldHVybiBzZWxmLl90ay5nbG9iYWxnZXR2YXIoc2VsZi5fbmFtZSkKQEAgLTI2NCwxMiArMjcxLDYgQEAKICAgICAgICAgIiIiCiAgICAgICAgIFZhcmlhYmxlLl9faW5pdF9fKHNlbGYsIG1hc3RlciwgdmFsdWUsIG5hbWUpCiAKLSAgICBkZWYgc2V0KHNlbGYsIHZhbHVlKToKLSAgICAgICAgIiIiU2V0IHRoZSB2YXJpYWJsZSB0byB2YWx1ZSwgY29udmVydGluZyBib29sZWFucyB0byBpbnRlZ2Vycy4iIiIKLSAgICAgICAgaWYgaXNpbnN0YW5jZSh2YWx1ZSwgYm9vbCk6Ci0gICAgICAgICAgICB2YWx1ZSA9IGludCh2YWx1ZSkKLSAgICAgICAgcmV0dXJuIFZhcmlhYmxlLnNldChzZWxmLCB2YWx1ZSkKLQogICAgIGRlZiBnZXQoc2VsZik6CiAgICAgICAgICIiIlJldHVybiB0aGUgdmFsdWUgb2YgdGhlIHZhcmlhYmxlIGFzIGFuIGludGVnZXIuIiIiCiAgICAgICAgIHJldHVybiBnZXRpbnQoc2VsZi5fdGsuZ2xvYmFsZ2V0dmFyKHNlbGYuX25hbWUpKQpAQCAtMzEwLDcgKzMxMSwxMCBAQAogCiAgICAgZGVmIGdldChzZWxmKToKICAgICAgICAgIiIiUmV0dXJuIHRoZSB2YWx1ZSBvZiB0aGUgdmFyaWFibGUgYXMgYSBib29sLiIiIgotICAgICAgICByZXR1cm4gc2VsZi5fdGsuZ2V0Ym9vbGVhbihzZWxmLl90ay5nbG9iYWxnZXR2YXIoc2VsZi5fbmFtZSkpCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHJldHVybiBzZWxmLl90ay5nZXRib29sZWFuKHNlbGYuX3RrLmdsb2JhbGdldHZhcihzZWxmLl9uYW1lKSkKKyAgICAgICAgZXhjZXB0IFRjbEVycm9yOgorICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiaW52YWxpZCBsaXRlcmFsIGZvciBnZXRib29sZWFuKCkiKQogCiBkZWYgbWFpbmxvb3Aobj0wKToKICAgICAiIiJSdW4gdGhlIG1haW4gbG9vcCBvZiBUY2wuIiIiCkBAIC0zMjIsNyArMzI2LDEwIEBACiAKIGRlZiBnZXRib29sZWFuKHMpOgogICAgICIiIkNvbnZlcnQgdHJ1ZSBhbmQgZmFsc2UgdG8gaW50ZWdlciB2YWx1ZXMgMSBhbmQgMC4iIiIKLSAgICByZXR1cm4gX2RlZmF1bHRfcm9vdC50ay5nZXRib29sZWFuKHMpCisgICAgdHJ5OgorICAgICAgICByZXR1cm4gX2RlZmF1bHRfcm9vdC50ay5nZXRib29sZWFuKHMpCisgICAgZXhjZXB0IFRjbEVycm9yOgorICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJpbnZhbGlkIGxpdGVyYWwgZm9yIGdldGJvb2xlYW4oKSIpCiAKICMgTWV0aG9kcyBkZWZpbmVkIG9uIGJvdGggdG9wbGV2ZWwgYW5kIGludGVyaW9yIHdpZGdldHMKIGNsYXNzIE1pc2M6CkBAIC00MTIsNyArNDE5LDEwIEBACiAgICAgZ2V0ZG91YmxlID0gZmxvYXQKICAgICBkZWYgZ2V0Ym9vbGVhbihzZWxmLCBzKToKICAgICAgICAgIiIiUmV0dXJuIGEgYm9vbGVhbiB2YWx1ZSBmb3IgVGNsIGJvb2xlYW4gdmFsdWVzIHRydWUgYW5kIGZhbHNlIGdpdmVuIGFzIHBhcmFtZXRlci4iIiIKLSAgICAgICAgcmV0dXJuIHNlbGYudGsuZ2V0Ym9vbGVhbihzKQorICAgICAgICB0cnk6CisgICAgICAgICAgICByZXR1cm4gc2VsZi50ay5nZXRib29sZWFuKHMpCisgICAgICAgIGV4Y2VwdCBUY2xFcnJvcjoKKyAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoImludmFsaWQgbGl0ZXJhbCBmb3IgZ2V0Ym9vbGVhbigpIikKICAgICBkZWYgZm9jdXNfc2V0KHNlbGYpOgogICAgICAgICAiIiJEaXJlY3QgaW5wdXQgZm9jdXMgdG8gdGhpcyB3aWRnZXQuCiAKQEAgLTExNjEsNyArMTE3MSw2IEBACiAgICAgICAgIHJldHVybiAoZSwpCiAgICAgZGVmIF9yZXBvcnRfZXhjZXB0aW9uKHNlbGYpOgogICAgICAgICAiIiJJbnRlcm5hbCBmdW5jdGlvbi4iIiIKLSAgICAgICAgaW1wb3J0IHN5cwogICAgICAgICBleGMsIHZhbCwgdGIgPSBzeXMuZXhjX2luZm8oKQogICAgICAgICByb290ID0gc2VsZi5fcm9vdCgpCiAgICAgICAgIHJvb3QucmVwb3J0X2NhbGxiYWNrX2V4Y2VwdGlvbihleGMsIHZhbCwgdGIpCkBAIC0xMjM2LDYgKzEyNDUsMTMgQEAKICAgICAgICAgICAgICAgICAgICBzZWxmLnRrLmNhbGwoCiAgICAgICAgICAgICAgICAgICAgICAgICdwbGFjZScsICdzbGF2ZXMnLCBzZWxmLl93KSldCiAgICAgIyBHcmlkIG1ldGhvZHMgdGhhdCBhcHBseSB0byB0aGUgbWFzdGVyCisgICAgZGVmIGdyaWRfYW5jaG9yKHNlbGYsIGFuY2hvcj1Ob25lKTogIyBuZXcgaW4gVGsgOC41CisgICAgICAgICIiIlRoZSBhbmNob3IgdmFsdWUgY29udHJvbHMgaG93IHRvIHBsYWNlIHRoZSBncmlkIHdpdGhpbiB0aGUKKyAgICAgICAgbWFzdGVyIHdoZW4gbm8gcm93L2NvbHVtbiBoYXMgYW55IHdlaWdodC4KKworICAgICAgICBUaGUgZGVmYXVsdCBhbmNob3IgaXMgbncuIiIiCisgICAgICAgIHNlbGYudGsuY2FsbCgnZ3JpZCcsICdhbmNob3InLCBzZWxmLl93LCBhbmNob3IpCisgICAgYW5jaG9yID0gZ3JpZF9hbmNob3IKICAgICBkZWYgZ3JpZF9iYm94KHNlbGYsIGNvbHVtbj1Ob25lLCByb3c9Tm9uZSwgY29sMj1Ob25lLCByb3cyPU5vbmUpOgogICAgICAgICAiIiJSZXR1cm4gYSB0dXBsZSBvZiBpbnRlZ2VyIGNvb3JkaW5hdGVzIGZvciB0aGUgYm91bmRpbmcKICAgICAgICAgYm94IG9mIHRoaXMgd2lkZ2V0IGNvbnRyb2xsZWQgYnkgdGhlIGdlb21ldHJ5IG1hbmFnZXIgZ3JpZC4KQEAgLTEyNTQsNyArMTI3MCw2IEBACiAgICAgICAgIGlmIGNvbDIgaXMgbm90IE5vbmUgYW5kIHJvdzIgaXMgbm90IE5vbmU6CiAgICAgICAgICAgICBhcmdzID0gYXJncyArIChjb2wyLCByb3cyKQogICAgICAgICByZXR1cm4gc2VsZi5fZ2V0aW50cyhzZWxmLnRrLmNhbGwoKmFyZ3MpKSBvciBOb25lCi0KICAgICBiYm94ID0gZ3JpZF9iYm94CiAgICAgZGVmIF9ncmlkX2NvbmZpZ3VyZShzZWxmLCBjb21tYW5kLCBpbmRleCwgY25mLCBrdyk6CiAgICAgICAgICIiIkludGVybmFsIGZ1bmN0aW9uLiIiIgpAQCAtMTUxMyw2ICsxNTI4LDE0IEBACiAgICAgICAgIHRoZSBmb2N1cy4gUmV0dXJuIGN1cnJlbnQgZm9jdXMgbW9kZWwgaWYgTU9ERUwgaXMgTm9uZS4iIiIKICAgICAgICAgcmV0dXJuIHNlbGYudGsuY2FsbCgnd20nLCAnZm9jdXNtb2RlbCcsIHNlbGYuX3csIG1vZGVsKQogICAgIGZvY3VzbW9kZWwgPSB3bV9mb2N1c21vZGVsCisgICAgZGVmIHdtX2ZvcmdldChzZWxmLCB3aW5kb3cpOiAjIG5ldyBpbiBUayA4LjUKKyAgICAgICAgIiIiVGhlIHdpbmRvdyB3aWxsIGJlIHVubWFwcGVuZCBmcm9tIHRoZSBzY3JlZW4gYW5kIHdpbGwgbm8gbG9uZ2VyCisgICAgICAgIGJlIG1hbmFnZWQgYnkgd20uIHRvcGxldmVsIHdpbmRvd3Mgd2lsbCBiZSB0cmVhdGVkIGxpa2UgZnJhbWUKKyAgICAgICAgd2luZG93cyBvbmNlIHRoZXkgYXJlIG5vIGxvbmdlciBtYW5hZ2VkIGJ5IHdtLCBob3dldmVyLCB0aGUgbWVudQorICAgICAgICBvcHRpb24gY29uZmlndXJhdGlvbiB3aWxsIGJlIHJlbWVtYmVyZWQgYW5kIHRoZSBtZW51cyB3aWxsIHJldHVybgorICAgICAgICBvbmNlIHRoZSB3aWRnZXQgaXMgbWFuYWdlZCBhZ2Fpbi4iIiIKKyAgICAgICAgc2VsZi50ay5jYWxsKCd3bScsICdmb3JnZXQnLCB3aW5kb3cpCisgICAgZm9yZ2V0ID0gd21fZm9yZ2V0CiAgICAgZGVmIHdtX2ZyYW1lKHNlbGYpOgogICAgICAgICAiIiJSZXR1cm4gaWRlbnRpZmllciBmb3IgZGVjb3JhdGl2ZSBmcmFtZSBvZiB0aGlzIHdpZGdldCBpZiBwcmVzZW50LiIiIgogICAgICAgICByZXR1cm4gc2VsZi50ay5jYWxsKCd3bScsICdmcmFtZScsIHNlbGYuX3cpCkBAIC0xNTY2LDYgKzE1ODksMzEgQEAKICAgICAgICAgTm9uZSBpcyBnaXZlbi4iIiIKICAgICAgICAgcmV0dXJuIHNlbGYudGsuY2FsbCgnd20nLCAnaWNvbm5hbWUnLCBzZWxmLl93LCBuZXdOYW1lKQogICAgIGljb25uYW1lID0gd21faWNvbm5hbWUKKyAgICBkZWYgd21faWNvbnBob3RvKHNlbGYsIGRlZmF1bHQ9RmFsc2UsICphcmdzKTogIyBuZXcgaW4gVGsgOC41CisgICAgICAgICIiIlNldHMgdGhlIHRpdGxlYmFyIGljb24gZm9yIHRoaXMgd2luZG93IGJhc2VkIG9uIHRoZSBuYW1lZCBwaG90bworICAgICAgICBpbWFnZXMgcGFzc2VkIHRocm91Z2ggYXJncy4gSWYgZGVmYXVsdCBpcyBUcnVlLCB0aGlzIGlzIGFwcGxpZWQgdG8KKyAgICAgICAgYWxsIGZ1dHVyZSBjcmVhdGVkIHRvcGxldmVscyBhcyB3ZWxsLgorCisgICAgICAgIFRoZSBkYXRhIGluIHRoZSBpbWFnZXMgaXMgdGFrZW4gYXMgYSBzbmFwc2hvdCBhdCB0aGUgdGltZSBvZgorICAgICAgICBpbnZvY2F0aW9uLiBJZiB0aGUgaW1hZ2VzIGFyZSBsYXRlciBjaGFuZ2VkLCB0aGlzIGlzIG5vdCByZWZsZWN0ZWQKKyAgICAgICAgdG8gdGhlIHRpdGxlYmFyIGljb25zLiBNdWx0aXBsZSBpbWFnZXMgYXJlIGFjY2VwdGVkIHRvIGFsbG93CisgICAgICAgIGRpZmZlcmVudCBpbWFnZXMgc2l6ZXMgdG8gYmUgcHJvdmlkZWQuIFRoZSB3aW5kb3cgbWFuYWdlciBtYXkgc2NhbGUKKyAgICAgICAgcHJvdmlkZWQgaWNvbnMgdG8gYW4gYXBwcm9wcmlhdGUgc2l6ZS4KKworICAgICAgICBPbiBXaW5kb3dzLCB0aGUgaW1hZ2VzIGFyZSBwYWNrZWQgaW50byBhIFdpbmRvd3MgaWNvbiBzdHJ1Y3R1cmUuCisgICAgICAgIFRoaXMgd2lsbCBvdmVycmlkZSBhbiBpY29uIHNwZWNpZmllZCB0byB3bV9pY29uYml0bWFwLCBhbmQgdmljZQorICAgICAgICB2ZXJzYS4KKworICAgICAgICBPbiBYLCB0aGUgaW1hZ2VzIGFyZSBhcnJhbmdlZCBpbnRvIHRoZSBfTkVUX1dNX0lDT04gWCBwcm9wZXJ0eSwKKyAgICAgICAgd2hpY2ggbW9zdCBtb2Rlcm4gd2luZG93IG1hbmFnZXJzIHN1cHBvcnQuIEFuIGljb24gc3BlY2lmaWVkIGJ5CisgICAgICAgIHdtX2ljb25iaXRtYXAgbWF5IGV4aXN0IHNpbXV1bHRhbmVvdXNseS4KKworICAgICAgICBPbiBNYWNpbnRvc2gsIHRoaXMgY3VycmVudGx5IGRvZXMgbm90aGluZy4iIiIKKyAgICAgICAgaWYgZGVmYXVsdDoKKyAgICAgICAgICAgIHNlbGYudGsuY2FsbCgnd20nLCAnaWNvbnBob3RvJywgc2VsZi5fdywgIi1kZWZhdWx0IiwgKmFyZ3MpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzZWxmLnRrLmNhbGwoJ3dtJywgJ2ljb25waG90bycsIHNlbGYuX3csICphcmdzKQorICAgIGljb25waG90byA9IHdtX2ljb25waG90bwogICAgIGRlZiB3bV9pY29ucG9zaXRpb24oc2VsZiwgeD1Ob25lLCB5PU5vbmUpOgogICAgICAgICAiIiJTZXQgdGhlIHBvc2l0aW9uIG9mIHRoZSBpY29uIG9mIHRoaXMgd2lkZ2V0IHRvIFggYW5kIFkuIFJldHVybgogICAgICAgICBhIHR1cGxlIG9mIHRoZSBjdXJyZW50IHZhbHVlcyBvZiBYIGFuZCBYIGlmIE5vbmUgaXMgZ2l2ZW4uIiIiCkBAIC0xNTc3LDYgKzE2MjUsMTIgQEAKICAgICAgICAgdmFsdWUgaWYgTm9uZSBpcyBnaXZlbi4iIiIKICAgICAgICAgcmV0dXJuIHNlbGYudGsuY2FsbCgnd20nLCAnaWNvbndpbmRvdycsIHNlbGYuX3csIHBhdGhOYW1lKQogICAgIGljb253aW5kb3cgPSB3bV9pY29ud2luZG93CisgICAgZGVmIHdtX21hbmFnZShzZWxmLCB3aWRnZXQpOiAjIG5ldyBpbiBUayA4LjUKKyAgICAgICAgIiIiVGhlIHdpZGdldCBzcGVjaWZpZWQgd2lsbCBiZWNvbWUgYSBzdGFuZCBhbG9uZSB0b3AtbGV2ZWwgd2luZG93LgorICAgICAgICBUaGUgd2luZG93IHdpbGwgYmUgZGVjb3JhdGVkIHdpdGggdGhlIHdpbmRvdyBtYW5hZ2VycyB0aXRsZSBiYXIsCisgICAgICAgIGV0Yy4iIiIKKyAgICAgICAgc2VsZi50ay5jYWxsKCd3bScsICdtYW5hZ2UnLCB3aWRnZXQpCisgICAgbWFuYWdlID0gd21fbWFuYWdlCiAgICAgZGVmIHdtX21heHNpemUoc2VsZiwgd2lkdGg9Tm9uZSwgaGVpZ2h0PU5vbmUpOgogICAgICAgICAiIiJTZXQgbWF4IFdJRFRIIGFuZCBIRUlHSFQgZm9yIHRoaXMgd2lkZ2V0LiBJZiB0aGUgd2luZG93IGlzIGdyaWRkZWQKICAgICAgICAgdGhlIHZhbHVlcyBhcmUgZ2l2ZW4gaW4gZ3JpZCB1bml0cy4gUmV0dXJuIHRoZSBjdXJyZW50IHZhbHVlcyBpZiBOb25lCkBAIC0xNjY1LDcgKzE3MTksNyBAQAogICAgICAgICAjIGVuc3VyZSB0aGF0IHNlbGYudGsgaXMgYWx3YXlzIF9zb21ldGhpbmdfLgogICAgICAgICBzZWxmLnRrID0gTm9uZQogICAgICAgICBpZiBiYXNlTmFtZSBpcyBOb25lOgotICAgICAgICAgICAgaW1wb3J0IHN5cywgb3MKKyAgICAgICAgICAgIGltcG9ydCBvcwogICAgICAgICAgICAgYmFzZU5hbWUgPSBvcy5wYXRoLmJhc2VuYW1lKHN5cy5hcmd2WzBdKQogICAgICAgICAgICAgYmFzZU5hbWUsIGV4dCA9IG9zLnBhdGguc3BsaXRleHQoYmFzZU5hbWUpCiAgICAgICAgICAgICBpZiBleHQgbm90IGluICgnLnB5JywgJy5weWMnLCAnLnB5bycpOgpAQCAtMTczOSw3ICsxNzkzLDcgQEAKICAgICAgICAgICAgIGV4ZWMob3BlbihiYXNlX3B5KS5yZWFkKCksIGRpcikKICAgICBkZWYgcmVwb3J0X2NhbGxiYWNrX2V4Y2VwdGlvbihzZWxmLCBleGMsIHZhbCwgdGIpOgogICAgICAgICAiIiJJbnRlcm5hbCBmdW5jdGlvbi4gSXQgcmVwb3J0cyBleGNlcHRpb24gb24gc3lzLnN0ZGVyci4iIiIKLSAgICAgICAgaW1wb3J0IHRyYWNlYmFjaywgc3lzCisgICAgICAgIGltcG9ydCB0cmFjZWJhY2sKICAgICAgICAgc3lzLnN0ZGVyci53cml0ZSgiRXhjZXB0aW9uIGluIFRraW50ZXIgY2FsbGJhY2tcbiIpCiAgICAgICAgIHN5cy5sYXN0X3R5cGUgPSBleGMKICAgICAgICAgc3lzLmxhc3RfdmFsdWUgPSB2YWwKQEAgLTI2NjgsNiArMjcyMiwxMCBAQAogICAgIGRlZiB1bnBvc3Qoc2VsZik6CiAgICAgICAgICIiIlVubWFwIGEgbWVudS4iIiIKICAgICAgICAgc2VsZi50ay5jYWxsKHNlbGYuX3csICd1bnBvc3QnKQorICAgIGRlZiB4cG9zaXRpb24oc2VsZiwgaW5kZXgpOiAjIG5ldyBpbiBUayA4LjUKKyAgICAgICAgIiIiUmV0dXJuIHRoZSB4LXBvc2l0aW9uIG9mIHRoZSBsZWZ0bW9zdCBwaXhlbCBvZiB0aGUgbWVudSBpdGVtCisgICAgICAgIGF0IElOREVYLiIiIgorICAgICAgICByZXR1cm4gZ2V0aW50KHNlbGYudGsuY2FsbChzZWxmLl93LCAneHBvc2l0aW9uJywgaW5kZXgpKQogICAgIGRlZiB5cG9zaXRpb24oc2VsZiwgaW5kZXgpOgogICAgICAgICAiIiJSZXR1cm4gdGhlIHktcG9zaXRpb24gb2YgdGhlIHRvcG1vc3QgcGl4ZWwgb2YgdGhlIG1lbnUgaXRlbSBhdCBJTkRFWC4iIiIKICAgICAgICAgcmV0dXJuIGdldGludChzZWxmLnRrLmNhbGwoCkBAIC0yODI3LDYgKzI4ODUsMjUgQEAKICAgICAgICAgcmVsYXRpb24gT1AgaXMgc2F0aXNmaWVkLiBPUCBpcyBvbmUgb2YgPCwgPD0sID09LCA+PSwgPiwgb3IgIT0uIiIiCiAgICAgICAgIHJldHVybiBzZWxmLnRrLmdldGJvb2xlYW4oc2VsZi50ay5jYWxsKAogICAgICAgICAgICAgc2VsZi5fdywgJ2NvbXBhcmUnLCBpbmRleDEsIG9wLCBpbmRleDIpKQorICAgIGRlZiBjb3VudChzZWxmLCBpbmRleDEsIGluZGV4MiwgKmFyZ3MpOiAjIG5ldyBpbiBUayA4LjUKKyAgICAgICAgIiIiQ291bnRzIHRoZSBudW1iZXIgb2YgcmVsZXZhbnQgdGhpbmdzIGJldHdlZW4gdGhlIHR3byBpbmRpY2VzLgorICAgICAgICBJZiBpbmRleDEgaXMgYWZ0ZXIgaW5kZXgyLCB0aGUgcmVzdWx0IHdpbGwgYmUgYSBuZWdhdGl2ZSBudW1iZXIKKyAgICAgICAgKGFuZCB0aGlzIGhvbGRzIGZvciBlYWNoIG9mIHRoZSBwb3NzaWJsZSBvcHRpb25zKS4KKworICAgICAgICBUaGUgYWN0dWFsIGl0ZW1zIHdoaWNoIGFyZSBjb3VudGVkIGRlcGVuZHMgb24gdGhlIG9wdGlvbnMgZ2l2ZW4gYnkKKyAgICAgICAgYXJncy4gVGhlIHJlc3VsdCBpcyBhIGxpc3Qgb2YgaW50ZWdlcnMsIG9uZSBmb3IgdGhlIHJlc3VsdCBvZiBlYWNoCisgICAgICAgIGNvdW50aW5nIG9wdGlvbiBnaXZlbi4gVmFsaWQgY291bnRpbmcgb3B0aW9ucyBhcmUgImNoYXJzIiwKKyAgICAgICAgImRpc3BsYXljaGFycyIsICJkaXNwbGF5aW5kaWNlcyIsICJkaXNwbGF5bGluZXMiLCAiaW5kaWNlcyIsCisgICAgICAgICJsaW5lcyIsICJ4cGl4ZWxzIiBhbmQgInlwaXhlbHMiLiBUaGVyZSBpcyBhbiBhZGRpdGlvbmFsIHBvc3NpYmxlCisgICAgICAgIG9wdGlvbiAidXBkYXRlIiwgd2hpY2ggaWYgZ2l2ZW4gdGhlbiBhbGwgc3Vic2VxdWVudCBvcHRpb25zIGVuc3VyZQorICAgICAgICB0aGF0IGFueSBwb3NzaWJsZSBvdXQgb2YgZGF0ZSBpbmZvcm1hdGlvbiBpcyByZWNhbGN1bGF0ZWQuIiIiCisgICAgICAgIGFyZ3MgPSBbJy0lcycgJSBhcmcgZm9yIGFyZyBpbiBhcmdzIGlmIG5vdCBhcmcuc3RhcnRzd2l0aCgnLScpXQorICAgICAgICBhcmdzICs9IFtpbmRleDEsIGluZGV4Ml0KKyAgICAgICAgcmVzID0gc2VsZi50ay5jYWxsKHNlbGYuX3csICdjb3VudCcsICphcmdzKSBvciBOb25lCisgICAgICAgIGlmIHJlcyBpcyBub3QgTm9uZSBhbmQgbGVuKGFyZ3MpIDw9IDM6CisgICAgICAgICAgICByZXR1cm4gKHJlcywgKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmV0dXJuIHJlcwogICAgIGRlZiBkZWJ1ZyhzZWxmLCBib29sZWFuPU5vbmUpOgogICAgICAgICAiIiJUdXJuIG9uIHRoZSBpbnRlcm5hbCBjb25zaXN0ZW5jeSBjaGVja3Mgb2YgdGhlIEItVHJlZSBpbnNpZGUgdGhlIHRleHQKICAgICAgICAgd2lkZ2V0IGFjY29yZGluZyB0byBCT09MRUFOLiIiIgpAQCAtMjk4OSw2ICszMDY2LDI0IEBACiAgICAgZGVmIG1hcmtfcHJldmlvdXMoc2VsZiwgaW5kZXgpOgogICAgICAgICAiIiJSZXR1cm4gdGhlIG5hbWUgb2YgdGhlIHByZXZpb3VzIG1hcmsgYmVmb3JlIElOREVYLiIiIgogICAgICAgICByZXR1cm4gc2VsZi50ay5jYWxsKHNlbGYuX3csICdtYXJrJywgJ3ByZXZpb3VzJywgaW5kZXgpIG9yIE5vbmUKKyAgICBkZWYgcGVlcl9jcmVhdGUoc2VsZiwgbmV3UGF0aE5hbWUsIGNuZj17fSwgKiprdyk6ICMgbmV3IGluIFRrIDguNQorICAgICAgICAiIiJDcmVhdGVzIGEgcGVlciB0ZXh0IHdpZGdldCB3aXRoIHRoZSBnaXZlbiBuZXdQYXRoTmFtZSwgYW5kIGFueQorICAgICAgICBvcHRpb25hbCBzdGFuZGFyZCBjb25maWd1cmF0aW9uIG9wdGlvbnMuIEJ5IGRlZmF1bHQgdGhlIHBlZXIgd2lsbAorICAgICAgICBoYXZlIHRoZSBzYW1lIHN0YXJ0IGFuZCBhbmQgZW5kIGxpbmUgYXMgdGhlIHBhcmVudCB3aWRnZXQsIGJ1dAorICAgICAgICB0aGVzZSBjYW4gYmUgb3ZlcnJpZGVuIHdpdGggdGhlIHN0YW5kYXJkIGNvbmZpZ3VyYXRpb24gb3B0aW9ucy4iIiIKKyAgICAgICAgc2VsZi50ay5jYWxsKHNlbGYuX3csICdwZWVyJywgJ2NyZWF0ZScsIG5ld1BhdGhOYW1lLAorICAgICAgICAgICAgKnNlbGYuX29wdGlvbnMoY25mLCBrdykpCisgICAgZGVmIHBlZXJfbmFtZXMoc2VsZik6ICMgbmV3IGluIFRrIDguNQorICAgICAgICAiIiJSZXR1cm5zIGEgbGlzdCBvZiBwZWVycyBvZiB0aGlzIHdpZGdldCAodGhpcyBkb2VzIG5vdCBpbmNsdWRlCisgICAgICAgIHRoZSB3aWRnZXQgaXRzZWxmKS4iIiIKKyAgICAgICAgcmV0dXJuIHNlbGYudGsuc3BsaXRsaXN0KHNlbGYudGsuY2FsbChzZWxmLl93LCAncGVlcicsICduYW1lcycpKQorICAgIGRlZiByZXBsYWNlKHNlbGYsIGluZGV4MSwgaW5kZXgyLCBjaGFycywgKmFyZ3MpOiAjIG5ldyBpbiBUayA4LjUKKyAgICAgICAgIiIiUmVwbGFjZXMgdGhlIHJhbmdlIG9mIGNoYXJhY3RlcnMgYmV0d2VlbiBpbmRleDEgYW5kIGluZGV4MiB3aXRoCisgICAgICAgIHRoZSBnaXZlbiBjaGFyYWN0ZXJzIGFuZCB0YWdzIHNwZWNpZmllZCBieSBhcmdzLgorCisgICAgICAgIFNlZSB0aGUgbWV0aG9kIGluc2VydCBmb3Igc29tZSBtb3JlIGluZm9ybWF0aW9uIGFib3V0IGFyZ3MsIGFuZCB0aGUKKyAgICAgICAgbWV0aG9kIGRlbGV0ZSBmb3IgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGluZGljZXMuIiIiCisgICAgICAgIHNlbGYudGsuY2FsbChzZWxmLl93LCAncmVwbGFjZScsIGluZGV4MSwgaW5kZXgyLCBjaGFycywgKmFyZ3MpCiAgICAgZGVmIHNjYW5fbWFyayhzZWxmLCB4LCB5KToKICAgICAgICAgIiIiUmVtZW1iZXIgdGhlIGN1cnJlbnQgWCwgWSBjb29yZGluYXRlcy4iIiIKICAgICAgICAgc2VsZi50ay5jYWxsKHNlbGYuX3csICdzY2FuJywgJ21hcmsnLCB4LCB5KQpkaWZmIC0tZ2l0IGEvTGliL3RraW50ZXIvZmlsZWRpYWxvZy5weSBiL0xpYi90a2ludGVyL2ZpbGVkaWFsb2cucHkKaW5kZXggOThkMmQ1Yy4uM2ZmYjI1MiAxMDA2NDQKLS0tIGEvTGliL3RraW50ZXIvZmlsZWRpYWxvZy5weQorKysgYi9MaWIvdGtpbnRlci9maWxlZGlhbG9nLnB5CkBAIC0zMDYsNyArMzA2LDYgQEAKICAgICBkZWYgX2ZpeHJlc3VsdChzZWxmLCB3aWRnZXQsIHJlc3VsdCk6CiAgICAgICAgIGlmIHJlc3VsdDoKICAgICAgICAgICAgICMga2VlcCBkaXJlY3RvcnkgYW5kIGZpbGVuYW1lIHVudGlsIG5leHQgdGltZQotICAgICAgICAgICAgaW1wb3J0IG9zCiAgICAgICAgICAgICAjIGNvbnZlcnQgVGNsIHBhdGggb2JqZWN0cyB0byBzdHJpbmdzCiAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgcmVzdWx0ID0gcmVzdWx0LnN0cmluZwpAQCAtMzMzLDcgKzMzMiw2IEBACiAgICAgICAgICAgICAjIG11bHRpcGxlIHJlc3VsdHM6CiAgICAgICAgICAgICByZXN1bHQgPSB0dXBsZShbZ2V0YXR0cihyLCAic3RyaW5nIiwgcikgZm9yIHIgaW4gcmVzdWx0XSkKICAgICAgICAgICAgIGlmIHJlc3VsdDoKLSAgICAgICAgICAgICAgICBpbXBvcnQgb3MKICAgICAgICAgICAgICAgICBwYXRoLCBmaWxlID0gb3MucGF0aC5zcGxpdChyZXN1bHRbMF0pCiAgICAgICAgICAgICAgICAgc2VsZi5vcHRpb25zWyJpbml0aWFsZGlyIl0gPSBwYXRoCiAgICAgICAgICAgICAgICAgIyBkb24ndCBzZXQgaW5pdGlhbGZpbGUgb3IgZmlsZW5hbWUsIGFzIHdlIGhhdmUgbXVsdGlwbGUgb2YgdGhlc2UKZGlmZiAtLWdpdCBhL0xpYi90a2ludGVyL3Rlc3QvdGVzdF90a2ludGVyL3Rlc3RfdmFyaWFibGVzLnB5IGIvTGliL3RraW50ZXIvdGVzdC90ZXN0X3RraW50ZXIvdGVzdF92YXJpYWJsZXMucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGRiN2FjYQotLS0gL2Rldi9udWxsCisrKyBiL0xpYi90a2ludGVyL3Rlc3QvdGVzdF90a2ludGVyL3Rlc3RfdmFyaWFibGVzLnB5CkBAIC0wLDAgKzEsMTY1IEBACitpbXBvcnQgdW5pdHRlc3QKKworZnJvbSB0a2ludGVyIGltcG9ydCBWYXJpYWJsZSwgU3RyaW5nVmFyLCBJbnRWYXIsIERvdWJsZVZhciwgQm9vbGVhblZhciwgVGsKKworCitjbGFzcyBWYXIoVmFyaWFibGUpOgorCisgICAgX2RlZmF1bHQgPSAiZGVmYXVsdCIKKyAgICBzaWRlX2VmZmVjdCA9IEZhbHNlCisKKyAgICBkZWYgc2V0KHNlbGYsIHZhbHVlKToKKyAgICAgICAgc2VsZi5zaWRlX2VmZmVjdCA9IFRydWUKKyAgICAgICAgc3VwZXIoKS5zZXQodmFsdWUpCisKKworY2xhc3MgVGVzdEJhc2UodW5pdHRlc3QuVGVzdENhc2UpOgorCisgICAgZGVmIHNldFVwKHNlbGYpOgorICAgICAgICBzZWxmLnJvb3QgPSBUaygpCisKKyAgICBkZWYgdGVhckRvd24oc2VsZik6CisgICAgICAgIHNlbGYucm9vdC5kZXN0cm95KCkKKworCitjbGFzcyBUZXN0VmFyaWFibGUoVGVzdEJhc2UpOgorCisgICAgZGVmIHRlc3RfZGVmYXVsdChzZWxmKToKKyAgICAgICAgdiA9IFZhcmlhYmxlKHNlbGYucm9vdCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgiIiwgdi5nZXQoKSkKKyAgICAgICAgc2VsZi5hc3NlcnRSZWdleChzdHIodiksIHIiXlBZX1ZBUihcZCspJCIpCisKKyAgICBkZWYgdGVzdF9uYW1lX2FuZF92YWx1ZShzZWxmKToKKyAgICAgICAgdiA9IFZhcmlhYmxlKHNlbGYucm9vdCwgInNhbXBsZSBzdHJpbmciLCAidmFybmFtZSIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoInNhbXBsZSBzdHJpbmciLCB2LmdldCgpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCJ2YXJuYW1lIiwgc3RyKHYpKQorCisgICAgZGVmIHRlc3RfX19kZWxfXyhzZWxmKToKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShzZWxmLnJvb3QuY2FsbCgiaW5mbyIsICJleGlzdHMiLCAidmFybmFtZSIpKQorICAgICAgICB2ID0gVmFyaWFibGUoc2VsZi5yb290LCAic2FtcGxlIHN0cmluZyIsICJ2YXJuYW1lIikKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHNlbGYucm9vdC5jYWxsKCJpbmZvIiwgImV4aXN0cyIsICJ2YXJuYW1lIikpCisgICAgICAgIGRlbCB2CisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2Uoc2VsZi5yb290LmNhbGwoImluZm8iLCAiZXhpc3RzIiwgInZhcm5hbWUiKSkKKworICAgIGRlZiB0ZXN0X2RvbnRfdW5zZXRfbm90X2V4aXN0aW5nKHNlbGYpOgorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKHNlbGYucm9vdC5jYWxsKCJpbmZvIiwgImV4aXN0cyIsICJ2YXJuYW1lIikpCisgICAgICAgIHYxID0gVmFyaWFibGUoc2VsZi5yb290LCBuYW1lPSJuYW1lIikKKyAgICAgICAgdjIgPSBWYXJpYWJsZShzZWxmLnJvb3QsIG5hbWU9Im5hbWUiKQorICAgICAgICBkZWwgdjEKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShzZWxmLnJvb3QuY2FsbCgiaW5mbyIsICJleGlzdHMiLCAibmFtZSIpKQorICAgICAgICAjIHNob3VsZG4ndCByYWlzZSBleGNlcHRpb24KKyAgICAgICAgZGVsIHYyCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2Uoc2VsZi5yb290LmNhbGwoImluZm8iLCAiZXhpc3RzIiwgIm5hbWUiKSkKKworICAgIGRlZiB0ZXN0X19fZXFfXyhzZWxmKToKKyAgICAgICAgIyB2YWx1ZXMgZG9lc24ndCBtYXR0ZXIsIG9ubHkgY2xhc3MgYW5kIG5hbWUgYXJlIGNoZWNrZWQKKyAgICAgICAgdjEgPSBWYXJpYWJsZShzZWxmLnJvb3QsIG5hbWU9ImFiYyIpCisgICAgICAgIHYyID0gVmFyaWFibGUoc2VsZi5yb290LCBuYW1lPSJhYmMiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHYxLCB2MikKKworICAgICAgICB2MyA9IFZhcmlhYmxlKHNlbGYucm9vdCwgbmFtZT0iYWJjIikKKyAgICAgICAgdjQgPSBTdHJpbmdWYXIoc2VsZi5yb290LCBuYW1lPSJhYmMiKQorICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKHYzLCB2NCkKKworICAgIGRlZiB0ZXN0X2ludmFsaWRfbmFtZShzZWxmKToKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IpOgorICAgICAgICAgICAgVmFyaWFibGUoc2VsZi5yb290LCBuYW1lPTEyMykKKworICAgIGRlZiB0ZXN0X2luaXRpYWxpemUoc2VsZik6CisgICAgICAgIHYgPSBWYXIoKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKHYuc2lkZV9lZmZlY3QpCisgICAgICAgIHYuc2V0KCJ2YWx1ZSIpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSh2LnNpZGVfZWZmZWN0KQorCisKK2NsYXNzIFRlc3RTdHJpbmdWYXIoVGVzdEJhc2UpOgorCisgICAgZGVmIHRlc3RfZGVmYXVsdChzZWxmKToKKyAgICAgICAgdiA9IFN0cmluZ1ZhcihzZWxmLnJvb3QpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoIiIsIHYuZ2V0KCkpCisKKyAgICBkZWYgdGVzdF9nZXQoc2VsZik6CisgICAgICAgIHYgPSBTdHJpbmdWYXIoc2VsZi5yb290LCAiYWJjIiwgIm5hbWUiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKCJhYmMiLCB2LmdldCgpKQorICAgICAgICBzZWxmLnJvb3QuZ2xvYmFsc2V0dmFyKCJuYW1lIiwgVHJ1ZSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgiMSIsIHYuZ2V0KCkpCisKKworY2xhc3MgVGVzdEludFZhcihUZXN0QmFzZSk6CisKKyAgICBkZWYgdGVzdF9kZWZhdWx0KHNlbGYpOgorICAgICAgICB2ID0gSW50VmFyKHNlbGYucm9vdCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgwLCB2LmdldCgpKQorCisgICAgZGVmIHRlc3RfZ2V0KHNlbGYpOgorICAgICAgICB2ID0gSW50VmFyKHNlbGYucm9vdCwgMTIzLCAibmFtZSIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoMTIzLCB2LmdldCgpKQorICAgICAgICBzZWxmLnJvb3QuZ2xvYmFsc2V0dmFyKCJuYW1lIiwgIjM0NSIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoMzQ1LCB2LmdldCgpKQorCisgICAgZGVmIHRlc3RfaW52YWxpZF92YWx1ZShzZWxmKToKKyAgICAgICAgdiA9IEludFZhcihzZWxmLnJvb3QsIG5hbWU9Im5hbWUiKQorICAgICAgICBzZWxmLnJvb3QuZ2xvYmFsc2V0dmFyKCJuYW1lIiwgInZhbHVlIikKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhWYWx1ZUVycm9yKToKKyAgICAgICAgICAgIHYuZ2V0KCkKKyAgICAgICAgc2VsZi5yb290Lmdsb2JhbHNldHZhcigibmFtZSIsICIzNDUuMCIpCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvcik6CisgICAgICAgICAgICB2LmdldCgpCisKKworY2xhc3MgVGVzdERvdWJsZVZhcihUZXN0QmFzZSk6CisKKyAgICBkZWYgdGVzdF9kZWZhdWx0KHNlbGYpOgorICAgICAgICB2ID0gRG91YmxlVmFyKHNlbGYucm9vdCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgwLjAsIHYuZ2V0KCkpCisKKyAgICBkZWYgdGVzdF9nZXQoc2VsZik6CisgICAgICAgIHYgPSBEb3VibGVWYXIoc2VsZi5yb290LCAxLjIzLCAibmFtZSIpCisgICAgICAgIHNlbGYuYXNzZXJ0QWxtb3N0RXF1YWwoMS4yMywgdi5nZXQoKSkKKyAgICAgICAgc2VsZi5yb290Lmdsb2JhbHNldHZhcigibmFtZSIsICIzLjQ1IikKKyAgICAgICAgc2VsZi5hc3NlcnRBbG1vc3RFcXVhbCgzLjQ1LCB2LmdldCgpKQorCisgICAgZGVmIHRlc3RfZ2V0X2Zyb21faW50KHNlbGYpOgorICAgICAgICB2ID0gRG91YmxlVmFyKHNlbGYucm9vdCwgMS4yMywgIm5hbWUiKQorICAgICAgICBzZWxmLmFzc2VydEFsbW9zdEVxdWFsKDEuMjMsIHYuZ2V0KCkpCisgICAgICAgIHNlbGYucm9vdC5nbG9iYWxzZXR2YXIoIm5hbWUiLCAiMy40NSIpCisgICAgICAgIHNlbGYuYXNzZXJ0QWxtb3N0RXF1YWwoMy40NSwgdi5nZXQoKSkKKyAgICAgICAgc2VsZi5yb290Lmdsb2JhbHNldHZhcigibmFtZSIsICI0NTYiKQorICAgICAgICBzZWxmLmFzc2VydEFsbW9zdEVxdWFsKDQ1Niwgdi5nZXQoKSkKKworICAgIGRlZiB0ZXN0X2ludmFsaWRfdmFsdWUoc2VsZik6CisgICAgICAgIHYgPSBEb3VibGVWYXIoc2VsZi5yb290LCBuYW1lPSJuYW1lIikKKyAgICAgICAgc2VsZi5yb290Lmdsb2JhbHNldHZhcigibmFtZSIsICJ2YWx1ZSIpCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvcik6CisgICAgICAgICAgICB2LmdldCgpCisKKworY2xhc3MgVGVzdEJvb2xlYW5WYXIoVGVzdEJhc2UpOgorCisgICAgZGVmIHRlc3RfZGVmYXVsdChzZWxmKToKKyAgICAgICAgdiA9IEJvb2xlYW5WYXIoc2VsZi5yb290KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKEZhbHNlLCB2LmdldCgpKQorCisgICAgZGVmIHRlc3RfZ2V0KHNlbGYpOgorICAgICAgICB2ID0gQm9vbGVhblZhcihzZWxmLnJvb3QsIFRydWUsICJuYW1lIikKKyAgICAgICAgc2VsZi5hc3NlcnRBbG1vc3RFcXVhbChUcnVlLCB2LmdldCgpKQorICAgICAgICBzZWxmLnJvb3QuZ2xvYmFsc2V0dmFyKCJuYW1lIiwgIjAiKQorICAgICAgICBzZWxmLmFzc2VydEFsbW9zdEVxdWFsKEZhbHNlLCB2LmdldCgpKQorCisgICAgZGVmIHRlc3RfaW52YWxpZF92YWx1ZV9kb21haW4oc2VsZik6CisgICAgICAgIHYgPSBCb29sZWFuVmFyKHNlbGYucm9vdCwgbmFtZT0ibmFtZSIpCisgICAgICAgIHNlbGYucm9vdC5nbG9iYWxzZXR2YXIoIm5hbWUiLCAidmFsdWUiKQorICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IpOgorICAgICAgICAgICAgdi5nZXQoKQorICAgICAgICBzZWxmLnJvb3QuZ2xvYmFsc2V0dmFyKCJuYW1lIiwgIjEuMCIpCisgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvcik6CisgICAgICAgICAgICB2LmdldCgpCisKKwordGVzdHNfZ3VpID0gKFRlc3RWYXJpYWJsZSwgVGVzdFN0cmluZ1ZhciwgVGVzdEludFZhciwKKyAgICAgICAgICAgICBUZXN0RG91YmxlVmFyLCBUZXN0Qm9vbGVhblZhcikKKworCitpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgorICAgIGZyb20gdGVzdC5zdXBwb3J0IGltcG9ydCBydW5fdW5pdHRlc3QKKyAgICBydW5fdW5pdHRlc3QoKnRlc3RzX2d1aSkKZGlmZiAtLWdpdCBhL0xpYi90b2tlbml6ZS5weSBiL0xpYi90b2tlbml6ZS5weQppbmRleCBmNTc1ZTliLi43NDE0MTdhIDEwMDY0NAotLS0gYS9MaWIvdG9rZW5pemUucHkKKysrIGIvTGliL3Rva2VuaXplLnB5CkBAIC00NSw2ICs0NSw1MSBAQAogRU5DT0RJTkcgPSBOX1RPS0VOUyArIDIKIHRva19uYW1lW0VOQ09ESU5HXSA9ICdFTkNPRElORycKIE5fVE9LRU5TICs9IDMKK0VYQUNUX1RPS0VOX1RZUEVTID0geworICAgICcoJzogICBMUEFSLAorICAgICcpJzogICBSUEFSLAorICAgICdbJzogICBMU1FCLAorICAgICddJzogICBSU1FCLAorICAgICc6JzogICBDT0xPTiwKKyAgICAnLCc6ICAgQ09NTUEsCisgICAgJzsnOiAgIFNFTUksCisgICAgJysnOiAgIFBMVVMsCisgICAgJy0nOiAgIE1JTlVTLAorICAgICcqJzogICBTVEFSLAorICAgICcvJzogICBTTEFTSCwKKyAgICAnfCc6ICAgVkJBUiwKKyAgICAnJic6ICAgQU1QRVIsCisgICAgJzwnOiAgIExFU1MsCisgICAgJz4nOiAgIEdSRUFURVIsCisgICAgJz0nOiAgIEVRVUFMLAorICAgICcuJzogICBET1QsCisgICAgJyUnOiAgIFBFUkNFTlQsCisgICAgJ3snOiAgIExCUkFDRSwKKyAgICAnfSc6ICAgUkJSQUNFLAorICAgICc9PSc6ICBFUUVRVUFMLAorICAgICchPSc6ICBOT1RFUVVBTCwKKyAgICAnPD0nOiAgTEVTU0VRVUFMLAorICAgICc+PSc6ICBHUkVBVEVSRVFVQUwsCisgICAgJ34nOiAgIFRJTERFLAorICAgICdeJzogICBDSVJDVU1GTEVYLAorICAgICc8PCc6ICBMRUZUU0hJRlQsCisgICAgJz4+JzogIFJJR0hUU0hJRlQsCisgICAgJyoqJzogIERPVUJMRVNUQVIsCisgICAgJys9JzogIFBMVVNFUVVBTCwKKyAgICAnLT0nOiAgTUlORVFVQUwsCisgICAgJyo9JzogIFNUQVJFUVVBTCwKKyAgICAnLz0nOiAgU0xBU0hFUVVBTCwKKyAgICAnJT0nOiAgUEVSQ0VOVEVRVUFMLAorICAgICcmPSc6ICBBTVBFUkVRVUFMLAorICAgICd8PSc6ICBWQkFSRVFVQUwsCisgICAgJ149JzogQ0lSQ1VNRkxFWEVRVUFMLAorICAgICc8PD0nOiBMRUZUU0hJRlRFUVVBTCwKKyAgICAnPj49JzogUklHSFRTSElGVEVRVUFMLAorICAgICcqKj0nOiBET1VCTEVTVEFSRVFVQUwsCisgICAgJy8vJzogIERPVUJMRVNMQVNILAorICAgICcvLz0nOiBET1VCTEVTTEFTSEVRVUFMLAorICAgICdAJzogICBBVAorfQogCiBjbGFzcyBUb2tlbkluZm8oY29sbGVjdGlvbnMubmFtZWR0dXBsZSgnVG9rZW5JbmZvJywgJ3R5cGUgc3RyaW5nIHN0YXJ0IGVuZCBsaW5lJykpOgogICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKQEAgLTUyLDYgKzk3LDEzIEBACiAgICAgICAgIHJldHVybiAoJ1Rva2VuSW5mbyh0eXBlPSVzLCBzdHJpbmc9JXIsIHN0YXJ0PSVyLCBlbmQ9JXIsIGxpbmU9JXIpJyAlCiAgICAgICAgICAgICAgICAgc2VsZi5fcmVwbGFjZSh0eXBlPWFubm90YXRlZF90eXBlKSkKIAorICAgIEBwcm9wZXJ0eQorICAgIGRlZiBleGFjdF90eXBlKHNlbGYpOgorICAgICAgICBpZiBzZWxmLnR5cGUgPT0gT1AgYW5kIHNlbGYuc3RyaW5nIGluIEVYQUNUX1RPS0VOX1RZUEVTOgorICAgICAgICAgICAgcmV0dXJuIEVYQUNUX1RPS0VOX1RZUEVTW3NlbGYuc3RyaW5nXQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmV0dXJuIHNlbGYudHlwZQorCiBkZWYgZ3JvdXAoKmNob2ljZXMpOiByZXR1cm4gJygnICsgJ3wnLmpvaW4oY2hvaWNlcykgKyAnKScKIGRlZiBhbnkoKmNob2ljZXMpOiByZXR1cm4gZ3JvdXAoKmNob2ljZXMpICsgJyonCiBkZWYgbWF5YmUoKmNob2ljZXMpOiByZXR1cm4gZ3JvdXAoKmNob2ljZXMpICsgJz8nCkBAIC03NSw2ICsxMjcsOCBAQAogSW1hZ251bWJlciA9IGdyb3VwKHInWzAtOV0rW2pKXScsIEZsb2F0bnVtYmVyICsgcidbakpdJykKIE51bWJlciA9IGdyb3VwKEltYWdudW1iZXIsIEZsb2F0bnVtYmVyLCBJbnRudW1iZXIpCiAKK1N0cmluZ1ByZWZpeCA9IHInKD86W3VVXVtyUl0/fFtiQl1bclJdfFtyUl1bYkJdfFtyUl18W3VVXSk/JworCiAjIFRhaWwgZW5kIG9mICcgc3RyaW5nLgogU2luZ2xlID0gciJbXidcXF0qKD86XFwuW14nXFxdKikqJyIKICMgVGFpbCBlbmQgb2YgIiBzdHJpbmcuCkBAIC04MywxMCArMTM3LDEwIEBACiBTaW5nbGUzID0gciJbXidcXF0qKD86KD86XFwufCcoPyEnJykpW14nXFxdKikqJycnIgogIyBUYWlsIGVuZCBvZiAiIiIgc3RyaW5nLgogRG91YmxlMyA9IHInW14iXFxdKig/Oig/OlxcLnwiKD8hIiIpKVteIlxcXSopKiIiIicKLVRyaXBsZSA9IGdyb3VwKCJbYkJdP1tyUl0/JycnIiwgJ1tiQl0/W3JSXT8iIiInKQorVHJpcGxlID0gZ3JvdXAoU3RyaW5nUHJlZml4ICsgIicnJyIsIFN0cmluZ1ByZWZpeCArICciIiInKQogIyBTaW5nbGUtbGluZSAnIG9yICIgc3RyaW5nLgotU3RyaW5nID0gZ3JvdXAociJbYkJdP1tyUl0/J1teXG4nXFxdKig/OlxcLlteXG4nXFxdKikqJyIsCi0gICAgICAgICAgICAgICByJ1tiQl0/W3JSXT8iW15cbiJcXF0qKD86XFwuW15cbiJcXF0qKSoiJykKK1N0cmluZyA9IGdyb3VwKFN0cmluZ1ByZWZpeCArIHIiJ1teXG4nXFxdKig/OlxcLlteXG4nXFxdKikqJyIsCisgICAgICAgICAgICAgICBTdHJpbmdQcmVmaXggKyByJyJbXlxuIlxcXSooPzpcXC5bXlxuIlxcXSopKiInKQogCiAjIEJlY2F1c2Ugb2YgbGVmdG1vc3QtdGhlbi1sb25nZXN0IG1hdGNoIHNlbWFudGljcywgYmUgc3VyZSB0byBwdXQgdGhlCiAjIGxvbmdlc3Qgb3BlcmF0b3JzIGZpcnN0IChlLmcuLCBpZiA9IGNhbWUgYmVmb3JlID09LCA9PSB3b3VsZCBnZXQKQEAgLTEwNCw5ICsxNTgsOSBAQAogVG9rZW4gPSBJZ25vcmUgKyBQbGFpblRva2VuCiAKICMgRmlyc3QgKG9yIG9ubHkpIGxpbmUgb2YgJyBvciAiIHN0cmluZy4KLUNvbnRTdHIgPSBncm91cChyIltiQl0/W3JSXT8nW15cbidcXF0qKD86XFwuW15cbidcXF0qKSoiICsKK0NvbnRTdHIgPSBncm91cChTdHJpbmdQcmVmaXggKyByIidbXlxuJ1xcXSooPzpcXC5bXlxuJ1xcXSopKiIgKwogICAgICAgICAgICAgICAgIGdyb3VwKCInIiwgcidcXFxyP1xuJyksCi0gICAgICAgICAgICAgICAgcidbYkJdP1tyUl0/IlteXG4iXFxdKig/OlxcLlteXG4iXFxdKikqJyArCisgICAgICAgICAgICAgICAgU3RyaW5nUHJlZml4ICsgciciW15cbiJcXF0qKD86XFwuW15cbiJcXF0qKSonICsKICAgICAgICAgICAgICAgICBncm91cCgnIicsIHInXFxccj9cbicpKQogUHNldWRvRXh0cmFzID0gZ3JvdXAocidcXFxyP1xuJywgQ29tbWVudCwgVHJpcGxlKQogUHNldWRvVG9rZW4gPSBXaGl0ZXNwYWNlICsgZ3JvdXAoUHNldWRvRXh0cmFzLCBOdW1iZXIsIEZ1bm55LCBDb250U3RyLCBOYW1lKQpAQCAtMTE0LDM3ICsxNjgsNTUgQEAKIGRlZiBfY29tcGlsZShleHByKToKICAgICByZXR1cm4gcmUuY29tcGlsZShleHByLCByZS5VTklDT0RFKQogCi10b2tlbnByb2csIHBzZXVkb3Byb2csIHNpbmdsZTNwcm9nLCBkb3VibGUzcHJvZyA9IG1hcCgKLSAgICBfY29tcGlsZSwgKFRva2VuLCBQc2V1ZG9Ub2tlbiwgU2luZ2xlMywgRG91YmxlMykpCi1lbmRwcm9ncyA9IHsiJyI6IF9jb21waWxlKFNpbmdsZSksICciJzogX2NvbXBpbGUoRG91YmxlKSwKLSAgICAgICAgICAgICInJyciOiBzaW5nbGUzcHJvZywgJyIiIic6IGRvdWJsZTNwcm9nLAotICAgICAgICAgICAgInInJyciOiBzaW5nbGUzcHJvZywgJ3IiIiInOiBkb3VibGUzcHJvZywKLSAgICAgICAgICAgICJiJycnIjogc2luZ2xlM3Byb2csICdiIiIiJzogZG91YmxlM3Byb2csCi0gICAgICAgICAgICAiYnInJyciOiBzaW5nbGUzcHJvZywgJ2JyIiIiJzogZG91YmxlM3Byb2csCi0gICAgICAgICAgICAiUicnJyI6IHNpbmdsZTNwcm9nLCAnUiIiIic6IGRvdWJsZTNwcm9nLAotICAgICAgICAgICAgIkInJyciOiBzaW5nbGUzcHJvZywgJ0IiIiInOiBkb3VibGUzcHJvZywKLSAgICAgICAgICAgICJiUicnJyI6IHNpbmdsZTNwcm9nLCAnYlIiIiInOiBkb3VibGUzcHJvZywKLSAgICAgICAgICAgICJCcicnJyI6IHNpbmdsZTNwcm9nLCAnQnIiIiInOiBkb3VibGUzcHJvZywKLSAgICAgICAgICAgICJCUicnJyI6IHNpbmdsZTNwcm9nLCAnQlIiIiInOiBkb3VibGUzcHJvZywKLSAgICAgICAgICAgICdyJzogTm9uZSwgJ1InOiBOb25lLCAnYic6IE5vbmUsICdCJzogTm9uZX0KK2VuZHBhdHMgPSB7IiciOiBTaW5nbGUsICciJzogRG91YmxlLAorICAgICAgICAgICAiJycnIjogU2luZ2xlMywgJyIiIic6IERvdWJsZTMsCisgICAgICAgICAgICJyJycnIjogU2luZ2xlMywgJ3IiIiInOiBEb3VibGUzLAorICAgICAgICAgICAiYicnJyI6IFNpbmdsZTMsICdiIiIiJzogRG91YmxlMywKKyAgICAgICAgICAgIlInJyciOiBTaW5nbGUzLCAnUiIiIic6IERvdWJsZTMsCisgICAgICAgICAgICJCJycnIjogU2luZ2xlMywgJ0IiIiInOiBEb3VibGUzLAorICAgICAgICAgICAiYnInJyciOiBTaW5nbGUzLCAnYnIiIiInOiBEb3VibGUzLAorICAgICAgICAgICAiYlInJyciOiBTaW5nbGUzLCAnYlIiIiInOiBEb3VibGUzLAorICAgICAgICAgICAiQnInJyciOiBTaW5nbGUzLCAnQnIiIiInOiBEb3VibGUzLAorICAgICAgICAgICAiQlInJyciOiBTaW5nbGUzLCAnQlIiIiInOiBEb3VibGUzLAorICAgICAgICAgICAicmInJyciOiBTaW5nbGUzLCAncmIiIiInOiBEb3VibGUzLAorICAgICAgICAgICAiUmInJyciOiBTaW5nbGUzLCAnUmIiIiInOiBEb3VibGUzLAorICAgICAgICAgICAickInJyciOiBTaW5nbGUzLCAnckIiIiInOiBEb3VibGUzLAorICAgICAgICAgICAiUkInJyciOiBTaW5nbGUzLCAnUkIiIiInOiBEb3VibGUzLAorICAgICAgICAgICAidScnJyI6IFNpbmdsZTMsICd1IiIiJzogRG91YmxlMywKKyAgICAgICAgICAgInVyJycnIjogU2luZ2xlMywgJ3VyIiIiJzogRG91YmxlMywKKyAgICAgICAgICAgIlInJyciOiBTaW5nbGUzLCAnUiIiIic6IERvdWJsZTMsCisgICAgICAgICAgICJVJycnIjogU2luZ2xlMywgJ1UiIiInOiBEb3VibGUzLAorICAgICAgICAgICAidVInJyciOiBTaW5nbGUzLCAndVIiIiInOiBEb3VibGUzLAorICAgICAgICAgICAiVXInJyciOiBTaW5nbGUzLCAnVXIiIiInOiBEb3VibGUzLAorICAgICAgICAgICAiVVInJyciOiBTaW5nbGUzLCAnVVIiIiInOiBEb3VibGUzLAorICAgICAgICAgICAncic6IE5vbmUsICdSJzogTm9uZSwgJ2InOiBOb25lLCAnQic6IE5vbmUsCisgICAgICAgICAgICd1JzogTm9uZSwgJ1UnOiBOb25lfQogCiB0cmlwbGVfcXVvdGVkID0ge30KIGZvciB0IGluICgiJycnIiwgJyIiIicsCiAgICAgICAgICAgInInJyciLCAnciIiIicsICJSJycnIiwgJ1IiIiInLAogICAgICAgICAgICJiJycnIiwgJ2IiIiInLCAiQicnJyIsICdCIiIiJywKICAgICAgICAgICAiYnInJyciLCAnYnIiIiInLCAiQnInJyciLCAnQnIiIiInLAotICAgICAgICAgICJiUicnJyIsICdiUiIiIicsICJCUicnJyIsICdCUiIiIicpOgorICAgICAgICAgICJiUicnJyIsICdiUiIiIicsICJCUicnJyIsICdCUiIiIicsCisgICAgICAgICAgInJiJycnIiwgJ3JiIiIiJywgInJCJycnIiwgJ3JCIiIiJywKKyAgICAgICAgICAiUmInJyciLCAnUmIiIiInLCAiUkInJyciLCAnUkIiIiInLAorICAgICAgICAgICJ1JycnIiwgJ3UiIiInLCAiVScnJyIsICdVIiIiJywKKyAgICAgICAgICAidXInJyciLCAndXIiIiInLCAiVXInJyciLCAnVXIiIiInLAorICAgICAgICAgICJ1UicnJyIsICd1UiIiIicsICJVUicnJyIsICdVUiIiIicpOgogICAgIHRyaXBsZV9xdW90ZWRbdF0gPSB0CiBzaW5nbGVfcXVvdGVkID0ge30KIGZvciB0IGluICgiJyIsICciJywKICAgICAgICAgICAiciciLCAnciInLCAiUiciLCAnUiInLAogICAgICAgICAgICJiJyIsICdiIicsICJCJyIsICdCIicsCiAgICAgICAgICAgImJyJyIsICdiciInLCAiQnInIiwgJ0JyIicsCi0gICAgICAgICAgImJSJyIsICdiUiInLCAiQlInIiwgJ0JSIicgKToKKyAgICAgICAgICAiYlInIiwgJ2JSIicsICJCUiciLCAnQlIiJyAsCisgICAgICAgICAgInJiJyIsICdyYiInLCAickInIiwgJ3JCIicsCisgICAgICAgICAgIlJiJyIsICdSYiInLCAiUkInIiwgJ1JCIicgLAorICAgICAgICAgICJ1JyIsICd1IicsICJVJyIsICdVIicsCisgICAgICAgICAgInVyJyIsICd1ciInLCAiVXInIiwgJ1VyIicsCisgICAgICAgICAgInVSJyIsICd1UiInLCAiVVInIiwgJ1VSIicgKToKICAgICBzaW5nbGVfcXVvdGVkW3RdID0gdAogCi1kZWwgX2NvbXBpbGUKLQogdGFic2l6ZSA9IDgKIAogY2xhc3MgVG9rZW5FcnJvcihFeGNlcHRpb24pOiBwYXNzCkBAIC00NjYsNyArNTM4LDcgQEAKICAgICAgICAgICAgIGNvbnRpbnVlZCA9IDAKIAogICAgICAgICB3aGlsZSBwb3MgPCBtYXg6Ci0gICAgICAgICAgICBwc2V1ZG9tYXRjaCA9IHBzZXVkb3Byb2cubWF0Y2gobGluZSwgcG9zKQorICAgICAgICAgICAgcHNldWRvbWF0Y2ggPSBfY29tcGlsZShQc2V1ZG9Ub2tlbikubWF0Y2gobGluZSwgcG9zKQogICAgICAgICAgICAgaWYgcHNldWRvbWF0Y2g6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIHNjYW4gZm9yIHRva2VucwogICAgICAgICAgICAgICAgIHN0YXJ0LCBlbmQgPSBwc2V1ZG9tYXRjaC5zcGFuKDEpCiAgICAgICAgICAgICAgICAgc3BvcywgZXBvcywgcG9zID0gKGxudW0sIHN0YXJ0KSwgKGxudW0sIGVuZCksIGVuZApAQCAtNDgyLDcgKzU1NCw3IEBACiAgICAgICAgICAgICAgICAgICAgIGFzc2VydCBub3QgdG9rZW4uZW5kc3dpdGgoIlxuIikKICAgICAgICAgICAgICAgICAgICAgeWllbGQgVG9rZW5JbmZvKENPTU1FTlQsIHRva2VuLCBzcG9zLCBlcG9zLCBsaW5lKQogICAgICAgICAgICAgICAgIGVsaWYgdG9rZW4gaW4gdHJpcGxlX3F1b3RlZDoKLSAgICAgICAgICAgICAgICAgICAgZW5kcHJvZyA9IGVuZHByb2dzW3Rva2VuXQorICAgICAgICAgICAgICAgICAgICBlbmRwcm9nID0gX2NvbXBpbGUoZW5kcGF0c1t0b2tlbl0pCiAgICAgICAgICAgICAgICAgICAgIGVuZG1hdGNoID0gZW5kcHJvZy5tYXRjaChsaW5lLCBwb3MpCiAgICAgICAgICAgICAgICAgICAgIGlmIGVuZG1hdGNoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICMgYWxsIG9uIG9uZSBsaW5lCiAgICAgICAgICAgICAgICAgICAgICAgICBwb3MgPSBlbmRtYXRjaC5lbmQoMCkKQEAgLTQ5OCw4ICs1NzAsOSBAQAogICAgICAgICAgICAgICAgICAgICB0b2tlbls6M10gaW4gc2luZ2xlX3F1b3RlZDoKICAgICAgICAgICAgICAgICAgICAgaWYgdG9rZW5bLTFdID09ICdcbic6ICAgICAgICAgICAgICAgICAgIyBjb250aW51ZWQgc3RyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICBzdHJzdGFydCA9IChsbnVtLCBzdGFydCkKLSAgICAgICAgICAgICAgICAgICAgICAgIGVuZHByb2cgPSAoZW5kcHJvZ3NbaW5pdGlhbF0gb3IgZW5kcHJvZ3NbdG9rZW5bMV1dIG9yCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuZHByb2dzW3Rva2VuWzJdXSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGVuZHByb2cgPSBfY29tcGlsZShlbmRwYXRzW2luaXRpYWxdIG9yCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5kcGF0c1t0b2tlblsxXV0gb3IKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmRwYXRzW3Rva2VuWzJdXSkKICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRzdHIsIG5lZWRjb250ID0gbGluZVtzdGFydDpdLCAxCiAgICAgICAgICAgICAgICAgICAgICAgICBjb250bGluZSA9IGxpbmUKICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrCkBAIC01MzAsMjcgKzYwMyw2NSBAQAogZGVmIGdlbmVyYXRlX3Rva2VucyhyZWFkbGluZSk6CiAgICAgcmV0dXJuIF90b2tlbml6ZShyZWFkbGluZSwgTm9uZSkKIAorZGVmIG1haW4oKToKKyAgICBpbXBvcnQgYXJncGFyc2UKKworICAgICMgSGVscGVyIGVycm9yIGhhbmRsaW5nIHJvdXRpbmVzCisgICAgZGVmIHBlcnJvcihtZXNzYWdlKToKKyAgICAgICAgcHJpbnQobWVzc2FnZSwgZmlsZT1zeXMuc3RkZXJyKQorCisgICAgZGVmIGVycm9yKG1lc3NhZ2UsIGZpbGVuYW1lPU5vbmUsIGxvY2F0aW9uPU5vbmUpOgorICAgICAgICBpZiBsb2NhdGlvbjoKKyAgICAgICAgICAgIGFyZ3MgPSAoZmlsZW5hbWUsKSArIGxvY2F0aW9uICsgKG1lc3NhZ2UsKQorICAgICAgICAgICAgcGVycm9yKCIlczolZDolZDogZXJyb3I6ICVzIiAlIGFyZ3MpCisgICAgICAgIGVsaWYgZmlsZW5hbWU6CisgICAgICAgICAgICBwZXJyb3IoIiVzOiBlcnJvcjogJXMiICUgKGZpbGVuYW1lLCBtZXNzYWdlKSkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHBlcnJvcigiZXJyb3I6ICVzIiAlIG1lc3NhZ2UpCisgICAgICAgIHN5cy5leGl0KDEpCisKKyAgICAjIFBhcnNlIHRoZSBhcmd1bWVudHMgYW5kIG9wdGlvbnMKKyAgICBwYXJzZXIgPSBhcmdwYXJzZS5Bcmd1bWVudFBhcnNlcihwcm9nPSdweXRob24gLW0gdG9rZW5pemUnKQorICAgIHBhcnNlci5hZGRfYXJndW1lbnQoZGVzdD0nZmlsZW5hbWUnLCBuYXJncz0nPycsCisgICAgICAgICAgICAgICAgICAgICAgICBtZXRhdmFyPSdmaWxlbmFtZS5weScsCisgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSd0aGUgZmlsZSB0byB0b2tlbml6ZTsgZGVmYXVsdHMgdG8gc3RkaW4nKQorICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJy1lJywgJy0tZXhhY3QnLCBkZXN0PSdleGFjdCcsIGFjdGlvbj0nc3RvcmVfdHJ1ZScsCisgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSdkaXNwbGF5IHRva2VuIG5hbWVzIHVzaW5nIHRoZSBleGFjdCB0eXBlJykKKyAgICBhcmdzID0gcGFyc2VyLnBhcnNlX2FyZ3MoKQorCisgICAgdHJ5OgorICAgICAgICAjIFRva2VuaXplIHRoZSBpbnB1dAorICAgICAgICBpZiBhcmdzLmZpbGVuYW1lOgorICAgICAgICAgICAgZmlsZW5hbWUgPSBhcmdzLmZpbGVuYW1lCisgICAgICAgICAgICB3aXRoIGJ1aWx0aW5zLm9wZW4oZmlsZW5hbWUsICdyYicpIGFzIGY6CisgICAgICAgICAgICAgICAgdG9rZW5zID0gbGlzdCh0b2tlbml6ZShmLnJlYWRsaW5lKSkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGZpbGVuYW1lID0gIjxzdGRpbj4iCisgICAgICAgICAgICB0b2tlbnMgPSBfdG9rZW5pemUoc3lzLnN0ZGluLnJlYWRsaW5lLCBOb25lKQorCisgICAgICAgICMgT3V0cHV0IHRoZSB0b2tlbml6YXRpb24KKyAgICAgICAgZm9yIHRva2VuIGluIHRva2VuczoKKyAgICAgICAgICAgIHRva2VuX3R5cGUgPSB0b2tlbi50eXBlCisgICAgICAgICAgICBpZiBhcmdzLmV4YWN0OgorICAgICAgICAgICAgICAgIHRva2VuX3R5cGUgPSB0b2tlbi5leGFjdF90eXBlCisgICAgICAgICAgICB0b2tlbl9yYW5nZSA9ICIlZCwlZC0lZCwlZDoiICUgKHRva2VuLnN0YXJ0ICsgdG9rZW4uZW5kKQorICAgICAgICAgICAgcHJpbnQoIiUtMjBzJS0xNXMlLTE1ciIgJQorICAgICAgICAgICAgICAgICAgKHRva2VuX3JhbmdlLCB0b2tfbmFtZVt0b2tlbl90eXBlXSwgdG9rZW4uc3RyaW5nKSkKKyAgICBleGNlcHQgSW5kZW50YXRpb25FcnJvciBhcyBlcnI6CisgICAgICAgIGxpbmUsIGNvbHVtbiA9IGVyci5hcmdzWzFdWzE6M10KKyAgICAgICAgZXJyb3IoZXJyLmFyZ3NbMF0sIGZpbGVuYW1lLCAobGluZSwgY29sdW1uKSkKKyAgICBleGNlcHQgVG9rZW5FcnJvciBhcyBlcnI6CisgICAgICAgIGxpbmUsIGNvbHVtbiA9IGVyci5hcmdzWzFdCisgICAgICAgIGVycm9yKGVyci5hcmdzWzBdLCBmaWxlbmFtZSwgKGxpbmUsIGNvbHVtbikpCisgICAgZXhjZXB0IFN5bnRheEVycm9yIGFzIGVycjoKKyAgICAgICAgZXJyb3IoZXJyLCBmaWxlbmFtZSkKKyAgICBleGNlcHQgSU9FcnJvciBhcyBlcnI6CisgICAgICAgIGVycm9yKGVycikKKyAgICBleGNlcHQgS2V5Ym9hcmRJbnRlcnJ1cHQ6CisgICAgICAgIHByaW50KCJpbnRlcnJ1cHRlZFxuIikKKyAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGVycjoKKyAgICAgICAgcGVycm9yKCJ1bmV4cGVjdGVkIGVycm9yOiAlcyIgJSBlcnIpCisgICAgICAgIHJhaXNlCisKIGlmIF9fbmFtZV9fID09ICJfX21haW5fXyI6Ci0gICAgIyBRdWljayBzYW5pdHkgY2hlY2sKLSAgICBzID0gYicnJ2RlZiBwYXJzZWxpbmUoc2VsZiwgbGluZSk6Ci0gICAgICAgICAgICAiIiJQYXJzZSB0aGUgbGluZSBpbnRvIGEgY29tbWFuZCBuYW1lIGFuZCBhIHN0cmluZyBjb250YWluaW5nCi0gICAgICAgICAgICB0aGUgYXJndW1lbnRzLiAgUmV0dXJucyBhIHR1cGxlIGNvbnRhaW5pbmcgKGNvbW1hbmQsIGFyZ3MsIGxpbmUpLgotICAgICAgICAgICAgJ2NvbW1hbmQnIGFuZCAnYXJncycgbWF5IGJlIE5vbmUgaWYgdGhlIGxpbmUgY291bGRuJ3QgYmUgcGFyc2VkLgotICAgICAgICAgICAgIiIiCi0gICAgICAgICAgICBsaW5lID0gbGluZS5zdHJpcCgpCi0gICAgICAgICAgICBpZiBub3QgbGluZToKLSAgICAgICAgICAgICAgICByZXR1cm4gTm9uZSwgTm9uZSwgbGluZQotICAgICAgICAgICAgZWxpZiBsaW5lWzBdID09ICc/JzoKLSAgICAgICAgICAgICAgICBsaW5lID0gJ2hlbHAgJyArIGxpbmVbMTpdCi0gICAgICAgICAgICBlbGlmIGxpbmVbMF0gPT0gJyEnOgotICAgICAgICAgICAgICAgIGlmIGhhc2F0dHIoc2VsZiwgJ2RvX3NoZWxsJyk6Ci0gICAgICAgICAgICAgICAgICAgIGxpbmUgPSAnc2hlbGwgJyArIGxpbmVbMTpdCi0gICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE5vbmUsIE5vbmUsIGxpbmUKLSAgICAgICAgICAgIGksIG4gPSAwLCBsZW4obGluZSkKLSAgICAgICAgICAgIHdoaWxlIGkgPCBuIGFuZCBsaW5lW2ldIGluIHNlbGYuaWRlbnRjaGFyczogaSA9IGkrMQotICAgICAgICAgICAgY21kLCBhcmcgPSBsaW5lWzppXSwgbGluZVtpOl0uc3RyaXAoKQotICAgICAgICAgICAgcmV0dXJuIGNtZCwgYXJnLCBsaW5lCi0gICAgJycnCi0gICAgZm9yIHRvayBpbiB0b2tlbml6ZShpdGVyKHMuc3BsaXRsaW5lcygpKS5fX25leHRfXyk6Ci0gICAgICAgIHByaW50KHRvaykKKyAgICBtYWluKCkKZGlmZiAtLWdpdCBhL0xpYi90cmFjZWJhY2sucHkgYi9MaWIvdHJhY2ViYWNrLnB5CmluZGV4IDhkNGU5NmUuLjM1ODU4YWYgMTAwNjQ0Ci0tLSBhL0xpYi90cmFjZWJhY2sucHkKKysrIGIvTGliL3RyYWNlYmFjay5weQpAQCAtMTIwLDE0ICsxMjAsMTQgQEAKICAgICBzZWVuLmFkZChleGMpCiAgICAgaXRzID0gW10KICAgICBjYXVzZSA9IGV4Yy5fX2NhdXNlX18KLSAgICBpZiBjYXVzZSBpcyBub3QgTm9uZSBhbmQgY2F1c2Ugbm90IGluIHNlZW46Ci0gICAgICAgIGl0cy5hcHBlbmQoX2l0ZXJfY2hhaW4oY2F1c2UsIE5vbmUsIHNlZW4pKQotICAgICAgICBpdHMuYXBwZW5kKFsoX2NhdXNlX21lc3NhZ2UsIE5vbmUpXSkKLSAgICBlbHNlOgorICAgIGlmIGNhdXNlIGlzIEVsbGlwc2lzOgogICAgICAgICBjb250ZXh0ID0gZXhjLl9fY29udGV4dF9fCiAgICAgICAgIGlmIGNvbnRleHQgaXMgbm90IE5vbmUgYW5kIGNvbnRleHQgbm90IGluIHNlZW46CiAgICAgICAgICAgICBpdHMuYXBwZW5kKF9pdGVyX2NoYWluKGNvbnRleHQsIE5vbmUsIHNlZW4pKQogICAgICAgICAgICAgaXRzLmFwcGVuZChbKF9jb250ZXh0X21lc3NhZ2UsIE5vbmUpXSkKKyAgICBlbGlmIGNhdXNlIGlzIG5vdCBOb25lIGFuZCBjYXVzZSBub3QgaW4gc2VlbjoKKyAgICAgICAgaXRzLmFwcGVuZChfaXRlcl9jaGFpbihjYXVzZSwgRmFsc2UsIHNlZW4pKQorICAgICAgICBpdHMuYXBwZW5kKFsoX2NhdXNlX21lc3NhZ2UsIE5vbmUpXSkKICAgICBpdHMuYXBwZW5kKFsoZXhjLCBjdXN0b21fdGIgb3IgZXhjLl9fdHJhY2ViYWNrX18pXSkKICAgICAjIGl0ZXJ0b29scy5jaGFpbiBpcyBpbiBhbiBleHRlbnNpb24gbW9kdWxlIGFuZCBtYXkgYmUgdW5hdmFpbGFibGUKICAgICBmb3IgaXQgaW4gaXRzOgpkaWZmIC0tZ2l0IGEvTGliL3R1cnRsZS5weSBiL0xpYi90dXJ0bGUucHkKaW5kZXggYWMwYzMyYy4uYTQ0NzQzMyAxMDA2NDQKLS0tIGEvTGliL3R1cnRsZS5weQorKysgYi9MaWIvdHVydGxlLnB5CkBAIC0xMDgsNyArMTA4LDYgQEAKIGltcG9ydCB0eXBlcwogaW1wb3J0IG1hdGgKIGltcG9ydCB0aW1lCi1pbXBvcnQgb3MKIGltcG9ydCBpbnNwZWN0CiAKIGZyb20gb3MucGF0aCBpbXBvcnQgaXNmaWxlLCBzcGxpdCwgam9pbgpkaWZmIC0tZ2l0IGEvTGliL3VuaXR0ZXN0L2Nhc2UucHkgYi9MaWIvdW5pdHRlc3QvY2FzZS5weQppbmRleCAzMTMzOTA3Li41YmVkODY4IDEwMDY0NAotLS0gYS9MaWIvdW5pdHRlc3QvY2FzZS5weQorKysgYi9MaWIvdW5pdHRlc3QvY2FzZS5weQpAQCAtOSw4ICs5LDcgQEAKIGltcG9ydCBjb2xsZWN0aW9ucwogCiBmcm9tIC4gaW1wb3J0IHJlc3VsdAotZnJvbSAudXRpbCBpbXBvcnQgKHN0cmNsYXNzLCBzYWZlX3JlcHIsIHNvcnRlZF9saXN0X2RpZmZlcmVuY2UsCi0gICAgICAgICAgICAgICAgICAgdW5vcmRlcmFibGVfbGlzdF9kaWZmZXJlbmNlLCBfY291bnRfZGlmZl9hbGxfcHVycG9zZSwKK2Zyb20gLnV0aWwgaW1wb3J0IChzdHJjbGFzcywgc2FmZV9yZXByLCBfY291bnRfZGlmZl9hbGxfcHVycG9zZSwKICAgICAgICAgICAgICAgICAgICBfY291bnRfZGlmZl9oYXNoYWJsZSkKIAogX191bml0dGVzdCA9IFRydWUKQEAgLTEwNCw5ICsxMDMsOSBAQAogY2xhc3MgX0Fzc2VydFJhaXNlc0Jhc2VDb250ZXh0KG9iamVjdCk6CiAKICAgICBkZWYgX19pbml0X18oc2VsZiwgZXhwZWN0ZWQsIHRlc3RfY2FzZSwgY2FsbGFibGVfb2JqPU5vbmUsCi0gICAgICAgICAgICAgICAgICBleHBlY3RlZF9yZWdleD1Ob25lKToKKyAgICAgICAgICAgICAgICAgZXhwZWN0ZWRfcmVnZXg9Tm9uZSk6CiAgICAgICAgIHNlbGYuZXhwZWN0ZWQgPSBleHBlY3RlZAotICAgICAgICBzZWxmLmZhaWx1cmVFeGNlcHRpb24gPSB0ZXN0X2Nhc2UuZmFpbHVyZUV4Y2VwdGlvbgorICAgICAgICBzZWxmLnRlc3RfY2FzZSA9IHRlc3RfY2FzZQogICAgICAgICBpZiBjYWxsYWJsZV9vYmogaXMgbm90IE5vbmU6CiAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgc2VsZi5vYmpfbmFtZSA9IGNhbGxhYmxlX29iai5fX25hbWVfXwpAQCAtMTE3LDYgKzExNiwyNCBAQAogICAgICAgICBpZiBpc2luc3RhbmNlKGV4cGVjdGVkX3JlZ2V4LCAoYnl0ZXMsIHN0cikpOgogICAgICAgICAgICAgZXhwZWN0ZWRfcmVnZXggPSByZS5jb21waWxlKGV4cGVjdGVkX3JlZ2V4KQogICAgICAgICBzZWxmLmV4cGVjdGVkX3JlZ2V4ID0gZXhwZWN0ZWRfcmVnZXgKKyAgICAgICAgc2VsZi5tc2cgPSBOb25lCisKKyAgICBkZWYgX3JhaXNlRmFpbHVyZShzZWxmLCBzdGFuZGFyZE1zZyk6CisgICAgICAgIG1zZyA9IHNlbGYudGVzdF9jYXNlLl9mb3JtYXRNZXNzYWdlKHNlbGYubXNnLCBzdGFuZGFyZE1zZykKKyAgICAgICAgcmFpc2Ugc2VsZi50ZXN0X2Nhc2UuZmFpbHVyZUV4Y2VwdGlvbihtc2cpCisKKyAgICBkZWYgaGFuZGxlKHNlbGYsIG5hbWUsIGNhbGxhYmxlX29iaiwgYXJncywga3dhcmdzKToKKyAgICAgICAgIiIiCisgICAgICAgIElmIGNhbGxhYmxlX29iaiBpcyBOb25lLCBhc3NlcnRSYWlzZXMvV2FybnMgaXMgYmVpbmcgdXNlZCBhcyBhCisgICAgICAgIGNvbnRleHQgbWFuYWdlciwgc28gY2hlY2sgZm9yIGEgJ21zZycga3dhcmcgYW5kIHJldHVybiBzZWxmLgorICAgICAgICBJZiBjYWxsYWJsZV9vYmogaXMgbm90IE5vbmUsIGNhbGwgaXQgcGFzc2luZyBhcmdzIGFuZCBrd2FyZ3MuCisgICAgICAgICIiIgorICAgICAgICBpZiBjYWxsYWJsZV9vYmogaXMgTm9uZToKKyAgICAgICAgICAgIHNlbGYubXNnID0ga3dhcmdzLnBvcCgnbXNnJywgTm9uZSkKKyAgICAgICAgICAgIHJldHVybiBzZWxmCisgICAgICAgIHdpdGggc2VsZjoKKyAgICAgICAgICAgIGNhbGxhYmxlX29iaigqYXJncywgKiprd2FyZ3MpCisKIAogCiBjbGFzcyBfQXNzZXJ0UmFpc2VzQ29udGV4dChfQXNzZXJ0UmFpc2VzQmFzZUNvbnRleHQpOgpAQCAtMTMyLDExICsxNDksMTAgQEAKICAgICAgICAgICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKICAgICAgICAgICAgICAgICBleGNfbmFtZSA9IHN0cihzZWxmLmV4cGVjdGVkKQogICAgICAgICAgICAgaWYgc2VsZi5vYmpfbmFtZToKLSAgICAgICAgICAgICAgICByYWlzZSBzZWxmLmZhaWx1cmVFeGNlcHRpb24oInswfSBub3QgcmFpc2VkIGJ5IHsxfSIKLSAgICAgICAgICAgICAgICAgICAgLmZvcm1hdChleGNfbmFtZSwgc2VsZi5vYmpfbmFtZSkpCisgICAgICAgICAgICAgICAgc2VsZi5fcmFpc2VGYWlsdXJlKCJ7fSBub3QgcmFpc2VkIGJ5IHt9Ii5mb3JtYXQoZXhjX25hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5vYmpfbmFtZSkpCiAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHJhaXNlIHNlbGYuZmFpbHVyZUV4Y2VwdGlvbigiezB9IG5vdCByYWlzZWQiCi0gICAgICAgICAgICAgICAgICAgIC5mb3JtYXQoZXhjX25hbWUpKQorICAgICAgICAgICAgICAgIHNlbGYuX3JhaXNlRmFpbHVyZSgie30gbm90IHJhaXNlZCIuZm9ybWF0KGV4Y19uYW1lKSkKICAgICAgICAgaWYgbm90IGlzc3ViY2xhc3MoZXhjX3R5cGUsIHNlbGYuZXhwZWN0ZWQpOgogICAgICAgICAgICAgIyBsZXQgdW5leHBlY3RlZCBleGNlcHRpb25zIHBhc3MgdGhyb3VnaAogICAgICAgICAgICAgcmV0dXJuIEZhbHNlCkBAIC0xNDcsOCArMTYzLDggQEAKIAogICAgICAgICBleHBlY3RlZF9yZWdleCA9IHNlbGYuZXhwZWN0ZWRfcmVnZXgKICAgICAgICAgaWYgbm90IGV4cGVjdGVkX3JlZ2V4LnNlYXJjaChzdHIoZXhjX3ZhbHVlKSk6Ci0gICAgICAgICAgICByYWlzZSBzZWxmLmZhaWx1cmVFeGNlcHRpb24oJyIlcyIgZG9lcyBub3QgbWF0Y2ggIiVzIicgJQotICAgICAgICAgICAgICAgICAgICAgKGV4cGVjdGVkX3JlZ2V4LnBhdHRlcm4sIHN0cihleGNfdmFsdWUpKSkKKyAgICAgICAgICAgIHNlbGYuX3JhaXNlRmFpbHVyZSgnInt9IiBkb2VzIG5vdCBtYXRjaCAie30iJy5mb3JtYXQoCisgICAgICAgICAgICAgICAgICAgICBleHBlY3RlZF9yZWdleC5wYXR0ZXJuLCBzdHIoZXhjX3ZhbHVlKSkpCiAgICAgICAgIHJldHVybiBUcnVlCiAKIApAQCAtMTkyLDE0ICsyMDgsMTMgQEAKICAgICAgICAgICAgIHJldHVybgogICAgICAgICAjIE5vdyB3ZSBzaW1wbHkgdHJ5IHRvIGNob29zZSBhIGhlbHBmdWwgZmFpbHVyZSBtZXNzYWdlCiAgICAgICAgIGlmIGZpcnN0X21hdGNoaW5nIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgcmFpc2Ugc2VsZi5mYWlsdXJlRXhjZXB0aW9uKCciJXMiIGRvZXMgbm90IG1hdGNoICIlcyInICUKLSAgICAgICAgICAgICAgICAgICAgIChzZWxmLmV4cGVjdGVkX3JlZ2V4LnBhdHRlcm4sIHN0cihmaXJzdF9tYXRjaGluZykpKQorICAgICAgICAgICAgc2VsZi5fcmFpc2VGYWlsdXJlKCcie30iIGRvZXMgbm90IG1hdGNoICJ7fSInLmZvcm1hdCgKKyAgICAgICAgICAgICAgICAgICAgIHNlbGYuZXhwZWN0ZWRfcmVnZXgucGF0dGVybiwgc3RyKGZpcnN0X21hdGNoaW5nKSkpCiAgICAgICAgIGlmIHNlbGYub2JqX25hbWU6Ci0gICAgICAgICAgICByYWlzZSBzZWxmLmZhaWx1cmVFeGNlcHRpb24oInswfSBub3QgdHJpZ2dlcmVkIGJ5IHsxfSIKLSAgICAgICAgICAgICAgICAuZm9ybWF0KGV4Y19uYW1lLCBzZWxmLm9ial9uYW1lKSkKKyAgICAgICAgICAgIHNlbGYuX3JhaXNlRmFpbHVyZSgie30gbm90IHRyaWdnZXJlZCBieSB7fSIuZm9ybWF0KGV4Y19uYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5vYmpfbmFtZSkpCiAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICByYWlzZSBzZWxmLmZhaWx1cmVFeGNlcHRpb24oInswfSBub3QgdHJpZ2dlcmVkIgotICAgICAgICAgICAgICAgIC5mb3JtYXQoZXhjX25hbWUpKQorICAgICAgICAgICAgc2VsZi5fcmFpc2VGYWlsdXJlKCJ7fSBub3QgdHJpZ2dlcmVkIi5mb3JtYXQoZXhjX25hbWUpKQogCiAKIGNsYXNzIFRlc3RDYXNlKG9iamVjdCk6CkBAIC00NTIsNyArNDY3LDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdzLndhcm4oIlRlc3RSZXN1bHQgaGFzIG5vIGFkZEV4cGVjdGVkRmFpbHVyZSBtZXRob2QsIHJlcG9ydGluZyBhcyBwYXNzZXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSdW50aW1lV2FybmluZykKICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5hZGRTdWNjZXNzKHNlbGYpCi0KKyAgICAgICAgICAgIHJldHVybiByZXN1bHQKICAgICAgICAgZmluYWxseToKICAgICAgICAgICAgIHJlc3VsdC5zdG9wVGVzdChzZWxmKQogICAgICAgICAgICAgaWYgb3JpZ19yZXN1bHQgaXMgTm9uZToKQEAgLTUyNiw3ICs1NDEsNiBAQAogICAgICAgICBleGNlcHQgVW5pY29kZURlY29kZUVycm9yOgogICAgICAgICAgICAgcmV0dXJuICAnJXMgOiAlcycgJSAoc2FmZV9yZXByKHN0YW5kYXJkTXNnKSwgc2FmZV9yZXByKG1zZykpCiAKLQogICAgIGRlZiBhc3NlcnRSYWlzZXMoc2VsZiwgZXhjQ2xhc3MsIGNhbGxhYmxlT2JqPU5vbmUsICphcmdzLCAqKmt3YXJncyk6CiAgICAgICAgICIiIkZhaWwgdW5sZXNzIGFuIGV4Y2VwdGlvbiBvZiBjbGFzcyBleGNDbGFzcyBpcyB0aHJvd24KICAgICAgICAgICAgYnkgY2FsbGFibGVPYmogd2hlbiBpbnZva2VkIHdpdGggYXJndW1lbnRzIGFyZ3MgYW5kIGtleXdvcmQKQEAgLTU0MSw2ICs1NTUsOSBAQAogICAgICAgICAgICAgICAgIHdpdGggc2VsZi5hc3NlcnRSYWlzZXMoU29tZUV4Y2VwdGlvbik6CiAgICAgICAgICAgICAgICAgICAgIGRvX3NvbWV0aGluZygpCiAKKyAgICAgICAgICAgQW4gb3B0aW9uYWwga2V5d29yZCBhcmd1bWVudCAnbXNnJyBjYW4gYmUgcHJvdmlkZWQgd2hlbiBhc3NlcnRSYWlzZXMKKyAgICAgICAgICAgaXMgdXNlZCBhcyBhIGNvbnRleHQgb2JqZWN0LgorCiAgICAgICAgICAgIFRoZSBjb250ZXh0IG1hbmFnZXIga2VlcHMgYSByZWZlcmVuY2UgdG8gdGhlIGV4Y2VwdGlvbiBhcwogICAgICAgICAgICB0aGUgJ2V4Y2VwdGlvbicgYXR0cmlidXRlLiBUaGlzIGFsbG93cyB5b3UgdG8gaW5zcGVjdCB0aGUKICAgICAgICAgICAgZXhjZXB0aW9uIGFmdGVyIHRoZSBhc3NlcnRpb246OgpAQCAtNTUxLDI1ICs1NjgsMjUgQEAKICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodGhlX2V4Y2VwdGlvbi5lcnJvcl9jb2RlLCAzKQogICAgICAgICAiIiIKICAgICAgICAgY29udGV4dCA9IF9Bc3NlcnRSYWlzZXNDb250ZXh0KGV4Y0NsYXNzLCBzZWxmLCBjYWxsYWJsZU9iaikKLSAgICAgICAgaWYgY2FsbGFibGVPYmogaXMgTm9uZToKLSAgICAgICAgICAgIHJldHVybiBjb250ZXh0Ci0gICAgICAgIHdpdGggY29udGV4dDoKLSAgICAgICAgICAgIGNhbGxhYmxlT2JqKCphcmdzLCAqKmt3YXJncykKKyAgICAgICAgcmV0dXJuIGNvbnRleHQuaGFuZGxlKCdhc3NlcnRSYWlzZXMnLCBjYWxsYWJsZU9iaiwgYXJncywga3dhcmdzKQogCiAgICAgZGVmIGFzc2VydFdhcm5zKHNlbGYsIGV4cGVjdGVkX3dhcm5pbmcsIGNhbGxhYmxlX29iaj1Ob25lLCAqYXJncywgKiprd2FyZ3MpOgogICAgICAgICAiIiJGYWlsIHVubGVzcyBhIHdhcm5pbmcgb2YgY2xhc3Mgd2FybkNsYXNzIGlzIHRyaWdnZXJlZAotICAgICAgICAgICBieSBjYWxsYWJsZU9iaiB3aGVuIGludm9rZWQgd2l0aCBhcmd1bWVudHMgYXJncyBhbmQga2V5d29yZAorICAgICAgICAgICBieSBjYWxsYWJsZV9vYmogd2hlbiBpbnZva2VkIHdpdGggYXJndW1lbnRzIGFyZ3MgYW5kIGtleXdvcmQKICAgICAgICAgICAgYXJndW1lbnRzIGt3YXJncy4gIElmIGEgZGlmZmVyZW50IHR5cGUgb2Ygd2FybmluZyBpcwogICAgICAgICAgICB0cmlnZ2VyZWQsIGl0IHdpbGwgbm90IGJlIGhhbmRsZWQ6IGRlcGVuZGluZyBvbiB0aGUgb3RoZXIKICAgICAgICAgICAgd2FybmluZyBmaWx0ZXJpbmcgcnVsZXMgaW4gZWZmZWN0LCBpdCBtaWdodCBiZSBzaWxlbmNlZCwgcHJpbnRlZAogICAgICAgICAgICBvdXQsIG9yIHJhaXNlZCBhcyBhbiBleGNlcHRpb24uCiAKLSAgICAgICAgICAgSWYgY2FsbGVkIHdpdGggY2FsbGFibGVPYmogb21pdHRlZCBvciBOb25lLCB3aWxsIHJldHVybiBhCisgICAgICAgICAgIElmIGNhbGxlZCB3aXRoIGNhbGxhYmxlX29iaiBvbWl0dGVkIG9yIE5vbmUsIHdpbGwgcmV0dXJuIGEKICAgICAgICAgICAgY29udGV4dCBvYmplY3QgdXNlZCBsaWtlIHRoaXM6OgogCiAgICAgICAgICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFdhcm5zKFNvbWVXYXJuaW5nKToKICAgICAgICAgICAgICAgICAgICAgZG9fc29tZXRoaW5nKCkKIAorICAgICAgICAgICBBbiBvcHRpb25hbCBrZXl3b3JkIGFyZ3VtZW50ICdtc2cnIGNhbiBiZSBwcm92aWRlZCB3aGVuIGFzc2VydFdhcm5zCisgICAgICAgICAgIGlzIHVzZWQgYXMgYSBjb250ZXh0IG9iamVjdC4KKwogICAgICAgICAgICBUaGUgY29udGV4dCBtYW5hZ2VyIGtlZXBzIGEgcmVmZXJlbmNlIHRvIHRoZSBmaXJzdCBtYXRjaGluZwogICAgICAgICAgICB3YXJuaW5nIGFzIHRoZSAnd2FybmluZycgYXR0cmlidXRlOyBzaW1pbGFybHksIHRoZSAnZmlsZW5hbWUnCiAgICAgICAgICAgIGFuZCAnbGluZW5vJyBhdHRyaWJ1dGVzIGdpdmUgeW91IGluZm9ybWF0aW9uIGFib3V0IHRoZSBsaW5lCkBAIC01ODIsMTAgKzU5OSw3IEBACiAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHRoZV93YXJuaW5nLnNvbWVfYXR0cmlidXRlLCAxNDcpCiAgICAgICAgICIiIgogICAgICAgICBjb250ZXh0ID0gX0Fzc2VydFdhcm5zQ29udGV4dChleHBlY3RlZF93YXJuaW5nLCBzZWxmLCBjYWxsYWJsZV9vYmopCi0gICAgICAgIGlmIGNhbGxhYmxlX29iaiBpcyBOb25lOgotICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQKLSAgICAgICAgd2l0aCBjb250ZXh0OgotICAgICAgICAgICAgY2FsbGFibGVfb2JqKCphcmdzLCAqKmt3YXJncykKKyAgICAgICAgcmV0dXJuIGNvbnRleHQuaGFuZGxlKCdhc3NlcnRXYXJucycsIGNhbGxhYmxlX29iaiwgYXJncywga3dhcmdzKQogCiAgICAgZGVmIF9nZXRBc3NlcnRFcXVhbGl0eUZ1bmMoc2VsZiwgZmlyc3QsIHNlY29uZCk6CiAgICAgICAgICIiIkdldCBhIGRldGFpbGVkIGNvbXBhcmlzb24gZnVuY3Rpb24gZm9yIHRoZSB0eXBlcyBvZiB0aGUgdHdvIGFyZ3MuCkBAIC05NTEsNDggKzk2NSw2IEBACiAKICAgICAgICAgc2VsZi5mYWlsKHNlbGYuX2Zvcm1hdE1lc3NhZ2UobXNnLCBzdGFuZGFyZE1zZykpCiAKLSAgICBkZWYgYXNzZXJ0U2FtZUVsZW1lbnRzKHNlbGYsIGV4cGVjdGVkX3NlcSwgYWN0dWFsX3NlcSwgbXNnPU5vbmUpOgotICAgICAgICAiIiJBbiB1bm9yZGVyZWQgc2VxdWVuY2Ugc3BlY2lmaWMgY29tcGFyaXNvbi4KLQotICAgICAgICBSYWlzZXMgd2l0aCBhbiBlcnJvciBtZXNzYWdlIGxpc3Rpbmcgd2hpY2ggZWxlbWVudHMgb2YgZXhwZWN0ZWRfc2VxCi0gICAgICAgIGFyZSBtaXNzaW5nIGZyb20gYWN0dWFsX3NlcSBhbmQgdmljZSB2ZXJzYSBpZiBhbnkuCi0KLSAgICAgICAgRHVwbGljYXRlIGVsZW1lbnRzIGFyZSBpZ25vcmVkIHdoZW4gY29tcGFyaW5nICpleHBlY3RlZF9zZXEqIGFuZAotICAgICAgICAqYWN0dWFsX3NlcSouIEl0IGlzIHRoZSBlcXVpdmFsZW50IG9mIGBgYXNzZXJ0RXF1YWwoc2V0KGV4cGVjdGVkKSwKLSAgICAgICAgc2V0KGFjdHVhbCkpYGAgYnV0IGl0IHdvcmtzIHdpdGggc2VxdWVuY2VzIG9mIHVuaGFzaGFibGUgb2JqZWN0cyBhcwotICAgICAgICB3ZWxsLgotICAgICAgICAiIiIKLSAgICAgICAgd2FybmluZ3Mud2FybignYXNzZXJ0U2FtZUVsZW1lbnRzIGlzIGRlcHJlY2F0ZWQnLAotICAgICAgICAgICAgICAgICAgICAgIERlcHJlY2F0aW9uV2FybmluZykKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgZXhwZWN0ZWQgPSBzZXQoZXhwZWN0ZWRfc2VxKQotICAgICAgICAgICAgYWN0dWFsID0gc2V0KGFjdHVhbF9zZXEpCi0gICAgICAgICAgICBtaXNzaW5nID0gc29ydGVkKGV4cGVjdGVkLmRpZmZlcmVuY2UoYWN0dWFsKSkKLSAgICAgICAgICAgIHVuZXhwZWN0ZWQgPSBzb3J0ZWQoYWN0dWFsLmRpZmZlcmVuY2UoZXhwZWN0ZWQpKQotICAgICAgICBleGNlcHQgVHlwZUVycm9yOgotICAgICAgICAgICAgIyBGYWxsIGJhY2sgdG8gc2xvd2VyIGxpc3QtY29tcGFyZSBpZiBhbnkgb2YgdGhlIG9iamVjdHMgYXJlCi0gICAgICAgICAgICAjIG5vdCBoYXNoYWJsZS4KLSAgICAgICAgICAgIGV4cGVjdGVkID0gbGlzdChleHBlY3RlZF9zZXEpCi0gICAgICAgICAgICBhY3R1YWwgPSBsaXN0KGFjdHVhbF9zZXEpCi0gICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgZXhwZWN0ZWQuc29ydCgpCi0gICAgICAgICAgICAgICAgYWN0dWFsLnNvcnQoKQotICAgICAgICAgICAgZXhjZXB0IFR5cGVFcnJvcjoKLSAgICAgICAgICAgICAgICBtaXNzaW5nLCB1bmV4cGVjdGVkID0gdW5vcmRlcmFibGVfbGlzdF9kaWZmZXJlbmNlKGV4cGVjdGVkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0dWFsKQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBtaXNzaW5nLCB1bmV4cGVjdGVkID0gc29ydGVkX2xpc3RfZGlmZmVyZW5jZShleHBlY3RlZCwgYWN0dWFsKQotICAgICAgICBlcnJvcnMgPSBbXQotICAgICAgICBpZiBtaXNzaW5nOgotICAgICAgICAgICAgZXJyb3JzLmFwcGVuZCgnRXhwZWN0ZWQsIGJ1dCBtaXNzaW5nOlxuICAgICVzJyAlCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHNhZmVfcmVwcihtaXNzaW5nKSkKLSAgICAgICAgaWYgdW5leHBlY3RlZDoKLSAgICAgICAgICAgIGVycm9ycy5hcHBlbmQoJ1VuZXhwZWN0ZWQsIGJ1dCBwcmVzZW50OlxuICAgICVzJyAlCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHNhZmVfcmVwcih1bmV4cGVjdGVkKSkKLSAgICAgICAgaWYgZXJyb3JzOgotICAgICAgICAgICAgc3RhbmRhcmRNc2cgPSAnXG4nLmpvaW4oZXJyb3JzKQotICAgICAgICAgICAgc2VsZi5mYWlsKHNlbGYuX2Zvcm1hdE1lc3NhZ2UobXNnLCBzdGFuZGFyZE1zZykpCi0KIAogICAgIGRlZiBhc3NlcnRDb3VudEVxdWFsKHNlbGYsIGZpcnN0LCBzZWNvbmQsIG1zZz1Ob25lKToKICAgICAgICAgIiIiQW4gdW5vcmRlcmVkIHNlcXVlbmNlIGNvbXBhcmlzb24gYXNzZXJ0aW5nIHRoYXQgdGhlIHNhbWUgZWxlbWVudHMsCkBAIC0xMDM3LDggKzEwMDksOCBAQAogICAgICAgICAgICAgaWYgKGxlbihmaXJzdCkgPiBzZWxmLl9kaWZmVGhyZXNob2xkIG9yCiAgICAgICAgICAgICAgICAgbGVuKHNlY29uZCkgPiBzZWxmLl9kaWZmVGhyZXNob2xkKToKICAgICAgICAgICAgICAgICBzZWxmLl9iYXNlQXNzZXJ0RXF1YWwoZmlyc3QsIHNlY29uZCwgbXNnKQotICAgICAgICAgICAgZmlyc3RsaW5lcyA9IGZpcnN0LnNwbGl0bGluZXMoVHJ1ZSkKLSAgICAgICAgICAgIHNlY29uZGxpbmVzID0gc2Vjb25kLnNwbGl0bGluZXMoVHJ1ZSkKKyAgICAgICAgICAgIGZpcnN0bGluZXMgPSBmaXJzdC5zcGxpdGxpbmVzKGtlZXBlbmRzPVRydWUpCisgICAgICAgICAgICBzZWNvbmRsaW5lcyA9IHNlY29uZC5zcGxpdGxpbmVzKGtlZXBlbmRzPVRydWUpCiAgICAgICAgICAgICBpZiBsZW4oZmlyc3RsaW5lcykgPT0gMSBhbmQgZmlyc3Quc3RyaXAoJ1xyXG4nKSA9PSBmaXJzdDoKICAgICAgICAgICAgICAgICBmaXJzdGxpbmVzID0gW2ZpcnN0ICsgJ1xuJ10KICAgICAgICAgICAgICAgICBzZWNvbmRsaW5lcyA9IFtzZWNvbmQgKyAnXG4nXQpAQCAtMTEwNiwxNSArMTA3OCwxNSBAQAogICAgICAgICAgICAgZXhwZWN0ZWRfcmVnZXg6IFJlZ2V4IChyZSBwYXR0ZXJuIG9iamVjdCBvciBzdHJpbmcpIGV4cGVjdGVkCiAgICAgICAgICAgICAgICAgICAgIHRvIGJlIGZvdW5kIGluIGVycm9yIG1lc3NhZ2UuCiAgICAgICAgICAgICBjYWxsYWJsZV9vYmo6IEZ1bmN0aW9uIHRvIGJlIGNhbGxlZC4KKyAgICAgICAgICAgIG1zZzogT3B0aW9uYWwgbWVzc2FnZSB1c2VkIGluIGNhc2Ugb2YgZmFpbHVyZS4gQ2FuIG9ubHkgYmUgdXNlZAorICAgICAgICAgICAgICAgICAgICB3aGVuIGFzc2VydFJhaXNlc1JlZ2V4IGlzIHVzZWQgYXMgYSBjb250ZXh0IG1hbmFnZXIuCiAgICAgICAgICAgICBhcmdzOiBFeHRyYSBhcmdzLgogICAgICAgICAgICAga3dhcmdzOiBFeHRyYSBrd2FyZ3MuCiAgICAgICAgICIiIgogICAgICAgICBjb250ZXh0ID0gX0Fzc2VydFJhaXNlc0NvbnRleHQoZXhwZWN0ZWRfZXhjZXB0aW9uLCBzZWxmLCBjYWxsYWJsZV9vYmosCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHBlY3RlZF9yZWdleCkKLSAgICAgICAgaWYgY2FsbGFibGVfb2JqIGlzIE5vbmU6Ci0gICAgICAgICAgICByZXR1cm4gY29udGV4dAotICAgICAgICB3aXRoIGNvbnRleHQ6Ci0gICAgICAgICAgICBjYWxsYWJsZV9vYmooKmFyZ3MsICoqa3dhcmdzKQorCisgICAgICAgIHJldHVybiBjb250ZXh0LmhhbmRsZSgnYXNzZXJ0UmFpc2VzUmVnZXgnLCBjYWxsYWJsZV9vYmosIGFyZ3MsIGt3YXJncykKIAogICAgIGRlZiBhc3NlcnRXYXJuc1JlZ2V4KHNlbGYsIGV4cGVjdGVkX3dhcm5pbmcsIGV4cGVjdGVkX3JlZ2V4LAogICAgICAgICAgICAgICAgICAgICAgICAgIGNhbGxhYmxlX29iaj1Ob25lLCAqYXJncywgKiprd2FyZ3MpOgpAQCAtMTEyOCwxNSArMTEwMCwxNCBAQAogICAgICAgICAgICAgZXhwZWN0ZWRfcmVnZXg6IFJlZ2V4IChyZSBwYXR0ZXJuIG9iamVjdCBvciBzdHJpbmcpIGV4cGVjdGVkCiAgICAgICAgICAgICAgICAgICAgIHRvIGJlIGZvdW5kIGluIGVycm9yIG1lc3NhZ2UuCiAgICAgICAgICAgICBjYWxsYWJsZV9vYmo6IEZ1bmN0aW9uIHRvIGJlIGNhbGxlZC4KKyAgICAgICAgICAgIG1zZzogT3B0aW9uYWwgbWVzc2FnZSB1c2VkIGluIGNhc2Ugb2YgZmFpbHVyZS4gQ2FuIG9ubHkgYmUgdXNlZAorICAgICAgICAgICAgICAgICAgICB3aGVuIGFzc2VydFdhcm5zUmVnZXggaXMgdXNlZCBhcyBhIGNvbnRleHQgbWFuYWdlci4KICAgICAgICAgICAgIGFyZ3M6IEV4dHJhIGFyZ3MuCiAgICAgICAgICAgICBrd2FyZ3M6IEV4dHJhIGt3YXJncy4KICAgICAgICAgIiIiCiAgICAgICAgIGNvbnRleHQgPSBfQXNzZXJ0V2FybnNDb250ZXh0KGV4cGVjdGVkX3dhcm5pbmcsIHNlbGYsIGNhbGxhYmxlX29iaiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwZWN0ZWRfcmVnZXgpCi0gICAgICAgIGlmIGNhbGxhYmxlX29iaiBpcyBOb25lOgotICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQKLSAgICAgICAgd2l0aCBjb250ZXh0OgotICAgICAgICAgICAgY2FsbGFibGVfb2JqKCphcmdzLCAqKmt3YXJncykKKyAgICAgICAgcmV0dXJuIGNvbnRleHQuaGFuZGxlKCdhc3NlcnRXYXJuc1JlZ2V4JywgY2FsbGFibGVfb2JqLCBhcmdzLCBrd2FyZ3MpCiAKICAgICBkZWYgYXNzZXJ0UmVnZXgoc2VsZiwgdGV4dCwgZXhwZWN0ZWRfcmVnZXgsIG1zZz1Ob25lKToKICAgICAgICAgIiIiRmFpbCB0aGUgdGVzdCB1bmxlc3MgdGhlIHRleHQgbWF0Y2hlcyB0aGUgcmVndWxhciBleHByZXNzaW9uLiIiIgpkaWZmIC0tZ2l0IGEvTGliL3VuaXR0ZXN0L21haW4ucHkgYi9MaWIvdW5pdHRlc3QvbWFpbi5weQppbmRleCA1NWQ0ZTRiLi5hMjVhMmY4IDEwMDY0NAotLS0gYS9MaWIvdW5pdHRlc3QvbWFpbi5weQorKysgYi9MaWIvdW5pdHRlc3QvbWFpbi5weQpAQCAtMSw4ICsxLDggQEAKICIiIlVuaXR0ZXN0IG1haW4gcHJvZ3JhbSIiIgogCiBpbXBvcnQgc3lzCitpbXBvcnQgb3B0cGFyc2UKIGltcG9ydCBvcwotaW1wb3J0IHR5cGVzCiAKIGZyb20gLiBpbXBvcnQgbG9hZGVyLCBydW5uZXIKIGZyb20gLnNpZ25hbHMgaW1wb3J0IGluc3RhbGxIYW5kbGVyCkBAIC03Nyw2ICs3Nyw3IEBACiBkZWYgX2NvbnZlcnRfbmFtZXMobmFtZXMpOgogICAgIHJldHVybiBbX2NvbnZlcnRfbmFtZShuYW1lKSBmb3IgbmFtZSBpbiBuYW1lc10KIAorCiBjbGFzcyBUZXN0UHJvZ3JhbShvYmplY3QpOgogICAgICIiIkEgY29tbWFuZC1saW5lIHByb2dyYW0gdGhhdCBydW5zIGEgc2V0IG9mIHRlc3RzOyB0aGlzIGlzIHByaW1hcmlseQogICAgICAgIGZvciBtYWtpbmcgdGVzdCBtb2R1bGVzIGNvbnZlbmllbnRseSBleGVjdXRhYmxlLgpAQCAtMTQzLDMzICsxNDQsOSBAQAogICAgICAgICAgICAgc2VsZi5fZG9fZGlzY292ZXJ5KGFyZ3ZbMjpdKQogICAgICAgICAgICAgcmV0dXJuCiAKLSAgICAgICAgaW1wb3J0IGdldG9wdAotICAgICAgICBsb25nX29wdHMgPSBbJ2hlbHAnLCAndmVyYm9zZScsICdxdWlldCcsICdmYWlsZmFzdCcsICdjYXRjaCcsICdidWZmZXInXQotICAgICAgICB0cnk6Ci0gICAgICAgICAgICBvcHRpb25zLCBhcmdzID0gZ2V0b3B0LmdldG9wdChhcmd2WzE6XSwgJ2hIdnFmY2InLCBsb25nX29wdHMpCi0gICAgICAgIGV4Y2VwdCBnZXRvcHQuZXJyb3IgYXMgbXNnOgotICAgICAgICAgICAgc2VsZi51c2FnZUV4aXQobXNnKQotICAgICAgICAgICAgcmV0dXJuCi0KLSAgICAgICAgZm9yIG9wdCwgdmFsdWUgaW4gb3B0aW9uczoKLSAgICAgICAgICAgIGlmIG9wdCBpbiAoJy1oJywnLUgnLCctLWhlbHAnKToKLSAgICAgICAgICAgICAgICBzZWxmLnVzYWdlRXhpdCgpCi0gICAgICAgICAgICBpZiBvcHQgaW4gKCctcScsJy0tcXVpZXQnKToKLSAgICAgICAgICAgICAgICBzZWxmLnZlcmJvc2l0eSA9IDAKLSAgICAgICAgICAgIGlmIG9wdCBpbiAoJy12JywnLS12ZXJib3NlJyk6Ci0gICAgICAgICAgICAgICAgc2VsZi52ZXJib3NpdHkgPSAyCi0gICAgICAgICAgICBpZiBvcHQgaW4gKCctZicsJy0tZmFpbGZhc3QnKToKLSAgICAgICAgICAgICAgICBpZiBzZWxmLmZhaWxmYXN0IGlzIE5vbmU6Ci0gICAgICAgICAgICAgICAgICAgIHNlbGYuZmFpbGZhc3QgPSBUcnVlCi0gICAgICAgICAgICAgICAgIyBTaG91bGQgdGhpcyByYWlzZSBhbiBleGNlcHRpb24gaWYgLWYgaXMgbm90IHZhbGlkPwotICAgICAgICAgICAgaWYgb3B0IGluICgnLWMnLCctLWNhdGNoJyk6Ci0gICAgICAgICAgICAgICAgaWYgc2VsZi5jYXRjaGJyZWFrIGlzIE5vbmU6Ci0gICAgICAgICAgICAgICAgICAgIHNlbGYuY2F0Y2hicmVhayA9IFRydWUKLSAgICAgICAgICAgICAgICAjIFNob3VsZCB0aGlzIHJhaXNlIGFuIGV4Y2VwdGlvbiBpZiAtYyBpcyBub3QgdmFsaWQ/Ci0gICAgICAgICAgICBpZiBvcHQgaW4gKCctYicsJy0tYnVmZmVyJyk6Ci0gICAgICAgICAgICAgICAgaWYgc2VsZi5idWZmZXIgaXMgTm9uZToKLSAgICAgICAgICAgICAgICAgICAgc2VsZi5idWZmZXIgPSBUcnVlCi0gICAgICAgICAgICAgICAgIyBTaG91bGQgdGhpcyByYWlzZSBhbiBleGNlcHRpb24gaWYgLWIgaXMgbm90IHZhbGlkPworICAgICAgICBwYXJzZXIgPSBzZWxmLl9nZXRPcHRQYXJzZXIoKQorICAgICAgICBvcHRpb25zLCBhcmdzID0gcGFyc2VyLnBhcnNlX2FyZ3MoYXJndlsxOl0pCisgICAgICAgIHNlbGYuX3NldEF0dHJpYnV0ZXNGcm9tT3B0aW9ucyhvcHRpb25zKQogCiAgICAgICAgIGlmIGxlbihhcmdzKSA9PSAwIGFuZCBzZWxmLm1vZHVsZSBpcyBOb25lOgogICAgICAgICAgICAgIyB0aGlzIGFsbG93cyAicHl0aG9uIC1tIHVuaXR0ZXN0IC12IiB0byBzdGlsbCB3b3JrIGZvcgpAQCAtMTk3LDE0ICsxNzQsMTQgQEAKICAgICAgICAgICAgIHNlbGYudGVzdCA9IHNlbGYudGVzdExvYWRlci5sb2FkVGVzdHNGcm9tTmFtZXMoc2VsZi50ZXN0TmFtZXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYubW9kdWxlKQogCi0gICAgZGVmIF9kb19kaXNjb3Zlcnkoc2VsZiwgYXJndiwgTG9hZGVyPWxvYWRlci5UZXN0TG9hZGVyKToKLSAgICAgICAgIyBoYW5kbGUgY29tbWFuZCBsaW5lIGFyZ3MgZm9yIHRlc3QgZGlzY292ZXJ5Ci0gICAgICAgIHNlbGYucHJvZ05hbWUgPSAnJXMgZGlzY292ZXInICUgc2VsZi5wcm9nTmFtZQotICAgICAgICBpbXBvcnQgb3B0cGFyc2UKKyAgICBkZWYgX2dldE9wdFBhcnNlcihzZWxmKToKICAgICAgICAgcGFyc2VyID0gb3B0cGFyc2UuT3B0aW9uUGFyc2VyKCkKICAgICAgICAgcGFyc2VyLnByb2cgPSBzZWxmLnByb2dOYW1lCiAgICAgICAgIHBhcnNlci5hZGRfb3B0aW9uKCctdicsICctLXZlcmJvc2UnLCBkZXN0PSd2ZXJib3NlJywgZGVmYXVsdD1GYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0nVmVyYm9zZSBvdXRwdXQnLCBhY3Rpb249J3N0b3JlX3RydWUnKQorICAgICAgICBwYXJzZXIuYWRkX29wdGlvbignLXEnLCAnLS1xdWlldCcsIGRlc3Q9J3F1aWV0JywgZGVmYXVsdD1GYWxzZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0nUXVpZXQgb3V0cHV0JywgYWN0aW9uPSdzdG9yZV90cnVlJykKKwogICAgICAgICBpZiBzZWxmLmZhaWxmYXN0ICE9IEZhbHNlOgogICAgICAgICAgICAgcGFyc2VyLmFkZF9vcHRpb24oJy1mJywgJy0tZmFpbGZhc3QnLCBkZXN0PSdmYWlsZmFzdCcsIGRlZmF1bHQ9RmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSdTdG9wIG9uIGZpcnN0IGZhaWwgb3IgZXJyb3InLApAQCAtMjE3LDIwICsxOTQsOSBAQAogICAgICAgICAgICAgcGFyc2VyLmFkZF9vcHRpb24oJy1iJywgJy0tYnVmZmVyJywgZGVzdD0nYnVmZmVyJywgZGVmYXVsdD1GYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9J0J1ZmZlciBzdGRvdXQgYW5kIHN0ZGVyciBkdXJpbmcgdGVzdHMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uPSdzdG9yZV90cnVlJykKLSAgICAgICAgcGFyc2VyLmFkZF9vcHRpb24oJy1zJywgJy0tc3RhcnQtZGlyZWN0b3J5JywgZGVzdD0nc3RhcnQnLCBkZWZhdWx0PScuJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iRGlyZWN0b3J5IHRvIHN0YXJ0IGRpc2NvdmVyeSAoJy4nIGRlZmF1bHQpIikKLSAgICAgICAgcGFyc2VyLmFkZF9vcHRpb24oJy1wJywgJy0tcGF0dGVybicsIGRlc3Q9J3BhdHRlcm4nLCBkZWZhdWx0PSd0ZXN0Ki5weScsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IlBhdHRlcm4gdG8gbWF0Y2ggdGVzdHMgKCd0ZXN0Ki5weScgZGVmYXVsdCkiKQotICAgICAgICBwYXJzZXIuYWRkX29wdGlvbignLXQnLCAnLS10b3AtbGV2ZWwtZGlyZWN0b3J5JywgZGVzdD0ndG9wJywgZGVmYXVsdD1Ob25lLAotICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSdUb3AgbGV2ZWwgZGlyZWN0b3J5IG9mIHByb2plY3QgKGRlZmF1bHRzIHRvIHN0YXJ0IGRpcmVjdG9yeSknKQorICAgICAgICByZXR1cm4gcGFyc2VyCiAKLSAgICAgICAgb3B0aW9ucywgYXJncyA9IHBhcnNlci5wYXJzZV9hcmdzKGFyZ3YpCi0gICAgICAgIGlmIGxlbihhcmdzKSA+IDM6Ci0gICAgICAgICAgICBzZWxmLnVzYWdlRXhpdCgpCi0KLSAgICAgICAgZm9yIG5hbWUsIHZhbHVlIGluIHppcCgoJ3N0YXJ0JywgJ3BhdHRlcm4nLCAndG9wJyksIGFyZ3MpOgotICAgICAgICAgICAgc2V0YXR0cihvcHRpb25zLCBuYW1lLCB2YWx1ZSkKLQorICAgIGRlZiBfc2V0QXR0cmlidXRlc0Zyb21PcHRpb25zKHNlbGYsIG9wdGlvbnMpOgogICAgICAgICAjIG9ubHkgc2V0IG9wdGlvbnMgZnJvbSB0aGUgcGFyc2luZyBoZXJlCiAgICAgICAgICMgaWYgdGhleSB3ZXJlbid0IHNldCBleHBsaWNpdGx5IGluIHRoZSBjb25zdHJ1Y3RvcgogICAgICAgICBpZiBzZWxmLmZhaWxmYXN0IGlzIE5vbmU6CkBAIC0yNDIsNiArMjA4LDMxIEBACiAKICAgICAgICAgaWYgb3B0aW9ucy52ZXJib3NlOgogICAgICAgICAgICAgc2VsZi52ZXJib3NpdHkgPSAyCisgICAgICAgIGVsaWYgb3B0aW9ucy5xdWlldDoKKyAgICAgICAgICAgIHNlbGYudmVyYm9zaXR5ID0gMAorCisgICAgZGVmIF9hZGREaXNjb3ZlcnlPcHRpb25zKHNlbGYsIHBhcnNlcik6CisgICAgICAgIHBhcnNlci5hZGRfb3B0aW9uKCctcycsICctLXN0YXJ0LWRpcmVjdG9yeScsIGRlc3Q9J3N0YXJ0JywgZGVmYXVsdD0nLicsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IkRpcmVjdG9yeSB0byBzdGFydCBkaXNjb3ZlcnkgKCcuJyBkZWZhdWx0KSIpCisgICAgICAgIHBhcnNlci5hZGRfb3B0aW9uKCctcCcsICctLXBhdHRlcm4nLCBkZXN0PSdwYXR0ZXJuJywgZGVmYXVsdD0ndGVzdCoucHknLAorICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJQYXR0ZXJuIHRvIG1hdGNoIHRlc3RzICgndGVzdCoucHknIGRlZmF1bHQpIikKKyAgICAgICAgcGFyc2VyLmFkZF9vcHRpb24oJy10JywgJy0tdG9wLWxldmVsLWRpcmVjdG9yeScsIGRlc3Q9J3RvcCcsIGRlZmF1bHQ9Tm9uZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0nVG9wIGxldmVsIGRpcmVjdG9yeSBvZiBwcm9qZWN0IChkZWZhdWx0cyB0byBzdGFydCBkaXJlY3RvcnkpJykKKworICAgIGRlZiBfZG9fZGlzY292ZXJ5KHNlbGYsIGFyZ3YsIExvYWRlcj1sb2FkZXIuVGVzdExvYWRlcik6CisgICAgICAgICMgaGFuZGxlIGNvbW1hbmQgbGluZSBhcmdzIGZvciB0ZXN0IGRpc2NvdmVyeQorICAgICAgICBzZWxmLnByb2dOYW1lID0gJyVzIGRpc2NvdmVyJyAlIHNlbGYucHJvZ05hbWUKKyAgICAgICAgcGFyc2VyID0gc2VsZi5fZ2V0T3B0UGFyc2VyKCkKKyAgICAgICAgc2VsZi5fYWRkRGlzY292ZXJ5T3B0aW9ucyhwYXJzZXIpCisKKyAgICAgICAgb3B0aW9ucywgYXJncyA9IHBhcnNlci5wYXJzZV9hcmdzKGFyZ3YpCisgICAgICAgIGlmIGxlbihhcmdzKSA+IDM6CisgICAgICAgICAgICBzZWxmLnVzYWdlRXhpdCgpCisKKyAgICAgICAgZm9yIG5hbWUsIHZhbHVlIGluIHppcCgoJ3N0YXJ0JywgJ3BhdHRlcm4nLCAndG9wJyksIGFyZ3MpOgorICAgICAgICAgICAgc2V0YXR0cihvcHRpb25zLCBuYW1lLCB2YWx1ZSkKKworICAgICAgICBzZWxmLl9zZXRBdHRyaWJ1dGVzRnJvbU9wdGlvbnMob3B0aW9ucykKIAogICAgICAgICBzdGFydF9kaXIgPSBvcHRpb25zLnN0YXJ0CiAgICAgICAgIHBhdHRlcm4gPSBvcHRpb25zLnBhdHRlcm4KZGlmZiAtLWdpdCBhL0xpYi91bml0dGVzdC9tb2NrLnB5IGIvTGliL3VuaXR0ZXN0L21vY2sucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTZiMTAzZAotLS0gL2Rldi9udWxsCisrKyBiL0xpYi91bml0dGVzdC9tb2NrLnB5CkBAIC0wLDAgKzEsMjEzNyBAQAorIyBtb2NrLnB5CisjIFRlc3QgdG9vbHMgZm9yIG1vY2tpbmcgYW5kIHBhdGNoaW5nLgorIyBNYWludGFpbmVkIGJ5IE1pY2hhZWwgRm9vcmQKKyMgQmFja3BvcnQgZm9yIG90aGVyIHZlcnNpb25zIG9mIFB5dGhvbiBhdmFpbGFibGUgZnJvbQorIyBodHRwOi8vcHlwaS5weXRob24ub3JnL3B5cGkvbW9jaworCitfX2FsbF9fID0gKAorICAgICdNb2NrJywKKyAgICAnTWFnaWNNb2NrJywKKyAgICAncGF0Y2gnLAorICAgICdzZW50aW5lbCcsCisgICAgJ0RFRkFVTFQnLAorICAgICdBTlknLAorICAgICdjYWxsJywKKyAgICAnY3JlYXRlX2F1dG9zcGVjJywKKyAgICAnRklMVEVSX0RJUicsCisgICAgJ05vbkNhbGxhYmxlTW9jaycsCisgICAgJ05vbkNhbGxhYmxlTWFnaWNNb2NrJywKKyAgICAnbW9ja19vcGVuJywKKyAgICAnUHJvcGVydHlNb2NrJywKKykKKworCitfX3ZlcnNpb25fXyA9ICcxLjAnCisKKworaW1wb3J0IGluc3BlY3QKK2ltcG9ydCBwcHJpbnQKK2ltcG9ydCBzeXMKK2Zyb20gZnVuY3Rvb2xzIGltcG9ydCB3cmFwcworCisKK0Jhc2VFeGNlcHRpb25zID0gKEJhc2VFeGNlcHRpb24sKQoraWYgJ2phdmEnIGluIHN5cy5wbGF0Zm9ybToKKyAgICAjIGp5dGhvbgorICAgIGltcG9ydCBqYXZhCisgICAgQmFzZUV4Y2VwdGlvbnMgPSAoQmFzZUV4Y2VwdGlvbiwgamF2YS5sYW5nLlRocm93YWJsZSkKKworCitGSUxURVJfRElSID0gVHJ1ZQorCisKK2RlZiBfaXNfaW5zdGFuY2VfbW9jayhvYmopOgorICAgICMgY2FuJ3QgdXNlIGlzaW5zdGFuY2Ugb24gTW9jayBvYmplY3RzIGJlY2F1c2UgdGhleSBvdmVycmlkZSBfX2NsYXNzX18KKyAgICAjIFRoZSBiYXNlIGNsYXNzIGZvciBhbGwgbW9ja3MgaXMgTm9uQ2FsbGFibGVNb2NrCisgICAgcmV0dXJuIGlzc3ViY2xhc3ModHlwZShvYmopLCBOb25DYWxsYWJsZU1vY2spCisKKworZGVmIF9pc19leGNlcHRpb24ob2JqKToKKyAgICByZXR1cm4gKAorICAgICAgICBpc2luc3RhbmNlKG9iaiwgQmFzZUV4Y2VwdGlvbnMpIG9yCisgICAgICAgIGlzaW5zdGFuY2Uob2JqLCB0eXBlKSBhbmQgaXNzdWJjbGFzcyhvYmosIEJhc2VFeGNlcHRpb25zKQorICAgICkKKworCitjbGFzcyBfc2xvdHRlZChvYmplY3QpOgorICAgIF9fc2xvdHNfXyA9IFsnYSddCisKKworRGVzY3JpcHRvclR5cGVzID0gKAorICAgIHR5cGUoX3Nsb3R0ZWQuYSksCisgICAgcHJvcGVydHksCispCisKKworZGVmIF9nZXRzaWduYXR1cmUoZnVuYywgc2tpcGZpcnN0LCBpbnN0YW5jZT1GYWxzZSk6CisgICAgaWYgaXNpbnN0YW5jZShmdW5jLCB0eXBlKSBhbmQgbm90IGluc3RhbmNlOgorICAgICAgICB0cnk6CisgICAgICAgICAgICBmdW5jID0gZnVuYy5fX2luaXRfXworICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6CisgICAgICAgICAgICByZXR1cm4KKyAgICAgICAgc2tpcGZpcnN0ID0gVHJ1ZQorICAgIGVsaWYgbm90IGlzaW5zdGFuY2UoZnVuYywgRnVuY3Rpb25UeXBlcyk6CisgICAgICAgICMgZm9yIGNsYXNzZXMgd2hlcmUgaW5zdGFuY2UgaXMgVHJ1ZSB3ZSBlbmQgdXAgaGVyZSB0b28KKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgZnVuYyA9IGZ1bmMuX19jYWxsX18KKyAgICAgICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yOgorICAgICAgICAgICAgcmV0dXJuCisKKyAgICB0cnk6CisgICAgICAgIHJlZ2FyZ3MsIHZhcmFyZ3MsIHZhcmt3YXJncywgZGVmYXVsdHMgPSBpbnNwZWN0LmdldGFyZ3NwZWMoZnVuYykKKyAgICBleGNlcHQgVHlwZUVycm9yOgorICAgICAgICAjIEMgZnVuY3Rpb24gLyBtZXRob2QsIHBvc3NpYmx5IGluaGVyaXRlZCBvYmplY3QoKS5fX2luaXRfXworICAgICAgICByZXR1cm4KKworICAgICMgaW5zdGFuY2UgbWV0aG9kcyBhbmQgY2xhc3NtZXRob2RzIG5lZWQgdG8gbG9zZSB0aGUgc2VsZiBhcmd1bWVudAorICAgIGlmIGdldGF0dHIoZnVuYywgJ19fc2VsZl9fJywgTm9uZSkgaXMgbm90IE5vbmU6CisgICAgICAgIHJlZ2FyZ3MgPSByZWdhcmdzWzE6XQorICAgIGlmIHNraXBmaXJzdDoKKyAgICAgICAgIyB0aGlzIGNvbmRpdGlvbiBhbmQgdGhlIGFib3ZlIG9uZSBhcmUgbmV2ZXIgYm90aCBUcnVlIC0gd2h5PworICAgICAgICByZWdhcmdzID0gcmVnYXJnc1sxOl0KKworICAgIHNpZ25hdHVyZSA9IGluc3BlY3QuZm9ybWF0YXJnc3BlYyhyZWdhcmdzLCB2YXJhcmdzLCB2YXJrd2FyZ3MsIGRlZmF1bHRzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtYXR2YWx1ZT1sYW1iZGEgdmFsdWU6ICIiKQorICAgIHJldHVybiBzaWduYXR1cmVbMTotMV0sIGZ1bmMKKworCitkZWYgX2NoZWNrX3NpZ25hdHVyZShmdW5jLCBtb2NrLCBza2lwZmlyc3QsIGluc3RhbmNlPUZhbHNlKToKKyAgICBpZiBub3QgX2NhbGxhYmxlKGZ1bmMpOgorICAgICAgICByZXR1cm4KKworICAgIHJlc3VsdCA9IF9nZXRzaWduYXR1cmUoZnVuYywgc2tpcGZpcnN0LCBpbnN0YW5jZSkKKyAgICBpZiByZXN1bHQgaXMgTm9uZToKKyAgICAgICAgcmV0dXJuCisgICAgc2lnbmF0dXJlLCBmdW5jID0gcmVzdWx0CisKKyAgICAjIGNhbid0IHVzZSBzZWxmIGJlY2F1c2UgInNlbGYiIGlzIGNvbW1vbiBhcyBhbiBhcmd1bWVudCBuYW1lCisgICAgIyB1bmZvcnR1bmF0ZWx5IGV2ZW4gbm90IGluIHRoZSBmaXJzdCBwbGFjZQorICAgIHNyYyA9ICJsYW1iZGEgX21vY2tfc2VsZiwgJXM6IE5vbmUiICUgc2lnbmF0dXJlCisgICAgY2hlY2tzaWcgPSBldmFsKHNyYywge30pCisgICAgX2NvcHlfZnVuY19kZXRhaWxzKGZ1bmMsIGNoZWNrc2lnKQorICAgIHR5cGUobW9jaykuX21vY2tfY2hlY2tfc2lnID0gY2hlY2tzaWcKKworCitkZWYgX2NvcHlfZnVuY19kZXRhaWxzKGZ1bmMsIGZ1bmNvcHkpOgorICAgIGZ1bmNvcHkuX19uYW1lX18gPSBmdW5jLl9fbmFtZV9fCisgICAgZnVuY29weS5fX2RvY19fID0gZnVuYy5fX2RvY19fCisgICAgIyB3ZSBleHBsaWNpdGx5IGRvbid0IGNvcHkgZnVuYy5fX2RpY3RfXyBpbnRvIHRoaXMgY29weSBhcyBpdCB3b3VsZAorICAgICMgZXhwb3NlIG9yaWdpbmFsIGF0dHJpYnV0ZXMgdGhhdCBzaG91bGQgYmUgbW9ja2VkCisgICAgZnVuY29weS5fX21vZHVsZV9fID0gZnVuYy5fX21vZHVsZV9fCisgICAgZnVuY29weS5fX2RlZmF1bHRzX18gPSBmdW5jLl9fZGVmYXVsdHNfXworICAgIGZ1bmNvcHkuX19rd2RlZmF1bHRzX18gPSBmdW5jLl9fa3dkZWZhdWx0c19fCisKKworZGVmIF9jYWxsYWJsZShvYmopOgorICAgIGlmIGlzaW5zdGFuY2Uob2JqLCB0eXBlKToKKyAgICAgICAgcmV0dXJuIFRydWUKKyAgICBpZiBnZXRhdHRyKG9iaiwgJ19fY2FsbF9fJywgTm9uZSkgaXMgbm90IE5vbmU6CisgICAgICAgIHJldHVybiBUcnVlCisgICAgcmV0dXJuIEZhbHNlCisKKworZGVmIF9pc19saXN0KG9iaik6CisgICAgIyBjaGVja3MgZm9yIGxpc3Qgb3IgdHVwbGVzCisgICAgIyBYWFhYIGJhZGx5IG5hbWVkIQorICAgIHJldHVybiB0eXBlKG9iaikgaW4gKGxpc3QsIHR1cGxlKQorCisKK2RlZiBfaW5zdGFuY2VfY2FsbGFibGUob2JqKToKKyAgICAiIiJHaXZlbiBhbiBvYmplY3QsIHJldHVybiBUcnVlIGlmIHRoZSBvYmplY3QgaXMgY2FsbGFibGUuCisgICAgRm9yIGNsYXNzZXMsIHJldHVybiBUcnVlIGlmIGluc3RhbmNlcyB3b3VsZCBiZSBjYWxsYWJsZS4iIiIKKyAgICBpZiBub3QgaXNpbnN0YW5jZShvYmosIHR5cGUpOgorICAgICAgICAjIGFscmVhZHkgYW4gaW5zdGFuY2UKKyAgICAgICAgcmV0dXJuIGdldGF0dHIob2JqLCAnX19jYWxsX18nLCBOb25lKSBpcyBub3QgTm9uZQorCisgICAgIyAqY291bGQqIGJlIGJyb2tlbiBieSBhIGNsYXNzIG92ZXJyaWRpbmcgX19tcm9fXyBvciBfX2RpY3RfXyB2aWEKKyAgICAjIGEgbWV0YWNsYXNzCisgICAgZm9yIGJhc2UgaW4gKG9iaiwpICsgb2JqLl9fbXJvX186CisgICAgICAgIGlmIGJhc2UuX19kaWN0X18uZ2V0KCdfX2NhbGxfXycpIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgcmV0dXJuIFRydWUKKyAgICByZXR1cm4gRmFsc2UKKworCitkZWYgX3NldF9zaWduYXR1cmUobW9jaywgb3JpZ2luYWwsIGluc3RhbmNlPUZhbHNlKToKKyAgICAjIGNyZWF0ZXMgYSBmdW5jdGlvbiB3aXRoIHNpZ25hdHVyZSAoKmFyZ3MsICoqa3dhcmdzKSB0aGF0IGRlbGVnYXRlcyB0byBhCisgICAgIyBtb2NrLiBJdCBzdGlsbCBkb2VzIHNpZ25hdHVyZSBjaGVja2luZyBieSBjYWxsaW5nIGEgbGFtYmRhIHdpdGggdGhlIHNhbWUKKyAgICAjIHNpZ25hdHVyZSBhcyB0aGUgb3JpZ2luYWwuCisgICAgaWYgbm90IF9jYWxsYWJsZShvcmlnaW5hbCk6CisgICAgICAgIHJldHVybgorCisgICAgc2tpcGZpcnN0ID0gaXNpbnN0YW5jZShvcmlnaW5hbCwgdHlwZSkKKyAgICByZXN1bHQgPSBfZ2V0c2lnbmF0dXJlKG9yaWdpbmFsLCBza2lwZmlyc3QsIGluc3RhbmNlKQorICAgIGlmIHJlc3VsdCBpcyBOb25lOgorICAgICAgICAjIHdhcyBhIEMgZnVuY3Rpb24gKGUuZy4gb2JqZWN0KCkuX19pbml0X18gKSB0aGF0IGNhbid0IGJlIG1vY2tlZAorICAgICAgICByZXR1cm4KKworICAgIHNpZ25hdHVyZSwgZnVuYyA9IHJlc3VsdAorCisgICAgc3JjID0gImxhbWJkYSAlczogTm9uZSIgJSBzaWduYXR1cmUKKyAgICBjb250ZXh0ID0geydfbW9ja18nOiBtb2NrfQorICAgIGNoZWNrc2lnID0gZXZhbChzcmMsIGNvbnRleHQpCisgICAgX2NvcHlfZnVuY19kZXRhaWxzKGZ1bmMsIGNoZWNrc2lnKQorCisgICAgbmFtZSA9IG9yaWdpbmFsLl9fbmFtZV9fCisgICAgaWYgbm90IG5hbWUuaXNpZGVudGlmaWVyKCk6CisgICAgICAgIG5hbWUgPSAnZnVuY29weScKKyAgICBjb250ZXh0ID0geydjaGVja3NpZyc6IGNoZWNrc2lnLCAnbW9jayc6IG1vY2t9CisgICAgc3JjID0gIiIiZGVmICVzKCphcmdzLCAqKmt3YXJncyk6CisgICAgY2hlY2tzaWcoKmFyZ3MsICoqa3dhcmdzKQorICAgIHJldHVybiBtb2NrKCphcmdzLCAqKmt3YXJncykiIiIgJSBuYW1lCisgICAgZXhlYyAoc3JjLCBjb250ZXh0KQorICAgIGZ1bmNvcHkgPSBjb250ZXh0W25hbWVdCisgICAgX3NldHVwX2Z1bmMoZnVuY29weSwgbW9jaykKKyAgICByZXR1cm4gZnVuY29weQorCisKK2RlZiBfc2V0dXBfZnVuYyhmdW5jb3B5LCBtb2NrKToKKyAgICBmdW5jb3B5Lm1vY2sgPSBtb2NrCisKKyAgICAjIGNhbid0IHVzZSBpc2luc3RhbmNlIHdpdGggbW9ja3MKKyAgICBpZiBub3QgX2lzX2luc3RhbmNlX21vY2sobW9jayk6CisgICAgICAgIHJldHVybgorCisgICAgZGVmIGFzc2VydF9jYWxsZWRfd2l0aCgqYXJncywgKiprd2FyZ3MpOgorICAgICAgICByZXR1cm4gbW9jay5hc3NlcnRfY2FsbGVkX3dpdGgoKmFyZ3MsICoqa3dhcmdzKQorICAgIGRlZiBhc3NlcnRfY2FsbGVkX29uY2Vfd2l0aCgqYXJncywgKiprd2FyZ3MpOgorICAgICAgICByZXR1cm4gbW9jay5hc3NlcnRfY2FsbGVkX29uY2Vfd2l0aCgqYXJncywgKiprd2FyZ3MpCisgICAgZGVmIGFzc2VydF9oYXNfY2FsbHMoKmFyZ3MsICoqa3dhcmdzKToKKyAgICAgICAgcmV0dXJuIG1vY2suYXNzZXJ0X2hhc19jYWxscygqYXJncywgKiprd2FyZ3MpCisgICAgZGVmIGFzc2VydF9hbnlfY2FsbCgqYXJncywgKiprd2FyZ3MpOgorICAgICAgICByZXR1cm4gbW9jay5hc3NlcnRfYW55X2NhbGwoKmFyZ3MsICoqa3dhcmdzKQorICAgIGRlZiByZXNldF9tb2NrKCk6CisgICAgICAgIGZ1bmNvcHkubWV0aG9kX2NhbGxzID0gX0NhbGxMaXN0KCkKKyAgICAgICAgZnVuY29weS5tb2NrX2NhbGxzID0gX0NhbGxMaXN0KCkKKyAgICAgICAgbW9jay5yZXNldF9tb2NrKCkKKyAgICAgICAgcmV0ID0gZnVuY29weS5yZXR1cm5fdmFsdWUKKyAgICAgICAgaWYgX2lzX2luc3RhbmNlX21vY2socmV0KSBhbmQgbm90IHJldCBpcyBtb2NrOgorICAgICAgICAgICAgcmV0LnJlc2V0X21vY2soKQorCisgICAgZnVuY29weS5jYWxsZWQgPSBGYWxzZQorICAgIGZ1bmNvcHkuY2FsbF9jb3VudCA9IDAKKyAgICBmdW5jb3B5LmNhbGxfYXJncyA9IE5vbmUKKyAgICBmdW5jb3B5LmNhbGxfYXJnc19saXN0ID0gX0NhbGxMaXN0KCkKKyAgICBmdW5jb3B5Lm1ldGhvZF9jYWxscyA9IF9DYWxsTGlzdCgpCisgICAgZnVuY29weS5tb2NrX2NhbGxzID0gX0NhbGxMaXN0KCkKKworICAgIGZ1bmNvcHkucmV0dXJuX3ZhbHVlID0gbW9jay5yZXR1cm5fdmFsdWUKKyAgICBmdW5jb3B5LnNpZGVfZWZmZWN0ID0gbW9jay5zaWRlX2VmZmVjdAorICAgIGZ1bmNvcHkuX21vY2tfY2hpbGRyZW4gPSBtb2NrLl9tb2NrX2NoaWxkcmVuCisKKyAgICBmdW5jb3B5LmFzc2VydF9jYWxsZWRfd2l0aCA9IGFzc2VydF9jYWxsZWRfd2l0aAorICAgIGZ1bmNvcHkuYXNzZXJ0X2NhbGxlZF9vbmNlX3dpdGggPSBhc3NlcnRfY2FsbGVkX29uY2Vfd2l0aAorICAgIGZ1bmNvcHkuYXNzZXJ0X2hhc19jYWxscyA9IGFzc2VydF9oYXNfY2FsbHMKKyAgICBmdW5jb3B5LmFzc2VydF9hbnlfY2FsbCA9IGFzc2VydF9hbnlfY2FsbAorICAgIGZ1bmNvcHkucmVzZXRfbW9jayA9IHJlc2V0X21vY2sKKworICAgIG1vY2suX21vY2tfZGVsZWdhdGUgPSBmdW5jb3B5CisKKworZGVmIF9pc19tYWdpYyhuYW1lKToKKyAgICByZXR1cm4gJ19fJXNfXycgJSBuYW1lWzI6LTJdID09IG5hbWUKKworCitjbGFzcyBfU2VudGluZWxPYmplY3Qob2JqZWN0KToKKyAgICAiQSB1bmlxdWUsIG5hbWVkLCBzZW50aW5lbCBvYmplY3QuIgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBuYW1lKToKKyAgICAgICAgc2VsZi5uYW1lID0gbmFtZQorCisgICAgZGVmIF9fcmVwcl9fKHNlbGYpOgorICAgICAgICByZXR1cm4gJ3NlbnRpbmVsLiVzJyAlIHNlbGYubmFtZQorCisKK2NsYXNzIF9TZW50aW5lbChvYmplY3QpOgorICAgICIiIkFjY2VzcyBhdHRyaWJ1dGVzIHRvIHJldHVybiBhIG5hbWVkIG9iamVjdCwgdXNhYmxlIGFzIGEgc2VudGluZWwuIiIiCisgICAgZGVmIF9faW5pdF9fKHNlbGYpOgorICAgICAgICBzZWxmLl9zZW50aW5lbHMgPSB7fQorCisgICAgZGVmIF9fZ2V0YXR0cl9fKHNlbGYsIG5hbWUpOgorICAgICAgICBpZiBuYW1lID09ICdfX2Jhc2VzX18nOgorICAgICAgICAgICAgIyBXaXRob3V0IHRoaXMgaGVscCh1bml0dGVzdC5tb2NrKSByYWlzZXMgYW4gZXhjZXB0aW9uCisgICAgICAgICAgICByYWlzZSBBdHRyaWJ1dGVFcnJvcgorICAgICAgICByZXR1cm4gc2VsZi5fc2VudGluZWxzLnNldGRlZmF1bHQobmFtZSwgX1NlbnRpbmVsT2JqZWN0KG5hbWUpKQorCisKK3NlbnRpbmVsID0gX1NlbnRpbmVsKCkKKworREVGQVVMVCA9IHNlbnRpbmVsLkRFRkFVTFQKK19taXNzaW5nID0gc2VudGluZWwuTUlTU0lORworX2RlbGV0ZWQgPSBzZW50aW5lbC5ERUxFVEVECisKKworZGVmIF9jb3B5KHZhbHVlKToKKyAgICBpZiB0eXBlKHZhbHVlKSBpbiAoZGljdCwgbGlzdCwgdHVwbGUsIHNldCk6CisgICAgICAgIHJldHVybiB0eXBlKHZhbHVlKSh2YWx1ZSkKKyAgICByZXR1cm4gdmFsdWUKKworCitfYWxsb3dlZF9uYW1lcyA9IHNldCgKKyAgICBbCisgICAgICAgICdyZXR1cm5fdmFsdWUnLCAnX21vY2tfcmV0dXJuX3ZhbHVlJywgJ3NpZGVfZWZmZWN0JywKKyAgICAgICAgJ19tb2NrX3NpZGVfZWZmZWN0JywgJ19tb2NrX3BhcmVudCcsICdfbW9ja19uZXdfcGFyZW50JywKKyAgICAgICAgJ19tb2NrX25hbWUnLCAnX21vY2tfbmV3X25hbWUnCisgICAgXQorKQorCisKK2RlZiBfZGVsZWdhdGluZ19wcm9wZXJ0eShuYW1lKToKKyAgICBfYWxsb3dlZF9uYW1lcy5hZGQobmFtZSkKKyAgICBfdGhlX25hbWUgPSAnX21vY2tfJyArIG5hbWUKKyAgICBkZWYgX2dldChzZWxmLCBuYW1lPW5hbWUsIF90aGVfbmFtZT1fdGhlX25hbWUpOgorICAgICAgICBzaWcgPSBzZWxmLl9tb2NrX2RlbGVnYXRlCisgICAgICAgIGlmIHNpZyBpcyBOb25lOgorICAgICAgICAgICAgcmV0dXJuIGdldGF0dHIoc2VsZiwgX3RoZV9uYW1lKQorICAgICAgICByZXR1cm4gZ2V0YXR0cihzaWcsIG5hbWUpCisgICAgZGVmIF9zZXQoc2VsZiwgdmFsdWUsIG5hbWU9bmFtZSwgX3RoZV9uYW1lPV90aGVfbmFtZSk6CisgICAgICAgIHNpZyA9IHNlbGYuX21vY2tfZGVsZWdhdGUKKyAgICAgICAgaWYgc2lnIGlzIE5vbmU6CisgICAgICAgICAgICBzZWxmLl9fZGljdF9fW190aGVfbmFtZV0gPSB2YWx1ZQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgc2V0YXR0cihzaWcsIG5hbWUsIHZhbHVlKQorCisgICAgcmV0dXJuIHByb3BlcnR5KF9nZXQsIF9zZXQpCisKKworCitjbGFzcyBfQ2FsbExpc3QobGlzdCk6CisKKyAgICBkZWYgX19jb250YWluc19fKHNlbGYsIHZhbHVlKToKKyAgICAgICAgaWYgbm90IGlzaW5zdGFuY2UodmFsdWUsIGxpc3QpOgorICAgICAgICAgICAgcmV0dXJuIGxpc3QuX19jb250YWluc19fKHNlbGYsIHZhbHVlKQorICAgICAgICBsZW5fdmFsdWUgPSBsZW4odmFsdWUpCisgICAgICAgIGxlbl9zZWxmID0gbGVuKHNlbGYpCisgICAgICAgIGlmIGxlbl92YWx1ZSA+IGxlbl9zZWxmOgorICAgICAgICAgICAgcmV0dXJuIEZhbHNlCisKKyAgICAgICAgZm9yIGkgaW4gcmFuZ2UoMCwgbGVuX3NlbGYgLSBsZW5fdmFsdWUgKyAxKToKKyAgICAgICAgICAgIHN1Yl9saXN0ID0gc2VsZltpOmkrbGVuX3ZhbHVlXQorICAgICAgICAgICAgaWYgc3ViX2xpc3QgPT0gdmFsdWU6CisgICAgICAgICAgICAgICAgcmV0dXJuIFRydWUKKyAgICAgICAgcmV0dXJuIEZhbHNlCisKKyAgICBkZWYgX19yZXByX18oc2VsZik6CisgICAgICAgIHJldHVybiBwcHJpbnQucGZvcm1hdChsaXN0KHNlbGYpKQorCisKK2RlZiBfY2hlY2tfYW5kX3NldF9wYXJlbnQocGFyZW50LCB2YWx1ZSwgbmFtZSwgbmV3X25hbWUpOgorICAgIGlmIG5vdCBfaXNfaW5zdGFuY2VfbW9jayh2YWx1ZSk6CisgICAgICAgIHJldHVybiBGYWxzZQorICAgIGlmICgodmFsdWUuX21vY2tfbmFtZSBvciB2YWx1ZS5fbW9ja19uZXdfbmFtZSkgb3IKKyAgICAgICAgKHZhbHVlLl9tb2NrX3BhcmVudCBpcyBub3QgTm9uZSkgb3IKKyAgICAgICAgKHZhbHVlLl9tb2NrX25ld19wYXJlbnQgaXMgbm90IE5vbmUpKToKKyAgICAgICAgcmV0dXJuIEZhbHNlCisKKyAgICBfcGFyZW50ID0gcGFyZW50CisgICAgd2hpbGUgX3BhcmVudCBpcyBub3QgTm9uZToKKyAgICAgICAgIyBzZXR0aW5nIGEgbW9jayAodmFsdWUpIGFzIGEgY2hpbGQgb3IgcmV0dXJuIHZhbHVlIG9mIGl0c2VsZgorICAgICAgICAjIHNob3VsZCBub3QgbW9kaWZ5IHRoZSBtb2NrCisgICAgICAgIGlmIF9wYXJlbnQgaXMgdmFsdWU6CisgICAgICAgICAgICByZXR1cm4gRmFsc2UKKyAgICAgICAgX3BhcmVudCA9IF9wYXJlbnQuX21vY2tfbmV3X3BhcmVudAorCisgICAgaWYgbmV3X25hbWU6CisgICAgICAgIHZhbHVlLl9tb2NrX25ld19wYXJlbnQgPSBwYXJlbnQKKyAgICAgICAgdmFsdWUuX21vY2tfbmV3X25hbWUgPSBuZXdfbmFtZQorICAgIGlmIG5hbWU6CisgICAgICAgIHZhbHVlLl9tb2NrX3BhcmVudCA9IHBhcmVudAorICAgICAgICB2YWx1ZS5fbW9ja19uYW1lID0gbmFtZQorICAgIHJldHVybiBUcnVlCisKKworCitjbGFzcyBCYXNlKG9iamVjdCk6CisgICAgX21vY2tfcmV0dXJuX3ZhbHVlID0gREVGQVVMVAorICAgIF9tb2NrX3NpZGVfZWZmZWN0ID0gTm9uZQorICAgIGRlZiBfX2luaXRfXyhzZWxmLCAqYXJncywgKiprd2FyZ3MpOgorICAgICAgICBwYXNzCisKKworCitjbGFzcyBOb25DYWxsYWJsZU1vY2soQmFzZSk6CisgICAgIiIiQSBub24tY2FsbGFibGUgdmVyc2lvbiBvZiBgTW9ja2AiIiIKKworICAgIGRlZiBfX25ld19fKGNscywgKmFyZ3MsICoqa3cpOgorICAgICAgICAjIGV2ZXJ5IGluc3RhbmNlIGhhcyBpdHMgb3duIGNsYXNzCisgICAgICAgICMgc28gd2UgY2FuIGNyZWF0ZSBtYWdpYyBtZXRob2RzIG9uIHRoZQorICAgICAgICAjIGNsYXNzIHdpdGhvdXQgc3RvbXBpbmcgb24gb3RoZXIgbW9ja3MKKyAgICAgICAgbmV3ID0gdHlwZShjbHMuX19uYW1lX18sIChjbHMsKSwgeydfX2RvY19fJzogY2xzLl9fZG9jX199KQorICAgICAgICBpbnN0YW5jZSA9IG9iamVjdC5fX25ld19fKG5ldykKKyAgICAgICAgcmV0dXJuIGluc3RhbmNlCisKKworICAgIGRlZiBfX2luaXRfXygKKyAgICAgICAgICAgIHNlbGYsIHNwZWM9Tm9uZSwgd3JhcHM9Tm9uZSwgbmFtZT1Ob25lLCBzcGVjX3NldD1Ob25lLAorICAgICAgICAgICAgcGFyZW50PU5vbmUsIF9zcGVjX3N0YXRlPU5vbmUsIF9uZXdfbmFtZT0nJywgX25ld19wYXJlbnQ9Tm9uZSwKKyAgICAgICAgICAgICoqa3dhcmdzCisgICAgICAgICk6CisgICAgICAgIGlmIF9uZXdfcGFyZW50IGlzIE5vbmU6CisgICAgICAgICAgICBfbmV3X3BhcmVudCA9IHBhcmVudAorCisgICAgICAgIF9fZGljdF9fID0gc2VsZi5fX2RpY3RfXworICAgICAgICBfX2RpY3RfX1snX21vY2tfcGFyZW50J10gPSBwYXJlbnQKKyAgICAgICAgX19kaWN0X19bJ19tb2NrX25hbWUnXSA9IG5hbWUKKyAgICAgICAgX19kaWN0X19bJ19tb2NrX25ld19uYW1lJ10gPSBfbmV3X25hbWUKKyAgICAgICAgX19kaWN0X19bJ19tb2NrX25ld19wYXJlbnQnXSA9IF9uZXdfcGFyZW50CisKKyAgICAgICAgaWYgc3BlY19zZXQgaXMgbm90IE5vbmU6CisgICAgICAgICAgICBzcGVjID0gc3BlY19zZXQKKyAgICAgICAgICAgIHNwZWNfc2V0ID0gVHJ1ZQorCisgICAgICAgIHNlbGYuX21vY2tfYWRkX3NwZWMoc3BlYywgc3BlY19zZXQpCisKKyAgICAgICAgX19kaWN0X19bJ19tb2NrX2NoaWxkcmVuJ10gPSB7fQorICAgICAgICBfX2RpY3RfX1snX21vY2tfd3JhcHMnXSA9IHdyYXBzCisgICAgICAgIF9fZGljdF9fWydfbW9ja19kZWxlZ2F0ZSddID0gTm9uZQorCisgICAgICAgIF9fZGljdF9fWydfbW9ja19jYWxsZWQnXSA9IEZhbHNlCisgICAgICAgIF9fZGljdF9fWydfbW9ja19jYWxsX2FyZ3MnXSA9IE5vbmUKKyAgICAgICAgX19kaWN0X19bJ19tb2NrX2NhbGxfY291bnQnXSA9IDAKKyAgICAgICAgX19kaWN0X19bJ19tb2NrX2NhbGxfYXJnc19saXN0J10gPSBfQ2FsbExpc3QoKQorICAgICAgICBfX2RpY3RfX1snX21vY2tfbW9ja19jYWxscyddID0gX0NhbGxMaXN0KCkKKworICAgICAgICBfX2RpY3RfX1snbWV0aG9kX2NhbGxzJ10gPSBfQ2FsbExpc3QoKQorCisgICAgICAgIGlmIGt3YXJnczoKKyAgICAgICAgICAgIHNlbGYuY29uZmlndXJlX21vY2soKiprd2FyZ3MpCisKKyAgICAgICAgc3VwZXIoTm9uQ2FsbGFibGVNb2NrLCBzZWxmKS5fX2luaXRfXygKKyAgICAgICAgICAgIHNwZWMsIHdyYXBzLCBuYW1lLCBzcGVjX3NldCwgcGFyZW50LAorICAgICAgICAgICAgX3NwZWNfc3RhdGUKKyAgICAgICAgKQorCisKKyAgICBkZWYgYXR0YWNoX21vY2soc2VsZiwgbW9jaywgYXR0cmlidXRlKToKKyAgICAgICAgIiIiCisgICAgICAgIEF0dGFjaCBhIG1vY2sgYXMgYW4gYXR0cmlidXRlIG9mIHRoaXMgb25lLCByZXBsYWNpbmcgaXRzIG5hbWUgYW5kCisgICAgICAgIHBhcmVudC4gQ2FsbHMgdG8gdGhlIGF0dGFjaGVkIG1vY2sgd2lsbCBiZSByZWNvcmRlZCBpbiB0aGUKKyAgICAgICAgYG1ldGhvZF9jYWxsc2AgYW5kIGBtb2NrX2NhbGxzYCBhdHRyaWJ1dGVzIG9mIHRoaXMgb25lLiIiIgorICAgICAgICBtb2NrLl9tb2NrX3BhcmVudCA9IE5vbmUKKyAgICAgICAgbW9jay5fbW9ja19uZXdfcGFyZW50ID0gTm9uZQorICAgICAgICBtb2NrLl9tb2NrX25hbWUgPSAnJworICAgICAgICBtb2NrLl9tb2NrX25ld19uYW1lID0gTm9uZQorCisgICAgICAgIHNldGF0dHIoc2VsZiwgYXR0cmlidXRlLCBtb2NrKQorCisKKyAgICBkZWYgbW9ja19hZGRfc3BlYyhzZWxmLCBzcGVjLCBzcGVjX3NldD1GYWxzZSk6CisgICAgICAgICIiIkFkZCBhIHNwZWMgdG8gYSBtb2NrLiBgc3BlY2AgY2FuIGVpdGhlciBiZSBhbiBvYmplY3Qgb3IgYQorICAgICAgICBsaXN0IG9mIHN0cmluZ3MuIE9ubHkgYXR0cmlidXRlcyBvbiB0aGUgYHNwZWNgIGNhbiBiZSBmZXRjaGVkIGFzCisgICAgICAgIGF0dHJpYnV0ZXMgZnJvbSB0aGUgbW9jay4KKworICAgICAgICBJZiBgc3BlY19zZXRgIGlzIFRydWUgdGhlbiBvbmx5IGF0dHJpYnV0ZXMgb24gdGhlIHNwZWMgY2FuIGJlIHNldC4iIiIKKyAgICAgICAgc2VsZi5fbW9ja19hZGRfc3BlYyhzcGVjLCBzcGVjX3NldCkKKworCisgICAgZGVmIF9tb2NrX2FkZF9zcGVjKHNlbGYsIHNwZWMsIHNwZWNfc2V0KToKKyAgICAgICAgX3NwZWNfY2xhc3MgPSBOb25lCisKKyAgICAgICAgaWYgc3BlYyBpcyBub3QgTm9uZSBhbmQgbm90IF9pc19saXN0KHNwZWMpOgorICAgICAgICAgICAgaWYgaXNpbnN0YW5jZShzcGVjLCB0eXBlKToKKyAgICAgICAgICAgICAgICBfc3BlY19jbGFzcyA9IHNwZWMKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgX3NwZWNfY2xhc3MgPSBfZ2V0X2NsYXNzKHNwZWMpCisKKyAgICAgICAgICAgIHNwZWMgPSBkaXIoc3BlYykKKworICAgICAgICBfX2RpY3RfXyA9IHNlbGYuX19kaWN0X18KKyAgICAgICAgX19kaWN0X19bJ19zcGVjX2NsYXNzJ10gPSBfc3BlY19jbGFzcworICAgICAgICBfX2RpY3RfX1snX3NwZWNfc2V0J10gPSBzcGVjX3NldAorICAgICAgICBfX2RpY3RfX1snX21vY2tfbWV0aG9kcyddID0gc3BlYworCisKKyAgICBkZWYgX19nZXRfcmV0dXJuX3ZhbHVlKHNlbGYpOgorICAgICAgICByZXQgPSBzZWxmLl9tb2NrX3JldHVybl92YWx1ZQorICAgICAgICBpZiBzZWxmLl9tb2NrX2RlbGVnYXRlIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgcmV0ID0gc2VsZi5fbW9ja19kZWxlZ2F0ZS5yZXR1cm5fdmFsdWUKKworICAgICAgICBpZiByZXQgaXMgREVGQVVMVDoKKyAgICAgICAgICAgIHJldCA9IHNlbGYuX2dldF9jaGlsZF9tb2NrKAorICAgICAgICAgICAgICAgIF9uZXdfcGFyZW50PXNlbGYsIF9uZXdfbmFtZT0nKCknCisgICAgICAgICAgICApCisgICAgICAgICAgICBzZWxmLnJldHVybl92YWx1ZSA9IHJldAorICAgICAgICByZXR1cm4gcmV0CisKKworICAgIGRlZiBfX3NldF9yZXR1cm5fdmFsdWUoc2VsZiwgdmFsdWUpOgorICAgICAgICBpZiBzZWxmLl9tb2NrX2RlbGVnYXRlIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgc2VsZi5fbW9ja19kZWxlZ2F0ZS5yZXR1cm5fdmFsdWUgPSB2YWx1ZQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgc2VsZi5fbW9ja19yZXR1cm5fdmFsdWUgPSB2YWx1ZQorICAgICAgICAgICAgX2NoZWNrX2FuZF9zZXRfcGFyZW50KHNlbGYsIHZhbHVlLCBOb25lLCAnKCknKQorCisgICAgX19yZXR1cm5fdmFsdWVfZG9jID0gIlRoZSB2YWx1ZSB0byBiZSByZXR1cm5lZCB3aGVuIHRoZSBtb2NrIGlzIGNhbGxlZC4iCisgICAgcmV0dXJuX3ZhbHVlID0gcHJvcGVydHkoX19nZXRfcmV0dXJuX3ZhbHVlLCBfX3NldF9yZXR1cm5fdmFsdWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19yZXR1cm5fdmFsdWVfZG9jKQorCisKKyAgICBAcHJvcGVydHkKKyAgICBkZWYgX19jbGFzc19fKHNlbGYpOgorICAgICAgICBpZiBzZWxmLl9zcGVjX2NsYXNzIGlzIE5vbmU6CisgICAgICAgICAgICByZXR1cm4gdHlwZShzZWxmKQorICAgICAgICByZXR1cm4gc2VsZi5fc3BlY19jbGFzcworCisgICAgY2FsbGVkID0gX2RlbGVnYXRpbmdfcHJvcGVydHkoJ2NhbGxlZCcpCisgICAgY2FsbF9jb3VudCA9IF9kZWxlZ2F0aW5nX3Byb3BlcnR5KCdjYWxsX2NvdW50JykKKyAgICBjYWxsX2FyZ3MgPSBfZGVsZWdhdGluZ19wcm9wZXJ0eSgnY2FsbF9hcmdzJykKKyAgICBjYWxsX2FyZ3NfbGlzdCA9IF9kZWxlZ2F0aW5nX3Byb3BlcnR5KCdjYWxsX2FyZ3NfbGlzdCcpCisgICAgbW9ja19jYWxscyA9IF9kZWxlZ2F0aW5nX3Byb3BlcnR5KCdtb2NrX2NhbGxzJykKKworCisgICAgZGVmIF9fZ2V0X3NpZGVfZWZmZWN0KHNlbGYpOgorICAgICAgICBkZWxlZ2F0ZWQgPSBzZWxmLl9tb2NrX2RlbGVnYXRlCisgICAgICAgIGlmIGRlbGVnYXRlZCBpcyBOb25lOgorICAgICAgICAgICAgcmV0dXJuIHNlbGYuX21vY2tfc2lkZV9lZmZlY3QKKyAgICAgICAgcmV0dXJuIGRlbGVnYXRlZC5zaWRlX2VmZmVjdAorCisgICAgZGVmIF9fc2V0X3NpZGVfZWZmZWN0KHNlbGYsIHZhbHVlKToKKyAgICAgICAgdmFsdWUgPSBfdHJ5X2l0ZXIodmFsdWUpCisgICAgICAgIGRlbGVnYXRlZCA9IHNlbGYuX21vY2tfZGVsZWdhdGUKKyAgICAgICAgaWYgZGVsZWdhdGVkIGlzIE5vbmU6CisgICAgICAgICAgICBzZWxmLl9tb2NrX3NpZGVfZWZmZWN0ID0gdmFsdWUKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGRlbGVnYXRlZC5zaWRlX2VmZmVjdCA9IHZhbHVlCisKKyAgICBzaWRlX2VmZmVjdCA9IHByb3BlcnR5KF9fZ2V0X3NpZGVfZWZmZWN0LCBfX3NldF9zaWRlX2VmZmVjdCkKKworCisgICAgZGVmIHJlc2V0X21vY2soc2VsZik6CisgICAgICAgICJSZXN0b3JlIHRoZSBtb2NrIG9iamVjdCB0byBpdHMgaW5pdGlhbCBzdGF0ZS4iCisgICAgICAgIHNlbGYuY2FsbGVkID0gRmFsc2UKKyAgICAgICAgc2VsZi5jYWxsX2FyZ3MgPSBOb25lCisgICAgICAgIHNlbGYuY2FsbF9jb3VudCA9IDAKKyAgICAgICAgc2VsZi5tb2NrX2NhbGxzID0gX0NhbGxMaXN0KCkKKyAgICAgICAgc2VsZi5jYWxsX2FyZ3NfbGlzdCA9IF9DYWxsTGlzdCgpCisgICAgICAgIHNlbGYubWV0aG9kX2NhbGxzID0gX0NhbGxMaXN0KCkKKworICAgICAgICBmb3IgY2hpbGQgaW4gc2VsZi5fbW9ja19jaGlsZHJlbi52YWx1ZXMoKToKKyAgICAgICAgICAgIGNoaWxkLnJlc2V0X21vY2soKQorCisgICAgICAgIHJldCA9IHNlbGYuX21vY2tfcmV0dXJuX3ZhbHVlCisgICAgICAgIGlmIF9pc19pbnN0YW5jZV9tb2NrKHJldCkgYW5kIHJldCBpcyBub3Qgc2VsZjoKKyAgICAgICAgICAgIHJldC5yZXNldF9tb2NrKCkKKworCisgICAgZGVmIGNvbmZpZ3VyZV9tb2NrKHNlbGYsICoqa3dhcmdzKToKKyAgICAgICAgIiIiU2V0IGF0dHJpYnV0ZXMgb24gdGhlIG1vY2sgdGhyb3VnaCBrZXl3b3JkIGFyZ3VtZW50cy4KKworICAgICAgICBBdHRyaWJ1dGVzIHBsdXMgcmV0dXJuIHZhbHVlcyBhbmQgc2lkZSBlZmZlY3RzIGNhbiBiZSBzZXQgb24gY2hpbGQKKyAgICAgICAgbW9ja3MgdXNpbmcgc3RhbmRhcmQgZG90IG5vdGF0aW9uIGFuZCB1bnBhY2tpbmcgYSBkaWN0aW9uYXJ5IGluIHRoZQorICAgICAgICBtZXRob2QgY2FsbDoKKworICAgICAgICA+Pj4gYXR0cnMgPSB7J21ldGhvZC5yZXR1cm5fdmFsdWUnOiAzLCAnb3RoZXIuc2lkZV9lZmZlY3QnOiBLZXlFcnJvcn0KKyAgICAgICAgPj4+IG1vY2suY29uZmlndXJlX21vY2soKiphdHRycykiIiIKKyAgICAgICAgZm9yIGFyZywgdmFsIGluIHNvcnRlZChrd2FyZ3MuaXRlbXMoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIHdlIHNvcnQgb24gdGhlIG51bWJlciBvZiBkb3RzIHNvIHRoYXQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIGF0dHJpYnV0ZXMgYXJlIHNldCBiZWZvcmUgd2Ugc2V0IGF0dHJpYnV0ZXMgb24KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIGF0dHJpYnV0ZXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk9bGFtYmRhIGVudHJ5OiBlbnRyeVswXS5jb3VudCgnLicpKToKKyAgICAgICAgICAgIGFyZ3MgPSBhcmcuc3BsaXQoJy4nKQorICAgICAgICAgICAgZmluYWwgPSBhcmdzLnBvcCgpCisgICAgICAgICAgICBvYmogPSBzZWxmCisgICAgICAgICAgICBmb3IgZW50cnkgaW4gYXJnczoKKyAgICAgICAgICAgICAgICBvYmogPSBnZXRhdHRyKG9iaiwgZW50cnkpCisgICAgICAgICAgICBzZXRhdHRyKG9iaiwgZmluYWwsIHZhbCkKKworCisgICAgZGVmIF9fZ2V0YXR0cl9fKHNlbGYsIG5hbWUpOgorICAgICAgICBpZiBuYW1lID09ICdfbW9ja19tZXRob2RzJzoKKyAgICAgICAgICAgIHJhaXNlIEF0dHJpYnV0ZUVycm9yKG5hbWUpCisgICAgICAgIGVsaWYgc2VsZi5fbW9ja19tZXRob2RzIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgaWYgbmFtZSBub3QgaW4gc2VsZi5fbW9ja19tZXRob2RzIG9yIG5hbWUgaW4gX2FsbF9tYWdpY3M6CisgICAgICAgICAgICAgICAgcmFpc2UgQXR0cmlidXRlRXJyb3IoIk1vY2sgb2JqZWN0IGhhcyBubyBhdHRyaWJ1dGUgJXIiICUgbmFtZSkKKyAgICAgICAgZWxpZiBfaXNfbWFnaWMobmFtZSk6CisgICAgICAgICAgICByYWlzZSBBdHRyaWJ1dGVFcnJvcihuYW1lKQorCisgICAgICAgIHJlc3VsdCA9IHNlbGYuX21vY2tfY2hpbGRyZW4uZ2V0KG5hbWUpCisgICAgICAgIGlmIHJlc3VsdCBpcyBfZGVsZXRlZDoKKyAgICAgICAgICAgIHJhaXNlIEF0dHJpYnV0ZUVycm9yKG5hbWUpCisgICAgICAgIGVsaWYgcmVzdWx0IGlzIE5vbmU6CisgICAgICAgICAgICB3cmFwcyA9IE5vbmUKKyAgICAgICAgICAgIGlmIHNlbGYuX21vY2tfd3JhcHMgaXMgbm90IE5vbmU6CisgICAgICAgICAgICAgICAgIyBYWFhYIHNob3VsZCB3ZSBnZXQgdGhlIGF0dHJpYnV0ZSB3aXRob3V0IHRyaWdnZXJpbmcgY29kZQorICAgICAgICAgICAgICAgICMgZXhlY3V0aW9uPworICAgICAgICAgICAgICAgIHdyYXBzID0gZ2V0YXR0cihzZWxmLl9tb2NrX3dyYXBzLCBuYW1lKQorCisgICAgICAgICAgICByZXN1bHQgPSBzZWxmLl9nZXRfY2hpbGRfbW9jaygKKyAgICAgICAgICAgICAgICBwYXJlbnQ9c2VsZiwgbmFtZT1uYW1lLCB3cmFwcz13cmFwcywgX25ld19uYW1lPW5hbWUsCisgICAgICAgICAgICAgICAgX25ld19wYXJlbnQ9c2VsZgorICAgICAgICAgICAgKQorICAgICAgICAgICAgc2VsZi5fbW9ja19jaGlsZHJlbltuYW1lXSAgPSByZXN1bHQKKworICAgICAgICBlbGlmIGlzaW5zdGFuY2UocmVzdWx0LCBfU3BlY1N0YXRlKToKKyAgICAgICAgICAgIHJlc3VsdCA9IGNyZWF0ZV9hdXRvc3BlYygKKyAgICAgICAgICAgICAgICByZXN1bHQuc3BlYywgcmVzdWx0LnNwZWNfc2V0LCByZXN1bHQuaW5zdGFuY2UsCisgICAgICAgICAgICAgICAgcmVzdWx0LnBhcmVudCwgcmVzdWx0Lm5hbWUKKyAgICAgICAgICAgICkKKyAgICAgICAgICAgIHNlbGYuX21vY2tfY2hpbGRyZW5bbmFtZV0gID0gcmVzdWx0CisKKyAgICAgICAgcmV0dXJuIHJlc3VsdAorCisKKyAgICBkZWYgX19yZXByX18oc2VsZik6CisgICAgICAgIF9uYW1lX2xpc3QgPSBbc2VsZi5fbW9ja19uZXdfbmFtZV0KKyAgICAgICAgX3BhcmVudCA9IHNlbGYuX21vY2tfbmV3X3BhcmVudAorICAgICAgICBsYXN0ID0gc2VsZgorCisgICAgICAgIGRvdCA9ICcuJworICAgICAgICBpZiBfbmFtZV9saXN0ID09IFsnKCknXToKKyAgICAgICAgICAgIGRvdCA9ICcnCisgICAgICAgIHNlZW4gPSBzZXQoKQorICAgICAgICB3aGlsZSBfcGFyZW50IGlzIG5vdCBOb25lOgorICAgICAgICAgICAgbGFzdCA9IF9wYXJlbnQKKworICAgICAgICAgICAgX25hbWVfbGlzdC5hcHBlbmQoX3BhcmVudC5fbW9ja19uZXdfbmFtZSArIGRvdCkKKyAgICAgICAgICAgIGRvdCA9ICcuJworICAgICAgICAgICAgaWYgX3BhcmVudC5fbW9ja19uZXdfbmFtZSA9PSAnKCknOgorICAgICAgICAgICAgICAgIGRvdCA9ICcnCisKKyAgICAgICAgICAgIF9wYXJlbnQgPSBfcGFyZW50Ll9tb2NrX25ld19wYXJlbnQKKworICAgICAgICAgICAgIyB1c2UgaWRzIGhlcmUgc28gYXMgbm90IHRvIGNhbGwgX19oYXNoX18gb24gdGhlIG1vY2tzCisgICAgICAgICAgICBpZiBpZChfcGFyZW50KSBpbiBzZWVuOgorICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgICAgICBzZWVuLmFkZChpZChfcGFyZW50KSkKKworICAgICAgICBfbmFtZV9saXN0ID0gbGlzdChyZXZlcnNlZChfbmFtZV9saXN0KSkKKyAgICAgICAgX2ZpcnN0ID0gbGFzdC5fbW9ja19uYW1lIG9yICdtb2NrJworICAgICAgICBpZiBsZW4oX25hbWVfbGlzdCkgPiAxOgorICAgICAgICAgICAgaWYgX25hbWVfbGlzdFsxXSBub3QgaW4gKCcoKScsICcoKS4nKToKKyAgICAgICAgICAgICAgICBfZmlyc3QgKz0gJy4nCisgICAgICAgIF9uYW1lX2xpc3RbMF0gPSBfZmlyc3QKKyAgICAgICAgbmFtZSA9ICcnLmpvaW4oX25hbWVfbGlzdCkKKworICAgICAgICBuYW1lX3N0cmluZyA9ICcnCisgICAgICAgIGlmIG5hbWUgbm90IGluICgnbW9jaycsICdtb2NrLicpOgorICAgICAgICAgICAgbmFtZV9zdHJpbmcgPSAnIG5hbWU9JXInICUgbmFtZQorCisgICAgICAgIHNwZWNfc3RyaW5nID0gJycKKyAgICAgICAgaWYgc2VsZi5fc3BlY19jbGFzcyBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIHNwZWNfc3RyaW5nID0gJyBzcGVjPSVyJworICAgICAgICAgICAgaWYgc2VsZi5fc3BlY19zZXQ6CisgICAgICAgICAgICAgICAgc3BlY19zdHJpbmcgPSAnIHNwZWNfc2V0PSVyJworICAgICAgICAgICAgc3BlY19zdHJpbmcgPSBzcGVjX3N0cmluZyAlIHNlbGYuX3NwZWNfY2xhc3MuX19uYW1lX18KKyAgICAgICAgcmV0dXJuICI8JXMlcyVzIGlkPSclcyc+IiAlICgKKyAgICAgICAgICAgIHR5cGUoc2VsZikuX19uYW1lX18sCisgICAgICAgICAgICBuYW1lX3N0cmluZywKKyAgICAgICAgICAgIHNwZWNfc3RyaW5nLAorICAgICAgICAgICAgaWQoc2VsZikKKyAgICAgICAgKQorCisKKyAgICBkZWYgX19kaXJfXyhzZWxmKToKKyAgICAgICAgIiIiRmlsdGVyIHRoZSBvdXRwdXQgb2YgYGRpcihtb2NrKWAgdG8gb25seSB1c2VmdWwgbWVtYmVycy4iIiIKKyAgICAgICAgZXh0cmFzID0gc2VsZi5fbW9ja19tZXRob2RzIG9yIFtdCisgICAgICAgIGZyb21fdHlwZSA9IGRpcih0eXBlKHNlbGYpKQorICAgICAgICBmcm9tX2RpY3QgPSBsaXN0KHNlbGYuX19kaWN0X18pCisKKyAgICAgICAgaWYgRklMVEVSX0RJUjoKKyAgICAgICAgICAgIGZyb21fdHlwZSA9IFtlIGZvciBlIGluIGZyb21fdHlwZSBpZiBub3QgZS5zdGFydHN3aXRoKCdfJyldCisgICAgICAgICAgICBmcm9tX2RpY3QgPSBbZSBmb3IgZSBpbiBmcm9tX2RpY3QgaWYgbm90IGUuc3RhcnRzd2l0aCgnXycpIG9yCisgICAgICAgICAgICAgICAgICAgICAgICAgX2lzX21hZ2ljKGUpXQorICAgICAgICByZXR1cm4gc29ydGVkKHNldChleHRyYXMgKyBmcm9tX3R5cGUgKyBmcm9tX2RpY3QgKworICAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0KHNlbGYuX21vY2tfY2hpbGRyZW4pKSkKKworCisgICAgZGVmIF9fc2V0YXR0cl9fKHNlbGYsIG5hbWUsIHZhbHVlKToKKyAgICAgICAgaWYgbmFtZSBpbiBfYWxsb3dlZF9uYW1lczoKKyAgICAgICAgICAgICMgcHJvcGVydHkgc2V0dGVycyBnbyB0aHJvdWdoIGhlcmUKKyAgICAgICAgICAgIHJldHVybiBvYmplY3QuX19zZXRhdHRyX18oc2VsZiwgbmFtZSwgdmFsdWUpCisgICAgICAgIGVsaWYgKHNlbGYuX3NwZWNfc2V0IGFuZCBzZWxmLl9tb2NrX21ldGhvZHMgaXMgbm90IE5vbmUgYW5kCisgICAgICAgICAgICBuYW1lIG5vdCBpbiBzZWxmLl9tb2NrX21ldGhvZHMgYW5kCisgICAgICAgICAgICBuYW1lIG5vdCBpbiBzZWxmLl9fZGljdF9fKToKKyAgICAgICAgICAgIHJhaXNlIEF0dHJpYnV0ZUVycm9yKCJNb2NrIG9iamVjdCBoYXMgbm8gYXR0cmlidXRlICclcyciICUgbmFtZSkKKyAgICAgICAgZWxpZiBuYW1lIGluIF91bnN1cHBvcnRlZF9tYWdpY3M6CisgICAgICAgICAgICBtc2cgPSAnQXR0ZW1wdGluZyB0byBzZXQgdW5zdXBwb3J0ZWQgbWFnaWMgbWV0aG9kICVyLicgJSBuYW1lCisgICAgICAgICAgICByYWlzZSBBdHRyaWJ1dGVFcnJvcihtc2cpCisgICAgICAgIGVsaWYgbmFtZSBpbiBfYWxsX21hZ2ljczoKKyAgICAgICAgICAgIGlmIHNlbGYuX21vY2tfbWV0aG9kcyBpcyBub3QgTm9uZSBhbmQgbmFtZSBub3QgaW4gc2VsZi5fbW9ja19tZXRob2RzOgorICAgICAgICAgICAgICAgIHJhaXNlIEF0dHJpYnV0ZUVycm9yKCJNb2NrIG9iamVjdCBoYXMgbm8gYXR0cmlidXRlICclcyciICUgbmFtZSkKKworICAgICAgICAgICAgaWYgbm90IF9pc19pbnN0YW5jZV9tb2NrKHZhbHVlKToKKyAgICAgICAgICAgICAgICBzZXRhdHRyKHR5cGUoc2VsZiksIG5hbWUsIF9nZXRfbWV0aG9kKG5hbWUsIHZhbHVlKSkKKyAgICAgICAgICAgICAgICBvcmlnaW5hbCA9IHZhbHVlCisgICAgICAgICAgICAgICAgdmFsdWUgPSBsYW1iZGEgKmFyZ3MsICoqa3c6IG9yaWdpbmFsKHNlbGYsICphcmdzLCAqKmt3KQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAjIG9ubHkgc2V0IF9uZXdfbmFtZSBhbmQgbm90IG5hbWUgc28gdGhhdCBtb2NrX2NhbGxzIGlzIHRyYWNrZWQKKyAgICAgICAgICAgICAgICAjIGJ1dCBub3QgbWV0aG9kIGNhbGxzCisgICAgICAgICAgICAgICAgX2NoZWNrX2FuZF9zZXRfcGFyZW50KHNlbGYsIHZhbHVlLCBOb25lLCBuYW1lKQorICAgICAgICAgICAgICAgIHNldGF0dHIodHlwZShzZWxmKSwgbmFtZSwgdmFsdWUpCisgICAgICAgIGVsaWYgbmFtZSA9PSAnX19jbGFzc19fJzoKKyAgICAgICAgICAgIHNlbGYuX3NwZWNfY2xhc3MgPSB2YWx1ZQorICAgICAgICAgICAgcmV0dXJuCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBpZiBfY2hlY2tfYW5kX3NldF9wYXJlbnQoc2VsZiwgdmFsdWUsIG5hbWUsIG5hbWUpOgorICAgICAgICAgICAgICAgIHNlbGYuX21vY2tfY2hpbGRyZW5bbmFtZV0gPSB2YWx1ZQorICAgICAgICByZXR1cm4gb2JqZWN0Ll9fc2V0YXR0cl9fKHNlbGYsIG5hbWUsIHZhbHVlKQorCisKKyAgICBkZWYgX19kZWxhdHRyX18oc2VsZiwgbmFtZSk6CisgICAgICAgIGlmIG5hbWUgaW4gX2FsbF9tYWdpY3MgYW5kIG5hbWUgaW4gdHlwZShzZWxmKS5fX2RpY3RfXzoKKyAgICAgICAgICAgIGRlbGF0dHIodHlwZShzZWxmKSwgbmFtZSkKKyAgICAgICAgICAgIGlmIG5hbWUgbm90IGluIHNlbGYuX19kaWN0X186CisgICAgICAgICAgICAgICAgIyBmb3IgbWFnaWMgbWV0aG9kcyB0aGF0IGFyZSBzdGlsbCBNYWdpY1Byb3h5IG9iamVjdHMgYW5kCisgICAgICAgICAgICAgICAgIyBub3Qgc2V0IG9uIHRoZSBpbnN0YW5jZSBpdHNlbGYKKyAgICAgICAgICAgICAgICByZXR1cm4KKworICAgICAgICBpZiBuYW1lIGluIHNlbGYuX19kaWN0X186CisgICAgICAgICAgICBvYmplY3QuX19kZWxhdHRyX18oc2VsZiwgbmFtZSkKKworICAgICAgICBvYmogPSBzZWxmLl9tb2NrX2NoaWxkcmVuLmdldChuYW1lLCBfbWlzc2luZykKKyAgICAgICAgaWYgb2JqIGlzIF9kZWxldGVkOgorICAgICAgICAgICAgcmFpc2UgQXR0cmlidXRlRXJyb3IobmFtZSkKKyAgICAgICAgaWYgb2JqIGlzIG5vdCBfbWlzc2luZzoKKyAgICAgICAgICAgIGRlbCBzZWxmLl9tb2NrX2NoaWxkcmVuW25hbWVdCisgICAgICAgIHNlbGYuX21vY2tfY2hpbGRyZW5bbmFtZV0gPSBfZGVsZXRlZAorCisKKworICAgIGRlZiBfZm9ybWF0X21vY2tfY2FsbF9zaWduYXR1cmUoc2VsZiwgYXJncywga3dhcmdzKToKKyAgICAgICAgbmFtZSA9IHNlbGYuX21vY2tfbmFtZSBvciAnbW9jaycKKyAgICAgICAgcmV0dXJuIF9mb3JtYXRfY2FsbF9zaWduYXR1cmUobmFtZSwgYXJncywga3dhcmdzKQorCisKKyAgICBkZWYgX2Zvcm1hdF9tb2NrX2ZhaWx1cmVfbWVzc2FnZShzZWxmLCBhcmdzLCBrd2FyZ3MpOgorICAgICAgICBtZXNzYWdlID0gJ0V4cGVjdGVkIGNhbGw6ICVzXG5BY3R1YWwgY2FsbDogJXMnCisgICAgICAgIGV4cGVjdGVkX3N0cmluZyA9IHNlbGYuX2Zvcm1hdF9tb2NrX2NhbGxfc2lnbmF0dXJlKGFyZ3MsIGt3YXJncykKKyAgICAgICAgY2FsbF9hcmdzID0gc2VsZi5jYWxsX2FyZ3MKKyAgICAgICAgaWYgbGVuKGNhbGxfYXJncykgPT0gMzoKKyAgICAgICAgICAgIGNhbGxfYXJncyA9IGNhbGxfYXJnc1sxOl0KKyAgICAgICAgYWN0dWFsX3N0cmluZyA9IHNlbGYuX2Zvcm1hdF9tb2NrX2NhbGxfc2lnbmF0dXJlKCpjYWxsX2FyZ3MpCisgICAgICAgIHJldHVybiBtZXNzYWdlICUgKGV4cGVjdGVkX3N0cmluZywgYWN0dWFsX3N0cmluZykKKworCisgICAgZGVmIGFzc2VydF9jYWxsZWRfd2l0aChfbW9ja19zZWxmLCAqYXJncywgKiprd2FyZ3MpOgorICAgICAgICAiIiJhc3NlcnQgdGhhdCB0aGUgbW9jayB3YXMgY2FsbGVkIHdpdGggdGhlIHNwZWNpZmllZCBhcmd1bWVudHMuCisKKyAgICAgICAgUmFpc2VzIGFuIEFzc2VydGlvbkVycm9yIGlmIHRoZSBhcmdzIGFuZCBrZXl3b3JkIGFyZ3MgcGFzc2VkIGluIGFyZQorICAgICAgICBkaWZmZXJlbnQgdG8gdGhlIGxhc3QgY2FsbCB0byB0aGUgbW9jay4iIiIKKyAgICAgICAgc2VsZiA9IF9tb2NrX3NlbGYKKyAgICAgICAgaWYgc2VsZi5jYWxsX2FyZ3MgaXMgTm9uZToKKyAgICAgICAgICAgIGV4cGVjdGVkID0gc2VsZi5fZm9ybWF0X21vY2tfY2FsbF9zaWduYXR1cmUoYXJncywga3dhcmdzKQorICAgICAgICAgICAgcmFpc2UgQXNzZXJ0aW9uRXJyb3IoJ0V4cGVjdGVkIGNhbGw6ICVzXG5Ob3QgY2FsbGVkJyAlIChleHBlY3RlZCwpKQorCisgICAgICAgIGlmIHNlbGYuY2FsbF9hcmdzICE9IChhcmdzLCBrd2FyZ3MpOgorICAgICAgICAgICAgbXNnID0gc2VsZi5fZm9ybWF0X21vY2tfZmFpbHVyZV9tZXNzYWdlKGFyZ3MsIGt3YXJncykKKyAgICAgICAgICAgIHJhaXNlIEFzc2VydGlvbkVycm9yKG1zZykKKworCisgICAgZGVmIGFzc2VydF9jYWxsZWRfb25jZV93aXRoKF9tb2NrX3NlbGYsICphcmdzLCAqKmt3YXJncyk6CisgICAgICAgICIiImFzc2VydCB0aGF0IHRoZSBtb2NrIHdhcyBjYWxsZWQgZXhhY3RseSBvbmNlIGFuZCB3aXRoIHRoZSBzcGVjaWZpZWQKKyAgICAgICAgYXJndW1lbnRzLiIiIgorICAgICAgICBzZWxmID0gX21vY2tfc2VsZgorICAgICAgICBpZiBub3Qgc2VsZi5jYWxsX2NvdW50ID09IDE6CisgICAgICAgICAgICBtc2cgPSAoIkV4cGVjdGVkIHRvIGJlIGNhbGxlZCBvbmNlLiBDYWxsZWQgJXMgdGltZXMuIiAlCisgICAgICAgICAgICAgICAgICAgc2VsZi5jYWxsX2NvdW50KQorICAgICAgICAgICAgcmFpc2UgQXNzZXJ0aW9uRXJyb3IobXNnKQorICAgICAgICByZXR1cm4gc2VsZi5hc3NlcnRfY2FsbGVkX3dpdGgoKmFyZ3MsICoqa3dhcmdzKQorCisKKyAgICBkZWYgYXNzZXJ0X2hhc19jYWxscyhzZWxmLCBjYWxscywgYW55X29yZGVyPUZhbHNlKToKKyAgICAgICAgIiIiYXNzZXJ0IHRoZSBtb2NrIGhhcyBiZWVuIGNhbGxlZCB3aXRoIHRoZSBzcGVjaWZpZWQgY2FsbHMuCisgICAgICAgIFRoZSBgbW9ja19jYWxsc2AgbGlzdCBpcyBjaGVja2VkIGZvciB0aGUgY2FsbHMuCisKKyAgICAgICAgSWYgYGFueV9vcmRlcmAgaXMgRmFsc2UgKHRoZSBkZWZhdWx0KSB0aGVuIHRoZSBjYWxscyBtdXN0IGJlCisgICAgICAgIHNlcXVlbnRpYWwuIFRoZXJlIGNhbiBiZSBleHRyYSBjYWxscyBiZWZvcmUgb3IgYWZ0ZXIgdGhlCisgICAgICAgIHNwZWNpZmllZCBjYWxscy4KKworICAgICAgICBJZiBgYW55X29yZGVyYCBpcyBUcnVlIHRoZW4gdGhlIGNhbGxzIGNhbiBiZSBpbiBhbnkgb3JkZXIsIGJ1dAorICAgICAgICB0aGV5IG11c3QgYWxsIGFwcGVhciBpbiBgbW9ja19jYWxsc2AuIiIiCisgICAgICAgIGlmIG5vdCBhbnlfb3JkZXI6CisgICAgICAgICAgICBpZiBjYWxscyBub3QgaW4gc2VsZi5tb2NrX2NhbGxzOgorICAgICAgICAgICAgICAgIHJhaXNlIEFzc2VydGlvbkVycm9yKAorICAgICAgICAgICAgICAgICAgICAnQ2FsbHMgbm90IGZvdW5kLlxuRXhwZWN0ZWQ6ICVyXG4nCisgICAgICAgICAgICAgICAgICAgICdBY3R1YWw6ICVyJyAlIChjYWxscywgc2VsZi5tb2NrX2NhbGxzKQorICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgIHJldHVybgorCisgICAgICAgIGFsbF9jYWxscyA9IGxpc3Qoc2VsZi5tb2NrX2NhbGxzKQorCisgICAgICAgIG5vdF9mb3VuZCA9IFtdCisgICAgICAgIGZvciBrYWxsIGluIGNhbGxzOgorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIGFsbF9jYWxscy5yZW1vdmUoa2FsbCkKKyAgICAgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yOgorICAgICAgICAgICAgICAgIG5vdF9mb3VuZC5hcHBlbmQoa2FsbCkKKyAgICAgICAgaWYgbm90X2ZvdW5kOgorICAgICAgICAgICAgcmFpc2UgQXNzZXJ0aW9uRXJyb3IoCisgICAgICAgICAgICAgICAgJyVyIG5vdCBhbGwgZm91bmQgaW4gY2FsbCBsaXN0JyAlICh0dXBsZShub3RfZm91bmQpLCkKKyAgICAgICAgICAgICkKKworCisgICAgZGVmIGFzc2VydF9hbnlfY2FsbChzZWxmLCAqYXJncywgKiprd2FyZ3MpOgorICAgICAgICAiIiJhc3NlcnQgdGhlIG1vY2sgaGFzIGJlZW4gY2FsbGVkIHdpdGggdGhlIHNwZWNpZmllZCBhcmd1bWVudHMuCisKKyAgICAgICAgVGhlIGFzc2VydCBwYXNzZXMgaWYgdGhlIG1vY2sgaGFzICpldmVyKiBiZWVuIGNhbGxlZCwgdW5saWtlCisgICAgICAgIGBhc3NlcnRfY2FsbGVkX3dpdGhgIGFuZCBgYXNzZXJ0X2NhbGxlZF9vbmNlX3dpdGhgIHRoYXQgb25seSBwYXNzIGlmCisgICAgICAgIHRoZSBjYWxsIGlzIHRoZSBtb3N0IHJlY2VudCBvbmUuIiIiCisgICAgICAgIGthbGwgPSBjYWxsKCphcmdzLCAqKmt3YXJncykKKyAgICAgICAgaWYga2FsbCBub3QgaW4gc2VsZi5jYWxsX2FyZ3NfbGlzdDoKKyAgICAgICAgICAgIGV4cGVjdGVkX3N0cmluZyA9IHNlbGYuX2Zvcm1hdF9tb2NrX2NhbGxfc2lnbmF0dXJlKGFyZ3MsIGt3YXJncykKKyAgICAgICAgICAgIHJhaXNlIEFzc2VydGlvbkVycm9yKAorICAgICAgICAgICAgICAgICclcyBjYWxsIG5vdCBmb3VuZCcgJSBleHBlY3RlZF9zdHJpbmcKKyAgICAgICAgICAgICkKKworCisgICAgZGVmIF9nZXRfY2hpbGRfbW9jayhzZWxmLCAqKmt3KToKKyAgICAgICAgIiIiQ3JlYXRlIHRoZSBjaGlsZCBtb2NrcyBmb3IgYXR0cmlidXRlcyBhbmQgcmV0dXJuIHZhbHVlLgorICAgICAgICBCeSBkZWZhdWx0IGNoaWxkIG1vY2tzIHdpbGwgYmUgdGhlIHNhbWUgdHlwZSBhcyB0aGUgcGFyZW50LgorICAgICAgICBTdWJjbGFzc2VzIG9mIE1vY2sgbWF5IHdhbnQgdG8gb3ZlcnJpZGUgdGhpcyB0byBjdXN0b21pemUgdGhlIHdheQorICAgICAgICBjaGlsZCBtb2NrcyBhcmUgbWFkZS4KKworICAgICAgICBGb3Igbm9uLWNhbGxhYmxlIG1vY2tzIHRoZSBjYWxsYWJsZSB2YXJpYW50IHdpbGwgYmUgdXNlZCAocmF0aGVyIHRoYW4KKyAgICAgICAgYW55IGN1c3RvbSBzdWJjbGFzcykuIiIiCisgICAgICAgIF90eXBlID0gdHlwZShzZWxmKQorICAgICAgICBpZiBub3QgaXNzdWJjbGFzcyhfdHlwZSwgQ2FsbGFibGVNaXhpbik6CisgICAgICAgICAgICBpZiBpc3N1YmNsYXNzKF90eXBlLCBOb25DYWxsYWJsZU1hZ2ljTW9jayk6CisgICAgICAgICAgICAgICAga2xhc3MgPSBNYWdpY01vY2sKKyAgICAgICAgICAgIGVsaWYgaXNzdWJjbGFzcyhfdHlwZSwgTm9uQ2FsbGFibGVNb2NrKSA6CisgICAgICAgICAgICAgICAga2xhc3MgPSBNb2NrCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBrbGFzcyA9IF90eXBlLl9fbXJvX19bMV0KKyAgICAgICAgcmV0dXJuIGtsYXNzKCoqa3cpCisKKworCitkZWYgX3RyeV9pdGVyKG9iaik6CisgICAgaWYgb2JqIGlzIE5vbmU6CisgICAgICAgIHJldHVybiBvYmoKKyAgICBpZiBfaXNfZXhjZXB0aW9uKG9iaik6CisgICAgICAgIHJldHVybiBvYmoKKyAgICBpZiBfY2FsbGFibGUob2JqKToKKyAgICAgICAgcmV0dXJuIG9iagorICAgIHRyeToKKyAgICAgICAgcmV0dXJuIGl0ZXIob2JqKQorICAgIGV4Y2VwdCBUeXBlRXJyb3I6CisgICAgICAgICMgWFhYWCBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eQorICAgICAgICAjIGJ1dCB0aGlzIHdpbGwgYmxvdyB1cCBvbiBmaXJzdCBjYWxsIC0gc28gbWF5YmUgd2Ugc2hvdWxkIGZhaWwgZWFybHk/CisgICAgICAgIHJldHVybiBvYmoKKworCisKK2NsYXNzIENhbGxhYmxlTWl4aW4oQmFzZSk6CisKKyAgICBkZWYgX19pbml0X18oc2VsZiwgc3BlYz1Ob25lLCBzaWRlX2VmZmVjdD1Ob25lLCByZXR1cm5fdmFsdWU9REVGQVVMVCwKKyAgICAgICAgICAgICAgICAgd3JhcHM9Tm9uZSwgbmFtZT1Ob25lLCBzcGVjX3NldD1Ob25lLCBwYXJlbnQ9Tm9uZSwKKyAgICAgICAgICAgICAgICAgX3NwZWNfc3RhdGU9Tm9uZSwgX25ld19uYW1lPScnLCBfbmV3X3BhcmVudD1Ob25lLCAqKmt3YXJncyk6CisgICAgICAgIHNlbGYuX19kaWN0X19bJ19tb2NrX3JldHVybl92YWx1ZSddID0gcmV0dXJuX3ZhbHVlCisKKyAgICAgICAgc3VwZXIoQ2FsbGFibGVNaXhpbiwgc2VsZikuX19pbml0X18oCisgICAgICAgICAgICBzcGVjLCB3cmFwcywgbmFtZSwgc3BlY19zZXQsIHBhcmVudCwKKyAgICAgICAgICAgIF9zcGVjX3N0YXRlLCBfbmV3X25hbWUsIF9uZXdfcGFyZW50LCAqKmt3YXJncworICAgICAgICApCisKKyAgICAgICAgc2VsZi5zaWRlX2VmZmVjdCA9IHNpZGVfZWZmZWN0CisKKworICAgIGRlZiBfbW9ja19jaGVja19zaWcoc2VsZiwgKmFyZ3MsICoqa3dhcmdzKToKKyAgICAgICAgIyBzdHViIG1ldGhvZCB0aGF0IGNhbiBiZSByZXBsYWNlZCB3aXRoIG9uZSB3aXRoIGEgc3BlY2lmaWMgc2lnbmF0dXJlCisgICAgICAgIHBhc3MKKworCisgICAgZGVmIF9fY2FsbF9fKF9tb2NrX3NlbGYsICphcmdzLCAqKmt3YXJncyk6CisgICAgICAgICMgY2FuJ3QgdXNlIHNlbGYgaW4tY2FzZSBhIGZ1bmN0aW9uIC8gbWV0aG9kIHdlIGFyZSBtb2NraW5nIHVzZXMgc2VsZgorICAgICAgICAjIGluIHRoZSBzaWduYXR1cmUKKyAgICAgICAgX21vY2tfc2VsZi5fbW9ja19jaGVja19zaWcoKmFyZ3MsICoqa3dhcmdzKQorICAgICAgICByZXR1cm4gX21vY2tfc2VsZi5fbW9ja19jYWxsKCphcmdzLCAqKmt3YXJncykKKworCisgICAgZGVmIF9tb2NrX2NhbGwoX21vY2tfc2VsZiwgKmFyZ3MsICoqa3dhcmdzKToKKyAgICAgICAgc2VsZiA9IF9tb2NrX3NlbGYKKyAgICAgICAgc2VsZi5jYWxsZWQgPSBUcnVlCisgICAgICAgIHNlbGYuY2FsbF9jb3VudCArPSAxCisgICAgICAgIHNlbGYuY2FsbF9hcmdzID0gX0NhbGwoKGFyZ3MsIGt3YXJncyksIHR3bz1UcnVlKQorICAgICAgICBzZWxmLmNhbGxfYXJnc19saXN0LmFwcGVuZChfQ2FsbCgoYXJncywga3dhcmdzKSwgdHdvPVRydWUpKQorCisgICAgICAgIF9uZXdfbmFtZSA9IHNlbGYuX21vY2tfbmV3X25hbWUKKyAgICAgICAgX25ld19wYXJlbnQgPSBzZWxmLl9tb2NrX25ld19wYXJlbnQKKyAgICAgICAgc2VsZi5tb2NrX2NhbGxzLmFwcGVuZChfQ2FsbCgoJycsIGFyZ3MsIGt3YXJncykpKQorCisgICAgICAgIHNlZW4gPSBzZXQoKQorICAgICAgICBza2lwX25leHRfZG90ID0gX25ld19uYW1lID09ICcoKScKKyAgICAgICAgZG9fbWV0aG9kX2NhbGxzID0gc2VsZi5fbW9ja19wYXJlbnQgaXMgbm90IE5vbmUKKyAgICAgICAgbmFtZSA9IHNlbGYuX21vY2tfbmFtZQorICAgICAgICB3aGlsZSBfbmV3X3BhcmVudCBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIHRoaXNfbW9ja19jYWxsID0gX0NhbGwoKF9uZXdfbmFtZSwgYXJncywga3dhcmdzKSkKKyAgICAgICAgICAgIGlmIF9uZXdfcGFyZW50Ll9tb2NrX25ld19uYW1lOgorICAgICAgICAgICAgICAgIGRvdCA9ICcuJworICAgICAgICAgICAgICAgIGlmIHNraXBfbmV4dF9kb3Q6CisgICAgICAgICAgICAgICAgICAgIGRvdCA9ICcnCisKKyAgICAgICAgICAgICAgICBza2lwX25leHRfZG90ID0gRmFsc2UKKyAgICAgICAgICAgICAgICBpZiBfbmV3X3BhcmVudC5fbW9ja19uZXdfbmFtZSA9PSAnKCknOgorICAgICAgICAgICAgICAgICAgICBza2lwX25leHRfZG90ID0gVHJ1ZQorCisgICAgICAgICAgICAgICAgX25ld19uYW1lID0gX25ld19wYXJlbnQuX21vY2tfbmV3X25hbWUgKyBkb3QgKyBfbmV3X25hbWUKKworICAgICAgICAgICAgaWYgZG9fbWV0aG9kX2NhbGxzOgorICAgICAgICAgICAgICAgIGlmIF9uZXdfbmFtZSA9PSBuYW1lOgorICAgICAgICAgICAgICAgICAgICB0aGlzX21ldGhvZF9jYWxsID0gdGhpc19tb2NrX2NhbGwKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICB0aGlzX21ldGhvZF9jYWxsID0gX0NhbGwoKG5hbWUsIGFyZ3MsIGt3YXJncykpCisgICAgICAgICAgICAgICAgX25ld19wYXJlbnQubWV0aG9kX2NhbGxzLmFwcGVuZCh0aGlzX21ldGhvZF9jYWxsKQorCisgICAgICAgICAgICAgICAgZG9fbWV0aG9kX2NhbGxzID0gX25ld19wYXJlbnQuX21vY2tfcGFyZW50IGlzIG5vdCBOb25lCisgICAgICAgICAgICAgICAgaWYgZG9fbWV0aG9kX2NhbGxzOgorICAgICAgICAgICAgICAgICAgICBuYW1lID0gX25ld19wYXJlbnQuX21vY2tfbmFtZSArICcuJyArIG5hbWUKKworICAgICAgICAgICAgX25ld19wYXJlbnQubW9ja19jYWxscy5hcHBlbmQodGhpc19tb2NrX2NhbGwpCisgICAgICAgICAgICBfbmV3X3BhcmVudCA9IF9uZXdfcGFyZW50Ll9tb2NrX25ld19wYXJlbnQKKworICAgICAgICAgICAgIyB1c2UgaWRzIGhlcmUgc28gYXMgbm90IHRvIGNhbGwgX19oYXNoX18gb24gdGhlIG1vY2tzCisgICAgICAgICAgICBfbmV3X3BhcmVudF9pZCA9IGlkKF9uZXdfcGFyZW50KQorICAgICAgICAgICAgaWYgX25ld19wYXJlbnRfaWQgaW4gc2VlbjoKKyAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAgc2Vlbi5hZGQoX25ld19wYXJlbnRfaWQpCisKKyAgICAgICAgcmV0X3ZhbCA9IERFRkFVTFQKKyAgICAgICAgZWZmZWN0ID0gc2VsZi5zaWRlX2VmZmVjdAorICAgICAgICBpZiBlZmZlY3QgaXMgbm90IE5vbmU6CisgICAgICAgICAgICBpZiBfaXNfZXhjZXB0aW9uKGVmZmVjdCk6CisgICAgICAgICAgICAgICAgcmFpc2UgZWZmZWN0CisKKyAgICAgICAgICAgIGlmIG5vdCBfY2FsbGFibGUoZWZmZWN0KToKKyAgICAgICAgICAgICAgICByZXR1cm4gbmV4dChlZmZlY3QpCisKKyAgICAgICAgICAgIHJldF92YWwgPSBlZmZlY3QoKmFyZ3MsICoqa3dhcmdzKQorICAgICAgICAgICAgaWYgcmV0X3ZhbCBpcyBERUZBVUxUOgorICAgICAgICAgICAgICAgIHJldF92YWwgPSBzZWxmLnJldHVybl92YWx1ZQorCisgICAgICAgIGlmIChzZWxmLl9tb2NrX3dyYXBzIGlzIG5vdCBOb25lIGFuZAorICAgICAgICAgICAgIHNlbGYuX21vY2tfcmV0dXJuX3ZhbHVlIGlzIERFRkFVTFQpOgorICAgICAgICAgICAgcmV0dXJuIHNlbGYuX21vY2tfd3JhcHMoKmFyZ3MsICoqa3dhcmdzKQorICAgICAgICBpZiByZXRfdmFsIGlzIERFRkFVTFQ6CisgICAgICAgICAgICByZXRfdmFsID0gc2VsZi5yZXR1cm5fdmFsdWUKKyAgICAgICAgcmV0dXJuIHJldF92YWwKKworCisKK2NsYXNzIE1vY2soQ2FsbGFibGVNaXhpbiwgTm9uQ2FsbGFibGVNb2NrKToKKyAgICAiIiIKKyAgICBDcmVhdGUgYSBuZXcgYE1vY2tgIG9iamVjdC4gYE1vY2tgIHRha2VzIHNldmVyYWwgb3B0aW9uYWwgYXJndW1lbnRzCisgICAgdGhhdCBzcGVjaWZ5IHRoZSBiZWhhdmlvdXIgb2YgdGhlIE1vY2sgb2JqZWN0OgorCisgICAgKiBgc3BlY2A6IFRoaXMgY2FuIGJlIGVpdGhlciBhIGxpc3Qgb2Ygc3RyaW5ncyBvciBhbiBleGlzdGluZyBvYmplY3QgKGEKKyAgICAgIGNsYXNzIG9yIGluc3RhbmNlKSB0aGF0IGFjdHMgYXMgdGhlIHNwZWNpZmljYXRpb24gZm9yIHRoZSBtb2NrIG9iamVjdC4gSWYKKyAgICAgIHlvdSBwYXNzIGluIGFuIG9iamVjdCB0aGVuIGEgbGlzdCBvZiBzdHJpbmdzIGlzIGZvcm1lZCBieSBjYWxsaW5nIGRpciBvbgorICAgICAgdGhlIG9iamVjdCAoZXhjbHVkaW5nIHVuc3VwcG9ydGVkIG1hZ2ljIGF0dHJpYnV0ZXMgYW5kIG1ldGhvZHMpLiBBY2Nlc3NpbmcKKyAgICAgIGFueSBhdHRyaWJ1dGUgbm90IGluIHRoaXMgbGlzdCB3aWxsIHJhaXNlIGFuIGBBdHRyaWJ1dGVFcnJvcmAuCisKKyAgICAgIElmIGBzcGVjYCBpcyBhbiBvYmplY3QgKHJhdGhlciB0aGFuIGEgbGlzdCBvZiBzdHJpbmdzKSB0aGVuCisgICAgICBgbW9jay5fX2NsYXNzX19gIHJldHVybnMgdGhlIGNsYXNzIG9mIHRoZSBzcGVjIG9iamVjdC4gVGhpcyBhbGxvd3MgbW9ja3MKKyAgICAgIHRvIHBhc3MgYGlzaW5zdGFuY2VgIHRlc3RzLgorCisgICAgKiBgc3BlY19zZXRgOiBBIHN0cmljdGVyIHZhcmlhbnQgb2YgYHNwZWNgLiBJZiB1c2VkLCBhdHRlbXB0aW5nIHRvICpzZXQqCisgICAgICBvciBnZXQgYW4gYXR0cmlidXRlIG9uIHRoZSBtb2NrIHRoYXQgaXNuJ3Qgb24gdGhlIG9iamVjdCBwYXNzZWQgYXMKKyAgICAgIGBzcGVjX3NldGAgd2lsbCByYWlzZSBhbiBgQXR0cmlidXRlRXJyb3JgLgorCisgICAgKiBgc2lkZV9lZmZlY3RgOiBBIGZ1bmN0aW9uIHRvIGJlIGNhbGxlZCB3aGVuZXZlciB0aGUgTW9jayBpcyBjYWxsZWQuIFNlZQorICAgICAgdGhlIGBzaWRlX2VmZmVjdGAgYXR0cmlidXRlLiBVc2VmdWwgZm9yIHJhaXNpbmcgZXhjZXB0aW9ucyBvcgorICAgICAgZHluYW1pY2FsbHkgY2hhbmdpbmcgcmV0dXJuIHZhbHVlcy4gVGhlIGZ1bmN0aW9uIGlzIGNhbGxlZCB3aXRoIHRoZSBzYW1lCisgICAgICBhcmd1bWVudHMgYXMgdGhlIG1vY2ssIGFuZCB1bmxlc3MgaXQgcmV0dXJucyBgREVGQVVMVGAsIHRoZSByZXR1cm4KKyAgICAgIHZhbHVlIG9mIHRoaXMgZnVuY3Rpb24gaXMgdXNlZCBhcyB0aGUgcmV0dXJuIHZhbHVlLgorCisgICAgICBBbHRlcm5hdGl2ZWx5IGBzaWRlX2VmZmVjdGAgY2FuIGJlIGFuIGV4Y2VwdGlvbiBjbGFzcyBvciBpbnN0YW5jZS4gSW4KKyAgICAgIHRoaXMgY2FzZSB0aGUgZXhjZXB0aW9uIHdpbGwgYmUgcmFpc2VkIHdoZW4gdGhlIG1vY2sgaXMgY2FsbGVkLgorCisgICAgICBJZiBgc2lkZV9lZmZlY3RgIGlzIGFuIGl0ZXJhYmxlIHRoZW4gZWFjaCBjYWxsIHRvIHRoZSBtb2NrIHdpbGwgcmV0dXJuCisgICAgICB0aGUgbmV4dCB2YWx1ZSBmcm9tIHRoZSBpdGVyYWJsZS4KKworICAgICogYHJldHVybl92YWx1ZWA6IFRoZSB2YWx1ZSByZXR1cm5lZCB3aGVuIHRoZSBtb2NrIGlzIGNhbGxlZC4gQnkgZGVmYXVsdAorICAgICAgdGhpcyBpcyBhIG5ldyBNb2NrIChjcmVhdGVkIG9uIGZpcnN0IGFjY2VzcykuIFNlZSB0aGUKKyAgICAgIGByZXR1cm5fdmFsdWVgIGF0dHJpYnV0ZS4KKworICAgICogYHdyYXBzYDogSXRlbSBmb3IgdGhlIG1vY2sgb2JqZWN0IHRvIHdyYXAuIElmIGB3cmFwc2AgaXMgbm90IE5vbmUKKyAgICAgIHRoZW4gY2FsbGluZyB0aGUgTW9jayB3aWxsIHBhc3MgdGhlIGNhbGwgdGhyb3VnaCB0byB0aGUgd3JhcHBlZCBvYmplY3QKKyAgICAgIChyZXR1cm5pbmcgdGhlIHJlYWwgcmVzdWx0IGFuZCBpZ25vcmluZyBgcmV0dXJuX3ZhbHVlYCkuIEF0dHJpYnV0ZQorICAgICAgYWNjZXNzIG9uIHRoZSBtb2NrIHdpbGwgcmV0dXJuIGEgTW9jayBvYmplY3QgdGhhdCB3cmFwcyB0aGUgY29ycmVzcG9uZGluZworICAgICAgYXR0cmlidXRlIG9mIHRoZSB3cmFwcGVkIG9iamVjdCAoc28gYXR0ZW1wdGluZyB0byBhY2Nlc3MgYW4gYXR0cmlidXRlIHRoYXQKKyAgICAgIGRvZXNuJ3QgZXhpc3Qgd2lsbCByYWlzZSBhbiBgQXR0cmlidXRlRXJyb3JgKS4KKworICAgICAgSWYgdGhlIG1vY2sgaGFzIGFuIGV4cGxpY2l0IGByZXR1cm5fdmFsdWVgIHNldCB0aGVuIGNhbGxzIGFyZSBub3QgcGFzc2VkCisgICAgICB0byB0aGUgd3JhcHBlZCBvYmplY3QgYW5kIHRoZSBgcmV0dXJuX3ZhbHVlYCBpcyByZXR1cm5lZCBpbnN0ZWFkLgorCisgICAgKiBgbmFtZWA6IElmIHRoZSBtb2NrIGhhcyBhIG5hbWUgdGhlbiBpdCB3aWxsIGJlIHVzZWQgaW4gdGhlIHJlcHIgb2YgdGhlCisgICAgICBtb2NrLiBUaGlzIGNhbiBiZSB1c2VmdWwgZm9yIGRlYnVnZ2luZy4gVGhlIG5hbWUgaXMgcHJvcGFnYXRlZCB0byBjaGlsZAorICAgICAgbW9ja3MuCisKKyAgICBNb2NrcyBjYW4gYWxzbyBiZSBjYWxsZWQgd2l0aCBhcmJpdHJhcnkga2V5d29yZCBhcmd1bWVudHMuIFRoZXNlIHdpbGwgYmUKKyAgICB1c2VkIHRvIHNldCBhdHRyaWJ1dGVzIG9uIHRoZSBtb2NrIGFmdGVyIGl0IGlzIGNyZWF0ZWQuCisgICAgIiIiCisKKworCitkZWYgX2RvdF9sb29rdXAodGhpbmcsIGNvbXAsIGltcG9ydF9wYXRoKToKKyAgICB0cnk6CisgICAgICAgIHJldHVybiBnZXRhdHRyKHRoaW5nLCBjb21wKQorICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKKyAgICAgICAgX19pbXBvcnRfXyhpbXBvcnRfcGF0aCkKKyAgICAgICAgcmV0dXJuIGdldGF0dHIodGhpbmcsIGNvbXApCisKKworZGVmIF9pbXBvcnRlcih0YXJnZXQpOgorICAgIGNvbXBvbmVudHMgPSB0YXJnZXQuc3BsaXQoJy4nKQorICAgIGltcG9ydF9wYXRoID0gY29tcG9uZW50cy5wb3AoMCkKKyAgICB0aGluZyA9IF9faW1wb3J0X18oaW1wb3J0X3BhdGgpCisKKyAgICBmb3IgY29tcCBpbiBjb21wb25lbnRzOgorICAgICAgICBpbXBvcnRfcGF0aCArPSAiLiVzIiAlIGNvbXAKKyAgICAgICAgdGhpbmcgPSBfZG90X2xvb2t1cCh0aGluZywgY29tcCwgaW1wb3J0X3BhdGgpCisgICAgcmV0dXJuIHRoaW5nCisKKworZGVmIF9pc19zdGFydGVkKHBhdGNoZXIpOgorICAgICMgWFhYWCBob3JyaWJsZQorICAgIHJldHVybiBoYXNhdHRyKHBhdGNoZXIsICdpc19sb2NhbCcpCisKKworY2xhc3MgX3BhdGNoKG9iamVjdCk6CisKKyAgICBhdHRyaWJ1dGVfbmFtZSA9IE5vbmUKKworICAgIGRlZiBfX2luaXRfXygKKyAgICAgICAgICAgIHNlbGYsIGdldHRlciwgYXR0cmlidXRlLCBuZXcsIHNwZWMsIGNyZWF0ZSwKKyAgICAgICAgICAgIHNwZWNfc2V0LCBhdXRvc3BlYywgbmV3X2NhbGxhYmxlLCBrd2FyZ3MKKyAgICAgICAgKToKKyAgICAgICAgaWYgbmV3X2NhbGxhYmxlIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgaWYgbmV3IGlzIG5vdCBERUZBVUxUOgorICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoCisgICAgICAgICAgICAgICAgICAgICJDYW5ub3QgdXNlICduZXcnIGFuZCAnbmV3X2NhbGxhYmxlJyB0b2dldGhlciIKKyAgICAgICAgICAgICAgICApCisgICAgICAgICAgICBpZiBhdXRvc3BlYyBpcyBub3QgRmFsc2U6CisgICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigKKyAgICAgICAgICAgICAgICAgICAgIkNhbm5vdCB1c2UgJ2F1dG9zcGVjJyBhbmQgJ25ld19jYWxsYWJsZScgdG9nZXRoZXIiCisgICAgICAgICAgICAgICAgKQorCisgICAgICAgIHNlbGYuZ2V0dGVyID0gZ2V0dGVyCisgICAgICAgIHNlbGYuYXR0cmlidXRlID0gYXR0cmlidXRlCisgICAgICAgIHNlbGYubmV3ID0gbmV3CisgICAgICAgIHNlbGYubmV3X2NhbGxhYmxlID0gbmV3X2NhbGxhYmxlCisgICAgICAgIHNlbGYuc3BlYyA9IHNwZWMKKyAgICAgICAgc2VsZi5jcmVhdGUgPSBjcmVhdGUKKyAgICAgICAgc2VsZi5oYXNfbG9jYWwgPSBGYWxzZQorICAgICAgICBzZWxmLnNwZWNfc2V0ID0gc3BlY19zZXQKKyAgICAgICAgc2VsZi5hdXRvc3BlYyA9IGF1dG9zcGVjCisgICAgICAgIHNlbGYua3dhcmdzID0ga3dhcmdzCisgICAgICAgIHNlbGYuYWRkaXRpb25hbF9wYXRjaGVycyA9IFtdCisKKworICAgIGRlZiBjb3B5KHNlbGYpOgorICAgICAgICBwYXRjaGVyID0gX3BhdGNoKAorICAgICAgICAgICAgc2VsZi5nZXR0ZXIsIHNlbGYuYXR0cmlidXRlLCBzZWxmLm5ldywgc2VsZi5zcGVjLAorICAgICAgICAgICAgc2VsZi5jcmVhdGUsIHNlbGYuc3BlY19zZXQsCisgICAgICAgICAgICBzZWxmLmF1dG9zcGVjLCBzZWxmLm5ld19jYWxsYWJsZSwgc2VsZi5rd2FyZ3MKKyAgICAgICAgKQorICAgICAgICBwYXRjaGVyLmF0dHJpYnV0ZV9uYW1lID0gc2VsZi5hdHRyaWJ1dGVfbmFtZQorICAgICAgICBwYXRjaGVyLmFkZGl0aW9uYWxfcGF0Y2hlcnMgPSBbCisgICAgICAgICAgICBwLmNvcHkoKSBmb3IgcCBpbiBzZWxmLmFkZGl0aW9uYWxfcGF0Y2hlcnMKKyAgICAgICAgXQorICAgICAgICByZXR1cm4gcGF0Y2hlcgorCisKKyAgICBkZWYgX19jYWxsX18oc2VsZiwgZnVuYyk6CisgICAgICAgIGlmIGlzaW5zdGFuY2UoZnVuYywgdHlwZSk6CisgICAgICAgICAgICByZXR1cm4gc2VsZi5kZWNvcmF0ZV9jbGFzcyhmdW5jKQorICAgICAgICByZXR1cm4gc2VsZi5kZWNvcmF0ZV9jYWxsYWJsZShmdW5jKQorCisKKyAgICBkZWYgZGVjb3JhdGVfY2xhc3Moc2VsZiwga2xhc3MpOgorICAgICAgICBmb3IgYXR0ciBpbiBkaXIoa2xhc3MpOgorICAgICAgICAgICAgaWYgbm90IGF0dHIuc3RhcnRzd2l0aChwYXRjaC5URVNUX1BSRUZJWCk6CisgICAgICAgICAgICAgICAgY29udGludWUKKworICAgICAgICAgICAgYXR0cl92YWx1ZSA9IGdldGF0dHIoa2xhc3MsIGF0dHIpCisgICAgICAgICAgICBpZiBub3QgaGFzYXR0cihhdHRyX3ZhbHVlLCAiX19jYWxsX18iKToKKyAgICAgICAgICAgICAgICBjb250aW51ZQorCisgICAgICAgICAgICBwYXRjaGVyID0gc2VsZi5jb3B5KCkKKyAgICAgICAgICAgIHNldGF0dHIoa2xhc3MsIGF0dHIsIHBhdGNoZXIoYXR0cl92YWx1ZSkpCisgICAgICAgIHJldHVybiBrbGFzcworCisKKyAgICBkZWYgZGVjb3JhdGVfY2FsbGFibGUoc2VsZiwgZnVuYyk6CisgICAgICAgIGlmIGhhc2F0dHIoZnVuYywgJ3BhdGNoaW5ncycpOgorICAgICAgICAgICAgZnVuYy5wYXRjaGluZ3MuYXBwZW5kKHNlbGYpCisgICAgICAgICAgICByZXR1cm4gZnVuYworCisgICAgICAgIEB3cmFwcyhmdW5jKQorICAgICAgICBkZWYgcGF0Y2hlZCgqYXJncywgKiprZXl3YXJncyk6CisgICAgICAgICAgICBleHRyYV9hcmdzID0gW10KKyAgICAgICAgICAgIGVudGVyZWRfcGF0Y2hlcnMgPSBbXQorCisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgZm9yIHBhdGNoaW5nIGluIHBhdGNoZWQucGF0Y2hpbmdzOgorICAgICAgICAgICAgICAgICAgICBhcmcgPSBwYXRjaGluZy5fX2VudGVyX18oKQorICAgICAgICAgICAgICAgICAgICBlbnRlcmVkX3BhdGNoZXJzLmFwcGVuZChwYXRjaGluZykKKyAgICAgICAgICAgICAgICAgICAgaWYgcGF0Y2hpbmcuYXR0cmlidXRlX25hbWUgaXMgbm90IE5vbmU6CisgICAgICAgICAgICAgICAgICAgICAgICBrZXl3YXJncy51cGRhdGUoYXJnKQorICAgICAgICAgICAgICAgICAgICBlbGlmIHBhdGNoaW5nLm5ldyBpcyBERUZBVUxUOgorICAgICAgICAgICAgICAgICAgICAgICAgZXh0cmFfYXJncy5hcHBlbmQoYXJnKQorCisgICAgICAgICAgICAgICAgYXJncyArPSB0dXBsZShleHRyYV9hcmdzKQorICAgICAgICAgICAgICAgIHJldHVybiBmdW5jKCphcmdzLCAqKmtleXdhcmdzKQorICAgICAgICAgICAgZXhjZXB0OgorICAgICAgICAgICAgICAgIGlmIChwYXRjaGluZyBub3QgaW4gZW50ZXJlZF9wYXRjaGVycyBhbmQKKyAgICAgICAgICAgICAgICAgICAgX2lzX3N0YXJ0ZWQocGF0Y2hpbmcpKToKKyAgICAgICAgICAgICAgICAgICAgIyB0aGUgcGF0Y2hlciBtYXkgaGF2ZSBiZWVuIHN0YXJ0ZWQsIGJ1dCBhbiBleGNlcHRpb24KKyAgICAgICAgICAgICAgICAgICAgIyByYWlzZWQgd2hpbHN0IGVudGVyaW5nIG9uZSBvZiBpdHMgYWRkaXRpb25hbF9wYXRjaGVycworICAgICAgICAgICAgICAgICAgICBlbnRlcmVkX3BhdGNoZXJzLmFwcGVuZChwYXRjaGluZykKKyAgICAgICAgICAgICAgICAjIHJlLXJhaXNlIHRoZSBleGNlcHRpb24KKyAgICAgICAgICAgICAgICByYWlzZQorICAgICAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgICAgICBmb3IgcGF0Y2hpbmcgaW4gcmV2ZXJzZWQoZW50ZXJlZF9wYXRjaGVycyk6CisgICAgICAgICAgICAgICAgICAgIHBhdGNoaW5nLl9fZXhpdF9fKCkKKworICAgICAgICBwYXRjaGVkLnBhdGNoaW5ncyA9IFtzZWxmXQorICAgICAgICBpZiBoYXNhdHRyKGZ1bmMsICdmdW5jX2NvZGUnKToKKyAgICAgICAgICAgICMgbm90IGluIFB5dGhvbiAzCisgICAgICAgICAgICBwYXRjaGVkLmNvbXBhdF9jb19maXJzdGxpbmVubyA9IGdldGF0dHIoCisgICAgICAgICAgICAgICAgZnVuYywgImNvbXBhdF9jb19maXJzdGxpbmVubyIsCisgICAgICAgICAgICAgICAgZnVuYy5mdW5jX2NvZGUuY29fZmlyc3RsaW5lbm8KKyAgICAgICAgICAgICkKKyAgICAgICAgcmV0dXJuIHBhdGNoZWQKKworCisgICAgZGVmIGdldF9vcmlnaW5hbChzZWxmKToKKyAgICAgICAgdGFyZ2V0ID0gc2VsZi5nZXR0ZXIoKQorICAgICAgICBuYW1lID0gc2VsZi5hdHRyaWJ1dGUKKworICAgICAgICBvcmlnaW5hbCA9IERFRkFVTFQKKyAgICAgICAgbG9jYWwgPSBGYWxzZQorCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIG9yaWdpbmFsID0gdGFyZ2V0Ll9fZGljdF9fW25hbWVdCisgICAgICAgIGV4Y2VwdCAoQXR0cmlidXRlRXJyb3IsIEtleUVycm9yKToKKyAgICAgICAgICAgIG9yaWdpbmFsID0gZ2V0YXR0cih0YXJnZXQsIG5hbWUsIERFRkFVTFQpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBsb2NhbCA9IFRydWUKKworICAgICAgICBpZiBub3Qgc2VsZi5jcmVhdGUgYW5kIG9yaWdpbmFsIGlzIERFRkFVTFQ6CisgICAgICAgICAgICByYWlzZSBBdHRyaWJ1dGVFcnJvcigKKyAgICAgICAgICAgICAgICAiJXMgZG9lcyBub3QgaGF2ZSB0aGUgYXR0cmlidXRlICVyIiAlICh0YXJnZXQsIG5hbWUpCisgICAgICAgICAgICApCisgICAgICAgIHJldHVybiBvcmlnaW5hbCwgbG9jYWwKKworCisgICAgZGVmIF9fZW50ZXJfXyhzZWxmKToKKyAgICAgICAgIiIiUGVyZm9ybSB0aGUgcGF0Y2guIiIiCisgICAgICAgIG5ldywgc3BlYywgc3BlY19zZXQgPSBzZWxmLm5ldywgc2VsZi5zcGVjLCBzZWxmLnNwZWNfc2V0CisgICAgICAgIGF1dG9zcGVjLCBrd2FyZ3MgPSBzZWxmLmF1dG9zcGVjLCBzZWxmLmt3YXJncworICAgICAgICBuZXdfY2FsbGFibGUgPSBzZWxmLm5ld19jYWxsYWJsZQorICAgICAgICBzZWxmLnRhcmdldCA9IHNlbGYuZ2V0dGVyKCkKKworICAgICAgICBvcmlnaW5hbCwgbG9jYWwgPSBzZWxmLmdldF9vcmlnaW5hbCgpCisKKyAgICAgICAgaWYgbmV3IGlzIERFRkFVTFQgYW5kIGF1dG9zcGVjIGlzIEZhbHNlOgorICAgICAgICAgICAgaW5oZXJpdCA9IEZhbHNlCisgICAgICAgICAgICBpZiBzcGVjX3NldCA9PSBUcnVlOgorICAgICAgICAgICAgICAgIHNwZWNfc2V0ID0gb3JpZ2luYWwKKyAgICAgICAgICAgIGVsaWYgc3BlYyA9PSBUcnVlOgorICAgICAgICAgICAgICAgICMgc2V0IHNwZWMgdG8gdGhlIG9iamVjdCB3ZSBhcmUgcmVwbGFjaW5nCisgICAgICAgICAgICAgICAgc3BlYyA9IG9yaWdpbmFsCisKKyAgICAgICAgICAgIGlmIChzcGVjIG9yIHNwZWNfc2V0KSBpcyBub3QgTm9uZToKKyAgICAgICAgICAgICAgICBpZiBpc2luc3RhbmNlKG9yaWdpbmFsLCB0eXBlKToKKyAgICAgICAgICAgICAgICAgICAgIyBJZiB3ZSdyZSBwYXRjaGluZyBvdXQgYSBjbGFzcyBhbmQgdGhlcmUgaXMgYSBzcGVjCisgICAgICAgICAgICAgICAgICAgIGluaGVyaXQgPSBUcnVlCisKKyAgICAgICAgICAgIEtsYXNzID0gTWFnaWNNb2NrCisgICAgICAgICAgICBfa3dhcmdzID0ge30KKyAgICAgICAgICAgIGlmIG5ld19jYWxsYWJsZSBpcyBub3QgTm9uZToKKyAgICAgICAgICAgICAgICBLbGFzcyA9IG5ld19jYWxsYWJsZQorICAgICAgICAgICAgZWxpZiAoc3BlYyBvciBzcGVjX3NldCkgaXMgbm90IE5vbmU6CisgICAgICAgICAgICAgICAgaWYgbm90IF9jYWxsYWJsZShzcGVjIG9yIHNwZWNfc2V0KToKKyAgICAgICAgICAgICAgICAgICAgS2xhc3MgPSBOb25DYWxsYWJsZU1hZ2ljTW9jaworCisgICAgICAgICAgICBpZiBzcGVjIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgICAgIF9rd2FyZ3NbJ3NwZWMnXSA9IHNwZWMKKyAgICAgICAgICAgIGlmIHNwZWNfc2V0IGlzIG5vdCBOb25lOgorICAgICAgICAgICAgICAgIF9rd2FyZ3NbJ3NwZWNfc2V0J10gPSBzcGVjX3NldAorCisgICAgICAgICAgICAjIGFkZCBhIG5hbWUgdG8gbW9ja3MKKyAgICAgICAgICAgIGlmIChpc2luc3RhbmNlKEtsYXNzLCB0eXBlKSBhbmQKKyAgICAgICAgICAgICAgICBpc3N1YmNsYXNzKEtsYXNzLCBOb25DYWxsYWJsZU1vY2spIGFuZCBzZWxmLmF0dHJpYnV0ZSk6CisgICAgICAgICAgICAgICAgX2t3YXJnc1snbmFtZSddID0gc2VsZi5hdHRyaWJ1dGUKKworICAgICAgICAgICAgX2t3YXJncy51cGRhdGUoa3dhcmdzKQorICAgICAgICAgICAgbmV3ID0gS2xhc3MoKipfa3dhcmdzKQorCisgICAgICAgICAgICBpZiBpbmhlcml0IGFuZCBfaXNfaW5zdGFuY2VfbW9jayhuZXcpOgorICAgICAgICAgICAgICAgICMgd2UgY2FuIG9ubHkgdGVsbCBpZiB0aGUgaW5zdGFuY2Ugc2hvdWxkIGJlIGNhbGxhYmxlIGlmIHRoZQorICAgICAgICAgICAgICAgICMgc3BlYyBpcyBub3QgYSBsaXN0CisgICAgICAgICAgICAgICAgaWYgKG5vdCBfaXNfbGlzdChzcGVjIG9yIHNwZWNfc2V0KSBhbmQgbm90CisgICAgICAgICAgICAgICAgICAgIF9pbnN0YW5jZV9jYWxsYWJsZShzcGVjIG9yIHNwZWNfc2V0KSk6CisgICAgICAgICAgICAgICAgICAgIEtsYXNzID0gTm9uQ2FsbGFibGVNYWdpY01vY2sKKworICAgICAgICAgICAgICAgIF9rd2FyZ3MucG9wKCduYW1lJykKKyAgICAgICAgICAgICAgICBuZXcucmV0dXJuX3ZhbHVlID0gS2xhc3MoX25ld19wYXJlbnQ9bmV3LCBfbmV3X25hbWU9JygpJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKipfa3dhcmdzKQorICAgICAgICBlbGlmIGF1dG9zcGVjIGlzIG5vdCBGYWxzZToKKyAgICAgICAgICAgICMgc3BlYyBpcyBpZ25vcmVkLCBuZXcgKm11c3QqIGJlIGRlZmF1bHQsIHNwZWNfc2V0IGlzIHRyZWF0ZWQKKyAgICAgICAgICAgICMgYXMgYSBib29sZWFuLiBTaG91bGQgd2UgY2hlY2sgc3BlYyBpcyBub3QgTm9uZSBhbmQgdGhhdCBzcGVjX3NldAorICAgICAgICAgICAgIyBpcyBhIGJvb2w/CisgICAgICAgICAgICBpZiBuZXcgaXMgbm90IERFRkFVTFQ6CisgICAgICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yKAorICAgICAgICAgICAgICAgICAgICAiYXV0b3NwZWMgY3JlYXRlcyB0aGUgbW9jayBmb3IgeW91LiBDYW4ndCBzcGVjaWZ5ICIKKyAgICAgICAgICAgICAgICAgICAgImF1dG9zcGVjIGFuZCBuZXcuIgorICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgIHNwZWNfc2V0ID0gYm9vbChzcGVjX3NldCkKKyAgICAgICAgICAgIGlmIGF1dG9zcGVjIGlzIFRydWU6CisgICAgICAgICAgICAgICAgYXV0b3NwZWMgPSBvcmlnaW5hbAorCisgICAgICAgICAgICBuZXcgPSBjcmVhdGVfYXV0b3NwZWMoYXV0b3NwZWMsIHNwZWNfc2V0PXNwZWNfc2V0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9uYW1lPXNlbGYuYXR0cmlidXRlLCAqKmt3YXJncykKKyAgICAgICAgZWxpZiBrd2FyZ3M6CisgICAgICAgICAgICAjIGNhbid0IHNldCBrZXl3b3JkIGFyZ3Mgd2hlbiB3ZSBhcmVuJ3QgY3JlYXRpbmcgdGhlIG1vY2sKKyAgICAgICAgICAgICMgWFhYWCBJZiBuZXcgaXMgYSBNb2NrIHdlIGNvdWxkIGNhbGwgbmV3LmNvbmZpZ3VyZV9tb2NrKCoqa3dhcmdzKQorICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCJDYW4ndCBwYXNzIGt3YXJncyB0byBhIG1vY2sgd2UgYXJlbid0IGNyZWF0aW5nIikKKworICAgICAgICBuZXdfYXR0ciA9IG5ldworCisgICAgICAgIHNlbGYudGVtcF9vcmlnaW5hbCA9IG9yaWdpbmFsCisgICAgICAgIHNlbGYuaXNfbG9jYWwgPSBsb2NhbAorICAgICAgICBzZXRhdHRyKHNlbGYudGFyZ2V0LCBzZWxmLmF0dHJpYnV0ZSwgbmV3X2F0dHIpCisgICAgICAgIGlmIHNlbGYuYXR0cmlidXRlX25hbWUgaXMgbm90IE5vbmU6CisgICAgICAgICAgICBleHRyYV9hcmdzID0ge30KKyAgICAgICAgICAgIGlmIHNlbGYubmV3IGlzIERFRkFVTFQ6CisgICAgICAgICAgICAgICAgZXh0cmFfYXJnc1tzZWxmLmF0dHJpYnV0ZV9uYW1lXSA9ICBuZXcKKyAgICAgICAgICAgIGZvciBwYXRjaGluZyBpbiBzZWxmLmFkZGl0aW9uYWxfcGF0Y2hlcnM6CisgICAgICAgICAgICAgICAgYXJnID0gcGF0Y2hpbmcuX19lbnRlcl9fKCkKKyAgICAgICAgICAgICAgICBpZiBwYXRjaGluZy5uZXcgaXMgREVGQVVMVDoKKyAgICAgICAgICAgICAgICAgICAgZXh0cmFfYXJncy51cGRhdGUoYXJnKQorICAgICAgICAgICAgcmV0dXJuIGV4dHJhX2FyZ3MKKworICAgICAgICByZXR1cm4gbmV3CisKKworICAgIGRlZiBfX2V4aXRfXyhzZWxmLCAqXyk6CisgICAgICAgICIiIlVuZG8gdGhlIHBhdGNoLiIiIgorICAgICAgICBpZiBub3QgX2lzX3N0YXJ0ZWQoc2VsZik6CisgICAgICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IoJ3N0b3AgY2FsbGVkIG9uIHVuc3RhcnRlZCBwYXRjaGVyJykKKworICAgICAgICBpZiBzZWxmLmlzX2xvY2FsIGFuZCBzZWxmLnRlbXBfb3JpZ2luYWwgaXMgbm90IERFRkFVTFQ6CisgICAgICAgICAgICBzZXRhdHRyKHNlbGYudGFyZ2V0LCBzZWxmLmF0dHJpYnV0ZSwgc2VsZi50ZW1wX29yaWdpbmFsKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgZGVsYXR0cihzZWxmLnRhcmdldCwgc2VsZi5hdHRyaWJ1dGUpCisgICAgICAgICAgICBpZiBub3Qgc2VsZi5jcmVhdGUgYW5kIG5vdCBoYXNhdHRyKHNlbGYudGFyZ2V0LCBzZWxmLmF0dHJpYnV0ZSk6CisgICAgICAgICAgICAgICAgIyBuZWVkZWQgZm9yIHByb3h5IG9iamVjdHMgbGlrZSBkamFuZ28gc2V0dGluZ3MKKyAgICAgICAgICAgICAgICBzZXRhdHRyKHNlbGYudGFyZ2V0LCBzZWxmLmF0dHJpYnV0ZSwgc2VsZi50ZW1wX29yaWdpbmFsKQorCisgICAgICAgIGRlbCBzZWxmLnRlbXBfb3JpZ2luYWwKKyAgICAgICAgZGVsIHNlbGYuaXNfbG9jYWwKKyAgICAgICAgZGVsIHNlbGYudGFyZ2V0CisgICAgICAgIGZvciBwYXRjaGVyIGluIHJldmVyc2VkKHNlbGYuYWRkaXRpb25hbF9wYXRjaGVycyk6CisgICAgICAgICAgICBpZiBfaXNfc3RhcnRlZChwYXRjaGVyKToKKyAgICAgICAgICAgICAgICBwYXRjaGVyLl9fZXhpdF9fKCkKKworICAgIHN0YXJ0ID0gX19lbnRlcl9fCisgICAgc3RvcCA9IF9fZXhpdF9fCisKKworCitkZWYgX2dldF90YXJnZXQodGFyZ2V0KToKKyAgICB0cnk6CisgICAgICAgIHRhcmdldCwgYXR0cmlidXRlID0gdGFyZ2V0LnJzcGxpdCgnLicsIDEpCisgICAgZXhjZXB0IChUeXBlRXJyb3IsIFZhbHVlRXJyb3IpOgorICAgICAgICByYWlzZSBUeXBlRXJyb3IoIk5lZWQgYSB2YWxpZCB0YXJnZXQgdG8gcGF0Y2guIFlvdSBzdXBwbGllZDogJXIiICUKKyAgICAgICAgICAgICAgICAgICAgICAgICh0YXJnZXQsKSkKKyAgICBnZXR0ZXIgPSBsYW1iZGE6IF9pbXBvcnRlcih0YXJnZXQpCisgICAgcmV0dXJuIGdldHRlciwgYXR0cmlidXRlCisKKworZGVmIF9wYXRjaF9vYmplY3QoCisgICAgICAgIHRhcmdldCwgYXR0cmlidXRlLCBuZXc9REVGQVVMVCwgc3BlYz1Ob25lLAorICAgICAgICBjcmVhdGU9RmFsc2UsIHNwZWNfc2V0PU5vbmUsIGF1dG9zcGVjPUZhbHNlLAorICAgICAgICBuZXdfY2FsbGFibGU9Tm9uZSwgKiprd2FyZ3MKKyAgICApOgorICAgICIiIgorICAgIHBhdGNoLm9iamVjdCh0YXJnZXQsIGF0dHJpYnV0ZSwgbmV3PURFRkFVTFQsIHNwZWM9Tm9uZSwgY3JlYXRlPUZhbHNlLAorICAgICAgICAgICAgICAgICBzcGVjX3NldD1Ob25lLCBhdXRvc3BlYz1GYWxzZSwKKyAgICAgICAgICAgICAgICAgbmV3X2NhbGxhYmxlPU5vbmUsICoqa3dhcmdzKQorCisgICAgcGF0Y2ggdGhlIG5hbWVkIG1lbWJlciAoYGF0dHJpYnV0ZWApIG9uIGFuIG9iamVjdCAoYHRhcmdldGApIHdpdGggYSBtb2NrCisgICAgb2JqZWN0LgorCisgICAgYHBhdGNoLm9iamVjdGAgY2FuIGJlIHVzZWQgYXMgYSBkZWNvcmF0b3IsIGNsYXNzIGRlY29yYXRvciBvciBhIGNvbnRleHQKKyAgICBtYW5hZ2VyLiBBcmd1bWVudHMgYG5ld2AsIGBzcGVjYCwgYGNyZWF0ZWAsIGBzcGVjX3NldGAsCisgICAgYGF1dG9zcGVjYCBhbmQgYG5ld19jYWxsYWJsZWAgaGF2ZSB0aGUgc2FtZSBtZWFuaW5nIGFzIGZvciBgcGF0Y2hgLiBMaWtlCisgICAgYHBhdGNoYCwgYHBhdGNoLm9iamVjdGAgdGFrZXMgYXJiaXRyYXJ5IGtleXdvcmQgYXJndW1lbnRzIGZvciBjb25maWd1cmluZworICAgIHRoZSBtb2NrIG9iamVjdCBpdCBjcmVhdGVzLgorCisgICAgV2hlbiB1c2VkIGFzIGEgY2xhc3MgZGVjb3JhdG9yIGBwYXRjaC5vYmplY3RgIGhvbm91cnMgYHBhdGNoLlRFU1RfUFJFRklYYAorICAgIGZvciBjaG9vc2luZyB3aGljaCBtZXRob2RzIHRvIHdyYXAuCisgICAgIiIiCisgICAgZ2V0dGVyID0gbGFtYmRhOiB0YXJnZXQKKyAgICByZXR1cm4gX3BhdGNoKAorICAgICAgICBnZXR0ZXIsIGF0dHJpYnV0ZSwgbmV3LCBzcGVjLCBjcmVhdGUsCisgICAgICAgIHNwZWNfc2V0LCBhdXRvc3BlYywgbmV3X2NhbGxhYmxlLCBrd2FyZ3MKKyAgICApCisKKworZGVmIF9wYXRjaF9tdWx0aXBsZSh0YXJnZXQsIHNwZWM9Tm9uZSwgY3JlYXRlPUZhbHNlLAorICAgICAgICBzcGVjX3NldD1Ob25lLCBhdXRvc3BlYz1GYWxzZSwKKyAgICAgICAgbmV3X2NhbGxhYmxlPU5vbmUsICoqa3dhcmdzCisgICAgKToKKyAgICAiIiJQZXJmb3JtIG11bHRpcGxlIHBhdGNoZXMgaW4gYSBzaW5nbGUgY2FsbC4gSXQgdGFrZXMgdGhlIG9iamVjdCB0byBiZQorICAgIHBhdGNoZWQgKGVpdGhlciBhcyBhbiBvYmplY3Qgb3IgYSBzdHJpbmcgdG8gZmV0Y2ggdGhlIG9iamVjdCBieSBpbXBvcnRpbmcpCisgICAgYW5kIGtleXdvcmQgYXJndW1lbnRzIGZvciB0aGUgcGF0Y2hlczo6CisKKyAgICAgICAgd2l0aCBwYXRjaC5tdWx0aXBsZShzZXR0aW5ncywgRklSU1RfUEFUQ0g9J29uZScsIFNFQ09ORF9QQVRDSD0ndHdvJyk6CisgICAgICAgICAgICAuLi4KKworICAgIFVzZSBgREVGQVVMVGAgYXMgdGhlIHZhbHVlIGlmIHlvdSB3YW50IGBwYXRjaC5tdWx0aXBsZWAgdG8gY3JlYXRlCisgICAgbW9ja3MgZm9yIHlvdS4gSW4gdGhpcyBjYXNlIHRoZSBjcmVhdGVkIG1vY2tzIGFyZSBwYXNzZWQgaW50byBhIGRlY29yYXRlZAorICAgIGZ1bmN0aW9uIGJ5IGtleXdvcmQsIGFuZCBhIGRpY3Rpb25hcnkgaXMgcmV0dXJuZWQgd2hlbiBgcGF0Y2gubXVsdGlwbGVgIGlzCisgICAgdXNlZCBhcyBhIGNvbnRleHQgbWFuYWdlci4KKworICAgIGBwYXRjaC5tdWx0aXBsZWAgY2FuIGJlIHVzZWQgYXMgYSBkZWNvcmF0b3IsIGNsYXNzIGRlY29yYXRvciBvciBhIGNvbnRleHQKKyAgICBtYW5hZ2VyLiBUaGUgYXJndW1lbnRzIGBzcGVjYCwgYHNwZWNfc2V0YCwgYGNyZWF0ZWAsCisgICAgYGF1dG9zcGVjYCBhbmQgYG5ld19jYWxsYWJsZWAgaGF2ZSB0aGUgc2FtZSBtZWFuaW5nIGFzIGZvciBgcGF0Y2hgLiBUaGVzZQorICAgIGFyZ3VtZW50cyB3aWxsIGJlIGFwcGxpZWQgdG8gKmFsbCogcGF0Y2hlcyBkb25lIGJ5IGBwYXRjaC5tdWx0aXBsZWAuCisKKyAgICBXaGVuIHVzZWQgYXMgYSBjbGFzcyBkZWNvcmF0b3IgYHBhdGNoLm11bHRpcGxlYCBob25vdXJzIGBwYXRjaC5URVNUX1BSRUZJWGAKKyAgICBmb3IgY2hvb3Npbmcgd2hpY2ggbWV0aG9kcyB0byB3cmFwLgorICAgICIiIgorICAgIGlmIHR5cGUodGFyZ2V0KSBpcyBzdHI6CisgICAgICAgIGdldHRlciA9IGxhbWJkYTogX2ltcG9ydGVyKHRhcmdldCkKKyAgICBlbHNlOgorICAgICAgICBnZXR0ZXIgPSBsYW1iZGE6IHRhcmdldAorCisgICAgaWYgbm90IGt3YXJnczoKKyAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigKKyAgICAgICAgICAgICdNdXN0IHN1cHBseSBhdCBsZWFzdCBvbmUga2V5d29yZCBhcmd1bWVudCB3aXRoIHBhdGNoLm11bHRpcGxlJworICAgICAgICApCisgICAgIyBuZWVkIHRvIHdyYXAgaW4gYSBsaXN0IGZvciBweXRob24gMywgd2hlcmUgaXRlbXMgaXMgYSB2aWV3CisgICAgaXRlbXMgPSBsaXN0KGt3YXJncy5pdGVtcygpKQorICAgIGF0dHJpYnV0ZSwgbmV3ID0gaXRlbXNbMF0KKyAgICBwYXRjaGVyID0gX3BhdGNoKAorICAgICAgICBnZXR0ZXIsIGF0dHJpYnV0ZSwgbmV3LCBzcGVjLCBjcmVhdGUsIHNwZWNfc2V0LAorICAgICAgICBhdXRvc3BlYywgbmV3X2NhbGxhYmxlLCB7fQorICAgICkKKyAgICBwYXRjaGVyLmF0dHJpYnV0ZV9uYW1lID0gYXR0cmlidXRlCisgICAgZm9yIGF0dHJpYnV0ZSwgbmV3IGluIGl0ZW1zWzE6XToKKyAgICAgICAgdGhpc19wYXRjaGVyID0gX3BhdGNoKAorICAgICAgICAgICAgZ2V0dGVyLCBhdHRyaWJ1dGUsIG5ldywgc3BlYywgY3JlYXRlLCBzcGVjX3NldCwKKyAgICAgICAgICAgIGF1dG9zcGVjLCBuZXdfY2FsbGFibGUsIHt9CisgICAgICAgICkKKyAgICAgICAgdGhpc19wYXRjaGVyLmF0dHJpYnV0ZV9uYW1lID0gYXR0cmlidXRlCisgICAgICAgIHBhdGNoZXIuYWRkaXRpb25hbF9wYXRjaGVycy5hcHBlbmQodGhpc19wYXRjaGVyKQorICAgIHJldHVybiBwYXRjaGVyCisKKworZGVmIHBhdGNoKAorICAgICAgICB0YXJnZXQsIG5ldz1ERUZBVUxULCBzcGVjPU5vbmUsIGNyZWF0ZT1GYWxzZSwKKyAgICAgICAgc3BlY19zZXQ9Tm9uZSwgYXV0b3NwZWM9RmFsc2UsCisgICAgICAgIG5ld19jYWxsYWJsZT1Ob25lLCAqKmt3YXJncworICAgICk6CisgICAgIiIiCisgICAgYHBhdGNoYCBhY3RzIGFzIGEgZnVuY3Rpb24gZGVjb3JhdG9yLCBjbGFzcyBkZWNvcmF0b3Igb3IgYSBjb250ZXh0CisgICAgbWFuYWdlci4gSW5zaWRlIHRoZSBib2R5IG9mIHRoZSBmdW5jdGlvbiBvciB3aXRoIHN0YXRlbWVudCwgdGhlIGB0YXJnZXRgCisgICAgKHNwZWNpZmllZCBpbiB0aGUgZm9ybSBgJ3BhY2thZ2UubW9kdWxlLkNsYXNzTmFtZSdgKSBpcyBwYXRjaGVkCisgICAgd2l0aCBhIGBuZXdgIG9iamVjdC4gV2hlbiB0aGUgZnVuY3Rpb24vd2l0aCBzdGF0ZW1lbnQgZXhpdHMgdGhlIHBhdGNoIGlzCisgICAgdW5kb25lLgorCisgICAgVGhlIGB0YXJnZXRgIGlzIGltcG9ydGVkIGFuZCB0aGUgc3BlY2lmaWVkIGF0dHJpYnV0ZSBwYXRjaGVkIHdpdGggdGhlIG5ldworICAgIG9iamVjdCwgc28gaXQgbXVzdCBiZSBpbXBvcnRhYmxlIGZyb20gdGhlIGVudmlyb25tZW50IHlvdSBhcmUgY2FsbGluZyB0aGUKKyAgICBkZWNvcmF0b3IgZnJvbS4gVGhlIHRhcmdldCBpcyBpbXBvcnRlZCB3aGVuIHRoZSBkZWNvcmF0ZWQgZnVuY3Rpb24gaXMKKyAgICBleGVjdXRlZCwgbm90IGF0IGRlY29yYXRpb24gdGltZS4KKworICAgIElmIGBuZXdgIGlzIG9taXR0ZWQsIHRoZW4gYSBuZXcgYE1hZ2ljTW9ja2AgaXMgY3JlYXRlZCBhbmQgcGFzc2VkIGluIGFzIGFuCisgICAgZXh0cmEgYXJndW1lbnQgdG8gdGhlIGRlY29yYXRlZCBmdW5jdGlvbi4KKworICAgIFRoZSBgc3BlY2AgYW5kIGBzcGVjX3NldGAga2V5d29yZCBhcmd1bWVudHMgYXJlIHBhc3NlZCB0byB0aGUgYE1hZ2ljTW9ja2AKKyAgICBpZiBwYXRjaCBpcyBjcmVhdGluZyBvbmUgZm9yIHlvdS4KKworICAgIEluIGFkZGl0aW9uIHlvdSBjYW4gcGFzcyBgc3BlYz1UcnVlYCBvciBgc3BlY19zZXQ9VHJ1ZWAsIHdoaWNoIGNhdXNlcworICAgIHBhdGNoIHRvIHBhc3MgaW4gdGhlIG9iamVjdCBiZWluZyBtb2NrZWQgYXMgdGhlIHNwZWMvc3BlY19zZXQgb2JqZWN0LgorCisgICAgYG5ld19jYWxsYWJsZWAgYWxsb3dzIHlvdSB0byBzcGVjaWZ5IGEgZGlmZmVyZW50IGNsYXNzLCBvciBjYWxsYWJsZSBvYmplY3QsCisgICAgdGhhdCB3aWxsIGJlIGNhbGxlZCB0byBjcmVhdGUgdGhlIGBuZXdgIG9iamVjdC4gQnkgZGVmYXVsdCBgTWFnaWNNb2NrYCBpcworICAgIHVzZWQuCisKKyAgICBBIG1vcmUgcG93ZXJmdWwgZm9ybSBvZiBgc3BlY2AgaXMgYGF1dG9zcGVjYC4gSWYgeW91IHNldCBgYXV0b3NwZWM9VHJ1ZWAKKyAgICB0aGVuIHRoZSBtb2NrIHdpdGggYmUgY3JlYXRlZCB3aXRoIGEgc3BlYyBmcm9tIHRoZSBvYmplY3QgYmVpbmcgcmVwbGFjZWQuCisgICAgQWxsIGF0dHJpYnV0ZXMgb2YgdGhlIG1vY2sgd2lsbCBhbHNvIGhhdmUgdGhlIHNwZWMgb2YgdGhlIGNvcnJlc3BvbmRpbmcKKyAgICBhdHRyaWJ1dGUgb2YgdGhlIG9iamVjdCBiZWluZyByZXBsYWNlZC4gTWV0aG9kcyBhbmQgZnVuY3Rpb25zIGJlaW5nCisgICAgbW9ja2VkIHdpbGwgaGF2ZSB0aGVpciBhcmd1bWVudHMgY2hlY2tlZCBhbmQgd2lsbCByYWlzZSBhIGBUeXBlRXJyb3JgIGlmCisgICAgdGhleSBhcmUgY2FsbGVkIHdpdGggdGhlIHdyb25nIHNpZ25hdHVyZS4gRm9yIG1vY2tzIHJlcGxhY2luZyBhIGNsYXNzLAorICAgIHRoZWlyIHJldHVybiB2YWx1ZSAodGhlICdpbnN0YW5jZScpIHdpbGwgaGF2ZSB0aGUgc2FtZSBzcGVjIGFzIHRoZSBjbGFzcy4KKworICAgIEluc3RlYWQgb2YgYGF1dG9zcGVjPVRydWVgIHlvdSBjYW4gcGFzcyBgYXV0b3NwZWM9c29tZV9vYmplY3RgIHRvIHVzZSBhbgorICAgIGFyYml0cmFyeSBvYmplY3QgYXMgdGhlIHNwZWMgaW5zdGVhZCBvZiB0aGUgb25lIGJlaW5nIHJlcGxhY2VkLgorCisgICAgQnkgZGVmYXVsdCBgcGF0Y2hgIHdpbGwgZmFpbCB0byByZXBsYWNlIGF0dHJpYnV0ZXMgdGhhdCBkb24ndCBleGlzdC4gSWYKKyAgICB5b3UgcGFzcyBpbiBgY3JlYXRlPVRydWVgLCBhbmQgdGhlIGF0dHJpYnV0ZSBkb2Vzbid0IGV4aXN0LCBwYXRjaCB3aWxsCisgICAgY3JlYXRlIHRoZSBhdHRyaWJ1dGUgZm9yIHlvdSB3aGVuIHRoZSBwYXRjaGVkIGZ1bmN0aW9uIGlzIGNhbGxlZCwgYW5kCisgICAgZGVsZXRlIGl0IGFnYWluIGFmdGVyd2FyZHMuIFRoaXMgaXMgdXNlZnVsIGZvciB3cml0aW5nIHRlc3RzIGFnYWluc3QKKyAgICBhdHRyaWJ1dGVzIHRoYXQgeW91ciBwcm9kdWN0aW9uIGNvZGUgY3JlYXRlcyBhdCBydW50aW1lLiBJdCBpcyBvZmYgYnkgYnkKKyAgICBkZWZhdWx0IGJlY2F1c2UgaXQgY2FuIGJlIGRhbmdlcm91cy4gV2l0aCBpdCBzd2l0Y2hlZCBvbiB5b3UgY2FuIHdyaXRlCisgICAgcGFzc2luZyB0ZXN0cyBhZ2FpbnN0IEFQSXMgdGhhdCBkb24ndCBhY3R1YWxseSBleGlzdCEKKworICAgIFBhdGNoIGNhbiBiZSB1c2VkIGFzIGEgYFRlc3RDYXNlYCBjbGFzcyBkZWNvcmF0b3IuIEl0IHdvcmtzIGJ5CisgICAgZGVjb3JhdGluZyBlYWNoIHRlc3QgbWV0aG9kIGluIHRoZSBjbGFzcy4gVGhpcyByZWR1Y2VzIHRoZSBib2lsZXJwbGF0ZQorICAgIGNvZGUgd2hlbiB5b3VyIHRlc3QgbWV0aG9kcyBzaGFyZSBhIGNvbW1vbiBwYXRjaGluZ3Mgc2V0LiBgcGF0Y2hgIGZpbmRzCisgICAgdGVzdHMgYnkgbG9va2luZyBmb3IgbWV0aG9kIG5hbWVzIHRoYXQgc3RhcnQgd2l0aCBgcGF0Y2guVEVTVF9QUkVGSVhgLgorICAgIEJ5IGRlZmF1bHQgdGhpcyBpcyBgdGVzdGAsIHdoaWNoIG1hdGNoZXMgdGhlIHdheSBgdW5pdHRlc3RgIGZpbmRzIHRlc3RzLgorICAgIFlvdSBjYW4gc3BlY2lmeSBhbiBhbHRlcm5hdGl2ZSBwcmVmaXggYnkgc2V0dGluZyBgcGF0Y2guVEVTVF9QUkVGSVhgLgorCisgICAgUGF0Y2ggY2FuIGJlIHVzZWQgYXMgYSBjb250ZXh0IG1hbmFnZXIsIHdpdGggdGhlIHdpdGggc3RhdGVtZW50LiBIZXJlIHRoZQorICAgIHBhdGNoaW5nIGFwcGxpZXMgdG8gdGhlIGluZGVudGVkIGJsb2NrIGFmdGVyIHRoZSB3aXRoIHN0YXRlbWVudC4gSWYgeW91CisgICAgdXNlICJhcyIgdGhlbiB0aGUgcGF0Y2hlZCBvYmplY3Qgd2lsbCBiZSBib3VuZCB0byB0aGUgbmFtZSBhZnRlciB0aGUKKyAgICAiYXMiOyB2ZXJ5IHVzZWZ1bCBpZiBgcGF0Y2hgIGlzIGNyZWF0aW5nIGEgbW9jayBvYmplY3QgZm9yIHlvdS4KKworICAgIGBwYXRjaGAgdGFrZXMgYXJiaXRyYXJ5IGtleXdvcmQgYXJndW1lbnRzLiBUaGVzZSB3aWxsIGJlIHBhc3NlZCB0bworICAgIHRoZSBgTW9ja2AgKG9yIGBuZXdfY2FsbGFibGVgKSBvbiBjb25zdHJ1Y3Rpb24uCisKKyAgICBgcGF0Y2guZGljdCguLi4pYCwgYHBhdGNoLm11bHRpcGxlKC4uLilgIGFuZCBgcGF0Y2gub2JqZWN0KC4uLilgIGFyZQorICAgIGF2YWlsYWJsZSBmb3IgYWx0ZXJuYXRlIHVzZS1jYXNlcy4KKyAgICAiIiIKKyAgICBnZXR0ZXIsIGF0dHJpYnV0ZSA9IF9nZXRfdGFyZ2V0KHRhcmdldCkKKyAgICByZXR1cm4gX3BhdGNoKAorICAgICAgICBnZXR0ZXIsIGF0dHJpYnV0ZSwgbmV3LCBzcGVjLCBjcmVhdGUsCisgICAgICAgIHNwZWNfc2V0LCBhdXRvc3BlYywgbmV3X2NhbGxhYmxlLCBrd2FyZ3MKKyAgICApCisKKworY2xhc3MgX3BhdGNoX2RpY3Qob2JqZWN0KToKKyAgICAiIiIKKyAgICBQYXRjaCBhIGRpY3Rpb25hcnksIG9yIGRpY3Rpb25hcnkgbGlrZSBvYmplY3QsIGFuZCByZXN0b3JlIHRoZSBkaWN0aW9uYXJ5CisgICAgdG8gaXRzIG9yaWdpbmFsIHN0YXRlIGFmdGVyIHRoZSB0ZXN0LgorCisgICAgYGluX2RpY3RgIGNhbiBiZSBhIGRpY3Rpb25hcnkgb3IgYSBtYXBwaW5nIGxpa2UgY29udGFpbmVyLiBJZiBpdCBpcyBhCisgICAgbWFwcGluZyB0aGVuIGl0IG11c3QgYXQgbGVhc3Qgc3VwcG9ydCBnZXR0aW5nLCBzZXR0aW5nIGFuZCBkZWxldGluZyBpdGVtcworICAgIHBsdXMgaXRlcmF0aW5nIG92ZXIga2V5cy4KKworICAgIGBpbl9kaWN0YCBjYW4gYWxzbyBiZSBhIHN0cmluZyBzcGVjaWZ5aW5nIHRoZSBuYW1lIG9mIHRoZSBkaWN0aW9uYXJ5LCB3aGljaAorICAgIHdpbGwgdGhlbiBiZSBmZXRjaGVkIGJ5IGltcG9ydGluZyBpdC4KKworICAgIGB2YWx1ZXNgIGNhbiBiZSBhIGRpY3Rpb25hcnkgb2YgdmFsdWVzIHRvIHNldCBpbiB0aGUgZGljdGlvbmFyeS4gYHZhbHVlc2AKKyAgICBjYW4gYWxzbyBiZSBhbiBpdGVyYWJsZSBvZiBgKGtleSwgdmFsdWUpYCBwYWlycy4KKworICAgIElmIGBjbGVhcmAgaXMgVHJ1ZSB0aGVuIHRoZSBkaWN0aW9uYXJ5IHdpbGwgYmUgY2xlYXJlZCBiZWZvcmUgdGhlIG5ldworICAgIHZhbHVlcyBhcmUgc2V0LgorCisgICAgYHBhdGNoLmRpY3RgIGNhbiBhbHNvIGJlIGNhbGxlZCB3aXRoIGFyYml0cmFyeSBrZXl3b3JkIGFyZ3VtZW50cyB0byBzZXQKKyAgICB2YWx1ZXMgaW4gdGhlIGRpY3Rpb25hcnk6OgorCisgICAgICAgIHdpdGggcGF0Y2guZGljdCgnc3lzLm1vZHVsZXMnLCBteW1vZHVsZT1Nb2NrKCksIG90aGVyX21vZHVsZT1Nb2NrKCkpOgorICAgICAgICAgICAgLi4uCisKKyAgICBgcGF0Y2guZGljdGAgY2FuIGJlIHVzZWQgYXMgYSBjb250ZXh0IG1hbmFnZXIsIGRlY29yYXRvciBvciBjbGFzcworICAgIGRlY29yYXRvci4gV2hlbiB1c2VkIGFzIGEgY2xhc3MgZGVjb3JhdG9yIGBwYXRjaC5kaWN0YCBob25vdXJzCisgICAgYHBhdGNoLlRFU1RfUFJFRklYYCBmb3IgY2hvb3Npbmcgd2hpY2ggbWV0aG9kcyB0byB3cmFwLgorICAgICIiIgorCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGluX2RpY3QsIHZhbHVlcz0oKSwgY2xlYXI9RmFsc2UsICoqa3dhcmdzKToKKyAgICAgICAgaWYgaXNpbnN0YW5jZShpbl9kaWN0LCBzdHIpOgorICAgICAgICAgICAgaW5fZGljdCA9IF9pbXBvcnRlcihpbl9kaWN0KQorICAgICAgICBzZWxmLmluX2RpY3QgPSBpbl9kaWN0CisgICAgICAgICMgc3VwcG9ydCBhbnkgYXJndW1lbnQgc3VwcG9ydGVkIGJ5IGRpY3QoLi4uKSBjb25zdHJ1Y3RvcgorICAgICAgICBzZWxmLnZhbHVlcyA9IGRpY3QodmFsdWVzKQorICAgICAgICBzZWxmLnZhbHVlcy51cGRhdGUoa3dhcmdzKQorICAgICAgICBzZWxmLmNsZWFyID0gY2xlYXIKKyAgICAgICAgc2VsZi5fb3JpZ2luYWwgPSBOb25lCisKKworICAgIGRlZiBfX2NhbGxfXyhzZWxmLCBmKToKKyAgICAgICAgaWYgaXNpbnN0YW5jZShmLCB0eXBlKToKKyAgICAgICAgICAgIHJldHVybiBzZWxmLmRlY29yYXRlX2NsYXNzKGYpCisgICAgICAgIEB3cmFwcyhmKQorICAgICAgICBkZWYgX2lubmVyKCphcmdzLCAqKmt3KToKKyAgICAgICAgICAgIHNlbGYuX3BhdGNoX2RpY3QoKQorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIHJldHVybiBmKCphcmdzLCAqKmt3KQorICAgICAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgICAgICBzZWxmLl91bnBhdGNoX2RpY3QoKQorCisgICAgICAgIHJldHVybiBfaW5uZXIKKworCisgICAgZGVmIGRlY29yYXRlX2NsYXNzKHNlbGYsIGtsYXNzKToKKyAgICAgICAgZm9yIGF0dHIgaW4gZGlyKGtsYXNzKToKKyAgICAgICAgICAgIGF0dHJfdmFsdWUgPSBnZXRhdHRyKGtsYXNzLCBhdHRyKQorICAgICAgICAgICAgaWYgKGF0dHIuc3RhcnRzd2l0aChwYXRjaC5URVNUX1BSRUZJWCkgYW5kCisgICAgICAgICAgICAgICAgIGhhc2F0dHIoYXR0cl92YWx1ZSwgIl9fY2FsbF9fIikpOgorICAgICAgICAgICAgICAgIGRlY29yYXRvciA9IF9wYXRjaF9kaWN0KHNlbGYuaW5fZGljdCwgc2VsZi52YWx1ZXMsIHNlbGYuY2xlYXIpCisgICAgICAgICAgICAgICAgZGVjb3JhdGVkID0gZGVjb3JhdG9yKGF0dHJfdmFsdWUpCisgICAgICAgICAgICAgICAgc2V0YXR0cihrbGFzcywgYXR0ciwgZGVjb3JhdGVkKQorICAgICAgICByZXR1cm4ga2xhc3MKKworCisgICAgZGVmIF9fZW50ZXJfXyhzZWxmKToKKyAgICAgICAgIiIiUGF0Y2ggdGhlIGRpY3QuIiIiCisgICAgICAgIHNlbGYuX3BhdGNoX2RpY3QoKQorCisKKyAgICBkZWYgX3BhdGNoX2RpY3Qoc2VsZik6CisgICAgICAgIHZhbHVlcyA9IHNlbGYudmFsdWVzCisgICAgICAgIGluX2RpY3QgPSBzZWxmLmluX2RpY3QKKyAgICAgICAgY2xlYXIgPSBzZWxmLmNsZWFyCisKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgb3JpZ2luYWwgPSBpbl9kaWN0LmNvcHkoKQorICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6CisgICAgICAgICAgICAjIGRpY3QgbGlrZSBvYmplY3Qgd2l0aCBubyBjb3B5IG1ldGhvZAorICAgICAgICAgICAgIyBtdXN0IHN1cHBvcnQgaXRlcmF0aW9uIG92ZXIga2V5cworICAgICAgICAgICAgb3JpZ2luYWwgPSB7fQorICAgICAgICAgICAgZm9yIGtleSBpbiBpbl9kaWN0OgorICAgICAgICAgICAgICAgIG9yaWdpbmFsW2tleV0gPSBpbl9kaWN0W2tleV0KKyAgICAgICAgc2VsZi5fb3JpZ2luYWwgPSBvcmlnaW5hbAorCisgICAgICAgIGlmIGNsZWFyOgorICAgICAgICAgICAgX2NsZWFyX2RpY3QoaW5fZGljdCkKKworICAgICAgICB0cnk6CisgICAgICAgICAgICBpbl9kaWN0LnVwZGF0ZSh2YWx1ZXMpCisgICAgICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKKyAgICAgICAgICAgICMgZGljdCBsaWtlIG9iamVjdCB3aXRoIG5vIHVwZGF0ZSBtZXRob2QKKyAgICAgICAgICAgIGZvciBrZXkgaW4gdmFsdWVzOgorICAgICAgICAgICAgICAgIGluX2RpY3Rba2V5XSA9IHZhbHVlc1trZXldCisKKworICAgIGRlZiBfdW5wYXRjaF9kaWN0KHNlbGYpOgorICAgICAgICBpbl9kaWN0ID0gc2VsZi5pbl9kaWN0CisgICAgICAgIG9yaWdpbmFsID0gc2VsZi5fb3JpZ2luYWwKKworICAgICAgICBfY2xlYXJfZGljdChpbl9kaWN0KQorCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIGluX2RpY3QudXBkYXRlKG9yaWdpbmFsKQorICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6CisgICAgICAgICAgICBmb3Iga2V5IGluIG9yaWdpbmFsOgorICAgICAgICAgICAgICAgIGluX2RpY3Rba2V5XSA9IG9yaWdpbmFsW2tleV0KKworCisgICAgZGVmIF9fZXhpdF9fKHNlbGYsICphcmdzKToKKyAgICAgICAgIiIiVW5wYXRjaCB0aGUgZGljdC4iIiIKKyAgICAgICAgc2VsZi5fdW5wYXRjaF9kaWN0KCkKKyAgICAgICAgcmV0dXJuIEZhbHNlCisKKyAgICBzdGFydCA9IF9fZW50ZXJfXworICAgIHN0b3AgPSBfX2V4aXRfXworCisKK2RlZiBfY2xlYXJfZGljdChpbl9kaWN0KToKKyAgICB0cnk6CisgICAgICAgIGluX2RpY3QuY2xlYXIoKQorICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKKyAgICAgICAga2V5cyA9IGxpc3QoaW5fZGljdCkKKyAgICAgICAgZm9yIGtleSBpbiBrZXlzOgorICAgICAgICAgICAgZGVsIGluX2RpY3Rba2V5XQorCisKK3BhdGNoLm9iamVjdCA9IF9wYXRjaF9vYmplY3QKK3BhdGNoLmRpY3QgPSBfcGF0Y2hfZGljdAorcGF0Y2gubXVsdGlwbGUgPSBfcGF0Y2hfbXVsdGlwbGUKK3BhdGNoLlRFU1RfUFJFRklYID0gJ3Rlc3QnCisKK21hZ2ljX21ldGhvZHMgPSAoCisgICAgImx0IGxlIGd0IGdlIGVxIG5lICIKKyAgICAiZ2V0aXRlbSBzZXRpdGVtIGRlbGl0ZW0gIgorICAgICJsZW4gY29udGFpbnMgaXRlciAiCisgICAgImhhc2ggc3RyIHNpemVvZiAiCisgICAgImVudGVyIGV4aXQgIgorICAgICJkaXZtb2QgbmVnIHBvcyBhYnMgaW52ZXJ0ICIKKyAgICAiY29tcGxleCBpbnQgZmxvYXQgaW5kZXggIgorICAgICJ0cnVuYyBmbG9vciBjZWlsICIKKyAgICAiYm9vbCBuZXh0ICIKKykKKworbnVtZXJpY3MgPSAiYWRkIHN1YiBtdWwgZGl2IGZsb29yZGl2IG1vZCBsc2hpZnQgcnNoaWZ0IGFuZCB4b3Igb3IgcG93ICIKK2lucGxhY2UgPSAnICcuam9pbignaSVzJyAlIG4gZm9yIG4gaW4gbnVtZXJpY3Muc3BsaXQoKSkKK3JpZ2h0ID0gJyAnLmpvaW4oJ3IlcycgJSBuIGZvciBuIGluIG51bWVyaWNzLnNwbGl0KCkpCisKKyMgbm90IGluY2x1ZGluZyBfX3ByZXBhcmVfXywgX19pbnN0YW5jZWNoZWNrX18sIF9fc3ViY2xhc3NjaGVja19fCisjIChhcyB0aGV5IGFyZSBtZXRhY2xhc3MgbWV0aG9kcykKKyMgX19kZWxfXyBpcyBub3Qgc3VwcG9ydGVkIGF0IGFsbCBhcyBpdCBjYXVzZXMgcHJvYmxlbXMgaWYgaXQgZXhpc3RzCisKK19ub25fZGVmYXVsdHMgPSBzZXQoJ19fJXNfXycgJSBtZXRob2QgZm9yIG1ldGhvZCBpbiBbCisgICAgJ2NtcCcsICdnZXRzbGljZScsICdzZXRzbGljZScsICdjb2VyY2UnLCAnc3ViY2xhc3NlcycsCisgICAgJ2Zvcm1hdCcsICdnZXQnLCAnc2V0JywgJ2RlbGV0ZScsICdyZXZlcnNlZCcsCisgICAgJ21pc3NpbmcnLCAncmVkdWNlJywgJ3JlZHVjZV9leCcsICdnZXRpbml0YXJncycsCisgICAgJ2dldG5ld2FyZ3MnLCAnZ2V0c3RhdGUnLCAnc2V0c3RhdGUnLCAnZ2V0Zm9ybWF0JywKKyAgICAnc2V0Zm9ybWF0JywgJ3JlcHInLCAnZGlyJworXSkKKworCitkZWYgX2dldF9tZXRob2QobmFtZSwgZnVuYyk6CisgICAgIlR1cm5zIGEgY2FsbGFibGUgb2JqZWN0IChsaWtlIGEgbW9jaykgaW50byBhIHJlYWwgZnVuY3Rpb24iCisgICAgZGVmIG1ldGhvZChzZWxmLCAqYXJncywgKiprdyk6CisgICAgICAgIHJldHVybiBmdW5jKHNlbGYsICphcmdzLCAqKmt3KQorICAgIG1ldGhvZC5fX25hbWVfXyA9IG5hbWUKKyAgICByZXR1cm4gbWV0aG9kCisKKworX21hZ2ljcyA9IHNldCgKKyAgICAnX18lc19fJyAlIG1ldGhvZCBmb3IgbWV0aG9kIGluCisgICAgJyAnLmpvaW4oW21hZ2ljX21ldGhvZHMsIG51bWVyaWNzLCBpbnBsYWNlLCByaWdodF0pLnNwbGl0KCkKKykKKworX2FsbF9tYWdpY3MgPSBfbWFnaWNzIHwgX25vbl9kZWZhdWx0cworCitfdW5zdXBwb3J0ZWRfbWFnaWNzID0gc2V0KFsKKyAgICAnX19nZXRhdHRyX18nLCAnX19zZXRhdHRyX18nLAorICAgICdfX2luaXRfXycsICdfX25ld19fJywgJ19fcHJlcGFyZV9fJworICAgICdfX2luc3RhbmNlY2hlY2tfXycsICdfX3N1YmNsYXNzY2hlY2tfXycsCisgICAgJ19fZGVsX18nCitdKQorCitfY2FsY3VsYXRlX3JldHVybl92YWx1ZSA9IHsKKyAgICAnX19oYXNoX18nOiBsYW1iZGEgc2VsZjogb2JqZWN0Ll9faGFzaF9fKHNlbGYpLAorICAgICdfX3N0cl9fJzogbGFtYmRhIHNlbGY6IG9iamVjdC5fX3N0cl9fKHNlbGYpLAorICAgICdfX3NpemVvZl9fJzogbGFtYmRhIHNlbGY6IG9iamVjdC5fX3NpemVvZl9fKHNlbGYpLAorfQorCitfcmV0dXJuX3ZhbHVlcyA9IHsKKyAgICAnX19pbnRfXyc6IDEsCisgICAgJ19fY29udGFpbnNfXyc6IEZhbHNlLAorICAgICdfX2xlbl9fJzogMCwKKyAgICAnX19leGl0X18nOiBGYWxzZSwKKyAgICAnX19jb21wbGV4X18nOiAxaiwKKyAgICAnX19mbG9hdF9fJzogMS4wLAorICAgICdfX2Jvb2xfXyc6IFRydWUsCisgICAgJ19faW5kZXhfXyc6IDEsCit9CisKKworZGVmIF9nZXRfZXEoc2VsZik6CisgICAgZGVmIF9fZXFfXyhvdGhlcik6CisgICAgICAgIHJldF92YWwgPSBzZWxmLl9fZXFfXy5fbW9ja19yZXR1cm5fdmFsdWUKKyAgICAgICAgaWYgcmV0X3ZhbCBpcyBub3QgREVGQVVMVDoKKyAgICAgICAgICAgIHJldHVybiByZXRfdmFsCisgICAgICAgIHJldHVybiBzZWxmIGlzIG90aGVyCisgICAgcmV0dXJuIF9fZXFfXworCitkZWYgX2dldF9uZShzZWxmKToKKyAgICBkZWYgX19uZV9fKG90aGVyKToKKyAgICAgICAgaWYgc2VsZi5fX25lX18uX21vY2tfcmV0dXJuX3ZhbHVlIGlzIG5vdCBERUZBVUxUOgorICAgICAgICAgICAgcmV0dXJuIERFRkFVTFQKKyAgICAgICAgcmV0dXJuIHNlbGYgaXMgbm90IG90aGVyCisgICAgcmV0dXJuIF9fbmVfXworCitkZWYgX2dldF9pdGVyKHNlbGYpOgorICAgIGRlZiBfX2l0ZXJfXygpOgorICAgICAgICByZXRfdmFsID0gc2VsZi5fX2l0ZXJfXy5fbW9ja19yZXR1cm5fdmFsdWUKKyAgICAgICAgaWYgcmV0X3ZhbCBpcyBERUZBVUxUOgorICAgICAgICAgICAgcmV0dXJuIGl0ZXIoW10pCisgICAgICAgICMgaWYgcmV0X3ZhbCB3YXMgYWxyZWFkeSBhbiBpdGVyYXRvciwgdGhlbiBjYWxsaW5nIGl0ZXIgb24gaXQgc2hvdWxkCisgICAgICAgICMgcmV0dXJuIHRoZSBpdGVyYXRvciB1bmNoYW5nZWQKKyAgICAgICAgcmV0dXJuIGl0ZXIocmV0X3ZhbCkKKyAgICByZXR1cm4gX19pdGVyX18KKworX3NpZGVfZWZmZWN0X21ldGhvZHMgPSB7CisgICAgJ19fZXFfXyc6IF9nZXRfZXEsCisgICAgJ19fbmVfXyc6IF9nZXRfbmUsCisgICAgJ19faXRlcl9fJzogX2dldF9pdGVyLAorfQorCisKKworZGVmIF9zZXRfcmV0dXJuX3ZhbHVlKG1vY2ssIG1ldGhvZCwgbmFtZSk6CisgICAgZml4ZWQgPSBfcmV0dXJuX3ZhbHVlcy5nZXQobmFtZSwgREVGQVVMVCkKKyAgICBpZiBmaXhlZCBpcyBub3QgREVGQVVMVDoKKyAgICAgICAgbWV0aG9kLnJldHVybl92YWx1ZSA9IGZpeGVkCisgICAgICAgIHJldHVybgorCisgICAgcmV0dXJuX2NhbHVsYXRvciA9IF9jYWxjdWxhdGVfcmV0dXJuX3ZhbHVlLmdldChuYW1lKQorICAgIGlmIHJldHVybl9jYWx1bGF0b3IgaXMgbm90IE5vbmU6CisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHJldHVybl92YWx1ZSA9IHJldHVybl9jYWx1bGF0b3IobW9jaykKKyAgICAgICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yOgorICAgICAgICAgICAgIyBYWFhYIHdoeSBkbyB3ZSByZXR1cm4gQXR0cmlidXRlRXJyb3IgaGVyZT8KKyAgICAgICAgICAgICMgICAgICBzZXQgaXQgYXMgYSBzaWRlX2VmZmVjdCBpbnN0ZWFkPworICAgICAgICAgICAgcmV0dXJuX3ZhbHVlID0gQXR0cmlidXRlRXJyb3IobmFtZSkKKyAgICAgICAgbWV0aG9kLnJldHVybl92YWx1ZSA9IHJldHVybl92YWx1ZQorICAgICAgICByZXR1cm4KKworICAgIHNpZGVfZWZmZWN0b3IgPSBfc2lkZV9lZmZlY3RfbWV0aG9kcy5nZXQobmFtZSkKKyAgICBpZiBzaWRlX2VmZmVjdG9yIGlzIG5vdCBOb25lOgorICAgICAgICBtZXRob2Quc2lkZV9lZmZlY3QgPSBzaWRlX2VmZmVjdG9yKG1vY2spCisKKworCitjbGFzcyBNYWdpY01peGluKG9iamVjdCk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsICphcmdzLCAqKmt3KToKKyAgICAgICAgc3VwZXIoTWFnaWNNaXhpbiwgc2VsZikuX19pbml0X18oKmFyZ3MsICoqa3cpCisgICAgICAgIHNlbGYuX21vY2tfc2V0X21hZ2ljcygpCisKKworICAgIGRlZiBfbW9ja19zZXRfbWFnaWNzKHNlbGYpOgorICAgICAgICB0aGVzZV9tYWdpY3MgPSBfbWFnaWNzCisKKyAgICAgICAgaWYgc2VsZi5fbW9ja19tZXRob2RzIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgdGhlc2VfbWFnaWNzID0gX21hZ2ljcy5pbnRlcnNlY3Rpb24oc2VsZi5fbW9ja19tZXRob2RzKQorCisgICAgICAgICAgICByZW1vdmVfbWFnaWNzID0gc2V0KCkKKyAgICAgICAgICAgIHJlbW92ZV9tYWdpY3MgPSBfbWFnaWNzIC0gdGhlc2VfbWFnaWNzCisKKyAgICAgICAgICAgIGZvciBlbnRyeSBpbiByZW1vdmVfbWFnaWNzOgorICAgICAgICAgICAgICAgIGlmIGVudHJ5IGluIHR5cGUoc2VsZikuX19kaWN0X186CisgICAgICAgICAgICAgICAgICAgICMgcmVtb3ZlIHVubmVlZGVkIG1hZ2ljIG1ldGhvZHMKKyAgICAgICAgICAgICAgICAgICAgZGVsYXR0cihzZWxmLCBlbnRyeSkKKworICAgICAgICAjIGRvbid0IG92ZXJ3cml0ZSBleGlzdGluZyBhdHRyaWJ1dGVzIGlmIGNhbGxlZCBhIHNlY29uZCB0aW1lCisgICAgICAgIHRoZXNlX21hZ2ljcyA9IHRoZXNlX21hZ2ljcyAtIHNldCh0eXBlKHNlbGYpLl9fZGljdF9fKQorCisgICAgICAgIF90eXBlID0gdHlwZShzZWxmKQorICAgICAgICBmb3IgZW50cnkgaW4gdGhlc2VfbWFnaWNzOgorICAgICAgICAgICAgc2V0YXR0cihfdHlwZSwgZW50cnksIE1hZ2ljUHJveHkoZW50cnksIHNlbGYpKQorCisKKworY2xhc3MgTm9uQ2FsbGFibGVNYWdpY01vY2soTWFnaWNNaXhpbiwgTm9uQ2FsbGFibGVNb2NrKToKKyAgICAiIiJBIHZlcnNpb24gb2YgYE1hZ2ljTW9ja2AgdGhhdCBpc24ndCBjYWxsYWJsZS4iIiIKKyAgICBkZWYgbW9ja19hZGRfc3BlYyhzZWxmLCBzcGVjLCBzcGVjX3NldD1GYWxzZSk6CisgICAgICAgICIiIkFkZCBhIHNwZWMgdG8gYSBtb2NrLiBgc3BlY2AgY2FuIGVpdGhlciBiZSBhbiBvYmplY3Qgb3IgYQorICAgICAgICBsaXN0IG9mIHN0cmluZ3MuIE9ubHkgYXR0cmlidXRlcyBvbiB0aGUgYHNwZWNgIGNhbiBiZSBmZXRjaGVkIGFzCisgICAgICAgIGF0dHJpYnV0ZXMgZnJvbSB0aGUgbW9jay4KKworICAgICAgICBJZiBgc3BlY19zZXRgIGlzIFRydWUgdGhlbiBvbmx5IGF0dHJpYnV0ZXMgb24gdGhlIHNwZWMgY2FuIGJlIHNldC4iIiIKKyAgICAgICAgc2VsZi5fbW9ja19hZGRfc3BlYyhzcGVjLCBzcGVjX3NldCkKKyAgICAgICAgc2VsZi5fbW9ja19zZXRfbWFnaWNzKCkKKworCisKK2NsYXNzIE1hZ2ljTW9jayhNYWdpY01peGluLCBNb2NrKToKKyAgICAiIiIKKyAgICBNYWdpY01vY2sgaXMgYSBzdWJjbGFzcyBvZiBNb2NrIHdpdGggZGVmYXVsdCBpbXBsZW1lbnRhdGlvbnMKKyAgICBvZiBtb3N0IG9mIHRoZSBtYWdpYyBtZXRob2RzLiBZb3UgY2FuIHVzZSBNYWdpY01vY2sgd2l0aG91dCBoYXZpbmcgdG8KKyAgICBjb25maWd1cmUgdGhlIG1hZ2ljIG1ldGhvZHMgeW91cnNlbGYuCisKKyAgICBJZiB5b3UgdXNlIHRoZSBgc3BlY2Agb3IgYHNwZWNfc2V0YCBhcmd1bWVudHMgdGhlbiAqb25seSogbWFnaWMKKyAgICBtZXRob2RzIHRoYXQgZXhpc3QgaW4gdGhlIHNwZWMgd2lsbCBiZSBjcmVhdGVkLgorCisgICAgQXR0cmlidXRlcyBhbmQgdGhlIHJldHVybiB2YWx1ZSBvZiBhIGBNYWdpY01vY2tgIHdpbGwgYWxzbyBiZSBgTWFnaWNNb2Nrc2AuCisgICAgIiIiCisgICAgZGVmIG1vY2tfYWRkX3NwZWMoc2VsZiwgc3BlYywgc3BlY19zZXQ9RmFsc2UpOgorICAgICAgICAiIiJBZGQgYSBzcGVjIHRvIGEgbW9jay4gYHNwZWNgIGNhbiBlaXRoZXIgYmUgYW4gb2JqZWN0IG9yIGEKKyAgICAgICAgbGlzdCBvZiBzdHJpbmdzLiBPbmx5IGF0dHJpYnV0ZXMgb24gdGhlIGBzcGVjYCBjYW4gYmUgZmV0Y2hlZCBhcworICAgICAgICBhdHRyaWJ1dGVzIGZyb20gdGhlIG1vY2suCisKKyAgICAgICAgSWYgYHNwZWNfc2V0YCBpcyBUcnVlIHRoZW4gb25seSBhdHRyaWJ1dGVzIG9uIHRoZSBzcGVjIGNhbiBiZSBzZXQuIiIiCisgICAgICAgIHNlbGYuX21vY2tfYWRkX3NwZWMoc3BlYywgc3BlY19zZXQpCisgICAgICAgIHNlbGYuX21vY2tfc2V0X21hZ2ljcygpCisKKworCitjbGFzcyBNYWdpY1Byb3h5KG9iamVjdCk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIG5hbWUsIHBhcmVudCk6CisgICAgICAgIHNlbGYubmFtZSA9IG5hbWUKKyAgICAgICAgc2VsZi5wYXJlbnQgPSBwYXJlbnQKKworICAgIGRlZiBfX2NhbGxfXyhzZWxmLCAqYXJncywgKiprd2FyZ3MpOgorICAgICAgICBtID0gc2VsZi5jcmVhdGVfbW9jaygpCisgICAgICAgIHJldHVybiBtKCphcmdzLCAqKmt3YXJncykKKworICAgIGRlZiBjcmVhdGVfbW9jayhzZWxmKToKKyAgICAgICAgZW50cnkgPSBzZWxmLm5hbWUKKyAgICAgICAgcGFyZW50ID0gc2VsZi5wYXJlbnQKKyAgICAgICAgbSA9IHBhcmVudC5fZ2V0X2NoaWxkX21vY2sobmFtZT1lbnRyeSwgX25ld19uYW1lPWVudHJ5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfbmV3X3BhcmVudD1wYXJlbnQpCisgICAgICAgIHNldGF0dHIocGFyZW50LCBlbnRyeSwgbSkKKyAgICAgICAgX3NldF9yZXR1cm5fdmFsdWUocGFyZW50LCBtLCBlbnRyeSkKKyAgICAgICAgcmV0dXJuIG0KKworICAgIGRlZiBfX2dldF9fKHNlbGYsIG9iaiwgX3R5cGU9Tm9uZSk6CisgICAgICAgIHJldHVybiBzZWxmLmNyZWF0ZV9tb2NrKCkKKworCisKK2NsYXNzIF9BTlkob2JqZWN0KToKKyAgICAiQSBoZWxwZXIgb2JqZWN0IHRoYXQgY29tcGFyZXMgZXF1YWwgdG8gZXZlcnl0aGluZy4iCisKKyAgICBkZWYgX19lcV9fKHNlbGYsIG90aGVyKToKKyAgICAgICAgcmV0dXJuIFRydWUKKworICAgIGRlZiBfX25lX18oc2VsZiwgb3RoZXIpOgorICAgICAgICByZXR1cm4gRmFsc2UKKworICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKKyAgICAgICAgcmV0dXJuICc8QU5ZPicKKworQU5ZID0gX0FOWSgpCisKKworCitkZWYgX2Zvcm1hdF9jYWxsX3NpZ25hdHVyZShuYW1lLCBhcmdzLCBrd2FyZ3MpOgorICAgIG1lc3NhZ2UgPSAnJXMoJSVzKScgJSBuYW1lCisgICAgZm9ybWF0dGVkX2FyZ3MgPSAnJworICAgIGFyZ3Nfc3RyaW5nID0gJywgJy5qb2luKFtyZXByKGFyZykgZm9yIGFyZyBpbiBhcmdzXSkKKyAgICBrd2FyZ3Nfc3RyaW5nID0gJywgJy5qb2luKFsKKyAgICAgICAgJyVzPSVyJyAlIChrZXksIHZhbHVlKSBmb3Iga2V5LCB2YWx1ZSBpbiBrd2FyZ3MuaXRlbXMoKQorICAgIF0pCisgICAgaWYgYXJnc19zdHJpbmc6CisgICAgICAgIGZvcm1hdHRlZF9hcmdzID0gYXJnc19zdHJpbmcKKyAgICBpZiBrd2FyZ3Nfc3RyaW5nOgorICAgICAgICBpZiBmb3JtYXR0ZWRfYXJnczoKKyAgICAgICAgICAgIGZvcm1hdHRlZF9hcmdzICs9ICcsICcKKyAgICAgICAgZm9ybWF0dGVkX2FyZ3MgKz0ga3dhcmdzX3N0cmluZworCisgICAgcmV0dXJuIG1lc3NhZ2UgJSBmb3JtYXR0ZWRfYXJncworCisKKworY2xhc3MgX0NhbGwodHVwbGUpOgorICAgICIiIgorICAgIEEgdHVwbGUgZm9yIGhvbGRpbmcgdGhlIHJlc3VsdHMgb2YgYSBjYWxsIHRvIGEgbW9jaywgZWl0aGVyIGluIHRoZSBmb3JtCisgICAgYChhcmdzLCBrd2FyZ3MpYCBvciBgKG5hbWUsIGFyZ3MsIGt3YXJncylgLgorCisgICAgSWYgYXJncyBvciBrd2FyZ3MgYXJlIGVtcHR5IHRoZW4gYSBjYWxsIHR1cGxlIHdpbGwgY29tcGFyZSBlcXVhbCB0bworICAgIGEgdHVwbGUgd2l0aG91dCB0aG9zZSB2YWx1ZXMuIFRoaXMgbWFrZXMgY29tcGFyaXNvbnMgbGVzcyB2ZXJib3NlOjoKKworICAgICAgICBfQ2FsbCgoJ25hbWUnLCAoKSwge30pKSA9PSAoJ25hbWUnLCkKKyAgICAgICAgX0NhbGwoKCduYW1lJywgKDEsKSwge30pKSA9PSAoJ25hbWUnLCAoMSwpKQorICAgICAgICBfQ2FsbCgoKCksIHsnYSc6ICdiJ30pKSA9PSAoeydhJzogJ2InfSwpCisKKyAgICBUaGUgYF9DYWxsYCBvYmplY3QgcHJvdmlkZXMgYSB1c2VmdWwgc2hvcnRjdXQgZm9yIGNvbXBhcmluZyB3aXRoIGNhbGw6OgorCisgICAgICAgIF9DYWxsKCgoMSwgMiksIHsnYSc6IDN9KSkgPT0gY2FsbCgxLCAyLCBhPTMpCisgICAgICAgIF9DYWxsKCgnZm9vJywgKDEsIDIpLCB7J2EnOiAzfSkpID09IGNhbGwuZm9vKDEsIDIsIGE9MykKKworICAgIElmIHRoZSBfQ2FsbCBoYXMgbm8gbmFtZSB0aGVuIGl0IHdpbGwgbWF0Y2ggYW55IG5hbWUuCisgICAgIiIiCisgICAgZGVmIF9fbmV3X18oY2xzLCB2YWx1ZT0oKSwgbmFtZT1Ob25lLCBwYXJlbnQ9Tm9uZSwgdHdvPUZhbHNlLAorICAgICAgICAgICAgICAgIGZyb21fa2FsbD1UcnVlKToKKyAgICAgICAgbmFtZSA9ICcnCisgICAgICAgIGFyZ3MgPSAoKQorICAgICAgICBrd2FyZ3MgPSB7fQorICAgICAgICBfbGVuID0gbGVuKHZhbHVlKQorICAgICAgICBpZiBfbGVuID09IDM6CisgICAgICAgICAgICBuYW1lLCBhcmdzLCBrd2FyZ3MgPSB2YWx1ZQorICAgICAgICBlbGlmIF9sZW4gPT0gMjoKKyAgICAgICAgICAgIGZpcnN0LCBzZWNvbmQgPSB2YWx1ZQorICAgICAgICAgICAgaWYgaXNpbnN0YW5jZShmaXJzdCwgc3RyKToKKyAgICAgICAgICAgICAgICBuYW1lID0gZmlyc3QKKyAgICAgICAgICAgICAgICBpZiBpc2luc3RhbmNlKHNlY29uZCwgdHVwbGUpOgorICAgICAgICAgICAgICAgICAgICBhcmdzID0gc2Vjb25kCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAga3dhcmdzID0gc2Vjb25kCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIGFyZ3MsIGt3YXJncyA9IGZpcnN0LCBzZWNvbmQKKyAgICAgICAgZWxpZiBfbGVuID09IDE6CisgICAgICAgICAgICB2YWx1ZSwgPSB2YWx1ZQorICAgICAgICAgICAgaWYgaXNpbnN0YW5jZSh2YWx1ZSwgc3RyKToKKyAgICAgICAgICAgICAgICBuYW1lID0gdmFsdWUKKyAgICAgICAgICAgIGVsaWYgaXNpbnN0YW5jZSh2YWx1ZSwgdHVwbGUpOgorICAgICAgICAgICAgICAgIGFyZ3MgPSB2YWx1ZQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBrd2FyZ3MgPSB2YWx1ZQorCisgICAgICAgIGlmIHR3bzoKKyAgICAgICAgICAgIHJldHVybiB0dXBsZS5fX25ld19fKGNscywgKGFyZ3MsIGt3YXJncykpCisKKyAgICAgICAgcmV0dXJuIHR1cGxlLl9fbmV3X18oY2xzLCAobmFtZSwgYXJncywga3dhcmdzKSkKKworCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHZhbHVlPSgpLCBuYW1lPU5vbmUsIHBhcmVudD1Ob25lLCB0d289RmFsc2UsCisgICAgICAgICAgICAgICAgIGZyb21fa2FsbD1UcnVlKToKKyAgICAgICAgc2VsZi5uYW1lID0gbmFtZQorICAgICAgICBzZWxmLnBhcmVudCA9IHBhcmVudAorICAgICAgICBzZWxmLmZyb21fa2FsbCA9IGZyb21fa2FsbAorCisKKyAgICBkZWYgX19lcV9fKHNlbGYsIG90aGVyKToKKyAgICAgICAgaWYgb3RoZXIgaXMgQU5ZOgorICAgICAgICAgICAgcmV0dXJuIFRydWUKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgbGVuX290aGVyID0gbGVuKG90aGVyKQorICAgICAgICBleGNlcHQgVHlwZUVycm9yOgorICAgICAgICAgICAgcmV0dXJuIEZhbHNlCisKKyAgICAgICAgc2VsZl9uYW1lID0gJycKKyAgICAgICAgaWYgbGVuKHNlbGYpID09IDI6CisgICAgICAgICAgICBzZWxmX2FyZ3MsIHNlbGZfa3dhcmdzID0gc2VsZgorICAgICAgICBlbHNlOgorICAgICAgICAgICAgc2VsZl9uYW1lLCBzZWxmX2FyZ3MsIHNlbGZfa3dhcmdzID0gc2VsZgorCisgICAgICAgIG90aGVyX25hbWUgPSAnJworICAgICAgICBpZiBsZW5fb3RoZXIgPT0gMDoKKyAgICAgICAgICAgIG90aGVyX2FyZ3MsIG90aGVyX2t3YXJncyA9ICgpLCB7fQorICAgICAgICBlbGlmIGxlbl9vdGhlciA9PSAzOgorICAgICAgICAgICAgb3RoZXJfbmFtZSwgb3RoZXJfYXJncywgb3RoZXJfa3dhcmdzID0gb3RoZXIKKyAgICAgICAgZWxpZiBsZW5fb3RoZXIgPT0gMToKKyAgICAgICAgICAgIHZhbHVlLCA9IG90aGVyCisgICAgICAgICAgICBpZiBpc2luc3RhbmNlKHZhbHVlLCB0dXBsZSk6CisgICAgICAgICAgICAgICAgb3RoZXJfYXJncyA9IHZhbHVlCisgICAgICAgICAgICAgICAgb3RoZXJfa3dhcmdzID0ge30KKyAgICAgICAgICAgIGVsaWYgaXNpbnN0YW5jZSh2YWx1ZSwgc3RyKToKKyAgICAgICAgICAgICAgICBvdGhlcl9uYW1lID0gdmFsdWUKKyAgICAgICAgICAgICAgICBvdGhlcl9hcmdzLCBvdGhlcl9rd2FyZ3MgPSAoKSwge30KKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgb3RoZXJfYXJncyA9ICgpCisgICAgICAgICAgICAgICAgb3RoZXJfa3dhcmdzID0gdmFsdWUKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgICMgbGVuIDIKKyAgICAgICAgICAgICMgY291bGQgYmUgKG5hbWUsIGFyZ3MpIG9yIChuYW1lLCBrd2FyZ3MpIG9yIChhcmdzLCBrd2FyZ3MpCisgICAgICAgICAgICBmaXJzdCwgc2Vjb25kID0gb3RoZXIKKyAgICAgICAgICAgIGlmIGlzaW5zdGFuY2UoZmlyc3QsIHN0cik6CisgICAgICAgICAgICAgICAgb3RoZXJfbmFtZSA9IGZpcnN0CisgICAgICAgICAgICAgICAgaWYgaXNpbnN0YW5jZShzZWNvbmQsIHR1cGxlKToKKyAgICAgICAgICAgICAgICAgICAgb3RoZXJfYXJncywgb3RoZXJfa3dhcmdzID0gc2Vjb25kLCB7fQorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIG90aGVyX2FyZ3MsIG90aGVyX2t3YXJncyA9ICgpLCBzZWNvbmQKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgb3RoZXJfYXJncywgb3RoZXJfa3dhcmdzID0gZmlyc3QsIHNlY29uZAorCisgICAgICAgIGlmIHNlbGZfbmFtZSBhbmQgb3RoZXJfbmFtZSAhPSBzZWxmX25hbWU6CisgICAgICAgICAgICByZXR1cm4gRmFsc2UKKworICAgICAgICAjIHRoaXMgb3JkZXIgaXMgaW1wb3J0YW50IGZvciBBTlkgdG8gd29yayEKKyAgICAgICAgcmV0dXJuIChvdGhlcl9hcmdzLCBvdGhlcl9rd2FyZ3MpID09IChzZWxmX2FyZ3MsIHNlbGZfa3dhcmdzKQorCisKKyAgICBkZWYgX19uZV9fKHNlbGYsIG90aGVyKToKKyAgICAgICAgcmV0dXJuIG5vdCBzZWxmLl9fZXFfXyhvdGhlcikKKworCisgICAgZGVmIF9fY2FsbF9fKHNlbGYsICphcmdzLCAqKmt3YXJncyk6CisgICAgICAgIGlmIHNlbGYubmFtZSBpcyBOb25lOgorICAgICAgICAgICAgcmV0dXJuIF9DYWxsKCgnJywgYXJncywga3dhcmdzKSwgbmFtZT0nKCknKQorCisgICAgICAgIG5hbWUgPSBzZWxmLm5hbWUgKyAnKCknCisgICAgICAgIHJldHVybiBfQ2FsbCgoc2VsZi5uYW1lLCBhcmdzLCBrd2FyZ3MpLCBuYW1lPW5hbWUsIHBhcmVudD1zZWxmKQorCisKKyAgICBkZWYgX19nZXRhdHRyX18oc2VsZiwgYXR0cik6CisgICAgICAgIGlmIHNlbGYubmFtZSBpcyBOb25lOgorICAgICAgICAgICAgcmV0dXJuIF9DYWxsKG5hbWU9YXR0ciwgZnJvbV9rYWxsPUZhbHNlKQorICAgICAgICBuYW1lID0gJyVzLiVzJyAlIChzZWxmLm5hbWUsIGF0dHIpCisgICAgICAgIHJldHVybiBfQ2FsbChuYW1lPW5hbWUsIHBhcmVudD1zZWxmLCBmcm9tX2thbGw9RmFsc2UpCisKKworICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKKyAgICAgICAgaWYgbm90IHNlbGYuZnJvbV9rYWxsOgorICAgICAgICAgICAgbmFtZSA9IHNlbGYubmFtZSBvciAnY2FsbCcKKyAgICAgICAgICAgIGlmIG5hbWUuc3RhcnRzd2l0aCgnKCknKToKKyAgICAgICAgICAgICAgICBuYW1lID0gJ2NhbGwlcycgJSBuYW1lCisgICAgICAgICAgICByZXR1cm4gbmFtZQorCisgICAgICAgIGlmIGxlbihzZWxmKSA9PSAyOgorICAgICAgICAgICAgbmFtZSA9ICdjYWxsJworICAgICAgICAgICAgYXJncywga3dhcmdzID0gc2VsZgorICAgICAgICBlbHNlOgorICAgICAgICAgICAgbmFtZSwgYXJncywga3dhcmdzID0gc2VsZgorICAgICAgICAgICAgaWYgbm90IG5hbWU6CisgICAgICAgICAgICAgICAgbmFtZSA9ICdjYWxsJworICAgICAgICAgICAgZWxpZiBub3QgbmFtZS5zdGFydHN3aXRoKCcoKScpOgorICAgICAgICAgICAgICAgIG5hbWUgPSAnY2FsbC4lcycgJSBuYW1lCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIG5hbWUgPSAnY2FsbCVzJyAlIG5hbWUKKyAgICAgICAgcmV0dXJuIF9mb3JtYXRfY2FsbF9zaWduYXR1cmUobmFtZSwgYXJncywga3dhcmdzKQorCisKKyAgICBkZWYgY2FsbF9saXN0KHNlbGYpOgorICAgICAgICAiIiJGb3IgYSBjYWxsIG9iamVjdCB0aGF0IHJlcHJlc2VudHMgbXVsdGlwbGUgY2FsbHMsIGBjYWxsX2xpc3RgCisgICAgICAgIHJldHVybnMgYSBsaXN0IG9mIGFsbCB0aGUgaW50ZXJtZWRpYXRlIGNhbGxzIGFzIHdlbGwgYXMgdGhlCisgICAgICAgIGZpbmFsIGNhbGwuIiIiCisgICAgICAgIHZhbHMgPSBbXQorICAgICAgICB0aGluZyA9IHNlbGYKKyAgICAgICAgd2hpbGUgdGhpbmcgaXMgbm90IE5vbmU6CisgICAgICAgICAgICBpZiB0aGluZy5mcm9tX2thbGw6CisgICAgICAgICAgICAgICAgdmFscy5hcHBlbmQodGhpbmcpCisgICAgICAgICAgICB0aGluZyA9IHRoaW5nLnBhcmVudAorICAgICAgICByZXR1cm4gX0NhbGxMaXN0KHJldmVyc2VkKHZhbHMpKQorCisKK2NhbGwgPSBfQ2FsbChmcm9tX2thbGw9RmFsc2UpCisKKworCitkZWYgY3JlYXRlX2F1dG9zcGVjKHNwZWMsIHNwZWNfc2V0PUZhbHNlLCBpbnN0YW5jZT1GYWxzZSwgX3BhcmVudD1Ob25lLAorICAgICAgICAgICAgICAgICAgICBfbmFtZT1Ob25lLCAqKmt3YXJncyk6CisgICAgIiIiQ3JlYXRlIGEgbW9jayBvYmplY3QgdXNpbmcgYW5vdGhlciBvYmplY3QgYXMgYSBzcGVjLiBBdHRyaWJ1dGVzIG9uIHRoZQorICAgIG1vY2sgd2lsbCB1c2UgdGhlIGNvcnJlc3BvbmRpbmcgYXR0cmlidXRlIG9uIHRoZSBgc3BlY2Agb2JqZWN0IGFzIHRoZWlyCisgICAgc3BlYy4KKworICAgIEZ1bmN0aW9ucyBvciBtZXRob2RzIGJlaW5nIG1vY2tlZCB3aWxsIGhhdmUgdGhlaXIgYXJndW1lbnRzIGNoZWNrZWQKKyAgICB0byBjaGVjayB0aGF0IHRoZXkgYXJlIGNhbGxlZCB3aXRoIHRoZSBjb3JyZWN0IHNpZ25hdHVyZS4KKworICAgIElmIGBzcGVjX3NldGAgaXMgVHJ1ZSB0aGVuIGF0dGVtcHRpbmcgdG8gc2V0IGF0dHJpYnV0ZXMgdGhhdCBkb24ndCBleGlzdAorICAgIG9uIHRoZSBzcGVjIG9iamVjdCB3aWxsIHJhaXNlIGFuIGBBdHRyaWJ1dGVFcnJvcmAuCisKKyAgICBJZiBhIGNsYXNzIGlzIHVzZWQgYXMgYSBzcGVjIHRoZW4gdGhlIHJldHVybiB2YWx1ZSBvZiB0aGUgbW9jayAodGhlCisgICAgaW5zdGFuY2Ugb2YgdGhlIGNsYXNzKSB3aWxsIGhhdmUgdGhlIHNhbWUgc3BlYy4gWW91IGNhbiB1c2UgYSBjbGFzcyBhcyB0aGUKKyAgICBzcGVjIGZvciBhbiBpbnN0YW5jZSBvYmplY3QgYnkgcGFzc2luZyBgaW5zdGFuY2U9VHJ1ZWAuIFRoZSByZXR1cm5lZCBtb2NrCisgICAgd2lsbCBvbmx5IGJlIGNhbGxhYmxlIGlmIGluc3RhbmNlcyBvZiB0aGUgbW9jayBhcmUgY2FsbGFibGUuCisKKyAgICBgY3JlYXRlX2F1dG9zcGVjYCBhbHNvIHRha2VzIGFyYml0cmFyeSBrZXl3b3JkIGFyZ3VtZW50cyB0aGF0IGFyZSBwYXNzZWQgdG8KKyAgICB0aGUgY29uc3RydWN0b3Igb2YgdGhlIGNyZWF0ZWQgbW9jay4iIiIKKyAgICBpZiBfaXNfbGlzdChzcGVjKToKKyAgICAgICAgIyBjYW4ndCBwYXNzIGEgbGlzdCBpbnN0YW5jZSB0byB0aGUgbW9jayBjb25zdHJ1Y3RvciBhcyBpdCB3aWxsIGJlCisgICAgICAgICMgaW50ZXJwcmV0ZWQgYXMgYSBsaXN0IG9mIHN0cmluZ3MKKyAgICAgICAgc3BlYyA9IHR5cGUoc3BlYykKKworICAgIGlzX3R5cGUgPSBpc2luc3RhbmNlKHNwZWMsIHR5cGUpCisKKyAgICBfa3dhcmdzID0geydzcGVjJzogc3BlY30KKyAgICBpZiBzcGVjX3NldDoKKyAgICAgICAgX2t3YXJncyA9IHsnc3BlY19zZXQnOiBzcGVjfQorICAgIGVsaWYgc3BlYyBpcyBOb25lOgorICAgICAgICAjIE5vbmUgd2UgbW9jayB3aXRoIGEgbm9ybWFsIG1vY2sgd2l0aG91dCBhIHNwZWMKKyAgICAgICAgX2t3YXJncyA9IHt9CisKKyAgICBfa3dhcmdzLnVwZGF0ZShrd2FyZ3MpCisKKyAgICBLbGFzcyA9IE1hZ2ljTW9jaworICAgIGlmIHR5cGUoc3BlYykgaW4gRGVzY3JpcHRvclR5cGVzOgorICAgICAgICAjIGRlc2NyaXB0b3JzIGRvbid0IGhhdmUgYSBzcGVjCisgICAgICAgICMgYmVjYXVzZSB3ZSBkb24ndCBrbm93IHdoYXQgdHlwZSB0aGV5IHJldHVybgorICAgICAgICBfa3dhcmdzID0ge30KKyAgICBlbGlmIG5vdCBfY2FsbGFibGUoc3BlYyk6CisgICAgICAgIEtsYXNzID0gTm9uQ2FsbGFibGVNYWdpY01vY2sKKyAgICBlbGlmIGlzX3R5cGUgYW5kIGluc3RhbmNlIGFuZCBub3QgX2luc3RhbmNlX2NhbGxhYmxlKHNwZWMpOgorICAgICAgICBLbGFzcyA9IE5vbkNhbGxhYmxlTWFnaWNNb2NrCisKKyAgICBfbmV3X25hbWUgPSBfbmFtZQorICAgIGlmIF9wYXJlbnQgaXMgTm9uZToKKyAgICAgICAgIyBmb3IgYSB0b3AgbGV2ZWwgb2JqZWN0IG5vIF9uZXdfbmFtZSBzaG91bGQgYmUgc2V0CisgICAgICAgIF9uZXdfbmFtZSA9ICcnCisKKyAgICBtb2NrID0gS2xhc3MocGFyZW50PV9wYXJlbnQsIF9uZXdfcGFyZW50PV9wYXJlbnQsIF9uZXdfbmFtZT1fbmV3X25hbWUsCisgICAgICAgICAgICAgICAgIG5hbWU9X25hbWUsICoqX2t3YXJncykKKworICAgIGlmIGlzaW5zdGFuY2Uoc3BlYywgRnVuY3Rpb25UeXBlcyk6CisgICAgICAgICMgc2hvdWxkIG9ubHkgaGFwcGVuIGF0IHRoZSB0b3AgbGV2ZWwgYmVjYXVzZSB3ZSBkb24ndAorICAgICAgICAjIHJlY3Vyc2UgZm9yIGZ1bmN0aW9ucworICAgICAgICBtb2NrID0gX3NldF9zaWduYXR1cmUobW9jaywgc3BlYykKKyAgICBlbHNlOgorICAgICAgICBfY2hlY2tfc2lnbmF0dXJlKHNwZWMsIG1vY2ssIGlzX3R5cGUsIGluc3RhbmNlKQorCisgICAgaWYgX3BhcmVudCBpcyBub3QgTm9uZSBhbmQgbm90IGluc3RhbmNlOgorICAgICAgICBfcGFyZW50Ll9tb2NrX2NoaWxkcmVuW19uYW1lXSA9IG1vY2sKKworICAgIGlmIGlzX3R5cGUgYW5kIG5vdCBpbnN0YW5jZSBhbmQgJ3JldHVybl92YWx1ZScgbm90IGluIGt3YXJnczoKKyAgICAgICAgIyBYWFhYIGNvdWxkIGdpdmUgYSBuYW1lIHRvIHRoZSByZXR1cm5fdmFsdWUgbW9jaz8KKyAgICAgICAgbW9jay5yZXR1cm5fdmFsdWUgPSBjcmVhdGVfYXV0b3NwZWMoc3BlYywgc3BlY19zZXQsIGluc3RhbmNlPVRydWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9uYW1lPScoKScsIF9wYXJlbnQ9bW9jaykKKworICAgIGZvciBlbnRyeSBpbiBkaXIoc3BlYyk6CisgICAgICAgIGlmIF9pc19tYWdpYyhlbnRyeSk6CisgICAgICAgICAgICAjIE1hZ2ljTW9jayBhbHJlYWR5IGRvZXMgdGhlIHVzZWZ1bCBtYWdpYyBtZXRob2RzIGZvciB1cworICAgICAgICAgICAgY29udGludWUKKworICAgICAgICBpZiBpc2luc3RhbmNlKHNwZWMsIEZ1bmN0aW9uVHlwZXMpIGFuZCBlbnRyeSBpbiBGdW5jdGlvbkF0dHJpYnV0ZXM6CisgICAgICAgICAgICAjIGFsbG93IGEgbW9jayB0byBhY3R1YWxseSBiZSBhIGZ1bmN0aW9uCisgICAgICAgICAgICBjb250aW51ZQorCisgICAgICAgICMgWFhYWCBkbyB3ZSBuZWVkIGEgYmV0dGVyIHdheSBvZiBnZXR0aW5nIGF0dHJpYnV0ZXMgd2l0aG91dAorICAgICAgICAjIHRyaWdnZXJpbmcgY29kZSBleGVjdXRpb24gKD8pIFByb2JhYmx5IG5vdCAtIHdlIG5lZWQgdGhlIGFjdHVhbAorICAgICAgICAjIG9iamVjdCB0byBtb2NrIGl0IHNvIHdlIHdvdWxkIHJhdGhlciB0cmlnZ2VyIGEgcHJvcGVydHkgdGhhbiBtb2NrCisgICAgICAgICMgdGhlIHByb3BlcnR5IGRlc2NyaXB0b3IuIExpa2V3aXNlIHdlIHdhbnQgdG8gbW9jayBvdXQgZHluYW1pY2FsbHkKKyAgICAgICAgIyBwcm92aWRlZCBhdHRyaWJ1dGVzLgorICAgICAgICAjIFhYWFggd2hhdCBhYm91dCBhdHRyaWJ1dGVzIHRoYXQgcmFpc2UgZXhjZXB0aW9ucyBvbiBiZWluZyBmZXRjaGVkCisgICAgICAgICMgd2UgY291bGQgYmUgcmVzaWxpZW50IGFnYWluc3QgaXQsIG9yIGNhdGNoIGFuZCBwcm9wYWdhdGUgdGhlCisgICAgICAgICMgZXhjZXB0aW9uIHdoZW4gdGhlIGF0dHJpYnV0ZSBpcyBmZXRjaGVkIGZyb20gdGhlIG1vY2sKKyAgICAgICAgb3JpZ2luYWwgPSBnZXRhdHRyKHNwZWMsIGVudHJ5KQorCisgICAgICAgIGt3YXJncyA9IHsnc3BlYyc6IG9yaWdpbmFsfQorICAgICAgICBpZiBzcGVjX3NldDoKKyAgICAgICAgICAgIGt3YXJncyA9IHsnc3BlY19zZXQnOiBvcmlnaW5hbH0KKworICAgICAgICBpZiBub3QgaXNpbnN0YW5jZShvcmlnaW5hbCwgRnVuY3Rpb25UeXBlcyk6CisgICAgICAgICAgICBuZXcgPSBfU3BlY1N0YXRlKG9yaWdpbmFsLCBzcGVjX3NldCwgbW9jaywgZW50cnksIGluc3RhbmNlKQorICAgICAgICAgICAgbW9jay5fbW9ja19jaGlsZHJlbltlbnRyeV0gPSBuZXcKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHBhcmVudCA9IG1vY2sKKyAgICAgICAgICAgIGlmIGlzaW5zdGFuY2Uoc3BlYywgRnVuY3Rpb25UeXBlcyk6CisgICAgICAgICAgICAgICAgcGFyZW50ID0gbW9jay5tb2NrCisKKyAgICAgICAgICAgIG5ldyA9IE1hZ2ljTW9jayhwYXJlbnQ9cGFyZW50LCBuYW1lPWVudHJ5LCBfbmV3X25hbWU9ZW50cnksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgX25ld19wYXJlbnQ9cGFyZW50LCAqKmt3YXJncykKKyAgICAgICAgICAgIG1vY2suX21vY2tfY2hpbGRyZW5bZW50cnldID0gbmV3CisgICAgICAgICAgICBza2lwZmlyc3QgPSBfbXVzdF9za2lwKHNwZWMsIGVudHJ5LCBpc190eXBlKQorICAgICAgICAgICAgX2NoZWNrX3NpZ25hdHVyZShvcmlnaW5hbCwgbmV3LCBza2lwZmlyc3Q9c2tpcGZpcnN0KQorCisgICAgICAgICMgc28gZnVuY3Rpb25zIGNyZWF0ZWQgd2l0aCBfc2V0X3NpZ25hdHVyZSBiZWNvbWUgaW5zdGFuY2UgYXR0cmlidXRlcywKKyAgICAgICAgIyAqcGx1cyogdGhlaXIgdW5kZXJseWluZyBtb2NrIGV4aXN0cyBpbiBfbW9ja19jaGlsZHJlbiBvZiB0aGUgcGFyZW50CisgICAgICAgICMgbW9jay4gQWRkaW5nIHRvIF9tb2NrX2NoaWxkcmVuIG1heSBiZSB1bm5lY2Vzc2FyeSB3aGVyZSB3ZSBhcmUgYWxzbworICAgICAgICAjIHNldHRpbmcgYXMgYW4gaW5zdGFuY2UgYXR0cmlidXRlPworICAgICAgICBpZiBpc2luc3RhbmNlKG5ldywgRnVuY3Rpb25UeXBlcyk6CisgICAgICAgICAgICBzZXRhdHRyKG1vY2ssIGVudHJ5LCBuZXcpCisKKyAgICByZXR1cm4gbW9jaworCisKK2RlZiBfbXVzdF9za2lwKHNwZWMsIGVudHJ5LCBpc190eXBlKToKKyAgICBpZiBub3QgaXNpbnN0YW5jZShzcGVjLCB0eXBlKToKKyAgICAgICAgaWYgZW50cnkgaW4gZ2V0YXR0cihzcGVjLCAnX19kaWN0X18nLCB7fSk6CisgICAgICAgICAgICAjIGluc3RhbmNlIGF0dHJpYnV0ZSAtIHNob3VsZG4ndCBza2lwCisgICAgICAgICAgICByZXR1cm4gRmFsc2UKKyAgICAgICAgc3BlYyA9IHNwZWMuX19jbGFzc19fCisKKyAgICBmb3Iga2xhc3MgaW4gc3BlYy5fX21yb19fOgorICAgICAgICByZXN1bHQgPSBrbGFzcy5fX2RpY3RfXy5nZXQoZW50cnksIERFRkFVTFQpCisgICAgICAgIGlmIHJlc3VsdCBpcyBERUZBVUxUOgorICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgaWYgaXNpbnN0YW5jZShyZXN1bHQsIChzdGF0aWNtZXRob2QsIGNsYXNzbWV0aG9kKSk6CisgICAgICAgICAgICByZXR1cm4gRmFsc2UKKyAgICAgICAgcmV0dXJuIGlzX3R5cGUKKworICAgICMgc2hvdWxkbid0IGdldCBoZXJlIHVubGVzcyBmdW5jdGlvbiBpcyBhIGR5bmFtaWNhbGx5IHByb3ZpZGVkIGF0dHJpYnV0ZQorICAgICMgWFhYWCB1bnRlc3RlZCBiZWhhdmlvdXIKKyAgICByZXR1cm4gaXNfdHlwZQorCisKK2RlZiBfZ2V0X2NsYXNzKG9iaik6CisgICAgdHJ5OgorICAgICAgICByZXR1cm4gb2JqLl9fY2xhc3NfXworICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKKyAgICAgICAgIyBpbiBQeXRob24gMiwgX3NyZS5TUkVfUGF0dGVybiBvYmplY3RzIGhhdmUgbm8gX19jbGFzc19fCisgICAgICAgIHJldHVybiB0eXBlKG9iaikKKworCitjbGFzcyBfU3BlY1N0YXRlKG9iamVjdCk6CisKKyAgICBkZWYgX19pbml0X18oc2VsZiwgc3BlYywgc3BlY19zZXQ9RmFsc2UsIHBhcmVudD1Ob25lLAorICAgICAgICAgICAgICAgICBuYW1lPU5vbmUsIGlkcz1Ob25lLCBpbnN0YW5jZT1GYWxzZSk6CisgICAgICAgIHNlbGYuc3BlYyA9IHNwZWMKKyAgICAgICAgc2VsZi5pZHMgPSBpZHMKKyAgICAgICAgc2VsZi5zcGVjX3NldCA9IHNwZWNfc2V0CisgICAgICAgIHNlbGYucGFyZW50ID0gcGFyZW50CisgICAgICAgIHNlbGYuaW5zdGFuY2UgPSBpbnN0YW5jZQorICAgICAgICBzZWxmLm5hbWUgPSBuYW1lCisKKworRnVuY3Rpb25UeXBlcyA9ICgKKyAgICAjIHB5dGhvbiBmdW5jdGlvbgorICAgIHR5cGUoY3JlYXRlX2F1dG9zcGVjKSwKKyAgICAjIGluc3RhbmNlIG1ldGhvZAorICAgIHR5cGUoQU5ZLl9fZXFfXyksCisgICAgIyB1bmJvdW5kIG1ldGhvZAorICAgIHR5cGUoX0FOWS5fX2VxX18pLAorKQorCitGdW5jdGlvbkF0dHJpYnV0ZXMgPSBzZXQoWworICAgICdmdW5jX2Nsb3N1cmUnLAorICAgICdmdW5jX2NvZGUnLAorICAgICdmdW5jX2RlZmF1bHRzJywKKyAgICAnZnVuY19kaWN0JywKKyAgICAnZnVuY19kb2MnLAorICAgICdmdW5jX2dsb2JhbHMnLAorICAgICdmdW5jX25hbWUnLAorXSkKKworaW1wb3J0IF9pbworZmlsZV9zcGVjID0gbGlzdChzZXQoZGlyKF9pby5UZXh0SU9XcmFwcGVyKSkudW5pb24oc2V0KGRpcihfaW8uQnl0ZXNJTykpKSkKKworCitkZWYgbW9ja19vcGVuKG1vY2s9Tm9uZSwgcmVhZF9kYXRhPU5vbmUpOgorICAgIGlmIG1vY2sgaXMgTm9uZToKKyAgICAgICAgbW9jayA9IE1hZ2ljTW9jayhzcGVjPWZpbGVfc3BlYykKKworICAgIGhhbmRsZSA9IE1hZ2ljTW9jayhzcGVjPWZpbGVfc3BlYykKKyAgICBoYW5kbGUud3JpdGUucmV0dXJuX3ZhbHVlID0gTm9uZQorICAgIGhhbmRsZS5fX2VudGVyX18ucmV0dXJuX3ZhbHVlID0gaGFuZGxlCisKKyAgICBpZiByZWFkX2RhdGEgaXMgbm90IE5vbmU6CisgICAgICAgIGhhbmRsZS5yZWFkLnJldHVybl92YWx1ZSA9IHJlYWRfZGF0YQorCisgICAgbW9jay5yZXR1cm5fdmFsdWUgPSBoYW5kbGUKKyAgICByZXR1cm4gbW9jaworCisKK2NsYXNzIFByb3BlcnR5TW9jayhNb2NrKToKKyAgICAiIiJBIE1vY2sgdmFyaWFudCB3aXRoIF9fZ2V0X18gYW5kIF9fc2V0X18gbWV0aG9kcyB0byBhY3QgYXMgYSBwcm9wZXJ0eSIiIgorICAgIGRlZiBfX2dldF9fKHNlbGYsIG9iaiwgb2JqX3R5cGUpOgorICAgICAgICByZXR1cm4gc2VsZigpCisgICAgZGVmIF9fc2V0X18oc2VsZiwgb2JqLCB2YWwpOgorICAgICAgICBzZWxmKHZhbCkKZGlmZiAtLWdpdCBhL0xpYi91bml0dGVzdC9yZXN1bHQucHkgYi9MaWIvdW5pdHRlc3QvcmVzdWx0LnB5CmluZGV4IDQ0YmYxODYuLjk3ZTU0MjYgMTAwNjQ0Ci0tLSBhL0xpYi91bml0dGVzdC9yZXN1bHQucHkKKysrIGIvTGliL3VuaXR0ZXN0L3Jlc3VsdC5weQpAQCAtMSw2ICsxLDUgQEAKICIiIlRlc3QgcmVzdWx0IG9iamVjdCIiIgogCi1pbXBvcnQgb3MKIGltcG9ydCBpbwogaW1wb3J0IHN5cwogaW1wb3J0IHRyYWNlYmFjawpkaWZmIC0tZ2l0IGEvTGliL3VuaXR0ZXN0L3Rlc3QvX19pbml0X18ucHkgYi9MaWIvdW5pdHRlc3QvdGVzdC9fX2luaXRfXy5weQppbmRleCA5OWI3MzBiLi5jZGFlOGE3IDEwMDY0NAotLS0gYS9MaWIvdW5pdHRlc3QvdGVzdC9fX2luaXRfXy5weQorKysgYi9MaWIvdW5pdHRlc3QvdGVzdC9fX2luaXRfXy5weQpAQCAtMTQsNiArMTQsNyBAQAogICAgICAgICAgICAgX19pbXBvcnRfXyhtb2RuYW1lKQogICAgICAgICAgICAgbW9kdWxlID0gc3lzLm1vZHVsZXNbbW9kbmFtZV0KICAgICAgICAgICAgIHN1aXRlLmFkZFRlc3QobG9hZGVyLmxvYWRUZXN0c0Zyb21Nb2R1bGUobW9kdWxlKSkKKyAgICBzdWl0ZS5hZGRUZXN0KGxvYWRlci5sb2FkVGVzdHNGcm9tTmFtZSgndW5pdHRlc3QudGVzdC50ZXN0bW9jaycpKQogICAgIHJldHVybiBzdWl0ZQogCiAKZGlmZiAtLWdpdCBhL0xpYi91bml0dGVzdC90ZXN0L190ZXN0X3dhcm5pbmdzLnB5IGIvTGliL3VuaXR0ZXN0L3Rlc3QvX3Rlc3Rfd2FybmluZ3MucHkKaW5kZXggZDBiZTE4ZC4uNWNiZmI1MyAxMDA2NDQKLS0tIGEvTGliL3VuaXR0ZXN0L3Rlc3QvX3Rlc3Rfd2FybmluZ3MucHkKKysrIGIvTGliL3VuaXR0ZXN0L3Rlc3QvX3Rlc3Rfd2FybmluZ3MucHkKQEAgLTEwLDcgKzEwLDYgQEAKIFNlZSAjMTA1MzUuCiAiIiIKIAotaW1wb3J0IGlvCiBpbXBvcnQgc3lzCiBpbXBvcnQgdW5pdHRlc3QKIGltcG9ydCB3YXJuaW5ncwpkaWZmIC0tZ2l0IGEvTGliL3VuaXR0ZXN0L3Rlc3QvdGVzdF9hc3NlcnRpb25zLnB5IGIvTGliL3VuaXR0ZXN0L3Rlc3QvdGVzdF9hc3NlcnRpb25zLnB5CmluZGV4IGExZDIwZWIuLmQ0M2ZlNWEgMTAwNjQ0Ci0tLSBhL0xpYi91bml0dGVzdC90ZXN0L3Rlc3RfYXNzZXJ0aW9ucy5weQorKysgYi9MaWIvdW5pdHRlc3QvdGVzdC90ZXN0X2Fzc2VydGlvbnMucHkKQEAgLTEsNiArMSw3IEBACiBpbXBvcnQgZGF0ZXRpbWUKIGltcG9ydCB3YXJuaW5ncwogaW1wb3J0IHVuaXR0ZXN0Citmcm9tIGl0ZXJ0b29scyBpbXBvcnQgcHJvZHVjdAogCiAKIGNsYXNzIFRlc3RfQXNzZXJ0aW9ucyh1bml0dGVzdC5UZXN0Q2FzZSk6CkBAIC0xNDUsNiArMTQ2LDE0IEBACiAgICAgICAgIHNlbGYudGVzdGFibGVUcnVlLl9mb3JtYXRNZXNzYWdlKG9uZSwgJ1x1RkZGRCcpCiAKICAgICBkZWYgYXNzZXJ0TWVzc2FnZXMoc2VsZiwgbWV0aG9kTmFtZSwgYXJncywgZXJyb3JzKToKKyAgICAgICAgIiIiCisgICAgICAgIENoZWNrIHRoYXQgbWV0aG9kTmFtZSgqYXJncykgcmFpc2VzIHRoZSBjb3JyZWN0IGVycm9yIG1lc3NhZ2VzLgorICAgICAgICBlcnJvcnMgc2hvdWxkIGJlIGEgbGlzdCBvZiA0IHJlZ2V4IHRoYXQgbWF0Y2ggdGhlIGVycm9yIHdoZW46CisgICAgICAgICAgMSkgbG9uZ01lc3NhZ2UgPSBGYWxzZSBhbmQgbm8gbXNnIHBhc3NlZDsKKyAgICAgICAgICAyKSBsb25nTWVzc2FnZSA9IEZhbHNlIGFuZCBtc2cgcGFzc2VkOworICAgICAgICAgIDMpIGxvbmdNZXNzYWdlID0gVHJ1ZSBhbmQgbm8gbXNnIHBhc3NlZDsKKyAgICAgICAgICA0KSBsb25nTWVzc2FnZSA9IFRydWUgYW5kIG1zZyBwYXNzZWQ7CisgICAgICAgICIiIgogICAgICAgICBkZWYgZ2V0TWV0aG9kKGkpOgogICAgICAgICAgICAgdXNlVGVzdGFibGVGYWxzZSAgPSBpIDwgMgogICAgICAgICAgICAgaWYgdXNlVGVzdGFibGVGYWxzZToKQEAgLTI4NCwzICsyOTMsNjcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbIl51bmV4cGVjdGVkbHkgaWRlbnRpY2FsOiBOb25lJCIsICJeb29wcyQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiXnVuZXhwZWN0ZWRseSBpZGVudGljYWw6IE5vbmUkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIl51bmV4cGVjdGVkbHkgaWRlbnRpY2FsOiBOb25lIDogb29wcyQiXSkKKworCisgICAgZGVmIGFzc2VydE1lc3NhZ2VzQ00oc2VsZiwgbWV0aG9kTmFtZSwgYXJncywgZnVuYywgZXJyb3JzKToKKyAgICAgICAgIiIiCisgICAgICAgIENoZWNrIHRoYXQgdGhlIGNvcnJlY3QgZXJyb3IgbWVzc2FnZXMgYXJlIHJhaXNlZCB3aGlsZSBleGVjdXRpbmc6CisgICAgICAgICAgd2l0aCBtZXRob2QoKmFyZ3MpOgorICAgICAgICAgICAgICBmdW5jKCkKKyAgICAgICAgKmVycm9ycyogc2hvdWxkIGJlIGEgbGlzdCBvZiA0IHJlZ2V4IHRoYXQgbWF0Y2ggdGhlIGVycm9yIHdoZW46CisgICAgICAgICAgMSkgbG9uZ01lc3NhZ2UgPSBGYWxzZSBhbmQgbm8gbXNnIHBhc3NlZDsKKyAgICAgICAgICAyKSBsb25nTWVzc2FnZSA9IEZhbHNlIGFuZCBtc2cgcGFzc2VkOworICAgICAgICAgIDMpIGxvbmdNZXNzYWdlID0gVHJ1ZSBhbmQgbm8gbXNnIHBhc3NlZDsKKyAgICAgICAgICA0KSBsb25nTWVzc2FnZSA9IFRydWUgYW5kIG1zZyBwYXNzZWQ7CisgICAgICAgICIiIgorICAgICAgICBwID0gcHJvZHVjdCgoc2VsZi50ZXN0YWJsZUZhbHNlLCBzZWxmLnRlc3RhYmxlVHJ1ZSksCisgICAgICAgICAgICAgICAgICAgICh7fSwgeyJtc2ciOiAib29wcyJ9KSkKKyAgICAgICAgZm9yIChjbHMsIGt3YXJncyksIGVyciBpbiB6aXAocCwgZXJyb3JzKToKKyAgICAgICAgICAgIG1ldGhvZCA9IGdldGF0dHIoY2xzLCBtZXRob2ROYW1lKQorICAgICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlc1JlZ2V4KGNscy5mYWlsdXJlRXhjZXB0aW9uLCBlcnIpOgorICAgICAgICAgICAgICAgIHdpdGggbWV0aG9kKCphcmdzLCAqKmt3YXJncykgYXMgY206CisgICAgICAgICAgICAgICAgICAgIGZ1bmMoKQorCisgICAgZGVmIHRlc3RBc3NlcnRSYWlzZXMoc2VsZik6CisgICAgICAgIHNlbGYuYXNzZXJ0TWVzc2FnZXNDTSgnYXNzZXJ0UmFpc2VzJywgKFR5cGVFcnJvciwpLCBsYW1iZGE6IE5vbmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJ15UeXBlRXJyb3Igbm90IHJhaXNlZCQnLCAnXm9vcHMkJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnXlR5cGVFcnJvciBub3QgcmFpc2VkJCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ15UeXBlRXJyb3Igbm90IHJhaXNlZCA6IG9vcHMkJ10pCisKKyAgICBkZWYgdGVzdEFzc2VydFJhaXNlc1JlZ2V4KHNlbGYpOgorICAgICAgICAjIHRlc3QgZXJyb3Igbm90IHJhaXNlZAorICAgICAgICBzZWxmLmFzc2VydE1lc3NhZ2VzQ00oJ2Fzc2VydFJhaXNlc1JlZ2V4JywgKFR5cGVFcnJvciwgJ3VudXNlZCByZWdleCcpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFtYmRhOiBOb25lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWydeVHlwZUVycm9yIG5vdCByYWlzZWQkJywgJ15vb3BzJCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ15UeXBlRXJyb3Igbm90IHJhaXNlZCQnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdeVHlwZUVycm9yIG5vdCByYWlzZWQgOiBvb3BzJCddKQorICAgICAgICAjIHRlc3QgZXJyb3IgcmFpc2VkIGJ1dCB3aXRoIHdyb25nIG1lc3NhZ2UKKyAgICAgICAgZGVmIHJhaXNlX3dyb25nX21lc3NhZ2UoKToKKyAgICAgICAgICAgIHJhaXNlIFR5cGVFcnJvcignZm9vJykKKyAgICAgICAgc2VsZi5hc3NlcnRNZXNzYWdlc0NNKCdhc3NlcnRSYWlzZXNSZWdleCcsIChUeXBlRXJyb3IsICdyZWdleCcpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2Vfd3JvbmdfbWVzc2FnZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsnXiJyZWdleCIgZG9lcyBub3QgbWF0Y2ggImZvbyIkJywgJ15vb3BzJCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ14icmVnZXgiIGRvZXMgbm90IG1hdGNoICJmb28iJCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ14icmVnZXgiIGRvZXMgbm90IG1hdGNoICJmb28iIDogb29wcyQnXSkKKworICAgIGRlZiB0ZXN0QXNzZXJ0V2FybnMoc2VsZik6CisgICAgICAgIHNlbGYuYXNzZXJ0TWVzc2FnZXNDTSgnYXNzZXJ0V2FybnMnLCAoVXNlcldhcm5pbmcsKSwgbGFtYmRhOiBOb25lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWydeVXNlcldhcm5pbmcgbm90IHRyaWdnZXJlZCQnLCAnXm9vcHMkJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnXlVzZXJXYXJuaW5nIG5vdCB0cmlnZ2VyZWQkJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnXlVzZXJXYXJuaW5nIG5vdCB0cmlnZ2VyZWQgOiBvb3BzJCddKQorCisgICAgZGVmIHRlc3RBc3NlcnRXYXJuc1JlZ2V4KHNlbGYpOgorICAgICAgICAjIHRlc3QgZXJyb3Igbm90IHJhaXNlZAorICAgICAgICBzZWxmLmFzc2VydE1lc3NhZ2VzQ00oJ2Fzc2VydFdhcm5zUmVnZXgnLCAoVXNlcldhcm5pbmcsICd1bnVzZWQgcmVnZXgnKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhbWJkYTogTm9uZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsnXlVzZXJXYXJuaW5nIG5vdCB0cmlnZ2VyZWQkJywgJ15vb3BzJCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ15Vc2VyV2FybmluZyBub3QgdHJpZ2dlcmVkJCcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ15Vc2VyV2FybmluZyBub3QgdHJpZ2dlcmVkIDogb29wcyQnXSkKKyAgICAgICAgIyB0ZXN0IHdhcm5pbmcgcmFpc2VkIGJ1dCB3aXRoIHdyb25nIG1lc3NhZ2UKKyAgICAgICAgZGVmIHJhaXNlX3dyb25nX21lc3NhZ2UoKToKKyAgICAgICAgICAgIHdhcm5pbmdzLndhcm4oJ2ZvbycpCisgICAgICAgIHNlbGYuYXNzZXJ0TWVzc2FnZXNDTSgnYXNzZXJ0V2FybnNSZWdleCcsIChVc2VyV2FybmluZywgJ3JlZ2V4JyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByYWlzZV93cm9uZ19tZXNzYWdlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWydeInJlZ2V4IiBkb2VzIG5vdCBtYXRjaCAiZm9vIiQnLCAnXm9vcHMkJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnXiJyZWdleCIgZG9lcyBub3QgbWF0Y2ggImZvbyIkJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnXiJyZWdleCIgZG9lcyBub3QgbWF0Y2ggImZvbyIgOiBvb3BzJCddKQpkaWZmIC0tZ2l0IGEvTGliL3VuaXR0ZXN0L3Rlc3QvdGVzdF9jYXNlLnB5IGIvTGliL3VuaXR0ZXN0L3Rlc3QvdGVzdF9jYXNlLnB5CmluZGV4IGM3NGE1MzkuLmZkYjJlNzggMTAwNjQ0Ci0tLSBhL0xpYi91bml0dGVzdC90ZXN0L3Rlc3RfY2FzZS5weQorKysgYi9MaWIvdW5pdHRlc3QvdGVzdC90ZXN0X2Nhc2UucHkKQEAgLTQsNiArNCw3IEBACiBpbXBvcnQgcmUKIGltcG9ydCBzeXMKIGltcG9ydCB3YXJuaW5ncworaW1wb3J0IHdlYWtyZWYKIGltcG9ydCBpbnNwZWN0CiAKIGZyb20gY29weSBpbXBvcnQgZGVlcGNvcHkKQEAgLTM4NiwyNyArMzg3LDYyIEBACiAgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShGb28oKS5pZCgpLCBzdHIpCiAKIAotICAgICMgIklmIHJlc3VsdCBpcyBvbWl0dGVkIG9yIE5vbmUsIGEgdGVtcG9yYXJ5IHJlc3VsdCBvYmplY3QgaXMgY3JlYXRlZAotICAgICMgYW5kIHVzZWQsIGJ1dCBpcyBub3QgbWFkZSBhdmFpbGFibGUgdG8gdGhlIGNhbGxlci4gQXMgVGVzdENhc2Ugb3ducyB0aGUKKyAgICAjICJJZiByZXN1bHQgaXMgb21pdHRlZCBvciBOb25lLCBhIHRlbXBvcmFyeSByZXN1bHQgb2JqZWN0IGlzIGNyZWF0ZWQsCisgICAgIyB1c2VkLCBhbmQgaXMgbWFkZSBhdmFpbGFibGUgdG8gdGhlIGNhbGxlci4gQXMgVGVzdENhc2Ugb3ducyB0aGUKICAgICAjIHRlbXBvcmFyeSByZXN1bHQgc3RhcnRUZXN0UnVuIGFuZCBzdG9wVGVzdFJ1biBhcmUgY2FsbGVkLgogCiAgICAgZGVmIHRlc3RfcnVuX191c2VzX2RlZmF1bHRUZXN0UmVzdWx0KHNlbGYpOgogICAgICAgICBldmVudHMgPSBbXQorICAgICAgICBkZWZhdWx0UmVzdWx0ID0gTG9nZ2luZ1Jlc3VsdChldmVudHMpCiAKICAgICAgICAgY2xhc3MgRm9vKHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgICAgIGRlZiB0ZXN0KHNlbGYpOgogICAgICAgICAgICAgICAgIGV2ZW50cy5hcHBlbmQoJ3Rlc3QnKQogCiAgICAgICAgICAgICBkZWYgZGVmYXVsdFRlc3RSZXN1bHQoc2VsZik6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIExvZ2dpbmdSZXN1bHQoZXZlbnRzKQorICAgICAgICAgICAgICAgIHJldHVybiBkZWZhdWx0UmVzdWx0CiAKICAgICAgICAgIyBNYWtlIHJ1bigpIGZpbmQgYSByZXN1bHQgb2JqZWN0IG9uIGl0cyBvd24KLSAgICAgICAgRm9vKCd0ZXN0JykucnVuKCkKKyAgICAgICAgcmVzdWx0ID0gRm9vKCd0ZXN0JykucnVuKCkKIAorICAgICAgICBzZWxmLmFzc2VydElzKHJlc3VsdCwgZGVmYXVsdFJlc3VsdCkKICAgICAgICAgZXhwZWN0ZWQgPSBbJ3N0YXJ0VGVzdFJ1bicsICdzdGFydFRlc3QnLCAndGVzdCcsICdhZGRTdWNjZXNzJywKICAgICAgICAgICAgICdzdG9wVGVzdCcsICdzdG9wVGVzdFJ1biddCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXZlbnRzLCBleHBlY3RlZCkKIAorCisgICAgIyAiVGhlIHJlc3VsdCBvYmplY3QgaXMgcmV0dXJuZWQgdG8gcnVuJ3MgY2FsbGVyIgorICAgIGRlZiB0ZXN0X3J1bl9fcmV0dXJuc19naXZlbl9yZXN1bHQoc2VsZik6CisKKyAgICAgICAgY2xhc3MgRm9vKHVuaXR0ZXN0LlRlc3RDYXNlKToKKyAgICAgICAgICAgIGRlZiB0ZXN0KHNlbGYpOgorICAgICAgICAgICAgICAgIHBhc3MKKworICAgICAgICByZXN1bHQgPSB1bml0dGVzdC5UZXN0UmVzdWx0KCkKKworICAgICAgICByZXR2YWwgPSBGb28oJ3Rlc3QnKS5ydW4ocmVzdWx0KQorICAgICAgICBzZWxmLmFzc2VydElzKHJldHZhbCwgcmVzdWx0KQorCisKKyAgICAjICJUaGUgc2FtZSBlZmZlY3QgW2FzIG1ldGhvZCBydW5dIG1heSBiZSBoYWQgYnkgc2ltcGx5IGNhbGxpbmcgdGhlCisgICAgIyBUZXN0Q2FzZSBpbnN0YW5jZS4iCisgICAgZGVmIHRlc3RfY2FsbF9faW52b2tpbmdfYW5faW5zdGFuY2VfZGVsZWdhdGVzX3RvX3J1bihzZWxmKToKKyAgICAgICAgcmVzdWx0SW4gPSB1bml0dGVzdC5UZXN0UmVzdWx0KCkKKyAgICAgICAgcmVzdWx0T3V0ID0gdW5pdHRlc3QuVGVzdFJlc3VsdCgpCisKKyAgICAgICAgY2xhc3MgRm9vKHVuaXR0ZXN0LlRlc3RDYXNlKToKKyAgICAgICAgICAgIGRlZiB0ZXN0KHNlbGYpOgorICAgICAgICAgICAgICAgIHBhc3MKKworICAgICAgICAgICAgZGVmIHJ1bihzZWxmLCByZXN1bHQpOgorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXMocmVzdWx0LCByZXN1bHRJbikKKyAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0T3V0CisKKyAgICAgICAgcmV0dmFsID0gRm9vKCd0ZXN0JykocmVzdWx0SW4pCisKKyAgICAgICAgc2VsZi5hc3NlcnRJcyhyZXR2YWwsIHJlc3VsdE91dCkKKworCiAgICAgZGVmIHRlc3RTaG9ydERlc2NyaXB0aW9uV2l0aG91dERvY3N0cmluZyhzZWxmKToKICAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUoc2VsZi5zaG9ydERlc2NyaXB0aW9uKCkpCiAKQEAgLTExNDAsNyArMTE3Niw2IEBACiAgICAgICAgICAgICAoc2VsZi5hc3NlcnRfLCAoVHJ1ZSwpKSwKICAgICAgICAgICAgIChzZWxmLmZhaWxVbmxlc3NSYWlzZXMsIChUeXBlRXJyb3IsIGxhbWJkYSBfOiAzLjE0ICsgJ3NwYW0nKSksCiAgICAgICAgICAgICAoc2VsZi5mYWlsSWYsIChGYWxzZSwpKSwKLSAgICAgICAgICAgIChzZWxmLmFzc2VydFNhbWVFbGVtZW50cywgKFsxLCAxLCAyLCAzXSwgWzEsIDIsIDNdKSksCiAgICAgICAgICAgICAoc2VsZi5hc3NlcnREaWN0Q29udGFpbnNTdWJzZXQsIChkaWN0KGE9MSwgYj0yKSwgZGljdChhPTEsIGI9MiwgYz0zKSkpLAogICAgICAgICAgICAgKHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXhwLCAoS2V5RXJyb3IsICdmb28nLCBsYW1iZGE6IHt9Wydmb28nXSkpLAogICAgICAgICAgICAgKHNlbGYuYXNzZXJ0UmVnZXhwTWF0Y2hlcywgKCdiYXInLCAnYmFyJykpLApAQCAtMTE0OSwxOCArMTE4NCwyMCBAQAogICAgICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFdhcm5zKERlcHJlY2F0aW9uV2FybmluZyk6CiAgICAgICAgICAgICAgICAgbWV0aCgqYXJncykKIAotICAgIGRlZiB0ZXN0RGVwcmVjYXRlZEZhaWxNZXRob2RzKHNlbGYpOgotICAgICAgICAiIiJUZXN0IHRoYXQgdGhlIGRlcHJlY2F0ZWQgZmFpbCogbWV0aG9kcyBnZXQgcmVtb3ZlZCBpbiAzLjMiIiIKKyAgICAjIGRpc2FibGUgdGhpcyB0ZXN0IGZvciBub3cuIFdoZW4gdGhlIHZlcnNpb24gd2hlcmUgdGhlIGZhaWwqIG1ldGhvZHMgd2lsbAorICAgICMgYmUgcmVtb3ZlZCBpcyBkZWNpZGVkLCByZS1lbmFibGUgaXQgYW5kIHVwZGF0ZSB0aGUgdmVyc2lvbgorICAgIGRlZiBfdGVzdERlcHJlY2F0ZWRGYWlsTWV0aG9kcyhzZWxmKToKKyAgICAgICAgIiIiVGVzdCB0aGF0IHRoZSBkZXByZWNhdGVkIGZhaWwqIG1ldGhvZHMgZ2V0IHJlbW92ZWQgaW4gMy54IiIiCiAgICAgICAgIGlmIHN5cy52ZXJzaW9uX2luZm9bOjJdIDwgKDMsIDMpOgogICAgICAgICAgICAgcmV0dXJuCiAgICAgICAgIGRlcHJlY2F0ZWRfbmFtZXMgPSBbCiAgICAgICAgICAgICAnZmFpbElmRXF1YWwnLCAnZmFpbFVubGVzc0VxdWFsJywgJ2ZhaWxVbmxlc3NBbG1vc3RFcXVhbCcsCiAgICAgICAgICAgICAnZmFpbElmQWxtb3N0RXF1YWwnLCAnZmFpbFVubGVzcycsICdmYWlsVW5sZXNzUmFpc2VzJywgJ2ZhaWxJZicsCi0gICAgICAgICAgICAnYXNzZXJ0U2FtZUVsZW1lbnRzJywgJ2Fzc2VydERpY3RDb250YWluc1N1YnNldCcsCisgICAgICAgICAgICAnYXNzZXJ0RGljdENvbnRhaW5zU3Vic2V0JywKICAgICAgICAgXQogICAgICAgICBmb3IgZGVwcmVjYXRlZF9uYW1lIGluIGRlcHJlY2F0ZWRfbmFtZXM6CiAgICAgICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKEF0dHJpYnV0ZUVycm9yKToKLSAgICAgICAgICAgICAgICBnZXRhdHRyKHNlbGYsIGRlcHJlY2F0ZWRfbmFtZSkgICMgcmVtb3ZlIHRoZXNlIGluIDMuMworICAgICAgICAgICAgICAgIGdldGF0dHIoc2VsZiwgZGVwcmVjYXRlZF9uYW1lKSAgIyByZW1vdmUgdGhlc2UgaW4gMy54CiAKICAgICBkZWYgdGVzdERlZXBjb3B5KHNlbGYpOgogICAgICAgICAjIElzc3VlOiA1NjYwCkBAIC0xMjY4LDMgKzEzMDUsMTEgQEAKICAgICAgICAgICAgIGtsYXNzKCd0ZXN0X3NvbWV0aGluZycpLnJ1bihyZXN1bHQpCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihyZXN1bHQuZXJyb3JzKSwgMSkKICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzdWx0LnRlc3RzUnVuLCAxKQorCisgICAgQHN1cHBvcnQuY3B5dGhvbl9vbmx5CisgICAgZGVmIHRlc3ROb0N5Y2xlcyhzZWxmKToKKyAgICAgICAgY2FzZSA9IHVuaXR0ZXN0LlRlc3RDYXNlKCkKKyAgICAgICAgd3IgPSB3ZWFrcmVmLnJlZihjYXNlKQorICAgICAgICB3aXRoIHN1cHBvcnQuZGlzYWJsZV9nYygpOgorICAgICAgICAgICAgZGVsIGNhc2UKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2Uod3IoKSkKZGlmZiAtLWdpdCBhL0xpYi91bml0dGVzdC90ZXN0L3Rlc3RfbG9hZGVyLnB5IGIvTGliL3VuaXR0ZXN0L3Rlc3QvdGVzdF9sb2FkZXIucHkKaW5kZXggZjdlMzFhNS4uZDFiOWVmNSAxMDA2NDQKLS0tIGEvTGliL3VuaXR0ZXN0L3Rlc3QvdGVzdF9sb2FkZXIucHkKKysrIGIvTGliL3VuaXR0ZXN0L3Rlc3QvdGVzdF9sb2FkZXIucHkKQEAgLTIzOSw3ICsyMzksNyBAQAogICAgICAgICB0cnk6CiAgICAgICAgICAgICBsb2FkZXIubG9hZFRlc3RzRnJvbU5hbWUoJ3NkYXNmYXNmYXNkZicpCiAgICAgICAgIGV4Y2VwdCBJbXBvcnRFcnJvciBhcyBlOgotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdHIoZSksICJObyBtb2R1bGUgbmFtZWQgc2Rhc2Zhc2Zhc2RmIikKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKGUpLCAiTm8gbW9kdWxlIG5hbWVkICdzZGFzZmFzZmFzZGYnIikKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHNlbGYuZmFpbCgiVGVzdExvYWRlci5sb2FkVGVzdHNGcm9tTmFtZSBmYWlsZWQgdG8gcmFpc2UgSW1wb3J0RXJyb3IiKQogCkBAIC02MTksNyArNjE5LDcgQEAKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgbG9hZGVyLmxvYWRUZXN0c0Zyb21OYW1lcyhbJ3NkYXNmYXNmYXNkZiddKQogICAgICAgICBleGNlcHQgSW1wb3J0RXJyb3IgYXMgZToKLSAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKGUpLCAiTm8gbW9kdWxlIG5hbWVkIHNkYXNmYXNmYXNkZiIpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cihlKSwgIk5vIG1vZHVsZSBuYW1lZCAnc2Rhc2Zhc2Zhc2RmJyIpCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBzZWxmLmZhaWwoIlRlc3RMb2FkZXIubG9hZFRlc3RzRnJvbU5hbWVzIGZhaWxlZCB0byByYWlzZSBJbXBvcnRFcnJvciIpCiAKZGlmZiAtLWdpdCBhL0xpYi91bml0dGVzdC90ZXN0L3Rlc3RfcHJvZ3JhbS5weSBiL0xpYi91bml0dGVzdC90ZXN0L3Rlc3RfcHJvZ3JhbS5weQppbmRleCBkNWQwZjVhLi45Nzk0ODY4IDEwMDY0NAotLS0gYS9MaWIvdW5pdHRlc3QvdGVzdC90ZXN0X3Byb2dyYW0ucHkKKysrIGIvTGliL3VuaXR0ZXN0L3Rlc3QvdGVzdF9wcm9ncmFtLnB5CkBAIC0xMzEsMjMgKzEzMSw2IEBACiAgICAgICAgIEZha2VSdW5uZXIudGVzdCA9IE5vbmUKICAgICAgICAgRmFrZVJ1bm5lci5yYWlzZUVycm9yID0gRmFsc2UKIAotICAgIGRlZiB0ZXN0SGVscEFuZFVua25vd24oc2VsZik6Ci0gICAgICAgIHByb2dyYW0gPSBzZWxmLnByb2dyYW0KLSAgICAgICAgZGVmIHVzYWdlRXhpdChtc2c9Tm9uZSk6Ci0gICAgICAgICAgICBwcm9ncmFtLm1zZyA9IG1zZwotICAgICAgICAgICAgcHJvZ3JhbS5leGl0ID0gVHJ1ZQotICAgICAgICBwcm9ncmFtLnVzYWdlRXhpdCA9IHVzYWdlRXhpdAotCi0gICAgICAgIGZvciBvcHQgaW4gJy1oJywgJy1IJywgJy0taGVscCc6Ci0gICAgICAgICAgICBwcm9ncmFtLmV4aXQgPSBGYWxzZQotICAgICAgICAgICAgcHJvZ3JhbS5wYXJzZUFyZ3MoW05vbmUsIG9wdF0pCi0gICAgICAgICAgICBzZWxmLmFzc2VydFRydWUocHJvZ3JhbS5leGl0KQotICAgICAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUocHJvZ3JhbS5tc2cpCi0KLSAgICAgICAgcHJvZ3JhbS5wYXJzZUFyZ3MoW05vbmUsICctJCddKQotICAgICAgICBzZWxmLmFzc2VydFRydWUocHJvZ3JhbS5leGl0KQotICAgICAgICBzZWxmLmFzc2VydElzTm90Tm9uZShwcm9ncmFtLm1zZykKLQogICAgIGRlZiB0ZXN0VmVyYm9zaXR5KHNlbGYpOgogICAgICAgICBwcm9ncmFtID0gc2VsZi5wcm9ncmFtCiAKZGlmZiAtLWdpdCBhL0xpYi91bml0dGVzdC90ZXN0L3Rlc3Rtb2NrL19faW5pdF9fLnB5IGIvTGliL3VuaXR0ZXN0L3Rlc3QvdGVzdG1vY2svX19pbml0X18ucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODdkN2FlOQotLS0gL2Rldi9udWxsCisrKyBiL0xpYi91bml0dGVzdC90ZXN0L3Rlc3Rtb2NrL19faW5pdF9fLnB5CkBAIC0wLDAgKzEsMTcgQEAKK2ltcG9ydCBvcworaW1wb3J0IHN5cworaW1wb3J0IHVuaXR0ZXN0CisKKworaGVyZSA9IG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXykKK2xvYWRlciA9IHVuaXR0ZXN0LmRlZmF1bHRUZXN0TG9hZGVyCisKK2RlZiBsb2FkX3Rlc3RzKCphcmdzKToKKyAgICBzdWl0ZSA9IHVuaXR0ZXN0LlRlc3RTdWl0ZSgpCisgICAgZm9yIGZuIGluIG9zLmxpc3RkaXIoaGVyZSk6CisgICAgICAgIGlmIGZuLnN0YXJ0c3dpdGgoInRlc3QiKSBhbmQgZm4uZW5kc3dpdGgoIi5weSIpOgorICAgICAgICAgICAgbW9kbmFtZSA9ICJ1bml0dGVzdC50ZXN0LnRlc3Rtb2NrLiIgKyBmbls6LTNdCisgICAgICAgICAgICBfX2ltcG9ydF9fKG1vZG5hbWUpCisgICAgICAgICAgICBtb2R1bGUgPSBzeXMubW9kdWxlc1ttb2RuYW1lXQorICAgICAgICAgICAgc3VpdGUuYWRkVGVzdChsb2FkZXIubG9hZFRlc3RzRnJvbU1vZHVsZShtb2R1bGUpKQorICAgIHJldHVybiBzdWl0ZQpkaWZmIC0tZ2l0IGEvTGliL3VuaXR0ZXN0L3Rlc3QvdGVzdG1vY2svc3VwcG9ydC5weSBiL0xpYi91bml0dGVzdC90ZXN0L3Rlc3Rtb2NrL3N1cHBvcnQucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjQ3Mzg3OQotLS0gL2Rldi9udWxsCisrKyBiL0xpYi91bml0dGVzdC90ZXN0L3Rlc3Rtb2NrL3N1cHBvcnQucHkKQEAgLTAsMCArMSwyMyBAQAoraW1wb3J0IHN5cworCitkZWYgaXNfaW5zdGFuY2Uob2JqLCBrbGFzcyk6CisgICAgIiIiVmVyc2lvbiBvZiBpc19pbnN0YW5jZSB0aGF0IGRvZXNuJ3QgYWNjZXNzIF9fY2xhc3NfXyIiIgorICAgIHJldHVybiBpc3N1YmNsYXNzKHR5cGUob2JqKSwga2xhc3MpCisKKworY2xhc3MgU29tZUNsYXNzKG9iamVjdCk6CisgICAgY2xhc3NfYXR0cmlidXRlID0gTm9uZQorCisgICAgZGVmIHdpYmJsZShzZWxmKToKKyAgICAgICAgcGFzcworCisKK2NsYXNzIFgob2JqZWN0KToKKyAgICBwYXNzCisKKworZGVmIGV4YW1pbmVfd2FybmluZ3MoZnVuYyk6CisgICAgZGVmIHdyYXBwZXIoKToKKyAgICAgICAgd2l0aCBjYXRjaF93YXJuaW5ncyhyZWNvcmQ9VHJ1ZSkgYXMgd3M6CisgICAgICAgICAgICBmdW5jKHdzKQorICAgIHJldHVybiB3cmFwcGVyCmRpZmYgLS1naXQgYS9MaWIvdW5pdHRlc3QvdGVzdC90ZXN0bW9jay90ZXN0Y2FsbGFibGUucHkgYi9MaWIvdW5pdHRlc3QvdGVzdC90ZXN0bW9jay90ZXN0Y2FsbGFibGUucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2IyZGQwMAotLS0gL2Rldi9udWxsCisrKyBiL0xpYi91bml0dGVzdC90ZXN0L3Rlc3Rtb2NrL3Rlc3RjYWxsYWJsZS5weQpAQCAtMCwwICsxLDE0NyBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMDctMjAxMiBNaWNoYWVsIEZvb3JkICYgdGhlIG1vY2sgdGVhbQorIyBFLW1haWw6IGZ1enp5bWFuIEFUIHZvaWRzcGFjZSBET1Qgb3JnIERPVCB1aworIyBodHRwOi8vd3d3LnZvaWRzcGFjZS5vcmcudWsvcHl0aG9uL21vY2svCisKK2ltcG9ydCB1bml0dGVzdAorZnJvbSB1bml0dGVzdC50ZXN0LnRlc3Rtb2NrLnN1cHBvcnQgaW1wb3J0IGlzX2luc3RhbmNlLCBYLCBTb21lQ2xhc3MKKworZnJvbSB1bml0dGVzdC5tb2NrIGltcG9ydCAoCisgICAgTW9jaywgTWFnaWNNb2NrLCBOb25DYWxsYWJsZU1hZ2ljTW9jaywKKyAgICBOb25DYWxsYWJsZU1vY2ssIHBhdGNoLCBjcmVhdGVfYXV0b3NwZWMsCisgICAgQ2FsbGFibGVNaXhpbgorKQorCisKKworY2xhc3MgVGVzdENhbGxhYmxlKHVuaXR0ZXN0LlRlc3RDYXNlKToKKworICAgIGRlZiBhc3NlcnROb3RDYWxsYWJsZShzZWxmLCBtb2NrKToKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGlzX2luc3RhbmNlKG1vY2ssIE5vbkNhbGxhYmxlTWFnaWNNb2NrKSkKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShpc19pbnN0YW5jZShtb2NrLCBDYWxsYWJsZU1peGluKSkKKworCisgICAgZGVmIHRlc3Rfbm9uX2NhbGxhYmxlKHNlbGYpOgorICAgICAgICBmb3IgbW9jayBpbiBOb25DYWxsYWJsZU1hZ2ljTW9jaygpLCBOb25DYWxsYWJsZU1vY2soKToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgbW9jaykKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoaGFzYXR0cihtb2NrLCAnX19jYWxsX18nKSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4obW9jay5fX2NsYXNzX18uX19uYW1lX18sIHJlcHIobW9jaykpCisKKworICAgIGRlZiB0ZXN0X2hlaXJhcmNoeShzZWxmKToKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGlzc3ViY2xhc3MoTWFnaWNNb2NrLCBNb2NrKSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGlzc3ViY2xhc3MoTm9uQ2FsbGFibGVNYWdpY01vY2ssIE5vbkNhbGxhYmxlTW9jaykpCisKKworICAgIGRlZiB0ZXN0X2F0dHJpYnV0ZXMoc2VsZik6CisgICAgICAgIG9uZSA9IE5vbkNhbGxhYmxlTW9jaygpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShpc3N1YmNsYXNzKHR5cGUob25lLm9uZSksIE1vY2spKQorCisgICAgICAgIHR3byA9IE5vbkNhbGxhYmxlTWFnaWNNb2NrKCkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGlzc3ViY2xhc3ModHlwZSh0d28udHdvKSwgTWFnaWNNb2NrKSkKKworCisgICAgZGVmIHRlc3Rfc3ViY2xhc3NlcyhzZWxmKToKKyAgICAgICAgY2xhc3MgTW9ja1N1YihNb2NrKToKKyAgICAgICAgICAgIHBhc3MKKworICAgICAgICBvbmUgPSBNb2NrU3ViKCkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGlzc3ViY2xhc3ModHlwZShvbmUub25lKSwgTW9ja1N1YikpCisKKyAgICAgICAgY2xhc3MgTWFnaWNTdWIoTWFnaWNNb2NrKToKKyAgICAgICAgICAgIHBhc3MKKworICAgICAgICB0d28gPSBNYWdpY1N1YigpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShpc3N1YmNsYXNzKHR5cGUodHdvLnR3byksIE1hZ2ljU3ViKSkKKworCisgICAgZGVmIHRlc3RfcGF0Y2hfc3BlYyhzZWxmKToKKyAgICAgICAgcGF0Y2hlciA9IHBhdGNoKCclcy5YJyAlIF9fbmFtZV9fLCBzcGVjPVRydWUpCisgICAgICAgIG1vY2sgPSBwYXRjaGVyLnN0YXJ0KCkKKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKHBhdGNoZXIuc3RvcCkKKworICAgICAgICBpbnN0YW5jZSA9IG1vY2soKQorICAgICAgICBtb2NrLmFzc2VydF9jYWxsZWRfb25jZV93aXRoKCkKKworICAgICAgICBzZWxmLmFzc2VydE5vdENhbGxhYmxlKGluc3RhbmNlKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGluc3RhbmNlKQorCisKKyAgICBkZWYgdGVzdF9wYXRjaF9zcGVjX3NldChzZWxmKToKKyAgICAgICAgcGF0Y2hlciA9IHBhdGNoKCclcy5YJyAlIF9fbmFtZV9fLCBzcGVjX3NldD1UcnVlKQorICAgICAgICBtb2NrID0gcGF0Y2hlci5zdGFydCgpCisgICAgICAgIHNlbGYuYWRkQ2xlYW51cChwYXRjaGVyLnN0b3ApCisKKyAgICAgICAgaW5zdGFuY2UgPSBtb2NrKCkKKyAgICAgICAgbW9jay5hc3NlcnRfY2FsbGVkX29uY2Vfd2l0aCgpCisKKyAgICAgICAgc2VsZi5hc3NlcnROb3RDYWxsYWJsZShpbnN0YW5jZSkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBpbnN0YW5jZSkKKworCisgICAgZGVmIHRlc3RfcGF0Y2hfc3BlY19pbnN0YW5jZShzZWxmKToKKyAgICAgICAgcGF0Y2hlciA9IHBhdGNoKCclcy5YJyAlIF9fbmFtZV9fLCBzcGVjPVgoKSkKKyAgICAgICAgbW9jayA9IHBhdGNoZXIuc3RhcnQoKQorICAgICAgICBzZWxmLmFkZENsZWFudXAocGF0Y2hlci5zdG9wKQorCisgICAgICAgIHNlbGYuYXNzZXJ0Tm90Q2FsbGFibGUobW9jaykKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBtb2NrKQorCisKKyAgICBkZWYgdGVzdF9wYXRjaF9zcGVjX3NldF9pbnN0YW5jZShzZWxmKToKKyAgICAgICAgcGF0Y2hlciA9IHBhdGNoKCclcy5YJyAlIF9fbmFtZV9fLCBzcGVjX3NldD1YKCkpCisgICAgICAgIG1vY2sgPSBwYXRjaGVyLnN0YXJ0KCkKKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKHBhdGNoZXIuc3RvcCkKKworICAgICAgICBzZWxmLmFzc2VydE5vdENhbGxhYmxlKG1vY2spCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgbW9jaykKKworCisgICAgZGVmIHRlc3RfcGF0Y2hfc3BlY19jYWxsYWJsZV9jbGFzcyhzZWxmKToKKyAgICAgICAgY2xhc3MgQ2FsbGFibGVYKFgpOgorICAgICAgICAgICAgZGVmIF9fY2FsbF9fKHNlbGYpOgorICAgICAgICAgICAgICAgIHBhc3MKKworICAgICAgICBjbGFzcyBTdWIoQ2FsbGFibGVYKToKKyAgICAgICAgICAgIHBhc3MKKworICAgICAgICBjbGFzcyBNdWx0aShTb21lQ2xhc3MsIFN1Yik6CisgICAgICAgICAgICBwYXNzCisKKyAgICAgICAgZm9yIGFyZyBpbiAnc3BlYycsICdzcGVjX3NldCc6CisgICAgICAgICAgICBmb3IgS2xhc3MgaW4gQ2FsbGFibGVYLCBTdWIsIE11bHRpOgorICAgICAgICAgICAgICAgIHdpdGggcGF0Y2goJyVzLlgnICUgX19uYW1lX18sICoqe2FyZzogS2xhc3N9KSBhcyBtb2NrOgorICAgICAgICAgICAgICAgICAgICBpbnN0YW5jZSA9IG1vY2soKQorICAgICAgICAgICAgICAgICAgICBtb2NrLmFzc2VydF9jYWxsZWRfb25jZV93aXRoKCkKKworICAgICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoaXNfaW5zdGFuY2UoaW5zdGFuY2UsIE1hZ2ljTW9jaykpCisgICAgICAgICAgICAgICAgICAgICMgaW5oZXJpdGVkIHNwZWMKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoQXR0cmlidXRlRXJyb3IsIGdldGF0dHIsIGluc3RhbmNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZm9vYmFyYmF6JykKKworICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSBpbnN0YW5jZSgpCisgICAgICAgICAgICAgICAgICAgICMgaW5zdGFuY2UgaXMgY2FsbGFibGUsIHJlc3VsdCBoYXMgbm8gc3BlYworICAgICAgICAgICAgICAgICAgICBpbnN0YW5jZS5hc3NlcnRfY2FsbGVkX29uY2Vfd2l0aCgpCisKKyAgICAgICAgICAgICAgICAgICAgcmVzdWx0KDMsIDIsIDEpCisgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5hc3NlcnRfY2FsbGVkX29uY2Vfd2l0aCgzLCAyLCAxKQorICAgICAgICAgICAgICAgICAgICByZXN1bHQuZm9vKDMsIDIsIDEpCisgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5mb28uYXNzZXJ0X2NhbGxlZF9vbmNlX3dpdGgoMywgMiwgMSkKKworCisgICAgZGVmIHRlc3RfY3JlYXRlX2F1dG9wc2VjKHNlbGYpOgorICAgICAgICBtb2NrID0gY3JlYXRlX2F1dG9zcGVjKFgpCisgICAgICAgIGluc3RhbmNlID0gbW9jaygpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgaW5zdGFuY2UpCisKKyAgICAgICAgbW9jayA9IGNyZWF0ZV9hdXRvc3BlYyhYKCkpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgbW9jaykKKworCisgICAgZGVmIHRlc3RfY3JlYXRlX2F1dG9zcGVjX2luc3RhbmNlKHNlbGYpOgorICAgICAgICBtb2NrID0gY3JlYXRlX2F1dG9zcGVjKFNvbWVDbGFzcywgaW5zdGFuY2U9VHJ1ZSkKKworICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIG1vY2spCisgICAgICAgIG1vY2sud2liYmxlKCkKKyAgICAgICAgbW9jay53aWJibGUuYXNzZXJ0X2NhbGxlZF9vbmNlX3dpdGgoKQorCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgbW9jay53aWJibGUsICdzb21lJywgICdhcmdzJykKZGlmZiAtLWdpdCBhL0xpYi91bml0dGVzdC90ZXN0L3Rlc3Rtb2NrL3Rlc3RoZWxwZXJzLnB5IGIvTGliL3VuaXR0ZXN0L3Rlc3QvdGVzdG1vY2svdGVzdGhlbHBlcnMucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzY3NDc3OAotLS0gL2Rldi9udWxsCisrKyBiL0xpYi91bml0dGVzdC90ZXN0L3Rlc3Rtb2NrL3Rlc3RoZWxwZXJzLnB5CkBAIC0wLDAgKzEsODM1IEBACitpbXBvcnQgdW5pdHRlc3QKKworZnJvbSB1bml0dGVzdC5tb2NrIGltcG9ydCAoCisgICAgY2FsbCwgX0NhbGwsIGNyZWF0ZV9hdXRvc3BlYywgTWFnaWNNb2NrLAorICAgIE1vY2ssIEFOWSwgX0NhbGxMaXN0LCBwYXRjaCwgUHJvcGVydHlNb2NrCispCisKK2Zyb20gZGF0ZXRpbWUgaW1wb3J0IGRhdGV0aW1lCisKK2NsYXNzIFNvbWVDbGFzcyhvYmplY3QpOgorICAgIGRlZiBvbmUoc2VsZiwgYSwgYik6CisgICAgICAgIHBhc3MKKyAgICBkZWYgdHdvKHNlbGYpOgorICAgICAgICBwYXNzCisgICAgZGVmIHRocmVlKHNlbGYsIGE9Tm9uZSk6CisgICAgICAgIHBhc3MKKworCisKK2NsYXNzIEFueVRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgorCisgICAgZGVmIHRlc3RfYW55KHNlbGYpOgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKEFOWSwgb2JqZWN0KCkpCisKKyAgICAgICAgbW9jayA9IE1vY2soKQorICAgICAgICBtb2NrKEFOWSkKKyAgICAgICAgbW9jay5hc3NlcnRfY2FsbGVkX3dpdGgoQU5ZKQorCisgICAgICAgIG1vY2sgPSBNb2NrKCkKKyAgICAgICAgbW9jayhmb289QU5ZKQorICAgICAgICBtb2NrLmFzc2VydF9jYWxsZWRfd2l0aChmb289QU5ZKQorCisgICAgZGVmIHRlc3RfcmVwcihzZWxmKToKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXByKEFOWSksICc8QU5ZPicpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKEFOWSksICc8QU5ZPicpCisKKworICAgIGRlZiB0ZXN0X2FueV9hbmRfZGF0ZXRpbWUoc2VsZik6CisgICAgICAgIG1vY2sgPSBNb2NrKCkKKyAgICAgICAgbW9jayhkYXRldGltZS5ub3coKSwgZm9vPWRhdGV0aW1lLm5vdygpKQorCisgICAgICAgIG1vY2suYXNzZXJ0X2NhbGxlZF93aXRoKEFOWSwgZm9vPUFOWSkKKworCisgICAgZGVmIHRlc3RfYW55X21vY2tfY2FsbHNfY29tcGFyaXNvbl9vcmRlcihzZWxmKToKKyAgICAgICAgbW9jayA9IE1vY2soKQorICAgICAgICBkID0gZGF0ZXRpbWUubm93KCkKKyAgICAgICAgY2xhc3MgRm9vKG9iamVjdCk6CisgICAgICAgICAgICBkZWYgX19lcV9fKHNlbGYsIG90aGVyKToKKyAgICAgICAgICAgICAgICByZXR1cm4gRmFsc2UKKyAgICAgICAgICAgIGRlZiBfX25lX18oc2VsZiwgb3RoZXIpOgorICAgICAgICAgICAgICAgIHJldHVybiBUcnVlCisKKyAgICAgICAgZm9yIGQgaW4gZGF0ZXRpbWUubm93KCksIEZvbygpOgorICAgICAgICAgICAgbW9jay5yZXNldF9tb2NrKCkKKworICAgICAgICAgICAgbW9jayhkLCBmb289ZCwgYmFyPWQpCisgICAgICAgICAgICBtb2NrLm1ldGhvZChkLCB6aW5nYT1kLCBhbHBoYT1kKQorICAgICAgICAgICAgbW9jaygpLm1ldGhvZChhMT1kLCB6OTk9ZCkKKworICAgICAgICAgICAgZXhwZWN0ZWQgPSBbCisgICAgICAgICAgICAgICAgY2FsbChBTlksIGZvbz1BTlksIGJhcj1BTlkpLAorICAgICAgICAgICAgICAgIGNhbGwubWV0aG9kKEFOWSwgemluZ2E9QU5ZLCBhbHBoYT1BTlkpLAorICAgICAgICAgICAgICAgIGNhbGwoKSwgY2FsbCgpLm1ldGhvZChhMT1BTlksIHo5OT1BTlkpCisgICAgICAgICAgICBdCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV4cGVjdGVkLCBtb2NrLm1vY2tfY2FsbHMpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vY2subW9ja19jYWxscywgZXhwZWN0ZWQpCisKKworCitjbGFzcyBDYWxsVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CisKKyAgICBkZWYgdGVzdF9jYWxsX3dpdGhfY2FsbChzZWxmKToKKyAgICAgICAga2FsbCA9IF9DYWxsKCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChrYWxsLCBfQ2FsbCgpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGthbGwsIF9DYWxsKCgnJywpKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChrYWxsLCBfQ2FsbCgoKCksKSkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoa2FsbCwgX0NhbGwoKHt9LCkpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGthbGwsIF9DYWxsKCgnJywgKCkpKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChrYWxsLCBfQ2FsbCgoJycsIHt9KSkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoa2FsbCwgX0NhbGwoKCcnLCAoKSwge30pKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChrYWxsLCBfQ2FsbCgoJ2ZvbycsKSkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoa2FsbCwgX0NhbGwoKCdiYXInLCAoKSkpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGthbGwsIF9DYWxsKCgnYmF6Jywge30pKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChrYWxsLCBfQ2FsbCgoJ3NwYW0nLCAoKSwge30pKSkKKworICAgICAgICBrYWxsID0gX0NhbGwoKCgxLCAyLCAzKSwpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGthbGwsIF9DYWxsKCgoMSwgMiwgMyksKSkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoa2FsbCwgX0NhbGwoKCcnLCAoMSwgMiwgMykpKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChrYWxsLCBfQ2FsbCgoKDEsIDIsIDMpLCB7fSkpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGthbGwsIF9DYWxsKCgnJywgKDEsIDIsIDMpLCB7fSkpKQorCisgICAgICAgIGthbGwgPSBfQ2FsbCgoKDEsIDIsIDQpLCkpCisgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwoa2FsbCwgX0NhbGwoKCcnLCAoMSwgMiwgMykpKSkKKyAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbChrYWxsLCBfQ2FsbCgoJycsICgxLCAyLCAzKSwge30pKSkKKworICAgICAgICBrYWxsID0gX0NhbGwoKCdmb28nLCAoMSwgMiwgNCksKSkKKyAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbChrYWxsLCBfQ2FsbCgoJycsICgxLCAyLCA0KSkpKQorICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKGthbGwsIF9DYWxsKCgnJywgKDEsIDIsIDQpLCB7fSkpKQorICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKGthbGwsIF9DYWxsKCgnYmFyJywgKDEsIDIsIDQpKSkpCisgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwoa2FsbCwgX0NhbGwoKCdiYXInLCAoMSwgMiwgNCksIHt9KSkpCisKKyAgICAgICAga2FsbCA9IF9DYWxsKCh7J2EnOiAzfSwpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGthbGwsIF9DYWxsKCgnJywgKCksIHsnYSc6IDN9KSkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoa2FsbCwgX0NhbGwoKCcnLCB7J2EnOiAzfSkpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGthbGwsIF9DYWxsKCgoKSwgeydhJzogM30pKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChrYWxsLCBfQ2FsbCgoeydhJzogM30sKSkpCisKKworICAgIGRlZiB0ZXN0X2VtcHR5X19DYWxsKHNlbGYpOgorICAgICAgICBhcmdzID0gX0NhbGwoKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYXJncywgKCkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYXJncywgKCdmb28nLCkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYXJncywgKCgpLCkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYXJncywgKCdmb28nLCAoKSkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYXJncywgKCdmb28nLCgpLCB7fSkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYXJncywgKCdmb28nLCB7fSkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYXJncywgKHt9LCkpCisKKworICAgIGRlZiB0ZXN0X25hbWVkX2VtcHR5X2NhbGwoc2VsZik6CisgICAgICAgIGFyZ3MgPSBfQ2FsbCgoJ2ZvbycsICgpLCB7fSkpCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChhcmdzLCAoJ2ZvbycsKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChhcmdzLCAoJ2ZvbycsICgpKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChhcmdzLCAoJ2ZvbycsKCksIHt9KSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChhcmdzLCAoJ2ZvbycsIHt9KSkKKworICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKGFyZ3MsICgoKSwpKQorICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKGFyZ3MsICgpKQorICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKGFyZ3MsICh7fSwpKQorICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKGFyZ3MsICgnYmFyJywpKQorICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKGFyZ3MsICgnYmFyJywgKCkpKQorICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKGFyZ3MsICgnYmFyJywge30pKQorCisKKyAgICBkZWYgdGVzdF9jYWxsX3dpdGhfYXJncyhzZWxmKToKKyAgICAgICAgYXJncyA9IF9DYWxsKCgoMSwgMiwgMyksIHt9KSkKKworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGFyZ3MsICgoMSwgMiwgMyksKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChhcmdzLCAoJ2ZvbycsICgxLCAyLCAzKSkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYXJncywgKCdmb28nLCAoMSwgMiwgMyksIHt9KSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChhcmdzLCAoKDEsIDIsIDMpLCB7fSkpCisKKworICAgIGRlZiB0ZXN0X25hbWVkX2NhbGxfd2l0aF9hcmdzKHNlbGYpOgorICAgICAgICBhcmdzID0gX0NhbGwoKCdmb28nLCAoMSwgMiwgMyksIHt9KSkKKworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGFyZ3MsICgnZm9vJywgKDEsIDIsIDMpKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChhcmdzLCAoJ2ZvbycsICgxLCAyLCAzKSwge30pKQorCisgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwoYXJncywgKCgxLCAyLCAzKSwpKQorICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKGFyZ3MsICgoMSwgMiwgMyksIHt9KSkKKworCisgICAgZGVmIHRlc3RfY2FsbF93aXRoX2t3YXJncyhzZWxmKToKKyAgICAgICAgYXJncyA9IF9DYWxsKCgoKSwgZGljdChhPTMsIGI9NCkpKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYXJncywgKGRpY3QoYT0zLCBiPTQpLCkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYXJncywgKCdmb28nLCBkaWN0KGE9MywgYj00KSkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYXJncywgKCdmb28nLCAoKSwgZGljdChhPTMsIGI9NCkpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGFyZ3MsICgoKSwgZGljdChhPTMsIGI9NCkpKQorCisKKyAgICBkZWYgdGVzdF9uYW1lZF9jYWxsX3dpdGhfa3dhcmdzKHNlbGYpOgorICAgICAgICBhcmdzID0gX0NhbGwoKCdmb28nLCAoKSwgZGljdChhPTMsIGI9NCkpKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYXJncywgKCdmb28nLCBkaWN0KGE9MywgYj00KSkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYXJncywgKCdmb28nLCAoKSwgZGljdChhPTMsIGI9NCkpKQorCisgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwoYXJncywgKGRpY3QoYT0zLCBiPTQpLCkpCisgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwoYXJncywgKCgpLCBkaWN0KGE9MywgYj00KSkpCisKKworICAgIGRlZiB0ZXN0X2NhbGxfd2l0aF9hcmdzX2NhbGxfZW1wdHlfbmFtZShzZWxmKToKKyAgICAgICAgYXJncyA9IF9DYWxsKCgoMSwgMiwgMyksIHt9KSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChhcmdzLCBjYWxsKDEsIDIsIDMpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNhbGwoMSwgMiwgMyksIGFyZ3MpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShjYWxsKDEsIDIsIDMpIGluIFthcmdzXSkKKworCisgICAgZGVmIHRlc3RfY2FsbF9uZShzZWxmKToKKyAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbChfQ2FsbCgoKDEsIDIsIDMpLCkpLCBjYWxsKDEsIDIpKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKF9DYWxsKCgoMSwgMiwgMyksKSkgIT0gY2FsbCgxLCAyLCAzKSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKF9DYWxsKCgoMSwgMiksIHt9KSkgIT0gY2FsbCgxLCAyLCAzKSkKKworCisgICAgZGVmIHRlc3RfY2FsbF9ub25fdHVwbGVzKHNlbGYpOgorICAgICAgICBrYWxsID0gX0NhbGwoKCgxLCAyLCAzKSwpKQorICAgICAgICBmb3IgdmFsdWUgaW4gMSwgTm9uZSwgc2VsZiwgaW50OgorICAgICAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbChrYWxsLCB2YWx1ZSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2Uoa2FsbCA9PSB2YWx1ZSkKKworCisgICAgZGVmIHRlc3RfcmVwcihzZWxmKToKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXByKF9DYWxsKCkpLCAnY2FsbCgpJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXByKF9DYWxsKCgnZm9vJywpKSksICdjYWxsLmZvbygpJykKKworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlcHIoX0NhbGwoKCgxLCAyLCAzKSwgeydhJzogJ2InfSkpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAiY2FsbCgxLCAyLCAzLCBhPSdiJykiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlcHIoX0NhbGwoKCdiYXInLCAoMSwgMiwgMyksIHsnYSc6ICdiJ30pKSksCisgICAgICAgICAgICAgICAgICAgICAgICAgImNhbGwuYmFyKDEsIDIsIDMsIGE9J2InKSIpCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXByKGNhbGwpLCAnY2FsbCcpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKGNhbGwpLCAnY2FsbCcpCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXByKGNhbGwoKSksICdjYWxsKCknKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlcHIoY2FsbCgxKSksICdjYWxsKDEpJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXByKGNhbGwoeno9J3RoaW5nJykpLCAiY2FsbCh6ej0ndGhpbmcnKSIpCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXByKGNhbGwoKS5mb28pLCAnY2FsbCgpLmZvbycpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVwcihjYWxsKDEpLmZvby5iYXIoYT0zKS5iaW5nKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAnY2FsbCgpLmZvby5iYXIoKS5iaW5nJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgIHJlcHIoY2FsbCgpLmZvbygxLCAyLCBhPTMpKSwKKyAgICAgICAgICAgICJjYWxsKCkuZm9vKDEsIDIsIGE9MykiCisgICAgICAgICkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXByKGNhbGwoKSgpKSwgImNhbGwoKSgpIikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXByKGNhbGwoMSkoMikpLCAiY2FsbCgpKDIpIikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgIHJlcHIoY2FsbCgpKCkuYmFyKCkuYmF6LmJlZXAoMSkpLAorICAgICAgICAgICAgImNhbGwoKSgpLmJhcigpLmJhei5iZWVwKDEpIgorICAgICAgICApCisKKworICAgIGRlZiB0ZXN0X2NhbGwoc2VsZik6CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY2FsbCgpLCAoJycsICgpLCB7fSkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY2FsbCgnZm9vJywgJ2JhcicsIG9uZT0zLCB0d289NCksCisgICAgICAgICAgICAgICAgICAgICAgICAgKCcnLCAoJ2ZvbycsICdiYXInKSwgeydvbmUnOiAzLCAndHdvJzogNH0pKQorCisgICAgICAgIG1vY2sgPSBNb2NrKCkKKyAgICAgICAgbW9jaygxLCAyLCAzKQorICAgICAgICBtb2NrKGE9MywgYj02KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vY2suY2FsbF9hcmdzX2xpc3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgW2NhbGwoMSwgMiwgMyksIGNhbGwoYT0zLCBiPTYpXSkKKworICAgIGRlZiB0ZXN0X2F0dHJpYnV0ZV9jYWxsKHNlbGYpOgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNhbGwuZm9vKDEpLCAoJ2ZvbycsICgxLCksIHt9KSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjYWxsLmJhci5iYXooZmlzaD0nZWdncycpLAorICAgICAgICAgICAgICAgICAgICAgICAgICgnYmFyLmJheicsICgpLCB7J2Zpc2gnOiAnZWdncyd9KSkKKworICAgICAgICBtb2NrID0gTW9jaygpCisgICAgICAgIG1vY2suZm9vKDEsIDIgLDMpCisgICAgICAgIG1vY2suYmFyLmJheihhPTMsIGI9NikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb2NrLm1ldGhvZF9jYWxscywKKyAgICAgICAgICAgICAgICAgICAgICAgICBbY2FsbC5mb28oMSwgMiwgMyksIGNhbGwuYmFyLmJheihhPTMsIGI9NildKQorCisKKyAgICBkZWYgdGVzdF9leHRlbmRlZF9jYWxsKHNlbGYpOgorICAgICAgICByZXN1bHQgPSBjYWxsKDEpLmZvbygyKS5iYXIoMywgYT00KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlc3VsdCwgKCcoKS5mb28oKS5iYXInLCAoMywpLCBkaWN0KGE9NCkpKQorCisgICAgICAgIG1vY2sgPSBNYWdpY01vY2soKQorICAgICAgICBtb2NrKDEsIDIsIGE9MywgYj00KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vY2suY2FsbF9hcmdzLCBjYWxsKDEsIDIsIGE9MywgYj00KSkKKyAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbChtb2NrLmNhbGxfYXJncywgY2FsbCgxLCAyLCAzKSkKKworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vY2suY2FsbF9hcmdzX2xpc3QsIFtjYWxsKDEsIDIsIGE9MywgYj00KV0pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9jay5tb2NrX2NhbGxzLCBbY2FsbCgxLCAyLCBhPTMsIGI9NCldKQorCisgICAgICAgIG1vY2sgPSBNYWdpY01vY2soKQorICAgICAgICBtb2NrLmZvbygxKS5iYXIoKSgpLmJhei5iZWVwKGE9NikKKworICAgICAgICBsYXN0X2NhbGwgPSBjYWxsLmZvbygxKS5iYXIoKSgpLmJhei5iZWVwKGE9NikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb2NrLm1vY2tfY2FsbHNbLTFdLCBsYXN0X2NhbGwpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9jay5tb2NrX2NhbGxzLCBsYXN0X2NhbGwuY2FsbF9saXN0KCkpCisKKworICAgIGRlZiB0ZXN0X2NhbGxfbGlzdChzZWxmKToKKyAgICAgICAgbW9jayA9IE1hZ2ljTW9jaygpCisgICAgICAgIG1vY2soMSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjYWxsKDEpLmNhbGxfbGlzdCgpLCBtb2NrLm1vY2tfY2FsbHMpCisKKyAgICAgICAgbW9jayA9IE1hZ2ljTW9jaygpCisgICAgICAgIG1vY2soMSkubWV0aG9kKDIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY2FsbCgxKS5tZXRob2QoMikuY2FsbF9saXN0KCksCisgICAgICAgICAgICAgICAgICAgICAgICAgbW9jay5tb2NrX2NhbGxzKQorCisgICAgICAgIG1vY2sgPSBNYWdpY01vY2soKQorICAgICAgICBtb2NrKDEpLm1ldGhvZCgyKSgzKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNhbGwoMSkubWV0aG9kKDIpKDMpLmNhbGxfbGlzdCgpLAorICAgICAgICAgICAgICAgICAgICAgICAgIG1vY2subW9ja19jYWxscykKKworICAgICAgICBtb2NrID0gTWFnaWNNb2NrKCkKKyAgICAgICAgaW50KG1vY2soMSkubWV0aG9kKDIpKDMpLmZvby5iYXIuYmF6KDQpKDUpKQorICAgICAgICBrYWxsID0gY2FsbCgxKS5tZXRob2QoMikoMykuZm9vLmJhci5iYXooNCkoNSkuX19pbnRfXygpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoa2FsbC5jYWxsX2xpc3QoKSwgbW9jay5tb2NrX2NhbGxzKQorCisKKyAgICBkZWYgdGVzdF9jYWxsX2FueShzZWxmKToKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjYWxsLCBBTlkpCisKKyAgICAgICAgbSA9IE1hZ2ljTW9jaygpCisgICAgICAgIGludChtKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG0ubW9ja19jYWxscywgW0FOWV0pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoW0FOWV0sIG0ubW9ja19jYWxscykKKworCisgICAgZGVmIHRlc3RfdHdvX2FyZ3NfY2FsbChzZWxmKToKKyAgICAgICAgYXJncyA9IF9DYWxsKCgoMSwgMiksIHsnYSc6IDN9KSwgdHdvPVRydWUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGFyZ3MpLCAyKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGFyZ3NbMF0sICgxLCAyKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChhcmdzWzFdLCB7J2EnOiAzfSkKKworICAgICAgICBvdGhlcl9hcmdzID0gX0NhbGwoKCgxLCAyKSwgeydhJzogM30pKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGFyZ3MsIG90aGVyX2FyZ3MpCisKKworY2xhc3MgU3BlY1NpZ25hdHVyZVRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgorCisgICAgZGVmIF9jaGVja19zb21lY2xhc3NfbW9jayhzZWxmLCBtb2NrKToKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoQXR0cmlidXRlRXJyb3IsIGdldGF0dHIsIG1vY2ssICdmb28nKQorICAgICAgICBtb2NrLm9uZSgxLCAyKQorICAgICAgICBtb2NrLm9uZS5hc3NlcnRfY2FsbGVkX3dpdGgoMSwgMikKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoQXNzZXJ0aW9uRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgIG1vY2sub25lLmFzc2VydF9jYWxsZWRfd2l0aCwgMywgNCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBtb2NrLm9uZSwgMSkKKworICAgICAgICBtb2NrLnR3bygpCisgICAgICAgIG1vY2sudHdvLmFzc2VydF9jYWxsZWRfd2l0aCgpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEFzc2VydGlvbkVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICBtb2NrLnR3by5hc3NlcnRfY2FsbGVkX3dpdGgsIDMpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgbW9jay50d28sIDEpCisKKyAgICAgICAgbW9jay50aHJlZSgpCisgICAgICAgIG1vY2sudGhyZWUuYXNzZXJ0X2NhbGxlZF93aXRoKCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoQXNzZXJ0aW9uRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgIG1vY2sudGhyZWUuYXNzZXJ0X2NhbGxlZF93aXRoLCAzKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIG1vY2sudGhyZWUsIDMsIDIpCisKKyAgICAgICAgbW9jay50aHJlZSgxKQorICAgICAgICBtb2NrLnRocmVlLmFzc2VydF9jYWxsZWRfd2l0aCgxKQorCisgICAgICAgIG1vY2sudGhyZWUoYT0xKQorICAgICAgICBtb2NrLnRocmVlLmFzc2VydF9jYWxsZWRfd2l0aChhPTEpCisKKworICAgIGRlZiB0ZXN0X2Jhc2ljKHNlbGYpOgorICAgICAgICBmb3Igc3BlYyBpbiAoU29tZUNsYXNzLCBTb21lQ2xhc3MoKSk6CisgICAgICAgICAgICBtb2NrID0gY3JlYXRlX2F1dG9zcGVjKHNwZWMpCisgICAgICAgICAgICBzZWxmLl9jaGVja19zb21lY2xhc3NfbW9jayhtb2NrKQorCisKKyAgICBkZWYgdGVzdF9jcmVhdGVfYXV0b3NwZWNfcmV0dXJuX3ZhbHVlKHNlbGYpOgorICAgICAgICBkZWYgZigpOgorICAgICAgICAgICAgcGFzcworICAgICAgICBtb2NrID0gY3JlYXRlX2F1dG9zcGVjKGYsIHJldHVybl92YWx1ZT0nZm9vJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb2NrKCksICdmb28nKQorCisgICAgICAgIGNsYXNzIEZvbyhvYmplY3QpOgorICAgICAgICAgICAgcGFzcworCisgICAgICAgIG1vY2sgPSBjcmVhdGVfYXV0b3NwZWMoRm9vLCByZXR1cm5fdmFsdWU9J2ZvbycpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9jaygpLCAnZm9vJykKKworCisgICAgZGVmIHRlc3RfbW9ja2luZ191bmJvdW5kX21ldGhvZHMoc2VsZik6CisgICAgICAgIGNsYXNzIEZvbyhvYmplY3QpOgorICAgICAgICAgICAgZGVmIGZvbyhzZWxmLCBmb28pOgorICAgICAgICAgICAgICAgIHBhc3MKKyAgICAgICAgcCA9IHBhdGNoLm9iamVjdChGb28sICdmb28nKQorICAgICAgICBtb2NrX2ZvbyA9IHAuc3RhcnQoKQorICAgICAgICBGb28oKS5mb28oMSkKKworICAgICAgICBtb2NrX2Zvby5hc3NlcnRfY2FsbGVkX3dpdGgoMSkKKworCisgICAgZGVmIHRlc3RfY3JlYXRlX2F1dG9zcGVjX3VuYm91bmRfbWV0aG9kcyhzZWxmKToKKyAgICAgICAgIyBzZWUgaXNzdWUgMTI4CisgICAgICAgICMgdGhpcyBpcyBleHBlY3RlZCB0byBmYWlsIHVudGlsIHRoZSBpc3N1ZSBpcyBmaXhlZAorICAgICAgICByZXR1cm4KKyAgICAgICAgY2xhc3MgRm9vKG9iamVjdCk6CisgICAgICAgICAgICBkZWYgZm9vKHNlbGYpOgorICAgICAgICAgICAgICAgIHBhc3MKKworICAgICAgICBrbGFzcyA9IGNyZWF0ZV9hdXRvc3BlYyhGb28pCisgICAgICAgIGluc3RhbmNlID0ga2xhc3MoKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGluc3RhbmNlLmZvbywgMSkKKworICAgICAgICAjIE5vdGU6IG5vIHR5cGUgY2hlY2tpbmcgb24gdGhlICJzZWxmIiBwYXJhbWV0ZXIKKyAgICAgICAga2xhc3MuZm9vKDEpCisgICAgICAgIGtsYXNzLmZvby5hc3NlcnRfY2FsbGVkX3dpdGgoMSkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBrbGFzcy5mb28pCisKKworICAgIGRlZiB0ZXN0X2NyZWF0ZV9hdXRvc3BlY19rZXl3b3JkX2FyZ3VtZW50cyhzZWxmKToKKyAgICAgICAgY2xhc3MgRm9vKG9iamVjdCk6CisgICAgICAgICAgICBhID0gMworICAgICAgICBtID0gY3JlYXRlX2F1dG9zcGVjKEZvbywgYT0nMycpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobS5hLCAnMycpCisKKworICAgIGRlZiB0ZXN0X2Z1bmN0aW9uX2FzX2luc3RhbmNlX2F0dHJpYnV0ZShzZWxmKToKKyAgICAgICAgb2JqID0gU29tZUNsYXNzKCkKKyAgICAgICAgZGVmIGYoYSk6CisgICAgICAgICAgICBwYXNzCisgICAgICAgIG9iai5mID0gZgorCisgICAgICAgIG1vY2sgPSBjcmVhdGVfYXV0b3NwZWMob2JqKQorICAgICAgICBtb2NrLmYoJ2JpbmcnKQorICAgICAgICBtb2NrLmYuYXNzZXJ0X2NhbGxlZF93aXRoKCdiaW5nJykKKworCisgICAgZGVmIHRlc3Rfc3BlY19hc19saXN0KHNlbGYpOgorICAgICAgICAjIGJlY2F1c2Ugc3BlYyBhcyBhIGxpc3Qgb2Ygc3RyaW5ncyBpbiB0aGUgbW9jayBjb25zdHJ1Y3RvciBtZWFucworICAgICAgICAjIHNvbWV0aGluZyB2ZXJ5IGRpZmZlcmVudCB3ZSB0cmVhdCBhIGxpc3QgaW5zdGFuY2UgYXMgdGhlIHR5cGUuCisgICAgICAgIG1vY2sgPSBjcmVhdGVfYXV0b3NwZWMoW10pCisgICAgICAgIG1vY2suYXBwZW5kKCdmb28nKQorICAgICAgICBtb2NrLmFwcGVuZC5hc3NlcnRfY2FsbGVkX3dpdGgoJ2ZvbycpCisKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoQXR0cmlidXRlRXJyb3IsIGdldGF0dHIsIG1vY2ssICdmb28nKQorCisgICAgICAgIGNsYXNzIEZvbyhvYmplY3QpOgorICAgICAgICAgICAgZm9vID0gW10KKworICAgICAgICBtb2NrID0gY3JlYXRlX2F1dG9zcGVjKEZvbykKKyAgICAgICAgbW9jay5mb28uYXBwZW5kKDMpCisgICAgICAgIG1vY2suZm9vLmFwcGVuZC5hc3NlcnRfY2FsbGVkX3dpdGgoMykKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoQXR0cmlidXRlRXJyb3IsIGdldGF0dHIsIG1vY2suZm9vLCAnZm9vJykKKworCisgICAgZGVmIHRlc3RfYXR0cmlidXRlcyhzZWxmKToKKyAgICAgICAgY2xhc3MgU3ViKFNvbWVDbGFzcyk6CisgICAgICAgICAgICBhdHRyID0gU29tZUNsYXNzKCkKKworICAgICAgICBzdWJfbW9jayA9IGNyZWF0ZV9hdXRvc3BlYyhTdWIpCisKKyAgICAgICAgZm9yIG1vY2sgaW4gKHN1Yl9tb2NrLCBzdWJfbW9jay5hdHRyKToKKyAgICAgICAgICAgIHNlbGYuX2NoZWNrX3NvbWVjbGFzc19tb2NrKG1vY2spCisKKworICAgIGRlZiB0ZXN0X2J1aWx0aW5fZnVuY3Rpb25zX3R5cGVzKHNlbGYpOgorICAgICAgICAjIHdlIGNvdWxkIHJlcGxhY2UgYnVpbHRpbiBmdW5jdGlvbnMgLyBtZXRob2RzIHdpdGggYSBmdW5jdGlvbgorICAgICAgICAjIHdpdGggKmFyZ3MgLyAqKmt3YXJncyBzaWduYXR1cmUuIFVzaW5nIHRoZSBidWlsdGluIG1ldGhvZCB0eXBlCisgICAgICAgICMgYXMgYSBzcGVjIHNlZW1zIHRvIHdvcmsgZmFpcmx5IHdlbGwgdGhvdWdoLgorICAgICAgICBjbGFzcyBCdWlsdGluU3ViY2xhc3MobGlzdCk6CisgICAgICAgICAgICBkZWYgYmFyKHNlbGYsIGFyZyk6CisgICAgICAgICAgICAgICAgcGFzcworICAgICAgICAgICAgc29ydGVkID0gc29ydGVkCisgICAgICAgICAgICBhdHRyID0ge30KKworICAgICAgICBtb2NrID0gY3JlYXRlX2F1dG9zcGVjKEJ1aWx0aW5TdWJjbGFzcykKKyAgICAgICAgbW9jay5hcHBlbmQoMykKKyAgICAgICAgbW9jay5hcHBlbmQuYXNzZXJ0X2NhbGxlZF93aXRoKDMpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEF0dHJpYnV0ZUVycm9yLCBnZXRhdHRyLCBtb2NrLmFwcGVuZCwgJ2ZvbycpCisKKyAgICAgICAgbW9jay5iYXIoJ2ZvbycpCisgICAgICAgIG1vY2suYmFyLmFzc2VydF9jYWxsZWRfd2l0aCgnZm9vJykKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBtb2NrLmJhciwgJ2ZvbycsICdiYXInKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhBdHRyaWJ1dGVFcnJvciwgZ2V0YXR0ciwgbW9jay5iYXIsICdmb28nKQorCisgICAgICAgIG1vY2suc29ydGVkKFsxLCAyXSkKKyAgICAgICAgbW9jay5zb3J0ZWQuYXNzZXJ0X2NhbGxlZF93aXRoKFsxLCAyXSkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoQXR0cmlidXRlRXJyb3IsIGdldGF0dHIsIG1vY2suc29ydGVkLCAnZm9vJykKKworICAgICAgICBtb2NrLmF0dHIucG9wKDMpCisgICAgICAgIG1vY2suYXR0ci5wb3AuYXNzZXJ0X2NhbGxlZF93aXRoKDMpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEF0dHJpYnV0ZUVycm9yLCBnZXRhdHRyLCBtb2NrLmF0dHIsICdmb28nKQorCisKKyAgICBkZWYgdGVzdF9tZXRob2RfY2FsbHMoc2VsZik6CisgICAgICAgIGNsYXNzIFN1YihTb21lQ2xhc3MpOgorICAgICAgICAgICAgYXR0ciA9IFNvbWVDbGFzcygpCisKKyAgICAgICAgbW9jayA9IGNyZWF0ZV9hdXRvc3BlYyhTdWIpCisgICAgICAgIG1vY2sub25lKDEsIDIpCisgICAgICAgIG1vY2sudHdvKCkKKyAgICAgICAgbW9jay50aHJlZSgzKQorCisgICAgICAgIGV4cGVjdGVkID0gW2NhbGwub25lKDEsIDIpLCBjYWxsLnR3bygpLCBjYWxsLnRocmVlKDMpXQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vY2subWV0aG9kX2NhbGxzLCBleHBlY3RlZCkKKworICAgICAgICBtb2NrLmF0dHIub25lKDEsIDIpCisgICAgICAgIG1vY2suYXR0ci50d28oKQorICAgICAgICBtb2NrLmF0dHIudGhyZWUoMykKKworICAgICAgICBleHBlY3RlZC5leHRlbmQoCisgICAgICAgICAgICBbY2FsbC5hdHRyLm9uZSgxLCAyKSwgY2FsbC5hdHRyLnR3bygpLCBjYWxsLmF0dHIudGhyZWUoMyldCisgICAgICAgICkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb2NrLm1ldGhvZF9jYWxscywgZXhwZWN0ZWQpCisKKworICAgIGRlZiB0ZXN0X21hZ2ljX21ldGhvZHMoc2VsZik6CisgICAgICAgIGNsYXNzIEJ1aWx0aW5TdWJjbGFzcyhsaXN0KToKKyAgICAgICAgICAgIGF0dHIgPSB7fQorCisgICAgICAgIG1vY2sgPSBjcmVhdGVfYXV0b3NwZWMoQnVpbHRpblN1YmNsYXNzKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxpc3QobW9jayksIFtdKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGludCwgbW9jaykKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBpbnQsIG1vY2suYXR0cikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsaXN0KG1vY2spLCBbXSkKKworICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2UobW9ja1snZm9vJ10sIE1hZ2ljTW9jaykKKyAgICAgICAgc2VsZi5hc3NlcnRJc0luc3RhbmNlKG1vY2suYXR0clsnZm9vJ10sIE1hZ2ljTW9jaykKKworCisgICAgZGVmIHRlc3Rfc3BlY19zZXQoc2VsZik6CisgICAgICAgIGNsYXNzIFN1YihTb21lQ2xhc3MpOgorICAgICAgICAgICAgYXR0ciA9IFNvbWVDbGFzcygpCisKKyAgICAgICAgZm9yIHNwZWMgaW4gKFN1YiwgU3ViKCkpOgorICAgICAgICAgICAgbW9jayA9IGNyZWF0ZV9hdXRvc3BlYyhzcGVjLCBzcGVjX3NldD1UcnVlKQorICAgICAgICAgICAgc2VsZi5fY2hlY2tfc29tZWNsYXNzX21vY2sobW9jaykKKworICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoQXR0cmlidXRlRXJyb3IsIHNldGF0dHIsIG1vY2ssICdmb28nLCAnYmFyJykKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEF0dHJpYnV0ZUVycm9yLCBzZXRhdHRyLCBtb2NrLmF0dHIsICdmb28nLCAnYmFyJykKKworCisgICAgZGVmIHRlc3RfZGVzY3JpcHRvcnMoc2VsZik6CisgICAgICAgIGNsYXNzIEZvbyhvYmplY3QpOgorICAgICAgICAgICAgQGNsYXNzbWV0aG9kCisgICAgICAgICAgICBkZWYgZihjbHMsIGEsIGIpOgorICAgICAgICAgICAgICAgIHBhc3MKKyAgICAgICAgICAgIEBzdGF0aWNtZXRob2QKKyAgICAgICAgICAgIGRlZiBnKGEsIGIpOgorICAgICAgICAgICAgICAgIHBhc3MKKworICAgICAgICBjbGFzcyBCYXIoRm9vKToKKyAgICAgICAgICAgIHBhc3MKKworICAgICAgICBjbGFzcyBCYXooU29tZUNsYXNzLCBCYXIpOgorICAgICAgICAgICAgcGFzcworCisgICAgICAgIGZvciBzcGVjIGluIChGb28sIEZvbygpLCBCYXIsIEJhcigpLCBCYXosIEJheigpKToKKyAgICAgICAgICAgIG1vY2sgPSBjcmVhdGVfYXV0b3NwZWMoc3BlYykKKyAgICAgICAgICAgIG1vY2suZigxLCAyKQorICAgICAgICAgICAgbW9jay5mLmFzc2VydF9jYWxsZWRfb25jZV93aXRoKDEsIDIpCisKKyAgICAgICAgICAgIG1vY2suZygzLCA0KQorICAgICAgICAgICAgbW9jay5nLmFzc2VydF9jYWxsZWRfb25jZV93aXRoKDMsIDQpCisKKworICAgIGRlZiB0ZXN0X3JlY3Vyc2l2ZShzZWxmKToKKyAgICAgICAgY2xhc3MgQShvYmplY3QpOgorICAgICAgICAgICAgZGVmIGEoc2VsZik6CisgICAgICAgICAgICAgICAgcGFzcworICAgICAgICAgICAgZm9vID0gJ2ZvbyBiYXIgYmF6JworICAgICAgICAgICAgYmFyID0gZm9vCisKKyAgICAgICAgQS5CID0gQQorICAgICAgICBtb2NrID0gY3JlYXRlX2F1dG9zcGVjKEEpCisKKyAgICAgICAgbW9jaygpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UobW9jay5CLmNhbGxlZCkKKworICAgICAgICBtb2NrLmEoKQorICAgICAgICBtb2NrLkIuYSgpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9jay5tZXRob2RfY2FsbHMsIFtjYWxsLmEoKSwgY2FsbC5CLmEoKV0pCisKKyAgICAgICAgc2VsZi5hc3NlcnRJcyhBLmZvbywgQS5iYXIpCisgICAgICAgIHNlbGYuYXNzZXJ0SXNOb3QobW9jay5mb28sIG1vY2suYmFyKQorICAgICAgICBtb2NrLmZvby5sb3dlcigpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEFzc2VydGlvbkVycm9yLCBtb2NrLmJhci5sb3dlci5hc3NlcnRfY2FsbGVkX3dpdGgpCisKKworICAgIGRlZiB0ZXN0X3NwZWNfaW5oZXJpdGFuY2VfZm9yX2NsYXNzZXMoc2VsZik6CisgICAgICAgIGNsYXNzIEZvbyhvYmplY3QpOgorICAgICAgICAgICAgZGVmIGEoc2VsZik6CisgICAgICAgICAgICAgICAgcGFzcworICAgICAgICAgICAgY2xhc3MgQmFyKG9iamVjdCk6CisgICAgICAgICAgICAgICAgZGVmIGYoc2VsZik6CisgICAgICAgICAgICAgICAgICAgIHBhc3MKKworICAgICAgICBjbGFzc19tb2NrID0gY3JlYXRlX2F1dG9zcGVjKEZvbykKKworICAgICAgICBzZWxmLmFzc2VydElzTm90KGNsYXNzX21vY2ssIGNsYXNzX21vY2soKSkKKworICAgICAgICBmb3IgdGhpc19tb2NrIGluIGNsYXNzX21vY2ssIGNsYXNzX21vY2soKToKKyAgICAgICAgICAgIHRoaXNfbW9jay5hKCkKKyAgICAgICAgICAgIHRoaXNfbW9jay5hLmFzc2VydF9jYWxsZWRfd2l0aCgpCisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIHRoaXNfbW9jay5hLCAnZm9vJykKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEF0dHJpYnV0ZUVycm9yLCBnZXRhdHRyLCB0aGlzX21vY2ssICdiJykKKworICAgICAgICBpbnN0YW5jZV9tb2NrID0gY3JlYXRlX2F1dG9zcGVjKEZvbygpKQorICAgICAgICBpbnN0YW5jZV9tb2NrLmEoKQorICAgICAgICBpbnN0YW5jZV9tb2NrLmEuYXNzZXJ0X2NhbGxlZF93aXRoKCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBpbnN0YW5jZV9tb2NrLmEsICdmb28nKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhBdHRyaWJ1dGVFcnJvciwgZ2V0YXR0ciwgaW5zdGFuY2VfbW9jaywgJ2InKQorCisgICAgICAgICMgVGhlIHJldHVybiB2YWx1ZSBpc24ndCBpc24ndCBjYWxsYWJsZQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGluc3RhbmNlX21vY2spCisKKyAgICAgICAgaW5zdGFuY2VfbW9jay5CYXIuZigpCisgICAgICAgIGluc3RhbmNlX21vY2suQmFyLmYuYXNzZXJ0X2NhbGxlZF93aXRoKCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoQXR0cmlidXRlRXJyb3IsIGdldGF0dHIsIGluc3RhbmNlX21vY2suQmFyLCAnZycpCisKKyAgICAgICAgaW5zdGFuY2VfbW9jay5CYXIoKS5mKCkKKyAgICAgICAgaW5zdGFuY2VfbW9jay5CYXIoKS5mLmFzc2VydF9jYWxsZWRfd2l0aCgpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEF0dHJpYnV0ZUVycm9yLCBnZXRhdHRyLCBpbnN0YW5jZV9tb2NrLkJhcigpLCAnZycpCisKKworICAgIGRlZiB0ZXN0X2luaGVyaXQoc2VsZik6CisgICAgICAgIGNsYXNzIEZvbyhvYmplY3QpOgorICAgICAgICAgICAgYSA9IDMKKworICAgICAgICBGb28uRm9vID0gRm9vCisKKyAgICAgICAgIyBjbGFzcworICAgICAgICBtb2NrID0gY3JlYXRlX2F1dG9zcGVjKEZvbykKKyAgICAgICAgaW5zdGFuY2UgPSBtb2NrKCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoQXR0cmlidXRlRXJyb3IsIGdldGF0dHIsIGluc3RhbmNlLCAnYicpCisKKyAgICAgICAgYXR0cl9pbnN0YW5jZSA9IG1vY2suRm9vKCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoQXR0cmlidXRlRXJyb3IsIGdldGF0dHIsIGF0dHJfaW5zdGFuY2UsICdiJykKKworICAgICAgICAjIGluc3RhbmNlCisgICAgICAgIG1vY2sgPSBjcmVhdGVfYXV0b3NwZWMoRm9vKCkpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEF0dHJpYnV0ZUVycm9yLCBnZXRhdHRyLCBtb2NrLCAnYicpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgbW9jaykKKworICAgICAgICAjIGF0dHJpYnV0ZSBpbnN0YW5jZQorICAgICAgICBjYWxsX3Jlc3VsdCA9IG1vY2suRm9vKCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoQXR0cmlidXRlRXJyb3IsIGdldGF0dHIsIGNhbGxfcmVzdWx0LCAnYicpCisKKworICAgIGRlZiB0ZXN0X2J1aWx0aW5zKHNlbGYpOgorICAgICAgICAjIHVzZWQgdG8gZmFpbCB3aXRoIGluZmluaXRlIHJlY3Vyc2lvbgorICAgICAgICBjcmVhdGVfYXV0b3NwZWMoMSkKKworICAgICAgICBjcmVhdGVfYXV0b3NwZWMoaW50KQorICAgICAgICBjcmVhdGVfYXV0b3NwZWMoJ2ZvbycpCisgICAgICAgIGNyZWF0ZV9hdXRvc3BlYyhzdHIpCisgICAgICAgIGNyZWF0ZV9hdXRvc3BlYyh7fSkKKyAgICAgICAgY3JlYXRlX2F1dG9zcGVjKGRpY3QpCisgICAgICAgIGNyZWF0ZV9hdXRvc3BlYyhbXSkKKyAgICAgICAgY3JlYXRlX2F1dG9zcGVjKGxpc3QpCisgICAgICAgIGNyZWF0ZV9hdXRvc3BlYyhzZXQoKSkKKyAgICAgICAgY3JlYXRlX2F1dG9zcGVjKHNldCkKKyAgICAgICAgY3JlYXRlX2F1dG9zcGVjKDEuMCkKKyAgICAgICAgY3JlYXRlX2F1dG9zcGVjKGZsb2F0KQorICAgICAgICBjcmVhdGVfYXV0b3NwZWMoMWopCisgICAgICAgIGNyZWF0ZV9hdXRvc3BlYyhjb21wbGV4KQorICAgICAgICBjcmVhdGVfYXV0b3NwZWMoRmFsc2UpCisgICAgICAgIGNyZWF0ZV9hdXRvc3BlYyhUcnVlKQorCisKKyAgICBkZWYgdGVzdF9mdW5jdGlvbihzZWxmKToKKyAgICAgICAgZGVmIGYoYSwgYik6CisgICAgICAgICAgICBwYXNzCisKKyAgICAgICAgbW9jayA9IGNyZWF0ZV9hdXRvc3BlYyhmKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIG1vY2spCisgICAgICAgIG1vY2soMSwgMikKKyAgICAgICAgbW9jay5hc3NlcnRfY2FsbGVkX3dpdGgoMSwgMikKKworICAgICAgICBmLmYgPSBmCisgICAgICAgIG1vY2sgPSBjcmVhdGVfYXV0b3NwZWMoZikKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBtb2NrLmYpCisgICAgICAgIG1vY2suZigzLCA0KQorICAgICAgICBtb2NrLmYuYXNzZXJ0X2NhbGxlZF93aXRoKDMsIDQpCisKKworICAgIGRlZiB0ZXN0X3NpZ25hdHVyZV9jbGFzcyhzZWxmKToKKyAgICAgICAgY2xhc3MgRm9vKG9iamVjdCk6CisgICAgICAgICAgICBkZWYgX19pbml0X18oc2VsZiwgYSwgYj0zKToKKyAgICAgICAgICAgICAgICBwYXNzCisKKyAgICAgICAgbW9jayA9IGNyZWF0ZV9hdXRvc3BlYyhGb28pCisKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBtb2NrKQorICAgICAgICBtb2NrKDEpCisgICAgICAgIG1vY2suYXNzZXJ0X2NhbGxlZF9vbmNlX3dpdGgoMSkKKworICAgICAgICBtb2NrKDQsIDUpCisgICAgICAgIG1vY2suYXNzZXJ0X2NhbGxlZF93aXRoKDQsIDUpCisKKworICAgIGRlZiB0ZXN0X2NsYXNzX3dpdGhfbm9faW5pdChzZWxmKToKKyAgICAgICAgIyB0aGlzIHVzZWQgdG8gcmFpc2UgYW4gZXhjZXB0aW9uCisgICAgICAgICMgZHVlIHRvIHRyeWluZyB0byBnZXQgYSBzaWduYXR1cmUgZnJvbSBvYmplY3QuX19pbml0X18KKyAgICAgICAgY2xhc3MgRm9vKG9iamVjdCk6CisgICAgICAgICAgICBwYXNzCisgICAgICAgIGNyZWF0ZV9hdXRvc3BlYyhGb28pCisKKworICAgIGRlZiB0ZXN0X3NpZ25hdHVyZV9jYWxsYWJsZShzZWxmKToKKyAgICAgICAgY2xhc3MgQ2FsbGFibGUob2JqZWN0KToKKyAgICAgICAgICAgIGRlZiBfX2luaXRfXyhzZWxmKToKKyAgICAgICAgICAgICAgICBwYXNzCisgICAgICAgICAgICBkZWYgX19jYWxsX18oc2VsZiwgYSk6CisgICAgICAgICAgICAgICAgcGFzcworCisgICAgICAgIG1vY2sgPSBjcmVhdGVfYXV0b3NwZWMoQ2FsbGFibGUpCisgICAgICAgIG1vY2soKQorICAgICAgICBtb2NrLmFzc2VydF9jYWxsZWRfb25jZV93aXRoKCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBtb2NrLCAnYScpCisKKyAgICAgICAgaW5zdGFuY2UgPSBtb2NrKCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBpbnN0YW5jZSkKKyAgICAgICAgaW5zdGFuY2UoYT0nYScpCisgICAgICAgIGluc3RhbmNlLmFzc2VydF9jYWxsZWRfb25jZV93aXRoKGE9J2EnKQorICAgICAgICBpbnN0YW5jZSgnYScpCisgICAgICAgIGluc3RhbmNlLmFzc2VydF9jYWxsZWRfd2l0aCgnYScpCisKKyAgICAgICAgbW9jayA9IGNyZWF0ZV9hdXRvc3BlYyhDYWxsYWJsZSgpKQorICAgICAgICBtb2NrKGE9J2EnKQorICAgICAgICBtb2NrLmFzc2VydF9jYWxsZWRfb25jZV93aXRoKGE9J2EnKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIG1vY2spCisgICAgICAgIG1vY2soJ2EnKQorICAgICAgICBtb2NrLmFzc2VydF9jYWxsZWRfd2l0aCgnYScpCisKKworICAgIGRlZiB0ZXN0X3NpZ25hdHVyZV9ub25jYWxsYWJsZShzZWxmKToKKyAgICAgICAgY2xhc3MgTm9uQ2FsbGFibGUob2JqZWN0KToKKyAgICAgICAgICAgIGRlZiBfX2luaXRfXyhzZWxmKToKKyAgICAgICAgICAgICAgICBwYXNzCisKKyAgICAgICAgbW9jayA9IGNyZWF0ZV9hdXRvc3BlYyhOb25DYWxsYWJsZSkKKyAgICAgICAgaW5zdGFuY2UgPSBtb2NrKCkKKyAgICAgICAgbW9jay5hc3NlcnRfY2FsbGVkX29uY2Vfd2l0aCgpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgbW9jaywgJ2EnKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGluc3RhbmNlKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGluc3RhbmNlLCAnYScpCisKKyAgICAgICAgbW9jayA9IGNyZWF0ZV9hdXRvc3BlYyhOb25DYWxsYWJsZSgpKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIG1vY2spCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgbW9jaywgJ2EnKQorCisKKyAgICBkZWYgdGVzdF9jcmVhdGVfYXV0b3NwZWNfbm9uZShzZWxmKToKKyAgICAgICAgY2xhc3MgRm9vKG9iamVjdCk6CisgICAgICAgICAgICBiYXIgPSBOb25lCisKKyAgICAgICAgbW9jayA9IGNyZWF0ZV9hdXRvc3BlYyhGb28pCisgICAgICAgIG5vbmUgPSBtb2NrLmJhcgorICAgICAgICBzZWxmLmFzc2VydE5vdElzSW5zdGFuY2Uobm9uZSwgdHlwZShOb25lKSkKKworICAgICAgICBub25lLmZvbygpCisgICAgICAgIG5vbmUuZm9vLmFzc2VydF9jYWxsZWRfb25jZV93aXRoKCkKKworCisgICAgZGVmIHRlc3RfYXV0b3NwZWNfZnVuY3Rpb25zX3dpdGhfc2VsZl9pbl9vZGRfcGxhY2Uoc2VsZik6CisgICAgICAgIGNsYXNzIEZvbyhvYmplY3QpOgorICAgICAgICAgICAgZGVmIGYoYSwgc2VsZik6CisgICAgICAgICAgICAgICAgcGFzcworCisgICAgICAgIGEgPSBjcmVhdGVfYXV0b3NwZWMoRm9vKQorICAgICAgICBhLmYoc2VsZj0xMCkKKyAgICAgICAgYS5mLmFzc2VydF9jYWxsZWRfd2l0aChzZWxmPTEwKQorCisKKyAgICBkZWYgdGVzdF9hdXRvc3BlY19wcm9wZXJ0eShzZWxmKToKKyAgICAgICAgY2xhc3MgRm9vKG9iamVjdCk6CisgICAgICAgICAgICBAcHJvcGVydHkKKyAgICAgICAgICAgIGRlZiBmb28oc2VsZik6CisgICAgICAgICAgICAgICAgcmV0dXJuIDMKKworICAgICAgICBmb28gPSBjcmVhdGVfYXV0b3NwZWMoRm9vKQorICAgICAgICBtb2NrX3Byb3BlcnR5ID0gZm9vLmZvbworCisgICAgICAgICMgbm8gc3BlYyBvbiBwcm9wZXJ0aWVzCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShpc2luc3RhbmNlKG1vY2tfcHJvcGVydHksIE1hZ2ljTW9jaykpCisgICAgICAgIG1vY2tfcHJvcGVydHkoMSwgMiwgMykKKyAgICAgICAgbW9ja19wcm9wZXJ0eS5hYmMoNCwgNSwgNikKKyAgICAgICAgbW9ja19wcm9wZXJ0eS5hc3NlcnRfY2FsbGVkX29uY2Vfd2l0aCgxLCAyLCAzKQorICAgICAgICBtb2NrX3Byb3BlcnR5LmFiYy5hc3NlcnRfY2FsbGVkX29uY2Vfd2l0aCg0LCA1LCA2KQorCisKKyAgICBkZWYgdGVzdF9hdXRvc3BlY19zbG90cyhzZWxmKToKKyAgICAgICAgY2xhc3MgRm9vKG9iamVjdCk6CisgICAgICAgICAgICBfX3Nsb3RzX18gPSBbJ2EnXQorCisgICAgICAgIGZvbyA9IGNyZWF0ZV9hdXRvc3BlYyhGb28pCisgICAgICAgIG1vY2tfc2xvdCA9IGZvby5hCisKKyAgICAgICAgIyBubyBzcGVjIG9uIHNsb3RzCisgICAgICAgIG1vY2tfc2xvdCgxLCAyLCAzKQorICAgICAgICBtb2NrX3Nsb3QuYWJjKDQsIDUsIDYpCisgICAgICAgIG1vY2tfc2xvdC5hc3NlcnRfY2FsbGVkX29uY2Vfd2l0aCgxLCAyLCAzKQorICAgICAgICBtb2NrX3Nsb3QuYWJjLmFzc2VydF9jYWxsZWRfb25jZV93aXRoKDQsIDUsIDYpCisKKworY2xhc3MgVGVzdENhbGxMaXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKKworICAgIGRlZiB0ZXN0X2FyZ3NfbGlzdF9jb250YWluc19jYWxsX2xpc3Qoc2VsZik6CisgICAgICAgIG1vY2sgPSBNb2NrKCkKKyAgICAgICAgc2VsZi5hc3NlcnRJc0luc3RhbmNlKG1vY2suY2FsbF9hcmdzX2xpc3QsIF9DYWxsTGlzdCkKKworICAgICAgICBtb2NrKDEsIDIpCisgICAgICAgIG1vY2soYT0zKQorICAgICAgICBtb2NrKDMsIDQpCisgICAgICAgIG1vY2soYj02KQorCisgICAgICAgIGZvciBrYWxsIGluIGNhbGwoMSwgMiksIGNhbGwoYT0zKSwgY2FsbCgzLCA0KSwgY2FsbChiPTYpOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGthbGwgaW4gbW9jay5jYWxsX2FyZ3NfbGlzdCkKKworICAgICAgICBjYWxscyA9IFtjYWxsKGE9MyksIGNhbGwoMywgNCldCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShjYWxscyBpbiBtb2NrLmNhbGxfYXJnc19saXN0KQorICAgICAgICBjYWxscyA9IFtjYWxsKDEsIDIpLCBjYWxsKGE9MyldCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShjYWxscyBpbiBtb2NrLmNhbGxfYXJnc19saXN0KQorICAgICAgICBjYWxscyA9IFtjYWxsKDMsIDQpLCBjYWxsKGI9NildCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShjYWxscyBpbiBtb2NrLmNhbGxfYXJnc19saXN0KQorICAgICAgICBjYWxscyA9IFtjYWxsKDMsIDQpXQorICAgICAgICBzZWxmLmFzc2VydFRydWUoY2FsbHMgaW4gbW9jay5jYWxsX2FyZ3NfbGlzdCkKKworICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGNhbGwoJ2Zpc2gnKSBpbiBtb2NrLmNhbGxfYXJnc19saXN0KQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKFtjYWxsKCdmaXNoJyldIGluIG1vY2suY2FsbF9hcmdzX2xpc3QpCisKKworICAgIGRlZiB0ZXN0X2NhbGxfbGlzdF9zdHIoc2VsZik6CisgICAgICAgIG1vY2sgPSBNb2NrKCkKKyAgICAgICAgbW9jaygxLCAyKQorICAgICAgICBtb2NrLmZvbyhhPTMpCisgICAgICAgIG1vY2suZm9vLmJhcigpLmJheignZmlzaCcsIGNhdD0nZG9nJykKKworICAgICAgICBleHBlY3RlZCA9ICgKKyAgICAgICAgICAgICJbY2FsbCgxLCAyKSxcbiIKKyAgICAgICAgICAgICIgY2FsbC5mb28oYT0zKSxcbiIKKyAgICAgICAgICAgICIgY2FsbC5mb28uYmFyKCksXG4iCisgICAgICAgICAgICAiIGNhbGwuZm9vLmJhcigpLmJheignZmlzaCcsIGNhdD0nZG9nJyldIgorICAgICAgICApCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKG1vY2subW9ja19jYWxscyksIGV4cGVjdGVkKQorCisKKyAgICBkZWYgdGVzdF9wcm9wZXJ0eW1vY2soc2VsZik6CisgICAgICAgIHAgPSBwYXRjaCgnJXMuU29tZUNsYXNzLm9uZScgJSBfX25hbWVfXywgbmV3X2NhbGxhYmxlPVByb3BlcnR5TW9jaykKKyAgICAgICAgbW9jayA9IHAuc3RhcnQoKQorICAgICAgICB0cnk6CisgICAgICAgICAgICBTb21lQ2xhc3Mub25lCisgICAgICAgICAgICBtb2NrLmFzc2VydF9jYWxsZWRfb25jZV93aXRoKCkKKworICAgICAgICAgICAgcyA9IFNvbWVDbGFzcygpCisgICAgICAgICAgICBzLm9uZQorICAgICAgICAgICAgbW9jay5hc3NlcnRfY2FsbGVkX3dpdGgoKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb2NrLm1vY2tfY2FsbHMsIFtjYWxsKCksIGNhbGwoKV0pCisKKyAgICAgICAgICAgIHMub25lID0gMworICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb2NrLm1vY2tfY2FsbHMsIFtjYWxsKCksIGNhbGwoKSwgY2FsbCgzKV0pCisgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICBwLnN0b3AoKQorCisKK2lmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CisgICAgdW5pdHRlc3QubWFpbigpCmRpZmYgLS1naXQgYS9MaWIvdW5pdHRlc3QvdGVzdC90ZXN0bW9jay90ZXN0bWFnaWNtZXRob2RzLnB5IGIvTGliL3VuaXR0ZXN0L3Rlc3QvdGVzdG1vY2svdGVzdG1hZ2ljbWV0aG9kcy5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NWQyNzExCi0tLSAvZGV2L251bGwKKysrIGIvTGliL3VuaXR0ZXN0L3Rlc3QvdGVzdG1vY2svdGVzdG1hZ2ljbWV0aG9kcy5weQpAQCAtMCwwICsxLDM4MiBAQAoraW1wb3J0IHVuaXR0ZXN0CitpbXBvcnQgaW5zcGVjdAoraW1wb3J0IHN5cworZnJvbSB1bml0dGVzdC5tb2NrIGltcG9ydCBNb2NrLCBNYWdpY01vY2ssIF9tYWdpY3MKKworCisKK2NsYXNzIFRlc3RNb2NraW5nTWFnaWNNZXRob2RzKHVuaXR0ZXN0LlRlc3RDYXNlKToKKworICAgIGRlZiB0ZXN0X2RlbGV0aW5nX21hZ2ljX21ldGhvZHMoc2VsZik6CisgICAgICAgIG1vY2sgPSBNb2NrKCkKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShoYXNhdHRyKG1vY2ssICdfX2dldGl0ZW1fXycpKQorCisgICAgICAgIG1vY2suX19nZXRpdGVtX18gPSBNb2NrKCkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGhhc2F0dHIobW9jaywgJ19fZ2V0aXRlbV9fJykpCisKKyAgICAgICAgZGVsIG1vY2suX19nZXRpdGVtX18KKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShoYXNhdHRyKG1vY2ssICdfX2dldGl0ZW1fXycpKQorCisKKyAgICBkZWYgdGVzdF9tYWdpY21vY2tfZGVsKHNlbGYpOgorICAgICAgICBtb2NrID0gTWFnaWNNb2NrKCkKKyAgICAgICAgIyBiZWZvcmUgdXNpbmcgZ2V0aXRlbQorICAgICAgICBkZWwgbW9jay5fX2dldGl0ZW1fXworICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGxhbWJkYTogbW9ja1snZm9vJ10pCisKKyAgICAgICAgbW9jayA9IE1hZ2ljTW9jaygpCisgICAgICAgICMgdGhpcyB0aW1lIHVzZSBpdCBmaXJzdAorICAgICAgICBtb2NrWydmb28nXQorICAgICAgICBkZWwgbW9jay5fX2dldGl0ZW1fXworICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGxhbWJkYTogbW9ja1snZm9vJ10pCisKKworICAgIGRlZiB0ZXN0X21hZ2ljX21ldGhvZF93cmFwcGluZyhzZWxmKToKKyAgICAgICAgbW9jayA9IE1vY2soKQorICAgICAgICBkZWYgZihzZWxmLCBuYW1lKToKKyAgICAgICAgICAgIHJldHVybiBzZWxmLCAnZmlzaCcKKworICAgICAgICBtb2NrLl9fZ2V0aXRlbV9fID0gZgorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKG1vY2suX19nZXRpdGVtX18gaXMgZikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb2NrWydmb28nXSwgKG1vY2ssICdmaXNoJykpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9jay5fX2dldGl0ZW1fXygnZm9vJyksIChtb2NrLCAnZmlzaCcpKQorCisgICAgICAgIG1vY2suX19nZXRpdGVtX18gPSBtb2NrCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShtb2NrLl9fZ2V0aXRlbV9fIGlzIG1vY2spCisKKworICAgIGRlZiB0ZXN0X21hZ2ljX21ldGhvZHNfaXNvbGF0ZWRfYmV0d2Vlbl9tb2NrcyhzZWxmKToKKyAgICAgICAgbW9jazEgPSBNb2NrKCkKKyAgICAgICAgbW9jazIgPSBNb2NrKCkKKworICAgICAgICBtb2NrMS5fX2l0ZXJfXyA9IE1vY2socmV0dXJuX3ZhbHVlPWl0ZXIoW10pKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxpc3QobW9jazEpLCBbXSkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBsYW1iZGE6IGxpc3QobW9jazIpKQorCisKKyAgICBkZWYgdGVzdF9yZXByKHNlbGYpOgorICAgICAgICBtb2NrID0gTW9jaygpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVwcihtb2NrKSwgIjxNb2NrIGlkPSclcyc+IiAlIGlkKG1vY2spKQorICAgICAgICBtb2NrLl9fcmVwcl9fID0gbGFtYmRhIHM6ICdmb28nCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVwcihtb2NrKSwgJ2ZvbycpCisKKworICAgIGRlZiB0ZXN0X3N0cihzZWxmKToKKyAgICAgICAgbW9jayA9IE1vY2soKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cihtb2NrKSwgb2JqZWN0Ll9fc3RyX18obW9jaykpCisgICAgICAgIG1vY2suX19zdHJfXyA9IGxhbWJkYSBzOiAnZm9vJworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cihtb2NrKSwgJ2ZvbycpCisKKworICAgIGRlZiB0ZXN0X2RpY3RfbWV0aG9kcyhzZWxmKToKKyAgICAgICAgbW9jayA9IE1vY2soKQorCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgbGFtYmRhOiBtb2NrWydmb28nXSkKKyAgICAgICAgZGVmIF9kZWwoKToKKyAgICAgICAgICAgIGRlbCBtb2NrWydmb28nXQorICAgICAgICBkZWYgX3NldCgpOgorICAgICAgICAgICAgbW9ja1snZm9vJ10gPSAzCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgX2RlbCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBfc2V0KQorCisgICAgICAgIF9kaWN0ID0ge30KKyAgICAgICAgZGVmIGdldGl0ZW0ocywgbmFtZSk6CisgICAgICAgICAgICByZXR1cm4gX2RpY3RbbmFtZV0KKyAgICAgICAgZGVmIHNldGl0ZW0ocywgbmFtZSwgdmFsdWUpOgorICAgICAgICAgICAgX2RpY3RbbmFtZV0gPSB2YWx1ZQorICAgICAgICBkZWYgZGVsaXRlbShzLCBuYW1lKToKKyAgICAgICAgICAgIGRlbCBfZGljdFtuYW1lXQorCisgICAgICAgIG1vY2suX19zZXRpdGVtX18gPSBzZXRpdGVtCisgICAgICAgIG1vY2suX19nZXRpdGVtX18gPSBnZXRpdGVtCisgICAgICAgIG1vY2suX19kZWxpdGVtX18gPSBkZWxpdGVtCisKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoS2V5RXJyb3IsIGxhbWJkYTogbW9ja1snZm9vJ10pCisgICAgICAgIG1vY2tbJ2ZvbyddID0gJ2JhcicKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChfZGljdCwgeydmb28nOiAnYmFyJ30pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9ja1snZm9vJ10sICdiYXInKQorICAgICAgICBkZWwgbW9ja1snZm9vJ10KKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChfZGljdCwge30pCisKKworICAgIGRlZiB0ZXN0X251bWVyaWMoc2VsZik6CisgICAgICAgIG9yaWdpbmFsID0gbW9jayA9IE1vY2soKQorICAgICAgICBtb2NrLnZhbHVlID0gMAorCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgbGFtYmRhOiBtb2NrICsgMykKKworICAgICAgICBkZWYgYWRkKHNlbGYsIG90aGVyKToKKyAgICAgICAgICAgIG1vY2sudmFsdWUgKz0gb3RoZXIKKyAgICAgICAgICAgIHJldHVybiBzZWxmCisgICAgICAgIG1vY2suX19hZGRfXyA9IGFkZAorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vY2sgKyAzLCBtb2NrKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vY2sudmFsdWUsIDMpCisKKyAgICAgICAgZGVsIG1vY2suX19hZGRfXworICAgICAgICBkZWYgaWFkZChtb2NrKToKKyAgICAgICAgICAgIG1vY2sgKz0gMworICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGlhZGQsIG1vY2spCisgICAgICAgIG1vY2suX19pYWRkX18gPSBhZGQKKyAgICAgICAgbW9jayArPSA2CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9jaywgb3JpZ2luYWwpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9jay52YWx1ZSwgOSkKKworICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGxhbWJkYTogMyArIG1vY2spCisgICAgICAgIG1vY2suX19yYWRkX18gPSBhZGQKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCg3ICsgbW9jaywgbW9jaykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb2NrLnZhbHVlLCAxNikKKworCisgICAgZGVmIHRlc3RfaGFzaChzZWxmKToKKyAgICAgICAgbW9jayA9IE1vY2soKQorICAgICAgICAjIHRlc3QgZGVsZWdhdGlvbgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGhhc2gobW9jayksIE1vY2suX19oYXNoX18obW9jaykpCisKKyAgICAgICAgZGVmIF9oYXNoKHMpOgorICAgICAgICAgICAgcmV0dXJuIDMKKyAgICAgICAgbW9jay5fX2hhc2hfXyA9IF9oYXNoCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaGFzaChtb2NrKSwgMykKKworCisgICAgZGVmIHRlc3Rfbm9uemVybyhzZWxmKToKKyAgICAgICAgbSA9IE1vY2soKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoYm9vbChtKSkKKworICAgICAgICBtLl9fYm9vbF9fID0gbGFtYmRhIHM6IEZhbHNlCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoYm9vbChtKSkKKworCisgICAgZGVmIHRlc3RfY29tcGFyaXNvbihzZWxmKToKKyAgICAgICAgbW9jayA9IE1vY2soKQorICAgICAgICBkZWYgY29tcChzLCBvKToKKyAgICAgICAgICAgIHJldHVybiBUcnVlCisgICAgICAgIG1vY2suX19sdF9fID0gbW9jay5fX2d0X18gPSBtb2NrLl9fbGVfXyA9IG1vY2suX19nZV9fID0gY29tcAorICAgICAgICBzZWxmLiBhc3NlcnRUcnVlKG1vY2sgPCAzKQorICAgICAgICBzZWxmLiBhc3NlcnRUcnVlKG1vY2sgPiAzKQorICAgICAgICBzZWxmLiBhc3NlcnRUcnVlKG1vY2sgPD0gMykKKyAgICAgICAgc2VsZi4gYXNzZXJ0VHJ1ZShtb2NrID49IDMpCisKKworICAgIGRlZiB0ZXN0X2VxdWFsaXR5KHNlbGYpOgorICAgICAgICBmb3IgbW9jayBpbiBNb2NrKCksIE1hZ2ljTW9jaygpOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb2NrID09IG1vY2ssIFRydWUpCisgICAgICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2UobW9jayA9PSBtb2NrLCBib29sKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb2NrICE9IG1vY2ssIEZhbHNlKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRJc0luc3RhbmNlKG1vY2sgIT0gbW9jaywgYm9vbCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9jayA9PSBvYmplY3QoKSwgRmFsc2UpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vY2sgIT0gb2JqZWN0KCksIFRydWUpCisKKyAgICAgICAgICAgIGRlZiBlcShzZWxmLCBvdGhlcik6CisgICAgICAgICAgICAgICAgcmV0dXJuIG90aGVyID09IDMKKyAgICAgICAgICAgIG1vY2suX19lcV9fID0gZXEKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShtb2NrID09IDMpCisgICAgICAgICAgICBzZWxmLmFzc2VydEZhbHNlKG1vY2sgPT0gNCkKKworICAgICAgICAgICAgZGVmIG5lKHNlbGYsIG90aGVyKToKKyAgICAgICAgICAgICAgICByZXR1cm4gb3RoZXIgPT0gMworICAgICAgICAgICAgbW9jay5fX25lX18gPSBuZQorICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG1vY2sgIT0gMykKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UobW9jayAhPSA0KQorCisgICAgICAgIG1vY2sgPSBNYWdpY01vY2soKQorICAgICAgICBtb2NrLl9fZXFfXy5yZXR1cm5fdmFsdWUgPSBUcnVlCisgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShtb2NrID09IDMsIGJvb2wpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9jayA9PSAzLCBUcnVlKQorCisgICAgICAgIG1vY2suX19uZV9fLnJldHVybl92YWx1ZSA9IEZhbHNlCisgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShtb2NrICE9IDMsIGJvb2wpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9jayAhPSAzLCBGYWxzZSkKKworCisgICAgZGVmIHRlc3RfbGVuX2NvbnRhaW5zX2l0ZXIoc2VsZik6CisgICAgICAgIG1vY2sgPSBNb2NrKCkKKworICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGxlbiwgbW9jaykKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBpdGVyLCBtb2NrKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGxhbWJkYTogJ2ZvbycgaW4gbW9jaykKKworICAgICAgICBtb2NrLl9fbGVuX18gPSBsYW1iZGEgczogNgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihtb2NrKSwgNikKKworICAgICAgICBtb2NrLl9fY29udGFpbnNfXyA9IGxhbWJkYSBzLCBvOiBvID09IDMKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKDMgaW4gbW9jaykKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZSg2IGluIG1vY2spCisKKyAgICAgICAgbW9jay5fX2l0ZXJfXyA9IGxhbWJkYSBzOiBpdGVyKCdmb29iYXJiYXonKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxpc3QobW9jayksIGxpc3QoJ2Zvb2JhcmJheicpKQorCisKKyAgICBkZWYgdGVzdF9tYWdpY21vY2soc2VsZik6CisgICAgICAgIG1vY2sgPSBNYWdpY01vY2soKQorCisgICAgICAgIG1vY2suX19pdGVyX18ucmV0dXJuX3ZhbHVlID0gaXRlcihbMSwgMiwgM10pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGlzdChtb2NrKSwgWzEsIDIsIDNdKQorCisgICAgICAgIGdldGF0dHIobW9jaywgJ19fYm9vbF9fJykucmV0dXJuX3ZhbHVlID0gRmFsc2UKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShoYXNhdHRyKG1vY2ssICdfX25vbnplcm9fXycpKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGJvb2wobW9jaykpCisKKyAgICAgICAgZm9yIGVudHJ5IGluIF9tYWdpY3M6CisgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoaGFzYXR0cihtb2NrLCBlbnRyeSkpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoaGFzYXR0cihtb2NrLCAnX19pbWFnaW5lcnlfXycpKQorCisKKyAgICBkZWYgdGVzdF9tYWdpY19tb2NrX2VxdWFsaXR5KHNlbGYpOgorICAgICAgICBtb2NrID0gTWFnaWNNb2NrKCkKKyAgICAgICAgc2VsZi5hc3NlcnRJc0luc3RhbmNlKG1vY2sgPT0gb2JqZWN0KCksIGJvb2wpCisgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShtb2NrICE9IG9iamVjdCgpLCBib29sKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9jayA9PSBvYmplY3QoKSwgRmFsc2UpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9jayAhPSBvYmplY3QoKSwgVHJ1ZSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb2NrID09IG1vY2ssIFRydWUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9jayAhPSBtb2NrLCBGYWxzZSkKKworCisgICAgZGVmIHRlc3RfbWFnaWNtb2NrX2RlZmF1bHRzKHNlbGYpOgorICAgICAgICBtb2NrID0gTWFnaWNNb2NrKCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChpbnQobW9jayksIDEpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY29tcGxleChtb2NrKSwgMWopCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZmxvYXQobW9jayksIDEuMCkKKyAgICAgICAgc2VsZi5hc3NlcnROb3RJbihvYmplY3QoKSwgbW9jaykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4obW9jayksIDApCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGlzdChtb2NrKSwgW10pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaGFzaChtb2NrKSwgb2JqZWN0Ll9faGFzaF9fKG1vY2spKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cihtb2NrKSwgb2JqZWN0Ll9fc3RyX18obW9jaykpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShib29sKG1vY2spKQorCisgICAgICAgICMgaW4gUHl0aG9uIDMgb2N0IGFuZCBoZXggdXNlIF9faW5kZXhfXworICAgICAgICAjIHNvIHRoZXNlIHRlc3RzIGFyZSBmb3IgX19pbmRleF9fIGluIHB5M2sKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChvY3QobW9jayksICcwbzEnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGhleChtb2NrKSwgJzB4MScpCisgICAgICAgICMgaG93IHRvIHRlc3QgX19zaXplb2ZfXyA/CisKKworICAgIGRlZiB0ZXN0X21hZ2ljX21ldGhvZHNfYW5kX3NwZWMoc2VsZik6CisgICAgICAgIGNsYXNzIEl0ZXJhYmxlKG9iamVjdCk6CisgICAgICAgICAgICBkZWYgX19pdGVyX18oc2VsZik6CisgICAgICAgICAgICAgICAgcGFzcworCisgICAgICAgIG1vY2sgPSBNb2NrKHNwZWM9SXRlcmFibGUpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEF0dHJpYnV0ZUVycm9yLCBsYW1iZGE6IG1vY2suX19pdGVyX18pCisKKyAgICAgICAgbW9jay5fX2l0ZXJfXyA9IE1vY2socmV0dXJuX3ZhbHVlPWl0ZXIoW10pKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxpc3QobW9jayksIFtdKQorCisgICAgICAgIGNsYXNzIE5vbkl0ZXJhYmxlKG9iamVjdCk6CisgICAgICAgICAgICBwYXNzCisgICAgICAgIG1vY2sgPSBNb2NrKHNwZWM9Tm9uSXRlcmFibGUpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEF0dHJpYnV0ZUVycm9yLCBsYW1iZGE6IG1vY2suX19pdGVyX18pCisKKyAgICAgICAgZGVmIHNldF9pbnQoKToKKyAgICAgICAgICAgIG1vY2suX19pbnRfXyA9IE1vY2socmV0dXJuX3ZhbHVlPWl0ZXIoW10pKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhBdHRyaWJ1dGVFcnJvciwgc2V0X2ludCkKKworICAgICAgICBtb2NrID0gTWFnaWNNb2NrKHNwZWM9SXRlcmFibGUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGlzdChtb2NrKSwgW10pCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEF0dHJpYnV0ZUVycm9yLCBzZXRfaW50KQorCisKKyAgICBkZWYgdGVzdF9tYWdpY19tZXRob2RzX2FuZF9zcGVjX3NldChzZWxmKToKKyAgICAgICAgY2xhc3MgSXRlcmFibGUob2JqZWN0KToKKyAgICAgICAgICAgIGRlZiBfX2l0ZXJfXyhzZWxmKToKKyAgICAgICAgICAgICAgICBwYXNzCisKKyAgICAgICAgbW9jayA9IE1vY2soc3BlY19zZXQ9SXRlcmFibGUpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEF0dHJpYnV0ZUVycm9yLCBsYW1iZGE6IG1vY2suX19pdGVyX18pCisKKyAgICAgICAgbW9jay5fX2l0ZXJfXyA9IE1vY2socmV0dXJuX3ZhbHVlPWl0ZXIoW10pKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxpc3QobW9jayksIFtdKQorCisgICAgICAgIGNsYXNzIE5vbkl0ZXJhYmxlKG9iamVjdCk6CisgICAgICAgICAgICBwYXNzCisgICAgICAgIG1vY2sgPSBNb2NrKHNwZWNfc2V0PU5vbkl0ZXJhYmxlKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhBdHRyaWJ1dGVFcnJvciwgbGFtYmRhOiBtb2NrLl9faXRlcl9fKQorCisgICAgICAgIGRlZiBzZXRfaW50KCk6CisgICAgICAgICAgICBtb2NrLl9faW50X18gPSBNb2NrKHJldHVybl92YWx1ZT1pdGVyKFtdKSkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoQXR0cmlidXRlRXJyb3IsIHNldF9pbnQpCisKKyAgICAgICAgbW9jayA9IE1hZ2ljTW9jayhzcGVjX3NldD1JdGVyYWJsZSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsaXN0KG1vY2spLCBbXSkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoQXR0cmlidXRlRXJyb3IsIHNldF9pbnQpCisKKworICAgIGRlZiB0ZXN0X3NldHRpbmdfdW5zdXBwb3J0ZWRfbWFnaWNfbWV0aG9kKHNlbGYpOgorICAgICAgICBtb2NrID0gTWFnaWNNb2NrKCkKKyAgICAgICAgZGVmIHNldF9zZXRhdHRyKCk6CisgICAgICAgICAgICBtb2NrLl9fc2V0YXR0cl9fID0gbGFtYmRhIHNlbGYsIG5hbWU6IE5vbmUKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXNSZWdleChBdHRyaWJ1dGVFcnJvciwKKyAgICAgICAgICAgICJBdHRlbXB0aW5nIHRvIHNldCB1bnN1cHBvcnRlZCBtYWdpYyBtZXRob2QgJ19fc2V0YXR0cl9fJy4iLAorICAgICAgICAgICAgc2V0X3NldGF0dHIKKyAgICAgICAgKQorCisKKyAgICBkZWYgdGVzdF9hdHRyaWJ1dGVzX2FuZF9yZXR1cm5fdmFsdWUoc2VsZik6CisgICAgICAgIG1vY2sgPSBNYWdpY01vY2soKQorICAgICAgICBhdHRyID0gbW9jay5mb28KKyAgICAgICAgZGVmIF9nZXRfdHlwZShvYmopOgorICAgICAgICAgICAgIyB0aGUgdHlwZSBvZiBldmVyeSBtb2NrIChvciBtYWdpY21vY2spIGlzIGEgY3VzdG9tIHN1YmNsYXNzCisgICAgICAgICAgICAjIHNvIHRoZSByZWFsIHR5cGUgaXMgdGhlIHNlY29uZCBpbiB0aGUgbXJvCisgICAgICAgICAgICByZXR1cm4gdHlwZShvYmopLl9fbXJvX19bMV0KKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChfZ2V0X3R5cGUoYXR0ciksIE1hZ2ljTW9jaykKKworICAgICAgICByZXR1cm5lZCA9IG1vY2soKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKF9nZXRfdHlwZShyZXR1cm5lZCksIE1hZ2ljTW9jaykKKworCisgICAgZGVmIHRlc3RfbWFnaWNfbWV0aG9kc19hcmVfbWFnaWNfbW9ja3Moc2VsZik6CisgICAgICAgIG1vY2sgPSBNYWdpY01vY2soKQorICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2UobW9jay5fX2dldGl0ZW1fXywgTWFnaWNNb2NrKQorCisgICAgICAgIG1vY2tbMV1bMl0uX19nZXRpdGVtX18ucmV0dXJuX3ZhbHVlID0gMworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vY2tbMV1bMl1bM10sIDMpCisKKworICAgIGRlZiB0ZXN0X2RpcihzZWxmKToKKyAgICAgICAgIyBvdmVycmlkaW5nIHRoZSBkZWZhdWx0IGltcGxlbWVudGF0aW9uCisgICAgICAgIGZvciBtb2NrIGluIE1vY2soKSwgTWFnaWNNb2NrKCk6CisgICAgICAgICAgICBkZWYgX2RpcihzZWxmKToKKyAgICAgICAgICAgICAgICByZXR1cm4gWydmb28nXQorICAgICAgICAgICAgbW9jay5fX2Rpcl9fID0gX2RpcgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkaXIobW9jayksIFsnZm9vJ10pCisKKworICAgIEB1bml0dGVzdC5za2lwSWYoJ1B5UHknIGluIHN5cy52ZXJzaW9uLCAiVGhpcyBmYWlscyBkaWZmZXJlbnRseSBvbiBweXB5IikKKyAgICBkZWYgdGVzdF9ib3VuZF9tZXRob2RzKHNlbGYpOgorICAgICAgICBtID0gTW9jaygpCisKKyAgICAgICAgIyBYWFhYIHNob3VsZCB0aGlzIGJlIGFuIGV4cGVjdGVkIGZhaWx1cmUgaW5zdGVhZD8KKworICAgICAgICAjIHRoaXMgc2VlbXMgbGlrZSBpdCBzaG91bGQgd29yaywgYnV0IGlzIGhhcmQgdG8gZG8gd2l0aG91dCBpbnRyb2R1Y2luZworICAgICAgICAjIG90aGVyIGFwaSBpbmNvbnNpc3RlbmNpZXMuIEZhaWx1cmUgbWVzc2FnZSBjb3VsZCBiZSBiZXR0ZXIgdGhvdWdoLgorICAgICAgICBtLl9faXRlcl9fID0gWzNdLl9faXRlcl9fCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgaXRlciwgbSkKKworCisgICAgZGVmIHRlc3RfbWFnaWNfbWV0aG9kX3R5cGUoc2VsZik6CisgICAgICAgIGNsYXNzIEZvbyhNYWdpY01vY2spOgorICAgICAgICAgICAgcGFzcworCisgICAgICAgIGZvbyA9IEZvbygpCisgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShmb28uX19pbnRfXywgRm9vKQorCisKKyAgICBkZWYgdGVzdF9kZXNjcmlwdG9yX2Zyb21fY2xhc3Moc2VsZik6CisgICAgICAgIG0gPSBNYWdpY01vY2soKQorICAgICAgICB0eXBlKG0pLl9fc3RyX18ucmV0dXJuX3ZhbHVlID0gJ2ZvbycKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdHIobSksICdmb28nKQorCisKKyAgICBkZWYgdGVzdF9pdGVyYWJsZV9hc19pdGVyX3JldHVybl92YWx1ZShzZWxmKToKKyAgICAgICAgbSA9IE1hZ2ljTW9jaygpCisgICAgICAgIG0uX19pdGVyX18ucmV0dXJuX3ZhbHVlID0gWzEsIDIsIDNdCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGlzdChtKSwgWzEsIDIsIDNdKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxpc3QobSksIFsxLCAyLCAzXSkKKworICAgICAgICBtLl9faXRlcl9fLnJldHVybl92YWx1ZSA9IGl0ZXIoWzQsIDUsIDZdKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxpc3QobSksIFs0LCA1LCA2XSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsaXN0KG0pLCBbXSkKKworCitpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgorICAgIHVuaXR0ZXN0Lm1haW4oKQpkaWZmIC0tZ2l0IGEvTGliL3VuaXR0ZXN0L3Rlc3QvdGVzdG1vY2svdGVzdG1vY2sucHkgYi9MaWIvdW5pdHRlc3QvdGVzdC90ZXN0bW9jay90ZXN0bW9jay5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZTk4MjJlCi0tLSAvZGV2L251bGwKKysrIGIvTGliL3VuaXR0ZXN0L3Rlc3QvdGVzdG1vY2svdGVzdG1vY2sucHkKQEAgLTAsMCArMSwxMjU4IEBACitpbXBvcnQgY29weQoraW1wb3J0IHN5cworCitpbXBvcnQgdW5pdHRlc3QKK2Zyb20gdW5pdHRlc3QudGVzdC50ZXN0bW9jay5zdXBwb3J0IGltcG9ydCBpc19pbnN0YW5jZQorZnJvbSB1bml0dGVzdCBpbXBvcnQgbW9jaworZnJvbSB1bml0dGVzdC5tb2NrIGltcG9ydCAoCisgICAgY2FsbCwgREVGQVVMVCwgcGF0Y2gsIHNlbnRpbmVsLAorICAgIE1hZ2ljTW9jaywgTW9jaywgTm9uQ2FsbGFibGVNb2NrLAorICAgIE5vbkNhbGxhYmxlTWFnaWNNb2NrLCBfQ2FsbExpc3QsCisgICAgY3JlYXRlX2F1dG9zcGVjCispCisKKworY2xhc3MgSXRlcihvYmplY3QpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmKToKKyAgICAgICAgc2VsZi50aGluZyA9IGl0ZXIoWyd0aGlzJywgJ2lzJywgJ2FuJywgJ2l0ZXInXSkKKworICAgIGRlZiBfX2l0ZXJfXyhzZWxmKToKKyAgICAgICAgcmV0dXJuIHNlbGYKKworICAgIGRlZiBuZXh0KHNlbGYpOgorICAgICAgICByZXR1cm4gbmV4dChzZWxmLnRoaW5nKQorCisgICAgX19uZXh0X18gPSBuZXh0CisKKworCitjbGFzcyBNb2NrVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CisKKyAgICBkZWYgdGVzdF9hbGwoc2VsZik6CisgICAgICAgICMgaWYgX19hbGxfXyBpcyBiYWRseSBkZWZpbmVkIHRoZW4gaW1wb3J0ICogd2lsbCByYWlzZSBhbiBlcnJvcgorICAgICAgICAjIFdlIGhhdmUgdG8gZXhlYyBpdCBiZWNhdXNlIHlvdSBjYW4ndCBpbXBvcnQgKiBpbnNpZGUgYSBtZXRob2QKKyAgICAgICAgIyBpbiBQeXRob24gMworICAgICAgICBleGVjKCJmcm9tIHVuaXR0ZXN0Lm1vY2sgaW1wb3J0ICoiKQorCisKKyAgICBkZWYgdGVzdF9jb25zdHJ1Y3RvcihzZWxmKToKKyAgICAgICAgbW9jayA9IE1vY2soKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UobW9jay5jYWxsZWQsICJjYWxsZWQgbm90IGluaXRpYWxpc2VkIGNvcnJlY3RseSIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9jay5jYWxsX2NvdW50LCAwLAorICAgICAgICAgICAgICAgICAgICAgICAgICJjYWxsX2NvdW50IG5vdCBpbml0aWFsaXNlZCBjb3JyZWN0bHkiKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoaXNfaW5zdGFuY2UobW9jay5yZXR1cm5fdmFsdWUsIE1vY2spLAorICAgICAgICAgICAgICAgICAgICAgICAgInJldHVybl92YWx1ZSBub3QgaW5pdGlhbGlzZWQgY29ycmVjdGx5IikKKworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vY2suY2FsbF9hcmdzLCBOb25lLAorICAgICAgICAgICAgICAgICAgICAgICAgICJjYWxsX2FyZ3Mgbm90IGluaXRpYWxpc2VkIGNvcnJlY3RseSIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9jay5jYWxsX2FyZ3NfbGlzdCwgW10sCisgICAgICAgICAgICAgICAgICAgICAgICAgImNhbGxfYXJnc19saXN0IG5vdCBpbml0aWFsaXNlZCBjb3JyZWN0bHkiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vY2subWV0aG9kX2NhbGxzLCBbXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIm1ldGhvZF9jYWxscyBub3QgaW5pdGlhbGlzZWQgY29ycmVjdGx5IikKKworICAgICAgICAjIENhbid0IHVzZSBoYXNhdHRyIGZvciB0aGlzIHRlc3QgYXMgaXQgYWx3YXlzIHJldHVybnMgVHJ1ZSBvbiBhIG1vY2sKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZSgnX2l0ZW1zJyBpbiBtb2NrLl9fZGljdF9fLAorICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZhdWx0IG1vY2sgc2hvdWxkIG5vdCBoYXZlICdfaXRlbXMnIGF0dHJpYnV0ZSIpCisKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUobW9jay5fbW9ja19wYXJlbnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXJlbnQgbm90IGluaXRpYWxpc2VkIGNvcnJlY3RseSIpCisgICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKG1vY2suX21vY2tfbWV0aG9kcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIm1ldGhvZHMgbm90IGluaXRpYWxpc2VkIGNvcnJlY3RseSIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9jay5fbW9ja19jaGlsZHJlbiwge30sCisgICAgICAgICAgICAgICAgICAgICAgICAgImNoaWxkcmVuIG5vdCBpbml0aWFsaXNlZCBpbmNvcnJlY3RseSIpCisKKworICAgIGRlZiB0ZXN0X3JldHVybl92YWx1ZV9pbl9jb25zdHJ1Y3RvcihzZWxmKToKKyAgICAgICAgbW9jayA9IE1vY2socmV0dXJuX3ZhbHVlPU5vbmUpCisgICAgICAgIHNlbGYuYXNzZXJ0SXNOb25lKG1vY2sucmV0dXJuX3ZhbHVlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAicmV0dXJuIHZhbHVlIGluIGNvbnN0cnVjdG9yIG5vdCBob25vdXJlZCIpCisKKworICAgIGRlZiB0ZXN0X3JlcHIoc2VsZik6CisgICAgICAgIG1vY2sgPSBNb2NrKG5hbWU9J2ZvbycpCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ2ZvbycsIHJlcHIobW9jaykpCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oIiclcyciICUgaWQobW9jayksIHJlcHIobW9jaykpCisKKyAgICAgICAgbW9ja3MgPSBbKE1vY2soKSwgJ21vY2snKSwgKE1vY2sobmFtZT0nYmFyJyksICdiYXInKV0KKyAgICAgICAgZm9yIG1vY2ssIG5hbWUgaW4gbW9ja3M6CisgICAgICAgICAgICBzZWxmLmFzc2VydEluKCclcy5iYXInICUgbmFtZSwgcmVwcihtb2NrLmJhcikpCisgICAgICAgICAgICBzZWxmLmFzc2VydEluKCclcy5mb28oKScgJSBuYW1lLCByZXByKG1vY2suZm9vKCkpKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRJbignJXMuZm9vKCkuYmluZycgJSBuYW1lLCByZXByKG1vY2suZm9vKCkuYmluZykpCisgICAgICAgICAgICBzZWxmLmFzc2VydEluKCclcygpJyAlIG5hbWUsIHJlcHIobW9jaygpKSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4oJyVzKCkoKScgJSBuYW1lLCByZXByKG1vY2soKSgpKSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4oJyVzKCkoKS5mb28uYmFyLmJheigpLmJpbmcnICUgbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgcmVwcihtb2NrKCkoKS5mb28uYmFyLmJheigpLmJpbmcpKQorCisKKyAgICBkZWYgdGVzdF9yZXByX3dpdGhfc3BlYyhzZWxmKToKKyAgICAgICAgY2xhc3MgWChvYmplY3QpOgorICAgICAgICAgICAgcGFzcworCisgICAgICAgIG1vY2sgPSBNb2NrKHNwZWM9WCkKKyAgICAgICAgc2VsZi5hc3NlcnRJbigiIHNwZWM9J1gnICIsIHJlcHIobW9jaykpCisKKyAgICAgICAgbW9jayA9IE1vY2soc3BlYz1YKCkpCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oIiBzcGVjPSdYJyAiLCByZXByKG1vY2spKQorCisgICAgICAgIG1vY2sgPSBNb2NrKHNwZWNfc2V0PVgpCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oIiBzcGVjX3NldD0nWCcgIiwgcmVwcihtb2NrKSkKKworICAgICAgICBtb2NrID0gTW9jayhzcGVjX3NldD1YKCkpCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oIiBzcGVjX3NldD0nWCcgIiwgcmVwcihtb2NrKSkKKworICAgICAgICBtb2NrID0gTW9jayhzcGVjPVgsIG5hbWU9J2ZvbycpCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oIiBzcGVjPSdYJyAiLCByZXByKG1vY2spKQorICAgICAgICBzZWxmLmFzc2VydEluKCIgbmFtZT0nZm9vJyAiLCByZXByKG1vY2spKQorCisgICAgICAgIG1vY2sgPSBNb2NrKG5hbWU9J2ZvbycpCisgICAgICAgIHNlbGYuYXNzZXJ0Tm90SW4oInNwZWMiLCByZXByKG1vY2spKQorCisgICAgICAgIG1vY2sgPSBNb2NrKCkKKyAgICAgICAgc2VsZi5hc3NlcnROb3RJbigic3BlYyIsIHJlcHIobW9jaykpCisKKyAgICAgICAgbW9jayA9IE1vY2soc3BlYz1bJ2ZvbyddKQorICAgICAgICBzZWxmLmFzc2VydE5vdEluKCJzcGVjIiwgcmVwcihtb2NrKSkKKworCisgICAgZGVmIHRlc3Rfc2lkZV9lZmZlY3Qoc2VsZik6CisgICAgICAgIG1vY2sgPSBNb2NrKCkKKworICAgICAgICBkZWYgZWZmZWN0KCphcmdzLCAqKmt3YXJncyk6CisgICAgICAgICAgICByYWlzZSBTeXN0ZW1FcnJvcigna2FibG9vaWUnKQorCisgICAgICAgIG1vY2suc2lkZV9lZmZlY3QgPSBlZmZlY3QKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoU3lzdGVtRXJyb3IsIG1vY2ssIDEsIDIsIGZpc2g9MykKKyAgICAgICAgbW9jay5hc3NlcnRfY2FsbGVkX3dpdGgoMSwgMiwgZmlzaD0zKQorCisgICAgICAgIHJlc3VsdHMgPSBbMSwgMiwgM10KKyAgICAgICAgZGVmIGVmZmVjdCgpOgorICAgICAgICAgICAgcmV0dXJuIHJlc3VsdHMucG9wKCkKKyAgICAgICAgbW9jay5zaWRlX2VmZmVjdCA9IGVmZmVjdAorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoW21vY2soKSwgbW9jaygpLCBtb2NrKCldLCBbMywgMiwgMV0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICJzaWRlIGVmZmVjdCBub3QgdXNlZCBjb3JyZWN0bHkiKQorCisgICAgICAgIG1vY2sgPSBNb2NrKHNpZGVfZWZmZWN0PXNlbnRpbmVsLlNpZGVFZmZlY3QpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9jay5zaWRlX2VmZmVjdCwgc2VudGluZWwuU2lkZUVmZmVjdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgInNpZGUgZWZmZWN0IGluIGNvbnN0cnVjdG9yIG5vdCB1c2VkIikKKworICAgICAgICBkZWYgc2lkZV9lZmZlY3QoKToKKyAgICAgICAgICAgIHJldHVybiBERUZBVUxUCisgICAgICAgIG1vY2sgPSBNb2NrKHNpZGVfZWZmZWN0PXNpZGVfZWZmZWN0LCByZXR1cm5fdmFsdWU9c2VudGluZWwuUkVUVVJOKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vY2soKSwgc2VudGluZWwuUkVUVVJOKQorCisKKyAgICBAdW5pdHRlc3Quc2tpcFVubGVzcygnamF2YScgaW4gc3lzLnBsYXRmb3JtLAorICAgICAgICAgICAgICAgICAgICAgICAgICAnVGhpcyB0ZXN0IG9ubHkgYXBwbGllcyB0byBKeXRob24nKQorICAgIGRlZiB0ZXN0X2phdmFfZXhjZXB0aW9uX3NpZGVfZWZmZWN0KHNlbGYpOgorICAgICAgICBpbXBvcnQgamF2YQorICAgICAgICBtb2NrID0gTW9jayhzaWRlX2VmZmVjdD1qYXZhLmxhbmcuUnVudGltZUV4Y2VwdGlvbigiQm9vbSEiKSkKKworICAgICAgICAjIGNhbid0IHVzZSBhc3NlcnRSYWlzZXMgd2l0aCBqYXZhIGV4Y2VwdGlvbnMKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgbW9jaygxLCAyLCBmaXNoPTMpCisgICAgICAgIGV4Y2VwdCBqYXZhLmxhbmcuUnVudGltZUV4Y2VwdGlvbjoKKyAgICAgICAgICAgIHBhc3MKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHNlbGYuZmFpbCgnamF2YSBleGNlcHRpb24gbm90IHJhaXNlZCcpCisgICAgICAgIG1vY2suYXNzZXJ0X2NhbGxlZF93aXRoKDEsMiwgZmlzaD0zKQorCisKKyAgICBkZWYgdGVzdF9yZXNldF9tb2NrKHNlbGYpOgorICAgICAgICBwYXJlbnQgPSBNb2NrKCkKKyAgICAgICAgc3BlYyA9IFsic29tZXRoaW5nIl0KKyAgICAgICAgbW9jayA9IE1vY2sobmFtZT0iY2hpbGQiLCBwYXJlbnQ9cGFyZW50LCBzcGVjPXNwZWMpCisgICAgICAgIG1vY2soc2VudGluZWwuU29tZXRoaW5nLCBzb21ldGhpbmc9c2VudGluZWwuU29tZXRoaW5nRWxzZSkKKyAgICAgICAgc29tZXRoaW5nID0gbW9jay5zb21ldGhpbmcKKyAgICAgICAgbW9jay5zb21ldGhpbmcoKQorICAgICAgICBtb2NrLnNpZGVfZWZmZWN0ID0gc2VudGluZWwuU2lkZUVmZmVjdAorICAgICAgICByZXR1cm5fdmFsdWUgPSBtb2NrLnJldHVybl92YWx1ZQorICAgICAgICByZXR1cm5fdmFsdWUoKQorCisgICAgICAgIG1vY2sucmVzZXRfbW9jaygpCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb2NrLl9tb2NrX25hbWUsICJjaGlsZCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgIm5hbWUgaW5jb3JyZWN0bHkgcmVzZXQiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vY2suX21vY2tfcGFyZW50LCBwYXJlbnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgInBhcmVudCBpbmNvcnJlY3RseSByZXNldCIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9jay5fbW9ja19tZXRob2RzLCBzcGVjLAorICAgICAgICAgICAgICAgICAgICAgICAgICJtZXRob2RzIGluY29ycmVjdGx5IHJlc2V0IikKKworICAgICAgICBzZWxmLmFzc2VydEZhbHNlKG1vY2suY2FsbGVkLCAiY2FsbGVkIG5vdCByZXNldCIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9jay5jYWxsX2NvdW50LCAwLCAiY2FsbF9jb3VudCBub3QgcmVzZXQiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vY2suY2FsbF9hcmdzLCBOb25lLCAiY2FsbF9hcmdzIG5vdCByZXNldCIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9jay5jYWxsX2FyZ3NfbGlzdCwgW10sICJjYWxsX2FyZ3NfbGlzdCBub3QgcmVzZXQiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vY2subWV0aG9kX2NhbGxzLCBbXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICJtZXRob2RfY2FsbHMgbm90IGluaXRpYWxpc2VkIGNvcnJlY3RseTogJXIgIT0gJXIiICUKKyAgICAgICAgICAgICAgICAgICAgICAgIChtb2NrLm1ldGhvZF9jYWxscywgW10pKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vY2subW9ja19jYWxscywgW10pCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb2NrLnNpZGVfZWZmZWN0LCBzZW50aW5lbC5TaWRlRWZmZWN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAic2lkZV9lZmZlY3QgaW5jb3JyZWN0bHkgcmVzZXQiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vY2sucmV0dXJuX3ZhbHVlLCByZXR1cm5fdmFsdWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICJyZXR1cm5fdmFsdWUgaW5jb3JyZWN0bHkgcmVzZXQiKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKHJldHVybl92YWx1ZS5jYWxsZWQsICJyZXR1cm4gdmFsdWUgbW9jayBub3QgcmVzZXQiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vY2suX21vY2tfY2hpbGRyZW4sIHsnc29tZXRoaW5nJzogc29tZXRoaW5nfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgImNoaWxkcmVuIHJlc2V0IGluY29ycmVjdGx5IikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb2NrLnNvbWV0aGluZywgc29tZXRoaW5nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAiY2hpbGRyZW4gaW5jb3JyZWN0bHkgY2xlYXJlZCIpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UobW9jay5zb21ldGhpbmcuY2FsbGVkLCAiY2hpbGQgbm90IHJlc2V0IikKKworCisgICAgZGVmIHRlc3RfcmVzZXRfbW9ja19yZWN1cnNpb24oc2VsZik6CisgICAgICAgIG1vY2sgPSBNb2NrKCkKKyAgICAgICAgbW9jay5yZXR1cm5fdmFsdWUgPSBtb2NrCisKKyAgICAgICAgIyB1c2VkIHRvIGNhdXNlIHJlY3Vyc2lvbgorICAgICAgICBtb2NrLnJlc2V0X21vY2soKQorCisKKyAgICBkZWYgdGVzdF9jYWxsKHNlbGYpOgorICAgICAgICBtb2NrID0gTW9jaygpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShpc19pbnN0YW5jZShtb2NrLnJldHVybl92YWx1ZSwgTW9jayksCisgICAgICAgICAgICAgICAgICAgICAgICAiRGVmYXVsdCByZXR1cm5fdmFsdWUgc2hvdWxkIGJlIGEgTW9jayIpCisKKyAgICAgICAgcmVzdWx0ID0gbW9jaygpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9jaygpLCByZXN1bHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgImRpZmZlcmVudCByZXN1bHQgZnJvbSBjb25zZWN1dGl2ZSBjYWxscyIpCisgICAgICAgIG1vY2sucmVzZXRfbW9jaygpCisKKyAgICAgICAgcmV0X3ZhbCA9IG1vY2soc2VudGluZWwuQXJnKQorICAgICAgICBzZWxmLmFzc2VydFRydWUobW9jay5jYWxsZWQsICJjYWxsZWQgbm90IHNldCIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9jay5jYWxsX2NvdW50LCAxLCAiY2FsbF9jb3VudCBpbmNvcmVlY3QiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vY2suY2FsbF9hcmdzLCAoKHNlbnRpbmVsLkFyZywpLCB7fSksCisgICAgICAgICAgICAgICAgICAgICAgICAgImNhbGxfYXJncyBub3Qgc2V0IikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb2NrLmNhbGxfYXJnc19saXN0LCBbKChzZW50aW5lbC5BcmcsKSwge30pXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAiY2FsbF9hcmdzX2xpc3Qgbm90IGluaXRpYWxpc2VkIGNvcnJlY3RseSIpCisKKyAgICAgICAgbW9jay5yZXR1cm5fdmFsdWUgPSBzZW50aW5lbC5SZXR1cm5WYWx1ZQorICAgICAgICByZXRfdmFsID0gbW9jayhzZW50aW5lbC5BcmcsIGtleT1zZW50aW5lbC5LZXlBcmcpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmV0X3ZhbCwgc2VudGluZWwuUmV0dXJuVmFsdWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgImluY29ycmVjdCByZXR1cm4gdmFsdWUiKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9jay5jYWxsX2NvdW50LCAyLCAiY2FsbF9jb3VudCBpbmNvcnJlY3QiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vY2suY2FsbF9hcmdzLAorICAgICAgICAgICAgICAgICAgICAgICAgICgoc2VudGluZWwuQXJnLCksIHsna2V5Jzogc2VudGluZWwuS2V5QXJnfSksCisgICAgICAgICAgICAgICAgICAgICAgICAgImNhbGxfYXJncyBub3Qgc2V0IikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb2NrLmNhbGxfYXJnc19saXN0LCBbCisgICAgICAgICAgICAoKHNlbnRpbmVsLkFyZywpLCB7fSksCisgICAgICAgICAgICAoKHNlbnRpbmVsLkFyZywpLCB7J2tleSc6IHNlbnRpbmVsLktleUFyZ30pCisgICAgICAgIF0sCisgICAgICAgICAgICAiY2FsbF9hcmdzX2xpc3Qgbm90IHNldCIpCisKKworICAgIGRlZiB0ZXN0X2NhbGxfYXJnc19jb21wYXJpc29uKHNlbGYpOgorICAgICAgICBtb2NrID0gTW9jaygpCisgICAgICAgIG1vY2soKQorICAgICAgICBtb2NrKHNlbnRpbmVsLkFyZykKKyAgICAgICAgbW9jayhrdz1zZW50aW5lbC5Ld2FyZykKKyAgICAgICAgbW9jayhzZW50aW5lbC5BcmcsIGt3PXNlbnRpbmVsLkt3YXJnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vY2suY2FsbF9hcmdzX2xpc3QsIFsKKyAgICAgICAgICAgICgpLAorICAgICAgICAgICAgKChzZW50aW5lbC5BcmcsKSwpLAorICAgICAgICAgICAgKHsia3ciOiBzZW50aW5lbC5Ld2FyZ30sKSwKKyAgICAgICAgICAgICgoc2VudGluZWwuQXJnLCksIHsia3ciOiBzZW50aW5lbC5Ld2FyZ30pCisgICAgICAgIF0pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9jay5jYWxsX2FyZ3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgKChzZW50aW5lbC5BcmcsKSwgeyJrdyI6IHNlbnRpbmVsLkt3YXJnfSkpCisKKworICAgIGRlZiB0ZXN0X2Fzc2VydF9jYWxsZWRfd2l0aChzZWxmKToKKyAgICAgICAgbW9jayA9IE1vY2soKQorICAgICAgICBtb2NrKCkKKworICAgICAgICAjIFdpbGwgcmFpc2UgYW4gZXhjZXB0aW9uIGlmIGl0IGZhaWxzCisgICAgICAgIG1vY2suYXNzZXJ0X2NhbGxlZF93aXRoKCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoQXNzZXJ0aW9uRXJyb3IsIG1vY2suYXNzZXJ0X2NhbGxlZF93aXRoLCAxKQorCisgICAgICAgIG1vY2sucmVzZXRfbW9jaygpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEFzc2VydGlvbkVycm9yLCBtb2NrLmFzc2VydF9jYWxsZWRfd2l0aCkKKworICAgICAgICBtb2NrKDEsIDIsIDMsIGE9J2Zpc2gnLCBiPSdub3RoaW5nJykKKyAgICAgICAgbW9jay5hc3NlcnRfY2FsbGVkX3dpdGgoMSwgMiwgMywgYT0nZmlzaCcsIGI9J25vdGhpbmcnKQorCisKKyAgICBkZWYgdGVzdF9hc3NlcnRfY2FsbGVkX29uY2Vfd2l0aChzZWxmKToKKyAgICAgICAgbW9jayA9IE1vY2soKQorICAgICAgICBtb2NrKCkKKworICAgICAgICAjIFdpbGwgcmFpc2UgYW4gZXhjZXB0aW9uIGlmIGl0IGZhaWxzCisgICAgICAgIG1vY2suYXNzZXJ0X2NhbGxlZF9vbmNlX3dpdGgoKQorCisgICAgICAgIG1vY2soKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhBc3NlcnRpb25FcnJvciwgbW9jay5hc3NlcnRfY2FsbGVkX29uY2Vfd2l0aCkKKworICAgICAgICBtb2NrLnJlc2V0X21vY2soKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhBc3NlcnRpb25FcnJvciwgbW9jay5hc3NlcnRfY2FsbGVkX29uY2Vfd2l0aCkKKworICAgICAgICBtb2NrKCdmb28nLCAnYmFyJywgYmF6PTIpCisgICAgICAgIG1vY2suYXNzZXJ0X2NhbGxlZF9vbmNlX3dpdGgoJ2ZvbycsICdiYXInLCBiYXo9MikKKworICAgICAgICBtb2NrLnJlc2V0X21vY2soKQorICAgICAgICBtb2NrKCdmb28nLCAnYmFyJywgYmF6PTIpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKAorICAgICAgICAgICAgQXNzZXJ0aW9uRXJyb3IsCisgICAgICAgICAgICBsYW1iZGE6IG1vY2suYXNzZXJ0X2NhbGxlZF9vbmNlX3dpdGgoJ2JvYicsICdiYXInLCBiYXo9MikKKyAgICAgICAgKQorCisKKyAgICBkZWYgdGVzdF9hdHRyaWJ1dGVfYWNjZXNzX3JldHVybnNfbW9ja3Moc2VsZik6CisgICAgICAgIG1vY2sgPSBNb2NrKCkKKyAgICAgICAgc29tZXRoaW5nID0gbW9jay5zb21ldGhpbmcKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGlzX2luc3RhbmNlKHNvbWV0aGluZywgTW9jayksICJhdHRyaWJ1dGUgaXNuJ3QgYSBtb2NrIikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb2NrLnNvbWV0aGluZywgc29tZXRoaW5nLAorICAgICAgICAgICAgICAgICAgICAgICAgICJkaWZmZXJlbnQgYXR0cmlidXRlcyByZXR1cm5lZCBmb3Igc2FtZSBuYW1lIikKKworICAgICAgICAjIFVzYWdlIGV4YW1wbGUKKyAgICAgICAgbW9jayA9IE1vY2soKQorICAgICAgICBtb2NrLnNvbWV0aGluZy5yZXR1cm5fdmFsdWUgPSAzCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb2NrLnNvbWV0aGluZygpLCAzLCAibWV0aG9kIHJldHVybmVkIHdyb25nIHZhbHVlIikKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG1vY2suc29tZXRoaW5nLmNhbGxlZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICJtZXRob2QgZGlkbid0IHJlY29yZCBiZWluZyBjYWxsZWQiKQorCisKKyAgICBkZWYgdGVzdF9hdHRyaWJ1dGVzX2hhdmVfbmFtZV9hbmRfcGFyZW50X3NldChzZWxmKToKKyAgICAgICAgbW9jayA9IE1vY2soKQorICAgICAgICBzb21ldGhpbmcgPSBtb2NrLnNvbWV0aGluZworCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc29tZXRoaW5nLl9tb2NrX25hbWUsICJzb21ldGhpbmciLAorICAgICAgICAgICAgICAgICAgICAgICAgICJhdHRyaWJ1dGUgbmFtZSBub3Qgc2V0IGNvcnJlY3RseSIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc29tZXRoaW5nLl9tb2NrX3BhcmVudCwgbW9jaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAiYXR0cmlidXRlIHBhcmVudCBub3Qgc2V0IGNvcnJlY3RseSIpCisKKworICAgIGRlZiB0ZXN0X21ldGhvZF9jYWxsc19yZWNvcmRlZChzZWxmKToKKyAgICAgICAgbW9jayA9IE1vY2soKQorICAgICAgICBtb2NrLnNvbWV0aGluZygzLCBmaXNoPU5vbmUpCisgICAgICAgIG1vY2suc29tZXRoaW5nX2Vsc2Uuc29tZXRoaW5nKDYsIGNha2U9c2VudGluZWwuQ2FrZSkKKworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vY2suc29tZXRoaW5nX2Vsc2UubWV0aG9kX2NhbGxzLAorICAgICAgICAgICAgICAgICAgICAgICAgICBbKCJzb21ldGhpbmciLCAoNiwpLCB7J2Nha2UnOiBzZW50aW5lbC5DYWtlfSldLAorICAgICAgICAgICAgICAgICAgICAgICAgICAibWV0aG9kIGNhbGxzIG5vdCByZWNvcmRlZCBjb3JyZWN0bHkiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vY2subWV0aG9kX2NhbGxzLCBbCisgICAgICAgICAgICAoInNvbWV0aGluZyIsICgzLCksIHsnZmlzaCc6IE5vbmV9KSwKKyAgICAgICAgICAgICgic29tZXRoaW5nX2Vsc2Uuc29tZXRoaW5nIiwgKDYsKSwgeydjYWtlJzogc2VudGluZWwuQ2FrZX0pCisgICAgICAgIF0sCisgICAgICAgICAgICAibWV0aG9kIGNhbGxzIG5vdCByZWNvcmRlZCBjb3JyZWN0bHkiKQorCisKKyAgICBkZWYgdGVzdF9tZXRob2RfY2FsbHNfY29tcGFyZV9lYXNpbHkoc2VsZik6CisgICAgICAgIG1vY2sgPSBNb2NrKCkKKyAgICAgICAgbW9jay5zb21ldGhpbmcoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vY2subWV0aG9kX2NhbGxzLCBbKCdzb21ldGhpbmcnLCldKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vY2subWV0aG9kX2NhbGxzLCBbKCdzb21ldGhpbmcnLCAoKSwge30pXSkKKworICAgICAgICBtb2NrID0gTW9jaygpCisgICAgICAgIG1vY2suc29tZXRoaW5nKCdkaWZmZXJlbnQnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vY2subWV0aG9kX2NhbGxzLCBbKCdzb21ldGhpbmcnLCAoJ2RpZmZlcmVudCcsKSldKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vY2subWV0aG9kX2NhbGxzLAorICAgICAgICAgICAgICAgICAgICAgICAgIFsoJ3NvbWV0aGluZycsICgnZGlmZmVyZW50JywpLCB7fSldKQorCisgICAgICAgIG1vY2sgPSBNb2NrKCkKKyAgICAgICAgbW9jay5zb21ldGhpbmcoeD0xKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vY2subWV0aG9kX2NhbGxzLCBbKCdzb21ldGhpbmcnLCB7J3gnOiAxfSldKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vY2subWV0aG9kX2NhbGxzLCBbKCdzb21ldGhpbmcnLCAoKSwgeyd4JzogMX0pXSkKKworICAgICAgICBtb2NrID0gTW9jaygpCisgICAgICAgIG1vY2suc29tZXRoaW5nKCdkaWZmZXJlbnQnLCBzb21lPSdtb3JlJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb2NrLm1ldGhvZF9jYWxscywgWworICAgICAgICAgICAgKCdzb21ldGhpbmcnLCAoJ2RpZmZlcmVudCcsKSwgeydzb21lJzogJ21vcmUnfSkKKyAgICAgICAgXSkKKworCisgICAgZGVmIHRlc3Rfb25seV9hbGxvd2VkX21ldGhvZHNfZXhpc3Qoc2VsZik6CisgICAgICAgIGZvciBzcGVjIGluIFsnc29tZXRoaW5nJ10sICgnc29tZXRoaW5nJywpOgorICAgICAgICAgICAgZm9yIGFyZyBpbiAnc3BlYycsICdzcGVjX3NldCc6CisgICAgICAgICAgICAgICAgbW9jayA9IE1vY2soKip7YXJnOiBzcGVjfSkKKworICAgICAgICAgICAgICAgICMgdGhpcyBzaG91bGQgYmUgYWxsb3dlZAorICAgICAgICAgICAgICAgIG1vY2suc29tZXRoaW5nCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXNSZWdleCgKKyAgICAgICAgICAgICAgICAgICAgQXR0cmlidXRlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICJNb2NrIG9iamVjdCBoYXMgbm8gYXR0cmlidXRlICdzb21ldGhpbmdfZWxzZSciLAorICAgICAgICAgICAgICAgICAgICBnZXRhdHRyLCBtb2NrLCAnc29tZXRoaW5nX2Vsc2UnCisgICAgICAgICAgICAgICAgKQorCisKKyAgICBkZWYgdGVzdF9mcm9tX3NwZWMoc2VsZik6CisgICAgICAgIGNsYXNzIFNvbWV0aGluZyhvYmplY3QpOgorICAgICAgICAgICAgeCA9IDMKKyAgICAgICAgICAgIF9fc29tZXRoaW5nX18gPSBOb25lCisgICAgICAgICAgICBkZWYgeShzZWxmKToKKyAgICAgICAgICAgICAgICBwYXNzCisKKyAgICAgICAgZGVmIHRlc3RfYXR0cmlidXRlcyhtb2NrKToKKyAgICAgICAgICAgICMgc2hvdWxkIHdvcmsKKyAgICAgICAgICAgIG1vY2sueAorICAgICAgICAgICAgbW9jay55CisgICAgICAgICAgICBtb2NrLl9fc29tZXRoaW5nX18KKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoCisgICAgICAgICAgICAgICAgQXR0cmlidXRlRXJyb3IsCisgICAgICAgICAgICAgICAgIk1vY2sgb2JqZWN0IGhhcyBubyBhdHRyaWJ1dGUgJ3onIiwKKyAgICAgICAgICAgICAgICBnZXRhdHRyLCBtb2NrLCAneicKKyAgICAgICAgICAgICkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoCisgICAgICAgICAgICAgICAgQXR0cmlidXRlRXJyb3IsCisgICAgICAgICAgICAgICAgIk1vY2sgb2JqZWN0IGhhcyBubyBhdHRyaWJ1dGUgJ19fZm9vYmFyX18nIiwKKyAgICAgICAgICAgICAgICBnZXRhdHRyLCBtb2NrLCAnX19mb29iYXJfXycKKyAgICAgICAgICAgICkKKworICAgICAgICB0ZXN0X2F0dHJpYnV0ZXMoTW9jayhzcGVjPVNvbWV0aGluZykpCisgICAgICAgIHRlc3RfYXR0cmlidXRlcyhNb2NrKHNwZWM9U29tZXRoaW5nKCkpKQorCisKKyAgICBkZWYgdGVzdF93cmFwc19jYWxscyhzZWxmKToKKyAgICAgICAgcmVhbCA9IE1vY2soKQorCisgICAgICAgIG1vY2sgPSBNb2NrKHdyYXBzPXJlYWwpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9jaygpLCByZWFsKCkpCisKKyAgICAgICAgcmVhbC5yZXNldF9tb2NrKCkKKworICAgICAgICBtb2NrKDEsIDIsIGZpc2g9MykKKyAgICAgICAgcmVhbC5hc3NlcnRfY2FsbGVkX3dpdGgoMSwgMiwgZmlzaD0zKQorCisKKyAgICBkZWYgdGVzdF93cmFwc19jYWxsX3dpdGhfbm9uZGVmYXVsdF9yZXR1cm5fdmFsdWUoc2VsZik6CisgICAgICAgIHJlYWwgPSBNb2NrKCkKKworICAgICAgICBtb2NrID0gTW9jayh3cmFwcz1yZWFsKQorICAgICAgICBtb2NrLnJldHVybl92YWx1ZSA9IDMKKworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vY2soKSwgMykKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShyZWFsLmNhbGxlZCkKKworCisgICAgZGVmIHRlc3Rfd3JhcHNfYXR0cmlidXRlcyhzZWxmKToKKyAgICAgICAgY2xhc3MgUmVhbChvYmplY3QpOgorICAgICAgICAgICAgYXR0cmlidXRlID0gTW9jaygpCisKKyAgICAgICAgcmVhbCA9IFJlYWwoKQorCisgICAgICAgIG1vY2sgPSBNb2NrKHdyYXBzPXJlYWwpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9jay5hdHRyaWJ1dGUoKSwgcmVhbC5hdHRyaWJ1dGUoKSkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoQXR0cmlidXRlRXJyb3IsIGxhbWJkYTogbW9jay5maXNoKQorCisgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwobW9jay5hdHRyaWJ1dGUsIHJlYWwuYXR0cmlidXRlKQorICAgICAgICByZXN1bHQgPSBtb2NrLmF0dHJpYnV0ZS5mcm9nKDEsIDIsIGZpc2g9MykKKyAgICAgICAgUmVhbC5hdHRyaWJ1dGUuZnJvZy5hc3NlcnRfY2FsbGVkX3dpdGgoMSwgMiwgZmlzaD0zKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlc3VsdCwgUmVhbC5hdHRyaWJ1dGUuZnJvZygpKQorCisKKyAgICBkZWYgdGVzdF9leGNlcHRpb25hbF9zaWRlX2VmZmVjdChzZWxmKToKKyAgICAgICAgbW9jayA9IE1vY2soc2lkZV9lZmZlY3Q9QXR0cmlidXRlRXJyb3IpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEF0dHJpYnV0ZUVycm9yLCBtb2NrKQorCisgICAgICAgIG1vY2sgPSBNb2NrKHNpZGVfZWZmZWN0PUF0dHJpYnV0ZUVycm9yKCdmb28nKSkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoQXR0cmlidXRlRXJyb3IsIG1vY2spCisKKworICAgIGRlZiB0ZXN0X2Jhc2VleGNlcHRpb25hbF9zaWRlX2VmZmVjdChzZWxmKToKKyAgICAgICAgbW9jayA9IE1vY2soc2lkZV9lZmZlY3Q9S2V5Ym9hcmRJbnRlcnJ1cHQpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEtleWJvYXJkSW50ZXJydXB0LCBtb2NrKQorCisgICAgICAgIG1vY2sgPSBNb2NrKHNpZGVfZWZmZWN0PUtleWJvYXJkSW50ZXJydXB0KCdmb28nKSkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoS2V5Ym9hcmRJbnRlcnJ1cHQsIG1vY2spCisKKworICAgIGRlZiB0ZXN0X2Fzc2VydF9jYWxsZWRfd2l0aF9tZXNzYWdlKHNlbGYpOgorICAgICAgICBtb2NrID0gTW9jaygpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzUmVnZXgoQXNzZXJ0aW9uRXJyb3IsICdOb3QgY2FsbGVkJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9jay5hc3NlcnRfY2FsbGVkX3dpdGgpCisKKworICAgIGRlZiB0ZXN0X19uYW1lX18oc2VsZik6CisgICAgICAgIG1vY2sgPSBNb2NrKCkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoQXR0cmlidXRlRXJyb3IsIGxhbWJkYTogbW9jay5fX25hbWVfXykKKworICAgICAgICBtb2NrLl9fbmFtZV9fID0gJ2ZvbycKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb2NrLl9fbmFtZV9fLCAnZm9vJykKKworCisgICAgZGVmIHRlc3Rfc3BlY19saXN0X3N1YmNsYXNzKHNlbGYpOgorICAgICAgICBjbGFzcyBTdWIobGlzdCk6CisgICAgICAgICAgICBwYXNzCisgICAgICAgIG1vY2sgPSBNb2NrKHNwZWM9U3ViKFsnZm9vJ10pKQorCisgICAgICAgIG1vY2suYXBwZW5kKDMpCisgICAgICAgIG1vY2suYXBwZW5kLmFzc2VydF9jYWxsZWRfd2l0aCgzKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhBdHRyaWJ1dGVFcnJvciwgZ2V0YXR0ciwgbW9jaywgJ2ZvbycpCisKKworICAgIGRlZiB0ZXN0X3NwZWNfY2xhc3Moc2VsZik6CisgICAgICAgIGNsYXNzIFgob2JqZWN0KToKKyAgICAgICAgICAgIHBhc3MKKworICAgICAgICBtb2NrID0gTW9jayhzcGVjPVgpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShpc2luc3RhbmNlKG1vY2ssIFgpKQorCisgICAgICAgIG1vY2sgPSBNb2NrKHNwZWM9WCgpKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoaXNpbnN0YW5jZShtb2NrLCBYKSkKKworICAgICAgICBzZWxmLmFzc2VydElzKG1vY2suX19jbGFzc19fLCBYKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKE1vY2soKS5fX2NsYXNzX18uX19uYW1lX18sICdNb2NrJykKKworICAgICAgICBtb2NrID0gTW9jayhzcGVjX3NldD1YKQorICAgICAgICBzZWxmLmFzc2VydFRydWUoaXNpbnN0YW5jZShtb2NrLCBYKSkKKworICAgICAgICBtb2NrID0gTW9jayhzcGVjX3NldD1YKCkpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShpc2luc3RhbmNlKG1vY2ssIFgpKQorCisKKyAgICBkZWYgdGVzdF9zZXR0aW5nX2F0dHJpYnV0ZV93aXRoX3NwZWNfc2V0KHNlbGYpOgorICAgICAgICBjbGFzcyBYKG9iamVjdCk6CisgICAgICAgICAgICB5ID0gMworCisgICAgICAgIG1vY2sgPSBNb2NrKHNwZWM9WCkKKyAgICAgICAgbW9jay54ID0gJ2ZvbycKKworICAgICAgICBtb2NrID0gTW9jayhzcGVjX3NldD1YKQorICAgICAgICBkZWYgc2V0X2F0dHIoKToKKyAgICAgICAgICAgIG1vY2sueCA9ICdmb28nCisKKyAgICAgICAgbW9jay55ID0gJ2ZvbycKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoQXR0cmlidXRlRXJyb3IsIHNldF9hdHRyKQorCisKKyAgICBkZWYgdGVzdF9jb3B5KHNlbGYpOgorICAgICAgICBjdXJyZW50ID0gc3lzLmdldHJlY3Vyc2lvbmxpbWl0KCkKKyAgICAgICAgc2VsZi5hZGRDbGVhbnVwKHN5cy5zZXRyZWN1cnNpb25saW1pdCwgY3VycmVudCkKKworICAgICAgICAjIGNhbid0IHVzZSBzeXMubWF4aW50IGFzIHRoaXMgZG9lc24ndCBleGlzdCBpbiBQeXRob24gMworICAgICAgICBzeXMuc2V0cmVjdXJzaW9ubGltaXQoaW50KDEwZTgpKQorICAgICAgICAjIHRoaXMgc2VnZmF1bHRzIHdpdGhvdXQgdGhlIGZpeCBpbiBwbGFjZQorICAgICAgICBjb3B5LmNvcHkoTW9jaygpKQorCisKKyAgICBkZWYgdGVzdF9zdWJjbGFzc193aXRoX3Byb3BlcnRpZXMoc2VsZik6CisgICAgICAgIGNsYXNzIFN1YkNsYXNzKE1vY2spOgorICAgICAgICAgICAgZGVmIF9nZXQoc2VsZik6CisgICAgICAgICAgICAgICAgcmV0dXJuIDMKKyAgICAgICAgICAgIGRlZiBfc2V0KHNlbGYsIHZhbHVlKToKKyAgICAgICAgICAgICAgICByYWlzZSBOYW1lRXJyb3IoJ3N0cmFuZ2UgZXJyb3InKQorICAgICAgICAgICAgc29tZV9hdHRyaWJ1dGUgPSBwcm9wZXJ0eShfZ2V0LCBfc2V0KQorCisgICAgICAgIHMgPSBTdWJDbGFzcyhzcGVjX3NldD1TdWJDbGFzcykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzLnNvbWVfYXR0cmlidXRlLCAzKQorCisgICAgICAgIGRlZiB0ZXN0KCk6CisgICAgICAgICAgICBzLnNvbWVfYXR0cmlidXRlID0gMworICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhOYW1lRXJyb3IsIHRlc3QpCisKKyAgICAgICAgZGVmIHRlc3QoKToKKyAgICAgICAgICAgIHMuZm9vID0gJ2JhcicKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoQXR0cmlidXRlRXJyb3IsIHRlc3QpCisKKworICAgIGRlZiB0ZXN0X3NldHRpbmdfY2FsbChzZWxmKToKKyAgICAgICAgbW9jayA9IE1vY2soKQorICAgICAgICBkZWYgX19jYWxsX18oc2VsZiwgYSk6CisgICAgICAgICAgICByZXR1cm4gc2VsZi5fbW9ja19jYWxsKGEpCisKKyAgICAgICAgdHlwZShtb2NrKS5fX2NhbGxfXyA9IF9fY2FsbF9fCisgICAgICAgIG1vY2soJ29uZScpCisgICAgICAgIG1vY2suYXNzZXJ0X2NhbGxlZF93aXRoKCdvbmUnKQorCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgbW9jaywgJ29uZScsICd0d28nKQorCisKKyAgICBkZWYgdGVzdF9kaXIoc2VsZik6CisgICAgICAgIG1vY2sgPSBNb2NrKCkKKyAgICAgICAgYXR0cnMgPSBzZXQoZGlyKG1vY2spKQorICAgICAgICB0eXBlX2F0dHJzID0gc2V0KFttIGZvciBtIGluIGRpcihNb2NrKSBpZiBub3QgbS5zdGFydHN3aXRoKCdfJyldKQorCisgICAgICAgICMgYWxsIHB1YmxpYyBhdHRyaWJ1dGVzIGZyb20gdGhlIHR5cGUgYXJlIGluY2x1ZGVkCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2V0KCksIHR5cGVfYXR0cnMgLSBhdHRycykKKworICAgICAgICAjIGNyZWF0ZXMgdGhlc2UgYXR0cmlidXRlcworICAgICAgICBtb2NrLmEsIG1vY2suYgorICAgICAgICBzZWxmLmFzc2VydEluKCdhJywgZGlyKG1vY2spKQorICAgICAgICBzZWxmLmFzc2VydEluKCdiJywgZGlyKG1vY2spKQorCisgICAgICAgICMgaW5zdGFuY2UgYXR0cmlidXRlcworICAgICAgICBtb2NrLmMgPSBtb2NrLmQgPSBOb25lCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ2MnLCBkaXIobW9jaykpCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oJ2QnLCBkaXIobW9jaykpCisKKyAgICAgICAgIyBtYWdpYyBtZXRob2RzCisgICAgICAgIG1vY2suX19pdGVyX18gPSBsYW1iZGEgczogaXRlcihbXSkKKyAgICAgICAgc2VsZi5hc3NlcnRJbignX19pdGVyX18nLCBkaXIobW9jaykpCisKKworICAgIGRlZiB0ZXN0X2Rpcl9mcm9tX3NwZWMoc2VsZik6CisgICAgICAgIG1vY2sgPSBNb2NrKHNwZWM9dW5pdHRlc3QuVGVzdENhc2UpCisgICAgICAgIHRlc3RjYXNlX2F0dHJzID0gc2V0KGRpcih1bml0dGVzdC5UZXN0Q2FzZSkpCisgICAgICAgIGF0dHJzID0gc2V0KGRpcihtb2NrKSkKKworICAgICAgICAjIGFsbCBhdHRyaWJ1dGVzIGZyb20gdGhlIHNwZWMgYXJlIGluY2x1ZGVkCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2V0KCksIHRlc3RjYXNlX2F0dHJzIC0gYXR0cnMpCisKKyAgICAgICAgIyBzaGFkb3cgYSBzeXMgYXR0cmlidXRlCisgICAgICAgIG1vY2sudmVyc2lvbiA9IDMKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkaXIobW9jaykuY291bnQoJ3ZlcnNpb24nKSwgMSkKKworCisgICAgZGVmIHRlc3RfZmlsdGVyX2RpcihzZWxmKToKKyAgICAgICAgcGF0Y2hlciA9IHBhdGNoLm9iamVjdChtb2NrLCAnRklMVEVSX0RJUicsIEZhbHNlKQorICAgICAgICBwYXRjaGVyLnN0YXJ0KCkKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgYXR0cnMgPSBzZXQoZGlyKE1vY2soKSkpCisgICAgICAgICAgICB0eXBlX2F0dHJzID0gc2V0KGRpcihNb2NrKSkKKworICAgICAgICAgICAgIyBBTEwgYXR0cmlidXRlcyBmcm9tIHRoZSB0eXBlIGFyZSBpbmNsdWRlZAorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZXQoKSwgdHlwZV9hdHRycyAtIGF0dHJzKQorICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgcGF0Y2hlci5zdG9wKCkKKworCisgICAgZGVmIHRlc3RfY29uZmlndXJlX21vY2soc2VsZik6CisgICAgICAgIG1vY2sgPSBNb2NrKGZvbz0nYmFyJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb2NrLmZvbywgJ2JhcicpCisKKyAgICAgICAgbW9jayA9IE1hZ2ljTW9jayhmb289J2JhcicpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9jay5mb28sICdiYXInKQorCisgICAgICAgIGt3YXJncyA9IHsnc2lkZV9lZmZlY3QnOiBLZXlFcnJvciwgJ2Zvby5iYXIucmV0dXJuX3ZhbHVlJzogMzMsCisgICAgICAgICAgICAgICAgICAnZm9vJzogTWFnaWNNb2NrKCl9CisgICAgICAgIG1vY2sgPSBNb2NrKCoqa3dhcmdzKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhLZXlFcnJvciwgbW9jaykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb2NrLmZvby5iYXIoKSwgMzMpCisgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShtb2NrLmZvbywgTWFnaWNNb2NrKQorCisgICAgICAgIG1vY2sgPSBNb2NrKCkKKyAgICAgICAgbW9jay5jb25maWd1cmVfbW9jaygqKmt3YXJncykKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoS2V5RXJyb3IsIG1vY2spCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9jay5mb28uYmFyKCksIDMzKQorICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2UobW9jay5mb28sIE1hZ2ljTW9jaykKKworCisgICAgZGVmIGFzc2VydFJhaXNlc1dpdGhNc2coc2VsZiwgZXhjZXB0aW9uLCBtZXNzYWdlLCBmdW5jLCAqYXJncywgKiprd2FyZ3MpOgorICAgICAgICAjIG5lZWRlZCBiZWNhdXNlIGFzc2VydFJhaXNlc1JlZ2V4IGRvZXNuJ3Qgd29yayBlYXNpbHkgd2l0aCBuZXdsaW5lcworICAgICAgICB0cnk6CisgICAgICAgICAgICBmdW5jKCphcmdzLCAqKmt3YXJncykKKyAgICAgICAgZXhjZXB0OgorICAgICAgICAgICAgaW5zdGFuY2UgPSBzeXMuZXhjX2luZm8oKVsxXQorICAgICAgICAgICAgc2VsZi5hc3NlcnRJc0luc3RhbmNlKGluc3RhbmNlLCBleGNlcHRpb24pCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzZWxmLmZhaWwoJ0V4Y2VwdGlvbiAlciBub3QgcmFpc2VkJyAlIChleGNlcHRpb24sKSkKKworICAgICAgICBtc2cgPSBzdHIoaW5zdGFuY2UpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobXNnLCBtZXNzYWdlKQorCisKKyAgICBkZWYgdGVzdF9hc3NlcnRfY2FsbGVkX3dpdGhfZmFpbHVyZV9tZXNzYWdlKHNlbGYpOgorICAgICAgICBtb2NrID0gTm9uQ2FsbGFibGVNb2NrKCkKKworICAgICAgICBleHBlY3RlZCA9ICJtb2NrKDEsICcyJywgMywgYmFyPSdmb28nKSIKKyAgICAgICAgbWVzc2FnZSA9ICdFeHBlY3RlZCBjYWxsOiAlc1xuTm90IGNhbGxlZCcKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXNXaXRoTXNnKAorICAgICAgICAgICAgQXNzZXJ0aW9uRXJyb3IsIG1lc3NhZ2UgJSAoZXhwZWN0ZWQsKSwKKyAgICAgICAgICAgIG1vY2suYXNzZXJ0X2NhbGxlZF93aXRoLCAxLCAnMicsIDMsIGJhcj0nZm9vJworICAgICAgICApCisKKyAgICAgICAgbW9jay5mb28oMSwgJzInLCAzLCBmb289J2ZvbycpCisKKworICAgICAgICBhc3NlcnRlcnMgPSBbCisgICAgICAgICAgICBtb2NrLmZvby5hc3NlcnRfY2FsbGVkX3dpdGgsIG1vY2suZm9vLmFzc2VydF9jYWxsZWRfb25jZV93aXRoCisgICAgICAgIF0KKyAgICAgICAgZm9yIG1ldGggaW4gYXNzZXJ0ZXJzOgorICAgICAgICAgICAgYWN0dWFsID0gImZvbygxLCAnMicsIDMsIGZvbz0nZm9vJykiCisgICAgICAgICAgICBleHBlY3RlZCA9ICJmb28oMSwgJzInLCAzLCBiYXI9J2ZvbycpIgorICAgICAgICAgICAgbWVzc2FnZSA9ICdFeHBlY3RlZCBjYWxsOiAlc1xuQWN0dWFsIGNhbGw6ICVzJworICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXNXaXRoTXNnKAorICAgICAgICAgICAgICAgIEFzc2VydGlvbkVycm9yLCBtZXNzYWdlICUgKGV4cGVjdGVkLCBhY3R1YWwpLAorICAgICAgICAgICAgICAgIG1ldGgsIDEsICcyJywgMywgYmFyPSdmb28nCisgICAgICAgICAgICApCisKKyAgICAgICAgIyBqdXN0IGt3YXJncworICAgICAgICBmb3IgbWV0aCBpbiBhc3NlcnRlcnM6CisgICAgICAgICAgICBhY3R1YWwgPSAiZm9vKDEsICcyJywgMywgZm9vPSdmb28nKSIKKyAgICAgICAgICAgIGV4cGVjdGVkID0gImZvbyhiYXI9J2ZvbycpIgorICAgICAgICAgICAgbWVzc2FnZSA9ICdFeHBlY3RlZCBjYWxsOiAlc1xuQWN0dWFsIGNhbGw6ICVzJworICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXNXaXRoTXNnKAorICAgICAgICAgICAgICAgIEFzc2VydGlvbkVycm9yLCBtZXNzYWdlICUgKGV4cGVjdGVkLCBhY3R1YWwpLAorICAgICAgICAgICAgICAgIG1ldGgsIGJhcj0nZm9vJworICAgICAgICAgICAgKQorCisgICAgICAgICMganVzdCBhcmdzCisgICAgICAgIGZvciBtZXRoIGluIGFzc2VydGVyczoKKyAgICAgICAgICAgIGFjdHVhbCA9ICJmb28oMSwgJzInLCAzLCBmb289J2ZvbycpIgorICAgICAgICAgICAgZXhwZWN0ZWQgPSAiZm9vKDEsIDIsIDMpIgorICAgICAgICAgICAgbWVzc2FnZSA9ICdFeHBlY3RlZCBjYWxsOiAlc1xuQWN0dWFsIGNhbGw6ICVzJworICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXNXaXRoTXNnKAorICAgICAgICAgICAgICAgIEFzc2VydGlvbkVycm9yLCBtZXNzYWdlICUgKGV4cGVjdGVkLCBhY3R1YWwpLAorICAgICAgICAgICAgICAgIG1ldGgsIDEsIDIsIDMKKyAgICAgICAgICAgICkKKworICAgICAgICAjIGVtcHR5CisgICAgICAgIGZvciBtZXRoIGluIGFzc2VydGVyczoKKyAgICAgICAgICAgIGFjdHVhbCA9ICJmb28oMSwgJzInLCAzLCBmb289J2ZvbycpIgorICAgICAgICAgICAgZXhwZWN0ZWQgPSAiZm9vKCkiCisgICAgICAgICAgICBtZXNzYWdlID0gJ0V4cGVjdGVkIGNhbGw6ICVzXG5BY3R1YWwgY2FsbDogJXMnCisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlc1dpdGhNc2coCisgICAgICAgICAgICAgICAgQXNzZXJ0aW9uRXJyb3IsIG1lc3NhZ2UgJSAoZXhwZWN0ZWQsIGFjdHVhbCksIG1ldGgKKyAgICAgICAgICAgICkKKworCisgICAgZGVmIHRlc3RfbW9ja19jYWxscyhzZWxmKToKKyAgICAgICAgbW9jayA9IE1hZ2ljTW9jaygpCisKKyAgICAgICAgIyBuZWVkIHRvIGRvIHRoaXMgYmVjYXVzZSBNYWdpY01vY2subW9ja19jYWxscyB1c2VkIHRvIGp1c3QgcmV0dXJuCisgICAgICAgICMgYSBNYWdpY01vY2sgd2hpY2ggYWxzbyByZXR1cm5lZCBhIE1hZ2ljTW9jayB3aGVuIF9fZXFfXyB3YXMgY2FsbGVkCisgICAgICAgIHNlbGYuYXNzZXJ0SXMobW9jay5tb2NrX2NhbGxzID09IFtdLCBUcnVlKQorCisgICAgICAgIG1vY2sgPSBNYWdpY01vY2soKQorICAgICAgICBtb2NrKCkKKyAgICAgICAgZXhwZWN0ZWQgPSBbKCcnLCAoKSwge30pXQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vY2subW9ja19jYWxscywgZXhwZWN0ZWQpCisKKyAgICAgICAgbW9jay5mb28oKQorICAgICAgICBleHBlY3RlZC5hcHBlbmQoY2FsbC5mb28oKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb2NrLm1vY2tfY2FsbHMsIGV4cGVjdGVkKQorICAgICAgICAjIGludGVybWVkaWF0ZSBtb2NrX2NhbGxzIHdvcmsgdG9vCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9jay5mb28ubW9ja19jYWxscywgWygnJywgKCksIHt9KV0pCisKKyAgICAgICAgbW9jayA9IE1hZ2ljTW9jaygpCisgICAgICAgIG1vY2soKS5mb28oMSwgMiwgMywgYT00LCBiPTUpCisgICAgICAgIGV4cGVjdGVkID0gWworICAgICAgICAgICAgKCcnLCAoKSwge30pLCAoJygpLmZvbycsICgxLCAyLCAzKSwgZGljdChhPTQsIGI9NSkpCisgICAgICAgIF0KKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb2NrLm1vY2tfY2FsbHMsIGV4cGVjdGVkKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vY2sucmV0dXJuX3ZhbHVlLmZvby5tb2NrX2NhbGxzLAorICAgICAgICAgICAgICAgICAgICAgICAgIFsoJycsICgxLCAyLCAzKSwgZGljdChhPTQsIGI9NSkpXSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb2NrLnJldHVybl92YWx1ZS5tb2NrX2NhbGxzLAorICAgICAgICAgICAgICAgICAgICAgICAgIFsoJ2ZvbycsICgxLCAyLCAzKSwgZGljdChhPTQsIGI9NSkpXSkKKworICAgICAgICBtb2NrID0gTWFnaWNNb2NrKCkKKyAgICAgICAgbW9jaygpLmZvby5iYXIoKS5iYXooKQorICAgICAgICBleHBlY3RlZCA9IFsKKyAgICAgICAgICAgICgnJywgKCksIHt9KSwgKCcoKS5mb28uYmFyJywgKCksIHt9KSwKKyAgICAgICAgICAgICgnKCkuZm9vLmJhcigpLmJheicsICgpLCB7fSkKKyAgICAgICAgXQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vY2subW9ja19jYWxscywgZXhwZWN0ZWQpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9jaygpLm1vY2tfY2FsbHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgY2FsbC5mb28uYmFyKCkuYmF6KCkuY2FsbF9saXN0KCkpCisKKyAgICAgICAgZm9yIGt3YXJncyBpbiBkaWN0KCksIGRpY3QobmFtZT0nYmFyJyk6CisgICAgICAgICAgICBtb2NrID0gTWFnaWNNb2NrKCoqa3dhcmdzKQorICAgICAgICAgICAgaW50KG1vY2suZm9vKQorICAgICAgICAgICAgZXhwZWN0ZWQgPSBbKCdmb28uX19pbnRfXycsICgpLCB7fSldCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vY2subW9ja19jYWxscywgZXhwZWN0ZWQpCisKKyAgICAgICAgICAgIG1vY2sgPSBNYWdpY01vY2soKiprd2FyZ3MpCisgICAgICAgICAgICBtb2NrLmEoKSgpCisgICAgICAgICAgICBleHBlY3RlZCA9IFsoJ2EnLCAoKSwge30pLCAoJ2EoKScsICgpLCB7fSldCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vY2subW9ja19jYWxscywgZXhwZWN0ZWQpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vY2suYSgpLm1vY2tfY2FsbHMsIFtjYWxsKCldKQorCisgICAgICAgICAgICBtb2NrID0gTWFnaWNNb2NrKCoqa3dhcmdzKQorICAgICAgICAgICAgbW9jaygxKSgyKSgzKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb2NrLm1vY2tfY2FsbHMsIGNhbGwoMSkoMikoMykuY2FsbF9saXN0KCkpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vY2soKS5tb2NrX2NhbGxzLCBjYWxsKDIpKDMpLmNhbGxfbGlzdCgpKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb2NrKCkoKS5tb2NrX2NhbGxzLCBjYWxsKDMpLmNhbGxfbGlzdCgpKQorCisgICAgICAgICAgICBtb2NrID0gTWFnaWNNb2NrKCoqa3dhcmdzKQorICAgICAgICAgICAgbW9jaygxKSgyKSgzKS5hLmIuYyg0KQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb2NrLm1vY2tfY2FsbHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbGwoMSkoMikoMykuYS5iLmMoNCkuY2FsbF9saXN0KCkpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vY2soKS5tb2NrX2NhbGxzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxsKDIpKDMpLmEuYi5jKDQpLmNhbGxfbGlzdCgpKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb2NrKCkoKS5tb2NrX2NhbGxzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxsKDMpLmEuYi5jKDQpLmNhbGxfbGlzdCgpKQorCisgICAgICAgICAgICBtb2NrID0gTWFnaWNNb2NrKCoqa3dhcmdzKQorICAgICAgICAgICAgaW50KG1vY2soKS5mb28uYmFyKCkuYmF6KCkpCisgICAgICAgICAgICBsYXN0X2NhbGwgPSAoJygpLmZvby5iYXIoKS5iYXooKS5fX2ludF9fJywgKCksIHt9KQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb2NrLm1vY2tfY2FsbHNbLTFdLCBsYXN0X2NhbGwpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vY2soKS5tb2NrX2NhbGxzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxsLmZvby5iYXIoKS5iYXooKS5fX2ludF9fKCkuY2FsbF9saXN0KCkpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vY2soKS5mb28uYmFyKCkubW9ja19jYWxscywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsbC5iYXooKS5fX2ludF9fKCkuY2FsbF9saXN0KCkpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vY2soKS5mb28uYmFyKCkuYmF6Lm1vY2tfY2FsbHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbGwoKS5fX2ludF9fKCkuY2FsbF9saXN0KCkpCisKKworICAgIGRlZiB0ZXN0X3N1YmNsYXNzaW5nKHNlbGYpOgorICAgICAgICBjbGFzcyBTdWJjbGFzcyhNb2NrKToKKyAgICAgICAgICAgIHBhc3MKKworICAgICAgICBtb2NrID0gU3ViY2xhc3MoKQorICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2UobW9jay5mb28sIFN1YmNsYXNzKQorICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2UobW9jaygpLCBTdWJjbGFzcykKKworICAgICAgICBjbGFzcyBTdWJjbGFzcyhNb2NrKToKKyAgICAgICAgICAgIGRlZiBfZ2V0X2NoaWxkX21vY2soc2VsZiwgKiprd2FyZ3MpOgorICAgICAgICAgICAgICAgIHJldHVybiBNb2NrKCoqa3dhcmdzKQorCisgICAgICAgIG1vY2sgPSBTdWJjbGFzcygpCisgICAgICAgIHNlbGYuYXNzZXJ0Tm90SXNJbnN0YW5jZShtb2NrLmZvbywgU3ViY2xhc3MpCisgICAgICAgIHNlbGYuYXNzZXJ0Tm90SXNJbnN0YW5jZShtb2NrKCksIFN1YmNsYXNzKQorCisKKyAgICBkZWYgdGVzdF9hcmdfbGlzdHMoc2VsZik6CisgICAgICAgIG1vY2tzID0gWworICAgICAgICAgICAgTW9jaygpLAorICAgICAgICAgICAgTWFnaWNNb2NrKCksCisgICAgICAgICAgICBOb25DYWxsYWJsZU1vY2soKSwKKyAgICAgICAgICAgIE5vbkNhbGxhYmxlTWFnaWNNb2NrKCkKKyAgICAgICAgXQorCisgICAgICAgIGRlZiBhc3NlcnRfYXR0cnMobW9jayk6CisgICAgICAgICAgICBuYW1lcyA9ICdjYWxsX2FyZ3NfbGlzdCcsICdtZXRob2RfY2FsbHMnLCAnbW9ja19jYWxscycKKyAgICAgICAgICAgIGZvciBuYW1lIGluIG5hbWVzOgorICAgICAgICAgICAgICAgIGF0dHIgPSBnZXRhdHRyKG1vY2ssIG5hbWUpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRJc0luc3RhbmNlKGF0dHIsIF9DYWxsTGlzdCkKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2UoYXR0ciwgbGlzdCkKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGF0dHIsIFtdKQorCisgICAgICAgIGZvciBtb2NrIGluIG1vY2tzOgorICAgICAgICAgICAgYXNzZXJ0X2F0dHJzKG1vY2spCisKKyAgICAgICAgICAgIGlmIGNhbGxhYmxlKG1vY2spOgorICAgICAgICAgICAgICAgIG1vY2soKQorICAgICAgICAgICAgICAgIG1vY2soMSwgMikKKyAgICAgICAgICAgICAgICBtb2NrKGE9MykKKworICAgICAgICAgICAgICAgIG1vY2sucmVzZXRfbW9jaygpCisgICAgICAgICAgICAgICAgYXNzZXJ0X2F0dHJzKG1vY2spCisKKyAgICAgICAgICAgIG1vY2suZm9vKCkKKyAgICAgICAgICAgIG1vY2suZm9vLmJhcigxLCBhPTMpCisgICAgICAgICAgICBtb2NrLmZvbygxKS5iYXIoKS5iYXooMykKKworICAgICAgICAgICAgbW9jay5yZXNldF9tb2NrKCkKKyAgICAgICAgICAgIGFzc2VydF9hdHRycyhtb2NrKQorCisKKyAgICBkZWYgdGVzdF9jYWxsX2FyZ3NfdHdvX3R1cGxlKHNlbGYpOgorICAgICAgICBtb2NrID0gTW9jaygpCisgICAgICAgIG1vY2soMSwgYT0zKQorICAgICAgICBtb2NrKDIsIGI9NCkKKworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihtb2NrLmNhbGxfYXJncyksIDIpCisgICAgICAgIGFyZ3MsIGt3YXJncyA9IG1vY2suY2FsbF9hcmdzCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoYXJncywgKDIsKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChrd2FyZ3MsIGRpY3QoYj00KSkKKworICAgICAgICBleHBlY3RlZF9saXN0ID0gWygoMSwpLCBkaWN0KGE9MykpLCAoKDIsKSwgZGljdChiPTQpKV0KKyAgICAgICAgZm9yIGV4cGVjdGVkLCBjYWxsX2FyZ3MgaW4gemlwKGV4cGVjdGVkX2xpc3QsIG1vY2suY2FsbF9hcmdzX2xpc3QpOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oY2FsbF9hcmdzKSwgMikKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXhwZWN0ZWRbMF0sIGNhbGxfYXJnc1swXSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZXhwZWN0ZWRbMV0sIGNhbGxfYXJnc1sxXSkKKworCisgICAgZGVmIHRlc3Rfc2lkZV9lZmZlY3RfaXRlcmF0b3Ioc2VsZik6CisgICAgICAgIG1vY2sgPSBNb2NrKHNpZGVfZWZmZWN0PWl0ZXIoWzEsIDIsIDNdKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChbbW9jaygpLCBtb2NrKCksIG1vY2soKV0sIFsxLCAyLCAzXSkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoU3RvcEl0ZXJhdGlvbiwgbW9jaykKKworICAgICAgICBtb2NrID0gTWFnaWNNb2NrKHNpZGVfZWZmZWN0PVsnYScsICdiJywgJ2MnXSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChbbW9jaygpLCBtb2NrKCksIG1vY2soKV0sIFsnYScsICdiJywgJ2MnXSkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoU3RvcEl0ZXJhdGlvbiwgbW9jaykKKworICAgICAgICBtb2NrID0gTW9jayhzaWRlX2VmZmVjdD0nZ2hpJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChbbW9jaygpLCBtb2NrKCksIG1vY2soKV0sIFsnZycsICdoJywgJ2knXSkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoU3RvcEl0ZXJhdGlvbiwgbW9jaykKKworICAgICAgICBjbGFzcyBGb28ob2JqZWN0KToKKyAgICAgICAgICAgIHBhc3MKKyAgICAgICAgbW9jayA9IE1hZ2ljTW9jayhzaWRlX2VmZmVjdD1Gb28pCisgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShtb2NrKCksIEZvbykKKworICAgICAgICBtb2NrID0gTW9jayhzaWRlX2VmZmVjdD1JdGVyKCkpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoW21vY2soKSwgbW9jaygpLCBtb2NrKCksIG1vY2soKV0sCisgICAgICAgICAgICAgICAgICAgICAgICAgWyd0aGlzJywgJ2lzJywgJ2FuJywgJ2l0ZXInXSkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoU3RvcEl0ZXJhdGlvbiwgbW9jaykKKworCisgICAgZGVmIHRlc3Rfc2lkZV9lZmZlY3Rfc2V0dGluZ19pdGVyYXRvcihzZWxmKToKKyAgICAgICAgbW9jayA9IE1vY2soKQorICAgICAgICBtb2NrLnNpZGVfZWZmZWN0ID0gaXRlcihbMSwgMiwgM10pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoW21vY2soKSwgbW9jaygpLCBtb2NrKCldLCBbMSwgMiwgM10pCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFN0b3BJdGVyYXRpb24sIG1vY2spCisgICAgICAgIHNpZGVfZWZmZWN0ID0gbW9jay5zaWRlX2VmZmVjdAorICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2Uoc2lkZV9lZmZlY3QsIHR5cGUoaXRlcihbXSkpKQorCisgICAgICAgIG1vY2suc2lkZV9lZmZlY3QgPSBbJ2EnLCAnYicsICdjJ10KKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChbbW9jaygpLCBtb2NrKCksIG1vY2soKV0sIFsnYScsICdiJywgJ2MnXSkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoU3RvcEl0ZXJhdGlvbiwgbW9jaykKKyAgICAgICAgc2lkZV9lZmZlY3QgPSBtb2NrLnNpZGVfZWZmZWN0CisgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShzaWRlX2VmZmVjdCwgdHlwZShpdGVyKFtdKSkpCisKKyAgICAgICAgdGhpc19pdGVyID0gSXRlcigpCisgICAgICAgIG1vY2suc2lkZV9lZmZlY3QgPSB0aGlzX2l0ZXIKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChbbW9jaygpLCBtb2NrKCksIG1vY2soKSwgbW9jaygpXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBbJ3RoaXMnLCAnaXMnLCAnYW4nLCAnaXRlciddKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhTdG9wSXRlcmF0aW9uLCBtb2NrKQorICAgICAgICBzZWxmLmFzc2VydElzKG1vY2suc2lkZV9lZmZlY3QsIHRoaXNfaXRlcikKKworCisgICAgZGVmIHRlc3RfYXNzZXJ0X2hhc19jYWxsc19hbnlfb3JkZXIoc2VsZik6CisgICAgICAgIG1vY2sgPSBNb2NrKCkKKyAgICAgICAgbW9jaygxLCAyKQorICAgICAgICBtb2NrKGE9MykKKyAgICAgICAgbW9jaygzLCA0KQorICAgICAgICBtb2NrKGI9NikKKyAgICAgICAgbW9jayhiPTYpCisKKyAgICAgICAga2FsbHMgPSBbCisgICAgICAgICAgICBjYWxsKDEsIDIpLCAoeydhJzogM30sKSwKKyAgICAgICAgICAgICgoMywgNCksKSwgKCgpLCB7J2EnOiAzfSksCisgICAgICAgICAgICAoJycsICgxLCAyKSksICgnJywgeydhJzogM30pLAorICAgICAgICAgICAgKCcnLCAoMSwgMiksIHt9KSwgKCcnLCAoKSwgeydhJzogM30pCisgICAgICAgIF0KKyAgICAgICAgZm9yIGthbGwgaW4ga2FsbHM6CisgICAgICAgICAgICBtb2NrLmFzc2VydF9oYXNfY2FsbHMoW2thbGxdLCBhbnlfb3JkZXI9VHJ1ZSkKKworICAgICAgICBmb3Iga2FsbCBpbiBjYWxsKDEsICcyJyksIGNhbGwoYj0zKSwgY2FsbCgpLCAzLCBOb25lLCAnZm9vJzoKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKAorICAgICAgICAgICAgICAgIEFzc2VydGlvbkVycm9yLCBtb2NrLmFzc2VydF9oYXNfY2FsbHMsCisgICAgICAgICAgICAgICAgW2thbGxdLCBhbnlfb3JkZXI9VHJ1ZQorICAgICAgICAgICAgKQorCisgICAgICAgIGthbGxfbGlzdHMgPSBbCisgICAgICAgICAgICBbY2FsbCgxLCAyKSwgY2FsbChiPTYpXSwKKyAgICAgICAgICAgIFtjYWxsKDMsIDQpLCBjYWxsKDEsIDIpXSwKKyAgICAgICAgICAgIFtjYWxsKGI9NiksIGNhbGwoYj02KV0sCisgICAgICAgIF0KKworICAgICAgICBmb3Iga2FsbF9saXN0IGluIGthbGxfbGlzdHM6CisgICAgICAgICAgICBtb2NrLmFzc2VydF9oYXNfY2FsbHMoa2FsbF9saXN0LCBhbnlfb3JkZXI9VHJ1ZSkKKworICAgICAgICBrYWxsX2xpc3RzID0gWworICAgICAgICAgICAgW2NhbGwoYj02KSwgY2FsbChiPTYpLCBjYWxsKGI9NildLAorICAgICAgICAgICAgW2NhbGwoMSwgMiksIGNhbGwoMSwgMildLAorICAgICAgICAgICAgW2NhbGwoMywgNCksIGNhbGwoMSwgMiksIGNhbGwoNSwgNyldLAorICAgICAgICAgICAgW2NhbGwoYj02KSwgY2FsbCgzLCA0KSwgY2FsbChiPTYpLCBjYWxsKDEsIDIpLCBjYWxsKGI9NildLAorICAgICAgICBdCisgICAgICAgIGZvciBrYWxsX2xpc3QgaW4ga2FsbF9saXN0czoKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKAorICAgICAgICAgICAgICAgIEFzc2VydGlvbkVycm9yLCBtb2NrLmFzc2VydF9oYXNfY2FsbHMsCisgICAgICAgICAgICAgICAga2FsbF9saXN0LCBhbnlfb3JkZXI9VHJ1ZQorICAgICAgICAgICAgKQorCisgICAgZGVmIHRlc3RfYXNzZXJ0X2hhc19jYWxscyhzZWxmKToKKyAgICAgICAga2FsbHMxID0gWworICAgICAgICAgICAgICAgIGNhbGwoMSwgMiksICh7J2EnOiAzfSwpLAorICAgICAgICAgICAgICAgICgoMywgNCksKSwgY2FsbChiPTYpLAorICAgICAgICAgICAgICAgICgnJywgKDEsKSwgeydiJzogNn0pLAorICAgICAgICBdCisgICAgICAgIGthbGxzMiA9IFtjYWxsLmZvbygpLCBjYWxsLmJhcigxKV0KKyAgICAgICAga2FsbHMyLmV4dGVuZChjYWxsLnNwYW0oKS5iYXooYT0zKS5jYWxsX2xpc3QoKSkKKyAgICAgICAga2FsbHMyLmV4dGVuZChjYWxsLmJhbShzZXQoKSwgZm9vPXt9KS5maXNoKFsxXSkuY2FsbF9saXN0KCkpCisKKyAgICAgICAgbW9ja3MgPSBbXQorICAgICAgICBmb3IgbW9jayBpbiBNb2NrKCksIE1hZ2ljTW9jaygpOgorICAgICAgICAgICAgbW9jaygxLCAyKQorICAgICAgICAgICAgbW9jayhhPTMpCisgICAgICAgICAgICBtb2NrKDMsIDQpCisgICAgICAgICAgICBtb2NrKGI9NikKKyAgICAgICAgICAgIG1vY2soMSwgYj02KQorICAgICAgICAgICAgbW9ja3MuYXBwZW5kKChtb2NrLCBrYWxsczEpKQorCisgICAgICAgIG1vY2sgPSBNb2NrKCkKKyAgICAgICAgbW9jay5mb28oKQorICAgICAgICBtb2NrLmJhcigxKQorICAgICAgICBtb2NrLnNwYW0oKS5iYXooYT0zKQorICAgICAgICBtb2NrLmJhbShzZXQoKSwgZm9vPXt9KS5maXNoKFsxXSkKKyAgICAgICAgbW9ja3MuYXBwZW5kKChtb2NrLCBrYWxsczIpKQorCisgICAgICAgIGZvciBtb2NrLCBrYWxscyBpbiBtb2NrczoKKyAgICAgICAgICAgIGZvciBpIGluIHJhbmdlKGxlbihrYWxscykpOgorICAgICAgICAgICAgICAgIGZvciBzdGVwIGluIDEsIDIsIDM6CisgICAgICAgICAgICAgICAgICAgIHRoZXNlID0ga2FsbHNbaTppK3N0ZXBdCisgICAgICAgICAgICAgICAgICAgIG1vY2suYXNzZXJ0X2hhc19jYWxscyh0aGVzZSkKKworICAgICAgICAgICAgICAgICAgICBpZiBsZW4odGhlc2UpID4gMToKKyAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFzc2VydGlvbkVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vY2suYXNzZXJ0X2hhc19jYWxscywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0KHJldmVyc2VkKHRoZXNlKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICkKKworCisgICAgZGVmIHRlc3RfYXNzZXJ0X2FueV9jYWxsKHNlbGYpOgorICAgICAgICBtb2NrID0gTW9jaygpCisgICAgICAgIG1vY2soMSwgMikKKyAgICAgICAgbW9jayhhPTMpCisgICAgICAgIG1vY2soMSwgYj02KQorCisgICAgICAgIG1vY2suYXNzZXJ0X2FueV9jYWxsKDEsIDIpCisgICAgICAgIG1vY2suYXNzZXJ0X2FueV9jYWxsKGE9MykKKyAgICAgICAgbW9jay5hc3NlcnRfYW55X2NhbGwoMSwgYj02KQorCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKAorICAgICAgICAgICAgQXNzZXJ0aW9uRXJyb3IsCisgICAgICAgICAgICBtb2NrLmFzc2VydF9hbnlfY2FsbAorICAgICAgICApCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKAorICAgICAgICAgICAgQXNzZXJ0aW9uRXJyb3IsCisgICAgICAgICAgICBtb2NrLmFzc2VydF9hbnlfY2FsbCwKKyAgICAgICAgICAgIDEsIDMKKyAgICAgICAgKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcygKKyAgICAgICAgICAgIEFzc2VydGlvbkVycm9yLAorICAgICAgICAgICAgbW9jay5hc3NlcnRfYW55X2NhbGwsCisgICAgICAgICAgICBhPTQKKyAgICAgICAgKQorCisKKyAgICBkZWYgdGVzdF9tb2NrX2NhbGxzX2NyZWF0ZV9hdXRvc3BlYyhzZWxmKToKKyAgICAgICAgZGVmIGYoYSwgYik6CisgICAgICAgICAgICBwYXNzCisgICAgICAgIG9iaiA9IEl0ZXIoKQorICAgICAgICBvYmouZiA9IGYKKworICAgICAgICBmdW5jcyA9IFsKKyAgICAgICAgICAgIGNyZWF0ZV9hdXRvc3BlYyhmKSwKKyAgICAgICAgICAgIGNyZWF0ZV9hdXRvc3BlYyhvYmopLmYKKyAgICAgICAgXQorICAgICAgICBmb3IgZnVuYyBpbiBmdW5jczoKKyAgICAgICAgICAgIGZ1bmMoMSwgMikKKyAgICAgICAgICAgIGZ1bmMoMywgNCkKKworICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgICAgICBmdW5jLm1vY2tfY2FsbHMsIFtjYWxsKDEsIDIpLCBjYWxsKDMsIDQpXQorICAgICAgICAgICAgKQorCisKKyAgICBkZWYgdGVzdF9tb2NrX2FkZF9zcGVjKHNlbGYpOgorICAgICAgICBjbGFzcyBfT25lKG9iamVjdCk6CisgICAgICAgICAgICBvbmUgPSAxCisgICAgICAgIGNsYXNzIF9Ud28ob2JqZWN0KToKKyAgICAgICAgICAgIHR3byA9IDIKKyAgICAgICAgY2xhc3MgQW55dGhpbmcob2JqZWN0KToKKyAgICAgICAgICAgIG9uZSA9IHR3byA9IHRocmVlID0gJ2ZvdXInCisKKyAgICAgICAga2xhc3NlcyA9IFsKKyAgICAgICAgICAgIE1vY2ssIE1hZ2ljTW9jaywgTm9uQ2FsbGFibGVNb2NrLCBOb25DYWxsYWJsZU1hZ2ljTW9jaworICAgICAgICBdCisgICAgICAgIGZvciBLbGFzcyBpbiBsaXN0KGtsYXNzZXMpOgorICAgICAgICAgICAga2xhc3Nlcy5hcHBlbmQobGFtYmRhIEs9S2xhc3M6IEsoc3BlYz1Bbnl0aGluZykpCisgICAgICAgICAgICBrbGFzc2VzLmFwcGVuZChsYW1iZGEgSz1LbGFzczogSyhzcGVjX3NldD1Bbnl0aGluZykpCisKKyAgICAgICAgZm9yIEtsYXNzIGluIGtsYXNzZXM6CisgICAgICAgICAgICBmb3Iga3dhcmdzIGluIGRpY3QoKSwgZGljdChzcGVjX3NldD1UcnVlKToKKyAgICAgICAgICAgICAgICBtb2NrID0gS2xhc3MoKQorICAgICAgICAgICAgICAgICNubyBlcnJvcgorICAgICAgICAgICAgICAgIG1vY2sub25lLCBtb2NrLnR3bywgbW9jay50aHJlZQorCisgICAgICAgICAgICAgICAgZm9yIE9uZSwgVHdvIGluIFsoX09uZSwgX1R3byksIChbJ29uZSddLCBbJ3R3byddKV06CisgICAgICAgICAgICAgICAgICAgIGZvciBrd2FyZ3MgaW4gZGljdCgpLCBkaWN0KHNwZWNfc2V0PVRydWUpOgorICAgICAgICAgICAgICAgICAgICAgICAgbW9jay5tb2NrX2FkZF9zcGVjKE9uZSwgKiprd2FyZ3MpCisKKyAgICAgICAgICAgICAgICAgICAgICAgIG1vY2sub25lCisgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcygKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBBdHRyaWJ1dGVFcnJvciwgZ2V0YXR0ciwgbW9jaywgJ3R3bycKKyAgICAgICAgICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIEF0dHJpYnV0ZUVycm9yLCBnZXRhdHRyLCBtb2NrLCAndGhyZWUnCisgICAgICAgICAgICAgICAgICAgICAgICApCisgICAgICAgICAgICAgICAgICAgICAgICBpZiAnc3BlY19zZXQnIGluIGt3YXJnczoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcygKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQXR0cmlidXRlRXJyb3IsIHNldGF0dHIsIG1vY2ssICd0aHJlZScsIE5vbmUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICApCisKKyAgICAgICAgICAgICAgICAgICAgICAgIG1vY2subW9ja19hZGRfc3BlYyhUd28sICoqa3dhcmdzKQorICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgQXR0cmlidXRlRXJyb3IsIGdldGF0dHIsIG1vY2ssICdvbmUnCisgICAgICAgICAgICAgICAgICAgICAgICApCisgICAgICAgICAgICAgICAgICAgICAgICBtb2NrLnR3bworICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgQXR0cmlidXRlRXJyb3IsIGdldGF0dHIsIG1vY2ssICd0aHJlZScKKyAgICAgICAgICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICdzcGVjX3NldCcgaW4ga3dhcmdzOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBdHRyaWJ1dGVFcnJvciwgc2V0YXR0ciwgbW9jaywgJ3RocmVlJywgTm9uZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICMgbm90ZSB0aGF0IGNyZWF0aW5nIGEgbW9jaywgc2V0dGluZyBhbiBpbnN0YW5jZSBhdHRyaWJ1dGUsIGFuZAorICAgICAgICAgICAgIyAqdGhlbiogc2V0dGluZyBhIHNwZWMgZG9lc24ndCB3b3JrLiBOb3QgdGhlIGludGVuZGVkIHVzZSBjYXNlCisKKworICAgIGRlZiB0ZXN0X21vY2tfYWRkX3NwZWNfbWFnaWNfbWV0aG9kcyhzZWxmKToKKyAgICAgICAgZm9yIEtsYXNzIGluIE1hZ2ljTW9jaywgTm9uQ2FsbGFibGVNYWdpY01vY2s6CisgICAgICAgICAgICBtb2NrID0gS2xhc3MoKQorICAgICAgICAgICAgaW50KG1vY2spCisKKyAgICAgICAgICAgIG1vY2subW9ja19hZGRfc3BlYyhvYmplY3QpCisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIGludCwgbW9jaykKKworICAgICAgICAgICAgbW9jayA9IEtsYXNzKCkKKyAgICAgICAgICAgIG1vY2tbJ2ZvbyddCisgICAgICAgICAgICBtb2NrLl9faW50X18ucmV0dXJuX3ZhbHVlID00CisKKyAgICAgICAgICAgIG1vY2subW9ja19hZGRfc3BlYyhpbnQpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGludChtb2NrKSwgNCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgbGFtYmRhOiBtb2NrWydmb28nXSkKKworCisgICAgZGVmIHRlc3RfYWRkaW5nX2NoaWxkX21vY2soc2VsZik6CisgICAgICAgIGZvciBLbGFzcyBpbiBOb25DYWxsYWJsZU1vY2ssIE1vY2ssIE1hZ2ljTW9jaywgTm9uQ2FsbGFibGVNYWdpY01vY2s6CisgICAgICAgICAgICBtb2NrID0gS2xhc3MoKQorCisgICAgICAgICAgICBtb2NrLmZvbyA9IE1vY2soKQorICAgICAgICAgICAgbW9jay5mb28oKQorCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vY2subWV0aG9kX2NhbGxzLCBbY2FsbC5mb28oKV0pCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vY2subW9ja19jYWxscywgW2NhbGwuZm9vKCldKQorCisgICAgICAgICAgICBtb2NrID0gS2xhc3MoKQorICAgICAgICAgICAgbW9jay5iYXIgPSBNb2NrKG5hbWU9J25hbWUnKQorICAgICAgICAgICAgbW9jay5iYXIoKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb2NrLm1ldGhvZF9jYWxscywgW10pCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vY2subW9ja19jYWxscywgW10pCisKKyAgICAgICAgICAgICMgbW9jayB3aXRoIGFuIGV4aXN0aW5nIF9uZXdfcGFyZW50IGJ1dCBubyBuYW1lCisgICAgICAgICAgICBtb2NrID0gS2xhc3MoKQorICAgICAgICAgICAgbW9jay5iYXogPSBNYWdpY01vY2soKSgpCisgICAgICAgICAgICBtb2NrLmJheigpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vY2subWV0aG9kX2NhbGxzLCBbXSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9jay5tb2NrX2NhbGxzLCBbXSkKKworCisgICAgZGVmIHRlc3RfYWRkaW5nX3JldHVybl92YWx1ZV9tb2NrKHNlbGYpOgorICAgICAgICBmb3IgS2xhc3MgaW4gTW9jaywgTWFnaWNNb2NrOgorICAgICAgICAgICAgbW9jayA9IEtsYXNzKCkKKyAgICAgICAgICAgIG1vY2sucmV0dXJuX3ZhbHVlID0gTWFnaWNNb2NrKCkKKworICAgICAgICAgICAgbW9jaygpKCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9jay5tb2NrX2NhbGxzLCBbY2FsbCgpLCBjYWxsKCkoKV0pCisKKworICAgIGRlZiB0ZXN0X21hbmFnZXJfbW9jayhzZWxmKToKKyAgICAgICAgY2xhc3MgRm9vKG9iamVjdCk6CisgICAgICAgICAgICBvbmUgPSAnb25lJworICAgICAgICAgICAgdHdvID0gJ3R3bycKKyAgICAgICAgbWFuYWdlciA9IE1vY2soKQorICAgICAgICBwMSA9IHBhdGNoLm9iamVjdChGb28sICdvbmUnKQorICAgICAgICBwMiA9IHBhdGNoLm9iamVjdChGb28sICd0d28nKQorCisgICAgICAgIG1vY2tfb25lID0gcDEuc3RhcnQoKQorICAgICAgICBzZWxmLmFkZENsZWFudXAocDEuc3RvcCkKKyAgICAgICAgbW9ja190d28gPSBwMi5zdGFydCgpCisgICAgICAgIHNlbGYuYWRkQ2xlYW51cChwMi5zdG9wKQorCisgICAgICAgIG1hbmFnZXIuYXR0YWNoX21vY2sobW9ja19vbmUsICdvbmUnKQorICAgICAgICBtYW5hZ2VyLmF0dGFjaF9tb2NrKG1vY2tfdHdvLCAndHdvJykKKworICAgICAgICBGb28udHdvKCkKKyAgICAgICAgRm9vLm9uZSgpCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtYW5hZ2VyLm1vY2tfY2FsbHMsIFtjYWxsLnR3bygpLCBjYWxsLm9uZSgpXSkKKworCisgICAgZGVmIHRlc3RfbWFnaWNfbWV0aG9kc19tb2NrX2NhbGxzKHNlbGYpOgorICAgICAgICBmb3IgS2xhc3MgaW4gTW9jaywgTWFnaWNNb2NrOgorICAgICAgICAgICAgbSA9IEtsYXNzKCkKKyAgICAgICAgICAgIG0uX19pbnRfXyA9IE1vY2socmV0dXJuX3ZhbHVlPTMpCisgICAgICAgICAgICBtLl9fZmxvYXRfXyA9IE1hZ2ljTW9jayhyZXR1cm5fdmFsdWU9My4wKQorICAgICAgICAgICAgaW50KG0pCisgICAgICAgICAgICBmbG9hdChtKQorCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG0ubW9ja19jYWxscywgW2NhbGwuX19pbnRfXygpLCBjYWxsLl9fZmxvYXRfXygpXSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobS5tZXRob2RfY2FsbHMsIFtdKQorCisKKyAgICBkZWYgdGVzdF9hdHRyaWJ1dGVfZGVsZXRpb24oc2VsZik6CisgICAgICAgICMgdGhpcyBiZWhhdmlvdXIgaXNuJ3QgKnVzZWZ1bCosIGJ1dCBhdCBsZWFzdCBpdCdzIG5vdyB0ZXN0ZWQuLi4KKyAgICAgICAgZm9yIEtsYXNzIGluIE1vY2ssIE1hZ2ljTW9jaywgTm9uQ2FsbGFibGVNYWdpY01vY2ssIE5vbkNhbGxhYmxlTW9jazoKKyAgICAgICAgICAgIG0gPSBLbGFzcygpCisgICAgICAgICAgICBvcmlnaW5hbCA9IG0uZm9vCisgICAgICAgICAgICBtLmZvbyA9IDMKKyAgICAgICAgICAgIGRlbCBtLmZvbworICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtLmZvbywgb3JpZ2luYWwpCisKKyAgICAgICAgICAgIG5ldyA9IG0uZm9vID0gTW9jaygpCisgICAgICAgICAgICBkZWwgbS5mb28KKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobS5mb28sIG5ldykKKworCisgICAgZGVmIHRlc3RfbW9ja19wYXJlbnRzKHNlbGYpOgorICAgICAgICBmb3IgS2xhc3MgaW4gTW9jaywgTWFnaWNNb2NrOgorICAgICAgICAgICAgbSA9IEtsYXNzKCkKKyAgICAgICAgICAgIG9yaWdpbmFsX3JlcHIgPSByZXByKG0pCisgICAgICAgICAgICBtLnJldHVybl92YWx1ZSA9IG0KKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXMobSgpLCBtKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXByKG0pLCBvcmlnaW5hbF9yZXByKQorCisgICAgICAgICAgICBtLnJlc2V0X21vY2soKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRJcyhtKCksIG0pCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlcHIobSksIG9yaWdpbmFsX3JlcHIpCisKKyAgICAgICAgICAgIG0gPSBLbGFzcygpCisgICAgICAgICAgICBtLmIgPSBtLmEKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4oIm5hbWU9J21vY2suYSciLCByZXByKG0uYikpCisgICAgICAgICAgICBzZWxmLmFzc2VydEluKCJuYW1lPSdtb2NrLmEnIiwgcmVwcihtLmEpKQorICAgICAgICAgICAgbS5yZXNldF9tb2NrKCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4oIm5hbWU9J21vY2suYSciLCByZXByKG0uYikpCisgICAgICAgICAgICBzZWxmLmFzc2VydEluKCJuYW1lPSdtb2NrLmEnIiwgcmVwcihtLmEpKQorCisgICAgICAgICAgICBtID0gS2xhc3MoKQorICAgICAgICAgICAgb3JpZ2luYWxfcmVwciA9IHJlcHIobSkKKyAgICAgICAgICAgIG0uYSA9IG0oKQorICAgICAgICAgICAgbS5hLnJldHVybl92YWx1ZSA9IG0KKworICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXByKG0pLCBvcmlnaW5hbF9yZXByKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXByKG0uYSgpKSwgb3JpZ2luYWxfcmVwcikKKworCisgICAgZGVmIHRlc3RfYXR0YWNoX21vY2soc2VsZik6CisgICAgICAgIGNsYXNzZXMgPSBNb2NrLCBNYWdpY01vY2ssIE5vbkNhbGxhYmxlTWFnaWNNb2NrLCBOb25DYWxsYWJsZU1vY2sKKyAgICAgICAgZm9yIEtsYXNzIGluIGNsYXNzZXM6CisgICAgICAgICAgICBmb3IgS2xhc3MyIGluIGNsYXNzZXM6CisgICAgICAgICAgICAgICAgbSA9IEtsYXNzKCkKKworICAgICAgICAgICAgICAgIG0yID0gS2xhc3MyKG5hbWU9J2ZvbycpCisgICAgICAgICAgICAgICAgbS5hdHRhY2hfbW9jayhtMiwgJ2JhcicpCisKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydElzKG0uYmFyLCBtMikKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEluKCJuYW1lPSdtb2NrLmJhciciLCByZXByKG0yKSkKKworICAgICAgICAgICAgICAgIG0uYmFyLmJheigxKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobS5tb2NrX2NhbGxzLCBbY2FsbC5iYXIuYmF6KDEpXSkKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG0ubWV0aG9kX2NhbGxzLCBbY2FsbC5iYXIuYmF6KDEpXSkKKworCisgICAgZGVmIHRlc3RfYXR0YWNoX21vY2tfcmV0dXJuX3ZhbHVlKHNlbGYpOgorICAgICAgICBjbGFzc2VzID0gTW9jaywgTWFnaWNNb2NrLCBOb25DYWxsYWJsZU1hZ2ljTW9jaywgTm9uQ2FsbGFibGVNb2NrCisgICAgICAgIGZvciBLbGFzcyBpbiBNb2NrLCBNYWdpY01vY2s6CisgICAgICAgICAgICBmb3IgS2xhc3MyIGluIGNsYXNzZXM6CisgICAgICAgICAgICAgICAgbSA9IEtsYXNzKCkKKworICAgICAgICAgICAgICAgIG0yID0gS2xhc3MyKG5hbWU9J2ZvbycpCisgICAgICAgICAgICAgICAgbS5hdHRhY2hfbW9jayhtMiwgJ3JldHVybl92YWx1ZScpCisKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydElzKG0oKSwgbTIpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRJbigibmFtZT0nbW9jaygpJyIsIHJlcHIobTIpKQorCisgICAgICAgICAgICAgICAgbTIuZm9vKCkKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG0ubW9ja19jYWxscywgY2FsbCgpLmZvbygpLmNhbGxfbGlzdCgpKQorCisKKyAgICBkZWYgdGVzdF9hdHRyaWJ1dGVfZGVsZXRpb24oc2VsZik6CisgICAgICAgIGZvciBtb2NrIGluIE1vY2soKSwgTWFnaWNNb2NrKCk6CisgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoaGFzYXR0cihtb2NrLCAnbScpKQorCisgICAgICAgICAgICBkZWwgbW9jay5tCisgICAgICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGhhc2F0dHIobW9jaywgJ20nKSkKKworICAgICAgICAgICAgZGVsIG1vY2suZgorICAgICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShoYXNhdHRyKG1vY2ssICdmJykpCisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhBdHRyaWJ1dGVFcnJvciwgZ2V0YXR0ciwgbW9jaywgJ2YnKQorCisKKyAgICBkZWYgdGVzdF9jbGFzc19hc3NpZ25hYmxlKHNlbGYpOgorICAgICAgICBmb3IgbW9jayBpbiBNb2NrKCksIE1hZ2ljTW9jaygpOgorICAgICAgICAgICAgc2VsZi5hc3NlcnROb3RJc0luc3RhbmNlKG1vY2ssIGludCkKKworICAgICAgICAgICAgbW9jay5fX2NsYXNzX18gPSBpbnQKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShtb2NrLCBpbnQpCisgICAgICAgICAgICBtb2NrLmZvbworCisKKworaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKKyAgICB1bml0dGVzdC5tYWluKCkKZGlmZiAtLWdpdCBhL0xpYi91bml0dGVzdC90ZXN0L3Rlc3Rtb2NrL3Rlc3RwYXRjaC5weSBiL0xpYi91bml0dGVzdC90ZXN0L3Rlc3Rtb2NrL3Rlc3RwYXRjaC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mY2NhZDMxCi0tLSAvZGV2L251bGwKKysrIGIvTGliL3VuaXR0ZXN0L3Rlc3QvdGVzdG1vY2svdGVzdHBhdGNoLnB5CkBAIC0wLDAgKzEsMTY1MiBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMDctMjAxMiBNaWNoYWVsIEZvb3JkICYgdGhlIG1vY2sgdGVhbQorIyBFLW1haWw6IGZ1enp5bWFuIEFUIHZvaWRzcGFjZSBET1Qgb3JnIERPVCB1aworIyBodHRwOi8vd3d3LnZvaWRzcGFjZS5vcmcudWsvcHl0aG9uL21vY2svCisKK2ltcG9ydCBvcworaW1wb3J0IHN5cworCitpbXBvcnQgdW5pdHRlc3QKK2Zyb20gdW5pdHRlc3QudGVzdC50ZXN0bW9jayBpbXBvcnQgc3VwcG9ydAorZnJvbSB1bml0dGVzdC50ZXN0LnRlc3Rtb2NrLnN1cHBvcnQgaW1wb3J0IFNvbWVDbGFzcywgaXNfaW5zdGFuY2UKKworZnJvbSB1bml0dGVzdC5tb2NrIGltcG9ydCAoCisgICAgTm9uQ2FsbGFibGVNb2NrLCBDYWxsYWJsZU1peGluLCBwYXRjaCwgc2VudGluZWwsCisgICAgTWFnaWNNb2NrLCBNb2NrLCBOb25DYWxsYWJsZU1hZ2ljTW9jaywgcGF0Y2gsCisgICAgREVGQVVMVCwgY2FsbAorKQorCisKK2J1aWx0aW5fc3RyaW5nID0gJ2J1aWx0aW5zJworCitQVE1vZHVsZSA9IHN5cy5tb2R1bGVzW19fbmFtZV9fXQorCisKK2RlZiBfZ2V0X3Byb3h5KG9iaiwgZ2V0X29ubHk9VHJ1ZSk6CisgICAgY2xhc3MgUHJveHkob2JqZWN0KToKKyAgICAgICAgZGVmIF9fZ2V0YXR0cl9fKHNlbGYsIG5hbWUpOgorICAgICAgICAgICAgcmV0dXJuIGdldGF0dHIob2JqLCBuYW1lKQorICAgIGlmIG5vdCBnZXRfb25seToKKyAgICAgICAgZGVmIF9fc2V0YXR0cl9fKHNlbGYsIG5hbWUsIHZhbHVlKToKKyAgICAgICAgICAgIHNldGF0dHIob2JqLCBuYW1lLCB2YWx1ZSkKKyAgICAgICAgZGVmIF9fZGVsYXR0cl9fKHNlbGYsIG5hbWUpOgorICAgICAgICAgICAgZGVsYXR0cihvYmosIG5hbWUpCisgICAgICAgIFByb3h5Ll9fc2V0YXR0cl9fID0gX19zZXRhdHRyX18KKyAgICAgICAgUHJveHkuX19kZWxhdHRyX18gPSBfX2RlbGF0dHJfXworICAgIHJldHVybiBQcm94eSgpCisKKworIyBmb3IgdXNlIGluIHRoZSB0ZXN0Citzb21ldGhpbmcgID0gc2VudGluZWwuU29tZXRoaW5nCitzb21ldGhpbmdfZWxzZSAgPSBzZW50aW5lbC5Tb21ldGhpbmdFbHNlCisKKworY2xhc3MgRm9vKG9iamVjdCk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGEpOgorICAgICAgICBwYXNzCisgICAgZGVmIGYoc2VsZiwgYSk6CisgICAgICAgIHBhc3MKKyAgICBkZWYgZyhzZWxmKToKKyAgICAgICAgcGFzcworICAgIGZvbyA9ICdiYXInCisKKyAgICBjbGFzcyBCYXIob2JqZWN0KToKKyAgICAgICAgZGVmIGEoc2VsZik6CisgICAgICAgICAgICBwYXNzCisKK2Zvb19uYW1lID0gJyVzLkZvbycgJSBfX25hbWVfXworCisKK2RlZiBmdW5jdGlvbihhLCBiPUZvbyk6CisgICAgcGFzcworCisKK2NsYXNzIENvbnRhaW5lcihvYmplY3QpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmKToKKyAgICAgICAgc2VsZi52YWx1ZXMgPSB7fQorCisgICAgZGVmIF9fZ2V0aXRlbV9fKHNlbGYsIG5hbWUpOgorICAgICAgICByZXR1cm4gc2VsZi52YWx1ZXNbbmFtZV0KKworICAgIGRlZiBfX3NldGl0ZW1fXyhzZWxmLCBuYW1lLCB2YWx1ZSk6CisgICAgICAgIHNlbGYudmFsdWVzW25hbWVdID0gdmFsdWUKKworICAgIGRlZiBfX2RlbGl0ZW1fXyhzZWxmLCBuYW1lKToKKyAgICAgICAgZGVsIHNlbGYudmFsdWVzW25hbWVdCisKKyAgICBkZWYgX19pdGVyX18oc2VsZik6CisgICAgICAgIHJldHVybiBpdGVyKHNlbGYudmFsdWVzKQorCisKKworY2xhc3MgUGF0Y2hUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKKworICAgIGRlZiBhc3NlcnROb3RDYWxsYWJsZShzZWxmLCBvYmosIG1hZ2ljPVRydWUpOgorICAgICAgICBNb2NrQ2xhc3MgPSBOb25DYWxsYWJsZU1hZ2ljTW9jaworICAgICAgICBpZiBub3QgbWFnaWM6CisgICAgICAgICAgICBNb2NrQ2xhc3MgPSBOb25DYWxsYWJsZU1vY2sKKworICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIG9iaikKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGlzX2luc3RhbmNlKG9iaiwgTW9ja0NsYXNzKSkKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShpc19pbnN0YW5jZShvYmosIENhbGxhYmxlTWl4aW4pKQorCisKKyAgICBkZWYgdGVzdF9zaW5nbGVfcGF0Y2hvYmplY3Qoc2VsZik6CisgICAgICAgIGNsYXNzIFNvbWV0aGluZyhvYmplY3QpOgorICAgICAgICAgICAgYXR0cmlidXRlID0gc2VudGluZWwuT3JpZ2luYWwKKworICAgICAgICBAcGF0Y2gub2JqZWN0KFNvbWV0aGluZywgJ2F0dHJpYnV0ZScsIHNlbnRpbmVsLlBhdGNoZWQpCisgICAgICAgIGRlZiB0ZXN0KCk6CisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKFNvbWV0aGluZy5hdHRyaWJ1dGUsIHNlbnRpbmVsLlBhdGNoZWQsICJ1bnBhdGNoZWQiKQorCisgICAgICAgIHRlc3QoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKFNvbWV0aGluZy5hdHRyaWJ1dGUsIHNlbnRpbmVsLk9yaWdpbmFsLAorICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRjaCBub3QgcmVzdG9yZWQiKQorCisKKyAgICBkZWYgdGVzdF9wYXRjaG9iamVjdF93aXRoX25vbmUoc2VsZik6CisgICAgICAgIGNsYXNzIFNvbWV0aGluZyhvYmplY3QpOgorICAgICAgICAgICAgYXR0cmlidXRlID0gc2VudGluZWwuT3JpZ2luYWwKKworICAgICAgICBAcGF0Y2gub2JqZWN0KFNvbWV0aGluZywgJ2F0dHJpYnV0ZScsIE5vbmUpCisgICAgICAgIGRlZiB0ZXN0KCk6CisgICAgICAgICAgICBzZWxmLmFzc2VydElzTm9uZShTb21ldGhpbmcuYXR0cmlidXRlLCAidW5wYXRjaGVkIikKKworICAgICAgICB0ZXN0KCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChTb21ldGhpbmcuYXR0cmlidXRlLCBzZW50aW5lbC5PcmlnaW5hbCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAicGF0Y2ggbm90IHJlc3RvcmVkIikKKworCisgICAgZGVmIHRlc3RfbXVsdGlwbGVfcGF0Y2hvYmplY3Qoc2VsZik6CisgICAgICAgIGNsYXNzIFNvbWV0aGluZyhvYmplY3QpOgorICAgICAgICAgICAgYXR0cmlidXRlID0gc2VudGluZWwuT3JpZ2luYWwKKyAgICAgICAgICAgIG5leHRfYXR0cmlidXRlID0gc2VudGluZWwuT3JpZ2luYWwyCisKKyAgICAgICAgQHBhdGNoLm9iamVjdChTb21ldGhpbmcsICdhdHRyaWJ1dGUnLCBzZW50aW5lbC5QYXRjaGVkKQorICAgICAgICBAcGF0Y2gub2JqZWN0KFNvbWV0aGluZywgJ25leHRfYXR0cmlidXRlJywgc2VudGluZWwuUGF0Y2hlZDIpCisgICAgICAgIGRlZiB0ZXN0KCk6CisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKFNvbWV0aGluZy5hdHRyaWJ1dGUsIHNlbnRpbmVsLlBhdGNoZWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bnBhdGNoZWQiKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChTb21ldGhpbmcubmV4dF9hdHRyaWJ1dGUsIHNlbnRpbmVsLlBhdGNoZWQyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5wYXRjaGVkIikKKworICAgICAgICB0ZXN0KCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChTb21ldGhpbmcuYXR0cmlidXRlLCBzZW50aW5lbC5PcmlnaW5hbCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAicGF0Y2ggbm90IHJlc3RvcmVkIikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChTb21ldGhpbmcubmV4dF9hdHRyaWJ1dGUsIHNlbnRpbmVsLk9yaWdpbmFsMiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAicGF0Y2ggbm90IHJlc3RvcmVkIikKKworCisgICAgZGVmIHRlc3Rfb2JqZWN0X2xvb2t1cF9pc19xdWl0ZV9sYXp5KHNlbGYpOgorICAgICAgICBnbG9iYWwgc29tZXRoaW5nCisgICAgICAgIG9yaWdpbmFsID0gc29tZXRoaW5nCisgICAgICAgIEBwYXRjaCgnJXMuc29tZXRoaW5nJyAlIF9fbmFtZV9fLCBzZW50aW5lbC5Tb21ldGhpbmcyKQorICAgICAgICBkZWYgdGVzdCgpOgorICAgICAgICAgICAgcGFzcworCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHNvbWV0aGluZyA9IHNlbnRpbmVsLnJlcGxhY2VtZW50X3ZhbHVlCisgICAgICAgICAgICB0ZXN0KCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc29tZXRoaW5nLCBzZW50aW5lbC5yZXBsYWNlbWVudF92YWx1ZSkKKyAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgIHNvbWV0aGluZyA9IG9yaWdpbmFsCisKKworICAgIGRlZiB0ZXN0X3BhdGNoKHNlbGYpOgorICAgICAgICBAcGF0Y2goJyVzLnNvbWV0aGluZycgJSBfX25hbWVfXywgc2VudGluZWwuU29tZXRoaW5nMikKKyAgICAgICAgZGVmIHRlc3QoKToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoUFRNb2R1bGUuc29tZXRoaW5nLCBzZW50aW5lbC5Tb21ldGhpbmcyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5wYXRjaGVkIikKKworICAgICAgICB0ZXN0KCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChQVE1vZHVsZS5zb21ldGhpbmcsIHNlbnRpbmVsLlNvbWV0aGluZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAicGF0Y2ggbm90IHJlc3RvcmVkIikKKworICAgICAgICBAcGF0Y2goJyVzLnNvbWV0aGluZycgJSBfX25hbWVfXywgc2VudGluZWwuU29tZXRoaW5nMikKKyAgICAgICAgQHBhdGNoKCclcy5zb21ldGhpbmdfZWxzZScgJSBfX25hbWVfXywgc2VudGluZWwuU29tZXRoaW5nRWxzZSkKKyAgICAgICAgZGVmIHRlc3QoKToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoUFRNb2R1bGUuc29tZXRoaW5nLCBzZW50aW5lbC5Tb21ldGhpbmcyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5wYXRjaGVkIikKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoUFRNb2R1bGUuc29tZXRoaW5nX2Vsc2UsIHNlbnRpbmVsLlNvbWV0aGluZ0Vsc2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bnBhdGNoZWQiKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoUFRNb2R1bGUuc29tZXRoaW5nLCBzZW50aW5lbC5Tb21ldGhpbmcsCisgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGNoIG5vdCByZXN0b3JlZCIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoUFRNb2R1bGUuc29tZXRoaW5nX2Vsc2UsIHNlbnRpbmVsLlNvbWV0aGluZ0Vsc2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGNoIG5vdCByZXN0b3JlZCIpCisKKyAgICAgICAgIyBUZXN0IHRoZSBwYXRjaGluZyBhbmQgcmVzdG9yaW5nIHdvcmtzIGEgc2Vjb25kIHRpbWUKKyAgICAgICAgdGVzdCgpCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChQVE1vZHVsZS5zb21ldGhpbmcsIHNlbnRpbmVsLlNvbWV0aGluZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAicGF0Y2ggbm90IHJlc3RvcmVkIikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChQVE1vZHVsZS5zb21ldGhpbmdfZWxzZSwgc2VudGluZWwuU29tZXRoaW5nRWxzZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAicGF0Y2ggbm90IHJlc3RvcmVkIikKKworICAgICAgICBtb2NrID0gTW9jaygpCisgICAgICAgIG1vY2sucmV0dXJuX3ZhbHVlID0gc2VudGluZWwuSGFuZGxlCisgICAgICAgIEBwYXRjaCgnJXMub3BlbicgJSBidWlsdGluX3N0cmluZywgbW9jaykKKyAgICAgICAgZGVmIHRlc3QoKToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwob3BlbignZmlsZW5hbWUnLCAncicpLCBzZW50aW5lbC5IYW5kbGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVuIG5vdCBwYXRjaGVkIikKKyAgICAgICAgdGVzdCgpCisgICAgICAgIHRlc3QoKQorCisgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwob3BlbiwgbW9jaywgInBhdGNoIG5vdCByZXN0b3JlZCIpCisKKworICAgIGRlZiB0ZXN0X3BhdGNoX2NsYXNzX2F0dHJpYnV0ZShzZWxmKToKKyAgICAgICAgQHBhdGNoKCclcy5Tb21lQ2xhc3MuY2xhc3NfYXR0cmlidXRlJyAlIF9fbmFtZV9fLAorICAgICAgICAgICAgICAgc2VudGluZWwuQ2xhc3NBdHRyaWJ1dGUpCisgICAgICAgIGRlZiB0ZXN0KCk6CisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKFBUTW9kdWxlLlNvbWVDbGFzcy5jbGFzc19hdHRyaWJ1dGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbnRpbmVsLkNsYXNzQXR0cmlidXRlLCAidW5wYXRjaGVkIikKKyAgICAgICAgdGVzdCgpCisKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUoUFRNb2R1bGUuU29tZUNsYXNzLmNsYXNzX2F0dHJpYnV0ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGNoIG5vdCByZXN0b3JlZCIpCisKKworICAgIGRlZiB0ZXN0X3BhdGNob2JqZWN0X3dpdGhfZGVmYXVsdF9tb2NrKHNlbGYpOgorICAgICAgICBjbGFzcyBUZXN0KG9iamVjdCk6CisgICAgICAgICAgICBzb21ldGhpbmcgPSBzZW50aW5lbC5PcmlnaW5hbAorICAgICAgICAgICAgc29tZXRoaW5nMiA9IHNlbnRpbmVsLk9yaWdpbmFsMgorCisgICAgICAgIEBwYXRjaC5vYmplY3QoVGVzdCwgJ3NvbWV0aGluZycpCisgICAgICAgIGRlZiB0ZXN0KG1vY2spOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb2NrLCBUZXN0LnNvbWV0aGluZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk1vY2sgbm90IHBhc3NlZCBpbnRvIHRlc3QgZnVuY3Rpb24iKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRJc0luc3RhbmNlKG1vY2ssIE1hZ2ljTW9jaywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0Y2ggd2l0aCB0d28gYXJndW1lbnRzIGRpZCBub3QgY3JlYXRlIGEgbW9jayIpCisKKyAgICAgICAgdGVzdCgpCisKKyAgICAgICAgQHBhdGNoLm9iamVjdChUZXN0LCAnc29tZXRoaW5nJykKKyAgICAgICAgQHBhdGNoLm9iamVjdChUZXN0LCAnc29tZXRoaW5nMicpCisgICAgICAgIGRlZiB0ZXN0KHRoaXMxLCB0aGlzMiwgbW9jazEsIG1vY2syKToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodGhpczEsIHNlbnRpbmVsLnRoaXMxLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUGF0Y2hlZCBmdW5jdGlvbiBkaWRuJ3QgcmVjZWl2ZSBpbml0aWFsIGFyZ3VtZW50IikKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwodGhpczIsIHNlbnRpbmVsLnRoaXMyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUGF0Y2hlZCBmdW5jdGlvbiBkaWRuJ3QgcmVjZWl2ZSBzZWNvbmQgYXJndW1lbnQiKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb2NrMSwgVGVzdC5zb21ldGhpbmcyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTW9jayBub3QgcGFzc2VkIGludG8gdGVzdCBmdW5jdGlvbiIpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vY2syLCBUZXN0LnNvbWV0aGluZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlNlY29uZCBNb2NrIG5vdCBwYXNzZWQgaW50byB0ZXN0IGZ1bmN0aW9uIikKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShtb2NrMiwgTWFnaWNNb2NrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRjaCB3aXRoIHR3byBhcmd1bWVudHMgZGlkIG5vdCBjcmVhdGUgYSBtb2NrIikKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShtb2NrMiwgTWFnaWNNb2NrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRjaCB3aXRoIHR3byBhcmd1bWVudHMgZGlkIG5vdCBjcmVhdGUgYSBtb2NrIikKKworICAgICAgICAgICAgIyBBIGhhY2sgdG8gdGVzdCB0aGF0IG5ldyBtb2NrcyBhcmUgcGFzc2VkIHRoZSBzZWNvbmQgdGltZQorICAgICAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbChvdXRlck1vY2sxLCBtb2NrMSwgInVuZXhwZWN0ZWQgdmFsdWUgZm9yIG1vY2sxIikKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwob3V0ZXJNb2NrMiwgbW9jazIsICJ1bmV4cGVjdGVkIHZhbHVlIGZvciBtb2NrMSIpCisgICAgICAgICAgICByZXR1cm4gbW9jazEsIG1vY2syCisKKyAgICAgICAgb3V0ZXJNb2NrMSA9IG91dGVyTW9jazIgPSBOb25lCisgICAgICAgIG91dGVyTW9jazEsIG91dGVyTW9jazIgPSB0ZXN0KHNlbnRpbmVsLnRoaXMxLCBzZW50aW5lbC50aGlzMikKKworICAgICAgICAjIFRlc3QgdGhhdCBleGVjdXRpbmcgYSBzZWNvbmQgdGltZSBjcmVhdGVzIG5ldyBtb2NrcworICAgICAgICB0ZXN0KHNlbnRpbmVsLnRoaXMxLCBzZW50aW5lbC50aGlzMikKKworCisgICAgZGVmIHRlc3RfcGF0Y2hfd2l0aF9zcGVjKHNlbGYpOgorICAgICAgICBAcGF0Y2goJyVzLlNvbWVDbGFzcycgJSBfX25hbWVfXywgc3BlYz1Tb21lQ2xhc3MpCisgICAgICAgIGRlZiB0ZXN0KE1vY2tTb21lQ2xhc3MpOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChTb21lQ2xhc3MsIE1vY2tTb21lQ2xhc3MpCisgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoaXNfaW5zdGFuY2UoU29tZUNsYXNzLndpYmJsZSwgTWFnaWNNb2NrKSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEF0dHJpYnV0ZUVycm9yLCBsYW1iZGE6IFNvbWVDbGFzcy5ub3Rfd2liYmxlKQorCisgICAgICAgIHRlc3QoKQorCisKKyAgICBkZWYgdGVzdF9wYXRjaG9iamVjdF93aXRoX3NwZWMoc2VsZik6CisgICAgICAgIEBwYXRjaC5vYmplY3QoU29tZUNsYXNzLCAnY2xhc3NfYXR0cmlidXRlJywgc3BlYz1Tb21lQ2xhc3MpCisgICAgICAgIGRlZiB0ZXN0KE1vY2tBdHRyaWJ1dGUpOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChTb21lQ2xhc3MuY2xhc3NfYXR0cmlidXRlLCBNb2NrQXR0cmlidXRlKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGlzX2luc3RhbmNlKFNvbWVDbGFzcy5jbGFzc19hdHRyaWJ1dGUud2liYmxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWFnaWNNb2NrKSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEF0dHJpYnV0ZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFtYmRhOiBTb21lQ2xhc3MuY2xhc3NfYXR0cmlidXRlLm5vdF93aWJibGUpCisKKyAgICAgICAgdGVzdCgpCisKKworICAgIGRlZiB0ZXN0X3BhdGNoX3dpdGhfc3BlY19hc19saXN0KHNlbGYpOgorICAgICAgICBAcGF0Y2goJyVzLlNvbWVDbGFzcycgJSBfX25hbWVfXywgc3BlYz1bJ3dpYmJsZSddKQorICAgICAgICBkZWYgdGVzdChNb2NrU29tZUNsYXNzKToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoU29tZUNsYXNzLCBNb2NrU29tZUNsYXNzKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGlzX2luc3RhbmNlKFNvbWVDbGFzcy53aWJibGUsIE1hZ2ljTW9jaykpCisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhBdHRyaWJ1dGVFcnJvciwgbGFtYmRhOiBTb21lQ2xhc3Mubm90X3dpYmJsZSkKKworICAgICAgICB0ZXN0KCkKKworCisgICAgZGVmIHRlc3RfcGF0Y2hvYmplY3Rfd2l0aF9zcGVjX2FzX2xpc3Qoc2VsZik6CisgICAgICAgIEBwYXRjaC5vYmplY3QoU29tZUNsYXNzLCAnY2xhc3NfYXR0cmlidXRlJywgc3BlYz1bJ3dpYmJsZSddKQorICAgICAgICBkZWYgdGVzdChNb2NrQXR0cmlidXRlKToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoU29tZUNsYXNzLmNsYXNzX2F0dHJpYnV0ZSwgTW9ja0F0dHJpYnV0ZSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShpc19pbnN0YW5jZShTb21lQ2xhc3MuY2xhc3NfYXR0cmlidXRlLndpYmJsZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1hZ2ljTW9jaykpCisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhBdHRyaWJ1dGVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhbWJkYTogU29tZUNsYXNzLmNsYXNzX2F0dHJpYnV0ZS5ub3Rfd2liYmxlKQorCisgICAgICAgIHRlc3QoKQorCisKKyAgICBkZWYgdGVzdF9uZXN0ZWRfcGF0Y2hfd2l0aF9zcGVjX2FzX2xpc3Qoc2VsZik6CisgICAgICAgICMgcmVncmVzc2lvbiB0ZXN0IGZvciBuZXN0ZWQgZGVjb3JhdG9ycworICAgICAgICBAcGF0Y2goJyVzLm9wZW4nICUgYnVpbHRpbl9zdHJpbmcpCisgICAgICAgIEBwYXRjaCgnJXMuU29tZUNsYXNzJyAlIF9fbmFtZV9fLCBzcGVjPVsnd2liYmxlJ10pCisgICAgICAgIGRlZiB0ZXN0KE1vY2tTb21lQ2xhc3MsIE1vY2tPcGVuKToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoU29tZUNsYXNzLCBNb2NrU29tZUNsYXNzKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGlzX2luc3RhbmNlKFNvbWVDbGFzcy53aWJibGUsIE1hZ2ljTW9jaykpCisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhBdHRyaWJ1dGVFcnJvciwgbGFtYmRhOiBTb21lQ2xhc3Mubm90X3dpYmJsZSkKKyAgICAgICAgdGVzdCgpCisKKworICAgIGRlZiB0ZXN0X3BhdGNoX3dpdGhfc3BlY19hc19ib29sZWFuKHNlbGYpOgorICAgICAgICBAcGF0Y2goJyVzLlNvbWVDbGFzcycgJSBfX25hbWVfXywgc3BlYz1UcnVlKQorICAgICAgICBkZWYgdGVzdChNb2NrU29tZUNsYXNzKToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoU29tZUNsYXNzLCBNb2NrU29tZUNsYXNzKQorICAgICAgICAgICAgIyBTaG91bGQgbm90IHJhaXNlIGF0dHJpYnV0ZSBlcnJvcgorICAgICAgICAgICAgTW9ja1NvbWVDbGFzcy53aWJibGUKKworICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoQXR0cmlidXRlRXJyb3IsIGxhbWJkYTogTW9ja1NvbWVDbGFzcy5ub3Rfd2liYmxlKQorCisgICAgICAgIHRlc3QoKQorCisKKyAgICBkZWYgdGVzdF9wYXRjaF9vYmplY3Rfd2l0aF9zcGVjX2FzX2Jvb2xlYW4oc2VsZik6CisgICAgICAgIEBwYXRjaC5vYmplY3QoUFRNb2R1bGUsICdTb21lQ2xhc3MnLCBzcGVjPVRydWUpCisgICAgICAgIGRlZiB0ZXN0KE1vY2tTb21lQ2xhc3MpOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChTb21lQ2xhc3MsIE1vY2tTb21lQ2xhc3MpCisgICAgICAgICAgICAjIFNob3VsZCBub3QgcmFpc2UgYXR0cmlidXRlIGVycm9yCisgICAgICAgICAgICBNb2NrU29tZUNsYXNzLndpYmJsZQorCisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhBdHRyaWJ1dGVFcnJvciwgbGFtYmRhOiBNb2NrU29tZUNsYXNzLm5vdF93aWJibGUpCisKKyAgICAgICAgdGVzdCgpCisKKworICAgIGRlZiB0ZXN0X3BhdGNoX2NsYXNzX2FjdHNfd2l0aF9zcGVjX2lzX2luaGVyaXRlZChzZWxmKToKKyAgICAgICAgQHBhdGNoKCclcy5Tb21lQ2xhc3MnICUgX19uYW1lX18sIHNwZWM9VHJ1ZSkKKyAgICAgICAgZGVmIHRlc3QoTW9ja1NvbWVDbGFzcyk6CisgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoaXNfaW5zdGFuY2UoTW9ja1NvbWVDbGFzcywgTWFnaWNNb2NrKSkKKyAgICAgICAgICAgIGluc3RhbmNlID0gTW9ja1NvbWVDbGFzcygpCisgICAgICAgICAgICBzZWxmLmFzc2VydE5vdENhbGxhYmxlKGluc3RhbmNlKQorICAgICAgICAgICAgIyBTaG91bGQgbm90IHJhaXNlIGF0dHJpYnV0ZSBlcnJvcgorICAgICAgICAgICAgaW5zdGFuY2Uud2liYmxlCisKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEF0dHJpYnV0ZUVycm9yLCBsYW1iZGE6IGluc3RhbmNlLm5vdF93aWJibGUpCisKKyAgICAgICAgdGVzdCgpCisKKworICAgIGRlZiB0ZXN0X3BhdGNoX3dpdGhfY3JlYXRlX21vY2tzX25vbl9leGlzdGVudF9hdHRyaWJ1dGVzKHNlbGYpOgorICAgICAgICBAcGF0Y2goJyVzLmZyb29ibGUnICUgYnVpbHRpbl9zdHJpbmcsIHNlbnRpbmVsLkZyb29ibGUsIGNyZWF0ZT1UcnVlKQorICAgICAgICBkZWYgdGVzdCgpOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmcm9vYmxlLCBzZW50aW5lbC5Gcm9vYmxlKQorCisgICAgICAgIHRlc3QoKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhOYW1lRXJyb3IsIGxhbWJkYTogZnJvb2JsZSkKKworCisgICAgZGVmIHRlc3RfcGF0Y2hvYmplY3Rfd2l0aF9jcmVhdGVfbW9ja3Nfbm9uX2V4aXN0ZW50X2F0dHJpYnV0ZXMoc2VsZik6CisgICAgICAgIEBwYXRjaC5vYmplY3QoU29tZUNsYXNzLCAnZnJvb2JsZScsIHNlbnRpbmVsLkZyb29ibGUsIGNyZWF0ZT1UcnVlKQorICAgICAgICBkZWYgdGVzdCgpOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChTb21lQ2xhc3MuZnJvb2JsZSwgc2VudGluZWwuRnJvb2JsZSkKKworICAgICAgICB0ZXN0KCkKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShoYXNhdHRyKFNvbWVDbGFzcywgJ2Zyb29ibGUnKSkKKworCisgICAgZGVmIHRlc3RfcGF0Y2hfd29udF9jcmVhdGVfYnlfZGVmYXVsdChzZWxmKToKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgQHBhdGNoKCclcy5mcm9vYmxlJyAlIGJ1aWx0aW5fc3RyaW5nLCBzZW50aW5lbC5Gcm9vYmxlKQorICAgICAgICAgICAgZGVmIHRlc3QoKToKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGZyb29ibGUsIHNlbnRpbmVsLkZyb29ibGUpCisKKyAgICAgICAgICAgIHRlc3QoKQorICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6CisgICAgICAgICAgICBwYXNzCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzZWxmLmZhaWwoJ1BhdGNoaW5nIG5vbiBleGlzdGVudCBhdHRyaWJ1dGVzIHNob3VsZCBmYWlsJykKKworICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhOYW1lRXJyb3IsIGxhbWJkYTogZnJvb2JsZSkKKworCisgICAgZGVmIHRlc3RfcGF0Y2hvYmplY3Rfd29udF9jcmVhdGVfYnlfZGVmYXVsdChzZWxmKToKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgQHBhdGNoLm9iamVjdChTb21lQ2xhc3MsICdmcm9vYmxlJywgc2VudGluZWwuRnJvb2JsZSkKKyAgICAgICAgICAgIGRlZiB0ZXN0KCk6CisgICAgICAgICAgICAgICAgc2VsZi5mYWlsKCdQYXRjaGluZyBub24gZXhpc3RlbnQgYXR0cmlidXRlcyBzaG91bGQgZmFpbCcpCisKKyAgICAgICAgICAgIHRlc3QoKQorICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6CisgICAgICAgICAgICBwYXNzCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzZWxmLmZhaWwoJ1BhdGNoaW5nIG5vbiBleGlzdGVudCBhdHRyaWJ1dGVzIHNob3VsZCBmYWlsJykKKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShoYXNhdHRyKFNvbWVDbGFzcywgJ2Zyb29ibGUnKSkKKworCisgICAgZGVmIHRlc3RfcGF0Y2hfd2l0aF9zdGF0aWNfbWV0aG9kcyhzZWxmKToKKyAgICAgICAgY2xhc3MgRm9vKG9iamVjdCk6CisgICAgICAgICAgICBAc3RhdGljbWV0aG9kCisgICAgICAgICAgICBkZWYgd29vdCgpOgorICAgICAgICAgICAgICAgIHJldHVybiBzZW50aW5lbC5TdGF0aWMKKworICAgICAgICBAcGF0Y2gub2JqZWN0KEZvbywgJ3dvb3QnLCBzdGF0aWNtZXRob2QobGFtYmRhOiBzZW50aW5lbC5QYXRjaGVkKSkKKyAgICAgICAgZGVmIGFub255bW91cygpOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChGb28ud29vdCgpLCBzZW50aW5lbC5QYXRjaGVkKQorICAgICAgICBhbm9ueW1vdXMoKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoRm9vLndvb3QoKSwgc2VudGluZWwuU3RhdGljKQorCisKKyAgICBkZWYgdGVzdF9wYXRjaF9sb2NhbChzZWxmKToKKyAgICAgICAgZm9vID0gc2VudGluZWwuRm9vCisgICAgICAgIEBwYXRjaC5vYmplY3Qoc2VudGluZWwsICdGb28nLCAnRm9vJykKKyAgICAgICAgZGVmIGFub255bW91cygpOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzZW50aW5lbC5Gb28sICdGb28nKQorICAgICAgICBhbm9ueW1vdXMoKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VudGluZWwuRm9vLCBmb28pCisKKworICAgIGRlZiB0ZXN0X3BhdGNoX3Nsb3RzKHNlbGYpOgorICAgICAgICBjbGFzcyBGb28ob2JqZWN0KToKKyAgICAgICAgICAgIF9fc2xvdHNfXyA9ICgnRm9vJywpCisKKyAgICAgICAgZm9vID0gRm9vKCkKKyAgICAgICAgZm9vLkZvbyA9IHNlbnRpbmVsLkZvbworCisgICAgICAgIEBwYXRjaC5vYmplY3QoZm9vLCAnRm9vJywgJ0ZvbycpCisgICAgICAgIGRlZiBhbm9ueW1vdXMoKToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZm9vLkZvbywgJ0ZvbycpCisgICAgICAgIGFub255bW91cygpCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmb28uRm9vLCBzZW50aW5lbC5Gb28pCisKKworICAgIGRlZiB0ZXN0X3BhdGNob2JqZWN0X2NsYXNzX2RlY29yYXRvcihzZWxmKToKKyAgICAgICAgY2xhc3MgU29tZXRoaW5nKG9iamVjdCk6CisgICAgICAgICAgICBhdHRyaWJ1dGUgPSBzZW50aW5lbC5PcmlnaW5hbAorCisgICAgICAgIGNsYXNzIEZvbyhvYmplY3QpOgorICAgICAgICAgICAgZGVmIHRlc3RfbWV0aG9kKG90aGVyX3NlbGYpOgorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoU29tZXRoaW5nLmF0dHJpYnV0ZSwgc2VudGluZWwuUGF0Y2hlZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bnBhdGNoZWQiKQorICAgICAgICAgICAgZGVmIG5vdF90ZXN0X21ldGhvZChvdGhlcl9zZWxmKToKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKFNvbWV0aGluZy5hdHRyaWJ1dGUsIHNlbnRpbmVsLk9yaWdpbmFsLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5vbi10ZXN0IG1ldGhvZCBwYXRjaGVkIikKKworICAgICAgICBGb28gPSBwYXRjaC5vYmplY3QoU29tZXRoaW5nLCAnYXR0cmlidXRlJywgc2VudGluZWwuUGF0Y2hlZCkoRm9vKQorCisgICAgICAgIGYgPSBGb28oKQorICAgICAgICBmLnRlc3RfbWV0aG9kKCkKKyAgICAgICAgZi5ub3RfdGVzdF9tZXRob2QoKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoU29tZXRoaW5nLmF0dHJpYnV0ZSwgc2VudGluZWwuT3JpZ2luYWwsCisgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGNoIG5vdCByZXN0b3JlZCIpCisKKworICAgIGRlZiB0ZXN0X3BhdGNoX2NsYXNzX2RlY29yYXRvcihzZWxmKToKKyAgICAgICAgY2xhc3MgU29tZXRoaW5nKG9iamVjdCk6CisgICAgICAgICAgICBhdHRyaWJ1dGUgPSBzZW50aW5lbC5PcmlnaW5hbAorCisgICAgICAgIGNsYXNzIEZvbyhvYmplY3QpOgorICAgICAgICAgICAgZGVmIHRlc3RfbWV0aG9kKG90aGVyX3NlbGYsIG1vY2tfc29tZXRoaW5nKToKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKFBUTW9kdWxlLnNvbWV0aGluZywgbW9ja19zb21ldGhpbmcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5wYXRjaGVkIikKKyAgICAgICAgICAgIGRlZiBub3RfdGVzdF9tZXRob2Qob3RoZXJfc2VsZik6CisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChQVE1vZHVsZS5zb21ldGhpbmcsIHNlbnRpbmVsLlNvbWV0aGluZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJub24tdGVzdCBtZXRob2QgcGF0Y2hlZCIpCisgICAgICAgIEZvbyA9IHBhdGNoKCclcy5zb21ldGhpbmcnICUgX19uYW1lX18pKEZvbykKKworICAgICAgICBmID0gRm9vKCkKKyAgICAgICAgZi50ZXN0X21ldGhvZCgpCisgICAgICAgIGYubm90X3Rlc3RfbWV0aG9kKCkKKworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKFNvbWV0aGluZy5hdHRyaWJ1dGUsIHNlbnRpbmVsLk9yaWdpbmFsLAorICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRjaCBub3QgcmVzdG9yZWQiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKFBUTW9kdWxlLnNvbWV0aGluZywgc2VudGluZWwuU29tZXRoaW5nLAorICAgICAgICAgICAgICAgICAgICAgICAgICJwYXRjaCBub3QgcmVzdG9yZWQiKQorCisKKyAgICBkZWYgdGVzdF9wYXRjaG9iamVjdF90d2ljZShzZWxmKToKKyAgICAgICAgY2xhc3MgU29tZXRoaW5nKG9iamVjdCk6CisgICAgICAgICAgICBhdHRyaWJ1dGUgPSBzZW50aW5lbC5PcmlnaW5hbAorICAgICAgICAgICAgbmV4dF9hdHRyaWJ1dGUgPSBzZW50aW5lbC5PcmlnaW5hbDIKKworICAgICAgICBAcGF0Y2gub2JqZWN0KFNvbWV0aGluZywgJ2F0dHJpYnV0ZScsIHNlbnRpbmVsLlBhdGNoZWQpCisgICAgICAgIEBwYXRjaC5vYmplY3QoU29tZXRoaW5nLCAnYXR0cmlidXRlJywgc2VudGluZWwuUGF0Y2hlZCkKKyAgICAgICAgZGVmIHRlc3QoKToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoU29tZXRoaW5nLmF0dHJpYnV0ZSwgc2VudGluZWwuUGF0Y2hlZCwgInVucGF0Y2hlZCIpCisKKyAgICAgICAgdGVzdCgpCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChTb21ldGhpbmcuYXR0cmlidXRlLCBzZW50aW5lbC5PcmlnaW5hbCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAicGF0Y2ggbm90IHJlc3RvcmVkIikKKworCisgICAgZGVmIHRlc3RfcGF0Y2hfZGljdChzZWxmKToKKyAgICAgICAgZm9vID0geydpbml0aWFsJzogb2JqZWN0KCksICdvdGhlcic6ICdzb21ldGhpbmcnfQorICAgICAgICBvcmlnaW5hbCA9IGZvby5jb3B5KCkKKworICAgICAgICBAcGF0Y2guZGljdChmb28pCisgICAgICAgIGRlZiB0ZXN0KCk6CisgICAgICAgICAgICBmb29bJ2EnXSA9IDMKKyAgICAgICAgICAgIGRlbCBmb29bJ2luaXRpYWwnXQorICAgICAgICAgICAgZm9vWydvdGhlciddID0gJ3NvbWV0aGluZyBlbHNlJworCisgICAgICAgIHRlc3QoKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZm9vLCBvcmlnaW5hbCkKKworICAgICAgICBAcGF0Y2guZGljdChmb28sIHsnYSc6ICdiJ30pCisgICAgICAgIGRlZiB0ZXN0KCk6CisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihmb28pLCAzKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmb29bJ2EnXSwgJ2InKQorCisgICAgICAgIHRlc3QoKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZm9vLCBvcmlnaW5hbCkKKworICAgICAgICBAcGF0Y2guZGljdChmb28sIFsoJ2EnLCAnYicpXSkKKyAgICAgICAgZGVmIHRlc3QoKToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGZvbyksIDMpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGZvb1snYSddLCAnYicpCisKKyAgICAgICAgdGVzdCgpCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmb28sIG9yaWdpbmFsKQorCisKKyAgICBkZWYgdGVzdF9wYXRjaF9kaWN0X3dpdGhfY29udGFpbmVyX29iamVjdChzZWxmKToKKyAgICAgICAgZm9vID0gQ29udGFpbmVyKCkKKyAgICAgICAgZm9vWydpbml0aWFsJ10gPSBvYmplY3QoKQorICAgICAgICBmb29bJ290aGVyJ10gPSAgJ3NvbWV0aGluZycKKworICAgICAgICBvcmlnaW5hbCA9IGZvby52YWx1ZXMuY29weSgpCisKKyAgICAgICAgQHBhdGNoLmRpY3QoZm9vKQorICAgICAgICBkZWYgdGVzdCgpOgorICAgICAgICAgICAgZm9vWydhJ10gPSAzCisgICAgICAgICAgICBkZWwgZm9vWydpbml0aWFsJ10KKyAgICAgICAgICAgIGZvb1snb3RoZXInXSA9ICdzb21ldGhpbmcgZWxzZScKKworICAgICAgICB0ZXN0KCkKKworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGZvby52YWx1ZXMsIG9yaWdpbmFsKQorCisgICAgICAgIEBwYXRjaC5kaWN0KGZvbywgeydhJzogJ2InfSkKKyAgICAgICAgZGVmIHRlc3QoKToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobGVuKGZvby52YWx1ZXMpLCAzKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmb29bJ2EnXSwgJ2InKQorCisgICAgICAgIHRlc3QoKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZm9vLnZhbHVlcywgb3JpZ2luYWwpCisKKworICAgIGRlZiB0ZXN0X3BhdGNoX2RpY3Rfd2l0aF9jbGVhcihzZWxmKToKKyAgICAgICAgZm9vID0geydpbml0aWFsJzogb2JqZWN0KCksICdvdGhlcic6ICdzb21ldGhpbmcnfQorICAgICAgICBvcmlnaW5hbCA9IGZvby5jb3B5KCkKKworICAgICAgICBAcGF0Y2guZGljdChmb28sIGNsZWFyPVRydWUpCisgICAgICAgIGRlZiB0ZXN0KCk6CisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGZvbywge30pCisgICAgICAgICAgICBmb29bJ2EnXSA9IDMKKyAgICAgICAgICAgIGZvb1snb3RoZXInXSA9ICdzb21ldGhpbmcgZWxzZScKKworICAgICAgICB0ZXN0KCkKKworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGZvbywgb3JpZ2luYWwpCisKKyAgICAgICAgQHBhdGNoLmRpY3QoZm9vLCB7J2EnOiAnYid9LCBjbGVhcj1UcnVlKQorICAgICAgICBkZWYgdGVzdCgpOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmb28sIHsnYSc6ICdiJ30pCisKKyAgICAgICAgdGVzdCgpCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmb28sIG9yaWdpbmFsKQorCisgICAgICAgIEBwYXRjaC5kaWN0KGZvbywgWygnYScsICdiJyldLCBjbGVhcj1UcnVlKQorICAgICAgICBkZWYgdGVzdCgpOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmb28sIHsnYSc6ICdiJ30pCisKKyAgICAgICAgdGVzdCgpCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmb28sIG9yaWdpbmFsKQorCisKKyAgICBkZWYgdGVzdF9wYXRjaF9kaWN0X3dpdGhfY29udGFpbmVyX29iamVjdF9hbmRfY2xlYXIoc2VsZik6CisgICAgICAgIGZvbyA9IENvbnRhaW5lcigpCisgICAgICAgIGZvb1snaW5pdGlhbCddID0gb2JqZWN0KCkKKyAgICAgICAgZm9vWydvdGhlciddID0gICdzb21ldGhpbmcnCisKKyAgICAgICAgb3JpZ2luYWwgPSBmb28udmFsdWVzLmNvcHkoKQorCisgICAgICAgIEBwYXRjaC5kaWN0KGZvbywgY2xlYXI9VHJ1ZSkKKyAgICAgICAgZGVmIHRlc3QoKToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZm9vLnZhbHVlcywge30pCisgICAgICAgICAgICBmb29bJ2EnXSA9IDMKKyAgICAgICAgICAgIGZvb1snb3RoZXInXSA9ICdzb21ldGhpbmcgZWxzZScKKworICAgICAgICB0ZXN0KCkKKworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGZvby52YWx1ZXMsIG9yaWdpbmFsKQorCisgICAgICAgIEBwYXRjaC5kaWN0KGZvbywgeydhJzogJ2InfSwgY2xlYXI9VHJ1ZSkKKyAgICAgICAgZGVmIHRlc3QoKToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZm9vLnZhbHVlcywgeydhJzogJ2InfSkKKworICAgICAgICB0ZXN0KCkKKworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGZvby52YWx1ZXMsIG9yaWdpbmFsKQorCisKKyAgICBkZWYgdGVzdF9uYW1lX3ByZXNlcnZlZChzZWxmKToKKyAgICAgICAgZm9vID0ge30KKworICAgICAgICBAcGF0Y2goJyVzLlNvbWVDbGFzcycgJSBfX25hbWVfXywgb2JqZWN0KCkpCisgICAgICAgIEBwYXRjaCgnJXMuU29tZUNsYXNzJyAlIF9fbmFtZV9fLCBvYmplY3QoKSwgYXV0b3NwZWM9VHJ1ZSkKKyAgICAgICAgQHBhdGNoLm9iamVjdChTb21lQ2xhc3MsIG9iamVjdCgpKQorICAgICAgICBAcGF0Y2guZGljdChmb28pCisgICAgICAgIGRlZiBzb21lX25hbWUoKToKKyAgICAgICAgICAgIHBhc3MKKworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNvbWVfbmFtZS5fX25hbWVfXywgJ3NvbWVfbmFtZScpCisKKworICAgIGRlZiB0ZXN0X3BhdGNoX3dpdGhfZXhjZXB0aW9uKHNlbGYpOgorICAgICAgICBmb28gPSB7fQorCisgICAgICAgIEBwYXRjaC5kaWN0KGZvbywgeydhJzogJ2InfSkKKyAgICAgICAgZGVmIHRlc3QoKToKKyAgICAgICAgICAgIHJhaXNlIE5hbWVFcnJvcignS29ucmFkJykKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgdGVzdCgpCisgICAgICAgIGV4Y2VwdCBOYW1lRXJyb3I6CisgICAgICAgICAgICBwYXNzCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzZWxmLmZhaWwoJ05hbWVFcnJvciBub3QgcmFpc2VkIGJ5IHRlc3QnKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZm9vLCB7fSkKKworCisgICAgZGVmIHRlc3RfcGF0Y2hfZGljdF93aXRoX3N0cmluZyhzZWxmKToKKyAgICAgICAgQHBhdGNoLmRpY3QoJ29zLmVudmlyb24nLCB7J2tvbnJhZF9kZWxvbmcnOiAnc29tZSB2YWx1ZSd9KQorICAgICAgICBkZWYgdGVzdCgpOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRJbigna29ucmFkX2RlbG9uZycsIG9zLmVudmlyb24pCisKKyAgICAgICAgdGVzdCgpCisKKworICAgIGRlZiB0ZXN0X3BhdGNoX2Rlc2NyaXB0b3Ioc2VsZik6CisgICAgICAgICMgd291bGQgYmUgc29tZSBlZmZvcnQgdG8gZml4IHRoaXMgLSB3ZSBjb3VsZCBzcGVjaWFsIGNhc2UgdGhlCisgICAgICAgICMgYnVpbHRpbiBkZXNjcmlwdG9yczogY2xhc3NtZXRob2QsIHByb3BlcnR5LCBzdGF0aWNtZXRob2QKKyAgICAgICAgcmV0dXJuCisgICAgICAgIGNsYXNzIE5vdGhpbmcob2JqZWN0KToKKyAgICAgICAgICAgIGZvbyA9IE5vbmUKKworICAgICAgICBjbGFzcyBTb21ldGhpbmcob2JqZWN0KToKKyAgICAgICAgICAgIGZvbyA9IHt9CisKKyAgICAgICAgICAgIEBwYXRjaC5vYmplY3QoTm90aGluZywgJ2ZvbycsIDIpCisgICAgICAgICAgICBAY2xhc3NtZXRob2QKKyAgICAgICAgICAgIGRlZiBrbGFzcyhjbHMpOgorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXMoY2xzLCBTb21ldGhpbmcpCisKKyAgICAgICAgICAgIEBwYXRjaC5vYmplY3QoTm90aGluZywgJ2ZvbycsIDIpCisgICAgICAgICAgICBAc3RhdGljbWV0aG9kCisgICAgICAgICAgICBkZWYgc3RhdGljKGFyZyk6CisgICAgICAgICAgICAgICAgcmV0dXJuIGFyZworCisgICAgICAgICAgICBAcGF0Y2guZGljdChmb28pCisgICAgICAgICAgICBAY2xhc3NtZXRob2QKKyAgICAgICAgICAgIGRlZiBrbGFzc19kaWN0KGNscyk6CisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRJcyhjbHMsIFNvbWV0aGluZykKKworICAgICAgICAgICAgQHBhdGNoLmRpY3QoZm9vKQorICAgICAgICAgICAgQHN0YXRpY21ldGhvZAorICAgICAgICAgICAgZGVmIHN0YXRpY19kaWN0KGFyZyk6CisgICAgICAgICAgICAgICAgcmV0dXJuIGFyZworCisgICAgICAgICMgdGhlc2Ugd2lsbCByYWlzZSBleGNlcHRpb25zIGlmIHBhdGNoaW5nIGRlc2NyaXB0b3JzIGlzIGJyb2tlbgorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKFNvbWV0aGluZy5zdGF0aWMoJ2YwMCcpLCAnZjAwJykKKyAgICAgICAgU29tZXRoaW5nLmtsYXNzKCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChTb21ldGhpbmcuc3RhdGljX2RpY3QoJ2YwMCcpLCAnZjAwJykKKyAgICAgICAgU29tZXRoaW5nLmtsYXNzX2RpY3QoKQorCisgICAgICAgIHNvbWV0aGluZyA9IFNvbWV0aGluZygpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc29tZXRoaW5nLnN0YXRpYygnZjAwJyksICdmMDAnKQorICAgICAgICBzb21ldGhpbmcua2xhc3MoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNvbWV0aGluZy5zdGF0aWNfZGljdCgnZjAwJyksICdmMDAnKQorICAgICAgICBzb21ldGhpbmcua2xhc3NfZGljdCgpCisKKworICAgIGRlZiB0ZXN0X3BhdGNoX3NwZWNfc2V0KHNlbGYpOgorICAgICAgICBAcGF0Y2goJyVzLlNvbWVDbGFzcycgJSBfX25hbWVfXywgc3BlYz1Tb21lQ2xhc3MsIHNwZWNfc2V0PVRydWUpCisgICAgICAgIGRlZiB0ZXN0KE1vY2tDbGFzcyk6CisgICAgICAgICAgICBNb2NrQ2xhc3MueiA9ICdmb28nCisKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoQXR0cmlidXRlRXJyb3IsIHRlc3QpCisKKyAgICAgICAgQHBhdGNoLm9iamVjdChzdXBwb3J0LCAnU29tZUNsYXNzJywgc3BlYz1Tb21lQ2xhc3MsIHNwZWNfc2V0PVRydWUpCisgICAgICAgIGRlZiB0ZXN0KE1vY2tDbGFzcyk6CisgICAgICAgICAgICBNb2NrQ2xhc3MueiA9ICdmb28nCisKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoQXR0cmlidXRlRXJyb3IsIHRlc3QpCisgICAgICAgIEBwYXRjaCgnJXMuU29tZUNsYXNzJyAlIF9fbmFtZV9fLCBzcGVjX3NldD1UcnVlKQorICAgICAgICBkZWYgdGVzdChNb2NrQ2xhc3MpOgorICAgICAgICAgICAgTW9ja0NsYXNzLnogPSAnZm9vJworCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEF0dHJpYnV0ZUVycm9yLCB0ZXN0KQorCisgICAgICAgIEBwYXRjaC5vYmplY3Qoc3VwcG9ydCwgJ1NvbWVDbGFzcycsIHNwZWNfc2V0PVRydWUpCisgICAgICAgIGRlZiB0ZXN0KE1vY2tDbGFzcyk6CisgICAgICAgICAgICBNb2NrQ2xhc3MueiA9ICdmb28nCisKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoQXR0cmlidXRlRXJyb3IsIHRlc3QpCisKKworICAgIGRlZiB0ZXN0X3NwZWNfc2V0X2luaGVyaXQoc2VsZik6CisgICAgICAgIEBwYXRjaCgnJXMuU29tZUNsYXNzJyAlIF9fbmFtZV9fLCBzcGVjX3NldD1UcnVlKQorICAgICAgICBkZWYgdGVzdChNb2NrQ2xhc3MpOgorICAgICAgICAgICAgaW5zdGFuY2UgPSBNb2NrQ2xhc3MoKQorICAgICAgICAgICAgaW5zdGFuY2UueiA9ICdmb28nCisKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoQXR0cmlidXRlRXJyb3IsIHRlc3QpCisKKworICAgIGRlZiB0ZXN0X3BhdGNoX3N0YXJ0X3N0b3Aoc2VsZik6CisgICAgICAgIG9yaWdpbmFsID0gc29tZXRoaW5nCisgICAgICAgIHBhdGNoZXIgPSBwYXRjaCgnJXMuc29tZXRoaW5nJyAlIF9fbmFtZV9fKQorICAgICAgICBzZWxmLmFzc2VydElzKHNvbWV0aGluZywgb3JpZ2luYWwpCisgICAgICAgIG1vY2sgPSBwYXRjaGVyLnN0YXJ0KCkKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vdChtb2NrLCBvcmlnaW5hbCkKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgc2VsZi5hc3NlcnRJcyhzb21ldGhpbmcsIG1vY2spCisgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICBwYXRjaGVyLnN0b3AoKQorICAgICAgICBzZWxmLmFzc2VydElzKHNvbWV0aGluZywgb3JpZ2luYWwpCisKKworICAgIGRlZiB0ZXN0X3N0b3Bfd2l0aG91dF9zdGFydChzZWxmKToKKyAgICAgICAgcGF0Y2hlciA9IHBhdGNoKGZvb19uYW1lLCAnYmFyJywgMykKKworICAgICAgICAjIGNhbGxpbmcgc3RvcCB3aXRob3V0IHN0YXJ0IHVzZWQgdG8gcHJvZHVjZSBhIHZlcnkgb2JzY3VyZSBlcnJvcgorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhSdW50aW1lRXJyb3IsIHBhdGNoZXIuc3RvcCkKKworCisgICAgZGVmIHRlc3RfcGF0Y2hvYmplY3Rfc3RhcnRfc3RvcChzZWxmKToKKyAgICAgICAgb3JpZ2luYWwgPSBzb21ldGhpbmcKKyAgICAgICAgcGF0Y2hlciA9IHBhdGNoLm9iamVjdChQVE1vZHVsZSwgJ3NvbWV0aGluZycsICdmb28nKQorICAgICAgICBzZWxmLmFzc2VydElzKHNvbWV0aGluZywgb3JpZ2luYWwpCisgICAgICAgIHJlcGxhY2VkID0gcGF0Y2hlci5zdGFydCgpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVwbGFjZWQsICdmb28nKQorICAgICAgICB0cnk6CisgICAgICAgICAgICBzZWxmLmFzc2VydElzKHNvbWV0aGluZywgcmVwbGFjZWQpCisgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICBwYXRjaGVyLnN0b3AoKQorICAgICAgICBzZWxmLmFzc2VydElzKHNvbWV0aGluZywgb3JpZ2luYWwpCisKKworICAgIGRlZiB0ZXN0X3BhdGNoX2RpY3Rfc3RhcnRfc3RvcChzZWxmKToKKyAgICAgICAgZCA9IHsnZm9vJzogJ2Jhcid9CisgICAgICAgIG9yaWdpbmFsID0gZC5jb3B5KCkKKyAgICAgICAgcGF0Y2hlciA9IHBhdGNoLmRpY3QoZCwgWygnc3BhbScsICdlZ2dzJyldLCBjbGVhcj1UcnVlKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGQsIG9yaWdpbmFsKQorCisgICAgICAgIHBhdGNoZXIuc3RhcnQoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGQsIHsnc3BhbSc6ICdlZ2dzJ30pCisKKyAgICAgICAgcGF0Y2hlci5zdG9wKCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkLCBvcmlnaW5hbCkKKworCisgICAgZGVmIHRlc3RfcGF0Y2hfZGljdF9jbGFzc19kZWNvcmF0b3Ioc2VsZik6CisgICAgICAgIHRoaXMgPSBzZWxmCisgICAgICAgIGQgPSB7J3NwYW0nOiAnZWdncyd9CisgICAgICAgIG9yaWdpbmFsID0gZC5jb3B5KCkKKworICAgICAgICBjbGFzcyBUZXN0KG9iamVjdCk6CisgICAgICAgICAgICBkZWYgdGVzdF9maXJzdChzZWxmKToKKyAgICAgICAgICAgICAgICB0aGlzLmFzc2VydEVxdWFsKGQsIHsnZm9vJzogJ2Jhcid9KQorICAgICAgICAgICAgZGVmIHRlc3Rfc2Vjb25kKHNlbGYpOgorICAgICAgICAgICAgICAgIHRoaXMuYXNzZXJ0RXF1YWwoZCwgeydmb28nOiAnYmFyJ30pCisKKyAgICAgICAgVGVzdCA9IHBhdGNoLmRpY3QoZCwgeydmb28nOiAnYmFyJ30sIGNsZWFyPVRydWUpKFRlc3QpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZCwgb3JpZ2luYWwpCisKKyAgICAgICAgdGVzdCA9IFRlc3QoKQorCisgICAgICAgIHRlc3QudGVzdF9maXJzdCgpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZCwgb3JpZ2luYWwpCisKKyAgICAgICAgdGVzdC50ZXN0X3NlY29uZCgpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZCwgb3JpZ2luYWwpCisKKyAgICAgICAgdGVzdCA9IFRlc3QoKQorCisgICAgICAgIHRlc3QudGVzdF9maXJzdCgpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZCwgb3JpZ2luYWwpCisKKyAgICAgICAgdGVzdC50ZXN0X3NlY29uZCgpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZCwgb3JpZ2luYWwpCisKKworICAgIGRlZiB0ZXN0X2dldF9vbmx5X3Byb3h5KHNlbGYpOgorICAgICAgICBjbGFzcyBTb21ldGhpbmcob2JqZWN0KToKKyAgICAgICAgICAgIGZvbyA9ICdmb28nCisgICAgICAgIGNsYXNzIFNvbWV0aGluZ0Vsc2U6CisgICAgICAgICAgICBmb28gPSAnZm9vJworCisgICAgICAgIGZvciB0aGluZyBpbiBTb21ldGhpbmcsIFNvbWV0aGluZ0Vsc2UsIFNvbWV0aGluZygpLCBTb21ldGhpbmdFbHNlOgorICAgICAgICAgICAgcHJveHkgPSBfZ2V0X3Byb3h5KHRoaW5nKQorCisgICAgICAgICAgICBAcGF0Y2gub2JqZWN0KHByb3h5LCAnZm9vJywgJ2JhcicpCisgICAgICAgICAgICBkZWYgdGVzdCgpOgorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocHJveHkuZm9vLCAnYmFyJykKKyAgICAgICAgICAgIHRlc3QoKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwcm94eS5mb28sICdmb28nKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCh0aGluZy5mb28sICdmb28nKQorICAgICAgICAgICAgc2VsZi5hc3NlcnROb3RJbignZm9vJywgcHJveHkuX19kaWN0X18pCisKKworICAgIGRlZiB0ZXN0X2dldF9zZXRfZGVsZXRlX3Byb3h5KHNlbGYpOgorICAgICAgICBjbGFzcyBTb21ldGhpbmcob2JqZWN0KToKKyAgICAgICAgICAgIGZvbyA9ICdmb28nCisgICAgICAgIGNsYXNzIFNvbWV0aGluZ0Vsc2U6CisgICAgICAgICAgICBmb28gPSAnZm9vJworCisgICAgICAgIGZvciB0aGluZyBpbiBTb21ldGhpbmcsIFNvbWV0aGluZ0Vsc2UsIFNvbWV0aGluZygpLCBTb21ldGhpbmdFbHNlOgorICAgICAgICAgICAgcHJveHkgPSBfZ2V0X3Byb3h5KFNvbWV0aGluZywgZ2V0X29ubHk9RmFsc2UpCisKKyAgICAgICAgICAgIEBwYXRjaC5vYmplY3QocHJveHksICdmb28nLCAnYmFyJykKKyAgICAgICAgICAgIGRlZiB0ZXN0KCk6CisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwcm94eS5mb28sICdiYXInKQorICAgICAgICAgICAgdGVzdCgpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHByb3h5LmZvbywgJ2ZvbycpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHRoaW5nLmZvbywgJ2ZvbycpCisgICAgICAgICAgICBzZWxmLmFzc2VydE5vdEluKCdmb28nLCBwcm94eS5fX2RpY3RfXykKKworCisgICAgZGVmIHRlc3RfcGF0Y2hfa2V5d29yZF9hcmdzKHNlbGYpOgorICAgICAgICBrd2FyZ3MgPSB7J3NpZGVfZWZmZWN0JzogS2V5RXJyb3IsICdmb28uYmFyLnJldHVybl92YWx1ZSc6IDMzLAorICAgICAgICAgICAgICAgICAgJ2Zvbyc6IE1hZ2ljTW9jaygpfQorCisgICAgICAgIHBhdGNoZXIgPSBwYXRjaChmb29fbmFtZSwgKiprd2FyZ3MpCisgICAgICAgIG1vY2sgPSBwYXRjaGVyLnN0YXJ0KCkKKyAgICAgICAgcGF0Y2hlci5zdG9wKCkKKworICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhLZXlFcnJvciwgbW9jaykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb2NrLmZvby5iYXIoKSwgMzMpCisgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShtb2NrLmZvbywgTWFnaWNNb2NrKQorCisKKyAgICBkZWYgdGVzdF9wYXRjaF9vYmplY3Rfa2V5d29yZF9hcmdzKHNlbGYpOgorICAgICAgICBrd2FyZ3MgPSB7J3NpZGVfZWZmZWN0JzogS2V5RXJyb3IsICdmb28uYmFyLnJldHVybl92YWx1ZSc6IDMzLAorICAgICAgICAgICAgICAgICAgJ2Zvbyc6IE1hZ2ljTW9jaygpfQorCisgICAgICAgIHBhdGNoZXIgPSBwYXRjaC5vYmplY3QoRm9vLCAnZicsICoqa3dhcmdzKQorICAgICAgICBtb2NrID0gcGF0Y2hlci5zdGFydCgpCisgICAgICAgIHBhdGNoZXIuc3RvcCgpCisKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoS2V5RXJyb3IsIG1vY2spCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobW9jay5mb28uYmFyKCksIDMzKQorICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2UobW9jay5mb28sIE1hZ2ljTW9jaykKKworCisgICAgZGVmIHRlc3RfcGF0Y2hfZGljdF9rZXl3b3JkX2FyZ3Moc2VsZik6CisgICAgICAgIG9yaWdpbmFsID0geydmb28nOiAnYmFyJ30KKyAgICAgICAgY29weSA9IG9yaWdpbmFsLmNvcHkoKQorCisgICAgICAgIHBhdGNoZXIgPSBwYXRjaC5kaWN0KG9yaWdpbmFsLCBmb289MywgYmFyPTQsIGJhej01KQorICAgICAgICBwYXRjaGVyLnN0YXJ0KCkKKworICAgICAgICB0cnk6CisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG9yaWdpbmFsLCBkaWN0KGZvbz0zLCBiYXI9NCwgYmF6PTUpKQorICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgcGF0Y2hlci5zdG9wKCkKKworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG9yaWdpbmFsLCBjb3B5KQorCisKKyAgICBkZWYgdGVzdF9hdXRvc3BlYyhzZWxmKToKKyAgICAgICAgY2xhc3MgQm9vKG9iamVjdCk6CisgICAgICAgICAgICBkZWYgX19pbml0X18oc2VsZiwgYSk6CisgICAgICAgICAgICAgICAgcGFzcworICAgICAgICAgICAgZGVmIGYoc2VsZiwgYSk6CisgICAgICAgICAgICAgICAgcGFzcworICAgICAgICAgICAgZGVmIGcoc2VsZik6CisgICAgICAgICAgICAgICAgcGFzcworICAgICAgICAgICAgZm9vID0gJ2JhcicKKworICAgICAgICAgICAgY2xhc3MgQmFyKG9iamVjdCk6CisgICAgICAgICAgICAgICAgZGVmIGEoc2VsZik6CisgICAgICAgICAgICAgICAgICAgIHBhc3MKKworICAgICAgICBkZWYgX3Rlc3QobW9jayk6CisgICAgICAgICAgICBtb2NrKDEpCisgICAgICAgICAgICBtb2NrLmFzc2VydF9jYWxsZWRfd2l0aCgxKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBtb2NrKQorCisgICAgICAgIGRlZiBfdGVzdDIobW9jayk6CisgICAgICAgICAgICBtb2NrLmYoMSkKKyAgICAgICAgICAgIG1vY2suZi5hc3NlcnRfY2FsbGVkX3dpdGgoMSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgbW9jay5mKQorCisgICAgICAgICAgICBtb2NrLmcoKQorICAgICAgICAgICAgbW9jay5nLmFzc2VydF9jYWxsZWRfd2l0aCgpCisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIG1vY2suZywgMSkKKworICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoQXR0cmlidXRlRXJyb3IsIGdldGF0dHIsIG1vY2ssICdoJykKKworICAgICAgICAgICAgbW9jay5mb28ubG93ZXIoKQorICAgICAgICAgICAgbW9jay5mb28ubG93ZXIuYXNzZXJ0X2NhbGxlZF93aXRoKCkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEF0dHJpYnV0ZUVycm9yLCBnZXRhdHRyLCBtb2NrLmZvbywgJ2JhcicpCisKKyAgICAgICAgICAgIG1vY2suQmFyKCkKKyAgICAgICAgICAgIG1vY2suQmFyLmFzc2VydF9jYWxsZWRfd2l0aCgpCisKKyAgICAgICAgICAgIG1vY2suQmFyLmEoKQorICAgICAgICAgICAgbW9jay5CYXIuYS5hc3NlcnRfY2FsbGVkX3dpdGgoKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBtb2NrLkJhci5hLCAxKQorCisgICAgICAgICAgICBtb2NrLkJhcigpLmEoKQorICAgICAgICAgICAgbW9jay5CYXIoKS5hLmFzc2VydF9jYWxsZWRfd2l0aCgpCisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIG1vY2suQmFyKCkuYSwgMSkKKworICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoQXR0cmlidXRlRXJyb3IsIGdldGF0dHIsIG1vY2suQmFyLCAnYicpCisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhBdHRyaWJ1dGVFcnJvciwgZ2V0YXR0ciwgbW9jay5CYXIoKSwgJ2InKQorCisgICAgICAgIGRlZiBmdW5jdGlvbihtb2NrKToKKyAgICAgICAgICAgIF90ZXN0KG1vY2spCisgICAgICAgICAgICBfdGVzdDIobW9jaykKKyAgICAgICAgICAgIF90ZXN0Mihtb2NrKDEpKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRJcyhtb2NrLCBGb28pCisgICAgICAgICAgICByZXR1cm4gbW9jaworCisgICAgICAgIHRlc3QgPSBwYXRjaChmb29fbmFtZSwgYXV0b3NwZWM9VHJ1ZSkoZnVuY3Rpb24pCisKKyAgICAgICAgbW9jayA9IHRlc3QoKQorICAgICAgICBzZWxmLmFzc2VydElzTm90KEZvbywgbW9jaykKKyAgICAgICAgIyB0ZXN0IHBhdGNoaW5nIGEgc2Vjb25kIHRpbWUgd29ya3MKKyAgICAgICAgdGVzdCgpCisKKyAgICAgICAgbW9kdWxlID0gc3lzLm1vZHVsZXNbX19uYW1lX19dCisgICAgICAgIHRlc3QgPSBwYXRjaC5vYmplY3QobW9kdWxlLCAnRm9vJywgYXV0b3NwZWM9VHJ1ZSkoZnVuY3Rpb24pCisKKyAgICAgICAgbW9jayA9IHRlc3QoKQorICAgICAgICBzZWxmLmFzc2VydElzTm90KEZvbywgbW9jaykKKyAgICAgICAgIyB0ZXN0IHBhdGNoaW5nIGEgc2Vjb25kIHRpbWUgd29ya3MKKyAgICAgICAgdGVzdCgpCisKKworICAgIGRlZiB0ZXN0X2F1dG9zcGVjX2Z1bmN0aW9uKHNlbGYpOgorICAgICAgICBAcGF0Y2goJyVzLmZ1bmN0aW9uJyAlIF9fbmFtZV9fLCBhdXRvc3BlYz1UcnVlKQorICAgICAgICBkZWYgdGVzdChtb2NrKToKKyAgICAgICAgICAgIGZ1bmN0aW9uKDEpCisgICAgICAgICAgICBmdW5jdGlvbi5hc3NlcnRfY2FsbGVkX3dpdGgoMSkKKyAgICAgICAgICAgIGZ1bmN0aW9uKDIsIDMpCisgICAgICAgICAgICBmdW5jdGlvbi5hc3NlcnRfY2FsbGVkX3dpdGgoMiwgMykKKworICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBmdW5jdGlvbikKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEF0dHJpYnV0ZUVycm9yLCBnZXRhdHRyLCBmdW5jdGlvbiwgJ2ZvbycpCisKKyAgICAgICAgdGVzdCgpCisKKworICAgIGRlZiB0ZXN0X2F1dG9zcGVjX2tleXdvcmRzKHNlbGYpOgorICAgICAgICBAcGF0Y2goJyVzLmZ1bmN0aW9uJyAlIF9fbmFtZV9fLCBhdXRvc3BlYz1UcnVlLAorICAgICAgICAgICAgICAgcmV0dXJuX3ZhbHVlPTMpCisgICAgICAgIGRlZiB0ZXN0KG1vY2tfZnVuY3Rpb24pOgorICAgICAgICAgICAgI3NlbGYuYXNzZXJ0RXF1YWwoZnVuY3Rpb24uYWJjLCAnZm9vJykKKyAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbigxLCAyKQorCisgICAgICAgIHJlc3VsdCA9IHRlc3QoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlc3VsdCwgMykKKworCisgICAgZGVmIHRlc3RfYXV0b3NwZWNfd2l0aF9uZXcoc2VsZik6CisgICAgICAgIHBhdGNoZXIgPSBwYXRjaCgnJXMuZnVuY3Rpb24nICUgX19uYW1lX18sIG5ldz0zLCBhdXRvc3BlYz1UcnVlKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIHBhdGNoZXIuc3RhcnQpCisKKyAgICAgICAgbW9kdWxlID0gc3lzLm1vZHVsZXNbX19uYW1lX19dCisgICAgICAgIHBhdGNoZXIgPSBwYXRjaC5vYmplY3QobW9kdWxlLCAnZnVuY3Rpb24nLCBuZXc9MywgYXV0b3NwZWM9VHJ1ZSkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBwYXRjaGVyLnN0YXJ0KQorCisKKyAgICBkZWYgdGVzdF9hdXRvc3BlY193aXRoX29iamVjdChzZWxmKToKKyAgICAgICAgY2xhc3MgQmFyKEZvbyk6CisgICAgICAgICAgICBleHRyYSA9IFtdCisKKyAgICAgICAgcGF0Y2hlciA9IHBhdGNoKGZvb19uYW1lLCBhdXRvc3BlYz1CYXIpCisgICAgICAgIG1vY2sgPSBwYXRjaGVyLnN0YXJ0KCkKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgc2VsZi5hc3NlcnRJc0luc3RhbmNlKG1vY2ssIEJhcikKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShtb2NrLmV4dHJhLCBsaXN0KQorICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgcGF0Y2hlci5zdG9wKCkKKworCisgICAgZGVmIHRlc3RfYXV0b3NwZWNfaW5oZXJpdHMoc2VsZik6CisgICAgICAgIEZvb0NsYXNzID0gRm9vCisgICAgICAgIHBhdGNoZXIgPSBwYXRjaChmb29fbmFtZSwgYXV0b3NwZWM9VHJ1ZSkKKyAgICAgICAgbW9jayA9IHBhdGNoZXIuc3RhcnQoKQorICAgICAgICB0cnk6CisgICAgICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2UobW9jaywgRm9vQ2xhc3MpCisgICAgICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2UobW9jaygzKSwgRm9vQ2xhc3MpCisgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICBwYXRjaGVyLnN0b3AoKQorCisKKyAgICBkZWYgdGVzdF9hdXRvc3BlY19uYW1lKHNlbGYpOgorICAgICAgICBwYXRjaGVyID0gcGF0Y2goZm9vX25hbWUsIGF1dG9zcGVjPVRydWUpCisgICAgICAgIG1vY2sgPSBwYXRjaGVyLnN0YXJ0KCkKKworICAgICAgICB0cnk6CisgICAgICAgICAgICBzZWxmLmFzc2VydEluKCIgbmFtZT0nRm9vJyIsIHJlcHIobW9jaykpCisgICAgICAgICAgICBzZWxmLmFzc2VydEluKCIgbmFtZT0nRm9vLmYnIiwgcmVwcihtb2NrLmYpKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRJbigiIG5hbWU9J0ZvbygpJyIsIHJlcHIobW9jayhOb25lKSkpCisgICAgICAgICAgICBzZWxmLmFzc2VydEluKCIgbmFtZT0nRm9vKCkuZiciLCByZXByKG1vY2soTm9uZSkuZikpCisgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICBwYXRjaGVyLnN0b3AoKQorCisKKyAgICBkZWYgdGVzdF90cmFjZWJhY2tzKHNlbGYpOgorICAgICAgICBAcGF0Y2gub2JqZWN0KEZvbywgJ2YnLCBvYmplY3QoKSkKKyAgICAgICAgZGVmIHRlc3QoKToKKyAgICAgICAgICAgIHJhaXNlIEFzc2VydGlvbkVycm9yCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHRlc3QoKQorICAgICAgICBleGNlcHQ6CisgICAgICAgICAgICBlcnIgPSBzeXMuZXhjX2luZm8oKQorCisgICAgICAgIHJlc3VsdCA9IHVuaXR0ZXN0LlRleHRUZXN0UmVzdWx0KE5vbmUsIE5vbmUsIDApCisgICAgICAgIHRyYWNlYmFjayA9IHJlc3VsdC5fZXhjX2luZm9fdG9fc3RyaW5nKGVyciwgc2VsZikKKyAgICAgICAgc2VsZi5hc3NlcnRJbigncmFpc2UgQXNzZXJ0aW9uRXJyb3InLCB0cmFjZWJhY2spCisKKworICAgIGRlZiB0ZXN0X25ld19jYWxsYWJsZV9wYXRjaChzZWxmKToKKyAgICAgICAgcGF0Y2hlciA9IHBhdGNoKGZvb19uYW1lLCBuZXdfY2FsbGFibGU9Tm9uQ2FsbGFibGVNYWdpY01vY2spCisKKyAgICAgICAgbTEgPSBwYXRjaGVyLnN0YXJ0KCkKKyAgICAgICAgcGF0Y2hlci5zdG9wKCkKKyAgICAgICAgbTIgPSBwYXRjaGVyLnN0YXJ0KCkKKyAgICAgICAgcGF0Y2hlci5zdG9wKCkKKworICAgICAgICBzZWxmLmFzc2VydElzTm90KG0xLCBtMikKKyAgICAgICAgZm9yIG1vY2sgaW4gbTEsIG0yOgorICAgICAgICAgICAgc2VsZi5hc3NlcnROb3RDYWxsYWJsZShtMSkKKworCisgICAgZGVmIHRlc3RfbmV3X2NhbGxhYmxlX3BhdGNoX29iamVjdChzZWxmKToKKyAgICAgICAgcGF0Y2hlciA9IHBhdGNoLm9iamVjdChGb28sICdmJywgbmV3X2NhbGxhYmxlPU5vbkNhbGxhYmxlTWFnaWNNb2NrKQorCisgICAgICAgIG0xID0gcGF0Y2hlci5zdGFydCgpCisgICAgICAgIHBhdGNoZXIuc3RvcCgpCisgICAgICAgIG0yID0gcGF0Y2hlci5zdGFydCgpCisgICAgICAgIHBhdGNoZXIuc3RvcCgpCisKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vdChtMSwgbTIpCisgICAgICAgIGZvciBtb2NrIGluIG0xLCBtMjoKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0Tm90Q2FsbGFibGUobTEpCisKKworICAgIGRlZiB0ZXN0X25ld19jYWxsYWJsZV9rZXl3b3JkX2FyZ3VtZW50cyhzZWxmKToKKyAgICAgICAgY2xhc3MgQmFyKG9iamVjdCk6CisgICAgICAgICAgICBrd2FyZ3MgPSBOb25lCisgICAgICAgICAgICBkZWYgX19pbml0X18oc2VsZiwgKiprd2FyZ3MpOgorICAgICAgICAgICAgICAgIEJhci5rd2FyZ3MgPSBrd2FyZ3MKKworICAgICAgICBwYXRjaGVyID0gcGF0Y2goZm9vX25hbWUsIG5ld19jYWxsYWJsZT1CYXIsIGFyZzE9MSwgYXJnMj0yKQorICAgICAgICBtID0gcGF0Y2hlci5zdGFydCgpCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXModHlwZShtKSwgQmFyKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChCYXIua3dhcmdzLCBkaWN0KGFyZzE9MSwgYXJnMj0yKSkKKyAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgIHBhdGNoZXIuc3RvcCgpCisKKworICAgIGRlZiB0ZXN0X25ld19jYWxsYWJsZV9zcGVjKHNlbGYpOgorICAgICAgICBjbGFzcyBCYXIob2JqZWN0KToKKyAgICAgICAgICAgIGt3YXJncyA9IE5vbmUKKyAgICAgICAgICAgIGRlZiBfX2luaXRfXyhzZWxmLCAqKmt3YXJncyk6CisgICAgICAgICAgICAgICAgQmFyLmt3YXJncyA9IGt3YXJncworCisgICAgICAgIHBhdGNoZXIgPSBwYXRjaChmb29fbmFtZSwgbmV3X2NhbGxhYmxlPUJhciwgc3BlYz1CYXIpCisgICAgICAgIHBhdGNoZXIuc3RhcnQoKQorICAgICAgICB0cnk6CisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKEJhci5rd2FyZ3MsIGRpY3Qoc3BlYz1CYXIpKQorICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgcGF0Y2hlci5zdG9wKCkKKworICAgICAgICBwYXRjaGVyID0gcGF0Y2goZm9vX25hbWUsIG5ld19jYWxsYWJsZT1CYXIsIHNwZWNfc2V0PUJhcikKKyAgICAgICAgcGF0Y2hlci5zdGFydCgpCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoQmFyLmt3YXJncywgZGljdChzcGVjX3NldD1CYXIpKQorICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgcGF0Y2hlci5zdG9wKCkKKworCisgICAgZGVmIHRlc3RfbmV3X2NhbGxhYmxlX2NyZWF0ZShzZWxmKToKKyAgICAgICAgbm9uX2V4aXN0ZW50X2F0dHIgPSAnJXMud2VlZWVlJyAlIGZvb19uYW1lCisgICAgICAgIHAgPSBwYXRjaChub25fZXhpc3RlbnRfYXR0ciwgbmV3X2NhbGxhYmxlPU5vbkNhbGxhYmxlTW9jaykKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoQXR0cmlidXRlRXJyb3IsIHAuc3RhcnQpCisKKyAgICAgICAgcCA9IHBhdGNoKG5vbl9leGlzdGVudF9hdHRyLCBuZXdfY2FsbGFibGU9Tm9uQ2FsbGFibGVNb2NrLAorICAgICAgICAgICAgICAgICAgY3JlYXRlPVRydWUpCisgICAgICAgIG0gPSBwLnN0YXJ0KCkKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgc2VsZi5hc3NlcnROb3RDYWxsYWJsZShtLCBtYWdpYz1GYWxzZSkKKyAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgIHAuc3RvcCgpCisKKworICAgIGRlZiB0ZXN0X25ld19jYWxsYWJsZV9pbmNvbXBhdGlibGVfd2l0aF9uZXcoc2VsZik6CisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKAorICAgICAgICAgICAgVmFsdWVFcnJvciwgcGF0Y2gsIGZvb19uYW1lLCBuZXc9b2JqZWN0KCksIG5ld19jYWxsYWJsZT1NYWdpY01vY2sKKyAgICAgICAgKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcygKKyAgICAgICAgICAgIFZhbHVlRXJyb3IsIHBhdGNoLm9iamVjdCwgRm9vLCAnZicsIG5ldz1vYmplY3QoKSwKKyAgICAgICAgICAgIG5ld19jYWxsYWJsZT1NYWdpY01vY2sKKyAgICAgICAgKQorCisKKyAgICBkZWYgdGVzdF9uZXdfY2FsbGFibGVfaW5jb21wYXRpYmxlX3dpdGhfYXV0b3NwZWMoc2VsZik6CisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKAorICAgICAgICAgICAgVmFsdWVFcnJvciwgcGF0Y2gsIGZvb19uYW1lLCBuZXdfY2FsbGFibGU9TWFnaWNNb2NrLAorICAgICAgICAgICAgYXV0b3NwZWM9VHJ1ZQorICAgICAgICApCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKAorICAgICAgICAgICAgVmFsdWVFcnJvciwgcGF0Y2gub2JqZWN0LCBGb28sICdmJywgbmV3X2NhbGxhYmxlPU1hZ2ljTW9jaywKKyAgICAgICAgICAgIGF1dG9zcGVjPVRydWUKKyAgICAgICAgKQorCisKKyAgICBkZWYgdGVzdF9uZXdfY2FsbGFibGVfaW5oZXJpdF9mb3JfbW9ja3Moc2VsZik6CisgICAgICAgIGNsYXNzIE1vY2tTdWIoTW9jayk6CisgICAgICAgICAgICBwYXNzCisKKyAgICAgICAgTW9ja0NsYXNzZXMgPSAoCisgICAgICAgICAgICBOb25DYWxsYWJsZU1vY2ssIE5vbkNhbGxhYmxlTWFnaWNNb2NrLCBNYWdpY01vY2ssIE1vY2ssIE1vY2tTdWIKKyAgICAgICAgKQorICAgICAgICBmb3IgS2xhc3MgaW4gTW9ja0NsYXNzZXM6CisgICAgICAgICAgICBmb3IgYXJnIGluICdzcGVjJywgJ3NwZWNfc2V0JzoKKyAgICAgICAgICAgICAgICBrd2FyZ3MgPSB7YXJnOiBUcnVlfQorICAgICAgICAgICAgICAgIHAgPSBwYXRjaChmb29fbmFtZSwgbmV3X2NhbGxhYmxlPUtsYXNzLCAqKmt3YXJncykKKyAgICAgICAgICAgICAgICBtID0gcC5zdGFydCgpCisgICAgICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgICAgICBpbnN0YW5jZSA9IG0ucmV0dXJuX3ZhbHVlCisgICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEF0dHJpYnV0ZUVycm9yLCBnZXRhdHRyLCBpbnN0YW5jZSwgJ3gnKQorICAgICAgICAgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICAgICAgICAgIHAuc3RvcCgpCisKKworICAgIGRlZiB0ZXN0X25ld19jYWxsYWJsZV9pbmhlcml0X25vbl9tb2NrKHNlbGYpOgorICAgICAgICBjbGFzcyBOb3RBTW9jayhvYmplY3QpOgorICAgICAgICAgICAgZGVmIF9faW5pdF9fKHNlbGYsIHNwZWMpOgorICAgICAgICAgICAgICAgIHNlbGYuc3BlYyA9IHNwZWMKKworICAgICAgICBwID0gcGF0Y2goZm9vX25hbWUsIG5ld19jYWxsYWJsZT1Ob3RBTW9jaywgc3BlYz1UcnVlKQorICAgICAgICBtID0gcC5zdGFydCgpCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShpc19pbnN0YW5jZShtLCBOb3RBTW9jaykpCisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhBdHRyaWJ1dGVFcnJvciwgZ2V0YXR0ciwgbSwgJ3JldHVybl92YWx1ZScpCisgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICBwLnN0b3AoKQorCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobS5zcGVjLCBGb28pCisKKworICAgIGRlZiB0ZXN0X25ld19jYWxsYWJsZV9jbGFzc19kZWNvcmF0aW5nKHNlbGYpOgorICAgICAgICB0ZXN0ID0gc2VsZgorICAgICAgICBvcmlnaW5hbCA9IEZvbworICAgICAgICBjbGFzcyBTb21lVGVzdChvYmplY3QpOgorCisgICAgICAgICAgICBkZWYgX3Rlc3Qoc2VsZiwgbW9ja19mb28pOgorICAgICAgICAgICAgICAgIHRlc3QuYXNzZXJ0SXNOb3QoRm9vLCBvcmlnaW5hbCkKKyAgICAgICAgICAgICAgICB0ZXN0LmFzc2VydElzKEZvbywgbW9ja19mb28pCisgICAgICAgICAgICAgICAgdGVzdC5hc3NlcnRJc0luc3RhbmNlKEZvbywgU29tZUNsYXNzKQorCisgICAgICAgICAgICBkZWYgdGVzdF90d28oc2VsZiwgbW9ja19mb28pOgorICAgICAgICAgICAgICAgIHNlbGYuX3Rlc3QobW9ja19mb28pCisgICAgICAgICAgICBkZWYgdGVzdF9vbmUoc2VsZiwgbW9ja19mb28pOgorICAgICAgICAgICAgICAgIHNlbGYuX3Rlc3QobW9ja19mb28pCisKKyAgICAgICAgU29tZVRlc3QgPSBwYXRjaChmb29fbmFtZSwgbmV3X2NhbGxhYmxlPVNvbWVDbGFzcykoU29tZVRlc3QpCisgICAgICAgIFNvbWVUZXN0KCkudGVzdF9vbmUoKQorICAgICAgICBTb21lVGVzdCgpLnRlc3RfdHdvKCkKKyAgICAgICAgc2VsZi5hc3NlcnRJcyhGb28sIG9yaWdpbmFsKQorCisKKyAgICBkZWYgdGVzdF9wYXRjaF9tdWx0aXBsZShzZWxmKToKKyAgICAgICAgb3JpZ2luYWxfZm9vID0gRm9vCisgICAgICAgIG9yaWdpbmFsX2YgPSBGb28uZgorICAgICAgICBvcmlnaW5hbF9nID0gRm9vLmcKKworICAgICAgICBwYXRjaGVyMSA9IHBhdGNoLm11bHRpcGxlKGZvb19uYW1lLCBmPTEsIGc9MikKKyAgICAgICAgcGF0Y2hlcjIgPSBwYXRjaC5tdWx0aXBsZShGb28sIGY9MSwgZz0yKQorCisgICAgICAgIGZvciBwYXRjaGVyIGluIHBhdGNoZXIxLCBwYXRjaGVyMjoKKyAgICAgICAgICAgIHBhdGNoZXIuc3RhcnQoKQorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXMoRm9vLCBvcmlnaW5hbF9mb28pCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChGb28uZiwgMSkKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKEZvby5nLCAyKQorICAgICAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgICAgICBwYXRjaGVyLnN0b3AoKQorCisgICAgICAgICAgICBzZWxmLmFzc2VydElzKEZvbywgb3JpZ2luYWxfZm9vKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChGb28uZiwgb3JpZ2luYWxfZikKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoRm9vLmcsIG9yaWdpbmFsX2cpCisKKworICAgICAgICBAcGF0Y2gubXVsdGlwbGUoZm9vX25hbWUsIGY9MywgZz00KQorICAgICAgICBkZWYgdGVzdCgpOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRJcyhGb28sIG9yaWdpbmFsX2ZvbykKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoRm9vLmYsIDMpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKEZvby5nLCA0KQorCisgICAgICAgIHRlc3QoKQorCisKKyAgICBkZWYgdGVzdF9wYXRjaF9tdWx0aXBsZV9ub19rd2FyZ3Moc2VsZik6CisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFZhbHVlRXJyb3IsIHBhdGNoLm11bHRpcGxlLCBmb29fbmFtZSkKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVmFsdWVFcnJvciwgcGF0Y2gubXVsdGlwbGUsIEZvbykKKworCisgICAgZGVmIHRlc3RfcGF0Y2hfbXVsdGlwbGVfY3JlYXRlX21vY2tzKHNlbGYpOgorICAgICAgICBvcmlnaW5hbF9mb28gPSBGb28KKyAgICAgICAgb3JpZ2luYWxfZiA9IEZvby5mCisgICAgICAgIG9yaWdpbmFsX2cgPSBGb28uZworCisgICAgICAgIEBwYXRjaC5tdWx0aXBsZShmb29fbmFtZSwgZj1ERUZBVUxULCBnPTMsIGZvbz1ERUZBVUxUKQorICAgICAgICBkZWYgdGVzdChmLCBmb28pOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRJcyhGb28sIG9yaWdpbmFsX2ZvbykKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXMoRm9vLmYsIGYpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKEZvby5nLCAzKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRJcyhGb28uZm9vLCBmb28pCisgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoaXNfaW5zdGFuY2UoZiwgTWFnaWNNb2NrKSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShpc19pbnN0YW5jZShmb28sIE1hZ2ljTW9jaykpCisKKyAgICAgICAgdGVzdCgpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoRm9vLmYsIG9yaWdpbmFsX2YpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoRm9vLmcsIG9yaWdpbmFsX2cpCisKKworICAgIGRlZiB0ZXN0X3BhdGNoX211bHRpcGxlX2NyZWF0ZV9tb2Nrc19kaWZmZXJlbnRfb3JkZXIoc2VsZik6CisgICAgICAgICMgYnVnIHJldmVhbGVkIGJ5IEp5dGhvbiEKKyAgICAgICAgb3JpZ2luYWxfZiA9IEZvby5mCisgICAgICAgIG9yaWdpbmFsX2cgPSBGb28uZworCisgICAgICAgIHBhdGNoZXIgPSBwYXRjaC5vYmplY3QoRm9vLCAnZicsIDMpCisgICAgICAgIHBhdGNoZXIuYXR0cmlidXRlX25hbWUgPSAnZicKKworICAgICAgICBvdGhlciA9IHBhdGNoLm9iamVjdChGb28sICdnJywgREVGQVVMVCkKKyAgICAgICAgb3RoZXIuYXR0cmlidXRlX25hbWUgPSAnZycKKyAgICAgICAgcGF0Y2hlci5hZGRpdGlvbmFsX3BhdGNoZXJzID0gW290aGVyXQorCisgICAgICAgIEBwYXRjaGVyCisgICAgICAgIGRlZiB0ZXN0KGcpOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRJcyhGb28uZywgZykKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoRm9vLmYsIDMpCisKKyAgICAgICAgdGVzdCgpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoRm9vLmYsIG9yaWdpbmFsX2YpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoRm9vLmcsIG9yaWdpbmFsX2cpCisKKworICAgIGRlZiB0ZXN0X3BhdGNoX211bHRpcGxlX3N0YWNrZWRfZGVjb3JhdG9ycyhzZWxmKToKKyAgICAgICAgb3JpZ2luYWxfZm9vID0gRm9vCisgICAgICAgIG9yaWdpbmFsX2YgPSBGb28uZgorICAgICAgICBvcmlnaW5hbF9nID0gRm9vLmcKKworICAgICAgICBAcGF0Y2gubXVsdGlwbGUoZm9vX25hbWUsIGY9REVGQVVMVCkKKyAgICAgICAgQHBhdGNoLm11bHRpcGxlKGZvb19uYW1lLCBmb289REVGQVVMVCkKKyAgICAgICAgQHBhdGNoKGZvb19uYW1lICsgJy5nJykKKyAgICAgICAgZGVmIHRlc3QxKGcsICoqa3dhcmdzKToKKyAgICAgICAgICAgIF90ZXN0KGcsICoqa3dhcmdzKQorCisgICAgICAgIEBwYXRjaC5tdWx0aXBsZShmb29fbmFtZSwgZj1ERUZBVUxUKQorICAgICAgICBAcGF0Y2goZm9vX25hbWUgKyAnLmcnKQorICAgICAgICBAcGF0Y2gubXVsdGlwbGUoZm9vX25hbWUsIGZvbz1ERUZBVUxUKQorICAgICAgICBkZWYgdGVzdDIoZywgKiprd2FyZ3MpOgorICAgICAgICAgICAgX3Rlc3QoZywgKiprd2FyZ3MpCisKKyAgICAgICAgQHBhdGNoKGZvb19uYW1lICsgJy5nJykKKyAgICAgICAgQHBhdGNoLm11bHRpcGxlKGZvb19uYW1lLCBmPURFRkFVTFQpCisgICAgICAgIEBwYXRjaC5tdWx0aXBsZShmb29fbmFtZSwgZm9vPURFRkFVTFQpCisgICAgICAgIGRlZiB0ZXN0MyhnLCAqKmt3YXJncyk6CisgICAgICAgICAgICBfdGVzdChnLCAqKmt3YXJncykKKworICAgICAgICBkZWYgX3Rlc3QoZywgKiprd2FyZ3MpOgorICAgICAgICAgICAgZiA9IGt3YXJncy5wb3AoJ2YnKQorICAgICAgICAgICAgZm9vID0ga3dhcmdzLnBvcCgnZm9vJykKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2Uoa3dhcmdzKQorCisgICAgICAgICAgICBzZWxmLmFzc2VydElzKEZvbywgb3JpZ2luYWxfZm9vKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRJcyhGb28uZiwgZikKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXMoRm9vLmcsIGcpCisgICAgICAgICAgICBzZWxmLmFzc2VydElzKEZvby5mb28sIGZvbykKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShpc19pbnN0YW5jZShmLCBNYWdpY01vY2spKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGlzX2luc3RhbmNlKGcsIE1hZ2ljTW9jaykpCisgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoaXNfaW5zdGFuY2UoZm9vLCBNYWdpY01vY2spKQorCisgICAgICAgIHRlc3QxKCkKKyAgICAgICAgdGVzdDIoKQorICAgICAgICB0ZXN0MygpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoRm9vLmYsIG9yaWdpbmFsX2YpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoRm9vLmcsIG9yaWdpbmFsX2cpCisKKworICAgIGRlZiB0ZXN0X3BhdGNoX211bHRpcGxlX2NyZWF0ZV9tb2Nrc19wYXRjaGVyKHNlbGYpOgorICAgICAgICBvcmlnaW5hbF9mb28gPSBGb28KKyAgICAgICAgb3JpZ2luYWxfZiA9IEZvby5mCisgICAgICAgIG9yaWdpbmFsX2cgPSBGb28uZworCisgICAgICAgIHBhdGNoZXIgPSBwYXRjaC5tdWx0aXBsZShmb29fbmFtZSwgZj1ERUZBVUxULCBnPTMsIGZvbz1ERUZBVUxUKQorCisgICAgICAgIHJlc3VsdCA9IHBhdGNoZXIuc3RhcnQoKQorICAgICAgICB0cnk6CisgICAgICAgICAgICBmID0gcmVzdWx0WydmJ10KKyAgICAgICAgICAgIGZvbyA9IHJlc3VsdFsnZm9vJ10KKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2V0KHJlc3VsdCksIHNldChbJ2YnLCAnZm9vJ10pKQorCisgICAgICAgICAgICBzZWxmLmFzc2VydElzKEZvbywgb3JpZ2luYWxfZm9vKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRJcyhGb28uZiwgZikKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXMoRm9vLmZvbywgZm9vKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGlzX2luc3RhbmNlKGYsIE1hZ2ljTW9jaykpCisgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoaXNfaW5zdGFuY2UoZm9vLCBNYWdpY01vY2spKQorICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgcGF0Y2hlci5zdG9wKCkKKworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKEZvby5mLCBvcmlnaW5hbF9mKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKEZvby5nLCBvcmlnaW5hbF9nKQorCisKKyAgICBkZWYgdGVzdF9wYXRjaF9tdWx0aXBsZV9kZWNvcmF0aW5nX2NsYXNzKHNlbGYpOgorICAgICAgICB0ZXN0ID0gc2VsZgorICAgICAgICBvcmlnaW5hbF9mb28gPSBGb28KKyAgICAgICAgb3JpZ2luYWxfZiA9IEZvby5mCisgICAgICAgIG9yaWdpbmFsX2cgPSBGb28uZworCisgICAgICAgIGNsYXNzIFNvbWVUZXN0KG9iamVjdCk6CisKKyAgICAgICAgICAgIGRlZiBfdGVzdChzZWxmLCBmLCBmb28pOgorICAgICAgICAgICAgICAgIHRlc3QuYXNzZXJ0SXMoRm9vLCBvcmlnaW5hbF9mb28pCisgICAgICAgICAgICAgICAgdGVzdC5hc3NlcnRJcyhGb28uZiwgZikKKyAgICAgICAgICAgICAgICB0ZXN0LmFzc2VydEVxdWFsKEZvby5nLCAzKQorICAgICAgICAgICAgICAgIHRlc3QuYXNzZXJ0SXMoRm9vLmZvbywgZm9vKQorICAgICAgICAgICAgICAgIHRlc3QuYXNzZXJ0VHJ1ZShpc19pbnN0YW5jZShmLCBNYWdpY01vY2spKQorICAgICAgICAgICAgICAgIHRlc3QuYXNzZXJ0VHJ1ZShpc19pbnN0YW5jZShmb28sIE1hZ2ljTW9jaykpCisKKyAgICAgICAgICAgIGRlZiB0ZXN0X3R3byhzZWxmLCBmLCBmb28pOgorICAgICAgICAgICAgICAgIHNlbGYuX3Rlc3QoZiwgZm9vKQorICAgICAgICAgICAgZGVmIHRlc3Rfb25lKHNlbGYsIGYsIGZvbyk6CisgICAgICAgICAgICAgICAgc2VsZi5fdGVzdChmLCBmb28pCisKKyAgICAgICAgU29tZVRlc3QgPSBwYXRjaC5tdWx0aXBsZSgKKyAgICAgICAgICAgIGZvb19uYW1lLCBmPURFRkFVTFQsIGc9MywgZm9vPURFRkFVTFQKKyAgICAgICAgKShTb21lVGVzdCkKKworICAgICAgICB0aGluZyA9IFNvbWVUZXN0KCkKKyAgICAgICAgdGhpbmcudGVzdF9vbmUoKQorICAgICAgICB0aGluZy50ZXN0X3R3bygpCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChGb28uZiwgb3JpZ2luYWxfZikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChGb28uZywgb3JpZ2luYWxfZykKKworCisgICAgZGVmIHRlc3RfcGF0Y2hfbXVsdGlwbGVfY3JlYXRlKHNlbGYpOgorICAgICAgICBwYXRjaGVyID0gcGF0Y2gubXVsdGlwbGUoRm9vLCBibGFtPSdibGFtJykKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoQXR0cmlidXRlRXJyb3IsIHBhdGNoZXIuc3RhcnQpCisKKyAgICAgICAgcGF0Y2hlciA9IHBhdGNoLm11bHRpcGxlKEZvbywgYmxhbT0nYmxhbScsIGNyZWF0ZT1UcnVlKQorICAgICAgICBwYXRjaGVyLnN0YXJ0KCkKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChGb28uYmxhbSwgJ2JsYW0nKQorICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgcGF0Y2hlci5zdG9wKCkKKworICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGhhc2F0dHIoRm9vLCAnYmxhbScpKQorCisKKyAgICBkZWYgdGVzdF9wYXRjaF9tdWx0aXBsZV9zcGVjX3NldChzZWxmKToKKyAgICAgICAgIyBpZiBzcGVjX3NldCB3b3JrcyB0aGVuIHdlIGNhbiBhc3N1bWUgdGhhdCBzcGVjIGFuZCBhdXRvc3BlYyBhbHNvCisgICAgICAgICMgd29yayBhcyB0aGUgdW5kZXJseWluZyBtYWNoaW5lcnkgaXMgdGhlIHNhbWUKKyAgICAgICAgcGF0Y2hlciA9IHBhdGNoLm11bHRpcGxlKEZvbywgZm9vPURFRkFVTFQsIHNwZWNfc2V0PVsnYScsICdiJ10pCisgICAgICAgIHJlc3VsdCA9IHBhdGNoZXIuc3RhcnQoKQorICAgICAgICB0cnk6CisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKEZvby5mb28sIHJlc3VsdFsnZm9vJ10pCisgICAgICAgICAgICBGb28uZm9vLmEoMSkKKyAgICAgICAgICAgIEZvby5mb28uYigyKQorICAgICAgICAgICAgRm9vLmZvby5hLmFzc2VydF9jYWxsZWRfd2l0aCgxKQorICAgICAgICAgICAgRm9vLmZvby5iLmFzc2VydF9jYWxsZWRfd2l0aCgyKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoQXR0cmlidXRlRXJyb3IsIHNldGF0dHIsIEZvby5mb28sICdjJywgTm9uZSkKKyAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgIHBhdGNoZXIuc3RvcCgpCisKKworICAgIGRlZiB0ZXN0X3BhdGNoX211bHRpcGxlX25ld19jYWxsYWJsZShzZWxmKToKKyAgICAgICAgY2xhc3MgVGhpbmcob2JqZWN0KToKKyAgICAgICAgICAgIHBhc3MKKworICAgICAgICBwYXRjaGVyID0gcGF0Y2gubXVsdGlwbGUoCisgICAgICAgICAgICBGb28sIGY9REVGQVVMVCwgZz1ERUZBVUxULCBuZXdfY2FsbGFibGU9VGhpbmcKKyAgICAgICAgKQorICAgICAgICByZXN1bHQgPSBwYXRjaGVyLnN0YXJ0KCkKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgc2VsZi5hc3NlcnRJcyhGb28uZiwgcmVzdWx0WydmJ10pCisgICAgICAgICAgICBzZWxmLmFzc2VydElzKEZvby5nLCByZXN1bHRbJ2cnXSkKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0SXNJbnN0YW5jZShGb28uZiwgVGhpbmcpCisgICAgICAgICAgICBzZWxmLmFzc2VydElzSW5zdGFuY2UoRm9vLmcsIFRoaW5nKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRJc05vdChGb28uZiwgRm9vLmcpCisgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICBwYXRjaGVyLnN0b3AoKQorCisKKyAgICBkZWYgdGVzdF9uZXN0ZWRfcGF0Y2hfZmFpbHVyZShzZWxmKToKKyAgICAgICAgb3JpZ2luYWxfZiA9IEZvby5mCisgICAgICAgIG9yaWdpbmFsX2cgPSBGb28uZworCisgICAgICAgIEBwYXRjaC5vYmplY3QoRm9vLCAnZycsIDEpCisgICAgICAgIEBwYXRjaC5vYmplY3QoRm9vLCAnbWlzc2luZycsIDEpCisgICAgICAgIEBwYXRjaC5vYmplY3QoRm9vLCAnZicsIDEpCisgICAgICAgIGRlZiB0aGluZzEoKToKKyAgICAgICAgICAgIHBhc3MKKworICAgICAgICBAcGF0Y2gub2JqZWN0KEZvbywgJ21pc3NpbmcnLCAxKQorICAgICAgICBAcGF0Y2gub2JqZWN0KEZvbywgJ2cnLCAxKQorICAgICAgICBAcGF0Y2gub2JqZWN0KEZvbywgJ2YnLCAxKQorICAgICAgICBkZWYgdGhpbmcyKCk6CisgICAgICAgICAgICBwYXNzCisKKyAgICAgICAgQHBhdGNoLm9iamVjdChGb28sICdnJywgMSkKKyAgICAgICAgQHBhdGNoLm9iamVjdChGb28sICdmJywgMSkKKyAgICAgICAgQHBhdGNoLm9iamVjdChGb28sICdtaXNzaW5nJywgMSkKKyAgICAgICAgZGVmIHRoaW5nMygpOgorICAgICAgICAgICAgcGFzcworCisgICAgICAgIGZvciBmdW5jIGluIHRoaW5nMSwgdGhpbmcyLCB0aGluZzM6CisgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhBdHRyaWJ1dGVFcnJvciwgZnVuYykKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoRm9vLmYsIG9yaWdpbmFsX2YpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKEZvby5nLCBvcmlnaW5hbF9nKQorCisKKyAgICBkZWYgdGVzdF9uZXdfY2FsbGFibGVfZmFpbHVyZShzZWxmKToKKyAgICAgICAgb3JpZ2luYWxfZiA9IEZvby5mCisgICAgICAgIG9yaWdpbmFsX2cgPSBGb28uZworICAgICAgICBvcmlnaW5hbF9mb28gPSBGb28uZm9vCisKKyAgICAgICAgZGVmIGNyYXNoZXIoKToKKyAgICAgICAgICAgIHJhaXNlIE5hbWVFcnJvcignY3Jhc2hlcicpCisKKyAgICAgICAgQHBhdGNoLm9iamVjdChGb28sICdnJywgMSkKKyAgICAgICAgQHBhdGNoLm9iamVjdChGb28sICdmb28nLCBuZXdfY2FsbGFibGU9Y3Jhc2hlcikKKyAgICAgICAgQHBhdGNoLm9iamVjdChGb28sICdmJywgMSkKKyAgICAgICAgZGVmIHRoaW5nMSgpOgorICAgICAgICAgICAgcGFzcworCisgICAgICAgIEBwYXRjaC5vYmplY3QoRm9vLCAnZm9vJywgbmV3X2NhbGxhYmxlPWNyYXNoZXIpCisgICAgICAgIEBwYXRjaC5vYmplY3QoRm9vLCAnZycsIDEpCisgICAgICAgIEBwYXRjaC5vYmplY3QoRm9vLCAnZicsIDEpCisgICAgICAgIGRlZiB0aGluZzIoKToKKyAgICAgICAgICAgIHBhc3MKKworICAgICAgICBAcGF0Y2gub2JqZWN0KEZvbywgJ2cnLCAxKQorICAgICAgICBAcGF0Y2gub2JqZWN0KEZvbywgJ2YnLCAxKQorICAgICAgICBAcGF0Y2gub2JqZWN0KEZvbywgJ2ZvbycsIG5ld19jYWxsYWJsZT1jcmFzaGVyKQorICAgICAgICBkZWYgdGhpbmczKCk6CisgICAgICAgICAgICBwYXNzCisKKyAgICAgICAgZm9yIGZ1bmMgaW4gdGhpbmcxLCB0aGluZzIsIHRoaW5nMzoKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE5hbWVFcnJvciwgZnVuYykKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoRm9vLmYsIG9yaWdpbmFsX2YpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKEZvby5nLCBvcmlnaW5hbF9nKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChGb28uZm9vLCBvcmlnaW5hbF9mb28pCisKKworICAgIGRlZiB0ZXN0X3BhdGNoX211bHRpcGxlX2ZhaWx1cmUoc2VsZik6CisgICAgICAgIG9yaWdpbmFsX2YgPSBGb28uZgorICAgICAgICBvcmlnaW5hbF9nID0gRm9vLmcKKworICAgICAgICBwYXRjaGVyID0gcGF0Y2gub2JqZWN0KEZvbywgJ2YnLCAxKQorICAgICAgICBwYXRjaGVyLmF0dHJpYnV0ZV9uYW1lID0gJ2YnCisKKyAgICAgICAgZ29vZCA9IHBhdGNoLm9iamVjdChGb28sICdnJywgMSkKKyAgICAgICAgZ29vZC5hdHRyaWJ1dGVfbmFtZSA9ICdnJworCisgICAgICAgIGJhZCA9IHBhdGNoLm9iamVjdChGb28sICdtaXNzaW5nJywgMSkKKyAgICAgICAgYmFkLmF0dHJpYnV0ZV9uYW1lID0gJ21pc3NpbmcnCisKKyAgICAgICAgZm9yIGFkZGl0aW9uYWxzIGluIFtnb29kLCBiYWRdLCBbYmFkLCBnb29kXToKKyAgICAgICAgICAgIHBhdGNoZXIuYWRkaXRpb25hbF9wYXRjaGVycyA9IGFkZGl0aW9uYWxzCisKKyAgICAgICAgICAgIEBwYXRjaGVyCisgICAgICAgICAgICBkZWYgZnVuYygpOgorICAgICAgICAgICAgICAgIHBhc3MKKworICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoQXR0cmlidXRlRXJyb3IsIGZ1bmMpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKEZvby5mLCBvcmlnaW5hbF9mKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChGb28uZywgb3JpZ2luYWxfZykKKworCisgICAgZGVmIHRlc3RfcGF0Y2hfbXVsdGlwbGVfbmV3X2NhbGxhYmxlX2ZhaWx1cmUoc2VsZik6CisgICAgICAgIG9yaWdpbmFsX2YgPSBGb28uZgorICAgICAgICBvcmlnaW5hbF9nID0gRm9vLmcKKyAgICAgICAgb3JpZ2luYWxfZm9vID0gRm9vLmZvbworCisgICAgICAgIGRlZiBjcmFzaGVyKCk6CisgICAgICAgICAgICByYWlzZSBOYW1lRXJyb3IoJ2NyYXNoZXInKQorCisgICAgICAgIHBhdGNoZXIgPSBwYXRjaC5vYmplY3QoRm9vLCAnZicsIDEpCisgICAgICAgIHBhdGNoZXIuYXR0cmlidXRlX25hbWUgPSAnZicKKworICAgICAgICBnb29kID0gcGF0Y2gub2JqZWN0KEZvbywgJ2cnLCAxKQorICAgICAgICBnb29kLmF0dHJpYnV0ZV9uYW1lID0gJ2cnCisKKyAgICAgICAgYmFkID0gcGF0Y2gub2JqZWN0KEZvbywgJ2ZvbycsIG5ld19jYWxsYWJsZT1jcmFzaGVyKQorICAgICAgICBiYWQuYXR0cmlidXRlX25hbWUgPSAnZm9vJworCisgICAgICAgIGZvciBhZGRpdGlvbmFscyBpbiBbZ29vZCwgYmFkXSwgW2JhZCwgZ29vZF06CisgICAgICAgICAgICBwYXRjaGVyLmFkZGl0aW9uYWxfcGF0Y2hlcnMgPSBhZGRpdGlvbmFscworCisgICAgICAgICAgICBAcGF0Y2hlcgorICAgICAgICAgICAgZGVmIGZ1bmMoKToKKyAgICAgICAgICAgICAgICBwYXNzCisKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE5hbWVFcnJvciwgZnVuYykKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoRm9vLmYsIG9yaWdpbmFsX2YpCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKEZvby5nLCBvcmlnaW5hbF9nKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChGb28uZm9vLCBvcmlnaW5hbF9mb28pCisKKworICAgIGRlZiB0ZXN0X3BhdGNoX211bHRpcGxlX3N0cmluZ19zdWJjbGFzc2VzKHNlbGYpOgorICAgICAgICBGb28gPSB0eXBlKCdGb28nLCAoc3RyLCksIHsnZmlzaCc6ICd0YXN0eSd9KQorICAgICAgICBmb28gPSBGb28oKQorICAgICAgICBAcGF0Y2gubXVsdGlwbGUoZm9vLCBmaXNoPSduZWFybHkgZ29uZScpCisgICAgICAgIGRlZiB0ZXN0KCk6CisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGZvby5maXNoLCAnbmVhcmx5IGdvbmUnKQorCisgICAgICAgIHRlc3QoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGZvby5maXNoLCAndGFzdHknKQorCisKKyAgICBAcGF0Y2goJ3VuaXR0ZXN0Lm1vY2sucGF0Y2guVEVTVF9QUkVGSVgnLCAnZm9vJykKKyAgICBkZWYgdGVzdF9wYXRjaF90ZXN0X3ByZWZpeChzZWxmKToKKyAgICAgICAgY2xhc3MgRm9vKG9iamVjdCk6CisgICAgICAgICAgICB0aGluZyA9ICdvcmlnaW5hbCcKKworICAgICAgICAgICAgZGVmIGZvb19vbmUoc2VsZik6CisgICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYudGhpbmcKKyAgICAgICAgICAgIGRlZiBmb29fdHdvKHNlbGYpOgorICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLnRoaW5nCisgICAgICAgICAgICBkZWYgdGVzdF9vbmUoc2VsZik6CisgICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYudGhpbmcKKyAgICAgICAgICAgIGRlZiB0ZXN0X3R3byhzZWxmKToKKyAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi50aGluZworCisgICAgICAgIEZvbyA9IHBhdGNoLm9iamVjdChGb28sICd0aGluZycsICdjaGFuZ2VkJykoRm9vKQorCisgICAgICAgIGZvbyA9IEZvbygpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZm9vLmZvb19vbmUoKSwgJ2NoYW5nZWQnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGZvby5mb29fdHdvKCksICdjaGFuZ2VkJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmb28udGVzdF9vbmUoKSwgJ29yaWdpbmFsJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmb28udGVzdF90d28oKSwgJ29yaWdpbmFsJykKKworCisgICAgQHBhdGNoKCd1bml0dGVzdC5tb2NrLnBhdGNoLlRFU1RfUFJFRklYJywgJ2JhcicpCisgICAgZGVmIHRlc3RfcGF0Y2hfZGljdF90ZXN0X3ByZWZpeChzZWxmKToKKyAgICAgICAgY2xhc3MgRm9vKG9iamVjdCk6CisgICAgICAgICAgICBkZWYgYmFyX29uZShzZWxmKToKKyAgICAgICAgICAgICAgICByZXR1cm4gZGljdCh0aGVfZGljdCkKKyAgICAgICAgICAgIGRlZiBiYXJfdHdvKHNlbGYpOgorICAgICAgICAgICAgICAgIHJldHVybiBkaWN0KHRoZV9kaWN0KQorICAgICAgICAgICAgZGVmIHRlc3Rfb25lKHNlbGYpOgorICAgICAgICAgICAgICAgIHJldHVybiBkaWN0KHRoZV9kaWN0KQorICAgICAgICAgICAgZGVmIHRlc3RfdHdvKHNlbGYpOgorICAgICAgICAgICAgICAgIHJldHVybiBkaWN0KHRoZV9kaWN0KQorCisgICAgICAgIHRoZV9kaWN0ID0geydrZXknOiAnb3JpZ2luYWwnfQorICAgICAgICBGb28gPSBwYXRjaC5kaWN0KHRoZV9kaWN0LCBrZXk9J2NoYW5nZWQnKShGb28pCisKKyAgICAgICAgZm9vID1Gb28oKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGZvby5iYXJfb25lKCksIHsna2V5JzogJ2NoYW5nZWQnfSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmb28uYmFyX3R3bygpLCB7J2tleSc6ICdjaGFuZ2VkJ30pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZm9vLnRlc3Rfb25lKCksIHsna2V5JzogJ29yaWdpbmFsJ30pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZm9vLnRlc3RfdHdvKCksIHsna2V5JzogJ29yaWdpbmFsJ30pCisKKworICAgIGRlZiB0ZXN0X3BhdGNoX3dpdGhfc3BlY19tb2NrX3JlcHIoc2VsZik6CisgICAgICAgIGZvciBhcmcgaW4gKCdzcGVjJywgJ2F1dG9zcGVjJywgJ3NwZWNfc2V0Jyk6CisgICAgICAgICAgICBwID0gcGF0Y2goJyVzLlNvbWVDbGFzcycgJSBfX25hbWVfXywgKip7YXJnOiBUcnVlfSkKKyAgICAgICAgICAgIG0gPSBwLnN0YXJ0KCkKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEluKCIgbmFtZT0nU29tZUNsYXNzJyIsIHJlcHIobSkpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRJbigiIG5hbWU9J1NvbWVDbGFzcy5jbGFzc19hdHRyaWJ1dGUnIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcHIobS5jbGFzc19hdHRyaWJ1dGUpKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4oIiBuYW1lPSdTb21lQ2xhc3MoKSciLCByZXByKG0oKSkpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRJbigiIG5hbWU9J1NvbWVDbGFzcygpLmNsYXNzX2F0dHJpYnV0ZSciLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVwcihtKCkuY2xhc3NfYXR0cmlidXRlKSkKKyAgICAgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICAgICAgcC5zdG9wKCkKKworCisgICAgZGVmIHRlc3RfcGF0Y2hfbmVzdGVkX2F1dG9zcGVjX3JlcHIoc2VsZik6CisgICAgICAgIHdpdGggcGF0Y2goJ3VuaXR0ZXN0LnRlc3QudGVzdG1vY2suc3VwcG9ydCcsIGF1dG9zcGVjPVRydWUpIGFzIG06CisgICAgICAgICAgICBzZWxmLmFzc2VydEluKCIgbmFtZT0nc3VwcG9ydC5Tb21lQ2xhc3Mud2liYmxlKCknIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgcmVwcihtLlNvbWVDbGFzcy53aWJibGUoKSkpCisgICAgICAgICAgICBzZWxmLmFzc2VydEluKCIgbmFtZT0nc3VwcG9ydC5Tb21lQ2xhc3MoKS53aWJibGUoKSciLAorICAgICAgICAgICAgICAgICAgICAgICAgICByZXByKG0uU29tZUNsYXNzKCkud2liYmxlKCkpKQorCisKKworICAgIGRlZiB0ZXN0X21vY2tfY2FsbHNfd2l0aF9wYXRjaChzZWxmKToKKyAgICAgICAgZm9yIGFyZyBpbiAoJ3NwZWMnLCAnYXV0b3NwZWMnLCAnc3BlY19zZXQnKToKKyAgICAgICAgICAgIHAgPSBwYXRjaCgnJXMuU29tZUNsYXNzJyAlIF9fbmFtZV9fLCAqKnthcmc6IFRydWV9KQorICAgICAgICAgICAgbSA9IHAuc3RhcnQoKQorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIG0ud2liYmxlKCkKKworICAgICAgICAgICAgICAgIGthbGxzID0gW2NhbGwud2liYmxlKCldCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtLm1vY2tfY2FsbHMsIGthbGxzKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobS5tZXRob2RfY2FsbHMsIGthbGxzKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobS53aWJibGUubW9ja19jYWxscywgW2NhbGwoKV0pCisKKyAgICAgICAgICAgICAgICByZXN1bHQgPSBtKCkKKyAgICAgICAgICAgICAgICBrYWxscy5hcHBlbmQoY2FsbCgpKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobS5tb2NrX2NhbGxzLCBrYWxscykKKworICAgICAgICAgICAgICAgIHJlc3VsdC53aWJibGUoKQorICAgICAgICAgICAgICAgIGthbGxzLmFwcGVuZChjYWxsKCkud2liYmxlKCkpCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtLm1vY2tfY2FsbHMsIGthbGxzKQorCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChyZXN1bHQubW9ja19jYWxscywgW2NhbGwud2liYmxlKCldKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzdWx0LndpYmJsZS5tb2NrX2NhbGxzLCBbY2FsbCgpXSkKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlc3VsdC5tZXRob2RfY2FsbHMsIFtjYWxsLndpYmJsZSgpXSkKKyAgICAgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICAgICAgcC5zdG9wKCkKKworCisgICAgZGVmIHRlc3RfcGF0Y2hfaW1wb3J0c19sYXppbHkoc2VsZik6CisgICAgICAgIHN5cy5tb2R1bGVzLnBvcCgnc3F1aXp6JywgTm9uZSkKKworICAgICAgICBwMSA9IHBhdGNoKCdzcXVpenouc3F1b3p6JykKKyAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoSW1wb3J0RXJyb3IsIHAxLnN0YXJ0KQorCisgICAgICAgIHNxdWl6eiA9IE1vY2soKQorICAgICAgICBzcXVpenouc3F1b3p6ID0gNgorICAgICAgICBzeXMubW9kdWxlc1snc3F1aXp6J10gPSBzcXVpenoKKyAgICAgICAgcDEgPSBwYXRjaCgnc3F1aXp6LnNxdW96eicpCisgICAgICAgIHNxdWl6ei5zcXVvenogPSAzCisgICAgICAgIHAxLnN0YXJ0KCkKKyAgICAgICAgcDEuc3RvcCgpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3F1aXp6LnNxdW96eiwgMykKKworCisKK2lmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CisgICAgdW5pdHRlc3QubWFpbigpCmRpZmYgLS1naXQgYS9MaWIvdW5pdHRlc3QvdGVzdC90ZXN0bW9jay90ZXN0c2VudGluZWwucHkgYi9MaWIvdW5pdHRlc3QvdGVzdC90ZXN0bW9jay90ZXN0c2VudGluZWwucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmZkYTY4ZQotLS0gL2Rldi9udWxsCisrKyBiL0xpYi91bml0dGVzdC90ZXN0L3Rlc3Rtb2NrL3Rlc3RzZW50aW5lbC5weQpAQCAtMCwwICsxLDI4IEBACitpbXBvcnQgdW5pdHRlc3QKK2Zyb20gdW5pdHRlc3QubW9jayBpbXBvcnQgc2VudGluZWwsIERFRkFVTFQKKworCitjbGFzcyBTZW50aW5lbFRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgorCisgICAgZGVmIHRlc3RTZW50aW5lbHMoc2VsZik6CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc2VudGluZWwud2hhdGV2ZXIsIHNlbnRpbmVsLndoYXRldmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50aW5lbCBub3Qgc3RvcmVkJykKKyAgICAgICAgc2VsZi5hc3NlcnROb3RFcXVhbChzZW50aW5lbC53aGF0ZXZlciwgc2VudGluZWwud2hhdGV2ZXJlbHNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW50aW5lbCBzaG91bGQgYmUgdW5pcXVlJykKKworCisgICAgZGVmIHRlc3RTZW50aW5lbE5hbWUoc2VsZik6CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyKHNlbnRpbmVsLndoYXRldmVyKSwgJ3NlbnRpbmVsLndoYXRldmVyJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAnc2VudGluZWwgbmFtZSBpbmNvcnJlY3QnKQorCisKKyAgICBkZWYgdGVzdERFRkFVTFQoc2VsZik6CisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShERUZBVUxUIGlzIHNlbnRpbmVsLkRFRkFVTFQpCisKKyAgICBkZWYgdGVzdEJhc2VzKHNlbGYpOgorICAgICAgICAjIElmIHRoaXMgZG9lc24ndCByYWlzZSBhbiBBdHRyaWJ1dGVFcnJvciB0aGVuIGhlbHAobW9jaykgaXMgYnJva2VuCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKEF0dHJpYnV0ZUVycm9yLCBsYW1iZGE6IHNlbnRpbmVsLl9fYmFzZXNfXykKKworCitpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgorICAgIHVuaXR0ZXN0Lm1haW4oKQpkaWZmIC0tZ2l0IGEvTGliL3VuaXR0ZXN0L3Rlc3QvdGVzdG1vY2svdGVzdHdpdGgucHkgYi9MaWIvdW5pdHRlc3QvdGVzdC90ZXN0bW9jay90ZXN0d2l0aC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYTBjZmFkCi0tLSAvZGV2L251bGwKKysrIGIvTGliL3VuaXR0ZXN0L3Rlc3QvdGVzdG1vY2svdGVzdHdpdGgucHkKQEAgLTAsMCArMSwxNzYgQEAKK2ltcG9ydCB1bml0dGVzdAorZnJvbSB3YXJuaW5ncyBpbXBvcnQgY2F0Y2hfd2FybmluZ3MKKworZnJvbSB1bml0dGVzdC50ZXN0LnRlc3Rtb2NrLnN1cHBvcnQgaW1wb3J0IGlzX2luc3RhbmNlCitmcm9tIHVuaXR0ZXN0Lm1vY2sgaW1wb3J0IE1hZ2ljTW9jaywgTW9jaywgcGF0Y2gsIHNlbnRpbmVsLCBtb2NrX29wZW4sIGNhbGwKKworCisKK3NvbWV0aGluZyAgPSBzZW50aW5lbC5Tb21ldGhpbmcKK3NvbWV0aGluZ19lbHNlICA9IHNlbnRpbmVsLlNvbWV0aGluZ0Vsc2UKKworCisKK2NsYXNzIFdpdGhUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKKworICAgIGRlZiB0ZXN0X3dpdGhfc3RhdGVtZW50KHNlbGYpOgorICAgICAgICB3aXRoIHBhdGNoKCclcy5zb21ldGhpbmcnICUgX19uYW1lX18sIHNlbnRpbmVsLlNvbWV0aGluZzIpOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzb21ldGhpbmcsIHNlbnRpbmVsLlNvbWV0aGluZzIsICJ1bnBhdGNoZWQiKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNvbWV0aGluZywgc2VudGluZWwuU29tZXRoaW5nKQorCisKKyAgICBkZWYgdGVzdF93aXRoX3N0YXRlbWVudF9leGNlcHRpb24oc2VsZik6CisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHdpdGggcGF0Y2goJyVzLnNvbWV0aGluZycgJSBfX25hbWVfXywgc2VudGluZWwuU29tZXRoaW5nMik6CisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzb21ldGhpbmcsIHNlbnRpbmVsLlNvbWV0aGluZzIsICJ1bnBhdGNoZWQiKQorICAgICAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbigncG93JykKKyAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbjoKKyAgICAgICAgICAgIHBhc3MKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHNlbGYuZmFpbCgicGF0Y2ggc3dhbGxvd2VkIGV4Y2VwdGlvbiIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc29tZXRoaW5nLCBzZW50aW5lbC5Tb21ldGhpbmcpCisKKworICAgIGRlZiB0ZXN0X3dpdGhfc3RhdGVtZW50X2FzKHNlbGYpOgorICAgICAgICB3aXRoIHBhdGNoKCclcy5zb21ldGhpbmcnICUgX19uYW1lX18pIGFzIG1vY2tfc29tZXRoaW5nOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzb21ldGhpbmcsIG1vY2tfc29tZXRoaW5nLCAidW5wYXRjaGVkIikKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShpc19pbnN0YW5jZShtb2NrX3NvbWV0aGluZywgTWFnaWNNb2NrKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGF0Y2hpbmcgd3JvbmcgdHlwZSIpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc29tZXRoaW5nLCBzZW50aW5lbC5Tb21ldGhpbmcpCisKKworICAgIGRlZiB0ZXN0X3BhdGNoX29iamVjdF93aXRoX3N0YXRlbWVudChzZWxmKToKKyAgICAgICAgY2xhc3MgRm9vKG9iamVjdCk6CisgICAgICAgICAgICBzb21ldGhpbmcgPSAnZm9vJworICAgICAgICBvcmlnaW5hbCA9IEZvby5zb21ldGhpbmcKKyAgICAgICAgd2l0aCBwYXRjaC5vYmplY3QoRm9vLCAnc29tZXRoaW5nJyk6CisgICAgICAgICAgICBzZWxmLmFzc2VydE5vdEVxdWFsKEZvby5zb21ldGhpbmcsIG9yaWdpbmFsLCAidW5wYXRjaGVkIikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChGb28uc29tZXRoaW5nLCBvcmlnaW5hbCkKKworCisgICAgZGVmIHRlc3Rfd2l0aF9zdGF0ZW1lbnRfbmVzdGVkKHNlbGYpOgorICAgICAgICB3aXRoIGNhdGNoX3dhcm5pbmdzKHJlY29yZD1UcnVlKToKKyAgICAgICAgICAgIHdpdGggcGF0Y2goJyVzLnNvbWV0aGluZycgJSBfX25hbWVfXykgYXMgbW9ja19zb21ldGhpbmcsIHBhdGNoKCclcy5zb21ldGhpbmdfZWxzZScgJSBfX25hbWVfXykgYXMgbW9ja19zb21ldGhpbmdfZWxzZToKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNvbWV0aGluZywgbW9ja19zb21ldGhpbmcsICJ1bnBhdGNoZWQiKQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc29tZXRoaW5nX2Vsc2UsIG1vY2tfc29tZXRoaW5nX2Vsc2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5wYXRjaGVkIikKKworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNvbWV0aGluZywgc2VudGluZWwuU29tZXRoaW5nKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNvbWV0aGluZ19lbHNlLCBzZW50aW5lbC5Tb21ldGhpbmdFbHNlKQorCisKKyAgICBkZWYgdGVzdF93aXRoX3N0YXRlbWVudF9zcGVjaWZpZWQoc2VsZik6CisgICAgICAgIHdpdGggcGF0Y2goJyVzLnNvbWV0aGluZycgJSBfX25hbWVfXywgc2VudGluZWwuUGF0Y2hlZCkgYXMgbW9ja19zb21ldGhpbmc6CisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNvbWV0aGluZywgbW9ja19zb21ldGhpbmcsICJ1bnBhdGNoZWQiKQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtb2NrX3NvbWV0aGluZywgc2VudGluZWwuUGF0Y2hlZCwgIndyb25nIHBhdGNoIikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzb21ldGhpbmcsIHNlbnRpbmVsLlNvbWV0aGluZykKKworCisgICAgZGVmIHRlc3RDb250ZXh0TWFuYWdlck1vY2tpbmcoc2VsZik6CisgICAgICAgIG1vY2sgPSBNb2NrKCkKKyAgICAgICAgbW9jay5fX2VudGVyX18gPSBNb2NrKCkKKyAgICAgICAgbW9jay5fX2V4aXRfXyA9IE1vY2soKQorICAgICAgICBtb2NrLl9fZXhpdF9fLnJldHVybl92YWx1ZSA9IEZhbHNlCisKKyAgICAgICAgd2l0aCBtb2NrIGFzIG06CisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG0sIG1vY2suX19lbnRlcl9fLnJldHVybl92YWx1ZSkKKyAgICAgICAgbW9jay5fX2VudGVyX18uYXNzZXJ0X2NhbGxlZF93aXRoKCkKKyAgICAgICAgbW9jay5fX2V4aXRfXy5hc3NlcnRfY2FsbGVkX3dpdGgoTm9uZSwgTm9uZSwgTm9uZSkKKworCisgICAgZGVmIHRlc3RfY29udGV4dF9tYW5hZ2VyX3dpdGhfbWFnaWNfbW9jayhzZWxmKToKKyAgICAgICAgbW9jayA9IE1hZ2ljTW9jaygpCisKKyAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IpOgorICAgICAgICAgICAgd2l0aCBtb2NrOgorICAgICAgICAgICAgICAgICdmb28nICsgMworICAgICAgICBtb2NrLl9fZW50ZXJfXy5hc3NlcnRfY2FsbGVkX3dpdGgoKQorICAgICAgICBzZWxmLmFzc2VydFRydWUobW9jay5fX2V4aXRfXy5jYWxsZWQpCisKKworICAgIGRlZiB0ZXN0X3dpdGhfc3RhdGVtZW50X3NhbWVfYXR0cmlidXRlKHNlbGYpOgorICAgICAgICB3aXRoIHBhdGNoKCclcy5zb21ldGhpbmcnICUgX19uYW1lX18sIHNlbnRpbmVsLlBhdGNoZWQpIGFzIG1vY2tfc29tZXRoaW5nOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzb21ldGhpbmcsIG1vY2tfc29tZXRoaW5nLCAidW5wYXRjaGVkIikKKworICAgICAgICAgICAgd2l0aCBwYXRjaCgnJXMuc29tZXRoaW5nJyAlIF9fbmFtZV9fKSBhcyBtb2NrX2FnYWluOgorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc29tZXRoaW5nLCBtb2NrX2FnYWluLCAidW5wYXRjaGVkIikKKworICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzb21ldGhpbmcsIG1vY2tfc29tZXRoaW5nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVzdG9yZWQgd2l0aCB3cm9uZyBpbnN0YW5jZSIpCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzb21ldGhpbmcsIHNlbnRpbmVsLlNvbWV0aGluZywgIm5vdCByZXN0b3JlZCIpCisKKworICAgIGRlZiB0ZXN0X3dpdGhfc3RhdGVtZW50X2ltYnJpY2F0ZWQoc2VsZik6CisgICAgICAgIHdpdGggcGF0Y2goJyVzLnNvbWV0aGluZycgJSBfX25hbWVfXykgYXMgbW9ja19zb21ldGhpbmc6CisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNvbWV0aGluZywgbW9ja19zb21ldGhpbmcsICJ1bnBhdGNoZWQiKQorCisgICAgICAgICAgICB3aXRoIHBhdGNoKCclcy5zb21ldGhpbmdfZWxzZScgJSBfX25hbWVfXykgYXMgbW9ja19zb21ldGhpbmdfZWxzZToKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNvbWV0aGluZ19lbHNlLCBtb2NrX3NvbWV0aGluZ19lbHNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVucGF0Y2hlZCIpCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzb21ldGhpbmcsIHNlbnRpbmVsLlNvbWV0aGluZykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzb21ldGhpbmdfZWxzZSwgc2VudGluZWwuU29tZXRoaW5nRWxzZSkKKworCisgICAgZGVmIHRlc3RfZGljdF9jb250ZXh0X21hbmFnZXIoc2VsZik6CisgICAgICAgIGZvbyA9IHt9CisgICAgICAgIHdpdGggcGF0Y2guZGljdChmb28sIHsnYSc6ICdiJ30pOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmb28sIHsnYSc6ICdiJ30pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZm9vLCB7fSkKKworICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKE5hbWVFcnJvcik6CisgICAgICAgICAgICB3aXRoIHBhdGNoLmRpY3QoZm9vLCB7J2EnOiAnYid9KToKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGZvbywgeydhJzogJ2InfSkKKyAgICAgICAgICAgICAgICByYWlzZSBOYW1lRXJyb3IoJ0tvbnJhZCcpCisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChmb28sIHt9KQorCisKKworY2xhc3MgVGVzdE1vY2tPcGVuKHVuaXR0ZXN0LlRlc3RDYXNlKToKKworICAgIGRlZiB0ZXN0X21vY2tfb3BlbihzZWxmKToKKyAgICAgICAgbW9jayA9IG1vY2tfb3BlbigpCisgICAgICAgIHdpdGggcGF0Y2goJyVzLm9wZW4nICUgX19uYW1lX18sIG1vY2ssIGNyZWF0ZT1UcnVlKSBhcyBwYXRjaGVkOgorICAgICAgICAgICAgc2VsZi5hc3NlcnRJcyhwYXRjaGVkLCBtb2NrKQorICAgICAgICAgICAgb3BlbignZm9vJykKKworICAgICAgICBtb2NrLmFzc2VydF9jYWxsZWRfb25jZV93aXRoKCdmb28nKQorCisKKyAgICBkZWYgdGVzdF9tb2NrX29wZW5fY29udGV4dF9tYW5hZ2VyKHNlbGYpOgorICAgICAgICBtb2NrID0gbW9ja19vcGVuKCkKKyAgICAgICAgaGFuZGxlID0gbW9jay5yZXR1cm5fdmFsdWUKKyAgICAgICAgd2l0aCBwYXRjaCgnJXMub3BlbicgJSBfX25hbWVfXywgbW9jaywgY3JlYXRlPVRydWUpOgorICAgICAgICAgICAgd2l0aCBvcGVuKCdmb28nKSBhcyBmOgorICAgICAgICAgICAgICAgIGYucmVhZCgpCisKKyAgICAgICAgZXhwZWN0ZWRfY2FsbHMgPSBbY2FsbCgnZm9vJyksIGNhbGwoKS5fX2VudGVyX18oKSwgY2FsbCgpLnJlYWQoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsbCgpLl9fZXhpdF9fKE5vbmUsIE5vbmUsIE5vbmUpXQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1vY2subW9ja19jYWxscywgZXhwZWN0ZWRfY2FsbHMpCisgICAgICAgIHNlbGYuYXNzZXJ0SXMoZiwgaGFuZGxlKQorCisKKyAgICBkZWYgdGVzdF9leHBsaWNpdF9tb2NrKHNlbGYpOgorICAgICAgICBtb2NrID0gTWFnaWNNb2NrKCkKKyAgICAgICAgbW9ja19vcGVuKG1vY2spCisKKyAgICAgICAgd2l0aCBwYXRjaCgnJXMub3BlbicgJSBfX25hbWVfXywgbW9jaywgY3JlYXRlPVRydWUpIGFzIHBhdGNoZWQ6CisgICAgICAgICAgICBzZWxmLmFzc2VydElzKHBhdGNoZWQsIG1vY2spCisgICAgICAgICAgICBvcGVuKCdmb28nKQorCisgICAgICAgIG1vY2suYXNzZXJ0X2NhbGxlZF9vbmNlX3dpdGgoJ2ZvbycpCisKKworICAgIGRlZiB0ZXN0X3JlYWRfZGF0YShzZWxmKToKKyAgICAgICAgbW9jayA9IG1vY2tfb3BlbihyZWFkX2RhdGE9J2ZvbycpCisgICAgICAgIHdpdGggcGF0Y2goJyVzLm9wZW4nICUgX19uYW1lX18sIG1vY2ssIGNyZWF0ZT1UcnVlKToKKyAgICAgICAgICAgIGggPSBvcGVuKCdiYXInKQorICAgICAgICAgICAgcmVzdWx0ID0gaC5yZWFkKCkKKworICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlc3VsdCwgJ2ZvbycpCisKKworaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKKyAgICB1bml0dGVzdC5tYWluKCkKZGlmZiAtLWdpdCBhL0xpYi91cmxsaWIvZXJyb3IucHkgYi9MaWIvdXJsbGliL2Vycm9yLnB5CmluZGV4IDQwYWRkNDEuLmMxZGZjNDAgMTAwNjQ0Ci0tLSBhL0xpYi91cmxsaWIvZXJyb3IucHkKKysrIGIvTGliL3VybGxpYi9lcnJvci5weQpAQCAtMTMsNiArMTMsOSBAQAogCiBpbXBvcnQgdXJsbGliLnJlc3BvbnNlCiAKK19fYWxsX18gPSBbJ1VSTEVycm9yJywgJ0hUVFBFcnJvcicsICdDb250ZW50VG9vU2hvcnRFcnJvciddCisKKwogIyBkbyB0aGVzZSBlcnJvciBjbGFzc2VzIG1ha2Ugc2Vuc2U/CiAjIG1ha2Ugc3VyZSBhbGwgb2YgdGhlIElPRXJyb3Igc3R1ZmYgaXMgb3ZlcnJpZGRlbi4gIHdlIGp1c3Qgd2FudCB0byBiZQogIyBzdWJ0eXBlcy4KZGlmZiAtLWdpdCBhL0xpYi91cmxsaWIvcmVxdWVzdC5weSBiL0xpYi91cmxsaWIvcmVxdWVzdC5weQppbmRleCBmZTJjZmNkLi5hNWYwODY2IDEwMDY0NAotLS0gYS9MaWIvdXJsbGliL3JlcXVlc3QucHkKKysrIGIvTGliL3VybGxpYi9yZXF1ZXN0LnB5CkBAIC04OSwxMiArODksMTUgQEAKIGltcG9ydCBpbwogaW1wb3J0IG9zCiBpbXBvcnQgcG9zaXhwYXRoCi1pbXBvcnQgcmFuZG9tCiBpbXBvcnQgcmUKIGltcG9ydCBzb2NrZXQKIGltcG9ydCBzeXMKIGltcG9ydCB0aW1lCiBpbXBvcnQgY29sbGVjdGlvbnMKK2ltcG9ydCB0ZW1wZmlsZQoraW1wb3J0IGNvbnRleHRsaWIKK2ltcG9ydCB3YXJuaW5ncworCiAKIGZyb20gdXJsbGliLmVycm9yIGltcG9ydCBVUkxFcnJvciwgSFRUUEVycm9yLCBDb250ZW50VG9vU2hvcnRFcnJvcgogZnJvbSB1cmxsaWIucGFyc2UgaW1wb3J0ICgKQEAgLTExMSw2ICsxMTQsMjIgQEAKIGVsc2U6CiAgICAgX2hhdmVfc3NsID0gVHJ1ZQogCitfX2FsbF9fID0gWworICAgICMgQ2xhc3NlcworICAgICdSZXF1ZXN0JywgJ09wZW5lckRpcmVjdG9yJywgJ0Jhc2VIYW5kbGVyJywgJ0hUVFBEZWZhdWx0RXJyb3JIYW5kbGVyJywKKyAgICAnSFRUUFJlZGlyZWN0SGFuZGxlcicsICdIVFRQQ29va2llUHJvY2Vzc29yJywgJ1Byb3h5SGFuZGxlcicsCisgICAgJ0hUVFBQYXNzd29yZE1ncicsICdIVFRQUGFzc3dvcmRNZ3JXaXRoRGVmYXVsdFJlYWxtJywKKyAgICAnQWJzdHJhY3RCYXNpY0F1dGhIYW5kbGVyJywgJ0hUVFBCYXNpY0F1dGhIYW5kbGVyJywgJ1Byb3h5QmFzaWNBdXRoSGFuZGxlcicsCisgICAgJ0Fic3RyYWN0RGlnZXN0QXV0aEhhbmRsZXInLCAnSFRUUERpZ2VzdEF1dGhIYW5kbGVyJywgJ1Byb3h5RGlnZXN0QXV0aEhhbmRsZXInLAorICAgICdIVFRQSGFuZGxlcicsICdGaWxlSGFuZGxlcicsICdGVFBIYW5kbGVyJywgJ0NhY2hlRlRQSGFuZGxlcicsCisgICAgJ1Vua25vd25IYW5kbGVyJywgJ0hUVFBFcnJvclByb2Nlc3NvcicsCisgICAgIyBGdW5jdGlvbnMKKyAgICAndXJsb3BlbicsICdpbnN0YWxsX29wZW5lcicsICdidWlsZF9vcGVuZXInLAorICAgICdwYXRobmFtZTJ1cmwnLCAndXJsMnBhdGhuYW1lJywgJ2dldHByb3hpZXMnLAorICAgICMgTGVnYWN5IGludGVyZmFjZQorICAgICd1cmxyZXRyaWV2ZScsICd1cmxjbGVhbnVwJywgJ1VSTG9wZW5lcicsICdGYW5jeVVSTG9wZW5lcicsCitdCisKICMgdXNlZCBpbiBVc2VyLUFnZW50IGhlYWRlciBzZW50CiBfX3ZlcnNpb25fXyA9IHN5cy52ZXJzaW9uWzozXQogCkBAIC0xNDEsMTcgKzE2MCw3OCBAQAogICAgIGdsb2JhbCBfb3BlbmVyCiAgICAgX29wZW5lciA9IG9wZW5lcgogCi0jIFRPRE8oamh5bHRvbik6IE1ha2UgdGhpcyB3b3JrIHdpdGggdGhlIHNhbWUgZ2xvYmFsIG9wZW5lci4KLV91cmxvcGVuZXIgPSBOb25lCitfdXJsX3RlbXBmaWxlcyA9IFtdCiBkZWYgdXJscmV0cmlldmUodXJsLCBmaWxlbmFtZT1Ob25lLCByZXBvcnRob29rPU5vbmUsIGRhdGE9Tm9uZSk6Ci0gICAgZ2xvYmFsIF91cmxvcGVuZXIKLSAgICBpZiBub3QgX3VybG9wZW5lcjoKLSAgICAgICAgX3VybG9wZW5lciA9IEZhbmN5VVJMb3BlbmVyKCkKLSAgICByZXR1cm4gX3VybG9wZW5lci5yZXRyaWV2ZSh1cmwsIGZpbGVuYW1lLCByZXBvcnRob29rLCBkYXRhKQorICAgICIiIgorICAgIFJldHJpZXZlIGEgVVJMIGludG8gYSB0ZW1wb3JhcnkgbG9jYXRpb24gb24gZGlzay4KKworICAgIFJlcXVpcmVzIGEgVVJMIGFyZ3VtZW50LiBJZiBhIGZpbGVuYW1lIGlzIHBhc3NlZCwgaXQgaXMgdXNlZCBhcworICAgIHRoZSB0ZW1wb3JhcnkgZmlsZSBsb2NhdGlvbi4gVGhlIHJlcG9ydGhvb2sgYXJndW1lbnQgc2hvdWxkIGJlCisgICAgYSBjYWxsYWJsZSB0aGF0IGFjY2VwdHMgYSBibG9jayBudW1iZXIsIGEgcmVhZCBzaXplLCBhbmQgdGhlCisgICAgdG90YWwgZmlsZSBzaXplIG9mIHRoZSBVUkwgdGFyZ2V0LiBUaGUgZGF0YSBhcmd1bWVudCBzaG91bGQgYmUKKyAgICB2YWxpZCBVUkwgZW5jb2RlZCBkYXRhLgorCisgICAgSWYgYSBmaWxlbmFtZSBpcyBwYXNzZWQgYW5kIHRoZSBVUkwgcG9pbnRzIHRvIGEgbG9jYWwgcmVzb3VyY2UsCisgICAgdGhlIHJlc3VsdCBpcyBhIGNvcHkgZnJvbSBsb2NhbCBmaWxlIHRvIG5ldyBmaWxlLgorCisgICAgUmV0dXJucyBhIHR1cGxlIGNvbnRhaW5pbmcgdGhlIHBhdGggdG8gdGhlIG5ld2x5IGNyZWF0ZWQKKyAgICBkYXRhIGZpbGUgYXMgd2VsbCBhcyB0aGUgcmVzdWx0aW5nIEhUVFBNZXNzYWdlIG9iamVjdC4KKyAgICAiIiIKKyAgICB1cmxfdHlwZSwgcGF0aCA9IHNwbGl0dHlwZSh1cmwpCisKKyAgICB3aXRoIGNvbnRleHRsaWIuY2xvc2luZyh1cmxvcGVuKHVybCwgZGF0YSkpIGFzIGZwOgorICAgICAgICBoZWFkZXJzID0gZnAuaW5mbygpCisKKyAgICAgICAgIyBKdXN0IHJldHVybiB0aGUgbG9jYWwgcGF0aCBhbmQgdGhlICJoZWFkZXJzIiBmb3IgZmlsZTovLworICAgICAgICAjIFVSTHMuIE5vIHNlbnNlIGluIHBlcmZvcm1pbmcgYSBjb3B5IHVubGVzcyByZXF1ZXN0ZWQuCisgICAgICAgIGlmIHVybF90eXBlID09ICJmaWxlIiBhbmQgbm90IGZpbGVuYW1lOgorICAgICAgICAgICAgcmV0dXJuIG9zLnBhdGgubm9ybXBhdGgocGF0aCksIGhlYWRlcnMKKworICAgICAgICAjIEhhbmRsZSB0ZW1wb3JhcnkgZmlsZSBzZXR1cC4KKyAgICAgICAgaWYgZmlsZW5hbWU6CisgICAgICAgICAgICB0ZnAgPSBvcGVuKGZpbGVuYW1lLCAnd2InKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgdGZwID0gdGVtcGZpbGUuTmFtZWRUZW1wb3JhcnlGaWxlKGRlbGV0ZT1GYWxzZSkKKyAgICAgICAgICAgIGZpbGVuYW1lID0gdGZwLm5hbWUKKyAgICAgICAgICAgIF91cmxfdGVtcGZpbGVzLmFwcGVuZChmaWxlbmFtZSkKKworICAgICAgICB3aXRoIHRmcDoKKyAgICAgICAgICAgIHJlc3VsdCA9IGZpbGVuYW1lLCBoZWFkZXJzCisgICAgICAgICAgICBicyA9IDEwMjQqOAorICAgICAgICAgICAgc2l6ZSA9IC0xCisgICAgICAgICAgICByZWFkID0gMAorICAgICAgICAgICAgYmxvY2tudW0gPSAwCisgICAgICAgICAgICBpZiAiY29udGVudC1sZW5ndGgiIGluIGhlYWRlcnM6CisgICAgICAgICAgICAgICAgc2l6ZSA9IGludChoZWFkZXJzWyJDb250ZW50LUxlbmd0aCJdKQorCisgICAgICAgICAgICBpZiByZXBvcnRob29rOgorICAgICAgICAgICAgICAgIHJlcG9ydGhvb2soYmxvY2tudW0sIDAsIHNpemUpCisKKyAgICAgICAgICAgIHdoaWxlIFRydWU6CisgICAgICAgICAgICAgICAgYmxvY2sgPSBmcC5yZWFkKGJzKQorICAgICAgICAgICAgICAgIGlmIG5vdCBibG9jazoKKyAgICAgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgICAgICAgICByZWFkICs9IGxlbihibG9jaykKKyAgICAgICAgICAgICAgICB0ZnAud3JpdGUoYmxvY2spCisgICAgICAgICAgICAgICAgYmxvY2tudW0gKz0gMQorICAgICAgICAgICAgICAgIGlmIHJlcG9ydGhvb2s6CisgICAgICAgICAgICAgICAgICAgIHJlcG9ydGhvb2soYmxvY2tudW0sIGxlbihibG9jayksIHNpemUpCisKKyAgICBpZiBzaXplID49IDAgYW5kIHJlYWQgPCBzaXplOgorICAgICAgICByYWlzZSBDb250ZW50VG9vU2hvcnRFcnJvcigKKyAgICAgICAgICAgICJyZXRyaWV2YWwgaW5jb21wbGV0ZTogZ290IG9ubHkgJWkgb3V0IG9mICVpIGJ5dGVzIgorICAgICAgICAgICAgJSAocmVhZCwgc2l6ZSksIHJlc3VsdCkKKworICAgIHJldHVybiByZXN1bHQKIAogZGVmIHVybGNsZWFudXAoKToKLSAgICBpZiBfdXJsb3BlbmVyOgotICAgICAgICBfdXJsb3BlbmVyLmNsZWFudXAoKQorICAgIGZvciB0ZW1wX2ZpbGUgaW4gX3VybF90ZW1wZmlsZXM6CisgICAgICAgIHRyeToKKyAgICAgICAgICAgIG9zLnVubGluayh0ZW1wX2ZpbGUpCisgICAgICAgIGV4Y2VwdCBFbnZpcm9ubWVudEVycm9yOgorICAgICAgICAgICAgcGFzcworCisgICAgZGVsIF91cmxfdGVtcGZpbGVzWzpdCiAgICAgZ2xvYmFsIF9vcGVuZXIKICAgICBpZiBfb3BlbmVyOgogICAgICAgICBfb3BlbmVyID0gTm9uZQpAQCAtMTc3LDcgKzI1Nyw4IEBACiBjbGFzcyBSZXF1ZXN0OgogCiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIHVybCwgZGF0YT1Ob25lLCBoZWFkZXJzPXt9LAotICAgICAgICAgICAgICAgICBvcmlnaW5fcmVxX2hvc3Q9Tm9uZSwgdW52ZXJpZmlhYmxlPUZhbHNlKToKKyAgICAgICAgICAgICAgICAgb3JpZ2luX3JlcV9ob3N0PU5vbmUsIHVudmVyaWZpYWJsZT1GYWxzZSwKKyAgICAgICAgICAgICAgICAgbWV0aG9kPU5vbmUpOgogICAgICAgICAjIHVud3JhcCgnPFVSTDp0eXBlOi8vaG9zdC9wYXRoPicpIC0tPiAndHlwZTovL2hvc3QvcGF0aCcKICAgICAgICAgc2VsZi5mdWxsX3VybCA9IHVud3JhcCh1cmwpCiAgICAgICAgIHNlbGYuZnVsbF91cmwsIHNlbGYuZnJhZ21lbnQgPSBzcGxpdHRhZyhzZWxmLmZ1bGxfdXJsKQpAQCAtMTkxLDYgKzI3Miw3IEBACiAgICAgICAgICAgICBvcmlnaW5fcmVxX2hvc3QgPSByZXF1ZXN0X2hvc3Qoc2VsZikKICAgICAgICAgc2VsZi5vcmlnaW5fcmVxX2hvc3QgPSBvcmlnaW5fcmVxX2hvc3QKICAgICAgICAgc2VsZi51bnZlcmlmaWFibGUgPSB1bnZlcmlmaWFibGUKKyAgICAgICAgc2VsZi5tZXRob2QgPSBtZXRob2QKICAgICAgICAgc2VsZi5fcGFyc2UoKQogCiAgICAgZGVmIF9wYXJzZShzZWxmKToKQEAgLTIwMiw0MSArMjg0LDYwIEBACiAgICAgICAgICAgICBzZWxmLmhvc3QgPSB1bnF1b3RlKHNlbGYuaG9zdCkKIAogICAgIGRlZiBnZXRfbWV0aG9kKHNlbGYpOgotICAgICAgICBpZiBzZWxmLmRhdGEgaXMgbm90IE5vbmU6CisgICAgICAgICIiIlJldHVybiBhIHN0cmluZyBpbmRpY2F0aW5nIHRoZSBIVFRQIHJlcXVlc3QgbWV0aG9kLiIiIgorICAgICAgICBpZiBzZWxmLm1ldGhvZCBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIHJldHVybiBzZWxmLm1ldGhvZAorICAgICAgICBlbGlmIHNlbGYuZGF0YSBpcyBub3QgTm9uZToKICAgICAgICAgICAgIHJldHVybiAiUE9TVCIKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHJldHVybiAiR0VUIgogCi0gICAgIyBCZWdpbiBkZXByZWNhdGVkIG1ldGhvZHMKLQotICAgIGRlZiBhZGRfZGF0YShzZWxmLCBkYXRhKToKLSAgICAgICAgc2VsZi5kYXRhID0gZGF0YQotCi0gICAgZGVmIGhhc19kYXRhKHNlbGYpOgotICAgICAgICByZXR1cm4gc2VsZi5kYXRhIGlzIG5vdCBOb25lCi0KLSAgICBkZWYgZ2V0X2RhdGEoc2VsZik6Ci0gICAgICAgIHJldHVybiBzZWxmLmRhdGEKLQogICAgIGRlZiBnZXRfZnVsbF91cmwoc2VsZik6CiAgICAgICAgIGlmIHNlbGYuZnJhZ21lbnQ6CiAgICAgICAgICAgICByZXR1cm4gJyVzIyVzJyAlIChzZWxmLmZ1bGxfdXJsLCBzZWxmLmZyYWdtZW50KQogICAgICAgICBlbHNlOgogICAgICAgICAgICAgcmV0dXJuIHNlbGYuZnVsbF91cmwKIAorICAgICMgQmVnaW4gZGVwcmVjYXRlZCBtZXRob2RzCisKKyAgICBkZWYgYWRkX2RhdGEoc2VsZiwgZGF0YSk6CisgICAgICAgIG1zZyA9ICJSZXF1ZXN0LmFkZF9kYXRhIG1ldGhvZCBpcyBkZXByZWNhdGVkLiIKKyAgICAgICAgd2FybmluZ3Mud2Fybihtc2csIERlcHJlY2F0aW9uV2FybmluZywgc3RhY2tsZXZlbD0xKQorICAgICAgICBzZWxmLmRhdGEgPSBkYXRhCisKKyAgICBkZWYgaGFzX2RhdGEoc2VsZik6CisgICAgICAgIG1zZyA9ICJSZXF1ZXN0Lmhhc19kYXRhIG1ldGhvZCBpcyBkZXByZWNhdGVkLiIKKyAgICAgICAgd2FybmluZ3Mud2Fybihtc2csIERlcHJlY2F0aW9uV2FybmluZywgc3RhY2tsZXZlbD0xKQorICAgICAgICByZXR1cm4gc2VsZi5kYXRhIGlzIG5vdCBOb25lCisKKyAgICBkZWYgZ2V0X2RhdGEoc2VsZik6CisgICAgICAgIG1zZyA9ICJSZXF1ZXN0LmdldF9kYXRhIG1ldGhvZCBpcyBkZXByZWNhdGVkLiIKKyAgICAgICAgd2FybmluZ3Mud2Fybihtc2csIERlcHJlY2F0aW9uV2FybmluZywgc3RhY2tsZXZlbD0xKQorICAgICAgICByZXR1cm4gc2VsZi5kYXRhCisKICAgICBkZWYgZ2V0X3R5cGUoc2VsZik6CisgICAgICAgIG1zZyA9ICJSZXF1ZXN0LmdldF90eXBlIG1ldGhvZCBpcyBkZXByZWNhdGVkLiIKKyAgICAgICAgd2FybmluZ3Mud2Fybihtc2csIERlcHJlY2F0aW9uV2FybmluZywgc3RhY2tsZXZlbD0xKQogICAgICAgICByZXR1cm4gc2VsZi50eXBlCiAKICAgICBkZWYgZ2V0X2hvc3Qoc2VsZik6CisgICAgICAgIG1zZyA9ICJSZXF1ZXN0LmdldF9ob3N0IG1ldGhvZCBpcyBkZXByZWNhdGVkLiIKKyAgICAgICAgd2FybmluZ3Mud2Fybihtc2csIERlcHJlY2F0aW9uV2FybmluZywgc3RhY2tsZXZlbD0xKQogICAgICAgICByZXR1cm4gc2VsZi5ob3N0CiAKICAgICBkZWYgZ2V0X3NlbGVjdG9yKHNlbGYpOgorICAgICAgICBtc2cgPSAiUmVxdWVzdC5nZXRfc2VsZWN0b3IgbWV0aG9kIGlzIGRlcHJlY2F0ZWQuIgorICAgICAgICB3YXJuaW5ncy53YXJuKG1zZywgRGVwcmVjYXRpb25XYXJuaW5nLCBzdGFja2xldmVsPTEpCiAgICAgICAgIHJldHVybiBzZWxmLnNlbGVjdG9yCiAKICAgICBkZWYgaXNfdW52ZXJpZmlhYmxlKHNlbGYpOgorICAgICAgICBtc2cgPSAiUmVxdWVzdC5pc191bnZlcmlmaWFibGUgbWV0aG9kIGlzIGRlcHJlY2F0ZWQuIgorICAgICAgICB3YXJuaW5ncy53YXJuKG1zZywgRGVwcmVjYXRpb25XYXJuaW5nLCBzdGFja2xldmVsPTEpCiAgICAgICAgIHJldHVybiBzZWxmLnVudmVyaWZpYWJsZQogCiAgICAgZGVmIGdldF9vcmlnaW5fcmVxX2hvc3Qoc2VsZik6CisgICAgICAgIG1zZyA9ICJSZXF1ZXN0LmdldF9vcmlnaW5fcmVxX2hvc3QgbWV0aG9kIGlzIGRlcHJlY2F0ZWQuIgorICAgICAgICB3YXJuaW5ncy53YXJuKG1zZywgRGVwcmVjYXRpb25XYXJuaW5nLCBzdGFja2xldmVsPTEpCiAgICAgICAgIHJldHVybiBzZWxmLm9yaWdpbl9yZXFfaG9zdAogCiAgICAgIyBFbmQgZGVwcmVjYXRlZCBtZXRob2RzCkBAIC04MjQsMTQgKzkyNSwyMCBAQAogICAgICAgICAgICAgc2VsZi5yZXRyaWVkICs9IDEKIAogICAgICAgICBpZiBhdXRocmVxOgotICAgICAgICAgICAgbW8gPSBBYnN0cmFjdEJhc2ljQXV0aEhhbmRsZXIucnguc2VhcmNoKGF1dGhyZXEpCi0gICAgICAgICAgICBpZiBtbzoKLSAgICAgICAgICAgICAgICBzY2hlbWUsIHF1b3RlLCByZWFsbSA9IG1vLmdyb3VwcygpCi0gICAgICAgICAgICAgICAgaWYgc2NoZW1lLmxvd2VyKCkgPT0gJ2Jhc2ljJzoKLSAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UgPSBzZWxmLnJldHJ5X2h0dHBfYmFzaWNfYXV0aChob3N0LCByZXEsIHJlYWxtKQotICAgICAgICAgICAgICAgICAgICBpZiByZXNwb25zZSBhbmQgcmVzcG9uc2UuY29kZSAhPSA0MDE6Ci0gICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnJldHJpZWQgPSAwCi0gICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNwb25zZQorICAgICAgICAgICAgc2NoZW1lID0gYXV0aHJlcS5zcGxpdCgpWzBdCisgICAgICAgICAgICBpZiBzY2hlbWUubG93ZXIoKSAhPSAnYmFzaWMnOgorICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIkFic3RyYWN0QmFzaWNBdXRoSGFuZGxlciBkb2VzIG5vdCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIgc3VwcG9ydCB0aGUgZm9sbG93aW5nIHNjaGVtZTogJyVzJyIgJQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2NoZW1lKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBtbyA9IEFic3RyYWN0QmFzaWNBdXRoSGFuZGxlci5yeC5zZWFyY2goYXV0aHJlcSkKKyAgICAgICAgICAgICAgICBpZiBtbzoKKyAgICAgICAgICAgICAgICAgICAgc2NoZW1lLCBxdW90ZSwgcmVhbG0gPSBtby5ncm91cHMoKQorICAgICAgICAgICAgICAgICAgICBpZiBzY2hlbWUubG93ZXIoKSA9PSAnYmFzaWMnOgorICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UgPSBzZWxmLnJldHJ5X2h0dHBfYmFzaWNfYXV0aChob3N0LCByZXEsIHJlYWxtKQorICAgICAgICAgICAgICAgICAgICAgICAgaWYgcmVzcG9uc2UgYW5kIHJlc3BvbnNlLmNvZGUgIT0gNDAxOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYucmV0cmllZCA9IDAKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNwb25zZQogCiAgICAgZGVmIHJldHJ5X2h0dHBfYmFzaWNfYXV0aChzZWxmLCBob3N0LCByZXEsIHJlYWxtKToKICAgICAgICAgdXNlciwgcHcgPSBzZWxmLnBhc3N3ZC5maW5kX3VzZXJfcGFzc3dvcmQocmVhbG0sIGhvc3QpCkBAIC04NzQsOSArOTgxLDkgQEAKICAgICAgICAgcmV0dXJuIHJlc3BvbnNlCiAKIAotZGVmIHJhbmRvbWJ5dGVzKG4pOgotICAgICIiIlJldHVybiBuIHJhbmRvbSBieXRlcy4iIiIKLSAgICByZXR1cm4gb3MudXJhbmRvbShuKQorIyBSZXR1cm4gbiByYW5kb20gYnl0ZXMuCitfcmFuZG9tYnl0ZXMgPSBvcy51cmFuZG9tCisKIAogY2xhc3MgQWJzdHJhY3REaWdlc3RBdXRoSGFuZGxlcjoKICAgICAjIERpZ2VzdCBhdXRoZW50aWNhdGlvbiBpcyBzcGVjaWZpZWQgaW4gUkZDIDI2MTcuCkBAIC05MTcsNiArMTAyNCw5IEBACiAgICAgICAgICAgICBzY2hlbWUgPSBhdXRocmVxLnNwbGl0KClbMF0KICAgICAgICAgICAgIGlmIHNjaGVtZS5sb3dlcigpID09ICdkaWdlc3QnOgogICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLnJldHJ5X2h0dHBfZGlnZXN0X2F1dGgocmVxLCBhdXRocmVxKQorICAgICAgICAgICAgZWxpZiBzY2hlbWUubG93ZXIoKSAhPSAnYmFzaWMnOgorICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIkFic3RyYWN0RGlnZXN0QXV0aEhhbmRsZXIgZG9lcyBub3Qgc3VwcG9ydCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIgdGhlIGZvbGxvd2luZyBzY2hlbWU6ICclcyciICUgc2NoZW1lKQogCiAgICAgZGVmIHJldHJ5X2h0dHBfZGlnZXN0X2F1dGgoc2VsZiwgcmVxLCBhdXRoKToKICAgICAgICAgdG9rZW4sIGNoYWxsZW5nZSA9IGF1dGguc3BsaXQoJyAnLCAxKQpAQCAtOTM3LDcgKzEwNDcsNyBAQAogICAgICAgICAjIGF1dGhlbnRpY2F0aW9uLCBhbmQgdG8gcHJvdmlkZSBzb21lIG1lc3NhZ2UgaW50ZWdyaXR5IHByb3RlY3Rpb24uCiAgICAgICAgICMgVGhpcyBpc24ndCBhIGZhYnVsb3VzIGVmZm9ydCwgYnV0IGl0J3MgcHJvYmFibHkgR29vZCBFbm91Z2guCiAgICAgICAgIHMgPSAiJXM6JXM6JXM6IiAlIChzZWxmLm5vbmNlX2NvdW50LCBub25jZSwgdGltZS5jdGltZSgpKQotICAgICAgICBiID0gcy5lbmNvZGUoImFzY2lpIikgKyByYW5kb21ieXRlcyg4KQorICAgICAgICBiID0gcy5lbmNvZGUoImFzY2lpIikgKyBfcmFuZG9tYnl0ZXMoOCkKICAgICAgICAgZGlnID0gaGFzaGxpYi5zaGExKGIpLmhleGRpZ2VzdCgpCiAgICAgICAgIHJldHVybiBkaWdbOjE2XQogCkBAIC0xMTU4LDcgKzEyNjgsNiBAQAogICAgIGh0dHBfcmVxdWVzdCA9IEFic3RyYWN0SFRUUEhhbmRsZXIuZG9fcmVxdWVzdF8KIAogaWYgaGFzYXR0cihodHRwLmNsaWVudCwgJ0hUVFBTQ29ubmVjdGlvbicpOgotICAgIGltcG9ydCBzc2wKIAogICAgIGNsYXNzIEhUVFBTSGFuZGxlcihBYnN0cmFjdEhUVFBIYW5kbGVyKToKIApAQCAtMTE3Myw2ICsxMjgyLDggQEAKIAogICAgICAgICBodHRwc19yZXF1ZXN0ID0gQWJzdHJhY3RIVFRQSGFuZGxlci5kb19yZXF1ZXN0XwogCisgICAgX19hbGxfXy5hcHBlbmQoJ0hUVFBTSGFuZGxlcicpCisKIGNsYXNzIEhUVFBDb29raWVQcm9jZXNzb3IoQmFzZUhhbmRsZXIpOgogICAgIGRlZiBfX2luaXRfXyhzZWxmLCBjb29raWVqYXI9Tm9uZSk6CiAgICAgICAgIGltcG9ydCBodHRwLmNvb2tpZWphcgpAQCAtMTQ1OSw2ICsxNTcwLDkgQEAKIAogICAgICMgQ29uc3RydWN0b3IKICAgICBkZWYgX19pbml0X18oc2VsZiwgcHJveGllcz1Ob25lLCAqKng1MDkpOgorICAgICAgICBtc2cgPSAiJShjbGFzcylzIHN0eWxlIG9mIGludm9raW5nIHJlcXVlc3RzIGlzIGRlcHJlY2F0ZWQuIlwKKyAgICAgICAgICAgICAgIlVzZSBuZXdlciB1cmxvcGVuIGZ1bmN0aW9ucy9tZXRob2RzIiAlIHsnY2xhc3MnOiBzZWxmLl9fY2xhc3NfXy5fX25hbWVfX30KKyAgICAgICAgd2FybmluZ3Mud2Fybihtc2csIERlcHJlY2F0aW9uV2FybmluZywgc3RhY2tsZXZlbD0zKQogICAgICAgICBpZiBwcm94aWVzIGlzIE5vbmU6CiAgICAgICAgICAgICBwcm94aWVzID0gZ2V0cHJveGllcygpCiAgICAgICAgIGFzc2VydCBoYXNhdHRyKHByb3hpZXMsICdrZXlzJyksICJwcm94aWVzIG11c3QgYmUgYSBtYXBwaW5nIgpAQCAtMTUzOCw2ICsxNjUyLDggQEAKICAgICAgICAgICAgICAgICByZXR1cm4gZ2V0YXR0cihzZWxmLCBuYW1lKSh1cmwpCiAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgIHJldHVybiBnZXRhdHRyKHNlbGYsIG5hbWUpKHVybCwgZGF0YSkKKyAgICAgICAgZXhjZXB0IEhUVFBFcnJvcjoKKyAgICAgICAgICAgIHJhaXNlCiAgICAgICAgIGV4Y2VwdCBzb2NrZXQuZXJyb3IgYXMgbXNnOgogICAgICAgICAgICAgcmFpc2UgSU9FcnJvcignc29ja2V0IGVycm9yJywgbXNnKS53aXRoX3RyYWNlYmFjayhzeXMuZXhjX2luZm8oKVsyXSkKIApAQCAtMTY1OCw3ICsxNzc0LDYgQEAKICAgICAgICAgICAgICAgICBpZiBwcm94eV9ieXBhc3MocmVhbGhvc3QpOgogICAgICAgICAgICAgICAgICAgICBob3N0ID0gcmVhbGhvc3QKIAotICAgICAgICAgICAgI3ByaW50ICJwcm94eSB2aWEgaHR0cDoiLCBob3N0LCBzZWxlY3RvcgogICAgICAgICBpZiBub3QgaG9zdDogcmFpc2UgSU9FcnJvcignaHR0cCBlcnJvcicsICdubyBob3N0IGdpdmVuJykKIAogICAgICAgICBpZiBwcm94eV9wYXNzd2Q6CkBAIC0xNzU3LDggKzE4NzIsOCBAQAogCiAgICAgZGVmIG9wZW5fbG9jYWxfZmlsZShzZWxmLCB1cmwpOgogICAgICAgICAiIiJVc2UgbG9jYWwgZmlsZS4iIiIKLSAgICAgICAgaW1wb3J0IG1pbWV0eXBlcywgZW1haWwudXRpbHMKLSAgICAgICAgZnJvbSBpbyBpbXBvcnQgU3RyaW5nSU8KKyAgICAgICAgaW1wb3J0IGVtYWlsLnV0aWxzCisgICAgICAgIGltcG9ydCBtaW1ldHlwZXMKICAgICAgICAgaG9zdCwgZmlsZSA9IHNwbGl0aG9zdCh1cmwpCiAgICAgICAgIGxvY2FsbmFtZSA9IHVybDJwYXRobmFtZShmaWxlKQogICAgICAgICB0cnk6CkBAIC0xNzkyLDcgKzE5MDcsNiBAQAogICAgICAgICBpZiBub3QgaXNpbnN0YW5jZSh1cmwsIHN0cik6CiAgICAgICAgICAgICByYWlzZSBVUkxFcnJvcignZnRwIGVycm9yJywgJ3Byb3h5IHN1cHBvcnQgZm9yIGZ0cCBwcm90b2NvbCBjdXJyZW50bHkgbm90IGltcGxlbWVudGVkJykKICAgICAgICAgaW1wb3J0IG1pbWV0eXBlcwotICAgICAgICBmcm9tIGlvIGltcG9ydCBTdHJpbmdJTwogICAgICAgICBob3N0LCBwYXRoID0gc3BsaXRob3N0KHVybCkKICAgICAgICAgaWYgbm90IGhvc3Q6IHJhaXNlIFVSTEVycm9yKCdmdHAgZXJyb3InLCAnbm8gaG9zdCBnaXZlbicpCiAgICAgICAgIGhvc3QsIHBvcnQgPSBzcGxpdHBvcnQoaG9zdCkKQEAgLTE4NzUsNyArMTk4OSw3IEBACiAgICAgICAgIG1zZy5hcHBlbmQoJ0NvbnRlbnQtdHlwZTogJXMnICUgdHlwZSkKICAgICAgICAgaWYgZW5jb2RpbmcgPT0gJ2Jhc2U2NCc6CiAgICAgICAgICAgICAjIFhYWCBpcyB0aGlzIGVuY29kaW5nL2RlY29kaW5nIG9rPwotICAgICAgICAgICAgZGF0YSA9IGJhc2U2NC5kZWNvZGVieXRlcyhkYXRhLmVuY29kZSgnYXNjaWknKSkuZGVjb2RlKCdsYXRpbjEnKQorICAgICAgICAgICAgZGF0YSA9IGJhc2U2NC5kZWNvZGVieXRlcyhkYXRhLmVuY29kZSgnYXNjaWknKSkuZGVjb2RlKCdsYXRpbi0xJykKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIGRhdGEgPSB1bnF1b3RlKGRhdGEpCiAgICAgICAgIG1zZy5hcHBlbmQoJ0NvbnRlbnQtTGVuZ3RoOiAlZCcgJSBsZW4oZGF0YSkpCkBAIC0xOTY4LDcgKzIwODIsNiBAQAogICAgICAgICAgICAgVVJMb3BlbmVyLmh0dHBfZXJyb3JfZGVmYXVsdChzZWxmLCB1cmwsIGZwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJjb2RlLCBlcnJtc2csIGhlYWRlcnMpCiAgICAgICAgIHN0dWZmID0gaGVhZGVyc1snd3d3LWF1dGhlbnRpY2F0ZSddCi0gICAgICAgIGltcG9ydCByZQogICAgICAgICBtYXRjaCA9IHJlLm1hdGNoKCdbIFx0XSooW14gXHRdKylbIFx0XStyZWFsbT0iKFteIl0qKSInLCBzdHVmZikKICAgICAgICAgaWYgbm90IG1hdGNoOgogICAgICAgICAgICAgVVJMb3BlbmVyLmh0dHBfZXJyb3JfZGVmYXVsdChzZWxmLCB1cmwsIGZwLApAQCAtMTk5NCw3ICsyMTA3LDYgQEAKICAgICAgICAgICAgIFVSTG9wZW5lci5odHRwX2Vycm9yX2RlZmF1bHQoc2VsZiwgdXJsLCBmcCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyY29kZSwgZXJybXNnLCBoZWFkZXJzKQogICAgICAgICBzdHVmZiA9IGhlYWRlcnNbJ3Byb3h5LWF1dGhlbnRpY2F0ZSddCi0gICAgICAgIGltcG9ydCByZQogICAgICAgICBtYXRjaCA9IHJlLm1hdGNoKCdbIFx0XSooW14gXHRdKylbIFx0XStyZWFsbT0iKFteIl0qKSInLCBzdHVmZikKICAgICAgICAgaWYgbm90IG1hdGNoOgogICAgICAgICAgICAgVVJMb3BlbmVyLmh0dHBfZXJyb3JfZGVmYXVsdChzZWxmLCB1cmwsIGZwLApAQCAtMjI4Niw4ICsyMzk4LDYgQEAKICAgICAgICdleGNlcHRpb25zJzogWydmb28uYmFyJywgJyouYmFyLmNvbScsICcxMjcuMC4wLjEnLCAnMTAuMScsICcxMC4wLzE2J10KICAgICB9CiAgICAgIiIiCi0gICAgaW1wb3J0IHJlCi0gICAgaW1wb3J0IHNvY2tldAogICAgIGZyb20gZm5tYXRjaCBpbXBvcnQgZm5tYXRjaAogCiAgICAgaG9zdG9ubHksIHBvcnQgPSBzcGxpdHBvcnQoaG9zdCkKQEAgLTIzOTAsNyArMjUwMCw2IEBACiAgICAgICAgICAgICAgICAgICAgIGZvciBwIGluIHByb3h5U2VydmVyLnNwbGl0KCc7Jyk6CiAgICAgICAgICAgICAgICAgICAgICAgICBwcm90b2NvbCwgYWRkcmVzcyA9IHAuc3BsaXQoJz0nLCAxKQogICAgICAgICAgICAgICAgICAgICAgICAgIyBTZWUgaWYgYWRkcmVzcyBoYXMgYSB0eXBlOi8vIHByZWZpeAotICAgICAgICAgICAgICAgICAgICAgICAgaW1wb3J0IHJlCiAgICAgICAgICAgICAgICAgICAgICAgICBpZiBub3QgcmUubWF0Y2goJ14oW14vOl0rKTovLycsIGFkZHJlc3MpOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZHJlc3MgPSAnJXM6Ly8lcycgJSAocHJvdG9jb2wsIGFkZHJlc3MpCiAgICAgICAgICAgICAgICAgICAgICAgICBwcm94aWVzW3Byb3RvY29sXSA9IGFkZHJlc3MKQEAgLTI0MjIsNyArMjUzMSw2IEBACiAgICAgZGVmIHByb3h5X2J5cGFzc19yZWdpc3RyeShob3N0KToKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgaW1wb3J0IHdpbnJlZwotICAgICAgICAgICAgaW1wb3J0IHJlCiAgICAgICAgIGV4Y2VwdCBJbXBvcnRFcnJvcjoKICAgICAgICAgICAgICMgU3RkIG1vZHVsZXMsIHNvIHNob3VsZCBiZSBhcm91bmQgLSBidXQgeW91IG5ldmVyIGtub3chCiAgICAgICAgICAgICByZXR1cm4gMApAQCAtMjQ2Niw3ICsyNTc0LDYgQEAKICAgICAgICAgICAgIHRlc3QgPSB0ZXN0LnJlcGxhY2UoIioiLCByIi4qIikgICAgICMgY2hhbmdlIGdsb2Igc2VxdWVuY2UKICAgICAgICAgICAgIHRlc3QgPSB0ZXN0LnJlcGxhY2UoIj8iLCByIi4iKSAgICAgICMgY2hhbmdlIGdsb2IgY2hhcgogICAgICAgICAgICAgZm9yIHZhbCBpbiBob3N0OgotICAgICAgICAgICAgICAgICMgcHJpbnQgIiVzIDwtLT4gJXMiICUoIHRlc3QsIHZhbCApCiAgICAgICAgICAgICAgICAgaWYgcmUubWF0Y2godGVzdCwgdmFsLCByZS5JKToKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDEKICAgICAgICAgcmV0dXJuIDAKZGlmZiAtLWdpdCBhL0xpYi91cmxsaWIvcmVzcG9uc2UucHkgYi9MaWIvdXJsbGliL3Jlc3BvbnNlLnB5CmluZGV4IGZmYWE1ZmEuLjFjZjFkMWEgMTAwNjQ0Ci0tLSBhL0xpYi91cmxsaWIvcmVzcG9uc2UucHkKKysrIGIvTGliL3VybGxpYi9yZXNwb25zZS5weQpAQCAtMzcsMTIgKzM3LDE1IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZChzZWxmKSwgc2VsZi5mcCkKIAogICAgIGRlZiBjbG9zZShzZWxmKToKKyAgICAgICAgaWYgc2VsZi5mcDoKKyAgICAgICAgICAgIHNlbGYuZnAuY2xvc2UoKQorICAgICAgICBzZWxmLmZwID0gTm9uZQogICAgICAgICBzZWxmLnJlYWQgPSBOb25lCiAgICAgICAgIHNlbGYucmVhZGxpbmUgPSBOb25lCiAgICAgICAgIHNlbGYucmVhZGxpbmVzID0gTm9uZQogICAgICAgICBzZWxmLmZpbGVubyA9IE5vbmUKLSAgICAgICAgaWYgc2VsZi5mcDogc2VsZi5mcC5jbG9zZSgpCi0gICAgICAgIHNlbGYuZnAgPSBOb25lCisgICAgICAgIHNlbGYuX19pdGVyX18gPSBOb25lCisgICAgICAgIHNlbGYuX19uZXh0X18gPSBOb25lCiAKICAgICBkZWYgX19lbnRlcl9fKHNlbGYpOgogICAgICAgICBpZiBzZWxmLmZwIGlzIE5vbmU6CmRpZmYgLS1naXQgYS9MaWIvd2ViYnJvd3Nlci5weSBiL0xpYi93ZWJicm93c2VyLnB5CmluZGV4IDZmOTY3YjYuLmQwMzYzNTUgMTAwNjQ0Ci0tLSBhL0xpYi93ZWJicm93c2VyLnB5CisrKyBiL0xpYi93ZWJicm93c2VyLnB5CkBAIC0yOTksNiArMjk5LDE4IEBACiAgICAgYmFja2dyb3VuZCA9IFRydWUKIAogCitjbGFzcyBDaHJvbWUoVW5peEJyb3dzZXIpOgorICAgICJMYXVuY2hlciBjbGFzcyBmb3IgR29vZ2xlIENocm9tZSBicm93c2VyLiIKKworICAgIHJlbW90ZV9hcmdzID0gWyclYWN0aW9uJywgJyVzJ10KKyAgICByZW1vdGVfYWN0aW9uID0gIiIKKyAgICByZW1vdGVfYWN0aW9uX25ld3dpbiA9ICItLW5ldy13aW5kb3ciCisgICAgcmVtb3RlX2FjdGlvbl9uZXd0YWIgPSAiIgorICAgIGJhY2tncm91bmQgPSBUcnVlCisKK0Nocm9taXVtID0gQ2hyb21lCisKKwogY2xhc3MgT3BlcmEoVW5peEJyb3dzZXIpOgogICAgICJMYXVuY2hlciBjbGFzcyBmb3IgT3BlcmEgYnJvd3Nlci4iCiAKQEAgLTQ2Niw2ICs0NzgsMTEgQEAKICAgICBpZiBfaXNjb21tYW5kKCJza2lwc3RvbmUiKToKICAgICAgICAgcmVnaXN0ZXIoInNraXBzdG9uZSIsIE5vbmUsIEJhY2tncm91bmRCcm93c2VyKCJza2lwc3RvbmUiKSkKIAorICAgICMgR29vZ2xlIENocm9tZS9DaHJvbWl1bSBicm93c2VycworICAgIGZvciBicm93c2VyIGluICgiZ29vZ2xlLWNocm9tZSIsICJjaHJvbWUiLCAiY2hyb21pdW0iLCAiY2hyb21pdW0tYnJvd3NlciIpOgorICAgICAgICBpZiBfaXNjb21tYW5kKGJyb3dzZXIpOgorICAgICAgICAgICAgcmVnaXN0ZXIoYnJvd3NlciwgTm9uZSwgQ2hyb21lKGJyb3dzZXIpKQorCiAgICAgIyBPcGVyYSwgcXVpdGUgcG9wdWxhcgogICAgIGlmIF9pc2NvbW1hbmQoIm9wZXJhIik6CiAgICAgICAgIHJlZ2lzdGVyKCJvcGVyYSIsIE5vbmUsIE9wZXJhKCJvcGVyYSIpKQpkaWZmIC0tZ2l0IGEvTGliL3dzZ2lyZWYuZWdnLWluZm8gYi9MaWIvd3NnaXJlZi5lZ2ctaW5mbwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzBiNzg5My4uMDAwMDAwMAotLS0gYS9MaWIvd3NnaXJlZi5lZ2ctaW5mbworKysgL2Rldi9udWxsCkBAIC0xLDggKzAsMCBAQAotTWV0YWRhdGEtVmVyc2lvbjogMS4wCi1OYW1lOiB3c2dpcmVmCi1WZXJzaW9uOiAwLjEuMgotU3VtbWFyeTogV1NHSSAoUEVQIDMzMykgUmVmZXJlbmNlIExpYnJhcnkKLUF1dGhvcjogUGhpbGxpcCBKLiBFYnkKLUF1dGhvci1lbWFpbDogd2ViLXNpZ0BweXRob24ub3JnCi1MaWNlbnNlOiBQU0Ygb3IgWlBMCi1QbGF0Zm9ybTogVU5LTk9XTgpkaWZmIC0tZ2l0IGEvTGliL3hkcmxpYi5weSBiL0xpYi94ZHJsaWIucHkKaW5kZXggNGU0ODY3Ny4uODZlNjI0ZiAxMDA2NDQKLS0tIGEvTGliL3hkcmxpYi5weQorKysgYi9MaWIveGRybGliLnB5CkBAIC0xNDEsMTEgKzE0MSw3IEBACiAgICAgICAgIGRhdGEgPSBzZWxmLl9fYnVmW2k6al0KICAgICAgICAgaWYgbGVuKGRhdGEpIDwgNDoKICAgICAgICAgICAgIHJhaXNlIEVPRkVycm9yCi0gICAgICAgIHggPSBzdHJ1Y3QudW5wYWNrKCc+TCcsIGRhdGEpWzBdCi0gICAgICAgIHRyeToKLSAgICAgICAgICAgIHJldHVybiBpbnQoeCkKLSAgICAgICAgZXhjZXB0IE92ZXJmbG93RXJyb3I6Ci0gICAgICAgICAgICByZXR1cm4geAorICAgICAgICByZXR1cm4gc3RydWN0LnVucGFjaygnPkwnLCBkYXRhKVswXQogCiAgICAgZGVmIHVucGFja19pbnQoc2VsZik6CiAgICAgICAgIGkgPSBzZWxmLl9fcG9zCmRpZmYgLS1naXQgYS9MaWIveG1sL2RvbS9fX2luaXRfXy5weSBiL0xpYi94bWwvZG9tL19faW5pdF9fLnB5CmluZGV4IDQ0MDFiZGYuLjk3Y2Y5YTYgMTAwNjQ0Ci0tLSBhL0xpYi94bWwvZG9tL19faW5pdF9fLnB5CisrKyBiL0xpYi94bWwvZG9tL19faW5pdF9fLnB5CkBAIC0xNyw2ICsxNyw3IEBACiAKIGNsYXNzIE5vZGU6CiAgICAgIiIiQ2xhc3MgZ2l2aW5nIHRoZSBOb2RlVHlwZSBjb25zdGFudHMuIiIiCisgICAgX19zbG90c19fID0gKCkKIAogICAgICMgRE9NIGltcGxlbWVudGF0aW9ucyBtYXkgdXNlIHRoaXMgYXMgYSBiYXNlIGNsYXNzIGZvciB0aGVpciBvd24KICAgICAjIE5vZGUgaW1wbGVtZW50YXRpb25zLiAgSWYgdGhleSBkb24ndCwgdGhlIGNvbnN0YW50cyBkZWZpbmVkIGhlcmUKZGlmZiAtLWdpdCBhL0xpYi94bWwvZG9tL2RvbXJlZy5weSBiL0xpYi94bWwvZG9tL2RvbXJlZy5weQppbmRleCBjYjM1YmIwLi44YzNkOTAxIDEwMDY0NAotLS0gYS9MaWIveG1sL2RvbS9kb21yZWcucHkKKysrIGIvTGliL3htbC9kb20vZG9tcmVnLnB5CkBAIC0yLDggKzIsNiBAQAogZGlyZWN0bHkuIEluc3RlYWQsIHRoZSBmdW5jdGlvbnMgZ2V0RE9NSW1wbGVtZW50YXRpb24gYW5kCiByZWdpc3RlckRPTUltcGxlbWVudGF0aW9uIHNob3VsZCBiZSBpbXBvcnRlZCBmcm9tIHhtbC5kb20uIiIiCiAKLWZyb20geG1sLmRvbS5taW5pY29tcGF0IGltcG9ydCAqICAjIGlzaW5zdGFuY2UsIFN0cmluZ1R5cGVzCi0KICMgVGhpcyBpcyBhIGxpc3Qgb2Ygd2VsbC1rbm93biBpbXBsZW1lbnRhdGlvbnMuICBXZWxsLWtub3duIG5hbWVzCiAjIHNob3VsZCBiZSBwdWJsaXNoZWQgYnkgcG9zdGluZyB0byB4bWwtc2lnQHB5dGhvbi5vcmcsIGFuZCBhcmUKICMgc3Vic2VxdWVudGx5IHJlY29yZGVkIGluIHRoaXMgZmlsZS4KZGlmZiAtLWdpdCBhL0xpYi94bWwvZG9tL2V4cGF0YnVpbGRlci5weSBiL0xpYi94bWwvZG9tL2V4cGF0YnVpbGRlci5weQppbmRleCBhOThmZTAzLi5mMDc0YWI5IDEwMDY0NAotLS0gYS9MaWIveG1sL2RvbS9leHBhdGJ1aWxkZXIucHkKKysrIGIvTGliL3htbC9kb20vZXhwYXRidWlsZGVyLnB5CkBAIC0zMyw4ICszMyw2IEBACiBmcm9tIHhtbC5kb20ubWluaWRvbSBpbXBvcnQgX2FwcGVuZF9jaGlsZCwgX3NldF9hdHRyaWJ1dGVfbm9kZQogZnJvbSB4bWwuZG9tLk5vZGVGaWx0ZXIgaW1wb3J0IE5vZGVGaWx0ZXIKIAotZnJvbSB4bWwuZG9tLm1pbmljb21wYXQgaW1wb3J0ICoKLQogVEVYVF9OT0RFID0gTm9kZS5URVhUX05PREUKIENEQVRBX1NFQ1RJT05fTk9ERSA9IE5vZGUuQ0RBVEFfU0VDVElPTl9OT0RFCiBET0NVTUVOVF9OT0RFID0gTm9kZS5ET0NVTUVOVF9OT0RFCkBAIC0yODMsMjcgKzI4MSwyMyBAQAogICAgICAgICBlbGlmIGNoaWxkTm9kZXMgYW5kIGNoaWxkTm9kZXNbLTFdLm5vZGVUeXBlID09IFRFWFRfTk9ERToKICAgICAgICAgICAgIG5vZGUgPSBjaGlsZE5vZGVzWy0xXQogICAgICAgICAgICAgdmFsdWUgPSBub2RlLmRhdGEgKyBkYXRhCi0gICAgICAgICAgICBkID0gbm9kZS5fX2RpY3RfXwotICAgICAgICAgICAgZFsnZGF0YSddID0gZFsnbm9kZVZhbHVlJ10gPSB2YWx1ZQorICAgICAgICAgICAgbm9kZS5kYXRhID0gdmFsdWUKICAgICAgICAgICAgIHJldHVybgogICAgICAgICBlbHNlOgogICAgICAgICAgICAgbm9kZSA9IG1pbmlkb20uVGV4dCgpCi0gICAgICAgICAgICBkID0gbm9kZS5fX2RpY3RfXwotICAgICAgICAgICAgZFsnZGF0YSddID0gZFsnbm9kZVZhbHVlJ10gPSBkYXRhCi0gICAgICAgICAgICBkWydvd25lckRvY3VtZW50J10gPSBzZWxmLmRvY3VtZW50CisgICAgICAgICAgICBub2RlLmRhdGEgPSBkYXRhCisgICAgICAgICAgICBub2RlLm93bmVyRG9jdW1lbnQgPSBzZWxmLmRvY3VtZW50CiAgICAgICAgIF9hcHBlbmRfY2hpbGQoc2VsZi5jdXJOb2RlLCBub2RlKQogCiAgICAgZGVmIGNoYXJhY3Rlcl9kYXRhX2hhbmRsZXIoc2VsZiwgZGF0YSk6CiAgICAgICAgIGNoaWxkTm9kZXMgPSBzZWxmLmN1ck5vZGUuY2hpbGROb2RlcwogICAgICAgICBpZiBjaGlsZE5vZGVzIGFuZCBjaGlsZE5vZGVzWy0xXS5ub2RlVHlwZSA9PSBURVhUX05PREU6CiAgICAgICAgICAgICBub2RlID0gY2hpbGROb2Rlc1stMV0KLSAgICAgICAgICAgIGQgPSBub2RlLl9fZGljdF9fCi0gICAgICAgICAgICBkWydkYXRhJ10gPSBkWydub2RlVmFsdWUnXSA9IG5vZGUuZGF0YSArIGRhdGEKKyAgICAgICAgICAgIG5vZGUuZGF0YSA9IG5vZGUuZGF0YSArIGRhdGEKICAgICAgICAgICAgIHJldHVybgogICAgICAgICBub2RlID0gbWluaWRvbS5UZXh0KCkKLSAgICAgICAgZCA9IG5vZGUuX19kaWN0X18KLSAgICAgICAgZFsnZGF0YSddID0gZFsnbm9kZVZhbHVlJ10gPSBub2RlLmRhdGEgKyBkYXRhCi0gICAgICAgIGRbJ293bmVyRG9jdW1lbnQnXSA9IHNlbGYuZG9jdW1lbnQKKyAgICAgICAgbm9kZS5kYXRhID0gbm9kZS5kYXRhICsgZGF0YQorICAgICAgICBub2RlLm93bmVyRG9jdW1lbnQgPSBzZWxmLmRvY3VtZW50CiAgICAgICAgIF9hcHBlbmRfY2hpbGQoc2VsZi5jdXJOb2RlLCBub2RlKQogCiAgICAgZGVmIGVudGl0eV9kZWNsX2hhbmRsZXIoc2VsZiwgZW50aXR5TmFtZSwgaXNfcGFyYW1ldGVyX2VudGl0eSwgdmFsdWUsCkBAIC0zNjMsMTEgKzM1Nyw4IEBACiAgICAgICAgICAgICAgICAgYSA9IG1pbmlkb20uQXR0cihhdHRyaWJ1dGVzW2ldLCBFTVBUWV9OQU1FU1BBQ0UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOb25lLCBFTVBUWV9QUkVGSVgpCiAgICAgICAgICAgICAgICAgdmFsdWUgPSBhdHRyaWJ1dGVzW2krMV0KLSAgICAgICAgICAgICAgICBkID0gYS5jaGlsZE5vZGVzWzBdLl9fZGljdF9fCi0gICAgICAgICAgICAgICAgZFsnZGF0YSddID0gZFsnbm9kZVZhbHVlJ10gPSB2YWx1ZQotICAgICAgICAgICAgICAgIGQgPSBhLl9fZGljdF9fCi0gICAgICAgICAgICAgICAgZFsndmFsdWUnXSA9IGRbJ25vZGVWYWx1ZSddID0gdmFsdWUKLSAgICAgICAgICAgICAgICBkWydvd25lckRvY3VtZW50J10gPSBzZWxmLmRvY3VtZW50CisgICAgICAgICAgICAgICAgYS52YWx1ZSA9IHZhbHVlCisgICAgICAgICAgICAgICAgYS5vd25lckRvY3VtZW50ID0gc2VsZi5kb2N1bWVudAogICAgICAgICAgICAgICAgIF9zZXRfYXR0cmlidXRlX25vZGUobm9kZSwgYSkKIAogICAgICAgICBpZiBub2RlIGlzIG5vdCBzZWxmLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudDoKQEAgLTc2MSwxNSArNzUyLDEzIEBACiAgICAgICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAgICAgYSA9IG1pbmlkb20uQXR0cigieG1sbnMiLCBYTUxOU19OQU1FU1BBQ0UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInhtbG5zIiwgRU1QVFlfUFJFRklYKQotICAgICAgICAgICAgICAgIGQgPSBhLmNoaWxkTm9kZXNbMF0uX19kaWN0X18KLSAgICAgICAgICAgICAgICBkWydkYXRhJ10gPSBkWydub2RlVmFsdWUnXSA9IHVyaQotICAgICAgICAgICAgICAgIGQgPSBhLl9fZGljdF9fCi0gICAgICAgICAgICAgICAgZFsndmFsdWUnXSA9IGRbJ25vZGVWYWx1ZSddID0gdXJpCi0gICAgICAgICAgICAgICAgZFsnb3duZXJEb2N1bWVudCddID0gc2VsZi5kb2N1bWVudAorICAgICAgICAgICAgICAgIGEudmFsdWUgPSB1cmkKKyAgICAgICAgICAgICAgICBhLm93bmVyRG9jdW1lbnQgPSBzZWxmLmRvY3VtZW50CiAgICAgICAgICAgICAgICAgX3NldF9hdHRyaWJ1dGVfbm9kZShub2RlLCBhKQogICAgICAgICAgICAgZGVsIHNlbGYuX25zX29yZGVyZWRfcHJlZml4ZXNbOl0KIAogICAgICAgICBpZiBhdHRyaWJ1dGVzOgorICAgICAgICAgICAgbm9kZS5fZW5zdXJlX2F0dHJpYnV0ZXMoKQogICAgICAgICAgICAgX2F0dHJzID0gbm9kZS5fYXR0cnMKICAgICAgICAgICAgIF9hdHRyc05TID0gbm9kZS5fYXR0cnNOUwogICAgICAgICAgICAgZm9yIGkgaW4gcmFuZ2UoMCwgbGVuKGF0dHJpYnV0ZXMpLCAyKToKQEAgLTc4NSwxMiArNzc0LDkgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmFtZSwgRU1QVFlfUFJFRklYKQogICAgICAgICAgICAgICAgICAgICBfYXR0cnNbYW5hbWVdID0gYQogICAgICAgICAgICAgICAgICAgICBfYXR0cnNOU1soRU1QVFlfTkFNRVNQQUNFLCBhbmFtZSldID0gYQotICAgICAgICAgICAgICAgIGQgPSBhLmNoaWxkTm9kZXNbMF0uX19kaWN0X18KLSAgICAgICAgICAgICAgICBkWydkYXRhJ10gPSBkWydub2RlVmFsdWUnXSA9IHZhbHVlCi0gICAgICAgICAgICAgICAgZCA9IGEuX19kaWN0X18KLSAgICAgICAgICAgICAgICBkWydvd25lckRvY3VtZW50J10gPSBzZWxmLmRvY3VtZW50Ci0gICAgICAgICAgICAgICAgZFsndmFsdWUnXSA9IGRbJ25vZGVWYWx1ZSddID0gdmFsdWUKLSAgICAgICAgICAgICAgICBkWydvd25lckVsZW1lbnQnXSA9IG5vZGUKKyAgICAgICAgICAgICAgICBhLm93bmVyRG9jdW1lbnQgPSBzZWxmLmRvY3VtZW50CisgICAgICAgICAgICAgICAgYS52YWx1ZSA9IHZhbHVlCisgICAgICAgICAgICAgICAgYS5vd25lckVsZW1lbnQgPSBub2RlCiAKICAgICBpZiBfX2RlYnVnX186CiAgICAgICAgICMgVGhpcyBvbmx5IGFkZHMgc29tZSBhc3NlcnRzIHRvIHRoZSBvcmlnaW5hbApkaWZmIC0tZ2l0IGEvTGliL3htbC9kb20vbWluaWRvbS5weSBiL0xpYi94bWwvZG9tL21pbmlkb20ucHkKaW5kZXggZjIzYWQwNS4uMjc1ZTIwYyAxMDA2NDQKLS0tIGEvTGliL3htbC9kb20vbWluaWRvbS5weQorKysgYi9MaWIveG1sL2RvbS9taW5pZG9tLnB5CkBAIC02MiwxMCArNjIsNyBAQAogICAgICAgICAgICAgcmV0dXJuIHdyaXRlci5zdHJlYW0uZ2V0dmFsdWUoKQogCiAgICAgZGVmIGhhc0NoaWxkTm9kZXMoc2VsZik6Ci0gICAgICAgIGlmIHNlbGYuY2hpbGROb2RlczoKLSAgICAgICAgICAgIHJldHVybiBUcnVlCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICByZXR1cm4gRmFsc2UKKyAgICAgICAgcmV0dXJuIGJvb2woc2VsZi5jaGlsZE5vZGVzKQogCiAgICAgZGVmIF9nZXRfY2hpbGROb2RlcyhzZWxmKToKICAgICAgICAgcmV0dXJuIHNlbGYuY2hpbGROb2RlcwpAQCAtMjg2LDEwICsyODMsMTAgQEAKICAgICBjaGlsZE5vZGVzID0gc2VsZi5jaGlsZE5vZGVzCiAgICAgaWYgY2hpbGROb2RlczoKICAgICAgICAgbGFzdCA9IGNoaWxkTm9kZXNbLTFdCi0gICAgICAgIG5vZGUuX19kaWN0X19bInByZXZpb3VzU2libGluZyJdID0gbGFzdAotICAgICAgICBsYXN0Ll9fZGljdF9fWyJuZXh0U2libGluZyJdID0gbm9kZQorICAgICAgICBub2RlLnByZXZpb3VzU2libGluZyA9IGxhc3QKKyAgICAgICAgbGFzdC5uZXh0U2libGluZyA9IG5vZGUKICAgICBjaGlsZE5vZGVzLmFwcGVuZChub2RlKQotICAgIG5vZGUuX19kaWN0X19bInBhcmVudE5vZGUiXSA9IHNlbGYKKyAgICBub2RlLnBhcmVudE5vZGUgPSBzZWxmCiAKIGRlZiBfaW5fZG9jdW1lbnQobm9kZSk6CiAgICAgIyByZXR1cm4gVHJ1ZSBpZmYgbm9kZSBpcyBwYXJ0IG9mIGEgZG9jdW1lbnQgdHJlZQpAQCAtMzQyLDkgKzMzOSwxMCBAQAogCiAKIGNsYXNzIEF0dHIoTm9kZSk6CisgICAgX19zbG90c19fPSgnX25hbWUnLCAnX3ZhbHVlJywgJ25hbWVzcGFjZVVSSScsCisgICAgICAgICAgICAgICAnX3ByZWZpeCcsICdjaGlsZE5vZGVzJywgJ19sb2NhbE5hbWUnLCAnb3duZXJEb2N1bWVudCcsICdvd25lckVsZW1lbnQnKQogICAgIG5vZGVUeXBlID0gTm9kZS5BVFRSSUJVVEVfTk9ERQogICAgIGF0dHJpYnV0ZXMgPSBOb25lCi0gICAgb3duZXJFbGVtZW50ID0gTm9uZQogICAgIHNwZWNpZmllZCA9IEZhbHNlCiAgICAgX2lzX2lkID0gRmFsc2UKIApAQCAtMzUyLDEyICszNTAsMTEgQEAKIAogICAgIGRlZiBfX2luaXRfXyhzZWxmLCBxTmFtZSwgbmFtZXNwYWNlVVJJPUVNUFRZX05BTUVTUEFDRSwgbG9jYWxOYW1lPU5vbmUsCiAgICAgICAgICAgICAgICAgIHByZWZpeD1Ob25lKToKLSAgICAgICAgIyBza2lwIHNldGF0dHIgZm9yIHBlcmZvcm1hbmNlCi0gICAgICAgIGQgPSBzZWxmLl9fZGljdF9fCi0gICAgICAgIGRbIm5vZGVOYW1lIl0gPSBkWyJuYW1lIl0gPSBxTmFtZQotICAgICAgICBkWyJuYW1lc3BhY2VVUkkiXSA9IG5hbWVzcGFjZVVSSQotICAgICAgICBkWyJwcmVmaXgiXSA9IHByZWZpeAotICAgICAgICBkWydjaGlsZE5vZGVzJ10gPSBOb2RlTGlzdCgpCisgICAgICAgIHNlbGYub3duZXJFbGVtZW50ID0gTm9uZQorICAgICAgICBzZWxmLl9uYW1lID0gcU5hbWUKKyAgICAgICAgc2VsZi5uYW1lc3BhY2VVUkkgPSBuYW1lc3BhY2VVUkkKKyAgICAgICAgc2VsZi5fcHJlZml4ID0gcHJlZml4CisgICAgICAgIHNlbGYuY2hpbGROb2RlcyA9IE5vZGVMaXN0KCkKIAogICAgICAgICAjIEFkZCB0aGUgc2luZ2xlIGNoaWxkIG5vZGUgdGhhdCByZXByZXNlbnRzIHRoZSB2YWx1ZSBvZiB0aGUgYXR0cgogICAgICAgICBzZWxmLmNoaWxkTm9kZXMuYXBwZW5kKFRleHQoKSkKQEAgLTM2NSw5ICszNjIsMTAgQEAKICAgICAgICAgIyBub2RlVmFsdWUgYW5kIHZhbHVlIGFyZSBzZXQgZWxzZXdoZXJlCiAKICAgICBkZWYgX2dldF9sb2NhbE5hbWUoc2VsZik6Ci0gICAgICAgIGlmICdsb2NhbE5hbWUnIGluIHNlbGYuX19kaWN0X186Ci0gICAgICAgICAgICByZXR1cm4gc2VsZi5fX2RpY3RfX1snbG9jYWxOYW1lJ10KLSAgICAgICAgcmV0dXJuIHNlbGYubm9kZU5hbWUuc3BsaXQoIjoiLCAxKVstMV0KKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2xvY2FsTmFtZQorICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6CisgICAgICAgICAgICByZXR1cm4gc2VsZi5ub2RlTmFtZS5zcGxpdCgiOiIsIDEpWy0xXQogCiAgICAgZGVmIF9nZXRfbmFtZShzZWxmKToKICAgICAgICAgcmV0dXJuIHNlbGYubmFtZQpAQCAtMzc1LDIwICszNzMsMzAgQEAKICAgICBkZWYgX2dldF9zcGVjaWZpZWQoc2VsZik6CiAgICAgICAgIHJldHVybiBzZWxmLnNwZWNpZmllZAogCi0gICAgZGVmIF9fc2V0YXR0cl9fKHNlbGYsIG5hbWUsIHZhbHVlKToKLSAgICAgICAgZCA9IHNlbGYuX19kaWN0X18KLSAgICAgICAgaWYgbmFtZSBpbiAoInZhbHVlIiwgIm5vZGVWYWx1ZSIpOgotICAgICAgICAgICAgZFsidmFsdWUiXSA9IGRbIm5vZGVWYWx1ZSJdID0gdmFsdWUKLSAgICAgICAgICAgIGQyID0gc2VsZi5jaGlsZE5vZGVzWzBdLl9fZGljdF9fCi0gICAgICAgICAgICBkMlsiZGF0YSJdID0gZDJbIm5vZGVWYWx1ZSJdID0gdmFsdWUKLSAgICAgICAgICAgIGlmIHNlbGYub3duZXJFbGVtZW50IGlzIG5vdCBOb25lOgotICAgICAgICAgICAgICAgIF9jbGVhcl9pZF9jYWNoZShzZWxmLm93bmVyRWxlbWVudCkKLSAgICAgICAgZWxpZiBuYW1lIGluICgibmFtZSIsICJub2RlTmFtZSIpOgotICAgICAgICAgICAgZFsibmFtZSJdID0gZFsibm9kZU5hbWUiXSA9IHZhbHVlCi0gICAgICAgICAgICBpZiBzZWxmLm93bmVyRWxlbWVudCBpcyBub3QgTm9uZToKLSAgICAgICAgICAgICAgICBfY2xlYXJfaWRfY2FjaGUoc2VsZi5vd25lckVsZW1lbnQpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBkW25hbWVdID0gdmFsdWUKKyAgICBkZWYgX2dldF9uYW1lKHNlbGYpOgorICAgICAgICByZXR1cm4gc2VsZi5fbmFtZQorCisgICAgZGVmIF9zZXRfbmFtZShzZWxmLCB2YWx1ZSk6CisgICAgICAgIHNlbGYuX25hbWUgPSB2YWx1ZQorICAgICAgICBpZiBzZWxmLm93bmVyRWxlbWVudCBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIF9jbGVhcl9pZF9jYWNoZShzZWxmLm93bmVyRWxlbWVudCkKKworICAgIG5vZGVOYW1lID0gbmFtZSA9IHByb3BlcnR5KF9nZXRfbmFtZSwgX3NldF9uYW1lKQorCisgICAgZGVmIF9nZXRfdmFsdWUoc2VsZik6CisgICAgICAgIHJldHVybiBzZWxmLl92YWx1ZQorCisgICAgZGVmIF9zZXRfdmFsdWUoc2VsZiwgdmFsdWUpOgorICAgICAgICBzZWxmLl92YWx1ZSA9IHZhbHVlCisgICAgICAgIHNlbGYuY2hpbGROb2Rlc1swXS5kYXRhID0gdmFsdWUKKyAgICAgICAgaWYgc2VsZi5vd25lckVsZW1lbnQgaXMgbm90IE5vbmU6CisgICAgICAgICAgICBfY2xlYXJfaWRfY2FjaGUoc2VsZi5vd25lckVsZW1lbnQpCisgICAgICAgIHNlbGYuY2hpbGROb2Rlc1swXS5kYXRhID0gdmFsdWUKKworICAgIG5vZGVWYWx1ZSA9IHZhbHVlID0gcHJvcGVydHkoX2dldF92YWx1ZSwgX3NldF92YWx1ZSkKKworICAgIGRlZiBfZ2V0X3ByZWZpeChzZWxmKToKKyAgICAgICAgcmV0dXJuIHNlbGYuX3ByZWZpeAogCiAgICAgZGVmIF9zZXRfcHJlZml4KHNlbGYsIHByZWZpeCk6CiAgICAgICAgIG5zdXJpID0gc2VsZi5uYW1lc3BhY2VVUkkKQEAgLTM5NiwyMiArNDA0LDE2IEBACiAgICAgICAgICAgICBpZiBuc3VyaSBhbmQgbnN1cmkgIT0gWE1MTlNfTkFNRVNQQUNFOgogICAgICAgICAgICAgICAgIHJhaXNlIHhtbC5kb20uTmFtZXNwYWNlRXJyKAogICAgICAgICAgICAgICAgICAgICAiaWxsZWdhbCB1c2Ugb2YgJ3htbG5zJyBwcmVmaXggZm9yIHRoZSB3cm9uZyBuYW1lc3BhY2UiKQotICAgICAgICBkID0gc2VsZi5fX2RpY3RfXwotICAgICAgICBkWydwcmVmaXgnXSA9IHByZWZpeAorICAgICAgICBzZWxmLl9wcmVmaXggPSBwcmVmaXgKICAgICAgICAgaWYgcHJlZml4IGlzIE5vbmU6CiAgICAgICAgICAgICBuZXdOYW1lID0gc2VsZi5sb2NhbE5hbWUKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIG5ld05hbWUgPSAiJXM6JXMiICUgKHByZWZpeCwgc2VsZi5sb2NhbE5hbWUpCiAgICAgICAgIGlmIHNlbGYub3duZXJFbGVtZW50OgogICAgICAgICAgICAgX2NsZWFyX2lkX2NhY2hlKHNlbGYub3duZXJFbGVtZW50KQotICAgICAgICBkWydub2RlTmFtZSddID0gZFsnbmFtZSddID0gbmV3TmFtZQorICAgICAgICBzZWxmLm5hbWUgPSBuZXdOYW1lCiAKLSAgICBkZWYgX3NldF92YWx1ZShzZWxmLCB2YWx1ZSk6Ci0gICAgICAgIGQgPSBzZWxmLl9fZGljdF9fCi0gICAgICAgIGRbJ3ZhbHVlJ10gPSBkWydub2RlVmFsdWUnXSA9IHZhbHVlCi0gICAgICAgIGlmIHNlbGYub3duZXJFbGVtZW50OgotICAgICAgICAgICAgX2NsZWFyX2lkX2NhY2hlKHNlbGYub3duZXJFbGVtZW50KQotICAgICAgICBzZWxmLmNoaWxkTm9kZXNbMF0uZGF0YSA9IHZhbHVlCisgICAgcHJlZml4ID0gcHJvcGVydHkoX2dldF9wcmVmaXgsIF9zZXRfcHJlZml4KQogCiAgICAgZGVmIHVubGluayhzZWxmKToKICAgICAgICAgIyBUaGlzIGltcGxlbWVudGF0aW9uIGRvZXMgbm90IGNhbGwgdGhlIGJhc2UgaW1wbGVtZW50YXRpb24KQEAgLTU4Niw4ICs1ODgsOCBAQAogICAgICAgICAgICAgX2NsZWFyX2lkX2NhY2hlKHNlbGYuX293bmVyRWxlbWVudCkKICAgICAgICAgICAgIGRlbCBzZWxmLl9hdHRyc1tuLm5vZGVOYW1lXQogICAgICAgICAgICAgZGVsIHNlbGYuX2F0dHJzTlNbKG4ubmFtZXNwYWNlVVJJLCBuLmxvY2FsTmFtZSldCi0gICAgICAgICAgICBpZiAnb3duZXJFbGVtZW50JyBpbiBuLl9fZGljdF9fOgotICAgICAgICAgICAgICAgIG4uX19kaWN0X19bJ293bmVyRWxlbWVudCddID0gTm9uZQorICAgICAgICAgICAgaWYgaGFzYXR0cihuLCAnb3duZXJFbGVtZW50Jyk6CisgICAgICAgICAgICAgICAgbi5vd25lckVsZW1lbnQgPSBOb25lCiAgICAgICAgICAgICByZXR1cm4gbgogICAgICAgICBlbHNlOgogICAgICAgICAgICAgcmFpc2UgeG1sLmRvbS5Ob3RGb3VuZEVycigpCkBAIC01OTgsOCArNjAwLDggQEAKICAgICAgICAgICAgIF9jbGVhcl9pZF9jYWNoZShzZWxmLl9vd25lckVsZW1lbnQpCiAgICAgICAgICAgICBkZWwgc2VsZi5fYXR0cnNOU1sobi5uYW1lc3BhY2VVUkksIG4ubG9jYWxOYW1lKV0KICAgICAgICAgICAgIGRlbCBzZWxmLl9hdHRyc1tuLm5vZGVOYW1lXQotICAgICAgICAgICAgaWYgJ293bmVyRWxlbWVudCcgaW4gbi5fX2RpY3RfXzoKLSAgICAgICAgICAgICAgICBuLl9fZGljdF9fWydvd25lckVsZW1lbnQnXSA9IE5vbmUKKyAgICAgICAgICAgIGlmIGhhc2F0dHIobiwgJ293bmVyRWxlbWVudCcpOgorICAgICAgICAgICAgICAgIG4ub3duZXJFbGVtZW50ID0gTm9uZQogICAgICAgICAgICAgcmV0dXJuIG4KICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHJhaXNlIHhtbC5kb20uTm90Rm91bmRFcnIoKQpAQCAtNjU5LDYgKzY2MSw5IEBACiBfbm9fdHlwZSA9IFR5cGVJbmZvKE5vbmUsIE5vbmUpCiAKIGNsYXNzIEVsZW1lbnQoTm9kZSk6CisgICAgX19zbG90c19fPSgnb3duZXJEb2N1bWVudCcsICdwYXJlbnROb2RlJywgJ3RhZ05hbWUnLCAnbm9kZU5hbWUnLCAncHJlZml4JywKKyAgICAgICAgICAgICAgICduYW1lc3BhY2VVUkknLCAnX2xvY2FsTmFtZScsICdjaGlsZE5vZGVzJywgJ19hdHRycycsICdfYXR0cnNOUycsCisgICAgICAgICAgICAgICAnbmV4dFNpYmxpbmcnLCAncHJldmlvdXNTaWJsaW5nJykKICAgICBub2RlVHlwZSA9IE5vZGUuRUxFTUVOVF9OT0RFCiAgICAgbm9kZVZhbHVlID0gTm9uZQogICAgIHNjaGVtYVR5cGUgPSBfbm9fdHlwZQpAQCAtNjc0LDQxICs2NzksNTcgQEAKIAogICAgIGRlZiBfX2luaXRfXyhzZWxmLCB0YWdOYW1lLCBuYW1lc3BhY2VVUkk9RU1QVFlfTkFNRVNQQUNFLCBwcmVmaXg9Tm9uZSwKICAgICAgICAgICAgICAgICAgbG9jYWxOYW1lPU5vbmUpOgorICAgICAgICBzZWxmLnBhcmVudE5vZGUgPSBOb25lCiAgICAgICAgIHNlbGYudGFnTmFtZSA9IHNlbGYubm9kZU5hbWUgPSB0YWdOYW1lCiAgICAgICAgIHNlbGYucHJlZml4ID0gcHJlZml4CiAgICAgICAgIHNlbGYubmFtZXNwYWNlVVJJID0gbmFtZXNwYWNlVVJJCiAgICAgICAgIHNlbGYuY2hpbGROb2RlcyA9IE5vZGVMaXN0KCkKKyAgICAgICAgc2VsZi5uZXh0U2libGluZyA9IHNlbGYucHJldmlvdXNTaWJsaW5nID0gTm9uZQogCi0gICAgICAgIHNlbGYuX2F0dHJzID0ge30gICAjIGF0dHJpYnV0ZXMgYXJlIGRvdWJsZS1pbmRleGVkOgotICAgICAgICBzZWxmLl9hdHRyc05TID0ge30gIyAgICB0YWdOYW1lIC0+IEF0dHJpYnV0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIyAgICBVUkksbG9jYWxOYW1lIC0+IEF0dHJpYnV0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBpbiB0aGUgZnV0dXJlOiBjb25zaWRlciBsYXp5IGdlbmVyYXRpb24KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICMgb2YgYXR0cmlidXRlIG9iamVjdHMgdGhpcyBpcyB0b28gdHJpY2t5Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAjIGZvciBub3cgYmVjYXVzZSBvZiBoZWFkYWNoZXMgd2l0aAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBuYW1lc3BhY2VzLgorICAgICAgICAjIEF0dHJpYnV0ZSBkaWN0aW9uYXJpZXMgYXJlIGxhemlseSBjcmVhdGVkCisgICAgICAgICMgYXR0cmlidXRlcyBhcmUgZG91YmxlLWluZGV4ZWQ6CisgICAgICAgICMgICAgdGFnTmFtZSAtPiBBdHRyaWJ1dGUKKyAgICAgICAgIyAgICBVUkksbG9jYWxOYW1lIC0+IEF0dHJpYnV0ZQorICAgICAgICAjIGluIHRoZSBmdXR1cmU6IGNvbnNpZGVyIGxhenkgZ2VuZXJhdGlvbgorICAgICAgICAjIG9mIGF0dHJpYnV0ZSBvYmplY3RzIHRoaXMgaXMgdG9vIHRyaWNreQorICAgICAgICAjIGZvciBub3cgYmVjYXVzZSBvZiBoZWFkYWNoZXMgd2l0aAorICAgICAgICAjIG5hbWVzcGFjZXMuCisgICAgICAgIHNlbGYuX2F0dHJzID0gTm9uZQorICAgICAgICBzZWxmLl9hdHRyc05TID0gTm9uZQorCisgICAgZGVmIF9lbnN1cmVfYXR0cmlidXRlcyhzZWxmKToKKyAgICAgICAgaWYgc2VsZi5fYXR0cnMgaXMgTm9uZToKKyAgICAgICAgICAgIHNlbGYuX2F0dHJzID0ge30KKyAgICAgICAgICAgIHNlbGYuX2F0dHJzTlMgPSB7fQogCiAgICAgZGVmIF9nZXRfbG9jYWxOYW1lKHNlbGYpOgotICAgICAgICBpZiAnbG9jYWxOYW1lJyBpbiBzZWxmLl9fZGljdF9fOgotICAgICAgICAgICAgcmV0dXJuIHNlbGYuX19kaWN0X19bJ2xvY2FsTmFtZSddCi0gICAgICAgIHJldHVybiBzZWxmLnRhZ05hbWUuc3BsaXQoIjoiLCAxKVstMV0KKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2xvY2FsTmFtZQorICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6CisgICAgICAgICAgICByZXR1cm4gc2VsZi50YWdOYW1lLnNwbGl0KCI6IiwgMSlbLTFdCiAKICAgICBkZWYgX2dldF90YWdOYW1lKHNlbGYpOgogICAgICAgICByZXR1cm4gc2VsZi50YWdOYW1lCiAKICAgICBkZWYgdW5saW5rKHNlbGYpOgotICAgICAgICBmb3IgYXR0ciBpbiBsaXN0KHNlbGYuX2F0dHJzLnZhbHVlcygpKToKLSAgICAgICAgICAgIGF0dHIudW5saW5rKCkKKyAgICAgICAgaWYgc2VsZi5fYXR0cnMgaXMgbm90IE5vbmU6CisgICAgICAgICAgICBmb3IgYXR0ciBpbiBsaXN0KHNlbGYuX2F0dHJzLnZhbHVlcygpKToKKyAgICAgICAgICAgICAgICBhdHRyLnVubGluaygpCiAgICAgICAgIHNlbGYuX2F0dHJzID0gTm9uZQogICAgICAgICBzZWxmLl9hdHRyc05TID0gTm9uZQogICAgICAgICBOb2RlLnVubGluayhzZWxmKQogCiAgICAgZGVmIGdldEF0dHJpYnV0ZShzZWxmLCBhdHRuYW1lKToKKyAgICAgICAgaWYgc2VsZi5fYXR0cnMgaXMgTm9uZToKKyAgICAgICAgICAgIHJldHVybiAiIgogICAgICAgICB0cnk6CiAgICAgICAgICAgICByZXR1cm4gc2VsZi5fYXR0cnNbYXR0bmFtZV0udmFsdWUKICAgICAgICAgZXhjZXB0IEtleUVycm9yOgogICAgICAgICAgICAgcmV0dXJuICIiCiAKICAgICBkZWYgZ2V0QXR0cmlidXRlTlMoc2VsZiwgbmFtZXNwYWNlVVJJLCBsb2NhbE5hbWUpOgorICAgICAgICBpZiBzZWxmLl9hdHRyc05TIGlzIE5vbmU6CisgICAgICAgICAgICByZXR1cm4gIiIKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2F0dHJzTlNbKG5hbWVzcGFjZVVSSSwgbG9jYWxOYW1lKV0udmFsdWUKICAgICAgICAgZXhjZXB0IEtleUVycm9yOgpAQCAtNzE4LDE0ICs3MzksMTEgQEAKICAgICAgICAgYXR0ciA9IHNlbGYuZ2V0QXR0cmlidXRlTm9kZShhdHRuYW1lKQogICAgICAgICBpZiBhdHRyIGlzIE5vbmU6CiAgICAgICAgICAgICBhdHRyID0gQXR0cihhdHRuYW1lKQotICAgICAgICAgICAgIyBmb3IgcGVyZm9ybWFuY2UKLSAgICAgICAgICAgIGQgPSBhdHRyLl9fZGljdF9fCi0gICAgICAgICAgICBkWyJ2YWx1ZSJdID0gZFsibm9kZVZhbHVlIl0gPSB2YWx1ZQotICAgICAgICAgICAgZFsib3duZXJEb2N1bWVudCJdID0gc2VsZi5vd25lckRvY3VtZW50CisgICAgICAgICAgICBhdHRyLnZhbHVlID0gdmFsdWUgIyBhbHNvIHNldHMgbm9kZVZhbHVlCisgICAgICAgICAgICBhdHRyLm93bmVyRG9jdW1lbnQgPSBzZWxmLm93bmVyRG9jdW1lbnQKICAgICAgICAgICAgIHNlbGYuc2V0QXR0cmlidXRlTm9kZShhdHRyKQogICAgICAgICBlbGlmIHZhbHVlICE9IGF0dHIudmFsdWU6Ci0gICAgICAgICAgICBkID0gYXR0ci5fX2RpY3RfXwotICAgICAgICAgICAgZFsidmFsdWUiXSA9IGRbIm5vZGVWYWx1ZSJdID0gdmFsdWUKKyAgICAgICAgICAgIGF0dHIudmFsdWUgPSB2YWx1ZQogICAgICAgICAgICAgaWYgYXR0ci5pc0lkOgogICAgICAgICAgICAgICAgIF9jbGVhcl9pZF9jYWNoZShzZWxmKQogCkBAIC03MzMsMzMgKzc1MSwzMyBAQAogICAgICAgICBwcmVmaXgsIGxvY2FsbmFtZSA9IF9uc3NwbGl0KHF1YWxpZmllZE5hbWUpCiAgICAgICAgIGF0dHIgPSBzZWxmLmdldEF0dHJpYnV0ZU5vZGVOUyhuYW1lc3BhY2VVUkksIGxvY2FsbmFtZSkKICAgICAgICAgaWYgYXR0ciBpcyBOb25lOgotICAgICAgICAgICAgIyBmb3IgcGVyZm9ybWFuY2UKICAgICAgICAgICAgIGF0dHIgPSBBdHRyKHF1YWxpZmllZE5hbWUsIG5hbWVzcGFjZVVSSSwgbG9jYWxuYW1lLCBwcmVmaXgpCi0gICAgICAgICAgICBkID0gYXR0ci5fX2RpY3RfXwotICAgICAgICAgICAgZFsicHJlZml4Il0gPSBwcmVmaXgKLSAgICAgICAgICAgIGRbIm5vZGVOYW1lIl0gPSBxdWFsaWZpZWROYW1lCi0gICAgICAgICAgICBkWyJ2YWx1ZSJdID0gZFsibm9kZVZhbHVlIl0gPSB2YWx1ZQotICAgICAgICAgICAgZFsib3duZXJEb2N1bWVudCJdID0gc2VsZi5vd25lckRvY3VtZW50CisgICAgICAgICAgICBhdHRyLnZhbHVlID0gdmFsdWUKKyAgICAgICAgICAgIGF0dHIub3duZXJEb2N1bWVudCA9IHNlbGYub3duZXJEb2N1bWVudAogICAgICAgICAgICAgc2VsZi5zZXRBdHRyaWJ1dGVOb2RlKGF0dHIpCiAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBkID0gYXR0ci5fX2RpY3RfXwogICAgICAgICAgICAgaWYgdmFsdWUgIT0gYXR0ci52YWx1ZToKLSAgICAgICAgICAgICAgICBkWyJ2YWx1ZSJdID0gZFsibm9kZVZhbHVlIl0gPSB2YWx1ZQorICAgICAgICAgICAgICAgIGF0dHIudmFsdWUgPSB2YWx1ZQogICAgICAgICAgICAgICAgIGlmIGF0dHIuaXNJZDoKICAgICAgICAgICAgICAgICAgICAgX2NsZWFyX2lkX2NhY2hlKHNlbGYpCiAgICAgICAgICAgICBpZiBhdHRyLnByZWZpeCAhPSBwcmVmaXg6Ci0gICAgICAgICAgICAgICAgZFsicHJlZml4Il0gPSBwcmVmaXgKLSAgICAgICAgICAgICAgICBkWyJub2RlTmFtZSJdID0gcXVhbGlmaWVkTmFtZQorICAgICAgICAgICAgICAgIGF0dHIucHJlZml4ID0gcHJlZml4CisgICAgICAgICAgICAgICAgYXR0ci5ub2RlTmFtZSA9IHF1YWxpZmllZE5hbWUKIAogICAgIGRlZiBnZXRBdHRyaWJ1dGVOb2RlKHNlbGYsIGF0dHJuYW1lKToKKyAgICAgICAgaWYgc2VsZi5fYXR0cnMgaXMgTm9uZToKKyAgICAgICAgICAgIHJldHVybiBOb25lCiAgICAgICAgIHJldHVybiBzZWxmLl9hdHRycy5nZXQoYXR0cm5hbWUpCiAKICAgICBkZWYgZ2V0QXR0cmlidXRlTm9kZU5TKHNlbGYsIG5hbWVzcGFjZVVSSSwgbG9jYWxOYW1lKToKKyAgICAgICAgaWYgc2VsZi5fYXR0cnNOUyBpcyBOb25lOgorICAgICAgICAgICAgcmV0dXJuIE5vbmUKICAgICAgICAgcmV0dXJuIHNlbGYuX2F0dHJzTlMuZ2V0KChuYW1lc3BhY2VVUkksIGxvY2FsTmFtZSkpCiAKICAgICBkZWYgc2V0QXR0cmlidXRlTm9kZShzZWxmLCBhdHRyKToKICAgICAgICAgaWYgYXR0ci5vd25lckVsZW1lbnQgbm90IGluIChOb25lLCBzZWxmKToKICAgICAgICAgICAgIHJhaXNlIHhtbC5kb20uSW51c2VBdHRyaWJ1dGVFcnIoImF0dHJpYnV0ZSBub2RlIGFscmVhZHkgb3duZWQiKQorICAgICAgICBzZWxmLl9lbnN1cmVfYXR0cmlidXRlcygpCiAgICAgICAgIG9sZDEgPSBzZWxmLl9hdHRycy5nZXQoYXR0ci5uYW1lLCBOb25lKQogICAgICAgICBpZiBvbGQxIGlzIG5vdCBOb25lOgogICAgICAgICAgICAgc2VsZi5yZW1vdmVBdHRyaWJ1dGVOb2RlKG9sZDEpCkBAIC03NzgsNiArNzk2LDggQEAKICAgICBzZXRBdHRyaWJ1dGVOb2RlTlMgPSBzZXRBdHRyaWJ1dGVOb2RlCiAKICAgICBkZWYgcmVtb3ZlQXR0cmlidXRlKHNlbGYsIG5hbWUpOgorICAgICAgICBpZiBzZWxmLl9hdHRyc05TIGlzIE5vbmU6CisgICAgICAgICAgICByYWlzZSB4bWwuZG9tLk5vdEZvdW5kRXJyKCkKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgYXR0ciA9IHNlbGYuX2F0dHJzW25hbWVdCiAgICAgICAgIGV4Y2VwdCBLZXlFcnJvcjoKQEAgLTc4NSw2ICs4MDUsOCBAQAogICAgICAgICBzZWxmLnJlbW92ZUF0dHJpYnV0ZU5vZGUoYXR0cikKIAogICAgIGRlZiByZW1vdmVBdHRyaWJ1dGVOUyhzZWxmLCBuYW1lc3BhY2VVUkksIGxvY2FsTmFtZSk6CisgICAgICAgIGlmIHNlbGYuX2F0dHJzTlMgaXMgTm9uZToKKyAgICAgICAgICAgIHJhaXNlIHhtbC5kb20uTm90Rm91bmRFcnIoKQogICAgICAgICB0cnk6CiAgICAgICAgICAgICBhdHRyID0gc2VsZi5fYXR0cnNOU1sobmFtZXNwYWNlVVJJLCBsb2NhbE5hbWUpXQogICAgICAgICBleGNlcHQgS2V5RXJyb3I6CkBAIC04MDcsOSArODI5LDEzIEBACiAgICAgcmVtb3ZlQXR0cmlidXRlTm9kZU5TID0gcmVtb3ZlQXR0cmlidXRlTm9kZQogCiAgICAgZGVmIGhhc0F0dHJpYnV0ZShzZWxmLCBuYW1lKToKKyAgICAgICAgaWYgc2VsZi5fYXR0cnMgaXMgTm9uZToKKyAgICAgICAgICAgIHJldHVybiBGYWxzZQogICAgICAgICByZXR1cm4gbmFtZSBpbiBzZWxmLl9hdHRycwogCiAgICAgZGVmIGhhc0F0dHJpYnV0ZU5TKHNlbGYsIG5hbWVzcGFjZVVSSSwgbG9jYWxOYW1lKToKKyAgICAgICAgaWYgc2VsZi5fYXR0cnNOUyBpcyBOb25lOgorICAgICAgICAgICAgcmV0dXJuIEZhbHNlCiAgICAgICAgIHJldHVybiAobmFtZXNwYWNlVVJJLCBsb2NhbE5hbWUpIGluIHNlbGYuX2F0dHJzTlMKIAogICAgIGRlZiBnZXRFbGVtZW50c0J5VGFnTmFtZShzZWxmLCBuYW1lKToKQEAgLTg1MCw2ICs4NzYsNyBAQAogICAgICAgICAgICAgd3JpdGVyLndyaXRlKCIvPiVzIiUobmV3bCkpCiAKICAgICBkZWYgX2dldF9hdHRyaWJ1dGVzKHNlbGYpOgorICAgICAgICBzZWxmLl9lbnN1cmVfYXR0cmlidXRlcygpCiAgICAgICAgIHJldHVybiBOYW1lZE5vZGVNYXAoc2VsZi5fYXR0cnMsIHNlbGYuX2F0dHJzTlMsIHNlbGYpCiAKICAgICBkZWYgaGFzQXR0cmlidXRlcyhzZWxmKToKQEAgLTg3NCw3ICs5MDEsNyBAQAogICAgICAgICBpZiBfZ2V0X2NvbnRhaW5pbmdfZW50cmVmKHNlbGYpIGlzIG5vdCBOb25lOgogICAgICAgICAgICAgcmFpc2UgeG1sLmRvbS5Ob01vZGlmaWNhdGlvbkFsbG93ZWRFcnIoKQogICAgICAgICBpZiBub3QgaWRBdHRyLl9pc19pZDoKLSAgICAgICAgICAgIGlkQXR0ci5fX2RpY3RfX1snX2lzX2lkJ10gPSBUcnVlCisgICAgICAgICAgICBpZEF0dHIuX2lzX2lkID0gVHJ1ZQogICAgICAgICAgICAgc2VsZi5fbWFnaWNfaWRfbm9kZXMgKz0gMQogICAgICAgICAgICAgc2VsZi5vd25lckRvY3VtZW50Ll9tYWdpY19pZF9jb3VudCArPSAxCiAgICAgICAgICAgICBfY2xlYXJfaWRfY2FjaGUoc2VsZikKQEAgLTg4NywxOSArOTE0LDIwIEBACiAKIGRlZiBfc2V0X2F0dHJpYnV0ZV9ub2RlKGVsZW1lbnQsIGF0dHIpOgogICAgIF9jbGVhcl9pZF9jYWNoZShlbGVtZW50KQorICAgIGVsZW1lbnQuX2Vuc3VyZV9hdHRyaWJ1dGVzKCkKICAgICBlbGVtZW50Ll9hdHRyc1thdHRyLm5hbWVdID0gYXR0cgogICAgIGVsZW1lbnQuX2F0dHJzTlNbKGF0dHIubmFtZXNwYWNlVVJJLCBhdHRyLmxvY2FsTmFtZSldID0gYXR0cgogCiAgICAgIyBUaGlzIGNyZWF0ZXMgYSBjaXJjdWxhciByZWZlcmVuY2UsIGJ1dCBFbGVtZW50LnVubGluaygpCiAgICAgIyBicmVha3MgdGhlIGN5Y2xlIHNpbmNlIHRoZSByZWZlcmVuY2VzIHRvIHRoZSBhdHRyaWJ1dGUKICAgICAjIGRpY3Rpb25hcmllcyBhcmUgdG9zc2VkLgotICAgIGF0dHIuX19kaWN0X19bJ293bmVyRWxlbWVudCddID0gZWxlbWVudAotCisgICAgYXR0ci5vd25lckVsZW1lbnQgPSBlbGVtZW50CiAKIGNsYXNzIENoaWxkbGVzczoKICAgICAiIiJNaXhpbiB0aGF0IG1ha2VzIGNoaWxkbGVzcy1uZXNzIGVhc3kgdG8gaW1wbGVtZW50IGFuZCBhdm9pZHMKICAgICB0aGUgY29tcGxleGl0eSBvZiB0aGUgTm9kZSBtZXRob2RzIHRoYXQgZGVhbCB3aXRoIGNoaWxkcmVuLgogICAgICIiIgorICAgIF9fc2xvdHNfXyA9ICgpCiAKICAgICBhdHRyaWJ1dGVzID0gTm9uZQogICAgIGNoaWxkTm9kZXMgPSBFbXB0eU5vZGVMaXN0KCkKQEAgLTkzOCw1NCArOTY2LDQ5IEBACiAKIGNsYXNzIFByb2Nlc3NpbmdJbnN0cnVjdGlvbihDaGlsZGxlc3MsIE5vZGUpOgogICAgIG5vZGVUeXBlID0gTm9kZS5QUk9DRVNTSU5HX0lOU1RSVUNUSU9OX05PREUKKyAgICBfX3Nsb3RzX18gPSAoJ3RhcmdldCcsICdkYXRhJykKIAogICAgIGRlZiBfX2luaXRfXyhzZWxmLCB0YXJnZXQsIGRhdGEpOgotICAgICAgICBzZWxmLnRhcmdldCA9IHNlbGYubm9kZU5hbWUgPSB0YXJnZXQKLSAgICAgICAgc2VsZi5kYXRhID0gc2VsZi5ub2RlVmFsdWUgPSBkYXRhCisgICAgICAgIHNlbGYudGFyZ2V0ID0gdGFyZ2V0CisgICAgICAgIHNlbGYuZGF0YSA9IGRhdGEKIAotICAgIGRlZiBfZ2V0X2RhdGEoc2VsZik6CisgICAgIyBub2RlVmFsdWUgaXMgYW4gYWxpYXMgZm9yIGRhdGEKKyAgICBkZWYgX2dldF9ub2RlVmFsdWUoc2VsZik6CiAgICAgICAgIHJldHVybiBzZWxmLmRhdGEKLSAgICBkZWYgX3NldF9kYXRhKHNlbGYsIHZhbHVlKToKLSAgICAgICAgZCA9IHNlbGYuX19kaWN0X18KLSAgICAgICAgZFsnZGF0YSddID0gZFsnbm9kZVZhbHVlJ10gPSB2YWx1ZQorICAgIGRlZiBfc2V0X25vZGVWYWx1ZShzZWxmLCB2YWx1ZSk6CisgICAgICAgIHNlbGYuZGF0YSA9IGRhdGEKKyAgICBub2RlVmFsdWUgPSBwcm9wZXJ0eShfZ2V0X25vZGVWYWx1ZSwgX3NldF9ub2RlVmFsdWUpCiAKLSAgICBkZWYgX2dldF90YXJnZXQoc2VsZik6CisgICAgIyBub2RlTmFtZSBpcyBhbiBhbGlhcyBmb3IgdGFyZ2V0CisgICAgZGVmIF9nZXRfbm9kZU5hbWUoc2VsZik6CiAgICAgICAgIHJldHVybiBzZWxmLnRhcmdldAotICAgIGRlZiBfc2V0X3RhcmdldChzZWxmLCB2YWx1ZSk6Ci0gICAgICAgIGQgPSBzZWxmLl9fZGljdF9fCi0gICAgICAgIGRbJ3RhcmdldCddID0gZFsnbm9kZU5hbWUnXSA9IHZhbHVlCi0KLSAgICBkZWYgX19zZXRhdHRyX18oc2VsZiwgbmFtZSwgdmFsdWUpOgotICAgICAgICBpZiBuYW1lID09ICJkYXRhIiBvciBuYW1lID09ICJub2RlVmFsdWUiOgotICAgICAgICAgICAgc2VsZi5fX2RpY3RfX1snZGF0YSddID0gc2VsZi5fX2RpY3RfX1snbm9kZVZhbHVlJ10gPSB2YWx1ZQotICAgICAgICBlbGlmIG5hbWUgPT0gInRhcmdldCIgb3IgbmFtZSA9PSAibm9kZU5hbWUiOgotICAgICAgICAgICAgc2VsZi5fX2RpY3RfX1sndGFyZ2V0J10gPSBzZWxmLl9fZGljdF9fWydub2RlTmFtZSddID0gdmFsdWUKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHNlbGYuX19kaWN0X19bbmFtZV0gPSB2YWx1ZQorICAgIGRlZiBfc2V0X25vZGVOYW1lKHNlbGYsIHZhbHVlKToKKyAgICAgICAgc2VsZi50YXJnZXQgPSB2YWx1ZQorICAgIG5vZGVOYW1lID0gcHJvcGVydHkoX2dldF9ub2RlTmFtZSwgX3NldF9ub2RlTmFtZSkKIAogICAgIGRlZiB3cml0ZXhtbChzZWxmLCB3cml0ZXIsIGluZGVudD0iIiwgYWRkaW5kZW50PSIiLCBuZXdsPSIiKToKICAgICAgICAgd3JpdGVyLndyaXRlKCIlczw/JXMgJXM/PiVzIiAlIChpbmRlbnQsc2VsZi50YXJnZXQsIHNlbGYuZGF0YSwgbmV3bCkpCiAKIAogY2xhc3MgQ2hhcmFjdGVyRGF0YShDaGlsZGxlc3MsIE5vZGUpOgorICAgIF9fc2xvdHNfXz0oJ19kYXRhJywgJ293bmVyRG9jdW1lbnQnLCdwYXJlbnROb2RlJywgJ3ByZXZpb3VzU2libGluZycsICduZXh0U2libGluZycpCisKKyAgICBkZWYgX19pbml0X18oc2VsZik6CisgICAgICAgIHNlbGYub3duZXJEb2N1bWVudCA9IHNlbGYucGFyZW50Tm9kZSA9IE5vbmUKKyAgICAgICAgc2VsZi5wcmV2aW91c1NpYmxpbmcgPSBzZWxmLm5leHRTaWJsaW5nID0gTm9uZQorICAgICAgICBzZWxmLl9kYXRhID0gJycKKyAgICAgICAgTm9kZS5fX2luaXRfXyhzZWxmKQorCiAgICAgZGVmIF9nZXRfbGVuZ3RoKHNlbGYpOgogICAgICAgICByZXR1cm4gbGVuKHNlbGYuZGF0YSkKICAgICBfX2xlbl9fID0gX2dldF9sZW5ndGgKIAogICAgIGRlZiBfZ2V0X2RhdGEoc2VsZik6Ci0gICAgICAgIHJldHVybiBzZWxmLl9fZGljdF9fWydkYXRhJ10KKyAgICAgICAgcmV0dXJuIHNlbGYuX2RhdGEKICAgICBkZWYgX3NldF9kYXRhKHNlbGYsIGRhdGEpOgotICAgICAgICBkID0gc2VsZi5fX2RpY3RfXwotICAgICAgICBkWydkYXRhJ10gPSBkWydub2RlVmFsdWUnXSA9IGRhdGEKKyAgICAgICAgc2VsZi5fZGF0YSA9IGRhdGEKIAotICAgIF9nZXRfbm9kZVZhbHVlID0gX2dldF9kYXRhCi0gICAgX3NldF9ub2RlVmFsdWUgPSBfc2V0X2RhdGEKLQotICAgIGRlZiBfX3NldGF0dHJfXyhzZWxmLCBuYW1lLCB2YWx1ZSk6Ci0gICAgICAgIGlmIG5hbWUgPT0gImRhdGEiIG9yIG5hbWUgPT0gIm5vZGVWYWx1ZSI6Ci0gICAgICAgICAgICBzZWxmLl9fZGljdF9fWydkYXRhJ10gPSBzZWxmLl9fZGljdF9fWydub2RlVmFsdWUnXSA9IHZhbHVlCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBzZWxmLl9fZGljdF9fW25hbWVdID0gdmFsdWUKKyAgICBkYXRhID0gbm9kZVZhbHVlID0gcHJvcGVydHkoX2dldF9kYXRhLCBfc2V0X2RhdGEpCiAKICAgICBkZWYgX19yZXByX18oc2VsZik6CiAgICAgICAgIGRhdGEgPSBzZWxmLmRhdGEKQEAgLTEwNDIsMTAgKzEwNjUsNyBAQAogCiAKIGNsYXNzIFRleHQoQ2hhcmFjdGVyRGF0YSk6Ci0gICAgIyBNYWtlIHN1cmUgd2UgZG9uJ3QgYWRkIGFuIGluc3RhbmNlIF9fZGljdF9fIGlmIHdlIGRvbid0IGFscmVhZHkKLSAgICAjIGhhdmUgb25lLCBhdCBsZWFzdCB3aGVuIHRoYXQncyBwb3NzaWJsZToKLSAgICAjIFhYWCB0aGlzIGRvZXMgbm90IHdvcmssIENoYXJhY3RlckRhdGEgaXMgYW4gb2xkLXN0eWxlIGNsYXNzCi0gICAgIyBfX3Nsb3RzX18gPSAoKQorICAgIF9fc2xvdHNfXyA9ICgpCiAKICAgICBub2RlVHlwZSA9IE5vZGUuVEVYVF9OT0RFCiAgICAgbm9kZU5hbWUgPSAiI3RleHQiCkBAIC0xMTEyLDkgKzExMzIsNyBAQAogICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICBicmVhawogICAgICAgICBpZiBjb250ZW50OgotICAgICAgICAgICAgZCA9IHNlbGYuX19kaWN0X18KLSAgICAgICAgICAgIGRbJ2RhdGEnXSA9IGNvbnRlbnQKLSAgICAgICAgICAgIGRbJ25vZGVWYWx1ZSddID0gY29udGVudAorICAgICAgICAgICAgc2VsZi5kYXRhID0gY29udGVudAogICAgICAgICAgICAgcmV0dXJuIHNlbGYKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHJldHVybiBOb25lCkBAIC0xMTYwLDcgKzExNzgsOCBAQAogICAgIG5vZGVOYW1lID0gIiNjb21tZW50IgogCiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIGRhdGEpOgotICAgICAgICBzZWxmLmRhdGEgPSBzZWxmLm5vZGVWYWx1ZSA9IGRhdGEKKyAgICAgICAgQ2hhcmFjdGVyRGF0YS5fX2luaXRfXyhzZWxmKQorICAgICAgICBzZWxmLl9kYXRhID0gZGF0YQogCiAgICAgZGVmIHdyaXRleG1sKHNlbGYsIHdyaXRlciwgaW5kZW50PSIiLCBhZGRpbmRlbnQ9IiIsIG5ld2w9IiIpOgogICAgICAgICBpZiAiLS0iIGluIHNlbGYuZGF0YToKQEAgLTExNjksMTAgKzExODgsNyBAQAogCiAKIGNsYXNzIENEQVRBU2VjdGlvbihUZXh0KToKLSAgICAjIE1ha2Ugc3VyZSB3ZSBkb24ndCBhZGQgYW4gaW5zdGFuY2UgX19kaWN0X18gaWYgd2UgZG9uJ3QgYWxyZWFkeQotICAgICMgaGF2ZSBvbmUsIGF0IGxlYXN0IHdoZW4gdGhhdCdzIHBvc3NpYmxlOgotICAgICMgWFhYIHRoaXMgZG9lcyBub3Qgd29yaywgVGV4dCBpcyBhbiBvbGQtc3R5bGUgY2xhc3MKLSAgICAjIF9fc2xvdHNfXyA9ICgpCisgICAgX19zbG90c19fID0gKCkKIAogICAgIG5vZGVUeXBlID0gTm9kZS5DREFUQV9TRUNUSU9OX05PREUKICAgICBub2RlTmFtZSA9ICIjY2RhdGEtc2VjdGlvbiIKQEAgLTEyNTIsOCArMTI2OCw3IEBACiBjbGFzcyBJZGVudGlmaWVkOgogICAgICIiIk1peC1pbiBjbGFzcyB0aGF0IHN1cHBvcnRzIHRoZSBwdWJsaWNJZCBhbmQgc3lzdGVtSWQgYXR0cmlidXRlcy4iIiIKIAotICAgICMgWFhYIHRoaXMgZG9lcyBub3Qgd29yaywgdGhpcyBpcyBhbiBvbGQtc3R5bGUgY2xhc3MKLSAgICAjIF9fc2xvdHNfXyA9ICdwdWJsaWNJZCcsICdzeXN0ZW1JZCcKKyAgICBfX3Nsb3RzX18gPSAncHVibGljSWQnLCAnc3lzdGVtSWQnCiAKICAgICBkZWYgX2lkZW50aWZpZWRfbWl4aW5faW5pdChzZWxmLCBwdWJsaWNJZCwgc3lzdGVtSWQpOgogICAgICAgICBzZWxmLnB1YmxpY0lkID0gcHVibGljSWQKQEAgLTE1MDQsMTggKzE1MTksMTkgQEAKICAgICAgICAgbm9kZS5vd25lckRvY3VtZW50Ll9pZF9zZWFyY2hfc3RhY2s9IE5vbmUKIAogY2xhc3MgRG9jdW1lbnQoTm9kZSwgRG9jdW1lbnRMUyk6CisgICAgX19zbG90c19fID0gKCdfZWxlbV9pbmZvJywgJ2RvY3R5cGUnLAorICAgICAgICAgICAgICAgICAnX2lkX3NlYXJjaF9zdGFjaycsICdjaGlsZE5vZGVzJywgJ19pZF9jYWNoZScpCiAgICAgX2NoaWxkX25vZGVfdHlwZXMgPSAoTm9kZS5FTEVNRU5UX05PREUsIE5vZGUuUFJPQ0VTU0lOR19JTlNUUlVDVElPTl9OT0RFLAogICAgICAgICAgICAgICAgICAgICAgICAgIE5vZGUuQ09NTUVOVF9OT0RFLCBOb2RlLkRPQ1VNRU5UX1RZUEVfTk9ERSkKIAorICAgIGltcGxlbWVudGF0aW9uID0gRE9NSW1wbGVtZW50YXRpb24oKQogICAgIG5vZGVUeXBlID0gTm9kZS5ET0NVTUVOVF9OT0RFCiAgICAgbm9kZU5hbWUgPSAiI2RvY3VtZW50IgogICAgIG5vZGVWYWx1ZSA9IE5vbmUKICAgICBhdHRyaWJ1dGVzID0gTm9uZQotICAgIGRvY3R5cGUgPSBOb25lCiAgICAgcGFyZW50Tm9kZSA9IE5vbmUKICAgICBwcmV2aW91c1NpYmxpbmcgPSBuZXh0U2libGluZyA9IE5vbmUKIAotICAgIGltcGxlbWVudGF0aW9uID0gRE9NSW1wbGVtZW50YXRpb24oKQogCiAgICAgIyBEb2N1bWVudCBhdHRyaWJ1dGVzIGZyb20gTGV2ZWwgMyAoV0QgOSBBcHJpbCAyMDAyKQogCkBAIC0xNTMwLDYgKzE1NDYsNyBAQAogICAgIF9tYWdpY19pZF9jb3VudCA9IDAKIAogICAgIGRlZiBfX2luaXRfXyhzZWxmKToKKyAgICAgICAgc2VsZi5kb2N0eXBlID0gTm9uZQogICAgICAgICBzZWxmLmNoaWxkTm9kZXMgPSBOb2RlTGlzdCgpCiAgICAgICAgICMgbWFwcGluZyBvZiAobmFtZXNwYWNlVVJJLCBsb2NhbE5hbWUpIC0+IEVsZW1lbnRJbmZvCiAgICAgICAgICMgICAgICAgIGFuZCB0YWdOYW1lIC0+IEVsZW1lbnRJbmZvCkBAIC0xODE1LDE3ICsxODMyLDE1IEBACiAgICAgICAgICAgICAgICAgZWxlbWVudC5yZW1vdmVBdHRyaWJ1dGVOb2RlKG4pCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBlbGVtZW50ID0gTm9uZQotICAgICAgICAjIGF2b2lkIF9fc2V0YXR0cl9fCi0gICAgICAgIGQgPSBuLl9fZGljdF9fCi0gICAgICAgIGRbJ3ByZWZpeCddID0gcHJlZml4Ci0gICAgICAgIGRbJ2xvY2FsTmFtZSddID0gbG9jYWxOYW1lCi0gICAgICAgIGRbJ25hbWVzcGFjZVVSSSddID0gbmFtZXNwYWNlVVJJCi0gICAgICAgIGRbJ25vZGVOYW1lJ10gPSBuYW1lCisgICAgICAgIG4ucHJlZml4ID0gcHJlZml4CisgICAgICAgIG4uX2xvY2FsTmFtZSA9IGxvY2FsTmFtZQorICAgICAgICBuLm5hbWVzcGFjZVVSSSA9IG5hbWVzcGFjZVVSSQorICAgICAgICBuLm5vZGVOYW1lID0gbmFtZQogICAgICAgICBpZiBuLm5vZGVUeXBlID09IE5vZGUuRUxFTUVOVF9OT0RFOgotICAgICAgICAgICAgZFsndGFnTmFtZSddID0gbmFtZQorICAgICAgICAgICAgbi50YWdOYW1lID0gbmFtZQogICAgICAgICBlbHNlOgogICAgICAgICAgICAgIyBhdHRyaWJ1dGUgbm9kZQotICAgICAgICAgICAgZFsnbmFtZSddID0gbmFtZQorICAgICAgICAgICAgbi5uYW1lID0gbmFtZQogICAgICAgICAgICAgaWYgZWxlbWVudCBpcyBub3QgTm9uZToKICAgICAgICAgICAgICAgICBlbGVtZW50LnNldEF0dHJpYnV0ZU5vZGUobikKICAgICAgICAgICAgICAgICBpZiBpc19pZDoKZGlmZiAtLWdpdCBhL0xpYi94bWwvZG9tL3B1bGxkb20ucHkgYi9MaWIveG1sL2RvbS9wdWxsZG9tLnB5CmluZGV4IGQ1YWM4YjIuLjQzNTA0ZjcgMTAwNjQ0Ci0tLSBhL0xpYi94bWwvZG9tL3B1bGxkb20ucHkKKysrIGIvTGliL3htbC9kb20vcHVsbGRvbS5weQpAQCAtMSw2ICsxLDUgQEAKIGltcG9ydCB4bWwuc2F4CiBpbXBvcnQgeG1sLnNheC5oYW5kbGVyCi1pbXBvcnQgdHlwZXMKIAogU1RBUlRfRUxFTUVOVCA9ICJTVEFSVF9FTEVNRU5UIgogRU5EX0VMRU1FTlQgPSAiRU5EX0VMRU1FTlQiCkBAIC0zMzQsMTAgKzMzMyw3IEBACiAgICAgcmV0dXJuIERPTUV2ZW50U3RyZWFtKHN0cmVhbSwgcGFyc2VyLCBidWZzaXplKQogCiBkZWYgcGFyc2VTdHJpbmcoc3RyaW5nLCBwYXJzZXI9Tm9uZSk6Ci0gICAgdHJ5OgotICAgICAgICBmcm9tIGlvIGltcG9ydCBTdHJpbmdJTwotICAgIGV4Y2VwdCBJbXBvcnRFcnJvcjoKLSAgICAgICAgZnJvbSBpbyBpbXBvcnQgU3RyaW5nSU8KKyAgICBmcm9tIGlvIGltcG9ydCBTdHJpbmdJTwogCiAgICAgYnVmc2l6ZSA9IGxlbihzdHJpbmcpCiAgICAgYnVmID0gU3RyaW5nSU8oc3RyaW5nKQpkaWZmIC0tZ2l0IGEvTGliL3htbC9ldHJlZS9FbGVtZW50VHJlZS5weSBiL0xpYi94bWwvZXRyZWUvRWxlbWVudFRyZWUucHkKaW5kZXggZjk0YzQ4Yy4uMTBlZTg5NiAxMDA2NDQKLS0tIGEvTGliL3htbC9ldHJlZS9FbGVtZW50VHJlZS5weQorKysgYi9MaWIveG1sL2V0cmVlL0VsZW1lbnRUcmVlLnB5CkBAIC02OCw4ICs2OCw5IEBACiAgICAgInRvc3RyaW5nIiwgInRvc3RyaW5nbGlzdCIsCiAgICAgIlRyZWVCdWlsZGVyIiwKICAgICAiVkVSU0lPTiIsCi0gICAgIlhNTCIsCisgICAgIlhNTCIsICJYTUxJRCIsCiAgICAgIlhNTFBhcnNlciIsICJYTUxUcmVlQnVpbGRlciIsCisgICAgInJlZ2lzdGVyX25hbWVzcGFjZSIsCiAgICAgXQogCiBWRVJTSU9OID0gIjEuMy4wIgpAQCAtMTAwLDcgKzEwMSw2IEBACiBpbXBvcnQgcmUKIGltcG9ydCB3YXJuaW5ncwogCi0KIGNsYXNzIF9TaW1wbGVFbGVtZW50UGF0aDoKICAgICAjIGVtdWxhdGUgcHJlLTEuMiBmaW5kL2ZpbmR0ZXh0L2ZpbmRhbGwgYmVoYXZpb3VyCiAgICAgZGVmIGZpbmQoc2VsZiwgZWxlbWVudCwgdGFnLCBuYW1lc3BhY2VzPU5vbmUpOgpAQCAtMTQ4LDkgKzE0OCw5IEBACiAjIEBkZWZyZXR1cm4gZmxhZwogCiBkZWYgaXNlbGVtZW50KGVsZW1lbnQpOgotICAgICMgRklYTUU6IG5vdCBzdXJlIGFib3V0IHRoaXM7IG1pZ2h0IGJlIGEgYmV0dGVyIGlkZWEgdG8gbG9vawotICAgICMgZm9yIHRhZy9hdHRyaWIvdGV4dCBhdHRyaWJ1dGVzCi0gICAgcmV0dXJuIGlzaW5zdGFuY2UoZWxlbWVudCwgRWxlbWVudCkgb3IgaGFzYXR0cihlbGVtZW50LCAidGFnIikKKyAgICAjIEZJWE1FOiBub3Qgc3VyZSBhYm91dCB0aGlzOworICAgICMgaXNpbnN0YW5jZShlbGVtZW50LCBFbGVtZW50KSBvciBsb29rIGZvciB0YWcvYXR0cmliL3RleHQgYXR0cmlidXRlcworICAgIHJldHVybiBoYXNhdHRyKGVsZW1lbnQsICd0YWcnKQogCiAjIwogIyBFbGVtZW50IGNsYXNzLiAgVGhpcyBjbGFzcyBkZWZpbmVzIHRoZSBFbGVtZW50IGludGVyZmFjZSwgYW5kCkBAIC0xMDg1LDYgKzEwODUsOCBAQAogICAgICMgZHVibGluIGNvcmUKICAgICAiaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iOiAiZGMiLAogfQorIyBGb3IgdGVzdHMgYW5kIHRyb3VibGVzaG9vdGluZworcmVnaXN0ZXJfbmFtZXNwYWNlLl9uYW1lc3BhY2VfbWFwID0gX25hbWVzcGFjZV9tYXAKIAogZGVmIF9yYWlzZV9zZXJpYWxpemF0aW9uX2Vycm9yKHRleHQpOgogICAgIHJhaXNlIFR5cGVFcnJvcigKQEAgLTE1MDksMjQgKzE1MTEsMzAgQEAKICAgICAgICAgc2VsZi50YXJnZXQgPSBzZWxmLl90YXJnZXQgPSB0YXJnZXQKICAgICAgICAgc2VsZi5fZXJyb3IgPSBleHBhdC5lcnJvcgogICAgICAgICBzZWxmLl9uYW1lcyA9IHt9ICMgbmFtZSBtZW1vIGNhY2hlCi0gICAgICAgICMgY2FsbGJhY2tzCisgICAgICAgICMgbWFpbiBjYWxsYmFja3MKICAgICAgICAgcGFyc2VyLkRlZmF1bHRIYW5kbGVyRXhwYW5kID0gc2VsZi5fZGVmYXVsdAotICAgICAgICBwYXJzZXIuU3RhcnRFbGVtZW50SGFuZGxlciA9IHNlbGYuX3N0YXJ0Ci0gICAgICAgIHBhcnNlci5FbmRFbGVtZW50SGFuZGxlciA9IHNlbGYuX2VuZAotICAgICAgICBwYXJzZXIuQ2hhcmFjdGVyRGF0YUhhbmRsZXIgPSBzZWxmLl9kYXRhCi0gICAgICAgICMgb3B0aW9uYWwgY2FsbGJhY2tzCi0gICAgICAgIHBhcnNlci5Db21tZW50SGFuZGxlciA9IHNlbGYuX2NvbW1lbnQKLSAgICAgICAgcGFyc2VyLlByb2Nlc3NpbmdJbnN0cnVjdGlvbkhhbmRsZXIgPSBzZWxmLl9waQorICAgICAgICBpZiBoYXNhdHRyKHRhcmdldCwgJ3N0YXJ0Jyk6CisgICAgICAgICAgICBwYXJzZXIuU3RhcnRFbGVtZW50SGFuZGxlciA9IHNlbGYuX3N0YXJ0CisgICAgICAgIGlmIGhhc2F0dHIodGFyZ2V0LCAnZW5kJyk6CisgICAgICAgICAgICBwYXJzZXIuRW5kRWxlbWVudEhhbmRsZXIgPSBzZWxmLl9lbmQKKyAgICAgICAgaWYgaGFzYXR0cih0YXJnZXQsICdkYXRhJyk6CisgICAgICAgICAgICBwYXJzZXIuQ2hhcmFjdGVyRGF0YUhhbmRsZXIgPSB0YXJnZXQuZGF0YQorICAgICAgICAjIG1pc2NlbGxhbmVvdXMgY2FsbGJhY2tzCisgICAgICAgIGlmIGhhc2F0dHIodGFyZ2V0LCAnY29tbWVudCcpOgorICAgICAgICAgICAgcGFyc2VyLkNvbW1lbnRIYW5kbGVyID0gdGFyZ2V0LmNvbW1lbnQKKyAgICAgICAgaWYgaGFzYXR0cih0YXJnZXQsICdwaScpOgorICAgICAgICAgICAgcGFyc2VyLlByb2Nlc3NpbmdJbnN0cnVjdGlvbkhhbmRsZXIgPSB0YXJnZXQucGkKICAgICAgICAgIyBsZXQgZXhwYXQgZG8gdGhlIGJ1ZmZlcmluZywgaWYgc3VwcG9ydGVkCiAgICAgICAgIHRyeToKLSAgICAgICAgICAgIHNlbGYuX3BhcnNlci5idWZmZXJfdGV4dCA9IDEKKyAgICAgICAgICAgIHBhcnNlci5idWZmZXJfdGV4dCA9IDEKICAgICAgICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yOgogICAgICAgICAgICAgcGFzcwogICAgICAgICAjIHVzZSBuZXctc3R5bGUgYXR0cmlidXRlIGhhbmRsaW5nLCBpZiBzdXBwb3J0ZWQKICAgICAgICAgdHJ5OgotICAgICAgICAgICAgc2VsZi5fcGFyc2VyLm9yZGVyZWRfYXR0cmlidXRlcyA9IDEKLSAgICAgICAgICAgIHNlbGYuX3BhcnNlci5zcGVjaWZpZWRfYXR0cmlidXRlcyA9IDEKLSAgICAgICAgICAgIHBhcnNlci5TdGFydEVsZW1lbnRIYW5kbGVyID0gc2VsZi5fc3RhcnRfbGlzdAorICAgICAgICAgICAgcGFyc2VyLm9yZGVyZWRfYXR0cmlidXRlcyA9IDEKKyAgICAgICAgICAgIHBhcnNlci5zcGVjaWZpZWRfYXR0cmlidXRlcyA9IDEKKyAgICAgICAgICAgIGlmIGhhc2F0dHIodGFyZ2V0LCAnc3RhcnQnKToKKyAgICAgICAgICAgICAgICBwYXJzZXIuU3RhcnRFbGVtZW50SGFuZGxlciA9IHNlbGYuX3N0YXJ0X2xpc3QKICAgICAgICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yOgogICAgICAgICAgICAgcGFzcwogICAgICAgICBzZWxmLl9kb2N0eXBlID0gTm9uZQpAQCAtMTU3MCw0NCArMTU3OCwyOSBAQAogICAgICAgICAgICAgICAgIGF0dHJpYltmaXhuYW1lKGF0dHJpYl9pbltpXSldID0gYXR0cmliX2luW2krMV0KICAgICAgICAgcmV0dXJuIHNlbGYudGFyZ2V0LnN0YXJ0KHRhZywgYXR0cmliKQogCi0gICAgZGVmIF9kYXRhKHNlbGYsIHRleHQpOgotICAgICAgICByZXR1cm4gc2VsZi50YXJnZXQuZGF0YSh0ZXh0KQotCiAgICAgZGVmIF9lbmQoc2VsZiwgdGFnKToKICAgICAgICAgcmV0dXJuIHNlbGYudGFyZ2V0LmVuZChzZWxmLl9maXhuYW1lKHRhZykpCiAKLSAgICBkZWYgX2NvbW1lbnQoc2VsZiwgZGF0YSk6Ci0gICAgICAgIHRyeToKLSAgICAgICAgICAgIGNvbW1lbnQgPSBzZWxmLnRhcmdldC5jb21tZW50Ci0gICAgICAgIGV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKLSAgICAgICAgICAgIHBhc3MKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHJldHVybiBjb21tZW50KGRhdGEpCi0KLSAgICBkZWYgX3BpKHNlbGYsIHRhcmdldCwgZGF0YSk6Ci0gICAgICAgIHRyeToKLSAgICAgICAgICAgIHBpID0gc2VsZi50YXJnZXQucGkKLSAgICAgICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yOgotICAgICAgICAgICAgcGFzcwotICAgICAgICBlbHNlOgotICAgICAgICAgICAgcmV0dXJuIHBpKHRhcmdldCwgZGF0YSkKLQogICAgIGRlZiBfZGVmYXVsdChzZWxmLCB0ZXh0KToKICAgICAgICAgcHJlZml4ID0gdGV4dFs6MV0KICAgICAgICAgaWYgcHJlZml4ID09ICImIjoKICAgICAgICAgICAgICMgZGVhbCB3aXRoIHVuZGVmaW5lZCBlbnRpdGllcwogICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgIHNlbGYudGFyZ2V0LmRhdGEoc2VsZi5lbnRpdHlbdGV4dFsxOi0xXV0pCisgICAgICAgICAgICAgICAgZGF0YV9oYW5kbGVyID0gc2VsZi50YXJnZXQuZGF0YQorICAgICAgICAgICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yOgorICAgICAgICAgICAgICAgIHJldHVybgorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIGRhdGFfaGFuZGxlcihzZWxmLmVudGl0eVt0ZXh0WzE6LTFdXSkKICAgICAgICAgICAgIGV4Y2VwdCBLZXlFcnJvcjoKICAgICAgICAgICAgICAgICBmcm9tIHhtbC5wYXJzZXJzIGltcG9ydCBleHBhdAogICAgICAgICAgICAgICAgIGVyciA9IGV4cGF0LmVycm9yKAogICAgICAgICAgICAgICAgICAgICAidW5kZWZpbmVkIGVudGl0eSAlczogbGluZSAlZCwgY29sdW1uICVkIiAlCi0gICAgICAgICAgICAgICAgICAgICh0ZXh0LCBzZWxmLl9wYXJzZXIuRXJyb3JMaW5lTnVtYmVyLAotICAgICAgICAgICAgICAgICAgICBzZWxmLl9wYXJzZXIuRXJyb3JDb2x1bW5OdW1iZXIpCisgICAgICAgICAgICAgICAgICAgICh0ZXh0LCBzZWxmLnBhcnNlci5FcnJvckxpbmVOdW1iZXIsCisgICAgICAgICAgICAgICAgICAgIHNlbGYucGFyc2VyLkVycm9yQ29sdW1uTnVtYmVyKQogICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgZXJyLmNvZGUgPSAxMSAjIFhNTF9FUlJPUl9VTkRFRklORURfRU5USVRZCi0gICAgICAgICAgICAgICAgZXJyLmxpbmVubyA9IHNlbGYuX3BhcnNlci5FcnJvckxpbmVOdW1iZXIKLSAgICAgICAgICAgICAgICBlcnIub2Zmc2V0ID0gc2VsZi5fcGFyc2VyLkVycm9yQ29sdW1uTnVtYmVyCisgICAgICAgICAgICAgICAgZXJyLmxpbmVubyA9IHNlbGYucGFyc2VyLkVycm9yTGluZU51bWJlcgorICAgICAgICAgICAgICAgIGVyci5vZmZzZXQgPSBzZWxmLnBhcnNlci5FcnJvckNvbHVtbk51bWJlcgogICAgICAgICAgICAgICAgIHJhaXNlIGVycgogICAgICAgICBlbGlmIHByZWZpeCA9PSAiPCIgYW5kIHRleHRbOjldID09ICI8IURPQ1RZUEUiOgogICAgICAgICAgICAgc2VsZi5fZG9jdHlwZSA9IFtdICMgaW5zaWRlIGEgZG9jdHlwZSBkZWNsYXJhdGlvbgpAQCAtMTYzNCw3ICsxNjI3LDcgQEAKICAgICAgICAgICAgICAgICAgICAgcHViaWQgPSBwdWJpZFsxOi0xXQogICAgICAgICAgICAgICAgIGlmIGhhc2F0dHIoc2VsZi50YXJnZXQsICJkb2N0eXBlIik6CiAgICAgICAgICAgICAgICAgICAgIHNlbGYudGFyZ2V0LmRvY3R5cGUobmFtZSwgcHViaWQsIHN5c3RlbVsxOi0xXSkKLSAgICAgICAgICAgICAgICBlbGlmIHNlbGYuZG9jdHlwZSBpcyBub3Qgc2VsZi5fWE1MUGFyc2VyX19kb2N0eXBlOgorICAgICAgICAgICAgICAgIGVsaWYgc2VsZi5kb2N0eXBlICE9IHNlbGYuX1hNTFBhcnNlcl9fZG9jdHlwZToKICAgICAgICAgICAgICAgICAgICAgIyB3YXJuIGFib3V0IGRlcHJlY2F0ZWQgY2FsbAogICAgICAgICAgICAgICAgICAgICBzZWxmLl9YTUxQYXJzZXJfX2RvY3R5cGUobmFtZSwgcHViaWQsIHN5c3RlbVsxOi0xXSkKICAgICAgICAgICAgICAgICAgICAgc2VsZi5kb2N0eXBlKG5hbWUsIHB1YmlkLCBzeXN0ZW1bMTotMV0pCkBAIC0xNjY1LDcgKzE2NTgsNyBAQAogCiAgICAgZGVmIGZlZWQoc2VsZiwgZGF0YSk6CiAgICAgICAgIHRyeToKLSAgICAgICAgICAgIHNlbGYuX3BhcnNlci5QYXJzZShkYXRhLCAwKQorICAgICAgICAgICAgc2VsZi5wYXJzZXIuUGFyc2UoZGF0YSwgMCkKICAgICAgICAgZXhjZXB0IHNlbGYuX2Vycm9yIGFzIHY6CiAgICAgICAgICAgICBzZWxmLl9yYWlzZWVycm9yKHYpCiAKQEAgLTE2NzcsMTIgKzE2NzAsMTAwIEBACiAKICAgICBkZWYgY2xvc2Uoc2VsZik6CiAgICAgICAgIHRyeToKLSAgICAgICAgICAgIHNlbGYuX3BhcnNlci5QYXJzZSgiIiwgMSkgIyBlbmQgb2YgZGF0YQorICAgICAgICAgICAgc2VsZi5wYXJzZXIuUGFyc2UoIiIsIDEpICMgZW5kIG9mIGRhdGEKICAgICAgICAgZXhjZXB0IHNlbGYuX2Vycm9yIGFzIHY6CiAgICAgICAgICAgICBzZWxmLl9yYWlzZWVycm9yKHYpCi0gICAgICAgIHRyZWUgPSBzZWxmLnRhcmdldC5jbG9zZSgpCi0gICAgICAgIGRlbCBzZWxmLnRhcmdldCwgc2VsZi5fcGFyc2VyICMgZ2V0IHJpZCBvZiBjaXJjdWxhciByZWZlcmVuY2VzCi0gICAgICAgIHJldHVybiB0cmVlCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIGNsb3NlX2hhbmRsZXIgPSBzZWxmLnRhcmdldC5jbG9zZQorICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6CisgICAgICAgICAgICBwYXNzCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICByZXR1cm4gY2xvc2VfaGFuZGxlcigpCisgICAgICAgIGZpbmFsbHk6CisgICAgICAgICAgICAjIGdldCByaWQgb2YgY2lyY3VsYXIgcmVmZXJlbmNlcworICAgICAgICAgICAgZGVsIHNlbGYucGFyc2VyLCBzZWxmLl9wYXJzZXIKKyAgICAgICAgICAgIGRlbCBzZWxmLnRhcmdldCwgc2VsZi5fdGFyZ2V0CisKKworIyBJbXBvcnQgdGhlIEMgYWNjZWxlcmF0b3JzCit0cnk6CisgICAgIyBFbGVtZW50LCBTdWJFbGVtZW50LCBQYXJzZUVycm9yLCBUcmVlQnVpbGRlciwgWE1MUGFyc2VyCisgICAgZnJvbSBfZWxlbWVudHRyZWUgaW1wb3J0ICoKK2V4Y2VwdCBJbXBvcnRFcnJvcjoKKyAgICBwYXNzCitlbHNlOgorICAgICMgT3ZlcndyaXRlICdFbGVtZW50VHJlZS5wYXJzZScgYW5kICdpdGVycGFyc2UnIHRvIHVzZSB0aGUgQyBYTUxQYXJzZXIKKworICAgIGNsYXNzIEVsZW1lbnRUcmVlKEVsZW1lbnRUcmVlKToKKyAgICAgICAgZGVmIHBhcnNlKHNlbGYsIHNvdXJjZSwgcGFyc2VyPU5vbmUpOgorICAgICAgICAgICAgY2xvc2Vfc291cmNlID0gRmFsc2UKKyAgICAgICAgICAgIGlmIG5vdCBoYXNhdHRyKHNvdXJjZSwgJ3JlYWQnKToKKyAgICAgICAgICAgICAgICBzb3VyY2UgPSBvcGVuKHNvdXJjZSwgJ3JiJykKKyAgICAgICAgICAgICAgICBjbG9zZV9zb3VyY2UgPSBUcnVlCisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgaWYgcGFyc2VyIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgICAgICAgICB3aGlsZSBUcnVlOgorICAgICAgICAgICAgICAgICAgICAgICAgZGF0YSA9IHNvdXJjZS5yZWFkKDY1NTM2KQorICAgICAgICAgICAgICAgICAgICAgICAgaWYgbm90IGRhdGE6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsKKyAgICAgICAgICAgICAgICAgICAgICAgIHBhcnNlci5mZWVkKGRhdGEpCisgICAgICAgICAgICAgICAgICAgIHNlbGYuX3Jvb3QgPSBwYXJzZXIuY2xvc2UoKQorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIHBhcnNlciA9IFhNTFBhcnNlcigpCisgICAgICAgICAgICAgICAgICAgIHNlbGYuX3Jvb3QgPSBwYXJzZXIuX3BhcnNlKHNvdXJjZSkKKyAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5fcm9vdAorICAgICAgICAgICAgZmluYWxseToKKyAgICAgICAgICAgICAgICBpZiBjbG9zZV9zb3VyY2U6CisgICAgICAgICAgICAgICAgICAgIHNvdXJjZS5jbG9zZSgpCisKKyAgICBjbGFzcyBpdGVycGFyc2U6CisgICAgICAgIHJvb3QgPSBOb25lCisgICAgICAgIGRlZiBfX2luaXRfXyhzZWxmLCBmaWxlLCBldmVudHM9Tm9uZSk6CisgICAgICAgICAgICBzZWxmLl9jbG9zZV9maWxlID0gRmFsc2UKKyAgICAgICAgICAgIGlmIG5vdCBoYXNhdHRyKGZpbGUsICdyZWFkJyk6CisgICAgICAgICAgICAgICAgZmlsZSA9IG9wZW4oZmlsZSwgJ3JiJykKKyAgICAgICAgICAgICAgICBzZWxmLl9jbG9zZV9maWxlID0gVHJ1ZQorICAgICAgICAgICAgc2VsZi5fZmlsZSA9IGZpbGUKKyAgICAgICAgICAgIHNlbGYuX2V2ZW50cyA9IFtdCisgICAgICAgICAgICBzZWxmLl9pbmRleCA9IDAKKyAgICAgICAgICAgIHNlbGYuX2Vycm9yID0gTm9uZQorICAgICAgICAgICAgc2VsZi5yb290ID0gc2VsZi5fcm9vdCA9IE5vbmUKKyAgICAgICAgICAgIGIgPSBUcmVlQnVpbGRlcigpCisgICAgICAgICAgICBzZWxmLl9wYXJzZXIgPSBYTUxQYXJzZXIoYikKKyAgICAgICAgICAgIHNlbGYuX3BhcnNlci5fc2V0ZXZlbnRzKHNlbGYuX2V2ZW50cywgZXZlbnRzKQorCisgICAgICAgIGRlZiBfX25leHRfXyhzZWxmKToKKyAgICAgICAgICAgIHdoaWxlIFRydWU6CisgICAgICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgICAgICBpdGVtID0gc2VsZi5fZXZlbnRzW3NlbGYuX2luZGV4XQorICAgICAgICAgICAgICAgICAgICBzZWxmLl9pbmRleCArPSAxCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBpdGVtCisgICAgICAgICAgICAgICAgZXhjZXB0IEluZGV4RXJyb3I6CisgICAgICAgICAgICAgICAgICAgIHBhc3MKKyAgICAgICAgICAgICAgICBpZiBzZWxmLl9lcnJvcjoKKyAgICAgICAgICAgICAgICAgICAgZSA9IHNlbGYuX2Vycm9yCisgICAgICAgICAgICAgICAgICAgIHNlbGYuX2Vycm9yID0gTm9uZQorICAgICAgICAgICAgICAgICAgICByYWlzZSBlCisgICAgICAgICAgICAgICAgaWYgc2VsZi5fcGFyc2VyIGlzIE5vbmU6CisgICAgICAgICAgICAgICAgICAgIHNlbGYucm9vdCA9IHNlbGYuX3Jvb3QKKyAgICAgICAgICAgICAgICAgICAgaWYgc2VsZi5fY2xvc2VfZmlsZToKKyAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX2ZpbGUuY2xvc2UoKQorICAgICAgICAgICAgICAgICAgICByYWlzZSBTdG9wSXRlcmF0aW9uCisgICAgICAgICAgICAgICAgIyBsb2FkIGV2ZW50IGJ1ZmZlcgorICAgICAgICAgICAgICAgIGRlbCBzZWxmLl9ldmVudHNbOl0KKyAgICAgICAgICAgICAgICBzZWxmLl9pbmRleCA9IDAKKyAgICAgICAgICAgICAgICBkYXRhID0gc2VsZi5fZmlsZS5yZWFkKDE2Mzg0KQorICAgICAgICAgICAgICAgIGlmIGRhdGE6CisgICAgICAgICAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX3BhcnNlci5mZWVkKGRhdGEpCisgICAgICAgICAgICAgICAgICAgIGV4Y2VwdCBTeW50YXhFcnJvciBhcyBleGM6CisgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9lcnJvciA9IGV4YworICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIHNlbGYuX3Jvb3QgPSBzZWxmLl9wYXJzZXIuY2xvc2UoKQorICAgICAgICAgICAgICAgICAgICBzZWxmLl9wYXJzZXIgPSBOb25lCisKKyAgICAgICAgZGVmIF9faXRlcl9fKHNlbGYpOgorICAgICAgICAgICAgcmV0dXJuIHNlbGYKIAogIyBjb21wYXRpYmlsaXR5CiBYTUxUcmVlQnVpbGRlciA9IFhNTFBhcnNlcgpkaWZmIC0tZ2l0IGEvTGliL3htbC9ldHJlZS9jRWxlbWVudFRyZWUucHkgYi9MaWIveG1sL2V0cmVlL2NFbGVtZW50VHJlZS5weQppbmRleCBhNmYxMjdhLi4zNjhlNjc5IDEwMDY0NAotLS0gYS9MaWIveG1sL2V0cmVlL2NFbGVtZW50VHJlZS5weQorKysgYi9MaWIveG1sL2V0cmVlL2NFbGVtZW50VHJlZS5weQpAQCAtMSwzICsxLDMgQEAKLSMgV3JhcHBlciBtb2R1bGUgZm9yIF9lbGVtZW50dHJlZQorIyBEZXByZWNhdGVkIGFsaWFzIGZvciB4bWwuZXRyZWUuRWxlbWVudFRyZWUKIAotZnJvbSBfZWxlbWVudHRyZWUgaW1wb3J0ICoKK2Zyb20geG1sLmV0cmVlLkVsZW1lbnRUcmVlIGltcG9ydCAqCmRpZmYgLS1naXQgYS9MaWIveG1sL3BhcnNlcnMvZXhwYXQucHkgYi9MaWIveG1sL3BhcnNlcnMvZXhwYXQucHkKaW5kZXggYTgwNWI4Mi4uYmNiZTlmYiAxMDA2NDQKLS0tIGEvTGliL3htbC9wYXJzZXJzL2V4cGF0LnB5CisrKyBiL0xpYi94bWwvcGFyc2Vycy9leHBhdC5weQpAQCAtMSw2ICsxLDQgQEAKICIiIkludGVyZmFjZSB0byB0aGUgRXhwYXQgbm9uLXZhbGlkYXRpbmcgWE1MIHBhcnNlci4iIiIKLV9fdmVyc2lvbl9fID0gJyRSZXZpc2lvbiQnCi0KIGltcG9ydCBzeXMKIAogZnJvbSBweWV4cGF0IGltcG9ydCAqCmRpZmYgLS1naXQgYS9MaWIveG1scnBjL2NsaWVudC5weSBiL0xpYi94bWxycGMvY2xpZW50LnB5CmluZGV4IDk3ZDVhYWMuLmE3NzllNjYgMTAwNjQ0Ci0tLSBhL0xpYi94bWxycGMvY2xpZW50LnB5CisrKyBiL0xpYi94bWxycGMvY2xpZW50LnB5CkBAIC0xMjgsOCArMTI4LDExIEBACiAiIiIKIAogaW1wb3J0IGJhc2U2NAoraW1wb3J0IHN5cwogaW1wb3J0IHRpbWUKK2Zyb20gZGF0ZXRpbWUgaW1wb3J0IGRhdGV0aW1lCiBpbXBvcnQgaHR0cC5jbGllbnQKK2ltcG9ydCB1cmxsaWIucGFyc2UKIGZyb20geG1sLnBhcnNlcnMgaW1wb3J0IGV4cGF0CiBpbXBvcnQgc29ja2V0CiBpbXBvcnQgZXJybm8KQEAgLTE0MiwxNyArMTQ1LDEzIEBACiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAjIEludGVybmFsIHN0dWZmCiAKLXRyeToKLSAgICBpbXBvcnQgZGF0ZXRpbWUKLWV4Y2VwdCBJbXBvcnRFcnJvcjoKLSAgICBkYXRldGltZSA9IE5vbmUKLQogZGVmIGVzY2FwZShzKToKICAgICBzID0gcy5yZXBsYWNlKCImIiwgIiZhbXA7IikKICAgICBzID0gcy5yZXBsYWNlKCI8IiwgIiZsdDsiKQogICAgIHJldHVybiBzLnJlcGxhY2UoIj4iLCAiJmd0OyIsKQogCi1fX3ZlcnNpb25fXyA9ICIxLjAuMSIKKyMgdXNlZCBpbiBVc2VyLUFnZW50IGhlYWRlciBzZW50CitfX3ZlcnNpb25fXyA9IHN5cy52ZXJzaW9uWzozXQogCiAjIHhtbHJwYyBpbnRlZ2VyIGxpbWl0cwogTUFYSU5UID0gIDIqKjMxLTEKQEAgLTI1MiwyMSArMjUxLDMzIEBACiAjIFdyYXBwZXIgZm9yIFhNTC1SUEMgRGF0ZVRpbWUgdmFsdWVzLiAgVGhpcyBjb252ZXJ0cyBhIHRpbWUgdmFsdWUgdG8KICMgdGhlIGZvcm1hdCB1c2VkIGJ5IFhNTC1SUEMuCiAjIDxwPgotIyBUaGUgdmFsdWUgY2FuIGJlIGdpdmVuIGFzIGEgc3RyaW5nIGluIHRoZSBmb3JtYXQKLSMgInl5eXltbWRkVGhoOm1tOnNzIiwgYXMgYSA5LWl0ZW0gdGltZSB0dXBsZSAoYXMgcmV0dXJuZWQgYnkKKyMgVGhlIHZhbHVlIGNhbiBiZSBnaXZlbiBhcyBhIGRhdGV0aW1lIG9iamVjdCwgYXMgYSBzdHJpbmcgaW4gdGhlCisjIGZvcm1hdCAieXl5eW1tZGRUaGg6bW06c3MiLCBhcyBhIDktaXRlbSB0aW1lIHR1cGxlIChhcyByZXR1cm5lZCBieQogIyB0aW1lLmxvY2FsdGltZSgpKSwgb3IgYW4gaW50ZWdlciB2YWx1ZSAoYXMgcmV0dXJuZWQgYnkgdGltZS50aW1lKCkpLgogIyBUaGUgd3JhcHBlciB1c2VzIHRpbWUubG9jYWx0aW1lKCkgdG8gY29udmVydCBhbiBpbnRlZ2VyIHRvIGEgdGltZQogIyB0dXBsZS4KICMKLSMgQHBhcmFtIHZhbHVlIFRoZSB0aW1lLCBnaXZlbiBhcyBhbiBJU08gODYwMSBzdHJpbmcsIGEgdGltZQotIyAgICAgICAgICAgICAgdHVwbGUsIG9yIGEgaW50ZWdlciB0aW1lIHZhbHVlLgorIyBAcGFyYW0gdmFsdWUgVGhlIHRpbWUsIGdpdmVuIGFzIGEgZGF0ZXRpbWUgb2JqZWN0LCBhbiBJU08gODYwMSBzdHJpbmcsCisjICAgICAgICAgICAgICBhIHRpbWUgdHVwbGUsIG9yIGFuIGludGVnZXIgdGltZSB2YWx1ZS4KKworCisjIElzc3VlICMxMzMwNTogZGlmZmVyZW50IGZvcm1hdCBjb2RlcyBhY3Jvc3MgcGxhdGZvcm1zCitfZGF5MCA9IGRhdGV0aW1lKDEsIDEsIDEpCitpZiBfZGF5MC5zdHJmdGltZSgnJVknKSA9PSAnMDAwMSc6ICAgICAgIyBNYWMgT1MgWAorICAgIGRlZiBfaXNvODYwMV9mb3JtYXQodmFsdWUpOgorICAgICAgICByZXR1cm4gdmFsdWUuc3RyZnRpbWUoIiVZJW0lZFQlSDolTTolUyIpCitlbGlmIF9kYXkwLnN0cmZ0aW1lKCclNFknKSA9PSAnMDAwMSc6ICAgIyBMaW51eAorICAgIGRlZiBfaXNvODYwMV9mb3JtYXQodmFsdWUpOgorICAgICAgICByZXR1cm4gdmFsdWUuc3RyZnRpbWUoIiU0WSVtJWRUJUg6JU06JVMiKQorZWxzZToKKyAgICBkZWYgX2lzbzg2MDFfZm9ybWF0KHZhbHVlKToKKyAgICAgICAgcmV0dXJuIHZhbHVlLnN0cmZ0aW1lKCIlWSVtJWRUJUg6JU06JVMiKS56ZmlsbCgxNykKK2RlbCBfZGF5MAorCiAKIGRlZiBfc3RyZnRpbWUodmFsdWUpOgotICAgIGlmIGRhdGV0aW1lOgotICAgICAgICBpZiBpc2luc3RhbmNlKHZhbHVlLCBkYXRldGltZS5kYXRldGltZSk6Ci0gICAgICAgICAgICByZXR1cm4gIiUwNGQlMDJkJTAyZFQlMDJkOiUwMmQ6JTAyZCIgJSAoCi0gICAgICAgICAgICAgICAgdmFsdWUueWVhciwgdmFsdWUubW9udGgsIHZhbHVlLmRheSwKLSAgICAgICAgICAgICAgICB2YWx1ZS5ob3VyLCB2YWx1ZS5taW51dGUsIHZhbHVlLnNlY29uZCkKKyAgICBpZiBpc2luc3RhbmNlKHZhbHVlLCBkYXRldGltZSk6CisgICAgICAgIHJldHVybiBfaXNvODYwMV9mb3JtYXQodmFsdWUpCiAKICAgICBpZiBub3QgaXNpbnN0YW5jZSh2YWx1ZSwgKHR1cGxlLCB0aW1lLnN0cnVjdF90aW1lKSk6CiAgICAgICAgIGlmIHZhbHVlID09IDA6CkBAIC0yOTEsOSArMzAyLDkgQEAKICAgICAgICAgaWYgaXNpbnN0YW5jZShvdGhlciwgRGF0ZVRpbWUpOgogICAgICAgICAgICAgcyA9IHNlbGYudmFsdWUKICAgICAgICAgICAgIG8gPSBvdGhlci52YWx1ZQotICAgICAgICBlbGlmIGRhdGV0aW1lIGFuZCBpc2luc3RhbmNlKG90aGVyLCBkYXRldGltZS5kYXRldGltZSk6CisgICAgICAgIGVsaWYgaXNpbnN0YW5jZShvdGhlciwgZGF0ZXRpbWUpOgogICAgICAgICAgICAgcyA9IHNlbGYudmFsdWUKLSAgICAgICAgICAgIG8gPSBvdGhlci5zdHJmdGltZSgiJVklbSVkVCVIOiVNOiVTIikKKyAgICAgICAgICAgIG8gPSBfaXNvODYwMV9mb3JtYXQob3RoZXIpCiAgICAgICAgIGVsaWYgaXNpbnN0YW5jZShvdGhlciwgc3RyKToKICAgICAgICAgICAgIHMgPSBzZWxmLnZhbHVlCiAgICAgICAgICAgICBvID0gb3RoZXIKQEAgLTM2MSw4ICszNzIsNyBAQAogICAgIHJldHVybiB2YWx1ZQogCiBkZWYgX2RhdGV0aW1lX3R5cGUoZGF0YSk6Ci0gICAgdCA9IHRpbWUuc3RycHRpbWUoZGF0YSwgIiVZJW0lZFQlSDolTTolUyIpCi0gICAgcmV0dXJuIGRhdGV0aW1lLmRhdGV0aW1lKCp0dXBsZSh0KVs6Nl0pCisgICAgcmV0dXJuIGRhdGV0aW1lLnN0cnB0aW1lKGRhdGEsICIlWSVtJWRUJUg6JU06JVMiKQogCiAjIwogIyBXcmFwcGVyIGZvciBiaW5hcnkgZGF0YS4gIFRoaXMgY2FuIGJlIHVzZWQgdG8gdHJhbnNwb3J0IGFueSBraW5kCkBAIC0zNzcsOCArMzg3LDggQEAKICAgICAgICAgaWYgZGF0YSBpcyBOb25lOgogICAgICAgICAgICAgZGF0YSA9IGIiIgogICAgICAgICBlbHNlOgotICAgICAgICAgICAgaWYgbm90IGlzaW5zdGFuY2UoZGF0YSwgYnl0ZXMpOgotICAgICAgICAgICAgICAgIHJhaXNlIFR5cGVFcnJvcigiZXhwZWN0ZWQgYnl0ZXMsIG5vdCAlcyIgJQorICAgICAgICAgICAgaWYgbm90IGlzaW5zdGFuY2UoZGF0YSwgKGJ5dGVzLCBieXRlYXJyYXkpKToKKyAgICAgICAgICAgICAgICByYWlzZSBUeXBlRXJyb3IoImV4cGVjdGVkIGJ5dGVzIG9yIGJ5dGVhcnJheSwgbm90ICVzIiAlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEuX19jbGFzc19fLl9fbmFtZV9fKQogICAgICAgICAgICAgZGF0YSA9IGJ5dGVzKGRhdGEpICAjIE1ha2UgYSBjb3B5IG9mIHRoZSBieXRlcyEKICAgICAgICAgc2VsZi5kYXRhID0gZGF0YQpAQCAtNDA4LDcgKzQxOCw2IEBACiAgICAgICAgIG91dC53cml0ZSgiPHZhbHVlPjxiYXNlNjQ+XG4iKQogICAgICAgICBlbmNvZGVkID0gYmFzZTY0LmVuY29kZWJ5dGVzKHNlbGYuZGF0YSkKICAgICAgICAgb3V0LndyaXRlKGVuY29kZWQuZGVjb2RlKCdhc2NpaScpKQotICAgICAgICBvdXQud3JpdGUoJ1xuJykKICAgICAgICAgb3V0LndyaXRlKCI8L2Jhc2U2ND48L3ZhbHVlPlxuIikKIAogZGVmIF9iaW5hcnkoZGF0YSk6CkBAIC01MjIsMTUgKzUzMSw2IEBACiAgICAgICAgIHdyaXRlKCI8dmFsdWU+PG5pbC8+PC92YWx1ZT4iKQogICAgIGRpc3BhdGNoW3R5cGUoTm9uZSldID0gZHVtcF9uaWwKIAotICAgIGRlZiBkdW1wX2ludChzZWxmLCB2YWx1ZSwgd3JpdGUpOgotICAgICAgICAjIGluIGNhc2UgaW50cyBhcmUgPiAzMiBiaXRzCi0gICAgICAgIGlmIHZhbHVlID4gTUFYSU5UIG9yIHZhbHVlIDwgTUlOSU5UOgotICAgICAgICAgICAgcmFpc2UgT3ZlcmZsb3dFcnJvcigiaW50IGV4Y2VlZHMgWE1MLVJQQyBsaW1pdHMiKQotICAgICAgICB3cml0ZSgiPHZhbHVlPjxpbnQ+IikKLSAgICAgICAgd3JpdGUoc3RyKHZhbHVlKSkKLSAgICAgICAgd3JpdGUoIjwvaW50PjwvdmFsdWU+XG4iKQotICAgICNkaXNwYXRjaFtpbnRdID0gZHVtcF9pbnQKLQogICAgIGRlZiBkdW1wX2Jvb2woc2VsZiwgdmFsdWUsIHdyaXRlKToKICAgICAgICAgd3JpdGUoIjx2YWx1ZT48Ym9vbGVhbj4iKQogICAgICAgICB3cml0ZSh2YWx1ZSBhbmQgIjEiIG9yICIwIikKQEAgLTU0NSw2ICs1NDUsOSBAQAogICAgICAgICB3cml0ZSgiPC9pbnQ+PC92YWx1ZT5cbiIpCiAgICAgZGlzcGF0Y2hbaW50XSA9IGR1bXBfbG9uZwogCisgICAgIyBiYWNrd2FyZCBjb21wYXRpYmxlCisgICAgZHVtcF9pbnQgPSBkdW1wX2xvbmcKKwogICAgIGRlZiBkdW1wX2RvdWJsZShzZWxmLCB2YWx1ZSwgd3JpdGUpOgogICAgICAgICB3cml0ZSgiPHZhbHVlPjxkb3VibGU+IikKICAgICAgICAgd3JpdGUocmVwcih2YWx1ZSkpCkBAIC01NTcsNiArNTYwLDE0IEBACiAgICAgICAgIHdyaXRlKCI8L3N0cmluZz48L3ZhbHVlPlxuIikKICAgICBkaXNwYXRjaFtzdHJdID0gZHVtcF91bmljb2RlCiAKKyAgICBkZWYgZHVtcF9ieXRlcyhzZWxmLCB2YWx1ZSwgd3JpdGUpOgorICAgICAgICB3cml0ZSgiPHZhbHVlPjxiYXNlNjQ+XG4iKQorICAgICAgICBlbmNvZGVkID0gYmFzZTY0LmVuY29kZWJ5dGVzKHZhbHVlKQorICAgICAgICB3cml0ZShlbmNvZGVkLmRlY29kZSgnYXNjaWknKSkKKyAgICAgICAgd3JpdGUoIjwvYmFzZTY0PjwvdmFsdWU+XG4iKQorICAgIGRpc3BhdGNoW2J5dGVzXSA9IGR1bXBfYnl0ZXMKKyAgICBkaXNwYXRjaFtieXRlYXJyYXldID0gZHVtcF9ieXRlcworCiAgICAgZGVmIGR1bXBfYXJyYXkoc2VsZiwgdmFsdWUsIHdyaXRlKToKICAgICAgICAgaSA9IGlkKHZhbHVlKQogICAgICAgICBpZiBpIGluIHNlbGYubWVtbzoKQEAgLTU4OSwxMiArNjAwLDExIEBACiAgICAgICAgIGRlbCBzZWxmLm1lbW9baV0KICAgICBkaXNwYXRjaFtkaWN0XSA9IGR1bXBfc3RydWN0CiAKLSAgICBpZiBkYXRldGltZToKLSAgICAgICAgZGVmIGR1bXBfZGF0ZXRpbWUoc2VsZiwgdmFsdWUsIHdyaXRlKToKLSAgICAgICAgICAgIHdyaXRlKCI8dmFsdWU+PGRhdGVUaW1lLmlzbzg2MDE+IikKLSAgICAgICAgICAgIHdyaXRlKF9zdHJmdGltZSh2YWx1ZSkpCi0gICAgICAgICAgICB3cml0ZSgiPC9kYXRlVGltZS5pc284NjAxPjwvdmFsdWU+XG4iKQotICAgICAgICBkaXNwYXRjaFtkYXRldGltZS5kYXRldGltZV0gPSBkdW1wX2RhdGV0aW1lCisgICAgZGVmIGR1bXBfZGF0ZXRpbWUoc2VsZiwgdmFsdWUsIHdyaXRlKToKKyAgICAgICAgd3JpdGUoIjx2YWx1ZT48ZGF0ZVRpbWUuaXNvODYwMT4iKQorICAgICAgICB3cml0ZShfc3RyZnRpbWUodmFsdWUpKQorICAgICAgICB3cml0ZSgiPC9kYXRlVGltZS5pc284NjAxPjwvdmFsdWU+XG4iKQorICAgIGRpc3BhdGNoW2RhdGV0aW1lXSA9IGR1bXBfZGF0ZXRpbWUKIAogICAgIGRlZiBkdW1wX2luc3RhbmNlKHNlbGYsIHZhbHVlLCB3cml0ZSk6CiAgICAgICAgICMgY2hlY2sgZm9yIHNwZWNpYWwgd3JhcHBlcnMKQEAgLTYyOCw3ICs2MzgsNyBAQAogICAgICMgYW5kIGFnYWluLCBpZiB5b3UgZG9uJ3QgdW5kZXJzdGFuZCB3aGF0J3MgZ29pbmcgb24gaW4gaGVyZSwKICAgICAjIHRoYXQncyBwZXJmZWN0bHkgb2suCiAKLSAgICBkZWYgX19pbml0X18oc2VsZiwgdXNlX2RhdGV0aW1lPUZhbHNlKToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgdXNlX2RhdGV0aW1lPUZhbHNlLCB1c2VfYnVpbHRpbl90eXBlcz1GYWxzZSk6CiAgICAgICAgIHNlbGYuX3R5cGUgPSBOb25lCiAgICAgICAgIHNlbGYuX3N0YWNrID0gW10KICAgICAgICAgc2VsZi5fbWFya3MgPSBbXQpAQCAtNjM2LDkgKzY0Niw4IEBACiAgICAgICAgIHNlbGYuX21ldGhvZG5hbWUgPSBOb25lCiAgICAgICAgIHNlbGYuX2VuY29kaW5nID0gInV0Zi04IgogICAgICAgICBzZWxmLmFwcGVuZCA9IHNlbGYuX3N0YWNrLmFwcGVuZAotICAgICAgICBzZWxmLl91c2VfZGF0ZXRpbWUgPSB1c2VfZGF0ZXRpbWUKLSAgICAgICAgaWYgdXNlX2RhdGV0aW1lIGFuZCBub3QgZGF0ZXRpbWU6Ci0gICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJ0aGUgZGF0ZXRpbWUgbW9kdWxlIGlzIG5vdCBhdmFpbGFibGUiKQorICAgICAgICBzZWxmLl91c2VfZGF0ZXRpbWUgPSB1c2VfYnVpbHRpbl90eXBlcyBvciB1c2VfZGF0ZXRpbWUKKyAgICAgICAgc2VsZi5fdXNlX2J5dGVzID0gdXNlX2J1aWx0aW5fdHlwZXMKIAogICAgIGRlZiBjbG9zZShzZWxmKToKICAgICAgICAgIyByZXR1cm4gcmVzcG9uc2UgdHVwbGUgYW5kIHRhcmdldCBtZXRob2QKQEAgLTc1MCw2ICs3NTksOCBAQAogICAgIGRlZiBlbmRfYmFzZTY0KHNlbGYsIGRhdGEpOgogICAgICAgICB2YWx1ZSA9IEJpbmFyeSgpCiAgICAgICAgIHZhbHVlLmRlY29kZShkYXRhLmVuY29kZSgiYXNjaWkiKSkKKyAgICAgICAgaWYgc2VsZi5fdXNlX2J5dGVzOgorICAgICAgICAgICAgdmFsdWUgPSB2YWx1ZS5kYXRhCiAgICAgICAgIHNlbGYuYXBwZW5kKHZhbHVlKQogICAgICAgICBzZWxmLl92YWx1ZSA9IDAKICAgICBkaXNwYXRjaFsiYmFzZTY0Il0gPSBlbmRfYmFzZTY0CkBAIC04NjEsMjMgKzg3MiwyNiBAQAogIwogIyByZXR1cm4gQSAocGFyc2VyLCB1bm1hcnNoYWxsZXIpIHR1cGxlLgogCi1kZWYgZ2V0cGFyc2VyKHVzZV9kYXRldGltZT1GYWxzZSk6CitkZWYgZ2V0cGFyc2VyKHVzZV9kYXRldGltZT1GYWxzZSwgdXNlX2J1aWx0aW5fdHlwZXM9RmFsc2UpOgogICAgICIiImdldHBhcnNlcigpIC0+IHBhcnNlciwgdW5tYXJzaGFsbGVyCiAKICAgICBDcmVhdGUgYW4gaW5zdGFuY2Ugb2YgdGhlIGZhc3Rlc3QgYXZhaWxhYmxlIHBhcnNlciwgYW5kIGF0dGFjaCBpdAogICAgIHRvIGFuIHVubWFyc2hhbGxpbmcgb2JqZWN0LiAgUmV0dXJuIGJvdGggb2JqZWN0cy4KICAgICAiIiIKLSAgICBpZiB1c2VfZGF0ZXRpbWUgYW5kIG5vdCBkYXRldGltZToKLSAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigidGhlIGRhdGV0aW1lIG1vZHVsZSBpcyBub3QgYXZhaWxhYmxlIikKICAgICBpZiBGYXN0UGFyc2VyIGFuZCBGYXN0VW5tYXJzaGFsbGVyOgotICAgICAgICBpZiB1c2VfZGF0ZXRpbWU6CisgICAgICAgIGlmIHVzZV9idWlsdGluX3R5cGVzOgogICAgICAgICAgICAgbWtkYXRldGltZSA9IF9kYXRldGltZV90eXBlCisgICAgICAgICAgICBta2J5dGVzID0gYmFzZTY0LmRlY29kZWJ5dGVzCisgICAgICAgIGVsaWYgdXNlX2RhdGV0aW1lOgorICAgICAgICAgICAgbWtkYXRldGltZSA9IF9kYXRldGltZV90eXBlCisgICAgICAgICAgICBta2J5dGVzID0gX2JpbmFyeQogICAgICAgICBlbHNlOgogICAgICAgICAgICAgbWtkYXRldGltZSA9IF9kYXRldGltZQotICAgICAgICB0YXJnZXQgPSBGYXN0VW5tYXJzaGFsbGVyKFRydWUsIEZhbHNlLCBfYmluYXJ5LCBta2RhdGV0aW1lLCBGYXVsdCkKKyAgICAgICAgICAgIG1rYnl0ZXMgPSBfYmluYXJ5CisgICAgICAgIHRhcmdldCA9IEZhc3RVbm1hcnNoYWxsZXIoVHJ1ZSwgRmFsc2UsIG1rYnl0ZXMsIG1rZGF0ZXRpbWUsIEZhdWx0KQogICAgICAgICBwYXJzZXIgPSBGYXN0UGFyc2VyKHRhcmdldCkKICAgICBlbHNlOgotICAgICAgICB0YXJnZXQgPSBVbm1hcnNoYWxsZXIodXNlX2RhdGV0aW1lPXVzZV9kYXRldGltZSkKKyAgICAgICAgdGFyZ2V0ID0gVW5tYXJzaGFsbGVyKHVzZV9kYXRldGltZT11c2VfZGF0ZXRpbWUsIHVzZV9idWlsdGluX3R5cGVzPXVzZV9idWlsdGluX3R5cGVzKQogICAgICAgICBpZiBGYXN0UGFyc2VyOgogICAgICAgICAgICAgcGFyc2VyID0gRmFzdFBhcnNlcih0YXJnZXQpCiAgICAgICAgIGVsc2U6CkBAIC05MTUsNyArOTI5LDcgQEAKIAogICAgICAgICBlbmNvZGluZzogdGhlIHBhY2tldCBlbmNvZGluZyAoZGVmYXVsdCBpcyBVVEYtOCkKIAotICAgIEFsbCA4LWJpdCBzdHJpbmdzIGluIHRoZSBkYXRhIHN0cnVjdHVyZSBhcmUgYXNzdW1lZCB0byB1c2UgdGhlCisgICAgQWxsIGJ5dGUgc3RyaW5ncyBpbiB0aGUgZGF0YSBzdHJ1Y3R1cmUgYXJlIGFzc3VtZWQgdG8gdXNlIHRoZQogICAgIHBhY2tldCBlbmNvZGluZy4gIFVuaWNvZGUgc3RyaW5ncyBhcmUgYXV0b21hdGljYWxseSBjb252ZXJ0ZWQsCiAgICAgd2hlcmUgbmVjZXNzYXJ5LgogICAgICIiIgpAQCAtOTc0LDcgKzk4OCw3IEBACiAjICAgICAoTm9uZSBpZiBub3QgcHJlc2VudCkuCiAjIEBzZWUgRmF1bHQKIAotZGVmIGxvYWRzKGRhdGEsIHVzZV9kYXRldGltZT1GYWxzZSk6CitkZWYgbG9hZHMoZGF0YSwgdXNlX2RhdGV0aW1lPUZhbHNlLCB1c2VfYnVpbHRpbl90eXBlcz1GYWxzZSk6CiAgICAgIiIiZGF0YSAtPiB1bm1hcnNoYWxsZWQgZGF0YSwgbWV0aG9kIG5hbWUKIAogICAgIENvbnZlcnQgYW4gWE1MLVJQQyBwYWNrZXQgdG8gdW5tYXJzaGFsbGVkIGRhdGEgcGx1cyBhIG1ldGhvZApAQCAtOTgzLDcgKzk5Nyw3IEBACiAgICAgSWYgdGhlIFhNTC1SUEMgcGFja2V0IHJlcHJlc2VudHMgYSBmYXVsdCBjb25kaXRpb24sIHRoaXMgZnVuY3Rpb24KICAgICByYWlzZXMgYSBGYXVsdCBleGNlcHRpb24uCiAgICAgIiIiCi0gICAgcCwgdSA9IGdldHBhcnNlcih1c2VfZGF0ZXRpbWU9dXNlX2RhdGV0aW1lKQorICAgIHAsIHUgPSBnZXRwYXJzZXIodXNlX2RhdGV0aW1lPXVzZV9kYXRldGltZSwgdXNlX2J1aWx0aW5fdHlwZXM9dXNlX2J1aWx0aW5fdHlwZXMpCiAgICAgcC5mZWVkKGRhdGEpCiAgICAgcC5jbG9zZSgpCiAgICAgcmV0dXJuIHUuY2xvc2UoKSwgdS5nZXRtZXRob2RuYW1lKCkKQEAgLTEwODUsNyArMTA5OSw3IEBACiAgICAgIiIiSGFuZGxlcyBhbiBIVFRQIHRyYW5zYWN0aW9uIHRvIGFuIFhNTC1SUEMgc2VydmVyLiIiIgogCiAgICAgIyBjbGllbnQgaWRlbnRpZmllciAobWF5IGJlIG92ZXJyaWRkZW4pCi0gICAgdXNlcl9hZ2VudCA9ICJ4bWxycGNsaWIucHkvJXMgKGJ5IHd3dy5weXRob253YXJlLmNvbSkiICUgX192ZXJzaW9uX18KKyAgICB1c2VyX2FnZW50ID0gIlB5dGhvbi14bWxycGMvJXMiICUgX192ZXJzaW9uX18KIAogICAgICNpZiB0cnVlLCB3ZSdsbCByZXF1ZXN0IGd6aXAgZW5jb2RpbmcKICAgICBhY2NlcHRfZ3ppcF9lbmNvZGluZyA9IFRydWUKQEAgLTEwOTUsOCArMTEwOSw5IEBACiAgICAgIyB0aGF0IHRoZXkgY2FuIGRlY29kZSBzdWNoIGEgcmVxdWVzdAogICAgIGVuY29kZV90aHJlc2hvbGQgPSBOb25lICNOb25lID0gZG9uJ3QgZW5jb2RlCiAKLSAgICBkZWYgX19pbml0X18oc2VsZiwgdXNlX2RhdGV0aW1lPUZhbHNlKToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgdXNlX2RhdGV0aW1lPUZhbHNlLCB1c2VfYnVpbHRpbl90eXBlcz1GYWxzZSk6CiAgICAgICAgIHNlbGYuX3VzZV9kYXRldGltZSA9IHVzZV9kYXRldGltZQorICAgICAgICBzZWxmLl91c2VfYnVpbHRpbl90eXBlcyA9IHVzZV9idWlsdGluX3R5cGVzCiAgICAgICAgIHNlbGYuX2Nvbm5lY3Rpb24gPSAoTm9uZSwgTm9uZSkKICAgICAgICAgc2VsZi5fZXh0cmFfaGVhZGVycyA9IFtdCiAKQEAgLTExNTcsNyArMTE3Miw4IEBACiAKICAgICBkZWYgZ2V0cGFyc2VyKHNlbGYpOgogICAgICAgICAjIGdldCBwYXJzZXIgYW5kIHVubWFyc2hhbGxlcgotICAgICAgICByZXR1cm4gZ2V0cGFyc2VyKHVzZV9kYXRldGltZT1zZWxmLl91c2VfZGF0ZXRpbWUpCisgICAgICAgIHJldHVybiBnZXRwYXJzZXIodXNlX2RhdGV0aW1lPXNlbGYuX3VzZV9kYXRldGltZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICB1c2VfYnVpbHRpbl90eXBlcz1zZWxmLl91c2VfYnVpbHRpbl90eXBlcykKIAogICAgICMjCiAgICAgIyBHZXQgYXV0aG9yaXphdGlvbiBpbmZvIGZyb20gaG9zdCBwYXJhbWV0ZXIKQEAgLTExNzUsNyArMTE5MSw2IEBACiAgICAgICAgIGlmIGlzaW5zdGFuY2UoaG9zdCwgdHVwbGUpOgogICAgICAgICAgICAgaG9zdCwgeDUwOSA9IGhvc3QKIAotICAgICAgICBpbXBvcnQgdXJsbGliLnBhcnNlCiAgICAgICAgIGF1dGgsIGhvc3QgPSB1cmxsaWIucGFyc2Uuc3BsaXR1c2VyKGhvc3QpCiAKICAgICAgICAgaWYgYXV0aDoKQEAgLTEzNjQsMTEgKzEzNzksMTAgQEAKICAgICAiIiIKIAogICAgIGRlZiBfX2luaXRfXyhzZWxmLCB1cmksIHRyYW5zcG9ydD1Ob25lLCBlbmNvZGluZz1Ob25lLCB2ZXJib3NlPUZhbHNlLAotICAgICAgICAgICAgICAgICBhbGxvd19ub25lPUZhbHNlLCB1c2VfZGF0ZXRpbWU9RmFsc2UpOgorICAgICAgICAgICAgICAgICBhbGxvd19ub25lPUZhbHNlLCB1c2VfZGF0ZXRpbWU9RmFsc2UsIHVzZV9idWlsdGluX3R5cGVzPUZhbHNlKToKICAgICAgICAgIyBlc3RhYmxpc2ggYSAibG9naWNhbCIgc2VydmVyIGNvbm5lY3Rpb24KIAogICAgICAgICAjIGdldCB0aGUgdXJsCi0gICAgICAgIGltcG9ydCB1cmxsaWIucGFyc2UKICAgICAgICAgdHlwZSwgdXJpID0gdXJsbGliLnBhcnNlLnNwbGl0dHlwZSh1cmkpCiAgICAgICAgIGlmIHR5cGUgbm90IGluICgiaHR0cCIsICJodHRwcyIpOgogICAgICAgICAgICAgcmFpc2UgSU9FcnJvcigidW5zdXBwb3J0ZWQgWE1MLVJQQyBwcm90b2NvbCIpCkBAIC0xMzc4LDkgKzEzOTIsMTEgQEAKIAogICAgICAgICBpZiB0cmFuc3BvcnQgaXMgTm9uZToKICAgICAgICAgICAgIGlmIHR5cGUgPT0gImh0dHBzIjoKLSAgICAgICAgICAgICAgICB0cmFuc3BvcnQgPSBTYWZlVHJhbnNwb3J0KHVzZV9kYXRldGltZT11c2VfZGF0ZXRpbWUpCisgICAgICAgICAgICAgICAgaGFuZGxlciA9IFNhZmVUcmFuc3BvcnQKICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgdHJhbnNwb3J0ID0gVHJhbnNwb3J0KHVzZV9kYXRldGltZT11c2VfZGF0ZXRpbWUpCisgICAgICAgICAgICAgICAgaGFuZGxlciA9IFRyYW5zcG9ydAorICAgICAgICAgICAgdHJhbnNwb3J0ID0gaGFuZGxlcih1c2VfZGF0ZXRpbWU9dXNlX2RhdGV0aW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VfYnVpbHRpbl90eXBlcz11c2VfYnVpbHRpbl90eXBlcykKICAgICAgICAgc2VsZi5fX3RyYW5zcG9ydCA9IHRyYW5zcG9ydAogCiAgICAgICAgIHNlbGYuX19lbmNvZGluZyA9IGVuY29kaW5nIG9yICd1dGYtOCcKZGlmZiAtLWdpdCBhL0xpYi94bWxycGMvc2VydmVyLnB5IGIvTGliL3htbHJwYy9zZXJ2ZXIucHkKaW5kZXggZmQxNzAyNi4uNTRlMTcyNiAxMDA2NDQKLS0tIGEvTGliL3htbHJwYy9zZXJ2ZXIucHkKKysrIGIvTGliL3htbHJwYy9zZXJ2ZXIucHkKQEAgLTE2MCwxMSArMTYwLDEzIEBACiAgICAgY2FuIGJlIGluc3RhbmNlZCB3aGVuIHVzZWQgYnkgdGhlIE11bHRpUGF0aFhNTFJQQ1NlcnZlcgogICAgICIiIgogCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIGFsbG93X25vbmU9RmFsc2UsIGVuY29kaW5nPU5vbmUpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBhbGxvd19ub25lPUZhbHNlLCBlbmNvZGluZz1Ob25lLAorICAgICAgICAgICAgICAgICB1c2VfYnVpbHRpbl90eXBlcz1GYWxzZSk6CiAgICAgICAgIHNlbGYuZnVuY3MgPSB7fQogICAgICAgICBzZWxmLmluc3RhbmNlID0gTm9uZQogICAgICAgICBzZWxmLmFsbG93X25vbmUgPSBhbGxvd19ub25lCiAgICAgICAgIHNlbGYuZW5jb2RpbmcgPSBlbmNvZGluZyBvciAndXRmLTgnCisgICAgICAgIHNlbGYudXNlX2J1aWx0aW5fdHlwZXMgPSB1c2VfYnVpbHRpbl90eXBlcwogCiAgICAgZGVmIHJlZ2lzdGVyX2luc3RhbmNlKHNlbGYsIGluc3RhbmNlLCBhbGxvd19kb3R0ZWRfbmFtZXM9RmFsc2UpOgogICAgICAgICAiIiJSZWdpc3RlcnMgYW4gaW5zdGFuY2UgdG8gcmVzcG9uZCB0byBYTUwtUlBDIHJlcXVlc3RzLgpAQCAtMjQ1LDcgKzI0Nyw3IEBACiAgICAgICAgICIiIgogCiAgICAgICAgIHRyeToKLSAgICAgICAgICAgIHBhcmFtcywgbWV0aG9kID0gbG9hZHMoZGF0YSkKKyAgICAgICAgICAgIHBhcmFtcywgbWV0aG9kID0gbG9hZHMoZGF0YSwgdXNlX2J1aWx0aW5fdHlwZXM9c2VsZi51c2VfYnVpbHRpbl90eXBlcykKIAogICAgICAgICAgICAgIyBnZW5lcmF0ZSByZXNwb25zZQogICAgICAgICAgICAgaWYgZGlzcGF0Y2hfbWV0aG9kIGlzIG5vdCBOb25lOgpAQCAtNTc1LDEwICs1NzcsMTEgQEAKICAgICBfc2VuZF90cmFjZWJhY2tfaGVhZGVyID0gRmFsc2UKIAogICAgIGRlZiBfX2luaXRfXyhzZWxmLCBhZGRyLCByZXF1ZXN0SGFuZGxlcj1TaW1wbGVYTUxSUENSZXF1ZXN0SGFuZGxlciwKLSAgICAgICAgICAgICAgICAgbG9nUmVxdWVzdHM9VHJ1ZSwgYWxsb3dfbm9uZT1GYWxzZSwgZW5jb2Rpbmc9Tm9uZSwgYmluZF9hbmRfYWN0aXZhdGU9VHJ1ZSk6CisgICAgICAgICAgICAgICAgIGxvZ1JlcXVlc3RzPVRydWUsIGFsbG93X25vbmU9RmFsc2UsIGVuY29kaW5nPU5vbmUsCisgICAgICAgICAgICAgICAgIGJpbmRfYW5kX2FjdGl2YXRlPVRydWUsIHVzZV9idWlsdGluX3R5cGVzPUZhbHNlKToKICAgICAgICAgc2VsZi5sb2dSZXF1ZXN0cyA9IGxvZ1JlcXVlc3RzCiAKLSAgICAgICAgU2ltcGxlWE1MUlBDRGlzcGF0Y2hlci5fX2luaXRfXyhzZWxmLCBhbGxvd19ub25lLCBlbmNvZGluZykKKyAgICAgICAgU2ltcGxlWE1MUlBDRGlzcGF0Y2hlci5fX2luaXRfXyhzZWxmLCBhbGxvd19ub25lLCBlbmNvZGluZywgdXNlX2J1aWx0aW5fdHlwZXMpCiAgICAgICAgIHNvY2tldHNlcnZlci5UQ1BTZXJ2ZXIuX19pbml0X18oc2VsZiwgYWRkciwgcmVxdWVzdEhhbmRsZXIsIGJpbmRfYW5kX2FjdGl2YXRlKQogCiAgICAgICAgICMgW0J1ZyAjMTIyMjc5MF0gSWYgcG9zc2libGUsIHNldCBjbG9zZS1vbi1leGVjIGZsYWc7IGlmIGEKQEAgLTU5OCwxMCArNjAxLDExIEBACiAgICAgTWFrZSBzdXJlIHRoYXQgdGhlIHJlcXVlc3RIYW5kbGVyIGFjY2VwdHMgdGhlIHBhdGhzIGluIHF1ZXN0aW9uLgogICAgICIiIgogICAgIGRlZiBfX2luaXRfXyhzZWxmLCBhZGRyLCByZXF1ZXN0SGFuZGxlcj1TaW1wbGVYTUxSUENSZXF1ZXN0SGFuZGxlciwKLSAgICAgICAgICAgICAgICAgbG9nUmVxdWVzdHM9VHJ1ZSwgYWxsb3dfbm9uZT1GYWxzZSwgZW5jb2Rpbmc9Tm9uZSwgYmluZF9hbmRfYWN0aXZhdGU9VHJ1ZSk6CisgICAgICAgICAgICAgICAgIGxvZ1JlcXVlc3RzPVRydWUsIGFsbG93X25vbmU9RmFsc2UsIGVuY29kaW5nPU5vbmUsCisgICAgICAgICAgICAgICAgIGJpbmRfYW5kX2FjdGl2YXRlPVRydWUsIHVzZV9idWlsdGluX3R5cGVzPUZhbHNlKToKIAogICAgICAgICBTaW1wbGVYTUxSUENTZXJ2ZXIuX19pbml0X18oc2VsZiwgYWRkciwgcmVxdWVzdEhhbmRsZXIsIGxvZ1JlcXVlc3RzLCBhbGxvd19ub25lLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5jb2RpbmcsIGJpbmRfYW5kX2FjdGl2YXRlKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5jb2RpbmcsIGJpbmRfYW5kX2FjdGl2YXRlLCB1c2VfYnVpbHRpbl90eXBlcykKICAgICAgICAgc2VsZi5kaXNwYXRjaGVycyA9IHt9CiAgICAgICAgIHNlbGYuYWxsb3dfbm9uZSA9IGFsbG93X25vbmUKICAgICAgICAgc2VsZi5lbmNvZGluZyA9IGVuY29kaW5nIG9yICd1dGYtOCcKQEAgLTYzMSw4ICs2MzUsOCBAQAogY2xhc3MgQ0dJWE1MUlBDUmVxdWVzdEhhbmRsZXIoU2ltcGxlWE1MUlBDRGlzcGF0Y2hlcik6CiAgICAgIiIiU2ltcGxlIGhhbmRsZXIgZm9yIFhNTC1SUEMgZGF0YSBwYXNzZWQgdGhyb3VnaCBDR0kuIiIiCiAKLSAgICBkZWYgX19pbml0X18oc2VsZiwgYWxsb3dfbm9uZT1GYWxzZSwgZW5jb2Rpbmc9Tm9uZSk6Ci0gICAgICAgIFNpbXBsZVhNTFJQQ0Rpc3BhdGNoZXIuX19pbml0X18oc2VsZiwgYWxsb3dfbm9uZSwgZW5jb2RpbmcpCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGFsbG93X25vbmU9RmFsc2UsIGVuY29kaW5nPU5vbmUsIHVzZV9idWlsdGluX3R5cGVzPUZhbHNlKToKKyAgICAgICAgU2ltcGxlWE1MUlBDRGlzcGF0Y2hlci5fX2luaXRfXyhzZWxmLCBhbGxvd19ub25lLCBlbmNvZGluZywgdXNlX2J1aWx0aW5fdHlwZXMpCiAKICAgICBkZWYgaGFuZGxlX3htbHJwYyhzZWxmLCByZXF1ZXN0X3RleHQpOgogICAgICAgICAiIiJIYW5kbGUgYSBzaW5nbGUgWE1MLVJQQyByZXF1ZXN0IiIiCkBAIC05MjcsOSArOTMxLDEwIEBACiAKICAgICBkZWYgX19pbml0X18oc2VsZiwgYWRkciwgcmVxdWVzdEhhbmRsZXI9RG9jWE1MUlBDUmVxdWVzdEhhbmRsZXIsCiAgICAgICAgICAgICAgICAgIGxvZ1JlcXVlc3RzPVRydWUsIGFsbG93X25vbmU9RmFsc2UsIGVuY29kaW5nPU5vbmUsCi0gICAgICAgICAgICAgICAgIGJpbmRfYW5kX2FjdGl2YXRlPVRydWUpOgorICAgICAgICAgICAgICAgICBiaW5kX2FuZF9hY3RpdmF0ZT1UcnVlLCB1c2VfYnVpbHRpbl90eXBlcz1GYWxzZSk6CiAgICAgICAgIFNpbXBsZVhNTFJQQ1NlcnZlci5fX2luaXRfXyhzZWxmLCBhZGRyLCByZXF1ZXN0SGFuZGxlciwgbG9nUmVxdWVzdHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGxvd19ub25lLCBlbmNvZGluZywgYmluZF9hbmRfYWN0aXZhdGUpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGxvd19ub25lLCBlbmNvZGluZywgYmluZF9hbmRfYWN0aXZhdGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VfYnVpbHRpbl90eXBlcykKICAgICAgICAgWE1MUlBDRG9jR2VuZXJhdG9yLl9faW5pdF9fKHNlbGYpCiAKIGNsYXNzIERvY0NHSVhNTFJQQ1JlcXVlc3RIYW5kbGVyKCAgIENHSVhNTFJQQ1JlcXVlc3RIYW5kbGVyLApAQCAtOTU5LDggKzk2NCwxMyBAQAogCiAKIGlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6Ci0gICAgcHJpbnQoJ1J1bm5pbmcgWE1MLVJQQyBzZXJ2ZXIgb24gcG9ydCA4MDAwJykKICAgICBzZXJ2ZXIgPSBTaW1wbGVYTUxSUENTZXJ2ZXIoKCJsb2NhbGhvc3QiLCA4MDAwKSkKICAgICBzZXJ2ZXIucmVnaXN0ZXJfZnVuY3Rpb24ocG93KQogICAgIHNlcnZlci5yZWdpc3Rlcl9mdW5jdGlvbihsYW1iZGEgeCx5OiB4K3ksICdhZGQnKQotICAgIHNlcnZlci5zZXJ2ZV9mb3JldmVyKCkKKyAgICBwcmludCgnU2VydmluZyBYTUwtUlBDIG9uIGxvY2FsaG9zdCBwb3J0IDgwMDAnKQorICAgIHRyeToKKyAgICAgICAgc2VydmVyLnNlcnZlX2ZvcmV2ZXIoKQorICAgIGV4Y2VwdCBLZXlib2FyZEludGVycnVwdDoKKyAgICAgICAgcHJpbnQoIlxuS2V5Ym9hcmQgaW50ZXJydXB0IHJlY2VpdmVkLCBleGl0aW5nLiIpCisgICAgICAgIHNlcnZlci5zZXJ2ZXJfY2xvc2UoKQorICAgICAgICBzeXMuZXhpdCgwKQpkaWZmIC0tZ2l0IGEvTWFrZWZpbGUucHJlLmluIGIvTWFrZWZpbGUucHJlLmluCmluZGV4IGE4NWY4ZGQuLjEzMjExNjIgMTAwNjQ0Ci0tLSBhL01ha2VmaWxlLnByZS5pbgorKysgYi9NYWtlZmlsZS5wcmUuaW4KQEAgLTM0LDcgKzM0LDYgQEAKIExJTktDQz0JCUBMSU5LQ0NACiBBUj0JCUBBUkAKIFJBTkxJQj0JCUBSQU5MSUJACi1TVk5WRVJTSU9OPQlAU1ZOVkVSU0lPTkAKIFNPQUJJPQkJQFNPQUJJQAogTERWRVJTSU9OPQlATERWRVJTSU9OQAogSEdWRVJTSU9OPQlASEdWRVJTSU9OQApAQCAtNTksNiArNTgsOCBAQAogIyBBbHNvLCBtYWtpbmcgdGhlbSByZWFkLW9ubHkgc2VlbXMgdG8gYmUgYSBnb29kIGlkZWEuLi4KIElOU1RBTExfU0hBUkVEPSAke0lOU1RBTEx9IC1tIDU1NQogCitNS0RJUl9QPQlATUtESVJfUEAKKwogTUFLRVNFVFVQPSAgICAgICQoc3JjZGlyKS9Nb2R1bGVzL21ha2VzZXR1cAogCiAjIENvbXBpbGVyIG9wdGlvbnMKQEAgLTc0LDcgKzc1LDcgQEAKICMgQm90aCBDUFBGTEFHUyBhbmQgTERGTEFHUyBuZWVkIHRvIGNvbnRhaW4gdGhlIHNoZWxsJ3MgdmFsdWUgZm9yIHNldHVwLnB5IHRvCiAjIGJlIGFibGUgdG8gYnVpbGQgZXh0ZW5zaW9uIG1vZHVsZXMgdXNpbmcgdGhlIGRpcmVjdG9yaWVzIHNwZWNpZmllZCBpbiB0aGUKICMgZW52aXJvbm1lbnQgdmFyaWFibGVzCi1QWV9DUFBGTEFHUz0JLUkuIC1JSW5jbHVkZSAtSSQoc3JjZGlyKS9JbmNsdWRlICQoQ09ORklHVVJFX0NQUEZMQUdTKSAkKENQUEZMQUdTKQorUFlfQ1BQRkxBR1M9CS1JLiAtSSQoc3JjZGlyKS9JbmNsdWRlICQoQ09ORklHVVJFX0NQUEZMQUdTKSAkKENQUEZMQUdTKQogUFlfTERGTEFHUz0JJChDT05GSUdVUkVfTERGTEFHUykgJChMREZMQUdTKQogTk9fQVNfTkVFREVEPQlATk9fQVNfTkVFREVEQAogTERMQVNUPQkJQExETEFTVEAKQEAgLTIzNCwyMCArMjM1LDQxIEBACiAjIFBhcnNlcgogUEdFTj0JCVBhcnNlci9wZ2VuJChFWEUpCiAKK1BTUkNTPQkJXAorCQlQYXJzZXIvYWNjZWxlci5jIFwKKwkJUGFyc2VyL2dyYW1tYXIxLmMgXAorCQlQYXJzZXIvbGlzdG5vZGUuYyBcCisJCVBhcnNlci9ub2RlLmMgXAorCQlQYXJzZXIvcGFyc2VyLmMgXAorCQlQYXJzZXIvYml0c2V0LmMgXAorCQlQYXJzZXIvbWV0YWdyYW1tYXIuYyBcCisJCVBhcnNlci9maXJzdHNldHMuYyBcCisJCVBhcnNlci9ncmFtbWFyLmMgXAorCQlQYXJzZXIvcGdlbi5jCisKIFBPQkpTPQkJXAogCQlQYXJzZXIvYWNjZWxlci5vIFwKIAkJUGFyc2VyL2dyYW1tYXIxLm8gXAogCQlQYXJzZXIvbGlzdG5vZGUubyBcCiAJCVBhcnNlci9ub2RlLm8gXAogCQlQYXJzZXIvcGFyc2VyLm8gXAotCQlQYXJzZXIvcGFyc2V0b2subyBcCiAJCVBhcnNlci9iaXRzZXQubyBcCiAJCVBhcnNlci9tZXRhZ3JhbW1hci5vIFwKIAkJUGFyc2VyL2ZpcnN0c2V0cy5vIFwKIAkJUGFyc2VyL2dyYW1tYXIubyBcCiAJCVBhcnNlci9wZ2VuLm8KIAotUEFSU0VSX09CSlM9CSQoUE9CSlMpIFBhcnNlci9teXJlYWRsaW5lLm8gUGFyc2VyL3Rva2VuaXplci5vCitQQVJTRVJfT0JKUz0JJChQT0JKUykgUGFyc2VyL215cmVhZGxpbmUubyBQYXJzZXIvcGFyc2V0b2subyBQYXJzZXIvdG9rZW5pemVyLm8KKworUEdTUkNTPQkJXAorCQlPYmplY3RzL29ibWFsbG9jLmMgXAorCQlQeXRob24vZHluYW1pY19hbm5vdGF0aW9ucy5jIFwKKwkJUHl0aG9uL215c25wcmludGYuYyBcCisJCVB5dGhvbi9weWN0eXBlLmMgXAorCQlQYXJzZXIvdG9rZW5pemVyX3BnZW4uYyBcCisJCVBhcnNlci9wcmludGdyYW1tYXIuYyBcCisJCVBhcnNlci9wYXJzZXRva19wZ2VuLmMgXAorCQlQYXJzZXIvcGdlbm1haW4uYwogCiBQR09CSlM9CQlcCiAJCU9iamVjdHMvb2JtYWxsb2MubyBcCkBAIC0yNTYsMTMgKzI3OCwxNiBAQAogCQlQeXRob24vcHljdHlwZS5vIFwKIAkJUGFyc2VyL3Rva2VuaXplcl9wZ2VuLm8gXAogCQlQYXJzZXIvcHJpbnRncmFtbWFyLm8gXAorCQlQYXJzZXIvcGFyc2V0b2tfcGdlbi5vIFwKIAkJUGFyc2VyL3BnZW5tYWluLm8KIAogUEFSU0VSX0hFQURFUlM9IFwKLQkJUGFyc2VyL3BhcnNlci5oIFwKLQkJUGFyc2VyL3Rva2VuaXplci5oCisJCSQoc3JjZGlyKS9QYXJzZXIvcGFyc2VyLmggXAorCQkkKHNyY2RpcikvSW5jbHVkZS9wYXJzZXRvay5oIFwKKwkJJChzcmNkaXIpL1BhcnNlci90b2tlbml6ZXIuaAogCi1QR0VOT0JKUz0JJChQR0VOTUFJTikgJChQT0JKUykgJChQR09CSlMpCitQR0VOU1JDUz0JJChQU1JDUykgJChQR1NSQ1MpCitQR0VOT0JKUz0JJChQT0JKUykgJChQR09CSlMpCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAjIEFTVApAQCAtMzcxLDcgKzM5Niw3IEBACiAJCU9iamVjdHMvb2JtYWxsb2MubyBcCiAJCU9iamVjdHMvY2Fwc3VsZS5vIFwKIAkJT2JqZWN0cy9yYW5nZW9iamVjdC5vIFwKLSAgICAgICAgICAgICAgICBPYmplY3RzL3NldG9iamVjdC5vIFwKKwkJT2JqZWN0cy9zZXRvYmplY3QubyBcCiAJCU9iamVjdHMvc2xpY2VvYmplY3QubyBcCiAJCU9iamVjdHMvc3RydWN0c2VxLm8gXAogCQlPYmplY3RzL3R1cGxlb2JqZWN0Lm8gXApAQCAtMzgwLDYgKzQwNSw3IEBACiAJCU9iamVjdHMvdW5pY29kZWN0eXBlLm8gXAogCQlPYmplY3RzL3dlYWtyZWZvYmplY3QubwogCitTWVNDT05GSUdEQVRBPSQoc3JjZGlyKS9MaWIvX3N5c2NvbmZpZ2RhdGEucHkKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICMgb2JqZWN0cyB0aGF0IGdldCBsaW5rZWQgaW50byB0aGUgUHl0aG9uIGxpYnJhcnkKQEAgLTM5Nyw3ICs0MjMsNyBAQAogCiAjIERlZmF1bHQgdGFyZ2V0CiBhbGw6CQlidWlsZF9hbGwKLWJ1aWxkX2FsbDoJJChCVUlMRFBZVEhPTikgb2xkc2hhcmVkbW9kcyBzaGFyZWRtb2RzIGdkYmhvb2tzIE1vZHVsZXMvX3Rlc3RlbWJlZAorYnVpbGRfYWxsOgkkKEJVSUxEUFlUSE9OKSAkKFNZU0NPTkZJR0RBVEEpIG9sZHNoYXJlZG1vZHMgc2hhcmVkbW9kcyBnZGJob29rcyBNb2R1bGVzL190ZXN0ZW1iZWQKIAogIyBDb21waWxlIGEgYmluYXJ5IHdpdGggZ2NjIHByb2ZpbGUgZ3VpZGVkIG9wdGltaXphdGlvbi4KIHByb2ZpbGUtb3B0OgpAQCAtNDMwLDEyICs0NTYsMTUgQEAKICQoQlVJTERQWVRIT04pOglNb2R1bGVzL3B5dGhvbi5vICQoTElCUkFSWSkgJChMRExJQlJBUlkpICQoUFkzTElCUkFSWSkKIAkkKExJTktDQykgJChQWV9MREZMQUdTKSAkKExJTktGT1JTSEFSRUQpIC1vICRAIE1vZHVsZXMvcHl0aG9uLm8gJChCTERMSUJSQVJZKSAkKExJQlMpICQoTU9ETElCUykgJChTWVNMSUJTKSAkKExETEFTVCkKIAotcGxhdGZvcm06ICQoQlVJTERQWVRIT04pCitwbGF0Zm9ybTogJChCVUlMRFBZVEhPTikgJChTWVNDT05GSUdEQVRBKQogCSQoUlVOU0hBUkVEKSAuLyQoQlVJTERQWVRIT04pIC1FIC1jICdpbXBvcnQgc3lzIDsgZnJvbSBzeXNjb25maWcgaW1wb3J0IGdldF9wbGF0Zm9ybSA7IHByaW50KGdldF9wbGF0Zm9ybSgpKyItIitzeXMudmVyc2lvblswOjNdKScgPnBsYXRmb3JtCiAKKyMgR2VuZXJhdGUgdGhlIHN5c2NvbmZpZyBidWlsZC10aW1lIGRhdGEKKyQoU1lTQ09ORklHREFUQSk6ICQoQlVJTERQWVRIT04pCisJJChSVU5TSEFSRUQpIC4vJChCVUlMRFBZVEhPTikgLVNFIC1tIHN5c2NvbmZpZyAtLWdlbmVyYXRlLXBvc2l4LXZhcnMKIAogIyBCdWlsZCB0aGUgc2hhcmVkIG1vZHVsZXMKLXNoYXJlZG1vZHM6ICQoQlVJTERQWVRIT04pCitzaGFyZWRtb2RzOiAkKEJVSUxEUFlUSE9OKSAkKFNZU0NPTkZJR0RBVEEpCiAJQGNhc2UgJCRNQUtFRkxBR1MgaW4gXAogCSpzKikgJChSVU5TSEFSRUQpIENDPSckKENDKScgTERTSEFSRUQ9JyQoQkxEU0hBUkVEKScgT1BUPSckKE9QVCknIC4vJChCVUlMRFBZVEhPTikgLUUgJChzcmNkaXIpL3NldHVwLnB5IC1xIGJ1aWxkOzsgXAogCSopICQoUlVOU0hBUkVEKSBDQz0nJChDQyknIExEU0hBUkVEPSckKEJMRFNIQVJFRCknIE9QVD0nJChPUFQpJyAuLyQoQlVJTERQWVRIT04pIC1FICQoc3JjZGlyKS9zZXR1cC5weSBidWlsZDs7IFwKQEAgLTQ5NSw3ICs1MjQsNyBAQAogCQktaW5zdGFsbF9uYW1lICQoREVTVERJUikkKFBZVEhPTkZSQU1FV09SS0lOU1RBTExESVIpL1ZlcnNpb25zLyQoVkVSU0lPTikvJChQWVRIT05GUkFNRVdPUkspIFwKIAkJLWNvbXBhdGliaWxpdHlfdmVyc2lvbiAkKFZFUlNJT04pIFwKIAkJLWN1cnJlbnRfdmVyc2lvbiAkKFZFUlNJT04pIFwKLQkJLWZyYW1ld29yayBDb3JlRm91bmRhdGlvbiAkKExJQlMpOyAKKwkJLWZyYW1ld29yayBDb3JlRm91bmRhdGlvbiAkKExJQlMpOwogCSQoSU5TVEFMTCkgLWQgLW0gJChESVJNT0RFKSAgXAogCQkkKFBZVEhPTkZSQU1FV09SS0RJUikvVmVyc2lvbnMvJChWRVJTSU9OKS9SZXNvdXJjZXMvRW5nbGlzaC5scHJvagogCSQoSU5TVEFMTF9EQVRBKSAkKFJFU1NSQ0RJUikvSW5mby5wbGlzdCBcCkBAIC01NTYsNyArNTg1LDYgQEAKIAkJJChNT0RPQkpTKSBcCiAJCSQoc3JjZGlyKS9Nb2R1bGVzL2dldGJ1aWxkaW5mby5jCiAJJChDQykgLWMgJChQWV9DT1JFX0NGTEFHUykgXAotCSAgICAgIC1EU1ZOVkVSU0lPTj0iXCJgTENfQUxMPUMgJChTVk5WRVJTSU9OKWBcIiIgXAogCSAgICAgIC1ESEdWRVJTSU9OPSJcImBMQ19BTEw9QyAkKEhHVkVSU0lPTilgXCIiIFwKIAkgICAgICAtREhHVEFHPSJcImBMQ19BTEw9QyAkKEhHVEFHKWBcIiIgXAogCSAgICAgIC1ESEdCUkFOQ0g9IlwiYExDX0FMTD1DICQoSEdCUkFOQ0gpYFwiIiBcCkBAIC01NzMsNiArNjAxLDkgQEAKIE1vZHVsZXMvcHl0aG9uLm86ICQoc3JjZGlyKS9Nb2R1bGVzL3B5dGhvbi5jCiAJJChNQUlOQ0MpIC1jICQoUFlfQ09SRV9DRkxBR1MpIC1vICRAICQoc3JjZGlyKS9Nb2R1bGVzL3B5dGhvbi5jCiAKK01vZHVsZXMvX3Rlc3RlbWJlZC5vOiAkKHNyY2RpcikvTW9kdWxlcy9fdGVzdGVtYmVkLmMKKwkkKE1BSU5DQykgLWMgJChQWV9DT1JFX0NGTEFHUykgLW8gJEAgJChzcmNkaXIpL01vZHVsZXMvX3Rlc3RlbWJlZC5jCisKIFB5dGhvbi9keW5sb2FkX3NobGliLm86ICQoc3JjZGlyKS9QeXRob24vZHlubG9hZF9zaGxpYi5jIE1ha2VmaWxlCiAJJChDQykgLWMgJChQWV9DT1JFX0NGTEFHUykgXAogCQktRFNPQUJJPSciJChTT0FCSSkiJyBcCkBAIC01ODUsMTIgKzYxNiwxMyBAQAogCiAkKElPX09CSlMpOiAkKElPX0gpCiAKLSMgVXNlIGEgc3RhbXAgZmlsZSB0byBwcmV2ZW50IG1ha2UgLWogaW52b2tpbmcgcGdlbiB0d2ljZQotJChHUkFNTUFSX0gpICQoR1JBTU1BUl9DKTogUGFyc2VyL3BnZW4uc3RhbXAKLVBhcnNlci9wZ2VuLnN0YW1wOiAkKFBHRU4pICQoR1JBTU1BUl9JTlBVVCkKLQkJLUAkKElOU1RBTEwpIC1kIEluY2x1ZGUKKyQoR1JBTU1BUl9IKTogJChHUkFNTUFSX0lOUFVUKSAkKFBHRU5TUkNTKQorCQlAJChNS0RJUl9QKSBJbmNsdWRlCisJCSQoTUFLRSkgJChQR0VOKQogCQkkKFBHRU4pICQoR1JBTU1BUl9JTlBVVCkgJChHUkFNTUFSX0gpICQoR1JBTU1BUl9DKQotCQktdG91Y2ggUGFyc2VyL3BnZW4uc3RhbXAKKyQoR1JBTU1BUl9DKTogJChHUkFNTUFSX0gpICQoR1JBTU1BUl9JTlBVVCkgJChQR0VOU1JDUykKKwkJJChNQUtFKSAkKEdSQU1NQVJfSCkKKwkJdG91Y2ggJChHUkFNTUFSX0MpCiAKICQoUEdFTik6CSQoUEdFTk9CSlMpCiAJCSQoQ0MpICQoT1BUKSAkKFBZX0xERkxBR1MpICQoUEdFTk9CSlMpICQoTElCUykgLW8gJChQR0VOKQpAQCAtNjAxLDEzICs2MzMsMTUgQEAKIFBhcnNlci9tZXRhZ3JhbW1hci5vOgkkKHNyY2RpcikvUGFyc2VyL21ldGFncmFtbWFyLmMKIAogUGFyc2VyL3Rva2VuaXplcl9wZ2VuLm86CSQoc3JjZGlyKS9QYXJzZXIvdG9rZW5pemVyLmMKK1BhcnNlci9wYXJzZXRva19wZ2VuLm86CSQoc3JjZGlyKS9QYXJzZXIvcGFyc2V0b2suYworUGFyc2VyL3ByaW50Z3JhbW1hci5vOiAkKHNyY2RpcikvUGFyc2VyL3ByaW50Z3JhbW1hci5jCiAKIFBhcnNlci9wZ2VubWFpbi5vOgkkKHNyY2RpcikvSW5jbHVkZS9wYXJzZXRvay5oCiAKICQoQVNUX0gpOiAkKEFTVF9BU0RMKSAkKEFTRExHRU5fRklMRVMpCiAJJChBU0RMR0VOKSAtaCAkKEFTVF9IX0RJUikgJChBU1RfQVNETCkKIAotJChBU1RfQyk6ICQoQVNUX0FTREwpICQoQVNETEdFTl9GSUxFUykKKyQoQVNUX0MpOiAkKEFTVF9IKSAkKEFTVF9BU0RMKSAkKEFTRExHRU5fRklMRVMpCiAJJChBU0RMR0VOKSAtYyAkKEFTVF9DX0RJUikgJChBU1RfQVNETCkKIAogUHl0aG9uL2NvbXBpbGUubyBQeXRob24vc3ltdGFibGUubyBQeXRob24vYXN0Lm86ICQoR1JBTU1BUl9IKSAkKEFTVF9IKQpAQCAtNjI4LDIwICs2NjIsMjkgQEAKIAkJJChzcmNkaXIpL09iamVjdHMvc3RyaW5nbGliL2VxLmggXAogCQkkKHNyY2RpcikvT2JqZWN0cy9zdHJpbmdsaWIvZmFzdHNlYXJjaC5oIFwKIAkJJChzcmNkaXIpL09iamVjdHMvc3RyaW5nbGliL2ZpbmQuaCBcCisJCSQoc3JjZGlyKS9PYmplY3RzL3N0cmluZ2xpYi9maW5kX21heF9jaGFyLmggXAogCQkkKHNyY2RpcikvT2JqZWN0cy9zdHJpbmdsaWIvcGFydGl0aW9uLmggXAogCQkkKHNyY2RpcikvT2JqZWN0cy9zdHJpbmdsaWIvc3BsaXQuaCBcCiAJCSQoc3JjZGlyKS9PYmplY3RzL3N0cmluZ2xpYi9zdHJpbmdkZWZzLmggXAotCQkkKHNyY2RpcikvT2JqZWN0cy9zdHJpbmdsaWIvc3RyaW5nX2Zvcm1hdC5oIFwKIAkJJChzcmNkaXIpL09iamVjdHMvc3RyaW5nbGliL3RyYW5zbW9ncmlmeS5oIFwKIAkJJChzcmNkaXIpL09iamVjdHMvc3RyaW5nbGliL3VuaWNvZGVkZWZzLmggXAotCQkkKHNyY2RpcikvT2JqZWN0cy9zdHJpbmdsaWIvbG9jYWxldXRpbC5oCisJCSQoc3JjZGlyKS9PYmplY3RzL3N0cmluZ2xpYi9sb2NhbGV1dGlsLmggXAorCQkkKHNyY2RpcikvT2JqZWN0cy9zdHJpbmdsaWIvdW5kZWYuaAorCitVTklDT0RFX0RFUFMgPSAkKEJZVEVTVFJfREVQUykgXAorCQkkKHNyY2RpcikvT2JqZWN0cy9zdHJpbmdsaWIvYXNjaWlsaWIuaCBcCisJCSQoc3JjZGlyKS9PYmplY3RzL3N0cmluZ2xpYi9jb2RlY3MuaCBcCisJCSQoc3JjZGlyKS9PYmplY3RzL3N0cmluZ2xpYi91Y3MxbGliLmggXAorCQkkKHNyY2RpcikvT2JqZWN0cy9zdHJpbmdsaWIvdWNzMmxpYi5oIFwKKwkJJChzcmNkaXIpL09iamVjdHMvc3RyaW5nbGliL3VjczRsaWIuaCBcCisJCSQoc3JjZGlyKS9PYmplY3RzL3N0cmluZ2xpYi91bmljb2RlX2Zvcm1hdC5oIFwKKwkJJChzcmNkaXIpL09iamVjdHMvc3RyaW5nbGliL3VuaWNvZGVkZWZzLmgKIAogT2JqZWN0cy9ieXRlc29iamVjdC5vOiAkKHNyY2RpcikvT2JqZWN0cy9ieXRlc29iamVjdC5jICQoQllURVNUUl9ERVBTKQogCiBPYmplY3RzL2J5dGVhcnJheW9iamVjdC5vOiAkKHNyY2RpcikvT2JqZWN0cy9ieXRlYXJyYXlvYmplY3QuYyAkKEJZVEVTVFJfREVQUykKIAotT2JqZWN0cy91bmljb2Rlb2JqZWN0Lm86ICQoc3JjZGlyKS9PYmplY3RzL3VuaWNvZGVvYmplY3QuYyBcCi0JCQkJJChCWVRFU1RSX0RFUFMpCitPYmplY3RzL3VuaWNvZGVvYmplY3QubzogJChzcmNkaXIpL09iamVjdHMvdW5pY29kZW9iamVjdC5jICQoVU5JQ09ERV9ERVBTKQogCiBPYmplY3RzL2RpY3RvYmplY3QubzogJChzcmNkaXIpL09iamVjdHMvc3RyaW5nbGliL2VxLmgKIE9iamVjdHMvc2V0b2JqZWN0Lm86ICQoc3JjZGlyKS9PYmplY3RzL3N0cmluZ2xpYi9lcS5oCkBAIC02NDksMTEgKzY5MiwxMCBAQAogJChPUENPREVUQVJHRVRTX0gpOiAkKE9QQ09ERVRBUkdFVEdFTl9GSUxFUykKIAkkKE9QQ09ERVRBUkdFVEdFTikgJChPUENPREVUQVJHRVRTX0gpCiAKLVB5dGhvbi9jZXZhbC5vOiAkKE9QQ09ERVRBUkdFVFNfSCkgUHl0aG9uL2NldmFsX2dpbC5oCitQeXRob24vY2V2YWwubzogJChPUENPREVUQVJHRVRTX0gpICQoc3JjZGlyKS9QeXRob24vY2V2YWxfZ2lsLmgKIAogUHl0aG9uL2Zvcm1hdHRlcl91bmljb2RlLm86ICQoc3JjZGlyKS9QeXRob24vZm9ybWF0dGVyX3VuaWNvZGUuYyBcCi0JCQkJJChCWVRFU1RSX0RFUFMpIFwKLQkJCQkkKHNyY2RpcikvT2JqZWN0cy9zdHJpbmdsaWIvZm9ybWF0dGVyLmgKKwkJCQkkKEJZVEVTVFJfREVQUykKIAogT2JqZWN0cy90eXBlb2JqZWN0Lm86ICQoc3JjZGlyKS9PYmplY3RzL3R5cGVzbG90cy5pbmMKICQoc3JjZGlyKS9PYmplY3RzL3R5cGVzbG90cy5pbmM6ICQoc3JjZGlyKS9JbmNsdWRlL3R5cGVzbG90cy5oICQoc3JjZGlyKS9PYmplY3RzL3R5cGVzbG90cy5weQpAQCAtNjYzLDg5ICs3MDUsODggQEAKICMgSGVhZGVyIGZpbGVzCiAKIFBZVEhPTl9IRUFERVJTPSBcCi0JCUluY2x1ZGUvUHl0aG9uLWFzdC5oIFwKLQkJSW5jbHVkZS9QeXRob24uaCBcCi0JCUluY2x1ZGUvYWJzdHJhY3QuaCBcCi0JCUluY2x1ZGUvYWNjdS5oIFwKLQkJSW5jbHVkZS9hc2RsLmggXAotCQlJbmNsdWRlL2FzdC5oIFwKLSAgICAgICAgICAgICAgICBJbmNsdWRlL2JsdGlubW9kdWxlLmggXAotCQlJbmNsdWRlL2JpdHNldC5oIFwKLQkJSW5jbHVkZS9ib29sb2JqZWN0LmggXAotCQlJbmNsdWRlL2J5dGVzX21ldGhvZHMuaCBcCi0JCUluY2x1ZGUvYnl0ZWFycmF5b2JqZWN0LmggXAotCQlJbmNsdWRlL2J5dGVzb2JqZWN0LmggXAotCQlJbmNsdWRlL2NlbGxvYmplY3QuaCBcCi0JCUluY2x1ZGUvY2V2YWwuaCBcCi0JCUluY2x1ZGUvY2xhc3NvYmplY3QuaCBcCi0JCUluY2x1ZGUvY29kZS5oIFwKLQkJSW5jbHVkZS9jb2RlY3MuaCBcCi0JCUluY2x1ZGUvY29tcGlsZS5oIFwKLQkJSW5jbHVkZS9jb21wbGV4b2JqZWN0LmggXAotCQlJbmNsdWRlL2Rlc2Nyb2JqZWN0LmggXAotCQlJbmNsdWRlL2RpY3RvYmplY3QuaCBcCi0JCUluY2x1ZGUvZHRvYS5oIFwKLQkJSW5jbHVkZS9keW5hbWljX2Fubm90YXRpb25zLmggXAotCQlJbmNsdWRlL2VudW1vYmplY3QuaCBcCi0JCUluY2x1ZGUvZXJyY29kZS5oIFwKLQkJSW5jbHVkZS9ldmFsLmggXAotCQlJbmNsdWRlL2ZpbGVvYmplY3QuaCBcCi0JCUluY2x1ZGUvZmlsZXV0aWxzLmggXAotCQlJbmNsdWRlL2Zsb2F0b2JqZWN0LmggXAotCQlJbmNsdWRlL2ZyYW1lb2JqZWN0LmggXAotCQlJbmNsdWRlL2Z1bmNvYmplY3QuaCBcCi0JCUluY2x1ZGUvZ2Vub2JqZWN0LmggXAotCQlJbmNsdWRlL2ltcG9ydC5oIFwKLQkJSW5jbHVkZS9pbnRyY2hlY2suaCBcCi0JCUluY2x1ZGUvaXRlcm9iamVjdC5oIFwKLQkJSW5jbHVkZS9saXN0b2JqZWN0LmggXAotCQlJbmNsdWRlL2xvbmdpbnRyZXByLmggXAotCQlJbmNsdWRlL2xvbmdvYmplY3QuaCBcCi0JCUluY2x1ZGUvbWFyc2hhbC5oIFwKLQkJSW5jbHVkZS9tZW1vcnlvYmplY3QuaCBcCi0JCUluY2x1ZGUvbWV0YWdyYW1tYXIuaCBcCi0JCUluY2x1ZGUvbWV0aG9kb2JqZWN0LmggXAotCQlJbmNsdWRlL21vZHN1cHBvcnQuaCBcCi0JCUluY2x1ZGUvbW9kdWxlb2JqZWN0LmggXAotCQlJbmNsdWRlL25vZGUuaCBcCi0JCUluY2x1ZGUvb2JqZWN0LmggXAotCQlJbmNsdWRlL29iamltcGwuaCBcCi0JCUluY2x1ZGUvb3Bjb2RlLmggXAotCQlJbmNsdWRlL29zZGVmcy5oIFwKLQkJSW5jbHVkZS9wYXJzZXRvay5oIFwKLQkJSW5jbHVkZS9wYXRjaGxldmVsLmggXAotCQlJbmNsdWRlL3BnZW4uaCBcCi0JCUluY2x1ZGUvcGdlbmhlYWRlcnMuaCBcCi0JCUluY2x1ZGUvcHlhcmVuYS5oIFwKLQkJSW5jbHVkZS9weWF0b21pYy5oIFwKLQkJSW5jbHVkZS9weWNhcHN1bGUuaCBcCi0JCUluY2x1ZGUvcHljdHlwZS5oIFwKLQkJSW5jbHVkZS9weWRlYnVnLmggXAotCQlJbmNsdWRlL3B5ZXJyb3JzLmggXAotCQlJbmNsdWRlL3B5ZnBlLmggXAotCQlJbmNsdWRlL3B5bWF0aC5oIFwKLQkJSW5jbHVkZS9weWdldG9wdC5oIFwKLQkJSW5jbHVkZS9weW1lbS5oIFwKLQkJSW5jbHVkZS9weXBvcnQuaCBcCi0JCUluY2x1ZGUvcHlzdGF0ZS5oIFwKLQkJSW5jbHVkZS9weXN0cmNtcC5oIFwKLQkJSW5jbHVkZS9weXN0cnRvZC5oIFwKLQkJSW5jbHVkZS9weXRob25ydW4uaCBcCi0JCUluY2x1ZGUvcHl0aHJlYWQuaCBcCi0JCUluY2x1ZGUvcHl0aW1lLmggXAotCQlJbmNsdWRlL3Jhbmdlb2JqZWN0LmggXAotCQlJbmNsdWRlL3NldG9iamVjdC5oIFwKLQkJSW5jbHVkZS9zbGljZW9iamVjdC5oIFwKLQkJSW5jbHVkZS9zdHJ1Y3RtZW1iZXIuaCBcCi0JCUluY2x1ZGUvc3RydWN0c2VxLmggXAotCQlJbmNsdWRlL3N5bXRhYmxlLmggXAotCQlJbmNsdWRlL3N5c21vZHVsZS5oIFwKLQkJSW5jbHVkZS90cmFjZWJhY2suaCBcCi0JCUluY2x1ZGUvdHVwbGVvYmplY3QuaCBcCi0JCUluY2x1ZGUvdWNuaGFzaC5oIFwKLQkJSW5jbHVkZS91bmljb2Rlb2JqZWN0LmggXAotCQlJbmNsdWRlL3dhcm5pbmdzLmggXAotCQlJbmNsdWRlL3dlYWtyZWZvYmplY3QuaCBcCisJCSQoc3JjZGlyKS9JbmNsdWRlL1B5dGhvbi5oIFwKKwkJJChzcmNkaXIpL0luY2x1ZGUvYWJzdHJhY3QuaCBcCisJCSQoc3JjZGlyKS9JbmNsdWRlL2FjY3UuaCBcCisJCSQoc3JjZGlyKS9JbmNsdWRlL2FzZGwuaCBcCisJCSQoc3JjZGlyKS9JbmNsdWRlL2FzdC5oIFwKKwkJJChzcmNkaXIpL0luY2x1ZGUvYmx0aW5tb2R1bGUuaCBcCisJCSQoc3JjZGlyKS9JbmNsdWRlL2JpdHNldC5oIFwKKwkJJChzcmNkaXIpL0luY2x1ZGUvYm9vbG9iamVjdC5oIFwKKwkJJChzcmNkaXIpL0luY2x1ZGUvYnl0ZXNfbWV0aG9kcy5oIFwKKwkJJChzcmNkaXIpL0luY2x1ZGUvYnl0ZWFycmF5b2JqZWN0LmggXAorCQkkKHNyY2RpcikvSW5jbHVkZS9ieXRlc29iamVjdC5oIFwKKwkJJChzcmNkaXIpL0luY2x1ZGUvY2VsbG9iamVjdC5oIFwKKwkJJChzcmNkaXIpL0luY2x1ZGUvY2V2YWwuaCBcCisJCSQoc3JjZGlyKS9JbmNsdWRlL2NsYXNzb2JqZWN0LmggXAorCQkkKHNyY2RpcikvSW5jbHVkZS9jb2RlLmggXAorCQkkKHNyY2RpcikvSW5jbHVkZS9jb2RlY3MuaCBcCisJCSQoc3JjZGlyKS9JbmNsdWRlL2NvbXBpbGUuaCBcCisJCSQoc3JjZGlyKS9JbmNsdWRlL2NvbXBsZXhvYmplY3QuaCBcCisJCSQoc3JjZGlyKS9JbmNsdWRlL2Rlc2Nyb2JqZWN0LmggXAorCQkkKHNyY2RpcikvSW5jbHVkZS9kaWN0b2JqZWN0LmggXAorCQkkKHNyY2RpcikvSW5jbHVkZS9kdG9hLmggXAorCQkkKHNyY2RpcikvSW5jbHVkZS9keW5hbWljX2Fubm90YXRpb25zLmggXAorCQkkKHNyY2RpcikvSW5jbHVkZS9lbnVtb2JqZWN0LmggXAorCQkkKHNyY2RpcikvSW5jbHVkZS9lcnJjb2RlLmggXAorCQkkKHNyY2RpcikvSW5jbHVkZS9ldmFsLmggXAorCQkkKHNyY2RpcikvSW5jbHVkZS9maWxlb2JqZWN0LmggXAorCQkkKHNyY2RpcikvSW5jbHVkZS9maWxldXRpbHMuaCBcCisJCSQoc3JjZGlyKS9JbmNsdWRlL2Zsb2F0b2JqZWN0LmggXAorCQkkKHNyY2RpcikvSW5jbHVkZS9mcmFtZW9iamVjdC5oIFwKKwkJJChzcmNkaXIpL0luY2x1ZGUvZnVuY29iamVjdC5oIFwKKwkJJChzcmNkaXIpL0luY2x1ZGUvZ2Vub2JqZWN0LmggXAorCQkkKHNyY2RpcikvSW5jbHVkZS9pbXBvcnQuaCBcCisJCSQoc3JjZGlyKS9JbmNsdWRlL2ludHJjaGVjay5oIFwKKwkJJChzcmNkaXIpL0luY2x1ZGUvaXRlcm9iamVjdC5oIFwKKwkJJChzcmNkaXIpL0luY2x1ZGUvbGlzdG9iamVjdC5oIFwKKwkJJChzcmNkaXIpL0luY2x1ZGUvbG9uZ2ludHJlcHIuaCBcCisJCSQoc3JjZGlyKS9JbmNsdWRlL2xvbmdvYmplY3QuaCBcCisJCSQoc3JjZGlyKS9JbmNsdWRlL21hcnNoYWwuaCBcCisJCSQoc3JjZGlyKS9JbmNsdWRlL21lbW9yeW9iamVjdC5oIFwKKwkJJChzcmNkaXIpL0luY2x1ZGUvbWV0YWdyYW1tYXIuaCBcCisJCSQoc3JjZGlyKS9JbmNsdWRlL21ldGhvZG9iamVjdC5oIFwKKwkJJChzcmNkaXIpL0luY2x1ZGUvbW9kc3VwcG9ydC5oIFwKKwkJJChzcmNkaXIpL0luY2x1ZGUvbW9kdWxlb2JqZWN0LmggXAorCQkkKHNyY2RpcikvSW5jbHVkZS9ub2RlLmggXAorCQkkKHNyY2RpcikvSW5jbHVkZS9vYmplY3QuaCBcCisJCSQoc3JjZGlyKS9JbmNsdWRlL29iamltcGwuaCBcCisJCSQoc3JjZGlyKS9JbmNsdWRlL29wY29kZS5oIFwKKwkJJChzcmNkaXIpL0luY2x1ZGUvb3NkZWZzLmggXAorCQkkKHNyY2RpcikvSW5jbHVkZS9wYXRjaGxldmVsLmggXAorCQkkKHNyY2RpcikvSW5jbHVkZS9wZ2VuLmggXAorCQkkKHNyY2RpcikvSW5jbHVkZS9wZ2VuaGVhZGVycy5oIFwKKwkJJChzcmNkaXIpL0luY2x1ZGUvcHlhcmVuYS5oIFwKKwkJJChzcmNkaXIpL0luY2x1ZGUvcHlhdG9taWMuaCBcCisJCSQoc3JjZGlyKS9JbmNsdWRlL3B5Y2Fwc3VsZS5oIFwKKwkJJChzcmNkaXIpL0luY2x1ZGUvcHljdHlwZS5oIFwKKwkJJChzcmNkaXIpL0luY2x1ZGUvcHlkZWJ1Zy5oIFwKKwkJJChzcmNkaXIpL0luY2x1ZGUvcHllcnJvcnMuaCBcCisJCSQoc3JjZGlyKS9JbmNsdWRlL3B5ZnBlLmggXAorCQkkKHNyY2RpcikvSW5jbHVkZS9weW1hdGguaCBcCisJCSQoc3JjZGlyKS9JbmNsdWRlL3B5Z2V0b3B0LmggXAorCQkkKHNyY2RpcikvSW5jbHVkZS9weW1hY3JvLmggXAorCQkkKHNyY2RpcikvSW5jbHVkZS9weW1lbS5oIFwKKwkJJChzcmNkaXIpL0luY2x1ZGUvcHlwb3J0LmggXAorCQkkKHNyY2RpcikvSW5jbHVkZS9weXN0YXRlLmggXAorCQkkKHNyY2RpcikvSW5jbHVkZS9weXN0cmNtcC5oIFwKKwkJJChzcmNkaXIpL0luY2x1ZGUvcHlzdHJ0b2QuaCBcCisJCSQoc3JjZGlyKS9JbmNsdWRlL3B5dGhvbnJ1bi5oIFwKKwkJJChzcmNkaXIpL0luY2x1ZGUvcHl0aHJlYWQuaCBcCisJCSQoc3JjZGlyKS9JbmNsdWRlL3B5dGltZS5oIFwKKwkJJChzcmNkaXIpL0luY2x1ZGUvcmFuZ2VvYmplY3QuaCBcCisJCSQoc3JjZGlyKS9JbmNsdWRlL3NldG9iamVjdC5oIFwKKwkJJChzcmNkaXIpL0luY2x1ZGUvc2xpY2VvYmplY3QuaCBcCisJCSQoc3JjZGlyKS9JbmNsdWRlL3N0cnVjdG1lbWJlci5oIFwKKwkJJChzcmNkaXIpL0luY2x1ZGUvc3RydWN0c2VxLmggXAorCQkkKHNyY2RpcikvSW5jbHVkZS9zeW10YWJsZS5oIFwKKwkJJChzcmNkaXIpL0luY2x1ZGUvc3lzbW9kdWxlLmggXAorCQkkKHNyY2RpcikvSW5jbHVkZS90cmFjZWJhY2suaCBcCisJCSQoc3JjZGlyKS9JbmNsdWRlL3R1cGxlb2JqZWN0LmggXAorCQkkKHNyY2RpcikvSW5jbHVkZS91Y25oYXNoLmggXAorCQkkKHNyY2RpcikvSW5jbHVkZS91bmljb2Rlb2JqZWN0LmggXAorCQkkKHNyY2RpcikvSW5jbHVkZS93YXJuaW5ncy5oIFwKKwkJJChzcmNkaXIpL0luY2x1ZGUvd2Vha3JlZm9iamVjdC5oIFwKIAkJcHljb25maWcuaCBcCiAJCSQoUEFSU0VSX0hFQURFUlMpCiAKQEAgLTc1NCw2NSArNzk1LDU2IEBACiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIAotIyBUZXN0IHRoZSBpbnRlcnByZXRlciAodHdpY2UsIG9uY2Ugd2l0aG91dCAucHljIGZpbGVzLCBvbmNlIHdpdGgpCitURVNUT1BUUz0JJChFWFRSQVRFU1RPUFRTKQorVEVTVFBZVEhPTj0JJChSVU5TSEFSRUQpIC4vJChCVUlMRFBZVEhPTikgJChURVNUUFlUSE9OT1BUUykKK1RFU1RSVU5ORVI9CSQoVEVTVFBZVEhPTikgJChzcmNkaXIpL1Rvb2xzL3NjcmlwdHMvcnVuX3Rlc3RzLnB5CitURVNUVElNRU9VVD0JMzYwMAorCisjIFJ1biBhIGJhc2ljIHNldCBvZiByZWdyZXNzaW9uIHRlc3RzLgorIyBUaGlzIGV4Y2x1ZGVzIHNvbWUgdGVzdHMgdGhhdCBhcmUgcGFydGljdWxhcmx5IHJlc291cmNlLWludGVuc2l2ZS4KK3Rlc3Q6CQlhbGwgcGxhdGZvcm0KKwkJJChURVNUUlVOTkVSKSAkKFRFU1RPUFRTKQorCisjIFJ1biB0aGUgZnVsbCB0ZXN0IHN1aXRlIHR3aWNlIC0gb25jZSB3aXRob3V0IC5weWMgZmlsZXMsIGFuZCBvbmNlIHdpdGguCiAjIEluIHRoZSBwYXN0LCB3ZSd2ZSBoYWQgcHJvYmxlbXMgd2hlcmUgYnVncyBpbiB0aGUgbWFyc2hhbGxpbmcgb3IKICMgZWxzZXdoZXJlIGNhdXNlZCBieXRlY29kZSByZWFkIGZyb20gLnB5YyBmaWxlcyB0byBiZWhhdmUgZGlmZmVyZW50bHkKICMgdGhhbiBieXRlY29kZSBnZW5lcmF0ZWQgZGlyZWN0bHkgZnJvbSBhIC5weSBzb3VyY2UgZmlsZS4gIFNvbWV0aW1lcwotIyB0aGUgYnl0ZWNvZGUgcmVhZCBmcm9tIGEgLnB5YyBmaWxlIGhhZCB0aGUgYnVnLCBzb210aW1lcyB0aGUgZGlyZWN0bHkKKyMgdGhlIGJ5dGVjb2RlIHJlYWQgZnJvbSBhIC5weWMgZmlsZSBoYWQgdGhlIGJ1Zywgc29tZXRpbWVzIHRoZSBkaXJlY3RseQogIyBnZW5lcmF0ZWQgYnl0ZWNvZGUuICBUaGlzIGlzIHNvbWV0aW1lcyBhIHZlcnkgc2h5IGJ1ZyBuZWVkaW5nIGEgbG90IG9mCiAjIHNhbXBsZSBkYXRhLgotCi1URVNUT1BUUz0JLWwgJChFWFRSQVRFU1RPUFRTKQotVEVTVFBST0c9CSQoc3JjZGlyKS9MaWIvdGVzdC9yZWdydGVzdC5weQotVEVTVFBZVEhPTj0JJChSVU5TSEFSRUQpIC4vJChCVUlMRFBZVEhPTikgLVdkIC1FIC1SIC1iYiAkKFRFU1RQWVRIT05PUFRTKQotdGVzdDoJCWFsbCBwbGF0Zm9ybQotCQktZmluZCAkKHNyY2RpcikvTGliIC1uYW1lICcqLnB5W2NvXScgLXByaW50IHwgeGFyZ3Mgcm0gLWYKLQkJLSQoVEVTVFBZVEhPTikgJChURVNUUFJPRykgJChURVNUT1BUUykKLQkJJChURVNUUFlUSE9OKSAkKFRFU1RQUk9HKSAkKFRFU1RPUFRTKQotCiB0ZXN0YWxsOglhbGwgcGxhdGZvcm0KIAkJLWZpbmQgJChzcmNkaXIpL0xpYiAtbmFtZSAnKi5weVtjb10nIC1wcmludCB8IHhhcmdzIHJtIC1mCi0JCSQoVEVTVFBZVEhPTikgJChzcmNkaXIpL0xpYi9jb21waWxlYWxsLnB5CisJCSQoVEVTVFBZVEhPTikgLUUgJChzcmNkaXIpL0xpYi9jb21waWxlYWxsLnB5CiAJCS1maW5kICQoc3JjZGlyKS9MaWIgLW5hbWUgJyoucHlbY29dJyAtcHJpbnQgfCB4YXJncyBybSAtZgotCQktJChURVNUUFlUSE9OKSAkKFRFU1RQUk9HKSAtdWFsbCAkKFRFU1RPUFRTKQotCQkkKFRFU1RQWVRIT04pICQoVEVTVFBST0cpIC11YWxsICQoVEVTVE9QVFMpCisJCS0kKFRFU1RSVU5ORVIpIC11IGFsbCAkKFRFU1RPUFRTKQorCQkkKFRFU1RSVU5ORVIpIC11IGFsbCAkKFRFU1RPUFRTKQogCi0jICBSdW4gdGhlIHVuaXRlc3RzIGZvciBib3RoIGFyY2hpdGVjdHVyZXMgaW4gYSBVbml2ZXJzYWwgYnVpbGQgb24gT1NYCi0jICBNdXN0IGJlIHJ1biBvbiBhbiBJbnRlbCBib3guCisjIFJ1biB0aGUgdGVzdCBzdWl0ZSBmb3IgYm90aCBhcmNoaXRlY3R1cmVzIGluIGEgVW5pdmVyc2FsIGJ1aWxkIG9uIE9TWC4KKyMgTXVzdCBiZSBydW4gb24gYW4gSW50ZWwgYm94LgogdGVzdHVuaXZlcnNhbDoJYWxsIHBsYXRmb3JtCiAJCWlmIFsgYGFyY2hgICE9ICdpMzg2JyBdO3RoZW4gXAogCQkJZWNobyAiVGhpcyBjYW4gb25seSBiZSB1c2VkIG9uIE9TWC9pMzg2IiA7XAogCQkJZXhpdCAxIDtcCiAJCWZpCi0JCS1maW5kICQoc3JjZGlyKS9MaWIgLW5hbWUgJyoucHlbY29dJyAtcHJpbnQgfCB4YXJncyBybSAtZgotCQktJChURVNUUFlUSE9OKSAkKFRFU1RQUk9HKSAtdWFsbCAkKFRFU1RPUFRTKQotCQkkKFRFU1RQWVRIT04pICQoVEVTVFBST0cpIC11YWxsICQoVEVTVE9QVFMpCi0JCSQoUlVOU0hBUkVEKSAvdXNyL2xpYmV4ZWMvb2FoL3RyYW5zbGF0ZSAuLyQoQlVJTERQWVRIT04pIC1FICQoVEVTVFBST0cpIC11YWxsICQoVEVTVE9QVFMpCisJCSQoVEVTVFJVTk5FUikgLXUgYWxsICQoVEVTVE9QVFMpCisJCSQoUlVOU0hBUkVEKSAvdXNyL2xpYmV4ZWMvb2FoL3RyYW5zbGF0ZSBcCisJCQkuLyQoQlVJTERQWVRIT04pIC1FIC1tIHRlc3QgLWogMCAtdSBhbGwgJChURVNUT1BUUykKIAotCi0jIExpa2UgdGVzdGFsbCwgYnV0IHdpdGggYSBzaW5nbGUgcGFzcyBvbmx5Ci0jIHJ1biBhbiBvcHRpb25hbCBzY3JpcHQgdG8gaW5jbHVkZSBzb21lIGluZm9ybWF0aW9uIGFib3V0IHRoZSBidWlsZCBlbnZpcm9ubWVudAorIyBMaWtlIHRlc3RhbGwsIGJ1dCB3aXRoIG9ubHkgb25lIHBhc3MgYW5kIHdpdGhvdXQgbXVsdGlwbGUgcHJvY2Vzc2VzLgorIyBSdW4gYW4gb3B0aW9uYWwgc2NyaXB0IHRvIGluY2x1ZGUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGJ1aWxkIGVudmlyb25tZW50LgogYnVpbGRib3R0ZXN0OglhbGwgcGxhdGZvcm0KIAkJLUBpZiB3aGljaCBweWJ1aWxkYm90LmlkZW50aWZ5ID4vZGV2L251bGwgMj4mMTsgdGhlbiBcCiAJCQlweWJ1aWxkYm90LmlkZW50aWZ5ICJDQz0nJChDQyknIiAiQ1hYPSckKENYWCknIjsgXAogCQlmaQotCQkkKFRFU1RQWVRIT04pICQoVEVTVFBST0cpIC11YWxsIC1yd1cgJChURVNUT1BUUykKKwkJJChURVNUUlVOTkVSKSAtaiAxIC11IGFsbCAtVyAtLXRpbWVvdXQ9JChURVNUVElNRU9VVCkgJChURVNUT1BUUykKIAogUVVJQ0tURVNUT1BUUz0JJChURVNUT1BUUykgLXggdGVzdF9zdWJwcm9jZXNzIHRlc3RfaW8gdGVzdF9saWIydG8zIFwKIAkJdGVzdF9tdWx0aWJ5dGVjb2RlYyB0ZXN0X3VybGxpYjJfbG9jYWxuZXQgdGVzdF9pdGVydG9vbHMgXAogCQl0ZXN0X211bHRpcHJvY2Vzc2luZyB0ZXN0X21haWxib3ggdGVzdF9zb2NrZXQgdGVzdF9wb2xsIFwKLQkJdGVzdF9zZWxlY3QgdGVzdF96aXBmaWxlCisJCXRlc3Rfc2VsZWN0IHRlc3RfemlwZmlsZSB0ZXN0X2NvbmN1cnJlbnRfZnV0dXJlcwogcXVpY2t0ZXN0OglhbGwgcGxhdGZvcm0KLQkJLWZpbmQgJChzcmNkaXIpL0xpYiAtbmFtZSAnKi5weVtjb10nIC1wcmludCB8IHhhcmdzIHJtIC1mCi0JCS0kKFRFU1RQWVRIT04pICQoVEVTVFBST0cpICQoUVVJQ0tURVNUT1BUUykKLQkJJChURVNUUFlUSE9OKSAkKFRFU1RQUk9HKSAkKFFVSUNLVEVTVE9QVFMpCisJCSQoVEVTVFJVTk5FUikgJChRVUlDS1RFU1RPUFRTKQogCi1NRU1URVNUT1BUUz0gICAgJChRVUlDS1RFU1RPUFRTKSAteCB0ZXN0X2RsIHRlc3RfX19hbGxfXyB0ZXN0X2ZvcmsxIFwKLQkJdGVzdF9sb25nZXhwCi1tZW10ZXN0OglhbGwgcGxhdGZvcm0KLQkJLXJtIC1mICQoc3JjZGlyKS9MaWIvdGVzdC8qLnB5W2NvXQotCQktJChURVNUUFlUSE9OKSAkKFRFU1RQUk9HKSAkKE1FTVRFU1RPUFRTKQotCQkkKFRFU1RQWVRIT04pICQoVEVTVFBST0cpICQoTUVNVEVTVE9QVFMpCiAKIGluc3RhbGw6IGFsdGluc3RhbGwgYmluaW5zdGFsbAogCkBAIC04NTMsNyArODg1LDcgQEAKIAlkb25lCiAJJChJTlNUQUxMX1BST0dSQU0pICQoQlVJTERQWVRIT04pICQoREVTVERJUikkKEJJTkRJUikvcHl0aG9uJChMRFZFUlNJT04pJChFWEUpCiAJLWlmIHRlc3QgIiQoVkVSU0lPTikiICE9ICIkKExEVkVSU0lPTikiOyB0aGVuIFwKLQkJaWYgdGVzdCAtZiAkKERFU1RESVIpJChCSU5ESVIpLyQoUFlUSE9OKSQoVkVSU0lPTikkKEVYRSkgLW8gLWggJChERVNURElSKSQoQklORElSKS8kKFBZVEhPTikkKFZFUlNJT04pJChFWEUpOyBcCisJCWlmIHRlc3QgLWYgJChERVNURElSKSQoQklORElSKS9weXRob24kKFZFUlNJT04pJChFWEUpIC1vIC1oICQoREVTVERJUikkKEJJTkRJUikvcHl0aG9uJChWRVJTSU9OKSQoRVhFKTsgXAogCQl0aGVuIHJtIC1mICQoREVTVERJUikkKEJJTkRJUikvcHl0aG9uJChWRVJTSU9OKSQoRVhFKTsgXAogCQlmaTsgXAogCQkoY2QgJChERVNURElSKSQoQklORElSKTsgJChMTikgcHl0aG9uJChMRFZFUlNJT04pJChFWEUpIHB5dGhvbiQoVkVSU0lPTikkKEVYRSkpOyBcCkBAIC04NzQsMTEgKzkwNiwxMSBAQAogCWZpCiAKIGJpbmluc3RhbGw6IGFsdGJpbmluc3RhbGwKLQktaWYgdGVzdCAtZiAkKERFU1RESVIpJChCSU5ESVIpLyQoUFlUSE9OKTMkKEVYRSkgLW8gLWggJChERVNURElSKSQoQklORElSKS8kKFBZVEhPTikzJChFWEUpOyBcCi0JdGhlbiBybSAtZiAkKERFU1RESVIpJChCSU5ESVIpLyQoUFlUSE9OKTMkKEVYRSk7IFwKKwktaWYgdGVzdCAtZiAkKERFU1RESVIpJChCSU5ESVIpL3B5dGhvbjMkKEVYRSkgLW8gLWggJChERVNURElSKSQoQklORElSKS9weXRob24zJChFWEUpOyBcCisJdGhlbiBybSAtZiAkKERFU1RESVIpJChCSU5ESVIpL3B5dGhvbjMkKEVYRSk7IFwKIAllbHNlIHRydWU7IFwKIAlmaQotCShjZCAkKERFU1RESVIpJChCSU5ESVIpOyAkKExOKSBweXRob24kKFZFUlNJT04pJChFWEUpICQoUFlUSE9OKTMkKEVYRSkpCisJKGNkICQoREVTVERJUikkKEJJTkRJUik7ICQoTE4pIC1zIHB5dGhvbiQoVkVSU0lPTikkKEVYRSkgcHl0aG9uMyQoRVhFKSkKIAktaWYgdGVzdCAiJChWRVJTSU9OKSIgIT0gIiQoTERWRVJTSU9OKSI7IHRoZW4gXAogCQlybSAtZiAkKERFU1RESVIpJChCSU5ESVIpL3B5dGhvbiQoVkVSU0lPTiktY29uZmlnOyBcCiAJCShjZCAkKERFU1RESVIpJChCSU5ESVIpOyAkKExOKSAtcyBweXRob24kKExEVkVSU0lPTiktY29uZmlnIHB5dGhvbiQoVkVSU0lPTiktY29uZmlnKTsgXApAQCAtODk1LDYgKzkyNyw4IEBACiAJKGNkICQoREVTVERJUikkKEJJTkRJUik7ICQoTE4pIC1zIHB5ZG9jJChWRVJTSU9OKSBweWRvYzMpCiAJLXJtIC1mICQoREVTVERJUikkKEJJTkRJUikvMnRvMwogCShjZCAkKERFU1RESVIpJChCSU5ESVIpOyAkKExOKSAtcyAydG8zLSQoVkVSU0lPTikgMnRvMykKKwktcm0gLWYgJChERVNURElSKSQoQklORElSKS9weXNldHVwMworCShjZCAkKERFU1RESVIpJChCSU5ESVIpOyAkKExOKSAtcyBweXNldHVwJChWRVJTSU9OKSBweXNldHVwMykKIAogIyBJbnN0YWxsIHRoZSBtYW51YWwgcGFnZQogbWFuaW5zdGFsbDoKQEAgLTkxNywyMCArOTUxLDcyIEBACiBMSUJTVUJESVJTPQl0a2ludGVyIHRraW50ZXIvdGVzdCB0a2ludGVyL3Rlc3QvdGVzdF90a2ludGVyIFwKIAkJdGtpbnRlci90ZXN0L3Rlc3RfdHRrIHNpdGUtcGFja2FnZXMgdGVzdCBcCiAJCXRlc3QvY2FwYXRoIHRlc3QvZGF0YSBcCi0JCXRlc3QvY2prZW5jb2RpbmdzIHRlc3QvZGVjaW1hbHRlc3RkYXRhIHRlc3QveG1sdGVzdGRhdGEgdGVzdC9zdWJwcm9jZXNzZGF0YSBcCisJCXRlc3QvY2prZW5jb2RpbmdzIHRlc3QvZGVjaW1hbHRlc3RkYXRhIHRlc3QveG1sdGVzdGRhdGEgXAorCQl0ZXN0L3N1YnByb2Nlc3NkYXRhIFwKIAkJdGVzdC90cmFjZWRtb2R1bGVzIHRlc3QvZW5jb2RlZF9tb2R1bGVzIFwKLQkJY29uY3VycmVudCBjb25jdXJyZW50L2Z1dHVyZXMgZW5jb2RpbmdzIFwKLQkJZW1haWwgZW1haWwvbWltZSBlbWFpbC90ZXN0IGVtYWlsL3Rlc3QvZGF0YSBcCisJCWNvbGxlY3Rpb25zIGNvbmN1cnJlbnQgY29uY3VycmVudC9mdXR1cmVzIGVuY29kaW5ncyBcCisJCWVtYWlsIGVtYWlsL21pbWUgdGVzdC90ZXN0X2VtYWlsIHRlc3QvdGVzdF9lbWFpbC9kYXRhIFwKIAkJaHRtbCBqc29uIHRlc3QvanNvbl90ZXN0cyBodHRwIGRibSB4bWxycGMgXAogCQlzcWxpdGUzIHNxbGl0ZTMvdGVzdCBcCiAJCWxvZ2dpbmcgY3N2IHdzZ2lyZWYgdXJsbGliIFwKIAkJbGliMnRvMyBsaWIydG8zL2ZpeGVzIGxpYjJ0bzMvcGdlbjIgbGliMnRvMy90ZXN0cyBcCi0JCWxpYjJ0bzMvdGVzdHMvZGF0YSBsaWIydG8zL3Rlc3RzL2RhdGEvZml4ZXJzIGxpYjJ0bzMvdGVzdHMvZGF0YS9maXhlcnMvbXlmaXhlcyBcCisJCWxpYjJ0bzMvdGVzdHMvZGF0YSBsaWIydG8zL3Rlc3RzL2RhdGEvZml4ZXJzIFwKKwkJbGliMnRvMy90ZXN0cy9kYXRhL2ZpeGVycy9teWZpeGVzIFwKIAkJY3R5cGVzIGN0eXBlcy90ZXN0IGN0eXBlcy9tYWNob2xpYiBpZGxlbGliIGlkbGVsaWIvSWNvbnMgXAogCQlkaXN0dXRpbHMgZGlzdHV0aWxzL2NvbW1hbmQgZGlzdHV0aWxzL3Rlc3RzICQoWE1MTElCU1VCRElSUykgXAogCQlpbXBvcnRsaWIgaW1wb3J0bGliL3Rlc3QgaW1wb3J0bGliL3Rlc3QvYnVpbHRpbiBcCiAJCWltcG9ydGxpYi90ZXN0L2V4dGVuc2lvbiBpbXBvcnRsaWIvdGVzdC9mcm96ZW4gXAogCQlpbXBvcnRsaWIvdGVzdC9pbXBvcnRfIGltcG9ydGxpYi90ZXN0L3NvdXJjZSBcCisJCXBhY2thZ2luZyBwYWNrYWdpbmcvY29tbWFuZCBwYWNrYWdpbmcvY29tcGlsZXIgXAorCQlwYWNrYWdpbmcvcHlwaSBwYWNrYWdpbmcvdGVzdHMgXAorCQlwYWNrYWdpbmcvdGVzdHMvZmFrZV9kaXN0cyBcCisJCXBhY2thZ2luZy90ZXN0cy9mYWtlX2Rpc3RzL2JhYmFyLTAuMS5kaXN0LWluZm8gXAorCQlwYWNrYWdpbmcvdGVzdHMvZmFrZV9kaXN0cy9iYWNvbi0wLjEuZWdnLWluZm8gXAorCQlwYWNrYWdpbmcvdGVzdHMvZmFrZV9kaXN0cy9iYW5hbmEtMC40LmVnZyBcCisJCXBhY2thZ2luZy90ZXN0cy9mYWtlX2Rpc3RzL2JhbmFuYS0wLjQuZWdnL0VHRy1JTkZPIFwKKwkJcGFja2FnaW5nL3Rlc3RzL2Zha2VfZGlzdHMvY2hveGllLTIuMC4wLjkgXAorCQlwYWNrYWdpbmcvdGVzdHMvZmFrZV9kaXN0cy9jaG94aWUtMi4wLjAuOS9jaG94aWUgXAorCQlwYWNrYWdpbmcvdGVzdHMvZmFrZV9kaXN0cy9jaG94aWUtMi4wLjAuOS5kaXN0LWluZm8gXAorCQlwYWNrYWdpbmcvdGVzdHMvZmFrZV9kaXN0cy9jb2NvbnV0cy1hc3Rlci0xMC4zLmVnZy1pbmZvIFwKKwkJcGFja2FnaW5nL3Rlc3RzL2Zha2VfZGlzdHMvZ3JhbW1hci0xLjBhNCBcCisJCXBhY2thZ2luZy90ZXN0cy9mYWtlX2Rpc3RzL2dyYW1tYXItMS4wYTQuZGlzdC1pbmZvIFwKKwkJcGFja2FnaW5nL3Rlc3RzL2Zha2VfZGlzdHMvZ3JhbW1hci0xLjBhNC9ncmFtbWFyIFwKKwkJcGFja2FnaW5nL3Rlc3RzL2Zha2VfZGlzdHMvdG93ZWxfc3R1ZmYtMC4xIFwKKwkJcGFja2FnaW5nL3Rlc3RzL2Zha2VfZGlzdHMvdG93ZWxfc3R1ZmYtMC4xLmRpc3QtaW5mbyBcCisJCXBhY2thZ2luZy90ZXN0cy9mYWtlX2Rpc3RzL3Rvd2VsX3N0dWZmLTAuMS90b3dlbF9zdHVmZiBcCisJCXBhY2thZ2luZy90ZXN0cy9maXhlciBwYWNrYWdpbmcvdGVzdHMvcHlwaXNlcnZlciBcCisJCXBhY2thZ2luZy90ZXN0cy9weXBpc2VydmVyL2Rvd25sb2Fkc193aXRoX21kNSBcCisJCXBhY2thZ2luZy90ZXN0cy9weXBpc2VydmVyL2Rvd25sb2Fkc193aXRoX21kNS9wYWNrYWdlcyBcCisJCXBhY2thZ2luZy90ZXN0cy9weXBpc2VydmVyL2Rvd25sb2Fkc193aXRoX21kNS9wYWNrYWdlcy9zb3VyY2UgXAorCQlwYWNrYWdpbmcvdGVzdHMvcHlwaXNlcnZlci9kb3dubG9hZHNfd2l0aF9tZDUvcGFja2FnZXMvc291cmNlL2YgXAorCQlwYWNrYWdpbmcvdGVzdHMvcHlwaXNlcnZlci9kb3dubG9hZHNfd2l0aF9tZDUvcGFja2FnZXMvc291cmNlL2YvZm9vYmFyIFwKKwkJcGFja2FnaW5nL3Rlc3RzL3B5cGlzZXJ2ZXIvZG93bmxvYWRzX3dpdGhfbWQ1L3NpbXBsZSBcCisJCXBhY2thZ2luZy90ZXN0cy9weXBpc2VydmVyL2Rvd25sb2Fkc193aXRoX21kNS9zaW1wbGUvYmFkbWQ1IFwKKwkJcGFja2FnaW5nL3Rlc3RzL3B5cGlzZXJ2ZXIvZG93bmxvYWRzX3dpdGhfbWQ1L3NpbXBsZS9mb29iYXIgXAorCQlwYWNrYWdpbmcvdGVzdHMvcHlwaXNlcnZlci9mb29fYmFyX2JheiBcCisJCXBhY2thZ2luZy90ZXN0cy9weXBpc2VydmVyL2Zvb19iYXJfYmF6L3NpbXBsZSBcCisJCXBhY2thZ2luZy90ZXN0cy9weXBpc2VydmVyL2Zvb19iYXJfYmF6L3NpbXBsZS9iYXIgXAorCQlwYWNrYWdpbmcvdGVzdHMvcHlwaXNlcnZlci9mb29fYmFyX2Jhei9zaW1wbGUvYmF6IFwKKwkJcGFja2FnaW5nL3Rlc3RzL3B5cGlzZXJ2ZXIvZm9vX2Jhcl9iYXovc2ltcGxlL2ZvbyBcCisJCXBhY2thZ2luZy90ZXN0cy9weXBpc2VydmVyL3Byb2plY3RfbGlzdCBcCisJCXBhY2thZ2luZy90ZXN0cy9weXBpc2VydmVyL3Byb2plY3RfbGlzdC9zaW1wbGUgXAorCQlwYWNrYWdpbmcvdGVzdHMvcHlwaXNlcnZlci90ZXN0X2ZvdW5kX2xpbmtzIFwKKwkJcGFja2FnaW5nL3Rlc3RzL3B5cGlzZXJ2ZXIvdGVzdF9mb3VuZF9saW5rcy9zaW1wbGUgXAorCQlwYWNrYWdpbmcvdGVzdHMvcHlwaXNlcnZlci90ZXN0X2ZvdW5kX2xpbmtzL3NpbXBsZS9mb29iYXIgXAorCQlwYWNrYWdpbmcvdGVzdHMvcHlwaXNlcnZlci90ZXN0X3B5cGlfc2VydmVyIFwKKwkJcGFja2FnaW5nL3Rlc3RzL3B5cGlzZXJ2ZXIvdGVzdF9weXBpX3NlcnZlci9leHRlcm5hbCBcCisJCXBhY2thZ2luZy90ZXN0cy9weXBpc2VydmVyL3Rlc3RfcHlwaV9zZXJ2ZXIvc2ltcGxlIFwKKwkJcGFja2FnaW5nL3Rlc3RzL3B5cGlzZXJ2ZXIvd2l0aF9leHRlcm5hbHMgXAorCQlwYWNrYWdpbmcvdGVzdHMvcHlwaXNlcnZlci93aXRoX2V4dGVybmFscy9leHRlcm5hbCBcCisJCXBhY2thZ2luZy90ZXN0cy9weXBpc2VydmVyL3dpdGhfZXh0ZXJuYWxzL3NpbXBsZSBcCisJCXBhY2thZ2luZy90ZXN0cy9weXBpc2VydmVyL3dpdGhfZXh0ZXJuYWxzL3NpbXBsZS9mb29iYXIgXAorCQlwYWNrYWdpbmcvdGVzdHMvcHlwaXNlcnZlci93aXRoX25vcmVsX2xpbmtzIFwKKwkJcGFja2FnaW5nL3Rlc3RzL3B5cGlzZXJ2ZXIvd2l0aF9ub3JlbF9saW5rcy9leHRlcm5hbCBcCisJCXBhY2thZ2luZy90ZXN0cy9weXBpc2VydmVyL3dpdGhfbm9yZWxfbGlua3Mvc2ltcGxlIFwKKwkJcGFja2FnaW5nL3Rlc3RzL3B5cGlzZXJ2ZXIvd2l0aF9ub3JlbF9saW5rcy9zaW1wbGUvZm9vYmFyIFwKKwkJcGFja2FnaW5nL3Rlc3RzL3B5cGlzZXJ2ZXIvd2l0aF9yZWFsX2V4dGVybmFscyBcCisJCXBhY2thZ2luZy90ZXN0cy9weXBpc2VydmVyL3dpdGhfcmVhbF9leHRlcm5hbHMvc2ltcGxlIFwKKwkJcGFja2FnaW5nL3Rlc3RzL3B5cGlzZXJ2ZXIvd2l0aF9yZWFsX2V4dGVybmFscy9zaW1wbGUvZm9vYmFyIFwKIAkJdHVydGxlZGVtbyBcCiAJCW11bHRpcHJvY2Vzc2luZyBtdWx0aXByb2Nlc3NpbmcvZHVtbXkgXAogCQl1bml0dGVzdCB1bml0dGVzdC90ZXN0IFwKQEAgLTk1NSw3ICsxMDQxLDcgQEAKIAkJZWxzZQl0cnVlOyBcCiAJCWZpOyBcCiAJZG9uZQotCUBmb3IgaSBpbiAkKHNyY2RpcikvTGliLyoucHkgJChzcmNkaXIpL0xpYi8qLmVnZy1pbmZvIDsgXAorCUBmb3IgaSBpbiAkKHNyY2RpcikvTGliLyoucHkgJChzcmNkaXIpL0xpYi8qLmNmZyA7IFwKIAlkbyBcCiAJCWlmIHRlc3QgLXggJCRpOyB0aGVuIFwKIAkJCSQoSU5TVEFMTF9TQ1JJUFQpICQkaSAkKERFU1RESVIpJChMSUJERVNUKTsgXApAQCAtOTk1LDYgKzEwODEsMTAgQEAKIAkJJChJTlNUQUxMX0RBVEEpICQoc3JjZGlyKS9Nb2R1bGVzL3h4bW9kdWxlLmMgXAogCQkJJChERVNURElSKSQoTElCREVTVCkvZGlzdHV0aWxzL3Rlc3RzIDsgXAogCWZpCisJaWYgdGVzdCAtZCAkKERFU1RESVIpJChMSUJERVNUKS9wYWNrYWdpbmcvdGVzdHM7IHRoZW4gXAorCQkkKElOU1RBTExfREFUQSkgJChzcmNkaXIpL01vZHVsZXMveHhtb2R1bGUuYyBcCisJCQkkKERFU1RESVIpJChMSUJERVNUKS9wYWNrYWdpbmcvdGVzdHMgOyBcCisJZmkKIAktUFlUSE9OUEFUSD0kKERFU1RESVIpJChMSUJERVNUKSAgJChSVU5TSEFSRUQpIFwKIAkJLi8kKEJVSUxEUFlUSE9OKSAtV2kgJChERVNURElSKSQoTElCREVTVCkvY29tcGlsZWFsbC5weSBcCiAJCS1kICQoTElCREVTVCkgLWYgXApAQCAtMTE4Niw3ICsxMjc2LDcgQEAKIAktLXJvb3Q9JChERVNURElSKS8KIAogIyBCdWlsZCB0aGUgdG9wbGV2ZWwgTWFrZWZpbGUKLU1ha2VmaWxlLnByZTogTWFrZWZpbGUucHJlLmluIGNvbmZpZy5zdGF0dXMKK01ha2VmaWxlLnByZTogJChzcmNkaXIpL01ha2VmaWxlLnByZS5pbiBjb25maWcuc3RhdHVzCiAJQ09ORklHX0ZJTEVTPU1ha2VmaWxlLnByZSBDT05GSUdfSEVBREVSUz0gJChTSEVMTCkgY29uZmlnLnN0YXR1cwogCSQoTUFLRSkgLWYgTWFrZWZpbGUucHJlIE1ha2VmaWxlCiAKQEAgLTEyNTMsNiArMTM0Myw3IEBACiAJZmluZCBidWlsZCAtbmFtZSAnZmZpY29uZmlnLmgnIC1leGVjIHJtIC1mIHt9ICc7JyB8fCB0cnVlCiAJZmluZCBidWlsZCAtbmFtZSAnZmZpY29uZmlnLnB5JyAtZXhlYyBybSAtZiB7fSAnOycgfHwgdHJ1ZQogCS1ybSAtZiBMaWIvbGliMnRvMy8qR3JhbW1hcioucGlja2xlCisJLXJtIC1mICQoU1lTQ09ORklHREFUQSkKIAktcm0gLWYgTW9kdWxlcy9fdGVzdGVtYmVkCiAKIHByb2ZpbGUtcmVtb3ZhbDoKQEAgLTEyOTEsOCArMTM4Miw3IEBACiAjIEZpbmQgZmlsZXMgd2l0aCBmdW5ueSBuYW1lcwogZnVubnk6CiAJZmluZCAkKFNVQkRJUlMpICQoU1VCRElSU1RPTykgXAotCQktbmFtZSAuc3ZuIC1wcnVuZSBcCi0JCS1vIC10eXBlIGQgXAorCQktdHlwZSBkIFwKIAkJLW8gLW5hbWUgJyouW2Noc10nIFwKIAkJLW8gLW5hbWUgJyoucHknIFwKIAkJLW8gLW5hbWUgJyoucHl3JyBcCkBAIC0xMzMxLDcgKzE0MjEsNyBAQAogUHl0aG9uL3RocmVhZC5vOiBAVEhSRUFESEVBREVSU0AKIAogIyBEZWNsYXJlIHRhcmdldHMgdGhhdCBhcmVuJ3QgcmVhbCBmaWxlcwotLlBIT05ZOiBhbGwgYnVpbGRfYWxsIHNoYXJlZG1vZHMgb2xkc2hhcmVkbW9kcyB0ZXN0IHF1aWNrdGVzdCBtZW10ZXN0CisuUEhPTlk6IGFsbCBidWlsZF9hbGwgc2hhcmVkbW9kcyBvbGRzaGFyZWRtb2RzIHRlc3QgcXVpY2t0ZXN0CiAuUEhPTlk6IGluc3RhbGwgYWx0aW5zdGFsbCBvbGRzaGFyZWRpbnN0YWxsIGJpbmluc3RhbGwgYWx0YmluaW5zdGFsbAogLlBIT05ZOiBtYW5pbnN0YWxsIGxpYmluc3RhbGwgaW5jbGluc3RhbGwgbGliYWluc3RhbGwgc2hhcmVkaW5zdGFsbAogLlBIT05ZOiBmcmFtZXdvcmtpbnN0YWxsIGZyYW1ld29ya2luc3RhbGxmcmFtZXdvcmsgZnJhbWV3b3JraW5zdGFsbHN0cnVjdHVyZQpkaWZmIC0tZ2l0IGEvTWlzYy9BQ0tTIGIvTWlzYy9BQ0tTCmluZGV4IDJiM2RhZDUuLmVlYjYxZTAgMTAwNjQ0Ci0tLSBhL01pc2MvQUNLUworKysgYi9NaXNjL0FDS1MKQEAgLTExLDggKzExLDEwIEBACiBQUzogSW4gdGhlIHN0YW5kYXJkIFB5dGhvbiBkaXN0cmlidXRpb24sIHRoaXMgZmlsZSBpcyBlbmNvZGVkIGluIFVURi04CiBhbmQgdGhlIGxpc3QgaXMgaW4gcm91Z2ggYWxwaGFiZXRpY2FsIG9yZGVyIGJ5IGxhc3QgbmFtZXMuCiAKK1Jhaml2IEFicmFoYW0KIERhdmlkIEFicmFoYW1zCiBSb24gQWRhbQorQWxpIEFmc2hhcgogSmltIEFobHN0cm9tCiBGYXJoYW4gQWhtYWQKIE1hdHRoZXcgQWhyZW5zCkBAIC0zNywxMiArMzksMTIgQEAKIEphc29uIEFzYmFocgogRGF2aWQgQXNjaGVyCiBDaHJpcyBBdExlZQorQXltZXJpYyBBdWd1c3RpbgogSm9obiBBeWNvY2sKLUphbi1IZWluIELDvGhybWFuCiBEb25vdmFuIEJhYXJkYQogQXR0aWxhIEJhYm8KLUFsZm9uc28gQmFjaWVybwogTWFyY2luIEJhY2hyeQorQWxmb25zbyBCYWNpZXJvCiBEd2F5bmUgQmFpbGV5CiBTdGlnIEJha2tlbgogR3JlZyBCYWxsCkBAIC01NCwyMCArNTYsMjIgQEAKIENocmlzIEJhcmtlcgogTmljayBCYXJuZXMKIFF1ZW50aW4gQmFybmVzCitEYXZpZCBCYXJuZXR0CiBSaWNoYXJkIEJhcnJhbgogQ2VzYXIgRWR1YXJkbyBCYXJyb3MKIERlcyBCYXJyeQogVWxmIEJhcnRlbHQKK1Bpb3IgQmFzdGlkYQogTmljayBCYXN0aW4KIEplZmYgQmF1ZXIKLU1pa2UgQmF5ZXIKIE1pY2hhZWwgUiBCYXgKIEFudGhvbnkgQmF4dGVyCitNaWtlIEJheWVyCiBTYW11ZWwgTC4gQmF5ZXIKIERvbmFsZCBCZWF1ZHJ5CiBEYXZpZCBCZWF6bGV5Ci1Sb2JpbiBCZWNrZXIKIE5lYWwgQmVja2VyCitSb2JpbiBCZWNrZXIKIFRvcnN0ZW4gQmVja2VyCiBCaWxsIEJlZGZvcmQKIFN0ZWZhbiBCZWhuZWwKQEAgLTkyLDYgKzk2LDcgQEAKIFBoaWxpcHBlIEJpb25kaQogU3R1YXJ0IEJpc2hvcAogUm95IEJpeGxlcgorUmVuYXVkIEJsYW5jaAogTWlrZSBCbGFuZAogTWFydGluIEJsZXNzCiBQYWJsbyBCbGV5ZXIKQEAgLTEwMSw5ICsxMDYsMTAgQEAKIFBhdWwgQm9kZGllCiBNYXR0aGV3IEJvZWRpY2tlcgogRGF2aWQgQm9sZW4KLUZvcmVzdCBCb25kCiBHYXdhaW4gQm9sdG9uCitGb3Jlc3QgQm9uZAogR3JlZ29yeSBCb25kCitNYXRpYXMgQm9yZGVzZQogSnVyamVuIEJvcwogUGV0ZXIgQm9zY2gKIEVyaWMgQm91Y2sKQEAgLTExNCwyMSArMTIwLDI1IEBACiBHZW9yZyBCcmFuZGwKIENocmlzdG9waGVyIEJyYW5ub24KIFRlcnJlbmNlIEJyYW5ub24KK0VyaWsgQnJheQogQnJpYW4gQnJhemlsCiBEYXZlIEJyZW5uYW4KIFRvbSBCcmlkZ21hbgorQW50aG9ueSBCcmlnZ3MKIFRvYmlhcyBCcmluawogUmljaGFyZCBCcm9kaWUKIE1pY2hhZWwgQnJvZ2h0b24KIERhbmllbCBCcm90c2t5CiBKZWFuIEJyb3V3ZXJzCiBHYXJ5IFMuIEJyb3duCitUaXR1cyBCcm93bgogT2xlZyBCcm95dG1hbm4KIERhdmUgQnJ1ZWNrCiBGcmFuY2lzY28gTWFydMOtbiBCcnVndcOpCiBGbG9yaXMgQnJ1eW5vb2doZQogU3RhbiBCdWJyb3Vza2kKIEVyaWsgZGUgQnVlZ2VyCitKYW4tSGVpbiBCw7xocm1hbgogRGljayBCdWx0ZXJtYW4KIEJpbGwgQnVtZ2FybmVyCiBKaW1teSBCdXJnZXR0CkBAIC0xMzgsMTIgKzE0OCwxNCBAQAogVGFybiBXZWlzbmVyIEJ1cnRvbgogTGVlIEJ1c2J5CiBSYWxwaCBCdXRsZXIKK05pY29sYXMgQ2Fkb3UKIEpwIENhbGRlcm9uZQogQXJuYXVkIENhbG1ldHRlcwogRGFuaWVsIENhbHZlbG8KIFRvbnkgQ2FtcGJlbGwKIEJyZXR0IENhbm5vbgogTWlrZSBDYXJsdG9uCitQaWVycmUgQ2FycmllcgogVGVycnkgQ2Fycm9sbAogTG9yZW56byBNLiBDYXR1Y2NpCiBEb25uIENhdmUKQEAgLTE1NCw5ICsxNjYsMTAgQEAKIEpvaG4gQ2hhbmRsZXIKIEh5ZS1TaGlrIENoYW5nCiBKZWZmcmV5IENoYW5nCi1NaXRjaCBDaGFwbWFuCi1HcmVnIENoYXBtYW4KK0dvZGVmcm9pZCBDaGFwZWxsZQogQnJhZCBDaGFwbWFuCitHcmVnIENoYXBtYW4KK01pdGNoIENoYXBtYW4KIERhdmlkIENoYXVtCiBOaWNvbGFzIENoYXV2YXQKIEplcnJ5IENoZW4KQEAgLTE2OSw5ICsxODIsMTEgQEAKIFZhZGltIENodWd1bm92CiBEYXZpZCBDaW5lZ2UKIENyYWlnIENpdHJvCitDaHJpcyBDbGFyawogTWlrZSBDbGFya3NvbgogQW5kcmV3IENsZWdnCiBCcmFkIENsZW1lbnRzCitSb2JiaWUgQ2xlbW9ucwogU3RldmUgQ2xpZnQKIE5pY2sgQ29naGxhbgogSm9zaCBDb2dsaWF0aQpAQCAtMTgxLDggKzE5Niw5IEBACiBKZWZmZXJ5IENvbGxpbnMKIFJvYmVydCBDb2xsaW5zCiBQYXVsIENvbG9taWV0cwotRGVudmVyIENvbmV5YmVhcmUKK0NocmlzdG9waGUgQ29tYmVsbGVzCiBHZXJlbXkgQ29uZHJhCitEZW52ZXIgQ29uZXliZWFyZQogSnVhbiBKb3PDqSBDb250aQogTWF0dCBDb253YXkKIERhdmlkIE0uIENvb2tlCkBAIC0yMDgsNiArMjI0LDcgQEAKIEFudG9uaW8gQ3VuaQogQnJpYW4gQ3VydGluCiBMaXNhbmRybyBEYWxjaW4KK0RhcnJlbiBEYWxlCiBBbmRyZXcgRGFsa2UKIExhcnMgRGFtZXJvdwogRXZhbiBEYW5kcmVhCkBAIC0yMTUsMTAgKzIzMiwxMyBAQAogU2NvdHQgRGF2aWQgRGFuaWVscwogQmVuIERhcm5lbGwKIEpvbmF0aGFuIERhc3RlZWwKK1BpZXJyZS1ZdmVzIERhdmlkCitYYXZpZXIgZGUgR2F5ZQogSm9obiBEZUdvb2QKIE5lZCBEZWlseQogVmluY2VudCBEZWxmdAogQXJuYXVkIERlbG9iZWxsZQorS29ucmFkIERlbG9uZwogRXJpayBEZW1haW5lCiBKb2huIERlbm5pcwogUm9nZXIgRGV2CkBAIC0yMzQsNiArMjU0LDcgQEAKIEh1bWJlcnRvIERpb2dlbmVzCiBZdmVzIERpb25uZQogRGFuaWVsIERpdHRtYXIKK0pvc2lwIERqb2xvbmdhCiBKYXJvbWlyIERvbGVjZWsKIElzbWFpbCBEb25tZXoKIE1hcmNvcyBEb25vbG8KQEAgLTI1MywxMSArMjc0LDExIEBACiBBbmR5IER1c3RtYW4KIEdhcnkgRHV6YW4KIEV1Z2VuZSBEdnVyZWNoZW5za2kKLUpvc2lwIER6b2xvbmdhCiBNYXhpbSBEenVtYW5lbmtvCiBXYWx0ZXIgRMO2cndhbGQKIEhhbnMgRWNrYXJkdAogUm9kb2xwaG8gRWNraGFyZHQKK0pvaG4gRWRtb25kcwogR3JhbnQgRWR3YXJkcwogSm9obiBFaHJlc21hbgogVGFsIEVpbmF0CkBAIC0yNjcsMjcgKzI4OCwzMiBAQAogTGFuY2UgRWxsaW5naGF1cwogRGF2aWQgRWx5CiBKZWZmIEVwbGVyCitKZWZmIE1jTmVpbAogVG9tIEVwcGVybHkKIFN0b2ZmZWwgRXJhc211cwogSsO8cmdlbiBBLiBFcmhhcmQKIE1pY2hhZWwgRXJuc3QKIEJlbiBFc2NvdG8KIEFuZHkgRXNraWxzc29uCitBbmRyw6kgRXNwYXplCiBTdGVmYW4gRXNzZXIKIE5pY29sYXMgRXN0aWJhbHMKLVN0ZXBoZW4gRCBFdmFucwogQ2FyZXkgRXZhbnMKK1N0ZXBoZW4gRCBFdmFucwogVGltIEV2ZXJldHQKIFBhdWwgRXZlcml0dAogRGF2aWQgRXZlcmx5CiBEYW5pZWwgRXZlcnMKK1dpbnN0b24gRXdlcnQKIEdyZWcgRXdpbmcKIE1hcnRpam4gRmFhc3NlbgogQ2xvdmlzIEZhYnJpY2lvCiBBbmRyZWFzIEZhZXJiZXIKIEJpbGwgRmFuY2hlcgorTWljaGFlbCBGYXJyZWxsCiBUcm95IEouIEZhcnJlbGwKIE1hcmsgRmF2YXMKK0JvcmlzIEZlbGQKIE5pZWxzIEZlcmd1c29uCiBTZWJhc3RpYW4gRmVybmFuZGV6CiBGbG9yaWFuIEZlc3RpCkBAIC0zMDQsMTMgKzMzMCwxNiBAQAogQW1hdXJ5IEZvcmdlb3QgZCdBcmMKIERvdWcgRm9ydAogSm9obiBGb3VoeQorQW5kcmV3IEZyYW5jaXMKIE1hcnRpbiBGcmFua2xpbgogUm9iaW4gRnJpZWRyaWNoCiBJdmFuIEZyb2huZQorTWF0dGhpYXMgRnVjaHMKIEppbSBGdWx0b24KIFRhZGF5b3NoaSBGdW5hYmEKIEd5cm8gRnVuY2gKIFBldGVyIEZ1bmsKK0V0aGFuIEZ1cm1hbgogR2VvZmYgRnVybmlzaAogVWxpc3NlcyBGdXJxdWltCiBIYWdlbiBGw7xyc3RlbmF1CkBAIC0zMzksOSArMzY4LDEyIEBACiBKb25hdGhhbiBHaWRkeQogSm9oYW5uZXMgR2lqc2JlcnMKIE1pY2hhZWwgR2lsZml4CitZYW5uaWNrIEdpbmdyYXMKK01pY2hhZWwgR29kZXJiYXVlcgogQ2hyaXN0b3BoIEdvaGxrZQogVGltIEdvbGRlbgogR3VpbGhlcm1lIEdvbsOnYWx2ZXMKK1RpYWdvIEdvbsOnYWx2ZXMKIENocmlzIEdvbm5lcm1hbgogRGF2aWQgR29vZGdlcgogSGFucyBkZSBHcmFhZmYKQEAgLTM1NCwxNSArMzg2LDE4IEBACiBNaWNoYWVsIEd1cmF2YWdlCiBMYXJzIEd1c3TDpGJlbAogVGhvbWFzIEfDvHR0bGVyCitKb25hcyBILgogQmFycnkgSGFkZG93CiBQaGlsaXBwIEhhZ2VtZWlzdGVyCiBQYXVsIHRlbiBIYWdlbgogUmFzbXVzIEhhaG4KIFBldGVyIEhhaWdodAogVsOhY2xhdiBIYWlzbWFuCitXYWxrZXIgSGFsZSBJVgogQm9iIEhhbGxleQogSmVzc2UgSGFsbGlvCiBKdW4gSGFtYW5vCitBbGV4YW5kcmUgSGFtZWxpbgogTWFyayBIYW1tb25kCiBNYW51cyBIYW5kCiBNaWx0b24gTC4gSGFua2lucwpAQCAtMzcyLDYgKzQwNyw3IEBACiBEZXJlayBIYXJsYW5kCiBKYXNvbiBIYXJwZXIKIEJyaWFuIEhhcnJpbmcKK0pvbmF0aGFuIEhhcnRsZXkKIExhcnJ5IEhhc3RpbmdzCiBTaGFuZSBIYXRoYXdheQogUnljaGFyZGUgSGF3a2VzCkBAIC0zODIsNiArNDE4LDcgQEAKIE1hbHRlIEhlbG1lcnQKIExhbmNlIEZpbm4gSGVsc3RlbgogSm9uYXRoYW4gSGVuZHJ5CitNaWNoYWVsIEhlbnJ5CiBKYW1lcyBIZW5zdHJpZGdlCiBLYXN1biBIZXJhdGgKIENocmlzIEhlcmJvcnRoCkBAIC0zOTMsMTAgKzQzMCwxMCBAQAogTWFnbnVzIEwuIEhldGxhbmQKIFJheW1vbmQgSGV0dGluZ2VyCiBLZXZhbiBIZXlkb24KK0tlbHNleSBIaWdodG93ZXIKIEphc29uIEhpbGRlYnJhbmQKIFJpY2hpZSBIaW5kbGUKIEtvbnJhZCBIaW5zZW4KLU1pY2hhZWwgSGVucnkKIERhdmlkIEhvYmxleQogVGltIEhvY2hiZXJnCiBKb2VyZy1DeXJpbCBIb2VobGUKQEAgLTQwOCw2ICs0NDUsNyBAQAogR2Vycml0IEhvbGwKIFNoYW5lIEhvbGxvd2F5CiBSdW5lIEhvbG0KK1Rob21hcyBIb2xtZXMKIFBoaWxpcCBIb21idXJnCiBOYW9mdW1pIEhvbmRhCiBKZWZmcmV5IEhvbmlnCkBAIC00MjEsNiArNDU5LDcgQEAKIEJyYWQgSG93ZXMKIE1pa2UgSG95CiBDaGloLUhhbyBIdWFuZworQ2hyaXN0aWFuIEh1ZG9uCiBMYXdyZW5jZSBIdWRzb24KIE1pY2hhZWwgSHVkc29uCiBKaW0gSHVndW5pbgpAQCAtNDI5LDYgKzQ2OCw3IEBACiBKZXJlbXkgSHlsdG9uCiBHZXJoYXJkIEjDpHJpbmcKIEZyZWRyaWsgSMOlw6VyZAorQ2F0YWxpbiBJYWNvYgogTWloYWkgSWJhbmVzY3UKIEFsaSBJa2luY2kKIExhcnMgSW1taXNjaApAQCAtNDQ5LDYgKzQ4OSw4IEBACiBKYWNrIEphbnNlbgogQmlsbCBKYW5zc2VuCiBUaG9tYXMgSmFyb3NjaAorWmJpZ25pZXcgSsSZZHJ6ZWpld3NraS1Tem1laworSnVsaWVuIEplaGFubmV0CiBEcmV3IEplbmtpbnMKIEZsZW1taW5nIEtqw6ZyIEplbnNlbgogTXVuU2ljIEplb25nCkBAIC00NjQsMzYgKzUwNiwzNiBAQAogUmljaGFyZCBKb25lcwogSXJtZW4gZGUgSm9uZwogTHVjYXMgZGUgSm9uZ2UKLUpvaG4gSm9yZ2Vuc2VuCiBKZW5zIEIuIEpvcmdlbnNlbgorSm9obiBKb3JnZW5zZW4KIFNpamluIEpvc2VwaAogQW5kcmVhcyBKdW5nCiBUYXR0b28gTWFib256byBLLgogQm9iIEthaG4KIEt1cnQgQi4gS2Fpc2VyCiBUYW1pdG8gS2FqaXlhbWEKK0phbiBLYWxpc3pld3NraQogUGV0ZXIgdmFuIEthbXBlbgogUmFmZSBLYXBsYW4KIEphY29iIEthcGxhbi1Nb3NzCi1KYW4gS2FsaXN6ZXdza2kKLUFya2FkeSBLb3BseWFyb3YKK1BlciDDmHl2aW5kIEthcmxzZW4KIExvdSBLYXRlcwogSGlyb2FraSBLYXdhaQogU2ViYXN0aWVuIEtlaW0KIFJ5YW4gS2VsbHkKIERhbiBLZW5pZ3NiZXJnCi1Sb2JlcnQgS2VybgogUmFuZGFsbCBLZXJuCitSb2JlcnQgS2VybgogTWFnbnVzIEtlc3NsZXIKIExhd3JlbmNlIEtlc3RlbG9vdAogVml2ZWsgS2hlcmEKLUFraXJhIEtpdGFkYQogTWFkcyBLaWlsZXJpY2gKIFRhZWsgSm9vIEtpbQogVy4gVHJldm9yIEtpbmcKIFBhdWwgS2lwcGVzCiBTdGV2ZSBLaXJzY2gKIFNlYmFzdGlhbiBLaXJzY2hlCitBa2lyYSBLaXRhZGEKIFJvbiBLbGF0Y2hrbwogUmVpZCBLbGVja25lcgogQmFzdGlhbiBLbGVpbmVpZGFtCkBAIC01MDcsNiArNTQ5LDkgQEAKIEdyZWcgS29jaGFuc2tpCiBEYW1vbiBLb2hsZXIKIE1hcmtvIEtvaHRhbGEKK0phY2VrIEtvbmllY3pueQor0JzQsNGA0Log0JrQvtGA0LXQvdCx0LXRgNCzCitBcmthZHkgS29wbHlhcm92CiBWbGFkIEtvcm9sZXYKIEpvc2VwaCBLb3NoeQogTWFrc2ltIEtvenlhcmNodWsKQEAgLTUxNiwxMCArNTYxLDEyIEBACiBNaWNoYWVsIEtyZW1lcgogRmFiaWFuIEtyZXV0egogQ8OpZHJpYyBLcmllcgorUGVkcm8gS3JvZ2VyCiBIYW5udSBLcm9zaW5nCiBBbmRyZWogS3JwaWMKIEl2YW4gS3JzdGnEhwogQW5kcmV3IEt1Y2hsaW5nCitKb24gS3VobgogVmxhZGltaXIgS3VzaG5pcgogUm9zcyBMYWdlcndhbGwKIENhbWVyb24gTGFpcmQKQEAgLTUzMCwxNiArNTc3LDE4IEBACiBBbmRyZXcgTGFuZ21lYWQKIERldGxlZiBMYW5uZXJ0CiBTb3JlbiBMYXJzZW4KK0Ftb3MgTGF0dGVpZXIKIFBpZXJzIExhdWRlcgogQmVuIExhdXJpZQogU2ltb24gTGF3CiBDaHJpcyBMYXdyZW5jZQogQnJpYW4gTGVhaXIKK01hdGhpZXUgTGVkdWMtSGFtZWwKK0NocmlzdG9waGVyIExlZQorSW55ZW9sIExlZQogSmFtZXMgTGVlCiBKb2huIEouIExlZQotSW55ZW9sIExlZQogVGhvbWFzIExlZQotQ2hyaXN0b3BoZXIgTGVlCiBUZW5uZXNzZWUgTGVldXdlbmJ1cmcKIEx1YyBMZWZlYnZyZQogVmluY2VudCBMZWdvbGwKQEAgLTU0OCw5ICs1OTcsMTEgQEAKIFJvYmVydCBMZWhtYW5uCiBQZXRyaSBMZWh0aW5lbgogTHVrZSBLZW5uZXRoIENhc3NvbiBMZWlnaHRvbgorVHNoZXBhbmcgTGVraG9ua2hvYmUKIE1hcmMtQW5kcmUgTGVtYnVyZwogSm9obiBMZW50b24KIENocmlzdG9waGVyIFR1ciBMZXNuaWV3c2tpLUxhYXMKK0FsYWluIExldWZyb3kKIE1hcmsgTGV2aW5zb24KIFdpbGxpYW0gTGV3aXMKIEFraXJhIExpCkBAIC01NjcsNiArNjE4LDcgQEAKIEdyZWdvciBMaW5nbAogTmljayBMb2Nrd29vZAogU3RlcGhhbmllIExvY2t3b29kCitIdWdvIExvcGVzIFRhdmFyZXMKIEFubmUgTG9yZAogVG9tIExvcmVkbwogSnVzdGluIExvdmUKQEAgLTU4MCw2ICs2MzIsNyBAQAogSmltIEx5bmNoCiBNaWthZWwgTHluZ3ZpZwogTWFydGluIHZvbiBMw7Z3aXMKK0d1aWxsZXJtbyBMw7NwZXotQW5nbGFkYQogQW5kcmV3IEkgTWFjSW50eXJlCiBUaW0gTWFjS2VuemllCiBOaWNrIE1hY2xhcmVuCkBAIC01OTEsMTIgKzY0NCwxNCBAQAogVmxhZGltaXIgTWFyYW5nb3pvdgogRGF2aWQgTWFyZWsKIERvdWcgTWFyaWVuCitTdmVuIE1hcm5hY2gKIEFsZXggTWFydGVsbGkKIEFudGhvbnkgTWFydGluCiBPd2VuIE1hcnRpbgogU8OpYmFzdGllbiBNYXJ0aW5pCiBSb2dlciBNYXNzZQogTmljayBNYXRoZXdzb24KK1NpbW9uIE1hdGhpZXUKIEdyYWhhbSBNYXR0aGV3cwogRGlldGVyIE1hdXJlcgogQXJuYXVkIE1hemluCkBAIC02MDcsOCArNjYyLDggQEAKIE1pY2hhZWwgTWNMYXkKIE1hcmsgTWMgTWFob24KIEdvcmRvbiBNY01pbGxhbgotQ2FvbGFuIE1jTmFtYXJhCiBBbmRyZXcgTWNOYW1hcmEKK0Nhb2xhbiBNY05hbWFyYQogQ3JhaWcgTWNQaGVldGVycwogTGFtYmVydCBNZWVydGVucwogQmlsbCB2YW4gTWVsbGUKQEAgLTYxOCwxOCArNjczLDIyIEBACiBMdWtlIE1ld2J1cm4KIENhcmwgTWV5ZXIKIE1pa2UgTWV5ZXIKK1Bpb3RyIE1leWVyCitBbGV4aXMgTcOpdGFpcmVhdQogU3RldmVuIE1pYWxlCiBUcmVudCBNaWNrCiBTdGFuIE1paGFpCiBBcmlzdG90ZWxpcyBNaWtyb3BvdWxvcwotRGFtaWVuIE1pbGxlcgogQ2hhZCBNaWxsZXIKK0RhbWllbiBNaWxsZXIKIEphc29uIFYuIE1pbGxlcgogSmF5IFQuIE1pbGxlcgogUm9tYW4gTWlsbmVyCitKdWxpZW4gTWlvdHRlCiBBbmRyaWkgVi4gTWlzaGtvdnNreWkKLUR1c3RpbiBKLiBNaXRjaGVsbAogRG9tIE1pdGNoZWxsCitEdXN0aW4gSi4gTWl0Y2hlbGwKK1p1YmluIE1pdGhyYQogRmxvcmlhbiBNbGFkaXRzY2gKIERvdWcgTW9lbgogVGhlIERyYWdvbiBEZSBNb25zeW5lCkBAIC02MzcsMjggKzY5NiwzMSBAQAogUGF1bCBNb29yZQogRGVyZWsgTW9ycgogSmFtZXMgQSBNb3JyaXNvbgorRGVyZWsgTWNUYXZpc2ggTW91bmNlCiBQYWJsbyBNb3V6bwogTWhlciBNb3ZzaXN5YW4KIFJ1c2xhbiBNc3RvaQotU2pvZXJkIE11bGxlbmRlcgorTWljaGFlbCBNdWxpY2gKIFNhcGUgTXVsbGVuZGVyCitTam9lcmQgTXVsbGVuZGVyCiBNaWNoYWVsIE11bGxlcgogTmVpbCBNdWxsZXIKK0xvdWlzIE11bnJvCiBSLiBEYXZpZCBNdXJyYXkKLVBpb3RyIE1leWVyCiBKb2huIE5hZ2xlCiBUYWthaGlybyBOYWtheWFtYQogVHJhdmVycyBOYXJhbgogQ2hhcmxlcy1GcmFuw6dvaXMgTmF0YWxpCiBWaWxtb3MgTmViZWhhagogRnJlZHJpayBOZWhyCi1UcmVudCBOZWxzb24KIFRvbnkgTmVsc29uCitUcmVudCBOZWxzb24KIENoYWQgTmV0emVyCiBNYXggTmV1bmjDtmZmZXIKIEdlb3JnZSBOZXZpbGxlLU5laWwKIEpvaGFubmVzIE5pY29sYWkKIFNhbXVlbCBOaWNvbGFyeQorSm9uYXRoYW4gTmllaG9mCiBHdXN0YXZvIE5pZW1leWVyCiBPc2NhciBOaWVyc3RyYXN6CiBIcnZvamUgTmlrc2ljCkBAIC03MDAsMTEgKzc2MiwxNSBAQAogQWxleGFuZHJlIFBhcmVudGVhdQogRGFuIFBhcmlzaWVuCiBIYXJyaSBQYXNhbmVuCitHYcOrbCBQYXNncmltYXVkCiBSYW5keSBQYXVzY2gKIFNhbXVlbGUgUGVkcm9uaQogTWFyY2VsIHZhbiBkZXIgUGVpamwKK0JlcmtlciBQZWtzYWcKIFN0ZXZlbiBQZW1iZXJ0b24KIFNhbnRpYWdvIFBlcmVzw7NuCitHZW9yZ2UgUGVyaXN0ZXJha2lzCitNYXRoaWV1IFBlcnJlYXVsdAogTWFyayBQZXJyZWdvCiBUcmV2b3IgUGVycmluCiBHYWJyaWVsIGRlIFBlcnRodWlzCkBAIC03MTMsNiArNzc5LDcgQEAKIEpvZSBQZXRlcnNvbgogQ2hyaXMgUGV0cmlsbGkKIEJqb3JuIFBldHRlcnNlbgorUm9ubnkgUGZhbm5zY2htaWR0CiBHZW9mZiBQaGlsYnJpY2sKIEdhdnJpZSBQaGlsaXBzb24KIEFkcmlhbiBQaGlsbGlwcwpAQCAtNzI4LDYgKzc5NSw3IEBACiBBbnRvaW5lIFBpdHJvdQogSmVhbi1GcmFuw6dvaXMgUGnDqXJvbm5lCiBPbGVnIFBsYWtob3RueXVrCitSZW1pIFBvaW50ZWwKIEd1aWxoZXJtZSBQb2xvCiBNaWNoYWVsIFBvbXJhbmluZwogSXVzdGluIFBvcApAQCAtNzM2LDEzICs4MDQsMTUgQEAKIEFtcml0IFByZW0KIFBhdWwgUHJlc2NvZAogRG9ub3ZhbiBQcmVzdG9uCitQYXVsIFByaWNlCiBKeXJraSBQdWxsaWFpbmVuCiBTdGV2ZSBQdXJjZWxsCi1GZXJuYW5kbyBQw6lyZXoKIEVkdWFyZG8gUMOpcmV6CitGZXJuYW5kbyBQw6lyZXoKIFBpZXJyZSBRdWVudGVsCiBCcmlhbiBRdWlubGFuCiBBbmRlcnMgUXZpc3QKK0rDqXLDtG1lIFJhZGl4CiBCdXJ0b24gUmFkb25zCiBKZWZmIFJhbW5hbmkKIEJyb2RpZSBSYW8KQEAgLTc2NCwxMCArODM0LDEyIEBACiBCZXJuaGFyZCBSZWl0ZXIKIFN0ZXZlbiBSZWl6CiBSb2VsYW5kIFJlbmdlbGluawotVGltIFJpY2UKK0FudG9pbmUgUmV2ZXJzYXQKIEZyYW5jZXNjbyBSaWNjaWFyZGkKK1RpbSBSaWNlCiBKYW4gUGlldGVyIFJpZWdlbAogQXJtaW4gUmlnbworQXJjIFJpbGV5CiBOaWNob2xhcyBSaWxleQogSmVhbi1DbGF1ZGUgUmltYmF1bHQKIFZsYWQgUmlzY3V0aWEKQEAgLTc3NiwxNiArODQ4LDIwIEBACiBBbnRob255IFJvYWNoCiBDYXJsIFJvYmJlbgogTWFyayBSb2JlcnRzCi1KaW0gUm9iaW5zb24KIEFuZHkgUm9iaW5zb24KK0ppbSBSb2JpbnNvbgogTWFyayBSb2RkeQogS2V2aW4gUm9kZ2VycwogR2lhbXBhb2xvIFJvZG9sYQorRWxzb24gUm9kcmlndWV6CitMdWlzIFJvamFzCiBNaWtlIFJvbWJlcmcKIEFybWluIFJvbmFjaGVyCiBDYXNlIFJvb2xlCiBUaW1vdGh5IFJvc2NvZQorRXJpayBSb3NlCiBKaW0gUm9za2luZAorQnJpYW4gUm9zbmVyCiBKdXN0IHZhbiBSb3NzdW0KIEh1Z28gdmFuIFJvc3N1bQogU2Fza2lhIHZhbiBSb3NzdW0KQEAgLTgwMSw3ICs4NzcsOSBAQAogSmVmZiBSdXNoCiBTYW0gUnVzaGluZwogTWFyayBSdXNzZWxsCitSdXN0eSBSdXNzZWxsCiBOaWNrIFJ1c3NvCitQYXRyaWNrIFNhYmluCiBTw6liYXN0aWVuIFNhYmzDqQogU3VtYW4gU2FoYQogSGFqaW1lIFNhaXRvdQpAQCAtODA5LDYgKzg4Nyw3IEBACiBSaWNoIFNhbHoKIEtldmluIFNhbWJvcm4KIEFkcmlhbiBTYW1wc29uCitKYW1lcyBTYW5kZXJzCiBJbHlhIFNhbmRsZXIKIE1hcmsgU2FwaXJvCiBUeSBTYXJuYQpAQCAtODMyLDE0ICs5MTEsMTUgQEAKIFN0ZWZhbiBTY2h3YXJ6ZXIKIERpZXRtYXIgU2Nod2VydGJlcmdlcgogRmVkZXJpY28gU2Nod2luZHQKLVN0ZXZlbiBTY290dAogQmFycnkgU2NvdHQKK1N0ZXZlbiBTY290dAogTmljayBTZWlkZW5tYW4KIMW9aWdhIFNlaWxuYWNoCiBZdXJ5IFNlbGl2YW5vdgogRnJlZCBTZWxscwogSml3b24gU2VvCi1Sb2dlciBTZXJ3eQorScOxaWdvIFNlcm5hCitSb2dlciBELiBTZXJ3eQogSmVycnkgU2V1dHRlcgogRGVuaXMgU2V2ZXJzb24KIElhbiBTZXllcgpAQCAtODU2LDE3ICs5MzYsMjEgQEAKIFBhdWwgU2lqYmVuCiBLaXJpbGwgU2ltb25vdgogTmF0aGFuIFBhdWwgU2ltb25zCitBZGFtIFNpbXBraW5zCiBKYW5uZSBTaW5ra29uZW4KIEdlb3JnZSBTaXBlCiBKLiBTaXBwcmVsbAogS3JhZ2VuIFNpdGFrZXIKLUVyaWMgVi4gU21pdGgKIENocmlzdG9waGVyIFNtaXRoCitFcmljIFYuIFNtaXRoCiBHcmVnb3J5IFAuIFNtaXRoCitNYXJrIFNtaXRoCiBSYWZhbCBTbW90cnp5aworRXJpYyBTbm93CiBEaXJrIFNvZWRlCiBQYXVsIFNva29sb3Zza3kKIENvZHkgU29tZXJ2aWxsZQorRWRvYXJkbyBTcGFkb2xpbmkKIENsYXkgU3BlbmNlCiBTdGVmYW4gU3BlcmxpbmcKIFBlciBTcGlsbGluZwpAQCAtODc2LDkgKzk2MCwxMSBAQAogUmFqR29wYWwgU3Jpbml2YXNhbgogUXVlbnRpbiBTdGFmZm9yZC1GcmFzZXIKIEZyYW5rIFN0YWphbm8KK0pvZWwgU3RhbmxleQogT2xpdmVyIFN0ZWVsZQogR3JlZyBTdGVpbgogQ2hyaXMgU3Rlcm4KK0FsZXggU3Rld2FydAogVmljdG9yIFN0aW5uZXIKIFJpY2hhcmQgU3RvYWtsZXkKIFBldGVyIFN0b2VocgpAQCAtOTA0LDggKzk5MCw4IEBACiBXaWxsaWFtIFRhbmtzbGV5CiBDaHJpc3RpYW4gVGFuemVyCiBTdGV2ZW4gVGFzY2h1awotTW9udHkgVGF5bG9yCiBBbXkgVGF5bG9yCitNb250eSBUYXlsb3IKIEFuYXRvbHkgVGVjaHRvbmlrCiBNaWtoYWlsIFRlcmVraG92CiBSaWNoYXJkIE0uIFRldwpAQCAtOTIyLDEzICsxMDA4LDE2IEBACiBKYXNvbiBUaXNobGVyCiBDaHJpc3RpYW4gVGlzbWVyCiBGcmFuayBKLiBUb2JpbgotUiBMaW5kc2F5IFRvZGQKIEJlbm5ldHQgVG9kZAorUiBMaW5kc2F5IFRvZGQKK0V1Z2VuZSBUb2RlcgogRXJpayBUb2xsZXJ1ZAogTWF0aWFzIFRvcmNoaW5za3kKIFNhbmRybyBUb3NpCiBSaWNoYXJkIFRvd25zZW5kCitEYXZpZCBUb3duc2hlbmQKIExhdXJlbmNlIFRyYXR0CitNYXR0aGlhcyBUcm9mZmFlcwogSm9obiBUcm9tcAogSmFzb24gVHJvd2JyaWRnZQogQW50aG9ueSBUdWluaW5nYQpAQCAtOTYxLDYgKzEwNTAsNyBAQAogS2FubmFuIFZpamF5YW4KIEt1cnQgVmlsZQogTm9ybWFuIFZpbmUKK1BhdWxpIFZpcnRhbmVuCiBGcmFuayBWaXNzZXIKIEpvaGFubmVzIFZvZ2VsCiBTam9lcmQgZGUgVnJpZXMKQEAgLTk5MywxMCArMTA4MywxMCBAQAogR2VycnkgV2llbmVyCiBGcmFuayBXaWVyemJpY2tpCiBCcnljZSAiWm9va28iIFdpbGNveC1PJ0hlYXJuCitHZXJhbGQgUy4gV2lsbGlhbXMKIEphc29uIFdpbGxpYW1zCiBKb2huIFdpbGxpYW1zCiBTdWUgV2lsbGlhbXMKLUdlcmFsZCBTLiBXaWxsaWFtcwogRnJhbmsgV2lsbGlzb24KIEdyZWcgVi4gV2lsc29uCiBKb2R5IFdpbnN0b24KQEAgLTEwMTMsOCArMTEwMyw5IEBACiBLbGF1cy1KdWVyZ2VuIFdvbGYKIERhbiBXb2xmZQogUmljaGFyZCBXb2xmZgotRGFycmVuIFdvcnJhbGwKK0FkYW0gV29vZGJlY2sKIEdvcmRvbiBXb3JsZXkKK0RhcnJlbiBXb3JyYWxsCiBUaG9tYXMgV291dGVycwogSGVpa28gV3VuZHJhbQogRG91ZyBXeWF0dApkaWZmIC0tZ2l0IGEvTWlzYy9ORVdTIGIvTWlzYy9ORVdTCmluZGV4IDY2YmIxYzMuLjRjNmE1YzIgMTAwNjQ0Ci0tLSBhL01pc2MvTkVXUworKysgYi9NaXNjL05FV1MKQEAgLTIsMjUgKzIsMzAgQEAKIFB5dGhvbiBOZXdzCiArKysrKysrKysrKwogCi1XaGF0J3MgTmV3IGluIFB5dGhvbiAzLjIuNAotPT09PT09PT09PT09PT09PT09PT09PT09PT0KK1doYXQncyBOZXcgaW4gUHl0aG9uIDMuMy4wIEFscGhhIDI/Cis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogCi0qUmVsZWFzZSBkYXRlOiBYWC1YWC1YWFhYKgorKlJlbGVhc2UgZGF0ZTogWFhYWC1YWC1YWCoKIAogQ29yZSBhbmQgQnVpbHRpbnMKIC0tLS0tLS0tLS0tLS0tLS0tCiAKKy0gSXNzdWUgIzE2ODMzNjg6IG9iamVjdC5fX25ld19fIGFuZCBvYmplY3QuX19pbml0X18gcmFpc2UgYSBUeXBlRXJyb3IgaWYgdGhleQorICBhcmUgcGFzc2VkIGFyZ3VtZW50cyBhbmQgdGhlaXIgY29tcGxlbWVudGFyeSBtZXRob2QgaXMgbm90IG92ZXJyaWRkZW4uCisKKy0gR2l2ZSB0aGUgYXN0LkFTVCBjbGFzcyBhIF9fZGljdF9fLgorCiAtIElzc3VlICMxNDMzNDogUHJldmVudCBpbiBhIHNlZ2ZhdWx0IGluIHR5cGUuX19nZXRhdHRyaWJ1dGVfXyB3aGVuIGl0IHdhcyBub3QKICAgcGFzc2VkIHN0cmluZ3MuCiAKIC0gSXNzdWUgIzE0Njk2Mjk6IEFsbG93IGN5Y2xlcyB0aHJvdWdoIGFuIG9iamVjdCdzIF9fZGljdF9fIHNsb3QgdG8gYmUKICAgY29sbGVjdGVkLiAoRm9yIGV4YW1wbGUgaWYgYGB4Ll9fZGljdF9fIGlzIHhgYCkuCiAKLS0gSXNzdWUgIzE0MTcyOiBGaXggcmVmZXJlbmNlIGxlYWsgd2hlbiBtYXJzaGFsbGluZyBhIGJ1ZmZlci1saWtlIG9iamVjdAotICAob3RoZXIgdGhhbiBhIGJ5dGVzIG9iamVjdCkuCistIElzc3VlICMxNDIwNTogZGljdCBsb29rdXAgcmFpc2VzIGEgUnVudGltZUVycm9yIGlmIHRoZSBkaWN0IGlzIG1vZGlmaWVkCisgIGR1cmluZyBhIGxvb2t1cC4KIAotLSBJc3N1ZSAjMTM1MjE6IGRpY3Quc2V0ZGVmYXVsdCgpIG5vdyBkb2VzIG9ubHkgb25lIGxvb2t1cCBmb3IgdGhlIGdpdmVuIGtleSwKLSAgbWFraW5nIGl0ICJhdG9taWMiIGZvciBtYW55IHB1cnBvc2VzLiAgUGF0Y2ggYnkgRmlsaXAgR3J1c3pjennFhHNraS4KKy0gSXNzdWUgIzE0MjIwOiBXaGVuIGEgZ2VuZXJhdG9yIGlzIGRlbGVnYXRpbmcgdG8gYW5vdGhlciBpdGVyYXRvciB3aXRoIHRoZQorICB5aWVsZCBmcm9tIHN5bnRheCwgaXQgbmVlZHMgdG8gaGF2ZSBpdHMgYGBnaV9ydW5uaW5nYGAgZmxhZyBzZXQgdG8gVHJ1ZS4KIAogTGlicmFyeQogLS0tLS0tLQpAQCAtMjgsNDYgKzMzLDEwNiBAQAogLSBJc3N1ZSAjMTE2ODY6IEFkZGVkIG1pc3NpbmcgZW50cmllcyB0byBlbWFpbCBwYWNrYWdlIF9fYWxsX18gbGlzdHMKICAgKG1vc3RseSB0aGUgbmV3IEJ5dGVzIGNsYXNzZXMpLgogCistIElzc3VlICMxNDMzNTogbXVsdGlwcm9jZXNzaW5nJ3MgY3VzdG9tIFBpY2tsZXIgc3ViY2xhc3Mgbm93IGluaGVyaXRzIGZyb20KKyAgdGhlIEMtYWNjZWxlcmF0ZWQgaW1wbGVtZW50YXRpb24uICBQYXRjaCBieSBzYnQuCisKIC0gSXNzdWUgIzEwNDg0OiBGaXggdGhlIENHSUhUVFBTZXJ2ZXIncyBQQVRIX0lORk8gaGFuZGxpbmcgcHJvYmxlbS4KIAogLSBJc3N1ZSAjMTExOTk6IEZpeCB0aGUgd2l0aCB1cmxsaWIgd2hpY2ggaGFuZ3Mgb24gcGFydGljdWxhciBmdHAgdXJscy4KIAotLSBJc3N1ZSAjMTQwNjI6IEhlYWRlciBvYmplY3RzIG5vdyBjb3JyZWN0bHkgcmVzcGVjdCB0aGUgJ2xpbmVzZXAnIHNldHRpbmcKLSAgd2hlbiBwcm9jZXNzZWQgYnkgQnl0ZXNQYXJzZXIgKHdoaWNoIHNtdHBsaWIuU01UUC5zZW5kX21lc3NhZ2UgdXNlcykuCistIEltcHJvdmUgdGhlIG1lbW9yeSB1dGlsaXphdGlvbiBhbmQgc3BlZWQgb2YgZnVuY3Rvb2xzLmxydV9jYWNoZS4KKworLSBJc3N1ZSAjMTQyMjI6IFVzZSB0aGUgbmV3IHRpbWUuc3RlYWR5KCkgZnVuY3Rpb24gaW5zdGVhZCBvZiB0aW1lLnRpbWUoKSBmb3IKKyAgdGltZW91dCBpbiBxdWV1ZSBhbmQgdGhyZWFkaW5nIG1vZHVsZXMgdG8gbm90IGJlIGFmZmVjdGVkIG9mIHN5c3RlbSB0aW1lCisgIHVwZGF0ZS4KKworLSBJc3N1ZSAjMTMyNDg6IFJlbW92ZSBsaWIydG8zLnB5dHJlZS5CYXNlLmdldF9wcmVmaXgvc2V0X3ByZWZpeC4KKworLSBJc3N1ZSAjMTQyMzQ6IENWRS0yMDEyLTA4NzY6IFJhbmRvbWl6ZSBoYXNoZXMgb2YgeG1sIGF0dHJpYnV0ZXMgaW4gdGhlIGhhc2gKKyAgdGFibGUgaW50ZXJuYWwgdG8gdGhlIHB5ZXhwYXQgbW9kdWxlJ3MgY29weSBvZiB0aGUgZXhwYXQgbGlicmFyeSB0byBhdm9pZCBhCisgIGRlbmlhbCBvZiBzZXJ2aWNlIGR1ZSB0byBoYXNoIGNvbGxpc2lvbnMuICBQYXRjaCBieSBEYXZpZCBNYWxjb2xtIHdpdGggc29tZQorICBtb2RpZmljYXRpb25zIGJ5IHRoZSBleHBhdCBwcm9qZWN0LgorCistIElzc3VlICMxNDIwMDogSWRsZSBzaGVsbCBjcmFzaCBvbiBwcmludGluZyBub24tQk1QIHVuaWNvZGUgY2hhcmFjdGVyLgorCistIElzc3VlICMxMjgxODogZm9ybWF0IGFkZHJlc3Mgbm8gbG9uZ2VyIG5lZWRsZXNzbHkgXCBlc2NhcGVzICgpcyBpbiBuYW1lcyB3aGVuCisgIHRoZSBuYW1lIGVuZHMgdXAgYmVpbmcgcXVvdGVkLgorCistIElzc3VlICMxNDA2MjogQnl0ZXNHZW5lcmF0b3Igbm93IGNvcnJlY3RseSBmb2xkcyBIZWFkZXIgb2JqZWN0cywKKyAgaW5jbHVkaW5nIHVzaW5nIGxpbmVzZXAgd2hlbiBmb2xkaW5nLgorCistIElzc3VlICMxMzgzOTogV2hlbiBpbnZva2VkIG9uIHRoZSBjb21tYW5kLWxpbmUsIHRoZSBwc3RhdHMgbW9kdWxlIG5vdworICBhY2NlcHRzIHNldmVyYWwgZmlsZW5hbWVzIG9mIHByb2ZpbGUgc3RhdCBmaWxlcyBhbmQgbWVyZ2VzIHRoZW0gYWxsLgorICBQYXRjaCBieSBNYXR0IEpvaW5lci4KIAogLSBJc3N1ZSAjMTQyOTE6IEVtYWlsIG5vdyBkZWZhdWx0cyB0byB1dGYtOCBmb3Igbm9uLUFTQ0lJIHVuaWNvZGUgaGVhZGVycwogICBpbnN0ZWFkIG9mIHJhaXNpbmcgYW4gZXJyb3IuICBUaGlzIGZpeGVzIGEgcmVncmVzc2lvbiByZWxhdGl2ZSB0byAyLjcuCiAKKy0gSXNzdWUgIzk4OTcxMjogU3VwcG9ydCB1c2luZyBUayB3aXRob3V0IGEgbWFpbmxvb3AuCisKIC0gSXNzdWUgIzUyMTk6IFByZXZlbnQgZXZlbnQgaGFuZGxlciBjYXNjYWRlIGluIElETEUuCiAKKy0gSXNzdWUgIzM4MzU6IFJlZnVzZSB0byB1c2UgdW50aHJlYWRlZCBUY2wgaW4gdGhyZWFkZWQgUHl0aG9uLgorCistIElzc3VlICMyODQzOiBBZGQgbmV3IFRrIEFQSSB0byBUa2ludGVyLgorCiAtIElzc3VlICMxNDE4NDogSW5jcmVhc2UgdGhlIGRlZmF1bHQgc3RhY2sgc2l6ZSBmb3Igc2Vjb25kYXJ5IHRocmVhZHMgb24KICAgTWFjIE9TIFggdG8gYXZvaWQgaW50ZXJwcmV0ZXIgY3Jhc2hlcyB3aGVuIHVzaW5nIHRocmVhZHMgb24gMTAuNy4KIAorLSBJc3N1ZSAjMTQxODA6IGRhdGV0aW1lLmRhdGUuZnJvbXRpbWVzdGFtcCgpLAorICBkYXRldGltZS5kYXRldGltZS5mcm9tdGltZXN0YW1wKCkgYW5kIGRhdGV0aW1lLmRhdGV0aW1lLnV0Y2Zyb210aW1lc3RhbXAoKQorICBub3cgcmFpc2UgYW4gT1NFcnJvciBpbnN0ZWFkIG9mIFZhbHVlRXJyb3IgaWYgbG9jYWx0aW1lKCkgb3IgZ210aW1lKCkgZmFpbGVkLgorCistIElzc3VlICMxNDE4MDogdGltZS5jdGltZSgpLCBnbXRpbWUoKSwgdGltZS5sb2NhbHRpbWUoKSwKKyAgZGF0ZXRpbWUuZGF0ZS5mcm9tdGltZXN0YW1wKCksIGRhdGV0aW1lLmRhdGV0aW1lLmZyb210aW1lc3RhbXAoKSBhbmQKKyAgZGF0ZXRpbWUuZGF0ZXRpbWUudXRjZnJvbXRpbWVzdGFtcCgpIG5vdyByYWlzZXMgYW4gT3ZlcmZsb3dFcnJvciwgaW5zdGVhZCBvZgorICBhIFZhbHVlRXJyb3IsIGlmIHRoZSB0aW1lc3RhbXAgZG9lcyBub3QgZml0IGluIHRpbWVfdC4KKworLSBJc3N1ZSAjMTQxODA6IGRhdGV0aW1lLmRhdGV0aW1lLmZyb210aW1lc3RhbXAoKSBhbmQKKyAgZGF0ZXRpbWUuZGF0ZXRpbWUudXRjZnJvbXRpbWVzdGFtcCgpIG5vdyByb3VuZCBtaWNyb3NlY29uZHMgdG93YXJkcyB6ZXJvCisgIGluc3RlYWQgb2Ygcm91bmRpbmcgdG8gbmVhcmVzdCB3aXRoIHRpZXMgZ29pbmcgYXdheSBmcm9tIHplcm8uCisKIC0gSXNzdWUgIzEwNTQzOiBGaXggdW5pdHRlc3QgdGVzdCBkaXNjb3Zlcnkgd2l0aCBKeXRob24gYnl0ZWNvZGUgZmlsZXMuCiAKKy0gSXNzdWUgIzExNzg4NjM6IFNlcGFyYXRlIGluaXRpYWxpc2F0aW9uIGZyb20gc2V0dGluZyB3aGVuIGluaXRpYWxpemluZworICBUa2ludGVyLlZhcmlhYmxlczsgaGFybW9uaXplIGV4Y2VwdGlvbnMgdG8gVmFsdWVFcnJvcjsgb25seSBkZWxldGUgdmFyaWFibGVzCisgIHRoYXQgaGF2ZSBub3QgYmVlbiBkZWxldGVkOyBhc3NlcnQgdGhhdCB2YXJpYWJsZSBuYW1lcyBhcmUgc3RyaW5ncy4KKworLSBJc3N1ZSAjMTQxMDQ6IEltcGxlbWVudCB0aW1lLm1vbm90b25pYygpIG9uIE1hYyBPUyBYLCBwYXRjaCB3cml0dGVuIGJ5CisgIE5pY2hvbGFzIFJpbGV5LgorCistIElzc3VlICMxMzM5NDogdGhlIGFpZmMgbW9kdWxlIG5vdyB1c2VzIHdhcm5pbmdzLndhcm4oKSB0byBzaWduYWwgd2FybmluZ3MuCisKIC0gSXNzdWUgIzE0MjUyOiBGaXggc3VicHJvY2Vzcy5Qb3Blbi50ZXJtaW5hdGUoKSB0byBub3QgcmFpc2UgYW4gZXJyb3IgdW5kZXIKICAgV2luZG93cyB3aGVuIHRoZSBjaGlsZCBwcm9jZXNzIGhhcyBhbHJlYWR5IGV4aXRlZC4KIAotLSBJc3N1ZSAjMTQxOTU6IEFuIGlzc3VlIHRoYXQgY2F1c2VkIHdlYWtyZWYuV2Vha1NldCBpbnN0YW5jZXMgdG8gaW5jb3JyZWN0bHkKLSAgcmV0dXJuIFRydWUgZm9yIGEgV2Vha1NldCBpbnN0YW5jZSAnYScgaW4gYm90aCAnYSA8IGEnIGFuZCAnYSA+IGEnIGhhcyBiZWVuCi0gIGZpeGVkLgorLSBJc3N1ZSAjMTQyMjM6IGN1cnNlcy5hZGRjaCgpIGlzIG5vIG1vcmUgbGltaXRlZCB0byB0aGUgcmFuZ2UgMC0yNTUgd2hlbiB0aGUKKyAgUHl0aG9uIGN1cnNlcyBpcyBub3QgbGlua2VkIHRvIGxpYm5jdXJzZXN3LiBJdCB3YXMgYSByZWdyZXNzaW9uIGludHJvZHVjZWQKKyAgaW4gUHl0aG9uIDMuM2ExLgogCi0tIElzc3VlICMxNDE3NzogbWFyc2hhbC5sb2FkcygpIG5vdyByYWlzZXMgVHlwZUVycm9yIHdoZW4gZ2l2ZW4gYW4gdW5pY29kZQotICBzdHJpbmcuICBQYXRjaCBieSBHdWlsaGVybWUgR29uw6dhbHZlcy4KKy0gSXNzdWUgIzE0MTY4OiBDaGVjayBmb3IgcHJlc2VuY2Ugb2YgRWxlbWVudC5fYXR0cnMgaW4gbWluaWRvbSBiZWZvcmUKKyAgYWNjZXNzaW5nIGl0LgogCi0tIElzc3VlICMxNDE1OTogRml4IHRoZSBsZW4oKSBvZiB3ZWFrIGNvbnRhaW5lcnMgKFdlYWtTZXQsIFdlYWtLZXlEaWN0aW9uYXJ5LAotICBXZWFrVmFsdWVEaWN0aW9uYXJ5KSB0byByZXR1cm4gYSBiZXR0ZXIgYXBwcm94aW1hdGlvbiB3aGVuIHNvbWUgb2JqZWN0cwotICBhcmUgZGVhZCBvciBkeWluZy4gIE1vcmVvdmVyLCB0aGUgaW1wbGVtZW50YXRpb24gaXMgbm93IE8oMSkgcmF0aGVyIHRoYW4KLSAgTyhuKS4KKy0gSXNzdWUgIzEyMzI4OiBGaXggbXVsdGlwcm9jZXNzaW5nJ3MgdXNlIG9mIG92ZXJsYXBwZWQgSS9PIG9uIFdpbmRvd3MuCisgIEFsc28sIGFkZCBhIG11bHRpcHJvY2Vzc2luZy5jb25uZWN0aW9uLndhaXQocmxpc3QsIHRpbWVvdXQ9Tm9uZSkgZnVuY3Rpb24KKyAgZm9yIHBvbGxpbmcgbXVsdGlwbGUgb2JqZWN0cyBhdCBvbmNlLiAgUGF0Y2ggYnkgc2J0LgogCi0tIElzc3VlICMxMzEyNTogU2lsZW5jZSBzcHVyaW91cyB0ZXN0X2xpYjJ0bzMgb3V0cHV0IHdoZW4gaW4gbm9uLXZlcmJvc2UgbW9kZS4KLSAgUGF0Y2ggYnkgTWlraGFpbCBOb3Zpa292LgorLSBJc3N1ZSAjMTQwMDc6IEFjY2VwdCBpbmNvbXBsZXRlIFRyZWVCdWlsZGVyIG9iamVjdHMgKG1pc3Npbmcgc3RhcnQsIGVuZCwKKyAgZGF0YSBvciBjbG9zZSBtZXRob2QpIGZvciB0aGUgUHl0aG9uIGltcGxlbWVudGF0aW9uIGFzIHdlbGwuCisgIERyb3AgdGhlIG5vLW9wIFRyZWVCdWlsZGVyKCkueG1sKCkgbWV0aG9kIGZyb20gdGhlIEMgaW1wbGVtZW50YXRpb24uCiAKLS0gSXNzdWUgIzEzNDQ3OiBBZGQgYSB0ZXN0IGZpbGUgdG8gaG9zdCByZWdyZXNzaW9uIHRlc3RzIGZvciBidWdzIGluIHRoZQotICBzY3JpcHRzIGZvdW5kIGluIHRoZSBUb29scyBkaXJlY3RvcnkuCistIElzc3VlICMxNDIxMDogcGRiIG5vdyBoYXMgdGFiLWNvbXBsZXRpb24gbm90IG9ubHkgZm9yIGNvbW1hbmQgbmFtZXMsIGJ1dAorICBhbHNvIGZvciB0aGVpciBhcmd1bWVudHMsIHdoZXJldmVyIHBvc3NpYmxlLgogCi0tIElzc3VlICM4MDMzOiBzcWxpdGUzOiBGaXggNjQtYml0IGludGVnZXIgaGFuZGxpbmcgaW4gdXNlciBmdW5jdGlvbnMKLSAgb24gMzItYml0IGFyY2hpdGVjdHVyZXMuIEluaXRpYWwgcGF0Y2ggYnkgUGhpbGlwcGUgRGV2YWxrZW5lZXIuCitCdWlsZAorLS0tLS0KKworLSBJc3N1ZSAjMTQzMjE6IERvIG5vdCBydW4gcGdlbiBkdXJpbmcgdGhlIGJ1aWxkIGlmIGZpbGVzIGFyZSB1cCB0byBkYXRlLgorCistIElzc3VlICMxNDMyNDogRml4IGNvbmZpZ3VyZSB0ZXN0cyBmb3IgY3Jvc3MgYnVpbGRzLgorCistIElzc3VlICMxNDMyNzogQ2FsbCBBQ19DQU5PTklDQUxfSE9TVCBpbiBjb25maWd1cmUuYWMgYW5kIGNoZWNrIGluCisgIGNvbmZpZy57Z3Vlc3Msc3VifS4gRG9uJ3QgdXNlIHVuYW1lIGNhbGxzIGZvciBjcm9zcyBidWlsZHMuCiAKIEV4dGVuc2lvbiBNb2R1bGVzCiAtLS0tLS0tLS0tLS0tLS0tLQpAQCAtNzUsNDMgKzE0MCw2NSBAQAogLSBJc3N1ZSAjMTQyMTI6IFRoZSByZSBtb2R1bGUgZGlkbid0IHJldGFpbiBhIHJlZmVyZW5jZSB0byBidWZmZXJzIGl0IHdhcwogICBzY2FubmluZywgcmVzdWx0aW5nIGluIHNlZ2ZhdWx0cy4KIAorLSBJc3N1ZSAjMTQyNTk6IFRoZSBmaW5kaXRlcigpIG1ldGhvZCBvZiByZSBvYmplY3RzIGRpZCBub3QgdGFrZSBhbnkKKyAga2V5d29yZCBhcmd1bWVudHMsIGNvbnRyYXJ5IHRvIHRoZSBkb2N1bWVudGF0aW9uLgogCi1XaGF0J3MgTmV3IGluIFB5dGhvbiAzLjIuMyByZWxlYXNlIGNhbmRpZGF0ZSAyPwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KK1Rlc3RzCistLS0tLQogCi0qUmVsZWFzZSBkYXRlOiBYWC1NYXItMjAxMioKLQotTGlicmFyeQotLS0tLS0tLQotCi0tIElzc3VlICM2ODg0OiBGaXggbG9uZy1zdGFuZGluZyBidWdzIHdpdGggTUFOSUZFU1QuaW4gcGFyc2luZyBpbiBkaXN0dXRpbHMKLSAgb24gV2luZG93cy4KLQotRXh0ZW5zaW9uIE1vZHVsZXMKLS0tLS0tLS0tLS0tLS0tLS0tCi0KLS0gSXNzdWUgIzE0MjM0OiBDVkUtMjAxMi0wODc2OiBSYW5kb21pemUgaGFzaGVzIG9mIHhtbCBhdHRyaWJ1dGVzIGluIHRoZSBoYXNoCi0gIHRhYmxlIGludGVybmFsIHRvIHRoZSBweWV4cGF0IG1vZHVsZSdzIGNvcHkgb2YgdGhlIGV4cGF0IGxpYnJhcnkgdG8gYXZvaWQgYQotICBkZW5pYWwgb2Ygc2VydmljZSBkdWUgdG8gaGFzaCBjb2xsaXNpb25zLiAgUGF0Y2ggYnkgRGF2aWQgTWFsY29sbSB3aXRoIHNvbWUKLSAgbW9kaWZpY2F0aW9ucyBieSB0aGUgZXhwYXQgcHJvamVjdC4KKy0gSXNzdWUgIzgzMTU6IChwYXJ0aWFsIGZpeCkgcHl0aG9uIC1tIHVuaXR0ZXN0IHRlc3QudGVzdF9lbWFpbCBub3cgd29ya3MuCiAKIAotV2hhdCdzIE5ldyBpbiBQeXRob24gMy4yLjMgcmVsZWFzZSBjYW5kaWRhdGUgMT8KLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CitXaGF0J3MgTmV3IGluIFB5dGhvbiAzLjMuMCBBbHBoYSAxPworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIAotKlJlbGVhc2UgZGF0ZTogMjQtRmViLTIwMTIqCisqUmVsZWFzZSBkYXRlOiAwNS1NYXItMjAxMioKIAogQ29yZSBhbmQgQnVpbHRpbnMKIC0tLS0tLS0tLS0tLS0tLS0tCiAKLS0gSXNzdWUgIzEzNzAzOiBvQ0VSVC0yMDExLTAwMzogYWRkIC1SIGNvbW1hbmQtbGluZSBvcHRpb24gYW5kIFBZVEhPTkhBU0hTRUVECi0gIGVudmlyb25tZW50IHZhcmlhYmxlLCB0byBwcm92aWRlIGFuIG9wdC1pbiB3YXkgdG8gcHJvdGVjdCBhZ2FpbnN0IGRlbmlhbCBvZgotICBzZXJ2aWNlIGF0dGFja3MgZHVlIHRvIGhhc2ggY29sbGlzaW9ucyB3aXRoaW4gdGhlIGRpY3QgYW5kIHNldCB0eXBlcy4gIFBhdGNoCi0gIGJ5IERhdmlkIE1hbGNvbG0sIGJhc2VkIG9uIHdvcmsgYnkgVmljdG9yIFN0aW5uZXIuCistIElzc3VlICMxNDE3MjogRml4IHJlZmVyZW5jZSBsZWFrIHdoZW4gbWFyc2hhbGxpbmcgYSBidWZmZXItbGlrZSBvYmplY3QKKyAgKG90aGVyIHRoYW4gYSBieXRlcyBvYmplY3QpLgorCistIElzc3VlICMxMzUyMTogZGljdC5zZXRkZWZhdWx0KCkgbm93IGRvZXMgb25seSBvbmUgbG9va3VwIGZvciB0aGUgZ2l2ZW4ga2V5LAorICBtYWtpbmcgaXQgImF0b21pYyIgZm9yIG1hbnkgcHVycG9zZXMuICBQYXRjaCBieSBGaWxpcCBHcnVzemN6ecWEc2tpLgorCistIFBFUCA0MDksIElzc3VlICM2MjEwOiAicmFpc2UgWCBmcm9tIE5vbmUiIGlzIG5vdyBzdXBwb3J0ZWQgYXMgYSBtZWFucyBvZgorICBzdXBwcmVzc2luZyB0aGUgZGlzcGxheSBvZiB0aGUgY2hhaW5lZCBleGNlcHRpb24gY29udGV4dC4gVGhlIGNoYWluZWQKKyAgY29udGV4dCBzdGlsbCByZW1haW5zIGF2YWlsYWJsZSBhcyB0aGUgX19jb250ZXh0X18gYXR0cmlidXRlLgorCistIElzc3VlICMxMDE4MTogTmV3IG1lbW9yeXZpZXcgaW1wbGVtZW50YXRpb24gZml4ZXMgbXVsdGlwbGUgb3duZXJzaGlwCisgIGFuZCBsaWZldGltZSBpc3N1ZXMgb2YgZHluYW1pY2FsbHkgYWxsb2NhdGVkIFB5X2J1ZmZlciBtZW1iZXJzICgjOTk5MCkKKyAgYXMgd2VsbCBhcyBjcmFzaGVzICgjODMwNSwgIzc0MzMpLiBNYW55IG5ldyBmZWF0dXJlcyBoYXZlIGJlZW4gYWRkZWQKKyAgKFNlZSB3aGF0c25ldy8zLjMpLCBhbmQgdGhlIGRvY3VtZW50YXRpb24gaGFzIGJlZW4gdXBkYXRlZCBleHRlbnNpdmVseS4KKyAgVGhlIG5kYXJyYXkgdGVzdCBvYmplY3QgZnJvbSBfdGVzdGJ1ZmZlci5jIGltcGxlbWVudHMgYWxsIGFzcGVjdHMgb2YKKyAgUEVQLTMxMTgsIHNvIGZ1cnRoZXIgZGV2ZWxvcG1lbnQgdG93YXJkcyB0aGUgY29tcGxldGUgaW1wbGVtZW50YXRpb24KKyAgb2YgdGhlIFBFUCBjYW4gcHJvY2VlZCBpbiBhIHRlc3QtZHJpdmVuIG1hbm5lci4KKworICBUaGFua3MgdG8gTmljayBDb2dobGFuLCBBbnRvaW5lIFBpdHJvdSBhbmQgUGF1bGkgVmlydGFuZW4gZm9yIHJldmlldworICBhbmQgbWFueSBpZGVhcy4KKworLSBJc3N1ZSAjMTI4MzQ6IEZpeCBpbmNvcnJlY3QgcmVzdWx0cyBvZiBtZW1vcnl2aWV3LnRvYnl0ZXMoKSBmb3IKKyAgbm9uLWNvbnRpZ3VvdXMgYXJyYXlzLgorCistIElzc3VlICM1MjMxOiBJbnRyb2R1Y2UgbWVtb3J5dmlldy5jYXN0KCkgbWV0aG9kIHRoYXQgYWxsb3dzIGNoYW5naW5nCisgIGZvcm1hdCBhbmQgc2hhcGUgd2l0aG91dCBtYWtpbmcgYSBjb3B5IG9mIHRoZSB1bmRlcmx5aW5nIG1lbW9yeS4KIAogLSBJc3N1ZSAjMTQwODQ6IEZpeCBhIGZpbGUgZGVzY3JpcHRvciBsZWFrIHdoZW4gaW1wb3J0aW5nIGEgbW9kdWxlIHdpdGggYQogICBiYWQgZW5jb2RpbmcuCiAKKy0gVXBncmFkZSBVbmljb2RlIGRhdGEgdG8gVW5pY29kZSA2LjEuCisKKy0gSXNzdWUgIzE0MDQwOiBSZW1vdmUgcmFyZWx5IHVzZWQgZmlsZSBuYW1lIHN1ZmZpeGVzIGZvciBDIGV4dGVuc2lvbnMKKyAgKHVuZGVyIFBPU0lYIG1haW5seSkuCisKKy0gSXNzdWUgIzE0MDUxOiBBbGxvdyBhcmJpdHJhcnkgYXR0cmlidXRlcyB0byBiZSBzZXQgb2YgY2xhc3NtZXRob2QgYW5kCisgIHN0YXRpY21ldGhvZC4KKworLSBJc3N1ZSAjMTM3MDM6IG9DRVJULTIwMTEtMDAzOiBSYW5kb21pemUgaGFzaGVzIG9mIHN0ciBhbmQgYnl0ZXMgdG8gcHJvdGVjdAorICBhZ2FpbnN0IGRlbmlhbCBvZiBzZXJ2aWNlIGF0dGFja3MgZHVlIHRvIGhhc2ggY29sbGlzaW9ucyB3aXRoaW4gdGhlIGRpY3QgYW5kCisgIHNldCB0eXBlcy4gIFBhdGNoIGJ5IERhdmlkIE1hbGNvbG0sIGJhc2VkIG9uIHdvcmsgYnkgVmljdG9yIFN0aW5uZXIuCisKIC0gSXNzdWUgIzEzMDIwOiBGaXggYSByZWZlcmVuY2UgbGVhayB3aGVuIGFsbG9jYXRpbmcgYSBzdHJ1Y3RzZXF1ZW5jZSBvYmplY3QKICAgZmFpbHMuICBQYXRjaCBieSBTdW1hbiBTYWhhLgogCkBAIC0xMjAsNiArMjA3LDkgQEAKIC0gSXNzdWUgIzExMjM1OiBGaXggT3ZlcmZsb3dFcnJvciB3aGVuIHRyeWluZyB0byBpbXBvcnQgYSBzb3VyY2UgZmlsZSB3aG9zZQogICBtb2RpZmljYXRpb24gdGltZSBkb2Vzbid0IGZpdCBpbiBhIDMyLWJpdCB0aW1lc3RhbXAuCiAKKy0gSXNzdWUgIzEyNzA1OiBBIFN5bnRheEVycm9yIGV4Y2VwdGlvbiBpcyBub3cgcmFpc2VkIHdoZW4gYXR0ZW1wdGluZyB0bworICBjb21waWxlIG11bHRpcGxlIHN0YXRlbWVudHMgYXMgYSBzaW5nbGUgaW50ZXJhY3RpdmUgc3RhdGVtZW50LgorCiAtIEZpeCB0aGUgYnVpbHRpbiBtb2R1bGUgaW5pdGlhbGl6YXRpb24gY29kZSB0byBzdG9yZSB0aGUgaW5pdCBmdW5jdGlvbiBmb3IKICAgZnV0dXJlIHJlaW5pdGlhbGl6YXRpb24uCiAKQEAgLTEzMSw2ICsyMjEsMzcgQEAKIC0gSXNzdWUgIzEzNjI5OiBSZW51bWJlciB0aGUgdG9rZW5zIGluIHRva2VuLmggc28gdGhhdCB0aGV5IG1hdGNoIHRoZSBpbmRleGVzCiAgIGludG8gX1B5UGFyc2VyX1Rva2VuTmFtZXMuCiAKKy0gSXNzdWUgIzEzNzUyOiBBZGQgYSBjYXNlZm9sZCgpIG1ldGhvZCB0byBzdHIuCisKKy0gSXNzdWUgIzEzNzYxOiBBZGQgYSAiZmx1c2giIGtleXdvcmQgYXJndW1lbnQgdG8gdGhlIHByaW50KCkgZnVuY3Rpb24sCisgIHVzZWQgdG8gZW5zdXJlIGZsdXNoaW5nIHRoZSBvdXRwdXQgc3RyZWFtLgorCistIElzc3VlICMxMzY0NTogcHljIGZpbGVzIG5vdyBjb250YWluIHRoZSBzaXplIG9mIHRoZSBjb3JyZXNwb25kaW5nIHNvdXJjZQorICBjb2RlLCB0byBhdm9pZCB0aW1lc3RhbXAgY29sbGlzaW9ucyAoZXNwZWNpYWxseSBvbiBmaWxlc3lzdGVtcyB3aXRoIGEgbG93CisgIHRpbWVzdGFtcCByZXNvbHV0aW9uKSB3aGVuIGNoZWNraW5nIGZvciBmcmVzaG5lc3Mgb2YgdGhlIGJ5dGVjb2RlLgorCistIFBFUCAzODAsIElzc3VlICMxMTY4MjogQWRkICJ5aWVsZCBmcm9tIDx4PiIgdG8gc3VwcG9ydCBlYXN5IGRlbGVnYXRpb24gdG8KKyAgc3ViZ2VuZXJhdG9ycyAoaW5pdGlhbCBwYXRjaCBieSBHcmVnIEV3aW5nLCBpbnRlZ3JhdGlvbiBpbnRvIDMuMyBieQorICBSZW5hdWQgQmxhbmNoLCBSeWFuIEtlbGx5LCBaYmlnbmlldyBKxJlkcnplamV3c2tpLVN6bWVrIGFuZCBOaWNrIENvZ2hsYW4pCisKKy0gSXNzdWUgIzEzNzQ4OiBSYXcgYnl0ZXMgbGl0ZXJhbHMgY2FuIG5vdyBiZSB3cml0dGVuIHdpdGggdGhlIGBgcmJgYCBwcmVmaXgKKyAgYXMgd2VsbCBhcyBgYGJyYGAuCisKKy0gSXNzdWUgIzEyNzM2OiBVc2UgZnVsbCB1bmljb2RlIGNhc2UgbWFwcGluZ3MgZm9yIHVwcGVyLCBsb3dlciwgYW5kIHRpdGxlIGNhc2UuCisKKy0gSXNzdWUgIzEyNzYwOiBBZGQgYSBjcmVhdGUgbW9kZSB0byBvcGVuKCkuIFBhdGNoIGJ5IERhdmlkIFRvd25zaGVuZC4KKworLSBJc3N1ZSAjMTM3Mzg6IFNpbXBsaWZ5IGltcGxlbWVudGF0aW9uIG9mIGJ5dGVzLmxvd2VyKCkgYW5kIGJ5dGVzLnVwcGVyKCkuCisKKy0gSXNzdWUgIzEzNTc3OiBCdWlsdC1pbiBtZXRob2RzIGFuZCBmdW5jdGlvbnMgbm93IGhhdmUgYSBfX3F1YWxuYW1lX18uCisgIFBhdGNoIGJ5IHNidC4KKworLSBJc3N1ZSAjNjY5NTogRnVsbCBnYXJiYWdlIGNvbGxlY3Rpb24gcnVucyBub3cgY2xlYXIgdGhlIGZyZWVsaXN0IG9mIHNldAorICBvYmplY3RzLiAgSW5pdGlhbCBwYXRjaCBieSBNYXR0aGlhcyBUcm9mZmFlcy4KKworLSBGaXggT1NFcnJvci5fX2luaXRfXyBhbmQgT1NFcnJvci5fX25ld19fIHNvIHRoYXQgZWFjaCBvZiB0aGVtIGNhbiBiZQorICBvdmVycmlkZW4gYW5kIHRha2UgYWRkaXRpb25hbCBhcmd1bWVudHMgKGZvbGxvd3VwIHRvIGlzc3VlICMxMjU1NSkuCisKIC0gRml4IHRoZSBmaXggZm9yIGlzc3VlICMxMjE0OTogaXQgd2FzIGluY29ycmVjdCwgYWx0aG91Z2ggaXQgaGFkIHRoZSBzaWRlCiAgIGVmZmVjdCBvZiBhcHBlYXJpbmcgdG8gcmVzb2x2ZSB0aGUgaXNzdWUuICBUaGFua3MgdG8gTWFyayBTaGFubm9uIGZvcgogICBub3RpY2luZy4KQEAgLTE0MSwyNyArMjYyLDY5IEBACiAtIElzc3VlICMxMTE0NzogRml4IGFuIHVudXNlZCBhcmd1bWVudCBpbiBfUHlfQU5OT1RBVEVfTUVNT1JZX09SREVSLiAgKEZpeAogICBnaXZlbiBieSBDYW1wYmVsbCBCYXJ0b24pLgogCistIElzc3VlICMxMzUwMzogVXNlIGEgbW9yZSBlZmZpY2llbnQgcmVkdWN0aW9uIGZvcm1hdCBmb3IgYnl0ZWFycmF5cyB3aXRoCisgIHBpY2tsZSBwcm90b2NvbCA+PSAzLiAgVGhlIG9sZCByZWR1Y3Rpb24gZm9ybWF0IGlzIGtlcHQgd2l0aCBvbGRlciBwcm90b2NvbHMKKyAgaW4gb3JkZXIgdG8gYWxsb3cgdW5waWNrbGluZyB1bmRlciBQeXRob24gMi4gIFBhdGNoIGJ5IElybWVuIGRlIEpvbmcuCisKIC0gSXNzdWUgIzcxMTE6IFB5dGhvbiBjYW4gbm93IGJlIHJ1biB3aXRob3V0IGEgc3RkaW4sIHN0ZG91dCBvciBzdGRlcnIKICAgc3RyZWFtLiAgSXQgd2FzIGFscmVhZHkgdGhlIGNhc2Ugd2l0aCBQeXRob24gMi4gIEhvd2V2ZXIsIHRoZSBjb3JyZXNwb25kaW5nCiAgIHN5cyBtb2R1bGUgZW50cmllcyBhcmUgbm93IHNldCB0byBOb25lIChpbnN0ZWFkIG9mIGFuIHVudXNhYmxlIGZpbGUgb2JqZWN0KS4KIAorLSBJc3N1ZSAjMTE4NDk6IEVuc3VyZSB0aGF0IGZyZWUoKWQgbWVtb3J5IGFyZW5hcyBhcmUgcmVhbGx5IHJlbGVhc2VkCisgIG9uIFBPU0lYIHN5c3RlbXMgc3VwcG9ydGluZyBhbm9ueW1vdXMgbWVtb3J5IG1hcHBpbmdzLiAgUGF0Y2ggYnkKKyAgQ2hhcmxlcy1GcmFuw6dvaXMgTmF0YWxpLgorCistIElzc3VlICMxMzQ1MjogUHlVbmljb2RlX0VuY29kZURlY2ltYWwoKSBkb2Vzbid0IHN1cHBvcnQgZXJyb3IgaGFuZGxlcnMKKyAgZGlmZmVyZW50IHRoYW4gInN0cmljdCIgYW55bW9yZS4gVGhlIGNhbGxlciB3YXMgdW5hYmxlIHRvIGNvbXB1dGUgdGhlCisgIHNpemUgb2YgdGhlIG91dHB1dCBidWZmZXI6IGl0IGRlcGVuZHMgb24gdGhlIGVycm9yIGhhbmRsZXIuCisKKy0gUEVQIDMxNTUgLyBpc3N1ZSAjMTM0NDg6IFF1YWxpZmllZCBuYW1lIGZvciBjbGFzc2VzIGFuZCBmdW5jdGlvbnMuCisKIC0gSXNzdWUgIzEzNDM2OiBGaXggYSBib2d1cyBlcnJvciBtZXNzYWdlIHdoZW4gYW4gQVNUIG9iamVjdCB3YXMgcGFzc2VkCiAgIGFuIGludmFsaWQgaW50ZWdlciB2YWx1ZS4KIAorLSBJc3N1ZSAjMTM0MTE6IG1lbW9yeXZpZXcgb2JqZWN0cyBhcmUgbm93IGhhc2hhYmxlIHdoZW4gdGhlIHVuZGVybHlpbmcKKyAgb2JqZWN0IGlzIGhhc2hhYmxlLgorCiAtIElzc3VlICMxMzMzODogSGFuZGxlIGFsbCBlbnVtZXJhdGlvbnMgaW4gX1B5X0FOTk9UQVRFX01FTU9SWV9PUkRFUgogICB0byBhbGxvdyBjb21waWxpbmcgZXh0ZW5zaW9uIG1vZHVsZXMgd2l0aCAtV3N3aXRjaC1lbnVtIG9uIGdjYy4KICAgSW5pdGlhbCBwYXRjaCBieSBGbG9yaXMgQnJ1eW5vb2doZS4KIAorLSBJc3N1ZSAjMTAyMjc6IEFkZCBhbiBhbGxvY2F0aW9uIGNhY2hlIGZvciBhIHNpbmdsZSBzbGljZSBvYmplY3QuICBQYXRjaCBieQorICBTdGVmYW4gQmVobmVsLgorCistIElzc3VlICMxMzM5MzogQnVmZmVyZWRSZWFkZXIucmVhZDEoKSBub3cgYXNrcyB0aGUgZnVsbCByZXF1ZXN0ZWQgc2l6ZSB0bworICB0aGUgcmF3IHN0cmVhbSBpbnN0ZWFkIG9mIGxpbWl0aW5nIGl0c2VsZiB0byB0aGUgYnVmZmVyIHNpemUuCisKKy0gSXNzdWUgIzEzMzkyOiBXcml0aW5nIGEgcHljIGZpbGUgc2hvdWxkIG5vdyBiZSBhdG9taWMgdW5kZXIgV2luZG93cyBhcyB3ZWxsLgorCiAtIElzc3VlICMxMzMzMzogVGhlIFVURi03IGRlY29kZXIgbm93IGFjY2VwdHMgbG9uZSBzdXJyb2dhdGVzICh0aGUgZW5jb2RlcgogICBhbHJlYWR5IGFjY2VwdHMgdGhlbSkuCiAKKy0gSXNzdWUgIzEzMzg5OiBGdWxsIGdhcmJhZ2UgY29sbGVjdGlvbiBwYXNzZXMgbm93IGNsZWFyIHRoZSBmcmVlbGlzdHMgZm9yCisgIGxpc3QgYW5kIGRpY3Qgb2JqZWN0cy4gIFRoZXkgYWxyZWFkeSBjbGVhcmVkIG90aGVyIGZyZWVsaXN0cyBpbiB0aGUKKyAgaW50ZXJwcmV0ZXIuCisKKy0gSXNzdWUgIzEzMzI3OiBSZW1vdmUgdGhlIG5lZWQgZm9yIGFuIGV4cGxpY2l0IE5vbmUgYXMgdGhlIHNlY29uZCBhcmd1bWVudAorICB0byBvcy51dGltZSwgb3MubHV0aW1lcywgb3MuZnV0aW1lcywgb3MuZnV0aW1lbnMsIG9zLmZ1dGltZXNhdCwgaW4KKyAgb3JkZXIgdG8gdXBkYXRlIHRvIHRoZSBjdXJyZW50IHRpbWUuIEFsc28gYWRkZWQga2V5d29yZCBhcmd1bWVudAorICBoYW5kbGluZyB0byBvcy51dGltZW5zYXQgaW4gb3JkZXIgdG8gcmVtb3ZlIHRoZSBuZWVkIGZvciBleHBsaWNpdCBOb25lLgorCistIElzc3VlICMxMzM1MDogU2ltcGxpZnkgc29tZSBDIGNvZGUgYnkgcmVwbGFjaW5nIG1vc3QgdXNhZ2VzIG9mCisgIFB5VW5pY29kZV9Gb3JtYXQgYnkgUHlVbmljb2RlX0Zyb21Gb3JtYXQuCisKIC0gSXNzdWUgIzEzMzQyOiBpbnB1dCgpIHVzZWQgdG8gaWdub3JlIHN5cy5zdGRpbidzIGFuZCBzeXMuc3Rkb3V0J3MgdW5pY29kZQogICBlcnJvciBoYW5kbGVyIGluIGludGVyYWN0aXZlIG1vZGUgKHdoZW4gY2FsbGluZyBpbnRvIFB5T1NfUmVhZGxpbmUoKSkuCiAKKy0gSXNzdWUgIzk4OTY6IEFkZCBzdGFydCwgc3RvcCwgYW5kIHN0ZXAgYXR0cmlidXRlcyB0byByYW5nZSBvYmplY3RzLgorCiAtIElzc3VlICMxMzM0MzogRml4IGEgU3lzdGVtRXJyb3Igd2hlbiBhIGxhbWJkYSBleHByZXNzaW9uIHVzZXMgYSBnbG9iYWwKICAgdmFyaWFibGUgaW4gdGhlIGRlZmF1bHQgdmFsdWUgb2YgYSBrZXl3b3JkLW9ubHkgYXJndW1lbnQ6CiAgIChsYW1iZGEgKiwgYXJnPUdMT0JBTF9OQU1FOiBOb25lKQogCistIElzc3VlICMxMjc5NzogQWRkZWQgY3VzdG9tIG9wZW5lciBwYXJhbWV0ZXIgdG8gYnVpbHRpbiBvcGVuKCkgYW5kCisgIEZpbGVJTy5vcGVuKCkuCisKIC0gSXNzdWUgIzEwNTE5OiBBdm9pZCB1bm5lY2Vzc2FyeSByZWN1cnNpdmUgZnVuY3Rpb24gY2FsbHMgaW4KICAgc2V0b2JqZWN0LmMuCiAKQEAgLTE3MCwyMSArMzMzLDQzIEBACiAtIElzc3VlICMxMzAxODogRml4IHJlZmVyZW5jZSBsZWFrcyBpbiBlcnJvciBwYXRocyBpbiBkaWN0b2JqZWN0LmMuCiAgIFBhdGNoIGJ5IFN1bWFuIFNhaGEuCiAKKy0gSXNzdWUgIzEzMjAxOiBEZWZpbmUgJz09JyBhbmQgJyE9JyB0byBjb21wYXJlIHJhbmdlIG9iamVjdHMgYmFzZWQgb24KKyAgdGhlIHNlcXVlbmNlIG9mIHZhbHVlcyB0aGV5IGRlZmluZSAoaW5zdGVhZCBvZiBjb21wYXJpbmcgYmFzZWQgb24KKyAgb2JqZWN0IGlkZW50aXR5KS4KKwogLSBJc3N1ZSAjMTI5NDIzMjogSW4gYSBmZXcgY2FzZXMgaW52b2x2aW5nIG1ldGFjbGFzcyBpbmhlcml0YW5jZSwgdGhlCiAgIGludGVycHJldGVyIHdvdWxkIHNvbWV0aW1lcyBpbnZva2UgdGhlIHdyb25nIG1ldGFjbGFzcyB3aGVuIGJ1aWxkaW5nIGEgbmV3CiAgIGNsYXNzIG9iamVjdC4gVGhlc2UgY2FzZXMgbm93IGJlaGF2ZSBjb3JyZWN0bHkuIFBhdGNoIGJ5IERhbmllbCBVcmJhbi4KIAorLSBJc3N1ZSAjMTI3NTM6IEFkZCBzdXBwb3J0IGZvciBVbmljb2RlIG5hbWUgYWxpYXNlcyBhbmQgbmFtZWQgc2VxdWVuY2VzLgorICBCb3RoIDpmdW5jOmB1bmljb2RlZGF0YS5sb29rdXAoKWAgYW5kICdcTnsuLi59JyBub3cgcmVzb2x2ZSBhbGlhc2VzLAorICBhbmQgOmZ1bmM6YHVuaWNvZGVkYXRhLmxvb2t1cCgpYCByZXNvbHZlcyBuYW1lZCBzZXF1ZW5jZXMgdG9vLgorCistIElzc3VlICMxMjE3MDogVGhlIGNvdW50KCksIGZpbmQoKSwgcmZpbmQoKSwgaW5kZXgoKSBhbmQgcmluZGV4KCkgbWV0aG9kcworICBvZiBieXRlcyBhbmQgYnl0ZWFycmF5IG9iamVjdHMgbm93IGFjY2VwdCBhbiBpbnRlZ2VyIGJldHdlZW4gMCBhbmQgMjU1CisgIGFzIHRoZWlyIGZpcnN0IGFyZ3VtZW50LiAgUGF0Y2ggYnkgUGV0cmkgTGVodGluZW4uCisKIC0gSXNzdWUgIzEyNjA0OiBWVFJBQ0UgbWFjcm8gZXhwYW5kZWQgdG8gbm8tb3AgaW4gX3NyZS5jIHRvIGF2b2lkIGNvbXBpbGVyCiAgIHdhcm5pbmdzLiBQYXRjaCBieSBKb3NoIFRyaXBsZXR0IGFuZCBQZXRyaSBMZWh0aW5lbi4KIAorLSBJc3N1ZSAjMTIyODE6IFJld3JpdGUgdGhlIE1CQ1MgY29kZWMgdG8gaGFuZGxlIGNvcnJlY3RseSByZXBsYWNlIGFuZCBpZ25vcmUKKyAgZXJyb3IgaGFuZGxlcnMgb24gYWxsIFdpbmRvd3MgdmVyc2lvbnMuIFRoZSBNQkNTIGNvZGVjIGlzIG5vdyBzdXBwb3J0aW5nIGFsbAorICBlcnJvciBoYW5kbGVycywgaW5zdGVhZCBvZiBvbmx5IHJlcGxhY2UgdG8gZW5jb2RlIGFuZCBpZ25vcmUgdG8gZGVjb2RlLgorCiAtIElzc3VlICMxMzE4ODogV2hlbiBjYWxsZWQgd2l0aG91dCBhbiBleHBsaWNpdCB0cmFjZWJhY2sgYXJndW1lbnQsCiAgIGdlbmVyYXRvci50aHJvdygpIG5vdyBnZXRzIHRoZSB0cmFjZWJhY2sgZnJvbSB0aGUgcGFzc2VkIGV4Y2VwdGlvbidzCiAgIGBgX190cmFjZWJhY2tfX2BgIGF0dHJpYnV0ZS4gIFBhdGNoIGJ5IFBldHJpIExlaHRpbmVuLgogCistIElzc3VlICMxMzE0NjogV3JpdGluZyBhIHB5YyBmaWxlIGlzIG5vdyBhdG9taWMgdW5kZXIgUE9TSVguCisKIC0gSXNzdWUgIzc4MzM6IEV4dGVuc2lvbiBtb2R1bGVzIGJ1aWx0IHVzaW5nIGRpc3R1dGlscyBvbiBXaW5kb3dzIHdpbGwgbm8KICAgbG9uZ2VyIGluY2x1ZGUgYSAibWFuaWZlc3QiIHRvIHByZXZlbnQgdGhlbSBmYWlsaW5nIGF0IGltcG9ydCB0aW1lIGluIHNvbWUKICAgZW1iZWRkZWQgc2l0dWF0aW9ucy4KIAorLSBQRVAgMzE1MSAvIGlzc3VlICMxMjU1NTogcmV3b3JraW5nIHRoZSBPUyBhbmQgSU8gZXhjZXB0aW9uIGhpZXJhcmNoeS4KKworLSBBZGQgaW50ZXJuYWwgQVBJIGZvciBzdGF0aWMgc3RyaW5ncyAoX1B5X2lkZW50aWZpZXIgZXQgYWwuKS4KKwogLSBJc3N1ZSAjMTMwNjM6IHRoZSBXaW5kb3dzIGVycm9yIEVSUk9SX05PX0RBVEEgKG51bWJlcmVkIDIzMiBhbmQgZGVzY3JpYmVkCiAgIGFzICJUaGUgcGlwZSBpcyBiZWluZyBjbG9zZWQiKSBpcyBub3cgbWFwcGVkIHRvIFBPU0lYIGVycm5vIEVQSVBFCiAgIChwcmV2aW91c2x5IEVJTlZBTCkuCkBAIC0xOTIsNiArMzc3LDE2IEBACiAtIElzc3VlICMxMjkxMTogRml4IG1lbW9yeSBjb25zdW1wdGlvbiB3aGVuIGNhbGN1bGF0aW5nIHRoZSByZXByKCkgb2YgaHVnZQogICB0dXBsZXMgb3IgbGlzdHMuCiAKKy0gUEVQIDM5MzogZmxleGlibGUgc3RyaW5nIHJlcHJlc2VudGF0aW9uLiBUaGFua3MgdG8gVG9yc3RlbiBCZWNrZXIgZm9yIHRoZQorICBpbml0aWFsIGltcGxlbWVudGF0aW9uLCBhbmQgVmljdG9yIFN0aW5uZXIgZm9yIHZhcmlvdXMgYnVnIGZpeGVzLgorCistIElzc3VlICMxNDA4MTogVGhlICdzZXAnIGFuZCAnbWF4c3BsaXQnIHBhcmFtZXRlciB0byBzdHIuc3BsaXQsIGJ5dGVzLnNwbGl0LAorICBhbmQgYnl0ZWFycmF5LnNwbGl0IG1heSBub3cgYmUgcGFzc2VkIGFzIGtleXdvcmQgYXJndW1lbnRzLgorCistIElzc3VlICMxMzAxMjogVGhlICdrZWVwZW5kcycgcGFyYW1ldGVyIHRvIHN0ci5zcGxpdGxpbmVzIG1heSBub3cgYmUgcGFzc2VkCisgIGFzIGEga2V5d29yZCBhcmd1bWVudDogICJteV9zdHJpbmcuc3BsaXRsaW5lcyhrZWVwZW5kcz1UcnVlKSIuICBUaGUgc2FtZQorICBjaGFuZ2UgYWxzbyBhcHBsaWVzIHRvIGJ5dGVzLnNwbGl0bGluZXMgYW5kIGJ5dGVhcnJheS5zcGxpdGxpbmVzLgorCiAtIElzc3VlICM3NzMyOiBEb24ndCBvcGVuIGEgZGlyZWN0b3J5IGFzIGEgZmlsZSBhbnltb3JlIHdoaWxlIGltcG9ydGluZyBhCiAgIG1vZHVsZS4gSWdub3JlIHRoZSBkaXJlY290cnkgaWYgaXRzIG5hbWUgbWF0Y2hzIHRoZSBtb2R1bGUgbmFtZSAoZS5nLgogICAiX19pbml0X18ucHkiKSBhbmQgcmFpc2UgYSBJbXBvcnRFcnJvciBpbnN0ZWFkLgpAQCAtMjAzLDYgKzM5OCw5IEBACiAgIGxpc3RfcmVwZWF0IChsaXN0b2JqZWN0LmMpIGFuZCBpc2xpY2VfbmV4dCAoaXRlcnRvb2xzbW9kdWxlLmMpLiAgVGhlc2UgYnVncwogICBjYXVzZWQgdGVzdCBmYWlsdXJlcyB3aXRoIHJlY2VudCB2ZXJzaW9ucyBvZiBDbGFuZy4KIAorLSBJc3N1ZSAjMTI5MDQ6IG9zLnV0aW1lLCBvcy5mdXRpbWVzLCBvcy5sdXRpbWVzLCBhbmQgb3MuZnV0aW1lc2F0IG5vdyB3cml0ZQorICBhdGltZSBhbmQgbXRpbWUgd2l0aCBuYW5vc2Vjb25kIHByZWNpc2lvbiBvbiBtb2Rlcm4gUE9TSVggcGxhdGZvcm1zLgorCiAtIElzc3VlICMxMjgwMjogdGhlIFdpbmRvd3MgZXJyb3IgRVJST1JfRElSRUNUT1JZIChudW1iZXJlZCAyNjcpIGlzIG5vdwogICBtYXBwZWQgdG8gUE9TSVggZXJybm8gRU5PVERJUiAocHJldmlvdXNseSBFSU5WQUwpLgogCkBAIC0yMTIsMzcgKzQxMCwzMjkgQEAKIC0gSXNzdWUgIzEyNzkxOiBCcmVhayByZWZlcmVuY2UgY3ljbGVzIGVhcmx5IHdoZW4gYSBnZW5lcmF0b3IgZXhpdHMgd2l0aAogICBhbiBleGNlcHRpb24uCiAKKy0gSXNzdWUgIzEyNzczOiBNYWtlIF9fZG9jX18gbXV0YWJsZSBvbiB1c2VyLWRlZmluZWQgY2xhc3Nlcy4KKworLSBJc3N1ZSAjMTI3NjY6IFJhaXNlIGEgVmFsdWVFcnJvciB3aGVuIGNyZWF0aW5nIGEgY2xhc3Mgd2l0aCBhIGNsYXNzIHZhcmlhYmxlCisgIHRoYXQgY29uZmxpY3RzIHdpdGggYSBuYW1lIGluIF9fc2xvdHNfXy4KKwogLSBJc3N1ZSAjMTIyNjY6IEZpeCBzdHIuY2FwaXRhbGl6ZSgpIHRvIGNvcnJlY3RseSB1cHBlcmNhc2UvbG93ZXJjYXNlCiAgIHRpdGxlY2FzZWQgYW5kIGNhc2VkIG5vbi1sZXR0ZXIgY2hhcmFjdGVycy4KIAorLSBJc3N1ZSAjMTI3MzI6IEluIG5hcnJvdyB1bmljb2RlIGJ1aWxkcywgYWxsb3cgVW5pY29kZSBpZGVudGlmaWVycyB3aGljaCBmYWxsCisgIG91dHNpZGUgdGhlIEJNUC4KKworLSBJc3N1ZSAjMTI1NzU6IFZhbGlkYXRlIHVzZXItZ2VuZXJhdGVkIEFTVCBiZWZvcmUgaXQgaXMgY29tcGlsZWQuCisKKy0gTWFrZSB0eXBlKE5vbmUpLCB0eXBlKEVsbGlwc2lzKSwgYW5kIHR5cGUoTm90SW1wbGVtZW50ZWQpIGNhbGxhYmxlLiBUaGV5CisgIHJldHVybiB0aGUgcmVzcGVjdGl2ZSBzaW5nbGV0b24gaW5zdGFuY2VzLgorCistIEZvcmJpZCBzdW1taW5nIGJ5dGVzIHdpdGggc3VtKCkuCisKKy0gVmVyaWZ5IHRoZSB0eXBlcyBvZiBBU1Qgc3RyaW5ncyBhbmQgaWRlbnRpZmllcnMgcHJvdmlkZWQgYnkgdGhlIHVzZXIgYmVmb3JlCisgIGNvbXBpbGluZyB0aGVtLgorCistIElzc3VlICMxMjY0NzogVGhlIE5vbmUgb2JqZWN0IG5vdyBoYXMgYSBfX2Jvb2xfXygpIG1ldGhvZCB0aGF0IHJldHVybnMgRmFsc2UuCisgIEZvcm1lcmx5LCBib29sKE5vbmUpIHJldHVybmVkIEZhbHNlIG9ubHkgYmVjYXVzZSBvZiBzcGVjaWFsIGNhc2UgbG9naWMKKyAgaW4gUHlPYmplY3RfSXNUcnVlKCkuCisKKy0gSXNzdWUgIzEyNTc5OiBzdHIuZm9ybWF0X21hcCgpIG5vdyByYWlzZXMgYSBWYWx1ZUVycm9yIGlmIHVzZWQgb24gYQorICBmb3JtYXQgc3RyaW5nIHRoYXQgY29udGFpbnMgcG9zaXRpb25hbCBmaWVsZHMuIEluaXRpYWwgcGF0Y2ggYnkKKyAgSnVsaWFuIEJlcm1hbi4KKworLSBJc3N1ZSAjMTAyNzE6IEFsbG93IHdhcm5pbmdzLnNob3d3YXJuaW5nKCkgYmUgYW55IGNhbGxhYmxlLgorCistIElzc3VlICMxMTYyNzogRml4IHNlZ2ZhdWx0IHdoZW4gX19uZXdfXyBvbiBhIGV4Y2VwdGlvbiByZXR1cm5zIGEKKyAgbm9uLWV4Y2VwdGlvbiBjbGFzcy4KKworLSBJc3N1ZSAjMTIxNDk6IFVwZGF0ZSB0aGUgbWV0aG9kIGNhY2hlIGFmdGVyIGEgdHlwZSdzIGRpY3Rpb25hcnkgZ2V0cworICBjbGVhcmVkIGJ5IHRoZSBnYXJiYWdlIGNvbGxlY3Rvci4gIFRoaXMgZml4ZXMgYSBzZWdmYXVsdCB3aGVuIGFuIGluc3RhbmNlCisgIGFuZCBpdHMgdHlwZSBnZXQgY2F1Z2h0IGluIGEgcmVmZXJlbmNlIGN5Y2xlLCBhbmQgdGhlIGluc3RhbmNlJ3MKKyAgZGVhbGxvY2F0b3IgY2FsbHMgb25lIG9mIHRoZSBtZXRob2RzIG9uIHRoZSB0eXBlIChlLmcuIHdoZW4gc3ViY2xhc3NpbmcKKyAgSU9CYXNlKS4gIERpYWdub3NpcyBhbmQgcGF0Y2ggYnkgRGF2aWRlIFJpenpvLgorCistIElzc3VlICM5NjExLCAjOTAxNTogRmlsZUlPLnJlYWQoKSBjbGFtcHMgdGhlIGxlbmd0aCB0byBJTlRfTUFYIG9uIFdpbmRvd3MuCisKKy0gSXNzdWUgIzk2NDI6IFVuaWZvcm1pemUgdGhlIHRlc3RzIG9uIHRoZSBhdmFpbGFiaWxpdHkgb2YgdGhlIG1iY3MgY29kZWMsIGFkZAorICBhIG5ldyBIQVZFX01CQ1MgZGVmaW5lLgorCistIElzc3VlICM5NjQyOiBGaXggZmlsZXN5c3RlbSBlbmNvZGluZyBpbml0aWFsaXphdGlvbjogdXNlIHRoZSBBTlNJIGNvZGUgcGFnZQorICBvbiBXaW5kb3dzIGlmIHRoZSBtYmNzIGNvZGVjIGlzIG5vdCBhdmFpbGFibGUsIGFuZCBmYWlsIHdpdGggYSBmYXRhbCBlcnJvciBpZgorICB3ZSBjYW5ub3QgZ2V0IHRoZSBsb2NhbGUgZW5jb2RpbmcgKGlmIG5sX2xhbmdpbmZvKENPREVTRVQpIGlzIG5vdCBhdmFpbGFibGUpCisgIGluc3RlYWQgb2YgdXNpbmcgVVRGLTguCisKKy0gV2hlbiBhIGdlbmVyYXRvciB5aWVsZHMsIGRvIG5vdCByZXRhaW4gdGhlIGNhbGxlcidzIGV4Y2VwdGlvbiBzdGF0ZSBvbiB0aGUKKyAgZ2VuZXJhdG9yLgorCistIElzc3VlICMxMjQ3NTogUHJldmVudCBnZW5lcmF0b3JzIGZyb20gbGVha2luZyB0aGVpciBleGNlcHRpb24gc3RhdGUgaW50byB0aGUKKyAgY2FsbGVyJ3MgZnJhbWUgYXMgdGhleSByZXR1cm4gZm9yIHRoZSBsYXN0IHRpbWUuCisKKy0gSXNzdWUgIzEyMjkxOiBZb3UgY2FuIG5vdyBsb2FkIG11bHRpcGxlIG1hcnNoYWxsZWQgb2JqZWN0cyBmcm9tIGEgc3RyZWFtLAorICB3aXRoIG90aGVyIGRhdGEgaW50ZXJsZWF2ZWQgYmV0d2VlbiBtYXJzaGFsbGVkIG9iamVjdHMuCisKKy0gSXNzdWUgIzEyMzU2OiBXaGVuIHJlcXVpcmVkIHBvc2l0aW9uYWwgb3Iga2V5d29yZC1vbmx5IGFyZ3VtZW50cyBhcmUgbm90CisgIGdpdmVuLCBwcm9kdWNlIGEgaW5mb3JtYXRpdmUgZXJyb3IgbWVzc2FnZSB3aGljaCBpbmNsdWRlcyB0aGUgbmFtZShzKSBvZiB0aGUKKyAgbWlzc2luZyBhcmd1bWVudHMuCisKKy0gSXNzdWUgIzEyMzcwOiBGaXggc3VwZXIgd2l0aCBubyBhcmd1bWVudHMgd2hlbiBfX2NsYXNzX18gaXMgb3ZlcnJpZGVuIGluIHRoZQorICBjbGFzcyBib2R5LgorCistIElzc3VlICMxMjA4NDogb3Muc3RhdCBvbiBXaW5kb3dzIG5vdyB3b3JrcyBwcm9wZXJseSB3aXRoIHJlbGF0aXZlIHN5bWJvbGljCisgIGxpbmtzIHdoZW4gY2FsbGVkIGZyb20gYW55IGRpcmVjdG9yeS4KKworLSBMb29zZW4gdHlwZSByZXN0cmljdGlvbnMgb24gdGhlIF9fZGlyX18gbWV0aG9kLiBfX2Rpcl9fIGNhbiBub3cgcmV0dXJuIGFueQorICBzZXF1ZW5jZSwgd2hpY2ggd2lsbCBiZSBjb252ZXJ0ZWQgdG8gYSBsaXN0IGFuZCBzb3J0ZWQgYnkgZGlyKCkuCisKKy0gSXNzdWUgIzEyMjY1OiBNYWtlIGVycm9yIG1lc3NhZ2VzIHByb2R1Y2VkIGJ5IHBhc3NpbmcgYW4gaW52YWxpZCBzZXQgb2YKKyAgYXJndW1lbnRzIHRvIGEgZnVuY3Rpb24gbW9yZSBpbmZvcm1hdGl2ZS4KKworLSBJc3N1ZSAjMTIyMjU6IFN0aWxsIGFsbG93IFB5dGhvbiB0byBidWlsZCBpZiBQeXRob24gaXMgbm90IGluIGl0cyBoZyByZXBvIG9yCisgIG1lcmN1cmlhbCBpcyBub3QgaW5zdGFsbGVkLgorCistIElzc3VlICMxMTk1OiBteV9mZ2V0cygpIG5vdyBhbHdheXMgY2xlYXJzIGVycm9ycyBiZWZvcmUgY2FsbGluZyBmZ2V0cygpLiBGaXgKKyAgdGhlIGZvbGxvd2luZyBjYXNlOiBzeXMuc3RkaW4ucmVhZCgpIHN0b3BwZWQgd2l0aCBDVFJMK2QgKGVuZCBvZiBmaWxlKSwKKyAgcmF3X2lucHV0KCkgaW50ZXJydXB0ZWQgYnkgQ1RSTCtjLgorCistIElzc3VlICMxMjIxNjogQWxsb3cgdW5leHBlY3RlZCBFT0YgZXJyb3JzIHRvIGhhcHBlbiBvbiBhbnkgbGluZSBvZiB0aGUgZmlsZS4KKworLSBJc3N1ZSAjMTIxOTk6IFRoZSBUcnlFeGNlcHQgYW5kIFRyeUZpbmFsbHkgYW5kIEFTVCBub2RlcyBoYXZlIGJlZW4gdW5pZmllZAorICBpbnRvIGEgVHJ5IG5vZGUuCisKKy0gSXNzdWUgIzk2NzA6IEluY3JlYXNlIHRoZSBkZWZhdWx0IHN0YWNrIHNpemUgZm9yIHNlY29uZGFyeSB0aHJlYWRzIG9uCisgIE1hYyBPUyBYIGFuZCBGcmVlQlNEIHRvIHJlZHVjZSB0aGUgY2hhbmNlcyBvZiBhIGNyYXNoIGluc3RlYWQgb2YgYQorICAibWF4aW11bSByZWN1cnNpb24gZGVwdGgiIFJ1bnRpbWVFcnJvciBleGNlcHRpb24uCisgIChwYXRjaCBieSBSb25hbGQgT3Vzc29yZW4pCisKKy0gSXNzdWUgIzEyMTA2OiBUaGUgdXNlIG9mIHRoZSBtdWx0aXBsZS13aXRoIHNob3J0aGFuZCBzeW50YXggaXMgbm93IHJlZmxlY3RlZAorICBpbiB0aGUgQVNULgorCistIElzc3VlICMxMjE5MDogVHJ5IHRvIHVzZSB0aGUgc2FtZSBmaWxlbmFtZSBvYmplY3Qgd2hlbiBjb21waWxpbmcgdW5tYXJzaGFsbGluZworICBhIGNvZGUgb2JqZWN0cyBpbiB0aGUgc2FtZSBmaWxlLgorCistIElzc3VlICMxMjE2NjogTW92ZSBpbXBsZW1lbnRhdGlvbnMgb2YgZGlyKCkgc3BlY2lhbGl6ZWQgZm9yIHZhcmlvdXMgdHlwZXMgaW50bworICB0aGUgX19kaXJfXygpIG1ldGhvZHMgb2YgdGhvc2UgdHlwZXMuCisKKy0gSXNzdWUgIzU3MTU6IEluIHNvY2tldHNlcnZlciwgY2xvc2UgdGhlIHNlcnZlciBzb2NrZXQgaW4gdGhlIGNoaWxkIHByb2Nlc3MuCisKKy0gQ29ycmVjdCBsb29rdXAgb2YgX19kaXJfXyBvbiBvYmplY3RzLiBBbW9uZyBvdGhlciB0aGluZ3MsIHRoaXMgY2F1c2VzIGVycm9ycworICBiZXNpZGVzIEF0dHJpYnV0ZUVycm9yIGZvdW5kIG9uIGxvb2t1cCB0byBiZSBwcm9wYWdhdGVkLgorCistIElzc3VlICMxMjA2MDogVXNlIHNpZ19hdG9taWNfdCB0eXBlIGFuZCB2b2xhdGlsZSBrZXl3b3JkIGluIHRoZSBzaWduYWwKKyAgbW9kdWxlLiBQYXRjaCB3cml0dGVuIGJ5IENoYXJsZXMtRnJhbsOnb2lzIE5hdGFsaS4KKworLSBJc3N1ZSAjMTc0NjY1NjogQWRkZWQgdGhlIGlmX25hbWVpbmRleCwgaWZfaW5kZXh0b25hbWUsIGlmX25hbWV0b2luZGV4CisgIG1ldGhvZHMgdG8gdGhlIHNvY2tldCBtb2R1bGUuCisKKy0gSXNzdWUgIzEyMDQ0OiBGaXhlZCBzdWJwcm9jZXNzLlBvcGVuIHdoZW4gdXNlZCBhcyBhIGNvbnRleHQgbWFuYWdlciB0bworICB3YWl0IGZvciB0aGUgcHJvY2VzcyB0byBlbmQgd2hlbiBleGl0aW5nIHRoZSBjb250ZXh0IHRvIGF2b2lkIHVuaW50ZW50aW9uYWxseQorICBsZWF2aW5nIHpvbWJpZSBwcm9jZXNzZXMgYXJvdW5kLgorCistIElzc3VlICMxMTk1OiBGaXggaW5wdXQoKSBpZiBpdCBpcyBpbnRlcnJ1cHRlZCBieSBDVFJMK2QgYW5kIHRoZW4gQ1RSTCtjLAorICBjbGVhciB0aGUgZW5kLW9mLWZpbGUgaW5kaWNhdG9yIGFmdGVyIENUUkwrZC4KKworLSBJc3N1ZSAjMTg1NjogQXZvaWQgY3Jhc2hlcyBhbmQgbG9ja3VwcyB3aGVuIGRhZW1vbiB0aHJlYWRzIHJ1biB3aGlsZSB0aGUKKyAgaW50ZXJwcmV0ZXIgaXMgc2h1dHRpbmcgZG93bjsgaW5zdGVhZCwgdGhlc2UgdGhyZWFkcyBhcmUgbm93IGtpbGxlZCB3aGVuCisgIHRoZXkgdHJ5IHRvIHRha2UgdGhlIEdJTC4KKworLSBJc3N1ZSAjOTc1NjogV2hlbiBjYWxsaW5nIGEgbWV0aG9kIGRlc2NyaXB0b3Igb3IgYSBzbG90IHdyYXBwZXIgZGVzY3JpcHRvciwKKyAgdGhlIGNoZWNrIG9mIHRoZSBvYmplY3QgdHlwZSBkb2Vzbid0IHJlYWQgdGhlIF9fY2xhc3NfXyBhdHRyaWJ1dGUgYW55bW9yZS4KKyAgRml4IGEgY3Jhc2ggaWYgYSBjbGFzcyBvdmVycmlkZSBpdHMgX19jbGFzc19fIGF0dHJpYnV0ZSAoZS5nLiBhIHByb3h5IG9mIHRoZQorICBzdHIgdHlwZSkuIFBhdGNoIHdyaXR0ZW4gYnkgQW5kcmVhcyBTdMO8aHJrLgorCistIElzc3VlICMxMDUxNzogQWZ0ZXIgZm9yaygpLCByZWluaXRpYWxpemUgdGhlIFRMUyB1c2VkIGJ5IHRoZSBQeUdJTFN0YXRlXyoKKyAgQVBJcywgdG8gYXZvaWQgYSBjcmFzaCB3aXRoIHRoZSBwdGhyZWFkIGltcGxlbWVudGF0aW9uIGluIFJIRUwgNS4gIFBhdGNoCisgIGJ5IENoYXJsZXMtRnJhbsOnb2lzIE5hdGFsaS4KKworLSBJc3N1ZSAjMTA5MTQ6IEluaXRpYWxpemUgY29ycmVjdGx5IHRoZSBmaWxlc3lzdGVtIGNvZGVjIHdoZW4gY3JlYXRpbmcgYSBuZXcKKyAgc3ViaW50ZXJwcmV0ZXIgdG8gZml4IGEgYm9vdHN0cmFwIGlzc3VlIHdpdGggY29kZWNzIGltcGxlbWVudGVkIGluIFB5dGhvbiwgYXMKKyAgdGhlIElTTy04ODU5LTE1IGNvZGVjLgorCistIElzc3VlICMxMTkxODogT1MvMiBhbmQgVk1TIGFyZSBubyBtb3JlIHN1cHBvcnRlZCBiZWNhdXNlIG9mIHRoZSBsYWNrIG9mCisgIG1haW50YWluZXIuCisKKy0gSXNzdWUgIzY3ODA6IGZpeCBzdGFydHMvZW5kc3dpdGggZXJyb3IgbWVzc2FnZSB0byBtZW50aW9uIHRoYXQgdHVwbGVzIGFyZQorICBhY2NlcHRlZCB0b28uCisKKy0gSXNzdWUgIzUwNTc6IGZpeCBhIGJ1ZyBpbiB0aGUgcGVlcGhvbGVyIHRoYXQgbGVkIHRvIG5vbi1wb3J0YWJsZSBweWMgZmlsZXMKKyAgYmV0d2VlbiBuYXJyb3cgYW5kIHdpZGUgYnVpbGRzIHdoaWxlIG9wdGltaXppbmcgQklOQVJZX1NVQlNDUiBvbiBub24tQk1QCisgIGNoYXJzIChlLmcuICJcVTAwMDEyMzQ1IlswXSkuCisKKy0gSXNzdWUgIzExODQ1OiBGaXggdHlwbyBpbiByYW5nZW9iamVjdC5jIHRoYXQgY2F1c2VkIGEgY3Jhc2ggaW4KKyAgY29tcHV0ZV9zbGljZV9pbmRpY2VzLiAgUGF0Y2ggYnkgRGFuaWVsIFVyYmFuLgorCistIElzc3VlICM1NjczOiBBZGRlZCBhIGB0aW1lb3V0YCBrZXl3b3JkIGFyZ3VtZW50IHRvIHN1YnByb2Nlc3MuUG9wZW4ud2FpdCwKKyAgc3VicHJvY2Vzcy5Qb3Blbi5jb21tdW5pY2F0ZWQsIHN1YnByb2Nlc3MuY2FsbCwgc3VicHJvY2Vzcy5jaGVja19jYWxsLCBhbmQKKyAgc3VicHJvY2Vzcy5jaGVja19vdXRwdXQuICBJZiB0aGUgYmxvY2tpbmcgb3BlcmF0aW9uIHRha2VzIG1vcmUgdGhhbiBgdGltZW91dGAKKyAgc2Vjb25kcywgdGhlIGBzdWJwcm9jZXNzLlRpbWVvdXRFeHBpcmVkYCBleGNlcHRpb24gaXMgcmFpc2VkLgorCistIElzc3VlICMxMTY1MDogUHlPU19TdGRpb1JlYWRsaW5lKCkgcmV0cmllcyBmZ2V0cygpIGlmIGl0IHdhcyBpbnRlcnJ1cHRlZAorICAoRUlOVFIpLCBmb3IgZXhhbXBsZSBpZiB0aGUgcHJvZ3JhbSBpcyBzdG9wcGVkIHdpdGggQ1RSTCt6IG9uIE1hYyBPUyBYLiBQYXRjaAorICB3cml0dGVuIGJ5IENoYXJsZXMtRnJhbmNvaXMgTmF0YWxpLgorCistIElzc3VlICM5MzE5OiBJbmNsdWRlIHRoZSBmaWxlbmFtZSBpbiAiTm9uLVVURjggY29kZSAuLi4iIHN5bnRheCBlcnJvci4KKworLSBJc3N1ZSAjMTA3ODU6IFN0b3JlIHRoZSBmaWxlbmFtZSBhcyBVbmljb2RlIGluIHRoZSBQeXRob24gcGFyc2VyLgorCistIElzc3VlICMxMTYxOTogX1B5SW1wb3J0X0xvYWREeW5hbWljTW9kdWxlKCkgZG9lc24ndCBlbmNvZGUgdGhlIHBhdGggdG8gYnl0ZXMKKyAgb24gV2luZG93cy4KKworLSBJc3N1ZSAjMTA5OTg6IFJlbW92ZSBtZW50aW9ucyBvZiAtUSwgc3lzLmZsYWdzLmRpdmlzaW9uX3dhcm5pbmcgYW5kCisgIFB5X0RpdmlzaW9uV2FybmluZ0ZsYWcgbGVmdCBvdmVyIGZyb20gUHl0aG9uIDIuCisKKy0gSXNzdWUgIzExMjQ0OiBSZW1vdmUgYW4gdW5uZWNlc3NhcnkgcGVlcGhvbGVyIGNoZWNrIHRoYXQgd2FzIHByZXZlbnRpbmcKKyAgbmVnYXRpdmUgemVyb3MgZnJvbSBiZWluZyBjb25zdGFudC1mb2xkZWQgcHJvcGVybHkuCisKKy0gSXNzdWUgIzExMzk1OiBpby5GaWxlSU8oKS53cml0ZSgpIGNsYW1wcyB0aGUgZGF0YSBsZW5ndGggdG8gMzIsNzY3IGJ5dGVzIG9uCisgIFdpbmRvd3MgaWYgdGhlIGZpbGUgaXMgYSBUVFkgdG8gd29ya2Fyb3VuZCBhIFdpbmRvd3MgYnVnLiBUaGUgV2luZG93cyBjb25zb2xlCisgIHJldHVybnMgYW4gZXJyb3IgKDEyOiBub3QgZW5vdWdoIHNwYWNlIGVycm9yKSBvbiB3cml0aW5nIGludG8gc3Rkb3V0IGlmCisgIHN0ZG91dCBtb2RlIGlzIGJpbmFyeSBhbmQgdGhlIGxlbmd0aCBpcyBncmVhdGVyIHRoYW4gNjYsMDAwIGJ5dGVzIChvciBsZXNzLAorICBkZXBlbmRpbmcgb24gaGVhcCB1c2FnZSkuCisKKy0gSXNzdWUgIzExMzIwOiBmaXggYm9ndXMgbWVtb3J5IG1hbmFnZW1lbnQgaW4gTW9kdWxlcy9nZXRwYXRoLmMsIGxlYWRpbmcgdG8KKyAgYSBwb3NzaWJsZSBjcmFzaCB3aGVuIGNhbGxpbmcgUHlfU2V0UGF0aCgpLgorCistIElzc3VlICMxMTQzMjogQSBidWcgd2FzIGludHJvZHVjZWQgaW4gc3VicHJvY2Vzcy5Qb3BlbiBvbiBwb3NpeCBzeXN0ZW1zIHdpdGgKKyAgMy4yLjAgd2hlcmUgdGhlIHN0ZG91dCBvciBzdGRlcnIgZmlsZSBkZXNjcmlwdG9yIGJlaW5nIHRoZSBzYW1lIGFzIHRoZSBzdGRpbgorICBmaWxlIGRlc2NyaXB0b3Igd291bGQgcmFpc2UgYW4gZXhjZXB0aW9uLiB3ZWJicm93c2VyLm9wZW4gd291bGQgZmFpbC4gZml4ZWQuCisKKy0gSXNzdWUgIzk4NTY6IENoYW5nZSBvYmplY3QuX19mb3JtYXRfXyB3aXRoIGEgbm9uLWVtcHR5IGZvcm1hdCBzdHJpbmcKKyAgdG8gYmUgYSBEZXByZWNhdGlvbldhcm5pbmcuIEluIDMuMiBpdCB3YXMgYSBQZW5kaW5nRGVwcmVjYXRpb25XYXJuaW5nLgorICBJbiAzLjQgaXQgd2lsbCBiZSBhIFR5cGVFcnJvci4KKworLSBJc3N1ZSAjMTEyNDQ6IFRoZSBwZWVwaG9sZSBvcHRpbWl6ZXIgaXMgbm93IGFibGUgdG8gY29uc3RhbnQtZm9sZAorICBhcmJpdHJhcmlseSBjb21wbGV4IGV4cHJlc3Npb25zLiAgVGhpcyBhbHNvIGZpeGVzIGEgMy4yIHJlZ3Jlc3Npb24gd2hlcmUKKyAgb3BlcmF0aW9ucyBpbnZvbHZpbmcgbmVnYXRpdmUgbnVtYmVycyB3ZXJlIG5vdCBjb25zdGFudC1mb2xkZWQuCisKKy0gSXNzdWUgIzExNDUwOiBEb24ndCB0cnVuY2F0ZSBoZyB2ZXJzaW9uIGluZm8gaW4gUHlfR2V0QnVpbGRJbmZvKCkgd2hlbgorICB0aGVyZSBhcmUgbWFueSB0YWdzIChlLmcuIHdoZW4gdXNpbmcgbXEpLiAgUGF0Y2ggYnkgTmFkZWVtIFZhd2RhLgorCistIElzc3VlICMxMTMzNTogRml4ZWQgYSBtZW1vcnkgbGVhayBpbiBsaXN0LnNvcnQgd2hlbiB0aGUga2V5IGZ1bmN0aW9uCisgIHRocm93cyBhbiBleGNlcHRpb24uCisKKy0gSXNzdWUgIzg5MjM6IFdoZW4gYSBzdHJpbmcgaXMgZW5jb2RlZCB0byBVVEYtOCBpbiBzdHJpY3QgbW9kZSwgdGhlIHJlc3VsdCBpcworICBjYWNoZWQgaW50byB0aGUgb2JqZWN0LiBFeGFtcGxlczogc3RyLmVuY29kZSgpLCBzdHIuZW5jb2RlKCd1dGYtOCcpLAorICBQeVVuaWNvZGVfQXNVVEY4U3RyaW5nKCkgYW5kIFB5VW5pY29kZV9Bc0VuY29kZWRTdHJpbmcodW5pY29kZSwgInV0Zi04IiwKKyAgTlVMTCkuCisKKy0gSXNzdWUgIzEwODMxOiBQeVVuaWNvZGVfRnJvbUZvcm1hdCgpIHN1cHBvcnRzICVsaSwgJWxsaSBhbmQgJXppIGZvcm1hdHMuCisKKy0gSXNzdWUgIzEwODI5OiBSZWZhY3RvciBQeVVuaWNvZGVfRnJvbUZvcm1hdCgpLCB1c2UgdGhlIHNhbWUgZnVuY3Rpb24gdG8gcGFyc2UKKyAgdGhlIGZvcm1hdCBzdHJpbmcgaW4gdGhlIDMgc3RlcHMsIGZpeCBjcmFzaHMgb24gaW52YWxpZCBmb3JtYXQgc3RyaW5ncy4KKworLSBJc3N1ZSAjMTMwMDc6IHdoaWNoZGIgc2hvdWxkIHJlY29nbml6ZSBnZGJtIDEuOSBtYWdpYyBudW1iZXJzLgorCistIElzc3VlICMxMTI0NjogRml4IFB5VW5pY29kZV9Gcm9tRm9ybWF0KCIlViIpIHRvIGRlY29kZSB0aGUgYnl0ZSBzdHJpbmcgZnJvbQorICBVVEYtOCAod2l0aCByZXBsYWNlIGVycm9yIGhhbmRsZXIpIGluc3RlYWQgb2YgSVNPLTg4NTktMSAoaW4gc3RyaWN0IG1vZGUpLgorICBQYXRjaCB3cml0dGVuIGJ5IFJheSBBbGxlbi4KKworLSBJc3N1ZSAjMTEyODY6IFJhaXNlIGEgVmFsdWVFcnJvciBmcm9tIGNhbGxpbmcgUHlNZW1vcnlWaWV3X0Zyb21CdWZmZXIgd2l0aAorICBhIGJ1ZmZlciBzdHJ1Y3QgaGF2aW5nIGEgTlVMTCBkYXRhIHBvaW50ZXIuCisKKy0gSXNzdWUgIzExMjcyOiBPbiBXaW5kb3dzLCBpbnB1dCgpIHN0cmlwcyAnXHInIChhbmQgbm90IG9ubHkgJ1xuJyksIGFuZAorICBzeXMuc3RkaW4gdXNlcyB1bml2ZXJzYWwgbmV3bGluZSAocmVwbGFjZSAnXHJcbicgYnkgJ1xuJykuCisKKy0gaXNzdWUgIzExODI4OiBzdGFydHN3aXRoIGFuZCBlbmRzd2l0aCBkb24ndCBhY2NlcHQgTm9uZSBhcyBzbGljZSBpbmRleC4KKyAgUGF0Y2ggYnkgVG9yc3RlbiBCZWNrZXIuCisKKy0gSXNzdWUgIzEwODMwOiBGaXggUHlVbmljb2RlX0Zyb21Gb3JtYXRWKCIlYyIpIGZvciBub24tQk1QIGNoYXJhY3RlcnMgb24KKyAgbmFycm93IGJ1aWxkLgorCistIElzc3VlICMxMTE2ODogUmVtb3ZlIGZpbGVuYW1lIGRlYnVnIHZhcmlhYmxlIGZyb20gUHlFdmFsX0V2YWxGcmFtZUV4KCkuCisgIEl0IGVuY29kZWQgdGhlIFVuaWNvZGUgZmlsZW5hbWUgdG8gVVRGLTgsIGJ1dCB0aGUgZW5jb2RpbmcgZmFpbHMgb24KKyAgdW5kZWNvZGFibGUgZmlsZW5hbWUgKG9uIHN1cnJvZ2F0ZSBjaGFyYWN0ZXJzKSB3aGljaCByYWlzZXMgYW4gdW5leHBlY3RlZAorICBVbmljb2RlRW5jb2RlRXJyb3Igb24gcmVjdXJzaW9uIGxpbWl0LgorCistIElzc3VlICMxMTE4NzogUmVtb3ZlIGJvb3RzdHJhcCBjb2RlICh1c2UgQVNDSUkpIG9mCisgIFB5VW5pY29kZV9Bc0VuY29kZWRTdHJpbmcoKSwgaXQgd2FzIHJlcGxhY2VkIGJ5IGEgYmV0dGVyIGZhbGxiYWNrICh1c2UgdGhlCisgIGxvY2FsZSBlbmNvZGluZykgaW4gUHlVbmljb2RlX0VuY29kZUZTRGVmYXVsdCgpLgorCistIENoZWNrIGZvciBOVUxMIHJlc3VsdCBpbiBQeVR5cGVfRnJvbVNwZWMuCisKKy0gSXNzdWUgIzEwNTE2OiBOZXcgY29weSgpIGFuZCBjbGVhcigpIG1ldGhvZHMgZm9yIGxpc3RzIGFuZCBieXRlYXJyYXlzLgorCistIElzc3VlICMxMTM4NjogYnl0ZWFycmF5LnBvcCgpIG5vdyB0aHJvd3MgSW5kZXhFcnJvciB3aGVuIHRoZSBieXRlYXJyYXkgaXMKKyAgZW1wdHksIGluc3RlYWQgb2YgT3ZlcmZsb3dFcnJvci4KKworLSBJc3N1ZSAjMTIzODA6IFRoZSByanVzdCwgbGp1c3QgYW5kIGNlbnRlciBtZXRob2RzIG9mIGJ5dGVzIGFuZCBieXRlYXJyYXkKKyAgbm93IGFjY2VwdCBhIGJ5dGVhcnJheSBhcmd1bWVudC4KKwogTGlicmFyeQogLS0tLS0tLQogCistIElzc3VlICMxNDE5NTogQW4gaXNzdWUgdGhhdCBjYXVzZWQgd2Vha3JlZi5XZWFrU2V0IGluc3RhbmNlcyB0byBpbmNvcnJlY3RseQorICByZXR1cm4gVHJ1ZSBmb3IgYSBXZWFrU2V0IGluc3RhbmNlICdhJyBpbiBib3RoICdhIDwgYScgYW5kICdhID4gYScgaGFzIGJlZW4KKyAgZml4ZWQuCisKKy0gSXNzdWUgIzE0MTY2OiBQaWNrbGVyIG9iamVjdHMgbm93IGhhdmUgYW4gb3B0aW9uYWwgYGBkaXNwYXRjaF90YWJsZWBgCisgIGF0dHJpYnV0ZSB3aGljaCBhbGxvd3MgdG8gc2V0IGN1c3RvbSBwZXItcGlja2xlciByZWR1Y3Rpb24gZnVuY3Rpb25zLgorICBQYXRjaCBieSBzYnQuCisKKy0gSXNzdWUgIzE0MTc3OiBtYXJzaGFsLmxvYWRzKCkgbm93IHJhaXNlcyBUeXBlRXJyb3Igd2hlbiBnaXZlbiBhbiB1bmljb2RlCisgIHN0cmluZy4gIFBhdGNoIGJ5IEd1aWxoZXJtZSBHb27Dp2FsdmVzLgorCistIElzc3VlICMxMzU1MDogUmVtb3ZlIHRoZSBkZWJ1ZyBtYWNoaW5lcnkgZnJvbSB0aGUgdGhyZWFkaW5nIG1vZHVsZTogcmVtb3ZlCisgIHZlcmJvc2UgYXJndW1lbnRzIGZyb20gYWxsIHRocmVhZGluZyBjbGFzc2VzIGFuZCBmdW5jdGlvbnMuCisKKy0gSXNzdWUgIzE0MTU5OiBGaXggdGhlIGxlbigpIG9mIHdlYWsgY29udGFpbmVycyAoV2Vha1NldCwgV2Vha0tleURpY3Rpb25hcnksCisgIFdlYWtWYWx1ZURpY3Rpb25hcnkpIHRvIHJldHVybiBhIGJldHRlciBhcHByb3hpbWF0aW9uIHdoZW4gc29tZSBvYmplY3RzCisgIGFyZSBkZWFkIG9yIGR5aW5nLiAgTW9yZW92ZXIsIHRoZSBpbXBsZW1lbnRhdGlvbiBpcyBub3cgTygxKSByYXRoZXIgdGhhbgorICBPKG4pLgorCistIElzc3VlICMxMzEyNTogU2lsZW5jZSBzcHVyaW91cyB0ZXN0X2xpYjJ0bzMgb3V0cHV0IHdoZW4gaW4gbm9uLXZlcmJvc2UgbW9kZS4KKyAgUGF0Y2ggYnkgTWlraGFpbCBOb3Zpa292LgorCistIElzc3VlICMxMTg0MTogRml4IGNvbXBhcmlzb24gYnVnIHdpdGggJ3JjJyB2ZXJzaW9ucyBpbiBwYWNrYWdpbmcudmVyc2lvbi4KKyAgUGF0Y2ggYnkgRmlsaXAgR3J1c3pjennFhHNraS4KKworLSBJc3N1ZSAjMTM0NDc6IEFkZCBhIHRlc3QgZmlsZSB0byBob3N0IHJlZ3Jlc3Npb24gdGVzdHMgZm9yIGJ1Z3MgaW4gdGhlCisgIHNjcmlwdHMgZm91bmQgaW4gdGhlIFRvb2xzIGRpcmVjdG9yeS4KKworLSBJc3N1ZSAjNjg4NDogRml4IGxvbmctc3RhbmRpbmcgYnVncyB3aXRoIE1BTklGRVNULmluIHBhcnNpbmcgaW4gZGlzdHV0aWxzCisgIG9uIFdpbmRvd3MuICBBbHNvIGZpeGVkIGluIHBhY2thZ2luZy4KKworLSBJc3N1ZSAjODAzMzogc3FsaXRlMzogRml4IDY0LWJpdCBpbnRlZ2VyIGhhbmRsaW5nIGluIHVzZXIgZnVuY3Rpb25zCisgIG9uIDMyLWJpdCBhcmNoaXRlY3R1cmVzLiBJbml0aWFsIHBhdGNoIGJ5IFBoaWxpcHBlIERldmFsa2VuZWVyLgorCiAtIEhUTUxQYXJzZXIgaXMgbm93IGFibGUgdG8gaGFuZGxlIHNsYXNoZXMgaW4gdGhlIHN0YXJ0IHRhZy4KIAorLSBJc3N1ZSAjMTM2NDE6IERlY29kaW5nIGZ1bmN0aW9ucyBpbiB0aGUgYmFzZTY0IG1vZHVsZSBub3cgYWNjZXB0IEFTQ0lJLW9ubHkKKyAgdW5pY29kZSBzdHJpbmdzLiAgUGF0Y2ggYnkgQ2F0YWxpbiBJYWNvYi4KKworLSBJc3N1ZSAjMTQwNDM6IFNwZWVkIHVwIGltcG9ydGxpYidzIF9GaWxlRmluZGVyIGJ5IGF0IGxlYXN0IDh4LCBhbmQgYWRkIGEKKyAgbmV3IGltcG9ydGxpYi5pbnZhbGlkYXRlX2NhY2hlcygpIGZ1bmN0aW9uLgorCiAtIElzc3VlICMxNDAwMTogQ1ZFLTIwMTItMDg0NTogeG1scnBjOiBGaXggYW4gZW5kbGVzcyBsb29wIGluCiAgIFNpbXBsZVhNTFJQQ1NlcnZlciB1cG9uIG1hbGZvcm1lZCBQT1NUIHJlcXVlc3QuCiAKKy0gSXNzdWUgIzEzOTYxOiBNb3ZlIGltcG9ydGxpYiBvdmVyIHRvIHVzaW5nIG9zLnJlcGxhY2UoKSBmb3IgYXRvbWljIHJlbmFtaW5nLgorCistIERvIGF3YXkgd2l0aCBhbWJpZ3VvdXMgbGV2ZWwgdmFsdWVzIChhcyBzdWdnZXN0ZWQgYnkgUEVQIDMyOCkgaW4KKyAgaW1wb3J0bGliLl9faW1wb3J0X18oKSBieSByYWlzaW5nIFZhbHVlRXJyb3Igd2hlbiBsZXZlbCA8IDAuCisKIC0gSXNzdWUgIzI0ODk6IHB0eS5zcGF3biBjb3VsZCBjb25zdW1lIDEwMCUgY3B1IHdoZW4gaXQgZW5jb3VudGVyZWQgYW4gRU9GLgogCiAtIElzc3VlICMxMzAxNDogRml4IGEgcG9zc2libGUgcmVmZXJlbmNlIGxlYWsgaW4gU1NMU29ja2V0LmdldHBlZXJjZXJ0KCkuCiAKKy0gSXNzdWUgIzEzNzc3OiBBZGQgUEZfU1lTVEVNIHNvY2tldHMgb24gT1MgWC4KKyAgUGF0Y2ggYnkgTWljaGFlbCBHb2RlcmJhdWVyLgorCiAtIElzc3VlICMxMzAxNTogRml4IGEgcG9zc2libGUgcmVmZXJlbmNlIGxlYWsgaW4gZGVmYXVsdGRpY3QuX19yZXByX18uCiAgIFBhdGNoIGJ5IFN1bWFuIFNhaGEuCiAKLS0gSXNzdWUgIzEzMjYxMTM6IGRpc3R1dGlscycgYnVpbGRfZXh0IGNvbW1hbmQgLS1saWJyYXJpZXMgb3B0aW9uIG5vdwotICBjb3JyZWN0bHkgcGFyc2VzIG11bHRpcGxlIHZhbHVlcyBzZXBhcmF0ZWQgYnkgd2hpdGVzcGFjZSBvciBjb21tYXMuCistIElzc3VlICMxMzI2MTEzOiBkaXN0dXRpbHMnIGFuZCBwYWNrYWdpbmcncyBidWlsZF9leHQgY29tbWFuZHMgb3B0aW9uIG5vdworICBjb3JyZWN0bHkgcGFyc2VzIG11bHRpcGxlIHZhbHVlcyAoc2VwYXJhdGVkIGJ5IHdoaXRlc3BhY2Ugb3IgY29tbWFzKSBnaXZlbgorICB0byB0aGVpciAtLWxpYnJhcmllcyBvcHRpb24uCiAKIC0gSXNzdWUgIzEwMjg3OiBubnRwbGliIG5vdyBxdWVyaWVzIHRoZSBzZXJ2ZXIncyBDQVBBQklMSVRJRVMgZmlyc3QgYmVmb3JlCiAgIHNlbmRpbmcgTU9ERSBSRUFERVIsIGFuZCBvbmx5IHNlbmRzIGl0IGlmIG5vdCBhbHJlYWR5IGluIFJFQURFUiBtb2RlLgogICBQYXRjaCBieSBIeW5layBTY2hsYXdhY2suCiAKLS0gSXNzdWUgIzEzOTc5OiBBIGJ1ZyBpbiBjdHlwZXMudXRpbC5maW5kX2xpYnJhcnkgdGhhdCBjYXVzZWQKLSAgdGhlIHdyb25nIGxpYnJhcnkgbmFtZSB0byBiZSByZXR1cm5lZCBoYXMgYmVlbiBmaXhlZC4KLQogLSBJc3N1ZSAjMTM5OTM6IEhUTUxQYXJzZXIgaXMgbm93IGFibGUgdG8gaGFuZGxlIGJyb2tlbiBlbmQgdGFncyB3aGVuCiAgIHN0cmljdD1GYWxzZS4KIAorLSBJc3N1ZSAjMTM5MzA6IGxpYjJ0bzMgbm93IHN1cHBvcnRzIHdyaXRpbmcgY29udmVydGVkIG91dHB1dCBmaWxlcyB0byBhbm90aGVyCisgIGRpcmVjdG9yeSB0cmVlIGFzIHdlbGwgYXMgY29weWluZyB1bmNoYW5nZWQgZmlsZXMgYW5kIGFsdGVyaW5nIHRoZSBmaWxlCisgIHN1ZmZpeC4KKwogLSBJc3N1ZSAjOTc1MDogRml4IHNxbGl0ZTMuQ29ubmVjdGlvbi5pdGVyZHVtcCBvbiB0YWJsZXMgYW5kIGZpZWxkcwogICB3aXRoIGEgbmFtZSB0aGF0IGlzIGEga2V5d29yZCBvciBjb250YWlucyBxdW90ZXMuIFBhdGNoIGJ5IE1hcmtvCiAgIEtvaHRhbGEuCkBAIC0yNzAsNiArNzYwLDI4IEBACiAtIElzc3VlICMxMzk2MDogSFRNTFBhcnNlciBpcyBub3cgYWJsZSB0byBoYW5kbGUgYnJva2VuIGNvbW1lbnRzIHdoZW4KICAgc3RyaWN0PUZhbHNlLgogCistIElzc3VlICMxMzkyMTogVW5kb2N1bWVudCBhbmQgY2xlYW4gdXAgc3FsaXRlMy5PcHRpbWl6ZWRVbmljb2RlLAorICB3aGljaCBpcyBvYnNvbGV0ZSBpbiBQeXRob24gMy54LiBJdCdzIG5vdyBhbGlhc2VkIHRvIHN0ciBmb3IKKyAgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkuCisKKy0gV2hlbiAnJyBpcyBhIHBhdGggKGUuZy4gaW4gc3lzLnBhdGgpLCBtYWtlIHN1cmUgX19maWxlX18gdXNlcyB0aGUgY3VycmVudAorICB3b3JraW5nIGRpcmVjdG9yeSBpbnN0ZWFkIG9mICcnIGluIGltcG9ydGxpYi4KKworLSBJc3N1ZSAjMTM2MDk6IEFkZCB0d28gZnVuY3Rpb25zIHRvIHF1ZXJ5IHRoZSB0ZXJtaW5hbCBzaXplOgorICBvcy5nZXRfdGVybWluYWxfc2l6ZSAobG93IGxldmVsKSBhbmQgc2h1dGlsLmdldF90ZXJtaW5hbF9zaXplIChoaWdoIGxldmVsKS4KKyAgUGF0Y2ggYnkgWmJpZ25pZXcgSsSZZHJ6ZWpld3NraS1Tem1lay4KKworLSBJc3N1ZSAjMTM4NDU6IE9uIFdpbmRvd3MsIHRpbWUudGltZSgpIG5vdyB1c2VzIEdldFN5c3RlbVRpbWVBc0ZpbGVUaW1lKCkKKyAgaW5zdGVhZCBvZiBmdGltZSgpIHRvIGhhdmUgYSByZXNvbHV0aW9uIG9mIDEwMCBucyBpbnN0ZWFkIG9mIDEgbXMgKHRoZSBjbG9jaworICBhY2N1cmFjeSBpcyBiZXR3ZWVuIDAuNSBtcyBhbmQgMTUgbXMpLgorCistIElzc3VlICMxMzg0NjogQWRkIHRpbWUubW9ub3RvbmljKCksIG1vbm90b25pYyBjbG9jay4KKworLSBJc3N1ZSAjODE4NDogbXVsdGlwcm9jZXNzaW5nOiBPbiBXaW5kb3dzLCBkb24ndCBzZXQgU09fUkVVU0VBRERSIG9uCisgIENvbm5lY3Rpb24gc29ja2V0cywgYW5kIHNldCBGSUxFX0ZMQUdfRklSU1RfUElQRV9JTlNUQU5DRSBvbiBuYW1lZCBwaXBlcywgdG8KKyAgbWFrZSBzdXJlIHR3byBsaXN0ZW5lcnMgY2FuJ3QgYmluZCB0byB0aGUgc2FtZSBzb2NrZXQvcGlwZSAob3IgYW55IGV4aXN0aW5nCisgIHNvY2tldC9waXBlKS4KKwogLSBJc3N1ZSAjOTAyMTogQWRkIGFuIGludHJvZHVjdGlvbiB0byB0aGUgY29weSBtb2R1bGUgZG9jdW1lbnRhdGlvbi4KIAogLSBJc3N1ZSAjNjAwNTogRXhhbXBsZXMgaW4gdGhlIHNvY2tldCBsaWJyYXJ5IGRvY3VtZW50YXRpb24gdXNlIHNlbmRhbGwsIHdoZXJlCkBAIC0yODMsOCArNzk1LDE1IEBACiAtIElzc3VlICM5NjQ0Mzc6IE1ha2UgSURMRSBoZWxwIHdpbmRvdyBub24tbW9kYWwuCiAgIFBhdGNoIGJ5IEd1aWxoZXJtZSBQb2xvIGFuZCBSb2dlciBTZXJ3eS4KIAorLSBJc3N1ZSAjMTM3MzQ6IEFkZCBvcy5md2FsaygpLCBhIGRpcmVjdG9yeSB3YWxraW5nIGZ1bmN0aW9uIHlpZWxkaW5nIGZpbGUKKyAgZGVzY3JpcHRvcnMuCisKIC0gSXNzdWUgIzI5NDU6IE1ha2UgdGhlIGRpc3R1dGlscyB1cGxvYWQgY29tbWFuZCBhd2FyZSBvZiBiZGlzdF9ycG0gcHJvZHVjdHMuCiAKKy0gSXNzdWUgIzEzNzEyOiBweXNldHVwIGNyZWF0ZSBzaG91bGQgbm90IGNvbnZlcnQgcGFja2FnZV9kYXRhIHRvIGV4dHJhX2ZpbGVzLgorCistIElzc3VlICMxMTgwNTogcGFja2FnZV9kYXRhIGluIHNldHVwLmNmZyBzaG91bGQgYWxsb3cgbW9yZSB0aGFuIG9uZSB2YWx1ZS4KKwogLSBJc3N1ZSAjMTM5MzM6IElETEUgYXV0by1jb21wbGV0ZSBkaWQgbm90IHdvcmsgd2l0aCBzb21lIGltcG9ydGVkCiAgIG1vZHVsZSwgbGlrZSBoYXNobGliLiAgKFBhdGNoIGJ5IFJvZ2VyIFNlcnd5KQogCkBAIC0yOTUsNiArODE0LDkgQEAKIC0gSXNzdWUgIzEzNTA2OiBBZGQgJycgdG8gcGF0aCBmb3IgSURMRSBTaGVsbCB3aGVuIHN0YXJ0ZWQgYW5kIHJlc3RhcnRlZCB3aXRoIFJlc3RhcnQgU2hlbGwuCiAgIE9yaWdpbmFsIHBhdGNoZXMgYnkgTWFyY28gU2NhdGFnbGluaSBhbmQgUm9nZXIgU2Vyd3kuCiAKKy0gSXNzdWUgIzg4Mjg6IEFkZCBuZXcgZnVuY3Rpb24gb3MucmVwbGFjZSgpLCBmb3IgY3Jvc3MtcGxhdGZvcm0gcmVuYW1pbmcKKyAgd2l0aCBvdmVyd3JpdGluZy4KKwogLSBJc3N1ZSAjMTM4NDg6IG9wZW4oKSBhbmQgdGhlIEZpbGVJTyBjb25zdHJ1Y3RvciBub3cgY2hlY2sgZm9yIE5VTAogICBjaGFyYWN0ZXJzIGluIHRoZSBmaWxlIG5hbWUuICBQYXRjaCBieSBIeW5layBTY2hsYXdhY2suCiAKQEAgLTMwNyw2ICs4MjksMTcgQEAKIC0gSXNzdWUgIzEzODg1OiBDVkUtMjAxMS0zMzg5OiB0aGUgX3NzbCBtb2R1bGUgd291bGQgYWx3YXlzIGRpc2FibGUgdGhlIENCQwogICBJViBhdHRhY2sgY291bnRlcm1lYXN1cmUuCiAKKy0gSXNzdWUgIzEzODQ3OiB0aW1lLmxvY2FsdGltZSgpIGFuZCB0aW1lLmdtdGltZSgpIG5vdyByYWlzZSBhbiBPU0Vycm9yIGluc3RlYWQKKyAgb2YgVmFsdWVFcnJvciBvbiBmYWlsdXJlLiB0aW1lLmN0aW1lKCkgYW5kIHRpbWUuYXNjdGltZSgpIG5vdyByYWlzZXMgYW4KKyAgT1NFcnJvciBpZiBsb2NhbHRpbWUoKSBmYWlsZWQuIHRpbWUuY2xvY2soKSBub3cgcmFpc2VzIGEgUnVudGltZUVycm9yIGlmIHRoZQorICBwcm9jZXNzb3IgdGltZSB1c2VkIGlzIG5vdCBhdmFpbGFibGUgb3IgaXRzIHZhbHVlIGNhbm5vdCBiZSByZXByZXNlbnRlZAorCistIElzc3VlICMxMzg2MjogRml4IHNwdXJpb3VzIGZhaWx1cmUgaW4gdGVzdF96bGliIGR1ZSB0byBydW50aW1lL2NvbXBpbGUgdGltZQorICBtaW5vciB2ZXJzaW9ucyBub3QgbWF0Y2hpbmcuCisKKy0gSXNzdWUgIzEyODA0OiBGaXggdGVzdF9zb2NrZXQgYW5kIHRlc3RfdXJsbGliMm5ldCBmYWlsdXJlcyB3aGVuIHJ1bm5pbmcgdGVzdHMKKyAgb24gYSBzeXN0ZW0gd2l0aG91dCBpbnRlcm5ldCBhY2Nlc3MuCisKIC0gSXNzdWUgIzEzNzcyOiBJbiBvcy5zeW1saW5rKCkgdW5kZXIgV2luZG93cywgZG8gbm90IHRyeSB0byBndWVzcyB0aGUgbGluawogICB0YXJnZXQncyB0eXBlIChmaWxlIG9yIGRpcmVjdG9yeSkuICBUaGUgZGV0ZWN0aW9uIHdhcyBidWdneSBhbmQgbWFkZSB0aGUKICAgY2FsbCBub24tYXRvbWljICh0aGVyZWZvcmUgcHJvbmUgdG8gcmFjZSBjb25kaXRpb25zKS4KQEAgLTMyMiw2ICs4NTUsMTEgQEAKIC0gSXNzdWUgIzEzODAzOiBVbmRlciBTb2xhcmlzLCBkaXN0dXRpbHMgZG9lc24ndCBpbmNsdWRlIGJpdG5lc3MKICAgaW4gdGhlIGRpcmVjdG9yeSBuYW1lLgogCistIElzc3VlICMxMDI3ODogQWRkIHRpbWUud2FsbGNsb2NrKCkgZnVuY3Rpb24sIG1vbm90b25pYyBjbG9jay4KKworLSBJc3N1ZSAjMTM4MDk6IEZpeCByZWdyZXNzaW9uIHdoZXJlIGJ6MiBtb2R1bGUgd291bGRuJ3Qgd29yayB3aGVuIHRocmVhZHMgYXJlCisgIGRpc2FibGVkLiBPcmlnaW5hbCBwYXRjaCBieSBBbWF1cnkgRm9yZ2VvdCBkJ0FyYy4KKwogLSBJc3N1ZSAjMTM1ODk6IEZpeCBzb21lIHNlcmlhbGl6YXRpb24gcHJpbWl0aXZlcyBpbiB0aGUgYWlmYyBtb2R1bGUuCiAgIFBhdGNoIGJ5IE9sZWcgUGxha2hvdG55dWsuCiAKQEAgLTMzOCw2ICs4NzYsMTEgQEAKIC0gSXNzdWUgIzEzNTAyOiB0aHJlYWRpbmc6IEZpeCBhIHJhY2UgY29uZGl0aW9uIGluIEV2ZW50LndhaXQoKSB0aGF0IG1hZGUgaXQKICAgcmV0dXJuIEZhbHNlIHdoZW4gdGhlIGV2ZW50IHdhcyBzZXQgYW5kIGNsZWFyZWQgcmlnaHQgYWZ0ZXIuCiAKKy0gSXNzdWUgIzk5OTM6IFdoZW4gdGhlIHNvdXJjZSBhbmQgZGVzdGluYXRpb24gYXJlIG9uIGRpZmZlcmVudCBmaWxlc3lzdGVtcywKKyAgYW5kIHRoZSBzb3VyY2UgaXMgYSBzeW1saW5rLCBzaHV0aWwubW92ZSgpIG5vdyByZWNyZWF0ZXMgYSBzeW1saW5rIG9uIHRoZQorICBkZXN0aW5hdGlvbiBpbnN0ZWFkIG9mIGNvcHlpbmcgdGhlIGZpbGUgY29udGVudHMuICBQYXRjaCBieSBKb25hdGhhbiBOaWVob2YKKyAgYW5kIEh5bmVrIFNjaGxhd2Fjay4KKwogLSBJc3N1ZSAjMTI5MjY6IEZpeCBhIGJ1ZyBpbiB0YXJmaWxlJ3MgbGluayBleHRyYWN0aW9uLgogCiAtIElzc3VlICMxMzY5NjogRml4IHRoZSAzMDIgUmVsYXRpdmUgVVJMIFJlZGlyZWN0aW9uIHByb2JsZW0uCkBAIC0zNDUsMTUgKzg4OCw0NCBAQAogLSBJc3N1ZSAjMTM2MzY6IFdlYWsgY2lwaGVycyBhcmUgbm93IGRpc2FibGVkIGJ5IGRlZmF1bHQgaW4gdGhlIHNzbCBtb2R1bGUKICAgKGV4Y2VwdCB3aGVuIFNTTHYyIGlzIGV4cGxpY2l0bHkgYXNrZWQgZm9yKS4KIAorLSBJc3N1ZSAjMTI3MTU6IEFkZCBhbiBvcHRpb25hbCBzeW1saW5rcyBhcmd1bWVudCB0byBzaHV0aWwgZnVuY3Rpb25zCisgIChjb3B5ZmlsZSwgY29weW1vZGUsIGNvcHlzdGF0LCBjb3B5LCBjb3B5MikuICBXaGVuIHRoYXQgcGFyYW1ldGVyIGlzCisgIHRydWUsIHN5bWxpbmtzIGFyZW4ndCBkZXJlZmVyZW5jZWQgYW5kIHRoZSBvcGVyYXRpb24gaW5zdGVhZCBhY3RzIG9uIHRoZQorICBzeW1saW5rIGl0c2VsZiAob3IgY3JlYXRlcyBvbmUsIGlmIHJlbGV2YW50KS4gIFBhdGNoIGJ5IEh5bmVrIFNjaGxhd2Fjay4KKworLSBBZGQgYSBmbGFncyBwYXJhbWV0ZXIgdG8gc2VsZWN0LmVwb2xsLgorCiAtIElzc3VlICMxMjc5ODogVXBkYXRlZCB0aGUgbWltZXR5cGVzIGRvY3VtZW50YXRpb24uCiAKKy0gSXNzdWUgIzEzNjI2OiBBZGQgc3VwcG9ydCBmb3IgU1NMIERpZmZpZS1IZWxsbWFuIGtleSBleGNoYW5nZSwgdGhyb3VnaCB0aGUKKyAgU1NMQ29udGV4dC5sb2FkX2RoX3BhcmFtcygpIG1ldGhvZCBhbmQgdGhlIHNzbC5PUF9TSU5HTEVfREhfVVNFIG9wdGlvbi4KKwogLSBJc3N1ZSAjMTEwMDY6IERvbid0IGlzc3VlIGxvdyBsZXZlbCB3YXJuaW5nIGluIHN1YnByb2Nlc3Mgd2hlbiBwaXBlMigpIGZhaWxzLgogCistIElzc3VlICMxMzYyMDogU3VwcG9ydCBmb3IgQ2hyb21lIGJyb3dzZXIgaW4gd2ViYnJvd3Nlci5weSBQYXRjaCBjb250cmlidXRlZAorICBieSBBcm5hdWQgQ2FsbWV0dGVzLgorCiAtIElzc3VlICMxMTgyOTogRml4IGNvZGUgZXhlY3V0aW9uIGhvbGVzIGluIGluc3BlY3QuZ2V0YXR0cl9zdGF0aWMgZm9yCiAgIG1ldGFjbGFzc2VzIHdpdGggbWV0YWNsYXNzZXMuIFBhdGNoIGJ5IEFuZHJlYXMgU3TDvGhyay4KIAorLSBJc3N1ZSAjMTI3MDg6IEFkZCBzdGFybWFwKCkgYW5kIHN0YXJtYXBfYXN5bmMoKSBtZXRob2RzIChzaW1pbGFyIHRvCisgIGl0ZXJ0b29scy5zdGFybWFwKCkpIHRvIG11bHRpcHJvY2Vzc2luZy5Qb29sLiAgUGF0Y2ggYnkgSHluZWsgU2NobGF3YWNrLgorCiAtIElzc3VlICMxNzg1OiBGaXggaW5zcGVjdCBhbmQgcHlkb2Mgd2l0aCBtaXNiZWhhdmluZyBkZXNjcmlwdG9ycy4KIAorLSBJc3N1ZSAjMTM2Mzc6ICJhMmIiIGZ1bmN0aW9ucyBpbiB0aGUgYmluYXNjaWkgbW9kdWxlIG5vdyBhY2NlcHQgQVNDSUktb25seQorICB1bmljb2RlIHN0cmluZ3MuCisKKy0gSXNzdWUgIzEzNjM0OiBBZGQgc3VwcG9ydCBmb3IgcXVlcnlpbmcgYW5kIGRpc2FibGluZyBTU0wgY29tcHJlc3Npb24uCisKKy0gSXNzdWUgIzEzNjI3OiBBZGQgc3VwcG9ydCBmb3IgU1NMIEVsbGlwdGljIEN1cnZlLWJhc2VkIERpZmZpZS1IZWxsbWFuCisgIGtleSBleGNoYW5nZSwgdGhyb3VnaCB0aGUgU1NMQ29udGV4dC5zZXRfZWNkaF9jdXJ2ZSgpIG1ldGhvZCBhbmQgdGhlCisgIHNzbC5PUF9TSU5HTEVfRUNESF9VU0Ugb3B0aW9uLgorCistIElzc3VlICMxMzYzNTogQWRkIHNzbC5PUF9DSVBIRVJfU0VSVkVSX1BSRUZFUkVOQ0UsIHNvIHRoYXQgU1NMIHNlcnZlcnMKKyAgY2hvb3NlIHRoZSBjaXBoZXIgYmFzZWQgb24gdGhlaXIgb3duIHByZWZlcmVuY2VzLCByYXRoZXIgdGhhbiBvbiB0aGUKKyAgY2xpZW50J3MuCisKIC0gSXNzdWUgIzExODEzOiBGaXggaW5zcGVjdC5nZXRhdHRyX3N0YXRpYyBmb3IgbW9kdWxlcy4gUGF0Y2ggYnkgQW5kcmVhcwogICBTdMO8aHJrLgogCkBAIC0zNjYsMjcgKzkzOCw2MiBAQAogLSBJc3N1ZSAjODAzNTogdXJsbGliOiBGaXggYSBidWcgd2hlcmUgdGhlIGNsaWVudCBjb3VsZCByZW1haW4gc3R1Y2sgYWZ0ZXIgYQogICByZWRpcmVjdGlvbiBvciBhbiBlcnJvci4KIAorLSBJc3N1ZSAjMTM1NjA6IG9zLnN0cmVycm9yKCkgbm93IHVzZXMgdGhlIGN1cnJlbnQgbG9jYWxlIGVuY29kaW5nIGluc3RlYWQgb2YKKyAgVVRGLTguCisKKy0gSXNzdWUgIzEzNTYwOiBBZGQgUHlVbmljb2RlX0RlY29kZUxvY2FsZSgpLCBQeVVuaWNvZGVfRGVjb2RlTG9jYWxlQW5kU2l6ZSgpCisgIGFuZCBQeVVuaWNvZGVfRW5jb2RlTG9jYWxlKCkgZnVuY3Rpb25zIHRvIHRoZSBDIEFQSSB0byBkZWNvZGUvZW5jb2RlIGZyb20vdG8KKyAgdGhlIGN1cnJlbnQgbG9jYWxlIGVuY29kaW5nLgorCistIElzc3VlICM4MzczOiBUaGUgZmlsZXN5c3RlbSBwYXRoIG9mIEFGX1VOSVggc29ja2V0cyBub3cgdXNlcyB0aGUgZmlsZXN5c3RlbQorICBlbmNvZGluZyBhbmQgdGhlIHN1cnJvZ2F0ZWVzY2FwZSBlcnJvciBoYW5kbGVyLCByYXRoZXIgdGhhbiBVVEYtOC4gIFBhdGNoCisgIGJ5IERhdmlkIFdhdHNvbi4KKwogLSBJc3N1ZSAjMTAzNTA6IFJlYWQgYW5kIHNhdmUgZXJybm8gYmVmb3JlIGNhbGxpbmcgYSBmdW5jdGlvbiB3aGljaCBtaWdodAogICBvdmVyd3JpdGUgaXQuICBPcmlnaW5hbCBwYXRjaCBieSBIYWxsdmFyZCBCIEZ1cnVzZXRoLgogCistIElzc3VlICMxMTYxMDogSW50cm9kdWNlIGEgbW9yZSBnZW5lcmFsIHdheSB0byBkZWNsYXJlIGFic3RyYWN0IHByb3BlcnRpZXMuCisKIC0gSXNzdWUgIzEzNTkxOiBBIGJ1ZyBpbiBpbXBvcnRsaWIgaGFzIGJlZW4gZml4ZWQgdGhhdCBjYXVzZWQgaW1wb3J0X21vZHVsZQogICB0byBsb2FkIGEgbW9kdWxlIHR3aWNlLgogCiAtIElzc3VlICM0NjI1OiBJZiBJRExFIGNhbm5vdCB3cml0ZSB0byBpdHMgcmVjZW50IGZpbGUgb3IgYnJlYWtwb2ludAogICBmaWxlcywgZGlzcGxheSBhIG1lc3NhZ2UgcG9wdXAgYW5kIGNvbnRpbnVlIHJhdGhlciB0aGFuIGNyYXNoLgotICAob3JpZ2luYWwgcGF0Y2ggYnkgUm9nZXIgU2Vyd3kpCisgKG9yaWdpbmFsIHBhdGNoIGJ5IFJvZ2VyIFNlcnd5KQogCi0tIElzc3VlICM1OTA1OiB0aW1lLnN0cmZ0aW1lKCkgaXMgbm93IHVzaW5nIHRoZSBsb2NhbGUgZW5jb2RpbmcsIGluc3RlYWQgb2YKLSAgVVRGLTgsIGlmIHRoZSB3Y3NmdGltZSgpIGZ1bmN0aW9uIGlzIG5vdCBhdmFpbGFibGUuCistIElzc3VlICMxMzQ0OSBzY2hlZC5zY2hlZHVsZXIucnVuKCkgbWV0aG9kIGhhcyBhIG5ldyAiYmxvY2tpbmciIHBhcmFtZXRlciB3aGljaAorICB3aGVuIHNldCB0byBGYWxzZSBtYWtlcyBydW4oKSBleGVjdXRlIHRoZSBzY2hlZHVsZWQgZXZlbnRzIGR1ZSB0byBleHBpcmUKKyAgc29vbmVzdCAoaWYgYW55KSBhbmQgdGhlbiByZXR1cm4uICBQYXRjaCBieSBHaWFtcGFvbG8gUm9kb2zDoC4KKworLSBJc3N1ZSAjODY4NCBzY2hlZC5zY2hlZHVsZXIgY2xhc3MgY2FuIGJlIHNhZmVseSB1c2VkIGluIG11bHRpLXRocmVhZGVkCisgIGVudmlyb25tZW50cy4gIFBhdGNoIGJ5IEpvc2lhaCBDYXJsc29uIGFuZCBHaWFtcGFvbG8gUm9kb2zDoC4KKworLSBBbGlhcyByZXNvdXJjZS5lcnJvciB0byBPU0Vycm9yIGFsYSBQRVAgMzE1MS4KKworLSBJc3N1ZSAjNTY4OTogQWRkIHN1cHBvcnQgZm9yIGx6bWEgY29tcHJlc3Npb24gdG8gdGhlIHRhcmZpbGUgbW9kdWxlLgorCistIElzc3VlICMxMzI0ODogVHVybiAzLjIncyBQZW5kaW5nRGVwcmVjYXRpb25XYXJuaW5nIGludG8gMy4zJ3MKKyAgRGVwcmVjYXRpb25XYXJuaW5nLiAgSXQgY292ZXJzICdjZ2kuZXNjYXBlJywgJ2ltcG9ydGxpYi5hYmMuUHlMb2FkZXInLAorICAnaW1wb3J0bGliLmFiYy5QeVB5Y0xvYWRlcicsICdubnRwbGliLk5OVFAueGd0aXRsZScsICdubnRwbGliLk5OVFAueHBhdGgnLAorICBhbmQgcHJpdmF0ZSBhdHRyaWJ1dGVzIG9mICdzbXRwZC5TTVRQQ2hhbm5lbCcuCisKKy0gSXNzdWUgIzU5MDUsICMxMzU2MDogdGltZS5zdHJmdGltZSgpIGlzIG5vdyB1c2luZyB0aGUgY3VycmVudCBsb2NhbGUKKyAgZW5jb2RpbmcsIGluc3RlYWQgb2YgVVRGLTgsIGlmIHRoZSB3Y3NmdGltZSgpIGZ1bmN0aW9uIGlzIG5vdCBhdmFpbGFibGUuCiAKIC0gSXNzdWUgIzg2NDE6IFVwZGF0ZSBJRExFIDMgc3ludGF4IGNvbG9yaW5nIHRvIHJlY29nbml6ZSBiIi4uIiBhbmQgbm90IHUiLi4iLgogICBQYXRjaCBieSBUYWwgRWluYXQuCiAKKy0gSXNzdWUgIzEzNDY0OiBBZGQgYSByZWFkaW50bygpIG1ldGhvZCB0byBodHRwLmNsaWVudC5IVFRQUmVzcG9uc2UuICBQYXRjaAorICBieSBKb24gS3Vobi4KKwogLSB0YXJmaWxlLnB5OiBDb3JyZWN0bHkgZGV0ZWN0IGJ6aXAyIGNvbXByZXNzZWQgc3RyZWFtcyB3aXRoIGJsb2Nrc2l6ZXMKICAgb3RoZXIgdGhhbiA5MDBrLgogCiAtIElzc3VlICMxMzQzOTogRml4IG1hbnkgZXJyb3JzIGluIHR1cnRsZSBkb2NzdHJpbmdzLgogCistIElzc3VlICM2NzE1OiBBZGQgYSBtb2R1bGUgJ2x6bWEnIGZvciBjb21wcmVzc2lvbiB1c2luZyB0aGUgTFpNQSBhbGdvcml0aG0uCisgIFRoYW5rcyB0byBQZXIgw5h5dmluZCBLYXJsc2VuIGZvciB0aGUgaW5pdGlhbCBpbXBsZW1lbnRhdGlvbi4KKwogLSBJc3N1ZSAjMTM0ODc6IE1ha2UgaW5zcGVjdC5nZXRtb2R1bGUgcm9idXN0IGFnYWluc3QgY2hhbmdlcyBkb25lIHRvCiAgIHN5cy5tb2R1bGVzIHdoaWxlIGl0IGlzIGl0ZXJhdGluZyBvdmVyIGl0LgogCkBAIC0zOTYsMTUgKzEwMDMsMzEgQEAKIC0gSXNzdWUgIzEzNDQ0OiBXaGVuIHN0ZG91dCBoYXMgYmVlbiBjbG9zZWQgZXhwbGljaXRseSwgd2Ugc2hvdWxkIG5vdCBhdHRlbXB0CiAgIHRvIGZsdXNoIGl0IGF0IHNodXRkb3duIGFuZCBwcmludCBhbiBlcnJvci4KIAorLSBJc3N1ZSAjMTI1Njc6IFRoZSBjdXJzZXMgbW9kdWxlIHVzZXMgVW5pY29kZSBmdW5jdGlvbnMgZm9yIFVuaWNvZGUgYXJndW1lbnRzCisgIHdoZW4gaXQgaXMgbGlua2VkIHRvIHRoZSBuY3Vyc2VzIGxpYnJhcnkuIEl0IGVuY29kZXMgYWxzbyBVbmljb2RlIHN0cmluZ3MgdG8KKyAgdGhlIGxvY2FsZSBlbmNvZGluZyBpbnN0ZWFkIG9mIFVURi04LgorCiAtIElzc3VlICMxMjg1NjogRW5zdXJlIGNoaWxkIHByb2Nlc3NlcyBkbyBub3QgaW5oZXJpdCB0aGUgcGFyZW50J3MgcmFuZG9tCiAgIHNlZWQgZm9yIGZpbGVuYW1lIGdlbmVyYXRpb24gaW4gdGhlIHRlbXBmaWxlIG1vZHVsZS4gIFBhdGNoIGJ5IEJyaWFuCiAgIEhhcnJpbmcuCiAKKy0gSXNzdWUgIzk5NTc6IFNwb29sZWRUZW1wb3JhcnlGaWxlLnRydW5jYXRlKCkgbm93IGFjY2VwdHMgYW4gb3B0aW9uYWwgc2l6ZQorICBwYXJhbWV0ZXIsIGFzIG90aGVyIGZpbGUtbGlrZSBvYmplY3RzLiAgUGF0Y2ggYnkgUnlhbiBLZWxseS4KKwogLSBJc3N1ZSAjMTM0NTg6IEZpeCBhIG1lbW9yeSBsZWFrIGluIHRoZSBzc2wgbW9kdWxlIHdoZW4gZGVjb2RpbmcgYQogICBjZXJ0aWZpY2F0ZSB3aXRoIGEgc3ViamVjdEFsdE5hbWUuICBQYXRjaCBieSBSb2JlcnQgWGlhby4KIAogLSBJc3N1ZSAjMTM0MTU6IG9zLnVuc2V0ZW52KCkgZG9lc24ndCBpZ25vcmUgZXJyb3JzIGFueW1vcmUuCiAKKy0gSXNzdWUgIzEzMjQ1OiBzY2hlZC5zY2hlZHVsZXIgY2xhc3MgY29uc3RydWN0b3IncyB0aW1lZnVuYyBhbmQKKyAgZGVsYXlmdW5jdCBwYXJhbWV0ZXJzIGFyZSBub3cgb3B0aW9uYWwuCisgIHNjaGVkdWxlci5lbnRlciBhbmQgc2NoZWR1bGVyLmVudGVyYWJzIG1ldGhvZHMgZ2FpbmVkIGEgbmV3IGt3YXJncyBwYXJhbWV0ZXIuCisgIFBhdGNoIGNvbnRyaWJ1dGVkIGJ5IENocmlzIENsYXJrLgorCistIElzc3VlICMxMjMyODogVW5kZXIgV2luZG93cywgcmVmYWN0b3IgaGFuZGxpbmcgb2YgQ3RybC1DIGV2ZW50cyBhbmQKKyAgbWFrZSBfbXVsdGlwcm9jZXNzaW5nLndpbjMyLldhaXRGb3JNdWx0aXBsZU9iamVjdHMgaW50ZXJydXB0aWJsZSB3aGVuCisgIHRoZSB3YWl0X2ZsYWcgcGFyYW1ldGVyIGlzIGZhbHNlLiAgUGF0Y2ggYnkgc2J0LgorCiAtIElzc3VlICMxMzMyMjogRml4IEJ1ZmZlcmVkV3JpdGVyLndyaXRlKCkgdG8gZW5zdXJlIHRoYXQgQmxvY2tpbmdJT0Vycm9yIGlzCiAgIHJhaXNlZCB3aGVuIHRoZSB3cmFwcGVkIHJhdyBmaWxlIGlzIG5vbi1ibG9ja2luZyBhbmQgdGhlIHdyaXRlIHdvdWxkIGJsb2NrLgogICBQcmV2aW91cyBjb2RlIGFzc3VtZWQgdGhhdCB0aGUgcmF3IHdyaXRlKCkgd291bGQgcmFpc2UgQmxvY2tpbmdJT0Vycm9yLCBidXQKQEAgLTQxNywxMyArMTA0MCwyNSBAQAogICBub2RlIHdoZW4gaXQgaXMgdGhlIG9ubHkgY2hpbGQgb2YgYW4gZWxlbWVudC4gIEluaXRpYWwgcGF0Y2ggYnkgRGFuCiAgIEtlbmlnc2JlcmcuCiAKKy0gSXNzdWUgIzEzMzc0OiBUaGUgV2luZG93cyBieXRlcyBBUEkgaGFzIGJlZW4gZGVwcmVjYXRlZCBpbiB0aGUgb3MgbW9kdWxlLiBVc2UKKyAgVW5pY29kZSBmaWxlbmFtZXMgaW5zdGVhZCBvZiBieXRlcyBmaWxlbmFtZXMgdG8gbm90IGRlcGVuZCBvbiB0aGUgQU5TSSBjb2RlCisgIHBhZ2UgYW55bW9yZSBhbmQgdG8gc3VwcG9ydCBhbnkgZmlsZW5hbWUuCisKKy0gSXNzdWUgIzEzMjk3OiBVc2UgYnl0ZXMgdHlwZSB0byBzZW5kIGFuZCByZWNlaXZlIGJpbmFyeSBkYXRhIHRocm91Z2ggWE1MUlBDLgorCistIElzc3VlICM2Mzk3OiBTdXBwb3J0ICIvZGV2L3BvbGwiIHBvbGxpbmcgb2JqZWN0cyBpbiBzZWxlY3QgbW9kdWxlLAorICB1bmRlciBTb2xhcmlzICYgZGVyaXZhdGl2ZXMuCisKIC0gSXNzdWVzICMxNzQ1NzYxLCAjNzU1NjcwLCAjMTMzNTcsICMxMjYyOSwgIzEyMDAzMTM6IEhUTUxQYXJzZXIgbm93IGNvcnJlY3RseQogICBoYW5kbGVzIG5vbi12YWxpZCBhdHRyaWJ1dGVzLCBpbmNsdWRpbmcgYWRqYWNlbnQgYW5kIHVucXVvdGVkIGF0dHJpYnV0ZXMuCiAKLS0gSXNzdWUgIzEzMTkzOiBGaXggZGlzdHV0aWxzLmZpbGVsaXN0LkZpbGVMaXN0IHVuZGVyIFdpbmRvd3MuCistIElzc3VlICMxMzE5MzogRml4IGRpc3R1dGlscy5maWxlbGlzdC5GaWxlTGlzdCBhbmQgcGFja2FnaW5nLm1hbmlmZXN0Lk1hbmlmZXN0CisgIHVuZGVyIFdpbmRvd3MuCiAKIC0gSXNzdWUgIzEzMzg0OiBSZW1vdmUgdW5uZWNlc3NhcnkgX19mdXR1cmVfXyBpbXBvcnQgaW4gTGliL3JhbmRvbS5weQogCistIElzc3VlICMxMzE0OTogU3BlZWQgdXAgYXBwZW5kLW9ubHkgU3RyaW5nSU8gb2JqZWN0cy4KKwogLSBJc3N1ZSAjMTMzNzM6IG11bHRpcHJvY2Vzc2luZy5RdWV1ZS5nZXQoKSBjb3VsZCBzb21ldGltZXMgYmxvY2sgaW5kZWZpbml0ZWx5CiAgIHdoZW4gY2FsbGVkIHdpdGggYSB0aW1lb3V0LiAgUGF0Y2ggYnkgQXJuYXVkIFlzbWFsLgogCkBAIC00MzksMTEgKzEwNzQsMjAgQEAKIC0gSXNzdWUgIzEzMzM5OiBGaXggY29tcGlsZSBlcnJvciBpbiBwb3NpeG1vZHVsZS5jIGR1ZSB0byBtaXNzaW5nIHNlbWljb2xvbi4KICAgVGhhbmtzIHRvIFJvYmVydCBYaWFvLgogCistIEJ5dGUgY29tcGlsYXRpb24gaW4gcGFja2FnaW5nIGlzIG5vdyBpc29sYXRlZCBmcm9tIHRoZSBjYWxsaW5nIFB5dGhvbiAtQiBvcgorICAtTyBvcHRpb25zLCBpbnN0ZWFkIG9mIGJlaW5nIGRpc2FsbG93ZWQgdW5kZXIgLUIgb3IgYnVnZ3kgdW5kZXIgLU8uCisKIC0gSXNzdWUgIzEwNTcwOiBjdXJzZXMucHV0cCgpIGFuZCBjdXJzZXMudHBhcm0oKSBhcmUgbm93IGV4cGVjdGluZyBhIGJ5dGUKICAgc3RyaW5nLCBpbnN0ZWFkIG9mIGEgVW5pY29kZSBzdHJpbmcuCiAKKy0gSXNzdWUgIzEzMjk1OiBodHRwLnNlcnZlciBub3cgcHJvZHVjZXMgdmFsaWQgSFRNTCA0LjAxIHN0cmljdC4KKwogLSBJc3N1ZSAjMjg5MjogcHJlc2VydmUgaXRlcnBhcnNlIGV2ZW50cyBpbiBjYXNlIG9mIFN5bnRheEVycm9yLgogCistIElzc3VlICMxMzI4NzogdXJsbGliLnJlcXVlc3QgYW5kIHVybGxpYi5lcnJvciBub3cgY29udGFpbnMgYW4gX19hbGxfXworICBhdHRyaWJ1dGUgdG8gZXhwb3NlIG9ubHkgcmVsZXZhbnQgY2xhc3NlcyBhbmQgZnVuY3Rpb25zLiAgUGF0Y2ggYnkgRmxvcmVudAorICBYaWNsdW5hLgorCiAtIElzc3VlICM2NzA2NjQ6IEZpeCBIVE1MUGFyc2VyIHRvIGNvcnJlY3RseSBoYW5kbGUgdGhlIGNvbnRlbnQgb2YKICAgYGA8c2NyaXB0Pi4uLjwvc2NyaXB0PmBgIGFuZCBgYDxzdHlsZT4uLi48L3N0eWxlPmBgLgogCkBAIC00NTMsNiArMTA5Nyw5IEBACiAtIElzc3VlICMxMzI5NjogRml4IElETEUgdG8gY2xlYXIgY29tcGlsZSBfX2Z1dHVyZV9fIGZsYWdzIG9uIHNoZWxsIHJlc3RhcnQuCiAgIChQYXRjaCBieSBSb2dlciBTZXJ3eSkKIAorLSBGaXggdGhlIHhtbHJwYy5jbGllbnQgdXNlciBhZ2VudCB0byByZXR1cm4gc29tZXRoaW5nIHNpbWlsYXIgdG8KKyAgdXJsbGliLnJlcXVlc3QgdXNlciBhZ2VudDogIlB5dGhvbi14bWxycGMvMy4zIi4KKwogLSBJc3N1ZSAjMTMyOTM6IEJldHRlciBlcnJvciBtZXNzYWdlIHdoZW4gdHJ5aW5nIHRvIG1hcnNoYWwgYnl0ZXMgdXNpbmcKICAgeG1scnBjLmNsaWVudC4KIApAQCAtNDYzLDUxICsxMTEwLDgxIEBACiAtIElzc3VlICMxMzI3MzogZml4IGEgYnVnIHRoYXQgcHJldmVudGVkIEhUTUxQYXJzZXIgdG8gcHJvcGVybHkgZGV0ZWN0IHNvbWUKICAgdGFncyB3aGVuIHN0cmljdD1GYWxzZS4KIAorLSBJc3N1ZSAjMTExODM6IEFkZCBmaW5lci1ncmFpbmVkIGV4Y2VwdGlvbnMgdG8gdGhlIHNzbCBtb2R1bGUsIHNvIHRoYXQKKyAgeW91IGRvbid0IGhhdmUgdG8gaW5zcGVjdCB0aGUgZXhjZXB0aW9uJ3MgYXR0cmlidXRlcyBpbiB0aGUgY29tbW9uIGNhc2UuCisKKy0gSXNzdWUgIzEzMjE2OiBBZGQgY3A2NTAwMSBjb2RlYywgdGhlIFdpbmRvd3MgVVRGLTggKENQX1VURjgpLgorCistIElzc3VlICMxMzIyNjogQWRkIFJUTERfeHh4IGNvbnN0YW50cyB0byB0aGUgb3MgbW9kdWxlLiBUaGVzZSBjb25zdGFudHMgY2FuIGJlCisgIHVzZWQgd2l0aCBzeXMuc2V0ZGxvcGVuZmxhZ3MoKS4KKworLSBJc3N1ZSAjMTAyNzg6IEFkZCBjbG9ja19nZXRyZXMoKSwgY2xvY2tfZ2V0dGltZSgpIGFuZCBDTE9DS194eHggY29uc3RhbnRzIHRvCisgIHRoZSB0aW1lIG1vZHVsZS4gdGltZS5jbG9ja19nZXR0aW1lKHRpbWUuQ0xPQ0tfTU9OT1RPTklDKSBwcm92aWRlcyBhCisgIG1vbm90b25pYyBjbG9jaworCiAtIElzc3VlICMxMDMzMjogbXVsdGlwcm9jZXNzaW5nOiBmaXggYSByYWNlIGNvbmRpdGlvbiB3aGVuIGEgUG9vbCBpcyBjbG9zZWQKICAgYmVmb3JlIGFsbCB0YXNrcyBoYXZlIGNvbXBsZXRlZC4KIAogLSBJc3N1ZSAjMTMyNTU6IHdyb25nIGRvY3N0cmluZ3MgaW4gYXJyYXkgbW9kdWxlLgogCistIElzc3VlICM4NTQwOiBSZW1vdmUgZGVwcmVjYXRlZCBDb250ZXh0Ll9jbGFtcCBhdHRyaWJ1dGUgaW4gRGVjaW1hbCBtb2R1bGUuCisKKy0gSXNzdWUgIzEzMjM1OiBBZGRlZCBQZW5kaW5nRGVwcmVjYXRpb25XYXJuaW5nIHRvIHdhcm4oKSBtZXRob2QgYW5kIGZ1bmN0aW9uLgorCiAtIElzc3VlICM5MTY4OiBub3cgc210cGQgaXMgYWJsZSB0byBiaW5kIHByaXZpbGVnZWQgcG9ydC4KIAogLSBJc3N1ZSAjMTI1Mjk6IGZpeCBjZ2kucGFyc2VfaGVhZGVyIGlzc3VlIG9uIHN0cmluZ3Mgd2l0aCBkb3VibGUtcXVvdGVzIGFuZAogICBzZW1pY29sb25zIHRvZ2V0aGVyLiBQYXRjaCBieSBCZW4gRGFybmVsbCBhbmQgUGV0cmkgTGVodGluZW4uCiAKLS0gSXNzdWUgIzEyNDQ4OiBzbXRwbGliIG5vdyBmbHVzaGVzIHN0ZG91dCB3aGlsZSBydW5uaW5nIGBgcHl0aG9uIC1tIHNtdHBsaWJgYAotICBpbiBvcmRlciB0byBkaXNwbGF5IHRoZSBwcm9tcHQgY29ycmVjdGx5LgorLSBJc3N1ZSAjMTMyMjc6IGZ1bmN0b29scy5scnVfY2FjaGUoKSBub3cgaGFzIGEgb3B0aW9uIHRvIGRpc3Rpbmd1aXNoCisgIGNhbGxzIHdpdGggZGlmZmVyZW50IGFyZ3VtZW50IHR5cGVzLgogCiAtIElzc3VlICM2MDkwOiB6aXBmaWxlIHJhaXNlcyBhIFZhbHVlRXJyb3Igd2hlbiBhIGRvY3VtZW50IHdpdGggYSB0aW1lc3RhbXAKICAgZWFybGllciB0aGFuIDE5ODAgaXMgcHJvdmlkZWQuIFBhdGNoIGNvbnRyaWJ1dGVkIGJ5IFBldHJpIExlaHRpbmVuLgogCistIElzc3VlICMxMzE1MDogc3lzY29uZmlnIG5vIGxvbmdlciBwYXJzZXMgdGhlIE1ha2VmaWxlIGFuZCBjb25maWcuaCBmaWxlcworICB3aGVuIGltcG9ydGVkLCBpbnN0ZWFkIGRvaW5nIGl0IGF0IGJ1aWxkIHRpbWUuICBUaGlzIG1ha2VzIGltcG9ydGluZworICBzeXNjb25maWcgZmFzdGVyIGFuZCByZWR1Y2VzIFB5dGhvbiBzdGFydHVwIHRpbWUgYnkgMjAlLgorCistIElzc3VlICMxMjQ0ODogc210cGxpYiBub3cgZmx1c2hlcyBzdGRvdXQgd2hpbGUgcnVubmluZyBgYHB5dGhvbiAtbSBzbXRwbGliYGAKKyAgaW4gb3JkZXIgdG8gZGlzcGxheSB0aGUgcHJvbXB0IGNvcnJlY3RseS4KKworLSBJc3N1ZSAjMTI0NTQ6IFRoZSBtYWlsYm94IG1vZHVsZSBpcyBub3cgdXNpbmcgQVNDSUksIGluc3RlYWQgb2YgdGhlIGxvY2FsZQorICBlbmNvZGluZywgdG8gcmVhZCBhbmQgd3JpdGUgTUggbWFpbGJveGVzICgubWhfc2VxdWVuY2VzIGZpbGVzKS4KKwogLSBJc3N1ZSAjMTMxOTQ6IHpsaWIuY29tcHJlc3NvYmooKS5jb3B5KCkgYW5kIHpsaWIuZGVjb21wcmVzc29iaigpLmNvcHkoKSBhcmUKICAgbm93IGF2YWlsYWJsZSBvbiBXaW5kb3dzLgogCistIGlzc3VlICMxNjczMDA3OiB1cmxsaWIyICB0byBzdXBwb3J0IEhFQUQgcmVxdWVzdCB2aWEgbmV3IG1ldGhvZCBhcmd1bWVudC4KKyAgUGF0Y2ggY29udHJpYnV0aW9ucyBieSBEYXZpZCBTdGFuZWssIFBhdHJpY2sgV2VzdGVyaG9mZiBhbmQgRXppbyBNZWxvdHRpLgorCistIElzc3VlICMxMjM4NjogcGFja2FnaW5nIGRvZXMgbm90IGZhaWwgYW55bW9yZSB3aGVuIHdyaXRpbmcgdGhlIFJFU09VUkNFUworICBmaWxlLgorCiAtIElzc3VlICMxMzE1ODogRml4IGRlY29kaW5nIGFuZCBlbmNvZGluZyBvZiBHTlUgdGFyIHNwZWNpZmljIGJhc2UtMjU2IG51bWJlcgogICBmaWVsZHMgaW4gdGFyZmlsZS4KIAotLSBJc3N1ZSAjMTMxNzc6ICBGdW5jdG9vbHMgbHJ1X2NhY2hlKCkgbm8gbG9uZ2VyIGNhbGxzIHRoZSBvcmlnaW5hbCBmdW5jdGlvbgotICBpbnNpZGUgYW4gZXhjZXB0aW9uIGhhbmRsZXIuICBUaGlzIG1ha2VzIHRyYWNlYmFja3MgZWFzaWVyIHRvIHJlYWQgYmVjYXVzZQotICBjaGFpbmVkIGV4Y2VwdGlvbnMgYXJlIGF2b2lkZWQuCi0KIC0gSXNzdWUgIzEzMDI1OiBtaW1ldHlwZXMgaXMgbm93IHJlYWRpbmcgTUlNRSB0eXBlcyB1c2luZyB0aGUgVVRGLTggZW5jb2RpbmcsCiAgIGluc3RlYWQgb2YgdGhlIGxvY2FsZSBlbmNvZGluZy4KIAogLSBJc3N1ZSAjMTA2NTM6IE9uIFdpbmRvd3MsIHVzZSBzdHJmdGltZSgpIGluc3RlYWQgb2Ygd2NzZnRpbWUoKSBiZWNhdXNlCiAgIHdjc2Z0aW1lKCkgZG9lc24ndCBmb3JtYXQgdGltZSB6b25lIGNvcnJlY3RseS4KIAorLSBJc3N1ZSAjMTMxNTA6IFRoZSB0b2tlbml6ZSBtb2R1bGUgZG9lc24ndCBjb21waWxlIGxhcmdlIHJlZ3VsYXIgZXhwcmVzc2lvbnMKKyAgYXQgc3RhcnR1cCBhbnltb3JlLgorCiAtIElzc3VlICMxMTE3MTogRml4IGRpc3R1dGlscy5zeXNjb25maWcuZ2V0X21ha2VmaWxlX2ZpbGVuYW1lIHdoZW4gUHl0aG9uIHdhcwogICBjb25maWd1cmVkIHdpdGggZGlmZmVyZW50IHByZWZpeCBhbmQgZXhlYy1wcmVmaXguCiAKLS0gSXNzdWUgIzExMjU0OiBUZWFjaCBkaXN0dXRpbHMgdG8gY29tcGlsZSAucHljIGFuZCAucHlvIGZpbGVzIGluCistIElzc3VlICMxMTI1NDogVGVhY2ggZGlzdHV0aWxzIGFuZCBwYWNrYWdpbmcgdG8gY29tcGlsZSAucHljIGFuZCAucHlvIGZpbGVzIGluCiAgIFBFUCAzMTQ3LWNvbXBsaWFudCBfX3B5Y2FjaGVfXyBkaXJlY3Rvcmllcy4KIAotLSBJc3N1ZSAjMTEyNTA6IEJhY2sgcG9ydCBmaXggZnJvbSAzLjMgYnJhbmNoLCBzbyB0aGF0IDJ0bzMgY2FuIGhhbmRsZSBmaWxlcwotICB3aXRoIGxpbmUgZmVlZHMuICBUaGlzIHdhcyBwb3J0ZWQgZnJvbSB0aGUgc2FuZGJveCB0byB0aGUgMy4zIGJyYW5jaCwgYnV0Ci0gIGRpZG4ndCBtYWtlIGl0IGludG8gMy4yLgotCiAtIElzc3VlICM3MzY3OiBGaXggcGtndXRpbC53YWxrX3BhdGhzIHRvIHNraXAgZGlyZWN0b3JpZXMgd2hvc2UKICAgY29udGVudHMgY2Fubm90IGJlIHJlYWQuCiAKKy0gSXNzdWUgIzMxNjM6IFRoZSBzdHJ1Y3QgbW9kdWxlIGdldHMgbmV3IGZvcm1hdCBjaGFyYWN0ZXJzICduJyBhbmQgJ04nCisgIHN1cHBvcnRpbmcgQyBpbnRlZ2VyIHR5cGVzIGBgc3NpemVfdGBgIGFuZCBgYHNpemVfdGBgLCByZXNwZWN0aXZlbHkuCisKIC0gSXNzdWUgIzEzMDk5OiBGaXggc3FsaXRlMy5DdXJzb3IubGFzdHJvd2lkIHVuZGVyIGEgVHVya2lzaCBsb2NhbGUuCiAgIFJlcG9ydGVkIGFuZCBkaWFnbm9zZWQgYnkgVGhvbWFzIEtsdXl2ZXIuCiAKQEAgLTUyOCwxMyArMTIwNSwyOSBAQAogICB3aXRoIGludmFsaWQgaGV4IGVzY2FwZSBzZXF1ZW5jZXMsIGxpa2UgYidceDAnLgogICAoT3JpZ2luYWwgcGF0Y2ggYnkgQ2xhdWRpdSBQb3BhLikKIAotLSBJc3N1ZSAjODkzMzogZGlzdHV0aWxzJyBQS0ctSU5GTyBmaWxlcyB3aWxsIG5vdyBjb3JyZWN0bHkgcmVwb3J0Ci0gIE1ldGFkYXRhLVZlcnNpb246IDEuMSBpbnN0ZWFkIG9mIDEuMCBpZiBhIENsYXNzaWZpZXIgb3IgRG93bmxvYWQtVVJMIGZpZWxkIGlzCi0gIHByZXNlbnQuCistIElzc3VlICMxMjMwNjogRXhwb3NlIHRoZSBydW50aW1lIHZlcnNpb24gb2YgdGhlIHpsaWIgQyBsaWJyYXJ5IGFzIGEgY29uc3RhbnQsCisgIFpMSUJfUlVOVElNRV9WRVJTSU9OLCBpbiB0aGUgemxpYiBtb2R1bGUuIFBhdGNoIGJ5IFRvcnN0ZW4gTGFuZHNjaG9mZi4KIAotLSBJc3N1ZSAjOTU2MTogZGlzdHV0aWxzIG5vdyByZWFkcyBhbmQgd3JpdGVzIGVnZy1pbmZvIGZpbGVzIHVzaW5nIFVURi04LAorLSBJc3N1ZSAjMTI5NTk6IEFkZCBjb2xsZWN0aW9ucy5DaGFpbk1hcCB0byBjb2xsZWN0aW9ucy5fX2FsbF9fLgorCistIElzc3VlICM4OTMzOiBkaXN0dXRpbHMnIFBLRy1JTkZPIGZpbGVzIGFuZCBwYWNrYWdpbmcncyBNRVRBREFUQSBmaWxlcyB3aWxsCisgIG5vdyBjb3JyZWN0bHkgcmVwb3J0IE1ldGFkYXRhLVZlcnNpb246IDEuMSBpbnN0ZWFkIG9mIDEuMCBpZiBhIENsYXNzaWZpZXIgb3IKKyAgRG93bmxvYWQtVVJMIGZpZWxkIGlzIHByZXNlbnQuCisKKy0gSXNzdWUgIzEyNTY3OiBBZGQgY3Vyc2VzLnVuZ2V0X3djaCgpIGZ1bmN0aW9uLiBQdXNoIGEgY2hhcmFjdGVyIHNvIHRoZSBuZXh0CisgIGdldF93Y2goKSB3aWxsIHJldHVybiBpdC4KKworLSBJc3N1ZSAjOTU2MTogZGlzdHV0aWxzIGFuZCBwYWNrYWdpbmcgbm93IHdyaXRlcyBlZ2ctaW5mbyBmaWxlcyB1c2luZyBVVEYtOCwKICAgaW5zdGVhZCBvZiB0aGUgbG9jYWxlIGVuY29kaW5nLgogCistIElzc3VlICM4Mjg2OiBUaGUgZGlzdHV0aWxzIGNvbW1hbmQgc2Rpc3Qgd2lsbCBwcmludCBhIHdhcm5pbmcgbWVzc2FnZSBpbnN0ZWFkCisgIG9mIGNyYXNoaW5nIHdoZW4gYW4gaW52YWxpZCBwYXRoIGlzIGdpdmVuIGluIHRoZSBtYW5pZmVzdCB0ZW1wbGF0ZS4KKworLSBJc3N1ZSAjMTI4NDE6IHRhcmZpbGUgdW5uZWNlc3NhcmlseSBjaGVja2VkIHRoZSBleGlzdGVuY2Ugb2YgbnVtZXJpY2FsIHVzZXIKKyAgYW5kIGdyb3VwIGlkcyBvbiBleHRyYWN0aW9uLiBJZiBvbmUgb2YgdGhlbSBkaWQgbm90IGV4aXN0IHRoZSByZXNwZWN0aXZlIGlkCisgIG9mIHRoZSBjdXJyZW50IHVzZXIgKGkuZS4gcm9vdCkgd2FzIHVzZWQgZm9yIHRoZSBmaWxlIGFuZCBvd25lcnNoaXAKKyAgaW5mb3JtYXRpb24gd2FzIGxvc3QuCisKIC0gSXNzdWUgIzEyODg4OiBGaXggYSBidWcgaW4gSFRNTFBhcnNlci51bmVzY2FwZSB0aGF0IHByZXZlbnRlZCBpdCB0byBlc2NhcGUKICAgbW9yZSB0aGFuIDEyOCBlbnRpdGllcy4gIFBhdGNoIGJ5IFBldGVyIE90dGVuLgogCkBAIC01NDIsNiArMTIzNSwxNiBAQAogCiAtIElzc3VlICMxMjYzNjogSURMRSByZWFkcyB0aGUgY29kaW5nIGNvb2tpZSB3aGVuIGV4ZWN1dGluZyBhIFB5dGhvbiBzY3JpcHQuCiAKKy0gSXNzdWUgIzEyNDk0OiBPbiBlcnJvciwgY2FsbCgpLCBjaGVja19jYWxsKCksIGNoZWNrX291dHB1dCgpIGFuZAorICBnZXRzdGF0dXNvdXRwdXQoKSBmdW5jdGlvbnMgb2YgdGhlIHN1YnByb2Nlc3MgbW9kdWxlIG5vdyBraWxsIHRoZSBwcm9jZXNzLAorICByZWFkIGl0cyBzdGF0dXMgKHRvIGF2b2lkIHpvbWJpcykgYW5kIGNsb3NlIHBpcGVzLgorCistIElzc3VlICMxMjcyMDogRXhwb3NlIGxvdy1sZXZlbCBMaW51eCBleHRlbmRlZCBmaWxlIGF0dHJpYnV0ZSBmdW5jdGlvbnMgaW4gb3MuCisKKy0gSXNzdWUgIzEwOTQ2OiBUaGUgZGlzdHV0aWxzIGNvbW1hbmRzIGJkaXN0X2R1bWIsIGJkaXN0X3dpbmluc3QgYW5kIGJkaXN0X21zaQorICBub3cgcmVzcGVjdCBhIC0tc2tpcC1idWlsZCBvcHRpb24gZ2l2ZW4gdG8gYmRpc3QuICBUaGUgcGFja2FnaW5nIGNvbW1hbmRzCisgIHdlcmUgZml4ZWQgdG9vLgorCiAtIElzc3VlICMxMjg0NzogRml4IGEgY3Jhc2ggd2l0aCBuZWdhdGl2ZSBQVVQgYW5kIExPTkdfQklOUFVUIGFyZ3VtZW50cyBpbgogICB0aGUgQyBwaWNrbGUgaW1wbGVtZW50YXRpb24uCiAKQEAgLTU1MSwyMDEgKzEyNTQsNDcgQEAKIC0gSXNzdWUgIzEyMjg3OiBGaXggYSBzdGFjayBjb3JydXB0aW9uIGluIG9zc2F1ZGlvZGV2IG1vZHVsZSB3aGVuIHRoZSBGRCBpcwogICBncmVhdGVyIHRoYW4gRkRfU0VUU0laRS4KIAorLSBJc3N1ZSAjMTI4Mzk6IEZpeCBjcmFzaCBpbiB6bGliIG1vZHVsZSBkdWUgdG8gdmVyc2lvbiBtaXNtYXRjaC4KKyAgRml4IGJ5IFJpY2hhcmQgTS4gVGV3LgorCistIElzc3VlICM5OTIzOiBUaGUgbWFpbGNhcCBtb2R1bGUgbm93IGNvcnJlY3RseSB1c2VzIHRoZSBwbGF0Zm9ybSBwYXRoCisgIHNlcGFyYXRvciBmb3IgdGhlIE1BSUxDQVAgZW52aXJvbm1lbnQgdmFyaWFibGUgb24gbm9uLVBPU0lYIHBsYXRmb3Jtcy4KKworLSBJc3N1ZSAjMTI4MzU6IEZvbGxvdyB1cCB0byAjNjU2MCB0aGF0IHVuY29uZGl0aW9uYWxseSBwcmV2ZW50cyB1c2Ugb2YgdGhlCisgIHVuZW5jcnlwdGVkIHNlbmRtc2cvcmVjdm1zZyBBUElzIG9uIFNTTCB3cmFwcGVkIHNvY2tldHMuIFBhdGNoIGJ5IERhdmlkCisgIFdhdHNvbi4KKworLSBJc3N1ZSAjMTI4MDM6IFNTTENvbnRleHQubG9hZF9jZXJ0X2NoYWluKCkgbm93IGFjY2VwdHMgYSBwYXNzd29yZCBhcmd1bWVudAorICB0byBiZSB1c2VkIGlmIHRoZSBwcml2YXRlIGtleSBpcyBlbmNyeXB0ZWQuICBQYXRjaCBieSBBZGFtIFNpbXBraW5zLgorCiAtIElzc3VlICMxMTY1NzogRml4IHNlbmRpbmcgZmlsZSBkZXNjcmlwdG9ycyBvdmVyIDI1NSBvdmVyIGEgbXVsdGlwcm9jZXNzaW5nCiAgIFBpcGUuCiAKLS0gSXNzdWUgIzEzMDA3OiB3aGljaGRiIHNob3VsZCByZWNvZ25pemUgZ2RibSAxLjkgbWFnaWMgbnVtYmVycy4KKy0gSXNzdWUgIzEyODExOiB0YWJuYW5ueS5jaGVjaygpIG5vdyBwcm9tcHRseSBjbG9zZXMgY2hlY2tlZCBmaWxlcy4gUGF0Y2ggYnkKKyAgQW50aG9ueSBCcmlnZ3MuCisKKy0gSXNzdWUgIzY1NjA6IFRoZSBzZW5kbXNnL3JlY3Ztc2cgQVBJIGlzIG5vdyBleHBvc2VkIGJ5IHRoZSBzb2NrZXQgbW9kdWxlCisgIHdoZW4gcHJvdmlkZWQgYnkgdGhlIHVuZGVybHlpbmcgcGxhdGZvcm0sIHN1cHBvcnRpbmcgcHJvY2Vzc2luZyBvZgorICBhbmNpbGxhcnkgZGF0YSBpbiBwdXJlIFB5dGhvbiBjb2RlLiBQYXRjaCBieSBEYXZpZCBXYXRzb24gYW5kIEhlaWtvIFd1bmRyYW0uCisKKy0gSXNzdWUgIzEyMzI2OiBPbiBMaW51eCwgc3lzLnBsYXRmb3JtIGRvZXNuJ3QgY29udGFpbiB0aGUgbWFqb3IgdmVyc2lvbgorICBhbnltb3JlLiBJdCBpcyBub3cgYWx3YXlzICdsaW51eCcsIGluc3RlYWQgb2YgJ2xpbnV4Micgb3IgJ2xpbnV4MycgZGVwZW5kaW5nCisgIG9uIHRoZSBMaW51eCB2ZXJzaW9uIHVzZWQgdG8gYnVpbGQgUHl0aG9uLgogCiAtIElzc3VlICMxMjIxMzogRml4IGEgYnVmZmVyaW5nIGJ1ZyB3aXRoIGludGVybGVhdmVkIHJlYWRzIGFuZCB3cml0ZXMgdGhhdAogICBjb3VsZCBhcHBlYXIgb24gQnVmZmVyZWRSYW5kb20gc3RyZWFtcy4KIAorLSBJc3N1ZSAjMTI3Nzg6IFJlZHVjZSBtZW1vcnkgY29uc3VtcHRpb24gd2hlbiBKU09OLWVuY29kaW5nIGEgbGFyZ2UKKyAgY29udGFpbmVyIG9mIG1hbnkgc21hbGwgb2JqZWN0cy4KKwogLSBJc3N1ZSAjMTI2NTA6IEZpeCBhIHJhY2UgY29uZGl0aW9uIHdoZXJlIGEgc3VicHJvY2Vzcy5Qb3BlbiBjb3VsZCBsZWFrCiAgIHJlc291cmNlcyAoRkQvem9tYmllKSB3aGVuIGtpbGxlZCBhdCB0aGUgd3JvbmcgdGltZS4KIAotLSBJc3N1ZSAjMTA4NjA6IGh0dHAuY2xpZW50IG5vdyBjb3JyZWN0bHkgaGFuZGxlcyBhbiBlbXB0eSBwb3J0IGFmdGVyIHBvcnQKLSAgZGVsaW1pdGVyIGluIFVSTHMuCistIElzc3VlICMxMjc0NDogRml4IGluZWZmaWNpZW50IHJlcHJlc2VudGF0aW9uIG9mIGludGVnZXJzIGJldHdlZW4gMioqMzEgYW5kCisgIDIqKjYzIG9uIHN5c3RlbXMgd2l0aCBhIDY0LWJpdCBDICJsb25nIi4KIAotQnVpbGQKLS0tLS0tCi0KLS0gSXNzdWUgIzY4MDc6IFJ1biBtc2lzdXBwb3J0Lm1hayBlYXJsaWVyLgotCi0tIElzc3VlICMxMDU4MDogTWlub3IgZ3JhbW1hciBjaGFuZ2UgaW4gV2luZG93cyBpbnN0YWxsZXIuCi0KLS0gSXNzdWUgIzEzMzI2OiBDbGVhbiBfX3B5Y2FjaGVfXyBkaXJlY3RvcmllcyBjb3JyZWN0bHkgb24gT3BlbkJTRC4KLQotVG9vbHMvRGVtb3MKLS0tLS0tLS0tLS0tCi0KLS0gSXNzdWUgIzE0MDUzOiBwYXRjaGNoZWNrLnB5ICgibWFrZSBwYXRjaGNoZWNrIikgbm93IHdvcmtzIHdpdGggTVEgcGF0Y2hlcy4KLSAgUGF0Y2ggYnkgRnJhbmNpc2NvIE1hcnTDrW4gQnJ1Z3XDqS4KLQotLSBJc3N1ZSAjMTM5MzA6IDJ0bzMgaXMgbm93IGFibGUgdG8gd3JpdGUgaXRzIGNvbnZlcnRlZCBvdXRwdXQgZmlsZXMgdG8gYW5vdGhlcgotICBkaXJlY3RvcnkgdHJlZSBhcyB3ZWxsIGFzIGNvcHlpbmcgdW5jaGFuZ2VkIGZpbGVzIGFuZCBhbHRlcmluZyB0aGUgZmlsZQotICBzdWZmaXguICBTZWUgaXRzIG5ldyAtbywgLVcgYW5kIC0tYWRkLXN1ZmZpeCBvcHRpb25zLiAgVGhpcyBtYWtlcyBpdCBtb3JlCi0gIHVzZWZ1bCBpbiBtYW55IGF1dG9tYXRlZCBjb2RlIHRyYW5zbGF0aW9uIHdvcmtmbG93cy4KLQotLSBJc3N1ZSAjMTM2Mjg6IHB5dGhvbi1nZGIucHkgaXMgbm93IGFibGUgdG8gcmV0cmlldmUgbW9yZSBmcmFtZXMgaW4gdGhlIFB5dGhvbgotICB0cmFjZWJhY2sgaWYgUHl0aG9uIGlzIG9wdGltaXplZC4KLQotVGVzdHMKLS0tLS0tCi0KLS0gSXNzdWUgIzExNjg5OiBGaXggYSB2YXJpYWJsZSBzY29waW5nIGVycm9yIGluIGFuIHNxbGl0ZTMgdGVzdAotCi0tIElzc3VlICMxMzc4NjogUmVtb3ZlIHVuaW1wbGVtZW50ZWQgJ3RyYWNlJyBsb25nIG9wdGlvbiBmcm9tIHJlZ3J0ZXN0LnB5LgotCi0tIElzc3VlICMxMzcyNTogRml4IHJlZ3J0ZXN0IHRvIHJlY29nbml6ZSB0aGUgZG9jdW1lbnRlZCAtZCBmbGFnLgotICBQYXRjaCBieSBFcm5vIFR1a2lhLgotCi0tIElzc3VlICMxMzMwNDogU2tpcCB0ZXN0IGNhc2UgaWYgdXNlciBzaXRlLXBhY2thZ2VzIGRpc2FibGVkICgtcyBvcgotICBQWVRIT05OT1VTRVJTSVRFKS4gIChQYXRjaCBieSBDYXJsIE1leWVyKQotCi0tIElzc3VlICMxMzIxODogRml4IHRlc3Rfc3NsIGZhaWx1cmVzIG9uIERlYmlhbi9VYnVudHUuCi0KLS0gSXNzdWUgIzEyODIxOiBGaXggdGVzdF9mY250bCBmYWlsdXJlcyBvbiBPcGVuQlNEIDUuCi0KLS0gUmUtZW5hYmxlIGxpYjJ0bzMncyB0ZXN0X3BhcnNlci5weSB0ZXN0cywgdGhvdWdoIHdpdGggYW4gZXhwZWN0ZWQgZmFpbHVyZQotICAoc2VlIGlzc3VlIDEzMTI1KS4KLQotRXh0ZW5zaW9uIE1vZHVsZXMKLS0tLS0tLS0tLS0tLS0tLS0tCi0KLS0gSXNzdWUgIzEzODQwOiBUaGUgZXJyb3IgbWVzc2FnZSBwcm9kdWNlZCBieSBjdHlwZXMuY3JlYXRlX3N0cmluZ19idWZmZXIKLSAgd2hlbiBnaXZlbiBhIFVuaWNvZGUgc3RyaW5nIGhhcyBiZWVuIGZpeGVkLgotCi0tIElzc3VlICM5OTc1OiBzb2NrZXQ6IEZpeCBpbmNvcnJlY3QgdXNlIG9mIGZsb3dpbmZvIGFuZCBzY29wZV9pZC4gUGF0Y2ggYnkKLSAgVmlsbW9zIE5lYmVoYWouCi0KLS0gSXNzdWUgIzEzMTU5OiBGaWxlSU8gYW5kIEJaMkZpbGUgbm93IHVzZSBhIGxpbmVhci10aW1lIGJ1ZmZlciBncm93dGgKLSAgc3RyYXRlZ3kgaW5zdGVhZCBvZiBhIHF1YWRyYXRpYy10aW1lIG9uZS4KLQotLSBJc3N1ZSAjMTMwNzA6IEZpeCBhIGNyYXNoIHdoZW4gYSBUZXh0SU9XcmFwcGVyIGNhdWdodCBpbiBhIHJlZmVyZW5jZSBjeWNsZQotICB3b3VsZCBiZSBmaW5hbGl6ZWQgYWZ0ZXIgdGhlIHJlZmVyZW5jZSB0byBpdHMgdW5kZXJseWluZyBCdWZmZXJlZFJXUGFpcidzCi0gIHdyaXRlciBnb3QgY2xlYXJlZCBieSB0aGUgR0MuCi0KLS0gSXNzdWUgIzEyODgxOiBjdHlwZXM6IEZpeCBzZWdmYXVsdCB3aXRoIGxhcmdlIHN0cnVjdHVyZSBmaWVsZCBuYW1lcy4KLQotLSBJc3N1ZSAjMTMwNTg6IG9zc2F1ZGlvZGV2OiBmaXggYSBmaWxlIGRlc2NyaXB0b3IgbGVhayBvbiBlcnJvci4gUGF0Y2ggYnkKLSAgVGhvbWFzIEphcm9zY2guCi0KLS0gSXNzdWUgIzEzMDEzOiBjdHlwZXM6IEZpeCBhIHJlZmVyZW5jZSBsZWFrIGluIFB5Q0FycmF5VHlwZV9mcm9tX2N0eXBlLgotICBUaGFua3MgdG8gU3VtYW4gU2FoYSBmb3IgZmluZGluZyB0aGUgYnVnIGFuZCBwcm92aWRpbmcgYSBwYXRjaC4KLQotLSBJc3N1ZSAjMTMwMjI6IEZpeDogX211bHRpcHJvY2Vzc2luZy5yZWN2ZmQoKSBkb2Vzbid0IGNoZWNrIHRoYXQKLSAgZmlsZSBkZXNjcmlwdG9yIHdhcyBhY3R1YWxseSByZWNlaXZlZC4KLQotLSBJc3N1ZSAjMTI0ODM6IGN0eXBlczogRml4IGEgY3Jhc2ggd2hlbiB0aGUgZGVzdHJ1Y3Rpb24gb2YgYSBjYWxsYmFjawotICBvYmplY3QgdHJpZ2dlcnMgdGhlIGdhcmJhZ2UgY29sbGVjdG9yLgotCi0tIElzc3VlICMxMjk1MDogRml4IHBhc3NpbmcgZmlsZSBkZXNjcmlwdG9ycyBpbiBtdWx0aXByb2Nlc3NpbmcsIHVuZGVyCi0gIE9wZW5JbmRpYW5hL0lsbHVtb3MuCi0KLURvY3VtZW50YXRpb24KLS0tLS0tLS0tLS0tLS0KLQotLSBJc3N1ZXMgIzEzNDkxIGFuZCAjMTM5OTU6IEZpeCBtYW55IGVycm9ycyBpbiBzcWxpdGUzIGRvY3VtZW50YXRpb24uCi0gIEluaXRpYWwgcGF0Y2ggZm9yICMxMzQ5MSBieSBKb2hhbm5lcyBWb2dlbC4KLQotLSBJc3N1ZSAjMTM0MDI6IERvY3VtZW50IGFic29sdXRlbmVzcyBvZiBzeXMuZXhlY3V0YWJsZS4KLQotLSBJc3N1ZSAjMTM4ODM6IFBZVEhPTkNBU0VPSyBhbHNvIHVzZWQgb24gT1MgWCBhbmQgT1MvMi4KLQotLSBJc3N1ZSAjMTI5NDk6IERvY3VtZW50IHRoZSBrd29ubHlhcmdjb3VudCBhcmd1bWVudCBmb3IgdGhlIFB5Q29kZV9OZXcKLSAgQyBBUEkgZnVuY3Rpb24uCi0KLS0gSXNzdWUgIzIxMzQ6IFRoZSB0b2tlbml6ZSBkb2N1bWVudGF0aW9uIGhhcyBiZWVuIGNsYXJpZmllZCB0byBleHBsYWluIHdoeQotICBhbGwgb3BlcmF0b3IgYW5kIGRlbGltaXRlciB0b2tlbnMgYXJlIHRyZWF0ZWQgYXMgdG9rZW4uT1AgdG9rZW5zLgotCi0tIElzc3VlICMxMzUxMzogRml4IGlvLklPQmFzZSBkb2N1bWVudGF0aW9uIHRvIGNvcnJlY3RseSBsaW5rIHRvIHRoZQotICBpby5JT0Jhc2UucmVhZGxpbmUgbWV0aG9kIGluc3RlYWQgb2YgdGhlIHJlYWRsaW5lIG1vZHVsZS4KLQotLSBJc3N1ZSAjMTMyMzc6IFJlb3JnYW5pc2Ugc3VicHJvY2VzcyBkb2N1bWVudGF0aW9uIHRvIGVtcGhhc2lzZSBjb252ZW5pZW5jZQotICBmdW5jdGlvbnMgYW5kIHRoZSBtb3N0IGNvbW1vbmx5IG5lZWRlZCBhcmd1bWVudHMgdG8gUG9wZW4uCi0KLS0gSXNzdWUgIzEzMTQxOiBEZW1vbnN0cmF0ZSByZWNvbW1lbmRlZCBzdHlsZSBmb3Igc29ja2V0c2VydmVyIGV4YW1wbGVzLgotCi0KLVdoYXQncyBOZXcgaW4gUHl0aG9uIDMuMi4yPwotPT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0KLSpSZWxlYXNlIGRhdGU6IDAzLVNlcC0yMDExKgotCi1Db3JlIGFuZCBCdWlsdGlucwotLS0tLS0tLS0tLS0tLS0tLS0KLQotLSBJc3N1ZSAjMTIzMjY6IHN5cy5wbGF0Zm9ybSBpcyBub3cgYWx3YXlzICdsaW51eDInIG9uIExpbnV4LCBldmVuIGlmIFB5dGhvbgotICBpcyBjb21waWxlZCBvbiBMaW51eCAzLgotCi0tIEFjY2VwdCBieXRlcyBmb3IgdGhlIEFTVCBzdHJpbmcgdHlwZS4gVGhpcyBpcyB0ZW1wb3JhcnkgdW50aWwgYSBwcm9wZXIgZml4IGluCi0gIDMuMy4KLQotTGlicmFyeQotLS0tLS0tLQotCi0tIElzc3VlICM4Mjg2OiBUaGUgZGlzdHV0aWxzIGNvbW1hbmQgc2Rpc3Qgd2lsbCBwcmludCBhIHdhcm5pbmcgbWVzc2FnZSBpbnN0ZWFkCi0gIG9mIGNyYXNoaW5nIHdoZW4gYW4gaW52YWxpZCBwYXRoIGlzIGdpdmVuIGluIHRoZSBtYW5pZmVzdCB0ZW1wbGF0ZS4KLQotLSBJc3N1ZSAjMTI4NDE6IHRhcmZpbGUgdW5uZWNlc3NhcmlseSBjaGVja2VkIHRoZSBleGlzdGVuY2Ugb2YgbnVtZXJpY2FsIHVzZXIKLSAgYW5kIGdyb3VwIGlkcyBvbiBleHRyYWN0aW9uLiBJZiBvbmUgb2YgdGhlbSBkaWQgbm90IGV4aXN0IHRoZSByZXNwZWN0aXZlIGlkCi0gIG9mIHRoZSBjdXJyZW50IHVzZXIgKGkuZS4gcm9vdCkgd2FzIHVzZWQgZm9yIHRoZSBmaWxlIGFuZCBvd25lcnNoaXAKLSAgaW5mb3JtYXRpb24gd2FzIGxvc3QuCi0KLS0gSXNzdWUgIzEwOTQ2OiBUaGUgZGlzdHV0aWxzIGNvbW1hbmRzIGJkaXN0X2R1bWIsIGJkaXN0X3dpbmluc3QgYW5kIGJkaXN0X21zaQotICBub3cgcmVzcGVjdCBhIC0tc2tpcC1idWlsZCBvcHRpb24gZ2l2ZW4gdG8gYmRpc3QuCi0KLS0gSXNzdWUgIzEyODM5OiBGaXggY3Jhc2ggaW4gemxpYiBtb2R1bGUgZHVlIHRvIHZlcnNpb24gbWlzbWF0Y2guCi0gIEZpeCBieSBSaWNoYXJkIE0uIFRldy4KLQotRXh0ZW5zaW9uIE1vZHVsZXMKLS0tLS0tLS0tLS0tLS0tLS0tCi0KLS0gSXNzdWUgIzk2NTE6IEZpeCBhIGNyYXNoIHdoZW4gY3R5cGVzLmNyZWF0ZV9zdHJpbmdfYnVmZmVyKDApIHdhcyBwYXNzZWQgdG8KLSAgc29tZSBmdW5jdGlvbnMgbGlrZSBmaWxlLndyaXRlKCkuCi0KLQotCi1XaGF0J3MgTmV3IGluIFB5dGhvbiAzLjIuMiByZWxlYXNlIGNhbmRpZGF0ZSAxPwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLQotKlJlbGVhc2UgZGF0ZTogMTQtQXVnLTIwMTEqCi0KLUNvcmUgYW5kIEJ1aWx0aW5zCi0tLS0tLS0tLS0tLS0tLS0tLQotCi0tIElzc3VlICMxMjczMjogSW4gbmFycm93IHVuaWNvZGUgYnVpbGRzLCBhbGxvdyBVbmljb2RlIGlkZW50aWZpZXJzIHdoaWNoIGZhbGwKLSAgb3V0c2lkZSB0aGUgQk1QLgotCi0tIElzc3VlICMxMTYwMzogRml4IGEgY3Jhc2ggd2hlbiBfX3N0cl9fIGlzIHJlYm91bmQgYXMgX19yZXByX18uICBQYXRjaCBieQotICBBbmRyZWFzIFN0w7xocmsuCi0KLS0gSXNzdWUgIzExMzIxOiBGaXggYSBjcmFzaCB3aXRoIG11bHRpcGxlIGltcG9ydHMgb2YgdGhlIF9waWNrbGUgbW9kdWxlIHdoZW4KLSAgZW1iZWRkaW5nIFB5dGhvbi4gIFBhdGNoIGJ5IEFuZHJlYXMgU3TDvGhyay4KLQotLSBWZXJpZnkgdGhlIHR5cGVzIG9mIEFTVCBzdHJpbmdzIGFuZCBpZGVudGlmaWVycyBwcm92aWRlZCBieSB0aGUgdXNlciBiZWZvcmUKLSAgY29tcGlsaW5nIHRoZW0uCi0KLS0gSXNzdWUgIzEyNTc5OiBzdHIuZm9ybWF0X21hcCgpIG5vdyByYWlzZXMgYSBWYWx1ZUVycm9yIGlmIHVzZWQgb24gYQotICBmb3JtYXQgc3RyaW5nIHRoYXQgY29udGFpbnMgcG9zaXRpb25hbCBmaWVsZHMuIEluaXRpYWwgcGF0Y2ggYnkKLSAgSnVsaWFuIEJlcm1hbi4KLQotLSBJc3N1ZSAjMTE2Mjc6IEZpeCBzZWdmYXVsdCB3aGVuIF9fbmV3X18gb24gYSBleGNlcHRpb24gcmV0dXJucyBhCi0gIG5vbi1leGNlcHRpb24gY2xhc3MuCi0KLS0gSXNzdWUgIzEyMTQ5OiBVcGRhdGUgdGhlIG1ldGhvZCBjYWNoZSBhZnRlciBhIHR5cGUncyBkaWN0aW9uYXJ5IGdldHMKLSAgY2xlYXJlZCBieSB0aGUgZ2FyYmFnZSBjb2xsZWN0b3IuICBUaGlzIGZpeGVzIGEgc2VnZmF1bHQgd2hlbiBhbiBpbnN0YW5jZQotICBhbmQgaXRzIHR5cGUgZ2V0IGNhdWdodCBpbiBhIHJlZmVyZW5jZSBjeWNsZSwgYW5kIHRoZSBpbnN0YW5jZSdzCi0gIGRlYWxsb2NhdG9yIGNhbGxzIG9uZSBvZiB0aGUgbWV0aG9kcyBvbiB0aGUgdHlwZSAoZS5nLiB3aGVuIHN1YmNsYXNzaW5nCi0gIElPQmFzZSkuICBEaWFnbm9zaXMgYW5kIHBhdGNoIGJ5IERhdmlkZSBSaXp6by4KLQotLSBXaGVuIGEgZ2VuZXJhdG9yIHlpZWxkcywgZG8gbm90IHJldGFpbiB0aGUgY2FsbGVyJ3MgZXhjZXB0aW9uIHN0YXRlIG9uIHRoZQotICBnZW5lcmF0b3IuCi0KLS0gSXNzdWUgIzEyNDc1OiBQcmV2ZW50IGdlbmVyYXRvcnMgZnJvbSBsZWFraW5nIHRoZWlyIGV4Y2VwdGlvbiBzdGF0ZSBpbnRvIHRoZQotICBjYWxsZXIncyBmcmFtZSBhcyB0aGV5IHJldHVybiBmb3IgdGhlIGxhc3QgdGltZS4KLQotTGlicmFyeQotLS0tLS0tLQorLSBJc3N1ZSAjMTI2NDY6IEFkZCBhbiAnZW9mJyBhdHRyaWJ1dGUgdG8gemxpYi5EZWNvbXByZXNzLCB0byBtYWtlIGl0IGVhc2llciB0bworICBkZXRlY3QgdHJ1bmNhdGVkIGlucHV0IHN0cmVhbXMuCiAKIC0gSXNzdWUgIzExNTEzOiBGaXggZXhjZXB0aW9uIGhhbmRsaW5nIGBgdGFyZmlsZS5UYXJGaWxlLmd6b3BlbigpYGAgd2hlbgogICB0aGUgZmlsZSBjYW5ub3QgYmUgb3BlbmVkLgpAQCAtNzU4LDE4ICsxMzA3LDQyIEBACiAtIElzc3VlICMxMjU0MDogUHJldmVudCB6b21iaWUgSURMRSBwcm9jZXNzZXMgb24gV2luZG93cyBkdWUgdG8gY2hhbmdlcwogICBpbiBvcy5raWxsKCkuCiAKKy0gQWRkIHN1cHBvcnQgZm9yIHVuYXJ5IHBsdXMgYW5kIHVuYXJ5IG1pbnVzIHRvIGNvbGxlY3Rpb25zLkNvdW50ZXIoKS4KKyAgSXNzdWUgIzEzMTIxOiBBbHNvIGFkZCBzdXBwb3J0IGZvciBpbnBsYWNlIG1hdGggb3BlcmF0b3JzLgorCiAtIElzc3VlICMxMjY4MzogdXJscGFyc2UgdXBkYXRlZCB0byBpbmNsdWRlIHN2biBhcyBzY2hlbWVzIHRoYXQgdXNlcyByZWxhdGl2ZQogICBwYXRocy4gKHN2biBmcm9tIDEuNSBvbndhcmRzIHN1cHBvcnQgcmVsYXRpdmUgcGF0aCkuCiAKKy0gSXNzdWUgIzEyNjU1OiBFeHBvc2UgZnVuY3Rpb25zIGZyb20gc2NoZWQuaCBpbiB0aGUgb3MgbW9kdWxlOiBzY2hlZF95aWVsZCgpLAorICBzY2hlZF9zZXRzY2hlZHVsZXIoKSwgc2NoZWRfZ2V0c2NoZWR1bGVyKCksIHNjaGVkX3NldHBhcmFtKCksCisgIHNjaGVkX2dldF9taW5fcHJpb3JpdHkoKSwgc2NoZWRfZ2V0X21heF9wcmlvcml0eSgpLCBzY2hlZF9ycl9nZXRfaW50ZXJ2YWwoKSwKKyAgc2NoZWRfZ2V0YWZmaW5pdHkoKSwgc2NoZWRfc2V0YWZmaW5pdHkoKS4KKworLSBBZGQgVGhyZWFkRXJyb3IgdG8gdGhyZWFkaW5nLl9fYWxsX18uCisKIC0gSXNzdWVzICMxMTEwNCwgIzg2ODg6IEZpeCB0aGUgYmVoYXZpb3Igb2YgZGlzdHV0aWxzJyBzZGlzdCBjb21tYW5kIHdpdGgKICAgbWFudWFsbHktbWFpbnRhaW5lZCBNQU5JRkVTVCBmaWxlcy4KIAorLSBJc3N1ZSAjMTEyODE6IHNtdHBsaWIuU1RNUCBnZXRzIHNvdXJjZV9hZGRyZXNzIHBhcmFtZXRlciwgd2hpY2ggYWRkcyB0aGUKKyAgYWJpbGl0eSB0byBiaW5kIHRvIHNwZWNpZmljIHNvdXJjZSBhZGRyZXNzIG9uIGEgbWFjaGluZSB3aXRoIG11bHRpcGxlCisgIGludGVyZmFjZXMuIFBhdGNoIGJ5IFBhdWxvIFNjYXJkaW5lLgorCiAtIElzc3VlICMxMjQ2NDogdGVtcGZpbGUuVGVtcG9yYXJ5RGlyZWN0b3J5LmNsZWFudXAoKSBzaG91bGQgbm90IGZvbGxvdwogICBzeW1saW5rczogZml4IGl0LiBQYXRjaCBieSBQZXRyaSBMZWh0aW5lbi4KIAogLSBJc3N1ZSAjODg4NzogInB5ZG9jIHNvbWVidWlsdGluLnNvbWVtZXRob2QiIChvciBoZWxwKCdzb21lYnVpbHRpbi5zb21lbWV0aG9kJykKICAgaW4gUHl0aG9uIGNvZGUpIG5vdyBmaW5kcyB0aGUgZG9jIG9mIHRoZSBtZXRob2QuCiAKKy0gSXNzdWUgIzEwOTY4OiBSZW1vdmUgaW5kaXJlY3Rpb24gaW4gdGhyZWFkaW5nLiAgVGhlIHB1YmxpYyBuYW1lcyAoVGhyZWFkLAorICBDb25kaXRpb24sIGV0Yy4pIHVzZWQgdG8gYmUgZmFjdG9yeSBmdW5jdGlvbnMgcmV0dXJuaW5nIGluc3RhbmNlcyBvZiBoaWRkZW4KKyAgY2xhc3NlcyAoX1RocmVhZCwgX0NvbmRpdGlvbiwgZXRjLiksIGJlY2F1c2UgKGlmIEd1aWRvIHJlY2FsbHMgY29ycmVjdGx5KSB0aGlzCisgIGNvZGUgcHJlLWRhdGVzIHRoZSBhYmlsaXR5IHRvIHN1YmNsYXNzIGV4dGVuc2lvbiB0eXBlcy4gIEl0IGlzIG5vdyBwb3NzaWJsZSB0bworICBpbmhlcml0IGZyb20gVGhyZWFkIGFuZCBvdGhlciBjbGFzc2VzLCB3aXRob3V0IGhhdmluZyB0byBpbXBvcnQgdGhlIHByaXZhdGUKKyAgdW5kZXJzY29yZWQgbmFtZXMgbGlrZSBtdWx0aXByb2Nlc3NpbmcgZGlkLgorCistIElzc3VlICM5NzIzOiBBZGQgc2hsZXgucXVvdGUgZnVuY3Rpb25zLCB0byBlc2NhcGUgZmlsZW5hbWVzIGFuZCBjb21tYW5kCisgIGxpbmVzLgorCiAtIElzc3VlICMxMjYwMzogRml4IHB5ZG9jLnN5bm9wc2lzKCkgb24gZmlsZXMgd2l0aCBub24tbmVnYXRpdmUgc3RfbXRpbWUuCiAKIC0gSXNzdWUgIzEyNTE0OiBVc2UgdHJ5L2ZpbmFsbHkgdG8gYXNzdXJlIHRoZSB0aW1laXQgbW9kdWxlIHJlc3RvcmVzIGdhcmJhZ2UKQEAgLTc4NCwxOSArMTM1NywzNSBAQAogLSBJc3N1ZSAjMTI1NzY6IEZpeCB1cmxvcGVuIGJlaGF2aW9yIG9uIHNpdGVzIHdoaWNoIGRvIG5vdCBzZW5kIChvciBvYmZ1c2NhdGVzKQogICBDb25uZWN0aW9uOmNsb3NlIGhlYWRlci4KIAorLSBJc3N1ZSAjMTIxMDI6IERvY3VtZW50IHRoYXQgYnVmZmVyZWQgZmlsZXMgbXVzdCBiZSBmbHVzaGVkIGJlZm9yZSBiZWluZyB1c2VkCisgIHdpdGggbW1hcC4gUGF0Y2ggYnkgU3RlZmZlbiBEYW9kZSBOdXJwbWVzby4KKworLSBJc3N1ZSAjMTI1NjA6IEJ1aWxkIGxpYnB5dGhvbi5zbyBvbiBPcGVuQlNELiBQYXRjaCBieSBTdGVmYW4gU3BlcmxpbmcuCisKIC0gSXNzdWUgIzE4MTM6IEZpeCBjb2RlYyBsb29rdXAgdW5kZXIgVHVya2lzaCBsb2NhbGVzLgogCiAtIElzc3VlICMxMjU5MTogSW1wcm92ZSBzdXBwb3J0IG9mICJ1bml2ZXJzYWwgbmV3bGluZXMiIGluIHRoZSBzdWJwcm9jZXNzCiAgIG1vZHVsZTogdGhlIHBpcGVkIHN0cmVhbXMgY2FuIG5vdyBiZSBwcm9wZXJseSByZWFkIGZyb20gb3Igd3JpdHRlbiB0by4KIAogLSBJc3N1ZSAjMTI1OTE6IEFsbG93IGlvLlRleHRJT1dyYXBwZXIgdG8gd29yayB3aXRoIHJhdyBJTyBvYmplY3RzICh3aXRob3V0Ci0gIGEgcmVhZDEoKSBtZXRob2QpLCBhbmQgYWRkIGFuIHVuZG9jdW1lbnRlZCAqd3JpdGVfdGhyb3VnaCogcGFyYW1ldGVyIHRvCi0gIG1hbmRhdGUgdW5idWZmZXJlZCB3cml0ZXMuCi0KLS0gSXNzdWUgIzk2MTEsICM5MDE1OiBGaWxlSU8ucmVhZCgpIGNsYW1wcyB0aGUgbGVuZ3RoIHRvIElOVF9NQVggb24gV2luZG93cy4KKyAgYSByZWFkMSgpIG1ldGhvZCksIGFuZCBhZGQgYSAqd3JpdGVfdGhyb3VnaCogcGFyYW1ldGVyIHRvIG1hbmRhdGUKKyAgdW5idWZmZXJlZCB3cml0ZXMuCiAKIC0gSXNzdWUgIzEwODgzOiBGaXggc29ja2V0IGxlYWtzIGluIHVybGxpYi5yZXF1ZXN0IHdoZW4gdXNpbmcgRlRQLgogCistIElzc3VlICMxMjU5MjogTWFrZSBQeXRob24gYnVpbGQgb24gT3BlbkJTRCA1IChhbmQgZnV0dXJlIG1ham9yIHJlbGVhc2VzKS4KKworLSBJc3N1ZSAjMTIzNzI6IFBPU0lYIHNlbWFwaG9yZXMgYXJlIGJyb2tlbiBvbiBBSVg6IGRvbid0IHVzZSB0aGVtLgorCistIElzc3VlICMxMjU1MTogUHJvdmlkZSBhIGdldF9jaGFubmVsX2JpbmRpbmcoKSBtZXRob2Qgb24gU1NMIHNvY2tldHMgc28gYXMKKyAgdG8gZ2V0IGNoYW5uZWwgYmluZGluZyBkYXRhIGZvciB0aGUgY3VycmVudCBTU0wgc2Vzc2lvbiAob25seSB0aGUKKyAgInRscy11bmlxdWUiIGNoYW5uZWwgYmluZGluZyBpcyBpbXBsZW1lbnRlZCkuICBUaGlzIGFsbG93cyB0aGUgaW1wbGVtZW50YXRpb24KKyAgb2YgY2VydGFpbiBhdXRoZW50aWNhdGlvbiBtZWNoYW5pc21zIHN1Y2ggYXMgU0NSQU0tU0hBLTEtUExVUy4gIFBhdGNoIGJ5CisgIEphY2VrIEtvbmllY3pueS4KKworLSBJc3N1ZSAjNjY1MTk0OiBlbWFpbC51dGlscyBub3cgaGFzIGZvcm1hdF9kYXRldGltZSBhbmQgcGFyc2VkYXRlX3RvX2RhdGV0aW1lCisgIGZ1bmN0aW9ucywgYWxsb3dpbmcgZm9yIHJvdW5kIHRyaXBwaW5nIG9mIFJGQzI4MjIgZm9ybWF0IGRhdGVzLgorCiAtIElzc3VlICMxMjU3MTogQWRkIGEgcGxhdC1saW51eDMgZGlyZWN0b3J5IG1pcnJvcmluZyB0aGUgcGxhdC1saW51eDIKICAgZGlyZWN0b3J5LCBzbyB0aGF0ICJpbXBvcnQgRExGQ04iIGFuZCBvdGhlciBzaW1pbGFyIGltcG9ydHMgd29yayBvbgogICBMaW51eCAzLjAuCkBAIC04MDQsMTgxICsxMzkzLDkxIEBACiAtIElzc3VlICM3NDg0OiBzbXRwbGliIG5vIGxvbmdlciBwdXRzIDw+IGFyb3VuZCBhZGRyZXNzZXMgaW4gVlJGWSBhbmQgRVhQTgogICBjb21tYW5kczsgdGhleSBhcmVuJ3QgcmVxdWlyZWQgYW5kIGluIGZhY3QgcG9zdGZpeCBkb2Vzbid0IHN1cHBvcnQgdGhhdCBmb3JtLgogCi0tIENsb3NlIHRoZSBjYWxsIHF1ZXVlIGluIGNvbmN1cnJlbnQuZnV0dXJlcy5Qcm9jZXNzUG9vbEV4ZWN1dG9yIHdoZW4KLSAgc2h1dGRvd24oKSBpcyBjYWxsZWQsIHdpdGhvdXQgd2FpdGluZyBmb3IgdGhlIGdhcmJhZ2UgY29sbGVjdG9yIHRvIGtpY2sgaW4uCistIElzc3VlICMxMjI3MzogUmVtb3ZlIGFzdC5fX3ZlcnNpb25fXy4gQVNUIGNoYW5nZXMgY2FuIGJlIGFjY291bnRlZCBmb3IgYnkKKyAgY2hlY2tpbmcgc3lzLnZlcnNpb25faW5mbyBvciBzeXMuX21lcmN1cmlhbC4KKworLSBTaWxlbmNlIHNwdXJpb3VzICJicm9rZW4gcGlwZSIgdHJhY2ViYWNrcyB3aGVuIHNodXR0aW5nIGRvd24gYQorICBQcm9jZXNzUG9vbEV4ZWN1dG9yLgorCistIEZpeCBwb3RlbnRpYWwgcmVzb3VyY2UgbGVha3MgaW4gY29uY3VycmVudC5mdXR1cmVzLlByb2Nlc3NQb29sRXhlY3V0b3IKKyAgYnkgam9pbmluZyBhbGwgcXVldWVzIGFuZCBwcm9jZXNzZXMgd2hlbiBzaHV0ZG93bigpIGlzIGNhbGxlZC4KKworLSBJc3N1ZSAjMTE2MDM6IEZpeCBhIGNyYXNoIHdoZW4gX19zdHJfXyBpcyByZWJvdW5kIGFzIF9fcmVwcl9fLiAgUGF0Y2ggYnkKKyAgQW5kcmVhcyBTdMO8aHJrLgorCistIElzc3VlICMxMTMyMTogRml4IGEgY3Jhc2ggd2l0aCBtdWx0aXBsZSBpbXBvcnRzIG9mIHRoZSBfcGlja2xlIG1vZHVsZSB3aGVuCisgIGVtYmVkZGluZyBQeXRob24uICBQYXRjaCBieSBBbmRyZWFzIFN0w7xocmsuCisKKy0gSXNzdWUgIzY3NTU6IEFkZCBnZXRfd2NoKCkgbWV0aG9kIHRvIGN1cnNlcy53aW5kb3cgY2xhc3MuIFBhdGNoIGJ5IEnDsWlnbworICBTZXJuYS4KKworLSBBZGQgY2dpLmNsb3NlbG9nKCkgZnVuY3Rpb24gdG8gY2xvc2UgdGhlIGxvZyBmaWxlLgogCiAtIElzc3VlICMxMjUwMjogYXN5bmNvcmU6IGZpeCBwb2xsaW5nIGxvb3Agd2l0aCBBRl9VTklYIHNvY2tldHMuCiAKLS0gSXNzdWUgIzQzNzY6IGN0eXBlcyBub3cgc3VwcG9ydHMgbmVzdGVkIHN0cnVjdHVyZXMgd2l0aCBhbiBlbmRpYW5uZXNzCi0gIGRpZmZlcmVudCB0aGFuIHRoYXQgb2YgdGhlIHBhcmVudCBzdHJ1Y3R1cmUuICBQYXRjaCBieSBWbGFkIFJpc2N1dGlhLgorLSBJc3N1ZSAjNDM3NjogY3R5cGVzIG5vdyBzdXBwb3J0cyBuZXN0ZWQgc3RydWN0dXJlcyBpbiBhIGVuZGlhbiBkaWZmZXJlbnQgdGhhbgorICB0aGUgcGFyZW50IHN0cnVjdHVyZS4gUGF0Y2ggYnkgVmxhZCBSaXNjdXRpYS4KIAogLSBSYWlzZSBWYWx1ZUVycm9yIHdoZW4gYXR0ZW1wdGluZyB0byBzZXQgdGhlIF9DSFVOS19TSVpFIGF0dHJpYnV0ZSBvZiBhCiAgIFRleHRJT1dyYXBwZXIgdG8gYSBodWdlIHZhbHVlLCBub3QgVHlwZUVycm9yLgogCi0tIElzc3VlICMxMjQ5Mzogc3VicHJvY2VzczogUG9wZW4uY29tbXVuaWNhdGUoKSBub3cgYWxzbyBoYW5kbGVzIEVJTlRSIGVycm9ycwotICBpZiB0aGUgcHJvY2VzcyBoYXMgb25seSBvbmUgcGlwZS4KKy0gSXNzdWUgIzEyNTA0OiBDbG9zZSBmaWxlIGhhbmRsZXMgaW4gYSB0aW1lbHkgbWFubmVyIGluIHBhY2thZ2luZy5kYXRhYmFzZS4KKyAgVGhpcyBmaXhlcyBhIGJ1ZyB3aXRoIHRoZSByZW1vdmUgKHVuaW5zdGFsbCkgZmVhdHVyZSBvbiBXaW5kb3dzLgorCistIElzc3VlcyAjMTIxNjkgYW5kICMxMDUxMDogRmFjdG9yIG91dCBjb2RlIHVzZWQgYnkgdmFyaW91cyBwYWNrYWdpbmcgY29tbWFuZHMKKyAgdG8gbWFrZSBIVFRQIFBPU1QgcmVxdWVzdHMsIGFuZCBtYWtlIHN1cmUgaXQgdXNlcyBDUkxGLgorCistIElzc3VlICMxMjAxNjogTXVsdGlieXRlIENKSyBkZWNvZGVycyBub3cgcmVzeW5jaHJvbml6ZSBmYXN0ZXIuIFRoZXkgb25seQorICBpZ25vcmUgdGhlIGZpcnN0IGJ5dGUgb2YgYW4gaW52YWxpZCBieXRlIHNlcXVlbmNlLiBGb3IgZXhhbXBsZSwKKyAgYidceGZmXG4nLmRlY29kZSgnZ2IyMzEyJywgJ3JlcGxhY2UnKSBnaXZlcyAnXHVmZmZkXG4nIGluc3RlYWQgb2YgJ1x1ZmZmZCcuCisKKy0gSXNzdWUgIzEyNDU5OiB0aW1lLnNsZWVwKCkgbm93IHJhaXNlcyBhIFZhbHVlRXJyb3IgaWYgdGhlIHNsZWVwIGxlbmd0aCBpcworICBuZWdhdGl2ZSwgaW5zdGVhZCBvZiBhbiBpbmZpbml0ZSBzbGVlcCBvbiBXaW5kb3dzIG9yIHJhaXNpbmcgYW4gSU9FcnJvciBvbgorICBMaW51eCBmb3IgZXhhbXBsZSwgdG8gaGF2ZSB0aGUgc2FtZSBiZWhhdmlvdXIgb24gYWxsIHBsYXRmb3Jtcy4KIAogLSBJc3N1ZSAjMTI0NTE6IHB5ZG9jOiBodG1sX2dldGZpbGUoKSBub3cgdXNlcyB0b2tlbml6ZS5vcGVuKCkgdG8gc3VwcG9ydAotICBQeXRob24gbW9kdWxlcyB1c2luZyBhIGVuY29kaW5nIGRpZmZlcmVudCB0aGFuIFVURi04IChyZWFkaW5nIHRoZSBjb2RpbmcKLSAgY29va2llIG9mIHRoZSBtb2R1bGUpLgorICBQeXRob24gc2NyaXB0cyB1c2luZyBhIGVuY29kaW5nIGRpZmZlcmVudCB0aGFuIFVURi04IChyZWFkIHRoZSBjb2RpbmcgY29va2llCisgIG9mIHRoZSBzY3JpcHQpLgogCi0tIElzc3VlICMxMjQ1MTogcHlkb2M6IGltcG9ydGZpbGUoKSBub3cgb3BlbnMgdGhlIFB5dGhvbiBtb2R1bGUgaW4gYmluYXJ5IG1vZGUsCi0gIGluc3RlYWQgb2YgdGV4dCBtb2RlIHVzaW5nIHRoZSBsb2NhbGUgZW5jb2RpbmcsIHRvIGF2b2lkIGVuY29kaW5nIGlzc3Vlcy4KLQotLSBJc3N1ZSAjMTI0NTE6IHJ1bnB5OiBydW5fcGF0aCgpIG5vdyBvcGVucyB0aGUgUHl0aG9uIG1vZHVsZSBpbiBiaW5hcnkgbW9kZSwKLSAgaW5zdGVhZCBvZiB0ZXh0IG1vZGUgdXNpbmcgdGhlIGxvY2FsZSBlbmNvZGluZywgdG8gc3VwcG9ydCBvdGhlciBlbmNvZGluZ3MKLSAgdGhhbiBVVEYtOCAobW9kdWxlcyB1c2luZyB0aGUgY29kaW5nIGNvb2tpZSkuCi0KLS0gSXNzdWUgIzEyNDUxOiB4bWwuZG9tLnB1bGxkb206IHBhcnNlKCkgbm93IG9wZW5zIGZpbGVzIGluIGJpbmFyeSBtb2RlIGluc3RlYWQKLSAgb2YgdGhlIHRleHQgbW9kZSAodXNpbmcgdGhlIGxvY2FsZSBlbmNvZGluZykgdG8gYXZvaWQgZW5jb2RpbmcgaXNzdWVzLgotCi1FeHRlbnNpb24gTW9kdWxlcwotLS0tLS0tLS0tLS0tLS0tLS0KLQotLSBJc3N1ZSAjMTI3NjQ6IEZpeCBhIGNyYXNoIGluIGN0eXBlcyB3aGVuIHRoZSBuYW1lIG9mIGEgU3RydWN0dXJlIGZpZWxkIGlzIG5vdAotICBhIHN0cmluZy4KLQotLSBJc3N1ZSAjMTEyNDE6IHN1YmNsYXNzZXMgb2YgY3R5cGVzLkFycmF5IGNhbiBub3cgYmUgc3ViY2xhc3NlZC4KLQotLSBJc3N1ZSAjMTAzMDk6IERlZmluZSBfR05VX1NPVVJDRSBzbyB0aGF0IG1yZW1hcCgpIGdldHMgdGhlIHByb3BlcgotICBzaWduYXR1cmUuICBXaXRob3V0IHRoaXMsIGFyY2hpdGVjdHVyZXMgd2hlcmUgc2l6ZW9mIHZvaWQqICE9IHNpemVvZiBpbnQgYXJlCi0gIGJyb2tlbi4gIFBhdGNoIGdpdmVuIGJ5IEhhbGx2YXJkIEIgRnVydXNldGguCi0KLUMtQVBJCi0tLS0tLQotCi1CdWlsZAotLS0tLS0KLQotLSBJc3N1ZSAjMTI1NjA6IEJ1aWxkIGxpYnB5dGhvbi5zbyBvbiBPcGVuQlNELiAgUGF0Y2ggYnkgU3RlZmFuIFNwZXJsaW5nLgotCi0tIElzc3VlICMxMjU5MjogTWFrZSBQeXRob24gYnVpbGQgb24gT3BlbkJTRCA1IChhbmQgZnV0dXJlIG1ham9yIHJlbGVhc2VzKS4KLQotLSBJc3N1ZSAjMTIzNzI6IFBPU0lYIHNlbWFwaG9yZXMgYXJlIGJyb2tlbiBvbiBBSVg6IGRvbid0IHVzZSB0aGVtLgotCi1Ub29scy9EZW1vcwotLS0tLS0tLS0tLS0KLQotLSBJc3N1ZSAjMTA2Mzk6IHJlaW5kZW50LnB5IG5vIGxvbmdlciBjb252ZXJ0cyBuZXdsaW5lcyBhbmQgd2lsbCByYWlzZQotICBhbiBlcnJvciBpZiBhdHRlbXB0aW5nIHRvIGNvbnZlcnQgYSBmaWxlIHdpdGggbWl4ZWQgbmV3bGluZXMuCi0KLVRlc3RzCi0tLS0tLQotCi0tIElzc3VlICMxMjMzMTogVGhlIHRlc3Qgc3VpdGUgZm9yIGxpYjJ0bzMgY2FuIG5vdyBydW4gZnJvbSBhbiBpbnN0YWxsZWQKLSAgUHl0aG9uLgotCi0tIElzc3VlICMxMjYyNjogSW4gcmVncnRlc3QsIGFsbG93IHRvIGZpbHRlciB0ZXN0cyB1c2luZyBhIGdsb2IgZmlsdGVyCi0gIHdpdGggdGhlIGBgLW1gYCAob3IgYGAtLW1hdGNoYGApIG9wdGlvbi4gIFRoaXMgd29ya3Mgd2l0aCBhbGwgdGVzdCBjYXNlcwotICB1c2luZyB0aGUgdW5pdHRlc3QgbW9kdWxlLiAgVGhpcyBpcyB1c2VmdWwgd2l0aCBsb25nIHRlc3Qgc3VpdGVzCi0gIHN1Y2ggYXMgdGVzdF9pbyBvciB0ZXN0X3N1YnByb2Nlc3MuCi0KLS0gSXNzdWUgIzEyNjI0OiBJdCBpcyBub3cgcG9zc2libGUgdG8gZmFpbCBhZnRlciB0aGUgZmlyc3QgZmFpbHVyZSB3aGVuCi0gIHJ1bm5pbmcgaW4gdmVyYm9zZSBtb2RlIChgYC12YGAgb3IgYGAtV2BgKSwgYnkgdXNpbmcgdGhlIGBgLS1mYWlsZmFzdGBgCi0gIChvciBgYC1HYGApIG9wdGlvbiB0byByZWdydGVzdC4gIFRoaXMgaXMgdXNlZnVsIHdpdGggbG9uZyB0ZXN0IHN1aXRlcwotICBzdWNoIGFzIHRlc3RfaW8gb3IgdGVzdF9zdWJwcm9jZXNzLgotCi0tIElzc3VlICMxMjU4NzogQ29ycmVjdCBmYXVsdHkgdGVzdCBmaWxlIGFuZCByZWZlcmVuY2UgaW4gdGVzdF90b2tlbml6ZS4KLSAgKFBhdGNoIGJ5IFJvYmVydCBYaWFvKQotCi0tIFRyeSBoYXJkZXIgdG8gcmVhcCBkYW5nbGluZyB0aHJlYWRzIGluIHRlc3Quc3VwcG9ydC5yZWFwX3RocmVhZHMoKS4KLQotLSBJc3N1ZSAjMTI1NzM6IEFkZCByZXNvdXJjZSBjaGVja3MgZm9yIGRhbmdsaW5nIFRocmVhZCBhbmQgUHJvY2VzcyBvYmplY3RzLgotCi0tIElzc3VlICMxMjU0OTogQ29ycmVjdCB0ZXN0X3BsYXRmb3JtIHRvIG5vdCBmYWlsIHdoZW4gT1MgWCByZXR1cm5zICd4ODZfNjQnCi0gIGFzIHRoZSBwcm9jZXNzb3IgdHlwZSBvbiBzb21lIE1hYyBzeXN0ZW1zLgotCi0tIEF2b2lkIGZhaWxpbmcgaW4gdGVzdF9yb2JvdHBhcnNlciB3aGVuIG11ZWJsZXNtb3JhbGVkYS5jb20gaXMgZmxha3kgYW5kCi0gIGFuIG92ZXJ6ZWFsb3VzIEROUyBzZXJ2aWNlIChlLmcuIE9wZW5ETlMpIHJlZGlyZWN0cyB0byBhIHBsYWNlaG9sZGVyCi0gIFdlYiBzaXRlLgotCi0tIElzc3VlICMxMjQ0MDogV2hlbiB0ZXN0aW5nIHdoZXRoZXIgc29tZSBiaXRzIGluIFNTTENvbnRleHQub3B0aW9ucyBjYW4gYmUKLSAgcmVzZXQsIGNoZWNrIHRoZSB2ZXJzaW9uIG9mIHRoZSBPcGVuU1NMIGhlYWRlcnMgUHl0aG9uIHdhcyBjb21waWxlZCBhZ2FpbnN0LAotICByYXRoZXIgdGhhbiB0aGUgcnVudGltZSB2ZXJzaW9uIG9mIHRoZSBPcGVuU1NMIGxpYnJhcnkuCi0KLS0gSXNzdWUgIzEyNDk3OiBJbnN0YWxsIHRlc3QvZGF0YSB0byBwcmV2ZW50IGZhaWx1cmVzIG9mIHRoZSB2YXJpb3VzIGNvZGVjbWFwcwotICB0ZXN0cy4KLQotLSBJc3N1ZSAjMTI0OTY6IEluc3RhbGwgdGVzdC9jYXBhdGggZGlyZWN0b3J5IHRvIHByZXZlbnQgdGVzdF9jb25uZWN0X2NhcGF0aAotICB0ZXN0Y2FzZSBmYWlsdXJlIGluIHRlc3Rfc3NsLgotCi0tIElzc3VlICMxMjQ2OTogUnVuICJ3YWtldXAiIHNpZ25hbCB0ZXN0cyBpbiBzdWJwcm9jZXNzIHRvIHJ1biB0aGUgdGVzdCBpbiBhCi0gIGZyZXNoIHByb2Nlc3Mgd2l0aCBvbmx5IG9uZSB0aHJlYWQgYW5kIHRvIG5vdCBjaGFuZ2Ugc2lnbmFsIGhhbmRsaW5nIG9mIHRoZQotICBwYXJlbnQgcHJvY2Vzcy4KLQotLSBJc3N1ZSAjODcxNjogQXZvaWQgY3Jhc2hlcyBjYXVzZWQgYnkgQXF1YSBUayBvbiBPU1ggd2hlbiBhdHRlbXB0aW5nIHRvIHJ1bgotICB0ZXN0X3RrIG9yIHRlc3RfdHRrX2d1aW9ubHkgdW5kZXIgYSB1c2VybmFtZSB0aGF0IGlzIG5vdCBjdXJyZW50bHkgbG9nZ2VkCi0gIGluIHRvIHRoZSBjb25zb2xlIHdpbmRvd3NlcnZlciAoYXMgbWF5IGJlIHRoZSBjYXNlIHVuZGVyIGJ1aWxkYm90IG9yIHNzaCkuCi0KLQotV2hhdCdzIE5ldyBpbiBQeXRob24gMy4yLjE/Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLQotKlJlbGVhc2UgZGF0ZTogMTAtSnVsLTIwMTEqCi0KLUxpYnJhcnkKLS0tLS0tLS0KKy0gSXNzdWUgIzEyNDkzOiBzdWJwcm9jZXNzOiBQb3Blbi5jb21tdW5pY2F0ZSgpIG5vdyBhbHNvIGhhbmRsZXMgRUlOVFIgZXJyb3JzCisgIGlmIHRoZSBwcm9jZXNzIGhhcyBvbmx5IG9uZSBwaXBlLgogCiAtIElzc3VlICMxMjQ2Nzogd2FybmluZ3M6IGZpeCBhIHJhY2UgY29uZGl0aW9uIGlmIGEgd2FybmluZyBpcyBlbWl0dGVkIGF0CiAgIHNodXRkb3duLCBpZiBnbG9iYWxzKClbJ19fZmlsZV9fJ10gaXMgTm9uZS4KIAotVGVzdHMKLS0tLS0tCistIElzc3VlICMxMjQ1MTogcHlkb2M6IGltcG9ydGZpbGUoKSBub3cgb3BlbnMgdGhlIFB5dGhvbiBzY3JpcHQgaW4gYmluYXJ5IG1vZGUsCisgIGluc3RlYWQgb2YgdGV4dCBtb2RlIHVzaW5nIHRoZSBsb2NhbGUgZW5jb2RpbmcsIHRvIGF2b2lkIGVuY29kaW5nIGlzc3Vlcy4KIAotLSBTa2lwIG5ldHdvcmsgdGVzdHMgd2hlbiBnZXRhZGRyaW5mbygpIHJldHVybnMgRUFJX0FHQUlOLCBtZWFuaW5nIGEgdGVtcG9yYXJ5Ci0gIGZhaWx1cmUgaW4gbmFtZSByZXNvbHV0aW9uLgorLSBJc3N1ZSAjMTI0NTE6IHJ1bnB5OiBydW5fcGF0aCgpIG5vdyBvcGVucyB0aGUgUHl0aG9uIHNjcmlwdCBpbiBiaW5hcnkgbW9kZSwKKyAgaW5zdGVhZCBvZiB0ZXh0IG1vZGUgdXNpbmcgdGhlIGxvY2FsZSBlbmNvZGluZywgdG8gc3VwcG9ydCBvdGhlciBlbmNvZGluZ3MKKyAgdGhhbiBVVEYtOCAoc2NyaXB0cyB1c2luZyB0aGUgY29kaW5nIGNvb2tpZSkuCiAKLS0gSXNzdWUgIzExODEyOiBTb2x2ZSB0cmFuc2llbnQgc29ja2V0IGZhaWx1cmUgdG8gY29ubmVjdCB0byAnbG9jYWxob3N0JwotICBpbiB0ZXN0X3RlbG5ldGxpYi5weS4KLQotLSBTb2x2ZWQgYSBwb3RlbnRpYWwgZGVhZGxvY2sgaW4gdGVzdF90ZWxuZXRsaWIucHkuIFJlbGF0ZWQgdG8gaXNzdWUgIzExODEyLgotCi0tIEF2b2lkIGZhaWxpbmcgaW4gdGVzdF91cmxsaWJuZXQudGVzdF9iYWRfYWRkcmVzcyB3aGVuIHNvbWUgb3ZlcnplYWxvdXMKLSAgRE5TIHNlcnZpY2UgKGUuZy4gT3BlbkROUykgcmVzb2x2ZXMgYSBub24tZXhpc3RlbnQgZG9tYWluIG5hbWUuICBUaGUgdGVzdAotICBpcyBub3cgc2tpcHBlZCBpbnN0ZWFkLgotCi0KLVdoYXQncyBOZXcgaW4gUHl0aG9uIDMuMi4xIHJlbGVhc2UgY2FuZGlkYXRlIDI/Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotCi0qUmVsZWFzZSBkYXRlOiAwMy1KdWwtMjAxMSoKLQotQ29yZSBhbmQgQnVpbHRpbnMKLS0tLS0tLS0tLS0tLS0tLS0tCi0KLS0gSXNzdWUgIzEyMjkxOiBZb3UgY2FuIG5vdyBsb2FkIG11bHRpcGxlIG1hcnNoYWxsZWQgb2JqZWN0cyBmcm9tIGEgc3RyZWFtLCB3aXRoCi0gIG90aGVyIGRhdGEgaW50ZXJsZWF2ZWQgYmV0d2VlbiBtYXJzaGFsbGVkIG9iamVjdHMuCi0KLS0gSXNzdWUgIzEyMDg0OiBvcy5zdGF0IG9uIFdpbmRvd3Mgbm93IHdvcmtzIHByb3Blcmx5IHdpdGggcmVsYXRpdmUgc3ltYm9saWMKLSAgbGlua3Mgd2hlbiBjYWxsZWQgZnJvbSBhbnkgZGlyZWN0b3J5LgotCi0tIElzc3VlICMxMTk1OiBteV9mZ2V0cygpIG5vdyBhbHdheXMgY2xlYXJzIGVycm9ycyBiZWZvcmUgY2FsbGluZyBmZ2V0cygpLiBGaXgKLSAgdGhlIGZvbGxvd2luZyBjYXNlOiBzeXMuc3RkaW4ucmVhZCgpIHN0b3BwZWQgd2l0aCBDVFJMK2QgKGVuZCBvZiBmaWxlKSwKLSAgcmF3X2lucHV0KCkgaW50ZXJydXB0ZWQgYnkgQ1RSTCtjLgotCi0tIElzc3VlICM5NjcwOiBJbmNyZWFzZSB0aGUgZGVmYXVsdCBzdGFjayBzaXplIGZvciBzZWNvbmRhcnkgdGhyZWFkcyBvbiBNYWMgT1MgWAotICBhbmQgRnJlZUJTRCB0byByZWR1Y2UgdGhlIGNoYW5jZXMgb2YgYSBjcmFzaCBpbnN0ZWFkIG9mIGEgIm1heGltdW0gcmVjdXJzaW9uCi0gIGRlcHRoIiBSdW50aW1lRXJyb3IgZXhjZXB0aW9uIChwYXRjaCBieSBSb25hbGQgT3Vzc29yZW4pLgotCi1MaWJyYXJ5Ci0tLS0tLS0tCistIElzc3VlICMxMjQ1MTogeG1sLmRvbS5wdWxsZG9tOiBwYXJzZSgpIG5vdyBvcGVucyBmaWxlcyBpbiBiaW5hcnkgbW9kZSBpbnN0ZWFkCisgIG9mIHRoZSB0ZXh0IG1vZGUgKHVzaW5nIHRoZSBsb2NhbGUgZW5jb2RpbmcpIHRvIGF2b2lkIGVuY29kaW5nIGlzc3Vlcy4KIAogLSBJc3N1ZSAjMTIxNDc6IEFkanVzdCB0aGUgbmV3LWluLTMuMiBzbXRwbGliLnNlbmRfbWVzc2FnZSBtZXRob2QgZm9yIGJldHRlcgotICBjb25mb3JtYW5jZSB0byB0aGUgUkZDczogY29ycmVjdGx5IGhhbmRsZSBTZW5kZXIgYW5kIFJlc2VudCBoZWFkZXJzLgorICBjb25mb3JtYW5jZSB0byB0aGUgUkZDczogIGNvcnJlY3RseSBoYW5kbGUgU2VuZGVyIGFuZCBSZXNlbnQtIGhlYWRlcnMuCiAKIC0gSXNzdWUgIzEyMzUyOiBGaXggYSBkZWFkbG9jayBpbiBtdWx0aXByb2Nlc3NpbmcuSGVhcCB3aGVuIGEgYmxvY2sgaXMgZnJlZWQgYnkKICAgdGhlIGdhcmJhZ2UgY29sbGVjdG9yIHdoaWxlIHRoZSBIZWFwIGxvY2sgaXMgaGVsZC4KIAorLSBJc3N1ZSAjMTI0NjI6IHRpbWUuc2xlZXAoKSBub3cgY2FsbHMgaW1tZWRpYXRseSB0aGUgKFB5dGhvbikgc2lnbmFsIGhhbmRsZXIKKyAgaWYgaXQgaXMgaW50ZXJydXB0ZWQgYnkgYSBzaWduYWwsIGluc3RlYWQgb2YgaGF2aW5nIHRvIHdhaXQgdW50aWwgdGhlIG5leHQKKyAgaW5zdHJ1Y3Rpb24uCisKKy0gSXNzdWUgIzEyNDQyOiBuZXcgc2h1dGlsLmRpc2tfdXNhZ2UgZnVuY3Rpb24sIHByb3ZpZGluZyB0b3RhbCwgdXNlZCBhbmQgZnJlZQorICBkaXNrIHNwYWNlIHN0YXRpc3RpY3MuCisKIC0gSXNzdWUgIzEyNDUxOiBUaGUgWEluY2x1ZGUgZGVmYXVsdCBsb2FkZXIgb2YgeG1sLmV0cmVlIG5vdyBkZWNvZGVzIGZpbGVzIGZyb20KICAgVVRGLTggaW5zdGVhZCBvZiB0aGUgbG9jYWxlIGVuY29kaW5nIGlmIHRoZSBlbmNvZGluZyBpcyBub3Qgc3BlY2lmaWVkLiBJdCBub3cKLSAgYWxzbyBvcGVucyBYTUwgZmlsZXMgZm9yIHRoZSBwYXJzZXIgaW4gYmluYXJ5IG1vZGUgaW5zdGVhZCBvZiB0aGUgdGV4dCBtb2RlIHRvCi0gIGF2b2lkIGVuY29kaW5nIGlzc3Vlcy4KLQotLSBJc3N1ZSAjMTI0NTE6IGRvY3Rlc3QuZGVidWdfc2NyaXB0KCkgZG9lc24ndCBjcmVhdGUgYSB0ZW1wb3JhcnkgZmlsZSBhbnltb3JlCisgIGFsc28gb3BlbnMgWE1MIGZpbGVzIGZvciB0aGUgcGFyc2VyIGluIGJpbmFyeSBtb2RlIGluc3RlYWQgb2YgdGhlIHRleHQgbW9kZQogICB0byBhdm9pZCBlbmNvZGluZyBpc3N1ZXMuCiAKLS0gSXNzdWUgIzEyNDUxOiBweWRvYy5zeW5vcHNpcygpIG5vdyByZWFkcyB0aGUgZW5jb2RpbmcgY29va2llIGlmIGF2YWlsYWJsZSwgdG8KLSAgcmVhZCB0aGUgUHl0aG9uIG1vZHVsZSBmcm9tIHRoZSByaWdodCBlbmNvZGluZy4KKy0gSXNzdWUgIzEyNDUxOiBkb2N0ZXN0LmRlYnVnX3NjcmlwdCgpIGRvZXNuJ3QgY3JlYXRlIGEgdGVtcG9yYXJ5IGZpbGUKKyAgYW55bW9yZSB0byBhdm9pZCBlbmNvZGluZyBpc3N1ZXMuCisKKy0gSXNzdWUgIzEyNDUxOiBweWRvYy5zeW5vcHNpcygpIG5vdyByZWFkcyB0aGUgZW5jb2RpbmcgY29va2llIGlmIGF2YWlsYWJsZSwKKyAgdG8gcmVhZCB0aGUgUHl0aG9uIHNjcmlwdCBmcm9tIHRoZSByaWdodCBlbmNvZGluZy4KIAogLSBJc3N1ZSAjMTI0NTE6IGRpc3R1dGlscyBub3cgb3BlbnMgdGhlIHNldHVwIHNjcmlwdCBpbiBiaW5hcnkgbW9kZSB0byByZWFkIHRoZQogICBlbmNvZGluZyBjb29raWUsIGluc3RlYWQgb2Ygb3BlbmluZyBpdCBpbiBVVEYtOC4KQEAgLTk5MiwxNCArMTQ5MSwzMiBAQAogICBzdGlsbCBwb3NzaWJsZSB0byBnbG9iYWxseSBvdmVycmlkZSB0aGUgZGVmYXVsdCBieSBzZXR0aW5nCiAgIE1BQ09TWF9ERVBMT1lNRU5UX1RBUkdFVCBiZWZvcmUgbGF1bmNoaW5nIHRoZSBpbnRlcnByZXRlcjsgaXRzIHZhbHVlIG11c3QgYmUKICAgZ3JlYXRlciBvciBlcXVhbCB0byB0aGUgZGVmYXVsdCB2YWx1ZSwgdGhlIHZhbHVlIHdpdGggd2hpY2ggdGhlIGludGVycHJldGVyCi0gIHdhcyBidWlsdC4KKyAgd2FzIGJ1aWx0LiAgQWxzbywgaW1wbGVtZW50IHRoZSBzYW1lIGhhbmRsaW5nIGluIHBhY2thZ2luZy4KKworLSBJc3N1ZSAjMTI0MjI6IEluIHRoZSBjb3B5IG1vZHVsZSwgZG9uJ3Qgc3RvcmUgb2JqZWN0cyB0aGF0IGFyZSB0aGVpciBvd24gY29weQorICBpbiB0aGUgbWVtbyBkaWN0LgorCistIElzc3VlICMxMjMwMzogQWRkIHNpZ3dhaXRpbmZvKCkgYW5kIHNpZ3RpbWVkd2FpdCgpIHRvIHRoZSBzaWduYWwgbW9kdWxlLgorCistIElzc3VlICMxMjQwNDogUmVtb3ZlIEM4OSBpbmNvbXBhdGlibGUgY29kZSBmcm9tIG1tYXAgbW9kdWxlLiBQYXRjaCBieSBBa2lyYQorICBLaXRhZGEuCisKKy0gSXNzdWUgIzE4NzQ6IGVtYWlsIG5vdyBkZXRlY3RzIGFuZCByZXBvcnRzIGFzIGEgZGVmZWN0IHRoZSBwcmVzZW5jZSBvZgorICBhbnkgQ1RFIG90aGVyIHRoYW4gN2JpdCwgOGJpdCwgb3IgYmluYXJ5IG9uIGEgbXVsdGlwYXJ0LgogCiAtIElzc3VlICMxMjM4MzogRml4IHN1YnByb2Nlc3MgbW9kdWxlIHdpdGggZW52PXt9OiBkb24ndCBjb3B5IHRoZSBlbnZpcm9ubWVudAogICB2YXJpYWJsZXMsIHN0YXJ0IHdpdGggYW4gZW1wdHkgZW52aXJvbm1lbnQuCiAKLS0gSXNzdWUgIzExNTg0OiBlbWFpbC5oZWFkZXIuZGVjb2RlX2hlYWRlciBubyBsb25nZXIgZmFpbHMgaWYgdGhlIGhlYWRlciBwYXNzZWQKLSAgdG8gaXQgaXMgYSBIZWFkZXIgb2JqZWN0LCBhbmQgSGVhZGVyL21ha2VfaGVhZGVyIG5vIGxvbmdlciBmYWlsIGlmIGdpdmVuCi0gIGJpbmFyeSB1bmtub3duLThiaXQgaW5wdXQuCistIElzc3VlICMxMTYzNzogRml4IHN1cHBvcnQgZm9yIGltcG9ydGluZyBwYWNrYWdpbmcgc2V0dXAgaG9va3MgZnJvbSB0aGUKKyAgcHJvamVjdCBkaXJlY3RvcnkuCisKKy0gSXNzdWUgIzY3NzE6IE1vdmVkIHRoZSBjdXJzZXMud3JhcHBlciBmdW5jdGlvbiBmcm9tIHRoZSBzaW5nbGUtZnVuY3Rpb24KKyAgd3JhcHBlciBtb2R1bGUgaW50byBfX2luaXRfXywgZWxpbWluYXRpbmcgdGhlIG1vZHVsZS4gIFNpbmNlIF9faW5pdF9fIHdhcworICBhbHJlYWR5IGltcG9ydGluZyB0aGUgZnVuY3Rpb24gdG8gY3Vyc2VzLndyYXBwZXIsIHRoZXJlIGlzIG5vIEFQSSBjaGFuZ2UuCisKKy0gSXNzdWUgIzExNTg0OiBlbWFpbC5oZWFkZXIuZGVjb2RlX2hlYWRlciBubyBsb25nZXIgZmFpbHMgaWYgdGhlIGhlYWRlcgorICBwYXNzZWQgdG8gaXQgaXMgYSBIZWFkZXIgb2JqZWN0LCBhbmQgSGVhZGVyL21ha2VfaGVhZGVyIG5vIGxvbmdlciBmYWlsCisgIGlmIGdpdmVuIGJpbmFyeSB1bmtub3duLThiaXQgaW5wdXQuCiAKIC0gSXNzdWUgIzExNzAwOiBtYWlsYm94IHByb3h5IG9iamVjdCBjbG9zZSBtZXRob2RzIGNhbiBub3cgYmUgY2FsbGVkIG11bHRpcGxlCiAgIHRpbWVzIHdpdGhvdXQgZXJyb3IuCkBAIC0xMDEwLDM1ICsxNTI3LDEwNSBAQAogICBjb25uZWN0aW9uIGlmIGl0cyBnZXRyZXNwb25zZSgpIG1ldGhvZCBmYWlscyB3aXRoIGEgc29ja2V0IGVycm9yLiBQYXRjaAogICB3cml0dGVuIGJ5IEV6aW8gTWVsb3R0aS4KIAorLSBJc3N1ZSAjMTIyNDA6IEFsbG93IG11bHRpcGxlIHNldHVwIGhvb2tzIGluIHBhY2thZ2luZydzIHNldHVwLmNmZyBmaWxlcy4KKyAgT3JpZ2luYWwgcGF0Y2ggYnkgRXJpayBCcmF5LgorCiAtIElzc3VlICM5Mjg0OiBBbGxvdyBpbnNwZWN0LmZpbmRzb3VyY2UoKSB0byBmaW5kIHRoZSBzb3VyY2Ugb2YgZG9jdGVzdAogICBmdW5jdGlvbnMuCiAKKy0gSXNzdWUgIzExNTk1OiBGaXggYXNzb3J0ZWQgYnVncyBpbiBwYWNrYWdpbmcudXRpbC5jZmdfdG9fYXJncywgYQorICBjb21wYXRpYmlsaXR5IGhlbHBlciBmb3IgdGhlIGRpc3R1dGlscy1wYWNrYWdpbmcgdHJhbnNpdGlvbi4gIE9yaWdpbmFsIHBhdGNoCisgIGJ5IEVyaWsgQnJheS4KKworLSBJc3N1ZSAjMTIyODc6IEluIG9zc2F1ZGlvZGV2LCBjaGVjayB0aGF0IHRoZSBkZXZpY2UgaXNuJ3QgY2xvc2VkIGluIHNldmVyYWwKKyAgbWV0aG9kcy4KKwogLSBJc3N1ZSAjMTIwMDk6IEZpeGVkIHJlZ3Jlc3Npb24gaW4gbmV0cmMgZmlsZSBjb21tZW50IGhhbmRsaW5nLgogCistIElzc3VlICMxMjI0NjogV2FybiBhbmQgZmFpbCB3aGVuIHRyeWluZyB0byBpbnN0YWxsIGEgdGhpcmQtcGFydHkgcHJvamVjdCBmcm9tCisgIGFuIHVuaW5zdGFsbGVkIFB5dGhvbiAoYnVpbHQgaW4gYSBzb3VyY2UgY2hlY2tvdXQpLiAgT3JpZ2luYWwgcGF0Y2ggYnkKKyAgVHNoZXBhbmcgTGVraG9ua2hvYmUuCisKIC0gSXNzdWUgIzEwNjk0OiB6aXBmaWxlIG5vdyBpZ25vcmVzIGdhcmJhZ2UgYXQgdGhlIGVuZCBvZiBhIHppcGZpbGUuCiAKIC0gSXNzdWUgIzEyMjgzOiBGaXhlZCByZWdyZXNzaW9uIGluIHNtdHBsaWIgcXVvdGluZyBvZiBsZWFkaW5nIGRvdHMgaW4gREFUQS4KIAorLSBJc3N1ZSAjMTA0MjQ6IEFyZ3BhcnNlIG5vdyBpbmNsdWRlcyB0aGUgbmFtZXMgb2YgdGhlIG1pc3NpbmcgcmVxdWlyZWQKKyAgYXJndW1lbnRzIGluIHRoZSBtaXNzaW5nIGFyZ3VtZW50cyBlcnJvciBtZXNzYWdlLgorCiAtIElzc3VlICMxMjE2ODogU3lzTG9nSGFuZGxlciBub3cgYWxsb3dzIE5VTCB0ZXJtaW5hdGlvbiB0byBiZSBjb250cm9sbGVkIHVzaW5nCiAgIGEgbmV3ICdhcHBlbmRfbnVsJyBhdHRyaWJ1dGUgb24gdGhlIGhhbmRsZXIuCiAKIC0gSXNzdWUgIzExNTgzOiBTcGVlZCB1cCBvcy5wYXRoLmlzZGlyIG9uIFdpbmRvd3MgYnkgdXNpbmcgR2V0RmlsZUF0dHJpYnV0ZXMKICAgaW5zdGVhZCBvZiBvcy5zdGF0LgogCistIElzc3VlICMxMjAyMTogTWFrZSBtbWFwJ3MgcmVhZCgpIG1ldGhvZCBhcmd1bWVudCBvcHRpb25hbC4gUGF0Y2ggYnkgUGV0cmkKKyAgTGVodGluZW4uCisKKy0gSXNzdWUgIzkyMDU6IGNvbmN1cnJlbnQuZnV0dXJlcy5Qcm9jZXNzUG9vbEV4ZWN1dG9yIG5vdyBkZXRlY3RzIGtpbGxlZAorICBjaGlsZHJlbiBhbmQgcmFpc2VzIEJyb2tlblByb2Nlc3NQb29sIGluIHN1Y2ggYSBzaXR1YXRpb24uICBQcmV2aW91c2x5IGl0CisgIHdvdWxkIHJlbGlhYmx5IGZyZWV6ZS9kZWFkbG9jay4KKworLSBJc3N1ZSAjMTIwNDA6IEV4cG9zZSBhIG5ldyBhdHRyaWJ1dGUgYGBzZW50aW5lbGBgIG9uIGluc3RhbmNlcyBvZgorICA6Y2xhc3M6YG11bHRpcHJvY2Vzc2luZy5Qcm9jZXNzYC4gIEFsc28sIGZpeCBQcm9jZXNzLmpvaW4oKSB0byBub3QgdXNlCisgIHBvbGxpbmcgYW55bW9yZSwgd2hlbiBnaXZlbiBhIHRpbWVvdXQuCisKKy0gSXNzdWUgIzExODkzOiBSZW1vdmUgb2Jzb2xldGUgaW50ZXJuYWwgd3JhcHBlciBjbGFzcyBgYFNTTEZha2VGaWxlYGAgaW4gdGhlCisgIHNtdHBsaWIgbW9kdWxlLiAgUGF0Y2ggYnkgQ2F0YWxpbiBJYWNvYi4KKworLSBJc3N1ZSAjMTIwODA6IEZpeCBhIERlY2ltYWwucG93ZXIoKSBjYXNlIHRoYXQgdG9vayBhbiB1bnJlYXNvbmFibHkgbG9uZyB0aW1lCisgIHRvIGNvbXB1dGUuCisKKy0gSXNzdWUgIzEyMjIxOiBSZW1vdmUgX192ZXJzaW9uX18gYXR0cmlidXRlcyBmcm9tIHB5ZXhwYXQsIHBpY2tsZSwgdGFyZmlsZSwKKyAgcHlkb2MsIHRraW50ZXIsIGFuZCB4bWwucGFyc2Vycy5leHBhdC4gVGhpcyB3ZXJlIHVzZWxlc3MgdmVyc2lvbiBjb25zdGFudHMKKyAgbGVmdCBvdmVyIGZyb20gdGhlIE1lcmN1cmlhbCB0cmFuc2l0aW9uCisKIC0gTmFtZWQgdHVwbGVzIG5vdyB3b3JrIGNvcnJlY3RseSB3aXRoIHZhcnMoKS4KIAogLSBJc3N1ZSAjMTIwODU6IEZpeCBhbiBhdHRyaWJ1dGUgZXJyb3IgaW4gc3VicHJvY2Vzcy5Qb3BlbiBkZXN0cnVjdG9yIGlmIHRoZQogICBjb25zdHJ1Y3RvciBoYXMgZmFpbGVkLCBlLmcuIGJlY2F1c2Ugb2YgYW4gdW5kZWNsYXJlZCBrZXl3b3JkIGFyZ3VtZW50LiBQYXRjaAogICB3cml0dGVuIGJ5IE9sZWcgT3NobXlhbi4KIAotLSBJc3N1ZSAjOTg1MDY0OiBNYWtlIHBsaXN0bGliIG1vcmUgcmVzaWxpZW50IHRvIGZhdWx0eSBpbnB1dCBwbGlzdHMuICBQYXRjaCBieQotICBNaGVyIE1vdnNpc3lhbi4KKy0gSXNzdWUgIzEyMDI4OiBNYWtlIHRocmVhZGluZy5fZ2V0X2lkZW50KCkgcHVibGljLCByZW5hbWUgaXQgdG8KKyAgdGhyZWFkaW5nLmdldF9pZGVudCgpIGFuZCBkb2N1bWVudCBpdC4gVGhpcyBmdW5jdGlvbiB3YXMgYWxyZWFkeSB1c2VkIHVzaW5nCisgIF90aHJlYWQuZ2V0X2lkZW50KCkuCisKKy0gSXNzdWUgIzEyMTcxOiBJbmNyZW1lbnRhbEVuY29kZXIucmVzZXQoKSBvZiBDSksgY29kZWNzIChtdWx0aWJ5dGVjb2RlYykgY2FsbHMKKyAgZW5jcmVzZXQoKSBpbnN0ZWFkIG9mIGRlY3Jlc2V0KCkuCisKKy0gSXNzdWUgIzEyMjE4OiBSZW1vdmVkIHdzZ2lyZWYuZWdnLWluZm8uCisKKy0gSXNzdWUgIzEyMTk2OiBBZGQgcGlwZTIoKSB0byB0aGUgb3MgbW9kdWxlLgorCistIElzc3VlICM5ODUwNjQ6IE1ha2UgcGxpc3RsaWIgbW9yZSByZXNpbGllbnQgdG8gZmF1bHR5IGlucHV0IHBsaXN0cy4KKyAgUGF0Y2ggYnkgTWhlciBNb3ZzaXN5YW4uCisKKy0gSXNzdWUgIzE2MjU6IEJaMkZpbGUgYW5kIGJ6Mi5kZWNvbXByZXNzKCkgbm93IHN1cHBvcnQgbXVsdGktc3RyZWFtIGZpbGVzLgorICBJbml0aWFsIHBhdGNoIGJ5IE5pciBBaWRlcy4KKworLSBJc3N1ZSAjMTIxNzU6IEJ1ZmZlcmVkUmVhZGVyLnJlYWQoLTEpIG5vdyBjYWxscyByYXcucmVhZGFsbCgpIGlmIGF2YWlsYWJsZS4KKworLSBJc3N1ZSAjMTIxNzU6IEZpbGVJTy5yZWFkYWxsKCkgbm93IG9ubHkgcmVhZHMgdGhlIGZpbGUgcG9zaXRpb24gYW5kIHNpemUKKyAgb25jZS4KIAogLSBJc3N1ZSAjMTIxNzU6IFJhd0lPQmFzZS5yZWFkYWxsKCkgbm93IHJldHVybnMgTm9uZSBpZiByZWFkKCkgcmV0dXJucyBOb25lLgogCiAtIElzc3VlICMxMjE3NTogRmlsZUlPLnJlYWRhbGwoKSBub3cgcmFpc2VzIGEgVmFsdWVFcnJvciBpbnN0ZWFkIG9mIGFuIElPRXJyb3IKICAgaWYgdGhlIGZpbGUgaXMgY2xvc2VkLgogCistIElzc3VlICMxMTEwOTogTmV3IHNlcnZpY2VfYWN0aW9uIG1ldGhvZCBmb3IgQmFzZVNlcnZlciwgdXNlZCBieSBGb3JraW5nTWl4aW4KKyAgY2xhc3MgZm9yIGNsZWFudXAuIEluaXRpYWwgUGF0Y2ggYnkgSnVzdGluIFdhcmsuCisKKy0gSXNzdWUgIzEyMDQ1OiBBdm9pZCBkdXBsaWNhdGUgZXhlY3V0aW9uIG9mIGNvbW1hbmQgaW4KKyAgY3R5cGVzLnV0aWwuX2dldF9zb25hbWUoKS4gIFBhdGNoIGJ5IFNpamluIEpvc2VwaC4KKworLSBJc3N1ZSAjMTA4MTg6IFJlbW92ZSB0aGUgVGsgR1VJIGFuZCB0aGUgc2VydmUoKSBmdW5jdGlvbiBvZiB0aGUgcHlkb2MgbW9kdWxlLAorICBweWRvYyAtZyBoYXMgYmVlbiBkZXByZWNhdGVkIGluIFB5dGhvbiAzLjIgYW5kIGl0IGhhcyBhIG5ldyBlbmhhbmNlZCB3ZWIKKyAgc2VydmVyLgorCistIElzc3VlICMxNDQxNTMwOiBJbiBpbWFwbGliLCByZWFkIHRoZSBkYXRhIGluIG9uZSBjaHVuayB0byBzcGVlZCB1cCBsYXJnZQorICByZWFkcyBhbmQgc2ltcGxpZnkgY29kZS4KKwogLSBJc3N1ZSAjMTIwNzA6IEZpeCB0aGUgTWFrZWZpbGUgcGFyc2VyIG9mIHRoZSBzeXNjb25maWcgbW9kdWxlIHRvIGhhbmRsZQogICBjb3JyZWN0bHkgcmVmZXJlbmNlcyB0byAiYm9ndXMgdmFyaWFibGUiIChlLmcuICJwcmVmaXg9JC9vcHQvcHl0aG9uIikuCiAKQEAgLTEwNDYsODEgKzE2MzMsMzAgQEAKICAgdGhlaXIgZW5jb2RlKCkgbWV0aG9kIGFueW1vcmUsIGJ1dCBjb250aW51ZSB0byBjYWxsIHRoZSByZXNldCgpIG1ldGhvZCBpZiB0aGUKICAgZmluYWwgYXJndW1lbnQgaXMgVHJ1ZS4KIAotLSBJc3N1ZSAjNTcxNTogSW4gc29ja2V0c2VydmVyLCBjbG9zZSB0aGUgc2VydmVyIHNvY2tldCBpbiB0aGUgY2hpbGQgcHJvY2Vzcy4KKy0gSXNzdWUgIzEyMDQ5OiBBZGQgUkFORF9ieXRlcygpIGFuZCBSQU5EX3BzZXVkb19ieXRlcygpIGZ1bmN0aW9ucyB0byB0aGUgc3NsCisgIG1vZHVsZS4KIAotLSBDb3JyZWN0IGxvb2t1cCBvZiBfX2Rpcl9fIG9uIG9iamVjdHMuIEFtb25nIG90aGVyIHRoaW5ncywgdGhpcyBjYXVzZXMgZXJyb3JzCi0gIGJlc2lkZXMgQXR0cmlidXRlRXJyb3IgZm91bmQgb24gbG9va3VwIHRvIGJlIHByb3BhZ2F0ZWQuCistIElzc3VlICM2NTAxOiBvcy5kZXZpY2VfZW5jb2RpbmcoKSByZXR1cm5zIE5vbmUgb24gV2luZG93cyBpZiB0aGUgYXBwbGljYXRpb24KKyAgaGFzIG5vIGNvbnNvbGUuCisKKy0gSXNzdWUgIzEyMTA1OiBBZGQgT19DTE9FWEVDIHRvIHRoZSBvcyBtb2R1bGUuCisKKy0gSXNzdWUgIzEyMDc5OiBEZWNpbWFsKCdJbmZpbml0eScpLmZtYShEZWNpbWFsKCcwJyksICgzLjkxMjI0MzE4MTI2Nzg2ZSsxOSswaikpCisgIG5vdyByYWlzZXMgVHlwZUVycm9yIChyZWZsZWN0aW5nIHRoZSBpbnZhbGlkIHR5cGUgb2YgdGhlIDNyZCBhcmd1bWVudCkgcmF0aGVyCisgIHRoYW4gRGVjaW1hbC5JbnZhbGlkT3BlcmF0aW9uLgogCiAtIElzc3VlICMxMjEyNDogemlwaW1wb3J0IGRvZXNuJ3Qga2VlcCBhIHJlZmVyZW5jZSB0byB6bGliLmRlY29tcHJlc3MoKSBhbnltb3JlCiAgIHRvIGJlIGFibGUgdG8gdW5sb2FkIHRoZSBtb2R1bGUuCiAKKy0gQWRkIHRoZSBwYWNrYWdpbmcgbW9kdWxlLCBhbiBpbXByb3ZlZCBmb3JrIG9mIGRpc3R1dGlscyAoYWxzbyBrbm93biBhcworICBkaXN0dXRpbHMyKS4KKwogLSBJc3N1ZSAjMTIwNjU6IGNvbm5lY3RfZXgoKSBvbiBhbiBTU0wgc29ja2V0IG5vdyByZXR1cm5zIHRoZSBvcmlnaW5hbCBlcnJubwogICB3aGVuIHRoZSBzb2NrZXQncyB0aW1lb3V0IGV4cGlyZXMgKGl0IHVzZWQgdG8gcmV0dXJuIE5vbmUpLgogCi1FeHRlbnNpb24gTW9kdWxlcwotLS0tLS0tLS0tLS0tLS0tLS0KLQotLSBJc3N1ZSAjMTI0MDQ6IFJlbW92ZSBDODkgaW5jb21wYXRpYmxlIGNvZGUgZnJvbSBtbWFwIG1vZHVsZS4gUGF0Y2ggYnkgQWtpcmEKLSAgS2l0YWRhLgotCi0tIElzc3VlICMxMjIyMTogUmVwbGFjZSBweWV4cGF0Ll9fdmVyc2lvbl9fIHdpdGggdGhlIFB5dGhvbiB2ZXJzaW9uLgotCi1CdWlsZAotLS0tLS0KLQotLSBJc3N1ZSAjODc0NjogQ29ycmVjdCBmYXVsdHkgY29uZmlndXJlIGNoZWNrcyBzbyB0aGF0IG9zLmNoZmxhZ3MoKSBhbmQKLSAgb3MubGNoZmxhZ3MoKSBhcmUgb25jZSBhZ2FpbiBidWlsdCBvbiBzeXN0ZW1zIHRoYXQgc3VwcG9ydCB0aGVzZSBmdW5jdGlvbnMKLSAgKCpCU0QgYW5kIE9TIFgpLiAgQWxzbyBhZGQgbmV3IHN0YXQgZmlsZSBmbGFncyBmb3IgT1MgWCAoVUZfSElEREVOIGFuZAotICBVRl9DT01QUkVTU0VEKS4KLQotLSBJc3N1ZSAjMTEyMTc6IEZvciA2NC1iaXQvMzItYml0IE1hYyBPUyBYIHVuaXZlcnNhbCBmcmFtZXdvcmsgYnVpbGRzLCBlbnN1cmUKLSAgIm1ha2UgaW5zdGFsbCIgY3JlYXRlcyBzeW1saW5rcyBpbiAtLXByZWZpeCBiaW4gZm9yIHRoZSAiLTMyIiBmaWxlcyBpbiB0aGUKLSAgZnJhbWV3b3JrIGJpbiBkaXJlY3RvcnkgbGlrZSB0aGUgaW5zdGFsbGVyIGRvZXMuCi0KLQotVGVzdHMKLS0tLS0tCi0KLS0gSXNzdWUgIzEyNDA3OiBFeHBsaWNpdGx5IHNraXAgdGVzdF9jYXBpLkVtYmVkZGluZ1Rlc3QgdW5kZXIgV2luZG93cy4KLQotLSBJc3N1ZSAjMTI0MDA6IHJlZ3J0ZXN0IC1XIGRvZXNuJ3QgcmVydW4gdGhlIHRlc3RzIHR3aWNlIGFueW1vcmUsIGJ1dCBjYXB0dXJlcwotICB0aGUgb3V0cHV0IGFuZCBkaXNwbGF5cyBpdCBvbiBmYWlsdXJlIGluc3RlYWQuIHJlZ3J0ZXN0IC12IGRvZXNuJ3QgcHJpbnQgdGhlCi0gIGVycm9yIHR3aWNlIGFueW1vcmUgaWYgdGhlcmUgaXMgb25seSBvbmUgZXJyb3IuCi0KLS0gSXNzdWUgIzEyMTQxOiBJbnN0YWxsIGEgY29weSBvZiB0ZW1wbGF0ZSBDIG1vZHVsZSBmaWxlIHNvIHRoYXQgdGVzdF9idWlsZF9leHQKLSAgb2YgdGVzdF9kaXN0dXRpbHMgaXMgbm8gbG9uZ2VyIHNpbGVudGx5IHNraXBwZWQgd2hlbiBydW4gb3V0c2lkZSBvZiBhIGJ1aWxkCi0gIGRpcmVjdG9yeS4KLQotLSBJc3N1ZSAjODc0NjogQWRkIGFkZGl0aW9uYWwgdGVzdHMgZm9yIG9zLmNoZmxhZ3MoKSBhbmQgb3MubGNoZmxhZ3MoKS4gIFBhdGNoCi0gIGJ5IEdhcnJldHQgQ29vcGVyLgotCi0tIElzc3VlICMxMDczNjogRml4IHRlc3RfdHRrIHRlc3Rfd2lkZ2V0cyBmYWlsdXJlcyB3aXRoIENvY29hIFRrIDguNS45IG9uIE1hYwotICBPUyBYLiAgKFBhdGNoIGJ5IFJvbmFsZCBPdXNzb3JlbikKLQotLSBJc3N1ZSAjMTIwNTc6IEFkZCB0ZXN0cyBmb3IgSVNPIDIwMjIgY29kZWNzIChpc28yMDIyX2pwLCBpc28yMDIyX2pwXzIsCi0gIGlzbzIwMjJfa3IpLgotCi0KLVdoYXQncyBOZXcgaW4gUHl0aG9uIDMuMi4xIHJlbGVhc2UgY2FuZGlkYXRlIDE/Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotCi0qUmVsZWFzZSBkYXRlOiAxNS1NYXktMjAxMSoKLQotQ29yZSBhbmQgQnVpbHRpbnMKLS0tLS0tLS0tLS0tLS0tLS0tCi0KLS0gSXNzdWUgIzEyMDYwOiBVc2Ugc2lnX2F0b21pY190IHR5cGUgYW5kIHZvbGF0aWxlIGtleXdvcmQgaW4gdGhlIHNpZ25hbAotICBtb2R1bGUuIFBhdGNoIHdyaXR0ZW4gYnkgQ2hhcmxlcy1GcmFuw6dvaXMgTmF0YWxpLgotCi0tIElzc3VlICMxMjA0NDogRml4ZWQgc3VicHJvY2Vzcy5Qb3BlbiB3aGVuIHVzZWQgYXMgYSBjb250ZXh0IG1hbmFnZXIgdG8KLSAgd2FpdCBmb3IgdGhlIHByb2Nlc3MgdG8gZW5kIHdoZW4gZXhpdGluZyB0aGUgY29udGV4dCB0byBhdm9pZCB1bmludGVudGlvbmFsbHkKLSAgbGVhdmluZyB6b21iaWUgcHJvY2Vzc2VzIGFyb3VuZC4KLQotLSBJc3N1ZSAjMTE5NTogRml4IGlucHV0KCkgaWYgaXQgaXMgaW50ZXJydXB0ZWQgYnkgQ1RSTCtkIGFuZCB0aGVuIENUUkwrYywKLSAgY2xlYXIgdGhlIGVuZC1vZi1maWxlIGluZGljYXRvciBhZnRlciBDVFJMK2QuCi0KLUxpYnJhcnkKLS0tLS0tLS0KKy0gSXNzdWUgIzg4MDk6IFRoZSBTTVRQX1NTTCBjb25zdHJ1Y3RvciBhbmQgU01UUC5zdGFydHRscygpIG5vdyBzdXBwb3J0CisgIHBhc3NpbmcgYSBgYGNvbnRleHRgYCBhcmd1bWVudCBwb2ludGluZyB0byBhbiBzc2wuU1NMQ29udGV4dCBpbnN0YW5jZS4KKyAgUGF0Y2ggYnkgS2FzdW4gSGVyYXRoLgogCiAtIElzc3VlICMxMTA4ODogZG9uJ3QgY3Jhc2ggd2hlbiB1c2luZyBGNSB0byBydW4gYSBzY3JpcHQgaW4gSURMRSBvbiBNYWNPU1gKICAgd2l0aCBUayA4LjUuCkBAIC0xMTI4LDggKzE2NjQsNiBAQAogLSBJc3N1ZSAjOTUxNjogSXNzdWUgIzk1MTY6IGF2b2lkIGVycm9ycyBpbiBzeXNjb25maWcgd2hlbiBNQUNPU1hfREVQTE9ZTUVOVF9UQVJHRVQKICAgaXMgc2V0IGluIHNoZWxsLgogCi0tIElzc3VlICMxMjAxMjogc3NsLlBST1RPQ09MX1NTTHYyIGJlY29tZXMgb3B0aW9uYWwuCi0KIC0gSXNzdWUgIzg2NTA6IE1ha2UgemxpYiBtb2R1bGUgNjQtYml0IGNsZWFuLiBjb21wcmVzcygpLCBkZWNvbXByZXNzKCkgYW5kCiAgIHRoZWlyIGluY3JlbWVudGFsIGNvdW50ZXJwYXJ0cyBub3cgcmFpc2UgT3ZlcmZsb3dFcnJvciBpZiBnaXZlbiBhbiBpbnB1dAogICBsYXJnZXIgdGhhbiA0R0IsIGluc3RlYWQgb2Ygc2lsZW50bHkgdHJ1bmNhdGluZyB0aGUgaW5wdXQgYW5kIHJldHVybmluZwpAQCAtMTE0MywxMiArMTY3NywxNiBAQAogICB3cml0aW5nLCB0aGVuIHNlZWtpbmcgYmVmb3JlIHRoZSBwcmV2aW91cyB3cml0ZSBidXQgc3RpbGwgd2l0aGluIGJ1ZmZlcmVkCiAgIGRhdGEsIGFuZCB3cml0aW5nIGFnYWluKS4KIAorLSBJc3N1ZSAjOTk3MTogV3JpdGUgYW4gb3B0aW1pemVkIGltcGxlbWVudGF0aW9uIG9mIEJ1ZmZlcmVkUmVhZGVyLnJlYWRpbnRvKCkuCisgIFBhdGNoIGJ5IEpvaG4gTydDb25ub3IuCisKIC0gSXNzdWUgIzEwMjg6IFRrIHJldHVybnMgaW52YWxpZCBVbmljb2RlIG51bGwgaW4gJUE6IFVuaWNvZGVEZWNvZGVFcnJvci4KICAgV2l0aCBUayA8IDguNSBfdGtpbnRlci5jOlB5dGhvbkNtZCgpIHJhaXNlZCBVbmljb2RlRGVjb2RlRXJyb3IsIGNhdXNlZAogICBJRExFIHRvIGV4aXQuICBDb252ZXJ0ZWQgdG8gdmFsaWQgVW5pY29kZSBudWxsIGluIFB5dGhvbkNtZCgpLgogCi0tIElzc3VlICMxMTE2OTogY29tcGlsZWFsbCBtb2R1bGUgdXNlcyByZXByKCkgdG8gZm9ybWF0IGZpbGVuYW1lcyBhbmQgcGF0aHMgdG8KLSAgZXNjYXBlIHN1cnJvZ2F0ZSBjaGFyYWN0ZXJzIGFuZCBzaG93IHNwYWNlcy4KKy0gSXNzdWUgIzExNzk5OiB1cmxsaWIucmVxdWVzdCBBdXRoZW50aWNhdGlvbiBIYW5kbGVycyB3aWxsIHJhaXNlIGEgVmFsdWVFcnJvcgorICB3aGVuIHByZXNlbnRlZCB3aXRoIGFuIHVuc3VwcG9ydGVkIEF1dGhlbnRpY2F0aW9uIFNjaGVtZS4gUGF0Y2ggY29udHJpYnV0ZWQKKyAgYnkgWXV2YWwgR3JlZW5maWVsZC4KIAogLSBJc3N1ZSAjMTA0MTksICM2MDExOiBidWlsZF9zY3JpcHRzIGNvbW1hbmQgb2YgZGlzdHV0aWxzIGhhbmRsZXMgY29ycmVjdGx5CiAgIG5vbi1BU0NJSSBwYXRoIChwYXRoIHRvIHRoZSBQeXRob24gZXhlY3V0YWJsZSkuIE9wZW4gYW5kIHdyaXRlIHRoZSBzY3JpcHQgaW4KQEAgLTExNTgsMTMzICsxNjk2LDY4IEBACiAtIElzc3VlICM4NDk4OiBJbiBzb2NrZXQuYWNjZXB0KCksIGFsbG93IHRvIHNwZWNpZnkgMCBhcyBhIGJhY2tsb2cgdmFsdWUgaW4KICAgb3JkZXIgdG8gYWNjZXB0IGV4YWN0bHkgb25lIGNvbm5lY3Rpb24uICBQYXRjaCBieSBEYW5pZWwgRXZlcnMuCiAKKy0gSXNzdWUgIzEyMDExOiBzaWduYWwuc2lnbmFsKCkgYW5kIHNpZ25hbC5zaWdpbnRlcnJ1cHQoKSByYWlzZSBhbiBPU0Vycm9yLAorICBpbnN0ZWFkIG9mIGEgUnVudGltZUVycm9yOiBPU0Vycm9yIGhhcyBhbiBlcnJubyBhdHRyaWJ1dGUuCisKKy0gSXNzdWUgIzM3MDk6IGEgZmx1c2hfaGVhZGVycyBtZXRob2QgdG8gQmFzZUhUVFBSZXF1ZXN0SGFuZGxlciB3aGljaCBtYW5hZ2VzCisgIHRoZSBzZW5kaW5nIG9mIGhlYWRlcnMgdG8gb3V0cHV0IHN0cmVhbSBhbmQgZmx1c2hpbmcgdGhlIGludGVybmFsIGhlYWRlcnMKKyAgYnVmZmVyLiBQYXRjaCBjb250cmlidXRpb24gYnkgQW5kcmV3IFNjaGFhZgorCistIElzc3VlICMxMTc0MzogUmV3cml0ZSBtdWx0aXByb2Nlc3NpbmcgY29ubmVjdGlvbiBjbGFzc2VzIGluIHB1cmUgUHl0aG9uLgorCiAtIElzc3VlICMxMTE2NDogU3RvcCB0cnlpbmcgdG8gdXNlIF94bWxwbHVzIGluIHRoZSB4bWwgbW9kdWxlLgogCi1CdWlsZAotLS0tLS0KKy0gSXNzdWUgIzExODg4OiBBZGQgbG9nMiBmdW5jdGlvbiB0byBtYXRoIG1vZHVsZS4gUGF0Y2ggd3JpdHRlbiBieSBNYXJrCisgIERpY2tpbnNvbi4KIAotLSBJc3N1ZSAjMTEzNDc6IFVzZSAtLW5vLWFzLW5lZWRlZCB3aGVuIGxpbmtpbmcgbGlicHl0aG9uMy5zby4KKy0gSXNzdWUgIzEyMDEyOiBzc2wuUFJPVE9DT0xfU1NMdjIgYmVjb21lcyBvcHRpb25hbC4KIAotVG9vbHMvRGVtb3MKLS0tLS0tLS0tLS0tCistIElzc3VlICM4NDA3OiBUaGUgc2lnbmFsIGhhbmRsZXIgd3JpdGVzIHRoZSBzaWduYWwgbnVtYmVyIGFzIGEgc2luZ2xlIGJ5dGUKKyAgaW5zdGVhZCBvZiBhIG51bCBieXRlIGludG8gdGhlIHdha2V1cCBmaWxlIGRlc2NyaXB0b3IuIFNvIGl0IGlzIHBvc3NpYmxlIHRvCisgIHdhaXQgbW9yZSB0aGFuIG9uZSBzaWduYWwgYW5kIGtub3cgd2hpY2ggc2lnbmFscyB3ZXJlIHJhaXNlZC4KIAotLSBJc3N1ZSAjMTE5OTY6IGxpYnB5dGhvbiAoZ2RiKSwgcmVwbGFjZSAicHktYnQiIGNvbW1hbmQgYnkgInB5LWJ0LWZ1bGwiIGFuZAotICBhZGQgYSBzbWFydGVyICJweS1idCIgY29tbWFuZCBwcmludGluZyBhIGNsYXNzaWMgUHl0aG9uIHRyYWNlYmFjay4KKy0gSXNzdWUgIzg0MDc6IEFkZCBwdGhyZWFkX2tpbGwoKSwgc2lncGVuZGluZygpIGFuZCBzaWd3YWl0KCkgZnVuY3Rpb25zIHRvIHRoZQorICBzaWduYWwgbW9kdWxlLgogCi1UZXN0cwotLS0tLS0KLQotLSBJc3N1ZSAjMTIwOTY6IEZpeCBhIHJhY2UgY29uZGl0aW9uIGluIHRlc3RfdGhyZWFkaW5nLnRlc3Rfd2FpdGZvcigpLiBQYXRjaAotICB3cml0dGVuIGJ5IENoYXJsZXMtRnJhbsOnb2lzIE5hdGFsaS4KLQotLSBJc3N1ZSAjMTE2MTQ6IGltcG9ydCBfX2hlbGxvX18gcHJpbnRzICJIZWxsbyBXb3JsZCEiLiBQYXRjaCB3cml0dGVuIGJ5Ci0gIEFuZHJlYXMgU3TDvGhyay4KLQotLSBJc3N1ZSAjNTcyMzogSW1wcm92ZSBqc29uIHRlc3RzIHRvIGJlIGV4ZWN1dGVkIHdpdGggYW5kIHdpdGhvdXQgYWNjZWxlcmF0aW9ucy4KLQotLSBJc3N1ZSAjMTE5MTA6IEZpeCB0ZXN0X2hlYXBxIHRvIHNraXAgdGhlIEMgdGVzdHMgd2hlbiBfaGVhcHEgaXMgbWlzc2luZy4KLQotCi1XaGF0J3MgTmV3IGluIFB5dGhvbiAzLjIuMSBiZXRhIDE/Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0KLSpSZWxlYXNlIGRhdGU6IDA4LU1heS0yMDExKgotCi1Db3JlIGFuZCBCdWlsdGlucwotLS0tLS0tLS0tLS0tLS0tLS0KLQotLSBJc3N1ZSAjMTg1NjogQXZvaWQgY3Jhc2hlcyBhbmQgbG9ja3VwcyB3aGVuIGRhZW1vbiB0aHJlYWRzIHJ1biB3aGlsZSB0aGUKLSAgaW50ZXJwcmV0ZXIgaXMgc2h1dHRpbmcgZG93bjsgaW5zdGVhZCwgdGhlc2UgdGhyZWFkcyBhcmUgbm93IGtpbGxlZCB3aGVuIHRoZXkKLSAgdHJ5IHRvIHRha2UgdGhlIEdJTC4KLQotLSBJc3N1ZSAjOTc1NjogV2hlbiBjYWxsaW5nIGEgbWV0aG9kIGRlc2NyaXB0b3Igb3IgYSBzbG90IHdyYXBwZXIgZGVzY3JpcHRvciwKLSAgdGhlIGNoZWNrIG9mIHRoZSBvYmplY3QgdHlwZSBkb2Vzbid0IHJlYWQgdGhlIF9fY2xhc3NfXyBhdHRyaWJ1dGUgYW55bW9yZS4KLSAgRml4IGEgY3Jhc2ggaWYgYSBjbGFzcyBvdmVycmlkZSBpdHMgX19jbGFzc19fIGF0dHJpYnV0ZSAoZS5nLiBhIHByb3h5IG9mIHRoZQotICBzdHIgdHlwZSkuIFBhdGNoIHdyaXR0ZW4gYnkgQW5kcmVhcyBTdMO8aHJrLgotCi0tIElzc3VlICMxMDkxNDogSW5pdGlhbGl6ZSBjb3JyZWN0bHkgdGhlIGZpbGVzeXN0ZW0gY29kZWMgd2hlbiBjcmVhdGluZyBhIG5ldwotICBzdWJpbnRlcnByZXRlciB0byBmaXggYSBib290c3RyYXAgaXNzdWUgd2l0aCBjb2RlY3MgaW1wbGVtZW50ZWQgaW4gUHl0aG9uLCBhcwotICB0aGUgSVNPLTg4NTktMTUgY29kZWMuCi0KLS0gSXNzdWUgIzEwNTE3OiBBZnRlciBmb3JrKCksIHJlaW5pdGlhbGl6ZSB0aGUgVExTIHVzZWQgYnkgdGhlIFB5R0lMU3RhdGVfKgotICBBUElzLCB0byBhdm9pZCBhIGNyYXNoIHdpdGggdGhlIHB0aHJlYWQgaW1wbGVtZW50YXRpb24gaW4gUkhFTCA1LiAgUGF0Y2ggYnkKLSAgQ2hhcmxlcy1GcmFuw6dvaXMgTmF0YWxpLgotCi0tIElzc3VlICM2NzgwOiBmaXggc3RhcnRzL2VuZHN3aXRoIGVycm9yIG1lc3NhZ2UgdG8gbWVudGlvbiB0aGF0IHR1cGxlcyBhcmUKLSAgYWNjZXB0ZWQgdG9vLgotCi0tIElzc3VlICM1MDU3OiBmaXggYSBidWcgaW4gdGhlIHBlZXBob2xlciB0aGF0IGxlZCB0byBub24tcG9ydGFibGUgcHljIGZpbGVzCi0gIGJldHdlZW4gbmFycm93IGFuZCB3aWRlIGJ1aWxkcyB3aGlsZSBvcHRpbWl6aW5nIEJJTkFSWV9TVUJTQ1Igb24gbm9uLUJNUCBjaGFycwotICAoZS5nLiAiXFUwMDAxMjM0NSJbMF0pLgotCi0tIElzc3VlICMxMTg0NTogRml4IHR5cG8gaW4gcmFuZ2VvYmplY3QuYyB0aGF0IGNhdXNlZCBhIGNyYXNoIGluCi0gIGNvbXB1dGVfc2xpY2VfaW5kaWNlcy4gIFBhdGNoIGJ5IERhbmllbCBVcmJhbi4KLQotLSBJc3N1ZSAjMTE2NTA6IFB5T1NfU3RkaW9SZWFkbGluZSgpIHJldHJpZXMgZmdldHMoKSBpZiBpdCB3YXMgaW50ZXJydXB0ZWQKLSAgKEVJTlRSKSwgZm9yIGV4YW1wbGUgaWYgdGhlIHByb2dyYW0gaXMgc3RvcHBlZCB3aXRoIENUUkwreiBvbiBNYWMgT1MgWC4gUGF0Y2gKLSAgd3JpdHRlbiBieSBDaGFybGVzLUZyYW5jb2lzIE5hdGFsaS4KLQotLSBJc3N1ZSAjMTEzOTU6IGlvLkZpbGVJTygpLndyaXRlKCkgY2xhbXBzIHRoZSBkYXRhIGxlbmd0aCB0byAzMiw3NjcgYnl0ZXMgb24KLSAgV2luZG93cyBpZiB0aGUgZmlsZSBpcyBhIFRUWSB0byB3b3JrYXJvdW5kIGEgV2luZG93cyBidWcuIFRoZSBXaW5kb3dzIGNvbnNvbGUKLSAgcmV0dXJucyBhbiBlcnJvciAoMTI6IG5vdCBlbm91Z2ggc3BhY2UgZXJyb3IpIG9uIHdyaXRpbmcgaW50byBzdGRvdXQgaWYgc3Rkb3V0Ci0gIG1vZGUgaXMgYmluYXJ5IGFuZCB0aGUgbGVuZ3RoIGlzIGdyZWF0ZXIgdGhhbiA2NiwwMDAgYnl0ZXMgKG9yIGxlc3MsIGRlcGVuZGluZwotICBvbiBoZWFwIHVzYWdlKS4KLQotLSBJc3N1ZSAjMTEzMjA6IGZpeCBib2d1cyBtZW1vcnkgbWFuYWdlbWVudCBpbiBNb2R1bGVzL2dldHBhdGguYywgbGVhZGluZyB0byBhCi0gIHBvc3NpYmxlIGNyYXNoIHdoZW4gY2FsbGluZyBQeV9TZXRQYXRoKCkuCi0KLS0gSXNzdWUgIzExNTEwOiBGaXhlZCBvcHRpbWl6ZXIgYnVnIHdoaWNoIHR1cm5lZCAiYSxiPXsxLDF9IiBpbnRvICJhLGI9KDEsMSkiLgotCi0tIElzc3VlICMxMTQzMjogQSBidWcgd2FzIGludHJvZHVjZWQgaW4gc3VicHJvY2Vzcy5Qb3BlbiBvbiBwb3NpeCBzeXN0ZW1zIHdpdGgKLSAgMy4yLjAgd2hlcmUgdGhlIHN0ZG91dCBvciBzdGRlcnIgZmlsZSBkZXNjcmlwdG9yIGJlaW5nIHRoZSBzYW1lIGFzIHRoZSBzdGRpbgotICBmaWxlIGRlc2NyaXB0b3Igd291bGQgcmFpc2UgYW4gZXhjZXB0aW9uLiB3ZWJicm93c2VyLm9wZW4gd291bGQgZmFpbC4gZml4ZWQuCi0KLS0gSXNzdWUgIzExNDUwOiBEb24ndCB0cnVuY2F0ZSBoZyB2ZXJzaW9uIGluZm8gaW4gUHlfR2V0QnVpbGRJbmZvKCkgd2hlbiB0aGVyZQotICBhcmUgbWFueSB0YWdzIChlLmcuIHdoZW4gdXNpbmcgbXEpLiAgUGF0Y2ggYnkgTmFkZWVtIFZhd2RhLgotCi0tIElzc3VlICMxMTI0NjogRml4IFB5VW5pY29kZV9Gcm9tRm9ybWF0KCIlViIpIHRvIGRlY29kZSB0aGUgYnl0ZSBzdHJpbmcgZnJvbQotICBVVEYtOCAod2l0aCByZXBsYWNlIGVycm9yIGhhbmRsZXIpIGluc3RlYWQgb2YgSVNPLTg4NTktMSAoaW4gc3RyaWN0IG1vZGUpLgotICBQYXRjaCB3cml0dGVuIGJ5IFJheSBBbGxlbi4KLQotLSBJc3N1ZSAjMTEyODY6IFJhaXNlIGEgVmFsdWVFcnJvciBmcm9tIGNhbGxpbmcgUHlNZW1vcnlWaWV3X0Zyb21CdWZmZXIgd2l0aCBhCi0gIGJ1ZmZlciBzdHJ1Y3QgaGF2aW5nIGEgTlVMTCBkYXRhIHBvaW50ZXIuCi0KLS0gSXNzdWUgIzExMjcyOiBPbiBXaW5kb3dzLCBpbnB1dCgpIHN0cmlwcyAnXHInIChhbmQgbm90IG9ubHkgJ1xuJyksIGFuZAotICBzeXMuc3RkaW4gdXNlcyB1bml2ZXJzYWwgbmV3bGluZSAocmVwbGFjZSAnXHJcbicgYnkgJ1xuJykuCi0KLS0gaXNzdWUgIzExODI4OiBzdGFydHN3aXRoIGFuZCBlbmRzd2l0aCBkb24ndCBhY2NlcHQgTm9uZSBhcyBzbGljZSBpbmRleC4gIFBhdGNoCi0gIGJ5IFRvcnN0ZW4gQmVja2VyLgotCi0tIElzc3VlICMxMDgzMDogRml4IFB5VW5pY29kZV9Gcm9tRm9ybWF0VigiJWMiKSBmb3Igbm9uLUJNUCBjaGFyYWN0ZXJzIG9uCi0gIG5hcnJvdyBidWlsZC4KLQotLSBDaGVjayBmb3IgTlVMTCByZXN1bHQgaW4gUHlUeXBlX0Zyb21TcGVjLgotCi0tIElzc3VlICMxMTM4NjogYnl0ZWFycmF5LnBvcCgpIG5vdyB0aHJvd3MgSW5kZXhFcnJvciB3aGVuIHRoZSBieXRlYXJyYXkgaXMKLSAgZW1wdHksIGluc3RlYWQgb2YgT3ZlcmZsb3dFcnJvci4KLQotTGlicmFyeQotLS0tLS0tLQotCi0tIElzc3VlICMxMTkyNzogU01UUF9TU0wgbm93IHVzZXMgcG9ydCA0NjUgYnkgZGVmYXVsdCBhcyBkb2N1bWVudGVkLiAgUGF0Y2ggYnkKLSAgS2FzdW4gSGVyYXRoLgorLSBJc3N1ZSAjMTE5Mjc6IFNNVFBfU1NMIG5vdyB1c2VzIHBvcnQgNDY1IGJ5IGRlZmF1bHQgYXMgZG9jdW1lbnRlZC4gIFBhdGNoCisgIGJ5IEthc3VuIEhlcmF0aC4KIAogLSBJc3N1ZSAjMTIwMDI6IGZ0cGxpYidzIGFib3J0KCkgbWV0aG9kIHJhaXNlcyBUeXBlRXJyb3IuCiAKKy0gSXNzdWUgIzExOTE2OiBBZGQgYSBudW1iZXIgb2YgTWFjT1NYIHNwZWNpZmljIGRlZmluaXRpb25zIHRvIHRoZSBlcnJubyBtb2R1bGUuCisgIFBhdGNoIGJ5IFBpZXJyZSBDYXJyaWVyLgorCiAtIElzc3VlICMxMTk5OTogZml4ZWQgc3BvcmFkaWMgc3luYyBmYWlsdXJlIG1haWxib3guTWFpbGRpciBkdWUgdG8gaXRzIHRyeWluZyB0bwogICBkZXRlY3QgbXRpbWUgY2hhbmdlcyBieSBjb21wYXJpbmcgdG8gdGhlIHN5c3RlbSBjbG9jayBpbnN0ZWFkIG9mIHRvIHRoZQogICBwcmV2aW91cyB2YWx1ZSBvZiB0aGUgbXRpbWUuCiAKKy0gSXNzdWUgIzExMDcyOiBhZGRlZCBNTFNEIGNvbW1hbmQgKFJGQy0zNjU5KSBzdXBwb3J0IHRvIGZ0cGxpYi4KKworLSBJc3N1ZSAjODgwODogVGhlIElNQVA0X1NTTCBjb25zdHJ1Y3RvciBub3cgYWxsb3dzIHBhc3NpbmcgYW4gU1NMQ29udGV4dAorICBwYXJhbWV0ZXIgdG8gY29udHJvbCBwYXJhbWV0ZXJzIG9mIHRoZSBzZWN1cmUgY2hhbm5lbC4gIFBhdGNoIGJ5IFNpamluCisgIEpvc2VwaC4KKwogLSBudHBhdGguc2FtZWZpbGUgZmFpbGVkIHRvIG5vdGljZSB0aGF0ICJhLnR4dCIgYW5kICJBLlRYVCIgcmVmZXIgdG8gdGhlIHNhbWUKICAgZmlsZSBvbiBXaW5kb3dzIFhQLiBBcyBub3RpY2VkIGluIGlzc3VlICMxMDY4NC4KIAotLSBJc3N1ZSAjMTIwMDA6IFdoZW4gYSBTU0wgY2VydGlmaWNhdGUgaGFzIGEgc3ViamVjdEFsdE5hbWUgd2l0aG91dCBhbnkgZE5TTmFtZQotICBlbnRyeSwgc3NsLm1hdGNoX2hvc3RuYW1lKCkgc2hvdWxkIHVzZSB0aGUgc3ViamVjdCdzIGNvbW1vbk5hbWUuICBQYXRjaCBieQotICBOaWNvbGFzIEJhcmVpbC4KKy0gSXNzdWUgIzEyMDAwOiBXaGVuIGEgU1NMIGNlcnRpZmljYXRlIGhhcyBhIHN1YmplY3RBbHROYW1lIHdpdGhvdXQgYW55CisgIGROU05hbWUgZW50cnksIHNzbC5tYXRjaF9ob3N0bmFtZSgpIHNob3VsZCB1c2UgdGhlIHN1YmplY3QncyBjb21tb25OYW1lLgorICBQYXRjaCBieSBOaWNvbGFzIEJhcmVpbC4KIAotLSBJc3N1ZSAjMTE2NDc6IG9iamVjdHMgY3JlYXRlZCB1c2luZyBjb250ZXh0bGliLmNvbnRleHRtYW5hZ2VyIG5vdyBzdXBwb3J0IG1vcmUKLSAgdGhhbiBvbmUgY2FsbCB0byB0aGUgZnVuY3Rpb24gd2hlbiB1c2VkIGFzIGEgZGVjb3JhdG9yLiBJbml0aWFsIHBhdGNoIGJ5IFlzagotICBSYXkuCistIElzc3VlICMxMDc3NTogYXNzZXJ0UmFpc2VzLCBhc3NlcnRSYWlzZXNSZWdleCwgYXNzZXJ0V2FybnMsIGFuZAorICBhc3NlcnRXYXJuc1JlZ2V4IG5vdyBhY2NlcHQgYSBrZXl3b3JkIGFyZ3VtZW50ICdtc2cnIHdoZW4gdXNlZCBhcyBjb250ZXh0CisgIG1hbmFnZXJzLiAgSW5pdGlhbCBwYXRjaCBieSBXaW5zdG9uIEV3ZXJ0LgorCistIElzc3VlICMxMDY4NDogc2h1dGlsLm1vdmUgdXNlZCB0byBkZWxldGUgYSBmb2xkZXIgb24gY2FzZSBpbnNlbnNpdGl2ZQorICBmaWxlc3lzdGVtcyB3aGVuIHRoZSBzb3VyY2UgYW5kIGRlc3RpbmF0aW9uIG5hbWUgd2hlcmUgdGhlIHNhbWUgZXhjZXB0CisgIGZvciB0aGUgY2FzZS4KKworLSBJc3N1ZSAjMTE2NDc6IG9iamVjdHMgY3JlYXRlZCB1c2luZyBjb250ZXh0bGliLmNvbnRleHRtYW5hZ2VyIG5vdyBzdXBwb3J0CisgIG1vcmUgdGhhbiBvbmUgY2FsbCB0byB0aGUgZnVuY3Rpb24gd2hlbiB1c2VkIGFzIGEgZGVjb3JhdG9yLiBJbml0aWFsIHBhdGNoCisgIGJ5IFlzaiBSYXkuCisKKy0gSXNzdWUgIzExOTMwOiBSZW1vdmVkIGRlcHJlY2F0ZWQgdGltZS5hY2NlcHQyZHllYXIgdmFyaWFibGUuCisgIFJlbW92ZWQgeWVhciA+PSAxMDAwIHJlc3RyaWN0aW9uIGZyb20gZGF0ZXRpbWUuc3RyZnRpbWUuCiAKIC0gbG9nZ2luZzogZG9uJ3QgZGVmaW5lIFF1ZXVlTGlzdGVuZXIgaWYgUHl0aG9uIGhhcyBubyB0aHJlYWQgc3VwcG9ydC4KIApAQCAtMTI5MywxNiArMTc2NiwzOSBAQAogLSBJc3N1ZSAjMTEyNzc6IG1tYXAubW1hcCgpIGNhbGxzIGZjbnRsKGZkLCBGX0ZVTExGU1lOQykgb24gTWFjIE9TIFggdG8gZ2V0CiAgIGFyb3VuZCBhIG1tYXAgYnVnIHdpdGggc3BhcnNlIGZpbGVzLiBQYXRjaCB3cml0dGVuIGJ5IFN0ZWZmZW4gRGFvZGUgTnVycG1lc28uCiAKKy0gSXNzdWUgIzg0MDc6IEFkZCBzaWduYWwucHRocmVhZF9zaWdtYXNrKCkgZnVuY3Rpb24gdG8gZmV0Y2ggYW5kL29yIGNoYW5nZSB0aGUKKyAgc2lnbmFsIG1hc2sgb2YgdGhlIGNhbGxpbmcgdGhyZWFkLgorCiAtIElzc3VlICMxMTg1ODogY29uZmlncGFyc2VyLkV4dGVuZGVkSW50ZXJwb2xhdGlvbiBleHBlY3RlZCBsb3dlci1jYXNlIHNlY3Rpb24KICAgbmFtZXMuCiAKIC0gSXNzdWUgIzExMzI0OiBDb25maWdQYXJzZXIoaW50ZXJwb2xhdGlvbj1Ob25lKSBub3cgd29ya3MgY29ycmVjdGx5LgogCistIElzc3VlICMxMTgxMTogc3NsLmdldF9zZXJ2ZXJfY2VydGlmaWNhdGUoKSBpcyBub3cgSVB2Ni1jb21wYXRpYmxlLiAgUGF0Y2gKKyAgYnkgQ2hhcmxlcy1GcmFuw6dvaXMgTmF0YWxpLgorCiAtIElzc3VlICMxMTc2MzogZG9uJ3QgdXNlIGRpZmZsaWIgaW4gVGVzdENhc2UuYXNzZXJ0TXVsdGlMaW5lRXF1YWwgaWYgdGhlCiAgIHN0cmluZ3MgYXJlIHRvbyBsb25nLgogCiAtIElzc3VlICMxMTIzNjogZ2V0cGFzcy5nZXRwYXNzIHJlc3BvbmRzIHRvIGN0cmwtYyBvciBjdHJsLXogb24gdGVybWluYWwuCiAKKy0gSXNzdWUgIzExODU2OiBTcGVlZCB1cCBwYXJzaW5nIG9mIEpTT04gbnVtYmVycy4KKworLSBJc3N1ZSAjMTEwMDU6IHRocmVhZGluZy5STG9jaygpLl9yZWxlYXNlX3NhdmUoKSByYWlzZXMgYSBSdW50aW1lRXJyb3IgaWYgdGhlCisgIGxvY2sgd2FzIG5vdCBhY3F1aXJlZC4KKworLSBJc3N1ZSAjMTEyNTg6IFNwZWVkIHVwIGN0eXBlcy51dGlsLmZpbmRfbGlicmFyeSgpIHVuZGVyIExpbnV4IGJ5IGEgZmFjdG9yCisgIG9mIDUgdG8gMTAuICBJbml0aWFsIHBhdGNoIGJ5IEpvbmFzIEguCisKKy0gSXNzdWUgIzExMzgyOiBUcml2aWFsIHN5c3RlbSBjYWxscywgc3VjaCBhcyBkdXAoKSBvciBwaXBlKCksIG5lZWRuJ3QKKyAgcmVsZWFzZSB0aGUgR0lMLiAgUGF0Y2ggYnkgQ2hhcmxlcy1GcmFuw6dvaXMgTmF0YWxpLgorCistIElzc3VlICMxMTIyMzogQWRkIHRocmVhZGluZy5faW5mbygpIGZ1bmN0aW9uIHByb3ZpZGluZyBpbmZvcm1hdGlvbnMgYWJvdXQKKyAgdGhlIHRocmVhZCBpbXBsZW1lbnRhdGlvbi4KKworLSBJc3N1ZSAjMTE3MzE6IHNpbXBsaWZ5L2VuaGFuY2UgZW1haWwgcGFyc2VyL2dlbmVyYXRvciBBUEkgYnkgaW50cm9kdWNpbmcKKyAgcG9saWN5IG9iamVjdHMuCisKIC0gSXNzdWUgIzExNzY4OiBUaGUgc2lnbmFsIGhhbmRsZXIgb2YgdGhlIHNpZ25hbCBtb2R1bGUgb25seSBjYWxscwogICBQeV9BZGRQZW5kaW5nQ2FsbCgpIGZvciB0aGUgZmlyc3Qgc2lnbmFsIHRvIGZpeCBhIGRlYWRsb2NrIG9uIHJlZW50cmFudCBvcgogICBwYXJhbGxlbCBjYWxscy4gUHlFcnJfU2V0SW50ZXJydXB0KCkgd3JpdGVzIGFsc28gaW50byB0aGUgd2FrZSB1cCBmaWxlLgpAQCAtMTMyMiw2ICsxODE4LDEwIEBACiAtIElzc3VlICMxMTQ3NDogRml4IHRoZSBidWcgd2l0aCB1cmwycGF0aG5hbWUoKSBoYW5kbGluZyBvZiAnL0N8Lycgb24gV2luZG93cy4KICAgUGF0Y2ggYnkgU2FudG9zbyBXaWpheWEuCiAKKy0gSXNzdWUgIzExNjg0OiBjb21wbGV0ZSBlbWFpbC5wYXJzZXIgYnl0ZXMgQVBJIGJ5IGFkZGluZyBCeXRlc0hlYWRlclBhcnNlci4KKworLSBUaGUgYnoyIG1vZHVsZSBub3cgaGFuZGxlcyA0R2lCKyBpbnB1dCBidWZmZXJzIGNvcnJlY3RseS4KKwogLSBJc3N1ZSAjOTIzMzogRml4IGpzb24ubG9hZHMoJ3t9JykgdG8gcmV0dXJuIGEgZGljdCAoaW5zdGVhZCBvZiBhIGxpc3QpLCB3aGVuCiAgIF9qc29uIGlzIG5vdCBhdmFpbGFibGUuCiAKQEAgLTEzMzMsMTcgKzE4MzMsMzMgQEAKIC0gSXNzdWUgIzEwMDE5OiBGaXhlZCByZWdyZXNzaW9uIGluIGpzb24gbW9kdWxlIHdoZXJlIGFuIGluZGVudCBvZiAwIHN0b3BwZWQKICAgYWRkaW5nIG5ld2xpbmVzIGFuZCBhY3RlZCBpbnN0ZWFkIGxpa2UgJ05vbmUnLgogCistIElzc3VlICMxMTE4NjogcHlkb2MgaWdub3JlcyBhIG1vZHVsZSBpZiBpdHMgbmFtZSBjb250YWlucyBhIHN1cnJvZ2F0ZQorICBjaGFyYWN0ZXIgaW4gdGhlIGluZGV4IG9mIG1vZHVsZXMuCisKKy0gSXNzdWUgIzExODE1OiBVc2UgYSBsaWdodC13ZWlnaHQgU2ltcGxlUXVldWUgZm9yIHRoZSByZXN1bHQgcXVldWUgaW4KKyAgY29uY3VycmVudC5mdXR1cmVzLlByb2Nlc3NQb29sRXhlY3V0b3IuCisKIC0gSXNzdWUgIzUxNjI6IFRyZWF0IHNlcnZpY2VzIGxpa2UgZnJvemVuIGV4ZWN1dGFibGVzIHRvIGFsbG93IGNoaWxkIHNwYXduaW5nCiAgIGZyb20gbXVsdGlwcm9jZXNzaW5nLmZvcmtpbmcgb24gV2luZG93cy4KIAorLSBsb2dnaW5nLmJhc2ljQ29uZmlnIG5vdyBzdXBwb3J0cyBhbiBvcHRpb25hbCAnaGFuZGxlcnMnIGFyZ3VtZW50IHRha2luZyBhbgorICBpdGVyYWJsZSBvZiBoYW5kbGVycyB0byBiZSBhZGRlZCB0byB0aGUgcm9vdCBsb2dnZXIuIEFkZGl0aW9uYWwgcGFyYW1ldGVyCisgIGNoZWNrcyB3ZXJlIGFsc28gYWRkZWQgdG8gYmFzaWNDb25maWcuCisKIC0gSXNzdWUgIzExODE0OiBGaXggbGlrZWx5IHR5cG8gaW4gbXVsdGlwcm9jZXNzaW5nLlBvb2wuX3Rlcm1pbmF0ZSgpLgogCiAtIElzc3VlICMxMTc0NzogRml4IHJhbmdlIGZvcm1hdHRpbmcgaW4gZGlmZmxpYi5jb250ZXh0X2RpZmYoKSBhbmQKICAgZGlmZmxpYi51bmlmaWVkX2RpZmYoKS4KIAogLSBJc3N1ZSAjODQyODogRml4IGEgcmFjZSBjb25kaXRpb24gaW4gbXVsdGlwcm9jZXNzaW5nLlBvb2wgd2hlbiB0ZXJtaW5hdGluZwotICB3b3JrZXIgcHJvY2Vzc2VzOiBuZXcgcHJvY2Vzc2VzIHdvdWxkIGJlIHNwYXduZWQgd2hpbGUgdGhlIHBvb2wgaXMgYmVpbmcgc2h1dAotICBkb3duLiAgUGF0Y2ggYnkgQ2hhcmxlcy1GcmFuw6dvaXMgTmF0YWxpLgorICB3b3JrZXIgcHJvY2Vzc2VzOiBuZXcgcHJvY2Vzc2VzIHdvdWxkIGJlIHNwYXduZWQgd2hpbGUgdGhlIHBvb2wgaXMgYmVpbmcKKyAgc2h1dCBkb3duLiAgUGF0Y2ggYnkgQ2hhcmxlcy1GcmFuw6dvaXMgTmF0YWxpLgorCistIElzc3VlICMyNjUwOiByZS5lc2NhcGUoKSBubyBsb25nZXIgZXNjYXBlcyB0aGUgJ18nLgorCistIElzc3VlICMxMTc1Nzogc2VsZWN0LnNlbGVjdCgpIG5vdyByYWlzZXMgVmFsdWVFcnJvciB3aGVuIGEgbmVnYXRpdmUgdGltZW91dAorICBpcyBwYXNzZWQgKHByZXZpb3VzbHksIGEgc2VsZWN0LmVycm9yIHdpdGggRUlOVkFMIHdvdWxkIGJlIHJhaXNlZCkuICBQYXRjaAorICBieSBDaGFybGVzLUZyYW7Dp29pcyBOYXRhbGkuCiAKIC0gSXNzdWUgIzczMTE6IGZpeCBodG1sLnBhcnNlciB0byBhY2NlcHQgbm9uLUFTQ0lJIGF0dHJpYnV0ZSB2YWx1ZXMuCiAKQEAgLTEzNTEsMjEgKzE4NjcsNTAgQEAKICAgbXVsdGlwYXJ0IHN1YnBhcnRzIHdpdGggYW4gOC1iaXQgQ1RFIGludG8gdW5pY29kZSBpbnN0ZWFkIG9mIHByZXNlcnZpbmcgdGhlCiAgIGJ5dGVzLgogCistIElzc3VlICMxNjkwNjA4OiBlbWFpbC51dGlsLmZvcm1hdGFkZHIgaXMgbm93IFJGQyAyMDQ3IGF3YXJlOiAgaXQgbm93IGhhcyBhCisgIGNoYXJzZXQgcGFyYW1ldGVyIHRoYXQgZGVmYXVsdHMgdG8gdXRmLTggYW5kIGlzIHVzZWQgYXMgdGhlIGNoYXJzZXQgZm9yIFJGQworICAyMDQ3IGVuY29kaW5nIHdoZW4gdGhlIHJlYWxuYW1lIGNvbnRhaW5zIG5vbi1BU0NJSSBjaGFyYWN0ZXJzLgorCiAtIElzc3VlICMxMDk2MzogRW5zdXJlIHRoYXQgc3VicHJvY2Vzcy5jb21tdW5pY2F0ZSgpIG5ldmVyIHJhaXNlcyBFUElQRS4KIAorLSBJc3N1ZSAjMTA3OTE6IEltcGxlbWVudCBtaXNzaW5nIG1ldGhvZCBHemlwRmlsZS5yZWFkMSgpLCBhbGxvd2luZyBHemlwRmlsZQorICB0byBiZSB3cmFwcGVkIGluIGEgVGV4dElPV3JhcHBlci4gIFBhdGNoIGJ5IE5hZGVlbSBWYXdkYS4KKworLSBJc3N1ZSAjMTE3MDc6IEFkZGVkIGEgZmFzdCBDIHZlcnNpb24gb2YgZnVuY3Rvb2xzLmNtcF90b19rZXkoKS4KKyAgUGF0Y2ggYnkgRmlsaXAgR3J1c3pjennFhHNraS4KKworLSBJc3N1ZSAjMTE2ODg6IEFkZCBzcWxpdGUzLkNvbm5lY3Rpb24uc2V0X3RyYWNlX2NhbGxiYWNrKCkuICBQYXRjaCBieQorICBUb3JzdGVuIExhbmRzY2hvZmYuCisKIC0gSXNzdWUgIzExNzQ2OiBGaXggU1NMQ29udGV4dC5sb2FkX2NlcnRfY2hhaW4oKSB0byBhY2NlcHQgZWxsaXB0aWMgY3VydmUKICAgcHJpdmF0ZSBrZXlzLgogCistIElzc3VlICM1ODYzOiBSZXdyaXRlIEJaMkZpbGUgaW4gcHVyZSBQeXRob24sIGFuZCBhbGxvdyBpdCB0byBhY2NlcHQKKyAgZmlsZS1saWtlIG9iamVjdHMgdXNpbmcgYSBuZXcgYGBmaWxlb2JqYGAgY29uc3RydWN0b3IgYXJndW1lbnQuICBQYXRjaCBieQorICBOYWRlZW0gVmF3ZGEuCisKKy0gdW5pdHRlc3QuVGVzdENhc2UuYXNzZXJ0U2FtZUVsZW1lbnRzIGhhcyBiZWVuIHJlbW92ZWQuCisKIC0gc3lzLmdldGZpbGVzeXN0ZW1lbmNvZGluZygpIHJhaXNlcyBhIFJ1bnRpbWVFcnJvciBpZiBpbml0ZnNlbmNvZGluZygpIHdhcyBub3QKICAgY2FsbGVkIHlldDogZGV0ZWN0IGJvb3RzdHJhcCAoc3RhcnR1cCkgaXNzdWVzIGVhcmxpZXIuCiAKKy0gSXNzdWUgIzExMzkzOiBBZGQgdGhlIG5ldyBmYXVsdGhhbmRsZXIgbW9kdWxlLgorCiAtIElzc3VlICMxMTYxODogRml4IHRoZSB0aW1lb3V0IGxvZ2ljIGluIHRocmVhZGluZy5Mb2NrLmFjcXVpcmUoKSB1bmRlciBXaW5kb3dzLgogCistIFJlbW92ZWQgdGhlICdzdHJpY3QnIGFyZ3VtZW50IHRvIGVtYWlsLnBhcnNlci5QYXJzZXIsIHdoaWNoIGhhcyBiZWVuCisgIGRlcHJlY2F0ZWQgc2luY2UgUHl0aG9uIDIuNC4KKwogLSBJc3N1ZSAjMTEyNTY6IEZpeCBpbnNwZWN0LmdldGNhbGxhcmdzIG9uIGZ1bmN0aW9ucyB0aGF0IHRha2Ugb25seSBrZXl3b3JkCiAgIGFyZ3VtZW50cy4KIAogLSBJc3N1ZSAjMTE2OTY6IEZpeCBJRCBnZW5lcmF0aW9uIGluIG1zaWxpYi4KIAorLSBpdGVydG9vbHMuYWNjdW11bGF0ZSBub3cgc3VwcG9ydHMgYW4gb3B0aW9uYWwgKmZ1bmMqIGFyZ3VtZW50IGZvcgorICBhIHVzZXItc3VwcGxpZWQgYmluYXJ5IGZ1bmN0aW9uLgorCistIElzc3VlICMxMTY5MjogUmVtb3ZlIHVubmVjZXNzYXJ5IGRlbW8gZnVuY3Rpb25zIGluIHN1YnByb2Nlc3MgbW9kdWxlLgorCiAtIElzc3VlICM5Njk2OiBGaXggZXhjZXB0aW9uIGluY29ycmVjdGx5IHJhaXNlZCBieSB4ZHJsaWIuUGFja2VyLnBhY2tfaW50IHdoZW4KICAgdHJ5aW5nIHRvIHBhY2sgYSBuZWdhdGl2ZSAoaW4tcmFuZ2UpIGludGVnZXIuCiAKQEAgLTEzODEsNyArMTkyNiwyNiBAQAogLSBJc3N1ZSAjMTE2MzU6IERvbid0IHVzZSBwb2xsaW5nIGluIHdvcmtlciB0aHJlYWRzIGFuZCBwcm9jZXNzZXMgbGF1bmNoZWQgYnkKICAgY29uY3VycmVudC5mdXR1cmVzLgogCi0tIElzc3VlICMxMTYyODogY21wX3RvX2tleSBnZW5lcmF0ZWQgY2xhc3Mgc2hvdWxkIHVzZSBfX3Nsb3RzX18KKy0gSXNzdWUgIzY4MTE6IEFsbG93IGltcG9ydGxpYiB0byBjaGFuZ2UgYSBjb2RlIG9iamVjdCdzIGNvX2ZpbGVuYW1lIGF0dHJpYnV0ZQorICB0byBtYXRjaCB0aGUgcGF0aCB0byB3aGVyZSB0aGUgc291cmNlIGNvZGUgY3VycmVudGx5IGlzLCBub3Qgd2hlcmUgdGhlIGNvZGUKKyAgb2JqZWN0IG9yaWdpbmFsbHkgY2FtZSBmcm9tLgorCistIElzc3VlICM4NzU0OiBIYXZlIGltcG9ydGxpYiB1c2UgdGhlIHJlcHIgb2YgYSBtb2R1bGUgbmFtZSBpbiBlcnJvciBtZXNzYWdlcy4KKworLSBJc3N1ZSAjMTE1OTE6IFByZXZlbnQgImltcG9ydCBzaXRlIiBmcm9tIG1vZGlmeWluZyBzeXMucGF0aCB3aGVuIHB5dGhvbgorICB3YXMgc3RhcnRlZCB3aXRoIC1TLgorCistIGNvbGxlY3Rpb25zLm5hbWVkdHVwbGUoKSBub3cgYWRkcyBhIF9zb3VyY2UgYXR0cmlidXRlIHRvIHRoZSBnZW5lcmF0ZWQKKyAgY2xhc3MuICBUaGlzIG1ha2UgdGhlIHNvdXJjZSBtb3JlIGFjY2Vzc2libGUgdGhhbiB0aGUgb3V0ZGF0ZWQKKyAgInZlcmJvc2UiIG9wdGlvbiB3aGljaCBwcmludHMgdG8gc3Rkb3V0IGJ1dCBkb2Vzbid0IG1ha2UgdGhlIHNvdXJjZQorICBzdHJpbmcgYXZhaWxhYmxlLgorCistIElzc3VlICMxMTM3MTogTWFyayBnZXRvcHQgZXJyb3IgbWVzc2FnZXMgYXMgbG9jYWxpemFibGUuICBQYXRjaCBieSBGaWxpcAorICBHcnVzemN6ecWEc2tpLgorCistIElzc3VlICMxMTMzMzogQWRkIF9fc2xvdHNfXyB0byBjb2xsZWN0aW9ucyBBQkNzLgorCistIElzc3VlICMxMTYyODogY21wX3RvX2tleSBnZW5lcmF0ZWQgY2xhc3Mgc2hvdWxkIHVzZSBfX3Nsb3RzX18uCiAKIC0gSXNzdWUgIzExNjY2OiBsZXQgaGVscCgpIGRpc3BsYXkgbmFtZWQgdHVwbGUgYXR0cmlidXRlcyBhbmQgbWV0aG9kcwogICB0aGF0IHN0YXJ0IHdpdGggYSBsZWFkaW5nIHVuZGVyc2NvcmUuCkBAIC0xMzkyLDYgKzE5NTYsMTAgQEAKIC0gSXNzdWUgIzU1Mzc6IEZpeCB0aW1lMmlzb3ooKSBhbmQgdGltZTJuZXRzY2FwZSgpIGZ1bmN0aW9ucyBvZgogICBodHRwbGliLmNvb2tpZWphciBmb3IgZXhwaXJhdGlvbiB5ZWFyIGdyZWF0ZXIgdGhhbiAyMDM4IG9uIDMyLWJpdCBzeXN0ZW1zLgogCistIElzc3VlICM0MzkxOiBVc2UgcHJvcGVyIGdldHRleHQgcGx1cmFsIGZvcm1zIGluIG9wdHBhcnNlLgorCistIElzc3VlICMxMTEyNzogUmFpc2UgYSBUeXBlRXJyb3Igd2hlbiB0cnlpbmcgdG8gcGlja2xlIGEgc29ja2V0IG9iamVjdC4KKwogLSBJc3N1ZSAjMTE1NjM6IENvbm5lY3Rpb246Y2xvc2UgaGVhZGVyIGlzIHNlbnQgYnkgcmVxdWVzdHMgdXNpbmcgVVJMT3BlbmVyCiAgIGNsYXNzIHdoaWNoIGhlbHBzIGluIGNsb3Npbmcgb2Ygc29ja2V0cyBhZnRlciBjb25uZWN0aW9uIGlzIG92ZXIuIFBhdGNoCiAgIGNvbnRyaWJ1dGlvbnMgYnkgSmVmZiBNY05laWwgYW5kIE5hZGVlbSBWYXdkYS4KQEAgLTE0MDIsNiArMTk3MCw4IEBACiAtIElzc3VlICM1NDIxOiBGaXggbWlzbGVhZGluZyBlcnJvciBtZXNzYWdlIHdoZW4gb25lIG9mIHNvY2tldC5zZW5kdG8oKSdzCiAgIGFyZ3VtZW50cyBoYXMgdGhlIHdyb25nIHR5cGUuICBQYXRjaCBieSBOaWtpdGEgVmV0b3Noa2luLgogCistIElzc3VlICMxMDgxMjogQWRkIHNvbWUgZXh0cmEgcG9zaXggZnVuY3Rpb25zIHRvIHRoZSBvcyBtb2R1bGUuCisKIC0gSXNzdWUgIzEwOTc5OiB1bml0dGVzdCBzdGRvdXQgYnVmZmVyaW5nIG5vdyB3b3JrcyB3aXRoIGNsYXNzIGFuZCBtb2R1bGUKICAgc2V0dXAgYW5kIHRlYXJkb3duLgogCkBAIC0xNDE0LDc1ICsxOTg0LDE1NCBAQAogICByZWxhdGl2ZSB0byBQeXRob24yIGFuZCB0aGUgcmVzdWx0IGlzIG5vdyB0aGUgc2FtZSBhcyBpdCB3YXMgaW4gUHl0aG9uMi4KIAogLSBJc3N1ZSAjOTI5ODogYmFzZTY0IGJvZGllcyB3ZXJlbid0IGJlaW5nIGZvbGRlZCB0byBsaW5lIGxlbmd0aHMgbGVzcyB0aGFuIDc4LAotICB3aGljaCB3YXMgYSByZWdyZXNzaW9uIHJlbGF0aXZlIHRvIFB5dGhvbjIuICBVbmxpa2UgUHl0aG9uMiwgdGhlIGxhc3QgbGluZSBvZgotICB0aGUgZm9sZGVkIGJvZHkgbm93IGVuZHMgd2l0aCBhIGNhcnJpYWdlIHJldHVybi4KKyAgd2hpY2ggd2FzIGEgcmVncmVzc2lvbiByZWxhdGl2ZSB0byBQeXRob24yLiAgVW5saWtlIFB5dGhvbjIsIHRoZSBsYXN0IGxpbmUKKyAgb2YgdGhlIGZvbGRlZCBib2R5IG5vdyBlbmRzIHdpdGggYSBjYXJyaWFnZSByZXR1cm4uCiAKIC0gSXNzdWUgIzExNTYwOiBzaHV0aWwudW5wYWNrX2FyY2hpdmUgbm93IGNvcnJlY3RseSBoYW5kbGVzIHRoZSBmb3JtYXQKICAgcGFyYW1ldGVyLiBQYXRjaCBieSBFdmFuIERhbmRyZWEuCiAKKy0gSXNzdWUgIzU4NzA6IEFkZCBgc3VicHJvY2Vzcy5ERVZOVUxMYCBjb25zdGFudC4KKwogLSBJc3N1ZSAjMTExMzM6IGZpeCB0d28gY2FzZXMgd2hlcmUgaW5zcGVjdC5nZXRhdHRyX3N0YXRpYyBjYW4gdHJpZ2dlciBjb2RlCiAgIGV4ZWN1dGlvbi4gUGF0Y2ggYnkgQW5kcmVhcyBTdMO8aHJrLgogCiAtIElzc3VlICMxMTU2OTogdXNlIGFic29sdXRlIHBhdGggdG8gdGhlIHN5c2N0bCBjb21tYW5kIGluIG11bHRpcHJvY2Vzc2luZyB0bwotICBlbnN1cmUgdGhhdCBpdCB3aWxsIGJlIGZvdW5kIHJlZ2FyZGxlc3Mgb2YgdGhlIHNoZWxsIFBBVEguIFRoaXMgZW5zdXJlcyB0aGF0Ci0gIG11bHRpcHJvY2Vzc2luZy5jcHVfY291bnQgd29ya3Mgb24gZGVmYXVsdCBpbnN0YWxscyBvZiBNYWNPU1guCisgIGVuc3VyZSB0aGF0IGl0IHdpbGwgYmUgZm91bmQgcmVnYXJkbGVzcyBvZiB0aGUgc2hlbGwgUEFUSC4gVGhpcyBlbnN1cmVzCisgIHRoYXQgbXVsdGlwcm9jZXNzaW5nLmNwdV9jb3VudCB3b3JrcyBvbiBkZWZhdWx0IGluc3RhbGxzIG9mIE1hY09TWC4KIAogLSBJc3N1ZSAjMTE1MDE6IGRpc3V0aWxzLmFyY2hpdmVfdXRpbHMubWFrZV96aXBmaWxlIG5vIGxvbmdlciBmYWlscyBpZiB6bGliIGlzCiAgIG5vdCBpbnN0YWxsZWQuIEluc3RlYWQsIHRoZSB6aXBmaWxlLlpJUF9TVE9SRUQgY29tcHJlc3Npb24gaXMgdXNlZCB0byBjcmVhdGUKICAgdGhlIFppcEZpbGUuIFBhdGNoIGJ5IE5hdGFsaWEgQi4gQmlkYXJ0LgogCistIElzc3VlICMxMTI4OTogYHNtdHAuU01UUGAgY2xhc3MgYmVjb21lcyBhIGNvbnRleHQgbWFuYWdlciBzbyBpdCBjYW4gYmUgdXNlZAorICBpbiBhIGB3aXRoYCBzdGF0ZW1lbnQuICBDb250cmlidXRlZCBieSBHaWFtcGFvbG8gUm9kb2xhLgorCiAtIElzc3VlICMxMTU1NDogRml4ZWQgc3VwcG9ydCBmb3IgSmFwYW5lc2UgY29kZWNzOyBwcmV2aW91c2x5IHRoZSBib2R5IG91dHB1dAogICBlbmNvZGluZyB3YXMgbm90IGRvbmUgaWYgZXVjLWpwIG9yIHNoaWZ0LWppcyB3YXMgc3BlY2lmaWVkIGFzIHRoZSBjaGFyc2V0LgogCi0tIElzc3VlICMxMTUwMDogRml4ZWQgYSBidWcgaW4gdGhlIG9zIHggcHJveHkgYnlwYXNzIGNvZGUgZm9yIGZ1bGx5IHF1YWxpZmllZCBJUAotICBhZGRyZXNzZXMgaW4gdGhlIHByb3h5IGV4Y2VwdGlvbiBsaXN0LgorLSBJc3N1ZSAjMTE1MDk6IFNpZ25pZmljYW50bHkgaW5jcmVhc2UgdGVzdCBjb3ZlcmFnZSBvZiBmaWxlaW5wdXQuCisgIFBhdGNoIGJ5IERlbnZlciBDb25leWJlYXJlIGF0IFB5Q29uIDIwMTEgU3ByaW50cy4KIAotLSBJc3N1ZSAjMTE0OTE6IGRibS5lcnJvciBpcyBubyBsb25nZXIgcmFpc2VkIHdoZW4gZGJtLm9wZW4gaXMgY2FsbGVkIHdpdGggdGhlCi0gICJuIiBhcyB0aGUgZmxhZyBhcmd1bWVudCBhbmQgdGhlIGZpbGUgZXhpc3RzLiBUaGUgYmVoYXZpb3IgbWF0Y2hlcyB0aGUKLSAgZG9jdW1lbnRhdGlvbiBhbmQgZ2VuZXJhbCBsb2dpYy4KKy0gSXNzdWUgIzExNDA3OiBgVGVzdENhc2UucnVuYCByZXR1cm5zIHRoZSByZXN1bHQgb2JqZWN0IHVzZWQgb3IgY3JlYXRlZC4KKyAgQ29udHJpYnV0ZWQgYnkgSmFuYXRoYW4gSGFydGxleS4KIAotLSBJc3N1ZSAjMTExMzE6IEZpeCBzaWduIG9mIHplcm8gaW4gZGVjaW1hbC5EZWNpbWFsIHBsdXMgYW5kIG1pbnVzIG9wZXJhdGlvbnMKLSAgd2hlbiB0aGUgcm91bmRpbmcgbW9kZSBpcyBST1VORF9GTE9PUi4KKy0gSXNzdWUgIzExNTAwOiBGaXhlZCBhIGJ1ZyBpbiB0aGUgb3MgeCBwcm94eSBieXBhc3MgY29kZSBmb3IgZnVsbHkgcXVhbGlmaWVkCisgIElQIGFkZHJlc3NlcyBpbiB0aGUgcHJveHkgZXhjZXB0aW9uIGxpc3QuCisKKy0gSXNzdWUgIzExNDkxOiBkYm0uZXJyb3IgaXMgbm8gbG9uZ2VyIHJhaXNlZCB3aGVuIGRibS5vcGVuIGlzIGNhbGxlZCB3aXRoCisgIHRoZSAibiIgYXMgdGhlIGZsYWcgYXJndW1lbnQgYW5kIHRoZSBmaWxlIGV4aXN0cy4gVGhlIGJlaGF2aW9yIG1hdGNoZXMKKyAgdGhlIGRvY3VtZW50YXRpb24gYW5kIGdlbmVyYWwgbG9naWMuCisKKy0gSXNzdWUgIzExNjI0Nzc6IFBvc3RlbCBQcmluY2lwbGUgYWRqdXN0bWVudCB0byBlbWFpbCBkYXRlIHBhcnNpbmc6IGhhbmRsZSB0aGUKKyAgZmFjdCB0aGF0IHNvbWUgbm9uLWNvbXBsaWFudCBNVUFzIHVzZSAnLicgaW5zdGVhZCBvZiAnOicgaW4gdGltZSBzcGVjcy4KKworLSBJc3N1ZSAjMTExMzE6IEZpeCBzaWduIG9mIHplcm8gaW4gZGVjaW1hbC5EZWNpbWFsIHBsdXMgYW5kIG1pbnVzCisgIG9wZXJhdGlvbnMgd2hlbiB0aGUgcm91bmRpbmcgbW9kZSBpcyBST1VORF9GTE9PUi4KKworLSBJc3N1ZSAjOTkzNTogU3BlZWQgdXAgcGlja2xpbmcgb2YgaW5zdGFuY2VzIG9mIHVzZXItZGVmaW5lZCBjbGFzc2VzLgogCiAtIElzc3VlICM1NjIyOiBGaXggY3Vyc2VzLndyYXBwZXIgdG8gcmFpc2UgY29ycmVjdCBleGNlcHRpb24gaWYgY3Vyc2VzCiAgIGluaXRpYWxpemF0aW9uIGZhaWxzLgogCistIElzc3VlICMxMTQwODogSW4gdGhyZWFkaW5nLkxvY2suYWNxdWlyZSgpLCBvbmx5IGNhbGwgZ2V0dGltZW9mZGF5KCkgd2hlbgorICByZWFsbHkgbmVjZXNzYXJ5LiAgUGF0Y2ggYnkgQ2hhcmxlcy1GcmFuw6dvaXMgTmF0YWxpLgorCiAtIElzc3VlICMxMTM5MTogV3JpdGluZyB0byBhIG1tYXAgb2JqZWN0IGNyZWF0ZWQgd2l0aAogICBgYG1tYXAuUFJPVF9SRUFEfG1tYXAuUFJPVF9FWEVDYGAgd291bGQgc2VnZmF1bHQgaW5zdGVhZCBvZiByYWlzaW5nIGEKICAgVHlwZUVycm9yLiAgUGF0Y2ggYnkgQ2hhcmxlcy1GcmFuw6dvaXMgTmF0YWxpLgogCi0tIElzc3VlICMxMTMwNjogbWFpbGJveCBpbiBjZXJ0YWluIGNhc2VzIGFkYXB0cyB0byBhbiBpbmFiaWxpdHkgdG8gb3BlbiBjZXJ0YWluCi0gIGZpbGVzIGluIHJlYWQtd3JpdGUgbW9kZS4gIFByZXZpb3VzbHkgaXQgZGV0ZWN0ZWQgdGhpcyBieSBjaGVja2luZyBmb3IgRUFDQ0VTLAotICBub3cgaXQgYWxzbyBjaGVja3MgZm9yIEVST0ZTLgorLSBJc3N1ZSAjOTc5NTogYWRkIGNvbnRleHQgbWFuYWdlciBwcm90b2NvbCBzdXBwb3J0IGZvciBubnRwbGliLk5OVFAgY2xhc3MuCiAKLS0gSXNzdWUgIzExMjY1OiBhc3luY29yZSBub3cgY29ycmVjdGx5IGhhbmRsZXMgRVBJUEUsIEVCQURGIGFuZCBFQUdBSU4gZXJyb3JzIG9uCi0gIGFjY2VwdCgpLCBzZW5kKCkgYW5kIHJlY3YoKS4KKy0gSXNzdWUgIzExMzA2OiBtYWlsYm94IGluIGNlcnRhaW4gY2FzZXMgYWRhcHRzIHRvIGFuIGluYWJpbGl0eSB0byBvcGVuCisgIGNlcnRhaW4gZmlsZXMgaW4gcmVhZC13cml0ZSBtb2RlLiAgUHJldmlvdXNseSBpdCBkZXRlY3RlZCB0aGlzIGJ5CisgIGNoZWNraW5nIGZvciBFQUNDRVMsIG5vdyBpdCBhbHNvIGNoZWNrcyBmb3IgRVJPRlMuCisKKy0gSXNzdWUgIzExMjY1OiBhc3luY29yZSBub3cgY29ycmVjdGx5IGhhbmRsZXMgRVBJUEUsIEVCQURGIGFuZCBFQUdBSU4gZXJyb3JzCisgIG9uIGFjY2VwdCgpLCBzZW5kKCkgYW5kIHJlY3YoKS4KKworLSBJc3N1ZSAjMTEzNzc6IERlcHJlY2F0ZSBwbGF0Zm9ybS5wb3BlbigpIGFuZCByZWltcGxlbWVudCBpdCB3aXRoIG9zLnBvcGVuKCkuCisKKy0gSXNzdWUgIzg1MTM6IE9uIFVOSVgsIHN1YnByb2Nlc3Mgc3VwcG9ydHMgYnl0ZXMgY29tbWFuZCBzdHJpbmcuCisKKy0gSXNzdWUgIzEwODY2OiBBZGQgc29ja2V0LnNldGhvc3RuYW1lKCkuICBJbml0aWFsIHBhdGNoIGJ5IFJvc3MgTGFnZXJ3YWxsLgorCistIElzc3VlICMxMTE0MDogTG9jay5yZWxlYXNlKCkgbm93IHJhaXNlcyBhIFJ1bnRpbWVFcnJvciB3aGVuIGF0dGVtcHRpbmcKKyAgdG8gcmVsZWFzZSBhbiB1bmFjcXVpcmVkIGxvY2ssIGFzIGNsYWltZWQgaW4gdGhlIHRocmVhZGluZyBkb2N1bWVudGF0aW9uLgorICBUaGUgX3RocmVhZC5lcnJvciBleGNlcHRpb24gaXMgbm93IGFuIGFsaWFzIG9mIFJ1bnRpbWVFcnJvci4gIFBhdGNoIGJ5CisgIEZpbGlwIEdydXN6Y3p5xYRza2kuICBQYXRjaCBmb3IgX2R1bW15X3RocmVhZCBieSBBeW1lcmljIEF1Z3VzdGluLgorCistIElzc3VlICM4NTk0OiBmdHBsaWIgbm93IHByb3ZpZGVzIGEgc291cmNlX2FkZHJlc3MgcGFyYW1ldGVyIHRvIHNwZWNpZnkgd2hpY2gKKyAgKGFkZHJlc3MsIHBvcnQpIHRvIGJpbmQgdG8gYmVmb3JlIGNvbm5lY3RpbmcuCiAKIC0gSXNzdWUgIzExMzI2OiBBZGQgdGhlIG1pc3NpbmcgY29ubmVjdF9leCgpIGltcGxlbWVudGF0aW9uIGZvciBTU0wgc29ja2V0cywKICAgYW5kIG1ha2UgaXQgd29yayBmb3Igbm9uLWJsb2NraW5nIGNvbm5lY3RzLgogCistIElzc3VlICMxMTI5NzogQWRkIGNvbGxlY3Rpb25zLkNoYWluTWFwKCkuCisKKy0gSXNzdWUgIzEwNzU1OiBBZGQgdGhlIHBvc2l4LmZsaXN0ZGlyKCkgZnVuY3Rpb24uICBQYXRjaCBieSBSb3NzIExhZ2Vyd2FsbC4KKworLSBJc3N1ZSAjNDc2MTogQWRkIHRoZSAqYXQoKSBmYW1pbHkgb2YgZnVuY3Rpb25zIChvcGVuYXQoKSwgZXRjLikgdG8gdGhlIHBvc2l4CisgIG1vZHVsZS4gIFBhdGNoIGJ5IFJvc3MgTGFnZXJ3YWxsLgorCiAtIElzc3VlICM3MzIyOiBUcnlpbmcgdG8gcmVhZCBmcm9tIGEgc29ja2V0J3MgZmlsZS1saWtlIG9iamVjdCBhZnRlciBhIHRpbWVvdXQKICAgb2NjdXJyZWQgbm93IHJhaXNlcyBhbiBlcnJvciBpbnN0ZWFkIG9mIHNpbGVudGx5IGxvc2luZyBkYXRhLgogCistIElzc3VlICMxMTI5MTogcG9wbGliLlBPUCBubyBsb25nZXIgc3VwcHJlc3NlcyBlcnJvcnMgb24gcXVpdCgpLgorCistIElzc3VlICMxMTE3NzogYXN5bmNvcmUncyBjcmVhdGVfc29ja2V0KCkgYXJndW1lbnRzIGNhbiBub3cgYmUgb21pdHRlZC4KKworLSBJc3N1ZSAjNjA2NDogQWRkIGEgYGBkYWVtb25gYCBrZXl3b3JkIGFyZ3VtZW50IHRvIHRoZSB0aHJlYWRpbmcuVGhyZWFkCisgIGFuZCBtdWx0aXByb2Nlc3NpbmcuUHJvY2VzcyBjb25zdHJ1Y3RvcnMgaW4gb3JkZXIgdG8gb3ZlcnJpZGUgdGhlCisgIGRlZmF1bHQgYmVoYXZpb3VyIG9mIGluaGVyaXRpbmcgdGhlIGRhZW1vbmljIHByb3BlcnR5IGZyb20gdGhlIGN1cnJlbnQKKyAgdGhyZWFkL3Byb2Nlc3MuCisKIC0gSXNzdWUgIzEwOTU2OiBCdWZmZXJlZCBJL08gY2xhc3NlcyByZXRyeSByZWFkaW5nIG9yIHdyaXRpbmcgYWZ0ZXIgYSBzaWduYWwKICAgaGFzIGFycml2ZWQgYW5kIHRoZSBoYW5kbGVyIHJldHVybmVkIHN1Y2Nlc3NmdWxseS4KIAorLSBJc3N1ZSAjMTA3ODQ6IE5ldyBvcy5nZXRwcmlvcml0eSgpIGFuZCBvcy5zZXRwcmlvcml0eSgpIGZ1bmN0aW9ucy4KKworLSBJc3N1ZSAjMTExMTQ6IEZpeCBjYXRhc3Ryb3BoaWMgcGVyZm9ybWFuY2Ugb2YgdGVsbCgpIG9uIHRleHQgZmlsZXMgKHVwCisgIHRvIDEwMDB4IGZhc3RlciBpbiBzb21lIGNhc2VzKS4gIEl0IGlzIHN0aWxsIG9uZSB0byB0d28gb3JkZXIgb2YgbWFnbml0dWRlcworICBzbG93ZXIgdGhhbiBiaW5hcnkgdGVsbCgpLgorCistIElzc3VlICMxMDg4MjogQWRkIG9zLnNlbmRmaWxlIGZ1bmN0aW9uLgorCistIElzc3VlICMxMDg2ODogQWxsb3cgdXNhZ2Ugb2YgdGhlIHJlZ2lzdGVyIG1ldGhvZCBvZiBhbiBBQkMgYXMgYSBjbGFzcworICBkZWNvcmF0b3IuCisKIC0gSXNzdWUgIzExMjI0OiBGaXhlZCBhIHJlZ3Jlc3Npb24gaW4gdGFyZmlsZSB0aGF0IGFmZmVjdGVkIHRoZSBmaWxlLWxpa2UKICAgb2JqZWN0cyByZXR1cm5lZCBieSBUYXJGaWxlLmV4dHJhY3RmaWxlKCkgcmVnYXJkaW5nIHBlcmZvcm1hbmNlLCBtZW1vcnkKICAgY29uc3VtcHRpb24gYW5kIGZhaWx1cmVzIHdpdGggdGhlIHN0cmVhbSBpbnRlcmZhY2UuCiAKKy0gSXNzdWUgIzEwOTI0OiBBZGRpbmcgc2FsdCBhbmQgTW9kdWxhciBDcnlwdCBGb3JtYXQgdG8gY3J5cHQgbGlicmFyeS4KKyAgTW92ZWQgb2xkIEMgd3JhcHBlciB0byBfY3J5cHQsIGFuZCBhZGRlZCBhIFB5dGhvbiB3cmFwcGVyIHdpdGgKKyAgZW5oYW5jZWQgc2FsdCBnZW5lcmF0aW9uIGFuZCBzaW1wbGVyIEFQSSBmb3IgcGFzc3dvcmQgZ2VuZXJhdGlvbi4KKwogLSBJc3N1ZSAjMTEwNzQ6IE1ha2UgJ3Rva2VuaXplJyBzbyBpdCBjYW4gYmUgcmVsb2FkZWQuCiAKKy0gSXNzdWUgIzExMDg1OiBNb3ZlZCBjb2xsZWN0aW9ucyBhYnN0cmFjdCBiYXNlIGNsYXNzZXMgaW50byBhIHNlcGFyYXRlCisgIG1vZHVsZSBjYWxsZWQgY29sbGVjdGlvbnMuYWJjLCBmb2xsb3dpbmcgdGhlIHBhdHRlcm4gdXNlZCBieSBpbXBvcnRsaWIuYWJjLgorICBGb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHksIHRoZSBuYW1lcyBhcmUgaW1wb3J0ZWQgaW50byB0aGUgY29sbGVjdGlvbnMKKyAgbW9kdWxlLgorCiAtIElzc3VlICM0NjgxOiBBbGxvdyBtbWFwKCkgdG8gd29yayBvbiBmaWxlIHNpemVzIGFuZCBvZmZzZXRzIGxhcmdlciB0aGFuCiAgIDRHQiwgZXZlbiBvbiAzMi1iaXQgYnVpbGRzLiAgSW5pdGlhbCBwYXRjaCBieSBSb3NzIExhZ2Vyd2FsbCwgYWRhcHRlZCBmb3IKICAgMzItYml0IFdpbmRvd3MuCiAKKy0gSXNzdWUgIzExMTY5OiBjb21waWxlYWxsIG1vZHVsZSB1c2VzIHJlcHIoKSB0byBmb3JtYXQgZmlsZW5hbWVzIGFuZCBwYXRocyB0bworICBlc2NhcGUgc3Vycm9nYXRlIGNoYXJhY3RlcnMgYW5kIHNob3cgc3BhY2VzLgorCiAtIElzc3VlICMxMTA4OTogRml4IHBlcmZvcm1hbmNlIGlzc3VlIGxpbWl0aW5nIHRoZSB1c2Ugb2YgQ29uZmlnUGFyc2VyKCkKICAgd2l0aCBsYXJnZSBjb25maWcgZmlsZXMuCiAKIC0gSXNzdWUgIzEwMjc2OiBGaXggdGhlIHJlc3VsdHMgb2YgemxpYi5jcmMzMigpIGFuZCB6bGliLmFkbGVyMzIoKSBvbiBidWZmZXJzCiAgIGxhcmdlciB0aGFuIDRHQi4gIFBhdGNoIGJ5IE5hZGVlbSBWYXdkYS4KIAorLSBJc3N1ZSAjMTEzODg6IEFkZGVkIGEgY2xlYXIoKSBtZXRob2QgdG8gTXV0YWJsZVNlcXVlbmNlCisKKy0gSXNzdWUgIzExMTc0OiBBZGQgYXJncGFyc2UuTWV0YXZhclR5cGVIZWxwRm9ybWF0dGVyLCB3aGljaCB1c2VzIHR5cGUgbmFtZXMKKyAgZm9yIHRoZSBuYW1lcyBvZiBvcHRpb25hbCBhbmQgcG9zaXRpb25hbCBhcmd1bWVudHMgaW4gaGVscCBtZXNzYWdlcy4KKwogLSBJc3N1ZSAjOTM0ODogUmFpc2UgYW4gZWFybHkgZXJyb3IgaWYgYXJncGFyc2UgbmFyZ3MgYW5kIG1ldGF2YXIgZG9uJ3QgbWF0Y2guCiAKIC0gSXNzdWUgIzg5ODI6IEltcHJvdmUgdGhlIGRvY3VtZW50YXRpb24gZm9yIHRoZSBhcmdwYXJzZSBOYW1lc3BhY2Ugb2JqZWN0LgpAQCAtMTQ5NCwyOCArMjE0MywxMzcgQEAKIAogLSBJc3N1ZSAjOTM0NzogRml4IGZvcm1hdHRpbmcgZm9yIHR1cGxlcyBpbiBhcmdwYXJzZSB0eXBlPSBlcnJvciBtZXNzYWdlcy4KIAorLSBJc3N1ZSAjMTIxOTE6IEFkZGVkIHNodXRpbC5jaG93bigpIHRvIGNoYW5nZSB1c2VyIGFuZC9vciBncm91cCBvd25lciBvZiBhCisgIGdpdmVuIHBhdGggYWxzbyBzcGVjaWZ5aW5nIHRoZWlyIG5hbWVzLgorCistIElzc3VlICMxMzk4ODogVGhlIF9lbGVtZW50dHJlZSBhY2NlbGVyYXRvciBpcyB1c2VkIHdoZW5ldmVyIGF2YWlsYWJsZS4KKyAgTm93IHhtbC5ldHJlZS5jRWxlbWVudFRyZWUgYmVjb21lcyBhIGRlcHJlY2F0ZWQgYWxpYXMgdG8gRWxlbWVudFRyZWUuCisKIEJ1aWxkCiAtLS0tLQogCistIElzc3VlICM2ODA3OiBSdW4gbXNpc3VwcG9ydC5tYWsgZWFybGllci4KKworLSBJc3N1ZSAjMTA1ODA6IE1pbm9yIGdyYW1tYXIgY2hhbmdlIGluIFdpbmRvd3MgaW5zdGFsbGVyLgorCistIElzc3VlICMxMzMyNjogQ2xlYW4gX19weWNhY2hlX18gZGlyZWN0b3JpZXMgY29ycmVjdGx5IG9uIE9wZW5CU0QuCisKKy0gUEVQIDM5MzogdGhlIGNvbmZpZ3VyZSBvcHRpb24gLS13aXRoLXdpZGUtdW5pY29kZSBpcyByZW1vdmVkLgorCistIElzc3VlICMxMjg1MjogU2V0IF9YT1BFTl9TT1VSQ0UgdG8gNzAwLCBpbnN0ZWFkIG9mIDYwMCwgdG8gZ2V0IFBPU0lYIDIwMDgKKyAgZnVuY3Rpb25zIG9uIE9wZW5CU0QgKGUuZy4gZmRvcGVuZGlyKS4KKworLSBJc3N1ZSAjMTE4NjM6IFJlbW92ZSBzdXBwb3J0IGZvciBsZWdhY3kgc3lzdGVtcyBkZXByZWNhdGVkIGluIFB5dGhvbiAzLjIKKyAgKGZvbGxvd2luZyBQRVAgMTEpLiAgVGhlc2Ugc3lzdGVtcyBhcmUgc3lzdGVtcyB1c2luZyBNYWNoIEMgVGhyZWFkcywKKyAgU3VuT1MgbGlnaHR3ZWlnaHQgcHJvY2Vzc2VzLCBHTlUgcHRoIHRocmVhZHMgYW5kIElSSVggdGhyZWFkcy4KKworLSBJc3N1ZSAjODc0NjogQ29ycmVjdCBmYXVsdHkgY29uZmlndXJlIGNoZWNrcyBzbyB0aGF0IG9zLmNoZmxhZ3MoKSBhbmQKKyAgb3MubGNoZmxhZ3MoKSBhcmUgb25jZSBhZ2FpbiBidWlsdCBvbiBzeXN0ZW1zIHRoYXQgc3VwcG9ydCB0aGVzZQorICBmdW5jdGlvbnMgKCpCU0QgYW5kIE9TIFgpLiAgQWxzbyBhZGQgbmV3IHN0YXQgZmlsZSBmbGFncyBmb3IgT1MgWAorICAoVUZfSElEREVOIGFuZCBVRl9DT01QUkVTU0VEKS4KKworLSBJc3N1ZSAjMTA2NDU6IEluc3RhbGxpbmcgUHl0aG9uIGRvZXMgbm8gbG9uZ2VyIGNyZWF0ZSBhCisgIFB5dGhvbi1YLlkuWi1weVguWS5lZ2ctaW5mbyBmaWxlIGluIHRoZSBsaWItZHlubG9hZCBkaXJlY3RvcnkuCisKKy0gRG8gbm90IGFjY2lkZW50YWxseSBpbmNsdWRlIHRoZSBkaXJlY3RvcnkgY29udGFpbmluZyBzcWxpdGUuaCB0d2ljZSB3aGVuCisgIGJ1aWxkaW5nIHNxbGl0ZTMuCisKKy0gSXNzdWUgIzExMjE3OiBGb3IgNjQtYml0LzMyLWJpdCBNYWMgT1MgWCB1bml2ZXJzYWwgZnJhbWV3b3JrIGJ1aWxkcywKKyAgZW5zdXJlICJtYWtlIGluc3RhbGwiIGNyZWF0ZXMgc3ltbGlua3MgaW4gLS1wcmVmaXggYmluIGZvciB0aGUgIi0zMiIKKyAgZmlsZXMgaW4gdGhlIGZyYW1ld29yayBiaW4gZGlyZWN0b3J5IGxpa2UgdGhlIGluc3RhbGxlciBkb2VzLgorCistIElzc3VlICMxMTM0NzogVXNlIC0tbm8tYXMtbmVlZGVkIHdoZW4gbGlua2luZyBsaWJweXRob24zLnNvLgorCiAtIElzc3VlICMxMTQxMTogRml4ICdtYWtlIERFU1RESVI9JyB3aXRoIGEgcmVsYXRpdmUgZGVzdGluYXRpb24uCiAKLS0gSXNzdWUgIzExMjY4OiBQcmV2ZW50IE1hYyBPUyBYIEluc3RhbGxlciBmYWlsdXJlIGlmIERvY3VtZW50YXRpb24gcGFja2FnZSBoYWQKLSAgcHJldmlvdXNseSBiZWVuIGluc3RhbGxlZC4KKy0gSXNzdWUgIzExMjY4OiBQcmV2ZW50IE1hYyBPUyBYIEluc3RhbGxlciBmYWlsdXJlIGlmIERvY3VtZW50YXRpb24KKyAgcGFja2FnZSBoYWQgcHJldmlvdXNseSBiZWVuIGluc3RhbGxlZC4KKworLSBJc3N1ZSAjMTE0OTU6IE9TRiBzdXBwb3J0IGlzIGVsaW1pbmF0ZWQuIEl0IHdhcyBkZXByZWNhdGVkIGluIFB5dGhvbiAzLjIuCisKIAogSURMRQogLS0tLQogCi0tIElzc3VlICMxMTcxODogSURMRSdzIG9wZW4gbW9kdWxlIGRpYWxvZyBjb3VsZG4ndCBmaW5kIHRoZSBfX2luaXRfXy5weSBmaWxlIGluCi0gIGEgcGFja2FnZS4KKy0gSXNzdWUgIzExNzE4OiBJRExFJ3Mgb3BlbiBtb2R1bGUgZGlhbG9nIGNvdWxkbid0IGZpbmQgdGhlIF9faW5pdF9fLnB5CisgIGZpbGUgaW4gYSBwYWNrYWdlLgogCiBUb29scy9EZW1vcwogLS0tLS0tLS0tLS0KIAorLSBJc3N1ZSAjMTQwNTM6IHBhdGNoY2hlY2sucHkgKCJtYWtlIHBhdGNoY2hlY2siKSBub3cgd29ya3Mgd2l0aCBNUSBwYXRjaGVzLgorICBQYXRjaCBieSBGcmFuY2lzY28gTWFydMOtbiBCcnVndcOpLgorCistIElzc3VlICMxMzkzMDogMnRvMyBpcyBub3cgYWJsZSB0byB3cml0ZSBpdHMgY29udmVydGVkIG91dHB1dCBmaWxlcyB0byBhbm90aGVyCisgIGRpcmVjdG9yeSB0cmVlIGFzIHdlbGwgYXMgY29weWluZyB1bmNoYW5nZWQgZmlsZXMgYW5kIGFsdGVyaW5nIHRoZSBmaWxlCisgIHN1ZmZpeC4gIFNlZSBpdHMgbmV3IC1vLCAtVyBhbmQgLS1hZGQtc3VmZml4IG9wdGlvbnMuICBUaGlzIG1ha2VzIGl0IG1vcmUKKyAgdXNlZnVsIGluIG1hbnkgYXV0b21hdGVkIGNvZGUgdHJhbnNsYXRpb24gd29ya2Zsb3dzLgorCistIElzc3VlICMxMzYyODogcHl0aG9uLWdkYi5weSBpcyBub3cgYWJsZSB0byByZXRyaWV2ZSBtb3JlIGZyYW1lcyBpbiB0aGUgUHl0aG9uCisgIHRyYWNlYmFjayBpZiBQeXRob24gaXMgb3B0aW1pemVkLgorCistIElzc3VlICMxMTk5NjogbGlicHl0aG9uIChnZGIpLCByZXBsYWNlICJweS1idCIgY29tbWFuZCBieSAicHktYnQtZnVsbCIgYW5kCisgIGFkZCBhIHNtYXJ0ZXIgInB5LWJ0IiBjb21tYW5kIHByaW50aW5nIGEgY2xhc3NpYyBQeXRob24gdHJhY2ViYWNrLgorCiAtIElzc3VlICMxMTE3OTogTWFrZSBjY2JlbmNoIHdvcmsgdW5kZXIgUHl0aG9uIDMuMSBhbmQgMi43IGFnYWluLgogCistIElzc3VlICMxMDYzOTogcmVpbmRlbnQucHkgbm8gbG9uZ2VyIGNvbnZlcnRzIG5ld2xpbmVzIGFuZCB3aWxsIHJhaXNlCisgIGFuIGVycm9yIGlmIGF0dGVtcHRpbmcgdG8gY29udmVydCBhIGZpbGUgd2l0aCBtaXhlZCBuZXdsaW5lcy4KKyAgIi0tbmV3bGluZSIgb3B0aW9uIGFkZGVkIHRvIHNwZWNpZnkgbmV3IGxpbmUgY2hhcmFjdGVyLgorCiBFeHRlbnNpb24gTW9kdWxlcwogLS0tLS0tLS0tLS0tLS0tLS0KIAorLSBJc3N1ZSAjMTM4NDA6IFRoZSBlcnJvciBtZXNzYWdlIHByb2R1Y2VkIGJ5IGN0eXBlcy5jcmVhdGVfc3RyaW5nX2J1ZmZlcgorICB3aGVuIGdpdmVuIGEgVW5pY29kZSBzdHJpbmcgaGFzIGJlZW4gZml4ZWQuCisKKy0gSXNzdWUgIzk5NzU6IHNvY2tldDogRml4IGluY29ycmVjdCB1c2Ugb2YgZmxvd2luZm8gYW5kIHNjb3BlX2lkLiBQYXRjaCBieQorICBWaWxtb3MgTmViZWhhai4KKworLSBJc3N1ZSAjNzc3Nzogc29ja2V0OiBBZGQgUmVsaWFibGUgRGF0YWdyYW0gU29ja2V0cyAoUEZfUkRTKSBzdXBwb3J0LgorCistIElzc3VlICMxMzE1OTogRmlsZUlPIGFuZCBCWjJDb21wcmVzc29yL0JaMkRlY29tcHJlc3NvciBub3cgdXNlIGEgbGluZWFyLXRpbWUKKyAgYnVmZmVyIGdyb3d0aCBzdHJhdGVneSBpbnN0ZWFkIG9mIGEgcXVhZHJhdGljLXRpbWUgb25lLgorCistIElzc3VlICMxMDE0MTogc29ja2V0OiBBZGQgU29ja2V0Q0FOIChQRl9DQU4pIHN1cHBvcnQuIEluaXRpYWwgcGF0Y2ggYnkKKyAgTWF0dGhpYXMgRnVjaHMsIHVwZGF0ZWQgYnkgVGlhZ28gR29uw6dhbHZlcy4KKworLSBJc3N1ZSAjMTMwNzA6IEZpeCBhIGNyYXNoIHdoZW4gYSBUZXh0SU9XcmFwcGVyIGNhdWdodCBpbiBhIHJlZmVyZW5jZSBjeWNsZQorICB3b3VsZCBiZSBmaW5hbGl6ZWQgYWZ0ZXIgdGhlIHJlZmVyZW5jZSB0byBpdHMgdW5kZXJseWluZyBCdWZmZXJlZFJXUGFpcidzCisgIHdyaXRlciBnb3QgY2xlYXJlZCBieSB0aGUgR0MuCisKKy0gSXNzdWUgIzEyODgxOiBjdHlwZXM6IEZpeCBzZWdmYXVsdCB3aXRoIGxhcmdlIHN0cnVjdHVyZSBmaWVsZCBuYW1lcy4KKworLSBJc3N1ZSAjMTMwNTg6IG9zc2F1ZGlvZGV2OiBmaXggYSBmaWxlIGRlc2NyaXB0b3IgbGVhayBvbiBlcnJvci4gUGF0Y2ggYnkKKyAgVGhvbWFzIEphcm9zY2guCisKKy0gSXNzdWUgIzEzMDEzOiBjdHlwZXM6IEZpeCBhIHJlZmVyZW5jZSBsZWFrIGluIFB5Q0FycmF5VHlwZV9mcm9tX2N0eXBlLgorICBUaGFua3MgdG8gU3VtYW4gU2FoYSBmb3IgZmluZGluZyB0aGUgYnVnIGFuZCBwcm92aWRpbmcgYSBwYXRjaC4KKworLSBJc3N1ZSAjMTMwMjI6IEZpeDogX211bHRpcHJvY2Vzc2luZy5yZWN2ZmQoKSBkb2Vzbid0IGNoZWNrIHRoYXQKKyAgZmlsZSBkZXNjcmlwdG9yIHdhcyBhY3R1YWxseSByZWNlaXZlZC4KKworLSBJc3N1ZSAjMTE3MjcxMTogQWRkICdsb25nIGxvbmcnIHN1cHBvcnQgdG8gdGhlIGFycmF5IG1vZHVsZS4KKyAgSW5pdGlhbCBwYXRjaCBieSBPcmVuIFRpcm9zaCBhbmQgSGlyb2thenUgWWFtYW1vdG8uCisKKy0gSXNzdWUgIzEyNDgzOiBjdHlwZXM6IEZpeCBhIGNyYXNoIHdoZW4gdGhlIGRlc3RydWN0aW9uIG9mIGEgY2FsbGJhY2sKKyAgb2JqZWN0IHRyaWdnZXJzIHRoZSBnYXJiYWdlIGNvbGxlY3Rvci4KKworLSBJc3N1ZSAjMTI5NTA6IEZpeCBwYXNzaW5nIGZpbGUgZGVzY3JpcHRvcnMgaW4gbXVsdGlwcm9jZXNzaW5nLCB1bmRlcgorICBPcGVuSW5kaWFuYS9JbGx1bW9zLgorCistIElzc3VlICMxMjc2NDogRml4IGEgY3Jhc2ggaW4gY3R5cGVzIHdoZW4gdGhlIG5hbWUgb2YgYSBTdHJ1Y3R1cmUgZmllbGQgaXMgbm90CisgIGEgc3RyaW5nLgorCistIElzc3VlICMxMTI0MTogc3ViY2xhc3NlcyBvZiBjdHlwZXMuQXJyYXkgY2FuIG5vdyBiZSBzdWJjbGFzc2VkLgorCistIElzc3VlICM5NjUxOiBGaXggYSBjcmFzaCB3aGVuIGN0eXBlcy5jcmVhdGVfc3RyaW5nX2J1ZmZlcigwKSB3YXMgcGFzc2VkIHRvCisgIHNvbWUgZnVuY3Rpb25zIGxpa2UgZmlsZS53cml0ZSgpLgorCistIElzc3VlICMxMDMwOTogRGVmaW5lIF9HTlVfU09VUkNFIHNvIHRoYXQgbXJlbWFwKCkgZ2V0cyB0aGUgcHJvcGVyCisgIHNpZ25hdHVyZS4gIFdpdGhvdXQgdGhpcywgYXJjaGl0ZWN0dXJlcyB3aGVyZSBzaXplb2Ygdm9pZCogIT0gc2l6ZW9mIGludCBhcmUKKyAgYnJva2VuLiAgUGF0Y2ggZ2l2ZW4gYnkgSGFsbHZhcmQgQiBGdXJ1c2V0aC4KKwogLSBJc3N1ZSAjMTIwNTE6IEZpeCBzZWdmYXVsdCBpbiBqc29uLmR1bXBzKCkgd2hpbGUgZW5jb2RpbmcgaGlnaGx5LW5lc3RlZAogICBvYmplY3RzIHVzaW5nIHRoZSBDIGFjY2VsZXJhdGlvbnMuCiAKQEAgLTE1MjgsMzUgKzIyODYsMTg0IEBACiBUZXN0cwogLS0tLS0KIAorLSBJc3N1ZSAjMTE2ODk6IEZpeCBhIHZhcmlhYmxlIHNjb3BpbmcgZXJyb3IgaW4gYW4gc3FsaXRlMyB0ZXN0CisKKy0gSXNzdWUgIzEzNzg2OiBSZW1vdmUgdW5pbXBsZW1lbnRlZCAndHJhY2UnIGxvbmcgb3B0aW9uIGZyb20gcmVncnRlc3QucHkuCisKKy0gSXNzdWUgIzEzNzI1OiBGaXggcmVncnRlc3QgdG8gcmVjb2duaXplIHRoZSBkb2N1bWVudGVkIC1kIGZsYWcuCisgIFBhdGNoIGJ5IEVybm8gVHVraWEuCisKKy0gSXNzdWUgIzEzMzA0OiBTa2lwIHRlc3QgY2FzZSBpZiB1c2VyIHNpdGUtcGFja2FnZXMgZGlzYWJsZWQgKC1zIG9yCisgIFBZVEhPTk5PVVNFUlNJVEUpLiAgKFBhdGNoIGJ5IENhcmwgTWV5ZXIpCisKKy0gSXNzdWUgIzU2NjE6IEFkZCBhIHRlc3QgZm9yIEVDT05OUkVTRVQvRVBJUEUgaGFuZGxpbmcgdG8gdGVzdF9hc3luY29yZS4gUGF0Y2gKKyAgYnkgWGF2aWVyIGRlIEdheWUuCisKKy0gSXNzdWUgIzEzMjE4OiBGaXggdGVzdF9zc2wgZmFpbHVyZXMgb24gRGViaWFuL1VidW50dS4KKworLSBSZS1lbmFibGUgbGliMnRvMydzIHRlc3RfcGFyc2VyLnB5IHRlc3RzLCB0aG91Z2ggd2l0aCBhbiBleHBlY3RlZCBmYWlsdXJlCisgIChzZWUgaXNzdWUgMTMxMjUpLgorCistIElzc3VlICMxMjY1NjogQWRkIHRlc3RzIGZvciBJUHY2IGFuZCBVbml4IHNvY2tldHMgdG8gdGVzdF9hc3luY29yZS4KKworLSBJc3N1ZSAjNjQ4NDogQWRkIHVuaXQgdGVzdHMgZm9yIG1haWxjYXAgbW9kdWxlIChwYXRjaCBieSBHcmVnb3J5IE5vZmkpCisKKy0gSXNzdWUgIzExNjUxOiBJbXByb3ZlIHRoZSBNYWtlZmlsZSB0ZXN0IHRhcmdldHMgdG8gcnVuIG1vcmUgb2YgdGhlIHRlc3Qgc3VpdGUKKyAgbW9yZSBxdWlja2x5LiBUaGUgLS1tdWx0aXByb2Nlc3Mgb3B0aW9uIGlzIG5vdyBlbmFibGVkIGJ5IGRlZmF1bHQsIHJlZHVjaW5nCisgIHRoZSBhbW91bnQgb2YgdGltZSBuZWVkZWQgdG8gcnVuIHRoZSB0ZXN0cy4gIm1ha2UgdGVzdCIgYW5kICJtYWtlIHF1aWNrdGVzdCIKKyAgbm93IGluY2x1ZGUgc29tZSByZXNvdXJjZS1pbnRlbnNpdmUgdGVzdHMsIGJ1dCBubyBsb25nZXIgcnVuIHRoZSB0ZXN0IHN1aXRlCisgIHR3aWNlIHRvIGNoZWNrIGZvciBidWdzIGluIC5weWMgZ2VuZXJhdGlvbi4gVG9vbHMvc2NyaXB0cy9ydW5fdGVzdC5weSBwcm92aWRlcworICBhbiBlYXN5IHBsYXRmb3JtLWluZGVwZW5kZW50IHdheSB0byBydW4gdGVzdCBzdWl0ZSB3aXRoIHNlbnNpYmxlIGRlZmF1bHRzLgorCistIElzc3VlICMxMjMzMTogVGhlIHRlc3Qgc3VpdGUgZm9yIHRoZSBwYWNrYWdpbmcgbW9kdWxlIGNhbiBub3cgcnVuIGZyb20gYW4KKyAgaW5zdGFsbGVkIFB5dGhvbi4KKworLSBJc3N1ZSAjMTIzMzE6IFRoZSB0ZXN0IHN1aXRlIGZvciBsaWIydG8zIGNhbiBub3cgcnVuIGZyb20gYW4gaW5zdGFsbGVkCisgIFB5dGhvbi4KKworLSBJc3N1ZSAjMTI2MjY6IEluIHJlZ3J0ZXN0LCBhbGxvdyB0byBmaWx0ZXIgdGVzdHMgdXNpbmcgYSBnbG9iIGZpbHRlcgorICB3aXRoIHRoZSBgYC1tYGAgKG9yIGBgLS1tYXRjaGBgKSBvcHRpb24uICBUaGlzIHdvcmtzIHdpdGggYWxsIHRlc3QgY2FzZXMKKyAgdXNpbmcgdGhlIHVuaXR0ZXN0IG1vZHVsZS4gIFRoaXMgaXMgdXNlZnVsIHdpdGggbG9uZyB0ZXN0IHN1aXRlcworICBzdWNoIGFzIHRlc3RfaW8gb3IgdGVzdF9zdWJwcm9jZXNzLgorCistIElzc3VlICMxMjYyNDogSXQgaXMgbm93IHBvc3NpYmxlIHRvIGZhaWwgYWZ0ZXIgdGhlIGZpcnN0IGZhaWx1cmUgd2hlbgorICBydW5uaW5nIGluIHZlcmJvc2UgbW9kZSAoYGAtdmBgIG9yIGBgLVdgYCksIGJ5IHVzaW5nIHRoZSBgYC0tZmFpbGZhc3RgYAorICAob3IgYGAtR2BgKSBvcHRpb24gdG8gcmVncnRlc3QuICBUaGlzIGlzIHVzZWZ1bCB3aXRoIGxvbmcgdGVzdCBzdWl0ZXMKKyAgc3VjaCBhcyB0ZXN0X2lvIG9yIHRlc3Rfc3VicHJvY2Vzcy4KKworLSBJc3N1ZSAjMTI1ODc6IENvcnJlY3QgZmF1bHR5IHRlc3QgZmlsZSBhbmQgcmVmZXJlbmNlIGluIHRlc3RfdG9rZW5pemUuCisgIChQYXRjaCBieSBSb2JlcnQgWGlhbykKKworLSBJc3N1ZSAjMTI1NzM6IEFkZCByZXNvdXJjZSBjaGVja3MgZm9yIGRhbmdsaW5nIFRocmVhZCBhbmQgUHJvY2VzcyBvYmplY3RzLgorCistIElzc3VlICMxMjU0OTogQ29ycmVjdCB0ZXN0X3BsYXRmb3JtIHRvIG5vdCBmYWlsIHdoZW4gT1MgWCByZXR1cm5zICd4ODZfNjQnCisgIGFzIHRoZSBwcm9jZXNzb3IgdHlwZSBvbiBzb21lIE1hYyBzeXN0ZW1zLgorCistIFNraXAgbmV0d29yayB0ZXN0cyB3aGVuIGdldGFkZHJpbmZvKCkgcmV0dXJucyBFQUlfQUdBSU4sIG1lYW5pbmcgYSB0ZW1wb3JhcnkKKyAgZmFpbHVyZSBpbiBuYW1lIHJlc29sdXRpb24uCisKKy0gSXNzdWUgIzExODEyOiBTb2x2ZSB0cmFuc2llbnQgc29ja2V0IGZhaWx1cmUgdG8gY29ubmVjdCB0byAnbG9jYWxob3N0JworICBpbiB0ZXN0X3RlbG5ldGxpYi5weS4KKworLSBTb2x2ZWQgYSBwb3RlbnRpYWwgZGVhZGxvY2sgaW4gdGVzdF90ZWxuZXRsaWIucHkuIFJlbGF0ZWQgdG8gaXNzdWUgIzExODEyLgorCistIEF2b2lkIGZhaWxpbmcgaW4gdGVzdF9yb2JvdHBhcnNlciB3aGVuIG11ZWJsZXNtb3JhbGVkYS5jb20gaXMgZmxha3kgYW5kCisgIGFuIG92ZXJ6ZWFsb3VzIEROUyBzZXJ2aWNlIChlLmcuIE9wZW5ETlMpIHJlZGlyZWN0cyB0byBhIHBsYWNlaG9sZGVyCisgIFdlYiBzaXRlLgorCistIEF2b2lkIGZhaWxpbmcgaW4gdGVzdF91cmxsaWJuZXQudGVzdF9iYWRfYWRkcmVzcyB3aGVuIHNvbWUgb3ZlcnplYWxvdXMKKyAgRE5TIHNlcnZpY2UgKGUuZy4gT3BlbkROUykgcmVzb2x2ZXMgYSBub24tZXhpc3RlbnQgZG9tYWluIG5hbWUuICBUaGUgdGVzdAorICBpcyBub3cgc2tpcHBlZCBpbnN0ZWFkLgorCistIElzc3VlICMxMjQ0MDogV2hlbiB0ZXN0aW5nIHdoZXRoZXIgc29tZSBiaXRzIGluIFNTTENvbnRleHQub3B0aW9ucyBjYW4gYmUKKyAgcmVzZXQsIGNoZWNrIHRoZSB2ZXJzaW9uIG9mIHRoZSBPcGVuU1NMIGhlYWRlcnMgUHl0aG9uIHdhcyBjb21waWxlZCBhZ2FpbnN0LAorICByYXRoZXIgdGhhbiB0aGUgcnVudGltZSB2ZXJzaW9uIG9mIHRoZSBPcGVuU1NMIGxpYnJhcnkuCisKKy0gSXNzdWUgIzExNTEyOiBBZGQgYSB0ZXN0IHN1aXRlIGZvciB0aGUgY2dpdGIgbW9kdWxlLiBQYXRjaCBieSBSb2JiaWUgQ2xlbW9ucy4KKworLSBJc3N1ZSAjMTI0OTc6IEluc3RhbGwgdGVzdC9kYXRhIHRvIHByZXZlbnQgZmFpbHVyZXMgb2YgdGhlIHZhcmlvdXMgY29kZWNtYXBzCisgIHRlc3RzLgorCistIElzc3VlICMxMjQ5NjogSW5zdGFsbCB0ZXN0L2NhcGF0aCBkaXJlY3RvcnkgdG8gcHJldmVudCB0ZXN0X2Nvbm5lY3RfY2FwYXRoCisgIHRlc3RjYXNlIGZhaWx1cmUgaW4gdGVzdF9zc2wuCisKKy0gSXNzdWUgIzEyNDY5OiBSdW4gd2FrZXVwIGFuZCBwZW5kaW5nIHNpZ25hbCB0ZXN0cyBpbiBhIHN1YnByb2Nlc3MgdG8gcnVuIHRoZQorICB0ZXN0IGluIGEgZnJlc2ggcHJvY2VzcyB3aXRoIG9ubHkgb25lIHRocmVhZCBhbmQgdG8gbm90IGNoYW5nZSBzaWduYWwKKyAgaGFuZGxpbmcgb2YgdGhlIHBhcmVudCBwcm9jZXNzLgorCistIElzc3VlICM4NzE2OiBBdm9pZCBjcmFzaGVzIGNhdXNlZCBieSBBcXVhIFRrIG9uIE9TWCB3aGVuIGF0dGVtcHRpbmcgdG8gcnVuCisgIHRlc3RfdGsgb3IgdGVzdF90dGtfZ3Vpb25seSB1bmRlciBhIHVzZXJuYW1lIHRoYXQgaXMgbm90IGN1cnJlbnRseSBsb2dnZWQKKyAgaW4gdG8gdGhlIGNvbnNvbGUgd2luZG93c2VydmVyIChhcyBtYXkgYmUgdGhlIGNhc2UgdW5kZXIgYnVpbGRib3Qgb3Igc3NoKS4KKworLSBJc3N1ZSAjMTI0MDc6IEV4cGxpY2l0bHkgc2tpcCB0ZXN0X2NhcGkuRW1iZWRkaW5nVGVzdCB1bmRlciBXaW5kb3dzLgorCistIElzc3VlICMxMjQwMDogcmVncnRlc3QgLVcgZG9lc24ndCByZXJ1biB0aGUgdGVzdHMgdHdpY2UgYW55bW9yZSwgYnV0IGNhcHR1cmVzCisgIHRoZSBvdXRwdXQgYW5kIGRpc3BsYXlzIGl0IG9uIGZhaWx1cmUgaW5zdGVhZC4gcmVncnRlc3QgLXYgZG9lc24ndCBwcmludCB0aGUKKyAgZXJyb3IgdHdpY2UgYW55bW9yZSBpZiB0aGVyZSBpcyBvbmx5IG9uZSBlcnJvci4KKworLSBJc3N1ZSAjMTIxNDE6IEluc3RhbGwgY29waWVzIG9mIHRlbXBsYXRlIEMgbW9kdWxlIGZpbGUgc28gdGhhdAorICB0ZXN0X2J1aWxkX2V4dCBvZiB0ZXN0X2Rpc3R1dGlscyBhbmQgdGVzdF9jb21tYW5kX2J1aWxkX2V4dCBvZgorICB0ZXN0X3BhY2thZ2luZyBhcmUgbm8gbG9uZ2VyIHNpbGVudGx5IHNraXBwZWQgd2hlbgorICBydW4gb3V0c2lkZSBvZiBhIGJ1aWxkIGRpcmVjdG9yeS4KKworLSBJc3N1ZSAjODc0NjogQWRkIGFkZGl0aW9uYWwgdGVzdHMgZm9yIG9zLmNoZmxhZ3MoKSBhbmQgb3MubGNoZmxhZ3MoKS4KKyAgUGF0Y2ggYnkgR2FycmV0dCBDb29wZXIuCisKKy0gSXNzdWUgIzEwNzM2OiBGaXggdGVzdF90dGsgdGVzdF93aWRnZXRzIGZhaWx1cmVzIHdpdGggQ29jb2EgVGsgOC41LjkKKyAgMi44ICsgIG9uIE1hYyBPUyBYLiAgKFBhdGNoIGJ5IFJvbmFsZCBPdXNzb3JlbikKKworLSBJc3N1ZSAjMTIwNTc6IEFkZCB0ZXN0cyBmb3IgSVNPIDIwMjIgY29kZWNzIChpc28yMDIyX2pwLCBpc28yMDIyX2pwXzIsCisgIGlzbzIwMjJfa3IpLgorCistIElzc3VlICMxMjA5NjogRml4IGEgcmFjZSBjb25kaXRpb24gaW4gdGVzdF90aHJlYWRpbmcudGVzdF93YWl0Zm9yKCkuIFBhdGNoCisgIHdyaXR0ZW4gYnkgQ2hhcmxlcy1GcmFuw6dvaXMgTmF0YWxpLgorCistIElzc3VlICMxMTYxNDogaW1wb3J0IF9faGVsbG9fXyBwcmludHMgIkhlbGxvIFdvcmxkISIuIFBhdGNoIHdyaXR0ZW4gYnkKKyAgQW5kcmVhcyBTdMO8aHJrLgorCistIElzc3VlICM1NzIzOiBJbXByb3ZlIGpzb24gdGVzdHMgdG8gYmUgZXhlY3V0ZWQgd2l0aCBhbmQgd2l0aG91dCBhY2NlbGVyYXRpb25zLgorCistIElzc3VlICMxMjA0MTogTWFrZSB0ZXN0X3dhaXQzIG1vcmUgcm9idXN0LgorCiAtIElzc3VlICMxMTg3MzogQ2hhbmdlIHJlZ2V4IGluIHRlc3RfY29tcGlsZWFsbCB0byBmaXggb2NjYXNpb25hbCBmYWlsdXJlcyB3aGVuCiAgIHdoZW4gdGhlIHJhbmRvbWx5IGdlbmVyYXRlZCB0ZW1wb3JhcnkgcGF0aCBoYXBwZW5lZCB0byBtYXRjaCB0aGUgcmVnZXguCiAKKy0gSXNzdWUgIzExOTU4OiBGaXggRlRQIHRlc3RzIGZvciBJUHY2LCBiaW5kIHRvICI6OjEiIGluc3RlYWQgb2YgImxvY2FsaG9zdCIuCisgIFBhdGNoIHdyaXR0ZW4gYnkgQ2hhcmxlcy1GcmFuY29pcyBOYXRhbGkuCisKKy0gSXNzdWUgIzg0MDcsICMxMTg1OTogRml4IHRlc3RzIG9mIHRlc3RfaW8gdXNpbmcgdGhyZWFkcyBhbmQgYW4gYWxhcm06IHVzZQorICBwdGhyZWFkX3NpZ21hc2soKSB0byBlbnN1cmUgdGhhdCB0aGUgU0lHQUxSTSBzaWduYWwgaXMgcmVjZWl2ZWQgYnkgdGhlIG1haW4KKyAgdGhyZWFkLgorCistIElzc3VlICMxMTgxMTogRmFjdG9yIG91dCBkZXRlY3Rpb24gb2YgSVB2NiBzdXBwb3J0IG9uIHRoZSBjdXJyZW50IGhvc3QKKyAgYW5kIG1ha2UgaXQgYXZhaWxhYmxlIGFzIGBgdGVzdC5zdXBwb3J0LklQVjZfRU5BQkxFRGBgLiAgUGF0Y2ggYnkKKyAgQ2hhcmxlcy1GcmFuw6dvaXMgTmF0YWxpLgorCiAtIElzc3VlICMxMDkxNDogQWRkIGEgbWluaW1hbCBlbWJlZGRpbmcgdGVzdCB0byB0ZXN0X2NhcGkuCiAKLS0gSXNzdWUgIzExNzkwOiBGaXggc3BvcmFkaWMgZmFpbHVyZXMgaW4KLSAgdGVzdF9tdWx0aXByb2Nlc3NpbmcuV2l0aFByb2Nlc3Nlc1Rlc3RDb25kaXRpb24uCistIElzc3VlICMxMTIyMzogU2tpcCB0ZXN0X2xvY2tfYWNxdWlyZV9pbnRlcnJ1cHRpb24oKSBhbmQKKyAgdGVzdF9ybG9ja19hY3F1aXJlX2ludGVycnVwdGlvbigpIG9mIHRlc3RfdGhyZWFkc2lnbmFscyBpZiBhIHRocmVhZCBsb2NrIGlzCisgIGltcGxlbWVudGVkIHVzaW5nIGEgUE9TSVggbXV0ZXggYW5kIGEgUE9TSVggY29uZGl0aW9uIHZhcmlhYmxlLiBBIFBPU0lYCisgIGNvbmRpdGlvbiB2YXJpYWJsZSBjYW5ub3QgYmUgaW50ZXJydXB0ZWQgYnkgYSBzaWduYWwgKGUuZy4gb24gTGludXgsIHRoZQorICBmdXRleCBzeXN0ZW0gY2FsbCBpcyByZXN0YXJ0ZWQpLgorCistIElzc3VlICMxMTc5MDogRml4IHNwb3JhZGljIGZhaWx1cmVzIGluIHRlc3RfbXVsdGlwcm9jZXNzaW5nLldpdGhQcm9jZXNzZXNUZXN0Q29uZGl0aW9uLgogCiAtIEZpeCBwb3NzaWJsZSAiZmlsZSBhbHJlYWR5IGV4aXN0cyIgZXJyb3Igd2hlbiBydW5uaW5nIHRoZSB0ZXN0cyBpbiBwYXJhbGxlbC4KIAogLSBJc3N1ZSAjMTE3MTk6IEZpeCBtZXNzYWdlIGFib3V0IHVuZXhwZWN0ZWQgdGVzdF9tc2lsaWIgc2tpcCBvbiBub24tV2luZG93cwogICBwbGF0Zm9ybXMuIFBhdGNoIGJ5IE5hZGVlbSBWYXdkYS4KIAorLSBJc3N1ZSAjMTE3Mjc6IEFkZCBhIC0tdGltZW91dCBvcHRpb24gdG8gcmVncnRlc3Q6IGlmIGEgdGVzdCB0YWtlcyBtb3JlIHRoYW4KKyAgVElNRU9VVCBzZWNvbmRzLCBkdW1wcyB0aGUgdHJhY2ViYWNrIG9mIGFsbCB0aHJlYWRzIGFuZCBleGl0cy4KKwogLSBJc3N1ZSAjMTE2NTM6IGZpeCAtVyB3aXRoIC1qIGluIHJlZ3J0ZXN0LgogCistIFRoZSBlbWFpbCB0ZXN0IHN1aXRlIG5vdyBsaXZlcyBpbiB0aGUgTGliL3Rlc3QvdGVzdF9lbWFpbCBwYWNrYWdlLiAgVGhlIHRlc3QKKyAgaGFybmVzcyBjb2RlIGhhcyBhbHNvIGJlZW4gbW9kZXJuaXplZCB0byBhbGxvdyB1c2Ugb2YgbmV3IHVuaXR0ZXN0IGZlYXR1cmVzLgorCistIHJlZ3J0ZXN0IG5vdyBkaXNjb3ZlcnMgdGVzdCBwYWNrYWdlcyBhcyB3ZWxsIGFzIHRlc3QgbW9kdWxlcy4KKwogLSBJc3N1ZSAjMTE1Nzc6IGltcHJvdmUgdGVzdCBjb3ZlcmFnZSBvZiBiaW5oZXgucHkuIFBhdGNoIGJ5IEFya2FkeSBLb3BseWFyb3YuCiAKKy0gTmV3IHRlc3RfY3Jhc2hlcnMgYWRkZWQgdG8gZXhlcmNpc2UgdGhlIHNjcmlwdHMgaW4gdGhlIExpYi90ZXN0L2NyYXNoZXJzCisgIGRpcmVjdG9yeSBhbmQgY29uZmlybSB0aGV5IGZhaWwgYXMgZXhwZWN0ZWQKKwogLSBJc3N1ZSAjMTE1Nzg6IGFkZGVkIHRlc3QgZm9yIHRoZSB0aW1laXQgbW9kdWxlLiAgUGF0Y2ggYnkgTWljaGFlbCBIZW5yeS4KIAogLSBJc3N1ZSAjMTE1MDM6IGltcHJvdmUgdGVzdCBjb3ZlcmFnZSBvZiBwb3NpeHBhdGgucHkuIFBhdGNoIGJ5IEV2YW4gRGFuZHJlYS4KIAotLSBJc3N1ZSAjMTE1MDU6IGltcHJvdmVzIHRlc3QgY292ZXJhZ2Ugb2Ygc3RyaW5nLnB5LiBQYXRjaCBieSBBbGljaWEKLSAgQXJsZW4uCistIElzc3VlICMxMTUwNTogaW1wcm92ZXMgdGVzdCBjb3ZlcmFnZSBvZiBzdHJpbmcucHksIGluY3JlYXNlcyBncmFudWxhcml0eSBvZgorICBzdHJpbmcuRm9ybWF0dGVyIHRlc3RzLiBJbml0aWFsIHBhdGNoIGJ5IEFsaWNpYSBBcmxlbi4KIAogLSBJc3N1ZSAjMTE1NDg6IEltcHJvdmUgdGVzdCBjb3ZlcmFnZSBvZiB0aGUgc2h1dGlsIG1vZHVsZS4gUGF0Y2ggYnkKICAgRXZhbiBEYW5kcmVhLgogCiAtIElzc3VlICMxMTU1NDogUmVhY3RpdmF0ZWQgdGVzdF9lbWFpbF9jb2RlY3MuCiAKKy0gSXNzdWUgIzExNTA1OiBpbXByb3ZlcyB0ZXN0IGNvdmVyYWdlIG9mIHN0cmluZy5weS4gUGF0Y2ggYnkgQWxpY2lhCisgIEFybGVuCisKIC0gSXNzdWUgIzExNDkwOiB0ZXN0X3N1YnByb2Nlc3M6dGVzdF9sZWFraW5nX2Zkc19vbl9lcnJvciBubyBsb25nZXIgZ2l2ZXMgYQogICBmYWxzZSBwb3NpdGl2ZSBpZiB0aGUgbGFzdCBkaXJlY3RvcnkgaW4gdGhlIHBhdGggaXMgaW5hY2Nlc3NpYmxlLgogCkBAIC0xNTY5LDEyICsyNDc2LDYxIEBACiAtIElzc3VlICM5OTMxOiBGaXggaGFuZ3MgaW4gR1VJIHRlc3RzIHVuZGVyIFdpbmRvd3MgaW4gY2VydGFpbiBjb25kaXRpb25zLgogICBQYXRjaCBieSBIaXJva2F6dSBZYW1hbW90by4KIAorLSBJc3N1ZSAjMTA1MTI6IFByb3Blcmx5IGNsb3NlIHNvY2tldHMgdW5kZXIgdGVzdC50ZXN0X2NnaS4KKworLSBJc3N1ZSAjMTA5OTI6IE1ha2UgdGVzdHMgcGFzcyB1bmRlciBjb3ZlcmFnZS4KKwogLSBJc3N1ZSAjMTA4MjY6IFByZXZlbnQgc3BvcmFkaWMgZmFpbHVyZSBpbiB0ZXN0X3N1YnByb2Nlc3Mgb24gU29sYXJpcyBkdWUKICAgdG8gb3BlbiBkb29yIGZpbGVzLgogCistIElzc3VlICMxMDk5MDogUHJldmVudCB0ZXN0cyBmcm9tIGNsb2JiZXJpbmcgYSBzZXQgdHJhY2UgZnVuY3Rpb24uCisKK0MtQVBJCistLS0tLQorCistIEFkZCBQeU9iamVjdF9HZW5lcmljR2V0RGljdCBhbmQgUHlPYmplY3RfR2VuZXJpU2V0RGljdC4gVGhleSBhcmUgZ2VuZXJpYworICBpbXBsZW1lbnRhdGlvbnMgZm9yIHRoZSBnZXR0ZXIgYW5kIHNldHRlciBvZiBhIGBgX19kaWN0X19gYCBkZXNjcmlwdG9yIG9mIEMKKyAgdHlwZXMuCisKKy0gSXNzdWUgIzEzNzI3OiBBZGQgMyBtYWNyb3MgdG8gYWNjZXNzIFB5RGF0ZVRpbWVfRGVsdGEgbWVtYmVyczoKKyAgUHlEYXRlVGltZV9ERUxUQV9HRVRfREFZUywgUHlEYXRlVGltZV9ERUxUQV9HRVRfU0VDT05EUywKKyAgUHlEYXRlVGltZV9ERUxUQV9HRVRfTUlDUk9TRUNPTkRTLgorCistIElzc3VlICMxMDU0MjogQWRkIDQgbWFjcm9zIHRvIHdvcmsgd2l0aCBzdXJyb2dhdGVzOiBQeV9VTklDT0RFX0lTX1NVUlJPR0FURSwKKyAgUHlfVU5JQ09ERV9JU19ISUdIX1NVUlJPR0FURSwgUHlfVU5JQ09ERV9JU19MT1dfU1VSUk9HQVRFLAorICBQeV9VTklDT0RFX0pPSU5fU1VSUk9HQVRFUy4KKworLSBJc3N1ZSAjMTI3MjQ6IEFkZCBQeV9SRVRVUk5fTk9USU1QTEVNRU5URUQgbWFjcm8gZm9yIHJldHVybmluZyBOb3RJbXBsZW1lbnRlZC4KKworLSBQWV9QQVRDSExFVkVMX1JFVklTSU9OIGhhcyBiZWVuIHJlbW92ZWQsIHNpbmNlIGl0J3MgbWVhbmluZ2xlc3Mgd2l0aAorICBNZXJjdXJpYWwuCisKKy0gSXNzdWUgIzEyMTczOiBUaGUgZmlyc3QgYXJndW1lbnQgb2YgUHlJbXBvcnRfSW1wb3J0TW9kdWxlTGV2ZWwgaXMgbm93IGBjb25zdAorICBjaGFyICpgIGluc3RlYWQgb2YgYGNoYXIgKmAuCisKKy0gSXNzdWUgIzEyMzgwOiBQeUFyZ19QYXJzZVR1cGxlIG5vdyBhY2NlcHRzIGEgYnl0ZWFycmF5IGZvciB0aGUgJ2MnIGZvcm1hdC4KKwogRG9jdW1lbnRhdGlvbgogLS0tLS0tLS0tLS0tLQogCistIElzc3VlcyAjMTM0OTEgYW5kICMxMzk5NTogRml4IG1hbnkgZXJyb3JzIGluIHNxbGl0ZTMgZG9jdW1lbnRhdGlvbi4KKyAgSW5pdGlhbCBwYXRjaCBmb3IgIzEzNDkxIGJ5IEpvaGFubmVzIFZvZ2VsLgorCistIElzc3VlICMxMzQwMjogRG9jdW1lbnQgYWJzb2x1dGVuZXNzIG9mIHN5cy5leGVjdXRhYmxlLgorCistIElzc3VlICMxMzg4MzogUFlUSE9OQ0FTRU9LIGFsc28gd29ya3Mgb24gT1MgWC4KKworLSBJc3N1ZSAjMTI5NDk6IERvY3VtZW50IHRoZSBrd29ubHlhcmdjb3VudCBhcmd1bWVudCBmb3IgdGhlIFB5Q29kZV9OZXcKKyAgQyBBUEkgZnVuY3Rpb24uCisKKy0gSXNzdWUgIzEzNTEzOiBGaXggaW8uSU9CYXNlIGRvY3VtZW50YXRpb24gdG8gY29ycmVjdGx5IGxpbmsgdG8gdGhlCisgIGlvLklPQmFzZS5yZWFkbGluZSBtZXRob2QgaW5zdGVhZCBvZiB0aGUgcmVhZGxpbmUgbW9kdWxlLgorCistIElzc3VlICMxMzIzNzogUmVvcmdhbmlzZSBzdWJwcm9jZXNzIGRvY3VtZW50YXRpb24gdG8gZW1waGFzaXNlIGNvbnZlbmllbmNlCisgIGZ1bmN0aW9ucyBhbmQgdGhlIG1vc3QgY29tbW9ubHkgbmVlZGVkIGFyZ3VtZW50cyB0byBQb3Blbi4KKworLSBJc3N1ZSAjMTMxNDE6IERlbW9uc3RyYXRlIHJlY29tbWVuZGVkIHN0eWxlIGZvciBzb2NrZXRzZXJ2ZXIgZXhhbXBsZXMuCisKIC0gSXNzdWUgIzExODE4OiBGaXggdGVtcGZpbGUgZXhhbXBsZXMgZm9yIFB5dGhvbiAzLgogCiAKQEAgLTE4MDYsMTAgKzI3NjIsNiBAQAogLSBJc3N1ZSAjMTAxNTQsICMxMDA5MDogY2hhbmdlIHRoZSBub3JtYWxpemF0aW9uIG9mIFVURi04IHRvICJVVEYtOCIgaW5zdGVhZAogICBvZiAiVVRGOCIgaW4gdGhlIGxvY2FsZSBtb2R1bGUgYXMgdGhlIGxhdHRlciBpcyBub3Qgc3VwcG9ydGVkIE1hY09TWCBhbmQgT3BlbkJTRC4KIAotLSBJc3N1ZSAjMTA2ODQ6IHNodXRpbC5tb3ZlIHVzZWQgdG8gZGVsZXRlIGEgZm9sZGVyIG9uIGNhc2UgaW5zZW5zaXRpdmUKLSAgZmlsZXN5c3RlbXMgd2hlbiB0aGUgc291cmNlIGFuZCBkZXN0aW5hdGlvbiBuYW1lIHdoZXJlIHRoZSBzYW1lIGV4Y2VwdAotICBmb3IgdGhlIGNhc2UuCi0KIC0gSXNzdWUgIzEwOTA3OiBXYXJuIE9TIFggMTAuNiBJRExFIHVzZXJzIHRvIHVzZSBBY3RpdmVTdGF0ZSBUY2wvVGsgOC41LCByYXRoZXIKICAgdGhhbiB0aGUgY3VycmVudGx5IHByb2JsZW1hdGljIEFwcGxlLXN1cHBsaWVkIG9uZSwgd2hlbiBydW5uaW5nIHdpdGggdGhlCiAgIDY0LS8zMi1iaXQgaW5zdGFsbGVyIHZhcmlhbnQuCkBAIC0xOTY2LDYgKzI5MTgsOSBAQAogQy1BUEkKIC0tLS0tCiAKKy0gUHlPYmplY3RfQ2FsbE1ldGhvZCBub3cgcGFzc2VzIGFsb25nIGFueSB1bmRlcmx5aW5nIEF0dHJpYnV0ZUVycm9yIGZyb20KKyAgUHlPYmplY3RfR2V0QXR0ciwgaW5zdGVhZCBvZiByZXBsYWNpbmcgaXQgd2l0aCBzb21ldGhpbmcgbGVzcyBpbmZvcm1hdGl2ZQorCiAtIElzc3VlICMxMDkxMzogRGVwcmVjYXRlIG1pc2xlYWRpbmcgZnVuY3Rpb25zIFB5RXZhbF9BY3F1aXJlTG9jaygpIGFuZAogICBQeUV2YWxfUmVsZWFzZUxvY2soKS4gIFRoZSB0aHJlYWQtc3RhdGUgYXdhcmUgQVBJcyBzaG91bGQgYmUgdXNlZCBpbnN0ZWFkLgogCkBAIC0yMDE3LDYgKzI5NzIsOCBAQAogVGVzdHMKIC0tLS0tCiAKKy0gSXNzdWUgIzExOTEwOiBGaXggdGVzdF9oZWFwcSB0byBza2lwIHRoZSBDIHRlc3RzIHdoZW4gX2hlYXBxIGlzIG1pc3NpbmcuCisKIC0gRml4IHRlc3Rfc3RhcnRmaWxlIHRvIHdhaXQgZm9yIGNoaWxkIHByb2Nlc3MgdG8gdGVybWluYXRlIGJlZm9yZSBmaW5pc2hpbmcuCiAKIC0gSXNzdWUgIzEwODIyOiBGaXggdGVzdF9wb3NpeDp0ZXN0X2dldGdyb3VwcyBmYWlsdXJlIHVuZGVyIFNvbGFyaXMuICBQYXRjaApAQCAtMjUxNyw2ICszNDc0LDggQEAKIExpYnJhcnkKIC0tLS0tLS0KIAorLSBJc3N1ZSAjMTI5NDM6IHB5dGhvbiAtbSB0b2tlbml6ZSBzdXBwb3J0IGhhcyBiZWVuIGFkZGVkIHRvIHRva2VuaXplLgorCiAtIElzc3VlICMxMDQ2NTogZml4IGJyb2tlbiBkZWxlZ2F0aW5nIG9mIGF0dHJpYnV0ZXMgYnkgZ3ppcC5fUGFkZGVkRmlsZS4KIAogLSBJc3N1ZSAjMTAzNTY6IERlY2ltYWwuX19oYXNoX18oLTEpIHNob3VsZCByZXR1cm4gLTIuCmRpZmYgLS1naXQgYS9NaXNjL1JFQURNRSBiL01pc2MvUkVBRE1FCmluZGV4IGIyMzljZWUuLmJjZDRjMWIgMTAwNjQ0Ci0tLSBhL01pc2MvUkVBRE1FCisrKyBiL01pc2MvUkVBRE1FCkBAIC0yMSw2ICsyMSw3IEBACiBSRUFETUUgICAgICAgICAgICAgICAgICBUaGUgZmlsZSB5b3UncmUgcmVhZGluZyBub3cKIFJFQURNRS52YWxncmluZCAgICAgICAgIEluZm9ybWF0aW9uIGZvciBWYWxncmluZCB1c2Vycywgc2VlIHZhbGdyaW5kLXB5dGhvbi5zdXBwCiBSUE0gICAgICAgICAgICAgICAgICAgICAoT2xkKSB0b29scyB0byBidWlsZCBSUE1zCitzdm5tYXAudHh0ICAgICAgICAgICAgICBNYXAgb2Ygb2xkIFNWTiByZXZzIGFuZCBicmFuY2hlcyB0byBoZyBjaGFuZ2VzZXQgaWRzCiBTcGVjaWFsQnVpbGRzLnR4dCAgICAgICBEZXNjcmliZXMgZXh0cmEgc3ltYm9scyB5b3UgY2FuIHNldCBmb3IgZGVidWcgYnVpbGRzCiBUZXh0TWF0ZSAgICAgICAgICAgICAgICBBIFRleHRNYXRlIGJ1bmRsZSBmb3IgUHl0aG9uIGRldmVsb3BtZW50CiB2YWxncmluZC1weXRob24uc3VwcCAgICBWYWxncmluZCBzdXBwcmVzc2lvbiBmaWxlLCBzZWUgUkVBRE1FLnZhbGdyaW5kCmRpZmYgLS1naXQgYS9NaXNjL1JQTS9weXRob24tMy4yLnNwZWMgYi9NaXNjL1JQTS9weXRob24tMy4zLnNwZWMKc2ltaWxhcml0eSBpbmRleCA5OSUKcmVuYW1lIGZyb20gTWlzYy9SUE0vcHl0aG9uLTMuMi5zcGVjCnJlbmFtZSB0byBNaXNjL1JQTS9weXRob24tMy4zLnNwZWMKaW5kZXggOTg1Yjc5Yi4uNzBhZTdmZSAxMDA2NDQKLS0tIGEvTWlzYy9SUE0vcHl0aG9uLTMuMi5zcGVjCisrKyBiL01pc2MvUlBNL3B5dGhvbi0zLjMuc3BlYwpAQCAtMzksOCArMzksOCBAQAogCiAlZGVmaW5lIG5hbWUgcHl0aG9uCiAjLS1zdGFydCBjb25zdGFudHMtLQotJWRlZmluZSB2ZXJzaW9uIDMuMi4zcmMxCi0lZGVmaW5lIGxpYnZlcnMgMy4yCislZGVmaW5lIHZlcnNpb24gMy4zLjBhMQorJWRlZmluZSBsaWJ2ZXJzIDMuMwogIy0tZW5kIGNvbnN0YW50cy0tCiAlZGVmaW5lIHJlbGVhc2UgMXB5ZG90b3JnCiAlZGVmaW5lIF9fcHJlZml4IC91c3IKZGlmZiAtLWdpdCBhL01pc2MvcHl0aG9uLm1hbiBiL01pc2MvcHl0aG9uLm1hbgppbmRleCAyMGJlZGVkLi43NTdkNGQ4IDEwMDY0NAotLS0gYS9NaXNjL3B5dGhvbi5tYW4KKysrIGIvTWlzYy9weXRob24ubWFuCkBAIC0zNywxMyArMzcsNiBAQAogLkIgXC1PTwogXQogWwotLkIgXC1SCi1dCi1bCi0uQiAtUQotLkkgYXJndW1lbnQKLV0KLVsKIC5CIFwtcwogXQogWwpAQCAtMTU1LDI3ICsxNDgsNiBAQAogRG8gbm90IHByaW50IHRoZSB2ZXJzaW9uIGFuZCBjb3B5cmlnaHQgbWVzc2FnZXMuIFRoZXNlIG1lc3NhZ2VzIGFyZSAKIGFsc28gc3VwcHJlc3NlZCBpbiBub24taW50ZXJhY3RpdmUgbW9kZS4KIC5UUAotLkIgXC1SCi1UdXJuIG9uICJoYXNoIHJhbmRvbWl6YXRpb24iLCBzbyB0aGF0IHRoZSBoYXNoKCkgdmFsdWVzIG9mIHN0ciwgYnl0ZXMgYW5kCi1kYXRldGltZSBvYmplY3RzIGFyZSAic2FsdGVkIiB3aXRoIGFuIHVucHJlZGljdGFibGUgcHNldWRvLXJhbmRvbSB2YWx1ZS4KLUFsdGhvdWdoIHRoZXkgcmVtYWluIGNvbnN0YW50IHdpdGhpbiBhbiBpbmRpdmlkdWFsIFB5dGhvbiBwcm9jZXNzLCB0aGV5IGFyZQotbm90IHByZWRpY3RhYmxlIGJldHdlZW4gcmVwZWF0ZWQgaW52b2NhdGlvbnMgb2YgUHl0aG9uLgotLklQCi1UaGlzIGlzIGludGVuZGVkIHRvIHByb3ZpZGUgcHJvdGVjdGlvbiBhZ2FpbnN0IGEgZGVuaWFsIG9mIHNlcnZpY2UKLWNhdXNlZCBieSBjYXJlZnVsbHktY2hvc2VuIGlucHV0cyB0aGF0IGV4cGxvaXQgdGhlIHdvcnN0IGNhc2UgcGVyZm9ybWFuY2UKLW9mIGEgZGljdCBjb25zdHJ1Y3Rpb24sIE8obl4yKSBjb21wbGV4aXR5LiAgU2VlCi1odHRwOi8vd3d3Lm9jZXJ0Lm9yZy9hZHZpc29yaWVzL29jZXJ0LTIwMTEtMDAzLmh0bWwKLWZvciBkZXRhaWxzLgotLlRQCi0uQkkgIlwtUSAiIGFyZ3VtZW50Ci1EaXZpc2lvbiBjb250cm9sOyBzZWUgUEVQIDIzOC4gIFRoZSBhcmd1bWVudCBtdXN0IGJlIG9uZSBvZiAib2xkIiAodGhlCi1kZWZhdWx0LCBpbnQvaW50IGFuZCBsb25nL2xvbmcgcmV0dXJuIGFuIGludCBvciBsb25nKSwgIm5ldyIgKG5ldwotZGl2aXNpb24gc2VtYW50aWNzLCBpLmUuIGludC9pbnQgYW5kIGxvbmcvbG9uZyByZXR1cm5zIGEgZmxvYXQpLAotIndhcm4iIChvbGQgZGl2aXNpb24gc2VtYW50aWNzIHdpdGggYSB3YXJuaW5nIGZvciBpbnQvaW50IGFuZAotbG9uZy9sb25nKSwgb3IgIndhcm5hbGwiIChvbGQgZGl2aXNpb24gc2VtYW50aWNzIHdpdGggYSB3YXJuaW5nIGZvcgotYWxsIHVzZSBvZiB0aGUgZGl2aXNpb24gb3BlcmF0b3IpLiAgRm9yIGEgdXNlIG9mICJ3YXJuYWxsIiwgc2VlIHRoZQotVG9vbHMvc2NyaXB0cy9maXhkaXYucHkgc2NyaXB0LgotLlRQCiAuQiBcLXMKIERvbid0IGFkZCB1c2VyIHNpdGUgZGlyZWN0b3J5IHRvIHN5cy5wYXRoLgogLlRQCkBAIC0xODQsNyArMTU2LDkgQEAKIC5JIHNpdGUKIGFuZCB0aGUgc2l0ZS1kZXBlbmRlbnQgbWFuaXB1bGF0aW9ucyBvZgogLkkgc3lzLnBhdGgKLXRoYXQgaXQgZW50YWlscy4KK3RoYXQgaXQgZW50YWlscy4gIEFsc28gZGlzYWJsZSB0aGVzZSBtYW5pcHVsYXRpb25zIGlmCisuSSBzaXRlCitpcyBleHBsaWNpdGx5IGltcG9ydGVkIGxhdGVyLgogLlRQCiAuQiBcLXUKIEZvcmNlIHRoZSBiaW5hcnkgSS9PIGxheWVycyBvZiBzdGRpbiwgc3Rkb3V0IGFuZCBzdGRlcnIgdG8gYmUgdW5idWZmZXJlZC4KQEAgLTQyOSw5ICs0MDMsOCBAQAogSWYgdGhpcyBpcyBzZXQgdG8gYSBjb21tYS1zZXBhcmF0ZWQgc3RyaW5nIGl0IGlzIGVxdWl2YWxlbnQgdG8KIHNwZWNpZnlpbmcgdGhlIFxmQlwtV1xmUCBvcHRpb24gZm9yIGVhY2ggc2VwYXJhdGUgdmFsdWUuCiAuSVAgUFlUSE9OSEFTSFNFRUQKLUlmIHRoaXMgdmFyaWFibGUgaXMgc2V0IHRvICJyYW5kb20iLCB0aGUgZWZmZWN0IGlzIHRoZSBzYW1lIGFzIHNwZWNpZnlpbmcKLXRoZSBcZkItUlxmUCBvcHRpb246IGEgcmFuZG9tIHZhbHVlIGlzIHVzZWQgdG8gc2VlZCB0aGUgaGFzaGVzIG9mIHN0ciwKLWJ5dGVzIGFuZCBkYXRldGltZSBvYmplY3RzLgorSWYgdGhpcyB2YXJpYWJsZSBpcyBzZXQgdG8gInJhbmRvbSIsIGEgcmFuZG9tIHZhbHVlIGlzIHVzZWQgdG8gc2VlZCB0aGUgaGFzaGVzCitvZiBzdHIsIGJ5dGVzIGFuZCBkYXRldGltZSBvYmplY3RzLgogCiBJZiBQWVRIT05IQVNIU0VFRCBpcyBzZXQgdG8gYW4gaW50ZWdlciB2YWx1ZSwgaXQgaXMgdXNlZCBhcyBhIGZpeGVkIHNlZWQgZm9yCiBnZW5lcmF0aW5nIHRoZSBoYXNoKCkgb2YgdGhlIHR5cGVzIGNvdmVyZWQgYnkgdGhlIGhhc2ggcmFuZG9taXphdGlvbi4gIEl0cwpAQCAtNDQwLDggKzQxMyw3IEBACiB2YWx1ZXMuCiAKIFRoZSBpbnRlZ2VyIG11c3QgYmUgYSBkZWNpbWFsIG51bWJlciBpbiB0aGUgcmFuZ2UgWzAsNDI5NDk2NzI5NV0uICBTcGVjaWZ5aW5nCi10aGUgdmFsdWUgMCB3aWxsIGxlYWQgdG8gdGhlIHNhbWUgaGFzaCB2YWx1ZXMgYXMgd2hlbiBoYXNoIHJhbmRvbWl6YXRpb24gaXMKLWRpc2FibGVkLgordGhlIHZhbHVlIDAgd2lsbCBkaXNhYmxlIGhhc2ggcmFuZG9taXphdGlvbi4KIC5TSCBBVVRIT1IKIFRoZSBQeXRob24gU29mdHdhcmUgRm91bmRhdGlvbjogaHR0cDovL3d3dy5weXRob24ub3JnL3BzZgogLlNIIElOVEVSTkVUIFJFU09VUkNFUwpkaWZmIC0tZ2l0IGEvTWlzYy9zdm5tYXAudHh0IGIvTWlzYy9zdm5tYXAudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE0MmJlN2YKLS0tIC9kZXYvbnVsbAorKysgYi9NaXNjL3N2bm1hcC50eHQKQEAgLTAsMCArMSw3MjU0NiBAQAorMjE2MSAzY2QwMzNlNmI1MzBmNmE3OGIzYjE0ZmVkYmQyMDc0ODk2ZGJmNmRlIGxlZ2FjeS10cnVuaworMjE2MiA0ZGI5ZDQ2YjMwNmE5YzZlYzJkMWZlN2E3Y2MzNmVmNzE3MzQyNmE2IGxlZ2FjeS10cnVuaworMjE2MyA0YTNhNjQ4MTg1ZWY4OTY1YzM0Mjg2MGJkODQ1N2VkNmMwM2M2ZGUwIGxlZ2FjeS10cnVuaworMjE2NCA4ZGE5MjI1Y2M2MGUyZGExNjY1YTgwYWY5MDE4NGRiMGZkZGEwNWNlIGxlZ2FjeS10cnVuaworMjE2NSAxN2U0OTBiNGRjMjhiOGFjNjA1ZmExOWU0ODJjZjcyMmZlODA2NThkIGxlZ2FjeS10cnVuaworMjE2NiA1NTcwZGJiMWNlNTU4YjU1NzE2ZWFiN2QwODBhMWFmYWQyZTc3ZTJmIGxlZ2FjeS10cnVuaworMjE2NyBmYzZmY2Q3ZGY0ZjdmMmUxYzEyZjE3YWYyNDY0YzQ5N2Q2ZjZhM2U5IGxlZ2FjeS10cnVuaworMjE2OCAzNGQ2NjdkYzFhNGM0YWJkY2IxOWNkZGZkMmU5YmZkYTAxMTM5ZWQyIGxlZ2FjeS10cnVuaworMjE2OSA2ZmMxNDZiZDRmMDNjOTdkMTRjN2MzMDBiMTIxMmExMWViOWI2NzJhIGxlZ2FjeS10cnVuaworMjE3MCAzMzcwMWRiNGVhNTU5MTAwZDM3YmU0NGQyZjBkNTNlNTY4YTBlYzMzIGxlZ2FjeS10cnVuaworMjE3MSBhNzFlODk2ZWQwNDczNDIxZDg4ZmU0NTUyNjljNWE1ZTU0NzMyYTIyIGxlZ2FjeS10cnVuaworMjE3MiBiY2VhNmM4MjI5MDZjODRlZGVkYWJjYzAzZWM0ODE1OTVkZWYwYTYzIGxlZ2FjeS10cnVuaworMjE3MyAzNmEyMjBkMzczMWEwMzM0NTc4NTU5M2VjMzJlYmMzNWEyOTQ5NGRlIGxlZ2FjeS10cnVuaworMjE3NCAwNmJmMmFmMDBlM2E5ZWI1MTUyOWI2MThjYmRjMGJiY2YxYTRlOTY0IGxlZ2FjeS10cnVuaworMjE3NSA4NzRjOGZkNTY1ZmEwOTQ2MWMyMTM5OWFmOWVkZTEyMzRlYTEwZjcwIGxlZ2FjeS10cnVuaworMjE3NiBlOWUwNWZiYmE3YTQwMDM0ZjgyMTFjOWQxZDEyYjI4ODc5ZjUxZmNmIGxlZ2FjeS10cnVuaworMjE3NyAwODA4ZTVhYjc0M2FiYjhiMDU3YTU1Zjc2NTFhYzExOGM4M2Y1YjBjIGxlZ2FjeS10cnVuaworMjE3OCBhNWYwMWE5MTc0MDkyZDI5ZWJhNjM3N2MyMzY5MTg3Y2RiM2ZkN2Q1IGxlZ2FjeS10cnVuaworMjE3OSBlOWJiZTRhYzMyMzg5ZThhN2E2YzBiNGFlZmFmNGVhZDMwODhmMjFhIGxlZ2FjeS10cnVuaworMjE4MCA3MWFjMGUzNzIzNmE1NGUwYTY3ODhiMzg0NjU1ZDhkODIwOWQ4NThhIGxlZ2FjeS10cnVuaworMjE4MSAxMTg1NDUzMTJmM2JmZTEwM2JjY2ZiMTAzZjRkZjJlZWIwZDBlYjgzIGxlZ2FjeS10cnVuaworMjE4MiA5NjE2OTZlZjNhYjdlNDNjOTlmNWM3NjBmN2M2MjFiNmExMTlkYzk4IGxlZ2FjeS10cnVuaworMjE4MyAyZDNlYjcxN2EwMGQxMDNkNDM3NTk0ZTA4MTkzZGFlNjAwMDYxZGE5IGxlZ2FjeS10cnVuaworMjE4NCAwODU2MmRlMDE2NjgwMGUxYzZkNWQ1MTVmNzQzNjliMzk5ZmQ4Y2FhIGxlZ2FjeS10cnVuaworMjE4NSA2NGE2OWQ2MTIxZTBkMjA2MmYyNmE3ZWNhNjdlOWI2YTQyZGNhMjdiIGxlZ2FjeS10cnVuaworMjE4NiAzMjYzOTg3OGQxNmI2MDQ4NzUzODhlMjI5OTYxMWJiZmM1MTg5NjI2IGxlZ2FjeS10cnVuaworMjE4NyA0NWFlYjJlZWFkNzllZTdmYTM2ZTQxNjZkZWI3NTM4NmMxM2UzNDFkIGxlZ2FjeS10cnVuaworMjE4OCA4MmM3YmFiNzhiYjEwYTcwNmY1ZDUyMGIxNTUwZTcyNGI5NGFhMzhjIGxlZ2FjeS10cnVuaworMjE4OSBlNWM1MGM2ODgxMTdjNmU1YmQ4OTU0NjBkYWNlNmM5Y2JmNTgxYWZkIGxlZ2FjeS10cnVuaworMjE5MCAzNDJhN2M2MWMwYzNjMGZlNDgxNGQxYWQyNGU3NzE0Mjc3MzgxNWIxIGxlZ2FjeS10cnVuaworMjE5MSA4NmUwZTIzNTBiYTExNzQ3YzRlMGZkY2U5N2JjN2M5YmM2NDg3NDFiIGxlZ2FjeS10cnVuaworMjE5MiBjNDg3ZGZjMzA2NjMzOTg1MDg1NGZiODU4YzZhODMzMDU5YTliYzc4IGxlZ2FjeS10cnVuaworMjE5MyBiNjQzZWFkZTY1NDQ1OWY4N2Q1NzJkNmI3OTM4OTZkOWIzYWRmODQwIGxlZ2FjeS10cnVuaworMjE5NCBiODA3YzkwYzRhNjgyMmQxY2I4YjM5Njk5MWNhYTgwODViYjMyYjRlIGxlZ2FjeS10cnVuaworMjE5NSAxZDIyOTAwZjc3Yjg1M2JlZTA2ZGQyNGExYmYxZmRmNDUxNWI0OGJjIGxlZ2FjeS10cnVuaworMjE5NiBkYTA2YTI4MmI4ODA0ZmE0N2ZmNGMzYzRiZDkyYmE5ZmI4ZWVhOTI5IGxlZ2FjeS10cnVuaworMjE5NyBhMjI0MGNlOTFlNTIwNjFiNDMyZjk3OTU3ZjkyYmY3OTc4NTM0MGFjIGxlZ2FjeS10cnVuaworMjE5OCBjNzk1ZmRhY2VkOWI4YTI4ZDk4MzMyNzc4NjhiMWY3NDYxYTA5NWY1IGxlZ2FjeS10cnVuaworMjE5OSAxMGUxODIxYzM0NWNhMmQxMzc1MzVhNmMxY2Y1ZWIwMTI4NmZjZDdlIGxlZ2FjeS10cnVuaworMjIwMCAxOTA1ZjgyMTM5N2IwZjA5NDEwMTE2MDhlNWI0NmRkMWM5ZTM4OWU0IGxlZ2FjeS10cnVuaworMjIwMSBmMjhhYzdmNjIxYzc2MDc5Nzc0YzMwMDE3YjI5MDEzOTY1ZDEwNDA5IGxlZ2FjeS10cnVuaworMjIwMiBlODBlZmVhYjQ5YjMyYzE1YWM5N2IyNGQ0ZjZlOGZkZDVjY2YwYTk1IGxlZ2FjeS10cnVuaworMjIwMyA0ODM1YzJkMzhiODRlNWZiNTU4MDM2ZDQ3YzU4NzFkZDk2NjMzOGI3IGxlZ2FjeS10cnVuaworMjIwNCBlYTIxOTgyYTE1MzI0MjVmODJlYzVhNDM0NmNiODQxOTE3YTcxZDk1IGxlZ2FjeS10cnVuaworMjIwNSA0ZDNhMjhkZmZjOWI5NWQzOGI5MTJjYjY5NTc0MmRlNDBkOTU3NjM1IGxlZ2FjeS10cnVuaworMjIwNiA3ZmVjYWJiMzI3OTE0NTA0NTQ0NjE3ZTViYWNkMWMwNWExMmU4NjlmIGxlZ2FjeS10cnVuaworMjIwNyBjZTZmMjQ3MTE1MDRlNTk1NmQ2NjAwOTljOTllY2NiOTUxYzBjMTQ5IGxlZ2FjeS10cnVuaworMjIwOCAwNTA1N2UzNjYwZjgyY2U4ZTgzZThjMmQ3M2QwYjU4NDk0ZjJiZWE3IGxlZ2FjeS10cnVuaworMjIwOSBiMGU3NjIyMWU3ZmZkYmNmZTk4YTQ0YWRmYWU5YzIzNTA5M2M3Y2ViIGxlZ2FjeS10cnVuaworMjIxMCBjM2ZhMmQxZjMwMzU4Njk5ZWUyNGUyYTVjM2MwMTE2NjJmNzVjMzc2IGxlZ2FjeS10cnVuaworMjIxMSBiOTQ4MjJmNTQ5OTEzMDRiNThhZGJiZWEyMzg2OWM5OGIyZjZmM2ZlIGxlZ2FjeS10cnVuaworMjIxMiBlYmNiNjI2Y2ZkZGZiOWYxYzdiMTg2NzhhY2JlYzQ0ZWI5N2FiYmQ3IGxlZ2FjeS10cnVuaworMjIxMyAxYjMxMDc3YWM2NDMwN2FiNTQ1NTI2NTFhZWM2Nzg3OGQ4MGQwYmQ3IGxlZ2FjeS10cnVuaworMjIxNCBhMWU1MGE4ZjQyZTIzY2ZhYjY0YmUzZTk5ZDhhNTMzNWVhMzNhOWM1IGxlZ2FjeS10cnVuaworMjIxNSA0MDJmNTcwOGIxMDdiMDVmODExZTVmODU0Mjg0MmU3MTc5OGRhNmM5IGxlZ2FjeS10cnVuaworMjIxNiA3YTAxZGJjZWU5YmMwMzEyZjVhMzE3ZmIyNDI5OTc1MWU3OGRkZGMyIGxlZ2FjeS10cnVuaworMjIxNyBhN2U4ZmI3YmI2YTI4ZWIxM2MwNTZmM2M2MmE5NmNhYWM1ZjY0NGQ0IGxlZ2FjeS10cnVuaworMjIxOCBhMWMyYjRmYWQxMzZjZmIxYjIyMzE1MGE0OGMzNDgwZDYzZTJkZWNiIGxlZ2FjeS10cnVuaworMjIxOSA0OTc1Zjc5OTBiMmIzNWM3MGQyMzUwNWVjZWE1YzIwZWVmY2QxZWQ4IGxlZ2FjeS10cnVuaworMjIyMCA0MzNmNTJkMWQ5NTg3NzY3MDNhNzNlODBlNTU2YmVlYjBlNDdmNTQzIGxlZ2FjeS10cnVuaworMjIyMSA0ZjU5M2IzOGQwNjE1NTc5YWNhZDRjM2M5Y2IzNTBlYjYwMGRkYzRlIGxlZ2FjeS10cnVuaworMjIyMiA1YzRkZDkzNDhlODExMzMyMGM0ZjdiNGU5ODMzZjMyMDVkZjE4YjgwIGxlZ2FjeS10cnVuaworMjIyMyBmZmZkMTI4NmM4ODI2NzkzNGQ3NDg2ZTRjNGU0NjdkNTdiMDg2NTliIGxlZ2FjeS10cnVuaworMjIyNCA2MTMxMTUwNmYyY2QwOWJhZGQ4Yjc5NDU2YWY5Nzg5MjE0ZWNiMGY0IGxlZ2FjeS10cnVuaworMjIyNSBhMjJkZjUyZDc3NDlhM2E4YzA3NzBhODIxM2RlNDdiMmNhNThmZWNmIGxlZ2FjeS10cnVuaworMjIyNiBhNzJjMGE3ZGM5OTNhYWUwNWU3MDg1Y2QzODY3OGI5ZGJiZWIxOTgxIGxlZ2FjeS10cnVuaworMjIyNyA0NmNiMTRhZWMxMGE4ZDZlMzY2NWI3MTg4MDcwYjY3ZTg5OWFkNjM2IGxlZ2FjeS10cnVuaworMjIyOCBmOThlNDE3MTFkMTc3OTAwYTk2ZDU3NDViYTkwY2M4OGJkODJkN2Q4IGxlZ2FjeS10cnVuaworMjIyOSAzNjUwMzczNmZkYzIzOTM0MDZjMDg2MGM4MWEyMDIyMmQ3M2NlZTU5IGxlZ2FjeS10cnVuaworMjIzMCBjY2NkNTM0ZjIyODA3NGYyNjc0ODQ4NDIyMWQ2OWYyZWU3NTJmMmIzIGxlZ2FjeS10cnVuaworMjIzMSBhMzZjMzQ4YThlMWEyOTE1ZDY5YjdkZDIwMjE2M2ZkYjdlNTk2Yzg4IGxlZ2FjeS10cnVuaworMjIzMiBhYzQ1MjJlOTljYTk0Mzc3YTY1YzY2Y2ZkYzI2Njg0ZmEwZmRmYmViIGxlZ2FjeS10cnVuaworMjIzMyA1ZThhMGI0MGE0YmRmMWU4M2M1ZDBiZjM4ZWZjNzc0NWIwNmVmOGQ0IGxlZ2FjeS10cnVuaworMjIzNCAzMDI4YWNhYTU2YjA1ZWQwZTExZTE1NmU4MWI1YTA2NzE5MTVjYjg2IGxlZ2FjeS10cnVuaworMjIzNSBiYzI0NGRmMjAyNTE2YjVhNTU1MTNlNDYzYjJmNjM3ZDE4ZjU4MDU1IGxlZ2FjeS10cnVuaworMjIzNiA4NWVlZDA2MGE0NmNlMjY2NDlmZDY4MDJjZmJkNWVlYzYxOTEwNjg4IGxlZ2FjeS10cnVuaworMjIzNyBlZGU4Njc5OTcwNWJhMTRiYzQwMjEzNTcxZGZlMmExZDVmNTZlOTA3IGxlZ2FjeS10cnVuaworMjIzOCBmNzJlMGM2MjM2OWUyNGNjYzBlY2RhYjc5MmM5N2EyMWIyMzMyYmFkIGxlZ2FjeS10cnVuaworMjIzOSBiMWZiNGUxZjZlNTE2ZDI4MGM1NTUwMWIyMzQ0NDk4Y2E2MjdmZWJjIGxlZ2FjeS10cnVuaworMjI0MCA2YzQzZTU0NzZkZTY5MDQxMjY5OWIzYmRlNmI1MDdiMWM0ODgwNGE2IGxlZ2FjeS10cnVuaworMjI0MSBmNDcxMDFkYzNjMTg4ZjI0ZjliOTcwNWRiM2I2NDg5MTkxNGJkYjgyIGxlZ2FjeS10cnVuaworMjI0MiBkZTM0ZjRhNGQzNTNiOWY1Zjk5MWFhY2E5OGM4M2ZhYWM2ODFjNmY1IGxlZ2FjeS10cnVuaworMjI0MyA1NTRhYzY1OWIyY2I5NTI0ZWY0Zjk2ZWMyNzU2ZGM0Y2EwZmEwZjliIGxlZ2FjeS10cnVuaworMjI0NCBmNmJjZjNjMWQ3MTRlNzg3NTM1NmNhMTJjMzJlZTVmOTc1ZjRlZDhhIGxlZ2FjeS10cnVuaworMjI0NSBhNzljYmIyNjU1YmFhZjU0YWRkYzIyMDMzNTAwMzY0NzliZGNiN2UzIGxlZ2FjeS10cnVuaworMjI0NiAwNmM5MmY0OTFmNTg4ZWQ5YWJlMGYyZDRmMTUxMjA2OWEzMGMxOTAxIGxlZ2FjeS10cnVuaworMjI0NyBhNjkzNDM4MGM2ZTc5Yjg3Zjc3NjJiMWQ5NDMzZDBlMGE4OTM3NDUyIGxlZ2FjeS10cnVuaworMjI0OCBlZjI0NDBmMjRmMTAyYzY3N2EwMmQ0MDc5ODhkZDg1ZjVkYTUwY2FiIGxlZ2FjeS10cnVuaworMjI0OSAxNmU4YzVkMTY0OTM1ZjNjNmE5ODllZWVhZGYyMmIwYWI0ZGMyMmVhIGxlZ2FjeS10cnVuaworMjI1MCA1ODQ3ZGYxMzk5MWRlNmE4MzY0ODQxMDc1NTNmNGU5Y2VjY2E4YTE0IGxlZ2FjeS10cnVuaworMjI1MSA1Y2I4NDNiYzg3ZmMwODY1NDZmYWJmNmI4ZWMwM2VlZDMxZTIwYThmIGxlZ2FjeS10cnVuaworMjI1MiA1YzM1N2QzN2IzMjczMWM4ZDAyMDQ1NDk3MDIwODU4Yzc5YzU3MTM5IGxlZ2FjeS10cnVuaworMjI1MyAwMDIwNjZhODM5YzUxY2MxODRhMGM2ZTY2OWVjOWQ2MzQyMGNkYTY3IGxlZ2FjeS10cnVuaworMjI1NCA5ZTA1MWZjNzA3M2U3N2I5ZTE1MDM0YTE5ZTU0N2VmZTJiODVjNjZhIGxlZ2FjeS10cnVuaworMjI1NSBkYWM4NjI1YzhkOWIwMTQxNzljZDU4MzM1OGI0ZDBlNGUyNTAyNTY3IGxlZ2FjeS10cnVuaworMjI1NiBhNWJmN2Q1OTU5Y2UwNTBmMmIwNTFjMTJlODE4MDg5NWU3ZTZkOGE5IGxlZ2FjeS10cnVuaworMjI1NyAyN2E1YjA4YzNlNzQyYzYyYTE1YjY4MTU2ZmUwZDQ4OGMwOTRhZDQyIGxlZ2FjeS10cnVuaworMjI1OCA2Yjc1ZjJhMzAwMGQ0MDY1MTQ2YjJkYWZlNmQ4M2QzMzA3MWU4ZDM1IGxlZ2FjeS10cnVuaworMjI1OSA0NTVkNjVhMTFiMTNlZDM3NzkyZTFmNGZmYmZlM2JjZGZhYTc4M2VlIGxlZ2FjeS10cnVuaworMjI2MCBlMGM4ZWZlZTc2YmQ4MTU3ODRjODEzYzY2YTJhMTA0NmU1YTBiZjVhIGxlZ2FjeS10cnVuaworMjI2MSBhZDE0YWE4YTI5ODQ0MzIzODRmN2FmMjFkNDUyYmU1YWFiYTZmMThmIGxlZ2FjeS10cnVuaworMjI2MiAwOGU1NWRiNmY3OTZhMjc2ZWNkMWMxNjgzYTUwMmJhZmQ3MjQ3ODcyIGxlZ2FjeS10cnVuaworMjI2MyBmMmNhY2I5MGM5MTdjOGQyOTI3OTk0Y2MyNDMxMmE2MjFkYjEzZjgzIGxlZ2FjeS10cnVuaworMjI2NCAxMjI5YmExMjRlMGJhOGVjZTkyMmNlMTRjMGY0YWFiZGJkZTFkM2YwIGxlZ2FjeS10cnVuaworMjI2NSA0ZWM4YzI2M2FiNDhiNDlkNzcyNzAxMWM0YTg2YzdiMTA5YjBmYTU4IGxlZ2FjeS10cnVuaworMjI2NiBiNGQ1ZmRjYmY4M2M2OGY5MTNhZjRjMTc1YTE0M2M4YWJmNzc1ZmVmIGxlZ2FjeS10cnVuaworMjI2NyA2NDM3M2M3OWMwOTk5OTBjYjY5MjYyZDE4M2E0NWU0ZGJmZjQyODQyIGxlZ2FjeS10cnVuaworMjI2OCAxZTAwN2RjY2IyNzA5YjA4MTFlNTNiZjA3YzdiODc5NzkxYWM5Nzc0IGxlZ2FjeS10cnVuaworMjI2OSBhZTliMzY2YzU3NWQ1NTdlNmY4MDZmMGQxNmU1NDc4NTcxNzU0YzFiIGxlZ2FjeS10cnVuaworMjI3MCBmNjk0MDM2Yjg1NjFlYjFiM2NiNTllZjM2ODBkN2U5NmRkZmQ3MWEwIGxlZ2FjeS10cnVuaworMjI3MSBlNGIxZDllNjk4MGE0MzhmOTAyZWVmOTAwMzY4YzJlNmEyZDUwYTY0IGxlZ2FjeS10cnVuaworMjI3MiBkMDhmNzUyYjU2YzA2MTQ2ZDViYWNmYjJlZjc2YzEwMzZhM2NkYzQ5IGxlZ2FjeS10cnVuaworMjI3MyBkOGExYjY0NTYyMTJiMjhiNjEyNjRkYjAyZDY1YjJjNWY2ZGU3MmM4IGxlZ2FjeS10cnVuaworMjI3NCBkMTY5NjExNjczNjVmZmZmODE3YmI4ZTY4YTIxMTFmZTUzYTZjYzU4IGxlZ2FjeS10cnVuaworMjI3NSAxZWZiOGVkNmFmZDMzYTAwNmM1Mjk5ZDNhNDE1YWNlMTJjOTg2YTg5IGxlZ2FjeS10cnVuaworMjI3NiA0MDk0YjQ2ZjA0YzhlYWYzMjViM2Q1OTllNzMyYTViZjlhOGMzYTdiIGxlZ2FjeS10cnVuaworMjI3NyAwYTAyY2E5ZGNkNmUwMjJmMTBhMWNjNTUzN2M3OGFhNzEzMjRhMzIzIGxlZ2FjeS10cnVuaworMjI3OCA3ODczM2MxYzZlMzYxODdhZjU3ZjRlYTI1MTcwYWQwN2QwODEwYmI4IGxlZ2FjeS10cnVuaworMjI3OSBhODA5MDEzYzJhZjFlZjNmZDY5ZmY1MWI0OWMyNTYzYWY3YzMyNzA1IGxlZ2FjeS10cnVuaworMjI4MCA5ZmVlMWNhNmM4ZmVkMTU3NzBjZjA2ZjQxODc1ZGZmYWU5YWVkNDJhIGxlZ2FjeS10cnVuaworMjI4MSBjOWE1ZmUxNjYwZjUxOTg1ZTI2OWJlNDkyOTQ2NGU1YzRlYTJlNWFkIGxlZ2FjeS10cnVuaworMjI4MiAwYzI1ZmFmNGE2YTQ0NTA4NWM0YjdhOTg1YjdhNDMwMGM5MzljZjcxIGxlZ2FjeS10cnVuaworMjI4MyBiMzgwM2ZkM2NiMmM4ZDkwOTMxMzZmNWExZDJlYzUwZjk4MWI0MzEyIGxlZ2FjeS10cnVuaworMjI4NCAyMjcyN2I0Mzc4MWU3YzUzZGJkY2Y1MmYzOGFiZmQwOWQ2ZDA4MTRmIGxlZ2FjeS10cnVuaworMjI4NSBhOGQwMzNjNmZiNTRhM2VlYTgwZGUwYTI5NTJjZjVhOTgwYjNmODQ3IGxlZ2FjeS10cnVuaworMjI4NiBmNzFkNmEwOTZiMDIxOGEyNjcyN2JkYTBkNGQzZDVhY2JmMzUyM2RiIGxlZ2FjeS10cnVuaworMjI4NyAyN2NjMGQ4MjM3NjYzYjc1ZGEzODcxNTQ2YjIwM2Y1Njg1YTQ3YTQ1IGxlZ2FjeS10cnVuaworMjI4OCBkMjE0YjVkMjFkZjhjNWFjZWNlZWU1NmJlMTQ4MTg0NDVmODA5ODMzIGxlZ2FjeS10cnVuaworMjI4OSAzYmVkNzZjZGFjMGM0NjU1Y2Y4MDI1YmE2MTIyMWYzZWNjZDdiNjlmIGxlZ2FjeS10cnVuaworMjI5MCBlZmQ5MDA0OTdmNGY4N2Q3MTdkMTM3ZGI1OGFmOTk1ZDZhMDNiMTRiIGxlZ2FjeS10cnVuaworMjI5MSA4ZjIxNGQ2MTdhY2FiODBmMTY2N2MxMDJiNmZlODVmNjgwYmNlMGRiIGxlZ2FjeS10cnVuaworMjI5MiBhZDRjNWE1ZWYwZmZlZWU5YjlhYTg4NWE0MTZlMDlmYTQ0OTI1MWIwIGxlZ2FjeS10cnVuaworMjI5MyA2NWVkZGUwMjJkNzFlZTM4M2IwYTU0NmM3Mjk3YzkzODk4YTZlMWIxIGxlZ2FjeS10cnVuaworMjI5NCAwNjg4OTY4NWViNjIwMWQyNGU5MTNiNGMwNTRjMWYyMjc0ZDRkMzVkIGxlZ2FjeS10cnVuaworMjI5NSA1ZDVjOWIyZGE1NjIyMTgyY2FmY2YxNzc3YjhhYTc2YzcwYWI3NjIwIGxlZ2FjeS10cnVuaworMjI5NiAyNmNjYmMzZTQxYzQ2MWFkNzlhNDJlMjAxMzM5Y2I5ZjlhMmQ4OWM3IGxlZ2FjeS10cnVuaworMjI5NyA2NTIzYmQyOTU0ZjA0MzZmYjhmNmNiNGFhYWZhMzAwNTA3ZTNhYjI3IGxlZ2FjeS10cnVuaworMjI5OCA4MmVmOTRiOGI5MDJlMzQ5NGIzODYwMWQxODQ0YmI5NTlkZTMxNjc3IGxlZ2FjeS10cnVuaworMjI5OSBiYjI0OTQ4OTU3ZTNjYTk2ODc2ZTkwMmVkYjI5MGFiNDY0YmE2YjZlIGxlZ2FjeS10cnVuaworMjMwMCBjMjk0YThjYWViYjliYjNlZTlmODkyYTM3MmQ2NDU3NTA3MDQ2ZjUzIGxlZ2FjeS10cnVuaworMjMwMSAzYjgwMjNiMGJiNDhiMTA2NmQ0YTMzNDA3MzE3MzA0ZDM3MjllMzkxIGxlZ2FjeS10cnVuaworMjMwMiBiZjVhODUzOWQ4YmE3Zjc0ZjAzNDIyYzViNGY2NjkwNzBmYjk2NTIxIGxlZ2FjeS10cnVuaworMjMwMyBjN2VhNjA0OTFlNjgxZTliOTFmNzZhMDEyYzRkYzk0NGI1ZmZmMmQ4IGxlZ2FjeS10cnVuaworMjMwNCAxODcwZDgyZGUwNjk5YWZiYTg5YTE5NDY2YjJmOWMzNjUxYjRjYzlhIGxlZ2FjeS10cnVuaworMjMwNSBjNzBlZWZlNDgwMjkwYTFkODBkOTg3YTJmZjU5OWEwZWFjYmViOTkwIGxlZ2FjeS10cnVuaworMjMwNiA4NTNiNzM2YTZhOWVlMzhlMzMwMWQ0MzBjMTUyYWU3NThlMTYxYTQwIGxlZ2FjeS10cnVuaworMjMwNyAwZjU5ODk5M2Q5OTg2ZjRhZTRlNmRkOWEzNDkxZDUwOWIzMDk4ZTgzIGxlZ2FjeS10cnVuaworMjMwOCAzNDk5YWQ4NzgzOWFmN2ExYTRmNzFjMTVmODlkMjBhYjg0Yzc4ZTcxIGxlZ2FjeS10cnVuaworMjMwOSBhMGM1ZjJhZjJlMGNhZDVjNGQ0ZGU0YTg5M2NhNWE1ZmU3Y2U3ZDQxIGxlZ2FjeS10cnVuaworMjMxMCA2MWM1MjYwYzM2NGYyNjBlNGM5YzljNTlkN2Y5ZDJhN2Q0NDM2YTFjIGxlZ2FjeS10cnVuaworMjMxMSBjNjVlYmE4MTk0YzdiNDAzYjllNzJlYWFjNDUwZTJkYWRhZjIwMzc3IGxlZ2FjeS10cnVuaworMjMxMiA5ZDRjN2RlMGRlZjRmZTY3ZWY1YWQ1ODI0NGM3Njk5YjUxODhiYTFkIGxlZ2FjeS10cnVuaworMjMxMyAxZDQwOTRjN2Q1OGI4YzczMGYwMzRiMWIzMTM2NTE4NTYyOWRhNTYzIGxlZ2FjeS10cnVuaworMjMxNCBlNTc2NGEwZDJkMzI5OWRhNjYxNGVlZjE5MjJjN2Y0MTc3NjY1ZmNlIGxlZ2FjeS10cnVuaworMjMxNSBmMmVmY2VhZjczY2M5ZDk5OWI4ZGY1M2JmZjdjZDIxOGEyZTYzMjQzIGxlZ2FjeS10cnVuaworMjMxNiA4OTZjODI1ZjJmNzFiZGQyYWMwZGYxMmI1YzZmZjE3OWUwNmNkYTI1IGxlZ2FjeS10cnVuaworMjMxNyA0M2NhYmFjNTAyM2QyYWMyN2Y1YzlhM2M4MzVmMWFjNjY4YzQzNjgzIGxlZ2FjeS10cnVuaworMjMxOCA0N2NjMGNlNzk5OWM3ODdmNmU5NGJkM2EwM2UxOWMwOTAyMjI0OGZlIGxlZ2FjeS10cnVuaworMjMxOSBjODY1OWY4YTVmNjM3ODRjNWFmZTQwMGRjMTdiNWZjMTkyZDAwMTk1IGxlZ2FjeS10cnVuaworMjMyMCA0MWYzYzY2YjEwZmQwYTY1Y2FiYzQ4YmZhMWM2YWViMzIwZDQxMzU1IGxlZ2FjeS10cnVuaworMjMyMSBhZmE0OGE5NmE0NDQzY2I1ODU3MTM4Nzk5ZTFkMDljNWRjNGJhZDY4IGxlZ2FjeS10cnVuaworMjMyMiAyNWE3ZmI0NGUyOTc4NDQ5ODEyMzU0Y2IwN2EyYjg2MmFmMzJjZWUyIGxlZ2FjeS10cnVuaworMjMyMyA3NjE4Njk3NjZlNDUyOGU2OGYxZDExNDYwNmViYzkxZWVjOGE0ZWZhIGxlZ2FjeS10cnVuaworMjMyNCBlZjliNGJlNWEzZmVhMTAyOWIzMWI1MTU0MjQ2OWRlMGIyNjhkZjBiIGxlZ2FjeS10cnVuaworMjMyNSA3Y2U5MWNmYjdhYzQ1MTJkNDkwNzczZDgxNzQ5Mzc1YThiYzMyOTgyIGxlZ2FjeS10cnVuaworMjMyNiBhNDU0N2FmMjk2NzExYmFhNzQzNzcyMjkyYzc0MTg0YzlkMjc4NWM5IGxlZ2FjeS10cnVuaworMjMyNyAyODkyM2U0NDI1NGNlYjc2Nzg5N2Y0NWRkZWRlNWUyMjllZjU0ZWQzIGxlZ2FjeS10cnVuaworMjMyOCAzZmEyYjE0YmUyNzA5MTE5MDc5ZjdhNmM2MzBlNWIxMzVkNWRlOTA1IGxlZ2FjeS10cnVuaworMjMyOSA2NTg1YWFiZTE5NjhiYTU2MThmMThlYTBjOWRhMWM5Nzg4YjM0ODlmIGxlZ2FjeS10cnVuaworMjMzMCAxZWQ3ZjZmNjU5ODM3MWViZDIzNTBlMTY4MTA4MWIyNjdhYzMwMWU2IGxlZ2FjeS10cnVuaworMjMzMSBlZTBhMzJmZDQ1Njc4NDk1YWMwMjMzY2FhZjZlZWNkMGM4ODRlOThiIGxlZ2FjeS10cnVuaworMjMzMiAwY2VlMDFiNjhkOWM4MjRkMzMzMjJlMzYwMjRhMDJmNGE3NWU3ZTEwIGxlZ2FjeS10cnVuaworMjMzMyA1Y2YzYzM2ZDAyZWE0Y2FiMjMxYzI5OTdlYWIyOGZlMmM3MjZiMTFmIGxlZ2FjeS10cnVuaworMjMzNCA0NjU2NDUyNDM2ZTE5YzQxMmU4ODA4ODM0ZTMxODVhOTY1MDA5NWU0IGxlZ2FjeS10cnVuaworMjMzNSAyMGZlZTRlMmVlY2RjOTVlZTAwYjJlYTNjZDJiMmVlOTViNWU1YjRkIGxlZ2FjeS10cnVuaworMjMzNiAwNmNjM2IwMDY3MWMzZTIyMTU3ZTI3ZThhN2Y2ZTg2ODJhNzZhODQ5IGxlZ2FjeS10cnVuaworMjMzNyAyMjkxNjhhMmZlMjg2YThiMjVkODNkODA1NjNkNzVmNDYwYTI1OWEwIGxlZ2FjeS10cnVuaworMjMzOCBiZDQ5Y2E2YzRhZGQyNDNjODhhMDk0MmFiZjVmMTNjZWYxMGZjM2QxIGxlZ2FjeS10cnVuaworMjMzOSBmYjYzNjdkNWZmNDY0OTA1NGU4Nzc5N2Y0MTIyMzQ4OTMwNTkxM2E0IGxlZ2FjeS10cnVuaworMjM0MCAwYzM1NWU5ZWU4NTQ1OGExZDFhZWU4YmFkZWFkYjgyZjVhYmFkYjRmIGxlZ2FjeS10cnVuaworMjM0MSBhNDA1YTMxMjQyZTdjNGI0ZDJlZDBlNDZiZTVmNGY5MGEzZDczOGNhIGxlZ2FjeS10cnVuaworMjM0MiBhODIzNjAyYzIyNzQxZDVhYjljNDc4YzZmNWJkMTkxN2MyMDQxNWVjIGxlZ2FjeS10cnVuaworMjM0MyA1OWZmYjZkNGIzNGM3NjczY2E3NGFmZGE4MmFlYTYzZmQ0YmNlZDc0IGxlZ2FjeS10cnVuaworMjM0NCBjOTE2OGFmZTIzZGRmNjljZGY1ZjAxNmM3MzFlZDNjNGNhYmNmMDE0IGxlZ2FjeS10cnVuaworMjM0NSAxYjA4ZGY0MTU4N2I4NTVmNGM2MjViOTIzYmJmZmQ0NjI3NTRiNTk0IGxlZ2FjeS10cnVuaworMjM0NiAzMzQ2NjI2OGI2MzcxZWE1ZTkzYzkzMWQwY2UzMzU0MGQ1YWUyZThkIGxlZ2FjeS10cnVuaworMjM0NyA4OTExNWU3NTM0ZDU4MGUwYjhkMjU4MWM4YzI0ZDAwNzkxZGIxYThkIGxlZ2FjeS10cnVuaworMjM0OCBmNDdkNWU5ZWEyNjRlZjkzZDM1ZmQ5YjQxOTQ4Y2QxNDJiYTcwZDQ3IGxlZ2FjeS10cnVuaworMjM0OSBkODE4MThlNjI2NzFhNjNlNTU1M2M5OThjYzYxYmRmYjM1OTEzNDZhIGxlZ2FjeS10cnVuaworMjM1MCBmZjBkYWUxZjRkYjYyNWJmMTMxYmViN2I2Y2Y3M2YxM2FlNTdjNWZhIGxlZ2FjeS10cnVuaworMjM1MSBiNTBmYTZkNTg3ODZkZGJkNDczZGVjZDk1ZTYwNWI4OWUwNGJjNDhjIGxlZ2FjeS10cnVuaworMjM1MiA1ZmZkMzcxYjc4NDFkZTY1MGMyYmZhYzEyN2YwNDBiOWZiNzgyYTk3IGxlZ2FjeS10cnVuaworMjM1MyAzMmFlNGExYWFiNjg5YWVmOGVlMDkwYzRjMTg5MTZkYTc4ZTIyZmRiIGxlZ2FjeS10cnVuaworMjM1NCA1N2YzZmZjN2IxYzQwNTQyNTE5OWViN2ZjMmQ4MzRkMzg1NzgyZTNkIGxlZ2FjeS10cnVuaworMjM1NSAxNDVmOWUxNDU5NWY0YmM2MmIxZTc0MjA3YzZkNTk2MzZhN2U5N2UxIGxlZ2FjeS10cnVuaworMjM1NiA0NWY0M2Y3NTVlNWM1M2JiNGZlY2M4NThhNzU1NDIzZDgyZTU4Zjg5IGxlZ2FjeS10cnVuaworMjM1NyA0OGZjMGI4ZjMzZDkwOWI0NDNmZDgwYjgzM2VhNWZiNGM1NTNlYTUwIGxlZ2FjeS10cnVuaworMjM1OCA0MjNiZTg3NmRjY2U2MjI1NzBjNTc5MzE5OTQ5NjY4MTJkMTE0ODMxIGxlZ2FjeS10cnVuaworMjM1OSA2NDYzMTZjOTk1MDc4ODhjZTkyMjZmZTdlNjc5N2ZlNzY4ZmU1M2YwIGxlZ2FjeS10cnVuaworMjM2MCAwYTNlMzNjZmQ0YTkzMzNlOWQwNmQ0NzQ2M2FlZGZiYTA2NzQwZTlhIGxlZ2FjeS10cnVuaworMjM2MSA5ZDAxOTY1ZjRmNDhhZmQ1OGU5ZjJjOThlYzM1NWZkZTZiODU2OWNkIGxlZ2FjeS10cnVuaworMjM2MiAzMTBmOGM5MjQwNzMyZTBhNzM2NDcxMzM0NjQzOWM2ZjUxYzI5N2VmIGxlZ2FjeS10cnVuaworMjM2MyBiZmZmYzdlMGZjYzNlMTkwYTEzNTUyODhlOGFkNzFhYjEzYTZjOThmIGxlZ2FjeS10cnVuaworMjM2NCBjZWIzNmVjNjE5OGRmMzk5YzE5OWQ3ZDAxOGViZDE2NGJhNmY2Nzg3IGxlZ2FjeS10cnVuaworMjM2NSAzZDdkYTYxNzRlMmU1ODUzZmM1MmVjYzhkZmI1YTg5MGQ1NTQ3ZGMyIGxlZ2FjeS10cnVuaworMjM2NiA4ZmZkYTg0NmQ3ODg5ZmQ5NzNjYTkwMDUyNGU0YzkxNzEzMTM1YWVjIGxlZ2FjeS10cnVuaworMjM2NyAzY2M1NDk3MmFiNTIzMDZhZjU5OTI3ZDViYTA3MDIyYmI2NWQwNGE1IGxlZ2FjeS10cnVuaworMjM2OCA5YWIzMjk2OTdkZGE1NDc1MDk4ODg1MjQ1MzBlMDI4MGM1NDIwMGZmIGxlZ2FjeS10cnVuaworMjM2OSBmMzUyZWE0ZGZmNzA4YjFhNzJhOTVjNDVlZDk5YTg0ODkxODZmYTExIGxlZ2FjeS10cnVuaworMjM3MCBlNDg2Yzg0OWM1MGMyNTZlYmM2ZjA5MDNhOTY5ZWEwMzZkNDM4OWM0IGxlZ2FjeS10cnVuaworMjM3MSA5MWEyZjQ3NDU4NTIxODQ0MDVmNjJlMTNkYzllOTJjNTA3ZGM4ZTk2IGxlZ2FjeS10cnVuaworMjM3MiA4M2YwYTcyNGE4N2MwMTYzMGEzOTZiYTU2YTNhYmE5YmRiYWVmNDZlIGxlZ2FjeS10cnVuaworMjM3MyBhNzkzYzllODgwYzdmOTM1OWYwNjMzODA3ZDdkNjJkNWFjMDcyNDBmIGxlZ2FjeS10cnVuaworMjM3NCA2NmI1NTc2NmJhNjU4YTU2YjFlYzQxZGU5YzJiMTYyYjhhOGIxYjE2IGxlZ2FjeS10cnVuaworMjM3NSBlZDAzMTFiOGU3NDE5MTgwNzljN2Y1MjZhY2YyODE3Nzc2MTZiNTVlIGxlZ2FjeS10cnVuaworMjM3NiBmNjFlNzM2OGRlZjJlOWU1ZjU1ODY4N2M5YWMxNWZhMzRmMDBkMWYyIGxlZ2FjeS10cnVuaworMjM3NyAxNzU0YjgwMjRiNTVkMGMzN2ZmZTZjMWFmM2ViMDFiMzcxZDZhZWRhIGxlZ2FjeS10cnVuaworMjM3OCAxOTU4NzIzYmZlMDI0ZDZlYjRhNGIwYzY2ZjI5YzU4ZDJiMjZhYmFmIGxlZ2FjeS10cnVuaworMjM3OSAzNDI5Yzk0NWQ4MTdkYmQxZWM0MTVhYzk1MzZkMmQyMTRhYmE4MjU4IGxlZ2FjeS10cnVuaworMjM4MCBhMTA5N2NkMDMzNDhlZTgxYjYxYzA2MDQ4Y2NiYTZkOWMyNThjYjZjIGxlZ2FjeS10cnVuaworMjM4MSAxZWZmNjExMTU4MmU0OGUwMDkwNjg4ZjQ3NWQxNmRiZGQ4ZjIyN2RkIGxlZ2FjeS10cnVuaworMjM4MiBlZGRhOWFhZDNlOGYxN2UyZDhmYmNjMzI3ZjE3ZmI2YzBlZmM3NjdiIGxlZ2FjeS10cnVuaworMjM4MyAyODk4ZDc4ZmEzMmRlN2UwNmIwZGMxYjRlMmJhOGIzMzg4ZDU2ZDVkIGxlZ2FjeS10cnVuaworMjM4NCA2NjkzYzVkODdmM2EwNDlkOTA4MGFlNmM5MDRlZDlhMjM0NjkxM2IwIGxlZ2FjeS10cnVuaworMjM4NSBlNzFiNmZlYzg2ZTU5OGZkMzAyNmY3ZWQ2MzA4ZmEzNzMwZTZhNWVlIGxlZ2FjeS10cnVuaworMjM4NiA3ODE5ZTE2MTUzMjBiNDIwNjIzMmVkYzM3ZWI4NjJiYzZmODczYjYyIGxlZ2FjeS10cnVuaworMjM4NyA3ZTgzMTE1ZWRiNmFlNmQzMjY0ZWMzM2M4OTQzMmIzZWRhMmYwMDAxIGxlZ2FjeS10cnVuaworMjM4OCA3ZWM2MDU4YjUzOWI3ZWQ5ZmEwY2Y2YmUzN2VkY2QxNmZjMTY4NjhiIGxlZ2FjeS10cnVuaworMjM4OSA2MzRjMWQzYzdkMzkyM2YwNGNhNTM0YWE4ZmYwNzQzOTkyOTYxMWM4IGxlZ2FjeS10cnVuaworMjM5MCAwODU5N2UyYjYzZDNmOTQzY2ZkZTZkMjc0MzQ0Njc1YzcyN2MzZTA0IGxlZ2FjeS10cnVuaworMjM5MSA3YmE5NjEyMDU4YTQ2OWIzNDkzOWY0ODgwN2JkNmUyYzI0ZWUwZjYyIGxlZ2FjeS10cnVuaworMjM5MiBiMzFhYmY0MjBlNjFhN2EwYTVhYWI0YTcxMjliYWExNThjOWVlZjA0IGxlZ2FjeS10cnVuaworMjM5MyBhZjJlNjQwMDc2OTgxN2IzOGVmYjdlZDUwNWFjYTZjODFjNTg4OWRjIGxlZ2FjeS10cnVuaworMjM5NCA4ZjYyYTU0NTczMTllMjY3ZjQ0YjZiZTUxZWYzYmUxZDgwYThlZjNmIGxlZ2FjeS10cnVuaworMjM5NSA5MTRjODNjZmE1ZTEwNWM3OTEyNDdjM2E4ZGZiZDA4MTZjZjQ0OTk3IGxlZ2FjeS10cnVuaworMjM5NiA5NzcwMTEyZTY2MGE5MDNmNWVhYzY1NzhhOGQ1NTg4MTRmNzQ4YjIyIGxlZ2FjeS10cnVuaworMjM5NyAwYTkyYjZhMWI5YzBhYmU4NzdiNjFhNGUzYjQ1OGUxZmViN2I2OGFlIGxlZ2FjeS10cnVuaworMjM5OCAxNmY0Njc3MTdkN2FiNzAzNWExMTVhYTlkNTEyZWI1OWM3MGY5YmNjIGxlZ2FjeS10cnVuaworMjM5OSBmZDgxNmVkMTdlMzVmMTcxMGU4Yjk2YjNjYzlmYjdlMDkxZDU1ZTE5IGxlZ2FjeS10cnVuaworMjQwMCBmZGE5NzNmMmE1MTJiOWE1NjI1NzU1Y2U3MDFmNjNhZWI3ZGVkMmI3IGxlZ2FjeS10cnVuaworMjQwMSAwYWFkM2E3Yjk3ZWYzNTI5MTMxNzExZmM4MWFiZDM3Nzk0YWZiZTUyIGxlZ2FjeS10cnVuaworMjQwMiA0MWUwNTc4NzBhNTM1NGVmNWI1Mjk1NmI4OTg5MmY0NGEzYmY3ZDc1IGxlZ2FjeS10cnVuaworMjQwMyAzMTZhMGQ5YzAwOTY5ZWQwNjZiMDI1YzA1NGZkYjBkMWM0NGQ2OGQ0IGxlZ2FjeS10cnVuaworMjQwNCA1ZjdjMjRiMzk1M2JlNzQ0M2VkNmYxZTM3OWIzMGI1M2JiZDBhZTc3IGxlZ2FjeS10cnVuaworMjQwNSA0N2ViODFkYTQ2ZGMyMTY3N2YxOGJjMWY1M2JhZWYyMGY0NGJmNTg3IGxlZ2FjeS10cnVuaworMjQwNiA0MzEzM2Q4ODVjNGNjOTYzMjExNjk5ZWQyOGM5Njc5MDNlMTY3YTNmIGxlZ2FjeS10cnVuaworMjQwNyA5NTZmZDVjM2YwNDA3ODAxN2RiYjI1ZmI3MGIyYWQxYThlYTFiMjhiIGxlZ2FjeS10cnVuaworMjQwOCAzNTliZjEwOWRhMGY3YzYxMDJjMGRkZTkwYTU5OWU4MTg4ZWIxZjRkIGxlZ2FjeS10cnVuaworMjQwOSA5ZWIxM2M2N2FlNmZmNmJlYTkyZjgyNmNlN2FmMTM1YWMwYWViOWJiIGxlZ2FjeS10cnVuaworMjQxMCBiYWIxZjU0OTRiOGVkZGNkZDFlNzlkNzE3OTRjNGYzZTA4M2MzMjY4IGxlZ2FjeS10cnVuaworMjQxMSBiOTk4NjAwOWQ3ZGM0YjdjMjg5MDU0YTg5YTY4NmNkYTJmYTZlZDc3IGxlZ2FjeS10cnVuaworMjQxMiA0OGQ1OGI3NGEzYTQ3YWJjYzYxNmJjYjYzNThiMDhkNDI1MjI1OWEzIGxlZ2FjeS10cnVuaworMjQxMyA2ODExOTEyZjY3MmQ4OTQzMzkxMzJiNmI4ZmM4NmRjZDU5MGNhMzczIGxlZ2FjeS10cnVuaworMjQxNCBkNGU1MzJlZTZmM2QxODdjMDdlZDU3ZDQ0NzU5YjQwNDBlY2NjMjM3IGxlZ2FjeS10cnVuaworMjQxNSA3MWIwYmQ1ZWQxNjIwNWIyMWQ0MzZhNmNiZmQ0ODEyZjE2YzlmOWFkIGxlZ2FjeS10cnVuaworMjQxNiA4NjA0ZjkwMjljZGEzZDcxN2JlYzY0MTI2NmVjNzA0YzhmMzY5ZTIwIGxlZ2FjeS10cnVuaworMjQxNyAzZWFiMmNmNWU0ZGQ1MWNmY2M0NDlkZjZlNGMwOThkZjliMGNmN2Q0IGxlZ2FjeS10cnVuaworMjQxOCBhNDY1NThhZDBiZWRhOTU4YWM1YzE3MDExNTZlNDY5MThjMGM3MWQ0IGxlZ2FjeS10cnVuaworMjQxOSAzYjkzYmNlYTEwZjZkZjg2OTE4MzgzNWU4NGNmZjViZmM1ODc3ODRhIGxlZ2FjeS10cnVuaworMjQyMCA2MzIxZDNkYzU3ZTBjMTg5MGE2ZjYyMmM1MWQzOWY0MGFmYWNhNjRkIGxlZ2FjeS10cnVuaworMjQyMSAyNmIyZWVkNzgzODE0ODgwNzQxMzMwZDBkNmMyZDFiOGJlMTE0ZTA0IGxlZ2FjeS10cnVuaworMjQyMiBmNGE5NDRlOTgzNWZhOTMyZjE0MjY4NWE3ZTI0NGY2ZDI5OTQ3MTE0IGxlZ2FjeS10cnVuaworMjQyMyA2YWNkNDFhNDVkOGRhOGJiMGYzYTU2ZmJkZTBmOGM2NjgyNmQwM2Q5IGxlZ2FjeS10cnVuaworMjQyNCAyOGYwZmZkOWZhY2ZiOTlhYzU5NThjNzhlMDgzY2UyMjY2MzgwOTE3IGxlZ2FjeS10cnVuaworMjQyNSA3MmQxYjg5YmUzNWFlMjJiYjZhZWE1M2EzN2QzODQ0ODQ2MzNjZjQ4IGxlZ2FjeS10cnVuaworMjQyNiAxODdiYTE3MzNiMTc4MWI0YmY1ZDk3YTRkNGZiMzM0MjU1NTBkODkwIGxlZ2FjeS10cnVuaworMjQyNyBiNTgyNmJmMjk2Nzc2ZWEwZjQzYTk1MjEwNGQxMTQ5OGZmMjRhZDZlIGxlZ2FjeS10cnVuaworMjQyOCA0NTc2NjFlNDdjN2JhOWI2ZGQ5MjY1M2Y3YjQ3ZDdhY2ZhOTQyM2E1IGxlZ2FjeS10cnVuaworMjQyOSAwZmUyNDcxMTY2ZjA1M2JmN2Y2YjFiMDEzM2QzOWQ4YzI2ZWZiMjNmIGxlZ2FjeS10cnVuaworMjQzMCA3NDVhNDY2MTE5NTdkNmIyNDU0NzY3OGRlM2ExZWUwZjUyM2VjZTY1IGxlZ2FjeS10cnVuaworMjQzMSBhZGVkMjA4YWRmNmM2Mjg1YTgzZThlNDNiYzU5MjllZDA0ZTQyYzNjIGxlZ2FjeS10cnVuaworMjQzMiAwYmYwMmUxYjdmNTFkZTZjNjUwZDE4OTg1NjUyZmVkYmNhMGU5YTEwIGxlZ2FjeS10cnVuaworMjQzMyBmMDg1N2NlN2VkNGZhZTQwOTg1ZTJkZDBkMjE2Mzc2ZmZmZjMwN2M2IGxlZ2FjeS10cnVuaworMjQzNCBhZjFjOGY1ZDBiMzdmOTMxYmQxNzYxYjg5M2Q3N2NmM2E5NWUwNTY5IGxlZ2FjeS10cnVuaworMjQzNSAxMmE2NDExNWE0ZWViZGE0YjhjY2Y5M2YzMjIxNmIyMjcwNzg0YTk2IGxlZ2FjeS10cnVuaworMjQzNiA4MDAwMWMwMjNiMmIyNmZhYzk4YzI5NDBmMzFhNDZjZjJmNTRiZTk4IGxlZ2FjeS10cnVuaworMjQzNyAxMDc4Y2QyNzNiNDA0MWI3OWYxMmZiNDE5Zjg1NzQ5YjdkZjliZmJiIGxlZ2FjeS10cnVuaworMjQzOCA1M2M4ZDc2MmYzYTgzZTIwM2E1ZWEwMTIxM2QxMTVjNTUzZDNmYjQwIGxlZ2FjeS10cnVuaworMjQzOSBhZjlhODYzNmU0YTg3Nzg3NDcxNDEwOTM0MTUyMzE0NzJiN2Y5YzRlIGxlZ2FjeS10cnVuaworMjQ0MCA5YzkyNGY5YzNiMTY5NDMyODdhYTU2YmJkOWVmY2YzMzZhMTY1NDZkIGxlZ2FjeS10cnVuaworMjQ0MSA3MDJhMTM5ZmEyNGI0OWE4NGE1MzAxMjI5ZjMwYzBlMDkwYTIxMWFmIGxlZ2FjeS10cnVuaworMjQ0MiA2ZGZjOTI2MzAxMjM0NzBhMDQ0N2NmYWQ3YmFlNzlkOTAwMjY0MjEyIGxlZ2FjeS10cnVuaworMjQ0MyBkNWM5YWU0MjJiNDEwMzY2ZDVkMzAxNzc0YjYyZDc3NTk2YmJiNTk1IGxlZ2FjeS10cnVuaworMjQ0NCBlZDAxNjI1NTg5MjkzM2E5ZGUyZTFjY2JkZDYzM2U3ZjQyZWUzMTEyIGxlZ2FjeS10cnVuaworMjQ0NSA2YWM0MDIwMjNjYWM1ZWE5ZjM3NWY0MjI1ZDUxZTRkMWYzOTY2YmQ4IGxlZ2FjeS10cnVuaworMjQ0NiA4NWJkN2RhYzEzZjNhZWM4ZmNmMjQxYTg0NGE2NDc0NDJkNjg1MzY1IGxlZ2FjeS10cnVuaworMjQ0NyAzOTA1ZGE2YzRhOGJmMTQ1N2FiYjBmZGRjZTE4ZDJlYTAzOTRjNmVmIGxlZ2FjeS10cnVuaworMjQ0OCAwN2VmZGEyOTUxYTg3ZjFmOTAyMjA1YjBiZDhlMzE5MGIzOWI3ZDA2IGxlZ2FjeS10cnVuaworMjQ0OSA5YjQzYTk4MzEyNGMxMmM2NjI4ZDIzNDMzM2Q4MTc3MjUzYjY5ZTRlIGxlZ2FjeS10cnVuaworMjQ1MCBjNGMyNzhjNTZlOTAwMDUzMTNiMjUxYzU5YWJhZTgzMTczMDI4NmI3IGxlZ2FjeS10cnVuaworMjQ1MSA2NjM3ZWVlMWM0Zjg0MjJkNzYzZGNlODQ4YjMxYWM4MGUyOTU3YzE1IGxlZ2FjeS10cnVuaworMjQ1MiAwNjc3NGE5NGFiYjViZDczNjYxZjMxNjExMTE4ZTEyMGJlMzVmNjEzIGxlZ2FjeS10cnVuaworMjQ1MyA2MzA4NWY3YjNkYjVhZDJiY2FiNjUwNTMxYzI3YzhlYTgyMmFjNGMzIGxlZ2FjeS10cnVuaworMjQ1NCBmOTAwYjY5MmIzN2U0NzAxOGQ1NWRiM2Q5N2FlZjRjYzZkM2IwY2M3IGxlZ2FjeS10cnVuaworMjQ1NSA4OTM4YjMxMzJjYWE5MDM4YTA2YmY2ODViODMyOGFjZjNhMjJlZDViIGxlZ2FjeS10cnVuaworMjQ1NiBkN2EzOGRlY2U4NmE4MTgyYTRlZDMyNDQ1MzEzYmIzZTM5NDA1YzJiIGxlZ2FjeS10cnVuaworMjQ1NyA3YTM1ZDk4NTc2M2IyMWY5NTllMmQxNmM4YWVjYmViYjVlY2Q1NTVjIGxlZ2FjeS10cnVuaworMjQ1OCBhYmNjYjBmOWY3MzU5YmMyOWI2YmRkYjI5Y2RjZDAyYjM3ZjFlYjcwIGxlZ2FjeS10cnVuaworMjQ1OSA3Zjg3NTZmZDY0MjIwZTNkMTA2NjUxMjVkNmVmMmUyOWI4YTUwZTU4IGxlZ2FjeS10cnVuaworMjQ2MCBmNzA5MGY1ODE0YzIyNzYxOTg5MTdmZDg2NWJlNjcxNTUzNTRmOGM4IGxlZ2FjeS10cnVuaworMjQ2MSAwOWZiNzllN2JhZjdhZTdlMTBlYWRkMTIxOGE0NDk4YTY5MWQwYTY2IGxlZ2FjeS10cnVuaworMjQ2MiBjMjhmYWJlMjExNjU0NDU4Nzk4N2QzYzYwZjE0MzA2YzdiOTk3MmFiIGxlZ2FjeS10cnVuaworMjQ2MyBkMTlhNjY1OTA0ZGY1Nzk0ODM3YzUxNjQ4Nzk3ZThjYWJlYWViYzMyIGxlZ2FjeS10cnVuaworMjQ2NCAxNDlkZDEyMWQwYTZiNGViNDAzNDBjYTlmMDA0MDEyYzdmM2E3ZGZiIGxlZ2FjeS10cnVuaworMjQ2NSAzMjAxYjc1Njk1ZWYyODgzZWZkNDg2NGY0N2EwZjNhYzUyN2E4NmRiIGxlZ2FjeS10cnVuaworMjQ2NiA2YjkzZDRjZThkY2I5OGJmNThhMmQ4ZTkwYjkzNzEzZTE2OTlhMGRlIGxlZ2FjeS10cnVuaworMjQ2NyBjOGE5NzkwMjlkZjQxZDhhYzEyM2IyM2U1MTM4MGI3MWNhNDI1MjAwIGxlZ2FjeS10cnVuaworMjQ2OCAzNWEyNTI4ZjhhNzNkODZmZDM4ZTliYmEwM2MxN2NhY2IzZTA3YTM0IGxlZ2FjeS10cnVuaworMjQ2OSBhYmNkOTE1OTMwMzU3N2ZiZWZiZjQ2NGUzMTY1MGFjMGZlYTQyMzE1IGxlZ2FjeS10cnVuaworMjQ3MCAzODIzMjNmOTJmY2U1ZmQwNGVjNTA2MTgzZjAyZjg0MWZhMGZkZTQ4IGxlZ2FjeS10cnVuaworMjQ3MSA3MmEwMjY4NDIwZDA2NzRlMmE4ZDBkZDY1N2E2NDZlZDcwNGE4ZjQxIGxlZ2FjeS10cnVuaworMjQ3MiA2MDVlMTcyYmJiNTU3NDY0Mjg3ODIzZTRlN2Q0NmYzODdmZTIwYWYxIGxlZ2FjeS10cnVuaworMjQ3MyBhZTg5NDExZjZmYzBlMDY0ODZhMTAxMjAzOWJlY2Y1OWU1YzU3OTVlIGxlZ2FjeS10cnVuaworMjQ3NCBiOGU0MjEzZjY1YTZlNTRkYjRlMzJlOTQwYzUxOWU2Y2FlNjE2NzM0IGxlZ2FjeS10cnVuaworMjQ3NSBlODM4NTJkMWE1ZTIzZDZkMzhkODZhOTBkNzczOWU0NWFmMmFjMmZiIGxlZ2FjeS10cnVuaworMjQ3NiBhZWY3ZTBhOTExOWU1ZDM3ZWU4MjIyNmE0NDUyYjIyOGZjNzBhMjBmIGxlZ2FjeS10cnVuaworMjQ3NyBhOWQ0NjdlODQ2MzE5NGNkNTZjMWI2ZjgzNzgwMDE2ZjcwZWUxMGQ5IGxlZ2FjeS10cnVuaworMjQ3OCAzMjViNDBkNzcyMzU1NjI5NTRkNzFmZTFmNTlmOTFiNzhiZjY2NzAzIGxlZ2FjeS10cnVuaworMjQ3OSAxMmZkZmEwMTBlNDFlYjk1NWZkNWM3ZWU0YTI3NmU2ZmRkZGE0NjhkIGxlZ2FjeS10cnVuaworMjQ4MCBhMTc3NWNjNzg2ZTZhZDlkMTI1NGEyYjBhMWIwMGNjZTRhNWU3NzUwIGxlZ2FjeS10cnVuaworMjQ4MSAyNjQyNmM0MmExNjJhNDQ5ZmUwMjg3MDY1NjU3ZjVhNjkyMzhlMDRlIGxlZ2FjeS10cnVuaworMjQ4MiAyYTg0YjE2ZjkxYjA5ODgzMWJhNzUzYjNlMzEzZDVmODY1YTI5ZDAwIGxlZ2FjeS10cnVuaworMjQ4MyAxYTZjZjFmOGNjZWNhMDRiZGMyZWE3MGNkMjNkYmRiNWQ4NjE1NTgxIGxlZ2FjeS10cnVuaworMjQ4NCA3MTRjMjM5MGU1Y2I0NWU2YzgzMzRmYzQxY2NlOWUyZDZjMTI0NDg2IGxlZ2FjeS10cnVuaworMjQ4NSBhODEwMjBkNTA1YmY5ZThiNmM5ZTBmNzgyOWVjMTFhMWVlYjMzMzA4IGxlZ2FjeS10cnVuaworMjQ4NiBiYWFkYTIwNzYyYjA4MTg1ZDAxMGUzNmM2NjgxODMyODNkM2NlYzBjIGxlZ2FjeS10cnVuaworMjQ4NyBmZjA4NjJlM2Q2M2E5Njc3OGRlMjgwYzk2ODc1YWZmMTQ2Mjc5N2VlIGxlZ2FjeS10cnVuaworMjQ4OCA0YjU5ZTYzYTI3YjU3YzMxNzJlZGQwZTk1Yzk2MzEzNWY5ODlhY2U4IGxlZ2FjeS10cnVuaworMjQ4OSA0OGJiYzhhZDgwMTZhNWI1NDc0MTZlZTFiZmNmYmQwNWNkMmYwOWY2IGxlZ2FjeS10cnVuaworMjQ5MCBmMjFjYjdiNTNmNmNmOGFjNTc0OTU5ZjJlZTI1ZTI4YzRmNWZhZmFmIGxlZ2FjeS10cnVuaworMjQ5MSAxODA3ZDYwZTYyMzFmN2JhYjg0MmE4YjcxODUwYTA2MjlkNjU2NjAxIGxlZ2FjeS10cnVuaworMjQ5MiAyMWMyNjZmN2VjYTFkOTY3YWJmODNjYzVmYzQwMzAyOWU4ZjljMGVlIGxlZ2FjeS10cnVuaworMjQ5MyBiZTMwNTJhNzdiN2ZkNDY4OTU0YTA3NDg1MzE3YWRlM2Q5ODNiNDBlIGxlZ2FjeS10cnVuaworMjQ5NCAxMzdhNWUwNmZjODRjZTU1Y2I0MzBlODk3NWQ2OWIwNzk1ZTRjNzVlIGxlZ2FjeS10cnVuaworMjQ5NSA0NDlmNWU1ZDlhZjYyZjIzZWU1MDk1Mjc1NGYzZmQ5MWVkZTdkNGYzIGxlZ2FjeS10cnVuaworMjQ5NiAxN2EyOTc2MGQwNjJiMDEzY2RjYjRiZTU3NjA3MzJhN2MxYzFjNzFiIGxlZ2FjeS10cnVuaworMjQ5NyA2NDE4OWJhN2UyM2JjYWMzMGJiMGRiYWMxN2U0MWQ0ZTA3MDhiMzgzIGxlZ2FjeS10cnVuaworMjQ5OCA0MjY2YWVmNTBjMmI0Y2ZiMWMyZjExMjU1N2I2ZGIwNDJkYmNhN2YwIGxlZ2FjeS10cnVuaworMjQ5OSA3OTRjZmQ0NTVkYzZmNjI2YmNkYzVjODQxMTY0MGM5ZWYyNTFjYjJiIGxlZ2FjeS10cnVuaworMjUwMCAwOGRjMzdhNGRkMzIzYTIyNTViMDQ4Njg1ZTk1OTYyNzA0Y2JmYzY2IGxlZ2FjeS10cnVuaworMjUwMSBlMzk0MWVmZDczMTA1YzEyMThhYTExYzM5NDQ0ZTA1ODA4NjQ4MGY2IGxlZ2FjeS10cnVuaworMjUwMiA5MDQxOGZkNDM3ZGJkMzY3NTA4MzU0MTFlNmMxYTFhMmQ1ZjRiM2I4IGxlZ2FjeS10cnVuaworMjUwMyBmMzc5NWFjMTQ2Y2VmZWYwYjZhNTViMTMxMzFmNzdmOWM2Y2E5N2I1IGxlZ2FjeS10cnVuaworMjUwNCAzNmFjZTkwODI4OWJhNzlkOTdiNzA2MGU4NWYwNWRiZTlmZGJlMzQyIGxlZ2FjeS10cnVuaworMjUwNSA3NWIyZmQxNjNmZDcxNWExMDAzM2E2MDgzNzY2NzM3MGI2NTAxNWM4IGxlZ2FjeS10cnVuaworMjUwNiAyZTBlYTZkNWM2Y2VmYTdhY2RjZTUxYWM1MzkxNTk1N2QzZjY3ZmI3IGxlZ2FjeS10cnVuaworMjUwNyA0ODE3YWU0MGE0ZTIxZGMwOGQ3ZDZhNTRhNTM3NWQ5NmVhYzVlZTQ5IGxlZ2FjeS10cnVuaworMjUwOCBkYWFiZTIzMjA2MmUwNGM2M2VkYjU0YWI1MTc3MmM0NGNkZTUyYzhkIGxlZ2FjeS10cnVuaworMjUwOSBhMjk1ZDlhM2ZlODkyMzNjMmY1NTNjN2IzZGRlZTFiMjcyZGQ3ZjYwIGxlZ2FjeS10cnVuaworMjUxMCA2ZTVjYmQ5Y2Q1Zjk1MTg3Y2NiY2U1MGY3MTViNjY2MWQwZGExNDc1IGxlZ2FjeS10cnVuaworMjUxMSAzZGZhYTA5M2Q5NmU5MThjM2UwZTg1YmE5NTBjYjM0ZGI1Y2Y4MDU5IGxlZ2FjeS10cnVuaworMjUxMiBhMzU5NWFlNGRjMWU3ODNmYTQ5OTk5NGRkYWNjOTkzYjYzZTc0OTMzIGxlZ2FjeS10cnVuaworMjUxMyBkOTMyNTljZDM3OWQ2NjZlZmQxMjM0ZDU5YTBlYjBkMTM3NGNjMDg2IGxlZ2FjeS10cnVuaworMjUxNCAxYzJjZjJiZGI2YzhhMGU1NWMyZGYwNTFiMjIxNmI1MWRlMzEwNTMwIGxlZ2FjeS10cnVuaworMjUxNSA2MGRhN2VlOTEwMGU2NDliNDAyNTA0YzQyMmY3YzU4OTgwMGM0YjU5IGxlZ2FjeS10cnVuaworMjUxNiA4YTk0Y2NjNGM5MTQwMGIyZTQ2MjIzZTlhYzE3ODA2ZjFkOGUxYWQzIGxlZ2FjeS10cnVuaworMjUxNyBhYjA1ZWZlZDAzZTkwZmY2MWNiNjI4NjljNDIyOGFmZDdhMzgxY2E3IGxlZ2FjeS10cnVuaworMjUxOCAyMzU4N2JlYTExYmIxYThmNjc2ZjQ5ODdjZDBmMTM5MGZjYmZhMTZjIGxlZ2FjeS10cnVuaworMjUxOSBhNjdhYjVkNTgxNDYzYzFmZGY1MDk1MWEwNzBkNmNjYTk2MDUyMzIyIGxlZ2FjeS10cnVuaworMjUyMCAwNjk2ZjE5ODc1M2Y5NDhlOGE2MTRkMTlmMzAxYWQ2NDhiOTY4MmM4IGxlZ2FjeS10cnVuaworMjUyMSAzYjMzYWM0NGUzNmUzYzY1Y2U3MjY5ZGM4OWM5ZWZhMmZkOTFhOWJkIGxlZ2FjeS10cnVuaworMjUyMiBjODU4NGExYmEzOGE5NDc0NGU2MTFlNGExMmUxMzY2ZDBjNjk0OGZlIGxlZ2FjeS10cnVuaworMjUyMyBiMjk2OTZlNWM0ZDk4MmQ5NTlhMjJmZWFjYTA0NTdlNWEwNDdmYWUwIGxlZ2FjeS10cnVuaworMjUyNCBkNzA3NTRhOTYzMTBkNjI4ODFhODk5YjY1NjNhYWIzMmU1OGQ1NTA4IGxlZ2FjeS10cnVuaworMjUyNSAwYmY4MjVmNTVhYzE1MjAwYjYwMjFmOGFhM2I0MGQxZjRjYjJhOTg5IGxlZ2FjeS10cnVuaworMjUyNiA0ZTMwNzNiYjBlM2UwMzk3YmRlOTc1M2U4ODMyMjEzYzA5Y2EwOTAwIGxlZ2FjeS10cnVuaworMjUyNyBjZmJhYzZmZjczYWYzY2E0MzQ5ZmUzOTBlZDVhMGUwYmQwZWE4YzI2IGxlZ2FjeS10cnVuaworMjUyOCBhN2QzNzBmOTNmNzUyNmYzNDMzYjZiMzRhYjU0ZjIyMTUxODVjZGNiIGxlZ2FjeS10cnVuaworMjUyOSAwOTI3YmRiODE2YTA0M2JjYjRhMTFmMTQ4MDBlZDE3OWQ4NjM2NGQyIGxlZ2FjeS10cnVuaworMjUzMCA0NmE2NTYxMjNhNjk2NTU2MGJmMjMyMjM4MDY5MzJkNTM3YzMzNjJkIGxlZ2FjeS10cnVuaworMjUzMSA1MDliYjc0YWMzMjQxMjlkMzIzNTMyMWM5YWE1ZGU3Mzk5OGZiMWU3IGxlZ2FjeS10cnVuaworMjUzMiAzOTcyOTAwZTFiNjFiMjcyZDVmNDZiZmYyMDJmZjRiYWQ1NDc3Y2U3IGxlZ2FjeS10cnVuaworMjUzMyAxNmIxOGY1ODZmZWNjNDFkMTU0NDRiZDQyOTE0NjNjYjlhNjc0ZjczIGxlZ2FjeS10cnVuaworMjUzNCAzMDVlMTUwYmFhNTM4ZTVlN2RkYzBmNTFjZTM2ZDQ3NjA5MmJmNTVjIGxlZ2FjeS10cnVuaworMjUzNSA3MGExOGE2Njg5ZDRkOWNkMGRlMzdhYzJjNmQ0N2M4NWI2MjNjN2YxIGxlZ2FjeS10cnVuaworMjUzNiA4NjgyOGNjMWM2NDY4ZDNhYjBmMDgyMjRhMjcyNmM2ZGM5MTM5NWQxIGxlZ2FjeS10cnVuaworMjUzNyA1NjQ1OTQyYjdhZTA1NWM1NmJkMWQ2M2YzMDlhZTUwMzI2YWRjNGI4IGxlZ2FjeS10cnVuaworMjUzOCA3YWE0Y2Q2MjFmNTkyNjRmMmY5ZDMwMTcxNDAzM2I3N2U2NzFjYTlmIGxlZ2FjeS10cnVuaworMjUzOSA3MzA3NTdjY2I4YTM2OTg0ZjgxOGExMTg4NjU4OWM5MWE5MzdjYjNhIGxlZ2FjeS10cnVuaworMjU0MCA3M2VmZTNlYTRmMWI4YWY3YzJmYmJlODVlM2U4OWJmODE1OWY3MjM0IGxlZ2FjeS10cnVuaworMjU0MSBkZGFiNTAyODVjNDc5ZWFmODRjZjdkNmIwMDZjYjZlNzBhNjA3YTg3IGxlZ2FjeS10cnVuaworMjU0MiA0YTk2ODIzZjliNjg0OTYwMGM1ODhmZjM4Nzc1Zjg2ODJmOTYyNzAzIGxlZ2FjeS10cnVuaworMjU0MyA0ZGZmMjNlN2NmMTE0MTdiNTBkN2RhN2Q3MTFkODQ3ZjNiODA1MDYzIGxlZ2FjeS10cnVuaworMjU0NCBiYTNjMWY5NWU2NjVlMzU1NjdjYmIxNzgxZGY2MzBmYzczNmY0ZjI5IGxlZ2FjeS10cnVuaworMjU0NSBhM2Q0ZDQ2MWQ0NDIxZmFlYjM0YWNhMjhmYzY2NDM3NjBhOTQxZGU1IGxlZ2FjeS10cnVuaworMjU0NiAwMzlhZWU2Y2JkNzg2YWJmNTEyY2NiYTIwOTBiZjQ5MDc1OTgxMWEzIGxlZ2FjeS10cnVuaworMjU0NyAwNTk4ZjRmMjVkMDQ0ZDYyYWIzZTcyM2NjNjMyMDYxNjliYjU3YTM2IGxlZ2FjeS10cnVuaworMjU0OCBmMDFhZWU2MTU1YjNhMmZmMmEzZGY5OTNhZTEyNTc2MGQ3ODJhOGMyIGxlZ2FjeS10cnVuaworMjU0OSAzMWQ1MDllOTQyNzEwNTlmMTJkNjNjNzEzMWMwZDU4MDI2ZDg3OTRlIGxlZ2FjeS10cnVuaworMjU1MCA1NWJmNjY0NDVjODVjODBmMjI3YWM0OWMzMWEzZTg4ZjlmODA1ZTk3IGxlZ2FjeS10cnVuaworMjU1MSAxNzJhYTJjM2U3MzQwYzFlNzQzOWYzYjdlMWJhMGYzZjBjY2E2ZjA2IGxlZ2FjeS10cnVuaworMjU1MiBjYWY4NDY2ZGNjOWMzNTc3YzFlYjYxOTE0NjdmZTk0ZjE1YjI0MjU3IGxlZ2FjeS10cnVuaworMjU1MyBmMzNhM2Y2OWRmY2I1OWJkMTk4NjQwYTYyNDc4OWU2MjE3YjE2MzMxIGxlZ2FjeS10cnVuaworMjU1NCA1OTYwOWIzYWY5NzhhMzk3MDE2Y2QzNWJhZWEyZDE1ZTU4YzNmYWZhIGxlZ2FjeS10cnVuaworMjU1NSA4MTU0Mzg1MjQ4ZDgxNzU3ZGU5MTE4OTdiMjdkOGIzZjFmYTBkYjMwIGxlZ2FjeS10cnVuaworMjU1NiA2NTliOGRiZjY5NWM1MTFhOTk1NWU5Yzc3ZDQyYzVmZmE5OTg5ZmM3IGxlZ2FjeS10cnVuaworMjU1NyBjMjYyZjQyMWE0NGM1MWM0ZmE4OTc1NDBkNDM5NTRlMTgxMWE5OTM3IGxlZ2FjeS10cnVuaworMjU1OCA0Y2RjYzE2YmQwODAwZmVjMGIyODE0ZThjMDA5ZGZkYzBkNWYyMDIzIGxlZ2FjeS10cnVuaworMjU1OSAwYWMxMzU3Y2Q4OTg5ZTNiMzY1NDIyOGUxNjY3N2JkYTE2NjJhMzk5IGxlZ2FjeS10cnVuaworMjU2MCAxZTRlNmRmMDcxOGUwMzgzNmE1YmI2OTNlY2YzODA1YzQyYzA3MjQ0IGxlZ2FjeS10cnVuaworMjU2MSBkMTg5YTJmNjgxYTZkZjM3NTlhMGE0MDI2YmQ2NWVkNzQxMzIyMGEwIGxlZ2FjeS10cnVuaworMjU2MiAwYzVlNGUxMzdkZTZlMGYzNjhhYjQ4OWU2NDQ2MWVmOGIwNDJjYmYwIGxlZ2FjeS10cnVuaworMjU2MyA5YmQyNjgwZDE2YmMzNjE3MGYwZjJjOTAzZjFmYjg3NjU0MTA3NzA3IGxlZ2FjeS10cnVuaworMjU2NCBkNzgzMmFmNmFiYTYzNGU1ZTMzYWRiNDgxNWVkOTA3ZjliMjg4MGNlIGxlZ2FjeS10cnVuaworMjU2NSA5Y2QzOGQxYWMzOTE5ZjM2YzBhMjYzZmNhZTQ4N2YzZjA0MTJhZTljIGxlZ2FjeS10cnVuaworMjU2NiBkM2QzMjg2ODAzMjhkZTdmODYyYzExMjNiNjIzZThjNGM3NzVkMzY3IGxlZ2FjeS10cnVuaworMjU2NyBlNjI4ZDA5Y2UyMmZlYmRkYmM1ZmVmYWEyMjMyNjIwMjY2NGVhNzFjIGxlZ2FjeS10cnVuaworMjU2OCA5YjNkNTU3NjY1YTkxODAyNTViNmY1NzczZTA5MjVmNmZhODAyMjQ3IGxlZ2FjeS10cnVuaworMjU2OSA5NTIxMzNlODliYzcyNWViZmE0OWYzODE2MDk2M2UwNWEyMmM3NGY0IGxlZ2FjeS10cnVuaworMjU3MCBiNWZlNjQ4MjA3MmZlZmE0Y2I0M2I3MmIxMmNmZjVlMmY2ZDNlNjI0IGxlZ2FjeS10cnVuaworMjU3MSBmZDA2MWRhZTllNTcwZDhmYTgwMzhjZWNlNzBiYWNlZjVlMWZmNjdiIGxlZ2FjeS10cnVuaworMjU3MiAwZjM1M2FmYzI4NzBkNjg0NDc3MjlkYTA3NDJkNDQxMWM1YmJlZDI3IGxlZ2FjeS10cnVuaworMjU3MyA0ZWYzMWY1ZDNkOTI3YjRiNzJiZjEzMTAxZjM4NjRlYWY2MzIyNjkxIGxlZ2FjeS10cnVuaworMjU3NCAyYWZmMzdiOWUyMGVjYTA5N2Q4YzlhYzkwZmM2Y2JmZDQ0MzBjNjhmIGxlZ2FjeS10cnVuaworMjU3NSA0YzQ1YmNiZTNiYjNiYmY3MTJmMmFlYjk1M2I0NWU0NWQzZjM5OGZmIGxlZ2FjeS10cnVuaworMjU3NiA0ZjE1N2IzMjRjNTA1YjA2MmNmNTJhMjk2YTRhZjRkMmE5NDM1NmNiIGxlZ2FjeS10cnVuaworMjU3NyAyYjAzNGM5MGI2ZDlhNjc4ZGRjNDc5OTM5YzQxYTExOGZjNjBhYzVlIGxlZ2FjeS10cnVuaworMjU3OCAxNjNlMjkwNjBmMGJmMzJmMTE5YjdkMTIxMjhlMTc0MTk5ZDQxNDhjIGxlZ2FjeS10cnVuaworMjU3OSA3MDMyM2NiYTNjMTM2OWRhMjRjMDMwOWZkMDZjMzNmOTkzNTIzZDc5IGxlZ2FjeS10cnVuaworMjU4MCA1YTlhYTJhYmEwOGU5NmQwMDBlOGMzZmZkODFhNDNmOWMwMDU5MTg1IGxlZ2FjeS10cnVuaworMjU4MSAzOTQzMDEzNDA2OTMzNzJiYjhjMGZlMzkyNzA3MGIyMTMwMDE0MmFlIGxlZ2FjeS10cnVuaworMjU4MiA1NWVlNzVmMmZlYTRhY2RhZDY0ZWUzNmUyYzRjZmVhZWI1YmJiMzVkIGxlZ2FjeS10cnVuaworMjU4MyBlYTVjZjA5YmJmMzZiNDY3Y2I3OGY3Y2IzNzY0NzIyZTA1MGI0NWFjIGxlZ2FjeS10cnVuaworMjU4NCBjOGQwYTRhNDFmMGJhN2NlODJmZDdiY2U3NTlhZjExODNjNGMxYjgyIGxlZ2FjeS10cnVuaworMjU4NSAyZGNlY2E5YTA3MTM5MzNjMzYxZTQxYzZiM2QyMGVhY2M1YzQ0OTc1IGxlZ2FjeS10cnVuaworMjU4NiBkMWVlMGZiMGMwZGY1NjVhMjQwNTUxMzdlM2VjNjYwZjNkYzA3M2MyIGxlZ2FjeS10cnVuaworMjU4NyA2MWJiYzcyMzBjNzE2NmU1NjVlZDBhYmZhMzU1MzBlZmUzNDRjMmRmIGxlZ2FjeS10cnVuaworMjU4OCBhM2E4NDJiMzk5MTMyZWM4MGVkZTU4OTQyZmYxOWI0YjcxYTdhYWM0IGxlZ2FjeS10cnVuaworMjU4OSAzYzdiN2NhYTlkYTU2NmFhY2U2MTBkMTFlZmZkZmU4N2E0MTkwOTc5IGxlZ2FjeS10cnVuaworMjU5MCBiYjMwOGU3YjAwMzk0ZmJjOWM3ZTQ0NTVhZWNlNGNhNTAxMzk4MzhkIGxlZ2FjeS10cnVuaworMjU5MSAwZjllYmM2M2RjYjU2Mzg5YWYxYjFiZmQ3MTNlYjEwYjk5NzZkY2IwIGxlZ2FjeS10cnVuaworMjU5MiAwOGIxYTg5YzhmMDYzNTM0Yzc5Mzk3NTc0MTQzNzk0MWU3M2FmZTUyIGxlZ2FjeS10cnVuaworMjU5MyA3OTQwYmIzOTFhNmFjYjJmOWY1ZTAzNmUxZjBlNTJkN2U5NGRmN2FkIGxlZ2FjeS10cnVuaworMjU5NCA4YmVkZGMxNzAzOTY2OGIzNDgwNjk1YmIzYzhkMmI5NWJmNTRmNzM1IGxlZ2FjeS10cnVuaworMjU5NSA0ODdiN2M2MmFlNzc0YTM4NTEzM2RiMDExNTZkMjcxN2I1NmRlMDU1IGxlZ2FjeS10cnVuaworMjU5NiAyZGUzNGI5NjAyZTBlZjY1ZTQ4ZDE0ZTM5ZWQ2MGYxNzU1Mjg0MDU2IGxlZ2FjeS10cnVuaworMjU5NyAxZTZjOGYyYWExMzZkYWEyNzU0NzYxMzkzZTBjOTIyM2QwZmZmYWU1IGxlZ2FjeS10cnVuaworMjU5OCA0MDJhNTlhZDI0OTNmMGI5N2YzMmM2ZmViMTg5YTU1ZWUxYTVhMzMyIGxlZ2FjeS10cnVuaworMjU5OSA2NGJjOGEyODRmYjNmY2ZkMzZhMThiY2QyZmU2YjUyNzBmNGRmMWYzIGxlZ2FjeS10cnVuaworMjYwMCBjMTJkMDMzZjY1OTRlNjY0OWZmYzI0YjgxZTA3ZTBiYTAxNjk5N2I5IGxlZ2FjeS10cnVuaworMjYwMSBlMmRiMzM0MWQ2ODYwZWU2NzZiNWJkODI2ODUwY2U2MjY0N2JkZWUzIGxlZ2FjeS10cnVuaworMjYwMiA2MDBiZmE5ZmI4Yjc2ZTVhOWE0NzUwMjFiZGZmMzcwM2E1MjQzOTNkIGxlZ2FjeS10cnVuaworMjYwMyAxN2Y0Y2RmMjg5NTlmNjBhMjQ0OTRlZjZmMWU0MTA1ZmI0OTgwOTBhIGxlZ2FjeS10cnVuaworMjYwNCA5Zjg1YmViMWY3Yzg0OWZlMDE2OTcyZDg4MGM4YTBiYTIzY2JmYzFjIGxlZ2FjeS10cnVuaworMjYwNSAxZjY0ZjU1YTUyZTg2NWFhN2FhOTY3YjkxOWZhNDBiYTc3NGU0MmM4IGxlZ2FjeS10cnVuaworMjYwNiBjMDY4M2Q2Njc2YzY2YmM1NGJhOTZlZmMwMTk3OTk4ZjhmMDM3ZGRjIGxlZ2FjeS10cnVuaworMjYwNyBjMzA3ZDEwYjY4MGM2YTM5OGNhMTU2ZjdjMGNkNDA2YzIyZTJlYTFmIGxlZ2FjeS10cnVuaworMjYwOCA4ZjYzODlkYmMxY2Y3YjRmYTcxODI3OTkwMzRhY2M4YzhmZjA4Yzg4IGxlZ2FjeS10cnVuaworMjYwOSAzMjZiODllYTY3MTM4YmFjNDUzMWM1OTgwNjIyZjg1ZTkyMmJmNzU0IGxlZ2FjeS10cnVuaworMjYxMCBhNGZlYTY5MTIwZDgxNDc3MzFiMjY5NDkyMTEwZTc2ZmE1MGYyMjM5IGxlZ2FjeS10cnVuaworMjYxMSAyMzQ5N2RiNjY4N2FhMWRhY2UxOTZkYzYxNjQyZDAzMWQ4N2FjOWQzIGxlZ2FjeS10cnVuaworMjYxMiBiMmRjZTAxYzM2NmU2YWU1NDU2MWE3YThlODY1MjZkNzE2NDY4NzNhIGxlZ2FjeS10cnVuaworMjYxMyBhZTFhNTU1ZTY1ZmFjNjQ2NTZiYzAyZWE1ZGRhYWNiYjM3MGUwNDZjIGxlZ2FjeS10cnVuaworMjYxNCAzNGFiY2ExODJmMThlMWI2MTY5ZWFlMDgyYzMxYTMyODFlODgxYTQ1IGxlZ2FjeS10cnVuaworMjYxNSBhNWYwYjgzOTBjODc5NjgxZGJiMjg0OTRjYmRlYjhjZTFmYmQ4Zjg4IGxlZ2FjeS10cnVuaworMjYxNiA0NjRkOWQ5M2YzNGU5MWEyMjhmZjY1ZGFmNDQwZDllYThjY2M3Mjg0IGxlZ2FjeS10cnVuaworMjYxNyA5MjcxOGU0ZjVhZGMxYjI4NGM3NjhlZGUyZWFjNzBiZDg0ZTJiNGUwIGxlZ2FjeS10cnVuaworMjYxOCBlODY2N2E3ZDMxOGRkZWUwODVkOGUyNGU4ZDcwNmU0NmE4YWJhMzMxIGxlZ2FjeS10cnVuaworMjYxOSAxZmQ0NzEyY2M2NmY3YjZhYzU5ODA0NWM4MDA1ZjA1OTE3ODY1NDQxIGxlZ2FjeS10cnVuaworMjYyMCAwNzM2YWVmYWZjNjAxOGMxNjRmZjgwZDhlM2MyODRiOGI5NTE2NTVlIGxlZ2FjeS10cnVuaworMjYyMSA3YTYwZmFhMzgxMTM1MWJhMGI0NmRhOTBlNmU5Mzk0NzE4NjZjYjJkIGxlZ2FjeS10cnVuaworMjYyMiA3NjljZmZmNGFlNWU5NTA0MWFjMzk2NDY2YzA1ZDExZGU2MzI1OWU2IGxlZ2FjeS10cnVuaworMjYyMyA2NzhhNzM0YzI0NGRjOTBjZDgzMTVlZTNiNzQyM2MwYmY0YmMzNDY4IGxlZ2FjeS10cnVuaworMjYyNCBjOTdmNGM2YmE2YzY1ZWNjNjNmMzM1YmY3MGFjZjQxMjYxNzJhZDI3IGxlZ2FjeS10cnVuaworMjYyNSA5MDMwMGNhMjEyMDA1OTIwNjZiYTc4ZTI3ZTk0MWIyYWM2NzMyYTNjIGxlZ2FjeS10cnVuaworMjYyNiBjYTAzOTFhODEyZjg2MzU4OTI5NTQ4Yzc1YWJhYzlmMjA3YjhlNTZmIGxlZ2FjeS10cnVuaworMjYyNyA5MGNiY2IwYjk3ZGM3ZDQ5ODQ0MzUyNGM1MjJiOTExOTNjZTk1MGQzIGxlZ2FjeS10cnVuaworMjYyOCAxY2I3OGI2MjViMDcyM2NiNDk1NTJkZDZhYzc4MDljZTVhNGJhNGZhIGxlZ2FjeS10cnVuaworMjYyOSAxMGUzZDI2MDQxMzEwOWE5YWJkMzdlYjQ1NzZlMGU1MmYyNTJkZDJjIGxlZ2FjeS10cnVuaworMjYzMCA0MjEzMGU3MjIwYWZmYjk0ZDBjMzNmOGZlNjc3ZDc4MmU4MDJjYmNjIGxlZ2FjeS10cnVuaworMjYzMSBhMTAyNWNiYmEzMGRhZDE3Zjk5NTc0MWFhOGQ1YjQ1Mjg4ZDljZGQ3IGxlZ2FjeS10cnVuaworMjYzMiAxYmUyMDg3NjkyYTI0NDQ2NDM0NzMxMzkyZTM0MGVhNjJiZmM4NjNkIGxlZ2FjeS10cnVuaworMjYzMyAxZDRiMDMzOWI4M2RhOGUzYmNhMDQ0ZWUyMjZkZjUyZGQ0MWM5ZjdhIGxlZ2FjeS10cnVuaworMjYzNCA0YTdmMGYwNmNkMjdjNGIyOWY3NjY2M2YwNjczODdiMmIzNjFmN2YwIGxlZ2FjeS10cnVuaworMjYzNSAxOTM2NTIwMWRjZmE4NWFlYWUzZDk0MDU5NjRlYmJkZjgyOTY4MGFhIGxlZ2FjeS10cnVuaworMjYzNiBlMmMzNDYzYzRkOTE4NDMwMzhmYTYwYWI3NzJiZjM3MGZmM2NiNDA0IGxlZ2FjeS10cnVuaworMjYzNyBiZWM5NjNmOTliYzlmNTkxYWQxYzJlMDllZTYyNDUyZWVhOWI5YWEwIGxlZ2FjeS10cnVuaworMjYzOCA0MzZjODEwMzA4NTMzODY3MzNmNmIyMWEzZGM0OTdiOWJmZDk0ZjJmIGxlZ2FjeS10cnVuaworMjYzOSBjM2JlZTVhNTcyMWY3ZWNkN2RhYmQ5NmQ4OGRmNTRmOGEwYzAyNTQ2IGxlZ2FjeS10cnVuaworMjY0MCAzMjQ5NmEwZDAxZjQ4OGE2NWU3NThlZWY0NWMzZTViMzAyZWRiMjUwIGxlZ2FjeS10cnVuaworMjY0MSBjNjRjNjcwMjU0OWQ2YmEyY2RiOTkwODk1ZjRmZmZjYzc1ZmZmNDAzIGxlZ2FjeS10cnVuaworMjY0MiBkYzA0NjM0NTNhNjQzNzFiYWEwMzgxYjUzYzJmYjM4YThkNjYxY2Y5IGxlZ2FjeS10cnVuaworMjY0MyBlZTg5OWE4MTU3MGQwNTA0Y2E4MGFhMWRkODJkZDM0MzVjZGVkNzA0IGxlZ2FjeS10cnVuaworMjY0NCBjZmJjNGNjZTFhNDI3NzYyOThmNmQ2MDJmNDU3NzkxZDgzOThmNWQ5IGxlZ2FjeS10cnVuaworMjY0NSBkYjgyMGRhM2NlMDNlZDY3MWY2YWNjMjQ5NDIwMjQ1OGMzNmY3NDBjIGxlZ2FjeS10cnVuaworMjY0NiAzYjM4NWJkYTM4Zjg5MTU4YTdmMGUwMmExOTQ5ZTU1ODFhOTQ5OTE1IGxlZ2FjeS10cnVuaworMjY0NyBjN2EyZjU2MTNkNjY0NjkxOTZiYTgwN2QzYjg0MjIxMTJjOTRlNDViIGxlZ2FjeS10cnVuaworMjY0OCA3N2I4MGE5MWQzNTdjMWQ5NWQ4ZTdjZDRjYmJlNzk5ZTVkZWI3NzdlIGxlZ2FjeS10cnVuaworMjY0OSA5MGYzNWZjZjhlYTAxZDcwODI5ZGI1NmViZGFjZDJhZDQzZjcxNDAwIGxlZ2FjeS10cnVuaworMjY1MCBhMGZiYzdiNmE0ODVmOThjOTA3MWQyODc3OTRmMWQyNGYxZTYzZGQ3IGxlZ2FjeS10cnVuaworMjY1MSAwMjNjN2Y2OWQyNDAwMmM4NjM5MzdiODQzZTc3YTQzZTZiNGYwMmQ3IGxlZ2FjeS10cnVuaworMjY1MiBiOTI2NTgwYzljMjg0MTg2MzE4MmEwOGMxNDc5MDgyOWQ4MTNkZDkxIGxlZ2FjeS10cnVuaworMjY1MyA5MmExMGExZTE0NjMwMDdjMDM1ODc3ODkxZDlhYWEyNjA1MjlkMzM3IGxlZ2FjeS10cnVuaworMjY1NCA1NzY2N2FiMWUxOTQxZDAxZWViYzRjNmViZTZkNzdhZTg4Y2UxM2RkIGxlZ2FjeS10cnVuaworMjY1NSA0YzIxMWU4Mjg2YjVjNjI4MmVhNDUyN2Q4NTVjYjJjNjI0NDI0OTliIGxlZ2FjeS10cnVuaworMjY1NiAwYWM5ZDVkYjQxYzhmZjFmZWJiNTEwYmQzNDNhMDUzYjRiMzQ3MTBmIGxlZ2FjeS10cnVuaworMjY1NyAwYWMzOTJiN2Y3NmVhYmVhZDg4NDE3MTdmZWQxMzUwYTUwM2NhYzQ2IGxlZ2FjeS10cnVuaworMjY1OCAyY2U2YTJhMzE4ODYzZGVlM2VkYmFmOTA2MzliYTMyYzY3NWRjNjZiIGxlZ2FjeS10cnVuaworMjY1OSA1NmJiMTA2N2E4ODA2ZWQyYzkxM2RlOTQ2ZDZmNWJkMWI5YTgxODI2IGxlZ2FjeS10cnVuaworMjY2MCA4MGUyZTVkNjdiNDk2NjY1MzA5ZjExNjVlYTE0Yzg3OTRkYWRkN2IzIGxlZ2FjeS10cnVuaworMjY2MSA3ZjNmYWFmZDgzZWQzNzI3NTI5ZDcxZGE4M2MwNDBkOTU2NTU3YzdjIGxlZ2FjeS10cnVuaworMjY2MiBkZGJjZDUzMmMxMTRkZjc1YmY3M2UzMDczZGVhNDE2NTg1NTJhM2MwIGxlZ2FjeS10cnVuaworMjY2MyA2N2Y2ZjcxOTQzYzE2MjI5ZGE3NWEzNjc2NjYzZDYwNjI3NzA2ODZjIGxlZ2FjeS10cnVuaworMjY2NCBlMTRkNDY0NDBlYTcxMzk5ZmZmMTZmN2MwNWQxYWI3OTRmOGFjZTYzIGxlZ2FjeS10cnVuaworMjY2NSBlYjAzOTc3YmFlZWI0Y2YzMjg3YWZjN2EyNzZhOGU5MjU1MmYwNGJlIGxlZ2FjeS10cnVuaworMjY2NiAwOTVkOWNmNGUzZTZlMjRiMTgwYjBjYzRmZmUxYzBjODY5MDg2MmZlIGxlZ2FjeS10cnVuaworMjY2NyA5ZjcxNjFkYjU2NjllOTFiNTY4Mzc0ZmQ2YmQwNDQ1ZmE2NTQ3MWI3IGxlZ2FjeS10cnVuaworMjY2OCBmYmZmMmU3Y2M0OWRmODg3YjQ5ZmQ4M2U0NTUxZjQzNzllOWRkZGEyIGxlZ2FjeS10cnVuaworMjY2OSA3OWVhMTNiN2RmMmMxNjI3NTBhNDI3YTBiNGVjNzNhZTIyNWViN2NlIGxlZ2FjeS10cnVuaworMjY3MCA1YjVmODZlZTRmNzliN2U1NTIxZDZlNjJkNzY4YjgwNzBhMzFhY2I1IGxlZ2FjeS10cnVuaworMjY3MSBjYmNkZmRhMDViYzRlMjJhZjU2ZGZkZjAxZWNhN2Q3YjhmMzZmM2E0IGxlZ2FjeS10cnVuaworMjY3MiA3NjZjYzgyMGY1MTFlMTAxOWFiN2EwOTlhNTRiZWZmN2FmOWYzMjA3IGxlZ2FjeS10cnVuaworMjY3MyA4NDE0ZTFmOWE1ZmU0Y2NiMzczZTI1ZDMxODNhZGViZjkyMDgxY2ExIGxlZ2FjeS10cnVuaworMjY3NCA5ODk2ZGNmMDhlMTZmYWUwOWU2MWI1NDUyMWNmYjJlNDg0NTdiOGZlIGxlZ2FjeS10cnVuaworMjY3NSBiNDZkNzZlYmQ5YTcyZTUwMzJmNDE1NzdiMjg2OGU0YjczZDAwNGMyIGxlZ2FjeS10cnVuaworMjY3NiBmOGQ1M2I2Y2Q0NDJlODAwZTIyOWVkMWZmNDU5MzBkOTczNzAwMTlmIGxlZ2FjeS10cnVuaworMjY3NyA2OWY4OTczOTkzOGY5YTYwOGZkYWU2ODA1NDU0YjQwM2NkMzRmZjhhIGxlZ2FjeS10cnVuaworMjY3OCA0M2MyMjMxNTliMjgyNzY5N2M4MDg5YWRlMWM2OGRmZTA1Y2FmYWY2IGxlZ2FjeS10cnVuaworMjY3OSBkZjAzNDNhYzhhMjFhYjE1OGZhNGIxMzk5NjUzN2VhYzA2MDI5MWRjIGxlZ2FjeS10cnVuaworMjY4MCAwNDhlMTM3MWM0NTA2YzFlM2UyMjYwYjk2MjM1YTU5NWQ4MGYwMDg0IGxlZ2FjeS10cnVuaworMjY4MSAwMmRlN2E4YWUyNjc2MWNmNWM2N2RjZDI5MjFjMGNlMmY2NmQ0YTIyIGxlZ2FjeS10cnVuaworMjY4MiAyZGNkYjAwMjNjMzIwZWU1MmVlNzMzN2M2OTkyMDcwYTU5Zjk1NWJjIGxlZ2FjeS10cnVuaworMjY4MyBiZTg5OGNjMTU4MDA2YTE4NDc4Mzk1MjQzYzM1YWViNTUzYjEwZDU0IGxlZ2FjeS10cnVuaworMjY4NCBkOWI2YjAzNjk4NjBjNDVjNGFlZWNjYzc2Yzg5MDZiMjliMTQyN2I2IGxlZ2FjeS10cnVuaworMjY4NSBiMzgyNWNlODNjODdmMjQyOWRmZjg0NWVjNzQzNWY0YTc2ZTg3ZDBhIGxlZ2FjeS10cnVuaworMjY4NiA3NDJkYzgzODAzOGJmY2FjYWQ3YjAzZmMwYTA2NWRiMzM2MjAyZGU1IGxlZ2FjeS10cnVuaworMjY4NyAyYjBhZDUyYWMzOTY4NmM4OTg0OTllMzBmOTllYTFmYTM1ODI5NjczIGxlZ2FjeS10cnVuaworMjY4OCA0MzU3YWI2OGM3ZDViNmU5YzBkNmExNmI3OGY1YmYzMTBkYTZhOGUxIGxlZ2FjeS10cnVuaworMjY4OSAzZDQ2NzEwOGIwMDgzYzRjNTZiZDVhNDc0N2JhZWE3MDMyMTI1YmU1IGxlZ2FjeS10cnVuaworMjY5MCAxZWZkYjE1MjIxZGRkMWU5NjM1NzBmYjcxZjI4MThiZTBjNGI2ODA5IGxlZ2FjeS10cnVuaworMjY5MSBkYzJlYzQ5YTJhZDI5YjZkOTYzMDEzZGU1MmExYTgzNWUwZmM3MWYzIGxlZ2FjeS10cnVuaworMjY5MiA4MzMxMDc2Y2ZlMTUyZGZjYjlkMTY2OWY5MjlkNDc5MWQ1YjkzNjM4IGxlZ2FjeS10cnVuaworMjY5MyBmZWUzNTA3OGVmNDBhM2Q1YjU0ZmUwOGIzMzQ5OTcyNTMzMGVlZjk4IGxlZ2FjeS10cnVuaworMjY5NCA4YjRhMjc0ZTU0NmRjY2E4Y2E4MGJjMTYxOTEyMTg0NmViNjA5ZWU4IGxlZ2FjeS10cnVuaworMjY5NSA5NmIyMTI4ZjAwYWVkYzI0YTI0NGE2ZWFlMjAxYWVlNDg4NzgyNDEyIGxlZ2FjeS10cnVuaworMjY5NiAyNjk2YjU2ZGRhYzQ5NTJmY2QzODAyZDFlMTgyNDMzZGVmMWE2MzVhIGxlZ2FjeS10cnVuaworMjY5NyAyNTU3MjhhODQxZGVmMWI1ZTkyOGUwZWQ2MWQ2NGNjYTQ4NjE3MzYzIGxlZ2FjeS10cnVuaworMjY5OCA5MDE5ODQ4ODI0YTEwZDZlMWUxOGVhOGJiNjc2ODUxMDgyY2I1OTYzIGxlZ2FjeS10cnVuaworMjY5OSA5ZDAyNDJiOTJjYTVmYjA3N2NlZGNjMDBmMTYxMGFlZGVmOWNjMDI1IGxlZ2FjeS10cnVuaworMjcwMCBlYTUxNDY4NjZiY2YxNzk3NDU0MjdlZDNmYTliOTliYjcwMGRmNmY0IGxlZ2FjeS10cnVuaworMjcwMSA0OGVhZjRmYzUzY2IwZDgwMTMyNjIxYTM4NjE1YzYxYWVhZjBlZWUxIGxlZ2FjeS10cnVuaworMjcwMiA1ZjU5MGFiNDUyOTU3NzZiM2M4NDdlYjI3NjRiZTQ3NjE5ZmQ2OTQ1IGxlZ2FjeS10cnVuaworMjcwMyBiNTg2MTg5Y2MxZjVlNjk5ZGIzNzdkNDBhNTBjNGQyZDc2OTQ0NTE0IGxlZ2FjeS10cnVuaworMjcwNCBkNWUxYzQ5OWYwMTM3ZGYyNDkxNzMxN2YxZWI2MTg4YzAzZGE3MzE4IGxlZ2FjeS10cnVuaworMjcwNSBkMGJhYTgzMDAwMDU2MjQyZWYyMjVkOGIxMDRmMTZhNjI2MjEyYWI1IGxlZ2FjeS10cnVuaworMjcwNiA5ZjA2YzY2ODlmMGQxMGE0MzcyNWE0NWI1NTAzMWM5NmFiYWFlYmM0IGxlZ2FjeS10cnVuaworMjcwNyA5MzdjYmMwYmU2ZWNlZGI1YzBiOTI3YmE1MDM4NGIwMGM5NWU1YTg0IGxlZ2FjeS10cnVuaworMjcwOCBlMTk4Y2M5OGE0ZmQwZTdlMmYzMzlhNDJlNzQ3ZWQyMDJkYzg3MWQ2IGxlZ2FjeS10cnVuaworMjcwOSA4MzA0NjY2NDE2MGU5OTA5MmQzMzI2NWQ4MWI2Yjg2MzhiZWJkNGEzIGxlZ2FjeS10cnVuaworMjcxMCA0ZWZmZjZjZWE5MGY2OTlkN2Y2NTEwYTI5ODhlMGI2YjA1ZWRkNjE5IGxlZ2FjeS10cnVuaworMjcxMSA3NjZjZWM1MGQ3NjZkM2Y3YjU1ZDUyNmZiZDI4MmVmZmU2ZDRlMjJiIGxlZ2FjeS10cnVuaworMjcxMiA1YTYxZjgyN2Y0N2MzYTM5YjRhZWFjNTM5MDE2MzkzMWFhOGQ0Zjg2IGxlZ2FjeS10cnVuaworMjcxMyBjMTU4YzgzNDc2NTQ2NWI3MzczNWMzNzRlYTI0ZWE0NmIzMWI0OTJmIGxlZ2FjeS10cnVuaworMjcxNCAyNjQzMDZiNjFiODNmZWZjZjAzNGNkNDExZWE3MzZkYmFkMTBlMDY5IGxlZ2FjeS10cnVuaworMjcxNSAyZTI4N2ExNTAzYjI1MjY0NmY0ZDgwY2Y5YjZjNzNjZDVkNmU5MDI0IGxlZ2FjeS10cnVuaworMjcxNiAwNzgwYjk1YTY2MGVjODIwOThmM2E4NTRlMjYyYmFjYThhYjU5MWU2IGxlZ2FjeS10cnVuaworMjcxNyBhZGZhMDgyZjUyMGE2MTY2ZjZkMzVmNzMwMWM1NzAxODgxNGE3NjAyIGxlZ2FjeS10cnVuaworMjcxOCAxZWY2M2FkZjRmYzViYTY4NTY0NzQzMTJlMzJlMGMxYzBlYWU2MmJhIGxlZ2FjeS10cnVuaworMjcxOSBjZmI1MzMyMmM5ZDExNDMyZGE1MmUzZmYxOTYxOTY1ZGI4NGJkNDNiIGxlZ2FjeS10cnVuaworMjcyMCA2ODNlZGIwYzQ0NjM0OTI5ODM5ZjYzYTVjZGMzODg3YjM1YjU5MDlhIGxlZ2FjeS10cnVuaworMjcyMSAwNjE0ZDg4N2QxMGFiZDAyYmUxNGQ4OTE1OWQ5YTRkM2UyOTc5NmJmIGxlZ2FjeS10cnVuaworMjcyMiA0NDM0MzkzYjRlZGU2NTY2ODY1OGI0NmE2YjVlNWUyMzRmODFmMzI0IGxlZ2FjeS10cnVuaworMjcyMyAxNzA2OGE2YTBhYTUxN2I2ZDAzYWVlNzk3NTY0YWU4YTU1NTBhZWUxIGxlZ2FjeS10cnVuaworMjcyNCA3M2UyNjZiZjdhYzZiMDNiOTcyYjNiMzA2YzY3Y2NmZmFlNDBmNWYzIGxlZ2FjeS10cnVuaworMjcyNSBmOWMwN2VlNzkzMDIyZjY1YzJiY2JjYjU3YzcyMTFkMzJhNjIwOGU1IGxlZ2FjeS10cnVuaworMjcyNiA1ZmFmOTNlYjkyNTZlMzM2MzQzY2EyZDJmNjliMjRlNDI1OGZkNGIyIGxlZ2FjeS10cnVuaworMjcyNyA1YTFmOWFkZTE1MTI0MzIwYTAzNDkyMGIzYzUxMTA3YWFjYTE4MTlkIGxlZ2FjeS10cnVuaworMjcyOCA4YzE3OWQwMjM1ODNjZDg2MWQ3MTFmZjMxMzY5NGYxZDFmNTc2OWI3IGxlZ2FjeS10cnVuaworMjcyOSA5MjUwOWQzMDRlNDc5YzYwYTdhYjQzNTVlZGY4ZWRlYTVjN2Q4YWRiIGxlZ2FjeS10cnVuaworMjczMCA2YzM2YzI3M2Q1N2Q0ZDllMDIyMWJkY2RiZWQyMjgzMjU0NWUwZmQwIGxlZ2FjeS10cnVuaworMjczMSAzNGE3NjEwNDZkYmQ2OWY2OWRkMzc1MWY1OWQxODFlYjExMDI2YTFjIGxlZ2FjeS10cnVuaworMjczMiBhNWMyNDU5MjNiMzEwZDU2OGEwYWZlZmEwZTRmNjZjMzExMjk1M2ZlIGxlZ2FjeS10cnVuaworMjczMyAwODZiZGJiNjk3M2JmMzViNWM0ZWY5ODNlMGFhZTA5NGQ4YzQ0YmE2IGxlZ2FjeS10cnVuaworMjczNCA0Y2I1NTM1NjcwNmYzYmZiM2UxNGVlNWZmMjI4Mjk1YTc2ZGZlNTYyIGxlZ2FjeS10cnVuaworMjczNSAwM2I5ZjE1MmFkYjY5NTMyNWM1OTMxMTFhMTE4MzM2NzgzYzdmMTg5IGxlZ2FjeS10cnVuaworMjczNiBkZWFlODBlMDdhODFjOThlMjViMmMxM2YyYzJhZmI2ODU2NWU4MTRmIGxlZ2FjeS10cnVuaworMjczNyAzYjhmNDFmOTZlYjRjOTUzMzM2NzQxMGFjZjMyY2Q0MGYwMjY5ZTFhIGxlZ2FjeS10cnVuaworMjczOCAyZGE5MzRlZjI3YzAzODEzYWJkMWFmZTA4MjkxY2Q4N2QxNGRhZjdhIGxlZ2FjeS10cnVuaworMjczOSAxMmVjZWE2ZTk1NWMxMmIxMzNmOTRlMzZmNDBhMjQyNTgzNWEwMGM0IGxlZ2FjeS10cnVuaworMjc0MCA2ODg0MzQ2YzA0YTA0OGIzMGYzYzUzMzY1YmNiN2M0ZDhhYzE3MzJmIGxlZ2FjeS10cnVuaworMjc0MSAzMTY5ZDM4ZjY3NzQyYjk4MTYwNjJjOWFkOTRiNjk1OWQ4YzhjZWViIGxlZ2FjeS10cnVuaworMjc0MiBiYWUxNDk0ZjJlYzgxMDIzMGNiNTc0NTJiMDYwMzQ4Y2JlZjQyMWE3IGxlZ2FjeS10cnVuaworMjc0MyA1ZjcxZjE2NjA3OWQ0MDFkZmNjZjViNGNiNTEzNzc2MjY2YjY4MmZjIGxlZ2FjeS10cnVuaworMjc0NCBjNzJmMjZhYzQ5MWJhOGQ4MjI4ZWI4ZjZmNTdiODE2ZDM1ZjdmMTllIGxlZ2FjeS10cnVuaworMjc0NSAzN2FhNjdmMDg2N2MxMGY0NjM3YzdlMDBmNDRjZWIzNGYyYWFhNGNjIGxlZ2FjeS10cnVuaworMjc0NiAzNzkwNWZlMTg5MmEyN2RkOGI3YzQzNWY0NDQ0NDdmNDNhMDJjNDM1IGxlZ2FjeS10cnVuaworMjc0NyBkYmY0MDg5MTgyMDE2MWViNWU0N2QwNWJkZTliZmY2MzZiZDA5NDBmIGxlZ2FjeS10cnVuaworMjc0OCBkMTU0N2Q2YmI1YjVjZjYxMWY4Zjc3MzI1ZTI5NDBjMjIyY2RiZGEwIGxlZ2FjeS10cnVuaworMjc0OSA3ZDI0ZGU2NDNmYjUwY2FhYjNkMjQwNTk5NTJlYWMyYjc2MzZlMWY1IGxlZ2FjeS10cnVuaworMjc1MCA2MDc3NzA0ZGFiN2EzZjc5YjcxNjRlNGQxODEyYjY1NGNkZGEzMWE4IGxlZ2FjeS10cnVuaworMjc1MSBmMTFmYWU4ZWUxZTQyOWQ4MzZiZjI3OTQ0MzdiYWMzMjFjNTExZTBhIGxlZ2FjeS10cnVuaworMjc1MiA5Mjc2YjNlZTM5MzY3YzYxZDIxYmQxNDJjZDk3YmRkMmZkYmI3M2Y5IGxlZ2FjeS10cnVuaworMjc1MyA5NTcyYTdkMDlkZmY0NjJlYmVhZDQ5YzEwNDIzMWEzYTRlZWMzMmQyIGxlZ2FjeS10cnVuaworMjc1NCAwODY4MTc2MzY1ZDdmYWMxOGQ5ZTZlNDQ3NzhiMzk0OGU3MDQ3NWQxIGxlZ2FjeS10cnVuaworMjc1NSA0N2M0MmVhNjdhOGJkODUzMTQ0ZDk5ZDBiYThjZTc2MWM1NjNlNjczIGxlZ2FjeS10cnVuaworMjc1NiBmOWNkZWViZmNiNjcwYzMwNjg4NTU4NzlmNDk3MDk4MjlkOWQ4NDcyIGxlZ2FjeS10cnVuaworMjc1NyBlMThmMWZhMzk4YTMwYjNlMjVjYWZlM2M2ODc5MDgwZTJiMWQ3ZjVhIGxlZ2FjeS10cnVuaworMjc1OCA4MDBjZjQwODZmYjMzZDgwY2IzYjY3NzE0OWJmMTViNmYwMzIyZTU5IGxlZ2FjeS10cnVuaworMjc1OSBiMjA0ZjMxZmJjOTdlNjBkZDE3NDM3YjI0ODBkOWU2OGVlMmE5NTE3IGxlZ2FjeS10cnVuaworMjc2MCBhMzQ3OTMzYTZkOTIyZjYwNWY1MDJlOGNkMmFmMjhlYjNmZDk1ZGUzIGxlZ2FjeS10cnVuaworMjc2MSBkNDliNmE2NzI1YmQ4N2Y1MjE5YTczZDFmMDcxNTUzNDFjNDRlN2EzIGxlZ2FjeS10cnVuaworMjc2MiA4Y2RkNjJiYjUxNWNiYWEwYzE3OGY3NjE4YTYyYzk2YWY2ZGVhYjgzIGxlZ2FjeS10cnVuaworMjc2MyA1YTM1MTk1Mzk4ZWY1M2ZiZGQ1N2Q2ZDZiYzg4NDFkOGQyZTQ2MDA5IGxlZ2FjeS10cnVuaworMjc2NCAzNGQ2N2RhODhlODRiODRiNmQ4ZWQ3NzM3MjIxMjE5ZGZiYjJkNGIwIGxlZ2FjeS10cnVuaworMjc2NSA4YTI0ZWY0NGRmYjBhOGI0MmI2NTE0NThmNTVlZDc1MDc5MGY2MWRkIGxlZ2FjeS10cnVuaworMjc2NiA2YjM2MDQxNTljYTliMTE4YzY3MTAyZTY1Mjg0YWQ1MTU0NjY0ZWM5IGxlZ2FjeS10cnVuaworMjc2NyBjNzYzZmM2NGZjYWJiZTI1Y2I0ZjMyYjA0Y2M1N2FmMDdiZDcwZWE0IGxlZ2FjeS10cnVuaworMjc2OCAwMjE0YmJmNDdiZjZkZWU0NmVkMTUzMDA3MGU0MzE5Mzg2MjMyYWVjIGxlZ2FjeS10cnVuaworMjc2OSA5Mjc2YzI2MjVkNjRjYmZkMjQyYTNiZjQ1YzFiZWVmYzIzMGJmZjE2IGxlZ2FjeS10cnVuaworMjc3MCAwYWQ1YjM1ZTNhZDg5Zjg2MzU3NjA0Njk2ZmJhZmFhM2E3MzVlNDJhIGxlZ2FjeS10cnVuaworMjc3MSBkY2M2ZGUxYzM3YTRmNTM1MjZlMDYyNTQ0Mjg1NzZhN2I5OGY0ZTI4IGxlZ2FjeS10cnVuaworMjc3MiBlMjVlMjY1NmM4NTM3YjExNWYzODI2MTQxNjg5NmU0NGE2ZmU2Mjc1IGxlZ2FjeS10cnVuaworMjc3MyBmODI1OGY4NDEwNDZlOGQ2NDkyMDI1YzM0YmZhNTI3OTMzOWYyZjYzIGxlZ2FjeS10cnVuaworMjc3NCA0MDVhMmZlYzc0NTQxZGU3MDMzYzRjMzFkYjQ2Mzg0N2Y5ZTBiNzNkIGxlZ2FjeS10cnVuaworMjc3NSAxMWU4NjI3MGVkMGRjZmU3YjQ3Y2EzZTlhNGIzODQzOWEwYmYzNGE1IGxlZ2FjeS10cnVuaworMjc3NiA0MGEwZWM5OTRjNTQ5ZWNjODkzYjNiNzJlODE1MTI0NWIyYjAzYzA2IGxlZ2FjeS10cnVuaworMjc3NyA4ZDU3MjU0OTRlZGU3MzE2MGIwNzVmMjUwMGZkNDdhMzE3YTJjMjk4IGxlZ2FjeS10cnVuaworMjc3OCA3NTViYjhlZmNjMmQ1MzM0OWM4ZTA5ZmFjMzcwMGUxN2I3YjVmMTFhIGxlZ2FjeS10cnVuaworMjc3OSAxODllZTNiZWViYjVlNmY2YTUxYzQ2YWFjNzk0MWYwODdhZjNkMzc5IGxlZ2FjeS10cnVuaworMjc4MCBhYzdkNjQ0NTNhYTlmMTVlYTk4ODg4YTUxYjhjZTM1YzFkZjdlZmU0IGxlZ2FjeS10cnVuaworMjc4MSBkMWY2ZWM3ODhhY2Y3YjVmYzQ3MTVhMDA3NmFhM2IzOWI2ODE3M2Y5IGxlZ2FjeS10cnVuaworMjc4MiBjZGVjM2U4ODA1M2IzZGY1NWY3NzUxMjk4NDI3NWQzMjZhY2IyNjJiIGxlZ2FjeS10cnVuaworMjc4MyBhMGQ0YzVlZjFkNWQ3ODk1ZmRjNWJkZjc0NjRlZDQzM2QyNDBlZjFkIGxlZ2FjeS10cnVuaworMjc4NCA5YmU2NThkMTkzYTk4OWY5MjMxMzAyNWNjY2ViN2QzNTZjM2Y5ZDVlIGxlZ2FjeS10cnVuaworMjc4NSAwZTQzNjIwMGJmMTI4ODRjZTFkZDU1YjQ4NDQ1NTQ1NWIxMGMxZGYzIGxlZ2FjeS10cnVuaworMjc4NiA3ZmI1ZGVmYzhmNmZhYWE1OTVlYzFiN2I4NGQ2YTkzNTFlMWI1YTY3IGxlZ2FjeS10cnVuaworMjc4NyAyMTJhZDE1OGE4MDYyZTJmNTM4ZGEzZDAyNTRiODExNDA3ZTcwY2ZmIGxlZ2FjeS10cnVuaworMjc4OCAxZDY1ZjI4YzBhYTk3Y2I4NTM5OTU2NzgwNjczMDQ3ZWU4MDM4MDU0IGxlZ2FjeS10cnVuaworMjc4OSBkNDIwYWY5YzFiNzU3YTJmODI2MDUyYWJmMTRlZDU2YmI0NjZlNzNkIGxlZ2FjeS10cnVuaworMjc5MCA0MmE2YjhlMTM5MWEwNzg1YmViYWI2NGYyZjgxY2NkMGMwOGExNTEwIGxlZ2FjeS10cnVuaworMjc5MSAwNGVkNDc2NWIxN2NlNTMwZGYxNGRkOTRlYzk0NWQ2ZGVlZDAzMzQzIGxlZ2FjeS10cnVuaworMjc5MiBmNWEyYmMzOWUxMGUyYTRkNGQ4ODczNzNiMWRlOTc0OGE1N2E0ZGRlIGxlZ2FjeS10cnVuaworMjc5MyAwYzE5MzhmMmUwYzAyZjg0YjVhZDYyYTFjZDU1Mzk1MzRiOTBjZDEyIGxlZ2FjeS10cnVuaworMjc5NCAxZjZjNTkzZWRhNjg3YjI5ZDUyMDMxZDdmZTE3Mzk2MTI1Zjc0MTBiIGxlZ2FjeS10cnVuaworMjc5NSA4ODU5OTZhMWE2MzE4ODBlZjYyOGJhY2FkY2RlMGJiOWY4M2UxOTA0IGxlZ2FjeS10cnVuaworMjc5NiA3ODRhMDlhNTIzNzVjNGU1NTJlOGUzZjgzZWRjOTczZGM3NjU5MmZmIGxlZ2FjeS10cnVuaworMjc5NyBkNWJiOGZlNDNkZjJmM2JmYjMzZTc5OGRjYmY4OTU4OGRjYjQyOWNmIGxlZ2FjeS10cnVuaworMjc5OCAzY2I2ODZjNDhjZGRkZjgxYmU0MzQyYmJkZmFjZTcxNGVmZDY4Zjg0IGxlZ2FjeS10cnVuaworMjc5OSA5ZDAxZTk4ZWQ4NDkzZTA3NjZiNWU1ZmYxMjU5ODA0ZjcxODliZDU0IGxlZ2FjeS10cnVuaworMjgwMCAyZjk1YTAxZDZjMWYzYzY0NTZkZmQyYWQ0Nzg3M2ZjNjA0ZjhhNmFjIGxlZ2FjeS10cnVuaworMjgwMSAwYjM4MDAwZmM4MjNkZjc4MGY3ZGQ4NmQzY2Y2MTIyMjgyOTk3ZmRiIGxlZ2FjeS10cnVuaworMjgwMiBiMTYyYjI3NDAwYmM1MDJkZDBlY2M3NDNkYWEwZmU1Mzg2ODQ5ZmU2IGxlZ2FjeS10cnVuaworMjgwMyAwZWZiOGRkZjZjMGVkNzhiY2EwM2YzNTY1YWMyYjFkNDI4ZTY1MmNjIGxlZ2FjeS10cnVuaworMjgwNCAwMmQzZjE2MWI3ZjU1NzAyYWRmYTQ5NWEwMDFjZDFhNzNiZjU2YjFkIGxlZ2FjeS10cnVuaworMjgwNSA1OWY5MzI1YmI4ZWNjM2U1ZGI0MGIwZDY1MDNjYzc5MTc0NjM4YTBiIGxlZ2FjeS10cnVuaworMjgwNiBjMGU3YjBiOWI3NTA3ZDQzMmYxZTA1ZjVhZDFlN2E4NzVhMmU0ZDVkIGxlZ2FjeS10cnVuaworMjgwNyBjODMyYTJiMGQ0MzMwYmQ4MzE1MjFmZmRmYWNhYTgzZjg3OTRlMzRiIGxlZ2FjeS10cnVuaworMjgwOCA4YmJhMTRmN2RiOGExZGNmZTk3MzA4YjJjYzUwMzA0MzMwZWY4OWNmIGxlZ2FjeS10cnVuaworMjgwOSBmNmNjN2FhMzFkZTY5ZTlhN2M2MjFhYmFlYTdlYzA1ZWYwNmNhNjE1IGxlZ2FjeS10cnVuaworMjgxMCBkYTViMTQzMzQ2N2MxY2E1ZjU5NGVkMjc5Y2Y5MmQ2MTI1OTQ1Y2U0IGxlZ2FjeS10cnVuaworMjgxMSA0ODlmZWNjMWRhMjg2YWFjMmY3ODNhYjMzNTRhNTg2ODZmZjY2NjJjIGxlZ2FjeS10cnVuaworMjgxMiA3M2ZlN2ExYTVkZDQyZTM2NjI0YjExMzVmNzZiODJiOGUwYjA3OWViIGxlZ2FjeS10cnVuaworMjgxMyAwNDU3YzQ0MWIwODYwNzc5YTcxOWUwNWVhNTI5NTY4YTc0MjlmZGI4IGxlZ2FjeS10cnVuaworMjgxNCA3NDk0MmVjNzA0MzBhZThmYjU0ZmQ0ZmExYWU3Mjk1NDBjODMwYTIxIGxlZ2FjeS10cnVuaworMjgxNSAyZTBkNjg4MjAxM2VmZmRlNjQyMmRkYWVlMDJkNzQ5ZThlZTNkOGFlIGxlZ2FjeS10cnVuaworMjgxNiBlNzI5M2I1YjU3MGQ5ZDYxOTFiMTBhZTQ4MGVmOWE0Mjc1NGZlYWM1IGxlZ2FjeS10cnVuaworMjgxNyBmNmY5ODJjYjU0MDEzMjJiNGM2ODY4MWNjYTA1Y2Q1OGE0Yzk4OTUxIGxlZ2FjeS10cnVuaworMjgxOCAzZTYyNmM0MTNiYmY0ODhmYzI4OGZmYWMxNmYwOTFlZWE5ZTc0Yjk4IGxlZ2FjeS10cnVuaworMjgxOSA1YjUyMWZlNGQxZjY0OTZiMGQzMmYwYzFlMDM4OTM3Zjc0YmQ1ZDQ2IGxlZ2FjeS10cnVuaworMjgyMCA2ZDE1OTliZTJiNTRlMGU0MDA2MmFlYjA4Y2UzMWVmNzNhNjU0YTBlIGxlZ2FjeS10cnVuaworMjgyMSBkMzc3MGIxZGE2MTE1Mjk1N2I0ZWMyNjZjMTNkMjhkNjMzMWIzNmU4IGxlZ2FjeS10cnVuaworMjgyMiA3ZTVmNGQ5YWVlNzdiYzZkYmFmYWZiOWE5OTNiYTJjMThjMjQzNGJmIGxlZ2FjeS10cnVuaworMjgyMyBhYWZmNjUwZDdlMTM2NjBhYjFmZDZiZDM0YjNjYzAyOGU3ZDM0OGI1IGxlZ2FjeS10cnVuaworMjgyNCA1ZWQ2YWRiYjk1ZjM1OTAzMmRkYWQ2M2Y1MThkYjM4ZDZkNjIyNDcyIGxlZ2FjeS10cnVuaworMjgyNSBlM2I2M2E5OTE0Zjg3MDI5YzM0NjM5Y2Q4ZDJhYWJiY2M5MjY1MzU5IGxlZ2FjeS10cnVuaworMjgyNiAxODkwNzgxMzYzNTE1NzFhZmEyZDQ4NmZkOWQyOGJlNGQyMTAzZjczIGxlZ2FjeS10cnVuaworMjgyNyAyODM5MDM3NWEyYjlhZTY2NTAxN2YyMGY4NjQ2YWFlZTZiM2VhZTgzIGxlZ2FjeS10cnVuaworMjgyOCAxNjRiNTZmYTY1NThlYWFhMmYyMTZlZTNjNDI0YTc5ZWQxOWUyZWFhIGxlZ2FjeS10cnVuaworMjgyOSAxMDQ5ODY3ZGNhMWY5NDgzY2E3NTg4OTVlZjQ5MzhhYWU4MjdiMGQ0IGxlZ2FjeS10cnVuaworMjgzMCBjMmJhODg3ZDk0OTJiMWIzYzQ1YTJlMzg2OTc2OTMyYzc4YjI4ZDI2IGxlZ2FjeS10cnVuaworMjgzMSAyY2RkYmJlYTliZmIzMjNjNTcyNDhkZGEyZDVhY2IxOTdmNGEyZjcyIGxlZ2FjeS10cnVuaworMjgzMiAxMDAwMmUxYmM1MjY0MmQ4OGUzMGZkMWU0NDI0NTBmZDAyNzI4ZWFjIGxlZ2FjeS10cnVuaworMjgzMyBmZmRkZTdmYzcxYzFlY2I4MmQ0ZTRiZTYxNTUxNzZkN2RjOTA5NzU5IGxlZ2FjeS10cnVuaworMjgzNCA3MWQ0OTYyNTlhZDM0OGU2ZGUxYzM3M2JmNDU4MDlmYzA1ZTEwMzE0IGxlZ2FjeS10cnVuaworMjgzNSA0ZTJkMjM5ZGM2NGM4ZjEyYWVlOWYyODhlMWM3ZjFlM2E0YmU2ZWVkIGxlZ2FjeS10cnVuaworMjgzNiA1YWZmOWY4ZmQyOTk1ZWZiMmMwZTVmMWI1Mzc1MmU4N2RhZjYyNmM2IGxlZ2FjeS10cnVuaworMjgzNyBlMzRlYmNiYmRjYTZmZmE0YjliMDg0MWMyNTY2MjQ0ZWRlYTQwYWNmIGxlZ2FjeS10cnVuaworMjgzOCA2NDQxYWE2YTQxMjY0OTg0ZmE3ZGIxNDRmNzA0OWM0ZmIxNzQzYzViIGxlZ2FjeS10cnVuaworMjgzOSAyMDViOTQ3YjFkM2MyNmM3NjA0NzU2YzgwOTEzN2I1MTE1MGUyMjYyIGxlZ2FjeS10cnVuaworMjg0MCA2YTYwMzQyYzMxMDc0ODM2YTQ1ZGNjYzgyNDFjZTc1OTk1MDUwNDJlIGxlZ2FjeS10cnVuaworMjg0MSAxMDJkZTMxOTk5OGUxN2UwZDFlYTkxZWZlNTc5NDBmMTUxMmNiZTQzIGxlZ2FjeS10cnVuaworMjg0MiAxMzg2YTcyYWU2MDQ3ZDk3NjA1MjFmMDJkYjk0Nzk3MjVhMjczYzY3IGxlZ2FjeS10cnVuaworMjg0MyA3NTQ0ZWJhYzU2OTg3ODE2ZGJlNjFiNmM0ZTUyN2JiNTM0MGM1Mzg2IGxlZ2FjeS10cnVuaworMjg0NCAzYjA5YjQwY2VmMWQwOWZhYzE2NWY1NTU1YmQ1YzhkZDU1ZGE2NWU5IGxlZ2FjeS10cnVuaworMjg0NSA5MTI2ZjRjYjFjY2E0NzA1YzdjZGUyZWY1NDRkMmI2NWNhNzE0YmYwIGxlZ2FjeS10cnVuaworMjg0NiBjYTI4YTNhODJiYmE4NDgxZTI0ODc4ZTcxNDEzYmEzN2UwYTQ1NDdmIGxlZ2FjeS10cnVuaworMjg0NyBkMjQ0ZWUwM2M1NzZlNzI0ZmE1ZTdkMDQ5YWMzYTI1M2E1NGM0NGFiIGxlZ2FjeS10cnVuaworMjg0OCBlMTViZWE5NzFhNWJkNTM3OWU4YmI1MzMwNjBiMWY1ODY1ZWEzYjlhIGxlZ2FjeS10cnVuaworMjg0OSA1YjcxODYzYzgwMWQyOTZmNTIzMjI0NzVjMTY2NGU4Y2FjMzZjNDIyIGxlZ2FjeS10cnVuaworMjg1MCA5MGVhNTA3ODYwOTUwYTMzZGQ4NmJiMjYzMmM4NTMzMzViMTIxMTEwIGxlZ2FjeS10cnVuaworMjg1MSA4OTFmOTgzNTdjMDQzNTVhZDJiMmQ0ZTlmZGMzNjEyNDlmMzJmZjUxIGxlZ2FjeS10cnVuaworMjg1MiBkNmZhNjRjZWM0MTBlNjBjMGE4NjYyNzM2MDQwY2EwOTYwYzBlNjdkIGxlZ2FjeS10cnVuaworMjg1MyAyZGJkN2U4NDRiZDA4MjdhNGRiMjAyOGIxMDg5YTJmOWRjNGFiZjdkIGxlZ2FjeS10cnVuaworMjg1NCBiNDliYWFkOWI2NDA2Yzc3NzQ5ZDQxNzg5NjRlZGFiOTQwNTVhNTUwIGxlZ2FjeS10cnVuaworMjg1NSA1YzE4ZDZjNTc4Mjc0MmYyOWZiMTdhNGFjN2Y2NTM2NjhmZDAyOThiIGxlZ2FjeS10cnVuaworMjg1NiA4N2FiOWM4MWU5MjdlZGQ2NmQ4YjhjOTJlYTFhY2M4YzQyYzIxNzQ0IGxlZ2FjeS10cnVuaworMjg1NyBmMzdmOGJjOTE5MGM1NmEwZjVjNDIxOWJhNTRhNGM4NTcxMDIxOGVkIGxlZ2FjeS10cnVuaworMjg1OCA3YzA2YmYxNWZkMmFiZGUxMDk0MTFkOGNhMzE4M2E1ZWM5MmM5MzJiIGxlZ2FjeS10cnVuaworMjg1OSA4YTYwNjQ5ZTc5ODdlNTFhNzU2OGYxZDlmMjI0NTYwZDdmMGRiODk2IGxlZ2FjeS10cnVuaworMjg2MCA4MmMxMjU5YTRlZjMzMDJhMDczMTIzNmJiOWYxNTJhMTE5MTdjZGNhIGxlZ2FjeS10cnVuaworMjg2MSAxNDExOWIxOTQ4ZmI0MTNiNWQ2Mjg3MzNkNWNkNGIwNDgwN2NhYzEwIGxlZ2FjeS10cnVuaworMjg2MiAwOWNlMDRlZjcyM2JlNzFkZTVlZmIxODRmYjAzODZkNWU4OTE2YjkwIGxlZ2FjeS10cnVuaworMjg2MyBmNTNkY2I5YTA0ZDYzODI1MTdmYTAzNDRlY2IzOTYzNGUwOGE3NTBkIGxlZ2FjeS10cnVuaworMjg2NCA4ZmZhZTBiNDZmZDQ5MjdiOGYxNjlkNmE3N2Y1Y2Q2YjAxYjYxY2EzIGxlZ2FjeS10cnVuaworMjg2NSBhODAyMmIyYTc3ZTYwOTZhMWI1ODVhZTFkZjRhNDI2M2VjYWFjMjZkIGxlZ2FjeS10cnVuaworMjg2NiAxZThlM2FiNjdiNDU4NWU0ODVlMjNmYWQ1ZTM2YmEyMGZhZTBjYWIxIGxlZ2FjeS10cnVuaworMjg2NyA3NTgyZWQxMzY4NGU0OTc4MDY3M2IzYzBjMTE0MjMzNDdiN2IxMjIzIGxlZ2FjeS10cnVuaworMjg2OCBiZmRkNmU2MjZkZDM3MGFlNDJmMmVjOTdjMmFmMzhiOTFhN2Y2YWJjIGxlZ2FjeS10cnVuaworMjg2OSA4YmNiNTBmNDM2ZmFkZWU2ODgxYTJiZTVlNDJhMmVlNjQwY2M1ZmYyIGxlZ2FjeS10cnVuaworMjg3MCA3MjM2ZTAyYzQ1NjMxMjY3NGVmYTdjNzZhYzA5Zjc3Y2IwNzQ5Yzc0IGxlZ2FjeS10cnVuaworMjg3MSBiYzVjNzdmYTgwMDY4N2NmZTc0MGZmYzkxNDcxMGI2NDU5ZmRmMzBiIGxlZ2FjeS10cnVuaworMjg3MiAzZDljMjMxMGFmZTg1YmM3NTBhZTU2YWQ0NWIyZTVlYzFhNWNjNWRhIGxlZ2FjeS10cnVuaworMjg3MyAwMGNkYjhkZWRkNmYyYTU0NjAwNWVkZWNlZmY4ZjUyZmU4NmMyMTA1IGxlZ2FjeS10cnVuaworMjg3NCA4NjI0NTdlMDIzN2NhNThmNTg4MzU3MWRiNzUxNmQzNDBlMDkxOTBmIGxlZ2FjeS10cnVuaworMjg3NSAyNDAzZmI2ZWFlYzYyMWMzNThlMmE1Y2U1NTAyNGZiNDc2NzYzMDk0IGxlZ2FjeS10cnVuaworMjg3NiA5M2UyMTVkYzFkNmVmMWUyYzdlMjE2YmEyZTA3ZGI2MzFjODk2NTI2IGxlZ2FjeS10cnVuaworMjg3NyA0ZDY0YWJiZGY3MGE5NjkxMjYxNmUzYTRiNzM0YTg2YTJlNzA3MDk4IGxlZ2FjeS10cnVuaworMjg3OCA5ZTkxNDVhYmM0MmFjNDU0ZTU4OGU3NGIwMzY4Yjg2MDllMTY3NzM2IGxlZ2FjeS10cnVuaworMjg3OSA0ZDJhMTk5ZTEyMDJhNmI3Mzc4OGUwOWE1YWNkMWIxZWJlMDY1NTg2IGxlZ2FjeS10cnVuaworMjg4MCBjY2UwNWE0NzZlMDQxMmVlMGMzMjI4ZjU2YWFhNjRkNDA1OWJlM2E5IGxlZ2FjeS10cnVuaworMjg4MSBmNzI3OGEwNjdmYjQzMDM2NWIwMTIzMjE3ZTJiNTZkYjZiZjM1ZWQxIGxlZ2FjeS10cnVuaworMjg4MiBkOGIxN2ZhYjNhOTgzZjEyN2U3NjdiOTAxNmQwOGM4ZGU0ZmEyODAwIGxlZ2FjeS10cnVuaworMjg4MyA1N2U5NGViYTI0ODQ4Y2I4MDU3YzEwZWM3YjVmN2VhZGM5YzIzOTk0IGxlZ2FjeS10cnVuaworMjg4NCBlNzU3MWExOGJkZWYxZDAyMTQ1NWVkMWQyZGRjOTQ5YWNhNTIzYWY1IGxlZ2FjeS10cnVuaworMjg4NSA0NzZiYjdlNWI4NTQ3NTY5YjE4ZTdkMWIwMDhkMDk4OGIzMmZkNTVmIGxlZ2FjeS10cnVuaworMjg4NiA3NmU0ODcwMTIwNGJmMjM3Yzk5MTk1OWE3NmY0ZTI1Njg2MGIxZWNkIGxlZ2FjeS10cnVuaworMjg4NyBlOGM2ZmE5MTE4ZWJlOWVmZjZiOTg2Njg2MzE0NTk1OWI4YWE5ZGEzIGxlZ2FjeS10cnVuaworMjg4OCA5YTc1NDQ4NmVmMGI1MTIxYjI2YTI1ODQ0ZGZmNDczY2Y3MDAwNDljIGxlZ2FjeS10cnVuaworMjg4OSA3NmQ5MmViYjRkODJhNzVjNTA2M2RkZjU4YzYwMGE1MjFkMGZjZGY5IGxlZ2FjeS10cnVuaworMjg5MCA4MmRkMDgxZjM4MGQ1NGE3NDk0OGViMThjOTBjMTViZTIwNTRkZDQyIGxlZ2FjeS10cnVuaworMjg5MSBjODE5NTJkOTdlYmU4YWQ4NzY3MmNlY2JiMzk1OWRkY2E3ZmFlNmE4IGxlZ2FjeS10cnVuaworMjg5MiBjNjVmYzE3MmYxNmRiYmE2ZmRlYTljZDliMWJiOGRkYzNjNWZlNWMzIGxlZ2FjeS10cnVuaworMjg5MyAwMzM4YzdjOWYwOGM5OWFiZWU5YzhiYjI3NGRiMzkyZjJiOGUyMWJhIGxlZ2FjeS10cnVuaworMjg5NCBmMTc5ZDhkNWVlOGM4NTNkY2NmOTZjOWQwNjEwOTQ3MjY1MzczMGJjIGxlZ2FjeS10cnVuaworMjg5NSBjZjVjYWJmYjNmNzFmNmI3NzliMTRjYTg3Njg2ZmNkMGM5MDdhYmNjIGxlZ2FjeS10cnVuaworMjg5NiAxZTIwNWQwODc1ZjYyZGY1OTJhNTMzOWQyMjJkYTAxMTk5NGM5MjhmIGxlZ2FjeS10cnVuaworMjg5NyBlYTBiYWQ5ZmRmNjczNGU5MDk0M2M5NTI0NjIxNTdmOWE3MTMyNGZmIGxlZ2FjeS10cnVuaworMjg5OCA4MjQ2NTc2ZWYzZjUzNTk2OTU3ODEyNDgyMmIyNzk1NTI4ZjU1OGE0IGxlZ2FjeS10cnVuaworMjg5OSA1NWM2MGU3ZjMxZWRhMjczYmQ2MjA3YmY1YTJhMjMxMDM5Zjk5OGRlIHVubGFiZWxlZC0xLjUuNAorMjkwMCAwNzhmOTAxNWYxNzg5MjhjNmQyMjM0OTEyYjk5ZWMwMTY4M2IwNTQ5IGxlZ2FjeS10cnVuaworMjkwMSBhYjFiMzQ4NmIyMjYzOGY1NGFmNmM5YjBhZjI2NjQwN2M3OTE1ZmQwIGxlZ2FjeS10cnVuaworMjkwMiBkNzc4MjQ1NDNiY2U5NmE5ZjAwNjQ5MmJkN2U4OGM4ZjUyM2Y0MGUwIGxlZ2FjeS10cnVuaworMjkwMyBkYzYwOTUzZjYwNTI5OTA3YjgwZjBmYzhkOWFkYzBmMzM2NjIwYTdlIGxlZ2FjeS10cnVuaworMjkwNCBmNzEwMTEwY2ZkMzkyYTU2YmEzYmU5YWZkOTJhY2IxOTYxZjMyYjIyIGxlZ2FjeS10cnVuaworMjkwNSBkYmNiNDlkNzQyYTBjZmYyYWMzMzgxMGI5NDc3ZWM3YzEyYjM1NDQzIGxlZ2FjeS10cnVuaworMjkwNiA4MzRkZDRhNzdlZTIwZjk5OThiNTZmZTIxZDhhOWQ4OTYyZmM4NjAxIGxlZ2FjeS10cnVuaworMjkwNyBjN2IyM2NjOGNkZWRhZmY0ODcwZGRmNTNmMzhiYmE4ZTQ3ZDU5YjM4IGxlZ2FjeS10cnVuaworMjkwOCA2YzBmMTYwMDhiZDlkNDBmY2FjOGI1MTg5ZTFlZjgxNThlMTk5MjE4IGxlZ2FjeS10cnVuaworMjkwOSA0NWM4MTg5Mzk0ZmYwZTNlOWQ5NjIwMzMyYThjYTE4MzI1NDI2MGU2IGxlZ2FjeS10cnVuaworMjkxMCA3MGMyZjQwNDMwYzc2OTVlZjkyZDhjYzMxNWYzMzNiOWNiYzE5MzRlIGxlZ2FjeS10cnVuaworMjkxMSAzMjA4NWVkZDc3YTdkODk0ZjI4MzU3MGFiZTM1MmUxMDAxMWEyZTdlIGxlZ2FjeS10cnVuaworMjkxMiBmZjNkYjk1NWU2MjhmMzQxNjQ3NWY3NmQ0MmFkOWJlNDUwOGVmZDdiIHVubGFiZWxlZC0xLjUuMgorMjkxMyBhNWU2ODgxY2ViZjA5YzgxNmI4MDU5NjMwYjc4ZWM1NTExMTM5MmU3IGxlZ2FjeS10cnVuaworMjkxNCAwZDQ5NGJjMjQyMDdmNzdhNTZlZjc0NWNhODQ4NjFiZTkxN2E2MzJmIGxlZ2FjeS10cnVuaworMjkxNSA4YmQyMTk0YWQ2ZjlhOWI1M2U4ODI0MDlhMGZjYWI5ODZjNTYyOTg3IGxlZ2FjeS10cnVuaworMjkxNiA4ZjdiMzFhOGE2Nzg1Yzg0NjY3MDlmNWQzZjMzZmE4Y2FkYjU2MGM1IGxlZ2FjeS10cnVuaworMjkxNyA2ZmJiMDNkYzQzOWVlMjY5YjI0N2FkZGZiZTNhYTBlNTQ4M2YwNmFmIGxlZ2FjeS10cnVuaworMjkxOCAyZGQ1ZGJmMjhhMmRkNTVkNGFlNzJjYTVjMTg0YTJhMTEzZDM2NGQyIGxlZ2FjeS10cnVuaworMjkxOSA1ZDJmNjJhZDhkZWVjMTIyM2RmYWJkMGM1NGU1NWFjYzZmYmYwMGJkIGxlZ2FjeS10cnVuaworMjkyMCA5ZGUzZDAyYWE3NWQxOWFiOTI4ODc5MjQ5MGJlNDU2ZGM3NGZjMmM0IGxlZ2FjeS10cnVuaworMjkyMSBiZmM2NTUwNzQ1MjNkMGFiZjQwODI5OTVjNzE1NDI3ZmEzYTIxMmRjIGxlZ2FjeS10cnVuaworMjkyMiA0MWRkMzkzNDg3ZjU5MWE0NGNhYWVkM2NjZDY5Y2ZhNzY0Y2ExZTNlIGxlZ2FjeS10cnVuaworMjkyMyA5YjY3MWYzOTdhOGYyNzAzNzA5OGNhMzY2MTQ4ZTRkNDJkZGQwYjgwIGxlZ2FjeS10cnVuaworMjkyNCAxZGZiMGM5ZDA1NzY3ZDBjZGI4MDM3YTZhN2MxNWEzODY1OTIzNmFkIGxlZ2FjeS10cnVuaworMjkyNSA1N2MzZTljZmVlNDBmZjg1OTlkMDFkNTFlZjYzYmM4MDExOGU3Y2JiIGxlZ2FjeS10cnVuaworMjkyNiAwN2Q1ZDYyYTRhMmIyMDE2NjBlMzAwYmQzYzZjNmQ1NTU5NDg0OGM5IGxlZ2FjeS10cnVuaworMjkyNyA3ZDg0ZTBkZGYzYmUyZGM4NjQ0NDRhODYxZDY1N2U4NjA5ZjhjZTgwIGxlZ2FjeS10cnVuaworMjkyOCAzODkwZjQ2ZDZlM2I3MTE0OWE2MDdlNmUzNzliOTNkNDY1MzQzNTA3IGxlZ2FjeS10cnVuaworMjkyOSAwNTM3NmM5MjZmNTgwZDk5YjFkODlkNzc3MWNlYWU3MTNkMDgwNGQzIGxlZ2FjeS10cnVuaworMjkzMCA3YTBkMDNlOGJkMjliYWU2ZDk4NGMzNjFjYzE1ZDA0ZTY3ZDBjM2Y2IGxlZ2FjeS10cnVuaworMjkzMSA2NzYwMzFiZjQ0ZWUxYWQ1MzlhNWQxZWNkMDYzYmUyZGVlMWI4YmJhIGxlZ2FjeS10cnVuaworMjkzMiBmODQyMWRhNGVmYTc2YjdkNWQ1OWQ4N2IyYjQ5MDE0NmI3MjM4MTE3IGxlZ2FjeS10cnVuaworMjkzMyA3NDQ2OTZiYTg5MjdhZTdiY2FmODVlNjVjZTdiOTI1YjQwMzViMTFkIGxlZ2FjeS10cnVuaworMjkzNCAyZTgyZGQwZjhhOWUzN2RhYzcwYWMwNjYwYjBiZTQ1YThiOTg2NDM2IGxlZ2FjeS10cnVuaworMjkzNSBkOTQ1Y2YzM2E2NGY0NjhhYTdiZWJkMmZkYzk1ZjU5YmVjNTQ1YTRlIGxlZ2FjeS10cnVuaworMjkzNiBjNzIxYWZhYjBlZmE2MWU1YThlMjIzMzZkZDc0ZTBiODdiZjE3Mzg4IGxlZ2FjeS10cnVuaworMjkzNyA3YzhhYmNlMTk3OTg0YTlhNjIyNWE5NzI4NjI5YzhkNTYwMTA5NGY2IGxlZ2FjeS10cnVuaworMjkzOCA0NWIzYTc4ZjI1NmJhZTZiNDk4ZjdjMWQ2Mjk3NGRhMjEyMjViZjcxIGxlZ2FjeS10cnVuaworMjkzOSA3MjU5ZTk2YTA0YTlkNDUxNDBmMGQ2NmM2MmNlNzZjMDlkMjI1YTA3IGxlZ2FjeS10cnVuaworMjk0MCBjMGQ0Y2FhNzFiZGFiMTJmYjBhMzMzYWYxNDBjMTVkZjllNWY4NzBlIGxlZ2FjeS10cnVuaworMjk0MSA2MTYzMDIwYTk2N2RiYzNmN2I5NWEyZDk4ZWUyNjU1ZjE1ODU2ZWQ5IGxlZ2FjeS10cnVuaworMjk0MiBiMzdhYzkxZTJhMGRhNGI4MDhiZjJiNTQxOGMyNzQwNzM0YWJkMjFkIGxlZ2FjeS10cnVuaworMjk0MyAzMGE2NTIxMDE1OTlmZjFlNzg2YTkwYjFiMTAxNjVmYTU0ZDkzYThhIGxlZ2FjeS10cnVuaworMjk0NCA2ODU4NDMxNGExNTQ3ZmRlOGE2NzBiNjBkYWRhYjBjMGMxYWRiYzEyIGxlZ2FjeS10cnVuaworMjk0NSAwMTJlMzdmMDUwMTkwZjE5MTE2NWY1YTk4OWJhNjEyNjI3MDBhMzFhIGxlZ2FjeS10cnVuaworMjk0NiAzZTFmYmU4NGNmOWZjNmEyNjMwYWEyYTA3ZDE5M2RlZjQxMjA0YTNiIGxlZ2FjeS10cnVuaworMjk0NyBmYmQ2OGU2OTIxNGMyN2UwNTk1MzgxM2ZhMDE4NDU0ZjhmZmNmODEzIGxlZ2FjeS10cnVuaworMjk0OCBjZDgxZTU2ODA0YjA5NDJiMWE5ZDQ1MDYwYzNmN2MxMWUxYjExYWVlIGxlZ2FjeS10cnVuaworMjk0OSA2M2QzNGU4NzdhNjk3MDhmM2RlYmRlMWU0NjQ1MjY4OTNkOThhYjA5IGxlZ2FjeS10cnVuaworMjk1MCA0NDMxOWRmNmE5MWMyOTY3NzIzZmVlNTA2MDAyMTI0MTVmN2E4NWFmIGxlZ2FjeS10cnVuaworMjk1MSBiYTRlYzEzYzBmOWY5ODJlZjliNWU1NDJkMzVhNjNhNTU1MTY5NWQ1IGxlZ2FjeS10cnVuaworMjk1MiBmNTY1Y2Y3ZjlhYmE4M2MxYTgwYzcxZTE4NDdmNzM1OTcyMWUzMTk5IGxlZ2FjeS10cnVuaworMjk1MyAxNjQ4NDlmNTYxMDVmZTJjMzA2MTlhNjRhZmUyM2RjNTVjNmVmOTQ0IGxlZ2FjeS10cnVuaworMjk1NCA3N2VlOWIyMjJmZGI0YTQ4ODg1Nzg1ZjlhYTYxNDI1YmYxNWY4Yjc1IGxlZ2FjeS10cnVuaworMjk1NSBkYzNiNDU1Zjc2MzI3NzM1YjA2NWJiZTA2ZTAyODA3MWM1NGUxOTAwIGxlZ2FjeS10cnVuaworMjk1NiBjYmYwZWY5OThhNGExZTU3Y2ZkYWU2NDg3ZDc0NzRhMTVjYjU5YmFmIGxlZ2FjeS10cnVuaworMjk1NyBjN2JjNTYxNGVlYWQ1YjRmNjlmYmQzZmJmY2ZlOTY3ZDVmOTYwMDliIGxlZ2FjeS10cnVuaworMjk1OCAwY2QxOTc5NDdkODE0ZTljZjIyYjlkNDRhOWY2NjlhMTdkMDcwNjVlIGxlZ2FjeS10cnVuaworMjk1OSAxMzYwNjE4NDA2MjQzNDE1Mzk5YWM2NjMzMjNmOWQ5NDEzN2RkNDMwIGxlZ2FjeS10cnVuaworMjk2MCAzYzhiNDQyZTVlMWYyZTZjZTMzYWE0ZjU1ZmU3YjgwZDkxZjQyNjQ3IGxlZ2FjeS10cnVuaworMjk2MSBkZmIzYjBlYzFmZjkyOWE2ODIyY2Q1YmM5MGMwMjAzZTYzMjhjOTFjIGxlZ2FjeS10cnVuaworMjk2MiA3ODRjNTFjYjFiNzk3MGI3YTFjN2UwZDBiMTRhZDk2MDU2NzczMzYyIGxlZ2FjeS10cnVuaworMjk2MyA0NGVjZmY2ODg0YjdkNzFjZjRjOTgwZmU5YTJhZDgwMDMwNTlkMGRjIGxlZ2FjeS10cnVuaworMjk2NCA5NjUyZmM4MzBhMTJkOWFiYTlhZDg2YzBjNGM2Yzg3ZWJlOTZkNWI5IGxlZ2FjeS10cnVuaworMjk2NSAzZDY1NDFhMmVjYTVhMDYyNWU1ZjQyNDQ5MDA0MTU1MmQyYWM5MmE3IGxlZ2FjeS10cnVuaworMjk2NiBkMDU3MDRhMDAwZWJkZTVkOTFhMjNjZTE2MmVhY2M3MzQ4ZjExZGU5IGxlZ2FjeS10cnVuaworMjk2NyAzYWRlY2UyYzg1NjcwNDVkYzE5N2ZmOThjZGY4YjNiNDNlNWFmNmU3IGxlZ2FjeS10cnVuaworMjk2OCBiYWIyYmViZDM1ZTczNTgxYWU0ZDg4OWMxZTViMDRiZmZkNmMxZTA4IGxlZ2FjeS10cnVuaworMjk2OSAyNTk5MjNlNGQ3YjE3ZmJjZDAwZDY4MTdmNzlmMWE3YmMwNzQzZDhlIGxlZ2FjeS10cnVuaworMjk3MCA0M2M4NmQxZWIyMmMyOTQ2NjYwMzE4MzI4ZjhkNTU5YzA1N2QxZTYzIGxlZ2FjeS10cnVuaworMjk3MSAwY2ZmMzZiMTEwZmU1NTI3NDY5ZDA2YzM2MTE4NDBhMmQ3YmRkYTgxIGxlZ2FjeS10cnVuaworMjk3MiA4NTdlZDNmYmRjMGVhMzlkMmIwOGYwNWNmNjg4NzlmYTY0YTNkZTczIGxlZ2FjeS10cnVuaworMjk3MyAzNzczYjZmNmRkNTNiY2ViNmM0N2QxYzY3YzRlN2U4MmRmYjA5NzNjIGxlZ2FjeS10cnVuaworMjk3NCBkNmUyNTc5MjMyM2ZiNmJmY2U0MTk3MjZiYWFiZTc4ZmNjMTFlOGU0IGxlZ2FjeS10cnVuaworMjk3NSA5NGVhNmVhN2Y3ZDU1NmFmN2U1OTY1YzBhZjFkNWEyOTMyNWE4MGZmIGxlZ2FjeS10cnVuaworMjk3NiAwMWE2YmY1NzQ1MmU1NWFlZDcxNTczM2ZmMGQxZjhjZThiZmNlZjY0IGxlZ2FjeS10cnVuaworMjk3NyBmMDhkMzQ0OTkyNjlkZTBlNDhmZWNiNGViYWM0N2U5NDU4OGNiMzI5IGxlZ2FjeS10cnVuaworMjk3OCA2NTA4YzkzZjk0NzI5YWFkZWU4YzRiMTNjNjFmOWMyYWRiMjIwMTk2IGxlZ2FjeS10cnVuaworMjk3OSBlNGEyN2Q4NGVhMzY3ODBmMDg2NGIzZDU0YzNhOGQ3NmVjYmExYWRiIGxlZ2FjeS10cnVuaworMjk4MCBhYTYzM2YwZGVmYTYxZWE5NTVlMDRlZWVkYjM0NDg2YjQ1NGU2MDYwIGxlZ2FjeS10cnVuaworMjk4MSBlMTU3YzEyY2Q2ZTdmNzQ5MWNlMzBmYzNjNTNhYWNlYzVhYmZjMzY3IGxlZ2FjeS10cnVuaworMjk4MiBhMWU4NGI0ODQ0N2FlNjQ0YmJhZGZiZTVjMzk2MmUwNzc4MmRiYmU5IGxlZ2FjeS10cnVuaworMjk4MyAwOWM2OWExZWM3YjA5MjhiMWZiOTE3Y2RkY2MxYzFlYTVhNzk1ZmNmIGxlZ2FjeS10cnVuaworMjk4NCAwMWZjNTkwMDMzMzlmNzcwM2YwZjljYTNjYmMwMjA1M2RiODYyZmQxIGxlZ2FjeS10cnVuaworMjk4NSAxZWVjZmZkOTY5Njg5ZTA4MDkyMjI0OWFkYTJkNjlhYTdjZTU3MDZjIGxlZ2FjeS10cnVuaworMjk4NiBkMWI4OWU4NWNlNzU2ZDNhMmQ2ZDZjNzNmMTgyNDFhMmM0NjgxMjYyIGxlZ2FjeS10cnVuaworMjk4NyBiODRhNmQ0ZGU5MGU4ZmNmNDM0YTMxYWVmMGRlOTgxZDVkZDcxNjI5IGxlZ2FjeS10cnVuaworMjk4OCAxZDE5NjY5ZjU2ODc2OTY0MzNhNWYyYzA0OGI5M2RhY2NhYjk0OWE3IGxlZ2FjeS10cnVuaworMjk4OSAzY2I5YTJiN2I0MGNmNDJkZTM5YTRhOTAwNGZhNTM2M2FiNzBjNDNjIGxlZ2FjeS10cnVuaworMjk5MCBmYWYxMWFkY2NmYzY1YmQwYTc0ODEzNDljYTEzYmVhNWVhMThlMDM3IGxlZ2FjeS10cnVuaworMjk5MSAyZmNkNDAxYTYyMzIzYTQ2OTRkZWEwYWYyY2E4NmM5NTM0NmQ5NGM4IGxlZ2FjeS10cnVuaworMjk5MiAyMWIzZWE2YmQzMmQzMTZlMWQ5YjY3ZmZmZTAzMDQ1ODJiNjkxZjU2IGxlZ2FjeS10cnVuaworMjk5MyBlYTUwNzJkZTc0MjczYTUyOWZhMDA2NDIzMzlmZmI0ZDQ5MmZhMGRlIGxlZ2FjeS10cnVuaworMjk5NCAzZWIwNWQyZGM3YjExZjQxYjU2MzFlYzg5M2RlNzliZTNiNmQyNDZjIGxlZ2FjeS10cnVuaworMjk5NSBiNDE3OTIzMDcwMDhkZWI0MzhhOTczYWI3OWEyNzcxZTY4YTc3ZWMzIGxlZ2FjeS10cnVuaworMjk5NiBhNzg4MmZjNmVhMjcwNWI4ZTE1MGRiYmMxZTFmZTkyNjQyYzkzYWUxIGxlZ2FjeS10cnVuaworMjk5NyA2YmY2OWY1NGE5MDNkODllNmQ1YzE5N2E0NTNkNzRmMjdkYzI5NzM2IGxlZ2FjeS10cnVuaworMjk5OCBmMjc3M2E2ZGM1MWVlY2IyOGJkZTViZjc2YjAyNGQ0OTE5NzQyNTY4IGxlZ2FjeS10cnVuaworMjk5OSA3YjRhZGU1MzZhZjg4ZjQ1MzBlZjZlNzUxMGM5YTRmMjc3YjE2NjZjIGxlZ2FjeS10cnVuaworMzAwMCBiOThhZWYyMTNkYWVhNTRjMjMwYzgzY2Q2NDQwZTMzZjJiOGQ4MTc1IGxlZ2FjeS10cnVuaworMzAwMSAwN2E4YzQ0M2I4MzEwNDgzY2M0ZTUyNjc2Y2RiNWJiMTI3NjFlOTNhIGxlZ2FjeS10cnVuaworMzAwMiAxNzgwZWI4ZmRlMmI2NDVmMzNhMGVhNzMyYTFhZDlmMTA0NjNlYjA1IGxlZ2FjeS10cnVuaworMzAwMyA0MTAxZGVkNzNjNTJkYThkZjdlYzAzZTBiZjFlNDM5OWJhNDRmZDljIGxlZ2FjeS10cnVuaworMzAwNCAzZjgxYjVhYzJiYjIwMjQwODU5MjU1N2QwMmNlMGU3N2ZjNDllN2FkIGxlZ2FjeS10cnVuaworMzAwNSAxNDY2MzVkZWYwMWVhYjJkYjM3MWRlOWEzN2UxMDI5MzIwYTQ4NTU2IGxlZ2FjeS10cnVuaworMzAwNiAzOThjMDBmMTFhMmY0NWMyN2U0M2ZjYjE5ODMzN2UyZjQzNDFiMWYzIGxlZ2FjeS10cnVuaworMzAwNyBjNTVjYjc2YmM4MzcwODFlMGQ1MWFmOTdmNDhiMjUwZmRhYjkwNDRhIGxlZ2FjeS10cnVuaworMzAwOCA4NTFhYzRhOGJlN2Q4ODViMzcxY2NlM2VhYzUyMTdkZTk4YWU3NTJiIGxlZ2FjeS10cnVuaworMzAwOSAxNjQwY2MzZjFhNTNmODA3NTJmYjJjODBiZDU3MWM0MGRlZWJlZTA5IGxlZ2FjeS10cnVuaworMzAxMCBkMzFlYzE1ZjVmNzEwNjQ0YWUyNzM2Mjk4M2Y3ZDZiMGE2OWY0MWFhIGxlZ2FjeS10cnVuaworMzAxMSBiMmE0MWY2YWVhYzk5MGNhY2JhMjRkMGE5Mjc5NGIyMzAzMDIyZTM1IGxlZ2FjeS10cnVuaworMzAxMiBmZTZhNWYyNjQwYTI3NmQ5MDE3ZjVlZGYwMDc0NDYxZDNiZDliOTZiIGxlZ2FjeS10cnVuaworMzAxMyA4NzJhM2NhZWZmMDcyNDIwMzUzODlkNmZlNjVmMDI4MmEyMDM2Yjk3IGxlZ2FjeS10cnVuaworMzAxNCA0ZGVmYWJiODI5NmI1YjQ3MDZkMDM3ZDU4YWEwZGM2OTU2YjBkYjM5IGxlZ2FjeS10cnVuaworMzAxNSAxYWM1YzY3MjdlOGM1OGRjODk5NDBiNmY3MDA3N2NiMGNiYmJiMTJlIGxlZ2FjeS10cnVuaworMzAxNiA0ZDU4ZTJjNTA4ODdhNWFjYWU4ZTg5MjU4NGQ1N2E2NWJhOTRjZTdlIGxlZ2FjeS10cnVuaworMzAxNyAzOWU1YjdlMzE1ODg4NWYzMWViYTM0MGRlZmYwMjVhMDcxZDVjMDMwIGxlZ2FjeS10cnVuaworMzAxOCA2ZjQ5OWQ1ZGFkZGY3YWJjZjdlNDkxNDQyOTZkZGU4YTI4MTcwMDVmIGxlZ2FjeS10cnVuaworMzAxOSAyNTQxYjNkMGYyMGY3MWU2MTZiOTdhOWYwZGUyNjJhNzAzMmVkYTc3IGxlZ2FjeS10cnVuaworMzAyMCA4YmMxNzBlNWVmZWU3MjE0NmE4Y2UyY2MwOTgwNzVkOTE3YTM4ZTNkIGxlZ2FjeS10cnVuaworMzAyMSA2Y2ExYzQ0ZmQ1Mjc4YTMyOWNjN2YxNDk1OTBjZTNhMmY3ZDY1Yjg1IGxlZ2FjeS10cnVuaworMzAyMiA2ZjNmZWQyNTBhZGIwZmEyMjI3N2UxZDhhYTI1ZWU5ZmVmYTE2ZWY2IGxlZ2FjeS10cnVuaworMzAyMyAzOTEzNGM5OWM5MjM4M2E1NzE2NjY4NzBmN2FhNzIwNjdmYmZmMTEwIGxlZ2FjeS10cnVuaworMzAyNCA3NjA5NWE4Yjk2Y2FlYmYwZGRjZDJiOWVmYTMxNGE3YmMzNzcwOGZkIGxlZ2FjeS10cnVuaworMzAyNSBiY2YwMjA1MmU5MDllODFhN2M0YzAwNzk2YmQzYTZiNGRiMjJlYWUyIGxlZ2FjeS10cnVuaworMzAyNiBiNjhiMTBhMjE1MjAwOTNlOGExNmZiMjczN2U1YjlkYTQwY2Y3N2IwIGxlZ2FjeS10cnVuaworMzAyNyBlNThmNDBjMmYyODVjZjVlMzZjNjFkYjA5MTQ1Mjc3N2Y0YTM0ZGMwIGxlZ2FjeS10cnVuaworMzAyOCA1OGU4NzcwZGI0NGFjZGZlZDFkNzY3Y2M2ZDAxMDg5ZmQ0OWUyZjk3IGxlZ2FjeS10cnVuaworMzAyOSAwNmMwNzg3NTBlODA4YTMzYjhiNzMxYzIwNTM2ZWZlZTM5MTVkZDE0IGxlZ2FjeS10cnVuaworMzAzMCBjYjE0NmFhOTg3Yzk0NWY5NjA0N2Y3ODQ2NWU3NjIzMThjMzgwNTAwIGxlZ2FjeS10cnVuaworMzAzMSBiMmRiNGJmMzRmZjhjZTQ5OTk1ZGE3ZTg0MDQ4M2JmZTcyOTg3OTQyIGxlZ2FjeS10cnVuaworMzAzMiA4ZTM1MWZiMjU3N2EwMmIyNjJhN2VmNTA5NzY3MzVkZDJhNWRiMjhmIGxlZ2FjeS10cnVuaworMzAzMyA5NzE1ZmRjMWU0NjJkZmQ0ZjUwZmQ4YzBkN2IzZGE3MDIwYTkzZmJiIGxlZ2FjeS10cnVuaworMzAzNCAyMjE2OWZjYzExODI2ZGE2NTc4MThmMTgyYzI2ZGMzNzM5YTI1OTc1IGxlZ2FjeS10cnVuaworMzAzNSA3YTAxM2Q2NDQ1YTQ4Nzc1NWM0OTYxY2E4NzIxZjlkYjM2ZmRiMmI5IGxlZ2FjeS10cnVuaworMzAzNiBhYWRkZjgyMWY1ZDQzMmNmMTE2YjNhYmE0NDg2MTE1YzM4ZTAyZWQxIGxlZ2FjeS10cnVuaworMzAzNyA0YzliYzUyYjgwODBkMzljZjhkZjZmY2U4YmZkODA4MWFkYWNlYzhkIGxlZ2FjeS10cnVuaworMzAzOCBjZDBlN2YyNGZhY2ExYjExYWI1NmI1YTFiNjJkOGFmMDAzYzA0MWE3IGxlZ2FjeS10cnVuaworMzAzOSBlYzMxNzQ4ODM3ZGMyNzg5ZjQ4Nzk0NmYzMjU5MTczMTk3MTQyZjkyIGxlZ2FjeS10cnVuaworMzA0MCA5ZmIyYTg2OGVlZWVjNjVhZTdkYzYxOTgwNGVkNTU5MThkNzkxYjVhIGxlZ2FjeS10cnVuaworMzA0MSAzNjMyMzE0MGY3NTE4NTQ1ZTJiYWQ4MzVmYWU5NGFkN2EyZjU1Njk1IGxlZ2FjeS10cnVuaworMzA0MiBmOTQ4MWFhNWU3NzZiNjVmN2JkMWUyNmI1Nzk2M2UxODViNDFkM2E0IGxlZ2FjeS10cnVuaworMzA0MyAzNmI5MzQzMjZmZWQ1ZjQ1NWE3YzBmZmFkOGQzMzUwNTA5ZTEyODI5IGxlZ2FjeS10cnVuaworMzA0NCBhZmY4MTljYWYyMWFmNTRjYjY2MWM2OTkwZTAxNDA5YjdkM2Q1MTFjIGxlZ2FjeS10cnVuaworMzA0NSAwMGViZTVmYjBhYzY3MTIwYjYwNGU1MWEyNzY4YzNlZDgwYjBhODQ1IGxlZ2FjeS10cnVuaworMzA0NiBhNTRlNGE3MTdjOWJiZTI5MWQ5MmU0ZDYzMDU1MmI0ZDlkOThlOGVlIGxlZ2FjeS10cnVuaworMzA0NyBjMDJjM2NiYjhhZDEwNDc3NDFiYzZmOWI0NjIyY2Q3MWZjZjNmZDU4IGxlZ2FjeS10cnVuaworMzA0OCAyNjZkZTU5ZGU4YTlkODcyODdjYjQ4M2RlZWMyODZkMjhkMGEwOGZhIGxlZ2FjeS10cnVuaworMzA0OSA5YTA1ZTJiZmE3NGMzNmJiYTZiZWI3ZGUzZjUwNmU2ZWRmMGZmMTlhIGxlZ2FjeS10cnVuaworMzA1MCAxNmExOTUzNTRiMmJlZTA2YjdmYzNiNWQ5YWRiMjY1MDQ0YzgyMWQyIGxlZ2FjeS10cnVuaworMzA1MSBkZDdkZmFkNDA0Y2Q4MzJkYTYzOGYxNzUyOTRhNmVmZTlmY2I3YWQ0IGxlZ2FjeS10cnVuaworMzA1MiAxODE0MDkxNDFhMTgwNmQ3Yjg1YzMxOGZkYjk2NDNiZTI0N2VlMDljIGxlZ2FjeS10cnVuaworMzA1MyBiM2Q2MzlhZDY2NmQ1YjIwYjBkYjdjNTUzYzAzN2U0OWRhZTVkNjZkIGxlZ2FjeS10cnVuaworMzA1NCBhOGNhNzIwZmQ5MjE5ZWVhNmJjZTMyZGY2YTk5ZDVmOTVhMDE2ZmE3IGxlZ2FjeS10cnVuaworMzA1NSAxMWVhNjY5YzIzMWUxM2QyNGQ0OWRiMzhjNzUzMTEwMjhmMzVjNDRkIGxlZ2FjeS10cnVuaworMzA1NiAyMjY1ODI4MjJjZmFmMTIyZjBlZDNjYTk1YmIxMmZhOWMzZDExNTRlIGxlZ2FjeS10cnVuaworMzA1NyA0NmNiNmJjZTRjNDc1ZjRmZWZjNTIyODQ5MTk2NjZkNGZhYzQ0ZmY2IGxlZ2FjeS10cnVuaworMzA1OCBiZWJkYzFhY2Y0NzQ1OWI4NmU1Y2Y5NzUwMmRmYjA2MjAxNzE3N2NjIGxlZ2FjeS10cnVuaworMzA1OSA2NDU5ZTJmMjFiZjY4MDc3Mzc4OGZjMmFmZDY2MTliNzJkN2M4ZWFhIGxlZ2FjeS10cnVuaworMzA2MCAwYzViMmQ5ZTQ1ZTgyZDNmMmU1ZThhZWQ0NGFmNWZhYzJjYjk1NTYxIGxlZ2FjeS10cnVuaworMzA2MSBlZjg2NTAyNTA4ZTJmMTA4NmMxYTE4NmJmYjEzYTY1YTBmMGQyZjBmIGxlZ2FjeS10cnVuaworMzA2MiA5OWJmZjFkYjc1ZjRhMGZmMWQ2NzI5ZGUxZWM5N2E2ZjNhYjFlNjc0IGxlZ2FjeS10cnVuaworMzA2MyA1OGE3NDM4YzJlN2VmOTIyYjM2MzE3OWUwNDZmMDgyOWJiYWFhZDBhIGxlZ2FjeS10cnVuaworMzA2NCBmZWEzZjU5NGRmNzc0NmI3NzZhMTNjYjkwZjNlZmE0OWIzY2I3ZjU0IGxlZ2FjeS10cnVuaworMzA2NSBhNDc5M2FlMjY2ODI2YzAxMzRjNDk2N2QwYTBiYmMzYTYzODRhYzE0IGxlZ2FjeS10cnVuaworMzA2NiBmZDYyYzI4MDk2YjU4NzdlNjZkNGJlZDdjMWZhNDU5MDEwNjU3NDc5IGxlZ2FjeS10cnVuaworMzA2NyA3ZjdiYTY1YTI4MjVjMGU0NmI1ODRmOWIxMjI1OTkzYmMwMzU2YjVjIGxlZ2FjeS10cnVuaworMzA2OCBhMWY1YjIxNmUzOTJjZDliNTJhNTc1OWFjNmNhYmNhM2VhYmY4NWE3IGxlZ2FjeS10cnVuaworMzA2OSA2Mzc5OGNkZTU4MmNmNTM1NjQ1YTI0MmVjYTNkYWU3OWZjMGUzNjBmIGxlZ2FjeS10cnVuaworMzA3MCAzMjAxMGQzNTVmYjYxMjJlNTI1OGVhOTIzNjYzNDY1ODNkYjVmNWJkIGxlZ2FjeS10cnVuaworMzA3MSA0MjRmNTVlNjdkNWQzMjRiOTg2NTc2YTVmZGU5OGMxNDdjZjJiNDI1IGxlZ2FjeS10cnVuaworMzA3MiA0ZGEwYjdkYWU3OTZmZjhmMjU4YWQ2YjdhNDcwZTZmYjljYzNkYjFkIGxlZ2FjeS10cnVuaworMzA3MyBhNGYyYjIyMTBiMDIxMTUwMzBjNTlhMTU3NTM5NjE1NzMzOTM4ZDZmIGxlZ2FjeS10cnVuaworMzA3NCA0ZmQyMjYwMmUyODJjMWVlOGJmNTE4N2ZkMTRmZDJiM2E4NGJhNTY3IGxlZ2FjeS10cnVuaworMzA3NSA2MGUzMTE4ZDMwNzM3YmI2ZjI5YzM4NzZhNGM4MTNjNjMwNGQ0NTk5IGxlZ2FjeS10cnVuaworMzA3NiBlOThhOGY4MDI5MDNhNjI5YzYyNDY2MTQxNGNjODljYWUyYWM3NjZkIGxlZ2FjeS10cnVuaworMzA3NyA3NGI3MTZlOWFjNDk4NmU0MDAzNzg5MzgxY2QwZGQwNDRlMmEyYTM4IGxlZ2FjeS10cnVuaworMzA3OCAzOWVlN2RlNzQ3NTAyZTk2MmJkYjVjNmU4NzJiMzY3ZjQyYjBhNTVhIGxlZ2FjeS10cnVuaworMzA3OSBmZWMxOGUyNDRkMTY4ODJiMjlmMGZkNTdiZTdkNTExZmQyZmYyOWY2IGxlZ2FjeS10cnVuaworMzA4MCBjZmRkNTc1ZWZmZjJiNDE1NzBiMzdiZmJmZjgwYjJjMzc1MTA2M2E1IGxlZ2FjeS10cnVuaworMzA4MSBlNDNhMjIwYzI4N2FhM2VhMjdiN2MxZTEzZjVmYzAzMDkxOWY1ZGY0IGxlZ2FjeS10cnVuaworMzA4MiBkM2IyN2ZmZjAwYjJmMTI1NzVlYzFkMjEzYjhlNmQ3ZDM3NzllZTNiIGxlZ2FjeS10cnVuaworMzA4MyA4YzczYzVmM2I2Y2E3M2RkYjY2OTRhNmM1NTI4NzA5NTA2YWZmNmQ2IGxlZ2FjeS10cnVuaworMzA4NCA4MDc4ODM0OTk2ZWNjNTgyY2E0NDc5NjgzMTQwZjA4ZjdmMzBiMDM0IGxlZ2FjeS10cnVuaworMzA4NSBjMTJiNDQ1Y2RhY2VhMWQ5ZjlhMDg4YWY2MjJhNmE1YjFjMDRjYWFlIGxlZ2FjeS10cnVuaworMzA4NiA3MmFjZWVkMzY1ZDQzNWI3YzI5NTNkYjg0MGJjZDA1NDc2OTk4MzczIGxlZ2FjeS10cnVuaworMzA4NyAyNTA1ZmQyMGQyNzdhNDc5ZTBkNDg3NjYyYjhkYzIzNGQ2YmFlMjYwIGxlZ2FjeS10cnVuaworMzA4OCA2MTE0M2JmMDNiNDQ3NmUwNWUyNzJjY2U5ZGFhOTU2NjEzYWNlNzQ3IGxlZ2FjeS10cnVuaworMzA4OSBjMTU2ZDQ5NjBjMmI0MDg1OWIxZjA1OGMyNGZkMWIwNjA1MDQzZTcwIGxlZ2FjeS10cnVuaworMzA5MCBhYWNiZDRiNTU4YzdlZmNmYmJmNzdjY2JiZTI3MDY4MzQ2YzAwYjQ4IGxlZ2FjeS10cnVuaworMzA5MSA4NzI1ZmE4ZDdmZjkxZDgxYTQzNmFhNjFkMzRkNzBmNmNlZTI5MTI5IGxlZ2FjeS10cnVuaworMzA5MiBmZjAyYjk0OGM5YTgwYjdiOTU1YzE1ODQxYjkzMWY1NDEyYmQ4MWEyIGxlZ2FjeS10cnVuaworMzA5MyBlNTA2MTk3MzMyYzBjMWExMWVhNGJmOWNkYTcyODA2MmU4ODVmMDRlIGxlZ2FjeS10cnVuaworMzA5NCBkODYwOGVkMWNjM2IxM2I5ODIzMDEyZTBiYWY2ZDlhNDY2YzVlM2U3IGxlZ2FjeS10cnVuaworMzA5NSA2MTU5ODNmMWEzZmYzZmQ1OTJlMjY3M2I0YTdlNDRiYmUzM2Y0ZWJkIGxlZ2FjeS10cnVuaworMzA5NiBjNDMyNzM4Y2Y2OWFlYWUxNWY1ODhjZmE2ZjRmMTA5ZGU3OTRhYjMyIGxlZ2FjeS10cnVuaworMzA5NyBkMzgzZDI3MzMxNzY1ZjhkNmVjYzA2ZTMxZDQ1MGI0YWYzOWJjYzIzIGxlZ2FjeS10cnVuaworMzA5OCA0ODc5OTY3OTZlZGM2YzczMWI3NTBjZjk1ODZkOTUyMTM3OThlZTE1IGxlZ2FjeS10cnVuaworMzA5OSBkY2U2ZGM2MmYxMDhlZTQ0YjA0N2VkYjAyYmY0NGQ5OWNlMjA1YWM5IGxlZ2FjeS10cnVuaworMzEwMCA1OGE0Y2IxOGYwMjVhZjg2ZDlkYjNkMDkxYzkxYzRmNDQ2ODQ0NzhmIGxlZ2FjeS10cnVuaworMzEwMSAxODM2OWJiOWMyNGQwNzg3OWY2MDVlZmE3ZWM1MWE1MGYyOTJkN2E4IGxlZ2FjeS10cnVuaworMzEwMiA3MjQzYTkwNjkzN2NmNzg0ODNjZWVkYTM1MDM0YTRkMDE2YzQzMmVhIGxlZ2FjeS10cnVuaworMzEwMyA4NDQ0ODJiNjQ2N2FhZTNkNThjODFhNTA1NzA1ZTUyM2JhNmVmMmIxIGxlZ2FjeS10cnVuaworMzEwNCBjZDQwZTNlZWJiNDkzOTBmNGUwMzRhZjMxMWRjYmUyNjFiYzdhMDE0IGxlZ2FjeS10cnVuaworMzEwNSAzYWE2NTg5MmI3NWM0NzA2OTY3MzU3MzM1YTk4NzYxNzllNTM5YTk5IGxlZ2FjeS10cnVuaworMzEwNiBiNDZmMjFjODMzNjkwOTZmMDAzZDk3YjhmYjU0ZDVhYjlkNzU4ZjExIGxlZ2FjeS10cnVuaworMzEwNyAyMjJmMDRmNTUwODMzNTcyNmFiNmU2MWUxZDVkZjM0NDc3M2Q4YjFjIGxlZ2FjeS10cnVuaworMzEwOCA0NjViOTg0MTc3MGUzNDU2NWU0ZDk2Y2YwZGY3MGJjYTRiMDdkOGU2IGxlZ2FjeS10cnVuaworMzEwOSAzNmUyYjdhMDBkNzJmMzZhZmJhYmM4MDFlMmQwMzVkZjcwMDUzMTRiIGxlZ2FjeS10cnVuaworMzExMCAyNjBkOTZkYjExMmY4N2QyMDRiYzhlNWUyZGM0ODczZmI4MWZjMjI1IGxlZ2FjeS10cnVuaworMzExMSBlNWFlNDJmZmQ5YTA3NTdmNmE3NzFmOTY3MWVmZTYwNjZiZTIzNzM2IGxlZ2FjeS10cnVuaworMzExMiBiYzBhYjAxNzU0YmE1ZGNiNDgwMDQxZTUzZDlkODdhNjdkNTUzMDdmIGxlZ2FjeS10cnVuaworMzExMyBiOWYyNGQwYzdkOTYxNmE3ZDAyZjE2MGVjNzhhNDAzMGQ5NTY3YzIzIGxlZ2FjeS10cnVuaworMzExNCAwMjg0ZjEwNzlhN2JhZTU2NDIzYzljZTczYWUyMzgzYmE3MWNkYTVhIGxlZ2FjeS10cnVuaworMzExNSA3ZDhlNTFlNTgwZDFhMjNjYTMzZDIwMjg5NzZmNTJkMmIyYmQ2NjllIGxlZ2FjeS10cnVuaworMzExNiAyYjYwODMyNzIzYzE0MzFmNzk1Zjg0OGQzMTczYjYzNzlhODVkZTlmIGxlZ2FjeS10cnVuaworMzExNyAyNjZhOGJhMjA3ODRmY2Y0MWJjNGVmMjhlY2ZjZTlhOTkyNGVjOGM3IGxlZ2FjeS10cnVuaworMzExOCAwM2RlNjcwODBjOTU2MjQyOGRjNzM3ZTcxZjRlZTRlZDIyNTJkOWE3IGxlZ2FjeS10cnVuaworMzExOSBhNjBjYjUzMjEyMTEwZTU0MDBiNDNiNWI4OGViZDZjZTc3ZGM3ZTE5IGxlZ2FjeS10cnVuaworMzEyMCA1YzZjZGI1OGE4MDFjYjgxOTQ2NGUwZThjZDFlMWRkMzEwZjg4MjA1IGxlZ2FjeS10cnVuaworMzEyMSBhNzM2ZWYxODQwYTUxZmUyYjc1ZWE4OWY1MTkxNTU4ZWQ5NDEzYjU2IGxlZ2FjeS10cnVuaworMzEyMiA2OGIzMDJhZDg0YTE5MWI0M2Q5OTU1YzU4YzgyOTM5Y2Q2Mjk1OTkwIGxlZ2FjeS10cnVuaworMzEyMyA3ZDNhMDUzYzY3NjVhZTU2ZWIxNmMxMGRjNTg5ZDVjMGZmMTMwOTk1IGxlZ2FjeS10cnVuaworMzEyNCBhMzFlMDc4NDcwNjM4NzQ2OWNmMGU5ZjNlY2M4Yjg5MTE3ZmQ0ZWZiIGxlZ2FjeS10cnVuaworMzEyNSBiNDFlOTU3MzFlNDIyNDIxNzg1ZjE1ZDg5NTcxMzNmNDRmZDNkOWZkIGxlZ2FjeS10cnVuaworMzEyNiBiNWZjYjY2MjQ2NWU3M2NmOGY2N2U5NWFlOWQwNTQzM2U5MzIwOWY3IGxlZ2FjeS10cnVuaworMzEyNyA0YmRiMjc5NDNlMjI0MjEzNzAwNjkwOTBkYWU0MDBlNTNiZmM3ZjVlIGxlZ2FjeS10cnVuaworMzEyOCAxNGNjNGIwN2NlYmJkNjExZTc3MGJmN2ExYjUwOTI4ZDhkYzdjMDc5IGxlZ2FjeS10cnVuaworMzEyOSAyN2FhZjk0NDc1ZGRiZDc1OWIwNTAyZDdiYzdmYzYzOWY5OGFmZTQwIGxlZ2FjeS10cnVuaworMzEzMCAxYTUyMDI5MGMzOWMwNTI1YTdmZTAyMWEyMTEyM2E4MjQyYWUyMTU5IGxlZ2FjeS10cnVuaworMzEzMSAwNmE5YzgyOGI2MDg5MWI1OGNiZDZhNmMzMjNiM2U5MDQxMWQ0MWFjIGxlZ2FjeS10cnVuaworMzEzMiA5YmZlNzNjNzczMzRjYWI2MTMwMjM2YjdmNTQ3MzRmOThmZTRlOGVmIGxlZ2FjeS10cnVuaworMzEzMyA0NjU3ZjdjOTgwZTg1OWY1OTIxNDk5ZDY1ODZmYTNlYzc4NGI0MjY3IGxlZ2FjeS10cnVuaworMzEzNCBmNjcxOTM4ZGZkZTJlNTMyOGFhODA4ZTc0OGEwMWRhZGIxNTFjZGFjIGxlZ2FjeS10cnVuaworMzEzNSA3YjM3YjVlNzE0OTNhMzY3MThmNTUwMzU0ZWNkOWE2MzVlMGRjZTk0IGxlZ2FjeS10cnVuaworMzEzNiAzMGEyOTAyNTdjMzFkMGIwOGQxNzI4NjUyZDE0ZDZkZTUzMTUyZDY1IGxlZ2FjeS10cnVuaworMzEzNyBjOWMwMzI4MzY4YTllMmI2NDM5MTYwNDNmZjViNjVjMjJmNDViMGJmIGxlZ2FjeS10cnVuaworMzEzOCBhZGJhYzU4OTNmOWM2MGRmYjE3M2EyZjY1MDE3NjQ1NmRlY2JmYmQyIGxlZ2FjeS10cnVuaworMzEzOSAzMWIwMThiZGE3ZTJkM2Y1MDBkOWZjNzQ4ZTRhOWJlMTU5YjFlOWYxIGxlZ2FjeS10cnVuaworMzE0MCA1NzZkYzE0YTI0MDA5NzEyZWNiMTA2M2M5Mzg2NGFiN2YzYWZjMzUxIGxlZ2FjeS10cnVuaworMzE0MSAxM2M5OWVhZjMyYThjNDVmYzkzOTgxOWJhMDE4YzRiMTk0M2I1NjYwIGxlZ2FjeS10cnVuaworMzE0MiAzYzU1ZTYxMmE2ZmNjMWQ3ZWM0MTkxZWUwNDBlOTM2NmE3MmUxYmM3IGxlZ2FjeS10cnVuaworMzE0MyBmZmUyZmJjNTgzZGVjZDc5MTk4NWUyNjNmZTk3OWJlOGY1MzhkOWFlIGxlZ2FjeS10cnVuaworMzE0NCA5ZjFkYjU1NmZmYmMyOGVhM2RhZGQyZDZhMzE5NzM5ODJhZTEwOGM2IGxlZ2FjeS10cnVuaworMzE0NSBmYmNiOGQwYmQ0NWUwMzIxZWM5ZDU0ZDVhZmFkZGQ3ODczY2E4MGFmIGxlZ2FjeS10cnVuaworMzE0NiBiMDQ1ZTY4YmJjZGQ1NGQ0YjQ1ZTNjMDczZDAyODI3MjZhM2ZlMjg5IGxlZ2FjeS10cnVuaworMzE0NyA4N2FlZDUxNjAxNjE3NmI0YTQwMDI1NzkwMmE1OTc5MjY1Yzg2OWZlIGxlZ2FjeS10cnVuaworMzE0OCA1Y2M3YTNjZDU1N2I2NDkzNzc2YTIyYWI1MzMzYjhkMDIwMGIxNzEzIGxlZ2FjeS10cnVuaworMzE0OSAyYTA3NDZkNTI0NzhhNzJlYWQzZDFkY2I2MDc1N2IwMTYwMDM1NjE2IGxlZ2FjeS10cnVuaworMzE1MCAyNGM5OGI2MGRkNzQ2NWJlNDBiMDM3YTY2YzVjNWFmNTgyMThmOTllIGxlZ2FjeS10cnVuaworMzE1MSAxOTdhMmNmM2E2NjJjNmIxYzcwMmI3MzEwMDE3MDJkMmVkYmQwNmFjIGxlZ2FjeS10cnVuaworMzE1MiA3N2FjYTY5NjZiOWQwMWI1YTEzNGYwZmM5OTM4Njc3NWU2NWVlNmY2IGxlZ2FjeS10cnVuaworMzE1MyBhOWViN2EwZDQwMDIxNDFmZTcyNTRkNWVjZTJjNTMzY2E2NWU1NWUyIGxlZ2FjeS10cnVuaworMzE1NCA3ZjgwZjMzNmJlN2Y4MmFiZWNkNDVkNzg4YjhiMmJkMWI2ZDUyYzBjIGxlZ2FjeS10cnVuaworMzE1NSA0OGM2MzdmYjE1MGYzMjg5ODE2ZjFmZDM3YzdhYWE4ZTM4ZTQwMDcwIGxlZ2FjeS10cnVuaworMzE1NiA3Y2UxOTc1ZjExYTkwZjEyNDFjY2IzMWViYzUyMzI1YjEwNjNiMDhmIGxlZ2FjeS10cnVuaworMzE1NyBmNGRiNDA2M2VjODg2ZWQzOWFlZWIxNjRlNDY2MDFhNmRiNDI5MDE4IGxlZ2FjeS10cnVuaworMzE1OCBmMDI1ZWVmOTMxMzBkMzI1OTI3NTc0ZjA5N2Q1NjgxYzIyYjY5MGVjIGxlZ2FjeS10cnVuaworMzE1OSBmZmIwM2NlYmYzZjQ1NWU0MjZlNDI1YWZlMzI2NjQ4MmNiN2E4ZDI4IGxlZ2FjeS10cnVuaworMzE2MCAwYmUxYTVkYjc3ODQ3NGEwZTVjZmY3ZmFkMTI5MWJkNmRiYWFkYjE2IGxlZ2FjeS10cnVuaworMzE2MSAwOWI0ODYwNDg1NWY0ZGQzZjM3NzNkMmVmMjQxYWFkYTBlMGM1MTA5IGxlZ2FjeS10cnVuaworMzE2MiBkZWJmY2I5YTdlMDhhNjQ3NDM4OWQyZjlhNmVjOTBiMWQxNjViNzZiIGxlZ2FjeS10cnVuaworMzE2MyA2Nzc0MTA3YzY0N2RjNTljNjA0ZGFhNzBjNGIxYWJlN2JjOWQ1NWYxIGxlZ2FjeS10cnVuaworMzE2NCA1MDY3ZjJkMzhlMTQzZmIyMzI1ODUxNjUyNDU0NDg2NjI5YmNmNjU3IGxlZ2FjeS10cnVuaworMzE2NSAwY2U0MDRlNDEzOWM1YjY1MTE5MGM4NGEyZTgxZDQ1YzZkZGIyYTlmIGxlZ2FjeS10cnVuaworMzE2NiAxN2RiMDU5YjI5YmFjYWIzMWRkOTAxYzk2MDY1YWU0NWE2Y2UwN2ZlIGxlZ2FjeS10cnVuaworMzE2NyA1ZDcxNDJlYTAxYjdkYjBmMTc4MDY2NGU2OWM4OGFkYzUzYTIxNDBiIGxlZ2FjeS10cnVuaworMzE2OCBiMzMyMjhlM2MyYzI3ZWQ5MjMxNWUzNTRmYjgwNWI1NmVlNDU3OGZiIGxlZ2FjeS10cnVuaworMzE2OSA5MDMwNzEzNzdkMjkyZTU5OTI0MGQ5M2ViYmIxNTYxOWEwZjdkNWQ1IGxlZ2FjeS10cnVuaworMzE3MCAwNGE4YTg5YzkyZWI3MGUxMjEzODYwMmFkNTQ3NGU2MTdkMzk3NjdmIGxlZ2FjeS10cnVuaworMzE3MSBmZGJlYWUyZDZlNjcxZTIxNWE4NTFlNmZlN2RkYzNjMzg0YmFmMDJhIGxlZ2FjeS10cnVuaworMzE3MiAwOWQyNzFlZjNiODI0MDQyNzkwMjg5YTk1YWI3YWVmODIxM2QzZWEyIGxlZ2FjeS10cnVuaworMzE3MyA2YzFmZDA1MTBkNjFiY2QxNzA4ZTE5MmU1YThjM2FjMzg5NGNlZTVkIGxlZ2FjeS10cnVuaworMzE3NCA5MjY3OGI1MDU3YzY1NTZjZTU0NDU2ZTUwNTQwYjE1Yjc1YTdhYTBjIGxlZ2FjeS10cnVuaworMzE3NSA4MDY2ODliOTM1NThmOTU2ZjcxZTYwOWYyMzJjMWUwMmZkYzU0ODM0IGxlZ2FjeS10cnVuaworMzE3NiBhMWNlNWE5NDk4MjhkNWMyYmYxNTU0ZjgwMGQzYWQ3YjEyZmM4NzIzIGxlZ2FjeS10cnVuaworMzE3NyA5NmFjYjM1YmI5MmJiODkxZDlhYzBlMTgyMjFlMTk4NTAxMDZjMGEyIGxlZ2FjeS10cnVuaworMzE3OCBmM2Q1ZTJjM2I5YTNhNTMxZjdjZTcyZWJmNGMzOTEwYjliMWJhMWI3IGxlZ2FjeS10cnVuaworMzE3OSBhNDFlM2JhNWI0N2Q5NmZiYjdkOTIxZDU0YWRiZjFkZDk3MzUwMGUwIGxlZ2FjeS10cnVuaworMzE4MCBjYjdlZjliZDllZGVjMzc5YTUzODY0MGQ5ZDNiM2U3MzY3NzQ5ZTFjIGxlZ2FjeS10cnVuaworMzE4MSAzOTQ1ZjM3MTIzNTQ5MDFiZDc2ODlhYTkzZDVjYmFjMWUwZTJkMTYyIGxlZ2FjeS10cnVuaworMzE4MiBhM2U3NjhlYTgwMmFiOTA3ZjAxMTAxN2FlMWJlZmY1ZTE3YTY2YjRlIGxlZ2FjeS10cnVuaworMzE4MyA3NDQyYjIwYzQzZmRmY2NjMWEzOTk3NzA1MzczYjlhMWQ1MTM4NGI1IGxlZ2FjeS10cnVuaworMzE4NCAwZDdjODIzNjY3MDQ1MDA1MjdjNDU3MzdkM2MzMmMzZDFjYWUxMzYwIGxlZ2FjeS10cnVuaworMzE4NSA5YjU2NmFjMzhjMmI4NDM0MWM4NDUzMDI1MDM3YzdmMTI5YTFiNWJjIGxlZ2FjeS10cnVuaworMzE4NiA5NGFiNjc2MWFmZTJjNGVmMmQ3MDVjN2NlOWExZDMxMWNmZThmYWMyIGxlZ2FjeS10cnVuaworMzE4NyA3YjRmMjgzM2ZkOTAyYmM1NThhMjFiYTFjYTE4NGI2MWI4M2FlNTE3IGxlZ2FjeS10cnVuaworMzE4OCBmOTkzMTk3YzNhNDc2ZTQ5YzM3ZTNkOWI0NDY1NjM0NDgwN2I5MTc5IGxlZ2FjeS10cnVuaworMzE4OSA1NmQ2M2NhYmRiYTdlYzA4NTVmZTI0MGQxYTU0Y2EyZDZjY2ExOGExIGxlZ2FjeS10cnVuaworMzE5MCA1MTM5NDBlYjRkN2I2OTkxYjE1NTZmZDk3YmZjYmFiYmJmOWRkNWU0IGxlZ2FjeS10cnVuaworMzE5MSBlZDQ1NmU5MWQ5NWFlODU0Njc0NTk5ZTliNjMzMzliYjk2YzFhNmI5IGxlZ2FjeS10cnVuaworMzE5MiAyZjk4MDVjOTYzZTg1MzY0ODA3YjhlYTE3ZWJiM2NmMzQxZDJhZWQ0IGxlZ2FjeS10cnVuaworMzE5MyA5ZjBmYjExNGMxZTU0Y2U1NjNlNTQzMzBmZDdkMThjMDVkZjRjZWY3IGxlZ2FjeS10cnVuaworMzE5NCA3YTExYTcwZjdmNDRkY2NkNDJlZGQxZDliMjk2Zjg3NTIzY2JhMTgyIGxlZ2FjeS10cnVuaworMzE5NSA0MzJmZTdmMDgzN2M0YjI1YTc0YzQyZmE0YmUzNWI1MmY5NTUyYzg2IGxlZ2FjeS10cnVuaworMzE5NiBmYmI4NDBmNjRiZjg5NTY3Y2E2YzkzYmMwZTUwZDVlYWU1ZGYxZGY1IGxlZ2FjeS10cnVuaworMzE5NyBiYmQwMTk4ZWFlNWJmMThmYWFjMjc0YzY3ZTI1MzRjZGQ3ZTgzYTRlIGxlZ2FjeS10cnVuaworMzE5OCA1ZmIzZjczYTYyN2ZjZTU5ZWQwZTE4YzMwZTFlZWE2YTdhZDhmY2Q4IGxlZ2FjeS10cnVuaworMzE5OSBiZmZlZmJmY2ViNjA1NDNjMzQ4YTZmYjk5ODQxYjhlZTNjOWE3ZDI1IGxlZ2FjeS10cnVuaworMzIwMCA1MTZiNWExNmFjNzcxOGQ2ZTE3ZGEyMWEwNmVmMzQzZDNiNTY5Zjc5IGxlZ2FjeS10cnVuaworMzIwMSBiMDA0MzhmMjY1ZWQ4Zjk2MjJkYWFlM2E2ZTBhMzJhYWQ2NjM0OTA0IGxlZ2FjeS10cnVuaworMzIwMiA2YWEwZWUxNGFjMmVkNjA2YTBlOGJjOGE2NDYwNDY5ODBiYjQ0OWEzIGxlZ2FjeS10cnVuaworMzIwMyAwZWU1OWExNGU1NDIxZmM5YjQzMjI0MjBlMDc1NmExM2FiMzVlNzA4IGxlZ2FjeS10cnVuaworMzIwNCAzZGFjMjA0Yjc0ZmFmZjkzN2YxMDVjODI0N2NjMWUzMjg1ZGUxZTA1IGxlZ2FjeS10cnVuaworMzIwNSA1OGY3NDhmNThkZjU4NGJiMjY5NmU1OThmYmM5MmM4MWY3N2VhNDhjIGxlZ2FjeS10cnVuaworMzIwNiA4ZjNhMjU0MDk5NWExNWUwZTE3ZGU4OWI3NzNjNzk3MTY3MDQ5NzkyIGxlZ2FjeS10cnVuaworMzIwNyBjNzJlZTI5Y2NjZDAxOGZkNzM3MmY2YmU0MTI0ODY5MjYzYzM3MTllIGxlZ2FjeS10cnVuaworMzIwOCAxMGYxMGQ0NTQyZmFlZDg1NDJlNmI1NmRmYTkxODFhZWE1MmI2Y2QxIGxlZ2FjeS10cnVuaworMzIwOSBkNjgwOGVjNmVkYzczNmU2MzQ1NGMzYTViN2M3OWY2MWRkZWU1OGEwIGxlZ2FjeS10cnVuaworMzIxMCA2YjVhMzRkYjIxZmUxNzMzNjgyYWU0N2Y4MjRiZjczY2I4ZTgxNGM2IGxlZ2FjeS10cnVuaworMzIxMSBjMWViZmRlMzQxYTNlY2M5YTk5NTBlZmQzZTYyOTM3NDU1YzY1MzlmIGxlZ2FjeS10cnVuaworMzIxMiAyZWQ1MTExNzE4MDk4MzgyN2IxOTExY2I4NjQ0ODg5NDczM2Y4OGUxIGxlZ2FjeS10cnVuaworMzIxMyBmNDlkMjMxMTc3NmJiOTNkYzlkODVlY2U5OTg5MjQ5ZmM2MTZiMjhmIGxlZ2FjeS10cnVuaworMzIxNCBmNTRlNjRjOGI5YjcwYmI5YjAzZDMwY2YyOGExZDgzNDUyOTNhZjYzIGxlZ2FjeS10cnVuaworMzIxNSA2NTA4ZWEzMmM2YjA5OTk5ZmI0YjFmMzVjZGY4N2ZmOTI1MjU0MjhkIGxlZ2FjeS10cnVuaworMzIxNiBjOTU0NmEyMTE4ZjA0YjZiMzY1MDdiYjM1NTMxYjQ2NTc2MjE4NzY4IGxlZ2FjeS10cnVuaworMzIxOCAzMTZjZTY3N2M2YjIwYTRjOTBhMjg2ZDc5MDAzY2IyMjk3ZmRmNGFiIGxlZ2FjeS10cnVuaworMzIxOSA2YWIyMDdhNTVmY2EzNDc3ZjQ2MTBiZGNhYTk4MjI3MGEwYmJhZjkyIGxlZ2FjeS10cnVuaworMzIyMCA5YmY3NWU0ZDlhZWMzZWFiM2RiYTA1MzU2Mjg5ZGQ0NjBhNjg1N2E1IGxlZ2FjeS10cnVuaworMzIyMSBlNjY0MmE1MzVkYjVmYzE2YzBhZmU5YjE0NjU5NjA2YzE2OGY5MDc2IGxlZ2FjeS10cnVuaworMzIyMiBmZTE5MjZiOWRmZmE3MzEyNTQ4OGRlZDFjNGZkZWQ5OGNlOWJkYmM4IGxlZ2FjeS10cnVuaworMzIyMyA1OTJiYWM2YWRmZmMyNTY2NjJiNDlkYWVjNDgxZTFiOGI1ZGI5ZjcxIGxlZ2FjeS10cnVuaworMzIyNCA0ZjY2NDFkZWE2NDU4OTc4ZDAyMTAxOGRkMmEyYjg4OTg3ZTE2ZmY4IGxlZ2FjeS10cnVuaworMzIyNSBhM2ZhMjI5Nzc1YzE2ZDNhMzJiOWZiNTVhNGYxM2Q0MGRkZmQ1MDg3IGxlZ2FjeS10cnVuaworMzIyNiAwZGExNmU4MTQ4MmNmMzNkMGNhOWI4YTQ4ZDIzNmM2NzQwNmUxYzlhIGxlZ2FjeS10cnVuaworMzIyNyBhYWEzYmNjYjE0M2FhZjFiNzcxNTVjN2ExOWI2MmJhMmIxNTY3ZGM4IGxlZ2FjeS10cnVuaworMzIyOCA2YmU5NzAzOWNjMTFmNjI0YTBiYTJjYTY2M2EzZWJiYTFmZGE1YWYzIGxlZ2FjeS10cnVuaworMzIyOSBiNWQ5NWFjZmQzZWUzMjM1ODM5YzcxMzZiMjdiZmNmN2IxYWVjNTlkIGxlZ2FjeS10cnVuaworMzIzMCA2OTZiOTEzMjdlYTIzOGU1MTMxNGQ0MDNhMWIwMjFhMzFiYzBmNjA4IGxlZ2FjeS10cnVuaworMzIzMSAzOTNkNTRlY2Q0M2I1Yjk2ZDQxZWE0ODQ2ZjgwNTZlYTI1OGEyMmYzIGxlZ2FjeS10cnVuaworMzIzMiA3MTYyZjVhYzg5OWFhOTJhNjRiYzQ5YjQ0NWFmZDdjMTJkNmM1ODgxIGxlZ2FjeS10cnVuaworMzIzMyAwMDE2NDU3YmQ5N2E4NWE1YTZjNWMxMTM4NGY4ZjNmYWZiZTUzNTBmIGxlZ2FjeS10cnVuaworMzIzNCAxYTU0ZDMyMGYyOTY0YWE3ODVjMjBkN2UzZGUwMmY5MjdhYWNhNjdkIGxlZ2FjeS10cnVuaworMzIzNSAyMjkxZGEwNWYxNzg0YmZiODUxNGRlNTZiZDkzOTEwODNkMTIwYzBjIGxlZ2FjeS10cnVuaworMzIzNiA3NjdlZjczNzBkMzNjNGQ5MDkzOGM1NTBkMzNjYWQ1NWViNTI4NDM5IGxlZ2FjeS10cnVuaworMzIzNyAyYzA0MzJmY2MyNzA3OWQwMGVlZjIwNzZjMDU2MzI5NmRiNzkzMTA5IGxlZ2FjeS10cnVuaworMzIzOCA0ZGMzODJmZjZmYzc0ZDM1MGQ2MGM2MTE0ZDVlNjY4M2JhOGMxYTFlIGxlZ2FjeS10cnVuaworMzIzOSA5OGNiNmExMjUyY2I2NWIzM2ZjZjgyMDhmMDQwYjIyYmJmNjEzMTJlIGxlZ2FjeS10cnVuaworMzI0MCA2YWM5MTZmOGY4NjI2OGQwODBjZTVlYzAwOTFkNTJkOGM5YWE3M2ZhIGxlZ2FjeS10cnVuaworMzI0MSBmZWI1YjIzNGIwYjVmZmIyNDM2OGI3NDI2YjQ3OTJiOWYyNzE0YjAxIGxlZ2FjeS10cnVuaworMzI0MiAyNDUwMDNjMDA2YTYzN2Y0ZjFkMDhjZjM5NzdlYzE3ZDgyNjIxZTZmIGxlZ2FjeS10cnVuaworMzI0MyBlNGM2YTBkZDVjMmIyN2E3YTVmZTc4NTMyNjVlYmNkMDViMzBhYzU2IGxlZ2FjeS10cnVuaworMzI0NCA3NjU3YTc1MDk0ZjFjMjA4MmExMmVkNTY1OTNhODM3YjM2ZDA1ZTE4IGxlZ2FjeS10cnVuaworMzI0NSAzMWRmNThmYTk4Y2M1NTkxYmMxZTYyMTExYzMyMGZhYzExMTk2Y2UwIGxlZ2FjeS10cnVuaworMzI0NiAwOGQzYzM3MDE5M2RmN2Y2OGRiZjQ2YjM1NDJmZGY4ZTQ4YzllZGQ3IGxlZ2FjeS10cnVuaworMzI0NyBmMDg2ZDdiNDkzYjRkZmNmYTFjNWE3ZDAzZGMzZDgzN2U2MjE1OWIwIGxlZ2FjeS10cnVuaworMzI0OCBiNzU1YTQ2MjAxZjZlNzVjNzhkNGRmOGNhYzYzMDY2MjJhODg3ODlmIGxlZ2FjeS10cnVuaworMzI0OSA5NjVhYTNiNTNhOWQ4NmE1YTNjYzZjNmQyZTZkOWNkZjA4NGU3YTY4IGxlZ2FjeS10cnVuaworMzI1MCBkYjgxN2YzYTFjNjU0NDhhNTU1ZjYyNzNiYWY4MDQ0YjQ0M2Y3NjhjIGxlZ2FjeS10cnVuaworMzI1MSBiOWU0ZjczMjFlMjhkY2ZiMzgyY2EzMzY4MDFjYmYyNDQ0MzA0M2FjIGxlZ2FjeS10cnVuaworMzI1MiAzNTgyNDg5OWFhY2Y4MjBhZTkwYzlhMWE3ODZlNzkyMDlkZGUxOTU2IGxlZ2FjeS10cnVuaworMzI1MyA4ZDYyYzkwNTZmZTE1NDQ0MzA3NmFiYzZjNWQ1YTgwNzhjYzBhN2RhIGxlZ2FjeS10cnVuaworMzI1NCBhYjkyNjUzNGExNTI3NDkwOGVlMmE1MDkzMjFmYTA5MmMwY2ZmZmQwIGxlZ2FjeS10cnVuaworMzI1NSA2ZDU3ZGNiNGZhYWRjYmU5MzM3YzkxMDkzMmFmNjlmOGQ5ZGVlOWZiIGxlZ2FjeS10cnVuaworMzI1NiA4MmM1NWVhOTA2OWU1YjU0OGI3YzEzNjAzY2Y5MTFlZTdhOGU2MmRiIGxlZ2FjeS10cnVuaworMzI1NyBhNDM3NmE5OTdmYjE4YjliOTZlMmI1N2E3ODFiODQzYTdmYTAwMGNkIGxlZ2FjeS10cnVuaworMzI1OCBkMmFmNmJkY2I2ZDBhMjQ0Mzc2NzJiZmE2MzcwZTJjNzE2ZWRmYmIzIGxlZ2FjeS10cnVuaworMzI1OSBhYzA4MjhlZjY4ZjI5YmJkMTE0MjVlM2NhMDcyNGEzNjI2ZDI4ZGY2IGxlZ2FjeS10cnVuaworMzI2MCBjZTcxODQ1N2IxNzI2NTc3MTE3YTAwOGU4ZjBjMjU2ZGMyMjI4MGZjIGxlZ2FjeS10cnVuaworMzI2MSBjNjQ0YmM2MjYwOThhZDdiZjMzYTU4MjFlNzQ1NWU3NGRhZjYwYTdjIGxlZ2FjeS10cnVuaworMzI2MiBjOWQyZjZiZGFhNjliZDRmMzIzMmZlOGZmNWU3NTAyMDU0OGI5ZWQxIGxlZ2FjeS10cnVuaworMzI2MyAzZGQ3YjgyNTU2MTlhYTgyNDRkYjM2YmNkOWZhY2M2MDU3Y2YxZmNlIGxlZ2FjeS10cnVuaworMzI2NCBmZjE4OTlkY2RhMDU5ZGRjYjMwZmVjY2I3MDM1YjJlZWVmOWI5NWE4IGxlZ2FjeS10cnVuaworMzI2NSBiNzU3ZTU4YmM1MjVjMzk4NGU3Nzk3NjA4YTI5ODE1NjQxYTQ5M2RlIGxlZ2FjeS10cnVuaworMzI2NiAzMGMyNmNmNTQ4MDQ5NjczNTI4ZTRjZDYzODc4OTA5YWVhYjBiMzE4IGxlZ2FjeS10cnVuaworMzI2NyBmY2FhZmQ1ZWM2OTU2M2MwYjdkMDgwZmQ2N2UxN2ZmYjc4ZDliYmRiIGxlZ2FjeS10cnVuaworMzI2OCA0MTU0ZTk4ZDE0NzhiOTJkZmM0MGQ4Nzc2Y2YyMWFlZjg2NGFlZGFhIGxlZ2FjeS10cnVuaworMzI2OSA2ZjJhNmVmZDAxOWU0NWY4MDc1MWNlMmJkMGQ3MGQ4YjQ1MjlhN2RiIGxlZ2FjeS10cnVuaworMzI3MCA4ZWE1NDYwNDdmMDExNjMwM2E4NTVmOGU3NmQwODA1MzY0YTM2ZmY2IGxlZ2FjeS10cnVuaworMzI3MSA5MWMxODZhMjE2ZTcwOThjODMzZTExNDFlMjYyMjM0NDM2NmIyY2E2IGxlZ2FjeS10cnVuaworMzI3MiA3ZjhkZGNlODg0OTYxZDRiOTM1MjcwMTUyMGJkZDdlZjVmNTZjZjU3IGxlZ2FjeS10cnVuaworMzI3MyBlMmY4MDc3YTkyNmVlYzJiMjJkZTc0YThjMDIxMzMyOWM2MGMyYTI2IGxlZ2FjeS10cnVuaworMzI3NCAxZDA2YjE0OTllYjkzMmYzN2EyZDRmODcwMGMyZGU4M2I1Yjk2ZjMwIGxlZ2FjeS10cnVuaworMzI3NSBkZTcwZDc3YjNlZWQ3NGUwYzEwZWJhMjg0NWFiNTU5OGJmMzAzMTdlIGxlZ2FjeS10cnVuaworMzI3NiA4Mzk5ZTlhYTAzZTdmZTJlNTY3NGFhMzdiZmJjOWJkNTUxZDZiZmE2IGxlZ2FjeS10cnVuaworMzI3NyA0NmQzMWE2NDljZTY2NzMxYWNmNzFhOWYzMzAxMzMxZWIwNmEyMjQ0IGxlZ2FjeS10cnVuaworMzI3OCBjMGFlZDVlZTExMGJjN2QzYjFlMTY5OWYyMGRlYjk0MDg3YWQyYTc2IGxlZ2FjeS10cnVuaworMzI3OSBjMWVlNjBiZDVkZTQ1YWE3YWYwNDZmYTFmOTYyMWMxMTNkMjU1Y2QyIGxlZ2FjeS10cnVuaworMzI4MCBjMjZmNWJlYzM0MzhhZDlhYzk2NWVhZDNjMWM3M2YzMjczOGU3N2NjIGxlZ2FjeS10cnVuaworMzI4MSAxYTBiZTZlMzY4MThiODkxMmEzZmZhNDI4NGNmZGRiNjExODg5MWE3IGxlZ2FjeS10cnVuaworMzI4MiA1NjYzNjM5NTcyNGQ0OTQ0OWNkMTNkZjk1NTQ5OGNkZjMxYjJkYjZmIGxlZ2FjeS10cnVuaworMzI4MyBmZjZlMjE3MzA5OWFlM2M4NWNmODFmMjJhZmQxZTFjMjJiMzU1ODM5IGxlZ2FjeS10cnVuaworMzI4NCA1ZTY1YjEwZGQyNGQzOWNkMmFjZmNmNzZhNzlkNGYxYjFlYjJhMzM0IGxlZ2FjeS10cnVuaworMzI4NSA3NWI0NzJhYzViN2JlMzJmZDM2NzBhZTYwM2UzYjA5YThiNmEyNTU4IGxlZ2FjeS10cnVuaworMzI4NiA5NGQxMjExNjc1NmFjNzVhOTI4N2U1NmNlYTU5ZmIyMjU0ZWRiMTFmIGxlZ2FjeS10cnVuaworMzI4NyAwOTE0NzRjMDgzMWE3YTI3MmEyYTc3MzBiOTVmYTA2MjlhYjM0ZTM2IGxlZ2FjeS10cnVuaworMzI4OCBkZDcwYTNhYWQyNjY1ZWFiYjUyYzhhNTM2YjBjZDY5YzUzNWIyZmJkIGxlZ2FjeS10cnVuaworMzI4OSAwY2NiMzU2ZTg4YjEyNmY1M2RjM2MwYjM4YjBkYWFjMDZkMGJmZWY5IGxlZ2FjeS10cnVuaworMzI5MCA0MWZiZDkyYmYxYWQ4MDFhMTA5YjcyOWMwOWZlNzBlYzk3MWM4MDdlIGxlZ2FjeS10cnVuaworMzI5MSBhN2JhMTkxMjBmNTQ3NDlmNGY5MGIyNTE5MTViYjJkZDg3Y2I2OThhIGxlZ2FjeS10cnVuaworMzI5MiBhYTllZDNiOWVkYTFjYTM0YWU3MTZiNTIwNTBiMGE4YzcxNzBmMWVkIGxlZ2FjeS10cnVuaworMzI5MyBiNmNkZGZkMzQ4YmExYTU4NWFlODczN2Q5MzQ0MGVmMTRlNTZlZWI0IGxlZ2FjeS10cnVuaworMzI5NCAzZTllYzg1YWM0OWI2ZmY1NWFmNjBkMTg4NDQ3OTlhNWI0Yjc1YTNmIGxlZ2FjeS10cnVuaworMzI5NSBlNTNiYWY5YjRiOTU1MWU1NTg4YzJmYWY0ODkxYjU0M2RhZmRiNjY3IGxlZ2FjeS10cnVuaworMzI5NiA2NDYxZGFjOWE5ZjI5Nzc3YjBkN2Y0OGRhOWU4ODVhZDg5ZTUwZjJhIGxlZ2FjeS10cnVuaworMzI5NyA5YWRkMGUzZTgwNGEwNTk4N2Q0YjhhNjY3MTI5Mjg5YjhkMjE0NzlhIGxlZ2FjeS10cnVuaworMzI5OCA1MTEyZDQzMjEyNmIxNzU3MDQ3NmYzY2VlNTNlYmNiYzU2NmVhMGRlIGxlZ2FjeS10cnVuaworMzI5OSA2MjMxZTFiNWIyMmI3YmVhZDIwMDFkYzI3MzM4OGZkMWQ1MmRhNWNmIGxlZ2FjeS10cnVuaworMzMwMCBlMzkzMDliOWEwYWE2ZDE2NmJjMDlkZDkyNDc2ZThhZGUxYmRhM2I5IGxlZ2FjeS10cnVuaworMzMwMSBiMzM4MjYyY2QwODA3YzQ2NDRmOGYwOTA1NmI4MDE0YzkyNzgzOWU0IGxlZ2FjeS10cnVuaworMzMwMiA5NTBmMDExMzE0MDNlMTU4ZTM1NDMyYmQ4OTUxMjBiZTM4YmM0YzU2IGxlZ2FjeS10cnVuaworMzMwMyBmNDllODYyZmVlYzRkOTE3OGQ0MjQyYmU1MmMwMjZhOGM1YmZkYzI5IGxlZ2FjeS10cnVuaworMzMwNCBiZTg5MTI1NjQzZjI1Y2Y5MDE2MGEyOWYxNGFmZjZmNWJlZWFiY2ZjIGxlZ2FjeS10cnVuaworMzMwNSA1NGViMmNmMjY5N2U2ZTUzNGU1MjgyNmQzNWJhNTk0YTgzOTAxZTM2IGxlZ2FjeS10cnVuaworMzMwNiBlMDg3NzIyNmQ2MTM4ZTBlZDQ5MTMwYjQ3MzJlNDM2ZDM4NDZiYzlkIGxlZ2FjeS10cnVuaworMzMwNyBlNWNlOWQwNDA4ZDBlNTZmN2Y0MTY4N2Q0ODUwYWVlNmYzNjhlZTZkIGxlZ2FjeS10cnVuaworMzMwOCBmMjBkZTEzMjI2OTIwZDkzOGE3OTExMTBhNmY0N2NjMzRlNjcxYzY5IGxlZ2FjeS10cnVuaworMzMwOSBiYjc2NjVjNDQ4MjI2ZmI5ODIxMmVjNTZkYWFkODgwZWQ4OTEwZjNiIGxlZ2FjeS10cnVuaworMzMxMCBhNDE2NDkzZDNhNGMyZjNiMjQ3MWZiMGI5MGQ4OGQ2YzYzYzk3MzAyIGxlZ2FjeS10cnVuaworMzMxMSAzYzZhNTJkMjU0M2RjMmQwNTJiMDVjY2QxYjNkMDI3OTY1NzFjMmM1IGxlZ2FjeS10cnVuaworMzMxMiBmYTYyZmIwZTU1YjJkODliZmZmZjQ2ODA3MjhhYWQzYzI5ZDU2MDQ1IGxlZ2FjeS10cnVuaworMzMxMyBjNzJlY2RiMzNhZjc1NzkxYmM0OTZiZWI4ZmM5NzNhZGQ3MGFhZmNkIGxlZ2FjeS10cnVuaworMzMxNCA4NDY3YjExOTM1MGJlYmM2Nzg0ZDc2OTU0ZmY3Mjg3ZDZkOGZlYWE0IGxlZ2FjeS10cnVuaworMzMxNSAxOTRhZjA0ZDM0NGIwODA2Yjk0ZTAxMzIyYmI2ZDA2YTYwMTQ1ZDI2IGxlZ2FjeS10cnVuaworMzMxNiA2NWU0MTk5YTc5ODJmYjE5YWUxZWYzMmI1N2FhMTdkZjMxMWFlNmEyIGxlZ2FjeS10cnVuaworMzMxNyBkNDQ4MGMwODQ0NGRjNWI2MzY0NmVmMDRkMTg0M2Q2ZmMzYmNmMWQ0IGxlZ2FjeS10cnVuaworMzMxOCBlODJhYzQ1MmQ1NTFkZDdjZjk1MjNiN2UwY2QwYTBhMzBjODc2MmU4IGxlZ2FjeS10cnVuaworMzMxOSAyOWQyZWYwYzk0Yjk1MDRkYThmODA5MjU2NGM3YWI2YTk4MTgyODY0IGxlZ2FjeS10cnVuaworMzMyMCAyM2ViMjc3MzFkOWNiMzJhZDlhOTRiMTJlYTY4OGU0MjRkNzRmZTk1IGxlZ2FjeS10cnVuaworMzMyMSBmMGViNzdhYmYyNDQzNmJiY2Q3NDZjOTAzMzcwNjk0ZDcyMWFjZjljIGxlZ2FjeS10cnVuaworMzMyMiAxMjA1MThlZjM2ZTMzYTQ3YzI5NGFhOWUxOWI2ZjVmZjBiN2Q2M2I3IGxlZ2FjeS10cnVuaworMzMyMyBkZWRkNDRlYjczNWIzZjE2NTEyYjRlY2RmNjkzZWFhODBmNmQ3OWFmIGxlZ2FjeS10cnVuaworMzMyNCA1MjQ0ODI3ZGQ0MjM4MTdhODBiYTU2MjQwYjZlMzFlZTExOWQ4YjNkIGxlZ2FjeS10cnVuaworMzMyNSA5YjdmOTBmOWYzYzE1Mjk5NmViYTZjZTk0MGIyM2FhNzgxY2ZiOTNlIGxlZ2FjeS10cnVuaworMzMyNiBmYWM2MmJjZDNiYjhkZTFjY2UzZDY5ZjMxY2U3Zjc4YTNlM2EwNjczIGxlZ2FjeS10cnVuaworMzMyNyBlZGRjNTRiMWQ5YWI4YjY3NTk3M2MwNWZjODQzNTYxOTBmNTM0YzRmIGxlZ2FjeS10cnVuaworMzMyOCBmMDc4NGFlMWZmNWNhY2FmODY1ZGQ2ZjNiMTRlMDVjNTUyYmUwN2U3IGxlZ2FjeS10cnVuaworMzMyOSBkOTkwYzJiOGExZTZkMDliMDQwNmQ3Y2IzYjM5MWQ4OWFmNjFjOWRiIGxlZ2FjeS10cnVuaworMzMzMCBhN2NmMjBjODQ1YTNhNDZlNmMzNjU1M2IxN2Y1NWNjMTUxNWVjMmZjIGxlZ2FjeS10cnVuaworMzMzMSBhNDdlMGM5YmFhZDAwODI0OWNiOGQ1Yjc2YWUzYzEwMzIzMjk3NWUyIGxlZ2FjeS10cnVuaworMzMzMiBjMDFjOTVlZjFmYmRhODg0YjQwMDJmOGEzY2JlMWMxZDNjYTY0OTk4IGxlZ2FjeS10cnVuaworMzMzMyA1NzQ1ZTU1ZjJlMjgwZjEwOTg0YmU4OTJmMzEyMTBiNzE5YTFlOTlkIGxlZ2FjeS10cnVuaworMzMzNCBiYjU0ZmY0MTM0OGY4NzliZTE4M2YwYTU4NWNlN2RhODg2Mjk1OWUxIGxlZ2FjeS10cnVuaworMzMzNSA5YzFhZTYwN2QxMzUzODA2ZWFhYmI3Y2IwMTdjODY5NTc1ZjIyZTc0IGxlZ2FjeS10cnVuaworMzMzNiBlNzFiNjQ3ZmEzMzU2ZjUwY2Y0ZDI4NTRkMjZhM2Q1Y2VkYTNhZmMyIGxlZ2FjeS10cnVuaworMzMzNyA5NTUyMTJlZDUyZDM3Yzc0N2Y5NzZkZTE1NzE2YzEwOThhYmI0ZDRkIGxlZ2FjeS10cnVuaworMzMzOCA4NjA0YzM5NDk4MDlkNTEzMWYyZWQzMTBkN2UwNzE1YjQ0ODM4ZjQxIGxlZ2FjeS10cnVuaworMzMzOSA3MTdlYTE3Njc0MzBiYWRhODIxOTEwZjAwOGYyZjBhNzJjNjhkMjcxIGxlZ2FjeS10cnVuaworMzM0MCAyNzE1NGEyYjkyNDQwMjcwMzBjZTgzNDVlYTgzNTU0Y2ZkZGE2ZjVmIGxlZ2FjeS10cnVuaworMzM0MSA1MzNlMzZkZTFlNGRmNjE5NWM1ZmE1N2NlNWY0ODZiOWJlYWUxOTNjIGxlZ2FjeS10cnVuaworMzM0MiBmOWJiYjAxMzg4ZDViZjNjYjhlNzFhZjQxM2QzYmFlZWMzYmNlYWRjIGxlZ2FjeS10cnVuaworMzM0MyA5YWU2NWVlMDk3MzVkMDcyMmE2M2RiMzg4MjI4MmFlZDE5NzJhMzk0IGxlZ2FjeS10cnVuaworMzM0NCAxZDZjYmViMjcwOTYyNzJhOWNlZDM4MTVhZjFhMGNiNjExNmQyMmRmIGxlZ2FjeS10cnVuaworMzM0NSA5NTBjZDM3ZmNkZGM1NDc3ZGJjYjA4Y2YyMjhjN2Y4MDAxOTkxYTFlIGxlZ2FjeS10cnVuaworMzM0NiA2NGNmMTkxZDIxZDA4YzkzMTJmOTRhMGU4YWY1MGQxZTNjMjdmMDE0IGxlZ2FjeS10cnVuaworMzM0NiA2NGNjNTQzOWUxMGE2ZmRmOTg0ZWZmYWYwMTQxZTk0ZmE0Y2MxMDA0IGxlZ2FjeS10cnVuaworMzM0OCBjZjhkZGIyOWUyNmVkYWZhZWEwYjUwZmIyZjhiNGFiODUyMmUxMjM5IGxlZ2FjeS10cnVuaworMzM0OSAwZWZlZjk3ODVhMjVkN2Q5YWFlMjVlYTEyYTAwYWE4NDE2ZGFjMTkxIGxlZ2FjeS10cnVuaworMzM1MCA5NDdmOGEzNDdjNGYxNzg5ZThjODkzN2UxZDU1ZjRhOTM3Nzg5NjU1IGxlZ2FjeS10cnVuaworMzM1MSA2YTA3N2MyOTM5ODZjMGFkNzk3MWNiZjRjZTZjMTg0NjA3Yjg2ZjZmIGxlZ2FjeS10cnVuaworMzM1MiA1ODRjNDE0MmM1Mzc5ZjNhNTM3YjI3YTk5NTNjOTA2MmVmMmNhZjVlIGxlZ2FjeS10cnVuaworMzM1MyA4NDdjNDgzNTYyOGZhOGYxMWIzOGZkMjg5YTcxMjkyMmU0NjAzYjM3IGxlZ2FjeS10cnVuaworMzM1NCBlYThkNGNjZTc4MmJiZmFkZjBlMmM5MTVjODJkYjI2MmY0OTdjYTFmIGxlZ2FjeS10cnVuaworMzM1NSAzOGYwMDU0ZjQ0YTcxYzZmNzkwMWQ1YmYxMDQ1ZTUzNDljZTczNDE2IGxlZ2FjeS10cnVuaworMzM1NiA3ODQyODI0M2ZlYWE3NTIwOWRhN2Y5OTZkODA2ODhhNWE4OGRhMmZjIGxlZ2FjeS10cnVuaworMzM1NyBiN2FlZTc5OWRjNzE1YWQxYjg0ZmFmYWMzNWVhNzc1NWY5MDc3YjAwIGxlZ2FjeS10cnVuaworMzM1OCAzMTA1MzIwMTVhN2QzNTliZmU3NzYwYTU1YWM0MzhiNGVmMTA4M2I0IGxlZ2FjeS10cnVuaworMzM1OSBlMTIwOTM2YTBjODdmOTUxNWMxNDAxOGFiYmU2ZWQxYTFkNzM2MWYxIGxlZ2FjeS10cnVuaworMzM2MCBjZTY3ZDkxYWRmNWU3ZTA2NWRiMzVhYTBkZmRiZDM0NTkxMjRmZjczIGxlZ2FjeS10cnVuaworMzM2MSA2NzVhMDI4MjBkNjZlMTQwZTJhNTU4M2RmNjI5ZTgyYWJlNzU0ZjY0IGxlZ2FjeS10cnVuaworMzM2MiAyOTM3ODk3YTdkOGIwMzg3OTM2MDg0ZjQyNGM2OWFiNWEzMTNhMjhmIGxlZ2FjeS10cnVuaworMzM2MyA3MThmMWQ5YmNiNTA0ZjI1NWNmNzM2ODE5NzEzNWE4YWRmZDQ5NDk1IGxlZ2FjeS10cnVuaworMzM2NCBlODIyM2QwYjcyYWM1MTk2MGJmMDkzMWU5NmMwMmFjNTcxYzFkN2I1IGxlZ2FjeS10cnVuaworMzM2NSAwZDc5OWQzYzQwMzZlN2Y4YjE2OTUwMzdhM2U3MjgyNzE2NWJiNWNmIGxlZ2FjeS10cnVuaworMzM2NiBkMDIyMjFlYmFjMmFkN2M4YjA5MThkNzk2NThhYWRkZjY1ZGVkMjFiIGxlZ2FjeS10cnVuaworMzM2NyA4MzFkODJhYTRkZDA4MTg5YTE4ZjAyMDEzNzk1ZThjM2QyNWIxOTQxIGxlZ2FjeS10cnVuaworMzM2OCAzNTczZWY0MjFiZjQxMTA3YmY3MTk5ZTVlYWYxYjFiNDljM2MxODhlIGxlZ2FjeS10cnVuaworMzM2OSBlY2ZiYzI0NmVlYWExMGM0ODM0MzVjN2JkMjJmNjgwMWI2MzUxNmEyIGxlZ2FjeS10cnVuaworMzM3MCAzZDFmNzA4NzlmMDMwNDE0YmFkZDk4OWQyMDU1ZDI1NWNlM2EwOWMwIGxlZ2FjeS10cnVuaworMzM3MSBiNTY0YmQ0ZTU3ZTEzNTM0NDk3MDE5NTU2MTU5ZDVmNDdjYmI2OTg5IGxlZ2FjeS10cnVuaworMzM3MiA5YjE0YTRkODkyMDczYzYwODlkODJlYjlkY2JmNDM4YzkwZWI4YmNjIGxlZ2FjeS10cnVuaworMzM3MyA5ZmU3ODNjYTk3NmUyZjkxYWZlNzYwNjIxYzk5ZjQyYzg4ZWQzYTVjIGxlZ2FjeS10cnVuaworMzM3NCBiYmVmMjQ3M2U1NjhkMjkyODcxODEwZWM1NmJmNDM1N2NmZDA3YWY0IGxlZ2FjeS10cnVuaworMzM3NSA0MDY4NjBkZmFhYzc4YjYwODE0YThlNzYyMjFjYWFlYjA2ZmNmZmIxIGxlZ2FjeS10cnVuaworMzM3NiA1YTQxMDk0NDFlYWUwMDk1MTI1OGJjOGFjNjAxNjkyZWFiZmIwODFkIGxlZ2FjeS10cnVuaworMzM3NyBmYTZjZTdmNTNhYTUwMThhOTBlOTA2ZmFiMjZkZGJmNDQ3MGE4YTZmIGxlZ2FjeS10cnVuaworMzM3OCA0MTZhOGE4ODZhODJhYTJkM2Y1NmVhOWNlNWMyMzk4NGQ3OWMwMzhkIGxlZ2FjeS10cnVuaworMzM3OSA5ZDZjZjUyOWJiNzFhN2Y0ZmU5OTc1OWRkNjc3NzBmZmMwNTU1YmJkIGxlZ2FjeS10cnVuaworMzM4MCA0OTJmNWUzZTY0OTU1NThkNThjOGI5NmZkNWQ4MGMzNjdjYTk4MTNiIGxlZ2FjeS10cnVuaworMzM4MSAxZDdhNGVkMGM5ODVmNWVmODIyMzRiZjVmZmM5ODQ1OThjNDBiN2ZjIGxlZ2FjeS10cnVuaworMzM4MiA1MTIyM2NlOTVhNjE5ODY2MWM5YTI4MzMyMDgzODRjOTY5YzEyZWE0IGxlZ2FjeS10cnVuaworMzM4MyA2NGVjN2JkMmU4MzczN2E3M2ZjODhiOGIzMDMxMTllMGRiYzgxMGMyIGxlZ2FjeS10cnVuaworMzM4NCA4MmY0YTZhMTk2NGRlZjYxZWQwMjQxNjc1OWIxMjI3ZjQ0NzFlYmYyIGxlZ2FjeS10cnVuaworMzM4NSBhZDZkNWMxZWY1ZTYxYTI5MDA2ZWI1OGZmYzI4ODgyMGVmMTRiMzJiIGxlZ2FjeS10cnVuaworMzM4NiBjZTdhZThmODFiMDYxODI0NDEzMzhmYjkwNjVlZDVjMzJkYTcxN2I2IGxlZ2FjeS10cnVuaworMzM4NyA1YWU0YThjZjc5ZWYzM2ViNWMyOTk3MzNlMzY5MDgwMzc4NmMwNGQ0IGxlZ2FjeS10cnVuaworMzM4OCA3ZTI3NjU5ZWIyZDk2Njk4MWI5YjkyZmU3ZWE3NjkzMjc2MjkwNTQ4IGxlZ2FjeS10cnVuaworMzM4OSAyNzUzZTJjOWFhMjFjOWI2YWE4NGU5MDU2OTJiOTA2ZTlkZDFiZDFmIGxlZ2FjeS10cnVuaworMzM5MCAwNjU5YjYzZDYwNDQ3ZDYzMzZlZWQyY2E2OTk0MTM3NzIyZDBmZGRlIGxlZ2FjeS10cnVuaworMzM5MSAyMDI2ZWMwMGVmZGNmNDBjNzVjYzAzNTljM2NhYmZiM2IyYTNkZjJiIGxlZ2FjeS10cnVuaworMzM5MiBmMDE4ZDFkMGU5MWE1ZGY3N2I0MTk5MjNlOWU3N2UyZDAwMmIxMzdmIGxlZ2FjeS10cnVuaworMzM5MyBkY2U3YTRjYmFjMTEyZmVlNTg5YTI4ODM3YzMyMjYyMmI3NmI4Y2ZjIGxlZ2FjeS10cnVuaworMzM5NCBlMGY3ZmY4NWZhMDY1MzgzNzcxNDQ1Y2QzYjEwZDRlYWZmZDc3MWFkIGxlZ2FjeS10cnVuaworMzM5NSAyNjg4ZjliZWJkOWE1YTVjYWE2YjU0NzU1YzljN2U0ZDliNmI1NjNhIGxlZ2FjeS10cnVuaworMzM5NiBhZmNiYTg4YzZhY2I3N2RlZmQ4ZDliODdjNGFmZDAyZWE4OTM4ODllIGxlZ2FjeS10cnVuaworMzM5NyBiM2U2YTQzNWM0OGZlMjdiZGNmZThjOTU2YmE3MGNlZmY0MDI2ODBjIGxlZ2FjeS10cnVuaworMzM5OCA1ODZjOTI4YzY1ZDM0ZGU4Yjk3ZTkzMDM3MGEyNWIxNmMwY2Y3NTc4IGxlZ2FjeS10cnVuaworMzM5OSA4N2VkMDBhNjJkMzEwMTM4NTNjNWYzZDMwODA0ZDYzOWI5ZjZlOTcyIGxlZ2FjeS10cnVuaworMzQwMCA2ODA0MDZjNDE1MzkxNmViYjRkMmJiMWY0M2JlOTg3MzhlNjg4ZTBlIGxlZ2FjeS10cnVuaworMzQwMSAwNTU4MGUwMGY0MWUyYzc1ZDc5Y2ZlNjcwNGU5NmI2ZDA4MTVlNzBkIGxlZ2FjeS10cnVuaworMzQwMiBkNDI2YzVkNTkyNTRhNTAxNjRkNzk3ODJmNTM1ZDQxZTUzNDU5ZWFmIGxlZ2FjeS10cnVuaworMzQwMyAwYzY1N2RiMjdkYmY2NGY5Zjg4ODRlNzBmYjgzN2YyMzM2YTNjMzA5IGxlZ2FjeS10cnVuaworMzQwNCBlNjAzNGVkYzQ3YWU1YzJlZDc1YTI3ZTNjNThmNTY5MGQxZDZiMzIxIHVubGFiZWxlZC0xLjkuMgorMzQwNSA1YjhlYzhmNzExY2VmMTA3MDgxY2NmYmM0NDJmNDU2NWMwYjBkZDg2IGxlZ2FjeS10cnVuaworMzQwNiBhNzU5M2JhOTlkY2JhYmRlMjQxNjBlNWEyZjVlNzBiODZiZTdmZDdkIGxlZ2FjeS10cnVuaworMzQwNyBlNTU3MjRmYmMyYWY3YjBlMTE2NzE1MzkzZDU2MzMyYzg4ZWQzMzhhIGxlZ2FjeS10cnVuaworMzQwOCA4ZjI0NmM4OWRkY2ViOTdlZTc3ZmU2ZWZiOTBjOWI3NzY0MmY3OGY3IGxlZ2FjeS10cnVuaworMzQwOSA5MWE3NzA4N2U4M2YyMWM0ZTUyY2NhNjg3MzQ5NTUxODdmNTA4NTVjIGxlZ2FjeS10cnVuaworMzQxMCAxYTZiYTIzYWU0NDdhY2FlMGE1ZGE5NDM5MGNlN2NhYjk0OTgzODBjIGxlZ2FjeS10cnVuaworMzQxMSA5MTFiODAxN2RhNDZiNjMyOGYyN2M1NmRmZjFiM2EzNjFhNTYxNTMyIGxlZ2FjeS10cnVuaworMzQxMiA2YjNiNzVmMDdjYmI3YjgyNmUwYjYxNzNjZGM0ZmU5Y2U5MDkyNzAzIGxlZ2FjeS10cnVuaworMzQxMyA3OGNiMGFjY2ZiMGNlZjI5ZmZhMDA3ZmM5NDM4ZWJhOTQ3OWM2ODZkIGxlZ2FjeS10cnVuaworMzQxNCA5MWMxZjk0YjE3YmMxMTdhODFiZmY2YjEyNjNlNGMxN2JjNTFlZjc4IGxlZ2FjeS10cnVuaworMzQxNSA0OWE3YTNjM2Q4NTA4OWNmMDg5NDI4ZTU5NmU1NmU1YTNiZWQ0YmYwIGxlZ2FjeS10cnVuaworMzQxNiBjYTE3MjhjNGJkNzg4NDZmNjJkZjc4MDcyYTY3MDc4MzY5M2JmZjRlIGxlZ2FjeS10cnVuaworMzQxNyBjNGNkMGQ5ZDgyODFkYjUzMDk2NTAwMDcyYmEwNDdhMWQ3ZThiNDRhIGxlZ2FjeS10cnVuaworMzQxOCA2ODViMzFmZTg5YzYwZDAyNGE4ZGEwM2NmYWU0ZjVkYTgxMDBiNzE5IGxlZ2FjeS10cnVuaworMzQxOSBiYmNlYzI0YjI0Mzc3NmQ5YmE0MjM5MGI3NGQxMTQxNGMxN2JmMzNmIGxlZ2FjeS10cnVuaworMzQyMCA0OTYzMDEyM2EzZjM0MDM3ZThiYmZhMzFjZjVkN2RkOWJmYmIyNTgzIGxlZ2FjeS10cnVuaworMzQyMSA3YWE5NjEzZmZkMzYzMTM2MjBlOWQwMWQyYjlkZjIwNTY2OWUwZmVmIGxlZ2FjeS10cnVuaworMzQyMiAxY2FiYzJiNmM5NzAxYWVhMjliYjUwNmI1OTM5NDZlNjdiZjc1OTNhIGxlZ2FjeS10cnVuaworMzQyMyA2Yjg2ODhlNmE3ZWQ2ZWM1ZjYzNzIzNjljYmI3NjQ3M2ZjMWI3NTMzIHVubGFiZWxlZC0yLjMuMgorMzQyNCA2ZDgwZTFmOGY3MGE1ODBiNzg5MDdhZmZhNDU0ZmU1MTc2MGJhMDIzIGxlZ2FjeS10cnVuaworMzQyNSA0NWQ3MDg1MjExODgxOTU5Y2FhNTZjZjI2NTMwMDFiMjNlMWJmMzIwIGxlZ2FjeS10cnVuaworMzQyNiBiMTIwY2RkMzBmYmNhNTkxYTQ0NzNiZDExZGMwZTI5YmVlMTMxN2FjIGxlZ2FjeS10cnVuaworMzQyNyAyYzUxNWYwNzM2N2FkNDE0N2UxYWEzOWJiZTM3ZWQxM2MxZTIxNmNmIGxlZ2FjeS10cnVuaworMzQyOCBmODIwZTY5MTdmMDdlNTAxMmJkZDEwM2VmOTczODkzMThkNWExMGY4IGxlZ2FjeS10cnVuaworMzQyOSA2NWExZTRlOWNkNTQ2YzRlNTc4NzMwYTg4ZGRhZjIzNGJlNGQ0MDQyIGxlZ2FjeS10cnVuaworMzQzMCA2YzU4ZGMxZDJmOWQyMDhhOTEwNmQ0NDQ4YzI5YTlhNmI2YzMzODE0IGxlZ2FjeS10cnVuaworMzQzMSAxODExZTk2MDgwZDQ0MjJkZWViMTlmOTE5ZGVlYmM3YjZkM2Y0YmUwIGxlZ2FjeS10cnVuaworMzQzMiA4OWU0YjE2NjYxNzg5Y2IzNjhlNDhlM2RlOTExODY5ZTM5NGZlMTAyIGxlZ2FjeS10cnVuaworMzQzMyBkMDJjZTMwZDdkZGJjODdiZGU2MzMyMDlmZGFmY2IxMmJmYWUyOGI3IGxlZ2FjeS10cnVuaworMzQzNCBmNWY3M2M5NDYzYTg2ZDI2NzlhNjY5MjQ3MmE3YWJkN2UyN2E2MGNmIGxlZ2FjeS10cnVuaworMzQzNSAyODk0ODE4MWZiMmY3OTVmOGVmZmE1NjE0NDg2MzZhYjcwMTQ0NWVjIGxlZ2FjeS10cnVuaworMzQzNiAxNDM2OWE1ZTYxNjc5MzY0ZGVlYWU5YTlhMGRlZWRiZDU5M2E3MmUwIGxlZ2FjeS10cnVuaworMzQzNyAyOTE5YjQ0OGUzODU4YTEwOGU3NGI5NjJiNzQ4MDllMTc2MmFmNWJjIGxlZ2FjeS10cnVuaworMzQzOCA3Yjc0MTFmOWIxMTZmMDBjMjM0YTMyODZlMjZmM2NmYTY2YTBkZjcxIGxlZ2FjeS10cnVuaworMzQzOSA2OWEwNjZiNmIxZmY0YWY1MTE2MjY1ZDY5YTQxM2QxYmZjM2FkYzg4IGxlZ2FjeS10cnVuaworMzQ0MCAyYzc0OTYwZDZhZmVmMTM2ZjlhOGI0MTE3ZjVlMGFjNWJjZTRjN2NlIGxlZ2FjeS10cnVuaworMzQ0MSBiY2E3MWYyZTJjYjRlZTY2NDYxOGQwNTBjMTdmZmQ3ZjI4MDE2YTM5IGxlZ2FjeS10cnVuaworMzQ0MiBmNzZiN2JhOTlkM2VmYjUxNTIzN2VkNzQ3YmNjYjhkZTc0NDQyZTU5IGxlZ2FjeS10cnVuaworMzQ0MyA4NzE0NmRjMWY3OWM1YjdjZTk4MGFmOGFmNzJiYWMxZGNjZmNiOWYwIGxlZ2FjeS10cnVuaworMzQ0NCAzY2E0NTZmNDRiZjNlZjM2YTk3NGRkNzVlOGFkZGI5YzdiNWI3NGU1IGxlZ2FjeS10cnVuaworMzQ0NSA5ZTQyMDZmNjRkMWI1MTQ3ZmQwN2UzMjcxMjZiNmMyYmJlNjg5ZTFmIGxlZ2FjeS10cnVuaworMzQ0NiBhZjI3YTgzMDBkMjQwOTRhYWZhNmVlNzQ2ZGU1NTY3YmE5YmNjNDQ3IGxlZ2FjeS10cnVuaworMzQ0NyBjNjBjYjA1OWM0ODFlNGE5NGQ1OTQ2NDY5ZDQyOWEyOWFhZmY4YjVkIGxlZ2FjeS10cnVuaworMzQ0OCBlMDQ2NGU3MTE1Y2EyYmY5YzgwYzk1ZjQ0NmE2ZDY0ZGZmMjgzZjAyIGxlZ2FjeS10cnVuaworMzQ0OSA5MTgxZGE0MDY5NzhjODFkZWQxOTAyYjk0YTBjZDk2MmFkMzE5MGI5IGxlZ2FjeS10cnVuaworMzQ1MCBkYmNlNzJhZmUyNjE1MTZkMzU2M2NkMTcyMGZhYzIzNjk2OGRjYTczIGxlZ2FjeS10cnVuaworMzQ1MSA2ZDdmZGVjOWQ0OWUyODQzYjQ3YWU2MzQ1MGQ2MDlmMzQzNTc0NjU5IGxlZ2FjeS10cnVuaworMzQ1MiAzM2YzZDdlYmZjYzFiMDFlNzE2OWI3NjMwYWVkZDU3NmE4YzY3YWQ2IGxlZ2FjeS10cnVuaworMzQ1MyA2NzNkZDliYmRiZjE1MTFhZTkwMDkyNzAxYWRmOTIwYTc2M2EyNjMwIGxlZ2FjeS10cnVuaworMzQ1NCA5ZmVkNTcyNmEzNmQ3Y2UxMzU1YzMwNTkyODM4ZDkzMzIxZDU4MGVlIGxlZ2FjeS10cnVuaworMzQ1NSA0ZDI5MmM3ODU3ZDQ3NGZhZTVlYzkwOWVkZDQzNGJjZWQwOGI4MzY0IGxlZ2FjeS10cnVuaworMzQ1NiA3OTcxZmVjYmYyOGU3ZTFlMDk4YTc5Nzk2NGE2ZGMwMDNmOWVjNDg2IGxlZ2FjeS10cnVuaworMzQ1NyA1MTdkMjllYmM4NDBkZTQ1YjNjOTQ1NjA5M2Q4NDJhMWIzMWMxM2JiIGxlZ2FjeS10cnVuaworMzQ1OCA1N2I4MGI5OGI4ZTUwNzUyY2E0NTc3MDQzZDg0N2FjZGNlYTkwOTVmIGxlZ2FjeS10cnVuaworMzQ1OSBhYzNjODBhYmJmNDMwMDM0OWM1ZTZlMzM4NTMwYjI5YWUwZmEzNjA0IGxlZ2FjeS10cnVuaworMzQ2MCA2NzI2MWM3OTJmNGMxNGZiY2IxM2ZmYjBiNTFhODM2YzJhZDUxMzBhIGxlZ2FjeS10cnVuaworMzQ2MSA0NzczZDVjM2I1YTQ2ZGUwZjZjZmRiYzZjMDNjMTRkMjdlOTQ4ODViIGxlZ2FjeS10cnVuaworMzQ2MiBjM2QwOWY3NmQ2YmY0MzhmOWM3YjEzZmM2YjExNmYwYmQ1ZWY4MzkxIGxlZ2FjeS10cnVuaworMzQ2MyA5MjM0Yzk2MWVjNDNjYTI4NTdlMzgxMDMyNjcwZGU5NDUyYTVjOTg0IGxlZ2FjeS10cnVuaworMzQ2NCBkZWE3NDQyYzVmODdjNmUxZDBhMDlhZWY1YjFiM2VhYTg3Mjg4NDc0IGxlZ2FjeS10cnVuaworMzQ2NSAwNGE3ZjliZjFlNjcyYzRmN2RlNTI3ZTg4OTA0NWU2MzNkMGQwN2FiIGxlZ2FjeS10cnVuaworMzQ2NiBjNjRhZjU2NzFjYzY5NWU2MmIzNjRkNDMyMDIyMWY5YThkOGY2ZTU0IGxlZ2FjeS10cnVuaworMzQ2NyAzOWM3NjZhNmVkNWY5ZGFiMjI5NjRlOTFkMTI1MDc4ZDgwZjQ1OTRhIGxlZ2FjeS10cnVuaworMzQ2OCBjZWY1MTRmOTk3NGM5ODNiZGZhZjFlNmZmNjI2NTViYzY5OWQ0MTFmIGxlZ2FjeS10cnVuaworMzQ2OSBiY2E3ODU1ZDhlMDkzZjA5ZjU1Y2IwYTBmMmI5MTBhYjY3ZmUzMmU0IGxlZ2FjeS10cnVuaworMzQ3MCAyMDkwNTVlNWU0NmE0MGQyMjZjZmY1YzQ2MjM2YzgwNWM5MTI2N2Y0IGxlZ2FjeS10cnVuaworMzQ3MSA2ZTM3YWYzZjI2MWMzOWI5MmZlNzIxZGFiNDQyMGI5Yzk3NDFmNTFjIGxlZ2FjeS10cnVuaworMzQ3MiA5OWQ5ZTdlOWYzNzY3ZTg5MTQwMGJkMzhiMDRiZTE1NWRhOGIyNTJjIGxlZ2FjeS10cnVuaworMzQ3MyBjZmY3YzQ4ZmE5ZTE1Y2VjNjgwNTlhNzU5MDdhYmI0NDJlZWIzZjViIGxlZ2FjeS10cnVuaworMzQ3NCAxZThiZDM1NGI2NzYxMTJkOGIzYTg0Yjg3MmQ3MjdkOWFhNjNlMDRlIGxlZ2FjeS10cnVuaworMzQ3NSAwMmMwM2FmYzUxM2U5NWYzMTc4ZTk3N2VlMjBmMzY1ODEwODM4Yzc5IGxlZ2FjeS10cnVuaworMzQ3NiA3NDdjZTdlMzYwODQ0YTMzZWMxYjJhZWJiZTg4YmE2NTQwZTBmMmFkIGxlZ2FjeS10cnVuaworMzQ3NyAwODMwY2YyYmUxZDJjNTkyN2NjMzNhZTQyZGY4ZGM2ZDk3NmU5NzY4IGxlZ2FjeS10cnVuaworMzQ3OCAyZjY5MWRjNTRiZmE2YTg4NTVhNjQyOTQ0ZWVkNzQ4YzYyOWVhOGQzIGxlZ2FjeS10cnVuaworMzQ3OSA2ZWUzODAzNDljODQ5MDIzMjk3N2Q1MWJlMjk4NGZjNTY3NDNkMTEwIGxlZ2FjeS10cnVuaworMzQ4MCA5MThiZWU5MGY3M2UxNTIyZTE3NjY0MTk4NDkxNWE4MmZmZGExZmI4IGxlZ2FjeS10cnVuaworMzQ4MSBhY2RjMGI5YTZjNzg0OGE2OTM3YWI3OWNmZjRkOTBhNTU4ZGQ4OWM1IGxlZ2FjeS10cnVuaworMzQ4MiAyZjNmMjkzZWY1ZjE1NTk3NjkwMDcwY2RlOTUxMWU5NDg4YjdkZTUxIGxlZ2FjeS10cnVuaworMzQ4MyBlYzMxMmI2NDdmY2JmYTg5OGZkZGE5NzQ5NGI3NjNjYzhjZDZiYzMwIGxlZ2FjeS10cnVuaworMzQ4NCA5MmU2YThjZjE0YmVlNjU1NjVlZjhhZDZlOWJiMTlmZDg3OGQ5MzUxIGxlZ2FjeS10cnVuaworMzQ4NSBjZDM5NzI2NmRjMWM4ZTFlMThkMDJmOGQ5ZmU5MzQyNTdlYjM2MDlkIGxlZ2FjeS10cnVuaworMzQ4NiA3ODc0MmIzZmRkNDRiYTkwZTI3YzNlOWUxYWM5ZTRmYmMyOTYxNTNkIHVubGFiZWxlZC0yLjE2LjIKKzM0ODcgOTA3YzM5OTZiMTVjMmM4NTU0YjA0MjFjM2MxOWU2OWJlZmUyNTQ4ZCBsZWdhY3ktdHJ1bmsKKzM0ODggYTgwNjc3Nzk4Zjg0MjA0YjFmODM1NjBjZjEwOGU2MTRiYWI5ODVhOCBsZWdhY3ktdHJ1bmsKKzM0ODkgZjNjOTA3ZWZlNWQ3MTAyMDJiZTY4ZjZkZDQ1YTU4YTJiODMyNmE4NiBsZWdhY3ktdHJ1bmsKKzM0OTAgZmU3NjU4NWM3NDhlOGVhM2Q4MmRhODY2Y2U2YjZlMmEwNjE5NjNjNiBsZWdhY3ktdHJ1bmsKKzM0OTEgNzE2YmU3NjVhNzliMmJjNmQzMmQ2MTNlZTM5MDk3MTUwYTdiYzZiZCBsZWdhY3ktdHJ1bmsKKzM0OTIgMjVkMWM5OTMyNTU4MjJhMDczNzZhNGI2NzIyYjZiZTg2NTYyMDhiZiBsZWdhY3ktdHJ1bmsKKzM0OTMgZTVkMzYzNTQwMTc5ZjllNmM5N2YxYThlZWYxYzFkMjhhZTc3ODk1NiBsZWdhY3ktdHJ1bmsKKzM0OTQgOGEzNTc0YTA3YjE4NWQ1YmMyY2QwZDM5OTM5OGNlYWNlNzRjYmE0ZSBsZWdhY3ktdHJ1bmsKKzM0OTUgZTJkZWNhOTgzMDA4MmI3MDM5Y2Q4NGI1N2M4MDFjMTRjOWRhM2RjOCBsZWdhY3ktdHJ1bmsKKzM0OTYgNTE5YzI1MDM5YzZhNDU4OGE3ZGRlY2YyYWFhMGFlMzhlNGU4MzBkOCBsZWdhY3ktdHJ1bmsKKzM0OTcgNDA5ZWE3NGZlYjIxN2MyNGM5NDRjNzNjNDE5ZmQzNjNhMjVjYTI3NiBsZWdhY3ktdHJ1bmsKKzM0OTggMDc5MDA4MzRjYzk3ZDFiOGRmMWMzN2E3ODFmYzRjMWM5YjgyNTI1YyBsZWdhY3ktdHJ1bmsKKzM0OTkgZTVmYjljZGJlMDUwN2JiMzFmNDYzYmUyYzRhMTA2NDI0NmEzN2ViZiBsZWdhY3ktdHJ1bmsKKzM0OTkgNzhhN2VkNjk1MzAyNWU3ZWNkZGU5NTg1MDk5YjAxYTZhZTQwYjc2YSBsZWdhY3ktdHJ1bmsKKzM1MDEgZjM4NDhmNzRiMjgyNzk5ZjM0YTAzOGQxYTI4ZGNhODhjN2NlNjg4ZSBsZWdhY3ktdHJ1bmsKKzM1MDIgNDE5MmUyNGVjNTYyZDFlMDliMzg4Y2VlNzJiODFiMjA3Y2RmODM5ZCBsZWdhY3ktdHJ1bmsKKzM1MDMgYzQ0NTQ1ZTU5NWExNWNjMGIyMTg2MTNiY2QxZWEyZGRiMGYzZDQzZiBsZWdhY3ktdHJ1bmsKKzM1MDQgZjhmNjRjYmQ5ZmI1YTE5YmIwMDY1MWI5ZjU0NzQ4M2FhYjkyOWM2MyBsZWdhY3ktdHJ1bmsKKzM1MDUgYWFiMzBiNzRjZjZhOGRmMjc2MTExZDc3OTRlNDM3NDQ1OTJkNTE5NyBsZWdhY3ktdHJ1bmsKKzM1MDYgZDIwN2JlZWRjODZkNjhiYmYzZDllZDlhYzJlNmQ0MjZiMzQ5MmVjMyBsZWdhY3ktdHJ1bmsKKzM1MDcgNjY4ODUzZDdiNjRiY2JhNDQwOTk2NDk4MzJiYzFiMDgxYWE3ZWI4OCBsZWdhY3ktdHJ1bmsKKzM1MDggMTNkMGZkZTQ4ODMyNjNiYzZkNTI1YWM2MzY4OWE1NThiZjIwNjMwMyBsZWdhY3ktdHJ1bmsKKzM1MDkgZjM3OTFjNGZiNzI0N2IwOGVkNjE2MWJkYjU4YTk2OGRkYzA2ZDExYyBsZWdhY3ktdHJ1bmsKKzM1MTAgZDBhNWMzMDBlYWFmNWVjM2MxMDFlODlmZjMxMjcxNGE0YzEzYmQwNiBsZWdhY3ktdHJ1bmsKKzM1MTEgMjc5OGQ4NjAzYmYwMjg3M2RlODA1MGVhYzVjOGQyNzM0MGU5ZWYwNSBsZWdhY3ktdHJ1bmsKKzM1MTIgZjQxNDMzYzk4YzVlYjAyZTg4Y2FlOTk5OGQ5M2MyYjg3YzkzOTRjNyBsZWdhY3ktdHJ1bmsKKzM1MTMgNWQwYjI3ODFlMjNiNDBhZjU3YWM4MTJjNWU1YjJmNGM0YWQ5NGYyMCBsZWdhY3ktdHJ1bmsKKzM1MTQgYTIyYTM1MGQzYTVkZDNjZDAyNGQ2OGNhY2QyNWYzYjkxNmM4NWJiYSBsZWdhY3ktdHJ1bmsKKzM1MTUgNWVmYTc2Y2ExN2YyZWQxMjhjNjgyMzMyNzA1OGM4YTM3YjljNDQzNSBsZWdhY3ktdHJ1bmsKKzM1MTYgYTNhMDI3YzQ5ZWIxM2MwNjgwZTMzZjExN2IxZTVkODMyNGRjNDIzNSBsZWdhY3ktdHJ1bmsKKzM1MTcgZDljYjU1ZWYzNGUyZTUwNGIxMGZlYTBkODQxNzkyMDVkNzg5MDJlOCBsZWdhY3ktdHJ1bmsKKzM1MTggZTE0OWM3N2QxNzNjYWFkYzAyZGZiN2I1ZjU0N2IyNGI3MjRmOTJlNiBsZWdhY3ktdHJ1bmsKKzM1MTkgNGQxYTE1ZmM0NzQ4ZDZkOTBkNGNlYmU1NjIxMGFmNGM0OGNiYTkwYiBsZWdhY3ktdHJ1bmsKKzM1MjAgYTYzNTVjODM1NzhkOGQzZThlZjk4ZTQ5ZTA4ZTYxZmE5NTZiOTQ0ZiBsZWdhY3ktdHJ1bmsKKzM1MjEgZmNjZDQxNWUyZWI4Y2QwYWE1YzFhYTNmYzE4NmUxY2ZhMzc4ODk1YSBsZWdhY3ktdHJ1bmsKKzM1MjIgMmI1NGNjYzg1MmU0MDRhNDE3MmJjN2VlY2M4OGVlMTAwOTVhOWI5YSBsZWdhY3ktdHJ1bmsKKzM1MjMgMDQzZGExOTMwMmVmMjQ0YmY1NzIxZjIxODZjYTI3OWJjYmNkOWEwNSBsZWdhY3ktdHJ1bmsKKzM1MjQgMmZhYzIwOWUxYzNmNTUyMjEyZDI5NmUxNTcyNTE1MjhlNDRkMzA0OCBsZWdhY3ktdHJ1bmsKKzM1MjUgM2UzM2NhNTRmYmRjMWMzMjYxZGQ4ZDY4MGRmMWQ1ZmEzZjA2YWQ3ZSBsZWdhY3ktdHJ1bmsKKzM1MjYgNWQ3NGE5ODczNTg5Njc0NTBkMTkyYmUwOGQyNTljZGFlOWRjMjAwMyBsZWdhY3ktdHJ1bmsKKzM1MjcgMTgwOGNhNWQ4ODgzMDk3YzcyYzZhOGE4OTE0MzA0MWMyMGVhMTNjMSBsZWdhY3ktdHJ1bmsKKzM1MjggN2NkNTMzY2YxOTRhOWRiZWFlOTBiODc2OGZmNWRkMmVlMzNiZjNhOCBsZWdhY3ktdHJ1bmsKKzM1MjkgNTYwNDA3ZWM2MzJiOWY2ZmNlYmY4OTc1NWYzODNkMWViNDcyZTRhYSBsZWdhY3ktdHJ1bmsKKzM1MzAgZTFjNDczZjkyOWM0NzI2NDdmMDIxMGZhNjhiZmM2OGE5MDUwMjMwZCBsZWdhY3ktdHJ1bmsKKzM1MzEgMTMyNjAyZDg1NGQ4YzQwZjRlNDkzZTlmYWE0NmY2MjdlYzY0MTEwNiBsZWdhY3ktdHJ1bmsKKzM1MzIgYTVmYzEwNDg0OWFhMjFmNjMyMWY1ZDk5N2UzYTM3ZmI2NWE3ZDlkMyBsZWdhY3ktdHJ1bmsKKzM1MzMgMjg3ZmMzMmMxZDljM2ZiMmYyMjFkY2IwNTZhMjUzOTI5YmUzMDdjYSBsZWdhY3ktdHJ1bmsKKzM1MzQgZWU0YTJmODkzMjU0ZGQ0MGUwMWMyN2RjYjYxYTUzOGQzOTM0NzBlMyBsZWdhY3ktdHJ1bmsKKzM1MzUgNGM4ZTVmY2IzMzAxNTlkZjM3OGYzN2I1ODMyODlmYWZhYTVkOWRhOSBsZWdhY3ktdHJ1bmsKKzM1MzYgODllMWU1ZDljY2JmMDNkOTQ4NTBmMjE2YzQxOWQ0YzE1OGM1NjU4NSBsZWdhY3ktdHJ1bmsKKzM1MzcgZjllNWEyODIzNjc3N2U1MGEzMmYxMGRiMTkzODkwYjE5YWY0MmNiOCBsZWdhY3ktdHJ1bmsKKzM1MzggZmFhZjM4NDNiOGJkNWQxYTZmYjdjMzM1N2EwZTQ4ODAzMGEwNjRlZCBsZWdhY3ktdHJ1bmsKKzM1MzkgZjdjNjA2MTAzZGQ1ZWQxZWVhM2U1NzMzZWVmMTc1NTYxMzEwMDhlNCBsZWdhY3ktdHJ1bmsKKzM1NDAgN2JlN2E3ZTBjNDY1ZTc2ZThkOTdlNTQ1OWQ1ZmU2MzhlY2Y1Y2ZlNSBsZWdhY3ktdHJ1bmsKKzM1NDEgODlkN2Q1ZTEzNmFkZGNlN2I1OGU3ODc1ZWUyOGM0ZjI2ZGRkM2ZmOSBsZWdhY3ktdHJ1bmsKKzM1NDIgZjNhMzI1NjYyZDM5YzYyYjA4Y2IwNDFiNGQzMDc3OTM1ODliNWE3OCBsZWdhY3ktdHJ1bmsKKzM1NDMgMTA1ZDMzMmMyNzdjNjUxOWExMjgzNmUyOWVmMzUxOWY5Yjg2Y2FhYSBsZWdhY3ktdHJ1bmsKKzM1NDQgMzU0M2NlODhhMzFlZDg1ZjJiMWRhNTJlMjk4MjMwMjRkYzU2MmEzNSBsZWdhY3ktdHJ1bmsKKzM1NDUgYjAzZDAwZTI0YzNjMWEwNTdmODNjNDU3ZTdmN2E2MjVkY2IzYzJmNSBsZWdhY3ktdHJ1bmsKKzM1NDYgNzEwYzZiMTNlODc1MDgzYTY0MmVkNGU0MmVmZTY4ZjkzOGE2ZDQxNCBsZWdhY3ktdHJ1bmsKKzM1NDcgYTRhYTgzMDEyYWYzYjIzZmFhZWMyYzA5YWEwYTZlOTUxNjc2OGIyYyBsZWdhY3ktdHJ1bmsKKzM1NDggYzAyYjNmZTBiMzNjMjU5ZWZjZGYxZjgyMzY5YWY2NDExODE1MGNhNSBsZWdhY3ktdHJ1bmsKKzM1NDkgYTBhMGM3NmY2ZWY2YThjYjU3ZThjZDc0MDdiMDAxZTM4OWVmYWUxZSBsZWdhY3ktdHJ1bmsKKzM1NTAgYWU0ZTkwZmE4YmNhNTIxODk0YjcwOGE5ZTA0ZDAwZTQ1NTQyMmIwMyBsZWdhY3ktdHJ1bmsKKzM1NTEgYjJjN2FhYmZhOTEzYjliYjJmOWYzMTc4NWIxZWY2NDlhMmY1Mjk0MyBsZWdhY3ktdHJ1bmsKKzM1NTIgMTU4ZjBkOWNkZDQwZjUzNWRhOGY1ODcxMjFhZTcxMzRlZDYwOGI1MCBsZWdhY3ktdHJ1bmsKKzM1NTMgNWEzMGE0ZTA1NmU3Y2MzN2Q3MmYxMGFkZTEyMzQwYzg0YTg4Mjk2NCBsZWdhY3ktdHJ1bmsKKzM1NTQgZjk5MmFjMmEzOGQ1YzdmM2ZjNWE0NzMwN2I2MGVkYjMzOGQ3MzNmNCBsZWdhY3ktdHJ1bmsKKzM1NTUgZGNlM2MzMGNkNzI3ODdhNzQzZGI3YTg3ZTQ2MTY5N2IyOTlmYmQ2NCBsZWdhY3ktdHJ1bmsKKzM1NTYgZTk5YzIyNDkwYmZiZDRlMTc1YWIwOTQ2ZTBkN2M5OTdmOGYzZWRkNyBsZWdhY3ktdHJ1bmsKKzM1NTcgY2ZmZThkNmIyZjA5YjdlZWQxODY3YmQ3MzkzMDVhNzZmNDA5MWNjZCBsZWdhY3ktdHJ1bmsKKzM1NTggN2MzMjQ1YzE4Njc3NGI4NDQ0NTQwYmVmNmQ1MzkzYTM2MDE5NmVkMyBsZWdhY3ktdHJ1bmsKKzM1NTkgMGZmZmY0MGQxM2ZmNDcwZTM5MWU4NzE5Y2QyNWFiYzUzZTM1NTRiMCBsZWdhY3ktdHJ1bmsKKzM1NjAgN2Q2YTJkOTUwZjEzYzc0MDc4NWM0ZmFmMjAzMzFiNTZhYTYxYmZmZiBsZWdhY3ktdHJ1bmsKKzM1NjEgOThmNTFmNjFjYjRiNzZhZmY3N2Q1ZDBiYzJlYWI1YTlkMzY5YmU0ZSBsZWdhY3ktdHJ1bmsKKzM1NjIgNDIyOTI3NWRlYzMyNjEwM2E4ZGI0ODY3Yzg3MzczNWIyNjBjNjRhZSB1bmxhYmVsZWQtMi4xMC4yCiszNTYzIGJlNjFlMDcyYTUwNWI5ZWNiMGY5N2Y3ZTFiMGQwOGE5ZmVlMWNkMmMgbGVnYWN5LXRydW5rCiszNTY0IDRhMjg2YjMwMGI1ZWZjYWYyODFmZGJlOGI1MzI2YjE5YWQ5OGZjYzggbGVnYWN5LXRydW5rCiszNTY1IDFjZTJjMGY1NjVlZjNlNmJhZjQ0NGM4MjhmZjcyOTIwOWJjOWQxM2IgbGVnYWN5LXRydW5rCiszNTY2IDFkODQxNTg3YWVkZWIwNzFhOWE1OGEyOWM4NzBhYzhlMTE4YWZmNzcgbGVnYWN5LXRydW5rCiszNTY3IGNjMTcyY2UwNTU2MWFmMTZhYTA1YjIxNWEwN2Q1MWYyY2JiY2M3ZDMgbGVnYWN5LXRydW5rCiszNTY4IGFhYzgyMzFhNzE1YzdjZTQ4NzdlYWU2ZmJjOTgxZWRiN2JjMzI3ZTYgbGVnYWN5LXRydW5rCiszNTY5IGNkNTk4OWE1OGJjZmUwMzIwZGRkMmIxNGM0NjlmN2MyYjVhNGM0OTEgbGVnYWN5LXRydW5rCiszNTcwIGFmNGUyNzFkMDdiMWRkMmVlNWE3MDZjZGJlYTZlYmViZjk0ZDgyZWQgbGVnYWN5LXRydW5rCiszNTcxIDYyNzg5MzNkMDJlMzhiYjhhYmRkYmM3NTQ2NzNmNzk2MTdkMWJmODggbGVnYWN5LXRydW5rCiszNTcyIGM4MTQ5Mzc4ODBjYzNjYzAwNjc2MDgyY2M4YTliNGE0ZTVlOWQ3OGMgbGVnYWN5LXRydW5rCiszNTczIDkwYzVlMmJiNGRhNTViZWRlNmU3ZDhkZTQ0ZTZhMmIwYmNkZTExY2QgbGVnYWN5LXRydW5rCiszNTc0IDQ3NDgyM2U1ZjdkYzEzYjk2ZDVmZDhlYjljODA5Y2NlOGFhOTA0NjcgbGVnYWN5LXRydW5rCiszNTc1IGE1OGMwNjFiNGY1NTUyNTE3N2Q2N2ExNTJlN2UwZjhmOTNmNGZlYTcgdW5sYWJlbGVkLTIuMS4yCiszNTc2IDJlMGE4YTNlZWY0YThmOTc1YjBjMTI2NzEzNTJkMTI1NzdkNjM2YmIgdW5sYWJlbGVkLTIuMS40CiszNTc3IGI5ZmNmYjk5YTNlNTRiNmY3NjYzNTA4ZDEwZTBkODA4NzgxYjlmN2MgbGVnYWN5LXRydW5rCiszNTc4IDE4ZGY2NzQ1MzlkYTU1MzA1ZjZkMjZjMmRkNDYwMzA2YTBmZjJjMzMgbGVnYWN5LXRydW5rCiszNTc5IGY1YjFkZGZkZGJhODMzYjMxYjZhYWY2MWQ4MTEzMDQ5ZjA0MjM0ODUgbGVnYWN5LXRydW5rCiszNTgwIDMxNTI3MmVjNGQ1YjYzZDVlZDJlNWY1ZjAzYzhmYTExZmZjZDYzMGIgbGVnYWN5LXRydW5rCiszNTgxIDE2OTFlYTVkOWQ0YjViMzQ0MTk3YTMzNmM3MzIxYzVlYTNiZTkyNjUgbGVnYWN5LXRydW5rCiszNTgyIDAwZjFlODg2NGRjY2RmZTYxNGQyNGIzZWMzNDQ1ZjNlNGFjYmM5MWQgbGVnYWN5LXRydW5rCiszNTgzIGM5MTRiMTBiZjJlZDc3NWMwMzJkNzRmNWFlNDVlMDQ3NjYwMGJhMjQgbGVnYWN5LXRydW5rCiszNTg0IDI0OTE3NzRlMzZhOTBjYmI1Y2ZlMjYzNDMyYjFhNzZkMmQzYWExMTkgdW5sYWJlbGVkLTIuMjUuMgorMzU4NSBmNTUwMzFkNTQ5Yjc5YTZiZWIwN2MzMGJlMWRmNTNmZTQ3MzQ0OWVjIHVubGFiZWxlZC0yLjI1LjQKKzM1ODYgZWQ1MjJjOTQ4ZDQyOGMzN2FlMGU5ZDU4ZTRjOWU5ODUwNmRjNzYxOSB1bmxhYmVsZWQtMi45LjIKKzM1ODcgY2FkZWI3OWMxMzJmNTUwMmNlZmY5MjMxMjAyMDc2NjBkOWIyNTcyYiB1bmxhYmVsZWQtMi45LjQKKzM1ODggMjg1MmVkYjRmZmZlMGVjMzc4OTVmMDMxNDEyM2UwODQ1ZjhlYzBjZCBsZWdhY3ktdHJ1bmsKKzM1ODkgMDY1NzA0MjlmMDYyZDMxNGQwYjg2ODIyZDFhM2NjZGE1MzQ2ZTIwZSBsZWdhY3ktdHJ1bmsKKzM1OTAgZDZmNmExY2I3ZDc5ZTliMTk4ZmMxNTgzYjI4NjljOWU5ZjQwMDgxNSBsZWdhY3ktdHJ1bmsKKzM1OTEgZjdlZGZhNmQwZGNiYTQ4NzJiZjQwODRmNmI1NzRkM2VhMTE4ZGQzNCBsZWdhY3ktdHJ1bmsKKzM1OTIgYjFiYjc0YTJiNTkzMGU5YjRmYzc4ZTliNTVmNjY5MTU5MjEyYWJkMCBsZWdhY3ktdHJ1bmsKKzM1OTMgMjA0MDAxZGRkY2MzMmUzOGUxMzY5OGQ4ZDJkZDU5NGNjNmQyNTg4YiBsZWdhY3ktdHJ1bmsKKzM1OTQgZDJmOThiZWVjODVjZjIyNGM4ODI5OGEwZGI2ZGU5NWQ3YzI5ZTQwNyBsZWdhY3ktdHJ1bmsKKzM1OTUgZmU3Mjk4ODEzZjE3MTRiNDdmYTJiOTMwNjcwNmZmMzVmODNhYTRkNyBsZWdhY3ktdHJ1bmsKKzM1OTYgOGE5MGM5YmJiZGYwYzlkNzFhODM0YzJmMzkxOWFjMDQwNTEyZGU3NSBsZWdhY3ktdHJ1bmsKKzM1OTcgMGIzMmVjOGEzZTIwODIxZTY0OGVlMWU1Y2E5MTM5MTg3ZDAwNmJjNyBsZWdhY3ktdHJ1bmsKKzM1OTggYTJmMmE4YmQ1NmY5YmZmMWE1MjFhNmNjNmVkOWQwNWYyMDQ3Yzc1MCBsZWdhY3ktdHJ1bmsKKzM1OTkgNzJiZGRmYWQzNTFhOWEyMjBkYjI0NTA0ZGFiYTBhNjhiYWQ4MjhmMSBsZWdhY3ktdHJ1bmsKKzM2MDAgYzg4N2ExZjMwNTI1NWQxYWJmYTZmZTZhZWZlYTY4ZjNlNmQ2ZDFlYyBsZWdhY3ktdHJ1bmsKKzM2MDEgODcwMWI5MzM4M2FiMWRkZTkxOGViN2M2Y2Q2ZjAyZTUzYjk1YjkwNSBsZWdhY3ktdHJ1bmsKKzM2MDIgZjdhNzUyZmI3YjczN2QxZjBlOWNiNDVhOGIwMjEyNzZiODk2NjIyYiBsZWdhY3ktdHJ1bmsKKzM2MDMgYWRhNTZiMDc2NWMxNjcyZDlkZWQ4MDdmNjMxNjVjNzc4NWI1NDUwNSBsZWdhY3ktdHJ1bmsKKzM2MDQgOWM3MDdkOGNmMGM4ZDE2ZTZkODY5ZWZiNjNhNmU4Mzg4MWRlZjc3YyBsZWdhY3ktdHJ1bmsKKzM2MDUgZDcxNjhjYzJiZTA3ODMzZDBhMTVhMDZmYTk0NzQ2YzU5MzNmMTkwMiBsZWdhY3ktdHJ1bmsKKzM2MDYgNjQwYzM2YjY0ZGVhMWNmNzJmZWU0MWY1MTE5YzA2ZDUzNDg0ODMxMSBsZWdhY3ktdHJ1bmsKKzM2MDcgNWNhZTc2NTMxNzFiNDRhMTlkNjVhYjYxMzhmNzE4MTU0MWNmNjdjNCBsZWdhY3ktdHJ1bmsKKzM2MDggNDZjMjE3MzM3YmRlNGY1NDk5ODkwMTRlMmZhZmE3ODY0NmQxM2ExMiBsZWdhY3ktdHJ1bmsKKzM2MDkgNTYwZWM3MDMwODE3N2I0MzkxYWZhMTcxZDYwNGRmMzFlN2UzNDQwYyBsZWdhY3ktdHJ1bmsKKzM2MTAgODlhNWNlMTlkMTNhZjIwOGVhMTJmNWU2ZTAwMWRmMGMyNGE3YTVkYyBsZWdhY3ktdHJ1bmsKKzM2MTEgZTQ5OTExNmQ0NWU0OTE5ZGM0NmQ3NTJiMzg0OTY4MmRlODdkZDI1YiBsZWdhY3ktdHJ1bmsKKzM2MTIgZDdlMzg0MmIyZTdiMTBmZmZiMDRmNDFlYmNlYWM3MDE1MDEyOTE2ZiBsZWdhY3ktdHJ1bmsKKzM2MTMgZTQ2MzIyYTMxZjYyMmJhMWM5ZDA0NDliZmQwZjdkYTNhMWRkNjA4YyBsZWdhY3ktdHJ1bmsKKzM2MTQgZDgyYzJiYTRmODE4N2I1MDBiZTZkZDYwNGRjN2VlM2ZjMDhlNmIwZiBsZWdhY3ktdHJ1bmsKKzM2MTUgY2QzODI0NTZjNTcyYmJhYTIwNTUzZTliMTExMjRhM2VkMTZlNzBjNSBsZWdhY3ktdHJ1bmsKKzM2MTYgMjhjY2VhYmY4Y2NlYzY4MmFjNjczMThjMjNjZDg4NzNkMWY3OGIzZiB1bmxhYmVsZWQtMi4zNi4yCiszNjE3IGNiZjI4ZDY1NDY5ZjUwNjI0OGIzMmFjNGMyMmI4MzQxNmQ2MTNhNzggdW5sYWJlbGVkLTIuMzYuNAorMzYxOCA0NzQ5Yzk1NzQ2NmI3N2YxMDgwMTk5ZWM2ZDk3MGYzODY3Y2FjYTE3IGxlZ2FjeS10cnVuaworMzYxOSAyZWMwOGE5ZDAzMjU1MjEwNmNiYmJlYTZjZDBhMDE4YmRhZjc5MDIwIGxlZ2FjeS10cnVuaworMzYyMCBmMmQwNDA1NGM5MzQ2YTM2NDVmNmQxNTNmZmNjODVkM2ZhNTJjNjZkIGxlZ2FjeS10cnVuaworMzYyMSA5MTMzODA2N2Y3NTAxZTNlMWQ5ZDYzODg0NWJhZmJhOWY3OTZhY2U4IGxlZ2FjeS10cnVuaworMzYyMiA5ZmIwZjFhZmIzNGNkM2E4N2ZjMzQwNGIwMDNiNGI2ZTM5OWUyZTUzIGxlZ2FjeS10cnVuaworMzYyMyA0ZmY2MDhjNGNhY2FlMGMxNDc0YjQ5ZjQ4YjQ1YjM5ZDczZjM5YzI1IGxlZ2FjeS10cnVuaworMzYyNCAzMjhmNDQ2ZDIwMTY3NjA2ZjhkMjYyYzA0MzRhMTA4YjU1YWNjMjQ5IGxlZ2FjeS10cnVuaworMzYyNSBhZTkzZWM0ZGQ1NTYzNjliYWZhYjM5YzRlMGE4NjUzZGM3NzQxNGYyIGxlZ2FjeS10cnVuaworMzYyNiBkOGNhMGU5MTNjNDQ0MmE2YjRjZDYzMjIzMjY4OTVkNzY0NGE5ZGM4IGxlZ2FjeS10cnVuaworMzYyNyBhODkzMmE0Yjk2MjRkOWJiZDI1NTQ5ZDJhNTI2YzEwNTk5OWEzY2I2IGxlZ2FjeS10cnVuaworMzYyOCBhNWE0NjU0YzMzYmU1YjM5Nzc2MTk0MDM2MTk2ZTMzMmU0OTlhZTg4IGxlZ2FjeS10cnVuaworMzYyOSBkNzczYTVmODk0MjY4NzlkYjJmZWJkMjU5ODkxMjMzMWNkOGJmMzNlIGxlZ2FjeS10cnVuaworMzYzMCAzYTVmMmYxMTBmNzA2MmI5ZTI2NTEyY2ZlZDQ5YWMwMmFlNjI0Yjg2IGxlZ2FjeS10cnVuaworMzYzMiA1MDEwMWViNjMxMWIwNzdjOWQ5NjczMzY5NDI0MmE0MWY4N2Y4ODZlIGFscGhhMTAwCiszNjMzIGIxOGViMmY0YWYwY2YzYzU5MmVjMjNjNmZmMzdjNjhlOTY1MDgxY2UgYWxwaGExMDAKKzM2MzQgMWNlYTlkODBhMmJjMWNlNGIxZTFmNjA4ZmQyNmQzMDA1ZGNiZjRmNCBhbHBoYTEwMAorMzYzNSBkOWQyMTM4MmM3M2I5MmMxODFhMDJjYTNhMDQyMDk0YWYyMzNhMzkzIGFscGhhMTAwCiszNjM2IDViOTcwMDQ3YTcyMmMxNmUxMjZmNzJlMDVmNTFjYTRkZDI5NTU1YTggbGVnYWN5LXRydW5rCiszNjM2IGVmNzNkNDBhODI3OTUxYzlkYTdhMzJjYzhkYmUzODYwMGZmZWM3ZGIgYWxwaGExMDAKKzM2MzcgMjkyYzVlNzkyNjRkZjI2NjgyNTZjNjllNGU4NGJlOWQwNWY5NjFmYyBhbHBoYTEwMAorMzYzNyBkOGNkYWM4ZmRjNzQ1MGJlMWJlMTYyMjg2NTQ5N2Q0YWEwYjJkY2EwIHVubGFiZWxlZC0yLjI1LjIKKzM2MzcgOGIwOGEzNjY3NmQ0ZWRhNDdlMWRhNzY5NmU0YjIyODEyMzE5M2YzYiB1bmxhYmVsZWQtMi4zNi4yCiszNjM3IDE5ZmEwMWM5ZmFmMzk3NjM3OGY2NTRiYjRmYTdjZDNkYjI4ODJhNGQgbGVnYWN5LXRydW5rCiszNjM3IDhlZWYyMTE1NTVjNmQzNWY0ZDI5YzlkYzc3NGEyNDliZDFjNzRjZDAgdW5sYWJlbGVkLTEuNS4yCiszNjM3IDBjYTY1M2Q2NzdkMzQ5NzQzYzI5YzFhZTIyMTJhOGRjYjU3MjkzY2QgdW5sYWJlbGVkLTIuOS4yCiszNjM4IDYwN2IxOWFlMWUxM2EzMjIwNTA2ZTg1YzI4ODdmZjc0OWM2NGY1NTAgdW5sYWJlbGVkLTEuMi4yCiszNjM5IDMxZjFiOTg3Y2RmODJjYmNiMzhmNTAxMDhhMGFmMDgzNzlkODMxZjMgYWxwaGExMDAKKzM2NDAgZDk2MTk5YmU3NGU2YTQ0OGNjOTU0MGJkOTZiOWYxZTRjOWY0MTVkNiBhbHBoYTEwMAorMzY0MSBmOGQzZmY2NjM5YjU5NjcwZGMxMTMyZDllOGRjZTVkOGNjOTVmZWM5IGFscGhhMTAwCiszNjQyIGE3OWIwMjQzOTdmODdjNzE4YTJhMzFiZGYyM2RkOTZkZTAyOGViNzkgYWxwaGExMDAKKzM2NDMgNWNlNDA0NjJhZTk5YWVkOTRlYjUwZjgxOGMyYzRlY2IyNzcyOTIwYSBhbHBoYTEwMAorMzY0MyBiODU4MGUzMjA0NmMxYjY5MzljZWFiOGU5MzkyZWVlODgwZjJlNGFlIHVubGFiZWxlZC0yLjEuMgorMzY0NCAwOGQ0ZGE0OGRjZDU4ODc0MjA4MTI3MTI0MjBmZTE3ZjMwMTc1NzJkIGxlZ2FjeS10cnVuaworMzY0NSBkOGJhM2NmOWRhYmNhOTc4ZmY1NjVmMzYxOTAwNzE4YTViYzg3NDQ4IGxlZ2FjeS10cnVuaworMzY0NiAxZjhjNjQ4NDkyMDM0ODAwMTU3NTVkYjUzODlkZDI0NWJkZWJiMmI3IHVubGFiZWxlZC0xLjMuMgorMzY0NyA2YzA2NzY5YTg4NjliMGRkZmFjNzRhOTgwZTg2OTU1MjU4OTRiNDZiIGxlZ2FjeS10cnVuaworMzY0OCAyNWMxMTJiM2M5NTdlZTE5MTUyNWFjNTQ3ZDgwN2Q5ZDAwNzliNTg4IGxlZ2FjeS10cnVuaworMzY0OSAxMDlkMzlkZWMxMjg4NmJlM2MwY2NkZDdlYjYzZTQ5ZWRhYWZjM2NiIGxlZ2FjeS10cnVuaworMzY1MCA1ZjNkNmU0YjU1MDNkNTFlYTFjYjIyNDJhZDcxN2VmNTcxNzBlOTE2IGxlZ2FjeS10cnVuaworMzY1MSAzMDU3NDhlYmFiNDM3MjQ1MjViYTRkZjllN2YwYWQzZmI5NjE5NWE5IGxlZ2FjeS10cnVuaworMzY1MiA0ZGM3YjE1YjZiOTcwZGFhZGUxZTM3OGU3MzNlN2Y4YzJlYmQ2MGQwIGxlZ2FjeS10cnVuaworMzY1MyBjOGE5NWMxNzBlMWVkODczNDA3MzQ1YjkxYTVhNmM4NDMzMzg5NGYwIGxlZ2FjeS10cnVuaworMzY1NCBlZDM2YjNlOWNkNzg2NWFjNmI1MTFlMGQ0OGVlNTBhMDVlMmVkZDU5IGxlZ2FjeS10cnVuaworMzY1NSA2M2ViNmM3NTA5Mjc1N2QyMDA0MDA3OTcyYTFlNDIwOTFhMDZlZDQxIGFscGhhMTAwCiszNjU2IDE5Yzk4ZjIwYTliODNhMzFjYjQ4OWJjYWNiMTIyODdhMmYxODlhNzMgbGVnYWN5LXRydW5rCiszNjU2IDA4Y2Q4Yjk2YjZiZmMyNzhiNjZlZDQxMWQzYjlkN2I2MzRiODk5MWYgYWxwaGExMDAKKzM2NTcgNmJjZTMzZDdmMGQxMTJmNGRkYjM5NmVlOTUxMWFmNjc2OTIzMTIxNyBsZWdhY3ktdHJ1bmsKKzM2NTcgZjUzMzZkODZmNThiOGQ5YTRlMDM0ZmQ0YmNlMWQwYTNmZmNkNGRhZCBhbHBoYTEwMAorMzY1OCAzMDU5MjE4ZjYzMGJkOGVjMGYyNmIxMjJlZTM4YmU3NTZlYzc5MWE2IGxlZ2FjeS10cnVuaworMzY1OSA3NzM4Y2U5NWJhNGRjYTljZDhlYjVlY2QzYTJiY2RlMGFlZjA1ZTU0IHVubGFiZWxlZC0xLjkuMgorMzY1OSA4MzhhYTE0MDZlZWFlZjgzMjE2ZTA0NDkwYmRiZmJhMzFhNjEyMTFjIGFscGhhMTAwCiszNjU5IDI0MzBhODYwMmE2NWQxMzY5NTM2NmFjY2VjZjk2NDlkNzU0YTJiOGUgdW5sYWJlbGVkLTIuMTYuMgorMzY1OSBiNGY4MTVmM2NmM2UxMDhmYzk3Y2YwZjI4Yjg3ZmFiYzM4NTBlNjEyIHVubGFiZWxlZC0yLjI1LjQKKzM2NTkgZDAxODc2NThjZjBiM2JiNmY0NDljZGMyZDhiMGUxZDlkOTE4NmE1MCB1bmxhYmVsZWQtMi4xLjQKKzM2NTkgNjEyYzc2YWFjM2FhODllODZmNWU0ZWNjZjk4M2IzNGNlZDBhMjk3MSB1bmxhYmVsZWQtMi4zNi40CiszNjU5IDMxM2Q5YjkzMDk0MDllZGRkNjJiOTc4NGU3MDZjZDQ3NGZjY2EzMDQgdW5sYWJlbGVkLTIuMTAuMgorMzY1OSA4ZGMyY2YzMTQ1YjNiYmJhNTNhN2JkYzVkMWZlM2M2ZWI5ODM5NjgzIHVubGFiZWxlZC0yLjkuNAorMzY1OSA1MWVlZmMwNTRhZmY4YmEzYmUxOGVkZWNjZDkyN2IxMjEwMmQxOTZiIHVubGFiZWxlZC0xLjUuNAorMzY1OSBhZjY2N2M2ZDIwNzIyMTExOTRkY2M0OWNlY2NlYWYxZWJiZDFkZTc2IHVubGFiZWxlZC0yLjMuMgorMzY2MCBkNDcwNWQ3MDY2MzI5MjQ4OTAwY2Y5YzYyNTcxYTIyMDIyYTdkNmQ3IGxlZ2FjeS10cnVuaworMzY2MCAxZGNhMzNlYjJkN2E1MzdkZjE0YWIzODM1Njk4ODNmNTVkZTk5NzVkIHVubGFiZWxlZC0xLjIuMgorMzY2MCA4ZjQ0ZTQzMTA0MTRiNmQ5NTc4NWE5ZmUzNzk1NjMxNDJhYmFmN2IxIHVubGFiZWxlZC0xLjMuMgorMzY2MSBkY2NlZjFjYmRhNWEwNmRjOGYxNzlhZjdjOWRkNzc3MjIyN2FlNjlmIGFscGhhMTAwCiszNjYyIDJlYzk2MTQwYTM2YjQ4ODM0NWEzYzFhMWNlOGZiZTQwYzNiM2IyNjUgbGVnYWN5LXRydW5rCiszNjYyIDRhYTkxZmQ2OTcxNTQ3OTZjYTFlZDFhODVhNTZjYzU5Y2IzZDNmODYgYWxwaGExMDAKKzM2NjMgYzc1MWNiZWVlNjg4MmZiMzA0NmNiYTE2Njk5MDZhOTVmMzZhNTcyOCBsZWdhY3ktdHJ1bmsKKzM2NjQgMjM1NjFkYzdiMTVmNWU4MzIwMGFhNWZjMDQ1YWM0ZDExY2FkOGU5YSBhbHBoYTEwMAorMzY2NSBlNTYwYjMzNDI0MDViMzI3N2I0ZGZkYzZiMDAzODAyMjc3ZDFlZTBmIGFscGhhMTAwCiszNjY2IDBlYjBlZmM1MWQ5YjM3YzQ4ZmE2YzM5NDMzYjdhZTI4ZTI0NjhlN2IgYWxwaGExMDAKKzM2NjcgYzMyZTEwMjA0NjhkZmY4NDI5MTU3OWNhOWRjNTljMWFiNjc4MWVmZiBhbHBoYTEwMAorMzY2OCBlMjYzYTcyYTc2ZmU5ZDZhMWFjMDFlMjMzYjQ4NTI0Mjc3Njc4OWVlIGFscGhhMTAwCiszNjY5IDkzZDEyOTcxNzhjYmU3ODVmMGIyNTUxMjFhYWIyY2VjZjdlYTIxNDggbGVnYWN5LXRydW5rCiszNjcwIDk4YzU1OWZkNmUyYTkyYTRlNWMwOWVhNmIzMTdlMjliMDJkZTk2MzIgYWxwaGExMDAKKzM2NzEgY2JhMTA5NmRhNTUzMTFkZDYyYjY5YzBiYmI4MDI3MGEwYzE4OTlmYyBhbHBoYTEwMAorMzY3MiAyMDY0YjE2NzA5ZjJjZTVmOTBmNmY4NGI4NGVlMDUxYmIxZWM1MGI2IGxlZ2FjeS10cnVuaworMzY3MiAzNDVkNTdiZWMyNjlkN2JmZDZmMjZlNzI1MTU2OWNhMmNkM2NmYjUzIGFscGhhMTAwCiszNjczIGY4NmY2NTFjNzA3ZjQxMGIwMjkwMWY5OGU1ZTQ3YmU1Nzc1YjE5OWQgYWxwaGExMDAKKzM2NzQgMmNiMDc2YWU4OTI3MjE3OTEwMWU2YTFlYjNmMzJlNzBjYTg2N2ZlNSBsZWdhY3ktdHJ1bmsKKzM2NzQgZWJmNzI4ODAzNTVmMTgyNjNkMWY4NzFkNWQwNDMzMmNkMTcxMTZkZSBhbHBoYTEwMAorMzY3NSAzZmU3NTgyYjk2MzZkZjJkNDNjNDc5NGNlZjFjNmFlYjZkYmFkZTI1IGFscGhhMTAwCiszNjc2IDQ4MTQxZTY4YjM2OTgzMjJmYzAzN2QxNDQzZDgxODU0YTEwN2Y0MDUgbGVnYWN5LXRydW5rCiszNjc3IGQ4MzY2NDU4ZDEwNjZkMWMwNGEzMDJhODcxYjQ4ODk1MjEwNTMzMDUgYWxwaGExMDAKKzM2NzggMmJlODA0OTY2MTQ3Njk4YjQxNDdhOTRmZWRlYWJiYTA5OGZiNzgwMyB1bmxhYmVsZWQtMS4xLjIKKzM2NzkgZjJmMTYzYzA5OTU5YjNlNzUyMjY3MTYzY2FkMjc4MzIyYTk0Yzk5NSBsZWdhY3ktdHJ1bmsKKzM2NzkgYjY2YzZlMmE2ZTA2ZmEzNDJlMDQ4YWQwMjM2MmQ0ZmE4ZTE4ZGEzMiB1bmxhYmVsZWQtMS4xLjIKKzM2NzkgZmVjMmNmOGQ2ZTc3OTk5NDliMDZkMzMxMDJmZTI2ZDllNmQ3Nzc0NiBhbHBoYTEwMAorMzY4MCA4NzA3NTFmYjA5ZWJmZDU5MzA5Mjg1OTJmNThiNTlhMmE5OTIzNTgzIGFscGhhMTAwCiszNjgxIDBkZWY5NGY4MGIzODQ5NzQ4NjgzM2Q5YWFmNzA5OWZiMmY1Y2NiNDkgYWxwaGExMDAKKzM2ODIgMjRkNjU2NTNlMmFjOWQ0NDYyY2MzODQwMjIwMDBhNjE5Y2FkYmUxNyBsZWdhY3ktdHJ1bmsKKzM2ODIgMWM0ZTJkNjIwYjE2MzgyNjEyOTdiNWZiYzNiODYxNDJkODA2NTk3OSBhbHBoYTEwMAorMzY4MyBkMDNjZWE2YzA3OTVkNGQ5ODZjNzczN2Y2NDRjMzI2OWEzZTU1MGRiIGxlZ2FjeS10cnVuaworMzY4MyA0Mzg1MzNiMzQxYTZkNTY5OWMwMzVlNjU1ZGJhMDI5YWFkOTdiNGU2IGFscGhhMTAwCiszNjg0IGUzMzc2MjRjM2VhMzcwNTM1NDAxZTNiOGEzMmE5MTdmNWUzY2QzOWEgYWxwaGExMDAKKzM2ODUgM2Q1ZDRjOWVkMTlkZDg2OTVlOWY1NDdkY2Q2YzBiZDQxYzFlZGI2ZSBhbHBoYTEwMAorMzY4NiBiODBmMWRjOTZjMWE1NmIzYzQzYjQwNzlmNzg3MzAwM2YzZGM3M2U5IGxlZ2FjeS10cnVuaworMzY4NyBlYWIwMTk2YThkODM4ZTcyYzljYzA0Zjg5NjViYjE1Mjc0YjkzMWYzIGxlZ2FjeS10cnVuaworMzY4OCBiNWIxZjM4YmVmYTQ4ZGEwYTg2NjFkNGJhZDE4YThjOTczZmNiZTM3IGxlZ2FjeS10cnVuaworMzY4OSA1NTBlMjYwNTk1OGIxNmU2NDE1NjU3NzdjMTA5ZjM1ZGFhYmRjYTM2IGxlZ2FjeS10cnVuaworMzY5MCAyZGRlYThlNmRkMjBiMGZiN2JlZjMwMjIyZWEzYTA2YWVjNzQyNzk5IGxlZ2FjeS10cnVuaworMzY5MCAzNTU5YjA5MDY3MGVlYzlmZDFiNjk3YTlmOTBmMTE3OTA5NGY1NjUwIGFscGhhMTAwCiszNjkxIDYxYTcyM2ZhMjUzOGM3NTVlNGY1N2E1MDQzZDE1NmEyYTczMTMzYTAgYWxwaGExMDAKKzM2OTIgOWYzZTJlOTMxYjRiOTNmZDViNmVkNGVjODM4M2E1YzhlMjIzZTcxMiBhbHBoYTEwMAorMzY5MyA1NzgxYWFmOWNjZDM1ZjcxZDAwOTBjNWQ4MjRhMzVmNjhhYjk4YjdhIGFscGhhMTAwCiszNjk0IDUwMTlkMDNkNzE5MjBiOTE2ZDI2NjU0OTY3YzZkNjcxZTJiYTI1MDkgYWxwaGExMDAKKzM2OTUgMjI0YzZiZDkyY2ViNDU0MGQ3NGZlMjMwOTRmMjM0ODg5MWQxNjIyMCBhbHBoYTEwMAorMzY5NiA4ZDZkODUzNTlmYTNiOWNkZDEwYzhhYWJkYTQ2OTU3MmJmZjMxNTk2IGxlZ2FjeS10cnVuaworMzY5NyBlNWZhODk3OWI5ZTY2ODI0MTIwZTk3NjkyNzZmNGVkZmM0ZDAyNTVmIGFscGhhMTAwCiszNjk4IDBhNmJlZTRiNmIxNzUxOGJlZmY5MGUxYjQwMzE3ZTMxZjc5YjNlNGUgYWxwaGExMDAKKzM2OTkgMmFlMDJmMGQ5ZTZiMGE2ZDQwODdkY2RhYmJhOTdkNDkwNzNjMGM5NyBhbHBoYTEwMAorMzcwMCAyZDRiZDhjYzQwNDIwMGZhNzI1NWNiZTVhMGM3NTA2NmIyMmM2OGM5IGFscGhhMTAwCiszNzAxIDRmODk2MGM3ODE0MWRiYzM3NDAyN2M1ZTg4YjdmYWI0NGY4NWEwZTAgYWxwaGExMDAKKzM3MDIgNzU4NzE3Zjg1MGYyYWEzN2U1OTM2MzYwZDNkNDNlZTZjZTQxMjMwYyBhbHBoYTEwMAorMzcwMyAwNTAxNGUwZDMzZWM1ODE2NDVkYWQwNGVjNGIxOTM4MGJlZjhmNGQ3IGFscGhhMTAwCiszNzA0IDc2YmM2ZDc0ODg5MGQ4N2E5OTA0NmZhNTZlMDE2MzAzNTZhNTMyMWQgbGVnYWN5LXRydW5rCiszNzA1IGU1M2VkNjc0NTlmNTZkNzM0NmExZTJiM2ZkOTk3M2VhOGJkODAzNjcgYWxwaGExMDAKKzM3MDYgMGM4YjE4MTJmMGI2OWQ5MWUzOGIwN2VjMzgwNWE5NjZmZDVlMzg0YiBhbHBoYTEwMAorMzcwNyAxMGFkOGJlZjlmNDNkYjc1ZTk4YWFkYTQxNGRmZjhkZTdiZWM1NzhmIGFscGhhMTAwCiszNzA4IGE5MDkxYzQ5OGIxMDFlNTgyMzUyNGM4ZmZkMzY1MzU0MmIxYjAyMjQgYWxwaGExMDAKKzM3MDkgNjI3YmM0MjJhOTAyODY4MWYwZWViZjMxOWVmYTE2YmE2NDE2NmQ0YyBsZWdhY3ktdHJ1bmsKKzM3MDkgOGIzYTcyN2RjNzFiM2FjM2U5OWQwM2I3YjRjZGY1YWIzMTAxYWNlMCBhbHBoYTEwMAorMzcxMCAyNzJlMmM2NGI3NGRiYmI4OTg1M2NiMTU0MmNhNWQ0OTM0NDMwNjQzIGFscGhhMTAwCiszNzExIDZkZmI4NGFkZmU0MzExOWE5YTdlMTIxYzA4Y2IwYmM3NjZkNmYwODEgYWxwaGExMDAKKzM3MTIgNmI2MzAwY2M0NjRlNWE0YmMxNjcwYjdhNzI1OWVhYWEwZDg1YmQ4ZCBhbHBoYTEwMAorMzcxMyA1MGZhYjIzM2Y0MDQyMTMwMmE0ZTJjMjBjMDM5NjZmNGU4M2NmYmYyIGFscGhhMTAwCiszNzE0IDNkMTljYTQwZWI4MmRmZDJlOGY1YWQyZDZhOTViOTY5MGZlN2YzZmIgbGVnYWN5LXRydW5rCiszNzE0IDkyNWM5NTI4MzBjZTI2ZWJiYTY4YjI0YjMyOTJkY2Y4MWMzZDM1N2EgdW5sYWJlbGVkLTEuMS4yCiszNzE0IDYyN2Q2NDRiYzZjMTc3ZjlhNmVmNDk1NTNjNDIzNzVkYzljMDYzMDYgYWxwaGExMDAKKzM3MTUgOTYzN2MwNDk2MTdkMzM3NmQ0ZWU1MTc3ZDg5MWY2MGUyMzZiYzE3NSBsZWdhY3ktdHJ1bmsKKzM3MTYgZWQ3NTk5MjE3N2U4MzE3MTliMDY4ZGM2ZWY5OGMwOWU1YWVlYWRlZSBsZWdhY3ktdHJ1bmsKKzM3MTcgMjk5MjdmMDM4NmE2OWU4M2U5YWMyMmYwZjVhZmM4OTNiNTRiZDk2MCBhbHBoYTEwMAorMzcxOCBjNjJhNmRhN2ZlYWMzZDdhNTE3OWRkMTM5MDQwYjlhZTIxOTkzNDAwIGxlZ2FjeS10cnVuaworMzcxOSBhNTI1NjA2MWYzYTAwZjc2YWUyNGM1MTgxZTI2MDgwMWVkNTUzZTNhIGFscGhhMTAwCiszNzIwIDVmZDU1YTZhYzc2ZTgzN2MzMDA5ODU2YTMzNjY2YTU3MzI2MDRmOWQgbGVnYWN5LXRydW5rCiszNzIwIDMyODY1Yzg5Y2YxMmU2M2Q4NDQ0NWQ4NzBjN2QyMjY0MDA0ODY2ZTAgYWxwaGExMDAKKzM3MjEgZTE4MzUwMmZiNWJjNmY1YzNhNjM0NmFlYzA4YTU5MGY5ZmU3MjljMSBsZWdhY3ktdHJ1bmsKKzM3MjEgZmRiZDM5NTRmZWYwMGI0NDZhNDExNzhhNWY3NjIwY2MwNTYxYzc1NiBhbHBoYTEwMAorMzcyMiA1ZTkyYjEzMmU3MGZhMzJiN2JhMWQ0MTY0ZWE1ZWQ3NzcyMDIzMjFmIGFscGhhMTAwCiszNzIzIGQwYmIwN2Q0YzZmZWI4ZDJiMzBhZDQwOGZlOTU4YTAzYTBlNGMyMWMgYWxwaGExMDAKKzM3MjQgNzQ1M2UyYmE1MzYyYTQ0MzIxNmVhOThlYjZmMDA4MTdiOGFkZWI0NiBsZWdhY3ktdHJ1bmsKKzM3MjQgYWE0NzJlOTE3ZjZjMjMzOWY0NDAxNDgxODRhOWY0MmRmNTRiZTM3MSBhbHBoYTEwMAorMzcyNSA4NzcwNzNiOWY4YzMyNTRhODMyNTBiMjU2NGVmYzY1YzlmMWFiYWFiIGxlZ2FjeS10cnVuaworMzcyNiBlNGVmMWIxN2RhM2RiYzViOWJjMjFmMWEwYzZhMDI3ZDZiYTQ1MzFhIGFscGhhMTAwCiszNzI3IGNjMzExOTE2NGQ1YzJmMzY1ZWM3MjA2Yzk5NDM1NjU1MzI5ZjViYTUgbGVnYWN5LXRydW5rCiszNzI3IGFiYzJmOTgxNGNjOTY4NTVlYWVjZjA4NWZlNmYxMDhhM2VhY2UxZjUgYWxwaGExMDAKKzM3MjggOTQ0Y2M3YzY0ZTdjZGQ5NjEwNTczMGQwYzFkYTU5OWNmYjUwYTc5YSBhbHBoYTEwMAorMzcyOSA5ZjI4OGNiNTZhYjUxZjdhYTQ4ZjRkMzdmNjc4NGI1MWY4N2U3N2Q3IGFscGhhMTAwCiszNzMwIGE2ZWJiNjhkYjM0ZWI1MTYxZmQzMWY5NTY4ZDFjZWNkZjNkYTBlNzEgbGVnYWN5LXRydW5rCiszNzMwIDc3ZTBlYTYwNzk2YWU0ODRiY2RhNmVmOTYwMzJkMDJlMTEyMWM1ZWQgYWxwaGExMDAKKzM3MzEgYTc1ZjcwY2ExYmUwYTY0YzNlNzE5MTU5ZDkzZDVkYmEwM2ZmYTM2MiBsZWdhY3ktdHJ1bmsKKzM3MzIgZjUyMGI5YzdhZTZmNjVkYjEwN2E4MGM4Y2VjMTM2ODRlZTY2YzFlNCBsZWdhY3ktdHJ1bmsKKzM3MzMgNTY4YzYwNmEwZTMxMWI2NTQ3OWQ2YzFhYjhhN2IwOGI4MDA1ZmE0MSBhbHBoYTEwMAorMzczNCAxZjdkYWQ1NzZhODUxZDFiMWY2Y2FkMjJiYTI2N2RkNjJlN2I1NjZiIGxlZ2FjeS10cnVuaworMzczNCAyMDRiN2U3OTNjMTViNGJkMWQ0MGFkZTU2NTZhNWVkZmVkYWRjYWU3IGFscGhhMTAwCiszNzM1IDc4M2VmMzYxZjM5NTE1YThhZWY1NTY5NTgzM2UzYWM0MTA5ZTM3YWEgbGVnYWN5LXRydW5rCiszNzM2IDg5NjVlZjRlYjM5OWFjNDc2ZGNiZmViYTdiYTQzMWFhNWQ5YTZlZWEgbGVnYWN5LXRydW5rCiszNzM3IDM2NjRjYjg4YTAzMDA4ZWRiY2M3Zjk3NDg0ZTg1NThkMTg0M2I2YjcgbGVnYWN5LXRydW5rCiszNzM4IDUyM2Q0MjExODhiOTNhNTM3YWIzYjI0NzExMDIyOWI4YjI2ZjY5NGMgbGVnYWN5LXRydW5rCiszNzM5IGFlZTU1ZDk2OWExMjI0MWE3OGRkMTdkZWUwNmFjNzI4MTJiY2M5YWMgbGVnYWN5LXRydW5rCiszNzQwIGVmMDgyYzEwNzJhNzExNWRiZmMzMDM2ZWM2M2ZjZGYxYjg5YTVjNzkgbGVnYWN5LXRydW5rCiszNzQxIDViMjU1YTM1ODgzMzBiNTg4YzBjZDg1YjE3NjJkZTY1ZGMzN2RlMjcgbGVnYWN5LXRydW5rCiszNzQyIDkzOWE5NWYzZGNkZWE0MzFiODM4YmJkYjNiMzJhYmNiYmMwMWY2Y2EgbGVnYWN5LXRydW5rCiszNzQzIGJlNjgwMGE2MDE5YjRkNDIxNDcwY2M1OTgyY2Y1MjlmNjMxOWYxOTAgYWxwaGExMDAKKzM3NDQgMzY0MmM2NDQ3MmMwNzhhNjliM2Q4ZWZmM2ZjZTk2MzE1YmIyZGFhNiBhbHBoYTEwMAorMzc0NSAzNjQ4ZWRkMzQzZWI0NGM2NDEwZGRkZDg4MjRkMDQ3OWIwMzA1ZjE3IGFscGhhMTAwCiszNzQ2IDZkMjRiOTlkYzg4MWI4ZjM3NjFkYzBmN2VjYjRlOWZlMmRiOGNmNWYgYWxwaGExMDAKKzM3NDcgYzhiNzE0YjliYzVhYjJiNWNmNjAxN2MyMjAxNWM4ZDViMzA3ZjJmNSBhbHBoYTEwMAorMzc0OCA1OTk0OTQ5YTdlZTlkYjQwMWI5ZTZjYjUxZDA0ZTdkMzMwNTRmY2E4IGFscGhhMTAwCiszNzQ5IDFlMjY5NGEwNjkzOTg4YmU0MDk2OTczOTBlZmY2YTA1Yzc2MjE1ZDcgbGVnYWN5LXRydW5rCiszNzQ5IDkxYmFkMzc2YjRiY2U1ZWI0NmMyMzg1ZDIxMmUzNGVjNjU0ZWEwMWMgdW5sYWJlbGVkLTEuMS4yCiszNzQ5IDJlYTgxM2FhMjYwMmZjOTU2NDgxZTRmZGU4Nzk2ZjM1Y2JkMjFiMTMgYWxwaGExMDAKKzM3NTAgZjlhZGI4OWYyMDAxNmE5ZmE2NDU4MDA1NjdlNDIwMmMwYzUyYTRkMCBhbHBoYTEwMAorMzc1MSBmYTllNGRiNzkxMWRhOWZmYzA2M2FlODNiZTU1OWI4ZWMwOWYyZDlmIGFscGhhMTAwCiszNzUyIGM1Y2UzNTg0MDAxMzBhOWNjOTM2NGM5YmQyMTZmMTk1ZDlmNjY3ZTcgYWxwaGExMDAKKzM3NTMgMDcyNjdlZDEzNzEzNTkyYzAzMjk3YjA0MDI1ZTA5NjYzNTYwMGU4OSBhbHBoYTEwMAorMzc1NCAxZjg0MTc4MGVmYzIzZWVkZTA3NzRiNjAzZTYxYjg4OGMwMTk3YmY0IGFscGhhMTAwCiszNzU1IDI3ZjM5NWFmZTYwZjY5NjZkZTczNWQ3M2ZlMzdlMWFiZDYzZTNiYmQgYWxwaGExMDAKKzM3NTYgZmRiZDg5OGJjMWZlNjJkODQ3OWJhYTE5OThiNDZiODgyMDcxYjBmNSBhbHBoYTEwMAorMzc1NyA0NDg2M2M0OWE0MzZiZmEzMDhkMDkyNTM0ZmY2NDc0YTQ5MGE3NzcyIGxlZ2FjeS10cnVuaworMzc1NyBhMWFlZTc2OTliZWE2NTRlNGRmZGY5NWYxZjEzZDU1OWIyZTJiYmYyIGFscGhhMTAwCiszNzU4IDRhNzIyOTYyZmI2OTcwOTQ2NTNlMjIwYzZkYzRmODc5MjNiYzQ3NmQgYWxwaGExMDAKKzM3NTkgNzUzOWNjYjc3ZDI4OGFhOGU2YWVjMmVjNjg0NWE0ZDgwNDU3Y2YxZCBhbHBoYTEwMAorMzc2MCAzMzM2Y2RjZDRhNWZmNmM3NmIxMDE3OGQ2MGNkYTQ0ZDlkOGNiNWIzIGFscGhhMTAwCiszNzYxIDQ3MmEzNDdiYWZjY2M0OTgxM2E3MGRlZTNjOTI4MTEyMDE1NDQyODIgYWxwaGExMDAKKzM3NjIgMTMwYjA0ZmM1NGRjYzY5OThlMjBiYjJhMTQ5Y2RlY2UxOTc2MTU4ZiBsZWdhY3ktdHJ1bmsKKzM3NjMgZWQ0YzExNmI1ODkzNGU4MjgzNjUxOTA2ZGE1YzY0MGZhOTFmM2M0OCBsZWdhY3ktdHJ1bmsKKzM3NjMgODExZWY2ZWQ0Y2ExYmI0YzMyMWM2N2UyZGRmZDQzOTdlNTQ4ZDc3MSBhbHBoYTEwMAorMzc2NCAzYmI3ODhhMWRkYTA0NmRjZTVhNTUyMzBhOTg0ZTE5NzQyYTFjMWZiIGFscGhhMTAwCiszNzY1IDJiYmExODhjNmFkYWRlMzZiNzVkYjQxYzFhMmM2ZmU1YWVmMjhkNDUgbGVnYWN5LXRydW5rCiszNzY2IDA2MTA2MmY4YTliZmQ3ZGIxYjRkNjMxNGM0NzJiMzNjMjg4YzcwOTMgYWxwaGExMDAKKzM3NjcgMDkwZDBjZDk2MWFmMTc1MGVmOGRlNjhlNTU5ZjBiOTlkMzgxZjkxZCBsZWdhY3ktdHJ1bmsKKzM3NjcgYzIzYzFhYzkyMjA4MjQzZTQzNDgxMWY5ZGQxOWNjN2ZmYjE1MmU2NiBhbHBoYTEwMAorMzc2OCAzNWRiNmZjYTRkZjRkNzJlYzJiZmY3OGU5MmIwYjM0Yzk4ZjI1ZTYzIGFscGhhMTAwCiszNzY5IDA4MTczMmM2YzExMjk4ZDBhMDVmYzFhN2QwYTI0YTI3MDg4MTEzOGYgbGVnYWN5LXRydW5rCiszNzY5IGM1Nzk4NzViMjk4MDc4ZTU3Y2M1YjE2N2IzYmRkZTIyNzY2MjEyZTggdW5sYWJlbGVkLTEuMS4yCiszNzY5IDc0ODE5MDQwZTcyNjU3OTE2ZmI0MGJhNGJhNmFjZjBlOTZhMDAyMjIgYWxwaGExMDAKKzM3NzAgMDlhMmE2NjFlOGMwNTEyMWJkYWI5YWNiMjQ4N2IyZTI0ODVjODdhYSBsZWdhY3ktdHJ1bmsKKzM3NzAgNWYwZjhiZjdiMzVjZWQ1ZTMzOTU0MDdmOGU1OGFlMzQ1NmQwZmU4YSB1bmxhYmVsZWQtMS4xLjIKKzM3NzAgOWI0ZjllODIxZmQ0NmViNzExMTJkOTMxYzQ0MjllYWM0NjQxNDlhZCBhbHBoYTEwMAorMzc3MSA3YzNmYmM5N2Y5NDY3NzBlYWM0MGQ1MmY1YmE0OGU2Y2NlNzdiNzIzIGFscGhhMTAwCiszNzcyIGJjNWM5MjUwOGY1NjAzMDEyMGVlZjBkMTgxMTIzNDBkNTFkNjNiOGYgbGVnYWN5LXRydW5rCiszNzczIGRjYzk1YTEzN2E2ZjkxY2U5NTYxMWVmZDlhZDM4YTQwNmI4MmFlYjYgYWxwaGExMDAKKzM3NzQgM2I2Zjk1MDUzMDQzNjA4MGI3ODMzYTQyYmQ4MzFlMmRjNjlmMzY4OSBhbHBoYTEwMAorMzc3NSBlMjEwYTRhM2Q5ZjBjODZhYWJiOGM1NjExNGFlNWM2MTc4NWJiZDMzIGxlZ2FjeS10cnVuaworMzc3NSAxZmYzN2ZmNmFmZjRlNGQ2YjViMTJlMTg3YTM0Y2RjNTk3ZmE3NDY0IGFscGhhMTAwCiszNzc2IGEyN2Q2ZWMzZmQ0YTU5OTlmNjIwMGVkNzkxZjRhYzgzMjkwNGQwNjkgYWxwaGExMDAKKzM3NzcgZDY4ZjZjYzI2MTFlY2UzMjNkNzIwMTZkMTUyNDcxODcxODE3ZThjNyBhbHBoYTEwMAorMzc3OCBmNWMxOTc5YmVhN2NkNWMyY2EyYmFkZjNiODRkZTllYjNmNGMxYzcyIGFscGhhMTAwCiszNzc5IDU2Y2JmZGYzNzI1NGM5ZTA4NTdhZDFjZGRlMWQ2NWZlM2NjMmRhY2EgYWxwaGExMDAKKzM3ODAgYzI4NjhlZjI4YmVlMmIyZjFkMmJlYzlmMzAyNDI3MGEwYzJlYWYxOCBhbHBoYTEwMAorMzc4MSAxYThlOTBhMzczNTdiYWU3YjRhYmE5MjJmMWYwYWIzM2JmZGNlZjZmIGxlZ2FjeS10cnVuaworMzc4MiA4ZTk3YTY4YjJiMTdkMDFkYWM3NDU4NjM0NGZiMDY4Y2VjOGY4ZTY5IGxlZ2FjeS10cnVuaworMzc4MyBiZGJlNmQ4YTdhOGY4NmZiY2EyYjdlMGFiZWI5YWM3ZjUwMjg5NWNjIGxlZ2FjeS10cnVuaworMzc4MyBhNGY2YmEyZTQ3ZmZkNjMzYTI1NmQyNzg1N2E5ODlkYzA1MDVhMmZmIGFscGhhMTAwCiszNzg0IDk3ODE5NTY1OGU5YTM3ZTIwYjljMjA5NmFmMzYxNzQ4NDliNDEwM2MgYWxwaGExMDAKKzM3ODUgMDk0MjBlMmU5Mzg4NDVhMGQ1YWVmZmU5M2FkNDk0NGJmZjliNDEzMSBsZWdhY3ktdHJ1bmsKKzM3ODYgZTQ1OTQ4ZTJiNjZjZTQ4NWFkZTQ5MzJhOWRhNTRmZTk2NTVmODU1MyBhbHBoYTEwMAorMzc4NyBkZDZlYTE2N2YyYmQxYjc0MWM3MGZlODg2YjkyYTUwOGQzZjIzMzBmIGxlZ2FjeS10cnVuaworMzc4OCAwZjg4Zjk2NWJmZjI3Yzg4Njc1ODE5NzIwYWIwYzdlNTJlMDUxMWQ4IGFscGhhMTAwCiszNzg5IDMzOGZlNThiMmM2NzczODU4ZWEwMjJmNDVhZTMyOWIwODdiMTc0NDkgYWxwaGExMDAKKzM3OTAgMTQ3ZTk5MTk4ODM4Y2M2N2ZiODEwZDgxMWRlODFiMGIyYjZlMGFjMiBsZWdhY3ktdHJ1bmsKKzM3OTAgMjBmYmQwNDM0ZmI2MzRkZmMwMGI3N2FhYTNkYjMzYzRmNjNjNmM0NyBhbHBoYTEwMAorMzc5MSA3Njg5MWQwY2Q1ZmRhYzFlNDUxMDRlMzI4OWNmOGI3YWIwMjRiOWE1IGFscGhhMTAwCiszNzkyIGRjOGFlZDhiMjA0ZDE4ZmZkNzkyNDE1ZWY2NGQ2Mjk5OTA1MmIyM2EgbGVnYWN5LXRydW5rCiszNzkzIDhiOTA4ZTk5Mzk3NTdkYzM1MTI5MTAxMzU4Y2MyNGFmMzNhMWM4MzIgYWxwaGExMDAKKzM3OTQgODhiYTVkMTdmMzBhMGY1M2FiZmMzNjcxYzE3YjNlNDFjNGJkZTRlNyBhbHBoYTEwMAorMzc5NSA1ZDVlYjc2YmIyNzhhYTZjMTVhMjkyNDRlNzc2ZDJlZTZlNWQ5NWYwIGxlZ2FjeS10cnVuaworMzc5NSAwN2U0YzU3MjZmNzg1Njc4YTRmODgzODFiZjU4NjVjOTU0MzI3NjNiIGFscGhhMTAwCiszNzk2IGJiYTgwMDg4YTA0NGEzMzg3OTA2Mzk0NGQ5YmQ0YTdmMWNmYWJlYTUgYWxwaGExMDAKKzM3OTcgYzIzY2NhZWM5MjQ5MzI1ZDNjM2YwOWRhYjk0OTVlYzk2OThiMjRlZiBhbHBoYTEwMAorMzc5OCAwMzY4ZWY0OWZmNGM2MTc0MGMxNjNhYWE2NzI5OGM2Nzg2ZTkxYTQwIGFscGhhMTAwCiszNzk5IDUzZWNjZWQyZjJiMmExODRmMjM2MWYwYzliOTFhYzAyZjNjMWI5MmUgbGVnYWN5LXRydW5rCiszNzk5IDdjZTQxMjI5NWNhM2NhYjVhNDJmYWNkZWFiZjIyMGZiOGYxMDUyZDMgYWxwaGExMDAKKzM4MDAgOTdjNWU2MDdiNzk3NzMyNjdkMjg4YWY4MDVjMzM1YWViNDkxYzczOCBsZWdhY3ktdHJ1bmsKKzM4MDAgOGQ4YjdkYzk5OTgyZTM2MWQ2ODViYjAzZjUxMzA0YTJjN2ZhNThkOCBhbHBoYTEwMAorMzgwMSBjOWIzZjc3ZTE4YmFlZmFlNWE5MmQ5NTg1ZDRmYmRhODBhMjk5Y2NiIGxlZ2FjeS10cnVuaworMzgwMiBjM2Q3ZjgxNGIyZDA2NDAxYzdiMGNiYmJkYjljNjg4M2M2ODU2NTE3IGxlZ2FjeS10cnVuaworMzgwMyAyNjAzYjQyMGM1ZGVjYWM1MTc4YzQ0NjZmN2M5ZTNlNmE2ZWNiN2E2IGFscGhhMTAwCiszODA0IGU5YjBjY2UzYjk4MDkzZTBmNzRkYTQyN2NjYTljMmExMGQ0YzJjZjEgYWxwaGExMDAKKzM4MDUgMTdlNWM5NGY4NjJmNzY3OGYwYTQ4YmVmYjk5OWRlMTcyMjZkYTEzNiBsZWdhY3ktdHJ1bmsKKzM4MDYgMTVlMWI4NjEwNGE2ZTYxOGY5MmMyMTdmZDYzZDc4NTIzZDRmZGJhYSBsZWdhY3ktdHJ1bmsKKzM4MDcgOTk1YThlZjRhNWMwNGYzZTY4MTE4MTY4YmUwN2EzZWI4OTI0OWVlNSBsZWdhY3ktdHJ1bmsKKzM4MDggZWQyMTFjNzYxMDg1OGJkNmQ1OTRhMjA3MDdlMzVmYTI0MmJkNTAxOSBsZWdhY3ktdHJ1bmsKKzM4MDkgODdjYmY5ZTIyNzI5OGU2YTliNjUzMmJlOTJhNzcyYmVhNTUxMDBkNyBhbHBoYTEwMAorMzgxMCA1YzZjOTkwNjZiMmM3MTA5NjI4ZmY0MDNjOGRmNWY2ZjhiNTlhNzhkIGFscGhhMTAwCiszODExIDQ4YWVjOWQzODUyYTk1MjkxOWMwZGM4MmZhODFkNzA1MDg2MmVkOGUgYWxwaGExMDAKKzM4MTIgODY5ZmJhODA5YzY4OWUzZDY0YTYzNDhmOTVmNDMxZTQyYjg2OWE5NyBsZWdhY3ktdHJ1bmsKKzM4MTMgNWMwMTkzMWRhNTliZDFkMThlMzY3ZWMzYTliMTc4MmNlM2U3OTQ4YiBsZWdhY3ktdHJ1bmsKKzM4MTMgN2MzNTdjNmEyOGJkYzg5ZGVkOGE0OWU2ZWI3NDg2MzIwYjNmMGFkMiBhbHBoYTEwMAorMzgxNCA3ZWNkNjM4MDU2NmNiMzE4YjJjZTJkNmQ2ZWVlNjMxMjVlZTAyZGYzIGxlZ2FjeS10cnVuaworMzgxNSBlMDUzYTg3ODI4ZjQ0MjYyYjNhZDI2MzkyYmU0M2U0MTRjOTk2ZTllIGFscGhhMTAwCiszODE1IDk3OGJmMTM0ZjQ0YWI3YzNjODRjNDc2YTI5MWU3ZjRlZDk3ODM2YTYgYWxwaGExMDAKKzM4MTcgOWZiZjM0ZTFjMWY3NmJmMTQwNGY4ZWJlNmMyYjI2MzcyNDQzZTQyMiBsZWdhY3ktdHJ1bmsKKzM4MTggNWExN2M0M2RjZmYwM2NkOTIxMGQ1Y2NjNWE4MzUxODlhMTc4NDQ4YiBsZWdhY3ktdHJ1bmsKKzM4MTkgNDA0N2YyMjRlZmRiMGVjNzg4MmRkYWJlYTI4MDIyMDc2N2RkNTlmOSBsZWdhY3ktdHJ1bmsKKzM4MjAgNjMwZTAzMTA5YzYzOGRkMTZjZGU5Mzc4YWZhNDExZjhjMjlkMWY2ZCBsZWdhY3ktdHJ1bmsKKzM4MjEgZGYwYWVlNjQxMTRiY2YxZjkyMzk3YmM4ZmM4NDQ3YWI2MTRjYmJiZSBsZWdhY3ktdHJ1bmsKKzM4MjIgMWZmNmNlZGQyMjQxMmRlZDc1NzQxZDlhNGQ3ZmM3YWRhNTBiOWJjNiBsZWdhY3ktdHJ1bmsKKzM4MjMgMWMzNjQ0YmFiODZhYjUzZjJmMjkyNjQxMTFkM2Q4MmFkMTE4NTZiNyBsZWdhY3ktdHJ1bmsKKzM4MjQgYjY4ZmI3Mzk4NWQ4MzZhNDMyMGFlYzBjNmQyZDMxYTYzNDI3YWQxMCBsZWdhY3ktdHJ1bmsKKzM4MjUgNDQzNDcxZmYzMTQ3MGEyZWIzMjMyOTBiNjJhZDhlMjFhNjkwM2E2YiBhbHBoYTEwMAorMzgyNiBiYTI0ZmM4ZDNmOGM1NWRmNWIxYzQzYmVlZmQxMjM0NDE3MWY2OGY3IGxlZ2FjeS10cnVuaworMzgyNyAwZWZhMjQwYjFkYmMwNTdkYzQ0ZmExZDQ0ZDRjNGQ4ZmVkYWM1NjM4IGxlZ2FjeS10cnVuaworMzgyOCA1MDU1MzA4MTUyYTRlMjg3N2I5ZTVmOTcyZGUyN2FlODczZGIzMzg2IGFscGhhMTAwCiszODI5IDVjZWY0ZjVhMjhjZWRmY2E1ZmFkZTgyNWVkZmM2MGIwN2ZmNmU4ODggbGVnYWN5LXRydW5rCiszODI5IDllYzdkNmY3NzUwMGNhMDkwYzIxOTFlMGIzYjQwYzY2YTNlMGZlNzcgYWxwaGExMDAKKzM4MzAgODFmMjZiZjExNzhmOWUzNzEwYzA4YWRmNmI4Y2M5NDJiMTZmZmQxNiBsZWdhY3ktdHJ1bmsKKzM4MzAgZWUzZDVlYTEzYTM3YjkyYzZlYzA1OWVlOWQ4Mjk4NzNiMTYxOTY0MiBhbHBoYTEwMAorMzgzMSA0OGFhM2QzMzE0YWMxNzFkYjVjZTE3ZjY1NmU0YjRjNzEwMDBlMWEwIGFscGhhMTAwCiszODMyIDk4MDYyNmVjYWQ2MWQ4ZDA1NmYzOWZlYzRlMmJhODk0MzRmYmFkYzYgbGVnYWN5LXRydW5rCiszODMyIDVjMzUwNjMxYzgzOTYwNWExZDNhZGM1YmY0M2NhZjE0ODA1ZDFmMWYgYWxwaGExMDAKKzM4MzMgM2U2NWJmZDE1NzZlZDk4YTA4YTE5NmM3MTZhZDVjODJhMzA0MTFmYyBhbHBoYTEwMAorMzgzNCA5OTMwMDg3ZWE4ZjVlNmU4ZDdjYzU0MzI2YTZmYjg0ZWEyOGI5Yzc1IGFscGhhMTAwCiszODM1IDhjODlmNmVmOWY5ZjhmNTQ3ZDU3Yzg1ODZlMzBlZWI4M2RlZjM0MzQgYWxwaGExMDAKKzM4MzYgY2I1ZmQ4MDA2OGNlZjI1Njg5ZGI3ZGNiYmRmOWUzNzE5Yjc5ZThjYSBhbHBoYTEwMAorMzgzNyBiYWZjNTMzZTBlYjZhYzVhYTVmMDgyZWNjZmJkMzE4Mjc4ZjZjNTQ3IGxlZ2FjeS10cnVuaworMzgzNyA3MDMyYThhMmM0MmM1MjI0ZTNjZjUyZjNjODg2ZWMzNmNiNTNkMTMwIHVubGFiZWxlZC0xLjEuMgorMzgzNyBjOTZmYzQ5N2I5MzJmNWRkMjg2MDNiMWRiZGM1MWUxYzllYjdkMDQxIGFscGhhMTAwCiszODM3IGIxNWI4Y2M5YjhkMTBlMDM1MmEwYjhiN2U4ZDUxZmEzMDlkYjZkZjMgbGVnYWN5LXRydW5rCiszODM5IDI2OGU1NzYzMDAxNjIwMjgwODYwOWUxYTg2ZDBkYjA4ODM4ZDY5MjUgYWxwaGExMDAKKzM4NDAgYjcwZjA4OTA3NTQ2MTdiZjNmODU4MTI0Y2ZiYjdjMDUxNzA2YjQ5YSBsZWdhY3ktdHJ1bmsKKzM4NDEgNmY1MmI1Mzg5Yjg4ODE3ZDQ0YjcxNDg4NzFkN2MwNzA0OWFhOTc3OCBhbHBoYTEwMAorMzg0MiBlMzgwYjRkNTRmZDM5ZWFmM2FiODlhMWM5NGUzYWQxODk1ZDY5NjhmIGFscGhhMTAwCiszODQzIDVkZmQxZDUxZDY2ZGVhYTU2NWU1YTc3MGU0NmNmMDBkODBlYWE1ZWEgYWxwaGExMDAKKzM4NDQgNjk2NmQ5NTdiNWIxZTc1MGY2MGZkZTUzN2IzOWE1MGQwYjhjYTVlYyBhbHBoYTEwMAorMzg0NSAyYjVmOGIyMDIxYmZkNzMwOTRjOWY4MjI4ZWU0OGY2NjI0ZGM1ODE3IGFscGhhMTAwCiszODQ2IDhkZjcyZTU4ZmE5ODAzMmM3ZTQyNjFhMTUyYzQzNDg0MDZhMmE4ODEgYWxwaGExMDAKKzM4NDcgYWQyMTY4NzZjNDdmYmZmNzA0YjNhZDIxMDVkOTlhMmE1YWI4OWMyNCBhbHBoYTEwMAorMzg0OCA4YzY4MTRmMzRjZGQ5MzZmMDczOTBjM2QwN2I5ODE1ODhjNGZkYjBmIGxlZ2FjeS10cnVuaworMzg0OCAyMmI3ZDM3MzViZDI1ZmVjM2ZjY2U0MTZmMzRjMDhmODk4OGUyNzY5IGFscGhhMTAwCiszODQ5IDZkMzUzMDgyNjFmNGY3NGQ4NWMxMDNiOTc1Yzg0MzRlNDA3Nzg1YjkgbGVnYWN5LXRydW5rCiszODQ5IDc3MjNlMDAwMzk4ZGE3NzQ0NDlkN2VmZDY1MDU4YmMxOTI0OGU1MGYgYWxwaGExMDAKKzM4NTAgNTk3MzM1NGZiNDk5NTRmNzI0NjVmNzEzMjJjYWVjYWI0NmFkMGM3NSBhbHBoYTEwMAorMzg1MSBjZDI3OWUwZjc3ZDg1M2YyNjNjYTc2MzU4MGZlYzEzNTM1OTZkNDc3IGxlZ2FjeS10cnVuaworMzg1MiBjMzQxNWIzMTliNGU4NjkyZjljNjRlMjc3YTQ3ZmJjMTZiOGUxOGZkIGxlZ2FjeS10cnVuaworMzg1MyAxNzJhYTBlZWViNmY3Y2JmMGI3NTQxZmZkZDgzNzg4YWFkYjExZjk0IGFscGhhMTAwCiszODU0IDI3NDA2NmJkZTI0MTIzY2FjMDU2MzVjYjU5MjM4YjAwNmNmZTQ5YWEgbGVnYWN5LXRydW5rCiszODU1IGRmMGZiNzg4YzBjMWY1MDY1MzMxMzg4YmIzOTFjNjRlNDQ4NTBlN2MgbGVnYWN5LXRydW5rCiszODU2IDllMzQ0NDhhMDA1ZWQ3NWZiMGE1YjU5NTc3MTRmNGM3YTJjY2ZkZTIgYWxwaGExMDAKKzM4NTcgMTZkMWRhYjNmMmMxYjliMzMyYTc2NTAyYWViMDZlNzNjZTkzYjhhYiBhbHBoYTEwMAorMzg1OCA4Y2M5MDhiMGQ4M2JkZTI1ZWYxMTljNjUyNzk0MDc2NTJhZjA5ZGRmIGFscGhhMTAwCiszODU5IDMyODZiZmY0NDNjNmEwNjYwYmNkNTgxYjFjNzQyMWY4Y2Y4YjRkNjEgYWxwaGExMDAKKzM4NjAgMjc0YjkzYjEyMTEzZjU4OWE1NWQ4ZmE2ODRjODA4Y2E0OGNiNzE5ZiBsZWdhY3ktdHJ1bmsKKzM4NjAgZTVkNjY1MjMxYzU4OTRjNjM2MWIzM2M4YTJhMDdiYmNlOTI3ZDBlZCBhbHBoYTEwMAorMzg2MSA4ZWFiMmVlNDBmMzJkYmRlZDhhYzY0ZTJkY2JkOGViOGE2Y2M3NWQ0IGFscGhhMTAwCiszODYyIDI0OWZlNWUyNGUyMGViOGQ5ZTNhNzcyYjdiZWMxNjc3ZmQyZTVmODIgYWxwaGExMDAKKzM4NjMgOGFhYmU5YWFlMGZhMDdhNmFhNTQyZDFmZjhjMjgyYWVlNmM3NmM1NCBsZWdhY3ktdHJ1bmsKKzM4NjQgY2Y2MGEyYjI0OTc5ODU4ODlmOGJmNDFiMDE3NjU1MTM2MGJhMjlhYSBhbHBoYTEwMAorMzg2NSBmNGRiOTJlZWYyYWY3MTdiNGVjZmQ3NTUxYjRiMGY1NDc0NWIzNTEzIGFscGhhMTAwCiszODY2IDAyMGQ4YzJkOWQzY2ZiM2QyNjg1YTA0YjM2ZDM2YmYzZDVkMzQzYjkgbGVnYWN5LXRydW5rCiszODY3IGJkMWE0ZDcxN2U5ZDFlZTQ0ZWE4ZWEzYThmZWNlNzQyZWVjMmZjZTIgbGVnYWN5LXRydW5rCiszODY4IDc4MGYzMzViZjUyNGI3MDU5YWU2NDI1NWY5MDllMDBlNmJiNWE5NGQgYWxwaGExMDAKKzM4NjkgNTlmZDQ2ODZmODhjYTY0YjRiN2IwM2U4YTYyZGIzNGFiNDNjM2YwNSBsZWdhY3ktdHJ1bmsKKzM4NzAgYjNiZmY1ZWQ1ZDNkMDg5NDFjYmQ0ZDI1Y2Y4NDQ5MmU3MzJlZWM4MiBsZWdhY3ktdHJ1bmsKKzM4NzEgOTYwMDU1MzkwMGQ0N2VhMTQwNTAyODNjZDhlZTlhYmFkYTQ0MTdmNiBsZWdhY3ktdHJ1bmsKKzM4NzIgYjMzNzIwZDBhZDk3YjE1Mzc5NjE0OWVkNWE2ODgzMTljMTU4YTM0OSBhbHBoYTEwMAorMzg3MyBjZGFmYzk1MWU4ZThiMzBmZDEzMjA2ZjRiODBkZjE0NWUzZTNkZDhlIGFscGhhMTAwCiszODc0IGRkZGNiYTIwMzhiY2I1YjJmMTlmZGYwZDVmY2JkNTNmMjA4MGU4M2MgbGVnYWN5LXRydW5rCiszODc1IDdkMjFjOTIzYjU0YWViZjNjZGQ3MzFkZmY1OTIzOTg5NjM1NDE0MGUgYWxwaGExMDAKKzM4NzYgOTAzNzk0ZGY1ZWE5ZWVkNTVhMzAwYWNmMmY3NjFjNTc4ZjI2NGE5MSBhbHBoYTEwMAorMzg3NyBlNDQ0OTlhNDRjYjhlMzc0ZTM1YmJmNTRiM2FhNmJmYTBmNjE3NzA5IGxlZ2FjeS10cnVuaworMzg3OCAzNzAwNTBjZDBiNmM1MDFlNjAzNDhiMDlkNGJmYmFlZTI0M2JmOGFkIGFscGhhMTAwCiszODc5IDhkMjZlZTI0YWQxODJlYTBlOGFiNjcxYTQ3Zjk4ZDc1OTE3MmMxYTkgYWxwaGExMDAKKzM4ODAgM2FjZjgxOGYzNTQ4MzFmNDYyMzY3NTUxYjFiZWMyMGE1MjliYmEwMyBhbHBoYTEwMAorMzg4MSBjZGIxNDA0MWNjODdiYjY0MGFkMDRiMDRiMjAyZmNmYmNlN2JmZGVjIGFscGhhMTAwCiszODgyIGFjYmE0NDI3ZTg5YzcwMDA3NDhmOTg0YmRhNmViMjNhNWZjMzcyZWQgYWxwaGExMDAKKzM4ODMgM2QwMTY5OTkyNjRhYzJjNzNlYzhkNmI0NDBmMWQ4NmY3ZDU4MjFjNSBsZWdhY3ktdHJ1bmsKKzM4ODQgYWYzZjJhMDNiYjE4ZmUwZWVmOTdkOTZlZDRlYTE5YTEyMmE5MmFmZSBhbHBoYTEwMAorMzg4NSAzY2RkYzY3YmUzZjU3NTY2MmNmNzM0YjUxMjQ3MWVmYjUwMGY4NjI2IGFscGhhMTAwCiszODg2IGFlNGI5Y2I1YmExNTYxMTI4YWNiY2NjMzk3YjAwNmYxODEzOTA3MjQgbGVnYWN5LXRydW5rCiszODg3IDA2YWE2MDhjNTg5ZTg2YzU4NmJjMWNjZDI2MGZmNWI1ZjRmOTAzZDYgbGVnYWN5LXRydW5rCiszODg4IDkxZjg0NmY2ZDZhNjFkMDQzZDBlNzI0Zjg1Yzc4NGQxNGE3MTVhNTIgbGVnYWN5LXRydW5rCiszODg5IGVhY2FhNGYwNzgyNmQ5YTAwYjIzZjIxNjA0OWQzZTM4YTg3Y2E0NjkgYWxwaGExMDAKKzM4OTAgMmEwZDQ5OTc0MGI2MjRiODgwNzI0Mzk4MzNmMWViZTA2YTc2NTQ5OSBhbHBoYTEwMAorMzg5MSA4MzYyMmI3YTAwYjUyMzhmODMwNTkwNmNmOGUzNGM4N2NiYzA0OWRhIGFscGhhMTAwCiszODkyIGVhYWJhMmNhZmVlYjljMzQwNzg5ZWEyYmE0MzQyMjFjMzk1MzExODkgbGVnYWN5LXRydW5rCiszODkzIDJkMGVjZTU2MDQwNjlhMTYyZjc5NDM0MGJlYjFhOGM4MDQ0OGE2OTYgYWxwaGExMDAKKzM4OTQgNzJmOGUxZTYxNGYwNjMwMzU3NzU5M2M3MWQyMWZkNjkxNTVhOWE1NyBsZWdhY3ktdHJ1bmsKKzM4OTUgNDU3MjhiZmVjYjc2OGYwMjEyODU4NzdjNjE1MWZhOWU2MDFhMzI4ZSBsZWdhY3ktdHJ1bmsKKzM4OTYgNjk1ZmI0OTRhM2EyMmZjOTM2YjQ0ZjUzMGQ4NTljZWNkMTdiYTBiMCBsZWdhY3ktdHJ1bmsKKzM4OTcgN2JmNmIxMjhlOThjNDg4NjhlNTNkN2JmN2JiYWMyNTkyODhjOTAyNSBhbHBoYTEwMAorMzg5OCBmMzI2Mzc1OTY3OGVmMzg0NzJmZDFjMzg2NzE2YTFhZTAyY2IyMjg5IGFscGhhMTAwCiszODk5IDQ0NGUzNDlmOTYyZjBhZTMwMDY4MjUyZTU5ZGJlNTc3OTFmY2M2ODAgbGVnYWN5LXRydW5rCiszOTAwIGIyMWYwNDhjMjNlOWUwMjg0NTBmMWYyZWM0ZDA0YWViNTcxMjliYzQgbGVnYWN5LXRydW5rCiszOTAxIDI4OGE0NjA2ZDJmZGUxMDA2OGRjNzljZWE2YWNkOWY4MDc0NTU4NTYgYWxwaGExMDAKKzM5MDIgMDIxZGFhYmU2OWQ4Nzk1NjYxZjc5ZjY3ZWFlYjI4MmZmMzk2YTUwMCBsZWdhY3ktdHJ1bmsKKzM5MDMgYzE3MzYwYTE2NTg3MDM4YzViZWJiZjNmZGU5YjFkZWU3ZDNhM2YwMCBsZWdhY3ktdHJ1bmsKKzM5MDQgMzJkYTU3ODE4ZTk3YjVmZmQyMDhlYjk2YmVhY2I0YTBkOTgzMGRiOCBsZWdhY3ktdHJ1bmsKKzM5MDUgYjk2MzRiZDVjYTU1YTk4ZTJlZmQ2YjI3OWMwZDkyOWEwZGRmNmM2MSBsZWdhY3ktdHJ1bmsKKzM5MDYgMjM4NGZhYTUzNTBmM2I2ZDFlMGYyYjEzZjJmOWYwZDA1NmI0NTQ1OSBsZWdhY3ktdHJ1bmsKKzM5MDcgYjNmY2RiZDJkOWJiYTUzYjU3ODU5ZTgzMDEyNDJmZTIxYzRiYTMxMiBsZWdhY3ktdHJ1bmsKKzM5MDggOGQ3YWIyYzdlOTkzMzA5MTAyNzVmMDFkYjkxZDhlZWU1NTE2ZDQ1NyBhbHBoYTEwMAorMzkwOSBlOTZhOGNmYmJlZjFiNmEzZGRmNjNlZjkwZmQwOGVmN2Q2ZmU0Nzc5IGFscGhhMTAwCiszOTEwIGM5NjQzNjRhOGY3ZjhlN2MwNGZlNzdlMjk2MmRjMmYyODQyMzYwODcgYWxwaGExMDAKKzM5MTEgYjJkMThmYTUyOWY0ODc2MGNiZGI0YTU3MWQ0MjM1MDcyNTg4YjhhNiBhbHBoYTEwMAorMzkxMiAwNTU2NjE3YWEzMzg2ZTcwZmY0NzBlY2NlMWY2YTYwMzcxZWM0NjEyIGFscGhhMTAwCiszOTEzIGQ1OTBmZmQ1NGY4OThjYTExN2YwMDI3OTIwMzQ3YzFiYzJlOTE5NmUgYWxwaGExMDAKKzM5MTQgNzliYjY4MjcwYzdiMTJjZGIwMzZhMGFmZDYyZTI3Y2VkODVhMTc2YiBhbHBoYTEwMAorMzkxNSA0MWJjZDE4NTNmZWE1N2RiOWI5ZWQ3ZjgyOWI3NzdmOGUwZjhhYTg4IGFscGhhMTAwCiszOTE2IDEzMTMyM2YxNzE1OTIyZmRlYzBhNzQ1YmEwYzlhYTJkOThjOWYxNWQgYWxwaGExMDAKKzM5MTcgODEwMTg2NTBkYzMyNDVhOTZlYmMwNDMwY2ZiMzhmOWEyYjkwYWY4YyBhbHBoYTEwMAorMzkxOCBjMTNiYmRmZWViZmZlNmMxZTBmNGUwYWFkNWE3YmNlMWQwYmJjYmRhIGFscGhhMTAwCiszOTE5IGNhNWVkNTJhY2EyN2E2YThkNzYwZWYwY2I5MTc5MjhiZTI5MTVhMDYgYWxwaGExMDAKKzM5MjAgZmM0NWU1NzdmZjliMjBjZWE4NTM3OWI3ZDI3MDRhZDdlYTc0N2Y2MiBhbHBoYTEwMAorMzkyMSBhNzA0MWQ2ZjdkZTNlMzU4OTc3ZGE5Mjg3OGRjMjQ1NTRkMjBjYTEyIGFscGhhMTAwCiszOTIyIDVlZmZhYWQ3MWJhNTJlNWU2YjQ0MGM4ZDg1M2I2NGY0OWIyOTZiNWQgYWxwaGExMDAKKzM5MjMgYWQyMjcwZTcxZWMzZjBiNjUzYzI3YzI2ZmExNWJhM2NlZGVlOTI5NCBhbHBoYTEwMAorMzkyNCAzNDY5ZDA0ZTNlMzZkNWZjYTg5OWJmNGNiMGM5ZjE1NWI1YTQ3NTEwIGFscGhhMTAwCiszOTI1IGYwNzE0YmI0ZWE5NmExZTEwMDgzMjJlZDViNzFlNDM5Zjg3MzMyNzggYWxwaGExMDAKKzM5MjYgMzM3YWJkYzE1ODRhNDI1ZTU0NDNhODkyN2ZkYTMxYmViYmExNjU5YiBhbHBoYTEwMAorMzkyNyA3Yzc1ZjYwNDY4ZjgwMmQwZjczMzI5NGYxY2ZmYjZhZmJjNTE4YTdlIGxlZ2FjeS10cnVuaworMzkyOCAyMjM2ZDcwOWZmMmRhZWE2MDhmYTA0YmRlYzUzOTFkMjE1OTZkNGI2IGFscGhhMTAwCiszOTI5IDkwYTIwOTkzNzQ3ZDFmMzhhNWEwYzRiYjVmMjUyNDYwYTU2ZDMxYmQgYWxwaGExMDAKKzM5MzAgYzFjZGVlZDhjNTE0NGY1ZWU3MjMzMmU3M2U1ZTA0MDZiZGMwYjVjZiBhbHBoYTEwMAorMzkzMSAzZDhiYTQxODQ4ZmYwZjgyMjU0NDQ1ZTI2OWViMWM4ZTMzMDdjYjhhIGxlZ2FjeS10cnVuaworMzkzMiBiNDU0ZGM5MjQ3YjA3NmI3Y2E1N2NhOTZlOGMxMjRlMGRhMDkyOGE4IGxlZ2FjeS10cnVuaworMzkzMyA5OThjNjQyMmNkOGFhZTAzZDI4YjhhNWQzMmNiYjZjY2I2NjhhMzE0IGFscGhhMTAwCiszOTM0IGJjZjBiOGRmZGFlOWY0NDZkNjEzMWU0OWUyODYyNGQ4MzFiMzhiYjQgbGVnYWN5LXRydW5rCiszOTM1IDdmZGVhZGZhODNlMGNjNjg3ODhjMzcwNDljYmIyODcwYjA3ZTAxYmUgbGVnYWN5LXRydW5rCiszOTM2IGFjMmU1Y2MyOTk0OWQ5ZWQ2YzNlYzA1OTQxNTQ5M2FmNjAxYjMyYTEgbGVnYWN5LXRydW5rCiszOTM3IDU5NGE4YzEyZDY4ODI3NmYyZDIyNzBmOGI0NmMwZWRmMDRjYjBlZTkgYWxwaGExMDAKKzM5MzggZmNhMmZlZGVhNzFjYzY3YWEyMjBiZWZjMjVhOGZiNjFhOTVhYjRjMCBhbHBoYTEwMAorMzkzOSAyYzZmMTMzNzgwMWNjMDEwMmVmNzMwOTZiZjBkZTZhNmMxYWUwMTgzIGFscGhhMTAwCiszOTQwIDEyODdmYjA1OTU4ODhjMDE0N2M0NTVlYjY2MjQ3Zjc3OGQ0ZWVkYTQgYWxwaGExMDAKKzM5NDEgZjY1Nzk0ODg5MzQzNzBhNDQ0OGU2ZTNjM2ZmNzU0MmQzZTc1YWQ0MSBhbHBoYTEwMAorMzk0MiBhYzllMTJiNGVhOGM2NTdiY2EzNGUxOGE3MTE3YjBiNDRlM2RmZTE3IGxlZ2FjeS10cnVuaworMzk0MyAyMGRmNjUzMzc2YjQxN2I5OGUyYWFhZWQzYWRlYjQ3NWFjOTE1ZjMyIGxlZ2FjeS10cnVuaworMzk0NCA2NzIwMTE4NzFhMWI2NDA1OWI4ODAwZmFlMWU3ODdiNDAyNTUxNTE3IGFscGhhMTAwCiszOTQ1IGE1YmRmZjk3MDU5NTFmYTZjZTdhNjRiOTQyMTVlOTY1MDc4OWQ4YzQgYWxwaGExMDAKKzM5NDYgODhkZTIxZWY0YThhMzBmNmE5MTY5Yjg5NmZjMjZhOGM3YWM5MzcxZiBsZWdhY3ktdHJ1bmsKKzM5NDcgYmE2YWM4MmZjYjY4NmRlMTVjYzM2YTdlM2ZkMzQ3NThjNWE0YWQ4ZiBsZWdhY3ktdHJ1bmsKKzM5NDggYjM0NDM1NDZkNmVlNGIwMDk4ZjkyYjBjNTQ0ZWIyNTQ3MWU5MDgzZCBsZWdhY3ktdHJ1bmsKKzM5NDkgNDU3OTAzNTZlMDI0Zjc2MjA2YmMxYTQwZThjYTdhYjUxYjZhMDg1MiBhbHBoYTEwMAorMzk1MCAyMTk3ZGQyNDFkOGRjODYyMTVjYmIyZDlhYmVmODE0YTM4NjZmYjc2IGxlZ2FjeS10cnVuaworMzk1MSBkZWE2N2MyYTRjMDdmM2JkZmVjOTQxMmI2MWI4ZDE0MGY2OTNiMzQ4IGxlZ2FjeS10cnVuaworMzk1MSA3OWFiNGRmOWQwZjVmZjJmMmM5YzNhMzA2ZjFmZWIxYWQyYzUyODE0IGFscGhhMTAwCiszOTUyIDllMGVjZTZlZDgxZDdhMGFkNDU5MzRkNjIxODBjYjVjMTBkMGE5MzMgYWxwaGExMDAKKzM5NTMgY2EzY2NhYTg1MDYwMjZmZGUxZjJiOTY4ZTNjNTJhZTQ3MjE4NDk4MyBhbHBoYTEwMAorMzk1NCBlY2JhZGI4MTg4NDc1MDNiNjhiZmZlMWFkZjFlNzRjZjRlNTdhNDdkIGxlZ2FjeS10cnVuaworMzk1NSBiMmM5MjJjZmI0ZDk3YmNmY2Q4OTUwY2Y5ODY1NDU0MjU4NjYwZDZmIGFscGhhMTAwCiszOTU2IDRiY2Y1ODRjMTU3MmI0ZjI3MTgwMDA2MDVkZmE3OGU4ODgzNTc0NjYgYWxwaGExMDAKKzM5NTcgODNiNDFiZjE5MzkyZWQzZmY0YWI3NGEzNjE3YmJkMzk5YTgzNDQ4NyBhbHBoYTEwMAorMzk1OCBkNzQxMDQxY2IwNzZlYmNiZTFmNGJiMzk3YTk5ZWZlYzk0OGRlZWNlIGFscGhhMTAwCiszOTU5IDA5ZDc3YmI3MWQ3NWI1M2RlYjVhNDhiYzIzYmFmOTdjNDU3MDZmZGUgYWxwaGExMDAKKzM5NjAgY2UzMjg0NzE2NGUxZTZkMDc3MmM0OTEzNmM5MTNjNGM4MDJhMDA4ZCBhbHBoYTEwMAorMzk2MSBlNzZjNjg3YWM3ODFkNDJhNzQzNTk2OGEyNzQ0M2U3MzVhNDMyZmQ1IGFscGhhMTAwCiszOTYyIDZlYzE1MjIyMTc5MmU2NWY3YTExZTJhYjVlZWY1ZDE0OGJmMWYyYzEgYWxwaGExMDAKKzM5NjMgMzNkMzM0NDNlYzQ1OWZkMjI4Y2Q1NDVlMTRkNWU5ZDVkYjliYjRiNCBsZWdhY3ktdHJ1bmsKKzM5NjQgMzAxZjhjYTk4ZTBiNWY0NDBjOWQwMTQ1MDc3MmQzYzhlMGVhOGExMyBsZWdhY3ktdHJ1bmsKKzM5NjUgNTdiOWI3N2RhMjFiMzlkNWE5YTVjOTE3YTgxMWRmODJmMzlmOTIxMCBsZWdhY3ktdHJ1bmsKKzM5NjYgNWU1YTYxYmRkZTBiNzgxOWNkMjM5ZWVkZTk4NWIwYjZiZWQ2OGI1ZiBhbHBoYTEwMAorMzk2NyA5MDdjNWRkODljNmNlZmJhOGE0OGQ0N2RiMzlhNDA5N2Y5NWI3MjFhIGxlZ2FjeS10cnVuaworMzk2OCA0ZTdlYjVhM2ZiZGFmMTIxNWVkNzAwMzY4YmQ5ZmU4ZDIwODkwMTFmIGxlZ2FjeS10cnVuaworMzk2OSBjMmZmMjE2M2YwYjcwYzFlY2QwZDhhYWMwM2Q1MzM5YTQ0Nzg5NmUzIGxlZ2FjeS10cnVuaworMzk3MCBlOGJmMTA3NzE3ODEzOTdiOGQzNzQ1MjlmMTEyZjk0YjQ5YWM4NTAzIGxlZ2FjeS10cnVuaworMzk3MSA2MGE3MjE0ZjMzYTg4MTY1YzcwNGI3MzE5ZWU2MjhkNTNiY2M4ZThhIGFscGhhMTAwCiszOTcyIDU0ODg5MTFlYmMyNmVjNzI5NjVhYzMwOTFiMjdlMDMxMGJiMTcyZTcgYWxwaGExMDAKKzM5NzMgMTQzMWFiYjI4MzUzZjQ4NTBlYTVkYmMyMWIyMDYyNGYwZWYwY2RjZiBhbHBoYTEwMAorMzk3NCAxMjlkOThiNTE3YzI1NmZlODViNDM5MjYzNzZhYTA2NjRkN2FmNDllIGFscGhhMTAwCiszOTc1IGE3NTRiYzc0ZTU4NGRhZWE3ZjEwZjQ4YmVmOGM3MzE5OWNiYWM5NGMgbGVnYWN5LXRydW5rCiszOTc1IDc1OTM5ZGNjOTM4YTcxYWRhMWVkODljMzU5MTI2YzBkYzE2MDFjMTcgYWxwaGExMDAKKzM5NzYgMDc3MDgwZDc1OGRkYTY4MmVkNjE4YTNhNWM5YWZjZGQ3N2EyZWUyOCBhbHBoYTEwMAorMzk3NyBjNmFmYjk2YTQ1MjMwZjU1MWRmMTRhYzIxMTljYzgwYTM2NWMxZWFhIGFscGhhMTAwCiszOTc4IDVjMjlmNGIxYjI4NTE1MjUzNGEwZTI1NzZmMzcyNzY5NTBiZmJkYjMgYWxwaGExMDAKKzM5NzkgZTI5MTEwNWIxYmVlYWIyNjljN2EzNGNkYjg5MjE3ZjFiMTc4ZjU0YSBhbHBoYTEwMAorMzk4MCA2OWQ1ZGMyNGNiM2I1NTlmOGNkMTllYWU1MjkwM2QwMTdmMzA1OTQ2IGFscGhhMTAwCiszOTgxIDI0MWMzNTVmZDllYWQ1NzNmZjA4MDg5MWY1MTMxMjc3M2Y0ZmU5YTIgbGVnYWN5LXRydW5rCiszOTgxIDhkZWQ4YzY1NTExZGE0M2JkMGI5MDM0NzA4NzViYjRkZWI5NWVkNjAgYWxwaGExMDAKKzM5ODIgMmU4ZWFlZTllZjQ1Y2VhNmVjMWE4YjI1Njk4MWU0ZWJjOTgyNzllYyBhbHBoYTEwMAorMzk4MyBiZTJkYjMxNDIzNTc0ZDYxODRiYjVhMTRiYjk2NzhlZjY3ZTAwNzM0IGFscGhhMTAwCiszOTg0IDIyMWQ0N2IyOTc0ZTczYWI3OTFhNDBjYjlkOGFjNWNmNDRhOTk3NzMgYWxwaGExMDAKKzM5ODUgNzhhY2FkZWEzOTE4ZmM5NjdlNTU4ZjBmZjQ4Yjc4NjhkZTE5ZjVkYSBsZWdhY3ktdHJ1bmsKKzM5ODUgZjlkYmJiYjE3OTI5MDI1ZDA2ZDYyOWE0YmVkM2U1MWExMTMxYTcyNCBhbHBoYTEwMAorMzk4NiBhY2VhMTEwMzEyOWJhYzExYWY2MWRkYTdmODEyYzUxOGRhNWI4NmNlIGxlZ2FjeS10cnVuaworMzk4NyA4M2VlNzY0OTgyM2QyNTZjZjI3OTEzYmI0NDhmOWM0YWZjOGNmZjhlIGFscGhhMTAwCiszOTg4IDQwNDhjY2Y4NWIzZDI0NTY2NzU0YmEzMDMzZWI3NGNjZjg2NDYwMzQgYWxwaGExMDAKKzM5ODkgZDdhODU1N2U3ODBjZDUyNmE4NTUzOGFlYTZhMWQwZjQ0ZDU0OWJkOSBsZWdhY3ktdHJ1bmsKKzM5OTAgYzk0OWRjYjAzNDhiZTRlYWJkZmU1MWVkOTRjODU5YmQzMmNlNzdjNiBhbHBoYTEwMAorMzk5MSA3Yjk4MjhiYzcxZGQ2NDkyNTlhYjRlZDdjMTVkOGEyMmRlYWI4YmQxIGxlZ2FjeS10cnVuaworMzk5MiBlMjBkMDY5NGU3NDAxNGViZjZkYWI2NGQ5YjI2ZDMwYmZhNWUzZDMyIGxlZ2FjeS10cnVuaworMzk5MyAxMDM2ZjIwNWNjMmQ3YTVmMTA3Y2RjMWZiZWUzMjA3NDk4MTkyYzA1IGFscGhhMTAwCiszOTk0IDcwNDkyZDY1OWUzYzdjMTI0ZDNmY2IxNDA5YTIwOWIzZmQ3MjVjY2IgbGVnYWN5LXRydW5rCiszOTk1IGE4Mjc1NTYyNzg0Y2QyZjI2OTE5NjExYjA4N2U1Njk5ZDYxNDM4ZjggbGVnYWN5LXRydW5rCiszOTk2IGY1MGZlNGI5NTJiYWExNzJkNmRmZmEzYTI4Y2FkNjI5NWVkNWQ3MzEgbGVnYWN5LXRydW5rCiszOTk2IDAzMjZiNWQ2MTQ0NWVlM2E4ZDNkZTI4MTE5Zjk2NTJjYjcyZDJlM2YgbGVnYWN5LXRydW5rCiszOTk4IDZhMDFmMDk5ZjBhZDhkNDU0N2RkN2M2YThhMWQ4ZWFjNmU1ZWJmZGYgYWxwaGExMDAKKzM5OTkgMzY2ZjhkZWU5NmZiZjRlNzc0NjA4ZTBlZGU5YmMwYWI0ZDdiYTJhMSBhbHBoYTEwMAorNDAwMCAyZTA1MGE1MGFhMGEwMWYzNTM1ZGEwMjc5MWE2YTBmZTE5MzMzZWYyIGFscGhhMTAwCis0MDAxIDJiMjc1NTMwMjhhYWMyM2U2ODcwODE3OTg2MzljNDE5ZDM0Y2MwOGYgbGVnYWN5LXRydW5rCis0MDAxIDc0OTIwYzNhMzY3ZDJkMWM3ZjI5Mzg4YjI0NDQwMWZkMmVlNDM5ODcgdW5sYWJlbGVkLTEuMS4yCis0MDAxIDIyNTQ4MjI5ZDZmZGRjZTMzY2Y1N2EzOTMxZmJiNzI3MmM0YmU3NjYgYWxwaGExMDAKKzQwMDIgMDQ3N2JjMzljOTM1OTJhZDkyMzM5MWY3ODMxNDFkZGE4MTgzOTQzMSBhbHBoYTEwMAorNDAwMyA3Zjg5MWYzMjg2NGNhNTJhMWQwYzc5NmJlYjdiMzAyZDkwMmNjM2Y5IGxlZ2FjeS10cnVuaworNDAwMyA4ODk2ZTRlYzA5ZmM0YTQ2ODQ4ZjQzOGIwNDFkMjA4YjI1NTM0ZTIwIGFscGhhMTAwCis0MDA0IGIxNGM2Yjk1NTE2MWNhMDRhZTA5M2E4NjcyM2Q0NDAzY2ExMzBjYmYgbGVnYWN5LXRydW5rCis0MDA2IDg0NTQ1NzlhYjUyZjM3MWRjZjU1NDZjYjUzMGUyZGQ2ZmQ2MGZmNWUgbGVnYWN5LXRydW5rCis0MDA3IDljYzg1OGJkNTczZGUzNGYzMDlmZTE2ZWE1YzQ4ZTk0NmI3NTM3MjUgbGVnYWN5LXRydW5rCis0MDA4IDgxMmQwODExZmNmM2UwNjJlNDUxNTliNDM4Y2FiYWFmMDAzMDhjZDIgbGVnYWN5LXRydW5rCis0MDA5IGE3NWRjODY1NmNiMGEyMzkzZGJhNGMyNTJmMzFkMzEyYmU0ZDEzMmMgbGVnYWN5LXRydW5rCis0MDEwIGI2YjUwZDk0MTI1ZmQ0MmYxMDJiYzBkOGZjMDQ0M2M0NzU5NjI4NGQgbGVnYWN5LXRydW5rCis0MDExIDg3YTJiMDRjNDY4MGJkMTIxZmMzZTY4NmZmYTg3OGY2YjRmYTMxNmIgYWxwaGExMDAKKzQwMTIgOTZkMGRjNDczOWVjYTI0ODIwNzUzYjE0YmRiZWIwODE3MDdhYmQyZSBsZWdhY3ktdHJ1bmsKKzQwMTIgMWNmNjA4NTY5N2NkNWEwYTRlMDJiM2YwOTI0ZmEyNTY4ZGVkMDEyOCBhbHBoYTEwMAorNDAxMyA1NTJiMjFlN2MyMzBhNzlkMjZiYzMxNWY5ZWY1NjA5OGQwNGQ3NDc1IGFscGhhMTAwCis0MDE0IGMxZmIyYjZjNDc0Y2VhOTNlZTU0Y2M4MWYxNGU2OWEwYmNjNDI3MTIgYWxwaGExMDAKKzQwMTUgZTQxYTY1MzA2NzA2MjAwNWEyYzVlYzUwNmNhZGUwOTdkMWI4NDQ0NiBhbHBoYTEwMAorNDAxNiAxNTEzMjFhMThkYjRhNzhiODg3YTdiNjA3NmE0MGU2MGQyZTA2NGJmIGxlZ2FjeS10cnVuaworNDAxNiA0MjQ4NmJmMjM2NDdkYjQzMDI2NWE0ZTMzMjgxODQ2Y2E3MmY2MDhlIGFscGhhMTAwCis0MDE3IDhmYmU4NjBhMjZlMTk5NWYxZGExZmE3MWQ5ODk1ZDE0NDBkODA1MGIgbGVnYWN5LXRydW5rCis0MDE3IGU0NmUwZWU3NmRiYzQ0ODE4YTY2N2VjMTI0M2FmZTk1NTNhZDdhZDMgYWxwaGExMDAKKzQwMTggYTlkZDJlMWVhNWM5ZWEyY2E0N2I0ZDBjODBhY2ViNmExNDU2ZmYwZiBsZWdhY3ktdHJ1bmsKKzQwMTggYTE5ZmEwNTVlYzQ4YjI0NDY3YTdhMjMwZGJjYWEyN2JjYzMxNmEzMyBhbHBoYTEwMAorNDAxOSA0MTIxYWZkNzZkNzM0YWZlYzIyNGZiMmJhOWViOGQxNjZjM2QxMDkyIGxlZ2FjeS10cnVuaworNDAyMCA1YTZjMmEyMzhmMDM4NzZlMmE3OWUyYWIzMjlmMjVlMjdiYTI4OTM1IGFscGhhMTAwCis0MDIxIDI5YzQyNTVjZDQ1Y2Q1ZjJlYmM2YzExZDZjZjRmMGM1NTdhZjg4NTQgYWxwaGExMDAKKzQwMjIgMDIwMmE3MmQ5OTRlM2QzODI1NWYzYTU1M2E5MGNlMWIxNTM2ZWVmZiBsZWdhY3ktdHJ1bmsKKzQwMjIgNGUxYTJkYmY5M2M1MzJhMmJmZmNlM2M1ZGZlNTdhNzhmNmQ2ZjIyZSBhbHBoYTEwMAorNDAyMyAzZTZiNjdjYTlkYmU0MjY5Zjk1OTAwNDIzNzJiN2VhZmQ4YzM2Yjc3IGxlZ2FjeS10cnVuaworNDAyNCAwMDdhZGYwMTU0M2M1MTc2OWZjMzJkOGExOWRlNDk0NjFmY2VlMTk5IGxlZ2FjeS10cnVuaworNDAyNSA2Y2U4MmMxNTgxYjkyZjc3MWRiOTBjNGY1Mjg1ZGFjNTZlZGI5Y2NiIGFscGhhMTAwCis0MDI2IGYyNjAyMjg4MzgxYTQyNTdmOGY2MmY5OGEwMzZmZGU3NjlmMGVkYzcgbGVnYWN5LXRydW5rCis0MDI3IDU5MDM5YzA4NTZjOTM5NmUzZjFmM2E0NzQ0OWQzMTY5ZDczZjc1ZjQgbGVnYWN5LXRydW5rCis0MDI4IGEzZWIyNTI1OTMyOTQyMTY2ZTM0MGU3YzZkODQ4NzM0YThhZjU2MDIgbGVnYWN5LXRydW5rCis0MDI5IDFmNDkyOWE0OGU2NGEwMDQ3YzM4ZWQ3ODkxZDEyZWFiNTkyMWJiMTQgbGVnYWN5LXRydW5rCis0MDMwIDlhZjhiMzk5MWNlZGY3MmViYmI5NmRhN2NiNjExNDQ4ZGExYjhjN2MgbGVnYWN5LXRydW5rCis0MDMxIGZjYWY4YTJiYWYzODk2ZTkwMDM3OGI4NjA4NDlkYWEwMTQ2MjBiYzAgYWxwaGExMDAKKzQwMzIgYmNhODI5MGMxYjMxY2Q3ZDcyNzA1ZTM5MzI3NTZlMmQyOGVlMDU1MSBhbHBoYTEwMAorNDAzMyA3YTI5YmIzYmRkYjQ2NWFlNDQwYTM1ZDZmNTM5MjY5ZTNjODA0ZDQ0IGxlZ2FjeS10cnVuaworNDAzNCAzN2NmODdmNTYxZWNhOTg1YWVhZjJhMDUxNGRkZGQ5N2U5YTE4ODEwIGxlZ2FjeS10cnVuaworNDAzNSAwNTU5NjJmOTZkZTdiNWYwZmEwOGQzYzNlZjE1NTZiYTBmZTgyNmVjIGFscGhhMTAwCis0MDM2IDE0YjA4N2ZlNTM0NzBjNGUzN2UxNDAwMDc1OGVkZTU1NTk5MDdlODIgbGVnYWN5LXRydW5rCis0MDM3IDcwODY1NGE1ZGRkZTAzMTFkNzU4MTc1NjZjYWIxN2M2YmRhYzNlNDcgbGVnYWN5LXRydW5rCis0MDM4IDBkMDI5ZGVlOTEyOTBmOWEyZjZlNDVhMmFkZjdkNWNiMDhmZDNkODUgbGVnYWN5LXRydW5rCis0MDM5IDdhNDdmYWJiMTg3YzZjMjY3Y2VlNzdiNDUyNzk1NjMyYjYxYzcyOWMgbGVnYWN5LXRydW5rCis0MDQwIGZhNTBkNGJkNTUzNzg1YTFjMWFiZTcyOTc5MzY4YjQwNjg5MjU4YTggbGVnYWN5LXRydW5rCis0MDQwIDYwYjAxNThkOTQ4YWNjM2ExOTA1ZTBiMWQ3YWVlMjU2NTlkOGY3MzggYWxwaGExMDAKKzQwNDEgZjg0OThiMDg4YWExYTBjNTAzNjZkY2E1MjM2Y2M1NWMxMDQ4Y2QxMSBsZWdhY3ktdHJ1bmsKKzQwNDEgOGE3ZTUzMGRkNDRhNWU2NDAwMDhhOTM2ZWFjMzUzNmFlNDcyY2IzMSBhbHBoYTEwMAorNDA0MiA2MjNkZDcyNDkxODY2NDQxMTQ4ZDgwYmQwNTFiOTE4ZjRjZDMyYWUyIGxlZ2FjeS10cnVuaworNDA0MiAxOWYyMDc1MWY4ZGVmYmVmMTQ2Yzc3ODE1NDU5ZWNiM2NiMDI3NzU3IGFscGhhMTAwCis0MDQzIDAzZTA5N2RkZWNhMmJlY2I4MjI5MDg2ZjZmMjUwYWU2ZjRmMWNkNDUgbGVnYWN5LXRydW5rCis0MDQ0IDZjZjZiNjY5MWFhZWIyODE3ZjA5MjZmYTJkZTEzZjhjNGQ3MmIyYTQgYWxwaGExMDAKKzQwNDUgN2FjNGU0OTc5MWY0N2UxYmRhZDhlZjRlNDY4YjM5MmJjNzYyNDY0MyBsZWdhY3ktdHJ1bmsKKzQwNDYgOWUyYjE5NDJhNzQyMGFhNDA2N2MxOTVjYTkxZDlhOWI2NjY3YWM3YiBhbHBoYTEwMAorNDA0NyAxYzcxYTI3ZmQ2OTMzZGM2ZGU1NTg3MTMyN2E0M2FiMmIwNDhjYWEyIGxlZ2FjeS10cnVuaworNDA0OCA1MWEwNmZkZmZmNzg5ZDMzZTJhMDA2ZmMxNjhiOTYxODU0ZTYxNDA0IGxlZ2FjeS10cnVuaworNDA0OCAxMWVhMTYxYTAxYzJmZDkyYjQ0YTk4YjIyMDI2ZjI5NTZmYTZkMTA5IGFscGhhMTAwCis0MDQ5IGNmMzI4YTllYzVkNDQ4NzZjZjAyNGYxMWQ3YWM1NjU5ZjlkMzk1NDAgYWxwaGExMDAKKzQwNTAgMTliMDBlZjRjZGQ5OTdkYTMyOGUzOWUzZDUyZDkzNDkxMTA5NjEzZCBhbHBoYTEwMAorNDA1MSA3ZTVmOTdiYWIxZTZmOGRlYzc2ZDRmMDc0MTc0NDdlYjU3OTIwMGQwIGxlZ2FjeS10cnVuaworNDA1MSBjZjI0ZjNlN2JlNmQ3ZTY1ZWE1YTVjNTdmYmYxZmJhOGY4YWQyZmUwIGFscGhhMTAwCis0MDUyIDMyYzI4YWRjY2QxMmIwNjkwYzE5NWQzYThjMjM4YmExMjQ3MDg2M2YgbGVnYWN5LXRydW5rCis0MDUzIDNhYWM4MjVhNTNiNTIzZGY1ZjAyYWQwZjM4NzcxZDFhNzVjNmQxNWIgbGVnYWN5LXRydW5rCis0MDU0IGNiZWU1ZTFlOWJlODMyNTkwNDI2OTk4MDk4MzEwZmU2OWJhMTM3YTkgbGVnYWN5LXRydW5rCis0MDU1IDc2MDNhM2IyY2JlZTk5MzQ1ZDJmOWUzZTdjZmFiZWY5MzE4OGQxYWMgYWxwaGExMDAKKzQwNTYgOTBlZTcxYTNhMTNlYmI0NDgzNmNhZjE2ZjY5OGRiOTJkMjE4YmQ1ZCBsZWdhY3ktdHJ1bmsKKzQwNTcgYTRjN2VmZjI1OWE1OWM4YjRmNTE5OGEyNjc4NDdkYWRhNzViOGExOSBhbHBoYTEwMAorNDA1OCA0ZGVmOTM0ZmY3NWI4MDYyYWJmYThhMDcwMWRiYTY3OTVmOTc1NmU0IGxlZ2FjeS10cnVuaworNDA1OSBmMDJhNDY3NTRmNTA1YzNlZDMwZGFmZDdjNGMxNTU0OGZkYjkwZGE2IGxlZ2FjeS10cnVuaworNDA2MCBhODYyZDhmNDUwN2I4YjRiZDNjNGRmYTEzZDNmOGI5MTc2Mzg0ZmRlIGxlZ2FjeS10cnVuaworNDA2MSAxYjllYzM3ZGIyYjlhYmY5NWNhMWU4YjhkNDE4YjVkMGRlNjRlMDJmIGFscGhhMTAwCis0MDYyIDUwOTZiYjQ4Y2NmZTEzMGJmZTFmZThjMWNhMDA0ZGNmODY1YWY5NGEgbGVnYWN5LXRydW5rCis0MDYzIGI1YTY2MGNhYThlMWJjNDU3YjU0MTQ0M2JiMWIxZGRhMmVlZWNkNzIgYWxwaGExMDAKKzQwNjQgZDkwYWFhMDkxMjNiZjU4OGE3OWQwOWZmZWZmMzcwNzJhOWRkM2Q4YiBhbHBoYTEwMAorNDA2NSBlMjgyMzExMGMwNTE1NzA0NTQ0NGUxZjM4YzMyZWQ4ZWM1ZjJkOTEyIGFscGhhMTAwCis0MDY2IGU2YTIxM2I3ZDBkMmI5ODAzY2Y0MDIzZjBlNjRmYzBjZDcyNTE2NzcgYWxwaGExMDAKKzQwNjcgNzJjOWE0ZGM0ODQ3ZDc5NDg5Nzc2ZDU2YTI0MjNkM2VhMGU1M2FiYiBhbHBoYTEwMAorNDA2OCA0ZjQ0OWFiNjA1NjdmYmI2NDNlMmFkNDUzNWNjYmRjOWM5ODBmYmE0IGFscGhhMTAwCis0MDY5IGZmZDQ5NWJhY2JkNDM2ZjAwZThjYmViMmJiMGMxMDgzYWI4M2YwNDMgbGVnYWN5LXRydW5rCis0MDY5IDhlN2Q4ZDBkNGU5MGE5NDUxNThkYTU2ZGFjOTg4ZGY3MjliYjVhODcgYWxwaGExMDAKKzQwNzAgZjdlMWUyMzg5Mzc1ZjIzMjYyMGFlZjhlNGFkNDhlNzFjNGM1OGIyMyBhbHBoYTEwMAorNDA3MSAwMWQyNjQ4NmIwZWU2NjQ3YzNmMmQxMGEwZGJiZjQxMmEzNmY4MmZjIGxlZ2FjeS10cnVuaworNDA3MiAxNGIwMzQxOGM5MGZiMzhhZjIwZmVkN2Y0NzI2ODllZTk1M2M0Y2NiIGxlZ2FjeS10cnVuaworNDA3MyBhNmU2ZmFkMWEwMWIzMmZkZjQ0ODMzZTRmMGY5OGI3M2QzNzI0ZjFjIGxlZ2FjeS10cnVuaworNDA3NCBhMDllZmIxMzVkZTU1MjQ2MzUwZWU0MjQ1YWMxODE5ODRiNTdlNTdjIGxlZ2FjeS10cnVuaworNDA3NSBkMDc0YjJmYjYwOTE0ZGQ3ZDVjYjkwMWI5MWY5NWZiOTJlZjY4MmQ1IGxlZ2FjeS10cnVuaworNDA3NiA3M2RkMmE5Nzk4NTdmMTdiMzZlOTE1MzJiMTY3MmZlNjVkY2I5NjJlIGxlZ2FjeS10cnVuaworNDA3NyBiNWQ1YmJjZWIwMGY2MDQ4NjM0Yjk4ZjA3ZDg2OWJkZGI0YTkzYjUwIGxlZ2FjeS10cnVuaworNDA3OCBhOTYxNmY1NjU0NjU1Mzc4Mjk1ZTRhOWIzMTNlM2VkOTRlODRhODU2IGxlZ2FjeS10cnVuaworNDA3OSAyNzM0NTE4OTIzMjdjZTFmMWIwN2YwZGQ0OTA5ZDBkNTZlYTY4ZGRmIGxlZ2FjeS10cnVuaworNDA4MCAzODJiNGY4YTczN2E0Y2ZmMWFiN2IwNWZlOTNiOGRkNjcwNTQ2OTM4IGxlZ2FjeS10cnVuaworNDA4MSA5NTNlNzRlYWMwMDYyOTgxNjljNTJlZTcyYTI5ZTdmNGY0NWQ1NmNmIGxlZ2FjeS10cnVuaworNDA4MiBjZWQzZDExMjJmN2NiYWIxM2UwNzcxMzJkNjhkNGQwMTE5Mjg4NTNiIGxlZ2FjeS10cnVuaworNDA4MyAzNDRkZDI4ZGE5YzU2NjIwZjUzNmVhMWEzOGU4NzI4MjNjNTBkYjNmIGxlZ2FjeS10cnVuaworNDA4NCBhOTQ4YjQ0YWQ0YTE1NTBiNTcyYmI3NTgxMDJmZTVjMDgzMGZkMDQ2IGxlZ2FjeS10cnVuaworNDA4NSAyZmU1NGY2MmNkYjU0OTcyYzFhNTkyY2M2M2RlYWU0ZTk3NTk4YmZjIGxlZ2FjeS10cnVuaworNDA4NiA0YzMwNjJjNzEzNWZjZDNkNzFkMDRlNDg2MWRlODJiMjI3ZWZmOWIwIGxlZ2FjeS10cnVuaworNDA4NyA2YTBlNWNkNDk5YzQ1ZWRkZDc1Y2NiM2JmODI0M2M0NTZkOGNmMGJlIGFscGhhMTAwCis0MDg4IDQ5NmM3ZTlmMTFkMjQ4MjBkYjM0NTM4MTRmNjIzNGFkZDVmMjI5YzkgYWxwaGExMDAKKzQwODkgY2EwMjMzOTllNWM5NGJiNWU3ZjkyZjlhNWYwNGE0NDJiMDNiMjIzOCBhbHBoYTEwMAorNDA5MCA1MmZhNGRjZDFiMGUwYTE2MmIwZmRjN2I0OGIxM2U0M2JiNWIyNjRkIGFscGhhMTAwCis0MDkxIGI2YzM1ZTFmYWRhZTZmZjEyNzFmNWI1ZDg3NWIwYmI2NGJmZTE2YmYgYWxwaGExMDAKKzQwOTIgOGY5NjgwMjczMzA3NzUzOGY4OTVlMzk3NTc0MWRkOWIxODBlNmZjMiBhbHBoYTEwMAorNDA5MyA5YWU3ZjJmZDg5ZjEwOTdkYzc4YTY2MTg5YWViNGJmMGI0MTNmYjQ3IGFscGhhMTAwCis0MDk0IDRiNTBmMTA0MmU4ZGMwOTAzODZkMDU0NzE3OTE4ODJjM2JlMWY2NjAgYWxwaGExMDAKKzQwOTUgNzYzNzE4MDVkOWYzNzRmMTk3MzI4ODEyOWEyNDMzMTRjYzQyODg2MCBsZWdhY3ktdHJ1bmsKKzQwOTUgMDNiMDU3MTdiOTUyMjRhZDJhNzA3YTc2MjA1NjQ0ZDkzMzcwOTk1YiBhbHBoYTEwMAorNDA5NiAxZTNhNTUzZTQ3OWFmMDhkZTNlN2Q5YThlYTU4ZDA3MzhiNTkyZGYzIGFscGhhMTAwCis0MDk3IDNiOTBhOWZjMWUwMzk4OTI4NTNiNjViY2NkODRiOGZlYTE5MjQwNjkgYWxwaGExMDAKKzQwOTggMWYwNmY3MTkwNGMyNDFmMGEzNWJhNzU4MzQ3N2Y4Y2U5ZTRjOTIxYSBsZWdhY3ktdHJ1bmsKKzQwOTkgNTA4YjczZTBhN2U0ZjFmMTViZjZjZTQ0YzdlNzZhNzY5ZmJmZDgyNCBhbHBoYTEwMAorNDEwMCAzYWZhZmFjM2Q3YTE2YmViYzI5ZTc0YTE0ZmNkYjRiZTBhM2I2ZGZmIGFscGhhMTAwCis0MTAxIDAyZDhjMTU4ODJmZjlhZDUwOTY4YTNiZTE3YzgwM2ZhYjE4ZjExMjcgYWxwaGExMDAKKzQxMDIgNTI5MDQyOGJhZDM3MTViNzNmYTBkMTIwMGEzOTRkNzIxOTBiMDc2MyBsZWdhY3ktdHJ1bmsKKzQxMDMgNzViY2IxZmM2NWJlNTljMTMyNTc2OWUyYTJkMjdiZjUxNDZmZmM1OCBhbHBoYTEwMAorNDEwNCA4Y2Y2NDBlZjM0NDAwNzY4OWU5ZDM2NDQxYWU0MzVlYjdhYTUzZTJjIGFscGhhMTAwCis0MTA1IDEwMDllYTQ5MzY2Y2M5OGNmNmZhZjk1NWQ2Y2Q5YWQwM2Q4OWRiNmIgYWxwaGExMDAKKzQxMDYgYzJlNmM5YTdhOTVmOGI0NmFmOTY4NjFhNDVmYTI0NGNhMWMyMTNmZiBhbHBoYTEwMAorNDEwNyAwYTYwNDYwZTk5ZjAyYjQxOTZlNGE3YmRjM2IyOTg4Y2E3ODA0ODIwIGxlZ2FjeS10cnVuaworNDEwOCBkYzhlMWQ3MmQ3OGRjY2U1ZWY1MDFiNDNmNWQ1MmYyN2M2OTY1MjI5IGxlZ2FjeS10cnVuaworNDEwOCBjYWVhZWUzOTBlNDNmZTU3M2E5M2QzNWMyYmNlODM0MjczM2EwY2QzIGFscGhhMTAwCis0MTA5IDFiMTdhYWYyNTEwNTQ5NzZiYjJjM2FlYzdjNGQ1OTQxNDAxYmI0YmQgYWxwaGExMDAKKzQxMTAgMmJjZGRjOTA1ZGEwYjlmOGNiNTI3ZTZmY2ZiNWZlOGRjNDNjNzI0NCBsZWdhY3ktdHJ1bmsKKzQxMTEgMDgwODExYjFkMDIzMzIwZmFiM2E4OTVmZjZjYWM5NGQ2YjEzYmFjOCBsZWdhY3ktdHJ1bmsKKzQxMTIgMWNkNGZkMTY2MjNkZTIzNGU2YzIxZjg4N2QzOTM3MzRjNTM5MjI5YyBhbHBoYTEwMAorNDExMyA0Y2JmNTM2YTZmMTgwMzg1OGU0YjU3MDE5ZjZiYWQ3Njg2N2ZjYTY2IGxlZ2FjeS10cnVuaworNDExNCBjNTRjMDdhYmNmY2YzMWZmYmQyOGUzNTA4MGRiYzUwNDIyMjM5YzkwIGFscGhhMTAwCis0MTE1IDZiZTkxYzQ0Y2FmZmQ1ZTJjM2Y0MjkxM2Y4ZGRiMjNhZjk4NWI1MzIgbGVnYWN5LXRydW5rCis0MTE1IDZlNGE4OWVlMTE2MzRiNWVmYzBkYjBmZTEwNzUzYmQ4MzllMTMxNDYgYWxwaGExMDAKKzQxMTYgMjNmZDUwZDc3YjVhMDUwMzZkYWJkZGY0YmQ4NDdhNzU2YzgyM2U1OSBsZWdhY3ktdHJ1bmsKKzQxMTcgYjVhNTdhZjQwNTA4YzhlNGRhNWVhYWE2ZTU4OGE1MGVkMzc1OTFkNCBsZWdhY3ktdHJ1bmsKKzQxMTggYmI2MTgxNmUxZGFiMGU0NjgxMjEzYTcyMWVjNGRhZTM5YzM5OTBmZSBsZWdhY3ktdHJ1bmsKKzQxMTkgOTQ2MjFhNDY4YjYwZDQxNTkzYzEyYWE4MDMwMTlmNmYzNmQ4M2MzZiBsZWdhY3ktdHJ1bmsKKzQxMjAgOTNlMDM2Nzg2YjE3YTc4ZDBkMGVmNTgxNTAxOTZiNWE4ZDk0ZWJlNSBsZWdhY3ktdHJ1bmsKKzQxMjEgZDg4YWY1OGU5NWNkMDg0NGViOTk1MWE3YzZiYjQyZDkwNTczNjhhZiBsZWdhY3ktdHJ1bmsKKzQxMjIgZTI2NjVkOWQ0ZTQ2ZDI1NDlkNTliZTA4NzU1ZTBkNzE1ZGQxN2M3NSBsZWdhY3ktdHJ1bmsKKzQxMjMgY2YyOWMwOWYwN2I2MWY3OWVhMjM4YjE3ZDEyYjA2MjQ1NmQ2NTM2MCBsZWdhY3ktdHJ1bmsKKzQxMjQgMDNkMzUxYjZmNzM4ZTRjNWI4YTJkZmIxOGRiYWY4MzdlODkwOGFlYSBsZWdhY3ktdHJ1bmsKKzQxMjUgYzUwMTI3ODA5MTc5ZGRlZDdjN2EwMTM4OTJkZDRhYTNkYWYwZTAyZCBsZWdhY3ktdHJ1bmsKKzQxMjYgYjk0OTIyNGE0YmQ1NjFhOGQ4NTBiMTNlYjQ4ZjRlOWI4OWYxNTE2NCBsZWdhY3ktdHJ1bmsKKzQxMjcgOTAyZmZmNTVkYjM4MWYwOTM0ZDlhYzM1ZTVmMjJiNmI3YjFmZDJjOSBhbHBoYTEwMAorNDEyOCA1MTdiYWFlMWI2NjNjMjYxYjZhMDdkZmY1OWYxYjA2MTA4ZTU4NjkzIGFscGhhMTAwCis0MTI5IDQ2OGI4Nzg0ZGE0OGI3NGEwN2VhODBiYjYwMTVjODljYzY1ZWY0YzkgYWxwaGExMDAKKzQxMzAgYmZjZmY4YWY5NzUxNjg3ZmU5MWMxZjUyYmFhOTkzMTdkZTg3YmQ4NiBhbHBoYTEwMAorNDEzMSBmODU0MGE4Y2Y1ZDc5NDY0NWI0YjU4YmU1YjQwNTg3OGQ0MjFjYzM1IGFscGhhMTAwCis0MTMyIGEyNDAzZmUyYzg4NTgwNTVmNjUxYTc5MTkwMDgyODA0OGExZjc5NDAgYWxwaGExMDAKKzQxMzMgMmIwN2Q5MjVjMDlkNDFlZWRkMWJmN2YyODRjYmQ4YWZhODNmY2ZhYSBhbHBoYTEwMAorNDEzNCBkZjIyMDRlNDdiNjVmNzVhMDVlZTIxZDJlNTgyZTFhY2FiMjM2M2I1IGFscGhhMTAwCis0MTM1IDc3Yzk0OTMwMWRiMzc0OTA0YmY2NWI3NWUxNTU4ZThiYmYxMGJlYjIgYWxwaGExMDAKKzQxMzYgNzg3NDc1NjEwYjAyZTMxZGM1NTcwYTEzMmQwYTc3YTNjYzYxMzdiNyBsZWdhY3ktdHJ1bmsKKzQxMzYgYjcwNzJlYzdkNjUyMzdhY2U0NzFhZDNmYjM4MjExMTRjNWM0N2FlYyBhbHBoYTEwMAorNDEzNyA3YjFjNDlhN2QzNzVlYTA5NWY1YjY4NzBhY2EyMTRkMmIxNjIwOTM3IGFscGhhMTAwCis0MTM4IGRhMmFmYzAyOThhNzBmY2U3ZDNjMTk2OGFhNDA2MjI5YzJlNjQ1YjUgYWxwaGExMDAKKzQxMzkgOWRhNDk0MjM4NzczYzkxNmUyNWE2ZTMxNWZkNmZiZDllZjFmNGEyMiBhbHBoYTEwMAorNDE0MCBmYjViYjllN2NkN2E4MTljMWQ0ZTJhYTg1MzRkZDhhMmQ2ODUzNDY5IGxlZ2FjeS10cnVuaworNDE0MCBlYmU4NjgxY2Y1ZmVhZjFhNGRkOTgwMDc0ZTBiNDAyMDZjMDg5MTkwIGFscGhhMTAwCis0MTQxIDg3OWU4ZDA0ZTU4OTY3N2ZjNjQwOTVkMDA3MzJkNmVlMTc4NDc4ZGMgYWxwaGExMDAKKzQxNDIgZWIxMWEwOThiN2ZmMmNjZGU4MzllYTc2MDEwYTFjNzM1NmU1ZDczNyBhbHBoYTEwMAorNDE0MyA5ZTdkMjA2YTQ5MjIxNjZhMjE5YWI1OWQ0MjM5YjUyZDYzMTk5ZTM0IGFscGhhMTAwCis0MTQ0IDkzZGY4MzAyMmJlODc4YzExMDc2YTg2MDg4YjhjMjBlMDE3NTM0ZWUgbGVnYWN5LXRydW5rCis0MTQ1IDc3YmJlNThhZmVhYjUyNTMyYmFhMTcwZWY1OWM0MzY4OTM2ZjlmYTYgYWxwaGExMDAKKzQxNDYgMDE1YWYxYzQ3NzI2NDI3ZmVmYmE2YWMwNGNkNmU0YjU3OGU1ZDY0MiBsZWdhY3ktdHJ1bmsKKzQxNDcgMTkwMWUwODA4NmY5ZmQ2NGU3MGYxZTEyYjkyNzY0MGNiNzY2ZGViZCBhbHBoYTEwMAorNDE0OCBmMWIwNDBiY2EzZTEyZWFkNGJlNTljZWM0ODA1OGU5Y2I3NTRkNWU1IGxlZ2FjeS10cnVuaworNDE0OSAwZmIzYWE1Y2E0YzAyZWNlMTAxYzNiZDBjZWQ1ODRkZTRiYmU5OWJmIGxlZ2FjeS10cnVuaworNDE1MCBiYTk1N2FhNDIyNDFhOWNlOTBiNTg3NzU3Nzk5MDQ3YjcxNmU1NmQxIGxlZ2FjeS10cnVuaworNDE1MSAyMjI4MDJmMGQ5NzgyOTU0NWY0MTBkNzUwMWZhZTZlNDNiZmY0Y2U1IGxlZ2FjeS10cnVuaworNDE1MiA0YmJhM2M5MDdmZmFlNDc1Y2EwYjIzNTFkYjM1ZGUzMWQ5MGY5M2M1IGxlZ2FjeS10cnVuaworNDE1MyAxOTJkODY5YmViOTczNmExODE3NjkwNzQzNmEwNTRiOTBmNDk4ZjliIGxlZ2FjeS10cnVuaworNDE1NCA2ZjgxYjEzZmQ2YWMwOGQ0MmU2MTg4ZWZiYjliMzY0ZmFmZDU0ZmZhIGxlZ2FjeS10cnVuaworNDE1NSBkZTJkYzFiYzRiYWUxY2MzYzhjOWU5MzgzNzBkZjdjNDc3MzM0ZTYxIGxlZ2FjeS10cnVuaworNDE1NiAzNzViOGI4NjMxMjZmYWVkZmU4YzYwOWIwOWNiMWU3NGMxYWE0ZTExIGxlZ2FjeS10cnVuaworNDE1NyA1NjU2Zjg4N2ZmZjM3ZWZkOTM5ZTg3ZjZhM2FiNWQ5ODg3M2U2MTE1IGxlZ2FjeS10cnVuaworNDE1OCAzNjZhMDI5MmI2MTQyZTY0NTBkYzM1ZWJhNmNlN2M1YjJhNzAzOTExIGxlZ2FjeS10cnVuaworNDE1OSAyZWY5ZDUwYWI2NTRiYTUwMDNiZTQ4OGI5ZTgyOTViMDgzMWMzMGEzIGxlZ2FjeS10cnVuaworNDE2MCBiYjU2NmQyOGNhYTBkM2FmZTkxYmU2NjhlMTU5ZjFjYjNkOTY4YmFjIGxlZ2FjeS10cnVuaworNDE2MSA1ODQwZTU1M2ViOGQ4OWZjNzU5ZGUzMjYwYmQxYmI5ZDUxZmY5ZjRkIGFscGhhMTAwCis0MTYyIGRiMGVhZWY0MmNiOTRlOTIxOWFlODk2YTc4NzQzYWI4OTU2YjFhOWQgbGVnYWN5LXRydW5rCis0MTYzIDk5MjhkMzMzODIxZGUwYmJiOGI4YTU0YzExYTExZGQ1NmYzNDdmZjYgbGVnYWN5LXRydW5rCis0MTY0IDUwNGJmYTU5Yjk1NGVmOTdlYzFmNDZjYjgyMWJjYzRiYTE1MjlkYjcgbGVnYWN5LXRydW5rCis0MTY1IGJhOWI3NTVlMTdmZTBiMmRkMjA2MjdhMDcwYmFjYWQyOWE5MDc2MWQgbGVnYWN5LXRydW5rCis0MTY2IDBkNjEzM2FiYjZlNWZjYmY4ODNmOGEwYmFjMTY5MTg0ZDcyYTg2NzggbGVnYWN5LXRydW5rCis0MTY3IGExNjAxZmMyYjNlNDQxNGJhMzI4YTBiZTMzMzc1N2RkNWMyYTI2YWEgbGVnYWN5LXRydW5rCis0MTY4IDJmOWJhMmViY2IxMDczYmZlMTdjYjdlNzQwZTRlYTZhMDI3ZTgzMzAgbGVnYWN5LXRydW5rCis0MTY5IDQyMTBiMGRlZjNkNzgxNTA1M2E3MWJhMjFjY2E3NzY3YmFkOTY2NjkgbGVnYWN5LXRydW5rCis0MTcwIDFkZDMxMTUzNzA5ZGQ1YzYyNzhmNmViYmFiY2Y0MmYxMGYwNjQzNWUgbGVnYWN5LXRydW5rCis0MTcxIDQ3MGE1MTU0NWQ2YzRkY2VjYzhhMTI1ZjdlZmFmZTMwZGI5NGM3YWIgbGVnYWN5LXRydW5rCis0MTcyIGU1YThmNjQ3OTIxNjkxZDllMjg3MTE0MDYzNGZiMDA2MDFmMTQzYjUgbGVnYWN5LXRydW5rCis0MTczIGUxNjc2OWNkN2E5MDFlZDc0M2ZkMzJmODI3Nzk1MGJmZTFkNjAzZDQgbGVnYWN5LXRydW5rCis0MTc0IGNkZjQ0YzE0YzI3MDg5MGNiMGQ3NTQwZGY5NjI5YTU0ZGNlNjU3ODIgbGVnYWN5LXRydW5rCis0MTc1IGU4MGM3MTM5ZjUzM2U0ZTM5YWIxNGVmYTM4MGQ1Y2ZhNzRmZGJjMTcgbGVnYWN5LXRydW5rCis0MTc2IDZiMGYwZWYyYzEzMmM3NTk3MTk2ZjU2NWVjNDQ0ZDNmODhjNjFiNDIgbGVnYWN5LXRydW5rCis0MTc3IGJkMWQwYmE0MGY5MGNlNDI2YjUxNTZiYjdhZDNkOGE2OTZlNGUyMTIgbGVnYWN5LXRydW5rCis0MTc4IDdmMjBmNGI5MzM1ZmEwNzg2NTM0M2MxYmMyYzgyN2JiYmRmOTI4YTAgbGVnYWN5LXRydW5rCis0MTc5IGU4NjUxZDBlNGEzYzcxODYzNWU0NDAxMTBjZDEyM2U2YzhkYmQ1MDUgbGVnYWN5LXRydW5rCis0MTgwIDU4MWZlNmJmYzkwMjRhMmVhMDU0Nzc0Y2QxYTA5YjY1N2JjYTZkOTQgbGVnYWN5LXRydW5rCis0MTgxIGFmYzU3NDA2NGU2MmNhZTgyOTQ4NmQ3NzhmNjFiMzZjZmFhYjc3MjkgbGVnYWN5LXRydW5rCis0MTgyIDE3NTAwY2Y5NTM4ZjFhOWZlYWY2ODcyZWQ2MjBlNDk2YWQ4ZWE0ZTMgbGVnYWN5LXRydW5rCis0MTgzIDI1NDMyNmYyNDE1ZjQ2YmQwMmEyNTc5YTFlYTdkNTA4NDg0NzFmZDYgbGVnYWN5LXRydW5rCis0MTg0IDg2ZWQ1Mzg0NGIwN2NmNjQ3YjJkNzRlNGYyMzNhZGZjZjFiZWIxYjAgbGVnYWN5LXRydW5rCis0MTg0IDkwN2Q5ZTdiZjRiNTg5ZmMyZjAyYTliOTAwYzU4ZjQxY2U1NTRkODUgYWxwaGExMDAKKzQxODUgOTYwMGQzZDVjY2U3YmRkOTQzMDkyNzc0N2RlNmQ5M2I4ZGNjNzZjNSBhbHBoYTEwMAorNDE4NiBlZTJmODhhNGY5ZTJiY2U2MzlmYmRjMjViZDhkYzhhZDlkODlmNWYwIGxlZ2FjeS10cnVuaworNDE4NiAyODVmZTg5Nzk5Nzk5NTc2NTVlNzZkYzAyYmRiMDA0MDhiOGJhNjRlIGFscGhhMTAwCis0MTg3IDQ1OGQ4ZjNlZjMwNzU4MjdlMWZmZTRiZTQyODViNDNhYTkyMDllMDcgbGVnYWN5LXRydW5rCis0MTg4IDI5Yzc4NTE2ZWUzMzMzYzA5NWJlOGZiZGUyYjJiOTllZDU3YWViNmYgYWxwaGExMDAKKzQxODkgNzgzMWZmZGI3ODdiODNmMmQwNmZlMTdhOWIzYzZjNTkxMzIzOTNkMSBsZWdhY3ktdHJ1bmsKKzQxODkgMjFkN2Y5MzI4MTliNGRhOGVlN2RhYzliZWNiZGRiZWRjYzQwMGQ2NyBhbHBoYTEwMAorNDE5MCBlOTViMDcwMWM4YjU0ZjI0ZGY4YzkwYjgzMDc0MzU3NWVmZDdiZjYyIGxlZ2FjeS10cnVuaworNDE5MSA5NjAwOWRhZTlkNjI2MjZhYTRkMjM3ZmU1ZGQ0NWZlODFlZDdiMTM0IGxlZ2FjeS10cnVuaworNDE5MiBiZWRlMzhjNGE5ZjVlY2Q0MjEwNzM4ZTlkZDk1Njc5YzI4ZmEzNzE0IGxlZ2FjeS10cnVuaworNDE5MyBiYzExYzFmZjZjYWMwMzFmOTI3OTg2YjM0YjBhNGI4ZDkyZjU5YjMzIGxlZ2FjeS10cnVuaworNDE5NCA1OTUyNjRjMmYwNmQ0YTYwOTY2MTYyYWY1ZjQxMTQxYzkzZjcyYjhlIGFscGhhMTAwCis0MTk1IDZjMGUxMWI5NDAwOWEyNTIzOTkzOGY1MjNhNzJlY2RlNzYzNmFkMDIgbGVnYWN5LXRydW5rCis0MTk2IGQ1YjY3ZDJlYzdlZTAzMTAwYTY2ODM3NDBmZGQwZjdmZjcxMjI2MWUgbGVnYWN5LXRydW5rCis0MTk3IDM3MjkwM2I2MzcxMWE5YmRkOGFmYzM3NzM0ZWVjNDU4MzI5ZDM1OGUgYWxwaGExMDAKKzQxOTggMTk0MDg5MmQyZmUzYThjZjNiNzRjYzEyZDY3MDM5OGMzZTQ4MDM2MyBsZWdhY3ktdHJ1bmsKKzQxOTkgZTNhOWQ4MWRmMTg1M2M4YjM3NTc2MjZiMTdhODVhYTgzYWNiNGNmNiBhbHBoYTEwMAorNDIwMCAzZjdkZGI4YmIyZjYzYjczYWIwNzFmY2I3ZTFmOGE2MjJjNjUyMDYzIGxlZ2FjeS10cnVuaworNDIwMCBlN2I1ZmU3NmU1ZWFjYWU0YzY2MjhhOGUzZTI5ZmU4Y2Q0YzgxNGViIGFscGhhMTAwCis0MjAxIDgyODZhNjYyNTAyYmI2YjViMGFlMmIxYjJhNjViYTFjOGRlN2JhZGMgbGVnYWN5LXRydW5rCis0MjAyIGJjZWI3MjBlZTM2MmIwOTQ3ZTBhOGMxMjVhM2E3MWY4YzQ2ZDc2YmMgbGVnYWN5LXRydW5rCis0MjAzIDBiNjQ1NzI2OTU3ZTIzMjliOWM4M2FmMDhkYTcxNGJlZGJhZDZhYzAgbGVnYWN5LXRydW5rCis0MjAzIDQ2MzljM2FkODM0YjdjYzA4MWQ4MGQ4ZmZkZmZlZjBlZTUzZjdiYWYgYWxwaGExMDAKKzQyMDQgZWMyNWFhZDQzNzI0ZjA1NWEzZjgyNmUzOWRmNzI1NWRhOTE0Y2RmYSBsZWdhY3ktdHJ1bmsKKzQyMDUgY2JiNjJlZTg4NTRhNjQzZWM5NjY5ZmUzYzY1N2VhZGM2MWU2YTA2OSBsZWdhY3ktdHJ1bmsKKzQyMDYgYjU0NjhkODg2Y2I1NGEyMDM0YmQwNjU2NDZlNGJkOGRlNTA3ZDRlNSBsZWdhY3ktdHJ1bmsKKzQyMDcgYmJlOWVhNTU4MjYxZWU2ZGViZGEzZjgwMjE5NDQzZWZjMzAzY2RmYSBsZWdhY3ktdHJ1bmsKKzQyMDggNzhhMzY1NDA2YzRjZWJmODVkZGM3YjAwMWM2Y2EzNDRiNzk3YWFlMSBsZWdhY3ktdHJ1bmsKKzQyMDkgZjUzMzc5MWFjYzc3OTdlZjMzYTZmYWZmZmQzYzBlYjI4ZTM1OWRmOCBsZWdhY3ktdHJ1bmsKKzQyMTAgNjk3ZWU4OWFkZGZlMWU2NTVjNzJkYWFhNjEwZWViZTQzMTNjMWEwNiBsZWdhY3ktdHJ1bmsKKzQyMTEgYjk5NTc4Yjg3OGNlNmM0YzZmYmUxMTBhZTQwNGFkNDExZjUxYzM5MSBsZWdhY3ktdHJ1bmsKKzQyMTIgNGQ0MjFmOWU4MzczY2MwYTMxMDRlMWJlYjdkNjZiOWYyZDE5ODUwMyBsZWdhY3ktdHJ1bmsKKzQyMTMgNDhlNmIzMTlmM2U0ODBkOTliZjQwMzVlYmE4NzZlZmUwN2Y5ZjQyZCBsZWdhY3ktdHJ1bmsKKzQyMTQgN2EyZTc2ZWNiOWVmOTFkZjczYjBiM2QyMTM5MzdlZjYxNzY2MGZmYiBsZWdhY3ktdHJ1bmsKKzQyMTUgOWJjM2RiZjA4NzFkMjZlMDUxYWYyNTZhNjRlNDVmM2VhOTc1MjAzOCBsZWdhY3ktdHJ1bmsKKzQyMTYgZDM1MzVkMDYyNmI0NjgwMmI3NDg1YmRlOGZlNjMzMWFlYWIwOWI1ZiBsZWdhY3ktdHJ1bmsKKzQyMTcgOTQyYzRkMDk0YTBjNDE5YzU1YTQzZjQ5YmYzYmE1MmRjZTUxZGE4ZiBsZWdhY3ktdHJ1bmsKKzQyMTggYTA0Njg5Zjk5ODNlN2FkN2IxNmZlNjJmZWRlYmQ1ODUxMjc3NjVmOCBsZWdhY3ktdHJ1bmsKKzQyMTkgNmU5MTMwNDYwMjg4NjdhMGVlYjQ5ZDYyNzc0YWJjYzg3M2RjOThhOCBsZWdhY3ktdHJ1bmsKKzQyMjAgOTA3NjA1MzIwYTVmZDdhNGE1MmI5NzU4ZTk3ZmY3MDg5Nzg0OTdkOSBsZWdhY3ktdHJ1bmsKKzQyMjEgNjg4MTJiNzYzZTBlMmJhZDJiNzk0YzczMzZmMTc2ZDI3M2RiNDE4ZCBsZWdhY3ktdHJ1bmsKKzQyMjIgNmNiNzU5YzZkMTc5MGQwNmUyYzFkYTgzYzg5MDQxNmNlZGQ5YjM4YyBsZWdhY3ktdHJ1bmsKKzQyMjMgYjBkY2EyOTcyYjJiMThkOTNlNmFkOGRmMGNlNTc2M2MxZmE4NTcxNSBsZWdhY3ktdHJ1bmsKKzQyMjQgNTFjMmU1YTlmMzljZDE5MWYyYzRkYjBmZWVjMjY0OGIwZWU3MjYzNSBsZWdhY3ktdHJ1bmsKKzQyMjUgN2IzYTc2NzkyNGExYTllMzJiNTUwNzFmMTU5NzZiMmQwNTY5OGRmMyBsZWdhY3ktdHJ1bmsKKzQyMjYgZGY3YWE1NGFkY2QyOWJjMDFiNDU5MWViNDIzZTQxYWI5Y2JjNzBiMSBsZWdhY3ktdHJ1bmsKKzQyMjcgOWQzNjJlNWU0ZTc4OTkwZmFhZDhiNTkxNzRmNmJkNzhjMDUxOGM4YyBsZWdhY3ktdHJ1bmsKKzQyMjggMTdjODBhOTUyOTE0MzkzNmU5M2MzMzk4MzExNDg2ZTI5MzY1MTNhYiBsZWdhY3ktdHJ1bmsKKzQyMjkgNTI1N2FmODBlMTYxMDg3YzY5NTcwZWMyMzU3YzBiYmQ2MzQ4ZTU2NiBsZWdhY3ktdHJ1bmsKKzQyMzAgN2UwMDFjNDgxMGJiYzc2MmIwZjA1YTc3OWI5Njc3MTRkYWRkMGNmOSBsZWdhY3ktdHJ1bmsKKzQyMzEgZmZkZmFmMWIyNGQ1NDBjY2QyOTY5ZjM1OTY1YzQ1NjM4ZDM0NTEyMiBsZWdhY3ktdHJ1bmsKKzQyMzIgOThhMjBhNDBmNjEzYjEzZGZhN2E1NGFlNDBjMzA5ZjVkMjNmM2RlNiBsZWdhY3ktdHJ1bmsKKzQyMzMgNzZjYzg1OGUzMzkxNTgwZDE1NWE1OTE3ZGEzOTMwZTJjMzEzNmNlMyBsZWdhY3ktdHJ1bmsKKzQyMzQgOTJkZjMwZGY1ZDc3OWU4MjJjMDBjZGFjMmI0NTY3NGU5MDc1MzNhNSBsZWdhY3ktdHJ1bmsKKzQyMzUgMjA4OTc4MTZhNGI2YzhkZDY0MThhNjRlYjllYTU0YTBhYjBkODYyZCBsZWdhY3ktdHJ1bmsKKzQyMzYgMWMyOGYxOTM0YTExZWVhNGI2ODI4ZDVkM2U4ZWE5Njc1MmUxNjY0YSBsZWdhY3ktdHJ1bmsKKzQyMzcgYTNmMTk5ZThiYWM2ZjAwMzIxNGIwMGQ2MGNkY2JiMGQyMWVhODFhNyBsZWdhY3ktdHJ1bmsKKzQyMzggZGQxNjdiZmQ3YTA4NmE5ZWU2NjFhZmFiMDgwNWE0M2Y0MmVjODdjMiBsZWdhY3ktdHJ1bmsKKzQyMzkgNzcwN2I5NzA4ZjZjYzdjM2Y5ZWJkN2Q0NjkyYmEwNmEzMDM2NGIxOSBsZWdhY3ktdHJ1bmsKKzQyNDAgY2I4NGRkNTFjMmFhMzEwZTViYWU3MWQ5ZGI0ZTc0MWNhMGVlNWJmZiBsZWdhY3ktdHJ1bmsKKzQyNDEgNTZhOTg2ZTQ5ZjU2N2NkNjg0ODc4NGJjNWI2NDUwZjAwZWVlMmMyMiBsZWdhY3ktdHJ1bmsKKzQyNDIgNDNhZTdmY2Q3ODM1MmEyZjdjZTI5NWFhZGE3NGRlZWQxODUxNzUzOCBsZWdhY3ktdHJ1bmsKKzQyNDMgMzYyMTRjODYxMTQ0ZGQ2MmEyMGFkNGQzYjI3YjljODI5M2Y2MDQwZiBsZWdhY3ktdHJ1bmsKKzQyNDQgNTM1YWNhNmZmN2U5MTM0NzE4YTAyYjRmNGFmYjIyYmJlOTc2M2IxNSBsZWdhY3ktdHJ1bmsKKzQyNDUgYTU4NGI0YmJiYzU5MzRjMWFlNDFlZDUyOGFlNzkyYzEwNGRmNTJhNSBsZWdhY3ktdHJ1bmsKKzQyNDYgNjY4NTA0ODQzZDBmNDE4OWM4NDUzODJkMGJkNGJjZGM1NzgzMmI0YiBsZWdhY3ktdHJ1bmsKKzQyNDcgOWI1MzBiYjU0NjQyYmExODZiYjU3NGI1ODk2MDEyYjIwMDkzNzRkZSBsZWdhY3ktdHJ1bmsKKzQyNDggZmE4YmJkMDlmMmU2YjZjNmU5NzQ3MTk3YTI4MzhjZTg3N2M0NDZhMSBsZWdhY3ktdHJ1bmsKKzQyNDkgYjcxMWM5MDEwMjMyOTMyNjliMWRlMTY3ODFmYmJlMDVlNzg5YTAwZCBsZWdhY3ktdHJ1bmsKKzQyNTAgYjE2N2UzMzUwNDkxMjBlYzdiMGZjNWU2ODc0NGM1ZTc2ZjYwYTg0YSBsZWdhY3ktdHJ1bmsKKzQyNTEgZjA3YzRmZjBmNzk0Njg2NzIwZjBlMTliZTczNTVmNGZiNDNlODkxZSBsZWdhY3ktdHJ1bmsKKzQyNTIgNjA2NjAzNDFlZTEwNzFiNDBmZWY5MzVhM2MxNjYxMGU1NmU4MmVkOSBsZWdhY3ktdHJ1bmsKKzQyNTMgYWQzZjFkMzYyYzE0MDZjZmMwMjJhNDBhNzBlYTk4MDdlYjNhNjBjYSBsZWdhY3ktdHJ1bmsKKzQyNTQgMTQ4ZWUyYWE2M2U2ZGVjNTkxYWM3NDUyMGZhZWMxZDFiMTJjZTdkOSBsZWdhY3ktdHJ1bmsKKzQyNTUgYjg0MDI5NmI5ZTA1OGQyNzRhODkwMDQ0ZDhjYWQ1M2NkZWUwNzI1NSBsZWdhY3ktdHJ1bmsKKzQyNTYgZmFmYTVkYzgxMDBmODQ5YmZlNzFlNGYwNjgyMGY4YjM1NDk5MmYwNCBsZWdhY3ktdHJ1bmsKKzQyNTcgYjQwOGQ2YTYzODE5NTIzOWU2MjdlN2EwNTgxOGVkYjQ4NmQ3ZjdkYSBsZWdhY3ktdHJ1bmsKKzQyNTggNWI5MmEwODM5MzRkYmZiMzk0NzdmNzRjMDY0YzU2MGNjNTE3ZTAxNCBsZWdhY3ktdHJ1bmsKKzQyNTkgZjJjZTMxOTFmYzlkZTM4YjQ2MWJmNWJiNDRlOTNjOGYyYTJhNmFlNSBsZWdhY3ktdHJ1bmsKKzQyNjAgNzgyNTA5ODEzZDU3MmI4NmY5MGNjNGNkMjdjYmE1YzA3OTNlYzRlYiBsZWdhY3ktdHJ1bmsKKzQyNjEgNmNmZDQzZDVjMDc0NmIwZWM4MGUzNGU0ZGE1OWYyOGU3NzBjNzFhYyBsZWdhY3ktdHJ1bmsKKzQyNjIgZDhkOTQxZmFmNTExMGIyMzE2ZDIzN2Y5MzgxYTI0YWNmZmMzZDhjOCBsZWdhY3ktdHJ1bmsKKzQyNjMgZDg5MmFjNGI0ZmI5OWUxNDkxYTI3MDUyMjQxMGYwYzU2YmU5Yjc3NSBsZWdhY3ktdHJ1bmsKKzQyNjQgZWE1YjEzZDExYTEzMDViYjQwNGVkMGNhOGEyOGMxZGY4MmNjZWNjMCBsZWdhY3ktdHJ1bmsKKzQyNjUgMmQ1YjM2YTQzOGFiOWNmMzg1OGI3ZDcwYmQ1OTYyMjQ5ZWZjYTM4MSBsZWdhY3ktdHJ1bmsKKzQyNjYgYzQ3ZDUyNmE5NGQ5MmUzOGU2NjZlOGNmM2UyMTMyNjcxNWMwNDE4MCBsZWdhY3ktdHJ1bmsKKzQyNjcgMDQwNmEyMDhjYTVkM2MxMzdiOTVkNmRiYmE2ZWMzZWNjZjQyYWY0OCBsZWdhY3ktdHJ1bmsKKzQyNjggNjM1M2ZlMjVjZGNlNGJlNTNjOTU3OGVmYzA2Y2RhZjVhNTJjZjg3ZSBsZWdhY3ktdHJ1bmsKKzQyNjkgM2I0NzAzMTczY2FmODY2NGZlMTRmMDA2ZGEyZTllNTJlOTQ0ZGE5OCBsZWdhY3ktdHJ1bmsKKzQyNzAgMjBlMWQyOTZmZGNjODZiY2ViODJkNjM4N2YxNjQwOTQ0MzA4MTNiNiBsZWdhY3ktdHJ1bmsKKzQyNzEgYTcxMGZiMDAxYTNmYjQ1MTNjMjFmYjEzNGM4ODA0Yjc2NDYxMjQ5NSBsZWdhY3ktdHJ1bmsKKzQyNzIgYTI2YjMxZTE1OWJlYzQxZDc4Yjk2ZmYzZjViYTdmMDI0ZjM5MDIwNyBsZWdhY3ktdHJ1bmsKKzQyNzMgY2U1NDQ3ZGI4ZjUzN2UyYTA0YmJhMzUwZWY0OWUzZTQ1NDQ1MGY1YSBsZWdhY3ktdHJ1bmsKKzQyNzQgNDA1OTRmODBhYjNjMmYyODllMjA5ZjY5NTRmOTBlNGIxYmVlN2VlMSBsZWdhY3ktdHJ1bmsKKzQyNzUgNzZkMGYyYjNiOWVlNzExNzllMGFjZDUyMTQ5MDQxMWZiYWUyZTk2MSBsZWdhY3ktdHJ1bmsKKzQyNzYgYTZlZjJjOTdjNzc2MWVkMjEyNzBiYTdhYzVkZWUzYWVmNjNlMTEzOSBsZWdhY3ktdHJ1bmsKKzQyNzcgYjExYTA2NjhiMTgxY2NiYjQ1NmRiNzg0ODIyYjk4YmQ4MzRjOTI3MSBsZWdhY3ktdHJ1bmsKKzQyNzggNzkzMWRlMDFlNjkzN2RlNWE0ZDMzMWQ0MzU1NWIwZjJiM2U2MjdhMCBsZWdhY3ktdHJ1bmsKKzQyNzkgY2U4OTdlNzUyY2E0YWM1NTE1MzFhMjAyMmQyOWY3MTQwMzhkNDlkOSBsZWdhY3ktdHJ1bmsKKzQyODAgZjVmM2RkZmVjM2M3YjE1Y2M5ZGNjYmFmMTFhMWM1MTdlOTc2ZWIxMyBsZWdhY3ktdHJ1bmsKKzQyODEgYjQ2NGUxZDBiMmZiNDM0YzhmNmI4OGIyNDI1OGMyMzZmZmFhNzU2MiBsZWdhY3ktdHJ1bmsKKzQyODIgYzFiMGQ3ZWVkOWZkZmFjNmMwYjRkMDk3NTdkMjU4MmQ3MWIxYjhmNCBsZWdhY3ktdHJ1bmsKKzQyODMgYzQ1MzZkOGFmN2I1ZDRlODA1ZjlmNWRmYWQwNjkwODYxZWQyMDhjMSBsZWdhY3ktdHJ1bmsKKzQyODQgMjE2Yjc1NTUxNWU2NWQwMWVkMjQxN2NlYTllNzBhYzRhNjhjOWRkYiBsZWdhY3ktdHJ1bmsKKzQyODUgNzllNDIwODA1YzY3MjI3YjM4OTQwZGI1OTQwMWM0MjE4NWUwYTVjOCBsZWdhY3ktdHJ1bmsKKzQyODYgMzlhNGMxNWFjYjMyZGJlMjEwY2U4YmExZjAzZmNiNThhNTFmYjk3MSBsZWdhY3ktdHJ1bmsKKzQyODcgZjhiYWFiNWMwMTY1Mjg1MDVkODE3YTZhOTdkZmI3YWY5NDg0ZTZlOCBsZWdhY3ktdHJ1bmsKKzQyODggZDc5OTg4OWMwMWUzNWI5M2U4ODRkOTcyYzZlYTcyNjFiZjc0MTQ2NiBsZWdhY3ktdHJ1bmsKKzQyODkgMTIwM2YwNjI5NTI3NTMxYzgwYjU5NzQxOTY2ODZkZmFhODBlYjhmMiBsZWdhY3ktdHJ1bmsKKzQyOTAgODczNjRkOWUzNDQ0ZTk1ZjQ3YTQwN2E4MjU0MDY1NjI3MTlkMzhkNiBsZWdhY3ktdHJ1bmsKKzQyOTEgNWY2YWNkMWFiNWM1MDNmZDNmZTkwOGIxMDc1NDVjYzhjMmM4YjkxMiBsZWdhY3ktdHJ1bmsKKzQyOTIgMWY0YTg2ZGJjZDc5MDY0MTdlOWE4MDM0MTM5ODBlOGY0ODEyZWYxNSBsZWdhY3ktdHJ1bmsKKzQyOTMgYmZkMTE2MjBhMmQ4MWU4MzA0ZjQ4ZjY1NTIyYmI3Mjk0ODkwMTA0ZSBsZWdhY3ktdHJ1bmsKKzQyOTQgMjNmMDNlZjAwMzYxYmM3NzE3Nzk1YjMxZGRjOTMxNTBhNTQ0MmI1NSBsZWdhY3ktdHJ1bmsKKzQyOTUgNjVjYzcyN2YxNDM2YzA3OTcyN2ZmZGQ3MDkxNmNiNDU3YjVkYThhOCBsZWdhY3ktdHJ1bmsKKzQyOTYgODI5NGJiZDk0NTM1MGQ0MWQ0ZWFlMzZlNTEyNTg2M2RiMzQzNmZiNiBsZWdhY3ktdHJ1bmsKKzQyOTcgZDFlNmM5YTY0YTU2Mzg0MWY2MDE3N2FjOTA3NzM5Zjk1M2YxNTYzMCBsZWdhY3ktdHJ1bmsKKzQyOTggMDk1YzFjYzdmMmJiYjIyZmYxMTZiMDMzN2FjM2JkMmQyZmUzN2NkNiBsZWdhY3ktdHJ1bmsKKzQyOTkgNTI0M2ZiMTg3ZDM2YzYwYjAxMjEzM2ExYTVjNjYwZDdhMzVhMTI2NCBsZWdhY3ktdHJ1bmsKKzQzMDAgMGQzMTg0NzVmOWUzNzE5OGI1YTMyMGM4ZTEwZTY5YTc1MjIzYjE0YyBsZWdhY3ktdHJ1bmsKKzQzMDEgYjcyNDU5OTQwMWZmNzNmYmI4ZDU5NWI5YjNkNjMwOTM2MzRiNDk5NCBsZWdhY3ktdHJ1bmsKKzQzMDIgNmUyM2FmNjQ1YjQwYmRkOGUzMWVhMGNjNGM3MmQzMGVmNzc4ZjMxNSBsZWdhY3ktdHJ1bmsKKzQzMDMgMWZjNGRiNzkxNDZhZTVlZjU3N2MwNmZiYTVjZGY3YzU4ZDJlZTQ3ZSBsZWdhY3ktdHJ1bmsKKzQzMDQgMTQ1MzkxZGYyNjU3OWUxYzZmYzQ0MTA4MDhlYTZmYjkxNDk0NWU1NyBsZWdhY3ktdHJ1bmsKKzQzMDUgMDlkZTcyM2IyNTk2ODI2NjVjNDY2MDIyYzAyMjAyYzFmYzFmZTFhZiBsZWdhY3ktdHJ1bmsKKzQzMDYgOWQ0YWRkNDJlZTIyZmY0Mjg5M2VhZjM3NzAyODA4YTI3NTE1N2Y3MSBsZWdhY3ktdHJ1bmsKKzQzMDcgMjc4NmFjYmE2Y2VjMWNmYjlhNTk3MTFmNGNlNjEzZDAyNTM2Y2NhOSBsZWdhY3ktdHJ1bmsKKzQzMDggOWRiZGI4M2Q0MTc4ZjM5Mjc1OGVjOGFmOGQ0M2JjMTNjMjQ0ZjM0MSBsZWdhY3ktdHJ1bmsKKzQzMDkgMTgyMjQ2NWEzNWI4MGNmY2U0MjgzODJlNzU3YWJiNGIyNzc0MjQ2MyBsZWdhY3ktdHJ1bmsKKzQzMTAgZTE1Zjk3NjFjYjAzNWJjYjYxZDYyNGZjZWFhNTMxOWRhNTBlZjgzZiBsZWdhY3ktdHJ1bmsKKzQzMTEgMGIwODE5NmU5ZmY2MTZlYzM3NDYzZGYzMzYyMjEzNzc3OGQwM2IyMiBsZWdhY3ktdHJ1bmsKKzQzMTIgNTRmZGM5YTk1ZjQ4OTA5M2ZmNWVlMzA4ODliOTZlZjY3MzZlNjg3MiBsZWdhY3ktdHJ1bmsKKzQzMTMgNzg4OThiMDRhNjViZWYxZTYyMWZmZjk1MTc1M2Y1NzMwNDk1NzRkNyBsZWdhY3ktdHJ1bmsKKzQzMTQgZDQwNWUzZThmZmQzNDlhZTc2M2ViN2I4Y2ZkY2Y0ZmI0YWQyNWQwZiBsZWdhY3ktdHJ1bmsKKzQzMTUgZWYwOTQ2NTYwNjIwYWNiNTg3OTg5MmZmYTYxZDRiNTEzM2QyOGQ4OCBsZWdhY3ktdHJ1bmsKKzQzMTYgODU1Y2VmYmIyNzE4NjMxMjlhZDFlZDk5YTA0NGZjOGY0MmEzOGY3MiBsZWdhY3ktdHJ1bmsKKzQzMTcgYWFmMWUwNWU2ODQyZDhlZDgzNTU5OGU1YzdiNTljODI5NDJkNjlhNyBsZWdhY3ktdHJ1bmsKKzQzMTggMjBlNjA3MTQ3ODhjNWRhN2E3Nzk5MmY3ZDI1OWUzYjhlMzM5ODk1NSBsZWdhY3ktdHJ1bmsKKzQzMTkgOWM1ZDMzM2QzMzAwZTkzMjQwZTE1ZmUyM2E1MDI2ODZkYTY3YzA0OCBsZWdhY3ktdHJ1bmsKKzQzMjAgNzU4YzEzNzRmMzAzNDgyZmNmYzZmM2ZkYjNiMzQxMDA3ZWEyN2RlMCBsZWdhY3ktdHJ1bmsKKzQzMjEgNjNhZDI4OTM5NzgxYWE4ZDc1NzllMDg2YWNjMmQ1NzY1NjZhYzg0OSBsZWdhY3ktdHJ1bmsKKzQzMjIgMmNlZGU2MWU5YjFiYTRlYjhiYTQ4OWZiNTQwMWQzMmMzMDI1NjU5MiBsZWdhY3ktdHJ1bmsKKzQzMjMgNjE3MzhlZDZjYzEwYzQyOTUyYmE5MmZlMTIxNzRjM2E2M2Q0YmRmYiBsZWdhY3ktdHJ1bmsKKzQzMjQgMTBhMTI0NzNlZTkzMWNhZDI0YzczZDVmZjcyN2YxNDRlMWRmNTY5MCBsZWdhY3ktdHJ1bmsKKzQzMjUgMzJlNmMzYTY3MWQwMGY3ZjBiMTZhZDllMTEzZDQxNzEzZGYwMzZmMCBsZWdhY3ktdHJ1bmsKKzQzMjYgOTA4MWJiN2FjZDUyOGFlOTM0YzU4MmMyOTgwMTYzYzcxZWNiMTcwOSBsZWdhY3ktdHJ1bmsKKzQzMjcgMDc0YWEyNjM4MjZiNDY2OWQwZTI0NGVhMjA1ZDQyM2UxMmJhZTdlOSBsZWdhY3ktdHJ1bmsKKzQzMjggOGM5Y2MwNTRjNWVkY2U2ZGVhZThjNDFmN2Q3MzJiZDk2MTIxZjdkZCBsZWdhY3ktdHJ1bmsKKzQzMjkgY2M1YmY2YmU4MWE1ZDI2ZjgzZDI5NjhhYmQ5NmE0NDBiMjhmYTAwYiBsZWdhY3ktdHJ1bmsKKzQzMzAgMzJkMDA1ZmFmNWZjZDBiZTc0MGEzNTk0M2EyOTM1ZjI2MDA0NjUyZSBsZWdhY3ktdHJ1bmsKKzQzMzEgMjdkNGYxZjkzNDZjNTc0Nzc2NzQ3MjgyNjg2ZjIzZjgxMWUzNmMxNSBsZWdhY3ktdHJ1bmsKKzQzMzIgOTFiZmIyNzcxNTU0ZTgxN2FlMDkzZTdkMWM4NWUyOWY5M2IxN2U2ZCBsZWdhY3ktdHJ1bmsKKzQzMzMgMDVmYjlkZWMyYzljZjFjNGY4ZTZmNDVlMDFlMmJkNWJjZTY3OGQ1MSBsZWdhY3ktdHJ1bmsKKzQzMzQgM2E3MGU5YzBkOWY1MTFhNTdhZTQ0ZWYwNGU3YjQ4NGM1NTk0YjY4ZiBsZWdhY3ktdHJ1bmsKKzQzMzUgZjg0YjY0ZGYwOWMzZTYyOTU1YWU5ZTZkYTE3YzE3Zjg0MTIzZmE0YyBsZWdhY3ktdHJ1bmsKKzQzMzYgNDIxNGE3NTgzZjJiYTg4YjgwZTRjZWIyMDJiMTJmMmEzY2JiNDQxNSBsZWdhY3ktdHJ1bmsKKzQzMzcgYWZiZjExODZjODk3NGEwZGViZjZiZjdiMDRjY2UyZGM1NTkxMTc0ZiBsZWdhY3ktdHJ1bmsKKzQzMzggZDNkZTJjYWQyYzY4NGMxNjAzNWE0OTg3MGQzODBkYzgyZmQ5MDg5YyBsZWdhY3ktdHJ1bmsKKzQzMzkgYWM2YTlmOTBmNmZkNDhkN2MyNTQwOGRhMDY2MGFkZDYzMDU4Mzg2NSBsZWdhY3ktdHJ1bmsKKzQzNDAgZTdjNmExODM4MWQ5ZTdhMzA1Yzg0ODgwYzFmYzQ3MTJhY2E3MjI4OSBsZWdhY3ktdHJ1bmsKKzQzNDEgYmU5NTZiMWVmYjk3Y2NhYTc1ZTFhYTk3YmM1ZDc5YzFlMWVkZGI0YiBsZWdhY3ktdHJ1bmsKKzQzNDIgNGUxY2VhZWUyOTYzMjdkZWZjZTRhYjQ1MDkyODMyY2U3MGJiN2U5ZCBsZWdhY3ktdHJ1bmsKKzQzNDMgYjdkZTY3ODVjOGFjN2Q5NzI0MjAyMjQ2YTQ2OWM3NzYzYzIzNzNhZCBsZWdhY3ktdHJ1bmsKKzQzNDQgMjRhZTdhZjQwYTA5NjBkZWNkZTE2NzgzZjYzNDE4ZDJjZGZjN2FhMiBsZWdhY3ktdHJ1bmsKKzQzNDUgZWVjMGRjNWFiYTYwMTFiYWJhNTA4ZmNiNTYzMTNkNzg2MDIyNTA4NiBsZWdhY3ktdHJ1bmsKKzQzNDYgYWJhNTE2MjEyNDRlN2IwMTIzOThhYWEzNzY2ZDdiYzE2Y2FhNzc3NCBsZWdhY3ktdHJ1bmsKKzQzNDcgMmM4YjRkZjIyYmMyZjA0NWMxMWQ1NjllOWZkMjlhMzY0Mzk3ZTBiNiBsZWdhY3ktdHJ1bmsKKzQzNDggYzIzNTBjODdiZTNmY2M3OWU5NzUxYmQ3MTkxNWQ1ZDE5MGQ5N2I2OSBsZWdhY3ktdHJ1bmsKKzQzNDkgNjU0YWE5NjRkYzI2M2Y5ZGJiZTA1ODQ2NTNkMjllZTNlMzhlNTY0YSBsZWdhY3ktdHJ1bmsKKzQzNTAgM2ZiZGE4NzY4ODU1Mjg2MmNiYjY5YTJiNWNmZTE4NmEzOGJlNDhmMiBsZWdhY3ktdHJ1bmsKKzQzNTEgMjBmMTdiNWFjY2JmODIwMGI4NzJhOTBjYzAyMzUwNTYxNWViM2E5ZiBsZWdhY3ktdHJ1bmsKKzQzNTIgYTY3NzZhNzg4Zjc0OWFlMWQ5OWJhNTI0MjFmNTVjNWI2ZTA4NTQ0NSBsZWdhY3ktdHJ1bmsKKzQzNTMgNWJhZjExMzVhMTNkM2Y1YTYzMmI3YzcwMmMwM2YzYzA1YmU0NGM2NSBsZWdhY3ktdHJ1bmsKKzQzNTQgMjU5ZTY5YWEwZjE1OTg4NzMwMDFiMGE5MGQ1MjQwYjVlODFkZWQ5OCBsZWdhY3ktdHJ1bmsKKzQzNTUgNTNkMTdjMDRiNDJmYjBmMzQ0OWI0Yjg1NjJjZGJmODU1Njc0Y2EzMCBsZWdhY3ktdHJ1bmsKKzQzNTcgZTQ1MGJkNDM2MzFhOTg0Mjg2ZWI1NDAzZGU2OTFlYmVkZDQyYTdhZiBsZWdhY3ktdHJ1bmsKKzQzNTggNjEwOTA2OWQ1NjEyZjAzODhlNDAyMDhkZDg4MmVkNTQ1N2NmOGQzYiBsZWdhY3ktdHJ1bmsKKzQzNTkgNjFjM2MxYTJmZGI0NDNmMmFlMWUwZTY3NzYyZjFhZWY3YjE4NTI5MyBsZWdhY3ktdHJ1bmsKKzQzNjAgOWQ5ODEyZjI3OThiNzNhNjUwZmExY2MxMjExNDJmNTFkYWZjZDQ2ZCBsZWdhY3ktdHJ1bmsKKzQzNjEgYmQ5NDA2OGYwZmQwMzc1NDBhYzUwNGZlODE3NDIzMmNhOGYyM2M0ZCBsZWdhY3ktdHJ1bmsKKzQzNjIgMDQzNzczODI3OWE4ZDY4MDc5M2ZkZGY5ZDVhYmFkMWFkNzIyMjNjZiBsZWdhY3ktdHJ1bmsKKzQzNjMgMGMyMzIxOTRhNjRmMTBjNzFjNjE3YTcyYzY5YTRjOGRlZGFjMTE5MiBsZWdhY3ktdHJ1bmsKKzQzNjQgMzU5NDdmNjA1MjhlZDAxNTdlMjE1MTRmNTU0MDM4YmUyNmRkMGUyMCBsZWdhY3ktdHJ1bmsKKzQzNjUgYTdmMjY5NjEwZWMyZDc5ZjdmZDQ5ZDU0OGY0NjIzODg3MmQ5NmJhZiBsZWdhY3ktdHJ1bmsKKzQzNjYgYWRhMTlhYWFmOGMwYzhlNTA3MWI1N2E0YmE2OTVkZjQzMDhiNmZjOCBsZWdhY3ktdHJ1bmsKKzQzNjcgODYyM2FhMzkxNWRiNzAyYjEwMmNjNzcyY2IzMzY2ZWFjMjk3MDM0MCBsZWdhY3ktdHJ1bmsKKzQzNjggODkzNDEyMTAxMjk2OWYwM2QwZThjN2UyYjA0MzJlZGRkODVhOTFlZSBsZWdhY3ktdHJ1bmsKKzQzNjkgODA4MThjMTA2ZTNlNmY0ODc3YTg0ZTQyNmMwNjFjN2E3ZmJiNTFiMyBsZWdhY3ktdHJ1bmsKKzQzNzAgZTEyNWY1MDIxZTY3M2QxNDVlM2VjZDhjNmRlYzk4ZDNmNmM4N2FmOCBsZWdhY3ktdHJ1bmsKKzQzNzEgMDE0YTFmYjljNjQ2MzQyOWFjNThhYTQ3YTYzOGQxNjJjZmY2YmI2YSBsZWdhY3ktdHJ1bmsKKzQzNzIgZjM5ZDQzNzI4NzcyNGU1NjI3OTZhYjY1MTE1MGZmODFkMjMwZjRjNiBsZWdhY3ktdHJ1bmsKKzQzNzMgZTBhZTZmOTViY2ZiNDE5Y2UyNzM4OWY5ZmYyOTNlYTJmMjQ4YWEzYiBsZWdhY3ktdHJ1bmsKKzQzNzQgNWYzM2NhNTIxNDUyMTI1OWUzNWZlYjAzYWY5NTZhZTBmZWE3ZDkwYSBsZWdhY3ktdHJ1bmsKKzQzNzUgMjc1OTUxYjA4NjA4YzljYzRkN2JlZGE0NzQ1OTMwNmNlZmViNjQwMCBsZWdhY3ktdHJ1bmsKKzQzNzYgMzg1MDcxM2Y2YWVhZTY5MDhkNjRmY2IzODE1NjI5NjYwZDFiMWFkMSBsZWdhY3ktdHJ1bmsKKzQzNzcgYzEwODhkMGJiNTYyMzA2NmNlNTExZTA4NzBhMjBlMTdmNzU1NDgyMSBsZWdhY3ktdHJ1bmsKKzQzNzggNThiMDQ2Nzk1MGQ4MjIzNjhkMGViYjA1YWM0MDUzY2IyMmNhMDY0ZCBsZWdhY3ktdHJ1bmsKKzQzNzkgYTFhYmE0ZDQ1ODkzYjBhZGE5NjI1MzMxNjYzNzU0YThjMGIyODBkMCBsZWdhY3ktdHJ1bmsKKzQzODAgZWE5ZTg1MzNkNmMzMmE5M2YwZTRhMzE4MTkxZWRjNDMyODQ3OTQzYyBsZWdhY3ktdHJ1bmsKKzQzODEgZTU2YWZkMDNjYTdmYzk0NjA2ZDJkYWViNDA0ZTE4MWM0YjZhOTkzZCBsZWdhY3ktdHJ1bmsKKzQzODIgYThiN2VlMGU1NzJkYTdkZTAwMGUzNGUzOGM3ZWQ0ZDQ4ZjMwY2ZiYSBsZWdhY3ktdHJ1bmsKKzQzODMgZjA3ZDY2YzE2MmNiZmZiNjAzYWNjMmY4Mzg5OTljOTEzZmYzMDM2ZiBsZWdhY3ktdHJ1bmsKKzQzODQgZmFjYTdlMzI4YmE3NDljMTNlZjU2YzA3MzYxNDE2MzNmNTYwYzVkOSBsZWdhY3ktdHJ1bmsKKzQzODUgZTNmZjllMmEzZWI3YWY1ZjE2ZjBmZThkMzk2YTdhM2M2NzkwYmVmZCBsZWdhY3ktdHJ1bmsKKzQzODYgNWJjYWFlZDkwMmY1NTBkYWYyZWI5OGFiNjA1NTdmMjg0MTc2YThmYyBsZWdhY3ktdHJ1bmsKKzQzODcgMjM0ODE3NjUyZGIwNmMyZDRmMTU5YWExNzVmNmE1ZWI1Njc1YmIxYSBsZWdhY3ktdHJ1bmsKKzQzODggZjNhZTdjMTdhYzA4N2Q5YTAwZmIwMWMwODdjOWU4ZmY5MjhhMWI2ZCBsZWdhY3ktdHJ1bmsKKzQzODkgZDlhM2UzMGIyZTQ3M2M4Y2NhYjYwMDViNmIzMzMyNzc3YTg4MDc0MyBsZWdhY3ktdHJ1bmsKKzQzOTAgNDVjNzMwMThkZDAxZDcxY2YzODNhM2EyNGQ1ZDg0NGVhZTU5NjYyOCBsZWdhY3ktdHJ1bmsKKzQzOTEgMzIwYmFlYWI3ODdhYzlkNzA1NGNmMDlkMGQxZTBmMjgzYjNjN2Y2NyBsZWdhY3ktdHJ1bmsKKzQzOTIgMmI1ODFjZTQzZjRhMzczMzk4MjllZjZlYmE1NGFjZmNhMzU3NzIyMCBsZWdhY3ktdHJ1bmsKKzQzOTMgOTNkZTU3NzU5NjZlNTU5ZWY2YzJjYmI3NzY2YzMwNDA3OWNhNzI3MSBsZWdhY3ktdHJ1bmsKKzQzOTQgOGI4OTdiN2YzYWRlOGZjNGQ5NjU0M2NiZmM1OTcwMzBmYmQyMWIyNyBsZWdhY3ktdHJ1bmsKKzQzOTUgMGE5MTUyZjg3MTExNjAyMzgyMmFmMGQ2ZTdlZWZlNjc4YmQ5ZmYxNCBsZWdhY3ktdHJ1bmsKKzQzOTYgODVmMWQyYmVjNjMyY2EzODlhZDA4YzQxNDExYjkwZTBjYjNlMWYzMCBsZWdhY3ktdHJ1bmsKKzQzOTcgMzE4NzNiZDZmNGE4NzE2OGU0NjhiOWE1ZTVlNDU5Y2JiMGE0OGRmMCBsZWdhY3ktdHJ1bmsKKzQzOTggOGU4ZmRkY2JkZmQyYjI1ZTRlMTM3NjFhNThhNjRiODM5MGUxZGQ0MCBsZWdhY3ktdHJ1bmsKKzQzOTkgNGJlNmVmMWMyYzFkZjVlMWQ4MzRmNWFkZmUxNmI4NjkyODFhOWE3NyBsZWdhY3ktdHJ1bmsKKzQ0MDAgYmJmODJlYjRhNmQ5ZDMzZjAxMDgwMGUxYzczNGJiNWQ0MTM5ZWRkNiBsZWdhY3ktdHJ1bmsKKzQ0MDEgYmEwOWQ5MGY0MmJiMjYzMTc0YTZkMGE1M2UzMTA0ZDQ2ZmVmM2UzZSBsZWdhY3ktdHJ1bmsKKzQ0MDIgOWJjYWM4ZGEwMjYyNDQ1YzVhYzA4NTk1YThjNDNhYzQxYjAzZWFiMCBsZWdhY3ktdHJ1bmsKKzQ0MDMgMzE1ZDljODI4MTc3NGQxMzE0ZTA5ZjlkMWIzMmZhNWYzYWU4YWY0MiBsZWdhY3ktdHJ1bmsKKzQ0MDQgZjZiNGU3YWNjN2EzNzRmYTMwYzU5OTg1MWIzMzg0YTk2Y2M2NDU0OSBsZWdhY3ktdHJ1bmsKKzQ0MDUgZTE1N2M4MWQwMzU4OWQ2OTQ5NzZlMTRmNjc4ZjM2NjIxMDc5OGRlZiBsZWdhY3ktdHJ1bmsKKzQ0MDYgYjJjNTZlMDRjYjgyOTA1ZTQ2ZTU4M2U1Njc4YWU3N2U5NzIwOGRkOSBsZWdhY3ktdHJ1bmsKKzQ0MDcgNGM1NzFkOGMzY2UxM2JmZjdmZTUwMTg2MGNhYWYyOGY5ZjIwZDY4MSBsZWdhY3ktdHJ1bmsKKzQ0MDggNDRlOTQxNTI0NWZiMDljZWY1ZjJhMWZiZGZhMWE1YzUyZjM1MDIxYSBsZWdhY3ktdHJ1bmsKKzQ0MDkgODgzYTIyODE3NDcyYWVkMDU4MzZhMDViNGIwOWI2NGM0Y2ZmOTgzZiBsZWdhY3ktdHJ1bmsKKzQ0MTAgNzYxMDUxYWE0MzRkYjFmMDlkYjg1NGNlN2YyMGJiMmQxYTVlYWY3OSBsZWdhY3ktdHJ1bmsKKzQ0MTEgMzhkY2IwOTBmNDhiMDYzODU3Zjg5MzBlYjhmMTc0ZjJmNmU5NTcyZiBsZWdhY3ktdHJ1bmsKKzQ0MTIgNTQ1ZTIzNTgzMWI3YmI0OWZiY2Q3OWFkNmFiZjZjNWNjMThmODdiNyBsZWdhY3ktdHJ1bmsKKzQ0MTMgNzEwMGFjYjBkMzYzZDdlYjc4ODA3Y2Y3OTJiZDliZDhhZGFhNDIwNyBsZWdhY3ktdHJ1bmsKKzQ0MTQgNDI3YzYxOWNhNWQwNzMxOWI2ODFhNzEwMmNjYzdmNzFiYmY5ODZlZSBsZWdhY3ktdHJ1bmsKKzQ0MTUgMDU4YTQ2ZDhmYWY3NjU4ZWExYTI5ZTU2N2E5MTIyZWMzNWM4OGE4MCBsZWdhY3ktdHJ1bmsKKzQ0MTYgNjQxZjZiYmY4MDdiOWNjOTc5MmU3M2I0ZTA5ZmE1MGNmODcyMmRhYyBsZWdhY3ktdHJ1bmsKKzQ0MTcgYTEwZDMxZmYzNTI3ZGE3ZDMyZjg4YjFiMDZmMjY4NjczZjNiZTI1NCBsZWdhY3ktdHJ1bmsKKzQ0MTggNzhiZjY3NWRmNWU1ZGZmYTk2NGRlYzAwOGQ2NTMwMzYyZDkxYWVhMCBsZWdhY3ktdHJ1bmsKKzQ0MTkgM2JhMTczMDVmMDQ3ZjE5MDI0ZDNmOTk5ZDRkMzRmYmMxZjc3Yzg0MyBsZWdhY3ktdHJ1bmsKKzQ0MjAgZGQ3YmU4MTI4NDEwNzE0YjE5NDZlMzk5NjExM2I2NTljMTNkMDc3NSBsZWdhY3ktdHJ1bmsKKzQ0MjEgZGMxZGJmNmI1MjExMDA1YmRiY2FiOThmNzFjYzU2Y2JmOTMzMjU1OSBsZWdhY3ktdHJ1bmsKKzQ0MjIgNGZiMGEwODA3YjA1Njc0MDJhMjZiMTU4YWJjYmY0NTU5MDc4YTVkOSBsZWdhY3ktdHJ1bmsKKzQ0MjMgM2RlNWE3NTQ5NGRmY2EyYTU4NDg1ZDE2MWU0YjdiOGJiNGJmZmUwYiBsZWdhY3ktdHJ1bmsKKzQ0MjQgODQ2MzdjZmRiYzA3NDJhOTc1OTVlNDRkNjY5MjQ3ZGM0ZjkwM2IxNSBsZWdhY3ktdHJ1bmsKKzQ0MjUgODdhNjIwZDg0NzY2MzNkYjhiMzViMTlkOWU0ZDM0ZDhiZjNmODFkNCBsZWdhY3ktdHJ1bmsKKzQ0MjYgNDQ1NDQyMTc4NGQ4NGFjOTRkMzlkOWVmZmM2MjU0ZGZmMDUyYmE4MSBsZWdhY3ktdHJ1bmsKKzQ0MjcgZjIyY2I1ZmVlOWM4YjdkODI2NWIzNzliOGYzNTFmMzAxZDZmMjA4YyBsZWdhY3ktdHJ1bmsKKzQ0MjggZjk1YzE5M2JmZTY1MzRmYTFmM2NmODIwODY1NmMwMWNjMWE1ZDUzZCBsZWdhY3ktdHJ1bmsKKzQ0MjkgZGNmZTdmZDFhY2JjNTY0NGZkZGU3MjE3ZjUyMDI0NDFhOTIxNzcyNCBsZWdhY3ktdHJ1bmsKKzQ0MzAgZTIzNjM5ODc5Y2QwNWI5NmE1ZjI3M2FlMDc4N2QxNjNkZDJmYmNmNCBsZWdhY3ktdHJ1bmsKKzQ0MzEgYWQyNWM1MjM3NmI0NWI4MDlmYmQyYTZjMDQ4ZDNkYjYwMTIwZTJlMyBsZWdhY3ktdHJ1bmsKKzQ0MzIgNDJmOTVlYTc1ODY3MzQ3ZTgyNDAxNjllZDlkOTAyNmJmNjI3MDEzNCBsZWdhY3ktdHJ1bmsKKzQ0MzIgODMyNjE1ZWMwNzY0NmUzMTBjODUzMTZiOGJhNmJjOWIxN2FkMzU0NyBsZWdhY3ktdHJ1bmsKKzQ0MzQgMjM0N2IxZmU4MTJkZDVjZTY1M2MxMDFhMDdiMTIwN2NiYTdlYWQxNCBsZWdhY3ktdHJ1bmsKKzQ0MzUgNGU2MzEwMzJlYWNmMmI5YzZmOTc2YjY1OGM4NDFiMDM5NmYwZjMzZSBsZWdhY3ktdHJ1bmsKKzQ0MzYgMzM1MTU0ODVlYWQwZDZkZTMzZjI4MjMyM2E4YjEyMzNkNjNmZWFhMCBsZWdhY3ktdHJ1bmsKKzQ0MzcgODBiZDdhZjczMjAxOTA3ZDI1NzExZjFmNjgyOGEwZWM2ZDFiZDM2YiBsZWdhY3ktdHJ1bmsKKzQ0MzggNDA2MTFjYWNkNWJkN2EyNmFjMWYwMTQ4MGI0YzkwMDk4NWMyYTBjMiBsZWdhY3ktdHJ1bmsKKzQ0MzkgMTVhMWViMTEzYTQzMDgzNTY4NjBjMTllZGY4ODJhOTY2MzI5MTRjMCBsZWdhY3ktdHJ1bmsKKzQ0NDAgNThlZWY1MWUzMDg0OWM2YTc4MzRlZDlmNjhkMjM1YzQzOTVkY2FkMCBsZWdhY3ktdHJ1bmsKKzQ0NDEgNTU4ZDlmOTVhNjAyMGFkNjMzZjZmYThlZGM3MTkzZjJhNjFlZmI0ZiBsZWdhY3ktdHJ1bmsKKzQ0NDIgZGM2ZWFhMWE4ZmRkZmVkNWU3MzZiMDE5N2U3NTdkZTQ0MDI1MThkYiBsZWdhY3ktdHJ1bmsKKzQ0NDMgNzdkMWNhYmY5NzFjY2NjYTIwODI2N2E1MWIzODRkODQ5MzUxMTA4ZiBsZWdhY3ktdHJ1bmsKKzQ0NDQgNGU2MDU2ZDk4MGUxYTFjMDczMzA5NzIxYmQxOTExY2JjZDg1Zjk1MyBsZWdhY3ktdHJ1bmsKKzQ0NDUgNzQ0MjY1Mzc0NDUwODAxZjBmMWZhZTAyOWQ4MDlhODg2YzEwNmIzMSBsZWdhY3ktdHJ1bmsKKzQ0NDYgZjQ5NTI3ZWNkYjNhZDVjZDZhOTdiNzllZmUwMzVjODY0MDBjOTA0MyBsZWdhY3ktdHJ1bmsKKzQ0NDcgYWYyNmQ0ZDVjMWQ0M2EyYmYzNjRjNDkyZTU1ZTYzNDM4NjI2OGUzNSBsZWdhY3ktdHJ1bmsKKzQ0NDggZmIxOThlMTMxNmI5YmRjMmM4OTc4ZjYzZWU2NWJlYmJiOWZmMjQ5MSBsZWdhY3ktdHJ1bmsKKzQ0NDkgMWRhYjk5Yjg2ZmE4YzNmNmE3YzQ0MDA0ZDI2NGVmMWUzNjEzN2FkNSBsZWdhY3ktdHJ1bmsKKzQ0NTAgZjkwMGMwOTk5NWRmYzQyZjI1NjY4NmMyZWJmODEwYzNmOTMwMTM0YSBsZWdhY3ktdHJ1bmsKKzQ0NTEgNjNmODc1ODQ5YmQ4MzE5MTQ0MTI5YTEwOGM5ZDc2NGJkYTcwMTdiMyBsZWdhY3ktdHJ1bmsKKzQ0NTIgY2Y0ZDg4NjJmMTliZjQ1NzQwZjlkZmMwMWQ1ZGZmM2ZkZGY3MGNjOSBsZWdhY3ktdHJ1bmsKKzQ0NTMgYzVhNTE0ZjhmM2UzZGFjNWFjN2MxYWNjYjVmMWVkOTE3MWRiMWEyMiBsZWdhY3ktdHJ1bmsKKzQ0NTQgZDVmNGQwMTNkY2MxNDQzZTNjY2I0NDA5ZTc4ZmQ5NWIzNmQ5MWFkZiBsZWdhY3ktdHJ1bmsKKzQ0NTUgZjA1YjVjZDc5ZmJlZGI3M2E0OTJlY2I5NmM5YjFhMDRiNjgyY2M0NyBsZWdhY3ktdHJ1bmsKKzQ0NTYgZTg5NTJiOGRmZWZmY2RhY2Y0NDUxODNmOWVhZDA5ZWFjNzczZmM0NyBsZWdhY3ktdHJ1bmsKKzQ0NTcgYTcwODgzODAzMzM4YTAwNTcxODRlOTQ4Y2Y5ZjUyMWQ1NGZhZGRlZiBsZWdhY3ktdHJ1bmsKKzQ0NTggN2Y4NzE5YTM2NjYyMDNiNzQzN2RiNmRkNzRiYjE1ODc5MzYwYjQ1MyBsZWdhY3ktdHJ1bmsKKzQ0NTkgZWQ1ZDBhZDVlYTJmMWZkZTgzNmQ0NDQzMDQxM2ZhOTUxMWFhNjgzOSBsZWdhY3ktdHJ1bmsKKzQ0NjAgM2FhOTE4NGNmZjhiNmM5YmVhMDdhOWE2MDgwM2ExMzI5ZTM1NTk4ZiBsZWdhY3ktdHJ1bmsKKzQ0NjEgN2M1M2U2MWJjNGJhNTc4ZTA0YTY4MTg4MWI1MWI4MzJkMDA4MGY0OCBsZWdhY3ktdHJ1bmsKKzQ0NjIgODExYzRlNDYyMmFhYmY1NmJjYTI4N2MyNDE3ZjY1NTNmOTgzZWE1NSBsZWdhY3ktdHJ1bmsKKzQ0NjMgMzkyZGIxODgxMTkwOGM3YWM3MjE4NWExOGE2OTExYTE0NTEyMWUyMSBsZWdhY3ktdHJ1bmsKKzQ0NjQgZjY1ZWMzZGNjNTYzMWZkNTViYThiZGNhMzFlOGNmNWJmMGNmZmI2YSBsZWdhY3ktdHJ1bmsKKzQ0NjUgZjI3ODAwOTY1ZmY3Y2VkYjA3ZDZkYmE5MmE5ZWFkNGQ2MjViMmRmNCBsZWdhY3ktdHJ1bmsKKzQ0NjYgMGJhZTZhYjljOWUwZTc2NWU4ODkwMjQ4NDI2ZTI5YzZlZWY0MWRlNSBsZWdhY3ktdHJ1bmsKKzQ0NjcgZGM5YjYzMTZiOWIzNTRmMjFmMGEzM2MyODg4NGNlZWNhYTRlZDc3NiBsZWdhY3ktdHJ1bmsKKzQ0NjggNjlkNDhjYmRjMmQ5YTM5Mzc0Mjc2NjZiMTQ2N2I2MmQ3OTI3YWNhYyBsZWdhY3ktdHJ1bmsKKzQ0NjkgZWMwNWQ5MDIxYmNjZDgyMzAxNTM4YzAwZjYyNTI0NDgxYWFmYzBkMSBsZWdhY3ktdHJ1bmsKKzQ0NjkgOTg5NTQ3NWQxOGM3YjVmMzJhZGFmNzhmNzE4ODZhZTA0MWU0ZDEwYyBsZWdhY3ktdHJ1bmsKKzQ0NzEgYTRhODU0NTBlYmFmZTMyNGNkMzRmZWYyNzViZGQ4NjQwYTk2YjZmMCBsZWdhY3ktdHJ1bmsKKzQ0NzIgNWEwNzc1Y2U3YjMxMWViOTZhNzYwZGUyYThmN2JlOWMwYmMwMThkMCBsZWdhY3ktdHJ1bmsKKzQ0NzMgOWUzNDY5YzBlZDc1Y2MyNGExNWRmM2I2ZGNkN2E1OGU2ZWNlNTJhOCBsZWdhY3ktdHJ1bmsKKzQ0NzQgN2JkYTBmMmMxNzBjZGVhMjk2NmU1N2RkOWRkZWMzMDE3OWQ0ZmY1OCBsZWdhY3ktdHJ1bmsKKzQ0NzUgZWUxMmVkZmMyMDk1OTliYTFjMzZjYjRmZmQ5YTVmZWUxNWI0MWQwOSBsZWdhY3ktdHJ1bmsKKzQ0NzYgZWVlM2Q3MTVmMGNmYmYxZWEyZjRjNDI5N2Y3MmJiZDM3MzdjY2IwYyBsZWdhY3ktdHJ1bmsKKzQ0NzcgM2Q0MzFhNTIxMTMyZjIzYTA4YmQ2ZGMzNTQyMjE1ZWIwMjFmOTczZSBsZWdhY3ktdHJ1bmsKKzQ0NzggNzJiMmFiNTZlNDAzNTJlM2VkYjY3MmVkNDFjNWFkNjAwMzA0N2RmYiBsZWdhY3ktdHJ1bmsKKzQ0NzkgZmE3YmM1MjgzMTRiYzQ2MWRhYTQyOTU1Y2RkNmEzODU5MWM5YTNkMyBsZWdhY3ktdHJ1bmsKKzQ0ODAgOTdkNjE0YjI0YzA4Y2I1NDYzNjFjZTFmYzc1MjUxZThmODI4YjFlNyBsZWdhY3ktdHJ1bmsKKzQ0ODEgNWM3NGMzYWVkYTc0YWY2YWM3MjMyMDI4MGJiOWViZjNhOTNmYjNlNSBsZWdhY3ktdHJ1bmsKKzQ0ODIgZDRhMDZlODA1NmI4N2Y5YTMxNjNiNjEyMmRjNDUzNTE1Njk0OTBhNSBsZWdhY3ktdHJ1bmsKKzQ0ODMgMmEzYzhiZWJmMTU2OGFmMjg5NTkyNzUwYTY5ZmJiNjdlOTI0ZTZhYiBsZWdhY3ktdHJ1bmsKKzQ0ODQgNjcxY2YxZjhiMGMzM2JiNzE4MzkwZWYzODNlYzY3NTZjZDIxMGFmNSBsZWdhY3ktdHJ1bmsKKzQ0ODUgMTczOWYwMGZmYzg2MzFlMzBhNjdmOGE2NTM2OTFjOGJhMzNlZWMwNSBsZWdhY3ktdHJ1bmsKKzQ0ODYgNjA5YmZiOGFlN2Y1NGFlZTc1NzAzMTgxNjkxNDM3M2EyMzNhNWJjYyBsZWdhY3ktdHJ1bmsKKzQ0ODcgZTQzYTE5NDJlNTg4MDZhMTI0ZjcwNDFlNzhiZTAxY2JiMWI3MmIzZiBsZWdhY3ktdHJ1bmsKKzQ0ODggZjIzNmFkYzI4ZTc3NzA5MjJlMGM2NzFkMGJmZmFjMjJjZTk3MDU3OCBsZWdhY3ktdHJ1bmsKKzQ0ODkgY2U2OTc0MmYyZTc3Nzk1ZDE3NDJlZGFiYTc1ODJhMDUyZTk1ODI2MCBsZWdhY3ktdHJ1bmsKKzQ0OTAgODNmY2I5ZGI0Y2E4ZWM0ZTlmNzRiNDhlMjc0MGUzM2JkZGE3MTg1NiBsZWdhY3ktdHJ1bmsKKzQ0OTEgMzcwZjhjYmQ3YzMyM2U4ODVhMzMwMjRlYTdmNjYyNTUzYTFjYzg4NiBsZWdhY3ktdHJ1bmsKKzQ0OTIgNTk4M2QyZGI1OTA0NTdhYjA2ZGI2YWJkNmY3NDQ4NWVlZmJkODM4ZiBsZWdhY3ktdHJ1bmsKKzQ0OTMgMDcwMTc2OTA5MGY0OWJmMWEzMTRiM2Q1YzUwZWJhOTAzMzM4M2RhNSBsZWdhY3ktdHJ1bmsKKzQ0OTQgM2Q4MjJlMzJjMzI5NzA0NDBlNTc3OTc0YWQzMjVkNjBjNmM2OWQ4MSBsZWdhY3ktdHJ1bmsKKzQ0OTUgZTI4ZTEwZTVkZWIyYzMxMzI1MTBmMmU2ZDYzZWViZjI3ZmUyMjNiYyBsZWdhY3ktdHJ1bmsKKzQ0OTYgZWE2OTZmMjQ4N2ZjODYyODViOGMzZTExMWUxMWU2NmQ2ODgwN2JkYSBsZWdhY3ktdHJ1bmsKKzQ0OTcgNGViZWU5MDQ5MjRlNmFhNzc4ZTllNDEwYThiYzI0OTcyMDhmOTk2YSBsZWdhY3ktdHJ1bmsKKzQ0OTggMjgxZTQwNjUyZTIzNDUzODQ1NTAwNzI4MGQ0N2MyNjk5N2RlNjhhMiBsZWdhY3ktdHJ1bmsKKzQ0OTkgNjJiYmJmZTZiYmY2ODI4Njg4Njg0M2E3NmUzNzNjZTJiNmZjMjgyOCBsZWdhY3ktdHJ1bmsKKzQ1MDAgMWNlM2RiZWViODkwOTM4MGUzYjFiNzhjOGUyOTE5ODMzNGZiODMzMiBsZWdhY3ktdHJ1bmsKKzQ1MDEgZjE4YzE5MTVjNzIyZDE3NTE5OGEzNmI0NzljOTZjM2QzOWRiNGEyNiBsZWdhY3ktdHJ1bmsKKzQ1MDIgYzg1YWJjYzc1MmIxODQ2NDMwNjkwZmNmN2NhMWVjYzk5NDkyOGIyYyBsZWdhY3ktdHJ1bmsKKzQ1MDMgMDdjZjNiM2JhZjE2ZmMzMzcwYWM5NThlYjZjYzk5MjcyNTUxY2RmYiBsZWdhY3ktdHJ1bmsKKzQ1MDQgMTkzNjNmODU3MGEyZmNmZmQyZGEyNjBhNDVkNGEyMDc1ODQwODJiZSBsZWdhY3ktdHJ1bmsKKzQ1MDUgMjNkZmNhOGFhNzNiMDQwNTZkZTc1MGRmODRiZDNkMzdjZGZmYzk5OSBsZWdhY3ktdHJ1bmsKKzQ1MDYgZDdlOTE0MzdmMGEyN2UyNzQ3Y2UwMmFiMWJhNTA4ZjRlNWQ4ZWMzYyBsZWdhY3ktdHJ1bmsKKzQ1MDcgZGU0OWQ0OTA0NGQ3NTNkZjExMzA0M2I0Yjc5MzYyNTAzZjc4ZGM0OSBsZWdhY3ktdHJ1bmsKKzQ1MDggMDMxOWIxMjMyMWQ3ZGRiZjIwYTBkZmQ2ZmU1YTI5MDMzOTZkNmFkYSBsZWdhY3ktdHJ1bmsKKzQ1MDkgY2YzMWVhYjZhYjVhZTJlMDFmNGM2NmJjYzlkNWZlMmNhZTBjMGExNCBsZWdhY3ktdHJ1bmsKKzQ1MTAgYWZmNWQ3ZDA2NzM1YzhmYTBhZjk1ZGRhYThhMjY3MWFjZDhkZTUwYiBsZWdhY3ktdHJ1bmsKKzQ1MTEgNzljMTcxZjU4MWZjZGVlMzA5OTNmYTNkMmNjZTI0OTEwMjViNTFiZSBsZWdhY3ktdHJ1bmsKKzQ1MTIgNTA4MDM2ZGJiYTNiNGYyZjZmMTI4MzRkYzA2MDBhMDQ4OTFkNjcyMiBsZWdhY3ktdHJ1bmsKKzQ1MTMgODY2YzgxMDY4ZGJkYTI3MWVlMjJiOGMwODVjMzBjMjRhNzE4Y2IwNSBsZWdhY3ktdHJ1bmsKKzQ1MTQgMTQ2ODkwNjUzYTU3ZWExM2IyOGZmNDZkNDZlOTJmZDRjNjM4ZWFiMiBsZWdhY3ktdHJ1bmsKKzQ1MTUgMTcyYmEwNGE1MTkxNmNiNzUwNDEzNTQwZTAzZjZmNDI4MWFmNDFkNSBsZWdhY3ktdHJ1bmsKKzQ1MTYgZDBkMGE2OWI1Y2EzNGI3NWVjNzdkYmZjODlhNWFmZmZmNjIwNDMxYSBsZWdhY3ktdHJ1bmsKKzQ1MTcgNWVkMDY1OTQzNTI2MjE1NDdmNTM2ODE2Yzc0OTA1ODA3MmZmODY1NiBsZWdhY3ktdHJ1bmsKKzQ1MTggMjgwZjMxZTZjNjUzYmU0MGZjM2Q1NWRlZmFmMWNkZDhjYzlmZWVlMSBsZWdhY3ktdHJ1bmsKKzQ1MTkgMjZjZDRkNmMyZDEyYmUzZWI2ZWM3YWQzMzUyZGY4MmZiMWU1N2EyZiBsZWdhY3ktdHJ1bmsKKzQ1MjAgMDAwYWU2NDJmOWI4ODlhMWFkZjk4MjQ5NGYwNzIyOGRlOTQ3NDZjZCBsZWdhY3ktdHJ1bmsKKzQ1MjEgMWI5OTQ1MWZhMTQzNmNhZDc4NDJmZWM1YzU5YWEyYzA0ZDYyYWIwOCBsZWdhY3ktdHJ1bmsKKzQ1MjIgNTIyNzMyNGQ2NGU0Mjk4N2NiODZjZjhiOTdmYTQ5NmQ0NGFkMjFmMyBsZWdhY3ktdHJ1bmsKKzQ1MjMgM2FhN2E3Nzg0NDU1OWFjNDc0YjVmNjI5ZTc1OWYxNmE4ZWRmYzc0OSBsZWdhY3ktdHJ1bmsKKzQ1MjQgYmU1YWI4ZTg5YzQ5ODZlODIyOThhY2E0YmM2NTNiZTgzODkyYmQ0OSBsZWdhY3ktdHJ1bmsKKzQ1MjUgMDQ4ZTkxYTU5Yzc1ZThjZTYwYTM1MzIxZmFkMGNhYzYwNzJhYjNmMCBsZWdhY3ktdHJ1bmsKKzQ1MjYgY2Y2NWExMjRmYTRiNzY5YzY5MjFiNmE5ZjY1YzI5MzRiMGZhN2FjMiBsZWdhY3ktdHJ1bmsKKzQ1MjcgNjhhMzhjZmZjZjU4M2MyOTE4YTUzODg5MDVjMTliZGViYTE5MTI4MiBsZWdhY3ktdHJ1bmsKKzQ1MjggYTM2Y2FjNzljNWFmN2MxYzE5MjVhNDFjNTJlYzI5MTdlYjkxYmQyNiBsZWdhY3ktdHJ1bmsKKzQ1MjkgNGMzNDdlNGQxM2YxZjExNjVjODBkZDliYTQxOGVmZmRhZjFkODA1MCBsZWdhY3ktdHJ1bmsKKzQ1MzAgYWRjMDI4Yjk3N2JkZjZiYjdmNWFjMWNkZTYwMmU3ODZmYThlYmY1NyBsZWdhY3ktdHJ1bmsKKzQ1MzEgMzg0ODA5NGYyNTljYTdiYWM2OTQ0NmJlN2YyODc5MTlkN2VhMzQxOSBsZWdhY3ktdHJ1bmsKKzQ1MzIgZGY2ZmU4Mjk2YmMzMWQ1M2MzNDk0MjY1ZTc1YWFlM2ZkYmE3MDBjZSBsZWdhY3ktdHJ1bmsKKzQ1MzMgNWJiZjBhOWM5YTQyOGFjNzg2NGQzMDAwOTk2M2M2MTRlMGJlMjdmNiBsZWdhY3ktdHJ1bmsKKzQ1MzQgYzIxY2M3YjNjZTI4MzM3M2NmN2QyZTcxMzY1ODk1NzAzZGIzYzcxYyBsZWdhY3ktdHJ1bmsKKzQ1MzUgYWZlY2RlYzk5NmZmNTAwMzM2MjViNWY1Y2M2YjdmYzcyZjk1YTQ5NCBsZWdhY3ktdHJ1bmsKKzQ1MzYgNGFmYTdlYjQ3MzRiY2ZhZjY1MmZkYmZkYzg3N2IyODRmYmY3M2RiYyBsZWdhY3ktdHJ1bmsKKzQ1MzcgZjJkMjY3ZWRiZmQ2ODc2NzA5MzkxNWZhMTM3ZGRlNzBkZTEyZWE4MyBsZWdhY3ktdHJ1bmsKKzQ1MzggYWJiZjJhNGI0ODhiMzcxYTJlNjQ1OTk1YWEzY2UxNjFlNDc1NzQ3YyBsZWdhY3ktdHJ1bmsKKzQ1MzkgODkyMWEyODgxZmM3ZjI2NDY4Y2Q4NjI2MjUwYmE0YWYwNDM0ZWRkNiBsZWdhY3ktdHJ1bmsKKzQ1NDAgMjYwNGQxMWM4YjQwNDU5YzBhY2IyMDVmZTc1YWIyYmQ2MDk5YzczMSBsZWdhY3ktdHJ1bmsKKzQ1NDEgNjUxNDZiNTJmMTZiOTM0ZGRkMGQ0OTVhY2EyZDdiNzFjMmMwOWMyZiBsZWdhY3ktdHJ1bmsKKzQ1NDIgMTk0MGUxZTBjZWRmNWQ1NWU3M2MwZmRlMGY1MzZhZGMyOGM3ODAzMyBsZWdhY3ktdHJ1bmsKKzQ1NDMgNTNhYTUxNDMzZjdmZDVkNTNjMjcwYmJjZDAxMzRiNDQ3MTI3MGI4NyBsZWdhY3ktdHJ1bmsKKzQ1NDQgZjc4YjM4N2I1NGUwYTM5OTVhMGQyNzVkOWJlNDZhODJkZjkxMjcwZiBsZWdhY3ktdHJ1bmsKKzQ1NDUgYjRkOTgyYzY0OGJiM2U3NjAyYTk1OWY0MTUzMDU4NzE1YTQ4YTE4MiBsZWdhY3ktdHJ1bmsKKzQ1NDYgYjAzYjQzYmVlMWFiM2VjZmY2YTUyM2NhYTUwMTY2YzA5MThjZDc4ZSBsZWdhY3ktdHJ1bmsKKzQ1NDcgZThjYWZiMmI3NDNhN2U0YzAzZDg2OWEzNDJhMGNmNmNlZTEyOTE4OCBsZWdhY3ktdHJ1bmsKKzQ1NDggZDM1NmM0NzNkYjk5M2ZlNzRmYmZmYmJkNzM4NWI2YmY5MzAzYTdjNyBsZWdhY3ktdHJ1bmsKKzQ1NDkgMGQ3ZTRhYTU5NWY3YWE1YjRkOWI4MGU1ZGFhMDBiNzUwNzU0YzBkZSBsZWdhY3ktdHJ1bmsKKzQ1NTAgZDVjOTM1YjlhN2I1MGNlNTRhOGZkMmE1YTM1NjJjMDRmYjJkYzM0MCBsZWdhY3ktdHJ1bmsKKzQ1NTEgZTQ1ODg0MDRmZGZmMjU0MDBjMDU4MmE1NTMwNmI5MDE2MzQzOWU0OSBsZWdhY3ktdHJ1bmsKKzQ1NTIgYjdiZTAzODJmOWVlNjlkMTZhMWI4Y2ZmNzJkOWZkOGVkODU1OTM1ZiBsZWdhY3ktdHJ1bmsKKzQ1NTMgYmEyZTIxYTU0YWUzOTkxYTRiZWEzYjhlYmFjYzhmMzQ2ODRkZGNmZCBsZWdhY3ktdHJ1bmsKKzQ1NTQgNDU3NGVkNjU3Y2M5ZjlhNTVjYWU0NDU0MTVlNmE3OGQ5ODc0YTg5YSBsZWdhY3ktdHJ1bmsKKzQ1NTUgZmRjY2MzMjIyZDBhZTc5NDFjYzQ1YWE2ZDkzMzA4OTA5ZmJjMzQ4NyBsZWdhY3ktdHJ1bmsKKzQ1NTYgMzA4MjFiYzJkY2I3NDRmYjBhZjE3NWQ3YmQyOGQyOTVkYWI2MjVlYSBsZWdhY3ktdHJ1bmsKKzQ1NTcgYmJmYWMzZTI1NzBkOWFiMjIwZGZmN2Y2MWQ5MTIyMmJiOTVhN2FlYSBsZWdhY3ktdHJ1bmsKKzQ1NTggNzQ5M2M2ODA1ZGM2ZTVjYjkzNDdiZWI2NjhlYjExMWUyYWMxMTFjZSBsZWdhY3ktdHJ1bmsKKzQ1NTkgZWE3YjJiZjBiNTIxNjFmOTZhNWE5N2MyY2E4YmU2ZDMwMGRjNTFmZCBsZWdhY3ktdHJ1bmsKKzQ1NjAgMmViYjIxMjg0ZjM0NTFhNzY5YmY1NzhmNmJmZTQ0Y2RlOGU0OTZiZCBsZWdhY3ktdHJ1bmsKKzQ1NjEgMDE4MzBkYzhkNmU1ZDM2YmZkMDFmMjJmNTY3MTJlZjIyMzllZjFkMCBsZWdhY3ktdHJ1bmsKKzQ1NjIgYWY0MWY0YTIxNjgyZWE4MjEzNjI3YWRkNDUzMjEyZTYwYzNlN2NmMiBsZWdhY3ktdHJ1bmsKKzQ1NjMgMDcwODBhMjk2MDcwN2JiYjlmMDFlZjY2MzBhOWZlYzA0OTViYzIzMyBsZWdhY3ktdHJ1bmsKKzQ1NjQgNmM0OTA1ZmZmZjAxZTliODkyMGU0ODI5YTkyOGI2NWZmY2Q3OTE5MCBsZWdhY3ktdHJ1bmsKKzQ1NjUgMzBjYmUwMjRkZjQwOWVjMGQ3ZTMyYTQzNzQ2ZDc4MzY0ZDU0MjNmYSBsZWdhY3ktdHJ1bmsKKzQ1NjYgMjY2OWVmMTRjMjA1NDE5OTBkNmRiY2VlOTllMWJjMmY0MzY3NmZkYiBsZWdhY3ktdHJ1bmsKKzQ1NjcgNzZjODYwYTE4ZDgyMzQzZmI0ZTA3NmRhZGNlNGZiYmM1MDgwZTczOCBsZWdhY3ktdHJ1bmsKKzQ1NjggNzk0N2MwZDE2Y2EwNDFlNjkxNGVjODkyMTg1MGMzOGI0MTI1MjU5ZCBsZWdhY3ktdHJ1bmsKKzQ1NjkgN2VhMzY5ZDA1YzJlZTE5NWUxMjJkNGQ3Y2ZkMGQ4NTEyMzA4ODQwMCBsZWdhY3ktdHJ1bmsKKzQ1NzAgZDczZWVkMzUzMDAxMGM0ZmQ0YzgwMmEwOTA5M2FlMGVmNGQzZjYxNiBsZWdhY3ktdHJ1bmsKKzQ1NzEgNWRmNjlmMjk0Y2NjNmY2ZDQ2NjFlODRlMzllMDYxMzJiMDcwYTc1NCBsZWdhY3ktdHJ1bmsKKzQ1NzIgYWVkYTg2NGMxMWM0NDYzOTI1ZWRkMjBhMTg2YWQxZDQ4ZTdlYmRiMyBsZWdhY3ktdHJ1bmsKKzQ1NzMgMWRhZTBkMzA2MmQyNjNiYjZjYzY4NTFlNzI4OWEwNWM3NjZhMmU3NSBsZWdhY3ktdHJ1bmsKKzQ1NzQgODRiNjFmZTQ0NTczMDQ4NDAwY2RiMWU3MTFmMDZkYWNkZjRiMzJhYSBsZWdhY3ktdHJ1bmsKKzQ1NzUgODZkOWU5MTQwNWM4NTUzODk3Yzg4NzBjNDBlY2VmMmI4Y2FmNjVkMCBsZWdhY3ktdHJ1bmsKKzQ1NzYgYmEzZmQ5NmYwNTVlZjkxOWI0ZDgwMzI2YjE2NzViYzM1MjgzODY2NyBsZWdhY3ktdHJ1bmsKKzQ1NzcgZmQ1YWI3ZTgyOGZjY2MwMTQxNTk2ODI0ZjhhNzVjYWFhMjZhN2FhNSBsZWdhY3ktdHJ1bmsKKzQ1NzggMzY4NDdiOGI1NzVkZjY1MWY1OGFlZDU4MTM2OTZlYjc2ZGY2NTI0ZiBsZWdhY3ktdHJ1bmsKKzQ1NzkgYmQwNjFkYzMwODQyZTc1MDRlZGU0ZDdjMzdmM2U4ZTE3OTc5MDVkNSBsZWdhY3ktdHJ1bmsKKzQ1ODAgYWYzNmJhZTM0M2ZjZjhkYWVmNDhhOTg1NDFlMzdjMzk2ZjI0MDhlOSBsZWdhY3ktdHJ1bmsKKzQ1ODEgNjk1NDAxNjkyYzQ2ZmI2MmM0ZThjOGRiZDdjZjkxMWMwZGNmNTVkZiBsZWdhY3ktdHJ1bmsKKzQ1ODIgOTJkYTg5MDE1MTdlM2YxNWM5OGM5MThiMmRmMjQwYTA5MWE0Y2VhNCBsZWdhY3ktdHJ1bmsKKzQ1ODMgMDUzNjBjZDYxNmFlMzg4Njc1MTA1NDVlNjk0ZGRhYjI0OWU2Yzc0YiBsZWdhY3ktdHJ1bmsKKzQ1ODQgY2EyN2MyZmUwYjhkNGM2YjU2ZTRmMDZiNjMxYTVhNmQ4YzQ3MjYzYiBsZWdhY3ktdHJ1bmsKKzQ1ODUgZmU5MjJmZWQ2YjMxZDhjODRmZjYwYWU4ZWI2NDUzMjUzMDFlYzUyOSBsZWdhY3ktdHJ1bmsKKzQ1ODYgNGRkZjU1NDQ1N2FkNWQxYjIwMWNjOWM2YWYzMjMxMWQ2MWJmOTQyYyBsZWdhY3ktdHJ1bmsKKzQ1ODcgYzE2ZDY5M2JmZTczZjUyZjQzZjgwNzgwYThmNWExZjUxMjZlNTkwYSBsZWdhY3ktdHJ1bmsKKzQ1ODggOWQ2MWM1NzQ5YmY4Mjc4MWE3YTA2MDM5NDY5ZGM4MTNhZTI4NDk3MyBsZWdhY3ktdHJ1bmsKKzQ1ODkgNGY5MGI0NzRiZWVjMzQwZjA1OWYwNTk2OGFkMGFhOTk3ZWI2NmNjMyBsZWdhY3ktdHJ1bmsKKzQ1OTAgYzU3YjVjNTBhMmQyOTU0ZjZhMGMxY2Q4YTFiNTFmOGNiMDAyM2JlZiBsZWdhY3ktdHJ1bmsKKzQ1OTEgYzkwODVmMWU5NzdmMzM4MDM0MGJiZmJjMTkxYzFiMmYxNTYzMTllZSBsZWdhY3ktdHJ1bmsKKzQ1OTIgMjNmMDQwMzE3ODI4MGFlMDdjZmIzMDg0ZmFmZDhjYzU3Y2VhYzY1MiBsZWdhY3ktdHJ1bmsKKzQ1OTMgOTRlMmNhODY1OTBhNTZkMzg3NGRjMjRiZTVkZWI3M2Y5NTNiNzgxZiBsZWdhY3ktdHJ1bmsKKzQ1OTQgMTczZGQwMDg3OWFiNjAwMGM4MmRjNjQ5OGZjOGY3MmZkZjdhOGQ0YSBsZWdhY3ktdHJ1bmsKKzQ1OTUgODQ5MjNkOTJiNTNlN2FjMWE2MzIyYTMyODBlMzQxYWU3ZDM2MTJiYyBsZWdhY3ktdHJ1bmsKKzQ1OTUgMTZlYjRjNTFlZTk3MTY5MDQ2MzQwOTk4ZTg1MGE2M2M2NTIyNWIwYSBsZWdhY3ktdHJ1bmsKKzQ1OTcgN2FlODQ3YjFiMjY5MjI4YjljYzM4NGUwYmFmZDA0YTM2NzkzYmUxYiBsZWdhY3ktdHJ1bmsKKzQ1OTggMGU2MGNkMjA3YWRiYjI0YmQ1YjNjMmI4NDRiN2MwODY3M2UwNDRhNSBsZWdhY3ktdHJ1bmsKKzQ1OTkgZTllOTNlMDczNTRiOGJjMGIzOTQwMTQ2MmE3MGE2YjliOWRiYTBmOSBsZWdhY3ktdHJ1bmsKKzQ2MDAgOWFmZGJmOTQ0YzJhMDNhNjQ5YTU3ZmUwYTMyM2NkMTIyNTFjNTYwZCBsZWdhY3ktdHJ1bmsKKzQ2MDEgODM4ZWY5NzY4ODIxMDMwMTY3ODViOTdkNDBlYjkyY2Q5ZDMwMWY5YyBsZWdhY3ktdHJ1bmsKKzQ2MDIgZjk5YTIzOTk4NzcwYmFiN2UyZjI1NjU2ZjdkMDA0YTY1YjkzOGI1MiBsZWdhY3ktdHJ1bmsKKzQ2MDMgNjA2MGQ3ZmIwN2UzNDI0NWU5NzMwYmZmZDg2MjEwN2U4ODRmNGEzNCBsZWdhY3ktdHJ1bmsKKzQ2MDQgNDQ4NDM1YmZlYWRjMGQ0NmNmNTVjNjhjOTJmNTAzZjZkOWNmNjgxMSBsZWdhY3ktdHJ1bmsKKzQ2MDUgNWZkODUyNGRkMDNhMjEwYTkzNzhiNmIzMmFjZTE3M2I4ZjAwMWM4NyBsZWdhY3ktdHJ1bmsKKzQ2MDYgMWE1MjM1MWEwMGIyNmNkMDU5YTZiYzllMmQ5NTE4ZTc2OWExZjFkYSBsZWdhY3ktdHJ1bmsKKzQ2MDcgZTU0Yjg2NTRmOTM4NGYxMjI3YmEyMTk3ZmViNWZlMTYxMWFkZGVjOCBsZWdhY3ktdHJ1bmsKKzQ2MDggMDcyOGZlYjFkMDMxYjQ4ODQyYjcxOTgzNzBhZjJjNzg2ODhhZjU0MiBsZWdhY3ktdHJ1bmsKKzQ2MDkgODQ5NzFkMDE1OTY1ZThlOGYyZjQxZjQ0NTkzZjIzMmY2OGQ2YTU0NyBsZWdhY3ktdHJ1bmsKKzQ2MTAgY2ZiYWI3OWE3OTlmNDY1MzU1MjI3MWRhNTAyMGJlMjIyMDUxNjM4NyBsZWdhY3ktdHJ1bmsKKzQ2MTEgMWUwODM4YmI4ZjIyMDhlMjkyYjMwMDM0MTYyM2VmODMyYmMyMDlmOCBsZWdhY3ktdHJ1bmsKKzQ2MTIgMjk3MjBjNWQ5ZTdlYzQyMjFmYzg3ZjFiMjIyZjgwNTMxOWJmZDcwNCBsZWdhY3ktdHJ1bmsKKzQ2MTMgYTYxOWE2MWFhZDFlYmI4Yzg4MDI0MWZjMmNlZDBmMWUwNjJjMDIyZCBsZWdhY3ktdHJ1bmsKKzQ2MTQgODk5YjRlM2RmZDRjZmY5OWNhNDBlZDcyYzA3NTM4NDUwMjQxNmUxZiBsZWdhY3ktdHJ1bmsKKzQ2MTUgZjA2MjIyZTA3Y2E3NTUzNzk1ODM2ZjdlOTQ0NDcxODVhNjkxNTg3YSBsZWdhY3ktdHJ1bmsKKzQ2MTYgYzlhZWEzNGFlNGI2OTk3MTRhZTgxM2U0NzVmNDg3NGUyYzFkYmJjMiBsZWdhY3ktdHJ1bmsKKzQ2MTcgZWUwYjNjYjM3YWY4OGNjNGM5MzY3MGExNmQxOWE4ZTNjMzhiOTgyYSBsZWdhY3ktdHJ1bmsKKzQ2MTggNDU5YmY3ZDA0ZTA1YmViODI5ZTJkNGQwMjViN2RhZjgzYzk2YjAzYyBsZWdhY3ktdHJ1bmsKKzQ2MTkgZjQ5YjYzNzI0OTJmMjhiYjczYjQxNTM3NmQ3ZTNiNGQyMWI4NDAwZCBsZWdhY3ktdHJ1bmsKKzQ2MjAgN2E2YjU3ZmViYWM0NmMxMDYyMWNkY2RkNzMzOTIxOGQ0YzliYmJmZSBsZWdhY3ktdHJ1bmsKKzQ2MjEgZDkwYzkxNGM1NzdkMjBiNDIxZjEwZTcyYTkwNzM5NWU1OGIzOTZkZSBsZWdhY3ktdHJ1bmsKKzQ2MjIgOWE5ZjNmNWQ2Zjg2MDMyMjEyZjAwNzNhNTI5OTBkOWYxZTE4MDQwYyBsZWdhY3ktdHJ1bmsKKzQ2MjMgOTJjZDg1NDcwYTc2OWRmNTc3ZDgwY2E2MjRlNmEwNzU4ZGVkMTA1OSBsZWdhY3ktdHJ1bmsKKzQ2MjMgYjQ1YzY4ODc1NmQwNGZiODRkNGEwZDUxOGZjM2Q3ZTNjYjI1ZmE4ZCBsZWdhY3ktdHJ1bmsKKzQ2MjUgN2ZmNmQ5OTlmMDU5YTA4YzhjODJiODNjMDUyZDUxNGY2Y2JlNjUxOCBsZWdhY3ktdHJ1bmsKKzQ2MjYgOGFkY2I4MDhkOGRkZDg0Mjk1NTQ4MWZkYzI3ZmY2MjIxZWVmMmQ2MSBsZWdhY3ktdHJ1bmsKKzQ2MjcgNmYzNWExYWQxYWNjODMzNTkwZjk4MjU3N2M1MGViZDYwYmFlOWRiNiBsZWdhY3ktdHJ1bmsKKzQ2MjggNWVlZDgzMjE2ZTZjNTViODU2OGE5OWY1NjQ3Y2FjOTBlMWQ5MTIxMCBsZWdhY3ktdHJ1bmsKKzQ2MjkgMDQ0NTcyNWZlNWRlNGNhZWFiZjQ5MzhkNTRmZmMwNmYwMTBkNjc4YyBsZWdhY3ktdHJ1bmsKKzQ2MzAgMWU5ZTc0OTQ0YmI1MWY0OGY4NjI5MTliYTY4OTBjMTI3MWJjZDY2MCBsZWdhY3ktdHJ1bmsKKzQ2MzEgOWY1MDBhMzRjMzU1NDE4MTFjNTY0YTg5MmVkMjZmNzg2ZGRmNDdjZiBsZWdhY3ktdHJ1bmsKKzQ2MzIgNjVkODdmMDZmMDhmYzMwYjgzYWMwYTM3MTA0ZDY2YjBjNDA0Njk0OCBsZWdhY3ktdHJ1bmsKKzQ2MzMgOGRhMDNkZWNlZjU5M2RkZTBlNDRhYjEyN2E2YzNhNGNjZGMwYjk0OCBsZWdhY3ktdHJ1bmsKKzQ2MzQgOWI0NTFjODRhN2JmOTMwMTEwMTI2Mjg1OTRmMmE3YjQ0YTZmMjA3OSBsZWdhY3ktdHJ1bmsKKzQ2MzUgMDA0ODAyNGI3ZWY4NGNkOWMwMGU1NzhkOTc2MjBjMTUxNTllYzI1ZCBsZWdhY3ktdHJ1bmsKKzQ2MzYgZGZhYmIxM2JjZTcwZmMxODFiMjZjMDJiNDE5Y2ZhMDU1MDk5MTg4MiBsZWdhY3ktdHJ1bmsKKzQ2MzcgNjJiZGRlZDVmMDBhMjMxNTFjNDgzOTZmMjA3MWQ1MjE1YjdhYzRjNSBsZWdhY3ktdHJ1bmsKKzQ2MzggODdmNGQ2ZDJlOWM4OWE4NGU5OTAyMTZjYTY1NzViODgxNWY5MjczZSBsZWdhY3ktdHJ1bmsKKzQ2MzkgOWM4YjQzMjM4MDhiYzBmOTkxMzNkOWIyN2UyYjE0NWU5NzljZDEyMyBsZWdhY3ktdHJ1bmsKKzQ2NDAgOTVjYjUyYjg1Zjc4NjdmYjQ3YzY4Nzk5NDI0NWJjN2M1ZDViOWE1MiBsZWdhY3ktdHJ1bmsKKzQ2NDEgOTY4ZTI0ODRkOTRkYTM4MmQ0OWM3MzNjMDNjNGUyOTkzZDExNzQ0NSBsZWdhY3ktdHJ1bmsKKzQ2NDIgNjQ2MWZmMGM0YmVlNmYzMDU2MmExNTQ4MzM4N2M1ZGUxNzZjNWYxOSBsZWdhY3ktdHJ1bmsKKzQ2NDMgZDU5NTY4MzgxNDQ3ZDBlMzI5OTVmNzVhNzNkMjBhMjg1ODhkODM0YiBsZWdhY3ktdHJ1bmsKKzQ2NDQgYjQwZTEwYmRhMjMxOTFkMmQ3NmI3ODgzNDZkNGQxMjJhNDg2YjA2MiBsZWdhY3ktdHJ1bmsKKzQ2NDUgZjQ4OTUxZGFiYTRmZmMzZTc1NjI1ZjM0YTRkZjNlNjNhYWZlZWJlYSBsZWdhY3ktdHJ1bmsKKzQ2NDYgZjc4ZmJjY2FmNThjYzY2ZDFiODA2NjM1MTkyYjUxZWIyNjA3MmVlMSBsZWdhY3ktdHJ1bmsKKzQ2NDcgMWMwMTJkODJhOTc1OGMyMmIzNzQ1Nzk3Yjc0ZWZkYTk2ZThiMTMyNCBsZWdhY3ktdHJ1bmsKKzQ2NDggOGU0NzZjYTNhN2EzZjJmYWY2ZjFmNjUxN2Q2YmJiODg3NDA2OTY0NyBsZWdhY3ktdHJ1bmsKKzQ2NDkgY2NjMjc5ZmY5MzVkMGY1NGE2YmM5ODE1ZmUxNTEyZDUwNTI1MmJlNyBsZWdhY3ktdHJ1bmsKKzQ2NTAgNWU1NjhiYWNmYmU5OWJhNjJhODJhMzhhYzUyNzQyNWJjZjc4MmRmYyBsZWdhY3ktdHJ1bmsKKzQ2NTEgOTFhNDNlYTExYmEzNTk0YzkwMmMxZWJlNjU2NGIxMDI2MTBhZTk4YyBsZWdhY3ktdHJ1bmsKKzQ2NTIgMjc1NTdlNzBhOGYwMjliY2Q3OTNiNzJjNmFhMDk3ZDMyZTA4MjMyMSBsZWdhY3ktdHJ1bmsKKzQ2NTMgZjQ2NzFiNjgxYWI5OGU3NjIwZmQ5NzI5YzQzNjE4MGU3MDljNDYwOCBsZWdhY3ktdHJ1bmsKKzQ2NTQgNWFlOTIyY2ZlNDA0OTM0N2JiMDc0MDNkMDBlNTZkYmVhYmRmZDE4ZSBsZWdhY3ktdHJ1bmsKKzQ2NTUgOGYxZGFmZmU3OTliY2YzNGUwN2FmYmM5OGQxMzc3MDg4MzQ2ZjRjYiBsZWdhY3ktdHJ1bmsKKzQ2NTYgOTg5NGU1NTQ2OGVjNjBmNzVhMmFmMDA2MzNkZjgzNDAwMzQ5NDU4ZCBsZWdhY3ktdHJ1bmsKKzQ2NTcgY2RiMzczZjY1YmYzODBkYmQyOTQ3MmQ3ODgxNGIyZTAwZTAwY2I0ZSBsZWdhY3ktdHJ1bmsKKzQ2NTggMDJkZDYzZDNmZTliMzEzNzBlZTU3MzY2NGJlMmEyMTE5NWE0NDQ1ZiBsZWdhY3ktdHJ1bmsKKzQ2NTkgNTI3ODg5YWU4NDUwMzkwOTc3ZDNlODk1MjFiNGMyZGNlYjkxMzQxNSBsZWdhY3ktdHJ1bmsKKzQ2NjAgMGUzMDI3NzFlZTVhMmJmYzdiZWUxOWMyODdmY2Y5YjNmODM2MjViZiBsZWdhY3ktdHJ1bmsKKzQ2NjEgMzNlYTljYzdkN2JhZTcyM2M4N2EyNzIyNmQ4MjM0MDNjNDg0YTg5MSBsZWdhY3ktdHJ1bmsKKzQ2NjIgYzY4YTAxMTNiNzVhMjdmZWEzM2JkMzY0MGNmYzUyMGYxYTUyYWQ3ZiBsZWdhY3ktdHJ1bmsKKzQ2NjMgNDA1M2Q0Y2I1MGUwZDcwMTc0NmE3NTc0OWE2N2NhMDhiN2NmMDI4OCBsZWdhY3ktdHJ1bmsKKzQ2NjQgZTczNGM3MjM1NzI3ZTc0YjU0YWQ3OWIzMGNmY2VmMmQzNWMyNDEwYyBsZWdhY3ktdHJ1bmsKKzQ2NjUgZWIzZTYxZGIwZGRhOWM1YWY0NTU4OWNhMjIxZTM4MWU2YjE1ZjNjNyBsZWdhY3ktdHJ1bmsKKzQ2NjYgNjRlYjQ4N2NhNDY1ZDZiNmEyODYwNWU5OThjODc1MWNhYTE3NzFkZiBsZWdhY3ktdHJ1bmsKKzQ2NjcgOTM5NzkxZjIxOWE2M2VkODU2MWVjNmJiNzU2YzRlNzdmNGU5YWY1OSBsZWdhY3ktdHJ1bmsKKzQ2NjggMjcyMjI5MzQ4ZmUyYjc3YTE1YzRlMzE3NWE3NTY5MTQxZWVkODE1YSBsZWdhY3ktdHJ1bmsKKzQ2NjkgYTNiZDYxNjMyZjE0NWVkOTg4YTFjMmFiN2Q1OWEwYzUwNGM3OTc1ZCBsZWdhY3ktdHJ1bmsKKzQ2NzAgYWJlZDM2OGQ2OGVmMTg5MGM2NzI1Y2Q5MWViOWYxZjJkMmVlZmYxOSBsZWdhY3ktdHJ1bmsKKzQ2NzEgNzZkNDNjMDMzODQ4MTBiNTI3MTJhYmVkYzZiNTllYTcxZjljZDE5NyBsZWdhY3ktdHJ1bmsKKzQ2NzIgY2ZlYWE1MDgyYmE4MzFiNjIxYTAzNGI3NzI5M2I4NGViN2MzMjI4ZiBsZWdhY3ktdHJ1bmsKKzQ2NzMgMDYxMjEzMmUwMDE4NTdlZTRhOGM0ZWEwZjkxZjM1NmM0YzMxNmVjNSBsZWdhY3ktdHJ1bmsKKzQ2NzQgOWJjM2E1YmFhNjgwZTM4ZDQwNWNjYzcxOThlOGQ0ODJlNmQwNTkzNiBsZWdhY3ktdHJ1bmsKKzQ2NzUgNzRhMGE2MTIxYWY3MWI2YWM3MzQ5NjVhZGNiZGE3MDVjOGY4YTE4ZSBsZWdhY3ktdHJ1bmsKKzQ2NzYgYmJiNTZkYzNiNTI2YjU1MmI1M2Y2OWU3MmNiMmRjMDNjNzBmZmJkOCBsZWdhY3ktdHJ1bmsKKzQ2NzcgYWEzMzY1ODE1YzIwZDc1YjIwMTMyM2VlNjRlMjEwNzM0ZmY1ZDdiNCBsZWdhY3ktdHJ1bmsKKzQ2NzggMzI0MzVkMzNmMzRhNmY0NGM4ZWNmYjU0MDhkNGEyMzhkNjg2N2U5YiBsZWdhY3ktdHJ1bmsKKzQ2NzkgNDk3MTk3ZjM1NzNjMTBiOTRlM2UxMDhjNmU5Y2NkZmUyNTE4NzNkZSBsZWdhY3ktdHJ1bmsKKzQ2ODAgYzJkMThiNTgyMzJlZGVmMTY1YjMxNTBlNjIwMzQwOTk1OTAyNjJhMyBsZWdhY3ktdHJ1bmsKKzQ2ODEgZTUzZDAxOWU3ZDQ3NjEyZDJlNjQ2ZmY3ODNmNTg5OGJkNGZiNjRjZSBsZWdhY3ktdHJ1bmsKKzQ2ODIgOTU4OGMyMzhlNjYwOWMxMzEyNDEyYjViMjEzZGFmYTYzZmNhMGJhMCBsZWdhY3ktdHJ1bmsKKzQ2ODMgNGJjZjFiOTZlZmVjNGYxMTZiMzMwOTQwZjM3MTNhMmZjOTc2Mjg4MiBsZWdhY3ktdHJ1bmsKKzQ2ODQgOTJlNmY1ZDhiZTgyYWI5MTQ0OGJjNjczZmQ0ZThmZjRkNzU2YzU4ZCBsZWdhY3ktdHJ1bmsKKzQ2ODUgMWU4YjM0N2EwNTZjZjM2NjZlZmU1MzE0NmFlMzcyODNkYzg3MjRhZiBsZWdhY3ktdHJ1bmsKKzQ2ODYgOGQ1ZTM2YjM3YTQxMzIyOWZhOTFlMTE3ZDc4YTFmNWU0NzhhOTcyNSBsZWdhY3ktdHJ1bmsKKzQ2ODcgMDEwMzc1MzJjMDg2MGExYmM5OTQxMTM3YTI0ZDlkN2NmZTNiYjJiOCBsZWdhY3ktdHJ1bmsKKzQ2ODggN2I2NTQwNDk2ZjU1NGJiNmU1NzRmMWEzMmU2NTAwZmI2ZWRjMGIzMyBsZWdhY3ktdHJ1bmsKKzQ2ODkgMDFlZDRjZDIxNTc2Y2JiNDUwYzhiODE2ZWY3MTBjZWE3ZDQ0ZmNiNiBsZWdhY3ktdHJ1bmsKKzQ2OTAgMWI2NjI0OTc0MjZiNTNhMTBlMmU4OGYwMDgzODg2OWNkZDY1M2NmMyBsZWdhY3ktdHJ1bmsKKzQ2OTEgMGIwYjE4ZDY1NWQyZTljMDVlNGU1N2ZlMmNmZjhkNmE4MWUyMWM1NiBsZWdhY3ktdHJ1bmsKKzQ2OTIgYjVkY2JhN2I3MzJkMDNiMGRiZGMwMDA1MWNiODAxZTc3ZjEzZTcwNSBsZWdhY3ktdHJ1bmsKKzQ2OTMgNDQyYmFlOGZjZmRjNjUxNGYxOWQxYWNmZjhiYTYxMTE1ZGYyZmIwOCBsZWdhY3ktdHJ1bmsKKzQ2OTQgOTRiODQ1MzVjMzRlMTFkOGVhMjViYWJkYmMwYmNiYmUxNDYxYzU4NyBsZWdhY3ktdHJ1bmsKKzQ2OTUgZmVmYWUzN2MwNTNjZmQzYmNlZjNkOTM5YThmM2ZkNzU2Yjc4YThiOCBsZWdhY3ktdHJ1bmsKKzQ2OTYgZDNiNWJlMGM4NzJmMzNiMWVlOTEwODYzNDRhZDJjNzBjNjIwMjFhYiBsZWdhY3ktdHJ1bmsKKzQ2OTcgMjgzYThlYjJlMzE3Y2I3ZDdiMTE1YWM4YjA0YTJmZmU5ZjYzNGJlZiBsZWdhY3ktdHJ1bmsKKzQ2OTggNzJlMDVjNjFjMmZlNTkzMzc3ZWE3M2NiOGViNGI1Yzg3YjIwNjI1NiBsZWdhY3ktdHJ1bmsKKzQ2OTkgN2ZhNDhhYjRiZTBmNGJjM2Y1MTNhNTA4NGMxOWI2ZmYzYTAyZjYwMCBsZWdhY3ktdHJ1bmsKKzQ3MDAgMWFiMzViNmY2MzhhMjY2YjcxNzY3NzVmNDQwOGNkM2U5ZGI2YWJjNSBsZWdhY3ktdHJ1bmsKKzQ3MDEgOGFkMTM2MzI4N2FhOGJjOTgzNWQyYjQ1MTI5OTU2NmY0NTJiMTNjMyBsZWdhY3ktdHJ1bmsKKzQ3MDIgNDM4ZjUzZTdjZmQxNGU5NWVhNzJkODlkMGM3YmM0OWY1YTU5YzIwOCBsZWdhY3ktdHJ1bmsKKzQ3MDMgYTc2YTc5Zjg5NmNmNWZlMjExM2JiOWY2NmFjNGRkNjAyMmQ1M2Q3MSBsZWdhY3ktdHJ1bmsKKzQ3MDQgM2JlZjFhZmY4NzFiYzM0OTIwNzA4NTk3NDUxNWEzNTZkMWQ1N2MwNSBsZWdhY3ktdHJ1bmsKKzQ3MDUgZTBhMzI0MmQ1YWU3OWQxNjIwYTIyNjI0MmE4YjNjYWExMzk0ZWI5MyBsZWdhY3ktdHJ1bmsKKzQ3MDYgZTlkMTFmOWI4MmUyYjU4MWE5NmI3MzI1ZTIzY2ZkMDc3YTM4OTQ5MyBsZWdhY3ktdHJ1bmsKKzQ3MDcgYzIzZDA5MjIxNWQyYzNlNWY4MDMyMjIyMjVkZjcxYTZjM2E3NjY3NCBsZWdhY3ktdHJ1bmsKKzQ3MDggNjdlOGVmNjk4YTQyZmYyNzIwYWY3ODE1MGVjZDk3ZDBjMzM0OGQyMCBsZWdhY3ktdHJ1bmsKKzQ3MDkgMzgyZWRlZjJkNmQ3MGQzN2MzNDI4OWU4Yjc0MTEzODI3ZjI2YjhlOCBsZWdhY3ktdHJ1bmsKKzQ3MTAgZDA5MWIyNDZhM2E3YTViYjJjMTQxNWRmYTIxM2NmMTlmZTY0ZjY1YiBsZWdhY3ktdHJ1bmsKKzQ3MTEgZWU0Yzk1NGNkNWRmNTJlOWM0MDczOTdkNGRiY2QxY2ExMDQyNDQzNSBsZWdhY3ktdHJ1bmsKKzQ3MTIgYjFhNmE4MWFmMWNmZjQ3ZDM5YTUwNDhhMThjYTk4MTU1OGY1NzI3NCBsZWdhY3ktdHJ1bmsKKzQ3MTMgODNkMDY0MDRmNmUxMTQ0MmNkMzEwZTY5Y2FiYWZlN2E3ZjI2MGFiYSBsZWdhY3ktdHJ1bmsKKzQ3MTQgYTgxYjZkYjZkMzNjOTRlOGQwOTQ4NjlhMjExMWI4NzA4OThiNzIwMCBsZWdhY3ktdHJ1bmsKKzQ3MTUgNjQ1ZTk2MzQzZjg5ZmVmOGRiOThmNTNkNmE4OGYzNzRmZjBkNWM3YyBsZWdhY3ktdHJ1bmsKKzQ3MTYgMDNiZDc5NDMyZjA2OWM2MzJhZTVhZTg0MjFmNzI0YzEzZWY3MWRhMCBsZWdhY3ktdHJ1bmsKKzQ3MTcgNzg5NWE5NzMxM2U1ZjRjZmFkMjRjNWE2YmE1NmU4NDY0NTM5ZTIwZSBsZWdhY3ktdHJ1bmsKKzQ3MTggODVhYTJlNGQwMTIzYzUzYzVlNjhlODM0YTQ2ZmM3MGI4NTE5NWFjYSBsZWdhY3ktdHJ1bmsKKzQ3MTkgNGJjYzkyOTE2ZmFiYjJmNmM1MWU0ZTExNTE4ZjY2N2VkYWY3ZWNmOSBsZWdhY3ktdHJ1bmsKKzQ3MjAgM2E4M2MzY2VmNGIyYjVjODRhOTM2N2ZlMmZiMDBkMzZiOTQzMWVhNSBsZWdhY3ktdHJ1bmsKKzQ3MjEgNzQxMWI2YTA2OTIwY2Q2ZDRiZTIxMDZkYWYxNGZjMjM4NWQzYmM4MCBsZWdhY3ktdHJ1bmsKKzQ3MjIgYWM2ZjY5YjFlOTkzMDcxNjIwM2E3YTU0YTEyNmZiOGU3ODYyMDVlYiBsZWdhY3ktdHJ1bmsKKzQ3MjMgYThjNmRhM2JkMzA1NmRkNTZmOWZlMDM4Y2NjMTRiMzhkNWFiMTliNCBsZWdhY3ktdHJ1bmsKKzQ3MjQgM2E2NThlZWMxZjAyZTE0ODVlNjgzM2Q2ZjBlYmQxYzhiN2RhYTZlMSBsZWdhY3ktdHJ1bmsKKzQ3MjUgOGExMjQ0ZTdjYjNiZDJhNDgzY2YzZjY5YTUwZjBlYzNiODQ3MzMyMyBsZWdhY3ktdHJ1bmsKKzQ3MjYgNThhYTdmM2IxNjkyYmY1Nzk4Y2VhMTY2ZGUzMjAxOWRhZjhjM2JhYyBsZWdhY3ktdHJ1bmsKKzQ3MjcgMDc2NWQwYmQ4OGQ2ZGE1YWZmMDQxODY3MjQyNDBmMzM2NDg4NDQ1MiBsZWdhY3ktdHJ1bmsKKzQ3MjggOTA4ODBiZDA5MjIxZGVjZDNhYmM4ZmY1M2U3Y2ZmZjYzOTg3MmY4OCBsZWdhY3ktdHJ1bmsKKzQ3MjkgZTViOWY2NDQwNTNlOWUwYzRjZDFiZGQ5MTAzOWVlOTY5OTcxOTQxOSBsZWdhY3ktdHJ1bmsKKzQ3MzAgNjZkNmQxM2RmNGY4YTk4MjA0ZWM0YmE0M2JkYjRiMzM3MzJlZTc1NyBsZWdhY3ktdHJ1bmsKKzQ3MzEgZGY3ZTI2YjVjOTE4OWJhNDNhMGEwZGY0MmQ4MjNiNGE5MGVkOWJmOSBsZWdhY3ktdHJ1bmsKKzQ3MzIgNjU2NDQ3NjYxNThhZThlNGNhOTczMmE1NzMyNjk2ZjUzYjViNmYyYSBsZWdhY3ktdHJ1bmsKKzQ3MzMgNjE4NzAxY2RmNjAwMDEwNjAyZDlkYmE2OTQyNjdhM2QyNWJhNTZmMiBsZWdhY3ktdHJ1bmsKKzQ3MzQgNjUwY2I2N2Q3NjU5ODQyZGVlOGRjYTk5YmM1NTVmZmE5NTcyNWViYSBsZWdhY3ktdHJ1bmsKKzQ3MzUgZWVhYWY4NzVmN2I2ODEzOTczZWU3ZGMwZjFkZjc1MzYzZjJkODZiMiBsZWdhY3ktdHJ1bmsKKzQ3MzYgYjAzNGI0ZWEyYjM5OTAyNmViY2ViNTRkYjk5MmJiMWRmMDhhYTBjYyBsZWdhY3ktdHJ1bmsKKzQ3MzcgNzg1OWQzYWFiMWI0MDUxOWQ4OTEzYWIyMjI3NTJmMWQ1NGU2YzJkZCBsZWdhY3ktdHJ1bmsKKzQ3MzggNzFjMTFhNmU0YmMwMGYyYjc5YzIxOWExMDZiMjE0ODA1NDcxODA0OCBsZWdhY3ktdHJ1bmsKKzQ3MzkgNWU2YzBjZGFhN2MxYmJjY2RjMmQ2ZDYxMDJlOTBmMjg5MWMwZjJiZiBsZWdhY3ktdHJ1bmsKKzQ3NDAgNTU0NmY0YTZlM2MzNGZkMmUzMTk3ZjU3YmNmMjJlMjYwMjgxMjRhMSBsZWdhY3ktdHJ1bmsKKzQ3NDEgNTQwZjg0NDRlZjhhODczMDA5MzQxN2NkZWFmM2MyYWY4Nzk1NmQ0OCBsZWdhY3ktdHJ1bmsKKzQ3NDIgYjRjYWFjMTQyOGQwZGE3ZWYwOTk5MDIwYTcwMGVlZGUyOWU1Y2ZlZiBsZWdhY3ktdHJ1bmsKKzQ3NDMgMzE5NWRiNjY4OWZkNjEzZWVhYjE2YjY4YjZlZDA4MWQxODQ2OGQxYSBsZWdhY3ktdHJ1bmsKKzQ3NDQgZjVhNmU2ZWU1MjljMDdiYTc1YzU2ODRkMDU1YzM2ZjVjZmRkYmQ5OCBsZWdhY3ktdHJ1bmsKKzQ3NDUgYWM4YTIyNWIwNTFiNzU3NzIyMTdiNGYwZTQ5MzFlMDM1ODZmN2IyYSBsZWdhY3ktdHJ1bmsKKzQ3NDYgMDFhOTU0MTI0NTc3MjRmYmQyMWFhNzAxNjg2OThmMDE2MzYxMjE4NSBsZWdhY3ktdHJ1bmsKKzQ3NDcgYTI0MTQ2MjQxOTkxM2I3ODUxYTA3ZWE1NzhiMTNhOWY4NWRhM2JiMiBsZWdhY3ktdHJ1bmsKKzQ3NDggNjI2M2UyZmQ5Mzk4ODgxMzk4ODE1NGYzYmIxNGZlN2JmOGYyYWEzMSBsZWdhY3ktdHJ1bmsKKzQ3NDkgM2Q2YzlhNDdlYTQ0NWE1M2ZiMjM3MWI2ZGIwMGY5NWQyZjkzMTVmNiBsZWdhY3ktdHJ1bmsKKzQ3NTAgZjE3ZDZlNmI0MGRhYjE0YzVhY2IxNTI5M2Y2OTgyNTQ3NGFhOGY1YSBsZWdhY3ktdHJ1bmsKKzQ3NTEgOTcxN2Y2YThmNWZhZmU5ZWJjZjJmNjhkZTc0Mjc4ZmYyZTA4NmUxOSBsZWdhY3ktdHJ1bmsKKzQ3NTIgZmU4ZGI3OGYzMTFjOTZjZWQ2OGNkODc5NTNmODZjZTM0ZTU1MGJiOSBsZWdhY3ktdHJ1bmsKKzQ3NTMgOTkwMDk5ZWQ3ODEwNTFkNTVlNGMwMmYxMzMxYWY0YTAyYzc2NWU0NyBsZWdhY3ktdHJ1bmsKKzQ3NTQgZDIwNDlhMWQzY2M1Y2YxY2QyYWU2NThjMWRlNDM5MmEyZTMzN2RhYyBsZWdhY3ktdHJ1bmsKKzQ3NTUgYWRhYjY2ZmFjMzBlOTdlYzc4NjZmZmUwM2UzNzAzMzU4ZWZlYWY2YSBsZWdhY3ktdHJ1bmsKKzQ3NTYgNmEwNDI1NmVhMDg3N2MwNzRkMmE5Mzg4YzQ2M2ZmM2M5MmVmMjhkYSBsZWdhY3ktdHJ1bmsKKzQ3NTcgNTA1ZmM0NzhmZjA4NTE0ZTUyM2RhNjE4ZDRmNTUzZTE5NzY4MWRiMSBsZWdhY3ktdHJ1bmsKKzQ3NTggMTcwYjk5ODYyZDA5NWQ5NjM4NTkzMWExYmIzZGZjMTQ1OWI4NGZlZCBsZWdhY3ktdHJ1bmsKKzQ3NTkgNjVhNjhjNTFlOWYyYTcwZmYzNmZmY2QwOTZlM2Q5MDNhZWNhZmQzNyBsZWdhY3ktdHJ1bmsKKzQ3NjAgMDhiNDU3ZDZiNTE2ZWRmNDU2ZmY3NjM2MDdhMjA0ODVhMGE3ZTRjZCBsZWdhY3ktdHJ1bmsKKzQ3NjEgNWFlZTJjNWQ4ZGZmY2FlYTNlODZhNzc4ZDA3YmZhYTRhNmJjNjlhYyBsZWdhY3ktdHJ1bmsKKzQ3NjIgMTRiMTI2ZDBiNWJlMzRiYzk3YjEyZDYyMjk4MDllZGVmYWRmMDM3NCBsZWdhY3ktdHJ1bmsKKzQ3NjMgNTZjYTY3ZGRlYzg1OGI1NmQwZjAwMTdmZjJiYzFmNmE0ODE5ODdkNyBsZWdhY3ktdHJ1bmsKKzQ3NjQgMDc5MTNmYjhmOTJmMDQ5OTM5MGI3YWIxMjkzN2QyMDVkNTM1OWM4NCBsZWdhY3ktdHJ1bmsKKzQ3NjUgZmM2ZTk2MjIxMDg4YjA4MjM1N2FkMDhiODc4MmM0Njc3YzA2YjllMiBsZWdhY3ktdHJ1bmsKKzQ3NjYgNDBhZWM0OGNkMWUyMTQ3ZDhmOWFmMDZiMWNiMGRkMDBmYWNlNDNiMyBsZWdhY3ktdHJ1bmsKKzQ3NjcgZmY3MmE1ZjlhNGVlMTI0YWEwZDg4YTkxMzBiZGI4NjU0OTZlODFmYyBsZWdhY3ktdHJ1bmsKKzQ3NjggNTE1ZTFkMDMzOTRhZDg2NjllYzRkOTk4Mzg0ZGYwNzkyNjA5NDc3MyBsZWdhY3ktdHJ1bmsKKzQ3NjkgMTQyNTYxNzUxNGFjY2Y4YWEzMGMxNWM1NTMwNTA2ZmU4ODIxZmUwZCBsZWdhY3ktdHJ1bmsKKzQ3NzAgZWQ4MjFhOTliYTM5MjM5NTA3YzAwY2E1ZDdkZTczNTg4YzBjNTEzMCBsZWdhY3ktdHJ1bmsKKzQ3NzEgMWNlMDdmNjQ4NjJlOWY1ZjgwYzY1NmU2OGYwMTU3YzYzZTg2ZWQ5NSBsZWdhY3ktdHJ1bmsKKzQ3NzIgOTllN2FjMjJiZDJlMmQ1MTg4YzBkZGMyMjgyMGQ2MTdhYWM2ZjA4MiBsZWdhY3ktdHJ1bmsKKzQ3NzMgMWU3MjA3MTI4MTY3ODhjNmNlZDhlOTU4Zjk3Nzc2NGU0NWE4YTNiYSBsZWdhY3ktdHJ1bmsKKzQ3NzQgNWY3MDU4ZDgxNmNmOTFmMjUzMzQwZDRkY2QwYmY2YjlkZjZjN2YzZCBsZWdhY3ktdHJ1bmsKKzQ3NzUgMzE2MWU3Y2YyMDU0ZjczNmY4YzI4YzE2Y2QzYjlhYzFkZmQ3ZDliOCBsZWdhY3ktdHJ1bmsKKzQ3NzYgZDNlMmY5ODhmMWFmMGUxNDgwNWM1NjE1ZmIzOGM0NDAxNTc5ZWQwYiBsZWdhY3ktdHJ1bmsKKzQ3NzcgM2RmZWY2N2UwZGVkOTBlN2QxMTI4YTNmYzJhMDI0MjBhNWFhMmYzMCBsZWdhY3ktdHJ1bmsKKzQ3NzggZmFhZWNlN2NjZDZlNzFiMTVkNDgwMzcyMDI1MjM4ZGI2MGE0YWNjMSBsZWdhY3ktdHJ1bmsKKzQ3NzkgN2JkZTRiMWRmNDk0MDk3ZjdhYTE5OTY1NzRiNjNlZmY4ODdlYmVkMCBsZWdhY3ktdHJ1bmsKKzQ3ODAgZThkMjA3NjU4YTA0NTJiMWQ1OTI3NzNkM2VlODRiNWMwOGFkYjZmOSBsZWdhY3ktdHJ1bmsKKzQ3ODEgNDNmOWU3NTQ5YzcwZTZlODM3ZDBlMGE2NjZhZDI0MDZmNGUzNmIzYiBsZWdhY3ktdHJ1bmsKKzQ3ODIgM2VkZWM4MjExYTM2YWQ1NzE5M2U5ZDg4MTlmNzU5MDAwZjJlMjlmZiBsZWdhY3ktdHJ1bmsKKzQ3ODMgMWIyNjJkMTkwYTRhNDgxMDk4M2NjM2Q2NjViNTU5NDQ5MzM5OWMxOSBsZWdhY3ktdHJ1bmsKKzQ3ODQgODQ1NjBmNGIyOWVmMDlhMjA5Y2RjYzc4OGQ0Zjk2NWYzZWFlMzcyMSBsZWdhY3ktdHJ1bmsKKzQ3ODUgMjQyZGQ1ZWQzYjA4NWVlZTJmNDI2NzJiYTY1MDQ5NTIyMjZhMjk5ZSBsZWdhY3ktdHJ1bmsKKzQ3ODYgMzJlN2QyNjk2ZDc5MWM2OWVjOTlhYjExMjU2MTdlOGY0Yzc4YWUyNiBsZWdhY3ktdHJ1bmsKKzQ3ODcgNjQ2OGZkMDI1MWQyOTY4ZTYzMTE4NmZhOTQ2YTUwNGE2MGFmZDM2YSBsZWdhY3ktdHJ1bmsKKzQ3ODggZDhiNGM3ZGI3N2FlNmJmZjhiMjVlYTI3OTgzYWEyNTA0Njk1NTIyZCBsZWdhY3ktdHJ1bmsKKzQ3ODkgZTExZTZiMzU4NTMxM2FhOTE5ZDdhNGUyZjgxMzQ1Nzk3ZmZmNjMzNSBsZWdhY3ktdHJ1bmsKKzQ3OTAgYjIyNDExNzdiY2NjNjI3NzMzMmU4YTVlOTU3ZjhjYjg3NmJmMzQwMyBqYXIKKzQ3ODkgOWU4MmRhZjc2MDViYWQ3OTc2YTlhYmM5OTdjYjVlMGFiZTQzNDA3OCBsZWdhY3ktdHJ1bmsKKzQ3OTIgNzFlNjA4NzFjNjgxY2U5MTQxOTc0ZWZhYzNlMGIzM2M5ZmUzMjg4YSBsZWdhY3ktdHJ1bmsKKzQ3OTMgNGMyZjE0NTIxMjVkNTlkMDc1YzZmZTdkYWY5MDE0Y2JkZjE3OGYzNiBsZWdhY3ktdHJ1bmsKKzQ3OTQgNDEyNzg5M2E4N2FkMDVhMDIyZWU3MGI1OGFkODFjNjM3ZmJmOWU2NSBsZWdhY3ktdHJ1bmsKKzQ3OTUgMjFmMGQ1ZjE4Y2RhZTYxMDhmNWZjNWZkMjU0NTE5ODJkNjAxOWY5ZiBsZWdhY3ktdHJ1bmsKKzQ3OTYgNjNmYTM4N2MwMmZlYmNiMDhiMDU0YTBlZTIwMzNlYjAzYTg3NzA2NSBsZWdhY3ktdHJ1bmsKKzQ3OTcgNjcwZTUwYWUzODlkNTRjYzMyMTAxY2ZiNGQ1YWQ2OGY2MDhmMDU1NiBsZWdhY3ktdHJ1bmsKKzQ3OTggNGI2MTdmZWU0MjdkMzYzOGM4N2MwZDYyZDhjOWY1MzNiMzhiOWI3NyBsZWdhY3ktdHJ1bmsKKzQ3OTkgZWQwYWE0YTVkMTA2YjljMmI3YjJlZDNkODUwZTQ4NGJkNzA2ODQ2MyBqYXIKKzQ4MDAgMjc5ZDUxYTE4YWU0YjRlOGRjZjAwNzc2MGE5Nzc4ZDhiZmVmODhiMyBsZWdhY3ktdHJ1bmsKKzQ4MDEgOTU1MmVkYjRlYWJmYWMzNDFhNmQzZTRmMTAxM2ZhOTQ4YzAxNzcwZiBsZWdhY3ktdHJ1bmsKKzQ4MDIgZjA5ZDMyNTJhMzhiMjEzZWVlZDJjNzc2YTE4YmYyN2EyMjYzODNmOCBsZWdhY3ktdHJ1bmsKKzQ4MDMgZDA1Njg1OTkzNDc2ZDRjYjcwZjViMzRhZGRmMTExODAxMGYzOWYwNiBsZWdhY3ktdHJ1bmsKKzQ4MDQgZWQ0ODY0NjFkZWY2NzZmMDYxOTlhY2FmYmFkYmZjYzFkZWExYWU3MyBsZWdhY3ktdHJ1bmsKKzQ4MDUgZDY1YzQ4NWUwYWQ4MjM2MDAzN2Y4YWI1NmM0Mzg5OTFlNWRkYWQ4NiBsZWdhY3ktdHJ1bmsKKzQ4MDYgYTIwNTQ5MzM3NzViMDAxNGQ2MDVmZGUzZjdmMTRhODVlZTM4MTNmZSBsZWdhY3ktdHJ1bmsKKzQ4MDcgODVmYTAyYjg1ZDdkMTMwYTE0YTkxZDZiYzJlNWY1YzRlNTYwMWUwMCBsZWdhY3ktdHJ1bmsKKzQ4MDggMjZiMWIxNWZjOGVjMzc1NmE1NjNlNGU3MWU3YmJjN2E4MWVhNGZiYyBsZWdhY3ktdHJ1bmsKKzQ4MDkgOGE4NzY1MzQzY2MwZDQ1NWEwNjE4ODJlNTdjYThhMTQyZDlmYjIyYyBsZWdhY3ktdHJ1bmsKKzQ4MTAgZmJhZjU0MTY5NzExNzNiMzY2MDZkZTRlNWM1OWE3NWJmNTY5MDJlZSBsZWdhY3ktdHJ1bmsKKzQ4MTEgZGY1YjcyOGI4ZWI2MmVlNzk4NjA3YmEzODY1MGE2MTNkOGNlYTU4MSBsZWdhY3ktdHJ1bmsKKzQ4MTIgNmE5NDExOTg0NGViMzgyMGU0NGZjMzM2OTQwOWZjYzliYWM3Mzk5NyBsZWdhY3ktdHJ1bmsKKzQ4MTMgMTc0MGZkNzZmYzMzMmZiYzQ3OTVlMWZjODNmZGRkMDczZDU0OTE2ZSBsZWdhY3ktdHJ1bmsKKzQ4MTQgNGM0M2NiZGNkNTI0M2Q5OWNjMjUxMWUyOTRmYjlkZmNiYzI1NWQwMyBsZWdhY3ktdHJ1bmsKKzQ4MTUgOTE2YThmZjM2YTg1NDcwYmZhNmEwYzdhMDE1NjNjMDYwZjllNjQ3MiBsZWdhY3ktdHJ1bmsKKzQ4MTYgN2ZkNzQxMmU3MTg4NDhlMGYzMzMzYzJiNDZkNjE4MjQ5Yjk3ZTA2ZSBsZWdhY3ktdHJ1bmsKKzQ4MTcgZTgwYWNmYTEzYWMwMDA0NDk3ZDZiMzFlNGE1ZGE1ODIwZDJkODZjMSBsZWdhY3ktdHJ1bmsKKzQ4MTggNzQ3ZjBiN2NiN2JlNDM0Y2I5NjVlY2QxNGY1MmM0Zjk3NWYzNjEzNCBsZWdhY3ktdHJ1bmsKKzQ4MTkgMjFhMjNjZmM0ODQzMWFlOTFjYTAxM2UwMGVhMTFjMDEyMzM1MDNiZSBsZWdhY3ktdHJ1bmsKKzQ4MjAgOTY3NDdjNzg3YTgzM2MzMTkwZDNkM2MyMDE5NGFiMzJiYThlZWIxYiBsZWdhY3ktdHJ1bmsKKzQ4MjEgOGNmNjNjMzBmZmM4NzdlYzBhZDk0NjAwY2MxNDIxOTI1NjYzYTg2MSBsZWdhY3ktdHJ1bmsKKzQ4MjIgOTRiZjJmMDVkYTMxOWU2Y2UzNWUzM2Y3YWE5N2EzN2NmMjg0YjNiMiBsZWdhY3ktdHJ1bmsKKzQ4MjMgOTE1ZmFiZWM2NGEzMGFkNzMzYjEyOTAyM2EyZjA3MjdkNjNjZjI5ZiBsZWdhY3ktdHJ1bmsKKzQ4MjQgNjYzYWEwNTllMjlmZWM2NmYwMzM4MTk4ZmMzMjZkOWJiMTAzMjBlOCBsZWdhY3ktdHJ1bmsKKzQ4MjUgYmExYjc2YzA5MDQxNGEzZWM4MDY4YjU3MTVkOTQ2ZWExMzJlNmNjMyBsZWdhY3ktdHJ1bmsKKzQ4MjYgZTM4NjAzNWY4OTdkZmQ5MWFjNjM1OTYyNjU0Y2RmM2NiODYxNjU0NiBsZWdhY3ktdHJ1bmsKKzQ4MjcgMDRmNjFhNWE3NjU0MDljNGQ1MGFmNzQyMGI5MzU3NGFiMGM3MmJjZiBsZWdhY3ktdHJ1bmsKKzQ4MjggMGM4MzVjODA0MzIyNGNmNTkwNTUzMjc0NzE3ZWU0ZjI4MTcwMGMzYiBsZWdhY3ktdHJ1bmsKKzQ4MjkgNTgyYjAwZmJhYjE2MTQ1MjNmOGQ0ZjQzMjMyNzA2MGJlZjQzNTI5OSBsZWdhY3ktdHJ1bmsKKzQ4MzAgMzk3NDc4YmNhMGM0ZGFjMWRjMDNlMDJkNGQzYjQ2OWUyMGU3YzhlOSBsZWdhY3ktdHJ1bmsKKzQ4MzEgNTFjODgyNDk4NWY4YTUwODUwYWQwZWViNmVhZGUxYTczYmQ5Njc1ZCBsZWdhY3ktdHJ1bmsKKzQ4MzIgYzMxZWFlZDc3OThiYmE0MWYzMTRkMzhlNjkzYTc0ZjllNjhhMzVmNCBsZWdhY3ktdHJ1bmsKKzQ4MzMgZGFiMzRjYmY4ZDdmYTNmNDJhOTk3OWY4N2U5MjAyYjdlOGJjNWJmZSBsZWdhY3ktdHJ1bmsKKzQ4MzQgNGU4N2YzYTNmMzNhODdhYmZiMDhkOGQ3M2FlOTdmODAyNTdhNjQxZCBsZWdhY3ktdHJ1bmsKKzQ4MzUgMWEyMGQ1MDU4NzQ0NDhiYzcwMWFiZWExNjE1OTJjZDU0MjhkOGIzZiBsZWdhY3ktdHJ1bmsKKzQ4MzYgYzhhODMyMThiYTYxODcwYTZjNzE3ODAxZmI3ZWE1YjY0YmZlZmVjMCBsZWdhY3ktdHJ1bmsKKzQ4MzcgZmYzZmMzMGVkNzYwNjlhMWIzZGRlZWYwZjFmNGQzYjMxZjA3ZTU3NiBsZWdhY3ktdHJ1bmsKKzQ4MzggNjQ1MGQ4ODI4ZDJiOTg4ZDQxNDAyMDI3MTZkN2U5MTU0ZGJkYzRlNCBsZWdhY3ktdHJ1bmsKKzQ4MzkgNGNjODEzN2NjYjU2Y2ZmZjM5MmY2OWM2YmQ1ODM2MjNjYWU3MzZjYiBsZWdhY3ktdHJ1bmsKKzQ4NDAgZjhhYjkyNWVmZGE4OGFlMGRhMGEwZTNlNWU3MTc4MGFjOWQ0MDNhMyBsZWdhY3ktdHJ1bmsKKzQ4NDEgYzY1MzNiODk2Mjg4ODdhMzExZTljZjM4YjliMWQ4ZWQ4ZDk2ZDBkZSBsZWdhY3ktdHJ1bmsKKzQ4NDIgYzA5ZGFiZjcwOTk2ZmI5YTlmNzg2NmYyN2IxMzg1MzU2ODk5MjIyNyBsZWdhY3ktdHJ1bmsKKzQ4NDMgNTMxM2FjNmYzNGZkY2IwM2U2NzNjMTc2MTQwZjgwNzdjMWRkODBiNSBsZWdhY3ktdHJ1bmsKKzQ4NDQgZjk3OWU1YmQ2YTIyMzBlNzhjNTIzYmYwZjllOThlYTBkMDkxZWEwYSBsZWdhY3ktdHJ1bmsKKzQ4NDUgNDliZmVmMTdiMTJiNjVmYTc2YmZiMDljZjM0YWRhNWE1YTY4YjhjYiBsZWdhY3ktdHJ1bmsKKzQ4NDYgZGRiMTM4NjJmYmIyYmVhNzQ3YTY4MTdiOWE4ZGRlY2EzZGQxYTVkMCBsZWdhY3ktdHJ1bmsKKzQ4NDcgZWNiYmFhNTg0ZjNjMTY3Mzk4ZTA2YjQ3MTI1ZjIzZDMxYzM2MzA4OSBsZWdhY3ktdHJ1bmsKKzQ4NDggOWRjODc1YWQwNTBjODk5NDBlM2E1OTNhY2Q2ODI4N2U0YzcwOTBiNCBsZWdhY3ktdHJ1bmsKKzQ4NDkgYjE1NmJmNGJlNjJmMWI2YTljNTcxMzUyYTJkNjE5ZWQ3NmNlNDJmYSBsZWdhY3ktdHJ1bmsKKzQ4NTAgZmE4Y2RkM2NjNTQ1NDA1NTE5NDNjMDMyMDlkNWJmNGZkZWFhNTRkZCBsZWdhY3ktdHJ1bmsKKzQ4NTEgNDJiNTY4OWE3NDA5NWRkODA5MDI2NWNhZWI2MGUwMjM2ZThkN2ExOCBsZWdhY3ktdHJ1bmsKKzQ4NTIgMjljYTQ1ZWIzYWI3NTIzYmE3NTU3OTk5Nzc0M2E5NzA4ZTdiMjYwYiBsZWdhY3ktdHJ1bmsKKzQ4NTMgMDczNmE3ZWMyZjI4OWU1ZGVlOTFkMGNlOGEyZjdmOTViYjM5MjY5ZSBsZWdhY3ktdHJ1bmsKKzQ4NTQgY2FiYjdjNTczMmVmMWEzOGQ5ZjQxNDZhYzU4MjYxODI0MGM3M2RkNiBsZWdhY3ktdHJ1bmsKKzQ4NTUgNDM4YThjMjY1ZWI5ZjU0Yzg2N2NlZmY3YWNkMmI5MmJjOTRiMTNjNyBsZWdhY3ktdHJ1bmsKKzQ4NTYgZDMxZjY5NGMxMWE4OWI3MTExNzA2Mjk3NjMyMTY4ZGZhZjMxODA2NiBsZWdhY3ktdHJ1bmsKKzQ4NTcgMTMyNWIzZThlM2QzY2UxZjY1ZjA3NjgwMmEzODRlYWVjYTQ5YmQxNyBsZWdhY3ktdHJ1bmsKKzQ4NTggY2FiNjk5NDUzNzc1YzE5MDliYmFjODYwYTE5MjgyNjNlMDgyZTg4OSBsZWdhY3ktdHJ1bmsKKzQ4NTkgNzJjNzE1YzAwNGM4OTg2MWQ1MDRiZTdlZjRjYjUwYjQ2NmM0NzI5MyBsZWdhY3ktdHJ1bmsKKzQ4NjAgNzI0NmI5OWQyOTY2YTJjMmIyNTZlZTZjMWYwMzQ1ZGFmZWFhMzA5MCBsZWdhY3ktdHJ1bmsKKzQ4NjEgMGI2MmI1M2Q0M2Y4Nzg2YjY1NDFhM2E4M2E3NDMyZjNlNzk1YTc0ZCBsZWdhY3ktdHJ1bmsKKzQ4NjIgZTE0OTc1YzkxMGYwY2ExYTdkNjQ4MmRiYTBhMjMwNjlmY2U3NzBkYSBsZWdhY3ktdHJ1bmsKKzQ4NjMgOWE5NDI5MmFhNGMxNWJiZGQwNTljZTI2NDI2ODRkOTJlZGQyNjY4MiBsZWdhY3ktdHJ1bmsKKzQ4NjQgNzdlYjYzNzE2YjRmOThkM2E1NDYwYzBiYThmYzUxYjJjNmQ4NzBkZiBsZWdhY3ktdHJ1bmsKKzQ4NjUgNGZjMDMzY2I1NTQ0NWJhNmUxYWJiMjQ2YTg2YjY3N2M3OTVlOTI1ZiBsZWdhY3ktdHJ1bmsKKzQ4NjYgNDAzYTU2MzEyMTRiMDI0NTEwMmM1MzBiZGRkZDg1Y2Q0YjJjODkzNiBsZWdhY3ktdHJ1bmsKKzQ4NjcgZGQxYWIyMGY4MjIzYjM5ODY0MzRkYjVjNThiNjFhMDc3NmFmYmU3ZSBsZWdhY3ktdHJ1bmsKKzQ4NjggNzVhZTEwNGY3ZTZjNTFlYTJmMDQ1NmM3MmZlYTI0OTFmNDk3M2NhOCBsZWdhY3ktdHJ1bmsKKzQ4NjkgODEwYmMxNWUxOGY5ODNiZWYyMzViZTE2YTNiMzVmNmYxMjA1N2E2MSBsZWdhY3ktdHJ1bmsKKzQ4NzAgNjE0MjUxODM2Y2ViMjI3MzA5NjI2NTk5NWI4MmI1ZmEzM2ZmMjYwMyBsZWdhY3ktdHJ1bmsKKzQ4NzEgZWU4ZTkxYTE3NzQ1YWJiN2NmYTE0MjNjNzVmMjg2NmM3YzkxMjk5ZSBsZWdhY3ktdHJ1bmsKKzQ4NzIgNzVhYTUyNDZiMmY2ZjNkMWQyZmIwNzVkZDEyMzk5YWU4NDMyNjczOCBsZWdhY3ktdHJ1bmsKKzQ4NzMgOTdlNTcwNTBlMjc2MGNmYTI3MmY1MmRjMGIyZDA4NmViNTg4ZGQ5OCBsZWdhY3ktdHJ1bmsKKzQ4NzQgMjJiMWFiMGU2NDczNWRiN2Y4ODgzNGExZWQ0Yjk5NGFkY2VkMDZjZSBsZWdhY3ktdHJ1bmsKKzQ4NzUgNGE0NjJhYWNjMWU5OTE0NWI4MDNjYmY4YjMwYTg1NTY1NzFmNzJiMiBsZWdhY3ktdHJ1bmsKKzQ4NzYgNmJlZWYxNzg3MWY5ODJkM2NmYjU0YzBiYjM5ZDdhMWUzN2IxNWVhZSBsZWdhY3ktdHJ1bmsKKzQ4NzcgNmVkYTY0MmYxOWQwMzc4MGJmMDI5MDcyZmE3ZTkxOGI4NTIyOTQ0YyBsZWdhY3ktdHJ1bmsKKzQ4NzggZjRmNzFlYmVhNTNmMTQ1NDIzZTEwYTM1ZmZiNGE0Mzk2YTAxODNhMCBsZWdhY3ktdHJ1bmsKKzQ4NzkgNzNlZWZmNGQ0M2Y4NGFkNzZkMmJiMmYwZTBjNGZiOTQwNzBjYmIxOSBsZWdhY3ktdHJ1bmsKKzQ4ODAgMDBmNGU0MDA1NzVhOTczNDBlNjA5MTIxNjc2OGQxZGJhNTRlNWZkMiBsZWdhY3ktdHJ1bmsKKzQ4ODEgZWNjZjQ5MzdmMWRjOWFkMzVhZWZlZTUwZDQ3ZjNhNGJhMmZkZjZlOSBsZWdhY3ktdHJ1bmsKKzQ4ODIgOWJmMTg5OTZlZWQ4YzlkZjZiM2Y0ZWFkMDBkNWI0MmRlZDQ5OWExOSBsZWdhY3ktdHJ1bmsKKzQ4ODMgYmQzYWQ2NjM0ZTc2NDgyMDYxZjlmZDRmY2U1OTExNDUxOGY5YjcyYiBsZWdhY3ktdHJ1bmsKKzQ4ODQgNzkyNGI3ODE5ZDhmOTZjNzJhMThhZThmOTkxN2E1N2VjNjViY2QxNCBsZWdhY3ktdHJ1bmsKKzQ4ODUgZWZiMDY4NWE2YzkxY2JlNjU4OWE5MzY0YzBjOWFmMTU2ZTI2MmNlMiBsZWdhY3ktdHJ1bmsKKzQ4ODYgZDM5YWFiNmMxMzBkNDVkYjg5NDg4ODVmM2Q2ZjI5YzYwZDFlNzAzZSBsZWdhY3ktdHJ1bmsKKzQ4ODcgY2JiNDA3MmQ1MzhiZTdmMDQyYWVmODVhZmUwMDZiZWI5MmFiZjY2OSBsZWdhY3ktdHJ1bmsKKzQ4ODggNDQ1YmVhOGNlYWIxZDA3MDgzZDNlNGE2OGQ4YjNjZDE1ZjNhNmM4ZCBsZWdhY3ktdHJ1bmsKKzQ4ODkgNmNiZDI4MzBiNWEyMzhjZjU4Mjg0MDg1NzY2NjQ2MjFhYmZiZGI0ZSBsZWdhY3ktdHJ1bmsKKzQ4OTAgNWJjMzQxYzQwNzFjZDA5Mzk3NmRhODA0N2ViMjhjMTQzMzBjZjdiNSBsZWdhY3ktdHJ1bmsKKzQ4OTEgMWU4YWViYWI4NzRhZTEyNWU3ZmQ0NWI4NmQwZDY1MzdhNzBhMGUwMCBsZWdhY3ktdHJ1bmsKKzQ4OTIgZmE5OGRkYTA3ODc3ZjA4OGZiMWVkNzU2NGJmYWMyNjBlYmU5MGE3MyBsZWdhY3ktdHJ1bmsKKzQ4OTMgNjJlYmJjZmVhODI3MmI4NGQ2MzU5OGQ3NmY3NjVjZGY3OGI3YmUxZCBsZWdhY3ktdHJ1bmsKKzQ4OTQgMWY1OWYyYTEzMzEyOTZlZGYwMTIxMDU5NzAxNDI2MTllYzMzNjJmZiBsZWdhY3ktdHJ1bmsKKzQ4OTUgYzFkMjcwNDNjMjJmNDViNjQxOGY2NDdkYWNiNWE2NDAyNTc4MzEyZiBsZWdhY3ktdHJ1bmsKKzQ4OTYgZDU3N2Q3NDk5MThkMTgzZGQ2MzJkMTczNzA5ZTYwMzBjMjI5OTM4NSBsZWdhY3ktdHJ1bmsKKzQ4OTcgMmY4OWVjMWE5YzM4YzdkNzIxOTJjNzRmMDUwMDg5Yzg1YTIwOGEzMyBsZWdhY3ktdHJ1bmsKKzQ4OTggYTVlOTVmOWRlOTAwMGU1Nzg4MmNiYjNhYjg3Yzg2Y2Q3ZTdkMDIxOSBsZWdhY3ktdHJ1bmsKKzQ4OTkgMmRjZjc1MzgzNDdhOWQ2OGYyZThjOTU5OGFkY2E3MjQzMTU5YWJkYyBsZWdhY3ktdHJ1bmsKKzQ5MDAgOThjMWQ4NDEwMWE1MDgxM2I0NWExZjAxZDEwMDVlMzZiNmE0N2M1NyBsZWdhY3ktdHJ1bmsKKzQ5MDEgZjYxNzE2YWQwYjdmNTFmMzFjMDIzZjM0ZTVhZTQyYTgzZDk3MzEyOCBsZWdhY3ktdHJ1bmsKKzQ5MDIgNmYxMjExYjJlMDc3OWIxMTA2MmI5YjJjY2U2OTBmMjQ0NTA3NTNmZSBsZWdhY3ktdHJ1bmsKKzQ5MDMgNzM0OTlhNjY3ZTc4NGVkYTc0ODEzNjg2MWZkNGIwZjc3YTgxM2YxNiBsZWdhY3ktdHJ1bmsKKzQ5MDQgMmM2NTY1ZjFiN2Y4NjQ0NThkZDUzYTI5ZmIxODhiZWQyNWMwZmVhZiBsZWdhY3ktdHJ1bmsKKzQ5MDUgOGVlZWNkMjMzZDU2OWJiYTlmOGMyMzA5N2RkYzI1Njk3ZjMyOGVlYyBsZWdhY3ktdHJ1bmsKKzQ5MDYgOTRhNjQzNjY1NWUwM2ZiOTc1MzgxNDNlYTg2ZmU3ZWM3MDQ0MDY3YiBsZWdhY3ktdHJ1bmsKKzQ5MDcgNDgwYjI1MWEwNDY4MzViMWNiNDU4OTMxZTUxYjRhYTJkMGQ2NTdiYiBsZWdhY3ktdHJ1bmsKKzQ5MDggOWVmZDQwOGZjOWY2YmI3MjkzNmJkYTZiNmNjYzY0MTBlNmNkYWMwNSBsZWdhY3ktdHJ1bmsKKzQ5MDkgY2RkM2E3MjFiNDBlM2U4ZTk1Nzc1MzlkNjQ4OGU4Y2JlMzY1NTI1YyBsZWdhY3ktdHJ1bmsKKzQ5MTAgODk5ZDIwODc0NTY2Yjk4NmQyMTZkMTRmZTM2MDkyMTEwNGM0YmYyMyBsZWdhY3ktdHJ1bmsKKzQ5MTEgYjQyYWI3N2YyMjI2MDMxNjYzYzMxMjkwYTVhYWQzNWFiYWJlOTM3NCBsZWdhY3ktdHJ1bmsKKzQ5MTIgYmMwMzIyNWE0NDkzZjVkYmE2YjNmNmU2YTRmYTkxYjBkY2NkNmFmNyBsZWdhY3ktdHJ1bmsKKzQ5MTMgZTFhN2JkZmFmZWM5MzIzODg1Mjc4ODlkYmYxMWNjY2Y5ZWZmYTYxYiBsZWdhY3ktdHJ1bmsKKzQ5MTQgNjViY2I0MTgyYzFhMzIwNzk3OWVlYmEyOWY0MGY0ZTQxZTFkOWM3MCBsZWdhY3ktdHJ1bmsKKzQ5MTUgYmFjOTZkNWM0NjNmNDUyZmZhN2E0NGY3YWQ1YmRmMDEzYjBkZWMyYyBsZWdhY3ktdHJ1bmsKKzQ5MTYgMWMyOWY2YmRkODk4ZjZlMjRlN2JmNTUzM2M2YmYzNDU0OWViYjg4YiBsZWdhY3ktdHJ1bmsKKzQ5MTcgZDk0MDQ1YmQ0YTA0MTJiOWE2OTAwYTQwZDc5NjZkOTcyYzUyYTQ4OCBsZWdhY3ktdHJ1bmsKKzQ5MTggZTllODZhZTVmNWE0YTg3ZjFhNGRkYjA2MjU4MTYwNDEzN2QwMjFkZCBsZWdhY3ktdHJ1bmsKKzQ5MTkgZTc2NGI3OGE3MDRmNTE4ZjFhODM0MmZkYTFiOGYyYzQzNWJmY2IyMiBsZWdhY3ktdHJ1bmsKKzQ5MjAgZTcyNmY5MGQyYTlmZjI0OTU5ZGExMTlmMjI1ODU5MjU1NTU3ZDZhZiBsZWdhY3ktdHJ1bmsKKzQ5MjEgMWY0MTQxYWFmZTM2MTk3NjlhN2JlNGVhZjI1M2ZjNGRjNmEyNmM2ZCBsZWdhY3ktdHJ1bmsKKzQ5MjMgMzIyZmM1OTZmMWM0Mzc5MTMwMGU4MGNhZmRhYTlhMTQ1NTYxNmFjOSBsZWdhY3ktdHJ1bmsKKzQ5MjQgNGY3YzY3M2RhOTE4YjU2YWQxYmE1NWU2ZjRmY2Q4NDNmM2VhMjU3YiBsZWdhY3ktdHJ1bmsKKzQ5MjUgM2Q2NzM0YWI2Y2Q0MDJkZDAyMWU2ZDRhM2Q4NzllYzFmMzdlODNiOCBsZWdhY3ktdHJ1bmsKKzQ5MjYgOGUzOGNkMGEzYTMxNWZlMWJkN2E4ZTNjOWMxNmY1MDIwZTI3Mjg2NCBsZWdhY3ktdHJ1bmsKKzQ5MjcgMGUxZjlhMTRmYmQ0OTVhOTNhYjVmMzEyZTIxYmU2MDAzNjM5MmUzZiBsZWdhY3ktdHJ1bmsKKzQ5MjggNWJiMzlhNDJjNzI5MTIyNzRlZmE5MTFhOGYyYmFiMGJjZmNjYzJhYSBsZWdhY3ktdHJ1bmsKKzQ5MjkgZGQyODQ1ZDA2ZWIzN2FlMjk0MDhmZThiZmUwNzgwNWQwYjJlNjZiNSBsZWdhY3ktdHJ1bmsKKzQ5MzAgNTNmOTJhNDczYzZmMTBhNmYxYzA2MDdjNjFkNjQyODEwY2QyYjY5NSBsZWdhY3ktdHJ1bmsKKzQ5MzEgZGU0ZGMxNjViZmI2YTExNTI5OWM5YWExYzliOWIxZTI0ZDE5ZjI5ZSBsZWdhY3ktdHJ1bmsKKzQ5MzIgMzAyMDVkNjM0YTE1YjUyODEyNmFlYmRhY2FjZjU2YTM2ZWYxNjJlYiBsZWdhY3ktdHJ1bmsKKzQ5MzMgNzA4OWQ0ODQzNDA3MmVjZGY0NzliMDZlOTNjMjdjMDU3YzcyMWE0NyBsZWdhY3ktdHJ1bmsKKzQ5MzQgMTFiOTM3ZWEwMDI2NGE1YjFmOTNkNTE3YjVhNWQ3OGJkMjMxNTE3YyBsZWdhY3ktdHJ1bmsKKzQ5MzUgNjQ4NDJlMjA2Yjc2Y2IxNWE5YTAwMzI2OTA3MTgwMGZmNjU2NTY4NCBsZWdhY3ktdHJ1bmsKKzQ5MzYgYTE3ZGExMzIyYzU2ZDUxMGI0MmQ2MDdhYzM3MzdkMTE1ZGE5OTg5MCBsZWdhY3ktdHJ1bmsKKzQ5MzcgYmQ0NzY1NTViZTQyYTdhZDc5OWZhNmUyNTI1NjlkZmU2NTVkNjc0NCBsZWdhY3ktdHJ1bmsKKzQ5MzggMjJjZDIyYmY0Mzg0ZTRkNDZiYjA1N2UzNzRjZDRkNmM3ZWUxMGVlYiBsZWdhY3ktdHJ1bmsKKzQ5MzkgMDUxMGI5NDgxNzhlMGJhNzA2YjVhNGU1OTVjMTRkNTkzNTRiZWY4NCBsZWdhY3ktdHJ1bmsKKzQ5NDAgNTE3YmNkNDgyM2FiNzg2Yzc0YjJmYjEzNzEwYWZkZjVmZjg1MGM2YiBsZWdhY3ktdHJ1bmsKKzQ5NDEgMmE1NzRkNGIwZDU4YzJmMGUzODJhZGE0NmE0MDM0NGI2NTU1YTI2YyBsZWdhY3ktdHJ1bmsKKzQ5NDIgZDYzMGM2ZDM2ODM5YWQ4ODQyNmFlNjdiMGZhYzViZDMzMTFlNWZlMSBsZWdhY3ktdHJ1bmsKKzQ5NDMgZmUzN2VkMmNmN2E1YzU3M2JmZmI4MjE0ZjAzMGQ0ODY0MzZjYjE3ZiBsZWdhY3ktdHJ1bmsKKzQ5NDQgZWIxNGYzMmE5N2NkYzVjNTQ5ZTcyZWIxZDlhMzQ5ODhjMDIwOWM2ZCBsZWdhY3ktdHJ1bmsKKzQ5NDUgODA3MjlhZmY5MDU3YzBmZjE3ZmFhNWFjNzBkYzNhZTY3OTE5ZTFhZCBsZWdhY3ktdHJ1bmsKKzQ5NDYgY2Q2NGEzMmFiODAzMmNmNzZiY2I2ZmUxYmNjNDg2ZTk4MGM4OWE4OSBsZWdhY3ktdHJ1bmsKKzQ5NDcgNDQxOGU4NTQ3ZWZjZjE1MGY3MDFiYWM5NDk4ODBjZjAxZTdkNjBhMSBsZWdhY3ktdHJ1bmsKKzQ5NDggZmI4ZTA4ZWM4OGRkNTYwNjJjMWE5MzU2MDIxYWU4MTVhYmQxNTZiNiBsZWdhY3ktdHJ1bmsKKzQ5NDkgNGI1NzRkYjVkYjEzZjE3NTc0YjY1YzQ2OTBiMGJjMGEzYjJjMjljYiBsZWdhY3ktdHJ1bmsKKzQ5NTAgZDk0ODEzNTRmZGMzNjE5OWJlMWJhM2JlODMyZmU4MzY5MTA1NDBkZCBsZWdhY3ktdHJ1bmsKKzQ5NTEgNWZjNjI1NjJlNmVjZTE3MDlkZjNjNzk0NjE1NGY3N2UxZWQ3MmQ1NyBsZWdhY3ktdHJ1bmsKKzQ5NTIgNzE4YzY1ZDBlMTJkYjQ4NjYxYWY3N2I1NzZjY2QxYzM2OTIyYzZmMyBsZWdhY3ktdHJ1bmsKKzQ5NTMgNjBlNWFhY2ViM2ViMzZjYTA0ZDI0YjEzMDNkOTIzNjBhMThmNTAzZSBsZWdhY3ktdHJ1bmsKKzQ5NTQgMTVhODY2ODdmODM4MDcxMTQ1N2IzMmI2MGI2YzkyNGIzYjMxODEyYSBsZWdhY3ktdHJ1bmsKKzQ5NTUgZGRmNjBiYzdlZDMwMTVmNzM3ODkyYWQ5NDRjMDY5Mzc0NmJiYThjNiBsZWdhY3ktdHJ1bmsKKzQ5NTYgYzIyMTk1N2E2MjZkN2VjNWZlMjYzZWY4NzhhYzU5N2U1NmYxODFhNiBsZWdhY3ktdHJ1bmsKKzQ5NTcgZjIxN2MxYjI3Zjg2NzZhNWQ0YjY1M2E3Y2NiYzI3NGI5OTMxNWUzNiBsZWdhY3ktdHJ1bmsKKzQ5NTggYjVjZTgwMTE0NDE2MTU4NzVjNDk0MzhlNzlkMGQ2ZDAwODRjYTJkMiBsZWdhY3ktdHJ1bmsKKzQ5NTkgZDU5NzgyMzhlM2JhNmY3Y2M3NzMyMDJmMjEzYTczOTViYjYzZDQwMCBsZWdhY3ktdHJ1bmsKKzQ5NjAgNGRkMWFmMGRkZWYwOGRiMjZlMjYyODRjMzE2OTVjNGU0NzNmN2MxNSBsZWdhY3ktdHJ1bmsKKzQ5NjEgNDI1ODM1Yjg4MDk5ZTgyMmI5OGYwOTJhYWJlNTFiYTQ1YzllY2NlYiBsZWdhY3ktdHJ1bmsKKzQ5NjIgZTkyMGU2YzI3MjA4MjFjMWMyNmVhZjg2MDI4NmRlN2Y3MTBkNDBmMiBsZWdhY3ktdHJ1bmsKKzQ5NjMgOWQ2ZTk3ZDY2NjcwOGQ0MzdhYmUyODVjOTFmNDgyNjU5Njk3YTFlNyBsZWdhY3ktdHJ1bmsKKzQ5NjQgOGFjNGMwZTFjZTE3YWQyOWJmN2FjOWEyOTFkNmQ2NjdkYTMxYmNiNSBsZWdhY3ktdHJ1bmsKKzQ5NjUgNDdjYzUzYTFmZDQ3YjNkNGVlYzQ4ZTM5MmE4OTI3NjZhNTAyODc0YSBsZWdhY3ktdHJ1bmsKKzQ5NjYgYzZlNDgyODcwZWMzMGFkMGM0M2MzOTgzZTEwZjM5OTZkYmNkMjRhYyBsZWdhY3ktdHJ1bmsKKzQ5NjcgYzI5YWRiMzM4OTY0Y2I3ZmFjMDk0ZWU2MDk2ZDk5NWEzMGM0OTRjZSBsZWdhY3ktdHJ1bmsKKzQ5NjggYzZhNmUyYjIwYmQ4M2RkMzhhOGUyMmU3MTY1NGY1ZTdiODUwNmY1NiBsZWdhY3ktdHJ1bmsKKzQ5NjkgYzZmMmQ1MTI1MWQwNzVkNzhkZWEzNzliNTRiZTJlMWEzYzZmYjI5YyBsZWdhY3ktdHJ1bmsKKzQ5NzAgNTZlMjUxMTRkNDM4NDQzNTlhZTA2NGM5MzNlNzg2ODNiODExZWRmMSBsZWdhY3ktdHJ1bmsKKzQ5NzEgZjRkYzUxZjc4YTU2ZGMzZmJiMTQxZDZkYmRlYjVjY2IwNDM2MTdjZCBsZWdhY3ktdHJ1bmsKKzQ5NzIgMWNlOWU2N2M2ODU2ZThmYzc4YmExNzU1NjUxZWI0OTllNWEzYzBiOSBsZWdhY3ktdHJ1bmsKKzQ5NzMgZDBiOTgxMmNkOWNmNDA1MTNhYzhmNzM5ZmI3ZmIyZmIwZGY5OWM1YSBsZWdhY3ktdHJ1bmsKKzQ5NzQgMmY0NTU2MjdjMWYwZWQ1YWZiMjg3NzZkNDliNWI3YjdiZmZkZGU3MiBsZWdhY3ktdHJ1bmsKKzQ5NzUgNTU2MjE5NzA5ZTk5ODViY2ZlMTIwZWFhNjA2NzQzMzIzYjVmZDk0OSBsZWdhY3ktdHJ1bmsKKzQ5NzYgNDk1YWZjOGFkN2I5NjlmMTRlNmMwYzI1YjI0ZjViZmVlODE3OGY4MSBsZWdhY3ktdHJ1bmsKKzQ5NzcgODQ3ZDI0ODQxYzg1Njk5ZDE1MTgyYzUzMzlkYjU1ZDNkNmRiMTMyMiBsZWdhY3ktdHJ1bmsKKzQ5NzggZTdkNDgwY2YxNmJhNmRmODEwYWU2OTEwNjk3NjAwYjdmNjZjYzI3NyBsZWdhY3ktdHJ1bmsKKzQ5NzkgOWU0MDEyYjE3NTdlYjRiNmE2Y2JkOTNhMzJiMWY3NzU3NWU0NDUxNSBsZWdhY3ktdHJ1bmsKKzQ5ODAgOGI4YTM3YjdjYmE0Mzk5Yjk4OWMwNTI5YWMwZDQyNDE2MWEwZDFkZSBsZWdhY3ktdHJ1bmsKKzQ5ODEgNjAwMTQ0OGZhYjg5MDM1MGJlYTgzYzYyYWEyMzg2NTFkNWQxZWVmYyBsZWdhY3ktdHJ1bmsKKzQ5ODIgMTZlYTE1MWFlZWMzYTRiMDg2YjkzZTk0N2Q2MzA1YjExZDBhNTdkYSBsZWdhY3ktdHJ1bmsKKzQ5ODMgZDExMjNiMTBjZjIzNzJjYzRlM2U1YTU2ZmU5YzBjZjYyOGM3ZmRlNCBsZWdhY3ktdHJ1bmsKKzQ5ODQgODE1ZGZhYTZhNzc4Nzc3MjA2MzM0YTdkN2NhN2IxODY0MWNiMWMyNSBsZWdhY3ktdHJ1bmsKKzQ5ODUgYWUyYjAzMjQ0NWY5OWMzM2IxZjc3YjJiMjIzNjhkMzViMmI0MzA2NCBsZWdhY3ktdHJ1bmsKKzQ5ODYgMTZlYTU3YzM4YzRmNzQxZjMxNjk2YTNjOTNkMzU2YWI2YTllMGM4ZCBsZWdhY3ktdHJ1bmsKKzQ5ODcgMWE1ZTdkYTQwNGMzZGEzYjNjYzVmNWZhYTU2Nzc2ODMxNDBhNTk2YiBsZWdhY3ktdHJ1bmsKKzQ5ODggZTM5YmIyNDBiMWIzYTdhODQ0NWQwMDFlYmJiZDQ2MTZlMWMwZWY5YSBsZWdhY3ktdHJ1bmsKKzQ5ODkgOWU1YTA5ODQxNzgxOTU4YzI4ODNkYmZjY2E2NWVlNjhmY2M5OTM2OCBsZWdhY3ktdHJ1bmsKKzQ5OTAgZTUwNmVjNGZiMmIxMGQ0MDBlZTdmNjM4ZjY5Zjc5YjUyYzZmYTNiZiBsZWdhY3ktdHJ1bmsKKzQ5OTEgNzNkMTkzZWFhOTAwZWE0MzhlODQ1Mjk4ZmQ3NzY4NGI2YTQ3NDUyNCBsZWdhY3ktdHJ1bmsKKzQ5OTIgODc1MTczZjNmMzFjYmQyMzQ2Y2I0Nzc5MTNhZWU3NWU5MjU4ODllZiBsZWdhY3ktdHJ1bmsKKzQ5OTMgYTE0ZmMyZDA0YzA2MjVhODY1ZmZiNDNiZDhjNTQ0OTQ1Yzk1MDllMSBsZWdhY3ktdHJ1bmsKKzQ5OTQgNmZjZDBiMDIyZmE3N2JiZTYyZGY3Zjc5NTE0NzdiZmVkMmEyYmYyYyBsZWdhY3ktdHJ1bmsKKzQ5OTUgNGRmMDBiMjk0NzdiN2Y3YjI2OTc5YjllZDNhMWJmNzdmYjgxMmI3ZCBsZWdhY3ktdHJ1bmsKKzQ5OTYgNTM0YTk3YzQwMGNjN2Q2MGM1MzVjZmQyNGU1NDg0MDFmMzFhZTZjOCBsZWdhY3ktdHJ1bmsKKzQ5OTcgZDdhZTVmYjFkMjU1MDk4MTQ5NzgxYzAxZjQ4ZmU5NTk3NTA2NGNiNiBsZWdhY3ktdHJ1bmsKKzQ5OTggYjcyY2NmNWI3ZGJjNDdmYzhkMTE2OWRhM2RkYTJjYTczMTFmNzliYSBsZWdhY3ktdHJ1bmsKKzQ5OTkgNDlkZjE1NzZmYjU0ZTkyZmYxY2JhMTBhNTJjZTUxOGQzZjU2ZDk2ZiBsZWdhY3ktdHJ1bmsKKzUwMDAgMWE0NDhkZDg0ZWRjMmU5ZjNkMjE0OGNhMzlkZTZjYTgyNWViODZhNyBsZWdhY3ktdHJ1bmsKKzUwMDIgYWFiYmZiNjFlMzg4ODRiNmEwYzRjMzE5ZWZhNjI3ZDRlYWJhZjZkYyBsZWdhY3ktdHJ1bmsKKzUwMDQgOWNjNzc1ZmQ2ZTg0YzVmMzM4NWJlYTkwYTI0N2U3OTgxYmFiOTBmYSBsZWdhY3ktdHJ1bmsKKzUwMDUgNTUzNmZjYmFlODBhZDdiMDE3ZDMzOGE4ZmUyMGExNTQwMGIyMjVkMyBsZWdhY3ktdHJ1bmsKKzUwMDYgMzI4MWE5MzFhMWQ5ZGM5NzdiYTEzYzUwMWFmNDBkOTJhZTRhNWFlNyBsZWdhY3ktdHJ1bmsKKzUwMDggMmNhYzZjNTA2NmRhNTA5NTk4YWIwNmVlMjllOTBkZjY5YmZmYTczOSBsZWdhY3ktdHJ1bmsKKzUwMDkgNDE5NjAwMDc4OWJjNWUyNDI2ZTAzOGE3NGU1MjEyMGI1NmY1OTBiZCBsZWdhY3ktdHJ1bmsKKzUwMTAgMGY2ZmY0NWJkODE2Nzg3NmI3YzNlNDUzYjZlMjU2MWU3Njg2M2UxYSBsZWdhY3ktdHJ1bmsKKzUwMTEgYzU1ZGRkYmZjZjdjZThlYjZhZmJmOTdjZjRmZDU5ODg5NTFmNDlmMyBsZWdhY3ktdHJ1bmsKKzUwMTIgN2Q3MDIwOWYzNTVkMjBlYzAxZGJjNzNhMDJmYjI5Y2U5MjNmMjE5OCBsZWdhY3ktdHJ1bmsKKzUwMTMgZjMwYmM0OGM0MTdhMjFkMWNjM2I2ZTY2Zjk3MzljOTVmMzgwMjgzYyBsZWdhY3ktdHJ1bmsKKzUwMTQgZjRkMjZhMGUyOTc1MTUxYTZmZWVkMDBkYmFlZDNjMjM1MGYwNDUyNSBsZWdhY3ktdHJ1bmsKKzUwMTUgYjE4MWRmZjIxYjBiOGU5OWNmMmM5NDU3OTg5MGQ2ODEzYTUxYmU1YiBsZWdhY3ktdHJ1bmsKKzUwMTYgZjliMDc5MTVhMDYxN2RhMGFlNGZiMGU5YmE1OTM2MWMyY2M0MmRhYyBsZWdhY3ktdHJ1bmsKKzUwMTggMmFhNmI1YWQ0NTIwNGUwNzFkYjFkNGY3YzFlMjgyYWJhYmU1OWUzYSBsZWdhY3ktdHJ1bmsKKzUwMTkgMzhmMzIyNWVmZjMxYmRkMzViYzYyNzA4OGZlNzJiYTBmY2Y1MGQwYiBsZWdhY3ktdHJ1bmsKKzUwMjEgM2Y4YzhiOTAxNThkZmQzMmZiYzQ4Y2FiNDI5MWY2M2IzNmRmZGUyNCBsZWdhY3ktdHJ1bmsKKzUwMjIgNzg3YjRkZDZmNWYzZTZjMjBlMTJkMTc5NGMxMDY5ZWJiNDRkYTY3OSBsZWdhY3ktdHJ1bmsKKzUwMjMgYjA5MmQ5MzZjODc1ZTY2ZjE3NGRkMWFjYTc2MTAxZTJkNjk5YmE2ZCBsZWdhY3ktdHJ1bmsKKzUwMjQgMzgyODIwNmMyZGMwYzYwOWU2NGFiNmMyOTgzZDc5ZDk5NzQ1MWVjYSBsZWdhY3ktdHJ1bmsKKzUwMjUgODVjMDgxOTY2MmI3YjQ5YmRkY2U0NDU5NzFjNjgyMGFmMjhhM2I0OCBsZWdhY3ktdHJ1bmsKKzUwMjYgN2ZiZmY1MmRiMDg3NzRkZjk0ZDE0OTZhNGVlZmQwZjMwMGI2MmI5NSBsZWdhY3ktdHJ1bmsKKzUwMjcgOTEyODEzZDU3M2I0MmZmYTIyM2E5NTc2NmM4ZjM3MWQ0NDlhZGE3NCBsZWdhY3ktdHJ1bmsKKzUwMjggOTE5YzUzYTM1ZWZhZWFkM2U5ZGY4ZTA5M2NiNWQxMjc2YzczYTM2ZCBsZWdhY3ktdHJ1bmsKKzUwMjkgYjU5NjNjNGI2MzlhZDE0OTcxNzEzNmI2ZjM3N2FkMzBlNzI0MWUyZSBsZWdhY3ktdHJ1bmsKKzUwMzAgMmM2MTc4NjMyN2NmZjA1NGQzN2Q4Yjk4ODdlMGU4YTQwZjY3MWZmNyBsZWdhY3ktdHJ1bmsKKzUwMzEgN2EzNzMzNzMyOTAxYzExOWU1ZjVhNjkwOThmZjE2MTI2M2M2NGVkZCBsZWdhY3ktdHJ1bmsKKzUwMzIgOGJlNDAwMmI1MDg2N2MxODdmM2JkMGU3ZmNlMjlkZTUyMjVlZWMwYiBsZWdhY3ktdHJ1bmsKKzUwMzMgMTgwNzg2NGE3NWY0NzE0M2NiMzBjNDg3NThkZGI2NTBkZWIxM2RlNCBsZWdhY3ktdHJ1bmsKKzUwMzQgYWMxM2NhYTc5ZTNjYTYzNDI4NTVlMTAzYmQ3ZTQ5ZTRhZjBmZjNjOCBsZWdhY3ktdHJ1bmsKKzUwMzUgMGJhZWI3NDZhODU0MDMyOWM3NDEyNTFlMzcwNGMwMTJjMDU2MzA0ZSBsZWdhY3ktdHJ1bmsKKzUwMzYgZjBiNzg3MmRhNjg5MWMwNWQ2N2JhOGZiZDQ0Y2FjNGU5MGVlN2NjMyBsZWdhY3ktdHJ1bmsKKzUwMzcgOTY3N2ViMTA1ZmFlODI0ZGI2YzA4N2NlNjA0NzBlMjM0ZWUzMjIxYyBsZWdhY3ktdHJ1bmsKKzUwMzggZjQ3YmM1NTU0NDE4NWE1YzA5YjYzMzc0MzQ1MTljMTcwMzAzNjQwNiBsZWdhY3ktdHJ1bmsKKzUwMzkgNDk4ZGFkODA0NWQzNGM4NmJkNjVlZGI2M2I3ZWE1NmNiMzk0NzE1YiBsZWdhY3ktdHJ1bmsKKzUwNDAgMGFjMjdmZmQwNTc5OWMzZjFkZDg2N2JlY2Q1MTgxYjg5YTYxYzc5YSBsZWdhY3ktdHJ1bmsKKzUwNDIgYmM0YjNmZGE2YTgwNzhkYzYzNzdmYWFjOWZkMGIwMmU4YTNiNDU1OCBsZWdhY3ktdHJ1bmsKKzUwNDMgOTFiYzkwN2IxZTYzY2YwODJmNDM0NzEwZWZkMjhkN2U3ODMyMTMzMCBsZWdhY3ktdHJ1bmsKKzUwNDQgNGQyOGI2NTViNzI4NzE1ZTQyYjNhMGJhODFkY2Y4NWU5MTU0ZDNjYiBsZWdhY3ktdHJ1bmsKKzUwNDUgMzc3MGU0MzQ3ODAzODVlZjkyNjg1NDZkOGQ4NjdjNmQxNGRlYTc1OCBsZWdhY3ktdHJ1bmsKKzUwNDYgNzkxNDkxNTcyOWUzZDUyMWI3MTNmODIwYWZhZTYwNDVlNjZlYWE3NCBsZWdhY3ktdHJ1bmsKKzUwNDcgNGI2YzA3NjJkNjU5YjRkNjFlN2MyOWRjNWJjMzEzMzgxNTY5ODZiOSBsZWdhY3ktdHJ1bmsKKzUwNDggNzA0MmFlZTY0MDllZmM3ODIwZmQzZDE4ZmE2MDZiYjBkZTQ3OTM0NSBsZWdhY3ktdHJ1bmsKKzUwNDkgYWUxMzFiOGI0ZTMxOWRiZmMxM2Q4NzM5YjkzZjUyZWNlMjkwMWRkMSBsZWdhY3ktdHJ1bmsKKzUwNTAgZDY5OTU0ZTFmNWQ0MThmNGZkZjBlZDIzZjUxMmI1ZmI1OThhZGI0ZSBsZWdhY3ktdHJ1bmsKKzUwNTMgYmJiZjE3NjQwYzZmYTE1Y2JjNTk2M2M3NTgxOTAyNWFmM2VmM2QxNiBsZWdhY3ktdHJ1bmsKKzUwNTQgZDVkMjdkYWQ3ZmVhZjVkNmY1MzlhYmUzMDNhMDk1MDk0NmU5NGRlOSBsZWdhY3ktdHJ1bmsKKzUwNTUgNWQwOTM4MzUwYWU4ZThkODdjYzg3NjFmZThhYmQzN2Y2NGIzMTQ3NyBsZWdhY3ktdHJ1bmsKKzUwNTYgMmEzZTQ4OTcyMjYxMmY5MzA1YzE5ZTU5YmI3NTgyNzlmODU3Yzc3YiBsZWdhY3ktdHJ1bmsKKzUwNTcgNzYzZWI0Nzk3NWRkMzk3ZTkzNmU0NzJmN2IwOWY1M2NjOWUxN2E3OCBsZWdhY3ktdHJ1bmsKKzUwNTggOGRmNTc0YTY1NWFkNmMzY2Q1YjgzZTM0OGQ4OWEzMzllODYwZjIyZSBsZWdhY3ktdHJ1bmsKKzUwNTkgY2U5YTc1MDdlMWVmZWI3MTAzNTZjYThlNTVmOGVjYmMxYzY0NDgyZiBsZWdhY3ktdHJ1bmsKKzUwNTkgMDY1ZTMxY2Y1ODYyZTI3NTIxY2Y1NzI1YjAwM2FlZDIxMWYwOTFiMiBsZWdhY3ktdHJ1bmsKKzUwNjEgMzE3Nzc2MjJhZTkzMTU3YTIwMTA4MTI5MTQ5YWVmY2VmZTJjOGVkYiBsZWdhY3ktdHJ1bmsKKzUwNjIgY2Q1YTk2ZjYyMzliZGU0NTJhMjBmNzcxMGJmN2E0YmFjZDk2MmMxZCBsZWdhY3ktdHJ1bmsKKzUwNjMgYjI4MWMzYzg2M2NjYWU0ZWRiZDFjNjk1OGY5ZDMzYWE3MDNkZjczMCBsZWdhY3ktdHJ1bmsKKzUwNjQgYmRiNjNhNzk3NTU1NTQ3ODQxOTI0MDJhZmZjYmNlNDM3YTcxMTRiYSBsZWdhY3ktdHJ1bmsKKzUwNjUgNTg4Y2Q0MzQzZWVkMWZjMjczNjA5ZjcwNDExYTAzYzg0YzY1NWZiOCBsZWdhY3ktdHJ1bmsKKzUwNjYgMzUyMzM2NDA0NzliMmViYzhiYjJkODNkZDdjNTQzNDkyZjc3NmU1NCBsZWdhY3ktdHJ1bmsKKzUwNjcgYmVlMmFlZDQxNmQ2MjQ0MjdhZDBhZjhjYTNjMzZmMjFkYTFjZjUxYSBsZWdhY3ktdHJ1bmsKKzUwNjggNDA4NGVjZjI3NmNmMGY1ZTQ2Yzg4MjJmMDZhZTQwMzZiNjJjMTU1MiBsZWdhY3ktdHJ1bmsKKzUwNjkgYzUyYjVjOWJlN2UyMTdmNDI0MjIxZjhlMjU5YzkwYzlmNTdhMTkzOCBsZWdhY3ktdHJ1bmsKKzUwNzAgMjliOTBhODZhYzk2ZDhjODhjMzNmMmNkZTI1NTA3YWNiYzJkYzE4OSBsZWdhY3ktdHJ1bmsKKzUwNzEgMTdjOTI1ZjAwNjBiOGM3MTk2NTllYjYwYmQwZTg3NjBjZjhlMWJkMyBsZWdhY3ktdHJ1bmsKKzUwNzIgMWM4MTQ3ODNlZmMxODUwMGEzMDIyZmY1N2EzN2VmN2U1YTY0NGI4NCBsZWdhY3ktdHJ1bmsKKzUwNzMgZWVhYzE3MGY1ZjJmZjgyNThjNjlkODgyMzdhNWE3ZmM4YzZlOTgxZSBsZWdhY3ktdHJ1bmsKKzUwNzQgN2VmNzI4NzNlNGQ2ODc0N2Y1MjZjNzg4OThhODllZWQzOThjYmZjZCBsZWdhY3ktdHJ1bmsKKzUwNzUgYjAyNTczZWViMTgyOGM2ODIyZGIyOGEzNTFjZWFjNTdlNmNiMWNiYiBsZWdhY3ktdHJ1bmsKKzUwNzcgMDE2ODdjZTQzNzA4MmE1NWI3ZWNmMDA2NDMyODAwZmVmNTU3NGNlYyBsZWdhY3ktdHJ1bmsKKzUwNzggY2E2YjYwZDRlYTkwNjM3YzY3NmIxMDMwMDA4MGE3Y2U5NGFjZDNjZCBsZWdhY3ktdHJ1bmsKKzUwNzkgYjM2OGJlN2IwNjJhNTMwMmEyZDA2YjkzZTQ2N2Y3MmYwYmE4Yzk3YSBsZWdhY3ktdHJ1bmsKKzUwODAgZjcwNDlkNDY1MzY1NzY5OGQ5OGQxMjBlZmZiMWFlNWFmNjJkMDM3NCBsZWdhY3ktdHJ1bmsKKzUwODEgYmMzMjYwNzRmODYxNGU4MWI1YmRmMzlmMDlmNDRhMjljOWNhODMzMiBsZWdhY3ktdHJ1bmsKKzUwODIgYTkyZGRlZDRhN2M0ZGNjNjI0YTY4MGMwMDhkZWI2OGM5N2FiZDRmMyBsZWdhY3ktdHJ1bmsKKzUwODMgZWQzMGJjYTE4NGJiODFlMjNhOGZhYTlkOWJkODBiY2RkZGEwNDZjMSBsZWdhY3ktdHJ1bmsKKzUwODQgNmNjNjM3YzYwY2U2NjJhZmVjYTIyODIzZjk2YTZhMmZlMGZhYWQ3YiBsZWdhY3ktdHJ1bmsKKzUwODUgZGE0N2I0MTQ2YTdjODdjZWQ0Y2E0ODRkNmY1MzZjZmMyZjk2OTkyOCBsZWdhY3ktdHJ1bmsKKzUwODYgYmQwNWRjZWE3YjA5Y2Q3NDc0OTdjZWMzYmVlNjA3MjMyNDA5NTJkZiBsZWdhY3ktdHJ1bmsKKzUwODcgMmY5MTAyZjU3MTQzZjFkNmZkNDYyYmQ5NThlNWM1ZjE0YzA5Mjc1NCBsZWdhY3ktdHJ1bmsKKzUwODggNjFlM2I2MGFlYzQ0MTlkYWVkMWU4MWYzZjI2N2I2YmY2MmRhOTY1OCBsZWdhY3ktdHJ1bmsKKzUwODkgODMwMThhYTliMTdjOTU2YzU0ODY4YjMzNjRhN2MxNGFjNDYzNGQ4OSBsZWdhY3ktdHJ1bmsKKzUwOTAgNjM0MWE0YzAwODJiMzQ5Mzc1MTcxZDViZjA5OWNkYTZlYjAwZDIwNiBsZWdhY3ktdHJ1bmsKKzUwOTEgNWEzMzcxMzIwOTc1NDVlYWYyZWQyZjVmYjQ5NDc5YjM0ZmQ4OGFlYiBsZWdhY3ktdHJ1bmsKKzUwOTIgZGJiNDE3MTIxNjViZTRmYTQyZjBkZTc4NzExMmRjYjAyMTIwMmJmYSBsZWdhY3ktdHJ1bmsKKzUwOTMgZTllYTA1NzAyNjc2ZTdiYzgxZGE2NTk5YzEzZjMyMGI4ZTU2YzBmOCBsZWdhY3ktdHJ1bmsKKzUwOTQgN2M5MmQ0NGZhNmZjYTUxMGVlMWE5OTRlOTg2NjVlNDQyNjAyMTBlNSBsZWdhY3ktdHJ1bmsKKzUwOTUgMTc1NjcxY2MyMWQ4YzY0NGNlZDE3ZGI3Y2E3MjU0ODFhNGVjYjlhNCBsZWdhY3ktdHJ1bmsKKzUwOTYgNmM4OWRmNTc2ZDkxYWZhZGM3MzcxY2M5M2QzOTY5ZmM3MzNjNzFlOSBsZWdhY3ktdHJ1bmsKKzUwOTcgOTEyMzE3YTM3ZTJiMzg1NjE3ZWJhZmRkZjY5Y2YzYTJhMTMyNzJlYSBsZWdhY3ktdHJ1bmsKKzUwOTggNzVlOWU1NmI1ZjliMWEwZGUzZTAyNGVmYjQ2ZDA5M2VmMmRlZWJkZSBsZWdhY3ktdHJ1bmsKKzUwOTkgMjI5MTJmM2E4ODlmMTJmZjYwNzg2MDQzN2Q4YTQwMmZkMWUyMTRkYSBsZWdhY3ktdHJ1bmsKKzUxMDAgZjRlZjNiMjEyNmViY2JkZDY1YjZjOTY1MTQ0ZmIzMGYyYTQ2MTFjNSBsZWdhY3ktdHJ1bmsKKzUxMDEgNmYzOTZjZTUyNTVkMDhmMWE2ZTM5MGRiZjhjM2RkYjQ2YTQ0NTZhYiBsZWdhY3ktdHJ1bmsKKzUxMDIgNjdmZjlmNDdhYjM2ZmU5Yjk4MDFmNzZjOWY0MDFkMDJlNzkyOWFiOSBsZWdhY3ktdHJ1bmsKKzUxMDMgNDQwODc4MTkxNDhlMjc3Njc4OGNlOGI2NmI5NTAyOWUzZWQwNjVlOCBsZWdhY3ktdHJ1bmsKKzUxMDQgNjhjN2EwYTYxZmQ1ODFjMDc2Y2Y4ZmY4ZDFlZDhmOGUyMzcxNzNkOSBsZWdhY3ktdHJ1bmsKKzUxMDUgZjExYmE5Y2MzNDJmMjgwY2FhODdmYzFjMTk4YWEzY2ViMTU5YTBlMCBsZWdhY3ktdHJ1bmsKKzUxMDYgZjVjNDA4NjlkYTEwNjU4ZWMxMDMxNzBjN2MzOTYyNDE4MDAzNDUwMSBsZWdhY3ktdHJ1bmsKKzUxMDcgZjk4YTIyMzNiMzM3YjQ5NTM0NThiN2RjZGNkNTY0YTVkMjNlNDVmNyBsZWdhY3ktdHJ1bmsKKzUxMDggNTEzNGMwMDllMWE0ZmU1ODNkZDllMGVlN2E3MTg2OGQ4NzAxNGI2YyBsZWdhY3ktdHJ1bmsKKzUxMDkgZDllNGNiYmE5NThjMDY5MThmZTE2ZmE2YWNiZmRkZDE2OGMzNGEwMSBsZWdhY3ktdHJ1bmsKKzUxMTAgN2M2OWM0YWVjYjM4Y2I0NTVlNzM5YmYxOTA2ZTJiMjc3MTY3ZjBmNiBsZWdhY3ktdHJ1bmsKKzUxMTEgZjg3NmNkNWM0NDE3ZDc1MDA5NWQ4MDA5ZjdjMmRjOGYxNWUyNWViMCBsZWdhY3ktdHJ1bmsKKzUxMTIgZGUyOTdjZGVhMzRlZTY1MGUyMWUyYmVkMmUwYWNiYjRjZjZmY2MzYSBsZWdhY3ktdHJ1bmsKKzUxMTMgOWI3ZTZkOWE1MjhkYTdjODhmM2Y4ODhhNjRiMGI4NThhMDRmNGJkYiBsZWdhY3ktdHJ1bmsKKzUxMTQgYjdlOGJjMDAyYTI0MzBjYmNmNDU2ZjZlNzYxODI4ZmFhM2ViOTNlOSBsZWdhY3ktdHJ1bmsKKzUxMTUgMDYzYTk2YjQ5YjNlNjJhOTQ4MjFiZjM2NzQ0ZGU3MWI5OTFlNmUxMCBsZWdhY3ktdHJ1bmsKKzUxMTYgNjA2YTA5N2RmZDAwMmM0YTA4NmIxNTFlOGIyMjcwMWI3NDA2YWM3MyBsZWdhY3ktdHJ1bmsKKzUxMTcgODRlMjI2MGRiMTc5OWIzNTBiYjI4OTY2ODM0ZjliNzY0YjE3ZTFmYSBsZWdhY3ktdHJ1bmsKKzUxMTggZDYzNTBhMzE4OTk3ODgyYzY5ZmM3NmI4Yzg1OThhNjUzZjY5NmYxZCBsZWdhY3ktdHJ1bmsKKzUxMTkgZTNlY2M0MDE4OTg5YWUzODExYjcyYWQxYjNjZDFmNTBlNGNjNWU0NSBsZWdhY3ktdHJ1bmsKKzUxMjAgZjRiM2Q2OGM3MTI0NDJjYzc0Yjg1NTgyZTU1YjMxMzU1YWM0Y2RhMyBsZWdhY3ktdHJ1bmsKKzUxMjEgZGIzZGFjZTI3OGFjMDE4OGRlZWFjMDBhMTljNDY2YTVjN2IxYWE4NiBsZWdhY3ktdHJ1bmsKKzUxMjIgOWNmNjA0YTM0MTFlOTQ1YjlmNGU1ZDYyM2ZiYmJiNmI0MWUzNzQwNCBsZWdhY3ktdHJ1bmsKKzUxMjMgODQxZjcyZGM1NDQyNGIzZGVmMzY2MGI1ZDFlOGYyMzQyMzYwNjVhMiBsZWdhY3ktdHJ1bmsKKzUxMjQgM2EzZGYyMzEzMjdjMWQwNjcxNDQwODM1NjAxYzhhNGRlMTBjZjI1NSBsZWdhY3ktdHJ1bmsKKzUxMjUgMjY2YWQxMzI4N2E0ZTBjYTU5OGNmMjI4MTVlYjEzZGZjZmM4NjliZSBsZWdhY3ktdHJ1bmsKKzUxMjYgNGViNmRkYjllOTYxYzlhYjViYTI2YTExZDNkMTNhOWU0NmRkYTU4MSBsZWdhY3ktdHJ1bmsKKzUxMjcgYjRmZDQ4ZTNhM2I4OWIyYWQ5NGZlNzk1NWJmNmNjOTFhNjI0OTliMyBsZWdhY3ktdHJ1bmsKKzUxMjggZGYzZTFlNTIxZmU2NWRlM2YwZDdjYjMwNmRkZTcwYzI1ZjJlM2JhNSBsZWdhY3ktdHJ1bmsKKzUxMjggZTcyMjU3ZTY1NTQ1NGQ1Njk0NjhkYThiMTE4OWUwZWMzMzZmMzUzNiBsZWdhY3ktdHJ1bmsKKzUxMzAgNTEzZjFjYjcwY2U2YTllY2Y0MjhhN2U5YTUzMjQzYzI5YzNlYWFlMCBsZWdhY3ktdHJ1bmsKKzUxMzEgMmY4ZThiNjEyOWY3M2FjN2EyNjMzZmQyODQzYWRkN2I1MjEwMWVkMyBsZWdhY3ktdHJ1bmsKKzUxMzIgNDkxODM5MzhkMDdlOTdiNGMzY2UyZDY1NTQ5MTVmYmM2N2ZiOGQ3YyBsZWdhY3ktdHJ1bmsKKzUxMzMgMGI3ZTE0YmI1NGFlMGVlZjEwN2I5ODMyYzllNDg4OTAyNTY5ZjA2MCBsZWdhY3ktdHJ1bmsKKzUxMzQgZTJkZDc4MTk3NTk2YmZkMThiZjNjZGI4OWY0MWJkZDBkNGM3NjJkZCBsZWdhY3ktdHJ1bmsKKzUxMzUgMzRlZWZhMjI2NzA5YWE4ZWRhYWM2ZGY0YmQ0ZDNmNmZjZjk3OGU1OCBsZWdhY3ktdHJ1bmsKKzUxMzYgYzk0NTczNWE0YWQ3MGY0MjAyMTg1YzAyYmRjNzA1OGEwZWU1NDMyOCBsZWdhY3ktdHJ1bmsKKzUxMzcgZDI0MTkwYzY1YjUxZjAzNDFkNzkyNWVlYzllZGQ3M2VmZmZlMjg3ZiBsZWdhY3ktdHJ1bmsKKzUxMzggMGZiNjU1MjBmY2QwMTJhNzUwNTFlNWMxZGNhMGQ5MzBlYzViNjVjMSBsZWdhY3ktdHJ1bmsKKzUxMzkgNGM4MGNmMDJkMTU0MGM3ODk1MDQxZGU2NjgwMGU5YTdjZWJiZDFmMyBsZWdhY3ktdHJ1bmsKKzUxNDAgNDkzYjg3MWYzNzc1NDdjNmNlM2ViYzc3NzViNjljOWRkZWJmNjNhZSBsZWdhY3ktdHJ1bmsKKzUxNDEgMzE4MTcyZmYyZjE0YzY5NzljMDk2NmI5ZmUzOWRmMWFlMDVjMDE2ZCBsZWdhY3ktdHJ1bmsKKzUxNDIgMTA3YzE4MDA5MzdlM2Y0NzFlMzkzMmUzZjI0NjRiY2MwY2RjZWM4NSBsZWdhY3ktdHJ1bmsKKzUxNDMgMGI2YzhhN2U5MzNhNjZlZWFmYjY1YTdlZGNiNjZmZTJlZWMwNmZlMSBsZWdhY3ktdHJ1bmsKKzUxNDQgMGU5Y2FlMGI1MDcyZDY4ODIwZGQwOWY0OTdhYzIxYmVkMzJiZWM0OSBsZWdhY3ktdHJ1bmsKKzUxNDUgOWU5ZjIyZGJlZDFhZjA0ZTA5NzYxMGRhNjM5YzNjMjY5MDJhYjZmYyBsZWdhY3ktdHJ1bmsKKzUxNDYgZDQ2NDRkMzkyYThmZTY4YzQzYjNjNDFiNGM0MDhmOWIzODU0YmQ5NCBsZWdhY3ktdHJ1bmsKKzUxNDcgMmQ5YjE2NTI3MjQ3ZGNiM2EzNTdiMGMwZTE4ZDAyNmRiNWZhYmEzNCBsZWdhY3ktdHJ1bmsKKzUxNDggNjkwZTQ2ZjBiZjU5ODU1ZmNjODk5MjY2OWVmYzEwNjVjNDVmZTU3MiBsZWdhY3ktdHJ1bmsKKzUxNDkgMWE0ODFhNzVhZjQ1ZjEyOTI4NjMzYTIwMDdmMjM4NWFmYzc2ZjIwOCBsZWdhY3ktdHJ1bmsKKzUxNTAgODkyOTJmNmEyNThkY2NmZTdjMjY5NGFlNjhjYTEyZDA5ZjUyMmZiMyBsZWdhY3ktdHJ1bmsKKzUxNTEgMjEwODIxZmQ1NjUwOTQ3YWQwMDhjNjRmYmE5MGVkMGE1NmJkZWM2ZCBsZWdhY3ktdHJ1bmsKKzUxNTIgNGI1N2FmMWJhMjk3MTA2Y2Q3ZWM1OGI0MDE4ZDBkYzRmZDhmMTljOSBsZWdhY3ktdHJ1bmsKKzUxNTMgOWJkYzI3ZDE1MWJhYTZiNWQ0YmIwYjk2NTYxNzZlOTkzM2Q5OGJkZiBsZWdhY3ktdHJ1bmsKKzUxNTQgMzQ3Y2YwZTQ5MmQ4MTFkNTBjNWMyODBjN2Y2NTAxMzM5ZDZiOGE1ZCBsZWdhY3ktdHJ1bmsKKzUxNTUgNzMzNWM1YjNiNDNiZDI0NGIyOTFhNWFiOGJiOWY1NDEzMDc2NzlkNCBsZWdhY3ktdHJ1bmsKKzUxNTYgYzFmNDg4NThmMTg2MGZhYzMwZTY1NTg1NWNiMDllNjJlMDQzMjVhMiBsZWdhY3ktdHJ1bmsKKzUxNTcgOTI1ZDFiZmNkOTI1OTNkMGFhYTQ2MDllNjIxMzk4MjM3Zjc5OTBlZCBsZWdhY3ktdHJ1bmsKKzUxNTggZTFkMjNhNmI5MzBiODA3YTQ3ZWQwYmYzOTFkOWEwYTQzYjViODg1ZiBsZWdhY3ktdHJ1bmsKKzUxNTkgMWFmOTIyMGM2ZDE5ZDk0NmYxN2NiOWI5OWIyOGUwNGE0ZjViYjkwZSBsZWdhY3ktdHJ1bmsKKzUxNjAgMTE1N2UxNDI3MGQ2ODc2OWQ3ODk1OWI3MTJmNWI1MTMzYmNhNTNiYiBsZWdhY3ktdHJ1bmsKKzUxNjEgZTAzOTM2NTdmZmE0NzcxZGQzYWVmNGQ3ODBmZDUyMTQxZTViMTk0MyBsZWdhY3ktdHJ1bmsKKzUxNjIgMDYyMzVmZGMxYWFmM2JkYzc1NjY3MGVmZWZiNjlhMTRlMGYyMDAwOSBsZWdhY3ktdHJ1bmsKKzUxNjMgM2ZmYjMxY2M4YTliM2EwZmFjM2FlNDg4ZDM0NDEzMzYwNWMyNDdmZCBsZWdhY3ktdHJ1bmsKKzUxNjQgNTM4YWI4MmY5MWE3Mjc1NDE2NDgwNGNiM2U4MzlkNTQ5ZjA3N2E0MCBsZWdhY3ktdHJ1bmsKKzUxNjUgNmQ5M2I0YTBmNGNlN2M3ZThjNDY3ODBiMmE5NTM4ODlhNzljNDEwYSBsZWdhY3ktdHJ1bmsKKzUxNjYgMmY0MmUyNzM4MmU5ZDIzNjhhM2Y1ZjNkODAwZDkyNmUxODMyMTU1MCBsZWdhY3ktdHJ1bmsKKzUxNjcgMTJkOGM4Mzg1NzM1ZmNhYjNmYjU5YjY4MzNlZTQwNGRhZDczMzc3MiBsZWdhY3ktdHJ1bmsKKzUxNjggMTk4NmI4NjllM2ExMzEyMmIwN2E5ZDU1MDY0MmExZTA1YTBiODNhNCBsZWdhY3ktdHJ1bmsKKzUxNjkgZjEyZmYxMzBlMGI1ZjQyNTQ1OWYwZTcwYjY2MTVjMGRlNDQ5MjRkYSBsZWdhY3ktdHJ1bmsKKzUxNzAgNzk3M2Y1Mzg3MjZjYWFjZmU2NzY3NGU5OWM3YTQwYTFkZmQ2NzcyMyBsZWdhY3ktdHJ1bmsKKzUxNzEgOWVkNDVkYmYyNzY1OGEwYWY4OWJjNWMyYjRmNjA0YmZlZWUyNzJlMyBsZWdhY3ktdHJ1bmsKKzUxNzIgNGUwNzY5NDQ0ODhhYWI4NGViM2I4YjAyYTc5ZjhiMTM2MGIzYzgwMCBsZWdhY3ktdHJ1bmsKKzUxNzMgMTMwNmU3NjFhNjIzODM3NDBhNTlmNjM5ZjE4Nzc5ZGJiOGI2ODA0YiBsZWdhY3ktdHJ1bmsKKzUxNzQgMzczYzE2MzdkMzAxMDRlN2NhZmVlMWQyMWY1NjIwZWQzNDIwNGIyNyBsZWdhY3ktdHJ1bmsKKzUxNzUgNTAwMzIzNDM5ZWIzOWIzZjcwMGE0ODkzNzFkMjAxYjE1NDRhODMxMSBsZWdhY3ktdHJ1bmsKKzUxNzYgYjY4OWU2ZjkyZjE3YTExMTAwMTEyZTMzYzEwNDllOGQ2N2Q1Y2I4MiBsZWdhY3ktdHJ1bmsKKzUxNzcgOWZlYjBiMGI1MGI2MGM0MGZlNzUyNTI0MzM3YzQ2YmQ0NWNiMjcyYyBsZWdhY3ktdHJ1bmsKKzUxNzggNzQ3NDdiZmZiNmE0ZDI3Yzg2NDkwYTBkYTk2MjhlZjU0ODgyYjBhZSBsZWdhY3ktdHJ1bmsKKzUxNzkgY2Q5ZDg2ZWNjMTc1Mjk0YzZjMTlkODkzZDE0YjBlNGVjYjRmYzAwNiBsZWdhY3ktdHJ1bmsKKzUxODAgNzVhZmFhYzg1NTY3MDdjZjAzZDU3Zjk5YzU1NjcxYjRhZDQ0NmY0ZiBsZWdhY3ktdHJ1bmsKKzUxODEgMmEzMTg3NmY3MTAyOTkwNTZmMDJiMTNjODcwODVhZTZiODA5MTNiYSBsZWdhY3ktdHJ1bmsKKzUxODIgMTliMTE5NWEzYWY4NDdlMWE5NmQ2NDUyOWYzOGUzZTU4NTMyYjg3OSBsZWdhY3ktdHJ1bmsKKzUxODMgNmM4NjRhZDUxOWEzNjg0YWZhM2JjNzE5N2RiNWE0NDJlMmIyMTM0YSBsZWdhY3ktdHJ1bmsKKzUxODQgODg5YzZkYTdiNGNhNTExOWRmN2RhZjMwMjQzNmY2YjQ0MmIyNGQwZiBsZWdhY3ktdHJ1bmsKKzUxODUgNjI2N2E1ZjIyMmJmZGVkNWUzOTNlOWE4YmQxZmFkZGQ5M2ViMzUyNSBsZWdhY3ktdHJ1bmsKKzUxODYgYWJmMTE2ZGI1MjNmZTRkYjliOGZhZjAyMzY0MDk1MGIxNDc5MjlhYiBsZWdhY3ktdHJ1bmsKKzUxODcgMzY0ZDRhNTI0Y2VjODIxZGJjZTczZTY5MWM0OWVhMmVjYzdjODJhZSBsZWdhY3ktdHJ1bmsKKzUxODggYTVjZWIzZTkzZmExMjczNWVmMWExMGNmMjg1ZmMzNzhlNjU2NTg3NSBsZWdhY3ktdHJ1bmsKKzUxODkgYTBmYzk0YjNiYjIxMjcwNDJhMWQwYzZjNWEzOGFkOGZmZGI4MTU4MCBsZWdhY3ktdHJ1bmsKKzUxOTAgNmE5ZWNiMDVjNjc5ZWQ4YzRiYzU3MGQ3YmZhOWRlNTg3MmJmYWM2MiBsZWdhY3ktdHJ1bmsKKzUxOTEgODIyMjA0MWY1YTkxZDU0Mzg0ODk4YTUyZDQ3YzA4M2QyN2RhZTJkZSBsZWdhY3ktdHJ1bmsKKzUxOTIgZDAzY2NhZTE3MGVhZjI4MjljZjgzYmQ0OWU2N2IzMzU0YzFjNWIyMyBsZWdhY3ktdHJ1bmsKKzUxOTMgZTg4MGMwMTY0YWVjZTIyNmI2NGQ2NjczMmEzYzgxNDQ3OGM3Zjk0NiBsZWdhY3ktdHJ1bmsKKzUxOTQgYzI2N2UzMzEyMDMwOGEyYWUyMTljNTc3Y2M1NmVmY2EyMDkyM2E1NyBsZWdhY3ktdHJ1bmsKKzUxOTUgNWFmNmRiMWY2YzBjZGM0MmFkY2I1MDUxZjJlZDA4ZjU3MmY2ZjczYSBsZWdhY3ktdHJ1bmsKKzUxOTYgMTBlMTA1ZTRjZjljM2I4ZjA0NTBhZGI3OGE0NzgwZjBlZjM4ODhkZSBsZWdhY3ktdHJ1bmsKKzUxOTcgOWY4MmE2YmIwMDEwZGI2MmNiODg1MDhlOWU3NzI4YTU4MTBhNDU4MiBsZWdhY3ktdHJ1bmsKKzUxOTggZGFhMTUwYjNhNmU0M2UxMmIzZTE1OWI0ZTUwYzk1Zjk1YWQ0ZGFjNiBsZWdhY3ktdHJ1bmsKKzUxOTkgZGM2NGRmN2YxYWQ2OTAwZjU2MWQ0MmYyZTMwOTFlOTlkODVjMjIyMCBsZWdhY3ktdHJ1bmsKKzUyMDAgNjg2ZjRiZmI0ZGE2MjI4OWMwN2RlMmQwYTExNGI3NWNiMzg5ZmU2YyBsZWdhY3ktdHJ1bmsKKzUyMDEgOTAyNDBlODE5YmVjYjk5MWMyNjhlMzNhODczNzM1OWI0MmZjZWMwYSBsZWdhY3ktdHJ1bmsKKzUyMDIgMzdjNDhmZGU2MWI4ZWQ4NTYyZTYzNTA4YTVhZDgwMjQzYmQwYmRhYSBsZWdhY3ktdHJ1bmsKKzUyMDMgM2NmODk2ZDI0ZTUwZGJiNGY3NDAyYTEzNWUwNWY4Y2ZiNTc0NjZiZCBsZWdhY3ktdHJ1bmsKKzUyMDQgN2RmNmZjYjQyNmY1MTQ3OWI5ZTA1NzRlNmU1ZGRmOGJjZGVjMzQwYyBsZWdhY3ktdHJ1bmsKKzUyMDUgODBiNWM4MjI3MmEyNWMxZWY4NTEzMTRlMWJmOTJkMjg1OTQ0NmFlYSBsZWdhY3ktdHJ1bmsKKzUyMDYgM2UzNzBhNGIxMDNiZTIwNzljN2UyYjhiZGI1NTUwZjhhZWE3OTczNSBsZWdhY3ktdHJ1bmsKKzUyMDcgOTgyYTViZDZkNDZkMDc2NzBmMjA4YjhjM2YzNWQwODBlN2ZlMmVkMSBsZWdhY3ktdHJ1bmsKKzUyMDggYTgyNzgwMWVkOTYzMzg0ZWFiMTZmZGZlMGVlM2EzYzE5YzFmYmU5OCBsZWdhY3ktdHJ1bmsKKzUyMDkgZjE4NzliMWEyYzJhZThkYjdmMzk1MDhjYmQwMDk1Yjk0YTgwOWRkZCBsZWdhY3ktdHJ1bmsKKzUyMTAgNGYxYjBjYzczNTA3ZDY3Mjk1OTk1YzU5MGU2MDU0YTAxODRiZWFmZCBsZWdhY3ktdHJ1bmsKKzUyMTEgM2Q1ZWMxYzIyMDU1MDIyMTU2ZThmZWU5MzA2MzVkZGU2MzA4YjE0NCBsZWdhY3ktdHJ1bmsKKzUyMTIgODUzYzQ4Njg5M2I4MmNlOTVjZWMxMGJlNGY4ZmVhN2Q0ZTQxNDkwYSBsZWdhY3ktdHJ1bmsKKzUyMTMgZTQxNjY5YTFkZWEwMjRkOWJkZTAyMmM3ZjNiNTliM2MyNTBlMzM3NSBsZWdhY3ktdHJ1bmsKKzUyMTQgMzljZDI1Njc4YjQxYWNkNDE2NDM2ZTE5MGFlZmQwYTVlNDc3MjNiZCBsZWdhY3ktdHJ1bmsKKzUyMTUgOTUxNmJhZDk3OTYxMzEyOWVkNjBmMDcxYjM2OTcwMjg2MjYxMzYxOCBsZWdhY3ktdHJ1bmsKKzUyMTYgMGFmMDFmM2UwNmNjOWU0YTMzNTVmOTU1NTMxZWMyZGY5MmRmNmRiMSBsZWdhY3ktdHJ1bmsKKzUyMTcgYWU2NDAwM2IyYTc1NjUxYzRkZTdhYmEwZjBlYTU2N2IwMmM5MjU0OSBsZWdhY3ktdHJ1bmsKKzUyMTggMzU0ZWJkZGQzNjJiMDRjNzZjZTM3NTIxODk4ZmZkZTBiZmU2ODI0MyBsZWdhY3ktdHJ1bmsKKzUyMTkgNGI3NGIzYjQzMjY5YjcxZjRiNjYwZjg1YmJlYzJkMzM2YWRkZjVmZCBsZWdhY3ktdHJ1bmsKKzUyMjAgYTEwODdhYTY0MWNkOTVmMGYwODAzZjAxNDE2ZWIwMmU3YzA5YzYxOSBsZWdhY3ktdHJ1bmsKKzUyMjEgNDM4OWE2MGZlZGNlNjYxZmRhYjc3MDA3MWY4YThlNDRmOWNiMjY4YiBsZWdhY3ktdHJ1bmsKKzUyMjIgNTIxNTYzNTJmZGQ2ZDM1Y2RmOWYzMjRhOGRjODVjOWQ4NTM5MjBlOCBsZWdhY3ktdHJ1bmsKKzUyMjMgNmNmZDY5NTg1NjM2ZjAyZWZlYzM5YWNlMzVmYzE0YmQ4YjgxMjJkMiBsZWdhY3ktdHJ1bmsKKzUyMjQgNjlhYmE2ZDlkMzc4MzUyNmUzNGFjZjc0ZDAyMGQyOGU2ZWY4NmFlNSBsZWdhY3ktdHJ1bmsKKzUyMjUgYWFmOTAyY2RmZGM0YTJhMmQ3YmE1YjMxZWRjY2E5OTM1ZTA0NDkwYiBsZWdhY3ktdHJ1bmsKKzUyMjYgMWI5ZTkwMzUzNTI5MTE5MjE2MTMzYmYxMmZjMDRiNzM1ODQ3NTljNiBsZWdhY3ktdHJ1bmsKKzUyMjcgYjQwY2FiZmRjOTFkZTI1YmNlZmVjZjI2ZDhhNzk4MmZhNDZiMTYyNyBsZWdhY3ktdHJ1bmsKKzUyMjggYmUyMWMzZTBjYzAzZjQ4ZWI2YWE0YTIwYWQ0YzVjNDEwMTYyZWExMyBsZWdhY3ktdHJ1bmsKKzUyMjkgYjk1NDg5NjBmOTQ1MGM5YWQwOWJkN2JkM2NhYjljZWI5ZjM5MWIzNyBsZWdhY3ktdHJ1bmsKKzUyMzAgYWM2YzhiMTIxOWU2NzFjZDQ1NWY5Nzg1YTU1NDQ2MGFlMmQ2ZTQxZCBsZWdhY3ktdHJ1bmsKKzUyMzEgNmQ4ZDk4MWVmNmM0MTUxYzM2Njg2NWQ2MWI0NWQ0YzYwNDE5ZTllZSBsZWdhY3ktdHJ1bmsKKzUyMzIgZmVjYzkzOWY0ZDU5NTdjZmI3YjFlNjBiNWQ1NDFjNWM5OTc4MWYyOCBsZWdhY3ktdHJ1bmsKKzUyMzMgOGVjZTkyMjdmZGUxMDRkOWZlZDJhYTI3YzMwOGViMmQyOWYwOTc2MiBsZWdhY3ktdHJ1bmsKKzUyMzQgYTBhNGFmYTM5ZDdhMDFjZDRmMzY1YTRiOGJlYmQxNWU5ODhjZTY4YSBsZWdhY3ktdHJ1bmsKKzUyMzUgNmExNjU2ZGI3ZGRlZWNiNTlmOWZmZjJjZWQ2YTYyNjJiOTU0MzQxMCBsZWdhY3ktdHJ1bmsKKzUyMzYgZGMyYWRmNzllNTIzZTEwMmVjNTcyZmU4YzQ3NDc5NDU1ZjY0MTRiNyBsZWdhY3ktdHJ1bmsKKzUyMzcgMGU1ZGFmYjg1ZmJkMmJiNjNiNzJkMjlmZWI5N2U5YTY1OTg5YWNlMCBsZWdhY3ktdHJ1bmsKKzUyMzggMzU0MzJjOWE4NzRlMmMwZDFjNmZlZTk2Y2U0YjVlN2RlZjEyNjE1ZiBsZWdhY3ktdHJ1bmsKKzUyMzkgMWEzZmYwMTQ4ZGVjZDhmZjY0Njc5M2U0YTY1NWExNjQzODc1NjkwOSBsZWdhY3ktdHJ1bmsKKzUyNDAgYjczNWQzMzg2NjUxYTA1N2Q3YjBiOGM5ZGQ1NmIyMzAyNDllOGViYSBsZWdhY3ktdHJ1bmsKKzUyNDEgZmQ3NzdhZjY3YzIzMTBkM2NjYTkxODMyZTQ5ZWVjYWYwMDIzNTVlZiBsZWdhY3ktdHJ1bmsKKzUyNDIgNWJjMGVkZDViM2Y5MzJiNDdkNDhmNjAyZGFmZmIyNjY3ZjhiMzZlZiBsZWdhY3ktdHJ1bmsKKzUyNDMgYmYxZGVkNzU5NjJkNjIwNjE1NTc1ZGYxMTY0ZTc5NzVhYTlmODU2MCBsZWdhY3ktdHJ1bmsKKzUyNDQgMTdmZGVjMmZiMzA5YTkxZWIxYWVlY2YxNTk1ODAyMzhiODE0N2RhZCBsZWdhY3ktdHJ1bmsKKzUyNDUgYWY3ZDBmZWEzZmIyYTJjMmFlMWUyMDQ4NzVlZWRjZmE2ZGVlMzk2ZSBsZWdhY3ktdHJ1bmsKKzUyNDYgNDExM2Y0ZmJhYWU1MzcyMDJkMDlhMTZlMjk0ZGI5ZDdmYWQzY2I4YiBsZWdhY3ktdHJ1bmsKKzUyNDcgMTIwM2U1ODQyMjU1Y2U2NGVmMmYzYmE5ZmEyNzYxNDFlMjk0MzhiNyBsZWdhY3ktdHJ1bmsKKzUyNDggYTVkMzYxZTJiMmUyMGM2ZDBiY2Q1MDU5M2ZjODE0Yjg4YTQ2MmM0YyBsZWdhY3ktdHJ1bmsKKzUyNDkgOWVjNDRlMzdmNmIxMzNjMzZhYzg2N2JlMzA0NDVhMmEyYzNiMTU5NCBsZWdhY3ktdHJ1bmsKKzUyNTAgM2I3ZmE1NmEzYjliY2JmYjYzMjAxNzM5ZDA4NzQ2Y2Y4NWQwNGU1OSBsZWdhY3ktdHJ1bmsKKzUyNTEgNTBiMmY4MmU2ZjBlYTQ3YWRiOTcyMTMzMTg2ZTAwOGM2MzA5YzcxNSBsZWdhY3ktdHJ1bmsKKzUyNTIgMDZmMjI4ZDYyMzZlNGNmOWFkZjY4YmU4MjY0ZjU0ODZiYmYwN2Y5YSBsZWdhY3ktdHJ1bmsKKzUyNTMgN2MzZTRmM2VlMTUyZjg4YzQ5MTY1M2U5ZDcwMjVmMTQyMDE1OGEzYyBsZWdhY3ktdHJ1bmsKKzUyNTQgOWFhYjRlYjJiM2Y5ODM3YjhkZDQ4OGM2OGRiZTkwMWI3ZDgyODllZCBsZWdhY3ktdHJ1bmsKKzUyNTUgNDE1NjU0NTZiYzIyMWNjYzU5YWRiNGFiYWI4MGRhNTVhMDk3MjZhOCBsZWdhY3ktdHJ1bmsKKzUyNTYgMjRmYzA2MTZhNjk2YzgyOTk0OWYwZmUyOTY3ZGEwNWFhOWM5ZWE2NiBsZWdhY3ktdHJ1bmsKKzUyNTcgYmFmMGI5YjdjMmE1YWE2OTM4Y2Q2YTk1OGI1YTgwMjMzODg3ZWQyMyBsZWdhY3ktdHJ1bmsKKzUyNTggYWYzYWFiNmIwN2M0M2E5NTRlNzJiYjUxNDgxM2M1NDJjMDU0NDFhMiBsZWdhY3ktdHJ1bmsKKzUyNTkgYjg5MzdlNzRmZGY1NTFjMDMyMTIzMmZiMzRhMzBhNjU5OTBkNGVmZSBsZWdhY3ktdHJ1bmsKKzUyNjAgODIzZjNhOGVjZmU0MTkzNDcwMWJjZjM4YjQ3YzEyY2Y4Y2M4OWE2NyBsZWdhY3ktdHJ1bmsKKzUyNjEgZWEzOGMzNjNkZTU4Yjc1YjQ5ZTAzNmRjMDI3ZjExZWNlNWE3NmViNSBsZWdhY3ktdHJ1bmsKKzUyNjIgZWJjMTcxNGRjNzM4YmRkYzI0NDQzMTQ4NTcyODI1MDlhNTQ0YTk0YSBsZWdhY3ktdHJ1bmsKKzUyNjMgN2YyYzBlN2VmODQyNjJjNTk1ODY0NjM0MmY4NjhmMzMzOGNhYjBiZiBsZWdhY3ktdHJ1bmsKKzUyNjQgNTljMmFjYjNlNzAyNTQ2M2Y5OWRmZTNhYTdlMzVlYzM5NmIwZTU4NCBsZWdhY3ktdHJ1bmsKKzUyNjUgNGE5OThiMWEzMzFmMGFlOWYwZjMwYzdiMWUzODc1YTA1NWNhNDg3ZiBsZWdhY3ktdHJ1bmsKKzUyNjcgYWIzZGNhOTdmZmJlYjYzNWExNmVjNWVkMzhmZjQ1ZjYyZjg4ODA4ZiBsZWdhY3ktdHJ1bmsKKzUyNjggZTkxMWYyZmIxNzljMmMzMmNhZjkyMzZiYmUyMmNkYzIzYWQ1YTFhMCBsZWdhY3ktdHJ1bmsKKzUyNjkgNzUwYTJkZDhhNDM3YmZjOGJkMzE5OWM4ZDcwMDNjMmI0NTQ5Y2QxMSBsZWdhY3ktdHJ1bmsKKzUyNzAgYTIzNjNiNmU5Yzg2ZTlhYmM1MzY5M2I2YjU5ODcwNzlkZWEyZDU2MiBsZWdhY3ktdHJ1bmsKKzUyNzEgNjBjNTc3NzczNjZmNzU1YTk3MTQ4ZmI1MGMzYWJiMGQ5ZDhkYjhlOSBsZWdhY3ktdHJ1bmsKKzUyNzIgYjdhMDZkYjg1Y2FmY2U0MTNkMGM1NWRjZDkyNWFmMWQ2Y2YyNzgxYiBsZWdhY3ktdHJ1bmsKKzUyNzMgZDc2YTcxNGQxY2VhYWFkZTAwNzgwODE0YzNjNzJiYjkzMGQ1NDZhNyBsZWdhY3ktdHJ1bmsKKzUyNzQgNWNhNWQ3N2FmZDI4YmFjNzM3ZWIwYWFiOTc4NWU0MzFlZGRiY2I0ZCBsZWdhY3ktdHJ1bmsKKzUyNzUgOTMxOGFjNTE2OTFlNmQ4NjM4NGZmZDQ0MzBkMjE2NGEyNjEwZDM0NCBsZWdhY3ktdHJ1bmsKKzUyNzYgNmZmY2JlMGZlOWQzY2QwMGYyZmUzMjk4MzY4NzYzOTExOWMyZjliOCBsZWdhY3ktdHJ1bmsKKzUyNzcgZmMyMTkwZWMxYmVhZDI4N2JjMDZlMTgxMTMyNDZiMDZmOWQ2OWYxNiBsZWdhY3ktdHJ1bmsKKzUyNzggMDdmYzRmZWZiNjgzNzU5NTFlZTc2MGM4YTUxNTNjMjM0NjcxNGRlYyBsZWdhY3ktdHJ1bmsKKzUyNzkgZmIzZGFmOWIyNDU2ZGMxYTNkOTlmNTZmNzhjNWU2MjcwZWVhZjFlOCBsZWdhY3ktdHJ1bmsKKzUyODAgOTk5YjViZGMxOGNlOTk2YjAyYTA3NmFhN2MwYmYwYTk1M2FiMTQ1MSBsZWdhY3ktdHJ1bmsKKzUyODEgYzZmZTgwY2U3YzIwOTNhMWFjYTU1ZGYwYWEyY2NlMDVkZDkzOTliMiBsZWdhY3ktdHJ1bmsKKzUyODIgMWU4MmRkNmRmZTJlZjQxNmY0YjhhMjhhZjg0ZmY5ODQzYmNiYTAyZiBsZWdhY3ktdHJ1bmsKKzUyODMgYzRjMzlkMTcxZWMzYjA2M2Q2ZGJkYTI2OGMyYjFmNTVmOTU3ZTI4MiBsZWdhY3ktdHJ1bmsKKzUyODQgOGI4ZmIyNGQ0ODM3OTRmMmU5MzAzMTM5MmU5MzIwODMxMWQ5MzM3ZCBsZWdhY3ktdHJ1bmsKKzUyODUgYzliNzI5N2EwNzU4NzIwYjdjYTQzMjVlMGU0MjE3YWIxMjljMDc5OSBsZWdhY3ktdHJ1bmsKKzUyODYgODIyNWM2NTgxYjNkMzZlMjVlYTEwNmQyNDU0OWY5OGIyOTk0NGI4NiBsZWdhY3ktdHJ1bmsKKzUyODcgNjhkN2VhZTZjYmQ2YzU2NzUxMDQ5ODc5NjE4YmFiYTUyNDk1MmIzZSBsZWdhY3ktdHJ1bmsKKzUyODggNDNjY2ZjZDk4ZTgwNmVkYWQzZmFhYTZiNGY5NWM0YTdiYjMyN2I5MyBsZWdhY3ktdHJ1bmsKKzUyODkgNDA3Yzc4NDZiODg2Yjg1OGJmODgwMzg0YTJmMmIzODZlYTZkMjJhNCBsZWdhY3ktdHJ1bmsKKzUyOTAgMjgyYjBiNGMxZWVhNTkwYjkwYTVmZjEwOWYzNmMxZDYxZWNlNTM3NSBsZWdhY3ktdHJ1bmsKKzUyOTEgNjVjNzEwNTg2OGY4ODk5NjRlOGU0N2UzODEyZTY3MmIzMjFlMjkzZSBsZWdhY3ktdHJ1bmsKKzUyOTIgYmViYjBlYTdkZTIwMGNlYzNiZmEyZGZlYTNjNTgzNjBiZjg1N2ZhOCBsZWdhY3ktdHJ1bmsKKzUyOTMgY2Q5ZTYxMzUyNDRhNTcwOTBhNjcyOWYxYjUyMzg4MzY0NWQwOTUxZSBsZWdhY3ktdHJ1bmsKKzUyOTQgZmYxZmFhNGNjMWRmYmM4OWI3YWZmODkzOTBlYTM2NGJhZjAyMDc2YSBsZWdhY3ktdHJ1bmsKKzUyOTUgNTlhOTY4OWMxMWE4YjAxNDUxOGNjNDMwYWMyNWU2YTdmMjFiMTU3ZSBsZWdhY3ktdHJ1bmsKKzUyOTYgOTQzZTFjNDgwNGQ4MDA2MzVhYzk3NjUzZTFmYmMzYmE5MDUyMDMwZSBsZWdhY3ktdHJ1bmsKKzUyOTcgYmQ3OWNkNzY4ZmY4ODBlNzFkZTg2MTYwNzlmMzIwYzlhNmY4NDUzNCBsZWdhY3ktdHJ1bmsKKzUyOTggZWVkZDZjMWYzYWU3ZTRjYmQzNmM5NmY4ZDE5OWExMGIyYzU5ZWJmNiBsZWdhY3ktdHJ1bmsKKzUyOTkgMWZkOGYzMTZjYmU5MGY4OTQwMGM4ODUzYjkxODcyMzJjMDBmNzcwZiBsZWdhY3ktdHJ1bmsKKzUzMDAgMTY0Mzk5N2YxNzE4YWE2NGY1MzIwZTRjYzc3ZWYyNTIzOWY5NjEyMyBsZWdhY3ktdHJ1bmsKKzUzMDEgNGRlYTNmNTU0NWNmM2Q5MzUyZmU0MTk5MDlkNzM0NDA1YzZmZWQzYiBsZWdhY3ktdHJ1bmsKKzUzMDIgN2M3YjM3MDRhNjhmYTIxMTBjMDcxM2EyODUzNWMxMTdlYmU4YzliOCBsZWdhY3ktdHJ1bmsKKzUzMDMgZDkyZWY5NGFmZWZiZWNlZTY2YjgxMTEzOTE4NDhlYjI2MGYxNzA2NSBsZWdhY3ktdHJ1bmsKKzUzMDQgYjk4OGE0YWNhNmY5NjBhMjhiMjk1Y2M4YmExOWU1NjJkODkwOTA1MCBsZWdhY3ktdHJ1bmsKKzUzMDUgOWIxYTMyNjcyN2RmZDc3MGFhZWEwN2QwNGI5ZjRjMWU2ZjhmMzhlYiBsZWdhY3ktdHJ1bmsKKzUzMDYgMmM3M2M4YWI4YjgyYWU4MmQ0NWY4MWU4MzA0MzhhNTgwYjg2ZWM4MSBsZWdhY3ktdHJ1bmsKKzUzMDcgZDUzOThhY2FmYTJjY2M5M2VlYjE1NjNhNWQ0YTBhZTFlOGIxMzI4MSBsZWdhY3ktdHJ1bmsKKzUzMDggNjQ5MjhmNmE4ZTgwZTA2Y2UyNDAxOWI3ZGQ3YTYxYmU4MDQwYWJlZiBsZWdhY3ktdHJ1bmsKKzUzMDkgNDIwODc0ZjdkOGJkMWZmMDQ4OWI0NmEyZTE5NGZlYTM4MGFmNjIyMSBsZWdhY3ktdHJ1bmsKKzUzMTAgOGQ5MmEzYmI5YzFmZmFkY2I3YzIxYTFlNWEzZGVlMjQ5Yzk4Yjc3YyBsZWdhY3ktdHJ1bmsKKzUzMTEgMDI2MWJmNWIzODE5YjAzZDgzZjI1NDU2Mjk0NzI0NDYzNDYwNDAyNiBsZWdhY3ktdHJ1bmsKKzUzMTIgMDUxYmFjYWI1OWFmZTI1ZTMwNjk4M2ZlNDBiNjFkYzE1MmY4ZmJhNSBsZWdhY3ktdHJ1bmsKKzUzMTMgZWFlNGIyYmE3MjJlYjRjODRjM2RlZTllMzE0ZDE1ODlhZGE1ODNhMSBsZWdhY3ktdHJ1bmsKKzUzMTQgNTYwYWNjMjVmODk2NjAzMzJhMmRiMDY2OTMxYTdmMDRlYTA4NjliZiBsZWdhY3ktdHJ1bmsKKzUzMTUgNGY2ZDVmZTE5ODEyMmYzZDYyZGQ2NmFjOTZhNzk2ZTE2ZjRkMjMxZCBsZWdhY3ktdHJ1bmsKKzUzMTYgOTdjZmM0NmUzMzAyYzE2NmQ1N2JkMzVhOWI5M2NjYWIyZDQxOWVjZCBsZWdhY3ktdHJ1bmsKKzUzMTcgZTM3OTVkYjRhZGY4OThmYzIzZTg1ZTJhNWYyY2E2ZjE0NGZiYTA4YyBsZWdhY3ktdHJ1bmsKKzUzMTggYmVlZWZmZjFjNDQyNjUzMzY0MjFmMGRhZmM3ZDRiOThmZThhNzNiNCBsZWdhY3ktdHJ1bmsKKzUzMTkgMWVlZWJhMDlhMzA2NDk3MWFhNmQzZTFjY2I1NGI5MzM4ODJkZmVjMyBsZWdhY3ktdHJ1bmsKKzUzMjAgZDQyOTQxZDNhOTVmNDVmNjYyYjQ3N2I3NjNjNTgzYWI5ZGMyZTczMiBsZWdhY3ktdHJ1bmsKKzUzMjEgZGQ4YTMwZTVmNzQ0MzRjMjg5ZTY1MTFjYTY4MzFmMDQ1ODIyNjBkNSBsZWdhY3ktdHJ1bmsKKzUzMjIgZTZiZWMxNDlhOGQ3MjM5N2VmNWUzYjlkZWI1MWM5MGM0YzBlZjIwMyBsZWdhY3ktdHJ1bmsKKzUzMjMgYTdhZjk3MGE5NGE0MjcyYmNjMWY0ODBkNTQ0NGM4ZjFjMTRlYjgyNSBsZWdhY3ktdHJ1bmsKKzUzMjQgZWViYmRiZWU1NGY5MDIwN2Q2ZjM5ZjJkNGY3MzM0ZGM4MzFhMjU3MCBsZWdhY3ktdHJ1bmsKKzUzMjUgZWIxZWQ0ZDg0NjI5MGQ1MjljYTE4N2FjZTljOGM0YWJkOTFiM2M2ZCBsZWdhY3ktdHJ1bmsKKzUzMjYgYmEyYjMwOTcyZmZlYTczNWU0Nzk1YjljZDZjYTI2MmQ0ZTc1ZDk4ZiBsZWdhY3ktdHJ1bmsKKzUzMjcgNmFlOWIzNzdlNTIyYTRlZDAyMGExOGI1Njg4OWU1MzEyZjBiMTMwZSBsZWdhY3ktdHJ1bmsKKzUzMjggZGM2YjNlNzZjY2U2NjQyNzc3ZTA1ODFkNDk2MzljYzFkMDBhYjBlMyBsZWdhY3ktdHJ1bmsKKzUzMjkgZGY4Y2VkYTg0NTQ1ZTc1MDNjMDhjZmFlZGE1ZjNlYWM3NTVlNTcwYSBsZWdhY3ktdHJ1bmsKKzUzMzAgMTBlMDA3YWVmMWNmZjEzMGE3ZmFlNGMwNjFmYzY1ZmZhODQ3MzllYSBsZWdhY3ktdHJ1bmsKKzUzMzEgNWY5NTE5MTJlOTk1OTBjYjRmMWYwOWNlMjJlZjRlZjU4NTFkZGYxNCBsZWdhY3ktdHJ1bmsKKzUzMzIgZDQwMjkwZTQyNDU1NTZlOTU3NDNhMDZkNGE1NDFhNzljZWViMDc4NiBsZWdhY3ktdHJ1bmsKKzUzMzMgMTQxMTFkNjY1NzdkZDU0NjRhZjdlODk5MjMxNDY0NjM5MGRhMWI3MiBsZWdhY3ktdHJ1bmsKKzUzMzQgYTE2OWU2ODczNGZmMTBlYjE0Zjc2NGU5ZDZkN2RkZTc3YmI4ZGY0MSBsZWdhY3ktdHJ1bmsKKzUzMzUgZjY1N2Q2NzgxMmFmYWU4ZDAyNThkYTQxNjA3ZGQzZmNmZjU5YzRjOCBsZWdhY3ktdHJ1bmsKKzUzMzYgYjlhNjI1MDFlNzZkYzg5ZTk5ZWJmYjJkNjg2MDIxYzQxNTI3MTFhOCBsZWdhY3ktdHJ1bmsKKzUzMzcgNTIwZTE4NTVhMjRkOTBiMjFkNWNkYzJjNjYwODM5YTlhZmZiMzE2ZSBsZWdhY3ktdHJ1bmsKKzUzMzggMDUzNDAyNWNlZmU1NTZmYWM3ZWMzNGQ0NzkwMzllY2JiYmY1MmM3NiBsZWdhY3ktdHJ1bmsKKzUzMzkgZDNiMDdiYTNlMTJkZjNiODI3NjE0NTFiMzBjMzg3YTZjOTZkYmQ0MCBsZWdhY3ktdHJ1bmsKKzUzNDAgMzE1NzYwYmEwMDQxZDA0Y2JiYjc1ZTMyMWQyODZkNGEzN2ZmZTkyNSBsZWdhY3ktdHJ1bmsKKzUzNDEgOTI3ZjQ4MzlmYmZhMTQ4YzU3NTc4MDAzOTY5YzczZGJjODczYmI5MiBsZWdhY3ktdHJ1bmsKKzUzNDIgNzE1ODRmZTc3NDljMzVmZDhlYWY1NzdlZTU2YWJjYjM1NzVjMWFlNyBsZWdhY3ktdHJ1bmsKKzUzNDMgODUxNDBiMzU0ODkwMWY4Nzc5MzU5OGQ5ZjIwOTRiZGJkZmJhZWQ3YSBsZWdhY3ktdHJ1bmsKKzUzNDQgYmVlZWE5NzU3ODc5ODk3ODk5YmYyNDc4ZGIxZTJkNGFiMTgyMDI2YSBsZWdhY3ktdHJ1bmsKKzUzNDUgNWE1MjE5YzhjMmU2NzRmYzQwZmJmY2JjMDcxYjA3NmVjMWJhMzI0OSBsZWdhY3ktdHJ1bmsKKzUzNDYgMzYzN2RhNGM5OGNiMzEwMTQ3ZjA1OGVhZTM2MGRlOTg4MzJmZDMwOSBsZWdhY3ktdHJ1bmsKKzUzNDcgNmYxZGRmMTEzOTgyYWRhMThhNmIzOGI5ZTdmZmU3NjIxNjg0ZjNiMCBsZWdhY3ktdHJ1bmsKKzUzNDggYTBlODI0NmQ1MjM3OGQ1MTg5MWU2MGEwNjlmY2ViYzZhYTI3MTlkZiBsZWdhY3ktdHJ1bmsKKzUzNDkgZjg4YmNjYjU0OGVmNGMxNTU0YTRiODQxMTcwMTI3YTA2OGU2MTY3YiBsZWdhY3ktdHJ1bmsKKzUzNTAgNTFjOWNmZmYzMWYzZTE3ZWEzNDcyMWIwMDBiZjZhYzgzMTU3ZGEyYyBsZWdhY3ktdHJ1bmsKKzUzNTEgZTAwNmVkODhiNGFhNDY3ZGVkN2JhYTA2MDE5ZDU5ODJkMzJkODJmMSBsZWdhY3ktdHJ1bmsKKzUzNTIgMzYzYWY3ZTNlZDJkMjNjYjc5YjU5NzJiZTc3YmEyZmNkNTgyZmQ0MSBsZWdhY3ktdHJ1bmsKKzUzNTMgMjFlMTA1NDYwYTQ5OTllOGJmMTdhYjEyMWY2ZjBlZmZiNzQ1ZTU0MCBsZWdhY3ktdHJ1bmsKKzUzNTQgZWMwYjQyODg5MjQzYTdmOWU2YmM3NTY4MjAyM2JjMzg3OTFlYzFjNyBsZWdhY3ktdHJ1bmsKKzUzNTUgNmFiZDE0NDg1ODg0ZjYxYjhkMTE4YjZmMzE0MDVmM2QxZjExNjg4MiBsZWdhY3ktdHJ1bmsKKzUzNTYgZTUxM2YwZDY1MzY4YzFlNTgxYWQ2MTZhZmQ0ZTkwYzk1MzAzMmJmMiBsZWdhY3ktdHJ1bmsKKzUzNTcgMDRlMTY5MGZiNGQxMTc0OTYyYjM3YTYxZGM4MzM0OGZhNDNmM2RlZCBsZWdhY3ktdHJ1bmsKKzUzNTggOTY0ZDc2ZjQ5YTVlY2E5NWU4ZWQyMzU1OTdlNzdlNGViYWQzOTE5MyBsZWdhY3ktdHJ1bmsKKzUzNTkgMzNiMTU0YjZjNjFiYjlmZTllNDhiMzA1NzU0MTUxZDY4MmMwODFlNCBsZWdhY3ktdHJ1bmsKKzUzNjAgNDUwYWQ1NDk2NDA3NzAxZGVmYzgwODUxNWRlYmFiMDMxMGJjYzI0OSBsZWdhY3ktdHJ1bmsKKzUzNjEgNDA5NTc4MmM5NDBlYWM0MGU4Y2E1ODE0MGIwNmQ0OTk5Y2NhYWIwMyBsZWdhY3ktdHJ1bmsKKzUzNjIgODFiNDEzMjRkMjZlYjhlNDZjMTY0OTNkMTA3MWE0NDNmYjA3MDdkMCBsZWdhY3ktdHJ1bmsKKzUzNjMgZjBkOWY4MDBhNGFhYzdhZGExZWI0YmUxZjdhOTViZDA4ZDQ4MTBiNyBsZWdhY3ktdHJ1bmsKKzUzNjQgNGQ2OWZkZWU5ZjVkNDI5YTg0MGExYzE2MTI3MjAzMGEyMTk2OTdlMiBsZWdhY3ktdHJ1bmsKKzUzNjUgNTZlNjI4YTc3YzhkNThhMzAwOTMzZGY0YmM0ZDRmM2MzNzQ0Nzk1NiBsZWdhY3ktdHJ1bmsKKzUzNjYgNjVmMDZmYzM5OTYwMGIwNWRhNGYxYmZhMTk2ZDk2NWNjY2IxNDhiZiBsZWdhY3ktdHJ1bmsKKzUzNjcgMGFjYmQ4NWJjZGJhMzY1Mzg4MWE0YjAwOWFhNjQ2ZWE1YjBkNDNhYSBsZWdhY3ktdHJ1bmsKKzUzNjggNTdlYzI0ZTBmMzVhODBmMDI2NWZlOTc4MzRlMmU2YzBlY2JmMDM3YSBsZWdhY3ktdHJ1bmsKKzUzNjkgMTM1ODFiNDE3ODM3Yjg0NWJjYjkwOTA2MDlkYjlhNzMzYTlhNmRmOCBsZWdhY3ktdHJ1bmsKKzUzNzAgNzM4Yzc0NjE1YWM0ODk4YWNkY2YwM2RmN2ViY2Y5MmIwYjMwMWFhNiBsZWdhY3ktdHJ1bmsKKzUzNzEgMDI0ZmRkOWNjZGYyNDBiZDU0ZmViZWFlMTJmNDU0NTEyY2UwNzc1MCBsZWdhY3ktdHJ1bmsKKzUzNzIgMGFmZDQyOTYwYTFmZDM2MGIwZjk2ODFhMTM2ZDY2ZTg4NjlhYjNjMSBsZWdhY3ktdHJ1bmsKKzUzNzMgMjE0MzVhMGI5YjExNmE0OTgzZjhmMzVlZTNiYTZhMGYzYjJiYWU3NiBsZWdhY3ktdHJ1bmsKKzUzNzQgODk1N2JjZWJmMTJjNGZiMjk2YWZlMjQzNWUxMDJlZWFmOTBmYWE0MyBsZWdhY3ktdHJ1bmsKKzUzNzUgNjE5ZjMxNjU4YjNiYTdiMWFhMGYzMDFjNDlhMzU4N2JjZDhjNjQyOSBsZWdhY3ktdHJ1bmsKKzUzNzYgZjliMTA2OWEzZTI2NWQ5MGRlZmJjODAzNzYzZGY4MWViODdlYTQwMCBsZWdhY3ktdHJ1bmsKKzUzNzcgNWEyNjEyZmI2YzBlMzFiMDdlNjIzYjVkNDZiNWEwM2QyMjdkMGFmOCBsZWdhY3ktdHJ1bmsKKzUzNzggNDI5ZDdlMWIxZjJiOGMzNjgyY2I0OGZkYmIxZDdlMGUwMGJmMzIyYyBsZWdhY3ktdHJ1bmsKKzUzNzkgZGY3YjE1YzFlOGI3OTZmZjRiYzI3MWNlOWQzNTUyZGEzMTU3Mjg4OCBsZWdhY3ktdHJ1bmsKKzUzODAgNTFkZDA2NWE5N2E2MTRlYzIwYjA4MTlhODYwM2ZlNDQwMzFiM2QzZiBsZWdhY3ktdHJ1bmsKKzUzODEgZTE2ZTE4Yjk2MjZjOGYyZWVlMWFhNmI3OGY3OGMwOTgyZDhlZTdlNyBsZWdhY3ktdHJ1bmsKKzUzODIgNDUwOWRmZTE5YjY4NjBkZjFhNTI4MGQ0ODlmNGE0MTY2M2RhZDE3NyBsZWdhY3ktdHJ1bmsKKzUzODMgNzY0YjBmYzg2N2E0NzVjN2I3NDg4MTcyZTAxYTgzM2U4MDFlZTFiNiBsZWdhY3ktdHJ1bmsKKzUzODQgOWZhZDAyOWY4MzhmZDFiOTJmMzM2ZTlhYjQzNmM2YjBiOTUwMmZjZSBsZWdhY3ktdHJ1bmsKKzUzODUgY2ZhOWIzYTg0ODcyZWFmOWQ5YjI2NzFjMDE0NGUyY2ZkMTJmNjdhNCBsZWdhY3ktdHJ1bmsKKzUzODYgODExZDlhOThlMThhYjQxNjI3ZTM4YzFlOTNiYzVlMzJmNTEyMWEyOSBsZWdhY3ktdHJ1bmsKKzUzODcgMTc3ZjU3NTcwOGJiMDkwYjE4ZDE5NjE0NTExNjRjNDVjMDlkNjNjMyBsZWdhY3ktdHJ1bmsKKzUzODggMGM1MGVjOGU4MzU4ZThkNGEwNzY5ZjIyYjc0YTRlNTcwZDg1N2M2MSBsZWdhY3ktdHJ1bmsKKzUzODkgNGYwODJiZTU5MDJhZTE1Mzg2ZTE2Nzg1NDhiMzllMTM3ZGYxZTRmOSBsZWdhY3ktdHJ1bmsKKzUzOTAgMTc2MzU2MDRiZGNlMTVhNGNiMmNjNjE1OWQwNjYxZmQzOGZiNjAwYiBsZWdhY3ktdHJ1bmsKKzUzOTEgNDQxNDVlZWI2MTAwYzljMjVlYWUxNjg3OTM5MjNhNjQxNjI4MDNlNiBsZWdhY3ktdHJ1bmsKKzUzOTIgNWViOGJkZTMwMGI3ZWRlMTQzYmEyOTY0ZjNhYWE2OGZhZTAxMzliNiBsZWdhY3ktdHJ1bmsKKzUzOTMgNGE1MzQ4MzkzOWMxZWI5OTI5MTg5NmI5N2EyOGMzZDFlODMyMjM2MCBsZWdhY3ktdHJ1bmsKKzUzOTQgMGFkOWQxMjNmZjU1ZGYzNDk1MjRiYzI0MjMyYzVhOTY3NTI5YjIxZCBsZWdhY3ktdHJ1bmsKKzUzOTUgNzkyZTM5ZGZlMjE2MTZhNjQyYzU0MTRkNTliMmJjNWY0YzljMTQxZSBsZWdhY3ktdHJ1bmsKKzUzOTYgN2QxZWNlYzI1YzA2ZWRmYTQ5ODc5NzEyMTk1MjdkOTk3NWY4YzY0YiBsZWdhY3ktdHJ1bmsKKzUzOTcgNzM5Mjc5MDMyOGJiZjNmZDdmYjMwMDYyYzM3ZTcyN2JlZWU0NTEzOCBsZWdhY3ktdHJ1bmsKKzUzOTggZGNlOTE1NWIwNDAxZWQ4N2ZhNDQ5ODVjN2EwMzM3MjlhMmQwMjNjNCBsZWdhY3ktdHJ1bmsKKzUzOTkgZWZiZGM1MGU3ZjU0YzUzYjcyNzRlZDMzZTM1YmE0ZWE1Zjk1MWRhNiBsZWdhY3ktdHJ1bmsKKzU0MDAgN2UxMjY1MzEyZGQ0Mjc1M2M4NmVlMDYzYWU0YTZiYTczZjY1NzYwNiBsZWdhY3ktdHJ1bmsKKzU0MDEgY2I1Y2NiYmExODU2OGViMzg4MjMwNGUyYTEzZTg5MTcyYjY5MjJmMSBsZWdhY3ktdHJ1bmsKKzU0MDIgOGFhYjgzY2M2MGEwNDFjMDc2NjdjNjMzNmQwOGJiOGMwYzNmMzVmMyBsZWdhY3ktdHJ1bmsKKzU0MDMgMDk3MGViZDMxNTM2NzQ0ZTM4OWYzNzEyYjQ4MjcyZDhhYzVkMDkwNCBsZWdhY3ktdHJ1bmsKKzU0MDQgMWQ4NjI2YmM5OWM3MTAyOTFiNTAwNTUyNDczNTM0MmI3NTliYjgwZiBsZWdhY3ktdHJ1bmsKKzU0MDUgZjAxN2Y1Y2RiNGJkYjI4NTQ5ZTg5MjRmNjI0ODQ3MzcxNmUzNDY0OCBsZWdhY3ktdHJ1bmsKKzU0MDYgNGRmZGYyMzRjZGE4ZjUwMzMyMzlhNmMyZGVjOGQ0YmI0ZTc0YWUzNyBsZWdhY3ktdHJ1bmsKKzU0MDcgNzA4MmMxYTFmOWFiOTg2ZmMxMjRjOGZkNjZhYzFjYzY1MGUzN2Y5ZSBsZWdhY3ktdHJ1bmsKKzU0MDggOTdmN2NmYWJlMDdlN2E5NDBkY2E1ZjkxY2Q4MmJkOTY3MDdlMDI2ZiBsZWdhY3ktdHJ1bmsKKzU0MDkgMzcxNTIwNjM5N2ZlOTA2MGJkNDgyNzJkMmViNDNmZGFkNmVmMGJlMiBsZWdhY3ktdHJ1bmsKKzU0MTAgOGVkYmVhYTJiYmY3YTcwMmVlYjM4NDdlYzBlMjA5ZThiZWYyZWM2MyBsZWdhY3ktdHJ1bmsKKzU0MTEgYzA5OTdiNDYyMzQ0YjQwNjYyOTBlMTA4OWUyMTBjMWUzZDdhY2Y0YyBsZWdhY3ktdHJ1bmsKKzU0MTIgZjE3YjdkMGE3NDgyNDRlOTc0ZjdjMTA2OGNlMGEyMzE2MDY0N2EzNyBsZWdhY3ktdHJ1bmsKKzU0MTMgMTBjMTAzMGI3MGFkZThmMDEzZjUxMzkwOWEwMTJjMTA1MDUzZGRiOSBsZWdhY3ktdHJ1bmsKKzU0MTQgYTk4MGQwNzYwNTJkYWJkYzE5NzJlMTg2OGU2YzA4NWJhMzMwY2U1YiBsZWdhY3ktdHJ1bmsKKzU0MTUgMzAyOWU4MWVkYmM3NzViOTY3MTEwMjQ1OTcyZWE3YzlmMWFmODk5YiBsZWdhY3ktdHJ1bmsKKzU0MTYgYmMwODAzMDg0ZTYwYTk1YmQ3ZWEzN2EwMTA1OGVmN2UwZmI3MTM4NyBsZWdhY3ktdHJ1bmsKKzU0MTcgYTFhOWI3MzY0YmMzNDg2NmNmYmI5NDY3OWZjZjcyYmYyNjQ0M2QyYyBsZWdhY3ktdHJ1bmsKKzU0MTggMTFkODk5MTRjN2I5YjFmM2Y1ZjljYjMwZTUyOTY5ZTdhY2ZmNDkwNyBsZWdhY3ktdHJ1bmsKKzU0MTkgMjFkZjQyMWYwM2ZlMGQ5NjhlNTIwN2Y1ODhlNmMwODQ3YzBiZTY0MiBsZWdhY3ktdHJ1bmsKKzU0MjAgNDVhZDFhOTM5ODZhMGViZDJjOTkwNjQzNDliMzJjNGU1Y2FhYzA2MyBsZWdhY3ktdHJ1bmsKKzU0MjEgYzVjYjNhNTM5MzNjMzUxYTNjNDNmMTAyMzE0M2U1MzE1ZDE2MTEzNiBsZWdhY3ktdHJ1bmsKKzU0MjIgNTI3ZDFiMjkyNTI1MDYyOGViY2RhYjU4ZGE5OWIxYmY0M2Q4M2U1ZCBsZWdhY3ktdHJ1bmsKKzU0MjMgNGQ3ZmQ5ZmY3OThkNTUxOTk1ZGZkNDJhZTRmNjc1ODAzOGMzYzNiNSBsZWdhY3ktdHJ1bmsKKzU0MjQgY2M5MjIyYjk0N2VlMGExNDc1ZTRmYWE0ZDYzNmZmMWMxZTZjZjEwNSBsZWdhY3ktdHJ1bmsKKzU0MjUgNGY5ZDRlNzMwNTdjNzYzMjM5MGQ2ZGU4MTk4NTJiYmY5NTBjY2FiZiBsZWdhY3ktdHJ1bmsKKzU0MjYgZWI2ZWI2MWI2MDZmZmQzMjU2OTk2ZWNhYzZkZjEyZDJjNzc5ZTE5MCBsZWdhY3ktdHJ1bmsKKzU0MjcgZjNmN2MwMWJjOTY2Y2QyNzgxZmYyNjYyZmM0NzY2MDZiNmJkMmUyMSBsZWdhY3ktdHJ1bmsKKzU0MjggMWM5MTlkMDJhNjQ1OTc1NDg0YmM3ODJjYWMzNjFkZWZkMjVhMWE3MCBsZWdhY3ktdHJ1bmsKKzU0MjkgZjcyYWJkNjJkNTA4M2Y1N2Q1ZmFhMDY2MmFkODg0NzBkMDk5MDYyMiBsZWdhY3ktdHJ1bmsKKzU0MzAgMDIzNTI3MzQyNTk5NmEzNjJkNTlhMGJhZWUzY2FiNGE0ZmY1Njk5MiBsZWdhY3ktdHJ1bmsKKzU0MzEgMTIyZDE0OWZhODAxNjQ2MDc1Njg0NzIwNTQ2MDkyZTJkN2VjM2U1MiBsZWdhY3ktdHJ1bmsKKzU0MzIgZDAwNzJkMWRmODJjMmI3ZjlkZTAxOWVmZWMwOTRiMjgxZWQ5M2UzNCBsZWdhY3ktdHJ1bmsKKzU0MzMgZjlmYmZkOTAzMTUzMDJkZTNmOTFjYmU2N2JlNDRjN2M0NzNmMWE0NSBsZWdhY3ktdHJ1bmsKKzU0MzQgNzQ5NTNhNDE2MDdjMWE2M2UwYTU5MzE5NTgzYzA1YTM3MGM2ODk4MCBsZWdhY3ktdHJ1bmsKKzU0MzUgNTIxMzA2Njc5ZTM0OWVmYzJmYmUxMGJmYmIyMDYwZDAxYTNkYTg0ZiBsZWdhY3ktdHJ1bmsKKzU0MzYgYzAwZmFlMzgwZGM3OGQyYTlmNjBmNTNjZjVlNzY3MTNlMTAwMWIzNiBsZWdhY3ktdHJ1bmsKKzU0MzcgY2ZjNjZiOGNhMjAyNzAwMWZmZWNiNDM4N2JlZDI4MTA3NzBjY2VlNiBsZWdhY3ktdHJ1bmsKKzU0MzggZDIzZDczYjRlNThhOWZmYjBjNzAzYTJkMmY0Mzg5NzZlMjcxNTI4NiBsZWdhY3ktdHJ1bmsKKzU0MzkgOTk5NDVmZGE3MTlkYjIyMjFiNDYxMzQwOGMxMDJiOWY5ZDllYjQ2ZiBsZWdhY3ktdHJ1bmsKKzU0NDAgOTg2NGZlMDU5ZTBkYzRjNTA1YThjMTIwMjZkN2RhZTE4MGQzOTNmYiBsZWdhY3ktdHJ1bmsKKzU0NDEgZDFjNDU4Yzg3ZjRhNmIwZWRmYWM2YjQ2ZmI0NjFiNjA1NGYzNzQ3YSBsZWdhY3ktdHJ1bmsKKzU0NDIgODIzNTZiZGRmNzEyY2ViYmU2ZTMxN2Y1YzczMWVmMzgzMTIwZDA3MiBsZWdhY3ktdHJ1bmsKKzU0NDMgNGRlNzc5MjMyYWE0YzBhNDlkNjEyOGI2N2YzZmE4ZmJmY2MwMDA0MyBsZWdhY3ktdHJ1bmsKKzU0NDQgNDQxODY2YmUyZWM5OTE2YTIwYWQ3ODc5MTljNGEzZGQwYWY4YzQ5NCBsZWdhY3ktdHJ1bmsKKzU0NDUgN2E2N2RiY2I2ZDgzY2YyYjBhYmYxMjNkOGRmNDhhYTlmYmI1Nzk5MSBsZWdhY3ktdHJ1bmsKKzU0NDYgN2VlYTliNDI2ODAyNGI1MGQ5OWQ0MzJiYjRmMWJiNDlmNTFiYjYwNSBsZWdhY3ktdHJ1bmsKKzU0NDcgYjZjZmEwNjNiODliYjBiYjEzZTdhZjI4ZjljZDIxM2FmZmYyN2I1ZCBsZWdhY3ktdHJ1bmsKKzU0NDggNTZhZDI0N2NiZmNiZWQwM2MzYzMzZjdhNDI4OTAyZjE3M2IwZDQyMiBsZWdhY3ktdHJ1bmsKKzU0NDkgOGQyOTA3ODU2YjM3ODQ3MDEzOWMxZmQ2NTJjM2QzYWFkMjllMWJkMSBsZWdhY3ktdHJ1bmsKKzU0NTAgN2IzOTExOTYwNTY0MTVmNTI2ZDRlMWExM2ViZjdjNGFlOTc3YjRmMCBsZWdhY3ktdHJ1bmsKKzU0NTEgNGMxZDgwOTUzOTUwOWI4ZTZiZTcyNGNkMDMwOWI2YmU0YTFjMDhiYSBsZWdhY3ktdHJ1bmsKKzU0NTIgMGQ3MTAwZmZiNjFhN2U3MzhhZmIxMGY5MTljNWNjNTUxNDQ4Y2YzZCBsZWdhY3ktdHJ1bmsKKzU0NTMgN2QyNjgzNDJkYzNhM2FjOWE0N2EwMzRjMmQ2OTA4YjlkYjQ1YzY3OSBsZWdhY3ktdHJ1bmsKKzU0NTQgZjkzM2E1MzBjMzhmMTcwNzI2NTlkYzAzYTRkYTZkY2RiZjNjODhkMiBsZWdhY3ktdHJ1bmsKKzU0NTUgMmZlOWQwMzcxZWNkMDY3MWJiOTVhMzFiMzJlYTE0NjM4ZjJkODQ3OSBsZWdhY3ktdHJ1bmsKKzU0NTYgMDRiYWRhOGQ2NWRlNDM1ZDUzODZkOGU1ZmRkMGQ3YmY2YTg3Y2NmMSBsZWdhY3ktdHJ1bmsKKzU0NTcgOTQ3N2E0NDU3ZTU2NDMzMTVjMjJmZGU1YThkMWI3OTY0YjJlM2ZjMyBsZWdhY3ktdHJ1bmsKKzU0NTggNDQ4ZWRjOTIzY2FkNDBkNzA3MmFjNmM5ZjczODZlZWFiYmExOGFkZiBsZWdhY3ktdHJ1bmsKKzU0NTkgZDI5N2M3MjIwNjEzNTg0Mjc3ZDc0YzM0MDdkNGJiMjQ3NDI0MjkxOSBsZWdhY3ktdHJ1bmsKKzU0NjAgNWQ0NzQ5YTQ3MGI0ZDAyMDBiOWNlYTg3Yjg2MDFlYTRkNWMwODQzNiBsZWdhY3ktdHJ1bmsKKzU0NjEgYWMwMTUyZjYzYmRkZmI3OThiMTE2NWU3ZTQ1ZGVmMWM4ZGYzN2RhZSBsZWdhY3ktdHJ1bmsKKzU0NjIgMWE4ZDZjN2RkNTYwZjE5NTBlNGNiNmE3NTUxYWQzNjRhNDQxMmM3MCBsZWdhY3ktdHJ1bmsKKzU0NjMgNTEzYTk2YTU3NTBmYmE3NTE3NGNlM2FlMDJkOTA3OTUwN2UwZTkzYSBsZWdhY3ktdHJ1bmsKKzU0NjQgZDRmZjQ3ZGY1OTIwZGZkMjE0NjgzNDllZDRlMzUxNGNhZDIwMzUwNSBsZWdhY3ktdHJ1bmsKKzU0NjUgOWJjYTk0YTM2YTA4MTBhZjIwNGQ2OGMwNjk2Nzg4OTlmMmZmYTFkMyBsZWdhY3ktdHJ1bmsKKzU0NjYgYmEyZmU1ZjgzNmE4M2RlMmQ3OGU1YWFkNjVlNWYzNGQyYWJlMGU0YyBsZWdhY3ktdHJ1bmsKKzU0NjcgNTU4OTViNWEzMDA3YjRiYzkxZjMwYmFhZGY5N2JlOGYyYjMwY2M2ZCBsZWdhY3ktdHJ1bmsKKzU0NjggZDQ2ZDgzMWJjNWYzMDEyM2Q4NTdjODA3NjU5NjdiZmY5MGY2ODI0MyBsZWdhY3ktdHJ1bmsKKzU0NjkgNTkxMWYyNGJjYzJkZTAzNzBlYTkwOWFkZGQ5ZDlmYTg1N2FjNTU5MSBsZWdhY3ktdHJ1bmsKKzU0NzAgODk4N2NmYTc1OGJiZDViN2Q0OTgwMGNkMTg3NzE1NTg3ODE1MTc0OCBsZWdhY3ktdHJ1bmsKKzU0NzEgYmVjZDU4MTYwOTExMGJlYmJlZmRkYTkxY2Y3ZmNmNDE4NGUwZmMyMCBsZWdhY3ktdHJ1bmsKKzU0NzIgYWQ2ZjAzOWE1YzQ5MjJmODkwZmNjMDQwMWFhMDBmODUwNmFjZDg0NyBsZWdhY3ktdHJ1bmsKKzU0NzMgMjBjYTU4ZWRjODU1NDhjODBiNTExYTAwOGMzZDdhMjAwMDNhNDYwOSBsZWdhY3ktdHJ1bmsKKzU0NzQgMDJmMmM1MThhYTQ2Yjk0MzY2ZWNiMzAxZDhmYjhhZmJkNTg0MDI4YiBsZWdhY3ktdHJ1bmsKKzU0NzUgYTUxMDIyZjE5ODBmZDVhMTVkNjhhMGU5YjMwZWMxODYwNDAwZTA5ZSBsZWdhY3ktdHJ1bmsKKzU0NzYgN2ZiNmYyMGUyYmEyOTQ0NGUyOTQyYTk3YTNiYmJkNThjYzcwZDQ0ZCBsZWdhY3ktdHJ1bmsKKzU0NzcgNmFhNGU5MjA5ZmJkOGVkYjcwNWI3MjdmMWRiMDg0M2JmYTgxYzM4MyBsZWdhY3ktdHJ1bmsKKzU0NzggNzJhNjFhMTQ5ZTRlNmM3MDE5YjMxMDMyYzU4ZGUwMzBmNTU0NjVmMCBsZWdhY3ktdHJ1bmsKKzU0NzkgNmI5Y2I2NjM0ODk3NWQyNDMyM2JlNGNjMzJjOWNlYWE3NDI3M2NiNyBsZWdhY3ktdHJ1bmsKKzU0ODAgMjEwNzM4ODY2MTY2MTIyODUwZGRkNWRjM2ZlOGUxMjAxYzdjYzYyYiBsZWdhY3ktdHJ1bmsKKzU0ODEgNWQzZDI5NzA0NmQyYzcwMzE5YzJiMzBjNjZmNjgwZTQ1ZTg0YzRiNiBsZWdhY3ktdHJ1bmsKKzU0ODIgMjY3MTg0MmM3MmNmYzRkYzRmNGExZWRiYThjZWNmNmQ4NDA2MmI5NCBsZWdhY3ktdHJ1bmsKKzU0ODMgN2FlMzMyNDcyNjI5YzRhZjkxNWMyYmE4NWZlOThhMTI4MWQ3YTFjMCBsZWdhY3ktdHJ1bmsKKzU0ODQgNzc3NDQwMDM1ODEzMzk4MmU3NzZhNTlkNTkwNDRiMjEwYTM1ZTJjZiBsZWdhY3ktdHJ1bmsKKzU0ODUgMjczOTBiNTM2NjQwYzUxYjQ1NDBhZmFhOTQ1YWFiNWQwY2I0MzQ5OCBsZWdhY3ktdHJ1bmsKKzU0ODYgZDI5NWY0Yzk4YzhhNjQ2MGUzZGFmNjAyZTgxYmExYjRkOTY1YjdmZSBsZWdhY3ktdHJ1bmsKKzU0ODcgYzc2NzFjMzZjNzI1ZTY4NWIxMGJhM2U3Mzk3MjVjNzc3M2E2OTQxNCBsZWdhY3ktdHJ1bmsKKzU0ODcgZTYzZDgzZjgyNzU4NTNhYWFhM2QxOTcyY2I4NjU2NDUwNWU2NTU4MyBsZWdhY3ktdHJ1bmsKKzU0ODkgYzVkODUyNzM1ZTdmN2I0OTBlY2JjY2JjNjBmYjYzYTk3YTE0YjdjMyBsZWdhY3ktdHJ1bmsKKzU0OTAgODc4NDcyMjhiMTU4ZDk5NzFmYTlhYjNhMjVmZTNjMjI2NzIzMWRkOCBsZWdhY3ktdHJ1bmsKKzU0OTEgNTRhYTg3YjFjY2VlNDU5ZGQxZTEyOWVkZDQ5OWIzM2JkZDllZmM0ZCBsZWdhY3ktdHJ1bmsKKzU0OTIgMzkxMWQ0YTg5YWIwY2FkMzY4OTJkMzZiNzQyNWNlM2JkYmVmZTU4YSBsZWdhY3ktdHJ1bmsKKzU0OTMgNzRjOGZjZGM5N2RhYTYxYWFiMzRiNGI3Yzk0MDczODMwYjE4YmE1YiBsZWdhY3ktdHJ1bmsKKzU0OTQgZGM0YmVjMDM2NzgzZTY3MDJmZDkwMjY5MmRlMmM2YTFlZjRmYTBhOSBsZWdhY3ktdHJ1bmsKKzU0OTUgN2NkMWRhNDA2NGQ3ODQxNjkzMjJmZTQ4ZjFjY2ZhZTcwZTAzNzc3YSBsZWdhY3ktdHJ1bmsKKzU0OTYgMTQ3NTNjMzJlOGI0MmExMzJlYjE3M2Y3NTk5MzJkMzE3MDI4MWMxMyBsZWdhY3ktdHJ1bmsKKzU0OTcgNDA1YjQ3M2FhNGExMzVjNTBmMmVmZTgxOTY1Yjg3NzlhYmE4NGE1MiBsZWdhY3ktdHJ1bmsKKzU0OTggOWM0OWFjZTZiMWU3OGYxOTEwNjUzMTRmYWQ4MTY4MjI0Y2U2ZDRlNiBsZWdhY3ktdHJ1bmsKKzU0OTkgM2IzZTY4MDc1ODMzMmI4MDk3YTgyMmRlZjE3NWQ1MDY4YzY1MjY3NSBsZWdhY3ktdHJ1bmsKKzU1MDAgNDdkOGJjYWJkMTc2ZjQyM2VhMmQyYTdkNmU0OThlYjRmZDI5ZjI3OCBsZWdhY3ktdHJ1bmsKKzU1MDEgYjgzOGQyYjk1MjAxMmZmMWNmYjZmNjU0ODFjOGM2MDJiNDFkYmM2OSBsZWdhY3ktdHJ1bmsKKzU1MDIgY2U1ZjBiODNmN2U5ZjRlMGU2NjcwZjM4OGFkNTBhNjJmOTBiMjY5NyBsZWdhY3ktdHJ1bmsKKzU1MDMgYmM4ZWVmZmQ0ZDA2ODc2ZDJiNzI4ZmUwMzFjODk3N2EzZTVkZTE2OCBsZWdhY3ktdHJ1bmsKKzU1MDQgZjhhYmMwMzdiOTRmOGNkZTQ5MWZiNTllNGFjYjc0MDdhOWU2ZGIwNyBsZWdhY3ktdHJ1bmsKKzU1MDUgNDNlYTJjOGIzMjg2ZTg4NzgyNDgyNzBlMTBmMzJlNWE0MmM0NGQwYiBsZWdhY3ktdHJ1bmsKKzU1MDYgMDE2ZjM2NjJlZjk4MzhiYmM4MGJiYjY1ZWJkNGMwOGMzMzVjMTQyNyBsZWdhY3ktdHJ1bmsKKzU1MDcgZGE2ZGJkZmQ1MWRiMWJjY2U3MWU0MjBjMDZhMTE5OGM4OWY3YzA0YiBsZWdhY3ktdHJ1bmsKKzU1MDggNmI5YzU3NWMwY2JhMDM4MjRkMzQxNmQyNWNkNjVkNjJjODlkZThjOCBsZWdhY3ktdHJ1bmsKKzU1MDkgNmFmMGZiYzg1NTNhYjZiMDU2NDgwZGM3MGI1ZjZlMGNkYzQxNjRmMCBsZWdhY3ktdHJ1bmsKKzU1MTAgNDU4MWEwZjAzNTNlYWYzMGY4ODVkNTk4OTYwODFmMmRmOGEwZmI2MCBsZWdhY3ktdHJ1bmsKKzU1MTEgN2U3YmIwMGEwYTJlMjVkOTVhZmYyMGQzMTUxZGFiNDJiMzM0MWQ1NyBsZWdhY3ktdHJ1bmsKKzU1MTIgYmRhNTRlYTIzYTgwY2MyZTgwYzE5MGJiNWNkOTg4YmU1NjMxOWNmYyBsZWdhY3ktdHJ1bmsKKzU1MTMgOTQ4MzViM2VkZjNlMDU5ZDE3ZWQ2N2Q3NWE3OWU5YTFlMDNiNGM4YiBsZWdhY3ktdHJ1bmsKKzU1MTQgNjVlYTc4ODc1YmM4MTI5MDVmOWI5MmQ3YzlkMDQ2NzFjMDgzMTQzYSBsZWdhY3ktdHJ1bmsKKzU1MTUgMDFiYzA2YzJlNDdkM2JmY2E4YWIxMDhlNTZhNzFmOWQyOWZlMTBiYSBsZWdhY3ktdHJ1bmsKKzU1MTYgNmM2OTRlYWQxNjY4NzUzOTgzZTI0ZWYyMTRjMjBjNmE4OTlmZTQ1MCBsZWdhY3ktdHJ1bmsKKzU1MTcgMmNkNGNjMDY1YzFmNjM2NmRlMzEwMGMxMGViY2M0OTg4NTdjNDg3YiBsZWdhY3ktdHJ1bmsKKzU1MTggYTk0NmU0Y2M2ZDViMDE3MGMwZjUzZmVjYmU5MmYwNGJiMjM1NzRkZSBsZWdhY3ktdHJ1bmsKKzU1MTkgZmQ1MDk4NmYzNWU1Y2NkYTM4NjJkNWY3ZjQ4MDVlMGRmMDAwNTljNyBsZWdhY3ktdHJ1bmsKKzU1MjAgNWI5MjhiNjk1ZmE0Zjc3NTlkY2Q5ZDZlMDk5NDBlM2QzN2RmNzdhYiBsZWdhY3ktdHJ1bmsKKzU1MjEgMmNiMTQxNjAxMGIzMzYxNjMxYjM4ZTdmYTUwZWE2YTU5ODRiMmQzMCBsZWdhY3ktdHJ1bmsKKzU1MjIgZWQwODc0Mzk4NDMzZGE4Zjk0YjRhYTZmYjM0MDE5Mjc5NmQxZDkwZSBsZWdhY3ktdHJ1bmsKKzU1MjMgN2UyYzA0ZTZmN2U3MTcwYmE3ZTEyYjY0YmE0ZmM2NDMyZjM2MDc5YSBsZWdhY3ktdHJ1bmsKKzU1MjQgMjRhZjhlYWI3Yjc2M2JiNDlkMjc0MDM4ZmFlY2ZmMzNlMDAwYzU3MyBsZWdhY3ktdHJ1bmsKKzU1MjUgZDk0YjUwMGNiOTg2MzA2ODMxNzZlM2IyN2VlNzRlNzBmNTE4YjAyZiBsZWdhY3ktdHJ1bmsKKzU1MjYgYzEyMDMwZmJiNWI2MGZiNWI5NzU2OGQ5MGRmYmZhNDYxNGQ2ZTQ1NCBsZWdhY3ktdHJ1bmsKKzU1MjcgNjYwZTZmMzU5OTFjYmE0N2VkOTczY2ZmOTkyNDQxNmE5NWNlMzJkYyBsZWdhY3ktdHJ1bmsKKzU1MjggZGQ1NGVlZmRjMmM5N2YwNWQ0OWViNzQzZDQ2N2Q4MGEzYWM0OTM3MSBsZWdhY3ktdHJ1bmsKKzU1MjkgOGQ1MTc5Mjc3ODU4YmU5OTA3YTA0MzJlNmIwNDBlNjM2YzBiN2ZiMiBsZWdhY3ktdHJ1bmsKKzU1MzAgYjMzM2YxNmZiNDE5NmU5M2RlZWY0ZjlhOGMwNTZmMDhjMmEwNWE5MyBsZWdhY3ktdHJ1bmsKKzU1MzEgZGY3ZGZhYzMwYzNlM2E5MThjZTcyYjJiY2RmMjZiNTczMjM3YmZhMCBsZWdhY3ktdHJ1bmsKKzU1MzIgYTU3NjhlNGVlMDQ1MzI0MGNkZmIxYjA0MzIyNTJmNTZhNDVkMGNjNiBsZWdhY3ktdHJ1bmsKKzU1MzMgMTM0YzZjMmQxYWJmOWM5NWQ5MGFhZjVlZThjMTY1MzNjZWJkMzg0YSBsZWdhY3ktdHJ1bmsKKzU1MzQgNmVjODIwZGIyZmZhZjY2YWFjMTU2YmVmYzNlMTY2OTk1ZDJlYTFmMCBsZWdhY3ktdHJ1bmsKKzU1MzUgMzFjNTJhMGEzNzJjMGVlYzc1Y2M0YjcyMjRhNTQ0ZDFmOTc4MTJkZSBsZWdhY3ktdHJ1bmsKKzU1MzYgMzI4YWM3NGY2Y2E2OTgzNGU5ZTY1OTc5ODliMmFlODNhZWVjNmZhOCBsZWdhY3ktdHJ1bmsKKzU1MzcgMjQ2ZDU0MjIxMjRmOTk5Y2QxOGNlMTliOTFiNmU4Y2ZiZjA1ZTNlNSBsZWdhY3ktdHJ1bmsKKzU1MzggZmJiOGVkZGM5MzA5ZmIxZTg4MjA2ZTkyOGI1M2VhZWY1ZjAyNzUxOSBsZWdhY3ktdHJ1bmsKKzU1MzkgZDE0Y2VmMTRmYmYyN2U3MGI4MmFmMThiMmI0NDY0MzI5NWE1YmJkMSBsZWdhY3ktdHJ1bmsKKzU1NDAgZDZiMTMwZmE5MWI2NWQzOWYwM2VlMjFhYTBkNzE1OGNiNzRlZTNiNyBsZWdhY3ktdHJ1bmsKKzU1NDEgOTcxZTVjYTE4YmQxZDg0YWUzNmU5NmJlOTM4NTEwZTZjNDQ3NWY2MCBsZWdhY3ktdHJ1bmsKKzU1NDIgZTQyOWE3ZTcxZTBjY2QyMmQxMTFmNmI5YjczOTVhMmE4MTRjZDJlYSBsZWdhY3ktdHJ1bmsKKzU1NDMgNjk5Y2Y4Yjk0ZjgwMmU4N2ZlODNmNzBmYzYxYzM1NTBlZjI5MDRjNyBsZWdhY3ktdHJ1bmsKKzU1NDQgNzIyNmRkMzE3NTVjNzAzYjAwZDBiMDA4Y2Y4YjUyYTA3ZTY1Zjg5ZiBsZWdhY3ktdHJ1bmsKKzU1NDUgZTNmYmNlZDFiYzA5YjMxOGU1NjJjOTM2NGYzZmQyMTQzOGE5MTY3YSBsZWdhY3ktdHJ1bmsKKzU1NDYgYmZhNDI3ZGE1ODBlY2RmMzRiNDRiZmIxZTYwMTJiYjk0ZjVlYWI2MCBsZWdhY3ktdHJ1bmsKKzU1NDcgZGI4OWFhYjQxNWExYjdiYmU2YzM0NTU1NzQ5NDdlYzg0Mjg3MzNlZiBsZWdhY3ktdHJ1bmsKKzU1NDggZWFkYTI0ODY3NmRlZjYzYjgwN2Y2MDZjODIwZTIzNDQ1MjNkYzNiOCBsZWdhY3ktdHJ1bmsKKzU1NDkgODdmZWEyNjFhMjYzZTdjZjFmOWViNDVjOGI0NmYxNWI2NzQzZDUxMiBsZWdhY3ktdHJ1bmsKKzU1NTAgMDdjYjUwMTQxZDA3MDcyYWE1N2FhZTRlY2M1ZGIwMDlmZWYzNTM2NSBsZWdhY3ktdHJ1bmsKKzU1NTEgOTFjMWJiNzVlOTQ1Y2Y4Y2M5NmIyNzA5ODE3YjFiOTgxNTMyNzYwNCBsZWdhY3ktdHJ1bmsKKzU1NTIgYTdjOTdjNDM3MTkxZDQ0Y2NkMTMwZjdiODc5YjI0NjlkNGM3NDlmNSBsZWdhY3ktdHJ1bmsKKzU1NTMgZDdlZWE5MDEzZTczNjI4OGIzZGZhN2M0NzkwOTMxOGYzNDY1ZDQyZCBsZWdhY3ktdHJ1bmsKKzU1NTQgMzE2ODRjNWJiMTcyN2NjYjQ4NjYzMjY4YmQzYTMxYzUxZDZkMDA4NiBsZWdhY3ktdHJ1bmsKKzU1NTUgNzU5MzY5OTBhMzMwYzBhNDRlY2M4ZDVmNDczMzUzY2FhMjMxMjlmYiBsZWdhY3ktdHJ1bmsKKzU1NTYgZWY5YWM2ZGVmNzFkM2I2ZWM5Mzg5ZTI1MTZmN2UwNDgwNzhlZmRjMSBsZWdhY3ktdHJ1bmsKKzU1NTcgZmJmYTNkM2NhNGUwOTU2NmQzNGY2YmViYTEwMGI4ZDRmMjBiZmI0YiBsZWdhY3ktdHJ1bmsKKzU1NTggN2RkZmI2MjlhYzNmZTkwMzg1YTQ1ZWMwYWFhMDhiNGFjMDZjYzQzZSBsZWdhY3ktdHJ1bmsKKzU1NTkgMWZmMTI2MTlhMTRjN2RjZmRkMjNlMTM3MDg1MzNmYTQ5YjVlMjhlNCBsZWdhY3ktdHJ1bmsKKzU1NjAgYjNhODAxM2NiNGZhMzY3NTUzMmU2NTUxODUzOTRjOWIwZTQxYTdhYiBsZWdhY3ktdHJ1bmsKKzU1NjEgNWExZmJkMjFmYzJhNWE1Zjg0NjFkMjFkMTFmYzViMTdkYjVjZjQ5YyBsZWdhY3ktdHJ1bmsKKzU1NjIgYzFkNzdkNzRmZTM1MDY4ZmRiYzM2ZjRjN2Y4Y2VmN2JlNDJhZDNmOSBsZWdhY3ktdHJ1bmsKKzU1NjMgODQxMDRkNmI0YWU3ZWRmMDA1NGJjNjQxNmJhOWI3OTFjMGU2ZGI4MCBsZWdhY3ktdHJ1bmsKKzU1NjQgOGFhNjkxOGE4OGM2YjE1NDFjN2QwY2Q2ZjQ5NjBjNDQ3ODhmZTI5NCBsZWdhY3ktdHJ1bmsKKzU1NjUgNGM4M2Y1NjliNDM0NTkzYjM4NTUzMjQwZjUxNzY0YmU2MjlhZjZkMiBsZWdhY3ktdHJ1bmsKKzU1NjYgZDI0OTExMWQ0Y2NjZmY2ODQxZmU4ODBiZmFmNDNiYjQzOTk1YjZkOSBsZWdhY3ktdHJ1bmsKKzU1NjcgMTcxZWVmNjlhMmNkMDg3ZjYzMTI1YjI4YjMzYjZiOTVmNTljNzdmMyBsZWdhY3ktdHJ1bmsKKzU1NjggMjM3YzNiMmE2MTg3MWIwNzU3YjU4ZTgyZGE4NGRkMzRjZGNiNWZhNCBsZWdhY3ktdHJ1bmsKKzU1NjkgNjkyNzE1YWJiZDBiYmVlZjZmMWMzYTQ3MmM3NmM5MGE1NzA5MmI5OCBsZWdhY3ktdHJ1bmsKKzU1NzAgZTUxZTE3YjJkODhiMTVkOWE5NTk4NmViMTNhZjhhNjJkNmQxNzk4YSBsZWdhY3ktdHJ1bmsKKzU1NzEgNTZkYmEwMzdiOGQ2YzY1NjQ1YzFmODliYzc4ZTIxYjFjZDBkZDE0MSBsZWdhY3ktdHJ1bmsKKzU1NzIgNDM4Zjg4YjU1MTU0YWQ0YzQyYzYwNTE2NzQ5ODI0MzE5M2Y1NDVjZCBsZWdhY3ktdHJ1bmsKKzU1NzMgYzQxYThlNTAxOTczNDNjOTc3MThmNjM2YTcwNTE2YTZhN2ZjZGEyYiBsZWdhY3ktdHJ1bmsKKzU1NzQgM2RjOWZmM2FiZjM2MTYzMmRlY2RhMTlhNjE3NjRlZDFiOGY1YjE5OCBsZWdhY3ktdHJ1bmsKKzU1NzUgYThmY2M1MTFhODlhOGYzN2E5MzMyYzc3ZDkyNzhlNWExYjExZDFjNCBsZWdhY3ktdHJ1bmsKKzU1NzYgMTQxMjNlMDhlODg3ZTQyODNhZDY0ODhhNzg0NjRhMDVkNzBmYTJkNSBsZWdhY3ktdHJ1bmsKKzU1NzcgNWMwYTdmNzgzNmZiMWRiZDQwNWJkMTFhMDc0ODRmYWQxZmY5ODUxMSBsZWdhY3ktdHJ1bmsKKzU1NzggOWY3NjE4NWM5NjkzN2NmNTVjZGE4ZmViN2U2NTVmODIyNTQzYTUzYyBsZWdhY3ktdHJ1bmsKKzU1NzkgMzZmNGQ1NDY5OTE1MzNjOTRhNDAyNmEwMzU1NzgyMjcxYmUwNmJmZSBsZWdhY3ktdHJ1bmsKKzU1ODAgYWY4MjI5MTEzNWJkMDZjMGY4MzViNTdmNDBjNDVkN2NmMTAxNWE2NyBsZWdhY3ktdHJ1bmsKKzU1ODEgM2FhYjkyNWViZmIwMzRlMDVjYjc5YzAxZjU3NDU1NWY3ZjZhZjhiNyBsZWdhY3ktdHJ1bmsKKzU1ODIgOTQ5N2NkY2RiNmFhNTFiNGYxYWZlNWJlYTg4NjgzZTYzMDFkMGEyMCBsZWdhY3ktdHJ1bmsKKzU1ODMgZGIxMzlhNDExMmYzMmY1MzhjMzUwZDlkYWNjNjVmOTQzNDA0MDY1NyBsZWdhY3ktdHJ1bmsKKzU1ODQgMDc3Mzk5Y2M4MmU4Y2ViMjg4YjAwNTU3MjU4YjdhMjMwZGY0Zjc4NyBsZWdhY3ktdHJ1bmsKKzU1ODUgZTQ3NzA5NGE4Y2ExMDg4MjBmOGY0MzkwMmI2YzM3MGRjNDdmNDZiZCBsZWdhY3ktdHJ1bmsKKzU1ODYgMTA3MWQxNmM5MzBjMWQ4NjljZTE4ZGQwZWJhYTQxMzZmNDJiNDhhMyBsZWdhY3ktdHJ1bmsKKzU1ODcgNGExMmE1NDMxNzVkMGJhOWE5MzA2MGNhYjM4MDUxMDM1ODRjMzdmNSBsZWdhY3ktdHJ1bmsKKzU1ODggYzEwZjU1YjQ2YTExNTFiMWI5YmY2MGFhNTE4MDlmZDYzNjJmMGQzMyBsZWdhY3ktdHJ1bmsKKzU1ODkgMmNhYTNlMjgzNTY4ZDA3NWE0Y2QyMDY2OTc0ZTYwNDQxMjlmM2ExMyBsZWdhY3ktdHJ1bmsKKzU1OTAgOTM1NjJkZGUyMjRhYjdkMDk0ZTVjNzY1ODQ2YWU4YmVlNTcwYTJkNyBsZWdhY3ktdHJ1bmsKKzU1OTEgMTdmMzExZWEwYzlhMDdjNTViZDIwZTBiMzBkOWYxOWI2NjJlMTdhZSBsZWdhY3ktdHJ1bmsKKzU1OTIgOTA1NjZjOWMxODlmMzJkMWI3OTQ3Yzk4M2VhNTg2YmZmYWIyNTA5YSBsZWdhY3ktdHJ1bmsKKzU1OTMgZTkwNjQzZjMzYzY0YzEyYTYyODFjZmNkZDlhNWVhMzEyODllN2Y1NSBsZWdhY3ktdHJ1bmsKKzU1OTQgODcxMGQ3MTQ5YzZmMWJiZWUxNWIyNzk0MWVlYTMyMTRlM2NjMDE3ZiBsZWdhY3ktdHJ1bmsKKzU1OTUgMjdhMDc2OWRiOTIxOTMzNDBlNjc3YWVjZjkwYmJlYWI2ZDkyMDJmOSBsZWdhY3ktdHJ1bmsKKzU1OTYgZTgzNWEyMmIwYmRkZTk0ZmViYzAxYWMwNjczNWU2MWUyMDg5YjhhOCBsZWdhY3ktdHJ1bmsKKzU1OTcgZGNmMmEzN2U3M2Q5ZDM2ZjE4MWE3NGFhN2NiYTA4YWNmNWEzZDU1OCBsZWdhY3ktdHJ1bmsKKzU1OTggNzFiYjcxZTMwNmZlMmRjYjY2ZTk2NWUwZGQ4ZTc0NTkzODAwNzUzYyBsZWdhY3ktdHJ1bmsKKzU1OTkgNzBlZTRlM2NiM2Q4MzgyNjRjZTE0YTcwMGE5ZDA4MjE2M2RhMDViNiBsZWdhY3ktdHJ1bmsKKzU2MDAgNTkxMjg3YTIyZWU1OTZkZWMxYjFkNmJlMGJiZjhlNzZlZjYzYTQwZSBsZWdhY3ktdHJ1bmsKKzU2MDEgMjY3N2ZiYjExN2Q2MmI0NTFhZmNjNDk3NjY2ZjI4ZGUxMDU0MDRiNSBsZWdhY3ktdHJ1bmsKKzU2MDIgOTk5ZmNjZTQ5NmY4NDk1NDg5ODJjNGE1NDVjMDVmNmRiNjRiZWRkOSBsZWdhY3ktdHJ1bmsKKzU2MDMgMWI0YjhhNGZiNDYzMzQwMTcxMDg3NzNjY2I1MGQyNzg0Yzk0OTE5MiBsZWdhY3ktdHJ1bmsKKzU2MDQgYWRjYzkxNmI3NjE2ZDgwNzQ2YzFjMTJmMGU5YWMyYmFiMzUxZmViYSBsZWdhY3ktdHJ1bmsKKzU2MDUgZjFmMThjNTVkMTM2NDI0NTQyNjk2MmI5MGY3OWVhOTAxOGMyYzNlNCBsZWdhY3ktdHJ1bmsKKzU2MDYgZGYwN2YyODcxMWZkZjMyODk5ZmJhZmQ3MzUyOGFhOTZlM2E1NDI0ZSBsZWdhY3ktdHJ1bmsKKzU2MDcgY2QzODhjYzliYTk4ZGNiODlmYTgwMmUzYTFlOTlkNGMwNzY5YWJmNiBsZWdhY3ktdHJ1bmsKKzU2MDggM2Y4YTczMzgwYzRiY2NkMTg5MDg0YWU0MDNjMWIwN2FhOTY2YmYwYSBsZWdhY3ktdHJ1bmsKKzU2MDkgMzkzYjZkODFiMTI2YjI3NGQ2N2RkOWQ2MWVmYjUwOTlhMDk5MzBiMSBsZWdhY3ktdHJ1bmsKKzU2MTAgN2M1Zjk0ZjU2Zjc5MzU4NjllY2RiZmY2NTRlYWUyZmVkOTUxMjgzMyBsZWdhY3ktdHJ1bmsKKzU2MTEgZmJmNThkMjc4ZDY0NWQwYTUyN2JlOThlNjU2ZTRjNGE0ZDhkMmVlMSBsZWdhY3ktdHJ1bmsKKzU2MTIgNDNmOGRiMjNlZjE1ZTIwY2I1NjU5ZGEwZjAyMzYzYjVmM2YzY2E2ZiBsZWdhY3ktdHJ1bmsKKzU2MTMgYTk1ZmY4Njc1NzE4MTBlNmUyNTRhY2Y2NmRmYmRkMmZiNGFiMWQyMCBsZWdhY3ktdHJ1bmsKKzU2MTQgNzBhOTMyN2Y2YzRjNmIyYjM1OThiNWFkNWZjMTI2N2ZjMmRmNWJhMyBsZWdhY3ktdHJ1bmsKKzU2MTUgNDhkYjVkOWEyNzk0MWMyZTE4Nzk0MTBjN2FmYzU5MGVkZTI5MzdmMyBsZWdhY3ktdHJ1bmsKKzU2MTYgYmFkOTdiNDA1MTY2NmEyZGYyZjYxYWRlMzFlYTIwNTM2MDFmNjE1YSBsZWdhY3ktdHJ1bmsKKzU2MTcgNDkwYmU4NjVhYTBkNTc5ZWVkNDRhNmFlODY5YTNlNTgxZTgxOWU5ZCBsZWdhY3ktdHJ1bmsKKzU2MTggYWNmZjc5ZGQxNGI3NTA3ZjZkY2JhNDMwNzU5M2I1NzU2NzJhZWUyNiBsZWdhY3ktdHJ1bmsKKzU2MTkgYTM2ZTMwMjQwZDA2ZjRkZjI2N2E5YTM1MjRmMGIzMjZjYzVmYzcyYyBsZWdhY3ktdHJ1bmsKKzU2MjAgOWE4OTYwODZkM2MzNzA0MTQwZGNjNWIwMDcwMWIyZjkwMzM3YzJhNCBsZWdhY3ktdHJ1bmsKKzU2MjEgY2Q3ZWFhNjJjYzMxYjdmNjYzNjQzY2MzM2VhNTM3YTA1MGZkOGU1ZiBsZWdhY3ktdHJ1bmsKKzU2MjIgZDZkZDUwZmUxZWNhYjc1NDcyYzM0ZDE1MDRlZWUyYjYzZWNkYzU2OCBsZWdhY3ktdHJ1bmsKKzU2MjMgOTMxNTNkNWMzMzNkMDdkMTFiNTE0NTI5OTI2YWM1ZTY5ZGE0N2IwYyBsZWdhY3ktdHJ1bmsKKzU2MjQgNDY5MzY5YWQyZjJmYmE0YzhlMDZjYjM5ZGMzYjJhYTIyMjRhMzZmNiBsZWdhY3ktdHJ1bmsKKzU2MjUgNTk2MWI3NmQ3ODk5NmUzNWY1ZDRjYjFmZjM3OTM3N2Y0YTZmMzBhMSBsZWdhY3ktdHJ1bmsKKzU2MjYgNGNiMTI2MDRkYTlkOWVhOGE0ZTZjOWEwNTlmMDk2ZTUwOTk4MDdkMSBsZWdhY3ktdHJ1bmsKKzU2MjcgZmQ0ZjAwOGQ3NzQzYjUxZWY5N2Q1MDZjN2ZhMDc2NjdiZWY0OTlmNCBsZWdhY3ktdHJ1bmsKKzU2MjggMjIwNWRjNDk4YWRmYmViMGVmNWE5YThjNDMwNmIyOGMxN2E3MTY3ZSBsZWdhY3ktdHJ1bmsKKzU2MjkgNDBjNjhlYmQ1ODkxZDliNGY3MmJlMzE0NjhjYjRhYTNkYzQ2NGZjOSBsZWdhY3ktdHJ1bmsKKzU2MzAgMzE3MmMzOWNkYWQ4MDg3ZDVhNzExOGE3OWJjOWJiZjA4YzhhNjQyNiBsZWdhY3ktdHJ1bmsKKzU2MzEgOTVlODBiNmI4ZjJlNDRjZmJhMWRkYzcyNjdhNjMyOWIyNDY5NDZlMSBsZWdhY3ktdHJ1bmsKKzU2MzIgOTJlMTQ1Zjg0MTRlOTYxNjUxMjljMzU1ODFlMzJjYTczYjM5ZGVmOCBsZWdhY3ktdHJ1bmsKKzU2MzMgOTM4YzQzM2M4NzZhM2Q2OTViMWQwN2Q3ODNkNjgxMWJmN2U4NDBkYSBsZWdhY3ktdHJ1bmsKKzU2MzQgZmU5Zjk1YjA0MmZjOGNmMDYxOTUzMTBkYzQ0ZWJhNzEyZmJhYjliNyBsZWdhY3ktdHJ1bmsKKzU2MzUgOTQ4OWEzNzJjNjg2MmExOTIwNTQyZTIyOTEyNTQ0MDI3NjA3NTQwZCBsZWdhY3ktdHJ1bmsKKzU2MzYgZmZmOGE3NTBlN2Y2M2RjMGEwMWJiMzkzZjI1YjA0ZDBhYTMwOTYwYyBsZWdhY3ktdHJ1bmsKKzU2MzcgYjliOWU2NjI4YjM1MzUzMDFjNWM0ODIwZmI5Y2FkNjQ1M2FmYWFhNCBsZWdhY3ktdHJ1bmsKKzU2MzggMTMxNDZjYjZmNjdjNjFkZTI1MmNiNmEyMjM4NjVkNmQ3NGNjNmYxYiBsZWdhY3ktdHJ1bmsKKzU2MzkgNmJjY2ZjMGVkNjk1OTQzOTQ4NTBkMWZkMDg4MTUyNDA1OTE1OGRiMSBsZWdhY3ktdHJ1bmsKKzU2NDAgNmQzNGFkZTJlOWQ0NTI3MWIwZmM2NWZiNjBmM2Y0ZTEyYWYwZjM3OCBsZWdhY3ktdHJ1bmsKKzU2NDEgZjc3ODk5NDViOGRlZTZjZDc3ZTQxZTE4YzcwNTUyN2U5YzllMWZlNCBsZWdhY3ktdHJ1bmsKKzU2NDIgNDliNzg3YjliZmFlMjZjZGE1NmU2NDNhZGQ0ZGQyY2ZhZWZlNGI5YyBsZWdhY3ktdHJ1bmsKKzU2NDMgMDZlMzQwZjg1OTYxZDFkZjIwNWU1ZjQ1ZDg4Y2NiNzRhNzAzNWRjNyBsZWdhY3ktdHJ1bmsKKzU2NDQgY2Y2YzBjNWRjNzNmNzg2M2YwNzdjMGRjMDQ4MzM5MzUxYTQwZmIxOCBsZWdhY3ktdHJ1bmsKKzU2NDUgM2UxZTVmNjhmZDFjY2EyMWExNWNlMTBjYjUwMWJjZDRhMTY2YzEwYyBsZWdhY3ktdHJ1bmsKKzU2NDYgMmE0ZDEzMDM3M2RiMjE5ODg2ZWRjOTgzNzZjMjI1NDNkYTc1M2U0MSBsZWdhY3ktdHJ1bmsKKzU2NDcgYTQyMDEyYzE4OGZkMzg3OWI2NmJiOTRjNDkyNGQ5ZjNhOWFjN2JmNSBsZWdhY3ktdHJ1bmsKKzU2NDggMjRiNTNjYjMxNjgwOTQ1MTBkY2ZjYzMwNzViNGYxYTUyMzE4MTZiZiBsZWdhY3ktdHJ1bmsKKzU2NDkgOGYzZjI1YTgzN2IzODE3ZGJhOWQzYTI3YmExYTkzMWY3ZTQ1NWYyNiBsZWdhY3ktdHJ1bmsKKzU2NTAgNjFjYTE5YTMwMDBmZWMxMjg4YWZiNTk2ZmIzZjJjYjQ5ZGI2MzJhNyBsZWdhY3ktdHJ1bmsKKzU2NTEgN2IyZjY5NTQwNWJhZmJmYmZkOGFjZTllMDM3NWY1ZTQwZDQzNmI2MCBsZWdhY3ktdHJ1bmsKKzU2NTIgYzA1NmY2ODVjMDgxM2M4ZTQ1M2E1Yzk3NDU0NDc3Y2M0Njk0ODhkZCBsZWdhY3ktdHJ1bmsKKzU2NTMgODMwMWQ1NWViNjRiZTI2OGRjNTdlOTE0ODBjNWI4Y2RiMzE1YWRkNCBsZWdhY3ktdHJ1bmsKKzU2NTQgY2MzOWQ2MmIyN2ZkMTE1OTAyYzU2NDBiNjJkMTFlMzQ2ZTY3OWRkMiBsZWdhY3ktdHJ1bmsKKzU2NTUgZjQ3MmI3ZWMyNWM1ODNjNjJiODg5MWRlMjZlOTIzYmQ4NTZiZTdkYyBsZWdhY3ktdHJ1bmsKKzU2NTYgMDJjOGY3NGQwOGRjZDg0ZDM2MjBmM2JlMjAxNTBiZjViYTUyM2E5ZiBsZWdhY3ktdHJ1bmsKKzU2NTcgMjhkZmM0NjcxODVmYzQyNTgzOGY4ZGI1OTc1Yjk1OWU3ZGRjMGNkMCBsZWdhY3ktdHJ1bmsKKzU2NTggZjlmZDUxMjI2ODBmMzMzZDNjOTczOWVhOGVmZWQzMzA5MTc0ZjdjMyBsZWdhY3ktdHJ1bmsKKzU2NTkgMmFhNzk4MzdhZWU1NmVlYTc2OGYxNWNiNTU5NzQyNTRhODAzOWYwYSBsZWdhY3ktdHJ1bmsKKzU2NjAgODIyNGYwYmM1Y2RhNDk0MmVhY2FiYTA0MTA5MmQ3ZTgwNzg1YmRhOSBsZWdhY3ktdHJ1bmsKKzU2NjEgMDVhZWI5MWUzYjkwZDBkMzYxZjM4NWEzODM0ODRmMzI0Y2RlZTBmMyBsZWdhY3ktdHJ1bmsKKzU2NjIgNjExOTNjNjMyZjUxZTE5MTFhODcyZWI1NDEzMmRlYTdhZWM5MjUzNyBsZWdhY3ktdHJ1bmsKKzU2NjMgMTk1YWQ5ZmI0NTgzMmM3OWEzMmMwOWQzNTc4OTU0MGQ1NjdiM2NhMiBsZWdhY3ktdHJ1bmsKKzU2NjQgNWQxNmVjYWU4ZWU3MTExODFkYTY4YTE2MzBjODRkY2ViMGM1YmFhMCBsZWdhY3ktdHJ1bmsKKzU2NjUgMjFjZDUwYTRhM2Y3NjdhOTNmMDhkOWE0Yjc4OWE5M2FiNTlhNTI4NyBsZWdhY3ktdHJ1bmsKKzU2NjYgODg0MWE0ZDVjZDRiZWI4ZmNhM2Q4NmE3NTI0NmZjZGUxNWY1YmZmNCBsZWdhY3ktdHJ1bmsKKzU2NjcgOGY1YWIxYTZjOTE0MmViYTQ5ZDA4MzYzYzlmOGU0Y2EyYzcwYmYyNSBsZWdhY3ktdHJ1bmsKKzU2NjggMTliNThjZTc5NGM5MDI2Nzc2ODdiN2U2OTA1MGYyYmZjMWM3MDdkOSBsZWdhY3ktdHJ1bmsKKzU2NjkgNjQ5MWJkMmJiZGVmZjY4NTllMjU0ODFmZDEzNzQzOTQ2YmQ2ZDAwZCBsZWdhY3ktdHJ1bmsKKzU2NzAgNDZkZjY3MmM3YzI3MGRhMzYwYjU3ZjAwNzIwZTRjYjU1ZDBiMWYyZSBsZWdhY3ktdHJ1bmsKKzU2NzEgZDVlNzZhOTViNTY2NWM5MDkxYjU1Y2FiZTBkZjJhNTVkYTU2Yjc1NSBsZWdhY3ktdHJ1bmsKKzU2NzIgM2QxMjJmMDJlNjQ5ODcyNjk2YmY4NDkxMjg5M2VkOTA2MTEwY2NkNSBsZWdhY3ktdHJ1bmsKKzU2NzMgZGYyZjI1MmRjZDI5ZGRlN2ZmMjRhZWNhYmQzMzdiMWUwNTMxOGY2YyBsZWdhY3ktdHJ1bmsKKzU2NzQgMGVkNWNkOGRmNTFmOTgxNjE5MTRkYTA5ZmU5YWJjMDUzYWYyYTJiMiBsZWdhY3ktdHJ1bmsKKzU2NzUgYTIyN2RjZTQ4NDUxN2RhNjE1MGEwYTk0YTc3MDQ3MDNhNjlmOWFjNCBsZWdhY3ktdHJ1bmsKKzU2NzYgMmI1Yzg3MzgxMzBjZjk1MjJmMWZiZjRhZGJhODI1MGFmZjA5YzZmZSBsZWdhY3ktdHJ1bmsKKzU2NzcgY2RlYmVlNGEzZTNlODcxYTdlNmY1ZmU2YzExOTRlZDhkZGNjYTAzNSBsZWdhY3ktdHJ1bmsKKzU2NzggOThlMmNhZDQ4NTdmMWQyYmQ1Mzk5ZGEzN2I4ZDJmOGFkMjA5ZTk3NCBsZWdhY3ktdHJ1bmsKKzU2NzkgYzdjZGQyMmE0ODUzYWQ4YmEwMDlhMWZkZjc1ZmM1MmYyMTc3OWQyYSBsZWdhY3ktdHJ1bmsKKzU2ODAgMjFkNGEwN2IxODc1YjFhZGJjNzBiYTZkMGNkZjU1NTdhNGMwZDU2MSBsZWdhY3ktdHJ1bmsKKzU2ODEgZmZlMDMyODM2OTM3MzczNTA2OWI0NDZmYmM4OGNjMzg3MmNmODMwOCBsZWdhY3ktdHJ1bmsKKzU2ODIgM2IyYmU4MTFhNjZhYWE2YmZkZjg1ZGMzN2ZjNjJlODBiNmYwODllOSBsZWdhY3ktdHJ1bmsKKzU2ODMgZDAwYTc5ZWJiMDI3MzQ4Y2RkZjVlMjU0OWI0ZWRjNmM3M2M3ZDMxNyBsZWdhY3ktdHJ1bmsKKzU2ODQgODAxMjY1Yjg2MTY0MDI0NDRhZDc3OWZiZWI1NjYzYzkxZGMyZTE3ZSBsZWdhY3ktdHJ1bmsKKzU2ODQgN2Q3NDNjODY1YTlhYTZiZGU4YjYwM2UzMmUwNTQyMDMxYmJhM2MzMyBsZWdhY3ktdHJ1bmsKKzU2ODYgZTQ1ZjNkMjYyYWU0YTkyM2VkOGM0MGYwZGY5OWRmOTZjZTBmNDNmOCBsZWdhY3ktdHJ1bmsKKzU2ODcgZjFjYzI0N2ZmZjEzN2Q5NGRiODEyZTllY2NjNmJiYzhhZTY4Njk0ZCBsZWdhY3ktdHJ1bmsKKzU2ODggNzhlMTk1M2ZjOWIyZjMzNDUzNjAyYmIyZGU4N2IwNWNjYzQ2NTc2YyBsZWdhY3ktdHJ1bmsKKzU2ODkgMGYzOGNlYzU2NTM5MWU1MzBlYTRmODkyMDNkOGU5ZTA3OTZmOWY4ZCBsZWdhY3ktdHJ1bmsKKzU2OTAgZTc0MTdhNTY4NTg2YWIzOTJkMWE2NDk3MzNmYTM2ZjVlYzEwNDkwMyBsZWdhY3ktdHJ1bmsKKzU2OTEgMmZiMzk4YWIzZTZhYjAyODNkOWUwZDczZmIzYWQ1ZjcwOTEzMjk2YiBsZWdhY3ktdHJ1bmsKKzU2OTIgZTU1NGE2MWE4NDY5NGZiMTc3MDg4MTBkN2NkNTg2OWRlYTE1NTQ0MCBsZWdhY3ktdHJ1bmsKKzU2OTMgOGMwYTUxODBmYTM2ZWFmMjRlY2VjNTQzZTA5MWQ5N2NiMGQ2YmUyYyBsZWdhY3ktdHJ1bmsKKzU2OTQgZWZiOTcxNDI5OTJlNDg5Nzg5NjhmYmFiZTBjMWNhNzE4ZmVjOWFkNCBsZWdhY3ktdHJ1bmsKKzU2OTUgZjRhNTlmZmUxYTVmNWMxYzgyMzUyOGNjYmI4YzAxZDZlMzI4ZWMxMiBsZWdhY3ktdHJ1bmsKKzU2OTYgZTMzN2JmM2NiNDNhZWEzODZlNjI1OTcyNGM1ZmE4NDM2M2Y0MjEzMSBsZWdhY3ktdHJ1bmsKKzU2OTcgMTE4YzA2M2RmNDUzYzJjMmYzZDY3NjAxNzM1MzgwNjA1ZGYzNzdjYyBsZWdhY3ktdHJ1bmsKKzU2OTggMWFjYzA0NDc4ZGMzMTBlOGM0MDUxZjMyMzdlNmU2ZmE5NDYzMTQxNCBsZWdhY3ktdHJ1bmsKKzU2OTkgZWE3ZWM0YTRjOGQyZjUzMGE2NzEwZjg3ZjI3YTM0NzMwNjBlYzgwMiBsZWdhY3ktdHJ1bmsKKzU3MDAgZmQ1NzNhYzc1OTQ3NDAzNTVmMDVjNDFjOTEyOWI3OGI2Njk0YzFlMSBsZWdhY3ktdHJ1bmsKKzU3MDEgYWFmZTdkNjM0OTg1MjdlZGY3ZDk2MTRiNzFmYWI4NDk0ZTkxNzkwNiBsZWdhY3ktdHJ1bmsKKzU3MDIgM2RmOWFiMDNiYWRmZmIyZWMyY2Y0Zjg2OWVmMmFiN2EzZDI3MjA5YSBsZWdhY3ktdHJ1bmsKKzU3MDMgNDYzYjI2ZmE0ZDdiNzU2Nzg1MGMxYjQ1MDZhY2E4NmE0ZDcxMzNlYSBsZWdhY3ktdHJ1bmsKKzU3MDQgNjJiYmZkZTQxYjE0NDNiYTY3NjlmYjg1NjEwZTFkNjE0MGJhNTIwMCBsZWdhY3ktdHJ1bmsKKzU3MDUgZDM1MTBmMTExOGI2Yjc3MmE5NGUxZmIwNDAzYTE5NDk3YzgzMDllNCBsZWdhY3ktdHJ1bmsKKzU3MDYgMjg1ZGJhNGUwZTUxNmM1MDc3YzBjMTRlYjlmY2RlMzIxNTU0MGQ2NSBsZWdhY3ktdHJ1bmsKKzU3MDcgZjdmZDg1YjMyYTdkODVlNDk2Y2U3ODlhYzQ0NTcyZTI5N2Y2YmI2MCBsZWdhY3ktdHJ1bmsKKzU3MDggZTkyNzg5YTk2MGEwMjcyYjJkMTQwYzI1NmZmMmM5MmZkZTRmMzllMSBsZWdhY3ktdHJ1bmsKKzU3MDkgMzEzNjM3Yzc3ZGFhMDNhMjk1Y2IzMTc3M2U0MGVmNjgwZWU3OGJjYSBsZWdhY3ktdHJ1bmsKKzU3MTAgNDA1ZGE1NTY2NjFkNjZhYTQ3OWVhZTY4ZWUyMzU2ZmFkYjViZDFmZSBsZWdhY3ktdHJ1bmsKKzU3MTEgMjg0MmZmYTUyMTI2MGRkNzU1NDM1MDZmYjZlNjliY2MwNGVlNWI3MSBsZWdhY3ktdHJ1bmsKKzU3MTIgMThiNjBkOGQ5ZTM1YTI2NGI0NmVhOGVhNzM0NTJjYjcxNWRhMTVkNSBsZWdhY3ktdHJ1bmsKKzU3MTMgN2IxYTZiYmEyNTgwNWIzOWEzYWRiNGE4MDU3ODRhMDkwMWY1NTAyNyBsZWdhY3ktdHJ1bmsKKzU3MTQgMjBkNzRmYTNiNTBiMWJmMDcyYWQxOGJmN2EyZWIxNzBiMDhmOWRhMSBsZWdhY3ktdHJ1bmsKKzU3MTUgNWUxMDFlYWQxZTY5OTA5NTI0ZmI1MGQ3NDVhOTQzOTc3Y2UzYmExNSBsZWdhY3ktdHJ1bmsKKzU3MTYgMWNmNmUxMDUyMmUwOTE1NjAxZTA2MDQ4ZGE4NWI4MjgwNTFhMmRjZCBsZWdhY3ktdHJ1bmsKKzU3MTcgZWQwZDE0OGZjMDVjODc5Nzg2YWM0ZDZiN2RkYzI5NzQxNjUwZDRjOSBsZWdhY3ktdHJ1bmsKKzU3MTggMWEzOWQ0MDdiNGQzOTAyOWQzMTBlZjc5ODI0MDM1OTM0MzQ3OWI2MSBsZWdhY3ktdHJ1bmsKKzU3MTkgNDY3ZTBmMmQ2NzhhMTFmNDMxYjNlNmM3M2ZmZTc5MThjNGNhNGRjNCBsZWdhY3ktdHJ1bmsKKzU3MjAgZjg5Y2RkYTc0MDVhYzRjNzFkZjIyYWQ2ZTczMTU0MGM4YTM0NzNlOCBsZWdhY3ktdHJ1bmsKKzU3MjEgY2M1NDc0MjIxYzhjYjFhNjAyMWMyYmRiMTNkOWIxN2YxNDRkNTNlMCBsZWdhY3ktdHJ1bmsKKzU3MjIgMzMzMTBjYjZhNWQ3NjgzNDIwOThhMWY1NjE0Mzg5OGRjZDUwZjM4MCBsZWdhY3ktdHJ1bmsKKzU3MjMgYTZiMDcwNDEwNmM4Y2ZkNjUxOGQyZGU5MTdkYmNhZDQ0Mzk2MzMzZSBsZWdhY3ktdHJ1bmsKKzU3MjQgYmFkN2Y1NmM4M2IyYjYyYTE4ZWVkMTE2Yjg1Zjg2NjJjOGY5NmQ4ZSBsZWdhY3ktdHJ1bmsKKzU3MjUgNmU0OGZhYjY5OTBmMzE0ZmI3NjE0NTViM2ZmMjUyNjFjMDZkNjg4NSBsZWdhY3ktdHJ1bmsKKzU3MjYgZGIxMWEyYmZlYTY2ZGE0M2IwNjM2YTIwZTYxZjg2YmFmYmVhNzQ0YiBsZWdhY3ktdHJ1bmsKKzU3MjcgYjFjYTY1OTcxZTM2ZmFhNjY4NWVkNjEzYWQyMTNmYTE1YWFjODhiZiBsZWdhY3ktdHJ1bmsKKzU3MjggNGY0MDgzYTI2YmYyMjMzOTAxNTU3MTdmZDkzODEwNDc0NjA5NmE1YyBsZWdhY3ktdHJ1bmsKKzU3MjkgYmZiNjNiNDVmZjBmNjc3YWMxN2EwNjM5NmRkYWFiNzg0YzYwNmRiMSBsZWdhY3ktdHJ1bmsKKzU3MzAgOGM1OGFiN2FhNzFlZjEwMWYzMzNmNWQzODI5ODhmMzI3NDUyOTdmMCBsZWdhY3ktdHJ1bmsKKzU3MzEgMmMxZTNlODc1MTA5OTZmYjAzYmY2M2U3NjJlMWVlMGRhYzVhZTQzMyBsZWdhY3ktdHJ1bmsKKzU3MzIgMmY4MzdkODI0MTIwZDg5MmNkZjg4YjgxMmU4ODkzYzE5MzY3MzFmYiBsZWdhY3ktdHJ1bmsKKzU3MzMgMTU5Nzc0YWYyZWRlNjZjMGMwOTIyOGIzNTc2NmE5YWUxYmIwYTZmNCBsZWdhY3ktdHJ1bmsKKzU3MzQgOGU3MzNmOTJlZGMwOTM0ZjgzN2VmNGNlZDNlZjkzMjg1MTBjOTc3MCBsZWdhY3ktdHJ1bmsKKzU3MzUgN2VhYzAyYTYxNzZlZGYyODFjNWY0NTA3NWMwNjdlNjI3M2FmZmZhNyBsZWdhY3ktdHJ1bmsKKzU3MzYgMTE3NjE4ZGQwZTdmNTMzMDQwZjg4OTNmYWQzMmVjNWUxODJkNzY2MCBsZWdhY3ktdHJ1bmsKKzU3MzcgYjE2ZmNkMTI2YjFjMjRlNmU5OTcwODgxNjIxMGRiY2I2MTA1OGJmYSBsZWdhY3ktdHJ1bmsKKzU3MzggMDMxN2FjNTIyNjA1ODE3YzZmZTE3NTM2YWMyNTM5ZGU3MTE4NWJiNSBsZWdhY3ktdHJ1bmsKKzU3MzkgNjEyMjczMGI3OTg4NTE2ZjQ2YWU1Mzg4N2Q5ZDJiMGM1MzBkM2M3YyBsZWdhY3ktdHJ1bmsKKzU3NDAgZjk0NzgzYjliZmJhYjdlMTYwOTZhODAxMjc0MjcxYjkxYzhhODMzNiBsZWdhY3ktdHJ1bmsKKzU3NDEgOTc1Y2NmYTcyMWY2YmVhZjQ1Mzk3NTE4ZGY0OTI5NWMxMDlkNzY5NyBsZWdhY3ktdHJ1bmsKKzU3NDIgM2E4M2MwMTdkZjFlY2E5NTVlYTMxYjQ5MjA1MDIxYzM4NjNlZTU2YyBsZWdhY3ktdHJ1bmsKKzU3NDMgZjFmYjMyNmM3ZTJmZTFhMDhlYzkzNDUwNmRiNDdjYmZiNjJhZDg3ZSBsZWdhY3ktdHJ1bmsKKzU3NDQgMzZhMTg0ODk1ZWI5ODBhNmQ4ZWMzYzFhYjhlYTE2OTY3YTJlYzIxYiBsZWdhY3ktdHJ1bmsKKzU3NDUgNDNjNWU3YTNmYzFmYjYyYWUzNjdlOTZmNWMzYWM1MTc1YjkxMTM5YyBsZWdhY3ktdHJ1bmsKKzU3NDYgYTgwNjU3NjJhMzhlYTAxYzU1NmZmNGIzYTkyMTI2NzExOTEzYzgwYyBsZWdhY3ktdHJ1bmsKKzU3NDcgZjhhMDcxNzAyNGZlNGJmN2MzN2I5ODliYzdjNTYxOGZiNzE4ODNmOCBsZWdhY3ktdHJ1bmsKKzU3NDggODcxYzc2OGQwZGEyMjA3NzIzMmRiZWUxMjU3ZmM4MjExZDQ3N2EyOCBsZWdhY3ktdHJ1bmsKKzU3NDkgNmExOGM0Y2I2OGQ4NDRjNmVhN2I2ZmNjOWNmM2U2OGM2YTBjYzRlMSBsZWdhY3ktdHJ1bmsKKzU3NTAgOWZhMmUyMThlMmE4NGM2OGFiZjZjYmEzZTk1MmYwNjg3ODExMDI2ZSBsZWdhY3ktdHJ1bmsKKzU3NTEgM2EwZjg0YzY5MDUwYTNhYjJmOGQzNzUyZWEwMDY3MTc5ZDcyYzhkZSBsZWdhY3ktdHJ1bmsKKzU3NTIgMjEyZWFlNWI5NjYwYjU4ZTMxY2ZkYjM1NTFkZjE2ZDJmMWI2YThkOCBsZWdhY3ktdHJ1bmsKKzU3NTMgNmQ0ZjcxNDMwNzIyYjVlZGFkNzZiZDE2MTkxMmI2ZTU2YjRhOTVmMCBsZWdhY3ktdHJ1bmsKKzU3NTQgZTM4YzA5ZDAwODA2OGNmZjhmZmMwYTFhMzE3NDQyMmVjOWI2ZjE2NiBsZWdhY3ktdHJ1bmsKKzU3NTUgMjg4ZTMzN2Y3M2U3ZTQzNjhjNzA4ZWM1NzNlYzFlNjZhN2VkMGFjNSBsZWdhY3ktdHJ1bmsKKzU3NTYgNjZmNGJmOTQ2MjdmZWUwODg5NTA4NzU4ZDRjMjVjMzNhYTk3MjhlYiBsZWdhY3ktdHJ1bmsKKzU3NTcgM2Y0NTU3NzdmZjI4NDFhZDVmM2EyMjFmNmZkNDNjYjNiNzlkM2UyNiBsZWdhY3ktdHJ1bmsKKzU3NTggNDVlNDQ0NTQ3ZTVhMzVlOGZmMDAzM2ExMWYyMzU1ZWViYmJmYWJkMiBsZWdhY3ktdHJ1bmsKKzU3NTkgNzIzNTc5NzhmZmQyMmExODU2Mzk1NjNkYWViMDdhNTk4ZTkwN2Q2MiBsZWdhY3ktdHJ1bmsKKzU3NjAgYmFmYzEwNWJjN2NkOTlhNTJhZDlhNTJjZGQxOGRmY2E2MmQzNTNkYyBsZWdhY3ktdHJ1bmsKKzU3NjEgMmJkZGZiM2NmY2YxYWE4ZDgxMWZkZjQxYzU2MzU4MjczMDVlYTljNyBsZWdhY3ktdHJ1bmsKKzU3NjIgM2NhMTExZTBiMWE3Njg3N2U0ZGU2ODc3NzhiZmVkMjUyNjdlMGJmZSBsZWdhY3ktdHJ1bmsKKzU3NjMgMGQ2YjYwYjc0ODM4NGNhZjIxM2M4NWRiOGJkMTMwNTgxMGUzZjM1NyBsZWdhY3ktdHJ1bmsKKzU3NjQgNThlZjRjNDk1ZGU3NjJjOTQ2Yjg0MjE0MWM3MjQzNjM2YzAxMTMyYSBsZWdhY3ktdHJ1bmsKKzU3NjUgOWE0MDgxNDQwNzgzMDE4ZmVmMmY1NmY2ZjZjMjQ1YTAyZmJiNjdiYyBsZWdhY3ktdHJ1bmsKKzU3NjYgNDc3NjNhYzQ0YzQ4NmI3MjViNGRjMzFkZmRjNDRkOTFkMDYyMTgzYSBsZWdhY3ktdHJ1bmsKKzU3NjcgOTdjZDU3NzFjMjNlMjU3ZDJlNTczOWE5YTQ1MjA1MjZmZWJjNmI2NiBsZWdhY3ktdHJ1bmsKKzU3NjggN2Y1YjQzMmI4N2M0OGM2MzVmMjk0ZDE2MGVhNzBkOTAyNTBmNTg5YyBsZWdhY3ktdHJ1bmsKKzU3NjkgNTRmMDY3ODc1N2IwMGY2ZTMyYzc4NzkwYWE2MmU3OWM2YzMyMDBkNyBsZWdhY3ktdHJ1bmsKKzU3NzAgZDRkNWM5ZmE3ODU5MmExNmIzNTYxMGY2MDk5OTY5M2FiYzJkYjJlMCBsZWdhY3ktdHJ1bmsKKzU3NzEgOGE1MDk3ZTlkN2VlMmYzNmM2NzdlYTBkMzA3OTVlOTNmNTFmMTk0MCBsZWdhY3ktdHJ1bmsKKzU3NzIgODNkYWE1NGMxODFkZDBiY2MwMTgyMTdmNjU2ODVkN2E1MzI4NDVkMyBsZWdhY3ktdHJ1bmsKKzU3NzMgMTQwZDgyMzlhNDQ2ZThmMzFjNGRjMGFiOTc2ZmZiNjYxZDU4N2MwNCBsZWdhY3ktdHJ1bmsKKzU3NzQgMTNiMjRkMTAzNGJkM2JjYzcwY2Y1MDdmZWRmM2Q5MzkzYTRhNTlhNSBsZWdhY3ktdHJ1bmsKKzU3NzUgZTUyNDY1NzFmMGZkY2FjN2Q4NDE2ZWE3YzgwM2I3MzMwYjg5NGIxOCBsZWdhY3ktdHJ1bmsKKzU3NzYgYjgyOGJjY2RhMTg5ODM1Y2Y3OGQwYjgyYzQxMmEzNWRkYzA5MTJhYSBsZWdhY3ktdHJ1bmsKKzU3NzcgNjA0YjFmYzI2ZDYzM2E4OGUwMjdkMGFlYjkyNTgwMDZkODM5N2ZiNyBsZWdhY3ktdHJ1bmsKKzU3NzggZGYwZDAwOTE2MmI2NzUxODcxYmYwNThiMzFmYjY1YmExYmM3MzFmMiBsZWdhY3ktdHJ1bmsKKzU3NzkgYzA2NjRiZTdmNjYyNGI2Y2EwZjg1ZTY1OGU0OTRmODA4NjUwNzUzZiBsZWdhY3ktdHJ1bmsKKzU3ODAgNjhmZGM0MGFkZDJjYjNmNTVkMWFmYjI1OWIwOWUxNDAzNGY3MTU2NSBsZWdhY3ktdHJ1bmsKKzU3ODEgNThhNjczMjJjODk2MGNkMzM5NWE1NWQyMTk0OWQyM2NjODA1ZjFjNyBsZWdhY3ktdHJ1bmsKKzU3ODIgNDRmNDhhYWNhOGJmZjQ1OWJjMjJmMzRiODQ4MzY1ODhjYjU3M2UwMSBsZWdhY3ktdHJ1bmsKKzU3ODMgZTVkMWYyNDJkYWY5YzE2MDUxZGY0Mzc1MGI4N2MyNGFiM2E2ZDY4ZiBsZWdhY3ktdHJ1bmsKKzU3ODQgZTRmNTdkZDNkMjQ2NTM5NTgzNGI0ZmI5Y2E0NzdkYjJkODI3ZWExZSBsZWdhY3ktdHJ1bmsKKzU3ODUgOGI4ZDYwZmJlM2JmOTViZTMyNDgzYWNmNDAzN2UxZjZlOGM1NjEzZCBsZWdhY3ktdHJ1bmsKKzU3ODYgMzJiNGU4YWRlYmViODRmNzZjZmY0NDE0ODFjOTkyZDRjOWNlNDMyMiBsZWdhY3ktdHJ1bmsKKzU3ODcgNGU2ZDBiMjZlZmFmMzJlYjc3N2I4NWE4MDc0MWEyZjIwZTM2ZDI3YSBsZWdhY3ktdHJ1bmsKKzU3ODggOGRkZGE2NmRiZjJjODkyNmY5ZTQxODkzZWE3MDY3ZTA0YTMzYjYyNiBsZWdhY3ktdHJ1bmsKKzU3ODkgNTk2MzQ3ZGI2YTY4Zjc5NzY2YjM2MDQ4ODc2NjBiNTBjNWU0ZjYzMSBsZWdhY3ktdHJ1bmsKKzU3OTAgNjA5OGFhYThhZTdmYmNkOTI2MjhhNTk4Yjk4NDU2NDZkMzgxNjliMSBsZWdhY3ktdHJ1bmsKKzU3OTEgMzY5MjBiYmQ4MWE4MzQ0MTk0M2Y5ZTA5ZmFjZjJmNGZlMzQwYjU3MCBsZWdhY3ktdHJ1bmsKKzU3OTIgODk1MTQ0MjZiOWI4ZTRhMjA4NTM5N2I5MjAyYTE2MjQ0ZDE5ZDQ0MSBsZWdhY3ktdHJ1bmsKKzU3OTMgMWVhYjg0OTU0NjJmYjQwMmI5MTQwMjE0OGU3ODk0ZTVlZTYzMmUzNiBsZWdhY3ktdHJ1bmsKKzU3OTQgNDlmN2E0YTFmMGY2Y2U3N2M1YWZiZTgwOTc3N2NlY2YzOWUyYThjMyBsZWdhY3ktdHJ1bmsKKzU3OTUgNGM2NTUxMTVkZmNlN2RmZTQxYThiZGFmMjhhMGZhNGQ4ZDdkNDZkNiBsZWdhY3ktdHJ1bmsKKzU3OTYgNjdkMzQ3YzMyZmZmYjhjOTYzNjE1Zjc5ZDUxNDkxOTNlYzY4ODE0ZSBsZWdhY3ktdHJ1bmsKKzU3OTcgOWYxYjZlMmRiOGUwMTJjMzc4MjNhNDU1YjljZmUyZDBhMmQ1ODJiZSBsZWdhY3ktdHJ1bmsKKzU3OTggMGRhMjRmMWMzZGRlNmRhNGZkYzdjZDMzNzE5N2RkNzBjZjZiZWM1OCBsZWdhY3ktdHJ1bmsKKzU3OTkgOTU2NDNjMGIwYzBlYjA4MmIxNmU5Y2VhNTYzNGJmNmZiZWI4OTA4YiBsZWdhY3ktdHJ1bmsKKzU4MDAgNGI1YmZmOTU4MDRlNzJiNzc5Y2FhNGVhYTRmNTcwMWQzYmUyZGRhZCBsZWdhY3ktdHJ1bmsKKzU4MDEgOTY5YmQ5MTFlMTE0ZmNmMzJlYTRkMzllM2M1N2U5ODJiMzQxNGY2ZSBsZWdhY3ktdHJ1bmsKKzU4MDIgOWJkMWU0MWQ2YjExNmE1NWFkNzNkNThmZTk2M2VhODBjMWFlOWE2OSBsZWdhY3ktdHJ1bmsKKzU4MDMgMjQ5N2M0M2Y0OTgzZGJjYzU2ZjcyYjE3NTM5MjFkYmFjNjdhYzMzNSBsZWdhY3ktdHJ1bmsKKzU4MDQgMjAxZGU4NDU1YzJiYzlkMWEyNzI2ZDRlMmZlYjE0ZDE1ZDM4YjNmNCBsZWdhY3ktdHJ1bmsKKzU4MDUgMmRiNTg1ZWEyMThiZmRhY2M4MjI3MDA3NGI2NGJhM2M5ZjRiZTBlNSBsZWdhY3ktdHJ1bmsKKzU4MDYgMTZjYjA0NzMyMjRjZDUxN2EzYjZjOWZmNTVmZTM3YTcxZmNiOTIyYiBsZWdhY3ktdHJ1bmsKKzU4MDcgOTFjM2U5ODIxZDBhMGQ5NDFkNDc5NTNlNDVhMDNmN2ZlZjdmNDI3NiBsZWdhY3ktdHJ1bmsKKzU4MDggMzY0MTYxNDAxMDVhMjk0M2JkNDBhNTJlYWFjZTU3NjQ3NjdmNTgwMSBsZWdhY3ktdHJ1bmsKKzU4MDkgMDA0NTM2MTNjZDRjNzc0OTJjNGE5MmFjOWZjODEwNjMwMmU3YmU0ZSBsZWdhY3ktdHJ1bmsKKzU4MTAgMDEyMzc2ZDNhYTE0N2IwMmQyNjNlMDU4Mjg2NDhhNmYxNGYyZDJhMyBsZWdhY3ktdHJ1bmsKKzU4MTEgM2I0ODQ4MTJhY2Y2ZTJlMTk3ZmZkODBlMjNmNjYzNWNiZjc5NGMwMiBsZWdhY3ktdHJ1bmsKKzU4MTIgMTcwOWQ1ZmVkNTI4ZTZhZWIxZWQ1MjAwNGRhMjM0M2ZmOTc3MDE5ZCBsZWdhY3ktdHJ1bmsKKzU4MTMgNTY4OTc3NjBlOTU4NzI1NzRlNjEyYWI4NDJjZjVjZDZkMzliNjdlNCBsZWdhY3ktdHJ1bmsKKzU4MTQgZmFhMjFjZTFmZjAxZGM3OTNhZDdhNzI5NTI1YTA2ODNhMjMyZWU1NSBsZWdhY3ktdHJ1bmsKKzU4MTUgZWZkZGUxZDc0MjRiOTA0NmFlOGY4ODNhMTRkZThiYzhlMDM0ZTE3OSBsZWdhY3ktdHJ1bmsKKzU4MTYgODIwOTk5OGQ2NjllMTZhMDhmY2E0OWNiZTdhYTI4OWYxNDZkODA0YSBsZWdhY3ktdHJ1bmsKKzU4MTcgMmJlMGJkZTNhMDcxOGUwMzc0ODA4OTg5ODY5NTM0OTJmODE4MGNkYiBsZWdhY3ktdHJ1bmsKKzU4MTggYWUwMDRhNDUwNTBmZGE0NDcyN2RiZDczOGJlNjAzNTMwYzQ5MjZkOCBsZWdhY3ktdHJ1bmsKKzU4MTkgODFmNDVmNjkzODhlMmRlN2JlNGYyNTVlY2I2ZDg3MThiZDUzYWQwYSBsZWdhY3ktdHJ1bmsKKzU4MjAgZjZhODQwZTgzZDJhNTJiOGY0OGZjNjBlOGU1MTg4OWI3NTIyOWU4NiBsZWdhY3ktdHJ1bmsKKzU4MjEgMGIwMjFjZjQxZGRhYzBiYjBjMmFhMGI3NTRlOGNjYmJjMTllNTVkYSBsZWdhY3ktdHJ1bmsKKzU4MjIgZGRiNDUxMGVlYjQ2ODM1MWZiOGQwZjY4NmRkYWYxOTMzZmY2ODU2MiBsZWdhY3ktdHJ1bmsKKzU4MjMgNmQ3NjJhMmY5YjY5ZDY4MDMzNTQ2M2Q2ODE0MDYxYjEyYWYyZDIwZCBsZWdhY3ktdHJ1bmsKKzU4MjQgMWExN2JhNTBiZDY4MTkxNzcyNjU0M2RhODgzODNhZjcxZTgwNTNmZSBsZWdhY3ktdHJ1bmsKKzU4MjUgMjFkODk2OTgzMjljNmIyYjJmZTdlZDg2OTQ1MDYzNTFmMTViNWYxYSBsZWdhY3ktdHJ1bmsKKzU4MjYgMDg5ODU0MzE1MDBiNzE2ZWQzMDA5OTI5YjhiOTg3YTdhNDgwYzEzNSBsZWdhY3ktdHJ1bmsKKzU4MjcgZTBlZjAwOWIyNzAyMjNmMjI3MjU2MGRlMTA4MzNmMWE4MDEyNGFiZCBsZWdhY3ktdHJ1bmsKKzU4MjggZTI4MTI0YmI3ZmFiMzE4YjFmZmY4ZGY1ODNlNDA0NzI1MDg1MDg5MSBsZWdhY3ktdHJ1bmsKKzU4MjkgNmNhOTc4N2NkM2FhYTBmNTZhM2U1YWVmZDlhYTc1ZjY1N2U2MTBhNSBsZWdhY3ktdHJ1bmsKKzU4MzAgMzY5YjMwZjc4ZDYzZmNlNWE3MGYwMjI2NTVmMGNmZGU1MzlhNWI5YSBsZWdhY3ktdHJ1bmsKKzU4MzEgYmMxN2U4MzEzZWEwNmJiNGIxNGU0Yjc2NTY3YTNjZjIyYjU3ODQzNSBsZWdhY3ktdHJ1bmsKKzU4MzIgZjhmZjI4MzI5OTcxNjJkNWZjMmU5NjZiNjVhYjExOGU4YWE1NmMzMiBsZWdhY3ktdHJ1bmsKKzU4MzMgYzI1ODY1ODg0NjQ5NThkNDg0ZTZmNDAzYTIwMzc2MzYyNGFiODQyYyBsZWdhY3ktdHJ1bmsKKzU4MzQgNGUxYWQyNDQxMGE3MTE2ZmNmNGI3OTQxNjFlOTNiODA5NGVkODNlNCBsZWdhY3ktdHJ1bmsKKzU4MzUgYWYxYzJmMzZkYzM0ODY5ZTUwY2ExOWQ0ZGNmNDY1MjczYThjMTllYiBsZWdhY3ktdHJ1bmsKKzU4MzYgM2NmMmQ4YTJkNzRiMTNkNzc1ZDVjMGQ2MTczYjFlN2IyNWQwOTk3YyBsZWdhY3ktdHJ1bmsKKzU4MzcgMDUwODRlZTU0ZTU0OGUyY2I4NDQ3N2M3ZjJmMTRkYmZkZjFiOWI5NCBsZWdhY3ktdHJ1bmsKKzU4MzggNmIwYWY3OGE5MGU1ZjExMTg3MjNhOThjZjc3YTM1ZDM2ZmQ1MjBiMiBsZWdhY3ktdHJ1bmsKKzU4MzkgMzU5MDhlMzc1ZDFhNmY5OWZhMjIxOTg1Y2IxNmQzODlmNWY5MDk4NyBsZWdhY3ktdHJ1bmsKKzU4NDAgZmUxOThkZWUwNjQwODYyN2U3M2M2NmY3MmIxMzk5Mjk1ZmU3ZDQwOSBsZWdhY3ktdHJ1bmsKKzU4NDEgMGM4ODIxYmY2ZGI1NjZhYmQ3MzE0OWQ4MGFlOTJjMjM0ZTVjYjA1MCBsZWdhY3ktdHJ1bmsKKzU4NDIgMjhmNDFlYzdjNWNjNDIzNTU5ZjVhZjViNDc4YTUyZGEyNTUzMDNkYyBsZWdhY3ktdHJ1bmsKKzU4NDMgZTA4NjJmMDVlMTg1MDc3ZWFmMDMxNDQ1NGEyNzE0M2YyZGZiMGEwMiBsZWdhY3ktdHJ1bmsKKzU4NDQgODI3MzM4Njk5MDk0NDRkNDllYTY3ZDA5ZjI1ZTgzYTZmODZjM2FiYSBsZWdhY3ktdHJ1bmsKKzU4NDUgNmEzZmZjMWRiYjk1ZDg5NzE3MDIzMWFjM2FlNDU2NWQxNWQ4MDBlYSBsZWdhY3ktdHJ1bmsKKzU4NDYgMDQ2ODg4ZGExZjQ0YTZmNTExM2NkZjJhNWU5ODViNGI4OWY4ODQ2OCBsZWdhY3ktdHJ1bmsKKzU4NDcgMmVlMWY5MjNjYjE5MzIxNmNjMmVkMTAyNjRiZTM5ZGM5M2QyYjFmOSBsZWdhY3ktdHJ1bmsKKzU4NDggYjdiMmMxM2I1ZTMzMjg2MGNmYmExYmM2ZGRmZWJiYjEzOWVhNWZlNCBsZWdhY3ktdHJ1bmsKKzU4NDkgYTQ0MjM1ZTk5NGYzN2Y0OTdjN2I2YjIyZDE1Mzk5M2RiMTM5MjE4NSBsZWdhY3ktdHJ1bmsKKzU4NTAgOTJmMTFhZWZiNWNhMzVmNDQxZGNiMzhhOTU1MGUwYzlkMTYyYTg1ZSBsZWdhY3ktdHJ1bmsKKzU4NTEgYzcxYTdhNGY1ZjhlYTU4MjVhMDc4YWNiM2RmNWYwNzBiZGFmZDhkNiBsZWdhY3ktdHJ1bmsKKzU4NTIgZDU1MzJhNzFiNDU0YjZjMzI0OWU4MWVhMjAwMjNmMTA5NTcxMjc1OCBsZWdhY3ktdHJ1bmsKKzU4NTMgNmY1ZmViM2I0ODI5Zjk4YzA3ZDRhNTcyMjc5NWUzOTk2ZDAzMDRlOSBsZWdhY3ktdHJ1bmsKKzU4NTQgOWZhMjIyOGJiMDk2MjBlYmQzZGQ4MjA2ZDhiNGJhZjhhZjE4YWY3YSBsZWdhY3ktdHJ1bmsKKzU4NTUgMTY5NmZiZjMwMmI2M2ZkMWQ2MWI3MjRjOTU1MDNiYjBkNTQ1NDVmZiBsZWdhY3ktdHJ1bmsKKzU4NTYgZDE1ZDI5YmJjMWNlMTFmY2RjOGY1NTZiYTAzNWJhNTNhZjA5N2FjMSBsZWdhY3ktdHJ1bmsKKzU4NTcgODMyZjI2ZDBlMDY5ZjZkNTllY2NmMzA1YzllYmFmMTI4M2ZlNjk1MyBsZWdhY3ktdHJ1bmsKKzU4NTggMWMwMGQyODQ2ZTg0OWY2OTYyNWNjNmI3MjI3OWFjMDUzYWUzOTRiNCBsZWdhY3ktdHJ1bmsKKzU4NTkgYWRhMjIyNTg1MzY2ZTZmNTkzNGE5OWMyM2E3NmQ0ZGNiYjE0Y2I4MSBsZWdhY3ktdHJ1bmsKKzU4NjAgZDlhNzk5NzdiMzhkNDM5ZWEzZjEzOTQ5NWI1ZDI3YThiZjhiMzhhOSBsZWdhY3ktdHJ1bmsKKzU4NjEgNGZlYTZjZDk0ZGZhNGQ1OTIyM2RlYjVmOGRmZTAxMjU0ODkxZWE0YiBsZWdhY3ktdHJ1bmsKKzU4NjIgZjU5ODYyMzA1MGEzOThjYTNiMjI4MmNkYTBiMjkyM2EyMjNlMTc4YiBsZWdhY3ktdHJ1bmsKKzU4NjMgNTQ2NGZiMmQxMjllNTA4MTkyMTk5OGIxODkzZjUxYzMxN2NhMTg4ZSBsZWdhY3ktdHJ1bmsKKzU4NjQgNWQ3YTE1ZGY3MTU1NTI1Njk2ZWZmYzMwM2JhYTk0ZDc1NTU2N2RjOCBsZWdhY3ktdHJ1bmsKKzU4NjUgNDA5YTg5YzVmNjZkNTJiMjJiNGU3ZjcxYTkwOWY5ZGY4MmRjMGY5YyBsZWdhY3ktdHJ1bmsKKzU4NjYgMDI0MzVmZDk1Mjc3YzYyZDJiZjRkNzI5YTNiNTU3NmQ5ZGY2MWU0YyBsZWdhY3ktdHJ1bmsKKzU4NjggMTE2ZGI3MzQ3ZDAxYzRjNmU1ZWUyMWU0YzI5YTUzZGM5ZmNiYzRmYiBsZWdhY3ktdHJ1bmsKKzU4NjkgMWRmOGY1YThiMjE2ZDExMTU1N2VkZjgwYmRlODZlYTE4YmQ4ODg0NyBsZWdhY3ktdHJ1bmsKKzU4NzAgNTJkY2U0Y2RjOTMwZTAxYThlMjg5N2VhYzk2OGZiYzQ1OWM3MjcyZiBsZWdhY3ktdHJ1bmsKKzU4NzEgYmE4M2RkNDU4NTMzMTE4NTUxYTlmM2YyYzQ0ODQ1NGMzNmQ0NzY1MSBsZWdhY3ktdHJ1bmsKKzU4NzIgZTk5NGU2N2JjYjk1MDAxZGZkOWU0ODU5Yjc4YTI2OGYxMjQwMWUwMiBsZWdhY3ktdHJ1bmsKKzU4NzMgYzI4MzQ0N2I5ODVmNTJlYTQ3ZWIwMDQxZTk0NzM5OTkwZTQxMmY1MiBsZWdhY3ktdHJ1bmsKKzU4NzQgODEwZTY5MGFhNjAyYjAzMjQ2NzFkNWIxZWMyZjkyZTk1ODU3NDFiYiBsZWdhY3ktdHJ1bmsKKzU4NzUgZjI2MTRhYzczNWQwYzI2YzYxYThkNzg4ZmYzZjc4ZDkwNmNjYmNmMSBsZWdhY3ktdHJ1bmsKKzU4NzYgMzk3ZTZkNTNhN2FkZTU4YmI4YzkwZmFiM2I2Y2ZhZjJhYmQzOGJjMSBsZWdhY3ktdHJ1bmsKKzU4NzcgMjc0MDZjMzZlOGJkNDQ5ZTc4OGRiNzUxMzAxMTQ1NDc4Y2E3ZTgyYiBsZWdhY3ktdHJ1bmsKKzU4NzggMDIyNDc0YWMyNDUxZTQ5MDA2ZmZlMDU1YmQzZTQ1YmRjNGIzMGIyZSBsZWdhY3ktdHJ1bmsKKzU4NzkgMTQ5OTFjNDMzMWRmMDg0ZGIxNDRiZmVkYzU5NDIyYzUxYTlhM2IzNyBsZWdhY3ktdHJ1bmsKKzU4ODAgZjZiZGRhMzcwY2I3NGIwZmQyM2U2NzVkNzYyYTZjN2RkMzc5ZjAzYiBsZWdhY3ktdHJ1bmsKKzU4ODEgMmZlN2Q0ODk2NTRlOGFkNWM1NzMxYzAwYzVjMGZkYTE5NGVlNjA5NiBsZWdhY3ktdHJ1bmsKKzU4ODIgMDk4Y2JkNmQxOTZlNGY3ZmRjOWZhODgxYmZiNTY3YTQxMzc5NWM3MiBsZWdhY3ktdHJ1bmsKKzU4ODMgZjZhNmE2OTkyN2ZmZWYyMTUzZjIwZWY2MmRlZmNhYWI1ZTQ4YTc5ZCBsZWdhY3ktdHJ1bmsKKzU4ODQgYjZjMGE0MWU0YTQ2NTgwYzJkMDMzZjY5NDMyZWFjOTE1MjFmMDYxMSBsZWdhY3ktdHJ1bmsKKzU4ODUgZTFkZjkwMjA1YTMzMzkzNmQ5NjY5MWViNzQ0NDQ2YjA0M2JiODg2MSBsZWdhY3ktdHJ1bmsKKzU4ODYgMGFjNWZiYWY4YWVmOGJhYWNmNDkxNmUzNjNlMjQ1Mzg0MWI5ZDQyNSBsZWdhY3ktdHJ1bmsKKzU4ODcgZTA0NWY5MTMyYjA3YmNiZGFlOTAzNmM5YWZlNGE5MGM0OTU5NGQ3MCBsZWdhY3ktdHJ1bmsKKzU4ODggMDEzYmJlNGVmOTQzN2FjNTgwOTBlMDExMzMxZDVmMWRiMTljNTg1OCBsZWdhY3ktdHJ1bmsKKzU4ODkgOTBiNTQzMTI2NjFhMzUwMzRlNzY0ZDE4MzY1NGZiZjUxMmRjZDVkMiBsZWdhY3ktdHJ1bmsKKzU4OTAgNjdmNWQyOWQ0MDViMmE5MGY3MDE3ZjJmYTVkZDRjNjI4ZGU0ZGE4YSBsZWdhY3ktdHJ1bmsKKzU4OTEgMDJjOWRhMjBiNDFlNjkzNjZlZTJjYmI2NDZhNjYwNWNjZjRiOGQ1MyBsZWdhY3ktdHJ1bmsKKzU4OTIgMjRiZWUzNzgzYjM1ZjNmNGM5MGZlMDYzMzRiNjFkMjQxZTMzMDI0YyBsZWdhY3ktdHJ1bmsKKzU4OTMgMjMyNTRkYWEyNDdiODc1MzIyYzgyYzEwNmRkMmMzOWI4MGFkZWJmNCBsZWdhY3ktdHJ1bmsKKzU4OTUgNjQwMmJlMjY4OWM1NzlkMmRjYmJlYWMyNGFjZGU0NzlkNWNiMzViNSBsZWdhY3ktdHJ1bmsKKzU4OTYgYWY1ZmY1MjMxZDRhMWQ0YWJmNzBiNGZhNTEwZjZlNjA1ZWFhNmFjNCBsZWdhY3ktdHJ1bmsKKzU4OTcgYmE5ODMxNDA3MThhYTQ3Y2U4MGE4NGI0MTZiMTExZmEyYzI1ZGIzNyBsZWdhY3ktdHJ1bmsKKzU4OTggZGE4NmIzYjU0MzYzY2NkNDNkOTBlYThmZGI5NDBmNDg2NWM0OTJiMCBsZWdhY3ktdHJ1bmsKKzU4OTkgNTc4NDY2OGQwNTc2YmYxMmNhOTM3MzAzYmNlMjI5OTVkNjYyYjg0OSBsZWdhY3ktdHJ1bmsKKzU5MDAgMjZiZWM5ZTIyZTVkMGY1NjU0MWZkNjkxOTJjMjM3MzJkMDcwOGRmMSBsZWdhY3ktdHJ1bmsKKzU5MDEgNmFiYzc1ZWM2ZDI5ODI1MGM2MDcxZDFlYWM2Zjc0M2JlZDI4MTRiNyBsZWdhY3ktdHJ1bmsKKzU5MDIgNTc4Y2EzMDJhNTk4YzM2NmY4MDA0M2VmYmNjMmZjMjQ1ZmJkMWYzZCBsZWdhY3ktdHJ1bmsKKzU5MDMgNTI5ZjRkOWNiZTNkOGU3MjEzZWRkM2FkZDQ4YWY0N2NmMWUyNGMyZiBsZWdhY3ktdHJ1bmsKKzU5MDQgZjcyMDUwZGQ2MWE5YzNmN2NkZDliNTFlMGZmNGE0ZGYzNmJiOTA2ZCBsZWdhY3ktdHJ1bmsKKzU5MDUgZGI5ZjZlZGU1OGE3NjZjMDliZmQxODc1NTg0YjFkY2JkYzI5NzVlMSBsZWdhY3ktdHJ1bmsKKzU5MDYgZDcwMTQ5MjAyYzkzZGM2MzJlNDE5NGVkYzc4Y2FhNjY0ZjZlNzEzMyBsZWdhY3ktdHJ1bmsKKzU5MDcgZDBkMWEyMWQ0OGIwYWQzY2Y3Y2ZiODE1OTA1MGM2ZWMwMGJmYjcxNCBsZWdhY3ktdHJ1bmsKKzU5MDggMWFmMWFkY2E4MjQyNzQ4YTdjYWI1ODEzNGQzOTgwNGM3ZWZiZDRiMyBsZWdhY3ktdHJ1bmsKKzU5MDkgM2JkZTRiNTlhNWQyZTBjYmJmMzYyZWY3N2Q4N2U0OThlZWY1OTA4MCBsZWdhY3ktdHJ1bmsKKzU5MTAgNTU4MDhmNjAwOWNkZDAyMzc1ZTNiMTM5ZjBiZGM0ZDY1OGIwMDUxMSBsZWdhY3ktdHJ1bmsKKzU5MTEgMDY2YThhZTRkNDA2M2FiOTk5OGE3ZjI3MWI2MjAwYzUyMGZmMGQ4ZiBsZWdhY3ktdHJ1bmsKKzU5MTIgMWZmMTI4MDRmZjJhNzQ1ZWE5YmYxZDlhY2U1MWYzNmNlM2Q5MjM4MyBsZWdhY3ktdHJ1bmsKKzU5MTMgZTc2Y2EzNGQ0OGYzZWVmMzE1NTI5MDZiMTI4MmM3MTFlYWU3MzIxMSBsZWdhY3ktdHJ1bmsKKzU5MTQgMDc5NzdiZjBkOTk3MGI3YzFiOWQyNmJiMmUxZWEwZWU4NDg5Nzc1OSBsZWdhY3ktdHJ1bmsKKzU5MTUgNjIzYmE5YmRlYjIyMTUxYzkwZDQ1NmJkMTNmOWJiNjI0MzRjMzkxYiBsZWdhY3ktdHJ1bmsKKzU5MTYgZGI3NmZkMzkwZjc0OWExZmQwNTU4MmRiMDk4YmIzNDM3MmFmYTE2OCBsZWdhY3ktdHJ1bmsKKzU5MTcgZjkxZjYxOThiMjc2OGY2YTUwZGE2ZTdhMjBjMzQ3ODY2Y2Y2N2Q2YiBsZWdhY3ktdHJ1bmsKKzU5MTggYzNlNTFlYjFjMTRmZGZiY2Y5M2IxYmFhMTBmYzA0ODBlYmQyYmU4NiBsZWdhY3ktdHJ1bmsKKzU5MTkgNzEzYmQ4Mzc3MzgyMGZiZWEzZDdhYjYxM2YwZGI2MzdjYmQ4N2YzMSBsZWdhY3ktdHJ1bmsKKzU5MjAgNWFiYmM5YjVmZGYwYjI3YWEyZjIxYjQ3ZTIxNjhkMWRhY2UxZjkxZSBsZWdhY3ktdHJ1bmsKKzU5MjEgZWM4NDk0OWY4MWVlZGY5M2ExMjQ3MzMxYTNmOGZlNzNmNzcyZWIxMCBsZWdhY3ktdHJ1bmsKKzU5MjIgYTdjMjczNzY4N2MyMTJlNTVmYWU2MWQ2N2JjZTgwYzYzZThmOWM2YiBsZWdhY3ktdHJ1bmsKKzU5MjMgZTY0NmFmYzUwYWM3M2E5YTNjZmM4NzQ0ZDM1NmEyNzZhNTcxNDE5OSBsZWdhY3ktdHJ1bmsKKzU5MjQgMTQ0NGEzNTI0ZWRlMDliMDQwN2EwOWFiYmIyYzBiNTBhNjk5MmE5YSBsZWdhY3ktdHJ1bmsKKzU5MjUgZGNjNTk0OTM0OTlhZTcwYmQyZGEwYzYwZGQxNTc0MDJmNzlkZTEwMiBsZWdhY3ktdHJ1bmsKKzU5MjYgYTcxZDJmZDkwZmE4N2I4NGY5YjE0Y2E1M2MzMDYxYTAxZDMxODI1MSBsZWdhY3ktdHJ1bmsKKzU5MjcgNDA4ZGZjNzE4OTUxOGYxZDRmYTk2MDAzODcwZDhkNzU4NGQ0ODdjNiBsZWdhY3ktdHJ1bmsKKzU5MjggNzA1MjJkYjExMDE5YThjYjdjMjFiODE2MWNhZTRhN2U2ZGU2MGUxZCBsZWdhY3ktdHJ1bmsKKzU5MjkgOTdiMGU5NjI1ZWIxZDVmODBlYmI2ZjcwNGZiNTY1MThhMjY2Y2JjZCBsZWdhY3ktdHJ1bmsKKzU5MzAgODAzZmJjZGNmYzlmODdmNzQ3Y2Q0MGZmMTM4OTMxZGQ0N2VmZjNkZCBsZWdhY3ktdHJ1bmsKKzU5MzEgOGIzZjJhODYyMGY1NGZiOGI0NTRjYTVlOGRhNWFmNDdiOWJmNzExOCBsZWdhY3ktdHJ1bmsKKzU5MzIgZDE5NjhhN2NjNjIwYzE2MTAxY2Y2Y2FkMTYzZmUxZWIwMTA1MzgzOCBsZWdhY3ktdHJ1bmsKKzU5MzMgOGRkMDE4OGU1MmE3YzhjNTliOGNmZTAzMjVjMWIyMWY4OGU4MjUxNiBsZWdhY3ktdHJ1bmsKKzU5MzQgZjBiYWFkYmZjYWJkYjUyZGNiNmYyMGNhYmIxMDk3Nzg0ZDBkZmJhNCBsZWdhY3ktdHJ1bmsKKzU5MzUgMTQyNWZjNjQ5MWViYmZjZDliMmZiYzQ3MjU5ZGM3NDA3ZjcwMzUyMiBsZWdhY3ktdHJ1bmsKKzU5MzYgNDUwZjRkNDZkOWRiZjAxMzZlOThjNzNlMjhlYmFlMjQ3OGFlM2VhOSBsZWdhY3ktdHJ1bmsKKzU5MzcgNjIwYWIzZGIwNzkzNGM0MTgxYmUyZTdkYjliNTU5NzRkZDViYmViYiBsZWdhY3ktdHJ1bmsKKzU5MzggZTkwNDMyMjM5MzVhZDM0Y2NjZjkxNGQ0YTBiMGM5MWZlM2Y1OTVmMCBsZWdhY3ktdHJ1bmsKKzU5MzkgYjM4ZmRiMDA4ZjFkYzMxYTk1OGRiYzA0MTcwMDk4OTdhNjk2NjZiZiBsZWdhY3ktdHJ1bmsKKzU5NDAgYWE4YWRmZGQzYWExZTFlOWFlNWIyY2UyYzI1MjhiZGQ3MTI2ZTBkNCBsZWdhY3ktdHJ1bmsKKzU5NDEgNTBhYTE2ZjgwOWQ3NjAwMzJjMDQxZmQ1ZDQ2NDE3YmU2MzY4M2EzYyBsZWdhY3ktdHJ1bmsKKzU5NDIgYTI5MmI3NTgzYzAxNWEyODJhMWVmOTY2MmM3YWY3ZDBjODQzYWE1MSBsZWdhY3ktdHJ1bmsKKzU5NDMgMTEyOTllOTVjYWU4NDBkNzAxM2IwMzYwYWMxOTJmY2M5NjdlZmExMiBsZWdhY3ktdHJ1bmsKKzU5NDQgMDczNTUwZTMxMjczMDc0N2Y1NjM0MjE0MTUzMmI5MGM3OTBmYzhlYSBsZWdhY3ktdHJ1bmsKKzU5NDUgMzVjNGE0OGQ5ZGExNjk0YzUwZTZmODgzYTUwOTM3ZTZjMTYxMjM2MyBsZWdhY3ktdHJ1bmsKKzU5NDYgYTRmMDFkNDNkYWQ2OTkwMTVkMTYwNmE0YmE1YjczOGVkMzAzMDhkYSBsZWdhY3ktdHJ1bmsKKzU5NDcgODljYWZmZDJjMDYxNDg4MzVjMjhkNDY0NmU5YzYzM2NiNjg3MzczYSBsZWdhY3ktdHJ1bmsKKzU5NDggYWVjOGJiY2Y4YjBlNWYwMmFmODI3ZGM0OTNkZWRiNDBjM2VmNjFmNCBsZWdhY3ktdHJ1bmsKKzU5NDkgODI3ZjExYWQ2NWRmNjNkZDg3ZDlkYTlmYmEyNDRiNTEzZDk3YzE2ZSBsZWdhY3ktdHJ1bmsKKzU5NTAgZTI5MGZhZWI5MmM4NWY3ODNiNDMyM2QwN2NhYWNkOGZkOTY5MWZkNSBsZWdhY3ktdHJ1bmsKKzU5NTEgMDBjYTkwMGM3NzQyYzVlMDczNDI3NjQwYmIzMzVmZGVlMDY2ZWQ1ZCBsZWdhY3ktdHJ1bmsKKzU5NTIgZmVkOTNkMmQ4OGZjNDZmOWNiN2U2MDVlNTQzMmZhOGNjMmI4ODlmNCBsZWdhY3ktdHJ1bmsKKzU5NTMgY2UyN2UwMzI4NDYyZWQ5NmYzOTBjMjg2ZjIyMjQ1YjE5NzNjMTI5YyBsZWdhY3ktdHJ1bmsKKzU5NTQgNjFmMTlhN2IxZmYxMDZjNjdlOTUzMjk2MjEwNWU4NWY0OWRjM2VhNiBsZWdhY3ktdHJ1bmsKKzU5NTUgMDJhMjNlNmU0MTRhZmZlOTQ3OWE4ZGVmYzU4MTc4ZjJkOTQ2NjUzZCBsZWdhY3ktdHJ1bmsKKzU5NTYgODM1NTcxNTNmNTQ0NzQwMTMzM2VjNWQxYmNiZjAyYjM3YWFhNDFhZCBsZWdhY3ktdHJ1bmsKKzU5NTcgMmMxNzhiZjcwZjdlZjM5YzE3NDRhZjRiYTg0MzE4YzZlOThkYTZkOCBsZWdhY3ktdHJ1bmsKKzU5NTggM2I2ZWJmOGQyYTU5ZTY2OTBjOTI2YWRkNDY0Y2E5OWJhYjg5NmY3MiBsZWdhY3ktdHJ1bmsKKzU5NTkgMWRmYzUxOWVhM2NiZTQ1ZmQ3ZjAwNGMzY2QxYjYzODU4YTFkNGY2YiBsZWdhY3ktdHJ1bmsKKzU5NjAgMTZhNWY2MDQ4NDYxZjgzOWNjZTM2OTg0OThmOTJkODZiMDI1MWU3MiBsZWdhY3ktdHJ1bmsKKzU5NjEgMDgxMzBmMDBjMThkYjUwM2Y0ZTM5NWNhMmU1NWQxYzc3OTExOWE5OSBsZWdhY3ktdHJ1bmsKKzU5NjIgMDNjNmMxODMyNWVhY2E5NjJjMzE4NTc1NjQyMWM2N2VlOTM3MmY0OCBsZWdhY3ktdHJ1bmsKKzU5NjMgMTQyY2JhYmRkOTQ1NTZhMzNiNTRmZTBlYTI0NzQ4YTA3YTJlM2IzNCBsZWdhY3ktdHJ1bmsKKzU5NjQgZjcwZGJlNjA4ZjAzMWY3YmFkOGExZWVjMjAxZjE1OGY4MmE0ZTFlYyBsZWdhY3ktdHJ1bmsKKzU5NjUgOGQ0M2I4MzAzNDFiYjU2YWVmMWFmYjNmMDZiYjVmZjVhMTMzZmE5NiBsZWdhY3ktdHJ1bmsKKzU5NjYgZDYyNDZhZWI0YTNmMjc0MmUyY2I1YzI1NjQ3MDczY2ZjMDJkOGYxYyBsZWdhY3ktdHJ1bmsKKzU5NjcgY2RlYTNmMjdjZjdjNzBiODIwOTRlNjY1MmM2YzFiNTJlY2VmOTIwOSBsZWdhY3ktdHJ1bmsKKzU5NjggNWYyNTA0MGZkNjNlNmY0MGQxZTY3YzZiNmQ3NDcxNTJhMjA0YjdkZSBsZWdhY3ktdHJ1bmsKKzU5NjkgZWFlNzBkN2YyZWM3YzhlMGE1ZTExZWM1NzdjZGJmYjkyYTQzOTcyMCBsZWdhY3ktdHJ1bmsKKzU5NzAgZWI1YjhkM2Q4YWNmNDI3YjNiYzNlZmUxNjY1MThhZmYyNWQxN2RiMyBsZWdhY3ktdHJ1bmsKKzU5NzEgNjE4OTRiYTU3MWY1YTgzZjUzYWMyNWIxMDk5YzkzOTUzZTU4OTE5NSBsZWdhY3ktdHJ1bmsKKzU5NzIgODk5YWVmZWE4MDFjOTlhZTM0Yjc3NTZiMDA1ZGY2ZThlODhmNmRkMiBsZWdhY3ktdHJ1bmsKKzU5NzMgZThkNTAxYzg4YTNlM2U5YmRjZDZmZWY4NGYxZDA0ZDY5ODEwY2ZiMyBsZWdhY3ktdHJ1bmsKKzU5NzQgZjZiZDU3ZGJkNTI0ZGVlYjc1OTliNzhiMzZhYjhiMmUxNjY2YWUzZCBsZWdhY3ktdHJ1bmsKKzU5NzUgZDI0ZjhkNzllY2EwNzRjMDIwMzVjZjE4MmVjYmEyZDJhMTA5YWJmMyBsZWdhY3ktdHJ1bmsKKzU5NzYgNDMxZThkMDEwNTQ3YTIzYWM4Zjc4NDZjMmJiZmVjNmViNzY3ZGYzMiBsZWdhY3ktdHJ1bmsKKzU5NzcgNmYzNjNhNDE3NjYxMTcyZmIyNDhiYmRlMDA0ZTdmN2ZmNzI1MTExYSBsZWdhY3ktdHJ1bmsKKzU5NzggNTU4ZGNlNjU1M2Q5MDViYjA2NTAxNjIyOTk2NDAxYjM5NjE5OGJkNyBsZWdhY3ktdHJ1bmsKKzU5NzkgYTFjMGMyYTM4ODgzZmFiZjc5ZjQ2OWE3ODNjOTcwN2JjYzVlNDA4OCBsZWdhY3ktdHJ1bmsKKzU5ODAgYzVkMzBhNTY0M2JlYWVlZGY1ODZlN2U5NWFjM2IwMTVhMmJjOTI5ZCBsZWdhY3ktdHJ1bmsKKzU5ODEgMmEwOTlmYjc2ODIzYjMyZWMzZDlmNjY3OWRkMTg1MzdiZTVhZmY1YyBsZWdhY3ktdHJ1bmsKKzU5ODIgNDM2MWE1ZmZiNjM4MjYwMmRlM2ExY2EwNmJiNGFjNmZiZTZkZWZjZCBsZWdhY3ktdHJ1bmsKKzU5ODMgMDVhZjI5ZThkZjBlNzU2ZjZlOWFiZDY1NGU3OWI5YmJlYzAyNTE5ZCBsZWdhY3ktdHJ1bmsKKzU5ODQgNTY2ZjQ2YjlkNzEyNmM5OTM5OTZkNTU5ZGJlYTQ0ZjZkYzY3YzkwNiBsZWdhY3ktdHJ1bmsKKzU5ODUgNzg3OWYzYjM5NjA2ZWNmYmMzYzU3ZjM1NDQyZjM0OGVmYjYwMmYyZSBsZWdhY3ktdHJ1bmsKKzU5ODYgNTQyYzgwZTYyMTExNGZmMmM5ZjlmMmFjNzk5ZDllOWEwYjM0NWEzZSBsZWdhY3ktdHJ1bmsKKzU5ODcgN2YyMzBkNGYzNjU1ZDY2ZTM1MzQ4ZDkyYWVhNjkwYjk2MTM4ZGU0ZCBsZWdhY3ktdHJ1bmsKKzU5ODggMDVlODUwNTU1ODJjYjRhMzJlZTNlMTg0OTlkMjY4OGYzZTdiNjg0OSBsZWdhY3ktdHJ1bmsKKzU5ODkgMmIyZmM5YTBiNGVjMTY5Njg2MDY1YTI3YTI4M2JlMDJmOTRkZmQxYyBsZWdhY3ktdHJ1bmsKKzU5OTAgZDc4MDFhNzdmY2Q1N2JmMDQ5ZGU3YjQ1MzMyMTU5MzIzMGM3MWQwYiBsZWdhY3ktdHJ1bmsKKzU5OTEgMDE0NWI4YWUyZDVmYjlmZDA4ZjJhMjM2MTlkMGI1MjJhYzIyYWI3ZCBsZWdhY3ktdHJ1bmsKKzU5OTIgOTM5OTQ1MTkyMDAwMzhlZTcyMjNlNjcyNzVjZjFjY2U3MDdlZDdkNSBsZWdhY3ktdHJ1bmsKKzU5OTMgNDNhZjUyM2EwMGNhZmQ3MDY4NjYxYmRiNzAyNWI4YmI3MmRlM2JmOCBsZWdhY3ktdHJ1bmsKKzU5OTQgNzNiYzQxYmU3MDc0ZGUzM2FlNDFmNWExMzY5NDZiMWUxNjk4MDUwOSBsZWdhY3ktdHJ1bmsKKzU5OTUgODU1MmUxN2FkYTY4YTE4ZTg4Yzc0Mzk4ZWY4MDRlMjczMDc0OGUwMyBsZWdhY3ktdHJ1bmsKKzU5OTYgNTEwZGJmYThjNTk5ODdjZmZjYjRkMGU0ODI2YzZlZjM5ZTI3MGYxMiBsZWdhY3ktdHJ1bmsKKzU5OTcgZWI4M2U0YjBjNzMzNzgwNGQxMDA0MWY3YzYyZmIxMmQ2YTQ5NTc4ZCBsZWdhY3ktdHJ1bmsKKzU5OTggNTBlNWI0YzU4OTVmYzUyZjU3YWUzNDMwMzVhNWQzOTAyYTNiMWI1NCBsZWdhY3ktdHJ1bmsKKzU5OTkgMjRmYjlmNGY4OTg0YjQ3ZDFmZDQ0NTU4MjEyNDBiMmFjYWRkOGVmNiBsZWdhY3ktdHJ1bmsKKzYwMDAgMzhlMTQ4MGU3Zjg5ZGJkNjhlNjc3NjMwNTA5MzA2ZTJhYzYzNTk5OCBsZWdhY3ktdHJ1bmsKKzYwMDEgNzI4ZDU3NDVhZTdiODYyY2Q5MjJhODMyNTYxYTMyYjllYTM4OTNjNCBsZWdhY3ktdHJ1bmsKKzYwMDIgZTY3YWRjOGIyZjE2NjcyMjViMWRlN2UxNzIxZDBkOGY4NmMwZWY2NyBsZWdhY3ktdHJ1bmsKKzYwMDMgMjBhMTNmY2RhZTU0ZjkzMDBhZjk0NjM4YzRhNWQyY2Q2NzkwOWM0NyBsZWdhY3ktdHJ1bmsKKzYwMDQgYWM4ZDI0ZjFkZjA4Mjk4YTkwN2NiZDIzMmNkZjU2YWEwMmQzZWYyOSBsZWdhY3ktdHJ1bmsKKzYwMDUgODIzMDcwNzFjNjY1ZTdjNGUxY2Y3MjNiMTljN2NkOWQxYzUyNzgxNSBsZWdhY3ktdHJ1bmsKKzYwMDYgMzViZWM4OGQ5NzM0MmFmMjcxN2NlYjUxMTlkMjlkMWUyZWQ1M2QwZCBsZWdhY3ktdHJ1bmsKKzYwMDcgNmM1NDFjNjNjNDNhMTEyZjQ5YWNmMWI0NDI3OTA4MzA0YWNlYzdlNiBsZWdhY3ktdHJ1bmsKKzYwMDggNWFlYzQ5MTExNzcyNmE3ZmJjNGQyMjkyY2YwNDNlMGQwMDFiYWJkNCBsZWdhY3ktdHJ1bmsKKzYwMDkgMmIxNjZiMjIwYzExM2RhNzk4YzY4OWNjYTEwYWU1MjE1YjQ2OTFmMiBsZWdhY3ktdHJ1bmsKKzYwMTAgNmMyNTgwNDNjZmFhNWE4MzU0ZjA4ZGM1MDFhYWIwMzMzZWE0MzA3NSBsZWdhY3ktdHJ1bmsKKzYwMTEgNWRmMmFjYmEwZmM1MDE5NjJhYTI3YzllN2ZmODJmOTI5YTA2ZWUzOSBsZWdhY3ktdHJ1bmsKKzYwMTIgMjJkN2Y1NGM1NzkyN2UzM2JmODYyYzUyN2NmYTlmZjRmYTI3NjM2YiBsZWdhY3ktdHJ1bmsKKzYwMTMgMmM5MDBkYWU4Nzk5MzViY2JmMDg3YWUzZjY2NzVmMWRiZGE0NDdhNiBsZWdhY3ktdHJ1bmsKKzYwMTQgNmY1MjNiZDBhM2FiZmYyOWE5OWRhNGEzNDI2NjMxMGQzYzY3MmY0MCBsZWdhY3ktdHJ1bmsKKzYwMTUgM2Y3Y2RmMTY2M2Y3YWZmMzQxNzYzNjZhZTA3ZDBjNjFjMzg2NTRmNiBsZWdhY3ktdHJ1bmsKKzYwMTYgOWNhOGFlNzFiYmIwOGQwM2NiNTFlZDRiYmE0MDU4ZWIxNDA2Zjc4MSBsZWdhY3ktdHJ1bmsKKzYwMTcgMDRlZGZjYmI3MTIxMzBhNzNiNTk1OGQyZjY2YWQ0MDk4OWVlYTE5YSBsZWdhY3ktdHJ1bmsKKzYwMTggZjY2MzA2YmMwNjYzZTRkMjdjMTU3NGFlOGJmZGNjZDdjZTgxMmRmNCBsZWdhY3ktdHJ1bmsKKzYwMTkgYTk1YjM1MGE0NGRhZTdhYzc2YzFkNGVmMGQ2YmU2Mjg0NjRhMjE3ZCBsZWdhY3ktdHJ1bmsKKzYwMjAgZThhMmE1ZTRjN2IwNDYwYjg1N2NkZjA5OGYxMzZhM2MyMGE4OWQ2ZSBsZWdhY3ktdHJ1bmsKKzYwMjEgYzdlODA4NTk2ZDE0MWMwMjI1YTczZDM0MzcyYWZmM2YyZjllMDMwMiBsZWdhY3ktdHJ1bmsKKzYwMjIgMWQwMzVlMjExMjA5NjkxOGFkMWMwMTAyYmQxYmFjNzYyNjU4YzNmMCBsZWdhY3ktdHJ1bmsKKzYwMjMgMjQyNzliYWZhODI4NDI5MjcyYmE4Mjk2MDEwYTNjOGY3ZDE5Y2I0ZCBsZWdhY3ktdHJ1bmsKKzYwMjQgMjljMThmYjEzZDhmNDEyZDFjOWUwZTE4NjYxNTQzNmNlOTk5ZjY5NCBsZWdhY3ktdHJ1bmsKKzYwMjUgNTNjNjZkMTlkMTI3YTMzMGZhMjExNmJkNjhhM2YxZTM1YmNhMWJmYiBsZWdhY3ktdHJ1bmsKKzYwMjYgY2VlNGE2ZDg0MTVlYzFiYWYyYTJmOWNiOGI4MTJjNTA4YTA4MTU0NSBsZWdhY3ktdHJ1bmsKKzYwMjcgMDk4Yjg4ZDI2MGQxMmZiMDY2Njc3ZDAxNTc5OGQ1ZmY5Mjc4NDhkZCBsZWdhY3ktdHJ1bmsKKzYwMjggMThhOWM2MjgwNTQzYjUyMjliNzcxZjY2NzU5NGFhMzUxMTJjMTc2NyBsZWdhY3ktdHJ1bmsKKzYwMjkgYjhiMWI2Yjk3NDMzODdjNDdlNDhiMzMyZDAxYWFjYjU3NDJkZjMxMyBsZWdhY3ktdHJ1bmsKKzYwMzAgOTE4OTM4NzFiYTA3NDIzNDY2MzI1MzdmNDk3Y2U2YzY3MTQ4NTQyYyBsZWdhY3ktdHJ1bmsKKzYwMzEgNTIyNzg0MWNmYTFmYjcwNGU5YzFkZjgwZGQ5NTM1MWFhYWY4NWUxYiBsZWdhY3ktdHJ1bmsKKzYwMzIgMzViMzUzNmZiNzYzYjljZjU5YWVlODc3ZjJmMTY0Y2IxMTNjODQzYyBsZWdhY3ktdHJ1bmsKKzYwMzMgOTFjMTA4MjA2OWQ4MTMyMmQ0YjhmZDE0ODJmMDVlOTI1NWYzNTc5MyBsZWdhY3ktdHJ1bmsKKzYwMzQgNGMwYTVjYTMwZjk0YTY3NGRmOTdhY2RhNWM1OTFjYTgzMDFmNmJjYiBsZWdhY3ktdHJ1bmsKKzYwMzUgYWExMTEyZDU2NjY4M2FmZGE3NGNjODQxOTJjOWE4ZmU2MmYyZjk0YSBsZWdhY3ktdHJ1bmsKKzYwMzYgNmY3MTViZmYxN2U0ODIyOTk4Nzk2MjgxN2NmM2YxZTRlYmQ3ZWJhYSBsZWdhY3ktdHJ1bmsKKzYwMzcgNmRlNDRkOTY2MjkyNjU5YWU5NGNhMDFiYmFiM2Y5M2Q4YWNiZjEyOSBsZWdhY3ktdHJ1bmsKKzYwMzggOTIyYzAwMTY1Zjc2MTJmYWQ3NzEwNjRmMTRiMDU3ZTY5ZWJiNDQ1MSBsZWdhY3ktdHJ1bmsKKzYwMzkgOTc3ZmYxYWNlMDcwMWU5OTMxMjU3ODJkOTNlZTUxN2VlY2U3YzYyNyBsZWdhY3ktdHJ1bmsKKzYwNDAgZjZiMjE4Y2VjNmJlZjY0OWNmZWNjNmQ2NzQ3N2NiMjhlNzg3MWY5OCBsZWdhY3ktdHJ1bmsKKzYwNDEgNmJlMzY1YTY3M2IxNGMwM2Y0ZDU4ZWExZTgwZTg2Y2ExZWZlYzBhMiBsZWdhY3ktdHJ1bmsKKzYwNDIgNGM3YmFiNGNkY2E2ZThjYzJlMDk3ZGRhM2ZhY2MzYjBiMzgyZDVhNCBsZWdhY3ktdHJ1bmsKKzYwNDMgMWVjMTU0MjQxNzQ3NTdmMGI1N2U5ODAxYzZjYTdmNmIxN2IwMWVjYSBsZWdhY3ktdHJ1bmsKKzYwNDQgZTJiM2E2OTZkNjljNzU3YzVlMzdiMDcxNjc3Yjk5ZmJkZjNmNGE2ZCBsZWdhY3ktdHJ1bmsKKzYwNDUgNGVjMWNhYzM0MmRkYzdmZTI0NWEyMjNlY2NlN2EzMmFiMTMyYWE1ZCBsZWdhY3ktdHJ1bmsKKzYwNDYgNmVjN2RmMjA2OTdkMDg2NWU4ZTQ0MGU5Y2VhYmYxZmQ3NzU1MGU0ZiBsZWdhY3ktdHJ1bmsKKzYwNDcgMjY0ZDE5NmJjNGM2ZGU4ZmY4OTk2MmVhNjczYjJhOGQ0OGE0NTRkMiBsZWdhY3ktdHJ1bmsKKzYwNDggZmQxNjY5ZjhkODc0M2JhNjYxNjI4NGU1YmU4MjY1OTRmMDY5MTdkYSBsZWdhY3ktdHJ1bmsKKzYwNDkgOGU2NjM5NDVlMTc0NDVjNTkyNDk3ZGNiNWM3NzVjMjFjNTljODU4ZiBsZWdhY3ktdHJ1bmsKKzYwNTAgZWM4ZjViNzVkZjY0ZGFjYWYzMDE2YWU5NGRlODU0MTE5MmNkMTEwMCBsZWdhY3ktdHJ1bmsKKzYwNTEgNmY0NWJlZWQzODczZjcxY2RjMGIzZTg5NjYwY2MxM2UyYTZiNDM5OCBsZWdhY3ktdHJ1bmsKKzYwNTIgNmFiNGNiY2VkZWMyMDNiODI3OGEwMjI0MGY0OGY1NjI0YTJkNTA1MyBsZWdhY3ktdHJ1bmsKKzYwNTMgNzJhZDJmMWU5OTE5YWZlYzFjYzdiZWFiOGQ4OTg0MWFhZjU1YWIxNiBsZWdhY3ktdHJ1bmsKKzYwNTQgNGVkMDlhM2MzMjAxOGUyMTlkYTliNzYyMTE1M2JkNWY4Y2Y4ZmQxMiBsZWdhY3ktdHJ1bmsKKzYwNTUgMzZjYzNlZTU0ZjI4Yjg4MDBlZjNmYzEwZjIwNTUzNWMwNWU0Yjg4YyBsZWdhY3ktdHJ1bmsKKzYwNTYgYjVjY2NmMWM4ZjM4NjZiZWFkYzM5NDY0YmIyN2Q2ZDEzMTU2OGU0MyBsZWdhY3ktdHJ1bmsKKzYwNTcgZGFmYzhhMTBiMTg2ODA0NjBkZjdlMTlkMGYyMzRhMTYzNDI0YWNlNCBsZWdhY3ktdHJ1bmsKKzYwNTggYmQyMGMwNDI3NGZmYTZlNjllMWM5NGEyYzgyMzhiNzI1N2Q2MThkOSBsZWdhY3ktdHJ1bmsKKzYwNTkgNzM2NjRlYTIwMzBlMGJmZmZiZGYwYTA2NjFhNmVjZjNjMDNiOThkMyBsZWdhY3ktdHJ1bmsKKzYwNjAgMWMxOGY5MDYzNmZiYmUwODE2MTI2YTFlNjhlMDE0ZWIyNzM4YTFkMiBsZWdhY3ktdHJ1bmsKKzYwNjEgMjQwMzYyMGNhOTMxYWVmY2VlMDc4OTJkZDI3MjY0MGRhOWQzZjRkNiBsZWdhY3ktdHJ1bmsKKzYwNjIgZGU5ODdmZDY3Yzk0MzUwMmQ1YmNhZWJmMjE4M2M3YjZkYzlmYTA4OSBsZWdhY3ktdHJ1bmsKKzYwNjMgNTY0OTEyMjY3MjkwZjQ0OWUxZjI0ZWVjOTdiMWI0MGYyOGFiM2JjNCBsZWdhY3ktdHJ1bmsKKzYwNjQgNjI5MzcyMzIwNWE2YTgyOTRlZTkwYWUxNDI5OTg1MWI2NDkzMzUwNyBsZWdhY3ktdHJ1bmsKKzYwNjUgODgwMGRmMzY2YjEzMWQyYTI2NTJlMDBiMThlNTYyYjRkYTc3ZmUwZiBsZWdhY3ktdHJ1bmsKKzYwNjYgZTA3NTk3Mzg5ZDY0YmJmYjU4YjY4YzM0NTYxODcxZDI1Mzc2ZmQ4MiBsZWdhY3ktdHJ1bmsKKzYwNjcgNmM5MjYwYWUwZDE2MzZhOTVkMDEwYzM2YzBiNzZiMWQ4NzAyYWFlZiBsZWdhY3ktdHJ1bmsKKzYwNjggODczOGIwZGQ3N2ZkODcwMDljYmU4Y2ExZWYxZDEyMDdhMDViNWI0NyBsZWdhY3ktdHJ1bmsKKzYwNjkgN2M1NzExYTZhNDc1OTdkOTMxYmU0ZWU4MzI1NGEzMmMxNjU2NzdkYiBsZWdhY3ktdHJ1bmsKKzYwNzAgNWE3YTc2MTY2ZTdlMzk5ODE5NGUxMDEyMjFjMzk4ZTUzYjQyZDNmZiBsZWdhY3ktdHJ1bmsKKzYwNzEgNDA0OTZkYjhjZjFmY2M5OGQ2MjhlNzk4YjAyNmUwZDIyZjY4Nzc3NiBsZWdhY3ktdHJ1bmsKKzYwNzIgZDkwNjdjNWY1MGFkZDQ5ZTM5YTQyZTRiODNmYjE3MWRhZTM5ZmViZCBsZWdhY3ktdHJ1bmsKKzYwNzMgZWI2ZWY3ZWNhMjA3ZDI5ODliOThiMGE3MDA3YjFmOWM1NWQ3MGUwYSBsZWdhY3ktdHJ1bmsKKzYwNzQgYWE1ZjNlY2JmNTZmMzJkOGZjY2I0YzcyZDZhNTI5OWY0ZDg5Y2Y5NiBsZWdhY3ktdHJ1bmsKKzYwNzUgMWQ0ZjJmMjBhMjdjY2I2MTA5NmEyNTFkZGYwZDg5MTVjZGU5NjliZSBsZWdhY3ktdHJ1bmsKKzYwNzYgZGQ3NGEwNjAwNmUwNDAyMTcyNjNiODA1NzdlODQ2ODJkZDMxZDRkMyBsZWdhY3ktdHJ1bmsKKzYwNzcgODU3M2U2NWZhOTQ4NGYyNmJiM2RhZmI3ZjRmNDRmNjVhN2FjNDlmMiBsZWdhY3ktdHJ1bmsKKzYwNzggMGIwYzRlZDE5MzZhYzJkMjg1MmMzOTU4N2I5Y2U2ODM3ODYwNDU4YiBsZWdhY3ktdHJ1bmsKKzYwNzkgZDBhOTdhYzI1ZGFiNDczNjU4YTQwZDg2N2RjNzNkOGFkNjE0NDNiZiBsZWdhY3ktdHJ1bmsKKzYwODAgNDUzYTlmNmU5NjE4OWRlNjliNjMzZmY3MzViYjg0OGEyMDljNWUxMCBsZWdhY3ktdHJ1bmsKKzYwODEgNDg2NmEwZmMyYmJkNGU2NTUzNjZmZTU4OThhYmQ1NmY4MGYxOGNmOSBsZWdhY3ktdHJ1bmsKKzYwODIgMmYzMTRjYTBjZDMzOGQ2ZWM0NjE4ZTY0OGM5MThlZTBkYzFkMDgwYSBsZWdhY3ktdHJ1bmsKKzYwODMgMzIzMTY1Y2IxZmE1ZDc0YWVmZjhhYTdmYzMzNTRlNDc4ZDM0ZjBlNyBsZWdhY3ktdHJ1bmsKKzYwODQgZmRhM2MwOThjODk5NThmNTI5MzY2M2Y5NTkzMGEyNTdiMGM2ODFiYyBsZWdhY3ktdHJ1bmsKKzYwODUgMGU1YTdiMjIwMTZjZGVlMDNhYjIyNDEzZWU2MGYzYTE1NTA2NjA2OSBsZWdhY3ktdHJ1bmsKKzYwODYgNmU3MzU4NGNmNTc1ZWVkYTc1NjdmOTZhMjRlMDhlNmMxYTI0YjA5ZCBsZWdhY3ktdHJ1bmsKKzYwODcgYTNjOTdlMjA1ODQ3OTM0MmE4ZDk1NTdjZGViZjZmZGI5NDU5ZDg4NCBsZWdhY3ktdHJ1bmsKKzYwODggZWY3NTk2NjlhYTA0MjYyOTAzMjRlYmI4M2Q2NWQxNjRkYjY2ZGExMCBsZWdhY3ktdHJ1bmsKKzYwODkgMjhjMGRmMWNlMjg0NDk4MjM0NDgyMzg4ZjcxNTJkMTUzZDY4ZjMwNiBsZWdhY3ktdHJ1bmsKKzYwOTAgZjE1OGVkY2NjNzJjY2I2M2ZmZThiMWE1OTU5NjAyZjlkZDNkZTgwOCBsZWdhY3ktdHJ1bmsKKzYwOTEgYjc1ZWRjMGU2MzMzZWU2MGM1NjJkMWJhODBkMjZjMmU2NjZmNzNjZCBsZWdhY3ktdHJ1bmsKKzYwOTIgZDQxZDg5ZWI0M2U1MGNkOWJmOGI5Zjk1ZmM3OWYwMGEyMmU5MmY5ZCBsZWdhY3ktdHJ1bmsKKzYwOTMgNWE5OGE0ZmQ1OGI4NDIxMDEyMTJlYjgzODUxZmIyMjY5ZTBkNjAwYSBsZWdhY3ktdHJ1bmsKKzYwOTQgOWU0NjY1N2JiOWU4NDc5YzhhYzk4NmM5ZGNiOTdkMGM1YWU0MjM1YSBsZWdhY3ktdHJ1bmsKKzYwOTUgYmQ2ZWFhMmI0MWFjMzYwNzBlNGFlYmUyNWU1OTU1NjYzNzljMTJmYiBsZWdhY3ktdHJ1bmsKKzYwOTYgZDE5NWI4NzFlNzA0NGUxOWQ1OWJmMTlhNjUwMjZmNzRhNzI5ZjIyOCBsZWdhY3ktdHJ1bmsKKzYwOTcgMzQ0MDc3N2YwZTY1NmFjZTNlZDM4MDRiYzM2ODQxM2JkMDQzNDVkMSBsZWdhY3ktdHJ1bmsKKzYwOTggZTU0ZDM5MTA3MjQ5NTZmMmEwNjg5MGNlNWFkMmVlNWMwOGFkZWQ5ZSBsZWdhY3ktdHJ1bmsKKzYwOTkgMmViN2U5ZTIzNmJmNTdjZjA5ZDNkOTkwMmUyODJjNGMwZTk1NjVkZSBsZWdhY3ktdHJ1bmsKKzYxMDAgOTg1MTM0Mzc1NjcyMzZkODJkNGE4N2FjOWE4ZmJlZWE1NGM5YWUyNCBsZWdhY3ktdHJ1bmsKKzYxMDEgNDQxNjFmYjA0YjdlODM0YmZjNzcwOWJkZGQ2OTc5MWQwMTMwMjZlNiBsZWdhY3ktdHJ1bmsKKzYxMDIgYTdlM2JjMmE3Y2FjNDc5ZDQwODkzMzQ5Y2Q0YzJmMGJhMDNmYWUyYSBsZWdhY3ktdHJ1bmsKKzYxMDMgM2FiY2Y3MjVjNWY0MDk3NzYyNjczYjAyZDkyN2FkMWZhNDNmYTgzNCBsZWdhY3ktdHJ1bmsKKzYxMDQgODk0MTc4OTVkOTYzY2VkYzI1MDFkYTIyZDIyZTUwNTVmNzE4YzA0ZSBsZWdhY3ktdHJ1bmsKKzYxMDUgNjc2OGJiZDE4ZTA5OTgwYTcwN2I5ODViNWU2MmRkMGIyYjg5MDQ1YSBsZWdhY3ktdHJ1bmsKKzYxMDYgNmMwMDg2ZjkyNzBjZjk1MTNjYzQyYjliODU4NTc5ZGRkNDk0ZTdjMyBsZWdhY3ktdHJ1bmsKKzYxMDcgYzI4M2I3YmJkYTA5NTJiMjcyZDdiN2E4NTlhMGQ5NWVlNWE2Nzk5ZiBsZWdhY3ktdHJ1bmsKKzYxMDggNzAxODM1OTIzNzBlNzRlYTYzZmVkNjMxNGQ1MDc0M2E0MzVjYTJlYSBsZWdhY3ktdHJ1bmsKKzYxMDkgOGQ1MGE5NmY4NjgwZWE4MTFlNTAyMDBiYTU0MGE2NjY5NzE0ZjE5OCBsZWdhY3ktdHJ1bmsKKzYxMTAgZTRmYWFkYjRhYmUyZWRiNGUxODFkYzM5NzU2YWVjN2I5Njc1ODkyYiBsZWdhY3ktdHJ1bmsKKzYxMTEgZDA0OTc1ZGI1MmRjZjNiNDcwMjhlZDgyMmEzNzhmZmNkN2JlMWIzYiBsZWdhY3ktdHJ1bmsKKzYxMTIgMGQxNDYzYTQ1YjZmNTVjNjg1NzcwMGU2NjJkZWVkMzhiYjhlNWQ4NCBsZWdhY3ktdHJ1bmsKKzYxMTMgMDE3ZDMzNTZhNWVkMDQzMGZkMTM1OTVhMWIwN2I2ZTk0ZDA3MTQ2YSBsZWdhY3ktdHJ1bmsKKzYxMTQgNDllZTg5ZTAxN2FiZTUyNmM2MGYzYjJlYzliNzkzNzVlNDY3MjBiNyBsZWdhY3ktdHJ1bmsKKzYxMTUgNTY0ZmE2ZjE4NWE3ZDdjZDZmZTY3YzM2MmUxYjUzZDFlNzQwMjUzMyBsZWdhY3ktdHJ1bmsKKzYxMTYgMTZjYThmMGYzZjExMjQwMWEwZmM2NWYzNjZmMjcwMjhiZjM4YjRiNSBsZWdhY3ktdHJ1bmsKKzYxMTcgYTlmYjVhODk1ZmExYzMyZTZmYmFhYWJjNWY2ZDQwYmYwNjgyNjUzZCBsZWdhY3ktdHJ1bmsKKzYxMTggNjNjZGZiYjRhMmJiOTljNDEzNmIyOTQzODRhZDhkN2I4YmVmMDI5YiBsZWdhY3ktdHJ1bmsKKzYxMTkgNWQ2ZmUxNDVmNzczYTIxNGFhYzIzOGYxZWZiZTE3NDIxZDNmMzg5YiBsZWdhY3ktdHJ1bmsKKzYxMjAgMDYwMmRiMWQxZGZmN2E1ZjdlNWM3YWVkZWY1MTU2OGFlNzAyM2VjMiBsZWdhY3ktdHJ1bmsKKzYxMjEgNzI4YTM5YTNlMGQ1NTA4NGU1YWJiY2MzZjNmODdlN2UyMzE3MzVlOCBsZWdhY3ktdHJ1bmsKKzYxMjIgNTMwOWNlZjhjMTY5MmNjMjVmNWU2MTA0ODlkMWYzMGJhYWFmMGE0NSBsZWdhY3ktdHJ1bmsKKzYxMjQgNjZlZWFiNWE3NThjNjczMmYyMjQ2NzBkMTI1ZjE4NmNmYjY3YjM4ZSBsZWdhY3ktdHJ1bmsKKzYxMjUgZjg5ZmE3ZTk1Yjg0MDk1ZjQyYTE4Mjg1NGQzNGExZjFjNmM0MzhhZSBsZWdhY3ktdHJ1bmsKKzYxMjYgYWRlOWY5OTY1OTBhNWU3OGY1YThiYjA3OTJmMDcwMzU5OTUwNGI1YSBsZWdhY3ktdHJ1bmsKKzYxMjcgOWFjMWUwZDU2Njc0MTNjZmQ3ZTY4OTk4MGE1OGJmYmIwOTBjNmE2ZSBsZWdhY3ktdHJ1bmsKKzYxMjkgMzViZTVkZjZlZjc3MjJiOGY1MGEyMzVlYjFmMmNmNjE5MTFjNzc1NSBsZWdhY3ktdHJ1bmsKKzYxMzAgODI1YmQ4YzExYjFjMWFjNWM0OTZiYzdhY2ZjMmQ5ZjhjNDZhZGE2OSBsZWdhY3ktdHJ1bmsKKzYxMzEgMDU4ZDgxZDFkNTZkOTMyNmUzNzdkZTUzMDBmNTA5NjA2NzBkZTI2NiBsZWdhY3ktdHJ1bmsKKzYxMzIgYmQ2ZDAyOGQ5OGZjZWY0MjQ1MjViMzI0MzcyNjBkNTMyZGQ5OTNkZiBsZWdhY3ktdHJ1bmsKKzYxMzMgMzk5NDcwYTk1OGMyMmQ5N2NjYjg2M2U2Nzk0YzNmODk3ZTg1ZDc4YyBsZWdhY3ktdHJ1bmsKKzYxMzQgMDcxNjRkMzA0MjlkYzZkZDA3MzYyZWMyMGJjMmE5MWYyNWRkY2I1MyBsZWdhY3ktdHJ1bmsKKzYxMzUgYWQwM2UyMWZkYTU0YmNhNWMxMmVlNzc4ZjhkN2I4MTgwMjU4YWQ5MiBsZWdhY3ktdHJ1bmsKKzYxMzYgNTE4ODM3NDM3N2FlOTk2MjVmZDI1YmVhZTQ1Y2Q2Nzg0NTM2YWUyZSBsZWdhY3ktdHJ1bmsKKzYxMzcgNTU2ZWM4MmY0ZDkzOWUxNWYyYzZiZDUyOTU3NzRiZGQ4Mjc5ZGEyZSBsZWdhY3ktdHJ1bmsKKzYxMzggZWFiYmIzYzE4MThmZTQyOTYyYjFjMTVhOThhNjljZDA4NmE4M2E4NyBsZWdhY3ktdHJ1bmsKKzYxMzkgYWI5MjQ4MGZhNGVjYjNjOWIzMGQzNDM1NTUxOGY3Nzc4YmJiMjliYiBsZWdhY3ktdHJ1bmsKKzYxNDAgMWQxMzRlY2RhMDk0ZWUxNzdjODBiZmM3ZDEwMTRhYzM4NzRjMTQ0NSBsZWdhY3ktdHJ1bmsKKzYxNDEgMTY0MTNlZTU4OTY3NzQ1Njg0NzUxNDk3YTNjZmViYTBhZDBjNTM3ZCBsZWdhY3ktdHJ1bmsKKzYxNDIgOWE4YTQwZjIyMThjOWNiMjYyNjU4OGUxZmMxNTg1MGFkOWY2NDU0OCBsZWdhY3ktdHJ1bmsKKzYxNDMgY2VjMjdjOTNiNWNiODM0YzEwMTczN2RkNTEzZTYwODE0YWFjZmNlOCBsZWdhY3ktdHJ1bmsKKzYxNDQgZjZhY2U2MWMzZGZlNjRlYTM3ZWY5ODBhZWUwMDFlYjM0OTQwZDJjNyBsZWdhY3ktdHJ1bmsKKzYxNDUgM2VhZjJjNjczYTExYTc4OGZiNjI0NGFmMjIyM2IzY2JlMmJkMTA4MiBsZWdhY3ktdHJ1bmsKKzYxNDYgZDYxN2RlMTU3NzRiMmU3Yjc1YTJiNzY0N2FlYTdjOTA2MGFhYzIxMyBsZWdhY3ktdHJ1bmsKKzYxNDcgNzQ3NjRiM2VjMWJkYjc0YTVlNjU5Mjc1NjI0NmY5YWY3ZGZhYWRmMyBsZWdhY3ktdHJ1bmsKKzYxNDggYjA1MzE1ODE2NTc5ODMwNDUyYzA0ZTI5ZDlhMmQzN2YyMzg0ZjZlMSBsZWdhY3ktdHJ1bmsKKzYxNDkgYmRkYmFhNTFhYTVhOTMzMThhZmViOTJkYWIyZTRlNjNhZTVlZDdmNCBsZWdhY3ktdHJ1bmsKKzYxNTAgYjg5ODA3MzVkMDNiM2UxNDA5MzhhNjQyNDYzZmE5NDQzZDczZDhmZSBsZWdhY3ktdHJ1bmsKKzYxNTEgODcyMWZhZmRiNjdhYTliNWE5MjJkMjNjZjg3YzhmMjMyZWZjMDVkOCBsZWdhY3ktdHJ1bmsKKzYxNTIgYTUyN2Y0NDljYTI2NjYxZjVkMjkwZDM2N2QxMDMyNzZhYWQzOTJhZSBsZWdhY3ktdHJ1bmsKKzYxNTMgOTQ2NmVhYmI2NjlhNmNmMjY2ZmVjNjU1YzFjNzI2ZDczZTAyNjhhNyBsZWdhY3ktdHJ1bmsKKzYxNTQgZWMzOTI2NDMxMWZmMjQxNGZhZTAxYWVkNzQ3OTI2YzkxMGI5MGI3ZiBsZWdhY3ktdHJ1bmsKKzYxNTUgNjA2YzM4NTM1ZjMwNDUxMzQ3ZDE5NDY2OTBmYWViZmU2ZTE3ZmI4YSBsZWdhY3ktdHJ1bmsKKzYxNTYgYTEzNjJhMDYzMTIyNTIyZmNjYzE4ODAxZDc2NTM2ODZlMDIxNDM3MyBsZWdhY3ktdHJ1bmsKKzYxNTcgYmRiZGE5MzliOTk5OGY4YWU4YjZkNTFlNTUzYmNiMTM2YmE3YjViNiBsZWdhY3ktdHJ1bmsKKzYxNTggZDhmOWRmYzc2YmJmYzhkZjk2ZmYxYWQ4YWI2Y2Q3NGM4YWVmOWZjZSBsZWdhY3ktdHJ1bmsKKzYxNTkgYTc5YjhkODE5OTdmZWFhZDljZWQyYzE0YjRiMDkzYjkwZDJiYjY2NyBsZWdhY3ktdHJ1bmsKKzYxNjAgNmRmZDc5OTQ0ODcyZmMwM2M1NDk3NDkzYmE5YjEwOTI2ZDllYmMwMyBsZWdhY3ktdHJ1bmsKKzYxNjEgNGEwN2ZlMWUwYjUwM2NiNWJjYWM0OGQ2Njc2OGY0MjYzYTRhZDMwYSBsZWdhY3ktdHJ1bmsKKzYxNjIgYjVkMTc0MWRlZDRhNWE0OGVhZjA4YTA1YmNhYTZkNWFjYTMzMTY4ZSBsZWdhY3ktdHJ1bmsKKzYxNjMgOGRjMWU3NGMxNjk1NmViMjAwZWM2ODNhYWY1ZDg4OTE0YWE1YzdmZSBsZWdhY3ktdHJ1bmsKKzYxNjQgODE4ZWUxMTUwNTRhM2I5Y2U5NjAxMjJjMTE3YTgxYTE1YTA3NTE3YiBsZWdhY3ktdHJ1bmsKKzYxNjUgNTgxZjA3M2YwNzFkN2Q3NzBmNDcyZjcxOWNiYjUwMmMzNGZhMzAyMiBsZWdhY3ktdHJ1bmsKKzYxNjYgMTQ1NDEzOGM2ZjJkNDBjNWEwYjU2MDY4ZGE4YmZkNzA2ZWYwNDA2MSBsZWdhY3ktdHJ1bmsKKzYxNjcgNjczOTBjMWRhZWJlZGRjZWVjZjQxY2RmMTFiNDVjYzA5MzE4MGNhNiBsZWdhY3ktdHJ1bmsKKzYxNjggODFmNTM1Y2ExZDk4Y2Q0NmE2OTU4OWE2NWZlMGQyZmQ3YWMyZGIzZiBsZWdhY3ktdHJ1bmsKKzYxNjkgOTdiMWMyYTcwZWFlMTFmYjdjZDQzOTljMGU5ZDJlY2JlYjg3NGVlOCBsZWdhY3ktdHJ1bmsKKzYxNzAgZTIzYWZiZjc3ZWZkZjk1NGIzZjljYmFmOWIxYWQ2NWZmOWFjOTk4MCBsZWdhY3ktdHJ1bmsKKzYxNzEgOTMxMDg2Y2I4NTI5NTAzMzdhODg2Nzk1ZmVlMThmNTZjMDI0YzdiZSBsZWdhY3ktdHJ1bmsKKzYxNzIgZjA0YmViODBmODE2NzdhZjBmZGY2MThkNGE2N2EzYjUzZTI0ZTQzMSBsZWdhY3ktdHJ1bmsKKzYxNzMgMzQwODc1NmVjNjAxODkwMTdkMTQ2ZDBlZGRiNmYyNDc0YWU5ZjM0ZCBsZWdhY3ktdHJ1bmsKKzYxNzQgZmY3ZmE1OWY2MmU4OTM0YWI3Yjg0NTc0Y2I3ZDFlNDM0YzY0Y2QyZSBsZWdhY3ktdHJ1bmsKKzYxNzUgMTcwMzA1MTVmNjIzMjc1NGQzNTExMmE1OWQ4Y2YyMzBmZGNiMTUxMiBsZWdhY3ktdHJ1bmsKKzYxNzYgYzg2N2MyOTRiMTZjMDgzYWE5NjY3ZWQxODE5ZTYyMjg3ZjA0YjQ5MyBsZWdhY3ktdHJ1bmsKKzYxNzcgZGI1NzcwOTRmNjg1M2UxNTc1M2JlOWNiZDRiMDE2NmEzNmI5MGEyNCBsZWdhY3ktdHJ1bmsKKzYxNzggMGU5Nzk1MDA0Y2QyNjc2ZmNkMThlZDM2NzU1ZjE0YTg0ZjE0M2UwYSBsZWdhY3ktdHJ1bmsKKzYxNzkgMGY2ZjBlOThlM2I2NGI0ZTUzODFmZmUwYjY5NjBlMWQ0OWM3Y2Y3MSBsZWdhY3ktdHJ1bmsKKzYxODAgZGFkNGQ0MzM2M2Q4ZmUxZmJiODg4MDA1NjE2NzAwZjkwYTlkOGEyOCBsZWdhY3ktdHJ1bmsKKzYxODEgNzg3N2RlZjk0MDYzZDQ3MTQ5Y2ZmNWI5YTMwZTlmYzE0ZWE0ZThiYSBsZWdhY3ktdHJ1bmsKKzYxODIgYzA0NTMxZmMyNzA5NjkzOWMzMTQ0OGVlYWI0ZmNiNWM4Njk2N2QyYSBsZWdhY3ktdHJ1bmsKKzYxODMgOGU0Nzk4ZDIxOTE1ZWZjYWIzY2FjODdhZTRiZDU5NGQ4ZDQ4ZTgxOSBsZWdhY3ktdHJ1bmsKKzYxODQgYWRjODY3MDdmYTk2Mzg5OWI1OWUyOTI5N2UyZjRjM2VjNzcxOGE1MSBsZWdhY3ktdHJ1bmsKKzYxODUgYzEyMGE0ODNkNTkwOThkNjY5MWZjYTUzNTQ1YzJmODFmNzk0NjIwMSBsZWdhY3ktdHJ1bmsKKzYxODYgNWMyNThlZmZlODFjNGQ5NWJjNjA0NGY2NmE2MGUxM2EwMWY3NzE3MyBsZWdhY3ktdHJ1bmsKKzYxODcgZGU1Mjc5NDAyYjk0MzhjZGY2NDMzYzM3MzM4MTYxN2FkYTdkNDUwMiBsZWdhY3ktdHJ1bmsKKzYxODggNTAxMjE5MWVjMmRhYjE0YmJlYjQ3ODg4NzgxODA1OGNhY2YxZjM1MiBsZWdhY3ktdHJ1bmsKKzYxODkgOWU1NDRhMmMxOWEyZGE3MDg5MDk3NGI2YjEyMTNkNDg4YTY4ZDU2ZCBsZWdhY3ktdHJ1bmsKKzYxOTAgNzZlNWYzNTk4ZTY5YjRhMjk5MTkxODUzNWYxNDgwYzViM2E2ZmZkYSBsZWdhY3ktdHJ1bmsKKzYxOTEgYjM0MWRlZjRlZWY4Y2JjNjJhMDczNTY0Mjc4OTU2OTQ0ODA0Y2QxMyBsZWdhY3ktdHJ1bmsKKzYxOTIgMzIyZjYxZTRjMzg3NWFhNDgxNTY3MTYwYzNiODgzNTMyNmE5MGUxNCBsZWdhY3ktdHJ1bmsKKzYxOTMgYjJiMDYzYWEyNzU1MTBkNmJjYzQ4NDk3MWI1MDBmM2Y2OGY0Yzk4YyBsZWdhY3ktdHJ1bmsKKzYxOTQgNDNhMzdlNmI2NDY5YTRkMjFhYjBmYzNjMjY1YzA1NzNkMjM1ZTk5NiBsZWdhY3ktdHJ1bmsKKzYxOTUgMjY0NDJiNWY5Y2ZkODQ3YjYzYmUyNzgxZDRmYjNjY2I0MDliYmNjYSBsZWdhY3ktdHJ1bmsKKzYxOTYgMGZmNWJkOGViYjAxYTYwYjcxOWE3NjYzYTA5YzcxODhlNGMyZWZiNSBsZWdhY3ktdHJ1bmsKKzYxOTcgNjU3NzkwZGIwNmUzYzU5NDVkOWU3YWQ5Y2ZjMWNiZWMxZjY1ZDI4NyBsZWdhY3ktdHJ1bmsKKzYxOTggYTEwYTBmNjAxNGM0OWE1ZmJkMWE0YzM0Mzk1ZTI4ODJmODU1ZmY1ZCBsZWdhY3ktdHJ1bmsKKzYxOTkgNmYzYzdiMmYyYjhkZTgyOGIyNjY4MmQzOTk1ZjNmYmEyNzgwZjlkNSBsZWdhY3ktdHJ1bmsKKzYyMDAgMDY4NTU2MzgwY2IwODYxYzVmOGMwMjQ0MzBkYTE2MTdkYzgwZmVlYSBsZWdhY3ktdHJ1bmsKKzYyMDEgYmE4NGQ3ZTg1NTRiNWVjZDRmY2Q2OWQ1NzY5NzY0YjZlYWQzM2YwYiBsZWdhY3ktdHJ1bmsKKzYyMDIgZGUxY2IzMzIxOWUzMTE4YTNmOWVhMjA5MjFlYTE4MWE2OWU3N2U1NyBsZWdhY3ktdHJ1bmsKKzYyMDMgNTIzZjQ5YTFlNDJhNTcwOTg4ODI1ZmFhZjZkNjk2NWRiOTQxYmYwMCBsZWdhY3ktdHJ1bmsKKzYyMDQgYjI1MGIyNzBkYmQ0ZDBlYjA0MDEzNWRlNjY4YzhlZmEzNjZmYmIxNyBsZWdhY3ktdHJ1bmsKKzYyMDUgMDRjMDc1MzhjYWM0ZGI3NzJjZDE2MTI3OTVjMjM3NjQ2YjlhODlhNyBsZWdhY3ktdHJ1bmsKKzYyMDYgNDY5MmNiNDYwMDhlZTBjOWU5MzNmNmQ2ODc4YWE0MDVjM2JlOGY3NSBsZWdhY3ktdHJ1bmsKKzYyMDcgNmM5YzJhYzE1ZTRiMDE3Zjc0ODZiYmJkOGMxMTdiNGQwYzIzMTM3NCBsZWdhY3ktdHJ1bmsKKzYyMDggNmIxYjY2NDg2M2Y0MDk0MDI1ZTdlMGI1ZGFlMGM1NGNkNWIzN2FmYSBsZWdhY3ktdHJ1bmsKKzYyMDkgY2U3NGJiYThhNmE2ZDE4YmNlNzdjZTZiYzcyNDFjNzk5Mjc0N2JjZCBsZWdhY3ktdHJ1bmsKKzYyMTAgNzk1MjQ4MjlhNzMwNjY2ZGNiMWI0ODQ0MjEyNTE0YmE1MjNmOTI0YSBsZWdhY3ktdHJ1bmsKKzYyMTEgZTQ4MDdhMGMxMDkyZGUyZWNkNDA2ODU1OTdhNDI4OWM2YTI2MzY4OCBsZWdhY3ktdHJ1bmsKKzYyMTIgZWY1OWI0ZDAwMTM0OTA3YWQzOTI4NmQ5ZTQ4NjUzNmFjOWIwNDJiOSBsZWdhY3ktdHJ1bmsKKzYyMTIgNGZjODVjODJjYzIyMjU1NGFlNmI5YzBiODc3NzZlZDVmMmI3MGM2ZSBsZWdhY3ktdHJ1bmsKKzYyMTQgYjIwNzg3NmRmMjlhY2FjMDcyMjFhYTI2MDRlMGVjMDE3OGFjNDJjZSBsZWdhY3ktdHJ1bmsKKzYyMTUgZmZkZjFmMDZjZjhiNWMzNjNmOWM1NDc2Mzc5ZmY1Zjk1ZjdlNGJmOSBsZWdhY3ktdHJ1bmsKKzYyMTYgNjA4MGIyZWJjMWYxNGE1YzQ1YzIxMDc2NjBhNzVkYWNhZDkxMjg1OSBsZWdhY3ktdHJ1bmsKKzYyMTcgNzUwNDg4NGU4YTc0ZmM2MDdhODg2YTIxZWY1MjZmYTJkNTQ0NzU1MiBsZWdhY3ktdHJ1bmsKKzYyMTkgYWM3MDE4YjU3NzQ1NmNlYmIxMTZhNzUwZmUyMmNlNjRiOWRlNzMwYiBsZWdhY3ktdHJ1bmsKKzYyMjAgNTZkMzM1MGNhMWYxNzJkNjJlZGY5MzFiNTMyYjMwYjExMTVjOTY3MSBsZWdhY3ktdHJ1bmsKKzYyMjEgMTFlMDNkN2E3Mjk4MDVkZmVlZjc0NGE1NWM1MGU5MzM1N2JiNDA4OSBsZWdhY3ktdHJ1bmsKKzYyMjIgYTIyNDM4ZTk0ZmU5NzRiNTE5MTM0ODNhNTI1MjlhMzE1MmMxNWU3ZiBsZWdhY3ktdHJ1bmsKKzYyMjMgMmRiNjM2MzQ1OWNhZjFkNjlkZTJhOGJhYWMxNmZkMDM1YzE0MTk0MCBsZWdhY3ktdHJ1bmsKKzYyMjQgMzUzN2MwOGMxZWZmYmFiNDQ3MjM2YjhjMTJhYzNmMzI4Njk4ZDcxYSBsZWdhY3ktdHJ1bmsKKzYyMjUgOTdkMjI3OGEzMzFiOTQ1ZDQxMzFiZTMzZDU5MjgwZWM2YWQwZmJmMCBsZWdhY3ktdHJ1bmsKKzYyMjYgZDIzZmVhMjQ4YTFlYzI1YjFjYzE3N2ViNWRmNDg1NmMxNGVlYjFhOCBsZWdhY3ktdHJ1bmsKKzYyMjcgNjU5OGE1MTg2NjhmNzdhZjI1OGFiYTVhZjI3ZDljZDczMDFmYTlmNiBsZWdhY3ktdHJ1bmsKKzYyMjggODJiYjdkMmE2YjMxZTZmNTBlZjQ0NDllZjcwZjE3YWIzOTg5NTc1MCBsZWdhY3ktdHJ1bmsKKzYyMjkgMTViMWIwM2FkZTkzZDcyY2RlNTAxNzUwYjRlM2MxYjZlMTc5N2ZjMyBsZWdhY3ktdHJ1bmsKKzYyMzAgYjkxNmQ2MTRlMzYzNDY4NWFlNjU1ZDViODYyYmNjYWQ2MDc0OGE4NiBsZWdhY3ktdHJ1bmsKKzYyMzEgNTY3NDZlZWRmZTAzNzg5NzRiOGMzNDAzYjVlM2E4MWMyOTg0NDY0ZCBsZWdhY3ktdHJ1bmsKKzYyMzIgYmY4YzIzMGRmNWU4ZGQzMjBlMmMxNGZmNDQ1NTJiMGRlMjk0MGY1YyBsZWdhY3ktdHJ1bmsKKzYyMzMgZTYwMzYwMWM2OGNmNDQ2OGU1M2YwNjY1MzMyYjNmODUxYWY0YWNiYyBsZWdhY3ktdHJ1bmsKKzYyMzQgYzU3YjM4ZTQwYjJkYTUwYzc1ZWNlYWEyNTJkNzhkN2Q1NjBlMDg2NSBsZWdhY3ktdHJ1bmsKKzYyMzUgYmI0Y2MzZmE2MDAwYjA5YmRhZjdjMzhkY2U2OWY1ZjVlMDBkNjhjMSBsZWdhY3ktdHJ1bmsKKzYyMzYgMjlmZTZhMGRlMzY2M2I4ZDQ1YzJjNzQ5M2ViNWI0ODQwYWNmODRmZiBsZWdhY3ktdHJ1bmsKKzYyMzcgZGI1NDg4ZmU0OTViMmEwMDU5M2JiOTEzMDk1Zjg5NDEzOWE1ZWYzYiBsZWdhY3ktdHJ1bmsKKzYyMzggNTE2NDkwYzgxOTJjZGZiMDE2ZmExODViOTI3YzIwOGI3MGZkZDY4OCBsZWdhY3ktdHJ1bmsKKzYyMzkgNGI1ZGVmNDA3NzNjZWFmYTU3NWZjZTViMjA4YWVlMzNiMGM3OGRiMCBsZWdhY3ktdHJ1bmsKKzYyNDAgZDFhZTBlYTlhNTg1ZjkxMmQ3YWEzZDAwNGZmODE3ZDBkZWExMTJmOCBsZWdhY3ktdHJ1bmsKKzYyNDEgMmI4MTBhM2M3ZTQxNGNhNDJlNmM4OWI0YTEzN2I0Y2JkMGU0NmVjMiBsZWdhY3ktdHJ1bmsKKzYyNDIgN2NkYzBjNzE0NmQ1MGFjMjE5NzNmNTA2MGQ4Y2VjNjcxZGI4OTE4ZiBsZWdhY3ktdHJ1bmsKKzYyNDMgZDA5ODgzMThiNzU2OGM2YTUzZWJkYmUyZmNkNzliODcxZWRjNDM2ZSBsZWdhY3ktdHJ1bmsKKzYyNDQgYzhkMGY3ODIyMWNjMzZlODE3ODZkNjQ3NTA5ODllODdhZjBjNDcwYiBsZWdhY3ktdHJ1bmsKKzYyNDUgNmU0MGEyYTNlNmVmMGM0YTM5ODYzMzYwOWEyNDEzZWEwNmY4ZTM0NSBsZWdhY3ktdHJ1bmsKKzYyNDYgNGM3OGQ3M2M1NjY3NTcyM2NiNzczZjIzZDBhMmFjZjQyNmI1Y2MyMCBsZWdhY3ktdHJ1bmsKKzYyNDcgYWIxMTBiMWU5MmZmYTE4MmVhYzRkNjkzZTAyN2U0MzRjYjNiNjhkYiBsZWdhY3ktdHJ1bmsKKzYyNDggZWNjZmFkYTQ3ZjI4NWFiNGE5YmZhYTU0NWVlNGIyMWVjZDc3YWRkZSBsZWdhY3ktdHJ1bmsKKzYyNDkgZjM1ZGRlN2Y0MTQzZTVmNjEwYmFjZWQ5NmNhMjBmMzk5YzMwMDIxMyBsZWdhY3ktdHJ1bmsKKzYyNTAgZjk5MDdmNTczMjdlYzU3NjM4ZDdhOTIwMWVhNDdhM2NkY2M3YjY4OSBsZWdhY3ktdHJ1bmsKKzYyNTEgMTBiNTA2MWY2Y2JjZjg1NGM3ZTgxYTUyZGM0OTA5NGQwOWEyM2UzNyBsZWdhY3ktdHJ1bmsKKzYyNTIgYWMxMTRhNWZjOGZmODQ2ZTc5ODIxODM4M2NmNGJiNDFhZjdjNjZkYSBsZWdhY3ktdHJ1bmsKKzYyNTMgMjdjMzc3NTc1ZjRhYzRkZDlmNGZiMmIwOGFhOTk4MDZiNDFjNTRiNyBsZWdhY3ktdHJ1bmsKKzYyNTQgM2ViMTY5NGVkY2U2YjA0MjlkYzVjZTg1Zjk4YWEwYTY4ZDYzNzc0MSBsZWdhY3ktdHJ1bmsKKzYyNTUgYTYyMDNkMTcxNThiYTUyZTBmZDMzZDhjMjhiMWM0NTlmYWZmNWMzNCBsZWdhY3ktdHJ1bmsKKzYyNTYgYjQxMDE5NTU3YjZlN2NmZjg4ZjJhZTA4ODgxNmQ4MWNlOGMzMTk4ZSBsZWdhY3ktdHJ1bmsKKzYyNTcgMGQ3NDAxMTMxMGNkMWI1YmVhY2RjYWVhODI4NDlkZGE0MWQyY2Q3NSBsZWdhY3ktdHJ1bmsKKzYyNTggNzE4YzhhZjdiZTJhOWZjZTkyMTdiNWViZjI0NjJlYzQ5MjMwNzhmZSBsZWdhY3ktdHJ1bmsKKzYyNTkgNzc2NjM2MGI4NWI4OTFlYTlkYjc4NWVkZmViODViM2RjODdhZmJhMyBsZWdhY3ktdHJ1bmsKKzYyNjAgYjY1MzY4ZWQ4NmJlODlkMTdmYjliMWE5NTg5YWRjYmJlNjU3M2M0NSBsZWdhY3ktdHJ1bmsKKzYyNjEgNDY4ODM3YWQ0NWYzODIzYWM4OTIwODQ4OTg0YTUxZTk1NmFmODE4OCBsZWdhY3ktdHJ1bmsKKzYyNjIgN2U2NTM2NzMwZDBlZWVkMmJiODlkZTI5MTRjZjUxNjE4MTYwNjVjNyBsZWdhY3ktdHJ1bmsKKzYyNjMgMmY1NzM5MmIyZmRlMTI5YmM2ZTMwOTk0NjcxNjQzMjcyOWMzODMwYiBsZWdhY3ktdHJ1bmsKKzYyNjQgZTllZTRjOTA1YWJkMjhmNzJlODcyZWRmY2I1OWExOGI5MTFkNmVjZSBsZWdhY3ktdHJ1bmsKKzYyNjUgY2EwMmQ5Mjc4MTgwMTFiN2YwOTY4ZTI4MTc2NGY5NDVhNTg5YmE5OCBsZWdhY3ktdHJ1bmsKKzYyNjYgZDFjNDdmNGYxNTQxNTAyM2Y5NjkwZmFmMzdiNGVjMjlkOTY3M2E5NyBsZWdhY3ktdHJ1bmsKKzYyNjcgMWYyMGY1MWI3MDBlNDViOGMzNjUyYWIyNmZmZjU4Y2E5MjY1ZGRhMiBsZWdhY3ktdHJ1bmsKKzYyNjggZWM2OTYzYzM3NDFjMTY3NDA3MjY2ZmNmNTU0OGNjNDY3MDJkZTVlOCBsZWdhY3ktdHJ1bmsKKzYyNjkgNTFhN2M4ZmU3YzdiMjkyNmQ4YWMwNGYxODc4YzBlYWM2YjY5OTg3MCBsZWdhY3ktdHJ1bmsKKzYyNzAgYTgxNmFiZTg2ZjkwNDRkN2FjNjVhYWQzYzBmNzA3YWRjMDc1NGY4MiBsZWdhY3ktdHJ1bmsKKzYyNzEgMmYyNzUwMWRiM2MzZTQyN2UxMTM2Yjk1YTk2MmE3MjdjMGUxYzY1YSBsZWdhY3ktdHJ1bmsKKzYyNzIgYWNmMzVlZDBmMDI2NDc1MWVhZDAxMzc1ZDM0NWU4ODE0NTI4NzQ4ZiBsZWdhY3ktdHJ1bmsKKzYyNzMgODQzMTIxYTIyNmNhOTQ2MWI4NmRlZjZiNWMyYTE0YjcxMDhlMzdiMCBsZWdhY3ktdHJ1bmsKKzYyNzQgNDhlODU5ZjMyOGNiYzAxMWY2Yzc2ZWE0ZWFiNTI5ZmI1NzVkODJhYSBsZWdhY3ktdHJ1bmsKKzYyNzUgMmVhYTAwODYwZWRjNDYwYjJjOTkyNTc5ZWVlYTc5NmQ1N2U5YzhmNSBsZWdhY3ktdHJ1bmsKKzYyNzYgNDg3NzZiZjRiZDQ5M2M2YzMxMTczYjUwMjVmN2Q1YTk2NDg5MzhiMiBsZWdhY3ktdHJ1bmsKKzYyNzcgNGY3Mzk2MmFhYmE2YmFjODY0Nzg1YjJlMjA2OTc2YWJhN2NlODU2MCBsZWdhY3ktdHJ1bmsKKzYyNzggOTM4NjhjN2ExNWM5MGJlZWI4OTQ0MTk4NjIzM2FiZTZmZGI2ODRhMyBsZWdhY3ktdHJ1bmsKKzYyNzkgNDI2ZTc5NmY2MTE1MjE3OWVhNGRiOWU4YTE2ZGMwN2IxNmQyZjUwZiBsZWdhY3ktdHJ1bmsKKzYyODAgMTdhMjg5MWU2MjdmYjg5ZTUyM2Y3MTJmZTY1MWRmMTAwYzJjOTlkZiBsZWdhY3ktdHJ1bmsKKzYyODEgYmYzZjgwOTQxZWMxMWM4YTM3MWM1ODNmYzM0OWJhMGVlNmM5M2Q2NSBsZWdhY3ktdHJ1bmsKKzYyODIgMmRiZDUwODFjNzFlN2JmYmEwNTYwZThkYWZmNDFmOTY4ZGM1ZDY2YiBsZWdhY3ktdHJ1bmsKKzYyODMgYjlhMDQzNGQyY2I2ZjEyMDJkNjRmNDY0ODkzMmNjYTQ3ZWNmMDJiZiBsZWdhY3ktdHJ1bmsKKzYyODQgNmQzMjRmYmFmYWRjMmY5YTM2NTkzMmE5MjczMzIwNmMxN2Q2Mzk2YyBsZWdhY3ktdHJ1bmsKKzYyODUgY2EzNmUzMDhlMzNkOWRlMjczZjFhNjk3Nzk2ZDQ5YTIyZWU3ZDYwYiBsZWdhY3ktdHJ1bmsKKzYyODYgMzFlMTAwZDlkOTI5YzhiMGQ4YmFhNzYxNjE0Y2RlZDE1YWFhNzA0YSBsZWdhY3ktdHJ1bmsKKzYyODcgY2M5MmZhMmNkODZiZDhlZTZkZjc2NmQ4NGEyNGMyNmY5MzkxNWYyZSBsZWdhY3ktdHJ1bmsKKzYyODggODlkNGY1ZGVkNjcwMzc3NjA5OTk3ZWVlMWIzZjNiMzMzNjQ1N2NiZSBsZWdhY3ktdHJ1bmsKKzYyODkgZjMyNjc2YWIzZjNhMDYxMWQxNzFmODQ5OTBmYWY0ZDk2ZTU5N2QzNyBsZWdhY3ktdHJ1bmsKKzYyOTAgM2M1Y2E3NzI3OTg4M2E0MzEyZTY3MDU5MjI0NjhkOTI3MjFkNzY4MCBsZWdhY3ktdHJ1bmsKKzYyOTEgNWI2YTc5MWFjNmU3ZGU0ZWFkYTI0OWM4ODBjYjkwNDk5MmUzOGYwNyBsZWdhY3ktdHJ1bmsKKzYyOTIgZjdmM2U0YjU2OTNjMTRiZWQzOWRlZjYzZTZiYmRiZjljMTUxYzVjZCBsZWdhY3ktdHJ1bmsKKzYyOTMgMjQwZjgzNGFlZThiYmI0ODQ1ODMzOTQzNDZhOTU1ODcyMjRmYTIzMCBsZWdhY3ktdHJ1bmsKKzYyOTQgZGI0ZWEzYWJmODkxMmM0NzIwOTUwM2U5YzcyMDU2M2MyODE1Y2YzNSBsZWdhY3ktdHJ1bmsKKzYyOTUgOWFhYzM3ODkyZTg4OGZlZDg0OGJhMWRhZDRiNjdhYTRiNjlmMzI0NCBsZWdhY3ktdHJ1bmsKKzYyOTYgODIwYWJhMTA0NmMzOWFmZGYzOTE2OWYyMGY3MzAwMzQ5OWE3ZjhiMiBsZWdhY3ktdHJ1bmsKKzYyOTcgYzNlYzY5YjFmZTM2MDkzM2RkYzY1ZmYyMTNjNWNkZjc4ZTQyMjRhMSBsZWdhY3ktdHJ1bmsKKzYyOTggOTgzMWUwZmMwMWRlMDQ3MjhlOWI4MWZlYTJjZGQ1Mzg2YzAzYTM0NiBsZWdhY3ktdHJ1bmsKKzYyOTkgYmMyMmViNWQ0YTBhMTFiYTY1Y2Q0MjBhNjA1YzIzMzcyYzQxNTRjMiBsZWdhY3ktdHJ1bmsKKzYzMDAgYzM1ZDllMmE2ODYwODMyN2U1MjgyNGQwNGMyNDA5ZmNhMGUxYjlkZSBsZWdhY3ktdHJ1bmsKKzYzMDEgMDliZWJhOTQwOWRkZDRhZjUzMjg3NDAxYzI5NjQyODEyZDBhMmUxOSBsZWdhY3ktdHJ1bmsKKzYzMDIgM2UzZTk1ZGRjZTIyZmIzNDg5ZjQ0NmFhYjVkNWQzMjdmY2YwMjZiMSBsZWdhY3ktdHJ1bmsKKzYzMDMgOTY4NTFmNTFhZDZiZjlmZWRhZTVmNmE0ZWY2YmMxZDhkODM2OGU5NiBsZWdhY3ktdHJ1bmsKKzYzMDQgMDM5YmMzZTRlNjRlYTEyMDhmY2MzOTAwMjIyMTJmNmU2OTgwYjk0YSBsZWdhY3ktdHJ1bmsKKzYzMDUgZjBlZmZmMjhhMjRkZDFkMDU1YzM2YWM1OTNjMGI2ZDRmYWI2MTA5MyBsZWdhY3ktdHJ1bmsKKzYzMDYgNzdkOTEyZjJhYmNiNGYzMzA0MGYwY2I5M2Q5Zjg3NWU3YjQ4MDQ1ZCBsZWdhY3ktdHJ1bmsKKzYzMDcgMzQzMjMyYzFkYzlhMDc0OTM5OTcwZTZkMTUxYzQwYThiM2U5YWJiYyBsZWdhY3ktdHJ1bmsKKzYzMDggZmExNDgwZTYwZWQ2YjQ4ODhjZmVjZjY0MThiMmMyYzk3NmM5ZGUzZSBsZWdhY3ktdHJ1bmsKKzYzMDkgMmIyZWZhNDhmMjhkMjZiOTczY2NjZGRhMDNkMGQ1Y2IzYWY3NmJmYiBsZWdhY3ktdHJ1bmsKKzYzMTAgNWFhYjNmNjY4ZTg0Njk2ZDI1ZDE2NWFlYTczNjI3NDBhZjcyODZiZSBsZWdhY3ktdHJ1bmsKKzYzMTEgMjJlMjliMTc0N2UxMzlkOTU5OGVhYTUxMjZjNTkzMTNhZjM5OTQ5ZCBsZWdhY3ktdHJ1bmsKKzYzMTIgMjZjMjAwMjY2NjExOTgwNmUwMDdhZDM2N2NiODUzODVmNzIyMWRhNSBsZWdhY3ktdHJ1bmsKKzYzMTMgZjY2Njc5YWE4ZGUwYWNlMzZmMzZkYmIzZDdiOTViMzI5Nzk2ZTE4OCBsZWdhY3ktdHJ1bmsKKzYzMTQgMjEwODE2ZDM0OGJhNDVlZTg5MTQ2OTA3OGJjYmE2MmRhMDU4M2RhYiBsZWdhY3ktdHJ1bmsKKzYzMTUgZGUwYWQ3NTI3ZGU3ZmNlODQ3MWU4NjA5NGYyOGI3N2UxY2IwZjVmYiBsZWdhY3ktdHJ1bmsKKzYzMTYgMGQ1NGExNGVmMGI4Yzc0YmZiNjJkNTMzMmYyMzNlNTdlYzc4NjgyOSBsZWdhY3ktdHJ1bmsKKzYzMTcgZDE5MzM4ZmQzOGViNjllODU0MDVjZWUxYTA5YTA3MzY0ZjFlZTZmNCBsZWdhY3ktdHJ1bmsKKzYzMTggZmNkODJhMDE1MDdkMjYyMjk1NTViN2IwOTE0YmNhZWNkNzc1NWRhMyBsZWdhY3ktdHJ1bmsKKzYzMTkgOGRhYjNhZDk2NDAwNmJlZGZlZjhmNTk0MzQwZjMwZDczNjJjY2EyMyBsZWdhY3ktdHJ1bmsKKzYzMjAgOTdkMjRhZjM0OGNmZTgyOWI0MWM3ZDJmMmRhOWQ4OWZmMGExOGM3MCBsZWdhY3ktdHJ1bmsKKzYzMjEgNjlkY2MwMmUzMTM1ZmFiYzczNGU1MGViMTEyODEzM2Q5ZTM3MjFjNSBsZWdhY3ktdHJ1bmsKKzYzMjIgZDFjZmY0OWUzY2M4ZDI4MGE0NmQzY2EyNTU3ODdkMTRjMWNkYTE1NyBsZWdhY3ktdHJ1bmsKKzYzMjMgMGZmYzBiMzYyZmNiYjkzZmFiYmJiNWM1NzhhNjFkYzYyYjdlZDM5YiBsZWdhY3ktdHJ1bmsKKzYzMjQgOTc1MTlkZmM2M2FlYjc5ZGZlOGEwMWZlOTIyZjA4NWEwOWE4NWExNiBsZWdhY3ktdHJ1bmsKKzYzMjUgM2IxMTRmMDMxNWMxNDU2MTQ5MjE2MmFkNzg1YmRkYjhkOWU0ODA4NSBsZWdhY3ktdHJ1bmsKKzYzMjYgMjMxMjZlODA0MGEwYzEyNjJlYTE4ZDBmYWU3MmFkNGQ2NjRmNTVkOSBsZWdhY3ktdHJ1bmsKKzYzMjcgMDQ1N2VhOTRlZjc5ZmFmOWJjNzliZWYxZjI0YThhZmEyZjU0NmUwYyBsZWdhY3ktdHJ1bmsKKzYzMjggNTgzMGVkZTQwODZjNzQ0MDRkNDE3ZGUzMjUxZGNjZTMxNmUxOWQ5MiBsZWdhY3ktdHJ1bmsKKzYzMjkgODNhOTViZjcwODY3ZGJmMzc0ZDdkZTg1OTk3NDRmYTA4YjVlMWZiNCBsZWdhY3ktdHJ1bmsKKzYzMzAgOGI3MWVhNWRhY2M4MzE1NTAyMzlkNzM3OTRmYWFiYTZlZDAxMzUyNyBsZWdhY3ktdHJ1bmsKKzYzMzEgMDg1MzE2NmYwZDY5NjYwZDZjNDMyZWIzOGQyNTcwYWZkNGI3YjdmYSBsZWdhY3ktdHJ1bmsKKzYzMzIgYjYxOTM5NTI0YzNjZWZjYjRhZTBlMjE1MDQ4YzAwNjRkMTZlMDY1MCBsZWdhY3ktdHJ1bmsKKzYzMzMgOGI1OTAxMzk5YWRkYjRlYTIxNjhiZWI3YzkyZjU0MzU0YjFhMGM5NCBsZWdhY3ktdHJ1bmsKKzYzMzQgZDU1Y2RmNDNjMjQwMTljNjQwODllZmEyYzZmODcyNzA3ZmZmYTQ2MCBsZWdhY3ktdHJ1bmsKKzYzMzUgNDU2NmExOWMzNDM4ZDE0ZTAxNmFhMzcwZjIwYzM4ZTdmMTE4ZGQwMiBsZWdhY3ktdHJ1bmsKKzYzMzYgNzgxOTU2ODMyM2MzNzUzZjMyZDIzYjU3MDIxODA0YzY3NzI3MzZkYiBsZWdhY3ktdHJ1bmsKKzYzMzcgNDU5MTAzNTIyOGE3NzNhNTE2YWE0MGU4NTczZjRhNTlkZmJjZGU1MSBsZWdhY3ktdHJ1bmsKKzYzMzggYTNiMDlhNzExNjJiYzIyYmM0YzRiYTM3NjM3NmYyNjA2ZjYzOGQ3MSBsZWdhY3ktdHJ1bmsKKzYzMzkgZTliMzVjYzg4YjUwZTk0MGQyN2JjZGNiMDQ1NzcyYTllYzdmN2E2YyBsZWdhY3ktdHJ1bmsKKzYzNDAgMmFjMmE2MDEyMDViMzM1YmM4NmIwOTE3M2U2ZDU5ZDE0ZjUwOTcwMSBsZWdhY3ktdHJ1bmsKKzYzNDEgNGRkZThjMDQwZjllYzUxNjViZTAzN2ZiZWNjMDNhNWNhNWQ5NTY2YiBsZWdhY3ktdHJ1bmsKKzYzNDIgNWIxNDcxMDk1YTNhMjY3MjFmYjY0MWY0MjU1NjZhNjNiNDI0MjY4NyBsZWdhY3ktdHJ1bmsKKzYzNDMgOWIxOTUyODVmZTE3N2IxNWY0ZGU1NWEzZTRhNjU5NTg1ZmI3MTNjNSBsZWdhY3ktdHJ1bmsKKzYzNDQgNGU5NzkxNjE2NzFmNDM5YWU4NWUyMGJiZGQ1MDI5NTdmZTlmMzBjOCBsZWdhY3ktdHJ1bmsKKzYzNDUgYmMwZWRjNTg5YWQ0OWQ5YjVkNDkwY2FiNTI1M2FkMjRhNGViYzc5OSBsZWdhY3ktdHJ1bmsKKzYzNDYgZGM1YzExMTc3MzM5ODBlOGQ4NzU0MWU2MjcwMzdiNGE3ZTUwYWZlOCBsZWdhY3ktdHJ1bmsKKzYzNDcgMjgzOGRiODNkMGVkMzg2MDRlZjYyOGE0N2QxMGM0MzIwYTM5NTBiMyBsZWdhY3ktdHJ1bmsKKzYzNDggMDYzOGZkYzIzZWVjNGJhNmU2YjNlMjQ4MTg4ZjllNjE3YmQwYzgwMSBsZWdhY3ktdHJ1bmsKKzYzNDkgNDA4ZTM3NDkzNGU1YTQyNGQzMDQzYmZkNjRiODk1YWEyMTc1OTc4YyBsZWdhY3ktdHJ1bmsKKzYzNTAgNDI4NjkxMDA4MGE5ZmVhYWZkZTNmODEzMDc5YjhiZGJkMzc0OGQwYSBsZWdhY3ktdHJ1bmsKKzYzNTEgZmVlOTI4ZjE2NjFlNzc1MmY1NzI2ZmYzODgyYWRkZjAzYjk4MjljOSBsZWdhY3ktdHJ1bmsKKzYzNTIgZDBiNDU2NmUyMTA3YTUzNzQxODEzN2VlMTA3ODllYWJlODI1ZGNhNSBsZWdhY3ktdHJ1bmsKKzYzNTMgMmRhMTJjOWQ3MTRmNDczMmJiZDQwOWU1ODU2NjE4NmJiMmZlMzExNCBsZWdhY3ktdHJ1bmsKKzYzNTQgMzU3ZDczOTVjOTk4Y2RmNjZlYmY2NDZiZTU0M2Y4MzQ2NWNmYzQ4MyBsZWdhY3ktdHJ1bmsKKzYzNTUgYzg4M2Q1ZTI0YWQ4ZjMzNWM5MmVhZjZkMDJhYzlhODQ1NGE0NGVjMSBsZWdhY3ktdHJ1bmsKKzYzNTYgNmRjN2VkOGE0MzRiMWZmMzY5MGZiOWE1OTgxMWEyMjQ5YzEzMzRlMSBsZWdhY3ktdHJ1bmsKKzYzNTcgZmM5YjE2NWE4YTA5ZDMxMjg2YmUwODYwYTk4NDM3NTBiMzk0Njk2MCBsZWdhY3ktdHJ1bmsKKzYzNTggODFmNjBmNTJiODczMjU4NWFmNGU4YzM3YTljZjQ3NzE5Y2RhZTA0ZSBsZWdhY3ktdHJ1bmsKKzYzNTkgOTU3ZjQyZWEwZjg0NDQ0ODZhMjM3Y2I3OTJiMzA1N2VkN2MzMjNhMCBsZWdhY3ktdHJ1bmsKKzYzNjAgM2M3NTMwNmE2NWNlZDQxNjYzMzc4YzY5MGNhNWEzNDU0ZTlkYzdhOSBsZWdhY3ktdHJ1bmsKKzYzNjEgNTcxNjgyNWY2ZTliMTM3ZmY4NjdlM2Q5YmFiYjQzZjhlMzEzNWE1OSBsZWdhY3ktdHJ1bmsKKzYzNjIgZjkwMzAxNTQ0ZmE5YmU4OWE2YjhmMmE4OWM4NWI3YWE0ZDE2ZWIxMiBsZWdhY3ktdHJ1bmsKKzYzNjMgZDllN2YxMDg4YzNiMzYzYmE0ODUyY2Q4ZWE3MWM4Mjc0MWU3NmU4MCBsZWdhY3ktdHJ1bmsKKzYzNjQgYWIwODg5ZTQyMWVkNDdhMmIyYTU0MDQyYjk2NDQ2YjY0NDgwNTdhNCBsZWdhY3ktdHJ1bmsKKzYzNjUgOTU4ZDRjNjc1MjZiMDljZGRkMmUyNjIyNTQyMzE0M2UwYjJkZTQ2NCBsZWdhY3ktdHJ1bmsKKzYzNjYgYTUwYWU4MzkzZDM3ODBjYzc0M2JmOWI4MzcwNGMxYjk5MDUwMmVmOCBsZWdhY3ktdHJ1bmsKKzYzNjcgMzNlNWQxZDQyY2MyNjJmOTgyMDRhYmQ5MzUzYzE5MmVhN2NkNzUzMyBsZWdhY3ktdHJ1bmsKKzYzNjggZjRhM2IxNmU5NWYwN2ZhYWY0ZWYxZDBhMWMyZGJhYWU5OTI2YzQxYyBsZWdhY3ktdHJ1bmsKKzYzNjkgMzE4ZTY4OWMyMjBmOTIxOTdkOWVjNzY1YmU2OWVjYWYzMjQ3NWQ0NiBsZWdhY3ktdHJ1bmsKKzYzNzAgOTRjNmJmNmZkN2Y0ZmEwOTUwMjRjN2RhZjg4YWI0YjQ5MjFkYzUzYSBsZWdhY3ktdHJ1bmsKKzYzNzEgNTg0OTM2ODkwZjg2NjkxNWQyMTU0YmQ1MjVlNTBmM2Y0NWYyZDE3NyBsZWdhY3ktdHJ1bmsKKzYzNzIgY2JhNGNlMTVhMGQ1Yzk5YWE2NWE5Yzg1OTY4NGRkZTVjZGQ3YzZiZiBsZWdhY3ktdHJ1bmsKKzYzNzMgY2UyZDkyMzliYTgxMTQ1ZDhjNjBjMmM2MWY5MDVkZWI3Yjg2ZDgzOCBsZWdhY3ktdHJ1bmsKKzYzNzQgMDg2NGE2M2ExMGE5MmMxN2M1MWNkMzA0MTNlMmJkMDNmZmNiMWNiMyBsZWdhY3ktdHJ1bmsKKzYzNzUgYTNmNjdiYjk2YWRjOGMzMjZkZmZkODUyYjBlNzFmYzliZTczM2FhNiBsZWdhY3ktdHJ1bmsKKzYzNzYgZmU0MTE2M2MwMGMzZmYyOWRlNWY1NmU2M2MzMjI4ZDQ0ODdmMDEwNSBsZWdhY3ktdHJ1bmsKKzYzNzcgOTdlNzAxMWZiMWIxOTFhMzA0ZjY1YmY0M2ExNTZjM2ZjMzcwMzIwYSBsZWdhY3ktdHJ1bmsKKzYzNzggYTBmZDgxNjg4YmU1MmY1ZDU3Mjk1OGM5YzI0Y2MwNDkxYjZlYjMxOCBsZWdhY3ktdHJ1bmsKKzYzNzkgYWMxZDVhYmZkNzhlZTQ5MTBkN2U1ODMyYTc4YzU0NTI1ZDJhMzIxZSBsZWdhY3ktdHJ1bmsKKzYzODAgODY3MTY0MmUxNGEzNzhmOTk4YjkxZTgyMDZhNTc4NTViOGE0MDg2ZCBsZWdhY3ktdHJ1bmsKKzYzODEgNmQ1MDk2YjcwMzhkOGExNjlhNzQxYjA5ZTFhZWZiMTUzOTNkZDRjMiBsZWdhY3ktdHJ1bmsKKzYzODIgOWNmMTFhZjM2MjhjODk4NTljNTMxZDUzNWZjNGM3ODkzYzIxYzgzMCBsZWdhY3ktdHJ1bmsKKzYzODMgYTlhOTJkYzJiMzc0OTQ2YzI4NjQxNjEyMjNlYzE3ZmE3NjlkMTdmZSBsZWdhY3ktdHJ1bmsKKzYzODQgNWJiZTBkY2UyZTI2NzFjYWZiOGEwNDI3NDZkNGU1Y2MzODcxYzYwYyBsZWdhY3ktdHJ1bmsKKzYzODUgZjI4ZDNkODk4MmEyNWE3Mzc1YTFhNTFmZmQzNmUxMjI0MWExZmY0YiBsZWdhY3ktdHJ1bmsKKzYzODYgNTI0Y2Y1MDFjODUxZmQ4NWEzOWU3MmU1NjljYWU4MDY3ODdlM2NhMyBsZWdhY3ktdHJ1bmsKKzYzODcgMzQxMTQ2MTAwZjM4Y2E5OGZhNjdlNzBmYThlYTAwOWY5YmRjYzQyZCBsZWdhY3ktdHJ1bmsKKzYzODggODRlMTZjZjkyMTk5MjViNWNlMzhhNDk4OTBkMDI1OTlhZWZjMjI2NyBsZWdhY3ktdHJ1bmsKKzYzODkgNDQ0MTJlNDZmMjY4NzdlOTQ3MzBmNTkyNTdmNzhiMzhlYTM5YWU0OSBsZWdhY3ktdHJ1bmsKKzYzOTAgN2RlNWUxMTUzYjM5MmNiNmQ1NmZhZTVjM2Q2YTM3MTU5NGVhNDhkZiBsZWdhY3ktdHJ1bmsKKzYzOTEgZjQ4Nzc5M2Q2MDE4NDZkMGY5NjYyMTM3NTk3YmVkODliMzFmMzQ3MyBsZWdhY3ktdHJ1bmsKKzYzOTIgOTM2NjE2NGY1YzRhOTNkNzI5N2NhOGQ3NDk4MTI1YWNhMDE3NjEzZiBsZWdhY3ktdHJ1bmsKKzYzOTMgYzJhZTA0NDBjNDI0YTcyMjg0YTU3ZWM4NDIxZTk3NTM1OTU5NjljYiBsZWdhY3ktdHJ1bmsKKzYzOTQgZThiZDQzMGNkMzU3ZTg2Y2Y5OThkN2Q4OThmOTUwNTQyY2YyNWY5MSBsZWdhY3ktdHJ1bmsKKzYzOTUgYTM5ZDA2NDk3NTIwMzViN2Q5YTU2YjJjNDZlYTUxZGFkMTE4YTYxNyBsZWdhY3ktdHJ1bmsKKzYzOTYgMDYzZDg2NzQxNDEwZTJlZDg3ZDFjMjk2ZjlhZTE3ZTIzYzRmZjRjZCBsZWdhY3ktdHJ1bmsKKzYzOTcgNGJjZWU2M2Q1YmIxN2RiMDM4Mzc2NmZhNzM0MDBkM2E0YzMzYWVmOSBsZWdhY3ktdHJ1bmsKKzYzOTggMWRhMTY4MTg1ZTRlMDViODlhNTA4NmExOGRkYzZlOTMxODdjY2ZiYSBsZWdhY3ktdHJ1bmsKKzYzOTkgNTNlNzU3YmI2N2Q1ZDYzMWU2YmE5ODFiNWY4NGM3YzgxMmQ0NzdiOSBsZWdhY3ktdHJ1bmsKKzY0MDAgMTY0MGUzNTU5Yjg2Njc5OWQ5YzNlYTA5YjIyNTk5OWJiOGRjMTE1YSBsZWdhY3ktdHJ1bmsKKzY0MDEgZmY2OGEyZWMxZmYxMmNiNjE1Y2NiYzg3MmE1NmM1MjcwNGY0OTc5OSBsZWdhY3ktdHJ1bmsKKzY0MDIgNTJjMTllZTgzYTZiMGY3MWM4OTAwN2E1ZDIyYThkZGJlZmExOTI0ZiBsZWdhY3ktdHJ1bmsKKzY0MDMgODgyYTMxYjdmODczMTFmOGUwOGYwMDgyZGEzYWNiNDRiOTJiZTgxNyBsZWdhY3ktdHJ1bmsKKzY0MDQgZmUxMTk2OTk1MzQ0NmQ3MGFhOTIxMTM0ZjhkMzg3MTA3MGMxNDVkYyBsZWdhY3ktdHJ1bmsKKzY0MDUgNjBiYjc0M2I4YTVjMjAwMGQzYjA1NWY3MjI0NzhlNTk0YmJkZTM4NCBsZWdhY3ktdHJ1bmsKKzY0MDYgZjlhZDk4YjU4NDcyYjA4ZTdlNTk1MDJlNjMzMDNlMjhmNTgzZTgyOSBsZWdhY3ktdHJ1bmsKKzY0MDcgZDdkODcwNWJhNjQ0NGRkMGQ3YTFkNWEyMTg0OGIyNTcxNGI2YzljOCBsZWdhY3ktdHJ1bmsKKzY0MDggNmUwYmJhOTNhMGViMzM4NjA5NGRjM2E5ODQ5NzgzMjg3ZmVhZDgxOCBsZWdhY3ktdHJ1bmsKKzY0MDkgZGVjZDEzZjY2MjlkNWE0MzI0MGY1ZTVlNWQ4Y2RlZTMyYjc4NzEyYiBsZWdhY3ktdHJ1bmsKKzY0MTAgNjFiNGNhZTc3ZjdlODczNWFiMDY2NmRlODI4NWFjNTRiODZhNGNjZCBsZWdhY3ktdHJ1bmsKKzY0MTEgNjc1MzI4YjA4MTIyYjljYzk0NGVkMTIyZmQyZmNjN2ZiNDM3ZjJmYSBsZWdhY3ktdHJ1bmsKKzY0MTMgNDZiMzNjZjhiOTEzZTVkMDcyMmRhMWE1NWU4NmM1NWM5MjNlN2UyYSBsZWdhY3ktdHJ1bmsKKzY0MTQgMGQ0NDM3ZDFjMmI1N2ViYmJhZmFlMjAwZTJiNTkyMWNhYjBmYmY2YSBsZWdhY3ktdHJ1bmsKKzY0MTUgMzg2ODQ4NTIzNzZmNTQyMjYxMzk1M2MyZDBkMmIwZDY3ZDJlMTQ2YiBsZWdhY3ktdHJ1bmsKKzY0MTYgNmU2MDllMjY2YmU5ZDEwYTliMWEyMzYyZGQ1NjRmNjlmNGUzZTdjOCBsZWdhY3ktdHJ1bmsKKzY0MTcgZmJhZmIwY2QwYTJhNTVmZjMxM2FkNGU3MDkwZDEzNzRmODA0ZjgxNSBsZWdhY3ktdHJ1bmsKKzY0MTggNzNjZjcwODJiOWU4ZDc0MTQ3MmM0Y2ZiZThjNjZkZDI3MTUzNDkzMiBsZWdhY3ktdHJ1bmsKKzY0MTkgNmY3OGQzMTY0Mzc2YWUyNDIxZjUwMDQxN2ZmMmNkNzkwMjA1MzQ5MyBsZWdhY3ktdHJ1bmsKKzY0MjAgMTA3NTNlNGQ3NmU3MWRjNmEwODVlNTI2MjJkZjkxNGE3NGMwN2NhZCBsZWdhY3ktdHJ1bmsKKzY0MjEgZGVhZGVhNDNiYjUzNjQ1MzVlNWRkMTcwZjI4YWVmMGQxN2NmZjk1NSBsZWdhY3ktdHJ1bmsKKzY0MjIgM2FjYWY3YWY0OWNjMTAxMzY2MzBmMzQ1N2EwMDI1ZWEwNmFkMmYzOSBsZWdhY3ktdHJ1bmsKKzY0MjMgNzVkMDE2Yzk3ZDFjMmNlZWY0NzhmZTg3NWMzMmJkMDg1ZDFjMDMwYyBsZWdhY3ktdHJ1bmsKKzY0MjQgOTA4MTgxOWFiYmY1NTY3NDJhOWY5ZjQyMGIzNTY1OWVhZjQwYWRmMCBsZWdhY3ktdHJ1bmsKKzY0MjUgN2VlMWIxMDBlZDI5YTRmZjFmMjMxNTdiZThjMGNmYjQ5MmE0M2QwYyBsZWdhY3ktdHJ1bmsKKzY0MjYgZjBmOGI1MGI1YjZjZDY4NmVjMGU2YmI0OWNjZjAxZGZlZGFiM2M5MCBsZWdhY3ktdHJ1bmsKKzY0MjcgOWQ4YTk2NWRlN2VjOGFjOWY1MzZkYzU1NjU0MTQ5NmU0YTgxNjUyOSBsZWdhY3ktdHJ1bmsKKzY0MjggMjkwMTViNThlOTIyMDIzNDUyOThlZmI5ODEwZjk0Mzg3Nzk5NzhhNiBsZWdhY3ktdHJ1bmsKKzY0MjkgOGUzMDliZTg5ZWU0NTRmMTdkZDA2MGUxZTU5YWVkMjdiNzkyZDBlOSBsZWdhY3ktdHJ1bmsKKzY0MzAgZjAxZTdhZjFkZDYwNjgzYjFmMzAyZTkzMjU3YWM0NzM4NTg2ZWQxMyBsZWdhY3ktdHJ1bmsKKzY0MzEgYjg2YzgwNDQ4ZDM1NWU3ZTg5Y2JjNzZjMjI0MzU0YmNhYjMxMmNiMyBsZWdhY3ktdHJ1bmsKKzY0MzIgNmFmN2E3MDNhZGFlZGExYzZmNWU1ZDVkMmI1YzI5NDg0MjJhMjY0YSBsZWdhY3ktdHJ1bmsKKzY0MzMgOTBmNTA1NTU1MGQ5YTA0ZTUyYTZjZjZkNTAwMjE1MWM3ZWM4MTJjYyBsZWdhY3ktdHJ1bmsKKzY0MzQgYmZkOWJhZjNhOWMyOWZlNWVkNjNlMmE2YTgxYTIxMGM0ZjVhYTg4OSBsZWdhY3ktdHJ1bmsKKzY0MzUgZjA4ZDdmMzY4ZWJmYTE4ZTk5ZDAzYTZhOGQ0ZGYwN2Q1MDRlNGZlOSBsZWdhY3ktdHJ1bmsKKzY0MzYgMDA3MjI5OTBiODBjMzFmMmVkOWRkZjI1ZjVkYTQ4M2YxODY2NjRiMSBsZWdhY3ktdHJ1bmsKKzY0MzcgZmNmZWM2YTgxMGJhNTQzZTY3YjIwZjkyYjE5NDk3ODhkNmZiNWE5NyBsZWdhY3ktdHJ1bmsKKzY0MzggOWMwNWZmNmZiMGE0ZTRiYjc1ZTViZDA2M2ZlOTdhMjFiNzEyNjE0NyBsZWdhY3ktdHJ1bmsKKzY0MzkgMjg5N2RhZmVkOTVhNzI4NGVjZjlhYTRjYTI3YmYwZDJlOTExNjcwMyBsZWdhY3ktdHJ1bmsKKzY0NDAgNTMwMTllM2E2ZDVhMzQwNTkyODJlNWY3NzhmMzdhZjJmMWQzZTI3MyBsZWdhY3ktdHJ1bmsKKzY0NDAgMTI5ZjEyOTlkNGU5N2U4ODRiYmJiZGQwMGJhZjEwMWQxNzg5NzNlNiBsZWdhY3ktdHJ1bmsKKzY0NDIgYWQ4OGEwMDA1MjFmN2IzZjNlZGI1NTRlYmFkZDg3NzBlOGYwMDhkMyBsZWdhY3ktdHJ1bmsKKzY0NDMgZGMxNDQyNTk0OThmY2U5YWE2ODliMjhmYmM5NzYwMmNhM2FmMzBkMSBsZWdhY3ktdHJ1bmsKKzY0NDQgMTQ4MTUyNTJjN2EzYTVhZTQxZDNmODkxYjVmOGIxMmJiODM4MTkwNCBsZWdhY3ktdHJ1bmsKKzY0NDUgYmIwY2U2NTNjMmJhMDI3YmI0MTI5OTdkMGIxOGI0YTcxNmRiZjZiMyBsZWdhY3ktdHJ1bmsKKzY0NDYgM2QxZTRiNzZmNzQ1YTkyYzkxNWE4NmRiM2JmZDE4ZjM3N2U2ZDg5ZCBsZWdhY3ktdHJ1bmsKKzY0NDcgZmM1MDVmMDJhZDhhMjgwNzU5ZWIwNzRlNTJiOWIwODAyMDA1NDY5ZCBsZWdhY3ktdHJ1bmsKKzY0NDggYjc2ZmU2N2VlZDQ0ZWE3MDkzMDIwZDc5NTYxNzBiNmE3MWY1YmUyNCBsZWdhY3ktdHJ1bmsKKzY0NDkgYTM0OTk3YjZlZGY0MmJkN2RlMTUyMDMwZjIwYWUyMjU0N2MyY2MyNyBsZWdhY3ktdHJ1bmsKKzY0NTAgZWFlYzRmNmE4YmU4Y2ZmN2ZlMTNiYjA5NzAyMzA0YWJmZWQwOTUzNSBsZWdhY3ktdHJ1bmsKKzY0NTEgYjkzYzRjZmMyY2ZlYTRiNGMzZjQ2M2E0Y2FlNTM1ODg4MDAzZWU3MyBsZWdhY3ktdHJ1bmsKKzY0NTIgODdlNTNjNjJjYWM4MjE2MGM3Y2Q5MjY4ZjA5YzdmMTNlMTgwNTg3MSBsZWdhY3ktdHJ1bmsKKzY0NTMgNGI1MDk4YjFmY2VmMjgwNjBhYjg5MGNlOWEwMmZjZTkyMzZhYmEyMiBsZWdhY3ktdHJ1bmsKKzY0NTQgZmI1ZmMwMzIwZTZlNWQ1MmRhYWM5NzU0NTM2OGNjOGJhOWM2YjFhYSBsZWdhY3ktdHJ1bmsKKzY0NTUgY2FmMTEwNzI0Y2MxNzdlNDUwM2JmNjA3OGRiNzIyOTZhNTEyOTdhMiBsZWdhY3ktdHJ1bmsKKzY0NTYgNDQ5MDI1MTY2MTRhOTAxZmM5ZWQ5ZmNjNjhkYTkxZDAwZjRhYjE1OCBsZWdhY3ktdHJ1bmsKKzY0NTcgMDYxM2YxN2RjZmQ4NjUzYTMwNDc0NDcxM2QwMmY3YjE2YTY3YTU2MyBsZWdhY3ktdHJ1bmsKKzY0NTggMDExY2ZlNzQ5MGViNWY5NmY0ODM1YjRjNjVlODZjZGM2OWZkZTJjMSBsZWdhY3ktdHJ1bmsKKzY0NTkgOWMyY2JmMzA2ODY0ZDJmYjliMDUzYzNkOGIyYmM0MWU0NDhhOTJiMCBsZWdhY3ktdHJ1bmsKKzY0NjAgNmZiYzVjNjY1ODEyMWU1YTQwODUwMjBkZGNjMDZmN2ZiMTY2YWUzNCBsZWdhY3ktdHJ1bmsKKzY0NjEgZWZiM2E1YTJjZGVhY2JmYjFmMzBlMzkzNGU3ZmFiM2EzZGU3ODg4YyBsZWdhY3ktdHJ1bmsKKzY0NjIgYTgxNTc2NWI0Njk1MmMxZjNhODgxNjE4MjQwNWUxMDhlMTdmNTAzMiBsZWdhY3ktdHJ1bmsKKzY0NjMgYWU4ZDFiNDY5ODEzYTcxZmE3NTNjYjQwZDEwM2FmZGQ3Y2Q5MmRiNCBsZWdhY3ktdHJ1bmsKKzY0NjQgY2ZiOGI3YmMwMjMzYTVmMTJjZTE3ZjVhZDEwOTFlZDZkZGU1ZGQyMyBsZWdhY3ktdHJ1bmsKKzY0NjUgYTRhYWM3NjZjYmYwMDU4MjhlYTlkMmJhNTRiYzk3NTYxZTdhN2FkYyBsZWdhY3ktdHJ1bmsKKzY0NjYgNjQxNGZmYjdmMjg1ZDM2MmUzMjNjNTY4OTc1NTA5NjUwMDJlNzM1ZiBsZWdhY3ktdHJ1bmsKKzY0NjcgM2Y1N2FiMzJiNzQxMmIzMzVjMGU4YTM4MWE0MTI0MjNjYWFhYmRlNSBsZWdhY3ktdHJ1bmsKKzY0NjggY2EwZTA1ZWM4NWI5YWFkMzBkMThkYTkwYTRkYzNhODExZTVhNjFjMSBsZWdhY3ktdHJ1bmsKKzY0NjkgMGVjMmNlOTdiOGUzY2JkMGFhZGVlMDMxODEzNWExZTJmODhjMDMyNiBsZWdhY3ktdHJ1bmsKKzY0NzAgODA2OTc5MGIzOTc0MDA5MTllZTk5MGNkMzkyNDRmNGQ0MGMyNDY3YiBsZWdhY3ktdHJ1bmsKKzY0NzEgZjYzMGEwNjdhZThjYjIyMTBiNjhjYzc4MmY4NWUxNWVlODliMTkzOSBsZWdhY3ktdHJ1bmsKKzY0NzIgYjA5NzZjZGJkNTk4MDNiMzAzZTZjYTAxMzY5MDU2YzdiMGFhNTU3YyBsZWdhY3ktdHJ1bmsKKzY0NzMgYmZmZmQzOGQ2MDBiNWQ5NjVhNWNmYmU2MWE0NjhlZGE1ODJkMjM1NiBsZWdhY3ktdHJ1bmsKKzY0NzQgMWVkNzczZTE1OTM2OTM0NWMzOWUyODY3NDQ5ZjE5ZTNlMWJkYTFmZCBsZWdhY3ktdHJ1bmsKKzY0NzUgNDI0MTU4MjYzNmFkYjM4ZWNjMTQzODJkY2QwYTNmYTVjODY4ZDFkMiBsZWdhY3ktdHJ1bmsKKzY0NzYgMTM4ZmExNWExMDMyZWMxYjE4YzY5MWU2ODFjZTgzOTdiZjhjOGVjNCBsZWdhY3ktdHJ1bmsKKzY0NzcgZDNhMWY2MDg4YzI4ZjEzMTk5ZjBjMjQ2MDBmZjFiOWI4N2VjZDg3NyBsZWdhY3ktdHJ1bmsKKzY0NzggNzQ5NTMyMjQyN2M3NmFjNmUzZjc5NTM2NzYzZDk1ZDcxMWYyYzI3ZiBsZWdhY3ktdHJ1bmsKKzY0NzkgYzJhNjExYWUwZmVjZjQ5NjkwMDNjMmU5ZjUxYmI5ZjE0MmE0ZDg0YiBsZWdhY3ktdHJ1bmsKKzY0ODAgMWEwYWE5ODZmNmZhNjQ1NWI3YjEzZjdlYjQyYTVhMmU1ZDdjMTE3NCBsZWdhY3ktdHJ1bmsKKzY0ODEgMThjMzI3MTRmOGJhNTVkMTU1ZWE2YTg5NjJjZTA5MjkwMWM1MzYxNyBsZWdhY3ktdHJ1bmsKKzY0ODIgNjExMDY5ODZhMWE0YzliZDUzNWM2MTExYzRhYzlkZjQwOWEwY2VlZiBsZWdhY3ktdHJ1bmsKKzY0ODMgY2NjZjlmMjczMmNmM2VkNGZlOTdmN2U1MWYyNTI4ODcwYTQ3ZGQzZiBsZWdhY3ktdHJ1bmsKKzY0ODQgOTI5NDExZGIyMGE4NTg3ZjYxNTQ5NzIwZDgwYjg3NjM1ODA2YTg3ZSBsZWdhY3ktdHJ1bmsKKzY0ODUgMjJhMDMzYmJlNjU1ZjE1YjQwM2Y0NjFkYjQwYjRkZmU2YTU2ZjUyMiBsZWdhY3ktdHJ1bmsKKzY0ODYgYWE5NTQ4ODg1YjNmODBhMzIzYTg3MTI3NDRhYTVmYzdjNTc2Y2ZjOSBsZWdhY3ktdHJ1bmsKKzY0ODcgNDkwOWVmMzllYWYxZGI4MjQxNDY4NDUwMjFjOGVmMzQ1MTkwNzM2NSBsZWdhY3ktdHJ1bmsKKzY0ODggMjExMjE1YzFjNTBkNGIyNGEzZDc0ODRiMzIxOTYzNmVhNWYxNjc0NSBsZWdhY3ktdHJ1bmsKKzY0ODkgOTM4OTE4ZmYzNTM3OTUwZTY5MjQ4ZTRlYjJmYmY2YWUzNTdjNjY2NyBsZWdhY3ktdHJ1bmsKKzY0OTAgNWRjOGMwNDI5MDViNWMxZWIyMjZkNTg3YWE2NWRiM2FhNjcwNGE0MSBsZWdhY3ktdHJ1bmsKKzY0OTEgNDBjOTI5MzM1ZDdmMjQ0NDIyNmM0ZjdiNzcxNWU2NjdhOGQ1MjMwZSBsZWdhY3ktdHJ1bmsKKzY0OTIgMWRlZTNlNGY2N2RmMDIyMjRlODVkMzNmODRiNmIwMjMwZTM2MDg3NSBsZWdhY3ktdHJ1bmsKKzY0OTMgZjQ5ZTQwNTdlYjY4MzAyZjI5OWIzN2FmY2Y3NjEyMjkzODllMjUxNCBsZWdhY3ktdHJ1bmsKKzY0OTQgY2YyNjMwYTQxZjg3NTJlNmZmNTM3NThjMTZlY2U1YWNhYjkxMzYzMyBsZWdhY3ktdHJ1bmsKKzY0OTUgNGZjY2Q5ZWVlNjc5YzIwY2M3MWVhMTU4MDJkOGViMDAwYzU4NTdkYiBsZWdhY3ktdHJ1bmsKKzY0OTYgODkyZjQ1NjE2NDhhMDk1MGUxYzVhN2JiMTUxYjU2OTg0NzYxOTgyMiBsZWdhY3ktdHJ1bmsKKzY0OTcgNTNkNTExYzAwMjlmNTQxMzE4NTdmMmNkN2RkZTRlMGIyODFmOTQxZCBsZWdhY3ktdHJ1bmsKKzY0OTggODU0ZjI1ZmRlOGY0MmMwYTI3ZjgxNWNiODY1NzY3YmY0ODkxZWQ2NiBsZWdhY3ktdHJ1bmsKKzY0OTkgNmJiYzEzYjdkY2E4OGI4Mzk2MDgxNTU0ODVjNmE4ZmU5ZTA3YmQ0ZiBsZWdhY3ktdHJ1bmsKKzY1MDAgMmNkYjhmNWFjMzY1ZjhkY2ZkNzg0NzcxYmNkYTE0YWIzOTYzNzRmNCBsZWdhY3ktdHJ1bmsKKzY1MDEgZGEyYjlhZTkxZDk1M2VjNjBiOTE2YmY0ODczMGE5MDc1NmU5YjIxMCBsZWdhY3ktdHJ1bmsKKzY1MDIgODJjOWRlZTA1M2JjNmQ0NDFlZTRhOTk2N2E4YjM3NTA4NmY5Mjg1NSBsZWdhY3ktdHJ1bmsKKzY1MDMgZTc3ZmFmNTU2OTdiOGYzZGM1MmVhMDRlNzA2YzhkYTNkZGE0OTQwOCBsZWdhY3ktdHJ1bmsKKzY1MDQgM2EyMDAwMDJkODBhODgwZWEzNTA4MWZhNjZhYjBkOGY4NjYyYjU1MCBsZWdhY3ktdHJ1bmsKKzY1MDUgODkzOTQ5ZDFkMjhlYWE3ZTJmN2Q1Mjg3ZWRlMTQyMjVjNzA2ZDk5NCBsZWdhY3ktdHJ1bmsKKzY1MDYgNTU5MmRlOTY1NmRlNGE5MjAwNDllMDVkMWViMzRiNWI4ZjY1YWMxZSBsZWdhY3ktdHJ1bmsKKzY1MDcgYjQzMzM4YzUyMzFlMTA1MzE2MTRkMjAzNzI1NDFhNWNlMTllZWVjZCBsZWdhY3ktdHJ1bmsKKzY1MDggZDFiYWVjNTcxODUyNGMzMzM0OTg1NjliZjhhZGY0OGQ0ZGIwMTE1NiBsZWdhY3ktdHJ1bmsKKzY1MDkgZjdjMjQzZDAxODQ0NjlkY2NmYTIwMTVlNjc4NDM1NmZhNTc1ZDM5OSBsZWdhY3ktdHJ1bmsKKzY1MTAgY2EzOTM1NWJlNTVhMmJhZWM5OTAzOTVmMGVhOGVjNDEzYmMyMTEzYiBsZWdhY3ktdHJ1bmsKKzY1MTEgMjYxNDcyZmE5NzJhNzU4MGYzNDMwZGI4MDczZGVlZGJhOGMwYjVlMSBsZWdhY3ktdHJ1bmsKKzY1MTIgMjNmMjgwYWI1NDA5Yjc5ZTYxNzNkNGUxZjg1MWRiYjY3NTU5NGQzMyBsZWdhY3ktdHJ1bmsKKzY1MTMgZjQxZjBjYWYxY2ZjZTJmNTQyNDBiNjEzMDU5NDM4OTRlNjQ2ODJiMSBsZWdhY3ktdHJ1bmsKKzY1MTQgOGEwMTBkZDQ3MzZlYjgzZTBlNjM1NmY3N2Y0OTU4YTU2YzU3OGMxYSBsZWdhY3ktdHJ1bmsKKzY1MTUgNmI0ZDBmMWEwYWU5YzliYjU1YzE4ZDBkYzBjMmFlYWEwYThhYzIyNiBsZWdhY3ktdHJ1bmsKKzY1MTYgZDZjN2U0MGNiZmRmMGEzOTNmNmI0MjIzNDM1NTA0ODNhODk0NDk5ZSBsZWdhY3ktdHJ1bmsKKzY1MTcgZWY3ZTNjNDk5YTRkYTAxY2QyZTEyZDM1NjUxMDczNWJkOWQ5ZjgwNyBsZWdhY3ktdHJ1bmsKKzY1MTggOTZlMGE3MjA0ZTMxZDgwZmY3YTE4NGYwYTIzNTcwOWJhNGVmMWJjOSBsZWdhY3ktdHJ1bmsKKzY1MTkgZWI5ZmM0MDRjMDY2MzEzZTRlOWFlNzZiZDNlMDdjNWQ3OTMzMWQxYSBsZWdhY3ktdHJ1bmsKKzY1MjAgM2U2ODYzY2VhMzgzMjYzYzU5ODJjNzNhODQ1MjVkMWE3NzE2OGIwZSBsZWdhY3ktdHJ1bmsKKzY1MjEgZjdiMTNkNDE4MmIzZGFlOGIzNzNlMjJkYTc5MmJjNDQ4ZGY2MjBkNSBsZWdhY3ktdHJ1bmsKKzY1MjIgYTJkYzdjZTRkZmJlN2JkNmZjM2NjMzI3NWRiOWQ2MGNlODhhZDNiYSBsZWdhY3ktdHJ1bmsKKzY1MjMgYmMwNjVkZjAzZWU0ZWY4OGMyYzQ4NmRhZmFhNTAzYzQ5NzkxODY2NSBsZWdhY3ktdHJ1bmsKKzY1MjQgZDZjYTZlMjA3OTk0NzcyMjkwNWIwMjg5MDhjMjE2MjI1YjM1NzY1YSBsZWdhY3ktdHJ1bmsKKzY1MjUgZWY2Yzg5ZmUyMWVkZWExYWRjMThmYjU1ZTAxMTUxMjZkNTA0YjU4YiBsZWdhY3ktdHJ1bmsKKzY1MjYgYWM5MjViOWExZDY3NzIxMzdlNWM2YmY5M2EwZDZhMGJlNDM2NmE4NSBsZWdhY3ktdHJ1bmsKKzY1MjcgNjY5Y2NkOWU3MTdlOGVjOWUyY2VlYjg4YTZmOWYzYWYzZTRiZDk5NCBsZWdhY3ktdHJ1bmsKKzY1MjggZjAxMTBjNWM2MjI3OTJiNDY1YjNiNTdiYjFjMWRlMWY5M2E5YTQxNiBsZWdhY3ktdHJ1bmsKKzY1MjkgNmRlZWUzYjIwNmI5OTQ3ZTQ0ZTgyNjkwYmNmZTBmYjkxNDJkMmYyOCBsZWdhY3ktdHJ1bmsKKzY1MzAgODE4NTk5ZTM5MTIzY2NiODFiMzkzNzZiMDg1OTYyMjQ4MzM0MmM3ZCBsZWdhY3ktdHJ1bmsKKzY1MzEgMjFiMjhkY2ZhODY1NDNkNzVkNzQyZjA3YmIzODEyODI0NzliNDUwNiBsZWdhY3ktdHJ1bmsKKzY1MzIgZDY4OTczODVjMzE4NWZjYmRkZDliMTI4MDIzYTM4N2RkZTU3Y2I2NCBsZWdhY3ktdHJ1bmsKKzY1MzMgNjRhNThiMGZiMTY3MTBkY2I3Mzc5NDdjYTY1NTk0YzUwYzQ3OTVjYiBsZWdhY3ktdHJ1bmsKKzY1MzQgNGJmMDFjNjZjYjY4NmNhOTg1MDNkNjE1YWFkNTA2YjhjOGUwYmVkMiBsZWdhY3ktdHJ1bmsKKzY1MzUgZDZkZTJjMTQ4ODE5YWM3YzNjZmI4MjJmNjc0M2Q1OWI0MDI3ZDIxYiBsZWdhY3ktdHJ1bmsKKzY1MzYgYTU4OWNlZGNiZWY1NDY1NDUxNGFkMTViMjQxMWU4NWVjZDE4ZTRhMiBsZWdhY3ktdHJ1bmsKKzY1MzcgNzg4NDM0NzJmYjZmYTIzZDk2ODBkZmU4NWE0ZjEzN2U2NWM5ODFmNyBsZWdhY3ktdHJ1bmsKKzY1MzggYmRlMTlhY2YxMDQ1ZDQ3ZTU5ODI5MjZlZTlkNTUyNWVmNWNmN2QzNiBsZWdhY3ktdHJ1bmsKKzY1MzkgMmM4OWJmMDRmODM0ZWFhZWFjZjE1NTNkZDM4MGU5MTg1YWY5ZWQyNSBsZWdhY3ktdHJ1bmsKKzY1NDEgMjMxYTQyMDkxODMwMmU5N2RjODk5ZTgxMDc5ZmJkNzk0OTBmYjcwOSBsZWdhY3ktdHJ1bmsKKzY1NDIgNGM1NGVjZmFkY2U1ZTQ4NmIwNjhmYjJlODA4MzE2YjRhOTBmOWIxNiBsZWdhY3ktdHJ1bmsKKzY1NDMgZWZlODY4OTFmNDExYjg1N2I5YWVlZWNmOTMxYWQ0ODViZjM2NjhjNyBsZWdhY3ktdHJ1bmsKKzY1NDQgMTk0MTIzMDVkMzM1YTY5Y2IxY2ZjMTkxYzhlMjIzZDZlYmZmY2FkMSBsZWdhY3ktdHJ1bmsKKzY1NDUgYzU3NWE5MjBlNGExZjM1YTRmOTNhMTYxZWI2YmViMWY4MTdlZWQ0ZSBsZWdhY3ktdHJ1bmsKKzY1NDYgZjY2NTYyNTM2ZjExYjNkNWM3MmJiY2JkY2Q0ZTBiNzFkZDkwMDAxYSBsZWdhY3ktdHJ1bmsKKzY1NDcgNTg1MDRjOWEzN2RjNGE4M2UzZmRjMjQ1OGFkMjdkZTI1OGVlMDUyZSBsZWdhY3ktdHJ1bmsKKzY1NDggN2I2ZWVmYWM2ZTQ5Mzc2MDk3MzY4ODAyYWE2YTY1NmQxMmY3YWMzMSBsZWdhY3ktdHJ1bmsKKzY1NDkgNGE3MDM4ZTdhMzEzOWMwOWY0OWY1NDg2MDNmOTIyNThjMDViMTY2MCBsZWdhY3ktdHJ1bmsKKzY1NTAgZWRhMjliZWY4ODBjOWE1ZGVjMjdkMWEyNTY3ZjUxYTY1NmNlN2U0NSBsZWdhY3ktdHJ1bmsKKzY1NTEgMTBjMDg0OTQyY2YxMmRkMGZlZWYzYmEyYjIyOTUxMWEwYjBjNzYwYyBsZWdhY3ktdHJ1bmsKKzY1NTIgMTg0NTFkY2E5NDY5YTA0ZTJiMzA4N2Q1ZTc0NTgxMjIyNjkzZjllNiBsZWdhY3ktdHJ1bmsKKzY1NTMgYTZlNjJjMjFiMGUzYjAxY2VkZjNkN2UyYmRmNWFhMzcxMjIxZGU1ZSBsZWdhY3ktdHJ1bmsKKzY1NTQgNzUyYjg2YmExNmZjNmU5Mzg0OTZiNzZiODg4YWZmZjQ5ZGM1NTI1YSBsZWdhY3ktdHJ1bmsKKzY1NTUgNWY2ODY5YTM4ZDg1MWYwNjk2NTgwNTQxY2E1YThiZDhjMGJkOGEyNiBsZWdhY3ktdHJ1bmsKKzY1NTYgMzkwNjgzODE4ZjczNDE3ZGI5MTRmYTFiMDEwODYwZWQ2ZDZjMTc0ZiBsZWdhY3ktdHJ1bmsKKzY1NTcgNDY2MTdkMjljNWQwNjM5YTdkNjUzMTdhYTZkNzgzNjRjZTMxZmE5MyBsZWdhY3ktdHJ1bmsKKzY1NTggN2Y4M2UyNGQxZDg2OWI2NzQ3MTAzMWU0MDFhZjliMWM1OWVlOWU2MyBsZWdhY3ktdHJ1bmsKKzY1NTkgZTBmNjQyZWU0NWJiZGEwMWEyZjFkMTA4MWRkNjI1OTIzMGMyYTY2ZSBsZWdhY3ktdHJ1bmsKKzY1NjAgODMxYjQyMGU0MTFlNDIxZDMzN2MyYzRlNmU1NjY5OWU5YWE4NTQ0NyBsZWdhY3ktdHJ1bmsKKzY1NjEgNzQwZGVmNjk3ZDhiOGUzYmNkYTRkZTZjOWNmMmE3OTY1Yzg3NDhmZSBsZWdhY3ktdHJ1bmsKKzY1NjIgZjgxZDc4NTQ3ZjI4OTI5MWFmYjIzNTNjM2Y1YzdjNGI1NDc5NmIwOSBsZWdhY3ktdHJ1bmsKKzY1NjMgOWY3MGQ5OTVkMDI3OTI5OWNkOTJmMzZlODM3Yzg4NGJkY2ExMGI3YSBsZWdhY3ktdHJ1bmsKKzY1NjQgMGI0MGM4ZDViMjFkMjI1OTU1OTcwY2NkYWMzNWVhYzlhMWQ2MGRhMyBsZWdhY3ktdHJ1bmsKKzY1NjUgZGM5NDZjYWI3YjliYmJhZjM5ZmFlNjkwOWQ3MzNmZDY3ZTVmMjUyNyBsZWdhY3ktdHJ1bmsKKzY1NjYgODU5MmZhNGExMTliMDhhODhhMWNhNDc2MjNiMzhkMGIxNTM3YWM1YyBsZWdhY3ktdHJ1bmsKKzY1NjcgZjI5ZmU3MWYxMWU2NGYxMzgxZWZiN2Y4NmUyODE5MGM4NzExZGMyYSBsZWdhY3ktdHJ1bmsKKzY1NjggODQzODE4NGU0NDhlMDM3ODI5YmE3MDc1MGY5NDMyNDA5ZTdjMTMwOCBsZWdhY3ktdHJ1bmsKKzY1NjkgMGE1OWM5OGRjMDA1MzVmYTczYjk1ZmU1M2YyOWIwYmMxMGY0YTQ1ZSBsZWdhY3ktdHJ1bmsKKzY1NzAgODQ2NWQ4ZmJjN2FjMTdiZTk3ZGM4MTNjY2VlYTBhMDlhYmRkMWI0ZSBsZWdhY3ktdHJ1bmsKKzY1NzEgZTUzODYzOGVkYzcxMzM3MjI1M2U3OGI1YTUyMjc0NTA5YjE5Mjg3NyBsZWdhY3ktdHJ1bmsKKzY1NzIgNmY2YmE3YzAwODIzZWFkOGQ1ZTVhYTlhZDY2ZjgxMmZiOTlkZTU5NiBsZWdhY3ktdHJ1bmsKKzY1NzMgM2EzYjM2NzE2Njg5YzVmODcxM2Q4MGNiMzdkYWEyZGJkYzA5MTUyOCBsZWdhY3ktdHJ1bmsKKzY1NzQgNTMzNmMwM2ExMzFmYjViZjAyYTg0MzYwYzU0ZDA0OTdiNmVmMzkyNyBsZWdhY3ktdHJ1bmsKKzY1NzUgMmZjZWE1ZGQxZDE4YTI1YWQ2MWU0NTI2ZDY4NzQxZDM0NjJhOGNiYyBsZWdhY3ktdHJ1bmsKKzY1NzYgOTU2OTY2NGFjMzQ3NTNmOWQ1ZDFhNGMzN2Q2MzE4ZTQwOTdiM2VlYiBsZWdhY3ktdHJ1bmsKKzY1NzcgYTVhODI2NjY5NzdiNWUyOWM3ODhkMjNkOTIwZGM3YWQ3ZTM2OTcyOCBsZWdhY3ktdHJ1bmsKKzY1NzggODY5YTk0ODA4NWMxMGZjZTgzOWRhNmQ1ZTc0YjE4NDY3M2Y3MjVlNSBsZWdhY3ktdHJ1bmsKKzY1NzkgOWMxZjliMDljNDQyNzU3NjJiODM0ODQyYWVjN2JmNTA4NGU4ZDQzNCBsZWdhY3ktdHJ1bmsKKzY1ODAgZjM5NTE2M2NhOWQyNTVjYTRmNmMwOGNjMWE3NTFjMmVhNWU0ZWQ2ZCBsZWdhY3ktdHJ1bmsKKzY1ODEgM2FjMDMwY2MzM2YwNjg4N2JiODdhMTFjMDk2MmRlM2FjNTEyZTExMyBsZWdhY3ktdHJ1bmsKKzY1ODIgNmQ5ZDVlN2U1ODhjNDlmY2QyZGJkYTE4YjNkZTE2YTUyN2M1ZjM2MSBsZWdhY3ktdHJ1bmsKKzY1ODMgOGM3YjdlOTRmNGRkMzllYmJkZDA5NTMzZjdkMzE4NWIxN2YwNTcyNSBsZWdhY3ktdHJ1bmsKKzY1ODQgMDdhMzVmZDJlMGExM2VlOTQ1NzBhYmI4OTlkODY3ZTczZWQ1OWM4NSBsZWdhY3ktdHJ1bmsKKzY1ODUgOTAyMTZlOTA3MzQ1ZWIyMGIzNTlkZGQ4NDllMzg4ZjhlOGNjMzczZSBsZWdhY3ktdHJ1bmsKKzY1ODYgNTcyNmJlOGVlNTlmMzBiYjMwODIxNzU0ODlhM2ViZmI1Mzg5MWM4MCBsZWdhY3ktdHJ1bmsKKzY1ODcgYjNhZjMyNWQ3MTJkZTNlOTdhZTA4OTQxMWIwMWE2ZjNhOTBhNjU5NyBsZWdhY3ktdHJ1bmsKKzY1ODggNWQ1MjM5NWY0MGIwYzlhMmI1ZjViOTNkYzMyMDNiODM2MWU2MzA0ZSBsZWdhY3ktdHJ1bmsKKzY1ODkgMjM1ODljMDE2Y2I5YjhjNTE0NDA2ZTRjZWZmMjczMTA4ZDg4MWM4MSBsZWdhY3ktdHJ1bmsKKzY1OTAgMzE5MDM5OGFlNTMzYzI2YTEyMjZmY2JiNzE0YmFlMzIyZGZkZmM0YiBsZWdhY3ktdHJ1bmsKKzY1OTEgM2QxMTc1ODcwMDVhMWRlMTdhYjE5MTk3MTY1ODg4MzExZTc2NDMyOCBsZWdhY3ktdHJ1bmsKKzY1OTIgYTg2NDA3YjNjM2FjNTM5N2RlMDZlYTA3MGQ5ZGJhZWJhMmYwZGQ2ZiBsZWdhY3ktdHJ1bmsKKzY1OTMgNGY4NGNlZTY1YjhjOWU0ZTJiMDVhNGYwNTA1ODIzMThkNDcwY2Q2YSBsZWdhY3ktdHJ1bmsKKzY1OTQgNjUwMDMxZTFlNDE5MGJmNmZkYWY0NzI0ZDQ3MTdjMzJiNmI1NTAxNSBsZWdhY3ktdHJ1bmsKKzY1OTUgMDgzYTdjZDgzNTQ1NTI2ZjQ3NzgyNGJlNDk2Njk0ZDQzM2YxNGU2YSBsZWdhY3ktdHJ1bmsKKzY1OTYgZDMwZjVmMGZkMGUyZDI5ZDVlYTIxNDRhMTJkZDUxNWExNTY0ZWY5NyBsZWdhY3ktdHJ1bmsKKzY1OTcgNzFiNDNkNGI3Y2QwZDM2NzllYTZhZWVlYzRmOGMzZWNjOGYzNzVhZCBsZWdhY3ktdHJ1bmsKKzY1OTggOWU2NTA0NDk0YWM3MzkxOThlODNjOWUyZGNhYTc1MTVhZDcyMTEzNCBsZWdhY3ktdHJ1bmsKKzY1OTkgMGI3M2MzMWJhYjkwOTdlYzJiM2UwZjBkZmYyYTBjNTliMjMzZjczOCBsZWdhY3ktdHJ1bmsKKzY2MDAgYzgwYzUxNTk5OWI5ODMwZGRmNGQyODUxOGVlYTU5MWIyZDIwOTdiZiBsZWdhY3ktdHJ1bmsKKzY2MDEgYTdhOWQ4MzUwNWM0N2RmYzBiMTBkODc3N2YyMDM5NTVkZWMyMjZkNiBsZWdhY3ktdHJ1bmsKKzY2MDIgNWFkZTQwOTZmYjZiODllMzI5MTZlNWY4N2RkZTY4NTZmMWY2NjQzMCBsZWdhY3ktdHJ1bmsKKzY2MDMgZWVkYWE1OTM0MWI5NWQzMTNiMjI2M2M4ZWI5YTc5ZjMxNDhmYWRlZSBsZWdhY3ktdHJ1bmsKKzY2MDQgN2I4NGRhZTk3ZWU4YTk4ODhiYjM0ZWM4ZjZjNWUyOTQzZDVhMGFiMSBsZWdhY3ktdHJ1bmsKKzY2MDUgNmI1ODkzMzRlMGU5ZTZhODM5OWRmMjM0Mjk2ZWYyN2I5ZTgzZTUxYSBsZWdhY3ktdHJ1bmsKKzY2MDYgYzE4ZDUyZTA2MjM4NzAzYzUyNDYyYmYzMGM4NjQyODAxNGY3OWY1MCBsZWdhY3ktdHJ1bmsKKzY2MDcgYTJiYzk0MTU2NGExOWZiYTZiM2MxNDViMmNiYzA0ZTVlNTc2NmQ3YiBsZWdhY3ktdHJ1bmsKKzY2MDggNjllZGM2N2U1YTY4ZjIwZWFkMWQ5ZDk0YmQyOTA2YTVkNmFlOWEyMiBsZWdhY3ktdHJ1bmsKKzY2MDkgMTg5OWI5MTU1M2QxZWYzMjc3NzBlNjBmZmFlYTZkZWMzMzUwNzBkNSBsZWdhY3ktdHJ1bmsKKzY2MTAgMjYyZmQ1ODJlNDRiMzRlODM1M2IwMTQ5MWVmMjVhYmU3ZjMxYjEzMCBsZWdhY3ktdHJ1bmsKKzY2MTEgOGI3NWQ1ZWEyMDdiZDc5ZTNiYzYwYzk1ZDY1ODc3YmE5ZTZhNWIzYSBsZWdhY3ktdHJ1bmsKKzY2MTIgN2QzZDJlZTU0YTJjYjI1YmM0ZThiMDI4NjllZTRiMTlhNmE5YTkyMSBsZWdhY3ktdHJ1bmsKKzY2MTMgMDEwMzQ0YjRhNjE2MjUzZWFkMGRkZjIxYzU1MDNhOWQzYmEyZTQ4MyBsZWdhY3ktdHJ1bmsKKzY2MTQgNWJhYTAwM2JmMzllMGI0ZTI3NjY3OTM5OGQ1NWQyYjU3MThlMGYyMCBsZWdhY3ktdHJ1bmsKKzY2MTUgNmZiMTMxNTAxYmI0NmQ2MzgwZjEyNmI0ZjAzNzViZDUwM2RiMTIxMyBsZWdhY3ktdHJ1bmsKKzY2MTYgNDQ4NzJmMjU1ZjkzNDc0N2I0NDFjZWU4YzM4NjUxYWNmMDAzNzk5YyBsZWdhY3ktdHJ1bmsKKzY2MTcgMzNiZjM4MmMyYjFkOWI1YjQwYzE0OWQzZDQ4YWEyMWZiMWQzZGVkNSBsZWdhY3ktdHJ1bmsKKzY2MTggZWZlYmYxYzRlZGEyOTY1NDA0ODBmNjg3ZmVmOWFjNjkyMDFiOTIxMSBsZWdhY3ktdHJ1bmsKKzY2MTkgOTUxZWQ5YTgzZjU3YTUwZGRhNWY2MTZmMjViYTBlMGQ1MmZkOGU0OCBsZWdhY3ktdHJ1bmsKKzY2MjAgYzRkNjZjNDEwYzgzY2QwMmFlN2NiMjNkOWYxODg0MjhlMWUyYTljNSBsZWdhY3ktdHJ1bmsKKzY2MjEgMzBmMWMwMWYzODY1MGI2OGNjNWVjYzcyM2VmMmY5NDAyMzhkYzRiMSBsZWdhY3ktdHJ1bmsKKzY2MjIgYWI0MzcxNWVmNGVlMjRmOTZlMDk1M2Y0YTI2NDNiY2JhMjZjYTE5YyBsZWdhY3ktdHJ1bmsKKzY2MjMgNDI5OGZmMjIyZDc2M2RiN2Y0OTNhMDNiYjRiODIxZjQ3ZDQyMzMxYyBsZWdhY3ktdHJ1bmsKKzY2MjQgOGEwZDQzYjEzMTI1MWQyZjZiNWI2ZmRlYzE4YTFiOGM3ZjU0YmM3MCBsZWdhY3ktdHJ1bmsKKzY2MjUgNjlhMzNmYTNkYmI4ODExNTA1Y2QwMzEzMmRkYWQ3N2E1ODQ0NDc4MSBsZWdhY3ktdHJ1bmsKKzY2MjYgOTg4MWE1MjE0ZmQyYzUwMTk5MjAyMDMyMjM4Y2M2YmE3OTcwZmNkOCBsZWdhY3ktdHJ1bmsKKzY2MjcgY2MwNmU3MDEyN2ZjMGJjOGM0ZTdkNjVmNGE4NTJlZjc0NTRkNzkyOSBsZWdhY3ktdHJ1bmsKKzY2MjggMDI2MjFiODc3ZWU1ZGYwMTFjZTViODNjOGNlMDcyYjk0NWNhOTA2YiBsZWdhY3ktdHJ1bmsKKzY2MjkgODZhNjJjYTNhMzdiN2FiZjU1OTQxNGViMGRhOGQ1NDYyMWQ3YTg4NSBsZWdhY3ktdHJ1bmsKKzY2MzAgMTQwNTA4YzljNjAzMTgyNWVmODcyMDAwNzA2MjZmYmJlMzY5OGRmYyBsZWdhY3ktdHJ1bmsKKzY2MzAgNDRhODJhYzY1NGE0MTc1NTY5ZGVlZDhlOGE5NGIwY2M4ZWRlZTA4ZCBsZWdhY3ktdHJ1bmsKKzY2MzIgZjNhMGQ1MDI0NmQyNzEzZmQ5YmRiZTYyNTA0ZDA1NDZhYzgyMWFmZSBsZWdhY3ktdHJ1bmsKKzY2MzMgZGY2Mzk4NWMxY2E5NjBmMGUzMGYzY2Q5ZGE1MDI0ZWIzN2JhZTJiYiBsZWdhY3ktdHJ1bmsKKzY2MzQgODExYTdmZjc4M2I3NzI5NmFlMGIzOGRhM2IyMjAwZWUxNDM4MDA4MSBsZWdhY3ktdHJ1bmsKKzY2MzUgYTgxYzNkZTNhYWQ5NWM5NTdkODg5NGNkY2Y5ZTY4YjlmZDQ0YjIwNSBsZWdhY3ktdHJ1bmsKKzY2MzYgOTkyNTAxODJjNDhhZmZkNTc4YTVjZjM2YWJlOGFhMjA3MzM5N2ZiYiBsZWdhY3ktdHJ1bmsKKzY2MzcgNTgyZDQ5MzdkNDk5NzFlNWM4ZDA4NGFmZmM4NDgyMTk3Y2M5YzZhZCBsZWdhY3ktdHJ1bmsKKzY2MzggMWMwNzllMjNmZDNiODk5NDBmZDk1ZWFiMDI5ZmI2N2Q5MTdkYTdhYiBsZWdhY3ktdHJ1bmsKKzY2MzkgYjNmZGU1Mjk0NDBmZDY0ZGU3ZGYyYmY2NGM3NDQzMjE4ZDFmNDMwNyBsZWdhY3ktdHJ1bmsKKzY2NDAgYTcxYTQzZDI0N2IwOWMyMDdjMDJiMzc1MmYyOWM1N2VlNDc0OGU0MSBsZWdhY3ktdHJ1bmsKKzY2NDEgYTk0MDBlZWUwNDBiMThlYjEwNzRiYjQ4OWQ0ZDljZDI4ZmFkNWI2OSBsZWdhY3ktdHJ1bmsKKzY2NDIgNzRiOGFhN2YxMTE0ZmJmM2YyZTI0ZDQ3OWZlMWU2ZWQyOTBhN2RjMyBsZWdhY3ktdHJ1bmsKKzY2NDMgNjg3ODk5YzU2M2UzZGUzODdjNDNkMWYyZTRiNDEyZDFlNTkzOGEzNSBsZWdhY3ktdHJ1bmsKKzY2NDQgM2RjMmU2NzVmMTc4MTcwNzg0YmY5NDNkMDc3MWU5ZjM0ZWViMDUwNyBsZWdhY3ktdHJ1bmsKKzY2NDUgMTg1NWU3Yzc5MWUyM2RjZDIyMzU3MzIwMWVmNTc4OGQ1NGYwZjgzNiBsZWdhY3ktdHJ1bmsKKzY2NDYgODg5OTc4MDJmYjliYjBhMTg5Y2Q0MjVmOGYzMWNlOWQ0MDZjYzMyZiBsZWdhY3ktdHJ1bmsKKzY2NDcgMjM2YWRlYTk3NjBiMDBmMjc0YzgwZGQ4ZWNiM2Q2NWMzZjgwNzkwNyBsZWdhY3ktdHJ1bmsKKzY2NDggZDI0MWJmZGE3Yjc0NmFmNDJlM2Q4ZDFiYTk1NTY3MTU5ZmI2YjBjOCBsZWdhY3ktdHJ1bmsKKzY2NDkgYmI1YjlmZjcyZGUxOTUxOGM2MDBmZTY0NjQwMTVjN2YwNTYwZThjYiBsZWdhY3ktdHJ1bmsKKzY2NTAgMzdkMDA5YjFiZjQ1ZGE5NjdjOTk5NmM5ZTJlM2U0OGY4YWVlMjA2NyBsZWdhY3ktdHJ1bmsKKzY2NTEgMzE1YTUwY2IxNWUzOGQ4OTc4YTE2ZTdiNzVhYjI0MWJhZWMwNzBhNyBsZWdhY3ktdHJ1bmsKKzY2NTIgMjgxNzRhYTM4Yzc2Mjc3YTAwOGQ1NGIzNTZhNTgzYmVmNGViYThkNyBsZWdhY3ktdHJ1bmsKKzY2NTMgMzNmNGE5MWY4NzFiZGJiOWQ2MzU0OGM2OTM2NzFiODc0NDhmNmRjZiBsZWdhY3ktdHJ1bmsKKzY2NTQgN2VkZTAxMmEzNWM1ZWYzNDZiZjc1NTljMGMxY2I3NGM1ODE0M2MyYyBsZWdhY3ktdHJ1bmsKKzY2NTUgM2Q1M2NmYWI4ODIxODhjMzg5ZDg0YjlkNmFmOWNkMDQ5OGMwOGM1NCBsZWdhY3ktdHJ1bmsKKzY2NTYgYTM5MjY0ODRhNjU4M2MzMDdjM2Q1NDk1ODY4Zjk2YTRlNTFhZmRlYiBsZWdhY3ktdHJ1bmsKKzY2NTcgYzM2MzY0NWI3ZWRkMjdiNDliZDE2MzExMmU3MWRhODczODFiMWU1OCBsZWdhY3ktdHJ1bmsKKzY2NTggMmNjYjk5YzkyODU0NDZiYmFiY2NmZTk0NjMwZmUyNjA3MjViMzdiOCBsZWdhY3ktdHJ1bmsKKzY2NTkgYTIzZjRmNDY3MjdiOWJmYTU0NmRiNzA5YTAwZTM1YzEyNWMyZGNkMSBsZWdhY3ktdHJ1bmsKKzY2NjAgNWUxMmU5YjI4ZWFmZjExMjFkYWM4MDE3NDBjN2Q0ZDkzOGNmYmVmNiBsZWdhY3ktdHJ1bmsKKzY2NjEgOGJiZWNmNjgzYTUwNDBmNmFkZDNkMzg5MjM2NTUzZWUwZGEzZDU3MSBsZWdhY3ktdHJ1bmsKKzY2NjIgYzc5NmFlMTE1NzgzMmQyY2NiNWNmMjQ4YmQyYmI3YzFlM2VlZDIxOSBsZWdhY3ktdHJ1bmsKKzY2NjMgMDNmMmMyMWFlY2FmMjZhMDM3OWJkM2ZlZTQxZTE2MjExNGE0ZGNjMCBsZWdhY3ktdHJ1bmsKKzY2NjQgOTRkYTU4MjE0ZDZjNzVmZDgwOTgzNDAxYzk2MzNkZDljODllN2UzZiBsZWdhY3ktdHJ1bmsKKzY2NjUgZTYxMzE4YzNhZDFlODdlMTY0MjI5NDA2ZjA4ZDJjMTE3NjJlODNjMSBsZWdhY3ktdHJ1bmsKKzY2NjYgZDIzZjc4NzMwZTAwZDEzZGZmMWNhZjcwYjFiN2QxNjUzNTg1YzNjMyBsZWdhY3ktdHJ1bmsKKzY2NjcgZjAyNWQ4YTM3N2I1NzAwMThkODE5ZGU0NzE1MzY1ZGVhNTY3NjcyNiBsZWdhY3ktdHJ1bmsKKzY2NjggZGZiZDZlMDBkZDM4M2QyZjNiMGVjNWY4NGQyZWQ2YzdkOTdiNTBlNiBsZWdhY3ktdHJ1bmsKKzY2NjkgZTNmNmFkYTI4ZWQwOTVlN2QwMGQ5Y2JkYzUxMDI1ODJjOGU1YzYyOCBsZWdhY3ktdHJ1bmsKKzY2NzAgNjcyMDZiYmQ1YmI1NDhiZDYwZGI2OWEyYjQ5NGExYTkzNzM1MWQ1NyBsZWdhY3ktdHJ1bmsKKzY2NzEgYjcwYmFiYTFjNzg5MzJjMjc5NjkzNDg4OTQ2YTg4N2NmODMxZGUzNiBsZWdhY3ktdHJ1bmsKKzY2NzIgMzgzODNiNjNmNDE1OGY5NDRlNzY4YTMyZGI4ZTFkZDUxMDkwNGE3MiBsZWdhY3ktdHJ1bmsKKzY2NzMgNmZiNmUwMWUyYmExNDQzNmRlMGQ4NmQxYThhNWMzY2Q4MGYxZGI4ZSBsZWdhY3ktdHJ1bmsKKzY2NzQgMjJhYWM4MWM3NTYwYzFhODk2MDMzM2YxYjExNDgwOTJmZjBlNDk1MCBsZWdhY3ktdHJ1bmsKKzY2NzUgYzYyNTljZjJjNTgxNDNkYjYxMDIzMDVkNTIxN2RlNGFjZDc1MWVmNiBsZWdhY3ktdHJ1bmsKKzY2NzYgMzUwZDBkZTA3NzM5YzM3NDcxZmU5MjlmOTY5ODkzOTFkYWI4MGI1MCBsZWdhY3ktdHJ1bmsKKzY2NzcgZDFiNDc0M2E5YTYwNTNlOThiNDA1NzA5YmNhZjk4NjQ1ZTQ4ZjcwNiBsZWdhY3ktdHJ1bmsKKzY2NzggMzEyNmY4YTE0NmE2NmY0YTc2Y2IwNGQzODhkZTVmNzliMGJiYWFjYyBsZWdhY3ktdHJ1bmsKKzY2NzkgYzc5OTQwMDgzNzhkOWRlNWEwYmYwNGEzNzZkMzQ5ZGVhM2VlMWE1MiBsZWdhY3ktdHJ1bmsKKzY2ODAgNDJlYzIzYzUwMDE4NmQ1YWJlMmRiY2MyNjFjYjU3M2Q0NTU4YjIyZSBsZWdhY3ktdHJ1bmsKKzY2ODEgNjNhZjI1NzRmNzFmNmM0MTcyYjY3YmQ1ODliYWNiODljZjQ2YWJmMSBsZWdhY3ktdHJ1bmsKKzY2ODIgMWMwMDY0MDA2OWY4YTU0MTQ1NmYzMWU5Y2IzZmJiODVkOTM2MjIwMSBsZWdhY3ktdHJ1bmsKKzY2ODMgM2ZkZTlkMmEzOWIwYzlhMjExY2JjYTg0YmYzODQ2NjA2NjkyYTNlMSBsZWdhY3ktdHJ1bmsKKzY2ODQgNjBmYzAxZDZmNzI3MGNjMzM2OGRiZjFhNjEyMjBmZWI1ODQ3YTg1MiBsZWdhY3ktdHJ1bmsKKzY2ODUgNGE5M2NjN2U3ZmI2ZjNlNWI3MGZmMDg4Y2QyMWZiNDgzYjFlZTliZiBsZWdhY3ktdHJ1bmsKKzY2ODYgZDcwMThiYzU1ODRlMGE5Yzg4N2JlMTA5YjBhNDI0NTU5MWM2ZDU3MiBsZWdhY3ktdHJ1bmsKKzY2ODcgZTMxYjRkZWZhZDViNDVjZGY0YzYwMDQ5M2Q3MDY3YTAyMjYxYTFlMSBsZWdhY3ktdHJ1bmsKKzY2ODggNjg4ZDU2NmNiMTViMDc5ZGE5ZDlhNjdiNmUwY2JjZTU2N2VlYzMzNSBsZWdhY3ktdHJ1bmsKKzY2ODkgMDQxMGVkMzgwOGVlYjhjMjU0MWFhOTU1NDEzMzg3ZDYwYTcxNGE5ZiBsZWdhY3ktdHJ1bmsKKzY2OTAgMGE1ZjAxZDQ3MDFjMDk5M2IyOTJjZDVhMjFjOTFiMjkxODQzZDYyMCBsZWdhY3ktdHJ1bmsKKzY2OTEgYzY2NzliMWM2Y2ZjMWI0ZjVjNDZjNTI0MWE4MzYyYjQ0OTExYjM5YiBsZWdhY3ktdHJ1bmsKKzY2OTIgOWUwZTg0MTdhOThhZWFkYWI5YzJmZWI4Njg2ZTQyZTNlYzVjY2Y3NyBsZWdhY3ktdHJ1bmsKKzY2OTMgOWJjZmIwMzRiOTYzZDJjN2NiNTIxMzc0MWY5NDlmZjNlNGE0NDUyOSBsZWdhY3ktdHJ1bmsKKzY2OTQgNDhiMmQ3YTQ1MzFkZjhiODI3ODBmMzBjNzg1NmRiMjYzYmVmMTM5OSBsZWdhY3ktdHJ1bmsKKzY2OTUgNjY5MTNjYTdlYzQ3MGFlYzk1MzNmZjJkMTY5YmQ4YjhmNjVhNDIyOCBsZWdhY3ktdHJ1bmsKKzY2OTYgMWQxZjBjNjQ3ZTc3YjEyMGY0ZmY4Y2IyMTI0ZWM5OTQxNGI2ZTU3MiBsZWdhY3ktdHJ1bmsKKzY2OTcgMTgwYzFkM2RhYzQxMTExZjczMzljOWYwZTIxMTE4OTNjZjBiZjVkNyBsZWdhY3ktdHJ1bmsKKzY2OTggM2ZlZWNhZDI5NmY0MGY0ZWQ4ZDkwMDQ0ZTg2ZTQwYTlhMTNhNWNiZSBsZWdhY3ktdHJ1bmsKKzY2OTkgYjNhZTBjZjJhMDZkNzEzMjRmYTg5OTgyNzg3NDBhMThlYmRkZWMwYyBsZWdhY3ktdHJ1bmsKKzY3MDAgNGZhY2FlMDBiZGQ2MTI0MDY0MmVlMGVkZmJmMWE4ZThhODZjMjNkYyBsZWdhY3ktdHJ1bmsKKzY3MDEgNTczZWQ1ZTM4NzliNjk5OTk4YWVkODgxMTQyZjRjMzQ0ODNiOGZiOSBsZWdhY3ktdHJ1bmsKKzY3MDIgODQ0NDRlYTNmNWY2OWQ2MGY2ZDg0N2FhYTk2NGNmYzYyYjI0Y2NiNyBsZWdhY3ktdHJ1bmsKKzY3MDMgMWY2OTJjM2YxZDMyZDQzOWYyOTJkMjBhYTNlZmVkNjY1Y2YxYTMxMCBsZWdhY3ktdHJ1bmsKKzY3MDQgNDFhNTJhYjI2M2RhYTI1MDdmZTMzMTUxOTIyY2U5NTAwMTA4ZjViZSBsZWdhY3ktdHJ1bmsKKzY3MDUgNWMzODdhYTAzNzA4NzMzN2ZiMjI5YTdlNTRhYjVjNDViOTUyYmRlNSBsZWdhY3ktdHJ1bmsKKzY3MDYgODg2YzBmNzc1Yzk3NmUyY2NkYjlmZjQ2ZDc0YjY2YTU5MDU2Y2Y5MSBsZWdhY3ktdHJ1bmsKKzY3MDcgMTA5OTE1OWVjODIxOWUwZjk2ZDU2OGQyMDJkMTE2OGQyMWJkNThkMCBsZWdhY3ktdHJ1bmsKKzY3MDggN2JmNzFhODM5NjYxYmMyNjAwNmFjODMwMzhlZDExZDM2MjBkMGVlOSBsZWdhY3ktdHJ1bmsKKzY3MDkgOGYyOTFkYzhmYTliNDY5ZTYwZjI1NjE3OTIwYmUzNDI0NmYxZTY4YiBsZWdhY3ktdHJ1bmsKKzY3MTAgNzgwZmMyYjE2NzRkNzcyYjg4OTgxNWY2Y2I3MmQzZGJjYjRmNjM4YyBsZWdhY3ktdHJ1bmsKKzY3MTEgY2I0OTAwZmFiNzY0MjhhZjhhZTU1ZTMxOTllOTQ2OTUyNWRlYzFjNCBsZWdhY3ktdHJ1bmsKKzY3MTIgNmM4NmQ5MTM2YzA5MGQ0ZmQzNDUzZmU5MjI2MGEzZTEyZmU3MGYyNyBsZWdhY3ktdHJ1bmsKKzY3MTMgNjcwMDU1OGEzMmZiMTMzYzkzOTFkNDA3OWVhZjE5Yjc0NzZlNDdkNCBsZWdhY3ktdHJ1bmsKKzY3MTQgMjFlNWI5NGI5OWI4MGJkZjhlNmNjZWNiMjI5OTdmYTNjYzkxM2MyNSBsZWdhY3ktdHJ1bmsKKzY3MTUgYzYyZDMyYzVmZjNkZWNlZTNmZWFhNTRjNjI0ODBlNzk1MTAwOTRlMyBsZWdhY3ktdHJ1bmsKKzY3MTYgMzU0NWFiNDNhNzJhMjE5ZjBmYmNlMzI1ZTJkZjE4Nzc2N2EzZTJhOCBsZWdhY3ktdHJ1bmsKKzY3MTcgMWNlMDBjZGMwMDNkMjU1ZThiMDhiNTk4YmM3MDkyYjUyM2NkMDc5MCBsZWdhY3ktdHJ1bmsKKzY3MTggMGZhZTM1M2IwNGNhMmQxYTUzNDE2NzhhNmVkYjE5YmUyZTI5MDdjNiBsZWdhY3ktdHJ1bmsKKzY3MTkgNDNlMmU1OTJhMDAxOTg1MTIwZGE1MDg5ZWRlMTRhMDZmZmYyMDhjMyBsZWdhY3ktdHJ1bmsKKzY3MjAgYzZlZjhiN2IyNmViYzEyMDUyM2Y4ODEwNWNlMjkzMzVhZGYyMjU2YiBsZWdhY3ktdHJ1bmsKKzY3MjEgZGEzOGNkNjE2NDEyN2NjZGJhNzk2MDk0NDYxYTk1NGU5NmI0MDliMiBsZWdhY3ktdHJ1bmsKKzY3MjIgNWY2NzJhNTEyZGM0MWZkYjgwNzkxNzYxMmExYThhZjAzOTk3OGUyYSBsZWdhY3ktdHJ1bmsKKzY3MjMgMGNmNjcxNDUyZmM1NDNkNDI2ZDUzZDZjODNjNDM3ZDNiNDk5MjhmZSBsZWdhY3ktdHJ1bmsKKzY3MjQgNDQ3MGY3ZmYwYzIzOWM4OTRjYjliNTE4ODEyOTgyZjQ3YmQwZmQ4NiBsZWdhY3ktdHJ1bmsKKzY3MjUgYWMzZmJiNjc3MWY1YzJkYjM5YmI2M2EyYjZhMjAyOTYxZDdhMWE3MiBsZWdhY3ktdHJ1bmsKKzY3MjYgNmI2YzVkMTIxMzBjZDk5MGVkYTgwNjU2MGRmNmQ0YjQ4OTViYTYzNSBsZWdhY3ktdHJ1bmsKKzY3MjcgMDJhMDMyMWY5NDY4YmVhYzdhZGRlYTk2NmM1YjBmZWUwMjhjZmMyYSBsZWdhY3ktdHJ1bmsKKzY3MjggMDVhZTU3MmMxYWM1NjZjM2U4MzUwOTYzMWU0Y2IwN2NlZDA5OWYzNSBsZWdhY3ktdHJ1bmsKKzY3MjkgNjQ3MDRkMzZiMTk4MWU4MjNmY2YwZmE1ZTg4NTcyZmIwNjAzNDA5OSBsZWdhY3ktdHJ1bmsKKzY3MzAgZTIyNWU3MGZkNjU3MWZhNjQ3ZDQzYjBiYzQyM2NkYWNmZThkZTgwNiBsZWdhY3ktdHJ1bmsKKzY3MzEgMjM5YjEwMDgxMTc2M2QzNDE5OGQxMDE5NWRkOWIxMzRhZjBhZmViZCBsZWdhY3ktdHJ1bmsKKzY3MzIgYjdlN2ViNWVmODIwYWE4Nzc5N2ExNDg5MDVhZDVjMGU5MWZhMzMxZCBsZWdhY3ktdHJ1bmsKKzY3MzMgZGJiNzYwOTVhZGVlMDk1OTkwMzM3YmVlNmJkOGRjYmJhYTc3YTkzNCBsZWdhY3ktdHJ1bmsKKzY3MzQgNTE2ZGRmNTAxOTRkMzY4MDZlZTlmYzllZGZiYjVmZmFmMTVkNWQzNSBsZWdhY3ktdHJ1bmsKKzY3MzUgNTQ0MjE3ZDU0OGE1ZjFkNTk0OTZlZGQwMjk0ZjU1MzUyNzMwZjFhYyBsZWdhY3ktdHJ1bmsKKzY3MzYgNjdkMjU4ZWRkM2Q5OWJjYjZmYTEzZWM4ODZiNGVlN2MyMzg2ZTk3MCBsZWdhY3ktdHJ1bmsKKzY3MzcgN2I1NGEzY2VkYmUwYzY0NGM3MDVjYWNiNjY2ZjZmODA4ZWI3YmE3NCBsZWdhY3ktdHJ1bmsKKzY3MzggMjUzMDFiOWVhMGNjZGU5ZDZmMjdhMjdiZDdjOTAyYjRlY2Q4NTRjNCBsZWdhY3ktdHJ1bmsKKzY3MzkgODg5MmRhOTU1NGE1YmQxMWZlOGJjN2Q2MDRlNGZiMjY3ZjdjODQ3YyBsZWdhY3ktdHJ1bmsKKzY3NDAgZjBlODIxMjliZDNlYTM2MTdhMmYxZjVhNzYxNmM5MmU0NzRkODNhOCBsZWdhY3ktdHJ1bmsKKzY3NDEgNjA4MjUwMWVjYjJlNTg2YzIwMDUwYmIzOTNjNGU2NWIwZjE1ODFlMyBsZWdhY3ktdHJ1bmsKKzY3NDIgMmU4N2I4MTE3NmY5ZDMyNWE1NjkzODMzMDRlMzQ3MWU1NGVkOTkyNCBsZWdhY3ktdHJ1bmsKKzY3NDMgMzhjOGExY2NjMTZjNjBlMDM3YWU4ZDBlYWI3YzVkZTRmYTc0NTlkNyBsZWdhY3ktdHJ1bmsKKzY3NDQgZWY1MWU0YTJlNzk5NDQ5ZjNmNWQ5Y2RmYmZhMzc0NjU5ZDVhOWQ0OCBsZWdhY3ktdHJ1bmsKKzY3NDUgNjUxMjBlOTFiMDYxZWE3ZGYxYTZmNjgxYzM2N2E0ODRlMGZkZjhhNCBsZWdhY3ktdHJ1bmsKKzY3NDYgZTc4OTAzMzZmMTA3MDRmMzM0MGI4OGE2MDlkNTBjZWJjMWIxOGM2YSBsZWdhY3ktdHJ1bmsKKzY3NDcgYzQ4NzY0YmY2MmQxZWQwNmE3M2MxMGYzMGRkNjQxNDJmZjcxOGJmZCBsZWdhY3ktdHJ1bmsKKzY3NDggMzc5OWI3MTE2MzFiMjVlYzY0NmVlODc3ODNjMGIzNWRhNGM2MjU1ZiBsZWdhY3ktdHJ1bmsKKzY3NDkgY2I4NDFmMWIwMjJlYTIyNGNjN2M2ZjVjY2Q5NjY2MDdhZmI2NTVmMSBsZWdhY3ktdHJ1bmsKKzY3NTAgYWUxNzhmMTUwNDAzMDBjNjkwYTU2ZDIzOTNhNzdhNjY1MGFmODU0NSBsZWdhY3ktdHJ1bmsKKzY3NTEgYmVmZGYwZGMwOTZiMDhlZWM1MmYzZThiZjYwYmJiYWY0ZGFjNTJhYSBsZWdhY3ktdHJ1bmsKKzY3NTIgZjZlODI0YjI3MDMyMzVkOGMzNTliMzIxNjAwOTJmZDIzZDc4YjFmNCBsZWdhY3ktdHJ1bmsKKzY3NTMgOTRiNzYxZmFjNGQ3YmIzYzhhY2MzYzliZTllMTBlZTFjYjgwZmM4MCBsZWdhY3ktdHJ1bmsKKzY3NTQgNTY5MDk3ODFhNzQxYjEwNTA1MjZiNTIyNmUyZjY0ZDlkZGVlNDkzZSBsZWdhY3ktdHJ1bmsKKzY3NTUgNGJkYWZhNzAzYTA0YjVjN2I2YmU2NDlkN2U1ZmZlNWVkNGFlMDU1MSBsZWdhY3ktdHJ1bmsKKzY3NTYgZGFmMTJmNjRkNWFhM2Q1MTg1MjAwNGUzYjQ1OTAxYWRlYWE3NDc5NCBsZWdhY3ktdHJ1bmsKKzY3NTcgODM5ZjcyNjEwYWUxZjhiZTFiYTJlMzE3MjNiMzY3ZTg3N2QzZmIzZiBsZWdhY3ktdHJ1bmsKKzY3NTggZTIxZDNlN2FlYTg3MTk2YzQzMTk2NWZmMzNjMTIwMjhlNzIzODY1NSBsZWdhY3ktdHJ1bmsKKzY3NTkgYjY5ZjRiODM4OTJlNjg4NWI2MDg5ZGNhMGNlNzYwY2NmNGI1MTY4NiBsZWdhY3ktdHJ1bmsKKzY3NjAgZGIzNWQyYjkzZWJhMGY5OTY5ZjBiMzJhODVmMTJhZDE4Mzc3YmViNCBsZWdhY3ktdHJ1bmsKKzY3NjEgZjJmNWNkN2NiNWI1NmIzYTZlYmEzM2EyM2Q1MDhkZTE0NTgxOGY4NyBsZWdhY3ktdHJ1bmsKKzY3NjIgNDNhZTA0NWFhMTBlMTA3YzQ5YjVhZDUwY2IyYTdjOGQ2ZDlhZDk5YSBsZWdhY3ktdHJ1bmsKKzY3NjMgMDAzNmRjZjI4NDAyM2E5YmQ4NjMyMzI2ZmNjYzg0MmEwMTBjYTE4MSBsZWdhY3ktdHJ1bmsKKzY3NjQgOWM2ZWFiMGNmNTQyZGUxYjE0MDVjMTA1ZWUzYmJlYWViNzk0ZDcyOSBsZWdhY3ktdHJ1bmsKKzY3NjUgMTQyN2Q2MWYxMzA3Mjk5ZjgyNDNhNDFjMTI5YTViYzY1OWY2Y2NlNyBsZWdhY3ktdHJ1bmsKKzY3NjYgYWJkMGI5ZmY2NzU5MmQxMDQ3NzM2YTdlZWY1Y2Q5ZWJjOTJiYTZjNyBsZWdhY3ktdHJ1bmsKKzY3NjcgNjliYmMyMWY1NWNmMmUzNGU0NzM4YWE1MzI0ZDIzNjM3MDBlYzRkZiBsZWdhY3ktdHJ1bmsKKzY3NjggNTIwZGRjYjNkNWQ2OGUyN2IwNjc0MTI4YWZhODY1MWE4ODA1NDQ0NyBsZWdhY3ktdHJ1bmsKKzY3NjkgMDA4YjlmYzU2NWJmZGMyNzI4NGFhNjMzNTUzMGJlMGUyMzU3ZmM1MyBsZWdhY3ktdHJ1bmsKKzY3NzAgNzVkNzU3MzJhOWU0YmU4ZDViNWIxMmMxOTI4YWY4YTNiMWJjNTQ0YyBsZWdhY3ktdHJ1bmsKKzY3NzEgY2Y5YTk3YmZjMDIzMzllMDNlNGI0MDYwYjk4ZTZmNGQzN2U0ODllMSBsZWdhY3ktdHJ1bmsKKzY3NzIgNmY3MDkwYTgyNjQ1OWQxYjUzZGZiZmRlYTFhNzkyNzI0ODIyN2ViMCBsZWdhY3ktdHJ1bmsKKzY3NzMgZWIxZWQ3NDM5NzJjNDI2YThjZGQzZDgwM2JmNmNiYTcwYTYyODQ1NSBsZWdhY3ktdHJ1bmsKKzY3NzQgZTA1ZGE4MDQzYjUwMGI0MTUzNGRlYmM3MjVlMmZjZGJjMmI5NWZmNiBsZWdhY3ktdHJ1bmsKKzY3NzUgODY4MDYzMTYxNjY1OGU1ZWQ1ZWE0M2I3MmI5NTIyMDdhM2E5N2VjZiBsZWdhY3ktdHJ1bmsKKzY3NzYgZmM0ZjEyODlmZTZjZjZmZDk0NTZkMTQ2NzAwZmMyNGIyYmQyZTU1MCBsZWdhY3ktdHJ1bmsKKzY3NzcgMzg4ZjljMjIyMGNlNGY2MmMyYTNhN2M2YzQxNzczODE1MzkwM2Y2OCBsZWdhY3ktdHJ1bmsKKzY3NzggOTVjMzE5MzFiNzZhZjcwODM3YTNhNDE0ZjE4ZGI0MGIwMGExZmNmNSBsZWdhY3ktdHJ1bmsKKzY3NzkgNzgwOWI2YjRmZmQ5MzUzODY2NmIxM2Y3ZjQzNDllMDQ4ZGJkODhkMiBsZWdhY3ktdHJ1bmsKKzY3ODAgZTlmNDhkN2U3M2IxY2FjOWEzZTE1Y2QxY2ZmMGFjZTFiODYyZDk1NCBsZWdhY3ktdHJ1bmsKKzY3ODEgMmVlYzM1ZTJhZmZmNzNmMjllNWQ0ZWZlOTQ4YTgzZjcxNTc2YTk5YyBsZWdhY3ktdHJ1bmsKKzY3ODIgMWEwZjM0YzE4MTYzY2MwNDk1Y2JlYTEzNDE0NDc0YWY2YWZlYzUzZSBsZWdhY3ktdHJ1bmsKKzY3ODMgZWNiZWI0NDVmNjJlNTA2ZjhmNzU0ZjEzYzM2NDAzMGYyNWUzZjc4YSBsZWdhY3ktdHJ1bmsKKzY3ODQgM2Y2ZDI2MTY1NGNhMmU5ZGI5MzkxNTYyOGFjNGExNDNmYmQyYmY2YiBsZWdhY3ktdHJ1bmsKKzY3ODUgYzk3ZmZkMmViZDUzOTY0MTBkZTlhNzNmYTY3N2E5MzVhZTM2MWY2YiBsZWdhY3ktdHJ1bmsKKzY3ODYgOTM3ZjY5ZmQ0M2ZlYTVlNzhiMTYyMTJiNzk0MmE5OGNiZTcwZGEyMyBsZWdhY3ktdHJ1bmsKKzY3ODcgOTg0N2RlOTQwNzkwMjk5ZmNlY2YyZDFiOTAxYzY5OTE1OTAwNjJkZCBsZWdhY3ktdHJ1bmsKKzY3ODggM2IzODcwYjlhY2YyNDM5NzY3YWY4NTVlMjk5ZjlmOTA0YTAwY2NmOCBsZWdhY3ktdHJ1bmsKKzY3ODkgNDZkNzM2ZmI5ZGEzMjI4MmQ1MjhhYWVjYTU5YjBlNWQwZTRkMTIxMyBsZWdhY3ktdHJ1bmsKKzY3OTAgNzcyODI4YzFiMWY2ODc0MTlhNTIxN2FjZDE1NWFmMWNmMTBmZDRmZCBsZWdhY3ktdHJ1bmsKKzY3OTEgMGY1MWYxZDcwZDQ1MjZmY2FhOTllZWU2M2I2M2JjZTUwNDcyNjBjNCBsZWdhY3ktdHJ1bmsKKzY3OTIgOTdkMzY1MmU1N2QzNWMyM2ExZGYyZDUwMzRkNjMxNDM2ZmZlNzcyNyBsZWdhY3ktdHJ1bmsKKzY3OTMgOTcxMzM5OTZlMjJmMGYyYTIwNWExNWM5ZGEzOWEyMmNjNDE5NWFjYiBsZWdhY3ktdHJ1bmsKKzY3OTQgZDU4NzE5NmY5YmVmYTVlYTZlZWVlYTIxYTRjN2Y4YzdjMzAyYWExMyBsZWdhY3ktdHJ1bmsKKzY3OTUgOWQ0NDUwMzUwNDUxZjFlYmRlN2Q2YjZjMDE4Y2ZiMzM4MDVmZTFkZSBsZWdhY3ktdHJ1bmsKKzY3OTYgNzczOTdkNTFmODkyMDRkZWFhZTRkNzhhMGU1ZWQxZDRlN2U4NmI1MyBsZWdhY3ktdHJ1bmsKKzY3OTcgMzE0YzEzNDQ1YTAyZGYwMDE0Y2YxZDM4YjU5YTIxMWM5Mzk5ZWNlMCBsZWdhY3ktdHJ1bmsKKzY3OTggMWFmY2QxY2QzMzNiNTdjM2ZmMTA0N2I5ZDU3ZjE3MTBjOTZjZGY3ZiBsZWdhY3ktdHJ1bmsKKzY3OTkgMTJjMzg2NWFlYWEwMzYzNTA2OTk0ZTQ5OThiNzY1OGZmNmM4MmM5YyBsZWdhY3ktdHJ1bmsKKzY4MDAgMDI3ZmYxNTU0ZTY2MmJmZjJjYjNkYjlhMmQ4ZDMyNWJiMDgwMjY3ZSBsZWdhY3ktdHJ1bmsKKzY4MDEgZmI3MzBmYjEzZmFiNWNhZTY3NDk1ZjY3YzRjMDAyM2M5OWJmOTQwMiBsZWdhY3ktdHJ1bmsKKzY4MDIgYjAzYWIzNWQ1MmRmOTc3YzliZDczYWVhMmI1NGYyMGFmZjdhNzQzOSBsZWdhY3ktdHJ1bmsKKzY4MDMgYTI0MGJlNWJlNmI0YzQ2M2E0NzIxNWI4OTQwMjZiZWNkYzUwYjdlNSBsZWdhY3ktdHJ1bmsKKzY4MDQgOTA1ZjdiNGIxMzIzODcwN2ZlN2JiOTU1OWQwZGExZDE2ZDI1ZTcwNCBsZWdhY3ktdHJ1bmsKKzY4MDUgYzJlYjM4YjY3NGYzMDk4OTI0OGM2NTRkYWQ4NzhmNjM1MDllZDQyNCBsZWdhY3ktdHJ1bmsKKzY4MDYgZDA0NDY5ZDAyNTZjZThlZjFiYjA0MWFlZTY0Y2NhZTBmYzkxNzk2MiBsZWdhY3ktdHJ1bmsKKzY4MDcgZWUyMDI2MjE3MzQ5OWM0ZTVjNGYxMjU1YzE4ZWNjOTFkMTZhMmY0YSBsZWdhY3ktdHJ1bmsKKzY4MDggZjM3Y2JmYWE3MzI4MTI5YTBkOGRmMjkyNDgyMDkwZDc1MmQ1OGRiMiBsZWdhY3ktdHJ1bmsKKzY4MDkgMzY2ZDcyZjEyNzk0YzU2OTU3YmM3NWU0MzhjOWY3MjVhYzNkMTU0NSBsZWdhY3ktdHJ1bmsKKzY4MTAgNGRiZmQ0ZGZlMjgxYzkxMjU1MmNiM2FlNzNkZjA0MDk5OGVjOGQ1ZCBsZWdhY3ktdHJ1bmsKKzY4MTEgMzc2ODIyYzY1ODEwODQzZWY4NjEyZGRkMjNiYzA2MjRjNTIyMzI2OCBsZWdhY3ktdHJ1bmsKKzY4MTIgYWYxNjg0ZmM5YzYzMjRkOGQyNDFlMjJiNzgxYmU2NmZhYTk0M2MyZiBsZWdhY3ktdHJ1bmsKKzY4MTMgZTdiYTA5MmMzY2YzYzcxNTNiNWQ5YjQyZDdhMjM3YjFlNGZhZWZhYyBsZWdhY3ktdHJ1bmsKKzY4MTQgMmRmNjJkYjM2NmI3NjgzMDJhYjM0NDg3ZDJiNDYzZDhmMTZmMDY1YiBsZWdhY3ktdHJ1bmsKKzY4MTUgNWE3NTUxMjM2MDYzNWFlMzM2NzE5MGZlMGVkZGVlYTQzNGJmYzQzOCBsZWdhY3ktdHJ1bmsKKzY4MTYgODk3Mjk3YWJlNWI0MDVjMTYyYjFkMThlM2FmYTZlMmMyM2M1OTFhZCBsZWdhY3ktdHJ1bmsKKzY4MTcgNGJiZGU4MDRiNjk3ODRiNGIwZjBjNThjNzA1MDUzZmQ4NjEzZDYwMyBsZWdhY3ktdHJ1bmsKKzY4MTggNWNiZGJhNGQyZTE1MjVkOTQyMGFlYTk3OWExMzRjZjBhYzA4NzI1ZCBsZWdhY3ktdHJ1bmsKKzY4MTkgNGZiODg0YmYxNDdjYzFjMWI2M2M1NTBkNTBiYTllZGMyODI3YTRjOSBsZWdhY3ktdHJ1bmsKKzY4MjAgN2I2MDBlNzNmZDJhOGEwZmZkMTgyODA5M2Y2YjRjYTlhMDQxMzNhYyBsZWdhY3ktdHJ1bmsKKzY4MjEgYTVjMjlhY2NjNDM4ZTgwYmUyMDE0ODEwMjVhZGZjMGMwOWE0NzBhMSBsZWdhY3ktdHJ1bmsKKzY4MjIgODUyY2EyM2M4MGNjZTAwZjUxMmE3OTczNzhmMWJkNWJmZGY1YTA2ZiBsZWdhY3ktdHJ1bmsKKzY4MjMgOTgzZGY0MzY0NTk1NzBmZDg1NjFiYWVmNzZhMGFhMjU4NjQ1NWJjNCBsZWdhY3ktdHJ1bmsKKzY4MjQgYTIwOTkxOTQ2Mjg1MDNhYmU3NmQ3MGM0N2JhMjMwOTU4YmMwNjZlNSBsZWdhY3ktdHJ1bmsKKzY4MjUgMDJhMjRlNDhiMzc2ZTU2YjQ5YmNlOGZmMTk4ZDczMjA3MWNlMDdkYSBsZWdhY3ktdHJ1bmsKKzY4MjYgNmVjMGNhZWFmODIzMGQ4ZWZiNjEwN2I0YzRiZDgwNTI1MWRjZDgwNyBsZWdhY3ktdHJ1bmsKKzY4MjcgYWFjOGE5OWExZjljNGZhMzA1ZDBiMmNlNjM0MGMxMTZmMjQ4MjhkYSBsZWdhY3ktdHJ1bmsKKzY4MjggNjkyNTA3MDM5NTNhMmE3MTA3MmYwOTZiYzg2MmY5NjVlOWVkZjkyNyBsZWdhY3ktdHJ1bmsKKzY4MjkgZWI0NTVkOTliYTk4MjI2ZmI4YWM0ZGFkMGFiM2ZiZDljZmZhMjlmYSBsZWdhY3ktdHJ1bmsKKzY4MzAgOTVmZjg5ZDgzZDYzOTdhODRlZDgxYzEwMjUwMGJlM2U5ZDRhNTZlYiBsZWdhY3ktdHJ1bmsKKzY4MzEgMjkxMzU5NzQ0M2I5MDBlMDBiNWUxNTkxMGRmNDc2MjU4MDFkMzMzMSBsZWdhY3ktdHJ1bmsKKzY4MzIgMDIxMmI0ODA5NDRiYzIwMzk3ZDY4OWQ5ODE4ODVjMjE1MDEwZTIxMCBsZWdhY3ktdHJ1bmsKKzY4MzMgNGUwMGU1ZGFhNjEyOGQyOGIwNzUyZmNhMTI4ZTM5M2VkYTMxZWI0YiBsZWdhY3ktdHJ1bmsKKzY4MzQgZGJmMjczN2QyYzgxY2EzZTNjZjM5ZGIzNDhhZDM4NjQ3OGE4ZDBhZSBsZWdhY3ktdHJ1bmsKKzY4MzUgYWY3NTQ5NjFhY2M1MjRjOTEwMDUwM2Q5YjczZTcwYTQyNmFiNDVkNCBsZWdhY3ktdHJ1bmsKKzY4MzYgMzgzNjExYmRhOWU2ZGVlODlhYmRhNTU0MThiNjM1MmYwYTkzM2UxMiBsZWdhY3ktdHJ1bmsKKzY4MzcgN2IxZjZlNWU5Mjk0NjMwYzRiMGM0YmQyNjgzYTU1MTE3MTMyN2ViOSBsZWdhY3ktdHJ1bmsKKzY4MzggMzQxODJhNjQwOGUwNGY5NWIwMWQyYjJiOWY4YjJmMGFhY2Y5NWE1YiBsZWdhY3ktdHJ1bmsKKzY4MzkgOTEzZmM5ZmY0M2FjMTIxYTk3MjA5YThjNjQyMGRlMGMyOGViYjk3MCBsZWdhY3ktdHJ1bmsKKzY4NDAgM2ViNzRkZjY3MmEzOTk3MzAxZWFmYjAxNjIzMTRkODFjMjUzYWNhYiBsZWdhY3ktdHJ1bmsKKzY4NDEgMzE1YTc5MTk5ZmM4ZWQ3Y2ZkOWFjNGFlOTFmMWFjYWM5ZmEzODllYyBsZWdhY3ktdHJ1bmsKKzY4NDIgYTA1ZjhkOGM2NzY4ZjgxY2YyMjViMzBlMmQyYWEwMzRjNTI4N2UzZCBsZWdhY3ktdHJ1bmsKKzY4NDMgM2U3N2Q2NjM3YTJiOTBkMzJhNjk3NDBlZDA5MjE3MjgyM2YyZjI2ZiBsZWdhY3ktdHJ1bmsKKzY4NDQgYTcwNjkyYTZkOGNjZjU4ODBmMmU4NDZjOTFhOTM2MWYxZGNjOTIwYSBsZWdhY3ktdHJ1bmsKKzY4NDUgYzI3N2VlOGM2NjljZGI4MjBhOWQzYmJlMjNkNjAzNWQ1MjZkZmFlYiBsZWdhY3ktdHJ1bmsKKzY4NDYgY2JkNDM0YjQ2YzFhNjNmMzIyNGY4YTgxMzJhMGNhYmZhOTA3ZDZjNSBsZWdhY3ktdHJ1bmsKKzY4NDcgOThlYTgwMDUxZGJjOTFkMDk3MDJiNWRjMjRiMjM3MDA0ODVjNzAyMyBsZWdhY3ktdHJ1bmsKKzY4NDggNDYxNDBmNTg1NmQ5MGEwZWE4NDZjZTk4ZTFhN2JmZTIwMGExYTdiMCBsZWdhY3ktdHJ1bmsKKzY4NDkgMzFjN2Q4ZjQ1YWViMDg1NTc4ODNiZmU3Y2Y2NzE5MDVkMGQyYTUwNCBsZWdhY3ktdHJ1bmsKKzY4NTAgZDRmNjRmYzQyZDg0NDkwNTRmMzMxN2VkNzQ5MjA2OWEzNDQ2M2Y1YSBsZWdhY3ktdHJ1bmsKKzY4NTEgNWY4YTY1M2IxNzc5YTUwZGU3ZWNjY2VjMDQ4ZDkxOWI2YTQ4MTc5MSBsZWdhY3ktdHJ1bmsKKzY4NTIgOTY2OTlhZjQ4MWJhOWU5ODJkNDFhZmRhZWI0MWJhZmNhY2MyZjVkMSBsZWdhY3ktdHJ1bmsKKzY4NTMgMzA2MTY3NmE2NTlhZTNlOGU3OTZhMDg5NzBhZDliZGViZDI2MTM1OSBsZWdhY3ktdHJ1bmsKKzY4NTQgYWYxYmYwZjZlMmRiMTEwMGY0ZmEyZTI5YTEwZjYxZTc5ODhhMjQ0OCBsZWdhY3ktdHJ1bmsKKzY4NTUgNzk4NzMyZTY5YjNiYTFhNjI0ZDhjYjk5N2Q4YjZlMjIyYzYxZWU0NyBsZWdhY3ktdHJ1bmsKKzY4NTYgYWQ0MWRlY2M1ZmE5M2Y5Yzg4YjVhOGU2OWJjZTI4NDMyOGI4MDVhNCBsZWdhY3ktdHJ1bmsKKzY4NTcgZTAzM2M3ODZmMjk3MWM3NjQ3NDlmOWYzOTUyNDBjMGU1YzM4Y2IxZiBsZWdhY3ktdHJ1bmsKKzY4NTggMGRlOWM1NTRiYTAwYzBkNmVmNWRhMzU4MTA0ZDExY2M2ZmJmMTc0NSBsZWdhY3ktdHJ1bmsKKzY4NTkgNzBjYzIzOGQ1NjNlNjIyNzkyZGU3ZmY4MjgxYzM2MmZlNDMxZjEwMCBsZWdhY3ktdHJ1bmsKKzY4NjAgM2M3ZWZlYjYwN2EwNzBjYjQ0NTkyYWM5OWNmMmZmN2FjYjNjN2M0MSBsZWdhY3ktdHJ1bmsKKzY4NjEgMmUyNzJiZjVhNDNlODQ0N2JlMDhiNWU2YmI3MGFlZGYxMmI4YmJhYSBsZWdhY3ktdHJ1bmsKKzY4NjIgYTc3ZjRjMjI2OTdmZjlhZWY3ZjU3YjdjYjU0Y2IwMGZmYTJkOTQ2NCBsZWdhY3ktdHJ1bmsKKzY4NjMgYWRiZTYzMzE3Y2NiM2RjYzY3YTRmNWI0NTJmNmI1N2M0NmVmYmY3OCBsZWdhY3ktdHJ1bmsKKzY4NjQgNzc5NTRmZTQzNzZjYjQ5MWUyN2I1YTQ4NDNhNWY1MDA2YTgyMjI5YiBsZWdhY3ktdHJ1bmsKKzY4NjUgNjJiNjViZTJiNzdmMWIxYTlkNzE3NmEyYjVlZTZiMzI0NTBhZDdmYiBsZWdhY3ktdHJ1bmsKKzY4NjYgNzJhMGNmZGEyMDA0NDc0NTkwOGNkOGQ1MTlhNjUxM2Q4NTQ3OTA4MSBsZWdhY3ktdHJ1bmsKKzY4NjcgNzk4MDg2MzIzNDY0NWM4NThiNzUzZmVhZjA1MjMxZTg5NmExNTcyMiBsZWdhY3ktdHJ1bmsKKzY4NjggNWM4NmY2MDUzOWY3NDI3ZTBhZDEzY2YwNDFjYTA2MTRlODdiYmYyOSBsZWdhY3ktdHJ1bmsKKzY4NjkgNDhkMWY1YmViMTZiYTY0OWFkNDJkNmVhMTJjNDdhYjg4ZTU3ODYwNCBsZWdhY3ktdHJ1bmsKKzY4NzAgZDU4YTg0OTE1ZmFkZTE5YWUyZDgyZjBkOGE1OTE2MWI0NDkzYjEyNyBsZWdhY3ktdHJ1bmsKKzY4NzEgODkwNDM0ZDViZWMyZjljMzlhYTZlYTZkMTExNmU0NDE4MjBkZjBiNCBsZWdhY3ktdHJ1bmsKKzY4NzIgZWM0YzQyYmVhNjlkNmNmYjEzOWM0YzQ0ZGNlMTE4YmU4YjlkYTUwZCBsZWdhY3ktdHJ1bmsKKzY4NzMgZmRkMTI5ZjA1NzRlZGNjNjE3YjllYTAwNmVjNjU5N2ZmYjFhYTRiMyBsZWdhY3ktdHJ1bmsKKzY4NzQgMDkxNzc1YTVlMTliMzVlOTQ0NTFiMDQ3MTc2MWJlNjM0ZTdiMTk3YSBsZWdhY3ktdHJ1bmsKKzY4NzUgZDE2Yjg2MjFhM2YwZWFkYTM5MDRiMDZjNWQ2MzdhOTllMGJlNWE5NyBsZWdhY3ktdHJ1bmsKKzY4NzYgMWQyNzVjZDQyYzliMTg3YzYzMjlhYzhhZDIyNWI2ZjcxMmI4Zjc4MSBsZWdhY3ktdHJ1bmsKKzY4NzcgM2IzZjdjM2Y2ZGEyZjhmMGQ1ZTg0ZWI2ZjYxNzQ1YmQ2NzNlZThkYiBsZWdhY3ktdHJ1bmsKKzY4NzggMWUyZDI4MDYwNmQxZWZmOGQyMzNkNzM4ZmE5OGY3NWJjMDU4NmE4OSBsZWdhY3ktdHJ1bmsKKzY4NzkgZTUyOGMwYWNlNGU1ZGE5ZDIxY2MzZTI4N2E1MzRiMjg1ZDE1MGNhNyBsZWdhY3ktdHJ1bmsKKzY4ODAgNmYwMzJlYTI2NjQyZjZkY2UwMGNlZmFlNjE3OGQ1MDJmYmNhMjcxZSBsZWdhY3ktdHJ1bmsKKzY4ODEgN2RkZDhiM2Y2ODAyZjBlMmU5MzM5ZTc4NmY4OTg0NTQxYTJiZWQxOCBsZWdhY3ktdHJ1bmsKKzY4ODIgNmM3NzFlYTM4ZWVlODcyOWExMzFlY2M0OTYyNzdmNmYwYTVkODNhOCBsZWdhY3ktdHJ1bmsKKzY4ODMgYTk4MDExZjBmOWNhNWI0YWIxYjNjZThkMWI4MTVkNmQyMTY2OWQ3OSBsZWdhY3ktdHJ1bmsKKzY4ODQgNGNlZjIzZTFkY2NhODdmZjE4NzA4ZDdiZDU3ZjY5MGY5ODMzN2I2NSBsZWdhY3ktdHJ1bmsKKzY4ODUgZDczODQ5MGM4ZGExOTNjMmZjZWMwYzE4NWE4NGNlNGI1MzUxYWJmOSBsZWdhY3ktdHJ1bmsKKzY4ODYgYWMzMzI0ZTYzOGU5NmMyNDM4ZTE1NWEyODY5YzRmYTZjZmUxMGZkZSBsZWdhY3ktdHJ1bmsKKzY4ODcgNzdkM2QzMDEzNjkyZmRjM2I0NDQxMGIxYTM5NjBkMTk0MDA3YjEzOSBsZWdhY3ktdHJ1bmsKKzY4ODggMDJhNjhkNjIzODA1YzAxMjE1ZTE1MTkyN2UzMmM0NjRiNTE1ODI1YSBsZWdhY3ktdHJ1bmsKKzY4ODkgM2RiZWQwZmY5Y2YyMzM0ZDc2MjdmYjQ5N2RlNWMzZmE3ZDRlZjU2ZiBsZWdhY3ktdHJ1bmsKKzY4OTAgZmNlNGY4N2U1OTc0OTQ3YjgxM2U1MDUyMDVmZGRmMmU4N2U3NjViYyBsZWdhY3ktdHJ1bmsKKzY4OTEgYzE0MzVjNWRhMjgxN2IzMDY0NThlZWQyMGIyNzhkOTljYzRkYzAyYiBsZWdhY3ktdHJ1bmsKKzY4OTIgZjQxYWI3MTNmN2VhYmU5MzgxYjdhZjEwNzZlOTNlNDc2NTIwMmU2NSBsZWdhY3ktdHJ1bmsKKzY4OTMgMmVhY2QyYzhlYWJmZjQzNTU0NjcwZWE3OGUzODM5Zjc5ZDZiOWNlZSBsZWdhY3ktdHJ1bmsKKzY4OTQgN2ZmZmY2OTVmMjFkYTc3MTk0YmM1ZjQ3ZjAwMTY4YTJlZDBjMWRkMSBsZWdhY3ktdHJ1bmsKKzY4OTUgOTNkMDVlMTc4MjE2NGRmN2IwZTdjMmZiZTY0MzA5YWRlYTI2ZmVmYiBsZWdhY3ktdHJ1bmsKKzY4OTYgZGQ1ZTllODU3MTg2NTlkNjVjNDFhMTg1Mjg3ZDNhY2IxMzM1NzdjYiBsZWdhY3ktdHJ1bmsKKzY4OTcgZWY3NjA0YzA3ODc3ODFiOTEzZTcwZTZmZTAxNjliOTE3NjgwZGUwYSBsZWdhY3ktdHJ1bmsKKzY4OTggNGY2YzU2MjkyZDM0ZjZiZGU1OGNlZDE2NmM4OTQ3ZDEzNzU4YzhhZSBsZWdhY3ktdHJ1bmsKKzY4OTkgNWUwMzg4NTZmYTU2ODg2ZmI2YmY4MjBlYTBkMjYxNTk4NjBkZDk4YyBsZWdhY3ktdHJ1bmsKKzY5MDAgNzVhYmU3MzdlNzBiNjE3MTlkMTExZjcwOTdkM2Y0YTU3MzBjM2Q5MyBsZWdhY3ktdHJ1bmsKKzY5MDEgOWM3ZWYwMzBiZWM4MDExYTNiMjRmNjEzMDBlMDRhZjBlNTY3M2U4MCBsZWdhY3ktdHJ1bmsKKzY5MDIgOTM4YmU3YTMxMDZmMjg1YmQ3MmI1MDQ0OWY3N2Q3NjdmODlhNzA4ZSBsZWdhY3ktdHJ1bmsKKzY5MDMgMzRlZWI2MWYxMDI4Mzg2ZDhhNTI0MDMwMzViZWFhYmJkNzg3NGQxNyBsZWdhY3ktdHJ1bmsKKzY5MDQgOTI3NTMyMDcxNDkwNDQxMzFlZTJhNzZlMTc3YzViZDEyNTI3ZTg3NiBsZWdhY3ktdHJ1bmsKKzY5MDUgZjJmOTQ2YmQ3ZjQ3YzVjOWE2MzVhOTY4YWY0NjVkYzc5MDhmMWIyOCBsZWdhY3ktdHJ1bmsKKzY5MDYgMWNjY2U1ZTRmODA2ZDU0OWMxYWEzZmFiOWM0OGE3MDhhNGM0OTg2MCBsZWdhY3ktdHJ1bmsKKzY5MDcgMzQwYWRmYWE5ODU0M2YwMTllYjBmZWU4NjdhZDlmMmZmZjBkN2ZiYiBsZWdhY3ktdHJ1bmsKKzY5MDggYWMyYTYyN2NlM2E3ZWY3ODAzN2U5M2EzZGQzODk3YTliMjczMTY4MSBsZWdhY3ktdHJ1bmsKKzY5MDkgMjVjNTMyODY3NjNkMDM1OWViMzIzODJmMGRjNDAyNzViNWZhMTllZCBsZWdhY3ktdHJ1bmsKKzY5MTAgYTM2MjM1NjMxMjczN2I3N2M5OWIyNDgwNzljODUwZjZjZWY3YzYyOCBsZWdhY3ktdHJ1bmsKKzY5MTEgN2RlNDU3YmRjOTQ2Njc5Mzg2NjE0ZmUyM2JmMjJlODg1YWFhNjBhMCBsZWdhY3ktdHJ1bmsKKzY5MTIgZTg4YjMyMTVlOTRhNTkwMThiODRmMWE5NjU3N2JmZDMxYzk3MWI1NyBsZWdhY3ktdHJ1bmsKKzY5MTMgZmIxMjM3YmY3MDIyYmI3NzczOTc4ZGIzMjEwYTJhZWU5ODA3N2E3YyBsZWdhY3ktdHJ1bmsKKzY5MTQgZmNlMjk2ZGJiMDNlMTY5OTgxMDNiN2EwM2ViZjUyMjkxODUyNDBlNSBsZWdhY3ktdHJ1bmsKKzY5MTUgNzgwMTBjY2I4YTQ2MTg4MWViY2I1NTQzNmM4MzMwNGZmZmEzM2M2MyBsZWdhY3ktdHJ1bmsKKzY5MTYgMDU0OWUzNDI4ZDU3ODM1ZGQ1YWNhZDdhOTBlN2RjOWFmMGYzYWQxMiBsZWdhY3ktdHJ1bmsKKzY5MTcgMWMyNzQ0OTEzMGJhNDQ1YzIxMTAxOTMxMWIyMjkzOGJjODE1MmQxMCBsZWdhY3ktdHJ1bmsKKzY5MTggZmE5YWJmOWE4NjI0ZTZmNmU3NDVhZTE1ZWNmNDM3N2VjMzIyYjk5MyBsZWdhY3ktdHJ1bmsKKzY5MTkgMDJiMWYwOGUzMGEwM2NhZTk0ZmJmNzI1OTljZDYyN2Y3MjVjYzE5NCBsZWdhY3ktdHJ1bmsKKzY5MjAgOTQ1MjE4ODA4NzFkMTYyYmRjZjlmYzM1Yjg5YTA0ZmQzZWRlZTc0YyBsZWdhY3ktdHJ1bmsKKzY5MjEgMWJhMjJmNzQ5NDg5YTQzNTRhN2JjMzYxMjlkMDQwNDMyZmZhMTNlMyBsZWdhY3ktdHJ1bmsKKzY5MjIgODVkMzg0NTZhZGYwOTQ4NWI0MDQyYjAwYWIzZjlhOGVlNzY0N2NjMCBsZWdhY3ktdHJ1bmsKKzY5MjMgMWZiOWE1NGU0YTljMTU3YmRhNGFmMzUyOTU3ODJiMGMzNDFmYjBiZiBsZWdhY3ktdHJ1bmsKKzY5MjQgOTFjNjk2NDU3ZmQ0ZWQyY2QzMTRiMGI2YTBlZjA1MDM4ZjI4YmM3OSBsZWdhY3ktdHJ1bmsKKzY5MjUgYzZmZmI0ZmM0ZGE0MDY2MjQ3MzIxMzcwNTc3ZmZhMWZjYzMyYmQ3ZiBsZWdhY3ktdHJ1bmsKKzY5MjYgZWRhYjA5Nzg4MmQ4MGU0MWJkNmI5OTQ2ODM4NGE5N2NiNjY1M2YyYSBsZWdhY3ktdHJ1bmsKKzY5MjcgZGNjNGNmOWZhNjJhODZjYjY5NGQxMjM1NTI5NTBkM2M2ZjdiYjViNiBsZWdhY3ktdHJ1bmsKKzY5MjggNGMxNjE1NGZmZmI5N2I0NmYyNWRjNTIwZGNjNDcxNzJhYTgyNDcxMyBsZWdhY3ktdHJ1bmsKKzY5MjkgN2VlZWZkMzI2N2Q0NTBhNzI4OTcwZTE5ODdmOTM4YzdiNDk3ZDlhNyBsZWdhY3ktdHJ1bmsKKzY5MzAgYWNiMTk4OGI4ODUyZmI4OTc2YTA3OWY5OWY0ZWVlMTYwMjQ5MDQ4NCBsZWdhY3ktdHJ1bmsKKzY5MzEgYWI2MGM1NTg1ZDFiMDA1Y2RjNTRiYWRmZDZlYjM0M2Y2ZDhmNTg4NiBsZWdhY3ktdHJ1bmsKKzY5MzIgZDg3NTlkMGI1YTY3Y2JiZDBhM2MwZWM2YmJhNWU1N2JmOWE2NDEwNCBsZWdhY3ktdHJ1bmsKKzY5MzMgYzkxYWFjYmY4ZWQ0NjUyODk0MGJiMDZlODZjY2NkMmNlOWMwMTRhMSBsZWdhY3ktdHJ1bmsKKzY5MzQgNTE5N2UwZjNmMGZmY2VkMGM5ZWJiODY2NGEyMzE0MDk5OGU3YmRhYSBsZWdhY3ktdHJ1bmsKKzY5MzUgYTgyNjRkNzBmMjgxYzYwOThiZjAyYjVjM2Q3MzE1ZjlkMTVhYjBlZiBsZWdhY3ktdHJ1bmsKKzY5MzYgNmY4OWE0NGE4NjFjN2JkOWEyYTY4MjYyNDE3NTQ4ZDVlMThjMmZkYSBsZWdhY3ktdHJ1bmsKKzY5MzcgYzZhNDc4NmU3ZjhlYTgzMDFiYWMxNGE3NTk1YmFlOGRmZDRmNzgxMyBsZWdhY3ktdHJ1bmsKKzY5MzggYmFhYmZiNWQ2MmE4OGNlNDFhNDg5MWZlYWFkYWNhZmNjZWE2YzhlNCBsZWdhY3ktdHJ1bmsKKzY5MzkgYjUxZGMyZmI0OGUxODA0YWRkNTc5OTE3OGY1YjYyYzVkYmQ5NzUzZCBsZWdhY3ktdHJ1bmsKKzY5NDAgOGQwNTZmNTNhN2Y2MzI1YTkwN2VjMzViY2Q2Y2ZhNWI0M2RiMzM5MCBsZWdhY3ktdHJ1bmsKKzY5NDEgMGQ2MWY2YzM4YjM3ZTI1NzhhNDlmYTk3NjdhNDNiNTQ0YzBkOTk4MSBsZWdhY3ktdHJ1bmsKKzY5NDIgNjAwZjViOGExNmNiMWM0NzViZGMyOWM1MzhlOGVlZmU1M2RmYjdiMSBsZWdhY3ktdHJ1bmsKKzY5NDMgNWQ3ZmEzZjJjZWMzZDU2MTE2YjZhNjhhOTIyYzNiNDI0NGE1NGM3MSBsZWdhY3ktdHJ1bmsKKzY5NDQgZDljNTE1NWJkYTUwMDJmMmNlODhjNTQ5ZTg4NzM5N2ZjZWU4OTE3MiBsZWdhY3ktdHJ1bmsKKzY5NDUgMTIyYzhmZGZlNGVmOTFhYTc1YmRkMDAyOWQzYTBiOTVjYWI1ODMxYiBsZWdhY3ktdHJ1bmsKKzY5NDYgZjYzNDYwOWY0MDI4YTVlMmM3OTFlMGQyM2U3YTk3YjQ0NGQxZTJmYSBsZWdhY3ktdHJ1bmsKKzY5NDcgNTVmZTY0YzIxMTQ1Y2Q4OTMyNzM5MWNlYTdlMWRkZWM0NzU2ZTk2OCBsZWdhY3ktdHJ1bmsKKzY5NDggNGQ2YmFiZjJlNGUxOTEzYWQ5NmFiOGRkZGEyZmIzYWQ1MjViNWU2NyBsZWdhY3ktdHJ1bmsKKzY5NDkgZmIyZDFkNWUxNDFhYTQ2Y2RiYWNhNDU4MGRmOTU4OTUzMjAyNjlkNCBsZWdhY3ktdHJ1bmsKKzY5NTAgN2U1ZjAzOTUzMTEwNTliZDQ0ZjZlMmUzY2NhMGMyM2JkODIwZmM0ZCBsZWdhY3ktdHJ1bmsKKzY5NTEgMmZkYmExMjY3NjEzOWVmNWZkMWFmNjRmNzhiMWU2MDkwNGE0OTVhMCBsZWdhY3ktdHJ1bmsKKzY5NTIgMjY3YWU1ODIzMmQ5YTg2YTllYWM1NTE0MzMyZjA5YzljZmNiOTFkNiBsZWdhY3ktdHJ1bmsKKzY5NTMgMjM0MzgwMzMxOGU0ZjZmNTYzMjE0YTBjMDgxZjQ4NjJhNjkyODNiMCBsZWdhY3ktdHJ1bmsKKzY5NTUgOWU4NTNhNWYwNGZmOWVjMTkyMmVhY2E3MDBhNDQxNmMyMTg0OTJhNiBsZWdhY3ktdHJ1bmsKKzY5NTYgZGQ3MDllZDgyMjYyNzBkZWZlMDFkYjljZmU5NzM0NjJjZTIzYzNlMCBsZWdhY3ktdHJ1bmsKKzY5NTcgMzI0ZTFlMzZlNjUyYmMyMWEzNTg0MTY1ZTAxYTFmY2ZkOTlkYmNmOCBsZWdhY3ktdHJ1bmsKKzY5NTggMWZlYzg4YjIyZTg3ZjgyNGM0NDFlYzA0YWRlZTJiNWIwZTllYmMwYyBsZWdhY3ktdHJ1bmsKKzY5NTkgYTYwZDg1MjM3ZmRiODFlYTU3MGQwODczYjE4ZjEzNDVjMmNiMTc2ZCBsZWdhY3ktdHJ1bmsKKzY5NjAgZDkwNGY1MzlmZmQ5Y2U4ZWZlZTEwYjAxMjc4NDRiYWVlYjNkM2JjNyBsZWdhY3ktdHJ1bmsKKzY5NjEgM2Q0MzUxMGI1ZTE5ZGE1YTY0NTljMGQ3M2FhNjM1YTBmNWRmYTM0MyBsZWdhY3ktdHJ1bmsKKzY5NjIgZTBjMWJkMGE3NGE5MTI3NDRjY2ZiNjI1YmViNjMxMmNkY2RlOWU3OCBsZWdhY3ktdHJ1bmsKKzY5NjMgOGNlMTg1MzhlM2JiZmIxZTQyOTk2MTM2ODcwYzUyMzJhZjk1MTY5NSBsZWdhY3ktdHJ1bmsKKzY5NjQgMGU2MjNlODIzMDFmMWZiMTQ2ZjA1MzNhY2JlN2ZlNGUzOTY0MzUyMCBsZWdhY3ktdHJ1bmsKKzY5NjUgOTc0ZGMzNmZlY2Q2MmMxNmY2ZTJjZWM5ZTRjNzEwOWJjNmVhMWNlYiBsZWdhY3ktdHJ1bmsKKzY5NjYgNmE3NWIzY2YwMjNjZmM3YWMzYjE4MDdlNzEzMWZmOWRhODQ3MGNiZSBsZWdhY3ktdHJ1bmsKKzY5NjcgYWU3NWQ0YTFmNWRkYjM1Nzc1YzY5ZmNiYzAwZGU3YWY1MzA2OWEwNCBsZWdhY3ktdHJ1bmsKKzY5NjggOTllNzBjNDcyYTIwMmRhNTEyNjY0YmY2YzE5OTBjODMwMjcyMWM1NSBsZWdhY3ktdHJ1bmsKKzY5NjkgYTk1NTQ5MjY5ZGUyYjAzMDI0OThmNTZlYWJjNjBlZWJhY2QxNTdiZCBsZWdhY3ktdHJ1bmsKKzY5NzAgNTY5ZTNhZjUyMTg3NWRlZmY2NzQ2YzNjYzhiZjE1MjI3M2U2YmNiYSBsZWdhY3ktdHJ1bmsKKzY5NzEgZWFlOGFiM2QyNGUwMzAwOTJlMjc0ZTQxZGJiZDgxN2RlYjNkZWMxOCBsZWdhY3ktdHJ1bmsKKzY5NzIgOTMzNTNlMWQxYzc2MDRmMDc1NzUyNDU3YmUzMWUyNjJjMjNhYTgwOSBsZWdhY3ktdHJ1bmsKKzY5NzMgZDgwMTI1ZDdkYzczNGExZjllMTQ1OWVmZjg2NDdjZTgwYmU1NDA4YyBsZWdhY3ktdHJ1bmsKKzY5NzQgMjBmZDk2NjQ4NTEwOGRjMmUwOGE3YzRlMWUyMmM2NzczYmI5MTgxYSBsZWdhY3ktdHJ1bmsKKzY5NzUgNGJhMjBmNDQ2NTRiYmU3ZTBjYzQ5Mzg2OWEyMWZlMjY5MTNmYWVjNiBsZWdhY3ktdHJ1bmsKKzY5NzYgNTU5YWE0N2IyZTJjZmNmZWU2NGIxOGY5ZmMyYzc5NTlhZmU0MWUwMSBsZWdhY3ktdHJ1bmsKKzY5NzcgOTQxYjA1MWFmNjc1ZTJiN2VlNzY1ODM4MzhiYjZjOTQzMDc0NGI2MiBsZWdhY3ktdHJ1bmsKKzY5NzggNjVkMmQ4ZTY3ZGEzMjNiNzRiNzJlNGQ4MDU1MzZmYWE2ZmQyNGMxZSBsZWdhY3ktdHJ1bmsKKzY5NzkgODU4ZmIyZTliYzE3MjNjODhiOWVlNzgxNWIxMTg1NjQyM2JmOGE0YSBsZWdhY3ktdHJ1bmsKKzY5NzkgZGI0OTQ5NGM5M2RjNzNkZTA2ZDU3MjFjNzRlYWI1MzNhOTQ3YTkyYyBsZWdhY3ktdHJ1bmsKKzY5ODEgMmIyMWVhMmYzOWI0NDMyNmNiMjBjMTVmOTA4ZjAzZjdkMGNmZTgxMSBsZWdhY3ktdHJ1bmsKKzY5ODIgMTg5MjdhYmRjMjYyODE5NDhiY2I5NTQ2NDJhNmY4YTc0NTM0NGZmMCBsZWdhY3ktdHJ1bmsKKzY5ODMgNzE4N2M3MDllYmZkZWE0MTQ3YWY5ZDI1OTcwNzcxMjdlMjgyYzhkYyBsZWdhY3ktdHJ1bmsKKzY5ODQgOWNhNTk0MjQwMjBlMDBmNmJjNmQxMTUxOTc3NmVjOTY5MTA3YzczMCBsZWdhY3ktdHJ1bmsKKzY5ODUgMTFlMGMyMjA4OTk5Nzk4NmQzODdmMDFhNWUyZTcyZDA2Njg3NWU5NSBsZWdhY3ktdHJ1bmsKKzY5ODYgZGYyYzIxMmU0ZWEzZWJjYWJlZWY2MGViOGI0MzYxYWFlN2RiZjE2YyBsZWdhY3ktdHJ1bmsKKzY5ODcgMjNhMTA0ZDNiY2VkYzc1Y2M3NzdjNDYzMWUyZWY0ZTI3Mzc5YWM4YSBsZWdhY3ktdHJ1bmsKKzY5ODggODQ3NDQ1YWVhYjJkMTkwYTZjNmI1NzI2NmRmYmNmZGE1NDE0N2QwNyBsZWdhY3ktdHJ1bmsKKzY5ODkgZjY5NzZiOWE4NWE0M2VmOWI0Nzg1YWU1NTIyMzFhMTA1OGIyZTgzMSBsZWdhY3ktdHJ1bmsKKzY5OTAgYTc1ODU4ZmVmNTUwN2VlN2FmZmI5N2MzMDllNGNjOTEwNjZlOGJmYiBsZWdhY3ktdHJ1bmsKKzY5OTEgNGE3YzdkZDdiMWYwNTYzMzkzNjE3MzZiZGIxMDUwYTViMDhjODBjMiBsZWdhY3ktdHJ1bmsKKzY5OTIgYTRkMmFhZTc1N2E4ZDUxNzRhOWYyMmYyZDYxYTZiNDAxMDY4ZTUyZiBsZWdhY3ktdHJ1bmsKKzY5OTMgNjkxZTM5MmNhZDM0MGJkYmY4OTk5ODljMTEwOGMzZDhiNTAxNGE2YSBsZWdhY3ktdHJ1bmsKKzY5OTQgZmQ1MjRhMDAxY2U5ZmVlMjlmODE3Y2FlNTdjYjI2OTJiNWYyYjFjZSBsZWdhY3ktdHJ1bmsKKzY5OTUgYjQwNjNjMTAxYzJjY2UzMjQ5MzlmNzJiYTMyOTc3OTgxMWY1NjNkMCBsZWdhY3ktdHJ1bmsKKzY5OTYgOTdhNjE3OTVhMTY5YWZmN2UxZWE3YWNkZmQ4ZjA4ZDNiMTQwMzg4NiBsZWdhY3ktdHJ1bmsKKzY5OTcgZDI1YTBjY2JmZDZiOGE4YTA4OWE1NWE5ZDE5OTI3MjkzYWFlYTQ3YSBsZWdhY3ktdHJ1bmsKKzY5OTggNGQwNjgxZjdjZjZiNmI0YjVlNGYxMTk5MDE1Yjc2ZGMyYWRlNTAxNSBsZWdhY3ktdHJ1bmsKKzY5OTkgZDBjMDNjMzJlOGQ5NDMwZGZjYTQ3MGQyM2ZkZDdmNzY1OTgwZjNkYSBsZWdhY3ktdHJ1bmsKKzcwMDAgZmZlZjJjMzBkYzQ4ZmQwN2RhODJjY2EyODhlZDY1NzMxNGYwZjJiMyBsZWdhY3ktdHJ1bmsKKzcwMDEgZGI1NWI4MGFhZjEwMzk0YTZlNTg5OGE4YjQ1OTdhOWE1YjlkYmYxYyBsZWdhY3ktdHJ1bmsKKzcwMDIgNzg5NGEwY2Q4Yzc1NGI4NWM1ZDc4ZmQxODg1NjZjMjdhNTc3MjU1OSBsZWdhY3ktdHJ1bmsKKzcwMDMgMjgyNGNiZGJlMTJjNWJkNjdhNDNhZmU4ZmUxNmJlNjk0YzM5NWMzOCBsZWdhY3ktdHJ1bmsKKzcwMDQgMzM3NTYyMzMwZmQwZmQ1OTAzZmQ0MTJlYWRlMDk4YzM3MmUxYTZmZiBsZWdhY3ktdHJ1bmsKKzcwMDUgODBiY2IwMmViZjRlZjBhZjU0ODYxOWM5MTgxMjExM2E5ZmRmODkyOSBsZWdhY3ktdHJ1bmsKKzcwMDYgOTYwM2E2MGM4NjliZTI5MjJlZTk4NDBhNDhjZGJlZjhiZGYwYzA2MiBsZWdhY3ktdHJ1bmsKKzcwMDcgMzBjZWNhM2YxMDViMGRhODEwNTQzMjE4ZDZhYTcwNDAzNDJmOTBmNiBsZWdhY3ktdHJ1bmsKKzcwMDggNjJjZWY3ZTg5NmI2ZWNhYjI3MDRmMzI5MDI3ZDA5OGQ3M2MwZDkzMiBsZWdhY3ktdHJ1bmsKKzcwMDkgZDkwZDdiNTQxYWRhYjJmNmRhMTdkZDY4MGQyNThiNzA0OWM0MDRkZCBsZWdhY3ktdHJ1bmsKKzcwMTAgOTQyMWQyZjYzMDc3YTk1MmY2NjZhMGIwMDMzM2M4OTI2ODExODZlOSBsZWdhY3ktdHJ1bmsKKzcwMTEgMDU3NTA4MzhmODQwM2Y4ODYzNWZmNzdkY2FiODQ0ZDkyMzg2MWUzOCBsZWdhY3ktdHJ1bmsKKzcwMTIgYmYzNzY4YmQzMWYyYzk2ZDU3NGE2NTc1OTc3ZGE1NzQ2OWE4NWY1NyBsZWdhY3ktdHJ1bmsKKzcwMTMgNjUxNzBkYTFkMmNhNWJjNGIzMGNmNjljZmIxMDQxYzViNTIzMjc5NCBsZWdhY3ktdHJ1bmsKKzcwMTQgNDdlN2M0MmI5ZGM2MzUzZmRmZDg4M2RlNjQ5NWVkYTc0YzBlZThlZCBsZWdhY3ktdHJ1bmsKKzcwMTUgMWY0ZjFiZThhMzM5YjhjZTdlZTUxN2UwOGQwOTEzMTgyNDg5YjY1OSBsZWdhY3ktdHJ1bmsKKzcwMTYgNTc0OGQ1ZWUxOWVkM2NjMDk5NDU3NDFjMWUxN2M3MGNlOWMwYjdmNyBsZWdhY3ktdHJ1bmsKKzcwMTcgNjUyMzAzZWY5MjZiMWY2MmQyYjVlODBjZWJlNDBjYjk3ZWEwMjEwZCBsZWdhY3ktdHJ1bmsKKzcwMTggZTUyMDU0NDQwZWZjNWIwMmZhOWZkMzQ2MDMyMTQzMGNiYjVhZTk5YSBsZWdhY3ktdHJ1bmsKKzcwMTkgOGQwYjAwZWQ4YzJiNTZlNjdiM2I4YzgxZmUyYTYzZTc5YWNkNmY4OCBsZWdhY3ktdHJ1bmsKKzcwMjAgODIwYmYxYWU3ZTI1ODJkZDVmMjU0MTAyNTcyYjFkMDA5OGVmOGZjYiBsZWdhY3ktdHJ1bmsKKzcwMjEgY2M2NTIxYTJjZTIxZWU4NWZmNjFmZjg4NTgxMjI2OTI3Y2Y3ZGY4MiBsZWdhY3ktdHJ1bmsKKzcwMjIgNTRjODAwOGRlODdiYmI1Mzg0MGYyYTg3YzllY2NkMGM1NzY0Y2ZmZSBsZWdhY3ktdHJ1bmsKKzcwMjMgYmQ1NTFmYmI5NTk2NTg3Yjk3ZjE2OTYzNTUzYWYzMzIwNzJiNGQ4MSBsZWdhY3ktdHJ1bmsKKzcwMjQgZGJjOTg4MzRlZmYyZWE1Njg5NGJjNDA4YjUwZWJlN2M3MGY3MTY0MCBsZWdhY3ktdHJ1bmsKKzcwMjUgZjEyNDQwMzZlYmFiNmUzNzExODkyYzljMGU3YjRlMTYzM2ZkMGY2NCBsZWdhY3ktdHJ1bmsKKzcwMjYgY2VhMzE4YmI5ZDJmNGQ4ZTQ3MjU0ZWVlOWE0M2FkNThkMjI3ZTkzYSBsZWdhY3ktdHJ1bmsKKzcwMjcgZWZiMjkzOGNlNjc2M2ZjZjE1NjQ5OWQ1YTE5ZDEyMzg2MGQ0YjE2ZSBsZWdhY3ktdHJ1bmsKKzcwMjggODkwMDIxMzc2NGJhMTlkMjM3MzlkZTc0YThkNDJjZTMxYzhiZWY0ZCBsZWdhY3ktdHJ1bmsKKzcwMjkgZjAzMTQ2NjUzMGFmNjcyODMwODRhZWM3MDA3ZGIwZGY1NjljNTM4ZiBsZWdhY3ktdHJ1bmsKKzcwMzAgMDQ1MDc0MmYzNmY0ZmZkMTBmOWFmZDQ0MWI1NDNmZWI0M2M5M2IxOSBsZWdhY3ktdHJ1bmsKKzcwMzEgYjIxM2QyNThmZjMyN2RlZDYzNmRkOTBlMWU0ZGU0NDllNzkyMmZkYyBsZWdhY3ktdHJ1bmsKKzcwMzIgMmMwYzY4MDQwN2IyZWM0YzQyYjA4OGMzY2I0ODllYTIzM2ZiYjZmMyBsZWdhY3ktdHJ1bmsKKzcwMzMgZGY5ZDFlYmNmN2YzMGJhMTgxY2ViYWRmOTE2ZGQwMTZlNmY5NDU5NCBsZWdhY3ktdHJ1bmsKKzcwMzQgYWRiY2MwYWI5ZWI2YWY0MDFhNTJiZmQxOTIwOGY3N2RkYjI5NTExYSBsZWdhY3ktdHJ1bmsKKzcwMzUgYjIxN2RhM2Y5YjU0YzYzNjQyMGU5MTE1MTRkMDk1MDIwYmQ1MmRjYyBsZWdhY3ktdHJ1bmsKKzcwMzYgYzcxM2RlNzJlNzZlYzQzMjlhOTA1ZGFiNDI1YWI0Zjg5NjA5M2FlNSBsZWdhY3ktdHJ1bmsKKzcwMzcgZDAzMGVhNTMzZTYzYWZhZTg3MGRiNDI4YTdlYTE1NDVmZjdjZjg3NyBsZWdhY3ktdHJ1bmsKKzcwMzggZWE0NTg5MzNmYzJhZjZiMzlkZDFkZjc4NDQ3ZTFkOWU3NWM0YWE4YSBsZWdhY3ktdHJ1bmsKKzcwMzkgNzQ1YzdjNzBiZTMxMDhiMTc3NGY0M2QwYjFhODRhMDVhNmM2YmJjNiBsZWdhY3ktdHJ1bmsKKzcwNDAgN2Y0N2UyYjZjNGE0OTlmMmIwZDc5ODdiZDE3OWZkMDYxM2VmMDI5ZiBsZWdhY3ktdHJ1bmsKKzcwNDEgNjQwM2M5NGRlNTBkYzNjMWZlODQ4OTk5MTkwMDMzZWI3MjExN2Q2ZiBsZWdhY3ktdHJ1bmsKKzcwNDIgYTM2MGRjMWZhNTU4Mjk3ZTdiMjZmMjY0NzYyMzQzNjgxMjlhM2RmMCBsZWdhY3ktdHJ1bmsKKzcwNDMgNDM0MTU3NGUxNjNiM2Y0OTE1MjY1OTE3ZTczZDQ1MGNmN2I3NDdjNSBsZWdhY3ktdHJ1bmsKKzcwNDQgZTcwOGY1NjhiOGI3M2QzMGY0OWNjNjE1YTM1YjBkZDBmZWE1ZTQwNyBsZWdhY3ktdHJ1bmsKKzcwNDUgN2JiODRhMjIwNTQzNTFlODMyMzY3N2ZjNmE2MWRkZmYyNjg3NmFjOCBsZWdhY3ktdHJ1bmsKKzcwNDYgYTBlYzhhOWRiOTYwNTRjOWVlZjZhZGFjMGQ2MmI0MTEzNDBjNjk5NSBsZWdhY3ktdHJ1bmsKKzcwNDcgMjYyNmQwNmIzYjAxZjdlMTZlYzZiNTI3Y2YxODkxNDM3MTVhZTRmOSBsZWdhY3ktdHJ1bmsKKzcwNDggNzM3NThkYjJmNDY0Njg5NDc1MDcyMDc5ZTU1ZjUyOThkNDQ5YWE0ZiBsZWdhY3ktdHJ1bmsKKzcwNDkgODE4NjAzOTA1NWVkYTNkM2Q5YjNhMzc1YjNiMDMzYWM5NDlkNDY3MiBsZWdhY3ktdHJ1bmsKKzcwNTAgYWE5NjUwOGE2NTg3OTBmYjNhMDUyZDVhMWNhNmYwMzZkZTk5MDI2ZCBsZWdhY3ktdHJ1bmsKKzcwNTEgYzNiMDg5NWM5MGZiZjA4N2Q4NjkzMzcwY2YwNzQ1NmJkNGQwNWJlYyBsZWdhY3ktdHJ1bmsKKzcwNTIgZmFlNzhjZjg1NDFkNGJiN2VjYThkZmZkOTc3ZmNjMzhmMTYyYzBhMiBsZWdhY3ktdHJ1bmsKKzcwNTMgNmYxYTEyMGFlOWMwNjE2MTRhOWVkYjI5NDU4YWQzMzI4MmMyYTMxYyBsZWdhY3ktdHJ1bmsKKzcwNTQgZTNmNzFjZThlNmJiYjVmMzhlMTg1Njk3YzZjZjQwNDE4YTRhNTk0OCBsZWdhY3ktdHJ1bmsKKzcwNTUgMTFiZDRmNDk3NzQyZDgyN2I3MzdjMjY5Yjg4YjhhZTRlMzM1ZGZkOSBsZWdhY3ktdHJ1bmsKKzcwNTYgYzgzN2YyNWM3ZTQ3NzQ3MjQxYzNkYTA2NWIwNzEzOWY4MjQ2YjFhMiBsZWdhY3ktdHJ1bmsKKzcwNTcgMmY4ZDljMjJkZTYyZTE3MThjMDhjMTg3MTBiNjFjMjllMDdiNmFkYyBsZWdhY3ktdHJ1bmsKKzcwNTggNGY2NDRlY2M1YmFjNGFhYTI4OTIzMzEyMmQ4NjgwMTdjMTFlMmE0MSBsZWdhY3ktdHJ1bmsKKzcwNTkgMzg3MWViZDE5NjNjN2FkODFiN2U1ZTU3OGI2MmNhMmFiYWU4NTdhNyBsZWdhY3ktdHJ1bmsKKzcwNjAgNGE4MTY1YjNiNjYwM2Q5YjMxOGE4ZWUxNmY3MzMzZDUzMTU4OTMxOSBsZWdhY3ktdHJ1bmsKKzcwNjEgYjNkMjk5MGQ4YTRhZmI2OGIwMjlmY2M2ZjllMmVjMDIyNDg0YmVlMCBsZWdhY3ktdHJ1bmsKKzcwNjIgMDlkOTRlOWViMTAxMDAxOWQxYjNkMjdkNTI2MmM5YzVmNTY4MGVjNSBsZWdhY3ktdHJ1bmsKKzcwNjMgNGRjNjdmZGQ5ZTBiNWUwZWRjMTM1MmU1NzIzZThjMDJkNGVjZjMzMyBsZWdhY3ktdHJ1bmsKKzcwNjQgOTYxYmY5YTIwMGRkMTg0NDhhMWY5YmUyMjhlNTUwZDAyMzMxN2E5NyBsZWdhY3ktdHJ1bmsKKzcwNjUgMjEyNGY0Yjk3YmRkMmJiOTdhZDViZjQ5ODRhYWZhNTBlNzNiMjdhYiBsZWdhY3ktdHJ1bmsKKzcwNjYgOGNkZDk0YTNkMDJkOTk2Y2ViZWUzOGM0ZDIyZTY4ZWI2NmFjNmI4ZCBsZWdhY3ktdHJ1bmsKKzcwNjcgM2JmOWUyYmVhZjhjMDE5NzM4ZjU1YzlhYmE2MGIzNWQ3Zjg0MzJiNCBsZWdhY3ktdHJ1bmsKKzcwNjggNzJkMGRmYjkxOWZlMjhhMjJlZThhMmQ2NDBjNWNhZWU5YTEwODQwOSBsZWdhY3ktdHJ1bmsKKzcwNjkgNDE4NTcwNzVkNDViYWM4MDA3YzgyYTA0MmE2OTg4NjViM2Y2OGMwNiBsZWdhY3ktdHJ1bmsKKzcwNzAgZjhmM2RhM2ZkYWVkNTgyNjg1YmJkMDg2MGIyMTcwMDJlMzEyYjc1MCBsZWdhY3ktdHJ1bmsKKzcwNzEgNGZhMTk2NTk1OTFlZmEzZWQ4Y2U4MjM4NjdkODljZWFkNGJjMGY4NSBsZWdhY3ktdHJ1bmsKKzcwNzIgZTc0YjYwN2E1OTk2ZmE5OTIyMTNiYjk1M2RhY2I1Mzc3NDllMTg2ZSBsZWdhY3ktdHJ1bmsKKzcwNzMgOGZkYjA1MzljZmIxNTBhMTA3NDdjZDAxMWI1ODlkNDdmMzIwMTEwZSBsZWdhY3ktdHJ1bmsKKzcwNzQgYjJhMWM5OWNhNjQyYjk5M2E4ZDNjNTEzNTZjOTk5MjhmMzY0ZTgxYSBsZWdhY3ktdHJ1bmsKKzcwNzUgZDM2MjUwYWVmYjgyNTI2NzRjMmJmYjIwZTM2N2Q4MGU4MGE2OGQ2MSBsZWdhY3ktdHJ1bmsKKzcwNzYgN2Q1NmI0OTZjN2RjMjFjZGQxZDE3OTY0MDNkMjBkY2FiYjMwMzY1OSBsZWdhY3ktdHJ1bmsKKzcwNzcgN2M2ODAyZDg2MjBmNDJlN2E1MjYxZGJmMDg0MzgzMGI1MzQyNTk1MyBsZWdhY3ktdHJ1bmsKKzcwNzggNWM3NDFkMmQ5N2Y1YjE0NTQ5NDdmOGY5NDkwNjlmM2VmZDA2NGUwMiBsZWdhY3ktdHJ1bmsKKzcwNzkgMjM2ODM1M2Q5ODg3NTMwMTk3ZTNhYTJhMzJhYWU3MzRhMmExY2JkMiBsZWdhY3ktdHJ1bmsKKzcwODAgYjk4YjQ2ZGQ0MzY3ZTI3OTYwMTk3OGExOTU5Yjc3N2U3NjRjMTljNiBsZWdhY3ktdHJ1bmsKKzcwODEgNzM5Yjg0ODBmMWFjMjcwNmE2YjJlMjVkYTgwZGZhZGEwOGUzNzU4NiBsZWdhY3ktdHJ1bmsKKzcwODIgMzNhOGU2NWVlZjIzMDkwMDAxMDU0NTc5MTY0MjdkODU1NzRiMGRhNSBsZWdhY3ktdHJ1bmsKKzcwODMgM2VlODdkMDgyMTQ3YzE2NDNiYmVmMDQzYWU5YzNjOTRlNjkzYzMzMyBsZWdhY3ktdHJ1bmsKKzcwODQgNTNlZjViNTFhNDhiNGUwZTcwMmY2ZDJjNGI4YmI5NzRmZTQ4NjVmZiBsZWdhY3ktdHJ1bmsKKzcwODUgYmI0MDk0ZmY3YmRmZWQ0Y2NjM2M1MWQ0N2Y1ODNiYjUyY2QwYTNjOSBsZWdhY3ktdHJ1bmsKKzcwODYgY2JjNjY5ZmUzNzBhYjA1YjVlNDZmYTQyYmExYzJlOWVhMzdiZjBhNyBsZWdhY3ktdHJ1bmsKKzcwODcgNGRlMDVjYmY1YWQxOTg3ZjdhM2E0MjJkZDUxMjhmNTE4ZDE5OTBjNiBsZWdhY3ktdHJ1bmsKKzcwODggMTMyMTExMmU5ZTNhNGNlODNjNDFlMzU2YTY4MzA1YTNmNTcyYWRmMiBsZWdhY3ktdHJ1bmsKKzcwODkgNjgzMDc2NDMyYjdmOWRhZTZkYTg0NWNkMzViZWE1ZDEwNTRmNjMxMCBsZWdhY3ktdHJ1bmsKKzcwOTAgODc2MTc3MDFkNzIxZTcyZDc3MWJjMmVlODkwYmZmMDM2OWI3N2ViZCBsZWdhY3ktdHJ1bmsKKzcwOTEgOWNlZjk2OWM0NWU0NTA2MWIzYjgyMzUwZmQ1Mzg5OTg0OTBlY2U4NSBsZWdhY3ktdHJ1bmsKKzcwOTIgODc5OTlkYzRkNzk4MDAxOWMyMzA1YTg5YTAzYTljY2IxOWViZDMwNCBsZWdhY3ktdHJ1bmsKKzcwOTMgMDZjN2M3ZGU2OTc2ODk3YjNkMWE0Y2ZiYzEzNzY1M2NhYTM0NDI2YSBsZWdhY3ktdHJ1bmsKKzcwOTQgYzNjYTAwNjU1NGQ0NDRhYzY2NDkyMWZjODM0NjgxYTZjN2YwMjlhOCBsZWdhY3ktdHJ1bmsKKzcwOTUgOThjMDhmMGM0YTJlZDZiYzllMjUzNzAzZDNkYzVhNzA0MGE1NWRkNCBsZWdhY3ktdHJ1bmsKKzcwOTYgYTJmMTcxY2UyNWY4MTA1ZmViMDZiNGE0OGZmYTZkMThkNDFiNWY4OSBsZWdhY3ktdHJ1bmsKKzcwOTcgNjhiMjhiOGNhMDc3MGU0YTU2YjJlYWIxNjI2Yzg2MDc1MTA2MTJhOCBsZWdhY3ktdHJ1bmsKKzcwOTggMWZhYjk4MTQ2NWM4YmVkNGY0MzRhMjk5NDkxMzVhMzQ3MTczNWNjOSBsZWdhY3ktdHJ1bmsKKzcwOTkgYjExZDk2YzgwNzVjNTc0MmRjYmY3NmQ0NjQ3ZTRkMzk1ODMwNDQ5ZiBsZWdhY3ktdHJ1bmsKKzcxMDAgMjAyNjAyZmFlZmM3ODMyZWViY2QxMjkyMTI5MjBjMDIyNzBmMGE5OCBsZWdhY3ktdHJ1bmsKKzcxMDEgOTRjZTNlMDFjMzBjYzMwMGRiODdhYmE3MTRhZGJhNGYxYmU4ZDNhNSBsZWdhY3ktdHJ1bmsKKzcxMDIgNmI3NjU0NTNiMDQxMGUxMWIyYTc1MTc0ZjE3ZmU1MGEzN2Q1ZWU3MCBsZWdhY3ktdHJ1bmsKKzcxMDMgN2RmNWQ0Y2Y4Mjc3OGE0Mjc2ODA2NmQ5N2M0MzMwYjc0N2U0NGZjYyBsZWdhY3ktdHJ1bmsKKzcxMDQgZmYyNjg3MzI2OGE4NDJjZGI2MDMzMjYyYzI4YTE4YjY0ZmZiYzdjNyBsZWdhY3ktdHJ1bmsKKzcxMDUgMDQ1ZWQ4MzBjMDM1YTBkNTNhZWRkOTdiNWNiZGI5ZDMwMjE0ZjQ4NiBsZWdhY3ktdHJ1bmsKKzcxMDYgMjY0MmZmY2FjMmI0ZGNjMGIxMTRiNGQ4Y2ZhNzM2YjM4NjZlZWQwZSBsZWdhY3ktdHJ1bmsKKzcxMDcgYzhkMjQ3ZmY4ZDJmODNiNDI4NGJmYzA2ZWI4MzQwODlkNWMyZTJmZSBsZWdhY3ktdHJ1bmsKKzcxMDggM2YxMGY5OThhNTg3MWRjYzg1ZTQzZDlkNzVjZDE2OWU4N2ViZDljOCBsZWdhY3ktdHJ1bmsKKzcxMDkgOWZhY2JhYjE1MmNkYWIwZWNhYmI4MTgyYTRmMTU2MTI0MzliMTRlZCBsZWdhY3ktdHJ1bmsKKzcxMTAgNDk3NDVkZGI0ZjY5OGI1YmY5ZTNiODg0MDJlMjU1YzhkYzIwZDEzMyBsZWdhY3ktdHJ1bmsKKzcxMTEgYmQyODk0NWY3NTJiYjY0MGMxNjMwMDY2ZGUyY2I0NDliZDc5NTFjMSBsZWdhY3ktdHJ1bmsKKzcxMTIgZjUyYzJhYTA2MWY4YzYxM2Q1Yjc5NDY0ZjZiZDJhZWY0Y2M2ZDU5YyBsZWdhY3ktdHJ1bmsKKzcxMTMgNWY3ZDI0NmJiZWI3YjZlYjBiMjlmZTU5Nzc4MjA2ZDQwYzA5OTgxYSBsZWdhY3ktdHJ1bmsKKzcxMTQgOTdlYzlkZmJiMmI2ZTRhZTgwZTU1NjQ0N2ZkODkxMTA1MDRmNzYxYiBsZWdhY3ktdHJ1bmsKKzcxMTUgMzRkYjlhMjFiZmIxZDQ4MmNhZjE5NmJlZmVhOTQ2N2U4Nzc1OTNjNyBsZWdhY3ktdHJ1bmsKKzcxMTYgNWY4ZjYwNWFmMzM4NGQ1MzcwNmI3MjBjYTI2YzA0OGM3N2I0NmZmNSBsZWdhY3ktdHJ1bmsKKzcxMTcgNDM1OWU4ZDM4OWU2ZmQ4NmM0M2VmN2IxY2M0ZjE4YmQ3NzhjMjk2MSBsZWdhY3ktdHJ1bmsKKzcxMTggOGQ5MDlhZTFmMDk5NjRlY2I0YmQ4NzFmYWUwNTc1NjhjNmY0MTZkNCBsZWdhY3ktdHJ1bmsKKzcxMTkgZjRiYTllMDdkOWJmMmY0MDVlNmUzZjNiNmU1MmZlOGQ5NTZkMGNhNSBsZWdhY3ktdHJ1bmsKKzcxMjAgNjhjNGIwNmNmZmY3MDk1NmI0NGJhNzg1MjlhNTUyNTY2OTJhNjQyZiBsZWdhY3ktdHJ1bmsKKzcxMjEgZjRhNjBmMjYxZmJiNjZlNDUzNzc4NDgxOTA0N2FhNGZiZjI1Y2RkYiBsZWdhY3ktdHJ1bmsKKzcxMjIgYWI2Mzc0MjY4Y2FhOTI0NmZkNGM4NmU3ODgwOWFiMjBiZGJhZDIzNCBsZWdhY3ktdHJ1bmsKKzcxMjMgNmRkODUxNDQ1YzdkYzBiMWM4YmY5ZDBiYmJjYWQxZmFlYzE4ZjVmYiBsZWdhY3ktdHJ1bmsKKzcxMjQgZGFiMDFiODRhZmU2NjRkMGQ0M2IxYWMxNDMzMGY1ZDY0YTVkMGZhMyBsZWdhY3ktdHJ1bmsKKzcxMjUgMjc0Mzc1OWUzOTc5N2ZhN2FiMDM1YjczYjg5N2YwYzNjNWIyZmQxMSBsZWdhY3ktdHJ1bmsKKzcxMjYgNmVmZmQxMGU3MjMzYTY4NTljODVkMzhlMWU4MDhiOGJlNmJmNzE4MCBsZWdhY3ktdHJ1bmsKKzcxMjcgM2Q4N2NiMWIzZDE3YWQ3MThhM2Y2ZWM5MzhlZDE2NTJkMGZlZWM3NCBsZWdhY3ktdHJ1bmsKKzcxMjggM2I3Y2Q4M2I2MDJkNmZkODM4MGExNDVkNWIxMTc3MTliYWE3ZDA4YSBsZWdhY3ktdHJ1bmsKKzcxMjkgZGY4MTg1NmRiNThjNTQzN2QyNzY5NzQ3ZGQ5NGI1MWVkZjlhZTdmNyBsZWdhY3ktdHJ1bmsKKzcxMzAgYzc1YTJmMmRjMjIwYTU3NzY4OGU2MWIxMGQ3NzYxNDU4MzRlN2Q0ZCBsZWdhY3ktdHJ1bmsKKzcxMzEgMTg2YzJhZDRhYmYzM2M5MGY2ZTY2ZjhjNzBiNjkzZTlkYzc1OTIxNyBsZWdhY3ktdHJ1bmsKKzcxMzIgZGRiY2MwMzg5MTZiMmNmNTNhYWVmMzZkMmEzZTZhOTI2NGI4Y2ExMSBsZWdhY3ktdHJ1bmsKKzcxMzMgMGRkZGY0OWVhNDE2ZjNiZWJjMDYwOGU0OTNmYTViNDIxYzJlODg2OSBsZWdhY3ktdHJ1bmsKKzcxMzQgZTk3NTI4NDgyYmM2NzQyOTkwODE1Mjk1MzM1ODgzZDQ1NjBmMDA3YSBsZWdhY3ktdHJ1bmsKKzcxMzUgOGZiNTcyZTFiMWJhMTcxZTE3NDNiMTVjZTZiYzA5NGE3ZmUzYjJlYiBsZWdhY3ktdHJ1bmsKKzcxMzYgZDUwMjNkMGM1NTAyMzczNjQ4YmE1ZTg0ZWUzNGViNTE1NWY1Y2FlNSBsZWdhY3ktdHJ1bmsKKzcxMzcgMjI3ODUxMDhmMWVhMTNkNzRmNzU2OTMzMzNiNzgyZmEwOWRmNWMyMCBsZWdhY3ktdHJ1bmsKKzcxMzggNGVlNGI4YmI2N2M3NDQyNzBjZWQ0NGI1YmE0ZjNhZjU3MWM1OGIyZiBsZWdhY3ktdHJ1bmsKKzcxMzkgZGNiMmY1ZDM0YWU4MDI2M2ZlMzQxODhjMmUzZjlhNjYxMTczZTNlNiBsZWdhY3ktdHJ1bmsKKzcxNDAgZWQzNTA2N2UzNzkzZTBmYzNhODA1YTMxN2UyNmZkOWIyNDI1YzAzMCBsZWdhY3ktdHJ1bmsKKzcxNDEgMjliYzI4ZWNhM2U5ZWQ1NTUzZDQ5YTU3Y2QzYzc1M2VlYzQ5NmNlYSBsZWdhY3ktdHJ1bmsKKzcxNDIgYzQyMzc5ZTQ2NTNiYThjZWU5MjFhM2M0NzlkNGE1ZGU2MTg1YzdmMiBsZWdhY3ktdHJ1bmsKKzcxNDMgOTUyMDRhYTJmNDUyMmE1Y2M4Y2Q3ODU2ODE3MWQ5NzA3OTU3Y2I4ZCBsZWdhY3ktdHJ1bmsKKzcxNDQgZDUwMWRhZjBhMmY2NTVmZmRiMjk5NTk5NTQyODc0MDNhNjQwMDcwMiBsZWdhY3ktdHJ1bmsKKzcxNDUgNzkwMWZlNzlmNmFhOGEyNDkyYTA2MWJmN2NmNWYyNDNjNjBlNWVmNCBsZWdhY3ktdHJ1bmsKKzcxNDYgODJkZjEwNDBkZjBmOGE2Y2MwODE0N2FiYjlmMzBmNjA3ODcyNTg0NCBsZWdhY3ktdHJ1bmsKKzcxNDcgNWI1MzI2OGY1NDdhMzlkYjE3NzY5MTA5YTg1MDM1MTY5NDM1ZjllNCBsZWdhY3ktdHJ1bmsKKzcxNDggYTNjZGM4MTY0OTkwZTM0ZTM0M2I4ZmZhOTIwMTY1NTBkYmM4MjRmOSBsZWdhY3ktdHJ1bmsKKzcxNDkgYjQzZmY4OWZjNTBkOTVjMjI3YjU2YWRjODk4M2Y0ODM4YzM3ZDhjYyBsZWdhY3ktdHJ1bmsKKzcxNTAgMGMwMWEyM2M3ZGNkYmFiODEyOTcyM2Y4Nzg4OGNjN2M3YmE5ZWNmMCBsZWdhY3ktdHJ1bmsKKzcxNTEgMTkzOTUwYmM5ZDhmN2Y0YTVmNjVmMDc1YWZlMDgxZmQyYzQ5YmJmYSBsZWdhY3ktdHJ1bmsKKzcxNTIgYjgyOGViNTBkYmQ1MDYzOGU2ZmMyOTk5ZWY2NzI5ZTMxM2Q5MzJmOSBsZWdhY3ktdHJ1bmsKKzcxNTMgMTU5Mjk3MGM3ODliMDkyYzU5ZGE4ZWEwODJjNGI3YjliODgzZWEyMSBsZWdhY3ktdHJ1bmsKKzcxNTQgODliMTYxMjZkNGUyMmQxZjEyNjI4OGZhYzQzNDY3MjMxMGRkYTM5NyBsZWdhY3ktdHJ1bmsKKzcxNTUgMTBjMWI4ZjM5MDJmY2IyOGFjZWY3YmQ4MTE2YmVlNjcwZmZhZDgyMiBsZWdhY3ktdHJ1bmsKKzcxNTYgZjljNWEzMTNhZmQ5MzI1MDJmY2QwY2ZkZTMzMGE5MWMyZDQyM2YwMyBsZWdhY3ktdHJ1bmsKKzcxNTcgMTljOGU2MWNhZDJkODM1YWU5ZTJmZmZiODJhYmEzNWJkM2QzNTMxYiBsZWdhY3ktdHJ1bmsKKzcxNTggMzFiZDBhZDAyNzJkNWEwOTU0NTg0NTZmYWQ1MzNiNWM5NjEwMzgwNSBsZWdhY3ktdHJ1bmsKKzcxNTkgZDgwMDg0MWI1N2E4YzdlZjg5MDhjNTE3MjRlOWQwMzFmZDQyYzUyNCBsZWdhY3ktdHJ1bmsKKzcxNjAgZDdkMDVlMjM0NGQ3MzZkODk2Yzk5OWJjZTE4OTNhZTc2NDVlMDA1NCBsZWdhY3ktdHJ1bmsKKzcxNjEgYzA0NmVmYWYxYmQyYzQ2ZTYzMTg4NmM1ZDBiM2NmNzQzZmQxMDE0YiBsZWdhY3ktdHJ1bmsKKzcxNjIgZDEyMjc1M2U1YjlmNjAzYzg2MjZjMzYzZTY3MjFmOGMxY2ZhMDAxNiBsZWdhY3ktdHJ1bmsKKzcxNjMgMDFmNGVhMDVhNzY2M2VjMTJiMDM4MjE4YTY0MGUwZWYwMTllYzA3NiBsZWdhY3ktdHJ1bmsKKzcxNjQgOGY1MGJlYzUwNjhlNmVmZmM4MDVjOTNlYmNiZGEwMjg4OGRmNzY1MSBsZWdhY3ktdHJ1bmsKKzcxNjUgYzJiODMxZjkyM2MyZjAzZmQ4ZDViNDRlMzQwYTdkODkxZTNiZTI4NyBsZWdhY3ktdHJ1bmsKKzcxNjYgODAxNWM1NTQ5MzA5ODRlYWI5ZjRkM2NhMTMyY2QwYmY5MzI5NjAwNyBsZWdhY3ktdHJ1bmsKKzcxNjcgY2I0MDViOTY5NmQ0ODM2NTcyZjMzYzliYjg3NjgyYzkwODY0MmI1MyBsZWdhY3ktdHJ1bmsKKzcxNjggZmFkZGY2ZDU1YWYwYTRkNDAyMGZmNDdiMmZhNjVlMjg4OGM5ZDBjNiBsZWdhY3ktdHJ1bmsKKzcxNjkgMmMxMDM5NTkyMWUxZDBiYmIxYjg4NmZlOTVhMzMyMzA5NjQ1Y2Q4NyBsZWdhY3ktdHJ1bmsKKzcxNzAgZjEyYjFkNGQ2YTliYjg4MmY0NmU4NjQyOTdlYzhjYmQ2ODBhNTFlYSBsZWdhY3ktdHJ1bmsKKzcxNzEgZGUyN2RhNWYyMmYxNzUzNWY3ZDY4Y2U4MDVlZjRmODViYjBlZjY0OSBsZWdhY3ktdHJ1bmsKKzcxNzIgMWYzNjhmYjNlMWY3ODZiNDQ2ZDVmN2MxM2Y3MGYyNmZkNTFhODFlNSBsZWdhY3ktdHJ1bmsKKzcxNzMgZWU5OGU0NGQ0Zjg1NTFkNWUyYzdhMGFlODEzY2ZkNDM0NWQ5MDI2MCBsZWdhY3ktdHJ1bmsKKzcxNzQgYTE2OTRlOTViY2JhNzkyMGU3OWYwMzk3N2M4ZGFmOTgxNzcxOWNmMiBsZWdhY3ktdHJ1bmsKKzcxNzUgODI1MDM4ZDk4YWI2MjJiZDA3Njk1MmFjOTkzZTc0OWY3MzU0NWU5ZSBsZWdhY3ktdHJ1bmsKKzcxNzYgOGE3NWI4YmYxNTIxODc1NGZiY2E4M2MzMDc5YjdjMDJlMTdhZDA1NyBsZWdhY3ktdHJ1bmsKKzcxNzcgZTVlNTg3OTQwNDBmNDU0MzQwMTk3MjNlYmJlYzU1MDc0ODk1MThkNyBsZWdhY3ktdHJ1bmsKKzcxNzggZTBiYjFkYWMyZGJmNTU2Mjk3NTRkODdlYWZjNTU5ZmEwYjBhYTFhNyBsZWdhY3ktdHJ1bmsKKzcxNzkgNmMwZTM1Y2YwZjg1YmQ2MjNhZTA1Zjc2ZTRlMGQwNzc3ZTk0YWJmMiBsZWdhY3ktdHJ1bmsKKzcxODAgY2M1MjUxODJiYmIxZjM2ZWVjMWMyMDkxYmRhYTNjZmM5MjExMmY1ZSBsZWdhY3ktdHJ1bmsKKzcxODEgOTc4NTExNDMyNmFiNzUyNTJkNTRhZTJjZTg2YTkwODNkNDU3ZGNjMiBsZWdhY3ktdHJ1bmsKKzcxODIgMmRkMjg1Nzk0ZDY3NDMzMDgzNmE1OTM3OWU0ZGVlYjdiMzllMTRkYSBsZWdhY3ktdHJ1bmsKKzcxODMgNzc1YTdkMGMyOTYwOWZhZmQ4NTE2NDk4NjVkN2Q3MTVhM2M3NDJhNiBsZWdhY3ktdHJ1bmsKKzcxODQgNDM4OTQ5YmI0NTA4MDUwNjNjMjM1OGQ3MzNmOWM2YTY4YTZkZTAwNCBsZWdhY3ktdHJ1bmsKKzcxODUgN2I5YTYxNjYyODFhMTJjM2FkM2EyN2E5NTI3ZTJhMjFkYzAwZmNmYyBsZWdhY3ktdHJ1bmsKKzcxODYgZDlmZjZmODNhMTZhZDBhMTUzMWI2MzEwZTNjNjhiYjE4NGRlMjcxNyBsZWdhY3ktdHJ1bmsKKzcxODcgMDI1M2VmMjY3YjY4YzZjYTc4ODhmNTQxM2M4YjJhOWJjNWFjYTMxZiBsZWdhY3ktdHJ1bmsKKzcxODggNmNjZjVkYmE4YjBiYjZiNzcyN2NkNzE5Y2U5MDZmNGM5OWE3NzQwOCBsZWdhY3ktdHJ1bmsKKzcxODkgMGM2YzY5YjBkM2U5YzY5ZmE0OTgyZDFmY2FmYmFmMjA0OGY5YTJkMiBsZWdhY3ktdHJ1bmsKKzcxOTAgNjc3NTlkZmU2ZWU4YzdkYTZmMjFmZTYwY2RjYzBkODI1YjNhZGYyNSBsZWdhY3ktdHJ1bmsKKzcxOTEgYThhNTQ3NDkwYTEyN2NkZWQzZjdkNDEyNGNkNGQ5MzU4YTJhMDUyMiBsZWdhY3ktdHJ1bmsKKzcxOTIgMTIxNTRkMDkxMzE2NzRmZTlkZWFjNzk1NzZmNDk5M2RjZTcwYWQyNiBsZWdhY3ktdHJ1bmsKKzcxOTMgMTgzNDY1NGJlYmUzMjEyZTU2ODRlOWFlNzRiMzhhZGU1ZDA1N2Y4NyBsZWdhY3ktdHJ1bmsKKzcxOTQgNzZiYjIwOTlkNjE4MjlmNjg3MGQ0YTI1N2EyNDViZmQ1ZWMyZjYzNCBsZWdhY3ktdHJ1bmsKKzcxOTUgOTA4NTdmYjU3Mzk3MDZlMGMwMGE1NjBiNjc0ZDA0ZGUzMjk3YzFkZCBsZWdhY3ktdHJ1bmsKKzcxOTYgYjIwMDllZDE1MmZhNWIzYmZmNzU0ZjU0YjhjMTYzOWU1ZmE2NzdlMiBsZWdhY3ktdHJ1bmsKKzcxOTcgYzA3ZTVjNDU1NTc2ZGFhZDE5YTlkYjFhM2ZjOGRhMjFmMTc5YmNjOCBsZWdhY3ktdHJ1bmsKKzcxOTggNDM3NDRiZTI0MzNmNThmMDNiN2EzNzE5YTJhOGY5NTFkY2ZlMzdkMyBsZWdhY3ktdHJ1bmsKKzcxOTkgZGUwMWM2NmY1ZmE1OGJmMjg1ZDNlOTNmODIwNDNlNzU0ODY4YTc5NyBsZWdhY3ktdHJ1bmsKKzcyMDAgODY2OWVkYjFkOWM1NjU4N2I1NDIzYjVmNDAyZjRmZDgwYmFlOGVjMiBsZWdhY3ktdHJ1bmsKKzcyMDEgZjdhOTkxNjFkZjkyYWExYWE0OWMzOTEzOTgyOGZlYjFlMWY5YmU0MiBsZWdhY3ktdHJ1bmsKKzcyMDIgOWFjOWVhODQ4ZDdkYTc3OGNiMjFhNzQ2NWM0MzBkNTllY2Q2ZjI4NiBsZWdhY3ktdHJ1bmsKKzcyMDMgYjIxOGYyOTRiNzI2YWJjMDMyMzkyODllZGUwNGJhN2RkNTFjOTI1NCBsZWdhY3ktdHJ1bmsKKzcyMDQgZTI3ZmEyYTNmNTI2NTAxOTIwOWEwZTNiOWIzY2UzNzQ4ZDczZjRjYyBsZWdhY3ktdHJ1bmsKKzcyMDUgNjJjZjdkNTg5MzAwZWY5ZmM1NWEyY2MyZjNiZTcyZWIyMjlmNmNkNCBsZWdhY3ktdHJ1bmsKKzcyMDYgMDdmMGYyMTM2M2U2NDgyMTlmOGUyNmRlYjhjYWZjNjc3NGVhNTJjYyBsZWdhY3ktdHJ1bmsKKzcyMDcgZDM2NzAxNDIwMGJiNWI4MDExN2FiY2Y1Yjk4ZTFlMGM4YzMwZWQzYSBsZWdhY3ktdHJ1bmsKKzcyMDggM2M3ODEyYmZhMWE0YWFhYjg2NzYwZGJjZGIwYjdlMmQ4MDYxMjlhMiBsZWdhY3ktdHJ1bmsKKzcyMDkgM2RiNDIzNTE1NjI2YzJmYmE3MTMyYTcwNDVjYzI4MGVmZGM4MjEyOCBsZWdhY3ktdHJ1bmsKKzcyMTAgNGEzZjQ1YjM0NzFhYzU0ZTVkNTMwNWM4OTY4MWFhMGJiZjM2NDcyMyBsZWdhY3ktdHJ1bmsKKzcyMTEgOTRhZDU2ZWY1MDczMzU5ODQ3ZTM2NjJmNjhkOGZiMmUzZDQ2MzRjMiBsZWdhY3ktdHJ1bmsKKzcyMTIgNDI2Zjg3YzQ2NWEwMjY2ZjMxNDU0NGQyNGFiNWU3ZDA4ZGU4Y2Y3OSBsZWdhY3ktdHJ1bmsKKzcyMTMgOGVkYjU3YzMzNDg3YmFlZDkzYjkwNTdlZDdhYzg4MDUzMjE2MjdmYSBsZWdhY3ktdHJ1bmsKKzcyMTQgYjAxNjgyODUxYTYzMzY3N2FmN2E4NDEzY2M4YmU0ZGFlNzkwZTc0MiBsZWdhY3ktdHJ1bmsKKzcyMTUgMDYyZTg4NjA4YjU1NTllNjAxY2RjZDFjNDU1MjgzM2JlMjZkOTAzNSBsZWdhY3ktdHJ1bmsKKzcyMTYgYTQ0MDIwMDhjNTY5ZGQ4ZWY3ODhhNTZkOWE4MTc4ZWUzMTZlYmE3NyBsZWdhY3ktdHJ1bmsKKzcyMTcgZWQwMWVjNDNlYjMwZmY0M2Y4YmU2N2Y4N2E2OGVmYTRiYzE5NjVkNiBsZWdhY3ktdHJ1bmsKKzcyMTggMzU3ZDQ1NDQwODVhMmE2ZDFkMzM4YmJmNjJhZDhjMDVlOGU3OTM0YyBsZWdhY3ktdHJ1bmsKKzcyMTkgZTA1MjNmMmQ0MTYzOWM5MDRhYTEyOWE0ZWI4ZWFiNDUyNjNlZWNkZiBsZWdhY3ktdHJ1bmsKKzcyMjAgN2FjZGY1OWYzMWM1ZWMxY2ZmYjdkOGNlNmNjNmExZmI4MDBmNGQ3MSBsZWdhY3ktdHJ1bmsKKzcyMjEgMmNiZGU1ZmM0YjE5YmUxOTAwOTExZmQwNDdkZWE0NjYwMzlhMTYzMiBsZWdhY3ktdHJ1bmsKKzcyMjIgNWIwNWJjYmQ0NTQyYzY0MTdkYjgxZGIwMGEzODVkNTQ4NzcwYTVjOSBsZWdhY3ktdHJ1bmsKKzcyMjMgZWExMjY1ZjI2YjMzMjc0MDk1ZGQyY2MzN2Y1ZDI5NjQ5ODJhYTc5NCBsZWdhY3ktdHJ1bmsKKzcyMjQgZGRlYTY5ZjkwNzFiYTgyZDliOTg5NGU5MjQ3NTcxY2FmZTZmNjUzMSBsZWdhY3ktdHJ1bmsKKzcyMjUgZmZmY2M1MmNkYzFlODZmZTNhOWEzZmY3MThiNjlmNmJkMWRhY2JhNyBsZWdhY3ktdHJ1bmsKKzcyMjYgN2FiODM1Zjg3Zjg2ZDIxY2RiYzdiNzQwYmY0ZmM2MmI3MGRlNjgwNiBsZWdhY3ktdHJ1bmsKKzcyMjcgNzM2N2ZiMTA3MTA4M2VlMzM2YjA1MjJmOWNjYjIzMWFjOGY2NTljNCBsZWdhY3ktdHJ1bmsKKzcyMjggN2IxZTc4NGUyMGEwZWNkNTBlZjU1MGQwZDllNjE4N2ViNDc4NmViZiBsZWdhY3ktdHJ1bmsKKzcyMjkgMzA3MDNhNjU2ZDEzNDVjZGZmZjQ4Y2RhYzYxNDg5MGYyZDgxYjhlZiBsZWdhY3ktdHJ1bmsKKzcyMzAgMWRlOTZjNTcyYjAyYmM0YWJlODJkNGExOGQyZDE0ZmYxY2M0ODczNSBsZWdhY3ktdHJ1bmsKKzcyMzEgMzAxZDdmNmFjZjBhNmQwMWVkODY1NzIxZGU0ZjVjMmY3NDA0YTlkMiBsZWdhY3ktdHJ1bmsKKzcyMzIgZTFmMTcyNWNhZTZkYTgzMDAxYTNiYTBhNDMzMDljYThkOTI4ZjM5MyBsZWdhY3ktdHJ1bmsKKzcyMzMgNjA1ZmJhMDJlMTk1MDc3NjI0MzdhMTQ2Zjc4OTE2MjAyZWUyOGE0NCBsZWdhY3ktdHJ1bmsKKzcyMzQgM2ZjNjA0MmEyYWNiODc0YTJkZGQyMjU1NTdiZDAzMjYwNzMzN2I4ZCBsZWdhY3ktdHJ1bmsKKzcyMzUgNWIyMmUzMmVhYTE3NjRlM2Y2OTE2MzVlZjUzMmQ0MzdlMWI4MDc0MCBsZWdhY3ktdHJ1bmsKKzcyMzYgZDdlZWE2OTRjZDNhMDRlNmU2NTBmMDExNWM4YzJiZmRmZjQ1YWM2ZCBsZWdhY3ktdHJ1bmsKKzcyMzcgZjkyNjI2M2ZiNjU0YzI5Yjg3OGY5YTgyZGE4YjgwODY0MTJkOTE0YyBsZWdhY3ktdHJ1bmsKKzcyMzggMzg2ODlhY2VhZTdiNjBjNWI4YWM2YmZkNDBmNDdlM2QzY2ZmODI0YSBsZWdhY3ktdHJ1bmsKKzcyMzkgODg3MTRmYmY5YTA2MjZhYTYwY2QzNDJkYTgzNWQwYmNlNzdmMWQ5ZiBsZWdhY3ktdHJ1bmsKKzcyNDAgZjhiMzZjMGVjMTE0YWVkZGIzM2QzN2I5NGNkZDIyZTRlMjAyNjVhOCBsZWdhY3ktdHJ1bmsKKzcyNDEgOTYwNGQ2Nzg0Njc1YzJkZDhlNTAyZTRlMWU0YTAwMWRlOGEyMzRmMyBsZWdhY3ktdHJ1bmsKKzcyNDIgNjNkYWUyNzNiMDdkODU5MzE1NDRkOGY0NmRkMWY1ZDE4ZWRhYTJmYSBsZWdhY3ktdHJ1bmsKKzcyNDMgZjdhNjFjNmE2NWMzNzk3NDcxZTY5NDZjYjFlMmM2NWQyOTMyNzQyNCBsZWdhY3ktdHJ1bmsKKzcyNDQgZWVjYmNjNDhiMGU5NzZjMmJmNjEyM2MxMmZiNjgxN2ViODhiNDE0MCBsZWdhY3ktdHJ1bmsKKzcyNDUgNzIxMDhmYWE1NmJmMTQ4NzBkN2E3ZTY1OGQ1M2YzMWE0MTY1MjA5NCBsZWdhY3ktdHJ1bmsKKzcyNDYgNDcxMDcwMTY5MGMxYzZiZGI0MzQzMzg0NzZlMTQyZGRiMDQ1ZDFlZCBsZWdhY3ktdHJ1bmsKKzcyNDcgYjg1ZjEwYWU0ODU3ZjExNTFjZWZjZWE1Mzc5NWNiYTA0MTUyNzUzMyBsZWdhY3ktdHJ1bmsKKzcyNDggZDU1ZjMxMzM4ZmRjZjg1M2NjODI1ZTUxZDhmOWVmMjY3NmFlYzQ4MiBsZWdhY3ktdHJ1bmsKKzcyNDkgOWU0OGFiYmVlNmM1YzA1NDE5MWZiMjAzMmZhN2Q5NGEyZjcxZTM3ZiBsZWdhY3ktdHJ1bmsKKzcyNTAgMGQwYzQxM2I2ZjI1Mzk3NTY4ODZjMDVlZTlmZjU2YWUxMDIxYjg2NiBsZWdhY3ktdHJ1bmsKKzcyNTEgNGRlOGI4NmJhMjU1OTFhNDA1OThhZGRmZTVkNDM2MTM4NjcwMzMzMiBsZWdhY3ktdHJ1bmsKKzcyNTIgNTBkNmRjNDU4YWEyZmJiZmY2ZjI4NDJkY2NjMzc3ODIxYTRiOGZmZSBsZWdhY3ktdHJ1bmsKKzcyNTMgMWNjYWE0NDFkMDgzZjAwNDJjMTgxYzBmZjM1M2E5ZjMwNDIyNWNhYyBsZWdhY3ktdHJ1bmsKKzcyNTQgYTU3MWM3ZjA4OTkxNmRjYmM3NWNhM2E0ZDY1MzlhODE5Y2Q0OTA3ZiBsZWdhY3ktdHJ1bmsKKzcyNTUgYWJlZjUwMDZmODRiZGM3MDZiNzMzMjZjYzEyZDViYWYzNTM3ZWZjNiBsZWdhY3ktdHJ1bmsKKzcyNTYgNzU2MmE2ZGY5MWZiNGJlYmM2NDVhZGE1NzFlNzY3ZGRmY2IxYjA1ZSBsZWdhY3ktdHJ1bmsKKzcyNTcgMjQyNmEyMjA2NjRiMThiM2RlNDYxMzE4ZTFjZDQxMDIxYzVjOGU3OCBsZWdhY3ktdHJ1bmsKKzcyNTggZmViYTZkNThkMjA0ODlmMDE2MzhjMWE1Y2RlODc2OGVlZDk5OThlYyBsZWdhY3ktdHJ1bmsKKzcyNTkgZTQzMzYyOTEwYTVlM2UzYzdkNTU5YWZiMTk2MjA5NmEyZWI3MzA0MCBsZWdhY3ktdHJ1bmsKKzcyNjAgOWZjMzgwYjFhNDQ1YWExNGExMmY2NWRiNTc0Mjc0YzA1ODdiOWNhMiBsZWdhY3ktdHJ1bmsKKzcyNjEgMDk0OGYzOWVlOTYwZTQ3ZWI5NzJkM2ZkZDMzZWE4MjkxZDAwYTFmNiBsZWdhY3ktdHJ1bmsKKzcyNjIgZDdlNjY1M2QwODRmNmZiYzBlNzU5MTQyYTdlMjI2MzUxMDJiYjA0OSBsZWdhY3ktdHJ1bmsKKzcyNjMgZjIzMjFlNDIzMDcxN2U1YzU5NzdlODlhMmJkYzcwNzNjYjQ3NDk3MCBsZWdhY3ktdHJ1bmsKKzcyNjQgZDQ1YmE2NGI4MmZkNmJlZjI5NDM0ODI0Yzg5ZWVmOTFkMDg1MmRjNCBsZWdhY3ktdHJ1bmsKKzcyNjUgZjM3NTgyMzE0MTIzMTg1YTA1ZDRlMGEyYjRmOTlkZDNhNzNkYjdmMCBsZWdhY3ktdHJ1bmsKKzcyNjYgYTJmZDgwZWVkMjdmYTE3MmI2MWZmODVmMGZmMjEyMzc1NDYzYTU0NiBsZWdhY3ktdHJ1bmsKKzcyNjcgMGI2YjFiODgyODY2YjYwYTE4YWNiY2RlZTQ0NTI5YjRjNTQxMjY5NiBsZWdhY3ktdHJ1bmsKKzcyNjggYWFiZjRhMDNhNGIwYmJmMWJiYWY0ZWRhODI2Y2MzMTgxZTZhMDMzOCBsZWdhY3ktdHJ1bmsKKzcyNjkgODBjMGNhNDI0NTEwZTc5Y2M0NjI2YjI4ODA0ZWRlYzc1NjBiNDU3MiBsZWdhY3ktdHJ1bmsKKzcyNzAgYjY1MjBjNDVlYjA1NGU3NzA1M2M0NzU5ZWI5NDUxYWEzZDk4MTUxZiBsZWdhY3ktdHJ1bmsKKzcyNzEgYmY3MmE5NGVlOTZiOWIzY2NjYWQwNWNhY2MzN2UwYzUyZDVmNWQxYyBsZWdhY3ktdHJ1bmsKKzcyNzIgNTIyNThiMDIzYWEzMTc4MWJmZTliYjIzMWNiNjhlYWYyYWEzOTE3MiBsZWdhY3ktdHJ1bmsKKzcyNzMgNWRiOWFkNjAzMjZkYzhjMWQ5ODc1YzBjNWEzOWI1NGYyZWVhZWNjNiBsZWdhY3ktdHJ1bmsKKzcyNzQgZTcyYjJlZDM4M2E5OGI0ZmJjMGZhMGM2MjM0NWRmMGY1ODVhNjFkOCBsZWdhY3ktdHJ1bmsKKzcyNzUgZTJhN2ZmNmY0MTg4NzE4ZjMwM2NmNmVlN2Y2NTdiZjkzNDYyOGU1ZSBsZWdhY3ktdHJ1bmsKKzcyNzYgMmQ1ZWUzNzRhNzNiODVkNzMzYzIwNTNiMzFmMGNmMzg1NDc5NjZjMCBsZWdhY3ktdHJ1bmsKKzcyNzcgODY3ZmVkYTAwODQwN2YwZDcxN2E0NzNjNWQ5N2QxNWEyOTdmMTVkNyBsZWdhY3ktdHJ1bmsKKzcyNzggOTk2NWRmNzgyYWZjZjQyYmE3ZmNiZTIwMDc1ZTU5MzdiYTEwZGRiYSBsZWdhY3ktdHJ1bmsKKzcyNzkgYTJjNDI3ZjlkYjAyYjliZjFiOWFkODA5NGNmZGMyYmVjZWU2MjZhOSBsZWdhY3ktdHJ1bmsKKzcyODAgYzcxY2ExNWM4YjU1NWNkOGY0YzRmMWRiNTc4ZDE2YzkzMDk2MGIwNiBsZWdhY3ktdHJ1bmsKKzcyODEgYTNjNDc3MjU5NTA1NDQzMDhiZGY4MmMzYmMzNGFkM2FmMDc5NDJmNyBsZWdhY3ktdHJ1bmsKKzcyODIgOGQyYzhiMDgwNDAxN2Q0MTMxNjU3Y2Y0ZjBiYzhiMGRmMjgwZGY0YyBsZWdhY3ktdHJ1bmsKKzcyODMgMDlkNmM1NzA4OTk5ZTYzMjc4NTEyZTQ4ZDIwMjQwYmVlMWI3ODA5MiBsZWdhY3ktdHJ1bmsKKzcyODQgNmY4YjVjM2NkNmNiMmU1ZjJhNmZlZmFhMTljYWMyZTk4NThkZjhjNCBsZWdhY3ktdHJ1bmsKKzcyODUgMmNiNDY5YTQyMWE5NzgzN2ZkMjVmZTg3ZjQ1NDIxZTM1YjE4NWQ5YiBsZWdhY3ktdHJ1bmsKKzcyODYgOWFlM2NjY2ZhN2NkZTEyOWJkYTU5MzAzNjMzNjJkYzcxNzJkMjNiMiBsZWdhY3ktdHJ1bmsKKzcyODcgZGIyMzBmZWZhNzAyMzk4YjYwNjhiMTM4OTJiZDg4OTk5NmU0MWI0YSBsZWdhY3ktdHJ1bmsKKzcyODggYjZmYWRmMDIzMWFmOWIyNjM5ZjkyNWUwMDQyZjVjZjAwMDc3ODE1NCBsZWdhY3ktdHJ1bmsKKzcyODkgOTgyMTM2MDRmOTQxNGZkNDVjZmFlMjhkODc4YmU1MmQ2ZmIzNzBhYiBsZWdhY3ktdHJ1bmsKKzcyOTAgZmIxOGNlOGMwY2Y2YWJiMDYzZTRhZjQzZjI3MDg0MjY1OWZhNTFhMyBsZWdhY3ktdHJ1bmsKKzcyOTEgYzQ0NTQwZDUyZDEzNjk5MTA3NmFlZDA4YzgwMmVhYTY5N2Y5ZmUzYiBsZWdhY3ktdHJ1bmsKKzcyOTIgMGY3NTE1ZWJlM2JmNGVhZDJkZjA5YjM5ODZhOGI0ZmUxYzk3YzA4ZiBsZWdhY3ktdHJ1bmsKKzcyOTMgNjdhNTIyMWEyZjYwZjkzOWNjM2I0ZmNkYWFjMzQxNmRmOTI1NTUyNCBsZWdhY3ktdHJ1bmsKKzcyOTQgOWJkYTM4YzY3ZjRlYzI1YzBmZjVmMjE4YTc3MzM4ZmJkNzgxN2ViOSBsZWdhY3ktdHJ1bmsKKzcyOTUgZTcyYWMxZGM2MTRmMmEwODYwNDI4NDQ2MTE1ZDM5MmU2Zjg3ZWVhMyBsZWdhY3ktdHJ1bmsKKzcyOTYgMzkxZjA4YTk3NDZiOTZkMmJmNDA1NWVmYzk1ZTNiZWU1YTJmOWZiZiBsZWdhY3ktdHJ1bmsKKzcyOTcgNDRlODZkYWRlYzk0NGJjMTQ5OGIzYWFmODljYzQ1YzUzOGNjYzFjOSBsZWdhY3ktdHJ1bmsKKzcyOTggZjQyYmNhM2Q3YmUyMWQzMGMxNzdiYjkxNTMzNzUxYWU3YjFiMjE5MyBsZWdhY3ktdHJ1bmsKKzcyOTkgODc4M2NmZGM3YzZmOTkzY2JhNDgxMTZhZjg1YzMyZDgzYzAzMjQ2YSBsZWdhY3ktdHJ1bmsKKzczMDAgYjhhOTdhZDVmN2NlZDNhNTQ1MDc0M2IxMTBjOWI0OGFlYmUwODgzMyBsZWdhY3ktdHJ1bmsKKzczMDEgZjNiOTJjOTVlODViMzYyNmEwZWViOGMzNDlmYjAyNGEwNmYzNmQxYiBsZWdhY3ktdHJ1bmsKKzczMDIgYmU0ODFmM2FkYTBiZGFhMzA4Yzg1NTgyMzA5YWM1ODQ5Y2ZhZjNmZSBsZWdhY3ktdHJ1bmsKKzczMDMgOTdhZTg0NjZkMWM0MjA3NGUyMTlkNWUzYWRjMTgyZjkwZTI3NzFjYyBsZWdhY3ktdHJ1bmsKKzczMDQgNWEyZTcyNTJjODkwMmQ0ZDZkMTg2NjRkNjQwYWE2MWVjNmMxODdkOCBsZWdhY3ktdHJ1bmsKKzczMDUgNDM0MWZmNWM2OTdjZmVlMmE1ZDAzYWUxNzFmMTJiODhlNmZmMjNiZiBsZWdhY3ktdHJ1bmsKKzczMDYgZDg3ZTg3ODUzOTU4ZjNlOWU5M2VmNzY3NTg0ODhiMzJiMmJhZGY1OSBsZWdhY3ktdHJ1bmsKKzczMDcgNTBmNDk4M2I2Yjc5ZDE5MjIyMTkzODlhY2JkZjIxZTA2N2QzOWM0MCBsZWdhY3ktdHJ1bmsKKzczMDggMzM5ZDBjNDlmMGI1NzM4YWY0MjI5MzY2NzY0YjljYmQwODg3MjhlMSBsZWdhY3ktdHJ1bmsKKzczMDkgYzdlOTlhYjYyN2YzYjc0MDI5NjliYjgxNGMzMzAyYjUzMzcxZjEwNyBsZWdhY3ktdHJ1bmsKKzczMTAgZTA1NDgwZGI3MWFiMTEzOGRlMzViMzRjZDJmOGVkNWQ1MGI0ZGY5ZiBsZWdhY3ktdHJ1bmsKKzczMTEgYWNiMDUwMWQ5M2VmOWQzMGJmMDUzZmQxYTgyYmU3Zjc4ZjhmN2FlZiBsZWdhY3ktdHJ1bmsKKzczMTIgOWUxYWM5ZWJlNzlmNTFkY2QyNDNiNTMzZmNkMGNlYTZkOTBiZjVjNiBsZWdhY3ktdHJ1bmsKKzczMTMgNWMxOTUxZDU3M2IxZDliZjMxZmYzNzg2MDAxYmNmN2RmYTdlNjQ3NiBsZWdhY3ktdHJ1bmsKKzczMTQgNDU2N2UxNThkMjBjNTEyOTJiMmNmODc2NzFhZjUzNWQ5NmIwMWZiNSBsZWdhY3ktdHJ1bmsKKzczMTUgMzVjNjQzZTkwMjNlNzJkY2RkYmVmNTZhNDgzYWUxNDE1MzY0YTk1MSBsZWdhY3ktdHJ1bmsKKzczMTYgYTdiOWM3YzgxMzM3NjMyMWE4MjQyMTEyNzcxNTk5NTAyNTNkNGNhOCBsZWdhY3ktdHJ1bmsKKzczMTcgODQ2NzlmN2JiZTZkNTg0OGE2MDVjMTQwYmQ4YTAwZDBhYjVhYTVjYyBsZWdhY3ktdHJ1bmsKKzczMTggMzhhZTJhMGZjNGYzM2M2ZTZhZDBjN2YwNmZmZWU4YzA5ZjJjZjk4OSBsZWdhY3ktdHJ1bmsKKzczMTkgNTU1ZjZlNzZkMjA3ZGNjZDNkYmJjYTQ5NWRlZWZkYzM3YWZlNjYzMCBsZWdhY3ktdHJ1bmsKKzczMjAgMGJkZDMxNTM4ZDhmZDY2NjcwYjFiODdjMjcwNzcwZTc3MjE2YWZkZCBsZWdhY3ktdHJ1bmsKKzczMjEgOTcyMDI2ZDQ3Mjc0YWVhNWFkNmYzYWJlNzdkNTMyNGNiM2RjMjRkZSBsZWdhY3ktdHJ1bmsKKzczMjIgZDUzODEyZDY4NDA4YzYyNGZjODgyYjdjOTZjYjY5MzAwNTY0NWFlZSBsZWdhY3ktdHJ1bmsKKzczMjMgNTI2OTVlZmRmMjJjMmE4NWU4Yjg5YTU4MDRlYzk4YWNjZGI3ODU4ZCBsZWdhY3ktdHJ1bmsKKzczMjQgMGE0OWQxOTI1MDZkY2JhNjJmNzQyMTNhYTY5ZThlOTUxYmI2MWQ2OCBsZWdhY3ktdHJ1bmsKKzczMjUgMGUxODk3YTFmMGQ1MmNiMDlmOWFiZTUyOTg1MzE0ZDI5MjBlZDM2YyBsZWdhY3ktdHJ1bmsKKzczMjYgZjgwODAwMWEzZTAxMzdhY2JmZjEyZDhiNTQxMzkxMTI0NjVlYzM5NyBsZWdhY3ktdHJ1bmsKKzczMjcgMjljZWQ0ODVhY2EwOTgzNTZhMmJkMzdhZThkYTUzNDEzODQxNGM4MSBsZWdhY3ktdHJ1bmsKKzczMjggY2Y5MDc0NTM4MWJmZmQwYTY2MzM1ZWM1MDU2MTJjNWFjNmFhMDQ5NyBsZWdhY3ktdHJ1bmsKKzczMjkgMTY3YWQzOTQ0ODhjY2FiMWE1M2ViODkyODI0OGQ4NGFhMDNmY2NjMCBsZWdhY3ktdHJ1bmsKKzczMzAgNDNhYjBmZWZlNGExNTZhZjdmNDRlMjgxNDYxNmFlZGI0NzVhMzhmZiBsZWdhY3ktdHJ1bmsKKzczMzEgODhkYmZhMmJiOWRjZWZmYzBlMzhiNDk1MjQxNWZhNTZmMDY2YzViZSBsZWdhY3ktdHJ1bmsKKzczMzIgZTBhYWVlN2ZkMWZkNDU0ZTZlNDYwYjI2ZjI1ZWU5ZWFjMzg5ZTY3OSBsZWdhY3ktdHJ1bmsKKzczMzMgMTk4OTg5ZWUzNmQ1NmE1ZDNlNTVlNTgxYjhhMzM3ZDI3YmEwYmVhZCBsZWdhY3ktdHJ1bmsKKzczMzQgYWI0NjFjNzYyNTU5YTQzMWJjNDA4OWY0NTFkZDRiNTA3ZGE3NGM2NSBsZWdhY3ktdHJ1bmsKKzczMzUgNWM2ZmJkYzUwZTFkNjQzOThkZjkwNjk4ZjYzMTQwMzZiZDc4MmRlYyBsZWdhY3ktdHJ1bmsKKzczMzYgNjljYTVlM2NjYzZkYTgyNTE2MmM1YWU5YzM3MDg3MmM3ZTk1MmEzYSBsZWdhY3ktdHJ1bmsKKzczMzcgN2Q3MzE5ODExZmYwYWUxMzcxZTFjMGU3YzY5Mjk0OWFlMGZiOTE2ZSBsZWdhY3ktdHJ1bmsKKzczMzggYjE3MDdiY2RjMjY1MjZjYzc1OWQ1ZjA2N2IwMjc2ZWFmN2E4ZGFiNyBsZWdhY3ktdHJ1bmsKKzczMzkgYTUzOTA4ZDA5YTA0YzAxMDMwMjFlMzk4NmU3ODAxNDZhNTNmMzYzOCBsZWdhY3ktdHJ1bmsKKzczNDAgZjUwNzNlMjQxNDdjMDc4ODE1ZjUwMWY4OGZmNDFlYjg2ZGNiMmUzZiBsZWdhY3ktdHJ1bmsKKzczNDEgMzk2MDM0MGEzMjUyMDhjNGU1ZDc5MGYxMmZjM2Q0NTVkYWM4MzQ2OCBsZWdhY3ktdHJ1bmsKKzczNDIgZTNmMmFiMGIwYWExNmQyMDAzMjJmNjcwYjBlNzc3NzQ5N2RhOGUwNiBsZWdhY3ktdHJ1bmsKKzczNDMgYmY0ZGIyYTRiYjU0MDc5ZWQwN2IwYWE2ZjE3OGViODc0ZTUwMWU1NyBsZWdhY3ktdHJ1bmsKKzczNDQgMGVhMGZhYzY4YzFjOWQ4Zjc2ZDVmN2Q3YWVjM2YyZjI3ZTYzMmNhOCBsZWdhY3ktdHJ1bmsKKzczNDUgNjhmNDEzNDg2OWRiMDNiNzdjYWQyZmJjY2QwNjNiMDI0ODY4OWViMiBsZWdhY3ktdHJ1bmsKKzczNDYgYTcxNTliYTBlNDVkMWQ3NDk0NDY2MWY4YTNiODg5ZmFiMmQxYmE2MyBsZWdhY3ktdHJ1bmsKKzczNDcgZGE1M2U0OGVmZWE4NjBhMmRiMzNkZTNjNWJhY2VjMmFlOTY0NjIyYSBsZWdhY3ktdHJ1bmsKKzczNDggMzJmNmIwZDNhNjZmYmYwODhiY2M2ZjNkYWUyODQ2ZGM4YTM0OWM3ZiBsZWdhY3ktdHJ1bmsKKzczNDkgMDNiY2RkMjJmNmE0YzJhMjdlN2Q3Yzg0ZDExMDIwNjNkZGViZTlkNCBsZWdhY3ktdHJ1bmsKKzczNTAgOTExMDQwZTFiYjExOTE4NGJiNTkzNDI0NzhmNTQwMjg0ZGQ4N2NkMCBsZWdhY3ktdHJ1bmsKKzczNTEgMGYxMGZhNzUyY2E5MjU2ZjNjN2JjZjg5Mzc3MDQwN2U4MTFhNWQwOSBsZWdhY3ktdHJ1bmsKKzczNTIgZTU3YThkZTVhZWIzOWIzMDFkY2NkZDY5OGQxYmM1ZjU2YjRhZDFhYiBsZWdhY3ktdHJ1bmsKKzczNTMgYTllN2UwY2NhYTRhYzBjMTA1ZjYzZDczMjc4NmZlMTZmZmMxMzQ4OCBsZWdhY3ktdHJ1bmsKKzczNTQgNDUxNDAyMzE2MGI0NWQxZTJjYzBkNWZkNDBhOWY0NmIyYjNlZWUwMSBsZWdhY3ktdHJ1bmsKKzczNTUgOWE3ZTlmMTBhZWQ2MjA4ZWJmZDgzOTg5OWJmMjg4ZDdkZjU4NjRlOSBsZWdhY3ktdHJ1bmsKKzczNTYgMjI0MWQzMTI2NThhZTc3M2QyNDY2Yjk5MjUyMWE0NjMzODA0MzY0MiBsZWdhY3ktdHJ1bmsKKzczNTcgOGQxN2Q1NTJkMGVjMDVkYWM2YWQ4MWVkNjMxNDMzMmNkMTczZmJhMyBsZWdhY3ktdHJ1bmsKKzczNTggZTc0MmI1OTNjMDkyNjNjZGVkYmJjYTU1ZWM3ODZiZWI3ODZhNTdmMSBsZWdhY3ktdHJ1bmsKKzczNTkgNjVjYjI2MWY3NzM2YzlhNDNkZjgxZGZjNWY3NjJmOWQ1MzNlNjExZCBsZWdhY3ktdHJ1bmsKKzczNjAgMzgzYzY0ODYzNDZmNjYzM2E4ZTI5Yzg1NWMxZjM5OTQwYzNmMzcyMyBsZWdhY3ktdHJ1bmsKKzczNjEgMjFjNDFkM2MyNmI2NTExYTcyMzllNmU4ZTQ3NTcxNjU3MDY4YjZmNiBsZWdhY3ktdHJ1bmsKKzczNjIgMzQyZDJlZWQ1NzNhNTc4YjJlNjU2OWEzZWRmMWUyNTk4NmRjZWI4MSBsZWdhY3ktdHJ1bmsKKzczNjMgZjEyNjExODY3MjJjZDIwOWQ0ZTVmYjNiZmNjODA2YzkyZDJiY2JhOCBsZWdhY3ktdHJ1bmsKKzczNjQgOWM2YjVhNjVjZTYzMDBkOGQwYzZlOWJmN2E2MTkwMmI3MzFiYmNhOSBsZWdhY3ktdHJ1bmsKKzczNjUgOGE2OGY4MWJhYWQ2YjE2OTExMzE2YWRmMzkwNjA2Yjg2ZWI0NGY2YiBsZWdhY3ktdHJ1bmsKKzczNjYgZDM5OWE0NTM3ZjZkZTBmMjA0YzljYTZlZDNkZmQ0YTdjM2U4YmU2NiBsZWdhY3ktdHJ1bmsKKzczNjcgMWMwODljNWI2NmU5OTA5NTRlZDU3YzlkN2JjODNhODQ0OGMwZmQyZCBsZWdhY3ktdHJ1bmsKKzczNjggYzJlYWMxMjZlOGZmYzA4NzhjNjQ5OWY4ZjQxZWEzYmE0ZjU1MjczYSBsZWdhY3ktdHJ1bmsKKzczNjkgZjMxZjQ3ZmYxZmRkM2Y0OWIyNzFiOGJkNTU1YmMxYTMxNDA2M2Q1MSBsZWdhY3ktdHJ1bmsKKzczNzAgNTU2ODMyMGRhOWI1OWFlYmZlZjI5MTc1ZTUxZWE5ODdmMzBmOGExZSBsZWdhY3ktdHJ1bmsKKzczNzEgNTBhYmIwODUwNzQwNDY5ZWQ4YmYyZDEwMzMyOWY0Y2FjY2RlMzkzOCBsZWdhY3ktdHJ1bmsKKzczNzIgOTBjMjFkZGU0Mjg0M2ZiMDRjNTRkODhmMzI5NWU5Nzg0NGM2NjY3OCBsZWdhY3ktdHJ1bmsKKzczNzMgNGY4N2ZkMmQwNTYyZWFiMTg0YTU3Njg0OGViZTQwZDUwMmIzMTk2MiBsZWdhY3ktdHJ1bmsKKzczNzQgOWVmZjc4ODBlNjg0NDgwNWI5M2I2MDg4YzI1YzNjZTFjMGQxMjA3ZCBsZWdhY3ktdHJ1bmsKKzczNzUgMzdlOTdhMzEwMjQxMWQyMGQxNzI1NjViOWM5YjlmZWZhZDIxMzZmMSBsZWdhY3ktdHJ1bmsKKzczNzYgNzcwMTA0YzhmODRhMGFmYTMwMzQ5OTI0ZWIzYTQ3NDBmZTliMzVjNyBsZWdhY3ktdHJ1bmsKKzczNzcgZDQ2ZTQ3OGI1NzY3YzM4OWYzZTc3NDMzZDY2ZmFjMTA5YjdiODczMiBsZWdhY3ktdHJ1bmsKKzczNzggNmE2MjlkMjc4YTE4YjkyMmYyYjM4YzZjMzE1NTk5YTNmYTU4ZmFhNiBsZWdhY3ktdHJ1bmsKKzczNzkgNWRjMjBhOWUwNTA2N2JhMTcwMzY3ZTk4MDNlMzk2NzRiMWMzMWNlNCBsZWdhY3ktdHJ1bmsKKzczODAgMzIyMjBjNTcyOGY1MTQ4NmUwZDMxOTk2ZDY3MDM0MDJlNzQ0MmU4MyBsZWdhY3ktdHJ1bmsKKzczODEgZmNlNzgxYjEyN2I5MmYzOWQzZjczZTUxYmEzOGJhMTMwYTU5NzRhNiBsZWdhY3ktdHJ1bmsKKzczODIgZmQzNjI2NTExZGFkZmNjYjRlNTNlNjc0YTBmMzhjNTEzMmY1MTQyNiBsZWdhY3ktdHJ1bmsKKzczODMgY2ZhMTI4MjkwMmRhY2RhMmVhYWFlOGIzY2RjMDRiZmQ5NzVkNTZiNyBsZWdhY3ktdHJ1bmsKKzczODQgMDgzNGFhZGRiZjFmZTQ0ZTIxM2JiNDE2MjZlZGExZjI2ZjkxYTIyYyBsZWdhY3ktdHJ1bmsKKzczODUgZmNhZjlkMTE5YWJmZGMwOTBlZjgxMDY0OGQ4Mjk2MDkzMjk5OTgxZSBsZWdhY3ktdHJ1bmsKKzczODYgMjE4NzhjODQ5NjI2YWUxYjc0MmY4YWFmMWFiYTMyZmEyNzlhMzQ5YSBsZWdhY3ktdHJ1bmsKKzczODcgNGI1OTBmNThjNmE3YTM5M2YzYTFkNmVhMTkyMjZlYjhiNWY5YTkzZCBsZWdhY3ktdHJ1bmsKKzczODggOWUyYzNjNmQ0ZmExNWM4ZmI4NDM2MGI4NTJlZjNkYjdjMjM4ODhmYiBsZWdhY3ktdHJ1bmsKKzczODkgMjUwYmRkYjJlY2NmMmRiY2QwNDUxOTQ2ODE1ZDhlZTU0ZDE0ZjViNSBsZWdhY3ktdHJ1bmsKKzczOTAgMTRlZDkwOWE5YzgwOWY3ZWFiYWZiNzhmODdlYzdlZDIwMTUyZDAyZSBsZWdhY3ktdHJ1bmsKKzczOTEgMDc5ZWI2OTQ3MWU1ODMzOWMxZWJhY2QwYmM3YTM4ZmM2MzY5NDRjNyBsZWdhY3ktdHJ1bmsKKzczOTIgMWJjZDQ5NzJkYTdlODZlNDRiZDlhMmU3MDFiMDVhZmQzZGNlOWY1ZSBsZWdhY3ktdHJ1bmsKKzczOTMgMmE0ZDNkOTliOGE0NWE4YzJjNmY5OWJmNTJjMTUyYmIwNjY5ZWFiNSBsZWdhY3ktdHJ1bmsKKzczOTQgZjhlNWJjNTM1MWE5NzNhZTg0ODUzMGQ1YWM1OGE3MDM5YTllYWVlOCBsZWdhY3ktdHJ1bmsKKzczOTUgZTc3NTg1YWYyYTIxNjU1ODI4NjRlZTg2MDdiYjcyMDk0NGE5Mjk3NSBsZWdhY3ktdHJ1bmsKKzczOTYgNTU4YWJhYzc1OThkMjkwZWU5ZDJkZWJjMDEyZThkYThlZGY4MDc2ZiBsZWdhY3ktdHJ1bmsKKzczOTcgMmRlYzM2MzQ1NjY1ODMyMmFhMzhmNmVjMThlNjU4NmY2NDA2Yzk1YyBsZWdhY3ktdHJ1bmsKKzczOTggYWU1NzM5MjJmZGNkYWNjYjYxYmJlMmEzMzQyNjQ5M2E5YWQ0YjM2YSBsZWdhY3ktdHJ1bmsKKzczOTkgZjA3ZTE4ZGIzNjZjNDkxYzRlYmRlMDZlZDAzMTU4MzBiNDNmYjhiYyBsZWdhY3ktdHJ1bmsKKzc0MDAgNTA3YzQ2MDIwNTI2NGQ1OGUzNDA4YWIxNjI1Nzg3YjkyOWE2M2QwMiBsZWdhY3ktdHJ1bmsKKzc0MDEgNzA2OWEyYmY1YmFmNmE5YTU2YTlhMmU3ZTkyY2FlMGY5ODA4MDI2YyBsZWdhY3ktdHJ1bmsKKzc0MDIgMDQwNDkzZGU4NDhkOGRkNzI3NWQ1ODU4MDM5NzQwYjNiMTllYTM0OCBsZWdhY3ktdHJ1bmsKKzc0MDMgOWJlNjVlNmMzNWM4MjZkNGY3MDlhZDdmNjUxOWI0NjMxMzMzNDBjNyBsZWdhY3ktdHJ1bmsKKzc0MDQgNTEyNmQ0YjgxOWU5ZTE5YzVhYjI1NDM2NzViMDFkOTg5ZDFhY2Y4MSBsZWdhY3ktdHJ1bmsKKzc0MDUgNTM2OTM1YzI5NDAxNzNkMWJjNDQyYWVhZDRhMTNhNTFiMWIwYjM0OSBsZWdhY3ktdHJ1bmsKKzc0MDYgMTgwMjNlN2MzODYyZmNjOGM5OGRiYTYzMmU4NWViNTQxZGE1OGI2YiBsZWdhY3ktdHJ1bmsKKzc0MDcgYjM3ODc1MzgyNWEwOTFmZWNiOTRlNGM4N2JmYWQwMDQxNWI1MzkzZSBsZWdhY3ktdHJ1bmsKKzc0MDggYjU2YmMyNWFlYzg1MmFkMjlmZGJmNTE3NmM3OGM5MTIzYTBjMjgxNCBsZWdhY3ktdHJ1bmsKKzc0MDkgNmI2MTkxMmQ1ZjM1OWIwODQxNzlkNTk0ODMxMmFhN2E1ZjgxZGNmMiBsZWdhY3ktdHJ1bmsKKzc0MTAgMDk1YzllZTIzYjU3NmMwMTM5MTg1YjVlMWZjODE1NTMzMDYwNDRlNiBsZWdhY3ktdHJ1bmsKKzc0MTEgN2QwYmZiNDY4MmY5YWY1MjA1MDUxMGVkODAwZDE3NzVjYjQ2MjRiOCBsZWdhY3ktdHJ1bmsKKzc0MTIgNzg5ZGU3YzY2NzEyOTY2MmYwYmE0ODU1ZmI0YjBiMGUwN2M4YmVkNCBsZWdhY3ktdHJ1bmsKKzc0MTMgNzBkYjRiZTFkZDRiMjVjMTI1ZWIyZTk4ZWE1NzhiNzIwMDRkMmRiYiBsZWdhY3ktdHJ1bmsKKzc0MTQgMjE3Y2ZiNjE5OWJlMTE5NjEwYzIyNGNjYjJhODNjOGFlY2YzNjMyZSBsZWdhY3ktdHJ1bmsKKzc0MTUgNWVlZDUxNzUwMjg0MTYzMDQzYmUyOTc3OWVhY2NiNTkwMWRmZmU3OSBsZWdhY3ktdHJ1bmsKKzc0MTYgMzNlMzNiYTdmNDIxYWU3Zjk2YWMwMTAzNDgxNjEwMWUwYTg1NTIyOSBsZWdhY3ktdHJ1bmsKKzc0MTcgYTUyMGM2ODRjZThkYzAwY2I5MzExZTMwMTczNDkyMWJmOTIwODU0ZiBsZWdhY3ktdHJ1bmsKKzc0MTggNTdhZWQxNmUyMTY1YzhiMmNmODc1MTZlY2MxZDZiNWYwZjZiMTMwYyBsZWdhY3ktdHJ1bmsKKzc0MTkgNTI4YzMxOWM2ZTdmZjBkZjFiOTE3M2FiYzg4ODliYmU2MDNmZGM4NyBsZWdhY3ktdHJ1bmsKKzc0MjAgNjExOGNhNTE0MDRkODYwMmZmOTA4YmZlOWRkM2QyYTE2MmM4Njc3OSBsZWdhY3ktdHJ1bmsKKzc0MjEgYmExMWI1OGIyYjBhMzhjMGM3ZTlkMjAyNDc4NDkyOTc2NjY3ZGVmYSBsZWdhY3ktdHJ1bmsKKzc0MjIgNzhkODgwMDQzMTI5ZTA3NDVmMjUyZTM0NTVkOWZiMGI5M2YwMzQ5YiBsZWdhY3ktdHJ1bmsKKzc0MjMgNTY5MzQzNGVhNTM4Yzg5ZmQ1MzVjYjE4ZGU5OTY1MzgyYmVmNDNkNSBsZWdhY3ktdHJ1bmsKKzc0MjQgY2E5YWE0NzQxMWRlNGJhMjkwOTg3NjE2MWFiMDE3MjhmZDg2OTdjMSBsZWdhY3ktdHJ1bmsKKzc0MjUgMTlkODE5YjE2YjgyNTJhMDIxMjkzYjNjNGEzMzAwZWU2YWE2MTY3ZiBsZWdhY3ktdHJ1bmsKKzc0MjYgZGEyYWJiZjkzODdjNjFlYmNhMTVjOWM4ZGU1OGIwMmIzMjEyMWNkYiBsZWdhY3ktdHJ1bmsKKzc0MjcgMDVmZDQzMmQ5ZTJiNjhkOGU5MmUzNDIxMzQ3ZjA2ODEwNTczYmEyNyBsZWdhY3ktdHJ1bmsKKzc0MjggZGE0YTQ5N2JlYTNhOTQ4MzlmODg1ZjMzNzA0ZWU3ODRiZmFjMDc3NCBsZWdhY3ktdHJ1bmsKKzc0MjkgYjFlY2RiMmRhMjQwMDU1MTllMTk2OTlhNGUyMzQ1OGE4NmExYzA5ZiBsZWdhY3ktdHJ1bmsKKzc0MzAgZTZiNzk3YWFhNjlmN2QyMDViNTBlODQ5MTZjNzkzYTVhMjM2ZmIxZCBsZWdhY3ktdHJ1bmsKKzc0MzEgNzMzMjUwMTlhZDM5ZmY1YmYxZGU1MWMxM2NmM2ExMTU1YjIyNjk0NSBsZWdhY3ktdHJ1bmsKKzc0MzIgOWQ1OGQwZTk4NzdlNmU3YWYyYTJiOTdiMDVlYWYyMTMyMzcyZDI3ZSBsZWdhY3ktdHJ1bmsKKzc0MzMgY2U0MzhkMzZkNGZiZjExZDRkN2Y0NTdhYWRjYWRhZGM0N2E0NjVkZiBsZWdhY3ktdHJ1bmsKKzc0MzQgODlkMDc3OTVmZDY5NGZlNDI1MjdmMmY2YzRhZjBkNzJmMjQ0MGZlMSBsZWdhY3ktdHJ1bmsKKzc0MzUgMzhmOWU0NmQyMzE3YjUxMDczYjY1Yjc2ZWJjOGM1YTcxM2RkYmY4MCBsZWdhY3ktdHJ1bmsKKzc0MzYgNWU2MzMyMmY0YzA2MTNiODJkMzE4NDA5Zjg0NzRhNTU3NDJiMmQyOCBsZWdhY3ktdHJ1bmsKKzc0MzcgNzY1ZDk2MmY0NDQ5ODI1NjZmYWUyYzVhOWU4MTkwN2VmMDExOWMyNyBsZWdhY3ktdHJ1bmsKKzc0MzggNWRlZDJiYzE5MDhiMzY1NzFiMTI4YTRhOTlhOTQ2ZWIwOGRjYTgyZiBsZWdhY3ktdHJ1bmsKKzc0MzkgNmNlNjFmMjEyYzNlN2YwMDFmMTNmNTk3YWRjNjgxOGNkOTk4MjAxZiBsZWdhY3ktdHJ1bmsKKzc0NDAgZDg0Y2ExOTc4NjhiMzU0NzFjM2E1N2JiMTJlNjMwODc3ODNjMjAyZiBsZWdhY3ktdHJ1bmsKKzc0NDEgOWJiZDU3ZDM2MDlmYmI0MTMzY2EwYjQyMjA1MWU3YThmMzA2M2FlMSBsZWdhY3ktdHJ1bmsKKzc0NDIgMzcwNWY3NWE4MzU1ZTIzNjU0NGRjZTcwYjZmMzRjNDI0NjBlZDk2OCBsZWdhY3ktdHJ1bmsKKzc0NDMgM2QzMmRhMzdkNjI3ZDhiYTAyMjE2MGFiNGIzODQxYzczMWExZTVhZCBsZWdhY3ktdHJ1bmsKKzc0NDQgMGYxYWU2MmRkM2I4N2UwYTE3MTgwZmRkM2JlMDRjMDA0OTFjZTM1OSBsZWdhY3ktdHJ1bmsKKzc0NDUgODA1NDg3ZDUwNjIwYjRmNTQ2ZTFiOGQxMzA5NzU3MjI5ZjA3ZWUxOSBsZWdhY3ktdHJ1bmsKKzc0NDYgOGQ4Yzc2YTFkMjUwNDA2MmUxZmY3MjE5NTQ2ZThlOTA3ZDg4MDUzZCBsZWdhY3ktdHJ1bmsKKzc0NDcgNmVjZTVjZmI0OWZmZGIzZmRiNDNkMzc3YjdlNGRmOWJjYjljMDMzYyBsZWdhY3ktdHJ1bmsKKzc0NDggN2Q3M2NkYzAxMTk4MmE1ZTcxY2NkYmMyZTBkZGRmYzIyYWU0NzdkMSBsZWdhY3ktdHJ1bmsKKzc0NDkgMzk3NDU1NzRiZjA3YWZjNmYxOGIxZTQ4OGY5OGVjODI0NWI4NjA5ZCBsZWdhY3ktdHJ1bmsKKzc0NTAgYjRhNDAwYjM1OTVlMjRjZTk0OGM4NDFiYWUyOGZkZjE3NjdmYmEwMyBsZWdhY3ktdHJ1bmsKKzc0NTEgMmUyOTQ1ZDgxNjNjNjcxNzI4Mzg4NzVmMTkyMzdkMDEzYzNkMDA2MSBsZWdhY3ktdHJ1bmsKKzc0NTIgOWIxNjk0MzkwODIwZGQwNDQyYWRjZmU1ZGNiZGZiMDY4YzczOGU1OSBsZWdhY3ktdHJ1bmsKKzc0NTMgNDdlZTNiNGUyZDgwMzNjYWNkOTlkNjM1MjhiNGQ2NDNjMjZhNjEyZCBsZWdhY3ktdHJ1bmsKKzc0NTQgYjg2NGI0MTRjNDU3Y2Q5ZTQ0NTYwNWU1YTA4Mjc2ZjQyZjc4OWI5YyBsZWdhY3ktdHJ1bmsKKzc0NTUgYThkN2JmZWM3YzkyYjdjMThhYzllYzg2YzhkMjQ4MGQ4YTliY2RiZCBsZWdhY3ktdHJ1bmsKKzc0NTYgOTk0Mzc2YWY5MDY0ZDMwZjFlODJmYTk5YjExNDQ1NmMwM2U1MDk3NyBsZWdhY3ktdHJ1bmsKKzc0NTcgYjVlN2ZjOGJmOTE5NjM2OGRjMzBmMjdmMmNlODQ4N2JhODJlZGRkMSBsZWdhY3ktdHJ1bmsKKzc0NTggNjZjYmIzN2I0YzBiZDYwMDUzMTk0ODE5NDBmNzY5YTYzNDAzOGMxZiBsZWdhY3ktdHJ1bmsKKzc0NTkgNzdmOTcwMDc2ODMxNDAyNzYwM2EzMmNmMDkwZGVkYzE0ZWNlYmE2MiBsZWdhY3ktdHJ1bmsKKzc0NjAgNDMwOWJjOTdlY2M2YTg3NjllOGE2ZGRjMGFhYzYzOWExNzUyOWRlNiBsZWdhY3ktdHJ1bmsKKzc0NjEgZDhkNTYzYmFmODc0Nzg2N2MwNzA0OWNlYTFkMDczYjNkNDBhNWE0MSBsZWdhY3ktdHJ1bmsKKzc0NjIgMWRlZDk0MzhmYTUxNWQ3NzM4YTAwMmNjMGEwMmY3M2Q3MzA5ODk3MSBsZWdhY3ktdHJ1bmsKKzc0NjMgZGYzODVjYzBkMmUzODcwZWZkODYyZDdkN2Y0OWY1NzNhMjdiNzJmNCBsZWdhY3ktdHJ1bmsKKzc0NjQgNjUxNDhkZWQ1MTA4NGRhZmQ2Y2JkNDNiYjUwMzYwMDA0ZWY1MTZlOSBsZWdhY3ktdHJ1bmsKKzc0NjUgNmUxN2VmNWEyNmM4OTQ0YTg0YjNlMzZhYzA0ODg4ZmNiOGQyYmE3OCBsZWdhY3ktdHJ1bmsKKzc0NjYgODI3NjkxNmUxZWE4ZGNkZTU1ODdjMzg4YTVjODNjMzViYjc2Y2ZiYiBsZWdhY3ktdHJ1bmsKKzc0NjcgMTFiYWNiOGQ3MzFhZDZjYWRkY2QwZDg5YzVlMDFkMGI1OWUzNmRhMSBsZWdhY3ktdHJ1bmsKKzc0NjggYjgyZDg0N2IzZGNiY2NkNjNkZTA3NWUzODc5YTkzNjlkZmIzNGUwZCBsZWdhY3ktdHJ1bmsKKzc0NjkgOWJjNjUyZTlmMmI0NmQyOTI4YjAzMDAzZjA4Yzc1Yjg4MTQ3OTA1NyBsZWdhY3ktdHJ1bmsKKzc0NzAgMjY3ZWQ0ODBlYzFiODRjMWRlMDdmYTg2N2YwZGIyNmI0YzcxNTJkYSBsZWdhY3ktdHJ1bmsKKzc0NzEgOGRlMWY2YjA3ZGY5Y2Q3ZGMwZmMwYjQ2ZTcyZDdkYzBkMDZjM2YwNiBsZWdhY3ktdHJ1bmsKKzc0NzIgNThiYmFmMjg0YWQ2NmVmMGNlN2Y0ODE4ZDA0MDViMzBhYjZjZThhOCBsZWdhY3ktdHJ1bmsKKzc0NzMgY2M0YmE3MjE0YjE4Zjk5N2U5OWQwNzAzMTAwYzhkMTRiYzllNTg3ZSBsZWdhY3ktdHJ1bmsKKzc0NzQgNDY4MTI0YTE1NjBhMmQyZWJhM2Y0NGE2MDUyMTRlYzNhZTNkZWI0YyBsZWdhY3ktdHJ1bmsKKzc0NzUgN2M3YTE4NmI2ZDg2YjJiMjAzMDUwNzMxNWRmZTA5OTRlZTY2NWIxOSBsZWdhY3ktdHJ1bmsKKzc0NzYgMTdjN2ExMzNjY2Y3MTEyNWZkMjQ1OGQ0YTRlNTY3NTcwYzcyYjdlYSBsZWdhY3ktdHJ1bmsKKzc0NzcgYWUzYjQ2YTczNzY1N2IzZjQ0MGFiNzU2ZGNjMTY1YjcwZGJlZThlZSBsZWdhY3ktdHJ1bmsKKzc0NzggNjVhYWNlMjAxMmU1MmMzZjE5NDkxZTg5YzE4NDIyOTBkZGQxYjFmMSBsZWdhY3ktdHJ1bmsKKzc0NzkgNGM4ZTRlOTMxMWU0ZTBlNTJlNTA5MmVjYmFkMWJhMjY0ZmE0OWZmNSBsZWdhY3ktdHJ1bmsKKzc0ODAgZjE3YmFjZTQ4ZGQ2OGEyYzgwZjQ0YzAxMTVkM2FiYTdkMjhjYTA5NyBsZWdhY3ktdHJ1bmsKKzc0ODEgNWY0YjIzZTNkOTdjYjM4ZDBhOTNkYWU0MThjODgyOTU0MzVjNWU2YSBsZWdhY3ktdHJ1bmsKKzc0ODIgZTRmN2MzMzFiYjFhMmZmZjNlMzU4ZmJlOTZmYmI5ODRlN2UzZmQ0YSBsZWdhY3ktdHJ1bmsKKzc0ODMgZjU1ZTgyZTFlNTY1OGMwZmU0NjFmNDgzNzU1MGM4MzIxNzRiMmIwYiBsZWdhY3ktdHJ1bmsKKzc0ODQgNDAyZTM2YzgzZDIwMjkwMGEwMjNlMTYwNWViZGFkYmRhMzZiN2UyMiBsZWdhY3ktdHJ1bmsKKzc0ODUgZjBjZjhkMjc1ZmJjMTc1MTQyOGQwYTMzZWYxZTM2Mzc0ODkxYmEwMCBsZWdhY3ktdHJ1bmsKKzc0ODYgNjg0MGZmODlkMjRhMWYxOWZjMzI4ZTUxYTAxNjU3Y2ZlMmNkOTc1NSBsZWdhY3ktdHJ1bmsKKzc0ODcgNzdmOWMyNWUxZjFmY2FjYzkzZjJlNjNiMGNiYmMyYjcwYTQ3NjVmZiBsZWdhY3ktdHJ1bmsKKzc0ODggNGNhNGU1NGM5Y2Q4Mzc2ZGYxNDE3ZWUyOWM2M2JmYjc5ZGEyNWNmOSBsZWdhY3ktdHJ1bmsKKzc0ODkgMGJmYWM4OWFmYzgzZmQ2YjBhOTI5YjgyYjc3MmI4MTg1MjJlMjQ0YyBsZWdhY3ktdHJ1bmsKKzc0OTAgYjFlMmVlYTY2Y2I2Y2ZkYzJhNWU2NDY5ZTU1MzE0N2NkMWVlNDc4NCBsZWdhY3ktdHJ1bmsKKzc0OTEgZjFhZjA5N2E1ZTVkNzkwYzJhNmIwNmNhZDAwMDY0YzRkMjYxM2UwMiBsZWdhY3ktdHJ1bmsKKzc0OTIgMTNkMzhlYjdlMjI1ZDE4MzU0Y2E0YTY3YTg0YTg4MDgyNmE1MTE2OCBsZWdhY3ktdHJ1bmsKKzc0OTMgMDAxYTUwNDJiMTgxYTdkYWI1NGI2Y2QxMGVkMTI3MmJiNjJkNmI3MCBsZWdhY3ktdHJ1bmsKKzc0OTQgMjg5MzU2MDlkZmFlYTY0YWEwNmI5NmM1ZTYwNDU2NzkwMmQ3NDRlMCBsZWdhY3ktdHJ1bmsKKzc0OTUgMGVjYTlkNWY3YjJkNGIxYTA3Y2I2NDM0NTI1YThiOWJjNzNkZDVmOCBsZWdhY3ktdHJ1bmsKKzc0OTYgYzIyYWRkMzY0MzUxOGY2YzQ4MGE2ZjQ2NzE2ZmRhMGQ3ZTJiNWMwNSBsZWdhY3ktdHJ1bmsKKzc0OTcgNjI2NDU3ODdmYmM4ZDkyY2MyOWMyYTc3MTc4Yzg5N2FhMzMwNWMwOSBsZWdhY3ktdHJ1bmsKKzc0OTggNzVjMWVlODgyYTRhZDQ4YWQ2ZjQ1ZWI5NjgyZjQ3ZDAyMWEwNjBlNiBsZWdhY3ktdHJ1bmsKKzc0OTkgN2U1MTkwOTk5NjMzMmRhYjA3NjI5ZTYyODBlZWIwMWVkNTdkYzgyOCBsZWdhY3ktdHJ1bmsKKzc1MDAgYmZmOGY1YWZjNjdmZWM2NDFlOGZlMzBmMmY1ZTExNzc1Yzg4Yzk1YyBsZWdhY3ktdHJ1bmsKKzc1MDEgYjVhMWJiMmQxN2ZhZDQzNjEzMzZmOTU5NGE3ZGMxMjBlY2Q1MWUyZCBsZWdhY3ktdHJ1bmsKKzc1MDIgMGVhNGVhNWIyZWI3M2ZlYThlZWEyOGQxMDViNmQ4MmNkM2ViNjM2MiBsZWdhY3ktdHJ1bmsKKzc1MDMgMDY3N2M3N2FhNzBkZjE5ZWI0OTZjMzFjYzNkZWNjYjU0ZDU4MzcwZSBsZWdhY3ktdHJ1bmsKKzc1MDQgM2YwMzdlZTc3MzFiZTMyMzg1NmVjNDY3OTkyZWMxNWQ4OTdkMWJhNyBsZWdhY3ktdHJ1bmsKKzc1MDUgMDBjM2NiMTA3ZTVmMjc4ODA2YzRkMmMyNjllZDg4N2YzMTA5MzFiOSBsZWdhY3ktdHJ1bmsKKzc1MDYgMDE3ZDcyNTQ0ZGYyYmVjNTNmZDk5YzI0MGJhZmI1ZWJhYzZiYjRhYyBsZWdhY3ktdHJ1bmsKKzc1MDcgYmUzMWU3ZTE5MjQxYjFkNWU1ZWNmZDFhNGY2NDExMTc3YTFiZTJhYyBsZWdhY3ktdHJ1bmsKKzc1MDggNWI3YjcwM2RhYmZhMDc4M2I5MWYwMTRlYjAzMWMxOTJjY2RiOTYwMyBsZWdhY3ktdHJ1bmsKKzc1MDkgZGUyYTc1YzdlYTlmZjQ2Nzc3N2I2MGY5ZDk3OGI2MTI0MDdlZjE1MyBsZWdhY3ktdHJ1bmsKKzc1MTAgYTBlNjJkODVkZTc3YTE1MGUyNzk3YjFkZDhkODI2OTY4NjNmZjI0MiBsZWdhY3ktdHJ1bmsKKzc1MTEgNjk3NjVkNjQzMWUxYzRhOTM4YWJjMTM5MTgzMTRjZWQzMjNhNjFmZSBsZWdhY3ktdHJ1bmsKKzc1MTIgOWFkN2I4YzM2Yzc5NDA1MjMxZDBhYmJmNzFjZGYxODIyMWI3NzY1MiBsZWdhY3ktdHJ1bmsKKzc1MTMgYTgyMGRlYWQwNmU2NzYyZmM3OGI2YjEyYjYwN2E2MzgxYTFlZTFiNCBsZWdhY3ktdHJ1bmsKKzc1MTQgMzgwMzIyNjc5NjhjMDE3MmJhNmY5NGFmYTA5ZTZjNGE3NDIyYzAwZCBsZWdhY3ktdHJ1bmsKKzc1MTUgODc2ZTU3MzY0YzYyMzk5NWNmYTVmNDU1NTIwNjBlNDkyY2Y0NDc2YiBsZWdhY3ktdHJ1bmsKKzc1MTYgYzQ5NzkyOWIyMzcxMTVhMmMxZDczZTA2MjVhMzY3ZTMzN2MxNGZjNiBsZWdhY3ktdHJ1bmsKKzc1MTcgOWI3ZTBjZjUxOTkwNWFjNDkxOTk4MTFmMTJmZTcyZWRlMWQ0YzBkYiBsZWdhY3ktdHJ1bmsKKzc1MTggMTA0YTY0NmZjN2E2N2YyN2RmMjVkNGU5NDFiMjAwMzVlNTg3NmY5ZiBsZWdhY3ktdHJ1bmsKKzc1MTkgZWUzYWM5ZTBhMDMyMjk4NjJkMTkwNTZhNjc0M2IxOTM0YTI1MGI2OSBsZWdhY3ktdHJ1bmsKKzc1MjAgYjFkODI2OTdjMGIyMzY2NzRkMGU2MWMwZWZjYjBhOTExZTljNzJkZCBsZWdhY3ktdHJ1bmsKKzc1MjEgNjU4ODE1MjMwNTQ2YTQ4OTJjMmFlNTE5NDY4ZWRiNDgyNzA4NzhmZSBsZWdhY3ktdHJ1bmsKKzc1MjIgN2E5Y2FjN2NiOTEwOWY0NzNhY2RkZDFhOWQyM2UyNjhhZDk1ZTBjYyBsZWdhY3ktdHJ1bmsKKzc1MjMgZmRlNzM0NjdiNTg0N2JmNWQ1MjI0ZTZkODU0MjMyM2Q5YTY4ZDc2NSBsZWdhY3ktdHJ1bmsKKzc1MjQgOTQ2YjJiMmE3NjIyZmExN2FkNDI0ODI4Mzc2YTVlODhhN2EwMTNhZiBsZWdhY3ktdHJ1bmsKKzc1MjUgODU3OWUzNDQxZDliYzk5OTVkOThlOGJmMjQ4NTNmZWU1NWI3NTQ1MiBsZWdhY3ktdHJ1bmsKKzc1MjYgN2Y2ZDE5ZmM1YWNhY2ZjODU0YTczYmNjZGYyYTI4OWRhNmMxMzg3ZCBsZWdhY3ktdHJ1bmsKKzc1MjcgNzg0MWM0OGNkYjViNDk2N2RkYTYzYzAwYWZhYWRmODUzYzNhMzU2ZSBsZWdhY3ktdHJ1bmsKKzc1MjggMjE5YmRkOGFmYjM4ZWYwNWFjNDE3ZTcyOGI1OTIyOGM3NDQ1ODk1YSBsZWdhY3ktdHJ1bmsKKzc1MjkgZTljNDQyZDA5MzZmYjVjM2I5MjJjN2E1OTQ0YzVlOWZmNmQ5MjY5YSBsZWdhY3ktdHJ1bmsKKzc1MzAgZjU3ZTE4MWZmNjM4ZmRiMWM5YTM2OTY3YTMwYjRjOGRjYjE5N2Q0OCBsZWdhY3ktdHJ1bmsKKzc1MzEgZTYyOWM4OGYzZGQ4MDc3M2JmZWMxMzJkMzE3NjI1MGZiOGExNjhhMiBsZWdhY3ktdHJ1bmsKKzc1MzIgNmM3YTc2ZmQ1ZGMxZTkzMjBlMjE3NmZkMDcxNzk1YTQxOWIwYTkzOSBsZWdhY3ktdHJ1bmsKKzc1MzMgMzcxNDY0ZjY2NjZiNjZkN2YxZGQ1ZjQ2ZGZhMTYxOTEzZTQ3Mzk4ZSBsZWdhY3ktdHJ1bmsKKzc1MzQgMTkyZDU3MWNjNDYxNWNlNjg0YWY0MTgyM2FmYzE4MDdjMTU3OWE4OSBsZWdhY3ktdHJ1bmsKKzc1MzUgNWEyMzI4NzBjY2VhYjVmM2M0ZjVjOWIxZTc4Y2UxNWUxZmIyYWQ4MSBsZWdhY3ktdHJ1bmsKKzc1MzYgMzQ2ZmY5YmE5ZDM2MzcwNGNhYzBjY2EwYzNjMTAzYjg2NzE0MTVjYyBsZWdhY3ktdHJ1bmsKKzc1MzcgZDY4MTYzMWQ5OTJmMjAxYjQ0MTUxOGFmMjJjMDA1NDU0ZDZiNjBlNSBsZWdhY3ktdHJ1bmsKKzc1MzggZjA3MzFmYTQ0NDdmNTI2MmY1NTE3ODNjNmE4Y2RjYWQwNDg5YjAzZSBsZWdhY3ktdHJ1bmsKKzc1MzkgN2RkZWQ3ODUxZmNhOGM0YjQ2Njc3ODRhYTk3Mjk0YTI5NzVhMGE2YSBsZWdhY3ktdHJ1bmsKKzc1NDAgYjZmY2U3MjQzYmEwYmE4OTZmMDc4MjI3MjhjNTUwMjA2ZDcyZTlkYiBsZWdhY3ktdHJ1bmsKKzc1NDEgNzc2MTZiMzAwMWVmOGY3ZTA5YzQ2MzljMzZjMjg0ZGQ5NzFkZWUzYSBsZWdhY3ktdHJ1bmsKKzc1NDIgNGFhY2E0MmEyYTE2Yzk1MTc0YjJmZmY3YTVjM2Q2Y2FlZjg1Yjg3OSBsZWdhY3ktdHJ1bmsKKzc1NDMgOGVjZjJkN2M5ZmIxYWRiNDM4NWNmN2QwZmRhZjQ0MzEyYmQxMjQxYiBsZWdhY3ktdHJ1bmsKKzc1NDQgZmEzMTQ3NmEyNzg2ZWU4ZjU0ZDBlNWMwOWU1ZWQwMTdmZWIxMTZlNyBsZWdhY3ktdHJ1bmsKKzc1NDUgZWIxMmY0MDQ2ZDBiZTBmMGRmNjRmNmY4MGM2YmU1MTAyMTYyOTMxMCBsZWdhY3ktdHJ1bmsKKzc1NDYgNDRiZGYwYjU2YzBiZDgzNDE0MzRjY2Y4YjlhMjM3MDhhMjJhMGUxZSBsZWdhY3ktdHJ1bmsKKzc1NDcgZDI0ODNjMjc3NDJjMTU0Y2M0NjIwZGY1M2U2ODk5ZTlhMTdlNzY3MiBsZWdhY3ktdHJ1bmsKKzc1NDggZTIxZjFkMjU5NWRlOGI5OWI4MGFkZGE2ODcyZWRmZGZjZTA4NDRjYSBsZWdhY3ktdHJ1bmsKKzc1NDkgMzI3M2FjYmU0NzZmZGFhNWZhYjg5ZjZhMjIzYTkyZDEzMTlmY2NmZSBsZWdhY3ktdHJ1bmsKKzc1NTAgNWI5ZDQxZjRjMDhjMTE1ZjgzODM1YmExOGExNzk4NWQ3ODlhN2NjNCBsZWdhY3ktdHJ1bmsKKzc1NTEgNGVkYWI0NzQ5NzRjZTA3NzY3MDY0NzJhMjNlNzljM2U5NGY0ZTQzYSBsZWdhY3ktdHJ1bmsKKzc1NTIgMjNjNGM3ODM4YWMyYWIzYTY2NzVjMWNhY2I3MWMwMGYxMjcwMWEzMCBsZWdhY3ktdHJ1bmsKKzc1NTMgN2Y0YjMyZTg2NTQ1NTcyNTJiNjdhZmUyZGM5ZWJmMzFlMTQ0MzhiNyBsZWdhY3ktdHJ1bmsKKzc1NTQgZDZiMjkyYTMzY2ZlZjUzYzc1ZWE0OWZjMjdjYmJkOGM5OTUzYzA0NSBsZWdhY3ktdHJ1bmsKKzc1NTUgOWE4YWRhZjU4Y2U4NjA3NmI2ODkzNTVjZDBkYjUwYjcyZDZkMTk2NyBsZWdhY3ktdHJ1bmsKKzc1NTYgMWI2MTliODExYzEwMzVhODE1MjNiNjBiMzQ4ZDcwNzU4N2E0NzdmYSBsZWdhY3ktdHJ1bmsKKzc1NTcgMmM4ODEyZWVhNjM3OTQxNTU0YTRiNjU2ZDRhOWUxNWFjYzAyMjAwYiBsZWdhY3ktdHJ1bmsKKzc1NTggN2FiMWFhMDhkMzQ4ZGIwY2ZhN2EzNTJkZDllYTQzNTliMzhkMWYxMSBsZWdhY3ktdHJ1bmsKKzc1NTkgYWZjM2U0ZTA4NzQwYjYzOGFjYzU0MDMzYTE2YTMzYmMxNTZhZmEwNCBsZWdhY3ktdHJ1bmsKKzc1NjAgZDM3MDY1Nzk0NjhlNTBkNmExYTExMTI1NzE4MWY2MTQ1MTIzNDdjMiBsZWdhY3ktdHJ1bmsKKzc1NjEgYWE3M2RhNjYxY2RmZmFlMDlhZjkzM2UyZWMyMTQ3MzQxOTJjOTA0MiBsZWdhY3ktdHJ1bmsKKzc1NjIgNmVkOGViNGI2NjRiMzFiZTE4ODgzY2UzNWUxMzJlMzE2Y2VkNzNmYSBsZWdhY3ktdHJ1bmsKKzc1NjMgZTQyOGQyY2ZlZDQwYjNhOWNmNjk5YTYxZDAwOTg5ODBlZWE2NGQ2YyBsZWdhY3ktdHJ1bmsKKzc1NjQgOTFmODYzMDZiMDdiODVmYWJkZjhmNTQ2YWI4YTgyNWE5ZWEwZTgzNyBsZWdhY3ktdHJ1bmsKKzc1NjUgYjY3YzAyYmQ1ZTIzNjBlNDg4OTkzNjc0OGRlNjE3YjMxM2I3MDIwMSBsZWdhY3ktdHJ1bmsKKzc1NjYgM2ZlZWM4NWJiYTliNjM5OWY0NDVlZDUyM2IzYjU3YzQwNGUxZDJiOCBsZWdhY3ktdHJ1bmsKKzc1NjcgY2I3YWFkZDlkOWYyOTI0ODRhZWU0ZTA2NGVkZjBhZTE3OWRhZGQ4MSBsZWdhY3ktdHJ1bmsKKzc1NjggZDk5NmRjNDJmZTY0MTVhZDgyMDk2NzJhOGM2NzM0NmZjNDg0Yjc0NiBsZWdhY3ktdHJ1bmsKKzc1NjkgMzhhZGJiMzlmMTVjZjU3Nzk1OTA4NDk4ZjAyYWM0NDU3ZWFkMGM3OCBsZWdhY3ktdHJ1bmsKKzc1NzAgMTE5MjJhMmVjYWNkZTRkODE4YzQ2MjFhNmUyNjgzMWUzOGFmMzhiOCBsZWdhY3ktdHJ1bmsKKzc1NzEgMzBjMTBiMjIyOTUzMThlYTllNjg3YmFiNWJlYjQ3ZjYyY2U0MTgwMCBsZWdhY3ktdHJ1bmsKKzc1NzIgNTdiN2EwM2EzMjUyYzBlNTNiYTdkZjI4YjlmMjQyNmZiOTIwNmZmYiBsZWdhY3ktdHJ1bmsKKzc1NzMgYTQ0NTg2YmQ5ZmFiM2Y3MDk1YTQ4MzcwZDkxNmU3ZWZiY2JjMmFiMSBsZWdhY3ktdHJ1bmsKKzc1NzQgYjQyMzFkNTkyMjgxZjI1YjBhNTkxYjYzMzBiODk5Mzc5NDE3ZWY0NiBsZWdhY3ktdHJ1bmsKKzc1NzUgMzIzMTAyNTFkNzY3NDA4NjQ5OGUwYjY1Y2Y4ZGMwM2RhMjk5NjFhMCBsZWdhY3ktdHJ1bmsKKzc1NzYgMjQ5N2M4YjA0MTAxN2M5NjY4NmFkMTMyMGJkYjFlNzk0MmY5YTA1MCBsZWdhY3ktdHJ1bmsKKzc1NzcgZWU3MGI0YzcxODk5M2I2MGZkYWI0M2QxOWUzODE1Zjc1YTU4YzkwYSBsZWdhY3ktdHJ1bmsKKzc1NzggNDkyYzBjYWUxZjA1MjI5YjExNmJhN2JkMTBjOTJjNmViMjRmOThkMCBsZWdhY3ktdHJ1bmsKKzc1NzkgNDEwOWExNzFjOTAxYTQxZjhiMzkxZGVmM2IwMWU0MjkxOTg5MWYxYSBsZWdhY3ktdHJ1bmsKKzc1ODAgMDBmZDY4NTdmNzZiOTM5YzViOWVhMDAwZDFjZjgzZDZhM2U2MWY1MCBsZWdhY3ktdHJ1bmsKKzc1ODEgOTQwODEzMTE1Zjc3NWI4NjI4OGNmY2RiMDgwNzMwNmQxZTNhODE4YyBsZWdhY3ktdHJ1bmsKKzc1ODIgZjliNDZiNTAzNzUxOWY0NDMzMzc0MmExN2JlNzRmZTM4NjI0YTEzMSBsZWdhY3ktdHJ1bmsKKzc1ODMgYTlhNmQ0MTZiOTQ1Yjc5ODkyMTdiYzg0OTBkNTgwZGRiNDM0OTgyMyBsZWdhY3ktdHJ1bmsKKzc1ODQgMGJiZjk3ODYxY2Q5YTE2MDQwNjUwMDFlMWQyMmI2MmU2MTQyYjg2NiBsZWdhY3ktdHJ1bmsKKzc1ODUgMDczZjFiM2FkOWQyYmFmNDBiNGNiZjAyYjZkMDI1ODEyODJhZGM5NyBsZWdhY3ktdHJ1bmsKKzc1ODYgMjFiODcxMzI1Yzg1MzRkMWIyODdiYTkwNzdmYzc2NjRlYzlmZGVjMSBsZWdhY3ktdHJ1bmsKKzc1ODcgY2E2Mzg4YmNjMDVhNWQ5MjhhNjI2Mzc3MjA0M2NlYWUwZGRhZGVkZSBsZWdhY3ktdHJ1bmsKKzc1ODggZmI4Y2VmY2VmZDgxZWEzNjkwYTAxMzYzOWVkMTE4OWY5NDA2ZGQxMiBsZWdhY3ktdHJ1bmsKKzc1ODkgYjljZTNjYzUwMDc2NzFhODc0MWNlNjVhMzQ2MjUyMjkxZDEzMzE2MyBsZWdhY3ktdHJ1bmsKKzc1OTAgZTNhYjQ4OTg4Yzc3OTg1M2MxMWI1ZGJlYmE5YTg4N2VkYzcxNmVlNCBsZWdhY3ktdHJ1bmsKKzc1OTEgNTA2NjY0NzY3NzM2ZWZiNDAyMGU3Y2VjZGY2YjJjOTc2ZjJkMThhOSBsZWdhY3ktdHJ1bmsKKzc1OTIgMmJiMGJkYTE1ODVjN2ZhNTQ5NzM1YTA5ZTUwMmQwOGRlNWFlZGUzMiBsZWdhY3ktdHJ1bmsKKzc1OTMgMDAyODY1YWY1NWU1YjU4YzhjMzExZjkwNmE2ZmU0MDM1MTA0NWI1MyBsZWdhY3ktdHJ1bmsKKzc1OTQgYmRhMDFhMzc0NzYyMjViYWY4MDFjZjA4MTE0NzUzZDU4MGE4MTRlZiBsZWdhY3ktdHJ1bmsKKzc1OTUgYTQ4ZjM2NzhmOWUxYThkZTkzOTRmZGIzMGY0MjZkYTI3ODQwMTZlZSBsZWdhY3ktdHJ1bmsKKzc1OTYgMmU2ZWIxYzcxNWNlNWFjMWU3OTQzNTBmMzNiZjdhMTI1YWFiZTcyNSBsZWdhY3ktdHJ1bmsKKzc1OTcgNTdiMGYxNjE5ZTI4MjQwNDJhN2MxYTVmMzY3NjgyOThlNGIyOGY4YyBsZWdhY3ktdHJ1bmsKKzc1OTggMDVmZmZkNTViMDE0YzAxNTBiMDJjOWUxMDVhMTE4MjIyYjMyNmVhYiBsZWdhY3ktdHJ1bmsKKzc1OTkgMTcxNTkxYjM5ZjYzMmVkMGI0NWJiYWMxNmRjYzg5ZTEwNzcwNzI3YiBsZWdhY3ktdHJ1bmsKKzc2MDAgNTRhOWFkY2EyMTVjNmUwYjFhNzQ1YmJjYTc1ZDc1YmQzYjEwMmNhYyBsZWdhY3ktdHJ1bmsKKzc2MDEgN2I5NDBmMjk2MjFiODVmYjliZGU1YTdhNTUwM2FkM2Q2YmJjZmUyNSBsZWdhY3ktdHJ1bmsKKzc2MDIgZjIyMjEzMTkyNTMxNjEwYzdhNDZiNDc2M2VhYzc4N2Q0ODRkOTA2OSBsZWdhY3ktdHJ1bmsKKzc2MDMgYmYxYmQ2NGY4NWUwMWYyOWVhYTRlYzI3YjU0N2ZhZmFiNTdjYzRjMiBsZWdhY3ktdHJ1bmsKKzc2MDQgMTAyZTI5MTJkMGQxNzc2YTc2MmYyZmQzZDhkZDI4YWM0OWY4YjIwMyBsZWdhY3ktdHJ1bmsKKzc2MDUgMGJmNzM5NGRiYTIyMDViMDE1NDIzMjE3YzY1YzA1NzNjOTdkZWYyMiBsZWdhY3ktdHJ1bmsKKzc2MDYgZWM0NTI3NmE2ZGFkYjliZTEzZGJjYTVhNTIwYzMwNjRkZDljYjhhYSBsZWdhY3ktdHJ1bmsKKzc2MDcgMGZjMWRhY2RhZmQ3MzhiZGUzNzUyMmY4OWFkOGVlZmU5YmI5MDY0NiBsZWdhY3ktdHJ1bmsKKzc2MDggNjY2MTUyYjc3MDI3MTA5ZjMzYzcwMjhkMzg1YzdmYTQ5YjhjMGY0YyBsZWdhY3ktdHJ1bmsKKzc2MDkgZGVmMDNkM2I4ZGRiZjhiZDIxZjkyYjFkOGViODIzOWM3MzcwOGY5OCBsZWdhY3ktdHJ1bmsKKzc2MTAgN2ZhOWE2NDQ0ODNlODJlOWIzMWRlYjU3YWZiNjg5YzkxYjM5NzkyNiBsZWdhY3ktdHJ1bmsKKzc2MTEgYTUxM2Q4M2MwNmNiMDAxZjBkM2FmZjRmZDVkOTY3YWM5ZjgwNWZkNiBsZWdhY3ktdHJ1bmsKKzc2MTIgNDBlYjhiMGVlMTkyNjFiNWMyYzkyMjRjNTUwYzFiMjEyMTI3ZTFlMyBsZWdhY3ktdHJ1bmsKKzc2MTMgZjkzZWMxYWMxN2FhNzE5MGY2MDgwYjUwNDA5OGYwMGZhODFmYTI0YyBsZWdhY3ktdHJ1bmsKKzc2MTQgOTIxNmY1YzI1ZTRlZjc4ZTY3NzBiYmVjZjg2MWNjY2U2MjU4ZDY5NSBsZWdhY3ktdHJ1bmsKKzc2MTUgOGZiZWQ3OGU4MWU3MTIxMjg4N2I5YWI3NzljYmMwYWY0MWRkNWY5NSBsZWdhY3ktdHJ1bmsKKzc2MTYgYTRjOGI4ODcxMzc2MWZkNjY0YjBjYWU2N2Y4NjViZWQ5MmUzNzk0ZCBsZWdhY3ktdHJ1bmsKKzc2MTcgOGE5ZjE1NzkzMjM4MmVmZmYyZWY3MzM5NDUzN2I2ZjQ0ZDIwODgyMiBsZWdhY3ktdHJ1bmsKKzc2MTggNjk1MmViOWMzYTZmN2YxNTk5NDYyYmVjYTczNWQ1ZDAxZDVjMzAzZSBsZWdhY3ktdHJ1bmsKKzc2MTkgNmIzMzdlYzkyYmQwZDBhNTYxNDJlODAwOTc5ZGRiMGZjM2JjNmU3MiBsZWdhY3ktdHJ1bmsKKzc2MjAgMWU5NWZhYzg0YWIzMmY2NDY0YmJjMzJjYjVlZDUxZWMyY2ZjNjczYyBsZWdhY3ktdHJ1bmsKKzc2MjEgOWNlZmQwNGVlNTNhNTJiOGY2MTdhZDc2MzliNWMzMDc3Y2M3YjU0NSBsZWdhY3ktdHJ1bmsKKzc2MjIgYjIyN2I5YWY1ZjUzZGJhMDQyZmQ0MzVmNzQ3MDk4ZDFkMmY4NzVlMSBsZWdhY3ktdHJ1bmsKKzc2MjMgODllZGFhOGVkNTBmZTdjN2MwZTBhMGY0YmNmZGIzYTI1NjUxOThjYyBsZWdhY3ktdHJ1bmsKKzc2MjQgNzgwNjNiYWUzZmQ3NGJiNGY2M2FjYTVlZDJjNmFmZTc4ZGE4YTU4ZCBsZWdhY3ktdHJ1bmsKKzc2MjUgNDY2NWUyODQ5YTRhYzdiZWNkYzk5NGNlM2NlYzgzYzI0ZWZmZDJmOSBsZWdhY3ktdHJ1bmsKKzc2MjYgMjgyNjkyNWE4NDJlMjk4NmM4YjE3MDZiM2RmYmI2M2JlYTlmMzgwNyBsZWdhY3ktdHJ1bmsKKzc2MjcgYmQ3MDhmZTE5MzRiM2I4Y2I2YTg5YTkwMGMyNTVmMGYyY2RkNGQwNSBsZWdhY3ktdHJ1bmsKKzc2MjggMWFlN2UyZWJjMmYzMzFiMjg5Zjk3ZWQ5OGRhMjg0YjI2MzU3NjJjNCBsZWdhY3ktdHJ1bmsKKzc2MjkgZjYyMTlkNzc1NDgxYmExNzUwMTZlN2YzZDFkMzUzYjRhNmRjNTA2YSBsZWdhY3ktdHJ1bmsKKzc2MzAgYjU2NmU3NzI4MWNjMTRkNTkwMWRlOGY1NmJkMGI1OGIzNGU2NGE1OSBsZWdhY3ktdHJ1bmsKKzc2MzEgNDE3NDYyYWI4YjAwMjdmYjBkNDRkMTIzYzQ1Mjk0Nzc0NGZjNGM3NyBsZWdhY3ktdHJ1bmsKKzc2MzIgODI5YzQyODkzMTgxMDRmMGI4MDI0YzBlYWJiOGExYzhjOGE3NGQwNCBsZWdhY3ktdHJ1bmsKKzc2MzMgMzUxZTk1YzUxZGRiMWFjZGY1MTE1YjlkYjczZDBkNjAxMDllMWU4YyBsZWdhY3ktdHJ1bmsKKzc2MzQgZWY4MzUxZWE3MmMxYzYzMjNmMjMxYzBkMDg0NTZlNWRkNDI4YjYwNiBsZWdhY3ktdHJ1bmsKKzc2MzUgZGMzM2UxMWExYzI4ZGY1ZDZhMzNlMjgyOTg2MDM2ZTA2ZmQyODA0ZSBsZWdhY3ktdHJ1bmsKKzc2MzYgNWJiNzBkMmU5YWRhZGQxOGViYTFhYWFhZTlmYmZmNDU3M2ZkMWE2OSBsZWdhY3ktdHJ1bmsKKzc2MzcgNzEyNGU0ZWU0OTk1NTc2NDViMDcxYjY2NzYwY2Q4NTAzOTYxYmRkMCBsZWdhY3ktdHJ1bmsKKzc2MzggOTA2M2Y2MGVhMjhkNDE5MmY5OWQ3MTYzZGE1YzA4MGRiNzE5ZWFmZCBsZWdhY3ktdHJ1bmsKKzc2MzkgOGMyNzdmMjliNTM1ZTBiMjEyNTI5ZmQ3MTA5YjllNGJiMTNiYzc0NCBsZWdhY3ktdHJ1bmsKKzc2NDAgNGQxNWJkZjFkYjljMDA3MjczNWU1NjhkZDgwZWExNzM2MzBhMjc3NiBsZWdhY3ktdHJ1bmsKKzc2NDEgNzE1MWJiNzI3Nzc2N2VkMWU4N2Q4NGI1NGJiOGM4N2I2NmUxNzk3NSBsZWdhY3ktdHJ1bmsKKzc2NDIgNjFmODliZWJhMWFhM2M0YmYwZmRiZjEyMjkxNDc3OWVlODgwODA0OCBsZWdhY3ktdHJ1bmsKKzc2NDMgZGZmM2U1MDZjOWU4ZDQxZjZmZTFkZWNmNDQ1NGQ5YjcyZTE4ZTk5MiBsZWdhY3ktdHJ1bmsKKzc2NDQgMmVhOWM0MjVhNzY3N2YyMjk2YWM5ZjQ2NjI4MzlhMjZlMzNkMDEwNCBsZWdhY3ktdHJ1bmsKKzc2NDUgZjVkNzA3Y2U0MjIzYzE3M2VkZjhlNzhkMzM2MWY3ODRmYjk1YWQ1NCBsZWdhY3ktdHJ1bmsKKzc2NDYgYjFmYzRlYjJhYzVhOTQ4ZmIxOWE4ODlmYzBkNmU4NDY2OWU5ZWEwYiBsZWdhY3ktdHJ1bmsKKzc2NDcgMzFiMGU1ZjBiYWRmMTk2NjI4NzI0ZDZhMGZiMGQxZjA4NTNiZTFjNSBsZWdhY3ktdHJ1bmsKKzc2NDggZmY0ZjhmYThhMjczYTAyOTBmMmY4YjFmOTRjMDliNDY0MDg1MWUyMSBsZWdhY3ktdHJ1bmsKKzc2NDkgYzRlNWVmOWJjMzYxMjQ2MTg1NjMwZDIyMTZlZDI1ZGYyNmJjYzFmNiBsZWdhY3ktdHJ1bmsKKzc2NTAgMTk3ZTMyMDZlM2YzMDc0N2U1YWM2NWQwMDJkODliMjQ1YWQxZjhlNiBsZWdhY3ktdHJ1bmsKKzc2NTEgMmJkOTIwZTdlNWM3ODg1ODVlMjM5YjQ3YjIwOGY0ZWYxNzIwZTk0YSBsZWdhY3ktdHJ1bmsKKzc2NTIgYjE4ZTAzYmE0ODE3N2YxZmE0MzY2NDVjNmNlYTBhNGFkNmY2OTQ2MSBsZWdhY3ktdHJ1bmsKKzc2NTMgZjk3NDM2NGYzYTg3YTE3ZWEyMThjODc4ZDljOWI4YzBhOTdiZmU0ZCBsZWdhY3ktdHJ1bmsKKzc2NTQgODYzZmZjMmFiNzZhOTk1MzZmODdjN2FjNWQxZmZjMDJiOTgyYzkzNSBsZWdhY3ktdHJ1bmsKKzc2NTUgNmJjNTYyNTljYzRjYzI3Zjc5YmY4YWQ3Y2E4ZDVhNjUyNWQ1YWYwYyBsZWdhY3ktdHJ1bmsKKzc2NTYgOGEwYjgwZGM2ZTcxMTQ4NjkzNzJkMTU1MmJmN2FjMjdiMzZkMTEzZiBsZWdhY3ktdHJ1bmsKKzc2NTcgZTAzNjFkNTQyMWZmMGI0NTE0ZGQ1NTc3YmNiMGI0ODhkZjhhM2JhZiBsZWdhY3ktdHJ1bmsKKzc2NTggNjM2NzU3ZTgxMmE0YzRiZmE0YmRhY2FkMGE3MDZhZGM2ZjNlM2JhNiBsZWdhY3ktdHJ1bmsKKzc2NTkgNWNmODNhZDMyNTFlNWY1YjFkZmYwNmI3Yjk3ODk3NzhiYTA5MTNlMSBsZWdhY3ktdHJ1bmsKKzc2NjAgYzE3MjllMTQ4OTE2YjMzNTViNTc0NDBiNjFhZTMxZDZjZGQxMGU3NSBsZWdhY3ktdHJ1bmsKKzc2NjEgYTE2ZGVjYmI5NzE2NTg1YTU4NzQ4YjhkMmExMTdiYjJkNzdjNTU2MSBsZWdhY3ktdHJ1bmsKKzc2NjIgYzFhMWMzMDZhNDI5YjVmY2ZiODYxZGM2MzA3ZWRiOGViMzQ1NTk5YiBsZWdhY3ktdHJ1bmsKKzc2NjMgM2VjM2Q4ODA3ZjllODg5NjYyZDIxNTBmN2ZhZTdlODk1MzkwOTY4ZSBsZWdhY3ktdHJ1bmsKKzc2NjQgYmFiOTE5NmE4ZjMwYzYyNDE1NzY5NjMxYTYzMjIxNjBhYzRiNmMyOCBsZWdhY3ktdHJ1bmsKKzc2NjUgYTc5ZWNkNWFmN2U1YjQxOWI1MTViOWUwNDA3NjE3YWNkNWFkMDU0YSBsZWdhY3ktdHJ1bmsKKzc2NjYgZmEwZmMyODhiMmM5MGI5NjEwZWVmNmI0NjU0N2YzMzQ0YTkwZjcwYyBsZWdhY3ktdHJ1bmsKKzc2NjcgYjdhYzdiNDZiMTBjMDEwNWI0NWI1ODRiMzJlZjdkMmM0NTA5YThjYyBsZWdhY3ktdHJ1bmsKKzc2NjggZjBmZDEyZDc2ZTA3OGZmNWJiM2JmNGE4YTZmMTc5NGEwNjkwODBkOCBsZWdhY3ktdHJ1bmsKKzc2NjkgNTJmM2RjNDFmNmM0ZmNlYmJkZjk3ZWI1NzUxYjBmZTgwMWJhZDQ2ZSBsZWdhY3ktdHJ1bmsKKzc2NzAgYTg3NGY1ZDMwMzhlZGJkNGYxOTJhNDBjMzZmYjQzYjZmZmY3YThhZiBsZWdhY3ktdHJ1bmsKKzc2NzEgOGVlODFlZjRlOTgyZjRkZDY4ZjA4MWI1NjU1NDE5ODkxNzAxM2Y4ZCBsZWdhY3ktdHJ1bmsKKzc2NzIgNzRjMTI3MDRhMGJkMGM0OWU4NzFhZjA0ZjhlYTFiM2MzNjQzZmU5OSBsZWdhY3ktdHJ1bmsKKzc2NzMgZTBhNjA1ZTY2YmVkYWFkOGY5NWFmMTVkZGI4ZGRkZjkxNWExNTJmNyBsZWdhY3ktdHJ1bmsKKzc2NzQgN2UzODBkZjAwZDAwZmExYzM4YzBlNjJiOTJjYTljNDgzZGRiNDYzZSBsZWdhY3ktdHJ1bmsKKzc2NzUgMDI0ZTczODY3NGE1Y2RhNzhmN2JkZDdiMjhhYzc1ZmQ0YTQyOWY1MSBsZWdhY3ktdHJ1bmsKKzc2NzYgNTg3OGE1YWYzMTQ4ZDViZmFmYTBjMmFhZmU2OGFkM2Y3Y2FjZGY0OSBsZWdhY3ktdHJ1bmsKKzc2NzcgYWY5MmQ3NzkxNTJhYzI0ZmZiZTc2NDRhYTEyM2I5MDBmMTJjMWMxNSBsZWdhY3ktdHJ1bmsKKzc2NzggMDVjN2Q4YjRmZmQ2ZTRkZDliM2QwMGMyNjM3MTczMTg2YjdiODI0NyBsZWdhY3ktdHJ1bmsKKzc2NzkgYzI0OGEwN2U1MzQxNjRiMjYwODBhYmI5ZTEwNjljNjZkMDZhOGY4MSBsZWdhY3ktdHJ1bmsKKzc2ODAgYjM5MjAzOTgzZGU2NjExMWRmOTNhYWNiMjlkY2Y2YzQzMzc0NDVhMCBsZWdhY3ktdHJ1bmsKKzc2ODEgYmQ1ZTJjMmMxZTA4NzJiMTFhNmMwM2U4NTdmODNiNzlkMjJmOGVhMSBsZWdhY3ktdHJ1bmsKKzc2ODIgMDBlYmZhMzNjYzA3NjMwZWVkYTczYTBkNzVkN2Y1NTc1MGJhMGZiYSBsZWdhY3ktdHJ1bmsKKzc2ODMgOTNlODdjYWM0ODNlNWJmZmQ2NzM4NDI3YzliOTk1YmQwMTQ0Mzc0ZiBsZWdhY3ktdHJ1bmsKKzc2ODQgMmVjOWM5MzNhZmI4NzQ2YTQwMjQzOWMzNDE2Yjg2OGMyNDVlMmQ1YyBsZWdhY3ktdHJ1bmsKKzc2ODUgZDRjNmI0YjA1NDhjMWI2MDQzODA2NDNlYjc3ODg4OWMwOGUzYzU1ZSBsZWdhY3ktdHJ1bmsKKzc2ODYgMzE0ZDBkNjAzZjA2ZWU0ZTI3Mzk2ZjhiYjRkODlmNDRkOWM0MmJhNyBsZWdhY3ktdHJ1bmsKKzc2ODcgMWYzOGQ1ZmIzZDIzODgxYzk5OGU5ZjhjYTE4MGQ5NjIwYmUxNGE5ZiBsZWdhY3ktdHJ1bmsKKzc2ODggNWI0MDdlMGNiYzcxNWVhNjY3MzEwMWFjZTVlM2UxNTQzZDc2OTQ4NiBsZWdhY3ktdHJ1bmsKKzc2ODkgOWMxNmJkZjE2MGZmNjhmYmI2Y2Q3NDFmNTU1YjkwM2VjMDhiMzAyMyBsZWdhY3ktdHJ1bmsKKzc2OTAgZjcwMDQyYzE5YzU3YTNiNzZlZTg0OTZjYjQ5MTE4MWRmMDgzOGVhMyBsZWdhY3ktdHJ1bmsKKzc2OTEgOWJmNjUwZjIzZGE1NzEzMGI1YjI4Y2MxNjdkMDIxZGJiNjFlY2M3MiBsZWdhY3ktdHJ1bmsKKzc2OTIgM2FiN2Q1OGMyOTYzMWE2YTk1YTBmMWM2M2E5ZjY2MTJiY2EyYzBkYSBsZWdhY3ktdHJ1bmsKKzc2OTMgZjViZmI5YzRjMzY0MTNhZjQyYmE3ZGJmNDA4OGZmODA5MTM5Zjg0MiBsZWdhY3ktdHJ1bmsKKzc2OTQgMzM0ZDUyZDZkZjVkYWI0ZDJlOWI2ZGU3NDk2MTg1ZTYyNTg5MTQzZCBsZWdhY3ktdHJ1bmsKKzc2OTUgZTFmNjEzMzIyYjIzYzI3ZjY5NjBlMDFjNGQwMDg2MDE0NzJlNmZjNiBsZWdhY3ktdHJ1bmsKKzc2OTYgZDk3MzNiNGY4MTFmNDc1YTY0YjYwODNjNzg5MWY4NzQxYWYwZDZlNCBsZWdhY3ktdHJ1bmsKKzc2OTcgNGQ4YjdkZDVkZTJhMjgwYWY1MjQ0ZWY5YTZmNWY4N2UyNTRjZWMxYSBsZWdhY3ktdHJ1bmsKKzc2OTggYmM4ODMyYjUyYjUwYjhjYjE5NmQyOGFiYmM5Njk2NWIwODE1NmVkNiBsZWdhY3ktdHJ1bmsKKzc2OTkgMDU3NzRlYzM5YWQyMDViZGJkZjQ3NTg5MDk1NWMyOTkxZjVkZTY3MyBsZWdhY3ktdHJ1bmsKKzc3MDAgMWIxNGM1YzFiZTJhNTI4NTcyYTI2ZWYxODExNjJiYmJiMGZhZTcwMCBsZWdhY3ktdHJ1bmsKKzc3MDEgODRjOTNmNjAxNzE5NGVhODUwMGI3MmFhODdkZmYxYzgzYjNkZmE1ZCBsZWdhY3ktdHJ1bmsKKzc3MDIgOTc4NTJmNGViZGU2YjA0NDFlYWQ5N2ZiZDVkYmUwYzUwYjE0YTYwNiBsZWdhY3ktdHJ1bmsKKzc3MDMgNTllOGEwMmE0Nzc0ZDg2YTU1ZTNjNDAwMzJkYzQwZjU4MWZkNjA5MCBsZWdhY3ktdHJ1bmsKKzc3MDQgNzRjYWRkZjRiMjhhNGUyODQwNzVkZjlmM2E3YzQ3YjgxZjZlOTQ0MyBsZWdhY3ktdHJ1bmsKKzc3MDUgMGU2MGRlMmE0MmFmNzUwYzVkY2Y4MGNhOTU1MGM1NzVjNzAwODJkNSBsZWdhY3ktdHJ1bmsKKzc3MDYgOTMzNDRjYmRmNTQyMmEzNjhhZGUyYmIxOGJkNTkwZDg0OTZhMTkxZCBsZWdhY3ktdHJ1bmsKKzc3MDcgMGE1Y2VhNDI3YTlmYmJhZTAzNzYxY2I4OWUyNjczMDAwYzMwZmVjNCBsZWdhY3ktdHJ1bmsKKzc3MDggYjc0OWQyZGQ3NTgyODgxZTAxYWNkY2E0ZjRmMTM2ZThlNDZiYjllZiBsZWdhY3ktdHJ1bmsKKzc3MDkgMDdlZDUyZTIwMGRiNjk2OTk1NjJmZmYzMzU4MWMwMTczYTQwZWFhYyBsZWdhY3ktdHJ1bmsKKzc3MTAgNGYxZmE3YjY5YmE3NzkzMzZlOTk2NjVkYWFhOTE0ZjY5MmUzNmI5MyBsZWdhY3ktdHJ1bmsKKzc3MTEgYjRlNjcxYmMxMzMxMWFhMDhkMGViMWUzODlkZjg3MDIzNTU0OTE5YSBsZWdhY3ktdHJ1bmsKKzc3MTIgMTIzNzNiYTI0ZTVkMzcyYzZhNTVjYjhjNWRmOGRkYTc3YWE3OTY1ZiBsZWdhY3ktdHJ1bmsKKzc3MTMgMTUyODhjODM0M2E1YTYwODg2Y2VjMTRlMTFjMGIwMWQ0NDBhOTllMCBsZWdhY3ktdHJ1bmsKKzc3MTQgMjc2MzU0MzdmYTdhMmQ3ZDA0ZGNlOTk5M2Y3Y2VmZDU1YjFkOTJlMyBsZWdhY3ktdHJ1bmsKKzc3MTUgYTMyMzM4NjRjYTM4NWZlZWUwN2NiN2U0Y2NiOWQzOWQ1OTZiNGU4MCBsZWdhY3ktdHJ1bmsKKzc3MTYgYjg5ZjUyODIxYzUyZTg4YTU2OWI2MDVlYThjZDljMGEyNTU3M2EwNSBsZWdhY3ktdHJ1bmsKKzc3MTcgYTUwZGY3ZjNhMTBhMzNkMmE3OTM4NmQ4MmUxZDhhNDFkYzJmNzQ2YSBsZWdhY3ktdHJ1bmsKKzc3MTggNGYyNTFiOGUzMjhmNWI1ZjlhNzdjYzc5MTc3NzAyYTQ1ZDY5MDMzMyBsZWdhY3ktdHJ1bmsKKzc3MTkgMjQ3MTM5ZDIwMGU4Yzc4Y2MxMTY3ZGNkNGZjYTE1Y2JhODdmMTZhZiBsZWdhY3ktdHJ1bmsKKzc3MjAgYzVmZDMyNzA1N2M2YzM1NGE3YTI2ZmFkYzNhYWFmMTliZWRkYTNhZiBsZWdhY3ktdHJ1bmsKKzc3MjEgMjMzMzBhMWI5NTk0ZDkyOGY1ZTllNmM1MmMyY2I2NzhiMjQ3YjcyZSBsZWdhY3ktdHJ1bmsKKzc3MjIgNmRiOGFkZThkOGE5ODBkNTY4YzIwMWYwYjY5MDNjMTJmYWY4MWJiYSBsZWdhY3ktdHJ1bmsKKzc3MjMgYTU0NzIwZjhkZDM2Y2ZmYmY5ZWQ0MzY4ODJlOTUzNzBhZGI0Y2NiZCBsZWdhY3ktdHJ1bmsKKzc3MjQgMTMwMDU4NzJkMDUzNDZmYjAxYzc4ZDhmNjA1MTM2NGU1ODgxYjQ4YyBsZWdhY3ktdHJ1bmsKKzc3MjUgNTJlM2I2M2YyZGNhMDBlZDYzN2YzOGI0OTQ0NGU0Mzg0YWFjNmQwNCBsZWdhY3ktdHJ1bmsKKzc3MjYgMWJkZGJhMmYxMDBlNDhkYTA1Y2Q1MmFiODI3MmJiNmEyNWNiNTUxNSBsZWdhY3ktdHJ1bmsKKzc3MjcgMmZkOTI0NmIwZWU4MjEzMjhkYTMzOWQ1OGJhMTU2MjgyZTc2YTdlMCBsZWdhY3ktdHJ1bmsKKzc3MjggNmZjZjIwNzQ5OGQ4YWJlMTcxZjM4MDZhNTAyMzA1YWRiMjY2ZTA2MyBsZWdhY3ktdHJ1bmsKKzc3MjkgZmUxY2NiNGU0YzFjNzMyMDAyNzYyYzJmNDZjMDMyOGI5OTJlZDNmNyBsZWdhY3ktdHJ1bmsKKzc3MzAgZDA4N2NkMDYwYmFkZGE3NmU3ZWM1MTk0YTcyZDBjYzk0M2M2MWQzYSBsZWdhY3ktdHJ1bmsKKzc3MzEgNzE2OTRhMTcxMzI0ZmY1ZTgyYjNjZmQ1M2UzYmNlMmZjMTdiMDNkMCBsZWdhY3ktdHJ1bmsKKzc3MzIgODEyODM3OTVmMTZhOGEzOGUyODYxZGFhMDdlOTdmNjUyNGJkODAyNCBsZWdhY3ktdHJ1bmsKKzc3MzMgNDBkMmZkNDcyMjg0YTRlNGNmMGVmNjAzMTBmOGYxZGNjOWIzMTk3ZSBsZWdhY3ktdHJ1bmsKKzc3MzQgNzFkZjIxYzBhMzRlZDRiYzQ0ZDdmMzk0ZGM5MDY5N2YxNjI1ODMyYSBsZWdhY3ktdHJ1bmsKKzc3MzUgMWU1ZDYyOTNjNTI0ZTNlNWI5NDI0N2E0Mjg5MjAwOTVlOTgyOTI1MyBsZWdhY3ktdHJ1bmsKKzc3MzYgNzI5ODZiNzE2ODI0NjJhN2YzNDRlYzFjODlhYzAxYTk4NjMzYjI2NyBsZWdhY3ktdHJ1bmsKKzc3MzcgNWFiYzFhMzZiZWRkYzczOTYyY2M5NTFiMDE3ZDRiYzE5Mjg3NWQ2MSBsZWdhY3ktdHJ1bmsKKzc3MzggODZkNjBjMzRlYmRlNzc4NTc4ZjFlMzVkMWU5NDcxMjJhNDUyNDgwNCBsZWdhY3ktdHJ1bmsKKzc3MzkgMzg4NzhmMWNkNGYxZmVjOTk5N2I0M2IxOWY1ODg3M2EzZDNjYTM1NyBsZWdhY3ktdHJ1bmsKKzc3NDAgM2MxNzg4YWI5NzYxMDZmMzAxNjA3NzA4NGMyMjMyMWQ5YmU3MDRiNyBsZWdhY3ktdHJ1bmsKKzc3NDEgMWVmYzQyNzNmZGI3ZTM0OTBmOThkNzQ3YTg0YjZlMjJmN2Y3ZGY5MiBsZWdhY3ktdHJ1bmsKKzc3NDIgZDQxZWVlNmQyZmY3NjkzYmFmNGRjMDBmNWQ0OTJhZmQ4NjFlNDY1MSBsZWdhY3ktdHJ1bmsKKzc3NDMgNGYzMzFmNWJiNWYyYTRiOTIxOTk0OWQ3YTY5MzRjYWU1ZGJlY2JkNiBsZWdhY3ktdHJ1bmsKKzc3NDQgNGU1Mzc0NmU1MWFmOTBhMTcyYmU0NzE2YTMwMDgxYWRlOGM5NDM4NyBsZWdhY3ktdHJ1bmsKKzc3NDUgZGU5ZDBjNTI0OWIwZTJhN2Q0NjFlY2ZkZjFmYjM1MDg5ZGJlZDFlNiBsZWdhY3ktdHJ1bmsKKzc3NDYgYWZmNzA2MzM3OGE4YTYzOWM5NGQzNTA2NDQ4NjhjODk3ZTY2OTQ2ZCBsZWdhY3ktdHJ1bmsKKzc3NDcgYjE1OWY5OGNiZmVmYmQ2NTE4NDQxMDcyYzQ2MjkyYWQyNzk0MDY2ZCBsZWdhY3ktdHJ1bmsKKzc3NDggMTE0OGU3ZWJjYTM1NGIyM2VmMzgwY2M5YTIyNDU3ZmU1OTYyYTA2MSBsZWdhY3ktdHJ1bmsKKzc3NDkgMGQ2ZTcwYTVhYjRiZDFkNzJhZmZjMzBlNmMxMWM4NGJlYmZiMWE5ZCBsZWdhY3ktdHJ1bmsKKzc3NTAgMDk5ZGJjNjg0YzdiZTQwY2Y2OWY5NmQyODM0MmI0YjcwZDYyNzE0YiBsZWdhY3ktdHJ1bmsKKzc3NTEgYjdjYjY5NzY4OTNkODVmODkyMWNkMmVjMGU0NDA2NzUzOWMzYWY0NiBsZWdhY3ktdHJ1bmsKKzc3NTIgN2RmNWEwZDFmNTIzMGJkZjFhMzRjMGVkYzYwNDU3MDBkZGY3NGVkYyBsZWdhY3ktdHJ1bmsKKzc3NTMgMDFjM2U2NGJjODI0YWFiMGFiZDE5NmU0ZmE0MWU2MTFkMzhjNzk5YSBsZWdhY3ktdHJ1bmsKKzc3NTQgMTYzNzJhNGM0YzE0NWM2OWNkNTFhODcwZjhjYjFjY2ZhZjk2ZGMzYyBsZWdhY3ktdHJ1bmsKKzc3NTUgZThmOGNmMzU4MDU0ZWQ2YjZkODljNDhiMzZmYzI4NWUxOTNmNWUwYyBsZWdhY3ktdHJ1bmsKKzc3NTYgNjA3ZmEzMmZjMDRhMWRhM2NiOWEwZDJkMDc1ZTUzMjY5ZjUwOGRmYiBsZWdhY3ktdHJ1bmsKKzc3NTcgNTI1MGY0MDlkNTU4NzIzMWUyZDg2ZTY5NzYzN2I1ZGViNGM5Mzg2YiBsZWdhY3ktdHJ1bmsKKzc3NTggODJhM2ZiZGEzMzYzNTBiM2E0YzM1YTYxN2RiODk1MTcyODQyYmFjMSBsZWdhY3ktdHJ1bmsKKzc3NTkgMDJiMmVkZjU1YmFmMzlkZjk0NjVhZDhjNjRiZGU3MTA2MDNiYmY1ZCBsZWdhY3ktdHJ1bmsKKzc3NjAgZDJjOTk1ZWM0MjkwMTAwOGRjMWVmOWQzNGM5MGJhMDZjNzQ0ZDYzNiBsZWdhY3ktdHJ1bmsKKzc3NjEgZmJlZGE2ZjQ2ZWJiMzhhYjdiYTUyNjRjZDRhZDM5ODg2Y2QyMmMyOSBsZWdhY3ktdHJ1bmsKKzc3NjIgNWFmNzY2YTFiNTMxMjUwZmI2NDg4NzgxNjA4NThmODk3OTNkZTMxMiBsZWdhY3ktdHJ1bmsKKzc3NjMgMGYxNzExYjdkMzY3ZGZmYmI5YzUxNDI4ZjQ0MTY4YWFhOTU5NDRlOSBsZWdhY3ktdHJ1bmsKKzc3NjQgNDdkM2QzOTZkNGVmOGEyMWE2MWQ5YzlkNGVlZWRjODNiMWQwZTQyZSBsZWdhY3ktdHJ1bmsKKzc3NjUgZDMyYjhmNGQ5ZDMwOTIwY2U4MWMwYWNlMWUxMjdhNDAzNzdjZWM0NSBsZWdhY3ktdHJ1bmsKKzc3NjYgYTc2YTNhMzlmNmJjZmI3N2VlYzI4YWMwYWU5ZjM0MGJkMzcxZDQwYyBsZWdhY3ktdHJ1bmsKKzc3NjcgY2E1NjhlNWViZDE5YTM4MDU1ZmNjZTcyYzU0YWI4OTAxZjhkMWZhMSBsZWdhY3ktdHJ1bmsKKzc3NjggYjBkOWRlMzc4NmVjMzI5YzBkNjljMDRkMTRiMjY1NjYxNmJmMWI0MyBsZWdhY3ktdHJ1bmsKKzc3NjkgNTdhMmVkMDYzMGNkODU5ZThhNTg4Y2NhYmI1N2FkYTcyOTQ4OTg4OCBsZWdhY3ktdHJ1bmsKKzc3NzAgMmYyNzYwYzNkZDkwNWQ0M2ZkZDUyYzM2MzhhMDRiYzBjNGZlZWIyNiBsZWdhY3ktdHJ1bmsKKzc3NzEgN2FhNDU2NjAxNGM2YWMwNDkyYjk4ZTllMmVmZGJlZDUzOTJiMzYzZSBsZWdhY3ktdHJ1bmsKKzc3NzIgN2VjNzMzZjljMzA1NzRiZWQyYmVkODRkODFjOTUxOTJhNjkzYTUyZSBsZWdhY3ktdHJ1bmsKKzc3NzMgOWEzMmJkOGY0YWM4YTFjZTUwYjA2OGI1MWIxOTdmNDBjYjg5ZThiYiBsZWdhY3ktdHJ1bmsKKzc3NzQgYjUyM2U2ZTdhYzYxMmFkZTFlMjIxMDQ1NWIxMzRkNjUyZDExNzM5OSBsZWdhY3ktdHJ1bmsKKzc3NzUgZTc3OTQyNTYyZGQzOGU1MzVlNjZiOGM5YzU0OTRkMTY1NDk3ODUzNCBsZWdhY3ktdHJ1bmsKKzc3NzYgZmI4MTY1MzA0OTM5MzQ1ZGEzZWU3NWVjZGM5YmRhZGVmODg0OTE1NCBsZWdhY3ktdHJ1bmsKKzc3NzcgNWUzYmNmNGViZjI5ZjQ4Y2NjY2E1Yzg2NmM2NTgyZDRjYmY1NmEzYiBsZWdhY3ktdHJ1bmsKKzc3NzggOTY0NTYyYmQ3NWNjMzc2ZmE5YTMyOTQ0YjEwZGUyMDEwYTczZjlkMyBsZWdhY3ktdHJ1bmsKKzc3NzkgNDQ1OTE3MmY0MGJiMTQ0ODlkM2FlNjZmYzg5MTUyOWNkMzI0NWQ5YiBsZWdhY3ktdHJ1bmsKKzc3ODAgMzMyZmUwMmJmMDJkYzQ3YWY5MDM4MjhjNDIyYjYzMjVkYTk0OTZkMyBsZWdhY3ktdHJ1bmsKKzc3ODEgZTYxNGJjZDM0ZTM0ZmM0ZjU3NWViZTAwYTNlODMxYzBhNjczM2RjYiBsZWdhY3ktdHJ1bmsKKzc3ODIgYzNlZDI5OWQ1OTNlNmNmNDRmZWMzYTBlYzk2MTFjZmUzMDc4YWQxMCBsZWdhY3ktdHJ1bmsKKzc3ODMgZGY4N2Q1ZDFiYmRmMTdmOTczZGM3ZGM4NGRiZDMwY2Q1NjY2YjRjOCBsZWdhY3ktdHJ1bmsKKzc3ODQgZTc1NmI4ZTU0YzdjMWM2MmNhNjY1MWFmNWU0MTA3NGY1OGYzMTdiZSBsZWdhY3ktdHJ1bmsKKzc3ODUgMTkyZTJlMGNiY2U1MDY0OGQzMjY5ZWMzMTdhNDk2N2RiZGQzMzhjMSBsZWdhY3ktdHJ1bmsKKzc3ODYgNzgyNTk3Y2Y2MTUxZDlkZWExZjhiNTk0OTJjZTVhZTNmYjkzNWJlMiBsZWdhY3ktdHJ1bmsKKzc3ODcgZDBlYjE4MzA5MmIwY2RjNjhiNWQwMTVlNTgzNWU5ODIwYzg5MWJkNSBsZWdhY3ktdHJ1bmsKKzc3ODggZTg5OTY4ODRlOGUxN2U2YjdiNDAwMzkyODdiMzZmMGNkNWZiOWEwZSBsZWdhY3ktdHJ1bmsKKzc3ODkgOGZjMjE3ZDMzMjY3NTQ1OTdiMTY2ODFkNWQ3MjZlZWJlZDc3ZTZhMyBsZWdhY3ktdHJ1bmsKKzc3OTAgNjVjOWU5MGQ4MTQyNjkyZGYyYjg4OTI2MTJkODZhYzNjNTM2ZWRiZCBsZWdhY3ktdHJ1bmsKKzc3OTEgYzhlMjRjNGI4YmZiY2NhODM5OWY2MTQxN2QyN2FhMzU3NTU3NmM2NCBsZWdhY3ktdHJ1bmsKKzc3OTIgYzcyYzdlMTkzMGIzZjJjYjA3ZmM0YmFjOGJkY2VjYWVkYTg4NjNhZiBsZWdhY3ktdHJ1bmsKKzc3OTMgMmM0YjgwMmEzYjVkOGI1NWVlMDVkNGI2ZWUxYzUxMTNjYzU0MWQyZCBsZWdhY3ktdHJ1bmsKKzc3OTQgNzRhMWJjMDk5ODI3NmU3MjdmMTFiZDQxMjE2YzY3M2VhNWEwYTU3MCBsZWdhY3ktdHJ1bmsKKzc3OTUgYzNkZGI4NGE3NzYxZmRlM2M1NTQxODkzYTUzMzg5YjNiMDU1NmM0YyBsZWdhY3ktdHJ1bmsKKzc3OTYgZTJhYzA5ODJjYzMyZjBjZjExNmJjOWQ5YjRiNDI3NTgyMDE0YjJlNyBsZWdhY3ktdHJ1bmsKKzc3OTcgMzg4MTg1MzhiODljMGFlODcwYWNjZTg3MDA1Y2U2NzBjOTQ0NzJhYyBsZWdhY3ktdHJ1bmsKKzc3OTggOTFmOTkxODEyNzE4NTU3OTNhMzIyYmVlNzFiNjdmNGJhNDdiNjA0NyBsZWdhY3ktdHJ1bmsKKzc3OTkgNDg5ZGNhM2I1NGNjYjYwZmFiNjE0Yzk0YjZiMGNjY2Q3MTFlNTZmMyBsZWdhY3ktdHJ1bmsKKzc4MDAgM2EwNzc5OWRlYmExZjZkY2JjYzNhYTk3ZDJkZWNkZDUyOWRhZDAxMiBsZWdhY3ktdHJ1bmsKKzc4MDEgYjY4OTMxMzM5NDBmZWViMTMxNDE1NDJiMTM5N2JlNmI2ODRjMTNmMCBsZWdhY3ktdHJ1bmsKKzc4MDIgMTUyYjI4MjdhMWEwODczYTM1YjJiYzQyYzMxMjNhMzM0NzMyM2M3NyBsZWdhY3ktdHJ1bmsKKzc4MDMgMzU5ZThmODE1YTNhY2I0OTI3NzE1Nzk3MDJlOTZhYzVlYWViMTdmYyBsZWdhY3ktdHJ1bmsKKzc4MDQgNDM3NTJlMjA5NDczYzM4ZTFhODQ4NTRhOWQ5YjFhMmYxZmVkNTg1YSBsZWdhY3ktdHJ1bmsKKzc4MDUgNWEyMmY5YjM4YWFjMjI2OGFiMDg2ODQ4M2E3ZjVkMjc3OTRhOTU2MyBsZWdhY3ktdHJ1bmsKKzc4MDYgNjIzMmFjYmE3ZWIyMGEwYzc1N2ZmY2I4MjQzYjM3YzVmNjIxYTkyNiBsZWdhY3ktdHJ1bmsKKzc4MDcgOGRmYzI1Mjk2M2M3MTk5ZTNiYmE1ODk2ZmE5NTBmZWYyNDNkYWNkNyBsZWdhY3ktdHJ1bmsKKzc4MDggNjI3MzE2YzAwMWZiZDQ1MTc3M2NjMWIyYjM0N2I4ZjZiM2ZjNTMzZCBsZWdhY3ktdHJ1bmsKKzc4MDkgZDFhYzUxYjg3MGUyMThjMDQ3NjYyM2ExZWM5MTlmZThlZWVkZTllZiBsZWdhY3ktdHJ1bmsKKzc4MTAgZWU5Mjc1YjBmNWM4MGFmOWZlY2Q3Y2QwMzgzMjFkOTJkZWI1MGZjZSBsZWdhY3ktdHJ1bmsKKzc4MTEgNzQ2ZjY4N2FjZmMxYWY1MjMxZDk1ZjQwZjU0OWI5MWYyNzViMDIyYiBsZWdhY3ktdHJ1bmsKKzc4MTIgMTY2YzIyMzI5MjFhYmZjZThiYWNjZDUzYmY3MzY2ODYxZDkwMTQyOSBsZWdhY3ktdHJ1bmsKKzc4MTMgNjc5OTViYzE3ZjYyNWJjMGJjYjYzMmEzODcxNjkxNThmYzJlNmUzOSBsZWdhY3ktdHJ1bmsKKzc4MTQgYjBhMzE0MGNjOWIxYWRiMDdiZjIzYWJhYmRjOTkxNTViZDMyZGY4YiBsZWdhY3ktdHJ1bmsKKzc4MTUgZGI2NzNlOThmMjhkYWVlYjJmNzEyMTNjYWNmZWM1MjE0ODdhZTY3MiBsZWdhY3ktdHJ1bmsKKzc4MTcgNjdlNTIzN2NlMTQxOGIzODdkYTIyM2VlMzI0NTE2MzE1ZDUyMTVjOCBsZWdhY3ktdHJ1bmsKKzc4MTkgNjdhMGI1YWFhZTQzM2JhOTgwZWZhYmJiNzUxMTFiNDI4MjQxZGYzMSBsZWdhY3ktdHJ1bmsKKzc4MjAgNGE1NDFiYjBjNTM0MzNjN2FhMDliOGNiYjNiNjU1NWViMTYyMzM3OCBsZWdhY3ktdHJ1bmsKKzc4MjEgOWNhMjcxODhkYTIzMjMyMmY2NzAxMWIzNWMyMjJhNGYwMGUzZTU0OCBsZWdhY3ktdHJ1bmsKKzc4MjIgNWIyZWQ2MDgxZWI5NGFlMTlmNjM2ZDg1MmMwMjE3MzJiN2FlNTYzNSBsZWdhY3ktdHJ1bmsKKzc4MjMgMzM5ZGNiOWEyODI1NzBjOTMxZmE2NWVjMWVkZTE1ODYwZjQwZTVhNSBsZWdhY3ktdHJ1bmsKKzc4MjQgMDA2MWY0ZWE5N2JlOGVjMzUyMWRjOWNkMTQ2M2E2YzUwMTI4MDk2MSBsZWdhY3ktdHJ1bmsKKzc4MjUgYWUwMmVkMmFhYzNmNmM2YTUxMWI1MjNlMThiNTBjZjlmOGY2YmQxMSBsZWdhY3ktdHJ1bmsKKzc4MjYgNmFiMzkyZDdhNTJmY2Q2MDczNzRlZmNmMmNmYzZmZDkyZmQ5OWQzNCBsZWdhY3ktdHJ1bmsKKzc4MjcgNjg4YzNmZDQyY2E2MmQ1NjIxMTEwNmQxNTMwMWU4OWI5NmNkMTIwNSBsZWdhY3ktdHJ1bmsKKzc4MjggOTk5YzE5N2RhNTdjYzE2YmY1OTZmMWVmNzAyZTBjMjUzOWIyNTgwZSBsZWdhY3ktdHJ1bmsKKzc4MjkgZDU3NTdhYWQxYTRmZWE3NzhlMjRjMWJhNTY3NWRhZWZlZGMzODcyOSBsZWdhY3ktdHJ1bmsKKzc4MzAgZDQwY2Q5MTBkNjg0ZjBlYjc3YmUzZTA3NTZkNGM0ZjQ1NDNlZjU3YyBsZWdhY3ktdHJ1bmsKKzc4MzEgMmMwYjEwMTY1ZjdlY2E0MTk2YWUxNDRiMWQ2ODNiZDI2YzA0ZjE1ZSBsZWdhY3ktdHJ1bmsKKzc4MzIgMTc5MTY4ZTE3YmZlMjVjNTc3MjRkOWUyZGJlMjAzMjE3MjgwOTQ2MiBsZWdhY3ktdHJ1bmsKKzc4MzMgNDczNjJmZDkwNzFiYzc5MDliNzAxZTk3NTc4NDFhMzg0NWVmYzEzZiBsZWdhY3ktdHJ1bmsKKzc4MzQgYmMyZTMzMzQwNDhlMTNhMWFjMzU2Zjg4MDhiYWY3MGFlZmY2ZTk5NCBsZWdhY3ktdHJ1bmsKKzc4MzUgZGI0MGRiYTNmNzlhN2Q1MzAzMTQ0ODA2Y2MzMmE2YjhhM2NjYTgxNSBsZWdhY3ktdHJ1bmsKKzc4MzYgZWRlYTRmMWQ2M2ZkMDE1NTQzYzFiYzZjYzRjNTUxYjU5OGQzZWYwNCBsZWdhY3ktdHJ1bmsKKzc4MzcgZjg1ODAzOGI2NGMyNjA2NTM5YzJmYjhjYjQwNzI0OWM3M2Y5OTg3YSBsZWdhY3ktdHJ1bmsKKzc4MzggYjFjMmI3OWFhNTFmODVjNDkwZDExMjU0MDVmZWViMTM0MDA4ZTQ1MCBsZWdhY3ktdHJ1bmsKKzc4MzkgNjFlNDFiMmIxYjY5ZDQ4OGIwYjhkYjQyMzAwYTczMGFmYzE1NTVjMSBsZWdhY3ktdHJ1bmsKKzc4NDAgY2M1ODZiZGE2Mjc1NTI1ZDY3NThlMzMxOGFjYTI2YzVlYmY3OGMxNCBsZWdhY3ktdHJ1bmsKKzc4NDEgZTRhZjQxNGY1Zjg5M2I1ZDhjNmFlMDhlYTAxMWRlZmJkOTVkMTQ4MCBsZWdhY3ktdHJ1bmsKKzc4NDIgYjdjYTk4YzZkYmJkNjhhN2JhMzdjMzg0ZjU1MTc2Yjc3Njg4ZWMxOSBsZWdhY3ktdHJ1bmsKKzc4NDMgODczMTMzMzNhZTNmYzM3M2JlNGVjODgxNjBkYjM0MTdkNGVlMGYxZSBsZWdhY3ktdHJ1bmsKKzc4NDQgODk4MTUzM2U2Y2MxYTEyN2FhYjgwMzUyMGU1MTQwOWFiNzAyMTIwOCBsZWdhY3ktdHJ1bmsKKzc4NDUgZjIxMzJkMWY2NmE2MjhmNTljNWVmY2VkODE1MGU2YTFhOTM5OTVmMiBsZWdhY3ktdHJ1bmsKKzc4NDYgM2NhMTQ1MDMxNzBjYzlmOWI5MmZjMDg3NTg2MDJiYjI3MTYxZmFlOSBsZWdhY3ktdHJ1bmsKKzc4NDcgMWVhMWYwMTkyNjhkOWYyNzA3NDU3OWQ3MTVmY2IyOTY2MTY2ZjgwZSBsZWdhY3ktdHJ1bmsKKzc4NDggNDkzYTM0ZGNhNTNlZGQ3MjU0NjI5OTg1NjhhNzUyNTUyMmQzMGRiNyBsZWdhY3ktdHJ1bmsKKzc4NDkgNDI0OTIyYWZjMWJiNDBlOWY1MjAyMDlmNWI5NDNkNDZhODkzMTBjOCBsZWdhY3ktdHJ1bmsKKzc4NTAgNTg4MDM4NGQ3YzcxNDhiOGM0NTUxMDFmNzRkODA1N2E2MzBhMTEyYiBsZWdhY3ktdHJ1bmsKKzc4NTEgMTE4YmVlZjkxODczNmQ1Zjg2MmRhMzA5MmIxMDgxZjEwYmI4NzVhYiBsZWdhY3ktdHJ1bmsKKzc4NTIgN2Y5MGE2NzFjYzFkYjhhODExOGZhZjZiYTNjNGJiOTQ2ZmQyMTI3OCBsZWdhY3ktdHJ1bmsKKzc4NTMgOTk4MGZhZWViN2E1MTNkZDgyNTMyMmRjMWNlY2RhZDhiNGJjOTM0ZiBsZWdhY3ktdHJ1bmsKKzc4NTQgMDk1OTdhNDIzMjI3Y2UzMDY2ZWQyNzNhNmZmZDYxZmFlNWJjZjY3OCBsZWdhY3ktdHJ1bmsKKzc4NTUgMzE5ZTNlYWVjZGY0ZmI3OTA0YzE1YTUwMzI5ODY3OTgwN2QyNWEwYiBsZWdhY3ktdHJ1bmsKKzc4NTYgMWM5YTg0ZTA5ODFkMzU4YmE5ZjAzODBjODJlNzEwNjc3ZWIxNTY0MyBsZWdhY3ktdHJ1bmsKKzc4NTcgMmQ0YzZjYmEwMWJmMDA1ZTRiZmRjMGJlMmExY2FhM2VjMzNiZTExZSBsZWdhY3ktdHJ1bmsKKzc4NTggMzM5ZDQxMjlkM2Y3ZjE1YTQ4OWUxNjk4NWViMDEwZWY0NDMwNGJmYSBsZWdhY3ktdHJ1bmsKKzc4NTkgM2Y1NThhMzJjNDk4MDAwMzUyNDBlYTljMzkwYTdmZDQ5Y2JjZWU0ZiBsZWdhY3ktdHJ1bmsKKzc4NjAgM2M1ZmNmOGJmNTE4OTYxYmM0YmE4NWZiMmUwMGUwY2M4ZjlmMGVlYSBsZWdhY3ktdHJ1bmsKKzc4NjEgMzcxNGIzMjU4MjZkODk3Y2QxNmU3OTM0ZjI0OWE5MTk1MGEzMTJiZSBsZWdhY3ktdHJ1bmsKKzc4NjIgMTBlN2RiYTAxZDA1MTIxZmRhMWFkYTU0ZGFmYmYzMGY3N2RjNmViNyBsZWdhY3ktdHJ1bmsKKzc4NjMgNDNjNWUxZjkxNTRlNmQ3YTliMzJlYmI2YjM0ZDk3OGUzNjBjZDQ5YiBsZWdhY3ktdHJ1bmsKKzc4NjQgMDljNThiMTc0OTg5OTEwMjcwOWZkMTY5MWU0NTVkMjVjZWIyNWE2ZiBsZWdhY3ktdHJ1bmsKKzc4NjUgMTNhMzBjZWE4ZGJmN2QyODVmYzdjZTFmMzQwMGZlNDhmNzA1YjBiYiBsZWdhY3ktdHJ1bmsKKzc4NjYgNWE5NzA2OTY1YTRlYzNmYzEzOTBjYmI2ZWJmYjNmMjYwYTg0ODA5MSBsZWdhY3ktdHJ1bmsKKzc4NjcgYjI0ZTg0YTBmMzBiMzJhY2MzNDFiZTViMzAyMGNlODNlZmE5YTkxMSBsZWdhY3ktdHJ1bmsKKzc4NjggZTkyZjE4MmQ3NzI2OGM4NmI3OTQ5MjYxNjcwOGE3M2QzNzFjOTU2OCBsZWdhY3ktdHJ1bmsKKzc4NjkgMTk0ZDI2ZGY2YzUwMGNmZmQyZmMxOWZiMDQ1MDdkNDFmMThkYWI0ZSBsZWdhY3ktdHJ1bmsKKzc4NzAgMzFlMzk5NjM2Njc1ZmQ0MTQxMGM0NzUyMGQ5NzVhMzc1YjBmYTFlOCBsZWdhY3ktdHJ1bmsKKzc4NzEgYzJmYjk3NmJlY2ViMzlkYWQyMDE0MmM1Y2NlZGJlOWE3OWNiYzIwMCBsZWdhY3ktdHJ1bmsKKzc4NzIgMmM4MWQ3ZDY4ZWQzYWFkM2M2N2U3NzU5ZmQxNGExMWQzOTQzYWUxMCBsZWdhY3ktdHJ1bmsKKzc4NzMgZDE0NDc5NTBmYTA0NTY1MmZmNTViZTNhMmFjMjc1ZGEwNzA2NzZjNiBsZWdhY3ktdHJ1bmsKKzc4NzQgZmQ3ZWIwNThjZTVkYjMwNDE4YzUxZGZiNDZjNDMwNmNhM2UyMWUwOSBsZWdhY3ktdHJ1bmsKKzc4NzUgNzJiMjMxZWRmYjI1MjM5NTUyOTlhODk4MjQyNTk0MDNmZjQ1MzFmNSBsZWdhY3ktdHJ1bmsKKzc4NzYgMGE1OTk3NzNhOWNjYTRmZWRkZTdkMDQzZDc3MzA5NjVlMWM0MmU5NiBsZWdhY3ktdHJ1bmsKKzc4NzcgNzkxOGU4NzM5MTQ4YTRjNjBhYjY1Nzk0Yjc2Y2VhYTg4ZjZkYjllOSBsZWdhY3ktdHJ1bmsKKzc4NzggNDg3YWQwMzI3YWUxODI4YjI3ZGZiZmIzYmJlYzc1YjdlNDE0ZjBjZSBsZWdhY3ktdHJ1bmsKKzc4NzkgOGYwYTc5M2JiMGUyNjk1NzFjOGJjMGVhMmVmM2E2YmUxNzdhNTc2MCBsZWdhY3ktdHJ1bmsKKzc4ODAgNTBhOWMxNDA5NDZjNDg5ZmYyM2EyZGIzZTEzM2M0NDE5YzRmNmQ4ZCBsZWdhY3ktdHJ1bmsKKzc4ODEgMzc4MGNjZTE0ZjdkMDJjZGRjMWZjZDFiOTUyOTc2OGRlMTdhNjNiNSBsZWdhY3ktdHJ1bmsKKzc4ODIgYjc4NzFjYTkzMGFkNWJjNTFhOTA5ZWU3NWVjMmU1ZGExM2UwN2Y0ZCBsZWdhY3ktdHJ1bmsKKzc4ODMgYzIyNTQ3NTQxOTJjMmVhZjE1ZGQyYWU0MDI1ZWY4ZTMzNzNiN2JiMCBsZWdhY3ktdHJ1bmsKKzc4ODQgYjdhMjNkYmUwMDY1ZWNmN2Y4MTBiOTc0MGE3MzhhNTM5MmJkZTE4YyBsZWdhY3ktdHJ1bmsKKzc4ODUgNjQ4MTI0YTU4ODBhMzMyOTdhNDVlY2I4ODQxYzQ3ZTA4N2EzNmFkOCBsZWdhY3ktdHJ1bmsKKzc4ODYgMThkNmE1YWJkM2Y4MzIyNzM2YzVmYzg1MTE0ZTBjMDI4ODRhNzlmMiBsZWdhY3ktdHJ1bmsKKzc4ODcgM2IyZmRhMzFiZjFiYThlZGM1MDU3NzBlYWZkOTcyNmQ0NDRiNmNhNCBsZWdhY3ktdHJ1bmsKKzc4ODggNjcxNzA3M2RlNTg2NWE3MDYxZGUwZDAzZWQzNmJmZGNkM2QxMDhmYiBsZWdhY3ktdHJ1bmsKKzc4ODkgNzhkMzk4MDA1YmFiMDJhNTQyODZmOTBiYzlmZjA1YmMzMjRhZjdkYyBsZWdhY3ktdHJ1bmsKKzc4OTAgMTAyNjdmZGM3NTMxMTZjMWQzZTI1OTg4MjAzMzVmMGI3ODE3MGY2NCBsZWdhY3ktdHJ1bmsKKzc4OTEgMDEzZmY2OTUxOTA5ZjBlYjU1YjRlNzcxOWUzOTViMDAxN2Q5MzBjMCBsZWdhY3ktdHJ1bmsKKzc4OTIgNTk2MzgwYTU2N2QyMjM5NGNhMDFlZmYwOTA1OTM0YzM0YjUyY2ZlZCBsZWdhY3ktdHJ1bmsKKzc4OTMgMTcyMjU0ZDQxYTUxZGFmYjc0NmQyMTU5Njk4YWJkMjZmMjZiYzIyNSBsZWdhY3ktdHJ1bmsKKzc4OTQgYWJmMzNiODgyY2ZkY2U4Mzg3NGNhMTY0MzAzZDMzNDJiYmZjOTBhZSBsZWdhY3ktdHJ1bmsKKzc4OTUgYTFiNjNjNzNhZDFkYzUxNGNiMzZjNDAwY2FhMjY3NjY0NTkxNTVjMCBsZWdhY3ktdHJ1bmsKKzc4OTYgZDk5NDFhODk1YzAyMDk0MTE1NjRmMmQ0ZjA0MTcyZmVhZWFkYjA1ZSBsZWdhY3ktdHJ1bmsKKzc4OTcgMDE0ZWE5ZDcyZDAzY2ZlNGY5Nzg5NzFiNzFlM2QxNTQyZWQwMDM0YyBsZWdhY3ktdHJ1bmsKKzc4OTggZGFjYmZhYTA3YzQwN2MyNmFhYjk4NDJjZTRmMGVlMTMyNGIzOGZmNiBsZWdhY3ktdHJ1bmsKKzc4OTkgMzczMzJiNmY2MjgwYmVkNDcyYmQyOWQ5MzljZmU1YTVjYTRhMWI1YSBsZWdhY3ktdHJ1bmsKKzc5MDAgYmNjYjhkNzQyOTY0N2I5NDFlNWU3ZTZmODdiNTA0MzY5OGY1ZDNkZiBsZWdhY3ktdHJ1bmsKKzc5MDEgNjM4YTk5YmM4ZjJjY2Y3YjliYTQwYTI0OWQwNjI0NzJlMmFmNmI4MyBsZWdhY3ktdHJ1bmsKKzc5MDIgYTdlMzA5YjE3NGIyNzI1ZWJkNTMyOThkZTk1MTlhMjQyODE4ODMwZCBsZWdhY3ktdHJ1bmsKKzc5MDMgZGFiODYzYjc5ZGViYWMzMzg5ZWI0ZWM3ZTMzMjliY2JjOWU0ZDY0ZiBsZWdhY3ktdHJ1bmsKKzc5MDQgYjAwMjMzMzU1ODhjZWY3Zjk3YTkyYTcyOWUwOWE0ZGFkNTNkZDc5MyBsZWdhY3ktdHJ1bmsKKzc5MDUgNWUyYzE3YjM3NGZiMGVhYTI3MDFkZmY4YTUxOTdkMjM3OTBlZWQxMyBsZWdhY3ktdHJ1bmsKKzc5MDYgYWMyMzVjOWU2ODgxZjMzOGNhNjA5ZmVjYTQ4MDRmZTJkMmQ1OWNmMiBsZWdhY3ktdHJ1bmsKKzc5MDcgMjMyOWNjZjBlNTgxMTFjZjE2ODkxZDU2YmFkMWJlMzIzMzFhYjU3OSBsZWdhY3ktdHJ1bmsKKzc5MDggYTU2YjQ0YjM1NTA1NzJmZDM1Mjk5OTAwNzQ4NTYxZTkxZmNjODUzMCBsZWdhY3ktdHJ1bmsKKzc5MDkgY2VlNGM0NWM1NjhmNzYwZmFiYTE5NjlkZWZmYWZiNmRmYzYyMzg3NCBsZWdhY3ktdHJ1bmsKKzc5MTAgYWQ0NzQxZDU0MzFjYzFiZDBiY2VkMWNiMzFhMDE4MGEyMzY0NjY2NiBsZWdhY3ktdHJ1bmsKKzc5MTEgM2Q3ODkwMjM2YTRlNTkxYjM4YzEzMzhlZjM3NjgyNDA2MGQyNGJjMSBsZWdhY3ktdHJ1bmsKKzc5MTIgNTkxYzY0MjBmMTFkMDI1ZGNkMmM5MzFiMGJlMTc0ZTI1OTJhMzc4ZSBsZWdhY3ktdHJ1bmsKKzc5MTMgY2Y4MThiNzBkYTNlNjVkNjQxZmJmOWIyNDljMjA1ODY5Y2NlYTE4OCBsZWdhY3ktdHJ1bmsKKzc5MTQgYzJkYWUyYjFhMTIzNWQxZDIyZDU3MjFkYmEyMTVjYTY3NDhjYmUzZCBsZWdhY3ktdHJ1bmsKKzc5MTUgZTkyNmMzMzFlYmJmMWQzMTdkN2U3MTk1MmNmMDM1NzExMGQ1YzEyMiBsZWdhY3ktdHJ1bmsKKzc5MTYgMWRhZTViMWM4ZGJhMTJhNTM4ZjZhODBkZjBlYmFjMTQzMTk3MWUxYyBsZWdhY3ktdHJ1bmsKKzc5MTcgOWVhYTJjYWVkMWMzYjg0NWEwZjg5OGYwNWU0ZDYxNDIyOGE2MDc2YSBsZWdhY3ktdHJ1bmsKKzc5MTggM2M2ZGI3MTY1YmMzZDYwNGRjYTRmODY5ZmZhZjk0ZGViOTY2NjNmNSBsZWdhY3ktdHJ1bmsKKzc5MTkgNDU3OWE3NzAxOTQ5ZGFiZGM0NWZmOWQwNDAyNmY3MTQzNWRhODhlYSBsZWdhY3ktdHJ1bmsKKzc5MjAgODg2OGU5ZjEzNjU3ZDMwYzljMjM3MTBmMmVhNGE1ZGQwZmQ3ODBlMSBsZWdhY3ktdHJ1bmsKKzc5MjEgODdjNGYwNWExN2U1MWZjNjA3MjRhNmU5NjdjNzg5OTY0NTA0ZGJjYiBsZWdhY3ktdHJ1bmsKKzc5MjIgOGYzZTE2MTIzNjAwNDllMTQ2YjcxODQwN2Q3ODRkY2U3MWIwOWQ0MSBsZWdhY3ktdHJ1bmsKKzc5MjMgNTE1ZWQ3M2RhNWIxNGI3YjVhZWU4OGExMTk2OWU1NzE5NDkyZmE4ZCBsZWdhY3ktdHJ1bmsKKzc5MjQgMGIxZTY5NTA4OTA3MzZkMjQ5NDEzMDFiY2FlYTZhMjc0YmZhYmMwMCBsZWdhY3ktdHJ1bmsKKzc5MjUgZTlmNjE1ODg0NmIxNmI3YzM4MDgzM2U0NWU5YjgzNDgxN2EwNmY4NSBsZWdhY3ktdHJ1bmsKKzc5MjYgMDFmMDJiZjJiNDQxNjdiNjg0NmFhMzQzMzg1MWEyNmFiYzA3MDRjZiBsZWdhY3ktdHJ1bmsKKzc5MjcgNGE4MGU2Y2E3Y2QzNWVmNDdlMzAyZTdhM2MzMjY4MzEyZjE0ZmU5NiBsZWdhY3ktdHJ1bmsKKzc5MjggNWFiZGRlOTljOWVhZGFhOWQ4MDZiZmFlODllMWJjMzlmNjg3ODdhMCBsZWdhY3ktdHJ1bmsKKzc5MjkgMmE4NzUxOTlhNzFlODYwMjJhM2ViYzA4OGEzZmE4ZTNjMTY5MGIwYiBsZWdhY3ktdHJ1bmsKKzc5MzAgOWM2YzA3ZDQ0OWRmNTQwMzYyMjk0OWI3OTg4YzJhNjZkYjNjZjRmZCBsZWdhY3ktdHJ1bmsKKzc5MzEgMGY2Yzk2ZjQ4ZTFiYTQ3NmU1Njc5MjY4M2I3OWVlOWE4MjU4ZGI3YiBsZWdhY3ktdHJ1bmsKKzc5MzIgNjYzNTc5YTNjN2ZlYjU0MGU3ZmFjMjA0NGJjMTEwOWI0ODAzMDE0YiBsZWdhY3ktdHJ1bmsKKzc5MzMgNzMxNmVlY2IxZTZiMzJlNjE4Y2IzMDQzZjkxZWJhYjllYzM1NDc1YiBsZWdhY3ktdHJ1bmsKKzc5MzQgNTM0NDAwOTcxMTFmZWY4ZTM5ZTBlOWU1YzVmODcyMTA3ZWE3ZDc0MyBsZWdhY3ktdHJ1bmsKKzc5MzUgMTMwNTJkYzJkNWY2ZTZlNGI5MjQ2YzEyZDBhM2YzZjM3MWMzODUwNyBsZWdhY3ktdHJ1bmsKKzc5MzYgYzVkN2I2ZmNlZTAzZDIyNWVjZDM3ZDQzMTVmMWFkYTJkN2ZhYWJiZCBsZWdhY3ktdHJ1bmsKKzc5MzcgYWQ2YzQyN2RjYmQ5ZTRkNTc0ZDliMDgwOTA0ZTg5NjRmZTAxMWJhYyBsZWdhY3ktdHJ1bmsKKzc5MzggMGRlZDYzYmNmNWRlMjllZGQ5NjllZGYxMzZjNmFmYTA1YjdhYTIxNiBsZWdhY3ktdHJ1bmsKKzc5MzkgNjBmNjY0OWZkMjMxMGRlYmEzYzIzNmRjYzZmZjNlYmM4N2JmZWRkNiBsZWdhY3ktdHJ1bmsKKzc5NDAgOTUyODUxZDljY2UyMGY4ZGMxZTM4NDlhZTBjOTRjMzQ2MTBkYzkzMiBsZWdhY3ktdHJ1bmsKKzc5NDEgYjA1ODRiZjdiNGY1Mjk5NjJkNDkzODIwNjEzZDI4YTUyNDIzNWUxYyBsZWdhY3ktdHJ1bmsKKzc5NDIgMDllNmI0ZTM0NTIzYmFlMjBlNTgyNjYwOGExMzM4YmUwM2NmYjgwMiBsZWdhY3ktdHJ1bmsKKzc5NDMgNDNjODZjODE4MWQ0NTc2NjFkNTgwZTkyOThhOTYyZWMzYjg5ZDcxYSBsZWdhY3ktdHJ1bmsKKzc5NDQgNjRiNjkzMTUxOTU2ZDIxYWQ1YTgzZjg1YTJkOGZhMjU5MDEzMjMxMyBsZWdhY3ktdHJ1bmsKKzc5NDUgMDhlODZkNDM5MjgxZGYwNTY4NzRlNmJhZGJhMDQ1M2FjN2EwZDczYyBsZWdhY3ktdHJ1bmsKKzc5NDYgNDdlODFiMjE2OWU5NTRlYzI1YWY0YzUxN2FiNWQ2ZTFiMWRmMzgyNyBsZWdhY3ktdHJ1bmsKKzc5NDcgZDkwMjlhNGUwZjJhYzc3YzZmYzgxMjkxOTFjNjBjNWYzMDQ1OWE3YiBsZWdhY3ktdHJ1bmsKKzc5NDggOGU1ZDZkMzEwM2FlZjgzZTk3MmZjMjI0OWI4MjM4ODE3YjRmY2E5NyBsZWdhY3ktdHJ1bmsKKzc5NDkgODRkYjE1NGQ1YjkzZThkMGJlMDU2MjU1ODBiZWJlODFhMmE2ZjU5OSBsZWdhY3ktdHJ1bmsKKzc5NTAgYzNkNGJmYjhjY2RmMDFkNmEzNWJkMzI5Y2I0YjQ3NjQzYjkxOWU3MyBsZWdhY3ktdHJ1bmsKKzc5NTEgMjY2NmU5MDRlNDBiMGNjZDQ4ZTkyYzIxMzI2NjdjYzBhNDllN2FlNyBsZWdhY3ktdHJ1bmsKKzc5NTIgYTg2ZWEyY2NlYWVjZGQ1YjJlNzU2OGM3NTFkNmVjYWQxODVjMzI5YiBsZWdhY3ktdHJ1bmsKKzc5NTIgMDYyYWVkOGE0Y2UyYzkxYzgxYjgwZTI5ZjAyZmFmZjFjZjVhNzYxYiBsZWdhY3ktdHJ1bmsKKzc5NTQgZjQ0YTU2ZTY5N2ZiMTdjZTU2Yjg2Y2Y0MTliNjA3NmMyNjhjYzM0NiBsZWdhY3ktdHJ1bmsKKzc5NTUgMjY2YzlhYThjMTI3NzYxNDkxYmU4ODgxYTAzMWVkMTZkNDkzZGRlZSBsZWdhY3ktdHJ1bmsKKzc5NTYgNmQ1M2ViYWVjMDIxNTkxYjMzNTA5NjBiMTg4YTUzYjZkM2ZjNGRjMiBsZWdhY3ktdHJ1bmsKKzc5NTcgYjk2MTc2YzlhODUzYjY5ZDIwMWYwYjUwMjBmYTY4MzlhNGU1MDU3NCBsZWdhY3ktdHJ1bmsKKzc5NTggZjFhZmM1NjkwYjJhYjVmMjAxZTMwNGY1MTNkZjk5OTRiYjQ3NjgyNSBsZWdhY3ktdHJ1bmsKKzc5NTkgNmZhMjk3NTZlYzZhMjk0Mjc0N2FkOGE1MzhhZDBkZmQ5ZWQyNWVhNSBsZWdhY3ktdHJ1bmsKKzc5NjAgNzM1MDllZmE3MjRiY2NlY2Y5ODU4Nzg0NjY3M2I3M2M3NTAxMjEzNSBsZWdhY3ktdHJ1bmsKKzc5NjEgNTk1YTVmZTE0MGQ0MGMyNzYzMTBhZTVkZWE5MDM1NjEwZGI2OGJmMyBsZWdhY3ktdHJ1bmsKKzc5NjIgNDc4YzY4ZWE5ODI3NTFhMjUyYzI2YjhhYTlmZjE3YmRhNmE4OTQyMCBsZWdhY3ktdHJ1bmsKKzc5NjMgMTk1ZDVhYTE5NTFlMDNjMjM5ZDhmNDA1OGU1ZTk5N2ZjZGY5NzdhYSBsZWdhY3ktdHJ1bmsKKzc5NjQgZWQwMzk0NDg0MDgyYjYyYzkwNGY2YzYwMTNhMWJhMzE5NzRlY2UyNSBsZWdhY3ktdHJ1bmsKKzc5NjUgMmU4OWM1NWQ5YTI5NWEyZWZiYzQ3OGIzMDgwMmY1OWQyOGFkMDQwNSBsZWdhY3ktdHJ1bmsKKzc5NjYgMmQxMzMyODAxMjlmNzJjOTc1ZTgzMzJkZDA4NzFlNjUyZWZmNzBjNyBsZWdhY3ktdHJ1bmsKKzc5NjcgYzFiNDBiMDU3N2QxOTRmMWUxYWVkMzMwNzc0YzU4NjAxZGY0YWQ1ZSBsZWdhY3ktdHJ1bmsKKzc5NjggNTA2YmE3ZGY0MmYwNDYzMWI1MTRiOTY1ZDY2ZjY1NmExNGU4OGI3YiBsZWdhY3ktdHJ1bmsKKzc5NjkgYWYxYWVhNmI5NjhmZDZkYWNjMTMwM2E1NWZkYjAyZGE1ZTI1N2U1NCBsZWdhY3ktdHJ1bmsKKzc5NzAgZWY5M2Q1MWRhYjM2MmRkNTliYjUzNTgwN2M0ODc2MGE2ODhmM2UyNiBsZWdhY3ktdHJ1bmsKKzc5NzEgYmZkMDMxNTQwODhiNmFjMTEwZjBlMGM2NTk4ZmJhOGIzZjI4NDQyZCBsZWdhY3ktdHJ1bmsKKzc5NzIgZTY1MmE3OTNmNGU3MTJmNDU3YmY1NTYxOGFjYmY2Y2ZlYTUyNTk2NCBsZWdhY3ktdHJ1bmsKKzc5NzMgMGIxOTQ2NjAwYmRkZWQ4ZjFkMGM4NTFhYTA5ZTRjYWI0Yzg5N2I5YyBsZWdhY3ktdHJ1bmsKKzc5NzQgMzc3Zjg2OTVhOWZiYjIwMWQwNjdmMzM3YTBjZDkzNGFlZThiZTA2NyBsZWdhY3ktdHJ1bmsKKzc5NzUgOWExMjI1OTIzOTE4MWY4YTM0MjhhY2FlZWEyZGM2ZjJjNDY2OTE1ZiBsZWdhY3ktdHJ1bmsKKzc5NzYgYjkwNTM3MmVkZDRmYjQ3YTdlMDg3MjdiNmQ5NmMwYzRkYTAwNDFhNiBsZWdhY3ktdHJ1bmsKKzc5NzcgODIxOTEyZmQ5NjVhMWQwYTRhNmVkMDk1YWY0YTA1ODg3YjYxNDUxNiBsZWdhY3ktdHJ1bmsKKzc5NzggNDY2MGZmYjllNDgzYzc1ODc5ZTM0NWMxOTU1YmE3NGY4ZmM3M2M3NiBsZWdhY3ktdHJ1bmsKKzc5NzkgNTA1ODE2NjZjODU0ZmIxMDkwNjgxZjFmNDk2NDM5NzZjNDVhZjdmOSBsZWdhY3ktdHJ1bmsKKzc5ODAgYmEwMDVlNGRiNGM1MzQzNmYyMzcwNmE4MmI2OThiMWE0ODVjNDFhYiBsZWdhY3ktdHJ1bmsKKzc5ODEgYzg4YjliODY4OTk1MzE0NzM4YTExNGI2MGNhNTA0YTkzMGZjMzcxNiBsZWdhY3ktdHJ1bmsKKzc5ODIgNDdmYTAwODc3OTI0MmEyNzhhYzJkNDc1OGU0OTc0NDM5N2Q4OTJjZSBsZWdhY3ktdHJ1bmsKKzc5ODMgNTk0MzhkMTlkNjAzNjc1ZmY3NTA4Y2VjZmRkYTgzNjc4NDRkZGJiMCBsZWdhY3ktdHJ1bmsKKzc5ODQgNTZiNDNhNDBhNTI4NTU3MTc1MjIzNWM4N2JiZDdmMTA1ZTdjMmUyYyBsZWdhY3ktdHJ1bmsKKzc5ODUgMzY0M2YxOWQ1Y2ExYTQwMDY5ZjMzOGM4M2JhYzk0YWNjNjYxYWE4OCBsZWdhY3ktdHJ1bmsKKzc5ODYgZGRlZGZhNTU2ODRhNjBhMTFjMzU5ZmNiMjI4MmQzODdlZGNiZjU4YyBsZWdhY3ktdHJ1bmsKKzc5ODcgNzI5MGE5MzBiNGM5NTdjNWI1NjQxOTk5ZjdkN2UxMGU1MTgwNzcwZSBsZWdhY3ktdHJ1bmsKKzc5ODggZmIzOWQyODg2NjRiNTM5ZWI0ZmEwZDExNGY4ZjE1MjczMGQyNDU0YyBsZWdhY3ktdHJ1bmsKKzc5ODkgMTQ5ZDc0MmIwOTcxY2UxYzVjMTg0ODU0OWQ3NzlhZmU4MDJiNmE5ZiBsZWdhY3ktdHJ1bmsKKzc5OTAgNGRkNTA5NWMzYjY3ZTlmNzdkODljY2E2MDJlMWMzYTk5OTIzOGRhYyBsZWdhY3ktdHJ1bmsKKzc5OTEgNjRlMmZkOGYxZDY4NDkwZGZiNTRjYTFhOTc2YWVjZThjNTczYjFkZSBsZWdhY3ktdHJ1bmsKKzc5OTIgMDY0Yzg2NzE5Y2E3YmRmYzYxN2JjY2Y3MzIwY2EwNjJiOTA3YWUzZSBsZWdhY3ktdHJ1bmsKKzc5OTMgMjQ1NmQ4ZmY5ZmE4MjNlMjY0NjhlMGJiMzUyZmIxNzI3MDRmNDc4MiBsZWdhY3ktdHJ1bmsKKzc5OTQgY2ExMjNmMjQwYmE5YzM2ODBiYTQ4OWY2NzFmZDgzY2RiOWQzOGFlZSBsZWdhY3ktdHJ1bmsKKzc5OTUgNTc2YjdkOTI3YWZiOTA5YzhkNGIzMmNmYTkwMGI5ODU2NGQ1NzllYyBsZWdhY3ktdHJ1bmsKKzc5OTYgMTM4MTUyNzNlMTcxYmJhMTM1NGYzMzYzZDg1NTFjODJkNjFlMzIyMCBsZWdhY3ktdHJ1bmsKKzc5OTcgMzFkNjYxOTRhNzdjOWZmY2I4NDY2ODA5ZWE2ZjlhYzgyZDc3MDllNCBsZWdhY3ktdHJ1bmsKKzc5OTggODgwM2JmNDA0YjY5NDY2NTU2MGMxNTdjZWJhMWM1MmNhNTVmOTU4NCBsZWdhY3ktdHJ1bmsKKzc5OTkgOTg2YzMwODc2NWFlOTY3YWFkNzVmODUwMjEwN2NmNTIzYTE1ODNmZiBsZWdhY3ktdHJ1bmsKKzgwMDAgMGJhOWY5MTRhNzA4ODc2ZWUwMmUxMTMxMDRkZjBmZDg3MGE4MWFlMCBsZWdhY3ktdHJ1bmsKKzgwMDEgOWEyMzdhNGNmM2ExZjZmODc2ZDY1MDlmYTdhNDRlZWM2YzY4OGRmYiBsZWdhY3ktdHJ1bmsKKzgwMDIgODU4MmY3NGExZDIzNWQzZDMzNzZhMDJiZGFlYmU0NWVkMGIzN2FhNiBsZWdhY3ktdHJ1bmsKKzgwMDMgYmM5ZDU0NTIzODYyODAyYjdlOTkxNWI4ZmIzYzA2MzYxNjQ5OWViZCBsZWdhY3ktdHJ1bmsKKzgwMDQgMjZlZmY2OWVkNTUyM2NiYTQ3Zjc4MmI4YTcxZmQyMTk4Yzc5Y2RjZSBsZWdhY3ktdHJ1bmsKKzgwMDUgMzI1ODQ2M2YxY2EyNzVlMjY2YjlkNjc0YjE0OTQxNjJlMTU2YWE2ZSBsZWdhY3ktdHJ1bmsKKzgwMDYgZjVkZWNjNWQ3MDczZWY5ZjI1OThkMjg2OWUyMzQ1MmRmYmY4MGEzNiBsZWdhY3ktdHJ1bmsKKzgwMDYgYzk0OThhYzk4ODM3MjU3NWNmNzAyOGI4NjM5NWI5MDBjOWIwYTg0MCBsZWdhY3ktdHJ1bmsKKzgwMDggNTQ1NGZlNDkyNWQzNjU2NWIyYjY4YmY0MmRjYWY5MGFlYjM1MjllZCBsZWdhY3ktdHJ1bmsKKzgwMDkgMzBkNTU5ODI3MDQ3OTZlMWFjNjE2MzkxZDczZGYxZTQ3OWNlZDU0YSBsZWdhY3ktdHJ1bmsKKzgwMTAgODI2ZjI4OTg1YmVhZGY1OTEwNWE0MjU2YzczZmQ3YjM4MzI1MDgzMiBsZWdhY3ktdHJ1bmsKKzgwMTEgODRkM2NjYTgxNGZiZDBkNjUzNDkyMTEzOTY4MjZhMWZkZGVkYjRjNCBsZWdhY3ktdHJ1bmsKKzgwMTIgMjBjMmI3MTUxODhlYTk3NWJlYzQ4MmMyMGUxZmEzYzNmMGU0NGY0MyBsZWdhY3ktdHJ1bmsKKzgwMTMgYzZmMDRlOTY1NTA4MTgxNzc3NWRiNGMxMDQ3YjBiMDg2NDVjOGU5OCBsZWdhY3ktdHJ1bmsKKzgwMTQgYjFkZjkzODY1NWUxNWQ1MzkwYjU2NWZlMmMzMmIzZWRjMDAxMGI4NCBsZWdhY3ktdHJ1bmsKKzgwMTUgNDcyYzhlNGNjOTc0MWZiZWJmZmFiMjc1YzYzYWViMDc3MWJiNDlmZSBsZWdhY3ktdHJ1bmsKKzgwMTYgOGY4NzFhMDMwYjhkMTQwMjk4NTkwMjNiOTY2ZWEzNTc5ZjFhN2IyYiBsZWdhY3ktdHJ1bmsKKzgwMTcgYTBjYzAwNWVjY2Q3ODdiNGIxOTU2NmI4MDcxNmY0MDkyZmJiZTAyNiBsZWdhY3ktdHJ1bmsKKzgwMTggYjU3OWM1OTE4ZjJjYjM1YjBhMTlmNDUzZTBmMDIxN2FiMjJmZGFiNyBsZWdhY3ktdHJ1bmsKKzgwMTkgY2ZjMTNmM2YzODc2OTlkZmE0YmY3NTkzNDkwNDYwN2FjMjQ1Zjg0MyBsZWdhY3ktdHJ1bmsKKzgwMjAgMzdjOTM5ZjcwZmFjMDFkMDI2MmU0ODc2NGZjNzk1OGE1YjkwZTBhOCBsZWdhY3ktdHJ1bmsKKzgwMjEgMGJiYTkxNGJmN2IyYWNhNTFhYTM3YjMxYTk2MWY3M2Q3MDI3NzRiYSBsZWdhY3ktdHJ1bmsKKzgwMjIgN2U0MjI4NzgwZmY4YzFhMzRjN2E4ZDFjYzhjN2YyNTRiMGI0YzkwNiBsZWdhY3ktdHJ1bmsKKzgwMjMgNmMwN2Q0NGE3MDgxMDhjYzVkYjQ0MGQ0ZGVkNzU0NjcwMTc2YjA5ZCBsZWdhY3ktdHJ1bmsKKzgwMjQgOThkNGU5N2RhYWMwNTQ2ZDdmZTYwZGFiMGRkN2YwNDBjYjhmODcxMSBsZWdhY3ktdHJ1bmsKKzgwMjUgYTIyY2FmMTI5MzQ1MzhlNDQ3MGNhODc5YmZmNDFiNWM5ZGU1YzQ1OCBsZWdhY3ktdHJ1bmsKKzgwMjYgNTI2MTBlY2VlMzY3YTc5MzhhMGI0MTgzOTliN2EzNzNhZGY3YjkwYiBsZWdhY3ktdHJ1bmsKKzgwMjcgNDM4MjJlNGZjMjdkNDc2NDFhNGFkYzNkNWVmNjhmYjQ3NzZlOTEzYiBsZWdhY3ktdHJ1bmsKKzgwMjggMzQ1MDljMDUyNjZmMjI5ODQxOGVmMzhkMGVkMDRhN2M4Y2VmZGI3NyBsZWdhY3ktdHJ1bmsKKzgwMjkgMmRmYzcwN2Q2ZTY4NTE5NWJlODY2ZTg4Y2I3ZDk4ZDY2MDgzZGEzZiBsZWdhY3ktdHJ1bmsKKzgwMzAgMThmZDA3ODY5YjEzYzQ4YjhiNTI3ZmI5MTU1OGIzZDMwZmZlZDBmYiBsZWdhY3ktdHJ1bmsKKzgwMzEgYjVlNjQ4ZmRlMDk5Yzk2ZmVjM2NjNTlmNmIxNmQwMTIwMzgxNDBjMyBsZWdhY3ktdHJ1bmsKKzgwMzIgOTg5ZjRmZjczNDI5MTVhYTBmOGVhYzZmZGIzNjUxYmU1OTJjYTE0NiBsZWdhY3ktdHJ1bmsKKzgwMzMgZmE5ZmFkYTkxNmI0NTMwMzlmOTkyNzBiZTFiNjhkNzY3M2MwYWEzMyBsZWdhY3ktdHJ1bmsKKzgwMzQgNDMyOWU0MDc3Y2YzOTE1MWNmMmJjNjJiZWQwYzNiMjI3YWQ2MjM4NyBsZWdhY3ktdHJ1bmsKKzgwMzUgZWYzYmE4Yjk5ZGEyZWZmZmJhM2NmZmI2MDk5MjIyYmNkOWUzZWI5ZiBsZWdhY3ktdHJ1bmsKKzgwMzYgMWVjZWQxYWFhZDVhOGE2NWU2MzMwZDBiNWJhZWMyNTI3OGM1OWFlNiBsZWdhY3ktdHJ1bmsKKzgwMzcgOGVjMjk4YjI1NWEyMGI2NzBhM2ZhZDgyZDc4MzNlOGE1YTI5NzE2NSBsZWdhY3ktdHJ1bmsKKzgwMzggNGRjZjI2ZmU0ZGE1OTUxYjA5OWY1ZjBkYmViZjI4ZTBhZWIyYmU5YyBsZWdhY3ktdHJ1bmsKKzgwMzkgM2YzZDJkNDc0YWNhMGY1Y2ExM2E0NGY3MWEyNjBjYmU0ODQ2NzBlNSBsZWdhY3ktdHJ1bmsKKzgwNDAgZjFiMDM4NzU4YmRhOTNiMzNlNWM4Y2ZhODM5MTNiYWM1MWU5ZTMzMCBsZWdhY3ktdHJ1bmsKKzgwNDEgNmU5NDQyNzlhMzE0ZjMwMDQwNmRmMGJkMmVmZjNjZTI3MDY2NmZkNSBsZWdhY3ktdHJ1bmsKKzgwNDIgNWZmYWI2NWY4ZDA1MDk4OGI5MDY4NzQ2NTM1ZjJlNGY1ZjY4NTkyOCBsZWdhY3ktdHJ1bmsKKzgwNDMgMTlkNGEyODc0NjQ1NGMzNDExYzBmNjViM2RkMjViMzhiZmE4NTcxMCBsZWdhY3ktdHJ1bmsKKzgwNDQgOTMyY2ZjNWZjMTA0YjI0ZDExODg4YjllYTk0NmMzOTdkZGE2OGQ4MiBsZWdhY3ktdHJ1bmsKKzgwNDUgMTM5YWIyMWQyNjI5YmU0OThmMTg4Y2NmODUzMDM5M2I3M2NjYWUwMiBsZWdhY3ktdHJ1bmsKKzgwNDYgODE4Y2ZmZjNhYTVkOGJjYzFiNTA2MDJhY2Q2Y2EzZTc1M2UzMWM4NyBsZWdhY3ktdHJ1bmsKKzgwNDcgMTFlMmUzZmY5ZmM3YjE5ZWJjNDBiOTQwODU5OWVkNTUyMjM4ZDVkOCBsZWdhY3ktdHJ1bmsKKzgwNDggM2U2Nzk1MzBhZmM5ZWM2NGFjZWNiZTBlNzI2YzY2ZjA5Yzk2YTYxMSBsZWdhY3ktdHJ1bmsKKzgwNDkgYjIzMTg1NWE5NDc0NGRiZGUyMzg0MmRiNDc3N2Y2NWI2NWUwOGM4ZSBsZWdhY3ktdHJ1bmsKKzgwNTAgYmY5ZjEwNGFiZTc4YTU1YTlkZTZkZjE1OTc1MzkyYjM2MTY4ZTA4OSBsZWdhY3ktdHJ1bmsKKzgwNTEgODRkN2NjNWU2M2NkYjc2NWNkZTBhMTlhOGY3MzJmZDUxODVmNGVhZiBsZWdhY3ktdHJ1bmsKKzgwNTIgNmE5ZjI2M2UyYjQ4Y2FjYzhiODdlOTM2Nzc5ZjFhODI4YjcwNjUxZiBsZWdhY3ktdHJ1bmsKKzgwNTMgYzdkODEyZTRhZjBkM2Q5M2UzODQyMGMzMDRkZTVmMWJlZjZkNDhlYyBsZWdhY3ktdHJ1bmsKKzgwNTQgNmM3MmI5MWM4YjgzZDFhYzNiNDUxZjU1ZTE1NzkwMjgxMTE1ZTIwNyBsZWdhY3ktdHJ1bmsKKzgwNTUgOTM3ZDllYzJiNTYwNTE3YTJkYTJmNDJjMmUwYWE5MTg1YzNiMWM4NCBsZWdhY3ktdHJ1bmsKKzgwNTYgNDg2ZDVlOTg5MzhiYmE0ZDRiZmUxNDQ2Mzg5ODE0NzA3M2Y3ZTViZSBsZWdhY3ktdHJ1bmsKKzgwNTcgY2U1OTk3M2FjY2RlN2UwN2QyOWFjZjRmNzQ1NjNjM2M2ZTA4Y2U1NCBsZWdhY3ktdHJ1bmsKKzgwNTggN2UyYWQ5ZTMyZTBkNWRkNTNiOGRmNzIzYzBkNWQ2OWM1NzIyZjZhZCBsZWdhY3ktdHJ1bmsKKzgwNTkgODdkNWQ3ZmE4ZDA3ZTZiOTk2NjQ1ZmY5MmI2NjZkYTA2ZWMxY2QxZCBsZWdhY3ktdHJ1bmsKKzgwNjAgZWRiY2ZlZDdmYzdiZmM4OWU1ZTljYTFhZWFlMTA0N2UyZjQ3MTRmMyBsZWdhY3ktdHJ1bmsKKzgwNjEgODVjNTA0M2M5MzE2NzdlY2FiZTU4NmU4NGYwYzU2NDE1MmZkNzVhYyBsZWdhY3ktdHJ1bmsKKzgwNjIgNTdkYmRjMmIzMDIyNmYxMDNhMDFhZjdhM2U1ODlkMjg1NDE1MzZiZiBsZWdhY3ktdHJ1bmsKKzgwNjMgNzg0YmFmYjQ3ZTFmNmRiZjc0YmUwYjY4ZmE4OGFjMTEyZmVjNWMyNiBsZWdhY3ktdHJ1bmsKKzgwNjQgNmE0OGE3ZTcxMWQ4NmNhMjJhYWViNTA2MTI3MWFiZTAyOWJiMTdkMCBsZWdhY3ktdHJ1bmsKKzgwNjUgNTNjZGY5NGI2NTJiODNlNTY1MmY1YzcxMGU5ZWIzNGZkZDM5ODI4ZCBsZWdhY3ktdHJ1bmsKKzgwNjYgNzk1Y2E5NzVkOTZmODhlMjgzY2JkZjY2YmM1OWMzMTAyMTFhOGJmNCBsZWdhY3ktdHJ1bmsKKzgwNjcgZjNmNjU2ODdlNDI2MGRhZGY3ZGRjMDlkMWU2ODExMDc2MzdhYWI4ZCBsZWdhY3ktdHJ1bmsKKzgwNjggZGE0NzVlMTA3YTY4Zjc2OGRjNGRhMzFhMGJlODE3NTBhOTNmNTg4MiBsZWdhY3ktdHJ1bmsKKzgwNjkgZTNkNTI1ODJkMzYwNzgxMGQ1ZTNkOTJhZmM0MDQ5ZGRkNzc4ZDgzMiBsZWdhY3ktdHJ1bmsKKzgwNzAgNDUxYzdjY2YzNmI2N2YyZDFhZjhmNDRjMDA2NjNlYzYxNTNhMzA2NCBsZWdhY3ktdHJ1bmsKKzgwNzEgNGM0NjIxYWE5ZTc2NzdlNjEwOTYzYzNjZDMwMjAxYjIzNmQ4NmExNCBsZWdhY3ktdHJ1bmsKKzgwNzIgYzVhNTY3YWYxM2VlN2NmM2NhOTA4ZGRkYWY4Y2I3M2E3MDExNWJmNSBsZWdhY3ktdHJ1bmsKKzgwNzMgMmUyYmJlOTg1NjIwMjIzNTRkYmQ1OWQ1MTBiY2U2NjFkMTE1YjE4YyBsZWdhY3ktdHJ1bmsKKzgwNzQgNTUxNjkxNWZmZWU3ZDc4Mjc3MWIyZjMzNzc2OGQzMDIzN2UyMThkOCBsZWdhY3ktdHJ1bmsKKzgwNzUgMWYyMDZjOTFkYWVlMTgwMGY5M2M5ZWFjMzU5MzUyZTNiOWI4NTJlOCBsZWdhY3ktdHJ1bmsKKzgwNzYgYjVlNTFhZTlmODMyZTVhMzk4NjBlODQyZDg0MThhOWEwN2MyMGI3NiBsZWdhY3ktdHJ1bmsKKzgwNzcgZDk1NGRjMjQzZWIwN2FhYzUzZjk2NTFjNzFiMDg4MzBjYjMwNTBiYyBsZWdhY3ktdHJ1bmsKKzgwNzggYTYxMDIzYmNhMGE5NzQzNzlkYTcxNTRhMzMwYTE0NTg3OTM2ZDA1ZSBsZWdhY3ktdHJ1bmsKKzgwNzkgMDI5NGE2N2JmYmRiNDM3ZmFjYWM0MjM4ZmRlNTIyODllMWNmZmZlYSBsZWdhY3ktdHJ1bmsKKzgwODAgZjQzNTU5ZDIzYjNkNjhlOTVlYjYxYmEzN2ExNzFlYmQwZmVjZGMwYiBsZWdhY3ktdHJ1bmsKKzgwODEgODU5ODBlYTVlODA1Y2Y5OTBkMjgzZGU4ZGY1MjhjZTI1ZmZlNDQ4NCBsZWdhY3ktdHJ1bmsKKzgwODIgODlhZjViZjhmODczMjA0N2NkNmI5ZjI2MWE3OTdlOWEyNjA1YWE1YiBsZWdhY3ktdHJ1bmsKKzgwODMgNDk1ZmJkZTY0YTczYjVkYjZiOWQyYzRiYzNiOTA5MjVkMGJlZjljYSBsZWdhY3ktdHJ1bmsKKzgwODQgY2JiNGUzY2YwODZlMjIxYWQzZGZiNTQ0YzIyMTkxMjAyMzYzOWFhNSBsZWdhY3ktdHJ1bmsKKzgwODUgNzllNDljYmNlMmVmZDJmMGM2YjljMzg3MDlmMGNlMGIzMjAyNzNlZCBsZWdhY3ktdHJ1bmsKKzgwODYgZjI4ZWVhMDJjZjk0NDYyYmI5OTVmYWIyNDkzMTg5NjQ4MDgyZDgxYSBsZWdhY3ktdHJ1bmsKKzgwODcgMTBlOWNmYTAxMGYwODk3NjFmZTc5Yzk1Y2Q3Y2MxM2Y2NzBlNjU1NCBsZWdhY3ktdHJ1bmsKKzgwODggNWVkM2EyMWNjMTIyOWMxNzk4ODUyNDUzYzFlN2ZkNGQ5MWI1MzFhMyBsZWdhY3ktdHJ1bmsKKzgwODkgOGQ0MDVmNzEyODJmOTZlMDE2OGQ4NjBkZjEyN2E1MDEyNWJiMGU4NSBsZWdhY3ktdHJ1bmsKKzgwOTAgMTkwZTM1YmJjMTVhZTIzMjc4N2RlN2IyMDk1MzFmZDIwMGM2YjI0NyBsZWdhY3ktdHJ1bmsKKzgwOTEgNzI1NGVlMmE4YWJkYTcwODlhZDE0MGNlZWYyY2U2ODQ4ZmMxZmExNCBsZWdhY3ktdHJ1bmsKKzgwOTIgM2JhMDhkNmU5YjdmMjg0MWIyODM1NGUwMzY4YzA4NjJlYmIzNzBjMiBsZWdhY3ktdHJ1bmsKKzgwOTMgYmFlMmMwMTg5Zjg1OTRhOGEzNjY2MjM3MzY2NzBkMDdmNTU3NDg5OCBsZWdhY3ktdHJ1bmsKKzgwOTQgNzA4NTU1NzQ1MTZiODZiOThjNTE1OGRlYTFkMTE0MjZjMmFkMGFkMyBsZWdhY3ktdHJ1bmsKKzgwOTUgZmRkMWUxYTUzMGFmOGMwN2Q1YzI3MjJlZWFmMmIyNjE5MDc2M2M0OSBsZWdhY3ktdHJ1bmsKKzgwOTYgN2ZkYTc4NDFkYjkxODJmOGU3ODQ3YWQyMDQyMTUyNGU3MWE1NGFiNyBsZWdhY3ktdHJ1bmsKKzgwOTcgMDU1NmVhNjg3YTk3ZDgxODEwNTk0MGFjZGU4NmZlYWE3YzFkMWYzZSBsZWdhY3ktdHJ1bmsKKzgwOTggZTE0MTNmYTY0YjgzMWI3NDVkZmE0NWM5Nzk3MjNjMjZjM2MxNjRiOCBsZWdhY3ktdHJ1bmsKKzgwOTkgZjhlNDUyYTFmNjQ0ODNiY2Y2ZWQwYjNjZDM0YjA1Y2E1MmYxYmI1ZSBsZWdhY3ktdHJ1bmsKKzgxMDAgZmE2YzkxYTVmNDFiNzgzODc1NWUzMzc4ZjY1NjQ2OWVkMjZkOWRmMiBsZWdhY3ktdHJ1bmsKKzgxMDEgMzJiYWZjOWU5YzRmYzM2YzgwOWFmNjMwZjI3MGFiNDgwYmQyNzQ0ZCBsZWdhY3ktdHJ1bmsKKzgxMDIgYWNmY2UwMTVkZmRkMzZkZWUwYWFhMWI1YTFjMGNiOWVmNzYwNDgwYyBsZWdhY3ktdHJ1bmsKKzgxMDMgNjk2ZTc1NDA2NGMzN2YwYjY5MzFiYjFhNTBiMzk1ZDg1MGZjMWRiMiBsZWdhY3ktdHJ1bmsKKzgxMDQgNGQxMmU2ZTljMjdkMWU1MzY4YTc0NTBiOTMxOWRiMzU2NzVmYjMwZCBsZWdhY3ktdHJ1bmsKKzgxMDUgOTkyNDgyNWRhNGIzYTY4NTAyZTAxMDcyZTc5MjAzMWI2YmFiMmVkMyBsZWdhY3ktdHJ1bmsKKzgxMDYgZTZhMjMzZmM4YjliNDE0YWQyNjgzODQ2ZjEyNjVhNTJjZmJkN2M1YyBsZWdhY3ktdHJ1bmsKKzgxMDcgOGFmOGVlNzk3YzA5NTJjZjcxMmY4MzY4NjQ5ZGJiNDAyMWQ1NjI0YiBsZWdhY3ktdHJ1bmsKKzgxMDggOGM1NGM3Nzc2NzQ0OTBlODNiYzNiYzA3ZGI4MjFkYWRiZmI1M2NmZiBsZWdhY3ktdHJ1bmsKKzgxMDkgMDBmYzQxM2EzYjhiYzc2ZWIyOGU1NDcxOTI0NDliMzJmM2I3YmE4NSBsZWdhY3ktdHJ1bmsKKzgxMTAgYzY5Yzc1OWY0MzY2YzU2MDU1ZDA0YWI4ZGIyZGFlODAxNWFhN2MzMiBsZWdhY3ktdHJ1bmsKKzgxMTEgZWM5N2Y0MWM3YTA0ZWI0M2Q4OTRlNzVkNDEwYjE4NGNkYTQ4YzJjZCBsZWdhY3ktdHJ1bmsKKzgxMTIgYWNjNTVkNzA0Njc0NzhlMGVlZTg0YWM1OTQyNDg4ZDk0NTU5NjAwZCBsZWdhY3ktdHJ1bmsKKzgxMTMgNzViYTY0YzU1ZjJlMTJjOTUwNGNkZWFiNTYxZGVkZDM4ODQ0YjQwMCBsZWdhY3ktdHJ1bmsKKzgxMTQgMTdjYTdlNGU4ZmQ2ZTgxZmQ5ZjQ4ZWMwNWM3ODdlZTY4YjBmZDc4YSBsZWdhY3ktdHJ1bmsKKzgxMTUgZjkxNDM5ZDhmNjZlNDcyNmZmMWYyMTAxOTg3OGE4MGQ4NjdhYzY2ZSBsZWdhY3ktdHJ1bmsKKzgxMTYgNDM3MDU2NDdmZWI5Mjk3ZDVlZTJmYTUyYWFjNjM3ZDk2NGZmZDU2NCBsZWdhY3ktdHJ1bmsKKzgxMTcgNTdhMjYxZmE1OTZjNmYyNjRiYzdkZDc5MDJhNDUzOWU3NjI5NWRmNCBsZWdhY3ktdHJ1bmsKKzgxMTggNjVlYTQxZjJkMzRkODBmNzc1ZTkxZmNmZTA3MmE5ZjUyMTQ2ZjU3ZCBsZWdhY3ktdHJ1bmsKKzgxMTkgMGVmNzAyYjgwNDZiYTZmYTM5OTE4NTdkNDc0Y2VmNWI1MmIwYjgwNyBsZWdhY3ktdHJ1bmsKKzgxMjAgOTY5NDliOWY0MmNiOTAyNGQ1Mzg5YjI5OGQ1NWFlNzg2MmRjZDUyYSBsZWdhY3ktdHJ1bmsKKzgxMjEgN2MyMDlkYWJkOGM4MDAwMmNmNmVlZmVkMDQ2MWYxNDQ4MDgyOTNiZiBsZWdhY3ktdHJ1bmsKKzgxMjIgZTU5Mzc0ZTIzZmRmNmU0NjU2YmM3NWQxYTkxMzFiMjAyNjVmNzc2ZSBsZWdhY3ktdHJ1bmsKKzgxMjMgYzYzZTI4M2JiMmU0NjYxNDhmN2MxYWY1NGQwNmMwYzQ5ZDBiZWZkNyBsZWdhY3ktdHJ1bmsKKzgxMjQgYjQ5ZDgwMzdhNWNiYWUzZjQwNGM0N2Y0NmY0MzA5OTI2YmMwNGRhYiBsZWdhY3ktdHJ1bmsKKzgxMjUgMGNjOTdlNzVhMzYxMzkyOWY0YzYwOTU2MDVkODFkNTkyMDM3NDEyNCBsZWdhY3ktdHJ1bmsKKzgxMjYgMDdlMWFhYjIzMTE1MzQyM2VlZmQ1NTAzNTY1YjZiYjhlM2QxOGIzZCBsZWdhY3ktdHJ1bmsKKzgxMjcgZDQ1ZGM3ZmU0MmFmOWUzZTk4NjE3OGY3ZDBmYWM5N2ViZTRhM2FlNiBsZWdhY3ktdHJ1bmsKKzgxMjggOTVkNmUxNzk1NWVmYzhiYmQ5MjRhNDY0NTUyZTlmYzUzZWEwYmE2ZSBsZWdhY3ktdHJ1bmsKKzgxMjkgNjAwOWQ1MzkwNTg0OGNlZjkzOTFkNWQyZTBmNzg0MDM5ZjZiMzAwNCBsZWdhY3ktdHJ1bmsKKzgxMzAgMzA5NjAyYzg3OTI5MjQxNjljZjA3OWM5MTkzNDFiMTIwNzU0ZTRhNyBsZWdhY3ktdHJ1bmsKKzgxMzEgOGUxNGQ1NGE2NDE5ZDI5YzlmM2EzZmYwMmIyZjI3ZTMxODMxYTUzMyBsZWdhY3ktdHJ1bmsKKzgxMzIgMGI1NzQyZDMxODlhMjQwZWU0ZTM5NzM5YWVlY2I3MDdkYWEzNGFhYSBsZWdhY3ktdHJ1bmsKKzgxMzMgZDE3NWNhYzU1MGI5OGE2MThlNDM1NTcyYWVmNTUzOWI4NmVjOTEzNyBsZWdhY3ktdHJ1bmsKKzgxMzQgZGRlZDQzOWI3YjhhYjE2MTIxOWI3N2M3MWU3MDhlYTc4ZTY2OTIwMSBsZWdhY3ktdHJ1bmsKKzgxMzUgMTI2NWNhNDRmMDRiOWJjYzlmZjk5ZGRiOWNlMjg2ZDA5MmRiNzViNSBsZWdhY3ktdHJ1bmsKKzgxMzYgNmY5YTJjODc0MDE4ZWQ4YmZkYWUwNDJkYmZiYjVlNDk4MmYwNDA3NSBsZWdhY3ktdHJ1bmsKKzgxMzcgZWZkZWU3ZDQzMjcwNGQwN2EzNzU0NWRlMGMwNWQ0YmVlZjVmNGEwMiBsZWdhY3ktdHJ1bmsKKzgxMzggM2RiNzU0YWJmZjM2MmYwOTNlZDhiODFmMzM4NGZjZTdjOTEyZGNhMCBsZWdhY3ktdHJ1bmsKKzgxMzkgNmJkM2EyY2VjMzUzMGZlN2ExMWQxMmJlNjU1NzQwNzg4ZjdiY2M3ZiBsZWdhY3ktdHJ1bmsKKzgxNDAgMTgxNDk5ODBlY2U5ODM2OWU3Mzc0YmU2MmFlNThhNTBiMWU3ZTIwNiBsZWdhY3ktdHJ1bmsKKzgxNDEgMWRmYTRmMTdkOGZmZjYzMWRlMGQ3OTAyNjBkNDdjMTA1MDg1ODQ1MyBsZWdhY3ktdHJ1bmsKKzgxNDIgYjViYmU1MjIwZjZiYWE5NjEzMWM5MDY2NGZmODBjYmY3NTNlNWJkYiBsZWdhY3ktdHJ1bmsKKzgxNDMgMzQ3MDY4OWE5N2Q3MmEwYWVhYzAxNzM5MGQ4NDM4MTM3OWMwZTMzNiBsZWdhY3ktdHJ1bmsKKzgxNDQgNGE1ODQ5N2MxNGE4MTY3YjMxY2Q5ZDU4MGYxN2EyM2FkMWIyMjk0ZSBsZWdhY3ktdHJ1bmsKKzgxNDUgNjc2NzlmMmVkMjE3NjNiMTQ2Zjg0MTI5OTk2MTc4MDBlNDU5YTA2MCBsZWdhY3ktdHJ1bmsKKzgxNDYgODUxMzRiOTdhZTRkNTQwNzA2YzM2ZTdkZmRkMjA5OTIwYWJhYzg3YyBsZWdhY3ktdHJ1bmsKKzgxNDcgYzM1MDFhOWQzYzIwNTlmMWVhOGY5YTE0NWMxNDVjMjM2NDI2N2IwNSBsZWdhY3ktdHJ1bmsKKzgxNDggZDY2MzA0OTYzY2E3ZmU5MTY4MGNlZDY3ZmVhNzVmNThjOWVkNTA2YyBsZWdhY3ktdHJ1bmsKKzgxNDkgMTkyNmU2NDkyZDNmNzhkNTUwYjVjYmY4MTIzNTg0OGYyMWI2YTRiOSBsZWdhY3ktdHJ1bmsKKzgxNTAgYTlmZmRmZjA1NTdmOTVlZjY1OWQzNjk1ZjFmZTM3ZmRiMzI4MDU1NSBsZWdhY3ktdHJ1bmsKKzgxNTEgZTVkZTcwNzMwMGUxN2YwNzU0NzNlOTc5Mzc2MTlkMWMwZmNhZjBlZiBsZWdhY3ktdHJ1bmsKKzgxNTIgZmQ2YWNhZDdjYzdhOTdhNGRkNDFiNTZkNzk3YjRhZmM0NjJlY2E3NSBsZWdhY3ktdHJ1bmsKKzgxNTMgZWY4YTE1OTAyYTQ4N2FjMThjMzFjOWM5OTcyMTQ4MTZhNGFjZmIwNCBsZWdhY3ktdHJ1bmsKKzgxNTQgNmZkYTFlNmUyNjE2Y2I1N2IyYTBhMDFjNTMxODZhMTczZTA0ZmEyYSBsZWdhY3ktdHJ1bmsKKzgxNTUgNjRlNjExNjU1ODlhNzkzMTlhZDg5NmFjZjQ0YzdhMjkzMmI0NGU0NiBsZWdhY3ktdHJ1bmsKKzgxNTYgZDU5MTFjYThkNGViM2FmNGNmYzM0ZjZkN2M5NDkwMzVmNDYyYjEyMiBsZWdhY3ktdHJ1bmsKKzgxNTcgMTJkNjRjZGJhYWEyM2UyYzM3NDJhNTUwOWUzMjcwOTM2MGJjMGEwNSBsZWdhY3ktdHJ1bmsKKzgxNTggZDg4Y2I0ZDI2ZjEzZWQzODI1OWM5ZmQ2YjY3MGVkOWJmNDY4YjMyNiBsZWdhY3ktdHJ1bmsKKzgxNTkgZWE3MmJmZTM5NWJhMjE2MWVlOWE1ZDU3MDMzZjZkNjQzMTdkYTg3MiBsZWdhY3ktdHJ1bmsKKzgxNjAgY2QxYWU2MmVkMmNmZmMzYjhhYmUwYWZmYzQ4MmM1M2IzNGYyZmRlOCBsZWdhY3ktdHJ1bmsKKzgxNjEgYTA4MzFkZTIzNThjMzBlMjI4MjQyNTBkZDRiMDNiMDUyOTU4YmM3NyBsZWdhY3ktdHJ1bmsKKzgxNjIgMDlkODdhZDc1Mjc4OTg3YTlmNTVjYjllNmIzYTZhZDA1ZWExMTZjZCBsZWdhY3ktdHJ1bmsKKzgxNjMgMjA3N2EzMmQ4NThlZjY1MjVjZjJkNjAzMzgxNWI5MzZlMDRmZDI0MyBsZWdhY3ktdHJ1bmsKKzgxNjQgOGI3ZmFjZTliMWE3ODJhNjk5OTFhNDBlOTEyMmRmMmUxMWIwZGRiMCBsZWdhY3ktdHJ1bmsKKzgxNjUgZTc4ZDFlMGVjYzU5ODdjMjNjNDc1ZjNlNjI3NGMzMzA1OWU0NmUxMSBsZWdhY3ktdHJ1bmsKKzgxNjYgNTJjMTNmMTM4OWVmYWQ0ODk5YjE5OTBjZTBkZTRlMjZjMGU3NDNkYSBsZWdhY3ktdHJ1bmsKKzgxNjcgNGU4MTdiMmFkOTkxMGJjOTYwMzZmMjk1NWI2MjY3NzFhN2E0MmM5YyBsZWdhY3ktdHJ1bmsKKzgxNjggMzgzODNhZGEzODhlOWEwMjQ5MWY5ZjdlNWEyMmVlZWI0ZDg2OWFjZSBsZWdhY3ktdHJ1bmsKKzgxNjkgNDQyOGYxMDg0YjZjNjcwMzhlYWY5NDNlOGMwYTZkYTc4NjllZWUyNiBsZWdhY3ktdHJ1bmsKKzgxNzAgYTk3ZmRlMjgxOGZiZTQwZjMxZDc3MGIwY2ZiNmI5MjJjMWEwMjgwMCBsZWdhY3ktdHJ1bmsKKzgxNzEgMDEwOTA5ZGZjMzNlMmUwNmMyZjZjZDBiODYxNjQzYjUwMzY4YTMzZCBsZWdhY3ktdHJ1bmsKKzgxNzIgMDJlYTlkMDIxNDI3NDc2MWZlZGIyOThlMzQzY2M3MzNjM2UwYmIxNSBsZWdhY3ktdHJ1bmsKKzgxNzMgOWI2MjFhYzA5MjEyMWMyNTZjZmYzNDU0MTdhMTg3ZTE4YzBlOTBmZSBsZWdhY3ktdHJ1bmsKKzgxNzQgODhiMGIyYTNhYWI1NmE1YTk5NzJlYTAyNWZmZGJhOWVlNzM2N2YxZiBsZWdhY3ktdHJ1bmsKKzgxNzUgYmE4NjBkYzBhNTg1MTRmMTY5YzgwZTEyZTc0ZTI1MjRkZWFhZTM1OSBsZWdhY3ktdHJ1bmsKKzgxNzYgNzZmZDUyODFmOThhN2I4ZjgzOGQzODlmODk2MDJhMDU0NmJkMGY3ZiBsZWdhY3ktdHJ1bmsKKzgxNzcgNjBmY2E0NzgzNzkzNTZmOGQ5M2RjNGYyYTFjZTIyNTFlYmNkZTc4NyBsZWdhY3ktdHJ1bmsKKzgxNzggM2ExYmIxYzk4YzE0MGU4YjQ4MjQyOTFmMWMxNzJkZTFmMjZkNTMyNiBsZWdhY3ktdHJ1bmsKKzgxNzkgNTc2NjU3MDM4MWYyNGFlOTc5MzI4MGNlNTE0ZmU4NDUxMTVkYjVhYSBsZWdhY3ktdHJ1bmsKKzgxODAgMDNkZDFkZWQ1Y2IzZTg2NGU0ZmUzMDBjNWQ3MDdhOWFmYmNiY2M2MyBsZWdhY3ktdHJ1bmsKKzgxODEgYzY2MjM2YjdjYzZjYTRiNGMyYzRiYWIxOGFhZTFjZDI2N2UwZmJhMSBsZWdhY3ktdHJ1bmsKKzgxODIgYmEwOWI0MDdhMGJiOTNmNjRhNTU2NTBkMWFjYzk4NzY4M2FjOTk5MyBsZWdhY3ktdHJ1bmsKKzgxODMgZjhiYmQ3MWZiODE5YTU0MzliZDcyMWI5ODAzYjcwNGY1OTI3MmExMiBsZWdhY3ktdHJ1bmsKKzgxODQgNDA0YmEwMTdhZDQyN2I4MDAyMjIyNWU5MDU5YWNhNzg0ZjQzNDAzMSBsZWdhY3ktdHJ1bmsKKzgxODUgOTljZDM5ZjZhNTJkYjEzMGRmMjgyYzFiNzJmOTJhOWVhYjdmZDBhNCBsZWdhY3ktdHJ1bmsKKzgxODYgNjcxODMyNDcwYWExMTM0NzZlZDU0MGYyYWYxYWU0ZTM4NThiNTkzNiBsZWdhY3ktdHJ1bmsKKzgxODcgZjFkYTI5NDc3MmNmMmI1ZmQ5ZmUzMTZlYzhlY2I3ZWY4YmNlNzRiNSBsZWdhY3ktdHJ1bmsKKzgxODggZmIxNzBjZTgyOTUxMjkzNzRkNDNjMjg5YjVjNmViNzFlZGJhNGE0YyBsZWdhY3ktdHJ1bmsKKzgxODkgNDMzYzllN2VkYjYwODkwN2ZiZDkzOTc2ZDU3MWUwY2E4ZWNmZmJhOCBsZWdhY3ktdHJ1bmsKKzgxOTAgZWNlZTU1YmFhY2UzMDg5NmYxYjJlYjFkM2QzN2FiYWM0OWYzYzBkMSBsZWdhY3ktdHJ1bmsKKzgxOTEgZGVlMGE1OGE5MTMyMjI2ODA4YTM0ZGE4NWRkZWI0MWYxMzZlMDM4MCBsZWdhY3ktdHJ1bmsKKzgxOTIgMzc2MzVlZWEzYmNjODM5N2RlNDE4YTQyYWYzODdhY2Y4ZDgzZTFiMSBsZWdhY3ktdHJ1bmsKKzgxOTMgY2U2NGE4MTM5MjE2NjYwNTVhOTMwYjUyNDk0YjExMTFiNGQ1M2VhYSBsZWdhY3ktdHJ1bmsKKzgxOTQgM2M2NzQzNmEyOGU2MWIwMGM1YmQ1MDY0M2YzNThlNDhlNzI2ODRmMyBsZWdhY3ktdHJ1bmsKKzgxOTUgNTVkZmY4MTY5Y2Y1NGMwMzFhOGQ4NDYxMTg5OGNhMzM4YzI5Y2Q4NCBsZWdhY3ktdHJ1bmsKKzgxOTYgM2IzOGU4ZGI1ZjIxZmRmZWNkNjQ3NDBlNTg3MmY2ZWQzZGZkMzk5OSBsZWdhY3ktdHJ1bmsKKzgxOTcgNjEzYmQyMzdjZDU1YzUyMTE0YzljNjA1YTRhYmY4M2RmMmE3OGUwYiBsZWdhY3ktdHJ1bmsKKzgxOTggMTM4YjE3NmVjNDBmNDNjNGMwYTVjYzQ0N2Q2NTUyMjY4YTc2ZTkwOCBsZWdhY3ktdHJ1bmsKKzgxOTkgNmM5NzM2ODY1NjA4OTA1NWQ4YmJmNTVhMzY1ZDJkNWVmZDJhYWExZiBsZWdhY3ktdHJ1bmsKKzgyMDAgYmVlZTM1MWYxZjcyYWVmZjU2MWVkZmY4NjZhOTI4MWZiOWRhNjE3YiBsZWdhY3ktdHJ1bmsKKzgyMDEgZjlhZWE3MzhkNDM1MWVkMTQwMTg1MDRmMDYxOGVlOWMxYTE3NTZjZiBsZWdhY3ktdHJ1bmsKKzgyMDIgOWEzYjExNWFhNDkxOTBlZmZkYzBiN2U5YzllYmUzNzU1ZGIwYmY2OCBsZWdhY3ktdHJ1bmsKKzgyMDMgNTdhN2JhMTQxMmUyNjVlYmIzMDIxNzRjNDA5MTZlNjczZjk5MDJkMiBsZWdhY3ktdHJ1bmsKKzgyMDQgZTBkYTNkODlkNGI2NWZiYWI1ZDdjYjMzZWFkMDkxMDgxMWFmMGFjZCBsZWdhY3ktdHJ1bmsKKzgyMDUgMDRjMjgyNzRjMjgxODEyMDk4MDQwODc0ZmIzZGIyOTk1OWY5NmMxYSBsZWdhY3ktdHJ1bmsKKzgyMDYgNjE3ZjIwMzM5NGU3M2Y4NWViMzA1ODQ4YjU5YzQ4OWI2MWE3NTU1NiBsZWdhY3ktdHJ1bmsKKzgyMDcgOTk2MDc5NzQ0NTY2NWQ2MmJjODlkNWMyNjQ4NDE3MzBmNjMyZTEzNCBsZWdhY3ktdHJ1bmsKKzgyMDggNzU3NjJjNjcyMDBjYWY3NzE0MTZlYzQyMjljODViY2Q4MWQ3MmM4OSBsZWdhY3ktdHJ1bmsKKzgyMDkgZjAyN2RkMGE4NWU0ZTVlZGNiMGExZGQwNDlkMjM3ZTZiMzkxYTVkZiBsZWdhY3ktdHJ1bmsKKzgyMTAgOGY2Y2M3MTdkODE3YzA3YmZhN2M3MzY0ZjZiNjBjZjk5YWRiN2ViNyBsZWdhY3ktdHJ1bmsKKzgyMTEgYTk0YjBhMTIyYzk4NjkzODZkM2JmNWY4ODhhZjY2NzIwYjFhZjUxMiBsZWdhY3ktdHJ1bmsKKzgyMTIgNjM0NzI4ZDhiYzk4Y2ViYjU3ZTUwYzkxYmJlMDE3YzJlM2Y5YTBlZCBsZWdhY3ktdHJ1bmsKKzgyMTMgNGRjYTUzMjllOGZjNmRkMzU2ZTdmYTU4MTVkMjA1MmIyZjk0Y2EzZSBsZWdhY3ktdHJ1bmsKKzgyMTQgZDBjNmI0OWQ3MTAxOGUzNzQ1YjA2MDZlZDFjNDIzNGZhODUwYjc5OSBsZWdhY3ktdHJ1bmsKKzgyMTUgYzI5ZmMxN2Q4ZTRmZDQ5NzgzYjk5ZTdiNmVmYzEzZjEzNDlkYzNiZCBsZWdhY3ktdHJ1bmsKKzgyMTYgNzFlMTEwODJkNzMyMzU0NzNmMTU4MmE1ZjEyYzY5NGJiMWUwOGZmOCBsZWdhY3ktdHJ1bmsKKzgyMTcgNmEyMThmYThiYTliOTg3NGQwZWRjZTRiZGNjZjg3ODgyYWJhOGFjYiBsZWdhY3ktdHJ1bmsKKzgyMTggMTM4NDYzNzkzNDdkYTUwZTgxZDc5YTU3ZTNiMzBmODcyYjRkM2NjZCBsZWdhY3ktdHJ1bmsKKzgyMTkgODI3YTJmM2U2NDgzMmFhMDA3ZjJmYmYwZmY4ZTI2Zjk2YTc5MGU1YiBsZWdhY3ktdHJ1bmsKKzgyMjAgYzYwNmRkNjE1NDRhZTA3YjE5Nzc1YzUxZDllMjJmMjk2ZGE4YmQ0OSBsZWdhY3ktdHJ1bmsKKzgyMjEgZWE4YTBiMDkwOTA4YmQ0ZDY4YWY5MTRhZWNiZGUyMTExNzgzZTA4NCBsZWdhY3ktdHJ1bmsKKzgyMjIgZTIyZWVhNWQxMjZkOWI0MDg4OGI2NDMwMzdmM2ZmM2Y0NGIyMGM2OCBsZWdhY3ktdHJ1bmsKKzgyMjMgYWJlODYzNDQ2NmIyMzZjMTVmMzhiMzM0NjkwOGI0ZTY5NDhiYzU5MSBsZWdhY3ktdHJ1bmsKKzgyMjQgNDllMGUwNzJkOWNhYjU5N2M5ZmZhYThlNzgyNWI2MGM1ZDE2NjA1ZSBsZWdhY3ktdHJ1bmsKKzgyMjUgMWMzNGEwY2U3ODU4NTczYjJlMzA3MDhiY2NmNzZhMjlkOGI2MmU5ZSBsZWdhY3ktdHJ1bmsKKzgyMjYgMjBlNjM5OTg2ZmI5YmIyZDNhZGJmYTcxYzE4MGNiMGQ0ZmU4MTgwNyBsZWdhY3ktdHJ1bmsKKzgyMjcgNWE3NDI5YWM5MGM4M2IxYmIxNDNlOWM1YjM2MTEzOGU3ODkwYzc0MSBsZWdhY3ktdHJ1bmsKKzgyMjggODdkNjU4YTEyOGY5MWI1YzY4MmMxNmUyYTY1MGE3ZTkwNGJiM2Q3MiBsZWdhY3ktdHJ1bmsKKzgyMjkgZmE2ZDAxM2M5NDJiMDc3NWE3YmFlMjQwMWY4MmZiOWMzNDY1Y2Y4MyBsZWdhY3ktdHJ1bmsKKzgyMzAgNjRiYzc4MmE0MmVjNzMxNTlhZWFmMDdiNDNkMDhjNWM4NWEwMDU1NSBsZWdhY3ktdHJ1bmsKKzgyMzEgOWVkMjZhZmVlYWE1MmZjYjE2NThhZDAyMzZlOTQwNmU1OTJjYzI1YiBsZWdhY3ktdHJ1bmsKKzgyMzIgMThhNjM5ZGIwNDhjNzk5MGFkNzVhNDU2MjI1MGQ3NGY1YzU3Y2U5NSBsZWdhY3ktdHJ1bmsKKzgyMzMgNGI0MmVlYTEwYTAyOWU2MzNmYjhlMzY3ODE5YzNkNjdhMTJjOGNiOSBsZWdhY3ktdHJ1bmsKKzgyMzQgOGMwZjc0N2YxMTQxOWFjZmRhZGZmYjI0MTZjZmI2MzZiNDEwZmU0NyBsZWdhY3ktdHJ1bmsKKzgyMzUgYmZlOWJhNzRjMTllZDc2ZWQ3OGEzMDI3ZWYyYmYzY2ZjYzY2OWM2OCBsZWdhY3ktdHJ1bmsKKzgyMzYgOTE5Mzg2ZmIzZTUwNDMzMjI3NTdiYWI5MDM1MjcyNjUxZWY3NzQyZSBsZWdhY3ktdHJ1bmsKKzgyMzcgMjAxYzhkMDZlM2I3ODY3NTE5ZmIzN2ZkODE3NmJiZWVkNjA5MjAyOCBsZWdhY3ktdHJ1bmsKKzgyMzggYThlMzFkOTA1ZDJjMGZlOTc2ZjAyZDM1ZTM0NzMyOTNhNWU0MDliYSBsZWdhY3ktdHJ1bmsKKzgyMzkgNzliYjk5OTdjZTVmYWEwYjc4NmQ0NjNlODNhMWVkOWU0ZmE5MDAwMyBsZWdhY3ktdHJ1bmsKKzgyNDAgZmQ0ZTlmMjkzYzc3YThhODRlNGZiODQzMmJmMzU2MzZkNmJmYjRiMyBsZWdhY3ktdHJ1bmsKKzgyNDEgNjJmZTgwMGQxNzFhNzgwYzBlMDUxOTlkNmQyY2Q5ZDk1YzMxM2I4MSBsZWdhY3ktdHJ1bmsKKzgyNDIgZDY0MjFiM2VkMWRhNjViNDg5MDFhMzYwMWFiYjAyNTk3NmEzZDc3NiBsZWdhY3ktdHJ1bmsKKzgyNDMgMzA5YWFiNGMwYjk4ZTU3NDQ1YWQ5NzdlYmJhN2YyZmZiZWI0MDE5NyBsZWdhY3ktdHJ1bmsKKzgyNDQgMDNhNTdhZjcyMjE4OWNiZmE3ZGZjOTA5N2JhNmZkNGZmZjM5M2QyYSBsZWdhY3ktdHJ1bmsKKzgyNDUgN2RlNTlmNDdlODViOWNhZGYxNzc5OWRlZGQxNDFiMDgwNDRmMTUyNSBsZWdhY3ktdHJ1bmsKKzgyNDYgYjc2NDk0OTFhZTkyNDZhNGRlY2YzOTU2MWQzNjM1ZDZmNDAyMGJkOCBsZWdhY3ktdHJ1bmsKKzgyNDcgMzhlZjA5MTk2NGYwMjJmYTNlYjk1ZWU0NThmMTk4MzExY2M0OGRlNiBsZWdhY3ktdHJ1bmsKKzgyNDggZmI4ZjA3OWU0ZWZmODZmNjU5NWM4ZGRmNzNhODI0NGNiMWFiNDQwMiBsZWdhY3ktdHJ1bmsKKzgyNDkgNWY3ZGRiN2NhMzQ3Y2Y4ZjA1ZTBiOTQ1ZTVjZTZjNWRjOGM3MDAxMSBsZWdhY3ktdHJ1bmsKKzgyNTAgNzgzMTkyMjFlZGIyZjI4Y2RhZGQxYmNkMmYxOGQ4ZTZmNjRiZGI1MSBsZWdhY3ktdHJ1bmsKKzgyNTEgM2VmMjU2M2U4M2VlMzkwOTBhY2Q2MTJiMTdiN2Y4NjIyN2Q4MTZlYiBsZWdhY3ktdHJ1bmsKKzgyNTIgYzYwYmViNTYyNWU3MDE2NWY5NzhkYWQzYzFiMzAwOThiMjg4NGFjYiBsZWdhY3ktdHJ1bmsKKzgyNTMgZjZkZTA1MDA1NTc2OTVhYTcxOGZkZjBlNzMyMzlkMzg1ZTZjODNlOCBsZWdhY3ktdHJ1bmsKKzgyNTQgYjQ0OWNkODVkNTE5NzE5OTNmMGYwZDBmN2MzNjZhNzQwZTExOWNjZiBsZWdhY3ktdHJ1bmsKKzgyNTUgMDQ5ZDk0ZmZjMDZhMDEyNjdiZTIxNTdmZTNlMjk0ZmM0YmQxMTAxMiBsZWdhY3ktdHJ1bmsKKzgyNTYgMzQyODQ4N2IyOWEzODVjOTYyNjEwYTEyYTFmZDhlMDdjNDNmMDFjMCBsZWdhY3ktdHJ1bmsKKzgyNTcgYmIwYWNmZDRiNzIwYWZkN2EwNTFmMGY0ODQwNThiNjJlOTVlYTU1ZiBsZWdhY3ktdHJ1bmsKKzgyNTggM2I4ZDAwNDAzZGI4NWRjMzc3MzNlYWE3M2UwMjg1NzMwZTNjYjY3OCBsZWdhY3ktdHJ1bmsKKzgyNTkgYjgzZWNmNmY4NzMwMGMxYjQ3NzIxM2MyYmM5MzY0MTYyNGIzNjVjNyBsZWdhY3ktdHJ1bmsKKzgyNjAgOWNmYmM5YmI2NDIzYjA4YmI4YWY0NWJiZjFkYzhlZTZjYjgxNjUwMSBsZWdhY3ktdHJ1bmsKKzgyNjEgYzA0MzkwMWZhMWZlYmNiZmEyNGNjN2QwM2Q1NmJlZTk5ZGRjZmE4ZiBsZWdhY3ktdHJ1bmsKKzgyNjIgYjI0NzI5N2JlOWEwMjVlYzY0YjU1MDI2YzgxMTIzZTEwYTM1OWFlNyBsZWdhY3ktdHJ1bmsKKzgyNjMgYzU2OTg3M2VlYjE1ZDgyZjFiZWI0ODc3ZmQ4Yzc3Mjg2Mzk2Y2ZhMyBsZWdhY3ktdHJ1bmsKKzgyNjQgYjQyMGI2NGE0MDk2N2JmNzU1ZjczMDRkMDg1ZThlMjY5YmRkMzc0YiBsZWdhY3ktdHJ1bmsKKzgyNjUgMzFjYWUzNzRmNzg2NTY3NzMxY2ZiYWRmZjcwNzllOWUzNWRkNWVhNSBsZWdhY3ktdHJ1bmsKKzgyNjYgODhlNmFlMTA1YWI1ODEwZWY4YzI5MTc4OGM2ZjBjOWYyNzBiNDdhNCBsZWdhY3ktdHJ1bmsKKzgyNjcgMWQ0MTdlOWM3MmNmYWM3YjYzYzZlOWJkYWQxMmEwM2ExOWRiZjZhMiBsZWdhY3ktdHJ1bmsKKzgyNjggMmI3MzcyZWNkNTA3MmIwYTRiYjFhZjViY2NjYjJiMDUwYzBjMDhmYyBsZWdhY3ktdHJ1bmsKKzgyNjkgZGZmYWJjNjIwZTRlNDZkMDE4ZGI1ZDM2YjcwODI3YjFkNmE1NTg5ZiBsZWdhY3ktdHJ1bmsKKzgyNzAgNGNlNzgyN2EzNjIxN2I2NDhmNzE0NDIzYTlmMDRiODU3NDBhMTZiNiBsZWdhY3ktdHJ1bmsKKzgyNzEgZDc5YzRmYmIxOTgyYTFlMzM2MmQ5MzU4ZmJjZTczOGFiMDViMTRhNSBsZWdhY3ktdHJ1bmsKKzgyNzIgM2QxZDgwNTUwODdmYjc4M2QzYjhiODYzNTBkOTVmYzBiNjkwODAwOCBsZWdhY3ktdHJ1bmsKKzgyNzMgNzNjZjU4MjYxYjgyMzQ4MTMzMzJmZDBmOTQxYTM0ZDM5OTU4NDZmYyBsZWdhY3ktdHJ1bmsKKzgyNzQgZDY4OWQyYzRmODQyMGIwMTk1OTVjZjVjMzI5MWMzZDNhNTQ4MmQxMiBsZWdhY3ktdHJ1bmsKKzgyNzUgMjRhOGM1NmRlMjE0NDRlYmYyYWVkOTRjZjc4ZjE0MDZkODBiMmI5OCBsZWdhY3ktdHJ1bmsKKzgyNzYgZTg2MmQ5YjAwMjQ2YWJkN2M2YzQ0OTA4NGIxYWQxZmMzMzQ2YTQ3NCBsZWdhY3ktdHJ1bmsKKzgyNzcgN2U4ZWQ5NjUwZmNjMTE4YzczNzgwY2UyNDg3Nzg2OGVkNDNiMjQwYSBsZWdhY3ktdHJ1bmsKKzgyNzggZmUzZTdhMDU1ODM0MzY5MDFhYjEwNTQ2OGZiY2ZmOTQ0OWJhMzI2MSBsZWdhY3ktdHJ1bmsKKzgyNzkgZTQyMzkxZDY3NmQxMmQwNmViOTI0YmVlNzEyYjg0YjAwZGU2MjkwMyBsZWdhY3ktdHJ1bmsKKzgyODAgYjU2ZDUyN2E0MzNmNWE1MDU3OTI4NTVjMDljZGE2ZDdmODhlNGEyMyBsZWdhY3ktdHJ1bmsKKzgyODEgYjdjNjAwZWNjMjdkNDIwMGUzMWFkOGJiOWRmYWMzMGFmNGJjZGU1ZSBsZWdhY3ktdHJ1bmsKKzgyODIgNTE4ZDRmMGM4ZmNjNDk4MDI3NjAxODJhOTAzYTRhODczY2NlZjljYyBsZWdhY3ktdHJ1bmsKKzgyODMgNWE5ZjNjMjA3MzM2NjlmNWMwYjRhZTllNDdmYzIwOGI5MGVlMjNlZCBsZWdhY3ktdHJ1bmsKKzgyODQgNTA4MDNjYTU4YjFmOTFlMjVjOWM3MmE2OGMyNzYwYTRmMmM3ZTU3NyBsZWdhY3ktdHJ1bmsKKzgyODUgZGZmZDIyMTQ2YWFiOGNjY2Y4YTM2YzE0OWQ2YjMwN2Q4YjY4NjMxNyBsZWdhY3ktdHJ1bmsKKzgyODYgNTEyMGVhODZiMjVkNmQxMWFlZWM4NTRjNjQ4ODE2YzY2NTVlYzJmMSBsZWdhY3ktdHJ1bmsKKzgyODcgNmQ0MGViZDkyMjI3OTMwMjIwOTliOTJmMDE0MDdmNDM1OGRmY2YyYiBsZWdhY3ktdHJ1bmsKKzgyODggNThhZWI4NzJkOTE1MGQwMDIxODUzZTk0Y2MyYjgxODY1ODUwMzNkMiBsZWdhY3ktdHJ1bmsKKzgyODkgZjUzZDM2M2VmNjdhOWVhMjhiMzk5ZDVjNjIyOTJiMjllZTFmMTMyNCBsZWdhY3ktdHJ1bmsKKzgyOTAgZDMyMGNhODQzNTEyMjI0MDI3YjczM2MyNzE4ZDA1MjI1YTI1YWJkMSBsZWdhY3ktdHJ1bmsKKzgyOTEgNTVlYTU2ZWUyMGY2YmQ1NjY0MzcxMmQ3YTgwNDAyZjhjYzRhMjJhMSBsZWdhY3ktdHJ1bmsKKzgyOTIgZDhhNGYwZDkyMjFmMDc1YjE2MDFmNTMxM2EzMWY0ZmFkZDI1NjgzNCBsZWdhY3ktdHJ1bmsKKzgyOTMgNmEwZDdjZjE5ZDM4ZmFjNTdiOWI5NGI2Nzk3ODIxYzE5NzY4OGExMCBsZWdhY3ktdHJ1bmsKKzgyOTQgNDhiOTRkZTg1YmYzNWYyNDQyZWE1NDhhN2I0ZTM1NDVmZDY4NmFjNyBsZWdhY3ktdHJ1bmsKKzgyOTUgMzQ2OGVhODY0NWNhNDIzOGMyYjQ1MDI0MzUxZTVlMGZhZTVkMWJjNCBsZWdhY3ktdHJ1bmsKKzgyOTYgMGFlOGM3ZDMzNDY0ZWUwYzdhM2MzMGIxODkxNDc3OWQwNTEyMzUzOCBsZWdhY3ktdHJ1bmsKKzgyOTcgOTFkZDlkNzRmM2IzY2IwNmFlMGIxNzYwYzcxM2YxZWMwOGZhODI5MiBsZWdhY3ktdHJ1bmsKKzgyOTggNzgzMjFhODRkNzNlNWNkMzdkMTc1Zjk5NWRmMjZhYTdjNjhkMTQ4ZSBsZWdhY3ktdHJ1bmsKKzgyOTkgZDNmMmRmOGMyMjg2YzA1ZWI4NTFkYWMzMGQ5ZGMzNmQxMGFhNzQ3OCBsZWdhY3ktdHJ1bmsKKzgzMDAgYWQwNGQzODdhY2VlZWU4MWNlZWMyNmMyOWUwMDk4ZGVmZTY5ODcxZiBsZWdhY3ktdHJ1bmsKKzgzMDEgM2MxNWFlMGZiNmFkNzg1NWIwNDA2NGJlYmM3ZWY3Yjg5ZmI1YWFjYSBsZWdhY3ktdHJ1bmsKKzgzMDIgMGMzMzYxMmYxMWQ2YjE2Mjc4ZjM5YjVhYjI4YWFhZTA1MjFiYTc5YSBsZWdhY3ktdHJ1bmsKKzgzMDMgMDk2NWQ5ZmQxODYyZGQyMzM3ZWY4NGZjYWFlOTVhNjUyNTg5Njk4ZCBsZWdhY3ktdHJ1bmsKKzgzMDQgYTc5ZDBjZWYxMGExOWZkZDA0ZGRjOTY3MzZmYjRjODkyOWJiOWZjOCBsZWdhY3ktdHJ1bmsKKzgzMDUgOWZhMmJkOGEyYjc4YTUyNmQ4MDI5YjU1MDRjMjIxYzU0NGJiZmRlYSBsZWdhY3ktdHJ1bmsKKzgzMDYgZjExMjdkNmZjZDc0MjQ1NDIwNTMxMTBlYjI0YjMxYTExMjIxMGEyYyBsZWdhY3ktdHJ1bmsKKzgzMDcgMjI2YmNhODU4NDZmNDE4Zjk1OTkzMTJlNjRiM2U3YjRiNmEyMmU1MyBsZWdhY3ktdHJ1bmsKKzgzMDggOTg1YjdiZjQ3NTViNmNmZTkxYTQxMjkyZmExZjNjYTA1ZjM4MGVmMiBsZWdhY3ktdHJ1bmsKKzgzMDkgMjg1ZmI2YTk5ZTVmODVmNTc3YmQxMWFmNjUyMDg2MjM2NTE1OGRjNyBsZWdhY3ktdHJ1bmsKKzgzMTAgODZjMjc5YTg0OGViMmQ1MDE2MTM5NGQxMzdlMTdhNjM1YWFkZTI2NSBsZWdhY3ktdHJ1bmsKKzgzMTEgOTFhZWExYWY2NTRmZjE1OGYxMTA4OWVmMWFiMjQ2NzEwMjIzYTUxYSBsZWdhY3ktdHJ1bmsKKzgzMTIgYjkwNjNmNmY4MTFjYmZiOThlNDg0ZjkwZDU1ZDM0MzMzYTkyYmI1ZCBsZWdhY3ktdHJ1bmsKKzgzMTMgM2E3OTg2Nzc1MDZjZjA2NzU4NmZiOTFlY2VkYzAwYzdiYjhlZDU1ZCBsZWdhY3ktdHJ1bmsKKzgzMTQgMmU5MTdmOTM3MmUwM2E1NGQ3MDg4N2E3MWY3MTQzN2E5Mjc1OTI2OCBsZWdhY3ktdHJ1bmsKKzgzMTUgZWQ1ZGIwYzJhM2YzNDQxNzE5NmMxMjhlMGEyMzNlYWZiYmM2MWJlNCBsZWdhY3ktdHJ1bmsKKzgzMTYgMTc4NmNjNDE5ODg2ZWE2NmExNmMzYzQwZjNlNmY3NjIzMDNjZWMxNiBsZWdhY3ktdHJ1bmsKKzgzMTcgOWY4ZmYwMmVkZTZkZWViNWQ2NzcwNjQxZjg4ZTg2ZmNiOTJhODlhMSBsZWdhY3ktdHJ1bmsKKzgzMTggZTE2OTk0ZjNkMTAyYWM2YWZkOTcwY2QyODBmNDc0YzQ1OTRjNmY1YyBsZWdhY3ktdHJ1bmsKKzgzMTkgMzViMTRkNzhjNjFkOTQzMmQ3NTUzMGQxMmRkNDkzMDRjNzA2MGE0YyBsZWdhY3ktdHJ1bmsKKzgzMjAgNWE4YTVhMWEwNDc1N2Y2MGRiNmIwYmI2MGI1Njk2OWE3NWMzMWJkOSBsZWdhY3ktdHJ1bmsKKzgzMjEgNTk2MWYxMmFlNDI2NTg2YTAwYTY4NzRlNWZlN2RhNWIwMTgwMTljZSBsZWdhY3ktdHJ1bmsKKzgzMjIgNmU5OTY4NmI3NmRhMGNlMmY1ZDhmMGRlYmM3MmY1YWNlYWYzZTYzOSBsZWdhY3ktdHJ1bmsKKzgzMjMgODUyYTFmYTYyYTdjNGY2ZTFmZDUxNThkMDMzNmMxMzc2NzUzMmYzYiBsZWdhY3ktdHJ1bmsKKzgzMjQgZmY5YzAxMTAwNzliN2U0NjIxMDQwZTE0NTY3ZDY3YzRlNGM0ZDZiYSBsZWdhY3ktdHJ1bmsKKzgzMjUgZjY0YTVmNzUwNjk2NjAzOTgxMTU3NWExMGU5NmEzNTU0ZmI2NTA0ZCBsZWdhY3ktdHJ1bmsKKzgzMjYgMGQ3ODUxYjM3YWQyZDEzMGI5NzExNjBmZDIyNzk4ZDIzODljYjcyYyBsZWdhY3ktdHJ1bmsKKzgzMjcgNmY2N2ExYmRhMTVhMjE4YjFlYjUwNjI3YzJiZTQ2M2FiYzliODA0ZiBsZWdhY3ktdHJ1bmsKKzgzMjggZWRhZjFjYjYzZGMwYzg5ZjMyZjVlZjEwOGIzMGYzYzE0MzQ0MjQyYSBsZWdhY3ktdHJ1bmsKKzgzMjkgNGE0Nzc4ZTYxYzE0ZWIxOWI0NzliNzNhZTJkOTg0NWE0MjRlYzdhMCBsZWdhY3ktdHJ1bmsKKzgzMzAgOTJiY2Y0Y2M5NDIxMTlhZTljN2E3MmVjOTljOWE5ZDg3ZGZiY2QwNSBsZWdhY3ktdHJ1bmsKKzgzMzEgMzU4ZDcwODgyYWY2MjlhNzA3Y2VkNDEzZGE0ZGZlMzE1NmQ1NjNhZCBsZWdhY3ktdHJ1bmsKKzgzMzIgZmRkOGNlYTE4MWMwOTk0Y2Y4NjdlZWFkNDZjMDg1YWZkYzQ5MGZiNiBsZWdhY3ktdHJ1bmsKKzgzMzMgYzRkZDMzMjlmZDdkMDQ0YWQ2MGE1ZWI5NGZiMTZhNzI5Njg3Yjc0ZiBsZWdhY3ktdHJ1bmsKKzgzMzQgYTY2N2Q0OGU2OGI4NTY5NzIyMmZjODU1OWM0YTc4YjZkNmNjNGYyYyBsZWdhY3ktdHJ1bmsKKzgzMzUgZjVmN2M3Mzk1Njg3NjBlYmE1MWRkZmIzMDg0MGU2ZGEyMTU2MTM5YSBsZWdhY3ktdHJ1bmsKKzgzMzYgNjRmOWNlOTk5NDM3YmQ5MjgyYzM4OTczM2RmZGViZjlmMWIwMThkZSBsZWdhY3ktdHJ1bmsKKzgzMzcgNzI4YTA4MzI0MmEyYTZlNzA4ZWEyYmQ2NGY5NTg1NDcxOTU3N2QwMiBsZWdhY3ktdHJ1bmsKKzgzMzggMzIzZjZhMTZhNzY0MmNmMTYyYjA0OWVmMWJiYTU1ZjJkNjJkZGIwNiBsZWdhY3ktdHJ1bmsKKzgzMzkgNGRiYjRlYzQ0ZDE1MGU2MjI5YWM4Y2Y3ZWQzZTM0ZDExMWM5ZDg3MiBsZWdhY3ktdHJ1bmsKKzgzNDAgMGFjMmM3NDcwNTNmZGI3NGY4OGI0YTQ4MTY0MDFlNTQwYTc2MzI3OSBsZWdhY3ktdHJ1bmsKKzgzNDEgODc1MTdlOGVhNTE5MWI1YmQyNzAwMWY5YWQ5ZTE1ODUyNzA0MDJjZCBsZWdhY3ktdHJ1bmsKKzgzNDIgOTg0MWJjZTM3YzRkNjM5Yjk1NzQ5ZDdkN2E2OTg2NmQxZjRmYzkyYiBsZWdhY3ktdHJ1bmsKKzgzNDMgZjFjMDMyNzY4NzNhNjBiNDUyMTJkNzU1Yzk0OTU3ZWI1OGYzYTRkZiBsZWdhY3ktdHJ1bmsKKzgzNDQgOTc4MzdlNjRjNThjNTJjMjk3ZGYyZTllYjM0N2JmYmQ2ZDY0ZmYzNiBsZWdhY3ktdHJ1bmsKKzgzNDUgZTc0MmU0MWE0YjExYmVmYzY3ZDA4OWMwODg3NThmZmFhNGI2Zjc2MyBsZWdhY3ktdHJ1bmsKKzgzNDYgZjJiZjdiY2Y4YjhiNjdlY2QxODY4OWIyODQ3YjcwNzhjOTM2ZTFkMyBsZWdhY3ktdHJ1bmsKKzgzNDcgZmU0ZjFlYjE0ZDUzZjBiNGYwNjlmZmE2NGQyMjM4M2RkZTM5NzgzNSBsZWdhY3ktdHJ1bmsKKzgzNDggZWQ5MWNiN2QzODc2MTkyOGJiYzZkY2VkYzIyYWJhZmQwNDkxZGQ4NSBsZWdhY3ktdHJ1bmsKKzgzNDkgZGQwZTliNjQ2NjE2ODU1MjhhOWMyN2VkZGQ1OGE2MGEyNzA4MGFjZSBsZWdhY3ktdHJ1bmsKKzgzNTAgYzhhOGNmOTU4MTFjMzhjZjI3NjQzY2M3NTM1MmY2NzY5YmNjZDlmYiBsZWdhY3ktdHJ1bmsKKzgzNTEgYzY3YWQ1YmNkNGIyMDIzZTNmMDgxZTIwMTcyMDk5OGVlMjJiMTRjYiBsZWdhY3ktdHJ1bmsKKzgzNTIgZDI0MDg1MWNjOGM1Nzc1ZmI1MjhmMjkwMDhjODk3MDZlM2M3MjI3NCBsZWdhY3ktdHJ1bmsKKzgzNTMgYTJkM2MyYTYyYTMwYTMxOGIxNDcxNDhiNTRiYzBlN2JmYzM2NjRhNCBsZWdhY3ktdHJ1bmsKKzgzNTQgMDUzNGU1NGU4MTA2MmM4MDU2OTNlNWNhZGQ3MzA4ZWY0NGVkOGU3MCBsZWdhY3ktdHJ1bmsKKzgzNTUgNjhmNzMxMmEzMWY2MjlhZDk5MDc3MzdhNzAzMGJjODg3N2JlMzkwYSBsZWdhY3ktdHJ1bmsKKzgzNTYgYTc3NWE0NDEyNGQ4YjBjMmE1OGEwZDJhMGY2MTZkMmJhMzliOGJmYSBsZWdhY3ktdHJ1bmsKKzgzNTcgNTMwZGRiNzA3Njk1ZTdmYzE3M2QwNzRmMDUyMDJmZDgzNzZlZDNmMyBsZWdhY3ktdHJ1bmsKKzgzNTggYTEwMWExN2I4YjdiOGM3Y2I2MTg4YTM2MjcyOWU0OWY4YjJlMGJkNCBsZWdhY3ktdHJ1bmsKKzgzNTkgZDY1MTNkYTkyNDlkMzk3ZDA0Yzc3MmE4NmEzYzcwMzI0ZjM5ZThhMiBsZWdhY3ktdHJ1bmsKKzgzNjAgNzlkMTkzMWYxNzIyOWVlY2Y3ZDgzOTMzNjY0YWY0NTlkNzRlMDFjYSBsZWdhY3ktdHJ1bmsKKzgzNjEgYjU3MWI2ZWU3ZjE3ZTM3OGQxNjJiMmIzZGJlYjRhNGVmMTEyODhjMyBsZWdhY3ktdHJ1bmsKKzgzNjIgNzZiMWRhMjFmM2E4OTgxZDAyYjJmNWVkMWNmMDZhMzBiYjU2MjhiNiBsZWdhY3ktdHJ1bmsKKzgzNjMgNGM1MmExYjZhNTRkNjJhNjMzZTU4MGJiZjViMDEwMTA1MmM4OWY1NCBsZWdhY3ktdHJ1bmsKKzgzNjQgMmExNzJiNDk1MGI2YTZjMDIyOTE3YjE4NzM2NTUwZjNkNjU4YTI2MiBsZWdhY3ktdHJ1bmsKKzgzNjUgMGNkNzRmOTE4OWM2YTdjOWZkMTQwN2Y3NWVkYjIwZTM5OGE5ZmMwYiBsZWdhY3ktdHJ1bmsKKzgzNjYgY2RkMTI1ZGU3NWJmNmY2MjAyMWJiOGI2YTEyNDdmMWIxMmJmYTVjZCBsZWdhY3ktdHJ1bmsKKzgzNjcgZjMzNDJiMzgxOTM1YTQ2NDk5YjYwZTc3MWI1NDRmNjU5NThkNDI5MCBsZWdhY3ktdHJ1bmsKKzgzNjggYzRkNTQ3YzAxZTkzNGVkODVkNTJmMDU3ZmZlNjFjNWNkNDk4Mzg0OCBsZWdhY3ktdHJ1bmsKKzgzNjkgYjk2Y2NjNzgxMmYyZjA4M2JhOGMzYjI2MzkzMzczNmU2YThjMjNkYiBsZWdhY3ktdHJ1bmsKKzgzNzAgYzU3OWI5Zjk4YTVhNzE1NjA1MjY4OTExYmMxMGJjMDU2OGRlNWMzMSBsZWdhY3ktdHJ1bmsKKzgzNzEgZTJkZjk1YjdiZTc4OWEyNGVmY2MwZjg3ZTIzMDI2NDA0Y2JhZWJlYiBsZWdhY3ktdHJ1bmsKKzgzNzIgNDZjZDM1MmM3NjM4OWZkMjI5MmM0Y2YwYjllMjZmNGEzNDJlNzgwNSBsZWdhY3ktdHJ1bmsKKzgzNzMgNjcwMjJkMjhhNjVkMmRmZThhOWZhMjJjNzNlMmMwNDY4NDg0MTVhMSBsZWdhY3ktdHJ1bmsKKzgzNzQgN2QzNWEwNTgwMzU2ZWJkY2Q2MGViNDNmZTViMDU0OGFjNzIxZWZiZiBsZWdhY3ktdHJ1bmsKKzgzNzUgMjUzMzc3YTQwNjQ0ODQ3NTU5OWNlMDI3MGE4ZGM1MDA5MjdjMGJkYiBsZWdhY3ktdHJ1bmsKKzgzNzYgZjgyYjYwOGFmYjU2OGRmNmIwNDg2Yjc0NDI0YTA5OTEyOTJkNzMxMiBsZWdhY3ktdHJ1bmsKKzgzNzcgNDY2NjY0YWQzOGU0Y2VmMTkxZjg0YTFjMmM3MzhjMWVmNDg1MDE5ZiBsZWdhY3ktdHJ1bmsKKzgzNzggYmE0OWE2ZWY3MjE0ZjdmMDRhMTQzNWM1NzI3NGJjMmRhMTc2YmZhMCBsZWdhY3ktdHJ1bmsKKzgzNzkgNDEwMmY0NDcyMDMyOWIwNmQyM2FlZmFmYjUzNzgwMGM0ZTQzMGMxMSBsZWdhY3ktdHJ1bmsKKzgzODAgYjZlNDhhNGNkZDFlNjhiMjk4MmU2YTFhMjIxNmI5MGM1NDdhZjdiOCBsZWdhY3ktdHJ1bmsKKzgzODEgYzUwY2MyOGFmN2M3OWY5MDRmNGNmYTFlMmRmMGM3MTk2MTBhN2I5MiBsZWdhY3ktdHJ1bmsKKzgzODIgYzI0MjM4NDNhMjZmNzE1ZWMyNGI3ZmM0MDc4NmQ0M2FlNGJhZjY4MCBsZWdhY3ktdHJ1bmsKKzgzODMgZjM0NDYwOWE0OGU0ZWE5NmQzNDBjYzdhNzViOWM3OGNmMTI2N2JjZSBsZWdhY3ktdHJ1bmsKKzgzODQgYWY5MmNmZmQwNjNmNTNjMDk5NDBhYmQ0NDFlZTViNDI1ZDNjMWUyYSBsZWdhY3ktdHJ1bmsKKzgzODUgNGRkOWVhMWU5NGE4ODAxYzk1ZWNkODRlNjc3YzUxNThjYWJkMmMzOCBsZWdhY3ktdHJ1bmsKKzgzODYgZjgyNTljYTllZWQzN2M5OWUzYTZhMWUyNmRkZDUwMjU4MzlhZDBhNyBsZWdhY3ktdHJ1bmsKKzgzODcgODk3NzFhNDZjYTM1NGQ1MTdiNmJiMjYzOWRiNzNkYTI0NzljYjQwYyBsZWdhY3ktdHJ1bmsKKzgzODggNjk4Njc4MWEwN2VmMGRjMTQzODBmMWFkMDZkYmFkMDNhNjdlNTQ1ZCBsZWdhY3ktdHJ1bmsKKzgzODkgZjUyN2MxMmYyZTU1MjhlNWFmNGNiMzUwZGQ2NGRkMDY5OGU4ZmU5NiBsZWdhY3ktdHJ1bmsKKzgzOTAgNmIzOWY4NjMzY2E1NDdhMWQ4NzI0NzQ3N2FmNGViNjIzMzNlYjBlYiBsZWdhY3ktdHJ1bmsKKzgzOTEgNTE1NWIyYzM1ZTE1OWY1OWRkMTc1MTM0YmQwNDIzODJhODFjMmUzNSBsZWdhY3ktdHJ1bmsKKzgzOTIgZGI5Y2ZiMTA4NjIzYzI1YWRlNTE4ODcxNDFjZWNjM2E2YThmNGI2MCBsZWdhY3ktdHJ1bmsKKzgzOTMgZDJjODAzODBhZDBkZTc0MjNkYzZmZTVkNDFkYmM3OWQ2ZjVhM2QzMSBsZWdhY3ktdHJ1bmsKKzgzOTQgMDRhMWI4MmM4MzJiMWE3ZTE3ZjkzZTMxYTlhYjU1NjZiZWE4NGRlNyBsZWdhY3ktdHJ1bmsKKzgzOTUgNzgwYjY4ZGY0NTYwNzc0ZjViOGZmNTY2YmRhZDI1MjViYjgyNDQyZCBsZWdhY3ktdHJ1bmsKKzgzOTYgNWRhMThlMDAyYjFhOGZlODViYTVhOTU1OGMxYzE4Zjg0YThjYjc0ZiBsZWdhY3ktdHJ1bmsKKzgzOTcgNWZiMzA0MTNiOTNiMjE5ZjgwMTU5MzBkYzJkZWM2OTI5NjE1YjAwOSBsZWdhY3ktdHJ1bmsKKzgzOTggODAwYTUyMTdlNjdlNzg2OWJkYWU1ZDVlMTE1NmRiZThkOWM2MDEwOCBsZWdhY3ktdHJ1bmsKKzgzOTkgNDRkZGM3MTFlZTJkYzhjMTJkNGE3NWE4ZDJkY2E1ZjQ0ZGNjMGExMSBsZWdhY3ktdHJ1bmsKKzg0MDAgM2UxNThlNjlhYzVkOTFjMWNhMzRhZDAwZDAwYzNhZWY0MmE3ZjFjYiBsZWdhY3ktdHJ1bmsKKzg0MDEgMDhiMWU5ZDg0N2U2YjU5OTU5YTJkZmM5Y2ViNmMxY2JlYWIyMTI3MyBsZWdhY3ktdHJ1bmsKKzg0MDIgOTMzMDRiMmUxNGNiMzY4NzljZjYzMTRiYWRmZTQ3NGUxYWYwZmZmMiBsZWdhY3ktdHJ1bmsKKzg0MDMgOGQyMTk0ZTIyZTY3MzljZDk2NjI1NGE0ZmU4MmEwYmE2NDlhNjYyMSBsZWdhY3ktdHJ1bmsKKzg0MDQgNjNiYzkyODlhYjI4MjkzOTg1ZDA0YWQ2MjM5NmQ5MWZlYjhkYWFiZSBsZWdhY3ktdHJ1bmsKKzg0MDUgY2EyNDVjMzZjNmY2Zjg0ODI4NjMyOTE0OGJlOWY0YjAwYWE0MGY1NCBsZWdhY3ktdHJ1bmsKKzg0MDYgYjNjOTEzNzQ2OTAwZTE2MWNhYTM3NDZiMWE4ZGU0YmI3MTgxMWEyNSBsZWdhY3ktdHJ1bmsKKzg0MDcgZTJjY2U0YWRmMmE3MDI5ZWJlODBkN2Q5NzJlZjQwN2RiYTBkYWQzZiBsZWdhY3ktdHJ1bmsKKzg0MDggMTJmZTVjYzE1MTZkMDgyZDBkMjdhNmM4MWJjMDM3ZGRjMmQ1NzEwYiBsZWdhY3ktdHJ1bmsKKzg0MDkgNDBjZmM5MDVjNzc2OTZhYzhiMWUxMmM2ZWVjODNhYTNhMzY5ODAwOCBsZWdhY3ktdHJ1bmsKKzg0MTAgYjIxMGQyMDU5ODEyMTZkZWRkNDVkM2E4YTMxZjIxOTEzY2U4MTViMyBsZWdhY3ktdHJ1bmsKKzg0MTEgMDM2OWQ2M2IxMDBiMWY0YmI4MDc2ZGI5MWRmMTkwZDg5NjI3NWQ5NyBsZWdhY3ktdHJ1bmsKKzg0MTIgZDc3ZDNiOGU4NmIyNWE4OTIwN2E3ZDI0ZWQzM2EwZTVmNjc0MjU3YSBsZWdhY3ktdHJ1bmsKKzg0MTMgODBkMjQzNjRiOTMyNWViNjI2YTFjNGUzNjhiNTBhMGQwN2U3NzQ3ZiBsZWdhY3ktdHJ1bmsKKzg0MTQgNWE0ZDE4MWZmZmZkZjU3MzBjYmIyYTI4MzE3YzM4MTNhOTRlMzA5YSBsZWdhY3ktdHJ1bmsKKzg0MTUgMjIyZmFlYjQzZDAyMGM5NDZhYzc4Y2Q5ZDc1OWVhNmFhZWMzNzNiOSBsZWdhY3ktdHJ1bmsKKzg0MTYgMmM2NWJiNmFiODdjZDliYjY5ZjNlM2U0OWM2MjNiNGUyMzYyMjVjNyBsZWdhY3ktdHJ1bmsKKzg0MTcgZWVmNzZiM2NkOWFlZjNjMjI3MjJkN2ZiMzBkODMwNWM0NDgyMDM2MyBsZWdhY3ktdHJ1bmsKKzg0MTggZjdmYzg4ZmNmZmEyNDZiM2IyNDYzMTZjZDQyNmQzNGIwMzZmMWNlOSBsZWdhY3ktdHJ1bmsKKzg0MTkgYzExOTI4ZDI1OTdiZGRjNmQyMzEyZmYxNTY1YzZkNTA0NzM3YjcyZCBsZWdhY3ktdHJ1bmsKKzg0MjAgYWM4NzdjNDc2OGUxY2FiZjlhMjQxNDAwOTY1NTUzYWIwYWZiYzljZCBsZWdhY3ktdHJ1bmsKKzg0MjEgMWJkNjhlNDQ2NGNlMmZjNTQxZTkyYzdlNWNlM2JkMDAwMTZhOTkxMyBsZWdhY3ktdHJ1bmsKKzg0MjIgNzViM2FhYmNiN2MxMDA5MTk3NjhjNDljODI0MzhiMjhiMjVhZmVkNSBsZWdhY3ktdHJ1bmsKKzg0MjMgOWE1NjQ1MmM3ZThlOTIzMTNmNzlkODQ1NzkxZTYwOWZiNGY4Yzg5MCBsZWdhY3ktdHJ1bmsKKzg0MjQgN2NhNmE5MTJkNDU1YjliYjJmMjY1NzczMDlhY2Y0ZmZiNzJhM2YwMiBsZWdhY3ktdHJ1bmsKKzg0MjUgNmMwNjBiYzNiZjNkOWI1ODBhM2JkODk3YWNmNGZkMTBlOTk5OTk3YiBsZWdhY3ktdHJ1bmsKKzg0MjYgMGI0YTlkZDA5ZTBkYjBjZGQ5ZjZlMmFkMDNlMGYyYzY1OGFiZDY0MiBsZWdhY3ktdHJ1bmsKKzg0MjcgM2ZiY2RhNzQxNjk2NWE0NDIwNzA5ZWFjNjg5NDQyYThiZTQwNzBiNSBsZWdhY3ktdHJ1bmsKKzg0MjggOGQ3ZGM2Njk2OGNiYzZlYzRlYTNkYjNjMzQ5YzQ1OGUzZmYwNGYwZiBsZWdhY3ktdHJ1bmsKKzg0MjkgYjJlMDE4ZmIyYmE5MTVjMjA3ZDg3ZGJiMmEwYjdlNWY0ZmU3OGJlYyBsZWdhY3ktdHJ1bmsKKzg0MzAgMWE5OTY5NWE0MWNjZjY5MTQ2ODRjYmNiMDc5ZDQ0MzZiNjhmOGM2MCBsZWdhY3ktdHJ1bmsKKzg0MzEgZDM4MzVhNmExOGM5NTc4NWM4ZDFiMTAwMjYzZjlmYzg5YjRkZmI3MCBsZWdhY3ktdHJ1bmsKKzg0MzIgMWYyZGZjYTUyMjA3MmQxMzljODg2MjZmNjg4YzI0NWQyMWQ1NWFjOSBsZWdhY3ktdHJ1bmsKKzg0MzMgM2Q2ZjNmMGFlMDA1MDY1NjE0MmIxOTcxOWE4ZGVmZTVhODYzMjU3YyBsZWdhY3ktdHJ1bmsKKzg0MzQgMjRlYzQ2MjRlYTllMzA5OTJiOWRhZjc5ZDQ4MGU3YTFmZTdlMWIzOCBsZWdhY3ktdHJ1bmsKKzg0MzUgODM0NDYxYThjYTc2NzE0NjA4ZGRhMzNmYmM0YzI5ODVkNjk5ZjdjZiBsZWdhY3ktdHJ1bmsKKzg0MzYgMWE0ZmI2ZjEyZmZkNTRiMTIzZDIzZGU5ODAyYTA1Mjc0ODRkY2FhZCBsZWdhY3ktdHJ1bmsKKzg0MzcgNzZiYjQwYTFlYjA0NTMyMzg5OGQ2YjAwYTEyMjBlOGNlYmZlZWE0YyBsZWdhY3ktdHJ1bmsKKzg0MzggMzVlNWFjYzY1MzJjN2U1NGE2OWQ3MGJlMjU1NWRjYjQzYTc0Njk5YSBsZWdhY3ktdHJ1bmsKKzg0MzkgMjNlMDE0ODM5YWIwNTdkMTU5Nzc3NzIzZmM5MGYyNWU4MDJlMWQ2NiBsZWdhY3ktdHJ1bmsKKzg0NDAgODNkZTU1MzlmOGU0MzIyMGFkOWRmNzA2ZGQ4MzgwNTY5Y2JhMjE5NyBsZWdhY3ktdHJ1bmsKKzg0NDEgNDMwNTQwMjFiYjU3NTEwNjE3YTg4ZGZkZjEzOGNlZWEyN2I1MTVmOSBsZWdhY3ktdHJ1bmsKKzg0NDIgOGFlODNiOWMzNGEwMjQ1MDg3Y2YyZDcxNjE5OWQ3MzJkNTY4OGJlYSBsZWdhY3ktdHJ1bmsKKzg0NDMgOTZhOTdiMmI3MjNlOWY1M2UwNGYwYjNmOWY4YzQzMjZhODhiNmEwMyBsZWdhY3ktdHJ1bmsKKzg0NDQgOWU0ZGRiNDU5YjEwZDNiMGNmOTRiMjQ1YTY3ZTM0NzUzODBmYmZkYiBsZWdhY3ktdHJ1bmsKKzg0NDUgYjcwNDhmNWJlOWExOGQzOWFhYzRhZjlhNTcxZTM0MDM4OWE3MTY2OCBsZWdhY3ktdHJ1bmsKKzg0NDYgNWY2YTJlYWRhYjk3ODM1ZjI2ZTZiOTUzMTY1MDg0OTU3OTk2OTJmZSBsZWdhY3ktdHJ1bmsKKzg0NDcgNzAxZDg1NGQxOTMwYmI2YTFhMjRmMjczZmU5ZGRmMWVhYjczZGQ5NSBsZWdhY3ktdHJ1bmsKKzg0NDggM2YyYmZjMTU5ODlkY2FlNzU2MTcxNzljZGJiZjU1ZDY5MjQwZTI3NiBsZWdhY3ktdHJ1bmsKKzg0NDkgOGFiYjRkOGMzMTM0NDlkYTk5MmEzNDVjNmE1YWVhNjVkMGIwZDZjMCBsZWdhY3ktdHJ1bmsKKzg0NTAgZTc3ODQ3ZTExNThlMjEzODg0ZDRmYzM1ODQzNjE2ZTI2MjdhYTQ4NSBsZWdhY3ktdHJ1bmsKKzg0NTEgN2EwODgwZjhiOGVjMDhlYTEyNTIxMzE2OGRjNjkyZmE2NjRmMzhmNyBsZWdhY3ktdHJ1bmsKKzg0NTIgOGJiYTliYjg2NGFlMjM4YzRhZjkzYTc3NWU0Nzk4ZmVlYmM3MmRiMCBsZWdhY3ktdHJ1bmsKKzg0NTMgNWIyYzU5NTQyOGZhOTFmOTkxOTM2YWNiNzE5MzJiODdiYWVjYjNjNyBsZWdhY3ktdHJ1bmsKKzg0NTQgYjc3MDc5NjUxOWY2MDNmZWE1ZTc4ZDNmNjllNTkwZjcyNTBhYjZmZSBsZWdhY3ktdHJ1bmsKKzg0NTUgNzgxZWI0OWQyZDY2ZmQwYTA2NDJkODJmNGE3YmQxYTgxZDNlOWE1NCBsZWdhY3ktdHJ1bmsKKzg0NTYgNDIyOTYwNTIzMjg2NTIxNTI5Y2I2OGE3MzQwZjZmOThmNWQ3MmNhMSBsZWdhY3ktdHJ1bmsKKzg0NTcgMjg5NGJiNDllMmVlZTY4OTk0ZDE3ZGM2ZjQwYmQxMGNkNTIyNzNlNSBsZWdhY3ktdHJ1bmsKKzg0NTggMTcwYzQ2YTY1MDIyMGU2MmI2Zjk2MzJhODhhYzU2ZGU4Y2RhMDg1YyBsZWdhY3ktdHJ1bmsKKzg0NTkgNmFlYmQ5NzBiN2E5OWU4NGNmYTVmNDdkOTA3YTdhMjZiODVmN2QxMCBsZWdhY3ktdHJ1bmsKKzg0NjAgMzMzODVmOTRjYThhYzQyYTEyNzQ3NmUxZGFkMGM0ODU4NGYxY2RlZCBsZWdhY3ktdHJ1bmsKKzg0NjEgYjRiYmJhM2FmNGU4YzhhMmU3NjVkNTkzMGE1OGExMDVjYTA2N2VmZCBsZWdhY3ktdHJ1bmsKKzg0NjIgMDNhODgzM2I0YjczZDk5OTVkNTFjYmM2NWU4YmE2NDZmZDUyY2QwNCBsZWdhY3ktdHJ1bmsKKzg0NjMgMzIxMjc1OTNjMTM0ZDFhMWUzZDIzNmE1ZWU1NzIxZWU3NDRhNjQxNyBsZWdhY3ktdHJ1bmsKKzg0NjQgMGEyYzMzMTIwMGY1ZmYwODI3YmYwODk5M2JhMWFhNTk0MTMxMWM2ZCBsZWdhY3ktdHJ1bmsKKzg0NjUgNTk5M2EwOTlkOWIwMzY2MzBlZGYwYTdiYjRlZDBjNzZkMjg2NDhiZCBsZWdhY3ktdHJ1bmsKKzg0NjYgNWI5MGRhOGE5ZGNjMTc2ODQ2YWYxNmFhMDE2N2QxYTlmYjE4ZmI3MiBsZWdhY3ktdHJ1bmsKKzg0NjcgNTAzNTAwNjUyYmFjNDhmZjQwMmRlMmJiMGNhN2NhNzVhNjY0MDE3YiBsZWdhY3ktdHJ1bmsKKzg0NjggYTU3MzdkZDk2OTc5MDA5ZWJmOTkxYjljYzk2NGE1ZWRjNzA2ZDJjMyBsZWdhY3ktdHJ1bmsKKzg0NjkgNmU1ZDRlYzAzNzkxYzk2Y2M3OWQ5NWJmZDA4MWY2NGYzNjNmZTM1YiBsZWdhY3ktdHJ1bmsKKzg0NzAgMmRiM2I3MzYxODUzYzU1NjFmZWEzM2FmMTU1MTk0YjI3ZDhhOWE4NCBsZWdhY3ktdHJ1bmsKKzg0NzEgM2JhYzUyMzUyYzBiYzdhNmRjMWVhZTYzNTI3MTJkY2JjMGNhNDg0YSBsZWdhY3ktdHJ1bmsKKzg0NzIgYjhiNmE4OGY3ZjQ0MmRmNDBiNDcwNmMwNjQ4ZDZhYjVmOGY3YTEyNyBsZWdhY3ktdHJ1bmsKKzg0NzMgOWU3ZDU5ODJhYjNkZTk2ZTlhNDVkY2M4NTk2NTFiZDJkODg3ODM0MyBsZWdhY3ktdHJ1bmsKKzg0NzQgZmNlYTU3YzM0NmE1OWI2MWUzZjM3MzY0ZTlkNTM1ZGM1Y2EyMzljZCBsZWdhY3ktdHJ1bmsKKzg0NzUgYzI0YjU0YzE5NTcxNDJkMWQzYWY2MGRkY2RjMDQ0ZGQ2ZTJjNzhiMiBsZWdhY3ktdHJ1bmsKKzg0NzYgZjJkMTM0YmY2OTczYmEyNjU0OWRjNDI5MWQzOTU4N2VlNmM4MDRiOCBsZWdhY3ktdHJ1bmsKKzg0NzcgZDUyMGQ1ZDAxMTE1YjcwMmJjZmNjYTFhMGViN2E1NTY1MDFkMDZhZiBsZWdhY3ktdHJ1bmsKKzg0NzggODA1NjE2OWVjNDQ4ZTIzM2QwYjQ1M2JjMmZlZTk3MjhhM2RiNWY1NSBsZWdhY3ktdHJ1bmsKKzg0NzkgZDQzOWMzMmNlOTYzN2ZmY2E2MmI2MzljNzI3ODk4OTM3OWI4ZWRmNiBsZWdhY3ktdHJ1bmsKKzg0ODAgNTA4OTIxOTUwZjJjNDBiMmMwYzZmOWQzMDZiZTFiMGI4ZGM5YjNkZSBsZWdhY3ktdHJ1bmsKKzg0ODEgM2Y1OWIzNGViOTBmOTZhMzExNjhhYzFlODAyYmY0ODg4MWM4NzUwYiBsZWdhY3ktdHJ1bmsKKzg0ODIgMGNkYTlmMjQ3ZDdhY2I5YjJmMjRlMmRjZjI4NTA4NzJiY2Q3NGU4ZSBsZWdhY3ktdHJ1bmsKKzg0ODMgNzM2MWYyZjE4NmFkYTAwNWRiMzkxNDY3MGVhMGQwOTVlYTQ0NGIwNyBsZWdhY3ktdHJ1bmsKKzg0ODQgOWJhNzJmYzRmNTAzNjRjNzIzNDA3NjA5NTJhYWVjZjJiNzRjYzYwNSBsZWdhY3ktdHJ1bmsKKzg0ODUgNWRjMjY3Y2Y0ODk1MmNjMWJlYTJiYTFkZDM1NzIwOTU1Y2FmZGZjOCBsZWdhY3ktdHJ1bmsKKzg0ODYgODg3NDA4ZWVhZTk5MzliNTE5NTFhZmUxYzVjZmI1ZGFkMmQ3NjM1YiBsZWdhY3ktdHJ1bmsKKzg0ODcgODcxZjEzNWRkNjEyOWIzNzJhMGYxMjIzZDI0YzlmMDE4ODhkOTQyNSBsZWdhY3ktdHJ1bmsKKzg0ODggY2M1NzcwMDFmN2VjZWVkM2YzYmM3MGIyMzcyODAzOGZmOGMzYmU4YSBsZWdhY3ktdHJ1bmsKKzg0ODkgZDAyYWM2MWNkNTBmMWZhZTU3NjUxODgxMDhjZTM0Mjk5NDI1MDM3YyBsZWdhY3ktdHJ1bmsKKzg0OTAgMGI1YTIzZWE3NTE1NmYyNzNlNGFmYjJmMzgyZDQwZjhhOTY4OTg5ZCBsZWdhY3ktdHJ1bmsKKzg0OTEgMmYzNmUwYmIzN2MzNzhhOWNmYzQwZWYyNjJlOTY0NGY5OWJmY2Q1ZCBsZWdhY3ktdHJ1bmsKKzg0OTIgMThhZDExMDZmNjUxYWI4ZmNmZmQ1ZTQ4ZDY0ODk1MmY3OWRjMzMyMCBsZWdhY3ktdHJ1bmsKKzg0OTMgZGZmMjAyNGFiMDIxZmUyODg2ZjFhYTA0NGUzMmZjNWRlNGUwOGU0NiBsZWdhY3ktdHJ1bmsKKzg0OTQgNTBhNDE4NjNjMzRhNjAxMjc5OTIzNzdjODUzNDgwYTU1ZThmZjE0YiBsZWdhY3ktdHJ1bmsKKzg0OTUgZjA1NTQ2NzQzNDA2MTA0NjVjN2Q5YzhiNDkzMGUwZjAwNWQ0MjIwOSBsZWdhY3ktdHJ1bmsKKzg0OTYgYTJmOThkN2NhZGVkMWRkMjJkNThlZDMxNGM2MTAzMWUxNmNkMjRmYyBsZWdhY3ktdHJ1bmsKKzg0OTcgNTljMzQ5YTE0YTNhZGUzN2Q1N2VlOWM1NWRjNDkzYzg4MTEwOTVmZiBsZWdhY3ktdHJ1bmsKKzg0OTggNjAxYzRlY2EzZGUzNDFlNzdjMmIyMzc3ZDdkNTYyMDE3ZjMxNTM2YiBsZWdhY3ktdHJ1bmsKKzg0OTkgODAyNDcwYzdhNTBmMDQ4NGY5MTI1NzJlZGQxM2EyNjJjMTllYjUyMiBsZWdhY3ktdHJ1bmsKKzg1MDAgNmEyNWQ4MTEwYjAwOTQ1MmE2YjAwMDY5YWM0OWI5NGIyOWU4OGQwZiBsZWdhY3ktdHJ1bmsKKzg1MDEgZDVmODc0MWE4MTJjZjU1NTA3MzIxNmM3YzQ2NWFkZDY0M2U5MTA5NyBsZWdhY3ktdHJ1bmsKKzg1MDIgMGFkMTVmMzBjOGQ0MTA4Y2I2MTE4Y2Y5Yjg2MWE4MjBkOGFiMTU3ZiBsZWdhY3ktdHJ1bmsKKzg1MDMgYjU4MDQxNTRhZjRkZjEyZDJjZTYyYzY1MDhhN2U2ODZkYjYyYWI0NCBsZWdhY3ktdHJ1bmsKKzg1MDQgNDk0ZTU1MGNiMThkMTVjMmNlMTBkMGRlZTk0ZDQyNGQ0ZjQwNDFkMCBsZWdhY3ktdHJ1bmsKKzg1MDUgMjkyMTkzMTcwZGExNTlmY2ZmYWExMzg5Yjc3NGVjYWNkM2E2MmVjMCBsZWdhY3ktdHJ1bmsKKzg1MDYgNjhmMmQ3NzA0MTgwYTcyYjRkMTI3ODhlMDBjYTA1ZDc0ZDRjNDVmZCBsZWdhY3ktdHJ1bmsKKzg1MDcgYmY4MDNkZmQ0NDI4ZjI3NjE1NjBlZWIwNmM4MGRlOGUwMWY1NTYzOCBsZWdhY3ktdHJ1bmsKKzg1MDggNmM0NDlkZmYyZmI4OWNmMDU0ZmQ4YWY2OGViZjEyMGQwM2NkMDY4MSBsZWdhY3ktdHJ1bmsKKzg1MDkgOWE1N2NhMjI5NjgxYjY4MmNmM2FjNThiNzIyMGRkODhlOGM4YmEzMyBsZWdhY3ktdHJ1bmsKKzg1MTAgYWM3NTU0ZjI5MzEzNjllMzViZjk5NWE5M2JiMjg1MDdmZWZiOGFhMyBsZWdhY3ktdHJ1bmsKKzg1MTEgMWNmNzllYThmZmEyYTU4YTkwZDhkMTA2Mjk1MTc2MjgyY2RkZWVjNyBsZWdhY3ktdHJ1bmsKKzg1MTIgNjE0MTE4YTEzNDhjOTQyMWI3YjNmZjJmMWNlNGQwNDg4NjYxOWVhOSBsZWdhY3ktdHJ1bmsKKzg1MTMgYmUxYjc4ZTcwNzI4NzI4M2QzNWYyMmM3MDNkZTIyMTE3MmQzNThiOSBsZWdhY3ktdHJ1bmsKKzg1MTQgNGMyMjkyZTcwOWIyZDI3ZDUzN2Y3Y2NhZjZiNjAzMTU4NWNjZjZiYSBsZWdhY3ktdHJ1bmsKKzg1MTUgNDdhZGYxOGQwMWFkZDc4NjNlMDZiZDMzMmIzNWMxMjdkMzllZjk4ZSBsZWdhY3ktdHJ1bmsKKzg1MTYgNjE5MjMyMjM2ZGRiOGE1ODZmMzMwNDUwYzA0Zjc1YWI5ZmUzYThkYSBsZWdhY3ktdHJ1bmsKKzg1MTcgMWE0MzY5OTEwOGE2Mzc1NjU2MGI0YjMyNzY2OGQyZDJjODczYzllMiBsZWdhY3ktdHJ1bmsKKzg1MTggYTllMWVhODBlYTNmNGFhNTlmNTNmMzI1NzI1MjdlZGRmOGVmOTQyMiBsZWdhY3ktdHJ1bmsKKzg1MTkgNmRiM2Q1MmQ0YTc4YWYwN2VmYTIzMmM3NWIzYTMyMjFlYmRlY2E0NSBsZWdhY3ktdHJ1bmsKKzg1MjAgYzA3OWU5MjRjOTI3MTg5NjFiM2I5ZmUyNWQ1YWEwZjgxNWM0ZWY3MiBsZWdhY3ktdHJ1bmsKKzg1MjEgMGI5ZWMxYjM0YTdhNDA4ODBjZDI5YzJiNDdlY2MxM2FhMmI0MWNiMCBsZWdhY3ktdHJ1bmsKKzg1MjIgNmViMWUzNTQ5ZTJkYmJhNjI2ZWQzZTVmMjU4Y2M1YTkwMjE0ZGQyNCBsZWdhY3ktdHJ1bmsKKzg1MjMgOGJhNDZiMDc3OGRhZDI4ODcyYzkzMDA3ODBlMzRmZTUyZjE2OGE5OSBsZWdhY3ktdHJ1bmsKKzg1MjQgOTZmZWNjODBhMjhmN2M5ZjE1MDI0OTRkYzMxOTA0OTA2Y2JjZmY2YyBsZWdhY3ktdHJ1bmsKKzg1MjUgZTkzNjYzMTE3NmI2MWQ2ZDE5OTcyOTQ5NjA1MDRmMmZhNTUyNTgyOSBsZWdhY3ktdHJ1bmsKKzg1MjYgNGYxMmMyMWY4NzQ3OTY4YmM0MDdkMjIxY2M2NTJlOGVkZmI1NjRmNCBsZWdhY3ktdHJ1bmsKKzg1MjcgNjA3MzFiMTlmZTM0ZDU3ZTkzZjIzNDkwZGUzMjBhN2MxNGY1NzBmMSBsZWdhY3ktdHJ1bmsKKzg1MjggNmIwYWZiYmZlMGI3ODE5ZGQzODcyYTY1ZWIyMTg1NjE1OGY0Y2QyZSBsZWdhY3ktdHJ1bmsKKzg1MjkgMWRhMTIyNzE4NTk4ZTc1MDEzMzZjZWJkNTBlZDA5ZDkyYjAyMTIzZSBsZWdhY3ktdHJ1bmsKKzg1MzAgZGEzYzdkNDdmMjEwYTZlNWQ1YTAxMGJjMmYyNDY1ZDJkOTE0MzRlNyBsZWdhY3ktdHJ1bmsKKzg1MzEgY2FiOWVhNWU0ZWVkMzdkNzExMWYyNTY3N2RmZTA1M2I5MDMyNWJlMSBsZWdhY3ktdHJ1bmsKKzg1MzIgNzJkMDA0OTcxYjI2Nzk3ZTAwNzU5ZDAyZGY0NDUwOWNiYzY2Njc1MyBsZWdhY3ktdHJ1bmsKKzg1MzMgOGVjMDIxMjdjNDRiYjQzNTllNzExMTJjMGJiNDg2NjNhYWIzZWI5NCBsZWdhY3ktdHJ1bmsKKzg1MzQgNTY2ZDBjYWU5MTkxNWFiMTIyYmRkMTVlZDcwZmI5YjY1NjY0ODU2MiBsZWdhY3ktdHJ1bmsKKzg1MzUgODc3ZGJiYTNiNWE4MDQwMmM1NjU5YzFlZmJhYjEyZGU5MjczMTZlZSBsZWdhY3ktdHJ1bmsKKzg1MzYgMzg3ODRiODUzZDIzMWQyYWZlZWU2ODc2ZmQ2ZmQzMjM3ZTM1MDc2YSBsZWdhY3ktdHJ1bmsKKzg1MzcgMTE0Mjk5NjhlMjlkMjJlZTRhNGE0ODAxNWI4YmY3YzBkYmVlNmRjNCBsZWdhY3ktdHJ1bmsKKzg1MzggMzZkZjQ0MzRiM2IzMDNhMTRmNTg2YTM1MDg1MDcwODMxNjcwNzk2NyBsZWdhY3ktdHJ1bmsKKzg1MzkgNzRhNzg2NjZkZGM4YWZiZDMwZjMwMmM3Y2VjNDEzZjU5MmUxYjAzYyBsZWdhY3ktdHJ1bmsKKzg1NDAgYTVkNTAzZWNhNzQ3OGRkNDhlNWY0ZjNhZTVkZTdiODJlOThhYjEwYiBsZWdhY3ktdHJ1bmsKKzg1NDEgZTg4ZDJlMzIyYzVlYmU4MmNiY2VjMGZkMjdiZjljY2I5ODBmN2U0NSBsZWdhY3ktdHJ1bmsKKzg1NDIgMGY0MTkzYmQwOGQwYmNiYWVkNjI1Mjc0YjE4YjY0MDRiMDk0MmFmMiBsZWdhY3ktdHJ1bmsKKzg1NDMgZTRjZDA5MmY0M2Q2NmFhYTg2NWZlZGIyMDcyOTZiY2M4NDRhYThjOSBsZWdhY3ktdHJ1bmsKKzg1NDQgM2QzZmE4NzczODdhZWQzMTY0ZGMyMmU5MzhmMmRhMzc5MzE2ZGMzMyBsZWdhY3ktdHJ1bmsKKzg1NDUgOTI1ZjkwYjQ4ZDczNzI0NTM3ZDA3NzVkZDAyMTk1MGFjMGMwZTc0YiBsZWdhY3ktdHJ1bmsKKzg1NDYgZTBmMjQ5OTkzYTRmN2Y1OWM5MjYxODE5OThhODEzNmFhMDNhZWYwMCBsZWdhY3ktdHJ1bmsKKzg1NDcgNjQzZmE1NGYyMTI0NTgxZDVhNjNmMzhlMzliNGUyNzE2ODhjNWJhNiBsZWdhY3ktdHJ1bmsKKzg1NDggZDkxY2MwYTU3ZGFhM2E0MzJkNzZkOWRkZjFkM2Y4ZjlmM2QwZDJiNCBsZWdhY3ktdHJ1bmsKKzg1NDkgYzdiNWE3MjJkOTI2NDk0ZTY2ZTFjYTI0YjdjOWYzMWQ0NmIwMWQ0NyBsZWdhY3ktdHJ1bmsKKzg1NTAgZWNjOTQ5MGVjNzE5Mjc4MzhiMjk3ODExZjA4YTc1YjIyOTI4YmM4NCBsZWdhY3ktdHJ1bmsKKzg1NTEgNWU1ZTU0YTZkYmE2ZmFiOTJhOGVkYTE0NWIwZTdmZTk2ZWI2YWQ4MiBsZWdhY3ktdHJ1bmsKKzg1NTIgYmYzZjQ4N2ZjZDhiNTdmOTkwOWVhYTI3ZWFlYTIwZTM3OGFmYjUwZiBsZWdhY3ktdHJ1bmsKKzg1NTMgNjU0MGViMTdlNWI2NDU3YjVjYTVmOThkZTEzOTcyYmE2OWNiMTkzNyBsZWdhY3ktdHJ1bmsKKzg1NTQgODgxNGNjZjJkMWNkYjY1ODI4NTQ2NGFhYjViMjM1NWMwYTEwZDJiYiBsZWdhY3ktdHJ1bmsKKzg1NTQgZGM1Yzk2OGVjOTkyYWFiM2Q0MGE3MTg5ZGYwYzQ0M2QxYzdhMWE2OCBsZWdhY3ktdHJ1bmsKKzg1NTYgMmYxYTVjYWQyN2I3YTIzMDFiYzA4ODRhZGQyMzY1NTQ1ODYyNTI1MCBsZWdhY3ktdHJ1bmsKKzg1NTcgZDNjNjAzNWFjM2NiY2FiNzVmYmZmM2U5M2FiZWNmNjUzYjFjZWM2ZiBsZWdhY3ktdHJ1bmsKKzg1NTggMGViMTRhNjQ4NGYzZjhmN2QyZjNhODRlNzVhYjRmZDMxMmM0NjFjMSBsZWdhY3ktdHJ1bmsKKzg1NTkgZDdjYTA1NTQ3OTVlZWYzZmI0MWZiZjE5N2QxYzBkMDhlOGNjYTBlZCBsZWdhY3ktdHJ1bmsKKzg1NjAgZjE1OTA0NDUzMGIxODI3MDQ2NzI2ZmIzNjAyNmVkNzEwYmMxZjlmZiBsZWdhY3ktdHJ1bmsKKzg1NjEgMGFhNjJjYmVkOWY4MmU5MTcyOWQzOTkzODliNThiMWU3MWI5YmNkMCBsZWdhY3ktdHJ1bmsKKzg1NjIgZjlmMDI2MmM0YzU3NmU3YjdkNTBiYmU0NGUzOGMxZmRkY2JiNjliOCBsZWdhY3ktdHJ1bmsKKzg1NjMgZDg5YTIxOWI0OWE3MjEzYzFiMmM4NTBkNWVhZjFkN2U5MjUyNjU0NyBsZWdhY3ktdHJ1bmsKKzg1NjQgNjIyYzhkOTgxYTY5NTVmYTYxY2IwNTJmYjVkYjI0MjVjMjBhMjI5MiBsZWdhY3ktdHJ1bmsKKzg1NjUgYjA0NGM0NzljYmM4MzA1MTgzZTUzZmEzZDJiNjFlNzY5MDI0YmEyNyBsZWdhY3ktdHJ1bmsKKzg1NjYgZWRhZWU1Mzc4MDIxMzNiNmJlMDIwOWVkNGQwY2UwNTU3OTEyMWNmOSBsZWdhY3ktdHJ1bmsKKzg1NjcgZjEzMDQ5ZWQzMWZkYjkzNDMxN2FlZDVjMjIxZDY2ZTk5YWY3Mjc3MSBsZWdhY3ktdHJ1bmsKKzg1NjggZGM5MTZkOGJiYjU1ZDg4MjQwNWZkOGJmMzJhYWVjZDg5NDY2NThmMSBsZWdhY3ktdHJ1bmsKKzg1NjkgMjk0OWMwYTQwYjdiZDA4Y2FkYzhhYWQ2MTQ1Y2U3YmMyZTg2M2U5MCBsZWdhY3ktdHJ1bmsKKzg1NzAgZDEwOTNmMzQyMWI2ZjUyODBiZWIyMmM3ZGY4ZGFiYzljN2NjNGEyNiBsZWdhY3ktdHJ1bmsKKzg1NzEgYTIyZmNhN2E1YzVhN2QxMjcwN2ZmOGFlMWRlZjcwYzU0MzAxZjI2MiBsZWdhY3ktdHJ1bmsKKzg1NzIgMjc0MjI2NGVmZGRlZGQ1ZDk1OTJmZmM4MDc5NDMzMDdlMDgyNzU1NyBsZWdhY3ktdHJ1bmsKKzg1NzMgNDRiOGNmYmRhNDQxMjQwMzIyNmZiZGIzOGUyMzQxMTc3YTlhYmIxYiBsZWdhY3ktdHJ1bmsKKzg1NzQgZDEzN2U2MjRjZTQyYjIzOTFhZmI5YTRjMzA1M2YzYzJjYWYxMmU2OSBsZWdhY3ktdHJ1bmsKKzg1NzUgMTc5YmZkMGZlZTI0YTI3Mzg4ZDVlNTk5OTUwOWE3NTdjNTAwYzYwYyBsZWdhY3ktdHJ1bmsKKzg1NzYgOGY3ZjQ3NzAwN2IzODg2NTJjNTY3YzI4NTE4NmU0YzRjMzg1OTI2NyBsZWdhY3ktdHJ1bmsKKzg1NzcgOGJiMTI4MjE1ZGM1OGMxZTg5ZjhmY2QwZDY1MGE3NDI5MDkxODk4MSBsZWdhY3ktdHJ1bmsKKzg1NzggYTY0ZDE0YzQ5MTRmMjE1ZTUwMTgyMTZhZTgzMWNiZmJjMTkzZWEwOSBsZWdhY3ktdHJ1bmsKKzg1NzkgNGQ4ZWJmN2FmZmFiNGJkYWRiNzBhYmVkNWU2NmViODVhYzFiZjQxZSBsZWdhY3ktdHJ1bmsKKzg1ODAgM2JiODk3MGZiOTE4MzBhNTkwMTNjNzA0YjVhNjcyMzc1NzFmOTFiOCBsZWdhY3ktdHJ1bmsKKzg1ODEgZjNjMGMxN2I5NzA4YmY4MmM5ZGEwYWRiODgzOGE5NjYyZWFlMmY5NCBsZWdhY3ktdHJ1bmsKKzg1ODIgNzdmYjg4MGVjYTQ5MWZlMTM1OTRlNmRhNGVmNjRhZDgwOTI5MmJiMSBsZWdhY3ktdHJ1bmsKKzg1ODMgMzZiM2IzMzdjNTY2Mzg0MjFjZmEzYmRjOTU1ZGVhN2YwZjM3YzA1YSBsZWdhY3ktdHJ1bmsKKzg1ODQgN2JkNTY1ZTRmYmI1YWEwNDU1NzBjN2E1YzY3ZWQ5NzVhMGZkYTgyYyBsZWdhY3ktdHJ1bmsKKzg1ODUgMTY3NmY1Nzk1MTgwYmNiNzZmNGFlYTFmNDQ4MThkZTFkZjJkNjUzYiBsZWdhY3ktdHJ1bmsKKzg1ODYgOGNiMmFmZDEwMTE5NTAwZWIwZTBiMzM4NmU5YTNiMTFmZjNhNDVhZiBsZWdhY3ktdHJ1bmsKKzg1ODcgMjYwYjIxNzY5MDYxYWE5MDZhMWNjMmE1MmZmMzRmYTkzMWUyZTNiMSBsZWdhY3ktdHJ1bmsKKzg1ODggOTczZWYzNWVmNDgyNTY4ZjM5NTYyYzMxMTVmNjlhNmFjZDcxZjllOCBsZWdhY3ktdHJ1bmsKKzg1ODkgNWQxZjMzN2NlZTI2OWY5MTFhYzZmZTI2YTdiOWY2N2E2YmMyOWQ1NSBsZWdhY3ktdHJ1bmsKKzg1OTAgZDkxZmQ3Y2Q4YmU3YjJmNmJkNDI2ZTE1MDQ4NjZiOTYzMjYwZDNiMSBsZWdhY3ktdHJ1bmsKKzg1OTEgNzM3ZWQ2NjUyODk4ZTk0MTZjODA4OTljMzI5MzBjN2VhMGI5YjhjNSBsZWdhY3ktdHJ1bmsKKzg1OTIgNjVjOWJhODAwMDMwMmMyZjQ2YTVhYjgwYTU5ZDFmZjcyZDM4ZTI0MyBsZWdhY3ktdHJ1bmsKKzg1OTMgMDdiN2Q0MzIwYjE0YWRhYTUyYmE4NDlmZTc5MjA2MzAwZDA2NTJiZiBsZWdhY3ktdHJ1bmsKKzg1OTQgOThhMjgyY2ZiMDEzZTc4MjI4N2FjMzQyMWIxOWVhMGUxOWRlNjkzZiBsZWdhY3ktdHJ1bmsKKzg1OTUgZDEzZDNjMmM5ODYwYTkzNDJmMTIwZTM4MzM2ZjRiZDgwNGJkZjM5NSBsZWdhY3ktdHJ1bmsKKzg1OTYgYzIwYjY5ODBhODcwZmNkNjFjOGZlNzA1ZWJlY2U4MGU5YzQwMWQwMiBsZWdhY3ktdHJ1bmsKKzg1OTcgZGYyOWU4M2MzMDRmYWE0ZWQyYjQ4M2EyMTViYzU5MTIyOTUzNGU4NSBsZWdhY3ktdHJ1bmsKKzg1OTggZGYwMjhiYzU0ZTZmMzJhNWYwZjhjMGExN2FiNWJlNDBjMmNmMjQzMyBsZWdhY3ktdHJ1bmsKKzg1OTkgZGI4YWM2ZTEwOWI0ZGMwYjkyOGQwNmE5Y2NlZDdiZDc1Mzg3ZTZiYyBsZWdhY3ktdHJ1bmsKKzg2MDAgNzQ4ZmI1YTAwOWE3YzBjMzAxNmE4NWNiM2QxOTM1ZmFmMWJmMzNiOCBsZWdhY3ktdHJ1bmsKKzg2MDEgY2MyYzg0NzY5NjM2YTQyNTlmN2ZlOTA1ZWEwOWNlNzlkZjYyZThiYyBsZWdhY3ktdHJ1bmsKKzg2MDIgZDRlODdhYTdiZmYwNTY3OTE1MjZmM2VmYjRmNGQ2MDRiYzFhMTU0MCBsZWdhY3ktdHJ1bmsKKzg2MDMgYjQ0OTM0YzIwMTI1ZWZkOGEzMjIyYzcwYTNhOGMzNjRlMDM2NGMzNyBsZWdhY3ktdHJ1bmsKKzg2MDQgNDI1NDA5NWE1MDI5ODAxYzBmOTI2MzQ3ZjA1MjI5NGJkZjU2Y2M0NCBsZWdhY3ktdHJ1bmsKKzg2MDUgMDYwZjgzOTMyZTkxYTZmNTgyM2U4MjAxNmM4ZGZhMmI4ZWYzNmZhNSBsZWdhY3ktdHJ1bmsKKzg2MDYgNWRjMDc4YjIxM2U1ODJkNzFlYTgxY2QwYzAwNmM0ZGZjMzNhZjJjMyBsZWdhY3ktdHJ1bmsKKzg2MDcgMmQ5NTgyZWVlMTEyZTZlOGNhZGZkNjRmMWMyNGU0OTNkMTNlODYwZCBsZWdhY3ktdHJ1bmsKKzg2MDggODU0MmI4OTAzOTg5OTVmOWMwMzI5YWMyNzhiNzE4MjcwOTE0NGE0YyBsZWdhY3ktdHJ1bmsKKzg2MDkgOTQ2MDViMDAyNmU3ZjZiZjM3NzJhN2MwNTFlOGE2MjY2NjliMzM2NSBsZWdhY3ktdHJ1bmsKKzg2MTAgYjRhMGJlNWM0MmJmNzU5YjVjMmYwZjI4OWIyMTgxYjk0M2Y3OGUzYiBsZWdhY3ktdHJ1bmsKKzg2MTEgNTUyODNmNjgxYTFjMjEwMWQxOWU3ZjM3MGUxY2YzOTY5NjEyY2ZiYSBsZWdhY3ktdHJ1bmsKKzg2MTIgMzJmNjU3NDE3NDNiZDdhYzZiZDE4ODM2Njg2MmEzZmFmMGQ0YjAxYiBsZWdhY3ktdHJ1bmsKKzg2MTMgNTcwNDVmNTFkZDEyYjA0ZDI1ODY1NTdmOTI4YTIyZjEyYzBkYjQ2MiBsZWdhY3ktdHJ1bmsKKzg2MTQgNDBhYmYyM2UxNjhiZmMzYmFjZDFkNTkzYmY2ZjYxYWFkYjM1MzI5YyBsZWdhY3ktdHJ1bmsKKzg2MTUgZjgwZTc2M2MxNzE3ZGU3OTExMDgyZTI1MDgxYjUyNDkzMTMzZTEwZSBsZWdhY3ktdHJ1bmsKKzg2MTYgYTI4N2M1MDE0ZTY2YTgxODhiYWUyOTEwMWUyNmNhMWY2YmU4MDFmZCBsZWdhY3ktdHJ1bmsKKzg2MTcgM2M5NTEyNDAxZjZkNmI3NmY5YjEwOWIzZTZjY2FmYTJhYzdhZDQzMiBsZWdhY3ktdHJ1bmsKKzg2MTggOWY2MTZhNDkyMTk2NjE5MTAwNzlmNWNmMzNkMjQ4MmM1NmY0NWRmOCBsZWdhY3ktdHJ1bmsKKzg2MTkgMTQ0ZGI2MzViNDlkMzNlOTliNmZkMWU1YjczNzc0NWNkMTc1N2FlMiBsZWdhY3ktdHJ1bmsKKzg2MjAgYzIzMzRkOTdjZTE0Y2E0MTY5NWU3YTk5MzZiNjY3MGYwNDU3ZTgwZiBsZWdhY3ktdHJ1bmsKKzg2MjEgMTQxODIwMjQwMTExMDlkY2U1ZTM1N2I0ODg5YWY1MTM2MTY5OGNiNSBsZWdhY3ktdHJ1bmsKKzg2MjIgMzQxZmNiN2JhZDkwM2JhMjkwZThiMmJhMDllZjQ3YTE2YzQ1YWY4YyBsZWdhY3ktdHJ1bmsKKzg2MjMgYTJhMWRmMGNhODA4ZjYyMzM0OTIzMjJhMzc3MTUzYjhlN2FhYzM1YyBsZWdhY3ktdHJ1bmsKKzg2MjQgYjc2YTQ0MTYzZTBmNjAzYjZkYzRjOGFlZWUyYTZhY2VjMzk4MThjMSBsZWdhY3ktdHJ1bmsKKzg2MjUgNDU4NGYwODkzMGFjOTFiNDAzNzk3NDk4YzNmZTVjYTk4ZDRmYTE5YSBsZWdhY3ktdHJ1bmsKKzg2MjYgYmIwMTExMzA4N2ViYzUwYTM3MTU4YzA3Y2U2YTk5YjM4NWRhZTRmZSBsZWdhY3ktdHJ1bmsKKzg2MjcgOWE3OGNlMWRiOGY2OGVmMTk4OWE0YzBlNGI3NGEwN2FkOTc4ZTRiZSBsZWdhY3ktdHJ1bmsKKzg2MjggOWZkNjBlNjQwYWU1ZDA5NzcxMGFlMzQxZjVjNGIzOTVmNmRhMTczYSBsZWdhY3ktdHJ1bmsKKzg2MjkgZDdjYmQyNjUxZTU1OWJiZGZiNzJmOTg0ZjhhNjA2YWM1YmRkMGI4ZiBsZWdhY3ktdHJ1bmsKKzg2MzAgMTdhMjZmOTg2MDA3ODg0MjMxNzc1YjgxOWFkNGUzM2IxNzMxOGQxOCBsZWdhY3ktdHJ1bmsKKzg2MzEgMmVlOTgxMWM5MmZkNGIyZWNlYTY2MjBjOWVhZjcyN2IzNzdiYjhjNiBsZWdhY3ktdHJ1bmsKKzg2MzIgNDc4NjcwMDZmMDc2YWU4NTU3NmFkMmQ4MzI5Y2IwNjgwOWY2N2JjYSBsZWdhY3ktdHJ1bmsKKzg2MzMgMWEyYmZhOWEwM2Y3NDJmODY0OThkOWVjMjA3YWFjYTJhMGM2NDU2ZiBsZWdhY3ktdHJ1bmsKKzg2MzQgNjQ3ZTYwZmIzYmFjM2Y3YzA0YjMxMGY2NDMwYWIzNzAzNjcwZmEyMSBsZWdhY3ktdHJ1bmsKKzg2MzUgMmUwYWE4ZDgxMzk2NGJiNmJhZGQ5YTgwZDMxM2FjOTU0MGVmNDFjYSBsZWdhY3ktdHJ1bmsKKzg2MzYgMmIwM2ExZGZkYmQzZmU2Yzg0NTMxZjBlMWY0OThhOTc1MjRjYjE0NSBsZWdhY3ktdHJ1bmsKKzg2MzcgNzk1OTI3NjFiMzMxYTA2M2YzYTU4YWMyNWRhNWFmZjU2MzY3ZWI4MSBsZWdhY3ktdHJ1bmsKKzg2MzggZDNkNWEyNWYzYjcwNWNhMjU2M2UxYWE4ZTFjNzhjNGJiMjEzNDlkYyBsZWdhY3ktdHJ1bmsKKzg2MzkgOTE4M2EzYzZiODVmY2EzNjJiY2Q4NWJhNGZjZTUzYWI1NGZjNjA2NCBsZWdhY3ktdHJ1bmsKKzg2NDAgMTE5ZDE4NGJiNWVkODkwZTgxNzcyNDdmYzRlZjZhNjk5NmI4NjliOSBsZWdhY3ktdHJ1bmsKKzg2NDEgM2VjNWNhOGFmOTFkMWM2MzU4ZTVhZWUzNTZmZGIzOGY1MGZlZjY2NyBsZWdhY3ktdHJ1bmsKKzg2NDIgMjlkZGYxMDQ5ODQyNzRhZmYyYjU5YzMyYzhlNGQ0MjA1OWFkNTVmNyBsZWdhY3ktdHJ1bmsKKzg2NDMgYTE4ZTFjZWJkMjlmYzhjZmY0ODNkMDA1N2ZmZWQwODg1ODkwNWIzNyBsZWdhY3ktdHJ1bmsKKzg2NDQgOWU0MzI0NjhmNzU2MDVkNmIwNDQ1ZmJhYTkyZmUwZTdhY2FjNjc5MCBsZWdhY3ktdHJ1bmsKKzg2NDUgMjUxNGU5ZmUyOWY2ZDczOWEzZjE0ZjU4Yjg0N2JiY2NiODJkZDdiMiBsZWdhY3ktdHJ1bmsKKzg2NDYgNDMzZDNlMWMwMmY3ZDA2OWZhY2YzMzQwMzdiY2IzOTVjOGQ3OTJkNyBsZWdhY3ktdHJ1bmsKKzg2NDcgM2U2ZDY4OGIwZDJhMjcyYmYyNTFhMmNhMjNhMmM2M2ZlNTVlZTAyMyBsZWdhY3ktdHJ1bmsKKzg2NDggOWEzZTZmMGQ2YjVhOTc3NTI0MGYzYzJjYWI1MGVjMjE4YmEwOTI1OSBsZWdhY3ktdHJ1bmsKKzg2NDkgMmY2MDgzNGVlYWY1ZDYzYTk2Y2E5Yzg0MGQ3N2NiNzE5OWRhZTBkMCBsZWdhY3ktdHJ1bmsKKzg2NTAgMjUzZTExYjYxMTA2ZDhlZGVkZDNmYjE1OWFkODQ0YzA2NjUxYTc0NyBsZWdhY3ktdHJ1bmsKKzg2NTEgNzcxMzVkYTlmMzZjZGNlYWEwYzhiZDljYmQyNWEzZWUxOWE2Y2Q5ZiBsZWdhY3ktdHJ1bmsKKzg2NTIgMTlmZTg4MGNhOTE5ZmE3NTU1M2Q2Yzc3NzI1MzczMWE2ZWM5YWJiZCBsZWdhY3ktdHJ1bmsKKzg2NTMgMThmODI0ZTViOWVhZTliYjUxNjlhYWU1YTQ1Yjc5MDE2ODJmMTE3YiBsZWdhY3ktdHJ1bmsKKzg2NTQgYWFjZTUwMmI4ZThiMTM0NDliZmFjMDliYjQ4NTY0MDc2NjQ1NDg4YSBsZWdhY3ktdHJ1bmsKKzg2NTUgYjU1YjIxN2YyZTBkNzljM2YzODQyNmQ2YjM0MWM2ZGU0ZDZjODc4ZCBsZWdhY3ktdHJ1bmsKKzg2NTYgNmNiNjZmMGNhOGQ1NDA4ZjRhYTg4ZmNjMmZiNjU0OTg4ZTBiNWU1YSBsZWdhY3ktdHJ1bmsKKzg2NTcgMmZmNzZlOWJjODVkN2ZkMjQ4ODg4MTc1ZTExYjZmMWI1OGFmOWUyYyBsZWdhY3ktdHJ1bmsKKzg2NTggZWY5YTI5NTNmOTMzNDM5ZWVhNDRkMTMzMWExMDdjMDdmNTQ3NjM5NyBsZWdhY3ktdHJ1bmsKKzg2NTkgNDNiOGM0YTY5NmQxMTRjZDBkMWMzZTViMTk5NzA4OWJiNzMyNTA4NCBsZWdhY3ktdHJ1bmsKKzg2NjAgNjRlMTk0YzVmODU0ZDA3NTI0YjAzYzY0YWMwNzIxNjYyZGQ0N2VkYSBsZWdhY3ktdHJ1bmsKKzg2NjEgMTEyNDlkNDM5ODQwNDljMDYyMTIyZTQwNzQwOGY2ZTBlMTY3OTZjOCBsZWdhY3ktdHJ1bmsKKzg2NjIgMzJhYWNkNzUzZjM0M2FhMzhiZDg4ZWFhZjYzOWM3MDgzODcwNTdlYiBsZWdhY3ktdHJ1bmsKKzg2NjMgMmU3NTVkMWZmNjYxZjE1MGE4ODFkZTJjODI1ZTIxMGZjMDNmYmZhOSBsZWdhY3ktdHJ1bmsKKzg2NjQgM2VhYmEyNTFhMzI5OThhODUyYWRhYjBmNDlmNGU1MGUyNDhkYWM4NSBsZWdhY3ktdHJ1bmsKKzg2NjUgYjdjMmZmMzA3MDM5OWEyYTA5MjRjNmJiMWFmZTljYTlhNDEzOTkwZCBsZWdhY3ktdHJ1bmsKKzg2NjYgZTQ3MTAxMTliNDFjZDYxMjQ5MDRjZDFlZGQ5NzcxNGJhMTIyNDdjZCBsZWdhY3ktdHJ1bmsKKzg2NjcgYjU3NTdlODdlYjMyZWEyODhiMDM0MjVmZDkyMTY0MjdiMTQwYjJkMyBsZWdhY3ktdHJ1bmsKKzg2NjggM2E2YjdhMzc3ZGMzYTk2M2YzOWI0M2U0YzQ1MzMzZDYxMWZiOTViMSBsZWdhY3ktdHJ1bmsKKzg2NjkgMTJiOGE0MzU5OWQzMzczNDgxY2RmY2IzYTRjNjFlZTBlNDNkZjM3NSBsZWdhY3ktdHJ1bmsKKzg2NzAgYmY3ZDc3MDVkY2U1ZGNhYzI2ZTNjMDA2NWM0NzIxY2U4ZjI1ZGUzZCBsZWdhY3ktdHJ1bmsKKzg2NzEgY2ZmMTA1YTNhMzg0YTdlNzJmNDk3ZDYzNzJiY2RjOTljNWY3ZWY0MiBsZWdhY3ktdHJ1bmsKKzg2NzIgZDk3OTgwZTdjMDVmMzA1ZDRlOGRlMzA0MmI0ODdkYWExNjQ4NTk3NSBsZWdhY3ktdHJ1bmsKKzg2NzMgYWIwNDVlZDExYmM5Njc4OTgwZDk4MjJmY2RmZTQyZGEyNzYzNzU5MCBsZWdhY3ktdHJ1bmsKKzg2NzQgN2RhN2JhNWM2NTI1ODRmN2YxNDcxODAwNjlhYzEzNGU3MGEzNzYxMCBsZWdhY3ktdHJ1bmsKKzg2NzUgYzQzY2E4ZGQwMDgxODc2OWM3OThiMWM2OWJiY2ViMTE5MTcxOThmMiBsZWdhY3ktdHJ1bmsKKzg2NzYgZmU4OTcwOWMyZWFjMGJmNzdlMDFlMDdmZTA1ODAyOWYxMDRiYmU1YSBsZWdhY3ktdHJ1bmsKKzg2NzcgYzU3Y2VkZTNjN2MwMDIyZmYxYjBlZGU2ZDcxNjM5ZWFkYzc0YmNmMCBsZWdhY3ktdHJ1bmsKKzg2NzggZGM5NzRiM2E2Y2Y0ZjcyMmY2YzhlNzAxOTYzMzhlNWYyZTYwZGM2YiBsZWdhY3ktdHJ1bmsKKzg2NzkgYmEyZjExYTgyZjI3N2M1ZmQ1ZGI5ZjYwYmFhOTZhNzkyYzNiYmIxOSBsZWdhY3ktdHJ1bmsKKzg2ODAgZjU3YWU2OGFhM2FlNTI2ZWQ2NzhkZmM0MGY5ZDE5NDBiYWIxMjM4YSBsZWdhY3ktdHJ1bmsKKzg2ODEgMjRkNjY4NDU0Y2IwMDAyMzE5Y2EwMWNkNTkyMGI2MDQ5NGRlYmUxMSBsZWdhY3ktdHJ1bmsKKzg2ODIgZTU1NGI5ZjRhM2FhOTI5ZTJiZDcxYzk2ZDkyMjgxYmY2YjFlOTcxOCBsZWdhY3ktdHJ1bmsKKzg2ODMgNzdmNWI2Y2JlYTY2MjQwODhiNzVkYWUxMDY3YTQ2OTk0OWU2YmJkYyBsZWdhY3ktdHJ1bmsKKzg2ODQgOWMyZWU2YmJkYmIzMjM3ZjYxNmUyMjdkYjlmNTkzZWExOTVlYjMxNCBsZWdhY3ktdHJ1bmsKKzg2ODUgN2I0NWQ5MmUzODYxZTM3NjBkODg4ZWIyNjk3YjBmMzdmNjk1ZWEwYiBsZWdhY3ktdHJ1bmsKKzg2ODYgZmUzZmFjMWEzZTUxNzg0NmJiYjdhOWUzZTRjZjg4NzBiODEwYTBlYiBsZWdhY3ktdHJ1bmsKKzg2ODcgNmEwYmY2YjI2Mzk2NGZhYmE3MTE0NTVmOTc4MjE3MjNkMjQxZWE3NiBsZWdhY3ktdHJ1bmsKKzg2ODggYTEyZWUyN2NhZDkzMjJiMjEzM2MxY2IzYWJkMjBiOTBmMjIwNjNmNCBsZWdhY3ktdHJ1bmsKKzg2ODkgNTA4OGVjNWExMmE2YjJlMzA1MDM0MDU3OGQ0YjE1Nzc1OTIzMzE4MCBsZWdhY3ktdHJ1bmsKKzg2OTAgMzZkZmM4Y2MxZDAxM2EzMzE4NzI0Yjc2YjZjOGE4MzhiNzQwNTYzNCBsZWdhY3ktdHJ1bmsKKzg2OTEgNGUxZjg5YTEyZjk5MjkzMzcxNDY3MGMwMDFlMWQ3MDkzYWU0ZmNhYiBsZWdhY3ktdHJ1bmsKKzg2OTIgZWI3YTAxYjg2ZjkzMTZiNzdlOWU2MmE3YzEwYzNkYWQzZmMyYzFhNSBsZWdhY3ktdHJ1bmsKKzg2OTMgMzNjZWYwMTk2MWE3MTEwYjAyNzJkY2ZkMDFmOTEwNjk4ZWYyNjkzYyBsZWdhY3ktdHJ1bmsKKzg2OTQgYjcwMWRmODVjMDQ3NDc2NWM2NTYwODU2NjMyZmJkZWIwZTg2MzQwYyBsZWdhY3ktdHJ1bmsKKzg2OTUgOGI1OWMwMDRhNDk5YzEyNjFlMGQ5NzRhZTE3ZTIxZGI1NDA1OGJlOCBsZWdhY3ktdHJ1bmsKKzg2OTYgNDE4ZDM4NWE5ZTQyNGM0ZmM2Yjc1MzMzMjBhN2UxNTU0MmVmM2NjMCBsZWdhY3ktdHJ1bmsKKzg2OTcgZWQ0OTI0ZjNiMmE1NjFjMGM3NTQ3YTJjNjI0NmRhMDlmOGNhN2QyYiBsZWdhY3ktdHJ1bmsKKzg2OTggZWU1YmQwODUxN2U4NjJhNDczNjU2NzczZGFiYTBiZWZhMDJkOGY2NCBsZWdhY3ktdHJ1bmsKKzg2OTkgNzhhNGE1NjMyYTkxYzU1OWE3OTQzYjYwYTI2YTExNGQ4YzcyM2MyZCBsZWdhY3ktdHJ1bmsKKzg3MDAgODBiZGJjNDliNGM0MGI1OTI4NzJjNTFjZDY0OTg0OGUwZTkyYjljYiBsZWdhY3ktdHJ1bmsKKzg3MDEgODU2ZDg3ZDI4MmFjNmJhM2EyOGFlMDNiYTI0Mzg0YzM3Yjg5ZGI1MyBsZWdhY3ktdHJ1bmsKKzg3MDIgYTg1Y2RmMGJlZmM1Y2JmZDQyYzZhNzgwYWVkNzdhNGNmMDRhOTMzMyBsZWdhY3ktdHJ1bmsKKzg3MDMgOTk4NTUyMTliMzdmNjgwNzAyZDYxNWNiZTY3ZDg4ZjViNTY3YjNlMyBsZWdhY3ktdHJ1bmsKKzg3MDQgNjEzZjk3NmE1N2I0OTJkODZlZTZmNGFjZTc2YWRlMWVjNGYxNjZjNyBsZWdhY3ktdHJ1bmsKKzg3MDUgYjUzMzQ3YzgyNjBlZjE1MjZkYzAzOTUwMDRkN2RmYWZiMDM3N2NmOCBsZWdhY3ktdHJ1bmsKKzg3MDYgNGRhNDgwODcwOWM5NTk3NzU3ZTVlNTNlNDViNWYxMTUzNDg1ODYzMCBsZWdhY3ktdHJ1bmsKKzg3MDcgMGVmMGUwNTFiMWY4ZDIyYzEzZTJkNDVhYmNkZjUyMjMwODM2ZTIxNyBsZWdhY3ktdHJ1bmsKKzg3MDggYzg5MzkwZTU2YjkxNDJlYzg0OWNjZDc4YTNlZWU4ZDk2MGVmMmJlNCBsZWdhY3ktdHJ1bmsKKzg3MDkgZmM1ZTFlMDA0OTk0MGFlNzQwOGQzM2ZhZDk2M2UzY2Q0NTEzOTdhYyBsZWdhY3ktdHJ1bmsKKzg3MTAgZWZjZWQ4MzI2ZTNmMjUwYTZhNjUzOWNmNzI1NWIwM2M5OTNmODFlOCBsZWdhY3ktdHJ1bmsKKzg3MTEgNGU1ZmI4ZDlhY2IxYzYzYzk1NzAyMDYzOTE5MjViMzJmMWE3MzRhYiBsZWdhY3ktdHJ1bmsKKzg3MTIgMjQ4NDU5NjgzMjNmOTEwMmQ0MDJiMzYyYWNhYTZlNjFiNGFmNjJiMiBsZWdhY3ktdHJ1bmsKKzg3MTMgNmRmZWMzMjBmOTEwOWUxNGEyMzY3OGQ3YTc1NjYwZWEyNTY3M2YzNCBsZWdhY3ktdHJ1bmsKKzg3MTQgMDNiODc5M2Y3NmMyY2JjZWQ1ODYzMDM1MzA5YTI4NTQwMDE3MjZhZCBsZWdhY3ktdHJ1bmsKKzg3MTUgNDQ2MmQzYzYwMGJmOTcyYWM2YWY2MjFiMzcxNjE1NGNlMTA2MGU2OCBsZWdhY3ktdHJ1bmsKKzg3MTYgZjYwODc2ODM1YTc1OWMyMWVlNDQ3YWEwZjRiZWExYzA2ODJlOTc2OSBsZWdhY3ktdHJ1bmsKKzg3MTcgM2I1YmJjYWY5MTdmODdjN2VjMWI3NWNmZjgwNjFmY2U4NThhOTc3OSBsZWdhY3ktdHJ1bmsKKzg3MTggYWI2NDM0NGU4N2RiZGI1YjI3Njk0NmU0NDgyYjliNjhiN2VlYjExMiBsZWdhY3ktdHJ1bmsKKzg3MTkgMjFhMjg0OTBiZDk2MWNlOGMxZGY4Y2Q3ZGUxMDNjNDk3ZjJkMWFmYSBsZWdhY3ktdHJ1bmsKKzg3MjAgNDI3OWY0ZWIyMTBhMjE0ZjBmZjBmNDk3MjcyZDc3NDRmNGRjNzM1NyBsZWdhY3ktdHJ1bmsKKzg3MjEgNWFiMjFkMWI2MWQ4NmJmMzNiMDJlMzM5M2RhYjYzM2U0ZWYwMjJjYSBsZWdhY3ktdHJ1bmsKKzg3MjIgMTViY2VjM2QzMjU5OWU2NDk4ZDFhMTNlNzZkODM4OWQ3MWJiNjg5MyBsZWdhY3ktdHJ1bmsKKzg3MjMgNGNmMjBmYTg4M2E5MmUxZTc0YTkxNzg1ZmFmMDgzNzc2Y2IyY2E1MyBsZWdhY3ktdHJ1bmsKKzg3MjQgMTQ5NjQ0NGU4YzhiODMwNDdkMjRhYWVmZTJlYWNiNTYwMzM5NWRiNCBsZWdhY3ktdHJ1bmsKKzg3MjUgYWYxMTRlZDllNjFkZWQ2MGE3YmU5N2Q5NGU5MzIwOGY1MWVhNjUyYyBsZWdhY3ktdHJ1bmsKKzg3MjYgZjEwYWFkNzNlMDI5MzExMDI1N2E0ZjMwYzY0OTQyOTVmMGIyNjU2YSBsZWdhY3ktdHJ1bmsKKzg3MjcgM2ZhNGI3YWUwZTZiYzFmMGFhYWU0MDFmMDVjYzliYzgwZjZmY2EwYSBsZWdhY3ktdHJ1bmsKKzg3MjggM2UwYWE3MTYyYzg4MWY2M2Q3ZmJlZmI4NTdmMWM2ZGNiNmVmZjU3MCBsZWdhY3ktdHJ1bmsKKzg3MjkgNjQyOWRiNWQwYWY3MmQwMDkxZWIwOTFlNDQ1MDlmYTY3YzIwMzEzNCBsZWdhY3ktdHJ1bmsKKzg3MzAgNTIyNGVkODc3YmFlN2Q1NmI0ZGU4NDU2YjIzOTc1N2Y0YjNmYmFjMSBsZWdhY3ktdHJ1bmsKKzg3MzEgNGM3NmVlMDFkZjA4ZGIzYzRjYTQxZDAwMjUzZDI2Njc3ZDkyNjc5NyBsZWdhY3ktdHJ1bmsKKzg3MzIgZjQ0NmUwOGFjMzAyN2I4NmYyN2IzYWQ2NmE3NzRiYzk4NWRjNzlmZiBsZWdhY3ktdHJ1bmsKKzg3MzMgY2UyMDkyNzE0NDg0MzY5ZTg4Y2FlMjYyYjI2NTQ0ODUyZTAyYTlhMSBsZWdhY3ktdHJ1bmsKKzg3MzQgZGRkMjU1MTBmM2ZiNmYzMWJmZmYxYWY0ODFlOTU3NTM2NzU2MjFlNCBsZWdhY3ktdHJ1bmsKKzg3MzUgN2MxZWE4NWUyNjg0MmFiZDQyZGJlYWUyNjMyYzA5ZWIwZDU5ZjgzMCBsZWdhY3ktdHJ1bmsKKzg3MzYgNGZiY2M0Mjg5MDEyNmMyYjZjOTljYTY0OWUzOTdjMzZhZDIzNmM3MSBsZWdhY3ktdHJ1bmsKKzg3MzcgYzBjZDIzZTcwOGI1ODZlZDI4OGQyZWQzMWYyZTYwYzBmYzk2MmM0ZCBsZWdhY3ktdHJ1bmsKKzg3MzggZDk3OTQxZWM1ZWVkMDExNTRhYTdhNmIzMTY5NGY2NDA2ZDlkZmY0ZCBsZWdhY3ktdHJ1bmsKKzg3MzkgNTA3NGZhYjI5MjVkOGFjMGE4NTNhYTVjODE4NmRiYjdhOWE0MTJmYiBsZWdhY3ktdHJ1bmsKKzg3NDAgYWE2ZTA1MDRlMGYyYWI2ODczNTBiYzBhNjc5OGIxZjFjNDkxNTA4MCBsZWdhY3ktdHJ1bmsKKzg3NDEgM2RmMjJlZGNlY2FkODY5NzEyZDk1Y2E2YzcyNjhiMzNkY2Y3N2EwMyBsZWdhY3ktdHJ1bmsKKzg3NDIgOGE1MDI0OWFhNzJmMzNkMmE5MmE2NmRlOThiMDBlMGZkM2Y2NGM5ZSBsZWdhY3ktdHJ1bmsKKzg3NDMgOGMxZTAyMDg5Mzc5OGUwZjNmOTNhMWUyNzI3MDdmMzkzMmRhMDA1ZiBsZWdhY3ktdHJ1bmsKKzg3NDQgZWI4ZDFhMDk4YjlkZWNiMTQ2Y2YxZjI2MGE4Nzk4MTk5NWNhZjMxZSBsZWdhY3ktdHJ1bmsKKzg3NDUgMDIwYTNjOGFiMDcwYmEzNjY0NWUwMDljODc4Y2UyYWMwN2ZjMTUwNCBsZWdhY3ktdHJ1bmsKKzg3NDYgMTNjNTMyOWQyYzJlOTEyZmFhMWNmYjNmZTA5ZjY5MzgxYzU4YTljMCBsZWdhY3ktdHJ1bmsKKzg3NDcgZGVhOGRjNGI4ZTIyNWRmYmFkNTFkODAyNDFiMWM5MjRkYzhiMTliMSBsZWdhY3ktdHJ1bmsKKzg3NDggZTk5MjYyNDFmYWE0MDMyZmJmMmQxMGUyMTRhNGVhZDVjMDliZjM1OCBsZWdhY3ktdHJ1bmsKKzg3NDkgNzc1ODk5NTgzZGE2OWQxMDRhMzYxOGE5Y2ZjNWU4YWViZDcyYzY4NSBsZWdhY3ktdHJ1bmsKKzg3NTAgNDMzMzc3NWI1NWZkZGVmNmFlNWI0YzZiNDRlMDNmNzk4MzZlOWYwZiBsZWdhY3ktdHJ1bmsKKzg3NTEgN2EzODA4ZWRjNTM5MDQzNTEwN2ExMWViOWU0OWM1YmQ1ZGJmZmI5MiBsZWdhY3ktdHJ1bmsKKzg3NTIgZjlmYmRlNzVjNTM2NWE1ZjU4MDg5NjcwNDgxNGIxYjQ0ZGQ5MjQ4ZiBsZWdhY3ktdHJ1bmsKKzg3NTMgZWQ3NGNjNTljOGEyYzUwNGQyOTM5ZWQ0ZjY5ZmJjMGE2NGM3ZDNmZSBsZWdhY3ktdHJ1bmsKKzg3NTQgYmI1NDcyZmI0ODg1Yjk1MDJjYTJjNzNiZGQ3Y2Y5YTcxZDJmMGNjMCBsZWdhY3ktdHJ1bmsKKzg3NTUgMjk4NDQxNmExYjJiMjM4YzZmYzVmY2JiYTgwYzRjNDZjYzIwZWEwYiBsZWdhY3ktdHJ1bmsKKzg3NTYgMDc4NjAwNDlmMWM0NTE1ZmY5MjVjY2E1YzkxNDFmYTkzMTg4ZDQ0MSBsZWdhY3ktdHJ1bmsKKzg3NTcgYTI2NmU5NGNhNWUxY2Q5NDI4M2VhZDY3MmYxMWUxMzNjNGZlYzU2YyBsZWdhY3ktdHJ1bmsKKzg3NTggMzNlZjdiYTZlNzRiYTUxMzZiZDhiYzA4ZDBlYWVhNjM0ZmE2NWE0NiBsZWdhY3ktdHJ1bmsKKzg3NTkgZjY4MzllNTMyYmUyYjRlYTUxMjUyMTI4MTQwZGI4Mzg2YWM3MjU1ZSBsZWdhY3ktdHJ1bmsKKzg3NjAgZWJkYzQ4ZDA2Y2Y4NWVkMDI5NWRhNjJjN2U3MzAyZWFkY2ZlYWYwZSBsZWdhY3ktdHJ1bmsKKzg3NjEgZGFhNjJjMjI2NGI1MjU5OTU2OTcxZWNlODE1MDVjNGYwNjI2ZGExNiBsZWdhY3ktdHJ1bmsKKzg3NjIgMzM3MDU0ZTlkNGZhNDM3NTY1YzRmODE3MjUyMzRmMjVlZGQ1YzRkZiBsZWdhY3ktdHJ1bmsKKzg3NjMgODJjZDJiYWE0MTM2NDZmNmNjODBkNWJhNWI5ZTgwZTg3YTI5YjUyOCBsZWdhY3ktdHJ1bmsKKzg3NjQgNDg5ZGIzNjJjZDQ4ZDA4MzNhOGJhODkwMjlhNzRhODNjOWMxNDAzNSBsZWdhY3ktdHJ1bmsKKzg3NjUgNWZhNGIxMDMzYjA2ZmMxOTUxZWI1OGNmMDhhNTM2ZjUyYmJjYmI2NCBsZWdhY3ktdHJ1bmsKKzg3NjYgNjU0NDYwNDRmYjhmNzEyOWJkNmViNDBmYWE4MmY2NWY2ZjVkN2Q1ZiBsZWdhY3ktdHJ1bmsKKzg3NjcgNDdmYTNkZGZiMDkwYzk1YmVmY2IyNzYwM2M2MmY4MjI0MGQxOTYyMiBsZWdhY3ktdHJ1bmsKKzg3NjggM2Q2MTQ3NGExNTUwZDg2NTQ1NzMxOWM5ODA3ZmIxZDUzZjA2ZGI1NCBsZWdhY3ktdHJ1bmsKKzg3NjkgOGUzMWYxYzA3ZGM1YjJlZjAxMTA0ZWE5YWJiMDM2NjMyOWQ4Yzg0ZiBsZWdhY3ktdHJ1bmsKKzg3NzAgNmMwYTI2NThhMTU2MTA4YTA0ZTllMGIzMmJiNWM5Zjk3ZDE4MTM3OCBsZWdhY3ktdHJ1bmsKKzg3NzEgYTg0ZWYwYTcxMWJhMDkyYjcwODI3ZjAxM2ExMDY3NTA2YzUwMjU5MiBsZWdhY3ktdHJ1bmsKKzg3NzIgZWFiZGU4NmQ5N2YwNjk3ZjI1OGM5YjdiYzhjZjI0Y2U5ZWIzYjkzYiBsZWdhY3ktdHJ1bmsKKzg3NzMgYzBkNDNkNmY1MjQwZGU3ZTk5MDY2ZTgxZDk2NTI3YmViOWYwYmIyYiBsZWdhY3ktdHJ1bmsKKzg3NzQgNTA5NDc0Yjg4YjAxYzQxN2MzMzhjMzg4ZGExNDhiNzZiZjk0M2M4YyBsZWdhY3ktdHJ1bmsKKzg3NzUgZWJkMDk5ODg5NzIxYzQ4MDlhZjBmZTU4ZWQ4OGUwOGZjMzU4ZTMxZCBsZWdhY3ktdHJ1bmsKKzg3NzYgMDA1NGEzODQwYTc1MmE1MzcwM2QyYzFkYTE0MjMyM2FhNmQyZjMxMiBsZWdhY3ktdHJ1bmsKKzg3NzcgNDkxMDViOWU5OTQ3NDQ3ODgzMGI1Nzk4NzMwMmQ1NmViOWFjYWMzMiBsZWdhY3ktdHJ1bmsKKzg3NzggYTQzMzUyZjBlMWVlNmJhYWFmYmE4NzdiMjY5MGZkMjM4NjY0YWRkYyBsZWdhY3ktdHJ1bmsKKzg3NzkgYTYyZDZkMDYzYzBmMDg5ODNhMjZlNzExNzQ2ZDNmM2Y0MWIwMWUwZCBsZWdhY3ktdHJ1bmsKKzg3ODAgY2YwZWZmYzNmNTg1Yzc4OGM4Y2EwNzM0NTY3YmEwMjExYjk3NzFkNiBsZWdhY3ktdHJ1bmsKKzg3ODEgYjM3OGEwODg2NjIwMTUxZWRjMzg4OTdmN2U3YmM0ZDIzMTQ4ZjkzMyBsZWdhY3ktdHJ1bmsKKzg3ODIgNmUxZmE3NmU3OTQwN2QyNDNhYmZkMDc5YjM3Y2E3NjgzOTJmYjJlYyBsZWdhY3ktdHJ1bmsKKzg3ODMgNTlhOWZiZjU5MTI4NjNmYWEwZDE3ODQ5MDcxZGYyNzg4ZmU2YWY5NCBsZWdhY3ktdHJ1bmsKKzg3ODQgZTFlYTRhZDQ2MWY5MjNiOTk5OWUwZTgyODllMzkwOGViZTJkZWYwNyBsZWdhY3ktdHJ1bmsKKzg3ODUgZWE2ZTU4NzEzNmI2ZTNiYmQwMDgxYTg4NGNlMTkyYjY4ZGUwNjY3ZCBsZWdhY3ktdHJ1bmsKKzg3ODYgOTA0YTRkNzgzYTMzNzJiM2YyMWZkNTBjNGViNTJhOTY1MTg4MWQxZCBsZWdhY3ktdHJ1bmsKKzg3ODcgZWI1MTI4ZThhOGU4ZTNkNzI5NmU4NzYxNmJiZjVkMmRlNjk2NGJkYSBsZWdhY3ktdHJ1bmsKKzg3ODggMTNmYmQ5OGQ4MWNjMDYxYzczOTViMWI3MWU4YjM2ZDRjZWYyZjg3ZiBsZWdhY3ktdHJ1bmsKKzg3ODkgN2JhNzljOTQ5YjNhNzI3OGZhZmJlMGJlOGVlMjE4YmI5ZTcxODY3YiBsZWdhY3ktdHJ1bmsKKzg3OTAgYjk0NThkYzk5ZDUwYTBmMTM5NDA4NmY4MzlhOGEwNmYyNzE5YmU5YiBsZWdhY3ktdHJ1bmsKKzg3OTEgNGI3ODVlNTllODMxMjIwMDU1MWViN2M4MzU0OGRiZWFlOTJmMmU4MSBsZWdhY3ktdHJ1bmsKKzg3OTIgZDI1NDg5YzVhMjJmNGZmYWZkYjA3YWNmOGRlNGMxN2RhYTlkNDc0MyBsZWdhY3ktdHJ1bmsKKzg3OTMgYzIzNTk2NjViZTgwNzMwY2UxMmE3ZWY2ZDMyODczZTM3OWY0MTlmNyBsZWdhY3ktdHJ1bmsKKzg3OTQgNzFiNDBjYzRjYzAzNzJmM2NkZWJlMjk5NGZiMGJkZTE1MGY4ODg3ZCBsZWdhY3ktdHJ1bmsKKzg3OTUgY2RjNWE0MGZjZjk3NGU5NDJlZTZmNzk5NDFmMjQ2MjA1YWI1NDAzMCBsZWdhY3ktdHJ1bmsKKzg3OTYgYjdmMGI5OGY1MzI1MTdmNzUzODRhNzcyYWM2NTdlZjc5Y2EwYTlkOCBsZWdhY3ktdHJ1bmsKKzg3OTcgYTc1Y2E3NGRlZWNhY2M4OGFiOTNlM2QwMGFmOTlhYTNiMjNiNzkyNSBsZWdhY3ktdHJ1bmsKKzg3OTggOTEzY2QxZjM3M2JlNDdiNmU5MzA1ZmVjYmUyZDYzM2RjY2Q1ODM3ZCBsZWdhY3ktdHJ1bmsKKzg3OTkgMDVkOTQzYzQ1OTdjMmRjM2VlZjg4ZDhlZWQ0NTE1ODM1ODUyNDVjZCBsZWdhY3ktdHJ1bmsKKzg4MDAgM2Y4ZDdmNzRmMWJjNTQ5YTM0NmJjMmQwZGRiYWI1NjViYTk4N2IzMCBsZWdhY3ktdHJ1bmsKKzg4MDEgMjBiNTY0N2EwNjdlYmZlZmZmNTg4YmI1OGI3MjczOWQwODZkYjYxNSBsZWdhY3ktdHJ1bmsKKzg4MDIgNWNkYzNjYTA1M2Q2ZTgxMGE1NjU1NTBmYzEyNDAyZDdhNGZiZjcwYiBsZWdhY3ktdHJ1bmsKKzg4MDMgYjAxODM5OTQwMjFiMzcyZmNmNTEzYTI4ODMxMDczODFhNGU4NzYzYyBsZWdhY3ktdHJ1bmsKKzg4MDQgNGI0Nzc1YjQ5YmZhYzQ0YjYxN2E2NGNmOTJmYTQwZTYxYWI2OGFmMyBsZWdhY3ktdHJ1bmsKKzg4MDUgZGZlYWY5NjVmNDhhZDMyZjBiYjBlOWU2YzUyMGFhOWYyNWM4MjE3NSBsZWdhY3ktdHJ1bmsKKzg4MDYgZmJkY2ExNzI4M2MyM2JmMDA0Y2VmZjI3OTk3MjMyMWMxNzVkODJkZiBsZWdhY3ktdHJ1bmsKKzg4MDcgMTcyYzdmZWJkNzU1N2E1MDBlMzY5NzcyYWZhZTJjMDUxM2UwMDAzYyBsZWdhY3ktdHJ1bmsKKzg4MDggOTc5YzcxMjM4ZTViYjJjM2MyNDhhOWZmMDlhYzI4YTUyNWY0MTNmYSBsZWdhY3ktdHJ1bmsKKzg4MDkgMmY0YTkyNWU4YjRiMjQxNDNkMzI4YzIwNjNiYmUzNDFmOGRmZjRkOCBsZWdhY3ktdHJ1bmsKKzg4MTAgZGQxMDI3NjZlYTUxMjFiY2IzMDMyMDNkODBlYzZlZWM4MzE4MDIyOSBsZWdhY3ktdHJ1bmsKKzg4MTEgZmMxYzBhMjdiYjk2MzhhNmUwZDE2MDU5OWMwN2ExYWFlNWRmOTRjZCBsZWdhY3ktdHJ1bmsKKzg4MTIgNTc1ZjZiOTEwZjg4YjQxNmE3NmUzYzMyMzAyNjNiNTBjYzE1OTI1OSBsZWdhY3ktdHJ1bmsKKzg4MTMgYTQyYjMxZmU5NzZmNTU0NDFhMjljZDQ1OWNkNTBiZWVhNTJmYmYyYyBsZWdhY3ktdHJ1bmsKKzg4MTQgOWU0Mjk1MThjYjIwMTc0NTBkZDJkZGFjNTIwZmEyYzQ5ZWQ5MTFhMSBsZWdhY3ktdHJ1bmsKKzg4MTUgNGIwNzZmYzViYTQwM2VhYWQ1ZDAwZjQ4OTgxMTY4NTczZDFjZTZkOCBsZWdhY3ktdHJ1bmsKKzg4MTYgNmY4ZWI0YTFmYTA3ZWI3OTkxODFkMmYwYzAxNDJlMzdiMjZhZWNkMyBsZWdhY3ktdHJ1bmsKKzg4MTcgNTkzZjU0MTI5NjYxNmEzOWM4ZDM5MGFkYzQyNDc3ODZjNWE4NmZhMSBsZWdhY3ktdHJ1bmsKKzg4MTggMWVkOTE0ZjhiZjBhMGZlYzhjOTlmMmVmYmEzZjg5MmRkNTdhMzE1ZCBsZWdhY3ktdHJ1bmsKKzg4MTkgZTllZDA2NGYzOWY1MDVjZjdiNTA5ZGY3NjI1M2IxNWQxZmYyYWQzZSBsZWdhY3ktdHJ1bmsKKzg4MjAgNjg5ZGU2MTNlYTFjY2EyNzE3NzliM2RmMGEyMmU3OGRjOGNmZmEyNiBsZWdhY3ktdHJ1bmsKKzg4MjEgZTQwODdjZDQwYzg1ZDgwMGRiZWQzNmRiY2YxZmQ2ODhkNjEzZDgyZSBsZWdhY3ktdHJ1bmsKKzg4MjIgOThkYWNjODk3M2ExMjAyZjY0MjhhZWMyZjQ2OWFiNTQ1OTJlODIxYyBsZWdhY3ktdHJ1bmsKKzg4MjMgYTVmMjlhNTYwYzA5YTMzODg0MWE3YTdkMzE4ZTU2OGVkYjY3MTUyOSBsZWdhY3ktdHJ1bmsKKzg4MjQgMjY1NmQxZWVhNzkyMmRiOWYyZDUwZGU4ZWFmYTY0YjI4ZDYyMzAzNiBsZWdhY3ktdHJ1bmsKKzg4MjUgNmEzYjllN2Q0M2MxMzc3ZDIzM2YzOThkNzAyZWIzNWIwMmNmNTNmNyBsZWdhY3ktdHJ1bmsKKzg4MjYgYjczMzFiZDBjY2Y1NzdjYjlhOWE2MWE4MzA5MTM0YjA2MmNlNmRiMiBsZWdhY3ktdHJ1bmsKKzg4MjcgOWExMjFiM2ZiZWJiYmFmMWE1YTUxNTFkNDVjMDQxYjE2MTA0YjVjNCBsZWdhY3ktdHJ1bmsKKzg4MjggMzg2NGRmMjk0OTc5YTA2OTYxZjNjYjk3ZGFjZWM1ZTBhZTc3ZmVjYyBsZWdhY3ktdHJ1bmsKKzg4MjkgYjYyYTdhNTk0MTRlN2YzZTBmNzg1NTk3ZWRjNTk0Zjk2NGQ1OGY4OSBsZWdhY3ktdHJ1bmsKKzg4MzAgNjY2YWNjZDY2ODc4Yjc2ODEwM2JjODAxZjBhOGJlZTc5Mzg0ZWVjMiBsZWdhY3ktdHJ1bmsKKzg4MzEgZjRkY2JjMDI3Y2QyMmVlN2VhNDFiNzYyNjNhZGY3ZDU1YTBjYWNlNCBsZWdhY3ktdHJ1bmsKKzg4MzIgMmU0MGUyN2Y4YjI2MGZjNDc2MGI0NzEzZDE5NzRiZmU0NDk2YjhmYSBsZWdhY3ktdHJ1bmsKKzg4MzMgYTg1N2QyZjg3MzM2NGMwZjNlOGNkYzJhOTkwMGI1ZjQyNTU1MjQyMCBsZWdhY3ktdHJ1bmsKKzg4MzQgMTc0YzFiY2M4ZTJkMGQ4MjhlZjk2YzgyODY3M2U3N2VjMjliZDI3MSBsZWdhY3ktdHJ1bmsKKzg4MzUgOWU4MmRkNzYyODhlOGYxOTMwYTQ5YmZjM2Y4ZmIyZGY3M2Q0NjZkYSBsZWdhY3ktdHJ1bmsKKzg4MzYgN2RmNzhmOWQ2ZDM0Nzc3N2FhMTNhNmJiNjg5ZTMzY2QxM2UwZWY2ZSBsZWdhY3ktdHJ1bmsKKzg4MzcgZDY0ZTg1ZWQ3YjQ0MWRhZDdkZjIwNjhjNTYwYzJmMjc1ZjcwZDYzZiBsZWdhY3ktdHJ1bmsKKzg4MzggMGU3ZTIwMDQ5NjM3MjhhMzY1MmVlZWZmMGQ0N2NmZTRhYjc0MzU3OCBsZWdhY3ktdHJ1bmsKKzg4MzkgMzI2NjMyNjdlYjQwNjE5NjBjMDU4OWUwY2JmODIxYTRiMzhjY2Y1OSBsZWdhY3ktdHJ1bmsKKzg4NDAgMGM3NDY4OGJjMWZmYTQ5MzYwYjlmODNhNThiZGVlZDA0MjFlMGQzYyBsZWdhY3ktdHJ1bmsKKzg4NDEgZjM5YmVlM2ZmMjJiZGFjMmYxZTIyYWQ5YjAyZDI5ODFhODdjMzg3NyBsZWdhY3ktdHJ1bmsKKzg4NDIgMjFiOTNkOTg5MjZiODE1YWM5ZWNlMjg0ZDRiN2M2NDgyZWNhNzZkZSBsZWdhY3ktdHJ1bmsKKzg4NDMgNzFjM2JlYjI5NDk5OWRhYWFhODJmODQ3NTY3YjA5YzUwMGVlZGRmNSBsZWdhY3ktdHJ1bmsKKzg4NDUgMmMyOWI4OTgyNjQzMzdkMDJhMDBmNmRkNWQ5NGVlNThhNTBkY2E2OCBsZWdhY3ktdHJ1bmsKKzg4NDYgOTRlMGIzMWZkZjVmMjgzMzE1ODg4NzFmZjFkYWEyNTRjNjgxZDk3ZCBsZWdhY3ktdHJ1bmsKKzg4NDcgZjgyMjQwNDZjY2Y4Y2IzMzYyNTE0YTg2Y2UzOWY5ZDdhN2I1ZWIxOSBsZWdhY3ktdHJ1bmsKKzg4NDggMzY0MDUzMDkzOTdmYzI2NDkwNjdiOTI4ZTAyZTZiZDExZjAzMjczMiBsZWdhY3ktdHJ1bmsKKzg4NDkgNjc4YTNmMWQwYzgwOWM3MDBiZDJmNGY2NDkzZDkzNzhiOTk1YmVlMyBsZWdhY3ktdHJ1bmsKKzg4NTAgYzcxMzliNmY3MzQwNmUxYmIyOGYxMGY0MWJjYzgxMzUwZTc3ZTEzMiBsZWdhY3ktdHJ1bmsKKzg4NTEgNDdhOWE2ZGUyM2ZmYzIzYWYyOGMyM2MzODY3NDU1NGFhYzc0MDYyZCBsZWdhY3ktdHJ1bmsKKzg4NTIgZjZlZjlhZjRjOGI5NTRhNTVhN2I0ZjhlYmFlY2QxNjRjNjU4ZGM4ZSBsZWdhY3ktdHJ1bmsKKzg4NTMgYjY4MTg1ZDk0Nzc3YzBkMWFlMmE0OWJiNDk1MGRiNDk0OWRkMDlkYSBsZWdhY3ktdHJ1bmsKKzg4NTQgMWFmY2FjNzY1OGU1NzQ2ZTQxM2Q0YjIwYzMxZTYzNDE5NmNlNjNjNyBsZWdhY3ktdHJ1bmsKKzg4NTUgNGNiMjIzZjI5MzM3NmZhN2ZmMDZkNjBlMzk2MzZiZDc3MmUxMThhZCBsZWdhY3ktdHJ1bmsKKzg4NTYgODkyMmM3ZjNhMjg1NTExODk3MjEzMDJjODIyYmY2MmYxZDA1MzhmNCBsZWdhY3ktdHJ1bmsKKzg4NTcgYjgzZWEyZmVmMzMyYjFhYWU4YWQxYjNhYjBmMjIxY2IyMTMxNmRlMiBsZWdhY3ktdHJ1bmsKKzg4NTggMzdmZjcxY2Q5NDFlYjA0ZTc0M2JhZTVlNjViNGJiZGRlYzkxNTQ0NiBsZWdhY3ktdHJ1bmsKKzg4NTkgNDQ5MDQ3NjRkYWZhOGM3NGQzMmNmOTZkNTk0NTVjMGQ5ZGI4YWZjMCBsZWdhY3ktdHJ1bmsKKzg4NjAgMTZjZDM5ODA1ZmQ1MTg3YWI2ZjgyZmZhYmQxZjkzMWI5ZWNlNDA2OCBsZWdhY3ktdHJ1bmsKKzg4NjEgM2YxOTUyNTM0MzY3Yjk5MTU0NTI0NTY4Zjc3MGU5NWYzOTE3MTQ1MyBsZWdhY3ktdHJ1bmsKKzg4NjIgMjM4YThiNjA5NmUxYmIxZjI3YzU0MjU5MzlhMWQyZmYyNzNjNmI3ZiBsZWdhY3ktdHJ1bmsKKzg4NjMgMTRkNThiNWEyMWM0MDg2OGJjMWI5MGFjODg5NTVkNDdlNTU2OGVmZiBsZWdhY3ktdHJ1bmsKKzg4NjQgNTA1ZjUyMDEwZjJhZjlkZjQ5NmY1YWY2YzVhNzY2MzNlNTg4MWRkMyBsZWdhY3ktdHJ1bmsKKzg4NjUgODMzZmIwMTQwOWYzNDlhNGI5NWM3YmJiOTYxMTQzOGRkNDJkZWVlMyBsZWdhY3ktdHJ1bmsKKzg4NjYgMzdlNjhiNGE1Mzk3MzM2MzIwYzZlYjEzMTIwMzdmYTJlZTUyZTZlNyBsZWdhY3ktdHJ1bmsKKzg4NjcgYmRmNGUyN2Y1YjllM2QxMzNlY2MyZDY5NzFmMGE0NDk5ZDg5ZTI5OCBsZWdhY3ktdHJ1bmsKKzg4NjggYTJkZjNjOWU1ZjQzYWNmYmY0MjY2YWJjZjFlMWY0MzI5ZTRmOWRhOCBsZWdhY3ktdHJ1bmsKKzg4NjkgN2NiZWYwZDc0ZWEzNDFhYjE4MDIzNDMxZDQ3ZDdiNzdjOTg0ZDAyMyBsZWdhY3ktdHJ1bmsKKzg4NzAgMjRmMjk1ODZkZTk2OTAzNjdmYjBkOTI4ZDFkNjIyYWI1NzdlOTA3ZSBsZWdhY3ktdHJ1bmsKKzg4NzEgZjZmMjUxMWJiNmJhYTJmODBjNGE4YzVmNDIzMzhiYWJlNDc2YzVhMCBsZWdhY3ktdHJ1bmsKKzg4NzIgNzg0YTE2ZjU2NjQzNDc0ODg4ODY3ZWZkODFhNmZiZDQ4NDJmMzhlOSBsZWdhY3ktdHJ1bmsKKzg4NzMgMjJkYWUyNjM3ZTA4MmVkMDY4NzllNGFjYWY4YTM1YTY2ZDIzMjQ0ZiBsZWdhY3ktdHJ1bmsKKzg4NzQgNmVhOTI2YjQ2ZjhhZWJiZmYwZTlkMGM4YTM4M2JjOTRjYWUzMTg5OCBsZWdhY3ktdHJ1bmsKKzg4NzUgNGQ1NWJmZTFmZWJiZWM2MzYyMTY2MTJjZGQxYTlhZWZjMDQyNjhkMyBsZWdhY3ktdHJ1bmsKKzg4NzYgOWVkOWViNGE3ZjIzYTRmZjgxNTI5NzYxNTIxZGMyZGY3NDUzY2NlZiBsZWdhY3ktdHJ1bmsKKzg4NzcgYzdmZTM4OTBmMTAzZTY2NGYwOGQ5MzA2Nzc3NWVjYzUwYmRkMmZkMCBsZWdhY3ktdHJ1bmsKKzg4NzggMDQ5MGY2YTg0ZDM0NzUxNjk4ZTM5Y2ZjM2I4OWYwYzhjOTNhM2Q0MCBsZWdhY3ktdHJ1bmsKKzg4NzkgMzIyNDg3OGJkOGIzYThlMDE5MGRlODc1Yzg3YWExMWJlZjQwZDFmMyBsZWdhY3ktdHJ1bmsKKzg4ODAgOWY4MTM0ZTk1NTY1YjRhNmU0MWU4YTA4OWQyYmY4OGI0YTgzMzZhOSBsZWdhY3ktdHJ1bmsKKzg4ODEgOTQ1MmI3N2Q2N2VjOWZhMGU2ZjMzMDJjMzA5MmRhNTgwOGFlZjBmNiBsZWdhY3ktdHJ1bmsKKzg4ODIgZWQ2ZjZmMDMyMjE3MTliMmY2NjBlODBmMTlhOTAyYjU3ZWVkNjJjNyBsZWdhY3ktdHJ1bmsKKzg4ODMgNjUxNzdhYjZhNjk2YzUxOTlhMGNmYmJkY2UwZjQwZDZkN2JjOGUxYiBsZWdhY3ktdHJ1bmsKKzg4ODQgODExNTRhNTFjMTZlZDJhNmRlZmUxOTJiYTFlMmM1ZmRkMjcxNDMzMyBsZWdhY3ktdHJ1bmsKKzg4ODUgNTc0ODRlMjFlMzI3MWRiMmQ5YzRiZTMxMmU5ZjdlOWFmYmIyMGQxNSBsZWdhY3ktdHJ1bmsKKzg4ODYgMTg0MDkzZDk2ZDJhMmJiOGRjZmFhMGZjZWI4NDQ5MGE4ZWQyZmI5MiBsZWdhY3ktdHJ1bmsKKzg4ODcgNGFkYzdlOTZhYmEyNTI4ZDY3MWM0ZjQ5ODRmOWJjZTBkNjE4NTdlMSBsZWdhY3ktdHJ1bmsKKzg4ODggNDM5MzgwMGY5MjYxNTk4MTIyYjZkOGYxZTliY2YwZTI0M2Y2NjQ1YyBsZWdhY3ktdHJ1bmsKKzg4ODkgMzg2NTVlM2FkMTkyNTdlMzVmMTg0YmIzYTcwM2U4YzM5MzFmZTUxYSBsZWdhY3ktdHJ1bmsKKzg4OTAgMDRmM2QyNTlmOWU5OWFjN2U4NjdhYjNhNGEyMmIzN2U2YWVhNzdiNCBsZWdhY3ktdHJ1bmsKKzg4OTEgYzM3OGU3YTAyMzRhMmExMDM3YjlhZWVhYzFmNDdkMGM5NGI4M2NmYSBsZWdhY3ktdHJ1bmsKKzg4OTIgZWNjNTNlYThkNGViNjVjMDYyNGM0N2YxNWFjZmE4Yjk5ZTg2ODllNyBsZWdhY3ktdHJ1bmsKKzg4OTMgMjMwODNiZDhjMjYxODk4NzljZmM0MWI3YTI0ZDY5YjA4YzA5MThmMiBsZWdhY3ktdHJ1bmsKKzg4OTQgN2Y3NzcxMGEyMmQwYTY3MWVlZGZmMWUzOTk5ZDkwNWFkY2M1NzA1NiBsZWdhY3ktdHJ1bmsKKzg4OTUgNDQ5MWY4NGFjMjIzYTE2ZTkxMmZjNzA0YzE2MDZhOGRiZjNiOWMyMCBsZWdhY3ktdHJ1bmsKKzg4OTYgNDhkZjAxZWFhMDlhMjQ1ZTgyNTQwNTA1YTNmMzg4MGRmM2VlNGU4OSBsZWdhY3ktdHJ1bmsKKzg4OTcgNmYwNjQxMGUzMDdhZjQ1Mzc1ZDljZDdiZjMwMzRiODNjY2RjMTVjMSBsZWdhY3ktdHJ1bmsKKzg4OTggYWJlZDc1NGM3YjdmNWIxMzA5Y2I3MGIxZDA0OGQ3ZjYzNzU5ZmExMCBsZWdhY3ktdHJ1bmsKKzg4OTkgYzYyZTM0ZWE0NjRiMmQ0MGU3ZWQ2NjQ5MGNmMjY2YzI4N2M5MjZiNCBsZWdhY3ktdHJ1bmsKKzg5MDAgZmI5YjBkMjQ2ZWYzNGViZjYxOGY2MjAwZWI3NWZiMTNiOGM0MjFjMyBsZWdhY3ktdHJ1bmsKKzg5MDEgNjQ0NDg0ZTFhMzdiN2VlMmJkNDM1ZGE5YzBiNmVmYTY2NjQxNzVmYyBsZWdhY3ktdHJ1bmsKKzg5MDIgYWFjYTQ3ZWY1NWE4ZDQ4M2U5Mjk1YmRjODVlMWI4NmVhYmNjMWZjYSBsZWdhY3ktdHJ1bmsKKzg5MDMgNWYwMjE2MzAyY2Q4ZjRjODM3NWM3NmQ0MTQzMmViZDYzMjQ0MWRiOSBsZWdhY3ktdHJ1bmsKKzg5MDQgMDY4MjU0ZmU1NjE3ZTRiYWZiMzIzNjkwYTk1ZTlkNzZkYjZmMjlmYyBsZWdhY3ktdHJ1bmsKKzg5MDUgYWVlNTZlOWQxMGZjOTM1OTJhMWIzOGI1YTBkNWUxMTIzYjc3ZWI4ZiBsZWdhY3ktdHJ1bmsKKzg5MDYgZTM1NmEzNDQ4MTlkN2EyMjYwZGI2OTFjZTRmODhkNTcxMjVhYTZlNCBsZWdhY3ktdHJ1bmsKKzg5MDcgMTRhNzExMjY4YzUxYmI2OTM3YjE3MDg5MjNlYjA5ZjBhMjYxZDlkMiBsZWdhY3ktdHJ1bmsKKzg5MDggZTc4YjYxNzRiZWM5MjNlMGEzZWI4YTc5MjlmODU1ZGI5MzZiMmU5YiBsZWdhY3ktdHJ1bmsKKzg5MDkgMGRmMDE1OTA1MTAwOGViNTFiYmQ5OGI1MzhjM2QwMThhMzY2MDQ2NiBsZWdhY3ktdHJ1bmsKKzg5MTAgY2U1NmE3Y2ZlOTZjZmQxMDFjNmRiMzFlNjY5NmY2Njc0MjEyYjQ1MCBsZWdhY3ktdHJ1bmsKKzg5MTEgNDM1NjA2YjIxNWM1MmJhZWNmZTFhNDRkMDk3YjJkMmFiYWZlNDdmNSBsZWdhY3ktdHJ1bmsKKzg5MTIgYzgzYTFiMjFjNDJkMmEwODYwZTIyOWZjMGZiY2FkOWYwYzM5MTVjYiBsZWdhY3ktdHJ1bmsKKzg5MTMgMDUzYmJhYjBlYzUzZTIxMTIyODNlMTg5MzY3ODEwNzNlZTk1ODQzOCBsZWdhY3ktdHJ1bmsKKzg5MTQgZTU3YzcyYTJiMDY1NmQxZmEwYjExZTIwMTdjNzNlN2IyODE4NjM5MyBsZWdhY3ktdHJ1bmsKKzg5MTUgZjM4NGNjMTFiNzViZjA2MTMyNWQ4ZWUzMGQxNDM2ZmUxNGY2MDZhZCBsZWdhY3ktdHJ1bmsKKzg5MTYgOWU0NmVjZjAzYzNlODMzMGU5M2ExZTI3NWU0Y2I2M2UyMDVmNTFkMyBsZWdhY3ktdHJ1bmsKKzg5MTcgZDc3NjBhMWJhNGNhNzY5ZTYyNDdhNWMxZmMzY2Q4ZWNkMWU3ZmVhOSBsZWdhY3ktdHJ1bmsKKzg5MTggNDJiYzc5MmFjNjlmYWU1NWZmMjMwNGY0MmVlNTQ3Yzc5Mjc4ZmUzMSBsZWdhY3ktdHJ1bmsKKzg5MTkgZDllNTE0NTFlYmRmOTMwMmM0YzYyZmQwZTNiODlmYzI1MzM1ZTY0MSBsZWdhY3ktdHJ1bmsKKzg5MjAgZGRmY2VmYzBkODI2ODA3ZTFlOWE1OGZmNjNhM2MwZmU3NGEyZDlkZSBsZWdhY3ktdHJ1bmsKKzg5MjEgMTA4ZmZmMjU0NjJkNTYyMmRkNmE3NWU2NDQ3OTgzZjg2M2YwYjZhNSBsZWdhY3ktdHJ1bmsKKzg5MjIgOTNjMDE1ZWMyZDU3Y2FhZjg2MGQzOTRmZDcyZjA0MTc3YjExNDU0OCBsZWdhY3ktdHJ1bmsKKzg5MjMgYmRlNWFhZjNlNTg5NzQ0YjM0Y2FiMmJjNjAxOTFmOWRmMzlhMTg5YSBsZWdhY3ktdHJ1bmsKKzg5MjQgNTgwMzc4MmU3M2ZmYjcyZGZkZDhmOTNhNWZiYWJjMTRkOWQ2YTA1MyBsZWdhY3ktdHJ1bmsKKzg5MjUgMzFhNTA0NjgzNjZiYWUzN2NjYzExNmZhODA0OGIyYWUxMzg1NDU0MyBsZWdhY3ktdHJ1bmsKKzg5MjYgYjg1NGNhNDYwNWUxMjI5ODE0MGJiMjcwZTM1ZWM3YjZjN2NkNTBjZiBsZWdhY3ktdHJ1bmsKKzg5MjcgMzM1MGM3MzU1MGVlODNkMjMwOTI2ZjdiNzE5OTA5NjZiN2M4ZGExZiBsZWdhY3ktdHJ1bmsKKzg5MjggNzdhMjJkNDlkZDg1ODVkZWVjMjFmZDU0ZGVmNTliMmRmYmFlYzZhZSBsZWdhY3ktdHJ1bmsKKzg5MjkgMTA0MTMxNzlhNzJhNTg5MDNlNDVjODVjYWYwYTcxMDU5YmFiYjRlMCBsZWdhY3ktdHJ1bmsKKzg5MzAgN2VhNDY1ODMwZWY0NWRiZGQzMDlkN2I1ZmNkODk0Mzk1YzEyYTFhMSBsZWdhY3ktdHJ1bmsKKzg5MzEgYzliMTM5YjljNWZmZjUwM2M3ZjVjMGQzYzBhMzJmNjBjOWQ3ZDUyNCBsZWdhY3ktdHJ1bmsKKzg5MzIgYjViMzVhMGNmMWFhOTI4MjYyNmNhOTA5ZWRiYTQyOWVmY2U5ODM3YSBsZWdhY3ktdHJ1bmsKKzg5MzMgMjEzOGNmM2JkYzVhYjg1OGZiMjViNDBhYmY0ZjYyNGI5NTkyZjdlZiBsZWdhY3ktdHJ1bmsKKzg5MzQgMmM1YzM5OWI2ZWE0NjMzOTJlMjM2MzEzYTg1ZmI3ZTAyOTRjNGU4MyBsZWdhY3ktdHJ1bmsKKzg5MzUgOTBlZWQ5YTVkMDdhODM1OGQxMjEwNGFiYmMyYWIwOGMzYmQ0OGJiYiBsZWdhY3ktdHJ1bmsKKzg5MzYgMzkzNDg5NzRiMjJlODkwMDdmY2RiYTk0MWZjMjhkYzc4MGU5OWRhMSBsZWdhY3ktdHJ1bmsKKzg5MzcgYjY1ZWI0NDQyMmJhOTMyMmY3OTFhOGU0M2FmNjNlNDA1MzI4NWY4MCBsZWdhY3ktdHJ1bmsKKzg5MzggNzc3YWU1MjYwYTEyZjVjODNjN2ViNzE0MWQ4YmRhN2UwYzg2MTk5ZCBsZWdhY3ktdHJ1bmsKKzg5MzkgOTk4NjI3MmNlMjRhMTVjNGVmYWJkNmYwZDM2ZWY4OTA1YmUyZDVkNiBsZWdhY3ktdHJ1bmsKKzg5NDAgMjJiZWQ1Nzk0NTE0YzYyNzkxMDc1MTM0NzE5MjQ3MjQ0MzJlYmI4OCBsZWdhY3ktdHJ1bmsKKzg5NDEgMGIyYmNmMDQyNGEwNTNhNTZlZTBjYTY4ZjdlYzNkYjJjNTc2MThkZiBsZWdhY3ktdHJ1bmsKKzg5NDIgNGQ1NDVjYzZmYTk5YzRiMGFjZDdjYWMxYTRkM2ZkOTA1ODcyZDJjNyBsZWdhY3ktdHJ1bmsKKzg5NDMgYzE0MmViNTMzZmI5MGY5YjMyMTM0MWM3MTc1OGJmMWYyNGIwNDhhYiBsZWdhY3ktdHJ1bmsKKzg5NDQgOTQxNjM3NTljYjAyMWJkYTc3OWM2MmQxMDRjMzg3M2YzN2ExNDZjZiBsZWdhY3ktdHJ1bmsKKzg5NDUgNmE5MWEwZjY0MmZlN2IwYWMzNmI3NDQzMmM2MDJiNWI5ZGM4ZjY3ZSBsZWdhY3ktdHJ1bmsKKzg5NDYgMTAzYzYzOTgzY2RmYTRkYmNhMzA4ZDViYjJmODYwMmFiODlhYWI4YyBsZWdhY3ktdHJ1bmsKKzg5NDcgZGNhOWJkZjVlYTA4YTgwYzFmM2E2YzFiYjNjYjYzMzU2NzQ2YjQzZSBsZWdhY3ktdHJ1bmsKKzg5NDggZWU0ZjJiMWNlZWRhNGFhYzI2ZDQ0NDM3NjMwNTNmMGRlN2NlYWQ5NSBsZWdhY3ktdHJ1bmsKKzg5NDkgZGY2NTllMjM5ZTkwNmQ5YjYxNjdjZjcxNzI1ZTYyYjAzYWYwOWZiZCBsZWdhY3ktdHJ1bmsKKzg5NDkgNzQ2NjU0YTBhZjY4MGM3ZDliODE0YjIxMGEwMjZlYjkxYmVjOTUzMyBsZWdhY3ktdHJ1bmsKKzg5NTEgMmVkZTdjMmFjOTJjZjFlZTg5ZThlNTI0MTljODkwMWIwMzRiNzU4NiBsZWdhY3ktdHJ1bmsKKzg5NTIgZDE1MzI0MmFhNmJiMmRjM2IxZmJlYzhjOWFlMmFlNzg1OTRmNjgxYiBsZWdhY3ktdHJ1bmsKKzg5NTMgZjVmNzQ0ZWQ4MTM3YzdjYzM0YmZkMTE4ZDY1YzYyM2U2ZTQxNDE2MyBsZWdhY3ktdHJ1bmsKKzg5NTQgN2FiMGIwNTI5M2FhNDI3MjBkMTUxY2E4M2M3ZTNiZGViOWE1NTExZSBsZWdhY3ktdHJ1bmsKKzg5NTUgYzY3ZDg0MjFmYTIxNjY2ODA4YTI0YzYyMzg3N2UzMzJkN2U0YzUzYyBsZWdhY3ktdHJ1bmsKKzg5NTYgMjk3YTU0MWViODY1NzRjMjMyN2IyYzAyMThkNjkxMzRhMWYwYTk3MSBsZWdhY3ktdHJ1bmsKKzg5NTcgNThiNGQ5ZWE4ZTUxMzg0MmYzNDdlM2Q1YTQzMmYzZWJmYzE2NzI0MiBsZWdhY3ktdHJ1bmsKKzg5NTggNzI3YjUyMDMxMjEyNTc3ZDllZDUxOTVmOTQ3YmYwYWYwMTQ3MTRkMSBsZWdhY3ktdHJ1bmsKKzg5NTkgY2IwNWVhMmI2M2Q5ZDAwMDA2N2I1YzJlMTU3MmZlMTYzYzUwODczNyBsZWdhY3ktdHJ1bmsKKzg5NjAgZDMxMWI2ODc1NGMxODZlOGNkM2RlNzAyYmI2MzQwYWNlOWE5YjJjNyBsZWdhY3ktdHJ1bmsKKzg5NjEgNTYzYWUyMWIyMDU3ODM2MzlkODYxOGY5YzdhOWZjMGQwZGY4OWViNiBsZWdhY3ktdHJ1bmsKKzg5NjIgYjhlMjYwNzhkOGIxYWQzOGY0YTJhZDEyYjBiOGY0YTc2ZjVkZmVkNCBsZWdhY3ktdHJ1bmsKKzg5NjMgMmYyNTgxNjJhYWUyYWNkZmVkNzZjNTZlYmJiMmJkZTM2OTE5NWRiZCBsZWdhY3ktdHJ1bmsKKzg5NjQgMTYxODA2MDcxNmU3ODE5NTIzYmYxYzUwMjE1MTJjOGUxMzQ0ZmE1NiBsZWdhY3ktdHJ1bmsKKzg5NjUgNjMwNzI1ODA1YzY2MjJmZmM3MjRlODg0MGUyN2ZmZDAxNzZjNGNiNSBsZWdhY3ktdHJ1bmsKKzg5NjYgMzdjOGQ3Zjk2N2M3MWMwZGU0MTRiYWNhOTJiNzFlOWFiZTY4Zjg4MyBsZWdhY3ktdHJ1bmsKKzg5NjcgNGUxYTBmZTBhY2UyNGY1NjI4NDYxMDI1ODA2NTJlNDRhMTkxNjYyYSBsZWdhY3ktdHJ1bmsKKzg5NjggMmY5ZDU5ZGE3MmZiODZmNDA0YjdhMGU0MTVjMjc0YzAwOWViNDg1ZSBsZWdhY3ktdHJ1bmsKKzg5NjkgYWU3NGI2Y2NlZjU3ZDQzN2NmNzc5NjgwM2FkNWNmMGZjMGQyM2Q0YiBsZWdhY3ktdHJ1bmsKKzg5NzAgMjIyZGQ0ZDA2NTgxMjk0ZjIyOTU2NWM0NDdmOWM0OTFhMjgzZTk2ZCBsZWdhY3ktdHJ1bmsKKzg5NzEgYmI4YzMwMDRkNzU4ZWMxYmU5ZWQ3MzE2ODliNTBmMGJhNTAzMjRhNCBsZWdhY3ktdHJ1bmsKKzg5NzIgMTdlM2Q5YjZiNDJlODI4NTgxMzRjMmM0M2MwN2I2NmRkNGQ0MDViYSBsZWdhY3ktdHJ1bmsKKzg5NzMgMzlkMmE0ZGI3YzNiODBiODAzNmIzNmZlYmU2YjkyMjQwYjU1ZmYwMiBsZWdhY3ktdHJ1bmsKKzg5NzQgY2U0NWVmNGM2NWU5MWJlN2IyOWI1YTEzNWI5NzE0YWYxMTYxYzdjNyBsZWdhY3ktdHJ1bmsKKzg5NzUgYjM4YTc1NWI4ZGIxYzg3YWVlMzBjYjIyOWRiMzg0MTYyZDU1MzViNiBsZWdhY3ktdHJ1bmsKKzg5NzYgNDk4MWZkMmIzMjExNDA2YWJhNWQxNmU0YzRlYzRlYmNiOWNlNzcxNiBsZWdhY3ktdHJ1bmsKKzg5NzcgNmEwOGI2MGRlODJjNzIzMGIxMmZmZWQwNjVkOGM2YWE2MTliNThkYiBsZWdhY3ktdHJ1bmsKKzg5NzggODc5MTMwZjFmZjVmY2IxMjJjNzI4NTA3MmE0Nzg2YTA0MDgxYmY5NiBsZWdhY3ktdHJ1bmsKKzg5NzkgOWVmOWNhZGQ5NzhjNTRhODEyYTk2NWM1YjU5MzcwMDAxYWNlYmNiYSBsZWdhY3ktdHJ1bmsKKzg5ODAgMmEyZTViNzMxZDFjNzc2MzM5OTlhMTJjOTg2MjAyMWNmNjUyMjI0OSBsZWdhY3ktdHJ1bmsKKzg5ODEgOThiMmEwYTA5M2M5ZDQ5Yzk3ZGQ3ZWE1ZGRmM2Y1OTI3ZWZjMzgwZCBsZWdhY3ktdHJ1bmsKKzg5ODIgMDcxYTBkM2E0OWI5ZjkwZjVjMGJmMGZiYWYwZWZmOTk2ODViZjI0OSBsZWdhY3ktdHJ1bmsKKzg5ODMgYjA0OTRiYjUyMDE5OTRmOTE0OTY2NzRmNWU0YzliNDQ0MmUyZDc5ZSBsZWdhY3ktdHJ1bmsKKzg5ODQgZGY2ZGZhYWMyZDBiNTFhMmVmZDEyZGZjZGMxZDUwMTUzNDZiNzQwZSBsZWdhY3ktdHJ1bmsKKzg5ODUgYTAwMDczZjJlMDg3YWI0Y2UxNzI5YzFiMjBiOGE0NmRiMmFmYTQ3NiBsZWdhY3ktdHJ1bmsKKzg5ODYgODA3MzVmY2MzNWFmZmI3MjgxNDRmNzY2ZWMxYzU0ZTRiYTk2YTc2YyBsZWdhY3ktdHJ1bmsKKzg5ODcgZjAyMmJiZDEyMzM4NjgwMWQxZDQ2NWExOGI3MDk0MjhhODkzOTNjNCBsZWdhY3ktdHJ1bmsKKzg5ODggNzQ1MThkODgyZWQzMWFlOTQzNWEyYmUxMTdlNzRiOTVhZWI3YTNjYSBsZWdhY3ktdHJ1bmsKKzg5ODkgZmRiNzc2MzZjMDc0MzAyZjA2YTU4MzQ0MTM1MWQ3OWUyMjQ3MzUzMSBsZWdhY3ktdHJ1bmsKKzg5OTAgYTNkZDU5MTA4MTE5NmEyYmNhY2MzZjY0YmUyMDhiOTg2MzhjOTBlNyBsZWdhY3ktdHJ1bmsKKzg5OTEgNmM1ZjdlNzRmYTg4MDFmZThjZTgxMjI2NDBjNTQ0Yjc2NTFjYTUzMCBsZWdhY3ktdHJ1bmsKKzg5OTIgNmQ5Y2ZiNTNjN2VkMmMyY2RmNDI5MGQ4MWMzOTNmODMzOGIzZDMzOSBsZWdhY3ktdHJ1bmsKKzg5OTMgZWNjZGZkMTcyNzQwNjExZWIxNWI1ZjA1NDE0ZGQ2YThkOTUwNTQ4NyBsZWdhY3ktdHJ1bmsKKzg5OTQgN2U1MTcyN2QzYjdlZjNlNDIzMDQ1MWRiM2E5YTRkOTA3ZWJlZDA3YiBsZWdhY3ktdHJ1bmsKKzg5OTUgMWQzMGU1MmRjMzRkOWI0MzU3MWNlMmIyNzAyMWNhODhlNDYzNDk0OSBsZWdhY3ktdHJ1bmsKKzg5OTYgMWFmZjE5NzgzZDc0NmYxYjczZTk2N2VjMWI1ZWM5YzhlNWEwODllZSBsZWdhY3ktdHJ1bmsKKzg5OTcgMjRkYTAzNWNlYjZlYmQxYzg1YzgyYWIxMTQzMzllMTU0ZTg3NWJhNiBsZWdhY3ktdHJ1bmsKKzg5OTggZjFiMTcyODQ1MmMxMzBiMmI1NDVjZjA3OGJlZTVhNWJlYWRjMzc5NSBsZWdhY3ktdHJ1bmsKKzg5OTkgM2Y4NDU1OGEyNGRkODRmZjJmMzQ4MTJlYjdiZTM1MTQ1ZGQ2MTg4YiBsZWdhY3ktdHJ1bmsKKzkwMDAgOTYxNGZkZDgxMzkzNmVjYjg4YjE0NTM4ZGQ2Nzg3MDQ1NTFmMzQ1YyBsZWdhY3ktdHJ1bmsKKzkwMDEgZWU0OTZlZjFjYTgzOTliNzJmM2VmNGUwZjU1NTQyYjY1YjA5M2U2MCBsZWdhY3ktdHJ1bmsKKzkwMDIgZTljNjdjMTkyY2RiNjY3NDJkMTM5MGYyNTlhNDBlOTM4NWJhN2ViZCBsZWdhY3ktdHJ1bmsKKzkwMDMgNWNjYjEyYWZmYjU0YzBjNzE2OTE5OGIxNGVjMzkxMzE5NzAxYzE1NSBsZWdhY3ktdHJ1bmsKKzkwMDQgNDZmYTQ3MTdjZjI0YWNiN2ZjYzU3Yjk4ZWJiZTg1NGRkYTM2NGEzOSBsZWdhY3ktdHJ1bmsKKzkwMDUgYmMxOTAwMjQzZTMzOWEwZmQyZjBlMDJkNTNiNzk2ODU1N2FiMDM0ZiBsZWdhY3ktdHJ1bmsKKzkwMDYgNzIzYzg5ODgzMTg4MWQwNzVkMDgyOWVlOTE2NTg0ZGI1MDdjYTYwMyBsZWdhY3ktdHJ1bmsKKzkwMDcgODllMmVhYWNmZDkwMDBhZGQ3MWI4ZjFhYzc3NzdkOTdmOThmMzYxZiBsZWdhY3ktdHJ1bmsKKzkwMDggMGNkMWYyZjFkODJkMWM5NTgzNzVkY2NkNmQ2NTlkNGY4ZWU2OGYyNyBsZWdhY3ktdHJ1bmsKKzkwMDkgZTQ5N2E3ZmMwYWE4NTZjODU4NDVmYjAxNzA2MDgyODhkNjkzYjBjZSBsZWdhY3ktdHJ1bmsKKzkwMTAgZDM2OTYyOWU4YzI3YzBhM2RkMGI4ZmUwM2ZkOWExMjliZjVjMDhmZSBsZWdhY3ktdHJ1bmsKKzkwMTEgYmE2NTM3MjQwOGRkYzZiYmRlMWEyZGYzNTgzYWI4MDEwZmI1N2JjMCBsZWdhY3ktdHJ1bmsKKzkwMTIgMDg2NGE1NTY2ZDg5YWJkZGQ1YWVhZTFmNjEwOWI4M2NjN2EwYTg2YyBsZWdhY3ktdHJ1bmsKKzkwMTMgNjRjNWVmYTlkMmM0ZTRjMDBmZWU5MjQ2ODllY2NjNjk5Y2I3M2IwOSBsZWdhY3ktdHJ1bmsKKzkwMTQgMTg3MDM1MzhhZjQ4MTgxNzE4MTk0NzIzZTQ1N2UwMmY3Y2JhMzYzZSBsZWdhY3ktdHJ1bmsKKzkwMTUgMjU1MDVlNTYzYjM3YjcyZmU5N2JhYzIzMTQ3NTc2M2EwOTMzMzQxMCBsZWdhY3ktdHJ1bmsKKzkwMTYgYTFhMmI3MTE1OThjZDdhYWUxYjI1NTdlN2ZiYzg1M2M4ZjAyODZlZSBsZWdhY3ktdHJ1bmsKKzkwMTcgZDFmNDZhMDhkNzhhODZkMmM1OTExZjY4MDY4YTE4N2FlZTVmNmJlMyBsZWdhY3ktdHJ1bmsKKzkwMTggODBmYzBhOTA2ODg1MmVhZWY4ZWYyYjAyYWE4YTI3ZTBjYTk4ZDg4YyBsZWdhY3ktdHJ1bmsKKzkwMTkgYjJkZmZmMDY3ODljNmRmNzcyNjcyZGYzOGVmYmRhODE4YWExNTNhMCBsZWdhY3ktdHJ1bmsKKzkwMjAgNjJiZGIxY2JlMGY1NWY5NzViNjc3ODBkNDE5NzAwYjNjZDQ2NTc1ZSBsZWdhY3ktdHJ1bmsKKzkwMjEgZmMzMjdlYzE1YzdlZGUyZGY3ZmI2ZGUzMjhiY2UwMWE3OTdlMTFjMyBsZWdhY3ktdHJ1bmsKKzkwMjIgZDI4OTMyZDY3NmM4YjllNGM1ODVkZmNhYjk5MWZjNGM1ZDZhMzkwZCBsZWdhY3ktdHJ1bmsKKzkwMjMgYjQ1MDMyMjg1ODNjNGI0NjdiM2M1MDVhNGZiZDNmOTVjYjQ5NjI3NSBsZWdhY3ktdHJ1bmsKKzkwMjQgYzkxNWM5NGViYjZiZjNhOGEwMjNmZDA0NWMyYjVmYTdiYjk5NjhhYSBsZWdhY3ktdHJ1bmsKKzkwMjUgNzI0MzgyYWY1MzM5YjhlM2QwYTA2NTE0YmQ3ZjFmODY5NjA2YjQ0OCBsZWdhY3ktdHJ1bmsKKzkwMjYgZGQxZTgzMzIzYzQ1ZmRlMTcwODE2OTc1NmI3ZDc1NDk5NzU3NmEyZiBsZWdhY3ktdHJ1bmsKKzkwMjcgYThlM2IyZTlmNWQyMjgwYzIxNGNkMmE1ZjhhNWFjZDU5MTVkNWQ0ZiBsZWdhY3ktdHJ1bmsKKzkwMjggZjQwNmVjMzViZmNhNjk3N2NhNTJlZmFmYWFmMDUxNWU2NmQ3ZTg3OCBsZWdhY3ktdHJ1bmsKKzkwMjkgYmRkNGNiMmE4M2I1NzUwMTdlNTQzYjgzZDRkNjQ0YjliYjJkZDk1MSBsZWdhY3ktdHJ1bmsKKzkwMzAgNWRiZmZjNzg0NGY1NWE5ZWMwMTk3MGEwZGJmZTQzZjQ2M2M4OWUwYyBsZWdhY3ktdHJ1bmsKKzkwMzEgMmM2ZjJkOTJiMzE1MDg4ODJhMTdjNDAxMDMxY2M4MjZiNjZkYWQ5YiBsZWdhY3ktdHJ1bmsKKzkwMzIgN2M5YzRmODIyNGM4YjIwNzRiZDJhZDhhMDQ5YjlmZjcwNWZiYzM4NCBsZWdhY3ktdHJ1bmsKKzkwMzMgYTVmN2ViODY5ZjIxYzMzMjkyOTM1MmYzNDM2ZjQ4ZjY1OWRjNWNlOSBsZWdhY3ktdHJ1bmsKKzkwMzQgNDI4MGIyNzI5Y2NlY2IwOTliMWM5YzQ1ZmJlMTZlOTdmODdlNDRlYSBsZWdhY3ktdHJ1bmsKKzkwMzUgYjMzMWNkNDdlMGJjNzExNzAwZWVkOGVhODlmMTQ2YTQxZGZiNjgzNSBsZWdhY3ktdHJ1bmsKKzkwMzYgZWUzMDdmOTg0NWEzMjZjYjUzNTAyNjEyZTY3NTg0YTliZjE4MDRkMyBsZWdhY3ktdHJ1bmsKKzkwMzcgMWEyMzNiZTVmYzE3YTY4NjgwNjU0NmFmNGQ2N2FmMzJhNzdhZGZmOSBsZWdhY3ktdHJ1bmsKKzkwMzggNmU5YWE5MmZhYjY5Mjc4ZmEyMTM4NjZiMTk0ZTBhMDkwMWVlMDY2OSBsZWdhY3ktdHJ1bmsKKzkwMzkgZmQyZDRjMGFlNjQ2NzJiOTc3ODRjMzg2NmU3ZTM1YTVkYzAwMjMxMSBsZWdhY3ktdHJ1bmsKKzkwNDAgNTM4MzUwNDM1MjhjOGI2ZjEwNzAzNzRhODBhODRhMDQ1OWRkYjBiZSBsZWdhY3ktdHJ1bmsKKzkwNDEgMmFhMTNjMGM4ZjJmNjYwOWU3ZDVhMDZjYzdlOTZmNGY1ZjE2YTY2YiBsZWdhY3ktdHJ1bmsKKzkwNDIgODEyYWFkOGMwNWMyOTE0MTZmN2UwZWNjM2NiN2M5NTc3NGZkYWQ4YiBsZWdhY3ktdHJ1bmsKKzkwNDMgZTFjOGQ3MTgyZDY2N2QyYzVhYTYyYTk1YWU5OTM4NzA5MTBhMGU1ZiBsZWdhY3ktdHJ1bmsKKzkwNDQgYmUyYTAyMzVhZTg0YTRlNDljN2Y2ODE4MDVkYzUwN2Q3ZjI1YTRlYiBsZWdhY3ktdHJ1bmsKKzkwNDUgM2ZkZDcxNWU2ZWY5MDYxZWI0MDBjNWRiNmJhMjdlNDk3ZDEwYmJkNCBsZWdhY3ktdHJ1bmsKKzkwNDYgYTBiODM5NjY3ZDJlM2ZjNzQzMzdkMjRjODM1NjA4ZmY4YjhiYjk4OSBsZWdhY3ktdHJ1bmsKKzkwNDcgYzFiYWM1MzYwNDVmY2RiOTRmYWUzYWI4OTkxNGQ3ZmZlYTRjNjNhMCBsZWdhY3ktdHJ1bmsKKzkwNDggYjExNzQwNDViYzRhYjY3NmE3ODI0ZjNlNmFlM2EzNTJhYzU3Zjk3MyBsZWdhY3ktdHJ1bmsKKzkwNDkgOGIxNDMxMmEwMjkwMzU5ZGRkOTcyYWQ0MDRkM2ViN2RjNmRmNTI5YSBsZWdhY3ktdHJ1bmsKKzkwNTAgM2I3Mjg3ODY3MmNkMmUyYzMyMzVkNzMxMTYyODE3NGQwOWIzNzIwMCBsZWdhY3ktdHJ1bmsKKzkwNTEgNjdhMmFmY2RkMjFjMTAyZDUwM2I4MTgyYmMxZDUxZTc5ODE3ZTAxZSBsZWdhY3ktdHJ1bmsKKzkwNTIgNmZmYTljYjY1NGUyYjRmY2MyY2ZlNTUwNDJkNzU1MTMwMjUxNTdlYiBsZWdhY3ktdHJ1bmsKKzkwNTMgMDBkYWI3NWI5ZWYxMmUxODBiNzczZWYzODE4YmFjNDQwMDFhOTMwNiBsZWdhY3ktdHJ1bmsKKzkwNTQgZDI5YzRiMmY0OWFlMjcyMmIwNjRiNWNmZDNjOGQ2YzA3NzI0NDE4ZCBsZWdhY3ktdHJ1bmsKKzkwNTUgODU1OTY5OTBkYjQzZjk5YTM5ZTZjNmZlZGYwMTQ0ZGI4MjE2OThhOCBsZWdhY3ktdHJ1bmsKKzkwNTYgMDFlZTU2MDdiYjM1ZjQ1ODI0NmIzYzVjMTA1N2U3MTRmMjc5MGVhMyBsZWdhY3ktdHJ1bmsKKzkwNTcgOTIxZDE3Y2MyNjkyYjI5M2ZmMWNiYWM1NGFjNDNlY2FiMTI0MTJiMSBsZWdhY3ktdHJ1bmsKKzkwNTggYTFkODVjMGNhZTVhNmVkYjU1ZjRiMWJlZjFkYzRkY2FmODgzMDA2NSBsZWdhY3ktdHJ1bmsKKzkwNTkgOWUwN2Q1YjY5ZWJhZTZhODgyOWRmM2E5NmM2MDJjZWM1OWVlNzUzNCBsZWdhY3ktdHJ1bmsKKzkwNjAgZjk2ZTU3ZTY5ODQ2ZjA3OGVkNjQ5NTJmNzdhNWM5Y2Q0ODg5OTc5ZSBsZWdhY3ktdHJ1bmsKKzkwNjEgMDhkZGU1ZTVjYzI3NGFiZjRjZGUzOGQxYjA2NjFmMjkxM2Q2MzJkMCBsZWdhY3ktdHJ1bmsKKzkwNjIgYzI2NzJlNWFiYThiNzlmNDcwZTQ2NDhkYTgwNWMyOTVkN2I5MGYxNCBsZWdhY3ktdHJ1bmsKKzkwNjMgYzU2NTI3MmVkMmM3NDA3ZjgwYWEyMjgxYjhjYzc2OTRiNTI2ZGE1NiBsZWdhY3ktdHJ1bmsKKzkwNjQgNzUzMDc3ZjllYjJjOGEyNjA1MTYyNjlhMWFkNThmZmM3MDE0MzNmOSBsZWdhY3ktdHJ1bmsKKzkwNjUgZTBlNjY3YmJjOTcxYTRmZjQ1M2IyMGY3MGNjNzcxYWJkZDdlN2JhNiBsZWdhY3ktdHJ1bmsKKzkwNjYgZGEwMGJiNDk3MWQ4ZjZmMzEzM2Y5MThhMzcyNDYwYmM5OWYwNjJkNiBsZWdhY3ktdHJ1bmsKKzkwNjcgMjE5MmI5M2Q1MzM3ZTU4YjFiMjI3ZjkyZDlhNGI2MzEyZWRkZWU5NSBsZWdhY3ktdHJ1bmsKKzkwNjggNTE2MjQwZWYwZTE1MWRjMTM3OWViNTA4ZjE0ZjkwNGE0MWE1MDUzZCBsZWdhY3ktdHJ1bmsKKzkwNjkgODZiNjc3MDljMmI0MDJjZjJkNTllYzg3MmQ5NTA2ODdjMTNjM2ViMCBsZWdhY3ktdHJ1bmsKKzkwNzAgMTQwMjVhNGY3OTNlYzVlZDE0M2U2Nzk5MDAwYWJhNjZjNmM0YTk5MyBsZWdhY3ktdHJ1bmsKKzkwNzEgZmNkOGUzOGI5YjJhZjlmMTM5ZGJiYTA0N2NjNWI0NDkxNzdmMDRhMiBsZWdhY3ktdHJ1bmsKKzkwNzIgNDVlODRiZTZkNjQwNWJkYzE4YzY0ODE2MGJkNzlhOWFmNzNlZmFlNyBsZWdhY3ktdHJ1bmsKKzkwNzMgNWUwYjE1MmJmMWU2NWIxYTk0OTE3ZTA4NWRkOTc1NzZmNjhkMWM0YiBsZWdhY3ktdHJ1bmsKKzkwNzQgZjE1ZjBmYzM4Y2IxOWQ3N2MyZGIzM2UxMzIzM2NkZWM0Y2JhMzhmMyBsZWdhY3ktdHJ1bmsKKzkwNzUgYjg4ZmQzODk0ZDVhNGQzOWI1NGQzM2VlNTkyY2NmZmE0ZDI3MDQ5YiBsZWdhY3ktdHJ1bmsKKzkwNzYgY2VlZWM4Y2IwYTFlN2Y1YzY5NTQ0YTczZTMxMmM3Y2RlNWY4NzQzMyBsZWdhY3ktdHJ1bmsKKzkwNzcgNmQ2ZmVjMmVlZWY2YTgwM2EyNmJjOTEwMDZjZmFmNmQyMzBmZGMwNSBsZWdhY3ktdHJ1bmsKKzkwNzggODNjY2Y0NGJmMTk1M2Y5NDRhNTBkZGZjM2EwYzA5MTQ5NGQ4MDYyOCBsZWdhY3ktdHJ1bmsKKzkwNzkgMWU0MjhmNTFlZDRlMTNjOTQxZGEyYmYxODlmMzMzNDEyYzlhNDY2OSBsZWdhY3ktdHJ1bmsKKzkwODAgNDUxNGE1ZWEzZWM0NjQ0MjU2ZWVmYjY1NTg5YmUzNjMyNzU0MmExOCBsZWdhY3ktdHJ1bmsKKzkwODEgN2EwYTQ4ZDczMDc2YTgxNDU5YTcyMzUzOWY1NGNkZjgzN2JjMDY5ZiBsZWdhY3ktdHJ1bmsKKzkwODIgZjY3YTYzMzllZGU3NmVkOGU3ZjcxMWM1YzQyZGIzZTgxOTE3NzNiYiBsZWdhY3ktdHJ1bmsKKzkwODMgZGJiNDYxZTI3M2FkYWE1OTdkYWEzOGJkZTYwMTBmZDRkMThjYmIwZiBsZWdhY3ktdHJ1bmsKKzkwODQgZjViNTUzMTFlNzlkYWU4NTk0ZTU1MzZmYWMzZWQ0MmI5NGQxMmMyYSBsZWdhY3ktdHJ1bmsKKzkwODUgMmY0NTllYjIzYTBlZjE5ZmY2YWE1YWFlMTY5ZjVmMjMyNmM1ZTMyMCBsZWdhY3ktdHJ1bmsKKzkwODYgZjFlM2EzZjhhNDZjZGYyZTFkYTBiN2I3ODMyZTUwZDU5ZGQ2ZTg0NCBsZWdhY3ktdHJ1bmsKKzkwODcgMDIzZTVhYjBmODdkOGI5OGZlYWQ3ZGI3NTUyN2M1NTRlM2RiZDU2NyBsZWdhY3ktdHJ1bmsKKzkwODggMjM1YmM2ZjllMjM3YTY4MDVmYjVmZTJhNzIwZGYyODZkZGZhYTM3NSBsZWdhY3ktdHJ1bmsKKzkwODkgZTZiOWQyMWM4ZTBjMDY4Y2ZkNThjZThlMjg0MWY3Zjc3YWI5NjVkOSBsZWdhY3ktdHJ1bmsKKzkwOTAgNGIyZDhkYzkyZGI0Y2FjMGMxN2MyNDYwNTViNWU4ZWEzYjZiYWVhNiBsZWdhY3ktdHJ1bmsKKzkwOTEgMmU4NzRhNWE5MTJmMmUxYWU5NzE5NzA1ODVmN2FlNWU4MGM3NzVhNCBsZWdhY3ktdHJ1bmsKKzkwOTIgZTJiY2FhOTZjOTQwODQxY2RjYmMyOGQzZTUxZjdkOWM0YjMzMGNjZiBsZWdhY3ktdHJ1bmsKKzkwOTMgZTU0ZDUxNzE5MDJlNmEwMWI4YTFlOWQ3NDJhOTYxYjMxMDliNWNhZCBsZWdhY3ktdHJ1bmsKKzkwOTQgNmZlNWE1MWZlYTMwM2RkNjA4ZDMwOTFiOWQ1MjI4ZjQ3Mzc5MGYzNyBsZWdhY3ktdHJ1bmsKKzkwOTUgMmYwYjdiYWMyMDFjNWEyYWQ0OTU1N2Q1ZWIwNzVlNDI3YTFmNWJhYyBsZWdhY3ktdHJ1bmsKKzkwOTYgMDQzMTNkNGY5M2ZmNzMzMGJhYmFiYzM2YjAzZmVmNjM1OGNiN2E4OSBsZWdhY3ktdHJ1bmsKKzkwOTcgM2M0ZDYyNzU0NjVlOGYzOTBhN2JjMmZjMmZhNzIxMDE5Y2ZkMTZjZCBsZWdhY3ktdHJ1bmsKKzkwOTggMDBiMWI3N2M0MTc3Y2EwZWIyNmJiMjNhNWRlYWViY2NiYjEzOTlhZiBsZWdhY3ktdHJ1bmsKKzkwOTkgYjk2YWFkMTJhMTUwYmI2YzMwMDRiNDg1ZDljY2YwMjhmZDJiZThiNSBsZWdhY3ktdHJ1bmsKKzkxMDAgZjE0MzQ4Zjc1N2M3Njk5ODk4MTIwZGRhMjZlYThhMWExNDZiMThhZSBsZWdhY3ktdHJ1bmsKKzkxMDEgODJkNjc3NGRhMGM2OTcxZWVhNjRjZmFhMzc2MDY2MzVmMGQ4OWZlZSBsZWdhY3ktdHJ1bmsKKzkxMDIgYmUwNzkyMWQ5NzEzMWU3MDZiYjFiMjVkMjQwOTE3NWY4YzU0ZDBiZSBsZWdhY3ktdHJ1bmsKKzkxMDMgZjg4YjBjMjYwOGQ4MmVjMWJiNzljNGRjMmU5ZTk2YjUzOWEyNDYzZiBsZWdhY3ktdHJ1bmsKKzkxMDQgNWUzMWQzODFmYTQ3ZDI1YzBiMzc1YTkwMzI2ODgwODRkMzlkOGQ5OCBsZWdhY3ktdHJ1bmsKKzkxMDUgYTgzOWQzZWZhYmNlNmQ2Mzc5MDJlMTk2ZTg1ODRhZjdjMGYxZWM3ZiBsZWdhY3ktdHJ1bmsKKzkxMDYgZTk2YTgxNjQ3ZjljN2YzNGNjMTM3ZDQ5OTUzYWVkMjIxNzc0MTVmMiBsZWdhY3ktdHJ1bmsKKzkxMDcgY2RmZTNiN2Q3MTg3ZDgzYmI0MzdjYWEwMmY0MzdiN2M5NzA1MTUyOCBsZWdhY3ktdHJ1bmsKKzkxMDggOGY0ZDg5ZjBmMzM2YzgzM2Q1NzViZDE2NmU0NGZhMWYwYjdkNzRmNSBsZWdhY3ktdHJ1bmsKKzkxMDkgZDUxNTFiN2I5ZGJjZmU5ZTRiZjEzYzcxNzNjMjM4YWNmYjc5Zjc3MSBsZWdhY3ktdHJ1bmsKKzkxMTAgNTJkNDBjYzVmYTA4Y2M1YjlkZTIxMGFlODY2NzkwMDlkM2E1YzA3MyBsZWdhY3ktdHJ1bmsKKzkxMTEgZGYyYTJlNDNiZTE4Y2ViM2YwMWM3YWU3MzBkZDQ5YzFiZTkxNDg4ZSBsZWdhY3ktdHJ1bmsKKzkxMTIgZWNmYmFkOTA2MjMxNDIwYTRhOWM1YjliYWNlZTFkMWU2N2Y5N2I3MiBsZWdhY3ktdHJ1bmsKKzkxMTMgMDJmNTljYjI4NmZhYTNhZGQ0YWNlNDRlZmFmOWY3Mjg5YzZmYTM1NCBsZWdhY3ktdHJ1bmsKKzkxMTQgZjQwODI3YmFhYjgxMTJhOGUxNTI0ZTYxMjgxMjgzZWQwNzU4NTUxYiBsZWdhY3ktdHJ1bmsKKzkxMTUgMDMzOTJjMjdiZjk2OGJmZGVkYzM4YzFjNTU1N2U0NDExZTQ0YTMyMCBsZWdhY3ktdHJ1bmsKKzkxMTYgZTZkNzg2OTU4ZmIzMDdmZjVhNzUyMDYwNmY5NzYwNDMzNWQ4NDMzMCBsZWdhY3ktdHJ1bmsKKzkxMTcgZGE2NjJiMzQ1Yzg3NjAyZjY2YWY2M2VlNzJhZDNiNGU4ZmQ3YTE4ZCBsZWdhY3ktdHJ1bmsKKzkxMTggZjkwMzUxYjE1ODFiMmRmMTg0MmJiNWI3ZmY5MWYxNjczNDk1ZDJkYyBsZWdhY3ktdHJ1bmsKKzkxMTkgYWM0YjQ0NDczODY5NDNmNDYzMGRhNGJiMGY3YTg0NDY3ODM3MTU4NiBsZWdhY3ktdHJ1bmsKKzkxMjAgMjUxOGFjOTI1MWYwZmMyZTI2NTAyNmI0OWM0MWQyYTMyZTgyMTliMiBsZWdhY3ktdHJ1bmsKKzkxMjEgNDEyMTcwNDUxMDYzMGUwMzVkYzk3NWY2MzBhZWViYjQzMDQ3YzQ2MyBsZWdhY3ktdHJ1bmsKKzkxMjIgZTFkMzU2NWQyYjdhNDkyNTFlNmUxMjA3N2Y2MTQzYjA1ZDczOTdkOSBsZWdhY3ktdHJ1bmsKKzkxMjMgZTg2ODFlZGEwODU0OTVkNDE4MWZkNDZiNzE1N2RkN2NkYWRmYTRkMiBsZWdhY3ktdHJ1bmsKKzkxMjQgMWRhOWY2MDI3OWM5MzMwMjEwMWUzMjE0ODhiMGQ4NWQxYTU5MzliZSBsZWdhY3ktdHJ1bmsKKzkxMjUgYTdlYTc0YTI3OTkzNjkzODE1YjhkNzIwMTI3ZWRiYzRjZDQ4ZjMyNyBsZWdhY3ktdHJ1bmsKKzkxMjYgMGYyNDk4Yjg0N2JmY2M0OTZhN2VmMDRiYzIwMTA2NzEwNTFjMWUyMiBsZWdhY3ktdHJ1bmsKKzkxMjcgMjA1ODllZDNlOGJkZTVmZjVjODJhMTRkMDNmMzQyY2EyYzUyYTkyZCBsZWdhY3ktdHJ1bmsKKzkxMjggZjZiZTliNWFkYmRiN2Q2Njc3MjllYTFkMjQwZGIyMjBjMjgxNjJjNyBsZWdhY3ktdHJ1bmsKKzkxMjkgY2U1Mjg4ZWMzNmQwMjU1ZTVjMjUxNGIwM2I1MTBkNzU3N2UzNzM0NiBsZWdhY3ktdHJ1bmsKKzkxMzAgNWVhYzFjOGRiMDRmNjQxODdlMTFlNDUzYzVlOTliNDZjMzIzZGM4YSBsZWdhY3ktdHJ1bmsKKzkxMzEgYzZjMWQxMzM2NzdhNzg1NTVkOTcwNzZiMjg1MjdmOWY2Y2MzN2ZiZiBsZWdhY3ktdHJ1bmsKKzkxMzIgNmQ5OGI5NjllMWY2NzA5NzJkZDg0YTczYzMxM2I5YjFhNWUzOTkyMiBsZWdhY3ktdHJ1bmsKKzkxMzMgNDY2ZTg3YjE0NzY3MWY5YzMwMjYwMDEyZmYzNzYwZGFjYzMwZmFkZCBsZWdhY3ktdHJ1bmsKKzkxMzQgNTIzMjlhMTEzZTBmYTNlZjBmOTc2MzYzMzY2ZTJjNmNhOTQ1M2MxOSBsZWdhY3ktdHJ1bmsKKzkxMzUgZTQ5OWM3ZGJmZGYzNTlhNGU4MmM1ZWUwNTBiMDNiYjNhNjE4NDJiYSBsZWdhY3ktdHJ1bmsKKzkxMzYgZGVhZDZlNzdmNDY0MjhlZWE0ZTFlMjMyOTFiNTNhZTAzZjVlYmE2OCBsZWdhY3ktdHJ1bmsKKzkxMzcgMzM0Y2JmZDUxZGIzYWVjZTBkZjE0NjM1NTJkMTgyZjgyZWVlZmM4YiBsZWdhY3ktdHJ1bmsKKzkxMzggYmI4NmJiNzZkNjFkYTNjMGYwNjMwY2VhNDIxYWI1ZGZmNjJjNTdhZCBsZWdhY3ktdHJ1bmsKKzkxMzkgOTk5NTViNjU0MDhkYWEyN2NiNTc1ODcwZWRiZmJiY2Y3MDhhMTE5YSBsZWdhY3ktdHJ1bmsKKzkxNDAgZmJmY2YzOGQyYjM5NWZiZmI3Nzc2Y2FmNTZjZmRlMDBjODJlNzU1ZiBsZWdhY3ktdHJ1bmsKKzkxNDEgOWYwMmViMzZiNTczOWE0N2ZkNjUyMDcxNWViNzRiMWExNjEyNjhiMyBsZWdhY3ktdHJ1bmsKKzkxNDIgNzMxNGJlNjQ1MGFhMDhjYjQ5ZjY0MGU4NGIwNTY1ZjNkMjkxZjExYSBsZWdhY3ktdHJ1bmsKKzkxNDMgZDZkM2U3Y2Y4OTdlMGIxODhkYTU5OWFkZjQwZGUyMDE1ZTgwOTcyYSBsZWdhY3ktdHJ1bmsKKzkxNDQgYjJmMWZlYzZhNzAyM2UzNWM2ZmFjOTBkOTMxMjlmYmYwNjIxN2Q0ZiBsZWdhY3ktdHJ1bmsKKzkxNDUgMDg5YzA0ZDg5MTUxZWIwY2ZlN2E3Y2VjOGJlNDllYzJmZGM1ZmMzNSBsZWdhY3ktdHJ1bmsKKzkxNDYgOTg1NTI3MDRiODhmMjdhNDc2YjAzNDk3NDg1MTRhN2FjMTFmOTUzYiBsZWdhY3ktdHJ1bmsKKzkxNDcgMmY1YzgzNzQ4MjVjODUzNzExOThmNWE3YmIyYjkzODA0ODhiMmIyZCBsZWdhY3ktdHJ1bmsKKzkxNDggOGUzZWUzNTc3ZDRlOTUxNmRiYzE2MjU2NzliNmIwMTlhZDdmN2M0YSBsZWdhY3ktdHJ1bmsKKzkxNDkgMTQxMDVkZjMzYzEyYTIxZjIzMGYyYjdkZDk1M2VlNWI0YWI3YzEzYSBsZWdhY3ktdHJ1bmsKKzkxNTAgOThkNTU3OTNiNjdmYmFlM2FhZWUxNzljY2Q3NmEzYTMzMmY4YTBjNiBsZWdhY3ktdHJ1bmsKKzkxNTEgOTczMTg3ZjFiZDFkM2RjMjBhY2EwOWI3OWQwMTEwNDk1N2U5YWZkNyBsZWdhY3ktdHJ1bmsKKzkxNTIgNDMyZDFiZTAxNjNjNzVjMzBlODNiZTM0YjU2Y2JiMGY2MjZhZDQ5MiBsZWdhY3ktdHJ1bmsKKzkxNTMgY2RiMzI3OWIwNmU3OWQyOGI4NTk0MmM4OTJiZWM0NzEzZjhlMzc4NSBsZWdhY3ktdHJ1bmsKKzkxNTQgMWJiOGI3ZmU0NWVjM2VkMGEyNzhhMGNjNzg1YTNjZGM0YWI3NDhhZCBsZWdhY3ktdHJ1bmsKKzkxNTUgZTQ1YjgzNzA4ZDllOWJiZGQzODQzNTRlNzkxYWJkN2QxY2ZkODI5MyBsZWdhY3ktdHJ1bmsKKzkxNTYgZGUyZjhmNDk0YWUzNzM3ZWY5MmI4YTRlZDA3MDZjZTM3NjgwZmU1OSBsZWdhY3ktdHJ1bmsKKzkxNTcgZjk1YzlhZTJhYWVmZWU5NWE3MGNhYTE3MWU2ZmI2YjI2Yzg5NDE2YiBsZWdhY3ktdHJ1bmsKKzkxNTggYjhhM2JhNmU3YmM5ZGVmNmE5OWM0Mjk1OWM3MmM5NDNmYzQ4NWUzMSBsZWdhY3ktdHJ1bmsKKzkxNTggOGZmNThiNTczMGYwNmJlMDhmYmJkYzJiZjU5MjIyNmY3YTczNjIwMSBsZWdhY3ktdHJ1bmsKKzkxNjAgZWZmYTYyYjAwNjJiN2QyY2E1YWJjMTZiNDlmNWU0NjJhODMxYmY0YSBsZWdhY3ktdHJ1bmsKKzkxNjEgY2I4ODliNjc4MDUzYjAxMzVhZWI5NTdmYjliMzE3ZGE2NmZhMjc5NSBsZWdhY3ktdHJ1bmsKKzkxNjIgMDE3NDY3ZGU3OTMzZThjNzNiNTc0NzJkMTQyM2I1NjRiZGJmZDA4MiBsZWdhY3ktdHJ1bmsKKzkxNjMgODMxNDdlMDJlODBkOGUzMjNkNDkwYmFhZGU3NjJjOTlkMjIwMGUyNiBsZWdhY3ktdHJ1bmsKKzkxNjQgMmI3ZmJkNzZjZWY4NzA1NGNiNGIzYjEwZjM2MjZhNjVkMDE0NmY1MiBsZWdhY3ktdHJ1bmsKKzkxNjUgYTU5M2MyMjBlZGNjNjU5M2Q1MGY2Yjg0NGI4ZDJmNjBiYWQyYjQ1YSBsZWdhY3ktdHJ1bmsKKzkxNjYgNTNhMDdhZGE0OTlhZjc4ODY4ZTVjNmYzZWU2MzcyNDlmYWI2ZGFkMCBsZWdhY3ktdHJ1bmsKKzkxNjcgODRiNDNmZjQyZmE4MGUxYWViMzc3OWYwYmFjMTA0MWUzNmQ2YmJjNiBsZWdhY3ktdHJ1bmsKKzkxNjggYzA3OTg0ODdiNzI4Yjg3YTExNjJiY2FiYjI4NDc3MzEzZDI3MjNjNyBsZWdhY3ktdHJ1bmsKKzkxNjkgZDc5MGZlMjVlMTQ4ZWY5MmViZDgzY2JhNmEzMjU4YjcwZDgxY2Y1NCBsZWdhY3ktdHJ1bmsKKzkxNzAgNGJjYmJlYjYzYjg5OGU1NDMyMzQyZWZhNjlkYTI0N2EzODA2NDE4YiBsZWdhY3ktdHJ1bmsKKzkxNzEgNDBhODQyMGI0YWIzNmU0ZWUzMjc2NGZkY2QyYTcyYjFjNjJlMzQ1MiBsZWdhY3ktdHJ1bmsKKzkxNzIgYTcyYmY0M2E4ODcwYjFlMGQzMzQzN2QzNjc2NjQzMjJjYjc4YmYxNyBsZWdhY3ktdHJ1bmsKKzkxNzMgYjlmY2I5YTM0MzMyODIyZjY4YzY2OWY4N2I1ZWQ5YjM2MTAwMGE4ZiBsZWdhY3ktdHJ1bmsKKzkxNzQgZTkyMTU0MDIyYjQ4ZWU2Y2ZhNzE5NTVkMDc1ZjM1YzEzOWRmN2ZlOSBsZWdhY3ktdHJ1bmsKKzkxNzUgMmU3NWIzMWQ5NGM4NGYzMWE5MTlmNGE5NGQyZWMwMTA4MWI5YTUxNiBsZWdhY3ktdHJ1bmsKKzkxNzYgYjczZWI0ZTZmYWNlY2ZlZjlmOTIzYWU4NWVlOGY2MzQ4Yzc0MWM1NyBsZWdhY3ktdHJ1bmsKKzkxNzcgOTAwMWMwYTdiZTk4NjMzOTY5N2ExMWIzMzAxMTZkMmM5NTEwNzk4ZiBsZWdhY3ktdHJ1bmsKKzkxNzggYzY5MDM0YThiM2Y0MzRmN2E0ZjE5MGQxYzU4ZmIzMTA1NmFiNzExZiBsZWdhY3ktdHJ1bmsKKzkxNzkgNGQ2M2EwMDFjMjVlYTljMTJiYTg1NmZhY2I3ZDQ2ZDAxNTUyNDFkMyBsZWdhY3ktdHJ1bmsKKzkxODAgMTUxNjAxOWM5MGJlODhmNTAzOGRiNDcxM2ZlY2Y2ODM0MjdhNDhjZiBsZWdhY3ktdHJ1bmsKKzkxODEgYjkzNmNjZjQyZWEyZDUxYzEzYWQ2NmYzOGM4NWU5MzA1MzBiZTMzYSBsZWdhY3ktdHJ1bmsKKzkxODIgOWQ4ZTQ4ZjNiNDk4NWYwNmM1NmUxODdjOTE0YjU1ZmMyMjY0YTJlMCBsZWdhY3ktdHJ1bmsKKzkxODMgMDYxNTc5Mzk1MDQ2NTAxZDcxMTY5Yjk5M2RmYmI0YmIxZmU1MzEzZiBsZWdhY3ktdHJ1bmsKKzkxODQgY2JjNWU3ZDZhZDIzNWZiYTkwZjliNjY3NzFiZjhhYmQyYjhjOGZmMiBsZWdhY3ktdHJ1bmsKKzkxODUgMzlkOTZkOWQzY2NiNTZhNjFmY2U1MjEzYjNjM2NkNzljZDc2M2M4NyBsZWdhY3ktdHJ1bmsKKzkxODYgNDdhM2YzYjYwNTAyNjNhYWM5YWVjZDA2OTJhMmQ4MjI5ZGZlYTJjMyBsZWdhY3ktdHJ1bmsKKzkxODcgMTJhMWM5ODQ1MDc0NDA3NmQ4ZWFjNjZkMzJiY2NkMzRmYjFjNTQ4OCBsZWdhY3ktdHJ1bmsKKzkxODggOTBjNjM5MGI0OTQxNzNlZGRlODQyYTQyNjdhNWYzOWVjYTg4NzRhYiBsZWdhY3ktdHJ1bmsKKzkxODkgOThhYTkyN2Y5MDdjYzAzZDU0NTkwNWIzMjE2Njk5NDY2Zjc0ZmU0YSBsZWdhY3ktdHJ1bmsKKzkxOTAgZmYxNjQ0OGU4ZjI0MTcwODBjYmUzZTY3YjYxNTBiNDg4NjgxOTBjOCBsZWdhY3ktdHJ1bmsKKzkxOTEgOGE1YTAxMjMwN2JkZDEwZjk2OWJjN2VhNmY1YTlmNzE1ODExYjAyMyBsZWdhY3ktdHJ1bmsKKzkxOTIgYTViYjBiOGRjMzIwNDJiZmM1NWE0ODEyMzY0NzhiMWU3MDZjM2UyMCBsZWdhY3ktdHJ1bmsKKzkxOTMgMzliNDEzYWMyY2M5MWMxYjU5ZDJjNmI5ZTU0NjQzYzRhNmI5ZDI4NiBsZWdhY3ktdHJ1bmsKKzkxOTQgZDg1NGExYzdlNzRkMzMxYTc1MjkzZWJmNWRkMWE3YmViNDU3ZWYxMyBsZWdhY3ktdHJ1bmsKKzkxOTUgNjRhNzUyMTFjZjcyOWNmNGFjMDZlZDcyNTRkZWU5YzI4MzY0OWRhMiBsZWdhY3ktdHJ1bmsKKzkxOTYgMzJmMmVkYTI5NDZjYWQ3MDFiNDNlNmM4YTdlYzYyZDRiZTkzMjE3NiBsZWdhY3ktdHJ1bmsKKzkxOTcgZmFlYmMxOTQwNDMyOGIxMmJjMmJjMzEyMzQwMmE1NmM1ZDI5NTE1OCBsZWdhY3ktdHJ1bmsKKzkxOTggOTYwODUzOTAyZWJlNDE5MmUxNGNiM2Y4NGJhNGRiZDUyOTlkYjMxZiBsZWdhY3ktdHJ1bmsKKzkxOTkgYmJmOWU0YjMxZDg0YzRjMjEyZDNmNWYyZDU5NDE1MGMwMTkwZjk3ZSBsZWdhY3ktdHJ1bmsKKzkyMDAgMjFkY2UzMzI1MzIxOTYyMjFiYzBiMWFhZGUxZWFiYjAzMTI3MjI4OSBsZWdhY3ktdHJ1bmsKKzkyMDEgYzNmODViY2IwNDVhZDczZjYzNzUyMThjYTMxODM0NmVjYzhiOGU4YSBsZWdhY3ktdHJ1bmsKKzkyMDIgMmUzYWNiMjE0MGJmM2E1ZmY4MGM4Y2ZjMzNkNmExMTg5NTcyYWUyOSBsZWdhY3ktdHJ1bmsKKzkyMDMgMjgzZDFjYTU4NWQ5NGYyNjYzZjExY2I1M2FmZjMwYmRjYmZlMTI2MSBsZWdhY3ktdHJ1bmsKKzkyMDQgNGYzNjQyYTIwMTM3MmU2ODI0M2NkNzlhODU4NWU0ZTBiMmU0ZTRlNiBsZWdhY3ktdHJ1bmsKKzkyMDUgMjY2MmM5ZmUxYjNlMDNjYWEyN2ZkZjU2MTY0ODkyMzViNDEyYjQxZCBsZWdhY3ktdHJ1bmsKKzkyMDYgN2NjZTQ2OTE2MGM2ZWI4NTNiM2E4YmY0NGFhNDEwY2UxZDI4ZDBlZiBsZWdhY3ktdHJ1bmsKKzkyMDcgMTFhNzUxNzA1NGE1OGVhODAxNmE2NDUzYTVhYWMzN2U0MmE2MmZlNiBsZWdhY3ktdHJ1bmsKKzkyMDggOWM5YTg3YjViYjE3ZWMwMWVhM2IzZTI1MDNmYjA0ZjAxZTIzZjkzNiBsZWdhY3ktdHJ1bmsKKzkyMDkgMjE2NTYyMDRkZDRmYmQ5YTY3MWM2NDg3ZThlMjcyNjdmNjc0N2E4MCBsZWdhY3ktdHJ1bmsKKzkyMTAgMDlmNmE0OWFjYTEyZWY3MDZkMjQ4NjU0ZjJkZTdmY2NmZmY5ZDJlNSBsZWdhY3ktdHJ1bmsKKzkyMTEgNjVhZTcxMWRiMDBjYjVkNTU4YmI1NGM4MzdkNTRjMTliODc0MWJmNyBsZWdhY3ktdHJ1bmsKKzkyMTIgNGM5YjI1NmEzYmVlMGM5MTI4YTFlYzhhMjdkZGVhMWY5NmM0ZTdkOSBsZWdhY3ktdHJ1bmsKKzkyMTMgZmFiOGFiNWRjNWY4NGU4ZjZlOTZhZDk4ZDJjYzBiYjdhNWIyNTNjNCBsZWdhY3ktdHJ1bmsKKzkyMTQgNTNmZDQyYWEzYmJmY2FjYTBlMTU0NmIwZDY0ZTUxYzMyMTI4MGZiYiBsZWdhY3ktdHJ1bmsKKzkyMTUgYWIzZDdhMjhlMDdkMjU4MmFkZjA1ZDllZDQxODhiNGQxOTJlMWRkZiBsZWdhY3ktdHJ1bmsKKzkyMTYgM2JlZjU1Y2I3NDRiNmU2ZGU5Y2RlYjA4ZDA2YjJjN2FhMTg3YjhmZiBsZWdhY3ktdHJ1bmsKKzkyMTcgMWQ0MTc1ZWQ2YTljZWVlMzE1NTgwZjA4MmE1NWM1ZWZlZDQyZGFjNyBsZWdhY3ktdHJ1bmsKKzkyMTggMTg1M2I1YmMwNTQ4YmEwNjJjMzU0MDMzZTgwZTM5ZTJiODQxNTg4MyBsZWdhY3ktdHJ1bmsKKzkyMTkgNGNmMGRhMDcxZTJiZWEzZTliNGIwNzVjMGNiMmI2NTMwMDEyNzAwZCBsZWdhY3ktdHJ1bmsKKzkyMjAgNDg4N2Q3NTQ2OTJhZWZiMTAwYmNhYjQ1NDJiM2M0MDRlNDA1NWM1MyBsZWdhY3ktdHJ1bmsKKzkyMjEgNGY2OGM3YWM1MTE1NGRjZGNlMGY0NTgwNDJjZTQyMDczNjQ0MzM1YSBsZWdhY3ktdHJ1bmsKKzkyMjIgODA4NDhlOTE4YmNjMTg0MTQzYTllNmI0ZDQ0YjVmNzBmYTZhZWRiOCBsZWdhY3ktdHJ1bmsKKzkyMjMgMWRiNDFjYTQ1YzdmYzg4NTQ0ODc5NzI4ZDQ2NDQ1NjZhMzVhYjQyNiBsZWdhY3ktdHJ1bmsKKzkyMjQgYWJlM2FhZDllMDM4NWU3ZTY1Zjc1NDJkZDJiMmM2NWRkYjk3MzViNCBsZWdhY3ktdHJ1bmsKKzkyMjUgZmNmZjUzMTYzNGUxNGY0MTNkNzYxNTM2ZTIyMmE3MWQ1YjAxODgwZiBsZWdhY3ktdHJ1bmsKKzkyMjYgNzRlYTIwOGQ0NmNlODFhYTNkOWQ3NDgyYmQ1NzRjNTRkNzI0ODhlYSBsZWdhY3ktdHJ1bmsKKzkyMjcgNzkzY2FmNTE3NjQ3OWU0ZTRhOGU0N2ExZTM2YjMyYjNhNmZjMTM0OCBsZWdhY3ktdHJ1bmsKKzkyMjggNWU3YzkxMzU4ZWQyY2RlYTkxYzg3YzYwMGFlNTU4M2U3MWUzM2M1YSBsZWdhY3ktdHJ1bmsKKzkyMjkgNGRhZjA5MGZmMTYyMjY1MTk1NDM0M2Y3ZmI0NjY1YjhmMzE5YjUzYyBsZWdhY3ktdHJ1bmsKKzkyMzAgZWJhNmFkZjNmODQ0ZWY2NDdmYWI4OTZhMjM3Njc4NzcyNDVhZGJmNSBsZWdhY3ktdHJ1bmsKKzkyMzEgZTJlNWJiZmFkMWM4MWY3M2FiMzI0MTNmYzVlMGY1MDk4NWNhZWYwMyBsZWdhY3ktdHJ1bmsKKzkyMzIgMDdlOTVlZjU1ZjY1OGU3ZTY3OTVmYjBmMzM2MzBhMGZhZTkxNmIxNCBsZWdhY3ktdHJ1bmsKKzkyMzMgZmQyOWNlYmU4OGRjOGI0NTYyYzQ0YWNiNTJmYTg0OGI2NmY2N2Q2ZCBsZWdhY3ktdHJ1bmsKKzkyMzQgZTQwNzBkYzZhYzM1ZDVkMmYzZjIxZTE5ZDgxM2U0ZDgzMDc1M2FiNCBsZWdhY3ktdHJ1bmsKKzkyMzUgYWZmNmZmNTJkNWU3ZWQzMTJiZDg1MzRiOGZlM2Y2ZDMxMDE1YzQ5ZCBsZWdhY3ktdHJ1bmsKKzkyMzYgMGI1ZWIzMmI1NTFkMjgyYTJhNjY5ZWU0YThlNTRiMzBjZDM0OTAxMCBsZWdhY3ktdHJ1bmsKKzkyMzcgY2FlOGFhNDQxZmJkNGQ3YjY1ZTdlM2Q5YjJiYzExYjZkNzMwZTE5NiBsZWdhY3ktdHJ1bmsKKzkyMzggMDIwNGQ0NjFkMjE5Njc4OGVjMzQwYjkwMzMwNzNlNWEyNzFmZDVlMCBsZWdhY3ktdHJ1bmsKKzkyMzkgNzQ4YWJjN2Y4ODA4ZjQ4NDM5MTRmMjU1M2RlNGE2MzUxOGQxZWE4MyBsZWdhY3ktdHJ1bmsKKzkyNDAgMGEzYzc0MDJkMzk1M2QwN2YwMDBiYzJkYWUzOWNmMTU1MmE4Y2U1OCBsZWdhY3ktdHJ1bmsKKzkyNDEgMTI4MjRmZTA0YTA4ODUyMWRjNTRmYTYyZWIzNWM0Njc4NjU4YjE4OCBsZWdhY3ktdHJ1bmsKKzkyNDIgMDc1MmJiZjc3ZDgxM2ExZjU3ZGY3ZTNiN2IzZjQ2YTgzYzI1NGFiZCBsZWdhY3ktdHJ1bmsKKzkyNDMgZTZjMDMzZTliNzY5MjdiOWViNTFmMjdjNmMxYTU0ZjM2OGMxN2JiYyBsZWdhY3ktdHJ1bmsKKzkyNDQgODkwOTJhZDFlNjYwNzBkMTg2NWY4MTIwZTliZWVmZjJlYzg0MjI4NiBsZWdhY3ktdHJ1bmsKKzkyNDUgZTk3YjgyMzc1OTFjNTgxNTE1NWQ2MDlkMzc4NzI4ODg3N2M3NGQ0OCBsZWdhY3ktdHJ1bmsKKzkyNDYgYTI5YTZiZjAzYWYzMzIzYWVmOGEzOTgyZDEwZWFkZmYxMjhlMmQ1MSBsZWdhY3ktdHJ1bmsKKzkyNDcgMjJmZGZkMjgzYzljZWQ2ZDU1ODRjZTVjOTdhMjIwOWVlZDI4MGYyYiBsZWdhY3ktdHJ1bmsKKzkyNDggYjVjZDc2ODgxMmNiMzI0MTA4MjExMDc3NGM3ZGQ0Y2JiYTZhZDk2YSBsZWdhY3ktdHJ1bmsKKzkyNDkgMzNlMjE0NTI1MGFmZWU4MmNlNWNiOWM4NzYzZjRjMDgyMGViMmY1OSBsZWdhY3ktdHJ1bmsKKzkyNTAgODMyYTgwN2QwMDk4OGVhZDhjNjJiYjQwZWE0ZWRlN2Q2MzViNjY2MyBsZWdhY3ktdHJ1bmsKKzkyNTEgMTRkNmI3YTQyOTE5NDIxNTRlMGE2OWVlMmE0YTM5YzEwYmM4ZmQwNCBsZWdhY3ktdHJ1bmsKKzkyNTIgMGVmMjNmNTEzYTY1OTU5NzczYTE1YTk4YjU5MmM0MzhkMDAzNDkwYyBsZWdhY3ktdHJ1bmsKKzkyNTMgMzExN2FmOWRiZmNlNzkzNDZlZWUxZWQwZmJjZWNhNDVmZTUxMGQxNyBsZWdhY3ktdHJ1bmsKKzkyNTQgM2RmZTA1MTFiYzNiMzI2MzE1MDNjZTUxOGJjMmVhOGNlYTcyMTdmNSBsZWdhY3ktdHJ1bmsKKzkyNTUgZGFhNzdkOWFmMzRjOTAzMzlmOWMzZjliOGIwMzlhNjBlMWM3ZmM1YiBsZWdhY3ktdHJ1bmsKKzkyNTYgYmY2ZGU4MmFhYjBkODgxYWI3ODczOWUxMmQ0N2EyNzYxMzAyYTNkMiBsZWdhY3ktdHJ1bmsKKzkyNTcgNGRiZmZmYzNjMjNiZTM5NDVkYTQ0Zjc0NGFhZGExZDBmYzRiYmIzZSBsZWdhY3ktdHJ1bmsKKzkyNTggOWNmOGQxNGYzNTY1MmNkOTNlYmYzNmZjMDBjOWEzN2ExZmJjZDIyMiBsZWdhY3ktdHJ1bmsKKzkyNTkgYjk2ZDlmYmIyNGU1NjE0ZmJlZmNlODZkZWEzZjExOTkxMDNiNDk0ZCBsZWdhY3ktdHJ1bmsKKzkyNjAgODk4MDIwODdmODA2NjljZjc5YmVmZWMxNDQyYWUyNzE5ZDdiODAyOCBsZWdhY3ktdHJ1bmsKKzkyNjEgYzE4NTAxNzcwODk1NDUzZTczOTYzNzhjMGVkZWZiMGU3Y2M3MTg3YiBsZWdhY3ktdHJ1bmsKKzkyNjIgMDg0ODAwNTAyYTQyMDg0MjM2ZjhiZDQ3NTgzY2Q3NjdmMmU3YTRjMCBsZWdhY3ktdHJ1bmsKKzkyNjMgZjRlM2E3YWViOTQ5ZmYzZWQ2NWUxZGUxMzBiMTFlMTEyYzIxODEyYiBsZWdhY3ktdHJ1bmsKKzkyNjQgYmMwMDdjZjFkNmJhM2ExOTdlYzBkOTYxOTllM2IyOTRiMTFlMDAyMyBsZWdhY3ktdHJ1bmsKKzkyNjUgZjY5NTQyNzRlMWNhNDhmODg0NTIzYmUwYjBiNzI0M2ExYTY3ZTYzMiBsZWdhY3ktdHJ1bmsKKzkyNjYgY2VhYmQ1MDMxN2UzMGVkMjExZTA2M2RkNzUyYjhjNmIwODk2N2EwNSBsZWdhY3ktdHJ1bmsKKzkyNjcgYmI0NDBhMjk3NWFiOTkxNWNkODk2MmEwYmZjOGFhMjBiODkzMWNiMyBsZWdhY3ktdHJ1bmsKKzkyNjggYjFlNmMzZmU1ZGU4NTQ1ZDRmMWRkNWY3NGE4MTJlZjljMjYwODEwYSBsZWdhY3ktdHJ1bmsKKzkyNjkgOWU3NWQ5NDI1NmUwZTZhNTJiNmFjZTMwYTA3NWRkZjgyOTdkNjYxYyBsZWdhY3ktdHJ1bmsKKzkyNzAgZjUzM2MzMDc5NzgwYmZlOWE1NjcxNGVjZjlmOGU3MjUzMjliOGIxNyBsZWdhY3ktdHJ1bmsKKzkyNzEgODU3ZjkwNjUwNDFkNTIwYjUyM2EzZGI1NTk4NTEwOWRmNWRlZWMyZCBsZWdhY3ktdHJ1bmsKKzkyNzIgYjA5MmVlMTlhZTRmZWMwYmE1YjMyMmY4ODM5MTU3N2E4NDRmZDI2MCBsZWdhY3ktdHJ1bmsKKzkyNzMgNWIyNGNiYjFmOTliYTI1YWY1MjIxNzM2Y2VkMGNhYjQ5MWJjNjIyMyBsZWdhY3ktdHJ1bmsKKzkyNzQgZDEwMGQwMjUyY2IxYzVkY2ZkZjFmNmViNzQwY2FkNTAzN2MzZGIyYiBsZWdhY3ktdHJ1bmsKKzkyNzUgOTU0NDE3MTkxZmJmYzc4MWVjZThmNmZhYTg4YTUzNzUyNmNkYWM0ZiBsZWdhY3ktdHJ1bmsKKzkyNzYgMGJhNTBjNzQyOWU1MTAzNGIwZmEyOThhMjY4NzY0MzNhNzA3ZjkxYyBsZWdhY3ktdHJ1bmsKKzkyNzcgMzQxYTZlNDdhOGZmNjQ1ZmVhY2M2ZTNkYmFmNzZiZjgwM2RjYzk3YiBsZWdhY3ktdHJ1bmsKKzkyNzggNWVkZmViN2FhNmVhZTNkNzA0ODg2MjJjZTVhYzM5MmI5ZjZjNDU2NiBsZWdhY3ktdHJ1bmsKKzkyNzkgYmNhOTQ4MTk0ZGVhZjQ4Mjk0ZjBkYjYyMWYzYWNkNGMwMzFmOWEzNCBsZWdhY3ktdHJ1bmsKKzkyODAgOTg1YmU2ZGM4OTRmMzVmYWIwNWJiNDg0ODhlYjFlNzA3NTE4ZDJlOCBsZWdhY3ktdHJ1bmsKKzkyODEgYWZiYzExZGQyYzY1ZTVmYjgzYzZmNzdlM2EzYjZiYjk2MmJlZDg3YiBsZWdhY3ktdHJ1bmsKKzkyODIgZTIyNGM0MWJkYWM2NTA4ZjA3NGZlYmRjMjg3MDIzZGJlMmY2ODg3ZCBsZWdhY3ktdHJ1bmsKKzkyODMgOTNlNDgwZGVkY2YwOTQwNzFmODQ4N2U5ZDUzZjE1ZTViNGUyMzUzYSBsZWdhY3ktdHJ1bmsKKzkyODQgYWMxYjI2MWYxNjkwNGE2NjU5ZmNkNjI3ODg4ZDI4MGRmNzBiZjdhZCBsZWdhY3ktdHJ1bmsKKzkyODUgN2Y5MTlkNDcwMTI5M2ZjNWRkNjBiNmU2ZWJjMDllMDk4MjJlYTUxZiBsZWdhY3ktdHJ1bmsKKzkyODYgYTg3YmM1M2ZjMWFkNmVlNzViYWVhZTJiMDkyMzlhMDUxM2M4NDZiNyBsZWdhY3ktdHJ1bmsKKzkyODcgMTQwZTY1ZjgzOTUzM2ZhOWZiZTk3MTk3MDE5N2UyNTI5OTZlNjE2YSBsZWdhY3ktdHJ1bmsKKzkyODggY2E3NTVmYjFlZmI4YWY0M2I1MDEwOTI5OGI5NjU2MTA4ODlhYjY0NiBsZWdhY3ktdHJ1bmsKKzkyODkgOWI0MDZjOTI1MTQwODI1ODI5ZWYxNDJmMzFiMTQzNTNkYTg2NWQ5YiBsZWdhY3ktdHJ1bmsKKzkyOTAgZDg1MTQ3ZGNlMTg1ZDI2MmYyYzA3OGRhZDUyMDU2YzE3NGMyMmY5ZiBsZWdhY3ktdHJ1bmsKKzkyOTEgNjY3YTg1ZWJmYzNlZDBhYmFmNjAwM2M4M2ZjYTZmNjE2OTk2ZjFmNSBsZWdhY3ktdHJ1bmsKKzkyOTIgMGZlM2RjMjhiOTJjMGM5NmMyOTVlNTljNTM4MzgxZDY1MTFlYmY1YyBsZWdhY3ktdHJ1bmsKKzkyOTMgNjEzMWQzZjlhZjJkNjA5MjlkMDAyM2E1NWExMjY0MDU4N2ExZWRiYyBsZWdhY3ktdHJ1bmsKKzkyOTQgMmUzZjI0NGYxMDVmMzU3Mzk4ZjkyNzc1OTVlZTQwYmY2NWZjZDNhMiBsZWdhY3ktdHJ1bmsKKzkyOTUgN2RiYTJmM2I2YzgxMzVjM2U3N2EwMDE2ZGNjN2VjMDIwM2I0MDhhMCBsZWdhY3ktdHJ1bmsKKzkyOTYgNzczZmJjOGVmYmQ3N2UwNzJkOGRjMWY2YjdiYzEwMmFkNDYyZDk0NCBsZWdhY3ktdHJ1bmsKKzkyOTcgOTU5MjliMDFhMjYyNGFhMjZmM2MxZTNjYWRkMDQ1NDQ1NDllYjU0MSBsZWdhY3ktdHJ1bmsKKzkyOTggOGVmNDgxYzdjM2FmYzY0MzAwN2YzZjllZDcyYjcyZWRjNzM4ZDBkOSBsZWdhY3ktdHJ1bmsKKzkyOTkgYjE5Y2Q0MzEzMTI2NjNlZjQ1NWQ4YjQ2MWI1MDU3YjRlZDFlNzk2NSBsZWdhY3ktdHJ1bmsKKzkzMDAgZmMxMWZmMmM3NWIwNDk1ZGQ1YWNkZjBlOTg0MTkwMDA3ZjgyMWI2MCBsZWdhY3ktdHJ1bmsKKzkzMDEgNjYzYTQ5ZTRiZWQzMjY4Mjc4YzczOGU2YzQ1MWM4MWM1NGM0ZjQ4YyBsZWdhY3ktdHJ1bmsKKzkzMDIgZTM5YzNiNzc3MDQxNzJjODVhZjAzNDQxOTE3N2FiMGUxYjM0ZGFmNSBsZWdhY3ktdHJ1bmsKKzkzMDMgZWNhYTQzMWM1OTY5ZDliM2EzNDI1NDRlMTA1MzVkN2IzN2VmMGVhMiBsZWdhY3ktdHJ1bmsKKzkzMDQgYTE1NDVjYmYwYWRmN2Y0NmM0OTAwYzcxZTg4OTUzMGNiYzA4NmRlYiBsZWdhY3ktdHJ1bmsKKzkzMDUgOWZlOTdiNzYzMDY4YjY2OWNiOTU4OWQ2OWU5NWE1NjdmYTgwNGFiMiBsZWdhY3ktdHJ1bmsKKzkzMDYgZWU4OGM1YWJjMzQxZWNlOTM4YmIxZTE0NWMzMmRjMjg5ZTExODFhYyBsZWdhY3ktdHJ1bmsKKzkzMDcgMzUxYzcwYjhlNzMxM2ZkYjRhOGM5ZWFiZDVmZmRkMTc5NDVlYTc2MyBsZWdhY3ktdHJ1bmsKKzkzMDggOTkyMDlkY2YyOTQ2OGNlNzMwOGMyODRkOTczMTFmZDBiODc1YWFmMCBsZWdhY3ktdHJ1bmsKKzkzMDkgYWNmMjQ3NDY1ZmViZmRlMWJkNDFkY2U0MjVhYTZiNGExNzFlY2I2ZCBsZWdhY3ktdHJ1bmsKKzkzMTAgOWE1N2I0MTA3NDhkNTE1ZTg0YzdlYjAzNDQwZmIxYmVkOTgxZGNhMSBsZWdhY3ktdHJ1bmsKKzkzMTEgY2JmYzVmMzMyZDlkNGYxOWYzYTQ2OTYzYWFiNWExMTFjZWY1MTliMCBsZWdhY3ktdHJ1bmsKKzkzMTIgYWFiMDgyYmZlNjU0ZTUzZWU5N2MxNmQzYTc1MmI2YmM3YWYwZTk3MyBsZWdhY3ktdHJ1bmsKKzkzMTMgZGIxOTFhY2Y4ZTA2OGU2YWFjNTNmODc2ZDU2NTRhYWRmMDlhNjAzOCBsZWdhY3ktdHJ1bmsKKzkzMTQgMDI1NWI1ZWNkZTEwNjU0Mjk5ZjAzMTY4MWJjMzhjZWU5NDJmOThmNyBsZWdhY3ktdHJ1bmsKKzkzMTUgOTYxODFhNGE1NDgyNDliZDZhYThhZTkxZDZmMTI2YTU3ZTQzODg2MCBsZWdhY3ktdHJ1bmsKKzkzMTYgYjc1NTAwZWVlZDliMTJkMjc5MWVjMDIxNGE2OTUzYjUxYzdiOThhMiBsZWdhY3ktdHJ1bmsKKzkzMTcgNjIzMzM4MzUxMmJhOTlhMTgyZWJkZjVlMmEzOGNlZjRmMTlmZWM4NiBsZWdhY3ktdHJ1bmsKKzkzMTggNThiZmVjZTAxOTY4Y2MwOWMxNmYxMWQ3MzkyNDVhNDhkOTYzZDQ0NyBsZWdhY3ktdHJ1bmsKKzkzMTkgZDcxMzliYWM5Yjk5Nzg1ZWJkNmNjYjEyOWJlNTk2YWY2YmE2ODc0NyBsZWdhY3ktdHJ1bmsKKzkzMjAgNDE2Yzc5NTcyZjExODcxYjZlYWQxNzc4ODgwNGRmODhlYjdjMzkzMCBsZWdhY3ktdHJ1bmsKKzkzMjEgYWM2NWRiMjA1NGM5YzY3OGNjNGMyYmU5ZWNiNGIxYmI3YTYxYTFlZSBsZWdhY3ktdHJ1bmsKKzkzMjEgZWI3ODY1OGQ4MTlmYjBhZjA5YThlNmY5YmVkY2I2NzA4MDVlZDVmNiBsZWdhY3ktdHJ1bmsKKzkzMjMgM2ZmZjM0ZWE5MWFiNjQxOGQ5MmM3NTA1MmQ2MWJmMTMxYzMyM2E4ZSBsZWdhY3ktdHJ1bmsKKzkzMjQgNTk5ZWVhOTMwODQzYzE0Y2YyYmJkOTM0ODg3MTQ4NDQ4MzcwNGYzZSBsZWdhY3ktdHJ1bmsKKzkzMjUgOWRlZDRmOWUwMTllZDBhMWU1YzZlYWYxNzQyYzFhMzA2MTVkYjMyNSBsZWdhY3ktdHJ1bmsKKzkzMjYgOGFkYjM1MzI5YWYwMjRkOTUzN2IzMWVkMDdiMjNjZTYwZjg2MDlmMSBsZWdhY3ktdHJ1bmsKKzkzMjcgNTFmOGQ0ZGE4MWU0YjA3Nzk4NjE4ZWVjZDY0NjVlOGRjYmZjNTA1YSBsZWdhY3ktdHJ1bmsKKzkzMjggNTJmZDgyODE2NTYxNDViNWU3MzQ4Yzk1MTQ0YzQ3NTE4YzA3YWFkNyBsZWdhY3ktdHJ1bmsKKzkzMjkgZDNlNTE2ZWY5Y2QxMTIyZmQzMjcxZGZlYzhlODU0ZDk1OTM5ZDY2MiBsZWdhY3ktdHJ1bmsKKzkzMzAgYTQyM2UzZTBkYTQwMTBjYmQyNTY2NWIxYjJjYTQ5OWQ2MTEzZTk2OCBsZWdhY3ktdHJ1bmsKKzkzMzEgNjcyYTY1N2FiYmE4N2M5MGM1NWYwZTdhYzQzNjM4MTRkMTNiZDNkYyBsZWdhY3ktdHJ1bmsKKzkzMzIgZmQwN2Q1MDNhMzNjNWU1NmUxY2JmYzE5MDczYWFkZTRkOTBhY2I0YSBsZWdhY3ktdHJ1bmsKKzkzMzMgMWFiMzA3OTUxZjRlZDA4ODE1NjI1MGFkMWJmNzNhZmJhMDQ4YjRmOSBsZWdhY3ktdHJ1bmsKKzkzMzQgOTI3NGZhYjJjNWYyMGY1YjcyMDVlM2ZjYTkzNDMwYmMxOTk3MjUxOSBsZWdhY3ktdHJ1bmsKKzkzMzUgNjdjMTBkOTg5MDhkMmJlYjc3MTRlZjQxYjhkYTA1OWMyYTcwMTVhZSBsZWdhY3ktdHJ1bmsKKzkzMzYgNjFkOTczZWI0MTAyY2JmZDE5N2EwNWM3MDIyNmRhZWY3NjAzM2QwMCBsZWdhY3ktdHJ1bmsKKzkzMzcgNTFjOTMwMDc5NTE0NzUwMDQ0OTY3ZTE0NTI5OTEwYTIxMWQxOWE0MSBsZWdhY3ktdHJ1bmsKKzkzMzggOWYxZDNlZWI3ODRiOTMyNTkyZDlkYTAzMzQxZTQ3YmE0YmIwMTExZiBsZWdhY3ktdHJ1bmsKKzkzMzkgNzQ0Yjg5OTQxNDhhZTMyYzBlYjc3MGEyYWE4OWI5ZGMxMmI2OTQ4MiBsZWdhY3ktdHJ1bmsKKzkzNDAgYzViZmIxZGU2MWE1YjcwNDE5ZGNkMzRmN2RmYzIwYTRiMmZiODU3ZSBsZWdhY3ktdHJ1bmsKKzkzNDEgMzIwMjAwNWE3MjBiNDk3NTcwYWE4MGUyZGZmYzE4OWFkZmI1NjFlYSBsZWdhY3ktdHJ1bmsKKzkzNDIgMmRlMzk4ZjM3MGU4NmUxNmRkNTE0NDhlNWUxNDQ2MmQ3ZDUxYTNhMCBsZWdhY3ktdHJ1bmsKKzkzNDMgYzhjZGUxNWRkOGNlNGM2NTI3YzJmMDNjNmY4NWMxZGE1NDc0OTU5NSBsZWdhY3ktdHJ1bmsKKzkzNDQgMGMzZWZkZjI4MTMzMGJlYTNkYmNmN2QzYjg0YjVhNTEwOTU5MmI5MiBsZWdhY3ktdHJ1bmsKKzkzNDUgODFkZmRmNjU4OWY4Y2U3OTMyY2JjYWI1NjJhMDcwMTkzNzE1MDY1OSBsZWdhY3ktdHJ1bmsKKzkzNDYgMmY3NTNmNTQwZjQ1ZjQ5OTAxZTRlMWM4MjI3MjNjMTMzYjg0ZDI3OSBsZWdhY3ktdHJ1bmsKKzkzNDcgMjc4YWFjZjAxNzA3MTMwNDhkZjBlZmQ5ZTZiNzQ0NzUzNDJjN2MxMyBsZWdhY3ktdHJ1bmsKKzkzNDggMTkwMjkzOGU0MmM2MjA2NDUwODI0YmYzYWEzOTM1ODk1M2VjMThiNiBsZWdhY3ktdHJ1bmsKKzkzNDkgNzkzNzVmNzFkNmM4MzgyMjZjMDJlNGJlYzE4NzY0MDNhMzU2NTFlMSBsZWdhY3ktdHJ1bmsKKzkzNTAgMmQ5N2ZiMWQwNmNhMTQ0Yzc4YWZjZmVkMGU3NzRjMmFiOWI5NWM0YiBsZWdhY3ktdHJ1bmsKKzkzNTEgOWJlN2YxZTM3NTM1OTQ1OTcyZTM5M2MwZGQzZTlkOTNmMGVjZWFlMyBsZWdhY3ktdHJ1bmsKKzkzNTIgNmFlM2M5MWYyZDkzODM0MWY4MTI1OWU4NGVlOTExODhjNTBlM2E5MiBsZWdhY3ktdHJ1bmsKKzkzNTMgZDAzZjJlMmZiZjM2NjZkYWMyNmJlZTYzYTM1NDQ0YjRlM2Y4NmQ4ZSBsZWdhY3ktdHJ1bmsKKzkzNTQgNGUyY2M1MDQ0ZmE1MTNmMWExOGZlY2Q0ZTA1YmM5YjUyNDc3ODFlMCBsZWdhY3ktdHJ1bmsKKzkzNTUgNTgwOWVmMTU3Y2RkYjRlOGZiZjFjN2I0NTM1ZTUwNjU2MzIxODY5OCBsZWdhY3ktdHJ1bmsKKzkzNTYgZTI4NWExNWYzYTkyZWEwYTdmYWU1NTk3MWU0NmQ5MTNhMWE5Y2M3ZSBsZWdhY3ktdHJ1bmsKKzkzNTcgZWEyMThkY2Y3MjdkZDE1MWU5NTU2Y2M2OGJlNGVkNWIwZmRlMDJhMiBsZWdhY3ktdHJ1bmsKKzkzNTggYzQ2ZDg3OTIzMzE3YzM5YzRjMTE1MDllNGE0NTJiNmMxMjI0NDAxOSBsZWdhY3ktdHJ1bmsKKzkzNTkgMzhmOGE4MjhhYzU4ZDNlMzBhMmFiYmFkMWQ5OTYyZGYzMGM3MTcwYyBsZWdhY3ktdHJ1bmsKKzkzNjAgM2MxMmMwZDY5ZTEyMzAyZTRlZWJhYjkzZWRhNDQxMDM5MzBhMjM2YiBsZWdhY3ktdHJ1bmsKKzkzNjEgYmFmNjg2YmY4Y2EwYjY0MTRjNDEyZjE4OTNlODM2YTJmNmU5NTBlNSBsZWdhY3ktdHJ1bmsKKzkzNjIgNTk4ZDJmZmJmZDhiNTYyMjJhMGNjMDljMDUwZGM0NjA4NzI0M2U0MCBsZWdhY3ktdHJ1bmsKKzkzNjMgZThkMzIyMDkyMTdhOWQyNTk0OWY4ODcwYjUzYzk5MWE0MjdhMWJiZCBsZWdhY3ktdHJ1bmsKKzkzNjQgYjdkOGNjYjQ1NzQ2MzMyNWM5YzA5NTc5YzJlMjVjM2U4NTAwZmI2YSBsZWdhY3ktdHJ1bmsKKzkzNjUgOTEzMzQ1ZDU0ZjMwNmM1YzNiYzZjNDE4YTc2N2NiNDFjYmE4YjYzMyBsZWdhY3ktdHJ1bmsKKzkzNjYgZThmOTk3ODg3YzJkNWUzMjFiZjEzNjlhMDNlMTc3NDkwZDA4MWMzYyBsZWdhY3ktdHJ1bmsKKzkzNjcgYzdiYWI3M2U2M2M2ZTc0MTg5NzY1ZmYzMGJmZDQ1YTQxN2YxMWM1YyBsZWdhY3ktdHJ1bmsKKzkzNjggMWZmOWEzMGY4MjZhNDVhZDgxMGMxNDk1ZTBiMzM3YzNiYTQyMTg3MSBsZWdhY3ktdHJ1bmsKKzkzNjkgMDQ3YWJjYmYzZjQzMjU1N2M1YTM3OTU2MmNjZDI5MjJkYjUwOWU2MiBsZWdhY3ktdHJ1bmsKKzkzNzAgNWQyMDVmMjJhYjYxODYzYWE3OGE4ZDg5ZGYwZDA3Zjg1ZjE0MWI4OCBsZWdhY3ktdHJ1bmsKKzkzNzEgZDJlZjc5NGQ5YzExNmRkZjA4ZDYxMTZiM2Y1ODU0ZjM3MTM3ZDE1NyBsZWdhY3ktdHJ1bmsKKzkzNzIgMDVlMjY3YWVkODZlYmI1MTA3NzU4ODU2N2E4OTYxYTMxN2Y2NWJjZSBsZWdhY3ktdHJ1bmsKKzkzNzMgZDk0OWEzNWNhZTIwYzgzYTJmM2YwZWQ2MTdjMGRjODNjOGQyNWNjNyBsZWdhY3ktdHJ1bmsKKzkzNzQgZTcwYzRhZjE1N2Q1NDM1NGQyODhiMjgwMDI3NWI5ODFjYTI2OTg3ZCBsZWdhY3ktdHJ1bmsKKzkzNzUgNmZlNmE5YzE0NDk5MmYxMTNmMzNmMzhlNDcyNDU2ODcyMzJkNDQ5NiBsZWdhY3ktdHJ1bmsKKzkzNzYgMzdlZTE4NzExYzNjMzgxODQxMTg5OWExOWEwZjFlZDZjMGNiYzNhOSBsZWdhY3ktdHJ1bmsKKzkzNzcgMjE0ZjNjNGY1NDg5MmVjN2M4ZDVjYTU2Yzk3NjUyMmZhMDEzMjEwMiBsZWdhY3ktdHJ1bmsKKzkzNzggMjQ0MzdkOGQwZGRjM2I0NWIzMGQ0Mzc2MjIyYjE2NDY5NDI2ZTYzNCBsZWdhY3ktdHJ1bmsKKzkzNzkgYWRiMzAwY2JkNTY2ODBkMDEyMjQyZmE5OTM5NzZjZTEyZmI0NGE2MyBsZWdhY3ktdHJ1bmsKKzkzODAgMjUyMmM4Zjg2MTViZDUzMjljYzZmOTg0N2VmNzhiZjljY2MxY2M2YyBsZWdhY3ktdHJ1bmsKKzkzODEgZTIwN2JlYjVhMzYyOWJkMGNkOTUzYzgxYWM0OWJiZjUyZDNmYmZjOCBsZWdhY3ktdHJ1bmsKKzkzODIgOWNiMmYxMGIwNDI5OGVmYTBlMTRmMmJiMGQwZDdhNzY0MTYxZTNhYyBsZWdhY3ktdHJ1bmsKKzkzODMgN2I1NGY5NmFmM2JlZmEwM2MyYTk5MjQyYTliZTY1ZjBlZGM3OTFmZSBsZWdhY3ktdHJ1bmsKKzkzODQgODBhYjYwMzBiOTA0ZGM5MjllYTY4YTVjODg1MjgyN2YxOTZkZDMzYyBsZWdhY3ktdHJ1bmsKKzkzODUgOWVjNmUwYThmMzUzZmQyYmU2YWM1YTZlYTBiODY4YTZkODRmNWU5ZSBsZWdhY3ktdHJ1bmsKKzkzODYgZTRjZDMwZTQ1MzcxY2UwYTljNmExYjdlNGM2YjgyNmQyMGJhNTJkZiBsZWdhY3ktdHJ1bmsKKzkzODcgMzU0N2ZkZWFiNGRmYWM4YWY5MjcxOTkwOTI4NjAyMTdiNDVmNzQ4NSBsZWdhY3ktdHJ1bmsKKzkzODggZjU5NWU3ZmMyYmQ5ZWE1MmNlYzMzYjQ0MGRhMzc2NmJmYzg1ZGU4MiBsZWdhY3ktdHJ1bmsKKzkzODkgMmM0OWMwMmNmNzQ3NGFiMzlhOGUzMWU4NmZiY2FiYjUwNzFhYzY1MyBsZWdhY3ktdHJ1bmsKKzkzOTAgZjI2NmFiOTFhOTkwZDAwYTMyZTBiZTEzMzNjNTY4YWRjYzk4N2Q3OCBsZWdhY3ktdHJ1bmsKKzkzOTEgM2NmZjQ0NWJkMTBmZmE5NzExNWI2MWRjZmNiNzdhNTIzNzlkYmJiYSBsZWdhY3ktdHJ1bmsKKzkzOTIgMDM1ZTc5NmI4OTBlZDYyNjM5NTAzMDFlMDI2YWIzYTZjNDk2ZmNhZCBsZWdhY3ktdHJ1bmsKKzkzOTMgMGQ1MWIzYjY2MGQxMjkzZWRiZTgzMzY2OWI2OWIyYjFlZjVmYzQzMCBsZWdhY3ktdHJ1bmsKKzkzOTQgYjlhMzk1MDExMmFlYTU5MjBhZTY2NzkxNjM4MTEzZDMzNDAwMzQ0NSBsZWdhY3ktdHJ1bmsKKzkzOTUgOGRmYmVlY2MyNDIyYjc5OTE3NTNiYzkzMDI2MzA5Njk3NjExOTE4YSBsZWdhY3ktdHJ1bmsKKzkzOTYgOTUwZDA1MTliNWZlOWU5OWExM2YwOTVhZGYxYzZlMGEyN2EwMWFlOSBsZWdhY3ktdHJ1bmsKKzkzOTcgMTAwMjljOGM0MGUwZGM1NWMyNWU0NDBjNjI4NmZjN2Q5Njk2YjQyNCBsZWdhY3ktdHJ1bmsKKzkzOTggYWZiMWU4YWY3ZTRmOGFiYzJmZDY0YTg4YzVkZWEwOGM2NWRhMWViNSBsZWdhY3ktdHJ1bmsKKzkzOTkgMjM2ZWE5M2M1NmZmNzhiNzViODhkODVkN2QwMmI4OTgzMzJlNDBiYyBsZWdhY3ktdHJ1bmsKKzk0MDAgNzYyOWM0ZDk4NWJjM2VkZTNlMWZkODBlNWZiMjA3MmVlNDM4ZGJmYyBsZWdhY3ktdHJ1bmsKKzk0MDEgNzRhZDI2ODI1MDYwOGE5M2RhZGNmNGNhNWQyZThmODFhYzQwNDg2ZCBsZWdhY3ktdHJ1bmsKKzk0MDIgY2YzMTdhOWM0OTliYmZmNjE1NTI1NWIxYjQyNGYzOGRlY2QzOWMzMyBsZWdhY3ktdHJ1bmsKKzk0MDMgM2RiMjRiNGQ5YzQyMjc1YmQ5ZDMwZDk3ZWIzOGQ3M2VjODhiNjZkNSBsZWdhY3ktdHJ1bmsKKzk0MDQgOGM5MmVjOGY2MDM4YTc1MDcwZTJlYTI5N2MxY2EwNTQ4YzVkZDZjMSBsZWdhY3ktdHJ1bmsKKzk0MDUgNTIxMjVjZTM3NmE0MmU0MjEyODEyZGM5ZjM5ZTJmMzVjNjFjZTQ0YSBsZWdhY3ktdHJ1bmsKKzk0MDYgYjlkOWM1M2YxZTFkZjUxMjMwYmI4NmM0ZWY3ZmI0MDQwZWZlMWM1OCBsZWdhY3ktdHJ1bmsKKzk0MDcgNzQwMjRlOTA3YzYwZDYwNTQ2YTY2YjkxZGIxM2VlODI3ZmQ0MzJhMiBsZWdhY3ktdHJ1bmsKKzk0MDggNzc0NGJmMWU0ODViNjVmMWM1YzY1YTUyMzdmMzlkM2I1YWE3MGI1MCBsZWdhY3ktdHJ1bmsKKzk0MDkgNDA5MWIwNGY5M2FkZjAxODc1NjNlNGY4NjQ0ZGIzMDNhZjQyY2EwMyBsZWdhY3ktdHJ1bmsKKzk0MTAgYzViOTM5YjVhOWUwMmQ2ZDgzM2UzZDI5NTMwNDkyNWQ5ZTE5YTJiMiBsZWdhY3ktdHJ1bmsKKzk0MTEgYTcyZGM1MmI5N2FkZDQ2MWMzOWU3YjM4ZTNiNDczZjI2MWNmMTg2OCBsZWdhY3ktdHJ1bmsKKzk0MTIgNjgzYmMzNWFiNzUzYWY3OGI3YmIwOTBlODAzZmU1N2MzYzgwY2QzYiBsZWdhY3ktdHJ1bmsKKzk0MTMgNmI2ZWY5MDkyMzhlMDVjZDBkNzA3OGM5Y2Y5YjlhZjQ0ZDkyYzcxZiBsZWdhY3ktdHJ1bmsKKzk0MTQgNDU1Y2JhYjRhOWJlN2Q2NTQ2M2Q3ZjEwMmNmZmIyNTMyMTMyYzUwNCBsZWdhY3ktdHJ1bmsKKzk0MTUgZTNjOGMzNDBhOTkwYzhjZGZhZTAwMmYzODAzYzkzN2ViYmQwMDNlOCBsZWdhY3ktdHJ1bmsKKzk0MTYgYjNiMGFkNDcxMmFkMGY4NGEzMmZlZmVlMjE5MmE1YmFiMDMwYmNlMSBsZWdhY3ktdHJ1bmsKKzk0MTcgZGMzYzljMDRlZjA3YjkzM2E0MDNhMWZkM2NhM2RkNDk2Y2ZhMTY5MSBsZWdhY3ktdHJ1bmsKKzk0MTggMWRhZmFkMzA3MDA2NmI5OTFhNzZlMzc1N2RmNTEyYzdhMDhlNDllZSBsZWdhY3ktdHJ1bmsKKzk0MTkgOTEwNDc4NGFmMTU5MDhhY2Q3MjA1YTI5MjE5MDkyOTQyMWEyMTZkYyBsZWdhY3ktdHJ1bmsKKzk0MjAgMDYyOTFmMDRiYTljMzhjYTllMjAyNGZiM2I2MmY5Y2JhNzg1MGE5ZCBsZWdhY3ktdHJ1bmsKKzk0MjEgMGMxY2MyZDZjNGYwMWRjNGUxNDBkZDZmZDMwNDBjMTZhMGU3YTBiYiBsZWdhY3ktdHJ1bmsKKzk0MjIgZmViYTNkOWEzMGM3MjAwYThhMjBjYzE2MWIyMWFkMzBhZDk1ZDY0ZiBsZWdhY3ktdHJ1bmsKKzk0MjMgZjE0ZTQ0NTlmYjk0ZGJjN2Q5ZDNmNTFmYTZkNmU4MWUxYjQ1MGExYyBsZWdhY3ktdHJ1bmsKKzk0MjQgNWVmNDcwMDcxOWRlOWEyMjZiMWQ2MTEyMjI3ZWExZDgwZTAxOTY0ZSBsZWdhY3ktdHJ1bmsKKzk0MjUgZTdiZjU0NTNhNmZmNGZmNzY0ODJmMjQxZThlMjQ0Y2U1NDAxZTdiZSBsZWdhY3ktdHJ1bmsKKzk0MjYgODAwY2IyMzRmNjc2ZjFhYjAzZTY4NjcyZDc1MDk1OTVmMDU4NzZmMSBsZWdhY3ktdHJ1bmsKKzk0MjcgNmUwZWRkZmE0MDRhNzE3MDkxZmNmOWQ1ZDMxZDZlNGYyNzNlZWVjNCBsZWdhY3ktdHJ1bmsKKzk0MjggMzkxMmVmYTViZmNhMjY2M2U2NThmYmMyNjI2YzBjZTE1YmExZTJlNiBsZWdhY3ktdHJ1bmsKKzk0MjkgYzhhZDlkYzhhZTFlYmY2OWMyMTMwOGY2Y2NmNGRkODIxOGQ2YTNmZSBsZWdhY3ktdHJ1bmsKKzk0MzAgMTE0NGE5ZWQ5OGQ2YWIzODJkOWM0YzhiOWQyODI3MDA2NzU0ODIzMCBsZWdhY3ktdHJ1bmsKKzk0MzEgZGMwNzM5Mzc5NzE0OTg4MTE1ZTljOTk0NzUyNzhhMGI1YmZjYjVkOSBsZWdhY3ktdHJ1bmsKKzk0MzIgOTY0MmEyOGRmMmIxNGI3Nzg3OGRkZWRlMTI2YzQxNmNkNWI0MjAwYiBsZWdhY3ktdHJ1bmsKKzk0MzMgMzg0OTNiOTM3NmVhZTE4MWIzYTA2Mjk0NmQwNjRlYTUyNTI1Zjg4MyBsZWdhY3ktdHJ1bmsKKzk0MzQgOTc1NGIyMjMzNTgwOTFjYzY3YmU0NWE1NTBhYzEwMWQyMTk2NzcxMyBsZWdhY3ktdHJ1bmsKKzk0MzUgZGY1YjU2YTVhZmNmZDYzMjRmZWQyYzQ1YThkM2ZhNmZlOGQzYzFlMyBsZWdhY3ktdHJ1bmsKKzk0MzYgMTM5YWQzMWZmOGZkNWI5ODZiOGMwODNmOWE2YjM1ZjdmNjQxMDY5ZiBsZWdhY3ktdHJ1bmsKKzk0MzcgZmVkYmY5MzI1MTkwYjhhNmE2MDMwNmI5MjE4NGUxNGZkNDQxNGMxYyBsZWdhY3ktdHJ1bmsKKzk0MzggMzE5YTUxYzM4MWNlZTRmOGE0ZmQ5ZGMxNGE1NWM2Y2FjNjZmODM1OSBsZWdhY3ktdHJ1bmsKKzk0MzkgYzU4NzRmNmY1NDMxZjI5NGI5ZmM1YWZhM2I5M2Q4ZTc0YTI3OWY3NSBsZWdhY3ktdHJ1bmsKKzk0NDAgNDg0YTFjNjhjNTU4OTU2YWVhZjFhYzk3YWE1ZjhkNDk3YjBiY2QzMSBsZWdhY3ktdHJ1bmsKKzk0NDEgMTBmMjkyMWEwOTFlNzE0YWM3N2ZjZjJiMWZiMWViM2NjMTlkOTNiMSBsZWdhY3ktdHJ1bmsKKzk0NDIgMzNiZTdkNWQ0OThiNjA3MmI3MmFiMGE3MDEyMTRiMDYyMWZiMmVlMCBsZWdhY3ktdHJ1bmsKKzk0NDMgZGNlODM4Y2Q0MmMxODA5ZDcxMzUyNzg2YWUyZGJjNTExMGVkM2Q5NCBsZWdhY3ktdHJ1bmsKKzk0NDQgZWVkNjMwNDlkZjk1OTU1YTk5NTdjYjY1ZWQ0ZGNmNWE5Y2E3YjAzYSBsZWdhY3ktdHJ1bmsKKzk0NDUgNzQ0ZTJiNjhmM2I2ZDk0MGJiZjI1MTExODVjMTk3NGNmOTlhMmRhMCBsZWdhY3ktdHJ1bmsKKzk0NDYgMzFlY2E2NDhmN2ZmZWFmMWQyYzY0MTM0ZmYzN2VmMDE5ZmJmM2VlYSBsZWdhY3ktdHJ1bmsKKzk0NDcgNDkyYzZkYjE2MGFjOTllM2U4ZmYyNTcyZWJhOTJiODk3MDgxOWU3NyBsZWdhY3ktdHJ1bmsKKzk0NDggZTVhZmY0MTAzNmYzZDY1OTA2MGUyZmZiZjFmZDlhNjRmMWQ3YTY3MiBsZWdhY3ktdHJ1bmsKKzk0NDkgYmMxMjVmMGQyYzVkMGYxNDE0ZDA0ODgzNTk2N2UwZGUxZDY1ZThmNyBsZWdhY3ktdHJ1bmsKKzk0NTAgYTY5MjllNzQxN2RkNjJjNzc0MTU4ODE1YjU4YjBmZWVmNmFmZTQ2ZiBsZWdhY3ktdHJ1bmsKKzk0NTEgYmJhZDJjNjg0YWQ3MmJjZTVmMTM0NGRmYzRiMmQ2N2E4NjdkYmNjYiBsZWdhY3ktdHJ1bmsKKzk0NTIgMjNiMjdiMGIyMzViMzE1NTJkNTdlZjhlMzNiY2FlNDg3Njk2YWVjOSBsZWdhY3ktdHJ1bmsKKzk0NTMgODBiMWUyN2YyMGQ0OWNlMTE5NTg4NTM1MjNmNWJlNmI5YmYxMmU0MiBsZWdhY3ktdHJ1bmsKKzk0NTQgY2RhNzIwYjE5MTlkZmU1MjJhY2I5MGJhY2FiM2ZjNWVjODc3NzM1OSBsZWdhY3ktdHJ1bmsKKzk0NTUgYTU2ODZlNzU2ODVmMmQzZGViNTZkNTU3MTJlYzM4YmViMWM2MjAyMiBsZWdhY3ktdHJ1bmsKKzk0NTYgMmYyZWZiOGZhNTRmZjNjNjNhMmNlMWExNjdhM2Y5MWJjNThlM2I1ZCBsZWdhY3ktdHJ1bmsKKzk0NTcgNzY4OGYzMTA2YWU0NDFjMmNiNzg3MzJkMmQ2ZDVhMDMzM2FkZjk0OSBsZWdhY3ktdHJ1bmsKKzk0NTggY2ZhZDRiMDI5NjQ1ZTlhN2NiM2RhZGViOGVkMzA0OTJmMjBkYWY0ZCBsZWdhY3ktdHJ1bmsKKzk0NTkgYjcwYmE0ZGI3NjdlMDk3NDBmNWQxY2E3YzA3ZWI4OTJmMWE4ZTE0OSBsZWdhY3ktdHJ1bmsKKzk0NjAgZjMzNjQ3MDhjMDllMDc5MDEwYjZhMTdlNmQwMjA4NjI0MmNkNzgyNyBsZWdhY3ktdHJ1bmsKKzk0NjEgZmZjYWY3YWZkNWQ5ZTNlOTAxZmQ4ZGJkNWJjZWY0ZTE0OTNjM2E0NCBsZWdhY3ktdHJ1bmsKKzk0NjIgZjVmZDIzOWIxNzhhZDAwOGE2ODFiNDFkYmY1MDZkMzc0NjFjN2I2OCBsZWdhY3ktdHJ1bmsKKzk0NjMgZDRlOWFjNzU3ZTVjMDdmZjU5YzZiMzg3Y2QyYzQyNWQxYTYzNmMzNyBsZWdhY3ktdHJ1bmsKKzk0NjQgNjM4ZDg3N2VhOTk1ODM1MzM2YzA4ODhiMTNhMzIyNjAzMjY0OWZjMCBsZWdhY3ktdHJ1bmsKKzk0NjUgMWE0MTQxNThlYjY2NWIxMTBjZDRhNjg3MmVkM2JhYjVhMDQzMGVkMSBsZWdhY3ktdHJ1bmsKKzk0NjYgMmU5MWZjNzFjYmI1MDE5ODM0NzI5MWJiNzM0ZDc5ODNmNDVjYzgzYiBsZWdhY3ktdHJ1bmsKKzk0NjcgZmUxMDhhNGJiOGQ1OGRhYWNmODdjN2RiM2YxY2I5MmM1MjcwNTE0NiBsZWdhY3ktdHJ1bmsKKzk0NjggYjI0NDVjOTNmMDNiODljMGEwNjg3ODgyODRiZWM5YWNiYzY2MGEwNiBsZWdhY3ktdHJ1bmsKKzk0NjkgZjM0OWJmMGU5MzIyNzZmYjY0YzE3NDczN2FhY2FjMmIyOGRhZDIxNiBsZWdhY3ktdHJ1bmsKKzk0NzAgZDAwNTE1ZjkyYjUzNGQxNGU1ZDA0NjczMTRiODEyNGFlZGNiODI1MiBsZWdhY3ktdHJ1bmsKKzk0NzEgOTg3YTgzMWFhZjIzNmFkZjU2MTFjNzk2OWU3Zjg4MWJjZDM4MjY0YiBsZWdhY3ktdHJ1bmsKKzk0NzIgNjBjY2ZhOTY1NmFjZjBiNTIzNTRhMWMxNWQ3YzNmNGI4NjllYmIzMCBsZWdhY3ktdHJ1bmsKKzk0NzMgZWJjZjYwNGNjZWUwNTExMjlmYmFhZTZmMjYyMGRiYzRhYTBkZWUwNSBsZWdhY3ktdHJ1bmsKKzk0NzQgNjkxMTI5OTBkOGUyNDhiOWYzYmI4MGY1ZGVmMDAyN2U5ZjhmMmU1MyBsZWdhY3ktdHJ1bmsKKzk0NzUgZmExOTQzMGZlYzRlNDlmYTMxZTUwMGZiYzI5N2MxMWFmMWRkZDE3ZiBsZWdhY3ktdHJ1bmsKKzk0NzYgOGFkMTdlNGNjZDliYTg5OTNmYjdlYjUxMTczNWNmMGRjN2RjNjNmZCBsZWdhY3ktdHJ1bmsKKzk0NzcgN2NlOWRhMDI5NjE5ZjU1YmM1MzE1ZjdiZDdiNmYxYThjOTkwYmM0ZiBsZWdhY3ktdHJ1bmsKKzk0NzggZjJhZjNjNjQ1NzEwMjRjZjc5MDExYzA1NmNkZmYyYjkwMzk5YWVhZiBsZWdhY3ktdHJ1bmsKKzk0NzkgZmViODBlYTU0ODg4ODdjZWU4NTUyOGIxOTc4MDgwY2ZlNmU1Nzg2ZiBsZWdhY3ktdHJ1bmsKKzk0ODAgZjBmOWIyZTRmNGNjMGM1MDlmODg0ZDhiM2ZkMzY3ZWYwOWMyYWE1MSBsZWdhY3ktdHJ1bmsKKzk0ODEgMjI0NDQzOWZhZmNmMDZjMWRmNjZmNGZhMzQ2NjZjNmYwNjk3MTk2OSBsZWdhY3ktdHJ1bmsKKzk0ODIgYTEwYzQ1MzkxMjdhMWNmMGMxMjIwZjlmMDNjNmRkZDRlNDg1ZTViYSBsZWdhY3ktdHJ1bmsKKzk0ODMgY2RlZWZmNGQ2Y2I0Y2Y3MjlhODgzYmIwN2I1MDFjMWY4ZjJiMTc5MSBsZWdhY3ktdHJ1bmsKKzk0ODQgOTc3M2QzOTQxYzk2ZTJkM2JlMjYzYjhlMGQ0YTc1ZDRhZDg1NGFlMyBsZWdhY3ktdHJ1bmsKKzk0ODUgNmYyYWI0YWZhOGY5NDc4N2MwNmZjZjBiZDBhZDhmMzdiNjRkOGFkOSBsZWdhY3ktdHJ1bmsKKzk0ODYgNGI4ODcxMTk4NWEyNTg5YzMyMThmZTU2MDUzOWY0YzVmMjMyMTgyNCBsZWdhY3ktdHJ1bmsKKzk0ODcgNDQ0YTZiMDdkYTQ2NTE2OGFhMjhkYjcxYTgyYzk4ZTgzMWExYmVkNSBsZWdhY3ktdHJ1bmsKKzk0ODggMGFiYTY0OWJkOWJiM2FjZDJjZjZiYTNiM2YyNDM4NGEwODMxZDk3NCBsZWdhY3ktdHJ1bmsKKzk0ODkgN2E4YzMwODE5NmQxNDY1NWM0MmYzMWI3ZTUyNDc1YTI4MzIwOTBiNiBsZWdhY3ktdHJ1bmsKKzk0OTAgMmRiMTZkMWRiZDg3Y2JhMDY4MzIzNjgwYTJlOGMyNWNiMzU2NGRlNyBsZWdhY3ktdHJ1bmsKKzk0OTEgYTVkZjAyYjZjN2E4MzA4MmI0NzJiOGZmMGI0ODczMWEwZjg5OTNlYSBsZWdhY3ktdHJ1bmsKKzk0OTIgYzc1ZDg5OWU2NjZmMTY4ZDdlNDdiMDA1YzE0NWQ2ZmMyNmQzNjNmMiBsZWdhY3ktdHJ1bmsKKzk0OTIgODQ0NjEwMTFhMWEwYWI0MDJlMzUyZjA2NzQ4ZjI5ZmI1YjU1NTllNSBsZWdhY3ktdHJ1bmsKKzk0OTQgZGM4NWFkMWJhMGUxNTYzYTNmZWJmMGE5MTRlMmNkYWZkYWMyZjgwNiBsZWdhY3ktdHJ1bmsKKzk0OTUgNTlhYTNlMWMxM2RjNTgyMWIxODI5Nzk2NjFiMzczMTBjMjMxYzM1NSBsZWdhY3ktdHJ1bmsKKzk0OTYgMGE5NTE0NzBiMWJmMzBmZmI5Y2YxZjk1ZTFhYzQ3N2EzYzY5NTMyZSBsZWdhY3ktdHJ1bmsKKzk0OTcgYWRhMTMxMWRhMjg2ZWQ2NDAwN2Y4YzgxZDI4NzdiMGZhM2MyMzcxNiBsZWdhY3ktdHJ1bmsKKzk0OTggMjYxYjExYjBjY2Q2NGRmMDRmN2RlMDgxNjA3Y2Y4OTA4ZTExZDYxMCBsZWdhY3ktdHJ1bmsKKzk0OTkgMzg0NGRlMmE3MDlmNTBjZDcxMjQ0YjFkOGYyNzIxMWQ2MjdlOTNjMSBsZWdhY3ktdHJ1bmsKKzk1MDAgYTY2ZGY1NTVmMDI1ZjJiOGE2MjFjNGRiOTJlMDI2NTQyZWIyMmY4ZiBsZWdhY3ktdHJ1bmsKKzk1MDEgY2NkNDcxYzdiODYzY2RlMjJlNGQzMjVhM2FhMzFkOWFjOWVmZDAwNyBsZWdhY3ktdHJ1bmsKKzk1MDIgZTE3ZmU3OTMwNWM3NDA2YjhjN2I5Y2MyOWVmZTQwZjkyODIwZTIyYiBsZWdhY3ktdHJ1bmsKKzk1MDMgYzVhMThmYzRmOTY2MTRiYjEyZGYzNGEzYjc0NmIzYzE2NGU3OTFhZiBsZWdhY3ktdHJ1bmsKKzk1MDQgNGQ2NDU5MDliODM0NTVkMjFiYWRmM2VlMTRiM2FmZGRkNTcxYWEyOSBsZWdhY3ktdHJ1bmsKKzk1MDUgOGRhMzVmMWM3MzkwMTBiYjhiZjRkM2NjMTdiYTJkMDUwY2EwMDg1MCBsZWdhY3ktdHJ1bmsKKzk1MDYgMzc5ZDFmZDQyZGJmMWY5MWY5MTIxZWVkOTFmNTgwYzA1MWE2NjcwYyBsZWdhY3ktdHJ1bmsKKzk1MDcgYTM2N2FhYTY1MDNjYmRlMmNhZTBkM2FmNzMxOGE3YzU1ZTVhYWE3NyBsZWdhY3ktdHJ1bmsKKzk1MDggMDVlMGU0OTkwMTRmMjk0ZWQ2MjNjZGVmMzUzM2VlMzg0MzkyYzRlZiBsZWdhY3ktdHJ1bmsKKzk1MDkgOGQxMWVjYzE3N2IyYjhjNTAzNGU0MzM0YjFiZGZmNGQ3ZjkzZmMzNCBsZWdhY3ktdHJ1bmsKKzk1MTAgZmE4NWE3ZmQ3NDBiYzYxYmIzOTkxYWVkZjY0MmU0ZmYyNmZlY2FhZSBsZWdhY3ktdHJ1bmsKKzk1MTEgNjE0NzQ1OWJmY2ZiOWEwZTY3Y2ZhNzJhMWM4ZGI4Zjk2ZWJkNTIwOCBsZWdhY3ktdHJ1bmsKKzk1MTIgZGRmNTJmMDFiYzBhNzZkNmQ3Yzk4MjZlZjY2ODcwMTg1MTZkMmEyNiBsZWdhY3ktdHJ1bmsKKzk1MTMgMzE2MTY3NDk5MDA1OTk2ODI1OWMxODNkOWYyNjQ5NzRlZmI2MTE0OSBsZWdhY3ktdHJ1bmsKKzk1MTQgZDBhOTcwMTRlZDQyZjAxZjYyNjEzM2VlM2E4NzEyMmU0MDgwMDQzYyBsZWdhY3ktdHJ1bmsKKzk1MTUgMjYxMmY5YWMzMWVkYTE3NzYyNzgzNGIzMTNjZjQ4ZjRiN2IxYjhjZCBsZWdhY3ktdHJ1bmsKKzk1MTYgNDljZTE4YTE2OTlmNGM2MjA4ODg3NmQxNmMyYjViYWY2YjVhMmQwMyBsZWdhY3ktdHJ1bmsKKzk1MTcgYWI0ZDYwNDgyMmQwYWNmMjU3ZjZhZjFhNWMzMzQ3ZDJkMjkyYjg3MyBsZWdhY3ktdHJ1bmsKKzk1MTggMWM5MjdlY2ZjYmIzYjE4ODBkOTNjOTAxMzVlZWIwN2UwZTQ0YWExOSBsZWdhY3ktdHJ1bmsKKzk1MTkgYTUyYTNlMjZlZGM0Y2U5NDE0ZWUxMjVmYmYzNDcwZDUyNWUwOTgzMCBsZWdhY3ktdHJ1bmsKKzk1MjAgODRlODcxZTIwMDg3YWVjZjg0NjIyY2RmNjQzODM0NzU3ZGZhZmNhYSBsZWdhY3ktdHJ1bmsKKzk1MjEgNzZlYWYzNjA0MGJlNTVjYWUyYmIxZGIzMDA0ZWJlMjY4OWFkZGVjOSBsZWdhY3ktdHJ1bmsKKzk1MjIgMjk3ZWE2NzkyNmViOTRhYTQ5NTY3ZGRhOTAwODY4NGIzN2Q1N2Y0MiBsZWdhY3ktdHJ1bmsKKzk1MjMgYWU2M2ZhM2NiMWM2ZjkxZjYzNjI3ZGVmMDRhMzY5OTNlZjkyN2ZhOCBsZWdhY3ktdHJ1bmsKKzk1MjQgYzRhNzhiOTI0ZGQ5YWM4ODY4M2E4ZGY3MDRhOTdkOWQxZDdkMTdhMSBsZWdhY3ktdHJ1bmsKKzk1MjUgOWZlMzM1ZDQ1NTk1NmNjYjg5ODE0ZmFhNmM2YTY2MmE4YjllMzY4NSBsZWdhY3ktdHJ1bmsKKzk1MjYgM2VjYTVmMzc1MDFhNzljMTAxMzMzZjU5OTFkMzlhZjQwOGUxN2ZlZiBsZWdhY3ktdHJ1bmsKKzk1MjcgYWVjZTUxMzYyYWRhYzVjMWFhMGUyYzc2ODc2MjY2M2EwOTZmNjhlNiBsZWdhY3ktdHJ1bmsKKzk1MjggOTBlZGNiMzhmYjAwM2YyNDNkNTc2ZWZiYjE2OTRiNThjZDE4MTEyNiBsZWdhY3ktdHJ1bmsKKzk1MjkgMWYyZjU1OTc3MzliYTFlYjcxZDBmNmYxOTFlNGUxMTYwZGIxOTc0YSBsZWdhY3ktdHJ1bmsKKzk1MzAgNTAyODgwYWY0NjU0ZTM3OWQ5ZjdlNTE3MDAyYWE1NjE5YTNjMjcyMSBsZWdhY3ktdHJ1bmsKKzk1MzEgZGIwZGQxMTc1NDFkNDZlODJhM2NjMGM2ODM4YWI3YTVkZGExY2NkMiBsZWdhY3ktdHJ1bmsKKzk1MzIgNDI1MzQ0MDk3NTBhMDRlYTExOWJmNmUyYjFkODRiOTRhNDhhYzczMSBsZWdhY3ktdHJ1bmsKKzk1MzMgZGYwNWI5YzRiZTdmMzc3MDUxNjgxNGRiNDIwYTlmZGY5MzA2YzJjOCBsZWdhY3ktdHJ1bmsKKzk1MzQgNTNlNTRhMTRmNDMyMzM5ZDgxNmI0OTllMGQwY2FjYjZiMjI0Mjc4NCBsZWdhY3ktdHJ1bmsKKzk1MzUgMDg5NmQzMmI2MGE0YjFjYzgwMmNmMjY3YTVhZDEyYjE2MWQyMTBjYSBsZWdhY3ktdHJ1bmsKKzk1MzYgZjJiMmE3ZWEyYTFlMzU1YzlmNDE5ZmM2ZDg2MGFjNzFhMjExY2I2NCBsZWdhY3ktdHJ1bmsKKzk1MzcgNmUzYjQ2OTVmZmFlMWNhZTAwN2ZjNDdmZWI4ODAyOGY3ZjllMDMyZCBsZWdhY3ktdHJ1bmsKKzk1MzggYzk1ZTYwZWFkNWUwNmExZTVlM2U5OTZmMmQ0MGRhY2I2N2Q0MmUzOSBsZWdhY3ktdHJ1bmsKKzk1MzkgMWQwYjkwMjg1MjNjNmViYjMxYjhjYWFmNDNkMzUwMTY4YjgxOTlmMiBsZWdhY3ktdHJ1bmsKKzk1NDAgNmI0ZjhhOTZlMWQ0NDRmNGZkNmE3NjQ3MmE2N2QxOTYzMDc0ZWFiZiBsZWdhY3ktdHJ1bmsKKzk1NDEgZTY4ZWViMzVkMDRkMWRiN2U3Y2JiMWJlNzJkMGE4ODg3OWIzYTcxYyBsZWdhY3ktdHJ1bmsKKzk1NDIgMGM3MDI2NDU3M2RiM2QzNTIxMzYxMGJlY2M1NTRjZDRhMDhlOTg1ZSBsZWdhY3ktdHJ1bmsKKzk1NDMgODg2NmM2OWIwYWZjOGRjNzkzMWI0YTUxOWY0MTA1NjVkNGM4MDhmZSBsZWdhY3ktdHJ1bmsKKzk1NDQgZmE0MjMwNjg1NzU3MmZmODUzYWEwMjk5NmJhNzBkOGRiZjRhM2VhNCBsZWdhY3ktdHJ1bmsKKzk1NDUgOTA2NTBiYmQ5ZGJiNmFjNTlmMzA3YjYyMGFkMjQ3YTU3MTlkZTc3MiBsZWdhY3ktdHJ1bmsKKzk1NDYgMmNkZjExYjJlZDliNDQxMGZhYmRlMTYwNDdkMmFkNjJkN2QxYmFjNiBsZWdhY3ktdHJ1bmsKKzk1NDcgMDBlNjEyNTYwNDkyYzZhYTM1YWU0MDViZGQyZGU3MDA3Yzc4Njc4OCBsZWdhY3ktdHJ1bmsKKzk1NDggNzVhMWFlYzZkOWIyY2QyNDM4ZDY5N2Q0ZGRkOGEyODc1YzgzNjFiZiBsZWdhY3ktdHJ1bmsKKzk1NDkgMDMxNGVjYmM1ZjVkNGUyNWJlNmVhYzc5MjQ0MjEyNTU2MmYxMWI0MiBsZWdhY3ktdHJ1bmsKKzk1NTAgNWMzNTNjNTIyYTQ4Mjc4MTQ4YjVlZmQ0YmM3YzgyY2I3NzhjYzBhMSBsZWdhY3ktdHJ1bmsKKzk1NTEgM2I1MTlhNmQyN2JiNWJlMmZlODBkZTM2Njk4YWE4YzI1NjQzMDEwMCBsZWdhY3ktdHJ1bmsKKzk1NTIgOGNkNTczYjcyZDRiNjEzY2FiMGUwZTNkZGM3YmFkZjE2NjhhMjVkNyBsZWdhY3ktdHJ1bmsKKzk1NTMgM2Q4YzFiOGY2MDk5MGU4NGMyMTVkMTE5MmNkMTUzMWJkZjUzYTE2YSBsZWdhY3ktdHJ1bmsKKzk1NTQgMmFlNDQxN2FjMzMwOWVlNjgyNTg3ZDBmZmFmMmNjODc5OTFhMTM5YSBsZWdhY3ktdHJ1bmsKKzk1NTUgYzFhZDM0YjNjMDY5OTUwZDQ3NGRhODkzMGE0NzU2ZmY1NDJmYzk2NSBsZWdhY3ktdHJ1bmsKKzk1NTYgMDMxNDU1MzQ4MmEyOWU3NDQzOGEyNTFiYzM2YmM2MjNiZmE2NjcxYyBsZWdhY3ktdHJ1bmsKKzk1NTcgMzIyZGNhNWVlMTQ1YmRjYjQ3ZGJkNDI0YTBiNTAxMDk4YWQ5ZjUxMyBsZWdhY3ktdHJ1bmsKKzk1NTggOTI0ZjhhMDExN2Q1ZmIwMTFkNWYzZTVhZDMxNzE5ZTM0M2Y5NjMyOSBsZWdhY3ktdHJ1bmsKKzk1NTkgMGJhYTJhYjQyZWU5MGNkZGFjNjZmMzMxMDJmNmJiODI3YWFkNTY5ZiBsZWdhY3ktdHJ1bmsKKzk1NjAgNDE5Yjg2YjA0YWU0ZDk4YjNlNmU2OGY5ZGEzNThmZTk1ODk5OTU1ZiBsZWdhY3ktdHJ1bmsKKzk1NjEgOTEzZTQ4YWFhYzc2MWVhYzQ1NDE0MmRkYTA2ZTg4YzBkOTc5ZTQ5YyBsZWdhY3ktdHJ1bmsKKzk1NjIgMGM2ODg3NzY1OTM5NTI0ZTQzODFjZGQyNDcyYTRmZjE4MWNjNGU2MCBsZWdhY3ktdHJ1bmsKKzk1NjMgOWIwNWMyMGM1Nzc2YTRmMjVjMzI5MTcxNGM3NDhlZmZiMjIzNjIzMiBsZWdhY3ktdHJ1bmsKKzk1NjQgZmNiMmUzZWU4OTk1OTU2YjgwNTc2YjU1ZTkwYTMzOTU3MDk1NzQxNSBsZWdhY3ktdHJ1bmsKKzk1NjUgYWI1MWRhMzQ3MzE2ZDRiZmFiNzRiMDVlMTEzMDQ1MDJkYjc0ZWI2YyBsZWdhY3ktdHJ1bmsKKzk1NjYgYTJlMDU0MDMyODk5YzYyNTg2YzA0MzZhYTlkMmExYzI0MWUxMjAzYSBsZWdhY3ktdHJ1bmsKKzk1NjcgMjliMTY4Njg3NWRhYTUxNTEzYzQxZGI2Mjg1YTIyMzY5OGJjMDZlZiBsZWdhY3ktdHJ1bmsKKzk1NjggOTY0NjBlZjMzZmRlZDdlZDEyZmQ3NWE4YTdiNTU2ZjRlMmZlNjFlMyBsZWdhY3ktdHJ1bmsKKzk1NjkgMmU4YmNkZTRjMjQ4ZmZiZTY5OTY3ZDc3MjM3NDdlYjFjZDg0NmE1MyBsZWdhY3ktdHJ1bmsKKzk1NzAgOGE1NTY0M2U2NjdmYTE3MmRkZDA1ZDI3NjEzZjM5OTJhOTAwM2IyZSBsZWdhY3ktdHJ1bmsKKzk1NzEgYWY4MjZiMjNmMDA2NDMwODM1ZTBhNzJjOWI2MTA5YTI4ZjUzNjJkMiBsZWdhY3ktdHJ1bmsKKzk1NzIgZTU1NDgwOTZiNDJhNWZiOTEyNmU4ZWI2MDY1ZjVlOWI4ZWY1Nzg5NyBsZWdhY3ktdHJ1bmsKKzk1NzMgYmMxOTc2ZmY2ZmZkMzBmYjM1MzQ3NDllODk3ODU5YTI3OTg3Y2FhNCBsZWdhY3ktdHJ1bmsKKzk1NzQgNWJiODg0NTI3NDQ2Zjk2NWQxZTIxOWFhZDYyYmNiNDEwMWMzYWQ0MCBsZWdhY3ktdHJ1bmsKKzk1NzUgMDBhODVhYjAzMzdmN2Y4N2NkZjYyNmQzYmRlZDUwODVjODQ0NWJmMCBsZWdhY3ktdHJ1bmsKKzk1NzYgMTY3NmZhZDdiNjNlNzUyOWQyZjE4YjUxOTllZjVhYjA5MzJiMWQ4YyBsZWdhY3ktdHJ1bmsKKzk1NzcgZjdmNTViYjZhM2IzMDgwZjJlMDhiYjI1MDEzYWJhOTlmM2RjZWQzMSBsZWdhY3ktdHJ1bmsKKzk1NzggODA4NDc5Zjg1YTI5YTNiMTE5ZWFmNWI1ZGNlN2FkOGRhZDllMzIxMSBsZWdhY3ktdHJ1bmsKKzk1NzkgMGRjMmZjYjA3NmFjYTViN2I0YTJmZDE1ZGQwM2M0YzA0NDc4ZTU5NCBsZWdhY3ktdHJ1bmsKKzk1ODAgZWZhYTAxZGVmZmQyZGIwNDIwZTNjOWFiNzhmZjZlNjNkMzY0OTRiMiBsZWdhY3ktdHJ1bmsKKzk1ODEgMmU1YTExNmU1NGVjZDVjY2UxZTQ3MDRjOTdlMzFmZTU4ZjQwNGExNiBsZWdhY3ktdHJ1bmsKKzk1ODIgZTcwNjFhYjI0ODUyMTVlNDRiYjQ3YWJlOTI4ZTYyN2EyOTU2ZjdjYyBsZWdhY3ktdHJ1bmsKKzk1ODMgMjhjN2Q1ZmNkM2FjOWRhMzFmNmE5MWY4YThkMmU3MWMxNjgxMWE2MyBsZWdhY3ktdHJ1bmsKKzk1ODQgMzE3NmRlYWNiNmQxZjBlYWE2NTAxMDY5ZTI5MzZkNzllYWE3Yjg4OSBsZWdhY3ktdHJ1bmsKKzk1ODUgNmM5MDBhZGIxZWMzYjE1YTEwM2MzYzhhMmI2YTY5MThjYzk1ZGI0NCBsZWdhY3ktdHJ1bmsKKzk1ODYgZWQ2MjU0ODA0NTYzNWU1OWJlYWYyN2VlNzY1ZThkZWJlMGFlYjA4YyBsZWdhY3ktdHJ1bmsKKzk1ODcgZjQzNjY3ODY2ZDVlNWU2MjFmYWQ1YTUwNzk3ZTg0MWY4ODRiMTI2OSBsZWdhY3ktdHJ1bmsKKzk1ODggMjgyMjM2OGMyNjZhM2YwOTk2ZDA2ZWJlMGRmOTAwNGY1N2E0OGYxYyBsZWdhY3ktdHJ1bmsKKzk1ODkgZjA2M2YxZWIyOTY0YmM0MzFhNzBjMjIwNmQ4NGRhYjYwOWQ4ODAyOCBsZWdhY3ktdHJ1bmsKKzk1OTAgZWNlNDEyM2UzNmVhMmNjOTliNWRlMzJjOTIxYmU3Yzc1MzExYmM0MSBsZWdhY3ktdHJ1bmsKKzk1OTEgZjVmMzA1ZDdhNjE3NTc0NGUyYzNkYzcxYTRmYWRkZjkwNzI2NjUwNSBsZWdhY3ktdHJ1bmsKKzk1OTIgZmEwOTM3MmY3ODcyZGJhYzQxMWJkNzViMjU3N2MzNjhiOGFmMmFjNiBsZWdhY3ktdHJ1bmsKKzk1OTMgZWE3ZGM1MTBlMmRmNTY5ZTg1YjA3MGNiYjExN2UwNjJjNzZmYzAwMCBsZWdhY3ktdHJ1bmsKKzk1OTQgNDE1MTRkMWVkNjY0ZTJhZmFjMWJkZjVkMzE1YTBlZmZjZGQzYmY4OSBsZWdhY3ktdHJ1bmsKKzk1OTUgNDE5ZGNhMmIzYTYxNzkwYjQzZWM1OWRjMWZhMzFhMWEzZDljZGE1MSBsZWdhY3ktdHJ1bmsKKzk1OTYgZTkxMDhlOTdhNWEwMTdlMDI3ZGYzM2NkYmZhNTU0M2U5MTQ4MjM4ZCBsZWdhY3ktdHJ1bmsKKzk1OTcgNTE2MTg5OTg0YjBjYTM5NGNlMmY0YmZiNWFlYmNiZWM1ODNkY2VkNiBsZWdhY3ktdHJ1bmsKKzk1OTggMGVmZWQ0ZDMzMjNiMTMwMmFjY2EwMzliZDcxNmU1Y2NmOGQyZTM2MyBsZWdhY3ktdHJ1bmsKKzk1OTkgYzg3NDVkMjA1MTIyNzE2YzllMTBkYjc5OWZiNmYxMmY5ZTY4NjQ4NCBsZWdhY3ktdHJ1bmsKKzk2MDAgNDFkNmRiOGUyNmRjMDMzOTNkZjg3YjQ5MjcyYzViMjQ5YmIzMjU2OSBsZWdhY3ktdHJ1bmsKKzk2MDEgNWQ1MTdkZGNiZDJlZjUxOTMzZThmMWZlNGNjMWM1ZDMyMzNlNTAzNyBsZWdhY3ktdHJ1bmsKKzk2MDIgYzAzN2QwMGIxZTJjYmE4OTg1Y2I2MzljMTA2N2IzZjY0NTU3ZjE3MCBsZWdhY3ktdHJ1bmsKKzk2MDMgZGU0YzgxYzA2OTk0MjliZWU0OTdmZDhiMWFkNzQ0ZjhjNjkzZDVmOSBsZWdhY3ktdHJ1bmsKKzk2MDQgZDJjMTEwYWNjNjBjMTY2MjYyOTU1NzBmN2Y2YTU5MzAzZjJjMzk5MCBsZWdhY3ktdHJ1bmsKKzk2MDUgMWM0YmFhZGE1NTllMjMwZDM0MjE2MTZhMmExZjZhOTljOWU3YjZiYSBsZWdhY3ktdHJ1bmsKKzk2MDYgZGU0ZGNhOWU0Nzc4Y2ZlZjk3YTlhOGNmMTc3OWQ3NjkwYWUzNGJiOCBsZWdhY3ktdHJ1bmsKKzk2MDcgOTczMTViZjA4ZmFkNjIzZDYyMDRkMDVlMDdiNzZkMzc2Njk5MDAxZCBsZWdhY3ktdHJ1bmsKKzk2MDggZTRjMzFkYzMwNjIzYzZkOGE4MTYwNzUwODEwODU2ZTNjZmYxNGEyMCBsZWdhY3ktdHJ1bmsKKzk2MDkgZGZkZWFjNWUxOGM2MjVhYWQ5OThhMGFjN2U2MDRiZjVkNWYwNzRlMiBsZWdhY3ktdHJ1bmsKKzk2MTAgOTZmYTY3NTNlOTU2Mjc5YjViNjllNTNjODZmMTYzNGZhNTI4NjQzZCBsZWdhY3ktdHJ1bmsKKzk2MTEgYmE4NDllNDhmOWNhZTIzOGM5MzNhYmFiMmM5NGE5Mzk2ZjBlNWI3MCBsZWdhY3ktdHJ1bmsKKzk2MTIgMzkzOWY5ZmY2NjVmOGZiZWEzNWRjYTU3NzFlOTk2NDMxODVkMDA0OSBsZWdhY3ktdHJ1bmsKKzk2MTMgZWZhMjI0MzNlODU1ZGE0ZjQ1NWIxZTVjMGM1NTM2ODcyNDVmNjdkNSBsZWdhY3ktdHJ1bmsKKzk2MTQgOTNmZmU2NDFhNTEyNzZmZjRkYTE3YzJmNTRhYzlkMWQ4ZDA5MmM4ZSBsZWdhY3ktdHJ1bmsKKzk2MTUgMTZhM2NkZDJmMWQxM2I4MjAwOThmMzBmM2Y1MTRkMTQ0MTcyYzYxOCBsZWdhY3ktdHJ1bmsKKzk2MTYgYmY5MWMwZTE2NWFhZGNmNWVmYjEwNjAxYjAzZWZiN2E2ZDUyNWQzZiBsZWdhY3ktdHJ1bmsKKzk2MTcgZGM4Njg3YjUzZGQwZjE3NjhhMDFiOTY4ZWQ5MjUzODQzYTc0NGFkNyBsZWdhY3ktdHJ1bmsKKzk2MTggZTdiZmVhNDFmNjE3ZTg4ZTg3NTZmYzE1YTQ4NzBmZWUzYTYwMmM1MyBsZWdhY3ktdHJ1bmsKKzk2MTkgYjgxZmI2N2Q5MDhkN2E5NzNjZTEwMjJkNmZmMDM0ZTgwMDk0N2IxYyBsZWdhY3ktdHJ1bmsKKzk2MjAgYWZmMWU3YjFmNTIzZDczMDViYzNlMTFkMzJjYTcwMjU0MTg4NTAwZCBsZWdhY3ktdHJ1bmsKKzk2MjEgM2YwYmU3ZGU3Y2E1Y2E1NGFjZmNhM2UxOTM0YzNkMzE4OTdhMTg0MyBsZWdhY3ktdHJ1bmsKKzk2MjIgNGVmNmE4M2IyZTYyNWUxNjM1OWNlZmExNTg5N2Y4ZWFhMTBhY2ZhNyBsZWdhY3ktdHJ1bmsKKzk2MjMgNjA3NDg0N2ZhZDFkZTQ5NzAyOGVhOTJkNGZkMGVjZjNhOGIyYzY0MiBsZWdhY3ktdHJ1bmsKKzk2MjQgNDllNGUzZjMwZTU4ODAyYmE2ZGFiMGVkMjUzZThmY2MwN2FhYzgzZSBsZWdhY3ktdHJ1bmsKKzk2MjUgNTEyOGM2MDcyYWE1MWJhNzE2YmM3ZmIzYmRkMDAyYTU4OWNkZDg2MCBsZWdhY3ktdHJ1bmsKKzk2MjYgZDQ4Yjk5ZDg1NjE3NDJkNWQ3N2M4NWRmNTU4MTI3ZThkNmJlZDliOCBsZWdhY3ktdHJ1bmsKKzk2MjcgN2VkYzMwZGY3M2Y2YTJjYjIwZTVhY2IyZTZlM2EwYzZjODU4ZTdmZiBsZWdhY3ktdHJ1bmsKKzk2MjggYjg2NDAyOWE1YmM1YzVkMDNhMDEzNTkzZjhjMjUwMzBiMTU2NzMyZCBsZWdhY3ktdHJ1bmsKKzk2MjkgZDMzOTk1NGVhNTdkODk4NzkzMWM0Njc4Y2I5YzE1NDU1NGJlODkwYiBsZWdhY3ktdHJ1bmsKKzk2MzAgZDM5YTgwNTg1MmMyMGFlOWM3ZWY4ZGY3YmJiOGRlZmViYzkyNzE3NyBsZWdhY3ktdHJ1bmsKKzk2MzEgYTc2OTBlZjVlMTU5MzdlMTAyODBlOTUzNGM0ZWYxYTI5YzMxNGMyNCBsZWdhY3ktdHJ1bmsKKzk2MzIgNzQ5MTZjOTZkZGI5NjUxNGY0NTJiZjQ0ZmZhOWEwMzgyMjJlOWZlYSBsZWdhY3ktdHJ1bmsKKzk2MzMgMzBhYjM5YzJiMTg2MmU0ZjBkZWMzYjhkNGVlNmVhYWFkZGI3MDc3MiBsZWdhY3ktdHJ1bmsKKzk2MzQgY2U2YWQxNzBjMGNlNzJlOTA2ZmU5N2IyZmNmZWRjNjlhOTFjOTMxMSBsZWdhY3ktdHJ1bmsKKzk2MzUgYTZmYTlmM2NhZDEzN2NhYTVmN2M1ZTJjNzlhOWI2NGI3YWQxZmFlZCBsZWdhY3ktdHJ1bmsKKzk2MzYgZmI3MWI5MmQxNDNhYTFlMTZiNWIwMjRjYTBhMWMxOGNkOTIxYzkwZCBsZWdhY3ktdHJ1bmsKKzk2MzcgNDlhMjBkMDBlMzRjZTVmNWM2ZGY3NTljMGZiNjE2NTFhNjI5OTQ0ZSBsZWdhY3ktdHJ1bmsKKzk2MzggYTY0YTQyM2Q2YjU0MGFhNjQ0NzExNzZmYzZjZGM2MWYwNzE5NGExYiBsZWdhY3ktdHJ1bmsKKzk2MzkgNWFiNzA4MTgxZmE2MjIzMmYwNjU0NmZhZGZmMmUwMjhhMTFmMmZkMiBsZWdhY3ktdHJ1bmsKKzk2NDAgOGZiNWZkMDc1YjJhYjEzMjAzODRiY2ZhYjAzZjUwZGU3NzI2ODhlOSBsZWdhY3ktdHJ1bmsKKzk2NDEgZTU2NDZlZWNlYWU4ODc5ZmMwYTNkYzUzZGRjNzcwOTUzNTgwM2JiNCBsZWdhY3ktdHJ1bmsKKzk2NDIgYzNiNWIxYzI1YzUxYzdmMTZjYzdhOGJhMDNlYzZiZjc1Zjc3MmVkMyBsZWdhY3ktdHJ1bmsKKzk2NDMgMGQ1YTlhMGU3ZDY0YTEyZTAyYmU3MDczNTcyNTgyZDNkZDJiNjYzYiBsZWdhY3ktdHJ1bmsKKzk2NDQgNjZjYjAwMzE3YWNlYmI2ZjU4MDMxOWEwZjNmZjU4MGIzZGY2MWQ3ZSBsZWdhY3ktdHJ1bmsKKzk2NDUgZTU4YzdiNTBlOWI5YzZiOTZkODkzM2M1ZjNkMjc2YjU2OTI1OGVkMCBsZWdhY3ktdHJ1bmsKKzk2NDYgMjEyNTk3YWY4MjliYmNhYmMxNzk3N2RjNTgzZThkMmI4NDUxZTUzMiBsZWdhY3ktdHJ1bmsKKzk2NDcgMzczZDc4MTE4MTEzYjhjZjRmODkwODY2MmUzMDNkYjU3N2YyZGMwNiBsZWdhY3ktdHJ1bmsKKzk2NDggYzVlNzY3ZTIyYmQxYzNlNjVkMzZiNjIzZmE4OWU0OTFjZDU4OGFlZSBsZWdhY3ktdHJ1bmsKKzk2NDkgY2U0NzY2ZmIzZjU2M2QxNzYzOGM5MWExYzQyNGIyNTU2YmI2NjU5MiBsZWdhY3ktdHJ1bmsKKzk2NTAgYjViMGMzMjRjZTU5ODc4ZmNhZWVhYTE1M2VmYTFkMDhiN2MzN2IwMCBsZWdhY3ktdHJ1bmsKKzk2NTEgMGE0ZTI5YTI4NjU1ZTQwNDMwZWNmMjRhODM5YTcxOGRkMmY3YTcyZiBsZWdhY3ktdHJ1bmsKKzk2NTIgZGM5YmI0N2IzNTUyOGQ3ZGYyNjdjY2EzZDYwMWY2MTMwNDNjZjQ1MSBsZWdhY3ktdHJ1bmsKKzk2NTMgYTI4YmY2MmFjMzM1YjVmMzA2YTNlZTU3ZWM5MmRhMjE3ZjhhNjFiMiBsZWdhY3ktdHJ1bmsKKzk2NTQgMGJkMTg1YzJlNTgxMDNlMWU4MGQwOTNmYzM4OGUyMmQ3MzRhZDdhMyBsZWdhY3ktdHJ1bmsKKzk2NTUgN2MwMDRmYzEwOTg3MzdhY2YwMTU5NDJlODdiYzY2NjNhZmZkODE0ZSBsZWdhY3ktdHJ1bmsKKzk2NTYgNDA5ODdiODZhMWM3NGZiODVjOTZmZDc5NzJlMzQ2YTA3YWNlNTU5MCBsZWdhY3ktdHJ1bmsKKzk2NTcgN2Q2MWZhOWI1N2E4YzU0MmE5NTZhZmFiMmExYjMwYzNiMzljZDJjMiBsZWdhY3ktdHJ1bmsKKzk2NTggM2E5NjBiMmUyNjY3N2MxYmM1YmU0YjRhNTE4OWIwZGQxNmVkOWVkMiBsZWdhY3ktdHJ1bmsKKzk2NTkgNGYxMGQyMzNmMWRjNmQzZDBiNDE2YmY5YWJjNjdhMTQ2NzMxNmQ3NiBsZWdhY3ktdHJ1bmsKKzk2NjAgNTkzNjJlYTdlMGY4YjQxMDY0ZDE5NTAwOWZiZWI5ZmQyNjcwNzU2OSBsZWdhY3ktdHJ1bmsKKzk2NjEgZGU1Y2I3ODllOWYwZjJmODdiOTkxYTdiZDhhZTk3NTdjOTg2OWNiNSBsZWdhY3ktdHJ1bmsKKzk2NjIgNmY3ODE5NWJmOGY2ODdmNzBlYzU4NjhhOWRmNjIxMWRhOWQzYTYyMSBsZWdhY3ktdHJ1bmsKKzk2NjMgYTU5NmJiZTcyNTc5ZDhiNWUzNGNmNDEzMTc5ZjM2ZjlmZjVkNzg0OSBsZWdhY3ktdHJ1bmsKKzk2NjQgNmU1ZWI4NDUyNDZjMDliZDliNDU0M2RmMGQ2MTU3NjRlYWNkYTc1YyBsZWdhY3ktdHJ1bmsKKzk2NjUgMmE5YmE1OWFiYzM4MmI3OWYxODI4ZDg0MzUzMjY1YTBmMDU1NGFjYSBsZWdhY3ktdHJ1bmsKKzk2NjYgZWU0YTFhMzBkN2NlOTI3YTc5NmE0NjMxZmFiNWJiMzc0N2U0ZTNjYSBsZWdhY3ktdHJ1bmsKKzk2NjcgZjNjYzhkNTNhYzgwM2RmMmFhMzBkMWIxZDM3NjdiMDg1N2ZkYzhjNCBsZWdhY3ktdHJ1bmsKKzk2NjggMWY5ZDk0MmYxNTZjYzkzMmZkZWY5MTMzNDU1YjJmODA0ZDBkMWZjMCBsZWdhY3ktdHJ1bmsKKzk2NjkgNzA1NGJlNWFkN2Y2NzQxYWY5YmIwNjU0N2YzOTlmZGM2OWY0ZGE0MSBsZWdhY3ktdHJ1bmsKKzk2NzAgYWY5OGI0MjE0MjRjYzM5YjhjNmE4Yjc0YWM2ZjZlOTRkZTQ2ZDlkMSBsZWdhY3ktdHJ1bmsKKzk2NzEgZTI3OTU3MmUyZGEyNTUxNjY3MTgyZWRhMjZhN2ZlNTA3M2Y4NTZiMiBsZWdhY3ktdHJ1bmsKKzk2NzIgYjAwOWE0YzI0MTg4ZDUyODNmYmViMDJjMzM1MzZhZDVmOGMzYWRjNSBsZWdhY3ktdHJ1bmsKKzk2NzMgYzEyM2E1YTU5Y2RlMjFkMGMxMjhhYTNkYTJlZGU5YTQwNjZmYTI3ZiBsZWdhY3ktdHJ1bmsKKzk2NzQgMzA5ZmZmZTc2OGE2MjQyMTg1NTI5MDA1MDdkNmQ3ZTQ1NmNmNzE2MyBsZWdhY3ktdHJ1bmsKKzk2NzUgMjZkMDc3MzViYTRhNWIyNjdhYmZjODcwZTYzZGY2ODk5ZmM1MWFhYSBsZWdhY3ktdHJ1bmsKKzk2NzYgNWNkMmY2OTliZjY5MTY2YWQ3YTVkNTlmMWVhNjVmYjUxOWJjN2Q2OCBsZWdhY3ktdHJ1bmsKKzk2NzcgZGIwMDdhMmNhN2I2MzY3NzM1MjFiNWJlZTNkZDcyOTJlNTRhOWVkNCBsZWdhY3ktdHJ1bmsKKzk2NzggOThhOWRhNTIwZjFkOGMxOWFiNWJkNGUyMDMzMjdmNGU4Y2NjNTIxMyBsZWdhY3ktdHJ1bmsKKzk2NzkgNzIwZTkxODM5NjFlZThhZGQ3NDAxMzIzYjljNWMwMTUzZGRmNTQ0OSBsZWdhY3ktdHJ1bmsKKzk2ODAgZmVkM2QyMDBmYjU2NWQyYWNlODAxYmM2MTEzNmE4YjM3ZmNiYzgxZSBsZWdhY3ktdHJ1bmsKKzk2ODEgOGMxMjlhNTY3ODY3Nzk1MmEzMDI4YzlhMGNkMGI4YTRiOWQ5YmU3ZSBsZWdhY3ktdHJ1bmsKKzk2ODIgNDhhYjY2ODc0YjExOTFjZGQ0NDNhMGUzMTMwZjAzOTlhZDA5ZTkyMiBsZWdhY3ktdHJ1bmsKKzk2ODMgMDlmZmFiMjczZWViNTY1YTc2MTk1OTRkOTA1OTY4NTJmZjRkOGUxZSBsZWdhY3ktdHJ1bmsKKzk2ODQgM2YyNTVhZWRmNjIxZTk1ZTI2NzI5ZjNmYmQwOTAyNGRiNzRhMjRhMSBsZWdhY3ktdHJ1bmsKKzk2ODUgMDZkYjEwYzc2ZGM5NTJlM2ZhMDE5NGQ4M2I0MGM0NzM5NzZiY2RiOSBsZWdhY3ktdHJ1bmsKKzk2ODYgY2UyNzFlNWY5YmM1YWM4OTdjMGI5YTRkODJjM2RhNzBlNTg2MTZiNSBsZWdhY3ktdHJ1bmsKKzk2ODcgYzlmZTM1YTgyOThhZDg1OTZhNjMxMWE3MGRhMjlkZGViNjdiYjMzYSBsZWdhY3ktdHJ1bmsKKzk2ODggYmNjZGVjYTgxNjY5Y2UzYmQzMDE0YTMwMzEwY2Y3MWY1MmZhNTIwZSBsZWdhY3ktdHJ1bmsKKzk2ODkgYzc2NDIxN2FlNmViOTJkMzFkOTAwNWNmN2ViMjljOGFjNWMzMTcxNCBsZWdhY3ktdHJ1bmsKKzk2OTAgYjliYmZhMTY5OTIwZTQ1NWIxMjcxM2Q4MzJhODg3ZDlmOTIxYjMwMCBsZWdhY3ktdHJ1bmsKKzk2OTEgZmY1MjRiNjliNjY0YTNmYzY1MWY5ZmU5MzdlODg3NDk5MGI1Y2FiNCBsZWdhY3ktdHJ1bmsKKzk2OTIgNjIyMmQzMzcxZmI4MGViODQwZWU1MmQ4MTIzNmMxZjNiODk2OTc5YSBsZWdhY3ktdHJ1bmsKKzk2OTMgNWE3ZjI2OGEwNzgxYTk0YWRjNWM5ZDc1MzVkOGIxOWVlOGM0NmNlOSBsZWdhY3ktdHJ1bmsKKzk2OTQgMTZlY2YxNTU0YTgzNTc5MzgwZTczNzZlZWViZjExZmQzMTk1ZjEyZCBsZWdhY3ktdHJ1bmsKKzk2OTUgYmMwMDg2NDA0YTlhNTUyOTIxYmMzMmFhMTE4MmJlZTM1YmYwY2I4OSBsZWdhY3ktdHJ1bmsKKzk2OTYgOTBhMzVmMWI5MDA4NWZhMTlmMzQwODQ0ZTEwNTI2YTZmYWMyMzkwNCBsZWdhY3ktdHJ1bmsKKzk2OTcgNjQwYjk3ZDEwNWRmNzExNTJmOTczMmFkNTMzZGZiZDM1M2VkMzM1ZiBsZWdhY3ktdHJ1bmsKKzk2OTggZDBjYTgxNWM4MDcyNTQ4MTNlMjNjODhjOWRjZDAyZmMxYWIxYzk4NyBsZWdhY3ktdHJ1bmsKKzk2OTkgOTVjMTAxOTY0NDE0OTg1NzMwYTg5MWZkMzA2OTk2YmNiMGI0YTYxOSBsZWdhY3ktdHJ1bmsKKzk3MDAgMTBmZGYxNmY0ZGU5YzFmOTRmNmI4NTIzOGJjNjQwYjBjMzU0MTU5NSBsZWdhY3ktdHJ1bmsKKzk3MDEgOWRkZTA3YTU5M2Q4M2ZjMjMyYzcwZGIwMTI5MTMzMzAyYzI3YTZiNSBsZWdhY3ktdHJ1bmsKKzk3MDIgZDMzZDQ1NjIyZTY3MTFkOGIxYzk3OWNkNTAwZmFhMzcyNzA1MDhkZCBsZWdhY3ktdHJ1bmsKKzk3MDMgMTFmMzRiZTBiZTExZmY0Mjc3ZDUwYTJhNDc5ZjY5ZDQ3OWEwNGEzYyBsZWdhY3ktdHJ1bmsKKzk3MDQgNDc4MDJlMmY1YmVkYjRmMjJiYmM1NGQzMTZmODExOGNmMDM4MWJkMCBsZWdhY3ktdHJ1bmsKKzk3MDUgMDQ1ZmZhNGM1NmY3ODU2YTIzNGE5NTk0ZGRkZDc2ZTUwMjZiMWNmYyBsZWdhY3ktdHJ1bmsKKzk3MDYgYmM2NDgyZjdlNzhmYTM0NjZiOGI5NDFlYzkxYjk3YWQ5ZGQwYWU0MCBsZWdhY3ktdHJ1bmsKKzk3MDcgYmMyOGEwZWE2NjQwZjc3YjRiZGI0MDg0ZjI2MDYwZjQ5ZWJhNDg4YSBsZWdhY3ktdHJ1bmsKKzk3MDggMzc1NzIzYTc1NTljNzE1ZTA5NGJlYmMyNTNmMTViZjAxZTg4NTEyZiBsZWdhY3ktdHJ1bmsKKzk3MDkgMTc3YWQ3M2JmMWE5MjVmMDA5MzM1ZDdkN2ZkZTFhOGQ5MjI1MGJiNCBsZWdhY3ktdHJ1bmsKKzk3MTAgNzRjNTcyODhhMDJiOTk2N2JhNjQ4ZjRjYjVmYmUzM2IzM2Q0YzI5OSBsZWdhY3ktdHJ1bmsKKzk3MTEgMDhjNWJiZmFlNTJjMGRmZTA2M2VmZTgwMjMxZTczNmIwMDY2NjY5MiBsZWdhY3ktdHJ1bmsKKzk3MTIgMjNjNTA5YWEzZjBkOTQ3M2NlNTJhMTVhNzYwMDI0NzA2Yzc3Njc3NiBsZWdhY3ktdHJ1bmsKKzk3MTMgZGViZThlMDgxMjYwODVmNDAwYjNkYTYzYjBkMjNkNzY0MjRkY2U2ZCBsZWdhY3ktdHJ1bmsKKzk3MTQgZmQ3YTU5OTNkMDZkYWEyODQ4ZmMxMGMxN2IyZGE3MTU4MWI0OGIxNyBsZWdhY3ktdHJ1bmsKKzk3MTUgY2RiNGE4MTM3OWFkN2U1OTczZjE1YmVlNTliMTZmNTZlNDI2NDBiYSBsZWdhY3ktdHJ1bmsKKzk3MTYgYWE1NGQ3YzNkYWY5MDE2N2E5NWZhNmJkYjQzZmY3M2Q4NzNiYTQ3ZCBsZWdhY3ktdHJ1bmsKKzk3MTcgMzA2ZjczN2JhYjU3NmE4Mzg5MzJiNTk4NGE0NjZkY2Y3NjVkNTZmYyBsZWdhY3ktdHJ1bmsKKzk3MTggMmI4MjIzMWE5N2NjNmFiZjc2NWQ4M2E0YTIwOTZkYWIxMTNmNDExNyBsZWdhY3ktdHJ1bmsKKzk3MTkgYjU5ODU1NDJiYWUxZTY5ZjY1M2E0Nzc3MDFmYjY3ZGEwZjFiZWU4NiBsZWdhY3ktdHJ1bmsKKzk3MjAgZTc1MDA2MDY5MzY3ZmM2ZjExNTMwZDZlY2I1ZGRlOWRhNWZlZGQ4MCBsZWdhY3ktdHJ1bmsKKzk3MjEgNWY1YjllODcxODg2Y2Q4YjllYzQxNTE5ZTZlMjUzMDRjZTE1OTU0OSBsZWdhY3ktdHJ1bmsKKzk3MjIgMGI1M2MwMzkzYzg4MjYzZDdlNDFiOGYxOWEzYmIxZGIyZmQ0Yjk3OSBsZWdhY3ktdHJ1bmsKKzk3MjMgYTcxMTY4NjQ5ZGM1MWVmODNiMzU1ZjI2ZDk5MjdlYjg3ZDRjM2RmOCBsZWdhY3ktdHJ1bmsKKzk3MjQgMTkzZDcwNGNiY2M4NTFhZTczOGMxZmI4YTE1YTQ0Y2MyYzBjZWNlNSBsZWdhY3ktdHJ1bmsKKzk3MjUgMTI3MmI1OGU4NGFlYjZjMmRmN2EzOWMwZjI3YmQwMGJhZmFmOTQ2NCBsZWdhY3ktdHJ1bmsKKzk3MjYgMjg3NjIzY2NlMjg5NDUzZTI2Y2M4OWJkYzllYTlhY2I0MzY5NzUwMyBsZWdhY3ktdHJ1bmsKKzk3MjcgZjBiYjNiY2YzOTdiMjU0OTZjMGQ3YmU0YzlmMTgwYTRkYzRhMzFjOCBsZWdhY3ktdHJ1bmsKKzk3MjggYzY5ODY5MGEyN2IyNTkxMzQwMDUxYzBjYzNjMGI4ODc2MjY1OTQwZiBsZWdhY3ktdHJ1bmsKKzk3MjkgOGEwODAyNWVmOTNkOGY5NTQzNjY5ZmY3ZTM2MGNjYTE5ODkyODFkYyBsZWdhY3ktdHJ1bmsKKzk3MzAgZDNmZDIxODJjZmI4ZWQwMmQ0MjQwMTZiNGU2YjhjOTlkMWIzNjE3MCBsZWdhY3ktdHJ1bmsKKzk3MzEgNGU3NDAyYzhlNDYwYmZiZjhhM2IzOGIxMWY3NDdlMmVkMjlmMTBiOCBsZWdhY3ktdHJ1bmsKKzk3MzIgODEyNjE1ZTU0NTUwZTY5YWRhZDcwYzFmMzg2OWIyZGJkOTg4OGIzYyBsZWdhY3ktdHJ1bmsKKzk3MzMgY2E3OGIwOTVlY2YwMTQ2M2UzZTY5NTc1Y2FiOTFkOGFjMTJmOGFjZiBsZWdhY3ktdHJ1bmsKKzk3MzQgOGM3NDlkZmM0OWJmYTM4ZWQ2ZGYwMmI2NGNiODdlNGRhZjJhYjZjZSBsZWdhY3ktdHJ1bmsKKzk3MzUgOGIwZDZiNjRhMGVhMzljZTMzZTk2ZWQ5NWNiMjZiYzBhNWFhOWY3NCBsZWdhY3ktdHJ1bmsKKzk3MzYgNjE0ZDhhOTA4NGVhZDQ3NTgwMGQxZjNkOWQ5YmY0NDc3M2U3MGJiYyBsZWdhY3ktdHJ1bmsKKzk3MzcgN2NkYWE0NDk1NTMwNzkzYmFlY2U3MGUzZTdiMzZmNzkzN2IzNGRkNCBsZWdhY3ktdHJ1bmsKKzk3MzggYTdlOTUyNGEyYTUyYzY0YWEyODYzZTA2NTFlM2U4ZGI3NjVlYmY2MCBsZWdhY3ktdHJ1bmsKKzk3MzkgYmJmMzUwN2VmM2ZlZjI4NDBhMWQ1MjRlMGE5NmI0MjNmOTAyMTQxMyBsZWdhY3ktdHJ1bmsKKzk3NDAgYzA5OTA3MTA0MDkyYTU5MjUwZjdhN2Y1YzcyYWFiYjkwYzRkMjBmNSBsZWdhY3ktdHJ1bmsKKzk3NDEgNDFhOTI4Y2JjYzVlZWI4ZTBhNmI4ODc4MzcxNzMwMjZkMDNkMDZiZiBsZWdhY3ktdHJ1bmsKKzk3NDIgYjhkNDg0MTI1YzkyZGQ2MjUwZTQ4ZmE3Mzk4ZTljM2ZiMDExNDhiMSBsZWdhY3ktdHJ1bmsKKzk3NDMgYzAwMmZmZDFmYmJmZTdiYTRjYWVmYzA1NWQ0ZmEwMjc0YWFjMDRjYiBsZWdhY3ktdHJ1bmsKKzk3NDQgODNjMGU5ZGQ0MjIxZjg2YWU3M2I0NmQyMjg3YWMzYWIyYmViNzRkYSBsZWdhY3ktdHJ1bmsKKzk3NDUgY2ExNGZkYjk1NWVmODI3YmI0N2M2OGY1MGZlOTQxOWFmNWQ5NzFhNSBsZWdhY3ktdHJ1bmsKKzk3NDYgYTJmNGM5NDRjYjg3MjFiZmM2NmViMmY5ZDY3YzViYjM4Nzk5ZWVjYyBsZWdhY3ktdHJ1bmsKKzk3NDcgNjgyZDNlNWIyNjdmNDcwYjNjMTAxNGIzMDI1MzUyYzRkOGIzZGVkMSBsZWdhY3ktdHJ1bmsKKzk3NDggZjU1OTY5YzFjM2Q1NDE5Njk4MmQ5Y2EyZmZlYmM0NzFmMzU3ZTlkMiBsZWdhY3ktdHJ1bmsKKzk3NDkgMDA2MWQzOTE2YWU0YjE1ZTllMDYxOWFmNzM0ODE1NWVlMmVkZjg3NiBsZWdhY3ktdHJ1bmsKKzk3NTAgYzgxN2Y4NmNlN2RiNjcxOTNhNzQ3NGM0MmE0OGM1ZGJkNGI3NGRhZCBsZWdhY3ktdHJ1bmsKKzk3NTEgMTViYTY4YzMzZWQxY2VkYTMwMzI0MjAzZmFlNjlmNWUxYzdiNTk5OSBsZWdhY3ktdHJ1bmsKKzk3NTIgZjVlYTFiMzBjYjNmNzQ5ZTViOThkMzAwMGQzM2Q0Yjk0YWNmOWMxNSBsZWdhY3ktdHJ1bmsKKzk3NTMgMDBjZDlmZTRmNmYyYjA4OWRiNWI0NWRhMTRmZDkxM2YzZjFiYjhjMiBsZWdhY3ktdHJ1bmsKKzk3NTQgMzlkZTQ5NDM0ZGY0MjYxMWM0N2I2OWFmNjg5MjQzMTI2NmY0ODNkZCBsZWdhY3ktdHJ1bmsKKzk3NTUgYmY0ZTc5MGJkNjFhNGI5YjEzOTU1ODE4NTE0NzA5M2M1MTFhYTE3NyBsZWdhY3ktdHJ1bmsKKzk3NTYgNTlkMjc2MWJhMWNmY2FhMGMyZjA0OGE0MDFhZTMxMWE3MTNiOGQ3OCBsZWdhY3ktdHJ1bmsKKzk3NTcgNTJmYmI3MzEyMTAzNDViMDEzNTRlNjQwYjQ0NzA1Y2EyYTcxZTc4MyBsZWdhY3ktdHJ1bmsKKzk3NTggZjIxNGVlODgzOGRlNjgyNmYzNjBjNDFkNzBiODkwM2Y2YWYwMWM2MSBsZWdhY3ktdHJ1bmsKKzk3NTkgMWZkNzg3Mzg3OWFmODJjOWI5MzhiNTVkYWYzYmMxZDdlYzBiMTBkZSBsZWdhY3ktdHJ1bmsKKzk3NjAgNmQwYzQ4NWJhNWU0MTkzYzI2YjM0NDMzNWIyZjYyOTlhZTFjMzI4NCBsZWdhY3ktdHJ1bmsKKzk3NjEgM2EzZWUwNzVkZmI2OTgxZGM2OTQ1ZjEwZTk5MjU1ZDYzNmU1MjZjMCBsZWdhY3ktdHJ1bmsKKzk3NjIgMmYwY2U0ZmI4MTBiYTMwMWJkZTJkMWY1ZTZhOGJmMmMzYWZiYzVjNSBsZWdhY3ktdHJ1bmsKKzk3NjMgZWYyNjlhYjc3MGJjYzViZTZlYjJhNmM0Nzc2MTRmNTgwODVjYmY5NCBsZWdhY3ktdHJ1bmsKKzk3NjQgMWQ1MTE3OWNmN2M3ZmU0NTQ5NjI0ZTg5NmJiYjgxOTZjMGRkOGM4NyBsZWdhY3ktdHJ1bmsKKzk3NjUgYWYyYmM1ZjQ1OTE4YTcwMTIwODhiZTU1N2RhMWM5MmQwYjQwOWRiNyBsZWdhY3ktdHJ1bmsKKzk3NjYgNDE0OGU0YmM4YjI4NWY5YjEwZDljNTQ0NTljYjFlY2JlNjAwOGUzYyBsZWdhY3ktdHJ1bmsKKzk3NjcgNmZlZjAzMGE5NWQ0OWM2NTk0MmUxOGNjZTc5MDVlODI5NmRkNzUxOSBsZWdhY3ktdHJ1bmsKKzk3NjggNzJkNTMxZDU0NTcyOWIwMDM2ODkwMjU5ZmY2MDcxNWExYmYwZmYyYSBsZWdhY3ktdHJ1bmsKKzk3NjkgYjdmODRkMTc5ZTUxYTAzZDVmNWIxZDYyMjlmNGYxNzhlMmEyZjViNSBsZWdhY3ktdHJ1bmsKKzk3NzAgNmFkMjM0YWQ4ZGU1YzZkNTlmNmY3MDUzNGQ4Y2IwY2E0NzY0YTI4OSBsZWdhY3ktdHJ1bmsKKzk3NzEgMGRiZWM5OGFjZmM5Njc0NjQ5YTdhNWNmMTZhZDFmZWU4ZWEyMzU5NyBsZWdhY3ktdHJ1bmsKKzk3NzIgOGU2NGM1ZDU1NDhhMmE0MGI0NTVjYWExNzU0OWIyNmExYzJjZDlkZSBsZWdhY3ktdHJ1bmsKKzk3NzMgMjg1NDQ5MjY4YzM3ZjA4ZmIwYjhjMTllYTA0ZGY0NjAyZWZiODdkYiBsZWdhY3ktdHJ1bmsKKzk3NzQgYjAyNDk5MGQ2MWVjOGUyM2Q2ZGE4NjVjNTkzNjVmMzYxNTdkZWYxYSBsZWdhY3ktdHJ1bmsKKzk3NzUgZmIwYzViMzA3NDc2ZGVhYjIxZjg1OTI4NDY0MzY5YjBkZmM4ZDJhZSBsZWdhY3ktdHJ1bmsKKzk3NzYgMzcwMzQ5NTMxNWU5YTY0MzMyOTE5NGUxYmI1MzQxZmEwMjE5YzIxYSBsZWdhY3ktdHJ1bmsKKzk3NzcgMDhmOWI5MDE2NjliYTFjYTJjZmZkNDYxMTBlYWVjZjg1NDJhZmI0MyBsZWdhY3ktdHJ1bmsKKzk3NzggNDQxYWU0ZjRjZmNmOTE1ZjNjYTc3MDhmMjkzZGFmMjRkODEwZWExZiBsZWdhY3ktdHJ1bmsKKzk3NzkgNGY4NDIwMmMzNzdhY2QxZTg1OGE0YjJiNDgzMmY5YmE3MzNjZjg3MiBsZWdhY3ktdHJ1bmsKKzk3ODAgNjQwZjJlZjRkYTIxMjRlNTNiY2NiZGNiOTcyYWZhYTY3ODYxMDU4NiBsZWdhY3ktdHJ1bmsKKzk3ODEgNjU4Yjc0MmU0MzUwMzVjYzY4OWUxZmI4NjA4MDY4NzM5MmU4OWM4MiBsZWdhY3ktdHJ1bmsKKzk3ODIgMjZhOGU5ZThjYjg0MTFkNjhhMTM3YThhNDM5ZDZjNTY4MzBhNzVlMCBsZWdhY3ktdHJ1bmsKKzk3ODMgMDY3ZTQ4MTNjNmQ2N2EwODBjZGExN2FmNzkxYTU1MjY4ZWMxZmUyNyBsZWdhY3ktdHJ1bmsKKzk3ODQgZjg5ZTljZGRjMDk2MTMwNTU3ZTZkOWU3ZjQyYzBmNTFmNzlkNzMxYSBsZWdhY3ktdHJ1bmsKKzk3ODUgYzk4ZmVmOTIyZDUxNDY4Y2YyMDQ5NTA4MGRhMGNkODUzYWEyZjJiYiBsZWdhY3ktdHJ1bmsKKzk3ODYgODA5NmZlYzcyMmJhNzk2YWYzN2EyOTdjZWYxNDYzOTZmZjM3ODRjMCBsZWdhY3ktdHJ1bmsKKzk3ODcgZDcyNjYzNzJkZDM3MWM5ZDFhNzIzOGQ2MTNjMmI5NGY2ZjNlYjhkYSBsZWdhY3ktdHJ1bmsKKzk3ODggNjA5NWE0NzJmNTc0NWMzYWNhNzQxOTU5NWI3MTk2NTM1YjYzMzE5NCBsZWdhY3ktdHJ1bmsKKzk3ODkgZGY3NjRlNDJiMjU4ZjU3N2VkNTNhZWIxY2ZhNjMzYjE1YWJmZWUyNCBsZWdhY3ktdHJ1bmsKKzk3OTAgNDhkZjIwODBkN2Q0ODI5YzEyOThhOGMxYWRhMzE2MGNlMjAwOWVkYyBsZWdhY3ktdHJ1bmsKKzk3OTEgNWFlODdhN2Y5YTMyM2ZkNjUyYjI5YmRiOTE0MTExYTNkNjgxMmE0YiBsZWdhY3ktdHJ1bmsKKzk3OTIgZDIzYmI5NjllNjNhMDM3M2M2ZmQyY2JkNDNlYTBmYzNjYTk3NjRlZCBsZWdhY3ktdHJ1bmsKKzk3OTMgM2E1NWZiYjk5ZjIwNDc3ZDQwYjRlN2JiZDM1MDYxZWI5MWQwMjQ5YSBsZWdhY3ktdHJ1bmsKKzk3OTQgZjZjNmQ0ZDk3ZGM2NTFhNTMxMGY3NDMzMTU1N2IyMGQxZThlMGYxNSBsZWdhY3ktdHJ1bmsKKzk3OTUgOTI3ODQ4MjQ4MDBjM2RkMzczZDE0ZTU5NjVlNDUyN2E3YzVkNTFmOCBsZWdhY3ktdHJ1bmsKKzk3OTYgODMwMDA5YjU3M2VhMDk0Yjc0ZmI0NGQwMzJkMmYxNzYyMmQwMjY3NiBsZWdhY3ktdHJ1bmsKKzk3OTcgMDk4OTJiZjZhNTBkZmYxNTc3MjQ0MGNlZDk4Mzk4MzU4NGM4NTg3OSBsZWdhY3ktdHJ1bmsKKzk3OTggMTkyOGYwNWJhNDAwY2EyZWI2MzNlNjNjMzRmODZjM2U1NzcxYjc4MyBsZWdhY3ktdHJ1bmsKKzk3OTkgOThlZmQ1ZDkxZmNhNGZmZGQ2YTVlODA3M2Y3MDg2YjMxZTJlZTllYiBsZWdhY3ktdHJ1bmsKKzk4MDAgNzI0ZjgwNzI2MDU1MGRlODJhZWE2MDRlNWFjY2Q1N2YyZDgyYmFkYSBsZWdhY3ktdHJ1bmsKKzk4MDEgNDdlY2YwMmFhZjk3YjE0ZTFjMWM4NjFiMzc0NjJmZWFhNzdmZjFiNiBsZWdhY3ktdHJ1bmsKKzk4MDIgNTUxMjViMTE0NGZhM2E2YTVlMTY5MWEyODNkNWI4MWFkOTM0ZWJjOSBsZWdhY3ktdHJ1bmsKKzk4MDMgNmUwMGZiNzIzZjY5ZGJkZDYzZTJlODY3NDUzZDE1OTJhMWVmZjQ2NyBsZWdhY3ktdHJ1bmsKKzk4MDQgZmVjOGUwODRiMDc0ZjU3MDI3YWUzZTM2M2Y3NTM4NGNlNzRjMTU3YSBsZWdhY3ktdHJ1bmsKKzk4MDUgNDViNjZlOWFiNWVmYTAwODFiZTM5NWRiMTkxMmU1NWE0YmNjOGQ0ZCBsZWdhY3ktdHJ1bmsKKzk4MDYgYzJhMDg2OTg1MmViODQ1Yjk4YTlmZDY3NTAxYTI4MjQ2NWY0MjViMyBsZWdhY3ktdHJ1bmsKKzk4MDcgZTRjNzRmN2YzZTQ2NTk0YTRkYjhlMTg0ODM2NDgyZGM1NjhjZDZhYiBsZWdhY3ktdHJ1bmsKKzk4MDggOWFlMjE1Y2EyMGRiNGI4Nzc0NzgxNDRlZDg4OGYyNzMzMWU2ZjhlMCBsZWdhY3ktdHJ1bmsKKzk4MDkgODNhMzBhMzU4M2QzZjM2YTM5NGI3ZGJiYjZmMmJhNGFjZjI0NmVjNiBsZWdhY3ktdHJ1bmsKKzk4MTAgMjUyNTM5ODcxODczYzIxYWEwNTk1NzFmMjEwYmFhYzkwOTYxMTBhNCBsZWdhY3ktdHJ1bmsKKzk4MTEgNmU5Njg4Y2U3YzU3NjEwMjc5ZmM5ZDBlZDgyZmI3ZjNjOTZkNGFlNCBsZWdhY3ktdHJ1bmsKKzk4MTIgMzk2NWI2OWQ1MTE2ZTU5OTBmYzQ2M2ZiMDZjYzBmZTM4MmY2Y2ViOSBsZWdhY3ktdHJ1bmsKKzk4MTMgYzM3YTI4YTNiYjg1YjI2N2E4NDU0M2IwZGEwNGJjN2U2YTg1NmEyZCBsZWdhY3ktdHJ1bmsKKzk4MTQgZTE0OGNlMThjM2NlNGIzYzlkY2U0MTVjNzEzNDU3NzVlYTkxYjllOSBsZWdhY3ktdHJ1bmsKKzk4MTUgMTI5MzljOGI0ZTMwYTU0NGRkOWVmNWM3Nzk5NjU2YWFmYzMxM2E2ZSBsZWdhY3ktdHJ1bmsKKzk4MTYgZjkwNDg2MDA5MDVlOGNkNDM0OGM1M2UxYWJlM2M5OTRiZGQ0M2M0NCBsZWdhY3ktdHJ1bmsKKzk4MTcgZThiOGJhMTY5YjZkZDBlNmE1MzkxZjQxM2M1ZjNjYjU0Nzc5YjBiMSBsZWdhY3ktdHJ1bmsKKzk4MTggNmRjY2FlNzViMjZmNmIyYTBjNjM1YzFmNjlhMjg0ZjZhYzUxNDdhNiBsZWdhY3ktdHJ1bmsKKzk4MTkgMDA2OWYzZWJhOWEyNTAyYzlmYzE2Y2FlNGE0MGFkZmNmNzRjMjQwOSBsZWdhY3ktdHJ1bmsKKzk4MjAgOWY3NGY5MjIzYjQzNTU3ODA3NTQ0MmIwM2M1OTk4ZDFlNGE2YWNjNiBsZWdhY3ktdHJ1bmsKKzk4MjEgNGZmY2JjYzVlOGZlMzkzMzM2OWEyMzZkN2MwYjI1MDllYzViODUzOSBsZWdhY3ktdHJ1bmsKKzk4MjIgYmJhMmIyMDVmOGVkZDQ5ZmY0YWRlNmQ3M2I2ZDAzNGM5ODRjYmY3OCBsZWdhY3ktdHJ1bmsKKzk4MjMgMDgwOTY5ZGJmYzdjNTE4OTA1ZjA3MGMwZDJjYmU2OTdiODNkOTcxYiBsZWdhY3ktdHJ1bmsKKzk4MjQgNWE5MjU2YjhjMzM4MmEzZWI4ODNiZTlhMjg0ZGUzNTVlMjYxMDg0ZCBsZWdhY3ktdHJ1bmsKKzk4MjUgZDc2YTRlZmExZjUxZGY5NDUwNjQzODdiOWZlODYxYTVlY2FjZjMxOSBsZWdhY3ktdHJ1bmsKKzk4MjYgN2JhOWNmNGUwYzQwNDA0ZGNhMzIyMzE4MGFmMjlhMTJkNDEyMTlmMCBsZWdhY3ktdHJ1bmsKKzk4MjcgMmJkNWZiZDYwODcwOTlhODU0Y2M0OWJhOTkzYmRiYjdhYzdhNjg1YiBsZWdhY3ktdHJ1bmsKKzk4MjggNGZmNWMxNDk4ZGM4ZGI5YzZmOGZkODEwZDZhMWJmYzk5MDVhZGI1ZSBsZWdhY3ktdHJ1bmsKKzk4MjkgMWJhY2E1ZDJiYTU3YTRlNWIwY2IyYzZhNzlhOGE4ZDgyNjZhYTE5MCBsZWdhY3ktdHJ1bmsKKzk4MzAgMGQzMWM3ZDk2OTdkN2M1ZWM3OWI3YTYzZTA0MGVlYTY4MjY3MGQyMCBsZWdhY3ktdHJ1bmsKKzk4MzEgYTRkN2JiZmY5NWE0YjVmNTY0NWUxZDU4ZDgyMTNiM2M1OTc1YjZmMiBsZWdhY3ktdHJ1bmsKKzk4MzIgZTQzNjdkMjA2YTU1Zjc2MzAyYjNmYjA0YTNhMmQ5MWU4NTgxNDM1MyBsZWdhY3ktdHJ1bmsKKzk4MzMgYjI4NWZiYzI2NDZhNDk4NmE1YzVlYTkzZTFmOWQxNWQ4MDNjZWEwMSBsZWdhY3ktdHJ1bmsKKzk4MzQgYzYzMjUwMjlmN2RjODhjNmRmZWJlMmJjYTQwYzU5MzEyNTM0MzYzMyBsZWdhY3ktdHJ1bmsKKzk4MzUgM2UyN2Y5ZmM3NWEyOTBmNTFmYTIyNzVjYzFmZjQwZmU5YTA4ZmZiMSBsZWdhY3ktdHJ1bmsKKzk4MzYgMTQyMWFjZWFlMzQ2NTA0NWE1Nzg3ZGU3NTExMTc4ZjdhYjc4ZDVkNCBsZWdhY3ktdHJ1bmsKKzk4MzcgZDcwMDg2YjA4YTBmYWYwMWE2ODljOThjMTE2MmI5MDFlMWYwYjcwMCBsZWdhY3ktdHJ1bmsKKzk4MzggMmEwNzI1OGIxZjRlMDg2Y2Y3YjMxOWI2MTE0NTVkMDRmZGYwZDc5YiBsZWdhY3ktdHJ1bmsKKzk4MzkgNjIxNDQwYmI5OGI5YzI2MDg4Yzk4YzEzMTM1MzlkN2ViODM1ZTEzMyBsZWdhY3ktdHJ1bmsKKzk4NDAgODVmZjIwNDZlMzdmODFjZDg0ZTAwMTBhZWEwOTE4NTlhMmNjMzQ5MiBsZWdhY3ktdHJ1bmsKKzk4NDEgZjRhNDcyM2I5NTUzMmFiOTA0YWY2NjAzODRiYzcwNDgxOGVmMjgyMiBsZWdhY3ktdHJ1bmsKKzk4NDIgZjFjODhkMmQxMjViZmQ0MzA2ZGQwNjU4Y2ZmYjg5OWQ0NTAzNDk2YiBsZWdhY3ktdHJ1bmsKKzk4NDMgMTg3Yjg5Njc1ZGRhZTQwYzQwNTA2Yjg2NzM1NDllYjcxOTQ5YTNhNyBsZWdhY3ktdHJ1bmsKKzk4NDQgNzE3YzNkYWNhMDhlOTUzOTM3ODg5OTgyZDkyYzE1YWI1ZGY2MWZiNyBsZWdhY3ktdHJ1bmsKKzk4NDUgMGM3OWNhZmVjNGJjNTUwOGM2ZTZlMzA3MjFkN2IyMjk0YjU2NjA2NCBsZWdhY3ktdHJ1bmsKKzk4NDYgMjE2NTdiYjBiZTM1YjRjNzFkY2M4MzQ0OWYyZjM2ZDIzYTJlYmMwYiBsZWdhY3ktdHJ1bmsKKzk4NDcgZmVkM2NmNzI2ODNkYzE3NDdlYzNjMmM0Yjk2MTU3NjIwNTQ2NTdiYyBsZWdhY3ktdHJ1bmsKKzk4NDggMWY0NjI1ZmU2NmUyY2E4Y2UwYmE4YmYyMzk0ZDI2NzA1MTdjNjExOSBsZWdhY3ktdHJ1bmsKKzk4NDkgZjVhMTg5YWZiY2Y5OTRkZDlhMTQ1ZGI4ZjI0MDU4Y2NkMWIyMTcwZCBsZWdhY3ktdHJ1bmsKKzk4NTAgMWU2NmM0ZTMxZDE1MGFmZDhiMGI5ZTViZjIyZTU2ZTlkYmYxYTdjMSBsZWdhY3ktdHJ1bmsKKzk4NTEgODk1NTllZTg1ZTU0MGQyZWU0ZjA4NWU2YTlhYmJmYzA5ZGEyYmYyNyBsZWdhY3ktdHJ1bmsKKzk4NTIgOGQxMWIzNjcxZTVkNjE4N2Q5MzdlNjg4MzhiODViYzVkMTI3ZmZmYiBsZWdhY3ktdHJ1bmsKKzk4NTMgMDAzMzhhODEzZGNiOGJiZTFjMjdmNTk0NGVhZTQ2OTk0MmI3ZDBiMyBsZWdhY3ktdHJ1bmsKKzk4NTQgZmM2YmU3YWUwMTJmNDRjZDhkMjQwNzUyZDY4MmU5ZmFiMTgyMjlmMiBsZWdhY3ktdHJ1bmsKKzk4NTUgZjc4YWY1YmM3OGVkZGU2NmI4Mzc1ZWQ2NzYwMjMyZTE0NTJlNTZkYiBsZWdhY3ktdHJ1bmsKKzk4NTYgMGUwZTg4ZjhlMWFkNTFmYWZkMzYxYjBkNDljZGI4ZTY0MGRlZjkyYSBsZWdhY3ktdHJ1bmsKKzk4NTcgZTYzZjJhZGZhN2NjODQ1ZTk5MTkwMmQ5YzUxNGIyOWQ0M2UxMjA2MyBsZWdhY3ktdHJ1bmsKKzk4NTggNjJhYzU3ZGU3YWRiZTQ2Y2RlOGVmMDg1OTY2Y2VmMmFjZWIwZTlkMCBsZWdhY3ktdHJ1bmsKKzk4NTkgMTA4NDBjMzczN2E3ZGQxMDkzZDJhYjg2MDA0M2ZlMjg5NTg3MTA2OCBsZWdhY3ktdHJ1bmsKKzk4NjAgNjlhZGQ0ZDc3MzZmMTA2NTY5MDE0ZWNlOTk4NzJmNGU0NDZiMDYxNyBsZWdhY3ktdHJ1bmsKKzk4NjEgZjhhNzcyMjRlYmNhZjUxMzRiZmNjMWY5MzhjOTU3Njg0MjEzZjliYyBsZWdhY3ktdHJ1bmsKKzk4NjIgYjU4YjJlZTY1Zjc1ZjUxOTJhM2Q5MGY0MDg1YWY3NGJiMTU3YzBiOCBsZWdhY3ktdHJ1bmsKKzk4NjMgNmRkNjUxY2FmOWUwNjZlM2VjOTFlODhlZGZkNmM3Mzc4MDdlOTg5MiBsZWdhY3ktdHJ1bmsKKzk4NjQgZjQwNDBmM2JkY2M3MzdiNjY1ZjljMjliYTBhNmQ1MjNmZWM3NjQ3NSBsZWdhY3ktdHJ1bmsKKzk4NjUgNDYxMTlkMWU5NDEzZjdhMGNjZTc4ZmVmZGQyNTUyYjhkZTkwYjIxMyBsZWdhY3ktdHJ1bmsKKzk4NjYgZWRjMGQwMjFlNDI3NmRmYjVmN2VmZjI5Y2Y1ODI1OWFjZDQxZjUwNyBsZWdhY3ktdHJ1bmsKKzk4NjcgNTQzYjJiNGFmNTMyNTkxMTc2NDFkNGM0MWUxNmM1ZjE3NzFjYjFmYyBsZWdhY3ktdHJ1bmsKKzk4NjggMjIzNDMzMDM4YTQ3ZTc4NDg1OGY0NGFjZDgxZTI5NjBlMDdlZGI5MCBsZWdhY3ktdHJ1bmsKKzk4NjkgYjY0YThjZWM4ZDc1YzVhYTkzMjVhODcxZGEyNTdiZWNmZDhiOWRhOSBsZWdhY3ktdHJ1bmsKKzk4NzAgMDMzM2U0YTk1MmY5M2RiZGM4YzMxZWM1YjEyYjllYzA3MzA4OTU4MSBsZWdhY3ktdHJ1bmsKKzk4NzEgMDI4ZjcwZDUwOGMwYjYxNWY2MmY4MzQwODY1MGI1NmE0YTA0ODEwMCBsZWdhY3ktdHJ1bmsKKzk4NzIgNzY3YmY4MDA0Y2ZmZGZlZDIyMzVjMDRmNzNmMjI0MTFhODljYmMzZSBsZWdhY3ktdHJ1bmsKKzk4NzMgNzg2ODc1YzRjNjJjNTBkN2MxZTA0MTA3ODBkMzA1ZGRlODllMTc5MSBsZWdhY3ktdHJ1bmsKKzk4NzQgZmJjNzU1MzVlYTkzY2IzZjJiNTQ4NmIxMGIzM2Q0NjViOGM1NmZjYSBsZWdhY3ktdHJ1bmsKKzk4NzUgNDVkNjViYzhhNTUwZjMzNzlhZWRiOTMxNTVmYTcyM2ZlODMyYzNiYyBsZWdhY3ktdHJ1bmsKKzk4NzYgN2FmYzE1ZjA4ZDgyY2FjMzcyMzljNTAxZWQxMmZhODk1Y2Q1MzI4OSBsZWdhY3ktdHJ1bmsKKzk4NzcgYjhkNzg2NTBmOGRmMWQ1YmM1YTcxYzdhMmY0NzI2ZjJmZjIzNzY1NCBsZWdhY3ktdHJ1bmsKKzk4NzggNjg1YzUxMGUxNGNlZWI1ZDRlMmZjNjdlNDI0ZTQxYWMxZTc2NmUyOCBsZWdhY3ktdHJ1bmsKKzk4NzkgOGMwMWNmZWUxNGJhMTkyNjdiMWEyYjBjMzI3ZGU2OWEzMzk5NDkyNSBsZWdhY3ktdHJ1bmsKKzk4ODAgYzc0NTRjYTdkM2FjYzE0M2UwMmEwYjZmOWJlZTA1MjAwNjBiOWFmMiBsZWdhY3ktdHJ1bmsKKzk4ODEgMTg1YzFkNDdjZTdhMDg3NDlhYzczYTk4OGNmNjcxMWUzMzhmMDIyOSBsZWdhY3ktdHJ1bmsKKzk4ODIgM2E3N2JjYTIyNmI5Mzc3ZmYyYThkYTIzMzc0NWJhYzk0MDBiZTg5NyBsZWdhY3ktdHJ1bmsKKzk4ODMgYzUxZjdiNmQyNTU2ZTQ2OTUwOThkZTJmN2NlN2FlYzgxOThkZWUwYyBsZWdhY3ktdHJ1bmsKKzk4ODQgM2E0OWY1ODg2YWNhZWIwOWU2M2JiODRkZmJkOTFjOGQzMmExZmQ3YyBsZWdhY3ktdHJ1bmsKKzk4ODUgMmM1NDkwMTQ3MWY1ZDkwNGQwYmNhZjZiMzg0NWQyYWQzMDBiOTdlNCBsZWdhY3ktdHJ1bmsKKzk4ODYgZDg4YmY3NjcxNDU4MjVhYjRjNGE2ZGI5ZDBjOGZkZWI3YWJmNTkzMSBsZWdhY3ktdHJ1bmsKKzk4ODcgZGZhMjQ3NzY0MzIzNzAyNDU4YWIwOTk5ZjE2ZjZjYjY2MzI0Y2MxOCBsZWdhY3ktdHJ1bmsKKzk4ODggZDc1ODg0MWE3NjYxYmM3ZjNjODA4Y2JlNzMxNDBjNDczZmI5NWI5MSBsZWdhY3ktdHJ1bmsKKzk4ODkgYWQ4OTFmNmExOWVlYmE0ZDMyNTE4NzIwZDc5YzU4NDIyN2VlNjRmYyBsZWdhY3ktdHJ1bmsKKzk4OTAgMjk3YmVhMjMzZTAzMmZiZGY3OTM3YWI2ZDg0OTM0MTY3ZWRiMDg3NiBsZWdhY3ktdHJ1bmsKKzk4OTEgZGVkY2U5YjY4NzQyNDA1MTg4NDAyNzBmNzhkOTI0MDBhMWFiZWQ5MyBsZWdhY3ktdHJ1bmsKKzk4OTIgNjU4NDhhN2M3N2I5ODI1MzFhNmU3ZGM5NzBmMTFiZjY5YjllNTk1OCBsZWdhY3ktdHJ1bmsKKzk4OTMgYTE0MzVjN2QzMzliN2ZjMjEzNzYzYjNiY2UxMGY0NjE4YzI1ZDA0ZCBsZWdhY3ktdHJ1bmsKKzk4OTQgMTNmMjliNjJhMjA5NTM4ZmQ1NjI4YWMzNjY0MGVhNDI2NzkzMzNjYiBsZWdhY3ktdHJ1bmsKKzk4OTUgNjI1NWRjODYxZmNmMTM1M2ZlMmFkMjYyNTY4YzFhOGFkMmNiMDY0NiBsZWdhY3ktdHJ1bmsKKzk4OTYgYjFmMTk1Yzk3ZWY5OWE0ZmM2ZjI0OWVlZDFhNmNkNzg0NWM0YWEzMCBsZWdhY3ktdHJ1bmsKKzk4OTcgN2NhMmMzZDg3NjYyMDZhZTI1ZjU0NzhiNDAzOWMyZmM1NjFkNTA2MyBsZWdhY3ktdHJ1bmsKKzk4OTggM2Q5ZjUxMDUwYWJjYTQ1YjcyZTk2NzRkNzYyNzQ5NGFjNjljMGJkNCBsZWdhY3ktdHJ1bmsKKzk4OTkgNDM5Mzg5Nzg1MmIyNDQ4NmIyMzkyMWQwZDRjMTk1NDIzZDI0OWUyZiBsZWdhY3ktdHJ1bmsKKzk5MDAgMmQ1MDg4MjJlN2Y2ODg1YTgzZTM5M2U4ZjFhZGFhNWM2NTliNjk4NiBsZWdhY3ktdHJ1bmsKKzk5MDEgNmU3M2Y0MTY4YjA2MmVjYTVmNzdhMDdiNTU4ZjIzYTE3MzEzMDk5MSBsZWdhY3ktdHJ1bmsKKzk5MDIgMTFlOTMzN2NkYTNkMTQ3ZWU2ZDRlMDJhN2RkMmQ2NTgzZTJjNmIzOCBsZWdhY3ktdHJ1bmsKKzk5MDMgMjliZGJlMDM5ZTA1ZWM4NWFkNzk0NWIwMmY2Y2Q0MjEyNTU4NTJhYyBsZWdhY3ktdHJ1bmsKKzk5MDQgYjNlM2RhZTliNjEyMjQ0MmQxNDYyMjFiMDRiMzMyOWFlZjVlOTE2OSBsZWdhY3ktdHJ1bmsKKzk5MDUgNWFmN2QzZGE4N2NmNmFjYjc5MjI2MDJjODA3MmZhMjlhMmRmMmU3MiBsZWdhY3ktdHJ1bmsKKzk5MDYgM2YyMjg0MzQ0YTQxYmEyNGY3NWQwNTZmZDAzY2M4ODZmODYxYTUyMiBsZWdhY3ktdHJ1bmsKKzk5MDcgODNlNzc1OWU3Mjk3ODY5ZGRkYTFjZDE3NzQyZDFlNTY0NWNmNmViNCBsZWdhY3ktdHJ1bmsKKzk5MDggN2RmNmYwNDUzNDY5MTc3Y2QwOGZjYTU4YTdlYjI4YTkwMzAwMDJkMSBsZWdhY3ktdHJ1bmsKKzk5MDkgYTlmYmYyMWFiN2NlOWNlNzkzNmU4YTNjYzU5OTQ1Y2RlMDg0ZmI4ZiBsZWdhY3ktdHJ1bmsKKzk5MTAgMzY1NTI2YzRjZjhiYjMyMzg0NjY1OTRkMDczMjNkY2UyMDU4MmVhZiBsZWdhY3ktdHJ1bmsKKzk5MTEgNGY0NWRjY2RhOTZiMjg3NDdlMzNkNDFlMTU0ZDViZDFjYTRiNDNiNSBsZWdhY3ktdHJ1bmsKKzk5MTIgM2RlMGNiODJlNjFhZTY1MWJlMDgwOGU2MjAxODkwOTVlZGVjZDc2OSBsZWdhY3ktdHJ1bmsKKzk5MTMgY2JhY2QxYmU3Mjc1YzAwZjNjNjNiOTVlYjVhMzg0Y2YyZWIwMDBiMiBsZWdhY3ktdHJ1bmsKKzk5MTQgZDE0NjViNWMwYTA4OTRlMTU1MTFkYzE3YmFiYzNiNDE3MmY0MjBlZSBsZWdhY3ktdHJ1bmsKKzk5MTUgMzc0MGZmMmVlMDUzY2E5M2Q4OTA1YmVjNTUwYWE0NjZiOWEyODllMyBsZWdhY3ktdHJ1bmsKKzk5MTYgY2QxMTY5MGNiMTRiMDcyZTcwZjI1ZThjM2ZkYTc0OGExMWI5ZDE4MSBsZWdhY3ktdHJ1bmsKKzk5MTcgYTY0Yzg5ZGFlMThkNjBlNTRhODJlZWFkZTMyODZhNzRmNmIzMDQxOCBsZWdhY3ktdHJ1bmsKKzk5MTggNTkwZjYyNTRmOWE5YWVhYTQyMDIzZWRiNTY4YmU4ZWIwNzI1ZGE3YSBsZWdhY3ktdHJ1bmsKKzk5MTkgYTgwNTliOTZiYzM1NWFhOGI2MmZlMTY1MzdjZmMyMGU5MzRjZDMxNiBsZWdhY3ktdHJ1bmsKKzk5MjAgMDUxODlmN2NkYmViMTg0MTE4ZDYxNjhhZDMzMWY5NTBjMWE5ZjA2OCBsZWdhY3ktdHJ1bmsKKzk5MjEgOTgxNWIxOGIyM2UzYjY4NWE5YWYyMzU0MmI1M2NiOThkMWIzNjc5MSBsZWdhY3ktdHJ1bmsKKzk5MjIgMzcyMGU5OTZlNTUxMjczOTE0MGRiYTI5OGM5ZDFjYjI1NTAzOTI3MyBsZWdhY3ktdHJ1bmsKKzk5MjMgMTY2ODQ5OTIwNmRjZmJiNTgyZTdlNTJhNjM0OGE1NGQ0MGY1NDM5YSBsZWdhY3ktdHJ1bmsKKzk5MjQgMjkzM2ZiMzRmMzMzZmQ1MmMxNzM5MjBmYTk0ZjA1NDBlMTg5MGI2MiBsZWdhY3ktdHJ1bmsKKzk5MjUgODI2YzcxODAxOTExY2IwYzYzOTdkODk2NGFkNjYxNDhmZjhlNDYzOCBsZWdhY3ktdHJ1bmsKKzk5MjYgYzliNjg1MGM0MzM2YTRjZGFmYTJhM2Y1MDAyZWRlYmFjNGI0ZjE3OSBsZWdhY3ktdHJ1bmsKKzk5MjcgNWVkY2ViOGYxZmFiN2FjNjgwYjE5YTljZDQ5YmQ1NWJjMzAyZjJmMiBsZWdhY3ktdHJ1bmsKKzk5MjggMGQ3Njc2MTRjOTQxZWIxMGY1ZWMyOTMyYzQzYWM3MWJhOWFkYmExOSBsZWdhY3ktdHJ1bmsKKzk5MjkgMGE5NTQxYTg2Njg5MDk0ZGU0MTNmNGVjNmMwMGNkZTJkOGViNTlmMyBsZWdhY3ktdHJ1bmsKKzk5MzAgMjNjYzM0MmVlMTUwYmE4NDAxZmJjM2MzOWJhZmUzNDBhMzVhMDBjYSBsZWdhY3ktdHJ1bmsKKzk5MzEgM2MzOGM4YWQ1NjIzZmI0MGQ0YWZkYTI2MTMzMjVjMzc3YmU5YjAwNCBsZWdhY3ktdHJ1bmsKKzk5MzIgMWI0YTJlMzhhYjVlYzY3YWUzZTUxOTBlN2Y4ZWQwYjI1Mzc2ODYzMCBsZWdhY3ktdHJ1bmsKKzk5MzMgNDgzMjg2ZTIxOWUxZjY0NDQ2M2I0ZDJiZDdiMmYxMjZhNWYxMWFlNCBsZWdhY3ktdHJ1bmsKKzk5MzQgYmQwNWFiNDczMWY3NmIzY2U0NGQ0MzBjNTNlNzcwZDRiNjk0Njg4OCBsZWdhY3ktdHJ1bmsKKzk5MzUgMWE5YjA5YjNjYWY4YWU1ZTI4NWI3MDRkMmQ5YWI3YjRhNGRhYWViNCBsZWdhY3ktdHJ1bmsKKzk5MzYgZWM5NWU4ZGFlNTA0MTQyNWFlNTdjYTU3YzE5NmYwZTRlNDQ4MGU3OSBsZWdhY3ktdHJ1bmsKKzk5MzcgNGFhNDcxMGQ4OTRjODI2OGY0MmU2YTQwODE2OTU2YjZkNWI2Y2Q1OSBsZWdhY3ktdHJ1bmsKKzk5MzggYmQ4MTUzOGQ0ZGRmZDQ3NjE3ZmRiNDViYTM5ODU4YTlmZGE2NGNmMiBsZWdhY3ktdHJ1bmsKKzk5MzkgMDMxZGU4NTQwYTdlYTA1ZGI1NGQwMWZhY2Y1MmY4ZjQyM2ZjZTBjZSBsZWdhY3ktdHJ1bmsKKzk5NDAgOTU0MWI5YjA5MzdkZGYxNGMwYjY0OGIxY2JlYzIzMDQ3MmJhNWY1ZiBsZWdhY3ktdHJ1bmsKKzk5NDEgODI5NDdhMTkyNmY3ODJkZWZiZTBjZDc1Mzk3YzU3NjA5OWU1NmMxMyBsZWdhY3ktdHJ1bmsKKzk5NDIgMDIxMjM3YmE1MDA3NDI1ZTAyMGU3Y2U5NjhkODkwMzk1NTg2MGEyYyBsZWdhY3ktdHJ1bmsKKzk5NDMgN2IyZmQ0ODZlZmVlMWNkOGZkZTIwYWZjYzE2Yjg4Mzc1YmQ2ODAyMyBsZWdhY3ktdHJ1bmsKKzk5NDQgY2IxYTU3N2MwMjM5Y2JiMGQ5Njg3OWJjMDRmZTI5ZTM1NmYzMGJlMSBsZWdhY3ktdHJ1bmsKKzk5NDUgMDM2MGUzZTMwYTJlNDBjNDkyMmY3OGQ1ZDcxODE4MmZhNTU5OTdmMSBsZWdhY3ktdHJ1bmsKKzk5NDYgMTQ5YTU0Nzk4ODk2MWI3YWNlNjI4YWVlYzE2ZWUzYWJkY2M2MTZmNSBsZWdhY3ktdHJ1bmsKKzk5NDcgYWQzZTRlYjM1ZGE3NzIzOTBjNTBjMDI5Mzc4NmI4NmZjOWEwNmUxOSBsZWdhY3ktdHJ1bmsKKzk5NDggNmY4NjllNWQzM2NjYmY3NjM0YjdhMGJlNWVhYTQxMmFmODJlZmUyNiBsZWdhY3ktdHJ1bmsKKzk5NDkgODgxYTVlNjcxNGRjYjcwYTVjZTA3OWY1MjFmZGJlMDcxZDMwZjBlOCBsZWdhY3ktdHJ1bmsKKzk5NTAgNmJiNTA2YWQ5Njg0OGFjMmEyOGNmNTE3MGI3ZjU3YzliZmRmYTJmZiBsZWdhY3ktdHJ1bmsKKzk5NTEgMmNmMWNhZTliNDZlZjM3ZjAyZDVjNzg2NGRjMTg4NTBkMGFjY2JiYiBsZWdhY3ktdHJ1bmsKKzk5NTIgMDc2YjgyZTA0MGE1YzkzNTRlNGI4NWRjY2IyMWUyMzk1NmNkZmZhZCBsZWdhY3ktdHJ1bmsKKzk5NTMgNzg0ZmVmODM3YjUyZGM4ZDYwMTgxZGNhZjUwYzhjMDAyZmYzNDc3YSBsZWdhY3ktdHJ1bmsKKzk5NTQgY2E2NmEyNTM2Y2Q1NDlhNTk3ZDk2YjE4MjU0ZTAzZjQ3ZjQ5NDk4MyBsZWdhY3ktdHJ1bmsKKzk5NTUgYjk0MjFlMTdkZGY3NjMxZDA3ZmQyM2YwYWZkNjFhYzViNmM0Y2Y3YSBsZWdhY3ktdHJ1bmsKKzk5NTYgODA3MzliMGJjMzAyNmM5MmE4ZDIzZDZhNGJhODNlZjhmNmQ4OTU3MSBsZWdhY3ktdHJ1bmsKKzk5NTcgYmZlNTdlZmFkNzUxZmFkZmJlOWIyNjVjZjU2ZTM4NzZiMGRiOTY1MCBsZWdhY3ktdHJ1bmsKKzk5NTggNTVjM2ZkMTg1M2NlYmIyZjRjZTdiOWZiYTNhMDY4MzQ2YzdmNDY4ZSBsZWdhY3ktdHJ1bmsKKzk5NTkgY2NhMzlkNzE5YWJhNmU1YzA0NTk2ZDM5NTQ2MDc1MjhkMGQzMjYxNSBsZWdhY3ktdHJ1bmsKKzk5NjAgZjAxZmYyNmZhY2FlYjg3MzgyYTAxNDVkYTlmZDdlYzZlYTM5YWNhOSBsZWdhY3ktdHJ1bmsKKzk5NjEgYmE0YTAyYzBlOTBjNzkyYWZhN2UxYTdjOTFkMzM0NWU0YzEwYjgxMyBsZWdhY3ktdHJ1bmsKKzk5NjIgNTgwZjZjOTIyNzBiYjg3MDE2OWEwYWVmODc3ZWU2ZjRhM2E1NWIyMiBsZWdhY3ktdHJ1bmsKKzk5NjMgMWRmYzE1ZTMxMTMwNDNkNjAwOGVmZWU4YzI5ZmFkZWYxZDcwYzQ1YiBsZWdhY3ktdHJ1bmsKKzk5NjQgNGNhZTJkZTMwYjU3ZmM1ZTBiYjNkNWNjZDZmYzM3ODMxN2QzMGVlMyBsZWdhY3ktdHJ1bmsKKzk5NjUgMDVkMGI2ZmJlYTliNWRjNjdjZWVhZDM2NTJmZGM0ODI2NzI5MmM0YiBsZWdhY3ktdHJ1bmsKKzk5NjYgOTgzNDVhYTFkNWZlZDMxNjMzZmM4MmVlZDE5ZDkyNzkyMTQ2MGI3NyBsZWdhY3ktdHJ1bmsKKzk5NjcgNDI3YjgxYzI0NTJmZTFkNzJmYTEwMGE0YjcyNTBiZDQwYjRiMWJhZSBsZWdhY3ktdHJ1bmsKKzk5NjggM2RmYzM3NmU2ZjFhOGJlNGNlOWEwMTMxZmM5NTBlNmE4YTcxNGIxMiBsZWdhY3ktdHJ1bmsKKzk5NjkgN2YyODk5N2IyYzEwNmZjZTIzYmVlMmJjMWVkZjI2ZmEyMzc4OTRlMyBsZWdhY3ktdHJ1bmsKKzk5NzAgNTQ0NTZmMDhlYmFkNzU1MTJkNDMxYWVhMWExOGFkY2E3MWE2ZWFhOSBsZWdhY3ktdHJ1bmsKKzk5NzEgNjg1N2FjYmUyZTc0YjAwYWY4NjBhZjJiYTg3MWY1MTI5NzViMzlhZSBsZWdhY3ktdHJ1bmsKKzk5NzIgYzRkNTZmYzYzZDhmMDM4YjRhYjQxNmMxNDc5OWJlM2I2ZTU4YTZhOCBsZWdhY3ktdHJ1bmsKKzk5NzMgNmIwMjY2Njc5Zjk2OTUyNThkN2ZhNDEzOWM3MDlhOWY4NjQ1N2UyNCBsZWdhY3ktdHJ1bmsKKzk5NzQgZWM3OTc2ZDJkNWU5ZTQxM2UyMTg4OTJlOTZkN2U3OWMyYWM4NjgxNiBsZWdhY3ktdHJ1bmsKKzk5NzUgNWUzOTAwNzg0NjBhZThlNDJiM2Y5NWQzNjY4N2MxMzY0ZjliODcxZCBsZWdhY3ktdHJ1bmsKKzk5NzYgMTkwNmE3ZmM3NTA5NGQ2ODI2YTNmY2E1YjJjYjJhNWE4OWQ2MTNhZCBsZWdhY3ktdHJ1bmsKKzk5NzcgZDk1OTFjOWIyYzVmYTRkMTVhNWJlOTI2YTYwNDkyNmJiYjI3N2Y5NyBsZWdhY3ktdHJ1bmsKKzk5NzggOWRlM2NhZDUwOTA1MGMyYWM2YzQ2YmViYjkxM2RhM2UxMjQ5NDIwMyBsZWdhY3ktdHJ1bmsKKzk5NzkgZDE3ZGIzZWJmYmMyMDVkYzE4NTc2NGMzMjk1ODNmYTIyYzU1MjRkNCBsZWdhY3ktdHJ1bmsKKzk5ODAgZjIzZGIzYjY1YzgzODFmYmVkN2VkNzQ0NGY2MDZiZmQ4OWE5NTk4YSBsZWdhY3ktdHJ1bmsKKzk5ODEgNzU0NTg2MDM5YzExYjFmOWNmYTQxMGZkMjdmMjQxOTJmMWU2NDY2ZCBsZWdhY3ktdHJ1bmsKKzk5ODIgODk0Y2ZmZWI4OWJhNTM1MTdkNmFjZTZmYTZjMDYyNzczYWYyMDI0NSBsZWdhY3ktdHJ1bmsKKzk5ODMgZWY5ODBlMTdiNTkzOWNhYmFmNjIxODA0YTgwMzQ3OThkMjM2MWE1NiBsZWdhY3ktdHJ1bmsKKzk5ODQgNjdhMmI5NmYwMTg5NzM0OTQ2YWRjM2UwMjVjMzcwNGU4NjM2ODE1NCBsZWdhY3ktdHJ1bmsKKzk5ODUgNTEwZTUyNDQ2N2NlNjI3M2RlYzJiZjQ0MzgwM2M2OTgxNDc0MTM1MSBsZWdhY3ktdHJ1bmsKKzk5ODYgZWRhMGNhMTM4YjNkODRiYTkxMTk2MzM4ZDBlNWVhOWUwYWMyYTQ0OCBsZWdhY3ktdHJ1bmsKKzk5ODcgYjVkNTJjNDE1YjE1ZTllNGNmMGRkZjhjNWM3ODI0NzI3ZTI0ZDNiYSBsZWdhY3ktdHJ1bmsKKzk5ODggZWM0NzM1Y2UxMzYwODQzZGNjNmU3N2EzMGY3ZjMwMWQ3OGJhNTAzMiBsZWdhY3ktdHJ1bmsKKzk5ODkgMzVhM2NjMjRlZjA0MzI3YTZiYTZkYjYwZTA0MWFjNDllZWEwMWRlOCBsZWdhY3ktdHJ1bmsKKzk5OTAgZTNmMzdhMjYwMmQ1MDQ5MDViYjkyNTg4MWI2Mzc2Mzk2ODM2OTZjZCBsZWdhY3ktdHJ1bmsKKzk5OTEgNDg4OGY0NDg0NTBmMjNkYTAyZTJkNjgyNTVkNjc5MjlhY2RiNGJiOCBsZWdhY3ktdHJ1bmsKKzk5OTIgOTcwZTllMDU4Yjc2MWM0Yzg0N2MxYjQ0N2NkMjJkZmNhMDI5OGY3ZCBsZWdhY3ktdHJ1bmsKKzk5OTMgZWMwZjk5ZjFhMmZkYjBhYjlmNjlkMzBmOTBiODRkNDQ0ZWMwOThlZiBsZWdhY3ktdHJ1bmsKKzk5OTQgYjYwNDI0YTU2Zjc0NGU1ZWU0MmJmZDRmZTE5YWMyY2E0MTI3M2EwMiBsZWdhY3ktdHJ1bmsKKzk5OTUgODNjMmE1YTQ1YTQxYjJmYWRiOTM5YTNjM2I2YTBmZGIyNTM1OGNmYSBsZWdhY3ktdHJ1bmsKKzk5OTYgMzEyY2E5ZmRhY2ZmMjc1YmU5MjA3MDQ0OTZhOTVjMjViNjYyYzZkMCBsZWdhY3ktdHJ1bmsKKzk5OTcgY2NlODk5NGQ1MmNmMGU4YTgzMDA0MzFmZTc2OTZlN2RiODgyZjI3MiBsZWdhY3ktdHJ1bmsKKzk5OTggZjlkYTM0ZjcyNjhiNTFjODcxZjJmMTQzZGE4MDA2NDIyZDRjMzc5NSBsZWdhY3ktdHJ1bmsKKzk5OTkgZmJjODkyMjQzNDc3ZjZjY2I2ZWEyM2FlM2JjZGU1NGEwNjRmOTc5NyBsZWdhY3ktdHJ1bmsKKzEwMDAwIGRjMzc0NzExYzg0OGNkNjYxMzdlOWI2YTZlNmViNGMxN2MwNGZhZTEgbGVnYWN5LXRydW5rCisxMDAwMSA1ZTRjMjg5N2U2MjU3NWU5ZTQ2OWEwYWYwMDU5ZjdmN2NmZGI1NmU2IGxlZ2FjeS10cnVuaworMTAwMDIgZWVhYzM2YmZlMDFhYTNmMWZjOGQxZDFmZDVmZTBlYTg3Mzg0NWQwNCBsZWdhY3ktdHJ1bmsKKzEwMDAzIDg4OTkyNjk2YjllOGQxN2Q1NWE4NGRlMzMyYjU5YjljN2Q3ZDU3NjggbGVnYWN5LXRydW5rCisxMDAwNCA2MGU3YjAwMGYyNzM4NDYyM2RjMTQ3ZDUyYWFjYzMzOTliYzVkMzlhIGxlZ2FjeS10cnVuaworMTAwMDUgMjZhODc3MWE0Y2ZkMDA5Yjk2ZDczYTU4ZWI1NWUwMDcyZThjOWViNCBsZWdhY3ktdHJ1bmsKKzEwMDA2IDNjYWYyMzk3YzUwODE1NTNiMzNjZmI3ZTliZmI1YTllMmU4ZTkwOWUgbGVnYWN5LXRydW5rCisxMDAwNyAwMzQzOTg3MzZlNjRjNDE4Y2JkMzM3Nzg3NTVkZmRiZGUxMWU0NTllIGxlZ2FjeS10cnVuaworMTAwMDggODkxMTA1ZGFjOWI0MTg3MTQ0ODgxNzliZTI4MTllZDFjYTM1YzRlMiBsZWdhY3ktdHJ1bmsKKzEwMDA5IGI0NjYwYWQ3ZGM0MWVhMTc0Zjg5NTk2M2VlNTI4NGFjMDMyZGNmMWYgbGVnYWN5LXRydW5rCisxMDAxMCBiZjIzNmZiZjExZGFhZTNhMjJjMTE0NjdlMGNiNGI3M2EyMTY0M2I5IGxlZ2FjeS10cnVuaworMTAwMTEgZWE4MTg0YmZmMTJkYTVjMGQxZWE1NGJjODE2MjM2YjYzNzEzYjBmMCBsZWdhY3ktdHJ1bmsKKzEwMDEyIGY5MWQ1YTAzMzliZjNhYTM4ZWE5MDRmNzI4NTY0Nzk1NDE4YWFkOGIgbGVnYWN5LXRydW5rCisxMDAxMyAxM2I2MGFiZGI3MGQxOWVhMDY2ZjIyMDNjMTE2M2NlZTRiNzM2ODUxIGxlZ2FjeS10cnVuaworMTAwMTQgZWVkYWM1MGQ3NzQ0M2IwYmJkY2NmOWM2ZDUyODcyMGZjZmUxMWZiZCBsZWdhY3ktdHJ1bmsKKzEwMDE1IDNmZjZiM2QzYzRkNWUyZjNmNWRiN2JjZmE5ZjQxYjFkYzU3MDM2MjUgbGVnYWN5LXRydW5rCisxMDAxNiAwMWE5Zjg0YTI2OWM5ZGEwYTliZTAxZjBhYmMyNzhhYTZlNDlmZDRlIGxlZ2FjeS10cnVuaworMTAwMTcgNzgzMGUxZGU5ODE3NDU3ZWIxZmM0MmRiNzUzYmYzYmQ5MGU5NDZlNyBsZWdhY3ktdHJ1bmsKKzEwMDE4IDlkYWUwYWIzODNhNDk4ZTFiNTcyNjY4NDAxODY5OGE3YjdlOWE1NzcgbGVnYWN5LXRydW5rCisxMDAxOSBjOWY0YWEyYzQ1ZWRkNjdmZDBjNGM0NWI0NDBlM2FhNDg0NDE4NTJkIGxlZ2FjeS10cnVuaworMTAwMjAgY2ExNzBkNzYxZjA4NmUzMDVjOGI1ZGI2YzcwNzU3MWYxMjFmYjMwNCBsZWdhY3ktdHJ1bmsKKzEwMDIxIDQ4ZjdhYzQ1MmQ5OWM5NGI5MzMwMzFkN2I3ZTlkOTZjNGE2OTdkNDEgbGVnYWN5LXRydW5rCisxMDAyMiBkMjAyYzgyZDNjNTcxNjI2ZDM2ZjFjNDQwZjljNWY1MWZjMWM5ZjBhIGxlZ2FjeS10cnVuaworMTAwMjMgYzAxMzFmYWUwNmU5ZTA3MjExYzg0NGE5MGRlYTRkNzJlYzg2MTdlYSBsZWdhY3ktdHJ1bmsKKzEwMDI0IDY0MjFlYTFkZTI4Mjg3YjI0ZGQ2NGNjN2IyNjQ3YmZmYWM5NTMxYmMgbGVnYWN5LXRydW5rCisxMDAyNSBkNGQ4NGI1NGM0NGQ4MTg5ZTIwM2ExNDAzZDM4ZDc4OTlkMDliYTQ4IGxlZ2FjeS10cnVuaworMTAwMjYgN2ViMTliMWNlODRkNzRmMmUyYzk1NWE2MzBjNjlhNTk3YWNjNDhkNSBsZWdhY3ktdHJ1bmsKKzEwMDI3IDRiMTFjYjk2MTA0NmEwYzRkODcyZDVmNjJjY2E1MzA5OWI0MzE0ZjcgbGVnYWN5LXRydW5rCisxMDAyOCA2OTg2MDgyMWNhMWQ1ZGE2NjUxZGQ0NjZmOWIyNGYzNjdkZGNhZTU1IGxlZ2FjeS10cnVuaworMTAwMjkgZDM0ZmUzMGI5NWU4NTY4MjEzODkzY2RmMDdjZjNjMDM5ZThkMzg3YiBsZWdhY3ktdHJ1bmsKKzEwMDMwIGM4ZTVmNzA0NjIzZDg5MDExZjg2ZmZmYzI5NGIwOWUwNTQwNTUyMzEgbGVnYWN5LXRydW5rCisxMDAzMSA4MmViOGIzZGY2ZjgyNjU0M2JiZjk2MWY3MGU1MjU0YzFlOGMxZWIwIGxlZ2FjeS10cnVuaworMTAwMzIgNWRmNjU2Y2QxMGFkZTFkMzViNTc2YzM2M2FkMmMxMjgxMmNhOTA4OCBsZWdhY3ktdHJ1bmsKKzEwMDMzIDVhZWNjMjUwOWU0NmQ5ZjRiYmM4NGVhYjBhN2VjMTJjMjQ4YzE5MzAgbGVnYWN5LXRydW5rCisxMDAzNCA3MzM5NTA4MDRhMGI0MmFmZmEwYmZiN2ZiM2I3MGU4YWQ2MTZhMjY3IGxlZ2FjeS10cnVuaworMTAwMzUgNjU5ODM4NGQ1ZjRjYmVkOWM2ZmRhMDJlNDI0Mjc2N2FkNWM4NjAyMyBsZWdhY3ktdHJ1bmsKKzEwMDM2IDIyZGU1MTE2ODMyZmQ2NWUxOWI5NTcyYzNiMTc0ZThmY2E4YjJmMjAgbGVnYWN5LXRydW5rCisxMDAzNyBjMDJhZjFlNzEzZWRjOGE0NTY0NzNiZWFlMTQ0NzIxYmU1Yzc5NTAzIGxlZ2FjeS10cnVuaworMTAwMzggYTQ0N2IyNjhjNzczMmJkOTA4NjgyYzExNTI3ZmQwNjA1MTkwMWFmMiBsZWdhY3ktdHJ1bmsKKzEwMDM5IGNjN2UxMjZmMDA5ZDM4OWQ4M2IyNTRlNGQ5M2EwOTE3ZjBjMmQ4ZmIgbGVnYWN5LXRydW5rCisxMDA0MCA0M2Y0N2I4ZTM5OGRhNTNkYTk5YTg2NGZiMzFlZDkyZjcwNDk1MjBiIGxlZ2FjeS10cnVuaworMTAwNDEgNTliMWFiMDFjMjg2ZWYzMTdhNThlNjdlZmIyOWFjNTM2OGExYmRmZCBsZWdhY3ktdHJ1bmsKKzEwMDQyIDFhOWY5YTVkZjA0YjE2ZjBiYzU3ZWUxZTRiNGUyNTA1MTM0NmVkYjYgbGVnYWN5LXRydW5rCisxMDA0MyBiYTEwYzQyOTk5YjhiY2EyNjljYjIwYWFlNmRmYjE2ZjEyMGE5Mjc2IGxlZ2FjeS10cnVuaworMTAwNDQgMmZmMmU0NTdhYjg3YWM3YWFlMmJiOWIwNzMzM2IzYmYyMDFhMjc3MCBsZWdhY3ktdHJ1bmsKKzEwMDQ1IDAwYWVlNDc0M2Q3YmE2OWVhYTllODUyMDk4MDI0MDQ2NGE4ZGZmODkgbGVnYWN5LXRydW5rCisxMDA0NiBlMTVlODVkOTg3YWY4OWU2NjYwYTliZjllMjBhNTNlOGI2ODlmZDczIGxlZ2FjeS10cnVuaworMTAwNDcgYjljYmYxNzRjNzIzODkyMDg2N2NmY2ZhNTgyZTRjZDZkOWI0MTFiMSBsZWdhY3ktdHJ1bmsKKzEwMDQ4IDhhZWU1MGE5YTFiMWZhNGM3NGM5NWYxN2Y0OGI4ZmVmMTE2NzUxNzEgbGVnYWN5LXRydW5rCisxMDA0OSA5NjhhYWJhMjgxYzUzZjAyYjNmNDVjMTkxNDk1ZmU5ZGZmYWFiZmI4IGxlZ2FjeS10cnVuaworMTAwNTAgYzlmNDE3MTI0ZTBmNzY2NTRiODhhNmYyNGI4ZGVjMzY1N2ZjODY3ZSBsZWdhY3ktdHJ1bmsKKzEwMDUxIGFhMGU4MTk5Y2MzMTgzYjNkODgxNzc4NmE3ZWY5N2RkODdhNDJmZWMgbGVnYWN5LXRydW5rCisxMDA1MiA3ZTdkNmIxYjhhNGIyYmRkNmE2NDcwNWIwM2E2YWZlOWMwYWYxOTYyIGxlZ2FjeS10cnVuaworMTAwNTMgZTY3MTE0NWFiNTA3ZTFkNjgxNzUyYTY2MzgzOTg0NzkyMDgzNGEzMSBsZWdhY3ktdHJ1bmsKKzEwMDU0IDJhMDU2ZDE5M2RkMzdhN2JkNDkxNTAyMjM3MzJlNDU5MDFkMTgxYjcgbGVnYWN5LXRydW5rCisxMDA1NSA4MjdhZWE1ZjU2MjE5MGQwNTAxMzU4ZTJmYjQyOGQzNDM1MDM0NjI5IGxlZ2FjeS10cnVuaworMTAwNTYgMjA0M2M2OWZmMWQ0NTVkODM5MmJjNjRmNWJiNjgxZWVmMjMxZTUzNCBsZWdhY3ktdHJ1bmsKKzEwMDU3IDQyYTIxODA2YjNkMmZlZTVhYzVmNDZhYzk1NjhhNzljZmY0YjI0YjYgbGVnYWN5LXRydW5rCisxMDA1OCBkNWY4OTU2N2I1YTlmNjdkMGIzMjMwNWEzMTc1MmM3YmUzNjFkMmE1IGxlZ2FjeS10cnVuaworMTAwNTkgMGY1NjVjN2ZlNGJiZmU5YjQ3Y2U5YTVkNTkyMTU3MWIyZjY4Mzc2MCBsZWdhY3ktdHJ1bmsKKzEwMDYwIDBhNGI0NTMzOGFjMjg1MjU2ZGRiYmUyMzIzNWY5YTRlMDIyYzU2ZWYgbGVnYWN5LXRydW5rCisxMDA2MSA5ZGUwZDUwNDljYTFiNjVmNzk4YTQ2MjE4ZThiZDRmNmI3MWFhMzE5IGxlZ2FjeS10cnVuaworMTAwNjIgZDJiNWQ5MzI2ZjA5MTU0NzBmNmZiYWQ5OGRiZDI5OGMyNmZjYzFlMCBsZWdhY3ktdHJ1bmsKKzEwMDYzIDJlZjBhY2E5NmYyZDMzYTU1ZmY0YWU3NWNiYjMzNzI5NzRmN2M4OGYgbGVnYWN5LXRydW5rCisxMDA2NCAwNzY1Yjk1OGNjNjdhMTliZTJhYThmNzQ2ZThkNmJhMGJkZTVmYWJhIGxlZ2FjeS10cnVuaworMTAwNjUgZmM3NjBjNjI2OTUwZGU5Nzc4NmI1Mjc2MzRkYTE4NjM3ZWRhNDM4OSBsZWdhY3ktdHJ1bmsKKzEwMDY2IDRiNjM0ZjAyNDNmOTdkMDMyYzEwYmJlNDZjYWQyM2U2MzgyYjI3MGMgbGVnYWN5LXRydW5rCisxMDA2NyBiZDA4ODZlNzhmM2I3ZTJiNGUxNWI3YzhjY2UzM2ZjODYyZjM0ODg4IGxlZ2FjeS10cnVuaworMTAwNjggYjZkNmE4MzRkYjQ5YWYxNWU0NzYyNzJkYTZmYzRiOWU3NTExYzhiZSBsZWdhY3ktdHJ1bmsKKzEwMDY5IDJmMzIzMjM4MTFjNTM1N2NhOWNjNmU4YjY3ZjUwMTRkOWNkNzVlMTggbGVnYWN5LXRydW5rCisxMDA3MCAwOTQ0MDYwNmFhYzU4OGY0OWM2OWMwM2JhYmU4ZDY3ZjQ0YmYwOTE1IGxlZ2FjeS10cnVuaworMTAwNzEgYTE5MDI5Y2Q3NmM1MTU5ZWY1MDBhYWNlYzc0NWYwNDhkYjdhOWEzZiBsZWdhY3ktdHJ1bmsKKzEwMDcyIDk5Y2VmYWE5YzUwOTcyYzViM2IyNWE2ODUyYjcwNzNhOGM1N2QxYjAgbGVnYWN5LXRydW5rCisxMDA3MyBjNDU2ZWJlMzUzMzc0ZGUxZTU1N2ZiNTBhYTMxYjc0NGQ4N2I5MjFiIGxlZ2FjeS10cnVuaworMTAwNzQgYWFiNzYyMjA1MDVlZmRjNjkyZGY0YTM5MjllZDViZWE0YzA4MDIyYyBsZWdhY3ktdHJ1bmsKKzEwMDc1IDM5Yjg0YTNkY2VhYTUwMzQwYjEwMGVjZGQ3YWQ3MzNkYWUzNWI0OGYgbGVnYWN5LXRydW5rCisxMDA3NiA3MmNhYjk1ZDM1ZTU3MDllZTk5MDZjMTQ4NWY3YzQzMmZhNjRlODU0IGxlZ2FjeS10cnVuaworMTAwNzcgMDk0MTU2ODBiZDRmNmM0ODE0MmI5ZDAxYWMyOWM1MTI1OGViNGMxOSBsZWdhY3ktdHJ1bmsKKzEwMDc4IDZhNDUzNTk1ZTYxOWU5ODA3NjVlN2Y3Yzc4NDM0YTY5NmI1ODg3NTMgbGVnYWN5LXRydW5rCisxMDA3OSBlY2FkMjM0Yzg3ZTQ0ZDhlYWMwYzA0Mjc4YTczYWU2OWZiOTFkNDc1IGxlZ2FjeS10cnVuaworMTAwODAgN2Y0YTUwM2NlNThiMjZmOGFjMmI5ZjMyNTlhOGExZGRjODUxNjRjNiBsZWdhY3ktdHJ1bmsKKzEwMDgxIGMwYmY5YjYwYzI5ODBiMjM4YjRlYThiNzFlOTIwMmZiZTIxYTkwYzYgbGVnYWN5LXRydW5rCisxMDA4MiBhNjNkNTUzZWI2NTgyOTJiOWQwNDhjYjkxZGJhOTNkN2JiNjI5ZTQwIGxlZ2FjeS10cnVuaworMTAwODMgNTk0MDdkNDQ4YjZhY2Q5MjBlM2QxYTM3MDQyOGZlYWYwZmI1MDhkOCBsZWdhY3ktdHJ1bmsKKzEwMDg0IGMwYzAyZTkyNjlmM2NjOTU2OTM0ZDAyNzZlMDhiY2Y3ZGFlYjBiZWQgbGVnYWN5LXRydW5rCisxMDA4NSAwMGFkMzA5YmQ1MDgxMGQ4YmRmOWY5MGQxODJkODE0MDI5YWZjY2NmIGxlZ2FjeS10cnVuaworMTAwODYgODkzYTMyMDk1MjIyNTQxZmRmNjkxOGNlZDliNWYzZTJkZDMwYzlkZCBsZWdhY3ktdHJ1bmsKKzEwMDg3IGFmYmJmZThmNTQ5NjcwNGE3YmExOTZkNWViNzA4NmE5MThjNDdmZDggbGVnYWN5LXRydW5rCisxMDA4OCA3MGJjYmNkZGE3NGY2MWE2ZjM1MTVlODJhNDBlYzMyNzc2NTcxYjA5IGxlZ2FjeS10cnVuaworMTAwODkgY2RmODBmNzQ1OGNhMWE3M2Q2MGUyZWJiZGRjY2ZkMzFjNmVlMjAwNCBsZWdhY3ktdHJ1bmsKKzEwMDkwIDQ2ZjJjNGZjOWUzODFhYmEyNjk5YjJhODg4YWFjNmIzMWIyZTQ3YjkgbGVnYWN5LXRydW5rCisxMDA5MSAxOTJlYTk4ODRlYjY3ZGZjYTY1NGIwODcwZTA3ZTgyNzk4YWQwNDgyIGxlZ2FjeS10cnVuaworMTAwOTIgZjM1YjI5ZWI1MmQxOTdlOWI2ZTY5NzUxYWJlNWFmMDVjODBiNzVhZiBsZWdhY3ktdHJ1bmsKKzEwMDkzIGRlYzY1ZmNlYTIxZWI5MWU2NDBmODYyYzZmMTYzZjU5ZGQ3NGJhODMgbGVnYWN5LXRydW5rCisxMDA5NCAwZTFlNGI0YTA4MjEwMjlmNTkzNTQzN2I3ZTcxZDZkNjFlYmE3NTQ1IGxlZ2FjeS10cnVuaworMTAwOTUgMDY4YTY5NDJmZTFhMTJlYTU0YzlmNmQ0OTg0MmY0NWNlZmFiOWFkOCBsZWdhY3ktdHJ1bmsKKzEwMDk2IGEzYTZlYzI1OTk4NjA1M2E2NWM4ZmJmNmM4ZTk4ODdjNDE0ODNhM2UgbGVnYWN5LXRydW5rCisxMDA5NyAyOTNiMGNiMzQ3MDQwNGMyOWEyN2U0MDBjNWJiODJmZmI2NzViZTY5IGxlZ2FjeS10cnVuaworMTAwOTggZWNlNjA0ZWQ2MjI4MTgzYThjOTFjYzk0MWQzMjA2MTY2ODMwMWI5MCBsZWdhY3ktdHJ1bmsKKzEwMDk5IDljZjZmOTQwOTU5NjUwOTBhNzU3NTBhNmNiMzJkZmM2MDZjNWI1ZWYgbGVnYWN5LXRydW5rCisxMDEwMCAwYTIwY2NlMTczNzE0OThkNDczYjQ0YzBmMDMzZmEwZWNhNDRlMzE5IGxlZ2FjeS10cnVuaworMTAxMDEgYzU0ZjFjY2RlNmE5ZGViNjI5ODg3M2JiNmY0ODBkM2EzYzg3YWM3ZCBsZWdhY3ktdHJ1bmsKKzEwMTAyIGE3ODc0MjllODQwYWViMGJhNmNhY2M5YTVhODA3Y2Q0ZmU0ZDhlNzAgbGVnYWN5LXRydW5rCisxMDEwMyAwY2U2NTkwNDdiYmYzMjI3Y2IyYTFhYTQ4MGVjMzZmYWJmOTIzZjk2IGxlZ2FjeS10cnVuaworMTAxMDQgNWFhNzAzN2ExZTNmYjUwZDkzMjI0ZDZiZTAyMWMzYmRiYWNmMjdkNiBsZWdhY3ktdHJ1bmsKKzEwMTA1IGEwYzdhYTA1MjJkZTEwZDlkN2JjMDIzY2YzYWQ4ZDk1NDQyNTU4Y2QgbGVnYWN5LXRydW5rCisxMDEwNiAxNjU0NTYyODI0MTIwZGNmOTliOGY4MjZiMTRmZmYwZjc3YjQwMjRjIGxlZ2FjeS10cnVuaworMTAxMDcgNzk2MGRhMDU0OWM0NzQzZTI5NjRiOTk2ZDhjNmM2ODJiMmIwNjg2NSBsZWdhY3ktdHJ1bmsKKzEwMTA4IGRiMWU1MTRmMTYyOTczMDJkNDU4YzlkYTg0ZDVmMjQyNDkxY2Y4NWMgbGVnYWN5LXRydW5rCisxMDEwOSA0MjJiYmU4ODVjYmY3MWE2MTJmY2ZlY2UwYTVkYmY4MzdiMGViNGMyIGxlZ2FjeS10cnVuaworMTAxMTAgZDIyY2Y2NjZmYTJjODhjNTA4N2EyZGM4MmNhYjAyNGJjN2Y0YmM1ZSBsZWdhY3ktdHJ1bmsKKzEwMTExIDU1MzQ1ZDZkMmMxNDFjMDJlMjBlMmEyM2ZjNWY2MTkzN2RkZGM2NGUgbGVnYWN5LXRydW5rCisxMDExMiAzZDE1OTBiNWUzZGRmZGVlMmIyNzgyN2Y2YjRkZjkzYjJiZGRiYmE1IGxlZ2FjeS10cnVuaworMTAxMTMgYmJkZDI4ZDM2ZjQyOTc3ZmI2ZjQ5NzJiMjQ1MTQ2OTAyM2RhOGUzZCBsZWdhY3ktdHJ1bmsKKzEwMTE0IDU0NzJhYjYxMGZlOWU0OTk2ZjViMTY2OWVmZTBkMjkyMTlmNjU4ZTggbGVnYWN5LXRydW5rCisxMDExNSBjMTEyNDQzY2FiZTExNmUyMjUxZTAwZjM5ODQ4YTljZTRkN2VmNDRjIGxlZ2FjeS10cnVuaworMTAxMTYgMWMwZjU4Yjc2MDgxYTg3MDI3MDlmOTQwMWRkY2EzMjNkNWQ2YjQ0YiBsZWdhY3ktdHJ1bmsKKzEwMTE3IGM2Mzg3ZTI0MmI3ODBhZmM2ODhjMDZjZjdjZDkzNjAzNDM5MmM1NDkgbGVnYWN5LXRydW5rCisxMDExOCAwOTUwMTI3MTg1ZWFiNjRkNjliODBlMDhhMGYzNGRiMmZlYjNlNjRhIGxlZ2FjeS10cnVuaworMTAxMTkgMmJiZWZlYzE2NTQyMDRiYTVhY2M3YTk5OGJiODg1YTljZjQyMGQ2MCBsZWdhY3ktdHJ1bmsKKzEwMTIwIGY3NzkxNjE3YzJiMjVkOTZkN2ViZDU0NGUzM2FmNDhjMTgyZDBlZmUgbGVnYWN5LXRydW5rCisxMDEyMSBiOTVlNTIzZGNlNmNjZTEwYjE4NjcyMDk1YTM3YmNiZjk3NTQ2ZTA4IGxlZ2FjeS10cnVuaworMTAxMjIgZDhkODg0NDdmM2MxMzE0YzcyMjZhNjRmOGFjMjM0ZjNjNjM0N2JjNyBsZWdhY3ktdHJ1bmsKKzEwMTIzIDdhZDUyMmE0Yzc1M2ExMDRhMWRjNGY3MTU5ZDUxYjVhNWY2NTc1YTYgbGVnYWN5LXRydW5rCisxMDEyNCBkOTJmMTBjNDUxYTEzOGRhNDM0NTFhZjNlNTU1YzA3YTQ4YWE4NGY1IGxlZ2FjeS10cnVuaworMTAxMjUgZGVlNTYwMjVkMzkwYjQxZjNkMGZiNTBjZDg4MjkxYjgwMWMyNjI0YSBsZWdhY3ktdHJ1bmsKKzEwMTI2IDAyYzY2NDI4ZjA0ODQxZGY3MjM3Njc1YWQ1MmRkMTZjMDhlNTQ1NjggbGVnYWN5LXRydW5rCisxMDEyNyA5MzJkZDZiOTBlMTNhNzkyMzBmYjU4YWY1MDVhODRhOTUyNzhmODJjIGxlZ2FjeS10cnVuaworMTAxMjggZWE2ODYxOWZiNTZkNGQ1NDFkM2E2YTQ3OGUwZGQyNTA4YjRmODY0NiBsZWdhY3ktdHJ1bmsKKzEwMTI5IDk1NTJkNGIzZDliNzgxNDI1ZTM4YjJkODBkYzJkNDRkMjc5NjllNTQgbGVnYWN5LXRydW5rCisxMDEzMCBkNjRkYmQxY2QzMmViNDM3OTE4MTYwNTcyNDA2ZGUwNWEzNTU5YjY3IGxlZ2FjeS10cnVuaworMTAxMzEgYjg2NzcxYjBkN2Y5MTg3Y2IxMjFhYTk1NTU5ZGY4ZGUyMWJmNmMyNiBsZWdhY3ktdHJ1bmsKKzEwMTMzIDc1ZDAwNDhjODY0M2RiNWU0YjZlMjUyNjFmYTA1NGM0YWU5ODg0ZWQgbGVnYWN5LXRydW5rCisxMDEzNCA3M2VlYmRhY2ZiNzc2MjNmODMwNWNkNTgwNGNkZmExNWJkYjZmYWM1IGxlZ2FjeS10cnVuaworMTAxMzUgNmIzZDNhMjg1ODFmNGMwZmRkNGVlY2ExYWRjNzg1ZTc5MDg4YzQwNCBsZWdhY3ktdHJ1bmsKKzEwMTM2IGYwMTdjNDg1OGJhOGMzNmFiZjgxOWU3YjcxNGY0YzhlYTAwOGY3ZDQgbGVnYWN5LXRydW5rCisxMDEzNyBmNzVmZjhkNDQzNGQ4N2I1MzUzYjZlZWI0YzZmMGIwYWI0NDgzNjRmIGxlZ2FjeS10cnVuaworMTAxMzggODY5MzczZmEwYmY4Yjg2NGQ0Y2I3OWRmN2QyYTM3MTkyNTZhNTBmNSBsZWdhY3ktdHJ1bmsKKzEwMTM5IGYwM2U2NjVkOWY3Mjg4OWRiZGNmYTYyYzQwODJmMDc0ZTI1NWQ0N2MgbGVnYWN5LXRydW5rCisxMDE0MCA0N2RkZWIwNzk1NzU0NmIzMjA3MzIwNmRmYzI3NjYzNWUwNDVmNDI5IGxlZ2FjeS10cnVuaworMTAxNDEgZWEyZDMyMTdkMGM3MjEzODFlMDkxYjYwMzQwNjk4YzM2ZGY5ZjQwMCBsZWdhY3ktdHJ1bmsKKzEwMTQyIGFjZDM5M2E5M2VkMDQ0YTUyNTU4ZTExYTI1NjczYjZhNzhkMjBlOGQgbGVnYWN5LXRydW5rCisxMDE0MyBmMjg1NWQyYWNiZDM5OTQ0ZjM5MjRiZjI2MjM5Yzg0ODM1NTUzNmJiIGxlZ2FjeS10cnVuaworMTAxNDQgYWJhZTY4YWYzMzRmNjUyYTMyNGE0ZjlmOTQ0YjhmZGE0ODg3YjFhNCBsZWdhY3ktdHJ1bmsKKzEwMTQ1IGM5Mzk0YWVhYWM2YWRjMjdjZmQyYjM2NTdhYTFiODIzOTM4OGE2OGIgbGVnYWN5LXRydW5rCisxMDE0NiAzNWYyOWI3ZGFjZjUxOGM1MmFiNGI2NzU4NmYzYzdjMDI2Zjk2Y2IzIGxlZ2FjeS10cnVuaworMTAxNDcgYWQzNDY3MWNkNGM5NjI5ZTQ2ZmRmMDI0NjFhMmFjNmEzNGYxMjVlMyBsZWdhY3ktdHJ1bmsKKzEwMTQ4IDFmOGM4ZTBiYjVlZjYwMGQ1N2JlMzY3YmE2MjU5MzM2OTljMDY5YjMgbGVnYWN5LXRydW5rCisxMDE0OSA4ZTZhNTgwMTk4ODczZTYwYTBiMDMwZGVlYzEwYjQyMTA2ZTg4MmM2IGxlZ2FjeS10cnVuaworMTAxNTAgMGNmMmZmYWY0YmQ3YzUwZWRiYjQ1NGUyNDg4MzI5MDA5MTY5M2Y0ZSBsZWdhY3ktdHJ1bmsKKzEwMTUxIDFmYjg2OGYyNTQ1OWZlMzZlMjMwNDgwNjQ4YmI5YmI3NzhkYjVhYjEgbGVnYWN5LXRydW5rCisxMDE1MiA1MjhlMmI5NGU4Yjk4NzNhNzYzZDIzN2RiODc5NjdjNGQ2ZWU5NWRjIGxlZ2FjeS10cnVuaworMTAxNTMgMzU3Yjc3ZTM0NWYzNjU2MGYyZWI2ODVlODRmMTljNTE3YjRlYzgwNiBsZWdhY3ktdHJ1bmsKKzEwMTU1IDcxMjJmZjRjNGFiZTY5Y2EyZmEzMmUzMGE0NTFhNzk5YmE1OWE3OWYgbGVnYWN5LXRydW5rCisxMDE1NiBiZGNmNzA4YWU0ZGFlOGNjOTg3YWI1MDYzMmZlMjE3OTAyOTIyNjU1IGxlZ2FjeS10cnVuaworMTAxNTcgNzJmMmFiYWNmMTUxZTQxODQ4ZWU5MThhMjUzNTlhYjI0MmM2MmUxNSBsZWdhY3ktdHJ1bmsKKzEwMTU4IDQwMzAwNTljZjk3YzEzNDEwYTMwYTVmYzc1ZTYzODhiYzMzYjBiZDUgbGVnYWN5LXRydW5rCisxMDE1OSBhNjEwMThhMmE1MDJhNDJmZDk0YTM5NDM2NzMwNDBjNzk3OTJlNzA2IGxlZ2FjeS10cnVuaworMTAxNjAgMmM5YzI0ODU4MWEyMDIzZGVjMmExNDVjYmE4ODBiMjI3NWVmM2RkYSBsZWdhY3ktdHJ1bmsKKzEwMTYxIGUxZTc2NzY2ZDhjYWUxNTYwMjA4MDIzNjBlZWQ1NjE1ZjhkOGE1MzIgbGVnYWN5LXRydW5rCisxMDE2MiA1MzM0ZWVmMTk3NGMwNTVjZTkxZmQ1MDkwYWQwMjM2NWIzYzM2OGM3IGxlZ2FjeS10cnVuaworMTAxNjMgNmJmNzQyNjRiOWMwYzMxNTQ1ZjcxNzc1NWUyNzdhNTNhMjA3NmI5NCBsZWdhY3ktdHJ1bmsKKzEwMTY0IGYwZDMzZmRiMzkyMTkzZjdlYmFlN2E4MzE4ZjE5OWU1ZDc0MjUyYTYgbGVnYWN5LXRydW5rCisxMDE2NSBhZmRjYmVmMTdlYzBmZDA2OTQzNTI5MTQ2NTcxODVmNDJkNjc5ZjVjIGxlZ2FjeS10cnVuaworMTAxNjYgNDgzOTcwMDYyOTE1MTE1YWFjMDQ4ZmU3M2RkNDNmMTc3OWFkZGM1NCBsZWdhY3ktdHJ1bmsKKzEwMTY3IGMyZTFkYjFlMWJiOGZiZDFjYWJlMTQ4MzVmNjY5NmU5Njg5MDI4NGMgbGVnYWN5LXRydW5rCisxMDE2OCAwNGQ3Mzk3OTcwYzIwNjdhN2ZlNGU1YjUzNzg2MDdkMzVkN2E3NzdkIGxlZ2FjeS10cnVuaworMTAxNjkgNTU0ZjJiODc5ZmJiMTFjYjIwZjJmMDk3Y2FkM2MzYzgxMzBlNmQwNSBsZWdhY3ktdHJ1bmsKKzEwMTcwIGY5MjQ3MjdjZDAwYjZhZDk5YTZhZjVlNTlmMDgyZDYxNzE1OWZjMDEgbGVnYWN5LXRydW5rCisxMDE3MSA5YmY4MWQ5M2I5OTViNGMxNWE1NmVkOTJkNmQyNzllOGNmMmFkMjIxIGxlZ2FjeS10cnVuaworMTAxNzIgNTdhNDIxODM4OTdkY2E4NTI1MjI3ZTgwYTIzZThmYzE5MWFlOWRkNSBsZWdhY3ktdHJ1bmsKKzEwMTczIGZmY2RjZjlmZjBlYmM2NmFhNzgyMTEzNGQ1YWY2ZTAwNmUxMGUwOTggbGVnYWN5LXRydW5rCisxMDE3NCA1ZTNjOWQ1MzBiYzFkM2JiNDAyZDRmNjJlNzIwMWVlN2UwOTBhNDFmIGxlZ2FjeS10cnVuaworMTAxNzUgMWNlZDAzNjcxNTc0OWVkODgwN2NjNDdkMzVhODU0ODg5MzBlYzNkNCBsZWdhY3ktdHJ1bmsKKzEwMTc2IGQyM2JmZTA2MTc1ZWVlN2E5ZDYzY2I2NjNjNjNhODQ3ZDdiNjJjM2EgbGVnYWN5LXRydW5rCisxMDE3NyBlNDBmMmE2ZTUyNmRkMmRjMGQzNzVjNDk2YjBlOTlhODQzYjZhYzc2IGxlZ2FjeS10cnVuaworMTAxNzggYWJlN2YxZjQ3NjhiMDFjMGZlZWI0OTA5YTUyY2I0ZGM5ZGRmYTVjYSBsZWdhY3ktdHJ1bmsKKzEwMTc5IDk2YjdjMTMyM2QzMGFlYzljNTkzNGJiYzdmZjlkOGYyZTZmZThmOGYgbGVnYWN5LXRydW5rCisxMDE4MCBhYzg3Nzk2ODU2MmNjZGQxY2I3YzY5OTE4NGFkNTc1YzUzYTU3YzM2IGxlZ2FjeS10cnVuaworMTAxODEgMmNjNGJjMGNkMDM2NzU4ZWQwMDVmMmRkZDczOTdjNGJkMzQ3ZGI1MiBsZWdhY3ktdHJ1bmsKKzEwMTgyIDRiODI5ZTZjMGRjNTU1YTUwMGFjNjkzMGVhMmQwMzZlMzk2NzEyOTcgbGVnYWN5LXRydW5rCisxMDE4MyAyY2QxNDZlMmEzYTBkYjIwNjYzNWIxMTk5NTI1ZGIxZDdiYTIzMDlmIGxlZ2FjeS10cnVuaworMTAxODQgYzlkNTQ2ODA5ZTRmOGUzNzBhNTJiY2ZlMDY4NTE2ZDI1MTUwNzgyMyBsZWdhY3ktdHJ1bmsKKzEwMTg1IGEwMDNlMTRmZWQ4NzcyMzkzMjU0OWYxYzJjM2I0YWVjMGUxZDFlOTcgbGVnYWN5LXRydW5rCisxMDE4NiA1NWUzZjg5MWRiYjVkN2RmMmNmOTJjMjlhYmNiN2ZkNjViMGFhNTY0IGxlZ2FjeS10cnVuaworMTAxODcgMjM2MTQ2NTBlMjliMWRlZWVjYzJmN2UxODliNmU4ZTQ4NDI4NWY2ZSBsZWdhY3ktdHJ1bmsKKzEwMTg4IDQ5OTFhYWFiMTdiZGVmNTUxMmViZTNmMTRiZWRjMDQ2MmJmOWQ0ZGQgbGVnYWN5LXRydW5rCisxMDE4OSBhYmI4MDJjMjE2YWQyNDM2NjUxYWM2YTJjYTMxMjM1NDE2ZTg3YjM0IGxlZ2FjeS10cnVuaworMTAxOTAgNzA2ZTRiOTU0ODYyNDhhN2Y5NTE1ZTdhYmQxYmMwNzRiNmEzNzExYyBsZWdhY3ktdHJ1bmsKKzEwMTkxIDU2ZGNmYzI3NzEwYWI2ZWYzYjNlNjI5OWU1NWZkOTk5Njg4ZTFhZTYgbGVnYWN5LXRydW5rCisxMDE5MiAwY2JjOWRmODgyYjZiZGRmNGRhNDUxNWU5YTRlNzlmYTI4Yzk0ZDQxIGxlZ2FjeS10cnVuaworMTAxOTMgMjRmZjY5YWQ0ZGEyMjM5ZmUyZGY2ZmI0OWZiZjg1ZmJlOTc5YzM1NyBsZWdhY3ktdHJ1bmsKKzEwMTk0IDhkYTcxYzUxNTcxNmFkY2Q2M2NhNzQ4ZGIxNDg0ZDk1NTgwODM3MTggbGVnYWN5LXRydW5rCisxMDE5NSAzODhiMDk3YmRkYjk1NTFhYzc2OGMxYjk3NmIwZWQ5MDdhNTI0NGJiIGxlZ2FjeS10cnVuaworMTAxOTYgOTI3MTM0MGM3ZTBjYzk4OTQwOWI4ZTc5NDMxZWY2MjAwMDM0MDFhMyBsZWdhY3ktdHJ1bmsKKzEwMTk3IDk5NWFlYTA5MjkxNzMzYTY1ODJkMzg3YzlhYWQyNzc3NDM4MjJlYjUgbGVnYWN5LXRydW5rCisxMDE5OCBmODM0MjVjYzdlOTY3NWUxODQwODE1NTNhZDNiZDBiNWMyNjBlMGFjIGxlZ2FjeS10cnVuaworMTAxOTkgZDIxZGM1OWM4NmQ3NGQwYjAxYjQwYWJkOTc2NzNlNTA3ZjgzMDJjOSBsZWdhY3ktdHJ1bmsKKzEwMjAwIDVjN2JjZTA1M2QwMzg4NmVmZDkyZmU1NWU3NjVlZGJhZGExNDdkNWYgbGVnYWN5LXRydW5rCisxMDIwMSBmMDkzZmNmZDU2MjVlMWRiOTQ4YzQyNWU2Y2IyNzZiYzU4MTAxZTY1IGxlZ2FjeS10cnVuaworMTAyMDIgNjczMThkM2ZhNmRjZDY0YTM5ZTMwZGUwOWZlYmQ1MWU0OWUwMzExZCBsZWdhY3ktdHJ1bmsKKzEwMjAzIGQxMDNjMDE4MGIyZGUwNmU1NWU0NGQxMDc1OTdjYzQxNTc2ZGNhN2QgbGVnYWN5LXRydW5rCisxMDIwNCAxYmI5NDNjZDJjMjNkYzdkMzNmYTc2MDY1NDI0ZmEyMDY5NmUxYzFmIGxlZ2FjeS10cnVuaworMTAyMDUgNjYzMzY3Y2ExM2Y4MTY0MDFmY2ZmOGEyYmIyZjQwMjVjOWZiOWE4ZSBsZWdhY3ktdHJ1bmsKKzEwMjA2IDA5NTYzNmI4ZmFiN2U4MTFlNzcyN2MyZGVmOTAwNzFmYmZlZDIzNzEgbGVnYWN5LXRydW5rCisxMDIwNyBjYjI1Njc5ODM0N2ViOTVjNjE5MmM2Y2RhODE2MWIxNzA3NDBmMDJiIGxlZ2FjeS10cnVuaworMTAyMDggNTJkYWE3MGJiMDg0OTM0NTIwNTM3YjVmOWFlMjJkMWE0YjEzNTNjMyBsZWdhY3ktdHJ1bmsKKzEwMjA5IDg5NTgyZmExODI0ZmJhOTk1NTdiMDJlOWM3ZGYwMTYwYTE5NDQwMmIgbGVnYWN5LXRydW5rCisxMDIxMCBjMTA5ZDVjYWQxMDA3NTZmNTA1OTU5NjExYzBiNGY0NGU4M2M1MTJhIGxlZ2FjeS10cnVuaworMTAyMTEgOWMzN2VkODg2OGI5ZWZiYmM5NjhmOWVhNTRmOGQyZTIzMmYyMDQ3NCBsZWdhY3ktdHJ1bmsKKzEwMjEyIGI4ZTFlMTA1NTY0OWQ2Mzc3ODU2ZmQ2MjM2NGE5YTBjYjVhOTE1MGMgbGVnYWN5LXRydW5rCisxMDIxMyAzMGUzMzE0OTY5MzBiNWJhYTk1M2JjZmEyYTEwMTYyNTRmZjU4ZDRiIGxlZ2FjeS10cnVuaworMTAyMTQgNzI1YjM3MGU4NTNmMGUxZjBjZmFmMzU1MTA3MDdhMWE5NjM0NDQyYSBsZWdhY3ktdHJ1bmsKKzEwMjE1IDdhOWFmYWJhODhkODQyY2MzOWU2YjkwYTdjMDY2ODgzODVmMDE2MjUgbGVnYWN5LXRydW5rCisxMDIxNiBlZDMyMDAwMWMyOWE4NzcxZTcwNWYyNDIwOWEwNmRlNTgzNjk5ZTEwIGxlZ2FjeS10cnVuaworMTAyMTcgNWQ3ZTRkMjBjODllZGQ5OThiODBiMDUwYzdkMzExZDM1MDcyOWNmYiBsZWdhY3ktdHJ1bmsKKzEwMjE4IGJiZmQ5NDZiMGIzOGM4ZjE2ZTVlODdjM2UwNjlhOTU0MDk1Mjc0ZGUgbGVnYWN5LXRydW5rCisxMDIxOSAxMDkxYmEyYmFlYTRhMjljYTc5N2IzMzEyNjY0Yjc4ZTJkMzRjZWU0IGxlZ2FjeS10cnVuaworMTAyMjAgNDIzYmU3Y2QwNDc5NTIyYjBjM2M1Y2I1ZmVkZjNjZDFkMzY3OTg5MyBsZWdhY3ktdHJ1bmsKKzEwMjIxIGUyOTAyOTAyOTQxNGIyYTljNWU2ODBjNTVjNjY1YjI3ODVmNjVkMTIgbGVnYWN5LXRydW5rCisxMDIyMiA1YmY2NmFiNGRmYjZmNjljNTIxM2IxNTNjN2I2Mjk2YjZmZjYwMjEyIGxlZ2FjeS10cnVuaworMTAyMjMgMjY5YTMyN2Q2MzA1ZjI3ZDUwZmY0NzFkMjgwMzNlYWY1YjgyNzM4NiBsZWdhY3ktdHJ1bmsKKzEwMjI1IGM0OTg0NTFjNWY1NjQxNjNjMjQxODNlN2U3OTk2OGVkMGIxYThmNmMgbGVnYWN5LXRydW5rCisxMDIyNiA0NWEzZGFiZjBmYTgzYzkwMmVmMTNjNjA0OTk2Y2FlMWEyNGZlYjFlIGxlZ2FjeS10cnVuaworMTAyMjcgNzkyYmZkNDczZjUxNjg4ZGQyNGZiOTM0MmRmMDIwMzBiZGNkMzgzZSBsZWdhY3ktdHJ1bmsKKzEwMjI4IGFlZGQyZDBkY2IzMTU0M2JjNTNlODJjNmNjMDZmY2Y2MDJjZTk2OTQgbGVnYWN5LXRydW5rCisxMDIyOSBhNzNlZjcyMGZiNTY2MzZmNzM2MGM4N2ViNGNjZjY0NDhiNDdhYzhlIGxlZ2FjeS10cnVuaworMTAyMzAgM2MwOGZiOWUxMzRmODJjYzg4ODhlYmYzYWU5ZDQ0ZWJlOWI3NmZiMCBsZWdhY3ktdHJ1bmsKKzEwMjMxIDY5NzJlNTBmMzQ4M2U1MTM1Mjg2YzAzZDNjNjkwNDgyYzM2NmQwMzkgbGVnYWN5LXRydW5rCisxMDIzMiAwYzgzN2RhYjViOWVhYzVkZTQ4NTgxNzIwN2QxZTA2YWE3MzFiZGY1IGxlZ2FjeS10cnVuaworMTAyMzMgYjRiMGU0ZTc1OWM1ODFmMDgxNWRlZWQ1YzYwZjQ5Yzc0YjM4ZTc5YiBsZWdhY3ktdHJ1bmsKKzEwMjM0IDhlZjA2NzU1OWQ1YTM4MmY2YjcwMGVjNTBhNzA2NGE2ZmEwYjc3OTcgbGVnYWN5LXRydW5rCisxMDIzNSAwMzNkYmU5MDkyMTgxNTQxZGE1YTFhNTg3Y2FkZDNiNGJmNGI5NzkzIGxlZ2FjeS10cnVuaworMTAyMzYgZmI0YjRkMDY5Y2M3Y2RiNGI2NjUzMmViNDlkNzdhZDA2ZDI3YmRmZiBsZWdhY3ktdHJ1bmsKKzEwMjM3IGE0MTkzMzRmM2IzOTdiNjRlYTBiYmY4NDgyODM2MTBkNDEwZmNjNjYgbGVnYWN5LXRydW5rCisxMDIzOCA3OGMyN2UzMWFjN2M5ODA2ZWMzMGNjNDg0OGIzZmY3ZDQyMWYxYTk0IGxlZ2FjeS10cnVuaworMTAyMzkgYzMxMjU3YjkyNDQ3ZWNlNWQ3NDc2OGRhOGJhMjJlM2FjODZkZGY1MCBsZWdhY3ktdHJ1bmsKKzEwMjQwIGE1ZTJiZWJlMTc5YWU3NmZiNmEyYjcxMjczZGU5OTI3Njc4ZDI2MzcgbGVnYWN5LXRydW5rCisxMDI0MSA2YmZhNjUwZjMxMWRmNDZlNjcyMjk1MWZmNTZiYWNhM2IzYjgyNjkyIGxlZ2FjeS10cnVuaworMTAyNDIgNDU4YTMzYWJiMzljMWFlYTNhZDQ5NjAwMTIwZDk0ODI0MWVkNTdjNiBsZWdhY3ktdHJ1bmsKKzEwMjQzIGFjZjNiOTUwY2I0MzdkMWI3ZWVkZDExNjE4ZmUzYjQzNjgyMDdmZTEgbGVnYWN5LXRydW5rCisxMDI0NCA5YzAyZTBhMjY1MTFhNGZmMmM4NTNiMDcyNGYwZjhiOTVjMTIwNWU3IGxlZ2FjeS10cnVuaworMTAyNDUgOWQwZGMxMTc3NWE0ZTQ3YWU1NGI5NzQ2ZjU3MjJlNDllNzk3ZTA2ZSBsZWdhY3ktdHJ1bmsKKzEwMjQ2IDhiNzg2NTNiYWYxZmQxMjJiOWU3OWJkOThiYThlMzc0YjE5NjI4YTYgbGVnYWN5LXRydW5rCisxMDI0NyA1ODdkMDE3OGY4ZDM2NmYwMDljM2NmMmU0ZTZmNGQ0NmM5MzdmNzcyIGxlZ2FjeS10cnVuaworMTAyNDggN2ZkNzlkZGZiYjhiODg0ZWY5NjRjYTVhMDY3MGMwNmRiZDZjY2RlYiBsZWdhY3ktdHJ1bmsKKzEwMjQ5IDhmMTc3OTMzYzQxZmFiM2MzMTlmNTdiOGZhNDczMDJlNTUwYzdmNDggbGVnYWN5LXRydW5rCisxMDI1MCA0NjlmNjY5MThkZDZjYmJlNTJmZjZkZTQ1ZDI4ODYxOTJhNThkNzNmIGxlZ2FjeS10cnVuaworMTAyNTEgOWY0NmU3MGViZmJiMmQzNjVhNjY2Y2NkNzhiNTM4Y2M0YWViMThmMyBsZWdhY3ktdHJ1bmsKKzEwMjUyIDcwN2QwNjJjYWU3YmZmMWVkNzg1ODUxOWMyYjZiYzY1NWNkMzBlMWMgbGVnYWN5LXRydW5rCisxMDI1MyA5MTcyOTMxZmQ4MGE0OGFjODcxMGFkYjE4YzAyNzNmNjBmNzM0YTdjIGxlZ2FjeS10cnVuaworMTAyNTQgOGE1Njc0MTJiMjFiYmFlZjczYWJmZTYzNTQ0MWY1ZDQ2YTA5OGVkNyBsZWdhY3ktdHJ1bmsKKzEwMjU1IDVmYjY5ZmYyNGNkZGMxM2NiNzRlMmU3ZmJhYmE1YmQ2YTgyZDI0MTQgbGVnYWN5LXRydW5rCisxMDI1NiA1N2YxMWFiNGUyOTIxYjE0MjAyMjAzYzQ5NzdjNGJlMDFlNmUzZWUxIGxlZ2FjeS10cnVuaworMTAyNTcgZGI5NGIxNWJkNjQwMGJlNTMwZjZjM2Y5NjcyMDA5YmNlN2JkMTU0ZiBsZWdhY3ktdHJ1bmsKKzEwMjU4IDVlMjE1ODk0YzU1NWEyNzI4OWEwYWRjMDkyZjc5MTAzNTRlYWM4ODEgbGVnYWN5LXRydW5rCisxMDI1OSBiMTdkMjAwZWRmNjI3YmRmNTFkNTNhODVlNmE5ZWQ1Yjk3ZjY4MjMxIGxlZ2FjeS10cnVuaworMTAyNjAgMWM0MjA2OTlkNThhM2JhMmUyMmM2NjU3ZDQzZDFmNDk5ZGVkOTdjMSBsZWdhY3ktdHJ1bmsKKzEwMjYxIDNlMTE5OGQyMGY5Y2UxMzM3NTdjNDQzMWVmNThiMjdkZmU4Y2E3ODggbGVnYWN5LXRydW5rCisxMDI2MiAzNmIzYjY4NzZhNTgwZWIwZGZjZjQyYzk4ZDM0MTM5OGYxYTg1YzI1IGxlZ2FjeS10cnVuaworMTAyNjMgN2ZjMzJhNjYyNTVhNzdhY2Y1MGQxZWE0ZWQzNTg2MmNkMTUzMDUzMiBsZWdhY3ktdHJ1bmsKKzEwMjY0IGNmZTZmNThkZDBkOGVmOTIwZTFhZDE4ZThjYWI5YjQxYjZlZDlhYzAgbGVnYWN5LXRydW5rCisxMDI2NSA4MGIyNjc0ODM4MjhlNTgyMDNkMjEzYTJmYjhlMGJlNzU5OWY4MDEyIGxlZ2FjeS10cnVuaworMTAyNjYgMDU2OTJjNjYxNDM0YTE1ZDk1YzgxOTQ0MmU5MmY5ODcwNWI4NGY1ZSBsZWdhY3ktdHJ1bmsKKzEwMjY3IDZhZGY5MTdlZTc3MzBkNzM5ZDA2MTYwZmY2ZWRiZWJlYTY0MWMwMGEgbGVnYWN5LXRydW5rCisxMDI2OCA0NGZjN2ZmZGZjNzdmYmVhN2MzM2U3OGFkNDhiMjY4OThmYWRjMTg3IGxlZ2FjeS10cnVuaworMTAyNjkgYjFjMDkxNTAxNDExMGZiZmM2YWQ5ZmY4YzYyMzZhYjgwOTk4MGJhZSBsZWdhY3ktdHJ1bmsKKzEwMjcwIDg4YzUzOTIxYmY4ODA5ZTY2YzU4MDdkYzIxOGEyZGNjMTdjZGVkMjEgbGVnYWN5LXRydW5rCisxMDI3MSBiOWUzMTEyMGEwYzRlYWU5ZTVjNmU2NTUxNjQxMDJlMzM5ZjZmNjBiIGxlZ2FjeS10cnVuaworMTAyNzIgMjNkMDQ5MDAyNTY4OTUxN2FiMTZkOTY4YjI5Yzc4YjZlNDc4NjJiOCBsZWdhY3ktdHJ1bmsKKzEwMjczIDhkNDE0ODIxM2NjMDJhNmRjMTkzNWY5YzhlZThiNThmMTI0ZDBlYzAgbGVnYWN5LXRydW5rCisxMDI3NCAwNzQ1MzE0MGEwOTU1MDA4OGQxZGRiN2E3NTdmMWRjZTg4NGQwZGZhIGxlZ2FjeS10cnVuaworMTAyNzUgMzc1YTkwMTA2NWMxYjg3N2E1ODc5N2FmMmE1ZDM2OGQzMDA1ZTA0MSBsZWdhY3ktdHJ1bmsKKzEwMjc2IDQzM2MzODFjMzcwMGUzYjAxNjU5ODcwNmY1MmM5YzU2YmU0ZDczYmIgbGVnYWN5LXRydW5rCisxMDI3NyA2OGUyYjBkYmJlYzhlYjYyMGEyYjliMGRmZWQ0NDFjNDNkMjAwN2VmIGxlZ2FjeS10cnVuaworMTAyNzggMDY4YTc3NjJlMjg2MTMxNmNiZWQ2NTk1NmUzNmRmZTlkMjBiN2Q2OCBsZWdhY3ktdHJ1bmsKKzEwMjc5IDQ5ZjExZWI0ZWI5YTMzMjIzM2FhZjc5YzAzN2Y0YTc1MTk3ZTU4NTAgbGVnYWN5LXRydW5rCisxMDI4MCBjZjcyMzk5MWQ3NWZhZDE2YWIyZjNlOGQxMDllYzM1MjAxNGYzY2M0IGxlZ2FjeS10cnVuaworMTAyODEgY2Y0MjAxZWY3M2FhMmM2YWI0ZjQ5ZWJhYTcyOTk5YWM1MTRlMTFiNyBsZWdhY3ktdHJ1bmsKKzEwMjgyIDA0Nzk5NjY2NmM4MTg5OGIwMzQxODhhMmMzMGMxYjRmYjVjY2ZhNGEgbGVnYWN5LXRydW5rCisxMDI4MyBkZmZlMWU0NzBlNmNmM2NmMTE3MjQ4YjcxZWUzNGFjZmM1NzcwYzI0IGxlZ2FjeS10cnVuaworMTAyODQgMDY2MGYxN2FkZTYwM2NhMmE0ZmZkMThiMzY2NmUxNWNkY2YyZGY0OCBsZWdhY3ktdHJ1bmsKKzEwMjg1IDZkMDRlOGM4MTdmYmVmYTYwYTVkZTlkMWMxZTUxMTAxNmQzNWEwN2YgbGVnYWN5LXRydW5rCisxMDI4NiA0YzZkYzA3ZjFiNmE2MGNjYmZjMGMxMWU4MGNkMTVjZGM0MjE4MzI2IGxlZ2FjeS10cnVuaworMTAyODcgODFmOTgxODgwMTJlNDE5ZDA4MTk2ODQ5MmNjYWI1Mzc0ZWJkZTYzYyBsZWdhY3ktdHJ1bmsKKzEwMjg4IDVkMTVmNGZkNmQ2OWZlZWU2MzE0NmM3NDExNGIwZGNjOGEzODk4YWYgbGVnYWN5LXRydW5rCisxMDI4OSA3MGNjYmJjYzEwY2NhZDQxODkxNzgxNWRkYzJjOGIxNGRjZTJjZDk2IGxlZ2FjeS10cnVuaworMTAyOTAgZTU4MGFmYTFjODMzODBiMjQ0MmRlNmZlMDg1ZjEyNmNlMGNmZGJiNCBsZWdhY3ktdHJ1bmsKKzEwMjkxIDk5NjdiZTFmNDAyYjFhMDYxMzQ5ZmUzMzg4YTMxOGFhMmNiMjkxYzAgbGVnYWN5LXRydW5rCisxMDI5MiA0MTJlNmFiMDNjNmZmYWQ5OTA4MzE3MWVhZjZlMzAwMGQ0MTJjNTBiIGxlZ2FjeS10cnVuaworMTAyOTMgYzA0NzA4NDRjN2JjN2M2ZTViNzA4MGU5ODNmNGMyMzk0ZWUxNjBkMiBsZWdhY3ktdHJ1bmsKKzEwMjk0IDY0MzJjYmFkODI4ZGM5YzhiZjNhNDU1NGI1NTVhMGNiMmUzM2Y1NGQgbGVnYWN5LXRydW5rCisxMDI5NSBhNzI3YWU2YmZlNTBjNTg4MDU0ZDA5NjFjYjFhMzZkMDdkOTBiODE0IGxlZ2FjeS10cnVuaworMTAyOTYgY2M0OTQyZjBlYzRjOTRjYmM5N2E5ZTBhNGE5NDA5OTJlNGZmYTQyMyBsZWdhY3ktdHJ1bmsKKzEwMjk3IDUxMzIyNThkYTc4ZThhZjdiZTg5MzM1ODc5MjJhMmM1MTUwMjZmZWMgbGVnYWN5LXRydW5rCisxMDI5OCA0NjE3MzhhYWE1MzNkMmNjYzhiZTlhZDg1ZmI1YTg1NDU4ZTMyY2E2IGxlZ2FjeS10cnVuaworMTAyOTkgYTM1YjU0MTRmZGQ5YmI2Yjk3NTEzMzRkOWYwNmJiZjAxYzQ1ODFiNyBsZWdhY3ktdHJ1bmsKKzEwMzAwIGQ3YWJhZDcwZjY4MTE0ZDQyMWM2NTE0NGY0MzM3YjJkN2Y5OWVlY2UgbGVnYWN5LXRydW5rCisxMDMwMSAyMDkwZjhmOWQ1ZDJkNDk2MzVjNjBkN2YwNjk2ZjIzYWY1ZjQ2MjRlIGxlZ2FjeS10cnVuaworMTAzMDIgZWQ4NTZmY2NmNjM5N2ZmZTk0N2NhYzAwZjY3NWI4MzljZWExYTM2YiBsZWdhY3ktdHJ1bmsKKzEwMzAzIGQxYjIzNTA0YmQ5OWMzYjE0Mzk2YzVkOGQ5ZDMwOGQ5ZjBkZjJkNGQgbGVnYWN5LXRydW5rCisxMDMwNCAwNTc1ZDVhMTcyMTg1NmQyMDFhYjZhMjRhNTk5MDlkN2RkY2Q5NTdhIGxlZ2FjeS10cnVuaworMTAzMDUgYjg1YTY3NWI2NTAzZTU4NTk3OTlhODdiMDg3MDUwNWQ5NGZhMjg0NCBsZWdhY3ktdHJ1bmsKKzEwMzA2IDI5ZGM1ZDE5MjhiZmUxYTIxNGMwNGY0YmNmYThhYTQxMjU2Mzk1YTMgbGVnYWN5LXRydW5rCisxMDMwNyBiNzFkMWJkZDE4N2RlZTZjOTczYWVjZjRmZDdmZGJmNTI2NmE4MTJjIGxlZ2FjeS10cnVuaworMTAzMDggOTg2YTc0YzNhMjJjYTBmYTdlNDMyNGMwNzNlNTQzNTk5OTZmZDkzNCBsZWdhY3ktdHJ1bmsKKzEwMzA5IDhmMGUyOWNlNTllZjQxNzhlN2NhMTUwOGJkYjIxMTliZWNmZWU3YzAgbGVnYWN5LXRydW5rCisxMDMxMCBlMmZiMjU3ODQ1MzA0OWUwOTQ3NzJhZDY2MTNhZGYxOGY1NzY5ZTVhIGxlZ2FjeS10cnVuaworMTAzMTEgMzQyOTllMDk2ZTM1MzkwYTM0MmRjNzhkODZiOWY0MzZhNjQ4ZjZhNyBsZWdhY3ktdHJ1bmsKKzEwMzEyIDFmOGYyMDAyYmZiOWYwNWE1MGE1N2FlZjc5ZTQ2MmZiOWI4ZmE1NmMgbGVnYWN5LXRydW5rCisxMDMxMyBkMTRiNzEyMGM1NTE4ZDFlZGJlMzM0YzcyZWNkM2Y2NGU1ZDJkNzZlIGxlZ2FjeS10cnVuaworMTAzMTQgNjQzZTk3MjhhYTQ5MmU4NDZlNWE5MTY5MjU2OGQzNDA2Yzk3ZmU5NCBsZWdhY3ktdHJ1bmsKKzEwMzE1IDE0N2MxMDY3Y2EzM2QxNGVhOWI1OTVhOWNiNzM3Mzc2YjZkOWRjNTAgbGVnYWN5LXRydW5rCisxMDMxNiBjYTczNWI4NGE5MzlhNWEzNGQxZTAzMjk0NDBkYTVjOTBiZjhiZTE1IGxlZ2FjeS10cnVuaworMTAzMTcgOThmNmVkMTMxYjc1Y2VmNDNmODY3MTg1ZGIzZDQ1YTM5NjFmMTQyNiBsZWdhY3ktdHJ1bmsKKzEwMzE4IDU0ZDhlODVkM2MyODdkYzI1NDA3N2UxZGI3MmFkMDdhNDg2MmQ0MDIgbGVnYWN5LXRydW5rCisxMDMxOSBmYzk1MDQzM2QxNThlNTZmZDE0NWE1NDc3MjlhYWIzNWRlYzExY2I1IGxlZ2FjeS10cnVuaworMTAzMjAgZDRmNTMyMWI5ZDllODU2ZmMyYzZmMDA5N2E3MjIzOWEwMjFlNGMyZSBsZWdhY3ktdHJ1bmsKKzEwMzIxIGFhYTIwNGEwNWY4NDIzMjcxNTFkMjkzYzUxNDA4MjllOWZmNDdkZDAgbGVnYWN5LXRydW5rCisxMDMyMiBjYTE4NTA0ODFlMDJhNDFhMzJiMzg4MzY5YjM4OWVhZDU0YWQzNDQ2IGxlZ2FjeS10cnVuaworMTAzMjMgNDkxZTMwMDVmNTRiNTQ2ODZjYmYyMmZmNzQ5MDkxZmU4MTE3MmJkOCBsZWdhY3ktdHJ1bmsKKzEwMzI0IGFhYzU4NWZlOTQ1MmZiZGVmYzg2ZjRiMDcwOTBjMmJmYzk0ZjdhYWUgbGVnYWN5LXRydW5rCisxMDMyNSA2NzA5YTAyZjY3MTgwMzhkZjEzMmQxZTFjNzUxMTcxZGFjYjAyOTYyIGxlZ2FjeS10cnVuaworMTAzMjYgOTQ5YjU5ODIwMTg1YWY5MTFiODc0ZDkyYjkzNjk4NzQ3MDc1YzNlNiBsZWdhY3ktdHJ1bmsKKzEwMzI3IDZjNmE0OGJjNTgxNzNlNzA0ZjU2Y2Y4ZGVhZTg1ODRiZWQ4NzVmZWYgbGVnYWN5LXRydW5rCisxMDMyOCAzYzRmNzM2ZDVlMDEwY2NkNjI3YzUyYzVkYzNiZjUzNDRlZGIzMjMyIGxlZ2FjeS10cnVuaworMTAzMjkgNGZiZTZjOWM1ZDgxMWZkNGYzZWNjYzQ1Njg1YzI3YWM4OWQ0YTU3OCBsZWdhY3ktdHJ1bmsKKzEwMzMwIDlkM2I0MDFiYWM2ZGUyYzcwOTNkYjg3NmRjNjJmZjc1NzVjNzlhODEgbGVnYWN5LXRydW5rCisxMDMzMSBkYjFlNDlkNTFmZTEyYzI3NThmNzkxMmEwYjc4ODBhOThhNzI5NWE4IGxlZ2FjeS10cnVuaworMTAzMzIgNmU0ZWEwZWRhMjJlY2M5YmQyZjgwM2VkMDc5ZWM1MWVjZDE1YjI0MSBsZWdhY3ktdHJ1bmsKKzEwMzMzIGYzNGE2NThlN2MxNTY1YjYxNmU0ZjkxNmNkMzIzOTMyMjMxYWI2YzQgbGVnYWN5LXRydW5rCisxMDMzNCAyNjFjNjM5Yjk4NDczMjU0ODc1MjU2MGRjYjU2YzBlZjAzMjU3N2E1IGxlZ2FjeS10cnVuaworMTAzMzUgMWYxZjk0OTUwNWFmMDRhMTE4ZWVlOGM3N2JhYWQ3MmU2ZDE3NTJiYSBsZWdhY3ktdHJ1bmsKKzEwMzM2IGI3NWIyZjlkM2NlMTNlOTZhNjhkMzA2OGM1YWE0ZGM5YzJkZDc0NTYgbGVnYWN5LXRydW5rCisxMDMzNyA5NTY3MTllYTVmNWE2ZGJjYTRmZmY5MzJmYmEzNjcwZWUwNGYyMDJlIGxlZ2FjeS10cnVuaworMTAzMzggYjg0Nzg1MDRiNzc5YmIyNzdmY2QzOGUyZjJjYzAwYzc2ODJjODMwMCBsZWdhY3ktdHJ1bmsKKzEwMzM5IDg0MmVkNmJiZDA2NjBhN2FhOTUyNTI1NGRlYmMwYWJhNGM1YWNhMTYgbGVnYWN5LXRydW5rCisxMDM0MCBiMGIzM2EzNTdjNzllZDY0MDE2MmZiNzlkYjVkN2JlNDhhNTQwYWQzIGxlZ2FjeS10cnVuaworMTAzNDEgOWUxMGM4NjJhYmZjMWEyODBiOGJhYWM2ZWZhYTljZTEzNDE4OWM1NiBsZWdhY3ktdHJ1bmsKKzEwMzQyIGU4NWQ2ZGI3YmY5Nzc1MGE0MGI0NGE4OTIyOWFhZGE2OTk5YTZjN2EgbGVnYWN5LXRydW5rCisxMDM0MyBhM2FkYjE2ZjA4OTVmMGIyOTljYjcxMTI2MjcxYTY5NzBlODQ0YWU1IGxlZ2FjeS10cnVuaworMTAzNDQgZDc3M2RiMDYzNTVjMDY5OGQxYWZkNzVjNzBjMDgzZjAwZGI2YWU4ZiBsZWdhY3ktdHJ1bmsKKzEwMzQ1IDIxYTdlM2MzMjRkZjdmYWNlOWZhMDAzY2E5N2MwNGNkM2JlZDQ4ZDYgbGVnYWN5LXRydW5rCisxMDM0NiAxNzZiOTllNjk2NWJlOTMyNjg2MzFlYWY1ZThjM2ZkNDYzZGQ0MGM2IGxlZ2FjeS10cnVuaworMTAzNDcgYjY5ZmE5ZDE0MmNhNWE3OGMzZDZmZWZmMjQwMDg4ODU3OTVkZTRlMSBsZWdhY3ktdHJ1bmsKKzEwMzQ4IGM3NmFkYWY1MTJkNjU1M2FlYmYxZjQwNzUxNzQ5OGI0ODE5MGQwNTMgbGVnYWN5LXRydW5rCisxMDM0OSBhNjFmZGI4YTQ0OWVlMWYwMzYzYmJlYzBlODI4ZjAzMmMwZGU1YzAwIGxlZ2FjeS10cnVuaworMTAzNTAgMzFmYThhMGZkMTc4NzJlNDJmZGFkNzcwOTRkMjE5MDY1NWIyMTEyNiBsZWdhY3ktdHJ1bmsKKzEwMzUxIDZiYzRmODA3MjVkNmUyOGRiNGY2ZDMyZjg3NTQ5MWQ4N2IxOGE2OTAgbGVnYWN5LXRydW5rCisxMDM1MiBkMTUxODFhMGNmYmFiODYyNWExMjg5MmRmNDFkYTQ1YTliYWMzNjYwIGxlZ2FjeS10cnVuaworMTAzNTMgYjVlZGUxMzNkOTIxNmFlZmQ0MjhjODUxM2EzYWJkN2UxMDRkZTEyMyBsZWdhY3ktdHJ1bmsKKzEwMzU0IGQwN2I5N2QyOWE5ZTMyYTEyY2QxNTgzOWEzMDhkNGM1YTVkZjdjYzQgbGVnYWN5LXRydW5rCisxMDM1NSAzOTIzODhjNTJlMjE3MTdlZjIzZTNlOTgwYWNiMGMwNjhjZWY1ZWVhIGxlZ2FjeS10cnVuaworMTAzNTYgOGY0MjVmOGY0YmUyZGY1ZGUwY2I3N2I0Nzc1YzZhZjFmY2E1YmIyYSBsZWdhY3ktdHJ1bmsKKzEwMzU3IDBhODczZjJiNjRmNDE4MmEzYjgyMDdjNTk3YWI4ZmEyNDNiOGYzNjUgbGVnYWN5LXRydW5rCisxMDM1OCA4ZTUyMjM2ODBhOWRhNGM2ODlmYmRiMmNiYzQwNTJhOGVlYWUwY2I1IGxlZ2FjeS10cnVuaworMTAzNTkgYWMyZDFjMWYxOTcxZjJhOTNkZWQyMTdmY2M3NTRhNmRmMjBmOGRhYSBsZWdhY3ktdHJ1bmsKKzEwMzYwIDQyN2E5YjFjOWFiZDhlMTIwZTJiZjBiYzllN2VkNmY3YTZmNDAxY2QgbGVnYWN5LXRydW5rCisxMDM2MSBiZGU2OWRmYzIyNGYwZTczN2I4NjY4MDYzZGNkNTZjNmZkMWM4ZGIxIGxlZ2FjeS10cnVuaworMTAzNjIgNjM3MGYxNTkzYzcyMGI5MmExM2RmNzI3YjlmMzFjZDVlMmNiYjVmMyBsZWdhY3ktdHJ1bmsKKzEwMzYzIGIwZmJlNmI2ZGNiZjExYjFhMTAyMTJjMzk3M2EzNzg0MmQ2OTIyMjQgbGVnYWN5LXRydW5rCisxMDM2NCBlODMzYmVlNWQwNWZiMjRlNzQwMDgyZGNkZDYzYWFkOGRiMmMxZWI2IGxlZ2FjeS10cnVuaworMTAzNjUgZGZjOGRlOGYxZWMzZTY5YjI4MjNjZmZkZmRjNjA5OWU4YmFlODc0OSBsZWdhY3ktdHJ1bmsKKzEwMzY2IDQyZDNmMWY3MWM1NmNmYjk5YjliZWEwMWFjYmRiZGMwYWMwMWMzYTAgbGVnYWN5LXRydW5rCisxMDM2NyBhZTk3NzhjNGZmY2FmNjM2OGU2ZTBlYThlYWZlMjg5NTJmNjRjZjJiIGxlZ2FjeS10cnVuaworMTAzNjggZWZiYjdlNTdlNmY4NmZjMGY2MTAwZTQ0ODQyMmQ4NDU0Mjg0YzE5NCBsZWdhY3ktdHJ1bmsKKzEwMzY5IGY4ZjY2M2I0MzJiNDM1NmE4YmFlMjA3MGE2NjdiYjBlODllZmY3MzUgbGVnYWN5LXRydW5rCisxMDM3MCA0MWM3ZDUyNDNiZTkzMWY4M2ZlZDYxYjZjZjIzOWVkMWU5OTUzMjg1IGxlZ2FjeS10cnVuaworMTAzNzEgOGEzODljOGZlNmVmZDJhMzViYTMyNzk2ZGU5ZDdmNDIzMGU2ZWJhOSBsZWdhY3ktdHJ1bmsKKzEwMzcyIDM3MjM0ZTFiYjc1ZmZkZGViODUzMWI1NGU2OGZjYzRmZGVmOTVkODAgbGVnYWN5LXRydW5rCisxMDM3MyBkYmQyZGUyNmM4ZDIyNWZmZWMwZmFiZmQ5ZTc4ZWE5ZGYwOWFlMGUxIGxlZ2FjeS10cnVuaworMTAzNzQgOGM5MzU0NGI5NWU0YjNjMWMxNTY3NDk4NmYwYjlkOWEyNzBkNjhhMiBsZWdhY3ktdHJ1bmsKKzEwMzc1IDI2NzM4NDg0MzdjMzRkNGVkM2ExMTA0YjY4ZjI2Y2NkZWY0YWFmOTMgbGVnYWN5LXRydW5rCisxMDM3NiBlNjA2NmI4MTNhNzE0ZDE1ZTk2ZTQyMTc1MzMyZjQ5ZjNiMGYzZjk5IGxlZ2FjeS10cnVuaworMTAzNzcgMjlhYjNmNjAyZDAwMjNiNWMxOTM3MzI2YTQ3OGI4ZGI1MWExNzhhZSBsZWdhY3ktdHJ1bmsKKzEwMzc4IGRmNjM2ZGVkMmU3MDJiZGRmZGY4ODIyYWE4YjhjNzI5NjRhYjg2ZDYgbGVnYWN5LXRydW5rCisxMDM3OSA2YTAyOTllYmNjZWY5MGQwM2Q0YzgwMGZlM2FlMTc0YjU0YzZhODlhIGxlZ2FjeS10cnVuaworMTAzODAgOGYzYmIwYjE4YTgyYmNlNDA3MTljOTQ0ZDEzMzBmYThiNDJjYzE3MiBsZWdhY3ktdHJ1bmsKKzEwMzgxIDFlZmVlNTAzMjU5ZTUxYTQ4ZGQwMTY2MTAzYWYzYzk1NTI2NTA5NmYgbGVnYWN5LXRydW5rCisxMDM4MiA5YTI0NmQ3NGZjYjc1MmExNDZkMzRiOWY4YTExOTFjOGE5Y2I3MGE2IGxlZ2FjeS10cnVuaworMTAzODMgYTExMDQyMWQ4NmI3MzE0MDAwZmMxODlmYzBlN2NlYWZlNzRiZWY1ZiBsZWdhY3ktdHJ1bmsKKzEwMzg0IDE3MzY4YzkyYzc2OWE1M2JjNDM5YzAzNDExMDE1ZTk1MmM2NjQwYmIgbGVnYWN5LXRydW5rCisxMDM4NSAzYmQ2NjhkZjZlZmRjMmQ2MzUxM2Y4ZWY2ZWQwMjc5ZDcwYmM5NWI2IGxlZ2FjeS10cnVuaworMTAzODYgODBiMmFjNjFmZTAzOGE4YmI2OWNiMGQzOTQ0MDQ0OWE0OTkxNzY5NCBsZWdhY3ktdHJ1bmsKKzEwMzg3IDRiNTY2NmRmZjVlNjcyNDk2N2E3NTM5YjkyNTFjNjUxMTZmODg1ZjkgbGVnYWN5LXRydW5rCisxMDM4OCAzZjhiNTU2NGYwYzdjMjllMTA3YTU0NDE0NTczOGRiMzg3MDNiMTVhIGxlZ2FjeS10cnVuaworMTAzODkgMWExZDMxNDdiMDI3YzRiNGZlNTc4NzcyNjE5NzY5MjVkZWY1Y2E1ZCBsZWdhY3ktdHJ1bmsKKzEwMzkwIDVlYWZkM2VkYTBhZjRjYWVlMGI2MjI1MjUxM2ZiYmQ3ZTA1YTcwNjEgbGVnYWN5LXRydW5rCisxMDM5MSBiNzFhMTI1Nzc2NGIwMzI1OTJlNjM3MDI1ZWNkNjU3MDI2ODNlOTA2IGxlZ2FjeS10cnVuaworMTAzOTIgMzFmOWUyNjc1MTk5ZTE5NTYyZGQ4ZjE3MTNiY2IzMmVmZGM1ZWEwYSBsZWdhY3ktdHJ1bmsKKzEwMzkzIDU0MThjMDczMGYwMDk2MTYyYTViZGU1ZTAyMWQzZGU5MmYxMTQ2N2MgbGVnYWN5LXRydW5rCisxMDM5NCA2NGYzZTllYmYyMWFjZjMyNjg0MTI1MGU1YmMxMzIzNGY1MzJmMzYwIGxlZ2FjeS10cnVuaworMTAzOTUgMWRhZWNkNjVhN2M1ZWZjOWUwY2QxMjVjNGM0OGI2ZjhlOGFkOGVmOCBsZWdhY3ktdHJ1bmsKKzEwMzk2IGJhOWIxYjRhZWFiOWVlOGFhZTVlN2VhNzg0YmZkZDZhMDJiZTE0NDMgbGVnYWN5LXRydW5rCisxMDM5NyAxMzE4YTQ3NGJhYTA2ZGQ2N2ZhNjEyZWQxYTNiMzdlZjA2MjIxZjc2IGxlZ2FjeS10cnVuaworMTAzOTggMDkwNWY4NjY2ODA3ZjMzODc0M2E3NmY1MzgyMThjMjBjOWZlYzNiYSBsZWdhY3ktdHJ1bmsKKzEwMzk5IDVmYWI1OWViNGZhNWExY2Y0NzE5Zjg1YmJhNzA0ZDI0YzVjYTgzODcgbGVnYWN5LXRydW5rCisxMDQwMCA2YmMwNTM1ZGJmNTI3NzkyZjhkZGFmYWRmMzM3N2Q0MzQ0NGRhMDkyIGxlZ2FjeS10cnVuaworMTA0MDEgZGRlMGRmZmIxYTA4YWFlNDE4OWJiMzYwZTBkNDk1ZGIyNzY0ZWVkYSBsZWdhY3ktdHJ1bmsKKzEwNDAyIDBiZGNlZGNkMTU0OWI3NTk1MWVjM2ViZWMwZjEyZjkwNDdjOWUwYzUgbGVnYWN5LXRydW5rCisxMDQwMyA2YmU3YWIyNDZhMDViNGM4MWIxMjYzYThhYTZkMjAzZDUxODk3MmRjIGxlZ2FjeS10cnVuaworMTA0MDQgMjNjYzZhYzVlYmE2YzA3NjMxYzdjNzZjNGU1OGE4MGFhODRlODNjZiBsZWdhY3ktdHJ1bmsKKzEwNDA1IGRlOTBiYmU4NTAxMzdmZTFlZmI3NGI1YjcwOGNiOWRlMDE4ZTBiZDcgbGVnYWN5LXRydW5rCisxMDQwNiAzMzQwN2MwZWYxNGZmZTU3YzEzYzU1ZTVmMDA0MGEyNmY0OTJiNjg0IGxlZ2FjeS10cnVuaworMTA0MDcgZTI5ZDQzNWFiMTQyZjFlODVkZWNjMzFjOWU5M2Y4Njc3ZjdlOWE0OCBsZWdhY3ktdHJ1bmsKKzEwNDA4IDExMjZlNzJlNWVlOWM5YTQ5YTFiMmQ3Yzg3ZmMzNWIzMDUxY2U5ZTUgbGVnYWN5LXRydW5rCisxMDQwOSBlZjMwMGU2YjBjNzFkYTBiZDVhODFlY2QyMDhiY2I2ZDczYzk5YjY5IGxlZ2FjeS10cnVuaworMTA0MTAgOWQ4YzA2NjZiMGNiYmMxNGY0YmM4NjlhNzA1MjE5MjAyZGRhOTcwMyBsZWdhY3ktdHJ1bmsKKzEwNDExIDg2OGRjODRiYjViMjlhYmUyZjdhMGQ2MTc2OGM2OTAwOTUyZDAzNjQgbGVnYWN5LXRydW5rCisxMDQxMiA3YzdmZjFhMzY1MjE3YjQ1M2FlMTQ1M2Q0MDk0NWYwYWY5YjgwZmMzIGxlZ2FjeS10cnVuaworMTA0MTMgMDUyMmFiMjEwZmNiYjA4YTc2NTFmYmMwYTUwZjI3YzY4ZGE2YWJlMCBsZWdhY3ktdHJ1bmsKKzEwNDE0IGIyYWRjZDczYzE1MGI4MmM1Mzk5Nzc0Zjg4MDQxY2M1ZGQ5ZjY1OTAgbGVnYWN5LXRydW5rCisxMDQxNSA3MDhkZTRjYjk2ZWIyMWJkYWM4YmY2NWRhNDA5NThlMjAwZDNkNzVhIGxlZ2FjeS10cnVuaworMTA0MTYgYWE3ZDY5ZDY3YzgxZDdkYTM5MzNhZTA4NTBjNGZlMmMxYzFmY2E0OCBsZWdhY3ktdHJ1bmsKKzEwNDE3IDFmMzhhMmI1NDhiZjlkMDZhNmEyNTFlODRiMDViZTYwN2ZiNzQ1ZDQgbGVnYWN5LXRydW5rCisxMDQxOCBmMjIzYmY2MWI0ZWUwM2I4ZWY0ZWRmMzllOTliNWU2NTIxMTFmNGMwIGxlZ2FjeS10cnVuaworMTA0MTkgY2E0ZTI1ZWY2MWY4MDY5YmQ2OWE2MjQzY2RjZDQ1ZTNkY2JiODQxNiBsZWdhY3ktdHJ1bmsKKzEwNDIwIGQzZWMyZTUxZjY3YTIxYjhlNTQzMWUxNGMzZmU3MzY1OWNkYTBhYTggbGVnYWN5LXRydW5rCisxMDQyMSAwNTdlNDIyZDJjNjEwOTAwOGUyMDk1MjdkYjBkNDY4ZGI1NTllYTEzIGxlZ2FjeS10cnVuaworMTA0MjIgOTFlY2RhOWQ1MjQ1MWRmNzNlZjZkMDUxMDBjY2E5YTM2M2U4NWM1MSBsZWdhY3ktdHJ1bmsKKzEwNDIzIGVlMmFhYTJmNzIyYTg0N2NjNmRmZjkxMjI2ZmVjYTlmOTAyNzZjMDggbGVnYWN5LXRydW5rCisxMDQyNCBiMzFhYmMxMzFjM2RmOTQzZjAyZjU2NDNiNTU0NWJlMzYzZmNjYWZiIGxlZ2FjeS10cnVuaworMTA0MjUgMTYyZGIzZDBjOTE2N2UwOWQ2ZDc2OWIwN2IxMzNiYjIxMDIwNjZiOCBsZWdhY3ktdHJ1bmsKKzEwNDI2IGRjMTMyY2MzOTU3M2EwZWE2ZGYyZDI2Yzk5OTA5ZWFmYjU4YzVmMmUgbGVnYWN5LXRydW5rCisxMDQyNyBhZDExNDYyMGY4YzI3ODJkNTc3ZGIyZDA0M2MxNDc1MmQxOWU0OGY3IGxlZ2FjeS10cnVuaworMTA0MjggYTJjMWIzZTE3OTUyNmRkMjRkMDJiZGE3NzRiNTJkNDNiZDUxNDQ3NCBsZWdhY3ktdHJ1bmsKKzEwNDI5IGYwNjkxMzgwOGZlMWRhY2U3NWUxMjIwOWI3NjVjYWZmMWMxNzk2ODUgbGVnYWN5LXRydW5rCisxMDQzMCA1OGQ2ODE1YWYwMDJlNjc4ZmViODczYTk1YmU3ODY2NTA3OWFjYjQwIGxlZ2FjeS10cnVuaworMTA0MzEgOWNiY2I1OTMxZDgwM2Q2ODk2MDAxZWVlNTg5Y2ZmYzY2MzM4ZDcwYyBsZWdhY3ktdHJ1bmsKKzEwNDMyIGY0MmI3NTc3NTVlYjMyYWJlYjZkODI0Nzg3MmJjNzQyYjU2MmQ0M2EgbGVnYWN5LXRydW5rCisxMDQzMyA3MmQ5OTYxNTQwZDg1YjIwMDM2OTQ5ZjE0YjRhNDFjMjg0NjJmNjVlIGxlZ2FjeS10cnVuaworMTA0MzQgOTJlMzYxMTZhZjQyMWJjZmVlYzlmOTA2YmZiZGJjNzZkOTk4ZWRhYyBsZWdhY3ktdHJ1bmsKKzEwNDM1IGViZGQ0MGUyODE2MDI1YzlmOTQzMmJhOWEzOWIwOTNlMDhiMjc2ZDYgbGVnYWN5LXRydW5rCisxMDQzNiBjZDllNjY0YTFhOWZhODRiY2M2MWQyYWQ4MWUxZTJkMjdmZDRiZmE4IGxlZ2FjeS10cnVuaworMTA0MzcgZmMwOGRhMmM5YTBmYTdkOTY4MmUxMWQxMGU1Y2QzOWFiNTk3MGEwMyBsZWdhY3ktdHJ1bmsKKzEwNDM4IDhmMzY4ZGYxNzNlNjg4YzQ2NGM5MDYzNjQ3ZGJjNTBiMTkxYmUzZDYgbGVnYWN5LXRydW5rCisxMDQzOSA5ZTExM2FhMzc1OGRhMTA0OGM3YWNlMzMwN2VkMjc3Y2FhYTc4NGNmIGxlZ2FjeS10cnVuaworMTA0NDAgZmVjOGViMmEzODBkZDUxNzFjNjU1MDk2NzY1NTcwN2U1NDcxMGE5NyBsZWdhY3ktdHJ1bmsKKzEwNDQxIDhjYTAxMDgzMTQwY2I5OTJkMTJiNmNlZDUyM2IxNmJmMTM2YjE0NTEgbGVnYWN5LXRydW5rCisxMDQ0MiBjY2QxYzk2M2U1MDk1ZGRlNzQ0ZWM0ZGEwYzQ5ZTIwOTJjMjRlYzI1IGxlZ2FjeS10cnVuaworMTA0NDMgZDZmY2JkMzcxODU1ZTM2NDdmMTg1OTcxYTIyNzEwNGI3Y2RhMzdhYiBsZWdhY3ktdHJ1bmsKKzEwNDQ0IGFmZDU0Zjg5NWRjMzAzMGRkMzBkODA5N2ZmYmI1ZWU1YTYwOWI1ZTQgbGVnYWN5LXRydW5rCisxMDQ0NSBkMWVhMTNjZjQ2ZjdiYzVhY2ZlNGUzYmQyYjAyNWNkYmQ3Y2I2Y2RiIGxlZ2FjeS10cnVuaworMTA0NDYgZThkMGI4N2M4ZDZiMWZiMGEyMmY1NzgyNjNhYmQ5OGY4YTExZWE4MCBsZWdhY3ktdHJ1bmsKKzEwNDQ3IDhjMjY4ZDBlODgyMjA1NGNjYjUzYThjZTI5YWQ3MDI2NDkyNmJhZDggbGVnYWN5LXRydW5rCisxMDQ0OCBiYmQyYjVkOGQwYjZjMjJiY2E0ZjdlMDJiMDRlMWRmYWFkOTg1ZDZjIGxlZ2FjeS10cnVuaworMTA0NDkgMmVmNmUwNDI0MTc5Y2FmZjlhMzZlNzc1OGQwYTcxNzIyYWM5ZTVmNCBsZWdhY3ktdHJ1bmsKKzEwNDUwIDMzOGYxZGVmNDM3MDliZjRmMzJkNWI4ZDAxZjdmNmY2NDZiODNiY2UgbGVnYWN5LXRydW5rCisxMDQ1MSA0Y2VlZTFlZjk5YjAzMjgxMGZiYjYyMzdkZWIwMTg3NzlkZTBiNzMxIGxlZ2FjeS10cnVuaworMTA0NTIgNDY5Mjg4NDk5YzliZGU5ZDUzYmYyZGQ0YjQxMzM0ZmYxYjRlNGIzNyBsZWdhY3ktdHJ1bmsKKzEwNDUzIGZmMTBiMDMyOGZmMzc1MGJiMzAzMzEzNWQwNjMyNjRmOTNhNzlmOTEgbGVnYWN5LXRydW5rCisxMDQ1NCAwOTE0ODFkYmUxM2Q3YzUxMjc5ODA3YjJmZmRiY2E5MjFjMWUyNDVhIGxlZ2FjeS10cnVuaworMTA0NTUgYzEyYzY2MWZkMTRlZjRiNTdmNTMxN2E5NGEyM2MyYmM2ODVmNmJjYyBsZWdhY3ktdHJ1bmsKKzEwNDU2IDNkYzVkMGZjYjE2N2FjMWM4MzViNGEzNDlkMTExZGEzNzg5MWE2ZjcgbGVnYWN5LXRydW5rCisxMDQ1NyA3NTIyMzU4NDYxODA0MTRkZGQ4NmMxNTdlMzcwNGYyNTQ3MjE4MjdkIGxlZ2FjeS10cnVuaworMTA0NTggNTFkMzFmY2FlZWYzYTIxMDI0ODA4M2RmNzlkYmM2NTlkYjhlYmRkZSBsZWdhY3ktdHJ1bmsKKzEwNDU5IDE0M2M1NTZkZWIyZjg1NTlmNTY0ZGUxNDdlMGJkMmJiNjQ1MWIxMWQgbGVnYWN5LXRydW5rCisxMDQ2MCBjYzQ3NzMzYjRkZDIyYzU1ZDI1ODk4N2FmMWEwYjYxYzUwNjVlNTc1IGxlZ2FjeS10cnVuaworMTA0NjEgODVlODg2ZGIxOWIwNTk4YjkyY2QxYjVkNzdkYTNjZGQ0MzViYzA0YyBsZWdhY3ktdHJ1bmsKKzEwNDYyIDA5OTYzYTJhMjRkYjA4OThlNDNiZjMzMWIzMTVhYWM0ZDc4NWQ4MTcgbGVnYWN5LXRydW5rCisxMDQ2MyBhOTA5YTI4NjlhYzU5YTBiZWNjMGY2NzNhNDI2MWQ1MTJmNjIwYzJkIGxlZ2FjeS10cnVuaworMTA0NjQgMDY4MzAzZjkyNWVhODcyYmQxMWNiZTkyZjgyN2E2OWQzNDA2MDJjMiBsZWdhY3ktdHJ1bmsKKzEwNDY1IDFkMGViMmU5NmQ3Njc5ZTlmN2Y0NmUyMGM3OTQ4YjYwZWIxYmZjNzcgbGVnYWN5LXRydW5rCisxMDQ2NiBhYjRmNjQ1NjFmYmEzMjg4MTM0YTc3NWMzNGQ2ZGY5OTFjOTZkMjU3IGxlZ2FjeS10cnVuaworMTA0NjcgOTcxYjViYmQ5MmVjMDIwZWFiYzBjNzM4ZjFiYzc3ZDRjNWFjZTM5YyBsZWdhY3ktdHJ1bmsKKzEwNDY4IDY5N2RmOTNlNWRkYjQ3NjRjYjQxNWY2NzFjMWUxNTkxY2JiZTNiNmMgbGVnYWN5LXRydW5rCisxMDQ2OSAwMjYzZDMzMjRmMGIyZTk4ZWYxZjY1ZjI3NGM3YzJhYWJmOWU3ODcxIGxlZ2FjeS10cnVuaworMTA0NzAgYjllYjgwNTU3OWJhODYzMWI5MTI4NmUzMWNiNzNjNTlhY2UxNjQyOCBsZWdhY3ktdHJ1bmsKKzEwNDcxIGRlMTA1NjZkZWM1Y2QxYzI4NmU1YmQ3NWVkMjhiYzhkZjVlOWI3NjIgbGVnYWN5LXRydW5rCisxMDQ3MiA2ZTUwNzllOGZhNmUwNTMzZDkyOThiZTY3NTExMmY2ZjRlYzM2ODViIGxlZ2FjeS10cnVuaworMTA0NzMgY2YwY2YyMWI0NTQ1NDc3MWM3ZWY1Y2U2ODdkMGM5Zjg5MWI0NThkNSBsZWdhY3ktdHJ1bmsKKzEwNDc0IDZiM2ZkMjRjYzA3NzZmMzJhMThmNGFmMWEyMTU2YjE5YzI0YTEzMDggbGVnYWN5LXRydW5rCisxMDQ3NSBlOGM0YjNkMzg2ZTRmMmQzMzcyZDk1YzIxY2RmOTA5ODdkNDlmZjI2IGxlZ2FjeS10cnVuaworMTA0NzYgZGFmZmRlN2E2ODkxNzdmMWIxMWEyMDg5YjYxMGE5YTRiOTg0YWRiYiBsZWdhY3ktdHJ1bmsKKzEwNDc3IDg5MzU5ZDA3MmU3MjdlNzJhNmQ2NDVmMWY5ZGM3OGU3YmE4NTUwOWUgbGVnYWN5LXRydW5rCisxMDQ3OCAxZDUyNjUwN2NkOWVjNzNlMDA5YmM2OTQyYTkzZjI4YTMzNGZkMGI2IGxlZ2FjeS10cnVuaworMTA0NzkgM2QxZDllMjVlYjIyYzYzMjU3Zjc5YTlhYTY1YjllMjdjYTYyOWY1OCBsZWdhY3ktdHJ1bmsKKzEwNDgwIDA4MzViOGRmNTRmODBkMjM1NDUxZTJlNmE0YjQ2YjQ2NmM4ODU4NDYgbGVnYWN5LXRydW5rCisxMDQ4MSBiZGY1N2M4NGRmNmFiNTFjYzM0YzhmY2M0Y2I3M2MwZDFkMjk3MzQ4IGxlZ2FjeS10cnVuaworMTA0ODIgYzhhMzExMTQ0NzI2N2ExNGMzMzAxOGExYjMxNzRmMjkwZTBiNzc5MiBsZWdhY3ktdHJ1bmsKKzEwNDgzIGI0MjBhZTg1MjEzYzc5ZjA1Y2RjMzY5NTljNzFhMWIwNDc3MGY4ZjkgbGVnYWN5LXRydW5rCisxMDQ4NCA1ZGIzNDZlOWM4ZjU2MGRjZWIxNmJhYWJlNGRhYjBlYzY0MjcxZjg0IGxlZ2FjeS10cnVuaworMTA0ODUgOTAwMzIwNDkxYjkzNmM5ZmNhM2Y3MjM4NDY0ZDAwZmNkNmFjNjNiOSBsZWdhY3ktdHJ1bmsKKzEwNDg2IGU5ODY2ODY4M2JlZDYzNThmOWM1YTczMzllOTQ0MGI3YjRmMDEwNzcgbGVnYWN5LXRydW5rCisxMDQ4NyBhODQyYzllNjMyODBhOTZmNzM5NGMzMWI3MjEwOTJmMzhhZDZmNjBkIGxlZ2FjeS10cnVuaworMTA0ODggZGJjMTFkZDAyZjA5NTkyMzUwYjlmYWZkMzA1MTU5ZGI4YTE0YmI1YyBsZWdhY3ktdHJ1bmsKKzEwNDg5IDRmNGUyYWFkMWUwYWI1YmEwYWJjMmNlODI2ZTA0OTc2YTI5ZDRmZDUgbGVnYWN5LXRydW5rCisxMDQ5MCBiZjZlOTIwYzBlNzk5ZDE2MTI5NDdiOGFhMWVkMDQ3NDIzN2NkMzIxIGxlZ2FjeS10cnVuaworMTA0OTEgY2EwYzcyNTkxMjExY2Q5MjlmM2Y4NzE0N2E0YWI2NDRlZGY1MTg0MCBsZWdhY3ktdHJ1bmsKKzEwNDkyIDgzYmE1MzA5ZmYyMjZlMWM0YmIyMmQyNWQzMWY1YmNkYmExNDlkMDkgbGVnYWN5LXRydW5rCisxMDQ5MyAyYjA5YTVkMjYzNjg4ZDA3NzdmNmI2YjhlY2Q5MmYzMzE0YTJmY2UzIGxlZ2FjeS10cnVuaworMTA0OTQgNTNkZGU0MjMyNWY4YTk5NDEzMDY5NDc1NjFiZWY5OGQ0ODEzZTM3ZCBsZWdhY3ktdHJ1bmsKKzEwNDk1IDZlOGJlNjA5NmU1NjMwMmZhNTc4YzZkODQ1OWM1YzUzZmE1MDUwMTMgbGVnYWN5LXRydW5rCisxMDQ5NiBiYmJkMGIxMDVlMjczNWZlZTc3Yzk4ZjRhODZhYzFlNDZmYWZkMjI2IGxlZ2FjeS10cnVuaworMTA0OTcgNDY5OTlkZmNmYWUzZjA1MDY3ZjZjYjFjZDM1M2Y1N2MwYzBiMDg2NiBsZWdhY3ktdHJ1bmsKKzEwNDk4IDUyNjRjYWM4ZjkwMzVmMmM3NGI1NDUxYjU3ZjllNjQzN2I0NzRmOTYgbGVnYWN5LXRydW5rCisxMDQ5OSAwMTFhZTcxZmVhOTY0OWExN2E0ODdmNzZiODA3Y2VhYzQxZDhhYjJjIGxlZ2FjeS10cnVuaworMTA1MDAgOWI4OTAyMzM4ZTE0YjcwOWYyMzg1YWNlMTUwNzAwN2EyNWQyNWU3ZSBsZWdhY3ktdHJ1bmsKKzEwNTAxIDkyYmE3YTllM2I5ZDk3MTk4MjE5ZWRkNDZjODA2ODMyNjMzYmM5Y2MgbGVnYWN5LXRydW5rCisxMDUwMiAzYjkxYWZmYTMzM2U5ODRhNjA2MTc3ZGNmMTIyZTNkN2U5M2E5ZjBkIGxlZ2FjeS10cnVuaworMTA1MDMgNWQyYmQ2NzM4ZWI2MmU1NTI1YTVlNTI3ZWYzNjA3MDAwNTIxMzcxZiBsZWdhY3ktdHJ1bmsKKzEwNTA0IGQxNTdlZTgyMTc3NWMwOTkzNDUyYzcyMGNkZjRiMDJmOGI4YjllMzIgbGVnYWN5LXRydW5rCisxMDUwNSA0OWYxY2Y0YjE3NGNjNjNmM2MxZDJkYjMyMGQzMWE4ODlmZWQ5NDIzIGxlZ2FjeS10cnVuaworMTA1MDYgZDFjMWIyMDc1NGE4MTdmZmY1MTQ5YTkxYzEwYTdhOTkwZmE2NTBkMyBsZWdhY3ktdHJ1bmsKKzEwNTA3IGQ5OWE5MDUyNmFlMGIxOTJlZWNmYzIxZTgxOGYxZWMxYTE3YmQ0MGEgbGVnYWN5LXRydW5rCisxMDUwOCBmNTMyNmQzNTg2NjJiYjIxMGI4ZjE0YmJkNTU2MmZmNmE5YmE3YWU2IGxlZ2FjeS10cnVuaworMTA1MDkgNWRjZjliNWQzM2U2ZTZmMGEwZDA0NzZhYzUwNDljNzBjYmQwYWMzMSBsZWdhY3ktdHJ1bmsKKzEwNTEwIDk1MTQyYzhhMDljODZhOTA3OTQyZjAxNjMxOGUzZWUwOTU0ZDQ3NGMgbGVnYWN5LXRydW5rCisxMDUxMSAzZjAzNjAzNzZjYTAwMTUxNjc2ZDlkZmMxOWRlYWRjNThlYzVjZDc1IGxlZ2FjeS10cnVuaworMTA1MTIgNzEwZjNiNzgzNTE1M2JiNzZlNzA5NzMwN2ZlYmViNGIwZmM3ZWRjOSBsZWdhY3ktdHJ1bmsKKzEwNTEzIDVjY2U4MWUyMzM0OTk2Yzk5OGQwZjZmMmEyNjExNTBhNDFjZDU4YjQgbGVnYWN5LXRydW5rCisxMDUxNCAzZmZkNDVmMDVlMzk1OGY1OGU1YmNmZTVjYTA3ODk2NjQ4MWE0MzBkIGxlZ2FjeS10cnVuaworMTA1MTUgY2QzMDkyMDY5ZjVhMzkzOTEyYmMxYTIwOGNkNTYyMGMxNjgyMDhmMyBsZWdhY3ktdHJ1bmsKKzEwNTE2IDZjNTk0OTg4NTcyYTdkZTI3MTM2N2U0NmE1NWMxMzQ1MGVjNGE3NTggbGVnYWN5LXRydW5rCisxMDUxNyBlMDkxZTlkNDk1ZDVhOWQwNjdjN2M0M2Q2YmZmMDQ4NzU1NDY2MDJkIGxlZ2FjeS10cnVuaworMTA1MTggNWYzNWUyNzgxMDMyZTIzMGNlMDUxZGQ4N2MwYjRkMjcxMjQxZjg1MCBsZWdhY3ktdHJ1bmsKKzEwNTE5IDQzYmUwYjkwMjcxNzA4ODc0YzBkZjYyYTY2OWRiYmI2OTFjMTk1YTUgbGVnYWN5LXRydW5rCisxMDUyMCBhMzg1NTA2MTNhZjNkOWQ4ZTllZGJjNGY5YmI0OWFmMTQwNmNkNjdkIGxlZ2FjeS10cnVuaworMTA1MjEgZGYwZmE1ZGM1OTlhZTA2NTRkNzljYzI5MGI5ZTA3ZWQ1ZGNhM2E5NiBsZWdhY3ktdHJ1bmsKKzEwNTIyIGUyMzMzOTY5YTJjYWNhM2Y3ODk4ZDhiMTRhOTQyMjAxOWUyYWVjYjAgbGVnYWN5LXRydW5rCisxMDUyMyA0OTE5ZGVlMTg3ODFjMTM3NzFlNWFkM2IwN2JiZDZlMDA4MmFmN2FlIGxlZ2FjeS10cnVuaworMTA1MjQgYjhlOGFjZTc5Y2YwMmNjZGE3MjU3ZTFkNTc0YTBmYmNmOTU4OGFmMyBsZWdhY3ktdHJ1bmsKKzEwNTI1IGJkMzBhYzgzMTIxNzIzNDE4ODE5M2JjY2JhZjRjZTFmMDVjZTI0OGEgbGVnYWN5LXRydW5rCisxMDUyNiAyNTRmYzkxYjZiMGU3MzgwOTU4MDc0ZmViNDRiN2VjMTY3YjM4NjhiIGxlZ2FjeS10cnVuaworMTA1MjcgNjY4Y2UwZWRiNGYxYzU0MjlkM2QwMDJiNjI5OGFhZTVjZDgyYjRmNiBsZWdhY3ktdHJ1bmsKKzEwNTI4IDA3NzMwYjgyYTE0M2YyOGY1MmZjYTQ1ZWM4ZDY1YjQxMDg3ZTM4NWQgbGVnYWN5LXRydW5rCisxMDUyOSBhOTMwNTJhZTBkZWI1YTRkMTYwZDA5NjhhNzAwYWQ0MjBmYmU1MDcwIGxlZ2FjeS10cnVuaworMTA1MzAgNWRjYzVjNGExOGJkYTY0ODVkOThiNzA5NmRhMjc5MDM5OGM2N2Q2MiBsZWdhY3ktdHJ1bmsKKzEwNTMxIDcwOTlkZTgzYjE5MWI5MjQ2ZmM5MDk5MTQ3MzNiNTViZTdlMjgxMGUgbGVnYWN5LXRydW5rCisxMDUzMiA5YjhiNTc0ZWYwMDcxZTFmOTA5ZmU3NTM4ZjJjMzU5ZjI5MTI1OThmIGxlZ2FjeS10cnVuaworMTA1MzMgY2I4ZDczMzgyNDhjZWY3N2M4NzVmYjM2ZWFhODQ2YTA5ZWZkOWM5MyBsZWdhY3ktdHJ1bmsKKzEwNTM0IGEzZDkxMmFmYzkwOWFiY2RkMmE1MzE2MmU0ZmZhNzQwMmM2Y2JiMzAgbGVnYWN5LXRydW5rCisxMDUzNCA0NGFiYTRkMjZiMDFmYmFlMDQwM2VmZTY1NGY5ZmQwMzQ3NjA2NzMyIGxlZ2FjeS10cnVuaworMTA1MzYgYmNhZjQ4Yjk0YmIzMzgzYzRjYTE3YTkxOWVmODJmZWFiM2UyZDRmNCBsZWdhY3ktdHJ1bmsKKzEwNTM3IDQzZTgwMmMxNmE1YjFhZmJiODYwMGU1OGQzMjJkYjYxY2QyYTdlMmYgbGVnYWN5LXRydW5rCisxMDUzOCA1YWFjZGQwOTc5NDEzOTNkNmRhNmVkMzJhMjUyNDFmNDM4NzQ5MThlIGxlZ2FjeS10cnVuaworMTA1MzkgZDlhYzkyNDYxODMyOWNjNDA5OTcyMTFjMzYxMjZmOTQyMzc4MWVhYSBsZWdhY3ktdHJ1bmsKKzEwNTQwIDc3ZDRlNmY2NjJjMWJlZTA3NmI2MjBmNmUwOWViNzliY2UxM2E1ZTYgbGVnYWN5LXRydW5rCisxMDU0MSA0Mjg1ZjhiN2JhMGIyZmIxNzk5NDdiZTI5ZTY1ZGNiODEyZWExMGMxIGxlZ2FjeS10cnVuaworMTA1NDIgMDc2NmRmNTAzZWE1M2RmNDE2ZDhhNWU1ZWIxYWZhYTI5Y2FhOWY1MiBsZWdhY3ktdHJ1bmsKKzEwNTQzIGQ5NzA0OGY4OTFiZjA2YWRkOWFhODc5MTg3M2JiZDU0NDM2YjhjNDAgbGVnYWN5LXRydW5rCisxMDU0NCA5OGVjNDIzY2E2ZmE5OTEyYTgyMGVhYTA1NmY2ZGNmZDc0YzdjY2Q3IGxlZ2FjeS10cnVuaworMTA1NDUgMjI0YjVjMzZhZmVmODU2Yjg5OTZmMGIzMDUxYzg4YzQ4MzEyMTU4MyBsZWdhY3ktdHJ1bmsKKzEwNTQ2IGYwYmQ5ZWU3OGE1MjE3NjMxMTFlZTQ5YTZhNTcyOTllMGViYjNhNmQgbGVnYWN5LXRydW5rCisxMDU0NyBhN2RkMGY1MmYyYjYwOTQ2YWM0NTJkM2I2Yzg4ZDcxNzY0MDJiOGFiIGxlZ2FjeS10cnVuaworMTA1NDggNDhlMjM0OWQxMWM2MDkzNzJiZThlYmYwZTkwZGJhM2Y2ZGRlYjk3ZCBsZWdhY3ktdHJ1bmsKKzEwNTQ5IDlmMTZmYTcwZDA5MGVhZWJlZTAwNDAzYjQ4NzU5NThkN2FhYmRhNmQgbGVnYWN5LXRydW5rCisxMDU1MCA4NmE2MTkzMDQ5YTk2ZjQwNGY5OTdhNzY5YmUyMjcwMjkwNmJiYzk4IGxlZ2FjeS10cnVuaworMTA1NTEgNGEyZjFjNjlmZGU4MWU5NmE1MWE0ZGYyNDQyM2I1Y2JhZDE5MmJkMSBsZWdhY3ktdHJ1bmsKKzEwNTUyIDA1MmU3NzY2NDAzMmUxODA2MGMyYTE5MWI0MjM0Mzc3ZGI4ZTllNGQgbGVnYWN5LXRydW5rCisxMDU1MyBiODE2MmQwODY4NTAwZTkxZmU5OWFiYjk5Y2MyYzNlNjRmZTg2MGYxIGxlZ2FjeS10cnVuaworMTA1NTQgNWE2N2Q5MDUxMDI2MmExN2FlNWY2N2NjY2Q2NDg1NzI0OTEzOTIyYyBsZWdhY3ktdHJ1bmsKKzEwNTU1IGQwZmY0MTc0NmEyNjAwZTRiYWZjZmY4Y2Q2NzI4YzdkZTc4OTM5ZGYgbGVnYWN5LXRydW5rCisxMDU1NiBlMzkxNDVhMTMwOTY4MDJkNGU0ODFjMTFkNjkyNGIwYmNmNDk0NjQ1IGxlZ2FjeS10cnVuaworMTA1NTcgZGUwMjllNmY5ODM4OTFjN2UwZmJkMGFmYWY0MDhmMjE3ZTEyYzFhNCBsZWdhY3ktdHJ1bmsKKzEwNTU4IDViZmYwNDE3MTc5ODU4ZTMyZDhjNjY0Y2YzMzdlYWVkMjhiYjExZjUgbGVnYWN5LXRydW5rCisxMDU1OSAzMzE3ZjcyNzIzYmI2MDk2Yjg5YjcxNjA0NmM1MmUwMGVmMzVkZGJkIGxlZ2FjeS10cnVuaworMTA1NjAgYzE1MzMwZWViMTkyYWQ2NmQxYzRlMTQxNGJkMzg0MzU1NTEyNWQzNSBsZWdhY3ktdHJ1bmsKKzEwNTYxIDY1OGQxODRlOTIwNDFiOWM2OGQ4NzA2YjE2ZDA4ZTExNzJlMTg5MzYgbGVnYWN5LXRydW5rCisxMDU2MiAwYjBiNjlhODhiN2I5NWI2MTMyZjMwYWY1ZWExOTNhN2QwZTBlZjcxIGxlZ2FjeS10cnVuaworMTA1NjMgNmI1OGI3OWE5NThkNzdhNThmNGU1NDc2YTg5ZTcwZDM1NjYxZTg1YyBsZWdhY3ktdHJ1bmsKKzEwNTY0IDdhY2UxNzJjMjUyMWIwMmVhYTFmZDZkY2U4ZTM4MTAyODNhZjcyOTcgbGVnYWN5LXRydW5rCisxMDU2NSBiYjNlYzgxMmVjOTBmMjQ4Nzg4M2U4YjlhNzBlNzA0ZjNlM2VlOTgwIGxlZ2FjeS10cnVuaworMTA1NjYgNWUzYmI0MTU2MDA0MjVmZDlmZjhmMTNjMzU0NDEwYTlkNGU2M2Q5MCBsZWdhY3ktdHJ1bmsKKzEwNTY3IDY5MmJlMTIzZjU0N2YxZDM0NzUxYjRlMWFkNzlmM2E0OTM0NDE1NmMgbGVnYWN5LXRydW5rCisxMDU2OCBlM2RjZTNiOGMyODI1OWM2MTk5N2YxYTgzOTU1YmJiMmQzOTMzMjc4IGxlZ2FjeS10cnVuaworMTA1NjkgMDQ5MzEzN2E4NDE0NjFhYTU4MjhhNThkNDE1NDJiYjlmYWFmODI3NiBsZWdhY3ktdHJ1bmsKKzEwNTcwIGM1ZjkyZWU4NDk4ZjVjOGIyYzQ2YTUwYmNkYTA1NDdjYjA5ODVjMzEgbGVnYWN5LXRydW5rCisxMDU3MSBkZjM3Y2E0MDM4ZjZjMjYxODFlNTFhOWUzYzFhNjhlYzg3OWQ2Y2YzIGxlZ2FjeS10cnVuaworMTA1NzIgOTZhYTU4NzI1YzBlNDA1OGIzNTg4YmNlNjJhOGRlY2JkYWMyNDkyZCBsZWdhY3ktdHJ1bmsKKzEwNTczIDA4ZTFiYjg0MDdlNjUyMDQ0MjBkODhlMjM4MTQxYjQ2NTRhNGM3ZDMgbGVnYWN5LXRydW5rCisxMDU3NCBhZDlhYWQ4MTNhNjFiMWNiZjUzOGY2YTk0ZGQ1NzYzMzY2NGY3NTY2IGxlZ2FjeS10cnVuaworMTA1NzUgNTczYmMwNjQyNjRjYjdlNGFhYTlkZjI0N2QwMjJhYzc5OTExNDNiYiBsZWdhY3ktdHJ1bmsKKzEwNTc2IDQ3YmRmNDVhZmI2ODYwNzA1MTQzMzMyYjUwY2NkMWRmZmZjNGFmMTQgbGVnYWN5LXRydW5rCisxMDU3NyA4YzFmMTYxYzZjOGMwMWVkODBiMzM1MDMxOGU3MWMzZWJmMzkyMWU1IGxlZ2FjeS10cnVuaworMTA1NzggYTZjZTJkZmYyNzM1Yjc3MjViNGQ4M2QyMWZkMzBjOWU0MTI4Yzk4MiBsZWdhY3ktdHJ1bmsKKzEwNTc5IGI1NzY4NDZjOTRiMzhmNTQ0NmViOTMzYzdmMDc0OWFkNjRmNzExYWEgbGVnYWN5LXRydW5rCisxMDU4MCBhNTVjYmE5NjM3NjE2M2UwY2Y2YzFhZmVmYWY3MTkwZThiZmU0ZTJlIGxlZ2FjeS10cnVuaworMTA1ODEgZjJmOTEyODIzZWU3ODU3MWZmZmRjOGUyYWNhNzMwOWIzYzEyNTNmNCBsZWdhY3ktdHJ1bmsKKzEwNTgyIDI2NWMyNzk3NzgxYTA2OGZhNTI0MDU5MzhjMDZlMDIzMzg0NDMzNDMgbGVnYWN5LXRydW5rCisxMDU4MyA0MjdmMzQ4OWU1MmI2YWMwZGI2ZGM1ZmYyMmFhMzRmOWE1OTc4YTZjIGxlZ2FjeS10cnVuaworMTA1ODQgMTFhMWJhZDZkZjY3MzNlMmM2MTkzYzliYThmNmZlNDc4MjNiYTdlNSBsZWdhY3ktdHJ1bmsKKzEwNTg1IDkzMzQ4ZTVhODVhMjQwZDE5NjNhNDJmNjU1NGMxMDc5MGIxNjczNDMgbGVnYWN5LXRydW5rCisxMDU4NiA3OTFlZGE1MmIzZDljYmFlYWVlYjgzOWFjYTVmNTk1YWNkYTczZWNjIGxlZ2FjeS10cnVuaworMTA1ODcgOWIzYjAxMzJjMDIxYzdjNmM4OGFiY2M3YTQ1MTJhZjliYThkNWMwYyBsZWdhY3ktdHJ1bmsKKzEwNTg4IDI4MTBmYzYwOWFlZDA3MjA3NTc4MjdiMTk3N2YxMTFhMDU0NWQ1YmQgbGVnYWN5LXRydW5rCisxMDU4OSBhOTk3M2Y5YjU0MTc3NzI0YWY1YmU5ZDM2ZGUwOWUyYmQxNDMwMzBiIGxlZ2FjeS10cnVuaworMTA1OTAgMmU0OWJjODlmYWZhMGRkM2Y2ZTU2Y2EwM2JhMTE0ZTBjNjA3YjNlMSBsZWdhY3ktdHJ1bmsKKzEwNTkxIGYwNzA3YWUwMDQzMzg0OWFkN2NiMDVkNzcwODRmM2U1YjFkODc5ZDYgbGVnYWN5LXRydW5rCisxMDU5MiA1YzliZTk4ZjUzNDczOTRlMWRmOWU5MGIzMTkyNjA3OWQwMTVjYmI2IGxlZ2FjeS10cnVuaworMTA1OTMgYjZjZTE3MTkzMjNhYzdkZTlmMjFiN2ZmNjMxOWFhNDY2YWYyNTMyMCBsZWdhY3ktdHJ1bmsKKzEwNTk0IGUyZDMzYzA3MzJiZmIxOTE3OGNmYTE4N2VjOTI3YTQwNGU2ZmU5OWUgbGVnYWN5LXRydW5rCisxMDU5NSA1MzBmZjNiOTk3MjJiNmMwZGM1N2ZlNDQ2ZTNhYjY0Y2IyMDAxZTc3IGxlZ2FjeS10cnVuaworMTA1OTYgZDk2MjIzYjc3ZTJmMzcwOTQyZmE4MGRmN2FhYjUyMTQ3YmRkMTdlNCBsZWdhY3ktdHJ1bmsKKzEwNTk3IDU5OTk3ZmRjODFkZjdmMTgzMGFkZmUyYzY3MjE4YWEwMzZiODdmNjQgbGVnYWN5LXRydW5rCisxMDU5OCA5NWVmZWE2OGYxOGQ3ODc4NTc5ZDEwZDAxODg3Yjg0NzI2NTc0OWEwIGxlZ2FjeS10cnVuaworMTA1OTkgN2NmNTE2NTdiMDhjYWFiNDQ3M2E3MDZiZWRmZmU3YTE0YmE0MmVhNiBsZWdhY3ktdHJ1bmsKKzEwNjAwIDVhZWNjMjc3ZTZjYWEwMGNhN2Y1ODQ5ZjJmYTNjMjc0NGMwOTQxY2YgbGVnYWN5LXRydW5rCisxMDYwMSAwNjhmZWExNWNiY2Q4NjRmMzkyOTI3MTdlMWVmMTA5YTZhN2Y1MjI2IGxlZ2FjeS10cnVuaworMTA2MDIgZTkwNGU2ZGZkNzBiMjUyNWZkMmVjYjJjN2Y3MDIxNTNmZjUyZWY4ZSBsZWdhY3ktdHJ1bmsKKzEwNjAzIDhjNTUyZWVkYjFhZmFmMWQwZTA5NGZiNzY4OTNlOTc2YWRkMzgyNGIgbGVnYWN5LXRydW5rCisxMDYwNCAwZGI2ZjY5MzJiNzM1YzcxYzAzYWRlMGM3ZWIwNTg1ZjIxNmM2NTk0IGxlZ2FjeS10cnVuaworMTA2MDUgYmQ3NDRhZjY4NDVmOGIxYTVjNWNiMTkzMTVkZjVhNTJlMDQxYTZmMiBsZWdhY3ktdHJ1bmsKKzEwNjA2IDM2NDA0ZDljYjVlMTVjYmYyZTcxZDliOGMzNTM2YmIwY2FhOTAyYzAgbGVnYWN5LXRydW5rCisxMDYwNyBkYWE1NDEzMTQ1M2I3N2UzOWQ1OTgwYzY3Yzg4ZDk5MDRiNjE4ZDE0IGxlZ2FjeS10cnVuaworMTA2MDggMDQ3NTMzNzg5MzU5Zjc5OTdiNGY1MWUyMjdjYzhmYmNiYjAwYzgyMiBsZWdhY3ktdHJ1bmsKKzEwNjA5IGZkYmE2Mzk3YjcyOWU0NzNhYzNmZjYzZDQ5OGQ5OGMwNTI5NDhlMTUgbGVnYWN5LXRydW5rCisxMDYxMCAxMDk0ZWJiZDNhNDU3NGQyODJjYzhkMzA1OTA0MmUwZWRlODAyZTA4IGxlZ2FjeS10cnVuaworMTA2MTEgMWJjNjU2ODc2MjZiODc5NDY0ZjY4YWNlZDZmMGVjY2JjYzUxNDc2OCBsZWdhY3ktdHJ1bmsKKzEwNjEyIDhiNDljOTE4YTI1ZjM2ODEwYTVlMDEwMWJjYmE5MWQ0NjhiNTk3MzcgbGVnYWN5LXRydW5rCisxMDYxMyA0MzIzYjI0MzM1ODFkOGM4Yzg5MzExZGQ2MDYwZTAwZjVlYTM2OTcxIGxlZ2FjeS10cnVuaworMTA2MTQgNjA4OGQ2NTJiOTMyODQxYWJkYWM1YzNlZTdkMmY2NmQ5N2U4NmM4ZSBsZWdhY3ktdHJ1bmsKKzEwNjE1IGM3ZDk5ZjZkMmUyZjhjMTc5ZTdkMDYwN2Q1MjJjODFjZjUxN2UyYjcgbGVnYWN5LXRydW5rCisxMDYxNiBhYzI4OGRiNWJjOTFjNDQyNTQwZTJiMzdhODcyYjk1M2VhYjhhMmU3IGxlZ2FjeS10cnVuaworMTA2MTcgY2Q2YjlmYzExNGE0MTVmYTRlYjU0MzUwNjhiZDQ2YjQxNDkzOGQzMCBsZWdhY3ktdHJ1bmsKKzEwNjE4IDQ0MzU2ZWU3ZTU3OTA2MzQwNGRhMWIyMzVkNjIwZWMxMGFlOGE1OGUgbGVnYWN5LXRydW5rCisxMDYxOSA5ZDAzMTAxNDM2MDA4Y2UwOGQyYzY0NWYzZGFhYmJjNmVjYWJlYjJkIGxlZ2FjeS10cnVuaworMTA2MjAgYWMzY2E1NjZjYjQxNjFjNDA5ZmFlMWI0YTdmMzgzYzcxMzM2OWYwNCBsZWdhY3ktdHJ1bmsKKzEwNjIxIDIzYTgzNzcyNjIyNjRiNTc2M2MzZjliZWUzOGIyOTk2Y2JkODNjMjEgbGVnYWN5LXRydW5rCisxMDYyMiBiMTQ4ZmExNTI1ZGI5OThlZWMzMWIwOWFmOGM4NWQ2YzNmMmJlZTg3IGxlZ2FjeS10cnVuaworMTA2MjMgZDYwMWFmODA2YTU3MzNiZjM3NTZlMjliN2NlMWEzZjAzNWZmMDU1OSBsZWdhY3ktdHJ1bmsKKzEwNjI0IGFhM2I0ODAwMmY4ODdlMzZhZjJiMjA4NzcwOWRkZjYxYzk4YTZhM2UgbGVnYWN5LXRydW5rCisxMDYyNSBlMDMzZWQ1MGNiMzc2Y2Y2YTVjODVmMDAzM2YyNzFlMzcyOTJiODg5IGxlZ2FjeS10cnVuaworMTA2MjYgY2NkODM3NWRiMjczNmRlOWRhNjUwZjc1OTlkMGIzNTc4MGZhMGZiMSBsZWdhY3ktdHJ1bmsKKzEwNjI3IGMwZTM5NDRiNmE2NGZlMmU3M2Y4Y2RjNWEwM2JmOWY1YTQ2MDBkNGQgbGVnYWN5LXRydW5rCisxMDYyOCBiZGJlMDgyZWUzODNkYThhMDJjNjJlYTNiMGNhOTE4Y2FlZGFmODJiIGxlZ2FjeS10cnVuaworMTA2MjkgOTI3OWVmNjg2OGViYTNhNTUwOTkzOTJlNWE1MDcwOGQ5ZjU4NTQ0OSBsZWdhY3ktdHJ1bmsKKzEwNjMwIDkxYWFlZWY3NWE3MzYyZjg3YjUwYzYxZjRlMDkzYjY5OTQxMTA2YmIgbGVnYWN5LXRydW5rCisxMDYzMSAzYTUyMDI4ZmU5MzYzZGEyZjYxY2VkZmUzNGM5OGRmOTZmNDNhN2JhIGxlZ2FjeS10cnVuaworMTA2MzIgNDY2ODZkNDBiZGZkNmMzMTE3N2I5MmJmNGE0MTVmOTgwNmQ4ZTdhZSBsZWdhY3ktdHJ1bmsKKzEwNjMzIDA1ZmViZjkzMWU5MWI0YmY5NjJlOTkwMzFiODc1Zjg3ZTRjZmI3NDAgbGVnYWN5LXRydW5rCisxMDYzNCA5OTVmYjU1YjNlNmFiZDIxZGRhMGMyY2Y3ZmM2ZWI4OWVhNDE2ZGRkIGxlZ2FjeS10cnVuaworMTA2MzUgMjU1MjMzZTQyOTE4ZjM0OWYxZTMzNDY4YTBiYzJhZDExMTE1MzJhMyBsZWdhY3ktdHJ1bmsKKzEwNjM2IGFkYTQwZTY5ZmQwOTM2ZTM1MTZhMGQyYjcxYTFmYWJlNTcxOGVjMzMgbGVnYWN5LXRydW5rCisxMDYzNyBlNDliMzBjNmE4MGFjMGI3ZjhjNzZiOGEwYWE0MmZhZTQxNzc2M2U2IGxlZ2FjeS10cnVuaworMTA2MzggYmJmZTk5YzI3ODVjOTM3MjMyYjdlM2Y3YjNlYjY1ZjUxNDhmZWNhNCBsZWdhY3ktdHJ1bmsKKzEwNjM5IGIxYjI2ZTBlMGEwYWRhZDNjNzFkYWM4ZDliYjhjMGNiYWI1NGJhN2MgbGVnYWN5LXRydW5rCisxMDY0MCAwNTY1NzJlMDc4MWE2YTIzMTNiMmQzNDk3ZDU2NzFiMTY0ZThkMDhkIGxlZ2FjeS10cnVuaworMTA2NDEgY2U5ZmM2NDUyOGE3OWRkOTEwZTU0NjZjNmU1NmJlOTRkNjk2MWQ0NSBsZWdhY3ktdHJ1bmsKKzEwNjQyIDEyNWJmZDg5Njk2NzE2MzMzY2FlNGU4YzM0N2VmN2M1ZmVlYjhhZDYgbGVnYWN5LXRydW5rCisxMDY0MyAxYmJkZDg0YzdhNDA5OTY1NjM4ZmMyZmFjZDRiM2E0MzM3MmI4N2E3IGxlZ2FjeS10cnVuaworMTA2NDQgYTMxMzRjNjk3MGViYmU4YzRiNWVjN2E2OTY2ODYwYjIxNjMxYWJmMyBsZWdhY3ktdHJ1bmsKKzEwNjQ1IGVhNTliYjkyMTM4MDUxNTEwNTE3OTE5ZDEyYjg4M2JjMGY0ZGNmYTggbGVnYWN5LXRydW5rCisxMDY0NiBmM2M4ZmJjNzkzZmVhNWU3Y2E4NDZlYjhkODBkMTNiMDE4OWVjZTdiIGxlZ2FjeS10cnVuaworMTA2NDcgNmY1YzkzNmFlMmQyMjI4MWQxZmEyM2Q1YWYyOTRlYTM4OGUwZDMyZiBsZWdhY3ktdHJ1bmsKKzEwNjQ4IDE1NDZmYzc2ZDAwZWNkNWVmYjAyMjdlYmVkZWVkNzQ3ZGIyNWQ0OTggbGVnYWN5LXRydW5rCisxMDY0OSBiOWQ5YzBlZWI0N2MyNjA4MzczYmM5NDhhM2VmODBkNTA2Zjc0ZTdlIGxlZ2FjeS10cnVuaworMTA2NTAgYzlkMGQ2MzFhYmFhZTBlMDI3MmUwMmE1MmY3YjQ1ODUxMTc0OTIwNyBsZWdhY3ktdHJ1bmsKKzEwNjUxIDI4NGFkZDc0ZmUzNzA1ZWMxZDVkNzFkNmFkOTBlMTQ5YjUyM2ZlYWMgbGVnYWN5LXRydW5rCisxMDY1MiA1MzZlNDM5YTY1ZjlkMGI1MjNkZjkzM2Q2MmY1NjczNGViZmVmYWJlIGxlZ2FjeS10cnVuaworMTA2NTMgNTczMmVjMjQ4N2M1MGM2ZDM5ZTdkZjI3NzUyZjIxYjcxNzBlZWQ5MSBsZWdhY3ktdHJ1bmsKKzEwNjU0IDViYzhjYTEzY2ZlMDFjMTgxNTU1MmQ5OWIyYTc5MmE0MjFkNGI0ZTcgbGVnYWN5LXRydW5rCisxMDY1NSAyNmM2MjJkMzcxN2QyMmM3MWM3YTA4YjU3OWJiODUxZDQ4MzMzZGY3IGxlZ2FjeS10cnVuaworMTA2NTYgYThkZjA5MGExMmJhZjY4ZjU1MjQ0NDFlMjJmYmZhOTNlNzI4MWM1OCBsZWdhY3ktdHJ1bmsKKzEwNjU3IGEwYTBjMTQzMzhjMDc0ZmQ5NmYxZTcyY2EyNWMyNDA0NmE2YmQ5YWMgbGVnYWN5LXRydW5rCisxMDY1OCBlZTI3ZjNhOTE2NmY4MDEzMzNiZjM4MDExMzNiMTY5NzRhZmE0OGE5IGxlZ2FjeS10cnVuaworMTA2NTkgMzBmYmUzMDJjNTE4ZmY4NGVhNTk1ODhhOTE4ZWU5MWNkOTQxZjdlZSBsZWdhY3ktdHJ1bmsKKzEwNjYwIDRhN2ZmY2RlNDBkYzhmNzAxMWVhMjEwZDVkN2EyZDExNTM2YzM3MzcgbGVnYWN5LXRydW5rCisxMDY2MSA2OGVlOGFiZDk3ODI4YjA1M2QwNzhkYWEyN2M5MDkyOTdhNzlkZmQ3IGxlZ2FjeS10cnVuaworMTA2NjIgYzY5YWQ1NjZhZWIxZTUzMWRiODJiMjc2Y2QwNGNiOTdmZDNlZjBiNCBsZWdhY3ktdHJ1bmsKKzEwNjYzIGRlN2ZjNjZjMGI0ZmRmYWQxNWFhZWM0MDBhZjcxZTI1ZjNhMDRhZWIgbGVnYWN5LXRydW5rCisxMDY2NCA2ZjFkYjUzNGRmYWU0YWRmZDRiMDNmYzE5NzNhOTIxMmVhZWJlYTUxIGxlZ2FjeS10cnVuaworMTA2NjUgMTQyMTY1ZWQ4NGQ4MGJjMDU3MDY2ZDBmNDUzZjhjZDdlMWVjYWJlMSBsZWdhY3ktdHJ1bmsKKzEwNjY2IDkyOWI3ZTZlNzUyMGM1ZGJjMDI1MjI5NTVjOTJiODA0M2Q4NWEzZGQgbGVnYWN5LXRydW5rCisxMDY2NyA3NzU4MDhhMDllNDZiNzczNDFjMWFiNDY3MjE4YWYwZjVmOGY1MjBmIGxlZ2FjeS10cnVuaworMTA2NjggNjczNWVmNjYyZjM5ZDhjY2EzZWI4MmQ2ZDU3NzljNTE3MmM2Y2QyMSBsZWdhY3ktdHJ1bmsKKzEwNjY5IDk5N2Q1YTIwMDBlMDQ1MjZjZjU5ZjEzNDZjNjZmZDczYzg3YTQ2OTMgbGVnYWN5LXRydW5rCisxMDY3MCBjZTJkMTIwYzM5MDNmMjU0YTU4M2Y2Y2M2MDE5NGIwN2RiYmY0NzBiIGxlZ2FjeS10cnVuaworMTA2NzEgMjVjMmFlYTY0NTAxN2NmYjE0MWMxYWE0M2NmNWU1MTk3MDExMTc0NCBsZWdhY3ktdHJ1bmsKKzEwNjcyIDM1YWE2N2ZjNGU2MGY2ZjY5MjdmMzczMzhjNTVjYmRlNTBlODRlMTcgbGVnYWN5LXRydW5rCisxMDY3MyBiODFiZjljYTE3OWQzZWI2ZGNkNzczZTA0ZjRkYWU4MGJlYmM5OGI0IGxlZ2FjeS10cnVuaworMTA2NzQgNDg5NGRkZDQ1MmVlY2MxMjY5NzE3YzY1NzIwNGEyMjJhNzcxODk5YSBsZWdhY3ktdHJ1bmsKKzEwNjc1IGI2Njg2Zjc1Mzc5OGY4MmYxNTdiNjBlYWFlYzAyY2E5ZmQyZWY2MTUgbGVnYWN5LXRydW5rCisxMDY3NiA4MjBkNTEwZDFkZDYwYzAxNmU1ZmE3ZmRiYmFkZDU3MDVhYzhjNTk0IGxlZ2FjeS10cnVuaworMTA2NzcgODg1ZGU0OWI0NDVjNTNjNTc4NzBiMjNhMTJiZDMxMjhlYTlhYWFiZiBsZWdhY3ktdHJ1bmsKKzEwNjc4IDNhNTViNGM1ZTNjNzE5OTVkYjJmMzk0OWZmMDZiNjdjOGM3MmM5ZDEgbGVnYWN5LXRydW5rCisxMDY3OSA4M2E2OTMwNWNiMDZlMTM4YTA5N2I2OGVjN2M2MmU3ZTA1MDA3NzU3IGxlZ2FjeS10cnVuaworMTA2ODAgYzMxYzU5ZjE5MmFmMjIwNDE1ZWJjNDU4ZmVmMTZhNmYzNjg1ZTc2NCBsZWdhY3ktdHJ1bmsKKzEwNjgxIDQ4MmU0YmEzM2MwOGY2YTY4MTJlYjhkYTVmMzIzOWQzZThkNWEyMTggbGVnYWN5LXRydW5rCisxMDY4MiAwNTA5NjA1MmQ4MjU3YTAzNzgwODJkYWQ1MzJkZjk5MjY5ODVmNzI3IGxlZ2FjeS10cnVuaworMTA2ODMgOWYwYmI4N2RkZTYwMGFjOWJjZDkzYTgzYmNiYjkxMDZmYzkyOTRhNiBsZWdhY3ktdHJ1bmsKKzEwNjg0IGMyOGIwNTM4YTQ0NjU0N2ZlNzkxODZmNzhiYjM1ZTkxZjM1ZjRlZWYgbGVnYWN5LXRydW5rCisxMDY4NSBkNmY0YzJhNTMxMmM0ZTFkZDNlMmE5MGMyMzBiYzI5ZmM5NWIxZTAwIGxlZ2FjeS10cnVuaworMTA2ODYgYzQyODliODEzOTI0YjI3NTNjM2I5ZTk4NDM5NzMzMTQ3ZTdkZjY2MSBsZWdhY3ktdHJ1bmsKKzEwNjg3IDdlZDEwN2FmOWZmNDk1MjIwZmRjZDRkZjA0Y2EzZjFmYTQwZDAwYjkgbGVnYWN5LXRydW5rCisxMDY4OCBiNTQ5NDk2OTAwNzc5NzQ0MzNkYzQ3OTAyYjFmZjMxYWU2ZGUzMjIwIGxlZ2FjeS10cnVuaworMTA2ODkgZTI2NTY5M2YwNzkwMjA3NzI0MTIyYjA4N2Q3YmYzMWVhZGFjNGNkYiBsZWdhY3ktdHJ1bmsKKzEwNjkwIDM0Y2NhODMyYTRhZmUzODkxMjYwZDhjMDVjN2MzNjljOGY4YTUwOTAgbGVnYWN5LXRydW5rCisxMDY5MSAwYjdmM2E5MzIwODVjMzQyMjBlOTkzM2Q0MWQwMzEwNWRhMzM3OWFhIGxlZ2FjeS10cnVuaworMTA2OTIgMjAzZTJhYjYzOTM2YTI1ZmUyYjBhMWY2OWYwNWU2N2JjMTlmMjk2OSBsZWdhY3ktdHJ1bmsKKzEwNjkzIDE1ZWExNWUwY2EyYWI4NThlZjQ5NDc1OTQ0MDNlNjdhMGFjYTUyMWQgbGVnYWN5LXRydW5rCisxMDY5NCBhNDQ0Y2Q4MzVjMGUwNDY1NzFlYTAzZTc3NzZmNjk1YzdkZTQzOWU1IGxlZ2FjeS10cnVuaworMTA2OTUgMzBjMjM4NWNhMzg5M2EwYjkyYmFhZDUyMzAyNzBiNDY1MDYzMTU1YiBsZWdhY3ktdHJ1bmsKKzEwNjk2IGJjMmU5YjRlYjhkZDU4NDcyMzY1NGI5OWViYjAxOGRiNTk5M2RkODcgbGVnYWN5LXRydW5rCisxMDY5NyBmMzIwODAwZjBmYTU1YWZlNzg5ZTA0MDIxYWU4YzhiNTgyMzI3Y2VhIGxlZ2FjeS10cnVuaworMTA2OTggYTE5NjYxMDc2NTI5YThhZjFmYzNmZmFkM2ZiNDNlMzk5ZmM3OTJlMSBsZWdhY3ktdHJ1bmsKKzEwNjk5IGYxYzk2MDkzMTQxMzE5MzM4MTVkYWM0NWQ5MjllZDY3ZTQ0OTczODggbGVnYWN5LXRydW5rCisxMDcwMCAzMjhkNDZjNDczZjRlYzBlMmMwZmQwYjMyYmQ5ZjUwMzg1ODliYjRhIGxlZ2FjeS10cnVuaworMTA3MDEgOWQ1NGFhZjAxNjNkYjBlYjUwNWIyMmFhZGNhNmU4YWQ0OTJkMjMxZCBsZWdhY3ktdHJ1bmsKKzEwNzAyIDZhMDg3YWUxODBiYTM1OGEzMWViZDc5MTcwYTNkYzgzMWVlYTU3NDYgbGVnYWN5LXRydW5rCisxMDcwNCBlODM0YWU3M2RlZGRmMmJjMGY3NmY5MGMyYTA1OGZjMjNjMTY1ZDBhIGxlZ2FjeS10cnVuaworMTA3MDUgMTM2MmM5MWVmY2QyN2UyNjUyYWZmZThlZmE0M2Q1ZjJiYTkzYjg4MyBsZWdhY3ktdHJ1bmsKKzEwNzA2IDVlMzk0YTA3YTNhNGYxMDFlOWY0MDlmYzIxYjlkNGNkZDQ4NmQyNzEgbGVnYWN5LXRydW5rCisxMDcwNyA5ZmMyYWY5ZTU4NTlhMGJhMDcwNzgzZmIwN2FhOWYzNWMzOTdhY2M5IGxlZ2FjeS10cnVuaworMTA3MDggNjlmMmUwNWNjMzc4ZWQzNWIxYzRlMDY5MTdhNzNkODk4OGE5NmRjMCBsZWdhY3ktdHJ1bmsKKzEwNzA5IDRhMTNhNGQyNTg4YjMwZGIwNTFmMWM0OThhNGU0OGY0ZmEwYzEwMDcgbGVnYWN5LXRydW5rCisxMDcxMCA5ZDY0MmE3MzVhMTMyN2QxZmZhZDM2MmNlOTA3ZTdkMmJmOWVkMGVmIGxlZ2FjeS10cnVuaworMTA3MTEgZGY3NTJjMDhiNDYyMjA0NDJmYmI3ZmRhZmNkYTRjZDZkNDg1NTI0YSBsZWdhY3ktdHJ1bmsKKzEwNzEyIDg1YThhZTZkZTI3ODU4NDE3MzQ0YmE0ZWI3MDdmZGNiOGM4OTg0YzggbGVnYWN5LXRydW5rCisxMDcxMyBhMTAzY2Y2ZDM4NDViNTU4YWM3ZWVjMzdlZjI3MGQ5ZDVhNDgxZmU3IGxlZ2FjeS10cnVuaworMTA3MTQgZWNkZThhNDVkNDI1MTMxOGRiNzQzNzZhOWQyNjkyOTM4Y2EzODkyOSBsZWdhY3ktdHJ1bmsKKzEwNzE1IDBlYzlkYzlkMjAxZjJmMTQ0NTUyOTkyMmQ4MmVhZjFjZjFmMGVkYTcgbGVnYWN5LXRydW5rCisxMDcxNiA0MDZkZDJiMzY3OTM5NTk3Y2QxYjFlNDFkNTdiMDQxODIwMDI3ZTViIGxlZ2FjeS10cnVuaworMTA3MTcgOTMwNmY1OGNkYmE1YTFkYTI0YzMwNWI1MTY3MjA3Y2EyY2NkZTgzYyBsZWdhY3ktdHJ1bmsKKzEwNzE4IDE0MTE4YjU3NjcxZWM0YWE5Yjk0NGYwZDkwN2NiNWZhOTJjZmY0M2EgbGVnYWN5LXRydW5rCisxMDcxOSAyNDAzZTkyYTRhNmMwOGI5NTMxNzQ2NGRlMGJmODk3NzlmNzQwODQ5IGxlZ2FjeS10cnVuaworMTA3MjAgMDdjMGEzMzFjMjY5MjJiZWYyODE5ZDMwNzYxNjVhZTg1YWUzZTBiZiBsZWdhY3ktdHJ1bmsKKzEwNzIxIDNiZTFhZDlhODU4N2YzNmZhM2NjZTU5OTIyNjE5Zjg2OWU2ZjM5MDIgbGVnYWN5LXRydW5rCisxMDcyMiBkZTJmZjg5ZDZkNGJlZjJiNWY5ZWU4YWRlYzA0YzFkNmQxZWNjNDFlIGxlZ2FjeS10cnVuaworMTA3MjMgNDAzM2ZlYjI2ZGE4OTlhNWUyMjcwZjIzYTRjZDNkNzZkYzRiYzNhNSBsZWdhY3ktdHJ1bmsKKzEwNzI0IDA3OTJkY2RlOGUzMTFkOTZmMThjMTE2OWY1YzA2NzM0MDYxZmRiYzkgbGVnYWN5LXRydW5rCisxMDcyNSA3NGVkZDVjZGE5ZmQ5YzU0OTFlNGQ4YWM4M2NiMTJkNWQyYTYxZDhlIGxlZ2FjeS10cnVuaworMTA3MjYgMTA1MmIwYjJjNmVhMGY1MDY5MGNkNDRhMDk1NTdiMTY5NjQxMTczNCBsZWdhY3ktdHJ1bmsKKzEwNzI3IDJmYWViNzJiYjY0YTE5YzkxNmJmZjQ4OWFhNWY2OTQyYzM3ZDMxZWQgbGVnYWN5LXRydW5rCisxMDcyOCA4NTIzZWNhZjU5YzU2OWE5MjM4ZGMzMzE1ZWVlZDA3MmUyMTI3ZGMwIGxlZ2FjeS10cnVuaworMTA3MjkgNzM1NmQ0ODg4YThiY2E5MzQ0MGUyOWE3OWZiNTk1YWZjZWEyZGMyYyBsZWdhY3ktdHJ1bmsKKzEwNzMwIDI0NmFjYWQ5Yzg5M2RiZDZlNzljZTEwOTczMGM4MjM0N2I1NmY2MjEgbGVnYWN5LXRydW5rCisxMDczMSBhYjBkNWYyNjVkNTRlOThmMDVkOGM3OWMwZmUyYWVhMjllYWJhYjMyIGxlZ2FjeS10cnVuaworMTA3MzIgNTBkMzViZGYyMDQyZGUyMGM2ZTdhYTIxZjFiODhmNDJjODdmYTk1NyBsZWdhY3ktdHJ1bmsKKzEwNzMzIDM3YzNlYzRmM2QzZjlhNzNkNzY4ZWVjMDQ0M2M3NmRlOTg1YzVkMmEgbGVnYWN5LXRydW5rCisxMDczNCBmYzMzNTBhZTVmMmE5NTY3MWY0ODU1NWI0ODZkNzg4YzI5MGQ5NDVhIGxlZ2FjeS10cnVuaworMTA3MzUgYmM1MGY1YzIwYmM5NjE1OWQ4ZDI1OGJhYTA5MzhmYTQxNzg4MzIzMSBsZWdhY3ktdHJ1bmsKKzEwNzM2IDEwMjZkMDMzYzBkZDlhMmE4ZGM3MTJlNWEzNDg2OGVmZTdkOGQ1OGIgbGVnYWN5LXRydW5rCisxMDczNyAxMGM2MDlmZTdkZWJjOGI3ODRlZDk3MWFiZDRhYmVlMTJiMjYxZDBlIGxlZ2FjeS10cnVuaworMTA3MzggYThjMjFhY2NiZWNkYjkyNWQxZTIzMzIzMzIxNjZlYmFhYTA3YmJmZiBsZWdhY3ktdHJ1bmsKKzEwNzM5IDEwN2E4NTI1YmY1ZWI1ZjYwZDUyZjQzZDFhZGY0YzEyNGQ5MmZhYjYgbGVnYWN5LXRydW5rCisxMDc0MCBlYjgzNWVkMWY2ZmU4MzdhODBjMWI1YTU1N2I0YmFkOWQ1ZGNjYzMxIGxlZ2FjeS10cnVuaworMTA3NDEgOWIwN2QyN2EzMWJkNzlhNWQ0ZGM1NjcwMjE5ZmRjMjYwMGZhMzUzZCBsZWdhY3ktdHJ1bmsKKzEwNzQyIGQ4M2YxYmNiYjE1MDVjNmM4YjdjYWI2ZGYwYjBlMjlhOWUxNDA0YmYgbGVnYWN5LXRydW5rCisxMDc0MyBiOGJhODg4N2Q1OWY3ZjZiY2IwZjE1NjMwYmZiZDUwZjEyNDY3OGZhIGxlZ2FjeS10cnVuaworMTA3NDQgOGI4MjIwODM3MjZiMWM2YjM2ZDY5MDA3M2E5Nzg3MWJmMTE2M2I3MyBsZWdhY3ktdHJ1bmsKKzEwNzQ1IGI0ZDNkMWEwOGU0ZGFlNjE5Mzg0YWRlYzhjNWMyN2FhZjg4MmEwZTIgbGVnYWN5LXRydW5rCisxMDc0NiBjZTFlZDdlYjc3NTA3Nzk2ZTE4MmIwMDQ2ZDdiMDliMDc2ODNlMGJlIGxlZ2FjeS10cnVuaworMTA3NDcgMGQzYjczZDk5NTg4OGU5YjljNmMyNThlMGUxMGY5ZDJmN2VlNWQyOSBsZWdhY3ktdHJ1bmsKKzEwNzQ4IGVhNGI3YTU0ZmQ5MmZjNGRhNDQ5YzVhMWZhOTMyYzI1YzJlNTM2M2EgbGVnYWN5LXRydW5rCisxMDc0OSBjMzQ1N2ZiMThhNTEwN2Y2ZDA3ZGQ1MTliOGNmZGUyMjIwZTgzNzBkIGxlZ2FjeS10cnVuaworMTA3NTAgZTE4NGY4M2JiYjc5N2Q0YzA3ZDUzYmY5ODJjMzk0NTFlNjM1Y2U5MyBsZWdhY3ktdHJ1bmsKKzEwNzUxIDNkNjVmNjE2ZjkzZTVlNDUyYzA2ZTE2ODJhMmQ4ZmY0M2RkZWRhNWEgbGVnYWN5LXRydW5rCisxMDc1MiBhYWExYzhiNTI5ZjUyNTgwMTY1OGIwYmVlZjIwZTk2MjRhM2RhMTJiIGxlZ2FjeS10cnVuaworMTA3NTMgNjZhMmVhNjNiNGQ4NTc4YTg0ZDkxNmNkYmIwZDQzYTdjYzM3NDgyMiBsZWdhY3ktdHJ1bmsKKzEwNzU0IGU0NjlhOGFmMDRiMjFkNGZlMTRmYWQwNDA4YTgxN2EyOTk4MWQ1ZjIgbGVnYWN5LXRydW5rCisxMDc1NSAyZGQ4OTBhZjE4N2UxMDQ0Njk3MmUwZGQ4MjY1NDQ1NDBkMTBmODczIGxlZ2FjeS10cnVuaworMTA3NTYgMWRiNDA5OWE3MmNlOGIwNzljMjEwNGQ3ZjdhYzY5YzgzMjdmNDY2NyBsZWdhY3ktdHJ1bmsKKzEwNzU3IDdiMjUwMDY1NzlmNGNmYzI1YzZkMTA5OTkxNzFjMzcwNWY4MDM2NTggbGVnYWN5LXRydW5rCisxMDc1OCA3MDc2NTMxZWZiOGZkYjMzY2U2Y2VmNDUwZjMzNjk3NWNlZGI2NmI5IGxlZ2FjeS10cnVuaworMTA3NTkgZDgxZjMxNjE1NjdiNWZmMTc1Y2E2ODlmMDI5ZTkyNTM0OGYyOTViNCBsZWdhY3ktdHJ1bmsKKzEwNzYwIGM3ZDBiOTcxZTBlMzkyNWEzNDVlZGQ5ODE4NGJhNGRiYmQwZWM3NWIgbGVnYWN5LXRydW5rCisxMDc2MSAzNWQxY2VlZDY5YjllYWVmYTRlNGY5ZTMwMGM3ZmQxMGM4OTY5ZjY1IGxlZ2FjeS10cnVuaworMTA3NjIgNjMxYTE1OWNmMDQwYjFhOWIzMzUwZDk5M2VhMDUzOGNmYjI2NTEzZCBsZWdhY3ktdHJ1bmsKKzEwNzYzIDJiMmQyMWVmYzRkNzE1ZTE5YjA4MGYyOGQ2YWNmMzc5Y2E5MDA2MjggbGVnYWN5LXRydW5rCisxMDc2NCA2NTg4YWRlMGVmYjc3NGU4YmI4ZGQyZGRkOTdiMzliYTcxYTU1YTA3IGxlZ2FjeS10cnVuaworMTA3NjUgMzgxOGExOWY3NDdmMGE4ODRjNGVmMzkwNDk3YTJhNjA3MDhjOTBhZSBsZWdhY3ktdHJ1bmsKKzEwNzY2IGY4MzRlMTk3YmQxNDZkYTcyOGU5NjdkZWE1YzkyNDFiMDQyN2M5MWUgbGVnYWN5LXRydW5rCisxMDc2NyAzMmJjMTdmN2M3N2JjZTdhMzU1NTZhZjk0NTBlMTJjYTVkNzQwNzBhIGxlZ2FjeS10cnVuaworMTA3NjggNGM4OGNjNjJlOWU5MGE4NDM0ZjA3NTBlMzc5ZTZlZDRhNDk2NWNiNSBsZWdhY3ktdHJ1bmsKKzEwNzY5IGQzYmYzYzJhZDc1YTlmZTZlNTk1NjdiYzBhOGVlOGM4YjljNWViZjAgbGVnYWN5LXRydW5rCisxMDc3MCA2ZWQ4YTdmZmM1OTUzNzA0YWI4ZjQ2YmRlOGRhMmRlZjRhY2E0MTg1IGxlZ2FjeS10cnVuaworMTA3NzEgOTI4MWI1ZDM1NjQxYTBjMDVjZDgwZmUwMTRiZDI5MzA0MDY3NDc3YSBsZWdhY3ktdHJ1bmsKKzEwNzcyIDc0YTkxMGI4NmI0NDNkMzUyNTk1ZWYwM2ZmNzdmYTA1ZmU4NjNhNDkgbGVnYWN5LXRydW5rCisxMDc3MyBmOGEzODliMTA0ZjA5MWIyZjYzYTE2YjNjODY2ODBkZTkzMGVkOTUxIGxlZ2FjeS10cnVuaworMTA3NzQgZmY2MzEwN2M5ZmE1ZDc4ZmZjODRjYTQyZjIxMDIxNmZkMjVmNTgzMSBsZWdhY3ktdHJ1bmsKKzEwNzc1IGYyYmI4ZDUxOTViNjY4NzRhNTIzNzJiNmYyYzc4Y2NjMjkyOGNmNTYgbGVnYWN5LXRydW5rCisxMDc3NiAzNWVhMGMwNzNlYTNkMzExNTQ4N2Y2YjczYjA4MTE5MTc3ZTY1NWVlIGxlZ2FjeS10cnVuaworMTA3NzcgYjQzODk4NmIzYzA4ZDgzYzEzM2Q2YWU4NDYxZjczODY4ODA3ZmE3NCBsZWdhY3ktdHJ1bmsKKzEwNzc4IDVkZDZmMWZmNjZiYzA1MDk5NTIwNjFkMzE3Y2FjZDBmMjRiYTYzZjEgbGVnYWN5LXRydW5rCisxMDc3OSBiZjhlODZiOTVjOTIyNmE1NzA5NjExMWIyNzEzNzkzODY5MGEwNmFhIGxlZ2FjeS10cnVuaworMTA3ODAgOWRkNzlkMDEwNGQ5NmY0YTU4OGU2ZjhiMTU1OGZmZmQxZThkOGQyMSBsZWdhY3ktdHJ1bmsKKzEwNzgxIDRjM2MxMmU5NTZhNzU1ODViNzM0ZDA2NjczMWIyNzg1YjNlM2EzMjMgbGVnYWN5LXRydW5rCisxMDc4MiBlM2QyMWM0Y2EzNjJmZDMwOTA3NmZhMzNlZTZiYWI0Yzg5MjgwZTk2IGxlZ2FjeS10cnVuaworMTA3ODMgOGI1MDc1MWYyNzJjODRlZTg0Njk0Njk3Y2I1ZGI0YjYxYjY4YjUyMyBsZWdhY3ktdHJ1bmsKKzEwNzg0IGQzZjNhMDU2OGJkNmEwOGQwODNkN2M0MzcxZjY2ZGU0NGI5YmFjMDUgbGVnYWN5LXRydW5rCisxMDc4NSBiNTliOTk0MmJhYzk2MWVjYTVkYjM3YmU1ZWFmYjI5YWJmMGUyZGFkIGxlZ2FjeS10cnVuaworMTA3ODYgNjIzYzQ1OWY4ZmJlZGViNzZkZjBkNDM1N2VlNmU5ZDEwMjE1MTU3MSBsZWdhY3ktdHJ1bmsKKzEwNzg3IDBkMmQ2MWY1MmI5YzUyZDYxZTk1ZTgyNTljZjAwMjY0ODQ3YjVmMjMgbGVnYWN5LXRydW5rCisxMDc4OCA0Njc0Y2QyZjZmMDcyYmNlOGRkN2FkM2Y1YWIyZTY1NGY5MjQwNzI3IGxlZ2FjeS10cnVuaworMTA3ODkgMDhkZjljYjU3M2FkYWM4MTU2OTAyMjk0NGY2MGJiZjFiODg0NDM5MiBsZWdhY3ktdHJ1bmsKKzEwNzkwIGZlMWZkNTZjYWRhNzAyMDAyZWNhNTBlNjgyMzY3NDFmNGM1ODdhNmEgbGVnYWN5LXRydW5rCisxMDc5MSA0MDcwODU5ZmU2MmVlYTQwODQxZTU3NDY1OWI1ZDg4MGIyMDVjMjc2IGxlZ2FjeS10cnVuaworMTA3OTIgNDE0MjQ3ZDRmZWQ3M2EzYmRiMzJjZGJkZDI3NWY0ZDVmYmM4ODVlYiBsZWdhY3ktdHJ1bmsKKzEwNzkzIGY0ZmM5ZDE4YTUzZDQ3MzM4MTQ4YjkxNDQ5MjY3MWVjYTdkYjhiY2MgbGVnYWN5LXRydW5rCisxMDc5NCBkNjdiZTEzZGEzY2MxOGU0OTQ0ZGZhODc1N2IyMmIwY2QzMzdlOTkzIGxlZ2FjeS10cnVuaworMTA3OTUgYzYyMzYwYWE1ZWE0MGFhYjhiOWFlZTg3ZmE0ZDhhZDMwMTU4YWE3MiBsZWdhY3ktdHJ1bmsKKzEwNzk2IGY5NGQ1YWU2NDJhOWIxY2RlOGZlYjEwNzJmOWRmNWMyZGFhMmZlZDAgbGVnYWN5LXRydW5rCisxMDc5NyBlNDJiOTQyNzU2NTJiOWQ1ODFiYTQ2NjA3ZDVlYjhjMzU4MWY3MTE0IGxlZ2FjeS10cnVuaworMTA3OTggNjNjY2U5ZDc3Nzk3NjIyZTU5NDU3M2E4YzhkMWMyMmE2NmI1NjFkZiBsZWdhY3ktdHJ1bmsKKzEwNzk5IDgxMDU3OTk2ZmYyMWQxYzRhZjJiMTI5OTMxYjg1NTU2NGUyYzk3YzUgbGVnYWN5LXRydW5rCisxMDgwMCBlYzg3YjYyNDY2ZDNhYWQ0YTUxM2YzZTJhNGMzZmVhMWJiMGQzNmZjIGxlZ2FjeS10cnVuaworMTA4MDEgZGY0MDNlZDM1YmRkZTAwYTBlMjdjN2U1NmJlOWQ3NTE0NWVmZWFhOSBsZWdhY3ktdHJ1bmsKKzEwODAyIGMxNGU2OGY1OTFjZTMwNWJkOGRkY2YzODRjNDVmZTJhMGFiMGUzYjkgbGVnYWN5LXRydW5rCisxMDgwMyA5ZGRkNjc5MzE5YTlkODEwMTRjNTM5YmZjYTBlODNjYzQzOTlkZWYzIGxlZ2FjeS10cnVuaworMTA4MDQgZTZlZjBlMzllMzVjZWQ4ZDY5NjJkMzljMTA5NTdkOGJmOWFkOTQ2YSBsZWdhY3ktdHJ1bmsKKzEwODA1IGUxMzkyMTA1MDMyNzgzYzU4NzJiMTQ3ZGJlYzkyOWIxZjkyOWI3ZDYgbGVnYWN5LXRydW5rCisxMDgwNiBjNDljOGY3ZmRmZjE4NmNlMTQzYjIyNGNmNzY0YzQ5ZThmMzI5NzI4IGxlZ2FjeS10cnVuaworMTA4MDcgYWYxMWRiZjM1ZWU1ZTlmYTlhZjQxODBhN2U3N2IyZTJjMzI3MzYzMSBsZWdhY3ktdHJ1bmsKKzEwODA4IGEyM2I3NTEzOGJiMGZiMjNmZmEzNDI0NGIwYzQxMTUyYzBmZTczNDcgbGVnYWN5LXRydW5rCisxMDgwOSAxODk3NzQ3NzM4ZjU5OGZhMzFhZTcxOGQ1MjdiMTcyYmNmMWY3MjJlIGxlZ2FjeS10cnVuaworMTA4MTAgNDgyNDBmNTI1ZWMzYmU1ODNjNTk1YmE5ZGQ2ZTM0MTkyMmE2NWRhNSBsZWdhY3ktdHJ1bmsKKzEwODExIGNkODI4NDYyYWNiYjgyZWMwOWIwMDhkZWJiNGQwYTQxOTQzNTYwYjYgbGVnYWN5LXRydW5rCisxMDgxMiA3YTFlN2RhOTIyZjg3MDU3MmI5ODQzMmI1ODBiMGE1ZGQwZWNiNWNlIGxlZ2FjeS10cnVuaworMTA4MTMgYzU5YjU3MzZmMzA3ZjM1MGUxYTA3YjNjOTVlNzViNmRlNGQwZWZkNCBsZWdhY3ktdHJ1bmsKKzEwODE0IDk2NzllNzdkNDJlM2Q1OGVhZGI4MTkxYzg3MmI1ZjMyZjgwY2M0M2QgbGVnYWN5LXRydW5rCisxMDgxNSBhNGFlNzkyYjliNjgwMmFkMjBlZmIwMzRkZjdmOGJiMWRiZjI1YTU4IGxlZ2FjeS10cnVuaworMTA4MTYgNWJmYjVlZGMzMTNjYjY2MjEzMDI1M2I3ZGVkNjk2ZWVlNDZlODhlMyBsZWdhY3ktdHJ1bmsKKzEwODE3IGJmMTEyNjIwMjZiZGY3NTI0NGM0Y2M1ODZjNzMxNjY3YjAzMDgyNDAgbGVnYWN5LXRydW5rCisxMDgxOCA2YjcwOTViOThlNTRjYTViMTFiNzZlNDQ2MGIxNmVjMWJkYWRkMzY5IGxlZ2FjeS10cnVuaworMTA4MTkgOGQ5MGU3ODFhZGE4YmMwYTliMGRmOTAyYmFmZDM2ZTI3MTRmZjIxMiBsZWdhY3ktdHJ1bmsKKzEwODIwIDc2NThjOGExNDlkMTg1YjM0YmEwYWEwOGJmM2U2YzIxNTlmNjJmYjQgbGVnYWN5LXRydW5rCisxMDgyMSAyOGRhZTkxYzVkMGNjZGZmZDM0MzJkYzAwNWUwMDcwNmQyMDA2ZGViIGxlZ2FjeS10cnVuaworMTA4MjIgYTg0ZjY1OGQ0YmE0Y2VjYjIyYzUyZTg0M2JmMDlkMjFiYjc1ZGI5NSBsZWdhY3ktdHJ1bmsKKzEwODIzIGViZmRlMDZmZGI4ZDhjZDlkZjVlNTNiZjAzMDM2ZDBmYzY4YzczYzkgbGVnYWN5LXRydW5rCisxMDgyNCAyMjgxNWEwYjEyNjc1NmU0MWQ4MTQwM2Y1NTRmZWNiZTA2NTk1M2Q2IGxlZ2FjeS10cnVuaworMTA4MjUgMWI0YTM3ZjM3MzQ1MGFkZTliMjFlMjBmZWRiZjBjZmZjOTVhYzAyNyBsZWdhY3ktdHJ1bmsKKzEwODI2IGQyZDgyZjdiNDE5YTYwMTFkZmIzZjcyMmZlNjZkZGRiOTgyYTZlZTggbGVnYWN5LXRydW5rCisxMDgyNyAwNTE5NmE0ZTU0NDhiZjhjYzViYzU1ZGRmYjBmYTI1YjkxNjAxZDVmIGxlZ2FjeS10cnVuaworMTA4MjggMWIzOTNkYjAwYjFhYjhjYjNlY2YwYmRjODQ0MTM3YWE5ZmE1MjRkNCBsZWdhY3ktdHJ1bmsKKzEwODI5IGU3ZGQ5OTFmYWE0YWYxOTBjMDk3ZjQ2MGNlODBhMmMxZjAwOTMwMzAgbGVnYWN5LXRydW5rCisxMDgzMCA4ZDkzNzNiZDgzODRkZmNjNjdkYjdiYjZhNWFiZTkxZjg5YzRiNmYzIGxlZ2FjeS10cnVuaworMTA4MzEgNDE3MmRhOTE0NDFhYTBmNTY0MmFlOGYxZGM2NTYzNzRmMzJkODYxYSBsZWdhY3ktdHJ1bmsKKzEwODMyIDUyYzMzOTUyNDYwYThmNDQ3YTJkOWE0YTEwOTYwMTBiYjgyZDE1MzcgbGVnYWN5LXRydW5rCisxMDgzMyAyNTNiZmNiNjViNzczNDNhYTFhODYwNmRiNTI3ZmYzYWRiZDMxMDBhIGxlZ2FjeS10cnVuaworMTA4MzQgYzU3MTU1NDEzNGQxNTA1MTcyNjhiMTgwN2UwNTg0MzI0ZDg3ZWY5YyBsZWdhY3ktdHJ1bmsKKzEwODM1IGM4OTE5MWMyZTYzZjAyMDhmOTAxZmNlMmJiY2FiOTIxZjM0NmU5YmYgbGVnYWN5LXRydW5rCisxMDgzNiBmMzA4OTYxYjAzZDdkNTFkZWY5Zjg4ZmUwMzQ3OWI5ZGZkMDIwM2YxIGxlZ2FjeS10cnVuaworMTA4MzcgMWJjMGRmOTZiNGRkYzNlOTA2ZjFkN2JjMWE4MjRhMGYxNDdkMzBiZSBsZWdhY3ktdHJ1bmsKKzEwODM4IGE3NDIzZTY4Y2VlOTQ3NDFmNmE1OTg5YmQ1N2YzYjM3NzUxNzkxMTQgbGVnYWN5LXRydW5rCisxMDgzOSA4MjBmMDZiYjQxYzdmNTZmNWY1NDRhNWU2OWNhMjY0ZmYzZjhlYjMwIGxlZ2FjeS10cnVuaworMTA4NDAgZGE0YmRjZWVhYWQ3YTc2OWQzNmNhNjdhODVmMTdlZTQ5NDc3YjQ4YyBsZWdhY3ktdHJ1bmsKKzEwODQxIDczOWQ1ZmRhZmMzMmViMmE2MDk3ZTZhNWUzYzM1NTM2ZjI1OWZiOTIgbGVnYWN5LXRydW5rCisxMDg0MiBlMDc0NmEwZGE3MzYyYjAzMmRlOTY1ZmE3YzUwZGIxZjRlZjkwODc4IGxlZ2FjeS10cnVuaworMTA4NDMgZTgwZDRjM2RiYjc4N2M4ZTVjOTQ5ZjlmOTUzYjA5NWVjMDVhM2IxNCBsZWdhY3ktdHJ1bmsKKzEwODQ0IGU0MTIxMWE3YWVmM2ZhNTExZTRhODgyNjcxM2E0NmU1Y2ZjY2Q1ZWYgbGVnYWN5LXRydW5rCisxMDg0NSA1MmQ3YTllNzEyMjE1MmE5Zjc3YTNiMDc0YTJjZWM5YjUzYmQyYjZlIGxlZ2FjeS10cnVuaworMTA4NDYgNDU1YjIyOTQ1NDgyZmYwZjQ2NjFjZTVmOWRkOGM4NTRiZmZkNmFiZCBsZWdhY3ktdHJ1bmsKKzEwODQ3IDVmODNmOTdhYWViOGUxOTIzOTBjMTY1MTdlYjA2Y2U4NDBmNWQ2N2QgbGVnYWN5LXRydW5rCisxMDg0OCBlMTdhMDE5ZjkzOTBmN2Y1MGRmZWFiYmViODFlMjY1MmVkMTkwM2YzIGxlZ2FjeS10cnVuaworMTA4NDkgYTQ2NGU5Yzk4NWY4ZTViZjlkYzUxYmVkZWUyYmUzMzYyMjUyZmQ2NSBsZWdhY3ktdHJ1bmsKKzEwODUwIDFjN2E4MmQ0NjllMDY3MTY3YWVmZDZhYTI4YTU0MmU4OGFhZjY4YTUgbGVnYWN5LXRydW5rCisxMDg1MSA2NTBiZDEzYmVjOTJkMTEzZmY0OWM5MjNhYzI5NTQ1YTc3YjA2NDgzIGxlZ2FjeS10cnVuaworMTA4NTIgZjJiMDg1OWZlY2UzYmJlN2Y1OTcwMDJiNjY4ZjUzZGVlMDQ5ZTUxMyBsZWdhY3ktdHJ1bmsKKzEwODUzIGE2NTkzMGY1Y2RkYmNkYjVmNzJlYjExNGZiYjQxZWYwMjI3ZmNmMjkgbGVnYWN5LXRydW5rCisxMDg1NCA2YWQ3YzE2NTZkMThiNjkzNDE5ZmMwOWYxNTFiZTlkNDE3YjNhNmFlIGxlZ2FjeS10cnVuaworMTA4NTUgNmM4MjZlZTNlNTUzOGU0MTE1OGM4ZmJmYmE3NTM4NmRjMTIwNjZiNyBsZWdhY3ktdHJ1bmsKKzEwODU2IGExYmZlNWJjNmQ4ZWE4MWE0NDM4YzA3NTBmMmFhMWQ5NzZiYjM1MjAgbGVnYWN5LXRydW5rCisxMDg1NyAyNDJiM2M5YzViZWMyNzNiYThhZDhlMzM3YTRmYjI2YTlkNjhlMTFkIGxlZ2FjeS10cnVuaworMTA4NTggNzdjMWYxMWQwYThhZmNhZjcwODkwMWQ4NmFmYWViNDJiMjNjOWVmMSBsZWdhY3ktdHJ1bmsKKzEwODU5IDk1ZjdjNTJiNjM5OTQ3N2MyMzQ3ZjgxZTc0OTExOGUwMmJiZTBiZWIgbGVnYWN5LXRydW5rCisxMDg2MCA3YWMxNWYxZTUzMDIxMDhmNDgzMTY1Yjk3OTg4OTY3NGMwNjhmOWVjIGxlZ2FjeS10cnVuaworMTA4NjEgZjVlYmNjN2E1YWIyNmUxZjcxMDU1OTI5ZjE3NTk2N2NiZWE3MjNiMyBsZWdhY3ktdHJ1bmsKKzEwODYyIGNkMmRmZWQwYzQ0YjUzYTQ4YzBmYTUyMWNiMTFhZDQzMjdmZGJiNjYgbGVnYWN5LXRydW5rCisxMDg2MyA4MjJlMDgxMmYyMGMzNTcyZDBlNTY0OTJkNjZhNjdhYzhhYTdkYzAyIGxlZ2FjeS10cnVuaworMTA4NjQgMDU4MTkwYzlhNGYxMjZlODhmNWE0OWE4MGMxMjRmOTdmMTdmYWI5YSBsZWdhY3ktdHJ1bmsKKzEwODY1IDkxYmI1YTgwOTQ4MWEyYjFjOTZmZjVjMDczMmRkNjBhNTNjZGUwODYgbGVnYWN5LXRydW5rCisxMDg2NiA3NTJiOWY1NTU3ODhjMDI3N2MxODEwNzcyMzNjMmU0NGJhY2E3NjE5IGxlZ2FjeS10cnVuaworMTA4NjcgM2EzMTAwMTg0OTQ5OGUzNzRjMDI0MzdmMDY4MjM5NmY1MjhhNzViNSBsZWdhY3ktdHJ1bmsKKzEwODY4IGQ2Yjg2M2QxYmViOTI0NGFjZmI3NWMyZmY1MmQ0MzQxZWMxODE3MjEgbGVnYWN5LXRydW5rCisxMDg2OSA4ZTlkNWU1MTAzZjVkYzE3NWIxYTg2YmY5ZmE3MmMyYjBkODEyZTNhIGxlZ2FjeS10cnVuaworMTA4NzAgNzNhMjU3NzllODM3MmUxMWUwMDAwM2ZmNzViNDc4MTU1M2JhMWI1YyBsZWdhY3ktdHJ1bmsKKzEwODcxIGRlNjhmODNjMTY5Y2E2ODhlNTM4OTIyZjdmNDE3NDk5MDUwODE2YzkgbGVnYWN5LXRydW5rCisxMDg3MiA3NmNkMDM5NzlmY2E0MjNhODcxZjA0OTY1Y2FlNWY3OWFiZWZhMmQyIGxlZ2FjeS10cnVuaworMTA4NzMgYTU4MmQ3MGUzMTJmZWVkOTBhOTA3MzQ5OTBhZjdhZmU3MTA1NThmYiBsZWdhY3ktdHJ1bmsKKzEwODc0IGVmOWI5M2IyYTBmYWEzMzBiNGYzYjc3YmUwMjRhZDQyYmVmNjVhNjQgbGVnYWN5LXRydW5rCisxMDg3NSA3NjY5ZGRmMGU3ZDQ5NTBhN2NhOGYzZTgzZjY1NmRlYzBkNmFiM2JlIGxlZ2FjeS10cnVuaworMTA4NzYgOTNhYTA4Yzc3ZTYwZWIyYmRmZWRlYWUzOWI3YzJkNzc3Mzk5MmQ2NCBsZWdhY3ktdHJ1bmsKKzEwODc3IGQ3YzU2OGU3NzA3YmYxNzk4ZDQ1ZDI2MTA1MzM2YTA1M2YyODNlMDggbGVnYWN5LXRydW5rCisxMDg3OCA3OTA3MWE0ZTBlY2FiNjMxNDNlOTgzZmJiZWVhNGM3ZDk5Mzk1ZDc3IGxlZ2FjeS10cnVuaworMTA4NzkgYzliN2U5MjZmZDg2OTk1ZjE4MTA2MzUyODIyZDBiYmJiNGJlOWM2MSBsZWdhY3ktdHJ1bmsKKzEwODgwIGZmMzFmMjUwMTc0MjUzNTJjMzFmZDgyN2NiYjBkMjg4MzZjNzQ1MjMgbGVnYWN5LXRydW5rCisxMDg4MSA0ZWY3ZDI2MGZlYWM5MzFlYzE4Yjc5ZDFkMzUxZmFiZjZlNWFhNDMzIGxlZ2FjeS10cnVuaworMTA4ODIgNjI3MGM2YmFkODExNmZlMTdhN2VkNGM4MWQ1MjlmMWQwYWI0OTcwYiBsZWdhY3ktdHJ1bmsKKzEwODgzIDcwZjkzZTBjNTgwZWVjYWZiYTI5Mjk3NWE5MDY3NWI2MjVkNzNkNGIgbGVnYWN5LXRydW5rCisxMDg4NCAwY2IwMzk0YzJlZGNmZTE4M2NkNzc3Yzg3YmU4Njk5YjU4YTU5ZTIzIGxlZ2FjeS10cnVuaworMTA4ODUgYzRkZjhiNjYzN2I2OTQ1YjJmOWU4MjM2M2JmNmQxNWM3MDc2MGE5YSBsZWdhY3ktdHJ1bmsKKzEwODg2IDY0Yjg4YTE3ODMyODY5MWNkNGMyNWU3OGRlN2E1ZGZmYjE1Yzk4ZjggbGVnYWN5LXRydW5rCisxMDg4NyAzYzQwYWYyZDFkZTllMTM0YjVlN2RiZDVlM2IxMDcyZmZiYTk2MmVjIGxlZ2FjeS10cnVuaworMTA4ODggNGEzM2JiN2FkZjdkNjFiYjg0NmQyNDlhM2EwMzdlMTBhNDgxZjllMSBsZWdhY3ktdHJ1bmsKKzEwODg5IDA5Njg1N2IwZTRiODVkYmRjZTA3Yzc2OTAyZTFmOTk4NzYzYjk4NTQgbGVnYWN5LXRydW5rCisxMDg5MCA4YTRmZTE5OWI0NWRlZjcyOGNjMmQzMmMxZDgxMzAxZWVkODk1ZWQzIGxlZ2FjeS10cnVuaworMTA4OTEgZjIxODY3ZjgwMzViZDM4OTk1YzJmMWFhZTFjMzdmODA1ZjczOGJkNiBsZWdhY3ktdHJ1bmsKKzEwODkyIGM5ZTNjZThlNzRiNWQ3ZjUxYjRmMDkzYTJhMjY3Y2JlY2JkNmM5Y2EgbGVnYWN5LXRydW5rCisxMDg5MyBkYjhiMTBiN2NjZjIyNDk3NTQ3MTg4MDZmNTA0MTNiMDFhNmU3YWU0IGxlZ2FjeS10cnVuaworMTA4OTQgNDUwNTE2MGE3ZTVjNmNlMTM2ZGYxMTIwMmU5OWE2NjZlOTlkMzFhYiBsZWdhY3ktdHJ1bmsKKzEwODk1IDU1ZmM4ZDkzMzA4NzY2ZjE4OWM5Y2Y2OTEwMGU4MDY0NjE2Y2I5NmMgbGVnYWN5LXRydW5rCisxMDg5NiA0MDY0YjY3Mjk1MzdmMDMxYzA4Nzc5OTc4ZWU2YmE2MzMyMzMyZWY4IGxlZ2FjeS10cnVuaworMTA4OTcgZWNkZDRiNDY4NjI2ODU5MmM4NTNlNzRiNjIwOWE3MGEwZDMyOTFmZSBsZWdhY3ktdHJ1bmsKKzEwODk4IDllYTUwMDMxMTQ5YzIyMDRlN2I1ODg2ZDljMmJmNjMwMDQwYTc1NjkgbGVnYWN5LXRydW5rCisxMDg5OSBmMzk4NDE5ZDUwZjk3NGM1NTVlYjZmMjkyM2RmOTM4NTE0OTJkN2JjIGxlZ2FjeS10cnVuaworMTA5MDAgYjVmZjY2M2VlNzZkOWVjMzA2MzE0MzZhNmUwMGI4MzQ2NjNmZGM0YyBsZWdhY3ktdHJ1bmsKKzEwOTAxIGM4NWUxNDI5M2MyZWUxY2M0NTE2M2Y4NWRlY2ZlMjExNDk0NmNkMDkgbGVnYWN5LXRydW5rCisxMDkwMiAzMDRkNGU0ODg3ZjRjYTYwYTdjNDdmMzM3YjJiYzIyZmE4YzJjMWJlIGxlZ2FjeS10cnVuaworMTA5MDMgZDk2Y2JkYWNiZTcyMjRjOWY5OGI2MjAzMGU5ZDI5OGVjZmJmOGU5OCBsZWdhY3ktdHJ1bmsKKzEwOTA0IDQ3MmU0MjU0MTRkODI0N2ZkOTM3NTdjOWI1NTM1MjExNGM2NzQ4ZjYgbGVnYWN5LXRydW5rCisxMDkwNSAwYTAwZGQ1NzExZTYyMTMxOWY5YWFhZThhYjZlYWUxNmNjOTc0Y2U4IGxlZ2FjeS10cnVuaworMTA5MDYgNzU2ZTJlZjUxYjE5YzYzZmQwNGU4Nzk0OGY1NmFiZTg2NjQ0ZjE0MyBsZWdhY3ktdHJ1bmsKKzEwOTA3IGUyZDQxYmYxYTBmMDRjZWQ3NWQzMzAzZDZlZTE1MzBhZDI3YmQxMjcgbGVnYWN5LXRydW5rCisxMDkwOCAwYjNlNTc3YThkZjQ3YmZmZWY5ZmE1MDU3YzMyY2FkNzgxMjU4YzAxIGxlZ2FjeS10cnVuaworMTA5MDkgZTk2ZTNkMzg3NjExZjAzYTI3Y2JiYjZiYmYzOTY1YmIxMzIyMDAyMyBsZWdhY3ktdHJ1bmsKKzEwOTEwIDNlNjUzZTIwNGFkN2JiZmU5YTQ2YjcwMTdiZjYyMzAwOWNkNGU1NDQgbGVnYWN5LXRydW5rCisxMDkxMSBmN2M1OGVkMjk4MWQxZWIxYmY1MzUzZTY4ZGI0MjRjOTk5MzkzZDA1IGxlZ2FjeS10cnVuaworMTA5MTIgMTJkZGI5YmQwZDMzOTFkNTYzMTRjMDliZDI2MDE3MDkyOGJkNDk0NCBsZWdhY3ktdHJ1bmsKKzEwOTEzIDgyZjAyMWVlY2UyYzc4N2ViYTAyMzNmMTI2ZTY4OWY5OThiYTBjNWIgbGVnYWN5LXRydW5rCisxMDkxNCA5MmMwYzk4YjQyYzUzNjc3OGI1MjNjODg5OTA1NmFiYTkxNTJlNDQ0IGxlZ2FjeS10cnVuaworMTA5MTUgN2NkZmY4YWE4MzE4M2Y3ZjUxZDMxYjYxN2NiZjhlNzU2ZGRlNDk3ZCBsZWdhY3ktdHJ1bmsKKzEwOTE2IGFlNzQ2ZWFiMmE5NjA1NTRhODVlOWU4ODc1NTkxNTEwNzFkYjRmNTUgbGVnYWN5LXRydW5rCisxMDkxNyA3OGViNDBmMDMyODQzY2IxZWFhMTQ0MjBiMDgwNmY0MzEwOWM4OGFjIGxlZ2FjeS10cnVuaworMTA5MTggYTlhNzg4Yzc0ZDZlN2MyNTE1ZTAzYzFlOWY2YWZmNGU3NmI2M2I3NCBsZWdhY3ktdHJ1bmsKKzEwOTE5IGM3YjA0MzEzNmZkYmQ4MTFiMzA4NWM0NDg0MjAwZjk1NmViYTNkNTYgbGVnYWN5LXRydW5rCisxMDkyMCBjMDU5YmJkMTRiMjMyZDNlZmUyNGYxMjVlNDYzYjQxMmIyMGI0ZjZiIGxlZ2FjeS10cnVuaworMTA5MjEgNTM0NjAyNzQ2MDc5ZDEzYzkyOWJmOTE2YjY3MGQzZWU0ZjdjODUzZSBsZWdhY3ktdHJ1bmsKKzEwOTIyIDc3NDljM2UwMzI0YWYwNjZhN2U4Yjg1Y2Y1ZWM0NjE5MGQ2MThlNjMgbGVnYWN5LXRydW5rCisxMDkyMyA5ZTRhZWE1YTY1MmQyMWFkMGI1MWNhMjNkNjBlM2Q4ODNmOWQ5ODBhIGxlZ2FjeS10cnVuaworMTA5MjQgZmQ1Y2VmZGQxZjYxZGNmNGJlNGJiODA0ZGFhZWM2MmJmMzRhZTgxMiBsZWdhY3ktdHJ1bmsKKzEwOTI1IGM1NTBlZTQ5MzViMGM3ODZlZmVkNzc0MGQ4ZDM3Y2I0MmZkYWVkMTUgbGVnYWN5LXRydW5rCisxMDkyNiA2ZjcwY2E3Yzg0ZTY2Y2QzMmQ2M2I5Zjc1YWJhODlmMDJlZGIwMDZiIGxlZ2FjeS10cnVuaworMTA5MjcgMDI0NzE0NTU4NjIwZWJkMzMyZTY3NTBkN2E0ZTdlNTlmYWEzNGE5MCBsZWdhY3ktdHJ1bmsKKzEwOTI4IDU5ZGZhOWViN2MwNzBmZjY1ZWI0YjFkM2UyNDFlNzU1NjAxOGNmMWMgbGVnYWN5LXRydW5rCisxMDkyOSA0ZTY2OGYxYTlkZGRlZjVhMmE0Y2EzZjYzNGM3Y2RjN2VlMGE4YzYxIGxlZ2FjeS10cnVuaworMTA5MzAgYTM0MTYwOTFjMmEyNWEzNjEzMWFlMzgxMDY2MjViMjgzNTJmMzExMyBsZWdhY3ktdHJ1bmsKKzEwOTMxIDM2ZWExM2JhMzEzNjQ0M2Y3MmJlNTI4MzQ2YjJiMDRmZGM1YTIwNjMgbGVnYWN5LXRydW5rCisxMDkzMiA2MTkxMmQ0YWQ1MmY2NzgzZTlmOWIwNWVjMGM1NjY1NzI2NzJiOWY2IGxlZ2FjeS10cnVuaworMTA5MzMgNzU0ZGU2MjFlOGIzMGNlOGNlMmQ1YjE5MWRkOGU3Y2E5MDc4MjMwNCBsZWdhY3ktdHJ1bmsKKzEwOTM0IDg0ZDFiN2NmODE1YTc5ZTkyM2RkZTA0MzA4MjY3YjliODg1NTM1Y2MgbGVnYWN5LXRydW5rCisxMDkzNSA0ZTU5ZDg5MGE0YmRhZDk4YmVlMjEzMzIxNzUxNGMyNTE4YWQ3Y2JiIGxlZ2FjeS10cnVuaworMTA5MzYgMmJkOGQ1MjBmZmFjMDFhNTdlMThiOTU0NDg1MzcxOTVlYzY2NzJjNCBsZWdhY3ktdHJ1bmsKKzEwOTM3IGFmOTI3M2IxMDczYWFhZjg5NzIxYjQyMWY0YjI3ODRmZjY2ZDA2OWIgbGVnYWN5LXRydW5rCisxMDkzOCA5MmM4OGNhNjJkYTdiODEzNjk2ZmViNTdkZWZhNmIxZjVkOWRkYjRlIGxlZ2FjeS10cnVuaworMTA5MzkgYWY0ODg4N2M5NzE3NmI2ZTg1NTMwMDE5NGU5YmQ0YWYwNGM3M2U1ZiBsZWdhY3ktdHJ1bmsKKzEwOTQwIDU3ZGFlMWM3ZWE4NDdiYjk1MTA5MmQ1MTJiYjFkODQyYmE2NGQ1YzkgbGVnYWN5LXRydW5rCisxMDk0MSBmNzUwYjFmZmUzNTI5MmUyZGI3NDVmYmMwZGFmNTI1YTIwNTcxY2ZiIGxlZ2FjeS10cnVuaworMTA5NDIgMjA5NWFlNjkwYWFjYTA0ZDc0MmJmYmE3Yjk0ZmE1ODU2ZjQ3ZDNjMyBsZWdhY3ktdHJ1bmsKKzEwOTQzIDEwMjY3Yzc1NTVhZTY1MTAxNjY4YzY0NmU2ODMwMmZlMjY0NDMyNDMgbGVnYWN5LXRydW5rCisxMDk0NCBkYTA3NjYzZjlmZmY0NmZkMDgxNmQ5YTA2NDE2ODc4N2JlODUwYmMyIGxlZ2FjeS10cnVuaworMTA5NDUgMTMzZjQ1NTRhMjZkNTdjZTU5MzRkODllZmQ2YTVmNzkyM2VjYWI3YSBsZWdhY3ktdHJ1bmsKKzEwOTQ2IDcxNjBlNTI5ZTlhMWViMmFlNmJjYWI5MWE5N2ZmZDVkM2VjNTUyZWEgbGVnYWN5LXRydW5rCisxMDk0NyAwZTZmYmJlM2I2M2MxNDBmNzhjNjk1ZjJiNzE5OGYxNjQ3NTg5NmQ2IGxlZ2FjeS10cnVuaworMTA5NDggNDEyMDlkNWQxZDY0OTBjODA3YmU2Zjk4ZTMwYjRmNDFmNzkzNjE3NCBsZWdhY3ktdHJ1bmsKKzEwOTQ5IDc2MzhlNDU5NDIwNjc1YjZiMDgwNTY3ODE2OGRmMDRiNTA5MDRhNjYgbGVnYWN5LXRydW5rCisxMDk1MCBjMjdjZDVmYzQ2YjUzMmZhZGQ0NDExYWU3ZDJlYzE4ZGIxNTRlNzk2IGxlZ2FjeS10cnVuaworMTA5NTEgOWMzMmNhYzU2MjUwNWQzY2RlMjBlZDlkNGU5NDYxYmIzOTM1MzcwYSBsZWdhY3ktdHJ1bmsKKzEwOTUyIDkzMzg4MmMwZTlmYmEwYTJkZmVkZDA1OGQ5NDA1NmVhM2RhYmM4ZmQgbGVnYWN5LXRydW5rCisxMDk1MyBjODkxODliMDIzNmVjMWYxMzkzOTBkNDljODEyMjc2MTg4OTE0N2IxIGxlZ2FjeS10cnVuaworMTA5NTQgYzU1NWM3MmYwOTBkZDA4NzA1MGM3NGFlMGU2OTViNTkzMDE1N2NhYiBsZWdhY3ktdHJ1bmsKKzEwOTU1IGE5ZDg4YmZhMjRhZjM3MjM4NTAzYWFiZTljZjU5MThlMWM3ZGY3N2YgbGVnYWN5LXRydW5rCisxMDk1NiAwNDlhYTNhOGExNzIwZDE0ZWQzOTg0NGU4ZWQxODNkMDQ0M2Q1M2E1IGxlZ2FjeS10cnVuaworMTA5NTcgZjhjNmNmNWNmYTdkMDE2YzI5Y2UwNDc0ZWE3YmJhMTZmMWY0ZGY4MSBsZWdhY3ktdHJ1bmsKKzEwOTU4IDdmOTViYjJmMTcwNDg5NDM3Yjc0MjE0YmVmMWVmMzFjNzQ1MzIwZGQgbGVnYWN5LXRydW5rCisxMDk1OSAzYTg1YWQ1ZTQxMTZjZDUwNmU1Yzc2NWQyYTRjYTJjYmM3ZWU0OTJiIGxlZ2FjeS10cnVuaworMTA5NjAgNGJhNTg3YWE4YTk4YzljOGI4NGQ5OWYxYjdlMzFlOWZmNGVkNTJmOCBsZWdhY3ktdHJ1bmsKKzEwOTYxIGUyODFkNTAzNjcyNTI5N2Y1MTVjNDUwOWE4ZmZkNmU0NDAyMGU2YzggbGVnYWN5LXRydW5rCisxMDk2MiBkOTNhZTM3NGZiOTk4YWJkYmE2NWM2NjQ3MTQ2NDE2YTg2OTQ1OWU0IGxlZ2FjeS10cnVuaworMTA5NjMgNjE0YTdmZmVlMTEzM2U3MTFjOGMyYmNjNDNkMmZmZjNlNzUzMjQ2MiBsZWdhY3ktdHJ1bmsKKzEwOTY0IDdlM2I3MmQ4YWU5NDYyMDIwNzhjMTYwMzI0OTRlNWNmMjVjMTljNjAgbGVnYWN5LXRydW5rCisxMDk2NSBmNmU5MDBkYTM3ZGI0NTgyNzRmZDE5ZmNmNjNjYjAxMmFmMGFiNTVhIGxlZ2FjeS10cnVuaworMTA5NjYgMmU0ZjE3OGQ3ZTE3NTkzOGM2Mjc3MmJmNTY2NTE3NmExZGY5OTIzZCBsZWdhY3ktdHJ1bmsKKzEwOTY3IDdmOTRiNDk1ODA1NjI5ZWU2ZWI4YzRhMmUzNjg1YzhlNzZmYWRjZjYgbGVnYWN5LXRydW5rCisxMDk2OCA1M2FmY2QyODMyNWVmOTE3Mzc1ZTRmODYyOTZiODlmMjNiODllNGVjIGxlZ2FjeS10cnVuaworMTA5NjkgNTE0NTc3NDBmNWNhZTlkNTdkMjY1YTQ2NjI4ZjczZGU1YTRhZjJjNSBsZWdhY3ktdHJ1bmsKKzEwOTcwIDM2MDQxMzFmOTQyZDY4ZjNhNmYzNThlYTIyZjRmOGMxMzczNWQ3OWIgbGVnYWN5LXRydW5rCisxMDk3MSBiYmI3ZTFkYTQ2ODYyMzUxZDBlNTFmYzM5MGM1ZjZkMjNhMTZjYjhjIGxlZ2FjeS10cnVuaworMTA5NzIgN2QxZGZlNjZmNjRiYzU1MWMwM2I5Yjk1ZThlOTg4MjIwMDQ5Yjk0ZCBsZWdhY3ktdHJ1bmsKKzEwOTczIDAzOGE1YzQzMzU4NjFmZWQ3NTYyYjJmMWNlNmExYzU4MjI2ODNmZmQgbGVnYWN5LXRydW5rCisxMDk3NCBlYjZmNjU5NjZmYjIyYjhmMzcwYjI0YzM4Yzk5N2NkMGZkYTk2NzU4IGxlZ2FjeS10cnVuaworMTA5NzUgMjhmNmIwM2JiNjRmMDU4ZDlhNWQ3ZDgwYTMxYzA5OGY2ZDk5NmMyNSBsZWdhY3ktdHJ1bmsKKzEwOTc2IGZjMjk2MjVkZjUzMjU5MmM1NDhlMDVjYWQ1ZDA1ZmQ0N2RiNTI1YjggbGVnYWN5LXRydW5rCisxMDk3NyAwMzYzZjE5ODg3ZDE1YjJlNjBhZjNmOWZlYWE2ZDM0Njc5Yzc0Yzg5IGxlZ2FjeS10cnVuaworMTA5NzggMWQ4ZGFiNWFhN2QxMGUyOTM5YzU4NGQ1OWIyMjMyMGU0MmNhN2U1MyBsZWdhY3ktdHJ1bmsKKzEwOTc5IDBmOTFjMGJiYWNjNTdjNDQyYmI0MDkyN2NmNmEyMGQ4ZmMzM2M2YjUgbGVnYWN5LXRydW5rCisxMDk4MCA2OWM5YmJiNjlhYWIyNjdmZWY1OThmZmJjMWJhMWMwYWQzZjA3NTdkIGxlZ2FjeS10cnVuaworMTA5ODEgMDQ0N2VmODQ4M2M4Yzc1NGU3M2QxMDQwNzU0ZGE5ZmNlOTFiZWM5MiBsZWdhY3ktdHJ1bmsKKzEwOTgyIDkyY2Y3ZjQyNzcyMzBlOTA5M2ZiNTc3M2RhMjJlZjg4NTdkY2VmZjkgbGVnYWN5LXRydW5rCisxMDk4MyBiYTMxMmU3OTBiMmEyY2I2MzlkYWY2YTJkN2E2ZjA4ODdhYjU4MGU4IGxlZ2FjeS10cnVuaworMTA5ODQgYjhiYmNjMDA5YTZhYjM1ZGZiYTc3MjExMjE2MmYxNTMzZjM4ZWFlYSBsZWdhY3ktdHJ1bmsKKzEwOTg1IDg1ZTY4MjA0ODJmZjgzNWNiMTljYjExODI0ZmY4MTQwNTZmNDkzZGMgbGVnYWN5LXRydW5rCisxMDk4NiBkZTExYTg4YWM0OThlYjRmMTI2ZDVkOTZlYjI4YjE0MWY3NGI5ODllIGxlZ2FjeS10cnVuaworMTA5ODcgZTgyZDAyNzdlNjUzYzA5ODVmNTBmZjE5MzExMTkzZWVhYmJkZDYyMCBsZWdhY3ktdHJ1bmsKKzEwOTg4IDZiZjViODdhZjAyZjlhNjBjODRlMjIxYzU1YmM1YTIwOTg0NTIzYjIgbGVnYWN5LXRydW5rCisxMDk4OSBmNDgwOWZmMWY0ZGE0ZTZhNTJiY2Y3OWFlOGNkMDhkZDQ5Y2M3MzNmIGxlZ2FjeS10cnVuaworMTA5OTAgZGVkNjlkMTJjYzY4MzVlYjA0NzIzMWMyOTQ1MTM3NWEzZDE1MjczMyBsZWdhY3ktdHJ1bmsKKzEwOTkxIDhlODIwNzE2Y2YxMjNlMmMyNWZlNjZkMjY5OTMxMTNmYTJjMTRkZmUgbGVnYWN5LXRydW5rCisxMDk5MiBkZTBmMGMzZWQ0MjRlNmE2NTM1MjA4ZjViYWM0Njc5NTRhMTBiZmVjIGxlZ2FjeS10cnVuaworMTA5OTMgNjk2NjJmMTZhODM4OTY0MzY1MGE1NmI5MjZiOTA1MGYwNzk4YjY3NyBsZWdhY3ktdHJ1bmsKKzEwOTk0IDRkZWQ0MDE4YjBlYjNjZmYzMmMzNGE1NWFmYjdkMzgxZTBiNWU2YmIgbGVnYWN5LXRydW5rCisxMDk5NSBkYTliZjllZWQxZmM3MjIyYWY1N2Q0YjA3NmIzNTU4YTAyNjE2NDIwIGxlZ2FjeS10cnVuaworMTA5OTYgMWVmNDBkNWFjY2UyMmI3NjZlNDBiM2RmZmY1MTQ2ZTVhYWJjYjJlNCBsZWdhY3ktdHJ1bmsKKzEwOTk3IDE2YjNhMTIxZmY3NzJlMjRkZmRmMmIyOTZlNmYwNjU0MWFlYTE2NGQgbGVnYWN5LXRydW5rCisxMDk5OCA4MWUyOTQ3N2QyYTRjMGM3NjJhMzMyZTRlODM4NGMzMmMwMDU5MWU4IGxlZ2FjeS10cnVuaworMTA5OTkgNTBlODdjMDljMjM2NmMzMzM4YmEzYmQyM2U0NzhmYWU2ZTYyNTExMSBsZWdhY3ktdHJ1bmsKKzExMDAwIGI1Njk4MWMwZDYxZWJiMmI4MWZmMzg5MzUwYmEyNmNjZDRmMWU1NmIgbGVnYWN5LXRydW5rCisxMTAwMSA2MWE5YzUyOTQ1NWE5MDgyYmQ5ZTJkYmRiMmYxNmY0Y2RjOWJmNzg3IGxlZ2FjeS10cnVuaworMTEwMDIgYjk0MDE1YzBjODM3YWZlNmQwZTc1NWQ1OTI1MWUwNzYwYTM3YjI1NCBsZWdhY3ktdHJ1bmsKKzExMDAzIDA2NGY4NWVlOWJlNWIwNzk1YTE5ZjkzMTNhYWYxNDM2ZmY4YjUzYzMgbGVnYWN5LXRydW5rCisxMTAwNCA0ZTRmZDk1NGRkYTBmYmNjYzQ5MDIzN2RiMjg3ZDg5NWE5NTAzZGE1IGxlZ2FjeS10cnVuaworMTEwMDUgZDk5OTIwYzBiZmIwMTVlNzFjY2RiNGVhMzliOWYwNjkxYzQzMDViMiBsZWdhY3ktdHJ1bmsKKzExMDA2IDQ3YmYzYmI5NTU2ZTIxZjhjMDZhOGJkYTQzYmUyMmNhOTY1ZTNhN2QgbGVnYWN5LXRydW5rCisxMTAwNyBlYzI2ZDUxNDJlYjQ0MDIxMzQ4Y2QzYzczMDc4NjhiMWVlMjRhZTkwIGxlZ2FjeS10cnVuaworMTEwMDggZDdlMzllZWE3NmY0Y2UzODZkNDY0Zjg4YmI2ZTU3ZTFlMGM0NDQyZCBsZWdhY3ktdHJ1bmsKKzExMDA5IDVmMWU0MzFhMGE4MjY4ZjczYWFiODFhNjNiYjRhZTliOGZlOGNhMjQgbGVnYWN5LXRydW5rCisxMTAxMCAzYzhiMTQ5YjQyZmYzYTY1NmU2OGIzOTIwYmEzZDVjOTJlYjljYjE1IGxlZ2FjeS10cnVuaworMTEwMTEgMDM2NmRhZWZhMjNjMjY5NzBkMjQ3YTViMWMzOWM5NWZjZmJlMjJlMyBsZWdhY3ktdHJ1bmsKKzExMDEyIDQ4MjliOGZhZjJiNDJiNGM4ZTg0ZTNmYTM1N2JmZjMzZjUzYTRkOTcgbGVnYWN5LXRydW5rCisxMTAxMyAxOGE5Mjg5ZGY5OWExZjVkMzhjNDkyMjc5MTBmN2RiZjI5YWFhMTQ3IGxlZ2FjeS10cnVuaworMTEwMTQgMjE2Njg2NmFmOTJiYjE2Yzg1NGEzNDg3ZWFmNjljNmIxNzU2MDcyMyBsZWdhY3ktdHJ1bmsKKzExMDE1IGU1ZDA2YTYwMjQ2OWNkOWRmYmQwNmU3YmE2YmRjMzQyODYwMTJmMGQgbGVnYWN5LXRydW5rCisxMTAxNiA1ZjViNDkyZDE4MDQzYmE2MTRiZGM3MmNkN2QwZmI4ZGZjNGMxNTdlIGxlZ2FjeS10cnVuaworMTEwMTcgZjMxY2U0NjIwMWM5NTYwMTc4ZmQwMDEwNGY4ZDM1NDk0NjVjYjczMyBsZWdhY3ktdHJ1bmsKKzExMDE4IDE4YTRlMDMxZDdjYTBhNjg5ZmFhMjI0MGJiNDc3ZDE1MDhiYTI0MWYgbGVnYWN5LXRydW5rCisxMTAxOSAzYzQwNjNmMGE3OGZhZjI3NjY1Mzk3MmY3NjE3Zjk3OGI3NmNjOWMwIGxlZ2FjeS10cnVuaworMTEwMjAgMjEzNTg3YjNiOWQwYWY3MGU1ZWEyODYwZWMxYzA1YzNjMDRiYjlhMiBsZWdhY3ktdHJ1bmsKKzExMDIxIDUwOTlmNDRiYWYyNTVjMTk3Mzk3MzJjZjJiZTE4OGU3ZWY3ZjMyMWUgbGVnYWN5LXRydW5rCisxMTAyMiBmNGI2MzZkMTVhYmNkOTVjZDdiOGNjZDhlNDJmYzVjM2I5NTU0Y2FjIGxlZ2FjeS10cnVuaworMTEwMjMgY2YwZmFhZjNjMDRiNmRlYmQwNjM5YjAxMTE2YzMwOTA2OTAxNDU0MSBsZWdhY3ktdHJ1bmsKKzExMDI0IDVjMmYxOWQxOTY0M2EyODliYzc2ZGI4Mjg5Mzg5MTBiZTVkNGJmMjQgbGVnYWN5LXRydW5rCisxMTAyNSBlOTUxYmYyZDdkOTNiMjNiMDMyZGRkYWFhNDgwNTNjM2EwODE1NTE1IGxlZ2FjeS10cnVuaworMTEwMjYgMzVhMjE1MWZiMWMzZjYyNDc1YTI1YTUzYjcwMGVmMDYyODVhYzZiZSBsZWdhY3ktdHJ1bmsKKzExMDI3IGU2MzM5M2Y1MzY3MDIzNDgzOTIzNjc5ODVhOTQxMGQ0OGExMDlmOTEgbGVnYWN5LXRydW5rCisxMTAyOCBkYzhkYWE3NDhjNDA5MzQ1MWFjOGE1MmI2ZDBkYWU2ODAwN2IzNjFhIGxlZ2FjeS10cnVuaworMTEwMjkgZDg0ZjEyMDljYmE1Mjk5ODQ2OTM2NzdlZmEyZDQ4N2IzOTI2MDc1YyBsZWdhY3ktdHJ1bmsKKzExMDMwIGZhYzMzNzE2YTIxODM0ZjllNmY0OTU4NTQ0NTFhMGUxMTQ4ZDM5MTAgbGVnYWN5LXRydW5rCisxMTAzMSAxZWExOTViMTQyNDU5OTg0Y2Y5NTBhMTczODUyZGNhM2YzZjczMTFjIGxlZ2FjeS10cnVuaworMTEwMzIgMWU5ZDY1ZjljYTUzY2YzNzljNDAzMzA5NWYzZDYzMGYyNWI2ZDA5YSBsZWdhY3ktdHJ1bmsKKzExMDMzIDU4OWI2NDEzNWVlNjUxMjdmOWQ1MzVlM2UzYThmZjdlOTVmMGE5M2IgbGVnYWN5LXRydW5rCisxMTAzNCAyMmEwNzI0YzZiYWM1MWExYWIzZGMwYjAwYzI0YWRjNzM4NDgyZTg3IGxlZ2FjeS10cnVuaworMTEwMzUgNDM1N2I0ZWI1YzE5YTY2MTAzNDRlZmU5OTVjYzExN2NhNTkzOWU1MiBsZWdhY3ktdHJ1bmsKKzExMDM2IGQ3Y2U5YWUzNjJhOTA0MTgxZmUzNDViNDgzM2U4MWQxODZmMzIzNzEgbGVnYWN5LXRydW5rCisxMTAzNyBmNmQ4MjMzNGNlYjE1NmM2MDNlNGJkMmZiNDM0ZWFmZTEzNWZhZGY0IGxlZ2FjeS10cnVuaworMTEwMzggZDBlZWM5NmI0YzU2MjNkN2FlMGNmN2Y4MTg2OWYxNGQ3NDRiODhkNiBsZWdhY3ktdHJ1bmsKKzExMDM5IGIwMmM0M2EyMDFhZTVkZWMwMzFhOTE4Yzc5MGE3NzE3NGRkZjZlMmMgbGVnYWN5LXRydW5rCisxMTA0MCA4ZTYwZmYwNjQ2MDk5MzQ2ZDNhY2QxN2MxMGVhMjQyZTE3ZTc5ZTEyIGxlZ2FjeS10cnVuaworMTEwNDEgOTIyNjc4MzhmZWI5Y2FlNzJmYmVlNjkxYmMzOGQzNjIwZDUzZGNmOSBsZWdhY3ktdHJ1bmsKKzExMDQyIDQ2ZmQ2MzBkY2U2MzMxY2I1ODFlM2U2MDM1MmFiMTg2ZWUzZTg1MjggbGVnYWN5LXRydW5rCisxMTA0MyA4OTczZTcwODVjZjQ5Y2QzYzg2ODg5M2I4YmZmZjUwMjJmNGIxMWJmIGxlZ2FjeS10cnVuaworMTEwNDQgZmY5YWRiNTdiOGI1MWIyOTkzOGZmMjk2ZWJmNjU1ZTQ1ZWQzNzM1YiBsZWdhY3ktdHJ1bmsKKzExMDQ1IDQxOWVlOTVkZjJkODhmNWQ5MjA2N2FiNmQyZTRkNGRlNDFkM2JiYjEgbGVnYWN5LXRydW5rCisxMTA0NiBlODdkMjJjN2RlM2MzYzk4MzhiMmM2NWViZDhiOTA4NDMyN2VkZWIwIGxlZ2FjeS10cnVuaworMTEwNDcgMTllODAxNmNkMzhjZmU2Y2FiZWVmZGQzNjc0MjhkNzZmMWQyMjRjNyBsZWdhY3ktdHJ1bmsKKzExMDQ4IDZlOGIwZTc1NGE3ZjM3MDliMmQ0NGRkMTIwNGNiMjVjMzI3MmUzODEgbGVnYWN5LXRydW5rCisxMTA0OSBiYzg2MTlhZjA5MjNiZTE2ZjUyNWRkOGEyODYyMjBjZTc4Nzg0MTc5IGxlZ2FjeS10cnVuaworMTEwNTAgODcxNjgxNmUwODU5NGY0MDg5NjFiZGE0NzU1NjgwN2M4YTdlYWQ1MyBsZWdhY3ktdHJ1bmsKKzExMDUxIDQ1MDA3NjA2OGIyMmFlZTRkNGU0M2NjYTM3ZjY0NzVjYTFhZGZmNjggbGVnYWN5LXRydW5rCisxMTA1MiBiZDY5NWRlMThlY2YyM2FkY2JiNWIyZTk3ZmMxNDdiOTk3ODA5ZDU5IGxlZ2FjeS10cnVuaworMTEwNTMgNjdhYTk5N2ZiYjBlMTRiMjEzNzIzMjQ1MTUxYjI1NWVkMjZhMWFiZiBsZWdhY3ktdHJ1bmsKKzExMDU0IGVhOGYwZjVhYjAxNTdlOWNhZTliODc4YzRjNmMwYzFmZDQyN2MxM2UgbGVnYWN5LXRydW5rCisxMTA1NSA2MDUxZjJlNDM1MTc2OThmNDU0MmZlYWM5NGU0ZTg2ZmQxMmNhNzIzIGxlZ2FjeS10cnVuaworMTEwNTYgMTEwZTk3MzM5NzQwZWI0NWY2ZjljOWFiNjE4YTEzYjc3NjJjOGJjOSBsZWdhY3ktdHJ1bmsKKzExMDU3IDk0Y2U3NWY0MzQ1MmY5ZGI1NmYzNjY4ZTFkODVkMTY4NmNmZDJmZDIgbGVnYWN5LXRydW5rCisxMTA1OCBhMzM5MjU0NWQ4NjUyYzhhY2MxZWY2MWVkOTZkYjk2NmQxYzU3MjdlIGxlZ2FjeS10cnVuaworMTEwNTkgZjBmYWFkOGQ1OTM3Y2UzZDlhODUzM2FkZmRjMTZlMTU1NzNjMjU2ZCBsZWdhY3ktdHJ1bmsKKzExMDYwIDJiMDQxMTA1OTYzMDIzYWZlMzVhZjVkNThiMzRlM2Y3YzhhZWFjYWMgbGVnYWN5LXRydW5rCisxMTA2MSBiMWIzNWY1MGYzZmE2YTQwZGQ3MTRhNjNhNGUxZWJjZmY2MTU5ZDg2IGxlZ2FjeS10cnVuaworMTEwNjIgMWNhNjg5NTAyNGQ5ZmVlYjhjY2VmN2NiNTYxOTJkMGY2MjBjM2QwNSBsZWdhY3ktdHJ1bmsKKzExMDYzIDIyMTY2N2Y4OTA2NDg2YzA5NWRiOTUzMmY4M2M3N2FlMWY3YzMzYWMgbGVnYWN5LXRydW5rCisxMTA2NCBjMzQ5NzAyNjUyMGQ3YTA4N2NlNWU0OGM5ZWRiMDJlZDIwNmE1NTVmIGxlZ2FjeS10cnVuaworMTEwNjUgZThhZGViNWNkMmZiN2I3OTcwYmVmMDQyMjg5ZGQ5MmEyYmNlNjhhZCBsZWdhY3ktdHJ1bmsKKzExMDY2IGNiN2ZjZmI1NjI3NTRjN2EzNmE5YTBjNjQ4ODM2ZmVkNWYxMjBkZTEgbGVnYWN5LXRydW5rCisxMTA2NyAxZTVlOWRjNmY5OTM5NDg0YzZlYzEyMWI0MjRiN2QxMjY2ZmQwYTg3IGxlZ2FjeS10cnVuaworMTEwNjggYmRmZWY4ZTczNDU3MjMwOTlkNDQxMGUxNzI0YzAwN2Q4ZWZlMWM2MSBsZWdhY3ktdHJ1bmsKKzExMDY5IDE1ODFjOTMxY2IzNWE2NTQ4YjU3NWE3ZTIxYzYxMjYyZjQ2MDY0ODUgbGVnYWN5LXRydW5rCisxMTA3MCA3NGExMDBjYjdhNjQzYjUxYzkyYjc4NzJlMjAwYWIxMzM1N2IxYzE4IGxlZ2FjeS10cnVuaworMTEwNzEgOTdkYzZhYTUzMmU3MjE0ZDRlMDI5ZmZjMGU5YTMwNzY4NzdiOWE1YiBsZWdhY3ktdHJ1bmsKKzExMDcyIGUxZmUzMGYzMjViOTkxNWQyMGE2ODc3NWRkMWQyZjEwYTQ4NTE3MGIgbGVnYWN5LXRydW5rCisxMTA3MyAyZjQzYjYxYTk4ZGY1YWUxOWYyZWE3YTM2ZjY5NTAzZGUwNTRlMGQwIGxlZ2FjeS10cnVuaworMTEwNzQgZWNmMGQ1MTUyOWFjNTlkNTM0YzFlMjUwZTc0MDA1NGU2OTQ5ZmI4OSBsZWdhY3ktdHJ1bmsKKzExMDc1IGZkMWY0ZWUxYjMyYTYxM2Q1ZjM3YjU4MDZjMWJmODNkNDFmYTAwN2UgbGVnYWN5LXRydW5rCisxMTA3NiA1ZDc3N2JlYTU0MzUxN2NkZGNlY2YyYmQwYjJmYzcyZjU4MDE1OTA5IGxlZ2FjeS10cnVuaworMTEwNzcgNjM1YzNkOTRhOTQ4MjE1OTQ0NTkyMDI4OTljMWI4OGQ4MTgwYWQ5ZCBsZWdhY3ktdHJ1bmsKKzExMDc4IDEyNWYyMWZkZThjNDA2NTVlMTdjODJiYTA3MTFhMGEzNDNmZTYzMWMgbGVnYWN5LXRydW5rCisxMTA3OSA3YmM3MTQxNDRiOThkODRmZjhiZjIzMWM3NGZlMDQxM2Y4MzhhZGM5IGxlZ2FjeS10cnVuaworMTEwODAgZWFiYjgzODFiZmM3NGFlZDhlMDk3MjIwYzM0NTUxOTRmYjlmYTk5OSBsZWdhY3ktdHJ1bmsKKzExMDgxIGQ0YTY4OGNjYjkzNzAxYzMxYjIyYmYyYWE4MmY1OWJhYTg4NTE1MTcgbGVnYWN5LXRydW5rCisxMTA4MiAyODM2MDJmMzAwNDMyNDFkMWM0ZjUxNjEwYjVjMjgwOTc3ZGU3MDI4IGxlZ2FjeS10cnVuaworMTEwODMgMDE5OGIyZjZiMWM4M2JiNTYyNWQxZjE3Njk3MDQ0NTJjMWU5Njg1OSBsZWdhY3ktdHJ1bmsKKzExMDg0IGNlMzYyYjliYTgzNjFmZTc1ZjVmZDA2ZDk3ZmJkMDgxMGYxOTlmNDkgbGVnYWN5LXRydW5rCisxMTA4NSBjMDQ0OTc3MTQ4ZTkwNGRjYTQxYzE4NGQ5ZjkxOTk1YmI1NDk2YmFiIGxlZ2FjeS10cnVuaworMTEwODYgZDFmMzkyY2RmY2VhNmQ3ZmMzNWUxYzQ3ZDkzZTdkMmM3MDYxMWY1NiBsZWdhY3ktdHJ1bmsKKzExMDg3IDNjOTZmYzg0NmI4OGJhM2ExOTQ0NWZkYTJjY2I2Y2UzZjk2NzgyMjIgbGVnYWN5LXRydW5rCisxMTA4OCBlMDE3MzcxYjdlZDFiMzJkYzY1NzQ1NGMwODAwZWI4MmNmMzE5MjA4IGxlZ2FjeS10cnVuaworMTEwODkgY2MwZmRlNGRkZjQ0ZWFlNWVhMmFkNmFjOGY4YTcwZTY3NzllYmFlOSBsZWdhY3ktdHJ1bmsKKzExMDkwIDQ1ZjlkZmZkYmEzZGMwOTMzY2UyYTFmZmIyZjdmMWE3OWM2OTVmNDcgbGVnYWN5LXRydW5rCisxMTA5MSBjZTI5NWJmYWNlZjM3Y2E2M2RhMzgyYjM3ZWE0NTExYTM4OTQxNWQxIGxlZ2FjeS10cnVuaworMTEwOTIgNjZmMDU0MDY1NmEwZTRhNjFmMTVmMWUzZThjZDAzYzdkZTNjNjAzMSBsZWdhY3ktdHJ1bmsKKzExMDkzIDA0ZDU5ODczNzBkZTJlZWVjMDg5NzAxOGVmYTQwMjc0NWMyNGYzMmEgbGVnYWN5LXRydW5rCisxMTA5NCAxYmJmYjkxZjhlODg2ZjI3YjdkMDNlODY5ODEwNmQ1YWExYmY3ODc3IGxlZ2FjeS10cnVuaworMTEwOTUgZTNkM2JiYmQ5M2YzNGMzYzE4ZTM1ZmE2ZjcwOGY3ZjdmYWFkODU4ZiBsZWdhY3ktdHJ1bmsKKzExMDk2IDY0ZjBjMzE4OGU3MDdhZTE1Y2FhZDczYTYwMzI4ZDA0OTM5MDI3MTIgbGVnYWN5LXRydW5rCisxMTA5NyBlNzgyMmI2NGEzM2QzZDNlY2JmMzMyOTZiMzgxOGRkZTU3MmE4MzI3IGxlZ2FjeS10cnVuaworMTEwOTggMjQxN2YxN2ZhM2U1ZmQyYzgwZDViYjdhY2MxOGFjYzA3YjViZjQyOCBsZWdhY3ktdHJ1bmsKKzExMDk5IDQ2YjQ3MmVjYjBmOTBhNTE4YTBlY2ZkZDBjNTczN2E2ZTA1M2U5YTkgbGVnYWN5LXRydW5rCisxMTEwMCBhODA3NTUzMWUyMGQ2MGJhMTJkMzM3NjljMWVhYzMzY2UyNGMyYmFlIGxlZ2FjeS10cnVuaworMTExMDEgNmVkNTAzZDljM2Q1MmNhNmJkZDA5N2IyZjE0N2I0NzFkYjU4MDRhNSBsZWdhY3ktdHJ1bmsKKzExMTAyIDBhM2M4YzIzZTFkYTJhNDkwZWM0ZGE4N2ZkMWYzMzhkZTEzZjk1YTYgbGVnYWN5LXRydW5rCisxMTEwMyA5Zjg0YjkxOTk1MmU1ZGM0ZmY0MGE5ZjgxZGQ2ZDFmYzQ3N2VjMTllIGxlZ2FjeS10cnVuaworMTExMDQgZjA1Nzc1MWNlZjYxOWM3Mzk1YmU3ZjBmYWQ0OTUyNzE2ZjQ2MzM4MCBsZWdhY3ktdHJ1bmsKKzExMTA1IGJkYTVhYzlmNjRlOTRlYmJlMzRiMGM1ZmQ3NzU1MTNjODEzZjk0M2IgbGVnYWN5LXRydW5rCisxMTEwNiAzNzFjMzEyNzY3Y2M5NjA4M2JmMzFmN2U4OWFkYTI0MzkyMGZiNmYxIGxlZ2FjeS10cnVuaworMTExMDcgNTFkY2JmOGEwYjkyYWI2MGRlMDViOGNhZWQyMjlhZGE5ZWI4NjI2OSBsZWdhY3ktdHJ1bmsKKzExMTA4IDI2ZjQ4MmQxNjE0MGJmZDQ2YjgyNTY2MWI1NmM3MDEyNDg2NTU0M2EgbGVnYWN5LXRydW5rCisxMTEwOSA2ZWQyY2MyNzkzNDZmZDcxMDRmOTEyMzYyMWZkZGQyMGM5NjAzN2VkIGxlZ2FjeS10cnVuaworMTExMTAgYWVhNjg0MWFiODk4ZDBiYTJlNTE5MzUwYTg2ZGNjYmZlN2JhYmY4OCBsZWdhY3ktdHJ1bmsKKzExMTExIDIzOTQ5MmIzNGY2ODJkNWNjYWRkYWQ5YmZjZWUxYjg4NjIxOThjNGIgbGVnYWN5LXRydW5rCisxMTExMiBhOTM5ZDRlMTRhOGQzMjQ1MGRlNjdkYWM1YjY0YjhhOWY2M2Q5OTdhIGxlZ2FjeS10cnVuaworMTExMTMgZDg2NzMzNjc2ODE1ODE1MjNjNGEyZTE0ZDk1YzM5N2Q1OTM3OTMyMiBsZWdhY3ktdHJ1bmsKKzExMTE0IDZkNzVhNDQzNDdhMjAyMTUyYmVlMzJlYmMzNmI5M2Q5M2M2NmNlMWYgbGVnYWN5LXRydW5rCisxMTExNSBjY2RlYmI1ZWQzM2EzOWIyYjI0MGU0M2QyMzhkNjMxNGYzMmY1ZjZiIGxlZ2FjeS10cnVuaworMTExMTYgMTE3MTM4MWZhMDFjOGE3NTBjMzIzNWJkZGU5OTNiYTkzNzc3ZjU1NiBsZWdhY3ktdHJ1bmsKKzExMTE3IDU3OThjZTNiZmYzNTRhMmUzZWJjNTE4NjU2MDE1NDc0MGM3Y2NjOTYgbGVnYWN5LXRydW5rCisxMTExOCBkY2VjOTgzNTc2ZDUxNGZjM2ZjMmIyMThmNWZmNzEyYTY4NzQ2MmFmIGxlZ2FjeS10cnVuaworMTExMTkgOWYxZTk1Y2RmYTE3MzE0NWVmOWNhZGE4NTdlN2I3ZmY4NDAwN2ZlMiBsZWdhY3ktdHJ1bmsKKzExMTIwIDFlMTIwYTVkMmU5MzQ1NDVlZGJiNjM2MGJhNjcxOWExNmQ4NzhlZjQgbGVnYWN5LXRydW5rCisxMTEyMSAwMjdhMWRhZDEzNTMyZmI2OTBiZjJjODIxZDg0YmU2ODFjYjcwMjk2IGxlZ2FjeS10cnVuaworMTExMjIgOGU4NmE3OTdlNTk2YzhjOWIxMGFjYjk5YzU5NmVhY2VlZDVhNTJiNyBsZWdhY3ktdHJ1bmsKKzExMTIzIGI0ODBlNmVkYmMwN2JkZjY5Mzg0ZTdiYTc0YzljMzg2NTYyNGNmMWQgbGVnYWN5LXRydW5rCisxMTEyNCAyYmZiMTIzNTViMTAyYTliNjI0NjlkZTVhOWI3ZTRhZTIxODFkZjlhIGxlZ2FjeS10cnVuaworMTExMjUgZDQ5Y2JlYzU5Mzk1YzI4ZGNlMmEzOGQ1M2JkMzEwMTIxM2RkZjQ4OSBsZWdhY3ktdHJ1bmsKKzExMTI2IDlhZTkxZTkzMDdlMGFlY2M1NjhjNTk3ZGY5YTVhMGNhZDlkNGUzMTEgbGVnYWN5LXRydW5rCisxMTEyNyBhZTBiNmMxYzllOGQ2YTNkZmIyMjM0M2ExYzIxNzQ2NjViZGIwOWI4IGxlZ2FjeS10cnVuaworMTExMjggZTgzYjM1M2QwYTFjZGFhZTg0Nzc5ZjRhOTk2NGQ4NWMxYjdhMjc3ZCBsZWdhY3ktdHJ1bmsKKzExMTI5IGEyYmVhZWRmMGFlZWYwYjY5NDUyNWVkZTk0ODAzOTM1MzNhNjIyYzEgbGVnYWN5LXRydW5rCisxMTEzMCA3NzUxODgxNDBmZTFmYWJkYzVmMTYxNTM1MWMzMGZlYjZiMDE1Njg0IGxlZ2FjeS10cnVuaworMTExMzEgOWFmOTVkNzI3MGRmZWY1NWNjNmFmNzhiMTdhNmU3ZDRiYWMyODQ0NiBsZWdhY3ktdHJ1bmsKKzExMTMyIDNiZTkwNjQ2Nzc0MDk1YTNmMWI2MzIxNGVhOTdiNDJmNmM2NDdlYWYgbGVnYWN5LXRydW5rCisxMTEzMyA0YmE5YjcwY2E1NmUyNGY2M2E0OWQ3NmE1YzEyY2MxYjVmNWQzNThkIGxlZ2FjeS10cnVuaworMTExMzQgOTdhMTEwOGIwZWIyODE1OTExMTQ0NDYyNDc1YTljOWEzMGQ1YjI1ZCBsZWdhY3ktdHJ1bmsKKzExMTM1IDJlYjljMjFjMjJmN2U5NTE1NWVlN2RmMjUyMWYwZmZkNWE5NmRjMTIgbGVnYWN5LXRydW5rCisxMTEzNiA3ZDRhMzg2YmVkM2ZjNTM5MmRmYWU4MmUwNGE1ZWNlZDRiMGMzMzhhIGxlZ2FjeS10cnVuaworMTExMzcgZWQwYTM4Y2JjM2U2M2Q3MjhmODBlYjNjOGE4ODIwNmFmYjc2N2NkNCBsZWdhY3ktdHJ1bmsKKzExMTM4IDllNTM2ZGQzZGM5N2YzOTk1N2E0MTllY2Y1MGUyOTEyMTY1YmQwMTMgbGVnYWN5LXRydW5rCisxMTEzOSBhYzQzZTIyNDY2OTViZWM3ZWViNTYzZDVhMTI3NzNhNDlmN2QzODU5IGxlZ2FjeS10cnVuaworMTExNDAgMWU5M2ZhMDIxNDA1NGI5NWNkMzIzNDRlOWUwN2I2NzNkM2FiZTgwZSBsZWdhY3ktdHJ1bmsKKzExMTQxIGNlNTRiNTQ0OGM4NWQ3NWFhNjExYzUyMzgxMDBlMzJmMWE5ZDIyM2EgbGVnYWN5LXRydW5rCisxMTE0MiBkZTc1OWFjYTEwYjI1Mjg5YmZmZDBjNTM1ZmJlZjk3OGVmOTUwNmY4IGxlZ2FjeS10cnVuaworMTExNDMgMzBmYmYxOGFmMjllOGFjOTVjZDc1MTkzMDYyMTAzYTcxYmRhNGYxZSBsZWdhY3ktdHJ1bmsKKzExMTQ0IDc0ZjM4NWVlNDRjYmJlZjgzMThkZGE2MzE5ZjAxOTNhZjU0ZWExMjUgbGVnYWN5LXRydW5rCisxMTE0NSAyZmRkZTc4NGQ4NDlhZTExMTNiY2UzOTI3ZGFmNDkzNjMyYWU3YzUyIGxlZ2FjeS10cnVuaworMTExNDYgODU2OGFhNDk0NGEwMWYxYTlhOTkwNTlkNDFjYWZjODVjNDNmM2RhYyBsZWdhY3ktdHJ1bmsKKzExMTQ3IGY1OTQ3NzhhNTZhZjk1NDVmMmQzYWJkOTRjYTQ2ZDk5MmM3ODZkYjcgbGVnYWN5LXRydW5rCisxMTE0OCA2MjQ1YjgxOWJkZDg1YzIxNWJjNzQ2OGViNmU1NzFkYjExNmJmODRhIGxlZ2FjeS10cnVuaworMTExNDkgM2FkMWJmZmJkYWViNDIwNTkxNjAwNDRiOWI3MGNmMDNhODI1MGQ2NiBsZWdhY3ktdHJ1bmsKKzExMTUwIDgyODExYzZjYjU4ZjViYjI5OGJlZTdmN2ZiNTFjMTI2M2I5MWE2OTcgbGVnYWN5LXRydW5rCisxMTE1MSAyYjJmZjVhODEzOTFhMjY0MDIxOGM4Y2QzMmUzMGMxN2RmNTY0NTA0IGxlZ2FjeS10cnVuaworMTExNTIgMDdlNDczNzBmY2I4YjliZDkyMTQyZDdiZTM1ZWEwYjM0NWEzM2ZjMyBsZWdhY3ktdHJ1bmsKKzExMTUzIDc0NDRmZTM4ZWFkYmQ0ZDk2NWMwMjg4YzczMDQyZWI4NTkzMjRhZGMgbGVnYWN5LXRydW5rCisxMTE1NCBiMWYxYmE0MjliNzNmMDJjMjIwODk1MTQwMTYwMjJlYjViMWI3MjI5IGxlZ2FjeS10cnVuaworMTExNTUgNWE4ZDljZTkwNjMyYjhkNGIwNzZmMmZiZjU1ZjU0MzQ3OTkyMmEwNyBsZWdhY3ktdHJ1bmsKKzExMTU2IGQ2ZjRlNDFiMmM2YWU4NzdiMDk3MDc1Y2NmZGJlZmUxMjZlYjYxY2IgbGVnYWN5LXRydW5rCisxMTE1NyA0NjllOGY0NTMzNjVhMzlmY2VhMjNmZWI3ZThjMDY2NTI4NTllNDg0IGxlZ2FjeS10cnVuaworMTExNTggN2Q5Njg0MjM4M2JiYTlkMTFhNTA5NjczZGI4YzA1NTBhNjJkZjA4MCBsZWdhY3ktdHJ1bmsKKzExMTU5IDYxNzA2ODNlOThlM2IyN2ZjOTY4ZjM5YmM2NGNmZGM5OTk4NGEzNDcgbGVnYWN5LXRydW5rCisxMTE2MCA0OGJjNDcwMzU4ODE1YTE4ZmZiZDk5NjBiNDk3NDQ5MDUxN2IzZjA0IGxlZ2FjeS10cnVuaworMTExNjEgYmE3NDQ0NjJlOTU4MzFkMjgxOWFhMGYzZDc4MmUxMDRmODYwYmUxNCBsZWdhY3ktdHJ1bmsKKzExMTYyIDQ2OGRiMmI3MTBmZDgyMzIwMDY3NzVlYjhhZDhiZjFiOWYwNzcxMDMgbGVnYWN5LXRydW5rCisxMTE2MyBjZTFlNTkxYjMxMjYzODQwYmE1YjVjYmM5YThkMmM3NWYzODE1NzM3IGxlZ2FjeS10cnVuaworMTExNjQgNmVkNzE1OGZmMjdjY2U0Nzc4MWYxMzllYjRkMGM4NGU2OGJhNjBjZiBsZWdhY3ktdHJ1bmsKKzExMTY1IGEwMzI0YTMwNjhlOTUzOWI1YjE0Njk5N2Y5MDA0OGVkODgyMWYxNGQgbGVnYWN5LXRydW5rCisxMTE2NiAxMDA0NDVhZTQ1ZTM2YmQ5MWFlMWFhOTFjZDg1ZWM3YTFkYzQzMDI0IGxlZ2FjeS10cnVuaworMTExNjcgNzgxNzMxOGVjZDNhMmY2OTk3MGFlMGViMDE4MWZiNmY3ZGM1MmFkZCBsZWdhY3ktdHJ1bmsKKzExMTY4IDU1MmU0MmU0MTcwZWU3MTg0ZmFlM2ZjY2YzYWIyZDU4OTFjOWMzNDMgbGVnYWN5LXRydW5rCisxMTE2OSBmZDQ5ZWQ2NWNkMjBiMjAyZWFhNzZhYzhlZmRjNjczNzU2NjQyYzYwIGxlZ2FjeS10cnVuaworMTExNzAgYTM3MjZmZTM0ZDU4ZWMwNDc2NjZlMjlhZWMxMWQxZTAyNDJmZDE4NSBsZWdhY3ktdHJ1bmsKKzExMTcxIGRlNTQwMTY2ZDczMjhjZjU0MzEwYTgyNWNhNzIzOWNjODU5MzJhYzUgbGVnYWN5LXRydW5rCisxMTE3MiBhMDQ3N2JjODIwYjI3MmRmMTcyMTJlM2NlODI2MmVhMzQwOTIwZjI5IGxlZ2FjeS10cnVuaworMTExNzMgMzVlMWExNDBmZTRlMjAwNmM2MDM1MzBmZTc2YWJhOGM1NDhkYjkxNyBsZWdhY3ktdHJ1bmsKKzExMTc0IGM5NTE0ZWIxZmMwNjI3YWMyOTYzY2VmNzE3ZjIwYmI2ZDRhOWJjZTMgbGVnYWN5LXRydW5rCisxMTE3NSA4YWE5ZDEyNmU0NzMzMDcwMDY5NmQ0NzhlMzM0YmUwMDM0Y2Q0MDIzIGxlZ2FjeS10cnVuaworMTExNzYgZjQxNTgwYjRlZWExNTQyN2ZlMjZiNzgxMjlkOTVmODM3Mzc2ZmE2ZiBsZWdhY3ktdHJ1bmsKKzExMTc3IDZkMjE2OGE5NjQxZmU3NTM3N2E1MjU2NTI0MDcyMThlMGEwZTQzMWEgbGVnYWN5LXRydW5rCisxMTE3OCBmN2I0ZGIwYzViMDhkNTdlNGQzNzg2NjliMTM5Y2IxODdhODBmZTBlIGxlZ2FjeS10cnVuaworMTExNzkgZGM4NTgwNGMyYzY0NTY4OWViYjA1NmYwYWRlYTM5NWVmZDQzODgwOSBsZWdhY3ktdHJ1bmsKKzExMTgwIDdkMTQ3N2NkYTgzZDM3ZWFmNzYwZGM1N2IxNWFjNjI0ZWEwN2JjYmMgbGVnYWN5LXRydW5rCisxMTE4MSBmMTBiNDY5Yzk4MTA1NGVhNWMzMTc0NGNjNWM4YjUyYTY5ZDFkY2VhIGxlZ2FjeS10cnVuaworMTExODIgOTVmMzI0MjcyZjU0OTZjMTM5ZTc4MWVjODAzNzdkOTgwNWMxNTRmMiBsZWdhY3ktdHJ1bmsKKzExMTgzIDc4MjE0ZThjOWViNDkwOGE1YTA3ZTJmNTFjM2UwOWVjMThiYTVhZDAgbGVnYWN5LXRydW5rCisxMTE4NCAyZjI5MDU2MDI2M2ZiMGRjZmM2NzRjN2VjNzVkMTYxN2JiZDg0ZGNmIGxlZ2FjeS10cnVuaworMTExODUgNTA3NTc0NjVmYTcwZGVjZGVhM2E3NGM0MTI4ZTc2ZDRiMWVkYmJhNSBsZWdhY3ktdHJ1bmsKKzExMTg2IDgzYzhhZGFhMDg0ZjY4MThmYmJhM2M2NDI3MDMxY2Y5ZDJjZmNmMDQgbGVnYWN5LXRydW5rCisxMTE4NyA4NTcxYzEyNDZmMDkzZDM5NTk2ZTU3MTFlNTM0YjI1MTczZDcyYmRmIGxlZ2FjeS10cnVuaworMTExODggY2ExYzY2OWJiMDQxNjljYTZmNDgzMGQxN2E5YjlhNDg1NmQ0M2E5OCBsZWdhY3ktdHJ1bmsKKzExMTg5IDRlZGYzNDk1YzY5Mjc2YjE4YTE5MTA1NWZkZGRlN2Q1MWI5MWI4NTcgbGVnYWN5LXRydW5rCisxMTE5MCBhY2Y0OWM5ZGVmN2RkYjU0MjUxZGNiMGI0NGNhOGY0ODJkOGFiOTIzIGxlZ2FjeS10cnVuaworMTExOTEgMGUyNTYzYzBlYjBkNGE2YjhmZjY3MWFmNGQ4NjY3ZjBiMDQ3ZWYyMyBsZWdhY3ktdHJ1bmsKKzExMTkyIDIwODQyN2FiNzU2NDViMTM1NWFmYjVkYjg1MWVlYTBiNGUwOTdjYzUgbGVnYWN5LXRydW5rCisxMTE5MyBhZTZiNDFkYzY1MjAxNmFiYTk4NGI5YzhhYTEzYTg0MDhkYjcyMDc0IGxlZ2FjeS10cnVuaworMTExOTQgNzk4M2Q4NmI0OGFmNzMyNjE1ZWZiOTJkZDUwMDAzMDNmYzk1NWE1MiBsZWdhY3ktdHJ1bmsKKzExMTk1IGVkOGY0ZTJlYjExYTFhYTc4YThiMmM5NGRmOWQ3MTVlMTAzOTc2N2QgbGVnYWN5LXRydW5rCisxMTE5NiA5NzMxZDhhNmI0ZjNkZjQ5ZmY0N2RjM2U2ZDdiMjliYzhkM2M2NTc1IGxlZ2FjeS10cnVuaworMTExOTcgYzc1MGM3YTIxZTAzNzg4NGNlZjU1NDMwMzA3MjljNjVmNjA2OGQ2NyBsZWdhY3ktdHJ1bmsKKzExMTk4IDc2MGRjZjE5NzA0ODEyNjhiMzMxY2E2NDcwYThlYTNhY2MxMWViNmUgbGVnYWN5LXRydW5rCisxMTE5OSA5NDZkNjM5NzdmYTQxMWQ1ZjA4MDM5MjFkYzI3Zjg0YjI2MzU0MTQ3IGxlZ2FjeS10cnVuaworMTEyMDAgMDI4ZWFmYmNlOGFjNzIxZDRhMzIwNjk5NTNhYzJlM2Q4NzUyZjRjMSBsZWdhY3ktdHJ1bmsKKzExMjAxIDgxNzVjNmUxZTYxMzFhOTU0NWQ1YjQxMGUzYTFmYmVhMDZmNDMyNGUgbGVnYWN5LXRydW5rCisxMTIwMiBlMGQwNDc0ODQ5ODAwOTc5ZjA4YjY4NTk2ODczNjM3ZjMxMTVjY2QzIGxlZ2FjeS10cnVuaworMTEyMDMgZDdjYTQyOWVmMWFiNWZiYTkyMzk0ZTE1OGU2ODEzMzJkMzViZWIzNyBsZWdhY3ktdHJ1bmsKKzExMjA0IDhhMjk0NzZhNTljNTQzODgzYzMxNjY3MWIyMDRkZDlmMDFjYzFiM2QgbGVnYWN5LXRydW5rCisxMTIwNSA2Nzk0Mjk0ZWIwMTQ5ZTk2ZTY3ZDE0NjBlZWM0MzMxOGU5MjYxM2YzIGxlZ2FjeS10cnVuaworMTEyMDYgNWQ2YmY2MGNiNzM2ZDFlMzVjNDYyNjU0YTU0M2ViYTVlYmFhNGZkMiBsZWdhY3ktdHJ1bmsKKzExMjA3IGY3OTc2ZTAyYjg3MzQzMjczZTQyYjQwMmQzY2I2ODZiYWYzNzZlOTIgbGVnYWN5LXRydW5rCisxMTIwOCA3NGVhNGRmZGE4MmQyNDFmNmQwOThmZjY1MWExNDNjZGI1ODJiNDBhIGxlZ2FjeS10cnVuaworMTEyMDkgNTNiNTJhMzNkNGJhNjQwZGM1OTcxOTk2MGVhYjcyNmJlZDI0YjY2YSBsZWdhY3ktdHJ1bmsKKzExMjEwIGQ1ZjQ4NTFlNzYxMTNiZTI1OWFhNGYyNmY2NDY2NTlkMDgzZWY0NjQgbGVnYWN5LXRydW5rCisxMTIxMSAxOTA3ZDEwYTIzMjhlZTA5ZjVmOWFhOGQzMTM5YWZjZDQ3NzUzYzQzIGxlZ2FjeS10cnVuaworMTEyMTIgOGEzMDZkZmQ5ZjMzM2UwNTI5ODVhYWFkMDM0ZGFlNjQ2ODc3ZTdmZCBsZWdhY3ktdHJ1bmsKKzExMjEzIDc1MTM3Y2ZlZDk1NGY3OTY0NGJlOWJlOTA0MjU2NGY0YTZkNTI5MzIgbGVnYWN5LXRydW5rCisxMTIxNCBhODA0MGI5NDE4NjQ5ZDlmM2VjYjFhOTMzYTFiYjFiMDdjMWQwZDRkIGxlZ2FjeS10cnVuaworMTEyMTUgYWVhZmFmMzgyYTRiZWM0ZGQ3MWQwMzdjZjU4YWQwNTc2MjZhODAxYiBsZWdhY3ktdHJ1bmsKKzExMjE2IGRkYWFjMDZlYzMyNjZmNTM5OGEzZWI3YWY3YjI3NDkzMzQxYzVkYmMgbGVnYWN5LXRydW5rCisxMTIxNyA4MDc3NmVhYmQwMDVmYmI4MTVkNjQyM2NmMTU4MjhhYmMwODkyZWMzIGxlZ2FjeS10cnVuaworMTEyMTggNmMyMGNhNzIzMTgwNDc4N2FmZTY4NjQ4NzdhMTEwZjI2Mjc2YWQ5OCBsZWdhY3ktdHJ1bmsKKzExMjE5IDhkMDU0OTU0NzA4YTJmMDUwYjk0YjJmMWU4ZTk1ZjFkODc0OTI2ZTYgbGVnYWN5LXRydW5rCisxMTIyMCA3ODFhZDMyZTdiMWZmM2M1ZDZmMzk0ZWEzNmVjZjFhMjk3NmUyYWE0IGxlZ2FjeS10cnVuaworMTEyMjEgMWYwMjBmNzk5NjdkOTk1OGQwOGMxZjZmNjgyMTUzZmE5MWRlMDY1OSBsZWdhY3ktdHJ1bmsKKzExMjIyIDc0ZTAzMTNjZDgxMGUzNDVmMDVlMjNmYmVlMjAwODM3ZWZkMTQwYjYgbGVnYWN5LXRydW5rCisxMTIyMyA0MzQ2NGIxYzg4MGVhOTZmMmU3ODA4YmVlYWIwNTI0ODFkYjZkNTVjIGxlZ2FjeS10cnVuaworMTEyMjQgNzNhZmU3N2EzOTQ3YmYyZWEyMjAyMmQ3ZmMwZjQ5MWM3NzIyMWZhZCBsZWdhY3ktdHJ1bmsKKzExMjI1IDJhMzBhODE4OTRhZTBjYzQ5YWIzMmMzN2U1MDJmNzc4NTgyZjY3YjUgbGVnYWN5LXRydW5rCisxMTIyNiAxZDU4MWE2ZGZlZWUxMTY5MTU4NWUzMjhlZGEwYmNhNDA2MmIyY2I2IGxlZ2FjeS10cnVuaworMTEyMjcgZTFiY2YwYmQzNGQ1OTMzOThmNmY1MmFlNjY4M2Q0YzM1YjcyNWJkYSBsZWdhY3ktdHJ1bmsKKzExMjI4IGNhMWI5MDYxNDllNjIwOWM4NTM1OTkzZDQ3NmFmZTQ5ZTZhZTc1MTcgbGVnYWN5LXRydW5rCisxMTIyOSBjZDk5NTIwMzIwYTMxZmQwYmE0NWJiOWQ3Yzc1ZDQyYzYxODEzYmMzIGxlZ2FjeS10cnVuaworMTEyMzAgZWFiZTU3NGRjOTIxYTkxMGI5MDdmZmM4ZTA1NDI5ZTFjZWE5MTdkMiBsZWdhY3ktdHJ1bmsKKzExMjMxIGQ4NGMxMTNlZmVkYmY1YTQ0NTQ4ZTI5MmU5MGNiZWRhNDY4ZWMzNTQgbGVnYWN5LXRydW5rCisxMTIzMiA1ZWM4OTc5YmYxNzY4NTQ3ZTM4YzY2NWRkNDBjNTcwYjJkM2UwNWMyIGxlZ2FjeS10cnVuaworMTEyMzMgOTk3OTMzMDJkMTBkM2UxYWUyZjkxMTE0ZDhhZmMwM2UwNjY4MmVjMyBsZWdhY3ktdHJ1bmsKKzExMjM0IDRlMDVlMzg0NDVjZWIzN2I4NDZkZjlkOTNlODg4Mzc5ZDVlMDY2ZTcgbGVnYWN5LXRydW5rCisxMTIzNSA5ZTA4OTA3MGQ0YzVkMGU4MjRiYWQ4NWY1N2RhNzkyMTc4NTI2NDdkIGxlZ2FjeS10cnVuaworMTEyMzYgZTg4ZDRlNmU0NjIyYjQzODFmNzJjMGY3ZmY0ZWQzNDM4ZDJhY2E4OSBsZWdhY3ktdHJ1bmsKKzExMjM3IDcwMWE4NWIwNDRiMzQ1ZjUwZWZjNjY3ODA2ZDM4YWNjYjY3NmFiNDQgbGVnYWN5LXRydW5rCisxMTIzOCBmYmE4NDU1ZGNiNTRjNDBlMGNhMjIyZDU2MzQ4M2EzNDI3ZjU4NDQ1IGxlZ2FjeS10cnVuaworMTEyMzkgYjhhNzE5YzhhMGE2MDE3YTBlNDBjM2Y3ZmQzN2ZjODgxMDJlZjViZCBsZWdhY3ktdHJ1bmsKKzExMjQwIDY4ZmU2Mzc1MGY4NGY1MGZlZWQ5YzUzYjEzZTU4ZDQ4YjQyYzg4ZTUgbGVnYWN5LXRydW5rCisxMTI0MSA0YWMyZDQzNWNlM2JiNWJmNWJlYzliZDM0OWIxYzc2YTI1YTRhYjc0IGxlZ2FjeS10cnVuaworMTEyNDIgMmIyZWY4MmVkYjVlYjczNGUxMTY0NjIxMTQ2OTYzNjhlYTU4YjgwMiBsZWdhY3ktdHJ1bmsKKzExMjQzIDg2MWNkMjI3ODM0OGE4MzI5YTQ4YTYwNGYwN2VlNWZjMzgwMzQwYmEgbGVnYWN5LXRydW5rCisxMTI0NCA0MTkyYTczY2E0MzBlYmRmMmUyYTA0ZTgzNTI4MTkzMzMxZjE0ZGU4IGxlZ2FjeS10cnVuaworMTEyNDUgNTVmNzkwYTVmNjRiZmI0NTYyYjNiODcxNzJjMmNmY2U5Njg4NzNhOSBsZWdhY3ktdHJ1bmsKKzExMjQ2IDA3NjYzZGQwZmU4NjU0ODZkYmFjMTQ5NzNmOGZjYWYyYWQ5MDI4NDUgbGVnYWN5LXRydW5rCisxMTI0NyA2MmZhYmUyNDc3YzRkZjdiNDRjN2QxZmQwYTBhMTBkZmY2YzE5Y2I5IGxlZ2FjeS10cnVuaworMTEyNDggMDU4NDE3MDcxYjBlNTI2YmMyM2MyMmRkZmJiNDkyYTJlMjc3ZjllZCBsZWdhY3ktdHJ1bmsKKzExMjQ5IDg0MzRlOWQwMGI1YTVlNDRlNzU2NzMwZjMzZGMyNzgxYThiYmQyMzcgbGVnYWN5LXRydW5rCisxMTI1MCBmYzJhNzAwYjEwMDdhNTJmNTIxN2NkOWU5YThkMzFlZTNhZWVhOWEyIGxlZ2FjeS10cnVuaworMTEyNTEgMDZmODBiY2M5NTY5MTFmMzc5NjE5NzI3OTE0ODYxN2RkMTAxYzI1NCBsZWdhY3ktdHJ1bmsKKzExMjUyIDI1NmE4MGYzOWE4OGZkNzk2MjJiZjI3ZTNhNjRlNWM4YTNiMDllODMgbGVnYWN5LXRydW5rCisxMTI1MyAyZjQ2Zjg3YWE4MGFhZjVjZDNjYmYyMDk1ZDYzNTg0N2ZmN2JiNjIxIGxlZ2FjeS10cnVuaworMTEyNTQgNzBiNjMzZmYyZmI3NWM1NjE0Yjk0MzUxZjEzYjFlOGU0NDM0ZmFkNiBsZWdhY3ktdHJ1bmsKKzExMjU1IDQ1YmU0MGVmY2I5NTA0OTJlZTNjNzMzNjNmYzkzZWI1ODYyZTI2NGQgbGVnYWN5LXRydW5rCisxMTI1NiBlZGJmNjMxZmI3ZTllNDEyNjk5YTQyYjg5NmJmNWIzOGQ5MWFlNDIyIGxlZ2FjeS10cnVuaworMTEyNTcgZDM5Njc4ZDIyYjRhMzNkMDNhNTlmMDdhZmFkOWM2YzI2YjBmNzgxMiBsZWdhY3ktdHJ1bmsKKzExMjU4IDA0ODQxZWVkOThlZjkxNjRiMTVkNmM5ZmFhNTQ3YWY4NzVhODdhNTUgbGVnYWN5LXRydW5rCisxMTI1OSAwMDUyNDU1NWVmMTc0MjgzNzYzYjE3MTA5YTY3ODNjZDVmNWQ0MDkzIGxlZ2FjeS10cnVuaworMTEyNjAgM2ExZGQwMTM3NWUwOTQxNmNhZTVkNWVkZmU4YzdlZGZlMTk5NTI0NiBsZWdhY3ktdHJ1bmsKKzExMjYxIDkxMzgyNzJjMWZlNmVjM2IxZDcxZjdkMDBiMmQ4OTM1ODJmODBjZGMgbGVnYWN5LXRydW5rCisxMTI2MiA2ZDYxZDQ4OWQ3Mjg4OTE0M2M5ODAxMjU5YjBiOWI0MTNhNjMzNzMyIGxlZ2FjeS10cnVuaworMTEyNjMgOWUzMTQxNTQzNmY2MmNkOTQ3N2NiMWY5ZDkxNTk0ZDlkYzQ0MWFhNCBsZWdhY3ktdHJ1bmsKKzExMjY0IGFlM2UyZWFlZjliOTUyNWY2NWJhNjMzMjA2NTg0NTQwYTgyY2UyNTMgbGVnYWN5LXRydW5rCisxMTI2NSA4ZTk0Y2U5Mzk0YmYyNDZlMmNiODgzZWUyNjljNGU5YzU3MmM2Y2M5IGxlZ2FjeS10cnVuaworMTEyNjYgYzk5MDkwNDYyNDc2NmVlODdjMWM1NjNhMTBlNGY2ZjViMjE0YjIwNCBsZWdhY3ktdHJ1bmsKKzExMjY3IGM4NWIzOGQ1OGFjZDhjZjA4YTVlZDM4M2QzNTQ0YTRlNTFlNDc1N2IgbGVnYWN5LXRydW5rCisxMTI2OCA3ZDIzMmMwZTRkZDZjOTBiZjMzOWJlYzdlNjczZDRjNzg3OTU3MTdhIGxlZ2FjeS10cnVuaworMTEyNjkgZDJiZmM4NjU0MjgwYTc5YzE3ZGEyNmM1YWNjMDA0YzcyMDQ4ZDJlYyBsZWdhY3ktdHJ1bmsKKzExMjcwIGQ2NDJlNjc0OGQxMmMzYWJmMzc3ZDg1NTBhZjljNDJlODgyNzBjMGIgbGVnYWN5LXRydW5rCisxMTI3MSBkMzJkYmMyMDI2MTNlMjliYWIzOGNjZWY2ZGY5OTdlNTFhZjg4OTA3IGxlZ2FjeS10cnVuaworMTEyNzIgMTA3NmEwMjgzNjVhMmVkNWJkZmM1MTljMmY5NTdmZWIxYjIxZmQ1ZiBsZWdhY3ktdHJ1bmsKKzExMjczIDMzZDU5MzM2ZTdlNmZiYzU2Nzc0ZGJkMzQ5ZDIwNWRmZmQ1YTJkOTcgbGVnYWN5LXRydW5rCisxMTI3NCAwZjVlMGI0MDViYzJmMmFiNzQ1ZjgzNjQwY2U2NGQ5MjdlNTM4YzA5IGxlZ2FjeS10cnVuaworMTEyNzUgMWY4MDRmYWNmNjM1NGZhMmYyZWI4N2ExNThmZTgxOWFkNWM3YWQxZiBsZWdhY3ktdHJ1bmsKKzExMjc2IDBlMzBiMzViOGEzZmZlMzU2MGEwNWRlNTIxMTg2MzM3NzNmMGRhMWYgbGVnYWN5LXRydW5rCisxMTI3NyBiOGQyYmE1OTcxMWMyMjcwMDQzNjhjOWY5MWJmOWU0NzMwMDhmODgwIGxlZ2FjeS10cnVuaworMTEyNzggNmZiYjU2MDdjZGQ2MDRjNDE0MjI3YzIzZDI2MGYwNjQxNTllMzFlNiBsZWdhY3ktdHJ1bmsKKzExMjc5IGQ1MWQxYTYxYjFjZWY0Nzc4M2VhODdkNjUxNWU1NTczNzY4MDY3ODggbGVnYWN5LXRydW5rCisxMTI4MCBjYTFlNWJjNTIwOWQ4NDcxMjczZTkzZjUyZTQ0OGEzZGJkZTRjZWQ3IGxlZ2FjeS10cnVuaworMTEyODEgNDQ3MjZiMDU4NzAwYWQ5M2ZmMjA4M2U5MWQ3MjFjYzUzZWMxMTJkMSBsZWdhY3ktdHJ1bmsKKzExMjgyIGU4YjU2YjM4NzA0NWFlNzRkZDljM2Y5OGQ4ZDRlOTFjY2FhNWZiNmUgbGVnYWN5LXRydW5rCisxMTI4MyA2MTQ2NDAzN2RhNTNjMmQwNTUyMWY5N2ZhZmMyY2VlM2Y4NDNiY2I4IGxlZ2FjeS10cnVuaworMTEyODQgODFjYjk0MDFhMjFiN2M4NjI5ZTgyNDliMmUzMDk4MzNkZTA2ZGEwNyBsZWdhY3ktdHJ1bmsKKzExMjg1IDRkMThlYmQ0Y2Y0MjNlZjg3YmJiYTc5NjRkYzMyYTRlZDFlOGZlN2EgbGVnYWN5LXRydW5rCisxMTI4NiA1ZDVhNWJjOGRlNWNiNjI4OTQ1ZGE5OWM2ZjEyODZiNDM1MmZjNDY1IGxlZ2FjeS10cnVuaworMTEyODcgYzllNDU3MDVlYzllMTI5NDAwM2JiMTkyZWE3YjY3ZTMzMGI0Mzk4MCBsZWdhY3ktdHJ1bmsKKzExMjg4IDhlOWQyMTQ2YWU5MzAyMTVjMTE2NjEzOTVmMzQ2Njc2N2U5OTgxOWIgbGVnYWN5LXRydW5rCisxMTI4OSA2NDVhMzI4ZTdmZDQ5NDljZjZlMjM0Mzg3NzQzYjI0M2ZlNGEyMGRmIGxlZ2FjeS10cnVuaworMTEyOTAgNzg3ODU5ODVhMmFiNTgxYjRlNTU1ZjhjNWRlZWUzNzFlZDUxZDNiZCBsZWdhY3ktdHJ1bmsKKzExMjkxIGM1ZDcyYmNkYTkzMmE4ZDM2Y2EzNjAwNWI0NWFiYWI4ZmI3OWQ3OTEgbGVnYWN5LXRydW5rCisxMTI5MiA0YWE3NjQ4MGQ4MTI1ODkyYzUxNWFlMWJjMzE0ZjkwZDNlMDQ0ZjdhIGxlZ2FjeS10cnVuaworMTEyOTMgZTU4YTYxNGZiOGU0MGVhYTY3MjEyMTI5NjMyMWI5OWQwOGJhNmUxYiBsZWdhY3ktdHJ1bmsKKzExMjk0IDE0MDY5Mzc0NGEzYzg1M2Y3YjQ0Njk0ZjZhMzc1OGI0MWFjYzZmZjQgbGVnYWN5LXRydW5rCisxMTI5NSBkZDY0OTgzN2ViZDQ4OTg0MjU1NzFlYWIyNDYxZDYxZmQzMWY4Y2FjIGxlZ2FjeS10cnVuaworMTEyOTYgNjczOGU1MzgzOTc3NGZhZTI4NmQ3ZTkxMTBiODYzM2YyZGY1YWQ2NCBsZWdhY3ktdHJ1bmsKKzExMjk3IDg0NjBiZGMzZGJmN2I3ZTZkMzNkNzM5MDQzZGE4Y2ExZjhmZDEwNzUgbGVnYWN5LXRydW5rCisxMTI5OCBkOGI0NjE5ODkyMzhkODJmODNkYWViZmY1OTkzMzVmZjg3MGRmZThkIGxlZ2FjeS10cnVuaworMTEyOTkgMGVkZDM4ZGIyMjg4NDU5NWFhY2EzMTE0Yzc0NTE5N2MyMWE3ZWFkZCBsZWdhY3ktdHJ1bmsKKzExMzAwIDcxZmNjNGNhMGU4YWVkYzkxNjE4YjJiMDEzMjAzYjVlMDUyZWJhYTkgbGVnYWN5LXRydW5rCisxMTMwMSBjMjgwMTEwMDBlZDM2OTNkNjNjMjE0ZDMzMGE0ZjdiMTI1NDIyNWY2IGxlZ2FjeS10cnVuaworMTEzMDIgOWIwZGRhOWE1NThiZDVlZWM5NmU5MzQ2MzZlYjVlMzQ1MTkwMTQ3NCBsZWdhY3ktdHJ1bmsKKzExMzA0IGExYzE2YTNmYTdkYjQwYTM3NTU4N2EyMjM1N2QwZDAxZGViY2JkODYgbGVnYWN5LXRydW5rCisxMTMwNSBiZDQ3ZWUwNjhiODNmYjlmMmE4YjZhOTg5YWI0MGYzZjg4YzRmOTY4IGxlZ2FjeS10cnVuaworMTEzMDYgZjJhNGEyYjYwODYwN2IwYWZjODdjNmJkYmViMGRiMTYwMWJhOWNiZSBsZWdhY3ktdHJ1bmsKKzExMzA3IGIwNDA5OGEyNTZkMDA0NmQ5Y2VhNGNjNDZjODhhOWRkYTA5NjIxYjMgbGVnYWN5LXRydW5rCisxMTMwOCAxMjk4NzBlMjE3OWE5MWQyNzhhZGVmN2FjN2E1OTY5OTc4MGJlZjBhIGxlZ2FjeS10cnVuaworMTEzMDkgNGJmYTUzYmQ5N2JjMDY3NjJlN2MzYjEzMTA4M2M0ZmJhYTJjM2M1MSBsZWdhY3ktdHJ1bmsKKzExMzEwIGRmMTYwMmI2YTJhODYyMTY2MTg2ZGFiNDA3NjBhZDU4NjRkNTczOGMgbGVnYWN5LXRydW5rCisxMTMxMSA4NTMyMTQxY2ZmNGMxZjVkZjZkZDVlNjYzZmVlYjVmMjE1MDJlNmFlIGxlZ2FjeS10cnVuaworMTEzMTIgM2NjMmZhZDRlMDIwZTE3ZDgzZWEwYjBhNzVjMzY2ZmJhMjg0YjAxZSBsZWdhY3ktdHJ1bmsKKzExMzEzIGVlYzRkY2ViNDQzNmFhZTYwNTgwZTdhNjlhYjQwMDA2NWQ4MDQ3ZmIgbGVnYWN5LXRydW5rCisxMTMxNCAwMGE2YmI2NWZmMjkzYzBlMGE4ZDYyM2M1ZTI1NDNjOWI1ZDE5ZDJiIGxlZ2FjeS10cnVuaworMTEzMTUgNzQxZDUwNjE4ZWMyY2FhN2M2NTc4ZWYwOWY1OTk4MDVmNzhiOTAwOCBsZWdhY3ktdHJ1bmsKKzExMzE2IDA0NWU5MDBhNDE5OGUwMmFjYTJkMTgxODg5N2MxYmJhZjVmYzg4MDkgbGVnYWN5LXRydW5rCisxMTMxNyAzMzZjYjUwOTg3OWE0OWMyN2MyNTUyZDc3NjE2YjEwYzUzMzRkMTgxIGxlZ2FjeS10cnVuaworMTEzMTggYjA0Zjk1ZmVkZDUwY2ExYWQ1YjM5MmRhZWJiZjQ3YzFmODFkNzZkNCBsZWdhY3ktdHJ1bmsKKzExMzE5IGYxY2E0MTk5NWU2MmU1MTcyOWZhNmI3Yzc4N2IxNDkyN2ZjMmRlZDAgbGVnYWN5LXRydW5rCisxMTMyMCA5MjlkYjgzODViYTRhNTNlMGJhM2IxZWQ2ODRmNDM2ZjFkZWI2MDM3IGxlZ2FjeS10cnVuaworMTEzMjEgZTVhODMxMTY4NGU0YmRhMzcyYmNmZjc3MDY1MDY0ZjhkZTQ5NThiNyBsZWdhY3ktdHJ1bmsKKzExMzIyIGMyZjllNTA1Zjc1YTFkYTkxY2EyMTdiMDdjMDNiMDM5NzQ1OWY5MTUgbGVnYWN5LXRydW5rCisxMTMyMyA0NGJhZWY4YWI1Yzg5ZDM0YjE0ZjkwODNlY2RlMDE5NzJiZjBmZDI4IGxlZ2FjeS10cnVuaworMTEzMjQgYmQ2ZDk3ZDZiMmFlMGI3NzBiYzgyOTUyOWY0MzUwNGNmN2FlNWQwMiBsZWdhY3ktdHJ1bmsKKzExMzI1IDhhMzcwNTI2ZGUwNmFkM2RiMGQxYzMxNDA1OGYwODZjNDY0OGFkM2IgbGVnYWN5LXRydW5rCisxMTMyNiAxYzdkODYwODcxZDlkMTBlZWRlYjlhY2NiMzYxNjNmOTYxMzk1YjFkIGxlZ2FjeS10cnVuaworMTEzMjcgYjY1ZWE4MTI3NzUyNWE5ZTRkZDI3NjcwNDQ1NDNmOWQzMTJmN2Q1NiBsZWdhY3ktdHJ1bmsKKzExMzI4IGI5MzNmNTg0YTI2ZDAzMTI2NDFlNmMzOGIwZTg1MTg1NzM5ZGZlZDggbGVnYWN5LXRydW5rCisxMTMyOSA3NDUzMzQ1NDU4OTgxYmU4ODBkOTYwNDM5YjEzMjA2NTYwMzYzNDg5IGxlZ2FjeS10cnVuaworMTEzMzAgMDg2NzAyMjUwMTUzNGExZjI0ZDAxM2E4ZDhlMmRmNTliNmZmYjcxMSBsZWdhY3ktdHJ1bmsKKzExMzMxIDM3YzY5MThlZmQzYmNhMTJmZDM1NzI2M2E2NTE1MThiYTkyYTU4NzYgbGVnYWN5LXRydW5rCisxMTMzMiA2MWVmODgxODY5NWJkNDM2ZGYwYzhkYWY4MjQ4MGE0NTdkMzA3MGI5IGxlZ2FjeS10cnVuaworMTEzMzMgYzM1MTUyM2ViYzA1ZWViZGM5YzQ0OTc0MTA4NmFmMGY1NmIzYzVhOSBsZWdhY3ktdHJ1bmsKKzExMzM0IDUzNGExYTQzN2FmM2E5YjhlYWY3MzUzMjM4NjFlMjcyODkwZWQwNmYgbGVnYWN5LXRydW5rCisxMTMzNSBjZWYyMGVjNmYyNDljYzQ2MmQ5YzRmMmZmNzlkYjRkZGRlZTE4ZDgxIGxlZ2FjeS10cnVuaworMTEzMzYgYmJlOWQ3MmJjY2RhMjdhOWRhYTMzZTA1ODgyOTAzZmQ5ZjNiZWJlZSBsZWdhY3ktdHJ1bmsKKzExMzM3IDVmOWRmZjY4MTc5N2ZmOTQwNzk0ODQwM2IyOGMwNjc0ODA1MmI5ZDQgbGVnYWN5LXRydW5rCisxMTMzOCAzNTRjZDI0ZTVkZmU0MmEwZjgyZjAzMDFmNzlhYTAwODc2OTA2MDQwIGxlZ2FjeS10cnVuaworMTEzMzkgZDI4MDQ2MDhiZWNkMDhhMWE0YjVlMjllZGEwYjM5MDUwZDRmZWYyYSBsZWdhY3ktdHJ1bmsKKzExMzQwIGY3ZDRhNTg1ZGEwMTg2YzBiNWI4OGI4MDE0ZTdjYTk0ZjMwZjc2MzEgbGVnYWN5LXRydW5rCisxMTM0MSA1Njc2MDcwNzZkOGY0Yzc2YTI5Mjc2N2JiNDQzOGMzYzJhOTQ4MDZhIGxlZ2FjeS10cnVuaworMTEzNDIgODY1M2UxZjIxOWYxYmQyMjYxZTEzN2M5NmY3MGZmZTEzYmE1MGEwMiBsZWdhY3ktdHJ1bmsKKzExMzQzIGQ4MDhlYmE0YjNjNjUzMDQ4ODBmMGUyZTZkNWIxMjM2NjJiZGJjYTggbGVnYWN5LXRydW5rCisxMTM0NCBlMTQ0NThmMTM2Y2NhZTNkN2E2YjQ5YzE4MTYzODFhZTYyZWMxMTk4IGxlZ2FjeS10cnVuaworMTEzNDUgZTAyNGM2OTYyNWUxMmY4ZWQ5NjY2NTZhNWZmNTNkMDVmYzFmMzUxYyBsZWdhY3ktdHJ1bmsKKzExMzQ2IDgwMTFmMTQ2NjlhODE3ZDRiZTljZjE1MmQzNTMwZDU0NGMzMmFiZDcgbGVnYWN5LXRydW5rCisxMTM0NyA1Y2RlY2FhYTliZWIwZDM3ZGQxZTQ0OWE4MTliZGVhNDEyNGUxZWRlIGxlZ2FjeS10cnVuaworMTEzNDggZjQ1NmY1YWE1NzE4NWEyZDMxYzkyMGE5YzM2MmNlMGJjZTMwNDc2YiBsZWdhY3ktdHJ1bmsKKzExMzQ5IGExZWMzZWMyNjAyZWNhNTgyNmViODBkZjYyMTQ5MDg3NTg5M2I2MDUgbGVnYWN5LXRydW5rCisxMTM1MCBiYjc4Y2MyNzQ2OWFiNGJlODczOGEwZWMwNmZhMTE4ODI2MzJhOTY3IGxlZ2FjeS10cnVuaworMTEzNTEgZjhlMmFkNGNkNDViYzNiMWJkMTE2NDUwOGUyMTJhMGQ2YWZhZTA3MyBsZWdhY3ktdHJ1bmsKKzExMzUyIDU3MDg5YWQ0ZDczYzZlMjBiYWY4NTk2YTI5NWE2NjljY2NkOTY2MGYgbGVnYWN5LXRydW5rCisxMTM1MyAzYmMzZjk0ZDYwNjFlNGYyYWYzNTc4ZDVkZTAwYzZlNmMwNDRhMzgwIGxlZ2FjeS10cnVuaworMTEzNTQgMDVjMTEwNGUwODRiMzE0NjM3NGM5Mjg3OWI2ZGIyNDI1NDYwNDc5OCBsZWdhY3ktdHJ1bmsKKzExMzU1IDg2OGEyNWNmNjUzYmYwNWViMzk3NTllOGE3YTBhZmU3ODFkYmRiZmYgbGVnYWN5LXRydW5rCisxMTM1NiBhYWNiZmRmNDk0M2U1Mjk4N2NjMzVhYWE5NDE5YzcyZjlkYWZkMjRjIGxlZ2FjeS10cnVuaworMTEzNTcgMTA3OTBmMTRkMTNhYmQyNmFhMjI4ZjBjMThmM2JkY2Q1NDk2YTNkMCBsZWdhY3ktdHJ1bmsKKzExMzU4IDcyYjY5OGMzMzI0Yjk5MDVhNDM3MDNiMTI4ZWU3ZWMzOWYzZjFiOTEgbGVnYWN5LXRydW5rCisxMTM1OSBkMzQyZWI0NGQ3YmRkNTRmNzUyOTgwMDY3ODMzZTdhNDk5MjVhZWYxIGxlZ2FjeS10cnVuaworMTEzNjAgZWIwNTlhMzNmN2ZmMzFjOTkyODY1ODc3NWY4YzQ5NjhiOTk4ZjA5NiBsZWdhY3ktdHJ1bmsKKzExMzYxIDgxM2Y1MjdmM2JlYzAxY2Q3YzJkZDk5YzJiNGNlYjBkMzQzYWU4Y2MgbGVnYWN5LXRydW5rCisxMTM2MiAyN2VlMzIzMWRmYTliZWM4MGE4MmI0ZTU1M2Q2MmM4N2YxMjM0MmQzIGxlZ2FjeS10cnVuaworMTEzNjMgYTllYjI2NWQyZjU3MGRlYmZkNGQ5NmQ1NDVmMGQyMjdjNjE1MzE2MiBsZWdhY3ktdHJ1bmsKKzExMzY0IGZlYmNhNmIxODI3ZGRkZGEzYTNkMjliZjk2ODI1Y2Q2MzQyMTE5ODIgbGVnYWN5LXRydW5rCisxMTM2NSBiMjhiODRlNmE0Mjk0MDVhMzFkZTcyZTlhNTFmYjMzMDU3MDZjOGY1IGxlZ2FjeS10cnVuaworMTEzNjYgZjg4ZjQwMjQxN2YyOWYzYzQzYWE2YjM3NjRlMmQzMjZlYWIzMjYyOSBsZWdhY3ktdHJ1bmsKKzExMzY3IDg1ZGNlMzJhY2Y5ZDc5Nzg4YTljZmI5YjZjNGZjMDIwN2YxMzE3NmQgbGVnYWN5LXRydW5rCisxMTM2OCBjMGE5ZWQyMWRmYTA1NjAyY2Y3NGE5OTQ4MGI1NmE5MTIwNjlkMmY1IGxlZ2FjeS10cnVuaworMTEzNjkgMDRhNDkyZjExMGRiZGM3MDZjYjZmOGQwM2NmYzZmZGE5ODgzODUzYyBsZWdhY3ktdHJ1bmsKKzExMzcwIDhjMDUyNGE3MTI0NGZkMGVjYThlYjZlYTBmYzJkMjhjZmQ5N2JiOWMgbGVnYWN5LXRydW5rCisxMTM3MSA5YTA3NWEyZWRiMWY1NDJmODg5MWI5NjE0ZDI5NmU3MzAyMzZmYjRlIGxlZ2FjeS10cnVuaworMTEzNzIgMzQwMTIxMmU1NGZjMzgwNWNiNjdjOTk3MDE0MmI1M2MwOWUzYjFmZCBsZWdhY3ktdHJ1bmsKKzExMzczIDMxYzA2MzUxN2MyMmVjMzRjN2UyMGQwMzM0YTVjODE5YmQwNGVkNGEgbGVnYWN5LXRydW5rCisxMTM3NCA2MGI0YTYxMGRjZmNjYWE3M2I3MDY2YTFlNzAyMDhhY2MyY2E1NDU0IGxlZ2FjeS10cnVuaworMTEzNzUgYTcwODMyOTVlYjM4ZWFjMDBiZDFmZTQ5OWZjMTNkYzQzZTFkZjEyZSBsZWdhY3ktdHJ1bmsKKzExMzc2IDA5MDYzZWVkYTJiNzAzZGE4OWMyMmI3NmM2MDdmM2I4ZDMyNWYxN2QgbGVnYWN5LXRydW5rCisxMTM3NyA3NjRkZTczMWM4MDYzZmE0M2M1NjI2OTk3YWNkOTFlMzI1YTJkMTM1IGxlZ2FjeS10cnVuaworMTEzNzggOWI0YmMzYjhiOWQ0Y2QwNWU4MDFjZmY4ZTEzOGUzNDEwOTUxNmRlYSBsZWdhY3ktdHJ1bmsKKzExMzc5IGQyOTVhNTE4NzRhNmFmYTJhZjIxN2ZhYjliMGYyMjdhMzU0NzJkNjcgbGVnYWN5LXRydW5rCisxMTM4MCA5ZGI4YjVlYTZiMjEyMjA2OWQ3YzY2YmIxMDY5MDM5Y2I2NjhlNGFlIGxlZ2FjeS10cnVuaworMTEzODEgNDkyMzYzZDZiYzk0NTExODRjMmVmNDUzMzQwZjFlMWNlN2ZlZDA5ZSBsZWdhY3ktdHJ1bmsKKzExMzgyIDM4NTQ0ZjgyOGQ3NDA4ZTI3ZjllM2Q4OGUwMjRjYTRjMGZhNjU0YzMgbGVnYWN5LXRydW5rCisxMTM4MyA2ZGMwYTlkYzViYmI5MWE1NGMzOTEyMmJkNDU3Y2I5NTE1OGJkN2Y5IGxlZ2FjeS10cnVuaworMTEzODQgZGRmNzEwYjdlNmViNmZmYjUyMDg4MTNiNDE2ZWU0YzY4M2Q0MGZlYiBsZWdhY3ktdHJ1bmsKKzExMzg1IDZmNzNhZTFjZjkzNDZhNzE2OTZiZGQ1ZmE1OTNjMWUyMDM2MmM2NWIgbGVnYWN5LXRydW5rCisxMTM4NiA2ZDhiOTJjYWY4Y2RiNTJlMDY4Y2NjYzdhZWI1NTQ1MmUwMDE3YzZiIGxlZ2FjeS10cnVuaworMTEzODcgZDQxZmY1YjE5MWQxZDExNmI4N2JkZDMwN2RjNTliMTAyZjNmZDVhZSBsZWdhY3ktdHJ1bmsKKzExMzg4IDI5ZDg0N2M0MjhmOWRhNzE5OTBjNDkyYWJlZTdjYWY0OGUzNmJjNDcgbGVnYWN5LXRydW5rCisxMTM4OSA5ODAzNTU2YzFhZTdjM2ZlZWVkYTFjMGVlNGViODg4ZWY0ZWNlYzg5IGxlZ2FjeS10cnVuaworMTEzOTAgYTViNzFhOGExYWI1ODY5NjJjNDY2MGViYWJlODNkN2NiMjg1ODk3YiBsZWdhY3ktdHJ1bmsKKzExMzkxIDdkNjgxMzUyMWY2MTM1OWVjNzZiMjkwYmE3MzUxZWJkN2ZjZWI2OTcgbGVnYWN5LXRydW5rCisxMTM5MiA4OWU2NWE5NmE3ZDNmYTgwNTUzNTUzNGYwYjdkOWU1NDRhZTVmYzgwIGxlZ2FjeS10cnVuaworMTEzOTMgYjFkMWQ4YzAwNzFiYTdjZDczNGI3YjFkNWZjMTQwM2Y5NWUyZGI2NyBsZWdhY3ktdHJ1bmsKKzExMzk0IDlhOTg0Mjc2Y2M1NjVjYTJmZDZmNjViNmIzNGYzNTIzMTk2NGI2YmUgbGVnYWN5LXRydW5rCisxMTM5NSA0NTliZGE5NDBkYWEyNzgxNGY3OTk3YmZhNTQ2MTIzZjA0YjQwMTY3IGxlZ2FjeS10cnVuaworMTEzOTYgZDZiNzM5NjI1MjliYjY2MTRmNjNjMjVlY2VmM2NhNzYxMmJlYzdiOSBsZWdhY3ktdHJ1bmsKKzExMzk3IDlhNDA1NGI4NDg1ZmY0ZWFmNjZjNGYwYjcwMDdkODk3YzQ0Njg0MmIgbGVnYWN5LXRydW5rCisxMTM5OCA1NTJjNmIzYWJhM2RlNTA1NGJiZjQ2OWVlNDZmNDRmNTZiMWI5MWRiIGxlZ2FjeS10cnVuaworMTEzOTkgNmI2MzNkZjQxZTU5NTFhYWNjNGYwYmY4NzU2OTVjYmEwN2MyMjM0MiBsZWdhY3ktdHJ1bmsKKzExNDAwIGU1NWE3OWZmODIyOGY5MjJhOGNjYzZlOGFiOTZiNjkxMzZjNGQwNzggbGVnYWN5LXRydW5rCisxMTQwMSBhY2ZmZmUxNDYyOGU0NDhiZmViMDhiNWE4ZDM5MjExNDlmNDg2YTRjIGxlZ2FjeS10cnVuaworMTE0MDIgNjEwNjgwZTNiOTI5M2ZiNmNkMWQzMWQxZGE2MDUwM2UzOWFjYjBmYyBsZWdhY3ktdHJ1bmsKKzExNDAzIDAyN2YzZWVmNmU1YTc5ZWVjNDQyODYxNTAwMTEzOGQ5NmU3MTNhMmIgbGVnYWN5LXRydW5rCisxMTQwNCBkMGY5M2ViYTliYWFkMGM0YmFiNTlmMzdhYjJjY2Y0OTJkYTUyYjM0IGxlZ2FjeS10cnVuaworMTE0MDUgOGU0MTkwNjg2M2JlN2JiNDdkMTEzZmU3ZWEwYWI0OWZiMmQxNjRjMiBsZWdhY3ktdHJ1bmsKKzExNDA2IDI4YmM1ZDhlOGRjYTM2YjMzZjAxNGYzMjUzMmQwZGUyZTdjNzJhM2QgbGVnYWN5LXRydW5rCisxMTQwNyAwOTU0YWQ0YWNkZmRlNWM4Y2Y1ZDU2M2IwZDA5YzUwMTYyNjczMzQ5IGxlZ2FjeS10cnVuaworMTE0MDggYmU5MzU4NTFkYzUwYzNkZGFmZmZjYzgwOTA2YjRjOTkwYTAzOTIxOSBsZWdhY3ktdHJ1bmsKKzExNDA5IGFmOWJmODRmYmM1ZWE0MmI5YTYxMzg3YWFkOTFhNzUyMTM5MWU2MDQgbGVnYWN5LXRydW5rCisxMTQxMCA3M2Y5YTFlOGFlNTJjMDVhNTQ4N2E2MTE1YmVlNmQxOTUwZGNjMTI0IGxlZ2FjeS10cnVuaworMTE0MTEgYTgyNDlhNmIxYjU4ZTQ3ZGRlODMzMjM5MTM4MzE1Yjc5M2FkODc1MyBsZWdhY3ktdHJ1bmsKKzExNDEyIGJhOGQxYmM5OGIyZDgxNTlkOWZkMGY3YTA3YjQ2NThlNDE2ODU4NmEgbGVnYWN5LXRydW5rCisxMTQxMyBjNDVhMmQ5MTFmMzE1NjZmMzNlM2UxNjdlYWI4Y2QyNGQzY2ViZDM0IGxlZ2FjeS10cnVuaworMTE0MTQgZGFlMmYyZWY5MDE1YWEzZTM4YjcxMGNlZDUwNDg0ZWRmNjU4ODBjMiBsZWdhY3ktdHJ1bmsKKzExNDE1IDBiYTgxYjk5ODhlZWZlZDFkNjEwMTA3ZTJlZGVlNzYxOGE3YWEwYjcgbGVnYWN5LXRydW5rCisxMTQxNiBkYzZlZGZkNGJhZTViZmIzM2U1ZGEyNzA5NjM2ODdlNWJjNGUyZDVjIGxlZ2FjeS10cnVuaworMTE0MTcgMjBiODNjYTA2Y2U4YTE4NzM2M2U0Y2VmZjEwNTM4NTFhODkxZGFkNiBsZWdhY3ktdHJ1bmsKKzExNDE4IDJmOTM2YjdhMDlmOTRmMTgwNGNhY2E3YjcxNGU0ODNjZGQ0NDVkZGEgbGVnYWN5LXRydW5rCisxMTQxOSA1YjczZDViYWJjNzhlOTFhYjU1MDVlYjg2NjZjMTE4MTIyNTk1ZTcyIGxlZ2FjeS10cnVuaworMTE0MjAgMTk3YWM1YWQzMGNkZjM2MDkzODc1MTkzMGExNTE3YWJiYzA3MmUyYSBsZWdhY3ktdHJ1bmsKKzExNDIxIGI0ZTJiMmNiNjViMWJkMTA1ZjdmY2IyOTVhMmFjZTk5MjhmMzZkMDYgbGVnYWN5LXRydW5rCisxMTQyMiAzNDc4ODRlYzUzMTgxMzdjZTJiN2E0ZjhiYmJhNDExNTU1ZDQwN2Q1IGxlZ2FjeS10cnVuaworMTE0MjMgMmQ3NzUzMDg1Mzg1OTJkZWE4ZGRiOTI5Njg5YTIyMTBkOGFlYjYzNyBsZWdhY3ktdHJ1bmsKKzExNDI0IDQwMDg5ZTU1ODMwOTBjYWViYzMwOWU0MzZhN2QwYThjZDNhYjFiN2MgbGVnYWN5LXRydW5rCisxMTQyNSBmZGE0NjNjM2IxNzY3ODk3ZTg1MDcxYTQxNjY0ZGE5NDQ5NjgzYjEwIGxlZ2FjeS10cnVuaworMTE0MjYgMGYzMzE4ODNjYzE1ZjA1M2VlOTdlZDljNDZiNTIxYWYxNjE2ZThhZCBsZWdhY3ktdHJ1bmsKKzExNDI3IDNiMDI5MTY1NWUzMTYzMTJhYmNlZWI3ZWJhY2NkNTVkOTQ4ZjAyYTEgbGVnYWN5LXRydW5rCisxMTQyOCA3NjAxYTdlOTU4M2RlNWRiOTA5M2E4YmIzOGY5NTAwOThiYzY5ZWY3IGxlZ2FjeS10cnVuaworMTE0MjkgNTBhZmEyOGFhNGI5MTljOWU2YzJkNmE3NWZkZDY2ZjRkMmIwN2U4NSBsZWdhY3ktdHJ1bmsKKzExNDMwIGM5MTgwOWNkNjdlNTQxYmU2NGE4MGRhMjJlNDUwMzJiM2UxN2YwMjggbGVnYWN5LXRydW5rCisxMTQzMSA3Y2Q0MmM4NzhmMTYxOWIyZGU0ODZkNmI3ZGFhMzkxN2JjMzdjMzZhIGxlZ2FjeS10cnVuaworMTE0MzIgMGE2ODkyYjFhNGFjMjgyOWNmOWJhYzJmMTdiZTc1OGE0YTEyNzAwOSBsZWdhY3ktdHJ1bmsKKzExNDMzIGNmM2NlYmE3ZWZkZGVkNjI1N2E5NzY3Y2ViYzY1ZDdiOGY3ZDg1NmIgbGVnYWN5LXRydW5rCisxMTQzNCA4YWNjNzJhODEzMTk5OGY4MDU2NzhmM2IxYjVlODg1Y2JmNWUzYmQxIGxlZ2FjeS10cnVuaworMTE0MzUgY2I3YTE1MDY5MTlhZjRmNzdiNzA3M2Q4ZjE2YmMwODhmMzRiMzRiYyBsZWdhY3ktdHJ1bmsKKzExNDM2IDk5MDE1Mzg1M2UzYmIxZTc5Nzk3YWZjMzljNGVhODdhMDc1NTdlOTUgbGVnYWN5LXRydW5rCisxMTQzNyAzODRmZmVkMjUyZTkxZmQ4NDg4OGViZTVlZGVkNDhlZDk2ZmU1MTI1IGxlZ2FjeS10cnVuaworMTE0MzggYzI2NTkwYjFjMzk2YjU3MGVmMjk2YWYzODJlNjAyZGVjYjNiZWRlNyBsZWdhY3ktdHJ1bmsKKzExNDM5IGFjMTg4MWM0YmE2ZDlkMDZhOTZiNzFjMTE2Mzk3YjIxNDYwOTBhZmEgbGVnYWN5LXRydW5rCisxMTQ0MCBjNzlkZWZiNWEzOWMxYmQ3M2MzZDYyYWE3YTBiMmExMWY4OTJhM2I3IGxlZ2FjeS10cnVuaworMTE0NDEgMjQ5Y2Q0NDMzY2YwOGViZjJiODY5NTI4MzIwMTQ3YzViNDJlN2NmZSBsZWdhY3ktdHJ1bmsKKzExNDQyIGExZGVhZjA0Mjc3YmJiOGEwZGE2ZTNjZTc1ZWE2NDM1ODM1MjhlMTAgbGVnYWN5LXRydW5rCisxMTQ0MyA5NjE4YTg2ODc5Y2FlZmFhYTdjYzAzNzZkMTA4ZjU1MGJhZDNlZTBlIGxlZ2FjeS10cnVuaworMTE0NDQgZTc5NThlOGM3NzdhNzg0YjljMGM2NmU2MTljOTUyN2VjNjQ2ZWVhYiBsZWdhY3ktdHJ1bmsKKzExNDQ1IGVjZGQ5NmRkYjAwMzVmN2JhYTcxM2ZjYjQyNjY2NjQ5ZGE1OTM1NjcgbGVnYWN5LXRydW5rCisxMTQ0NiA0YjY0ZjEzMWFhNGQ4NTM0MjNmNDMxMjc2OTkyYTcxY2UwNDQ5NWI0IGxlZ2FjeS10cnVuaworMTE0NDcgOTlmZmUwYTM4YTFjYWQzOGFiZjU5NTViN2Q1MDg0YWM5ZTAwMjhiZSBsZWdhY3ktdHJ1bmsKKzExNDQ4IGJlMjFhYWRmNDkwOGY3ZDllZjBkZjUwODRiMmMzODliMjM3OWY5MWEgbGVnYWN5LXRydW5rCisxMTQ0OSBjNGMzMjhhYWJkODI1YWFlOWRkNDdlZGQwYzllNjA3ZjRjNmJmOWNmIGxlZ2FjeS10cnVuaworMTE0NTAgZGUxNmUxOWZmMWRkOGIwZjhhODg1NTZjZTQ1NjEwMjE1MDgwNGYyNiBsZWdhY3ktdHJ1bmsKKzExNDUxIDE1N2U0ZjIwY2Q3MTYwOTRhN2ZkOTVkNjlkMWUzY2Q0NDdkZThmODEgbGVnYWN5LXRydW5rCisxMTQ1MiA0NTYxNGNmOWU5MTFiMGQ2NDA0MzMyN2NmZWFlNWNkNmY5MjFmOTFkIGxlZ2FjeS10cnVuaworMTE0NTMgNThkNjkwZDRlMzEyODM3NWI0YzY1MTc4OTVhMmE0MTY1NDI5NWQ1NCBsZWdhY3ktdHJ1bmsKKzExNDU0IDc4ODVmMTVkYTA4MDFjOWEzNTc5YjZhYTg2MTg4MjhlMTc5ZjllNzYgbGVnYWN5LXRydW5rCisxMTQ1NSA0NjhjYTg0ZmJjMTRhMjU1Y2EzMGY5OWRmOWQ5MWUxZGQ5YmJiMjdjIGxlZ2FjeS10cnVuaworMTE0NTUgZmVkNjNjY2JlNmRjM2FjNjYzYmZlOTdhMmY3MDA2YjFiMjg1NjhmOSBsZWdhY3ktdHJ1bmsKKzExNDU3IGQ2OWNmYzIzYWE3NjY0MzBjMWQ1MzE4N2RjYTIwYzlhZjI2OWJlNWMgbGVnYWN5LXRydW5rCisxMTQ1OCAzYmNkNjI3OGU2NTgxMDdlZGJiNDY3YTFjNGIzZTEzYmI3MGMyNmQ1IGxlZ2FjeS10cnVuaworMTE0NTkgODJhNDNlMWJmYTRmZGEwNjAyMzdiMDFmMzk3NGI1ZDhlYmZmODlhMiBsZWdhY3ktdHJ1bmsKKzExNDYwIDA3ZDk3ZDE1NDZkNGIzYzQ0Nzk1YmNjZjRjM2Q5YWY2YTg1MTE5NWQgbGVnYWN5LXRydW5rCisxMTQ2MSAwYWZjMzgyNzk3N2UxMmIwZjczYmJiOWEwMzdjYmNkYzk1MmJkODlmIGxlZ2FjeS10cnVuaworMTE0NjIgMjZjMDQxYjE0NWMxOTViNGRmYjgyZGY4YjJjM2U5Y2E1OTZmZTAxOSBsZWdhY3ktdHJ1bmsKKzExNDYzIGYxZTQxZmMyNzgzYzE5ZGQ5NjU3ZTVjMDc4YTkwZWU2Mzk1MDFlNzYgbGVnYWN5LXRydW5rCisxMTQ2NCAwMzk4MDUxZjhmZmFlMTc1MTM3Y2NhNjY2YTliM2EzZjZjM2ZmNjk4IGxlZ2FjeS10cnVuaworMTE0NjUgN2MyYmM3ZGI0OTMzNmNjMTY0ZTI4YjNhODhjMTE0MWMyZjAzNDMxZSBsZWdhY3ktdHJ1bmsKKzExNDY2IDRlZjY0MGFjZjIzNjVhYTcxNTI3OWYxNzlmNjk0MWU1OGMwZTE0MDEgbGVnYWN5LXRydW5rCisxMTQ2NyA2ZDRlYTM3ZDcwYzIyYWZhNTBhYjdlMGUwNjU4MzRhNmNmNDc0NDY1IGxlZ2FjeS10cnVuaworMTE0NjggZDc4NzhiMzg2ZGFmYTgxMWExODljZTlkMGNlYmMyYWMzYTcxYjJlMyBsZWdhY3ktdHJ1bmsKKzExNDcwIGZmNjdmOTNjNGE5YmMwZmYzZTM1ZDhjNWQ4NTczNzg1OGE0M2UyMTAgbGVnYWN5LXRydW5rCisxMTQ3MSAzZTEyN2JjYTg0ZTcyZmJkOTRhMjRhYTNlMWYzNzU4ZDBlNTNjZTg3IGxlZ2FjeS10cnVuaworMTE0NzIgMDcwZGU0ZDM5ZGRkODZhYzk2ZGJhNTZkZTlkYzM5OGQxNDIxNDRiMSBsZWdhY3ktdHJ1bmsKKzExNDczIDVmYjNjNjgzZTg2MjYyMzU2NjZjNjE5NGQ0MDYyZGU1MjQ1Nzk3NTAgbGVnYWN5LXRydW5rCisxMTQ3NCBkMTc4MjI3MTI0MjEwZWNhNDk0OTllODkyMWJkNDNlMjhjOGI0MjE0IGxlZ2FjeS10cnVuaworMTE0NzUgZGIxNmNhNGRlNGM0ODc4MTllNjEyZTQ4OGIzNjljYjVmODgzNmVlMyBsZWdhY3ktdHJ1bmsKKzExNDc2IGVlM2FmOTExYWQ1NmI2ZWQ5YjExNTgyYTE0NzRlMDQwYmE2NTdlMjUgbGVnYWN5LXRydW5rCisxMTQ3NyAwOTE4Mzk0MzE4MmViMzJhODZlOTMzOWQ4MjU4YWYzMGFiZWZmMDUyIGxlZ2FjeS10cnVuaworMTE0NzggOWM5YzRjM2VkZWMyZWQwMDc5N2VlZDVjNjViMTBjODNlNzliMjRiZiBsZWdhY3ktdHJ1bmsKKzExNDc5IGYxNDczOTI2MWEzNGMxODBjYmU3MzczOTEzYzEwMWRlNDM0OTQ1NzMgbGVnYWN5LXRydW5rCisxMTQ4MCAzYmRkMGU3OTBiYzk4NjljMTI2MDg4YzZlNmYwZjcwZDNiM2NmNjkyIGxlZ2FjeS10cnVuaworMTE0ODEgMjllM2IxZWI0NmIxOTBlN2QzOGJlMzE3YTdkODY2MmE5YTdjOTU0MSBsZWdhY3ktdHJ1bmsKKzExNDgyIGY4NjRjOWY2NTYwOTUyYjUxOTk3ODZjNzRhNmM3ZWVkYmQ1Yzg4NjMgbGVnYWN5LXRydW5rCisxMTQ4MyBkZmI3ZjQ2OGI3OGQzNzc1ODk5N2ZiZjZjN2ZmYWZhMmEwMjgwMDg5IGxlZ2FjeS10cnVuaworMTE0ODQgYzJkZDRmMDg2YTQyYmZhNDExZmFmN2RmYTY5YzFiYWE5MjcwMTg1NSBsZWdhY3ktdHJ1bmsKKzExNDg1IDQ0NTA1MDc1NTU4NmI1OTEyMmM1ZmE0YWNkOGNlZGIzOGE1ZWE4NTggbGVnYWN5LXRydW5rCisxMTQ4NiA3MTE2Y2I5NzEyYmNjNzA5OThkZjk0ZGVhNzVmNTViMjM2MzA5YjA3IGxlZ2FjeS10cnVuaworMTE0ODcgZjE2YTZlNjQ4NTliYjhjZjZjOTg2YjU1NDhhM2FkMTM4YmU5MjU3NyBsZWdhY3ktdHJ1bmsKKzExNDg4IDkzYmVjNmE4ZGIyMWIxZjEzNTMyMGRiMmNkZGNkNjg2ZWFlNjYwNDIgbGVnYWN5LXRydW5rCisxMTQ4OSBlYzAxZmU5YzI4NDE3YWJlZTgzMGNjZjBhOGRlMjQ4NWYzNzkxMGJiIGxlZ2FjeS10cnVuaworMTE0OTAgYTlmNmZiMTRhYmQ3Y2EyMDE4YjAwOWExMGVmZGFmNTliNGI3YWU1MiBsZWdhY3ktdHJ1bmsKKzExNDkxIGZmMWE4YTM4ZjhjMTFhZmI1YjlhN2MzNDdlNDMyOTljZDNkYWYzMDUgbGVnYWN5LXRydW5rCisxMTQ5MiBlYWJiZTBlZDM0NjhjY2VjOGI4MGIyMTI1Yzc2Y2JjZGI5ZDBiZjIyIGxlZ2FjeS10cnVuaworMTE0OTMgNTk5MTY3Mjg4NWNiMWFjNGRmY2Q4OTQxYjZmNGE4YTE5NzQzYzYzZiBsZWdhY3ktdHJ1bmsKKzExNDk0IDllMDFiNzRkYWY3N2M3MWM3NzU4MWZmM2U0NGUxOWFkMDAxMDg4ZTkgbGVnYWN5LXRydW5rCisxMTQ5NSBhMTEwYjYwNjk5YjFiNDEyNTUxN2ExNWZhODdkZGU3NTA1ZmRlY2NjIGxlZ2FjeS10cnVuaworMTE0OTYgMzZiZmFmZGRhOGQxNGYzYjlmY2YyOTY0NjE5OGM2OWQ5ZTcwNTlkNyBCQlBZCisxMTQ5NyBiZmQ4NDcyZjY5NmI5YzhmYzY5YTJjNzMxOTAyZWMxNDFkOWE0MDQxIE9TQU0KKzExNDk4IGQ4NWU4MDcwYjE2NGYzNzZmN2U2YzUyZDRiZmJhZTRlM2NkMTM0OTYgUFlUSE9OU0NSSVBUCisxMTUwMCBhOGQ0N2EzNzE4Y2U5ZmQ4YzRmZjc4Mzc2OWYxYWE1OTUzZDlkOWQwIEJCUFkKKzExNTAyIGI0ZDNmOThiZjIyOTcyZDRhMTIxMWU1YmMzZDkyZGNlMzc1M2Q3YTEgUFlUSE9OU0NSSVBUCisxMTUwNCBlMWYzMjNhZTljNGI1MjM3ZGRkZjBlMTg1MDljY2M2ZTMyZTUyMDk3IE9TQU0KKzExNTA1IDExYWJhZTI4NGMwNzFlZGJlZTRlNTE4NDc1ZmEwZGM3Y2Y2YjEyY2QgbGVnYWN5LXRydW5rCisxMTUwNiAxN2NkNmU1ZDI5NGJiM2EwNGJkOTk4Y2Q3YTVlNjM1ZGRhYWEwMjg3IFBZSURFCisxMTUwOCBlOTIxY2RiY2M1ZGQ2M2FmYjYzMzRhZDkzYzc0ZTQ0NTVlYjE3NGE2IFBZSURFCisxMTUwOSBkZmY2ODgxMjQ2NTcyZWM3OTFhNGIxNTkzNjIyMGEwMGQ3MGMyNzY0IGxlZ2FjeS10cnVuaworMTE1MTAgMmNlM2RhNDE5ZTFkMzllNzRlMDA3YTA4ODQ5YTNmZDU4ZGJlZWMwNSBsZWdhY3ktdHJ1bmsKKzExNTExIGRkNWZhMTc1NzU1NmRiNzNmYzYzMDRkNGM0NWJiN2NhYzA5ZGIyYzMgbGVnYWN5LXRydW5rCisxMTUxMiBiOWEwNzA3MzZlYWNiMzExYzdjNzIxODA4YzZjYWI0YzdhMjEwODNhIGxlZ2FjeS10cnVuaworMTE1MTMgODk3Y2UwOTc2Njk2NTIwYTRiMWUzZmI3YjIwMmZmYWQyOGRhOGFiYiBsZWdhY3ktdHJ1bmsKKzExNTE0IGIxNTBlYmY3YjJiNzJjNDhhOTAwZjIyMTU5MTNiY2VkODEyZDM4ZmIgbGVnYWN5LXRydW5rCisxMTUxNSA2NzRmNDUxYzQ4MTVmZjRhMDQwNjJlYWQ3NzU4Yjc3NzY5ODlhYWE2IGxlZ2FjeS10cnVuaworMTE1MTYgOTI4ZmU4YmM5ZWI2ZDY3NTZmZTcxNGE3ZTBmZTQ0YjMxYWNlODE0YSBsZWdhY3ktdHJ1bmsKKzExNTE3IGE5NzI0YzhlNmU2ZmQyYjAzMGMyNmExYjRlZjQxZjIzNWFiYTMzNzEgbGVnYWN5LXRydW5rCisxMTUxOCBiN2U3NzQ3YzE5Njk2OGY3ZWE1OTdkNTMzNTU5OGE2YmE1ZGRiYzlmIGxlZ2FjeS10cnVuaworMTE1MTkgNmEyZTkyNjIxNTQxMWRlMjFkOGQ5YWFhNWNmZTMzYWQ0MDk3N2FjYSBsZWdhY3ktdHJ1bmsKKzExNTIwIGE4N2IyM2Q0Mjg4MTRlMzkwNWMyODFiNmEyZTBiZGE0ZmNjOWE5YTYgbGVnYWN5LXRydW5rCisxMTUyMSAzZGY1YjlkODMzNWI3NzVhOTY0ZGVlNGE2MWJhYWYyNGExNTI2ZDNhIGxlZ2FjeS10cnVuaworMTE1MjIgZmI1YTVlYzJlYTFhYjAxYmY3NDkxMDhmZGRlNTJmOTdhMmI2OWI3MSBsZWdhY3ktdHJ1bmsKKzExNTIzIGQ1MzIzN2JjZjE1Zjc3NDIxNTQxOGY3M2Y4YmZjMmI2MGI3ODU4MmYgbGVnYWN5LXRydW5rCisxMTUyNCA2NTEzOTcxOWI2NTYwNTllNTJjNzY5YjJhNWZjODgwODg2ZGRmNzAyIGxlZ2FjeS10cnVuaworMTE1MjYgYjNlZWNkZTM2NzllZGMxMzMwMzQwMDNkOGZlNDU0Mzc0ZjEzYjgwZCBsZWdhY3ktdHJ1bmsKKzExNTI3IGQzYzA2NzkzNGM2M2NiZjc2ZWY3OTYyY2E2ODgzYmI2NmY5Y2UzMDkgbGVnYWN5LXRydW5rCisxMTUyOCBkMjcyMmE0Y2JkOWM2MTI4YjUyMTY4NjY4ZjhmNWI4ZWRhY2QyNjUxIGxlZ2FjeS10cnVuaworMTE1MjkgYmFmOWE1YTcxZDJkNmRkZjY4ODE1YzRkNWFkN2Y5MzRiMDRiZDRmZiBsZWdhY3ktdHJ1bmsKKzExNTMwIDk5NjI4MzNkNDlmZGRiOTMyNjIxOTdhMTVjMGVkOGQzZWM2NWIzZGUgbGVnYWN5LXRydW5rCisxMTUzMSAxODJjOWNiZGYwNTNkZTNhODMyZDA4MDUxNGI0NTlhMjhlNTZjMTE2IGxlZ2FjeS10cnVuaworMTE1MzIgMTFiNmYwYzllYWM5OThjYThmNmM4M2NlZDNkNDBlN2I1Y2Q1NWRhMCBsZWdhY3ktdHJ1bmsKKzExNTMzIDE4Njk3ZjU5ZmQ0OGI3N2JkNTQ2ZWE5MWY5NmRmYjQzMGU3OWVmOWYgbGVnYWN5LXRydW5rCisxMTUzNCA2MmI5NGNjOThkZTQ1OWU3YTgwMzk3MWQxNDc0MmRhNWQ2MTg1MWJhIGxlZ2FjeS10cnVuaworMTE1MzUgMjRkMGE1N2FlMjM0ZGM4MzU3NjgzZTFlMWM0MzFlNTRiODk1ZGQwOCBsZWdhY3ktdHJ1bmsKKzExNTM2IGYwYzhiOGEzM2YwOGVhZTA4ZDNmZjI5ZDE1ZTBlMjA4N2Q4ZTk3ZTggbGVnYWN5LXRydW5rCisxMTUzNyBlYmMwYzEyZGJkNzhkNjBkOGZlMDhkODkyOTZiMDliMmMxMzk1NWJiIGxlZ2FjeS10cnVuaworMTE1MzggOGQxOGQ0OTZhZjg3MDlmYzNhYWIwY2VlOTYyZmQ2YzAxN2UyYmJlMyBsZWdhY3ktdHJ1bmsKKzExNTM5IDlmZDkxNWQyM2NmYTAzYzAwZDNlODA4MmQyMmMxNWYzNDNiNjNhOTYgbGVnYWN5LXRydW5rCisxMTU0MCBkOGVkZTAyMGRmZWIyOTRiNzVhZTdkYzY5NWFiYTkyMzcwYzJhYjMwIGxlZ2FjeS10cnVuaworMTE1NDEgZDQzN2I2NjgzZTI0MTc2ZWFiNzViM2RhMDdkYjg1OTlkMmI0MzRmNCBsZWdhY3ktdHJ1bmsKKzExNTQyIGFkNmJjMmM1ZDM1M2VlZGNiMDIzNmVkYjY3ZWNhYzk3ZDRlYmMzMjEgbGVnYWN5LXRydW5rCisxMTU0MyA5MWQwODYwNzQ2ZmMyNzMzYmQyMGExNDg2YzkwMTMwNmY0NjZkYzMzIGxlZ2FjeS10cnVuaworMTE1NDQgNmQyZWI1OGYwNDE4NjgwODZkOTg3MWNkMWM0YWY3ZDg4NzNmMzYwMyBsZWdhY3ktdHJ1bmsKKzExNTQ1IDExOGY5ZjczYWJlOTE5ZTkyZWI5YjNkZTYyZmY4NTQ3YzIyNDlkYjIgbGVnYWN5LXRydW5rCisxMTU0NiBjYmY3MmIyMjEwYWVhOWVlNzgzMjYyODc5OWJkN2Q0MzdhODJmOWM0IGxlZ2FjeS10cnVuaworMTE1NDcgZjNlYmRiMjI3NGU0YTgyOWY3ZjdjZDJmYjAxN2RhMzVmODAxMDBiNiBsZWdhY3ktdHJ1bmsKKzExNTQ4IDgzOWM2NjIyZDE1YTA3MjEwYzc2ZDU5N2M1M2MyYWQyNDMxNmZlMTAgbGVnYWN5LXRydW5rCisxMTU0OSA5MDViZmFjMGZhMzJlMDU2OTU3ZGZiN2QyMGRhZjlhNTI1M2NjYmY0IGxlZ2FjeS10cnVuaworMTE1NTAgMTZmODM5N2Q4ZjA0OGRlNjRhMWI4ZDBlMjBhYTkxZGI0ODA4NjUwNSBsZWdhY3ktdHJ1bmsKKzExNTUxIGRhYmIyYjZhM2E4MWViMGZlOGM0NGU0NTYxN2RmMjYxN2YyNjQwNWIgbGVnYWN5LXRydW5rCisxMTU1MiA1YmM2NGVmYzY1ZTAyOTg0MWMzMzVmNzI2NzhkNTU2ZjZhNjE0NzM5IGxlZ2FjeS10cnVuaworMTE1NTMgMDUxODFlMTA0NDIwYWMwM2Y1MDYxNzkyZWU0ODJmYzFkY2RmZTYwYyBsZWdhY3ktdHJ1bmsKKzExNTU0IDAyNmUxMjM2MjQzZTZjYmFlMWNiN2JjZmIwNTRhMjU2ODlhYTJjZjUgbGVnYWN5LXRydW5rCisxMTU1NSAxOWVjNTM0Njk0YWRkZWI4NGRmZWUyMTRkYmI1ZGQ2ZmJkNzlkYjhiIGxlZ2FjeS10cnVuaworMTE1NTYgODY5NTJiZGFiYjIxZTExZmVjOTFjMzFjMTVjOTQ1YzYxODIyYWVhNyBsZWdhY3ktdHJ1bmsKKzExNTU3IDVjMWUxZmIzNzJkZTA2ZWUyODFhNmNmMTBmZTI0ZTNiNGQyMDMwMjcgbGVnYWN5LXRydW5rCisxMTU1OCAwODc2YjZjMjQwMDdkODY2NmRlYTI3NzZkYjI2N2IwZTM2YTY4Mzc4IGxlZ2FjeS10cnVuaworMTE1NTkgMDA4OGFkOWQ5NmMzODZhYzQyYmM1NDYwZmUyY2JhMDA4YjdlYjBlMyBsZWdhY3ktdHJ1bmsKKzExNTYwIDU0MDFjNzE0MjhlZWZiMGU2MmE2ODE3MzdjYzdhM2RhOTc0MjE1MDkgbGVnYWN5LXRydW5rCisxMTU2MSAwNzgxYTQ5OTkwNTE1YzE2Mjk4NmZkYmMyOGY3OTY1OGJkMzdkYWI3IGxlZ2FjeS10cnVuaworMTE1NjIgMjU3MDYzYWFlMDAwZjNmNTk4N2M2MjZhZWM0YmFjOGM0Y2I1N2NiNiBsZWdhY3ktdHJ1bmsKKzExNTYzIDM0MzNhOWViZGY0MzllNmQxOGM5ZjIyZmJhMmZlZTc5NTlkZTllOTcgbGVnYWN5LXRydW5rCisxMTU2NCBhNWUzYzY5NWQyZmJlMzc3ZmVmNGEyOGFkZmE0MzUwZTUxMDhhNmNhIGxlZ2FjeS10cnVuaworMTE1NjUgYjI1ZDVhNjJlMzU3NjNkNTg4M2U5MGQxY2I5ZTNiMTgxMjQ5MDAzZSBsZWdhY3ktdHJ1bmsKKzExNTY2IGViYzhjYjA3NzAzZjg5ZDQ2NTJkNjk0NjdiNTg0NGU3ZTRkNzhmZDEgbGVnYWN5LXRydW5rCisxMTU2NyBjMmNiZTlhY2ZjOGU1ODgzMGNkOWFmN2IyMzkzMzRjNzlkZGU1NzJiIGxlZ2FjeS10cnVuaworMTE1NjggMDE4OGQ2MjU5NjlhYjMxM2ZkNmMyYjQzZGE4MjJmM2M2MzBjOTM1YiBsZWdhY3ktdHJ1bmsKKzExNTY5IDljZWE2YjYxNzgzOGU1NDEyZjUzYWE3MDY1YzJhYmMxMzM5MTVmN2UgbGVnYWN5LXRydW5rCisxMTU3MCA2MThmYjgzMGJlNjU4Y2ZiNDQzNzk5ZDhkMTFkYWU0ODAyMDllOTU5IGxlZ2FjeS10cnVuaworMTE1NzEgYTk4MmIxN2U5MzhmNTI5ZGZhMDRjMzRkODE2NWYzNDY0ZDE4MmMyYSBsZWdhY3ktdHJ1bmsKKzExNTcyIDg1MGFjZjI5OWVhMjNkYmIxY2FkMWVmYjEwNjkxM2EzNTQwZmJkN2UgbGVnYWN5LXRydW5rCisxMTU3MyBjMDYyNzIzODRmMTE4YWZlMGRjNjI5MWVhZDAzY2ZjNjZhODNkM2I2IGxlZ2FjeS10cnVuaworMTE1NzQgYzQ0N2QxYWQ3ODUxN2QzNThmZmY3YmQ3NDBiOTE0MjkzYjE1OWJjNyBsZWdhY3ktdHJ1bmsKKzExNTc1IDE4ZjgxZmFmNGJkOTdiNDFmMTdhYjhmZjA1MWE4Njc4ZjM0YTZiYmMgbGVnYWN5LXRydW5rCisxMTU3NiA0ZDJjYjIxMmM4ZDE1ODU0OTM3NzViODcxZjhhM2JjNzJhOTYwODNmIGxlZ2FjeS10cnVuaworMTE1NzcgZTQ5YjVmZWQ3NDRjNGZmNzcxYzk4YjVlYjcyZDQ5NzhkZTVhYmFiMyBsZWdhY3ktdHJ1bmsKKzExNTc4IGVkYWM4NjBhZDcxMGI1YWEyOTIxMGVlNGM5ZDcyNDBmMDQ4MGE1Y2QgbGVnYWN5LXRydW5rCisxMTU3OSA2Yjg1NDkzMDUyZThhMzZmODJlNTgyNDVjMzgyY2JmY2Y2NDkwNDQxIGxlZ2FjeS10cnVuaworMTE1ODAgYmM0MWU4NmM5MzhjZjRiOWU3MGFlNWE0MmMwNDJkZTU3ODI0MWFjYyBsZWdhY3ktdHJ1bmsKKzExNTgxIDNmNGJlN2UyOGQ1Y2U3ODUxMTRjZGYyYjdkNTk5OTBjZmI3NDFmMDEgbGVnYWN5LXRydW5rCisxMTU4MiBlOTQzZjljMDk5MDFhZDgxOGJlMjNjYWJlYzhjNWQ3NzE2YjA4Mzc2IGxlZ2FjeS10cnVuaworMTE1ODMgZDRlYjM1YzZlNmVmYmU3MGFmZjU0ZjI2MTU5NDE0NDUyNWNlZWRmZCBsZWdhY3ktdHJ1bmsKKzExNTg0IGFjZmIzYTY0OGRjYWFiZmE2MzIyYmFhMGE3NmVmYjk2M2RiMGMxODggbGVnYWN5LXRydW5rCisxMTU4NSA3ZTZjNGY1N2FmNjk5MjBhNThkNGFjY2ZlZjNiOWU4NGZhZTJmYWIyIGxlZ2FjeS10cnVuaworMTE1ODYgZTcxZjgzOTIyMzkyMDRhNDVkNTM4Y2Q1NzI2N2E4NDMyODU2Yjg2NyBsZWdhY3ktdHJ1bmsKKzExNTg3IDI2ZjViZmQ3MTVhNDY1NmU4OWFjZTdmYmU3ZTI0ZDEwMWFmZDI3NmYgbGVnYWN5LXRydW5rCisxMTU4OCA1NTY5MjdkODY4ZDhkODg4MmI2NTIzY2Q2OWVmZWM1MjgzZmI0NzA3IGxlZ2FjeS10cnVuaworMTE1ODkgMmUwN2YxYjI5OGUxNmRiODFmMzU5ZDE1ZjNjZDA3Nzc1Y2Q3MThmZCBsZWdhY3ktdHJ1bmsKKzExNTkwIDQ3MWM2YzIyMTg3OTllZTI3MDBhZDZkMjFkYjA2ZmVhMzcwMDFlMTMgbGVnYWN5LXRydW5rCisxMTU5MSAwMzEwZWUxNjQ5N2E4N2Q3MTkzY2MxNzEwODkxMmQ2Y2I1ZjRjY2JkIGxlZ2FjeS10cnVuaworMTE1OTIgNjM3ZmVjOGE3ZGQzZGFmZjE3YTdmNmI0NzYwMDJhYzdkOGVhY2EyNiBsZWdhY3ktdHJ1bmsKKzExNTkzIDIwODhmODAyNTNkYjA0ZjIxNGI1ZjJiMDU4M2FmYTVhNzRiNDA1ZmEgbGVnYWN5LXRydW5rCisxMTU5NCA0Mjc4NTYxYmQ1ZTg3ZjU5YTEzODc3N2ZmNDY0OTVkZTdhNjVkNWI1IGxlZ2FjeS10cnVuaworMTE1OTUgYjgyNmU1MGU5NTczZjRlMDk0MGM4MmNiZjY0YTExYmJiNjlkMzIzNyBsZWdhY3ktdHJ1bmsKKzExNTk2IDcyOGJiZWI5ZTRmOTY1NDcyZjg5MmIzMGUzZmZhNjAxNjU4NjY2MWQgbGVnYWN5LXRydW5rCisxMTU5NyA2ODdiNjZlNjUzZDYxNWEwOGZjMGEwZTkyMmM2NWIwNDAzN2E4MGRiIGxlZ2FjeS10cnVuaworMTE1OTggMzEzNTMxNmNkNjcwYjA4ZmE4Y2FhMTQ0OTNlN2JjZTM4MWQ0Y2IxOCBsZWdhY3ktdHJ1bmsKKzExNTk5IGYyMzk2ZDQzMDU2YjZjNmQxY2Q5NzY1YTM1Yzk2ZWMwN2M2ZjZhNWEgbGVnYWN5LXRydW5rCisxMTYwMCA3N2E5Yjg1Zjc2MmE3NjQ4YTc4YzI3M2VmZmZlYmU4ZjkyMTk2MDI2IGxlZ2FjeS10cnVuaworMTE2MDEgMmJiN2I2NjBmMDA3YmVmNzQzOWM2MGExMjk3MDQ4NmEzYzY4NTA2MiBsZWdhY3ktdHJ1bmsKKzExNjAyIDllYjJkNmY2ZmQzZjRjNzFjYTY3ZGFhZTE3NzBkYjk4NDllZDAzMjQgbGVnYWN5LXRydW5rCisxMTYwMyBjZTUyZTkyMmZiYjI2ZWJhYjUzOWI5NmYzNTIwOTRlOTFhNjUwNDI5IGxlZ2FjeS10cnVuaworMTE2MDQgMjRjYWQ0ZTBkYjhkZDM5YzMyNTQ5MGM1NWUzNzIyZTcyMTVjYzBhNiBsZWdhY3ktdHJ1bmsKKzExNjA1IGI1Mjg2NGM1ZTljOTQyM2E1M2QwYjJlY2QxZTkyZmU0YjdlNzQ2ZWIgbGVnYWN5LXRydW5rCisxMTYwNiA5ZTE3NDU2NzllNzE1MDAzYjJjY2JiYzA5YWI0NzMyZTlmZThlNTk4IGxlZ2FjeS10cnVuaworMTE2MDcgMDQyMGY1NDM0ZjQ0OTMyYWE2NjdkZmJhYzlmYmU0OTczMzE4ZWMyZSBsZWdhY3ktdHJ1bmsKKzExNjA4IGIwODQ1ZDA5ZmVkZjZmODE2NTIwODQ0NDc1MjQ0ZDRmNzdlZGY5YjIgbGVnYWN5LXRydW5rCisxMTYwOSA4MzY2MGNkYTNlM2YzOTcwMDVmODU2OTcxYWZhMmU2YjU5NDU4MWQwIGxlZ2FjeS10cnVuaworMTE2MTAgZGJhNzExNjI2YjQzMjQxYzVlODFlYzBiMzRiOTNmZjVjNDVlNzZlZSBsZWdhY3ktdHJ1bmsKKzExNjExIGQyMzdjODA4YTAxZTExMzE4ZDI1MTZkZDA5MjI4MGE1NjRkMzBhYWEgbGVnYWN5LXRydW5rCisxMTYxMiAyOTM4MGE0ZmEyMzA4OTAzMTYzYWI1ZmQxY2RhODU2OTZkNjY5MzMwIGxlZ2FjeS10cnVuaworMTE2MTMgZGIxNTQ3ZmQ0MGU0Njc1YjcyOGU1YjZjYTE5YWRmZWZmYzZjZmVmZiBsZWdhY3ktdHJ1bmsKKzExNjE0IDRjYzEwOTA4ZTZmNDVmMDBmZTgyODczODhhNzAxNWRlZDlkYTMyNmYgbGVnYWN5LXRydW5rCisxMTYxNSAxMjEzNjU0MmUxNTU0OWIxZTNmZGEyM2JhNDRhYTNkYThjZTJkN2FhIGxlZ2FjeS10cnVuaworMTE2MTYgNDQ4Njg2MmQ1Y2JkZDBmYzA1ZGVmN2IxZjQ1MjE5OWY0NjdlOGQ4NCBsZWdhY3ktdHJ1bmsKKzExNjE3IDU1YzE4MTFiYjhlZmJhMjliNTMyMjNkNzJkMDhkNmM1OTUyYThjMTIgbGVnYWN5LXRydW5rCisxMTYxOCBmZGVlZjE3N2Y1MzZhZDk2Y2EyYjgwYWU1NzliNTUxZmI0MTczMzJjIGxlZ2FjeS10cnVuaworMTE2MTkgODZiNzEyOWQ4ZDA4YmQ5NzdmMDIwMzY2YmYyYTJhOWJlZTIyMThkNSBsZWdhY3ktdHJ1bmsKKzExNjIwIDE3ZDBjNTFlMDg4NzAxOTI2MTJhN2E0Mjg0YzkxYzk3NDM3ZmIzYjUgbGVnYWN5LXRydW5rCisxMTYyMSBiMTY2MzNiMjJlNmFlMTcwYjhiNzZjYmM3NjRiYjUxOGIyN2EwY2U5IGxlZ2FjeS10cnVuaworMTE2MjIgNmNkOTMzMjJiODEwYjZmNTNmYTE0NjhmZTBiZTEwMzY4NjBlNWIwMiBsZWdhY3ktdHJ1bmsKKzExNjIzIDNkMzBkZDU0NDQ1NjIxZDA3NGVkMWM2MjMyNmJjZjRkOWZhNzhlZTEgbGVnYWN5LXRydW5rCisxMTYyNCBmNDEyOWQ1MmRmYzVhZGYzZjk1YzY4YzNmN2JhYWE1MmUwNzFlNDRkIGxlZ2FjeS10cnVuaworMTE2MjUgYmE0MDA2NWUzOTlmMDQwNDEzOWRlYWYwYzNlZDVmNzcxM2Y3M2JmMiBsZWdhY3ktdHJ1bmsKKzExNjI2IDlmMTAyM2M4OGY1NzA2NTNiMDg5NDU1YWY2MjA2ZGI5ZGZlY2E1YjAgbGVnYWN5LXRydW5rCisxMTYyNyBiMGZhMmZjMTJkZmIyOGNkODUyODJjMWNiOTRkNmYyYjAwZmYwNTBlIGxlZ2FjeS10cnVuaworMTE2MjggNmNiZjA1Njk2MTIwZDA5YjE1MTZkZmQ1ZWM3YmMzM2RmYThiYzU1YiBsZWdhY3ktdHJ1bmsKKzExNjI5IGViYjAxMDg1ODc3MWFhYzdkMjk0NGZkMjRlOTI2Mjc2YjhmODc3NjAgbGVnYWN5LXRydW5rCisxMTYzMCAwNjYwYmU2ZTY3OTE0YjljZjFhNmUzYThmNGU3NzRkNjBhMWM2YWVkIGxlZ2FjeS10cnVuaworMTE2MzEgODhiMjIxMDkwMDdjMWNiOTE4ZDVlY2IyZTM1ODJkNWUzMWJiZjFhYSBsZWdhY3ktdHJ1bmsKKzExNjMyIDVhZjRiMTAyMTQ0YWU1ZDkwNGE0OTk1ZmQ5MmU0ZDc2OTQ3ZGI5ZmEgbGVnYWN5LXRydW5rCisxMTYzMyBlMWI3MTBlMzBhY2Y3M2M1YjU5YThkYjEwZGU5MzQyYjgwMWYzN2VjIGxlZ2FjeS10cnVuaworMTE2MzQgMDMyOWQ0MTllNTA2MTgyZTlhODA4ZWNlMWMzMDdlZWY3MTdkZTUyMCBsZWdhY3ktdHJ1bmsKKzExNjM1IGRlZWIzY2UyMGFjZjFhODViMTBjODYwNzBhY2IxMWI2MjljYzFmN2MgbGVnYWN5LXRydW5rCisxMTYzNiBmNWQyNjVkNWU5ZGMwMmFkYmZjYTE1Zjc2YzA2NDA3MTQyN2NmOTM5IGxlZ2FjeS10cnVuaworMTE2MzcgOGUzYjZkNmFmZTRjYzFiNTUxYzM4YmZkZTk4MzljZjI5M2QxNTU3NiBsZWdhY3ktdHJ1bmsKKzExNjM4IDg4MWI4NjM5OGMyMDQzZjVhMjMzNmU2ZGE3YzNhY2IwNzVhNTVmN2UgbGVnYWN5LXRydW5rCisxMTYzOSA5OGRjNjc1ZDA5MTNiNmIzM2JiODgwZmIxODU5Mzc4NzkxZWFhNjgwIGxlZ2FjeS10cnVuaworMTE2NDAgN2ZhYmJiYjdhZDlhN2ExZDQ3ODc3YWRlNjkwOWMxZGEyZTM0MjdiMiBsZWdhY3ktdHJ1bmsKKzExNjQxIDUyMDU4M2JkZjBiMDI5MGNlOThhMjUyOWYwOGFiMGNkOTU1MmI1YWEgbGVnYWN5LXRydW5rCisxMTY0MiBlNTc4NDM5Yjk4MWY4NTYxNDRiNDMyMzRhMmMwZTU5ZTRhYmEzODQxIGxlZ2FjeS10cnVuaworMTE2NDMgYzQ2MDIyMzY0MDllOGI5ZTA0OTg2MTAxMDBlYzMyYzNhZmI3NTBmYyBsZWdhY3ktdHJ1bmsKKzExNjQ0IDZlY2IyNDhlNjdmZjJjMGE1NDdkMTBkZDgyZDg2ZmVkOTYxMWQxN2YgbGVnYWN5LXRydW5rCisxMTY0NSBlNjAwNTUyMTZiOGY5ZmM5MDNkOTU5ODVmNGI4MDlhNzE0YjBiNmQ3IGxlZ2FjeS10cnVuaworMTE2NDYgMWMyMmNiZmI0YTFlMjA2YTdjYjAxMTk5YTViYWNhZGEyOWE2OWVmOCBsZWdhY3ktdHJ1bmsKKzExNjQ3IDRhZjg3Y2VkOWYzYWFiNmQ5ZmRjMzhhZGQ2NDM0MTRjZjNmMjg5YzQgbGVnYWN5LXRydW5rCisxMTY0OCA0ZmI0YjAwNzU1YjVlMDZkNzdlOGIwMjYzZWZjMzQwZDJjYTJlZWU3IGxlZ2FjeS10cnVuaworMTE2NDkgYTMwNzY1NmM3Nzg4OTc2YzQ0NGZkMWI1MGM3NWRhNDJhZjRiYjkwMCBsZWdhY3ktdHJ1bmsKKzExNjUwIDQ2ODMwZTVhMDM1MWZhZDBkNDEzN2RlYTNlNDU1YzYyODljMTY3ZGQgbGVnYWN5LXRydW5rCisxMTY1MSAxZThmMzEwNzQ1NDc1MTAyNzE3YTM1ZWUzOWM2MjIzZjZmMGJhMjBlIGxlZ2FjeS10cnVuaworMTE2NTIgMzUyOWJiNGNhZWZkNmUwYTVlNWRiMWNmN2MxYjZiM2M0ZDY3NzdjNCBsZWdhY3ktdHJ1bmsKKzExNjUzIGRhZjFkNjFiOTYxMWQ3YTI3MzEyOTcwMjRkY2JiZTI3ODQyNjVjODYgbGVnYWN5LXRydW5rCisxMTY1NCA5ZjcyOTFmNTUwMjZkNGQ1NWM0MjViOTNkMTFkYjIzYjBlZmYzODAwIGxlZ2FjeS10cnVuaworMTE2NTUgYjI2MzBhMjlmZWZkYjhiN2Y0NWQ4YzllOTA0NTUzZDRjYTU3NjcyMCBsZWdhY3ktdHJ1bmsKKzExNjU2IGYyYjk4Y2JjNTAzMDE4OGFhMmU0NWRhZDhlOGZhOWQ3ZWU5Yjg2ZGEgbGVnYWN5LXRydW5rCisxMTY1NyBmMGE5MmMwYTExNWVjZmNkZDU1NWYwZjE5YmMzOTY3MzhlYWUxOTA3IGxlZ2FjeS10cnVuaworMTE2NTggMWU0M2RmN2Q4YmUzZmZlNTdlMDczOGIzMGQxMzgxODI4YTAwYzgyZSBsZWdhY3ktdHJ1bmsKKzExNjU5IGUyZGFhNzgzYmQ0NzI4ZWEwZTgzMzg2MjA5NjVmMzMwY2ZkYjBhMjMgbGVnYWN5LXRydW5rCisxMTY2MCAwYTA4NWQ3MzFjMWM3OWE4ZjMyODU2OTQwY2M1MmZmZWNiMTRjMjhjIGxlZ2FjeS10cnVuaworMTE2NjEgZDA4NjQxNGFkZTZlYzQ5ZTkzNmEzOWMyOWY1MDNmMWYwY2Q4MDFhYyBsZWdhY3ktdHJ1bmsKKzExNjYyIGQzZWY0ZDEwZmI5NTRjOGU4NTEzMzQyNTBmYWM0Y2IzNWI5Y2I0MmQgbGVnYWN5LXRydW5rCisxMTY2MyA2YTU1OWRjNzhjOTEzZjhkNjY5M2U3NTQ1YjA5NmUyNjAzYWE2MjNkIGxlZ2FjeS10cnVuaworMTE2NjQgYjBiYTMxOTY3NzE5NTgyM2Q4NTBmZDcwNDA5NmJjNzZjMjMxZDZiMCBsZWdhY3ktdHJ1bmsKKzExNjY1IDc1YTgwNDdkZmMxMTAzYWZiMDFkN2FjY2VlNTMyZDA4ZTgyMGM1NTAgbGVnYWN5LXRydW5rCisxMTY2NiA2YmUzNDNkYTI5MTQ0YTM5MjA4MjdiMDc5NmI5MmY3ZWFlNmFhOTY4IGxlZ2FjeS10cnVuaworMTE2NjcgYzAwYjI3MzA4NWJlZDcwYWJiYTA3MjVjYmJiZjNmYzYyMTJmNTQ1NCBsZWdhY3ktdHJ1bmsKKzExNjY4IDNjZTUxMWJhNDI0MjI2MTMyMTA3NDIwYjdmMDcyZWZhN2Q5ZTYyMDEgbGVnYWN5LXRydW5rCisxMTY2OSA5ZmQyYmJkNDQ1NGUzNjc4YjFjZDZmMTEwNTgwZDlhOGM4MmFjMmYyIGxlZ2FjeS10cnVuaworMTE2NzAgMzJiMTk0OTFlNzBiNWE3OWQ1NTg5OWY5MTYwYTZmNjg3ZjlkMTcxYiBsZWdhY3ktdHJ1bmsKKzExNjcxIDlhODhmZTIwNGQ5NWNkODU2N2FjYzk5MjgyMzg0YjEwMzBjZGZhMGIgbGVnYWN5LXRydW5rCisxMTY3MiA2OGFhZDhlY2ZkNzBlY2FhYTk0MTVmNGMxNmQ5MGMyYjliNGI0M2Q1IGxlZ2FjeS10cnVuaworMTE2NzMgNmZjOTIwYzkwNjQwOGNjMmU2NzU5MTk5MWNjMGRlMzA0YTQ4M2E3OCBsZWdhY3ktdHJ1bmsKKzExNjc0IDk1OGUxZmFhMzhhOTEwNGZkOGI4ODY1MzE3OTg0ZjUzNTY1OTExMDQgbGVnYWN5LXRydW5rCisxMTY3NSAwNjI1Yjk5NThiMjNiZjYyYWYyODgxODUzMjBlZTBmMzNkNTY0YTI4IGxlZ2FjeS10cnVuaworMTE2NzYgNTNlZDZiY2QwNjQxZGYzN2ViMmY4ZWU4ZTZmMzUyNzA3NThhMzI0YSBsZWdhY3ktdHJ1bmsKKzExNjc3IDI1M2M5OTNlZjkzNmFkNWExZjkzYzc4NTQyZTEzMWE0NjcxNmQ0YjAgbGVnYWN5LXRydW5rCisxMTY3OCBmYTg5M2Q1NTc5NGVjZDk4NjYzODQ4ODEwMDIzOWU4ZDMxYzg2OTc1IGxlZ2FjeS10cnVuaworMTE2NzkgZTc1ZTIyOGY4Mzk1ZTdlYzUwZjZkMDU2YzE1ZmZhYjgxMDFhYzllNyBsZWdhY3ktdHJ1bmsKKzExNjgwIDhlOTUyYmRkMGZhMzcwNDc0OGIwODY2MmQxYjI4ZGFmMGI1ZWVjNDQgbGVnYWN5LXRydW5rCisxMTY4MSBmMjY0ZTU3ZDY1N2RkMzgwNjAzNTYxZDNkMWRkODAwMTBmMmM5ZTIyIGxlZ2FjeS10cnVuaworMTE2ODIgYTg2YTcxYmViZDY0MDdhMmNiOGI3YzkzOTI3YTJhMDM0NzM1ZTBlNSBsZWdhY3ktdHJ1bmsKKzExNjgzIGFhNzNkZWUyMzA5MzA3NTc3NmU0ZWIzZGRjOGE2MzQ5NTI4YjdlZTkgbGVnYWN5LXRydW5rCisxMTY4NCBlMjFkMDc5OGMwMmFhYWRlMjNlMjFkNTQ0YzMwOWI2NWQ4ODkwZDUyIGxlZ2FjeS10cnVuaworMTE2ODUgYTE2NzJlNzc1ZjMzMWVjYzM0NjU2Yjg1Y2Q5ZGFhM2RmNjRiYTBhNyBsZWdhY3ktdHJ1bmsKKzExNjg2IDVmZTRkNTk0YTBmMjE5MjQ2YmFmMjg4NTliYTMyYzliZTQ3MDZmMGIgbGVnYWN5LXRydW5rCisxMTY4NyAzZTBjODdiZGI1ODg5Njk0ODY1YjQ3ZGFkOGIxZTFlMTMwYjZmMGRlIGxlZ2FjeS10cnVuaworMTE2ODggNGZlOGE3NjcwYzBkMmEzMDg3ODIyMGI0NmM4OTFiYWQ2Y2U3NTVhZCBsZWdhY3ktdHJ1bmsKKzExNjg5IGFjNmMyOWQxZjEwYzljMmY5MDNlMDY0YTZjNTBmMWMyYmQzYTc5NTkgbGVnYWN5LXRydW5rCisxMTY5MCAwMmQ4ZjcyMTQwOWFiZjRmYWI4NDExNTNhYzM4YzRmOGJlYWU1MDg3IGxlZ2FjeS10cnVuaworMTE2OTEgNGMyMDQ1NjE1OWViZGJiMjgxMjY3ZjQ0ZmNjYmZkZTgyZDQ3ZGIzMiBsZWdhY3ktdHJ1bmsKKzExNjkyIDE5NWU3NDhjZjY5NmE2OTZmOWZkYWQ2ZTdkOGIyNmEyNmMyMDhmZmMgbGVnYWN5LXRydW5rCisxMTY5MyAzMzk4NDg0MTIxMWQ1YWMxNjAyNDcyY2E3MTdjMGQ1MzNkMDEyODg0IGxlZ2FjeS10cnVuaworMTE2OTQgNDdjY2RiN2ZiNjIzYWU5YWRmYmQyODE3NGQ1ZDM0NDNmZjg2ODZkMCBsZWdhY3ktdHJ1bmsKKzExNjk1IDU4ZWNlZDUzMDlhMDZiNzdkZWE1YzAyNjZmZDUyZjExODViOGY1ZmIgbGVnYWN5LXRydW5rCisxMTY5NiBiMjQwNDY3MjBkNTYwNDVlNDkxMzIzYzk0Njc0MDFlODM3MTc5YjBlIGxlZ2FjeS10cnVuaworMTE2OTcgZDU3OGNkNjQ3OTZkMTI2NTg1ZmEwZjk1NTlmOTZhNTg2YTFkYmQzZSBsZWdhY3ktdHJ1bmsKKzExNjk4IGViODAzZTE5MTg4N2U2ZWQyMGQ0NzQwYmJkYTkwNGE1OTk2ODU3YjcgbGVnYWN5LXRydW5rCisxMTY5OSAxNGFkMDJkMDZlMzJkODg0MjYyMWEwMTAxMGQxOGU2MjA2NjZkY2U4IGxlZ2FjeS10cnVuaworMTE3MDAgMDdkYWU2ZmRhZTc5NDEzZGY5MmJmMzIzMGY5M2VjMTc3NjkwZjQzMSBsZWdhY3ktdHJ1bmsKKzExNzAxIDg4NTA1MjY5YjQwMzdkZWVhMjgzZDdiNmNjM2ZmNzM2NTliZWFmYTAgbGVnYWN5LXRydW5rCisxMTcwMiAwODU4ZjExYzg4ZDcyNThjMTYzMzlmMTViY2I5YTViYjBkNGI2ZGFlIGxlZ2FjeS10cnVuaworMTE3MDMgYzFkYzE5ZjlhZDYwOGU2YjRiMWE4ZGE2MzE3MThmNGEyMTllNjViNCBsZWdhY3ktdHJ1bmsKKzExNzA0IDY3MDk2N2JlNmRiM2NlYjMwZGYyNzFhYzg0MTI3ZmIxNjFhZmRjNmIgbGVnYWN5LXRydW5rCisxMTcwNSA4MTQ4ZDQ0Zjk5MDNkZTJmZDhkMjJhZTlhYzJiN2NkYzBhY2I3NjJlIGxlZ2FjeS10cnVuaworMTE3MDYgZDNhZjMxMGYyMzBjYjE1NmM5NjJiODE4ZGYyODRiNWM2NDNjNjFmZCBsZWdhY3ktdHJ1bmsKKzExNzA3IDcwZTQ5ZjcxNTk1NzJmMTM3OTZhOWNkMzViMDk2OWU4MjZmNmFjNzcgbGVnYWN5LXRydW5rCisxMTcwOCBmMTcyZDQ3NGM1YTkwNGE4ZDUzMWI4YWQwMzE1NjJiZTQwNzJjZTJmIGxlZ2FjeS10cnVuaworMTE3MDkgYmUzZDg0ZmYyOWY5YTk1M2FkMDhmOTdhMWQzYTBiNzYyMGEzODY5YyBsZWdhY3ktdHJ1bmsKKzExNzEwIDg5ZDkxNmRmNDc5YjE1YjExYWM2MjNhYzc0YzM5NWJkNjE1NGMzOWQgbGVnYWN5LXRydW5rCisxMTcxMSBjMjU5YzNjNGQwY2NmOWJjMzllNjA5OWZhY2I2ZGI2OTliYzY2NzI1IGxlZ2FjeS10cnVuaworMTE3MTIgMTk5NWNkYmUzMzg0NmU0NzcwMjRlNjk2Nzk5N2NhYTM2MzQ2NmIzZiBsZWdhY3ktdHJ1bmsKKzExNzEzIDkzNjk5MTc5YTUwZjJmNGFjOTJlZmZhNGQ3ZTUzMmNiYjY3YWMzNGMgbGVnYWN5LXRydW5rCisxMTcxNCA0NGZmMWFjNTI5NWIzN2Q2ZDVkZDYyYmMxYWE3MzAzNGQ1YzhlYjI3IGxlZ2FjeS10cnVuaworMTE3MTUgYTRlODIzMzE1Njk5MDIxODNjNmFkZjRmYzgyMTM5YzdjZjAxMGY1ZCBsZWdhY3ktdHJ1bmsKKzExNzE2IDI5OTlmMWQ5MDQyOTk2Mjg5YTYwZTI1YTQ1YzkwYzY0YTgwMDAzMzIgbGVnYWN5LXRydW5rCisxMTcxNyA1NjIxY2Y5YjA5ZDYzMjBiMzZmMDUyMGVjNDM5NGZmYzQ1OGU3Y2VhIGxlZ2FjeS10cnVuaworMTE3MTggM2M5ZmVjNTdiODU4YTY0ZjA3OWVlNTg2MmNjYzc1NmE3YTI1NjYxZSBsZWdhY3ktdHJ1bmsKKzExNzE5IDk4NDhmNDIzNDNjOTk4ZjRhOTNmMTViYTlmNTlmNDY0YjZhYzQwYmYgbGVnYWN5LXRydW5rCisxMTcyMCBkYzFkNDQ1ZjIzNzE4NGQ1YzZkMTIyYjVlYzY3NjM2ZDhkOTYzNjdjIGxlZ2FjeS10cnVuaworMTE3MjEgNzNkZjI0ZjZiY2NmMzNhZGY3NDg0N2MwNTNmZTVmZWRjMmE1ZGM2OCBsZWdhY3ktdHJ1bmsKKzExNzIyIGNlOGYzY2VmNmFlZDJiZmY1YzQ0MWZmNDU5Mjg4Mjk5N2QyMzJmZTIgbGVnYWN5LXRydW5rCisxMTcyMyAyNWRhMDliNDI3YjQ3NWY0NDY1NDZmMWQxMDFlZDkzZTk3NDViN2FmIGxlZ2FjeS10cnVuaworMTE3MjQgNzk0MDBkMDc4ZjFiMDNmYzVmOTBhNjViN2EzNmM0ZGU5MGNhNTllNCBsZWdhY3ktdHJ1bmsKKzExNzI1IGEwM2M2ZmQ4MWQ0ZDZkMWFiMzQ5ZGUzMWRlYWVhMGE4ZjE3NDU3MjggbGVnYWN5LXRydW5rCisxMTcyNiAyZTM3MTJlODQ3ODFmYjEyNDY2NTFmNTVjZmRmMDU5OWE2ZWJhMWUwIGxlZ2FjeS10cnVuaworMTE3MjcgMzhjMDdiYTRiOGU0MTFmODZjYzJmNGNjNmYwMTlmMDI0MGQ5NGFiMiBsZWdhY3ktdHJ1bmsKKzExNzI4IDA4YjhkYTZkNGNhNmEwNzI5MGVjYmFiZDFiZTkzY2U1YWY1ZjA5M2UgbGVnYWN5LXRydW5rCisxMTcyOSA0YmZkMjlkNTNiOTUwYzE3YTdhMmE2ODE2MDdlMTgxNzYyMTQwM2I0IGxlZ2FjeS10cnVuaworMTE3MzAgYjE4ZDFmOTFkNjY0ODMyNDk2N2Y0NWE0YmM0ZTM3MjVlM2VlNjBlYyBsZWdhY3ktdHJ1bmsKKzExNzMxIDQxZjgzYzcyZTA5ODRjOTE3ODk3ZDFlNjgwNWMzYjA5YTMzNzE1MjYgbGVnYWN5LXRydW5rCisxMTczMiBkNzI1MmE1YjdlMWU3YWQ1ZmE4MjVmZTZhNjkyZDFiM2QwNDI1YWFkIGxlZ2FjeS10cnVuaworMTE3MzMgMzljNDEyMjBmN2VkNDZmMjM2OWM3MWM3MGNlZjVkODVlYjhjNDAyYyBsZWdhY3ktdHJ1bmsKKzExNzM0IGRkODQ0M2JkNDQ3NDBjN2E5ZjkxMmZjYmRkM2FkNjY4MjYyNTAwODggbGVnYWN5LXRydW5rCisxMTczNSA0YzRjZWM1NGJhNjM0ZGVmNDFiNDhjNTM2NTY2MWY5N2ZjMzQ1MDAxIGxlZ2FjeS10cnVuaworMTE3MzYgYjU1ZGIwOGRmZjdiZjI1OTI3YTJlNzhjYjU1OWY4ZGM5ZGNlYTMwOCBsZWdhY3ktdHJ1bmsKKzExNzM3IDIyOTQ3NWQyOTUxZjcwNTkxZTFmMDE3ZTAyZjdhNjUyY2E2YWI2NGQgbGVnYWN5LXRydW5rCisxMTczOCBlMjNlYzI0MDMxNTcyNDdiM2RkNTliOGU5ZDJmMjFmMjA0Yzg2YTdmIGxlZ2FjeS10cnVuaworMTE3MzkgNzEwZGExMGRlZTlkYjM0YTBlNGQxMTE4N2E4Zjk5NTk1MmZlMTk5YSBsZWdhY3ktdHJ1bmsKKzExNzQwIDA0ODAwMmYyN2MxZDhiY2E1YTkzYzFkYWJkOTI3NjQ0MDBkNjRhMTUgbGVnYWN5LXRydW5rCisxMTc0MSAxNTlmOWU3NDY3NTQ5NDcxMDVlN2I3OTE0NmJkMjMzZTcyM2M4NmI4IGxlZ2FjeS10cnVuaworMTE3NDIgOGE4ODVmM2E1ZjQ2YWNlNTQ1NmM2NGU3MDhhMzM2ZDdmNGU3NTljMCBsZWdhY3ktdHJ1bmsKKzExNzQzIDFjNGJhMGUyZjhlNzQzYjYxNmI5ZmQ3NTAyZTdlNjUzYjE3NmMxMGIgbGVnYWN5LXRydW5rCisxMTc0NCBiNDg3MmJjOGQ5ZWY3Mzg2MzRmMGEyNjlhYmI5MmNlZGQyNThhYjEwIGxlZ2FjeS10cnVuaworMTE3NDUgZTE5OTU0YmExYmM0MTM3ODhiMzNiNzU2ZDhhMWExZDZiMDdiNmY1NyBsZWdhY3ktdHJ1bmsKKzExNzQ2IDAyODM3NTk0MDdlMTYxZGYwMTUxOTM4NjVlMjNkNjA5ZmQ1MjhhZjAgbGVnYWN5LXRydW5rCisxMTc0NyBjYTg1ODdkMjE1ZTZmZWNhZTM4YTYzMmQ0N2VlMzZkMzU4NzYyZDQ0IGxlZ2FjeS10cnVuaworMTE3NDggNDMwMDM4ZTE2NDMzN2EzMDAxMTI5OTZiYTc5ZGFkOTllMWNhODY3NCBsZWdhY3ktdHJ1bmsKKzExNzQ5IDU5MGJkOWI0NWJmNjBkMTg3OWI0MmI2MjUyN2YxZWQ5MWFkMGFhNzUgbGVnYWN5LXRydW5rCisxMTc1MCBiZTE0OTMzOTFjNmRkM2JjN2JhZDMxN2U3YzAwYmI0MjFmM2YwNjZmIGxlZ2FjeS10cnVuaworMTE3NTEgOWQzOTNhMGY3MjdjNzU0NGE0YWQxYWJhM2ZlMjIxYzlhOGI4ZmUzOCBsZWdhY3ktdHJ1bmsKKzExNzUyIDA4MDc5OWQwY2YyYjJiZDlhNDc2MGFlNTM1NzljNzA4YWY2YjNiYTQgbGVnYWN5LXRydW5rCisxMTc1MyA4ZDE0OTA2MjkyYzY2Y2MwMDVmNDU1NWUzMWU5YzQwNmFhZDc5NzQ0IGxlZ2FjeS10cnVuaworMTE3NTQgMWUzM2E4YTU2YmNhNWI3YzYzMDg3ZjU2NWU4NmJiMzBjNTE2YzhkMiBsZWdhY3ktdHJ1bmsKKzExNzU1IDI1NzdjMGNjNzQ4MmE4ODg1NGYyMWE0MDA1NDcxNzc5MTZjMmZiNDggbGVnYWN5LXRydW5rCisxMTc1NiA2YjZiZDE0ZDc1MGI4MWI4NDRmZTI3NDQyM2I0NmQ5ZjQ1NzA0Y2Y3IGxlZ2FjeS10cnVuaworMTE3NTcgYTczY2Q3Zjk5Yjk1YmQxMmQwYTA3ODE5YzE4YjQ0Y2NmZDQ0MWY3OSBsZWdhY3ktdHJ1bmsKKzExNzU4IGFjZDgxYzMyMjdkZWI4OTY4OTkxNzdlNjBkMDY1MTkwZTdmYjcwODUgbGVnYWN5LXRydW5rCisxMTc1OSA5ZDJjMTJmMjQwZTYzNjEyZWNhYTRmODdjOGRjYTRiZDZlODk0N2I4IGxlZ2FjeS10cnVuaworMTE3NjAgNjVmMDhjYzU5NTUzNjQwNjQ5MjRmOWJjZDk1M2FlNGQ3NWVjOWNkMSBsZWdhY3ktdHJ1bmsKKzExNzYxIDg2ZGUxZmEwZmJiNzY3MmMwMmM1NjkyZjMwMmQ2NDQ4MGZkZmI1NGUgbGVnYWN5LXRydW5rCisxMTc2MiBjMTE2YmIzZTJhZDE4OGIzMTAxZDRmYWZjNGFkNDlmMmE0MTkyYThhIGxlZ2FjeS10cnVuaworMTE3NjMgYTBmMzMyNWZlZGYxOTFlN2M0ZWViYmU1NWY1YjY2OTcyYjhkNjg5YyBsZWdhY3ktdHJ1bmsKKzExNzY0IDU1MGE0NTZkOGY2MTU4NzZjODBlZTJiOTUzYjJiZGU0MmM5ZWQxNDQgbGVnYWN5LXRydW5rCisxMTc2NSBhY2VlMzU5NWU2MDNlZDJiNGI0N2Y5OWVlNDJjMTI4Y2QyMzU4MzBkIGxlZ2FjeS10cnVuaworMTE3NjYgZmJiNDUwNjBiZTAzMjQzY2Q1M2MxNzgxYmIyYmU1OThiM2Y1ZjE1NyBsZWdhY3ktdHJ1bmsKKzExNzY3IDcyNDQxMTEzMjQzYTg1ZTBhY2FjZGU5M2ZkMWZhMWE5ODM2YjExOTQgbGVnYWN5LXRydW5rCisxMTc2OCA1MGQ5ODUwY2M4YzNiMTRiMzQyZDJiMDI5MGNkOTliYzQxNjhkYWZmIGxlZ2FjeS10cnVuaworMTE3NjkgMmM2ZGQwZmE0ZWI5ODdiNmZkOTc3NDI1NzNlZmE1YThjNTI0ZTM2OCBsZWdhY3ktdHJ1bmsKKzExNzcwIDhmZWQ4Yzg1YzYxYTlhNTdhMGVjMjdlMDI3Nzg4MTI0NTA5YTMyNGEgbGVnYWN5LXRydW5rCisxMTc3MSA4NzkxNDU1NDg1ZTUyY2NkYmQzYTBmMGVmOTFkZjMyMmYzZjgyYWRlIGxlZ2FjeS10cnVuaworMTE3NzIgMmY4OGQ4YWE3MzEwOTNhN2VkZjI0MGMzZWNiNTEyNjdhOTRkY2U3YyBsZWdhY3ktdHJ1bmsKKzExNzczIGYzN2JlMGM4MjJkYzJhZDQxYWRkMGFkNDFlMTY3OGI2ZTU3ZTE2MjEgbGVnYWN5LXRydW5rCisxMTc3NCAyODRiZjk1ZGFiODBhMWY4ODA0ZDFjMjFjNjUwMzM2YWE5OWIzMzRiIGxlZ2FjeS10cnVuaworMTE3NzUgYzM5MjE4YTY4ZGYxZjM3NmQ5MTg1MWE5ZDM4ODM2NTdjYTZlY2ZhNCBsZWdhY3ktdHJ1bmsKKzExNzc2IDUzYWI4ZDBiMGQ2NDRlMTFmZDIwOTM5MGRmNGY2ZmU3OTBhNGI3ZjQgbGVnYWN5LXRydW5rCisxMTc3NyBmZTdjYmQxMzA4NmMzYTQ5MGU4M2FjNTM5YzE3MTM2NTBjZGI4YjM3IGxlZ2FjeS10cnVuaworMTE3NzggODA5ZGNjMWJiYzIxZGNkMzUzZjg4MjcxOTQyOWVkZDdmY2RhYmNiYSBsZWdhY3ktdHJ1bmsKKzExNzc5IDRiOWM0Y2U1OTk5YzkyYjdiMTUzZTQwOGIwN2MwNWIyZTk3ZDQwZDIgbGVnYWN5LXRydW5rCisxMTc4MCAwYTZlZDM4NGFmMDZhNTcyMzAzYjFhMWZlMjdkMTM3MjEzNzczNGY5IGxlZ2FjeS10cnVuaworMTE3ODEgZmFhMzFiMWMwYjU0MDU3MjliYTNmMDE3YzNiYWUyOTgxNDFkZDQ3NSBsZWdhY3ktdHJ1bmsKKzExNzgyIDUxNTZjZjhlNDI2OTFhZTVmYjExZDJhZWY4ZmYyYjQzNTQ0YTI3ZDEgbGVnYWN5LXRydW5rCisxMTc4MyBiYzUxNTA2NTJlZGNhZDcwZTZkNGQwNjY3MTMxYmVlM2ZiYTQyYjc4IGxlZ2FjeS10cnVuaworMTE3ODQgZWMzZDJiMzc1NmQ3NmQ5NWE0ODgxZmI4NTZhMmQ0NDg0M2FlOGNmOSBsZWdhY3ktdHJ1bmsKKzExNzg1IGE2Y2ZmOWMyOTBlNTI2NDVjMTMxMTBjNzY4MzBlNjM3NzQ4NzMxM2UgbGVnYWN5LXRydW5rCisxMTc4NiA1ZDM0NDcxMGZjYzNkNmEyMzc2ZGI0NmJhYWRhOTc1MzA5NmVmNTQzIGxlZ2FjeS10cnVuaworMTE3ODcgMjM0MGY2MTVkYThmNDM5NzA0NmZmNmQyN2ExM2YxNmQxZjM1ZTM5OCBsZWdhY3ktdHJ1bmsKKzExNzg4IGJjMzFkOWY2ZTBhMTRlMzYyMzE1YjNkMjU2OWM4OTA1ZTFhMzUxYWEgbGVnYWN5LXRydW5rCisxMTc4OSAwMmYzNTA0YjM5OGRmNDc2NmE1MDY2YTZlN2E2N2Q5Zjc0YjcxYjY2IGxlZ2FjeS10cnVuaworMTE3OTAgMGE2N2RiNDdlMWQwZTQ2ZWQ3Yjg2NGJlOTgxNzgxMGFiMTJmOTgwNCBsZWdhY3ktdHJ1bmsKKzExNzkxIDBkZTY2MmNlY2FjZmNhYWU5ODUwMTExMzUwOWY0NzFiN2ZhZDc3OTEgbGVnYWN5LXRydW5rCisxMTc5MiBhMWNhMDg1MTY4ZmM4MTE0MGNjMTFkZDY3ZmU3ODM4NmVkZTgyZjRiIGxlZ2FjeS10cnVuaworMTE3OTMgZDY0YjRjYzgxYmE2MmQzMzlmYjVjNTZhYThiYTQwYThjNzIyMTUxYiBsZWdhY3ktdHJ1bmsKKzExNzk0IGQyOGI0OTFmNDU1NTZhYTA1MzdkMGVlZjAzYjYyYmExNDdiN2ZiYjkgbGVnYWN5LXRydW5rCisxMTc5NSBhMjM5NzI1NWE2ZDMzZjVkMjRkNTI1ZTQ2ZDQ4YmVkMWZhZDAxMzI5IGxlZ2FjeS10cnVuaworMTE3OTYgZDY0MjAwODM0YTZiNGFmNDZjOTJhZTgwMGE5ZDcxOTcyNmNlMmVmMyBsZWdhY3ktdHJ1bmsKKzExNzk3IDY5MDM0ODI0MzgwMDFjNTgzMWQ3OWRlYzRkYzUxMjRkZTkzZDc3Y2MgbGVnYWN5LXRydW5rCisxMTc5OCA0MTQxMjhhMTViYmQ5ZjRkZTZmYTZiOWRlYjQ4YWNjZDNmODUzYTM2IGxlZ2FjeS10cnVuaworMTE3OTkgMjQxZDAxMmU4MmRjZTU4ODE4YzMzMDE4MzgwN2MzYjY5NWM4ZGMzNiBsZWdhY3ktdHJ1bmsKKzExODAwIDNiNmM3ZTcwY2FmZmY2YmRmZGY2YjcwYWE1NDY4YjkyYTdlODIxYjQgbGVnYWN5LXRydW5rCisxMTgwMSBjYzNlMTQ4MzczNzk5NjNkNWE5ODZlNjNiZjZjMjBkNjE0MDM1MGFkIGxlZ2FjeS10cnVuaworMTE4MDIgMDgzZWZhMDc2MzY2MTBmODlkODNkYzQ4MjM5YTk4OTY1NDAzOTY3ZCBsZWdhY3ktdHJ1bmsKKzExODAzIDc5NDM5ZTRlOTk3Njk1OGEwZDRjYzgzMTE0ZmNiNGNlNDU5NDlkOTggbGVnYWN5LXRydW5rCisxMTgwNCA5MjhlYTVhNDA5ZTUzNTFkNDY0NTZlYmJkM2E5YmE3YTZjMjljMDUxIGxlZ2FjeS10cnVuaworMTE4MDUgMzRlNDIwMmVkZTIwMWQ3ZDljMDQ0Y2QzMDc0YWNlZjcxZjQ0MjA3YSBsZWdhY3ktdHJ1bmsKKzExODA2IGJkOWQzOGQ2NDM2OTRlYzUyMzdiNTU5YjRhZGYyN2JhOGQzYzJhNDEgbGVnYWN5LXRydW5rCisxMTgwNyA1ZGI2NDdmZWRiYTAzM2NlY2VhMDQ0MGEyODcyY2MzYzM2NTBiOTQ4IGxlZ2FjeS10cnVuaworMTE4MDggNDhjNjE1ZDg0ZGE2NmRhYjg0MjYxZDQxN2MwMjQ3NTVlYWViYzE4MCBsZWdhY3ktdHJ1bmsKKzExODA5IDVlYTg4MzZkOTY3MDBiOTJhZWVhZjE2YjY3MDZjZDI0NTBhODg5NWEgbGVnYWN5LXRydW5rCisxMTgxMCA0NjdkZjYxZmZiZmE5NWZlZTZjMzk3NDA1MDFkMGE4M2E4MDI1ZTI5IGxlZ2FjeS10cnVuaworMTE4MTEgNDE2Yjc3YjgxMWM1YjgzMWIzOTU5ZjcyNDUxN2EzNzk4OTEyYjY2NCBsZWdhY3ktdHJ1bmsKKzExODEyIDc4NDg3ZTcwMTY4NmQ5NDFkMGJjNGJhNjY2OWFlMGJmY2M4Nzg0NmMgbGVnYWN5LXRydW5rCisxMTgxMyBmMzNiMzk0ZTVkN2ZjYmMzODU0MWViOTU4ZWY0OGRhZWE1M2FiZGVmIGxlZ2FjeS10cnVuaworMTE4MTQgMDAzYjQyYzlmMjRkMjEwODI3ZmRmYjBiMTk4YTkwMDMxNTg2MzdkMSBsZWdhY3ktdHJ1bmsKKzExODE1IDhhMjZlNTVlMThiODEyZGJhZWM1ZjEzOGFhN2E2NGRmYjJlNjczM2QgbGVnYWN5LXRydW5rCisxMTgxNiA4OTE4ZTRmNTRlY2E4ZDE2NmE0MGE0Nzk3MmFjYzIxNmQxNmQxYThlIGxlZ2FjeS10cnVuaworMTE4MTcgOGU5ZDk3OWRkZjU1MGIzMDIyNTk5NDNjNzA1NzJkZmMwM2FiOTM4ZCBsZWdhY3ktdHJ1bmsKKzExODE4IDQwZDIxYTViOTk5MDE1NmIwNDhjNzkyOThmNzc0MGQ3M2EwZDg4N2IgbGVnYWN5LXRydW5rCisxMTgxOSA4NGUyMWFjN2QzZWEzNThjZDhmNmZiNDIxMmU0OTI5ZGE0MmM4OWZmIGxlZ2FjeS10cnVuaworMTE4MjAgMTUwOTA3YzJjMmMwODI3OTczMDJjZWM0YWMzZjQ3OTIxODFmOWM2YSBsZWdhY3ktdHJ1bmsKKzExODIxIDk1OGU0ODg5ZWNhYjU2ZTM4M2U5ZDIzMWMzNmQ3YjZjNDJlZmVjZjcgbGVnYWN5LXRydW5rCisxMTgyMiBjYTZlMjI3M2ZiZjYyNzU0ODBhMDRlNTY2ZGIwMDA5ODliMDg3NjUxIGxlZ2FjeS10cnVuaworMTE4MjMgM2I5MTQzMmJhMWE0MTMxNTZiMzdmMjZiMDFlZDRlZDM4YTlkOTMzMyBsZWdhY3ktdHJ1bmsKKzExODI0IGM5MWU0ZDg3ZjY5NDY5NzE1YWY1ZTM4MjJmOTc1YjRjNGQzMzJlMTkgbGVnYWN5LXRydW5rCisxMTgyNSA4MTU3NGU0NjQ2YjQzY2FkZjE4M2MwMDg2ZDU2MmM4MjRjODBmNmRlIGxlZ2FjeS10cnVuaworMTE4MjYgN2YyNDJmMjlhNDVmYThhMDAwN2I4NDk0YmExNDBmOTM3NTI5NzdlZiBsZWdhY3ktdHJ1bmsKKzExODI3IGZkNWE0MzA5YmZkYzJkNGFmODI1NDg2YWVmZjVmZjEwMDI2OTYyZTYgbGVnYWN5LXRydW5rCisxMTgyOCA3NTIzN2NhNTZhZmYzNzU1MmI2ZGFlODAzYTY3ZTU5OGM5YzI1OGRhIGxlZ2FjeS10cnVuaworMTE4MjkgNDYyY2NkMGJiZTUwYWM2OTJmZDNkOGZiYjg1NDcwZmIwNzQxYjIxMyBsZWdhY3ktdHJ1bmsKKzExODMwIDkzNDBjYjJhZDNhODg3NGY5ZGZlZTg5ZGQ1YWNlZmIxNzhlNDNlODggbGVnYWN5LXRydW5rCisxMTgzMSBiNjA1ZjIyYTA5OWFhOWM2OTZkOGM4ZjFkZjM1MTFkYTAwOWUyMDI1IGxlZ2FjeS10cnVuaworMTE4MzIgZjRkY2I5MGFjNDE5ZjY5ZWEyMGZkOWQ3OTkyZjQwN2YwM2E5MDU1YyBsZWdhY3ktdHJ1bmsKKzExODMzIGZiMmU3ZjM4ZTFiYmU2OGFiYTg5OTlkMmU3ZDUzY2JkOTYyMjdkMjcgbGVnYWN5LXRydW5rCisxMTgzNCAwNDFmMjJhNWEzOWRkOWIxZTMyNzMwYTM3YWI3NzYwZjg1ZmNkN2U3IGxlZ2FjeS10cnVuaworMTE4MzUgYmEzMjc3Y2QzMDY4NWY1MmNjOTlkNjMxOGI1NmM5OTc2NTIyYzJkYyBsZWdhY3ktdHJ1bmsKKzExODM2IGQ3NDBjOTYxM2JiYTdhMWFkZGEyNjRhYjY2NTRlM2MyN2Q3ZGE4YjggbGVnYWN5LXRydW5rCisxMTgzNyA3MGIzMmY0MWE3ZmJmYjM4ZWU1NzI5NDYyOTE2MTg0NDA0ODNhNGQ5IGxlZ2FjeS10cnVuaworMTE4MzggNWEzZDIxMzAxYTA1MTQ1YWYxMDAyOTIzYjVhZWI2MzY5ODc5OTFkNSBsZWdhY3ktdHJ1bmsKKzExODM5IGVmNjhmMGU2MDllMTk4YWJlN2E4OGQ3Y2I0MTI3ZjdlZmQxZTBiMWMgbGVnYWN5LXRydW5rCisxMTg0MCA0Zjc4NTA0YTVmODFkYzc2YmZiODU4YTA3NGQyNzIyYTkwYTI5ZTYyIGxlZ2FjeS10cnVuaworMTE4NDEgNTBhMmQ2NDI3NmU0YjEyNmVmZTA4NTIxNjExMzQ0OWVkNDVkYjFlOSBsZWdhY3ktdHJ1bmsKKzExODQyIDIzMzYzYmI4YmQ5MGNmMTlmZTdlNDRlOWZjOGVjNzczYTlmYzUwMzMgbGVnYWN5LXRydW5rCisxMTg0MyBlMTZlMzYzZTM5MWI0MzNhMzg3MTA3YTJkY2I5NjMzOThiZjgwOTMxIGxlZ2FjeS10cnVuaworMTE4NDQgYmM5YWVhNzE4ZTRlMzJlM2Q3MWI5YjMzZmI0NTcwZTljZDIzMWMwZiBsZWdhY3ktdHJ1bmsKKzExODQ1IDY2OTA4MzhiYThkYTYwZTRmNWM0ZjAxODZlZTJmYTI0MTZlNDdiMzUgbGVnYWN5LXRydW5rCisxMTg0NiBiZjg5ZjE0MzViNzI4Y2QwZWUzYmRlMzhlOGQwMDg2YjYyZTAwZjJiIGxlZ2FjeS10cnVuaworMTE4NDcgNDQyMmJhMzg5ZTQxNTcwYjcyODBlOTYzODY1MjA5YjMxNWE5MjIwYSBsZWdhY3ktdHJ1bmsKKzExODQ4IGZkYzNjNDU5ZWQwMGFmYzI4MTRmMDc5ZGQ1Yjg2ZTFkNTk0ZWEwNWMgbGVnYWN5LXRydW5rCisxMTg0OSBjZDE5YTdkYjg3MzU2Y2ZkY2NkNzA2MmVlZDZiYmVjOWEyNDkwNGRiIGxlZ2FjeS10cnVuaworMTE4NTAgNjViMDg4MmE0NGFiY2Q5YWQ2YzVhMmIxZjg4NTkzNTI5ODBjMmRhZSBsZWdhY3ktdHJ1bmsKKzExODUxIDYxZjQ1ZGQ3YzQzYTUzMDQ2ODhjMzQ2ZmVlYzE4MmE1NTg5NGFkYTMgbGVnYWN5LXRydW5rCisxMTg1MiA2YjVmN2U5YTMxY2I5ZTZlMDM3NTM3ZjRkMTZhMWFhMGU0MDFjNzA1IGxlZ2FjeS10cnVuaworMTE4NTMgZjBhM2MxZmM3YjkwMjRlZmZjM2Q5MTlhNzlkNTBmZmNiODE0Nzc3YSBsZWdhY3ktdHJ1bmsKKzExODU0IDZiODg5ZTRjMDc1NGUwMjA5MTRkYmI3N2Q3MDcyZmQzZWZiMDdjNzggbGVnYWN5LXRydW5rCisxMTg1NSAyZmU3YmJlNzFkZDhjMGEwMmIxZWRkMTg3MGJmNTQ0OWQwMTU2YzQ3IGxlZ2FjeS10cnVuaworMTE4NTYgZDFlYWRhOWJiYzNjN2EyN2Q4M2NiOGY2MGFmZDI1NTE5MTU4ZjIxMCBsZWdhY3ktdHJ1bmsKKzExODU3IDRjMjNhZTZjNmU4MmM2MWNlYzdhYTlkNThmMTNkYjk5YTY0OTcyNjAgbGVnYWN5LXRydW5rCisxMTg1OCBiMTAwNGI0N2JhYzBlNzI5NmY1ZDE1YjJhZmUxNjUxZDEyODBhNzIwIGxlZ2FjeS10cnVuaworMTE4NTkgNTBlMDYzMWNmMTE3Mjk4ZGQwYTEzOGFkM2Q1NGFjMWEyZWNkOTNlNyBsZWdhY3ktdHJ1bmsKKzExODYwIGYzNTFjNjRjODJlZGI4NjQ4NjU1MmFmOWIyOTdlM2VhYWY0NTNhYmEgbGVnYWN5LXRydW5rCisxMTg2MSA5ZjEzNWIzZDlhNzgzMTVkOWIzMWU2ZWQzOGJkMzczNzllYWYzNzgxIGxlZ2FjeS10cnVuaworMTE4NjIgYzgwMzIxYzMyOGI1ZDBkOWI0MDFkMzQ1YjdkZmMxN2RiM2RkNTczMSBsZWdhY3ktdHJ1bmsKKzExODYzIDk4MWRkMjBiYzcxMTYyYmYwM2M4OTYwNWJkODJhOWQzNDMwZGZiYjAgbGVnYWN5LXRydW5rCisxMTg2NCBmNjgxOWI5MjZmYjJjNjYxMzFiZTZmMmFmODkxZmI2YjkwZDEwNjE2IGxlZ2FjeS10cnVuaworMTE4NjUgZjA0Mjg4Y2NmNzdiN2IzMmJjYzUzZGYyOWEwODc3MjRkZWE0ODhkMSBsZWdhY3ktdHJ1bmsKKzExODY2IGE2ODA4YmNmOGFjMjliNGNiNWIxOWZiNjExZDM1MDM1YmJkZjgwMzQgbGVnYWN5LXRydW5rCisxMTg2NyA3YzNiZWEwMTE4OTU4ZWEzNjM0NzEyMWExNDQ2MmU4YTk3MWZjODI5IGxlZ2FjeS10cnVuaworMTE4NjggMTA2ZmFmMzY2ZTNmMDdlZmExMWM4YTc4YzllNGI1OWJkZmE1ZTNlNSBsZWdhY3ktdHJ1bmsKKzExODY5IDZmZjA5NDhmZjk1MWM3YWJjODU0NGE4Y2M4ZmI0YzVlZWVjNjQ5OTIgbGVnYWN5LXRydW5rCisxMTg3MCAyMjlmNzNmMmM4NzhmZTNkMjE0OWYwM2EzZjc1ZmNjYWIwZWZjYjU1IGxlZ2FjeS10cnVuaworMTE4NzEgNDgwNTY3MzEwMTk0Y2EwNzY1Njk4MWEyNTFiZjMwZjM0ZDU0Yjk5YSBsZWdhY3ktdHJ1bmsKKzExODcyIDliZjQwZWYyMjdjOTJiNmI0NGM5NmRiZjUyYjM1YzgwNTM3YmU5YTIgbGVnYWN5LXRydW5rCisxMTg3MyA0MmEwN2JlZjYwZTAyYzczYTkzMDA1ZTM2ODM0MDZmZjg2NTkxY2FkIGxlZ2FjeS10cnVuaworMTE4NzQgYTRiNGJhNWM0YWEyMTFiNjdmNjNjN2Q2NDQ0MTMxYzY3YTUxODQ0MyBsZWdhY3ktdHJ1bmsKKzExODc1IGUxODAyNzEzMGJiZTIwZDM0ZTYyZmU2ZTdlZTNlYmQ0NGQ2ZWMwNTIgbGVnYWN5LXRydW5rCisxMTg3NiBiZmE3ZWQwYjFhNmJkMjBlNDQyMGU1MzRkMGZlYWNiNDBlZTNkZjZlIGxlZ2FjeS10cnVuaworMTE4NzcgMDliNWNiNDc1OTJkNDRhYmU3ODRmYTI5NzVhNjZmYWNkZjEwNmRkZSBsZWdhY3ktdHJ1bmsKKzExODc4IGFmZTUwYjY2MTU0OGM4ZDI3NzNkNzVmZTg1Mzc5NzRmNmM4ZmIzZDAgbGVnYWN5LXRydW5rCisxMTg3OSA4YTM0OTMwOWZkZjQzMzE5MGRkNjBjMzYxODhiYzYzY2Y3NWEzYTQzIGxlZ2FjeS10cnVuaworMTE4ODAgMmIzNDQ2MWJhNGEzYWNlYTY2OGJkYjVjMWM3MjdhNDMzZDM3MmUwZSBsZWdhY3ktdHJ1bmsKKzExODgxIDY0Y2ExMTU2ZWRmMTkwNjc2OTQzMzZmZjlkMDNjZTA2YTNiY2Y4ZDQgbGVnYWN5LXRydW5rCisxMTg4MiAwMGIwNmNjNWI5ZGExNzgxMTRjNWY0M2NlYmI0YWZkZjU2Mjg0N2U3IGxlZ2FjeS10cnVuaworMTE4ODMgZjVkMzk3NGQyMDlmMzNiOTJmMTMzZWY2NWQyZTQwZDAyNGRmZjZkMCBsZWdhY3ktdHJ1bmsKKzExODg0IGYxMGM2YTc0MzhmNWNlMTM5YzFiMTM2YmQxNTA5ODU3ZTc2ZGI1MGIgbGVnYWN5LXRydW5rCisxMTg4NSA5ZGQ2ZjQyOTY0NzlmYmY3Y2E3NDUxOWE4YjU3YzM4OTA1MmE1YzlhIGxlZ2FjeS10cnVuaworMTE4ODYgNmNlMGNlNGVhM2MxODQ3ZDVlY2FjMGZkYWY5NmU0Mjc5NDc4NWJkYyBsZWdhY3ktdHJ1bmsKKzExODg3IGE5YWU5OWY5MjE1NDAxODc2MzlkNmE5ZGNiMWVkN2RiNWUwZDljYWQgbGVnYWN5LXRydW5rCisxMTg4OCAyMTFjOWUyODM0NjZmNmU1YjJiYzQ4ZWIyMWY5MjYxY2M0Njk5NjkxIGxlZ2FjeS10cnVuaworMTE4ODkgM2Q5YTBhM2U1OTZiMjhhYmM5M2Y5ZTgzOWE5NzcwOTg3NmU3NGNiYSBsZWdhY3ktdHJ1bmsKKzExODg5IDIxZDcxZjJlMjcyNDhhMGY0ZTM5M2QwZmMzMjFlY2Y5Yjg5MzIxZDIgbGVnYWN5LXRydW5rCisxMTg5MSAwOTRjMzg1YjU2MjQzMTM2YjU5MzJlNTEzMjRkMGViNTRkM2IyNjMzIGxlZ2FjeS10cnVuaworMTE4OTIgOTdhNTQzYmY5ZjlhNjQ0MDFlNTg5ZTNlNGExODlmOTIxOWJlNTE1ZSBsZWdhY3ktdHJ1bmsKKzExODkzIDg3YzgyNWVmNzg3OGRhNmUzNmQ1YzM2NTUyZmYwZjljNTczMjkwOWUgbGVnYWN5LXRydW5rCisxMTg5NCA4Y2IzODhlNzFkZDkwNTA3NWU1ZDVkZjQ4NDQyOWZjYTE3YWZiYmZiIGxlZ2FjeS10cnVuaworMTE4OTUgYjA0NjVhZWIwZWZjZTMwMzBhNjFlNjAxOThhNmI4ODMyNWE3YmE1MCBsZWdhY3ktdHJ1bmsKKzExODk2IGMxOWU5YWMyYjBjOGM5OTc4YjMzNDMyMWI4ZDhiYzJmNjZjZmRkYTMgbGVnYWN5LXRydW5rCisxMTg5NyAzYmZmNjczNjliMTEwODU5ZmU5N2U0ZDQ2YzgyMGQzMTY3ZDRhNGM0IGxlZ2FjeS10cnVuaworMTE4OTggZjM2NzA5MjViMDk4Yzk2NjY3NGQzOWVjYTNlMjJjY2JmMTQ3NjRkYyBsZWdhY3ktdHJ1bmsKKzExODk5IDljY2FlY2QzZGVhMzJiZTY2NDg3MmZkNDk3ZmNkNDBlMzkwNTczZTkgbGVnYWN5LXRydW5rCisxMTkwMCA1OGEzNWU1ZDEzY2M2MjcxNjI0NWZhMTBhNjUyOWExZDQ1MTVkYjZmIGxlZ2FjeS10cnVuaworMTE5MDEgZjUwYjljYzc2YzFlNmQ5MTczNTk5MTdmYjc0MzE2NDRmMWFiMmM3NCBsZWdhY3ktdHJ1bmsKKzExOTAyIDM4ODYxNjVkYmE0MjY3OGM1MmRkZWMwMjUxNzZmN2Y5ZWM5ODZjNjMgbGVnYWN5LXRydW5rCisxMTkwMyA2M2VjZjdhNGMwNzBlYzliMzMwY2VhZDFkMzcyNGY3NGQ1ZGQ0MjU4IGxlZ2FjeS10cnVuaworMTE5MDQgZWU5OTJiMzEyMGQzYWVjZTVmYTM5NjEwYTQyZmUyNWQyNzQ1ZWJhZiBsZWdhY3ktdHJ1bmsKKzExOTA1IDlmOWRhMDE4OWI3YjRkZWUxMzQxZWYxZWVlNDQyNzhhZjNlMWU0NWEgbGVnYWN5LXRydW5rCisxMTkwNiA0NGM1NDY4ZjhkMzY0NTM1NjE3YzNiNWI4MjBhNjAxZDExODE0ZjAwIGxlZ2FjeS10cnVuaworMTE5MDcgNjIwZTAyMjUwYzgwYmM2MDkzMzYyNWJmMzI5NDA1NDg0YzY5NjQ2MSBsZWdhY3ktdHJ1bmsKKzExOTA4IGZiY2E0ODYzMjdjZTFjMTRiMDk4YWUxNTU3ZTAxOTdkOTNlYmUyZTQgbGVnYWN5LXRydW5rCisxMTkwOSAwMzc5ZWI3YmUzMjNlOGU3OWIxMTQxNWNlNDJkNjA1ZmQwMDc3MjMzIGxlZ2FjeS10cnVuaworMTE5MTAgZTcyNTRlMmYyZGMxY2QxMWYyNzVhMTYzYjNjODMyMjQ4NDI0MjhmYyBsZWdhY3ktdHJ1bmsKKzExOTExIGMwM2ZmZmYzODdmOGJkZDQyNDUzYjFmOTlkNDAyMmEwNTBiY2MyMzQgbGVnYWN5LXRydW5rCisxMTkxMiA3YmE3ZmJlYjg4ZWMzYWRlZjI1ZGVhYzZiMzZkMWMyYTMxN2E2MWY3IGxlZ2FjeS10cnVuaworMTE5MTMgMDEyOTk3YjlmMWViZDEyNjU3NmJiZTExZGQyOTdjZDU0NmQxY2FiZCBsZWdhY3ktdHJ1bmsKKzExOTE0IGU2ZWEyYmM5NzRlMjZmYmJmMzc0MTUwNTU2MTkyY2Y1NDk0ZDZiNWQgbGVnYWN5LXRydW5rCisxMTkxNSBmNmY4NmIzN2YxZmMzYjlhNGUwYzE1NTg5YmIyY2I5YWI5ODg4NjlkIGxlZ2FjeS10cnVuaworMTE5MTYgM2I4YjMxZDJjOWNhMzExZmU3MmYzNmRiMWU2Y2IxODU2NjIwZTJkYSBsZWdhY3ktdHJ1bmsKKzExOTE3IDhlNGZkYjBiMGJiOGU1OThlNGE5YWVjNWM0YzY5MTc2YWYyNWYzZTQgbGVnYWN5LXRydW5rCisxMTkxOCAwMmIwYjg0ZGQ1NDVlN2JhNWViNjdiZTkwOGJhNWZiZjc2NTA3MTQ5IGxlZ2FjeS10cnVuaworMTE5MTkgMWE1OWYzNjU0YmMxMTNhMzk5NjAxNzZjNTZjYjVhY2JkMGU1OWRlMCBsZWdhY3ktdHJ1bmsKKzExOTIwIGUxODA2YjI4MGY1MzkzY2RkYWYzYzUxYTQ1NjdkZjk0NzY4ZmY0N2MgbGVnYWN5LXRydW5rCisxMTkyMSA3ZjhmNjA4YWNkYmNkMzcwYTdjMTQyMzMwZDM3M2RmNmFjYjJiY2FlIGxlZ2FjeS10cnVuaworMTE5MjIgNzkyY2Q3YzVmZDg4YWQ2N2Q0MTQ0NDhkNTY3MDNjYWViOTQ2NTVkZiBsZWdhY3ktdHJ1bmsKKzExOTIzIDkwZmJlYzQzNDNkZWM2MmZlYmJmZjc3Yzc2NmU1YjY1Y2M3Nzk4MzMgbGVnYWN5LXRydW5rCisxMTkyNCA3NTY3ZWY0MGRlNzdjYjdiZTk1YTk2NGQxMGYzNTBkMTVjODE0MDZjIGxlZ2FjeS10cnVuaworMTE5MjUgMWM5NGYzNGI0OWUzZjc0YzM1YTA4NTc2NGM0YTk4N2ViYjM2YzJhYSBsZWdhY3ktdHJ1bmsKKzExOTI2IDMzN2FlMTJkODA1MDA3YWQxYzZkZmFjNmFkN2RhYzJiNDU1MTg0NGUgbGVnYWN5LXRydW5rCisxMTkyNyAyMmMzMmRkNjNmZjVkNzdjZDc0MWRkMTdkOTIwZWQwNzcxNTlkM2FlIGxlZ2FjeS10cnVuaworMTE5MjggODdiOTU1NGM1MWQ0YmE2ZWE1NzgwOTIzMDk0ZGJhMzViZDJkZDgxNCBsZWdhY3ktdHJ1bmsKKzExOTI5IGVkZjc1NTNmYjIwZWZlZGVmOWI5MDE5ZDA0Mzk3NGZlNzFiZDU5YzEgbGVnYWN5LXRydW5rCisxMTkzMCA5ZWE1YzQyZGNiZWRiNWMzZTE2NTY0ZjYwMjE5MzBmMjg0MDM0ZjY1IGxlZ2FjeS10cnVuaworMTE5MzEgNGY2ZjczMGQyNTU2ZGJlOTMxZTBlYWI4NzBiNjcyMDgyNmExYWRiZCBsZWdhY3ktdHJ1bmsKKzExOTMyIDYzZmU4NTczNWJkY2Q5NTRkMWEwZjQ0NWJkN2E0NGNhMjEyM2Y0YjMgbGVnYWN5LXRydW5rCisxMTkzMyA0OTYyM2RhM2M2M2YzZjUyZTJkNTc3OWFhMmQ0M2VkMmFjZWU0YjQ1IGxlZ2FjeS10cnVuaworMTE5MzQgYzYzNjY4OTNjZWUxZDk3NjBiNTM2MTZlMzhhYjc3MjBmNzVlYTc3YiBsZWdhY3ktdHJ1bmsKKzExOTM1IGNlYjg3ODc5NjEwODE2OTEzOWQ0ZDM3MWIyOGY2YmFmOThjZDY4MzYgbGVnYWN5LXRydW5rCisxMTkzNiBlMWMzMzA5NDMyMjFlNWQ5OWRmMjNhNDJhMDk1ZDJjYmQ1MDZlMjA1IGxlZ2FjeS10cnVuaworMTE5MzcgZjhkZGQyMzQwMzk4ODlkOWNmZmY5NWM3ZDBhMjFhMGNhYWUyZjE1ZiBsZWdhY3ktdHJ1bmsKKzExOTM4IDkxM2ViMzFiMDMxNzIyMTI2NTFlN2NhYTg0ZDA4YzVmNGJiZGU4MGIgbGVnYWN5LXRydW5rCisxMTkzOSAwZmVhNWQ1YzRmZDlkYThkNzgzMTQ3NjkxNTIzNGUyNGI4NGFmNDE1IGxlZ2FjeS10cnVuaworMTE5NDAgNTYyMTdlYWJjMDdhYjRkNWM1OTgzMmEzMjBhN2M5N2U0ZTUyODY1MiBsZWdhY3ktdHJ1bmsKKzExOTQxIDRiZDUxMjhlNWVkNDM0NGVkMWIxNzg2MGE3NmZjNjBiNDdlYTUyOWEgbGVnYWN5LXRydW5rCisxMTk0MiAxODgwZWFkMzIwMGNkNDVmZTJhOTFlZGQ5ZWNiYjYyNzc2ZjgxMTAzIGxlZ2FjeS10cnVuaworMTE5NDMgNDFjODg0ZGZhZDVlZjRiOTk3ZjZjNjVhYjc0ZjQxMGNiZmQzMzk3NSBsZWdhY3ktdHJ1bmsKKzExOTQ0IDI1YjY5MjlmZmIxM2RlMDA1YTg4NjE4ZjBhNzUzYjUzNWFkM2FiMTggbGVnYWN5LXRydW5rCisxMTk0NSBmMjQyY2QxMGUxNmEyNDhlZWNmZjE2NzU0MDg4OTQ4MGUzMjlhZDljIGxlZ2FjeS10cnVuaworMTE5NDYgZDM5MzlhZDM4MTc2NmFhMzAxOWQ2ZjA2NTMzMzY0YjU4YTg4ODMxOCBsZWdhY3ktdHJ1bmsKKzExOTQ3IGRhNzFhYTFiZTE5MWMwMWMzZTg1ZDc5NDg5YjViMjk4YWU0MWM0N2UgbGVnYWN5LXRydW5rCisxMTk0OCBiMzRmOWU3ZTI2OTE0NjU0ZDQ4NjNjNjdiZjQ4N2U2MDA2Yzk4NmMxIGxlZ2FjeS10cnVuaworMTE5NDkgNGQzZTJmMWQwYWU0N2VkYjc1ZWMxMzE3MmJkMTA3NmJhNTBlNTMwNiBsZWdhY3ktdHJ1bmsKKzExOTUwIDhiYzBhMzJkZGFiNWEyMmJiOTZlMjc3MDg4ZjJkMmNhNjZiNjUyMjYgbGVnYWN5LXRydW5rCisxMTk1MSBlNTk5NjI3OWY1OGM3YjMzMWNhMDgzMzM2ZTFlMTU0NjVlZWY0NDc0IGxlZ2FjeS10cnVuaworMTE5NTIgMTdiY2E0YjNkYTkzNTdjZjlkZDlkYjk1NDA1ODk4OWU4ZGFiMWU1MyBsZWdhY3ktdHJ1bmsKKzExOTUzIDFhZmRjNTU4MDE1NzhjZjFjYTU2NzJkMDNjNWUwYjZiODg0OWEyMDMgbGVnYWN5LXRydW5rCisxMTk1NCA1NDQyMmI0NmY2ZDE4MDJjYzkzYzQ3OWYyMjc4MzY3ZmY0ZWI4ODk0IGxlZ2FjeS10cnVuaworMTE5NTUgZTdkOTg0ZjI2NmNjNjFmNmU2YWZmOTZjODRlYjRlMmMyMmQxMjM5YSBsZWdhY3ktdHJ1bmsKKzExOTU2IDYyZTFiY2M2NmE5M2U0MjU1OTU5YTdjMTgyZDYwY2E1ZGUwOThjNzUgbGVnYWN5LXRydW5rCisxMTk1NyA0ZmE4ODEwZTg1Y2FjZjVjZjBlMmRlYTA0YmZiZmNhM2QzMWNlZGUwIGxlZ2FjeS10cnVuaworMTE5NTggOWZmZDYwNDgwN2MyMTY3M2RhMzBiMTQwOTQ4MjhkYTQzOTExZDRhMSBsZWdhY3ktdHJ1bmsKKzExOTU5IDhkYzBlOTdhNDVlYzc1MjA4YzUyYTFkYzA2NjU3NGI5MmZlYTc1NzQgbGVnYWN5LXRydW5rCisxMTk2MCA3OThiMTA0MWQyNjA2ZjA5NDZlOWM1NGZiMGM0MzFmZDhjNDdjODkyIGxlZ2FjeS10cnVuaworMTE5NjEgYTExNWMzZDQ5MmRiMDgzNDc0Y2NiOTk5YTAwMTMyNmJhOTJmYzY4MSBsZWdhY3ktdHJ1bmsKKzExOTYyIDRkZTA5ZWExMGVlMDhlMDIwYjBlMzY0ZWQ3Njk5MTViOGZlMGFmMjUgbGVnYWN5LXRydW5rCisxMTk2MyA2YTI0NGU2NGIzZTZiMmVjMDc2OTRiZmU5YWNhYjQ0ODU0NTYxZDQzIGxlZ2FjeS10cnVuaworMTE5NjQgZmViNmMzODZhYjc3MjY1ODNlNGYwODMzYWMyN2M3NTYyODJlZjVhYSBsZWdhY3ktdHJ1bmsKKzExOTY1IGQwN2JjOGJmMmQ4NDU5M2VmNzkxMDNlODIyZWUxZTNjZjdhYTU4YjcgbGVnYWN5LXRydW5rCisxMTk2NiAxYWJkOTFmOTcwMzMyNWM3NDM0MTU0ZTliNzJmNTE2ZWYwMjlhMzg0IGxlZ2FjeS10cnVuaworMTE5NjcgYzIxODE1ZmEwNzc4ODY2NTA2MTY3NjI0Mjk4YzY0NDZiMTY1YTMwYyBsZWdhY3ktdHJ1bmsKKzExOTY4IGRlMDA5MzE2OTY0OWJiMzBmNmY4YWVmZTMwOGUyNDM4Yjg3NWQwNGQgbGVnYWN5LXRydW5rCisxMTk2OSBhYmYyY2QyNTFiMjRhOWM0OTFmMzg4YmI5ZDkxZmJkODQ2ZmJhNjc4IGxlZ2FjeS10cnVuaworMTE5NzAgM2Y3MTczNDJmMGEzNmRlOTFkNmRjZjMyZDE5NTdkMjAyNjMyNmY1YSBsZWdhY3ktdHJ1bmsKKzExOTcxIGMxZmQ4MTQ2ZjJlOWE3OWM3N2U1ODc3YWJhY2IxNjIwNTI5MTYzNTUgbGVnYWN5LXRydW5rCisxMTk3MiBmODllYTliZjlhNTI1ZDk4MzJkOGQyMWQyNzcwODE2ZWQyNzQ2OWVhIGxlZ2FjeS10cnVuaworMTE5NzMgMWVhNmQyMzU2ZTUyZGE0MGY5NDdiZDIyOTZiZjcxYWMwOWRmODk3MiBsZWdhY3ktdHJ1bmsKKzExOTc0IGFmYTBjZDIxN2Y0ZWJhNzJkYjQxYzE2NWEzMmFiZTJjZDY5Y2YyMzYgbGVnYWN5LXRydW5rCisxMTk3NSBmNmE4NGExYzdlMDJjZmIyYWVmYzIyMzA4YmNjNGE4OTJmZWMzYzE1IGxlZ2FjeS10cnVuaworMTE5NzYgMzlmZmM1OTY3YjZiYWNiMjQ0N2IwNjQzNDI1NzMxMzM0YTY5YThhMyBsZWdhY3ktdHJ1bmsKKzExOTc3IDRhYmNiMzJmN2VmNTRhMzMyZGM0ZGViM2I0ODAzMGQxM2JlOTAyZGEgbGVnYWN5LXRydW5rCisxMTk3OCBlMWU5YzlkZjRmMTJjOGY1MDFkNmMxMDdiYmQ5MTk4YzUzYjI3N2MzIGxlZ2FjeS10cnVuaworMTE5NzkgNjM4NzZjZDk5ODRjOTI2ODFkZmE4MzRiYThlZjM2N2Q1ODQ2ODY5NCBsZWdhY3ktdHJ1bmsKKzExOTgwIDI1YmUwMGYzMWRhNjE1ZDQzNmVlNTkzZjBiOGMzZTBmNjI3YzYxODEgbGVnYWN5LXRydW5rCisxMTk4MiBkODQ3MTU1MjMwOTVhYzI3ZjdiMzk5Mjk2OGIxYzFmMjZlOWZlYTE4IGxlZ2FjeS10cnVuaworMTE5ODMgNmU2YmU4OTZlYzQ2NmU5NDRiMzlkMzY5M2M4OGQzOWJhNjFjNjg5OSBsZWdhY3ktdHJ1bmsKKzExOTg0IGQzOTI4Yjk4ZTJlMTNlOTIzOGMzMTUzNGU2NTFmM2I3M2I1YjAzNGUgbGVnYWN5LXRydW5rCisxMTk4NSA4ZjNlN2ZlMWQ0Zjc2M2MwYWY1MTE0ZjNhZTVjOTYyNmE3ZTM3Y2QxIGxlZ2FjeS10cnVuaworMTE5ODYgYjBjYTJjYTU4NmIxNThiMWQ0YzEwODI4NjljNTEyOWFiM2RjNzYyMCBsZWdhY3ktdHJ1bmsKKzExOTg3IGRiN2NjYTA5YmVhZmU3YjdjMjIxZTgxM2RiMmRlOGQ0NGNhYWZiODQgbGVnYWN5LXRydW5rCisxMTk4OCBiNzVkOTNlYzhlNWE2ZjdmMWIzZTExM2NmOWYyYjA3ZDMxODE4NjQxIGxlZ2FjeS10cnVuaworMTE5ODkgYTNiY2YxYjM2NTUxN2I1NGE5OWZmN2ZkMjgxMGM3MDBjNjZkZDdiOCBsZWdhY3ktdHJ1bmsKKzExOTkwIDk2NDdjNmFkNmE1MDk4Y2U4OTVhZTJkNzI3YjlhYThlMjQ2M2RlMWQgbGVnYWN5LXRydW5rCisxMTk5MSAxODE1MDdjYzFhNzI1OTVhNWYwMDU1NmFhODI3Nzg4MmJkY2VmYzI4IGxlZ2FjeS10cnVuaworMTE5OTIgNTQ5ODMxNzIzZWY4NTc4YTFhYTJmMTFjZmRlM2ExOTU3NmZmZTlhZiBsZWdhY3ktdHJ1bmsKKzExOTkzIGVhYmViYzE2MTUxODZiMWUyZTRmNmRiMzMxN2U2NTAyMmVjZjIxMDMgbGVnYWN5LXRydW5rCisxMTk5NCA1ZDgxZTQyYzZiYTJlOGUwNTk4ODI4MTA0MzIyZWM3N2RkNmI1ZjlkIGxlZ2FjeS10cnVuaworMTE5OTUgOTZjNzM0YWNmODRmNTVjZjkwM2Q1ZWE3OTZiMmZkOGNiOTU2NGE3NiBsZWdhY3ktdHJ1bmsKKzExOTk2IDc2ZTkzNTkyNGZhZTBiNDhjNzg1MWIyOWE3MWNmYzZjYmNhNTJlYTEgbGVnYWN5LXRydW5rCisxMTk5NyA2M2ExYTg1MTNjMWRjZTcwZmVmZTczNzc0MTY1MjRmNGJmZWZhMzRmIGxlZ2FjeS10cnVuaworMTE5OTggNDQzMWU3YTMxOTc3NWJiNmVkYjQ2YjEyYWQ1NzA3M2I1ZjkyMGUxOSBsZWdhY3ktdHJ1bmsKKzExOTk5IDM3Nzc3ZTBmODBlMzc1NTRlZDJiMDdkY2VhNWM5NDBmMjUwYWI1ZWIgbGVnYWN5LXRydW5rCisxMjAwMCA2MGRmYTIxMWRkZThiYWQ2NDg0ZDhhZTE0NDU0NzEzYjQwMjVkMTk2IGxlZ2FjeS10cnVuaworMTIwMDEgZmVjODYyMzAxZDZlMzNjZWFhMmRkNGIxMWM0NDJjYjU1MjMwN2NjZSBsZWdhY3ktdHJ1bmsKKzEyMDAyIGY1OTY1MThkMDY5MWUwMjViY2FlNmNlNzQ3YzgxNzE2MWRiY2RjZjUgbGVnYWN5LXRydW5rCisxMjAwMyAyNDQ5NzY0M2RjYzkxZDE0ZGY2NTJhZWM4NjE4OGZjZjM1OTk4ODlhIGxlZ2FjeS10cnVuaworMTIwMDQgMDQ0MjYyMjQzMDJhYWRhZTRhMjM3NDRjNTFjZDM5YThjNTE4YjgxMCBsZWdhY3ktdHJ1bmsKKzEyMDA1IGNkNzkwMzEwYmM0ZjA2ZjJhMzEwNTQxMjA2NGZjMTJmZDY2ZDcxYTggbGVnYWN5LXRydW5rCisxMjAwNiA2MGQ5OTBmN2Q3YWI1NmFmYzU5YzU1MjhkNGM4N2RmMzczY2Q1NjYwIGxlZ2FjeS10cnVuaworMTIwMDcgNGE3MzQ0ZDU1YWUxODc5NTI4ZDBhODYzYzM1MThlZjYwYzdhNDIwNiBsZWdhY3ktdHJ1bmsKKzEyMDA4IDg1NDQ0YWYyYmU5NWQwNTViMTIzMzYwNWNmMmFkY2MzYjUyNGZmZmIgbGVnYWN5LXRydW5rCisxMjAwOSBiYmU5MjkzMmEwMDVlNTdlMjI4Y2VjMTQyZGE2MWJiOWRlNWZiZjUzIGxlZ2FjeS10cnVuaworMTIwMTAgYTJlODNiZGMxZmVhZWY3M2JhNTk2YWUxZTRjNDYxY2FkNjcxYzdjNiBsZWdhY3ktdHJ1bmsKKzEyMDExIDM1MGYyNDE4MGRjYjQyMmExNGQ3ZjZlYmEwOGIwZDRlZmEwYTRmZDggbGVnYWN5LXRydW5rCisxMjAxMiBhMTI2MTA3YzQzM2E2ZjlhMDdjN2QzNmFkODk5Y2Y5NTVkNGYwMjRlIGxlZ2FjeS10cnVuaworMTIwMTMgOTgzZjUzZjJiNmY2ODNjYjRmYWY5YTBiN2NkYjZhYTYxZmJiNWM0MiBsZWdhY3ktdHJ1bmsKKzEyMDE0IDU4ZjZkYTdjOGJiODk0MjE0YWYzOWY0ZWUxMmM2NWVhMGFmOGRiYjAgbGVnYWN5LXRydW5rCisxMjAxNSBmZTc4Mzk4NGY5MmVhM2EyNDg4OWFmNTRmMmM0ZTBmZTA1YWFhZTdmIGxlZ2FjeS10cnVuaworMTIwMTYgMjMwOTI1ZmU1YjJkZTlkZDZiMzZiMjFlYzAwYmE3MDU4NzhmM2IzZiBsZWdhY3ktdHJ1bmsKKzEyMDE3IDVhZTFhMjBiYmU3MWViNTY5ZTYyMTFjNGQ0YWNjZDlkNjJkNjJiYzEgbGVnYWN5LXRydW5rCisxMjAxOCAzMTVjYzA2YTgxNjE1NDdkZDQ5ZGU5ZjJiMTJjMzJjODU5Mjk4ZTBjIGxlZ2FjeS10cnVuaworMTIwMTkgMGYyNzI1N2ZiNmNmNGY0MTViZDZiM2E2NDA2NzFiMmVkOTA4ZDg4MCBsZWdhY3ktdHJ1bmsKKzEyMDIwIGExYThkZjczYmZmZjUyM2ZlN2M3ZDhkMzk4Y2NiYzkyY2ViMTliNTYgbGVnYWN5LXRydW5rCisxMjAyMSBlZDZjYWNkZGM2YzY4ZTg3YjkwNjFhY2ZmNDUzNjkzZjI5MWQxNDZjIGxlZ2FjeS10cnVuaworMTIwMjIgYzZhMTEwM2VmYThhZjMxZTZlNzlhNjljMGU1ZTFhNDg1OTE1MGY0OSBsZWdhY3ktdHJ1bmsKKzEyMDIzIDQ4YzcwMDQxMDkzNjNiYjE1MTQ5NTQzZWU2YzZmMjAwNWY1ODkzMTcgbGVnYWN5LXRydW5rCisxMjAyNCA3NTA0ZjIzYzkyNDdkOTEwNmU4OWE1NmZjN2QxZDg0M2ZlNjY5MjFkIGxlZ2FjeS10cnVuaworMTIwMjUgZjkwMmVjYzg2N2QwOGQzNGM5YTBhMzlmMDkwMmY0ODQ0OTRjMWFkNiBsZWdhY3ktdHJ1bmsKKzEyMDI2IGUwNTkwNDliMWE3NjIwYzhlMTUzYjQxNDlmM2MyNTZmNjdmZTE0M2EgbGVnYWN5LXRydW5rCisxMjAyNyBkN2QzOTI2MGZlODJkNWZmZTFkNTdiNmNhNjY2NDZhOTZiNGZkNTczIGxlZ2FjeS10cnVuaworMTIwMjggODNmODNmMDAyZDJlYWU1MWZmYjgyMzY4OWNkYjEzOTQxMTY0Nzk5NyBsZWdhY3ktdHJ1bmsKKzEyMDI5IDY4ODYzZjUxMjc2YzA4NTExMDViYzkyNWMxYWRjNzQ4MTJkMGZhNjUgbGVnYWN5LXRydW5rCisxMjAzMCBkZjA3NzdhYjdjNjM4NTRmODYzMzBhZTlhMzY4OTY0ODAzYjI3NmVkIGxlZ2FjeS10cnVuaworMTIwMzEgNzlhOGExYTc0NjdiMTIyZjQwZTE4MmRhYWZiOGUxYTdhMGI4ZDNmZCBsZWdhY3ktdHJ1bmsKKzEyMDMyIDUzMzI1YjhmOGNlOWIxY2QzZWIyNWY4YTc4MmQ5ZDMyNTFkZmZhY2UgbGVnYWN5LXRydW5rCisxMjAzMyA5M2VjYzUxZjU5ZDEyYWYzODNiNTM0YzJmMzE3NGQxMTczNDFmOTZlIGxlZ2FjeS10cnVuaworMTIwMzQgM2U1MGMxZGRhYjNhM2JjYjExYTJjOTBlMDBmOGZiMDgxNjczNWZjNyBsZWdhY3ktdHJ1bmsKKzEyMDM1IGYxN2NlZGE2ZTY2NjkyNTczZDNlZjFlM2EwNWI1NDcwZjUyNDA1NTkgbGVnYWN5LXRydW5rCisxMjAzNiBmZjM5MmRkN2I5NzA5NzQ0YmM0YzQ4M2ExY2YwNmM5YjBlOTEzMDNmIGxlZ2FjeS10cnVuaworMTIwMzcgODdiYmM3MjFiYTJiOTlkZjU3MWY3OGMyYjQwN2FkMGYwYjhlNDA2MiBsZWdhY3ktdHJ1bmsKKzEyMDM4IGFhMmMxYThmYThjZTExMjQ5NDk0Yjk5ODQwOTgwODNlYzNiNDEyMjAgbGVnYWN5LXRydW5rCisxMjAzOSBiOGVjOTc0YWZkNjk1NmQ2NzI1OTI1ODFmNjI3MzA4OWYxMDc2ZTQyIGxlZ2FjeS10cnVuaworMTIwNDAgMTQzN2MyMzM1YjNiNDZhNWU4YzZjMDQ1MzQ0ZTY5MDVhMWNkZDJlNiBsZWdhY3ktdHJ1bmsKKzEyMDQxIDZiYWQ2OWQzODIxNjI1ZjgyOTM4MTE2YTBmNTIxOTM5ZTkyZWNmYmIgbGVnYWN5LXRydW5rCisxMjA0MiAxNmFmMjU4MmM5NjRjY2M3YzVhNWUwNTViMWM2YjM3NThlMTY2NjczIGxlZ2FjeS10cnVuaworMTIwNDMgZDY0MTVjMjdiM2IxYjRiZjBiZWQwMGZlOTBmZjVlZGUzYTU5MjQ1NyBsZWdhY3ktdHJ1bmsKKzEyMDQ0IGFhOTYxYTQ2YWU5ZTA5NzYzYjMxM2E3NWRkNGRkZDVkYWVkMTRlNGMgbGVnYWN5LXRydW5rCisxMjA0NSA2ZTI0OWIxMzVlZDNiMjFkNjlmMTRjYzA2M2Y4MTVhNGEyYmZmNmEyIGxlZ2FjeS10cnVuaworMTIwNDYgODgxOWRlZjFiMzljNmFjYTA0MDFkYjZmODQ2Y2IxZTU1ODA3OGNhYSBsZWdhY3ktdHJ1bmsKKzEyMDQ3IDQ4NWMwYmRmZThhMGUzOWVmY2U1MDliOWI1MDk3ZGNmYWJkYTFlZjggbGVnYWN5LXRydW5rCisxMjA0OCBkNTk0ZTgzMmE1NmNiYzE5MjMzYzZkMmEzNjgxYzE3MzA5Yjg2NzVlIGxlZ2FjeS10cnVuaworMTIwNDkgZGYzOTg1ZWI1ODczYmM4Zjc2M2E0OTRlOGFiNjViMGU2NDQ3NGU4NiBsZWdhY3ktdHJ1bmsKKzEyMDUwIDlhNGY1YmFhODI0ZTdhYmJkOGIwNDQ3N2ZlM2I5Mjk1ZjljMWQ3NjYgbGVnYWN5LXRydW5rCisxMjA1MSAxNjg3OGE0YzI2MGQyMGE1ZGZlNDhmNGQ0Yjk5YTM4ZTk3M2NmOGU5IGxlZ2FjeS10cnVuaworMTIwNTIgOTE3N2M0MDlkYzQ1MTJhMDliMmNjMDgwNjIyZmNlNmQ2MzI3MjdhZSBsZWdhY3ktdHJ1bmsKKzEyMDUzIDIyMDA5MDRhYmRkYzUxMzY1NDRiMGRkMDhkZDZhN2IxMjQyY2U4ZWUgbGVnYWN5LXRydW5rCisxMjA1NCA4M2JiNjA2YTMyZTZmNDQ4Zjk4MDhjYWI2N2FkNDM5YTJjYjQzZWRiIGxlZ2FjeS10cnVuaworMTIwNTUgZjAyYzY1NDllZDFiNTQxN2I0NjIyMzdmYzU1YzQyOWM3OTZiZmJlZSBsZWdhY3ktdHJ1bmsKKzEyMDU2IGZhODY3ZDhlZTdlYmMwMzkwZWQ0NzlmY2IwMWQwZDAzNGQ2ZGRiOTIgbGVnYWN5LXRydW5rCisxMjA1NyBmZWI4Zjg3NjllZjYyZGM1ZmFjMTA5YzhkMTFkOGVmMWQ5ZDNiODlhIGxlZ2FjeS10cnVuaworMTIwNTggMDY3MTdlNTIwNjhmZmUzMDg1NzNlYjUzMDJiMDlhOGRlYTcwZjMzMCBsZWdhY3ktdHJ1bmsKKzEyMDU5IGFlOGUxNDk0NDQxNDdjYWYyZGI1NWU3MGQ0MWVlZWEzY2M0YmQ1YmUgbGVnYWN5LXRydW5rCisxMjA2MCBiYzllNzcyMWM5MTYyMDNmNTMxYjBjYTVjZjY1MTQ5YjZiNzZjM2I3IGxlZ2FjeS10cnVuaworMTIwNjEgZDg1ZDJkOTk0ZjFmNzg5ZjZmYzNiY2ZiZDIzMTE0NTgzMTcxZGU1ZCBsZWdhY3ktdHJ1bmsKKzEyMDYyIGQxM2E2MGI0NGI0NTg3YzY1YjkwOTRhMGU3N2E3N2Q2NjQ4OWZmMDUgbGVnYWN5LXRydW5rCisxMjA2MyBhMDkxMTg1Y2NmYjZiNDU4ZTBiYzU0ODNhYmQ4MjA1M2U2MWZkZWVmIGxlZ2FjeS10cnVuaworMTIwNjQgYWM3NDI4NjJjYTM2Mjc3ODg0MDA0Y2JkYTI3YmE2MjY5YWE4ZjZjMyBsZWdhY3ktdHJ1bmsKKzEyMDY1IGI3MTU4ZGIzNDdkOWI5ZmVlZGY4OWU3OTJhMmRiOTAwZGIzMDMzNTEgbGVnYWN5LXRydW5rCisxMjA2NiA1NTk5MTE3NjhkY2JhZGIyODUzYmVkNzY3MTcxN2M2Y2E1MTU3MWM3IGxlZ2FjeS10cnVuaworMTIwNjcgYWIyMGY1Y2RkNzlmNmU1NGE1ZGFiNGFjM2ZhZWU3MTExYjk3MmJhYSBsZWdhY3ktdHJ1bmsKKzEyMDY4IDVjZGJkOGMwNDAxNmNjNjQ0ZmM2ZTNkYTgwMjg4NjdlNGM3YjE5YTAgbGVnYWN5LXRydW5rCisxMjA2OSBiMDlhOWM0MTJiYTI5OTRhOTc5ZmZkYTVhYTFiMTQxYTAzOTczZDczIGxlZ2FjeS10cnVuaworMTIwNzAgYjY3NzQzNjc1M2E4NzJiMzQ0ZDgzOGRiYjk0NmQ1MjkxYjRkMjVkNSBsZWdhY3ktdHJ1bmsKKzEyMDcxIDhlNmVhNWYwM2U3MzQwY2I3ZmZjY2UwZjU5ZWVmZDMwYTBkMGIzODYgbGVnYWN5LXRydW5rCisxMjA3MiBhYTFlNDgyODVkN2JjZTAwN2E4ZTUwYzVjNTkzYzgxYjZlMTM4NDQ5IGxlZ2FjeS10cnVuaworMTIwNzMgY2RmNTYxN2MyMDIyZDJiNzcxODAwNThhZGMyYmM3ODhmMTRiNzI5NiBsZWdhY3ktdHJ1bmsKKzEyMDc0IDk4YWQ1N2MzOWQyMGRjMWYxMDVhNWE2NDgyNzJhNDlhYjEyYTA1NDYgbGVnYWN5LXRydW5rCisxMjA3NSA4MWRkN2M3M2Y3YjIxZjQ5YjM4ODcyNGNhYzcxZTYyYTEwZDQzOGUzIGxlZ2FjeS10cnVuaworMTIwNzYgMjk5Mjg0ZWU2NjlkZmZmYjdhNGZjOGJjNzQ0NmMwOWFiZjMxYmY3ZiBsZWdhY3ktdHJ1bmsKKzEyMDc3IGY0ZGE5NDQ5ZjAxMTAxZTJkNTc0NjY2NGNkYTllNWVkNDVhNDAxYWMgbGVnYWN5LXRydW5rCisxMjA3OCA5YThlY2Q3NTllMTM0MTFjMmFlMmYwNTFiOThjYmM5YTg1ZjczMTQ4IGxlZ2FjeS10cnVuaworMTIwNzkgNDU5NWVmNWE5NjhhYzUzNmViNjIwZjEyNzRmOGMzYmNkMzRjNjRhMiBsZWdhY3ktdHJ1bmsKKzEyMDgwIDg4ZDU5MGNjMTExNmU0ZjRmYTBhOWE0MDBlOTU1NDA0NjNiNGYxMmIgbGVnYWN5LXRydW5rCisxMjA4MiA2NDgzZGJlMDlmMDYxODhjZTNmYmUxNmU4YzMxYjQyODJkMDQ5N2Q2IGxlZ2FjeS10cnVuaworMTIwODMgZTY2ZTg4ZjUyNjA2NDNkMzgzN2VlODEwYTg2Nzk0MzQ4NzRlNDBkMyBsZWdhY3ktdHJ1bmsKKzEyMDg0IDNjMjk3YTZhZDRlOGJmOTlhOWMxYzc0YzY0ZmNhNmIwNGY0ODI5ZDAgbGVnYWN5LXRydW5rCisxMjA4NSA2MGZkYjFkYjExNzU2NjViOWQ3NTlmMDJiMWRjYWIxMGQwMDRmNTJhIGxlZ2FjeS10cnVuaworMTIwODYgNWE5Y2EyZTkzN2I1YmQ3MzRkZmNkMmU4YTUwNWMzNzViNjBlODVhZiBsZWdhY3ktdHJ1bmsKKzEyMDg3IDM4MDIzYTQyNWU0ODM4MGJlZDdiNjJiM2I3NTNiMDQ1ZjMzNDU2Y2IgbGVnYWN5LXRydW5rCisxMjA4OCAwMWM4ZmU0NDA2NGIzMmRkMmY2ZTczMDRmMzUyOTc4MDQ2OTc5NDIzIGxlZ2FjeS10cnVuaworMTIwODkgNDViZDZjNDBjMDVhZTA1MmZhMDA1MzZkMDcxYTIwMTAxYzQzYTRlYyBsZWdhY3ktdHJ1bmsKKzEyMDkwIDdmOTA3MzY3MDFhMzUwZTMzOTU1MzAwM2MwZWM1YTI2MDI3NGUwNTUgbGVnYWN5LXRydW5rCisxMjA5MSAyYWFmY2VlMjIwYmMwYjc2ODlmODJmNDZlMDljNGY5ZTAwZWJmN2U0IGxlZ2FjeS10cnVuaworMTIwOTIgZjIyZjc2OWJmM2Q5NDIxYzlhOWFhMTRlNjA2NTRkZTc0YzhlYjA3ZSBsZWdhY3ktdHJ1bmsKKzEyMDkzIDg2YmY3MGE1NWVmZGU0ZGU3NDIyYTE2OGFjODQ1NjEyNmUxNTEzOWUgbGVnYWN5LXRydW5rCisxMjA5NCA2MTZiMTc0ZWViNTQ4MzBkZTg0ZTBkZDIzNjA2OWU2ZjEzZmFmN2VkIGxlZ2FjeS10cnVuaworMTIwOTUgMzYwOWNkZGM3OWRmNjEwM2VlNDg0NTk2MDZkNTQ1NjkzZDFlOTdiZSBsZWdhY3ktdHJ1bmsKKzEyMDk2IDU4MzFiYjNjYTQyYTQ5Zjg4YWQ2NjIxOTVlMGYwYTE3ZWIyZGNiN2YgbGVnYWN5LXRydW5rCisxMjA5NyA1NGFhZmU0MmMwYzNmMjAxZWNmNjg1ZTc3MmJmNjRjNGZkMTZiOGRjIGxlZ2FjeS10cnVuaworMTIwOTggMzA3NmZmZjMwNTM1ZjJkMGI1YWI5ZjRmNjA2NTU4ZWM2MTgxMTRiZCBsZWdhY3ktdHJ1bmsKKzEyMDk5IGZjYmYyMjJlNjg5ODFhYTZmNDZkZWNmMzk0NGI0MTA2M2FkNTA1Y2MgbGVnYWN5LXRydW5rCisxMjEwMCAwZjNmOWUzNjYzNTZjN2I4MTE4ODViMjMzYjhkMzdjODExMzM1YmZhIGxlZ2FjeS10cnVuaworMTIxMDEgZDc5ODZiNGI5MTAwOWMwYTIyYzE0MjMzOWNiMGMxY2EyNTljM2U5NiBsZWdhY3ktdHJ1bmsKKzEyMTAyIGM0ZTJkYTQ3Nzk0OTI5Y2UwNWUwYWZhMzhjNDE4NjIyYzgyM2RmYjEgbGVnYWN5LXRydW5rCisxMjEwMyAxZGMwZWYyNGIxNWQzMjAyZTIyOTkxYjQxNWI5NjAxNjhiYTlkMzBhIGxlZ2FjeS10cnVuaworMTIxMDQgNmI1OWY5YWI1ZGIxYTUxMzg0MTkyYjYwYjRlYjBmOWNjNTQ4MjQ5MiBsZWdhY3ktdHJ1bmsKKzEyMTA1IGNiOWUzZjAwZDZiNjU0NzRkZmU4MDNhNzIwNzVlNmE4NzQ4OWM3YTggbGVnYWN5LXRydW5rCisxMjEwNiA4NDgzOTUzYTkyNDgzZDdlYjk1MDQzMWU1ZDQxNDU1MDE2NjQ3MThiIGxlZ2FjeS10cnVuaworMTIxMDcgNWEzNmJhZDFkMjQ4OWI4N2FiZDc3YTFjYmMyMjE5OWVjZGM1OWZmNiBsZWdhY3ktdHJ1bmsKKzEyMTA4IGMxZjk4ODU3Y2M1YmI3ZjYwNzkwMmQ4MzU3MmVmNWMzOTk4MjcwNjAgbGVnYWN5LXRydW5rCisxMjEwOSAyNjc4ZGJmNGFkNjlhMzMwZDZlNGVhZTNhMWVkNDBlMmI2MzExMmI4IGxlZ2FjeS10cnVuaworMTIxMTAgNTcwZmVkNGFiOGRhZjZmYzk3YjY0NTE0YTNkOWU0NzE2ZTkwNDRjNCBsZWdhY3ktdHJ1bmsKKzEyMTExIGFhODhjZmZjMzVhYjk0YTMyYTgxZTlhMTk0N2UyNzAxM2YzZTk4Y2IgbGVnYWN5LXRydW5rCisxMjExMiA1NDI2YmVmODllYzMzOGQwNGQ4ZmZkZDM0NjE4MmIyNDcwZmYxYzNkIGxlZ2FjeS10cnVuaworMTIxMTMgY2U3OWMwZTc0ZjZmZTFmMjkwYmU0OGY2ZmZlOTI4ZmVlYTE0Y2NjNSBsZWdhY3ktdHJ1bmsKKzEyMTE0IGMwMzc4N2VjOTgxMWM5ODZiNTg2YTBmZjZlZjlmMmU0Y2ZjMTk4ZGUgbGVnYWN5LXRydW5rCisxMjExNSA5YWJlZTYzYzZiYWIzYzQ2ZDdmNmI2YmU0MDg2YzJlNDhlYjI4YWEyIGxlZ2FjeS10cnVuaworMTIxMTYgYzEyZmVlNGNlMzYzZDhmMzFiMGRmM2YwYmI3N2ZhZDhlMzdkN2RhMSBsZWdhY3ktdHJ1bmsKKzEyMTE3IDk5MWJkMzUzY2ZlYmZiZDdhYjY0OWUyZjkzYjM1NTA3MzRiNzE4MjQgbGVnYWN5LXRydW5rCisxMjExOCA5MGZkYjM3NzY0YTIyYjEwNmI0ZjUyNzM3YzNlODQ2OGZlNmFkZGIzIGxlZ2FjeS10cnVuaworMTIxMTkgMTc5ZmI2M2IxNTU0NzQ3M2JiM2RhYTA4YmMyYzcyMTgxYTBjOWViOCBsZWdhY3ktdHJ1bmsKKzEyMTIwIDA3ZWQzOGMyOTZlZThmODViODlkZjdhYjg1MDBiMDkwZjIxMzA0ZmYgbGVnYWN5LXRydW5rCisxMjEyMSA1NjcyZjVmMWRiNDY4NGQxYTc2OWI4MmVmMjc5ZGU4YjBjYzY0NGU3IGxlZ2FjeS10cnVuaworMTIxMjIgZmE4ZjlmZTBhMzNkOTg1MTVhY2E0NDg4ZWY3M2U1MTgyMTIxNzgzZCBsZWdhY3ktdHJ1bmsKKzEyMTIzIGIyZmRkNzFjYTAwNmNiNDYzZTM3ZjI4ZGZiMDM5YzVmMzA5N2NjMjYgbGVnYWN5LXRydW5rCisxMjEyNCAxZmU0ODAwOWQ4ZWE4Y2E1Yjc2NTFjODliZTc4Y2QzYTJlYjFjYThmIGxlZ2FjeS10cnVuaworMTIxMjUgOThhNmZjNjg3N2FlZTJjMjE5NzNhYzAxNThiYTRiY2QzMWYyZmI2ZiBsZWdhY3ktdHJ1bmsKKzEyMTI2IDRmNTBjNzA0NTRhOWIyZDEyMGNhZDZjNGQ2M2FiNGZlZWY5ODNkOTUgbGVnYWN5LXRydW5rCisxMjEyNyA4MjAzMGNhMGZhMmVhMDBjNTRmNWM0ZGU3OTVlNjY0N2ZjYTk2M2E1IGxlZ2FjeS10cnVuaworMTIxMjggY2EyMTI4NGU4NzVkY2Y1N2UwN2Y3OTNhNDgyOGUxNmZhOWJjOTIzMyBsZWdhY3ktdHJ1bmsKKzEyMTI5IGQ2NjcxMDkzOWEzMjU0ODdmNGIyNTI1MTNlMWQ2Y2IwMzdlMjhhOWQgbGVnYWN5LXRydW5rCisxMjEzMCAyYjAwYmI1MDg4MDM2YTQwNTg4ZTIyZjM0YWFmNzQzMzI0YzQzMTlhIGxlZ2FjeS10cnVuaworMTIxMzEgYWM1MzQ1ODE0YmEwOTMzYzNkNWE5MmYyZTNiZDgyNTgyODZhMjMzMSBsZWdhY3ktdHJ1bmsKKzEyMTMyIGUyZGMzY2IwOGM2MGE3Zjk2MDVhZDA2OWIzYjkyYWJiYmJlNjI5ODIgbGVnYWN5LXRydW5rCisxMjEzMyA4NTg2ZDkxMWZiMzkwMjM4YjIzZTdlZGFlN2QyOTNjNzkyOGZhZDRkIGxlZ2FjeS10cnVuaworMTIxMzQgNDQyNjdiODhmYjU5NDEwZWY2OGU0NzE2Njc5YzUzYjg0MzQ4YzlkYyBsZWdhY3ktdHJ1bmsKKzEyMTM1IGU1ODk1N2YwNmExNTM4NGUyZDdkYzI2NWQwZTU4ZDE3ZDI1Njk0MDEgbGVnYWN5LXRydW5rCisxMjEzNiBmNWU1ODZiNWY3OTAwMDQ1YWE0M2U3MzRhMmY2N2Q2YTQ1MzIyNDM1IGxlZ2FjeS10cnVuaworMTIxMzcgZjljYzUyMzc0YzUyYzNlY2VlMmM4OTJlN2M5MmNkZjAwMzBiZjkyZiBsZWdhY3ktdHJ1bmsKKzEyMTM4IGRhMWRkM2U1NGI3YWUyNGEyNjIzZDBjZDVmZGYwMTlmOWNiYWZlZGEgbGVnYWN5LXRydW5rCisxMjEzOSA3MmEyZmJiMGUxZjkwMDM4ZGMwOGZjNTFiYzg0ZTI4MTM0ZWUxZThlIGxlZ2FjeS10cnVuaworMTIxNDAgZDE1MmFkZjNmMDk0Y2IyMmI5MjgyNWE5MDQ2MzE2NmIwNmQyNDJjZiBsZWdhY3ktdHJ1bmsKKzEyMTQxIDA4Mzc5YzdmNWZhOWIzMDFmMjFlZjBhYjJmYTM4MzY2NjE0OGY3MTkgbGVnYWN5LXRydW5rCisxMjE0MiBjMmVjMjFjNjVkMDUwMDVkNjA3NmE1YzU3NTZhNjlmNzQwOWE5MzUyIGxlZ2FjeS10cnVuaworMTIxNDMgMmNkNThhNjFiMDUxNjA3M2M0OGM5MzA1NjdiZmJjOWY4YWM0YjM0MCBsZWdhY3ktdHJ1bmsKKzEyMTQ0IDRlMTVkMTc1ZWVkMGM5YmI0OTFmMzViNjk1N2U4MjdmODVmYjc5MmQgbGVnYWN5LXRydW5rCisxMjE0NSA0NzQyYzUyOWQ5YzhlMWM5ZDY2MTdjZTI5Y2UzNzIxY2VkYWU0YzFlIGxlZ2FjeS10cnVuaworMTIxNDYgYzRlYWVmODlhNGE3NWQ5ODBhY2Q1MjVmODc4YWZmY2NhMzY4YTQ0NCBsZWdhY3ktdHJ1bmsKKzEyMTQ3IGM2NmIwZDM5YTczNmJlNjBlN2VlYmY1ZTZhNjlmZDcwODliMzUzZmEgbGVnYWN5LXRydW5rCisxMjE0OCA0NzAxMmMxM2VmZTQ3YjRkZWJiOTcwODEyOThhZWM1N2VjY2M5NmVjIGxlZ2FjeS10cnVuaworMTIxNDkgYjRjZGEzOTQwYWMzZmM5N2Y0ZjZhZWJhODEzNTFkZTc1YzBkOGQ1NSBsZWdhY3ktdHJ1bmsKKzEyMTUwIGI3N2QzNzM5OTM0MzdhOTljZGU4OWQwZDdjN2JlY2IwZDZmOGRkZjIgbGVnYWN5LXRydW5rCisxMjE1MSBlN2VlMTg4NGZkNTQ5MWNmZThlZGU1OWNiZTJkY2UwMWEyMGQ1N2Q3IGxlZ2FjeS10cnVuaworMTIxNTIgNjk0MWY0M2QzYmI4MDljNzA2MTAyNGE5ZjNmMGQ2NDRiY2JiMjE3MCBsZWdhY3ktdHJ1bmsKKzEyMTUzIDkxNzM1N2MxMjU1MjI2YzlmODhiZGVkYjU1ZTJkNmRjZTQzYTUxYzYgbGVnYWN5LXRydW5rCisxMjE1NCBiZmNlNzNkMzU3NmMzMjA4Y2RjMTJjMDg2NWI4MDExMzljZThhZTZjIGxlZ2FjeS10cnVuaworMTIxNTUgYWQ0OTdjYjVkMmRjMmY5ODlhNzRjMTMxZmYxMmI5ODk4MGVlOGU2NyBsZWdhY3ktdHJ1bmsKKzEyMTU2IDdkZGU0NTAxZjUzYWRhMzRkMTFlNjIwMjFkZWQyNTdhZWE4OTFiOWIgbGVnYWN5LXRydW5rCisxMjE1NyAyMzIzN2JjYjc3NGJmMmVmNjNmOWUyYzdjM2NhN2VmMjY5ZDkyY2Y2IGxlZ2FjeS10cnVuaworMTIxNTggMDRiMGEwZjI5ZjY1ZjMwYWE1NWRjNGMwNTU1MjczYWYwNjc3YjAzYSBsZWdhY3ktdHJ1bmsKKzEyMTU5IGEyMDZjNjFhODk1MDllNWQ0MWMxZDcxYTVmNzAxYzFjMDhmYzRmMWEgbGVnYWN5LXRydW5rCisxMjE2MCA0ODA4YThiNTdhZjNhYmJlNzc3NGEwNWJiYmMwZjE0NWM5MTg5NzVkIGxlZ2FjeS10cnVuaworMTIxNjEgOWJhN2Y1MGI4MjVhZDA4NTFjMzczODYwMGJhYmViMDM1MWUzYTJmZCBsZWdhY3ktdHJ1bmsKKzEyMTYyIDQ0NDk3MDJhMDk2YTRmZDc0N2M2OTI4YTU5Njk2ODE0ZGU3NDgxMGQgbGVnYWN5LXRydW5rCisxMjE2MyA0ZWVlMDYxZGFjNDRjYmNiNDVmNTMzYTUxMWI5YjhmNjRiYzg3Zjg4IGxlZ2FjeS10cnVuaworMTIxNjQgZTExZDc1MDA1YTVhOTY2MmNmMmU0NzdiMzU1MTM3OTBhZTU5N2MwMiBsZWdhY3ktdHJ1bmsKKzEyMTY1IDlkYTAxZTU4YTBiNTViYTk4ZjM2NGIyMTgxZjI4YmRiM2Y0Y2UwMGUgbGVnYWN5LXRydW5rCisxMjE2NiA5MTRmODNlN2ZhMGEwMjg5OWEzN2YyNDg2MGI2MmFiMTdhZDExOGQwIGxlZ2FjeS10cnVuaworMTIxNjcgNDA4NThhYjIzNTY4MjEzOWRhNDc5YzFlMzc1NDcyODFmOGRhNDRhNyBsZWdhY3ktdHJ1bmsKKzEyMTY4IDI3MmVjY2M1NzNlMjQwNmFmZWI5ZWVmY2JiZGJlNmEwMGQxMmZlNWMgbGVnYWN5LXRydW5rCisxMjE2OSAyMTRmMzA0NGQxOGMxMGNmNzFlOWMwMGUzY2YxYjZmMzFmMWVkYWY3IGxlZ2FjeS10cnVuaworMTIxNzAgMWQ0MGJjMjU3MDNhNTdjOWQ0YWViYzdlODFlMGU5YmY5ODI0YzgxNyBsZWdhY3ktdHJ1bmsKKzEyMTcxIGI0ODQzYTA3ZDU3OTFjMTMwMzZiMmVmMGMyZjAyOTJiZGI2NjBmY2EgbGVnYWN5LXRydW5rCisxMjE3MiA5OTE2ZmM4NWIyOGE1OWZiMjRmNzhhODI5ODQyZGJjMGU1YTU0NzQ2IGxlZ2FjeS10cnVuaworMTIxNzMgNTM3NjZmZWQ5ZjhjYjhhZWEwMjI0MzdhMzM3OTE1MTQ3M2RmMGY5YiBsZWdhY3ktdHJ1bmsKKzEyMTc0IGI3ODA0OWZlZmNlYjI5N2M2NjcyMGIxOTZmM2I3ODNhNmU3MDAzYWQgbGVnYWN5LXRydW5rCisxMjE3NSA1ZDRmMTM0NzE1MGVkZWE0NjUyZmE3M2Q1MDIxZjBkMDA2N2EzM2EyIGxlZ2FjeS10cnVuaworMTIxNzYgMDBmZWQ3Njk4MGJjN2Y3MjdlY2EyNGI5N2QzODJlNjViMDg4OTI5ZSBsZWdhY3ktdHJ1bmsKKzEyMTc3IGYzOWExOWExMjI5YWY2ZTFlNWU2NmY1MWUzMzBjOTVjZmU2OWQ2YzkgbGVnYWN5LXRydW5rCisxMjE3OCA4NzdkMjNiZDViZGMyZDMwNGZhMjFjMzQ1Yzk5YmRjZTFmYmYzMTFlIGxlZ2FjeS10cnVuaworMTIxNzkgOGI2MWUxMjczYjRiZGEzNGE3ZmI4OGIyYTc5MjcxYmI4Yjg1MzU5ZSBsZWdhY3ktdHJ1bmsKKzEyMTgwIDYxNTRkMmU2ODYwMzI4NjY5YjRmNjQ3NjUwYzYxYTEzNTIzOGE5ZGMgbGVnYWN5LXRydW5rCisxMjE4MSA1MzQ1ZmQxM2RlM2Q5ZDdhNGZmNTk5NjY3ODYwYTg5NTBmNmQ0OWQyIGxlZ2FjeS10cnVuaworMTIxODIgNWE2YmQ0M2UyZDVhNzU1NDQwYThjY2YwNzg2NzQ2OGQ5M2YxMWIwNiBsZWdhY3ktdHJ1bmsKKzEyMTgzIDEwOTU1YzM5YzBlN2I2YmU2OGQ2NGNlOGIxZWY5MTE0NjU0NzBkZWEgbGVnYWN5LXRydW5rCisxMjE4NCA5M2NiMWFhMjRmN2QxMDY5NzM4YmZmOTNlZTg1OGQ2Y2I0MzgyZDQyIGxlZ2FjeS10cnVuaworMTIxODUgYjBiODE1ZWVlZDJjNDkxYThlNThlYTA5YmRmYzJiMjExMmUzOTY3ZCBsZWdhY3ktdHJ1bmsKKzEyMTg2IGI4ODNlZjNiMmQxOTZiMmQ5YzhlMGI3ODcwNGM5NTEzMjA5ZDIzMWMgbGVnYWN5LXRydW5rCisxMjE4NyBlY2QxMTU0MmVhYmU1MTkzOTAzOWQ3OGMyNGIyMDM3YTFhMDMyNzE5IGxlZ2FjeS10cnVuaworMTIxODggMGEwNDM0ZWZlYmNmZWJjYTkwZjA1NjA1NjJiYjg2NDc1ODM2OTkyNSBsZWdhY3ktdHJ1bmsKKzEyMTg5IDMxNDg5Nzk5YzhjNjBhMzA5MjU1NThiYTQ5YTE2YzY3ODMyMzdlYWUgbGVnYWN5LXRydW5rCisxMjE5MCA4ZDNjMmE4MDgzNGNjMTBiZjEyMTg3ZjUwMWM1ZGYzYWJiMTFlZDc4IGxlZ2FjeS10cnVuaworMTIxOTEgNTM4OWM2ZTMwZTU0YjEzMDc1MGYwZjgxZjY5MzMwMzk0YzNiNWFjMSBsZWdhY3ktdHJ1bmsKKzEyMTkyIDI2MzY1NWM2YjY1NjcxODBkN2I4ZTNhYTE4NGNlMGRjZjE2MDk3OTEgbGVnYWN5LXRydW5rCisxMjE5MyA2MzczMjUyOWY2ZGY3ZTk3NWY3MTQ3ZDhhZmI1ZDRiYTcxYmIxZjQwIGxlZ2FjeS10cnVuaworMTIxOTQgN2E0ZWVlZDU0YjI0NTE0ZTBiMTEwNmVlZDYwZmQxZmU1N2I1MWEwYiBsZWdhY3ktdHJ1bmsKKzEyMTk1IDIyZjNhOGQ4MDNhNTE3ZWMyZDk2MWU1MTIzMTg5N2NjNTg4Zjc2MjkgbGVnYWN5LXRydW5rCisxMjE5NiA5M2M2NmFjNmFmMTg5NmQyNmFkNGE5YzZkZDkwMjJjMDJkYTA4N2ZiIGxlZ2FjeS10cnVuaworMTIxOTcgZjdlODY2ODRjZDRjMmQzNjQyZmE0Yjc5ZTQwNzExNjdhY2RhMWIzOSBsZWdhY3ktdHJ1bmsKKzEyMTk4IDk3M2MyMWRmMmQ2MDFiOWRmMTdmMTliMTIyMGY1ZmQxZjU5MDE5MTIgbGVnYWN5LXRydW5rCisxMjE5OSA5NzAxYzUwYzY5NDYwNzM4YTQ3ODMwNmEwYzg2YWMxYmQ1NzJlYzc0IGxlZ2FjeS10cnVuaworMTIyMDAgNTU1OTAyNTFjZjUyNzNiNjViMTNjYmRlNTljZmQ2NmY3YTk5MDY0MSBsZWdhY3ktdHJ1bmsKKzEyMjAxIDZiYTdiZDU2M2UzYmY3ZmE2YWVmYmM3YWZjZmY2OWE2MzdhMTA1ZTUgbGVnYWN5LXRydW5rCisxMjIwMiBiNWQxYTE2MjVjZDVkYjRmZmRjMGQyZmFjYWNmODI4NjMxMGM3Mzc1IGxlZ2FjeS10cnVuaworMTIyMDMgNDM5NDIxY2RhODllYTc2ZDY3M2MwMGNmZmJjY2Y0ZjQ5M2U4YzAzNCBsZWdhY3ktdHJ1bmsKKzEyMjA0IGMyMmRjMzAxYjM2YTgxZTJhZGRhNzM0NGE1NGNhMDRjZDVhMmM4ZmMgbGVnYWN5LXRydW5rCisxMjIwNSAxMjc3OTQ2MDU0ZThjNmUxNjJhZWNmMWVhMzE0NjRkYWRlZmNiNGVlIGxlZ2FjeS10cnVuaworMTIyMDYgZTBhNGZiMGFiYjc2OWRkZTE4MjUyM2EzMTFkYzM5NmFkZmM3MTFjYyBsZWdhY3ktdHJ1bmsKKzEyMjA3IGYzZjYwMjNmZWI3ODhkOTFhODE5NTc2MTQ5NThkMTNjNjdkMWM3NzMgbGVnYWN5LXRydW5rCisxMjIwOCBkN2RkNzFkMGQxODMxYTY4ZjEzYWIyYWM5Y2QwMTcwYmJmZjhmODkzIGxlZ2FjeS10cnVuaworMTIyMDkgZTc4YmRjY2QyMjRmZmM5MWVkZTg1Zjg3ZjhkZmNiNDQ5NGQ3Mzc4MCBsZWdhY3ktdHJ1bmsKKzEyMjEwIDJiY2RlMzQ3NDZkMWNmMGJkNDFjNDk2NmY3MWIxMzNjOWI0MDE0YWIgbGVnYWN5LXRydW5rCisxMjIxMSBhM2M5Y2UyOTg1ZGVlOTUxYzhiMjBlYjg4NGU2OTZjYWJjZTVmNDMyIGxlZ2FjeS10cnVuaworMTIyMTEgZjA4YzdhMmE1NmY4MDc0MWY1ZjE5MmZkMGViZTBiMDk2N2EyMDNjZiBsZWdhY3ktdHJ1bmsKKzEyMjEzIGNmNjU0ZWQ1OGZmMTZhMDhkYWRhYjhiNDg2Njc2ZjhhYjI3YjNmODMgbGVnYWN5LXRydW5rCisxMjIxNCBkMWRiN2Y2YWI3NTNjOWYzNDUyOWQ4NDk3ZDYwZTQwMjM4ZGY2NDZkIGxlZ2FjeS10cnVuaworMTIyMTUgOGIyNWJhMjQ5NDQ2NTJhNjBiZjIyNzI3ZjBiYmZjNWVhM2I4NjI4ZiBsZWdhY3ktdHJ1bmsKKzEyMjE2IDJhODk1NDNkZDNjYWIwZTg0YzhkZjZkOGU2MDcxZGMwMWU4MTVlNzQgbGVnYWN5LXRydW5rCisxMjIxNyA0ODJlNjNkNzljOWRmZWU0YTllZDM5MTMzOTRlZDdhMTY4NTUyNWNjIGxlZ2FjeS10cnVuaworMTIyMTggMzUxOWRlNDQwZjg5MmMyYzdlMTU5NjVhM2NkNWU3NzlhMjk1ZjUzYSBsZWdhY3ktdHJ1bmsKKzEyMjE5IDI0Y2E2NDEzNDU5NGFkN2YzMzZjZWYxYzcxZjRlYTFhOGZhZGIwNmUgbGVnYWN5LXRydW5rCisxMjIyMCA3MmI3NjFiOTQ4ZTdlOWFiNzkxY2MwM2U4OWMyZWU3NzhkZWYxYzgyIGxlZ2FjeS10cnVuaworMTIyMjEgMzk1NWY3ODdlOWExMWMxNGJjNDRhZTZlNTM0MjlhMGU5OGMzNTUwYiBsZWdhY3ktdHJ1bmsKKzEyMjIyIDA0ZTQ0YzYwNzZlOGYyZjJmMzUwOTIyOTQ1Zjg2ZGYxN2NmNjk2YWUgbGVnYWN5LXRydW5rCisxMjIyMyA1NmYzOGJmM2FmOWYyZDYzMzgyNDA5YjZiMTYyZTlkNjAxYjRjMjMyIGxlZ2FjeS10cnVuaworMTIyMjQgNGIxYjk0MzJiMjZiZmQ4ZjY3OWVkYjc0MTNlODJhOWUzYmIzMDdmNiBsZWdhY3ktdHJ1bmsKKzEyMjI1IDQzMzZhMTkwNTA1YjY2ZTI2MzJjZGE1YTFlYjQ3ZjMzOWRkZWNhZDQgbGVnYWN5LXRydW5rCisxMjIyNiBlYWFiOGZlYjdmYzA3NjRkODljYzJjNDVmMDMxZTBjNWM4ZWQ0ZTc3IGxlZ2FjeS10cnVuaworMTIyMjcgMmNjZjA0NWY1YTIxMWYxMDE0MDE2YzIwODNkOWM2MTZhYTdiZGI5MiBsZWdhY3ktdHJ1bmsKKzEyMjI4IDI2NDY4OTNjYjQ5OTM3NWFhZDAwY2Y5ZWE1NjhmN2IxYWYwYTBlOTkgbGVnYWN5LXRydW5rCisxMjIyOSA2ZjFjYTlkYzk1ZGFiMTc1MWQ0NWI2ZWQ3ZGM1NjY0NDgwNjRhOTA3IGxlZ2FjeS10cnVuaworMTIyMzAgNzJmNTA2MzZkZmVhMWU0NTgzZGNjZTM3YjVkZmZkNjk0N2M1NDgxOCBsZWdhY3ktdHJ1bmsKKzEyMjMxIDEwYWIyYzVmYmQ4ZWU3YzBkN2Y5YWUwMTk1YzlmNjBlOGE2YTY3ZWQgbGVnYWN5LXRydW5rCisxMjIzMiA4NWQ1YjVlY2VkOWVhOTk4NjMzOTBlNWE1M2YxODJlM2QwMTg2MGM5IGxlZ2FjeS10cnVuaworMTIyMzMgNDdkMmU0ZjcxMTQ3OGRkNWYwZTA3NTdmYzQ0NWI3ZDRmZWE1ZTA2ZSBsZWdhY3ktdHJ1bmsKKzEyMjM0IDJlOTkzMWY0NGVmNGY3ODYyY2IwODY0MzViZWMyMjZhYjNkN2Q0MGYgbGVnYWN5LXRydW5rCisxMjIzNSA0N2JiZDBiYThlOGEwNTlmMDlhNmExMTZiM2QxYWIzZjFiY2E3ZGFhIGxlZ2FjeS10cnVuaworMTIyMzYgMzQxNWQxM2Y4YmM4YzAzZDA5YWQ3MzU3OWQ4YjNlOGMzYmUxYzk1OCBsZWdhY3ktdHJ1bmsKKzEyMjM3IDlmY2M5MDJkNzQwZmFhZWE5NGY5MjUwM2QzYzc4OTlhZTAwZTkwMTQgbGVnYWN5LXRydW5rCisxMjIzOCBlNmI2NjJhOWI3MDk2MTE4OWI3NGM2N2U0OTY3MjMxMzc5MTVjZjYzIGxlZ2FjeS10cnVuaworMTIyMzkgZTA2ZWY4N2IzNGNjNGE4ODU4NjRlZDc2MDYwZmMxOGMzYTRhYzY5YSBsZWdhY3ktdHJ1bmsKKzEyMjQwIDA1ZmI0ZDk2NmM3M2ZmYWIwZGFhYjYwODk3MTk2OTcyYmNlYTAzMzYgbGVnYWN5LXRydW5rCisxMjI0MSAyNTA3ZTE1ZWNhNmI5MGM2YmVmMmEyZWQ5NWIxZDllZTFjNDZlOTdhIGxlZ2FjeS10cnVuaworMTIyNDIgMDk5NWE3YTYzNzgyYmJkMGE0ZmYwNjc1OTAxMmI4YmJmMWVjNDRmMSBsZWdhY3ktdHJ1bmsKKzEyMjQzIDg1YWIyODY0NDIwMTQxNDExMzZiNjUwMjQzMTZjOTAzOGQwODhiM2UgbGVnYWN5LXRydW5rCisxMjI0NCA2ZmM1OGQ3OWRhYzVkYzVkMTZlMmUwOGQ4YjYzMTIxOGY0N2U5ZDE4IGxlZ2FjeS10cnVuaworMTIyNDUgOTM0MmM2MGVhYWMwNzVhZDIzODAzN2RiODM2MTgzNjllNzQ4ZDg1MiBsZWdhY3ktdHJ1bmsKKzEyMjQ2IGQ2MzI4ZDc0YjU4MGVmZDkwNDUyNzZlZDYwNjRkMzhmMTA0YzQxNTcgbGVnYWN5LXRydW5rCisxMjI0NyBmY2U2YzExYzgwZmExZGU5YWI0MWQyZDQ5ZTE0OTgxMGMyZDQwNzBlIGxlZ2FjeS10cnVuaworMTIyNDggOTY3YWM1ZTg5MDdhY2E5NGM0NjIwNmQ1NTdmMTYwNDMyMDNkMzYwNCBsZWdhY3ktdHJ1bmsKKzEyMjQ5IDdjZWI5MmJhODZmNzY0OWVjMTU1YmQyMTc4Yzg2OTEyNzFiMTY1MzkgbGVnYWN5LXRydW5rCisxMjI1MCAwOGE5MzczODYwZTgzNmIxZmU2YzliNGUzNGNkNzEyMGFlYzIyMmY5IGxlZ2FjeS10cnVuaworMTIyNTEgZTQ1ZGY2ZjQ1NjA0Yjk1MzBjYzc0NmQyZWNjOTA5NDEzNWQ3NzJmYiBsZWdhY3ktdHJ1bmsKKzEyMjUyIDg4YWY4YTQyODU3ZDMxZjJiNmMyMGIwNTNmOTY0ZDhjZTRiZGU2YTEgbGVnYWN5LXRydW5rCisxMjI1MyA3NjYzY2Y5NWJkMGVhODYyNjgwMjVkZWE2ZDRlNjZlZmU2YjU2MzllIGxlZ2FjeS10cnVuaworMTIyNTQgMzBmMzYzMGI3N2NhOTk0NWNmMzQzNWZkOTU5MjRmMzM2NTQyMTU4MiBsZWdhY3ktdHJ1bmsKKzEyMjU1IDU4NmQxYjA4NjE0ZTI2MTdkYzMwZjhmYzU4YWFiNTkyZjE3ODdlNWIgbGVnYWN5LXRydW5rCisxMjI1NiBjNzA4ZDcwYjEzOWUyMTVlNmNmYjBkZTZhYWVmYmRiMjU1ZTQ5YjgxIGxlZ2FjeS10cnVuaworMTIyNTcgY2QyZTA1ZGFlNGMyOTVmYTRmYWM3YmExNWMwNTdiNmVlNGUwNDkwNiBsZWdhY3ktdHJ1bmsKKzEyMjU4IDllNmY1YmFjMTVhYzI0YTNhMTcwZGE1NGVkYjA2MzU3YzkxY2EzMjUgbGVnYWN5LXRydW5rCisxMjI1OSAzZTdjNDM0NTNlNWU5OTljNzExMTViZmMyZGQ0MTFhYzUzODdmYTFjIGxlZ2FjeS10cnVuaworMTIyNjAgY2ZiOTBkYjM5OTU4YjI0YTNkZDY4YTRiNWE1OTkzMzA4NjU5ZTVmNSBsZWdhY3ktdHJ1bmsKKzEyMjYxIGVkNTIzZWEwNzNkYmEwNDlmOGFmY2ZjMTAxNDQ0YTZjMTljNzM4YjkgbGVnYWN5LXRydW5rCisxMjI2MiAxNmM5YTcxNDg4MGZjMDBmMDhiNjI1N2ZlNzE0ZGRmZDFlMDkyN2NjIGxlZ2FjeS10cnVuaworMTIyNjMgZjc1NTJkZDIzNmIwYWQ2MjdiZmZiMTg2MTMxM2NjMjdlNWNkZmIzZCBsZWdhY3ktdHJ1bmsKKzEyMjY0IDYzMWQ5NmQzY2Y2NjBmZWYzMDBiN2QxMDkxNGMyYjI3ZDBhYzQ1N2IgbGVnYWN5LXRydW5rCisxMjI2NSAwZDg4NzMzNDA4NDYyMjU2ZWE2NTIyNDBlYzRmZDMyOWU2YTFmZDUxIGxlZ2FjeS10cnVuaworMTIyNjYgNjFkZGU3ZWJmYTk1MTY4OGE4NGIwNTkwMGEwNTYyM2JmOTZjM2JmZCBsZWdhY3ktdHJ1bmsKKzEyMjY3IDRhMDdkNjk4NjRmNTc1MTIyMjFmMjc1ZmJiMWE2MWRjMTY5ZWQxNTkgbGVnYWN5LXRydW5rCisxMjI2OCBlMTUwOGY3MmM2MTBiYWQyMTA1YmRmYjgzMzg5ZDZhMGE2YWJjOWM4IGxlZ2FjeS10cnVuaworMTIyNjkgODU0N2QyNzdhMjJmOTYwYzVkYmM5OGJiNjYyOWNhNGNmMzE5MWI0YyBsZWdhY3ktdHJ1bmsKKzEyMjcwIGVhZjkzZDViYjQ2Y2Y2NWI5OWNlODY0MmU2YzUyNDNmMmE5MTFiMzQgbGVnYWN5LXRydW5rCisxMjI3MSA4ODEzNjI3YWFjNDY2YTAxZmQxOTZjNWE1OWE2M2QxYWNmOWNlNDBhIGxlZ2FjeS10cnVuaworMTIyNzIgZTIwOGIyNzRlYjgwOGM2YmQzZTE0MjVlNTI4NGY1NzY4ZjNkNjM2MyBsZWdhY3ktdHJ1bmsKKzEyMjczIDc3MGI0MGZlZDVmN2FiMTA2YzY1MWE3YmFlMGJhOTM5Y2NiOTMxZmUgbGVnYWN5LXRydW5rCisxMjI3NCBiMTE2YWZiODE3MzI4ZWMyZmRkMGQwODM4YWRiZTY0ZmMzZTA4MTUxIGxlZ2FjeS10cnVuaworMTIyNzUgNzcwZDg5NGUyMGJkOGQyM2M5ZTczZjVmMDRlZmQzZTQ5ZDU3ZmNmNyBsZWdhY3ktdHJ1bmsKKzEyMjc2IDhiMDg2MzQ5YTQ4OGNiMWExYmVhZDY0ZmY3YzkwZTRiMDMyOGQzOTcgbGVnYWN5LXRydW5rCisxMjI3NyBkYTk0NDY3OGIwMGUwYjhmMzMxYmM5Y2NjMzUxMTJjYTM1NDkyZTYxIGxlZ2FjeS10cnVuaworMTIyNzggYzQ2OTIwNDZiNDgyMDFiZmY4Y2VjMzIzMjlhY2EzMzJkOGRiZGIwMyBsZWdhY3ktdHJ1bmsKKzEyMjc5IDRiMThmOGVhYTE2YjJiZjhiYjM4NDc3MDExNGFmNDFjY2YwY2MyM2EgbGVnYWN5LXRydW5rCisxMjI4MCBjOTFjZTQ5YjQwNzUwODlhZDFkYzdkZTJiZTFkYzI4M2VjOWIzZTlmIGxlZ2FjeS10cnVuaworMTIyODEgNjY4MGZhY2I0ZDViNWUyN2I5ZGU5OTk2YmM3ZDhkYTljYjlhNTMyMCBsZWdhY3ktdHJ1bmsKKzEyMjgyIGJlMjRiNWI5MGRlY2Q2M2RhNWMwNWFiOGM1M2RiZGVjM2U0ZjhlYmYgbGVnYWN5LXRydW5rCisxMjI4MyA4ZGJhMDgyMjNkZWJhMTY0ZjA0YTk4ZmY1ZmJhODVlMDhiNGIxMjVlIGxlZ2FjeS10cnVuaworMTIyODQgZmFjYjQ1N2I0ZDMyZWQ2ZTIyNGY3Nzc4MzZhNDM1MTA4MTczNjQxOSBsZWdhY3ktdHJ1bmsKKzEyMjg1IDQwZjcyM2FjMjZlODI4MDczNzQ3MzNiNGNiMzEyNWY5MjBkMmI4YzcgbGVnYWN5LXRydW5rCisxMjI4NiAxYmVhZjkxNzkxMjViMjRhZjk5YjEyNDNhOTI3ZWNhMGY3ODM3Y2Y3IGxlZ2FjeS10cnVuaworMTIyODcgZWNiOTEyYmU0MzE4YTYzYzUyM2U0MDlmNzljOWViYmZkMjE5NTM1YiBsZWdhY3ktdHJ1bmsKKzEyMjg4IDA4ZGZiZWUwYTMyYTEzOTdmYjFiMWVhNmQ1ZWQzMTI5NWI0YjFjMjcgbGVnYWN5LXRydW5rCisxMjI4OSA3Y2RjZGY4Njg2YjNjOTFiN2QwM2Y5ZTg2MTM3NWQ2MDU2ZmUzNGMwIGxlZ2FjeS10cnVuaworMTIyOTAgOWU2MTE2NmVjZGQ4MWQ1YjA4MDk3MDU3MDBjYjFiZmYzN2M4NjUzNSBsZWdhY3ktdHJ1bmsKKzEyMjkxIGZlNzAxOTY5YmMyY2Y2Yjc5MTVkNTlhY2E3NTRkMjI0NGE0OTQ2YmEgbGVnYWN5LXRydW5rCisxMjI5MiA3MzdkMDVhOWJiNWU4YTlhZjk0Y2Q4NTY5ZWNkMDJiNjk3MWJlMDRkIGxlZ2FjeS10cnVuaworMTIyOTMgMjA5ZWVkNmEyZWY2NThlZDM4Y2JlMmMyMWFmNmFmMGY1MWM2MjgwZSBsZWdhY3ktdHJ1bmsKKzEyMjk0IDgzNmY5NDA4Yzk1NjVhYTU5YzgwMThkNTI5ZGY1Y2MyODkzZDNjYjUgbGVnYWN5LXRydW5rCisxMjI5NSA3ZWY1YTE1MjBhZTUzZDAxMTVlZmM3YzhjZGEyNDJjMjFmZDY2MmIxIGxlZ2FjeS10cnVuaworMTIyOTYgZGIyOTgyZmI2M2MwNGQ1ZDk0MzM5M2Y0ZWJkYmY4NzZmMmJiNGU2YiBsZWdhY3ktdHJ1bmsKKzEyMjk3IDljZmM1M2U1OTk2ZTBhYTBjOGM1YTQ2OWZiODlmMWEwYzYwNTkzNmUgbGVnYWN5LXRydW5rCisxMjI5OCA5ZDAyYWZhMDIyYzUyZmQ3NGU5NDRhNTczYTc0OWIyZmZlZWJiYjdhIGxlZ2FjeS10cnVuaworMTIyOTkgYzFlYWIxZGM3NTM2M2EzNDExOTFiZDU2NDg0MTAwNjJmNDc5NjM5ZCBsZWdhY3ktdHJ1bmsKKzEyMzAwIDkyOGM5M2QyYzEwNzFkYjlkMGM2ZGRlYmIzMDc1ZDVlMTFlZGM2MjggbGVnYWN5LXRydW5rCisxMjMwMSA1NjY4ZjhhM2E0MzA0ZmJjMTBhNDhlM2QxMTI2ODE4MjFjNWZjZTRkIGxlZ2FjeS10cnVuaworMTIzMDIgODFiM2U2Y2E0YTI5YWZiYjEzOGI2MjRjNzE5YTNmMTgzOWJkYzE4YSBsZWdhY3ktdHJ1bmsKKzEyMzAzIDEwMjcwMTE1Y2Q0YjgwNWNmZjM3ZTEzNjUyMzU5YzViYTA5NjA5NzggbGVnYWN5LXRydW5rCisxMjMwNCA4ZDZmODRjNTk0OGMyODUxYTAwMGRmNTMwZjY3M2Q3NWFlMWRhOWU5IGxlZ2FjeS10cnVuaworMTIzMDUgYTlhYWMwMDJlODQzNWJhMmI2NmE5YWRkNmJiMDM3YjJmODBhZWNiZSBsZWdhY3ktdHJ1bmsKKzEyMzA2IDQxNWI5ODQxMTcwN2YxMjIyZmYyYWMzMjYwMmM0OTg4MDUyN2FiZTkgbGVnYWN5LXRydW5rCisxMjMwNyAwYmZhZmYxMWM1NzM5OTc2YmZhYTQ3MTI5NTIwMmM1MzY0ODNiM2UxIGxlZ2FjeS10cnVuaworMTIzMDggOTNkNzAzMDhiZTE3MWJiNThhNDhhOWQ5ZmQzZmFjZjUzM2MwMDM1ZiBsZWdhY3ktdHJ1bmsKKzEyMzA5IGY5ODFjOWQzNmM4YWY4NTY1MzU2NTQ5ZmUwYWZiM2NkNzU5MjZiMDggbGVnYWN5LXRydW5rCisxMjMxMCAxZWFlYmFlYWEyMmI5YTJhMTYwOTRiN2ZiNWI4NGQ1MGVhZDEwNWQxIGxlZ2FjeS10cnVuaworMTIzMTEgMzBlZTg2MTcyMTY4YTMxYzEzYjQ0ZDNkYzg4OTNmZTk0NDQ0OGRiNiBsZWdhY3ktdHJ1bmsKKzEyMzEyIDg3MDEwOWE0NGUwZWJlMThhMGJiNmI3ZWE2ZjUwMDhkZjI3NjVjMGMgbGVnYWN5LXRydW5rCisxMjMxMyA0ZDA0NDAwNTYxMWU0MGZlYzM2OGEzOWNhMzliMDA0MTNkZWE5NWQyIGxlZ2FjeS10cnVuaworMTIzMTQgNDAxMGU1ZDI0M2Q2NmI4YjIxZWFiNTE0NzMwMzNhY2RiNzZmN2FiMiBsZWdhY3ktdHJ1bmsKKzEyMzE1IDE0MjBmODQwMDkyNDliODZkMTEzNjhkZTRlNGNiYmQyNTNkODc4Y2UgbGVnYWN5LXRydW5rCisxMjMxNiA2NjM3MzcyN2ZhYzg1YjI4MGJlNWJlZDVkY2VlZTkzMzI2OWI5YmNhIGxlZ2FjeS10cnVuaworMTIzMTcgYTNiMjUyNWM5MzcwNDA0Mjk5MTM5NjgxYmQ1M2ZlZDA1NzM4YzU2MCBsZWdhY3ktdHJ1bmsKKzEyMzE4IGJkMWNlNDEyMGU2Zjk1NDZkZWRmODVjYTk3ZThlY2YxYTVhYzIzODggbGVnYWN5LXRydW5rCisxMjMxOSA0NTdjYjg2OGMyNWU0NWE0MWI3YWQyZjNlYzQzM2YwMDg1NGQ0MGU2IGxlZ2FjeS10cnVuaworMTIzMjEgMjhkM2E5ZmNiNTc3ZGZjODU2MmYxODQ5YjRkZGM0ZTRiNjE4OWNhNSBsZWdhY3ktdHJ1bmsKKzEyMzIyIDE3ZTRkODE5NDliOWYxZWMwMzk0YzYxMDZhN2Y5Mjc0OWViMWM0MjIgbGVnYWN5LXRydW5rCisxMjMyMyBiYTYzYzZmNjAyNWI0ZjIzNWIxMGEwMjFhNzQ4NmJmOTJkZjlhZWRhIGxlZ2FjeS10cnVuaworMTIzMjQgNGU5NTA2NWE3MmExYTZmMmQ3M2M5OGU5NjBmMDQyZjUyZTgzNjA4NSBsZWdhY3ktdHJ1bmsKKzEyMzI1IDViZGY5MTY1MTM3NzI2ZWI3N2JlYjZlNDNiMzkxOWQyZDA5MWQ4MmIgbGVnYWN5LXRydW5rCisxMjMyNiBjZTBjMTdjYzc3Y2U1MGZlODM3MTZiZTdjMWU1ODRiMjZiNDhiOGFkIGxlZ2FjeS10cnVuaworMTIzMjcgZWY5N2I0ZjZkMTg3NWZjNmViNTAwYzM1MTM4YzUyMTNmOWYyMTI4NCBsZWdhY3ktdHJ1bmsKKzEyMzI4IDgwMTUwZjljOGM0MWZjZTlkYTJmYzEzYjNmMDcxOTkwOTBmZjNiZjcgbGVnYWN5LXRydW5rCisxMjMyOSAxMzk5YmVmN2FmNjEzNTVkNmVlYmVlMzZhNjE0ODc0MGNjYjNkOTMwIGxlZ2FjeS10cnVuaworMTIzMzAgYWI1NTY5OGJmZjFjYTlhOGEwYjExODBiYTYzOTkyZDhjOWE5MmNkYiBsZWdhY3ktdHJ1bmsKKzEyMzMxIDFkYWJjNzNiN2IwYmNjODJiZGNkYzZhOTdhMTE1NjFhNjAyYTUzNjQgbGVnYWN5LXRydW5rCisxMjMzMiA2MWNhZmE5N2ViNzdhZjA2NjliNzJiN2Y3ZWZmMmVhMmU5MGRhM2RlIGxlZ2FjeS10cnVuaworMTIzMzMgZTVjYjE1N2ZmMDkzMWZmMDVlMzZiZjNlOWJjNGViYzRhZjNjMzkyNSBsZWdhY3ktdHJ1bmsKKzEyMzM0IDgyNDM5ZDk5ODdiMmNmNjdhOTAxYzcxZmViYzdiZTVmZjZhNDdmMTkgbGVnYWN5LXRydW5rCisxMjMzNSBkZDNjN2ZjMGEzNGQ0YjljZmY0OGZjYzU5ZTY0MWQwYTE4YmJmMWEwIGxlZ2FjeS10cnVuaworMTIzMzYgYjA4MjFiMGJjY2YwZmQ1ZTQ0ZDM2ZWYyODBlMWMwYjA4OTU2NTI4NSBsZWdhY3ktdHJ1bmsKKzEyMzM3IGY3NGRlNzdmMDUxMGVmM2FhOWUzNjFkMGI5NzViOWQ2MTgyYmJhNjAgbGVnYWN5LXRydW5rCisxMjMzOCAxM2QwZjYyOGM1NzIyOTBmMmM0ZDg4MTE0MjA1NDZhYTY4N2FhMTZlIGxlZ2FjeS10cnVuaworMTIzMzkgYjhmZWRiMjI2ZjA5YzEwODRiYWI2ZWJhZmNjMDIzNjAyZGY4NGU1YiBsZWdhY3ktdHJ1bmsKKzEyMzQwIGFhYjBmMzQ2M2FmMDZiYzA1YzdiNjE1Y2YxNTYwM2EzNmE3M2I1MDIgbGVnYWN5LXRydW5rCisxMjM0MSBkZGYzZDU1MjIwYjkwZDgyMTU1Y2I1MjQ5YWQ3MDMyY2JlYzQ2MTk0IGxlZ2FjeS10cnVuaworMTIzNDIgODZjYjc3ZmIxOWU4OGFkZjhkMzA2ZDcwZTkyYTllYjJiN2VlNGE5NiBsZWdhY3ktdHJ1bmsKKzEyMzQzIGYzNGJiNDdhYWZhY2FjYWQ0MzE3YjY0OGFiOTMxZDM3YWY3Njc3OGEgbGVnYWN5LXRydW5rCisxMjM0NCA0OTY3MDAzNzRmYzQzOGNiMzQ3MGY5NDBmNzM4NzYyNDk5Y2ExNmUxIGxlZ2FjeS10cnVuaworMTIzNDUgOWEyOTNlNzdjNTU0NmNkN2ExOWYxZGIwZDI1MWFmZjM2NWJhOTk4YiBsZWdhY3ktdHJ1bmsKKzEyMzQ2IGQ2NGNlMjk4MDFjYjE3MDlhZDA2YmE4ZmZkM2UwZTVjM2ZjNDNjZGMgbGVnYWN5LXRydW5rCisxMjM0NyA1YmFjNTZmZmNjYThmODAxNGIxNWM5MzMyNDNiZTVkZTU1NWFhMmM3IGxlZ2FjeS10cnVuaworMTIzNDggZTE5Y2Q4ZWMyMGEyZThmZTczYzZhNjA1MDI4NDRmY2Y4MmI4M2U2YiBsZWdhY3ktdHJ1bmsKKzEyMzQ5IDVlOWVmOWQ4NTc1YmJjYjU3NTQ5YzdmY2EwNTMyNGU3ZDc2NTBjZTggbGVnYWN5LXRydW5rCisxMjM1MCBlYzgwYWQyNWNhODYxMzI4YWY1MDY4MzllOTg1OGYxYjYxMWFkNDUzIGxlZ2FjeS10cnVuaworMTIzNTEgNmM2ZWUzYmIzZmNjMjJkY2RlYjA0NzgzNjEzNjYyMjE2M2Y2YjNmNyBsZWdhY3ktdHJ1bmsKKzEyMzUyIDAxNDc3YjFhNzRmOWMxYzU2NzQxOThkYjlkZGQ1NDg4MjkzZTg4MDEgbGVnYWN5LXRydW5rCisxMjM1MyBiNTMwYmM2MmUzYjk5MWI4MTNkNDBmY2I3ZGZhMzExOWIyMDlkNGMzIGxlZ2FjeS10cnVuaworMTIzNTQgZTZjZDY4M2EyMmY4MTg5ODE3YjA3NDAxOWUzNjNjM2ZhMTRkN2NkNCBsZWdhY3ktdHJ1bmsKKzEyMzU1IDMwYzFjNDBjZDgwZmQzNjlmYzUzZmY4MzBiNzQyYzIyNjM3ZThkYjUgbGVnYWN5LXRydW5rCisxMjM1NiAxZThmZjhhODc5MmVmN2M5OGNjMjcxN2I0NmYzZjk5ZjVlYmE4M2NjIGxlZ2FjeS10cnVuaworMTIzNTcgY2RiNzcyYWFiYmEyNWQ1MDNiZmU5ODU3NDA0N2E4NWM4YWEwY2JhOSBsZWdhY3ktdHJ1bmsKKzEyMzU5IDYwNWVhZjhjYzZkMGVjZWRhMjE3NjgyNmNmMDg0NDRjMzcwZmM2MmMgbGVnYWN5LXRydW5rCisxMjM2MCBhMTU4NWY2OTI1NWRhMDBkMGUxZTQ1OWI2ZGFmYTcwMThmNDgzNTUzIGxlZ2FjeS10cnVuaworMTIzNjEgNTFlODY4ZWYzYjMxZTVhMTk4ZGJmMmY0YmMwZjVmOTU0MjIzOThkMiBsZWdhY3ktdHJ1bmsKKzEyMzYyIGI5M2MzOTBmZDI1ZDVmMTRkZmViNzU0NjM5Zjk4MTMzZmU3N2Y3ZmUgbGVnYWN5LXRydW5rCisxMjM2MyBhN2QxY2Y5NWRhZGM1OWU2NDk0NzkxOGJhMjlhNDRjZWE4ZWZkN2I1IGxlZ2FjeS10cnVuaworMTIzNjQgOGE2NTM2YzFhMGE0NjI2ODA2MTIzNWExZjQ0MDM2N2NhZWM3Y2I5YSBsZWdhY3ktdHJ1bmsKKzEyMzY1IDYwZjQyNTg2ODY2ZWFmMjUzNWY1YjI0YzEwMjkwYzg1YTg1MmI1NGUgbGVnYWN5LXRydW5rCisxMjM2NiAwYWFlYTQ4OTAyZTQzYjI3NjA3MzQ4MjExOGQ1OTE5ZjgxYTQxYTc5IGxlZ2FjeS10cnVuaworMTIzNjcgZjc3Yjk0MWEwZjkzNmRlM2JkMDFmZjczNzEzMzM2NWE3YzdkZmNkMiBsZWdhY3ktdHJ1bmsKKzEyMzY5IGM5NWZmZjhmMTgwYThkN2NjODZlMWNmZGVlOWNlM2UwODkzM2RiODIgbGVnYWN5LXRydW5rCisxMjM3MCBhNThmMzYzNTJjNGYzZmVkY2MzMTRjNzJmMGJiM2I3MjA5ZDQ2MmFhIGxlZ2FjeS10cnVuaworMTIzNzEgMzNjNGJhNzc3YTNhN2QxY2EyMjI0MzM1MjUwODQ5ZTJlZjcwMTQwNCBsZWdhY3ktdHJ1bmsKKzEyMzcyIGVlMzZlMWYxMzBjY2JiNzlmN2ViOTNlZjdlYTUyZTQ5MzM1NmExNjQgbGVnYWN5LXRydW5rCisxMjM3MyBlM2E3OWY5M2QxZDNlNThkOTE0MjllOWIxOGFkOTA3ZjllZGY3YTU0IGxlZ2FjeS10cnVuaworMTIzNzQgZjM1MmVlYTY4MzczNDkzNWM2YTdkNDY3MTI1NTZmYjE1MmQ0ZjBhYyBsZWdhY3ktdHJ1bmsKKzEyMzc1IDlkYTQyNDkzNWY3ODY3Mzg2ODcxOGViMjY3NGMyZjdkZDFkYTQ4ZmYgbGVnYWN5LXRydW5rCisxMjM3NiAyYWIxODk1ODVkMjM4NjU4YzkzZDYzM2Q0ZGM3ZDZlZTJmN2MzYmIxIGxlZ2FjeS10cnVuaworMTIzNzcgNzc4NjI5Nzg0N2FjYTBhNjBjM2E4OGI2MmM3YTQyM2FiNWExYTAzZCBsZWdhY3ktdHJ1bmsKKzEyMzc4IGY3OGZkOWI2NzI4NGFkYzRjYWVmNGUwNTQ4ZDMxZjc4N2E4MDkxYTUgbGVnYWN5LXRydW5rCisxMjM3OSAxYWMzNDg1ZjllM2UzNjc2YjJmZThjZDg3NjUzMWZkZWQ4ODM5OGZlIGxlZ2FjeS10cnVuaworMTIzODAgZTE0ZmVlZTRjNDU2YmM4NmUzZTI5YmE0OGY2MTEwZDAxODBkY2RkMSBsZWdhY3ktdHJ1bmsKKzEyMzgxIGIwZWRjODkyZmM3ODJlOTBiMzdjODkzNzZiNTNmMGQzZjMwM2E0N2IgbGVnYWN5LXRydW5rCisxMjM4MiA2NTkzN2ZmNzE4ZGVmYzVkYWUyOWM3NjJkN2EyMjk2ZmNjZDM5Mjg2IGxlZ2FjeS10cnVuaworMTIzODMgZGU0MWU4ZDgyMTFkZDM1ZGI2YmZhMjM5MTA0YzdjOWFkNzVkZDg4NyBsZWdhY3ktdHJ1bmsKKzEyMzg0IDM1ODljMGU1NmVmMjUxNjYxZDMyNTAyN2NlNjA4OGU3YThiYTZiODkgbGVnYWN5LXRydW5rCisxMjM4NSA3MTk1ZWMyOTZiM2Q5NDQwMzQyZmI4YTc4ODgxNGRiZTEwYmUyMWQwIGxlZ2FjeS10cnVuaworMTIzODYgMTRkY2JiMzRiOWRkM2FlMzFmMzc0MGI1MTVkZmNlYTNkZmVjM2JjOSBsZWdhY3ktdHJ1bmsKKzEyMzg3IDAzMGVlNTBiZDhkMWI0ODU4MDg4NjQzMmM1YWEyNTU4ZDM3MGVjZTMgbGVnYWN5LXRydW5rCisxMjM4OCBmYWU2ZDI0Yjg5N2JjZTY0YWJkOTY3OTg2NmNlYjQ0MGIzMjNkNjI2IGxlZ2FjeS10cnVuaworMTIzODkgYWU5MDhlZjkxY2YwY2M1Njk4ZjFhOGFhMTczZGU4M2UwNmYzZjQwOSBsZWdhY3ktdHJ1bmsKKzEyMzkwIGRkYjgzYjI1MjI2ZWI3MDNiZjAwMDBjYzJiMzI5NGMwZWFkNGEwMDIgbGVnYWN5LXRydW5rCisxMjM5MSA5ZjEzZDczODBiZjg5ODMzMjE5NGJlZjIyMmVhN2M0MjkzYmIzMmExIGxlZ2FjeS10cnVuaworMTIzOTIgMjkxYzJkMGE5NjgzYzRjOGU0Yjg5N2ExOTNlYjdjZWRkNzIyNTcxMCBsZWdhY3ktdHJ1bmsKKzEyMzkzIDViZDZkY2YxNmQ0MWFiZmFiMDI5N2IxY2QxM2UwNWM4MmJhZGUzYTQgbGVnYWN5LXRydW5rCisxMjM5NCBiM2ZiODQxMGY2YWU5OTI1YjliNzJmM2MwNmJlY2QzZTAwZTBjZTRjIGxlZ2FjeS10cnVuaworMTIzOTUgN2UyZTUzZTc0OGM4NTg1YmJlYTlhZGYzNTU3YzEzNGNhMjg0Yjg0ZSBsZWdhY3ktdHJ1bmsKKzEyMzk2IDRkODZiNWE1YmY5ZTI0YTg5MjEzYjMwY2ZkOTNjOTMyMDcyMjhmMDkgbGVnYWN5LXRydW5rCisxMjM5NyBhMmQzMzdiMmUyMWJhNGJmNGRlNDEzNzU2MTE5NjM4YmFlZTQ3ZjJlIGxlZ2FjeS10cnVuaworMTIzOTggZjg4ZDE0YWRlZDc3MDQwYWZkZWViY2VlZmQyOWVkZmNkNTNlYjUzNCBsZWdhY3ktdHJ1bmsKKzEyMzk5IDdiZGVmNGJlZGQ1Y2U2Mjg4MTIxNWFhY2FjNjMwMmJhOTAwOTViOWYgbGVnYWN5LXRydW5rCisxMjQwMCA5MmFlMTE1NTczYWYyOWJlZjA0NmY2NjkxMGNlZGU1NGYxODUyYjI1IGxlZ2FjeS10cnVuaworMTI0MDEgNWFkMWEzNWY1NDBjNjU5MGJlMjJlOTAwOGE5MTEwNjUxMTM4MTNhOSBsZWdhY3ktdHJ1bmsKKzEyNDAyIGJhYzk2NTU1MmY3ZTZjNGRmOTRlMzYyMTQ4MWRkYTJiNDlkM2E2ZTUgbGVnYWN5LXRydW5rCisxMjQwMyA2OTUxMTNjNjUwYmI1OTYyYmEyNDdlZTNiMWZhMzQwMjM3OTNiMjQ2IGxlZ2FjeS10cnVuaworMTI0MDQgN2FhNTE1MzIwMDZhOWUzMzhjZDE2OTllZDZmYmRhOTg5NWQ1YmEyNSBsZWdhY3ktdHJ1bmsKKzEyNDA1IDFjNDY5NzA4MGQwNzE5YWQwZWQ0ZDRmODQ3ZGY1YjZiZTUyN2NmMTggbGVnYWN5LXRydW5rCisxMjQwNiBkOTVhZmU4N2RiNGRjYWI0MjQwYzIzZGU0YzI4NzZmMzMwMWVjMzkzIGxlZ2FjeS10cnVuaworMTI0MDcgNmNmMDFlYWIwNWEzMmFhYmMwOWVkMjNjZjExOWY5ODJiMmQ1NmFmNSBsZWdhY3ktdHJ1bmsKKzEyNDA4IDc4MDU5Y2YwNjdkZWZiYTBlZWUwYTViYmUxMDkyYzYyMDQ2YWE0NWIgbGVnYWN5LXRydW5rCisxMjQwOSAxMTQxNGYwMjNhZDBhMTMzMzEyNGI2YzU5NWJiYjFhYTliMzIwMzcxIGxlZ2FjeS10cnVuaworMTI0MTAgYThhMDcxOTk2YTczZDk3ZmIzMDhhYTQ3YjgxYzBkOTQ1OTIyYzlmMyBsZWdhY3ktdHJ1bmsKKzEyNDExIDM3YzNhZmZiMDViYTIzZWY2ODkwMDdkZDllNjk5OTBlMGI5MGM4OWEgbGVnYWN5LXRydW5rCisxMjQxMiAxOGMwNmQzOWNlMmMyYTg3YzE1Y2Q5NTIwOTk3ZGM2ZTQ0ZjgyYzJjIGxlZ2FjeS10cnVuaworMTI0MTMgMjBkOThjYTNkMzJmYWJhYzBmY2YzYjNiNGY4YTY3N2ExMjVmZjAyOSBsZWdhY3ktdHJ1bmsKKzEyNDE0IDkwMzQ0YzI2MWYyNDUwZjU3ZmIwZjBhZTAyZmIwMjBlMGQ4ZGMyNzEgbGVnYWN5LXRydW5rCisxMjQxNSBiNzRmNTVlN2QyMDhmNzA3NTQwZjQyMzY1YmZiNWZkYThmMjJjYjNiIGxlZ2FjeS10cnVuaworMTI0MTYgOWUyNTU1ZWRjOTRmNDg4N2UwMzY1YWMwYzEyNzI1ODBhY2ZiNjMxOSBsZWdhY3ktdHJ1bmsKKzEyNDE3IDI0ODYxNmQzZWQxMmNkYzllMWM1YmZlY2YzOGUyZjcyZDk2Zjg1YzQgbGVnYWN5LXRydW5rCisxMjQxOCA5YTdlNzhlOGJkZmEyOTIyMzcxNjQ1MTE5YThiMzAyNjg4NzI5ZDgwIGxlZ2FjeS10cnVuaworMTI0MTkgMjg2ODU0NzcxYjExOTExZjhhODUyNzEzYmQwODM4N2MxMzQ3YzBjNiBsZWdhY3ktdHJ1bmsKKzEyNDIwIDM3YWE4NGQyNzhjNTU5OTg0ZjNiZjY1MjEwYmE2OWYyY2M5NWY2OGMgbGVnYWN5LXRydW5rCisxMjQyMSBhNzgxMDAzNzA1MTVjZDEzZmFiZTRjMzU2ZTRmMGY4OWExN2ZmZGMyIGxlZ2FjeS10cnVuaworMTI0MjIgNjMxMjQ4YzljNjJlMTYyMWZmOTVkNDM2Mjg5Y2I0NmM4N2RlNWVkOSBsZWdhY3ktdHJ1bmsKKzEyNDIzIDFhNzk5ZDFkNGI1YTZlMTljMzhlZDE1ZGRmZDM4ODEzZmVlNjEyOTAgbGVnYWN5LXRydW5rCisxMjQyNCA2YzEwNzcyODQwMDFkNjExZDkwNTU0NjAxZDI2NjM2MzhmMmEyY2Q5IGxlZ2FjeS10cnVuaworMTI0MjUgNzZiZGFkMjNmY2RiOGE3NWVlYjI2ZmQyMmNhODY3YzVlMjk0NTkxYiBsZWdhY3ktdHJ1bmsKKzEyNDI2IDViMTc3ZDUxYmEyNzU4MTNhOTEyMzJjZmJmMmJmOGExYjIxOTlkYjAgbGVnYWN5LXRydW5rCisxMjQyNyBhNThkOGU0NGNlMzJmZDQ2NzQwNTA1ZGI3YmIyOGI0Yzk5ZDBhYTBlIGxlZ2FjeS10cnVuaworMTI0MjggMDQ1NTQwMjY3N2E4YWRmMWM3ODQzMTE2ZmE5NzlmZGE3MTQ0ODUwMCBsZWdhY3ktdHJ1bmsKKzEyNDI5IDM1ZjU2ODQ4MDc2NGFmZmIzOTZkYTUwNjVhNjk5YWM5ZjAyMDcyNzEgbGVnYWN5LXRydW5rCisxMjQzMCA0YmRmZTVkODBhNmY1YjkyM2I1ZGJmYWU4NTcyODk3ZDE5OGFkZjViIGxlZ2FjeS10cnVuaworMTI0MzEgNWY0ZDMyYjFhNjU4M2ZmYmYzY2RmMTk4MjlmMzdiZDA5ZmJmMmNhYSBsZWdhY3ktdHJ1bmsKKzEyNDMyIGY4NjdlMTNkYTU3NGNlN2JkZWEwNDI0YWFkZjY0YTcyMzhkODdjYzEgbGVnYWN5LXRydW5rCisxMjQzMyAwMGZjMThhYzZhZWI4ZTdmMzI0NzYxNGFkNmJlYWIyMWNhOWRhODkyIGxlZ2FjeS10cnVuaworMTI0MzQgMWRlM2RiYjI2YzJmYTJlYWFlMmYzNzFkZmUxMTk3MTI2Y2NjZWI1NiBsZWdhY3ktdHJ1bmsKKzEyNDM1IDE4OWYxZWM1YzY4ZjNkZDY3ZTJkYTQ4YjI2OGUzNmY2ZmNlYWE3YmUgbGVnYWN5LXRydW5rCisxMjQzNiAxNWU5NzYxZTU0ZGUxZDU3YWM0ODY1OTU1MzkyNWRiYWJhOTNjZDM1IGxlZ2FjeS10cnVuaworMTI0MzcgYWQ3NDlmYjBiZDRiZDQ1YmE5NDg5NzFhMjU0YTAzNjdhNGM1Y2QyMyBsZWdhY3ktdHJ1bmsKKzEyNDM4IGE2NGE2MTViYjc1NjMzMGY3YjlkNWEzYmYwYjA0NWY3NzE4OTllMTEgbGVnYWN5LXRydW5rCisxMjQzOSBjNTkyYzE3NzFkZmI1ZTYzZmU3ZTlmNGE5ZGEyNTBiNTc0YjEwZDA2IGxlZ2FjeS10cnVuaworMTI0NDAgMzM3ODQzYzZhMTgzNjlkNTc1MGJlYjUwOTA2MGM0ZTM3MDEzNTlkOCBsZWdhY3ktdHJ1bmsKKzEyNDQxIGZhZjM1MWUzMTU3MWQ4OGFlNzY5MDA5ZjlmNzBhMWE5ZjY1ZTNkN2QgbGVnYWN5LXRydW5rCisxMjQ0MiA5M2I5ZWFmZTFmMWRlODJhMWEyMDcxZjg4OTBkZDVhODIyNjlmNWI1IGxlZ2FjeS10cnVuaworMTI0NDMgMDZjN2ZmZjUyNzRhN2JmZDNjOWM2NmM4OTEyMDEyMzMxNjYyODI0MSBsZWdhY3ktdHJ1bmsKKzEyNDQ0IDYyNjMyN2E3OGE4ZWUzNmE5YTRlYjM1OGZkNDgwNjQ3ZTU3MDdmNjggbGVnYWN5LXRydW5rCisxMjQ0NSA0ZGExZmFmMjk3YWI4ZmEzNzQ2NDYxYWU1NTUzMDYyOTRlZmJlOGM1IGxlZ2FjeS10cnVuaworMTI0NDYgMzk2YTM4ZWE5Yjg0ZmFjZWIyNmFkNTM3ZDYwNjc2YjZkNzFkMWYxOSBsZWdhY3ktdHJ1bmsKKzEyNDQ3IGMzOWM0YmM0NWQzOTFlMmRmMWRiOGExY2Y1MTlkZDM5ZGZlY2MzZTUgbGVnYWN5LXRydW5rCisxMjQ0OCBjODc2NjJlZjNmMWRiNThhMjM0M2NhNDM5NjVjOWQwOGFlMGJhZTE3IGxlZ2FjeS10cnVuaworMTI0NDkgN2M5OTZmMzQwNDcyMGEyMzcwYzIzODNjNWFiNGU3ZTNmMzU4MTNlZiBsZWdhY3ktdHJ1bmsKKzEyNDUwIDc1Mzk4NTllOTg1YTE0YTRhYzdhNDRiMGNjNzE3ZmVlMjdjYjU5ZDggbGVnYWN5LXRydW5rCisxMjQ1MSA5OGUzNzM0NzM3OGIwMDZjZTZmY2M0OTIwOGUyMjRhY2M4YzNjMzExIGxlZ2FjeS10cnVuaworMTI0NTIgYWU4M2Y2MWQzY2Q3ZTcxOTlmZDUxYTM0NGI1ZGExOThlYWUxZjBlMCBsZWdhY3ktdHJ1bmsKKzEyNDUzIDQwNDYzZDUxNGYzZWE0YmE0OGEyYzI2ODQ1NTMwMWUxYTBlZWViZDQgbGVnYWN5LXRydW5rCisxMjQ1NCBlNWQwZGY4MjRiZjM4Mjc0OGMxZTBkYmM0ZmMzNmEwNTg2NjVkMTlkIGxlZ2FjeS10cnVuaworMTI0NTUgY2EyNzQ1MjcxMTExNjQwMWMwMjE1MjgwYWU0Y2Q5YzA5Nzk3NzE3YiBsZWdhY3ktdHJ1bmsKKzEyNDU2IGM0MDRhNmIwY2RiMWUyN2E1N2EwMGMwZTM0ZTZmNTFkMWMxNWRhMDQgbGVnYWN5LXRydW5rCisxMjQ1NyA5YTg0MmI4MWQ5YzNlOTRkZTcxYTQxZmRlZGExNTFlMDVjYWZlM2JiIGxlZ2FjeS10cnVuaworMTI0NTggNzE2ZGMxZDFkYmZmODkwMWMyNTkxMDFhODhhZjBiYjkyZWFhY2I0ZCBsZWdhY3ktdHJ1bmsKKzEyNDU5IDU3YmNjNmVjNjM4ZjZlYjljZWQ5MTIyMjhiNTkxNDJlYjk5ZmY2NTYgbGVnYWN5LXRydW5rCisxMjQ2MCAyNzUwZTFkZTY4MjlhZDE3OWJlMjQ3ZjFjYjA5YWMxNzgzY2ViMTQxIGxlZ2FjeS10cnVuaworMTI0NjEgNTcyZTEzMWFlMzY5MGZiNWQyMDQ3OTA0MWI4ZGNlODRjNjg4Mjg4OSBsZWdhY3ktdHJ1bmsKKzEyNDYyIDkyYTI1ZDUxZmYyNmNlMjUxNWQ0MGUxZjhlZGVmOWJkZjdjOTJjMTAgbGVnYWN5LXRydW5rCisxMjQ2MyA4NzllMzQ5MWI2NjFiOGU1YTViZWJhODYyM2E3ZTU2OTE5ZGU0MjZhIGxlZ2FjeS10cnVuaworMTI0NjQgODk0OTYwZmE5MGJjNzU1OWI3YTVlNzkzMmVhZjM1OGFlZjRmZTQ4MyBsZWdhY3ktdHJ1bmsKKzEyNDY1IDBkMjc5MWM3MjA2ZGFmYmFjOWFlOGFkOWM1Njg3ZWMxZmEzOTg3Y2UgbGVnYWN5LXRydW5rCisxMjQ2NiBkNDRjYjg3ZTUwMGRiYmM3YTE4OTViMTMwOGNhMmRiYTZjZWZjZGJiIGxlZ2FjeS10cnVuaworMTI0NjcgYzEwOTFlODJlNWFhYjA2ZGQ0ZDI1NDcyYTE5YjU1ODcyN2ZhZjNjNCBsZWdhY3ktdHJ1bmsKKzEyNDY4IDA3ZDMzMzQ4NWE1ZTA4YjI0ZjcwNzQ5ZDMyM2M1YWNhY2E0NTQ2NzEgbGVnYWN5LXRydW5rCisxMjQ2OSA0NDE0NmMwNmU3ZWQzYzc4N2ViMDExY2U0NzgyN2FiYzAxMjg4NWVkIGxlZ2FjeS10cnVuaworMTI0NzAgNDg1NTAyYzQyZDg5YTVkNjhlNGZmYTkwYjBiYzU3ODhlYTNlZjJjYyBsZWdhY3ktdHJ1bmsKKzEyNDcxIGVlODRmNDQ1ZTZkN2ExY2Y4ZjhlNjljNTg4ZWRhYjllMDE2NWNmYzMgbGVnYWN5LXRydW5rCisxMjQ3MiA4ZWZhMzdhNzcwYzY0N2I2NTg1ZTZmZGEzMzU5MDE1NGMyZjdjZmYzIGxlZ2FjeS10cnVuaworMTI0NzMgMDM5MGFmNmFjZjdmYTk4OTVjZGJmZDg0NjQxYWFiNmNhZjA2ODBmYSBsZWdhY3ktdHJ1bmsKKzEyNDc0IDE5ZmRhZjM2N2Q0NWI2ZGQyNDFmMTFkOWVkYTExMWNlOTZhNjdjYzEgbGVnYWN5LXRydW5rCisxMjQ3NSA0ZWMzYjNjYjA3YzhhMWVhMDI1MmQ3MTU1NmUxYmZiZTdjMmVlMzYxIGxlZ2FjeS10cnVuaworMTI0NzYgNjJmYTAzYTMzM2FhZmVkY2U3MmM4ZWU5ZTM3YjljMGY2YTIzM2U1MSBsZWdhY3ktdHJ1bmsKKzEyNDc3IGYxYTUyMGQyNjMxYThlY2RiZDJjMjQ5ZWMzMDdmMWQxNmNhZWYxMDYgbGVnYWN5LXRydW5rCisxMjQ3OCA0ZTJlZmY5NjhjZjVjNjcxZDEyYTVjZmU0NWRjOWNjODE0MzZjY2FkIGxlZ2FjeS10cnVuaworMTI0NzkgZjhmYzkxYjAxN2ExNDMxNWFmYmRlNWNmMTQ2NDM2OTM0MGZjMGUzOCBsZWdhY3ktdHJ1bmsKKzEyNDgwIGY2YjJmMjBkYTU4MTY3ZGM4NjY2MTZlNmI3MjMwMjgxM2QxM2FlNzkgbGVnYWN5LXRydW5rCisxMjQ4MSA0ODllZjdmNjQwNDEwYjJjZTdmM2U5OGY4YzllYzY1MDBhZDI5M2U4IGxlZ2FjeS10cnVuaworMTI0ODIgZGNiZTcyYTBiMzkyNmI5NDJlNmFjYThhMmE1Y2QyYWEyN2QyODg4NCBsZWdhY3ktdHJ1bmsKKzEyNDgzIDc1OTEyMWUzZDliNmQ2NzI5NWQ4OGMxN2RhYTA5YzFkZTc1MjhkZWIgbGVnYWN5LXRydW5rCisxMjQ4NCBhZGZhY2JjYmQ5MzYxYzkyOWUyZGZlNDQ2MzU5MjY1Y2JhOTEzZDczIGxlZ2FjeS10cnVuaworMTI0ODUgYzg2NmYxNjYzMzFiYjY2NTVmN2Y3NGE3NmIzYmZkZDQxYTk5ODFiMyBsZWdhY3ktdHJ1bmsKKzEyNDg2IDRhZjM4YTQ1ZDI5YzhjOTIwYTg2YmRlOWJkNjFmMDMxZTM1ZjhkNmMgbGVnYWN5LXRydW5rCisxMjQ4NyBhNmNiODhiNTgxNjUyM2YzOTM2MTUyMWIyZmZmYzlhNDZlOWE4Y2U4IGxlZ2FjeS10cnVuaworMTI0ODggZDRiOGRkZDlhNGZkMGZkN2YyMDQyMmE2N2VjM2QxY2I4ZTNhZDQyNyBsZWdhY3ktdHJ1bmsKKzEyNDg5IGI3YmNjMmNkYTFiM2IyNjE4MmYyOGFlZDkwMDViMTEzNzgzZjc3NjQgbGVnYWN5LXRydW5rCisxMjQ5MCBjZmJjYWI4MTUwZGE5MTc0MzA0N2JhMmFlYTZhN2E1NzEzYmUyNTJkIGxlZ2FjeS10cnVuaworMTI0OTEgNzhmZjIwM2VhZDI0NTRkNGYwZjY2ZGNiNGM2ZmVhZDI1NzdkNDZjNCBsZWdhY3ktdHJ1bmsKKzEyNDkyIDEyNGVmNjk0YzI4NDQzZTQyMDZmMTQ4ODljNGFkMjFmZjYzOTVmNzcgbGVnYWN5LXRydW5rCisxMjQ5MyBkZGJiZWQ4Y2I4MzBlZTQ5ZGFjODdjNTJlYTlmNzE2YTA5YWYxMjQzIGxlZ2FjeS10cnVuaworMTI0OTQgMDA5YzliYTlmNjU4YjI1OWM3ZGNjZGU0MGQ4NmQ2YWIxMjg2ZDk4MiBsZWdhY3ktdHJ1bmsKKzEyNDk1IDE2YmQwZmRlMDlhZWNiNzIzNjdmNTVjZTdlNjhkNTIxMDY0MjhhZTcgbGVnYWN5LXRydW5rCisxMjQ5NiBhNzhkMzA1NmFiNjEwNGIzNTAyZjJkMzU5ZDRjYzIzOTQ0ZDUwYWNjIGxlZ2FjeS10cnVuaworMTI0OTcgYmRkZThmYmFlYTU4YzdkY2UyZjZlYjZhNTdkZjczYWRiNWFhNzhiYiBsZWdhY3ktdHJ1bmsKKzEyNDk4IGVlZDBjYWNmNGM2NGQ4ZmYxZWNhMzdmMTVmMzVlZTdmM2MyNDQyZjIgbGVnYWN5LXRydW5rCisxMjQ5OSA4YzZlNzA1YjZiOTcxZDQyMTI2YmEzMDA2MTgyMDYyODEzZjVlZjc3IGxlZ2FjeS10cnVuaworMTI1MDAgYTFiY2YzZjI5ZjY2ZGY1ZDQ2MzMyODY4NDFiYzU5NGZhNzVjNmEyOCBsZWdhY3ktdHJ1bmsKKzEyNTAxIGMwZGFmZmU0MDAzNDY4OWZjZDIyMmY4ZTJjN2E1NDQyYTkxNzI1YmYgbGVnYWN5LXRydW5rCisxMjUwMiA0NDE1MDAwMTlkNTBhY2MyNWM1ZmViNGQxNTE2ZmRlZjQ3ODMwZGVkIGxlZ2FjeS10cnVuaworMTI1MDMgMmIyMzhkMTlhZTg4YTdjYmIzNzNjNjUwNTc1NGMwZmQxYTIwZTczMSBsZWdhY3ktdHJ1bmsKKzEyNTA0IDRhYjVlOWY4MzlkOTc0NmQ5ZjJmZjk1MzA4NTFmYzdhZWU5MWI2ZGYgbGVnYWN5LXRydW5rCisxMjUwNSAwYTU2ZTUwODI2ODBiOWYyNTQxMGMxNjljM2JhNzA3YTVlZmE1NjkxIGxlZ2FjeS10cnVuaworMTI1MDYgM2E0MjA3MTdiYzhhNDJlOTU3NTAxZjA1MDAwYjNiMTkyOWY3ZmZhMyBsZWdhY3ktdHJ1bmsKKzEyNTA3IDc3YTk0NTMxNTI5ZWMyMTJhNzRlOGJhODc0NTJlNjc5NWY1NWViN2IgbGVnYWN5LXRydW5rCisxMjUwOCBmZTBiNTIyZTQ2Y2IzYzg2MTMzNDkzYjQyZDM2NWRjOTI4NjBlOTJjIGxlZ2FjeS10cnVuaworMTI1MDkgZWY1Y2YxYTRlNTJhOWM0ODU0MGM5ZmQzOWMzOTJlZDc3NTM2ZDBiMiBsZWdhY3ktdHJ1bmsKKzEyNTEwIDU1ZjhjNzAxYzlkYWQxMWE1NDFjNzBiMDAzNjEwNzFkNGQ5NGI1YWEgbGVnYWN5LXRydW5rCisxMjUxMSBhYjZkZDcwZjI1MDc2ZjY4OTI0YTg5OWNkMGZmNzQ4YjkyMzljMGExIGxlZ2FjeS10cnVuaworMTI1MTIgNDY3MWFlMTAzNWIzODk1OTkwOTgzN2FiYzZkOGUzNjk0NTlmNDcyZCBsZWdhY3ktdHJ1bmsKKzEyNTEzIDQyYjIyOGQ3OGJlYWQxMmQzM2U3ZDAzMGM0YjM2ODYzNzllOGMyMTIgbGVnYWN5LXRydW5rCisxMjUxNCA0YTI1ZGQ4NWRmNjIyYTVjODYwZGI5ODczZDc4NjU0Njc2NWMzMGFiIGxlZ2FjeS10cnVuaworMTI1MTUgOThmYTUzNWI5YWYxZWY2MGFmMWZlOGU3OWEwZGM4OGNhMzA0ZjBjZSBsZWdhY3ktdHJ1bmsKKzEyNTE2IDYzN2ViOTYxYzExYmY1MjZiOGMzNDAyZWU3OTczNWI5MWM1MmUxMzggbGVnYWN5LXRydW5rCisxMjUxNyAyYTBjZjk2NzcxOTM5ODMzNGNmZGVlMmVlNjY3ODAzYzY0YzRiNjU2IGxlZ2FjeS10cnVuaworMTI1MTggYzY5MTNjNzMyNmYwOTZjMDIzMDQyZjE1NTAzNTAzM2Q4MDNiNjY2ZCBsZWdhY3ktdHJ1bmsKKzEyNTE5IGYyNDU3ZDY5N2EyYTI4ZTEzZTkzOWI5NjVlZmQyMDQ3OTllNDc1NmYgbGVnYWN5LXRydW5rCisxMjUyMCBkNzk3OWY0ZWQyYjYxNjM1NjVlZWIyODQ3NzM0YmYyNDczZWUyZTZkIGxlZ2FjeS10cnVuaworMTI1MjEgODMyNzY2OGNmZDE3MTRkMTJkZGZkODk5NjExNWQ5MjA4MTA1M2MzNSBsZWdhY3ktdHJ1bmsKKzEyNTIyIDk0MTI1YTEzNDNkODE4ZGRkYmEwMjg2ZDhjZjc4NzY1MDZiNDEzZjQgbGVnYWN5LXRydW5rCisxMjUyMyAyMTgzZjUwNmEwOGUxYzhiZTY2YjVlZjZjMDk5M2Y2ZDQyMzIxOWU5IGxlZ2FjeS10cnVuaworMTI1MjQgMjgxOTRmNTFmN2ZlNTRjNDFjZjdiZDA3NzUyOWZjNTIwM2Q1ZjAyMSBsZWdhY3ktdHJ1bmsKKzEyNTI1IDg5ZGNlYTYzYzQ2YmVhMDJiNWMzNTgwMjQ3ZDMzZjRhOTVjNWZhYWUgbGVnYWN5LXRydW5rCisxMjUyNiBjYWYyYzY1YTZiY2YyNWY5NjUwYzM1MzAxY2U4ZTA2MDI5NGJlMTM4IGxlZ2FjeS10cnVuaworMTI1MjcgZjU3MmFlMzZkNWJhYzliNDU2YTM5ZDdhZGE3ZWJjZGIwNTZlNjg5NyBsZWdhY3ktdHJ1bmsKKzEyNTI4IDYyMDY4NWU0YzQ3N2UyMDdhOWUxODc5NDdmNTYyZTMzMTQ3Y2JjMDcgbGVnYWN5LXRydW5rCisxMjUyOSAwODBiZDQ2ZjM4NDg3OTljZGY1MDEwZTk3ZDgyNGIyNDZiMmMwMTllIGxlZ2FjeS10cnVuaworMTI1MzAgMTY3YWRmMzE3ODZkNzM0NjJhN2NjNmZhZTdiNDZjNjVmMGU2NzgwZSBsZWdhY3ktdHJ1bmsKKzEyNTMxIDAzNGI0MmJhNjhhNjk5M2E4YTFmM2FlNGYxNTc2NzVmMDBhZGI5YTMgbGVnYWN5LXRydW5rCisxMjUzMiA3NGQwZDJmM2NiMWRiYThmYzFhODE2MGNhNzgwNWUyOWM2YjM5M2I5IGxlZ2FjeS10cnVuaworMTI1MzMgZGU1NjhlYTBkMDQwZWI2MzBkZWRjNTkyZTY1Njg3YTY4NWE1MzA2YiBsZWdhY3ktdHJ1bmsKKzEyNTM0IDIwZThhMzM0NGEwZmY2MGNkOGM0YzZkMTM1NWZlOWNhNzk3ODU2MmEgbGVnYWN5LXRydW5rCisxMjUzNSAxMDUxZWY5OTQzMWU1ZmVkY2FlMWMwNGU3OWU5MTVlYTk3MzAzOTgzIGxlZ2FjeS10cnVuaworMTI1MzYgYzliMDcwMDc0Yzg1ZDNiY2YyYjMxMTBkMmVjNDU5YmIzMTcyYzgwNSBsZWdhY3ktdHJ1bmsKKzEyNTM3IGI3MmE4YzQ4ZjJkMDA0M2YzZmYwNTgwNTgzN2JhMjA2NTg3MGVjM2YgbGVnYWN5LXRydW5rCisxMjUzOCBmNWRmMjJmZGFkYTg4NTliODAxZDYwYWY1YWRlOThlMDIxNjc1ZWZjIGxlZ2FjeS10cnVuaworMTI1MzkgZjEzMmVjZmRiMjg1NTc3N2Y2MDQyY2Q1MWE1YWQ0N2FkNzU1ZmUzZiBsZWdhY3ktdHJ1bmsKKzEyNTQwIGJhMDNlNjhkZjBmZDRmMDkwZGQ3MDZlMWQ4NjM4NDRiMjhhZDVkYjAgbGVnYWN5LXRydW5rCisxMjU0MSA2ZGZmNzY5NmUzNTgxMTJlMmE1MDhkZWYxNWU1MmEzN2I0Y2E1ZTYyIGxlZ2FjeS10cnVuaworMTI1NDIgM2FkMmIyZTMxZjUzMDhlYTNmYjIyM2Q0YjVlMzYzZTZhMzQzYjEyNiBsZWdhY3ktdHJ1bmsKKzEyNTQzIDMyNjUyZjY5OTZlMzc0M2UxOGM2ZGI2NGY4NGFiZDliN2Q5ZWJiMmUgbGVnYWN5LXRydW5rCisxMjU0NCBmMmMwNzJiMDU0NjY1NGQ2MjE0YTAzYjQ4NTQ4ZDUwOGIwMjZmYzcyIGxlZ2FjeS10cnVuaworMTI1NDUgMGRjNTBkNDNmYjg0NjM0ZGQ5NzhlZDNiOWU4NzEwZTdkMmYxMDU5MiBsZWdhY3ktdHJ1bmsKKzEyNTQ2IDhjZjY2YjFkNDE1NWVjZDFlOTBjMzkxOTFmM2JlOWI0OTU0ZWFjZjEgbGVnYWN5LXRydW5rCisxMjU0NyBlZTlhOGZlMGNmY2E1ZjExMGQ3OGI4OWZmNDgzNjg2NTEwZWQzYTZlIGxlZ2FjeS10cnVuaworMTI1NDggYzA3MzlmNjQxYmQxZDU4MWEyMjkyMjIwMjVlNGU5YmVmYzdhZmI3YiBsZWdhY3ktdHJ1bmsKKzEyNTQ5IGEwYjA2ODkxZDI4NjAwNjZjZWM5N2Y0NDZiODU2Mzg1ZDIxNjQ4MGIgbGVnYWN5LXRydW5rCisxMjU1MCA3Yjg4YzEyYjg3MDFjZGU2NjMxNTM0NGQ1MjY2ZmU4MDBkMTk3ZWU1IGxlZ2FjeS10cnVuaworMTI1NTEgZGNlMTA0ZTFhNzNiYmRjY2FlNjRhYWVlODE1Y2IwMTUxNjk2MTFlZSBsZWdhY3ktdHJ1bmsKKzEyNTUyIDY2ODU4ZmRmNDY3ZWJhMWM1MmQ2MDMyM2Y3MTJkYTQ5OGU4ODc3NWIgbGVnYWN5LXRydW5rCisxMjU1MyBmMDcyMDNjYzI3NDBhOTE5NzEyNzg5OGY1MGNiY2Q3ZjU2NjJlYzAyIGxlZ2FjeS10cnVuaworMTI1NTQgNzk0YTIxYTVhZDM1ZTE5MWFjOTZhMTIxZmZiNDRkMjI5ODc1NGI0MSBsZWdhY3ktdHJ1bmsKKzEyNTU1IGYzM2VkOWUyYTYwN2ZhNGM5Y2Q1ODJhNTk2MzBmN2E4ZGJlNWEwYTUgbGVnYWN5LXRydW5rCisxMjU1NiAyN2NjN2EzMTQ1MDI2NjBhNzcyM2E1MGI5MTcwOTg1Y2UyOWQ4ZTM2IGxlZ2FjeS10cnVuaworMTI1NTcgODBlMGFhYjE3MDVlYmQ1NDIwMmFjMTM0MDM0ODk4OWQ4NGRmNjAyOSBsZWdhY3ktdHJ1bmsKKzEyNTU4IGI4MmE2MWE4ODRjZjI4NzYwN2E3ZTcyY2U0NmNjZGRmOGVjMGViZDEgbGVnYWN5LXRydW5rCisxMjU1OSAwNzVmODcxZDgwYjU1ZWVhYTU0OTM5N2RmZDlmZTE4ZTFiM2Y4NzE4IGxlZ2FjeS10cnVuaworMTI1NjAgZWU2MjU2MDgxMzY2ZDI4MTVjOGFlMWIzNjMzNDhhMTM1M2M1MmIyMiBsZWdhY3ktdHJ1bmsKKzEyNTYxIGM4OGFhOTU5M2EwOGVkMTEwMzBkNmY2MjdlMjhlNzk5ODUwZGEwMzEgbGVnYWN5LXRydW5rCisxMjU2MiAwMTVjYjYyMzFmM2Y4ZTY2ZWNhMWRmMDk0NmZkOGE2NWFmNWZkNzZlIGxlZ2FjeS10cnVuaworMTI1NjMgZGRkYTU4NTRlM2VhZDUyMjBkNmZhMGI4ZjU2NzhkMmEwODIzNGZjNCBsZWdhY3ktdHJ1bmsKKzEyNTY0IGQ1ZTY0YTYxNjMyMDAzYzZjNmE3ZGY2Y2U4MmZlMzc3YzY3ZmQ4MmQgbGVnYWN5LXRydW5rCisxMjU2NSA4ZmZlNDUwNDI4YjFiMzM5MDEwNWMwY2M5NzhiYzA4YmI5YWU0OTM1IGxlZ2FjeS10cnVuaworMTI1NjYgZDliN2EyMDgwOTcxYmEzMDllYjBkZTdmZGM1NDllYzNkYTU1NmEyYSBsZWdhY3ktdHJ1bmsKKzEyNTY3IDZhYmQ4NGFhYjA4YThlNTI5MWEwMmIyOGIwMjM5OGIxNGVjZmFjMTkgbGVnYWN5LXRydW5rCisxMjU2OCBkN2Y0MzRkNzg0YmY5ZTY4OTJjZGZlNWM2YmNlOWJhZmQzNTNjMmIwIGxlZ2FjeS10cnVuaworMTI1NjkgNzEwMjI4OTA0MmQ1ZThlNDQ5MGM0YTI2NjM1ZmNlNjM5ODJlOGEzNSBsZWdhY3ktdHJ1bmsKKzEyNTcwIDZkNmY0MjdhYjZlY2IxODM2M2JmNjJjZGE4NDViMWFkMDE0YTIzNjkgbGVnYWN5LXRydW5rCisxMjU3MSA1ZTAxNjQ1ZWU0MWI4YzIwY2Q2ZjAwMTM1OWFkZjYyYzQ2ZjZmNDNiIGxlZ2FjeS10cnVuaworMTI1NzIgMTM3MTc5MTg2OTI3YTA0MGMwZWE4MmFhNzNmYjNlMzE5NmE4NDBhNyBsZWdhY3ktdHJ1bmsKKzEyNTczIDY3ZWQwNWNmMTcxZDA4ZjUzNWEwYWFhM2JjMGU5MzA4NzQzMThiYWYgbGVnYWN5LXRydW5rCisxMjU3NCBlY2ViY2Q4NGRmMzdiMmFlZjBlMjI1MDc1ZWY5MDc5YTFiMjNhOTIyIGxlZ2FjeS10cnVuaworMTI1NzUgMWUyMWUyMjQ1M2RjM2M0Yzg1OGQyNTg4ZDU5ODM3NzAxZDE4OWNmZCBsZWdhY3ktdHJ1bmsKKzEyNTc2IGQ0ZTk2MzI1MDNkZmRhMzMwNGJlY2FmYjI1MzVhNWVjNDgwOTEyZDkgbGVnYWN5LXRydW5rCisxMjU3NyBkNmJhOGU1ZTU1YWQ0Yzg5YTQ4NzY0ZTdmYWNiNDJhMTYxNDhhODRmIGxlZ2FjeS10cnVuaworMTI1NzggY2JmNTUwM2IzMmQ1NTliNjNiM2MxMTljYTk1MTQ5NDc2ZmRkMDQyMCBsZWdhY3ktdHJ1bmsKKzEyNTc5IDgwYjIxNTI0OWIxN2Q1MWIyNjUwZjliYTBlODhmNzU5MzRiYjFmZjkgbGVnYWN5LXRydW5rCisxMjU4MCBjM2Q1MDY3OTQ5NjdkZjg0MWNjMjFiOTg5ZjNjYzZhOTIzYjY5N2Y1IGxlZ2FjeS10cnVuaworMTI1ODEgYmMzNjAyYTgzYWQzMjk1YjJkNjNmOGE4YjdjYjNhMmUxZmQ1ZjhhNyBsZWdhY3ktdHJ1bmsKKzEyNTgyIDZmNDJjOGZlODc1YjdkZTIyNTg0NzVmMjQ2NWJkY2YxYjY4MDcwYWIgbGVnYWN5LXRydW5rCisxMjU4MyA0OGFmMmM2Yjc0MWU5YzgwY2QzMGNhYTY0Yjc5NTE2MTA3MzhiNDI2IGxlZ2FjeS10cnVuaworMTI1ODQgYjU0NTRkYzIyZGNiODExZjNmMjEyN2NjYzA3ZWE1YTJiMzJmYzk1YSBsZWdhY3ktdHJ1bmsKKzEyNTg1IDQ4OTRkY2VhMTI2YjQwNzlkYzYwZTIwNzlhZDVkNjUyNjI4NGM1NjIgbGVnYWN5LXRydW5rCisxMjU4NiA1ODIzYjYxNWMzMDFlM2JiNjlmZjk5MTdmNDA4MGI2MDQwOWFhMzEzIGxlZ2FjeS10cnVuaworMTI1ODcgZDNlNDRlNjEwZWExNGIyMjdkMDBmMjU1MWVmN2Y4OGI2NzkyMjVjNiBsZWdhY3ktdHJ1bmsKKzEyNTg4IGM3MTQ0ZTdlODQ5NDIwNTA0ZjQyM2Y3MWQyOWQ5YWYxMTA5YWNmYTUgbGVnYWN5LXRydW5rCisxMjU4OSA5ZWZhNDI0NDVlYzlhZmVlZTMyYjliMDFjY2NiZjNhMTJjYTJiMmMzIGxlZ2FjeS10cnVuaworMTI1OTAgZjVhNTVkMzI3NjA4M2ViYzUwMWE0Yzk3YjkwNDU0YjI1OTVjZTY5YSBsZWdhY3ktdHJ1bmsKKzEyNTkxIDJhOWVmMWUwZjU0MWQ5ZGUxODE1M2RmODIxNDhmODFlY2E5YjQzMTUgbGVnYWN5LXRydW5rCisxMjU5MiBhYTAzMzY1MjdjNGU5NTYzMzk0ZGIwNGEyMGE4ZmQ0MmQ0NjFlN2JmIGxlZ2FjeS10cnVuaworMTI1OTMgOTY1ODZkYjM3OWZiYTlkOTg0YzYzNjg2NGI0MGY3YjQ0YTk4OTg3ZiBsZWdhY3ktdHJ1bmsKKzEyNTk0IDU3NDA3NWU5YTI1ZjRkYjdiNTQ2MTk1N2Y1YTNkN2M2ZmE2MDlmYmUgbGVnYWN5LXRydW5rCisxMjU5NSBkOGM0Mzc4ZWI4N2RhYmU5NDgzMzc1MjA1NWJiMDE2N2JiMWFlZjFhIGxlZ2FjeS10cnVuaworMTI1OTYgMWQyOGM3ZTE2NjM2NTczMTVkOGJhMWUxMmIzZGQ4MWYyM2ZlYTE3NCBsZWdhY3ktdHJ1bmsKKzEyNTk3IDdlYWQ0YTA0NDI3ZTg4NDAyYzc1NTZlM2JmNGU5ZTI2MWE1ZTUyM2EgbGVnYWN5LXRydW5rCisxMjU5OCAzYWUwM2I5YjY1ZWRjMmEwOWQ4ZmI0ZGRjYmRkODA0NjU1OGE5MTYzIGxlZ2FjeS10cnVuaworMTI1OTkgZjVmMWI1ZTk4MTRhNDhlYTJlY2NiMWMxNDE5NzVjYmQwNGJiYmEzZiBsZWdhY3ktdHJ1bmsKKzEyNjAwIDNmN2RjM2RlMDYxNzBkNDk4YzE2Y2IwMDFiNTA3NTZhZWI2MTJhNDUgbGVnYWN5LXRydW5rCisxMjYwMSA5YTNhNDY5MjhkYmZlYjhmYjJjMzllZmNhYjJjMjk5MmJmZTM4OTgzIGxlZ2FjeS10cnVuaworMTI2MDIgOTE4NDg2MmJkOGQxZTkyZGMyM2Y3YTZmMGFmNjczOWJkZTIwZjczNCBsZWdhY3ktdHJ1bmsKKzEyNjAzIDZiMjhiNWYxOTdjZmIwNDgyZDA0ZTMwODE1YWNhNDQxZjViMDY1Y2UgbGVnYWN5LXRydW5rCisxMjYwNCBjN2RmZDYxOTM1MGJjN2Y0YTljMzc4OWJjNjRhNzA3ZjBiOGFlZmQ0IGxlZ2FjeS10cnVuaworMTI2MDUgZWZmMDhiZDgxNjVkODJhZmYyZDczMzk3NjU0NDEwNWJhNDk4OGEzMSBsZWdhY3ktdHJ1bmsKKzEyNjA2IDU4ZTdjYzVhMzg0MTMwMGNhNWFiMTI2YTBmNGQ0ZmZmNDg0ODMzMTEgbGVnYWN5LXRydW5rCisxMjYwNyBlNmJiYTAyZmY2MjQ2ODRiYjA3NmNmNzFkNmY4YTU0ZTg5MThkNmFhIGxlZ2FjeS10cnVuaworMTI2MDggMTZhYTczNTg4ZDkzYjY4ZjUwMjAzZDIxYThhZDk2ODc1YjA3ZmQ0MSBsZWdhY3ktdHJ1bmsKKzEyNjA5IDY5N2UwYzlkMDk0MGVjOTUzYzAzNDhlOGJkOWFlOGEwOTkzMzljYmEgbGVnYWN5LXRydW5rCisxMjYxMCA1MmQ1N2NjMDNmNDI5ZTgyZTQ3ZWEyNWI3N2MwOGY4ZWEyMWU3NjVmIGxlZ2FjeS10cnVuaworMTI2MTEgM2Q1ODdlNjUzZjJkNjU4ZDk4ZTExNjE3ODQ4YzA5MDkxZTdjYWY5YSBsZWdhY3ktdHJ1bmsKKzEyNjEyIDMxYzExMjU5NGFiNjM3YWU4YjRjMmY5YWJiZmFkMGZjNmM5Yjg2NzUgbGVnYWN5LXRydW5rCisxMjYxMyAzZjkzODU4N2YyYTNmMDJhMDllZTcwY2RlMDNhNmRhNTc1N2Q1MzM1IGxlZ2FjeS10cnVuaworMTI2MTQgYWJmNDkzMDY0N2UyODIyYjc4MGY3ZDRjMDY1ODI5NGY3YzE0ZTg2OSBsZWdhY3ktdHJ1bmsKKzEyNjE1IGU5ZjU5ODViNmVhNDY0ZjgxY2FkM2IyNDkzYTE1ZGVjZjQzMDZhNTUgbGVnYWN5LXRydW5rCisxMjYxNiA1MDhhNjM5ZDhmZWIzNWFmNjIzZDUzNTNiMzNlYWY2NDA3NTVkNTU4IGxlZ2FjeS10cnVuaworMTI2MTcgYTk5ODg1YWYzOWY4OGM0ZWU4ZTUxMTMzMmU5MmMwODdmMzc3M2IyYyBsZWdhY3ktdHJ1bmsKKzEyNjE4IDQ5ZTdlMjE4NDliM2NjNTFmZGI2NWM1YTQxZTgxNjJiNTc5M2EzNjUgbGVnYWN5LXRydW5rCisxMjYxOSAzMTQ1ZGVmNTgzZTJjYTE0ZTM5OWE5YzcyNGY0MDZiYjFlZDlkMDk5IGxlZ2FjeS10cnVuaworMTI2MjAgYTlmYzczOThjZTdiYmY3ZjY2N2ZkZmYyZjAzMjE0ZWQ4YTJlMTk1ZSBsZWdhY3ktdHJ1bmsKKzEyNjIxIGE2M2M5YzNlOWVjYzAxZDRmNzUzNmJlMjJjMzY1OWFkOWViOTc4NzQgbGVnYWN5LXRydW5rCisxMjYyMiA1YjE1NjQyZTdiZGY0YTI4ZDc3Nzc4ZTg0OTkxYmZjMWZlOWZkZjY4IGxlZ2FjeS10cnVuaworMTI2MjMgYjdkODEyNWMyNDE3ZDg3ZGMzY2IwNGNiZDhiYzczYzVjYTcwMmFhOCBsZWdhY3ktdHJ1bmsKKzEyNjI0IGNiYjNiMmM1NTVkN2E3MGExNjk2NDEyYzg3OTEwYmExNjVkNmM4NWMgbGVnYWN5LXRydW5rCisxMjYyNSBiYzI4N2M2Y2ZhMjMwZjA1NjZlMDRmNjczZDRiYjEwYzI3YmVjNTUwIGxlZ2FjeS10cnVuaworMTI2MjYgZmI5NjY1NjJkYjBlNjFlNjExZWNhMjY2ODEzZTA3YTZjYjdjYTQ2MCBsZWdhY3ktdHJ1bmsKKzEyNjI3IDY0NzI4YTUxY2I1NTFlODZiNDNjZTYxNDAxOGJmMzAzODNmN2Q4OWMgbGVnYWN5LXRydW5rCisxMjYyOCA4OWY2NTU2ZjA1OWViNjgzYzBmMzRkMjI3YTY3ZGYwMTRmZjgwNTM3IGxlZ2FjeS10cnVuaworMTI2MjkgYmFmY2Q3YjYyMzI3NWM3NTNlMmQ1Zjk1NTEyNjk1NmNhYTJiMjQxZSBsZWdhY3ktdHJ1bmsKKzEyNjMwIDBkZDRmYWZlZmQ2YzQ4YTRjMzg2YzgyOGQ2ZWRiNjY5NDRjNTdlOTcgbGVnYWN5LXRydW5rCisxMjYzMSA4YjU1YzUxNTY4M2Q5MjdjYWMzMGIwYmZjOTRhMDE1OTNmMGU2NDIzIGxlZ2FjeS10cnVuaworMTI2MzIgZTU2OWY5YjBkOTY5YTExYjZlYzdkMTllMmYxZTZmNjUzNGNhZTE1ZiBsZWdhY3ktdHJ1bmsKKzEyNjMzIDFhYzJhOGJiN2RjMTA4NjRjMDlhOTcwYTUzMzBiMTNkM2VjZDQyNzYgbGVnYWN5LXRydW5rCisxMjYzNCA2NGU2NGVmMDhkMWM5MTE1NmFiMDc2MzVmMzY2MjcwMThkZDRhZGFiIGxlZ2FjeS10cnVuaworMTI2MzUgNTcxOGU4MzAyMGFlOTVlNTNiYmJkNTExYjNhNzZkY2VhYWY5YmE5MyBsZWdhY3ktdHJ1bmsKKzEyNjM2IDEzOWQ1ZjFhNmY4OTlkN2NiM2YwOWQ3YTVmZDc1YTY4ZDQ3OWI1ZDEgbGVnYWN5LXRydW5rCisxMjYzNyAwYzA3YzBkYmUzMjgyYzA0YjlkMDc1ZTU1MWRjNGFkN2VhZjE1ZTdhIGxlZ2FjeS10cnVuaworMTI2MzggNjU3MzE2OThjNmVkZjRhNzZhZjZlMTQ2ZWIyOTRjODNlZDc4MjU1NCBsZWdhY3ktdHJ1bmsKKzEyNjM5IDQ5Y2YxNDEyNDQ1ZjMyMDk2MGMwM2YxYTQwNDU3ZmNkYjE3YTlhZTAgbGVnYWN5LXRydW5rCisxMjY0MCBiMjE5MTVlNjU4OWUwNGY5OGZjMTM3YWJhMWNkNTEyNmMzNjk0OTkxIGxlZ2FjeS10cnVuaworMTI2NDEgYmMwMzQ3NjQzZWNmYzZjYWI5NWI4MzUxNTQ2MDcxMTQ5MDA2MGFjZSBsZWdhY3ktdHJ1bmsKKzEyNjQyIDkyMzIzNjEyOTRiYjY5MjQ1ZmUxYzVjZjg4MzYzMzE0NGY2MTg3NjUgbGVnYWN5LXRydW5rCisxMjY0MyAwOTkwMmUxMzA1MzczNDRlM2NlYjIxYzE2MjQ2MTI3MjM2MzJjMzQ5IGxlZ2FjeS10cnVuaworMTI2NDQgNWJkYjcyYjE5NTdlMTZlN2FiODg3M2RjMDIwNDgyNGZlM2JiNTgxNSBsZWdhY3ktdHJ1bmsKKzEyNjQ1IDNjNjk4YjUzYmU1OTIxMTZmYjMwZDI4NzY2NDA3MDQ2YjgwODVhYjIgbGVnYWN5LXRydW5rCisxMjY0NiBhYmQzZjA2NmM4N2FjNTM5ZjU0YmMyZjkwNDIxZDZiYTYyZGE5OGZmIGxlZ2FjeS10cnVuaworMTI2NDcgODI4NDkyNzAyNWJlNmZkMmI0YWQ3OWM1MzJhNTY5OTVkZDU5YmQyZSBsZWdhY3ktdHJ1bmsKKzEyNjQ4IGJkNDlmOTFkNTliMmQzMWE0Mjg5NDVjODQzN2UxNmY1OWQ0NmNmNjcgbGVnYWN5LXRydW5rCisxMjY0OSAzYWM3ZjAwNjYzNzVmYzg2MWYzNDliMWQwMTExZTJkZjA0MjY0ZDgxIGxlZ2FjeS10cnVuaworMTI2NTAgZTQwYmNmNmJjMWM4YmEzNjA2ZjQxOGQwM2UyNjc4NDJkMzcxMzkzMyBsZWdhY3ktdHJ1bmsKKzEyNjUxIDk1OWU4MWIzOWI4MTEyMmY2NzMwYTg2OGZiMjVlYTI1NmNlNDVjMmQgbGVnYWN5LXRydW5rCisxMjY1MiA5YTZjM2RjMWRjZDNmMGUxNGVjZWE2ODQzNDdmODI3MWJmNGE4MDc4IGxlZ2FjeS10cnVuaworMTI2NTMgMWQzZmU3Yzg4Y2M4YzQzM2Q4ZTUyYWE1OGMyZDQzMmIwNWYyNjZkNSBsZWdhY3ktdHJ1bmsKKzEyNjU0IDYyZGM5ZmY5Y2Q0YzM5MmNjZGVkMTc1OWZiMDliNGE4OTEyOTJiMjAgbGVnYWN5LXRydW5rCisxMjY1NSA5YWE0MzkwYmUzOGI3YzBhYzI4YWUxZTQzY2JhMzI2M2QzMWQzNDljIGxlZ2FjeS10cnVuaworMTI2NTYgZDM3ZjAzMTI0YzU0ZjgyM2Y0YjJjYWY5NGVjNWVhNjMyNDY1Mzk1MSBsZWdhY3ktdHJ1bmsKKzEyNjU3IDg0NjRlMzEzNzZlZDliZjFhMzBiODczMDBkMmI4YWFlNzJmZjQ5ZDIgbGVnYWN5LXRydW5rCisxMjY1OCAwZjdkNjk0YmMzMzRlZmYwZjFjYzAwMTAzMTE1ZDRhMmM1OTM0MmI2IGxlZ2FjeS10cnVuaworMTI2NTkgMTMyMzliNDhjNDY5YzFhODI5MWMwNWY5MWM3M2IyMjdjZjViNjdjMyBsZWdhY3ktdHJ1bmsKKzEyNjYwIDYyNWI3Y2ViZmRlMmIyZDlkMDNmODkzMjI5Y2I0OTA0MWU5MDdkNzMgbGVnYWN5LXRydW5rCisxMjY2MSAzYjdiNmQ1ZjE5MzE2N2RjOTg0ZGFiMGJjM2EyN2RkZjM1OTJjZjE0IGxlZ2FjeS10cnVuaworMTI2NjIgM2JhMDI1YmE3ZjA5NTA0YjcxOGU5YTBkOTBhYmIxZTRkMDdhYmFjNCBsZWdhY3ktdHJ1bmsKKzEyNjYzIDVjMWViZjIzZjFkNzdiNDNkZTQxNzNhNWIzOWVjMTA3ZmZiMGEyOWMgbGVnYWN5LXRydW5rCisxMjY2NCA1NjRmMDM2MzI5MTYyNWRjY2M0YjM1NmQ3ZGI1YWIyNjhiNzM1MmZiIGxlZ2FjeS10cnVuaworMTI2NjUgZGRmODYxZDg0YmJiOTIyODRiMzQ0ZTM5ZGRkYzhjYmMyMDNhNmE0OSBsZWdhY3ktdHJ1bmsKKzEyNjY2IDE1NGM2NDA4YzNjMmRkY2Q2Y2M0ZjQxNDgxM2I2OGRkMmYxZTgwMDMgbGVnYWN5LXRydW5rCisxMjY2NyA5YzljZjQ1NzJhOTc3ZWY2ZjdiZGY1OWE3OThjNGMxODZlMGU1YWNhIGxlZ2FjeS10cnVuaworMTI2NjggM2YxM2VlNTkyYTQwZjgzZTI5MTJlMDFkZWE3ZWVkMThmMWIzZjQxZCBsZWdhY3ktdHJ1bmsKKzEyNjY5IGJkOGM0M2RhZWY4NWUyMDQxYWQ5OWExYzI5MTRiN2I3ZGVmNmE3N2QgbGVnYWN5LXRydW5rCisxMjY3MCA3NjJjZmU5NmZhZjlkNzFlZGI3YWFjN2JhMGQzZjljZjdhYjExYjdhIGxlZ2FjeS10cnVuaworMTI2NzEgYmEyNWIyZDNkNzg0ZDdkN2U1NjNjNTdjMDdkMWU0MGY0Zjg5ZDE5ZSBsZWdhY3ktdHJ1bmsKKzEyNjcyIDdjZjk3NjU4Y2FlN2UzNmYzOTYzNTQzMDY3NThhOTYwNGU3MjEyOTQgbGVnYWN5LXRydW5rCisxMjY3MyA3M2U1ZTNmNTFiODc0ZmM5NzM5YjAyYWMyNjM3YTAzYjc1NTYxMDNlIGxlZ2FjeS10cnVuaworMTI2NzQgOTY1NTBiNWQwOWUxNGMyZDY4ZjViYjcwMTU3NzUzYTUxMjIwNDczNCBsZWdhY3ktdHJ1bmsKKzEyNjc1IDZhMWNiNmYzN2E1MmM1YjcwYzQzZWNiZTViYzMwM2FjZWY3NzhlM2IgbGVnYWN5LXRydW5rCisxMjY3NiA3NDRkYjg2ZTAzMTFhZmRmNjYzNjRkMDEzODk0NjZiNjEzYzY5MGNmIGxlZ2FjeS10cnVuaworMTI2NzcgNDlkNzc2ZjM4NzhkOGRkNTA0NTdhYzY1NzE1NWRkMzE1NmYwNzQyMyBsZWdhY3ktdHJ1bmsKKzEyNjc4IGE3OWRjZDI3YmRjM2E2YjVmOWZhOTA4MzM2NDEwZDk0ZDFmNTJhNmUgbGVnYWN5LXRydW5rCisxMjY3OSAzNWY5MWNhZWFhOGRhMzc1NDczZjg0NjY3YWFjMzk4NTMxNDBiMDYyIGxlZ2FjeS10cnVuaworMTI2ODAgZjBhNTdjY2YyMzNjYjM1NmQ5N2UzNTEyMjkyODg2MDI1MWFiY2M1NiBsZWdhY3ktdHJ1bmsKKzEyNjgxIDA0Yjg4MDQyYTkyYjhmYzJkYzg1YjBhZWVkYmRkYTg2MzRhMTQxMTYgbGVnYWN5LXRydW5rCisxMjY4MiAwMDViYTQxMmE4ZWNiNTJhNDA2OTUwMmM2YWI5ZGNlMzJjNmI1OWI1IGxlZ2FjeS10cnVuaworMTI2ODMgYjg5MzJhYjQxYWRkNGYyMDFjZjkzYjBiZTdmN2Q5MDY3MGJkZjU5ZSBsZWdhY3ktdHJ1bmsKKzEyNjg0IDU1MzlhZWJmODkzOGE4NjQ1OWQxY2U2NWQxODExM2Q1NWMwMmM2NGIgbGVnYWN5LXRydW5rCisxMjY4NSA2ZGJjZDVhNmU1ZTYxOGI3NTFiMWJhZDM1ZDNkZjZhMzY4YjUyN2QxIGxlZ2FjeS10cnVuaworMTI2ODYgZDg2NDAwNTAwYWEwMzczMTUzNWFlMzdhZjhlYjk1MTdjZmFkOWY0YyBsZWdhY3ktdHJ1bmsKKzEyNjg3IGIyNmUyNTE1ODkyMmVmN2QyMzJlN2MwYzFhZDM1ZmM0YTI5ZTIzMmUgbGVnYWN5LXRydW5rCisxMjY4OCA2MmU2MTA1ODQ4MGEzOTkzMmZkMjRiYTdjM2RiMDhmOGFhNjc3YzA3IGxlZ2FjeS10cnVuaworMTI2ODkgZWUxZDMyZjdhMDU1ZjBiOGQxYjU3ODc4NjNjZTQwMjIzOTdiOWFmMSBsZWdhY3ktdHJ1bmsKKzEyNjkwIDY2MzNjM2ZjYTYyNjNmMzZlYTYxMGJkYTc0MTVhNTdmMzc5MjU2MjkgbGVnYWN5LXRydW5rCisxMjY5MSBiZDMwZDM5Nzk3YTQwOWViZDNiZGFhNjBhYjBlMmU1OGRlM2M0NWZlIGxlZ2FjeS10cnVuaworMTI2OTIgOGY0YWQxNGMzNDA3M2NjOGVjMTQ3NWNkMzA1ZjFmYjgxYjE4NGIxOCBsZWdhY3ktdHJ1bmsKKzEyNjkzIGIwZjA0YjdjOTQwNzFlNzJkOGE5NjFjZDMyNTE2OGMwNDE1NWQxOWEgbGVnYWN5LXRydW5rCisxMjY5NCA0YWY4NGNkY2ZkYjUzZDIwOWI0NmFjMzQzN2MzMzQxNWJhNzMzY2ZjIGxlZ2FjeS10cnVuaworMTI2OTUgNjdmMWQ2YmQ1OGNmYmExMDkzM2VkNTQ4NWRmNjljYjMxMGJmOTMxOSBsZWdhY3ktdHJ1bmsKKzEyNjk2IDFkOTQyNDhmZTJiOTlhMjk5ZTQwMmM0NjRiYTYyNWEyODM1OTQ1ZjIgbGVnYWN5LXRydW5rCisxMjY5NyBhMzY5ODY1NjlhZjE4ZDY4NDFkOTYxNjY1ZmQ3YmM4Mjk0MTQ1NTdjIGxlZ2FjeS10cnVuaworMTI2OTggMWUwZGQyZWYzOTcxYzJhY2IwZDA3NTdlMTRhZThlNDVhY2Q1Y2U0NyBsZWdhY3ktdHJ1bmsKKzEyNjk5IGRlN2MwMDAzNTc4ZjhhYTZlMjlmYWQ3MGE3OGFmYWZhMjI5MzE4MzAgbGVnYWN5LXRydW5rCisxMjcwMCBiNWYwN2E0YTY1NGJmMDcxYzE1Y2NiODM2OTRmNTFmNGMzZmQ2MmFkIGxlZ2FjeS10cnVuaworMTI3MDEgMjc5MDI1NTVmNjcyMWRkM2EwMjExYmUyZjQ2Y2EzYmQ4NWE2MDgzNiBsZWdhY3ktdHJ1bmsKKzEyNzAyIDA0OWM5MTM0M2Y5NTg4YWY1MDQxOWRlZjUzNzZmZTU5NjhhODhiOTggbGVnYWN5LXRydW5rCisxMjcwMyBjMGY2OWNiZTgwNWQxN2U2YTk0M2VkYTQxZGQzYmMyZTUzYTcwYjhlIGxlZ2FjeS10cnVuaworMTI3MDQgZTFkYTI5MGFjYzVmMTBlZGQwMzlhN2M5YmU1ODNkMDNmYWRlNWE3ZCBsZWdhY3ktdHJ1bmsKKzEyNzA1IGRmZGZmODcyNDg4NzVkZjU2YTQxYTNkYzJmZGZjNDZiMjIwMDFmNjEgbGVnYWN5LXRydW5rCisxMjcwNiBiZjQxODQwYzgxNTA3MjJhYTBiOGI4YWI2OWNjZjJiYjNjNmMxOTUwIGxlZ2FjeS10cnVuaworMTI3MDcgMWM1OWE5OWU5OTcwZjA2OTUzNDQ5NTkyNGFiNGZlMzg3ZjE2OGEzZSBsZWdhY3ktdHJ1bmsKKzEyNzA4IDAyYjE3MmE1ZDg5M2Q3YTcxMWNhODYzMGE1MDJjY2RmODlhZGFjMjcgbGVnYWN5LXRydW5rCisxMjcwOSAyOWQxZDNiMDhjYTdkNGY1OTZlMzE0YWI4MTlkNWQ2OGFhZTY3OTYwIGxlZ2FjeS10cnVuaworMTI3MTAgYTg2ZmUxZjNjZjRlNjViMzc1MjZjOWE4YWVmOWJkOTRlODg4MWVlZSBsZWdhY3ktdHJ1bmsKKzEyNzExIGQyODIyNzRmYmI3MjJmZDg1NWM3OTFmNzEyMTRmNzIzNjE5ZGViYmMgbGVnYWN5LXRydW5rCisxMjcxMiBiMWQ0MGZiMTBhZjZjYmQ5ZGU1ODVhZjY4MTUyNzQwYzVhOTA4YTFkIGxlZ2FjeS10cnVuaworMTI3MTMgMzJiNDNlNWQ4OGQzNTgxZGE2MDIxMTk5Njg1YWMzNWQwZGU0OWE3ZiBsZWdhY3ktdHJ1bmsKKzEyNzE0IGUzMzk3YWU4ODEyOTIxZTg1NjM0MjQ2OWNhYTIxZjUyYTBlMjgyZjggbGVnYWN5LXRydW5rCisxMjcxNSAwMmUxMzNlYWJhYzY5NmRmNmE3YmJhMDE4OGMyNGRjNDYzMjZhZjljIGxlZ2FjeS10cnVuaworMTI3MTYgMWZiYzRiYWUyOGNmMDU4NzE3NGIxZDc3ZDZkOTBiZDYxOTc4MDI2ZSBsZWdhY3ktdHJ1bmsKKzEyNzE3IGQxNjg2Y2YwOGQxMTZjNzE3ZTVmMzY4M2JlNmJjMmZiOThiZDQyZTggbGVnYWN5LXRydW5rCisxMjcxOCA2MWVkZDNiODVkNjM2OWQyY2FjNzQ3ZGRiMjlmMTQ3MzdkYjcwM2M0IGxlZ2FjeS10cnVuaworMTI3MTkgY2Q0NzY0NDJlZjcxNWI2MjRlNjk5MWQxNGM5M2Q1ZWQ1MzAwOWZiYyBsZWdhY3ktdHJ1bmsKKzEyNzIwIDQ3N2U5ODEwOWM3ZDY2MTUxODgwZmIyY2MzMzViODcxOWM0MzVkZDIgbGVnYWN5LXRydW5rCisxMjcyMSBhMjkxOTJmMmQ0N2FmY2Y2NDMzMDg1Nzc5YTM5Njk4YWVjNmJmZTQ2IGxlZ2FjeS10cnVuaworMTI3MjIgMGVmMTA3MWNiN2ZlZWQ5MTczNTc3YmVmOTU5NmMwOWNiOWIyMzAwMiBsZWdhY3ktdHJ1bmsKKzEyNzIzIGZlYjQxNTAwODc2NWU0M2VlNjkxMjQyNTllZDhkOTNhNjMwNGRjMDQgbGVnYWN5LXRydW5rCisxMjcyNCBiMzAwNzdjNTczNDg1NDJiZDYxZTZkODFmNjFkZWU0ZmMyNGI5NzcyIGxlZ2FjeS10cnVuaworMTI3MjUgNTUzZWQ2YWU5ZTdhODVmYTRmODg2ZTJjZWNkZDlmNWE3OTk5MTYzYiBsZWdhY3ktdHJ1bmsKKzEyNzI2IGRmNGE5NjdhODE0NjJlYmQyZmMxZmRiOGE2NTAxOTRjNDBkNWE5OGQgbGVnYWN5LXRydW5rCisxMjcyNyA3YmJlNzE2MzFjM2YwMjg4M2JlMzZlNjFhODg1Y2QwMTJlYmU4ZDUxIGxlZ2FjeS10cnVuaworMTI3MjggY2QxMzBjOTU1OGRiMzhiNmVlNjA5YzA4NGRiZjhkODM3YjBlZDQ0NyBsZWdhY3ktdHJ1bmsKKzEyNzI5IGFlNjEzNTI5NzU3NDJmYjkwNjM5MDIzY2FhY2Y5YjJkZDE4ODA2MzUgbGVnYWN5LXRydW5rCisxMjcyOSA4ZmU3ZWM0YjRmYzE1MThmY2FjODllNmJmNjc0ZmJiY2UxNjE1MGE5IGxlZ2FjeS10cnVuaworMTI3MzEgY2U1N2ViMzA5NjhhNWI4OTJjOGQxNzdjYTA4ZTUxZjhhN2ZmZWJjNSBsZWdhY3ktdHJ1bmsKKzEyNzMyIDBlMTQ3YTUxNzRhMTUyMTllMTVkYjZlYzM3NTBmNmIwMTg5ODZkYjIgbGVnYWN5LXRydW5rCisxMjczMyBhNjVmODc1ODQzNTRhZTY2YTIyNGYwNmU3MDVlMzJjYzJkYjMxOTU3IGxlZ2FjeS10cnVuaworMTI3MzQgOGNjY2ZjNmQ2MjcyMzY3NGFiM2ZjNDhmMzYzZmRhOGZhZmU2NDIxYyBsZWdhY3ktdHJ1bmsKKzEyNzM1IDI0OWQ5YTJiNWJjOTY4ZGY0OTI5YTFmZjg1ZmQ1ZjMzNmFlYjY2ZTQgbGVnYWN5LXRydW5rCisxMjczNiA5MmZjZTQxNGYzODIzMDhkNGM2ZDQxMmY1MGVhZmEyNzYyMTIxMTRmIGxlZ2FjeS10cnVuaworMTI3MzcgNTc0NGE2ZGIyZDRmODQxOTU1MDYyNTA1NjVmYjdlZDdjNzVkNTRlNiBsZWdhY3ktdHJ1bmsKKzEyNzM4IGM1ZTgzNDdlYjgwOWMyOGM1NTIxMjNjNTRlNTQ2MzM5MTE0MjFhN2UgbGVnYWN5LXRydW5rCisxMjczOSBmMWNjYmQ2YTk0Y2UzMzNkMmM0ZjEzZjQ3Njg0MWNiOGUxNjZjY2U4IGxlZ2FjeS10cnVuaworMTI3NDAgODY2NDJiN2E3YTYwZjU4NDg4MDVjNTY0ODEyYmMxZTk5NTc1NTcwZSBsZWdhY3ktdHJ1bmsKKzEyNzQxIGMxYmVmZGJkNjRlNTcyMjllNTBjNTY1NTk1Njg1ZTk2OTcwZTI1YWYgbGVnYWN5LXRydW5rCisxMjc0MiAzNTkyNDRmYTZiNTJhYjBlYmJhZjljZjAzMTc2NjUwZThiMGJlYTYwIGxlZ2FjeS10cnVuaworMTI3NDMgZjEzOGJhNzJiZjJkOWYyZTNlOGUxODBlMzk1YzJmN2ZjYTcyZWY3YSBsZWdhY3ktdHJ1bmsKKzEyNzQ0IGI2YjkzMDA2ZDA3Njg0MDA2NzMzMzAzZmI0ZjA4MTNhYzI4NzZkMDkgbGVnYWN5LXRydW5rCisxMjc0NSA1NzVjNGVhMjU0MmJjMGUyZjQ0YjYzYWFjMGFkMTJmOGIyOTUwZmU3IGxlZ2FjeS10cnVuaworMTI3NDcgMzJjNDIwNDc0MmJhZmQ2ZDNjNjIyOWFjYTFjYzM2ZWRiMjQ5MThjYyBsZWdhY3ktdHJ1bmsKKzEyNzQ4IGJkYmZlMGVjOTcwZjg5MmQ2YmI4MjBhNTMwYzVjNWM5MjcxYmM5MmMgbGVnYWN5LXRydW5rCisxMjc0OSBjNWYxMWM1YmY1YjIyMDA2MTQ4MWFjMmFlZTQ5MGY0MzcyYzMwMmQ5IGxlZ2FjeS10cnVuaworMTI3NTAgMWEyYTBhM2U5ZGRiMmUxMjJmY2ZiMTlmMTQ3ODg3YzU5ODMxMjAzNiBsZWdhY3ktdHJ1bmsKKzEyNzUxIDg5NWQ4NjFhMDg3MDFmY2RjOGJiZTJhOWI1NDRjNzFjOGY0YzBjYWYgbGVnYWN5LXRydW5rCisxMjc1MiBlNTljYTVkMzQ2ZjRkZjJjODQ0NmMzYzJhMDIxNWMzYjg3MTUwYWJiIGxlZ2FjeS10cnVuaworMTI3NTMgNDdjMTFlODI3Njk5OWYwMDc4YzA3MWRlMmI5ODM4M2M3NzAyZjk1NiBsZWdhY3ktdHJ1bmsKKzEyNzU0IGQ4MzkzNWQxNDA4NDU2N2Y4ZWE0OWQ2NDhkODM1NjdiMGU2ZGMzZjEgbGVnYWN5LXRydW5rCisxMjc1NSBjMjdjMTBjNmI5ZjI4Mjc0MDFkOGQwM2FlYzgxNDFiNGY3ODdiYmVhIGxlZ2FjeS10cnVuaworMTI3NTYgMTNiNDVjNzRlOTdiNTMwNjYyMjYxYjJkYTM3ZTlhYjVkMzJiNTllMiBsZWdhY3ktdHJ1bmsKKzEyNzU3IDhmZWIyOTUwZGE3YjI2MzIzOGZhMmI0MGZiNDY0ZDljNGUwN2NjODYgbGVnYWN5LXRydW5rCisxMjc1OCAwNjE0ZTdmMTY3NDFmMmExNTg4ZTI0ZDRlMjkwYzQwYTBlNjdiM2U5IGxlZ2FjeS10cnVuaworMTI3NTkgYTQ5MTNiYWU5ZjkzZTdmNDEwMDAwOTgyNTY1OGU2MjdkMjMzYmJjZCBsZWdhY3ktdHJ1bmsKKzEyNzYwIDBjYjhlNWVhODRhOGRhYWMwZTk1ZDQ0NDY5N2NhOTZhOTAyYTZmZTYgbGVnYWN5LXRydW5rCisxMjc2MSAxNjNmZDNkOTVjMTdlNDA0ODIyNGExYzg5MjExZWY4NzFhNDEwZDVjIGxlZ2FjeS10cnVuaworMTI3NjIgMGE1Y2RkN2U1ZmMzZjg1MGE2YmRjMTllZDJkNWM0MzQ2ZTZjODhkOCBsZWdhY3ktdHJ1bmsKKzEyNzYzIDI2YTAyMDYwYmFiMTc0MTZjZjgyNGM3NWY1ZGQ1YWFmOWYzMzU1NDEgbGVnYWN5LXRydW5rCisxMjc2NCBiNjRmMzM1OTRhMzExMDY5OGYwZWJkYzdjYzU0YmM1Y2NmMWM3N2QwIGxlZ2FjeS10cnVuaworMTI3NjUgZTgzZjY3NmQxNWMyODljZWI2ZDdjOTAzYjU1Y2YwYWI0MjFkYTBmOCBsZWdhY3ktdHJ1bmsKKzEyNzY2IDI5NzAxZTI5MDRhYzU0OTcwOTlmZDA0M2QwMzE2MDVmZDNmMTNkMTIgbGVnYWN5LXRydW5rCisxMjc2NyBiOWJiNzVkZWQ4MDRhY2E1N2JlOTYzYWYyZGNkZDQ4NTZhYzkyZjUzIGxlZ2FjeS10cnVuaworMTI3NjggNDg3MDBmOTljNmE2ZDMxZDUyMmQxYzc0ZDNhMTBmMzUyMmUzM2ZkZiBsZWdhY3ktdHJ1bmsKKzEyNzY5IDJmNDI1YTU3ZDlhZmU3MWVmNDRlZGVmOWU5MTAzMDgzYThiMGE5ODMgbGVnYWN5LXRydW5rCisxMjc3MCBhYmFjN2Y2Mjc1N2M4MzExOGY1ZjNmZGNiNWU4MDc5YmQwZWM2YTg5IGxlZ2FjeS10cnVuaworMTI3NzEgMzVkZjRkYzJkMzBkNTQzNjJkNWEyOTE3OGFhYzg4MTVmZGU1YmIxMyBsZWdhY3ktdHJ1bmsKKzEyNzcyIDBlMzU1ZGZkNmY3ZDE1Y2MzMmRmMjcyODA2NGYxYWE2NmM0MjNhYTMgbGVnYWN5LXRydW5rCisxMjc3MyA2NGJjYTNiY2FhMzc0ZjE3NjUwYTE0MjIyZDY4ZDEyNzkyOTQyN2FmIGxlZ2FjeS10cnVuaworMTI3NzQgNjVhMjUzOTcxZWNjZTg2NjUzZTUwMzAwODBjYmZkZTU1Nzc4YWY5YSBsZWdhY3ktdHJ1bmsKKzEyNzc1IGEyYTc2ODFiMjVmMWY1OWJlY2VjYTU4NWUwZmJlMWEzOTNlMjg3ZDggbGVnYWN5LXRydW5rCisxMjc3NiAwOGVhZGM2NTBlZjA5NWM3YTVlZDZmYmFlM2ZlODVkYjliMDM5NGM2IGxlZ2FjeS10cnVuaworMTI3NzcgMTlkNjEyMWZlNGYzNDNjNDYzYmQ0Y2MzOGFkMWM0ZjY3MjA1YTlhYiBsZWdhY3ktdHJ1bmsKKzEyNzc4IDYzMmJkM2E1ZGRlZjViZGQwNWMxOTNhZjU1OTM4YmI3MThhYzIzYmIgbGVnYWN5LXRydW5rCisxMjc3OSBiYTVjNjI5MDgxMjI1YTJhOTNlZWM2Yjc5OWJkY2QyNjM3ODJlYWU4IGxlZ2FjeS10cnVuaworMTI3ODAgODYwMzVhZTUzMDZjMTE3YWY3ZGZkZDI5NTM2NmU1M2Q4YjIwMzk3MiBsZWdhY3ktdHJ1bmsKKzEyNzgxIDQ2YWMxMWI3OGU5Mjc4MDU2YWE5NmU3OTZkYWU3ZmQ4MmViOGMzMDcgbGVnYWN5LXRydW5rCisxMjc4MiA4ODZlYTI1NWYzODFmZjBjNmRiNzBlMjc5MTIyMmIyZWI3MjE4OGMyIGxlZ2FjeS10cnVuaworMTI3ODMgY2M5ZmQ1MDYzMGE2OTljYjAzYzJhZjBiMzI0ZjBiNzQ4MzIxOTFmZiBsZWdhY3ktdHJ1bmsKKzEyNzg0IGNlZjJhMTM0NTY5NWQxOGY4MjEzMGQ2MWQ1NjI2MzZjYzgxZDNkNmUgbGVnYWN5LXRydW5rCisxMjc4NSAwMWRhZmM1NzFhMzAzMjg1MTg2OGMxNTA1ZDdmZmJiODFjODExMjg3IGxlZ2FjeS10cnVuaworMTI3ODYgZDNiZWNlNDY0ODZlMjlkN2EyYzVhNjJmOWZiYzFjNTExZjM5ZGQzYiBsZWdhY3ktdHJ1bmsKKzEyNzg3IDA2ZGEzYmEzYWFkZTJlNDdlZjcyYmM4ZTY1MmE4YmEwNGMyYjNlM2MgbGVnYWN5LXRydW5rCisxMjc4OCBjZDRjNDUxMGFkYmQ0N2U5ODUzMTlkZjFjMDcwY2YxYzU0OGM0NjkwIGxlZ2FjeS10cnVuaworMTI3ODkgM2I4MWE3ZDQxOGNiZWU4ODQ3NjMwMjY4NzVjZTk5ZWJiMzg3ODRjZCBsZWdhY3ktdHJ1bmsKKzEyNzkwIDNlM2MwOWUxNDUwMzFkNDAzOWI4OGM5YWVmZGI3N2IwYzg3MmI2MTAgbGVnYWN5LXRydW5rCisxMjc5MSA1YzBjMDYxZGUyYWViYTZmOGVkNGVjZWQ2MTM1N2ZmNDA3ZGZjMWJiIGxlZ2FjeS10cnVuaworMTI3OTIgMWU3NjZkZTcxNGRlYmIwZDM3MTgyZTU4MTY4MTg4M2FmNjAxYTM3MiBsZWdhY3ktdHJ1bmsKKzEyNzkzIDVjYzcxMjI2NzFhZWFmYThlMzEwMzc2NzRkMjNkMjk2MTk5OGUyNjkgbGVnYWN5LXRydW5rCisxMjc5NCA5YmUyNzI2YzliMjU0Y2Q4YWRhNmExZTdlYTFjMTY1ZmFjMGU5ZTU5IGxlZ2FjeS10cnVuaworMTI3OTUgMWM2YjEwZGVhOWYwNWY4NTY0N2UwYWNhZGI5MzAxNmQzMTMwNTg0MSBsZWdhY3ktdHJ1bmsKKzEyNzk2IDI2ZGIxZTk2Y2FmMzk0NjlmZTk4YTc4ZTZjNjU2OWY3YWFiZTU5MWIgbGVnYWN5LXRydW5rCisxMjc5NyBiNzgxMzViMTBhOGUxZTZiZjMwYzk1NDc3MGM4ODViNDk3YWRjNGQ5IGxlZ2FjeS10cnVuaworMTI3OTggMjRkZWY2YzI1YjBhMDUwYWVlMWZiZWQwZTMzN2Y3NzI1ODAzZGIzMyBsZWdhY3ktdHJ1bmsKKzEyNzk5IDUwMDM2ZDA2ZTk0YWE4NDBkZmY1NDZiYjQ5ZDVkMTlhOGZiMmNiOTYgbGVnYWN5LXRydW5rCisxMjgwMCAzMjQxMWFmOGMwMTI5NzYwMzZiMzFhMDlhMDY4NjlhNDA5NTFjYzNhIGxlZ2FjeS10cnVuaworMTI4MDEgY2MwYzkwNmMyNDE1NjY4ZDMxNTJjM2RlNjM2NTQxMjZmMjZlZmUyMiBsZWdhY3ktdHJ1bmsKKzEyODAyIGE5NWM3ZDJhODNmN2QwMTUxYTA0MWQ4NTgxNzExY2I3YmQ3OTRkZWYgbGVnYWN5LXRydW5rCisxMjgwMyBmZDA5YjNmZDFlZGM0ZGE0Zjk4ZDM3NzE3NmUxYjc3NDRkODA1MmQ3IGxlZ2FjeS10cnVuaworMTI4MDQgNWU4OTg5YzJmODVkZmRmYWVmOTk3MjVkY2NlZmZiNmNiNzJiYzY5OSBsZWdhY3ktdHJ1bmsKKzEyODA1IDg4YTdkODU5OTAwZTNhMTM3N2U4MzJlMDQzZmU5OTJhMTYyMWIxYzYgbGVnYWN5LXRydW5rCisxMjgwNiBmMWY2MzY0YWRkYmRlZGMxOTk0ZGVmMDFjYjU5MWQ1YWZkNTFmMjA4IGxlZ2FjeS10cnVuaworMTI4MDcgYjY0OGY5ZThiM2VkYTI5ZmExMjVjNWE3YmJmMmY1Njg5Mzc1NTg2YyBsZWdhY3ktdHJ1bmsKKzEyODA4IDVkYmNkZGJkZWQwMGIyZDhlODAwYTc4NGI2ZDFmMjM4YmRkNDMxNzkgbGVnYWN5LXRydW5rCisxMjgwOSA0MmM5YThkMTA4MzQ0ZjE3NTgyN2E1NzFjNTNmZjAzMmY2ZDM1ZjAyIGxlZ2FjeS10cnVuaworMTI4MTAgZTdjMDlhNjJiZjFmMWE2MjI2YWY0Yzg0ZWZiMGRhMjNjYzU0ZjJhOCBsZWdhY3ktdHJ1bmsKKzEyODExIGUzMDg5Mzk2MTM5ODI3ZjcyMzM3Mjk3NGQ2NzE2YTRhMjI1MGJmZTMgbGVnYWN5LXRydW5rCisxMjgxMiBkYjMyZGViMTNjOWYwNmUwOWZjNzFhZWNlODZlYTdmN2U3ZmIyOTQxIGxlZ2FjeS10cnVuaworMTI4MTMgYTRkOTk2MDczNDRmMDc4Yjg2YjQ2YzFmYjliNzU5ODk4ZDJhZTBiNSBsZWdhY3ktdHJ1bmsKKzEyODE0IGNkYWU2YzExNDVmNGMzYjhlNzIwZjBjZGE4ZmQxNmRiZTU0MDdjMGMgbGVnYWN5LXRydW5rCisxMjgxNSAxZTU3YWVlNTA1NjU0ZWVlYzVhNzk1MTJjMjVlNzVmNTk2ODAzM2ViIGxlZ2FjeS10cnVuaworMTI4MTYgZmExOGIwZmMwYzE4MWU0M2U5OWFmNmI3ZTJlMDcxYTA4YTFhZTJmOCBsZWdhY3ktdHJ1bmsKKzEyODE3IDkwYzc1MmFlNDRhNmI5MWY5NDg4MzA1MWJlNTIyNGNhODFjODk4ZGQgbGVnYWN5LXRydW5rCisxMjgxOCA0NGEzNzVlMzFhZTJmZTdkODBjZGNkODMzMzhlYjliMmQ5ZWRkNmJhIGxlZ2FjeS10cnVuaworMTI4MTkgNDQ2YjA5NjdmN2Q5NjljZjA2MDBmMTMzYzk5MzIzYjhlMWU0N2IwNSBsZWdhY3ktdHJ1bmsKKzEyODIwIDM5YmQ3Yjg0NzhkYjM1Y2RlODJkYjFhNjY3YTVlOWRmNGMxYzQ1YTEgbGVnYWN5LXRydW5rCisxMjgyMSA0ZGQ3NjhhZTg5NWU2NGNjODEwZWU1MTY1ZGZjZDkzZDZiNTI1MTQ3IGxlZ2FjeS10cnVuaworMTI4MjIgOTAwMmY0YjQ3MDAwYTNmYzdjMzE4NGU2NmE0MmMyYzNmMmFlNDRlYSBsZWdhY3ktdHJ1bmsKKzEyODIzIGU5MzVkODk0N2UzMzk2ZThkMDdhMDczMzU5NmFhN2FmNDk1MmE2ZTAgbGVnYWN5LXRydW5rCisxMjgyNCBiZDA3Njc0YzNjOGIwNzRlZjg0OGE5MGVkZTNkOTk4M2NlMzY0YTRhIGxlZ2FjeS10cnVuaworMTI4MjUgYTg3Y2ZlYTMwYjA0ZDgwYTM3NjRiZGNlZGUzZjg3NTI1MmI3NDIzNyBsZWdhY3ktdHJ1bmsKKzEyODI2IGZlZDY2YmRkY2U2MzgxZWIzNDhkYjM3OWMyNDljYTY1NTVlMjI1NDUgbGVnYWN5LXRydW5rCisxMjgyNyAwZDBlMjIzOWRmZDhjMDY4NThiNDhlM2ZjMWQ0NGNhZTc3OTQxMjkzIGxlZ2FjeS10cnVuaworMTI4MjggNGEzZTYzOTM4NDY5NDExMWU5MWQ1ZTI1YmMyOTE5ZjdiZGE4OGJmMCBsZWdhY3ktdHJ1bmsKKzEyODI5IDRjNGYzNjJmYTBhNmFkODUyMDQ3ZTUwODMyNDMwMmU3ODY5NGNjOTQgbGVnYWN5LXRydW5rCisxMjgzMCA2NmE3ZDYxY2ZkODRhM2RkYTlkMjUxY2IwMWYyYzBhZDJhYjYyYWRhIGxlZ2FjeS10cnVuaworMTI4MzEgZjQzOGM2ZTJiNmMxOGU1N2NkOTI0ZDY2NDRmYjkyOWE5OTMzYjg2MCBsZWdhY3ktdHJ1bmsKKzEyODMyIDIwN2I0MGVjOWE3ZTM5MTRiZmFjYzJkMWE2ZGZiM2ZiMDE4YTczN2MgbGVnYWN5LXRydW5rCisxMjgzMyBiZTA1NjA5NDc4YmVmMDQzOTU1YjQzMzRkMmU5ZWMyYjljODdjNTU4IGxlZ2FjeS10cnVuaworMTI4MzQgYWJkNDIwMjlmYTAxMDFkNTQzZmU2MTE1YmQ3MDZmM2YwYjJhZDliMiBsZWdhY3ktdHJ1bmsKKzEyODM1IGZmZjgyZDJmYjM2OWVmZDJlYzA5YTZiZTBmNjlkZDlkYzZkOGZkY2EgbGVnYWN5LXRydW5rCisxMjgzNiBiNmVkZWMxZWZlNjQyNzg1MWJhMTkwODk0YzBmZjg4MjYyMzc0NWNjIGxlZ2FjeS10cnVuaworMTI4MzcgNjEyMjQ0NTliYjA5MzYxYjExZjM0MGI0OWYzYjI4OWUxMDE1M2YzYyBsZWdhY3ktdHJ1bmsKKzEyODM4IDA5M2ZjMjk4YWZkNmIwZTAyZTQxMWE2NDVkMWMxZWNhODdiYjk3NmMgbGVnYWN5LXRydW5rCisxMjgzOSBkZGJmMWFjYjcxNzAyZGQ1MTkzNGVkZmJmNTUyYjZkMzU4ZDJjYmI1IGxlZ2FjeS10cnVuaworMTI4NDAgYThkYzU5YjY2ZjQ5NjZjYWM4M2ZjYTA1YjlhMTE5OWEzNzNjNTllNyBsZWdhY3ktdHJ1bmsKKzEyODQxIDVjNzBlY2RlZGVmYzMzNjQ5YTdjNTViM2UyZWZmMDk1MWU3M2FmZDggbGVnYWN5LXRydW5rCisxMjg0MiA2ZWUwZWNlYjc3NWYyZDIyZTkwMWMwY2FhOGY1NDdjZjBlODgyN2FkIGxlZ2FjeS10cnVuaworMTI4NDMgNjVhZWQ1MjlhZDhhZGFmMzQ2ZDE2ZDNkOWE3N2NkZWUxMjBlNjQxOSBsZWdhY3ktdHJ1bmsKKzEyODQ0IDA4ZDMxOTRhM2MzZmM4ZDY1MjgzMjEwN2VkZDZlNjQzYmZlNDVlZGQgbGVnYWN5LXRydW5rCisxMjg0NSA4ZDA5MmE2NzJkMDliYjE4ZDg1ZjUwMTI5OTAxNzg1MWZhNmM3ZmNiIGxlZ2FjeS10cnVuaworMTI4NDYgYjlhODBiYmJlNGE1YTY4NWIzODVjMmUxZWUwMTNlZTllZjc3ZmQxNCBsZWdhY3ktdHJ1bmsKKzEyODQ3IDZkYjM1ZWU5MGJmYWMwM2U1YzBmY2UzNjBhMWQwY2Y4YTZhNmY5NTMgbGVnYWN5LXRydW5rCisxMjg0OCBkNzM5ZTFlYjYxNzUxYzE5OTVhMjY3Y2QyZDc2NmNiMGE5ZDJkN2EwIGxlZ2FjeS10cnVuaworMTI4NDkgNGUyZDE4OTczYjk0YTAzNzdmMjViMmE4ZGU2ZGQ0ZjAxN2UxNzczMCBsZWdhY3ktdHJ1bmsKKzEyODUwIDFkODU3YjU5NzU4MjM3ODc2MjYyMjM1YjE2ODdkYmZiY2E5ZGFhNDUgbGVnYWN5LXRydW5rCisxMjg1MSA4OTJkYmE3ZjQwZGVlZmVlZWJlOGJhNzVlYzQ3ODFkMjk2YTU3NjQ1IGxlZ2FjeS10cnVuaworMTI4NTIgN2EzOWM4NzNkYzgxODBjOTc0ZjFlMDRhM2M3NmZmY2M5NWJiZmMzYyBsZWdhY3ktdHJ1bmsKKzEyODUzIDY3ZmY5ZTdkYzhhZmY0YTAwZTVkYWUzYjVkMmE0ZGM5OTFkOTVkYTggbGVnYWN5LXRydW5rCisxMjg1NCBhNzk3ZjBjNmMyZTFkZDEzOWMxNDk1NzM2Y2MyM2EzYmQ5YWQ5ZmIxIGxlZ2FjeS10cnVuaworMTI4NTUgZTZkMzRjYzBjNzljOTYyYzM5ZmU2M2FkZWZkODM3NjZjMmY2YmY0NyBsZWdhY3ktdHJ1bmsKKzEyODU2IDZiNTc5MGNlMjUzNmRjNmU0NjEyN2UxZTIxMDdlYTk1ODA1NjY4MTIgbGVnYWN5LXRydW5rCisxMjg1NyA1MGQzMDk5ZDUwYzIxZDNjNzg2ZTBmOTY4MWY1MmZiYzNmMzFjM2Q0IGxlZ2FjeS10cnVuaworMTI4NTggNDA3MDIyY2YxOTMxYzE1ODc0MGU5ZWEzZGU1N2NhNzlkNzVlMjJmZSBsZWdhY3ktdHJ1bmsKKzEyODU5IDg5MjNhZDdlMTNmMmIwMTU5ZWRlMWFiMDM2Y2NhOTM3ZmFkZjY5YjMgbGVnYWN5LXRydW5rCisxMjg2MCBlOThlMWVhNTFmMTYyNmQ1ZTZmNGQ1ODk2ZTE2YzNkYjEzMjI1NjZhIGxlZ2FjeS10cnVuaworMTI4NjEgZGEwYzEzMzBlNjZlZjJjZDBmYzA1OTMwZWM5NWM1YjIxMWNmMDE1ZiBsZWdhY3ktdHJ1bmsKKzEyODYyIDcwYTNmYjFjZTIzYjQxY2I4MjYwZTA5MjkyMWE5MzJkODE2ZDg3MzUgbGVnYWN5LXRydW5rCisxMjg2MyBlYTBiYmMzYmYxZGZhNjE4YjRjYWExOWUzMDA3YTY2OWY0ZjA0ZjdiIGxlZ2FjeS10cnVuaworMTI4NjQgNTBlNGRkZGI4MjhiMjA3MTJlNTk0OTI5ODg0OTU5OWRiOTVhYzJjYiBsZWdhY3ktdHJ1bmsKKzEyODY1IDE0MDllNzY4N2E5YTAzYjI3OGRmYTRiOTc1YjU4MTBkOWYyYTdmMGYgbGVnYWN5LXRydW5rCisxMjg2NiA0ZGFhYjdhOWY1NjZhZDQyMTU1MjQ2OTI2Zjk1ODdkZDRjYjQ0YWViIGxlZ2FjeS10cnVuaworMTI4NjcgZDUxNjRjNjZhY2M5NjNiYmJmZjIwMjA2MmVhZmVkY2U5MGRjNWE4YSBsZWdhY3ktdHJ1bmsKKzEyODY4IDI1ZDdkNGQ3Mzk5ZjEwY2FhYWZmOTA4MzFlYWNlZjI3OWIxMTA1OTcgbGVnYWN5LXRydW5rCisxMjg2OSA2NWU3MjEyZGYxYmNmMWNjMTdhNGM5NmQ5YTI4NGE4NzMyODYyZGRjIGxlZ2FjeS10cnVuaworMTI4NzAgYzVmNDlkNGUyOWM1MDM5ODNlMTI1OGMxNmJlYTRlYzJkYWM1YjhkZSBsZWdhY3ktdHJ1bmsKKzEyODcxIDc5NWQ1MWFkMjI4YTI0MGRkNDY2NDczZWI2YTI4ZGQxM2EzZWFkYzIgbGVnYWN5LXRydW5rCisxMjg3MiAxMzJmOTQ2NDJjNzRkMjg3MjQzNTNkZjNiMGVlNjkyY2EwY2JjODM4IGxlZ2FjeS10cnVuaworMTI4NzMgOTViOTIyNWE1MmU0NWJiMjU2ZGJhZTE1ZjUxMTQxZjY4MjI4YTg4OCBsZWdhY3ktdHJ1bmsKKzEyODc0IDk2OTEzOTA3YWU2OGQ5NDY5YzUxMmQzZjg0OTA2Y2Q4MDA0NzM0ZGEgbGVnYWN5LXRydW5rCisxMjg3NSBmYjdmYTQ3NjIxMWYzNWQxNTljMjExNGMxNGE0Yjc5YjYyOWFhOWU5IGxlZ2FjeS10cnVuaworMTI4NzYgMDdlZTc5NTc3NGQ4OWI0MWJlYjNiZDU3ZmZmN2Q4OTRlYzJkZWE1MyBsZWdhY3ktdHJ1bmsKKzEyODc3IDQ4MTQxZGE1MThkZmE3Y2FjMjlkN2E2ZWE3MTQwMTU0MjViOGI4ZWIgbGVnYWN5LXRydW5rCisxMjg3OCA0MTdhYTQyNTAxM2FkNzNlYTM4MDJmNWYwMzZlYjNjZjk5YWFiMzMyIGxlZ2FjeS10cnVuaworMTI4NzkgMzM3NzMzY2U5NTkzZmIxZWEwNWQ2OTc2YTc5YTQ5ZTAyNjkwMDY0OSBsZWdhY3ktdHJ1bmsKKzEyODgwIDRjYmIyMTIyYzczNThmNDg1MjJhNDExMjNmOWIxZTYzNWUzYWYyZTYgbGVnYWN5LXRydW5rCisxMjg4MSBkOTgwODVkZTk3ZDFmZTg4YTVjYThkMjE4NDk4NjhkNjYwMDhmOTViIGxlZ2FjeS10cnVuaworMTI4ODIgOWU5Njk1ZTMxNGM5NjA3MDM2MjI2Zjk1NjJiNmUzNjJlMzhlNTM4MiBsZWdhY3ktdHJ1bmsKKzEyODgzIDY5ODk4YWNiMjNmMjgxYmQ2OWNhMmVmNzRkZjk1YzQ4ZGViNDM4NjkgbGVnYWN5LXRydW5rCisxMjg4NCBmYjUxYWE4MjRkZjJkNDcyMTdkNDY3ZjFjNGI0YTMyOTFlNGFiNWIxIGxlZ2FjeS10cnVuaworMTI4ODUgZTJhMDhhODFlNTZmNGVlMjg1Njk1ZTIxYTk4ODMzNDg3MDZhYWJlNSBsZWdhY3ktdHJ1bmsKKzEyODg2IDcwZGQ5MWMyMTUxMzRmYWU0ZWRmY2UxODU2ZTc0N2U3ZDFiZDkyMjkgbGVnYWN5LXRydW5rCisxMjg4NyBkM2RjNjIwMDQ3NzZkZjAyZjQzMDcwZDllNWZlMTFjODgyZTY4YWRhIGxlZ2FjeS10cnVuaworMTI4ODggZTkzMzUyMjg2YWFjNmQxOWU4M2Q1NjA3ZGY1MGYxZDg2MTE5MjJhNSBsZWdhY3ktdHJ1bmsKKzEyODg5IGM1ODkwMjFjNDdjOTMzN2VlZjQ3MjUwMjE2NjY3NzdlMmY1ZmE5MGYgbGVnYWN5LXRydW5rCisxMjg5MCA5YzVkOWJkZjdlNDIzNDE5YmRmYmJkYzk4NDk3MzA1YjA0ZDU4MjNlIGxlZ2FjeS10cnVuaworMTI4OTEgZjRlNjA1YmQ4ZjFiNzZiNjYyZjc2ZTAwMzllMTNkZjdmYTk4YTQ3ZiBsZWdhY3ktdHJ1bmsKKzEyODkyIDAxNzNhNWY0NzIwNmRiZTQxZmEyOTNmYjg2YWFjNDVkYzMyYTJmZjUgbGVnYWN5LXRydW5rCisxMjg5MyBmYjgxNjU5NDg5YTE2NjU2NGExZWJhYzhhOGQ0YmJmMWMxOGQ4MGE2IGxlZ2FjeS10cnVuaworMTI4OTQgN2I4MTBhYTM1YjVjZTg2ZGIxODAwMmFkODUwOWExZTE3YjgyMGU0NCBsZWdhY3ktdHJ1bmsKKzEyODk1IGY1NGJhYzVhZjk4Y2EwMTQ3ZDg1ZGFmYzQxN2M3ODYxMDg0MjgwYjIgbGVnYWN5LXRydW5rCisxMjg5NiA3NDllMWIzZDgxNzNhMzA5M2MzNzBiOTIxMmVlMTAwZDVjYzE1M2NhIGxlZ2FjeS10cnVuaworMTI4OTcgNTIyMDY1MzJkMzg5MWEwOTMzYTJhYzlmOWQzMzQ2MGQ4Njg3MjU2YyBsZWdhY3ktdHJ1bmsKKzEyODk4IGYzNDMzMjk1MDBiZTc5YjEyN2Q2MzY4MmQ5Njc2NjdlMjZiYWEyOTcgbGVnYWN5LXRydW5rCisxMjg5OSBjMDY2ZmQ4NDMzYmE4NGVjMDUzZDNlYmE0YjdjMDdiODVmZGJkMmY3IGxlZ2FjeS10cnVuaworMTI5MDAgZGM5YjBkNDE4YzAwOWJiOGQ2OGE0Y2E2M2FiZDExYjU1MDU2Mjk0YiBsZWdhY3ktdHJ1bmsKKzEyOTAxIDdmMTQ3YzRlNDIxOWIxNmQ2ZTM0ZGEzMzQyODY2YTgyMzQ4YjgzMWUgbGVnYWN5LXRydW5rCisxMjkwMiAyYTRjMTc2ZGU2Y2RkM2M4ODkxNzY2ZDMxMDk4YzE4MTY5YTYzZGY1IGxlZ2FjeS10cnVuaworMTI5MDMgOTRhZDkwZmQyNzEyNmZlNWJmNjg4ODk5NWUyNjkxMzYyNmJlZTlhNiBsZWdhY3ktdHJ1bmsKKzEyOTA0IGY4MWRiNzM4YWJkOTJjMjZiMGQ0MTMwZmE3MWE0M2I0ZDExOTk4ZWEgbGVnYWN5LXRydW5rCisxMjkwNSA5ZDRlZmNlMTFmMDliMTU5ODZhMTEwODRhYjJhMjllMzA5YjViYmQ1IGxlZ2FjeS10cnVuaworMTI5MDYgOWM2ZGEzMGFlNjc1ZGNhNWM2OWRlZDcwNTY4NmRhZjg4ZjFhYmMyOSBsZWdhY3ktdHJ1bmsKKzEyOTA3IDgwZDJiOWFmZDE5Y2M1NTQwZjE2MmFjMTlkMGE4Mzc4OTJjNzQ3YjcgbGVnYWN5LXRydW5rCisxMjkwOCAyYzAzOWMwMTA0Mzc3ZTk0NWZlZTIzYzgwNmNjMmFlYmMwZDljMzZlIGxlZ2FjeS10cnVuaworMTI5MDkgMTU5ZjFjM2FmZTI4NGU5ZWM5YWU1MDRkZTczNGFiZTYwY2UxNjFmOCBsZWdhY3ktdHJ1bmsKKzEyOTEwIGNjZWY1YzBlOGRkYzY4Y2U1MTk3MWFjZDk2ZTNhZTI2YjZlODEzOTMgbGVnYWN5LXRydW5rCisxMjkxMSBhMTU0NGZjNDlhNzYzNDU1YTNlMDdjZWY1YzkzNzhiNmUwYTg4YmRjIGxlZ2FjeS10cnVuaworMTI5MTIgMDUwODMyZDgzOGNhNWVmODZmN2E3MWE2NmFlMWY0YjcyYWVjNTI4NCBsZWdhY3ktdHJ1bmsKKzEyOTEzIDk3ODIzMTg0MjY2YTAxOTAyMDBlYjM5Y2NhOTBkMTg2YjBkNjlmYjUgbGVnYWN5LXRydW5rCisxMjkxNCA5OTUyZjE2YmJlOGNlM2U5NzJmMDA1ZTIxMmE0Y2FjZTE0NmE1NjdmIGxlZ2FjeS10cnVuaworMTI5MTUgZTllNjliMDJkMGYwZDEwZmYzYWVmODYzZmQ3MGZjNWY5YmJjNTZiMCBsZWdhY3ktdHJ1bmsKKzEyOTE2IDQzNjNmYjJkNDM0NTAzZjc1MWE4NTY4YzU0ODE4NDU4MTY1OWJmNzcgbGVnYWN5LXRydW5rCisxMjkxNyBhNjMwZTU0ZTk3ZjI5M2JiYjY4MWY4OTQzYjhlMWQ4M2QzMmU4OWFiIGxlZ2FjeS10cnVuaworMTI5MTggNDhmYmM1NWMwNTUzNDE4ODBmOTUxM2YyOWFkMmI4M2NmNWFlOWNhMyBsZWdhY3ktdHJ1bmsKKzEyOTE5IDUyNDM4Yzg3ZmVkY2MyMjZhNjdhYTUyODc2OWNmZDQ1M2FiMGEwZTYgbGVnYWN5LXRydW5rCisxMjkyMCBkYzUwMmNlNzU3NWEyMDcyMTAxNjk0MDZmYWMxNTAyOThlNTIzYTIwIGxlZ2FjeS10cnVuaworMTI5MjEgYjhlNGRlMWMzNWNkYWQ5MDk2ZGEwNTZlNjBjNDNlMTEzNjUyNmI4MyBsZWdhY3ktdHJ1bmsKKzEyOTIyIGNhYmFiMWY1NTk2ZTI4NTI4YjJiMmU5ZDhiYTY0YWJiNzJlN2Q3MmQgbGVnYWN5LXRydW5rCisxMjkyMyA2ZDU4MjcwZGJjZDQzZDQ0OGIxYThkODMxNzQyYWViZDA5MDgwNGQ5IGxlZ2FjeS10cnVuaworMTI5MjQgMGQ2YmQzOTFhY2Q4MzcwOTc1ZTc0OTFmYjRkNTgyNzE5ZDc5ZmI1ZiBsZWdhY3ktdHJ1bmsKKzEyOTI1IGIzNjQ2OTM5ODI2MjY5ZTNlZWE4OWY3MTdlZWQ4YjcxNTlkYzM3YjQgbGVnYWN5LXRydW5rCisxMjkyNiA5YTRiYWYwYzU3ZWExOTQxOWVkZDc5OWZhYjAwMzM4Y2I0YWZkODUyIGxlZ2FjeS10cnVuaworMTI5MjcgNWNjZDNiODZiMWE2MzdmZDMwMmNiN2NlMGIzOTQ1MjFlYjA1Y2RlMCBsZWdhY3ktdHJ1bmsKKzEyOTI4IDRlOGRlZmVjMDlmODUwNDA3NWM5ZjA2MDAzMTRlYWQ3M2E3ZjM0MzYgbGVnYWN5LXRydW5rCisxMjkyOSBjMTc2OTY4YmM5MWMxMDkzMjhjNGQ5MzE4MTBlYzZlYzFmZjRjNmJmIGxlZ2FjeS10cnVuaworMTI5MzAgZTY3OTlhODU1YWY3OGM1NDdkNGU4YzJkOGU5MzkxZDFiMjQ3MWQ5NyBsZWdhY3ktdHJ1bmsKKzEyOTMxIDM1NzFiNGMxYmMwZTNkMzdjZGRmNzkxNWVmNWNiYzNjOGM3ZWQwOTcgbGVnYWN5LXRydW5rCisxMjkzMiBmOWFkMTQ4Yzk4MGNjZTBiZjcyZmQ5ZTU0OTBkNTVmNTRmODkyMTYwIGxlZ2FjeS10cnVuaworMTI5MzMgZDU5MmZlNWUwOWQ1NzRkMGRmMzU3ZDU2NWE3ZWE0ZDk3YTJhOTdlNSBsZWdhY3ktdHJ1bmsKKzEyOTM0IDA3ODllMGI1NTU4N2JiMjE4MWYzZWNkNmZlMGNiZTY1YmYwODNiNjAgbGVnYWN5LXRydW5rCisxMjkzNSAxY2M1ZDIwZDJlZDg0Mjk2ODFkNWI5NjQ0N2IxMDk1YWE1ZGRjZDljIGxlZ2FjeS10cnVuaworMTI5MzYgMmFiMGVjODQ3MTg0NzY3YzM4MzBjN2YyMzE0ZWM5NWU5NWQzNmEwYiBsZWdhY3ktdHJ1bmsKKzEyOTM3IGE0NzY4MzE1OTQ4ZGMzMTA3Y2QwZmE4YzFkZmExMDRiNGE0NzAzNjEgbGVnYWN5LXRydW5rCisxMjkzOCAzMjQ0NTBlYTU0NTAyYjg5MzYyMjIwNzkxMTZhMGI5N2JlYWVjZGIwIGxlZ2FjeS10cnVuaworMTI5MzkgN2QzYTYwZjRlMGI0NzM0NmVlYTAxYWFlMDY2NTY3MjYwMTMxYjRjOSBsZWdhY3ktdHJ1bmsKKzEyOTQwIDNiYzhmNTMwNDFjMDE1YmRhZjQ4MTU4NjJjZGM2YzU2M2Q0YTg4NjMgbGVnYWN5LXRydW5rCisxMjk0MSBlZTZmYTliODY4ODU0YWMxMzA3NGIxYjE2MGE2YmVlZjcxZmUyZmU3IGxlZ2FjeS10cnVuaworMTI5NDIgOWNlMTQ3NGFiZGRkN2MzNjlkODRkMjZiMTBkZDQzMmUwNmNhMWM2YiBsZWdhY3ktdHJ1bmsKKzEyOTQzIGI5NDE0NGRlMmYzMmI1M2UyZmQ1MTgyNWJkYTkyMDAxMzg5ZGE2ZDIgbGVnYWN5LXRydW5rCisxMjk0NCA5YmE1ZGZmY2NiMWJkYjQzNjM2MjcxOGUyYmJjMjhlZjIxYjBhMzQ4IGxlZ2FjeS10cnVuaworMTI5NDUgOTE4NGM5ZTEwOGY5N2JiNjZjZTEyMzNmOTczOGY5MmRjMmIxZmEyYiBsZWdhY3ktdHJ1bmsKKzEyOTQ2IGYzYTRjNGY0MDQ0Njc4NWU4NTY2ODQ3N2VkMzg0ZjRhYTFiOTEwOWEgbGVnYWN5LXRydW5rCisxMjk0NyAyYTE0OWU5NGVmNGFjMTQ1ZDVkMjFlNjUyMWFjZDc3MTdmMDRhMDYzIGxlZ2FjeS10cnVuaworMTI5NDggMDBjMzdjYjc1YzI4NTQ5ZDA0OTdlYjZmNGJlOGRiMzVlNWQwYzcyNiBsZWdhY3ktdHJ1bmsKKzEyOTQ5IGJmMjZiN2MxZTZkZWMxOWNhN2NhOTkxMDJkYmVkNjA5NzNmYjA2YzIgbGVnYWN5LXRydW5rCisxMjk1MCBkMzc2MjkzM2JmZjg4OWE5MDgzNmRkNTUzMDZkNmNiZmUyMDQwNTM1IGxlZ2FjeS10cnVuaworMTI5NTEgOTdhMDZlYzdjNmY0OWI3MjNiYTU0MjFmNDM0YjRkZjVkYTAwYTdkYSBsZWdhY3ktdHJ1bmsKKzEyOTUyIDdmZWY2MGY4YmM0NTU1ZTYzYjU3Mjk2ZjBkMWUwOGNiMDZiZDdmNTAgbGVnYWN5LXRydW5rCisxMjk1MyA1Y2ZiZDQ4OWE1ZDM0ZDA5ZDllMWY5N2NjNTc0ZjU2YTA3MTk1OTc5IGxlZ2FjeS10cnVuaworMTI5NTQgMmIxZGZjMTM5NTFkZmI2MzBhYTY2ZjZmZDNjMmEyNTY3YjExMzU0YSBsZWdhY3ktdHJ1bmsKKzEyOTU1IGM5ZTEwZWQyNmQ5YWIxMDAwNWViMDZkYzljZmMwNWQ1NThjNTE5OGMgbGVnYWN5LXRydW5rCisxMjk1NiA1YjU0ZmE3NzVlNTUwZWNkOGViMjJmMmJiZjhkZDM5NTYxYmM4MTFiIGxlZ2FjeS10cnVuaworMTI5NTcgZGFkMTRmZmUxYzIyYTA2YjA1ZjU5NmYwMTMxYjAwZmY1NGU3ZDk5YSBsZWdhY3ktdHJ1bmsKKzEyOTU4IDExMTc4YzhkNmJlMmE2YzI5M2E5YmM0NTYwZWRlNDFiMjc1Yjc2YTkgbGVnYWN5LXRydW5rCisxMjk1OSAzZjIxM2E4ZmMwNGUwNmZkZmVhYTFiODcyNWJmYjhlMjBlODljYmY0IGxlZ2FjeS10cnVuaworMTI5NjAgODJhZGM1NGRkMzc3YzQ2NDRmMzRiMGRmOTU5OGYwZjhmODcyMzU3YiBsZWdhY3ktdHJ1bmsKKzEyOTYxIDcwOTEwZTMxMjVhMjc2MzE0MmZiMDhhODk2ODFkZWQ3YjJlODRlZmQgbGVnYWN5LXRydW5rCisxMjk2MiA0YzFiYmVkYWQxNGJlNjNjZDBmNDg1M2Q0NTRlMTkzNWQ5NTA2YTg0IGxlZ2FjeS10cnVuaworMTI5NjMgNjI3ODE5MTRmYWRiODkzY2Q2YWUzZmNhMWJmN2I2M2VlMzU1ZTcyZCBsZWdhY3ktdHJ1bmsKKzEyOTY0IDRhYmM1YWJhZWM5YWI4ODBmNTEyNGExOWVmMjdlODNkODAyYWRlNTkgbGVnYWN5LXRydW5rCisxMjk2NSBhNjQ2NGViOTg3ZThjZWFmMzlmYzFjOGUzNTAwMGM3MTA2Njc4Y2U2IGxlZ2FjeS10cnVuaworMTI5NjYgNTNjMWZhZWMxZDQ2NjZhNTA2NDM1MjBiOTE2MTdjNDU3OTY5YzczZSBsZWdhY3ktdHJ1bmsKKzEyOTY3IGY3NGVmMTk3MWJkMTI2ODA4NGU1NjI3ZDIzZDBlZjg3Y2JlMDhiY2YgbGVnYWN5LXRydW5rCisxMjk2OCA1ODY4ODQ2MjAxZWRlMjAxMzlmMDI2NzYxN2IwZDFiYmYyNWEwOWJhIGxlZ2FjeS10cnVuaworMTI5NjkgMzZiYTRkYmZmNjg2ZTg1M2FiMGM0ZDA2MmU2OTAwZDFmNmEzNTFjOCBsZWdhY3ktdHJ1bmsKKzEyOTcwIDI1NWFiYWIzYzU3NDMwNTA4YmUzMWYzZjUyYjM5NTYyMzU4ZjMxMDkgbGVnYWN5LXRydW5rCisxMjk3MSA5Y2Q0ZmQ5MjZkZjY0NDk5YjNhMDRhNzcyYmM4MDgwM2RlZDM1ZWJjIGxlZ2FjeS10cnVuaworMTI5NzIgNjAxYjRmMmQ1ZmM4NTI0M2EwYmIwNmI3MjhmZjk0ODJjMWI4ZWY1ZCBsZWdhY3ktdHJ1bmsKKzEyOTczIDAyMmIxNzhmZDBlZDU3NzgwNWU0ZjFkZjQxMDRlZjI2ZWZhNGE1MzkgbGVnYWN5LXRydW5rCisxMjk3NCBhYzNhNDY1ZTUwYTY3YmU5MWE3ZTMzY2E2MTAzMGRkMTk3Zjg1YjU1IGxlZ2FjeS10cnVuaworMTI5NzUgNGVlOTAwMDA1ZWQ4OGU2N2FkOGJhYTUyNzBiNzA1MTY0MzliYzJhMyBsZWdhY3ktdHJ1bmsKKzEyOTc2IDYzYzQ2M2E4NTI5MzZlZjQwMGFhYjIxMzJhZDM1ZjRkYWRmYWVhYjggbGVnYWN5LXRydW5rCisxMjk3NyBmODUwZWYzZGE0M2FmNDRkZGU0NDc3MzllYTA3ZWUwMTc2ZmQ5NTQwIGxlZ2FjeS10cnVuaworMTI5NzggYzgyYTg1YmExZGRlZjhlODI4NWJlMGE0Y2RlMTgxMWNkZWVmODlkYSBsZWdhY3ktdHJ1bmsKKzEyOTc5IDU3NzA0ZjBhZDliMDVjMDc0MDE0NzI2MjQ0NmZkZTZkZDRmMDY4MDggbGVnYWN5LXRydW5rCisxMjk4MCA0YjE5NDYxNzgwYjk5YTBjNTk2NDc4ZWU5MTRmNmUxNThmN2IwYjlhIGxlZ2FjeS10cnVuaworMTI5ODEgMDEyNTBiODMyMzc0YWIyYzU2ZmZhYjg4YjY2ZGZkZjI5N2VhOTFkMyBsZWdhY3ktdHJ1bmsKKzEyOTgyIGVlNjEwOTQ5ZjkwMjI2NGVhYzEwMzBmMjEzYmMzMmE0NGVjYjRkZGYgbGVnYWN5LXRydW5rCisxMjk4MyBjMjU1NGJmNjE3YzMyNTY1OTZiZjUxOTJmMmU2ZDFlNjNhMzljY2QxIGxlZ2FjeS10cnVuaworMTI5ODUgYmFlNjUwZjU3YzQxNTBiYjBjNDgxNmVhODcyOTM0MjIxYzUzOWFhMiBsZWdhY3ktdHJ1bmsKKzEyOTg2IDc1NjgzZmQzOWU5MWVhNGNkZmUzYmNmNDg2ODVmNzQ1YTQ0MDlmYjggbGVnYWN5LXRydW5rCisxMjk4NyA3NDc0YWQ3ZTBhNDQ5YWI5MTUwMjI5NWJjYWU4ZDVhZDRhNjk3OTE2IGxlZ2FjeS10cnVuaworMTI5ODggNTAwZjhlYzlkZWQxOGQ2ZGQ0OTg1Y2RjY2Q4NGM0NjhkOTlkYzg3MyBsZWdhY3ktdHJ1bmsKKzEyOTg5IDhkMTE1ZTExMWExNzQwZTkzZTI1NjhjOTRlNjdlMjQzY2ZmZTFmMGIgbGVnYWN5LXRydW5rCisxMjk5MCAzMGM5NGNkNDlhNjg4YTY2MDhiY2UyOGNiMjExNjA2YWNkYTFjZjYxIGxlZ2FjeS10cnVuaworMTI5OTEgMDVlOTdmNmEzNjM4YjM1MGVjMzk1ZTAxZWIxYTQ5OTUxMDQ0ZmMyOSBsZWdhY3ktdHJ1bmsKKzEyOTkyIGVjZGZjZWExMjQzODU2YzYyN2Q2NTAwZWZjMDI3ZmYwZTgwMTA5ZDggbGVnYWN5LXRydW5rCisxMjk5MyA4NzQ5ZTg4YWI0MDY2MGNjMTE4Zjc5MmMyNDlhNDVhNTc5Yzg1MDg5IGxlZ2FjeS10cnVuaworMTI5OTQgMzkwZTRjMTAzYmUyNjg4ZTBhMGNhN2FlZDVlZTYzMWQ0Y2M3NmI2NSBsZWdhY3ktdHJ1bmsKKzEyOTk1IGIyMzU3OTI0YTlhOTI2Y2RjZjM5YjUzZDkzMjA0N2ZjMDIzOGJmYzEgbGVnYWN5LXRydW5rCisxMjk5NiA0MzA1MmQ1Yjk4MDgzNDkyNjFhNzg5NjMxNTUzMDQ1NWVkMzFhYWI5IGxlZ2FjeS10cnVuaworMTI5OTcgZjVkN2M0OTQ1ZDVmNWI0ZGM5MmIxMGE5ZTgxMTgyMmIwNTI4ZTkzZSBsZWdhY3ktdHJ1bmsKKzEyOTk4IGU2NGM4Yjg0ZTI0Yjc5NWZiMDBlOTdmZDMwYTQxZDdmYWEyNDUxOGEgbGVnYWN5LXRydW5rCisxMjk5OSAyNDZiMTM0MTBhMzE3ZTRkMGFjYjQyNTQ0YzBiMjhiNjg1YmMyMGU3IGxlZ2FjeS10cnVuaworMTMwMDAgYmExYTI3ZDczY2RiMGEzM2ZhYmMzNzY4ZGZmOWNiMzkxOWNlMTJjYiBsZWdhY3ktdHJ1bmsKKzEzMDAxIDhkNDBlNmJhNGM5ZTIxNDE2YTI4YmUzOGQ3OTllMmQyODE0MDk4ZDggbGVnYWN5LXRydW5rCisxMzAwMiBmZTg2NDVlNDkzMTQ4MGM1YjdlNzdmODJjNTU4MmNjNWMzODc5ZDI2IGxlZ2FjeS10cnVuaworMTMwMDMgOTkzOTA4Mjg2YWM3MTY1Y2FkYTFkZGExMGExMmQ3NzE3OTQxZGI1NiBsZWdhY3ktdHJ1bmsKKzEzMDA0IGMwZjE0N2Y0ZjEwMGRiOTliOTk5ZDQ1MzdkN2VkOGY4ZTdkZGJiZDYgbGVnYWN5LXRydW5rCisxMzAwNSBlMDhkYTM0YzQ1ODJmZWRhMWVkM2U3YTc3ZTdhMzQzNGJiZDc2NmJmIGxlZ2FjeS10cnVuaworMTMwMDYgZmU4ODFmNDQ2YzVkMjhmZWE5N2VmYTE4NjI1YzI2MzEyNjhkNWRlMSBsZWdhY3ktdHJ1bmsKKzEzMDA3IDUzOTNjZTUyMDdjNzA2NTE2MGNkZGNkMGRkMTQ5OThlYWE4ZDIyZjggbGVnYWN5LXRydW5rCisxMzAwOCA0OGNkZGQwY2M3MzMwNzgyMjBhMjA2NGJkZWNmMWZiMGYzYTBkOWIwIGxlZ2FjeS10cnVuaworMTMwMDkgMjBmZWJhOTY3NDM3MTdiNWQ0NTU1ZWI2M2NmNDdhZjVlYjdjZDliYiBsZWdhY3ktdHJ1bmsKKzEzMDEwIDQ1ZTk5NzVjYjA5Mzk0ODU3NjAyOTBkMmUyY2Q1YjljNTJhMzhiYzAgbGVnYWN5LXRydW5rCisxMzAxMSA3NTNmM2Y5NWM1MGYxNWM4ZDJhYzU5NGIzMjNmMDQzNzY1NDQ4YzA3IGxlZ2FjeS10cnVuaworMTMwMTIgZDc5OTg5YTQzNWQ5MmUzMWI3MjJiYTcwNmVlZDA4ZTNmZjQ1ZWE0ZCBsZWdhY3ktdHJ1bmsKKzEzMDEzIDY1YjNjZmU2ZTY2NjkyNzk3MTA1Y2I3YTY2NmM4MGU1ZDcxZjc5NWMgbGVnYWN5LXRydW5rCisxMzAxNCBjM2VkYzE0YzM4ODBhMzk0ZGUzMTFhYzk3MTQ3NmJkNTQ5Zjg5NDkzIGxlZ2FjeS10cnVuaworMTMwMTUgMjE5OWY3MGIwZWRhNzJjODljMGMwODY0MjdkNGI3NzE4Mzk2MjZiMCBsZWdhY3ktdHJ1bmsKKzEzMDE2IGNhNDRmZjc0ODJjNzc1ZDE2Yjc3NmQyYzkyMGM2ZjE1NjVjN2NhNTUgbGVnYWN5LXRydW5rCisxMzAxNyA4MWY0YTc3ZTczMzczMDFiMzY2NTIwZDhjOTdjZjZjYmQzNDUxYjEyIGxlZ2FjeS10cnVuaworMTMwMTggOTZiZWFlYWQ4NzRmNzZhMDc5MmRiM2VhNGE1YzA0MzNjZDk2ZDhmNyBsZWdhY3ktdHJ1bmsKKzEzMDE5IDU2MTA1NDQ5NzcxYTY4NDMzYjlmYTZmZDczZjkxYTJlOGJiMDYwYTYgbGVnYWN5LXRydW5rCisxMzAyMCBkMzg0ODY4YWQ0NjIyZWJiOTBjODY4MWEyZjEyNWYzOTM3NGM4YzJhIGxlZ2FjeS10cnVuaworMTMwMjEgZTNmNTlhMDY0NzJlM2E1NjQzMzk5N2NjNjU5MzYwYzc0ZDk5YWM2ZiBsZWdhY3ktdHJ1bmsKKzEzMDIyIDlhYTY1ZDQ4ZGQwNTE3NzVkYTEyNmIzNjQ2ODU4OWIxNWZmOThkYWMgbGVnYWN5LXRydW5rCisxMzAyMyBiMTlmMmE5ODIwMzA1ZjkyNTQ0NzNiZWI3NWQ1MDNiOTNjMmRjMjg0IGxlZ2FjeS10cnVuaworMTMwMjQgN2VlMWUzMTM0MTQ3M2Y1MWMyNGRlMDFlODNlYjFiNWFmNmIxZThiNSBsZWdhY3ktdHJ1bmsKKzEzMDI1IGYwMDVhYzczNTg2MzQxM2FkYWVmYTVhYjAxYjU5NThiNDNlM2M2YjcgbGVnYWN5LXRydW5rCisxMzAyNiBiNWRlYTRjNzlkMjRlMGEwYjU2MGJmNjRhODdhMjNlNjA3MjAwODY3IGxlZ2FjeS10cnVuaworMTMwMjcgNDc0YzViODJkN2RlOTlmN2VlMDQyYTBjNmRmYmYxYTAzZjJlN2VhYiBsZWdhY3ktdHJ1bmsKKzEzMDI4IDg3OGE1NGEwNjExN2IzOWI5OTRiOWU4M2RhZjMxODczNGUxOWFjNDkgbGVnYWN5LXRydW5rCisxMzAyOSA2MWJlYzFlNWZhNTkzYTk3NTY3OTM0MjUxYjZhYzNiZTQ3NzRlMjAwIGxlZ2FjeS10cnVuaworMTMwMzAgNDE1N2YzODYyYTA5ZGYxNzE3NDZiMWJkYjdhZTcwM2JiNGUzODNjMiBsZWdhY3ktdHJ1bmsKKzEzMDMxIDNlZWZlNmIwODY2MmY0NTI5YTMyZjFiZWYyMGQ0NjRhZTdhNjRjZGYgbGVnYWN5LXRydW5rCisxMzAzMiBkNGNlOWYxZjYyNjY2ZTRkODhkOGIyYWNjNWRjNDdkOGM3YmRmZDQ1IGxlZ2FjeS10cnVuaworMTMwMzMgNTQwYzgxNzNlNGZkYmZlY2JhMjQ2NTQ3YzdiODFhZjk1MzkwNjEwZCBsZWdhY3ktdHJ1bmsKKzEzMDM0IGQ4MzRlY2RmOGMyNmUwZGY5MjMxODdmMjBiYTQ3YWNhNmVmMmUyMjAgbGVnYWN5LXRydW5rCisxMzAzNSA5ZWM5YWJmZWM3OTRlYzE0MWQ3Y2Q2OWMwZTVkMDZkMjEzNWU1NTRhIGxlZ2FjeS10cnVuaworMTMwMzYgYzA0ZjAzZTgyYTc1NDM4MjA4MDc3MzNhNmZmN2VkZmQ1MGQyMDM3ZCBsZWdhY3ktdHJ1bmsKKzEzMDM3IDMyYmEwOWM4NjkxN2JiNzBmNWE0ODY4YjY0YmQ2NWViYTVlZGUzNjQgbGVnYWN5LXRydW5rCisxMzAzOCBhNGEyNjhiNzI1YjJhNDYyMzZmODBlN2ZjYzFiM2ZiNjYxYjljZTZiIGxlZ2FjeS10cnVuaworMTMwMzkgYjYyNzI0YjA5MzAyZTc0OWNjNTkzZjM4NTE4ZTI4ODBjZmY2ZjlhYSBsZWdhY3ktdHJ1bmsKKzEzMDQwIDkzNDcxOWMyNWFmODJlZGVmMTU4ZWI3ZTJmY2JkMWY3ZGZkN2UyYjkgbGVnYWN5LXRydW5rCisxMzA0MSAzZmU5NWMyYjM3MTM0ZWE2OTZlMGZlMmU2MjI3ODM0YTA3MDY3ZDExIGxlZ2FjeS10cnVuaworMTMwNDIgY2NlZTNjMjhiN2VmZjFiZjVlMWQxMDcxY2VkNzRmNzRiOTBiMmE5OCBsZWdhY3ktdHJ1bmsKKzEzMDQzIDVmNDU0YjcwNjE1NmVhMzFjODhjOWZhZTcwZmM2ZTAxOGM1ZTU0ZWMgbGVnYWN5LXRydW5rCisxMzA0NCAwYmViN2QzNmMxYTk3Njk0NzI2MTEyMDhmMzY0NGE4NzA3MTIzZGZlIGxlZ2FjeS10cnVuaworMTMwNDUgZjI4ZTZhM2I5MTM0ZTE4M2VmMWYxOGNmM2MwZTRmMGVhMDFiNGJlZiBsZWdhY3ktdHJ1bmsKKzEzMDQ2IGVkYzdiMjhkOTA1MjExMzZiNTNkZDQ3NDM3OWE1MzI4OWY1NjcxYWEgbGVnYWN5LXRydW5rCisxMzA0NyA1ZTllYTNlYWI3N2M4MTAyNTMwNzcxNWQ1MTUzMmViZWZlZjNhMmRkIGxlZ2FjeS10cnVuaworMTMwNDggMzQwMGFhMWIwMDczZmM3OGMzNjI4NmQ2ZTIzZTQ1NzAzZTcyOTJiYyBsZWdhY3ktdHJ1bmsKKzEzMDQ5IGMwYTY5ZWNmOTY0NmY2MWE2MGVkMWY2OGIzZjM1MmMzYTA1MDQ1OGQgbGVnYWN5LXRydW5rCisxMzA1MCBlNjhkNTM3ZWI1MGZlYWI3NzA1ZmEyMWE0NDc1ZThjNmJjZjJkYTVlIGxlZ2FjeS10cnVuaworMTMwNTEgNTk4MGJiMDAxZjg2NGVjMDA2NmU0ZjNmZjA4N2Y1OWQwMGIwZDQwMSBsZWdhY3ktdHJ1bmsKKzEzMDUyIDhjMWNmZTk2NWQ5YjJkYzMxZjEwNTNmNDA4YWQ4MzEyZjRiY2M4MzIgbGVnYWN5LXRydW5rCisxMzA1MyBhZTYxYjcwZWZkYjNhOTQ4YmZhODFjOTU5N2QwMmYxMjYxYmVkY2M2IGxlZ2FjeS10cnVuaworMTMwNTQgYzY5YmZlMGVjYmQ4NzA2YTM1Yzc3ZGRlYWFiN2M5MzZiNGEzNWY2ZiBsZWdhY3ktdHJ1bmsKKzEzMDU1IGFmZjA3ZTA0OWFlZWZhMmJlNDMyMDhhZDBkMjZkNzNjNDhiMzNhZDAgbGVnYWN5LXRydW5rCisxMzA1NSAzOWZiMGRjYzgzZGMzNzVjMTU2NWJhNjVkYmNlMGVkNTliMTM1OWM5IGxlZ2FjeS10cnVuaworMTMwNTcgYTgzN2E2YWVkODNlNmRlMmYzNDc3MGViNDRiMjVkMGZmOGYyZDBlMyBsZWdhY3ktdHJ1bmsKKzEzMDU4IDA1Y2ZhMjhlNjVmNjI0NTM3MjIyNDljYjg0ZDk4YjRiYTQ3NDhhZmYgbGVnYWN5LXRydW5rCisxMzA1OSAyNDNjYzZkOWM1YjhmYmUwZWRhMTdmMTU2NzljM2E3MjRkZjE1Y2FjIGxlZ2FjeS10cnVuaworMTMwNjAgZTNlNWQ3NjM2OTU4Njc5YzQxMzZhOTdlODg5NjU3MTAyZmM1ZTk4ZCBsZWdhY3ktdHJ1bmsKKzEzMDYxIDI4NmIyY2U2NTI0ODg2NDkzZDUwM2VlZWQ1MTMyZGZlMmQ4ZTc5ODcgbGVnYWN5LXRydW5rCisxMzA2MiA4ZDJhOGE0OWQ5ODM5MjEyMThiYTRhMDQxNTRhODMyYTVjMTA1N2Q2IGxlZ2FjeS10cnVuaworMTMwNjMgYWZhYTNhYTgzNWY5ODMzNzlhNzc4OTM1OTFiOWIzY2FiMWY0MmMxNCBsZWdhY3ktdHJ1bmsKKzEzMDY0IDk3MGQ2MWJiNmFjZjkzODNiMzU2YmU0ZjFmNWYwYWMzNDljYWViNjAgbGVnYWN5LXRydW5rCisxMzA2NSAzYmUwNTI1YmY0N2YxYWM0MzY4ZTk2NDJkZDg1YmI3NWI3NWZmZDI1IGxlZ2FjeS10cnVuaworMTMwNjYgYTQyODI0Y2YwYjE4MWUyODZiMjUzZDVjMDc3MmNlNWJlZmQzOTFlMCBsZWdhY3ktdHJ1bmsKKzEzMDY3IGY2ZmM2N2Q3MDVkZWFkMmJkNDFlMDg3NTMzNjI1ZDI3NTYwMGM3ZTggbGVnYWN5LXRydW5rCisxMzA2OCAwNGFmYzFhYzFhMGZkOWZjOGIzZTk4ZDliYjlhNGQxNGU5NzE3MmQwIGxlZ2FjeS10cnVuaworMTMwNjkgMTA0YTQ0MWIyYmM4Y2Q5MWQ1MjkwMDI3Mjg3ZTk0OWFmODA0MDEwMiBsZWdhY3ktdHJ1bmsKKzEzMDcwIDdiZjNmNDEyZTEzNzg2MWJmYzY5MTkyN2IyYTg3ZDJkYWNlNWY5NDIgbGVnYWN5LXRydW5rCisxMzA3MSBkYTE1ZWQzMTRlMjQyODE0NzYzZmE0OWEzMjk0ZGI2Mzc4ZjA4OGQyIGxlZ2FjeS10cnVuaworMTMwNzIgYmZmMzM4MmM2ZDJmNTFlZjg4YjE2NzViOTk5YTNiYTNhNWQzOTM1ZCBsZWdhY3ktdHJ1bmsKKzEzMDczIGY1ODA0NjMzOWNiZjM1ZDliNWYwODhjMjZkYmY2OTY4N2JjMGFlMmUgbGVnYWN5LXRydW5rCisxMzA3NCA0ZTBjYzZlMDJhMGRlOWNjNTY2ZjFmMWQ2MmJjZTUyZTc3NThhNTA2IGxlZ2FjeS10cnVuaworMTMwNzUgNGFmZjM5MTc1MTM3MWRhNWY5NTQ4NTRhOWU3ZDIyZWIzZThlMWJiZiBsZWdhY3ktdHJ1bmsKKzEzMDc2IDEwYmQyZmIyYTBkNjdkOWQzZmVkY2JkMTBjYTM4ZDAwN2I5NGMyMjkgbGVnYWN5LXRydW5rCisxMzA3NyBhZjFlODE5YzA0NDU2OWJmYWFkZDFiMjEwZWFkMzgyNDhiYWNkOGJlIGxlZ2FjeS10cnVuaworMTMwNzggZjk2YjI3Mjk4MWJjYTY0YWQyY2NkYjcwZDUxZjU5OWI5MjE2NDhmMCBsZWdhY3ktdHJ1bmsKKzEzMDc5IDU2MTcyZTBlZmI3NTJlYzY1Mzc0OGYyNmIxMTRkZDA1M2UyOTlkMzAgbGVnYWN5LXRydW5rCisxMzA4MCA2ZTdmMTRhZjg5YjcxZmUyNGFkNTgxZGRiMmE2YTI5YjllZmRkODU2IGxlZ2FjeS10cnVuaworMTMwODEgODg1YmU2MDEwNGQ0MjM1NTA4MzAwYmI0Y2I4MzBjNGYyYzNhM2U0NyBsZWdhY3ktdHJ1bmsKKzEzMDgyIDYzNDJjZTRmZjk0NjU0ZjAzOTg0ZmJkYWZhNWE5ZjY2NGEyMGEzMmMgbGVnYWN5LXRydW5rCisxMzA4MyAxZWQxZWI1YmM2ZWMwYWU4MDQyYzM0ZjY1NWRjNGM2ZDE0ZmU4MWM3IGxlZ2FjeS10cnVuaworMTMwODQgNDM5ZmM4NTMyNGNkZDIyMzc0MDZlOTk1ODY0MTRmMzNjZDZlMWRjYiBsZWdhY3ktdHJ1bmsKKzEzMDg1IGJiYjVhZjc4YTI1OTI4OTA4YjhmZjcwZjdkZmJiMGNmNmQxMmI2NjIgbGVnYWN5LXRydW5rCisxMzA4NiBmN2I4Zjg4NmI1MWE3OGM0MGFlMzJiOTA2MzJiMGFlYWE3ZjZiYzRhIGxlZ2FjeS10cnVuaworMTMwODggNDRkYTAzNjUxYmQwMmFkNjRiMmZmMWQwMmM4NjU1ODA5Nzc1ZThkOCBsZWdhY3ktdHJ1bmsKKzEzMDg5IGU0MTExMGZmOGMyZmEwN2IxMzZmNDBlYzVkYmE0MTcxNDg3ZjFlZWMgbGVnYWN5LXRydW5rCisxMzA5MCA3MDBkYWE3NTg0N2E1ZDRiNDI4NjAwYTAzMzQ1OWE4OTEyMzYwZGM0IGxlZ2FjeS10cnVuaworMTMwOTEgOGRhNDZkNmI4YWYzYjI0MTg2NTJhNGI4MjRjYjMyNTQ1MmE1ZGY2ZiBsZWdhY3ktdHJ1bmsKKzEzMDkyIDA0MGI1Mjg2OGZlOGNlMjI2ODE1OTQ2YWZjMGE5NDEyNzdkMGVlZDAgbGVnYWN5LXRydW5rCisxMzA5MyAyNTFiYWEwMzJhZjBjM2NiMmE5MDA1ZDMzYTJjOTQyYmYzM2M0MTQ5IGxlZ2FjeS10cnVuaworMTMwOTQgY2U4NjFiNDNlZjUzNTZmMDk0YWZiNzNhM2YxYzc4YmQ2NzRmYmM2NSBsZWdhY3ktdHJ1bmsKKzEzMDk1IDA5NjVhYTJkZjVjYWQ4YzhjODBmMjQ5OTAwY2FiNGQxMjk2YmRjYWUgbGVnYWN5LXRydW5rCisxMzA5NiA4M2QzOGM0YWQxZGVmYjA4ZTE1ZjYxY2VmZmIwZDljN2UzZDM0N2EzIGxlZ2FjeS10cnVuaworMTMwOTYgNjFjOTFjN2YxMDFiYWIzMTQ5YWRmY2Q1NjQ2YWU0MGUwNDhkZTcxMiBsZWdhY3ktdHJ1bmsKKzEzMDk4IGMzMWI4ODBhZTg0ZjlkMjJiMDM1NDZlYjllYjQ5MWU4ZTcwNzQ1ZjYgbGVnYWN5LXRydW5rCisxMzA5OSAyOWFiYjdkOTZjMjU5NTE4YzEyZGI3OTNlNWVlMTQxZTMwNWM0NzBjIGxlZ2FjeS10cnVuaworMTMxMDAgNGUyNjk0MTRlZWU1MzBhNjdkMTQzODY1ODViODY4OTM5ZGQ2ZWMyOSBsZWdhY3ktdHJ1bmsKKzEzMTAxIDYzYzdhOGFjNGU0Y2Y5Y2QzMDhmY2UyYmE0MTVhZjI1NmFlMTU5ZDcgbGVnYWN5LXRydW5rCisxMzEwMiA1NjZiZDg3ZTAwMzJlNjkyYmRmN2Y4ODNmZGUyNTZmNmRiYjAwM2U5IGxlZ2FjeS10cnVuaworMTMxMDMgYzg3NTliYTgzNTUyYTU2YjlmNjFjMzAwMWU2ODg5ZjcxOTM4ZTViYSBsZWdhY3ktdHJ1bmsKKzEzMTA0IDg3NmQ3ZTc5MjI1MmM1ZTA1MjIyZDM0NGVmYWZjZmNkNDRhYjI5MDkgbGVnYWN5LXRydW5rCisxMzEwNSBkY2RiYjEwMDA2MGYyYTlmOGIwZmFmZTliYTZiYjU5MDkwNGY4YWY1IGxlZ2FjeS10cnVuaworMTMxMDYgOTBiZGY4ZmE3OGE5YjhlYjdhODBlYmQyOGUwMzAwNmI4ZTc2Y2ZkNCBsZWdhY3ktdHJ1bmsKKzEzMTA3IDJhYjk2N2Y4NDg5NWIwZGQ4MmZjZjI2MmEzMmJjNjg5OWVkMGRkNjcgbGVnYWN5LXRydW5rCisxMzEwOCAyOGM0NDM3MmRlMzg0MWUyYTFjMTNmMzcyNjEwZDE0ZmM1OWRjNGEyIGxlZ2FjeS10cnVuaworMTMxMDkgM2RlMDQ0ZTY1MGExYjYzYmVmMzMzNTY4NDNhZjUxNDU3N2IxZGYxZiBsZWdhY3ktdHJ1bmsKKzEzMTEwIDAyNzAxYjk5ZjliYWJiOTY4YWRjNThmZTNmZDg3MTczODhiMWZlMTIgbGVnYWN5LXRydW5rCisxMzExMSBmZTVmY2I3ZTczZjc5YmQ1NTEwMjMxMDc3M2ZmZTNlZTY4N2U2NzM4IGxlZ2FjeS10cnVuaworMTMxMTIgZmNhYWM0MWY2ZjNhMDMzZmI0YmJlOWU2ODY4NGUxYjRjMTNkNTJjZiBsZWdhY3ktdHJ1bmsKKzEzMTEzIGI0ODg5ZjEwNmMzYjE4MDZkY2Y3N2QzZTc4MzZhM2JhMjlmZDRiM2EgbGVnYWN5LXRydW5rCisxMzExNCAyNDE5YTZjOWY2MjgxMDYzZjhmYmQ3YWY4ZDEyMDFiYWZiMWFmMmJlIGxlZ2FjeS10cnVuaworMTMxMTUgM2YxZTcyYzcxYjNhNWNiZDZmNjFlZDNlNmI3YTA4MWZiNzZlOTZjMiBsZWdhY3ktdHJ1bmsKKzEzMTE2IDZmOGNkYzdlMjI1YzkxNzdmNjk0NTNiOGYwNDgwNmU2M2FlOTE2MGMgbGVnYWN5LXRydW5rCisxMzExNyBmNDI1ZTYwYWM3MWE0NmQ4MmMyOTgxMGM3YzI3M2RkYzliYmQzNzJmIGxlZ2FjeS10cnVuaworMTMxMTggZjYxNGY1Y2YyZGVjOWUzZGM4NGY3ZWQ3NjFmYTY0MmJhMzE0MjBjOCBsZWdhY3ktdHJ1bmsKKzEzMTE5IGEwNzdlNWRhNWZhNTczMGEwYTg2YTUzZDI5NThhOGY3ZWRhY2RmZTMgbGVnYWN5LXRydW5rCisxMzEyMCA1NjhlOTQ3MjdhMGNjOGQ5ZmJiZThjZjNhYzc3ODczYzk3MDVhMDI4IGxlZ2FjeS10cnVuaworMTMxMjEgYTZiOWQ0NTAwMzE3NTI4OTA4MGMzMGM0MTRiZDc3MjU1ZjkxOTJlYiBsZWdhY3ktdHJ1bmsKKzEzMTIyIDAxMmQzNjFmZGYyM2E4YTM0N2MzMDE4ZjI4ZjNiNTM3YWRkNTU4MGUgbGVnYWN5LXRydW5rCisxMzEyMyBmN2U5YmM4ZGExM2QyMTYzM2VhYTQyZjIxNGE3OGNjZGNjZTNlMTg0IGxlZ2FjeS10cnVuaworMTMxMjQgZmE0Njg1ZmQ1YWRmZjEzNDQ4YmNlNGRhYTVkMTUzOWZmOTZiZjNiNyBsZWdhY3ktdHJ1bmsKKzEzMTI1IDg5MWQwODlhYmE0MTJiYTYwOTVkYWU5YTBlYzhlNTA2ZGFlYTFmYzkgbGVnYWN5LXRydW5rCisxMzEyNiA1YjE3MGYwZGE5ZmViZDk5MjJjM2Q0NWVlZTM5YmMwYmU5NTcxYWM1IGxlZ2FjeS10cnVuaworMTMxMjcgZGRjZWRkZWY1OGExYzcxYTdjZWNhMThlZTRmNTFmMjk1ZThiYjhkZCBsZWdhY3ktdHJ1bmsKKzEzMTI4IDg0ZDRmMTcyNjY5YTZmZDM3ZDMxZWNiZmUyZTY2MGMzZjA5MDY4OTkgbGVnYWN5LXRydW5rCisxMzEyOSAzNGZkMjUyNDI3MzE5ZjIzMTEzZWEzM2ZhODYxYzYxMjYyM2UyNDgzIGxlZ2FjeS10cnVuaworMTMxMzAgYWQ1NWJkYmE1ZGZmZWQ4Y2EyMGI0NjIwODFhNDg4ZDFjNzFkNzQzZSBsZWdhY3ktdHJ1bmsKKzEzMTMxIDM3ZGQ4YjhiMWQ4NDAzOWEyOGViNGJjN2EzZWViMWYzZjAyNmFiYmUgbGVnYWN5LXRydW5rCisxMzEzMiA3NWYxMjg3MWVlZWE3YjVjOTJkMWE1MzRjYjRjNzU3YWE5ZTA5NmRjIGxlZ2FjeS10cnVuaworMTMxMzMgMThjNzRkNmJjYWU4ODA3NDE0NDE1ZmFhOWUyMzgxMzY5Yjg3NjczZSBsZWdhY3ktdHJ1bmsKKzEzMTM0IDFiZGVhMTdiYzQ3MWYyNWY3YTk3NzE0Nzk5Y2FkMGM1ZDg5ZWNhMjMgbGVnYWN5LXRydW5rCisxMzEzNSBkNzE5N2IzMmZiZmVhMWVjYzE5ZDY4YjRmMzQxMGExMGZjZmFkYTRjIGxlZ2FjeS10cnVuaworMTMxMzYgNjQ3MjcyOGRmMmQwY2YyZDY0MjM2MDYyODcxZjUyZTNmMTg0ZTg1NyBsZWdhY3ktdHJ1bmsKKzEzMTM3IDQ2YTcwOGIwY2EzOGYwMTA2OWMyODUzMjg0ZmEyZGFmYzkzMjQ0ZjggbGVnYWN5LXRydW5rCisxMzEzOCBhYTRlY2I3MTZlNmUxYzhhNmM2OWYyNGFmMDQ5Y2RlZjJhMGUyYzJmIGxlZ2FjeS10cnVuaworMTMxMzkgZTI2NDM5MmUxNTM2MWY5NTY5NzJiYzQzYjAzZTVkMjRjMzE0MGZjYyBsZWdhY3ktdHJ1bmsKKzEzMTQwIDNjMjU5MzcwYWM1N2FiMWVhNTQwZGFjNWZmNDRkMjA4NjVjMWRiMjMgbGVnYWN5LXRydW5rCisxMzE0MSA5ZmQyOTAyMWQxNDdlYWM5ZDI2Y2NmMmQ3ODNkMmQzMzgyOTE1YzE0IGxlZ2FjeS10cnVuaworMTMxNDIgYmVkMTVhMDE1YzFjMzk0ZWM5Yjg2ZjQxMTk3YmE2MTExNzg3MjkzMSBsZWdhY3ktdHJ1bmsKKzEzMTQzIGRmOGExYzI4MWFkN2Q3NGQ0ODk4Y2NhZWM2MGYyZTM0ZDdmMjY2NzMgbGVnYWN5LXRydW5rCisxMzE0NCAzNjA0OTRjMjVlMGU1YTlkODAyZGY4NTNjZjQxMDdiZGY5YWUxNjdiIGxlZ2FjeS10cnVuaworMTMxNDUgZWFjYTM3NzViNDI1ZDdiZDM4NDZmZjY0YjRlM2UyYzkyOWQzMWMyZSBsZWdhY3ktdHJ1bmsKKzEzMTQ2IGY2ZWM0YTljYjBiMzkzZmQyMzdiYTY3NGRlZTkwNWNjMmY1ZmM4YjEgbGVnYWN5LXRydW5rCisxMzE0NyA2MzcyYzJhNGQ0N2JkODE0ZGIyYmVhMjE1M2NmZGJkOWQwZTE0YjRhIGxlZ2FjeS10cnVuaworMTMxNDggZTNhMDg5ODNjZDI1MWY4ZWZlNzIzMWY1MGIxMzFiNTU0YWZmZTYxNyBsZWdhY3ktdHJ1bmsKKzEzMTQ5IGNmNjJhZmYxMDQ2ODdhNGIzYzQxNDM5ZGEzYzhmMzU1ZDVmYzExZGUgbGVnYWN5LXRydW5rCisxMzE1MCA0Njc4OGYxNjY1MGIwN2I4MDQyOTEwYTY0NDVmZDMzZjcwZTFhMzZkIGxlZ2FjeS10cnVuaworMTMxNTEgZTA5ZjE5NDQxMTM2Y2EzOWQ2NzYwNTZmNjk2YTAzMWVkMzc0MjY4OSBsZWdhY3ktdHJ1bmsKKzEzMTUyIGM3NDcwYjE0ZGVjN2MzZGYwODFjMTYxMzRmNDNmZTNiMGIxMWQzNDkgbGVnYWN5LXRydW5rCisxMzE1MyA0OGMzM2QwNTM2N2YyYTVlODI1MTA1ZDYwNDYyZTQyMmZmODI4NDhiIGxlZ2FjeS10cnVuaworMTMxNTQgNDM2OTRkMzUzNDQyMTliYzk1MmJlMTgyMmFkYjNlN2ZlYWVjNWMzZSBsZWdhY3ktdHJ1bmsKKzEzMTU1IGM5OWU2ODdkMWFjNGFjNjUxYTM0M2E1YTRmMjA4MzBkYTFjNzYzYzMgbGVnYWN5LXRydW5rCisxMzE1NiA4YjM4Y2U0MjI4M2VjYmNmZDVlM2NmNjFjYTUzMDE1YzU1MzI5MjFlIGxlZ2FjeS10cnVuaworMTMxNTcgNmMyNjUxMTNlN2U4YzZmYTcxYTcxMGUyOWQ0MzhiZjVkNmMwY2M1MSBsZWdhY3ktdHJ1bmsKKzEzMTU4IDQyZGJmZDQ5ODM4NzY3MzJkZDZhMzIzZWIwYjY1NzhlZTA4YmE4ZDIgbGVnYWN5LXRydW5rCisxMzE1OSA5ODgzZTMwYWNhYzU5Mjg4NjMwYzQ4NzY2YzNiODgyZGQyZDJkYmY5IGxlZ2FjeS10cnVuaworMTMxNjAgMjk5YmY1M2U2ODYxNmVmYmZhODRlOTFjYzMzOWYwMjVhY2NlYTEwZiBsZWdhY3ktdHJ1bmsKKzEzMTYxIDhlNzJmYzU3ZjU1ZmQ0MzFmNGIzZjA5Mzg3OTZiNjJlNmYwZmIwNDMgbGVnYWN5LXRydW5rCisxMzE2MiBkMjAzY2I5ZWNlMzcyNzdkZjE1YTE2MDM1NDYyNGI3ZTQ2YTQxMmJlIGxlZ2FjeS10cnVuaworMTMxNjMgOTk2ODFlZTg2Njk4MmQwNjRkOGQ5MjZjMzdlN2ZiZDk2MDEwMTk4NSBsZWdhY3ktdHJ1bmsKKzEzMTY0IDY5ZmI4MWZhY2IwMzc4NGM1MDUwMWExNjEzZDkzYTFlZmNlODFiMTEgbGVnYWN5LXRydW5rCisxMzE2NSA5NWFjMWM4YzA4NWU1NGNlMmM3OWY2NTczYzI5ZDg5ZTk0ZTViZGNkIGxlZ2FjeS10cnVuaworMTMxNjYgYTcxYzYzNmI4NWQxNGEzNzMwZmIyYjE2MGRkYmY4NmM0NGJmMWUyYiBsZWdhY3ktdHJ1bmsKKzEzMTY3IGFiMDIzMzQ0NTNmOTZkNDcwMmVmZWQ0YWI0MzJiNDZkZDc0MjkyZGIgbGVnYWN5LXRydW5rCisxMzE2OCAzN2EyMjM2ZDQ3MmYyZjRmMTU5NzdmYTY2MzY0MTMwYjkzMDAzZmEzIGxlZ2FjeS10cnVuaworMTMxNjkgOTMzNzMyMDI2ZTljZDQ5ZDg3YzBkODQ4ZjBkZWFiM2ZkMDYxOGUxMiBsZWdhY3ktdHJ1bmsKKzEzMTcwIDdkMDViYjNlMTM1ZjYyNzc2NzFlMjc2YjMxNmE5OWQxNjgxM2RhMWMgbGVnYWN5LXRydW5rCisxMzE3MSBiZWJlOTgzMGIzM2NkYTE5NmI2NTM2MWJmYTJhNWM2OGNmZTVlM2I1IGxlZ2FjeS10cnVuaworMTMxNzIgMDJlYjc0NzQ5MjYyZTU1YjVmMzJjMTI4MGFhYjdkZDg0MWNiYmU0MiBsZWdhY3ktdHJ1bmsKKzEzMTczIDhjNmZmZTY3MDk2M2IwMWVjOTRlMmU0MmQ0YjFjM2FhNWFiMDkwOGQgbGVnYWN5LXRydW5rCisxMzE3NCBlMDVmNmJkYzhiNTIwNDVjMzVhZTk5ZDAzZGE0NzBmZWIyMGVmNjgxIGxlZ2FjeS10cnVuaworMTMxNzUgOGMwYTYwZmI2YWNmNjljZDU2NTlhMDI4OWQzMzdjNTAxYzNkMTkzYyBsZWdhY3ktdHJ1bmsKKzEzMTc2IDc5ODY1NTU1NjQ1NjU1MGRiZWQyNGU0ZWQ4MThhY2NkMWU5OTY2ZjMgbGVnYWN5LXRydW5rCisxMzE3NyBmNjA2MmU1OTIzOGYzZTM1ZWEwMGQ1YzJhN2NjOTNjZDBlYzk3ODRhIGxlZ2FjeS10cnVuaworMTMxNzggZTJhMWM4ZDIzM2RmNzE5MjA3MjcyNDk4YzliMDMyNGI0YWVlOGNmYSBsZWdhY3ktdHJ1bmsKKzEzMTc5IGIyNjA2YThmY2FhYmE5NjdkYjMzNDNjNzI3OGVlNTcyOGQwMzc4YTkgbGVnYWN5LXRydW5rCisxMzE4MCBlZTg2MWQ3YmMwZTkzMGNmYzc4YTMzZmI2OTYyMWU4NTk3MTdiYTJkIGxlZ2FjeS10cnVuaworMTMxODEgNThkZGVlMTI1NmU5NTQwNWU3NzMzMmY2OGYyYzhlNDEzZDY0YzM4YiBsZWdhY3ktdHJ1bmsKKzEzMTgyIDllNGM1NzNlYTQ5YmE2YjMyY2E2MTFkNmJiZjcyMDdlMGMyNGRkMzYgbGVnYWN5LXRydW5rCisxMzE4MyAxOWI0ODcwMGFjZGJiZjc0ZGEzMGVkN2JmMWM5YzczNmJhMGYwN2NlIGxlZ2FjeS10cnVuaworMTMxODQgNGNiODQ5NGFiYTYyMGVmMjdlZWFhNjE0ZDUyOWQzMmFlZTk1NTUwOSBsZWdhY3ktdHJ1bmsKKzEzMTg1IGFlMThlOGVlYmUwNGRhOGQ0ZjRhZDkwMzAwMWM1ZTFmMDIyZTUwMjQgbGVnYWN5LXRydW5rCisxMzE4NiA2MzNkMmY3YTFlNDg4MDVjMGE4YTQ4YTFlY2E2ZTUzMTE4MDg1MWZlIGxlZ2FjeS10cnVuaworMTMxODcgNzEzNzQwMDAzN2UwMTU5MDE1NGNhNmQ2NTA2ZjdlZmFhNWQxODc5NSBsZWdhY3ktdHJ1bmsKKzEzMTg4IDNiYjAyOWM2ZGQzNzgyMmEwOWRjM2VlOTgyZGJiNzFkOTdiNTdiMjQgbGVnYWN5LXRydW5rCisxMzE4OSBmNjcxMTk1YWYwMjBlZDhkYjQ4M2I5ZmNlOTNkYmFiNzdkZDlkMDdhIGxlZ2FjeS10cnVuaworMTMxOTAgODVjZjQ3NjY1N2M1ZGU2MTk4NGU1ZDVmZjBiZDQ3NjVlMWE3ODA4NCBsZWdhY3ktdHJ1bmsKKzEzMTkxIGFlMDMwNmFhYTY4OGUxMWJlNWQ4ZDIyZDM0N2RiMGEwNDBiNWEyZTEgbGVnYWN5LXRydW5rCisxMzE5MiAzYjg3NjJiOGMxNDBkMDE2Y2U0NTI1ODg3ZWJkMWEyMmMxNGVlMTc4IGxlZ2FjeS10cnVuaworMTMxOTMgOTIxZmYzODVmMjU2YTE4YWMyNzE4MDJjMGZkYzdkZWMwZWYxZmU0MyBsZWdhY3ktdHJ1bmsKKzEzMTk0IDliN2Q4ZWM5YjkxMGMzMjI0YjljNDg4NzljNjI5NmMyNTJlNWQwYWEgbGVnYWN5LXRydW5rCisxMzE5NSBhOWQ2MTNhYjVhNzY1ZTMzNTE5ZTA1MTQ4NmRkNDdhYTM2OTZkY2ExIGxlZ2FjeS10cnVuaworMTMxOTYgYWIxMmM2MzFkNzM1ZDQ4ZmY3YzBjNjJlMGFkZDZmZWEwY2MzZDUyYSBsZWdhY3ktdHJ1bmsKKzEzMTk3IGQzMGNjYjAwYmQ3YjgwYjU4Mzc0YjAxYjJmN2IyYjljZGYxYjEyNzcgbGVnYWN5LXRydW5rCisxMzE5OCA5ZTA0MDJlZTM4MTIwNjg5NzcxOTZhYzYyOTc2YjdmODMzNTQyMzIyIGxlZ2FjeS10cnVuaworMTMxOTkgMjVjYzdmMGQ0NWYzOGRhZGM4OWMyZWNhZmExNDE5Nzk2YzJjYWQ3OCBsZWdhY3ktdHJ1bmsKKzEzMjAwIDBiOGJhOTM1MWEwNjM1MTY4NGIzNWQwMzUzZDhhZGNhNTNiZjNkOTkgbGVnYWN5LXRydW5rCisxMzIwMSBlNzAzOTc5ZmY1ZTc0NjkyOGI4NjRhNTQwNjczYmRhMTUyYzU2YzFjIGxlZ2FjeS10cnVuaworMTMyMDIgNjdhNGFjZWQwZDg4ZTUzYTgzYzBiOWQ3MDc3YTNjMzhiODJhNzY1YiBsZWdhY3ktdHJ1bmsKKzEzMjAzIDQ4MjI2MTdiMzlmMTRhNzM3NzljNTkxNTliNmVkYjI4YWRiOWQyOWQgbGVnYWN5LXRydW5rCisxMzIwNCBhYmExY2QwZDEzZWFmYmQ0NTY5ZjZlMDBiMmZkMjIxOWQ1MmFjNDc1IGxlZ2FjeS10cnVuaworMTMyMDUgODFmNTExMDVmNDI4OGQyM2JlY2U1NzNiMjY5MDUwZmQ4ODgwZjViMCBsZWdhY3ktdHJ1bmsKKzEzMjA2IDM0NmU5YTBmMGY4YzdjZTZhNjkwZWJlZTQ2OTZmYTUzYWFmZGQ1YjcgbGVnYWN5LXRydW5rCisxMzIwNyBjOTAzZWNlY2JhNjY5YmIzMGYwZjcxNjA1YThiOThmMGIyOGQ4Y2FiIGxlZ2FjeS10cnVuaworMTMyMDggZTRlODAwYTc4ZDhkZDI3OTk0OWE1YzNhYWMyNDZhMWU1NWFlMzliMiBsZWdhY3ktdHJ1bmsKKzEzMjA5IDU4YjE5MWJhZGI5YThiNWUwM2I1MGRiY2M2YzgyZWY3Mzk1YTZkMzIgbGVnYWN5LXRydW5rCisxMzIxMCA0Nzg4ZmQwNzBhMzBiM2UxZDE0ZjQ1ZThhMzgyMDk5ODg0MTY3YzUzIGxlZ2FjeS10cnVuaworMTMyMTEgODUxMWVmZWM3MzA5YzdlMzU0NmNmZmI5MzVlMmEwZmIxNmY5ZDUxOSBsZWdhY3ktdHJ1bmsKKzEzMjEyIGNhZDdiNTVhMzYzZmY1NDYzYzgwNWU3N2RkOGNkMGYwNjQzYTgyYTQgbGVnYWN5LXRydW5rCisxMzIxMyBiMmFhZTcxOTg3MjM4Njc5NWYzYjEyM2VmZTYzNGNhNGY2NjRjY2Q1IGxlZ2FjeS10cnVuaworMTMyMTQgMTRmNmUwZGM5NjIyOWZjZTFkMmQwOWJhZTk3MDhlZmIzZTMxZjY0NCBsZWdhY3ktdHJ1bmsKKzEzMjE1IGQ4YjJmODJmMzNlZDJkZGU0MTUwODNhYThiYTExM2VjM2Y0MGE0YWIgbGVnYWN5LXRydW5rCisxMzIxNiBjZDAxYmExMGE5NjJjMDlmYzQ1MmM4YWIwZDcyYWRmOTM0MWMxZGIwIGxlZ2FjeS10cnVuaworMTMyMTcgNDkwZWMwYzQwY2M2MDBjYzdmMGIwNTUwMTEzMzU5NTBlZWQ2YjU1MCBsZWdhY3ktdHJ1bmsKKzEzMjE4IGNmZDA5MzJhNTNlNDkxZjgzYWYyNDc5MjM2NDEwZjUyODg4MzlhOGQgbGVnYWN5LXRydW5rCisxMzIxOSA3NjY4YmNkZTljMGFkNjQwODcyMTI4Y2I3MGM1ZWI4ODVhMzY2YTI3IGxlZ2FjeS10cnVuaworMTMyMjAgNjcxMjFhMmM2MmJmOTMxNGNkMWQ5YTRkZDk0YmNjOGRkOTk5NmQwZSBsZWdhY3ktdHJ1bmsKKzEzMjIxIGJhZjY2ZDZlMWJjMTZkMjFmZjAxMjcyMmY5ZTNlZWQ1N2MwYjg0OTIgbGVnYWN5LXRydW5rCisxMzIyMiA4MGQ0ODg1ZWRkNjY0MDhhZTJhYmY5YzhmYzMzYzFjYjkwYTc2ODlmIGxlZ2FjeS10cnVuaworMTMyMjMgZmUxZTk4MTkwYWY2ZWU4M2EzZDQ1MjQ1NGRjYmNmYzUyOTIxYTM2NyBsZWdhY3ktdHJ1bmsKKzEzMjI0IGYwOTUwNzdkMjBiMDJlMmY1N2M4NmQ1MGRjNjRkZjUxZDhkZmI4OWUgbGVnYWN5LXRydW5rCisxMzIyNSBlOTk1YmNjNGNjODIyNGM4ZTg3OTEzYzhkNzZjMDA5NGUxN2QwOGYwIGxlZ2FjeS10cnVuaworMTMyMjYgOWY2OTVhNTQ5ODY1NDhjOTc0ZDkyNTc3Yzg5ZDdjNjk1OGQ2YTg3ZCBsZWdhY3ktdHJ1bmsKKzEzMjI3IGYzMzVmYTFkNmU3MTVlYThjMzNmOWFjM2ZiNDU3ZTY0OTBkM2EyYWEgbGVnYWN5LXRydW5rCisxMzIyOCA0ODAzN2Y0ODE0YjExMGMwYzE0NTgxODk4OWNhYTA3MTJhNjRiM2JmIGxlZ2FjeS10cnVuaworMTMyMjkgZjNjN2ZmN2E2ZTgxYWI1NjQyNThiMjFlYzAwNWY3YTYwNjUyZDc4OCBsZWdhY3ktdHJ1bmsKKzEzMjMwIGI2ZDFhMzJhZWQ3NjM4YmViNzgzM2U2ZmE0MDE4YjkzNDU4ZTIwOTIgbGVnYWN5LXRydW5rCisxMzIzMSA4ZGU3ZDkwYjBiMzRmZTRlZGQzNmI5NmYzZTg4NDE4ODVjMTUyZDNiIGxlZ2FjeS10cnVuaworMTMyMzIgOWU1ZGY0YzQ5YTU2NzU0ZGZjYTljYzQxN2Y4OGI0YWU0YWY1YWQ2YyBsZWdhY3ktdHJ1bmsKKzEzMjMzIGVlYTFhYjAyOGY0MzFlY2M2ZGVmODgyOGQzMTA5MDcwNTdhN2I1YzggbGVnYWN5LXRydW5rCisxMzIzNCBmMzg3NjkzMDg0Mzg2MmUxYzg3ZDljYmJhYTY2MmI5OTJlMzkzMDRmIGxlZ2FjeS10cnVuaworMTMyMzUgYzVmNDQ5YWE0MzQ1OTIxNDE1OWQ1NTRjMTFhMDMxMWZhNTE0MTk1MiBsZWdhY3ktdHJ1bmsKKzEzMjM2IDI0NzVjM2NmZTgzOTAzMjZlODgyYzJkMzk2OWJjOWM0MjBmN2RjM2IgbGVnYWN5LXRydW5rCisxMzIzNyBlMDc1MjcyZjQzZjI2NTY4OGY5ZWVjYTUxMGExMWRlNWJlNzI2Y2ZmIGxlZ2FjeS10cnVuaworMTMyMzggNjEwNTFmZDY1YWFiMDgxMDVhOTU3NzliMjFjZjRjODI4OGVjYmU0OSBsZWdhY3ktdHJ1bmsKKzEzMjM5IDI2NjY0ZDA3OTU5Nzk5NTkyYmJmYWFkMDk1MjY1ZGJlYzkwMjc5OWQgbGVnYWN5LXRydW5rCisxMzI0MCA3NDQyY2NlZGQ1ZmQzYzAyYjkxYzMyN2EzYTAxNmQzMWMyOTZhNjFmIGxlZ2FjeS10cnVuaworMTMyNDEgZWM2NjQyNTRlZjVhYWE5ZTFjMzc3NGZlZmUzYTJmZDkzMzk0MDZjNCBsZWdhY3ktdHJ1bmsKKzEzMjQyIDI3MzcxYjZkNzBjMTExZDZhNmMxNWI3MjY1YTVjZjc5MmU5ZmEwNjYgbGVnYWN5LXRydW5rCisxMzI0MyBkZjE1NGRhMThmMGVhMGRmYzFlZGY3ZGIyMDczMzdmZTY0YWRmMTNlIGxlZ2FjeS10cnVuaworMTMyNDQgZTRlZThlYTRlODM2OGQyZjNkYTQxOGEyMzYyNzg0ZGYzNmYxYWNmNyBsZWdhY3ktdHJ1bmsKKzEzMjQ1IDAzZTc0YzRiMTg5YzlkYTU0OWYyYzUwOTBlMTA5ZDUzOGY5NDkxNGEgbGVnYWN5LXRydW5rCisxMzI0NiAwOWM2YjJjZWJlZTljNjFlODY1YTI3Y2MwMjJiNDk2MjQ3NzYwODViIGxlZ2FjeS10cnVuaworMTMyNDcgNjc2ZGU4YTdhM2NiZDI1YTBmZDlmZmVkZmEzZTFkMmMxOGU5M2RhZiBsZWdhY3ktdHJ1bmsKKzEzMjQ4IDg1NTg4N2EyY2M2MDE3YzZkOGE3OTZmODMyMDBjYTEwNmI0MzFmMjcgbGVnYWN5LXRydW5rCisxMzI0OSA0YzlkZTZmZDI2N2I5M2ZhY2JjYzEyY2I4NDVhNThlNmUzNWVhOTYzIGxlZ2FjeS10cnVuaworMTMyNTAgM2U1YjA1MDM1ZWI5ODQyOWU2YWZkZDNlMzUwYmJkMDM1ZWNiN2ZkOSBsZWdhY3ktdHJ1bmsKKzEzMjUxIDRkYjM2OTFiOWM4NzE1ZmNiZjhkODQ1N2I0MTMwOTY2Y2E3NmNhOGYgbGVnYWN5LXRydW5rCisxMzI1MiBlN2ViY2ZkZTNiNWU0MjcxYWM2MWRjZDc3ZTM3ZTE4ZjE3OWY0ZWExIGxlZ2FjeS10cnVuaworMTMyNTMgZjBhNjE5ZWViZTlhMmEyNzMzMWU1ZDcxMmUxMmFiZGMwZjhiMzI5NCBsZWdhY3ktdHJ1bmsKKzEzMjU0IGEwZDRhOTU3ZmQ5MWMxMWYwN2FhNWU2NzUwZWUxZmFjMDI4N2EyMmMgbGVnYWN5LXRydW5rCisxMzI1NSA4ZjM2NjViYjllM2UwYzgxMmRhZjE3MzQ4MDUxOGQ4YTkzZjE4YzBmIGxlZ2FjeS10cnVuaworMTMyNTYgOGVkYmQ1YWI2MjE3NTcwYmVhZGIwMWJlZjJmMTFiZTYxYzc3MGRiMSBsZWdhY3ktdHJ1bmsKKzEzMjU3IDhlZWY2ZjY3NTY3N2M1N2MwZDQ5ODljMzJiNTZlNzM4M2E2YjdiOWMgbGVnYWN5LXRydW5rCisxMzI1OCA4MWY1NGMwMGUyMjRmZTViMWRmYzQ5YTgxNWM3ZGZjYmIzZDc4ZTk2IGxlZ2FjeS10cnVuaworMTMyNTkgY2RlOWIyZTY0YzAwOTdlMTkwOTRjN2U4NTdlYmY5MjIwYzVlNzgzNSBsZWdhY3ktdHJ1bmsKKzEzMjYwIGJmYTBjNzQzMzQ3YTlkY2M5MjJmMWE4ZTdjN2FlZGYxMmFkYTg4OTcgbGVnYWN5LXRydW5rCisxMzI2MSBmMWIyYmI1MzVlYjM2M2M0MDkxMjhjZmMxYjg4ZGQ0NzE3OTFhMDFiIGxlZ2FjeS10cnVuaworMTMyNjIgM2M0ZGI2YzZlOTc5M2NmZjYxYTNlNDM0NDY4YTBkYjQ4M2JlODg0MCBsZWdhY3ktdHJ1bmsKKzEzMjYzIGVjZTA5OGYzZTFkYzhlZDBiNGVhNDlhMTAwYWRjOTljZWQ4MmQxMGEgbGVnYWN5LXRydW5rCisxMzI2NCBhYWE1Zjk4Y2IyZDZkOWM1ZWU1YmE4NjFmM2JmZWUyMzRjYWZlNjFkIGxlZ2FjeS10cnVuaworMTMyNjUgNmEzOGU2NjdkMzQ5ODA4Y2EzZDFkZDgyMWE1ZWU3OTI1M2I5ZGE5YyBsZWdhY3ktdHJ1bmsKKzEzMjY2IDA1ZDcwMzAxNWRlMTU0ZjliZWQ5NWI5M2E4MWI3NjhiNWNkNDM3Y2YgbGVnYWN5LXRydW5rCisxMzI2NyAzOTNhNmRhZjI4OWRlMzg5NGM2NWY5YjA1OGNlYWY1NjQzNmY5NTMwIGxlZ2FjeS10cnVuaworMTMyNjggMTUwYWMwZDcwOTI5MjI0OTRhZjI2OGI2NjRjZDkxM2JhMTRkMDIxMiBsZWdhY3ktdHJ1bmsKKzEzMjY5IDkyYTkyZGU5NTliOWUyNGJkZjliMmUzMzY5NWEzOGI2ZDM4ZWYxNWMgbGVnYWN5LXRydW5rCisxMzI3MCAzZjBhNmIxNTY5ZTdlNmVhOGU3MWIzZjg0ODk5OTMwYWVkOWY2MzYwIGxlZ2FjeS10cnVuaworMTMyNzEgZGJjYTQ3MGFmOGYyNDg3MTkzNDljNjkwZTMwMTRiYTU1NGQ0YTRiZiBsZWdhY3ktdHJ1bmsKKzEzMjcyIGUzNzA3NGI2ZTc4Y2Y0YWI3MWExYzhmNWVkYTQ1MGMyNzA0NzE3YWEgbGVnYWN5LXRydW5rCisxMzI3MyBjNmE0ZTQ2ZjFiMDlkZGUzMjUwNzUzN2IyMmM2NTIxNjczNWVmM2E4IGxlZ2FjeS10cnVuaworMTMyNzQgMWFmN2ExNDY3MDg4MzhhZTBmMDg0YTRlZWY3NzU4NDY4MGZhNjljZSBsZWdhY3ktdHJ1bmsKKzEzMjc1IGZiMTczM2I2YmVmNWVhYzBlYjNjOTUwNzQzMjZhYmI1MTYzMWM2MzEgbGVnYWN5LXRydW5rCisxMzI3NiAyZjZiMTI3NmU1ZGM2NDI5ZmE0NDI0NTc5M2U3OGJmMWFjNjMzMGE5IGxlZ2FjeS10cnVuaworMTMyNzcgNDQyNDgzZjQ1MzQ1NTg1YTcyYmIyMzk2NDYxMmVhNDExMzIxYmNkZCBsZWdhY3ktdHJ1bmsKKzEzMjc4IDJiMDE2NmQyMjU1MTNlNGQ0MzVmYjU4MjQyMDRmMDc1M2YwYTYyN2YgbGVnYWN5LXRydW5rCisxMzI3OSAxZDdlYmJmMWYwZjI3NTUwODk1NGY1ZDQwNDFjODg3NDc0Y2MxMTc4IGxlZ2FjeS10cnVuaworMTMyODAgZTBlOTNlNDE2NmNlMmQ1MDgyOGJlMzY1ODMzODA3NzhiZDNiZDg0YyBsZWdhY3ktdHJ1bmsKKzEzMjgxIGMxYzcwYjc0M2RmMmU3OGI5ODdmNjhiYmQ3MTE4NDljNjRlNzJmOTMgbGVnYWN5LXRydW5rCisxMzI4MiA5NjY1OTRjNmIxZTI1NmFkYTUxYzFmZTU3NDRmMmE1MDM2MGM3ZDU0IGxlZ2FjeS10cnVuaworMTMyODMgYjcwODk2ZWI4OTQ0MGU5MDdkMTA1MGFhYjY2NDhlNjM0NmMxYWIwZCBsZWdhY3ktdHJ1bmsKKzEzMjg0IDlmMGYxZDhlNmViYWY3ZTczZjkxYjY1OTAxMGM1YWMwOTdmYTQ4ZjMgbGVnYWN5LXRydW5rCisxMzI4NSBiMzlmZTUxMjk5YmU5ZGFlOTRkODVkNDY1ZmIzY2U0NTZiOWE4Y2FmIGxlZ2FjeS10cnVuaworMTMyODYgNDc5YjRkMWMwYjQ3Mjg1ZGY2NmFjYjYyNzA0ZmE2ZDc3MGJmMDFkYSBsZWdhY3ktdHJ1bmsKKzEzMjg3IDU0YTMwZDZiMDFmMTA4YTgwNTQwOGUzNTIyMTAwZTY2NzA4NTY1ZDcgbGVnYWN5LXRydW5rCisxMzI4OCBjMzljMTQwYjA0YmNjOWNmM2EwMzMyY2Q3YWY5ZDIzMjA1YmUyNGJmIGxlZ2FjeS10cnVuaworMTMyODkgMzJlNzhjOWZiNDk2YzM4OGRkMDNhMWJkNGNiOTdiZmE2NGZhYTIzZSBsZWdhY3ktdHJ1bmsKKzEzMjkwIDVkYjJjMDQyN2NhZDM0YTQ5OWMyOWU4NjUwMTUyZjc4YjdmZWFlNWQgbGVnYWN5LXRydW5rCisxMzI5MSBhMzRkNjY1NmY4ZTJkZGZhOTJmN2M0MjcxYWM4NmMzYzQ0N2ZlYjdhIGxlZ2FjeS10cnVuaworMTMyOTIgMWJmYWE1Mzc0ZGY5OTc1OGIxNGE5MTFmYTZlM2EyZDhiMjdiNzAyNSBsZWdhY3ktdHJ1bmsKKzEzMjkzIDMzNWI0YzAyZjEwZGYwZDkwMGJhNDQzNjMzOTBhZTdjNzEyMmM5OWYgbGVnYWN5LXRydW5rCisxMzI5NCA3NjczNTFmNDk0NGFiYWRlNDFjMWU1ZjBkZTJiNDdiNmQ1MWQ1MGIwIGxlZ2FjeS10cnVuaworMTMyOTUgMTA1YmVlZDA2OGY4ZTYyZDI3M2IzZGQ1ZjFlYjA2OGRkMmQzM2Q1ZSBsZWdhY3ktdHJ1bmsKKzEzMjk2IDJkMzZmMDY4OWI4YTNlMDU1OWI3ZWJhMzQ1MzE1ZmJjMjZkMzQ0ZGYgbGVnYWN5LXRydW5rCisxMzI5NyBiMDE1ZDVmMWRhMWI1NzE3OTFmNDQwZjRiZDk1YTJiZjA4NjVjM2ZjIGxlZ2FjeS10cnVuaworMTMyOTggN2M0MGQ3YzFlZWY5NGY3NzAzNWFhYjg3ODkwYWRmYWQwOGEzZmM2ZiBsZWdhY3ktdHJ1bmsKKzEzMjk5IDg4NWFiZTA4ZWEyZGVhYzkzMzUwN2QyMTc5Njc3MGEyNzljZTk2N2MgbGVnYWN5LXRydW5rCisxMzMwMCA5ZWZlMDY3OTQwZWFhODdmOGIxMTkyY2U4NmFiZmQ3MjFmMzdhNmEyIGxlZ2FjeS10cnVuaworMTMzMDEgOTRjN2EzZjFjMDA1ZTY1OTQ3MjFjOWE4NWZiZjE3NWUzMWVmYjI4OSBsZWdhY3ktdHJ1bmsKKzEzMzAyIDhmMzExMDNjODhhOGUwN2U1NWQ5MjMyNjc4MzBhNDkwOTlmOTlkZGUgbGVnYWN5LXRydW5rCisxMzMwMyBkMjBlNGQwYWZiNDM2MmQ4OTI1OTkzN2U0N2IyNDQ3YzJlYzE2NmMzIGxlZ2FjeS10cnVuaworMTMzMDQgMzEyZWI0ODAxYTFjODE2YmJlOTQ2OWNkYWFmN2M2ZDBkOTcwYmNkMSBsZWdhY3ktdHJ1bmsKKzEzMzA1IDNkMmVhNTViYzRlNjhhNDgwZjU5NDg2YjYwMjc0MDkzZjA0Nzc2ZDAgbGVnYWN5LXRydW5rCisxMzMwNiA4NzlkMWFlNWM3YTViY2VkMmUwNDlmZTljYjFmMWNiZjY5YzY2ZjEyIGxlZ2FjeS10cnVuaworMTMzMDcgNzgxMjM4MzYxZjUzMWUzYzUwMTk5NDU4MWFjMjQ2MmViY2FkOTk1OSBsZWdhY3ktdHJ1bmsKKzEzMzA4IGFlYjEzY2I3Yjc4Y2E1ZTgwODRiM2E2MzBmZjM4MWQyN2QzNDFhZTMgbGVnYWN5LXRydW5rCisxMzMwOSBiODhhNjA1MjQyNjkwOWQ2MmI3NmU1M2VkMGExMDg4MGM3ZDI4ZDU1IGxlZ2FjeS10cnVuaworMTMzMTEgN2VhMzg1OTdlNzBmYWJiZGI0NWYyM2JjMzY5NzZiNjNmNjZjMTEwZSBsZWdhY3ktdHJ1bmsKKzEzMzEyIGZmYjJhNDdiNjQ1ZWM3YmYxYTViYmRhZmRlMzBhNDcxMGQ5NmNlODkgbGVnYWN5LXRydW5rCisxMzMxNCBmMTY0ZDkxOTMzNDFjOWI0ZjA4ZTQzNjg0MWRiYzM0NmJlMGViMmQ2IGxlZ2FjeS10cnVuaworMTMzMTUgMGZlOGNmN2FjNmQ1YTM1NjQzOTQxNTE3NmYyZWVkZTQyOWI4Y2QzYiBsZWdhY3ktdHJ1bmsKKzEzMzE2IGRmYmUyNThlMjhjMTgxN2RhMjIyOTEwNzFhMjVmZThjYTdiNGIwMmEgbGVnYWN5LXRydW5rCisxMzMxNyA2ODc5OWEyMDI3NjZhMTQ0MWE3ZjE5YzQ2OTYzNTQ5ZjBkNmE4MDgxIGxlZ2FjeS10cnVuaworMTMzMTggZDczYTMyOTNjNDdiMmNkZjFlODVmN2QwMzhiNmNlOTJmODM1NmM4ZSBsZWdhY3ktdHJ1bmsKKzEzMzE5IDVhZDI3YWVlN2U1ODg2MWY2MjVmZTdlZDg2NzAwNjMzMjA0MWE0OTcgbGVnYWN5LXRydW5rCisxMzMyMCAyZmUwYmI4YjllZWY3OWJiZGFhMWI3NzUzMDFmYTAzMTE5MzcxY2ZmIGxlZ2FjeS10cnVuaworMTMzMjEgOGRlMTNjZWE5NjQxMTIyNjg4OWRhMGU4YjFkNWNiZjExMjQ5OWY0NiBsZWdhY3ktdHJ1bmsKKzEzMzIyIDMzMWM4NWFjYTE5NTcyYzJmNTkzY2IwNTQxODI4YWMzNDYzY2Y1MzAgbGVnYWN5LXRydW5rCisxMzMyMyBjMTJmN2NmMTkyZmIzMzg2MDk4Yjg2MWM1OTljM2UzZTMwNGZkZmI3IGxlZ2FjeS10cnVuaworMTMzMjQgZDI2YTlmOTI1NGYxNGRjMzE3OTY2MDQ2OTE4NTVjNWQ0ZmVhMjQwOCBsZWdhY3ktdHJ1bmsKKzEzMzI1IGViN2E2MmFjZGQxZGM1YjRmODNkZTRkOGQzNGVlMTM4NTQzYTBiM2UgbGVnYWN5LXRydW5rCisxMzMyNiA1ZTAzZWE2OTI3ZjIwNmY1NjAwOTIzNGJkMTJiYzE1YWUxOGM4ZTQ1IGxlZ2FjeS10cnVuaworMTMzMjcgZGZiNWZkYTNiMjczYWQ3NGNhY2ZmZGRlMmMwOGZiNDgyYjkyNjgxYSBsZWdhY3ktdHJ1bmsKKzEzMzI4IGQzYzZlOWExMjZiMjlmYWM2ZDc4ZjI3YjdjNzNkZDI0YmUzYjcwMTkgbGVnYWN5LXRydW5rCisxMzMyOSA0OWEwYjhkY2IzNmE0ZTI2OTI4YTI2ZDE2MGIyZjA5Y2M5MWJjZmZjIGxlZ2FjeS10cnVuaworMTMzMzAgMGJjN2M1MDJlYjRkMmVjYzNhOTY4NmY0Y2U5OWYyODRiMDhhYzFmMyBsZWdhY3ktdHJ1bmsKKzEzMzMxIDk2Mzg5ZjBiNWVmMDg2YjRmMzhmM2NhNzZmYjBiZTI0NzY5ZWVkNTcgbGVnYWN5LXRydW5rCisxMzMzMiBmZTViN2RlYTVhMTBmZmFkYzI3M2RlYWVhODQzMTIyZDMwMWIxY2VmIGxlZ2FjeS10cnVuaworMTMzMzMgZWE4MzJjM2M2ZTZkYTI2M2E0OGNiNDM4MDA5YTY5OGY5ZTBiM2U5MCBsZWdhY3ktdHJ1bmsKKzEzMzM0IDJhMzBlZDkxMTJjNjFkNTljOWEwZGFjMWU5MTY0YjA5MmE4OTY2ZjkgbGVnYWN5LXRydW5rCisxMzMzNSA2OWQ4OWY3ZjUzMGM1Yzc5ZTk1N2YzZjRmNTgxZWY2ZTJjOGEyZWYyIGxlZ2FjeS10cnVuaworMTMzMzYgMzkxYTljYjJiMDcyOWY3MmEwMTU3YmNhODg5ZmJiMjZmZDVjZWMxZCBsZWdhY3ktdHJ1bmsKKzEzMzM3IDAwMzQ0ZGJmMmE2MDUyOTQ5ZWY1ODg4YzdiNDdhNDUwMDkzMTM0NmIgbGVnYWN5LXRydW5rCisxMzMzOCA2NWRiNWUyNjI5OGYyNjZkOGFiNDlhZTAzNGVjNzJjYmNiNzgyMWI3IGxlZ2FjeS10cnVuaworMTMzMzkgYWFlMTRjNjE4MWI5ZDg4ZDVkYzM5ZGQ1YTkzOWU2MGQ1YjJmNmEzNyBsZWdhY3ktdHJ1bmsKKzEzMzQwIDEzNWMxZWM5NjM2YzY4NmEyMGQwM2VkMjc3YTM1MzgyNGM5NzQyNGEgbGVnYWN5LXRydW5rCisxMzM0MSA1NTgxMzA3ZGIyZjczN2U2YTM4ZTJkNWM3MTM0MTRiZTIxMDZlOTFiIGxlZ2FjeS10cnVuaworMTMzNDIgZTY1MjQzNDZkNjZjYzE4NTliOWQ1OTZlNDAwOTM1MDc3ODE5ZmVhZSBsZWdhY3ktdHJ1bmsKKzEzMzQzIGVmZDE1NzNhNGIwM2IyMmRhMmExMDdlZGY3ZjAxMjUzNjQ5M2VjNDUgbGVnYWN5LXRydW5rCisxMzM0NCAwYmYzMDE5NDFlZmQ4YzUzMzU3ZmFjMTRhNDllNzFhNGUyYzkxM2FkIGxlZ2FjeS10cnVuaworMTMzNDUgOGZkYWM0MDI1MDMyNWY4OWJlN2U5NmQyM2QyMGNlYTFjNmJjNmMyMSBsZWdhY3ktdHJ1bmsKKzEzMzQ2IDg0YTRlY2QyY2I5NTM4MjQ4NmRkZTNlYmEwNDU2YWU4ODRiOGVlZWQgbGVnYWN5LXRydW5rCisxMzM0NyBhZWU3NGU5NzdhZGQwZmY3YTBhYmE3MjI5ZDA1NGFlYmE0Y2U1NzI2IGxlZ2FjeS10cnVuaworMTMzNDggZmE2YmUxZDBiODY0NWEzM2ZlNWI1YjMxZmM5NjllMDE5NjM2Y2M2MSBsZWdhY3ktdHJ1bmsKKzEzMzQ5IDM1MmU1ODI0ZWRhNjY2MGE0MTE0OGZjZWRmMzA0NjJiOWM0NjQyZDAgbGVnYWN5LXRydW5rCisxMzM1MCBlMWI4NmVmNDU1N2M1NzU5MmZhYmE5ZTkwNWY3NTM3ZTZkMmQ0ZjQxIGxlZ2FjeS10cnVuaworMTMzNTEgY2RmN2FlNWIzMzY3ZWVlNmU0ZGEyNDRlM2Q2NzA1ODJlYjk3OTc5ZCBsZWdhY3ktdHJ1bmsKKzEzMzUyIDVlZjRiM2NhNTU2NDU3MTJmNTYzZGZjMzJhNGIyNWE2OTMwYWNhNjcgbGVnYWN5LXRydW5rCisxMzM1MyBiNzM3OGRmM2RiNTZkNzA0MzE2MjdjMTdkOWJhYmNhY2JkOTE3ZjJiIGxlZ2FjeS10cnVuaworMTMzNTQgYzdhYTk5NjU4MzgzZjI3ZmIyNDJlNTY1YTI3OTg3YzFlM2MwNzM1MiBsZWdhY3ktdHJ1bmsKKzEzMzU1IGQ3OGNjMjY3NmM1NTFiNjcxODc0MDQzMmVmM2MzNzcxM2M5ZTk1Y2EgbGVnYWN5LXRydW5rCisxMzM1NiA0ZGE3NmY4MzhhNWU0ZWQ1YzNlM2IzMzE2YTNiMzZjNjkwZDI3MDIzIGxlZ2FjeS10cnVuaworMTMzNTcgYTE0MTVlY2VhMjNkNGEzMjFkNzFkYWRjNjU2MjQwOTU0MWJjYjcyNyBsZWdhY3ktdHJ1bmsKKzEzMzU4IGZjYjI1MzM1ZDZhZWRmMmMxZTVlZDlhOWUxNmM5YmZkNjAwYjM3NzUgbGVnYWN5LXRydW5rCisxMzM1OSBiMjdhZDUwOWI0NGIzNTAyNTY2MzljNTI5ODAwYzY3OGZiMzQxN2ZmIGxlZ2FjeS10cnVuaworMTMzNjAgZTJmZTY1ZTg3NzYxYjg4MGM0MGJmYzZlNzZkOTk1ZWM1OGI1MGY1ZCBsZWdhY3ktdHJ1bmsKKzEzMzYxIGYyZTEyM2FmMmFkYTQ0NzEzYTdjNGE2NDgwMWRkMjJjYmZjZGJhM2IgbGVnYWN5LXRydW5rCisxMzM2MiAyODg4N2Y0MGUzNDQyZTBiNTFkNDQ5MGE3MTI1MTY3NDczMTY3MGQzIGxlZ2FjeS10cnVuaworMTMzNjMgYmUwYWM1YWJlODNiN2I2YWI3ODFlZTJjZWJkMWNhZTY2NGYyNjNiZSBsZWdhY3ktdHJ1bmsKKzEzMzY0IDFhYTgwZjViZjlhYzkxZDNjMDEyYmQ2YWFiNzRjOTFjM2NiOTAyOTYgbGVnYWN5LXRydW5rCisxMzM2NSA4MjAyZjVhY2UyNDg0OWFmNzUxZjNiMWU5YTk0MDk5MzVkN2M3NzBmIGxlZ2FjeS10cnVuaworMTMzNjYgZTc1MjUwZTU1NDI0ZjQxZDk0OGI2NjEzMGI1MzQ4NjAyODQ0MTdhOSBsZWdhY3ktdHJ1bmsKKzEzMzY3IGNmZTQ3MjkxMmI3ZjhiMDI4MmU3NGRhOGU0Y2IwN2E0OWQyMzg1ZDAgbGVnYWN5LXRydW5rCisxMzM2OCA5YTNhMDQ2OGY1MWM3Zjk3ZmIzNDIyZTlkYzA3ZDc4ZjdlYmQ5NDBlIGxlZ2FjeS10cnVuaworMTMzNjkgNGY1ZDQ5NDU2MDVjNjdkMzRjNzU5YzdhOWU4MjU3YmUzNTEzYzZmOCBsZWdhY3ktdHJ1bmsKKzEzMzcwIGY3YjQxYjI3MDU1NDgyMTgzZGMyZmRiZmI4NmY0ZmExY2YzZjlhYWYgbGVnYWN5LXRydW5rCisxMzM3MSBjZDJhMjViN2I0Mzg1OGU1ODUzZmFiOWRlNGQ3YmNlZGU3YzFiN2NlIGxlZ2FjeS10cnVuaworMTMzNzIgM2VkYjMyOTgyMzRjZDBiMThlMmM0NDdlNTlkZGY2ZGQ5NzI0NmM3NCBsZWdhY3ktdHJ1bmsKKzEzMzczIDI1MTM4ZGIzNWNlMWVkZTdkN2YxZGZlZGE4ZWEwMzlkZWUyZWYzZTEgbGVnYWN5LXRydW5rCisxMzM3NCBiYmMyYTg3ODk0ZDA4MjkzMWYwN2EyMDE3NjIwN2U4ZGRmYWVmZTJkIGxlZ2FjeS10cnVuaworMTMzNzUgN2QxMTgyZDBjNDE5M2VhMTE4ZWVmYjExZjA2MzZmNjFkYTZmZTQ3OCBsZWdhY3ktdHJ1bmsKKzEzMzc2IGZmZmY2NjVmOGE3YmYyOWVmZjU1NjE2NWEyMzZiODU1OGE3ZThkMGEgbGVnYWN5LXRydW5rCisxMzM3NyA1YzVhZTE2MWYyOGFjMDQwNmI5YjNjZWQxMzM4MTI3YWEyMGExNTg0IGxlZ2FjeS10cnVuaworMTMzNzggNzU1MGEzNWQ4MGY5YmFmZmNiYWFhMjhiOWEyOTk1MWRiYWZjMDIzNSBsZWdhY3ktdHJ1bmsKKzEzMzc5IGE1NjM3OTIwMDA3NzBlMTYwOWIzY2Q3N2ZhZGM1ZTllNDU0ZTkyYzAgbGVnYWN5LXRydW5rCisxMzM4MCA5ODY4YzgwNzczMmQ1ODcwOGQ2NTAzMzYzOTQ2MzI4ZDI4MzkwZTJjIGxlZ2FjeS10cnVuaworMTMzODEgODYzNGVhMmVjNGUyZmRjMmE3MGQ1NGRmMTZmZjc0ODM1YmU0NjRkZCBsZWdhY3ktdHJ1bmsKKzEzMzgyIDE4MjFlNjRlMDhmY2VkYThmYzI4ZTEwZDEyZDhkMGFmOGI0NWRjNDMgbGVnYWN5LXRydW5rCisxMzM4MyAxN2FlMTc4YTMwMzg4YzRjZDFmMDNlNmYwNzQwMTMzNjY0NDYyNTM2IGxlZ2FjeS10cnVuaworMTMzODQgMjY2OWFjN2NkNzZhOTZmODcxMzIwZWJmOTI3ZWY5YjAzNjEyYTQwYSBsZWdhY3ktdHJ1bmsKKzEzMzg1IGI5ZWY0MjQxNjVkNjI1M2QyYmQ1ZmQ0NjA4MzY0YWY3MjlhMjc0MzMgbGVnYWN5LXRydW5rCisxMzM4NiA1MDIwYmZhNzQyZWFhNzUxMWM2MDg1MTU4NmQ2MTgwMGNkZDRmZDMzIGxlZ2FjeS10cnVuaworMTMzODcgZjg4ZDNhNzYzNzIzZDViYTBiZTc1OTljZGEzZmZiY2U2MGI2NmVhYSBsZWdhY3ktdHJ1bmsKKzEzMzg4IDgzOGNiMzRhYmI3OTE5YzM0MmYyNDNhOTYwMzI4YjM2NjBkMGFmZGQgbGVnYWN5LXRydW5rCisxMzM4OSAwNmRlZjgwNDJkOGUxNmZhMDEwNjU1YTA3YmVjMDE2YTUzMzQxYTViIGxlZ2FjeS10cnVuaworMTMzOTAgYzIwOWRkOThiODY5NTI1YTFkZGY5ODhiNjdmMzAzZTE5NjE2OGVhZiBsZWdhY3ktdHJ1bmsKKzEzMzkxIGYwMzE4YTFjOTg5MmNiNTcyN2Y4NmQxMjdlMzk5MmZmMmE2Yzk3MmEgbGVnYWN5LXRydW5rCisxMzM5MiA2MmVkMzJlNzliNWQyOTYyNDYzMzQwN2QwZGNhMzM5NDI0ZWNkYWRhIGxlZ2FjeS10cnVuaworMTMzOTMgODIyYzUyODJjMTQ1Njk3ODk3NTU3ZTc1NGJkZjkwYjI1ZmQ1MTlhOCBsZWdhY3ktdHJ1bmsKKzEzMzk0IGFmMDczODljODUxNzVmYmE1OTQ4MTU3MDJmZDZiZjJiMmRkYmI4MzQgbGVnYWN5LXRydW5rCisxMzM5NSBiYTZkM2FlM2EwMjE0N2EyMTZmYWU4MDcxMzc3ZDljMzA3YmRkODgxIGxlZ2FjeS10cnVuaworMTMzOTYgYTYyOGMzNzA1ODk3YWNlYmE2Zjg0YjEyMDI3MzdjNGU1MzUyY2MxOSBsZWdhY3ktdHJ1bmsKKzEzMzk3IDYzMmI2NzA1YmQ5ZmFkZDYwM2QxNDkwZmFjYjQwNDhhZTNjN2RhMGIgbGVnYWN5LXRydW5rCisxMzM5OCBiODEzNjU2NmNhZjVjMDBlMDc5NWQ4YjNkNWQ1OWU3YTQzNmI1NTdmIGxlZ2FjeS10cnVuaworMTMzOTkgNjc4Mzg0MmMxMDQyNDVjMDM2ZDNkOWJmMTEwODE3YTIxYzRjYjcyMSBsZWdhY3ktdHJ1bmsKKzEzNDAwIGQzOGQzYjhlYTQ2M2JmY2YxZWIwOTRkYzY1YThlNWEzOWI0YjYzZjQgbGVnYWN5LXRydW5rCisxMzQwMSBlMTgzYmMwMDQ5ZGNkZGMwMDM2NWU1OWEwODEzYzhiNDY5NzAzM2ZkIGxlZ2FjeS10cnVuaworMTM0MDIgNzQ4Njc5NmZhZTViOTQ0NWZkYmNjYjc5NTljNmUxYjViNWZlZDU1NCBsZWdhY3ktdHJ1bmsKKzEzNDAzIDgxN2QwNTM4MzUwZDMzNjQ0NzEwMGMzYjFjYzc5NzdhMDAxNmM0M2IgbGVnYWN5LXRydW5rCisxMzQwNCAzZTQxOWFiYzViYWFkY2ZiMTA5M2ZiODgyYmE1NjA1MDZiMDE2ODViIGxlZ2FjeS10cnVuaworMTM0MDUgOTU4MzdlMjczMjU3NTlkMjM0Mjc4YWQyZmVkYzk3MjhmN2Q0MDU3OSBsZWdhY3ktdHJ1bmsKKzEzNDA2IDg1Y2Y0OWE5YjAwYmNlZTczZmExNzQ3NzViNDYyNGI5NjcxOWZjMWYgbGVnYWN5LXRydW5rCisxMzQwNyBhNTllOTVkMmYxODEwYjQzNjY5NzQyN2ViYzdiZDU1M2ZhMjFlOWQ4IGxlZ2FjeS10cnVuaworMTM0MDggMTdjYTJmNjRiNmQ2NzE3Yjc4OGNlZGNiYjI0NDg1ZTA4NGJiYzRlMSBsZWdhY3ktdHJ1bmsKKzEzNDA5IDdlNTZkMzlkMDc0MTE0MzI2YzY5Y2E4MmZjMTAxYWIzYTNjZDgxZmEgbGVnYWN5LXRydW5rCisxMzQxMCBmMGEyMjEzNDQ0YTA0OTQ1ZDVkMzhmOGI1ZDFiNzhhMmFmYjdlOTU5IGxlZ2FjeS10cnVuaworMTM0MTEgOTU3YzMzNTA0Y2MxMjRkYWY3MWFmYmFmZGYyZWZkYmU5OTlkNTk5MCBsZWdhY3ktdHJ1bmsKKzEzNDEyIGQzMTc0MzIwZTNjZWM5YmVhZDU5OTIzYWIzMzBkYjI5NTgwMDU5NzkgbGVnYWN5LXRydW5rCisxMzQxMyBmNGM2Y2U1NTkzYjlkNjBkOGJkZjYyYTZjNDhjMTUyOWIxOGNjYTYxIGxlZ2FjeS10cnVuaworMTM0MTQgYzI0NTE2MTQ2ODVhYzRkOGViNjQ4NmQ4NWVhNTRmYTM1YWQ2YmExOCBsZWdhY3ktdHJ1bmsKKzEzNDE1IDI5ZTk2Mjc1YTQyZGNiNzk1ZDU1ZWU4M2M5NTgwMzIwMjdkYjUyZTAgbGVnYWN5LXRydW5rCisxMzQxNiA4YTMxMDk3NDBjNmFmZjBlNDVhNWMwMzg2N2NmYWE1YjA1ZDhhNWYzIGxlZ2FjeS10cnVuaworMTM0MTcgZDgzYTRhYTcwZWI0MjhkMjJkOTNkY2FiODE2ZTg4NDkyMWYzNDBjZiBsZWdhY3ktdHJ1bmsKKzEzNDE4IGNmYWM4M2Y1YzBlZmE0NzJjMTM2Nzc4YTg1ODNhZjM5OGYzZjk1ODUgbGVnYWN5LXRydW5rCisxMzQxOSBiMWExZWIzMzQ5ZjM3YWQxYjYzOGJlMzRlMGU5MmM1MTRlNzRlYTk0IGxlZ2FjeS10cnVuaworMTM0MjAgZDFiNGZkMDU3YjRhNjM0ZWM0YWFhOGU4NTU2NjVjMjRlOGRmOGFlYiBsZWdhY3ktdHJ1bmsKKzEzNDIxIDNmZGYxYzdkOWY5ODhmOWU5MWIwNDcxOTc0NmZkYmNiMzI1Y2NjMmIgbGVnYWN5LXRydW5rCisxMzQyMiBiYTc5NzE3OWUyYmE2MzkwYTVmYjIxYzRlZmRkNTQ0YTg3ZThjM2UzIGxlZ2FjeS10cnVuaworMTM0MjMgYjc1ZDAxMTllZDUxYTA3YjhjYmI2MDNkMjNmYmQxMWJmNzZiMmFhMiBsZWdhY3ktdHJ1bmsKKzEzNDI0IDZiMWNiODU4MmExZjkyYmNjNjc0M2M2YWU0YmY5YTRkMDRmYzAwYjkgbGVnYWN5LXRydW5rCisxMzQyNSBhOGExZWI5OTM0MWMyMWI4ZTYxMjI5NWI1ZDkzODliNjA1OWZjMjBmIGxlZ2FjeS10cnVuaworMTM0MjYgYmRkNmIwOWEzNzFjNDBkYWRkYTg2ZWE5OGZiNWJiYTk3MGE0ZGJkYiBsZWdhY3ktdHJ1bmsKKzEzNDI3IDNmYWE2MzQzMDkyNDZmNjQzNWU3NmY4ZjNjNGY2ZmZkMjQyMmZjYjIgbGVnYWN5LXRydW5rCisxMzQyOCA5YzQwMzQ4ODc1NTcyOTEzN2ExNjczMzFhZmRlMmVlMTRjYWJkNWUwIGxlZ2FjeS10cnVuaworMTM0MjkgMWM1NTJkY2Q0M2Y5NzVjZDg4YzkxYWJiZGI5NGZkMDljYTI4ZDMzNCBsZWdhY3ktdHJ1bmsKKzEzNDMwIDgyMzRiYjM2ZmI4YzM1ZjkwMzk4ODRmMTNlYmVjNmQwODk2NjU2ZGMgbGVnYWN5LXRydW5rCisxMzQzMSA1MjU5NzAzZjRiNWMwMjAyMjU1NGU0NmM1NTY3MmViMWVhNTIyYjU4IGxlZ2FjeS10cnVuaworMTM0MzIgYjM1YmFiNDU3MzUwYjUwYWE1ZjE5NjkxMTE0MzRkNzFhZWRlNTY4MiBsZWdhY3ktdHJ1bmsKKzEzNDMzIGY5YzAzYjNkMGYxNDZlOTE4MTYyYzg1YTQzYWVhYmZkNjhlMjNiZmQgbGVnYWN5LXRydW5rCisxMzQzNCBlNDEwNDlhYzgyOGI0OWMwNmRhODNmNWZlY2M3ZDdhYmMwZGJhOTQ4IGxlZ2FjeS10cnVuaworMTM0MzUgNWVkOWEyZGQxOGQ5ZTZmOGEwNWVjM2FlYTU3OTNmZTliYjQ3YTQ5MCBsZWdhY3ktdHJ1bmsKKzEzNDM2IDg0ZjFjYmUwMDk0MzM1YWU2ZTVhZDA1MDg1NDMzNTliYzIwMDY0MWMgbGVnYWN5LXRydW5rCisxMzQzNyA0NTFiMDg0OWM5NzcyNWRiZWMxMDc0OGU4ZDA0ZjM1NzJiNjFmY2JhIGxlZ2FjeS10cnVuaworMTM0MzggMThhMjkyMTlmNWUwNmY0ZGNlNWExYTYyMWIwYzllODVmN2QwNDE1NCBsZWdhY3ktdHJ1bmsKKzEzNDM5IDUwYzNiM2MyMTdhMzllNDZhN2FmNTQ3NDRiNGQ4NmIyZmFlZGMwMTAgbGVnYWN5LXRydW5rCisxMzQ0MCBjYzZhYmM5OWQyZGRmMTQxNDE4NGM4ODAwOTE5YzE0MDljYjRhZGQ3IGxlZ2FjeS10cnVuaworMTM0NDEgYzA4OTAyMGE3YTFlNTc2NWZmOThiNThkZjhlNDE1MGI5MjA1N2FlYiBsZWdhY3ktdHJ1bmsKKzEzNDQyIGRjY2JmNWU4Mjk0ZGQ5MWY2ZmUzYTIzYjRkNTFiMDBjOWE4MDQ3MTQgbGVnYWN5LXRydW5rCisxMzQ0MyA4NDE2NTUzYzMzZGYxN2ZmMmJiNzk1MTc1NGJjNTJmN2E4NGNmNzc2IGxlZ2FjeS10cnVuaworMTM0NDQgZThmZjRiMTI5OGMyMzNkMmY1NWQzZTI5ZTNiZjQ3MWM1N2NiOWE1ZiBsZWdhY3ktdHJ1bmsKKzEzNDQ1IGFmNzY1MzhkZDA3OWQyNGYwZDY3ODFiNDE0MGE4MWY3YTA2NzJlMjAgbGVnYWN5LXRydW5rCisxMzQ0NiA3MTI4YzBmZDJiY2Y1MjRlNzQzZjQ1YzFiNzI3MDI1MDhlOTMwNzIyIGxlZ2FjeS10cnVuaworMTM0NDcgOGNjMGM4OThmNmE3NDc4M2QxODMxZTQ4MDJjZTNhNGI5YjA3MDIyNiBsZWdhY3ktdHJ1bmsKKzEzNDQ4IGU3ZWFlNjNlOGI5MDc3OTA0OWU1ZjhlMTNhZjc4ODgwMGM2OGRmZGUgbGVnYWN5LXRydW5rCisxMzQ0OSBkOTc2NDUxYjQ2NWYyMTJiODI0ZGU3MGMwZDQ5N2U2MTM1NzBhNjg2IGxlZ2FjeS10cnVuaworMTM0NTAgNmVlNjZmZTE3OWFkNzJlMGIwNTJiYjM5NGJkNWNiOGJkZTc1NjI4YyBsZWdhY3ktdHJ1bmsKKzEzNDUxIDM1ZDViMDczNjI0MjI2MjFiZTg2NDk1OGFkMjFmOTUzMWU3YzQ4ZGIgbGVnYWN5LXRydW5rCisxMzQ1MiBiZjZhMDk4Mzk1MWRkZGQ5YTFhOTM2OWM5NDQyNGE5OGUyMmFiNjYyIGxlZ2FjeS10cnVuaworMTM0NTMgMWFiYzI3ODViMzQ0NmMwYmY4OGM2NzU3OTU0ZmE3MWNhMzI0ZDQ3MCBsZWdhY3ktdHJ1bmsKKzEzNDU0IDM4NDI1MThjZjgwMzAxMmNlNTBkM2Y5OGFmY2UzYzNmOTZmMjMxNTUgbGVnYWN5LXRydW5rCisxMzQ1NSBiOTI4ZjdiOWRmYTIzZDNmZWQ0NmMzYzIyODYzMDY4YjMwMTA0ODA1IGxlZ2FjeS10cnVuaworMTM0NTYgMDM1MzBlYTIxNDhjODU4NDY1MGE0OGJiYTdmMDJjNTdmYmY3YzJiNSBsZWdhY3ktdHJ1bmsKKzEzNDU3IDBmYzJlODU3ZTgyMjg1MDM4NzAyZDM5NGZiODk5YWIwOGYxMzIxY2YgbGVnYWN5LXRydW5rCisxMzQ1OCBiNmQzZDE3MTk1ZGNiYTg2NTU1NmExMjk1ZTFmMWFmNmY0YjZkOWFkIGxlZ2FjeS10cnVuaworMTM0NTkgMzE3MTFhMDU4NzM4MjM2OGYxZGQ4NGJhZWZjMjhmY2ExNDFiZTA5YyBsZWdhY3ktdHJ1bmsKKzEzNDYwIGUwNTBkNGMwMTMyN2NkOWM2ZjViMTI5NDMzOGU1YzdmMTZlZGExNjUgbGVnYWN5LXRydW5rCisxMzQ2MSA0ZDc2Y2FiYmY5OWU2NTU4MGIxMmNkODUwNGU1ZjU2NDA5MGI4OTJjIGxlZ2FjeS10cnVuaworMTM0NjIgNDI5NDBlZDIyY2ViZDc4YjA3NWUxMmVhZGVhYTcwODI4MzkxMGIzNSBsZWdhY3ktdHJ1bmsKKzEzNDYzIDY2Njg5YjJkYzg5NTRiNWM3M2FhYjIzODUwNDA1MWI0N2YwNmYzYTggbGVnYWN5LXRydW5rCisxMzQ2NCBiZGMxNzAzZmY5MmNlN2Y1MjRiZWQwZTJjZmFiYjgyNDcwNTBlNjA2IGxlZ2FjeS10cnVuaworMTM0NjUgYzc3OTAyNTQxYjEzYTU3ZGMxMDg4NDE2NmUwOTE0Nzc2MDBmZWI5OCBsZWdhY3ktdHJ1bmsKKzEzNDY2IGJiYjAzODY4ZjIxYjYyNzEyN2VmN2MxMWI5YTI3ZmUyOTczZjViMDQgbGVnYWN5LXRydW5rCisxMzQ2NyBhYTMyNzZlNWRjY2Y1YjIyMTEzNjNlYWIxMGI3ZDNhNjM1N2MxODU5IGxlZ2FjeS10cnVuaworMTM0NjggMzZmYTgzNTJkMDM4ODE2NzgwMzQxOGEzZGE3OTkyYjYzNjQ2ZTAwNCBsZWdhY3ktdHJ1bmsKKzEzNDY5IDRkYzllZWUyNjE1NzE0NTY3Y2IxYTFlODcwZGU2NjRiMjNjNTQwZmEgbGVnYWN5LXRydW5rCisxMzQ3MCAyYjlhZjlkN2RhMmQ4YTdlYjQ1YWY4MTVjMzM3ZTRkZjQzNzU1NjI1IGxlZ2FjeS10cnVuaworMTM0NzEgZGEyMzYwNDRjZjZjOGE5ODJmYzI4M2U4MDRhOGU1ZTVkY2JlMTI4NyBsZWdhY3ktdHJ1bmsKKzEzNDcyIDMwOWQ4Y2Y4M2ExMTc5ODJhMTcxM2MyMGRlZTM5YWNkMGNhMWUzODMgbGVnYWN5LXRydW5rCisxMzQ3NCA1MGU3ZWIyMGJiMWQ1MWJhNTY5MjY1MzYxZDQ2ZDU5NzNkZTdlMmE4IHN0cmluZ19tZXRob2RzCisxMzQ3NSAyNTkyMzdiMjViOTM1ZjlkNzg0MzVjMjA5MWY0NjY2YjBhNDA2MmJmIGxlZ2FjeS10cnVuaworMTM0NzYgNzBjZjEzNjA5YWVkNjhhM2VhOWY5NmVkOWM4NDM4MGM2MDNkNDNjZiBsZWdhY3ktdHJ1bmsKKzEzNDc3IGZiYjRlZGI3MjAyY2M1ZTFmZTY1M2FiNWFjMWQwZWFhM2UwYzU0Yzggc3RyaW5nX21ldGhvZHMKKzEzNDc4IDViYTJlNGNlNThjYjRiYWFkMzUyYjI5NThiOTQxMWRmZDE5OTBmMGQgbGVnYWN5LXRydW5rCisxMzQ3OSA1NDgwOTIxYWU3ZjNmZWU2OWQ2NmU1ODQyMDg5YjZjNTk5MjE1MzA1IHN0cmluZ19tZXRob2RzCisxMzQ4MCA5ZDcxYzJjM2E2NzU2ZjI2ZTM0ZjQ2Y2ZjMzJkMTg4M2NmNTY0ZmFiIHN0cmluZ19tZXRob2RzCisxMzQ4MSBlMTQwN2Q2MzIwY2JiN2MxMDJmMzdmMmY5ODM0N2ViMDY2MzJjMDlhIGxlZ2FjeS10cnVuaworMTM0ODIgNmZmYzlkOGRjNWI5ODZhODgyOTExOTRiZDZiNzA4YmQxYjZjODc2OCBsZWdhY3ktdHJ1bmsKKzEzNDgzIDE3YzRkYmQzNmU2Nzc2NDQ4NDVhNTExOGEzZTNlZjc3MjU5ODllZmQgc3RyaW5nX21ldGhvZHMKKzEzNDg0IDc4Y2VmNTY3NmNjZjYxMmVmYTdkYTA3NzQ3YTRmMzg3YTk3N2I5ZDYgc3RyaW5nX21ldGhvZHMKKzEzNDg1IGFlODUwODEzY2I3YjQ4Y2M5NDNkYzYxNDg0MWUxZTJmOWNkZGNkZTMgc3RyaW5nX21ldGhvZHMKKzEzNDg2IGZmMGU1NzZlNzU4YTdiNGU4NWY0NTlmZmE1M2NhYTRhZmQxOTRjOTYgc3RyaW5nX21ldGhvZHMKKzEzNDg3IDFkY2M5NTZmY2U2NDlmNGY0YWVmZmI3YTJmYTQ4NzQwMTU1MzBlNzMgc3RyaW5nX21ldGhvZHMKKzEzNDg4IGVlZDVlYjViOWQ0ZjU5Y2YwMzg2ZjdmNGFkZWJjYjlmMzA2YWIwZTYgc3RyaW5nX21ldGhvZHMKKzEzNDg5IGRkZDIxNjAwM2JkMTg3MWQzNjQ1ZjI1OWEzYzY5NGNiYmQ5YzZlNjkgbGVnYWN5LXRydW5rCisxMzQ5MCBjYmJmMjk3YWVhN2E5Mzc5N2I4ZmQ5YWMxYjRmOTViMGMyYjM3MDMxIGxlZ2FjeS10cnVuaworMTM0OTEgYjJkNjlmNzUxMzgzOWE0NTMyOTlkNWQxMzg0MTkxY2NlM2UzYTA1ZiBsZWdhY3ktdHJ1bmsKKzEzNDkyIGVjNmM4YWQ5ODM0MTA3OTQ2M2FmOWY2Mzg0MDM4MTU0ZGE5MDA5Y2Igc3RyaW5nX21ldGhvZHMKKzEzNDkzIDUxOTY5ZmQ3M2M0YTdlN2NjYjY2MWE1Y2E1Mjc4N2ExY2M5NjY0NWUgbGVnYWN5LXRydW5rCisxMzQ5NCAyZWMwNGZmMmI5YjczMmY5NTI5ZGI4MWU1OTQzNjdhZGMzZmFmYzgwIGxlZ2FjeS10cnVuaworMTM0OTUgY2ZlZDI5NDkzZWQ2NTYxY2JlYWIxNzk2NTkzZTVjNmExYTA2NjIzOCBzdHJpbmdfbWV0aG9kcworMTM0OTYgMGYwYTY2YzFkZWFjYTI2ODhhZTRmNDRlZTY4MjIyOTZmNjk5OTc2NCBsZWdhY3ktdHJ1bmsKKzEzNDk3IDBmMjI5MmY1N2E4MzE3NDM2NjkyMGJhOWM1NzU3ODBiMGU5OTI0MGQgbGVnYWN5LXRydW5rCisxMzQ5OCA5NWQ3ODI4MTU5MDFkOGJhZTU2NTgyMmZmZjcwZmYxYzVjNTBkNWNmIGxlZ2FjeS10cnVuaworMTM0OTkgYjJmYmQ5YTVhMWI1NWMxMzJkNzI2ZDcwZWQyMGYxNmE5YmVkZTc2OCBsZWdhY3ktdHJ1bmsKKzEzNTAwIGFlOTZiMWExMjhmOGMxNjk4YTEyOTUxNmMyYmMzZDc5YmM5ODYyZTEgbGVnYWN5LXRydW5rCisxMzUwMSBmOTBlZDk2NjMxNmU4YzY5NDIzOTdhZmQ5ZjYzMDM2MDYxMDhiYjFlIHN0cmluZ19tZXRob2RzCisxMzUwMiA0Yjk2OTI2NWI5ZDIxYmNjYTg2MmQ0ODZmNWY3ZjBlMmM3NWQ1NWVkIHN0cmluZ19tZXRob2RzCisxMzUwMyA3MTEzODAzNzJiYzkxOGEyZmYwZDY5NTU5YWMwM2FlMmQ2ZmJiNDg5IHN0cmluZ19tZXRob2RzCisxMzUwNCAxN2VjMDkwMmVhZmEwNmNkNzQwY2MzNjIwYzdiZDViOTE1NjA3NzNmIGxlZ2FjeS10cnVuaworMTM1MDUgYmVmNDZlYTVlZjc1YzA0YzRkYzY1ZDM1NjJjYTg4Yzg0MmIzMGVkMSBsZWdhY3ktdHJ1bmsKKzEzNTA2IDM5ZjI0MmJmNDYyMjgzNjg3NmEyNmUzZWRlY2I2ZjFiYzQ0YTk1YjkgbGVnYWN5LXRydW5rCisxMzUwNyAxZGNjYmVlYWY3NmFjZWY0MzZjMTA0MDZlOTk4Yjk3ZTE4OWVhOWE1IGxlZ2FjeS10cnVuaworMTM1MDggNjNiNTMwYzAzMGM1NGIwMWU3N2ZjNTFkMDk4NjdjZjJiYmQwMjk5NCBsZWdhY3ktdHJ1bmsKKzEzNTA5IGM3M2Y1Mzc2MmY5YjBmMmYxMTI1MGU3M2Y3YzFkYzY2YjhkZTQzNzUgbGVnYWN5LXRydW5rCisxMzUxMCBlMzlhOWYxMjkxNjMyNmQ1MmUzZjYxZDJmZTJkZGRiODg2MDZlZWE5IGxlZ2FjeS10cnVuaworMTM1MTEgN2ExMjdmMTk5MmQxOTc1ZGRlYjkwNGNkNzVlMTYwN2Y4MzMxOTIyMiBsZWdhY3ktdHJ1bmsKKzEzNTEyIDZjYWZhM2Q0ZTIyOWU4YjBmZjUwYjQ5ODY0NmNiYjMwZjYyZGQ5OWYgbGVnYWN5LXRydW5rCisxMzUxMyAxMzQ2MmNhNmQ5NDc1NWVhYmViOGVhYjE2ZDFjYmRlYzFjNzU5M2Q3IGxlZ2FjeS10cnVuaworMTM1MTQgNDA1MDk5NWE2NjM5YmI4ODJjZTY3NGE0YmVhMjI3YjNiYTUxN2JkZSBzdHJpbmdfbWV0aG9kcworMTM1MTUgM2MzNTEyNTVmMTczYWE5NzMyMTM0NDc3MjU1ZGQ4MGEyNTk0NjBhNiBzdHJpbmdfbWV0aG9kcworMTM1MTYgNDZhNTYxNzczMjJlYjA2YWE0OWIxOTFiMWJlNjE0MzhmNzUyMzczNyBsZWdhY3ktdHJ1bmsKKzEzNTE3IDg3ZDNmOTFlNDRkNGQ3YzRjZTUxMjYzZWVhYTliY2I4ODIwNTU1MWIgbGVnYWN5LXRydW5rCisxMzUxOCAzZTA1ZmNhYWFlZDIxOTIxOGViYTg2MTI3YTlkZGEyMDZkMzg3ZDU3IGxlZ2FjeS10cnVuaworMTM1MTkgNzA4NjI4YjZjMDRiZjIyZTRlNzAxOGMyYzYzNjdjOTZiYmIwMWZiNiBsZWdhY3ktdHJ1bmsKKzEzNTIwIDBkMTg2YzEwYTcwZTI0YmQ5Y2I0Nzk1NWViMjhiMmRkMzBlNjljNGIgbGVnYWN5LXRydW5rCisxMzUyMSA4NGFiMTRkODU3NjM0MzBjM2RjNTFjMzcyM2NiZWI4MTQ0M2U2ZTAwIGxlZ2FjeS10cnVuaworMTM1MjIgZTY4ZTYwNmMxMzBmNTFhZTkwYWI4NTc1OWQ1Zjc0MDNmNGI0ZTdlNCBsZWdhY3ktdHJ1bmsKKzEzNTIzIDY5NjE1ZDUwZjU4YzAwNWQyZGY1OWYzNGNlNzRjYjFmNGE2OTY4ZTQgbGVnYWN5LXRydW5rCisxMzUyNCA4YTRmYzRkYTc2OGQ4ZWNjZWQ2YTM4MjE1Y2QyNDZkZjk3ZWQ2ZGNjIGxlZ2FjeS10cnVuaworMTM1MjUgZmNhYzY0MzJhN2RmYjNmNTE5NzhiNWUxZGY3Y2Y0MjRkYTdlZjE2NyBsZWdhY3ktdHJ1bmsKKzEzNTI2IDkyNmNiNWE1ZWUzMDkzMzU5N2UwOThhYTgyYTA5ZDExYzZiNWE3YjIgbGVnYWN5LXRydW5rCisxMzUyNyBlNTI3MjNhZjNjZDVlNmYxMGVkOTVkZWY4YjRkOTg0YmQ3OTNmYTFlIGxlZ2FjeS10cnVuaworMTM1MjggMDg2YjJiYzc1NzhmOWVmMmM1YzVjMDM2MDQzZWM5YjQ2NGM0YWIxNCBsZWdhY3ktdHJ1bmsKKzEzNTI5IDhjMTE0ZWRlMDU2ODYxZGQ1ZTI1YmEzMTE5YmY0YjZjM2Y5N2I0MDQgbGVnYWN5LXRydW5rCisxMzUzMCBjOGVkNWExNDQ4OGRlNmQzMjRkMTY3YTE1Y2IxZGNjZmM1MDJiOGQ1IGxlZ2FjeS10cnVuaworMTM1MzEgMDg3MmRhM2YzZjU2MTIxMDlmYzA2MzFmN2UyMGU2ODc1MTI5N2IxMiBsZWdhY3ktdHJ1bmsKKzEzNTMyIGI5ZjU1Y2MxMGFiM2YxMGFhNGI0NTM0ZTlkNzIwOTA2NWNlNDc2OTIgbGVnYWN5LXRydW5rCisxMzUzMyA0ODE4Y2I4ZTExMTAxZGY0MDBkN2I3ZTc3ZDMyYzI2MGIxNWE5ZDY2IGxlZ2FjeS10cnVuaworMTM1MzQgNDkyYTY5NDg5MDI4NmEyYWRjNGEyODZiMWYzNzY5MDViOWYyMDE4MCBsZWdhY3ktdHJ1bmsKKzEzNTM1IGU5NDQyNzM0YmM0OTczZDkyZDllYzQyMjMyM2NkODcyMGI0OTI4OTAgbGVnYWN5LXRydW5rCisxMzUzNiAzYjNjN2I4YWRlN2ZmYzg5NzZmM2I2YWU1MGE4NDQ3YmM3YWZhMGY0IGxlZ2FjeS10cnVuaworMTM1MzcgNDA3N2NhM2IyNjU2MzI4OThiY2RjZjQ3NWE5ZjdjNDU0ZTkwMzVhMSBsZWdhY3ktdHJ1bmsKKzEzNTM4IDJhMmU5OWFmMzgyOTE0ZTYyOTZiZWJiNzA5NjExNjM1ZGUwZmM3OTUgbGVnYWN5LXRydW5rCisxMzUzOSA2YzkyZGIzYTc3Y2YzN2EwM2I4M2RkNjMzZDU1ZjkyNjAyMDcwMmI5IGxlZ2FjeS10cnVuaworMTM1NDAgNDEzODVkNTBhMTBjNzQ2NTI0MzdkOGNlZjRiYTVmODlhYzUyNzAzZSBsZWdhY3ktdHJ1bmsKKzEzNTQxIDc0OTcxMWY4ODVjZDNlNTYwZWFlYThmMDVmYzEzMGZmMDYyYWM0YzMgbGVnYWN5LXRydW5rCisxMzU0MiBmNGM2MzE4NWNlMTEwODc0MTk0YjQwYzI5NGJjNzQyNDdiN2I2MjNhIGxlZ2FjeS10cnVuaworMTM1NDMgMzA4Y2UyMTgzOWQ2M2ZhMDE5OTkzMWRkODJjODFjY2RlOGZkZjAzOSBsZWdhY3ktdHJ1bmsKKzEzNTQ0IDYxMjdiNzM4NThiYzkxZjM1MzE5ODNlZTRmNzY4ODE3M2ZiYjhkNDIgbGVnYWN5LXRydW5rCisxMzU0NSAzYWRjMDM0MmQwOGJkMjVmNjgzZGIwNGE0MjhiMzZkNzc4MWRlZjhlIGxlZ2FjeS10cnVuaworMTM1NDYgMTE5ZTExOWZjZjVhYzBiMzcwNjNhNmE4ODdmOTUxM2ViN2NlYTM2ZCBsZWdhY3ktdHJ1bmsKKzEzNTQ3IDEyNmE5Y2RmMDU3MjllMTVmNDBjNWFkNTFkMzNjMzgxODM3MjU3NDYgbGVnYWN5LXRydW5rCisxMzU0OCBlNmFiZWRiYzc5YzY5ZWU5ZThkNDg5MWE4MjViZmU0ZDdkMGYzNDliIGxlZ2FjeS10cnVuaworMTM1NDkgMjcxYWYyOTdhYTNlYTc5ODUzNGI4ZmI2ZmU4N2I2ZTBmYmRmZWJkNyBsZWdhY3ktdHJ1bmsKKzEzNTUwIDMxZmQ0ZWQ3M2QyOWU1MWVlNDFiYjljZDg0NmFlNTEzMTBiNTg4ODUgbGVnYWN5LXRydW5rCisxMzU1MSA2NDlkYWFkNmNmNTE2N2ZkM2RiYjdiNWFhNzkyYjc2ZDNkNTU5ZWE3IGxlZ2FjeS10cnVuaworMTM1NTIgNzcxYTlhMTAwZDc1YmM4ZDcwOTZlMDM3OGY5OTM3MzAwZDQ2YzM5NiBsZWdhY3ktdHJ1bmsKKzEzNTUzIDM4MTllYjdjODM0YjM1OGU0MWFlMDBmZDAxYjZkNGM3YzczZTA5NjkgbGVnYWN5LXRydW5rCisxMzU1NCBmOWJhODAyMzk3NmQ2NjIwYTkyYTU5NzEzMDUxY2Q2Y2Y5YmM3NTM3IGxlZ2FjeS10cnVuaworMTM1NTUgM2JlOTM1YmUzNzgxZmNkM2Q2ZjAzM2YxMjhmNGFlZjhiNjhhMmE4YiBsZWdhY3ktdHJ1bmsKKzEzNTU2IDhiN2Y2NWIwZGIxOGEzNmM5ODRkNTk2MTNhMDU5N2IzZWE2NDJhODAgbGVnYWN5LXRydW5rCisxMzU1NyAzNjY4NGNlMGQ0MGQ2MzY5MGNlOTFhZGYwN2U3Yjg3MDgzZTQzM2Y5IGxlZ2FjeS10cnVuaworMTM1NTggY2IzNjYzMjExNTJjYjJlNjk3MWViZTQ2ZjI3MTBjYmM0YzViZTJkMiBsZWdhY3ktdHJ1bmsKKzEzNTU5IGI2YTQzOGNjMTk1Yjk5N2JhYzI0NDhhMDBjYTVhNjJjMjEwYjIwY2QgbGVnYWN5LXRydW5rCisxMzU2MCBhZDE1YTAzOTRmNzgyOGZkMWU3YjQ1OWU3MjY4NDRjMjViZDA2NDQwIGxlZ2FjeS10cnVuaworMTM1NjEgNWFkYmIzZjA0Y2JjMmY5Mjc4OGQzMDg2NmE4NDQzODg0YmE0YzE4MiBsZWdhY3ktdHJ1bmsKKzEzNTYyIDEyY2Y5MDk2NjgyMjMwMzYyODFiM2ZlYWQwZGM2YjhkZjc1ZTAzNjkgbGVnYWN5LXRydW5rCisxMzU2MyA1ZmE5NmQwNTAzMTlkODRiYmNjMGEyYWI0ZDNhNDY2MjM4NDRmYzE1IGxlZ2FjeS10cnVuaworMTM1NjQgOTc4OTZjMDllZjFiMzMxZTA5MTRiYzM3OTQxMjI1YmI5NWNhODBmOCBsZWdhY3ktdHJ1bmsKKzEzNTY1IDYyNmNhZWNhNTM1YTI0M2IwYzgxZWQ3NDQ2MzFlZGNlM2YxODRmNGMgbGVnYWN5LXRydW5rCisxMzU2NiAyN2M0OGRmMWNlYjc5NTkxZmIyZWFkYzhmYjRiOTc2OTM0MDE0NTRlIGxlZ2FjeS10cnVuaworMTM1NjcgZjc4ZjE2ZmVhNDU1N2Y0ZDRiYTgwNDc2ODljOWY3M2RjYzU3MDYzNiBsZWdhY3ktdHJ1bmsKKzEzNTY4IGNjMmViMDFhMTZmNDIzYmZiMDQ3MjJkMDgwYmJiYTdkYWUwZjQ3OWYgbGVnYWN5LXRydW5rCisxMzU2OSA4MTQ5OGM0ZTU2OWQzNDk4ZTQxZGI0ZGRjMjNlZTVlYTA1ZDdhOTIwIGxlZ2FjeS10cnVuaworMTM1NzAgNWJiNGY1MGRhNDc0YTViNDU3MjE0ZTJhMmRlNGZiYzg4ZDUzNjQyZSBsZWdhY3ktdHJ1bmsKKzEzNTcxIGZkNTQ2Y2JkZmI1Zjg2NWE5MWVlYTQ3ODM3M2Y0NGJmMWQ0MzE0ZWYgbGVnYWN5LXRydW5rCisxMzU3MiBhZWIxMGNjMjMwMGQ2ZTZhNWM4NDAxN2JkZDJlYTMyMGM4ZmFiMjJhIGxlZ2FjeS10cnVuaworMTM1NzMgMjIyYWVlOTZkYzQyNTEwYThhNzdkMDdiOWRkMmViZTk1YTc4YzIwNyBsZWdhY3ktdHJ1bmsKKzEzNTc0IDRmNTFlOTdhNmVkZjVkNzhhMDlmMmZjZjM3ZGZjZDg1NjIyMGM3MzIgbGVnYWN5LXRydW5rCisxMzU3NSA1YTgyZmI0Zjc4ZTU5NGNkZjhiOGYwM2JlMDcxM2M1MTk3Yzg4MmFiIGxlZ2FjeS10cnVuaworMTM1NzYgMjdmYmIwOGY4YzM4ZGNhZTc0MWZlOTFkNmEyNmFlOTM5ZGZkMjU0OSBsZWdhY3ktdHJ1bmsKKzEzNTc3IDI1Mzk3MGEyYzA1ZDY2NDU1YzkxZjdhYzRlYjc5NjM2NGFiNzQ0ZmIgbGVnYWN5LXRydW5rCisxMzU3OCAyNTZiODc4Njg5ZjNiMWU0YTA4OTk5M2Q0ZDk4MDRiOGExMzM3OWM2IGxlZ2FjeS10cnVuaworMTM1NzkgYjNhY2Q1NjUyMGNkOWZhZjcyMzIxZTM3MzJlMzdlZTBlZTYwMTgyZSBsZWdhY3ktdHJ1bmsKKzEzNTgwIGJjYzBiZTdjYjQwODAxZGIxYTBhYzhlMGY4ZTUzZTQwNzdhZDlhNWYgbGVnYWN5LXRydW5rCisxMzU4MSAxMjA5OGE4YTk1ZWNiOGI1NzM3YzA4YjQ0YTUyYTlkMDUxMzgzYjNiIGxlZ2FjeS10cnVuaworMTM1ODIgNzllZTZkYzkzZDBlOWUzY2JkOWY4NWRiMjk5N2Q5MWQxZWY0MTAxOCBsZWdhY3ktdHJ1bmsKKzEzNTgzIDk2MzFmOTcyNmE3MDViNDkwNzhmNjI5N2QxNzUzMDM1Mzg4NGI0NzcgbGVnYWN5LXRydW5rCisxMzU4NCAwN2IwNzM3NmNhNzI4OGM0OTMxNGViNWRjMjNjYmU5ZGM1MWIxNzAyIGxlZ2FjeS10cnVuaworMTM1ODUgOTAyMzE2YzcyYjQzZjk1M2UwZDNjNDlmZWY5Nzk1ZDE4ZTk1YTA3YiBsZWdhY3ktdHJ1bmsKKzEzNTg2IGUzZGRiODc2MTYzNzFjYmI1N2I3Yzc0OTdlOTdkOTc2MDQ3NDIyMzUgbGVnYWN5LXRydW5rCisxMzU4NyA0OWU4ZGUwYjVlYTc0YTg1NWJiNTQ1NGIwN2Y0ZWY3ODFlNGRlODU2IGxlZ2FjeS10cnVuaworMTM1ODggN2VkNmZiYTgyNjVjYjc5ZjYxMTdlZjdmOTVjYTk5ODFiMjAxZmI5NSBsZWdhY3ktdHJ1bmsKKzEzNTg5IGYxMTE0OGM1ZmJlZGNjZjJiNGFhMzIyN2EwYTc0NDkyM2ZjOWNkNzggbGVnYWN5LXRydW5rCisxMzU5MCBkNmNhOTEwNjNjZWM5M2NiZWJjN2Y4MmY1OTYxM2UzM2UwYTZkMjQ3IGxlZ2FjeS10cnVuaworMTM1OTEgZjUyNmRiOWE2Y2Y4MzZkZjAxYmY4MzdmZWQyZTE0NDJhZDYyYmY0NyBsZWdhY3ktdHJ1bmsKKzEzNTkyIGRmYjVhZGQ2ODRjM2U4MTIxNWQzNWY2OTQ2Y2MxNWNmODI2NzdhNTMgbGVnYWN5LXRydW5rCisxMzU5MyA2MjgyYWNlMjc5NWUwNmNiYzVhMzA2MjRkNDY1NmU4MWJhZDViZmMxIGxlZ2FjeS10cnVuaworMTM1OTQgYmFlM2ZiZTJiNTkxYWY5ZGVhM2I2MTRjODBjZWRmOTliZWE4NjU3ZSBsZWdhY3ktdHJ1bmsKKzEzNTk1IDBiNjU4MzVlMmIyOTA5ZDY1YmUyYmU5YTQwNjJhZDMzNTM2M2U4MDQgc3RyaW5nX21ldGhvZHMKKzEzNTk2IDhlNGRkNmExNjFmZmI3Y2M0NzgwZTE3ZjdjNzhiZTYwMzAyNmFkNzkgc3RyaW5nX21ldGhvZHMKKzEzNTk3IDBkZDUwYTcwYzQ3ZTIyZDYyZjgxMGM2NmZhZWMyZDlkZjk1NWE5ZjIgbGVnYWN5LXRydW5rCisxMzU5OCAyZmQ2NWQwZjNkNDE1MDgzY2MxZjczMGViODJkOGIzMjkzNWI2MTA1IGxlZ2FjeS10cnVuaworMTM1OTkgOWRkODE5ZDk5MzI2MzkyNmMyYTRmNGVhYWY3ZmU3MmJjYzZhYTUwMSBsZWdhY3ktdHJ1bmsKKzEzNjAwIGE4NGY5ZDM5OTlhZTg0NjU5NGExMzQzZGZlOGJiNzJhMDAxYWZmYTYgbGVnYWN5LXRydW5rCisxMzYwMSA2NjEzZGZkNzM5MTcxOGNkYzVmNDE0M2FmNjEzYTA0YTFlMTJhMDcwIGxlZ2FjeS10cnVuaworMTM2MDIgMzZlMjU4YjU3NzUwNjY5M2M0MTIxMTg4NjZjNzg0NzMyY2Y3MTExYyBsZWdhY3ktdHJ1bmsKKzEzNjAzIDRhMWQ2YzdiMDk1MDFmOTNjNzhlNTJiOWJlYTRiOWQ2YmZhNWFkOTcgbGVnYWN5LXRydW5rCisxMzYwNCA2MTkzY2MxNDViOGM3YWQ4ZTFjYzk3ZGU4ZDE5NTkxZDBjOWQ3ODFiIGxlZ2FjeS10cnVuaworMTM2MDUgZDFiNDhlZTE0NjAxZjhhNTQ0NjliNTE2NTU2YTg5YmQ0NzU5MDQ5ZCBsZWdhY3ktdHJ1bmsKKzEzNjA2IDg3YTM5MzVlNjZhYWNkY2IxZDQ4ZjM1N2Q4NDZkYTc3MzAzZDdkMWQgbGVnYWN5LXRydW5rCisxMzYwNyAzZTVmNjk2NGNkMzMxN2IwMmQ0ZTQ2NmVkYTFlZmFiMDc5ZjExZTNjIGxlZ2FjeS10cnVuaworMTM2MDggNzYwMDhmOGEwZTVmNmNkZTE3MTVmZWQxZWQ0NjQyNTg2ZGJlOTUzOSBsZWdhY3ktdHJ1bmsKKzEzNjA5IGQwNDYwOWEzN2RjMTE2NjNiMTYyNDNhYmJiNWZjYTA0ODgzODNhM2MgbGVnYWN5LXRydW5rCisxMzYxMCA1YmU5NDA2YmJiMDVjYTExMDM3NWNjODVhY2Y0MzA2NDEwYWZiOGZhIGxlZ2FjeS10cnVuaworMTM2MTEgZDQ1MWEyMTFjMTZhM2Q2N2Q4ZmZjYjFkOTQ3MjY0OGNhMDkxMGZjNyBsZWdhY3ktdHJ1bmsKKzEzNjEyIDI1NjczODg0YTNkMGYzY2QyNzM4N2Y5MjE1NWNiYjFiZDFkMzRkZDcgbGVnYWN5LXRydW5rCisxMzYxMyA4NDYxMmE1Njg4ZmM5M2MyNGUxZDVmMGQ0NjY2M2ZhZDBhNjQ3MzIwIGxlZ2FjeS10cnVuaworMTM2MTQgZGM2YmUwZWQzOThjZmQzNzY4OGM2N2FiNGQ1ZmY3ZmNiMGVjMjI1MyBsZWdhY3ktdHJ1bmsKKzEzNjE1IDQ0NjNkZDdiYjNlODk1ZjNlMDU5YzdhZGRkOWVjYzNhOTlmMGQ4ZjMgbGVnYWN5LXRydW5rCisxMzYxNiA0YTdiMmI0ZDE2NjlhZWY1ZjBkZTljNzcxNTRlYTgzZjdkNjlkZjNkIGxlZ2FjeS10cnVuaworMTM2MTcgNDdlMDAzYmQzNWVkMDUzYTg5ZjU5ZjNiNGNkNzQzN2Y4OGU2MjhiNyBsZWdhY3ktdHJ1bmsKKzEzNjE4IDRiNTNmNGEwYTk4YWNkMWJmY2RmYzYzMDMzZGY1Yjc1ZTAzZTE3NDUgbGVnYWN5LXRydW5rCisxMzYxOSA3MDI5ZTE4YjRmMTFlNzdjNDk1NzhhZmFiZmM0ZDNlN2E2YzI1N2NlIGxlZ2FjeS10cnVuaworMTM2MjAgMmUwMGI4ODkwMzVmMmY0NjdmOGE0MGY4NDg3NDFmMTk1MjQ2MzNkZCBsZWdhY3ktdHJ1bmsKKzEzNjIxIDcyOGEyNTAwZWE0MmZiNWZhODMxYmZjOTBjNTVlOThmYmQ0N2M0Y2IgbGVnYWN5LXRydW5rCisxMzYyMiAxZDRmNWY0OWRlNGVjZjM4ZjE5NjA5YzhjZTNkOGZjODJhZWYxNjJiIGxlZ2FjeS10cnVuaworMTM2MjMgNzY5YzZiNGM1Yjg4N2MzNGU3NTNmZjU2NmU4OTQ3NGIzOTBlMzA0NSBsZWdhY3ktdHJ1bmsKKzEzNjI0IDRjNzU1OTZlOTJmNGY4YWRlZmJlMDNjYWVjNTM3N2Q5ZDgzZjdhNjggbGVnYWN5LXRydW5rCisxMzYyNSA5YzI5MmFkOGE2ZDQ2M2MwMzRmNTQyZmFlMzA3Y2U5OThmOGRiNTFhIGxlZ2FjeS10cnVuaworMTM2MjYgNzFlZDBhMmMyNzlhNjA1ZjFiZGQ5OGY2NzdiZTU2NzNjZTVjZGEwYSBsZWdhY3ktdHJ1bmsKKzEzNjI3IGZhMmUzZDA2Yzc5MDJlMTZiZDdhMjBlNzNiODUzOGMwNDM0NTQwMDEgbGVnYWN5LXRydW5rCisxMzYyOCA4NzJhODJmZDBlYzQxZDQ4NzRiMjUwZjQwMjQyMGY1MDc3YjI4YWQ5IGxlZ2FjeS10cnVuaworMTM2MjkgYWE2YzVmODZkZjg3YTRlNWViM2NkNmQxNmI2OTllZWNhYzE5NTkwMiBsZWdhY3ktdHJ1bmsKKzEzNjMwIGZiZjQwZDdmZDRkYWMyNjVjMTIxNDM3ODNhN2VkZDU1ZWNkYTJkM2IgbGVnYWN5LXRydW5rCisxMzYzMSA2N2JkMmFhZTI3MzJlYWE1YTFhOWQ2NjE3M2Q3OWJkNzQ0ZjM0ODk3IGxlZ2FjeS10cnVuaworMTM2MzMgMDY4ZmJmNGY1NThhMjMzYzU0NmM2YTM3YTMxNmI4M2ExZWQ1ZTQzYSBsZWdhY3ktdHJ1bmsKKzEzNjM0IDVlODQ4YzNlOWM1YzcxYzQ0ZTQzMmQyYzQ1NTY5NjhhYjY5NTIwMjIgbGVnYWN5LXRydW5rCisxMzYzNSAxNDM3NGJhMzQxYTY3YThmNjU1ODVlYWMyOWJjYTdlNDZhY2NjZmUzIGxlZ2FjeS10cnVuaworMTM2MzYgMWNkZTUyMzBjNTA4MTllM2QyNDczY2MxMGQyNjcxNGJhMWI4YzdmNyBsZWdhY3ktdHJ1bmsKKzEzNjM3IDZiZjYyMDM3NTk3NjM0OWE5NmRlYjE0NjY1NmY4MzcxMzFkNDdiMjMgbGVnYWN5LXRydW5rCisxMzYzOCA5OTI4NmRhYTkwMGRkNDhlNTQwZmI3OTJjYTQ2OWM0MWFjYzg3NDc5IGxlZ2FjeS10cnVuaworMTM2MzkgMTJmMjA4ZGI0MmIwZTkyZmFjNmE4ZjkzNzZmMzI0YjUyMGQ2YmJlMiBsZWdhY3ktdHJ1bmsKKzEzNjQwIDc4ZjViZjE3OTc1MDRhOWU2Njk1MjVmYjBiNTNlYjJmNWFlYzA1ZmEgbGVnYWN5LXRydW5rCisxMzY0MSBiZThlYzgyOGMwNzIzNzI4YzI3MTk4YmY0MTdjMzIyMDMxOTM4Y2JlIGxlZ2FjeS10cnVuaworMTM2NDIgMDEwZTdiNjlkODZiZjBlMGYxYjczODk0YTNlOGEyZjIxMWUzMTZkNCBsZWdhY3ktdHJ1bmsKKzEzNjQzIGRjYzA5MjI4YTNkMjQyMjNjNzkxYTFlZDQ4ZjA1ZDViN2ZjYzk3NjQgbGVnYWN5LXRydW5rCisxMzY0NCA5MzlkOTE0YWY1ODE2ZmZjNDZjZmY3NzI1NTY5MTliNjQyMGY2YjMyIGxlZ2FjeS10cnVuaworMTM2NDUgZGE5YzgzYjVmYjA3NDVlY2FhYzRiYjUyMzQ0YjhiMmJjZGRjNDk3NiBsZWdhY3ktdHJ1bmsKKzEzNjQ2IDNiMTk4MGRiNGFlOTkwNDZjZWQyYTgwYzMxMzE1NGVjZmI3OTBjZGYgbGVnYWN5LXRydW5rCisxMzY0NyAxNjRiNGJjNGRkZGQwZjgyOTU4NjVkY2M2NzIxYTJiMDY5OTBmMDg4IGxlZ2FjeS10cnVuaworMTM2NDggM2EzOWViZTI3NmM4ZjRmOGM4OTc3OGYzMzMwMDBjZTA4YTVhNTk2NSBsZWdhY3ktdHJ1bmsKKzEzNjQ5IGQ0MjNmNTc4NDRiMjZiNzJiODFkMmVhZjI2ODU3ZjQyMTFkM2Y1M2YgbGVnYWN5LXRydW5rCisxMzY1MCAzMDZiNDlkNjgyMzM3Y2I5NTZkMDVlYzJkZjAwOTZiZDhjZmYxYzFhIGxlZ2FjeS10cnVuaworMTM2NTEgMmViMjg3OWQ1NjdmNGIzMTY5ZjJhZGE5YTNjOGZmMDNhNjIyMTM3ZSBsZWdhY3ktdHJ1bmsKKzEzNjUyIDdjMjM5NzExMjIxYTI0NzQ1ZjNiMWU2MGY5MzFmNGI2MDYwZDg0MWYgbGVnYWN5LXRydW5rCisxMzY1MyA0NDJmZmU5YTU4YzEzYzk3MDFjNDdlYTczNjZjZDA5YjQ3MDVlNTYwIGxlZ2FjeS10cnVuaworMTM2NTQgNWU3NmM5OTY1ZmU4MzkwMWUwYjE3NzI1ZmU4YjgwZmI2ZDdiNjI4YiBsZWdhY3ktdHJ1bmsKKzEzNjU1IDlhMjAwMzhmMGI5OTdlZjBkYzIwMGNmZjE1MTBhZmQ2ODZkMWVhNTQgbGVnYWN5LXRydW5rCisxMzY1NiBhNGI3MjQyYTRiNzRjYmY0N2M5YjZjYTYwNDcyZWMwNTFhZjZlZTg5IGxlZ2FjeS10cnVuaworMTM2NTcgMWM2ZmRjOGFkYWIwYTRjNmZkYzVkZDE2ZWM2M2I3MGMwOTBhYTE2ZCBsZWdhY3ktdHJ1bmsKKzEzNjU4IGY3MjliYmM0YTlmMzEwZjlmN2VhNWRmZjk4OWQ1YmJkM2E4YjRhZGMgbGVnYWN5LXRydW5rCisxMzY1OSAwZDg4ZTBkMjE4NGY4OTM5YWJkMGQ3ZDBmMDQwMWNiNWY5M2Y1OTM5IGxlZ2FjeS10cnVuaworMTM2NjAgNDFhNDY5NzhhNDQ0YTcyOWQ3NzJmMTg3NzE3ZDI2MmJlM2YxMWNjNyBsZWdhY3ktdHJ1bmsKKzEzNjYxIDJjNTg1NTI2NDQ3ZTk1ZWI4ZjQzZWY5YzNiYmFjMGZhMzRhNjlhMDcgbGVnYWN5LXRydW5rCisxMzY2MiA4MDQ5ZDJkZTFlNzk0YWFjNDY2M2ZmZmNiMjQ4YmI4ODI0YWU1YzY5IGxlZ2FjeS10cnVuaworMTM2NjMgODRlMzRkODEzOGFjOTA0MzUxZmY4ZDU2N2EyZTNmMWE5Y2I5ZTBmNSBsZWdhY3ktdHJ1bmsKKzEzNjY0IGMyYWM4OTY5MjZjYzRhNzk4NGU4NTI4ZDkzNzU3YTE4ZjJlOTZhMDIgbGVnYWN5LXRydW5rCisxMzY2NSAwYTVhOGY1MTNkMTM2M2E3YTc5MzFjNDk2MGE0ZTBiNjgzMTc3ZDhjIGxlZ2FjeS10cnVuaworMTM2NjYgYjU2YmRhMTkwMGZjMGVkMDBjNzliZDZhYmIzYTRhYTk0ZDBkNDhjZiBsZWdhY3ktdHJ1bmsKKzEzNjY3IDJjM2FmOTBmM2ZhZWI0NTU2YTUzMTdmZDIxYzMzZmJlN2E1YzhhMDEgbGVnYWN5LXRydW5rCisxMzY2OCBjZGZhOWNkNGU3MmJiMjZhN2Q1YzQyNTQ3MTg4NDc0OWIzNDZmZDM4IGxlZ2FjeS10cnVuaworMTM2NjkgYzA5NTQxMTI4YzVhNDFkZTM1NmY5NDBkNjAxZjZiODg2MzFmNjQ2ZCBsZWdhY3ktdHJ1bmsKKzEzNjcwIGM5NWUxZmQ4N2FmMGYwNjk2ZmIyNzk3Y2QwY2M1YTI4OGRmMTNiNGUgbGVnYWN5LXRydW5rCisxMzY3MSAyYjdjNDNkNGI0NjliMGYyMjIwYzk1YTY2YTBmMTFhNGJlNjhhNDJkIGxlZ2FjeS10cnVuaworMTM2NzIgMWRiYzVlNjk3OGY5ZGQyZjU4ODk0MmI0MjFiZjg0MGYwNDE1YzBkMSBzdHJpbmdfbWV0aG9kcworMTM2NzMgNDFmY2I0MGU4NDFmZDZhNjMxM2NlZGYyZWNhYWJkNzU2MWJlNjk5YSBsZWdhY3ktdHJ1bmsKKzEzNjc0IGQ5OTdlMjdlMzMxMmJjMGRjNjZmMjcwOTk1ZDU4NzMxZjg5ZjNjMzEgbGVnYWN5LXRydW5rCisxMzY3NSBmNjJlNDY1YzRkMDE0YjhlMzZiODUyNDhmYTgxMjlkZTA2OTE4YWU3IGxlZ2FjeS10cnVuaworMTM2NzYgYmJkMDM1ZTVhOTcyY2ZhMWVhYTRlZmFjN2Y0NDNjMWUwYzM2OGQ1ZCBsZWdhY3ktdHJ1bmsKKzEzNjc3IGI4YTI5ZGU5ZWQ1NGIyNDNhYmQzNDQ3MDk5NWI5ZTQ2NmJlMGY3MDEgbGVnYWN5LXRydW5rCisxMzY3OCA4NzhhYzBjZDBlNzY4MThlMjU2M2RlZWUzZTJhOTE2M2UyOWI4OGVkIGxlZ2FjeS10cnVuaworMTM2NzkgZjRlZmJhMzIzMjBlYzQzYTgxOTRjMjFiNThhMmNkODkzNWQ1YjEzOSBsZWdhY3ktdHJ1bmsKKzEzNjgwIDgzZjM5ZmM4NTc2M2JlZjQyOWI5ZmYyNWEwOGUxYzU5ZmNhNzNiYjAgbGVnYWN5LXRydW5rCisxMzY4MSAzNmE2NTQ2MmMyNjlkMGNjZDI1YzQxMmVlYmY3ZDZhZTBjODU4NDBjIGxlZ2FjeS10cnVuaworMTM2ODIgMWE2OGM5NzJkMDg0MWUzNWQ0ZTNlMTMwMzkxNTQyMTg3OTA0Njc4MyBsZWdhY3ktdHJ1bmsKKzEzNjgzIDY4NTJmZjAzMDMwODg0YmRmZTc1OWYyZjM0YzQxYTI0YzVjOTc3MWMgbGVnYWN5LXRydW5rCisxMzY4NCAyYzRkNDhlMzFiZDVlNzhhYjcwOTNjMmZhYTM4ZTk1MmQxZDNlODZlIGxlZ2FjeS10cnVuaworMTM2ODUgNDNjY2JjZjQzODRmMTIzMTEzMjAyZDlhYTZhODlkY2U2ZjM2Y2JkYiBsZWdhY3ktdHJ1bmsKKzEzNjg2IDdjZTViYWU3Zjc2NWE0NmVjZTE1NWQwZTQxNjUzYjkyMTJiYWY0ZTYgbGVnYWN5LXRydW5rCisxMzY4NyAyZjEwMjZkYjgyMjgwYmVmZTdmNjhiZDNlYTU5NTkxOTllZjBjY2ZiIGxlZ2FjeS10cnVuaworMTM2ODggYWVkMTlhZjYwZWEzMjUyYzhkZjBjYWVlNjU2ZTRmYzJkY2U5YjYzYyBsZWdhY3ktdHJ1bmsKKzEzNjg5IDBiYWZmMTM1YzRiNGUxYjA4YmEwYWU3OGJkMDY0MWJkM2Q0YmY5YTAgbGVnYWN5LXRydW5rCisxMzY5MCBkMTU0YWU3Y2EwMTRmNzkxMzBlNDYwMjk0NmJhZjczM2EyOWFmNjQ4IGxlZ2FjeS10cnVuaworMTM2OTEgM2M4YzU1NzYxMDljMzU3ZjFmNmI1NDk5OWIzZGM4NDUxZmE3NDFkYyBsZWdhY3ktdHJ1bmsKKzEzNjkyIDZlNmJkYWU4ODA4YTUzMTk0NTRiN2U2ZGRiYzZlM2JmMWM2MjI1NzcgbGVnYWN5LXRydW5rCisxMzY5MyA5OGU1OWM4NGVjMzFhM2ViZGJmODYyODI3OTZlMTg3MjYwNmY3YTlkIGxlZ2FjeS10cnVuaworMTM2OTQgYTRhYmEyMDUwMzhlYjVhMmFiOTkyNjNlMDJmMjMwMWY4NzQzOGZiZCBsZWdhY3ktdHJ1bmsKKzEzNjk1IDNlMGM3ZTY5MzliZDAyYTY3NTUwY2ExMDUyZDgwMmRhMzRiNGQ0ZWUgbGVnYWN5LXRydW5rCisxMzY5NiAxYTI3ZGQwNmNjZTE2OWRhZGMyODFkNmFkYzQ0MTcwMTgwMzMxMmZhIGxlZ2FjeS10cnVuaworMTM2OTcgNjE3ZTEwZmM1ZDhkMzI4ZmEwMDhmZDEzN2M3Yzk0OWMxYThhZTA5YyBsZWdhY3ktdHJ1bmsKKzEzNjk4IDVkYTU3ZWE1ZmM2NDE4MTNiNWYyNTA2MDU3ZmQwMTE3ZDRiNjg5ZmUgbGVnYWN5LXRydW5rCisxMzY5OSAzMjA2NTIyNDJlNmJhMDZjNTE1YTNiNjhlNTA2OTJmZjcyNGU5N2MyIGxlZ2FjeS10cnVuaworMTM3MDAgMDQ5MjlhYmNhZDg2YmNiNTI3NTQ3OGVkMGNkZDVhYzk2OWE1NTA4NiBsZWdhY3ktdHJ1bmsKKzEzNzAxIDhlNzRlZDE1NGY2MDg3ZmVjNzJmNWU2Mzg0YzdjNzYwZjcwNDQ3MjUgbGVnYWN5LXRydW5rCisxMzcwMiBmNzY2ZmI2Zjg1MjY1YTQ5YjgzOGI3ZTNkNjVhNmExYzY4YTgxODI0IGxlZ2FjeS10cnVuaworMTM3MDMgMzQ4NWE3ZTQ2MDBiOWZlZGYxOGU2NTVmYmY4YWU5ZGU1NDY0NjEzZCBsZWdhY3ktdHJ1bmsKKzEzNzA0IGZhYjgxZGY1NjZkMGNmY2U0NjRiZmE4NGM4YjUwNGViMWM1MzA0NTAgbGVnYWN5LXRydW5rCisxMzcwNSA2NGIxNWU5MDkxYTkyYmI2MzU4OTdjZmY5OTg3NTdjMzU1MDRiMjI2IGxlZ2FjeS10cnVuaworMTM3MDYgNWY1ZmMxMDMxOTU3YWE1YTQyZmUxYjYyN2E0M2M4ZTI3MzU2MWRkMiBsZWdhY3ktdHJ1bmsKKzEzNzA3IDI0NWQyYjYwNTAzNmQxNGYxNDk0NjdjODA5YjhjYTM1YTFkMmQzY2YgbGVnYWN5LXRydW5rCisxMzcwOCBkNmFiNzJjYjE2MjU4ZTljMTExMWE1NThiZmE0ZDZlNzUxZDVlYWQ2IGxlZ2FjeS10cnVuaworMTM3MDkgODE3NWJmZGZiZWE5ZTQwZjgxOWYwZjZjZGU2YTlkNzMyZjZhZWFjYSBsZWdhY3ktdHJ1bmsKKzEzNzEwIDZjMTMwOWQ4MmNiMTE0MWZmZTMxYjZjZjQyMTNlZWY4NWJhNWJhYWIgbGVnYWN5LXRydW5rCisxMzcxMSAzNWUwZDAzZjJiMDJmOWY4YzVkZGZiMzEwYWJiOWFiY2ZjNWZjMjA4IGxlZ2FjeS10cnVuaworMTM3MTIgMWUwYjE5NjdiZTdmM2U1ZDk0YjI4YzRjZDRmNTgwNTE2YTAzNDIzNCBsZWdhY3ktdHJ1bmsKKzEzNzEzIDkzOGI0NmZhNjM5NGU4ODhlM2RiZDc4YzA5Mzg3MjU2NjQ3OTRhNDIgbGVnYWN5LXRydW5rCisxMzcxNCBkYmI4MDgzZjBjZTcxYzM5Y2MyMjZkYjI5NjE3ZDBjYWNhNjk0MWIxIGxlZ2FjeS10cnVuaworMTM3MTYgMjRjNWJjNmJmY2FhZmU4ZWU1YjVmNjY5NGQ2NDdjMWQzZGM1NTBlOCBsZWdhY3ktdHJ1bmsKKzEzNzE3IGY2ZTZjZGJhZGJiNTA0ZTBjMzJiZTBhNmY0NjVhNjVjOTM4Y2ZlMzEgbGVnYWN5LXRydW5rCisxMzcxOCAxMjNjMzhkYTZmNDM4M2Y4M2ZkYzY5YzNkNWQzZTY2ZjkwODk1YWFhIGxlZ2FjeS10cnVuaworMTM3MTkgZWNlZTlkZTc5YjFlZjU3MzRmOGYxZGNmY2Q2MGUxY2EzYWFiZTVkNSBsZWdhY3ktdHJ1bmsKKzEzNzIwIDNkNjZhMTk3MTkzNjk4MGE1YzBjOTQxNjA4M2UzYmQ5ZDU5N2Q2M2IgbGVnYWN5LXRydW5rCisxMzcyMSAwMWM1MWIyNjhjMDQ5NjFmZjJjYTVlNmJkZmU0NWFhYTk3MjU2ZDdkIGxlZ2FjeS10cnVuaworMTM3MjIgYzcyMDMxOGUzYzQ5MjA3ODE3ZGZkYjBjMzY5YzEzOTk5NTUyZTE0NiBsZWdhY3ktdHJ1bmsKKzEzNzIzIDg5OTYxYjY4MTNhYzM5MTliNDdhYjkyZWFhNTg4YjAyOTk0MjBmMDQgbGVnYWN5LXRydW5rCisxMzcyNCBjNjI3NzM0ZWFmOTI5YTc5YzYyYTMzNWE5ZGE3ZjZhNDE1MGYxNjhmIGxlZ2FjeS10cnVuaworMTM3MjUgYTgxOTVmYTMyOWFjMzliZmMyYTM5MWZiMmQxYmNhNTU1MzFiNGMxZSBsZWdhY3ktdHJ1bmsKKzEzNzI2IDFjOGU0MjI3ZDk4NzkxYmFhOWQ4MDk5OWNkNGM1ODM1ZDY2NTQ5ZGQgbGVnYWN5LXRydW5rCisxMzcyNyA0ZmRkMzM5MTRlZGFiNDgyMDI5NjVhMjhiOWNlMTE0MGFmYjkyNzViIGxlZ2FjeS10cnVuaworMTM3MjggZThiMjRjZDE3ZGYyM2Q4NzJlMjZlNzU2YmZhMzZhM2VjNjdkNTcxMCBsZWdhY3ktdHJ1bmsKKzEzNzI5IGM1MmZiYzZiZDM4YTkxNzAxNWIzOTJkOWM5ZTAzYTk0ZGU2MDAyMTYgbGVnYWN5LXRydW5rCisxMzczMCBiY2EyZDE0ZjNlMzY1MGY2YjE3ZDQyMzNmOGMxZmNlNTc4OTRjNGUzIGxlZ2FjeS10cnVuaworMTM3MzEgYmY1NjViMThjZmRjNGZiYWQxMGYwN2VkYThmOWEzODJhMWEyMGVhMCBsZWdhY3ktdHJ1bmsKKzEzNzMyIDdlZWViMGQyYjBhNDAxYjE4NzI4MjdiMDVhNTY2MGZiNjY3MzdlMTUgbGVnYWN5LXRydW5rCisxMzczMyA3MWUwYjQ1ZDU1OGMyZjY5ZTRiMjM3MTc1ZmNiYjJjMjkyNDVlNmM3IGxlZ2FjeS10cnVuaworMTM3MzQgOTE1N2M2ZGE3NjE5M2ExNTNhNDZhZmRkZjdkZWI0MTAxNzk1NGU5OSBsZWdhY3ktdHJ1bmsKKzEzNzM1IGRlOGZmZDJlNzFiNWZhZWFkNjcwMjJmMzgwYWY5YWU2N2JjMTZkZDYgbGVnYWN5LXRydW5rCisxMzczNiA5OGQ0NTczODNhMmQzZjRiMDVmYzc3YTZhMTcyNGVjMzdkNzdmYzg2IGxlZ2FjeS10cnVuaworMTM3MzcgYzM4OGYwMGFmZmU3ZGNiM2NhYTFmYmNmMzZjMzdiNWUyM2IzOTYzMSBsZWdhY3ktdHJ1bmsKKzEzNzM4IDVmZTI2M2ZiNjc0YWIxYTAwNjdlNmNhYzA5MGM0NDA2NjVhYTE3ZGEgbGVnYWN5LXRydW5rCisxMzczOSBhOGI1YTViMzkyZmJjNTJjMDk2ODFlMGNhMmM1YTM1Nzg0YTM0MzZlIGxlZ2FjeS10cnVuaworMTM3NDAgY2Y3Y2Q3YjA0ZmE2NTlhNWMyMTNhMjgxOGUwZDc3M2ZiMmZjZDM0MCBsZWdhY3ktdHJ1bmsKKzEzNzQxIGQ1ZjQ2ZjU5OTU4NWJiNjg0NWY3ODJlYzdlOTc0MWVmN2UxNzJjYTMgbGVnYWN5LXRydW5rCisxMzc0MiBkNWIzNzM0NDBmOTlhMzgyNWVjYjg3YTQ4MDU2MDNlNzM4NTY0NTYwIGxlZ2FjeS10cnVuaworMTM3NDMgZWFmOWVlYWIzYmNmZjkxZGNkZGUxOTg5ZmY1MTYxYTNhNmNhMTc2OSBsZWdhY3ktdHJ1bmsKKzEzNzQ0IDk2NTAxY2MzYTY2M2I0Nzg1MzI1NDdjMDBiNmNlZjVhZDg3ZjZmZTMgbGVnYWN5LXRydW5rCisxMzc0NSBiNWJkM2Y5NzlkYzk4YzMxY2FiNjVlNWQwN2Q3YmZhMTk1NjUyOGE3IGxlZ2FjeS10cnVuaworMTM3NDYgNGFhZTVhZmUxZjE0NDQ0MmY1NmVjY2JkMjQwNzcwYzg1NzIyMDI1YyBsZWdhY3ktdHJ1bmsKKzEzNzQ3IGY0MDZlNzhlYzEwYmNkZjZjZWZkOWNhMjVmZDk5ZGIyNDY0ZDA0YTQgbGVnYWN5LXRydW5rCisxMzc0OCA0NDVjYmU4ZGI4ZjZmNDdlNjE3NjJlYmNjNjc5YzFkZDZiNjE3NTg3IGxlZ2FjeS10cnVuaworMTM3NDkgMmQ3MzMxZjRkZmUzNTFiYzlmYjhmYWU4NGI4MWIxYmMxOTEyZDUzZCBsZWdhY3ktdHJ1bmsKKzEzNzUwIDhiYjI3ZjRlYmUxNmU1YTk3NGMwOTUzNmViOTMyYjNmOTg2MTZjZWMgbGVnYWN5LXRydW5rCisxMzc1MSAzMDg5NDYxOTYzYzRiOTU3NjNlNTMwNWMzMDdhMTliNWUzMDYzNTNkIGxlZ2FjeS10cnVuaworMTM3NTIgZWNmZTNkOGNiMGMzNDcxMGQ2YmRlY2VlMWE0MDZmYmIwNDM0YjVjNiBsZWdhY3ktdHJ1bmsKKzEzNzUzIDI4NTZhZDVjNjc5YWU3MzljNjYzMTEyOTc1YmE1YmUzMDY0NjA2NDkgbGVnYWN5LXRydW5rCisxMzc1NCA5YTY2ZTc4MDdjNzczNDE5ZTE1ODY2YjhmNzY2ZTIxODZlZjg0ZjEzIHJlbGVhc2UxNTJwMS1wYXRjaGVzCisxMzc1NSBhYTRjOGUyZWY1YjQyOWU5MDg2Y2U4MWY2N2E4ZDE2MWE5M2RmNWUxIHJlbGVhc2UxNTJwMS1wYXRjaGVzCisxMzc1NiA5MDUyMjY0NzFiNGM3ZjlmYjE5MDljMjhmZjhjMzM4OTMzYzAyZmFhIGxlZ2FjeS10cnVuaworMTM3NTcgZTAxZjIzNTM5YjZjYThiMzJjNTBjYjgwYTcxYTgxZTBkNmQzYjI2MiBsZWdhY3ktdHJ1bmsKKzEzNzU4IGEwYzUyMGMxZDEyZDQ2YjVlOTQ4MzlhODAyYzljOGRmZWMxOGIzMjUgbGVnYWN5LXRydW5rCisxMzc1OSBlNzczZDJmMDc0MWRjNTg3MjQ5MmVlOGU2NTk5NDhlOTZmMTI4ZGM1IGxlZ2FjeS10cnVuaworMTM3NjAgZTBlNjdjZjJmYzY0NDUxOTgwYjU0MWYyZDI1NzEzNGI2NmQzODMwZSBsZWdhY3ktdHJ1bmsKKzEzNzYxIDEwZWJiMjViMjQyZDdhMDA5NGE1OWE3MDI5YTc3Y2Y5ZDJmYzYyMjcgbGVnYWN5LXRydW5rCisxMzc2MiBiNjk4NTliNjk3NjM5Y2VkZjU2OWU1NzM1MmRmYzViZTFkYmVkNTUyIGxlZ2FjeS10cnVuaworMTM3NjMgNmRjNGNjMzE4YTVjOGExMDMzYjk5ODE4Mzg2MzJjZmVhYWY4MmU2OSBsZWdhY3ktdHJ1bmsKKzEzNzY0IGU3NDY5NDRlOWE0YTY3NmY5YzgzNzIzYjJmM2Y3ZDU4YzUzYzY3YjEgbGVnYWN5LXRydW5rCisxMzc2NSA4MzNmZDIzMzhjNjk4ZGI0NjM0M2Y3NmYwZDc4YjEwYzY3YTE1OWM4IGxlZ2FjeS10cnVuaworMTM3NjYgMDI4N2Y1YjMyMjRjYzc4MTdiM2Q0ZWZmMzA1MTg0NGFmZGE2MzFhNSBsZWdhY3ktdHJ1bmsKKzEzNzY3IDA1ZTBjYjM2OTE0NjI3YTY5MjJiYjAzNTAwNzljMDRiZGMzYmIzMjUgbGVnYWN5LXRydW5rCisxMzc2OCA3ZmIyZjQ1NjJmNzY1N2RhMzQ5YjRmYTFlMzQ5NTc3NWQyMDU4MGNkIGxlZ2FjeS10cnVuaworMTM3NjkgNzc5Y2U0NmUzNDMwYThhZDY1YWQ5MTZjZTJhMzQ2ZGY3ZGZlMGY0NSBsZWdhY3ktdHJ1bmsKKzEzNzcwIDU2ZWY0YzJlMGQ3ZWZiYmQ5MWNhNThjMGQ2ZDNiZmI0NmUzOGQ2OGIgbGVnYWN5LXRydW5rCisxMzc3MSA1NzdlYTI2MWJkZjI1OWFhMzI0MTY3MTBiMDE3MjZhMDk4ODZiNWE1IGxlZ2FjeS10cnVuaworMTM3NzIgNGNjNGJhYTI0YTQwMDZlM2RmMjFiNDNmNjU3MWRlMzYzN2RmYTgxMSBsZWdhY3ktdHJ1bmsKKzEzNzczIDVmMDMyNjg2YTM3MTJkNmNkODNjNjg5MjYzNDFjYjczYmI5NGY2NTQgbGVnYWN5LXRydW5rCisxMzc3NCAwMDYxY2E0ODY1ZDczNGM4ZTg4YjFjYWRhNmNlMjMwOWM2NWEyOGZkIGxlZ2FjeS10cnVuaworMTM3NzUgNmFhYzMxY2QyMTAyNWQ4MjQxZDY2MjU0MGU3NjMxODg2N2Y5NDhiYyBsZWdhY3ktdHJ1bmsKKzEzNzc2IDQzODViMWJjYmMzYjNlYWI5MWY0MzlhMDY3MGEyNjE0ZWY1YzUyYTEgbGVnYWN5LXRydW5rCisxMzc3NyA4NTRiODAxMjUzZjBmZmM2YjdkNzJjMDFmZTlkMzlmZDVlNGY1OTcxIGxlZ2FjeS10cnVuaworMTM3NzggZDEzZGExOTQxOGVjYThkZWYyNzdhYzE4MTY3MzVhODk5MjU0MmM4MCBsZWdhY3ktdHJ1bmsKKzEzNzc5IGM5YzE4ODQyNmU3NmMyZTkzYzMzY2MzMDFhNDE0YTVlNWY2ZThmNTQgbGVnYWN5LXRydW5rCisxMzc4MCBlNjFjNDg2YjM1OGE1MDQ1NDI1NTUwOTM2ZDQzM2I4OGI5ZDE4ZmM5IGxlZ2FjeS10cnVuaworMTM3ODEgYWVkZTdiMmRkNDJmZTBmZTJkMzU4NDZjYzE1ZGU0OWFiOWRjOGI0NyBsZWdhY3ktdHJ1bmsKKzEzNzgyIGIzZjFhYmQzMDI3ZmRiOWZjMTBjMmNjNWYyOWFiZGZlMjE3NGIxMmYgbGVnYWN5LXRydW5rCisxMzc4MyAyZjA3YmM1NmU5N2U3YWM3NWI0YWEwMDIxZmZlOTFkYWU0M2Y3ZjZiIGxlZ2FjeS10cnVuaworMTM3ODQgZWNjODAxOGE0MThjMzQ3NTdhZTA3MjU3YTU1ZTVlMTc3YWZiMTkwYiBsZWdhY3ktdHJ1bmsKKzEzNzg1IGM2YmRmMDMyYjcwNTZlMmE4ZGJhODJlMWYwODcyZWZkODZjMmU3NzUgbGVnYWN5LXRydW5rCisxMzc4NiAwZDczY2U2ZDYyMjY3Y2FlNzQzM2ZlZDY3NDEzNmMzNDQyYjIyMGQ4IGxlZ2FjeS10cnVuaworMTM3ODcgNDI3YzNiNTAwNThlYWIwYzkwYTQ2NzgwMWQ4M2I2NjUwZDlkNDcxOCBsZWdhY3ktdHJ1bmsKKzEzNzg4IDI2ZmJjODBmYWRmMjVhZGMwZTI5MWViNzgyZDAxZTgxOTM5MGU2MjYgbGVnYWN5LXRydW5rCisxMzc4OSAwZDQ0YjBkYmRkOTUxYjE5MDBkZjZkZWUxNThiN2VhNTBkNmJiYjQ3IHJlbGVhc2UxNTJwMS1wYXRjaGVzCisxMzc5MCA3YWQ0ZTM5OGYzZWEzZGMyNDIzODJmZWNhMTI1NWI1NmVmNDFmYTk0IHJlbGVhc2UxNTJwMS1wYXRjaGVzCisxMzc5MSA5Mjg2ZDNlMTQ3NGM1NDYzNTk2NTEzNDFiZTliODE1N2JmYWRhNmNhIGxlZ2FjeS10cnVuaworMTM3OTIgMjM0MWJlNzRiNzU4MmY3NjM4YTc0MWRmZDI4NTRiYjcwYTMyZDM3YiBsZWdhY3ktdHJ1bmsKKzEzNzkzIDBhNzBhMmM1ZDllNjk5NzhjZWE0OTJlNjMwM2E5MDYwOWM1ZGMyNDEgbGVnYWN5LXRydW5rCisxMzc5NCBlYWVlYTllNDIzNjk4YTMyNzczODMzOTIzMzVjZjMwYTJjZjJhOTRkIGxlZ2FjeS10cnVuaworMTM3OTUgNjk2OGZkYmIxYTNmZWM5M2QzODcxNWI2NmIzN2RmODMxNGYwYTMzMyBsZWdhY3ktdHJ1bmsKKzEzNzk2IDgxMGMyNWQ1MDQxYzRhNTM0YjJmNTVjZDE3Y2U4MmRkZTBiZWQ0MDggbGVnYWN5LXRydW5rCisxMzc5NyA0NzE3MWYyZDdkNTg1ZDAwOGIyODJlODZhNzc3YWMyY2FmMjI2YjFjIGxlZ2FjeS10cnVuaworMTM3OTggMzFiZWNjNDMyNTIzOWUwZGY0OTQyMDQxOWM2NjFjNmRmMDYzZDlmMSBsZWdhY3ktdHJ1bmsKKzEzNzk5IDgzMzYxODhhM2MxMDA1MjA2NDUzOThiZGUxZWU1ZWZlMDVjZDk1NDcgbGVnYWN5LXRydW5rCisxMzgwMCBjMGI4NmE0NGExMjAzYTQ1NGYwOGYxYzhiNmI2ZmZhNWU5Y2Y0OTExIGxlZ2FjeS10cnVuaworMTM4MDEgMmIyNmU0OGE4NWE2YTI0ZTA1M2ViZWJhOGU2YjdkZWIxZmU4MGQyYSBsZWdhY3ktdHJ1bmsKKzEzODAyIDNmZThkMTMzMjhjODEzMjkzNDcyNTUxNWRhODVlNGZlNzI5OGFkYTIgbGVnYWN5LXRydW5rCisxMzgwMyAyZTA4NzUzOWRhNjA0ZGNiNTk1ZjNiMzQ0Nzg3NDJhMDc3YmMzYmY0IGxlZ2FjeS10cnVuaworMTM4MDQgMmNjNmExMmNkNDExOGUyZGZiNzc0Y2E2MDMyZTQ4NGE0ZDVhYjhjMSBsZWdhY3ktdHJ1bmsKKzEzODA1IDkyZjdhZjQyZWQ5MWM1YWE3NWFlMDM0ODYxNzI1NzgyYTAwYWFlYTQgbGVnYWN5LXRydW5rCisxMzgwNiAyMDFhYzA2OWIwZDBiOGE4ODNmZGI0Nzg1YWJmZTY0Njk2ODEyZDllIGxlZ2FjeS10cnVuaworMTM4MDcgZmZjZGIwNzExNjk1ODRmZjk3ZjExOThlNGRhNTFmMDMzZTQxOTIwNSBsZWdhY3ktdHJ1bmsKKzEzODA4IGVmYTc1YzY5ODU3ZDJiMjgyZmM4ZjhhNDY4NDcxNTc0NjljMzViZDcgbGVnYWN5LXRydW5rCisxMzgwOSA2NzJkYmJjMzliYTA4MzRiOTZjOTFjM2EyYjc2NjYyMDIyYmJlOTQ1IGxlZ2FjeS10cnVuaworMTM4MTAgNDI4ODY1ZDAwZWVlZjU1MmUxMmMwZTNlMTAzYjZkYjUwYTljNTRjMSBsZWdhY3ktdHJ1bmsKKzEzODExIDJlMjBhMGZjMmM1ZjNiMmI5ODk5NDhlMmI5OWM3NWI3ZTlmNGZkODUgbGVnYWN5LXRydW5rCisxMzgxMiAzYjk4MWVhY2FkN2I0MzkzNGU5Njc2YTlhOTJhZmUyOGUzNjNmMWZhIGxlZ2FjeS10cnVuaworMTM4MTMgNzBjY2NjYTZiZGYwNjFlMzlmYzM0NWM0NWJhZDU2ODk2MTlmYjk2NyBsZWdhY3ktdHJ1bmsKKzEzODE0IGE0OTlkMjBhMzVjYTJjZWFkODc2ZDJhMDllYjFmZmQxY2FhYjM5MzcgbGVnYWN5LXRydW5rCisxMzgxNSBjYWU0YjA5MjczYjMwYzc4NmQ1YmQzMTQwODg3NWEzZjA3OTIzMDBhIGxlZ2FjeS10cnVuaworMTM4MTYgYWRmNmQyMWNjZDdmMWFhNDRkOGM2Yzk5OWU5M2Q2ZDAxYWI0MjZhMiBsZWdhY3ktdHJ1bmsKKzEzODE3IGNkZDkyOGQyMjkzYzI4MmVmMGI5ZmNmYjIwNTVkNWZkMDQ0NjMxZTkgbGVnYWN5LXRydW5rCisxMzgxOCBkNDExMmQ0YzViYjE4M2U2NGFiNzdkZmUxMGM5NzliY2QyY2UzMWIyIGxlZ2FjeS10cnVuaworMTM4MTkgOThlMzAzOTM5YjM5ZTIyZWFlMjdiNmYyMTZiZjVkOGNjNWI2NzkyOSBsZWdhY3ktdHJ1bmsKKzEzODIwIDIwMzUwZWNjYTZlNGIxMzI4MTY4NjI1ZGFiOTIyYzUzODNkZjJlNDQgbGVnYWN5LXRydW5rCisxMzgyMSBmNjdjZTE1MjcxOWFhZmU5Y2ExY2ZiMjhlNzUxZThiOGNlNWVjYTI3IGxlZ2FjeS10cnVuaworMTM4MjIgODM3ZmU3NWQ2ZGMxOWUwMzYwMjFjODBhMjYxODcwMmEzODBmNDIxNiByZWxlYXNlMTUycDEtcGF0Y2hlcworMTM4MjMgNTE4OWVhNmU0YmY2ZWU0MjMxMzcxYmNkMjZkNzU3NGJkMmViYTExYyByZWxlYXNlMTUycDEtcGF0Y2hlcworMTM4MjQgYWRmODdkMTNhMGMxYWFmMTEzZTk0NTNmYzBiOGUyMjVmZjI5NDBlOSBsZWdhY3ktdHJ1bmsKKzEzODI1IGYyYzkyMGQwM2Y0NGNlMzFkMzk3ZDgwN2IwYWVhN2M3YWNkMWEwYmUgbGVnYWN5LXRydW5rCisxMzgyNiBjY2RmNWRjMmFjZjY1MjY0N2I4ODQ0NDU2YzNiODIzMTkwOWRkMzY5IGxlZ2FjeS10cnVuaworMTM4MjcgOTY0MTg2NzQ1ZWE2YTRkMTg1Njk4YjczOTFlNDIzMThjM2JmZTAyYiByZWxlYXNlMTUycDEtcGF0Y2hlcworMTM4MjggZDk3MGFmMGNlY2U5NjIwZDI0NzExYjZmYzI0NmQzYjVkZDA4MzJmOCBsZWdhY3ktdHJ1bmsKKzEzODI5IDMzMWVlNGFmZTliZWQ4NmJkZTkzMTAxZWQ1ZWQ1NWFlNzkzOTcwNTQgcmVsZWFzZTE1MnAxLXBhdGNoZXMKKzEzODMwIGI3YWQxODA5YmUwNDlmMDIzOGMxZjdiOGUyYjI0ZjY5YmNkNDBmZjUgbGVnYWN5LXRydW5rCisxMzgzMSA3OGZkYjZjMGMwYTE1MTIzMjgyNzQzNzM2MzA4OWNlZGRjMGZmMDRlIHJlbGVhc2UxNTJwMS1wYXRjaGVzCisxMzgzMiBhOWQyOGEwN2EzMjc2Zjg5OTM5ZjNiNmI0MWZkZjIwNmE2ZGY2YzUwIGxlZ2FjeS10cnVuaworMTM4MzMgZDM2OTZiZjA4ZWVlYTg2MWQ4MDU5OTNmN2Q1YzJkMWFlYWU1NTViZSBsZWdhY3ktdHJ1bmsKKzEzODM0IGM2YWEzMmZiM2NmOGZhZjE2MWQzNzU0ZmE0N2Q3NTIwNjkzODA1MjQgbGVnYWN5LXRydW5rCisxMzgzNSAwMDk0YmYxOGU2ODg4NWIwMWNlNWIyMjNhODIwYjI1Yzc5MGZmMGM2IGxlZ2FjeS10cnVuaworMTM4MzYgMjU2MDIzNmVjZWRiYWRhYmI3OTNhM2M1MmMzM2RlZDQxNGY2ZWZiOSBsZWdhY3ktdHJ1bmsKKzEzODM3IDQ4ZjJiMThiYWQ1ZDFmZmExM2Q2Yzg0Yzc5YmQzMmFiZDk4Yjg5OGQgbGVnYWN5LXRydW5rCisxMzgzOCA2ZDY0NmY3ZTFhMWM3ZWY0YjE1NmUxZWEyMGQxMWI2MTg4NWJiZGE2IGxlZ2FjeS10cnVuaworMTM4MzkgOGVjNmQyYzZjNTk4MWVmMjY1YTRmZDZkMGIwZTgzNjkzMjIzOGNkOSBsZWdhY3ktdHJ1bmsKKzEzODQwIDdmMTc1YzMyM2I4ZTQ2YThjNWRkZTkxNzBiZDQwZjY2OGQyNzM3ODkgbGVnYWN5LXRydW5rCisxMzg0MSA4MDI4OTA4YTk4ODk5MTIzNjkyYzY2NmQ3ZmQ2YWE5ZjZlNzliMGI0IGxlZ2FjeS10cnVuaworMTM4NDIgYWRiNWI2ZGRjMWU1ZWY1YzdmMDRkMGVhZDhhYjdlZTQ4MGU1NTMyNiBsZWdhY3ktdHJ1bmsKKzEzODQzIDQyNGIzMWFmNmQ1MTBlMTU1ZDgxNTE3NmY5ZmQ4OTg2ZDRlYzAyNjkgbGVnYWN5LXRydW5rCisxMzg0NCA0NGM4MjJhNGQ5NTAxODY1NjkzODljNzVmM2ZjY2ZiNzI1OWM0M2M3IGxlZ2FjeS10cnVuaworMTM4NDUgMTU4NDlmZWFjM2ZhMDFkYzYxZDA0NTJkN2Y1OTgxNzFkZWVlOTZiZSBsZWdhY3ktdHJ1bmsKKzEzODQ2IGQzYzRjMTNlMDEzOGMyNGNlZjRkMGM3MTFmMjA5MjZhZThkNjc0N2IgbGVnYWN5LXRydW5rCisxMzg0NyA3N2IzMzJkYzIwNjM2NDRlZjE0YTU0MjNhNGQwNGU4NTViYzJkZTEzIGxlZ2FjeS10cnVuaworMTM4NDggZTM0NGMxZmZjZGFmNTM2ZTMzMjg1ZGNiMTk0NmEzN2JjMTRiMjE5YiByZWxlYXNlMTUycDEtcGF0Y2hlcworMTM4NDkgNDIzMjAzYWFiZWZiNDhjY2Q2NmQ2OGE3Y2NkNWYxNTY0YmUwYTg0YSBsZWdhY3ktdHJ1bmsKKzEzODUwIDU4YjhkMjE2ZDcyMTRjZTNjMmIzZTY4ZDIyOGRiNTBkNWVlZmNlYmUgbGVnYWN5LXRydW5rCisxMzg1MSBlNmU0NWE2MGUxZTAyNzNhZjg4MGI3MzgwZGMxZmM3NTUxNDcwMjEzIGxlZ2FjeS10cnVuaworMTM4NTIgYjQ0MjQwYjI3M2NmYjUzM2RjZDM0NzIzZTZlNDExYzEyN2E0ZjIxMyBsZWdhY3ktdHJ1bmsKKzEzODUzIGIxYmI2ZDdhMzM1ZjRmNTI0NGNjYWFjZWE1ODY1YWQ0NmJiOGYxOGUgbGVnYWN5LXRydW5rCisxMzg1NCAxNTgxMzA3NmNiZWY2YWY1NzE4NzEyMDhjZGU1MjA0ZDdmYjVkMTM4IGxlZ2FjeS10cnVuaworMTM4NTUgZmRjYjg5ZDAwNjk1NGI4ZTkzOTYwMTkzMmViODg5MTA3OTQ1ZTRjOCBsZWdhY3ktdHJ1bmsKKzEzODU2IDAwZDU3N2U0NGQzNDFlODZiMjMwYWMyNzA3YzM3ZDEyZjhjZDVkNGQgbGVnYWN5LXRydW5rCisxMzg1NyBhNTk0ZDFlOGNkMWFhNWE4MjA2ZWNjMTBmYTdlNzhjMjgwZDQ4ZWEzIGxlZ2FjeS10cnVuaworMTM4NTggODNhOTg2MTgwZjQxZDY4N2UwN2E1OTRmYTg1YjFhZWUyNzRmOWZiYyBsZWdhY3ktdHJ1bmsKKzEzODU5IDU1NjY2NGM2MzlmYzI2NGVhM2VhNDQzY2FkZWU0MzkyMWRjMWY3MjcgbGVnYWN5LXRydW5rCisxMzg2MCAzYzQ0MDI4YjkxOWQ0YmVmNjdlZDQ5Y2Y2NWJkY2ZhNDQ5MTVkZTc4IGxlZ2FjeS10cnVuaworMTM4NjEgODk4YzMzZTIxNmJiMzYwN2IxN2VmNjExMWMxNTY4NDJlZWE5YzU3OCBsZWdhY3ktdHJ1bmsKKzEzODYyIGI0ZDJmNTQ2NWIzZjg5OGZkNjg1ZTRjNGVkZTY1MmVhN2JkYjgzNDEgbGVnYWN5LXRydW5rCisxMzg2MyAwNWY2OGQ3ZjkxYWM0MjBjNDQxMjdlZDE2ODVhYTk4YzY2YzdmMGQ3IGxlZ2FjeS10cnVuaworMTM4NjQgNTVhMWVmOWViZDRjZGVjNjllNWFhMWZmYzRjNmQ0ODk2MTI5MWFmNiByZWxlYXNlMTUycDEtcGF0Y2hlcworMTM4NjUgMGFlMjQ0MjBjOGE5ZjI2ZmIwMGNkN2NlNzE3MjM1ZmJkOTIxNDRiYyByZWxlYXNlMTUycDEtcGF0Y2hlcworMTM4NjYgYzFiNzI1YjFhMTQ0NjJjYjMxMzEwMTQxZGVkYTUxMTVjMGIwM2QxMyBsZWdhY3ktdHJ1bmsKKzEzODY3IGM3MDJhMTJkMzE4ZDY4NmMzNWQzNjI3NzhmZjEwYzdjY2YzZjc2NTQgbGVnYWN5LXRydW5rCisxMzg2OCBlZDFiNDk4MjJmNzA1NWUzODJmOTkzM2Y1YzNhNjIxNmZhMGU1ZWZiIGxlZ2FjeS10cnVuaworMTM4NjkgMDgyZjQyZDVlYWUzMGVjZDI1ZTNmZmE1ZDRhMWI0NTU2MTRhMTFlZCBsZWdhY3ktdHJ1bmsKKzEzODcwIGEyYjk2M2Y3YWM5OTA3MDUxM2M2NjJmY2Y1NWU2YzhkY2I3ZTMyMDggbGVnYWN5LXRydW5rCisxMzg3MSA1OTVjYjI5YTg4NjdlZTJhZTY2OWJlMWM4NDU1OTUxMWM1MWYxMjQxIGxlZ2FjeS10cnVuaworMTM4NzIgYWQ3NTdhZmY4ZDM3OTVjMTFlMDRkNzJiNTRlZmVkZjI2ZmVjNTBiNiBsZWdhY3ktdHJ1bmsKKzEzODczIDRmZGM5YzFlY2FmNmI3Y2NmZmFhNjdiOGIwOGY3MGRmN2QyMzFhNzQgbGVnYWN5LXRydW5rCisxMzg3NCBmYWQ1NWVlYzVkZmNkYTEzZjJiODkzNjg1MjVhYjk2YjZlNTVmNTgxIGxlZ2FjeS10cnVuaworMTM4NzUgZjllZjM2OGI4YzJkM2ZhZGU3Y2RlNThiOTIxNzAzNTQxOTU1MTQ3MSBsZWdhY3ktdHJ1bmsKKzEzODc2IDQ4NzYyMjI4OGY5YzI5OTQ1MDQyYTZlYmUzYmU3ZGNiNTY0ODJiNWQgbGVnYWN5LXRydW5rCisxMzg3NyAzZDE1NGJlODcxNjI5ZWM2YjZjYWE3ZjEyYzQyNGViNjdmMGU2MmNiIGxlZ2FjeS10cnVuaworMTM4NzggNzBhZGNjZDQ1MjNhNDkxZjJlZWYyOGIwM2YzMjU2ZGYzZTI4M2U0YiBsZWdhY3ktdHJ1bmsKKzEzODc5IDMzNDEwMDIxOGE0YjFkZDIwMTY3ZTViOGNhZTNiNDJmMTMxMDI5N2MgbGVnYWN5LXRydW5rCisxMzg4MCA0Mjk0MWUyZWI5ZDg2YTQ4ZjIzZGMyYWEzZDc3MzI3OTk3MWUyMjllIGxlZ2FjeS10cnVuaworMTM4ODEgNmY3NTA3ZWYyYjExNWE1M2JiOWNmNDZiOGYxYTQzOWVlODI4NjgzYSBsZWdhY3ktdHJ1bmsKKzEzODgyIDdhZTVjNDA1MTA0MWU1YTAzZTg3MjA1ZmQ2Yjc2MTZkY2QyYzQ3YzIgbGVnYWN5LXRydW5rCisxMzg4MyA4YjgxNTgwNWYxMGNiNzJiZDhlMGRkOTk1Y2QyNWUzMTFkMzJjYjMwIGxlZ2FjeS10cnVuaworMTM4ODQgZDgzZmExZGQ3Yjc5ODE5OTQ4M2FiN2I0NjFjMDU4YzA4NmMzNjA1YiBsZWdhY3ktdHJ1bmsKKzEzODg1IGNiYzQ2Mjg0YTVhY2I4NGNiNTNmYjIyMjA2YTkzNmEzYTI2OWUwMDMgbGVnYWN5LXRydW5rCisxMzg4NyA0YzZjOGVmZmNiNDJhMTJiZTI1YzhmYjc3MDVkMjg1MjE1NWZiN2Y5IGxlZ2FjeS10cnVuaworMTM4ODggNTNiMjk3NGVkM2QzNmY3MjQyNTc0ZjdkZjY3ODUwYWZmMjQzODgwZSBsZWdhY3ktdHJ1bmsKKzEzODg5IDEwNjY4ZThhMDk3NTZjMTRkZTc4YmQ4OWVjZjVlNzY5ZGNjMTY4OWMgbGVnYWN5LXRydW5rCisxMzg5MCA4MjZlZjhmMjg3ODJjZThkMjcyMTk1Njk2NzJjZWRlZWQ3NDBlZjM2IGxlZ2FjeS10cnVuaworMTM4OTEgY2ZjNjUxNTkzN2E2OTU0YmRiODEyYzVhYTMzNDJlZWEyMjVmZGM2ZiBsZWdhY3ktdHJ1bmsKKzEzODkyIGM1ZWRkODZlMjY5ODBkNGY5OWY0NTk4Y2MxMTg5MDE1ZDhjMzM0ZjYgbGVnYWN5LXRydW5rCisxMzg5MyA2NzhhOWE3OWM3ZTg1YjcyNjIyZTRkY2FhODU0M2NkZmI1MWUyZWNjIGxlZ2FjeS10cnVuaworMTM4OTQgMDNkMWI5OGQxNzhkY2ZlNTU1MGRkNWNhZDcwZmVhZDk2NGU5MjhiNCBsZWdhY3ktdHJ1bmsKKzEzODk1IDkxNWZhZGYyMjk0MTEzOWFjYjNjODFhNDY2NmIxNWI0MDg4NDgyOGUgbGVnYWN5LXRydW5rCisxMzg5NiAzNzFiOTc2MmQ2M2RlNDU1MTQzZDk1OTIyOGFiNDIzNzdmODI5MjdkIGxlZ2FjeS10cnVuaworMTM4OTcgNWQ1N2M2OGIyYjMyMTI3NGI3YzA5ZWI5MmVhNjExMmM0NWFhYTk5MiBsZWdhY3ktdHJ1bmsKKzEzODk4IDA0ZjAyNGQ4NTQxYzhkNTljNzQ5ZThlZjIyOWFkZmFmYzk4NGZjOTUgbGVnYWN5LXRydW5rCisxMzg5OSBlNTU1YmEwNGI5MjI3NmRjODg1MWEwZWUxZWY2NmI5NTY1NzVhZmQ2IGxlZ2FjeS10cnVuaworMTM5MDAgNWY0NmM3Nzg0OTcxNTBlMGFmNzAxZWQ5ZGUxNzBjOWE1YWI0YWJkZiBsZWdhY3ktdHJ1bmsKKzEzOTAxIGJlNjAzZmNiYTAwMWFhZmU3NDI4M2IyMzhhZmQ1Yzg3ZDJmMDkwZjMgbGVnYWN5LXRydW5rCisxMzkwMiBjYTliZjY5MzVjNTJhNjNlNTY5NDBjYmFlNWJiY2JmZjlmMWQzZTY2IGxlZ2FjeS10cnVuaworMTM5MDMgNGM3ZDYwNDNiNDNhMjg5NDQ0MzM2NDg0OWFjYTk3MTViZDU3ZWE2MyBsZWdhY3ktdHJ1bmsKKzEzOTA0IGRmZDJjN2QzNGQ0NDNjNjk5NGM2MDU1NDA3YmU4ODQzMTA4MTNiM2YgbGVnYWN5LXRydW5rCisxMzkwNSBkMzQ1OTk2ZmNiNjUyMWZiYzkzNGQ0MThiMDQzYmI0YzIzODI2OGRhIGxlZ2FjeS10cnVuaworMTM5MDYgMjVjMDIwMmUwMWE2MjYzODFmMWExMTA0ZTdhMTY3YjY1MDdiMTVhZSBsZWdhY3ktdHJ1bmsKKzEzOTA3IDhmZGFjMTY1NDRlMWM3YzY3OGQ5YjViZGVmNjliYTdkYzNmZjNkNjYgbGVnYWN5LXRydW5rCisxMzkwOCAwOWU4YWFlMTZlOTk4MDMyOTcxMTJkZDFmODc0NjA5MWMwNWQ0ZmFhIGxlZ2FjeS10cnVuaworMTM5MDkgMjNmMjc4NjYwY2E5YTkyNTNkNDM5MmM4MWVmNDhkODE2MTIyNjlkMyBsZWdhY3ktdHJ1bmsKKzEzOTEwIDhiNjNhNmY3YTUyM2M0ZTE1ZTVmYTMxNzg2MTViZDY0MjNhOGJhYjUgbGVnYWN5LXRydW5rCisxMzkxMSBiOWJiZTg4ZDk1NTQ3N2EzZjQwYjRhOGNmNzdmNTQ1ZjFlZThjOWE1IGxlZ2FjeS10cnVuaworMTM5MTIgMjljZTk1NmZhN2I3NWU3YWUxMzYyMTE0ZWE0ZDA3NTg2MTcxYjkzNSBsZWdhY3ktdHJ1bmsKKzEzOTEzIDQxOTkwYmNlMDIzYTgxMDM4NmM2ZTk2NzlkMDhiMTAyMGQyMDUyZTIgbGVnYWN5LXRydW5rCisxMzkxNCA4NjE4NDE1ZTdhNjZjNzFiYWQyOWY0MmY4MWUyMTc5NDhiOTAwYThmIGxlZ2FjeS10cnVuaworMTM5MTUgZDkxOWNmOWZkZDg5ZTcyYjExYzRlZjkzNGEwYjBlMTRlN2U5ZmIwNSBsZWdhY3ktdHJ1bmsKKzEzOTE2IDdlMDVhN2QwYjUxMWQ1ZGYwNThjNTIwMzJmYmVjNDkwYzgzZTdjMjkgbGVnYWN5LXRydW5rCisxMzkxNyA2NjIxNmYzMjQwM2QxYTkxYjQ2MjYwNzdjMzY1NmMwNzkzM2UxYmI3IGxlZ2FjeS10cnVuaworMTM5MTggMDQwYjA1ODE2YjE3Zjk4MTEwOTA4ZWFmMjcwN2VjNWI2ZDg3MWE3OCBsZWdhY3ktdHJ1bmsKKzEzOTE5IGExMGRiNWI2ODQzZjI5MGQyYmRjYThjNzA2OTVhMDU4MjVjMzFkY2YgbGVnYWN5LXRydW5rCisxMzkyMCAzMjI5YjEzODEyMWUyYTRjYWJmNDMzN2Y2NGZmNTU1M2M5YjA1M2FiIGxlZ2FjeS10cnVuaworMTM5MjEgZGM5ZjFmOTY0NjkwYmE0MDU4YzE2MzUxMjBhNmM5Y2MzZTBkYWE2MiBsZWdhY3ktdHJ1bmsKKzEzOTIyIDNmYWExMjE4OTUwZWVjZTMzZWEyZGVjOGIyNjZkNDAxYTc2N2VhYWQgbGVnYWN5LXRydW5rCisxMzkyMyAzZTNjNzFmNGQyZGVkMWU0ZjFmZWJhZWI5MDY0MzhjMDM5OWNhNDYxIGxlZ2FjeS10cnVuaworMTM5MjQgNGFkMTRlNGRjN2U1MTYwMGMwOWU5NDVjZjY1Mzg2MGI0Yjc1ZTVkMyBsZWdhY3ktdHJ1bmsKKzEzOTI1IDFlZjE4MDczNzdiZmE5ZWM4YWQzZDY3YjFjZWU1MWM4NWE0ZWE1ZTIgbGVnYWN5LXRydW5rCisxMzkyNiAzMmMwNTNjNzljY2IzYzJjZTAwNzQ4MDZlYWFiNTFjNDhjNjBlOTZlIHJlbGVhc2UxNTJwMS1wYXRjaGVzCisxMzkyNyBhY2E3YjVlYWY1ZTgyZjhhMGYwMGI0YzlmOWY0MmMzOTgwMDJhYjA5IGxlZ2FjeS10cnVuaworMTM5MjggYzI0YzI0MTg1MzUxNmZmMmJmMzlkOGYzMzBlZjQ2MDA5MjgwOGEyMiByZWxlYXNlMTUycDEtcGF0Y2hlcworMTM5MjkgZGFmODhlOGVkYmMwZTUzZGFiZDQyYmFiNDI3ZGFhZWY5NzYxZDRjYSBsZWdhY3ktdHJ1bmsKKzEzOTMwIGMyMDhjNGU5ZTJhYWNmOGZkMjgyNTQ2YzhhODliMjcxYzZlMDk1MTMgbGVnYWN5LXRydW5rCisxMzkzMSAxNDY2MjgwZTZiYjBhM2I0MWQzNDBkZDVkMWM1ZmIwNzRkNWIzYTY5IGxlZ2FjeS10cnVuaworMTM5MzIgYzdlNzIzY2Q2MzQ5N2NiOTM4Mzk0MmJhYTQwMjVkMGFmMjY2NTFiNSByZWxlYXNlMTUycDEtcGF0Y2hlcworMTM5MzMgMDE5Y2QyMWM4YzlmY2I2NTg0M2M3YTM2NzI3OWY1ZWM1ZDdlOWM1MSBsZWdhY3ktdHJ1bmsKKzEzOTM0IDYxYTBmMDIxNWE5NzZiY2VkZGM0NTEwOGZkZTUyNjM2NDI1MjZjM2QgbGVnYWN5LXRydW5rCisxMzkzNSA4OTUxMDJlZWE0ODUxYTc3OGMwNWFhZWVjZmVjNDU2MmU3NzQ4MTMzIGxlZ2FjeS10cnVuaworMTM5MzYgNmViZjY5MzhjODg3MjAxNzYyMTg4YjUzZjI4NzQ0ZmY4MjZkM2NjOCBsZWdhY3ktdHJ1bmsKKzEzOTM3IDU0ODZkY2YxM2Q3NzRjYWNkMzQ2MzFiZDI3YTgyNmJjMzY0NTA1YTggbGVnYWN5LXRydW5rCisxMzkzOCBhMTRkOTYxNGRhMDA3ZTFhOTMwNmI0MDk1Mjg2MjQ1OTIyZWQ0MDA4IGxlZ2FjeS10cnVuaworMTM5MzkgMGIyZTk5NGVmMTc1YTU5NzcwMzlmMmM0NDc3OTAxZGY1ZDM2NTAyZiBsZWdhY3ktdHJ1bmsKKzEzOTQwIDRjYTdiN2I4YTg0OTE2ZjU0MjBhNzY1NWE5YmUwZmQzZGM4ZGQzMzcgbGVnYWN5LXRydW5rCisxMzk0MSA4YzVlZTNjM2QzODkwMWJkZjRjNTM2MzFlZDg2YmViYjlkNTk1ZTk3IGxlZ2FjeS10cnVuaworMTM5NDIgZTBlY2YxYWVmZTA0ZTJkZWJlMWYwZDRjOTI2ODgyOGMzYTJlYmE3YSBsZWdhY3ktdHJ1bmsKKzEzOTQzIDY1MGU4OWQxNTU3ZjE0NjBmZjA5NzE3NGYxMDkzZGRhOWMwNjE3YmMgbGVnYWN5LXRydW5rCisxMzk0NCA4N2M1ZDBiM2RlNTllYmUwMTkzMDk1OWI1ZDk2MzY0OTFiMDZmYjdkIGxlZ2FjeS10cnVuaworMTM5NDUgNzkxY2Y3MTdjMGJlNGJmMWJiYTYxYmQ1ZjNhODc1N2MyNzk2YTcyNyBsZWdhY3ktdHJ1bmsKKzEzOTQ2IDZjNDUxNzFjMWExZmU3YmM4MjIzZjhiOWI1OGFhMDdlMmYzY2JiMTcgbGVnYWN5LXRydW5rCisxMzk0NyA0ODgyYjJlNTJjYjI0OWE4OTUwNjhmOWVkMTZiYTdhYWRkYzgzMWFkIGxlZ2FjeS10cnVuaworMTM5NDggOTVlOTY5OGZjOTA4YzJkM2VkNDRiOWZhNjA5ZTAzYjk1NWYyNzNlNSByZWxlYXNlMTUycDEtcGF0Y2hlcworMTM5NDkgYzE2MWQyYjg1MjA3ZmE3OGUwMGY5ZWIzYWY2YzJlYTI4Mjg2MzdjYiByZWxlYXNlMTUycDEtcGF0Y2hlcworMTM5NTAgYTVhNTEzZmVlNWIxZGIzYTYyMTQzZjVlZmUwOWUwYzRkMGZlNmM1OCBsZWdhY3ktdHJ1bmsKKzEzOTUxIDUzZjY5Yjg2NzZmM2MxZTU4ZjFlZTljODhiYWFmYTQwMGQ3ODZlNTUgbGVnYWN5LXRydW5rCisxMzk1MiBiZjM2OGYyZjdjMDA2ZDVlNzczZmUzNDM0MDkzNjMyZjRhMWM2MTRjIGxlZ2FjeS10cnVuaworMTM5NTMgNTI1YjVhOWFjZmQ1ZGRlNTFjOWFiOTViN2Q4YjgwMjRhNTcwZGVjYiBsZWdhY3ktdHJ1bmsKKzEzOTU0IGY0NmM4N2I2NjE1NDIwNGEyNjdkMDg3NmQ4MjJhNGE0ZDIxYWYzYTkgbGVnYWN5LXRydW5rCisxMzk1NiA1MDc1NDZhODdkY2ZkM2JiNTBmZjg4M2UzM2RlOTg5MTYxMWQ4NmMzIGxlZ2FjeS10cnVuaworMTM5NTcgYjU1MTFjMDE3MTMxZmU2MjlhMjRmMDQ4NmUwMDhmN2IxN2E1NDY3ZiBsZWdhY3ktdHJ1bmsKKzEzOTU4IDA2MTE1NjQ1MWQzNmFmODIxZjg5NjQ5Yzg1MDkxMmM4OWIyNTliNGEgbGVnYWN5LXRydW5rCisxMzk1OSAwNjA2NjgyYzdlYmMzNWM0MmYyZTExZTc1OGY4MTgzM2I4NTNmMWFlIGxlZ2FjeS10cnVuaworMTM5NjAgMjQxMzhlYzNmMzk2MjExZTQ2NGMwMDg5MjY2M2MwNDE5YWUzYTM2YyBsZWdhY3ktdHJ1bmsKKzEzOTYxIDNmYWIzNzExYzdkYzY4NzMzMDk0NjEwMmU5M2JmMmIyMDA2ZmVmNDUgbGVnYWN5LXRydW5rCisxMzk2MiBmYmMyYzQ4NThjY2U4YTUwMTdhMGUxMmVhZjMyZjU1OTRlNTcwZTJkIGxlZ2FjeS10cnVuaworMTM5NjMgYzgxNTVkMDVkOWNhNmZhZjhlMTEyYzI1ZjJlMjE0ZGVkZDk5ZjlmNSBsZWdhY3ktdHJ1bmsKKzEzOTY0IDI4ODc0MDc2NTA4OGQzNWQ2YTk0YzFmMTk3NTNkZjFkZDM4NGQ5ZWMgcmVsZWFzZTE1MnAxLXBhdGNoZXMKKzEzOTY1IDUzYjJmMjFhZDY3ZjA4MTZkY2I2NmI5YjJhMTZiNWZkNzhlMWNkNjQgcmVsZWFzZTE1MnAxLXBhdGNoZXMKKzEzOTY2IDJmOWI2NWIzOGFmMmRmMDc1MTUxMWYyMTgxZDFkMDE2YjFlNWUwM2IgcmVsZWFzZTE1MnAxLXBhdGNoZXMKKzEzOTY3IGM1ODIxYzNiZWZjYWNiY2E5NGMxZmQ1NDA1YjAzODNkZmNlMDZkZmEgcmVsZWFzZTE1MnAxLXBhdGNoZXMKKzEzOTY4IGM2ZDA5OWI0ZWI0MmE0NDE5NTYxYTEzYmI2MWRlYzcyYTQxYzQ1YzMgcmVsZWFzZTE1MnAxLXBhdGNoZXMKKzEzOTY5IDFlMGZiZTMzNzUxODU3M2NjZWYzOTVhNGJkMDZhMGJjOWRjMjA1OGYgcmVsZWFzZTE1MnAxLXBhdGNoZXMKKzEzOTcwIGE2MGZhNzRhYWVhZmQ5YTVhNDhkMmJhMTA2YzZhODAwMDcyMDYzNGUgbGVnYWN5LXRydW5rCisxMzk3MSBjYTc2OWQ5ODY1MTRiYjI5MDJmYjM2YTkxMTg3YTQ3YzgyZWMyMGQ5IGxlZ2FjeS10cnVuaworMTM5NzIgMWNlNDE5ODlhMDNkMGFlZWI0Mjg0ZTRlMDIxYmM0ZjQyOTVmYjIyNyBsZWdhY3ktdHJ1bmsKKzEzOTczIDQxZTAwNzFkYjUzYTgwMDg0MzUyNmZmZTUxMTg4M2UxYjU5ZWJlZWUgbGVnYWN5LXRydW5rCisxMzk3NCAxMGFkMzcwYmM1YmQxYWE2Y2NjMzcyZGEwNmFhNGFmNmFlOTExZjAwIGxlZ2FjeS10cnVuaworMTM5NzUgN2ExODhhYWJlZjExNWM3NDBjNWU0MmM2NDJmZGFhMzg5MWVmZDdkMCBsZWdhY3ktdHJ1bmsKKzEzOTc2IGE5ODllZTg3Mjk2MWMwNjg3MTM2ZDViOGViYjVkZTE4Y2YzYTMwY2IgbGVnYWN5LXRydW5rCisxMzk3NyA3ZmI4YjBmMTNkYTBhMDk0NzNhOWMwZjMzOTAwZDAxNTBlYzczZjRhIGxlZ2FjeS10cnVuaworMTM5NzggMzMzMGViOGRhMjIyNzRjZTBkZDExZTdlNjIxZWIxODc2YTA1Mzk4ZiBsZWdhY3ktdHJ1bmsKKzEzOTc5IGJjMDg1NjYwZGJjMTMzODNiYTdiNDQ0NDJlOWQ0ZmEwOWZlODk5YTMgbGVnYWN5LXRydW5rCisxMzk4MCBmMzA4NjU0ODQ0NmVjNWIwNzQyYTczYTNjM2I4ZTA3YmE2YjJhZmI5IGxlZ2FjeS10cnVuaworMTM5ODEgOTQwNGE1YjQxNmI1Zjc2OWQ3MWQ4NDNiZDZkMjk2OWQ4ODAyYWRlMCBsZWdhY3ktdHJ1bmsKKzEzOTgyIDk4OTk3YWE0OTE2NDIzNjQyMmJjM2U2MjRmMDFjYjNlN2U1NGUzYzQgbGVnYWN5LXRydW5rCisxMzk4MyA4NGRmZjVjYzcyMTYyMWMxM2U5NWQ5NmZiMTkyYmZhZjU1YjMwNGM5IGxlZ2FjeS10cnVuaworMTM5ODQgNGZiODkzNDQ4YTZiOTVhMTQwY2JkZjM1NjZmY2UyMzFmYzE0YzFkZSBsZWdhY3ktdHJ1bmsKKzEzOTg1IGUzZGM1ODRlOTYyMzBjNGMzNDU3ODg0N2VlMTNhN2Y2MDdiN2Y4YTcgbGVnYWN5LXRydW5rCisxMzk4NiBhMzE2Y2Y5ZjgxYTc2OGY5ZDM3MmRiZGUyYmRkODkyZjBkZWM3ZGM4IGxlZ2FjeS10cnVuaworMTM5ODcgOGVkYjgxZmEwYTVmMjZkODY1MGMzZmM1MjgzMTcwNDU4M2Y0N2NiYiBsZWdhY3ktdHJ1bmsKKzEzOTg4IDA5YzYzZDkxM2FlMDVhZjQxYjg5YmI1MjczZTZkNWIzOTdjM2RmNjIgbGVnYWN5LXRydW5rCisxMzk4OSAzZDZiOTdhNThlOWNhNDBjNGY4ZjNhODllZWY2M2Y4NWE0NDRiOWQ0IGxlZ2FjeS10cnVuaworMTM5OTAgMDY2NzAyNDFhN2IxZGEyMjdlZTZmMjVhOGJjODE2MmFiODI2YzFiZSBsZWdhY3ktdHJ1bmsKKzEzOTkxIGViODQ2YjRkMDM4NTY0ODhlNGExYzAxY2IzNGFhM2E0NTFmNDA5ZTkgbGVnYWN5LXRydW5rCisxMzk5MiAzMmE0ODBkMDgyM2NmYTFjNDNlYTA5MjdiZTI5MTg5YWFiMDYyNzMzIGxlZ2FjeS10cnVuaworMTM5OTMgY2M5MjJhOWE0OGMwMjBiMDVmMWVlNTdkNDdmOGIzNjVlM2NmZDdmYSByZWxlYXNlMTUycDEtcGF0Y2hlcworMTM5OTQgYmUyNWFhY2ExMWY0NTZmNGMxMTBkMzg3MDJkYjkwZmZiMDBjODRkOSBsZWdhY3ktdHJ1bmsKKzEzOTk1IDMxNmJlMDhjOWVjZGExZDlmZDJmN2UyOTNiMjE2ZWI1ODgwZTlhNjMgbGVnYWN5LXRydW5rCisxMzk5NiA1ZjE4ZTc4NTNkOTI0M2UyYzJmMzU1MjYyZWMxMzM3MzY3ZTRlMmZjIGxlZ2FjeS10cnVuaworMTM5OTcgMWRjMzkzNmU4NGRiMjgxNjFhNjA3MzhmZGM0Y2E1ZDhiMWVmNDFlMyBsZWdhY3ktdHJ1bmsKKzEzOTk4IDAxM2RkMzhhNTAzMWQwYjk4MzcwNDcxMGQ1YWRmNTIzMGY5MTY3ZDggbGVnYWN5LXRydW5rCisxMzk5OSAwYmMyYmExNzUyMzA1ODkxODQ2ZjBmZGZjNmFlNjY0NmM3OTQ4YjZjIGxlZ2FjeS10cnVuaworMTQwMDAgOTBmNDgzMGUyMTIyZjJkYWEwYzFmODE3MjU2YTE4MTY1NTBkNGYyZiBsZWdhY3ktdHJ1bmsKKzE0MDAxIGYwMjlkNDdkZDI5NjRhNmM0OTY5ODJkZmJlMzZhMGQ0OGZlZGZkM2EgcmVsZWFzZTE1MnAxLXBhdGNoZXMKKzE0MDAyIDViODAyNDM4ZDhmYzhkMjM2MDFmNTJkYTEyZTUzMjcxM2RlNWM0MjYgcmVsZWFzZTE1MnAxLXBhdGNoZXMKKzE0MDAzIDNhNTA2YWIxYzEzODlkMGJlN2Y5ZDc4NjhiYmY0ZmI3NTNjZjAzNmEgbGVnYWN5LXRydW5rCisxNDAwNCBhYWJmYTBkNzIxM2MzZWE4YzgxN2ExN2M4MzRkNmYyMjcyZjA5OTNlIGxlZ2FjeS10cnVuaworMTQwMDUgMjM5Y2E0Nzg4YmVjMGJmYWNiYzA3Yjc0YmZjZWU1ODkxYTI2M2ZhMSBsZWdhY3ktdHJ1bmsKKzE0MDA2IDhhNjg3MWU5NWQ4MGIwZWE1MTg0Y2Y3MTFmYjBkMmU2ZmRkNTI3MzIgcmVsZWFzZTE1MnAxLXBhdGNoZXMKKzE0MDA3IGNjMThiMjRkZWUzZGI3OWY5NzdhYjIyZWM1OGYzOTE4ZDVmYTIwZGMgcmVsZWFzZTE1MnAxLXBhdGNoZXMKKzE0MDA4IDJkNzliNDkxYTUyOWM1NDlhNjQ0ODUyZWU1YWFkYzMwODU1ODMwMzUgbGVnYWN5LXRydW5rCisxNDAwOSBlMGZlNGM3YTllZmYzM2RlYmYwMTE0Y2Q3YjNlNjcwNGU2NTdlM2JiIGxlZ2FjeS10cnVuaworMTQwMTAgMGEzYmI0MDNhNDMwNWExZDA5NTMyNzE0OTM4YjhhNjk0MmNlYjk5MCBsZWdhY3ktdHJ1bmsKKzE0MDExIDM4Yzc0NDRmNjMzYWI4MDJmYTUwNDcyZDgxYzE5YTMyMjIzZGYxNjEgbGVnYWN5LXRydW5rCisxNDAxMiBlMTJiZThmNTE4OGZkNzYyNTM1NDQ2YzczOTgwYzJiZGU0YTc0Mzk0IGxlZ2FjeS10cnVuaworMTQwMTMgYTA1YTA1NjAyOTAyOGE4MDU4M2Q2YWZlY2YyNDgzZWIzYmIyMTUyMSBsZWdhY3ktdHJ1bmsKKzE0MDE0IGU3NGVmMmI1MDU1NTZlZDNkZWU4YWUwMTE5MDQ5OWUzYjJmYmJjNDUgbGVnYWN5LXRydW5rCisxNDAxNSA3ZTQyOWU0Njk2OGEyNDYxYTFkM2U5ZDBiNGRiNDE2ODc4Zjk0NjE3IGxlZ2FjeS10cnVuaworMTQwMTYgNDI2OThmMzQ1YmQzMDQwYzQyNTY5ZjIyNDk4NGE4Y2Y1YTcwZTJhZiBsZWdhY3ktdHJ1bmsKKzE0MDE3IGVmMDNmMTZhZTVlYjI3NTM0ODNjMDZlMjRhZTc3OGY1NTI3OTQ2ZGIgbGVnYWN5LXRydW5rCisxNDAxOCA2YzVlMTJjNWE2MTY0ZDJkMWE4YjQ1MTQ2ZmNhNjdlMTE2YTY4NjY2IGxlZ2FjeS10cnVuaworMTQwMTkgMTJmNDYyZmQyNGY3NTNlZTI1MmFlNmEyN2ZhMDYxYzc1YTdmNTFkOCBsZWdhY3ktdHJ1bmsKKzE0MDIwIGQwZjRhNzliOTg1ZDRkZmRiYmVhNWM2MDE2MTI3Nzc1MjY3OWY0NzQgbGVnYWN5LXRydW5rCisxNDAyMSAyNDU5ZjExNzYxZjA5NTdkODhlOGNjMGUwYzdhZTU2OWU0MDBmMWVjIGxlZ2FjeS10cnVuaworMTQwMjIgOTVhOTgzM2IwMDBlOTdkZmUyYWRjMTIxZmZhMjgwZjM0N2MzMDg4NiBsZWdhY3ktdHJ1bmsKKzE0MDIzIDE3ZTEyMzA1OTczZWFiMGE3YjY1ZWMxNzkwYzU0ODllMGNlMjcwNDAgbGVnYWN5LXRydW5rCisxNDAyNCBhYWFlZTdiMjMzODAyMTVjODZiOTUwYzExZTRhNWEwNDQxYzVjYjlhIGxlZ2FjeS10cnVuaworMTQwMjUgNjk4MGQwNmUzNjA3NTI4M2Y4NTA0NDg4ODkxNTI2MmM5ZGE1MGJkMSByZWxlYXNlMTUycDEtcGF0Y2hlcworMTQwMjYgNjc1N2U4MGM3NDc4MzI2OWEyMmEwNTg3MjFhYzlmNmY5MGNmYmRhNCBsZWdhY3ktdHJ1bmsKKzE0MDI3IDA3N2ZmNmVmY2EzNWU4NDYxMjk1MWE3MTU0ZjYyNGE0YTVkNGI1OTkgcmVsZWFzZTE1MnAxLXBhdGNoZXMKKzE0MDI4IGExNzBiN2YwNGM2NDdhMWM0ZDE1ZmVjMDUxMzk4MGQ1MDIxM2UzYjAgcmVsZWFzZTE1MnAxLXBhdGNoZXMKKzE0MDI5IGFiMmE2ZjkxMGY2NTMxMjA5NjJmZWEyYTExMWVlYTFlODFmZGE3OTUgbGVnYWN5LXRydW5rCisxNDAzMCBhMjY3M2E4YmRjYTI4MjQyNWE5ZjQ3OTlkZGNkZDBlNDE1N2M4YjQxIHJlbGVhc2UxNTJwMS1wYXRjaGVzCisxNDAzMSAxNDhmZDQ3NWIzOTNkYzcyYmI4Mjg3NjFkYzY1MWZlZGRkZWY4N2JlIHJlbGVhc2UxNTJwMS1wYXRjaGVzCisxNDAzMiBiNGQwN2JlYWMwOWJlZWQ1NzNhZTNiMzU5YzEwMGM3OWRjYjI4M2FkIGxlZ2FjeS10cnVuaworMTQwMzMgMTg1NTEzMWE0ZGNkNDdhMDQwZmJhYzcyNTE3MmY4ZGQyOGRlNmIyNCBsZWdhY3ktdHJ1bmsKKzE0MDM0IGMwNTM2M2NmMWI3M2IwZjI1ZmM3MTY0MjYyNjBkOTk5YTI2ZTVjZDcgbGVnYWN5LXRydW5rCisxNDAzNSA5NmYzZWJhY2E2YWU1ODBmMTEyZTJhNzAxYmFlNDZjNjg3NWY3M2I1IGxlZ2FjeS10cnVuaworMTQwMzYgNGYyNzY4OTMzMzEzYWQ0MTE0YzYwNjY0M2Y2ZjJhYzQzZTNkNTk3YSBsZWdhY3ktdHJ1bmsKKzE0MDM3IDA5ZDM1MTg4MmM1MTBmOTZmOTZhYmRlZDA0MWFjNjA5YTU0MTkyNmQgbGVnYWN5LXRydW5rCisxNDAzOCBhZjExYWRjM2NiZDcxN2M2ZWZlYThmM2Q3NTcwZGJjNmQzMzAzYWY5IGxlZ2FjeS10cnVuaworMTQwMzkgOGI0NmVlMzI1ZGMwM2U2MjhjYWY3NzEyYmYzMDUwNmJkYTM4MmZiYyBsZWdhY3ktdHJ1bmsKKzE0MDQwIGM5Y2Q0YmJlZDhlMjgzZTI2NTcxMWQ5OGU2MWNiNzQyMzJkNjllYTAgbGVnYWN5LXRydW5rCisxNDA0MSBmMjFmMTk4ODZlZTM4ZjVmOGNjYWJhYThhMjUwNzgzNWI2NjQzMzYxIGxlZ2FjeS10cnVuaworMTQwNDIgNWM1YTNhNWNjNzlmY2RlNjJkMWM0OGZkMGFlZjNjNDVjZTcwMTg0YSBsZWdhY3ktdHJ1bmsKKzE0MDQzIGUyNDA4NzQ0ZGM3ZjM5ZTc2OWZiNjkyNjE2YmMzNzczOGFlZjYwYWQgbGVnYWN5LXRydW5rCisxNDA0NCBiYWI0NmFjYTJiZWNlNjYwMzRiODFlNGRkZGM0ZWQyMjY2N2FmMTY2IGxlZ2FjeS10cnVuaworMTQwNDUgYTk3ZTYyNWVkNWQwNGQwNWQxZTBmNmQ4Yzk2MzQ2OTVkYjI3OGZhMSBsZWdhY3ktdHJ1bmsKKzE0MDQ2IDdkYzkyNzIwNGQ2NTgyZTEyZTM5NzY5ZDJkZDUwOGU0MmE3ODEzYTAgbGVnYWN5LXRydW5rCisxNDA0NyAwNjgwZTY3YTBkNDk1NzM3ZDIxMzJjMDdkZGY5NGRiODdmNjg4ZWJkIGxlZ2FjeS10cnVuaworMTQwNDggNmI4Zjc0NmJiZDVhYTAyYTIzYjBjZGMzYmM1YTA1NjcwOWJlNmMzOCBsZWdhY3ktdHJ1bmsKKzE0MDQ5IDM0YjZhOTJmYTA4ODQyZmRjNzcwYWIyMGMwZmNmMTgzYjg3MGU1NGUgbGVnYWN5LXRydW5rCisxNDA1MCA5Y2RmM2ZhZGRhOTI3NmM2MmE1MTRiZDVhNTU4NzMzMzVkNDQ3M2ZkIGxlZ2FjeS10cnVuaworMTQwNTEgNTg1MTNlYmE1NjY0MzAwNjU0MzAxMDhiYjM0MmJkYjBmYzQyYWUxYiBsZWdhY3ktdHJ1bmsKKzE0MDUyIGJkZTA2ZDlkNGNiNGYxNjJmYTgxZjZlMTE3MzJhMDU4MTJkYzY2MDQgbGVnYWN5LXRydW5rCisxNDA1MyBiZGFlNjFhZWJhNTVlODczOGNlM2YzMzk2NTdmZDgxNjc3MmE2MWFkIGxlZ2FjeS10cnVuaworMTQwNTQgNzAzNGI3NWFhZDAzYjcxNDZmZjUxNWU2Njg3NWEyMzlmZWZmNjQxOSBsZWdhY3ktdHJ1bmsKKzE0MDU1IDNiMjBlNTBmMmQ4M2EzMTczZDNhMmZlZGY1ZGJlZTA4N2NkMzU3ZTggbGVnYWN5LXRydW5rCisxNDA1NiBkMDIzZDFjOWFjNDkxNDZmMTE4NzViYTk1NWRlZmIxOWY2ZGE2YWUxIGxlZ2FjeS10cnVuaworMTQwNTcgY2ViMDZkZTIzZmFhOTJlMWU1YTFkODFmMjI5MjZlYjg3NThmYWJkZiBsZWdhY3ktdHJ1bmsKKzE0MDU4IDYxMmI4MjMwYzZlN2ZjNjk3MDFmNDFjODk2MjU2NDBmMjBjMzZiOTcgcmVsZWFzZTE1MnAxLXBhdGNoZXMKKzE0MDU5IDAyYWUyZTU1NWVmOWQyNmVmZmZkNDc2NjcwNzgwYzJjMTFjNjhmMzcgcmVsZWFzZTE1MnAxLXBhdGNoZXMKKzE0MDYwIDU5MTE0YmUyMWE3NWY4OTdjZDRiZDg3YTlhOGE3MTQwN2ZiYWFkZDkgbGVnYWN5LXRydW5rCisxNDA2MSBkZmUzNzE5ZDc4ZTlkYzZlZWFjYmUzNjRjNDBkZTZiYWY3NDQ0ZGIxIGxlZ2FjeS10cnVuaworMTQwNjIgMzNmN2IxMmM3NzZjZmI2ZDk0ZjNkZmM1YTE5MmM4ZjAxOTQ0YzZlOSBsZWdhY3ktdHJ1bmsKKzE0MDYzIGNkZTg4MzdjODI1OWFkMDlkMjZmZmM0NmExZTU5NTU1N2Y1NmNmNDMgbGVnYWN5LXRydW5rCisxNDA2NCA5MjNiNDNkYjM4MTQ2MmIyZjc0M2JiZTg4YjA0YTBmZDVhN2ZkMTZmIGxlZ2FjeS10cnVuaworMTQwNjUgMTZiMTFhY2QzZThjM2Q1OGQzZjhjZDhjMWUzZjgxMmNhYjQ2NWIxZSByZWxlYXNlMTUycDEtcGF0Y2hlcworMTQwNjYgNzU2MzUxNzA3Y2FjYzViY2QwYjllMDFkZDBjOTcwZmY2NGY2MzY3YSBsZWdhY3ktdHJ1bmsKKzE0MDY3IGQ3MTk5YjlmOTA5MTJhYTM3NTQyMDhlNDA3ZTU4YjlmMjYwMWI4N2EgcmVsZWFzZTE1MnAxLXBhdGNoZXMKKzE0MDY4IDRjNTAzMGQ0MmM2ZmZlY2QzMjdlOTNiYTZiZTRlNTE5N2IyMWFkYTUgbGVnYWN5LXRydW5rCisxNDA2OSBiMDRiZjI3NzRkMDVlZGM3NGU1MTliMzViNzUwODkwNjM1OTk3ODJlIGxlZ2FjeS10cnVuaworMTQwNzAgN2VmZWNjNWEzOTRjNjlhN2ZkMzAwNjRkNDI3NmZhNWFlNTRjMmVhOSBsZWdhY3ktdHJ1bmsKKzE0MDcxIDdlNWY1MWRjMWI0YjlhMTQ5NTcwMzQ2MzQ5MzUxZDE2OTc4MjEyODMgbGVnYWN5LXRydW5rCisxNDA3MiA5NjM2YTUwMmY3OTE3ZDFkMGQyMmM3ZDMwNWVjOWI3NGM2ODNkZjU1IGxlZ2FjeS10cnVuaworMTQwNzMgMzNlOGU3NDA5YjEyMDIwMzFhYTQ5OTU4ZDAzNTBlZTUwMzFkYzI1ZCBsZWdhY3ktdHJ1bmsKKzE0MDc0IGNhODhlNTlhNmViY2EzYjhkMzFiMTcxN2U0MmI1ZWI2MWYyOGE4MmIgbGVnYWN5LXRydW5rCisxNDA3NSAzYjcxY2RmYTAyYzc0MmMyNjJkOGFjMTk2MmQ4NDExNjFhOThhN2JhIGxlZ2FjeS10cnVuaworMTQwNzYgYzdmMGFhNDUxMGUyNjM4ZTA0OTk5ZTE4ZTNlNGUwMzE1ODcyMDRjYiBsZWdhY3ktdHJ1bmsKKzE0MDc3IGRhNmYxNjkzY2Q2NTEzYzAzMjA3NzgzYWFjYmRmNDZmMzJhMjgwM2YgbGVnYWN5LXRydW5rCisxNDA3OCA5ZWFjZDI5ZTYwNjYxODA0MmRlNTI4NGJjMDgzZmZjZTMzNWU5ZTJhIGxlZ2FjeS10cnVuaworMTQwNzkgM2YyNzQ0NzhjNGRhYTk4OWQwNzY3NDgxODc5ZDFhNTliZTU4YWNlZiBsZWdhY3ktdHJ1bmsKKzE0MDgwIDUzZDljMTU2MGZlMTRmM2ZiOTQwNGE1NzljYzAxZWJlYjEyMzNhMmUgbGVnYWN5LXRydW5rCisxNDA4MSA2NjQzODZkNjk2N2NhZWZjY2Q3YWM5YzJhMjQ3OTM2NzQyYTMyMmMyIGxlZ2FjeS10cnVuaworMTQwODIgOWNhMzA0NTNkZDRlNGU0NzYxYmZlZGIyNTMzMGIxMzEyOWFkMzk3ZSBsZWdhY3ktdHJ1bmsKKzE0MDgzIGY5Zjc1YjIxMmRhNDE4OWNmYWYyNzUwYzk2NTVmYTc1Y2IwOWEyNmYgbGVnYWN5LXRydW5rCisxNDA4NCAwMWY3YTEzNmM2NzdmMTE5ODNjMjVlMmUzNzg3OWMzY2FjMWY0MWY4IGxlZ2FjeS10cnVuaworMTQwODUgMTc1ZDdmNjgwNGQ3YTNiNmM5M2FkYTQ2N2QyYjE2ZTA3YWI2NWRjMCBsZWdhY3ktdHJ1bmsKKzE0MDg2IDcxMjgxZmY4YzZhMmJhNTYwOTE2NDQwYWNjMjhiZjE5MWVmOTVjNTIgbGVnYWN5LXRydW5rCisxNDA4NyBjYzQxMmRmZDc5Zjc3YzdkYjA4OGEyYmJjMTRiNTk1NmU1ZWMyMWRiIGxlZ2FjeS10cnVuaworMTQwODggMTZmYzcxN2JlYTNjOWFlYjM4MDYzMDdmMzllZTY1MWI2YzZmNDRhNSBsZWdhY3ktdHJ1bmsKKzE0MDg5IGMwZWI2M2M4ZjFmZWJiOGNhOThmMzBiOTFhYzYxYWI5MWVhN2RlOWMgbGVnYWN5LXRydW5rCisxNDA5MCBiYTA3ZmZmNzI1MTFiMmM5NDgxYzIwZTdmNjdiZTY3MDkxNjU1NmFkIGxlZ2FjeS10cnVuaworMTQwOTEgNGRiYjdjNjA5YWMxZjViNWQwMTM3MzdlYWM5YTgyNmQ1N2VlODIzOSByZWxlYXNlMTUycDEtcGF0Y2hlcworMTQwOTIgY2JmNThjZDBiYjU3NDI5MjkyOTI2NjRiMWM5Mjc2ZWEzMGFkYzk4ZiBsZWdhY3ktdHJ1bmsKKzE0MDkzIDgyZmIwMmRlNTQyMTEzOTM3YzQzZWQ3YmRjM2IwNjBjNDlmOGQ3MjMgcmVsZWFzZTE1MnAxLXBhdGNoZXMKKzE0MDk0IDVhMmYxM2E3YmQ0NWYwNzkzMTg1MTMwMjEyY2RkOWFhYzFiZTcwYTEgcmVsZWFzZTE1MnAxLXBhdGNoZXMKKzE0MDk1IDgwYWMwNzY4MWFiZWIxMjNiZTE4YWRhMTM2M2FhNDkxOWZmOTRjZGUgcmVsZWFzZTE1MnAxLXBhdGNoZXMKKzE0MDk2IDkwNjZmNjI3ZDM2MmYxMTkzNTQwZTQ1MDQ0MTZjZjQxMjYzMGJlYzYgcmVsZWFzZTE1MnAxLXBhdGNoZXMKKzE0MDk3IGI1YmJjY2I3NWYyZGQ5MzVkNmVkNWJiZTA0YzIyOTRjYzY5ZDg5NmYgbGVnYWN5LXRydW5rCisxNDA5OCBhNDZjOWNiNDIxMjNlOWU5Yzc1MGQxZjVjZTVjN2U1OTM2M2NlMzQyIGxlZ2FjeS10cnVuaworMTQwOTkgYjEyYTExYWUxMjNjZjg1YjA5ZDlmMjQzM2JiMmQyOWYwOTgzZTMyNyBsZWdhY3ktdHJ1bmsKKzE0MTAwIDVjMTM1Y2VhYjIwYzU0NGRkMDBhNThmMTdlOGZkYjlmNTFkOGI2NTggbGVnYWN5LXRydW5rCisxNDEwMSA3NjFkMjVjZmMyNTk0MTJkNThmYmUwOTc1NWM0ODJkYjNlY2U3MzUyIHJlbGVhc2UxNTJwMS1wYXRjaGVzCisxNDEwMiBmODg2ZmRlNzY1YTA1NzAwNDQ5MDk5YmY3OTEzN2M2MWIyZmIwOTQzIHJlbGVhc2UxNTJwMS1wYXRjaGVzCisxNDEwMyAyOGI4NTg1MzU0ZGU1ODA4OTQzZThlMzkzMjIxZmM4NDYxMjc5ZGY1IGxlZ2FjeS10cnVuaworMTQxMDQgNTM1ZjQwZjlmODdkYzY3OTg4OTc3MjM0NzBkYWIzZGM5NGE2ZjVkYiBsZWdhY3ktdHJ1bmsKKzE0MTA1IGY4M2I3NDI3M2RhMjNhMDA4YzI0NzU1NzM3NDViMjZiOWJlZGYyYTAgbGVnYWN5LXRydW5rCisxNDEwNiA4MDU2OWQ3MjUzMjkxYTAwZTEyYTUzMDUwNjBiYjAwY2EyNTE3MjQ2IGxlZ2FjeS10cnVuaworMTQxMDcgOGNmY2QyNzNmYTVjYTJiNjQ0ZWZmN2I3ZGUxMDk1NWQ4ZDMxNWRiOCBsZWdhY3ktdHJ1bmsKKzE0MTA4IDI5NTFlMmQyNzg1MjJlZDQwMzdjYjg1MjBmZDU0ZWFjZGY4YTYxZjkgbGVnYWN5LXRydW5rCisxNDEwOSBhODNkMmExY2UxOTdhMzlhNzIyZWU4MmNmYmMzNGEyNTFhOWM1MzViIGxlZ2FjeS10cnVuaworMTQxMTAgNjgzNjRiZjAwMmYxMzg5MGIyYThkNTQ1OTRiMWFkMTY1YTgyNmM3YiBsZWdhY3ktdHJ1bmsKKzE0MTExIGJiZDNhOGFkN2NiNzY2NzI5YTZjMTY0YmQ3NGQ2YjM0Yjk0ZDk0YzggbGVnYWN5LXRydW5rCisxNDExMiBiM2U1NWNlMGViZDc1ZjRiMzhhNDg5YzRiOWRiNDY3ZTYwY2YyMGE3IGxlZ2FjeS10cnVuaworMTQxMTMgYWZiOTg3YTg0NGRiYTIxNzgzNDFmNDYxMTRjODllNmIxMzk0ZmJkOCBsZWdhY3ktdHJ1bmsKKzE0MTE0IDI2MGQ0MGYyMDA3NzhmZWY4YzJiMGQ5M2M0Y2RkZmIxNzk4ZmZiYzQgbGVnYWN5LXRydW5rCisxNDExNSA0YzY5M2ViMzIzYzZmMzE3MzJlZjVlZDhjMzZiZWRkMDc0NjE0M2UyIGxlZ2FjeS10cnVuaworMTQxMTYgNTBmN2QzNDVmMTU3YTZlMDc1ZDE3ZDVlNDA4NGUwOWY4ZDlmNWIyYSBsZWdhY3ktdHJ1bmsKKzE0MTE3IGI2MDVjNDY2ZDFjMGU4ZmMxNjYzY2ZiMDY2ZjI1ZDI0MGNlOWVlZDcgbGVnYWN5LXRydW5rCisxNDExOCAxOGZjMDhmYzlmZDQ3OGUyZGM2MjE3ODg3M2UyNGVkZTFkODM0NmRlIGxlZ2FjeS10cnVuaworMTQxMTkgOGQ0Y2E3YmU3Mzc5OGM5NzAwMTk3NjA3YTg0ZjI3YTAxNTYzODFlNyBsZWdhY3ktdHJ1bmsKKzE0MTIwIDkwZmZjMDdmNWQxMGYwMWQ2ZjI0YTE1Mzc0YWVmOTRlODQwYmZmZWEgbGVnYWN5LXRydW5rCisxNDEyMSA3NTU1OTkwZThkYjlhNDEzYTI0NjJlZGQ5MjhjODdhMjc4Y2QxYTY4IGxlZ2FjeS10cnVuaworMTQxMjIgZjcwMWU5MTYzYzc2ZDEzNTI5OWU4MzRiY2FjOTNhZjJiYzBjY2Q0YiBsZWdhY3ktdHJ1bmsKKzE0MTIzIDIzNmQ4NDI4YzRjNTBkYmQxYjI4YWUwZTBlYThkYTE3NjE2NWY3MjggbGVnYWN5LXRydW5rCisxNDEyNCBjMDQyZTQxNDBmMWVlM2M4OWNhNGY2MWNjYjNmMTc2M2VlYzM4NjMzIGxlZ2FjeS10cnVuaworMTQxMjUgNzNlYzY2YWRkOTQ3OGRlY2NkZmM2NWI3ZTA4ZjU1MTQ1MmJkMjVjZiBsZWdhY3ktdHJ1bmsKKzE0MTI2IDgxOThjNTMxYmJjNDdkNTgxOTFiNGJjOTMwNzgyZjA4MzQ1NzViMjEgbGVnYWN5LXRydW5rCisxNDEyNyBlZWFjNTRjYmIxZGNlZDBlYzk3NjFkY2JkMDUzODcyNGFjMTY5MzczIGxlZ2FjeS10cnVuaworMTQxMjggODk0M2I3N2YyMTlhZjE3MjYwMTY5MTU2N2JlM2VhN2E5ODJmZTI3MCBsZWdhY3ktdHJ1bmsKKzE0MTI5IDM5ZDY2YTA2N2QwYmYzODYyMzEzY2NiOThlYTNhYTNlOWYwMWViN2QgbGVnYWN5LXRydW5rCisxNDEzMCBiZWY4NjY4NmI3NTJiN2FhMTgyMjE2MzhhZTVlYTk5NjA3NGViNTEwIGxlZ2FjeS10cnVuaworMTQxMzEgN2E0ZjYyNDljOTc4N2RjNmJhMjkxNjcyYjA5ZWEwNTI1MWZiNDFkMyBsZWdhY3ktdHJ1bmsKKzE0MTMyIGIxN2VmNTRjOTFjNDFmZTJiNDAzY2QyNzFjNTcwYzY1N2MwNzk0MjUgbGVnYWN5LXRydW5rCisxNDEzMyAxNTZiMWJmZWMzYjg5ZDdjMDYxMGVhN2FmNzJhMDM2ZDY5MTZmY2IwIGxlZ2FjeS10cnVuaworMTQxMzQgNDUyMGY2OTNiNzY1ZjY4MzI5M2ZhZWZlMmRjYjcwZTc5ZGMzN2MxMSBsZWdhY3ktdHJ1bmsKKzE0MTM1IDIyZjRjZjE2YjVhMzE2MThiMzMyZDg1MjhlNjc3MjcxZTc2MDJiNTQgbGVnYWN5LXRydW5rCisxNDEzNiAyY2I1NmU5OGNmNTIzYWM1ZThlMzM1NDQyYThjOWJjZmY1OTgxMmNkIGxlZ2FjeS10cnVuaworMTQxMzcgMWU3ZWZjMThhODlkYjQ1MTUwMmFlYzFmNGViZDQ3MmM2NmYxNDBhNyBsZWdhY3ktdHJ1bmsKKzE0MTM4IGM3MTE1NWNlMTIxNTlmYWYyYzBhZDE4MzJkOGYxMzAzMzNiODcxNTMgbGVnYWN5LXRydW5rCisxNDEzOSBjYTE1Y2NjMjZmMGMyZGI1OTJlYmY3ZjI0YjVhMDI2ZWJkZmRkOTM5IGxlZ2FjeS10cnVuaworMTQxNDAgOGVmZWI4NzEyMTViNDhmMWEzY2ZhZjIxNWFjMThmMWY2MWE5NTUxYiBsZWdhY3ktdHJ1bmsKKzE0MTQxIDA0YWZiODdkMTEwM2QxMmZjNjQ3YjBlYmIwNjdmOTNkZGQ5NDY3MjQgbGVnYWN5LXRydW5rCisxNDE0MiBlMjY2MGFmZGMzODFiOGM2NWYxOGVjMmNjYTRhNmRiODlkZDRmMGI4IGxlZ2FjeS10cnVuaworMTQxNDMgNTI1NWQwNTA0MGMyNTIyMjc1ZGQzMzU0ODIxMDdmMmVhZmUwZDM5NyBsZWdhY3ktdHJ1bmsKKzE0MTQ0IGQ0NzMxZTQzZmE2MDUzYTQyYzQzYTA5YjAwMTUzZjA3NDZjNzRiZTMgbGVnYWN5LXRydW5rCisxNDE0NSA2YWJjNTBiYjQ3MDc0ZDM4YmM4YWVjYmEzODQwMTI3MWNkODVkNTk4IGxlZ2FjeS10cnVuaworMTQxNDYgODg1ODIwZmE3ZTMxODc3OGFiNzZiZmZhYWVlNmE2NjFkNDg0ZDVmYiBsZWdhY3ktdHJ1bmsKKzE0MTQ3IDA3ZDJlYTcxYWNkYzY2MDA2MmRkZjk0Y2JjMGRmZDg3YTNkMWEyYmMgbGVnYWN5LXRydW5rCisxNDE0OCAyMmMwM2FiNGZiMTY1MjVkNTMzMmFmY2IzMjFmYTgwMGNjNzNjNTgzIHJlbGVhc2UxNTJwMS1wYXRjaGVzCisxNDE0OSA2YWRjM2M1ZmExODVhMTFhOWVjNDM2ZmE4NTExZjFiYjcwY2VlZDY4IGxlZ2FjeS10cnVuaworMTQxNTAgYzVhYmM4MWRkMWVlZDkwMjQ0OGQ1ZjAzNThhYmJiYmVkYmMzYTQ2NCBsZWdhY3ktdHJ1bmsKKzE0MTUxIGZkMGQzMWMzNDZiMmJiNDk4M2FiZDAzODY0NmIxYTZiNWExYWQ2MzggbGVnYWN5LXRydW5rCisxNDE1MiA1NWRmMzcwM2M5NTNiNjdlMDZkNTBjZTViM2Q0MjA4ZDY3MGIzZmNiIGxlZ2FjeS10cnVuaworMTQxNTMgZjU3ZmY0Mjg5ZmM2NGI2YjhkMjZkZTYxNDMxZjdlMGQ2N2Y3OWY0OCBsZWdhY3ktdHJ1bmsKKzE0MTU0IDU3YzE2ODVhY2IxNjczZWVmZTQwMmNhYmZmMDcyMTUxN2FiMzdmMWYgbGVnYWN5LXRydW5rCisxNDE1NSA0YzNlNTVjODI4ZDNiZTNhMmZjN2FjZWFhMDAyNmJlMGYzYTZiMjM5IGxlZ2FjeS10cnVuaworMTQxNTYgNDlkNmQzMDI3N2RhNzdjOWJkZjQ5ZGE0MmFiZGFiMDgyMWJjM2MwNCBsZWdhY3ktdHJ1bmsKKzE0MTU3IDY2YWEyMWY1MGVhMzUxMGNmZTBhYzI5YTVmOTM3MDU5ZTc4MTQxM2QgbGVnYWN5LXRydW5rCisxNDE1OSAzZmUyN2JiMmYxMTkzNDBhMDMxNGRlYmVkMDIyNWZjMmVkZDk2OWUzIHJlbGVhc2UxNTJwMS1wYXRjaGVzCisxNDE2MCAyNzNhNWU5YWE2MzNlMzAzZTJjNmI3ZTlmNTcwMTQxMjEzOTU0ZjhlIGxlZ2FjeS10cnVuaworMTQxNjEgODZhMTYzYTUzYjFjYWI3ZTg5NDg0ZjQyZWQzYjBhYTNiZTZjYjhhZCBsZWdhY3ktdHJ1bmsKKzE0MTYyIGYzNjExY2IzYTI2MTczNzQyMWYxOWU5MjdhZWE4ZTZlZjc2MzA0ZTYgbGVnYWN5LXRydW5rCisxNDE2MyAxNzc1OTAwZGIxMDg3NTRmNmY1MGJlZTM5YjM5OTY3NTY0Yjc0MjljIGxlZ2FjeS10cnVuaworMTQxNjQgNTdhYTI3N2Q3YTAwZGU3ZTMxZGVhOGJlMDgzMWM3YTc4NTU5ZmRkMSBsZWdhY3ktdHJ1bmsKKzE0MTY1IGM2MjA1YmM3MTBlZThiMmIxZDJkZDJmM2VkODU1NTg2NDgyMjUzYjUgbGVnYWN5LXRydW5rCisxNDE2NiAzZmZkZjA1ZjU2MzVkZjNiYzQ4ZmIwYjIwM2Y4ODNlOWFiMjE3MzQ4IGxlZ2FjeS10cnVuaworMTQxNjcgYWY1YWQ1ZWRiN2E1ZGExZjAxOGRlNzljYWFlZTliYzVkNTNlMGUzZCBsZWdhY3ktdHJ1bmsKKzE0MTY4IDRiZDRiZDNiNTk3YWJlNjVmOTY2YjdiYzk4YmE3OGU5ZWE4N2Y0MmYgbGVnYWN5LXRydW5rCisxNDE2OSA2NDhkOTdiZDNhYzZjMzc3NWM4ZDQxZGU4MGI0NWFiNjkxNmQzYjlmIGxlZ2FjeS10cnVuaworMTQxNzAgMTEzMWJmYTFhZDk5MzIzNjg5ZGY3YTIzYzJjN2RjZGMxNjE2YTY2ZCBsZWdhY3ktdHJ1bmsKKzE0MTcxIDFiMmUzZTJhMjQzNzkzZjYwZGEwMmRjZjk1YzhkNjAzOWY4ZDM4ZTUgbGVnYWN5LXRydW5rCisxNDE3MiBjYWIzZmY1NTFmNGJjNjI2NTRlMjhlMWFhNzY1ODg0N2E2ZTYwYTNkIGxlZ2FjeS10cnVuaworMTQxNzMgZjI0OTY1ZTc3Yjg1NTZiYWQ1ZGVmMGEwNGU4MTdhNjBlOTNkZTNiMSBsZWdhY3ktdHJ1bmsKKzE0MTc0IGUwZTAxMWU0MDczYzVhNWEyZGIxMzRmM2I1ZWRmMGEwZTkwNGIxODggbGVnYWN5LXRydW5rCisxNDE3NSAxNWU1YmQ4OTM5NWE3ZDUyMDdkMjM4MWY3MmJlMzE4YzJlNzNjYWY5IGxlZ2FjeS10cnVuaworMTQxNzYgMjM4YjQzOTg4MmU1MjNiOGQ1OTA2ZTliYTE2MDA5N2NkNzJkNmUxMiBsZWdhY3ktdHJ1bmsKKzE0MTc3IDAxMTcxYmU0NzY5ZDEzZTQzNzlmNWI3NDdlZmRlODdkM2NhOGZmZmIgcmVsZWFzZTE1MnAxLXBhdGNoZXMKKzE0MTc4IDc3MDYxOGQ5YTdmY2ZhMGQ3OGUyYWIzNzVmYmZmNTg5MzEyNGQwMzcgbGVnYWN5LXRydW5rCisxNDE3OSA3OGZlODdjZTBkZWQxMDYyMzcwMzYwOTk0ZDM3NzQ0ZDVlM2FkNWJlIGxlZ2FjeS10cnVuaworMTQxODAgMTQ1NjFlODM5NWJiOWRlZmU4NTNlMDY5M2YyMzgxMWMyMjA3OGRiOCBsZWdhY3ktdHJ1bmsKKzE0MTgxIDBiYWQ5ZDhiOTQ1ZjcyMjM5NGVmMGYxNzIyNzk2MDIzMDExMWQxOWIgbGVnYWN5LXRydW5rCisxNDE4MiA1NzM4YWQ3MzcxMTQ0NzM5YTJlZjNjM2E0ZjQyZDgyZDBiYTVjNGQzIGxlZ2FjeS10cnVuaworMTQxODMgMmFhYjQ3NDg0MDEyMjJlNzBiNmQ3ZTE1YjUwMzJlZTkwYzQ0NzVjZSBsZWdhY3ktdHJ1bmsKKzE0MTg0IDFjZmQ4MTc2OGU3MDM1ZDM5ZDMxNDc4MGIyN2EzODRmODUxMzdiZDIgbGVnYWN5LXRydW5rCisxNDE4NSBlY2Q2Njc5OGNmMGJkYmNkOTlmMzliY2RkNjU1MjBkYWM3YzZlYjU3IGxlZ2FjeS10cnVuaworMTQxODYgMTNkYWFkOGE2ZWVlMTA4Yzg0MTkzYzczMGQxYjc0YTQ4NmE5YjRlYyBsZWdhY3ktdHJ1bmsKKzE0MTg3IDY5MjE2YzExYTFiZDdjNjZmMjI0ZDkzNDQyNzg3MGY1ODJjMWM4OGUgbGVnYWN5LXRydW5rCisxNDE4OCA5ZWM3ZDk3ODgwMGQyNjY4ODNmZmU4ZmM0NTdhMjEyZDUwNzhkMjI2IGxlZ2FjeS10cnVuaworMTQxODkgYjM2MDQxMGQ2M2M2NzcxYjgxOGM3Y2M2YmRlN2ZjOTliNDRhYWY5MSBsZWdhY3ktdHJ1bmsKKzE0MTkwIDZkOGNiNjZjZDIzODU2NDVjMDU2N2EwNjhkZDY3YmYyNzY2MTQyNDMgbGVnYWN5LXRydW5rCisxNDE5MSAwODMxM2FjMTdjZjNkYWM2NjI1MjdkMTIzYWJiMjAxYzA0ZDMzOWJhIGxlZ2FjeS10cnVuaworMTQxOTIgNjc1Mjg0NDk3NDQzZTIyOTY5MTA4OWEwMjY0Y2EwYmMwOTE5N2Q2NiBsZWdhY3ktdHJ1bmsKKzE0MTkzIDIwYWYwMmE1N2E1ZjFlMzU4MTQ4OTdhNTQ0NTllMzY2ZTk2MjZiZmUgcmVsZWFzZTE1MnAxLXBhdGNoZXMKKzE0MTk0IDY4YzI1OWI2ZTZjZGY4Y2QzYTVmZWI3ZTJmMzNmYmJkMTIzNGY1YTMgbGVnYWN5LXRydW5rCisxNDE5NSA1OTAyNzJhYmU2OWM4NWJjM2ZmYzA1ZDJkYjg4MDY3ZTA3MjQxYjNhIGxlZ2FjeS10cnVuaworMTQxOTYgYmIxZjQzZjI1Y2UwOWE1M2I5YmFmZjNkMDU0YTllNDBiMzVmYjE5OSBsZWdhY3ktdHJ1bmsKKzE0MTk3IGE3MGRjNzNhMjhkZTA5MzI0NTBiNDRiOTJmZjY4ZTY0ZGM0YzlhMWMgbGVnYWN5LXRydW5rCisxNDE5OCAxMDdjZTI5YjA0YTQ1ZDg0ODM4MTUwMDU3NjU2MmE2OTQ5NTdkOTQ0IGxlZ2FjeS10cnVuaworMTQxOTkgNTI4NTU5YTBiMmYyNTIwZTk4NzFkOTA0NmNkODNkZjRhZWJiOTY2NyBsZWdhY3ktdHJ1bmsKKzE0MjAwIDkxMjQ1ZGM5NDBlYmFmMDIxZjQzNzhlNmViZWNkMzM4YzE5ZmZmODAgbGVnYWN5LXRydW5rCisxNDIwMSA4Y2Y3YjIzZmI5NTUxNmUwM2NiMTkwMmMyNjMwNWFjZTczMzEwYzI0IHJlbGVhc2UxNTJwMS1wYXRjaGVzCisxNDIwMiBjODdiODYxYzZlYzYwNjExYjczMDliY2UwMTIxNzhkYjBjYzY3MDlhIGxlZ2FjeS10cnVuaworMTQyMDMgMGVjODAzY2JkODcyMjVhZTVmMDNmNGU3ZmI4ZDdkNDYwNDZjOTc4ZCBsZWdhY3ktdHJ1bmsKKzE0MjA0IDY1ZGMwODJmNzAwNGExZDNmYTU4OGRhNjgwM2RmMjEzNjU4OGJhOGYgbGVnYWN5LXRydW5rCisxNDIwNSA2ZjIxMTljZDk5ZDI1NmFjNjdlNzgyMzgzNWY1NjcxOWQxNjY1MjljIGxlZ2FjeS10cnVuaworMTQyMDYgM2MyMTNlMzcyYjIyODlmNzg3YTNlNmIyOTQ0ZGE3MTQ3OGUwODE4YSBsZWdhY3ktdHJ1bmsKKzE0MjA3IDkyYzUzYjBiMmVlNWEwZDY5MGM1NTA4YzlkN2Q5Mjg0MjQyNTc3NWIgbGVnYWN5LXRydW5rCisxNDIwOCBjNmUxNDNkZmM1YTMzMmIwNTkwYjBiNWNjNGY4OGYxYWY1M2JlODVjIGxlZ2FjeS10cnVuaworMTQyMDkgZDRlYTEzNjE3MzFiNjM1NjBhODEwYzYwNTY5MGM1NWI4NjJkZGEyYyBsZWdhY3ktdHJ1bmsKKzE0MjEwIDQ3ZjkzYTk2OTM2NmFiYTZlNDAzOTljODRlYTBiNTEwNDg5ZDk3YjIgbGVnYWN5LXRydW5rCisxNDIxMSBkN2U5NmNkZTZiNDdiZGQzZmI1NjY1M2I3YjYzYWNjZTFjMjQ2YmM2IGxlZ2FjeS10cnVuaworMTQyMTIgYzM1ZWVmOGEyMTcxYTUyNWRmYzczZmYzZmEwNjAxMjc0ODU4MzMwNCByZWxlYXNlMTUycDEtcGF0Y2hlcworMTQyMTMgNGUzMDk1YzRhZWEwZTc3YmNkYmFhNjEyMjZjYzU4MGM1NDczYWFlZSByZWxlYXNlMTUycDEtcGF0Y2hlcworMTQyMTQgZGZlMmJmYzgwNTBjYjkyOTM4ZWQ2NGYzN2RkZWJhNGY5MGI0NGU3ZCBsZWdhY3ktdHJ1bmsKKzE0MjE1IGI4MjczZTVkZTM3NGJmYjA3NzEzM2Y3ZGZiYmVhZDQ5N2M3NjkwMDEgcmVsZWFzZTE1MnAxLXBhdGNoZXMKKzE0MjE2IGNmN2EwZjFiN2I0OGI2YzhlZjgwYTg2NGJlN2Y5NTkxNWIxOTNmZDMgbGVnYWN5LXRydW5rCisxNDIxNyA0Y2Y5MjVmY2I1NjE5ZTZiNjc2N2Y0Y2QxNmRmNTA0MmU3YmVkNjBiIGxlZ2FjeS10cnVuaworMTQyMTggZjRjYzYwM2RkNzk5MWIzMWM0MWJkZDMxZmY2Zjc1NmJjMTIxYTllZCBsZWdhY3ktdHJ1bmsKKzE0MjE5IDgxNzU4OTE1NmYyMTYxN2Y4N2RmYTJjMWU0MTNiM2E3NGIxYTM4YTggbGVnYWN5LXRydW5rCisxNDIyMCA3Nzg1NDZkY2JhMDUyYmEwZmJkNWRiYTQ1MWQxZDBmODZjNWI1NDE4IGxlZ2FjeS10cnVuaworMTQyMjEgMzMyMjk4ODAxMGI1ZTE3MmQ0ODMxNDVlNDJjY2ViMDA5NTVmNWZhMiBsZWdhY3ktdHJ1bmsKKzE0MjIyIGE3ZjI3ZjMwMzk5NWRiNTRlMjE0ZjhiYTc4NzU2ZTBiNjlmNjM4YjkgbGVnYWN5LXRydW5rCisxNDIyMyBhOTRjMjk2YTZmY2NjYzgxMTU2ZDdlYjAyZTIwNmIwYjljNjIwOGUyIGxlZ2FjeS10cnVuaworMTQyMjQgY2Y3ZmNiMGM1YmRlMmIxZjUzOTg2NWRkNTRmNTEyZTY4YmVjNWM1MCBsZWdhY3ktdHJ1bmsKKzE0MjI1IDFmYzhlNjY3M2I0OGVkMjYyM2MzZWNjMjE1MDBhNDUwN2FhYjdlZWQgcmVsZWFzZTE1MnAxLXBhdGNoZXMKKzE0MjI2IDg0ZmQzMWRkNGIxMjFiOWE3MjFlYWNlY2U2N2EwZWEyNGVkMjFmZWMgbGVnYWN5LXRydW5rCisxNDIyNyBhN2RmN2Q1MjNkMjkzNWJhNzYyNThhNzVmYjRkZWI5YzQyNzNjOWNmIGxlZ2FjeS10cnVuaworMTQyMjggYmNiMGQ2MzlhY2YyMWJkMjRkMWQ0ZWIzYTc0ZDUyMjZmMDg3MDEzNSBsZWdhY3ktdHJ1bmsKKzE0MjI5IDA2OWExZmQ0MGFiYmQ3NWQ2N2Y5MmFlOTIzOTgxM2Y5NTUyYmExZDEgcmVsZWFzZTE1MnAxLXBhdGNoZXMKKzE0MjMwIDg2ODkwYzA3M2MzYmZiY2FlYmEyM2RjMWJmODA5NTcxMGY4MmI0MjEgbGVnYWN5LXRydW5rCisxNDIzMSAxZGNmOWI3NTkzNzRmMjEzYWE3OWMyODAyZGYyMGY2Y2FkNWE1ZTU0IGxlZ2FjeS10cnVuaworMTQyMzIgNGEzMjQ3ZWRkYzQzODY5Y2YwMmYxNDRhNGEwNDE1YmViYzdmODVlNSBsZWdhY3ktdHJ1bmsKKzE0MjMzIDQ3MmExN2YyY2E5ZmNlMzE3MDJhZmQ1MDQ1ZTZhZGY3Y2RhMTM2ZTMgbGVnYWN5LXRydW5rCisxNDIzNCBjMGQ0ZWU5MzkxYjY4MjI2MTZkZjBkN2M0YmU0NGMzNDI4ZTUzOTI3IGxlZ2FjeS10cnVuaworMTQyMzUgZDA5MzRhODAzOGY2YTk2N2JhZDg5ZDRlNTQxYmY1MmE0ODQwMmZlMSBsZWdhY3ktdHJ1bmsKKzE0MjM2IDg3MDVlYTM5MGRiYTA1MmIwOTRhZTRhMTI3YmMyYWNiZWNlNDNkZWIgcmVsZWFzZTE1MnAxLXBhdGNoZXMKKzE0MjM3IGRlZDk2MzY3ZThjYTcyYmViMmQ0ODVhZGQ5ZTFhYmIzOWRhNDEwOWYgcmVsZWFzZTE1MnAxLXBhdGNoZXMKKzE0MjM4IGQzMzUyMDgyMGZhZmFjNGRhYTlkMTJlMWQ1NzRhYzM5ZDYzMDBmZjUgcmVsZWFzZTE1MnAxLXBhdGNoZXMKKzE0MjM5IGU4Mjc2NzMzZGE4ZmJlOGM4ZDBmNjE1YzE4NzNjZmE3ZTNhOTVhOWMgcmVsZWFzZTE1MnAxLXBhdGNoZXMKKzE0MjQwIDBiMDE5NGQ0MzUyZjMxMjRjOGRlMjViYTY2ODRiZjQ5ZTIyMWRmNDMgcmVsZWFzZTE1MnAxLXBhdGNoZXMKKzE0MjQxIDM4NTYwYTNhMzI0OTEyYzU2OTEzNDhlODU5NzcyN2MwZTgwN2MwYWYgbGVnYWN5LXRydW5rCisxNDI0MiA5OWEwMWNiM2RkYjVlZjVkMTViYzQxYzA3M2FlYmEwZjM3MTVkNjliIGxlZ2FjeS10cnVuaworMTQyNDMgZDg4OTk2ZTQ2Y2IyY2UwMTFmMGVmYmQwMTk3NTc2YTNmODEwMDg4ZCBsZWdhY3ktdHJ1bmsKKzE0MjQ0IDk5YzliMTI2NjkwZGZiMDUwMjM1ODQ3NmIwYTFkNmRjODI3YzYxNjUgbGVnYWN5LXRydW5rCisxNDI0NSA0YzNjYTZjMDViY2IzMjFmOGQ3ZmE5YjQwODJmM2U1MzZjNzZmMGRmIGxlZ2FjeS10cnVuaworMTQyNDYgMGFkMjMzMjQwMTZlNGVkMzEyZmI5N2Q0NjAzZTU2MGQzMWYzNzk5MyBsZWdhY3ktdHJ1bmsKKzE0MjQ3IGZkNWNlYWQ3MzNiNjgyODhkMDkzMTAwZDE1OGMxY2QzZTgyM2E3MjAgbGVnYWN5LXRydW5rCisxNDI0OCBkYjc1NmQzMWU3MjdhM2JiY2Q2ZTdjNWZhMjQyNDliZmEzOTE4ZTBkIGxlZ2FjeS10cnVuaworMTQyNDkgMDIzZWQyNjYzMDc0NjNjZDIwNWZmMWQ4MmRlZTlmMmIxMTJhY2M1YyBsZWdhY3ktdHJ1bmsKKzE0MjUwIDBkMjdlOGQ4ZjA0YzFhMjAyOTY0NGZmYTFlYzNkN2VmNTU2YjQ3OGUgcmVsZWFzZTE1MnAxLXBhdGNoZXMKKzE0MjUxIDY3NjQ2OWY3NWFlNjcyM2Q3MWI2NWM2Y2ExMTIwOGI2ODY0MzEwZDMgbGVnYWN5LXRydW5rCisxNDI1MiBlYTYxMDQ0Zjk4YWVkODYyZjJlOTg3MGQ2MGQzZjI2MGQ2Y2UyZTRkIGxlZ2FjeS10cnVuaworMTQyNTMgYWQ4NTk0MDg0MGNiYjViNTg4YjdjMjgyYWEzYzgzMGUyNGM4YWJlMCBsZWdhY3ktdHJ1bmsKKzE0MjU0IGI4OTZjMTJjMmVlYTVjYTM0OTcwNWQ4ZjdiMTZkNjM0ZGUyNWM5MDUgbGVnYWN5LXRydW5rCisxNDI1NSBjNDM0Zjk0MjdjOWIwM2M1MTljNDdhYWM4N2YwNTA3OWQ5NzE0ODhkIHJlbGVhc2UxNTJwMS1wYXRjaGVzCisxNDI1NiAyNGY4MTRkOWUzZmY1NDU0NWJlMjdmN2Q5NDgzMmQ3MzA1ODExZWNjIHJlbGVhc2UxNTJwMS1wYXRjaGVzCisxNDI1NyAwMDAxNzIyNWYwNzc5NTU1MTNjNzY4MmE1NzAxYWZlZTMyYTBhZDk5IGxlZ2FjeS10cnVuaworMTQyNTggMmFiNzRiMTkzMjg2ZDljOGRiYTYxZGE2ZjdmYTgzNjAxMWNiNGMyNiByZWxlYXNlMTUycDEtcGF0Y2hlcworMTQyNTkgNTI4ZWYzOGIzZDNhNzY3YTJhODQ1ZWQ3NGI4MDllMmJmOWRiNmIwNiBsZWdhY3ktdHJ1bmsKKzE0MjYwIDdmZGZhYWE2NTgyNzA5NjQzMTUyZjdmMzI4MjJiMjYwY2I2NjQ1NDMgbGVnYWN5LXRydW5rCisxNDI2MSBlOTk4YjM1MGE0YmIxZGExMmJiOGVjZWMxNjg5Y2RlZGVmZTc4YTYzIGxlZ2FjeS10cnVuaworMTQyNjIgODI4MzU1NGYxMzE5YTRkM2FkMGNiZDI0YzE0M2M2YmNkNmEzYTNmMCBsZWdhY3ktdHJ1bmsKKzE0MjYzIDc3MDljOTgzNTM4MjhjMmJiMjNiYWJkZWFkMjcwOGQzMWZlNzY4NmYgbGVnYWN5LXRydW5rCisxNDI2NCBiN2YyNjI4NzNiZTA0YmJlNGFmYzk4NGY2NjI2YjM1MWRkODhkZTAyIHJlbGVhc2UxNTJwMS1wYXRjaGVzCisxNDI2NSBhMjM4NmI5ZjQ3NGQ4YWIxYTU0N2ZkY2Q2MzcwYjk2ZGRhOWFjNmZjIGxlZ2FjeS10cnVuaworMTQyNjYgOTU1MTFmMzkzMTlhNGExZjc5YTQwMDlkMWFjZDU1ZGQxNTg4NmIzYiByZWxlYXNlMTUycDEtcGF0Y2hlcworMTQyNjcgYjgwMGUzNmFlZDRlYmRhYmVjY2RkZDI4NWUyMGZjZTExZDJjMjNiNyBsZWdhY3ktdHJ1bmsKKzE0MjY4IDQ0MmQ0Y2I0NDBjODgyMjg4NzgxMDYxMTE0ZWE1Y2FiOTQzN2JiMmMgbGVnYWN5LXRydW5rCisxNDI2OSBkZmY3YTAzZTdkMjRlZGEwOTE3YThmZTIyM2EyNWU2N2IxYjIxYjU1IGxlZ2FjeS10cnVuaworMTQyNzAgOGFmZDZmYjU4OGVlN2I5YzY1M2ZlODIyNTFmNjBiNGJhYWEzNjI1MyBsZWdhY3ktdHJ1bmsKKzE0MjcxIDVlNmU5ZTg5M2FjZGNlZmQ0M2FlYjUzOTZmZWIzMWZiMGQ5ZWU1NTQgbGVnYWN5LXRydW5rCisxNDI3MiBhMTI2ZmI1YzYyZGM3NDc4ODRmODI2OGE4ZjFmOWRmYjAyMzM2NDgyIGxlZ2FjeS10cnVuaworMTQyNzMgNDgzNzBjNjdkZDllNmM3ZmIxOTJkYTMyODBkYzYyZDUyNjVjOTIyZSBsZWdhY3ktdHJ1bmsKKzE0Mjc0IDQ4OTQ4M2I2NWIzYTNlYjFiYjk1MzM4NDM3NDNiZDQwOWE0ZjYxNjkgbGVnYWN5LXRydW5rCisxNDI3NSA2OWM5OTUxNjIyNzA2NDc0MWVmNWU3MGYzNmJjMjA2MzUxOTdjMjNhIGxlZ2FjeS10cnVuaworMTQyNzYgMDc1NmRmZWVjNGVlY2JkODM3N2VkNTE0M2M4ZDBiZTQzNGUxY2ExMiBsZWdhY3ktdHJ1bmsKKzE0Mjc3IDIxNmVmZGFkOWE0YjZmZjY1NDVlYjM3YWE1MGY4ZTE3Y2YzYmFmNWMgbGVnYWN5LXRydW5rCisxNDI3OCBmZjkxOTg1MzYyYzdjYzBkMjViY2ViMDJhNDE3ZWEzZWFjZGRlM2FjIHJlbGVhc2UxNTJwMS1wYXRjaGVzCisxNDI3OSBmOTRkNjYwMTY5MjFlOWQwZTA2ZTdhM2Y5Njc1YmIyZGUwMzkyMmUzIHJlbGVhc2UxNTJwMS1wYXRjaGVzCisxNDI4MCA5MTliMzdjNTJhODQyYTI2NWQ2NmZlYTY4MDdjM2FkZjhlODRiZWY2IHJlbGVhc2UxNTJwMS1wYXRjaGVzCisxNDI4MSBjYmY0NDEwMmQ0MmFmYzVkYjgyYjg2MWQ0ZDJkM2FlZjg4ODIzMTNlIGxlZ2FjeS10cnVuaworMTQyODIgNmQxZDVmM2NjYTVmYjYyYjk3OGE2OWI1YmJjMDExZjc5NGY3OGQ3MyBsZWdhY3ktdHJ1bmsKKzE0MjgzIDY3YzYyMzljN2JjN2FmYmZhYjUxNWQxYWIxYWRjODU0ZjZhZDg4Y2QgbGVnYWN5LXRydW5rCisxNDI4NCA0N2Y3NWExN2IxMDM3NGIyY2Q0Y2FjNjBkY2JjYTQwMGI2MWY1ZDdiIGxlZ2FjeS10cnVuaworMTQyODUgYTk0NzEzZDZkOWY2YTgzMDA4NDRjMjJhNGViYWFjYmVkNThkODRhZSBsZWdhY3ktdHJ1bmsKKzE0Mjg2IDVlZmI2MmFjZjI2ZWYzZDkzZjdlNjJlYjc3YjdiNGRlYjc2NTFmZDkgbGVnYWN5LXRydW5rCisxNDI4OCBiNWFlYzMzNzkwYzhlNTUyNWRlNDI4MTgyMGRjZjMzYjIxZDM0NzhhIERpc3R1dGlsc18wXzFfMy1icmFuY2gKKzE0Mjg5IDkzYmVkNjAzNTVlNGU5ZTU4NDg3NmJiZjIyNGUwZDhjYWE3ZGM0YTEgbGVnYWN5LXRydW5rCisxNDI5MCA4YjM0ODE4N2UzMDMzMjZjNDA0MDMzODFlYzhkMTE4Yzg1NzY3NjJhIHJlbGVhc2UxNTJwMS1wYXRjaGVzCisxNDI5MSBlZjFlNjNmNzc0NDU5OTBhYmQ0N2JiZDgzMDVhMjM2ZTgzZGJkYTUxIHJlbGVhc2UxNTJwMS1wYXRjaGVzCisxNDI5MiBmNjgwYWIxMDZlODYxZTA3ZTI2YjUxNTE1MmY0NjBhMzgyMGRmNTNjIHJlbGVhc2UxNTJwMS1wYXRjaGVzCisxNDI5MyA0N2Q3MGY0ZjYzNWYzMTBlOTFhZjRmM2QzMzE0Mzk2NjUwYmNiOTA2IGxlZ2FjeS10cnVuaworMTQyOTQgMWM0MzU0YmJhNDJiOWExOWJlZGRmMjA3YWI4OTY1Y2M2OWQzODBhZiBsZWdhY3ktdHJ1bmsKKzE0Mjk1IDA5ZGJiNDcwMzRlMGY1MmJmOTBkZjE5Zjk0Nzk3NmRiNzllMzJmNTYgbGVnYWN5LXRydW5rCisxNDI5NiA0YzE2ZjQyNWM3MTJjNDIzNzBmZmUzYjg3MTNhZTA0OGE5ZjBjMTY1IGxlZ2FjeS10cnVuaworMTQyOTcgZTM0OTkxMDIyNTcxNzUxMTJhMDFjYWVjMzEzYmZkYjQzYzNhMmY0MyBsZWdhY3ktdHJ1bmsKKzE0Mjk4IGY0ZjliNmI0NGU5ZTQ3YzczODgxNjIzYzUwMzg3MjRlM2VkOWU3MDUgcmVsZWFzZTE1MnAxLXBhdGNoZXMKKzE0Mjk5IDBkZDUyMGY0ZGNlOGRjMWRkZDQ2YjUwYzI4ZTM3YWY0OGZmYzg4OGUgbGVnYWN5LXRydW5rCisxNDMwMCA4Zjg4YjMxODQzYWJjNTI0NDlmMGY0Y2E3ZDgzM2IwMDRhODg1NDMxIGxlZ2FjeS10cnVuaworMTQzMDEgODkwYjExYWEyZWJjNzJmODY4NGUwYjgzMjljYjFiYjYzYzJjZDU0OSBsZWdhY3ktdHJ1bmsKKzE0MzAyIGRlNDRmNTExNzY4YWM2NjcwZGE1NGNmMWQ2ZmY3MDMzNTJkY2MzMjcgbGVnYWN5LXRydW5rCisxNDMwMyBiMGViNDIxZjhhZTliZWI3ZDhhMTc4YWUzZmMzMTVkNmM3YjYwYjg0IGxlZ2FjeS10cnVuaworMTQzMDQgNTg4MzcxM2UyZGEzYTYxZjEzOWE0Y2JlOGU4NTYyZTIzMWU0OTJkZSBsZWdhY3ktdHJ1bmsKKzE0MzA1IGRhY2FhMzRkZmNhNDZmOTQzYzBiOTk3ZmZmY2E4Yjc3YmM0NzExN2MgbGVnYWN5LXRydW5rCisxNDMwNiBkMzZkMzEyY2Y5MGJlZTg2MGRhZTc3YWIxMmU2ZDczZTBlNDk4ZmE3IGxlZ2FjeS10cnVuaworMTQzMDcgZmY3OWVlNDNiOGExZmE3NThlMGQ5OTRiYTIzZDE0ODk3ZGI4Y2I0YyBsZWdhY3ktdHJ1bmsKKzE0MzA4IDg2ZTdlNWVjYWY3OTYwYjE2MzEzODg5ZGQ4ZDY1MDJiZmNiYjI3MGIgcmVsZWFzZTE1MnAxLXBhdGNoZXMKKzE0MzA5IDQ5N2UwMTFlZjFhMzI1YzA3NWZlMmZmZjI3ODM1NDkwNTcwZWUzMjkgbGVnYWN5LXRydW5rCisxNDMxMCA3ZjI5MzM5ZWMzYTUwYTNhNTM0MjNhMjMzYjZhOGQxYTQyOTU2MjAxIGxlZ2FjeS10cnVuaworMTQzMTEgMzRmNTNjMzZiYTlhMWIxZDBjNTE3ZTUyODJjOGM2YzQxNDFjOTI1NyBsZWdhY3ktdHJ1bmsKKzE0MzEyIDcxNmZiNTk1NDhiZTQ5ZmMzOTY5YTRmYmRjNDgxMGI1NTdlMDNjMWMgbGVnYWN5LXRydW5rCisxNDMxMyBkMTBjMTA4ZDNmZDc2MjEyNTJmOTVkZGIxMzM2NGVlNmNjZWE2YzI5IGxlZ2FjeS10cnVuaworMTQzMTQgYjZmNTJjMWVmNmRhOGE4YWNiMGY3MjY2ZGQxY2Y0ZjY4YTFjZWUyNiBsZWdhY3ktdHJ1bmsKKzE0MzE1IDZmNDE0Njg0NjMzNzg3OGMwYmJmMTQ5ODJiMmMwYjQwMWQ1M2Q4N2UgbGVnYWN5LXRydW5rCisxNDMxNiA0YTIzY2M0OWUyYjA2NGQ5ZDI2ZjNhNDBjNDQ5N2E1M2UwOWRjOGIyIGxlZ2FjeS10cnVuaworMTQzMTcgZDkwMDBlZTk1OWU1MzdlOGQ5Mjg2MzRjMWYyMDcxOWRhN2RlNjI4NyByZWxlYXNlMTUycDEtcGF0Y2hlcworMTQzMTggNWQ2MjVhMzY1ZTc2NTdhMjkyODAzZjJjZGEyOWM5ZTg1NWFkYzJkNiBsZWdhY3ktdHJ1bmsKKzE0MzE5IDM4YzRkNjFkYjdlYTFmOTEwODRiMzUxNDQwNjU1NDQ5YTAxMzRmNTkgbGVnYWN5LXRydW5rCisxNDMyMCA2NTQ2ZWEwNmUxNTcwOTkyNTU3MWE0OTMwMmYxYWY3MDg0NWE3Yjg5IGxlZ2FjeS10cnVuaworMTQzMjEgOTI1MGU1ZDNhYTMxZmRkNGY5ZjZmY2ExOTFlMWNlYjYwNzIwOWJlMCBsZWdhY3ktdHJ1bmsKKzE0MzIyIGFiZmExY2IxZWQwNTJhNTQyZDJhODZhOWY5MTQxZTIxMDBjNWUzMzkgbGVnYWN5LXRydW5rCisxNDMyMyBiMzIyM2YwM2M5ZWE4OGRmOTVmNjY1ZWI4ZGEwYWZjYjhlMTdjYTAzIGxlZ2FjeS10cnVuaworMTQzMjQgNjI3YjRkYmExMTkyZTI1YjA5OGIwM2MxZjk0YjRiYzFjNjVlY2M4ZCBsZWdhY3ktdHJ1bmsKKzE0MzI1IGU0MjU1NTZlNjk4ZWJmYTMzNmE5ZjY4ZDQ1YzEwYTE1MWQ4ZDFkMWYgbGVnYWN5LXRydW5rCisxNDMyNiBlOTE2OWIxOWU5ZTVjNDQ3YzY1YWQ5ZWViNTIwZjQ3MzE1YzYzZjdlIGxlZ2FjeS10cnVuaworMTQzMjcgMTE2M2E3YTFjYzY3OWI4MjBhMDIxYmE4OTY2YmY1ZmI4N2E2MjdkNiBsZWdhY3ktdHJ1bmsKKzE0MzI4IDgzOWY4Zjg2Y2NhYTNhYTFlZTMxZDk0MTliZDkxNzBmYjQxOWE4ZGQgbGVnYWN5LXRydW5rCisxNDMyOSBmZGM5ZWViODllMGIzMGU2NjgxYTRhMjRlNjBlMzU0MThkMTIyZjdhIGxlZ2FjeS10cnVuaworMTQzMzAgZWIzODFmZjE3YTMxOThjMjMyNGM2NDRmMzE2NDI2MGE2ZWViYTdlMSBsZWdhY3ktdHJ1bmsKKzE0MzMxIDQyMjMzN2MzMjI5YWRlYTFmNzc2MWEwM2FiZmUzNWViNmM0Y2Q3Y2EgbGVnYWN5LXRydW5rCisxNDMzMiA2NzZlNjQ3YjFiZTZiOTQzYzk4NWVmNTYyYjlhMTg2MDc0MjE3NTYyIGxlZ2FjeS10cnVuaworMTQzMzMgNzFkMDM4ZGIwZGQyM2MyZjEyMDQ1NDJlM2IwZjAxYTRkNTAwNDA1NSBsZWdhY3ktdHJ1bmsKKzE0MzM0IGI3YWViYzg0Y2JjMTY0YTVlMDBjOWRlYzU3ZjhhZWZlNzNiOTliOGQgbGVnYWN5LXRydW5rCisxNDMzNSBhNTMyOTMyYWM0MDgzODdkMTk0YmE1N2JhMjdjZjJlMWQ5NWQyOGMxIGxlZ2FjeS10cnVuaworMTQzMzYgMWU5NTJkOTMzYWJiZWY1ZDNkOWJlMjYyM2U5ZDRiMDI1OWQxMDZmNyBsZWdhY3ktdHJ1bmsKKzE0MzM3IDk4NTcyMzQ5OGIxYmE2NDJjYzI2OTVlNjA5NzFlOGI5YmY4ZTZkMjkgbGVnYWN5LXRydW5rCisxNDMzOCA2MDI1YjA3YzVjMjk2NmU1NmMzNzBjOTAyOGIwNTk0YWVkM2Q5YjgzIGxlZ2FjeS10cnVuaworMTQzMzkgMGI0NmQyNTBlMTk5Y2ZhNmU4YTcxYjMwODJjYmM5MmNkZGJmMDZmYyBsZWdhY3ktdHJ1bmsKKzE0MzQwIDcyZWJmOTFkYWEwNWQ1YTczMGZhMzczOTFiNWFmZjBjNTM3YjZkOWEgbGVnYWN5LXRydW5rCisxNDM0MSBjOTc2ZDY5M2RkZWIzNjQwNWNkOTcxODAzNGFmZjllNmVmYTYxYzE1IGxlZ2FjeS10cnVuaworMTQzNDIgNzhmMDA5ODgxMmI3NGIyNTdiMjVjNTQxYjAyZTA0MDU1MzlkOTcwMiBsZWdhY3ktdHJ1bmsKKzE0MzQzIDZhOTlmZjA2OTQ1N2Q3MThkNDE4OTEwMGFlNWVhYzM3ZDExYzZjM2EgbGVnYWN5LXRydW5rCisxNDM0NCA4OWQzMDhmY2Y2ZjQ1ODM2M2I0ZGZmMDMyYzY5NDVmYzZlOWM5MzE2IGxlZ2FjeS10cnVuaworMTQzNDUgZTE5YTM1MDk5NGI3NWFmYzFiZDQ3OTFjMmMxYjdhMDVmZmVhMmJkMiBsZWdhY3ktdHJ1bmsKKzE0MzQ2IDY1M2E5MzUwYTgxNzMzOTY5YjNlNzAyNzYzZmRhNWUwNGQwN2FiMWIgbGVnYWN5LXRydW5rCisxNDM0NyA4M2QzNTFmOTQ4YWI3NWNlZGM4YTZlNmZiZTMyZGI4ZTRiMTk3NWM3IGxlZ2FjeS10cnVuaworMTQzNDggYTg2YmRmZTQ1NzI1ODRkNmM2YzY2YTJiMjljOGI5ZGNkMGI3YmMxMiBsZWdhY3ktdHJ1bmsKKzE0MzQ5IDIzZTdkOTc4MTAxMzExNTY5M2NkZTAyOTQwMzc5MDkzMDQ2NGUwNjggbGVnYWN5LXRydW5rCisxNDM1MCBkYTdmNWY2YTg0OWQwZWU4YTgyYWU3Njg5Y2YzNGNiODA4MTJhNGRlIGxlZ2FjeS10cnVuaworMTQzNTEgODQwZTE4ZWVjMDdmNGY1NWM4NzM5MDIyYTNiNWY1NmMzNGNmOTIwYyBsZWdhY3ktdHJ1bmsKKzE0MzUyIGM5NzhhMjNhNGRhYjEwNzU5MWU4ZDA3NjlmMDdhYmRjMTdmNDUxNmMgbGVnYWN5LXRydW5rCisxNDM1MyAzYzc3ZDZjNWM4ZTkxODBmMmZiYjlmYmMwOTM2MmQ4Yjc0NjhhZjA4IGxlZ2FjeS10cnVuaworMTQzNTQgNDVjMzViNTM3NmU0YmRiYjViYjNhNjFkYjcwYWI4OGU0YmQ1ZmE5ZSBsZWdhY3ktdHJ1bmsKKzE0MzU1IDc3NDY1ZDhiOWY1ZTI5MGRiYzM0MjdlN2NmMjJiMGZkZTdjZDQ0OWMgbGVnYWN5LXRydW5rCisxNDM1NiA3ZWYzOWUwNzEyMGE3ZGFiNWYzNGY2YmUzYTk0ZTAyZDllY2MxN2FjIGxlZ2FjeS10cnVuaworMTQzNTcgNzZhNjA5YTk0NzMwMjIzOGY1MTQ4YTUzNGI4ZjgyNTFmZDI0MTFmNSBsZWdhY3ktdHJ1bmsKKzE0MzU4IDVjMjc3MDEyNDkwNGVkYjNjMjNiMzExODg0MTQ4MTcwMGEyNDk0NjUgbGVnYWN5LXRydW5rCisxNDM1OSA3N2ZhMzMxNmJmNTgyNTQ3MDcwZmU0MGMwNzYxYjVjYWJiY2IzYzAzIGxlZ2FjeS10cnVuaworMTQzNjEgNGQ5MTIyMTIwOGZmYjBiNDk0MTEyNDBlNDAwMmQyZTgxYjkwYzdlNCByZWxlYXNlMTUycDEtcGF0Y2hlcworMTQzNjIgM2YxZGEwNWNlZDU1MzZhMjFhY2EyMTdkYjgwZTZhZmM0M2ZlYjhkNSBsZWdhY3ktdHJ1bmsKKzE0MzYzIDNkY2RkYjQ3OWE3ZTY0NzM5ZTBjOGFkNzhkMjIwZjEyYTc2ZjhkNDkgbGVnYWN5LXRydW5rCisxNDM2NCA2MDU2Y2Q1MDI5N2U0Yzk5MTkxNzhjZmRmNjgwMzcxYjVkOTE1N2IxIGxlZ2FjeS10cnVuaworMTQzNjUgZGZmYmQ5MjFlZWVkNDVjYjMwODRkN2M3YWU5NTQ2NTllYmZhOThjYyBsZWdhY3ktdHJ1bmsKKzE0MzY2IDU3ZmIzNTAxYWIyMmIyZjY0ODk4NDljNjBlNzViMGM1YWYyMDUwYTkgbGVnYWN5LXRydW5rCisxNDM2NyA2MzY3ZDgyOWYzNmJjMjBjOTZhNjU5Nzg4OGE3NzlhOTY5ZmE2Y2IzIGxlZ2FjeS10cnVuaworMTQzNjggZTM2MDZkMzA4ODZmMDM4MzdhYzcyZjIxZmQyOTc0MTAyZmIyMzE0OCBsZWdhY3ktdHJ1bmsKKzE0MzY5IDk0NWNlNjBkOTg3OTE3MzY4YjA5ODZjYWU4NThiODA2Y2M1ZTZmZjMgbGVnYWN5LXRydW5rCisxNDM3MCAwMjA1MjZlNzJlYWNmMjgzNTRjZDU1MWE2ZjcyMTg3YzUxMGQ3YjA3IGxlZ2FjeS10cnVuaworMTQzNzEgOTA5MmQzMGMyYmI3ZDU4NmY3OTA2YjFmMmZiNGZmNzFhZWI2MzlmYyBsZWdhY3ktdHJ1bmsKKzE0MzcyIDYyZmE4ZWM4NTk1ZjAyZWEyZjc4YWE1YzlhZTNjY2Q2MjJjYWMwNzkgbGVnYWN5LXRydW5rCisxNDM3MyBhNGVlZjA4MTNkNGNiZTBiZWY4N2FkYTRkMzg1MmY5MjYyMmJmYjBjIGxlZ2FjeS10cnVuaworMTQzNzQgOTg3NmE2NGMxODFhYWE2MTgyN2RhNzZiNWE5Y2FmMTIzODg2MjE3ZiBsZWdhY3ktdHJ1bmsKKzE0Mzc1IDM1Nzk5NzU1MDlkOTM1Nzk2MjllYTJjMTQ3Njg4NjYwNmIxMjYxNzggcmVsZWFzZTE1MnAxLXBhdGNoZXMKKzE0Mzc2IDRjZjg0ZGRmNTEyOTA0M2QyNjkxYTI3NDVmOWEzOThiYmRiMDg4MjIgbGVnYWN5LXRydW5rCisxNDM3NyAzY2RlMTJiYjNkYTVkNzRjN2I2MWNkNWVjMzk4MmVlNTllMWUxZWExIHJlbGVhc2UxNTJwMS1wYXRjaGVzCisxNDM3OCAwM2JkNThmOGM5ZDAzZTEyYjliYmE1YjRkZjFhZTJhZTdjNzIwMTFiIGxlZ2FjeS10cnVuaworMTQzNzkgYjAzNjllOGRhYTBiZmYzOTY1NDFjZGIwYjZkZjU5ZTg5ZWZjNDY5NSBsZWdhY3ktdHJ1bmsKKzE0MzgwIDFhMjViYzJkMzI3MmFkYzZhMWUxMGY0ODhjMWE3NWFhNGIxODc1OTIgbGVnYWN5LXRydW5rCisxNDM4MSAxMDMzYTI0YzRhNTI5OGYwZDA5NjkxMzZiZmYzZDdjZGViYjU2YzU2IGxlZ2FjeS10cnVuaworMTQzODIgMzZjNjc1MGNmMjI3NTg2M2YzZWNhMTZhZTE4ZjdjYTcxNGRiNTBiOSBsZWdhY3ktdHJ1bmsKKzE0MzgzIDhkNWI5MGViYjkxOWJiMTdiODk3MTkyNzE3OWQ0OWZhNDE2NTY1MjggbGVnYWN5LXRydW5rCisxNDM4NCA3MDdkMTZmMGQzNDVhYTgzNDNlMjhhOTM5NjViNmI0YjBiZDI4MTA4IGxlZ2FjeS10cnVuaworMTQzODUgN2Y1MGY3MWFlN2JmMjU2MTU2ZjdhZjQ3MWRjOWRlM2RlZDEyZGUzNyBsZWdhY3ktdHJ1bmsKKzE0Mzg2IDI4MzlkODRjZmQ5NjY2ZDk2ODg4ODJjNjY3YjhkZmE1ZTg0N2YxZjYgbGVnYWN5LXRydW5rCisxNDM4NyA4YjZlMmIyMzZiYWI1MjM0NDhmYzhjMTczZWE5MzBjM2VhMjNlNDRmIGxlZ2FjeS10cnVuaworMTQzODggNmI4ZGFmMzM3ZDZiYWJjY2YzNDkzZThkNGJiZDJjNjBhZTAzZWUxMiBsZWdhY3ktdHJ1bmsKKzE0Mzg5IGNhZThlOGVkZDNlMmFiMjljYTIwOGRmNjg1MzM1YjkzMGM0NzY5M2IgbGVnYWN5LXRydW5rCisxNDM5MCBkYzE5YjU5MDBkYWViYmRmMTg3M2M5MWNiZTY3OTQ5MmNkNTY5YmUzIGxlZ2FjeS10cnVuaworMTQzOTEgYTc0MjE0NzM5NmVlZTA0ZGJkNGUzZGQ1NWJkZDU5Mjk5MjY2OTM2NCBsZWdhY3ktdHJ1bmsKKzE0MzkyIGUyYmJjM2U0MGNkYjk2NGQ1NzhjYzJjMTcxYTA3MTA1NjhmZjg3NTggbGVnYWN5LXRydW5rCisxNDM5MyBlYzQ2ZmFhODM1OTU2N2RhMzI0NmJhMDI4YzRlOTNmMzVkMTI2ODliIGxlZ2FjeS10cnVuaworMTQzOTQgYjdjZmMyZGJhNTg2YmJhZDExYmQ4ODlkYjQ3NTFkNThiOTYzZTc0MCBsZWdhY3ktdHJ1bmsKKzE0Mzk1IDA0OWFiOGYzNGRmMTY0ZmE1M2EwNTBhYjc4OWU4Y2FiMzY1MzA0NDcgbGVnYWN5LXRydW5rCisxNDM5NiA0MWRjMjRiMjBhMTc1YTQyNDgzMDAwMGJhOTRjMDY4MGQ4NmEyMWMxIGxlZ2FjeS10cnVuaworMTQzOTcgYjZmMTI4N2UxOTcwNzMxZTVlZGM4ODNlYzdkMDY3YmQ3MmQ3MDRmMSBsZWdhY3ktdHJ1bmsKKzE0Mzk4IDVhZjAxNTcxODI4NWUzNTYxNGY1MjEyNTU2NWNiN2QwMGYxZDViOWQgbGVnYWN5LXRydW5rCisxNDM5OSA0ODY3MjFlYzlkZDc0NmZjNTQwZWE1NmZkZTYzMDIyYmZkODM0MjVmIGxlZ2FjeS10cnVuaworMTQ0MDAgYWU4ZGYwN2Q0YjZhMWI2ZWQ2ZDgwNjUwYzkxOWIxNmJhMzU4ZmM0NyBsZWdhY3ktdHJ1bmsKKzE0NDAxIGY4M2NkY2JjYTFiMDhmMTM2OTViMzlhYjUzNDljMGYwYjA5ZGE0MjYgbGVnYWN5LXRydW5rCisxNDQwMiA4NjA1MjQxODJiOWM4Y2FjZDFiZjVmNTQxMWIyYzFiNTUwOGVmMTNiIGxlZ2FjeS10cnVuaworMTQ0MDMgNzI4NDhjNmI2MTFjZWQ0MDRhMDBlNDI3M2UyOGU5NTVmMDlhNDI5OCBsZWdhY3ktdHJ1bmsKKzE0NDA0IGZkNDgxNGI1OWI3M2E2ODBkYzE2Njg1N2FkNWNhMDA0YWZjMjhmNjQgbGVnYWN5LXRydW5rCisxNDQwNSA3ZWIxMjdhZGUwNjk0ZWIyMDNmYzM3Mjk2MzVhODY4OWJiMjczYmNiIGxlZ2FjeS10cnVuaworMTQ0MDYgZDJhYjk1NTNmODcxMmUzZjYyNzQxNjE4ZGI3NWQxMTQ2MjFjZmRmMCBsZWdhY3ktdHJ1bmsKKzE0NDA3IDA5YTNhNjhjZTk2NDA0ZWE4ZDhiMzVhMzAxN2RiZDRkYWE0OGNiZWQgbGVnYWN5LXRydW5rCisxNDQwOSBlOTNhNWE5MDZkNzNhMjhmODRlOGQwMWRmZDQ2MjE0MGEwY2JlODA0IHJlbGVhc2UxNTJwMS1wYXRjaGVzCisxNDQxMCA3MzNlYzZlODY5ZGQzMTczYjc0ZjhkNjg0ZDFlNGYyMDkyMDExNGQ4IHJlbGVhc2UxNTJwMS1wYXRjaGVzCisxNDQxMSA4YmM4NzEwODE3MjQ3NzhiMDRlZWE0OGM2NTdmMWNlOGQ2NjM0ODU0IHJlbGVhc2UxNTJwMS1wYXRjaGVzCisxNDQxMiBmNDVkOGIyNmJiMjQ1MzRkOTZjMTgxMGJlODRkYjljZTQ5MGZjNjhhIHJlbGVhc2UxNTJwMS1wYXRjaGVzCisxNDQxMyA3MWVjMzFmOTdmZmM3ZTA0ZTIxOWJhZmY0ZjAyMDU2YTNhZmU3NGNkIHJlbGVhc2UxNTJwMS1wYXRjaGVzCisxNDQxNCBhNGJiMzg0M2E1ODIyMzE2NTllODU0MjE1OTI1MzVlZWFiMzVjY2JhIHJlbGVhc2UxNTJwMS1wYXRjaGVzCisxNDQxNSA0NTQxOTYxMTRmZDI0NTM1OWExMzBhMjE2M2YzNzdiMjgxN2E1ZjYzIHJlbGVhc2UxNTJwMS1wYXRjaGVzCisxNDQxNiBjZWQ4ZGQ2MjI3ZGQyZDJjM2I1NTk0NjUyOTcyZDU4YTQ2YjFlMDdkIHJlbGVhc2UxNTJwMS1wYXRjaGVzCisxNDQxNyA1YWYzYzViNzRjNTQ1ODkzMDE4ZTc1OTVkOWRhZjgzMDZlZDNhM2Q1IHJlbGVhc2UxNTJwMS1wYXRjaGVzCisxNDQxOCAyOTVmZjNiMTc1MjJhMmVjNmU5ODMxMDM5YWI4MGFlNTczNzk1YTczIHJlbGVhc2UxNTJwMS1wYXRjaGVzCisxNDQxOSA2M2NlMDlkZjYwN2RlMTlmNTgxMzM5NmQ1NWViNjUxNzdlYWQ5YzI5IGxlZ2FjeS10cnVuaworMTQ0MjAgZjUzZmVjMGM3NDJiZjViNDRiNGJjZTAzYWY0NzZhZWFlYWM0YTdhMyBsZWdhY3ktdHJ1bmsKKzE0NDIxIDI5ZTc0YzcwZGUxOGFmZDUzZDhlMDI4ZDIxZjBmYzRjMTkwMzU1ZmUgbGVnYWN5LXRydW5rCisxNDQyMiA1MGE2YWIzZmEwMzZhMmRkNjM4NjkxNDYzNmRhYTQ5MTI1ZDQzMGJlIGxlZ2FjeS10cnVuaworMTQ0MjMgMzY3OGRkNjg1ODY3MDVkOWI3OTdhMGJmZTNmNjNiYTAxOTY5MDk2MiBsZWdhY3ktdHJ1bmsKKzE0NDI0IDQ0OWIwNzRjMzA1MWIxNzFiZDE1Njk0YTQwM2RhYmM5NmI2N2EzNTEgbGVnYWN5LXRydW5rCisxNDQyNSBmZTk2MGFkM2RiNjViYzI0MDk2YmQyMWM1MGJjN2Y0OGU4MGZiOGJiIGxlZ2FjeS10cnVuaworMTQ0MjYgZTc3YTI4NmQwZWIxMDMwZGQzZDMxYTlmNTMyMTlhZWFmZTY1YzM3OCBsZWdhY3ktdHJ1bmsKKzE0NDI3IGMyMjg2YTFjMmYyOTU4NWI0YTYyZjU1Yjc5NGJhY2FmM2NlZTJhMjIgbGVnYWN5LXRydW5rCisxNDQyOCA1Nzc4OGRhMTY0ODg5Njk0ZjI3Yzk0NjdmYzI0MGEzYjM2Mjc3ODI2IGxlZ2FjeS10cnVuaworMTQ0MjkgZmZiZTBhMjNhMGYxNzU4ZmY5MzA2NTYwYzU0MjRlYWRkZjk2OTc0YSByZWxlYXNlMTUycDEtcGF0Y2hlcworMTQ0MzAgYmQxNjFhOTA4YjNiZGE1YTBjNDNhYjBlYzQzMmM2OWJhZmUwOGUxNyBsZWdhY3ktdHJ1bmsKKzE0NDMxIDU3MTY3NzMxZDEyNDJlMzg3MjQyODc3MTJhYjBiYmRlMGFmNTAzODEgbGVnYWN5LXRydW5rCisxNDQzMiAzMDIyODZiMTYwYTdhMjY4ZTJmY2M1ODc3NGY3MjM0YTkyZmNkNmU3IHJlbGVhc2UxNTJwMS1wYXRjaGVzCisxNDQzMyA4ZDBiMmZlZDdkNTU5ODFjMmQwZDU5ZTBmNTUzNWMwM2YyMWM4NTI4IGxlZ2FjeS10cnVuaworMTQ0MzQgY2Y4ZmE5MmViZjNkOTRlNGRhMTBkNzc0OWFkYWY1ZGM5NGFlY2ZlYiBsZWdhY3ktdHJ1bmsKKzE0NDM1IGUyYjYzMzk5MWUwMTM1NDY3OTZlNjQzMmZjMTk5NWU2YjI0MjMwZTMgbGVnYWN5LXRydW5rCisxNDQzNiBmYmMxM2ZiODAzOGNhNTk1ZjRkNWNjNzI4NWRmY2U4NjQzOTk1OWIyIGxlZ2FjeS10cnVuaworMTQ0MzcgMjBjYTcyMzBhZTNmOGE5NTVmOGY5MzdmNTcwOGY2MDVlOWZkMDc0OCBsZWdhY3ktdHJ1bmsKKzE0NDM4IDZlNWVhN2RjZjFmNTViNjM3ZDMyZTBlMzNmZjczNDZhMzYzOGQxN2QgbGVnYWN5LXRydW5rCisxNDQzOSBlYWVkYTQ2MjFmN2RjZDU1NGU2Yzk5ZDViMzRlMGVkNmU1YTQ1M2M0IGxlZ2FjeS10cnVuaworMTQ0NDAgODRmNzdjMTlkMTQzYjRiMTQyZDVlMjIzZTRmMDk4NjFmNTI0YWI1YiBsZWdhY3ktdHJ1bmsKKzE0NDQxIDAzOTAyYmMwMjE0YTE1MWQ1OGM0OGZjNmI2MjFiNTI0NTI2NjRiNmMgbGVnYWN5LXRydW5rCisxNDQ0MiA1MGYxMjg4M2NkZDc5Y2JmNDM3NWYzOWU3NzA3Y2QyMWVkOTY5NGNhIGxlZ2FjeS10cnVuaworMTQ0NDMgNDc2ZWFhMzhlMmQ2YWE3N2U4ZjUyOTdiNTJhNjc2ODcwYjRjOTI5NyBsZWdhY3ktdHJ1bmsKKzE0NDQ0IGI3YmNhMDUwZDdkZWJjZmU2MGQzYWEwMDQ4NzFkNjk2MWQ5N2RiOTYgbGVnYWN5LXRydW5rCisxNDQ0NSBiZjE1MDFjZjVmMDgyZDliNWJkYzViNmU1YzczNTAyZjA4YjI4MzgwIGxlZ2FjeS10cnVuaworMTQ0NDYgYmU5NTAwZTY0NzdmZDMxNjA4NjU1Yjc5ZmI1ODRhNzI5YTExZThmNiBsZWdhY3ktdHJ1bmsKKzE0NDQ3IDE5ZGU2ZDE5NGFjZTk4MzdjYzZhNTUzOWIyMjRhNDViZWUyYjI1ODggcmVsZWFzZTE1MnAxLXBhdGNoZXMKKzE0NDQ4IGFhMDdjNDdmNmVlODgyODEwNDM3M2NiZWI1NjUzYmM2OGExZjFjYzcgbGVnYWN5LXRydW5rCisxNDQ0OSBjNWZiNjUwNmVlYzQwZTI4YTM0ZWM2ZmU2MzZhYzFkZWYwNzA0ZTgwIGxlZ2FjeS10cnVuaworMTQ0NTAgZmMwZmNlYTE0YmEwNzIzZTZkZjIyYmI2MzM2OTQ5MjQzMjVjNWVhOSByZWxlYXNlMTUycDEtcGF0Y2hlcworMTQ0NTEgODg3OGMwOTZmYTE5ZTczOWFmNjA1YWU3NWU2NmEwMDBhOWQ2ZGM0NSBsZWdhY3ktdHJ1bmsKKzE0NDUyIDdjMjU1ZTdhMjFjMmM1NzQ4OTEzYWQ4ZmNlNTFiYjY3MGE5ODI1NTMgbGVnYWN5LXRydW5rCisxNDQ1MyAzNjg0ZDVjNzkwM2MzZWRkZTc1ODU0ZWIyZmRlMmM4NzRlNTZmOTE3IHJlbGVhc2UxNTJwMS1wYXRjaGVzCisxNDQ1NCA3YmVkMWYwZWM2MWFjNTY4YTFmYjhhMGEyMmIxYmU5MTIxYjQ3YTgyIHJlbGVhc2UxNTJwMS1wYXRjaGVzCisxNDQ1NSBjNmY4NGNkMWZmNzA1YTBlNTQyNThiZDNiMzg4YWRmMmYwMjQ2ZDAzIHJlbGVhc2UxNTJwMS1wYXRjaGVzCisxNDQ1NiAzYjZkOGFkMjQ2OGUzNWEyN2NjMGI3ZDExM2Q5Y2VkZjNlZTM0YzFjIHJlbGVhc2UxNTJwMS1wYXRjaGVzCisxNDQ1NyA0ZDVkNWNmYThhNTM5MzFiMTNhMGUzYjJmODdkMzYwZmY3YzQ4MTk3IHJlbGVhc2UxNTJwMS1wYXRjaGVzCisxNDQ1OCBlYjQ4M2Q5YTBmNjJjZjAyODk1ZDk0MzNmMDM4NjU0M2ZkM2JiNGM5IHJlbGVhc2UxNTJwMS1wYXRjaGVzCisxNDQ1OSA0MDgwYzdhMGYxZWQ2YzlmOWQxNzExYWZjNjUxYWQ2M2JkNGQxY2E4IGxlZ2FjeS10cnVuaworMTQ0NjAgMGMwYmZhZGZmNzdhY2EzNDUxYWRkNDJkY2JlOTQyNjc3MjBjYzE4YyByZWxlYXNlMTUycDEtcGF0Y2hlcworMTQ0NjEgYjJkNGIyZTAzYzk5NTNmYjcwOGExMGYwOTc5NTdhN2NmZDFhMTVlMyByZWxlYXNlMTUycDEtcGF0Y2hlcworMTQ0NjIgOTRiNjQyMDc5Mzk4Y2E2NzY1Njg0Y2Q1Y2M3ZmRhOGIxNTQzOGQ5OCBsZWdhY3ktdHJ1bmsKKzE0NDYzIDcxOGQyMmRhMDAxN2Y1ZTI2ZDg1ZTg2NjZkODVhZWNiNzVkODI4OWEgcmVsZWFzZTE1MnAxLXBhdGNoZXMKKzE0NDY0IGUyNTEyZDRmZDQ3MDgzMWZlNzQzNTY3NDE3MTZlMzZhMzNhODI4YTQgcmVsZWFzZTE1MnAxLXBhdGNoZXMKKzE0NDY1IDY4MzQ0M2Q4ZGEzYjlkNDM5ZTU0ZDlhYzQ3MTJkNGZmOGE0M2M0OTQgcmVsZWFzZTE1MnAxLXBhdGNoZXMKKzE0NDY2IGZlNzYzMmZiZDRmNTM2OWI3YzhhNGI3ZDIyZDQ1MTYzZTdlNWJiOGEgcmVsZWFzZTE1MnAxLXBhdGNoZXMKKzE0NDY3IDU5NGE3NmJiOWZmMDMxNTc5Zjg1NmMxNjdmYjcwYzZjMDEwOTJjMzMgbGVnYWN5LXRydW5rCisxNDQ2OCBhMDMxMzAwM2NiMmQ1MjA2N2QwYzYwZGMwZmNhZjJmYmEwMWY4NWE0IHJlbGVhc2UxNTJwMS1wYXRjaGVzCisxNDQ2OSBkZDBhZTEwYjcyMDYwZjU3NDgyOTgzN2YyYmVkM2E0MTg5M2Y5NzU1IHJlbGVhc2UxNTJwMS1wYXRjaGVzCisxNDQ3MCA5YzU5Y2JhMDRkODU4YWE2YTY3ZTg2OWZkMTJmODcwMGUwYTRhM2UxIHJlbGVhc2UxNTJwMS1wYXRjaGVzCisxNDQ3MSA1MWMyMTc0NTQ5NTNmODIzNGFjNWYzM2Y1Y2FlMTk1NDEzODMyNzFjIGxlZ2FjeS10cnVuaworMTQ0NzIgM2U1MmYzZGJlM2RjZDlmMzZmODc4Yjg1NTQ2MzliNTkwOWUzNjM0NCByZWxlYXNlMTUycDEtcGF0Y2hlcworMTQ0NzMgZWNkYzc4MTQ4ODExODk3MzMyYzFhZTBmZGIyODQ2YmNlZTM0MmFjYyBsZWdhY3ktdHJ1bmsKKzE0NDc0IDE4OWRlZTcwZDMyYTBjYjA3ZDU4ZGJiMTExZDAxNWNjMWExNDI0NzEgbGVnYWN5LXRydW5rCisxNDQ3NSBhMDQ2OTgzY2I1NzYxMmQ5MzhhNzBlOTRhYjE5ODlmMjBkYWY4MDVjIHJlbGVhc2UxNTJwMS1wYXRjaGVzCisxNDQ3NiBiYTIxMTE3NDgwMzhlMDI4NWZiOTZjNWRmMDFmZWM0MTA4Y2U0MGFiIHJlbGVhc2UxNTJwMS1wYXRjaGVzCisxNDQ3NyAzMjg3Y2NkMGRkMDEzM2VlNzRlZDNhOTMxMmQwOTU5MjcxNjgxNTVmIGxlZ2FjeS10cnVuaworMTQ0NzggZDIyOWJiNzkyNjU5MDAxMDNhOWEyZThmY2QwODM0MWMyOWI1MjkxNSBsZWdhY3ktdHJ1bmsKKzE0NDc5IDFiNzMxZWNkOWVkMzJiZGMyNThlNTdlZGNiMGEzZWFhY2Q3MWM5MDkgbGVnYWN5LXRydW5rCisxNDQ4MCAyYzcyNTZlMzk4OWNmOWIwNmYyODcyOTEwY2Y5MTY0ZDU0ZTU0NzI3IGxlZ2FjeS10cnVuaworMTQ0ODEgNzk3ZDk5NmY3YzZkYTAwOTRiZjdkNGI5MWIyMTMzN2VlZjM5NTUwMSBsZWdhY3ktdHJ1bmsKKzE0NDgyIGIwYzRmMjYxZTQ3MDMyNjM3NTczYzJhY2I5NWFkNmMzMGUxNTFiYTYgbGVnYWN5LXRydW5rCisxNDQ4MyBjYTUzNTM4NjdiZTIzMzIyMGNiMGVjN2Q0MzBkMzczNzU5MDEyZDYyIGxlZ2FjeS10cnVuaworMTQ0ODQgNzI2OTIxNjc0NmQwMmZhZGQ5NjMwOTY0ZTA2NGEzODQ2OGU3YzNhMyBsZWdhY3ktdHJ1bmsKKzE0NDg1IDkxY2ZiNmU2OGNhNDcxOWVhM2QwOWIzZjU4NGM1ODQ2ZjFmY2M1MDMgbGVnYWN5LXRydW5rCisxNDQ4NiAzMmY5NzVjYjlmNWZmMjIwNjU2YTQyMTYzMGRiZDc2NDhkYjc1YzFiIGxlZ2FjeS10cnVuaworMTQ0ODcgYmY2ZjE3NDZiMTBiYTBmZmExYTlhMGM3ZTRjMjc2NzZkMDk4YjRmYiBsZWdhY3ktdHJ1bmsKKzE0NDg4IGUxMTljMDI1MGIyMDkxNWQzMjYzNWU1ODU0YWYwNjMxMjkyM2RkNDYgbGVnYWN5LXRydW5rCisxNDQ4OSBjMDRlMWM3MGYwZjEyNmExMmU1YTFhZGNiNDI2YmVlMDlkOGE4MmViIGxlZ2FjeS10cnVuaworMTQ0OTAgZTEyM2U2NWVmMjU1Yjg0NjliMmIyOGMwZjUwMWE3YzVlMDBiYzNlZSBEaXN0dXRpbHNfMF8xXzMtYnJhbmNoCisxNDQ5MSAyNTE3NTY5YWExZGQ0MWI4ZWEyZTIzYWY4MjViMzEwN2Y0Y2MwMjI0IERpc3R1dGlsc18wXzFfMy1icmFuY2gKKzE0NDkyIDEwNDczMTNjZWI1YmM5ODMzNDk5YWU0MTgwMWMyYjM4YjJmOTAyNzYgRGlzdHV0aWxzXzBfMV8zLWJyYW5jaAorMTQ0OTMgMjUzZWM5NWYzOTFlMWM1YTk5ZjI2MzRlMjg3MTQxOTFhOGQyMjNiZiBsZWdhY3ktdHJ1bmsKKzE0NDk0IGU1Njc4MGI3NDM2YTZhNTc0MjU5NjBkZWE5YmQwMGM3YTNjNGFjNTAgbGVnYWN5LXRydW5rCisxNDQ5NSA4YjcwZWFhYWRmNGI0MGQ4NjM0NzBjMzExODEzYjQwOWM0MDMxOGQxIGxlZ2FjeS10cnVuaworMTQ0OTYgZDE1ZDhmNTE0MWE4ODhmYjE2NGE0ZDMzNjBiNTA4YTMwMDQyYTU5MCBsZWdhY3ktdHJ1bmsKKzE0NDk3IDZmOTc5OWExNDVlNTgyZTQ2NWU4ODc5NDU2OWY3ZWUxOWIxNDYyZDQgbGVnYWN5LXRydW5rCisxNDQ5OCBlYzA2MmM3YzM4YTU5ODM2NzEzYTM0Y2YxMGFjOWI0Mjk5YzE0MGE1IGxlZ2FjeS10cnVuaworMTQ0OTkgYjcwZGVlNzE1MzRhNmNhODIxYjdhYmJiZjUxMDliNzE3NWZjMzUzNSBsZWdhY3ktdHJ1bmsKKzE0NTAwIDBjZGU3MmY2ZWFjZWIwYmQ2OTBiNTc5NGUzNmZhZDI1MWVlMTg0MzAgbGVnYWN5LXRydW5rCisxNDUwMSA4OWI1Mjg5NTMxMGM3ZTI0N2I3YzUzMGJiYzYyYzE5NDg4YTZlZTcyIGxlZ2FjeS10cnVuaworMTQ1MDIgOTE5NzFlYjIxNTI3ZmE5NDFlMDg5OGI5ODhjZGYwMGJkZWExZThiMCBsZWdhY3ktdHJ1bmsKKzE0NTAzIGU2OTViNTIyOTVhODZhODFiMGQyYzY3OThlYjJmNjE1NmQyNGZjZTQgbGVnYWN5LXRydW5rCisxNDUwNCA3OWVhMTkwODVmYjZhYjhjODNiNzllZjZjZjBkZmVmNzhkMmRkYjdiIGxlZ2FjeS10cnVuaworMTQ1MDUgMTQ1MTUzOWEyN2VjZjRhZGVlNDVkODcyYjMyZGVhNmVjYmQ0NTc1YiBsZWdhY3ktdHJ1bmsKKzE0NTA2IDc4MWY0ODI5MWEyOTY5M2ZlNTAzZmM0MmJhMzJiODJhMmNjOTMzOWQgbGVnYWN5LXRydW5rCisxNDUwNyBiYmI3NTFmNTVkMDQ4ZWIwMGZhODQzODNlOTY1NDExMTFkMGI0YzIzIGxlZ2FjeS10cnVuaworMTQ1MDggMmQ4NzQwNjQ3ZTk5OGMzZTAzZmJhYWI5MzBlNGFjNTJiMDk3NjYwNyBsZWdhY3ktdHJ1bmsKKzE0NTA5IDk4NmE4NzM2M2E2NjkxMmEzZmY4MzI0NDM3YTIyNWM3MGE3NGNiYjcgbGVnYWN5LXRydW5rCisxNDUxMCBlMDA1OTQzNjZlYzRmNzQ0NjNlODcxOGY5MzIzYzAyYzllYzFhYjNkIGxlZ2FjeS10cnVuaworMTQ1MTEgNWUxZjRmN2Q3OWE3NTQwMDFhMzQ5NGVlNjNkZGFhOTlmZDE5YmI3ZiBsZWdhY3ktdHJ1bmsKKzE0NTEyIDQxYjg1YTI2Y2VlZGFhNGVmYzdlZjJkNWUxZTlkNWExMDNmN2Q5MTQgbGVnYWN5LXRydW5rCisxNDUxMyBjYTM1MGE3MTk4ODczM2VkNzU3ZWFmMTc4ZDdkZTk0ODUxNjQxZGVkIGxlZ2FjeS10cnVuaworMTQ1MTQgMmZhODllNjU3YTRlZGRlZjMxMDc5NDU3NjQxMmQzZjBjMzU5MzJkMCBsZWdhY3ktdHJ1bmsKKzE0NTE1IDA2OWVhNTczNmZmNjA3YTgxZjM4MjM0Yjk2Y2I1MDllM2IyZGQ0MjQgbGVnYWN5LXRydW5rCisxNDUxNiAwNjEwNGJjZjA2YTY0ZmIwODE5MDY2MmQ3NzA2OWI0NWJkNjhhMjA3IGxlZ2FjeS10cnVuaworMTQ1MTcgZDdlNjZlZjM0NWQwN2I5Y2NiYTljYzQzNGQ1Njc0Y2Q3ZmFkMGNiOCBsZWdhY3ktdHJ1bmsKKzE0NTE4IDMyYzU5ZTI4ODljNGNjNGFhMDE4NmMwMjZjMzY2NzE1MGFkYmRhMTEgbGVnYWN5LXRydW5rCisxNDUxOSBkN2VjYTViMDk2MGFiYjAyMWI0ODFlZTEyYTVjYTM5ODc5OGU3NzAyIGxlZ2FjeS10cnVuaworMTQ1MjAgMmZlOTU2OGJkZWYyYjkxYjFiNjA3ODE2Yzk5MTJkMmY3MjE5MDk0NyBsZWdhY3ktdHJ1bmsKKzE0NTIxIGM5MGFjNjk4MjE0ZGI3MzBiNTQ3YzVmZGJlNTViNWIxNWE4NTgwZDMgbGVnYWN5LXRydW5rCisxNDUyMiA0NDRiNzdjZWViZTY5MzEwZTJjZTdjMjZlZGFjMjNiOTlkNmFjOWI4IHJlbGVhc2UxNTJwMS1wYXRjaGVzCisxNDUyMyBiOTFkODQ4YzlhMWFkNGViNDNkYTZlNWRjZTY3ZDgyMmY0YmZjNGNmIHJlbGVhc2UxNTJwMS1wYXRjaGVzCisxNDUyNCA3MTQyMzIwOWQ3ZmMyYzUxZjdlODEwYWYzZjNhMDc3NTc0NTBhYmZlIHJlbGVhc2UxNTJwMS1wYXRjaGVzCisxNDUyNSA3ZWQxMDRjNDBkYjMzNjU5OWUyNWYwNTg2MWRkNTQ4ODNhM2MzNWE1IGxlZ2FjeS10cnVuaworMTQ1MjYgY2FiMDcxZTkyZjMyMWY1MmFjNmIzMmM5OTcxNjc5YmNjNGE3YTViYiByZWxlYXNlMTUycDEtcGF0Y2hlcworMTQ1MjcgNTJhM2I0NjQ1NzhmMmU4NzIzNGYwN2RkNGE0NjYxNzhlNmNlMGFiOCBsZWdhY3ktdHJ1bmsKKzE0NTI4IDI4NjMwM2YwMDU0NmJjZWY1MDc3NjdiOTk2ZGFiODQ0YzBiZTFjZmQgbGVnYWN5LXRydW5rCisxNDUyOSBjMjdkM2U4YzQ1YzQ2NjY3Y2NhZDk4ZDUyYmNkMTM1Y2E4OGMzY2NhIGxlZ2FjeS10cnVuaworMTQ1MzAgNWQwODc5ZTFmZjM3YzU3ZWEwMjJjM2ZlYWM0ZDNlNTM4YjczZjg1NiBsZWdhY3ktdHJ1bmsKKzE0NTMxIDNkNzNmZmMxMDVkMGE0OGM5OGRjZGJhOWZlNTBmYTJjNGVkM2VjYzcgbGVnYWN5LXRydW5rCisxNDUzMiBhN2Q2MDllYTkwY2M2ODI2NjQwZWJjNTcxNGZmMmNlYzUzZmRmYzQ1IGxlZ2FjeS10cnVuaworMTQ1MzMgZDI3Njg0YWIyMTVhNmE1YWNiNDA3NDc0OTllYTQ5ZDJkMGYyODAxYiBsZWdhY3ktdHJ1bmsKKzE0NTM0IGVmZDYzMTVhZTY3OGQ2MmU1NTk3NDUzYWYyYmVhZmIyNzUxMmRiMWEgbGVnYWN5LXRydW5rCisxNDUzNSBkYzY1YzVmNmFkN2MxNGNhNDQ2OWY2ZWQyOGZmMTM0Y2IwOWVjMDg3IGxlZ2FjeS10cnVuaworMTQ1MzYgZDI0YWQ1NTAzODMxYTdkOTgxOTUwNzlhMDI2NjU0MGRlNmI4OGM5NSBEaXN0dXRpbHNfMF8xXzMtYnJhbmNoCisxNDUzNyA5YmVkMzM1OTljMzM5YzE1YTI2ZjEwYjM5ZTAzODNmOTJjMjJjYzU2IERpc3R1dGlsc18wXzFfMy1icmFuY2gKKzE0NTM4IDljOTNmMTBkY2Q2OTY4Y2Q5MDRjYzY0ZGRiOWMzNTliYzliZjk5OTkgRGlzdHV0aWxzXzBfMV8zLWJyYW5jaAorMTQ1MzkgOGVlNzU5ZDc5OTY0NmVkMTE0MjJmZWUxZmQyMDczN2IyZWVmMzY1ZiByZWxlYXNlMTUycDEtcGF0Y2hlcworMTQ1NDAgMGM0NzI5ZTM4YzNkYjhmNDhkMGRkZTgyNTJkNWM5YjI5ZjJmOWEwMCBsZWdhY3ktdHJ1bmsKKzE0NTQxIDU0Y2YzYmIzYjhiN2NmNGM3MTAxYzE3MjM2OTE0ZTk4NDRjZmRkZjggcmVsZWFzZTE1MnAxLXBhdGNoZXMKKzE0NTQyIDEwZmJmZDA3ZjM4OTQxYjNkYjNjMDZlNWQzMmVkYzA4MzUyNTZhZTUgcmVsZWFzZTE1MnAxLXBhdGNoZXMKKzE0NTQzIGEzOGZiY2I3ZDMzNTY4MGY2YTU5MWFhZDE0ZWIxMzI5YzViZWU5MGQgcmVsZWFzZTE1MnAxLXBhdGNoZXMKKzE0NTQ0IGUzOTlhYmNjNWRlNjMwZWE4NTVjZGI2MzA3ODUzMTFhYTBiNmMzNzggcmVsZWFzZTE1MnAxLXBhdGNoZXMKKzE0NTQ1IDc1OGE4N2Y0Y2IyYzllOGQ4YjY3OTQ4M2U4Mzg5YmE0NjU3ZGFiZWIgbGVnYWN5LXRydW5rCisxNDU0NiAzOWJiMDE3NTUwNzkwOTcyM2MyNDMwOGFiNjdkMzZmMTliYjcxMTA3IGxlZ2FjeS10cnVuaworMTQ1NDcgMjcwYTExNDg4YzZjNWMzZDJlYzk4ZTUxNTVlNjFjMzQzY2RkZDZlYiBsZWdhY3ktdHJ1bmsKKzE0NTQ4IDgxZjEwNjllMTU1ODY5OTM5YzczZDEyMzk2YzM1YzExYWQzZGJmMDAgbGVnYWN5LXRydW5rCisxNDU0OSBhNDU3MGY0MDk4NzEwZjRmZDdlYzMxMWJkY2VhODhlYzQwZjA5OTU1IGxlZ2FjeS10cnVuaworMTQ1NTAgMWE0OWI2MTQ0ZjBkZTMyNWI1OTc4ZDEyYzY0ODNlMmUwM2NkMDBjNiBsZWdhY3ktdHJ1bmsKKzE0NTUxIDk0MzJkOGIxNWM5NzE0ZmQyNzg0YzcwYzcxY2E4NmIyNGY5Mzk2ZDEgbGVnYWN5LXRydW5rCisxNDU1MiBlODJhOTYzMzA3OGJjOTI1NWY4YzNkNTUyNTRlZmE0NzZkMjk1ZjI4IGxlZ2FjeS10cnVuaworMTQ1NTMgMDAxNjYzM2ZiZDMyMGExYzU4NjdkMzU5MmFkNjQ2YWExNTQ1MDBlMSByZWxlYXNlMTUycDEtcGF0Y2hlcworMTQ1NTQgMjMxMDhjY2UxNjliNDVkZmJiM2VkYWM5MjY1YzdiZTAyNjk4ZDNiNCBsZWdhY3ktdHJ1bmsKKzE0NTU1IGVmOGIwNjJiNTc5ODA0NGZmMzMzNGZhZGQxMGE3NTUwODgzY2Q1ZWEgcmVsZWFzZTE1MnAxLXBhdGNoZXMKKzE0NTU2IDYxMGQ3ZDY0MjkxN2U1ZmNiZDEzYjY0Njc5Y2UwMjQ3Yzc3NTUxYjIgbGVnYWN5LXRydW5rCisxNDU1NyA3ODQyZWNmNWI0MjQ4OWYyYjIzMzhlMmZmMzg2YjllMWM3NTAwMGM4IHJlbGVhc2UxNTJwMS1wYXRjaGVzCisxNDU1OCBjZmNmYWEzOTUwZDY0MmM5YTIwYjMyOGE0M2Q2M2Y2ODM4MDZhM2UyIHJlbGVhc2UxNTJwMS1wYXRjaGVzCisxNDU1OSA1OGQxZTc3OTE5ODA1Yjg3ZTdlMDFhNjQwZmIwNjNkOGJkMjE2ZGM2IGxlZ2FjeS10cnVuaworMTQ1NjAgY2Q1N2Y3NzZjMWRmODUxNWY3NzhhMDE1MTdiYjc0Yjk5M2MzMGRhOSBsZWdhY3ktdHJ1bmsKKzE0NTYxIDI4MDJmYjUyZTk5YmM3OWE2NWJkMDM0ZjFlNjczMTA4YmE5YTBmOTYgbGVnYWN5LXRydW5rCisxNDU2MiAwMTdlNTkyYzBmZDJjM2U4NTNjNzQzOTA4MTdlMzE2NzYzNTk2NWJkIGxlZ2FjeS10cnVuaworMTQ1NjMgNDY3OWJjZWY3YTRmNjQ1YWIzOWVmOGI1YjE4MjEzYWRlMTUwZTA3MCBsZWdhY3ktdHJ1bmsKKzE0NTY0IDcyM2VmY2RjY2UxYmRhNWQwNmIyYmFmYzkyM2I5NWEwNTY5MzQzYjcgbGVnYWN5LXRydW5rCisxNDU2NSA2MmViZThjNzE1NjU5YjFmZDI1OTlhOWQ2YzJkMzA3ZGM3MjdiZmNmIGxlZ2FjeS10cnVuaworMTQ1NjYgMDFkNWI3ZDExZmMxMjhlMmNlMTViMDIzNTgyMWI0MzFlYzg3YThmOSBsZWdhY3ktdHJ1bmsKKzE0NTY3IDY5MzJlMThhZmY5OGFkN2YxNmYwOWQ5M2RiNDcwY2ZmYWFiYzg5NTMgbGVnYWN5LXRydW5rCisxNDU2OCBmODUxOGYwNjBiZWRmOGY4ZjVjZmVlZWJmYzZhOGMwOTZkYWUwMzVkIGxlZ2FjeS10cnVuaworMTQ1NjkgYTQwYzJmZWNkNTI2OWYzYWU4MjYxMzg4M2VkYWI2MjhhYWIzMDg0MiBsZWdhY3ktdHJ1bmsKKzE0NTcwIDBhNGJhY2NiZTlmZTkzNGQwMWFhM2JlMDg1YjQ0MzcxYTRjN2RiYzAgcmVsZWFzZTE1MnAxLXBhdGNoZXMKKzE0NTcxIDQ5YjEwOWI0NTBkYTdkNzZhOTEzMjAxMWIyMDA3MWNkNTU0OThjOTQgcmVsZWFzZTE1MnAxLXBhdGNoZXMKKzE0NTcyIGFiMWVmMWFhNDAyZWE1MjM2YmUyNWFmNDA1Yjc5MTE2NGFiYzdjNTAgbGVnYWN5LXRydW5rCisxNDU3MyBiM2NhM2NhYTM3NGM1MThiYjU4ZGM1Yjg4ZGM0ZTZhODcxMWVkZGU1IGxlZ2FjeS10cnVuaworMTQ1NzQgMTFhZTFlZmVjODcxYTM3YTBjZjdlNTljNTY5M2RlMDcwYjM2MjhkMyByZWxlYXNlMTUycDEtcGF0Y2hlcworMTQ1NzUgZDc0ZTEyZDQ2NTgwZDM3YjE3NTU5MjVlNWNmNDJmNTk0NjBjNjRkYSByZWxlYXNlMTUycDEtcGF0Y2hlcworMTQ1NzYgMDBhOWVmNzQ0N2JhYTUzOTMyNTlmOGY3M2Q3YTc1MjMyM2FiYjdkMiByZWxlYXNlMTUycDEtcGF0Y2hlcworMTQ1NzcgODU1Yzc4ZjViNWRkZDRmYzUzYWY2YjI4YTg1YjVjYWNlOWU3ZmFlMyBsZWdhY3ktdHJ1bmsKKzE0NTc4IDk5NDhmZDUzMmQzYjRjYjJhODQyZGZhNzZlYjllZjlkZjg3Zjk2ODAgcmVsZWFzZTE1MnAxLXBhdGNoZXMKKzE0NTc5IGI5NzVhMDU2ZGViNjY2NWM3ZDliODMxNWM0ZmJlNjcyMTQ4ZWI1YWQgbGVnYWN5LXRydW5rCisxNDU4MCAwZWNhNTY3ZTUzMmMyODRiNmY1ZDNhZmNlMTExY2RlNjk2OTA1MTIwIHJlbGVhc2UxNTJwMS1wYXRjaGVzCisxNDU4MSBmZTQ4NWE1ZDA0M2ZjN2JiN2Y1YjU0NzkxNDdiMWQ0YmI4MTU0NGYyIGxlZ2FjeS10cnVuaworMTQ1ODIgYzBmMThlMTFmNGVmMzI5MjBkODViZGFlZTc4YWY3MzcwNjY4ZWIyNCBsZWdhY3ktdHJ1bmsKKzE0NTgzIGMxNjcxMWZkZDk3MjQ0MzNjN2M5OTAxM2JmNGUzMjI0MGFjM2RkMjAgbGVnYWN5LXRydW5rCisxNDU4NCAxYzhhOWZhYTM1MDFlYzQ3MjkxZmZiNWZjOGUyNjY1MzFjOTEyYjRiIGxlZ2FjeS10cnVuaworMTQ1ODUgYzlkODdhN2E3MGIwYTI5MzI0OTMzNDViYjNhMzNhNWFiMTAxMTM3MCBsZWdhY3ktdHJ1bmsKKzE0NTg2IGE2ZTVmMDI3NGU1MTcyYzVkMDhlMzJhMjMyZTY1ZWU3YWM4NWExZDAgbGVnYWN5LXRydW5rCisxNDU4NyA3OTIyZDA4NDI2Y2FhZTdhM2I3ZDE4NTVjMDEzNTU3MGU5NjczM2RmIGxlZ2FjeS10cnVuaworMTQ1ODggZDEzNTk4MzFlNWYyNjRjOWFiMzg4ODlhMzI1NmJmYjNkZDI2ODk5ZSBsZWdhY3ktdHJ1bmsKKzE0NTg5IDViMDNjNTI3ODMxN2Q2NDlhNDBiNGFkNDk4MGQ3ZmRmZDY1MmM5MGUgbGVnYWN5LXRydW5rCisxNDU5MCAxNWNiYjU3Y2E3NDcyNTdkZTBmYjVjMDRkMDY5OTFhNDlkMDUxOGQwIGxlZ2FjeS10cnVuaworMTQ1OTEgYTg1MWVmMzI2ZDkzMmY3MTQ3OGQ4ZGE2YzJkMmNkY2QxMmI2NGQ5MiBsZWdhY3ktdHJ1bmsKKzE0NTkyIDdjYjQ5MWUzOTllNjE5ZjRlN2Y1NTk1YWM0MGRmMzc3YTc3NzZmYWEgcmVsZWFzZTE1MnAxLXBhdGNoZXMKKzE0NTkzIDI5YzVjNTQxNWRhNzFkZWNiZWJjZDgyNWIzMDhhM2E5MzA2ZGM1MzQgbGVnYWN5LXRydW5rCisxNDU5NCBmODJiOTIzYTdhOTZjMmFmNWQ0MGRmMzliYWQ0YjEwNTA1ZThkNWRlIHJlbGVhc2UxNTJwMS1wYXRjaGVzCisxNDU5NSBjZTI2OThkOGRmZWJmNmQ4ODUyYTQ2MGQ1MmI1YTQ2MzQ1NGY5NjJlIHJlbGVhc2UxNTJwMS1wYXRjaGVzCisxNDU5NiAwNmZiMmRkMzhkN2QyOTk5MGFjYjcyY2YyNjc4M2EzY2YxOGI0ZTBiIHJlbGVhc2UxNTJwMS1wYXRjaGVzCisxNDU5NyBjZmVjMTFiNGE4YTcyY2JlOGE3MmY3MDdhMzAwZmQ4MzBhNmY5MTkxIHJlbGVhc2UxNTJwMS1wYXRjaGVzCisxNDU5OCBhYTBkMGIxZjFiZTNlMTFiNjJhMTkwMmRjZDc0MWNiNWIyY2EzMDU3IGxlZ2FjeS10cnVuaworMTQ1OTkgOGNjNDQyOGM3YmFkOTFlNjRmZDlhMjRlOGQ1MDJmYWJiZTU1MWYzYiBsZWdhY3ktdHJ1bmsKKzE0NjAwIGQwOTdiYzVhYTdmMzQ0NDRlNWY0ZTQ5OTZlMmRiYjlhMjAyMDY4YmMgbGVnYWN5LXRydW5rCisxNDYwMSA0YjhiYzlhYjgxNzU1NTZmOWU4NzkzOGU4Y2RiYjc5YzZlZTM3YzQyIGxlZ2FjeS10cnVuaworMTQ2MDIgMmE2MjgwNjc5NjliOTNjYTU2MDRhM2I3ZmYyZjQyOTMyYWY5ZGZjZiBsZWdhY3ktdHJ1bmsKKzE0NjAzIGE0NjlhYThiMzMyYTU4NDYzNTU3NzFlZDFlODg5YTk5YTA2MTZiZmMgbGVnYWN5LXRydW5rCisxNDYwNCA3OWI2YTZhODgyZDllOGQ1NzEzNzA5MWRhYWFkNzA2ZmZhYTNlYTc4IGxlZ2FjeS10cnVuaworMTQ2MDUgYmRiNWY2YTUyNGI1ZTNmNjQxNzkxOTc5ODgzYzI1ZGJlOTAxNzU0OCBsZWdhY3ktdHJ1bmsKKzE0NjA2IDlkOGY0N2Y4NDQ3Zjk3NjIwMTM4ZDE0ZmFjZjZkYTJkNDdkYmUwMzEgbGVnYWN5LXRydW5rCisxNDYwNyAxYjU0YjIxMzQ2ZDI0ZmEyNDY5MGE3NjJjZWYxYjdjYmEyOGRiMzBmIGxlZ2FjeS10cnVuaworMTQ2MDggYWVmNWE3YzYyMjkxZWI2OWVlNDM4ZTg3YzFiYWEzMmMyNGJkZjI1NyBsZWdhY3ktdHJ1bmsKKzE0NjA5IDI1YWRjNWM4ZGQ2ODAwNGUzZmYxNzgwZDYwMDNjMGExYTkxOTIxY2UgbGVnYWN5LXRydW5rCisxNDYxMCA2OGUwZWYwNTI4MTUwNThmMDIyNTQ3OGI0OTM5ZDJlOTY5ZWQyODA5IGxlZ2FjeS10cnVuaworMTQ2MTEgN2JkOTdjM2RkNDMyZmQ5NDU5OGQ4Y2NkYzVkZDMyNGY2MTYwZjlhOCBsZWdhY3ktdHJ1bmsKKzE0NjEyIGM5NDU3MmE1MDk5NTIzMThlYTEzODgzMTQwNmE4ZDU4ZGM0YmZkYjQgbGVnYWN5LXRydW5rCisxNDYxMyBjMGQzNmY5MTZhZmQ4Y2E3MDFkZDU2NTg4ZDY0MWY5MmNhY2RhZTQxIGxlZ2FjeS10cnVuaworMTQ2MTQgZWY5OGVlNmFlYjQyYWUwMWU0Y2MwZjY4Zjk2NTNiZTExYWEzNzJmMCBsZWdhY3ktdHJ1bmsKKzE0NjE1IDA0NTZhOGMyZWJmN2MyYTk3MGYxNjczNjE2MmJiMzE0YmQxOTAyMGEgbGVnYWN5LXRydW5rCisxNDYxNiA3M2RmYmVlMTUwMjcxZjNhN2EwYmRmODE5MjNmNzY5Y2JhNjA4NTE3IGxlZ2FjeS10cnVuaworMTQ2MTcgZGU4NDA0NTczZmU1MTJjN2NkYTY5Y2M2MDRjYzhjOTNjMTUxMTEyNCBsZWdhY3ktdHJ1bmsKKzE0NjE4IGY2ZDFkMGZkYzFjN2M3MjAxYjQ5MGFjNzU5NjA3ODQwNzczN2FjNjcgbGVnYWN5LXRydW5rCisxNDYxOSA0MjFiMTYyMGY1ODJmOWE3YjgzZmMzYjkwY2FhOGVmOTQ5ZmIzMjU0IGxlZ2FjeS10cnVuaworMTQ2MjAgODAyMzcwYTYwZWY3ZTNkNzFmNGFhN2RiYmNiNGZlNmI5Njc1OGE0ZiBsZWdhY3ktdHJ1bmsKKzE0NjIxIDczNGYzYzA3YTZiYjlmM2Q1Y2MyNzkyMmVkMDcyYzY5MjBlNjkwMWIgbGVnYWN5LXRydW5rCisxNDYyMiAxYTU4ZTZmYzNhOTU0ZGY3OWY4NWYzOGQxMzAzMzgwMTI0ODU1OTU1IGxlZ2FjeS10cnVuaworMTQ2MjMgODI2NjkwYmExYWU2OWI4YjU4NGU0ZjY5NDdkNmZlZGM1NWUzM2UyMiBsZWdhY3ktdHJ1bmsKKzE0NjI0IDJhNDBlOWNhZTg1OWRjYTA0ODhmZGNkZTgxNjhjOGY1MDk4NWMyMmQgbGVnYWN5LXRydW5rCisxNDYyNSBkMDQwNDc4MGYwM2JmNGUyZjJhMzIwOGNlZWE2YWFhZGIzNGQ2MmIyIGxlZ2FjeS10cnVuaworMTQ2MjYgNWU0OGQ4M2MwZmNlMTcyMDQxOWJhZWU2MzdhM2QwNDc3MzM1OTBkNiBsZWdhY3ktdHJ1bmsKKzE0NjI3IGEzOTkyYTc4OWUyZTdiYjE1N2U3YjI5OGE1N2U4NzhhNzFlYzQ1NzkgbGVnYWN5LXRydW5rCisxNDYyOCA1YjMzZmNhMDJiNzg1YmI2ZGI3MDE1YzExNTkxNzAyZDU4ZDYwNTRlIHJlbGVhc2UxNTJwMS1wYXRjaGVzCisxNDYyOSBhZGRlYTExNTdhYTdmOTA3Mjk4YmFiOWU5OTcwNTIyNGIyNjVkY2UxIGxlZ2FjeS10cnVuaworMTQ2MzAgZTEwNTE1ZTdkMzU2Y2NiYTdkNDc0MTY0YzE3YTRmNTM4NTE4NjM0MyBsZWdhY3ktdHJ1bmsKKzE0NjMxIGY5ZGIzNjU0YTFmZDA4NzY2YTA1NmUzNjAzNzBlYTVmOWM3ZTAwYWQgbGVnYWN5LXRydW5rCisxNDYzMiAzOThhNDU5OWVlZTMzY2U5YjczNGMzY2U5YTg0OTM0MWZjNjNiY2RiIGxlZ2FjeS10cnVuaworMTQ2MzQgNmUzYzgxYmQ4MjkxZWRlYTdmN2Y0ZDc2MDQ1NGVkZTUyNjU0MmViYyBsZWdhY3ktdHJ1bmsKKzE0NjM1IDIzZmQ3ZDEwMDY0ZWIxNjIxZmNlY2JmYTAyZjJiMDE1ZGE5Yzc2ZGUgbGVnYWN5LXRydW5rCisxNDYzNiBkNDY2MmQzODE3NDhhYzZjYTZiNTUwYWUzMTI2OWY1MWRkNzM1Y2EzIGxlZ2FjeS10cnVuaworMTQ2MzcgZjkxNDFiZWJlZDQ4ZjRlNTlhMTFkYjEyY2U2MGNhNTQ1YmEwZTI1YSBsZWdhY3ktdHJ1bmsKKzE0NjM4IDNlNWZiZWY5YjFmNTFjYTYxNGFlYzczZTMzNDJjZmRjN2FiNWFiOTggbGVnYWN5LXRydW5rCisxNDYzOSAyNGMxODdiOTI3NzM4NDg2YWYwYWI0NGUwNmRkMDIzZmQxYzc5NzExIHJlbGVhc2UxNTJwMS1wYXRjaGVzCisxNDY0MCA3NDEwNjkwOTI4MzE5YmQ4MTJkNmMyMGIyNDZiNDczYjg0OTU4ZTk4IGxlZ2FjeS10cnVuaworMTQ2NDEgOWQ1M2ZjODA0M2JhNzlmNTRhMjk2MDFiNDQyZDZmZDEyZTY1MjA3NyBsZWdhY3ktdHJ1bmsKKzE0NjQyIGJlOThlMDU1ZTM5ZDk5MTQ1N2RkNjdjODg4ZmJhZWE0NTE5YTQ5NjAgbGVnYWN5LXRydW5rCisxNDY0MyAyNDE5OWMxYjkxODJhMzZjYzc5M2MyNjQ0NWVhMGJlZTYzYmU5YzA3IGxlZ2FjeS10cnVuaworMTQ2NDQgNDQxMmM3YTMyNDk3ZjkwYzI5NzFiMmQxZDBhMWEwYzc1ZWUxMGFhZSBsZWdhY3ktdHJ1bmsKKzE0NjQ1IDlmMjYxZTk0YjJiMjViMDQxZGJmZmEzZWIyZTUzNTJmNzQ0MTU1ODEgbGVnYWN5LXRydW5rCisxNDY0NiA1MzA1ZjliMDFmYzc1NDU3ODAyYjE3MTYyN2Y0Zjk4ZGJlNmY5MTc0IGxlZ2FjeS10cnVuaworMTQ2NDcgNTA3ODMzYjE4MjEzYjcwYjdjMjIzZWI5Njg2MzdkNTJhYTU1NTk3NSBsZWdhY3ktdHJ1bmsKKzE0NjQ4IDEzYmM2OGZhZWI2NTViNjZkYjY1M2Q0NjFkZTgwZmM3MGExN2Y2MTEgbGVnYWN5LXRydW5rCisxNDY0OSA3NGI3MjEzZmI2MDkyMGEwMWU0MjFjOTQ1MGNlNmU0Njk2ZWY0MGZiIGxlZ2FjeS10cnVuaworMTQ2NTAgZjc2YmY2MWNiMTljNGE3ODNhZmEzZjc4OTg3MGFhNWU5MTU2NzE1NCBsZWdhY3ktdHJ1bmsKKzE0NjUxIDU3NDI4M2RiMmIzZGRkZWYzNjlkZmQwMzY5Y2U4YTg4ZTJiMDJkMjQgbGVnYWN5LXRydW5rCisxNDY1MiBkMGUwNmVmYjMxNjUxZjBlNGNkY2I0M2Y2MDc4Nzc1NTgxOWEwYWEzIGxlZ2FjeS10cnVuaworMTQ2NTMgOGJkYzI1ZDIyOTI1YzIxYTEzNmM1MzMxMDE3OGU5MTNkYmUwNjY5NCBsZWdhY3ktdHJ1bmsKKzE0NjU0IDI4MDAzYWZhMWEyZjA5MWYzMmZmZjMzYWJiMTc1YTJmMmIyOTA4NTMgbGVnYWN5LXRydW5rCisxNDY1NSA4NzZmMzU4MjhlODcwYTJmMmE3Mjg4NmYzMTI1OWYyYTlkZDhkMjRmIGxlZ2FjeS10cnVuaworMTQ2NTYgNTEzMzU0ZDg3YTg1ZTc3ZTMxMTM5N2VlOGY5MDQ2YjM1OTljZjBmZCBsZWdhY3ktdHJ1bmsKKzE0NjU3IDhiODhlMWJjMGUxYjRiMGM4MmVjNDIzYWZhYzRlMzFkY2VlY2IwZDYgbGVnYWN5LXRydW5rCisxNDY1OCAzYzYyMGY2NWVhYTViNWViNjViNGU2ZmM2MWUxMjkxZjNkN2Q2YmMxIGxlZ2FjeS10cnVuaworMTQ2NTkgMzBkOTI0OGUxMWJiYjIzMWY3Mzg3NDNmM2MyZDFlNTViMjA0NDkxMSBsZWdhY3ktdHJ1bmsKKzE0NjYwIGE5YjVhMzFmZjhjYjE5MTM3MDc1ZjkzYWE3ZmE5YjU2YmZmMmI1YTUgbGVnYWN5LXRydW5rCisxNDY2MSBkN2E0YTVhZTJkYWVjNDdkNjc1ZjI2NmMzNjYyNmRiMzg5MDA5NGYwIGxlZ2FjeS10cnVuaworMTQ2NjIgYTEzMjk0YWVmMDJlYTRmZWIzNGI1NmU4ZjhmODg1NWVlMDEwNDVjNyBsZWdhY3ktdHJ1bmsKKzE0NjYzIDRjN2JjODg1ZjQyMGFmYTU4YTY2NmY5NDE2YmEyNDAyNzE3YmI1OTEgbGVnYWN5LXRydW5rCisxNDY2NCBlZmIzYTQ1YzY2ZjMxYWM4OWE4NGQ3YmM0NzkzMzRhZDhlZGM5MjRmIGxlZ2FjeS10cnVuaworMTQ2NjUgODgyMjVkZjM1ZWZiYWM0NmJiNWJjMTc2NWZkYzI4Zjc0MTk0NzdjZiBsZWdhY3ktdHJ1bmsKKzE0NjY2IDMzMDNhNWJhYzZkZGQ0MjAxMzM4MDFlNjk1YzRjY2JhODAxZjNjMDAgbGVnYWN5LXRydW5rCisxNDY2NyAwZmRhYzFmNTRlYzgxMDM1MTE1ZWY2ZmQ3N2MwMDRhN2M1ZDA2ZWZmIGxlZ2FjeS10cnVuaworMTQ2NjggOTNkYWM0MDUzMTg5YzBmNTUwYmY1NjlhNmY4MmY5NmQ3MjYxNTAxMyBsZWdhY3ktdHJ1bmsKKzE0NjY5IGVlNjQ5MmE1ZmRlZTY2YTgzNDIxNWIxNmFiYzg4NjI5NTUxNWRiZGIgbGVnYWN5LXRydW5rCisxNDY3MCBmMTA0MjUxYjZmOGYzN2VmNWZiMDAxMTQ4YmVlNjE3NzEzZDNmMDkyIGxlZ2FjeS10cnVuaworMTQ2NzEgODE3MDJhNzM1NGVjYjUwY2UwNDYzMzRkZDA5ZDhiYmU5ZGVkNWY4YyBsZWdhY3ktdHJ1bmsKKzE0NjcyIDE3ODlmYWU1ZjA3NDFhMDNjOWQ0NTZiNGUzYzM2ZDQ2NzNmNmM2NzQgbGVnYWN5LXRydW5rCisxNDY3MyBiNWU4MTI3MWM0YzhiYmNjNWFmNTZjNWY1Mjk1ZjZlOTkyYzMxOGVmIGxlZ2FjeS10cnVuaworMTQ2NzQgNGI4YjJlMjhiZTM0OTI1OThmYzkxZjFkOWFhYmRlZmY1NDViZGM3OSBsZWdhY3ktdHJ1bmsKKzE0Njc1IDk2ZmE0NmQzNDg5OGFjZGQ3YmM2YWZhYTNjMTk5MTEzZTYzM2VmMGIgbGVnYWN5LXRydW5rCisxNDY3NiAzMjYyN2RjYWZhYmZmNzJmNTNjNTc2NGJmOTQ0ZDYwNzQ0MmJiYTgwIHJlbGVhc2UxNTJwMS1wYXRjaGVzCisxNDY3NyAyM2RjODlhZDA5OTZlODk1NjFiNDBlMzg1YTAzYzU5M2YxYmQ1NGY5IGxlZ2FjeS10cnVuaworMTQ2NzggMzgzMTBlYjA2NTllM2E0YzQxNzM1YzhmZDkzMzc0ZDk5OWYyMjUyNiBsZWdhY3ktdHJ1bmsKKzE0Njc5IGY5NGQxMGI2ZDBmNGQxMzM2NmQ2YzdlZmMyMGM2YjNlNzgxMWI3MTkgbGVnYWN5LXRydW5rCisxNDY4MCBjOTQyNDdiNWMzNTU1NzhmNDYyNmQzZjY3Yjk1ZDllOTAxOTMyZTcxIGxlZ2FjeS10cnVuaworMTQ2ODEgODY1MWYyZGE3YzRjODcwMWU1ZDkyOTNmNGI2NWI5YzVmYjc1ZjlkOSBsZWdhY3ktdHJ1bmsKKzE0NjgyIGUzNjJmMzI2MDQ4Y2EyZDFkOTJmMTExMzQzOGJlOTYxYjlmM2YyZWQgbGVnYWN5LXRydW5rCisxNDY4MyBkNTBmYTM2NzBiNjZhMTdmNTYzMTU5ZjIwY2Q1OTU5Yjk0ZGNmZWQzIGxlZ2FjeS10cnVuaworMTQ2ODQgMTQ4ZGI2MzIyMTYxZmUyODQ5NmE0MDY2YTlmNzFjNmRhZDNmN2NmZCByZWxlYXNlMTUycDEtcGF0Y2hlcworMTQ2ODUgMDFmYTVjYTk4ODEzYjQ1NWM4MGMwNThmMGE4OWY5MzE2YWNiNmY1OSByZWxlYXNlMTUycDEtcGF0Y2hlcworMTQ2ODYgNzVkNmM3YzNlYzU1MDBlNDZhMzFhZTUzOTFkMTU2Y2ZkZjY4MzNkYiByZWxlYXNlMTUycDEtcGF0Y2hlcworMTQ2ODcgNzYxMGVlZDNlMDMzMjgzZmZjYTlhYzUxNWQzMzg3ZWI4OWI4OTljOSByZWxlYXNlMTUycDEtcGF0Y2hlcworMTQ2ODggZjc4ZjQ3NzI1NjhlYzYxY2FmMWNlMTk0NmYzMWYxOGQzNmFiY2NiYyBsZWdhY3ktdHJ1bmsKKzE0Njg5IDc0ZDk3ZDc5NWM0ZWU3M2NkODc3Mzk0MTY0MzM1ZDQ1MzBiZmVlYmIgcmVsZWFzZTE1MnAxLXBhdGNoZXMKKzE0NjkwIDNmNTZjZGEzZDJmYzQxNzEzOGFhMGUzNGZiMDU3ZWJkNTNjZTRkZmMgbGVnYWN5LXRydW5rCisxNDY5MSBjNzQ1ODkyM2Y2YTJkMzMwMzQ1ZDExMDllYWMyYWQ5ODgzZWZlNTQxIGxlZ2FjeS10cnVuaworMTQ2OTMgZjI3Y2MxNzM1MTdlMzQyYzMxMjdmMjAwN2RmMzlmOGM5NzA5OGQxMCByZWxlYXNlMTUycDEtcGF0Y2hlcworMTQ2OTQgMGY2ZWFiMDNmMjg4MDFiNjMxNGY0OWE5YjFiZWI4ZjE5YWY1MmFhZiByZWxlYXNlMTUycDEtcGF0Y2hlcworMTQ2OTUgMzY2YzFlOThmNzA3OGJmODBjNDFjNjVhNWUwNTExYWQ0NmJkZTgwMSByZWxlYXNlMTUycDEtcGF0Y2hlcworMTQ2OTYgMGE3MDYwNzJkNTBhZjBmNmNmNzk5MTgyMjFhNDZhMWNiYmY2ZjUyNiByZWxlYXNlMTUycDEtcGF0Y2hlcworMTQ2OTcgMWM5MzVjYTM3ODVjOGQ4MDU4MDI0NjhmM2UzMDI4OWZiYjdkN2JhYyByZWxlYXNlMTUycDEtcGF0Y2hlcworMTQ2OTggNDM4YTQ0MGJiMDg1ZTVlOTUyYzlmNTEzYWMxMDFhZjNkYTI0OTZhZSByZWxlYXNlMTUycDEtcGF0Y2hlcworMTQ2OTkgM2Y4NWM0Yjk5ZDMzMjIwNWI1NWRjMzc3ODI5Yjg1NDg0NTY3ZmM5ZSByZWxlYXNlMTUycDEtcGF0Y2hlcworMTQ3MDAgZmFmMGM5ZTliOTJmZWIzOTNlYWUxNWMyYTYzZGE0Y2U2MTk1MmFhMSByZWxlYXNlMTUycDEtcGF0Y2hlcworMTQ3MDEgZjIzODY0ZTRhZDJjYzU1MTI0YzFjZGEwY2M4NTJiN2EzODFjOTQ3ZiByZWxlYXNlMTUycDEtcGF0Y2hlcworMTQ3MDIgZTU3Y2U0ZGY1NzA3YTcyZmE1MjIxMTEwNTE2OTE0NjYwZTAyNzE4ZiByZWxlYXNlMTUycDEtcGF0Y2hlcworMTQ3MDMgNGZiZjY5NjIwODdkNThmM2IxMGQ5OGNmYTJjY2I1ZTdmNzhlZWRiNSByZWxlYXNlMTUycDEtcGF0Y2hlcworMTQ3MDQgYmRhYjljNTVmMTY4Mjk3ZWNkMDhkMmY2ZDZhNWYzNWUwMjVjMGIzOSByZWxlYXNlMTUycDEtcGF0Y2hlcworMTQ3MDUgYTMzZjJhM2RiODkyN2ViMjU0MjJlYTI2ZTJlOWQzZWYyYzY3ZGQyYyByZWxlYXNlMTUycDEtcGF0Y2hlcworMTQ3MDYgMmVhYWVkNzU4OWFlNWUwZDk2OTliZmMyMzA1ZjBhOGE3YTZkNTYzOSByZWxlYXNlMTUycDEtcGF0Y2hlcworMTQ3MDcgM2FmM2IxZWI2N2ZlMTRjMWE5MDAwZmY0ZGNhYTQ4YTI4Mzk1NGQyNyByZWxlYXNlMTUycDEtcGF0Y2hlcworMTQ3MDggMjYxMmI5NmI5OWFjNDRmYmY3MDQzZTIxNjYzMDljOGEyOGZhMDY1YSByZWxlYXNlMTUycDEtcGF0Y2hlcworMTQ3MDkgMjhjOGNlNjY1YjAzMjBkZTk3YmEzM2FkNWIzNzM1Yzc2NDIxNWE1YiByZWxlYXNlMTUycDEtcGF0Y2hlcworMTQ3MTAgYjU4ZjJmMGNkNTViM2U0MjgxOWI2YzBkNGQyOTI2ZjYwYzQ5MjA0NiByZWxlYXNlMTUycDEtcGF0Y2hlcworMTQ3MTEgOTYzNDhiZWI5Mzg0Mzg5ZmJlN2YyZDkwNWQ1YjNiYmEyNjMzMmJmZiByZWxlYXNlMTUycDEtcGF0Y2hlcworMTQ3MTIgMTY5YWRkNmE0ZGMxYjBhMjI5NjMxOTRkYTM2YTkxODQwY2Q3NTY5MSByZWxlYXNlMTUycDEtcGF0Y2hlcworMTQ3MTMgNTAwMGVhZjA1OGRiNzhjZDc4NDI2YmMyMmE2NjA5YWY2ZjBkNDhmNyByZWxlYXNlMTUycDEtcGF0Y2hlcworMTQ3MTQgNzAzZGE3ZTk0YjIxNjVkMjU4OTc4NjNhYzQ4NGM2MjFkY2U4Zjg0YiByZWxlYXNlMTUycDEtcGF0Y2hlcworMTQ3MTUgZDdiODdmMGZmMGQyYTdmNzFmY2E2NjQ1YjAyMmQwNDZhYWQ4MjQ1ZSByZWxlYXNlMTUycDEtcGF0Y2hlcworMTQ3MTYgOWQ3MzU2Mzk0MjlkMTNhZmNiOWFkY2MwNDAxMGQ0ZjFiZGQ3MjVmNCBsZWdhY3ktdHJ1bmsKKzE0NzE3IGUwZmIwNGQxYmQ5MzRiOTBiMzhhNjBiNWZmYTBlZTQ4MGYzYjljYTkgbGVnYWN5LXRydW5rCisxNDcxOCA3NGZiNjAyYjc2YzJmZmIxZGU5Mzc1YmNlNGEzMmI4ZGI5MjJhZjA2IGxlZ2FjeS10cnVuaworMTQ3MTkgMTI3ZjcwZjU5YjAyNjY0M2EyMzJiODllMDU0NWMyMDQyOWMzYzZmZCBsZWdhY3ktdHJ1bmsKKzE0NzIwIDY2MzEyOWYzYWJlMDAxZWJkNzU3MGUyMWFjZTQxMDkzMDNiOTc2OWUgcmVsZWFzZTE1MnAxLXBhdGNoZXMKKzE0NzIxIGI0NzI0OGNlN2I2Yzk0NTA0OWM2ZGZlNWU3YWM4OWJlMjdjN2MzMTEgcmVsZWFzZTE1MnAxLXBhdGNoZXMKKzE0NzIyIDM5NTIzMTg5NTdjZmEzMzY0ZmFlYWE4ZmJlNmRhOWY4OWJjNGY5ZjUgcmVsZWFzZTE1MnAxLXBhdGNoZXMKKzE0NzIzIGJkMTAxNDIxNWY2MjI1NGE2ZDA0YTViODNmZTU2ODI5Y2VhYzI1YzMgbGVnYWN5LXRydW5rCisxNDcyNCA0ZmEyNWEyOTIyNzNiNzU0ZGJhYjBkZGUwNjQ3OTEwNmUwYTMxMGQ3IGxlZ2FjeS10cnVuaworMTQ3MjUgYzJlZmQxN2NlY2JmMWQ2ZjI1ZWZkNzhlYmMyYmQyOTZkOWYxZWYzYSBsZWdhY3ktdHJ1bmsKKzE0NzI2IGU2YzQ2ODE5ZGI5MjcyOTc2YTJkOGZmOGNlYjBiODgxZjQwMTU1OWUgbGVnYWN5LXRydW5rCisxNDcyNyBiYTgwYzkwNjQ0OTE4MDY3ZTZmNzU4Y2E2YzY0OThkOTM3MjVkYTNlIGxlZ2FjeS10cnVuaworMTQ3MjggYTQxMTgzNjcwMzg2ZTYyZmYzODk4ZTE5NjhlN2I4ZmUzNDJjMTYyMSByZWxlYXNlMTUycDEtcGF0Y2hlcworMTQ3MjkgYzYwM2NkZWRhZTE3NzRlMGVmYzU5YmFhNTVkOGY5MGRjODQxNjhiMiBsZWdhY3ktdHJ1bmsKKzE0NzMwIDEzZmQwZGZlYzU2MGE3ZGQ1NTZhZTA2ODY5YTVhNGZjZWY3NWFlNGYgbGVnYWN5LXRydW5rCisxNDczMSBlNzgyMDM1MmNiODBkMGYzZDdiMGVhYWNjNTFiMWIzZjg3N2M2YjA2IGxlZ2FjeS10cnVuaworMTQ3MzIgMDU2OTcyNTE3MTkxMmU1YjdkN2QxYTU5ODRiM2U5NzkyNzUwN2RhNSBsZWdhY3ktdHJ1bmsKKzE0NzMzIDY5YjBmY2VmNGMwZjIxZDc2OGI3NDc1NWU0ZGJlNDJkMTVlMmRiYzMgbGVnYWN5LXRydW5rCisxNDczNCA3NjUxNjIwNGI2MjBiZWI4NGZjMWRkZTlmYWVkYjg0MzQ0ZTIyZTUyIGxlZ2FjeS10cnVuaworMTQ3MzUgMWUxYWViYjNlNGY2OWU1OGYwYjRkOGQyMDUzNzA0MzM3ZDQ0Nzk2ZiBsZWdhY3ktdHJ1bmsKKzE0NzM2IDg2ZDljZTE1ODA4OThlZjQ3ODY5NzdkM2Y2YTZhNDE0ZDNjOGIxYjQgbGVnYWN5LXRydW5rCisxNDczNyA5MTRlZDUyODg5NmUwZWQ1YTUwYzJkNTZhZDAwOWQxNzMzOTM4OTI0IGxlZ2FjeS10cnVuaworMTQ3MzggYTBhOWM2OWFmOWY3ODc5NDY1M2I2ZjA5YzA3OWQxOWUzMzExN2NiOCByZWxlYXNlMTUycDEtcGF0Y2hlcworMTQ3MzkgNmZkMGJiMGMwMzMxZWZiZTdiMWYxNTQ1ZGFiYjFlNzM1MTlmNDk2MiByZWxlYXNlMTUycDEtcGF0Y2hlcworMTQ3NDAgZjA3YzMzMDU1N2NmZjg2M2Y1ZTMxNWZiOGQ1ZjFkNjEyMDUyM2FmNCByZWxlYXNlMTUycDEtcGF0Y2hlcworMTQ3NDEgZDc0ZWFhOTJmMGI0NTgzNDQ5MmY0NWUyNDY0YzRhZGM2Mjc5NDExMSByZWxlYXNlMTUycDEtcGF0Y2hlcworMTQ3NDIgNDNkMjI0Nzg2YTU4MWU0NWQzMjZjZTM1MzczY2Q2ZGE1YWMzNzVhNyByZWxlYXNlMTUycDEtcGF0Y2hlcworMTQ3NDMgNjI4Y2ExZTkwNTkxZTUwZTk1ODk4OThiN2Y1YzFkZDAwMWFkMzhmZiByZWxlYXNlMTUycDEtcGF0Y2hlcworMTQ3NDQgZjIyMGZiYTU3NzQ5ZmI4MDMwNWNmZmU5MWJhMDdkNTZhYWI3NmFlZiByZWxlYXNlMTUycDEtcGF0Y2hlcworMTQ3NDUgMGI5NjMzYTQ1ZDY4ZWI4M2JiYmFjOWU4YjI3OTRiM2NhNzQ1MDQ5YyByZWxlYXNlMTUycDEtcGF0Y2hlcworMTQ3NDYgY2EwMTdkZTRmMmZkOTRjNjdiYzJlZTIwYmNhMWI1NzAyM2MxYWExNCByZWxlYXNlMTUycDEtcGF0Y2hlcworMTQ3NDcgMjVkM2RkMGIxY2EyOTM4MDMyOWY0NGFkYWQ2Njg0ODZiMjg0MTgxNSBsZWdhY3ktdHJ1bmsKKzE0NzQ4IDc5OTRkOWRiN2Y0ZDVkZmU1MWViYWQzMDA0NzFkMDFlYmJjMDAyOWIgbGVnYWN5LXRydW5rCisxNDc0OSAwMDlkOGZhZTgxZWFlNmVkYmI3ZmQ3M2YwYjBmOTA3ZWZkNmNlMmE1IHJlbGVhc2UxNTJwMS1wYXRjaGVzCisxNDc1MCAwYzQ0N2MyODkxNDY2ZmQxM2ExMmQyM2RlNTRkOTQyYjg3Njg2MDYyIHJlbGVhc2UxNTJwMS1wYXRjaGVzCisxNDc1MSBkMmEwMDYxMDkyZjgwNTAxNTVkNGNiOWI0NGQyNjljYmFhZGQ5ZmNmIHJlbGVhc2UxNTJwMS1wYXRjaGVzCisxNDc1MiBkYWY0ZWZjM2FiYTkxYmMxZTlhOTI1ZDI5ODNmOWQxZjU5NWNiMWU0IHJlbGVhc2UxNTJwMS1wYXRjaGVzCisxNDc1MyA4ZGMwOTE4YWUyYzJmZmNlN2NhYTRlYTBkMjNhYzZmNDJlYTAxNmFlIGxlZ2FjeS10cnVuaworMTQ3NTQgZjk1NWZiZDUxM2VlNGY2ZDRhNmM5ODY2OGUzNDhhMjdhZTAxYTgyOSBsZWdhY3ktdHJ1bmsKKzE0NzU1IDU1NmMyN2IzYWI2ZWJmNTZkMzM3ODI0NGM4MzcwNGE0NjIyZTJlODYgcmVsZWFzZTE1MnAxLXBhdGNoZXMKKzE0NzU2IGM4ZTAwMTBjMTJlZjMxZWRjYmUzMjkyZGY2NmU2M2QyM2FkZmM3MGEgcmVsZWFzZTE1MnAxLXBhdGNoZXMKKzE0NzU3IDg3YWVlNGVmMjlmNTI4NmFjNmFjODMwMDRhMjRhNGI3YWY5YmIzMGYgcmVsZWFzZTE1MnAxLXBhdGNoZXMKKzE0NzU4IDMyNTkzODMwMGE3ODQxNWM2MWI3Yjg0M2NiMTVlNDhjM2JiMzAyYzggcmVsZWFzZTE1MnAxLXBhdGNoZXMKKzE0NzU5IDZlN2VjOWEwMGNjZTVjYjA5ZDhkNjU3YTkxNjhkMGI5Y2M3OWZlZTEgbGVnYWN5LXRydW5rCisxNDc2MCAzNjkwYzg3YTliYzY2NGM2NTM0YzMzNjkwNTk0MDg4MmY4YTAwMjI5IGxlZ2FjeS10cnVuaworMTQ3NjEgYWZhYjdiZDcyYzQ3OTVkNDg1NWVhYjNlMzk4NDgyMzY0ZTUxMzFkZCBsZWdhY3ktdHJ1bmsKKzE0NzYyIGEwNWQ4MzM4ZmFjNTczNzQxZWEwYmQzOWU4YTdiY2JhYWYzMjkzYTcgbGVnYWN5LXRydW5rCisxNDc2MyA5Y2FjZDExNjY5ODYyM2NmZGFkOTAzMDkwMTY2MjM5NmNjNjk4NDBjIGxlZ2FjeS10cnVuaworMTQ3NjQgODU2ZGFkZjU2Y2Q5N2IyOGYwM2E4ZjMyYzRiNzJiYjNiMDY2OGRjNCBsZWdhY3ktdHJ1bmsKKzE0NzY1IDIzZmNlOWI5ZjNiYzkzMTdjYzI4MmRhNTY0ZGY5YWY5Y2U3NmIwNjggbGVnYWN5LXRydW5rCisxNDc2NiA2ZjBkMWUzMzQ2Zjk1YTcwMWM4ODBjN2ViNTViNmFhM2NkYzI4OTk3IGxlZ2FjeS10cnVuaworMTQ3NjcgOTQwNDE5NWZmM2ZlZmZhY2JlMjYwOTFjMGUxMGUwYTkyNTkzZDE3MyBsZWdhY3ktdHJ1bmsKKzE0NzY4IGQzZTRhNDU2OTI4YmUxZGE0MTRiNmQ0ZTA0MWIyNmE4ZjVlMmYyNGUgbGVnYWN5LXRydW5rCisxNDc2OSAxOTU2ZWMwNzY3OGU4NmYwNWVhMWRjNDJjODMzMWE4N2I4ZjMxMTFiIGxlZ2FjeS10cnVuaworMTQ3NzAgNzQwZWMwOGU2ZWMxYzU5MjdmNjNlNTFjZGFmNGRiMTNiOTk3YzMzNCBsZWdhY3ktdHJ1bmsKKzE0NzcxIDQxYTcyNWMxMjU1MWY2MWI0YjI4Y2YzNDFlNTAxN2UzM2IzNDFiZGYgbGVnYWN5LXRydW5rCisxNDc3MiBkNmJjM2JkNTI0MjRlNmExYmNhNjFhOTlmZDBjODZkNGVhY2RhN2RjIHJlbGVhc2UxNTJwMS1wYXRjaGVzCisxNDc3MyBlMTIwNDE3MzIzMDQwOTM1ODllM2RlN2ZmNDAyMzg0NDRkYTFiYjA4IHJlbGVhc2UxNTJwMS1wYXRjaGVzCisxNDc3NCBhNGE3ODVhMDEzNjBhZWFlMTlhYzQxODM5NzRkZWQ2NWFjMmZmNjcxIHJlbGVhc2UxNTJwMS1wYXRjaGVzCisxNDc3NSAwMWE2MGI5M2MyZjUwMGYzNTczMDZiMzlmYTlmMGVlOTU2ODdlYjY2IHJlbGVhc2UxNTJwMS1wYXRjaGVzCisxNDc3NiAwMTljMzQyODBmYzIxZjNiNzI5ZmU5MzlhYjU1ODdhZjRmZDMyZDUwIGxlZ2FjeS10cnVuaworMTQ3NzcgYTlhMWU1OTFlYjNhMWIxZWEwNTgwMTQ4NWI2MWNkYTM5YmQ0ZjRlMSByZWxlYXNlMTUycDEtcGF0Y2hlcworMTQ3NzggODFjMjNiMzg3YmIwODQ4YjBmNWVhZWRiYWQ5YjQ5ODZkYTFmOGQ5NiByZWxlYXNlMTUycDEtcGF0Y2hlcworMTQ3NzkgMmUyMWFkMWM2MGZmODY2MzAxMzg2NDBmNWE0YjcwMDM0YWVlNDc5NCByZWxlYXNlMTUycDEtcGF0Y2hlcworMTQ3ODAgYWY0Nzc4YTEzMDU1NjkxN2RiYWFkZTNmYTQyMTYzMTViYzM5N2JmOSByZWxlYXNlMTUycDEtcGF0Y2hlcworMTQ3ODEgNjM3NGM2NjY5MTQ3OGU2NzJhZTlkNWY1YmEyNjg0NzFmY2Q3YzIyMiByZWxlYXNlMTUycDEtcGF0Y2hlcworMTQ3ODIgNDJjYmVhNjc3N2I3ZWU5ZmFjYTZiY2Y3NzZiNWZiYWQwNzFlNTg1YiByZWxlYXNlMTUycDEtcGF0Y2hlcworMTQ3ODMgY2FlNTZmN2U4MGZmZWU3M2E4NGI2MTc3ZDJhNzBiNDViY2Y2YWMwNiByZWxlYXNlMTUycDEtcGF0Y2hlcworMTQ3ODQgZDhiMjJhNzgxOTA1YzE5MTE0ZTEwMWMzOGUzODYwMGQwMjMwM2Q3ZCByZWxlYXNlMTUycDEtcGF0Y2hlcworMTQ3ODYgNWNhY2NhY2UxZGNmODg0MmQ0YzQ1ODZlZjllYzBlOTUwZjY3MmEzNiBsZWdhY3ktdHJ1bmsKKzE0Nzg3IDE3OGM2ZWZhZWQ4YmFlMzFiM2Q1M2VlYWFmZDM3MDdjODE1ZmVlNTMgbGVnYWN5LXRydW5rCisxNDc4OCAxNDA5MmFiYjhiYjRiZTU0N2M4NGFlOTE0Y2VhNTUxNDQ4YWQwNDM2IGxlZ2FjeS10cnVuaworMTQ3ODkgYjJkNDRiYjc2MWQ0YjVhMTRkY2VkZjQ3ZmI5Njk2ZDg1ZGYyZTg1NyBsZWdhY3ktdHJ1bmsKKzE0NzkwIGEzODRiMGY2OTUxMmY2ZGRlZTYyMzVjZGNkY2Y0ZmFiMmU2Mjk2NGYgbGVnYWN5LXRydW5rCisxNDc5MSBmYTEyYTU2MzM2OGQ1MmYyYTcyN2Q4ODcyYmY5ZDlmMWI4ZTNhZTYwIGxlZ2FjeS10cnVuaworMTQ3OTIgZjg3YjU2ZWViYWNjNzJjM2VhYWE0OTFmNzFkMmUzZTQ5YzE0MThlNCBsZWdhY3ktdHJ1bmsKKzE0NzkzIGRkYTM3OTRjOWNkOTA0OWJhZTU3NGVjZWE5ODJjMjY2MmJkYjM1MDMgbGVnYWN5LXRydW5rCisxNDc5NCBiOTA4ODBjMGU1ZWIyMjVjMThmMDA3MjMxMjA0ZDY5NGFkMDkwM2JhIGxlZ2FjeS10cnVuaworMTQ3OTUgZDg5NTU2YzA0ZWY5OWRiYzlmYTZiMzhiNzg2YjFmODA4NDIyMmJjNCBsZWdhY3ktdHJ1bmsKKzE0Nzk2IDVkMzE2NWUzMGJjZTYzMTNjNDU4M2IxZjQ0ZDUxMDhmYzAzMjFiZTQgbGVnYWN5LXRydW5rCisxNDc5NyA4OGIwYjMyMTA4Y2ZhMmQ0ZTM0ODM0ZjllYjMyMDJjNjhkMTM2OWM3IGxlZ2FjeS10cnVuaworMTQ3OTggMjNhMWM1MjZjNmYwMmM1YmRiMDU2ZWM2ZWRmOTdhOTYwNzk0YTZkNiBsZWdhY3ktdHJ1bmsKKzE0Nzk5IDVkNDVjZmExYmM5MTM4OWE4NmUzZDRjOGY5ZDA2NzA2YzVjMzczZTMgbGVnYWN5LXRydW5rCisxNDgwMCAxZTVjZDcwY2VlMTA3NTZiODg4YTc1NjRkMjAxZWY2YzJkOGI3Nzk2IGxlZ2FjeS10cnVuaworMTQ4MDEgNDJkOGQ3NmRhZTZkMmM1ZDViYzEwOGIzMjJiMTE2NWQ2NzEyOThiOSBsZWdhY3ktdHJ1bmsKKzE0ODAyIGM2Y2IwZDI2NjgzOTMwMmI4YzljNzVlOGE5MWMwYzYzMTVjZmUzOGIgbGVnYWN5LXRydW5rCisxNDgwMyBkZTI5NmE3OGFiZmRjNGU1MDJkYTM2NTdmYmZmMmJkNWEyZGM1YzJjIGxlZ2FjeS10cnVuaworMTQ4MDQgNzc5NTU3M2VjMzU4MWM1MTgxOTU3Mzc3ZThkYzM5YTA3N2Q5ZDg5ZCBsZWdhY3ktdHJ1bmsKKzE0ODA1IDA0OWYwMGJmYjljZWYzNDAyODg2ZTU2OTBhMTcwNDdjYTE0NTg3M2EgbGVnYWN5LXRydW5rCisxNDgwNiBjNDNiMzgwNzkyMjhmMzk5MTU1ODk4NzViMThhMzRiNTAxYzczOTI4IGxlZ2FjeS10cnVuaworMTQ4MDcgY2E4ODgwY2YzNjc0Y2EwZjgyNjM1MGRhYzRjY2Y3ZWFlMzU1OWE1MiBsZWdhY3ktdHJ1bmsKKzE0ODA4IGRiMDNhMjljZjE2YjVjMjJjYmNlNGQxNTVjMzgxMzc4OGZkNjljOGMgbGVnYWN5LXRydW5rCisxNDgwOSBiOTgxYTdhOWI3MzhlOWMxOTM1YjAzYTkxNTI1NTZiZmQwYzIwN2QwIGxlZ2FjeS10cnVuaworMTQ4MTAgODZjZmZlNTBmYjE3MmMwMjUzZDBiMTQwOTg4ZTcwNGNlYjQ5YmJmOSBsZWdhY3ktdHJ1bmsKKzE0ODExIGJjYWIxODlkZGY4NmJkZWNjNjU2MmY1ZjFkMzAxNTBjMGNiYmQ3NTEgbGVnYWN5LXRydW5rCisxNDgxMiBlMjQzNTE5MjZlMTNlYTYwNzUzZDAxYTg2MjdkYTY4ZjBmZjYxOThjIGxlZ2FjeS10cnVuaworMTQ4MTMgMzMyMzEwZmUzZDNhZjM3Mjc0ZTg2OWY1MGVlYWYyOTA2NjA0OTFmMCBsZWdhY3ktdHJ1bmsKKzE0ODE0IGExYmZjOGQ0ZmMwMDZjODE4MDg1OWY5NjI4MmZlYjFhZTc4Yzg1MjQgbGVnYWN5LXRydW5rCisxNDgxNSA5NzUwYWY1ZTcxYjAxMzlhZWNjMGQ0YWNmZDE0ZDY2NjMxMjZjYjZlIGxlZ2FjeS10cnVuaworMTQ4MTYgNjdkNDEyOGRhMjU0M2ExYjQwYTQ0OTUyNTRhYmFhNDA5Mjk3NDc4ZSBsZWdhY3ktdHJ1bmsKKzE0ODE3IGU0OTQzZWJiNWY3ZDIyNTExMDA3ZjllODBkNTI3ZWQwZjI5YzJjYmIgbGVnYWN5LXRydW5rCisxNDgxOCA2NWYzNWI3M2UzNTA1NGQ5NWFmZWFhYmQyODk3MGRkMzg2OTg1NDI2IGxlZ2FjeS10cnVuaworMTQ4MTkgOWVkZWRlNjUxZmIxYTQ4ZTcwY2IwODgwY2EyODI1ZWRmNWY5M2Q4NiBsZWdhY3ktdHJ1bmsKKzE0ODIwIDRhNjFjYzgxZjM2NzM1ZDE2MzU2MTZkODVlYzMzMTNhZWQxOTE1OGYgbGVnYWN5LXRydW5rCisxNDgyMSBmZDJiMDZjNmZmNTNiNzIzNzczMDFjMDNhNGQ1ODcyOTQyYTgwYmZjIGxlZ2FjeS10cnVuaworMTQ4MjIgODk3Y2YwZTVhNDM0YTYwZDE3YTJiYWY0MWNlN2Y1MzU5MmRkZDAxOSBsZWdhY3ktdHJ1bmsKKzE0ODIzIDgzOGRjMzgwZTQ2NzdlZTg4NTcwYTA1YzBhNmM3NzM0NDc4MmJlZTMgbGVnYWN5LXRydW5rCisxNDgyNCA0NGI5NDJmN2ZlYjc2NmViM2U1YmRkNDgzOTBiMmY0Yjc5YTZmZDNmIGxlZ2FjeS10cnVuaworMTQ4MjUgZGM4YWE5NTFkZWY4MDQ1YzEzOGJmMDU5OTYxZGI1ZDRhNDIyOTBmZCBsZWdhY3ktdHJ1bmsKKzE0ODI2IDYwM2RiMGQwYWVkMTQzNDVjOTAwMDQ0YmFkOWU2NWYxYjZjMzMyZTQgbGVnYWN5LXRydW5rCisxNDgyNyA3ZTAwNjM0MmU3OTA3YzY5OTU4YTBlYzQ1ZmIwN2FiZjI0M2FkNmRlIGxlZ2FjeS10cnVuaworMTQ4MjggYTZlNTIyY2I1OTE4NGE1YzBhZjMyNTFmYTExMWI2YTAzYmIwZjM5NSBsZWdhY3ktdHJ1bmsKKzE0ODI5IDI1YjYzMzY3Mzg1ZWIwNjUzYWIyYmMyODRmMjlmMDA2MzE1YWQyOGEgbGVnYWN5LXRydW5rCisxNDgzMCA5NmVhMWE4MDBiMjM5M2M5NjdiYjVmM2M4MmI3YzllMzg4YWVkM2FmIGxlZ2FjeS10cnVuaworMTQ4MzEgZTJkYjg5YTk4Y2IyZjQ5YjQyYzlmMTU3MDE4ZTcwNWRlNTEzYjI1ZiBsZWdhY3ktdHJ1bmsKKzE0ODMyIDM3ODliNjQzZmU4OTgxMjkwYzM1MjA2NDYzMWUyYTY0NDFlYmNhODYgbGVnYWN5LXRydW5rCisxNDgzMyBiYjkwMDQ0OTIwMzA1MzhiZDYxMWZiZDRlZjJiNDYxN2NlMjRkOWEyIGxlZ2FjeS10cnVuaworMTQ4MzQgOTg3N2U5NzgxNzBlYTc1YjI2NjA3MTRkMWNlNWFiMmY4OTE4ZTZiZiBsZWdhY3ktdHJ1bmsKKzE0ODM1IGFlMDY1ZGRiYTBmMTQ2N2NhMjM3M2M0MWJhNDc0NDQ2MDI1ZWM5MDIgbGVnYWN5LXRydW5rCisxNDgzNiAyYTYwZDZmODM0ZmZiNDEyMDIwNzA4NzBhMWE0YTdjZDIyZTc3MGRiIGxlZ2FjeS10cnVuaworMTQ4MzcgZTA5ZDc0MTRkM2VjZjgxNjU3ZjZiZTMyYzIxODc0OWJhM2IzMWRhNCBsZWdhY3ktdHJ1bmsKKzE0ODM4IDhkMWM2OWJkYzRmMmMyYzk1YzE0YjJkMmM4ZWUwMzhkMDQ4MWQ0NGQgbGVnYWN5LXRydW5rCisxNDgzOSA0Mzg3NjA2YTEyODFiNWEwZjlmMzc3ZjlhMGM4YWVlNGZmOWMzZGZiIGxlZ2FjeS10cnVuaworMTQ4NDAgYzBlNGE5MGRjNGZmOWY3Njg4YmJmNGFlYzVkYTdhMGI1YWY0MWUxYyBsZWdhY3ktdHJ1bmsKKzE0ODQxIDdhNTE1ZmMxMGMxZDc3YzM5MjYyODEyMWQ5MjQ4MzM1Mzk3ODMyZmMgbGVnYWN5LXRydW5rCisxNDg0MiA4ODEyNTdkMWU4NTQ0YmY4YWQ1MTVhZTMyZWU5OGIyNWNlODM3NTExIGxlZ2FjeS10cnVuaworMTQ4NDMgNDBhMjY4OWRhZjM3NzY2YzIxZDdmNWZmMmU2NGQ1NTNlNmYyOTkzNyBsZWdhY3ktdHJ1bmsKKzE0ODQ0IDQxY2JkMjk4ZmZjNmMxZDJiNjYyYjhlNTc5ZWNiOTQwMzBmNjhjODIgbGVnYWN5LXRydW5rCisxNDg0NSBmMGUwMmFkYjkxZWJhMTliMzdmNTM1OWZlZjQ2N2U5ZjA5NDRkZDI4IGxlZ2FjeS10cnVuaworMTQ4NDYgZTgxYjEzOWFiOGE0OTU5ZmVhZGIzYTY5MjM5MTZiNzI3ZWM2ZjUwNCBsZWdhY3ktdHJ1bmsKKzE0ODQ3IGQ3MzFjZWY4MTJiMzVlNjE0ZDI2Mzg1MzM3YjQ4OGU0OWVlNDBlM2QgbGVnYWN5LXRydW5rCisxNDg0OCBlOTg3NzBkZTMxNDcyZDM2N2E4ODI4MjBlMzFlNDdiYmEwYzkzMWU2IGxlZ2FjeS10cnVuaworMTQ4NDkgNjZmMTRmZmU4ZWI3MTZmOTZlOGE0ODVkOTZiMWFmZjI2NDcyN2JiZSBsZWdhY3ktdHJ1bmsKKzE0ODUwIDJhOTEwYTc3NTc5YTRkODMyZjZkOWFiODliMWNjMjFkNTQ0MTFkMjggbGVnYWN5LXRydW5rCisxNDg1MSAzMjQwN2MwOGNhZjRkMzU4OWVhZWZmZDIwNWM5MmIyMTEwMzQyODkwIGxlZ2FjeS10cnVuaworMTQ4NTIgNmZkNDM4NjdhYTRmYjA3ZjlmZmViMTM3N2E5ZjNiNDIyMDE2ZTU0ZiBsZWdhY3ktdHJ1bmsKKzE0ODUzIGY3YTBkMjlmYjhiODFlMTQ0NTAyOWMxM2IyNmRjMmZjZDJmMTYxOTMgbGVnYWN5LXRydW5rCisxNDg1NCA5MmVjNzhlMjE3ZDI5YWY4OTkwNGQzZjczNGFjMTJjY2FjNjBjODYzIGxlZ2FjeS10cnVuaworMTQ4NTUgZTJiMDJkNDBhMTQyNWMzYzg1ODJmNjYxOGRmMDk3NjZhY2U5ZTM2YiBsZWdhY3ktdHJ1bmsKKzE0ODU2IGRmZTNiYWYwYWVjZGNlNDgwNDk1YWI5YzdhNTY1N2RlMDBkNGNhYTIgbGVnYWN5LXRydW5rCisxNDg1NyAyZjJmMmIxY2U1NjhkNjFlMWQ2ODcyYTc0ZjA4NGVkNjkyNjQyOGQyIGxlZ2FjeS10cnVuaworMTQ4NTggMjcyMWM3Y2MwYjI3MTVmM2QxYzUxZWI5NTg3NDQ4OTMwOWJhMmI3MCBsZWdhY3ktdHJ1bmsKKzE0ODU5IDYzMzM2ZjIwN2Q1MTI4ZDU1ZDM4ZWVmOGZkNjdiOTAwM2QwZTUyNjkgbGVnYWN5LXRydW5rCisxNDg2MCBlNmFiM2M2MDNmZjkxM2JhNjE3ZWFiNjIxOTU2NjY5ZWE0MzlmZDk3IGxlZ2FjeS10cnVuaworMTQ4NjEgNWYyMjM5NDA2ZGQyMGQzNzQ0OTljYjBlZTI0Y2ViZTYxOTgwNTFiNyBsZWdhY3ktdHJ1bmsKKzE0ODYyIDMwYTQ5ZDE1ZGE5NzVjMjYzN2VlOWMyZDNlNWQ5ZDNmN2UwNzI3NDIgbGVnYWN5LXRydW5rCisxNDg2MyAwNjk5YTdkZmQ3MzdjMjM1MTM5NGVkZDNmZmZmMTM4ZjZiNjgxYTQzIGxlZ2FjeS10cnVuaworMTQ4NjQgZWM1OGI1MDNiNjcwMGM1ZmQ2YjUwNThkNTFkZDAyZjY1NDg3OWExOCBsZWdhY3ktdHJ1bmsKKzE0ODY1IDA3MjdmZjM5ZTY0ZmI5MjY0N2UyZmRkYmQ1YzVmOGNmYjIwOTllMTUgbGVnYWN5LXRydW5rCisxNDg2NiAzZDc4NWMyY2RhODgxNWRiYTY3MzIxZDg3NjM0MTU1NDU4MDE2M2FlIGxlZ2FjeS10cnVuaworMTQ4NjcgYTBlZjhmYTRiMjQ4OGI0MzhkYWVhMTVkZDM1MjU3OTdjNDY3MWM4YyBsZWdhY3ktdHJ1bmsKKzE0ODY4IGVjMzYwYjRlOGY2NmZlN2ViYWQxNjAwN2ZhMzAzYzRiY2M2NGIzMjcgbGVnYWN5LXRydW5rCisxNDg2OSBlMmIzMjgzYzVkYjBhNGQ2ODIwMTliMjk0ZjlmOGFkNDM5MGU4N2U4IGxlZ2FjeS10cnVuaworMTQ4NzAgZTYyMTRhZDJhNjBjYjA3YjFkZDk0OTg4YzY4MjEyN2MwZDkwMjIzZSBsZWdhY3ktdHJ1bmsKKzE0ODcxIGIzYTRlNDUxYzA2Yzg2YTBiMDJmNmQ5NTA4MDdkMjJjNzc1ZDlmNjAgbGVnYWN5LXRydW5rCisxNDg3MiBiNWZjYjUzOTY5OTk0N2NlYjQ3NTM5Yjc3NmRiNGQwNzVlNGM3MjU1IGxlZ2FjeS10cnVuaworMTQ4NzMgMmNkOWM0MzZiZDQyYjM3OWFmMTdhZDRkNWUyMjk0YTVmYzFlYTY5ZCBsZWdhY3ktdHJ1bmsKKzE0ODc0IDEwMzhlNTg2MTA3OThlNGM4MDY3NDIwZGRjMzViYjViZmE2NjdmYTYgbGVnYWN5LXRydW5rCisxNDg3NSBiNDBmNjc5YjEwN2NlNTU4MjljNmI2YWY2YTk0OWIwNzEwNjk5M2FmIGxlZ2FjeS10cnVuaworMTQ4NzYgMWI2OGQwYWQ3ODM1NmMwZmEyMGRkNzQzM2EyOTBiMzI0ZWE1OGYzZCBsZWdhY3ktdHJ1bmsKKzE0ODc3IDcxMTM0MGQ0NDc3NzYzOTE0OTYwODAxNDljZWIyZTliY2UwMTdmMDkgbGVnYWN5LXRydW5rCisxNDg3OCBjMTYwNzQ5YWNmZjg1NzFiNWFjMmM0MTVlYjFlNjJhZGMzYWQ3ZjJlIGxlZ2FjeS10cnVuaworMTQ4NzkgNjY3ODc4Nzc2OTMzNmEzNWZiMTg5MDliODJiNjc4N2EzNDUxNDM5MSBsZWdhY3ktdHJ1bmsKKzE0ODgwIDliOWFiZGUwMzJiMzI0NTUxMThlY2QxNGM0ZTgxYzMxZDdhOTg2ZTEgbGVnYWN5LXRydW5rCisxNDg4MSA1YjU1ODFhZjk1MWM1ZDRkYTgwYzhmYTExOTIyOTM2NmNlYjE4NmY3IGxlZ2FjeS10cnVuaworMTQ4ODIgNTcyMGQxYzE4ZjRkMTMxNWUxYjVlOTA0NmQyZmM1NDgwYjdmMTYyYyBsZWdhY3ktdHJ1bmsKKzE0ODgzIDMzOGUwNTViN2NjMDljODAzOTM5MmI5YjgxNTZkYzVmZTU2OGY1NTQgbGVnYWN5LXRydW5rCisxNDg4NCBkYWRlODJiOWVlMTljZTBmMDg4OWViOWJlYmY5MDA5OGFhNDhhYTIwIGxlZ2FjeS10cnVuaworMTQ4ODUgNGEzZmQyYzEzNzJmMjI4MWUxODM1Zjc0MWNjYWQ3ZTI0ZjAxNTcwOSBsZWdhY3ktdHJ1bmsKKzE0ODg2IDQzYzM2ZjYzZjg2N2M5MzkyMDE1MzJiMjcyYTdmMzkzZWNlMTdmYmQgbGVnYWN5LXRydW5rCisxNDg4NyA5OTlmYzNlZWRhOTlhOTliOGI5NTRiNmJhODQxZGQ4NTEwNmM1MGIxIGxlZ2FjeS10cnVuaworMTQ4ODggNGNhYzM3NjQ4YTdmOTg2MDI0YjUwMmNhNTkzMTVhMGQ3MTU2YmJmYSBsZWdhY3ktdHJ1bmsKKzE0ODg5IDQ5ZTAyN2I0ODYyN2YwNTFiZmQyNzVlNTE1NThkNGM1MzAzNDg2ZTAgbGVnYWN5LXRydW5rCisxNDg5MCBlOGMzMGU2OTY2NmIwZTQyYThiMjc0MWU4NmRjNjA4Mjk0ODVlMjRjIGxlZ2FjeS10cnVuaworMTQ4OTEgMTRlOTNkODlkMzRlYmQxYTVjNzkwMmRiOTg2YmE1MDEzMzRlZmE3NiBsZWdhY3ktdHJ1bmsKKzE0ODkyIDgwNDQzM2YwMTEyYzliODBiMmZmZmI5OTRiNDlkY2VjMzc3ZDdmOTUgbGVnYWN5LXRydW5rCisxNDg5MyAwYWM1NzdlYjgyODJmMDdhYmM0Mjk2NDBlZmJhZThiOTRiZWFmMmIzIGxlZ2FjeS10cnVuaworMTQ4OTQgODFlNWY4MDAwMDk0NGZjNzU0ZTQ1MjQ1MzkzMjRmMTNiNGFiNzYyMiBsZWdhY3ktdHJ1bmsKKzE0ODk1IGNhOTM4ZjM4ZDA4N2RmYjFmMzczOWFlNTc4NDM4NDMxOGE3ZjNkNjUgbGVnYWN5LXRydW5rCisxNDg5NiAyMWE5YmJiNTcyZDczN2I5YTBmODM5MGQzMTNkYWVmMjFhMzE5ZjkwIGxlZ2FjeS10cnVuaworMTQ4OTcgODMwZGQ1ODFlOTM0ZjZjN2I1MTMwYmQ1YmZmZTViN2UwOTFjYWMzYyBsZWdhY3ktdHJ1bmsKKzE0ODk4IDc4ZTM2ZTA2ZTUzNjlkMjBlMjkwNjdiYTg3YmQ0Y2ZmYzEzZWYxYzEgbGVnYWN5LXRydW5rCisxNDg5OSBmZWQ4OWI1NzYzN2E2ZTQyZjAyMTdiZWE1MWI1NzMwYWFkZTU3NmFhIGxlZ2FjeS10cnVuaworMTQ5MDAgZGI1YzAzZmE4YzczZjU1ZDk2NzQzODFlZjhjN2YyNzRjZTdiODFjNyBsZWdhY3ktdHJ1bmsKKzE0OTAxIGJlMmYwMDNkNDdjYzZmMWUxM2Q0MzU5NGZjZTYwNjUzODhjMjVhMGQgbGVnYWN5LXRydW5rCisxNDkwMiA5ZTdhYmIyOGU5MmExNzEyOTQzZTU3ZDFjOGIzYzRlY2Y1YjAwZTRlIGxlZ2FjeS10cnVuaworMTQ5MDMgNzVhZGQ5NjQ0ZmYzNGEyOWYyYzA5OTQxNGJkNjljNzkxODBlNjMyZCBsZWdhY3ktdHJ1bmsKKzE0OTA0IDUyMmVlYWU2YzA2NjMyZTJhOTMxZDMzZjA5ZWE2ZjkwMWEzODQwYzAgbGVnYWN5LXRydW5rCisxNDkwNSAyMzZhYzFlYjE4OGUzZDI2OWZiZmFiN2IzZWZjZjkwYjI2N2FmYWJiIGxlZ2FjeS10cnVuaworMTQ5MDYgOThiMDljNDBkOTdjYzlkOGNhOWFmYTU0ZjFjZmU3MzllYmExN2JlZiBsZWdhY3ktdHJ1bmsKKzE0OTA3IGZlYjlhZjc1MjdhNTdmNWFkZTI1NWUwYTRkZGI1MjQyYTBmMDYyZDQgbGVnYWN5LXRydW5rCisxNDkwOCA0MjM4N2FkZTZhZmJlNTJlMzk4YWNhY2Y1ODk0NjczOTI3NDg1M2IzIGxlZ2FjeS10cnVuaworMTQ5MDkgMzU2YjhlODlmOGUzMDY0NWEzMDBlN2QzODA0N2FmMjhiMGQ5YjhlZSBsZWdhY3ktdHJ1bmsKKzE0OTEwIGM4OGM4YTg1Mjc0NDA1YjQwMmZmNjEwM2UxMzUxNjBhNGEwYTc4MDYgbGVnYWN5LXRydW5rCisxNDkxMSA2ZTY4YzdkZGNkYjU3ZjZmYTgyYzBiYjUxYWUzOGQ0YjJkYjE1YjI0IGxlZ2FjeS10cnVuaworMTQ5MTIgYTJmYmMwZmY3YzJlMDcyZTNkYzM3OTdlNjNkZWZiNmNkYTBhNzRmMiBsZWdhY3ktdHJ1bmsKKzE0OTEzIGZmNmMxYTgyYzMyMmFjYzQ1ZjA1MTNjNjQ2OGE4ZWFlNTdlNjM4ZGEgbGVnYWN5LXRydW5rCisxNDkxNCBmNDA3ZmFiMjczNTg5YTMzZGUyMjJkYzZmYTM1MTRmZDdlOThjN2Q0IGxlZ2FjeS10cnVuaworMTQ5MTUgMjY1M2ZkNTE2ZDRlMmVlMjAxN2ZiN2M1Zjc1YzFhYTRmM2E1NmUwNSBsZWdhY3ktdHJ1bmsKKzE0OTE2IGI3MzAzZjJmZjYxM2EzYTQxYTZiZjBjMGM3MjAzOGY4M2E2YWIzN2MgbGVnYWN5LXRydW5rCisxNDkxNyAwZDNkZTRjMTNjYjcyNGNiZjBlZmI4ZGIzZjNkM2Q2ZTc3ODNkZjZiIGxlZ2FjeS10cnVuaworMTQ5MTggMjc0NWRhZTg3MDVmMTk0MmQ0NDQ4MjMyODdhNjExZjY4ZWJiMTNjZCBsZWdhY3ktdHJ1bmsKKzE0OTE5IDAxNTVhM2IxM2JmMGUwYzliODY5NjU5NzFlYmZiMDAyYjFiZWEwMTAgbGVnYWN5LXRydW5rCisxNDkyMCBkYjgzZTYzYjM4NGI2ZGM3MmYwZmQ1MGY3ZjJlMzdjM2Y1NjBlNjgzIGxlZ2FjeS10cnVuaworMTQ5MjEgZjAzZTJhODE4OGFhMDdjZjVjMDdjY2MxZTAxMTgzMTk1ODc1NjU1ZiBsZWdhY3ktdHJ1bmsKKzE0OTIyIDc3MTkzZThlMDEzNzE5MmVhYjUzOTg0NWNmZjA3MzMxNjY0MjdmYzQgbGVnYWN5LXRydW5rCisxNDkyMyBlNzg5ZTJiZjA1YjNlZWUxYmZjMzdjYThiOTkzOGRkMWJlZGQ0ZDY4IGxlZ2FjeS10cnVuaworMTQ5MjQgYzI5Y2RkZThlYmQ4MDMwODg4Zjg5YTg0ODE5YWIyMDk5YTVmYjNkNiBsZWdhY3ktdHJ1bmsKKzE0OTI1IGI1OGFlZDcxY2Q2M2YzNzdiZjdjNDk0MjM2MDUzYzY5NDk0MmRhNGIgbGVnYWN5LXRydW5rCisxNDkyNiBjODg4NzkyZGU2YTc3MDg4MGE2N2M1MmI5OWQ1YTQ0YWFhNzk1N2ZlIGxlZ2FjeS10cnVuaworMTQ5MjcgMjQyNDU4NTAzYjEzMTFiNWQ2OGM3ODE2NmZmNGU5MjMzNWJjOWY3NSBsZWdhY3ktdHJ1bmsKKzE0OTI4IGY1YTFlOTU0NGM1ZGU2ZWU3NDM1MjQ5OTI2YjcyMzJiOTk3YzQ4OGYgbGVnYWN5LXRydW5rCisxNDkyOSA4MzI1N2YzMzk0YWUzMTBjOWNhZmFhZDAwYTExMGZlNmU1ZTY4NGJjIGxlZ2FjeS10cnVuaworMTQ5MzAgMTcxOWU0MWUyMzMwMzFlZDdhMWYzMWI3ZDcwNGEyNTcwMmFlZmQwNiBsZWdhY3ktdHJ1bmsKKzE0OTMxIDM5YjkxY2I4MGI0MWMxYWJhNDg0NDJmYjIwNDMwZDk5OTJmYmQ3ZTQgbGVnYWN5LXRydW5rCisxNDkzMiBjZGY2OGNlNTg2YzQzOWVjNTUzNzIxMWNiOGVlZTk2ZDI5MjkyNDM0IGxlZ2FjeS10cnVuaworMTQ5MzMgMTUxYjkxM2U3NGExMzc2MjY3OTU0MjExYTMwZjIzZDhhOGFiYjZmNCBsZWdhY3ktdHJ1bmsKKzE0OTM0IDk0YjYwMWZhZWJhY2VhZjJjNGViODBiNTc1OTY1ZWZlMTlhZjc4NmUgbGVnYWN5LXRydW5rCisxNDkzNSBlNzVhYzI5MmVmNGMxZmFhODVmMThiMzg3NWU5NGNmZTM3ZjZiMGUwIGxlZ2FjeS10cnVuaworMTQ5MzYgZjA5ZTlkNjU2YTExNTRlYmRlOWFjOGNlZjU5YzlmNTY3YTIxNmUwMSBsZWdhY3ktdHJ1bmsKKzE0OTM3IGMzZmMyYjQ2MTdmY2Q5NmUyNzk5YWQ4MWRjY2RmYTU4ODBmZGNkZWMgbGVnYWN5LXRydW5rCisxNDkzOCA0ZGQ4YjZhM2I5YzVkZGE4YjRhMzU5OGM1YzQ2M2FhMTZlM2YwOTI0IGxlZ2FjeS10cnVuaworMTQ5MzkgYmM4NjFhZGQ1ZDcxMmExODM1YmJmNmNkZDhiZDAxNzkzY2QzNDI3OSBsZWdhY3ktdHJ1bmsKKzE0OTQwIDZkMTA4ZDUwOTM0NmE4OTIwNGRmM2I5ODgzMWI2YWY2YmEwYWUyYmMgbGVnYWN5LXRydW5rCisxNDk0MSA3ZjE4Zjk3OWE5M2FmYTNjY2RmN2FkNDcwMTNjY2U5OGUyNzIzM2RjIGxlZ2FjeS10cnVuaworMTQ5NDIgNDc2M2EzZDU5YWI5YTI1NTgyMDM3NDNlODU0ODYyMDM1OGRmZDE5OCBsZWdhY3ktdHJ1bmsKKzE0OTQzIGYyOGU5MmRiYjllOGUxNGQ4YjY0MDgwZjQ2ODMwZWM1NjRiOTI5NGEgbGVnYWN5LXRydW5rCisxNDk0NCA0MmYyMWU0N2I0ODYwNzA3MmU5ZmM3NzdkNmI0ODViNWEwZTA5NGQyIGxlZ2FjeS10cnVuaworMTQ5NDUgNDFkZmM3ZDRhMzZiMjI2ZmJmNTIzYjIzNzJkZWZiNTgzYTY0ODM5YiBsZWdhY3ktdHJ1bmsKKzE0OTQ2IDZmZjdmNzZhNmYyZTU4MmUxMGY5YjlkZGExYjhkMzY2NDhmYjNiMzUgbGVnYWN5LXRydW5rCisxNDk0NyBmZTNjYjczNDFiNzA4NDJiNGFmNTEyY2ExMzUyMzQ3ZmY4NjBkNDliIGxlZ2FjeS10cnVuaworMTQ5NDggZjgzZTQwOGFlYjA1ZGYxMjkxZTdkNDYwNzZkODFjNjMyNWQwODg3OCBsZWdhY3ktdHJ1bmsKKzE0OTQ5IDI1M2NkZWVhZjQyZWY2ZTg3ZGQxNzVhNjc5NTlmM2RmNTVlMzk2OWIgbGVnYWN5LXRydW5rCisxNDk0OSA2MDVlYjkzMjZmZmUxZmQxZTQzZjQwZTIzMzhkNjY1MmFiNDQ5ZmRmIGxlZ2FjeS10cnVuaworMTQ5NTEgM2UzZDE1MmE4NTU0NzA0MGYzZmE4NTNiNjM5NTM4NGJjZDkwY2Q3MiBsZWdhY3ktdHJ1bmsKKzE0OTUyIGI3M2M5ZjhjNTM3YzFhZWQxNTNhYWMzZjZhNzI5MDhkZTM1NDZhNjggbGVnYWN5LXRydW5rCisxNDk1MyAwOTA5ZjU2MjNkNGZhMmMyYzA1ZWMxYTYzMjgzYjhhZjZlYjRmOWMyIGxlZ2FjeS10cnVuaworMTQ5NTQgMzdkODIyNzJmMGY0NDViZWYwMzQyYTdjMTFmN2JjZjg2NjcyMWZkOCBsZWdhY3ktdHJ1bmsKKzE0OTU1IDRiZjk4Y2MzOGRiNzFhYzYxNWExMmZhZTVkMDgzNzdjZjM3MDIzODQgbGVnYWN5LXRydW5rCisxNDk1NiAyNjNiZWU0ZWYxM2M1OWE0ZTAyOGFhMTk0YmJhZDIyY2Y1MzY1ZDhhIGxlZ2FjeS10cnVuaworMTQ5NTcgMWRjMGI2MzdlYjFiM2E1OTMxNTkxOWI5Yjc0MTZhYWI2M2NjMGQyMiBsZWdhY3ktdHJ1bmsKKzE0OTU4IGEyMTZmZTc5YWUwMGI0MTdiZGQ0YWRmNDdmMWFkNjU2MTk4NDk4OGIgbGVnYWN5LXRydW5rCisxNDk1OSA3NzQ4MTcyODViOGNhMjAzNTU1MGQ0NTgxYjZmMTUxYzkwOGEwOGFiIGxlZ2FjeS10cnVuaworMTQ5NjAgMzNiZmM1MWRlYzA1Y2YzOTQ3NmZjYTU1NGE4MjhkMWM1ZDRhN2Y1OCBsZWdhY3ktdHJ1bmsKKzE0OTYxIDVlYTc3MzQxMzUzMTk4ZTA3YjI1NzEyYmU0ZThhNzA5ZjkyOGExNTkgbGVnYWN5LXRydW5rCisxNDk2MiBmOTdiYjQyZDQzNDQ4NWMxZDY5ZDEzOTM2N2IzNzE0N2E0OTU3NTA4IGxlZ2FjeS10cnVuaworMTQ5NjMgNTMwY2Q5YWZhODBkNTQzYmFiZGUzYWEwOGFhMDgwZjU4MzMxNzg5NyBsZWdhY3ktdHJ1bmsKKzE0OTY0IDVhNjIwMGZmNzdhYWM0NTQ3YzVjMjgzM2JmZmQ5ZjlmOTg0ODA4NzAgbGVnYWN5LXRydW5rCisxNDk2NSAxN2NlNjYzOTY3ZDg0MDhjNTM1ZWUxYzBmNTI1YjgwNTM3NTUzM2I4IGxlZ2FjeS10cnVuaworMTQ5NjYgM2U5YTFjMWE5ZjU2NzYxZTkyZWNjNTA3MjQ0NWE3ODg5MzEyYTczYyBsZWdhY3ktdHJ1bmsKKzE0OTY3IGU4MmU4MmIzYjlhZDU2NWFjOGRmODEzNWE2N2ZhNjExMzU2ZGJlNjcgbGVnYWN5LXRydW5rCisxNDk2OCAyZGMxYmRiNDA4OGVkNmYxOGQ1NmQyNWQ3M2I0NmY2MTk2Yjk1YTk1IGxlZ2FjeS10cnVuaworMTQ5NjkgYzQwNWRiZGQyNmM5ZWM1ZGNiZTBjNzA4ODdiZjJmZDEyNTE0YjFmNyBsZWdhY3ktdHJ1bmsKKzE0OTcwIGZmZDI0MmZlZDBlMmRjOWRjOTg3Mjc4MGMxOTNjZDA2ZDMxOTE1NTEgbGVnYWN5LXRydW5rCisxNDk3MSAyMzY2MGI2NmJjYTMwYzBlNWVlZDg0MDBiNjhmZTRiOTgzYmQzNGI3IGxlZ2FjeS10cnVuaworMTQ5NzIgNzdiMDJlNTNmNjY2MmY0YzQyNmM2Yzg4MGYwZDdjNDkzYmE3ZDFmNCBsZWdhY3ktdHJ1bmsKKzE0OTczIDc4NTljMGE0YWQ5NTQzMGJhYjUyYTgwZmVhMWQxYjdkYTQyZjY4NjcgbGVnYWN5LXRydW5rCisxNDk3NCA3YmY4YjEwY2UyYWI1YzBkM2IzODA3ODhjMThlNjEzNjVhYzE5NzQ3IGxlZ2FjeS10cnVuaworMTQ5NzUgMDc0YzMwZmYzMjA2ZmQ5ZmZkYjc0ZmMzMzlkMmYxNjQxMThhZWQ4YyBsZWdhY3ktdHJ1bmsKKzE0OTc2IDYzMTM1ZTlkZWYyNDFlNmYwYTBhNTk3MzJhMjcxNzUzYjE3OTNjOWQgbGVnYWN5LXRydW5rCisxNDk3NyBkNDkyMzc3NTIwMjk3NmUzZDE0OTcxNWY4YTY4ZTVmZWJjZDdlZTU0IGxlZ2FjeS10cnVuaworMTQ5NzggMTQ1YzAwNzNkNzg1ODFiNGE0OGQ1YWNhNDViMjg3YTdhMzZiYjcyYiBsZWdhY3ktdHJ1bmsKKzE0OTc5IGNlMjZkNWYzZDNjZTdmYTVjOWQ5MjQ3Yjk3ZTM3OWFhMTEyYWRmZDQgbGVnYWN5LXRydW5rCisxNDk4MCA5MjM1YWM3NjE3NmQ0NTIyODU0MzRhMDBiMzU1MGIwNDYxNDMzMTRkIGxlZ2FjeS10cnVuaworMTQ5ODEgMGNkMjJjODRhNGYxNGQ2ZmJjYmY5YTdmNDU0NzI0MWEyY2FhNDEzOCBsZWdhY3ktdHJ1bmsKKzE0OTgyIGRlMGY5M2Q5MGVlNGQxOTU1M2JiZmY4MzM0YTI1YTVhODU5ODAwMzEgbGVnYWN5LXRydW5rCisxNDk4MyAwODM5ODM4MjcyMjQxZWQ3NWE2NDk3ZjNmNTIwNzU4OWJjMDgyMGMzIGxlZ2FjeS10cnVuaworMTQ5ODQgNzI5ZjMxNTI3NjVjYjhmNTZiZGMwYTliYWI1OTc2Y2E5Yjc5MzI1YiBEaXN0dXRpbHNfMF8xXzMtYnJhbmNoCisxNDk4NSAxYjdjNDk0NWM2MWMxODlhNDZhOTU0NmQxY2IxZThmYmU5MzI4MGIwIGxlZ2FjeS10cnVuaworMTQ5ODYgN2ZhMzE3NDg0OWJkYmE3YmQyODg0Y2JkNWU1YmM4YjEyMzM0NzliYiBEaXN0dXRpbHNfMF8xXzMtYnJhbmNoCisxNDk4NyAxOTBhOTI0MmY4M2E4YjAwZDMwMWNkMjA5ODM5YTA0MDk5NmUxOWNhIERpc3R1dGlsc18wXzFfMy1icmFuY2gKKzE0OTg4IGEwYTI0ZDNjZmQ5NjExYjZkZWUyYzlmNzExM2UxODM5NTFjMzQ1NGYgRGlzdHV0aWxzXzBfMV8zLWJyYW5jaAorMTQ5ODkgMTc2MDUyNDE2NjNjMTljMDUwZDEzNzUzYTJjY2M3YzI1ZTE0NTRkNyBEaXN0dXRpbHNfMF8xXzMtYnJhbmNoCisxNDk5MCBmYmZmYTdlYjJhNGY3NGY1NmU5NTAzZjhlMjVjZDBhYWE4ODhhNGE5IERpc3R1dGlsc18wXzFfMy1icmFuY2gKKzE0OTkzIDdlOWE1Y2Y1NWM3Njc2YTU5Njk2MTY4NjUzOTI2ZTgzYTA3ZWE2ZjUgbGVnYWN5LXRydW5rCisxNDk5NCAxYzNmOTE5NTFmNzM3YTAzNzMyZWRlNzM2MjdkMTA2ZTExMTJjMGE4IGxlZ2FjeS10cnVuaworMTQ5OTUgYmUzZTBkMTk3NTIyM2VlNjgxMDA2MGRmNDc1YjIwY2I1MDVlZDZkMCBsZWdhY3ktdHJ1bmsKKzE0OTk2IDNkYWM4NTRlNjExODUwZWRlNzkwZTEyNDU5NDNjZWI4ZTFiYTBiY2MgbGVnYWN5LXRydW5rCisxNDk5NyA2MTJiZTFiYjY1ZmZlMWMxYmQ3ZjI2YjY1MDQ1NmNmYzM2Y2Y4MzIwIGxlZ2FjeS10cnVuaworMTQ5OTggYmRmY2E1NGExNDFjYmMzYmJmMTkzN2IzZWQ5ZDQ2MTQzYjU2MmE5OSBsZWdhY3ktdHJ1bmsKKzE0OTk5IDY5ZDExZGY4NDNjMTU0NGIyZjIwNDgzOTY1ODdhOTNmYzU5OGUxZjkgbGVnYWN5LXRydW5rCisxNTAwMCA3MDE1NGUyZTljODkwZTkzZjFlOWIyNTcwN2UwOWE1NjVjN2QyMjBmIGxlZ2FjeS10cnVuaworMTUwMDEgOWViNzY5ZTE1ZjgxYmMyNDA2N2Y1YjQzYTQwMzhhZWRhZDlhMDcxZSBsZWdhY3ktdHJ1bmsKKzE1MDAyIDBhM2NiMDgyYzVkYmRiNGY5ZTc4OThjZGNhYjRhNDczYTU5ZDY1NzIgbGVnYWN5LXRydW5rCisxNTAwNCA5ZGRlMzE1Y2RlMzk2OWE2MGQxYWM0OGYxM2EwZGQ0YmM4NzYyOTllIGxlZ2FjeS10cnVuaworMTUwMDUgNGRhMDZmZGQzZTYzODFiYmZlYjkxNjU0YTk0MGI0MjVhNWY2NDJjNyBsZWdhY3ktdHJ1bmsKKzE1MDA2IDQxNTg1ZTg1MWY1NWI2MTQ5NDVjMjBhMWY0ZDdiODBhZjYzODAzZDAgbGVnYWN5LXRydW5rCisxNTAwNyA2NjkwM2MzZjE0ZGI0Mjg2ZDQ2ZjkzYTEyNjIxMjVkM2VjNTgwYTUyIGxlZ2FjeS10cnVuaworMTUwMDggYzM0MWU2OGYxOTg4ZTM5M2QwNmI0YjE3NjZkODZjOTVjNzU4YjA0MiBsZWdhY3ktdHJ1bmsKKzE1MDA5IDBiYTg1NzA5YTY3MTI5NTFhNzcwYTFiNWQ1OTczMzhhZGFjNzBhMDAgbGVnYWN5LXRydW5rCisxNTAxMCAyMzI2NjM1MmYxMzhjMDBjZTdhOWZiMGIxNThiZjc0NzhkNTFhYzMzIGxlZ2FjeS10cnVuaworMTUwMTEgNjViYzVlYWY0N2NlOTZlMTJlYjA2ZDhhZjdjN2RjZGE3NDY0OTk0ZiBsZWdhY3ktdHJ1bmsKKzE1MDEyIGQxZDAxNmFjY2U3NGViMjg5YTQxMjJmN2U3MTJjNmQ2ZDJkOTgzNGUgbGVnYWN5LXRydW5rCisxNTAxMyA4YzBmODYzYmE1MGM2N2UzOGJmNzQ3ZTRiN2VkNzFiYjhjMDI2ZDA0IGxlZ2FjeS10cnVuaworMTUwMTQgZmIyMGY2ZmRkMTZkNmQwNDhiYzcxYjFjNDJmYzU5M2ZiMzlhYTFkOSBsZWdhY3ktdHJ1bmsKKzE1MDE1IGFhYzExMmNjYTc5YjUxNmQ5YWUyMTNlYmU2NzgxYTM4ZjkwZTBhMjIgbGVnYWN5LXRydW5rCisxNTAxNiBmZjc1ZTQ3MzRkZDlmZWZkY2E3YjBmNzM4NmU2MThlODBmMDJkZDFkIGxlZ2FjeS10cnVuaworMTUwMTcgNjRmY2FlNzhkNDdhZjYzNTY0N2I5NmU1YjI1OGMwZGZmYjgxZTQ4ZSBsZWdhY3ktdHJ1bmsKKzE1MDE4IDY2ZTljOTdmOWY2NzdjMGJjNjc4YjA4Zjc2YjUwMzljOTZlMDUxNmUgbGVnYWN5LXRydW5rCisxNTAxOSA3NmVkMTM5ZmNlNTk3MzVmYzUwZWQ4ZTE1MGEyYjc1NDhjYWU5N2Y0IGxlZ2FjeS10cnVuaworMTUwMjAgM2ZkYWVjZmZjNGRkZGJjNTI1NDVhY2MxODIyNzVhZWNiZDNjMDBlMiBsZWdhY3ktdHJ1bmsKKzE1MDIxIDllMWY2MDk3NjIwOWYyN2ZjM2Y4ZGFmMjQzZmU1MDA0ZWNmMDRkNTMgbGVnYWN5LXRydW5rCisxNTAyMiAyNjFlODk1NDQwODU0ZjkwZDIxMzQzZDlhMDI0MGY2ZjllYWNmMjQyIGxlZ2FjeS10cnVuaworMTUwMjMgZjZiNThiMDIxZTU2ODkyOTdiMDZlZmU2MjQ1YjBhOWMwYTdlY2FmMCBsZWdhY3ktdHJ1bmsKKzE1MDI0IDhhMWVjOGZjMDBmZWE2NmE2MDMzMDcxODZkOTAzZTdlNjhkMDNhNmUgbGVnYWN5LXRydW5rCisxNTAyNSAwYWM0MGU0N2JkYjVlMWYyMjYwOWZkMTgwM2RhNzQxYmQ2NGUxNDRmIGxlZ2FjeS10cnVuaworMTUwMjYgZmQ3NTYxMTI0MjA3NjRiMGRmYWY2YWZhZWM5MTQ2ZDJhNzFkN2Y5NSBsZWdhY3ktdHJ1bmsKKzE1MDI3IDU1OWIyNWE3OTAzMmFjYmM2ZmRkOWNlNGE3M2FlYzRmZWNhZGUxMmIgbGVnYWN5LXRydW5rCisxNTAyOCBjZjEzMzhiYzIxYzAwMGJmNWVkMjA2YWJkMzRlZTVjNDgxYzE1NWUyIERpc3R1dGlsc18wXzFfMy1icmFuY2gKKzE1MDI5IGNhMzFlNjc5MDI0YjVjODhhMzFjNjg5MWJlOGM5OGMyNWJlNWUzNDYgRGlzdHV0aWxzXzBfMV8zLWJyYW5jaAorMTUwMzEgY2JmYTk1YTZhMDNlZTY5YWU3OGViY2JmYTJkZWY4MzQxNjQ1OGYxOCBsZWdhY3ktdHJ1bmsKKzE1MDMyIDhlZjM2NzIzNDI2NDllYTUzOWQzN2Q4MTM5OTYzYTNiNzhkNGRkYjcgbGVnYWN5LXRydW5rCisxNTAzMyA1N2ZkZmEwMGRhOTMzN2E4OGYyZmY1YTFjY2U5MDZhYjMwODZkZWM4IGxlZ2FjeS10cnVuaworMTUwMzQgNjQ3YmY3MTkxMmYwMmMxNDYzOGUzNDk3NDg5OGY0ZjMwYWJjOTY5MyBsZWdhY3ktdHJ1bmsKKzE1MDM1IGFmOGQyMTEzYmMxZDAyNGJjMzRlNTc2MzUyNWZiMmI4MTU0NzUwYzQgbGVnYWN5LXRydW5rCisxNTAzNiBkMDZiNTBiYTgxYTYyY2MxYmYzMWY3ZDQxMGI3Mzk5ODI4Y2Y3NzliIGxlZ2FjeS10cnVuaworMTUwMzcgNTFjMGMzYjZkOTE5ZWZmYzU2MWJhYWUyMTMwZThkNDRlMjk1YjM3ZSBsZWdhY3ktdHJ1bmsKKzE1MDM4IDNhOTRjN2Y4NTU1MWU4OTllZTVmYzcwN2ZlNDc4ZTE0ZTkwOGJjZWIgbGVnYWN5LXRydW5rCisxNTAzOSA5NjAxOTI1MTg4MjliMWVlZTk2MjRhYzg5ZGQwZjZhNjA4NjM2ODVlIGxlZ2FjeS10cnVuaworMTUwNDAgOWM5NmU1ZDQzN2E4MjFiNzQ5OTRlMmQ4OThmY2QzY2ZhMGQ0ZThiNCBsZWdhY3ktdHJ1bmsKKzE1MDQxIDgxODYxNDVjNGEwN2Q2ZTI4NmVlODViYmE3MTMxYTU5ODYxOTU5YWMgbGVnYWN5LXRydW5rCisxNTA0MiA0YzZjMjQ4MTY5M2VkNDA2OTFiNmVjYTQyNDY1MzlmZDY0ZGVjNGY5IGxlZ2FjeS10cnVuaworMTUwNDMgZDFkMjJhMzYyNjhmOTUzNDU5OWNhZDNkYzUyMjdiYmRkNzhiOWJiMyBsZWdhY3ktdHJ1bmsKKzE1MDQ0IDVmMzYyNGJmYTU5NGMzN2NkZWE3YzhiYzdjYTVhZTAyYzBhNTFlN2QgbGVnYWN5LXRydW5rCisxNTA0NSBmYjc1ZThhY2ZiMDU3OTllNjcxMzYyZGU2NDM5NmM3NTg0ZGVmZjA2IGxlZ2FjeS10cnVuaworMTUwNDYgMTVkNDExNDliZjI0Mjk0MjljYWQ0YTFkMzk0MTQ1ZDVkMzU3NGQ1ZiBsZWdhY3ktdHJ1bmsKKzE1MDQ3IGI3ZjJiMjI1ZDBjMDIwNTY5MWFkODgxMzk3MjlkMjM3ZTMxNWNkMzQgbGVnYWN5LXRydW5rCisxNTA0OCAwZDY0Y2U3MzU0Yjk5OWU0NmYxNGI3MDU4MzYwZTQyMTBkNmI0NDhhIGxlZ2FjeS10cnVuaworMTUwNDkgOWFmOTk3MDY1N2ZhZWI4NTM0ZDc1OTljNTkzN2M2MmFhYzliNTg2NCBsZWdhY3ktdHJ1bmsKKzE1MDUwIDM1YTExOWFhMTliNGJlZTMxYjk0OWZhZjUxODZhNDZiYTlkODRlYTAgbGVnYWN5LXRydW5rCisxNTA1MSAyMzQ2YWMwNzgwY2U5MTFiMzMxOTU1YTQxZGNiNjVmMDMwYzBlYjRjIGxlZ2FjeS10cnVuaworMTUwNTIgYjE1NzI1NmRiYTc2OTdjOWJkYjhlYWRmOWJlNzRhMWQ1ODU1ZGY1NyBsZWdhY3ktdHJ1bmsKKzE1MDUzIDE2MzE5ODZkYjEzYTY2NGZmOGMwZmE1ZmQ0ZDJjYmJlNzg4OTViYzAgbGVnYWN5LXRydW5rCisxNTA1NCBkNjQwZTdkNGFlYzQ4YzVkNjFjNDBkYjZkOTk3ZjIxYjhmZWIyNmE0IGxlZ2FjeS10cnVuaworMTUwNTUgOTE3MmVkYWFlZmY1ODY5MTBkYzRiNTBlNGM4YjQ0YzI4YjJmNjlkMCBsZWdhY3ktdHJ1bmsKKzE1MDU2IDE3ZmM5Zjk1OTkwYjQ4ZTE3ODI3Y2VkOTNkN2I2NjYwZTIyN2YzZmUgbGVnYWN5LXRydW5rCisxNTA1NyA0MGU1OGM1YjZmODRmYWRjMjhhNjdiZDExOGQ0MDBkOTNiYjVlMDAyIGxlZ2FjeS10cnVuaworMTUwNTggZmQ5MDViYjJmNmI2MzEwMzJmMDJlNDM5MTUyODgzZDY4Yzg5M2YxZCBsZWdhY3ktdHJ1bmsKKzE1MDU5IDBjNjJkMWM3NmMwNjQ5N2RjMGQzODEyNGJkNjhjYmUzNTIwZmE2NzIgbGVnYWN5LXRydW5rCisxNTA2MCBiYmFhZGE0MWEyMGI2OWRkNDBmNDJhODg2YzAwMmZiZmQ2YzMyNzRlIGxlZ2FjeS10cnVuaworMTUwNjEgMWY3YzMyODAxZGMxMWU4NTAyN2JjYjg3OTEyYTk0ZDhhMWVhNTI2NSBsZWdhY3ktdHJ1bmsKKzE1MDYyIDBhNDViOTUzZjRjMDNlOGRmMjlmNGUxZThmNmZkZjk5YjgxMTAwOTEgbGVnYWN5LXRydW5rCisxNTA2MyBlNTQwOTMwNjQyOTU1YTg3ZjA4YmFiOGY5YmNkM2Q5ZGU5MjY4OWVlIGxlZ2FjeS10cnVuaworMTUwNjQgZGRjNGU2MmIyMTZiMmZjYmM1NmNjYWZhMDFiZTcwNTA5NDUzNWMyZSBsZWdhY3ktdHJ1bmsKKzE1MDY1IGQzMjM5YjdjMDVmZTk4ZGE1MTk5OWY4MWI3Nzg1MmY4MTQ5ZjAwZTcgbGVnYWN5LXRydW5rCisxNTA2NiAzZTcwYzQ1ZjhkNmJiOGViMjljY2U2OWY4MjNjZjc1NTlmNzhjZjBlIGxlZ2FjeS10cnVuaworMTUwNjcgYTNiMDQ2MjM0YzA5MzEyMWE0ZWY4NGUzYjBkMTAwNmViYTc3ZWMyMCBsZWdhY3ktdHJ1bmsKKzE1MDY4IGY3ODI0NDYzOTVkYjJkM2U1OWI5ZGFiOWU2ZGVjOTk0ZjhhYThmMjIgbGVnYWN5LXRydW5rCisxNTA2OSA5MGIyYTNjZDM2NWZlMzBhMTc0MGRlMTFhYzkxYTUwZGVmMDYxMTAxIGxlZ2FjeS10cnVuaworMTUwNzAgMjBhNWNiZjlmY2MwMmM1MWM1OGIwNGE0ZGI0OGY1ODVkZGM0NjNhOSBsZWdhY3ktdHJ1bmsKKzE1MDcxIGYxZjY2NWUwNzVjYTMwNTk5YzU2ZDcxYzUwOGMzMzcyMWQyZTZkY2EgbGVnYWN5LXRydW5rCisxNTA3MiA1NDBmMTA4ODFhNTk3MjlmZTQxMGQyYzljMDFmMjA1MzNlYWZjMTc1IGxlZ2FjeS10cnVuaworMTUwNzMgMjllNzUzNDkzZDhlNWQ3ODk5YjZhZDc5NTQ5OGY0NWZhOTdlNTFiMCBsZWdhY3ktdHJ1bmsKKzE1MDc0IDIwYTM3MGYxYWY4ZGZhOWE2NmY4MDA1YzhiMGM0NGNlNTFjZjFlMTIgbGVnYWN5LXRydW5rCisxNTA3NSA1N2YzNGUxNjJlNjc2MjU4ZDgyYWVjYWYzZjI5ZmY0NjIwOTAyMjBlIGxlZ2FjeS10cnVuaworMTUwNzYgNWRlMGI5MzlmZTYxY2NiZGY3NDIyNDU1YjNjODc2M2Q3YTZlMGM5ZCBsZWdhY3ktdHJ1bmsKKzE1MDc3IGIzMjE2MjczODJiYzE0NTk3ZWJmM2E5MTc4NTJiOGJiYTI2OWMxNTQgbGVnYWN5LXRydW5rCisxNTA3OCBkNzYyOWZhM2IyOWY1ODE3ZWY3MDU4MmEyZDFhZDI0YmIyODliM2RhIGxlZ2FjeS10cnVuaworMTUwNzkgMWEyMDdjNjhlOGI0ZDVmOGNlZjUzYWRlZTljY2I0NTVhYmVmYmQxYSBsZWdhY3ktdHJ1bmsKKzE1MDgwIDcyOTZjZGRlOGE1ZTNiZTkxOGE5OTJkODAzOGI3YzBkZDBjMjE1NjUgbGVnYWN5LXRydW5rCisxNTA4MSBiNWY2YjRiY2VmOTBlY2Y2MzczNzRjOTVmZmQ1YjdmMTA2MDI4YmMxIGxlZ2FjeS10cnVuaworMTUwODIgOTQ4OGU0ZmRhZmU0NmIyNTU4YWMyNDViNzg5MTUzZWZhODExOTE0OCBsZWdhY3ktdHJ1bmsKKzE1MDgzIDY2YjQ5MDZkMGZjNmJlOWVhN2NmZjFiNDM2MTkxNjI5NGE3Mzg2M2YgbGVnYWN5LXRydW5rCisxNTA4NCA0ZjU2NzFhMzEzNDczYzZhZDJiNTQyODZhYjU4MTM3MTRjOTYxYTM4IGxlZ2FjeS10cnVuaworMTUwODUgM2NjNzc4NDhhNjJhZjdiNzA2MTZiMDk2YzFkNDI1N2Q2ZjI4MWU5MSBsZWdhY3ktdHJ1bmsKKzE1MDg2IDc3ZTRmMjFlM2VlNjRhOTVkYmVmODZmNjk0ZWY2NWJkNzJjZjczNmMgbGVnYWN5LXRydW5rCisxNTA4NyBkMTk1ZjE3ZjI5MjczMWU2MWM5MTc5YmM1MjQzYTY3YjE0YjZmZThkIGxlZ2FjeS10cnVuaworMTUwODggNmI0NjY3ZmE0OTM4MWRiZWQwMGUwMTY2ODY1ZjlmNmFkMjBkNTkyZiBsZWdhY3ktdHJ1bmsKKzE1MDg5IDUyNWIyMzU4NzIxZTllOTBmNzU1NTJhMmJiNjZkYzgwN2YwZjc3NDUgbGVnYWN5LXRydW5rCisxNTA5MCAzN2ZkMmU2YzgxYzdkNzBlODg0YjEyODljYjVjNDM0ODMyZThjZWQ3IGxlZ2FjeS10cnVuaworMTUwOTEgZTY5ZWVmNjkyNjEyNTUzMzc2MjAxYzI3YmEwY2Y3NmU2MTk3NjhmYyBsZWdhY3ktdHJ1bmsKKzE1MDkyIGQzMzc0MzEwMmY4YWQzZjIyMWU5MzM2YzhmOTdjNDExZWUxMGRkOWUgbGVnYWN5LXRydW5rCisxNTA5MyA4NTEwYjRhYjNjM2RlYmMzM2ExZDczN2U1YmVjYjc1NWFjNTA1ZjYzIGxlZ2FjeS10cnVuaworMTUwOTQgMTg1ZGU0ZTdjZWYxMGUyYmQ0MDM2MWYwODYwOGQzYjdjNGQ1ZmRmYSBsZWdhY3ktdHJ1bmsKKzE1MDk1IDllOTY2NmY2NzlmNzJjMjU2ODBhOGM2N2JkYjlkMTRiOTBkYTZmMTIgbGVnYWN5LXRydW5rCisxNTA5NiBlMjYyMGFhYjlmMmQ2Y2IxY2U4NWRjYzBhYmJiOGIzNzM0YzY5YTI0IGxlZ2FjeS10cnVuaworMTUwOTcgZmM1NTdmNDMxZTg3ZTBkZGI2MzE4NjVhYTUxZTk5YTczYzk0ZWE1NCBsZWdhY3ktdHJ1bmsKKzE1MDk4IGFhM2IwMmEwMzhhMzdhYWE3ZGEyNTZiNzVlYjI4NzMxNWU0MmFlMTUgbGVnYWN5LXRydW5rCisxNTA5OSBiZTUxMDBhZmExYjdlZDFhOWNkZWZiZjE3OTJjMjRjZDc0MmI2NjVmIGxlZ2FjeS10cnVuaworMTUxMDAgZmNmNTg4ZDg2YjE0MDllZmVmMjdmZGU3Yzc4ZDAyOWE2MGFkMmVhNiBsZWdhY3ktdHJ1bmsKKzE1MTAxIGU5NTJhNGI5MjBhZGYwN2I1MDM0MDQ4MTkxNmZhMzk2MGQ1NjYxM2UgbGVnYWN5LXRydW5rCisxNTEwMiAyNGQ0MTE2ODk3ZGQ0NDdiODFjMjZmYjg5YWM4MTkwNTQ3NGFiMDdhIGxlZ2FjeS10cnVuaworMTUxMDMgZmFjYzEwNWI2NDFiMDFiOWJkZTY4ZGU5NWE4Njg3NWJjMzIyMGYyOCBsZWdhY3ktdHJ1bmsKKzE1MTA0IDE2ODA0YjM3ZDc1MjVjZTkxMGJmNjJlZTZmOTlmYWFjMDBiNzY0ZWEgbGVnYWN5LXRydW5rCisxNTEwNSBlNDM0OWI2MmZkOWI0MTljMzE0ODMyOGM2ZjdmNDJmYzFiYzYyMGQyIGxlZ2FjeS10cnVuaworMTUxMDYgYzU5YmRjN2ZkOGE2MWRjYWNkZTEyMDU5ZDYyYzM2MjE4N2IwOTQwZiBsZWdhY3ktdHJ1bmsKKzE1MTA3IDY3ODU2MTljMzNlMWNiMWM5NWU4MWM3MjI3NjJiZTgyMTM2YzEwMTQgbGVnYWN5LXRydW5rCisxNTEwOCAxNzlhNmUyODUwYWNhNWQwYzc1MTc2ZDNjODhhZjI5ZTQ1MmEzNGVjIGxlZ2FjeS10cnVuaworMTUxMDkgNTRlODBkYjQ5NDIzNzVlYjljMWRjNTlkMGE5OWZiYWM1ZThkMDk3OCBsZWdhY3ktdHJ1bmsKKzE1MTEwIDk5NmViM2IzYjMzZWM1MzIzZjUwNmM0MWY0ZWI1Y2E3YzkwNTYyYzUgbGVnYWN5LXRydW5rCisxNTExMSAwNDgwMmI3ZThhMWYwODQ2ZTcwYTQwMTE2NzA3YTc4MzdmNjQ2YTk5IGxlZ2FjeS10cnVuaworMTUxMTIgMWU3OTFkMmU4ODc1MmUyZWU3NmQ5NjY1MTdlNmIxYjdhZjUyZWNlZiBsZWdhY3ktdHJ1bmsKKzE1MTEzIDViNTllYTQxZGI0ZTg2OTBiMTY3NmU0ZTUwYzVkMGRkNjZiMmIxYjIgbGVnYWN5LXRydW5rCisxNTExNCBmYmM4ZGFmYTQ0ODRjN2UwYjRjYTRjYzYzMWNjNWRjZDc4NGZhZWRhIGxlZ2FjeS10cnVuaworMTUxMTUgMTFlY2I2NjcwZjRmOWU0ODAxNjU2MWUxODMwZWQ1MWFkZDRjZGEyOSBsZWdhY3ktdHJ1bmsKKzE1MTE2IGY3M2JmNDkyNDM4NjgyZjM4Y2ZkODhkYjVmYTZkODk2YjY4ZjM3YjMgbGVnYWN5LXRydW5rCisxNTExNyA3OTFhMTEyYmUzYmNmOGJhY2E4MWMyNjlkOTdlMGJhMGMzNmE4YTNkIGxlZ2FjeS10cnVuaworMTUxMTggODc3OTY5ZWMwOTZmZDRmNjEwNTg2Y2I1YmE5YjZiOTkxMmYwOThkMiBsZWdhY3ktdHJ1bmsKKzE1MTE5IDdmNjUwZGYyNzFjOWUzZWU5ZjNjOWI1MDA4OWRjOGY3M2RjZGRlZWIgbGVnYWN5LXRydW5rCisxNTEyMCBlNjRmYWE2ZTI3MDIyZDMzYjUxYzMxNWRlYmQyMWRkYTM3ZGI3NTk5IGxlZ2FjeS10cnVuaworMTUxMjEgN2ZhNzZjY2RmMmRlNzNmMzY4MjQ0NjkwN2U5N2U2NGVkYzMzNjAwZiBsZWdhY3ktdHJ1bmsKKzE1MTIyIDA0ODEwOTZhMGY0NWJjOTcwODE3ZDZmYjljZjExNDA0ZDQ5YTM3NDMgbGVnYWN5LXRydW5rCisxNTEyMyA2NzdlMjE0NzgyOWE5ZDJjYTBiOWZmNGRjZGE3N2YxODVhM2Y3ODZkIGxlZ2FjeS10cnVuaworMTUxMjQgYzJkMGQ2NzQ0YjNiYjdlNTE0NGI3YjM5ODBhOTAxZWE4MWZiZjIxYSBsZWdhY3ktdHJ1bmsKKzE1MTI1IDY4ZTQ4YmI5NDA3MTFmYjE4YTZjNjdiMDc2ZTMzM2U4Yzc3MzM1OTUgbGVnYWN5LXRydW5rCisxNTEyNiBhZjg3ZmNhZTg4MGZkOWM4ZTQ3NWZkY2ZjZjg4Y2YzZGI2ZjI2NWZkIGxlZ2FjeS10cnVuaworMTUxMjcgNDI5YTM3ZmY5ZGI1Y2MyN2JlOTE2MGQ4Mzc3MjU2N2I2NTI4OTA4YiBsZWdhY3ktdHJ1bmsKKzE1MTI4IDIxNDMwM2QzMmY3NjY0ZDQzZjg0YmRkMGE2NThjYWFkM2QyMzRjNDkgbGVnYWN5LXRydW5rCisxNTEyOSBkNjNiNTdhYzYxN2Q0ZGIyM2JiYTZhNGQ2MzRiZjJjOTg3NDM2NmI3IGxlZ2FjeS10cnVuaworMTUxMzAgZjU3YWYzNjBiN2U1ZWYzN2U2M2E4ODZmY2M4NGE5NzFiOWJlYTJjZSBsZWdhY3ktdHJ1bmsKKzE1MTMwIDAxMWJlZThmZDlmN2Y0ZGE0NTdlYzcxNTk2NDg0ZmIwODgyYzA2MTQgbGVnYWN5LXRydW5rCisxNTEzMiA2Y2U2YzIzYWNkMTQyMWM4NjE0YWRiNGFhNzZkMjczOWIxM2ZjZTJkIGxlZ2FjeS10cnVuaworMTUxMzMgMDUyZmJkOTMxNDkyMWZmN2M3ZTgyZGUxODgyYjMyNTYyOWFlMWRkYiBsZWdhY3ktdHJ1bmsKKzE1MTM0IDYzYWQ3NTRhYTMwZWUyZTY2ZTZlNTAwNWFhNWVkNmYyNjMyZWJhMDEgbGVnYWN5LXRydW5rCisxNTEzNSAzYmUyZjc1NGMwMjM5YjgxYmUxMjM2NDI2NjgwMTI0ZjA3OGRlMDA2IGxlZ2FjeS10cnVuaworMTUxMzYgMzdkOWRlZDVhYjkxNDUwOWY0NDMyZTQzMGE2ZjY3YWNiODUxYWM2NCBsZWdhY3ktdHJ1bmsKKzE1MTM3IDExNmMzYWEzY2NmNzJkMTVkZThjNTZkZDI0NGY3Yjc5Mzk3Mjg2MTMgbGVnYWN5LXRydW5rCisxNTEzOCA1ZjI5ZDdjMDI0MzM4NzE4NThkY2M0NzIxNThhMGRmMGJhNWM2ZjUyIGxlZ2FjeS10cnVuaworMTUxNDAgYmU4MjU3M2U0NDQ0ODJkNTA5M2UwNDVkNjUwM2E3MGUyMjQzYjE4YyBsZWdhY3ktdHJ1bmsKKzE1MTQxIGFhMDEzZjJjZjgwYmU4YmQwMTVhYTg3YmJkYTQ5ODk0NTczZjI2ODYgbGVnYWN5LXRydW5rCisxNTE0MiA2MjcyMjZkZjlmMDE4MWQ5YTc1MTBkYjQ0ZTFhZWZiNWZjZWY2ZGMwIGxlZ2FjeS10cnVuaworMTUxNDMgMzJlOWQwZTc4OTM1MzM0MzY0OWEyNWE5ZTZhNzg1ZWUzODYwZDBlNiBsZWdhY3ktdHJ1bmsKKzE1MTQ0IGVlZjZhMjVmMDljNTMxNmRiOGEyMTkzNTMxYzUyNmUwZmIzZjI1NDMgbGVnYWN5LXRydW5rCisxNTE0NSBjNDgxNzJhZjEzZGMxNTI4Y2FlZTY1YTA2ZTE3MWVlMGY1MDJmMzExIGxlZ2FjeS10cnVuaworMTUxNDYgZTViMGJlYTAzY2ZhNTA1NTZlY2VhMTAwNWFhODU0NzgwZjFmZDQzYiBsZWdhY3ktdHJ1bmsKKzE1MTQ3IDZlZGJhZTZkYmNmNTVhOGI3YjJjNjg3OTI4OTQ1MDczZmI5ZDIzY2IgbGVnYWN5LXRydW5rCisxNTE0OCBhNmYwYjM5OWY2NjU2OTU5MTk4MDk4YjE3YThjZDZlZjIxMDk2NDg3IGxlZ2FjeS10cnVuaworMTUxNDkgOGQ3ZTA3NzM3YjRjNmExNGMyZWZlZjFhOGFhNDQ3YTM0YzMxYjRkNCBsZWdhY3ktdHJ1bmsKKzE1MTUwIGEwNDk4YjE1MjQ0Y2QxMGM4ZGJhYTIwMDYzZDk1MWNmODRmMDMyYjkgbGVnYWN5LXRydW5rCisxNTE1MSA2MGRkOTVjNzU5OTk5MzYyOWM0OTZkZTJjNDYzMTQwM2U2ZTViODQ2IGxlZ2FjeS10cnVuaworMTUxNTIgM2JiMzk4OTk2MjkxZjkzZjIxZjc0ODFiMmQzZjRiMDdkMTM2NjY3ZSBsZWdhY3ktdHJ1bmsKKzE1MTUzIGY4MmIyNTc3ZmEwY2YwNjcyNmY3YTQ4YWUxMjY4NzEzY2I0ZTk3MWUgbGVnYWN5LXRydW5rCisxNTE1NCBmMDcwNWJjZjY3M2IyYzc1M2ExNGJhMDczMzY3NDEyYzA4ZDZjYjBkIGxlZ2FjeS10cnVuaworMTUxNTUgMjM5MmQxMGUyMWYxNjk0ZjY3YTk0NzI0MGMzODg3MjA5ODYwNGEzYSBsZWdhY3ktdHJ1bmsKKzE1MTU2IDhiZjkxMzAyMDYwNGVjZGVkNDc5ODJkNDY0ODUzMDhjYzZlYWQ1OTcgbGVnYWN5LXRydW5rCisxNTE1NyA5ZjJjN2Y3MjcyZmE3MWVkYjBjMWRhOTc3OGY1NzMwNDE1YmU2YjU2IGxlZ2FjeS10cnVuaworMTUxNTggYTU3NDNlMTQ3ODYwYzE2YWE2NWIzYzg1Y2I2OWRmZGE2NDJiNWY5YyBsZWdhY3ktdHJ1bmsKKzE1MTU5IDRjNTFhOTY2ZDJhMzkwZWIzNjE0NGVlNzMzZGU1MGNkZDg3NDkyNTggbGVnYWN5LXRydW5rCisxNTE2MCA4MWM5NjZiMzVjMTI2MjIwMWJmNmNjZTVmYjQ1MzNhZDE5ODBhNTE2IGxlZ2FjeS10cnVuaworMTUxNjEgNjdlOTYxNTc3ZDBlYjhmYTM4ZWQ5Y2E5NjRkZTU0NzAzYjcyOGMxOSBsZWdhY3ktdHJ1bmsKKzE1MTYyIDE1NTU0ZDNhNjhjNzE1YzgzOTVlZDE0NWMyMzE2ZWZiMTMwYWMxZDcgbGVnYWN5LXRydW5rCisxNTE2MyBlYzZiNmNhNWQxMTE2MjNhZjc1YmM2ZmQwNTJkYmJhZjI5NTZmMDJiIGxlZ2FjeS10cnVuaworMTUxNjQgMDFjZmY5ZmUyZDQ1MjEyOTU1OGI0N2RkN2RmN2MxYWYyNjY0MjQ4MSBsZWdhY3ktdHJ1bmsKKzE1MTY1IDJmYjZjNzM5ZDMyNDcxYzExZGRlMWRlNTc0MWRiZTRlNmVlNDJmMjIgbGVnYWN5LXRydW5rCisxNTE2NiBjYjRmMGQ4MTg4MGQ1YjRiNTgzNTkyMmViNTcyYmFmZWUyMjRjNTFlIGxlZ2FjeS10cnVuaworMTUxNjcgNWI4NzBjMGVhN2I2MWEwZjhkYjQwYmJlZTYxNjEyYTQ2NDI3OWVjNSBsZWdhY3ktdHJ1bmsKKzE1MTY4IDRjNWQ2MmU4Njc1YjM4OTEyNGI2MmM5MWQ4OGExMTc0ZTNkZDljZWIgbGVnYWN5LXRydW5rCisxNTE2OSBhZTUyNWFiMjNlZWZjNjFlYzUyZGJlOTc3MWUyNmU0NWIyOGY2OGY1IGxlZ2FjeS10cnVuaworMTUxNzAgN2RlOTAyYzFmNDM5ZTU2ZDFlOTA4ZmY4MTAzYjZmNDQzMGQwMGU3NCBsZWdhY3ktdHJ1bmsKKzE1MTcxIDJmYzUzZGRhMjBlYjYzZTQ1NzBjY2I0MzRhODU3ZWI2NDdhN2ZhMDAgbGVnYWN5LXRydW5rCisxNTE3MiAwYjY4OTkwMDg5ZDIxNDllMDM0MmYwMmM2ZmMxZTU0ZTVhNGI4MzIwIGxlZ2FjeS10cnVuaworMTUxNzMgOTVlMjk2ZTY3YTEyYzAxZGQ2MjlkODhjM2U2ODQ3NzhhNGY4ZjljYyBsZWdhY3ktdHJ1bmsKKzE1MTc0IDI1OWM0YjljNGM4ODk3NmZiMjMxNzFmZmM5YjlkYmNlZWY2NmUyNDAgbGVnYWN5LXRydW5rCisxNTE3NSBhZTEwNjM3OWU3NTZjMjc3NmNhNjljMDQzZTFmY2FmMGQ5NzRiNDFkIGxlZ2FjeS10cnVuaworMTUxNzYgMWM4NWFlNjc2YmE3ZTVkYmI4MjEwNjZmODQ0MDUzOTNiMWZjYTMxYSBsZWdhY3ktdHJ1bmsKKzE1MTc3IDM2MjYyNjExODliNDhkOWIxN2EzNmM3ZTUzMWYwZjczNTgzMWFkMGIgbGVnYWN5LXRydW5rCisxNTE3OCA2OTc5OTY2ZWU5NGRhMTY3YTBlYzE2YWQ1MmM5ZWE4YjBiZTM1NzZjIGxlZ2FjeS10cnVuaworMTUxNzkgNmZiNDBhODVhNTE5NzU4OTk1NGY2MjIzMzZlMDQ4N2JlZDg5MGE3OCBsZWdhY3ktdHJ1bmsKKzE1MTgwIDBkMTNjZTJlMTU1YjkzODI2N2YzZjQxOTlhMDliZDY4NDRhNDVlOWMgbGVnYWN5LXRydW5rCisxNTE4MSAwYWU2MzUyM2Q1MDRiZGZhMzg4YzE2NjliODMzNzc4ZjRlZGIzMGU2IGxlZ2FjeS10cnVuaworMTUxODIgYzBiZjNlZDkzODM1ODBmZmUwNzJlOWY1YmFkNjQzMjg5ZTQxMjlkYSBsZWdhY3ktdHJ1bmsKKzE1MTgzIGU4N2U2YmRmY2JkYzY3Nzg5MWQyMzY1MDNmNmQwYzY2NzU2NTg1M2UgbGVnYWN5LXRydW5rCisxNTE4NCA5NzhjOTY4N2JlZWY0ZmQ2NGRlYjU1NDg0Y2MyZDFkNzk4NjY2ZDU3IGxlZ2FjeS10cnVuaworMTUxODUgNmIyYjlhMjNhNDFmMWY4Y2E1NjQ4Njg1YzRlYzY0M2MwYjUxNWJlYSBsZWdhY3ktdHJ1bmsKKzE1MTg2IGQ5NDAwYzQ3NmI5ZGMyZTVlMzExNjQ3ZGNhYmE0M2M5MGUxY2Y0NjUgbGVnYWN5LXRydW5rCisxNTE4NyBjNjA1OWU3MGJhYjIzYmViZDQ4NjdmOTAyZWM2NGFlNjczNGVkOTViIGxlZ2FjeS10cnVuaworMTUxODggY2E5ODk0MmZlMTAzYjljYzIyMDIxMjgxOGVlNGQ3MWE1YjJlZWMzNiBsZWdhY3ktdHJ1bmsKKzE1MTg5IDNmZDEzMjIyYTg3NmYzYTE4Nzc4OTk5NmM4MmU2Nzk4MDMxNzA2MjUgbGVnYWN5LXRydW5rCisxNTE5MCA4MTYxMzM0OTQyZDRmZjViMzFhNjAxOThhOTZkODBlMmMxOTcwZWJkIGxlZ2FjeS10cnVuaworMTUxOTEgNmE4Y2QwNjgyMDk2MWVhYjkwMGIyNzNlYWYzM2ExNzdmMGQ4NjI2YiBsZWdhY3ktdHJ1bmsKKzE1MTkyIGNhN2I5OWQyN2E0MDcxYTFlMWE5YzU1OTlkODE3YjcyMDhmNDRhMjIgbGVnYWN5LXRydW5rCisxNTE5MyBkZmY3YjI2MTE2ZGViZDNiZjRkZDE0YzVkZmEyMjViZjE4ZGE3YjFlIGxlZ2FjeS10cnVuaworMTUxOTQgODI4OWMwZTU1MWNkMzEyODRmZmI4YmZiY2I5Mjg1MmY5ZGE3YjNjZSBsZWdhY3ktdHJ1bmsKKzE1MTk1IGYwYjcxOTEzYzBhYTdiMDhjYzMwNzM3NGZmZWEwMzdiOWE2NTI5YzcgbGVnYWN5LXRydW5rCisxNTE5NiA0NTY4NjllYWE3ZDU5MWE1ZGRiODdiNWQ1YWFkMjc4ZDgzMmU4MWJmIGxlZ2FjeS10cnVuaworMTUxOTcgZDQ3NDYwYjFhNjc5OTcyNzcwNDNmYzI1MzVmMjYyN2U0ZjFkZjVjMyBsZWdhY3ktdHJ1bmsKKzE1MTk4IGQ3NjMzNDFkMzMxMGJlMGViNDZmNTVjYTgwYjRjOTgwMWQ0MmFmNTEgbGVnYWN5LXRydW5rCisxNTE5OSBjOTliYmE5ZTkyMTJjYjEwZGUzNDUzNjVmZGQ1ZjM1OTllMmM2ZGFiIGxlZ2FjeS10cnVuaworMTUyMDAgZjg3NjE2NGZhMTUxNDk4OWQxZjQzMTcyM2U1NDNlMTM5NWExNDkzYSBsZWdhY3ktdHJ1bmsKKzE1MjAxIDAzYjgxOTEyODM1ZWJlOWI1YzFhZWYxOGM3OTE4MmYxMzk2OTdmMDQgbGVnYWN5LXRydW5rCisxNTIwMiA5YzRhNGU2YmQ1NTVhZWQwYTc2MTNhZjRkZTE4NTVmMmU2OTA5YzFjIGxlZ2FjeS10cnVuaworMTUyMDMgZTM2N2FkM2VhNTlhODYxZDMxYjEwYzhlMWU4YzBmMTg4YzJkZGU1MyBsZWdhY3ktdHJ1bmsKKzE1MjA0IDk1MWQ4NGUxZDU0YmViMDA3NjQ5M2VmMTVlMGMxOTI1NjVkZGVjMjYgbGVnYWN5LXRydW5rCisxNTIwNSBlM2JiMjM5YjJkYmY1ZTA1ZGI3ZTRkODIyYTFhNzNiZTQ4OTQ0YThiIGxlZ2FjeS10cnVuaworMTUyMDYgMTlmNTNkOGJkMjk4MTA2YzI4Njc2NDljYjllMDJkYWU1MzY2ZGM5MiBsZWdhY3ktdHJ1bmsKKzE1MjA3IDE2ZGM4MDczMWMyM2EyMGMxOTAzNGYwN2FiNjllNDEyZjY1ZTg3MmQgbGVnYWN5LXRydW5rCisxNTIwOCAzM2JhMDYyNmVmNzJhOWUxMDNhODVlMzUzODk5YjY5NWFlOWE1NzU1IGxlZ2FjeS10cnVuaworMTUyMDkgMzQ2OWIyZjE3NjI0Zjg2MjcyMTRjMTZiOTlhZTVkZjBkMTZhZWFkNSBsZWdhY3ktdHJ1bmsKKzE1MjExIGQwZjI5MGIzYzBiMjNiYzA1ODRhZDk0YzFjMDk3MDc3MjBjMzZkNmMgbGVnYWN5LXRydW5rCisxNTIxMiA0ODYxNjE4OTQ1MDdmNDA1OGU3ZTRlN2I1NzQ2ODY1ZDVjNzViODAzIGxlZ2FjeS10cnVuaworMTUyMTMgNGNiMzMzNDgyMTYwYzhmODIzMDljY2RhMWU5YzQ2NDFkODRiNGUxYiBsZWdhY3ktdHJ1bmsKKzE1MjE0IGRlMzY1YjY1YzE3YmM4ZDlmMzJmMGNlNjlhNGE4YzRkZTRiYzAzYjYgbGVnYWN5LXRydW5rCisxNTIxNSBkNWZkYzliMWU0NzRjNzIxY2VlZDVmYzYyNTkxZWU2OTJiZjllNzcxIGxlZ2FjeS10cnVuaworMTUyMTYgYzI4ZmEwMWU3MzI5YzNjNDE2YzFmZDVlYWJmZTVmZGE3YzcyODk3YSBsZWdhY3ktdHJ1bmsKKzE1MjE3IGU3NjIzZDAxOTI3YzhjOWZiNWJkOTI5M2U1MTFkODliMmNmZjZhY2YgbGVnYWN5LXRydW5rCisxNTIxOCBlNWIzMWFjYjEwY2ViNmJmMTM4ZDI5ZWZmOGYwZDllNjEyMDIyMjFiIGxlZ2FjeS10cnVuaworMTUyMTkgZmQwZTVkYWVmODZhZTZkYTJlNmY3ZTBiODhkMmFmOTYyOTg3MWE2YSBsZWdhY3ktdHJ1bmsKKzE1MjIwIDE0NGE4OTU3MGEzOWNmMDVjNTE0N2VlYTNjMmM3YTJmYThmZmI3MGMgbGVnYWN5LXRydW5rCisxNTIyMSA3NGQ0ZTQ1M2E3ZjdkYTM5NjVlMTUzOGIwY2VkMzk2MDFjNDY4ZDFlIGxlZ2FjeS10cnVuaworMTUyMjIgMTg5NTFhMDI0ZDExZGYyYTc1ODkwNmJiNjI3ZTU5OWY0NjZhOGQ0YiBsZWdhY3ktdHJ1bmsKKzE1MjIzIDZmNTA5NmE4ZDAzYTIwYjhjNTc1YWM2Yzk5Nzk2MWM4NGQ0YjU3ODEgbGVnYWN5LXRydW5rCisxNTIyNCA0OWIwYjg0NmY2ODM0NzJkMzQzMDYxZWQwMTFlZjNmMGVkMzEwMzliIGxlZ2FjeS10cnVuaworMTUyMjUgMGJmOGFiZDAyYmQ4ZDdjZDFlNjRlNzRhYjE4ZmNhNmQ3MDAyNWE0OCBsZWdhY3ktdHJ1bmsKKzE1MjI2IDE4MWM2Zjk1ZjZmNmE1ZWJiZTNjN2MzZGU5YTc4ODQzZDVkYzM4MmUgbGVnYWN5LXRydW5rCisxNTIyNyA3NjEzZjhiM2MxY2U0Y2Q1MDk4ZGVlMjY3OTFlMjNkMWM3NDIyYzJiIGxlZ2FjeS10cnVuaworMTUyMjggZTM5ZWI5MGIyNTBhMDJhNjI0MWRmYzQ5NjcwNzYyMjY0ODhjNzExNSBsZWdhY3ktdHJ1bmsKKzE1MjI5IDJhMmQ1ZmY5MzMwODA3NzE4NjViOWJhMGVlMGMzY2QzOTY5MmNlZWYgbGVnYWN5LXRydW5rCisxNTIzMCBlNTY3ZTMzZGU2NDViZjcwZDI1ZTZhNGE2MjhhYjA3OWUyZmUzNjg0IGxlZ2FjeS10cnVuaworMTUyMzEgZmNiOTJiOTZmMWFmYjU2MDM5MzEyYzAyMjMwNWRjZjc4N2Y3MTE1ZCBsZWdhY3ktdHJ1bmsKKzE1MjMyIDY5OWRmYjEyNTRjYmY3MjM4YmYyOTJmNDllYjdjMTU3YjAxMTljYjQgbGVnYWN5LXRydW5rCisxNTIzMyBjMjdmNDg0YWVmZmZhN2ZlNDMwNmZmMTQ2NWVhNjY0MDE0M2YwNjc1IGxlZ2FjeS10cnVuaworMTUyMzQgMzUwMGM0MzUwZjYyNmUxMTBjMDg5MjU1NDJlN2U4MzY4ZTFjNTY2YSBsZWdhY3ktdHJ1bmsKKzE1MjM1IGYxYmZmMWVjNzk2YjY0MTA5MzIxMTVjMTY0OGRmNzkzMGU0MjQ4Y2QgbGVnYWN5LXRydW5rCisxNTIzNiA4NjZhZjFkODc5NzA4NGM2NzJhZmM4YTY1MzU3YTEzODc3ZTU3YmNiIGxlZ2FjeS10cnVuaworMTUyMzcgYTNlMWZlY2I0M2M2ZTUxOWRkYWRkMTUwNzBlMDc3MTBmZTBmZjU5ZCBsZWdhY3ktdHJ1bmsKKzE1MjM4IGJlMWQ3NWUxNmNiODE2MjllNGMxOThlNGZkZGZjNGFlOWZkMWI5YzAgbGVnYWN5LXRydW5rCisxNTIzOSBhODg5OGExNzJmZTJmMDc2OTcyNTc1NzVmMzQ2NTkzNGE2OWRjZDczIGxlZ2FjeS10cnVuaworMTUyNDAgYTNjMGI2Y2RkMTY4YTY5NDMxM2ZiYWQ4OWNiOGI3OTU5MzMwMzVkOSBsZWdhY3ktdHJ1bmsKKzE1MjQxIDE5ZTNlOGY4YzU3NGQyMmE2ODZiYTM5MWQyNDkxZjYwMGQzN2U4NzIgbGVnYWN5LXRydW5rCisxNTI0MiBmYzI3Njg3NzVmODIxOTgzOTAyZWJhNTA5MTYxZDI4YjIzN2NmNmIxIGxlZ2FjeS10cnVuaworMTUyNDMgMGRiNWEzNjAyNTI2MWZmOGU2NzFmMDQ3YTZlNzQ4ZGYyMzhiMGJmNSBsZWdhY3ktdHJ1bmsKKzE1MjQ1IDEwYWRiZjgxODNlNjhlMDI3ZDU1OTk5NWYxMDdmMTI4YmQ2ZmI0YjcgbGVnYWN5LXRydW5rCisxNTI0NiBmMWU4NjdhZDdkODVhYzNhMzA0MDJjYzQ5MjNjOWE5NDI2ZDBjMzhiIGxlZ2FjeS10cnVuaworMTUyNDcgOGIzMzBkMTYzODAwNzcxODA1NjU4MDcwNzE3NWNmYThjNTg0MmY0MiBsZWdhY3ktdHJ1bmsKKzE1MjQ4IDE5NTg1NzFkMjVjMTZiY2U0ZGZjYzU5Njg4Mjg1ZWJmMzI1YTk0ZDUgbGVnYWN5LXRydW5rCisxNTI0OSA0Y2VlMmRhM2RhY2ZkNzVkYzdkMTE3MzhiMjk0YWMzZTM1YmM0NTMyIGxlZ2FjeS10cnVuaworMTUyNTAgNzIwZDM1NTZiMTQzODUyMTdmZjM1NjE2YjJiZTU2YjM2NzlmMjAxNSBsZWdhY3ktdHJ1bmsKKzE1MjUxIDE3MjVlODAyZTNlYmQ1MmU3ZGE1YmQ5YTg0Mjc2MGI3YTY1OWM3ZWQgbGVnYWN5LXRydW5rCisxNTI1MiAwNGNmYTEzNDFhNTA5YzE3OTY5ZDkxYTRmMjdlNzlhYjUwNTU2YjUyIGxlZ2FjeS10cnVuaworMTUyNTMgMWNiYTY1ODljZTY2N2NlZjdjNDU2OTk1NDlmZmRlZTA4MzYwNzE2ZCBsZWdhY3ktdHJ1bmsKKzE1MjU0IGJlZjI0ZDQ4YWZjOGM1YjRkMzZhZDE4YzYwNDIyMDY2N2NiZTE5MWMgbGVnYWN5LXRydW5rCisxNTI1NSAyYTUzYTNhNDc5NjJhOGZmMmYwODRlYzM2Y2ZkZWQ3OGNiZWJlZDgyIGxlZ2FjeS10cnVuaworMTUyNTYgZTUwYmJiOGU5OGRhZDJhZThiYzJjODdjNTIxNzdjNGU0NWI4ZDI3MCBsZWdhY3ktdHJ1bmsKKzE1MjU3IDBkNzU1NTVlZDZlYjZkOTcwOTA2ZWFkMGFjYTY1OTIzZWVjNDJiZGYgbGVnYWN5LXRydW5rCisxNTI1OCAwNzgwYWJhOTc4OTg5MzE4YWYyMGZlNGVkNjIzNTZmMTYwOWQwMzY4IGxlZ2FjeS10cnVuaworMTUyNTkgZWI0MzNlZmEyNGRlZWE4NDYyZGYwNTA4NTkwNDlkYjQ4YjI5Y2Y1YSBsZWdhY3ktdHJ1bmsKKzE1MjYwIGJkOTJjNTNiMTY2OTkzMzQ0YTE0YjUyODQ1NDE0MDNiODk3MDViZTkgbGVnYWN5LXRydW5rCisxNTI2MSAyY2UyYTgzMjUzZTgwMzE3YzQyN2JmZmE2NTZiZjY4Y2VjNTg4YjdiIGxlZ2FjeS10cnVuaworMTUyNjIgMjExNDgzYmQwYTUxODJkY2I2MzYwYzNlNjgwMjUzYjdjODY5ODVmYSBsZWdhY3ktdHJ1bmsKKzE1MjYzIDQ0ZTUyMWE5MzY0OGE1MTI3ZWE0ZDcwYThmNWY4ODk0ZmNkNTMxM2QgbGVnYWN5LXRydW5rCisxNTI2NCA1YzNlNTk5OWRhYTE2YjgxMTk2OTNmNzk5NzQyMzU2OGJlYzVkMzA4IGxlZ2FjeS10cnVuaworMTUyNjUgZjRkZDdjODg0OGZjYTQ1ZDhiM2ViMGEzZWRlMmIwNDEwN2MzM2VjMCBsZWdhY3ktdHJ1bmsKKzE1MjY2IDU2NjFmNGY5YTQ3Zjc5ODQ4OGI0OWZhNTk3Y2Q3MjExN2M4N2EyN2MgbGVnYWN5LXRydW5rCisxNTI2NyBiNzZiYWNjY2QzNDYzMTBkNjJhOTc5YmU3ZGE5YjFmNDQxODcxNjZiIGxlZ2FjeS10cnVuaworMTUyNjggZTYzZWNjYmE4NzNiNzY0NzQxYWU1NDI0ZGE0NjMxZGUxMzY0NzlkYyBsZWdhY3ktdHJ1bmsKKzE1MjY5IDEzYTE2NzkzYmIxY2YwODA5OGNiZGFhYzc0ZDBmMDBiOGNhMTVjOGQgbGVnYWN5LXRydW5rCisxNTI3MCA4NzQ3ZjFjOGI1ZmJlYjFmNzhkZjNhMzlmNjdmM2JhNzlmZWEwOWZiIGxlZ2FjeS10cnVuaworMTUyNzEgYTYxMTU3MzI4YjEyMWUxNWRiNjExMTNiYmQ1ZDhhNDUzMjYyZThiOCBsZWdhY3ktdHJ1bmsKKzE1MjcyIGNhMGU5ZDk3ZDU1NGM0ODVhZGQ2YmI4YTg1NTllMjE5MWQ4NTU4YjcgbGVnYWN5LXRydW5rCisxNTI3MyBiYTU0ODYyYzg3ODVjMjBlZjg4N2RmNDk2NTBhN2IzYmU0ZjhmMmIxIGxlZ2FjeS10cnVuaworMTUyNzQgZmI0Nzc1MTExZWQ5ZDUxMmY1MWM4MDQ0ZGQxZTM3MGFmNTE4ZmYwMyBsZWdhY3ktdHJ1bmsKKzE1Mjc1IGU2ZTkxNGQ1YjIwNzJmZTQ2ZWRkNTg2ZGQ0M2Q3NjgzNDU4OTI0MDcgbGVnYWN5LXRydW5rCisxNTI3NiA2ZWJlMGFjYjc3NzY0OTEyY2EzZTA4YWEzMmRhYzg4NmUyZmNjYTI1IGxlZ2FjeS10cnVuaworMTUyNzcgOWU1M2E3MTEyMzk1ZmI0MDlkODA1NmQzODMzYmIyYjY4MWUzNTFlMCBsZWdhY3ktdHJ1bmsKKzE1Mjc4IGFmOWQ2MjNiYWJiMDc3MTc3NTEwYjhjZjAwOGU4ODY2MTRmOTFlOWEgbGVnYWN5LXRydW5rCisxNTI3OSBiNmI3YmQyMGM4NDViNzM3Njg5YjEyOTBjNTEwN2EwYWJiZDQyMTkyIGxlZ2FjeS10cnVuaworMTUyODAgZDM1N2FlOGZiZmU1OTBhYWFiMWNmNWU2Y2E0ZjRhYTg3MWNiNDMwNSBsZWdhY3ktdHJ1bmsKKzE1MjgxIDBjMjhjOWNhYmJkYWViMGZiOTdlZDY1MmRmYjk2MDNmN2MzN2YwZDYgbGVnYWN5LXRydW5rCisxNTI4MiAwMTllYWVmNjM3ZmY1Zjk5Y2U2MTJhMWQ5Zjg4ZDRhZDkzYzIzZTI0IGxlZ2FjeS10cnVuaworMTUyODMgNGFlMTI3MzEyYmJmZDc4NWVkYjdmZDMxNzk4ZTRkOGY0MGJlZmFkMSBsZWdhY3ktdHJ1bmsKKzE1Mjg0IGI0NzZlNGE4Yzg5MTFkMmM0ZWVhYmFkY2YxZDc1MTliM2RlNDQ2YjIgbGVnYWN5LXRydW5rCisxNTI4NSA2ZjczODQ4Yjg0NTIxOTE5M2YwZTBkMmJhZTBjNWViMGFkMTliODY5IGxlZ2FjeS10cnVuaworMTUyODYgNWFlODViZGM1ZjYxNjUwYTU0ZGQ4MWY4MWEzYjM4MDYyMWFjMzMzZSBsZWdhY3ktdHJ1bmsKKzE1Mjg3IGMwYWRiYzljYTU4MTMxOGQ2NDQyOTg2Y2RjMzJhYjRlNDY2MjZkMjAgbGVnYWN5LXRydW5rCisxNTI4OCA1NDBkOWJiMTY0MzlmMDdiYWNlMDdhZjdhMzg2MTQ0MmI2MmU1ZTRjIGxlZ2FjeS10cnVuaworMTUyODkgYzJiYjVlNGIwNGE4OWQ2M2Y3MDI4NDM0MjRiNmZjMzY2MjVkNTJhMSBsZWdhY3ktdHJ1bmsKKzE1MjkwIDg0Y2Q1MmI1NjBlNTcxZWJhMzcxZDcxMzZhYmNjOWM0MmMyN2IwMDIgbGVnYWN5LXRydW5rCisxNTI5MSA4MmNiYjJkZmU4YmRiMjdiZTEyMzcwYmRhODMwYzkyNzU2MDQ4ZDQ0IGxlZ2FjeS10cnVuaworMTUyOTIgNTIzNTY1NmY5ZDBmMGUyMmRjZDExM2E1MDg4NzFmYjYwY2E1MjA5NCBsZWdhY3ktdHJ1bmsKKzE1MjkzIDE4OTI5OGExZmFiNGMyMjMyODZmZGQyNjg3NzkzM2UxMWU0MWU4OTAgbGVnYWN5LXRydW5rCisxNTI5NCA4YTUwMzY1NDQ3Mjc3ODgzNWYxYjVmYjJmY2U3MTMwNDIzYmJiMmRiIGxlZ2FjeS10cnVuaworMTUyOTUgY2MwNWVkY2NjZjUyYmEzN2FmNTJkZTQ4MDY5ZjY4MjM1MmM0MGFlMiBsZWdhY3ktdHJ1bmsKKzE1Mjk2IDdjYzNkZDdjZDMxYWM2YTVjZjgyNmZiMGJjODNkNmRmZmMzOTZjMjEgbGVnYWN5LXRydW5rCisxNTI5NyA4NTllNTAwZjA3NjAwNDYzZDU3ZGJiOWY2Njg3ZTYxMzQ5YTc2NmY1IGxlZ2FjeS10cnVuaworMTUyOTggZDc0ODRhNzQzMzU0MWFhOTc4ZjA0MzcyNmJjNzlmNTIxN2RhMjAwOSBsZWdhY3ktdHJ1bmsKKzE1Mjk5IDgxYTEyMWQyMTM0MDgzZmRiYmYzMjZlNjE3NGYxMzc5N2IzNGEwNGYgbGVnYWN5LXRydW5rCisxNTMwMCBjMzRiYTNlM2NmY2QzODUwZGNjNDE3ZTZiYmE5YzdiNTcyODk5NDRjIGxlZ2FjeS10cnVuaworMTUzMDEgNTllZTE3MTI0NTExNTljOTE4YWQyOTg2NjRlOTdkODFiNGVhMGU0NyBsZWdhY3ktdHJ1bmsKKzE1MzAyIGM4ZGJkNWY3MDI4OGI4NDljN2UwYWY5MzM3ZWM3YTA4NDYzNmM3NTIgbGVnYWN5LXRydW5rCisxNTMwMyA1OTliZmE0ZmZkNDljMTQ1OTRiY2I1NDQyMGMwYjQzMWQxOGE3NzQ1IGxlZ2FjeS10cnVuaworMTUzMDQgNmI2NDdlMDg3OTI1YWI3NzM4ZDQxZDU4MThmYjQ4YmQ0N2M3YjM4NyBsZWdhY3ktdHJ1bmsKKzE1MzA1IDc2OWVkYjJkYThiOTNmZjdhMjE0YTgyYTAxMWJhMjQwNWFmMGFmMDYgbGVnYWN5LXRydW5rCisxNTMwNiAxNzdlNjFjNTU0MjZkYjQxNjY4MmY5YTY3OGNiNDRhYzYxN2VmNjEzIGxlZ2FjeS10cnVuaworMTUzMDcgM2U2ZThmNzZhOTg4MzgzNjM4ZGM4NzU4N2FlNGM4YjMxMDk0YWU2ZCBsZWdhY3ktdHJ1bmsKKzE1MzA4IGVmZDFlNWQyMjg0YWY1NGVhMzNmMzM4MWUwM2E2MDRiYzk4NzI1Y2UgbGVnYWN5LXRydW5rCisxNTMwOSBkYzlkMWI3MWNjMzgwYzZmN2VlNTg1NzJlNTQ2ZWI2OGEwYTgyNWRiIGxlZ2FjeS10cnVuaworMTUzMTAgYmVmNjc1ZGMxMWNjMGJjMTg0NDcyZGY2NzBmNmZkN2NhY2U2MzRhZCBsZWdhY3ktdHJ1bmsKKzE1MzExIDY2ZTQ3ZTg1ZWM1M2I1ZWJhODdiMDBhNWVlMTBjZTdjMWUyNWJjMzggbGVnYWN5LXRydW5rCisxNTMxMiAxMmM3NGIxMDJkMDI3ZDdkYjA2ZTNhMmEwMzAzOWQ1Y2VjY2IzNjEyIGxlZ2FjeS10cnVuaworMTUzMTMgOGY3YjI0YjQwZGU3MzYxNzNhNDNjNDkxMzRhMDU0MTdlNjMyZWU5YSBsZWdhY3ktdHJ1bmsKKzE1MzE0IDA0Y2Y3ODhkODYyYmUwNmFhOWZmZjhkOWYxZjJlNTQ4OGQ5MWQ3MDggbGVnYWN5LXRydW5rCisxNTMxNSA3ODM4MGRmYjJhOTA2ZGFlMjZkZDBjYmQ0ZTllMTNhYTc3OWEwOTNhIGxlZ2FjeS10cnVuaworMTUzMTYgOWE4NDFkNjg0NTNhN2M4ZGVlZjUyMTljZDMyYTY3MGI5MDRiYTNlZSBsZWdhY3ktdHJ1bmsKKzE1MzE3IDRkZjg0NjJhMjU5ZGViODgwZjJhNzhmNGM1ZTQ2N2Q4ZDExNGUwMWIgbGVnYWN5LXRydW5rCisxNTMxOCAzYjhkOWU2M2U0ZTE1N2I3MTVlNzk2OGE4NmZhNGJjNGM5ZDg3Mjk0IGxlZ2FjeS10cnVuaworMTUzMTkgMzhkNWExMWQ5Y2Q0YjAwMGVmNjFhNDE2N2ZhNjY3ODczZWI4ZTg5NiBsZWdhY3ktdHJ1bmsKKzE1MzIwIDdiOGQwYTQ3ZGFhOTdiNjY2MDBkOTI2ZjJlYTc1YmE2NGM3ZjUyNWUgbGVnYWN5LXRydW5rCisxNTMyMSA3YjBlMGI1ODY3ZTJkMzk2NjEwMzNiY2I3NjM1ODMzOTI5NGJmOTZkIGxlZ2FjeS10cnVuaworMTUzMjIgYjg3ZDc1Nzk4ZDgxNmMzMmExNGNjZWZlMTgwYmU2MjhmYmRlNWM0ZiBsZWdhY3ktdHJ1bmsKKzE1MzIzIGIwYTQzNTBkNWMwMzEzNzg4MzQxMmFhZTRiNDI3ZjFjZjU3MWI1NDcgbGVnYWN5LXRydW5rCisxNTMyNCA1MzlhMWE5OWE3OGI0ODIzNmYwMGMyZDYyODNiNjFkZTI2MGFkYWNlIGxlZ2FjeS10cnVuaworMTUzMjUgMTllNjFiOGY0ZTAwNmNkZjJiZjY0OGI1NTE1ZWNlNmViOWVkMzliMyBsZWdhY3ktdHJ1bmsKKzE1MzI2IDFiZTIzMzE1ODhiMjM4YjNkOGZkODAyYzJjMzYxNDNhZjE0ODc4YzMgbGVnYWN5LXRydW5rCisxNTMyNyA2NmRkMjk4ZWFmOGE1ZDRhYTVmODJhNjY4YTJjODhiY2FiMjVjZWIyIGxlZ2FjeS10cnVuaworMTUzMjggOWE5N2E3MTRhMWJlMDMwMWVmYzVhNDliYWJiYWRhYWEyNmU4NTcxNiBsZWdhY3ktdHJ1bmsKKzE1MzI5IDNkYmU0MTM4MDI2NjYwODQzYTZkNmJlZjU0ZGNkMzk5ZjM5MTYxOWUgbGVnYWN5LXRydW5rCisxNTMzMCA4YmNkMTQzMTNjMTFjZGM5MTc2OGMxNjUwMWY3ZGNiZDVhM2MwOWQ4IGxlZ2FjeS10cnVuaworMTUzMzEgMGRmMThmOTQ3MjY3OGM2YzBjMzI0Yzg2MDc3M2M4YmIzNTNjMTc2NSBsZWdhY3ktdHJ1bmsKKzE1MzMyIDU5NTJlZjY3ODZjMjAwODMzZmNjM2IxZmFhNGM3MjkxNzFhMzkyMTkgbGVnYWN5LXRydW5rCisxNTMzMyBhZWU3YzQ0YmI0ZmU1YmVmYmVkZTdhOGY4YTQ2NzYwZjRmZTk2ZjU2IGxlZ2FjeS10cnVuaworMTUzMzQgOGJhOGI1ODU3ZTg5NzU2YzhhYjcxZGY3MzhhNzVjODU5YzVlN2YwNyBsZWdhY3ktdHJ1bmsKKzE1MzM1IGFmODZjZjg4MmQwZmZjMGQ2MWFlMTJjZjVlZjdlZWJlYzU3MTJjZmMgdW5sYWJlbGVkLTEuOTguMgorMTUzMzYgMWM3YzJkZDFiZWIxZjgxMDZhN2FmYTYxZDRiOGJhYmNjODNlMTc1NyBsZWdhY3ktdHJ1bmsKKzE1MzM3IGRjNzg5YjNlMmI5Yjk4ZDg0NjBmMDBlMWYxYzkxNWE0NWQyMjExYTUgdW5sYWJlbGVkLTIuMTA4LjIKKzE1MzM4IDg1ZjAwZjhjZDY3NGJiYzYzN2MxODFmZTVhYzc1YTgxNzBlNWFmNDEgbGVnYWN5LXRydW5rCisxNTMzOSAwNzc0NTZjMzI0YmM1OTg5MDE0OTBiYTBhNDUxNzcwMDVlNWMxMGY5IGxlZ2FjeS10cnVuaworMTUzNDAgOTc4MjUzNTQyMDc2MGNiZWU5NjBiODZjMTNmMzhhZDE3ZDk5YTc5ZCBsZWdhY3ktdHJ1bmsKKzE1MzQxIGUwYTEyMDk1ZmFjMmUxMDhkZDdkYzM0NjYyOGI3MGVkMGY0NWZmMzQgbGVnYWN5LXRydW5rCisxNTM0MiA2YWMzYTJjMDA0MGZjYjFkZmI0Yzg4ZDkyZWNhODZiM2U2ZDljMGE5IGxlZ2FjeS10cnVuaworMTUzNDMgMGJhYjFlMzZhM2E2YzIzZjczNmEwOTUxOTgwOWFlOTEzMjkwZGVhOSBsZWdhY3ktdHJ1bmsKKzE1MzQ0IGRiOTQ1OGMyYjYzMTA3ZjM1MDU2MWRhMmZmZmRjN2IzZDVlOGYxOWMgbGVnYWN5LXRydW5rCisxNTM0NSBjZGU0ZGExOGM0ZmEwOWFhZDgyMTlkNjU5NmYxYmZlMzk5N2IyMDczIGxlZ2FjeS10cnVuaworMTUzNDYgMGI5MWMzYjM4NGQ4Y2MzNmVkZDM0YWE0MzYxMzI4OGUzY2ZkNmQ4OCBsZWdhY3ktdHJ1bmsKKzE1MzQ3IDZjZTIxZTQ1YTk2ZWViYjg4OTVhODI4NmZiYTExMzJjNDhlMmFlMzMgbGVnYWN5LXRydW5rCisxNTM0OCA0ODVkNWVhZjBmNzU3MTA2ZjA0NmI0MmM5NzhlYTc1MjBkYTA5MDllIGxlZ2FjeS10cnVuaworMTUzNDkgNTQyNzRiZWIyNDRkMWQ5YjBjNmUzNGRmMjQzYzk3MzI4NGQzZTE3OCBsZWdhY3ktdHJ1bmsKKzE1MzUwIDJjYzZlNmRmZTliYjc1NjVlMzE3YjVmNmI3Y2FmMTE0ODU3NGUwNGMgbGVnYWN5LXRydW5rCisxNTM1MSBjZWY0NWYxYTc5NDMwNzhjYjA0ZGE1Yzk3MmYzNjU2NDgzYTAyNjE0IGxlZ2FjeS10cnVuaworMTUzNTIgZTQ0MjY2MmIyOGUxODkwMDE3MWViOWVjMzQ3M2M2MDU4OWM1YmEyMiBsZWdhY3ktdHJ1bmsKKzE1MzUzIDc2YjMzOTliMzY0Y2RkNjYxNDk4YzgxZmIwOWFmOGFlYzlhYmQ1NDIgbGVnYWN5LXRydW5rCisxNTM1NCBlYWVlOTI0ZWZiMTkyY2Q5OTQwZTAxOTZhN2JmYmI1OGZlYmFlZjJjIGxlZ2FjeS10cnVuaworMTUzNTUgNTI4Y2ZlODc5NjY1MjA3YTFlNGNlN2QwMjVkOTBhOTEzMjM4MzdjOSBsZWdhY3ktdHJ1bmsKKzE1MzU2IDA1YzA2NzE1NjU3YmNjNGUwOTI2YThjNTJjZWRhNzUwMzdiZTRjZGUgbGVnYWN5LXRydW5rCisxNTM1NyA1NjQyM2I5MzgwZjRmNzZiMzZjMDZjMmQyZGYzZjJhYzUzY2I4NGE0IGxlZ2FjeS10cnVuaworMTUzNTggNjI2Yzk3YWIxMjhjZmU5OTc2ODZkNjNlN2ExM2Y5MTc4ZGI3ODM0MiBsZWdhY3ktdHJ1bmsKKzE1MzU5IDkyZDFkZGMxYzU3ZmRiOWUwNmM2NDBhN2RkMmYyY2VhMWM1NmJhOTAgbGVnYWN5LXRydW5rCisxNTM2MCA2NDU1ZDhmYjc4NzYxZTY5NjdmOTdlZTBjNzY2NzljZTQwNWE1YjcyIGxlZ2FjeS10cnVuaworMTUzNjEgYjU3MGQ0Y2Q2NDBhYzM4ZGZlYmYzZTM2YTllOTY3MGFjZjhiNTU3NSBsZWdhY3ktdHJ1bmsKKzE1MzYyIDgyZjE3NmI3MDY3YjdjZjMyYzY2ZDkyZDk3ZjFjNmFlMjFhODk2MTQgbGVnYWN5LXRydW5rCisxNTM2MyBkZDYwNzhkMjBmN2Y4MmUwNWI5YjE4MzFmNzZkOWFhMDIzNmFmNzdmIGxlZ2FjeS10cnVuaworMTUzNjQgMzVjZGIzZDAzZmQzNTJjNTAwZGVkNTVjYzAxNzlmOTQ5ZTZmMjQxOSBsZWdhY3ktdHJ1bmsKKzE1MzY1IGI1ZjdhYjI3MjIzNzk1MzM0Yzk5NDAzMDBmMzRkZDE0NmI4NmI0MmMgbGVnYWN5LXRydW5rCisxNTM2NiBhMTExMjljZWVjYTVkZjY5ZTQ3YzFiYmM3YmFmZDBlN2ZmODk4NTc4IGxlZ2FjeS10cnVuaworMTUzNjcgNTEyNTNlMDhmNzY3ODgxMGNkZDE0MGQ4YTY3MWU5NWM0YjhjMmY2NCBsZWdhY3ktdHJ1bmsKKzE1MzY4IGE4YWIwOWVmNDhiN2FmNTVmNTc1NDZlOTc1NTI1MTkwNDk0MWIwNDEgbGVnYWN5LXRydW5rCisxNTM2OSAzMmJkNGJhZDEwOGJhOGNjYzRiNDZhNzIwOWFjOWNkMDg3YzUyYzVkIGxlZ2FjeS10cnVuaworMTUzNzAgNzFlNDIwMjk2ZWYxMTI3ZWU1NTE1MDRiMWU0ZDdiMTQyYjZmMjFiNyBsZWdhY3ktdHJ1bmsKKzE1MzcxIGMxOTVmYTE1NzU0MWM2MWNmZjdkODNkYjYxMzk3NzI5NjkxZTIzZDYgbGVnYWN5LXRydW5rCisxNTM3MiBiMzIwY2YzYTk4YjkwNmZkYWY3ZjU3ZjBhNzU2ZDUwMDAxYzhmYjJmIGxlZ2FjeS10cnVuaworMTUzNzMgNTY0OGRmNzQzOTVmOWI0MzdiZDlmYWMyNGM5MDBmNTRhMDk2OTlhZiBsZWdhY3ktdHJ1bmsKKzE1Mzc0IDgyMjhjM2FlOTEzMGFhODgwODNiNGMyNjY3MzY3MGRjMjIzNGYzMGIgbGVnYWN5LXRydW5rCisxNTM3NSA4ZDdhZDM4MThlYTZlNzM4YzVlOWNlODcwOWFjZjU3ZGIyZDJlOTYwIGxlZ2FjeS10cnVuaworMTUzNzYgNjcyMzNkZjEzMDM3M2U3N2UxOTJhMmI2NzNmYmVjY2UxMWQ1NDZkNyBsZWdhY3ktdHJ1bmsKKzE1Mzc3IDgxYmFiYmE1YmQzNGU5OWIzMTAzYTFjOTI4N2IwNGEzOTgyNWE1ODIgbGVnYWN5LXRydW5rCisxNTM3OCBkOWNmYTJlNmY3ODIwODUwNzgxNjdlZDAwYWNjMWNkZTVkM2JlOWYxIGxlZ2FjeS10cnVuaworMTUzNzkgY2M0MzUwYjFiOTFmYzk1MzcyMTdhOGM0MmFiNWQ1MTdiODIxNDFiOCBsZWdhY3ktdHJ1bmsKKzE1MzgwIGViNDkxNDFkNmUxMGYwNzU0NDYxZTM3ZjZkZDhlY2Q4Zjk0NDY1YjQgbGVnYWN5LXRydW5rCisxNTM4MSA5ZWE2YWU4Y2YwNWNiZWNmODliMTg0Yzc4MGNlOWNhZDI1NmI3YWEyIGxlZ2FjeS10cnVuaworMTUzODIgOGE4MmRkYWViYTZhYTE0MGFjMTZmZDczZjNkMmNhY2EwYWU0ZTc3OCBsZWdhY3ktdHJ1bmsKKzE1MzgzIGY3ZjlhNzQwZWQxY2I1ZDIzYjJkOTRhMTE4OTIwODIyNWQ5MDJlNzUgbGVnYWN5LXRydW5rCisxNTM4NCA5YTc3MjVlYTc4ZWIwYjBhNzExNDM2MGY3MjQ1NzBmZWU1NDMzNWJiIGxlZ2FjeS10cnVuaworMTUzODUgNmUwNzNiYTUxNDE0MmQ5OTAwNzUwOTkxNGFhNGRhOGE5MGFkYzc1YiBsZWdhY3ktdHJ1bmsKKzE1Mzg2IDExMWRjOTE2OGU0MzVjMmMyZTdmYTNiNDExZDU4NDc1N2Q3MzIyNjYgbGVnYWN5LXRydW5rCisxNTM4NyBhNmM4NDEzYjNjNGZmNTM4NmI1NTg3YjI4OTRiY2I0NGIzZDc3YzU4IGxlZ2FjeS10cnVuaworMTUzODggODdmNTk0NmM1NmY1NjZiNWZjMzcyMWM5N2U3ZjAwOGFlMzhjZGFmMCBsZWdhY3ktdHJ1bmsKKzE1Mzg5IGU3Yzk4YWYwMjA4NDkxZDljYzFjMzhkMmQ0MmIwZGFkNDY0Y2JlMGYgbGVnYWN5LXRydW5rCisxNTM5MCAzZWZlYWE3NTIxZTQxYjJmYWRkNjhkYjE4MTM5MWVhMTQwOWY1N2JjIGxlZ2FjeS10cnVuaworMTUzOTEgNTdkNGZjODMwOGUzZjE3Y2Y3MzJiMDcyOTY2MWQ5OWVlNDQxNTMwNSBsZWdhY3ktdHJ1bmsKKzE1MzkyIDEzMmUyNzE0OWY5ZjNkNjc4ZTFjYWUxM2ZmNDQ0NGYwNmQyYTAxNzYgbGVnYWN5LXRydW5rCisxNTM5MyAzNGQyYjUwZWZmMmViOTMxZDUxM2IwY2NlODRhMGI5ZDdjMTgzYTEwIGxlZ2FjeS10cnVuaworMTUzOTQgYTU2NzA3YjA3YjgxZGQ0NDE3YTQ2MWU0MTVlYjRlYWUzYjViYzQ2YiBsZWdhY3ktdHJ1bmsKKzE1Mzk1IGRkZjk4NmE5NzFiNTY4YTQyMmIzNWY0YzViY2JjZTgwYTc0NDkxYTMgbGVnYWN5LXRydW5rCisxNTM5NiBiZWEzZDc3MGJlMGFjNGVlYjBlNDVhYjNhMjkyMWE2ZDYwY2FlNWIyIGxlZ2FjeS10cnVuaworMTUzOTcgNzVkYTlkNjM1MzFkMzI1NzkwNDQ4NmVjN2JkZTc2YzQxNjBlYzQ0OSBsZWdhY3ktdHJ1bmsKKzE1Mzk4IDY5NDgxY2RlNTExZDg2NWRmNzE5YWMwZTY2NjIwYmUxZmIxOTFhNTkgbGVnYWN5LXRydW5rCisxNTM5OSBkZWY5NTkzNTI0MjJkMThkN2RiM2Q2MTliZDI4Y2UxOTllNThiYmI0IGxlZ2FjeS10cnVuaworMTU0MDAgOTE3ZDg0NWU2ZTVmMjFlNDk5ZTVlOTdhNTYyNTk5M2FjYmI1NTFjYSBsZWdhY3ktdHJ1bmsKKzE1NDAxIDNmMDZmNDc2NWJhNDIxYjJmZTc4NzU0NWJhNDJiNTFhNjlkMDVhY2QgbGVnYWN5LXRydW5rCisxNTQwMiAwMDRiYjIwZGIxMWUwODY3ZWM1NDAwOTczNmNlZTcwN2FiZDg4M2YxIGxlZ2FjeS10cnVuaworMTU0MDMgOTFiMmVjMjA3NjMzNDllZjQwZWEzMTI5OGNmYWMyMTljYjE2OTIzOSBsZWdhY3ktdHJ1bmsKKzE1NDA0IDA2ZmY5NjZmNjlkNTJmM2IwMzcwODRkNDNjYTVhOTlmMDMyYmM5MzQgbGVnYWN5LXRydW5rCisxNTQwNSAwMGFhNjNkNmQyNmVhMGQ1MDAyMTkyNzU2ODM2ZjViZmIzNWRkNzljIGxlZ2FjeS10cnVuaworMTU0MDYgYzRlYjcwZDI0YTg3M2ZjYzQzY2U1ZTE5MjNmMGQ1MjA0YTZjZjNjMSBsZWdhY3ktdHJ1bmsKKzE1NDA3IDE3ZDFhM2YxZjA4NWQ3YTY0ZTM2ZjUwYmQzMGY1MzRhNGE0OTJmNzAgbGVnYWN5LXRydW5rCisxNTQwOCAwMzVhYmI5MzAzMTdmM2RjODBlZDQ4M2YxYjI3NzM4NDQ4OTczYjM0IGxlZ2FjeS10cnVuaworMTU0MDkgMmE1M2Y1ZGMwNTkwZmRkODBiMDZiOWNjZDJjMGM3MzM5NTg4ZWE5MCBsZWdhY3ktdHJ1bmsKKzE1NDEwIGM5MjY2ODc2NmY1ZGY5YjlhZTM0MzIyN2YwMmY3YjYyM2Y5NjA2OTEgbGVnYWN5LXRydW5rCisxNTQxMSAxYjA4M2ZlZDlhNDhmM2I0ZTU1YTg4NGMxZDk2NDg1MGUwOTlkMDdmIGxlZ2FjeS10cnVuaworMTU0MTIgZmFhOThjOGYzZjQyMjUyNTlmNDA0MDQ5YmE5NzFiODFmZTJiOGQ3NSBsZWdhY3ktdHJ1bmsKKzE1NDEzIDg2NjM2NWI0NGYyMzc0ODU3ZDc5MWU2YzA2NGM4NzY5YjRhNjg2ZjIgbGVnYWN5LXRydW5rCisxNTQxNCAwYTMwODFkZTU1YTE4NTc4N2RiYzQzNjU4YmQ2MjkzOTViZTY4MzFhIGxlZ2FjeS10cnVuaworMTU0MTUgNmIxNDNjYTRmZDdmMjM0ZTA0NzJiZGYxNGM0NWQ0NTBiODdkYjA3MyBsZWdhY3ktdHJ1bmsKKzE1NDE2IDRjYzc0YmY4MGUwYmM3ZmIyODIzNzUxYmIyYjRhNTMyNTcwZDZhYzIgbGVnYWN5LXRydW5rCisxNTQxNyBmN2E4OTk2NDdjYjNmYjBmMDliOWRjMTQwOTViMDNiYjQ2YTYxMzI2IGxlZ2FjeS10cnVuaworMTU0MTggODA1YmI5MGFmMTRkNzEwZjQzZjE4ZmExNTA2YjVjMWY0MzMxNDk1YSBsZWdhY3ktdHJ1bmsKKzE1NDE5IGUyZTQzNmE2Mjg5ODE5MTIyMjkxYTJkZjc3ZGE1YzMzZGQ3ZmUzNTggbGVnYWN5LXRydW5rCisxNTQyMCBiNjU2M2Q5ZGYwNmQwNzJlMzIyOTM0MmU3ZjFlMDYxNmQxZjY3MjdlIGxlZ2FjeS10cnVuaworMTU0MjEgMDU0OTMzZmFmNzdhMTE3ZGRmMzc0NGJmYmY1MDA5OTQ2NmE2MDIxNCBsZWdhY3ktdHJ1bmsKKzE1NDIyIGI5MWZkYzI5YzViZDJjMGEzNmQyNDJkMzJmYzRlMmZlYzdkOWJhODUgbGVnYWN5LXRydW5rCisxNTQyMyBhYTlhNjM1YTZmNDc3YTg3NTk5YjliMmQwYjM1YTQ5NWU2OTZlNzQ1IGxlZ2FjeS10cnVuaworMTU0MjQgMWVhOGNmODg1ZjdiZDkzMWJmOGM1OWRmNjg2MTZkODYxMjE3ZDFmYiBsZWdhY3ktdHJ1bmsKKzE1NDI1IGI3Nzg5MWZhOTNiMGU0M2QwMzRjYzdjMzlkOTUwNTIwOWFkN2MzNWMgbGVnYWN5LXRydW5rCisxNTQyNiAwNTcwOTc3OTYxMjBiODYzY2Q4OGRkOGM2NTFmNmI4MjlkMzE0NmFmIGxlZ2FjeS10cnVuaworMTU0MjcgNGRmNTIzOTk4ZTVkOTQ5NzYzYTMyNzcyNzUyNjk1Y2RkZDFhNWFkNiBsZWdhY3ktdHJ1bmsKKzE1NDI4IDdkMDI1NWJlZTBmOThhODEzZGE1NzA5MGY5MDhhMGU3MzdmZDUwNGMgbGVnYWN5LXRydW5rCisxNTQyOSAwNmEzNDZlYjNjYmYwM2IwNjVmZDExYTE0NGQ3NmZiZDU0MThhMjIyIGxlZ2FjeS10cnVuaworMTU0MzAgMmE2ZGM2NWMwNjBmNThkZDMwMWVhOGQ5OThjM2FhOWI4YWU3ZGFiZiBsZWdhY3ktdHJ1bmsKKzE1NDMxIDJmZWI5NzkwYjQwNDU2ZmVjNzM2NGNiYWRhOTY4MzU5Yzc3MGRhN2UgbGVnYWN5LXRydW5rCisxNTQzMiBhMDJlNmE0M2NhMTViMDk5MWUxN2M1NGJiM2NhYjY4ZDg5YjQ5N2Y4IGxlZ2FjeS10cnVuaworMTU0MzMgNDdiZGI2MzYxNTljODA1YTM1N2UyZWIxOGQwYjAxNjA5MjYwNTgwYSBsZWdhY3ktdHJ1bmsKKzE1NDM0IDU2NDY3NzMzMjBiZWE2ZGFkNjRiNTU0NTA4MDZhMjc1Nzc4MWE5MmMgbGVnYWN5LXRydW5rCisxNTQzNSAxMTZmYzQzMDVhMzliMTMyZWQyZWZmN2NmZGRhZWI0NTU5NDZhYmE5IGxlZ2FjeS10cnVuaworMTU0MzYgZGU0MzVhNTlhNGQ1MzU1NWQxNTFlMDQxMGYxNTA0ZWQ0OTI3MzgyZCBsZWdhY3ktdHJ1bmsKKzE1NDM3IDA3ZGMzZWQxN2RkNWQ5NWI2ZTRlNmFmNTY4MzVjNWM4ZmRjYTVjM2YgbGVnYWN5LXRydW5rCisxNTQzOCAyMzQwNzQ1NDVlYjRlMTk3YTdmOGRlOGIzNTY1NGIzNTJkNDY2ZGEzIGxlZ2FjeS10cnVuaworMTU0MzkgODc1ZTY3NzIzNmE3MTg5ODgyNmJlOTgyMDQ2M2MxMmNjZWZmMGQyNCBsZWdhY3ktdHJ1bmsKKzE1NDQwIDhlODFjNmM1MjRiMjA1YWQ1MTMyNWY1YTQ2YTUyYmEyYzBkOWU1NWMgbGVnYWN5LXRydW5rCisxNTQ0MSBiODlkYTIwMmQxOGQ3NjljM2FhODNmNjk5YTNmYTBmMjk4NWFkNGMzIGxlZ2FjeS10cnVuaworMTU0NDIgYmRhZTZiOTA5MzRmNDZkZDQ2OGEzYzMwODk0OWJkNmMzMDY3MzcyMSBsZWdhY3ktdHJ1bmsKKzE1NDQzIDdjODllZTQwNzMwZjQwZTMwNTQ3ZmYwMzdmYTVkMDExY2VjZmRhMzkgbGVnYWN5LXRydW5rCisxNTQ0NCAyZTFiMDQ4M2IxMDFiMzA3NjQ4MmNkN2NkNDUzZmMyYzA3NDMxOGRiIGxlZ2FjeS10cnVuaworMTU0NDUgMzRmMDkwNmZlODIzNDg0NjE0ZGI5ZmI1YTE2MjlmYjMyYjdiMmJlMSBsZWdhY3ktdHJ1bmsKKzE1NDQ2IGNiZjlkNjdiNWZjMWY1YjBhMzRlOWM0ZGZhZjZmMzhhNzAyMDliMWMgbGVnYWN5LXRydW5rCisxNTQ0NyBiYzk2YzkxMmRjZThjZDU5ZWUwY2Q4NDZkNzg1ODlmYjE2YjViMTM5IGxlZ2FjeS10cnVuaworMTU0NDggNmJhZDE2Nzg5Zjc5YjQ1MjUzM2QyOTE3NjA3YWY5MjI4OGY5YTcxZiBsZWdhY3ktdHJ1bmsKKzE1NDQ5IDljYjk2MDg2MDUyOGYzMzdmZmQ0MTUzZTdjNTg1MzQ4ZTk2OTQ3ODYgbGVnYWN5LXRydW5rCisxNTQ1MCAyMGIzYjk3NjVjZWM2NmJkYWE3Y2E0YmQ1MjQ2ZDgyN2I2MjcyOTEzIGxlZ2FjeS10cnVuaworMTU0NTEgNzI4YzE2MDUzMzY4YWVkYzYwYWQ2ZGI4M2ExMDRjNDBiMzU0MWZkYSBsZWdhY3ktdHJ1bmsKKzE1NDUyIDdiNDY2YTczYzk2MTY2M2U4YjhjMjQ3ZTgzOTg5ZmFiYjkyZDhlODAgbGVnYWN5LXRydW5rCisxNTQ1MyA0MjBmOWFhZjg4MGJkZTMxZGU0ZDEwYzg4ZjJhMWIzMGE1OTg4OWM0IGxlZ2FjeS10cnVuaworMTU0NTQgMWRlZTkzZWI5ZWUzMjE1YTdmNWZmNmFhZGQ2NzEyODU5ZTQ1NDhkNSBsZWdhY3ktdHJ1bmsKKzE1NDU1IGE5NDI2OWJkNjU4NTkxOTRhZDUxZGFlODM0MjQ4YzAwNjFhYzZlNzkgbGVnYWN5LXRydW5rCisxNTQ1NiBhNDhiNjBiNmViNDgzN2RjNjhlMzYxZjg3YzAzNzRmNjUwNTNlZDc2IGxlZ2FjeS10cnVuaworMTU0NTcgYTQ5ZTQ1MDY4OGUyZTBkNjgwNTNkZjBkOWVkZWIxZGZkMjMwODQyYSBsZWdhY3ktdHJ1bmsKKzE1NDU4IDkwMjgwMGQ4ZThiZTExNWU1MmU1YjI0YmIxOTFjY2Q3MTMwYjg2YWEgbGVnYWN5LXRydW5rCisxNTQ1OSBlYjE3MThjNWE1NmMwZGJlYTAzZmVkOTJjYmNlMWNmNGJjNjY3N2ZjIGxlZ2FjeS10cnVuaworMTU0NjAgZWU5NzJjYTY1YzFjMjMxNGFhMWFmNzhkNGYwNzE4MTRhM2U0OTkyZCBsZWdhY3ktdHJ1bmsKKzE1NDYxIDk0ZWRlMDRiOWE5ZWVhZGZhMjRjMTY4ZWUzYjBhNGFlYWFlNTk4MDcgbGVnYWN5LXRydW5rCisxNTQ2MiA5MGM3OTA2YjA5OTliNTFhNzVkOGRhNTFmNzU5ZWIzMDgxYjYyZTg4IGxlZ2FjeS10cnVuaworMTU0NjMgNThhZDYxOTZkODFmMmI0ODk5NTRlMTRmM2ZhYzcyYmYxYjU5ZDhiNyBsZWdhY3ktdHJ1bmsKKzE1NDY0IGY1NTVmZDgwNTA4NTVlYThjMTk5ODRmZGJiNzM4MmE2N2QyZWQ5ZjUgbGVnYWN5LXRydW5rCisxNTQ2NSA2MDU5YTkyNzlkOTk5NGIwNWRhNjBjMjJmNWFiYmY2MGY5ZTM5ZDhmIGxlZ2FjeS10cnVuaworMTU0NjYgN2ZmNWFlMTBhNzcxZDdjNmQ5ZmQ4OGIyZDUwOWRmNmIyYjYxY2M3MCBsZWdhY3ktdHJ1bmsKKzE1NDY3IDI5Nzc1YzI4NzIzNzhmNTQzOGRhN2U0ZTk1ZDhkZjI5YThjYjA5MzAgbGVnYWN5LXRydW5rCisxNTQ2OCA5YWJlZmM1YjFkODlhMmZiNjMxMmI3NGIwYzZhMDI4YmI0YmQ3NTY0IGxlZ2FjeS10cnVuaworMTU0NjkgMzUzMDU5OTE3MTliNTE3ZTI5ZGQ1ZjFhOWFhMTIzZTA4ODZlNzU2ZiBsZWdhY3ktdHJ1bmsKKzE1NDcwIDFiZjcxNGUwYzEwZjVhZGM2ZDI1MmFjZWIxOGZiZjc4Y2RjM2Y5YWYgbGVnYWN5LXRydW5rCisxNTQ3MSA5NDJjZTIyMTEyOGEyODMwMTU1MzBmNjkzNzdmNThjNDMyOWNjZjE5IGxlZ2FjeS10cnVuaworMTU0NzIgYjgxN2YxNjM5OTM5Y2ZkNDRmMzk2ZjZlYjZiMDRkZDU4YWI1MDA5MCBsZWdhY3ktdHJ1bmsKKzE1NDczIGJlNTVmNWRkYzYxNWJkMjE1YzE4NDZjZjUyMTIwODJiODhkZTVjM2IgbGVnYWN5LXRydW5rCisxNTQ3NCA3ZWZiYjRlNmFmY2E4MzBkYjFmZThkYWZkMjQ5MzgyYzZlOTVlOGY4IGxlZ2FjeS10cnVuaworMTU0NzUgOGRjYTU1ODY3OTk4YTU5MmNmMDljM2YzOTQ2OWQ3OWJiMDRhMTM5MSBsZWdhY3ktdHJ1bmsKKzE1NDc2IDZhZDhjZDM0YWQ4YzhmMWFjYjE4ZjJiZjU3YWJjZDkyMzAzNTMxOWYgbGVnYWN5LXRydW5rCisxNTQ3NyBhZWNmMzVmMGMxNmJhM2M5ZTkzOWEyMTIzMzQ1ZGUzZmY1NTI1YWM4IGxlZ2FjeS10cnVuaworMTU0NzggMGE2YWY1OWViZmZkOTNhZDViODliMmQwMTY2NTEyMGQ5OTRiMzBjNCBsZWdhY3ktdHJ1bmsKKzE1NDc5IDUzZTU0YmQ0ZTVmNGFjYjFiYWY1OGU4NGEwMjMyNTQyZjk0ODMxNjMgbGVnYWN5LXRydW5rCisxNTQ4MCBmZjgxYTY1ZTBhOWJiMjIwNjdmYzZhNWY0YzNjY2ZhMDg1ZDRiZDNiIGxlZ2FjeS10cnVuaworMTU0ODEgMmVhOThkOWRjNjY5NDQ5ZjY5MTdiYTk3YWY5MDNjZWRmZGY1NTUyNCBsZWdhY3ktdHJ1bmsKKzE1NDgyIGE1OThhY2UwMTk0MzljNTAzMzk1ZTk1NzhlODMwNDZmNTBjNGI5ZTcgbGVnYWN5LXRydW5rCisxNTQ4MyAwNTJhZmI3NDk1MmVjZmQzMjk4MGQxZTQ4MGMxNWE5NTA3YjNjNzQxIGxlZ2FjeS10cnVuaworMTU0ODQgZDA0MGNlYmQ3NGFjMmYyNTM1MjA3OTRmM2Y3ZDY1MzJkMGFjZTIyZCBsZWdhY3ktdHJ1bmsKKzE1NDg1IDJiNDk4ODM3Y2Q4NTg2ODY3NzFjYzI2YTkxOGMyNTU1YzY1NGE2NGIgbGVnYWN5LXRydW5rCisxNTQ4NiA0MGQ2ZDJmYzljZmZmNDc5NzIxNTZiZDFiZGYyZWFmMzhlODI0NjYyIGxlZ2FjeS10cnVuaworMTU0ODcgNWRkM2IzNWJmZDUyMmY4YTMwYzhmN2M3ODg1NDY0YjgzZDcxMTMxZSBsZWdhY3ktdHJ1bmsKKzE1NDg4IGNlM2RlMjk0MzYyYjhhODUyYmIxMDcxN2JiYzc1Nzk1MWY0M2RjNzUgbGVnYWN5LXRydW5rCisxNTQ4OSA0ZmQ4NDU5MjJjNDlhZTBlNGNlOTIwZTg1NWZkN2UzZmE3NWRmNjhlIGxlZ2FjeS10cnVuaworMTU0OTAgMjRhYjg0ZGM0MmFiZjA5ODQwYTZjNGRlMmNhYjFkMTY0Y2NiY2M5OSBsZWdhY3ktdHJ1bmsKKzE1NDkxIDE0N2QwYjQxNDRlYTE3ZGYwZjgwM2M1NDE5YjBkZGQzZjFkNDdkZDUgbGVnYWN5LXRydW5rCisxNTQ5MiA0MTE4ZjAwMmU3Mzc3MzJlZDA3N2YxZmJkZTdiOWZmMTc2MmYyMmY2IGxlZ2FjeS10cnVuaworMTU0OTMgNzk1NGZmOTNlZTNiYzY5Zjc5Yzk4YzRmZDMwMWFiMDFhOTY3OWI5ZiBsZWdhY3ktdHJ1bmsKKzE1NDk0IDgxMzgzMjIyMDk4YTNkOWQ0MThmYzJiZWRlNTM5NWFlZjBjOTI2NGUgbGVnYWN5LXRydW5rCisxNTQ5NSBjYWIyMmJjYmY1YjZkYzZhM2U5NGU0OGM5YzViZjhkMDEyNTI0ZDNkIGxlZ2FjeS10cnVuaworMTU0OTYgZDJkODY1ZDk1ODYxMjY0M2IwOTBjYmU2NTE4MGY1NGMyYTI1N2RjNiBsZWdhY3ktdHJ1bmsKKzE1NDk3IGQyNTczZGJmNjg1MjU0NDg3ZGM4N2I4ODdlY2RlNmI3MGY3NjRlMDggbGVnYWN5LXRydW5rCisxNTQ5OCA3N2E1YTE0Njk1YjMyYTllMTc3YTI1NDcxZWNkNGQ0ZTRlN2VkOWQ4IGxlZ2FjeS10cnVuaworMTU0OTkgM2QyNmNiMzgwOGE3ZDIyMGRkZjdjZjEyNGE3NWQyZjk3YzM5NmE5YiBsZWdhY3ktdHJ1bmsKKzE1NTAwIDE4YjAzNTY1MDVhNWE0YWMyNjc3ODQ4YmZiNTY0ZTdmZjdiNDk1ODEgbGVnYWN5LXRydW5rCisxNTUwMSA4OWY0MjA5OWM1ZGQ2ZjQyZjQyZTQyZjRiNjBiOWM2ZjRjMjUwN2UzIGxlZ2FjeS10cnVuaworMTU1MDIgYjUwYmY3ZDM5NjFmODdlNTZhMjhhY2JlMGY1OWQ5OTBhMjZlYzc3YSBsZWdhY3ktdHJ1bmsKKzE1NTAzIDU3MGZhY2I3M2UzNjRmNzc3MjU1ZjYyZmU5NDg5OTAxNWRmNmUzMTEgbGVnYWN5LXRydW5rCisxNTUwNCBlODc4YTY0N2UwNmVhZjkxZmM0ZDgzNDQyZDVhMDkwNzQ3ZjRiMjY1IGxlZ2FjeS10cnVuaworMTU1MDUgZWVhZmFiOGM5MjViZTY4NDRmZmI1M2Q4MDFhMWZkYTgxNTgxN2NkMyBsZWdhY3ktdHJ1bmsKKzE1NTA2IGRhZDIwNWQxM2JiNTlkYjYzNDI3OTJkZDBhNDJiYjBjMDBkMGMyNDggbGVnYWN5LXRydW5rCisxNTUwNyAzYzMwZjdiNTEwZDM0MTM2ZmE2YWQzNzZmZGE0OGI1NmY0NWQwODA0IGxlZ2FjeS10cnVuaworMTU1MDggNmM2ODQ0YTJmYTMwNGYwMjAzMGQ1NjgxMjliNGQ5MjI1OTExNjQ0OSBsZWdhY3ktdHJ1bmsKKzE1NTA5IGViNTYyZGYwY2ViZTBlZmVmY2YwZGY2MjBiZDgyMGM0YzhmNmUzYzYgbGVnYWN5LXRydW5rCisxNTUxMCBiY2U0OWE2ZmE4YjllNWJkMjZiMjNlNDU5N2RkOGMyNjQxZGZjNThiIGxlZ2FjeS10cnVuaworMTU1MTEgMjQ5N2UxYzllYmNlZWE3MTg4ZTM4NWJiYTlhNjVjNDNjNzRlMzZkNyBsZWdhY3ktdHJ1bmsKKzE1NTEyIDJjMmI0MGViM2E2NTQ2MzE5MDczMTE0MDc2ZGNjNTNmMjUwZjFjYTQgbGVnYWN5LXRydW5rCisxNTUxMyA3YjQ5MzM0YTYzNjk2YWNjNGM4M2RkMDdkYjkxZTZjMjYxZWE1OWM3IGxlZ2FjeS10cnVuaworMTU1MTQgODZlYzc1ZGFjMjcyYmFmYzdlNmFkZDk5NzM5YWNjYzFjY2NlYjFmOCBsZWdhY3ktdHJ1bmsKKzE1NTE1IDUyMTNhYmZlNTIzMGJlYjAzZmMxOTk2MDEwMTc2NTcwNDg4YWJjNGMgbGVnYWN5LXRydW5rCisxNTUxNiA4ODlmMmNiM2Y3MmFhZjgyMDk2MzU5MTJiNmVmNjdjZGUyOWUwMjU4IGxlZ2FjeS10cnVuaworMTU1MTcgZWNkZGIyZWQ0Yzc1NmE3NWNkYmRmZjRhNzdhNWFhYjg1MGU3OThmMSBsZWdhY3ktdHJ1bmsKKzE1NTE4IGYwZDIyNTNiNjY0ZjU4ZDNjYTQ5OWIyYTJlNTczODkxZjQ3MjI2YWUgbGVnYWN5LXRydW5rCisxNTUxOSA0MDZiMGUyNGQ2MmU3M2Y4YWI4YjRlNTZmNTlkMTM0NzBhZTZiMzFhIGxlZ2FjeS10cnVuaworMTU1MjAgMWRlMDAxN2UxMjI2N2IxMDExOTM2ZjU3MWYzMDZjODBiNzczNzkwOSBsZWdhY3ktdHJ1bmsKKzE1NTIxIDBmMWU0ZTM5MzVkN2M0MDAzOGJmOWQyMDAwMGM5MzkyYzRlYmVkMzEgbGVnYWN5LXRydW5rCisxNTUyMiBkYTAyYTg5MmQ2MTE4NjQ1OTY2OTcxMzY5OWI3YmRmMTNlMTljMjE0IGxlZ2FjeS10cnVuaworMTU1MjMgOWUxYjgwNTBkZTYzYTQ1ZWE0ZDIwODNjOGIxMjdmMTJjNWVhOGU4YiBsZWdhY3ktdHJ1bmsKKzE1NTI0IDNjMTQ5ZDM4YWJmOWZjNDg5Zjk0N2Y5OTU0OThiNjM0NTYyZmFlYmEgbGVnYWN5LXRydW5rCisxNTUyNSBjOGE5ZDE3NjY0NjVjZTVhZmJlZTljMDA5OTFiNzkwOGY2YWIwYTY2IGxlZ2FjeS10cnVuaworMTU1MjYgZTBlZjYyMmY4YzIzY2U5NGVjMjlkYjU5MGM0Y2NkYmExOTkwOTc2OSBsZWdhY3ktdHJ1bmsKKzE1NTI3IDk2NzczMmRkM2Y5NTliYTg2ZjE2ZmVkOGQ5Y2I5ZTU5ZWQ5Njc3NDAgbGVnYWN5LXRydW5rCisxNTUyOCA5Y2JjYWQyZTg3MjM4NDU5MWNhOTZjZmE2M2I5YTljZDg1Y2MyMjM3IGxlZ2FjeS10cnVuaworMTU1MjkgYjVhYjQ3MzY1YmFkNjU4YWMyMGEzYTkxZmE3YjhlYjExYTFmMWExYSBsZWdhY3ktdHJ1bmsKKzE1NTMwIDI2M2NkZjljODQyZWU3NGQ0MWM1MDQ5YTZmNGRhOWRiMTU3ZjQzNjEgbGVnYWN5LXRydW5rCisxNTUzMSBmYjQwMzliMWNmOGQ3NWYxMmJkNWY5Zjg4MGVlOTYxYTc5Y2I0YzA1IGxlZ2FjeS10cnVuaworMTU1MzIgNTJjNmFjMmQxNmE4Y2FlZWI4MDc4NjYxMmU4Y2IyNDY2Mjk5Y2NlZiBsZWdhY3ktdHJ1bmsKKzE1NTMzIDdhNGY2NDAyYzY3Zjg4NzVjNjZkZjgwMjQ5NTljMGM2NjI0NmJiYzMgbGVnYWN5LXRydW5rCisxNTUzNCBiMDY5NGMxYzEyODdkOGI2ZGY5MzlhMzUzZGE3YjFiYWRkMjUxYjQ0IGxlZ2FjeS10cnVuaworMTU1MzUgNDBkYjkwOWNlMmUzMmFhZjZhNzRlODI5YmFhNjU0MDI2NjQzNDljNiBsZWdhY3ktdHJ1bmsKKzE1NTM2IDhlMmIzNWQzODZhYWNhYzc2ZDc5NTRjZDZjYmEzZGUyMTZiZjg0ODYgbGVnYWN5LXRydW5rCisxNTUzNyAzNDI5NDdmMmZiNTE0MzFkODRiNzQzMzQzYTI2MDkzOGI4YjFjODQ0IGxlZ2FjeS10cnVuaworMTU1MzggMzhkYTg2NGEwYzgwNjZhYzVkMjg0OWYxOGVkNDhhNGUyNTRiNGVmMSBsZWdhY3ktdHJ1bmsKKzE1NTM5IDAyNjNhOTlkMGViMjg4OGRjOWE5N2NjZDhmYTNlM2I4MTE5OWQ1ZmIgbGVnYWN5LXRydW5rCisxNTU0MCAwNTcwZGU5YzgyMDJkNWJlMDYzY2VmZDE4ZmYwMDYwOTVhYmY3YmEyIGxlZ2FjeS10cnVuaworMTU1NDEgOTMzNWRhYTlkZGQzYjAzODYyNjE0YjIxZTNkZjFmYzFhMGExYWFlMSBsZWdhY3ktdHJ1bmsKKzE1NTQyIDkzNmVmZGMwMWQ1MjQ2OTBmZTIxODhiMjkxMTNhZmU4MWU2MWUzZDMgbGVnYWN5LXRydW5rCisxNTU0MyA3NzFiM2UxYTc3MWM4Zjg3NzQzNDA1Nzg3ODFhMjIxYzE2Y2M1ODQxIGxlZ2FjeS10cnVuaworMTU1NDQgYjkxYjM1YzFkNGMwMDhlZDhiOTlmOWE5YzA3MTllYjkwZTViNjYwMSBsZWdhY3ktdHJ1bmsKKzE1NTQ1IDUzOThiMThmODMxOWQxZTQ0ZmU1NDI2YTZkZGI3MzFhY2JjNWVmMjggbGVnYWN5LXRydW5rCisxNTU0NiBmNmU3MzBmNjViY2U2MmViZjk1YzgyYTU3YTk5MmJlNmRiMDBlMjdlIGxlZ2FjeS10cnVuaworMTU1NDcgZjc2OGQ0ZGFkOWE2MmEzN2VkYzBmYzc4ODc4NGQ3MjY4OTEwMDRjZSBsZWdhY3ktdHJ1bmsKKzE1NTQ4IDZmN2RmOTg1YTgwYzQ3ZDYwYTNiYjUzYWVlODk5N2JhOGMxOWFmODkgbGVnYWN5LXRydW5rCisxNTU0OSA4MDA0ZDI5Yzc3YjhiZDI5NjI5ZTA3Yzc4YzRjMjMxMTNlMmEwNDdhIGxlZ2FjeS10cnVuaworMTU1NTAgZjBkMDM2ODljMWFlMDA0ZmY3ZWMxNjI5ODNhNGNmOWZhMDA0ODE2MyBsZWdhY3ktdHJ1bmsKKzE1NTUxIGY4YzFjNWI3ZGM5ZjRiOTczNzA0NmNiODc0NjkzYWVlYjdhYWYyMTMgbGVnYWN5LXRydW5rCisxNTU1MiA5MzdmOTg1OWM5ZGUxYjY5Njg4YzQ0ZjZhOTVmNmU2N2NiOTVjOWM1IGxlZ2FjeS10cnVuaworMTU1NTMgNWNlNDJlMDdhZmQ4NWFlOWNmNzhkODQ3NTQ1NDQxODIyMWY0MDA3NiBsZWdhY3ktdHJ1bmsKKzE1NTU0IDUzOTc0NDUxZTMxZjExNjY4ODI4ZGU5NmFjODAyM2MzYjBiZTQ4ZTkgbGVnYWN5LXRydW5rCisxNTU1NSAwNzQ4MTlhZmRjOTVhYjFkMTYzMjQzMGY3NzMyODYzMDE1ZjI1MTI2IGxlZ2FjeS10cnVuaworMTU1NTYgZWUxMTkwNTFkZjc3ZjQxNWRhZWI1YjkxMTE4OTZkZDIyZjgyYjQ3MSBsZWdhY3ktdHJ1bmsKKzE1NTU3IDVjMGVkYjM1MWMwNzI3OTE4ODU0MGM0ODhlNGQ5MDRhZTQ5ZjYzNDIgbGVnYWN5LXRydW5rCisxNTU1OCAwOWY3MGY5MWJkYWUyZThmNWFjOWFlMWIyYWQ3NmRiNDBiZDFmMGY3IGxlZ2FjeS10cnVuaworMTU1NTkgODhkMGIzMzgzZmUyNTU2NDM5ZWUzMDY1MGYzNzZhNGMxMGRmODE4YSBsZWdhY3ktdHJ1bmsKKzE1NTYwIGQ4MWM5NWRkNDAzOWRkYThmNWFkNjk2NTMxZmJjYWIwNjljMzdjMjcgbGVnYWN5LXRydW5rCisxNTU2MSAzYWFiMGM1MTkwMDkwYWY2OTYxNWFkOGNlMzE0NDQxNGU2ZjAxNTFhIGxlZ2FjeS10cnVuaworMTU1NjIgZWVmMmI5MThkMDdhYzg2OTI0ZGIwYWU1MDJjYmI4YTFhODYxYWRlOCBsZWdhY3ktdHJ1bmsKKzE1NTYzIDMzZGRjMTJkZjI2N2Q4NGQxMDgzMTIyZmQ3YzBiODExY2RlNTA4ZjcgbGVnYWN5LXRydW5rCisxNTU2NCBmNmQ3ZTMyODY2MDkyNjExZDQ0M2E2MmM5NzkwYTM3Njc4NDdkMzYxIGxlZ2FjeS10cnVuaworMTU1NjUgM2JlOTJjZWYxOTE3NDQ5OTZmYjAwYmY3NmZjOTgzZjVmMmUyNDYyZSBsZWdhY3ktdHJ1bmsKKzE1NTY2IGUzNmJlN2ZiNzZjY2M3ZmJhZjg0MDJjNDY0NjJmZjFlMzJmOGY4MDQgbGVnYWN5LXRydW5rCisxNTU2NyA1ODNkZWY4Y2VkZjQzMTBkYzFkMTVlNmNlYzdhMWJlOTRmNTI2YmMzIGxlZ2FjeS10cnVuaworMTU1NjggYmNlNTNiMTQ3MjFlOTE5YmM5NTIxZWZjMzc4NTgzMjAyMDU5NzBhNyBsZWdhY3ktdHJ1bmsKKzE1NTY5IGJjMWZlOTU2MjM5OTgzZjIyZWQzNmZhM2RiYTZjNmZkMDdkMDRjMWUgbGVnYWN5LXRydW5rCisxNTU3MCAyNThlZWQ0NTcwY2U4OTBjMTBmNzM0N2Q1ZTA2YTljZDczYjlhZDk3IGxlZ2FjeS10cnVuaworMTU1NzEgNzExYjMyOTYwOTM0N2Q1ZDI3MDY4MWY5NTQzYmI2MzgyMjZlNWIxYSBsZWdhY3ktdHJ1bmsKKzE1NTcyIGIxMmFkYTJlYjMxMmIwNmQwMzllMTQwNzEzMjEzOTczY2M1ZGZlYzAgbGVnYWN5LXRydW5rCisxNTU3MyAwYzIxN2U1ZjA1NWI3NmU0OTBiMTgyM2U0NjEzYTA2YzRkMzdkODNmIGxlZ2FjeS10cnVuaworMTU1NzQgZjFmOWMzMGE0MTU2OTU3NDhiOGQ5YjU0MDQzNzE1OTI1MzFmZDAxZSBsZWdhY3ktdHJ1bmsKKzE1NTc1IGIxYjI2MGEyZGU5ODdlODc4NTM5ODE3NzZhM2RkZGQyODZhZjBiM2UgbGVnYWN5LXRydW5rCisxNTU3NiBmZjBmNzI4MWJmYjg0YmMyNjQ0NDQ4ZjgyYjgwNGZjMjUwN2MxMTcyIGxlZ2FjeS10cnVuaworMTU1NzcgNDI3MmIzNjhiZjY5ZjZjZWFhM2ZlN2Y5YmIxOGJiNWM4NTU2YmViYiBsZWdhY3ktdHJ1bmsKKzE1NTc4IDVmMWY4ZGRjMmEwY2RlNDlhODdlOTM3OGVkMjUxOTkyMzI5MWE3YjMgbGVnYWN5LXRydW5rCisxNTU3OSA2NjY3ODIzMjZkNDJjMGRiMzViMDEzMTJhZTYyYjkwNmQyZTVjODI4IGxlZ2FjeS10cnVuaworMTU1ODAgYTI0ZDlhZDY3ODZkNjYzOTI2NjFhYTI1NmQ2YzU4YWE0ODQ0MjZiZiBsZWdhY3ktdHJ1bmsKKzE1NTgxIDM1ZWE1ZGUxZWU4M2FiNWY1Njc5YzIxNzIwNTBkNThmNGY4YTRlNGUgbGVnYWN5LXRydW5rCisxNTU4MiBmMmRiNjA5NDNkNmI4MzFiOTQyZmYwNTRkZjc2NjAxMzViMjlhMDEwIGxlZ2FjeS10cnVuaworMTU1ODMgNzIzZGYwYzgwMWQxZGM0YTVhNWY3NWY0ZWRlMmFkZTE2YjZkOGE1ZiBsZWdhY3ktdHJ1bmsKKzE1NTg0IDJjN2E0N2M2NGUzMDZlNmNhYTJmZDgyNWM4ZDQwMTBlNTJlN2RjZmMgbGVnYWN5LXRydW5rCisxNTU4NSBiNTMxOWY0MjI1OTEzZjA0MDE2NzU5YzFmMDJlZDNhNWI3ODM2NjQ4IGxlZ2FjeS10cnVuaworMTU1ODYgYzkyOThlYzYzN2M1YTYxMmQ3NDlkMjk5NzlmODYxOTE4MjU0MjczNSBsZWdhY3ktdHJ1bmsKKzE1NTg3IDdkMmEwMDYzZTI2ZGZmZWJlMmQyNTNhMDIyNzllYWEwMDIwOWFkNDEgbGVnYWN5LXRydW5rCisxNTU4OCAwNDc3NGQ2MjJlYTJkZTIxOWJlOWE4NWMyOTE5NTQ5MmVhNDUzZDVlIGxlZ2FjeS10cnVuaworMTU1ODkgNjJhZDM1NzA4YjhjNmY3NzAyMmM5ZDRjZmQ4ZGU2NTAxY2M1YmFmMyBsZWdhY3ktdHJ1bmsKKzE1NTkwIGFmMzhhN2E3YWYxMGI3NmMzYWE4NzVkMzAyYTNkOTI0YWZlOGE4YTYgbGVnYWN5LXRydW5rCisxNTU5MSAyZjYwNjg2N2FiNGU3YjA2MTc5ZGUzMDQ5ZTYxM2M1OTI1N2JkOWJhIGxlZ2FjeS10cnVuaworMTU1OTIgMWY1MzEyMDhiZTExNzNiN2RlMDNiMDQ2MmVlNTc4MTM4OWQxN2EyMCBsZWdhY3ktdHJ1bmsKKzE1NTkzIGI5MGQ2MDFkNGQ1OTNhODJmNDg3YWM4YmU1MDAxMjkzMjQ0YjhjMDcgbGVnYWN5LXRydW5rCisxNTU5NCA0MWMwYzYwZGNhZjVmNTI5NmE2MzVjY2Q1YTM4MDkwNjY2NDIzYmI5IGxlZ2FjeS10cnVuaworMTU1OTUgYzJhMGYyYTgxZmE4YTliNWE5Y2UyMzVkZTk3NTEzYTA2MzNiZGExNyBsZWdhY3ktdHJ1bmsKKzE1NTk2IGJjMzU2NDdmZTQ3MjljMWIzNTY1ZmE1MDg2OGQzZDhlOWRjYjMxYmQgbGVnYWN5LXRydW5rCisxNTU5NyAzZmUzMDQwNTA0MzRlM2EwMDY2ZDc5OWQyNWNhMGM5NDhhNjc2ZmJjIGxlZ2FjeS10cnVuaworMTU1OTggNGU5ZWI4NjZhYWM2YTU4MzVkNzFkZWJhY2NmMjU1NzRiODc3NjgzMCBsZWdhY3ktdHJ1bmsKKzE1NTk5IDE2MTU1OTg5ZmE5MzJhNjIxODFkYTUwYjkxZGRiOGQwZWU5MDg1YmQgbGVnYWN5LXRydW5rCisxNTYwMCBiNGJhMzJiYjc1OGJlYzNjODhkMDg4OGRkNDRkZGJiMzcyOGM3MjFkIGxlZ2FjeS10cnVuaworMTU2MDEgMzkxMmZiNmM2M2Y2MTMzZGJmYjQ2YWNlNTZiYWM2ZjVjNWI4OWE3OCBsZWdhY3ktdHJ1bmsKKzE1NjAyIDY0NWQ1N2VmMTYzOTU2NzNjZjY3ZTFiNThhZDI2OGQ4MDUyZWY2NWMgbGVnYWN5LXRydW5rCisxNTYwMyA0ZTlmNzcyNGFjNTU5NTAyYzU0MDcwMTA4M2IyMDllZGIzNjUwYmM3IGxlZ2FjeS10cnVuaworMTU2MDQgMDQwYzEwOTdjZDM1MjQ0ZTk5ZmU2ODhjNGY0Mjg5M2JkOWY1ODlkMSBsZWdhY3ktdHJ1bmsKKzE1NjA1IGFmZDdjYmUxYzQ5MmY2MzU2ZjlhN2QyNWE1ZjA1YTVmMTU4ZGRkMzQgbGVnYWN5LXRydW5rCisxNTYwNiAyMjlmZDNhNWFmYTA4MWQ0YTI0ZjdhYTU4N2I3NzhlMDI3NzBmOGFkIGxlZ2FjeS10cnVuaworMTU2MDcgYjU4YjkwMzNjNjVhNDJlYzAyNzI2NDc0N2EwNWQyMDVlM2YzNjg2YyBsZWdhY3ktdHJ1bmsKKzE1NjA4IDQ5MTZkNDBkOTY3NzZhOWM4NDRjODAzZjlhMWIzZWVkY2FiNzcwOWEgbGVnYWN5LXRydW5rCisxNTYwOSAwNTdhZDg4YWFlOWE2MzU5NzNjODgyZmE1YjgxYzgxZmU5NTQ0OTRmIGxlZ2FjeS10cnVuaworMTU2MTAgNTk0YzI3Yzg3MGFkZWRmZWRmZTYzYzYyMGMyNjM0NzNkOTgwMWEyNCBsZWdhY3ktdHJ1bmsKKzE1NjExIGE5MmFkYjc4MGY0M2Q5MmU0NTNjNGMzMWQ1NDRjYjNkYjI4YTBjODMgbGVnYWN5LXRydW5rCisxNTYxMiBlNzg3ZjY2NDFhZmI4YzkwYjk4MGY3YTU1N2FmNjkzYjZlNGNiODkxIGxlZ2FjeS10cnVuaworMTU2MTMgMjg5MDllODBmMzZjZjU4ZDZjNzQ2YWY1YjQ0ZDdjZDk1YTg3NTc3ZiBsZWdhY3ktdHJ1bmsKKzE1NjE0IDIxNTUzYmQyZTg3NWYyY2Q2YzNjNzFiZWFkYTlhNjMzMGNiZTc4NjYgbGVnYWN5LXRydW5rCisxNTYxNSA2M2QzOTM1OGRiMDkzNDJlMDdiZjEzNDdhZjkyMGU2Mzg3N2UxODY2IGxlZ2FjeS10cnVuaworMTU2MTYgMGZlMDIxNmY2YzRlNGExM2ViMDRlNDYyODQ3MTE0OTZiMjY4MjRmMSBsZWdhY3ktdHJ1bmsKKzE1NjE3IDBjODg0YzhkMWU3NWNkYTA0N2Y3NWE2YjdhMDk4Y2ZhNWFkODc3YjIgbGVnYWN5LXRydW5rCisxNTYxOCA2YWUwNDZkNGNkMDQyMDNlYTJkNWIwMDhiMGExYjFmODAwZTc3MDc4IGxlZ2FjeS10cnVuaworMTU2MTkgMTRiMWI1ZGI2Y2IyZGViYmUwZGJhZTEzYjFmMmNiNjA2NTBhYzRkNCBsZWdhY3ktdHJ1bmsKKzE1NjIwIDM3OTc5N2YzZWViMjA2MDQ0NTUwNzc0ZWI0ZGVlZjBhZjJhOTgwOWIgbGVnYWN5LXRydW5rCisxNTYyMSA0MzIzZDQ4NTUwNDdiOGM3MjRiNTRkOTI3ZDIwMjhmMzRmNmY4NGY4IGxlZ2FjeS10cnVuaworMTU2MjIgMzk3MWU2YjE0YTA5NzQ5N2Q1MWIwYmRkMzlkZWY2MGQ2ZTBhOTQyYSBsZWdhY3ktdHJ1bmsKKzE1NjIzIGFmMGRlZjA2MzY1ODAzNmNlYWE4MWNjZjUwNjg4ZTlmMjU3NmFhMDMgbGVnYWN5LXRydW5rCisxNTYyNCBjMGZkODhmMmE2NWE5MTY0YWM4MjllNmI5YzRmMWE2NGE0ZTA4ZTgyIGxlZ2FjeS10cnVuaworMTU2MjUgMzFkMDk4OGRhOGE5NzMxNGY2MjZmMGVlMTlmYzBkMjYzYmM1MzlmYyBsZWdhY3ktdHJ1bmsKKzE1NjI2IGU1NDVhMGM0NGZlMTVjYjJmMmUzMGY1MWRjYjAzYWNlZjE3OTRkY2YgbGVnYWN5LXRydW5rCisxNTYyNyA1NDhjYzEwZGY5ZWJhYzgwOGU1YjY0MDU4YjAxY2E3YWQxMjNlMTQ3IGxlZ2FjeS10cnVuaworMTU2MjggZTA0NjQ5YzNjZWQwM2RiMjEzOTA2OGY4YzFiMjAxMjk2OGIxNTQxOSBsZWdhY3ktdHJ1bmsKKzE1NjI5IGY0YjQ4N2UzNTIxNDBjZTQxYmNjODFkMjg2MjQxN2NhYTgxYzRhZDQgbGVnYWN5LXRydW5rCisxNTYzMCA4ODg3Mjc5MTk5OGEwZGExOTYwODAzMTdjM2RkZWNiMGIxZWI2MThkIGxlZ2FjeS10cnVuaworMTU2MzEgNTI3ZjdlM2JiNzZkN2VhODRlZWZiM2M2Y2VjODE5ZGEyY2Q3MTg3OSBsZWdhY3ktdHJ1bmsKKzE1NjMyIGRkYTFjYTUzZWE4YTI2MThlOTZjZjJjMWU3NDdkYjBiMzE2YTUxMmMgbGVnYWN5LXRydW5rCisxNTYzMyBlMDI0ZWQyZGI2MjViOGUzZThkNmY1Njk5Yjc3YjJkNWMzMTJmYmZkIGxlZ2FjeS10cnVuaworMTU2MzQgZWZjNmQ3Nzg5ZDllNmY3MzM5Y2MyMmFkNDdlMDM1NWQzNmE5ZGQwNCBsZWdhY3ktdHJ1bmsKKzE1NjM1IGQ5OGE3NTU3MzI2YTRkODBlYzkwNWI2NDZhZmNkZGU1YWM5MzU0MzUgbGVnYWN5LXRydW5rCisxNTYzNiBhOGNlMTljMzJkYjlhN2NmN2FhYzIzNzlmYzQ1M2NlN2MwNTdmYjgwIGxlZ2FjeS10cnVuaworMTU2MzcgMjQzNTkzZjExZmNmNjhlNjc1ZmJhM2E5M2ZhMTM1Zjg5MjY2MjEwOCBsZWdhY3ktdHJ1bmsKKzE1NjM4IDc4MjMxYmJlNjA1ZGMyZWE3Y2ZhODNhYjU1NTVlYmY1NmI5YmEwODEgbGVnYWN5LXRydW5rCisxNTYzOSA2ZDc5MTQ4ODVkNjNmMWMzOWFmNzk2MTAyZjE4MmM2NDUwODhkMDk2IGxlZ2FjeS10cnVuaworMTU2NDAgMzAxZmYxNGIyYTBlYTYxZmJjMGVjYjkyMWU4ZjU0M2VmMzFlNTQ1MyBsZWdhY3ktdHJ1bmsKKzE1NjQxIDI2ZTIwYTI4ZDA1MWM2Y2VkNGI3NGNhMDdiYWU4NjFjY2ZhMjgzODcgbGVnYWN5LXRydW5rCisxNTY0MiA2ODg5ZGUyOWM1NTg0YjI4ZWE5ZjMwNjBmMTBiMGY5YTYwYTJiZWQyIGxlZ2FjeS10cnVuaworMTU2NDMgMTFlNWJmOGViNDczNjlhZjBkNWViYzMzMDg0OTk5YzBkNjFiNjM2ZSBsZWdhY3ktdHJ1bmsKKzE1NjQ0IDdiYWJmOTFiNmQ3NWM2NjUwMmE1N2UzMGQ3ZThjMmVjOTI2YzA3YWIgbGVnYWN5LXRydW5rCisxNTY0NSAwOTJiYWY2OWQ2YWY4N2Q2MGNiYjM1ZTdhZGQwMDAzYmVkNWJmYTZlIGxlZ2FjeS10cnVuaworMTU2NDYgNWEwZDE1NmM0MjBhYzcxM2IwMTI1ZTExYzRhODk2ZmMyNmNkOTQzYSBsZWdhY3ktdHJ1bmsKKzE1NjQ3IDFhZTAzNWEzMWNiNDgzNWQwMWU5MzI1NjRhNjM4NDMyNDkwY2U0ZWMgbGVnYWN5LXRydW5rCisxNTY0OCAxMWQxMGU5YjUwOGQ4MGIwYTQ4NGNmMDlkYWM1M2NhYzgwMWU5YTFmIGxlZ2FjeS10cnVuaworMTU2NDkgYjU3NTJkZTBjZmE0NjczNTRkMTFmNTI0MzQ2MGE3MDM3ZmM1ZjcyZSBsZWdhY3ktdHJ1bmsKKzE1NjUwIGY1NGMzNjc3YmFlN2Q4NjFhY2I4N2QwM2NjYjEzZTU0YjMzOGNlYWEgbGVnYWN5LXRydW5rCisxNTY1MSAxN2YzNWY2NmVjZDhiYzk1NGY3MTA5N2RkMTU2NTI1YzI0ZDMwZDMyIGxlZ2FjeS10cnVuaworMTU2NTIgMGM4YjlmOTZiMjZhYzczMGJhN2NjMTAzYmYzNzQwNTA4MzBmNWVmYiBsZWdhY3ktdHJ1bmsKKzE1NjUzIDBjMmNkZDdjZjdkYzZjNjI3MmViMDllNDNlODY5ZmMzYmNkZjI3NzMgbGVnYWN5LXRydW5rCisxNTY1NCBmZDU4ODFlMTc0MjdiM2Y2YmMyNTRjMTYyMzE2YzVlZGUwNDFmMTY3IGxlZ2FjeS10cnVuaworMTU2NTUgNjFmNmFjYzRhYTc0OGRkNDBlOGMzODE4YzcyYzcxMWQxNDAxMDgyMiBsZWdhY3ktdHJ1bmsKKzE1NjU2IGYwYThmMTI3MzQ1NjRiYzJiNmIxOTQ5OWQ4ODA0YzljM2MwYTY1MmQgbGVnYWN5LXRydW5rCisxNTY1NyBhZGVmOTdmM2ZlYTBmNTQwN2RlMjUyMWFlN2EzODY3MmY1OGM3OGU4IGxlZ2FjeS10cnVuaworMTU2NTggZTQ3YjFhMGQ2NDg0Nzk3NzExMWQ4Y2UwY2NkYTc1ZDQ5YzEzOTU0YiBsZWdhY3ktdHJ1bmsKKzE1NjU5IGYzMWRjZDFhZDhjNDExODc5YjY3OWIyMWQ1YjFlZDE0YjJiM2FhNmUgbGVnYWN5LXRydW5rCisxNTY2MCA5ZGY5MWY5MWU1Y2M5YTQ0MjQwMGJiNzQ5NzEwZWQ1M2I5NDQ0MzllIGxlZ2FjeS10cnVuaworMTU2NjEgZjgyYjE1N2Y0NWUyOWMxMDZiNjU2ZTFkZmMyMGFhOTExNjQ5ZGI3NSBsZWdhY3ktdHJ1bmsKKzE1NjYyIGVmZjI0MTA2ODVjYzQ2MGY3NTE4OWI0ZDY4M2YwNDIwOWVhMjMzZDMgbGVnYWN5LXRydW5rCisxNTY2MyA5OGViMzA1OWFlNzYwYmNkZjE5ZGU2ZDgzMzVjYWNiYjA5NDQwNmFiIGxlZ2FjeS10cnVuaworMTU2NjQgOWVlMWU1OTQ1NzFkNzE1NWQ4ZTVlMzY5NmM1ZTcxODU0YTEwMTcyOSBsZWdhY3ktdHJ1bmsKKzE1NjY1IDc1MmFhOGRmZjUyMGI5NGVkYzUxNjlmNjRhOGZmZDc3MGIzYjU2MmYgbGVnYWN5LXRydW5rCisxNTY2NiAyNTQzMTk3MjI5NGI0ZjM3Y2Q2N2M2ODA0NTlkMjZjMDY3YjAyNGNhIGxlZ2FjeS10cnVuaworMTU2NjcgZjY5MTAyYzFmNDEzZjFjNjZhNGUzN2Q5MDAwMjA3ZmNmZjVhYmFiZCBsZWdhY3ktdHJ1bmsKKzE1NjY4IGRkZTdlOTFmMmYyZTVjMzE2ZDhkNDBiYmI5NzkxYTNiN2NjZjQ4OTcgbGVnYWN5LXRydW5rCisxNTY2OSAxZTc4NGI4NzkwMzkwZTMzNjYwY2JlOWIyYWY0ODBkYzJlN2JhOTk3IGxlZ2FjeS10cnVuaworMTU2NzAgYmUzNmYxMDNhOTUzOWMzZGRkZGRiZjU1OWY3OTBhZTM3NjBkYzMxYyBsZWdhY3ktdHJ1bmsKKzE1NjcxIDUxMzk4ZjcxZDMwMTIyNzg0MzY0NDJmZDRlZWUxODU5MTI1MDA1MzkgbGVnYWN5LXRydW5rCisxNTY3MiAzY2VlMGQ3NTE5MWUyMzFjMDM2ZmJkZTkyOWZiMGYyMmU4NWZiOGI0IGxlZ2FjeS10cnVuaworMTU2NzMgMzQ0NTJiODgzYTcxZDVmNzBiOGQ4MTYxODY1NjBkZTFhYWMzYzQyYSBsZWdhY3ktdHJ1bmsKKzE1Njc0IGU1YWFjOWRmYWNmODcxNWJkOTJkMmI0ZmRkNzJiZjIyYWQzYTU5MjEgbGVnYWN5LXRydW5rCisxNTY3NSBjOGUxMzUzNWZkYzMxOWFiMjA3MTdhNzViZDM0YjdmNTM4ZjAyZGM1IGxlZ2FjeS10cnVuaworMTU2NzYgNTdlMjk0NTQzNWM5MDA0OWU2NGY2MDgxMTJlN2FmMTE5ZDMyNzNmMSBsZWdhY3ktdHJ1bmsKKzE1Njc3IDAwZjVkMGRmNzBhZDgwZTFkOGU3YmJkZGQ0ODJlMDg2OTIyMzdmNzQgbGVnYWN5LXRydW5rCisxNTY3OCAyYTJjYWFlZTY3OTczYThkYmUxMTlmMmJmOTFmY2RjZGE5NmMzNGFkIGxlZ2FjeS10cnVuaworMTU2NzkgOGEyM2FiMDU3YWY2MTc2Y2UyYmUzN2Q0ODUyYjFkNDc4ZWVmZjYzNSBsZWdhY3ktdHJ1bmsKKzE1NjgwIDMxYzcyNWQ3MGU2NTIxMmQzYjE4NzUzNTM4MWRjNDk3OWM3OWFiOWUgbGVnYWN5LXRydW5rCisxNTY4MSBkZWFmMjVkZjE1ZmUyN2U2NGNiNjUxZGNmMGQwZDUyMzFhMGM1MjVkIGxlZ2FjeS10cnVuaworMTU2ODIgMTJkMGM0NjViMTAzY2ZlOTQwODlkZmMwY2NjZjFhNWJlOWQ4MmY2YSBsZWdhY3ktdHJ1bmsKKzE1NjgzIGE4YWZlZmM0ZmNlZDk5NDdiNmU3OTYwNDUwMDJkZmI3MGM1NGQ1ZWEgbGVnYWN5LXRydW5rCisxNTY4NCAxY2FhZGZiOGNhNzEwYmQ5MWQ4MTQ2ZWNlMjlhNDYzOGE2OGU1M2NkIGxlZ2FjeS10cnVuaworMTU2ODUgMmQwYjk5Nzc4ZWRmMWJhNmNhYmU4NGNlMDU1OTRkN2U2ZGI3NzRlZSBsZWdhY3ktdHJ1bmsKKzE1Njg2IDEyOGU3Yjk5NDUwNTljNjAwYjVhNmNhZTFlNGIwNTFmZTRmOTU0YmEgbGVnYWN5LXRydW5rCisxNTY4NyBkZjY4NjliZWJlMDNjNTdjMzE0OTUwNWYwNmMyZDljOTVmMjczYWYxIGxlZ2FjeS10cnVuaworMTU2ODggMTVkZjNmYTBmZDRkN2RhOGUyMjhmYzBhMTAzN2QwMDY0NDg0Y2QxMSBsZWdhY3ktdHJ1bmsKKzE1Njg5IDU5ZTQ5NGMwODAyZmM5MjU2YTY1YWU2ZDQ2NWY2OTIyNDgwMGNiZGMgbGVnYWN5LXRydW5rCisxNTY5MCAyZWVmNjM2YmExYjYyZjZlMTAwYzYyYzE4MzIyNGFiYjA1MmQ4YWFlIGxlZ2FjeS10cnVuaworMTU2OTEgNjYxODMyNTU3NGNiOTUzZWYyN2U0ZmYxNTM0ZDM2NTQ1NGUyOGRkZSBsZWdhY3ktdHJ1bmsKKzE1NjkyIDBhYTNmODBkYmIyM2FlNTZkNDAyNzc3ZmVhNDgzYmNiZThmYWIzNjUgbGVnYWN5LXRydW5rCisxNTY5MyAxZmE3YzExOWI3YTU2ZjIwYTk4OGQ1YmFjYjhlYmI4NWEzZGRkMjQxIGxlZ2FjeS10cnVuaworMTU2OTQgYjY2MGVjYmVhZWI4ZTMyYWQ4NDM4ZWY2MGMyOGM4ZjY4OTc4NWYwOSBsZWdhY3ktdHJ1bmsKKzE1Njk1IDc1M2Y5MTYzZGYwYmIzZjM3OTMxOTViMmE5Y2E1YmZkODY2YTUzYmEgbGVnYWN5LXRydW5rCisxNTY5NiBhOTgwMDlhNDM5MWU3ODc5MTZmMDZhOGZmMDBmOWJlMGJiMjczNTQ3IGxlZ2FjeS10cnVuaworMTU2OTcgMzQyN2IwZjg1YTdjZTcxYmFiOWNkMmExNjYzYzVhOTcwNDE0NWE3MiBsZWdhY3ktdHJ1bmsKKzE1Njk4IGFiYmNlYjZhMjUzMjRiNWI0NGM1MWJmZDYxYTc1NWVlNzFiNmZkYTEgbGVnYWN5LXRydW5rCisxNTY5OSA3YWI1YjFlZWViZGU5MjgzOTM0ZmE5YmE2NWY0YzgyM2YyYjliOTdkIGxlZ2FjeS10cnVuaworMTU3MDAgODgwMDRmMjVkYzI1YWJiZGIzNTA3Y2UwZjQwZGYxZDY1NjY4MzZiMiBsZWdhY3ktdHJ1bmsKKzE1NzAxIDNmN2EzNTc5OGFjZWExMDliNGU1ZTg0MzcwN2RiZmUxMjVjNGM0YTcgbGVnYWN5LXRydW5rCisxNTcwMiA4Yzk1NTRlZGJlYmJiNDhmNDZkZTY5MTU5M2EyNDIwYjRjNjcwMWQ5IGxlZ2FjeS10cnVuaworMTU3MDMgYTg1MzBkMzYwMjFjNmM4MWU1OTk2NjcyZDcxY2U1NDFkNmVjYmM3MyBsZWdhY3ktdHJ1bmsKKzE1NzA0IDQyOWRkMDIyNzJkNjgwNzkyNmIxYTIzZDJmNzFmZjY3NTdiZGFmOGUgbGVnYWN5LXRydW5rCisxNTcwNSBiMWVjNDliMmM1YzJhOTAzYjNiOTNkZjE3MmMzMzkzYTgyYjQyMzdkIGxlZ2FjeS10cnVuaworMTU3MDYgNWQyZmI2NzQwOGE3Y2M2MzI0Yjg5ZDIxMTY5YWQwNTVlOWYwNzI4NyBsZWdhY3ktdHJ1bmsKKzE1NzA3IDc1NWM5YWM5ZTZhZWJiNWYxNDY4MTMxNzZiNWI4ZmI4NzE5ODg4M2IgbGVnYWN5LXRydW5rCisxNTcwOCA2YjJlY2QxNzIyMDNiNGExMTc3MmNlNWFjOTg2MjI2OWVhOTIzYmI5IGxlZ2FjeS10cnVuaworMTU3MDkgYWNiMDI2MWI2OTQyZjNiZTdiMGJhMzc0ZWRiMWYwMzhiYjkyMzA1OSBsZWdhY3ktdHJ1bmsKKzE1NzEwIDJhNjRmMjI1YTEwNTMxYzI0Yjc1ODI5OWQ5Y2JmMmNlOGQwMDBiNTUgbGVnYWN5LXRydW5rCisxNTcxMSA4OTRlZmVhNzFhY2ZlZTI1ZDcwYmQ0YmU2MWVmMjhiZWM5MGRmY2QxIGxlZ2FjeS10cnVuaworMTU3MTIgN2YwMjJlMjYwYTRkOTMzNzcwOTBhZjM0YTI0MjFmYjA3YTc4ZDVjYyBsZWdhY3ktdHJ1bmsKKzE1NzEzIDUxOTQ5ZGU3NjM2NWIxYjU0MGM5NzQ4YWFiM2YzNGJiNGI5ZjU3YjMgbGVnYWN5LXRydW5rCisxNTcxNCBhM2UxMjg4MWNjM2MyM2UzNzNkMGE4ZTczY2NlZjZjMWM0OThlNTE4IGxlZ2FjeS10cnVuaworMTU3MTUgNDMwOTg1ZDU3ZGEzMTZmNWQzNGM5MWI2MjAyZDEzOWIxZTlkOGI2ZCBsZWdhY3ktdHJ1bmsKKzE1NzE2IGNhYWU3NTAxZGJhNTU2ODUxNTRiOWY4MmUxOWJkNDIyODMzMjI0YTQgbGVnYWN5LXRydW5rCisxNTcxNyBkYzBhMjEyZmIzNTM5MGZkYmRiOTA5YjI3NTY4M2ZiODExNzkwNjQzIGxlZ2FjeS10cnVuaworMTU3MTggOTdkZDZkYzMzNTAzNjdmNGU2MWQ0M2VkOTUxYTdlMTY0NDZmN2Y4ZSBsZWdhY3ktdHJ1bmsKKzE1NzE5IDNjNjY0MWM4MTBkYmEyYjU3NTY0YzljZDBkOGNhOGU2OWY1YmRjZTQgbGVnYWN5LXRydW5rCisxNTcyMCAyNTEzY2Q3NDE0N2M3Mzg5NDFiYjU3NmQ5MDEzNDE4YjI0MDgwMmExIGxlZ2FjeS10cnVuaworMTU3MjEgNDVhYWE3NWYwOGEzNzgwMmZjZDAyODc2NGFhMjg0YTRlZjE2Njg1NiBsZWdhY3ktdHJ1bmsKKzE1NzIyIGViOTExZWNhOWVlOWU4MTljMDAwMjk1MzVjMzE5MDQyNjQzMTM2MjcgbGVnYWN5LXRydW5rCisxNTcyMyBiYWMwNDViODUyNjNmMzU5ZjRkZTYxNDEwNGI1NTVlMzU0YWYxN2Q4IGxlZ2FjeS10cnVuaworMTU3MjQgYWNlMTM3MDFmMzM0ZDg3YmQ5OTI0NjkwYmViYmYzYzU1ZjgzMDAxMyBsZWdhY3ktdHJ1bmsKKzE1NzI1IDkzNjYxZDBlYjVjYzUxZGNhNTY1NTY3YWE0YTFmOTRiMzc1MjE4YTUgbGVnYWN5LXRydW5rCisxNTcyNiAwNGM4OWQ3N2RmZGJmN2Q1NWZkZDU2ZjAyMDQzMDAzNjk1OWI0ZTVmIGxlZ2FjeS10cnVuaworMTU3MjcgNDQ3ZWZiNjRjNzJkZGNiM2FkNTEwOGY1ZDc5NTA3MzUyNTIzNjlhNiBsZWdhY3ktdHJ1bmsKKzE1NzI4IGQxMTVhOTFjYTVmYTdmM2NmYzllNDRlMDQxYmQ4NzQ2N2E0ZTdiYzUgbGVnYWN5LXRydW5rCisxNTcyOSBmMzFmZmIzN2Q3MmNmNzMzNjQ4YmYwYzMwMzE0ZGJhYzE2NTM1ZWNhIGxlZ2FjeS10cnVuaworMTU3MzAgZTZiNDA3YmE0NzE1M2VjYjZmNDllN2M3ZTcxNzNhNzMxNDVhM2ZhMyBsZWdhY3ktdHJ1bmsKKzE1NzMxIDYzNDM2NzE5ZDEyZTAyYmQ5M2QwZGExOGYyY2E5ZDY2OGUwMTkzYzggbGVnYWN5LXRydW5rCisxNTczMiBiYzBkNDk2ODBhYTNkZjZhYWM4YjRkMDQwMTkwMWUyZGNjMTY5OTJlIGxlZ2FjeS10cnVuaworMTU3MzMgZmM3N2UzNGVmMjc0M2Y4Mjk1N2JkYjAyMjcyMmMxZWZiZjM2MDZkZSBsZWdhY3ktdHJ1bmsKKzE1NzM0IDBiNDIyNjRhYzAyMTU0NGJhZjZlNDg5NzcwZDVlYTAxNjA2Y2M2YWIgbGVnYWN5LXRydW5rCisxNTczNSBlNzk5MmQwZDY4MDgyOGNjMjZkNmEwMDA3ZWYxYWU0NThjN2VkZGFiIGxlZ2FjeS10cnVuaworMTU3MzYgZGY2MjdlNjE5MTZlMjBhMTA0ZTFjOTkwZjVmNzkyMjI0OWIzMWU0ZCBsZWdhY3ktdHJ1bmsKKzE1NzM3IGY3OTNjNDdjNTEwZTEzNjczMzRiNjdlMDRjZTBhYjUwYzkxMzljYTQgbGVnYWN5LXRydW5rCisxNTczOCBkYmIxMDNlOWE1NmY1MTNkODBkZjlhZmFjM2JmYTkwMjIwMTYwNjZkIGxlZ2FjeS10cnVuaworMTU3MzkgNzdjNjUxMTMxOTg0YjJlZWIzNzcyNzIxZjJjMGUwNzU4ZGM3MzY2MyBsZWdhY3ktdHJ1bmsKKzE1NzQwIDQwMDM4MjE5MDM2NDk3YzQ0NjU5YWM5ZWIxOGUzNTI3OTM4ZTM4ZGYgbGVnYWN5LXRydW5rCisxNTc0MSBkZmE4ZDlmMWMxMjMxOGU5OGMyY2Q0MjIwMzA4ZmVmYmUxNjk3MjczIGxlZ2FjeS10cnVuaworMTU3NDIgOTU2OWM1NjI1NzY1N2UwNjFlZmZmOGQ2MTVlNWUzOGVhZDA0ZmIxYiBsZWdhY3ktdHJ1bmsKKzE1NzQzIDg5NjAyZjMzMjQ0N2I0ZWYzMmMxYjg4YTdkNjg5MzA0ZjNjZjY2YTUgbGVnYWN5LXRydW5rCisxNTc0NCBiNTQ0Mjk5ZTY4YzVmYTc0ZmE0NTdjZGFiYTE1M2QwOWU5ZDU0NWUzIGxlZ2FjeS10cnVuaworMTU3NDUgNTM2YzYzMTI5OTMyOWIyYmMyMjg1NWMwZThiOTAyY2M2MmY2ZmU4YiBsZWdhY3ktdHJ1bmsKKzE1NzQ2IDU1ZTJmYzRkMzQwZTQ4Mjk5N2U0MGYwYzNlYWUwN2IwMzJkNjU2ZjQgbGVnYWN5LXRydW5rCisxNTc0NyA1Mjc5YTZlMDBkMzY3YjAwZjU0YWY0ZTA3OWVmOWNkZTU1NGUyZmZlIGxlZ2FjeS10cnVuaworMTU3NDggNjU4YzU1YzA4MTM5Y2NmNmIzOTM4OTIxMmRkYTc3ZjAyNTMwYWRiYyBsZWdhY3ktdHJ1bmsKKzE1NzQ5IDBlYjUzMWNlMDhkMThiY2E3ZThmZmMwZTk0NGZiZWY0MmIzNTdkMWQgbGVnYWN5LXRydW5rCisxNTc1MCAyNzJkYjQ2MDViZTQ3YWZhNDZlYTJjODk1ODM3OTc3Mzk0ODFlZGU2IGxlZ2FjeS10cnVuaworMTU3NTEgZTYxNTU5NmM1YzQ3YzAwMTg0MjA3MmNlZmU2MjJlOTk2ZGI5YzRkNyBsZWdhY3ktdHJ1bmsKKzE1NzUyIDFhNDBmMDBhNDhiZjY0OWEwYmZjNjNiNWRjZjJjOWUzOTY1YmNmMzEgbGVnYWN5LXRydW5rCisxNTc1MyAzZjk5MGVmNjY2Njc5ZDdlZWJhMzZlYzZlNzg0MjliNDJmYTY0YzhhIGxlZ2FjeS10cnVuaworMTU3NTQgOGY3OWM1YjY5ZTBhZGEzYzdjMDUzNjRhYTgxYjIzMmEyOGE4ODNmMiBsZWdhY3ktdHJ1bmsKKzE1NzU1IDAxY2U4OWZjNzQ1ZmUxYWVkZTdkNjkyYWYxMTA0NjI2YmI1MzkxOGQgbGVnYWN5LXRydW5rCisxNTc1NiBjOTEwYjlkOWEwYzBlODVlMGMyMWZkMzY5OGFkNDljNGZkYWY0Zjk1IGxlZ2FjeS10cnVuaworMTU3NTcgYzc1NzE4ZmJkODYyNmU4YmVlZWM2NGM4N2FiMjQ3NDQ1ODEwODQyOSBsZWdhY3ktdHJ1bmsKKzE1NzU4IDI3ZjNhMThmZDI5NjU3YjY1ZTIwMzYyNTFlYzc3YzZlMWYyYjVhYTAgbGVnYWN5LXRydW5rCisxNTc1OSA4NmQ0OTg5NDY4NjhjZjVhNjcyMDZiMmYyZTkyZmMzOTAxZjQ2ZmVkIGxlZ2FjeS10cnVuaworMTU3NjAgNzE2MGI1MmNhNzRhMDZiMWIwMDNlNTJhNmI1MDQ2MjQ1OTBiZTg1YSBsZWdhY3ktdHJ1bmsKKzE1NzYxIGJjMTQ3ZTE4OWI3ZjliNDc5MDNlYmFiYmViNmNkYWI5NjVmYzQzYTQgbGVnYWN5LXRydW5rCisxNTc2MiA3Y2QxNTJlMTUzOWM1Y2JjNjlhODgwOTA3NmY1MjZhOTZiZDBjMjBjIGxlZ2FjeS10cnVuaworMTU3NjMgNWYzNjI2ZmU1OGNhOGVkMmExMDljY2UwNjQ0MjA5NmVjNDM1YmYyOCBsZWdhY3ktdHJ1bmsKKzE1NzY0IDU3NzA3ZGJjYzI0NWM4MTE2YmEyNWMwZGM4N2Q0N2ExNTk5Y2Q4ZDQgbGVnYWN5LXRydW5rCisxNTc2NSAzN2JhNzA1NmQ0YWJmYjZkZjBmNjUyNzcwMjdjYjg4NDMzZDM0NzAwIGxlZ2FjeS10cnVuaworMTU3NjYgODIxODFlODIwZGUzYzg4OGNjYmQ4N2NlY2FiMTQ4ODJhNGMyNjYwZiBsZWdhY3ktdHJ1bmsKKzE1NzY3IDg3MDAzODQyZmFlY2E2ZWZjMjliYWIyMzYwMjkyN2E5YzgxODE1OTYgbGVnYWN5LXRydW5rCisxNTc2OCA1ZDhlZjIyYWRjYTUxNDY4MzM3MTBjMWM0ZjM0NzkyMmVlNGQ2YmI5IGxlZ2FjeS10cnVuaworMTU3NjkgNmUxODYxZTBlZDY4NzZiYmY3MDI3ZWViOWRkOTBmOWZjMmM0ZDU5ZSBsZWdhY3ktdHJ1bmsKKzE1NzcwIDdiMzg2NzhiMzY1MjY1ZTJiYjhlODU2OGMxZTBiZTMwYTRiMjRhNzYgbGVnYWN5LXRydW5rCisxNTc3MSBmYmFjZjZkNTVkYzY5MzgzMzYwNjIxOGQxYTI5ZjgwNDg1M2FiZjYzIGxlZ2FjeS10cnVuaworMTU3NzIgMzc0MDFlYzJlOTEwYjBjYmJlZDdjODZkNDQ3ODA0OGYyN2RhYzBhZSBsZWdhY3ktdHJ1bmsKKzE1NzczIDkwNzZlZmFjODQyMGI3NjA4MDYxNWRhODYwYjQ4OTk5ZWJjYjg5ZWUgbGVnYWN5LXRydW5rCisxNTc3NCBkYWRiMGNjNWMyZDI4NWVkZWQ5ODJiYzk4ZDUxOWNiZDI0NTIxZTBkIGxlZ2FjeS10cnVuaworMTU3NzUgNGYxM2MyYjgzMjBiYzNhYTI5MDk1YTY5ZjAwMWYwN2UxOWI1YjVlZiBsZWdhY3ktdHJ1bmsKKzE1Nzc2IGFmZmUxMGMzYjkyZWNlMjMwY2JiYzEwYzBkYmU2MDNkNzRhOTkyZTIgbGVnYWN5LXRydW5rCisxNTc3NyA3YTI5MjU4YzU1ZGRhZGZmZTNmNjNmOGExNDlhOTdhOGQxNTFkYWI2IGxlZ2FjeS10cnVuaworMTU3NzggMzgzZjQwNGI3NmQ3ZmIxNjJiMjcwOWY4YjRmZWVhZWNjMjliM2QxMCBsZWdhY3ktdHJ1bmsKKzE1Nzc5IDJlMmVlMTE3ZDQwZmQ2YjE0NDExY2Q1MGQ2YTIwMDRkN2M4Y2QzNDMgbGVnYWN5LXRydW5rCisxNTc4MCA0YTNlOTg3MWI0MWJiYTBiNTVkOGUyOWE2NmJjMjI4OWJkMWNjMjdmIGxlZ2FjeS10cnVuaworMTU3ODEgMWRhYzg5YmJiY2QyMTczM2Q2ZjEzMmYyZmM1ZjFhYjM1YjA4NzA2YyBsZWdhY3ktdHJ1bmsKKzE1NzgyIDMwYTRlMTM5NTIxMTAzNWJiZmZmMGVjMWM0ZWU3ZDY2NTNhOTllN2YgbGVnYWN5LXRydW5rCisxNTc4MyA4N2VjZTEyN2NiYTJkNjllYmE5MWZiODFmZjI1NmJkZjdmYTIxYTEwIGxlZ2FjeS10cnVuaworMTU3ODQgNDEwMmY3ZWRlOGU5OTljZTEwMWFlYTc5NDA4NTNlZGVkMDU3MzU5MiBsZWdhY3ktdHJ1bmsKKzE1Nzg1IDIzZThhYTQ4NWE3MGQ1NmUyZTE1OGMxY2Q3YTExZWMyMDE2MDIxNzUgbGVnYWN5LXRydW5rCisxNTc4NiA1ODY2MWE1NTdkYzY5MzRkZDRlYmQ0NTE0MzZiZjRmZDk0NGU4YTM1IGxlZ2FjeS10cnVuaworMTU3ODcgY2E5NmQ4Y2UxMmYzZGRlMjdmMjkyMTdjZDk1Yzc2YTAxMzI3NDg4MSBsZWdhY3ktdHJ1bmsKKzE1Nzg4IGJmMmVlODU2NzIwMTU0OGY5NDkzZDg2ZTQ3MDljYWEzM2I5ZDVkMjYgbGVnYWN5LXRydW5rCisxNTc4OSA5NzQ4MWQ3YWM1NDhhZDRjYThjZmFhYWNjYzBhOTJmNDI0MWVjYzAxIGxlZ2FjeS10cnVuaworMTU3OTAgNzBiMTZkYzYxMzdmMjQ5MDBkYTQ1NTFmYTVmN2EyNmNiNTJiYWRjYiBsZWdhY3ktdHJ1bmsKKzE1NzkxIDVkZjAzNDgyNjczNTJhZGQzM2UzYTdlZTk4ZWIyN2FjM2NlODlmZTIgbGVnYWN5LXRydW5rCisxNTc5MiAwMGE5ODExOTRjYTY5ZmYwZjRmYTk5Yjc3ODIyOGQ0MjRiYTVmZjhhIGxlZ2FjeS10cnVuaworMTU3OTMgMTI0MGJjOTk3YzhmYjg2OTQzODA5NWUyNjYxOGNkNzI0YWUwZDQwMSBsZWdhY3ktdHJ1bmsKKzE1Nzk0IGY3YWQ3ZTc5MTVlOTlmNTczYjQ5MDlmZmFhNGJkYzkyNDUyY2I2ZjYgbGVnYWN5LXRydW5rCisxNTc5NSBmMWU0MGFiYmVkYjNlMzFiNTY5MDA5ZmNiNjM0NDBjMTQ3YjhkZGIzIGxlZ2FjeS10cnVuaworMTU3OTYgMWY2MWVmNjQ1M2Q1NGYxMDQ4N2M3MjE0YzQ1ODkyYTk0ZTM2MWVkYyBsZWdhY3ktdHJ1bmsKKzE1Nzk3IGMwOWE1NzBlYjZlYjVmZjc0MGFjMGQxMjViYjIzMDExOTcxZjc1ZDUgbGVnYWN5LXRydW5rCisxNTc5OCAzNjAzMjBkMmZlOTQ0ZDY0ODgwZGE4MWFjODI0ZDNjM2VmZGYyYjhkIGxlZ2FjeS10cnVuaworMTU3OTkgZWFhNGM2ZmFmM2M0YjIzYmU5YWEyNjc4YmEzMjQyYTY0M2I4YWFhNyBsZWdhY3ktdHJ1bmsKKzE1ODAwIDFjOGMxMDFmMmJlMWUzMGRkYTVhNzUxMmU1OTRkZDlhYTZjMzhkZGEgbGVnYWN5LXRydW5rCisxNTgwMSAxMmFjMmMyNjdiOTMyZTVjMzY4ZDJhYjI0YzEwYTZjNDgyMGNjOTk5IGxlZ2FjeS10cnVuaworMTU4MDIgODRjMmE0ZDJkZjlmNGZmMDdlY2EzOGVlOTE0MTNiZGViNmY1YTljNCBsZWdhY3ktdHJ1bmsKKzE1ODAzIDFmMjQ0MTk3OGFiMTQwMDYzNmUwZmY0MGNhZTczOTgxNGVkYTA2ODEgbGVnYWN5LXRydW5rCisxNTgwNCA3ZGY3NDUyZDEzY2Q0MzM5MjQzNTIxYzM4M2JiMmViZWEzYWI2MWViIGxlZ2FjeS10cnVuaworMTU4MDUgMGQzMDlmN2YwMjNmYzRhZWM4YmFiMzkxNGQxYTM4ZGI0YzcxYTQ0NCBsZWdhY3ktdHJ1bmsKKzE1ODA2IDcyMDU4ZGM3ZDU0NWI3N2UxZDE3ZjY3NjViNGIxMDYxNTZmNzg3YjMgbGVnYWN5LXRydW5rCisxNTgwNyAwMWQxZTEwMTg0OTUwZjJhNDM4MWU3NTZlMGZmYjEyYTUzZWQ2ZDhlIGxlZ2FjeS10cnVuaworMTU4MDggZjczNDU4YzVjMzVkMDFkZDkxYzc3OTQ1YmNiOTQ4YzM3NzZmNjVlMyBsZWdhY3ktdHJ1bmsKKzE1ODA5IDcwMDk4NDEwOWNiOTlmZWJlOGJhYWMyOGRkNmU4MDU3MTU2MjU4MjYgbGVnYWN5LXRydW5rCisxNTgxMCAwYmU0YjdiNjUwZTMzZGRhMDgyODlkN2Y2ZWFiZDJjNTQ0NzQ3YWRhIGxlZ2FjeS10cnVuaworMTU4MTEgYTE5NTk2MmUzODljYjJhM2NhMTI2ZDVkZjBjN2YzNDkzY2Q3NWUxNyBsZWdhY3ktdHJ1bmsKKzE1ODEyIGYxMzM4NDEwNTUyODljN2JjNmZjYmY1NWU0ZjhkMDQ3NjIzZTEzMGMgbGVnYWN5LXRydW5rCisxNTgxMyA0ZGJlMTMwMjdjYjMxOWNlMWM4OTUzODNjZDc5MDE5OWUxYWU2MWVhIGxlZ2FjeS10cnVuaworMTU4MTQgYjAwNzQ0MjM3ODc3MGRmZWY3OGM3ZDBjNmM3NDhmY2VjZDg3ZTliMCBsZWdhY3ktdHJ1bmsKKzE1ODE1IDI3N2JhODI2Y2ZjOTdmZmVkMmZhMjVkZWNjMDA3OTdjN2YxZTcyMTIgbGVnYWN5LXRydW5rCisxNTgxNiBjYjgxMDllNzI4NzcxY2Y3NWUxNzJkMTZlYjIyYjQ3OWZjMzNhNThlIGxlZ2FjeS10cnVuaworMTU4MTcgOGEwNzQwMmUyM2RlYWZjNGVlY2EwODU1NDlkNmM1YWVhOTY5NTUyOCBsZWdhY3ktdHJ1bmsKKzE1ODE4IDJiMjFjYzFiYjU2NDkxMmFiOTY0Yjc1MmQxOWFiYTBhYTc2M2I3MDAgbGVnYWN5LXRydW5rCisxNTgxOSA1M2Y0MDIyYzBjZDU4N2M5N2FkNDdhMTU4MDNhNzMxYjY2NTMyZTE3IGxlZ2FjeS10cnVuaworMTU4MjAgZjQwMjA1NzU2MWIzYTFjNmM0NTcwZmMyNzY5YTQyYjY5MjZkZWQ5NCBsZWdhY3ktdHJ1bmsKKzE1ODIxIDRiNDgyMWJmNTNkY2YzMWIwZTdiZDdjMzRjNWJiODQzNmJlZTE2OTMgbGVnYWN5LXRydW5rCisxNTgyMiA5YjJlNzBiNTVjN2YxNWYzNGU3MDBiNGYzNjdjMTgxNzE4MzcxMjMzIGxlZ2FjeS10cnVuaworMTU4MjMgY2JkYjA1NWU3OWQ5MjUwMjQ3MmQ2YzAyMTgyZTk3YzYxOWNkMzg5NCBsZWdhY3ktdHJ1bmsKKzE1ODI0IGViMjQzNDQzYjg4NDBlODJmYWI3ZDMyMzgwYzQ3MzcxYWYyYjBjY2MgbGVnYWN5LXRydW5rCisxNTgyNSBiZDhkYjcxNDIyZjYwODlmNmJmMDYxMGMyZDIyMTM5ZDI4MTgxNDMxIGxlZ2FjeS10cnVuaworMTU4MjYgN2IyNGM4MThlMmNmMmQzMTk3YzlkM2Y5OGFlODBiZDdkZTM2NDY0YyBsZWdhY3ktdHJ1bmsKKzE1ODI3IDViYWJjMGFkZDY0ZjI3OWJmZjJmMDM2YWM3NDJhNTFjMzgxYjRkYjQgbGVnYWN5LXRydW5rCisxNTgyOCBhNjc5YmRiNDNmYWRjOTFlZDRlMmQ3NTkxOTgxMmMxNWRhYjgyZDEwIGxlZ2FjeS10cnVuaworMTU4MjkgNzA1MTMyNjY3ZjdiYTJjZDdiYzcyMzg3MjIzYmM2ODQxNDY4YzU4YiBsZWdhY3ktdHJ1bmsKKzE1ODMwIGI3NmRmNjgwOTlhNWY3OTYzMWJmNmQ4ZGVmYTFjNWIwZjRmMTZhOWQgbGVnYWN5LXRydW5rCisxNTgzMSA3MzkyZTcxZjZjY2UwMjcyYmE3MTM5MzFiZDkwMTM2NWY0OTliMDg1IGxlZ2FjeS10cnVuaworMTU4MzIgYzg3OGRjNjNkN2FlZmFiY2FmYTY2ZTVhODQwNTgyYTQ5YzcxODhmMyBsZWdhY3ktdHJ1bmsKKzE1ODMzIDZhYjhlMWJiMTY3Y2QzMzcyZjhkNWVlY2JlOWU2YWM1MGE3ZDJiMjIgbGVnYWN5LXRydW5rCisxNTgzNCBlZjNkNDk4YWEzM2MyZWU0NzIyNmYwZDk3MzM3MTBjNmFjNTI3NjEwIGxlZ2FjeS10cnVuaworMTU4MzUgNGZmM2NlM2YzY2M2MjFlNGM1OTJiMzZiNWZiOTZmNzNkYTUxNDMyZCBsZWdhY3ktdHJ1bmsKKzE1ODM2IDJjZjk4NzRiNjIxMTRmZmU4NDQ3NjM1YzI1Njk3NjFjNWY0NGE5YmYgbGVnYWN5LXRydW5rCisxNTgzNyA1YTcwODM2OTA4ODRiN2NjMTUxNDAwODQ3NGIyYjc2ZDQ4MDE0ZmUwIGxlZ2FjeS10cnVuaworMTU4MzggMDNiMWNjNDdhODZkMDE0MjI3MzM2M2UxNDA5Mjg0ZmZhNGI0Zjc0ZSBsZWdhY3ktdHJ1bmsKKzE1ODM5IDFkMDQwNzk2MDk1M2E2ZDgwMzI0YWUzNmI5OWUyMzEwYzk5YzkxODggbGVnYWN5LXRydW5rCisxNTg0MCAxODUwMDNkMDllNzY2YzgzYjJiZjYxMmJiZDE1OTc3YzMwZmE4ZWZhIGxlZ2FjeS10cnVuaworMTU4NDEgODdiNDY2YjcwMmQ2MDgzZGJmYjQ3OTgyNGJjOTk3NDVmOGQ4ODU2YiBsZWdhY3ktdHJ1bmsKKzE1ODQyIDBhY2VjMjExYTIwOTBmYzg4NDMxYTMwMGNhNTc4ZTc5YTE4MDdlOWIgbGVnYWN5LXRydW5rCisxNTg0MyA2YjJjNjk2M2M0MGI2OGYxMWU4YjMyZGMwNTc4NGNkNTNkN2I3ODljIGxlZ2FjeS10cnVuaworMTU4NDQgZTBjOTAzMTEyZTRlZDRmNGNhMDg3MDMxYjE1YWNlMjAxMTA5YTIxYSBsZWdhY3ktdHJ1bmsKKzE1ODQ1IDA4MTc0YmYyMzcwMmZjMDg3NDhjZTExYjlmMTQ5YWVkOTkzNGI5ZmYgbGVnYWN5LXRydW5rCisxNTg0NiA5MjQ2OGQ0M2EyM2YwMzQ4NjRlMmIzMzc1ODdkODYyMDMzYjYyYTJkIGxlZ2FjeS10cnVuaworMTU4NDcgZGU0ZTMwOTYyZmFiYTAwNjU5ODlmZTU0NzQ0MTY5ZTY0MGViNjhhNyBsZWdhY3ktdHJ1bmsKKzE1ODQ4IDBmMjE2YTU0ZDM0YjQ5MDNlM2VlNGJjYTQzMDQ5ODhhZmE2MDA0ZmQgbGVnYWN5LXRydW5rCisxNTg0OSBhODgzNDg4YjlkY2JmMjhhY2UyNzUwYThmMTIwYTZhM2ExYTdhMGQzIGxlZ2FjeS10cnVuaworMTU4NTAgYmYxZWJlODY5ODc4MWNmNjU4MDIzYWZmY2I1Y2UyMzI5MmRkODY3OCBsZWdhY3ktdHJ1bmsKKzE1ODUxIGQwNjAxMjk2N2VhYTIyZWM4MmY5M2RjMzEyYmE1NTZmZDZjZGZkM2YgbGVnYWN5LXRydW5rCisxNTg1MiBiOWFiM2IyYWNjOGNlNDBmNzA2ZmVkMWE4YzE2ODA1ODIzZjUyOGQ1IGxlZ2FjeS10cnVuaworMTU4NTMgNTUyZmI0M2FlODIzNzc2NGRiYzI5MmVhZWMzNDg2Mjc1OGQxNmFmYiBsZWdhY3ktdHJ1bmsKKzE1ODU0IGNiZTAyYjhhZWUwNzg5MGZmODc0OWI4NTEyMGNlOGVjN2Q1YTk1ZDcgbGVnYWN5LXRydW5rCisxNTg1NSAwN2E0ZDE2MzdlMDZkZjkzYjAwODY0OTUxZTc3Yjg1NTBiZjhlZGI4IGxlZ2FjeS10cnVuaworMTU4NTYgMjIzMDllOTU3ZmE3M2VlMmQ3NTkxNDJhNWQwZDk0NTQ3MzhjNTdmMiBsZWdhY3ktdHJ1bmsKKzE1ODU3IDhjOGRlNWI3MzZkYzIxZjBlNGQ0MjYwMmY0N2UyZTRhMWYxOWNkNWEgbGVnYWN5LXRydW5rCisxNTg1OCBkODQ5YTBkMjI5MjdhZDM2MjUzY2MxMDZmMjA2YjkxZTZmZWIyMTVhIGxlZ2FjeS10cnVuaworMTU4NTkgN2JlNTQ4MjQyNmQxZWZjNjIxYmViMzEyNjVhY2Q2MmE4NzE4YWQ2MyBsZWdhY3ktdHJ1bmsKKzE1ODYwIDk5Y2VlMGM4N2Y2YTA0ZjA5MWM0YzAzOGMxZjE3NDU1MTk3MjA0NGIgbGVnYWN5LXRydW5rCisxNTg2MSAzNjU4NDRlNzU1ODY2OTM5OWVkMDgxZmI2ZmYzYWMzMTBkMmZhN2E4IGxlZ2FjeS10cnVuaworMTU4NjIgM2NlYTczYTJiYmQ4YzEyNjY3MDQyZTI4NjI0ODA5NjI4OTMxMmQzNyBsZWdhY3ktdHJ1bmsKKzE1ODYzIDQ1OWQxOTdhZGIwOGZjNjdkOTIwMjgzMzk2ZTQ4NmViNmNhM2Y5MmYgbGVnYWN5LXRydW5rCisxNTg2NCBlODM5ZThlOGQzZTljMGExMDZkMGZmM2YwYzgwNmU3OThiMTk0NWU0IGxlZ2FjeS10cnVuaworMTU4NjUgNzk3YWNmM2ZmZDI2NjU3MzFjMThjMTg5MzY1MGMxZDcxZmYyOTc1YSBsZWdhY3ktdHJ1bmsKKzE1ODY2IGZkODQ2N2QxMzc1ZDIwNGE1OThkZmQ0OTZjNGE5MjM2ZGZlYmFhYTQgbGVnYWN5LXRydW5rCisxNTg2NyBhNjcyNWFjZGYzM2IxYjk4ZjQwYTkzMjYwNjVlMzBhZmU3NzdkNzhlIGxlZ2FjeS10cnVuaworMTU4NjggZjYxYjRhOThiOTcyOTJjZDZkOTczNzUwY2U2ZTcxOWZjYWJjY2JjZiBsZWdhY3ktdHJ1bmsKKzE1ODY5IDY4ZTU3YzVkMWJlYzA3Mjg3N2JlMzJiMGVjNTEyNTlkNWQzOTczOTUgbGVnYWN5LXRydW5rCisxNTg3MCBjM2EwMWI2NDJjOTcxODlhZGE0MzJmMGUzZTZmYzBmNGI1YTc3Y2NlIGxlZ2FjeS10cnVuaworMTU4NzEgMzQ2ZjJhMWMwMmEwYTM0YTM3MGRhY2RlNTBjZjQ3MGYzYWU1Yzc0NiBsZWdhY3ktdHJ1bmsKKzE1ODcyIDUyZDVmYjQ3MWUxNzIwZjA1ZjFlYzE3MGY1NTk1MTVjMjExYWZkN2QgbGVnYWN5LXRydW5rCisxNTg3MyBmOGJjN2Y2MmRjMjNhZmRjZTYwOWQ3N2Q0YzM0YjdlYTRlZDZjZmEyIGxlZ2FjeS10cnVuaworMTU4NzQgNWJkMTI3MzNhNjRhYzQ4YjIzYmEwZmZkNDQwYjA3ZjY5MDZmNjBhMiBsZWdhY3ktdHJ1bmsKKzE1ODc1IDkwZWI1ODIyNGU0MzE3MjM3ZjJlY2MwOWJmMjRlMTRjNWU4MDBiY2UgbGVnYWN5LXRydW5rCisxNTg3NiA4MTkzZTA0NTc4N2JmZjA4MTZlMjQ0NmRhM2RhMjU2YzVhMWEyMTcwIGxlZ2FjeS10cnVuaworMTU4NzcgODk0NjEzYjRlYjA3NWE4NTBmZTI1MzUwN2RiNjNlMDJhZWEyNzczNSBsZWdhY3ktdHJ1bmsKKzE1ODc4IDI2ZWMxYjMwZWZhOTNmZGY1ZDRiMzNlOGIwNjNmNDViMWM5NjhmZWYgbGVnYWN5LXRydW5rCisxNTg3OSA3ZmY0MGRhMDhjMmE2NDY1MGVlMzI3MjhjZTJlMDBjZTRhY2Q3ZmJhIGxlZ2FjeS10cnVuaworMTU4ODAgZmQxMmNkOTk2MTU0NDQ0ZmJjMTE4MDQwYTM4YWZkYmUzYmFlNTllNSBsZWdhY3ktdHJ1bmsKKzE1ODgxIDg5NmIzNTlkMWM3ZDZkMjQyMWUzOWZlNDRhNTNiNzdiZjE5NDNiNDMgbGVnYWN5LXRydW5rCisxNTg4MiBmYWVmZmY0M2U1OGE5OWIyZTUzMzlhNTYzNDMzOGM2N2IzYTBkODkzIGxlZ2FjeS10cnVuaworMTU4ODMgNTNkMDBlN2M1ODQ4NDM2N2IwYmMzMWNmMDE0NzAyY2E5NzNhYTJkNyBsZWdhY3ktdHJ1bmsKKzE1ODg0IDQ2MjE3NTgyN2E3NGVlYmY5MDgwNzYzMTdjNmMwZmFiOTNlOWQ2ZTYgbGVnYWN5LXRydW5rCisxNTg4NSA1MDIxZGI2NzQwMTkzMWY2Y2U0OWMzODBmZTA1NWNlNGZmOTBmODAxIGxlZ2FjeS10cnVuaworMTU4ODYgNDI1NThmMWJiZmM0ZGM3MTkzNWE1YTgyY2ZiOGVjOWY3YjI3NmFkMSBsZWdhY3ktdHJ1bmsKKzE1ODg3IDc4YWQ0ZjY0YWRjNWY0MTgyNWVlZGIxYWM2NGFmY2Y5MzdjY2FhYmUgbGVnYWN5LXRydW5rCisxNTg4OCAwNzA0MGQ1NjFmMDkxMjQzOGY5MDc1NzNjMmQ0YTg1OGIyMTk5ODA3IGxlZ2FjeS10cnVuaworMTU4ODkgY2I5MjhkOTI2ZjI3M2RiOTE0Yjc4ZDQ5NGFhZWRjNmM2YjE1YzRmZCBsZWdhY3ktdHJ1bmsKKzE1ODkwIGUwNDJjNGMzODYwNTZhODQzNWE4MmI1NzkxYTJkNjE2ZTE3ZTRhNGIgbGVnYWN5LXRydW5rCisxNTg5MSA3YTc4NzE1MzU3MjcxZTdmN2Y4MjU5NWNmZDE1OGJhMTFlMDkxODM0IGxlZ2FjeS10cnVuaworMTU4OTIgMDVjYzQ1ZDU3YTdmYTE2MGIzYmJlYTA3ODAxNmE0NmU3YjVlOGRjMiBsZWdhY3ktdHJ1bmsKKzE1ODkzIGVhY2E5ZTI1YTA0ODk2MDdkZDUxYTFiMjVhMTdkOGRhZmYyYjdjODIgbGVnYWN5LXRydW5rCisxNTg5NCAxNTY1MTQ5MGFmMzQyZjA2MjU0NDhiMjNiMzdjZmFkNzg1N2E0MzEwIGxlZ2FjeS10cnVuaworMTU4OTUgZjgyNjUyNTRkOGE5ZmNjNTcxODc5MjE0MWJiYzg2YWJhYzhhNzEzOCBsZWdhY3ktdHJ1bmsKKzE1ODk2IGIzMWZmZjU5NjIyYTNkZjM3Y2JjNmQ4ZDEyYTMyZThjNzk5ODEzYTIgbGVnYWN5LXRydW5rCisxNTg5NyBiNmVkOGZhMjY3NWM3N2Q0MWIyY2UxNjEyMjRjNmY4NjdkYWJlN2VhIGxlZ2FjeS10cnVuaworMTU4OTggNzJlM2NkYjMyYTZjNjE0NDdhNjFkZjU2M2UzYzVmMzdmNmZhMzNjYiBsZWdhY3ktdHJ1bmsKKzE1ODk5IDQwNDE1NjA5MmY3ODFiODk3ZjRhZjY1OWNjOWIxMGU0NGVmNWQ0YzMgbGVnYWN5LXRydW5rCisxNTkwMCBjMjIwN2Q2YzAzYTgxOGVmNTNmNTViZDkxYzYxY2EwMDQxMmNjZDQ2IGxlZ2FjeS10cnVuaworMTU5MDEgN2M2YjEyY2VjZWYyNmUzMzhlOWJlMTY5MjZhZjVhMmYyNjUzOTJhZCBsZWdhY3ktdHJ1bmsKKzE1OTAyIGNjYTg0NzQ1ZGEzZTAwY2JmODNhNGY2Y2U0ZGViYjVjM2I0OGIxYTQgbGVnYWN5LXRydW5rCisxNTkwMyBmODZlYTVhNjljNWVhZGI4MDQwZmMxOGY2N2Y1Mjk4NDA4ODJjMzc4IGxlZ2FjeS10cnVuaworMTU5MDQgZjVmMGYwMGY5MjJhMzZhYWFjOGZhMDY5MmJmZjc4ZjJjN2ViMjY2YSBsZWdhY3ktdHJ1bmsKKzE1OTA1IGZmYTRiNGI0MzcwMzFkMzRmMDEwMGFlZmI2M2UzZGZiZGExYWRjNmUgbGVnYWN5LXRydW5rCisxNTkwNiAwYTE0NjNiYTI5MzQ4N2Q2ZWE1NmMwOGIxYjliNjliNjllNzNjZjE3IGxlZ2FjeS10cnVuaworMTU5MDcgNzk1YjMyN2E5NWZlYmRhYmJmYzliZGRhYzAyMDFhOTEzYWRhYmFmOCBsZWdhY3ktdHJ1bmsKKzE1OTA4IDJmM2U0MTg2NWQzZDNiZmJiYzNmOWFiMmY5MDFlMjY2MTBhZDkzZmMgbGVnYWN5LXRydW5rCisxNTkwOSA2MDdlNTI4NDFkZjI3OGZjZTJhNDEwNzk0MWVmMjFiNTY0ZWQ0NGY1IGxlZ2FjeS10cnVuaworMTU5MTAgNjdlNzc0NjYxOWRhN2VkN2NiNzVjYWI2MDJjOTRhYTczZDI1YTgzMiBsZWdhY3ktdHJ1bmsKKzE1OTExIGYxZjRkODIyZTc2MWU3YWNlYTlmY2QyNDUyNTY1MDliNzkxY2NiMjAgbGVnYWN5LXRydW5rCisxNTkxMiAzZjgwNzNjNjMwMzNjMTYzYTc5NDBlNjNiNzk3NWY3MjJkNjIzZGIxIGxlZ2FjeS10cnVuaworMTU5MTMgMmI3MmFhYmE3ODk1MTExNTY0ZWE3M2FiMWEwZDhkZTYxYWYyMzZkZSBsZWdhY3ktdHJ1bmsKKzE1OTE0IDMyODE2Y2U2MGE0OWIwOWFkZTk3NTkxNzI5ZTI4MDMzMTZmZmMzNzIgbGVnYWN5LXRydW5rCisxNTkxNSAzNTdiNzFjNjkzM2I4NTEzZDI1YmY5MWVmOTRhNzUzMDQ2ZmMzOGY3IGxlZ2FjeS10cnVuaworMTU5MTYgOTkxOWQ2NWVkYzc2Y2FmZmJkNmZjMjgwMDBiNjhiZjI3ZmUxMGVjYSBsZWdhY3ktdHJ1bmsKKzE1OTE3IGMzMzlhYzdiNmQ0ZjFlMTEyYjhiZmZlNjFmN2M1MmZiNGY5ODFlNjUgbGVnYWN5LXRydW5rCisxNTkxOCBmYTNkYzIxZDBlMDg4MGU1YzQyZDBkOTYyODQxODQ4NjIxOTYyY2ZjIGxlZ2FjeS10cnVuaworMTU5MTkgMWE0MmE5ZDEwMzU3ZTE0NmFmYWRkZTdiNDIxMGE2NzBjODA3ZTExMCBsZWdhY3ktdHJ1bmsKKzE1OTIwIDUzMzU1ZWQ2MTI4ODkyODE4N2M4NWNiN2U2MWM3NGYyYzJjYzBjNTUgbGVnYWN5LXRydW5rCisxNTkyMSAxMzllYWYyZjk2YWI2NzIxZTMyYTE4YmMyNGRlYmQ3NjFmNTA0YTA1IGxlZ2FjeS10cnVuaworMTU5MjIgY2NlMmM3YTM4YmQ1NmRlMTI2NjM0OTc4MTFjOWY1NjQxZGE2ZWNkNCBsZWdhY3ktdHJ1bmsKKzE1OTIzIGMzNjA4MDZjMDZjNzYzMjYxYWM1ZGRkODI0MTZiNGU4OGI0MzU4OTggbGVnYWN5LXRydW5rCisxNTkyNCBhMDllODYzNTUzNGRlMTJiNDJlMTc5MjY4MmExMjlmNGE1ZDM2NTlkIGxlZ2FjeS10cnVuaworMTU5MjUgNmZhYTQxMWM2MWZiNGFlZGYzMTAyYTIyMzUwNWJmOWZlYmM3ZDBjOCBsZWdhY3ktdHJ1bmsKKzE1OTI2IGM5YjFmMTk4NmM0MDI5NDhkNzIyN2Q4YjNjODJlNGFjMzFhMDQ3MmUgbGVnYWN5LXRydW5rCisxNTkyNyAwMjNhMjAxOGI5NmRlYmE4NGY5Nzc3NzIwMjFlZDE1MDNjYjI5NzAxIGxlZ2FjeS10cnVuaworMTU5MjggZjcyOTQyNDZkMDRmOGQ0YzU2ZDY2YTEwMzFjYTk2NDhlMzQwNWNiMCBsZWdhY3ktdHJ1bmsKKzE1OTI5IDVmNmYwODg2OTA1Y2QzMzE4NTAwZWVlYjE2MTUwNDIxMWIwMjA4NDEgbGVnYWN5LXRydW5rCisxNTkzMCBiNzhiOTk2ZThlYmMyYjA2MzIxY2ZhYmYxOTczYzZhNWU5ZjQ5MTAwIGxlZ2FjeS10cnVuaworMTU5MzEgMjA4MzQ2ZTkyNGNiMDI5MGFkNDA3MTc5NWIyNjQxNzA1NmFlYTUxMCBsZWdhY3ktdHJ1bmsKKzE1OTMyIGMxN2ZkMmNhNjY1OWMwMTQ4YThiNjhiNWVlYjRkYWU1NDIzMjAyMzIgbGVnYWN5LXRydW5rCisxNTkzMyAwNWU0NWM1ZjJkZTViN2NlZmQ2ODBkOGYxNmI3ZDA0NzQ2MjdhNmZiIGxlZ2FjeS10cnVuaworMTU5MzQgMDAyMWYzYzBiMjM4MDMyMzhlY2M1NDIyN2E5Yzk5ZTUwYmU5YzkxNiBsZWdhY3ktdHJ1bmsKKzE1OTM1IDlkOWU1YTdjMTJkYWJkMzkxOThkNzc0YjRjODMwZjMzZDFkZDVkNzIgbGVnYWN5LXRydW5rCisxNTkzNyBkMzdjMDI3ZTNmYWU5N2JkOGM1MGI2OTZlODkwN2Y1ZmExYjUwNjRjIGxlZ2FjeS10cnVuaworMTU5MzggMjhhOGJiNzk0ZjE5ZDU4YzgyMjJhYmI5NTcyMGY1MzA0YTQ5M2ZiZSBsZWdhY3ktdHJ1bmsKKzE1OTM5IDdhOTZlYzAxMDMzM2RjODI2MTIxOTc4N2QyODliZTQ0MmFjN2FhNDIgbGVnYWN5LXRydW5rCisxNTk0MCBkMzczNzQ1NTJhMTVmOWI2ZGMyZjhjNGQwNzVjN2UxYjRhZGY2NDJhIGxlZ2FjeS10cnVuaworMTU5NDEgOTE1ZDk4NTkxOGUyMWQzYTljZGJkN2Q3M2NjZmQ5N2Y2MTQwMzQyNiBsZWdhY3ktdHJ1bmsKKzE1OTQyIGVmMTMyNDJkZTQzM2U3NGQwYzI3N2RlMjk4NGVhNTk2YWUzNzY2NDQgbGVnYWN5LXRydW5rCisxNTk0MyA2ZjQ2Njk4MTQ4ODRhMzEwNjhlYjA4NTNkMTJmOTU0NDlhYjgzM2U0IGxlZ2FjeS10cnVuaworMTU5NDQgMWUzMDJkOTk2ZDU4ZDhjYjRhOTkwMWIzOTk5ZDMyYjBjOWM1ZjJlNSBsZWdhY3ktdHJ1bmsKKzE1OTQ1IDU0YmZmZGRkYzBlZjA4MzE1ZDY1MGU5YWYyZWM5ODQzMDQ1NGVhZGUgbGVnYWN5LXRydW5rCisxNTk0NiBlZmVjYmJmNzI3NjUzZDc3YTYyYWM4MDc2YzkyYTY3Y2FkYWFiNDZkIGxlZ2FjeS10cnVuaworMTU5NDcgZTljMzRjY2EwYzk2ODYyNDM1NTJlNmQ3YzBhZjZmNDQ3OTgzODg4MyBsZWdhY3ktdHJ1bmsKKzE1OTQ4IGM0NWJjMjU4ZjgzM2MxMjkwYTZlMDk2NWViYjNhY2ZlMmVmODQ0ODIgbGVnYWN5LXRydW5rCisxNTk0OSA1OTI5NGRkNGJmZGRmMWUxNDI4MzcxNjhiZGI2NzYwNmZhOGUyZWY3IGxlZ2FjeS10cnVuaworMTU5NTAgOTJiYTkyOGMwOWI4YjhjYzFhNzYyMTEzNTQ0YjdkZDIxMTFlOTIxNiBsZWdhY3ktdHJ1bmsKKzE1OTUxIDdlMjQ1YmM1OThiN2JjMzcxODNhNTVhNjllMzM1MWRiMmMwNTAxOTkgbGVnYWN5LXRydW5rCisxNTk1MiBjN2JlODQ3ODI2YjE3MjQxMGYyZDBlNmE5MWZiYzQ5NjRkYWMyMGI2IGxlZ2FjeS10cnVuaworMTU5NTMgN2U3MTk3NWVhNWYwOTBmZmZjMTQzZTkxNzdjZjQ5NGRmNTRiOTQyNiBsZWdhY3ktdHJ1bmsKKzE1OTU0IDMxMjhjM2NkMThlODZjZWE0NWYyMjA1ZmYxNzQyY2MyM2IzMWJmZGMgbGVnYWN5LXRydW5rCisxNTk1NSA1NDFkYjVmNjI1OWU5NmFjMzRjNzNjZDliMGI3OTc5NWQ0MjkzNzgwIGxlZ2FjeS10cnVuaworMTU5NTYgNzUzYWY2MmFiOGExOWJmOWFlYjMzNjhlMjQ0YWJiMjUxNzVhMTEyZSBsZWdhY3ktdHJ1bmsKKzE1OTU3IDk2MTY3YWY5MGZhMDMxMTRmMTk4ZTMyZGNiNzZlYjAxNDFhMmVmZjQgbGVnYWN5LXRydW5rCisxNTk1OCAxODkyMGVhYTEyMjY0YTdhZmE4ZDc0YWJiOTM0MGI1YmRkZmYxZjAxIGxlZ2FjeS10cnVuaworMTU5NTkgZWRlMThmZDVlZDE1YWU4ZDZmZWZhZjUyYTNmNGE2MzAxNzIxNzFmMSBsZWdhY3ktdHJ1bmsKKzE1OTYwIDRkZWVlZDU4YmY3NjRjZDU2N2I0ODVkY2NkYWM5ZTZjMGRlZTI4NmQgbGVnYWN5LXRydW5rCisxNTk2MSBjNTI3OWMwZjcxNmYwNWIyN2VjMGZjMDJkNmZhYjhmMzgyNzMxOTc1IGxlZ2FjeS10cnVuaworMTU5NjIgZWUxYTM0ZTVlZGIxMjc1Y2NiM2Y1NzU4NzU4YWZmZjY3MzcxZWY2MCBsZWdhY3ktdHJ1bmsKKzE1OTYzIGEwOTNmYWQ5MmNjZjg5NTA0ODhkY2Q2ZDg4MDcxODljZmU2Njk4MTAgbGVnYWN5LXRydW5rCisxNTk2NCA3OWM0YTA1NDI1NzI0NDJmNGY0ZGZkODNmMjg0YTg4ODQ1Y2RiMjVlIGxlZ2FjeS10cnVuaworMTU5NjUgYTYyNWNlMmZiZmJkODU1MmFhYTM0ZTc5Y2E5NWJlZmFlODQxMGI5ZSBsZWdhY3ktdHJ1bmsKKzE1OTY2IDVhNGRmOWQ5YzdiZjU2ZTNiNDdmNmRiYTJlZjUwYmMyOTUyYWMxYTQgbGVnYWN5LXRydW5rCisxNTk2NyBiOWE1NmU1ZTNkMjI3ZmQ5ZDAxZDc5NmNkNWNkZTc2ZjBjZWIwZTcxIGxlZ2FjeS10cnVuaworMTU5NjggZDY2NDM1MzM3ZTFjMmI1NTNiNGNjYjgzYWFjYTA5Nzk0YzcxZGJjYSBsZWdhY3ktdHJ1bmsKKzE1OTY5IGVhNGJiYWJjNzQ5NzMwOWJmZTUwYzJiYWRhOTE1ZTI5MjNiNzg3NWYgbGVnYWN5LXRydW5rCisxNTk3MCA5ZDIwNjg3M2M1YmQ0YjFmYThlODlkZmY3NWRhNGIxYjk1NjczNTNmIGxlZ2FjeS10cnVuaworMTU5NzEgYjExZTBhODk4ZGUwOTU1YmQ0Y2VmYWRlODZhYzg1M2ZmMjUwNjI5ZiBsZWdhY3ktdHJ1bmsKKzE1OTcyIGZmMjQzYjBmMTZlZWI4ODU1OTI3YzEyNjA5NWI1ODVmOWI1YzhhNjAgbGVnYWN5LXRydW5rCisxNTk3MyA4MjdiNTc2ZTI2NWI5NjA4ZDkyNWYzMzNjMGM0YThmMTA4MTgwOTczIGxlZ2FjeS10cnVuaworMTU5NzQgZjI5ZmJhNWM5OGJkZjdiMDgzMzI2MzBlMDU1YmQzODM1OTEyZDZkYSBsZWdhY3ktdHJ1bmsKKzE1OTc1IGMyOTA5ZWM3ZDRjZGNhMDI1Mzg1ZWEyYmM2ZWVjODliMDgyY2U3MzggbGVnYWN5LXRydW5rCisxNTk3NiA1NTViMmUyMmVlODk4MmRhMmRhNmYwZGI5ZmFiYTQ3ZWQxNjM0YTliIGxlZ2FjeS10cnVuaworMTU5NzcgMDk3Njg0YjkzY2E5YzEwNDlhODI2ZjI3NjdmNWI3NmQ1N2ZlMWE3OSBsZWdhY3ktdHJ1bmsKKzE1OTc4IDYzZWJiNjkwNjg3NzQ5ZDgyMDRlYWExYmUxOThiMjkyZjQ0MzMzNjMgbGVnYWN5LXRydW5rCisxNTk3OSBlMmFlZTYxOTBiMTk4NTAwM2UwMmI4YjZmYjMyYWJhYTk1MmE3NzhkIGxlZ2FjeS10cnVuaworMTU5ODAgNzlkYzFlZjVjMjJkMTk2OTE4OTI0NzZjYzcxOTYwNjVlMmFhODk5NSBsZWdhY3ktdHJ1bmsKKzE1OTgxIGE5MmY0M2QyMGVjYjE1ZjgzNzhiNTJhZjlmMWM0YTZkNTJlNmVhNDQgbGVnYWN5LXRydW5rCisxNTk4MiAwNDJiOTZjZGY3ZDc5NDUwMDgyMGM3MGRmNDA3N2Y4NTFlM2FmYmYyIGxlZ2FjeS10cnVuaworMTU5ODMgZDdiNDhjODQ5MTg5NTM0YjUzZjRhMzQzZDQ3MDk5OGE2NGI2YjEwOSBsZWdhY3ktdHJ1bmsKKzE1OTg0IDVkZDM4MWFlYjIzYjI3YTg4YTI0NGNiNGNmZDRlNDQ3OTU1MjI3NDMgbGVnYWN5LXRydW5rCisxNTk4NSAwNWQ1ZDNmOWExOGNiZmFmZGI4MDc1NDc3Mjg0MmMyMWU3ODlkZmQwIGxlZ2FjeS10cnVuaworMTU5ODYgMWNmNTQ0YmEyMzllNTYxNjU4ZGU0YjUzNjQwZTNhMzEyOTBiZjAzNiBsZWdhY3ktdHJ1bmsKKzE1OTg3IDJlYmZmZjEzOTM2YzI0YzBkMWJmZjFkYzVlMTZlMGI4MTMxNGZiYjEgbGVnYWN5LXRydW5rCisxNTk4OCAxMjQzN2RlYjA2ODBhYmFmYzExNzQ3ZGFlMTZhOTAwODkzY2MxYTcwIGxlZ2FjeS10cnVuaworMTU5ODkgYzJkZjVkMjgwMzRkYTU3N2I4OWI1YmVkMGM4MmQyMGEyODkyYmM2ZSBsZWdhY3ktdHJ1bmsKKzE1OTkwIGYxOTVjOTk4MWZhMWE5YTY1MGViZDNiNTA2MWJjNTFhY2VmMmViMDIgbGVnYWN5LXRydW5rCisxNTk5MSAzNDRhYjM0OGYxZTljOWQ4YjAwNzMzMmY4NjA4YzBkZTdhMzU4Zjg0IGxlZ2FjeS10cnVuaworMTU5OTIgNzA2NmJlMmVkYzNiNjlkNWY2OTMxZTUxZjQxOTdkMThjYzFmM2U0OCBsZWdhY3ktdHJ1bmsKKzE1OTkzIDIwOWViNDRjZGJmN2UxMTQ2NjIyNThhMjU0Yzg4YzU4MTNkMzYyYjQgbGVnYWN5LXRydW5rCisxNTk5NCA2OGRkNDAzMDcxNzI2ZTFmOTlhYzQ5YTU2OWU2OTE1Nzc3YzI2NDE5IGxlZ2FjeS10cnVuaworMTU5OTUgODZjOWY2OTFmMzc5MGEzOTBiYjcyMzkwZDAyNDNjOTg3ODRhNWZlNCBsZWdhY3ktdHJ1bmsKKzE1OTk2IDc5ZjhmNmI5NjNjMjY5YTI0OWY0NjgwOTA0YjVlYTJjMWIwNDVmZTYgbGVnYWN5LXRydW5rCisxNTk5NyA3OGJmYzc0MGI2MWNkMWQ5Y2UxZGI2ZWY0YTNjMDA2ODU0ZmU2NTUwIGxlZ2FjeS10cnVuaworMTU5OTggMzFmOWZhNDJkZjYwMGFhY2Y1ZWUwODM3NWJhYjRjNmQ5ZmUxMTBlMiBsZWdhY3ktdHJ1bmsKKzE1OTk5IGFmNzI4MDVlOTk0MmFkMmZkZjVhZmI5MjVjOWQyNTNiNTNhYzI5MTEgbGVnYWN5LXRydW5rCisxNjAwMCAwNDkzOTViMDI2MDJhMzRkMTBiNDVhNjI4ODkwMWQxZjlkNDE1MWQzIGxlZ2FjeS10cnVuaworMTYwMDEgNjUwMTU0MjkyZWUxMTczYTYzMDRlMmI2NmYxMWE0OGM4NzExN2RkYSBsZWdhY3ktdHJ1bmsKKzE2MDAyIDUzYmUyODVjZmQyY2FjNmJiOWI2ODZkYTQ0MzcyYjlhMDA0MDNiOTQgbGVnYWN5LXRydW5rCisxNjAwMyA2MTA0YjYxMjE1ZTY3Y2E2M2Q2Yjg1MzYyMjBlNDdkNWVjNmY1YTdiIGxlZ2FjeS10cnVuaworMTYwMDQgNTQ2NjI3MGRiYzkyNjhhMGNhMWE5N2RkZmI5MjU3ZTM5ZDkwYzFkNyBsZWdhY3ktdHJ1bmsKKzE2MDA1IDFlNDZjMjNiMWRhZGI3NGU2ZWMzMzdlMjY4OWIwZjIyYzkwMmMxODcgbGVnYWN5LXRydW5rCisxNjAwNiBhNzkyYjc0Y2M5ZThjMzUyNjdiOTlhYmQ4ZTk5OTczNTc2YmQ0YTU4IGxlZ2FjeS10cnVuaworMTYwMDcgMDlkOTE3MmZiMWQzNGNkNzIwMGQwNjVhN2E2OTYxYTcwNWI1NzZiMyBsZWdhY3ktdHJ1bmsKKzE2MDA4IDU3ZDZhMzFlZTQwZTAxNDlkMTk4Nzk5MzY5Njg3NTNkYTYxZjVmYzYgbGVnYWN5LXRydW5rCisxNjAwOSA1ODkyMDJjNjQ4ODc5MWQwZTdjNzMyN2M4YWM0OWFiMDkyM2QwMDAyIGxlZ2FjeS10cnVuaworMTYwMTAgOGVkZTRiMDgwM2ZiNzlmZmMzN2NiMmQwNzZkYjE3NzU4NjZhYjFjMiBsZWdhY3ktdHJ1bmsKKzE2MDExIGFjNGQzY2ZiYzFjOWQxODQxOTRjYjljMmU1OWMzYWZkMTI3NzNkZGIgbGVnYWN5LXRydW5rCisxNjAxMiA4ODY0MGVjZjU1MDYxZjMyNWNlZjhiMTIyMmJhNGY4YTk3MTBkYmQ2IGxlZ2FjeS10cnVuaworMTYwMTMgODYxNzdmYjBlZGQ4MzVjY2M0Yjg4ZDc2ZDEyY2M4NDc2YTEwOWViZiBsZWdhY3ktdHJ1bmsKKzE2MDE0IDMxMGQ3Y2JiYTMyOTIzOWM5YmM2N2EyYjczNzk3NTFkMGMwOTI5NTggbGVnYWN5LXRydW5rCisxNjAxNSBhNmE2NGU5YWIyMzhkMGZlNDFjMjY4NGY2ZWEwNWFiOWY5NWVkZTUzIGxlZ2FjeS10cnVuaworMTYwMTYgZmYwOTc0ZTg4MjFiZWVjMzJkNzYxZTAxYzk5MzFmZjUzYzZmNmUxMCBsZWdhY3ktdHJ1bmsKKzE2MDE3IDkxNmZiMDI0Y2U5NDJkMDk3YjA4Y2U1Nzc5NDc0Y2E2ZDZiYTZiNjQgbGVnYWN5LXRydW5rCisxNjAxOCA4N2VlODJlNWM1NmQzMWI3NzFmNzZlZDVjZTMwYWNiNjMzNGY5ZmY0IGxlZ2FjeS10cnVuaworMTYwMTkgMzRhNmU1ZmVjYTE4ZTNlNGIzMmFmNTJkMTYyOTQ0ZGJlMjcxZGM1NCBsZWdhY3ktdHJ1bmsKKzE2MDIwIGJhYmU3YjljYzYxNzQ1NmY0MmQzNTVmMWMyOTllMDUzODViYWUwOTggbGVnYWN5LXRydW5rCisxNjAyMSAzZGE0OTM0MjE5ZTVmNDc3ZTc1YzQ4ODdiOGQ2ZGU4YjQ0NWIyNjJmIGxlZ2FjeS10cnVuaworMTYwMjIgNWZjMThiY2E3ZjU1YWMzM2E1MjkwYzUyNDA5ODA3MTE0YmIzM2Q5NyBsZWdhY3ktdHJ1bmsKKzE2MDIzIDFjNWE1YWRlMDRlMjc2MmM5YjExZTI5ZGI5MTI5YTJmMjY1YWEyZGYgbGVnYWN5LXRydW5rCisxNjAyNCBjNmZkNmZmYmNiMTVjNzgxY2E0ZDRlYjg1MjViNmVkNmZlYWUyNjgzIGxlZ2FjeS10cnVuaworMTYwMjUgODQ4NzlhYjcxYjlmM2ZkOGRhZjk2YmZiNzdiZGYxMWExMjY3ODc4MSBsZWdhY3ktdHJ1bmsKKzE2MDI2IGI5YWRiNzljZGViNjM0MDlmOWY1MWQ0YjQxOGIxZjIzODM2MGY4NWUgbGVnYWN5LXRydW5rCisxNjAyNyBlOGJiMGQ1MzY2MzNhZTc5NTIzMDk4YTI1N2YxOGM0ZDUyMzc0ZDM0IGxlZ2FjeS10cnVuaworMTYwMjggNGM0ZTk1MTQ3MjU4MTExMjU4Mjc0ZjU0NGQ1ZGVlNzU2ZmRkNmRhMiBsZWdhY3ktdHJ1bmsKKzE2MDI5IDRjZTI1NTQ5NWRhMzQwMzA0NDBhNThiN2M3MGY0YTU1YWJiOWJhYzcgbGVnYWN5LXRydW5rCisxNjAzMCA4MzM3N2ZjMjk4ZDgzYzhhZjRlZDdlZmQzZDhmY2RlNmU1OTI5MjFjIGxlZ2FjeS10cnVuaworMTYwMzEgZTcyY2I0MjE3NmJjNzE5M2Q5NTIyMzI0ZDdkMzVjNDVhY2Y0YzU3MCBsZWdhY3ktdHJ1bmsKKzE2MDMyIDYxNTVmNTMyZjFmY2M0ODg3YmZlODlhNTA5MTliYWRjNDUwZDVmZWEgbGVnYWN5LXRydW5rCisxNjAzMyA4OWYwYTY2NGUyODMwYjFjZWJlZDNlOGRiM2ZiOWExZTUwMjdjZmJlIGxlZ2FjeS10cnVuaworMTYwMzQgZmRiNzhjZmQ5ZTc2N2Q5MmE4MjExNjMwMDg1NjlkMmViMDkyOTMxYSBsZWdhY3ktdHJ1bmsKKzE2MDM1IGVmYjRiMGM2NjY4OGU0MzYzMmRjMTM1NWI5YzllYjcwMDc5NWI1YzIgbGVnYWN5LXRydW5rCisxNjAzNiBiNTMyOTBiN2I1NDY4YTE5YjdlOGQwOGY0ODBiZDFhNzk0MDVhZDU4IGxlZ2FjeS10cnVuaworMTYwMzcgMWMyN2IzN2VkMWExYWU3N2YyNWU2NWU2NmI4MjNlNDYxYjY1ODNiMyBsZWdhY3ktdHJ1bmsKKzE2MDM4IGJjNzE0YTdhMDA0Mjg0YmVkYzc0NzhiNDU1YTc1NGFlY2U1MmMwN2UgbGVnYWN5LXRydW5rCisxNjAzOSBlMmIzNjIxZTY1MjEzOTJhZWI2YmI3Y2NjNzVmNTliMzViZjUyNmVlIGxlZ2FjeS10cnVuaworMTYwNDAgMzM3MGVkYWQwOGNlZDVkZjg4OGVhY2JhNzk2ZjlhYWVlYTYwNTc5NiBsZWdhY3ktdHJ1bmsKKzE2MDQxIGUyZWUzOGVhN2YzNWU0ZDRhMDNlMDczY2UxMTQzMDAyM2I0ZGRjMzEgbGVnYWN5LXRydW5rCisxNjA0MiA1MDNhNzM5OTgyMjJjNTMxMjQ2OWM4MWI2YjA5ZDYyYjZjNGNlNmE3IGxlZ2FjeS10cnVuaworMTYwNDMgM2Y1OThiOThkN2Y5MjI0MDZmYzRkMTgzN2JiYjAzYjI0OTkwOWQ3MSBsZWdhY3ktdHJ1bmsKKzE2MDQ0IDkxZGUzZjAzYWU4OTI3YWYyZjc3OTAxMTcyMmQ0NTViMTA3NmIxMjIgbGVnYWN5LXRydW5rCisxNjA0NSAzZTA3YTczMTVhZjUyZmY2ODQ1Zjk4YzQ5MDZhNGRlZmZkNGE1NjVmIGxlZ2FjeS10cnVuaworMTYwNDYgNTEwMmVmZmIwYzRiNGM1ZWI1ZTZjMmRlODVjOTljNmY5ODA4YjZhNSBsZWdhY3ktdHJ1bmsKKzE2MDQ3IGUwZWI0MzFlNDM5M2FjZDdmNjI2YjFjMmJhNzM5NmIyY2RmYzU5YzMgbGVnYWN5LXRydW5rCisxNjA0OCA3Mjk1ZjM2MDI2NGU0N2NjNTFlNmFlMWE2MTA3ZjEwN2YxMTkwMDUwIGxlZ2FjeS10cnVuaworMTYwNDkgNDAxMWFjZmUxNDMzZmE5NjE1YmIyZDY1ZGQ0YWIzZDY5MTE3MTUwZSBsZWdhY3ktdHJ1bmsKKzE2MDUwIGYxMTljMmQ4ZDU2MDNmN2ZmNGMxOTk4ZGJiZjliZjRjNTNmNDg4ZGIgbGVnYWN5LXRydW5rCisxNjA1MSBjYjE4NjQwMjU5OWE3MjdmYWExMDI0MzI5NzI5MDc3OGQ0MDNhNGIyIGxlZ2FjeS10cnVuaworMTYwNTIgN2VkYzQ4MGJiOWYzOThlOWQyNDFlZjU4YTQzZjUzZTQ3OTkzNjQ5YyBsZWdhY3ktdHJ1bmsKKzE2MDUzIGNmYzY0ZmFmMTJjZTU5OTAzOWFlMTlmZGQ0YjllZDQ1MmVlOTIzNDQgbGVnYWN5LXRydW5rCisxNjA1NCAxOGM4MWYxYTBkYTIzNDg5MDM5NGI3MTZmMmNhZTZjMmY5ZGU3NWZkIGxlZ2FjeS10cnVuaworMTYwNTUgZTM4YmU4NzE3ZWMwMzFiNjEyYjhlZjU1NjFiYWUzMjYzNmQzY2JmZSBsZWdhY3ktdHJ1bmsKKzE2MDU2IDgwMGE3NWQwNzg3ZjBhMDFhODg5NWNjNmQ4NmVjYjk5OWIzZWE0YTcgbGVnYWN5LXRydW5rCisxNjA1NyA2ZTRkZjM0MTRhNWZjZjUwMGM1NzhiYTNjMTJiNjBmOWZlYWQ1M2I3IGxlZ2FjeS10cnVuaworMTYwNTggYjkxYjU3NjJiMWNkMTE0YWI3YzAzN2ZkMzY0ZTg5ODVkZGVhZmFmMiBsZWdhY3ktdHJ1bmsKKzE2MDU5IGE1ZTIwZDA3NDcwYzVlN2I4MzE5ZDkwNTRmZDEzZTRjOTkwMzhhNmYgbGVnYWN5LXRydW5rCisxNjA2MCA0NmVlMjcxNWQyOTgzOWJkNjNlYWJhYjI0NjliYjM1OWZjZTNmYmE0IGxlZ2FjeS10cnVuaworMTYwNjEgMmZiM2ZiNjQ2Y2M1OTU5NjMwNGEzNThkNTYzNGNjY2I4MzllMmVkYiBsZWdhY3ktdHJ1bmsKKzE2MDYyIDNkYjYyYzc1ZTY1YjE1NzI5ZmU2NjBlN2IwMmRlMjA0MzBiYjVhMDQgbGVnYWN5LXRydW5rCisxNjA2MyAxY2Y2NzM4MjQ5YWZmNWUzMzM5YmU3OTFmM2I0OWVhZDAzZDZhMjBhIGxlZ2FjeS10cnVuaworMTYwNjQgOTA1NDBjZGY5YzhkOTY0N2E2ZjRlNmM4OGY2ZmE5YzI5ZGY4OGE1OSBsZWdhY3ktdHJ1bmsKKzE2MDY1IDM2MDc0MjIyMTYxYzBiMWI0ZTdmOThhNWQ0NWM2ZmZmYjQzN2MxNTYgbGVnYWN5LXRydW5rCisxNjA2NiA1MGY5NzdlMWUyYWI3MGQyYmU3ODkzZmZkMjliNWRkOWQ0MmNiMDMxIGxlZ2FjeS10cnVuaworMTYwNjcgMzNjZTYzYjA2MzU5MDhmYTNmYzAyMzc3MTYwYWQxNTBiZDc5NDljMSBsZWdhY3ktdHJ1bmsKKzE2MDY4IDM4NGZhOWI5ZTI1M2NhMGY3NDQwN2FjYzNmZDBmNDRjYTBjZTFkZjMgbGVnYWN5LXRydW5rCisxNjA2OSAwODViMDE1YTkyOTFkOWQ1YTEzNjk4ZWMzODA3YzBkNDQyYjc2MTdmIGxlZ2FjeS10cnVuaworMTYwNzAgZmMyYWQ2ZmEwOGVjZTkxMmIzOGQ1MTc2ZTVhMTY3N2U0NzUyOWU5MCBsZWdhY3ktdHJ1bmsKKzE2MDcxIGM3ZWYxNTg1OTgzYzQ2NjU0Y2M0YzdhMjExMDJhMjk5NWMwOGY5MjQgbGVnYWN5LXRydW5rCisxNjA3MiAzYzM1YmY3YjU4MGIwMjJlOGI3YmU3NjAzNGQ4MGZkYjQ3OTBiNDc4IGxlZ2FjeS10cnVuaworMTYwNzMgMDY5NGNlM2JkNDhmNjdiMTE1ZGI1ZTc4OTU0ODA0YzZhYmRkZmRmMyBsZWdhY3ktdHJ1bmsKKzE2MDc0IDQyMGFiNDQzMDIxZTk2NWQzYmNjYjJjMzgxYzI0MjYyMDA4NzRkMGQgbGVnYWN5LXRydW5rCisxNjA3NSBhMmJjOGRmZjU1ZGZmNTQ3NDRhNGMxM2RmMTY0M2NmYmQ0NzBlNzk4IGxlZ2FjeS10cnVuaworMTYwNzYgMDNhYTI2ODE5YWMyNzY1MWQ5Y2Q5MmUwYjk0YTIzMDQ3Y2E4MTYyMSBsZWdhY3ktdHJ1bmsKKzE2MDc3IDU4MTgzNjc5YzkwYTIyMDk4YjYwOWUxZjJiNDBlZTUwMWUyOWU3MDcgbGVnYWN5LXRydW5rCisxNjA3OCBmZDc4YmM1ZjJiMmNjYjFiZjRkMzg0NDExMTc3NzRjODQ0NWEzM2I1IGxlZ2FjeS10cnVuaworMTYwNzkgNjZkNDJjNTFkZjE2YWVmOTJlYWJlNDIwOGVkMmM5MzYxYTY0N2I5MyBsZWdhY3ktdHJ1bmsKKzE2MDgwIGNkOGE0MWJmNGFjMjBiOWE3MmI0ZjBmNzE4MjRiZTdlZjdjODYxZDkgbGVnYWN5LXRydW5rCisxNjA4MSAzOTBlNWQ1MWZmNzMzMmI2NTEyYjhmN2U0MWQ4OTc4ZTdkNTcxMmQ4IGxlZ2FjeS10cnVuaworMTYwODIgNjdhMDQ4MTZlYTUwMTFhMzAwZWUzN2EwNjM2ZWE0NzNiZjM0NGUwOSBsZWdhY3ktdHJ1bmsKKzE2MDgzIGFjMjRkODJkOGUzM2JhYTYzYTllN2VjMTgwZTY2ODY4MjBlMDhlYzggbGVnYWN5LXRydW5rCisxNjA4NCBhZjEwZDliNzQxNDNkMmMzYWIxOGQ4OGNiOGEzZmUyMzk0M2RkYWFmIGxlZ2FjeS10cnVuaworMTYwODUgY2VkODYwZjJkOGQyY2E1ZTBlYzJmYTBjOTRkYWMyOTY4NGU3MjhjYyBsZWdhY3ktdHJ1bmsKKzE2MDg2IDM0MThkNWMwZjk2MDIyY2E4ZWMzY2U1ZTA3N2NlNmFkMjk0NTBhNmQgbGVnYWN5LXRydW5rCisxNjA4NyA3YmFjMTBhOWJiNjFjZjZlYTBiZGExZjA2YzNkZTk1MmMzOTJjYzNiIGxlZ2FjeS10cnVuaworMTYwODggMjQ3MTc0MDVkZDg5OTBmOWIxYTk2MjU4ZjFmOTIzMGIyMDYzZjIwOSBsZWdhY3ktdHJ1bmsKKzE2MDg5IGMxNTViY2NiN2EyMmZiMjQ2OGExZTQwZGY0YjkyNjUxOGI3ZmZkMDggbGVnYWN5LXRydW5rCisxNjA5MCBkOGE0MDc3NzdhNmY0YjdhNGE4MTMxNGM1NDM3MmYzZWQ5Nzg5Mzc5IGxlZ2FjeS10cnVuaworMTYwOTEgNDU0OTQwNDZjMmZiNjFjNTdiZjNhNzk1NGNlMWVkMTUyMjk1Y2NkNSBsZWdhY3ktdHJ1bmsKKzE2MDkyIDYzZDI4ODdiYWYxMTg0MjZkMzJmYzQ5MzRjMzZiY2MxZDUzMmQ4NmEgbGVnYWN5LXRydW5rCisxNjA5MyA3ZTNkNjA0NTU5NThmYzczODYzYjY1ZTQ0YzI5ZDEwYTQyNzQwNzAxIGxlZ2FjeS10cnVuaworMTYwOTQgNTYyNmQ0MjU1ZmNlZDVjYzkzNjE2MDgzOTg3NDNjOWRlY2JlN2NmZCBsZWdhY3ktdHJ1bmsKKzE2MDk1IDg5ZTQ3ZWJhMjc3MTg5YmM4OGY0ZDkxYTgzY2MzZjU2ODliNjk0Y2UgbGVnYWN5LXRydW5rCisxNjA5NiA4N2RmMWFlNGYxMTBjNWQwOTdkMjMyNDE1YTQ1MDk1YjA2NjgxYzNkIGxlZ2FjeS10cnVuaworMTYwOTcgOGQzMjRkOWQ1MThmZGJkNTBlMGM4OTMxNDRhYmZmMTg5MGM4MTlhOCBsZWdhY3ktdHJ1bmsKKzE2MDk4IGYwZDQwMmQ0ODE4MGJlOTQ4OGRiOWRkZTZjMjI5MjBhZTRkY2IxMGEgbGVnYWN5LXRydW5rCisxNjA5OSBlMTAxNjAwYWRlZTQ0YTYzMTJlOWYxMjAyMTZiZTFmY2E1YzU0MzZkIGxlZ2FjeS10cnVuaworMTYxMDAgYTdmNzIwMjJiOTNhYzg5NzIzOGMyNmRjZmNhYjM3OWZkYmRmMjEyMyBsZWdhY3ktdHJ1bmsKKzE2MTAxIGY5OGQ2ZDYzYWQ3MWI2YmMxNDRhMGRmNDdlMWM0N2FiZDFjMDYwYTYgbGVnYWN5LXRydW5rCisxNjEwMiBkZmYyNzdkNWZlYjI1YjBlZTlkY2EyNWFkODMwMjMyMDdlMTEzZTYzIGxlZ2FjeS10cnVuaworMTYxMDMgM2YxYmQ0NzgyNjI4YjZhMmQ1ZjQ3NDYzNDY1MTY0MDk4MzZkZTBlMyBsZWdhY3ktdHJ1bmsKKzE2MTA0IDJhNWEzY2FkNTE3NGE1ZmJhNzU3NzJhYzNmZGNhNGVjZmNiODBlYmUgbGVnYWN5LXRydW5rCisxNjEwNSBhYmVkODBiNTBhMmNjYWJhNDMzMmRhZWRjYzQ5OTY4NjA3YTRmYjQ2IGxlZ2FjeS10cnVuaworMTYxMDYgYzMwMjlmMjc2MDQ3MmNkODU0YjBmOTYyZTJjZmVjNTExZDQzYzdiNSBsZWdhY3ktdHJ1bmsKKzE2MTA3IDRjNDBlZjVkY2Q4MjdhZjlmYWQ4MWZjMjhhZWEzOWRhZDZkOTNkOTcgbGVnYWN5LXRydW5rCisxNjEwOCBmYjMwOTk2MTAxYmM4MzRkMjllOGEzMTZiZWE0YzBiMGM4NzNiMjgxIGxlZ2FjeS10cnVuaworMTYxMDkgMzg0ODM1ZWEwYTVhMTZiMzg1ZTIwOGNiY2FkNDRmNzg5NjZiZDNjNyBsZWdhY3ktdHJ1bmsKKzE2MTEwIDc2Mjg4ODJkY2NjZGU4N2UwNjhlZDQzMWM5M2E0YzU1OTgzNTI3M2MgbGVnYWN5LXRydW5rCisxNjExMSBiMzUzMGRhZTAzYmZiOTdmZDhhMzA3NzIzYzIyZDJmZGRjOTBjNmY0IGxlZ2FjeS10cnVuaworMTYxMTIgZTBkNjc2ZTljYjY2YzE0MGE3N2ViNWQwOTg1Nzg4ODEzMTA1ZThmYyBsZWdhY3ktdHJ1bmsKKzE2MTEzIDU2MTljM2Y3YTQ0YmRjNWFkMTY0MzA3NjE0NmU5Y2QyMGNlNWM4YmMgbGVnYWN5LXRydW5rCisxNjExNCBkODg1MzVjY2FlZTVjMjY5YzY4NDJmOTc1ZTdkNDRkYzE1MWY2M2ExIGxlZ2FjeS10cnVuaworMTYxMTUgMGIyODllMDBkNTJhMjc0NTUyMTNhZWRjZTBiMGQwYjIxY2VjZDRkMCBsZWdhY3ktdHJ1bmsKKzE2MTE2IDk5ZjM0MWE5N2ZkZWI2ZjA3OTI0YWU1ZDgwY2ZlYzQ2OTQ5NTEwOGQgbGVnYWN5LXRydW5rCisxNjExNyBiNGFlZGQ5MGM4NjQyZTlkYTBlYTRjMTYxMmMyNmQ3YTZhOWUxOTM4IGxlZ2FjeS10cnVuaworMTYxMTggOWExYjk2MWUwYzNhZjUwNDFiMDlhNTNkZmQyOTJjZjhmNWQ1NjllMiBsZWdhY3ktdHJ1bmsKKzE2MTE5IGQ4MDM4MTMzNjYxMmQ2MWQ3ZTI4ZjQxNTkwMzk4Yjk1ZDI2MmU4ZjQgbGVnYWN5LXRydW5rCisxNjEyMCBjODcwNmU1YTg4MmZhMjEyZGYzM2MwZTU4ZGFhZjk1NDE3ODI5ZDc4IGxlZ2FjeS10cnVuaworMTYxMjEgNjBhOTcyNmQ4NWY4ZTMwMzQ2YzhmY2EwYmNlYzFlYTE1ZTVmZjRiYiBsZWdhY3ktdHJ1bmsKKzE2MTIyIDQ4NGJmZGU3MGRjY2JmNGNiNmJjODNjNjA4NjlkNDk2YjU0ODY4MWMgbGVnYWN5LXRydW5rCisxNjEyMyBiZWY3YjYyOWFjOTU5YmUxMzVjN2NkZDA1ZDFlOTU5Y2I1NDU3YjY4IGxlZ2FjeS10cnVuaworMTYxMjQgMDJmODcwNWJkYTA1ZTUyMDZmZDg2MTExZTllOGIwODk1NDZkMWUxZSBsZWdhY3ktdHJ1bmsKKzE2MTI1IGYzNjkzNmQ0M2QwMmJiYzYzYmUwMzA5ZjQxYWE2OGJhZTRmZmVhNTIgbGVnYWN5LXRydW5rCisxNjEyNiAzYmUyOTQ0OTU5ZGE3M2M1Nzk3MTc1YmY5MGE0ZmI4MDBkNjgyYmY2IGxlZ2FjeS10cnVuaworMTYxMjcgYjU5NzA2N2UwNTZmNzkxYjM0NTk5MDI4MjJmZWJjYTY3ZTg2ZDhhMSBsZWdhY3ktdHJ1bmsKKzE2MTI4IGExMTEwZGE2NTdlNTBkZGU1M2UwZmE5MzBlYTQ2ODUyMjIyNTFiYTQgbGVnYWN5LXRydW5rCisxNjEyOSBjYmY2NmU0ZmYwOGYwZWU5Y2EwYjEyYTllYjFjZTg2MGZiMzk3OWQ0IGxlZ2FjeS10cnVuaworMTYxMzAgOTQ3OTBiMGM1NWQwNGFjY2NmMzk2Y2Q2MTYzODQzMmYyMzM3Mjc1NCBsZWdhY3ktdHJ1bmsKKzE2MTMxIGYwYzgwYjgzNjRlMjBiM2I0OGQyOGVhZGI2MzcxYmM4ODlmN2EyODEgbGVnYWN5LXRydW5rCisxNjEzMiAzYTAwMDMxZjlkNjBjN2MyZGYyZTFmYzFkODJhZGJhYTkwYzNjOTYxIGxlZ2FjeS10cnVuaworMTYxMzMgY2Q4YjhiYWZiYjMzOTczYjE5NDEwOGY2N2E3NTMyMmViZmNhYjk5ZCBsZWdhY3ktdHJ1bmsKKzE2MTM0IDc0NTE3N2JlMWE3MTdjZjE1MzJhMTUxZjI3YTVjOWNkOTYxMDgxOTkgbGVnYWN5LXRydW5rCisxNjEzNSBkNjc5NzQ1ZDk4NmZkYjQ5MGE3Mjc2YTMxNDRjNGZlMTA0ZWVmZmJkIGxlZ2FjeS10cnVuaworMTYxMzYgOGZiNzMxMWQxMzgxMDg4ZTU4ZDY3MGIxOWJmMGVmMzVhMTM5MTViOCBsZWdhY3ktdHJ1bmsKKzE2MTM3IGNiYmU1MTJkMjRlMDVjZWQzNDdhMGQ2ZjgyMTlhYTFmOTZhYTNhOTggbGVnYWN5LXRydW5rCisxNjEzOCBiZmUyMmNmNmU3NzA4YmE2NDJhNDBhZGQyNmYxZjBiM2IxNDQ4YTFjIGxlZ2FjeS10cnVuaworMTYxMzkgMjAxN2Y1NGIwMzI1YzdhNjliMjdjZTJkYzY3YzA0MjlkYTFlOTNhNyBsZWdhY3ktdHJ1bmsKKzE2MTQwIDExM2Q4MzNlZWE3ZTA3YTkxOGJiNTE2YWI1NDU0OWQ5NDQwNDE4MzkgbGVnYWN5LXRydW5rCisxNjE0MSA2MmUxNDBiYTc4MmRjMDQwMDk0ZDE4ZGY4NWNmN2U0MzU3ZmE3NDZkIGxlZ2FjeS10cnVuaworMTYxNDIgZDE2NmExZTYwNzYwZmQyNmY2MTFhMmMzMzNlOTViMmI0ODEzODFkZCBsZWdhY3ktdHJ1bmsKKzE2MTQzIDg5ZmY1OTE3YmM4YmM3ZjA5Y2RhZTVjMzczZWE5MTdiMDgyMTQ5M2EgbGVnYWN5LXRydW5rCisxNjE0NCBiMmQxMDQwN2FiOWRiY2FjYTZkYzBlN2E0ZThiZTI0OGU2ODg2OGI2IGxlZ2FjeS10cnVuaworMTYxNDUgM2ZmMDIyZTFiOTVkMWFhZjA1YjE4MjJmYWUzNTZlZDc4YzIxYTE4OCBsZWdhY3ktdHJ1bmsKKzE2MTQ2IGVhY2IyZTUxZTE2OTY1MjBiZGM4NWYwMjczZmY3Y2M0YjUxOGEzNDggbGVnYWN5LXRydW5rCisxNjE0NyBhZmYxYzQxNDZjMWMyZjNhODc0Zjk2YjUzNDJkNTNjYWMxNDVkY2RlIGxlZ2FjeS10cnVuaworMTYxNDggM2YwOGJlZGMxYzI2MTUxNmM1MjIzY2JlN2U5ZTIyZDc2M2JhNWMwNCBsZWdhY3ktdHJ1bmsKKzE2MTQ5IDFiZTQ2NjUxOTBmMDY5NTFiMzgyMmIzOGNkZGU4MjhiYTg0YjMyMWIgbGVnYWN5LXRydW5rCisxNjE1MCA4ODA0NGY5ZGY4MzNkNTY0ZDgzZmNjNWM5NzMzODhjMjQ2M2M5OWNkIGxlZ2FjeS10cnVuaworMTYxNTEgMWMwZDM1YmExNmIxYzYyYjIxYzA2MzhkNDI1NWUzYTYyMTM5MmQ4MSBsZWdhY3ktdHJ1bmsKKzE2MTUyIDYyNzU0YjllYzdkZmMwNWY1NjIwZWM2N2Q0YzUwZWY5YTg2YjA5ZjkgbGVnYWN5LXRydW5rCisxNjE1MyAxYjQzNTlhMjk3NmRhYzMzMTY0NzViYjFiZTI0MzBhZDVkYTZhOTczIGxlZ2FjeS10cnVuaworMTYxNTQgYjA1ZGY2ODcyMTVlZjQ0Yzk3ZjVmZTEwZDA4MjFhOGFjN2IzYTI1NCBsZWdhY3ktdHJ1bmsKKzE2MTU1IGJjYjE0NjI3YjhmNDFjYTExMTZkNTA3ZmVmNGM1NzljNWMzZWM3OWIgbGVnYWN5LXRydW5rCisxNjE1NiA4MTA3ZGUyOGJjODIxMzlkMDQ3ODMxMmRhMGFjOWVkYjNjNmY0NzFlIGxlZ2FjeS10cnVuaworMTYxNTcgMzE3ZThlMDljZTg3NzFjNjJjYmM2ZDdjYTI0NGI2MDNkYzI0ZTgwYSBsZWdhY3ktdHJ1bmsKKzE2MTU4IDc1OWY2OTg3NDBjY2YzZDZjZTk2YmY3MzM5OWY4OTA2OGM1ZDBlYTcgbGVnYWN5LXRydW5rCisxNjE1OSA4ZWI1YzM2ZWRlOWU3MTNkNjVlMGZiOGNiMmI4NTY5ODlhMTk4ZjU1IGxlZ2FjeS10cnVuaworMTYxNjAgZThjZTFiYjA1NmFlYzIxY2RkNmZhY2I5OWVkY2I4MGI3NDQyZWZlZCBsZWdhY3ktdHJ1bmsKKzE2MTYxIDIxMTE5MTg5ZWUxODJjYmU4MDkxMmZkZDBhOGE1YjZlZWUwNWI2ZGUgbGVnYWN5LXRydW5rCisxNjE2MiA5OGRiMGMzYzFmYjlkYzAwNDk3M2EwMWFmMDJhODQ5MzcyMDk4MTFiIGxlZ2FjeS10cnVuaworMTYxNjMgOGYxYTJkZWViOWIwMDBkNDgzZTBhNGFjOGE0ODA4YWRlMjU0ODAzNCBsZWdhY3ktdHJ1bmsKKzE2MTY0IDdmYmRiNTgxODM4ZjYzMWJkZDc0YzJjZGIyZTE0ODg3NTE2ZmFiZTUgbGVnYWN5LXRydW5rCisxNjE2NSBlOTVmZjIxMWI5ZDNjN2I4YTAwZjhlMGRjOWViNjFiZDgzZDFlODQ2IGxlZ2FjeS10cnVuaworMTYxNjYgNGNmMjE4NTJmZDUyMTYwMDkxNzYwMmU2MjcyNTNmM2I0OThkNDFlYyBsZWdhY3ktdHJ1bmsKKzE2MTY3IDUzNzE0NzhmNmY1Yjg2ZGUzZTZkMjUxZjVjYTRiMWFkNDM2NDdiNTUgbGVnYWN5LXRydW5rCisxNjE2OCBhNTAzYWY3ZTdmYjdiYTY3YTRlMzBmNTE3OGY2NTE3NWYzYWQ0ZGM0IGxlZ2FjeS10cnVuaworMTYxNjkgZjI2MzNjOTNlMmU1N2U3YTk4Zjg3MDc0MTk0MTVlNTM3ODJlMzYzOCBsZWdhY3ktdHJ1bmsKKzE2MTcwIGY1MjEyYWY5ZTY0MTNmMzE3NGZjYjAxNzExYWY0MmYzYWZlNjlkZjUgbGVnYWN5LXRydW5rCisxNjE3MSBjMzhiYWNkOGVmYWQyZmUyMjgwMDY0ZTk2MTJmMmExNmQxMDY1MGU4IGxlZ2FjeS10cnVuaworMTYxNzIgNTE1N2ViN2JlMjBkNzgwMzJlOWFkZTI2MmM2NTg4M2JjNDdmNTA2NCBsZWdhY3ktdHJ1bmsKKzE2MTczIDlhODM5MTA1NDg0MDkyNzRkMmEwM2E2NGNkNmJmN2U0YmIyMDc3MzYgbGVnYWN5LXRydW5rCisxNjE3NCBlNzEwNmMyZmMyNmNjNDc0M2FiOGNiMDJkZDBiNTM0OGI3NjRjOGI3IGxlZ2FjeS10cnVuaworMTYxNzUgN2ZlYTRhMWFmMDkwOWZlYWE2OWNmMDExMjRjNGRjY2ZjYTMxZmYyMyBsZWdhY3ktdHJ1bmsKKzE2MTc2IDZhNzhlYWQxMzk4NzA0MzY4YjVjZjg0YWZlZmMwNGUyNjliYmM4MTMgbGVnYWN5LXRydW5rCisxNjE3NyAyYmE3NmUzMTUwMTZiMjM2YmQ1M2Q5ZGFkODQ1MmM5MTg2YWViMjJhIGxlZ2FjeS10cnVuaworMTYxNzggZGE2MTA5MzA2MzhiNDc4NTk5NjYxOWM5Y2MyYWYwOGVmYTc5NjU5YSBsZWdhY3ktdHJ1bmsKKzE2MTc5IDcwZTRjYmZjM2IyNDc5YzhlYWUzOTRhMGNhZGMwNWY5NWEzZTQ1Y2MgbGVnYWN5LXRydW5rCisxNjE4MCA4NTUyMGMyMjAwNjdhMjlhYjFhNmJkMWQ1ZTdlYjZlZGY3Mjk4NDZkIGxlZ2FjeS10cnVuaworMTYxODEgZGI5MzkyYTA0YmVkNDIxY2U5ZTAyNjZmMDVkZDQ4NGVlYTFkNWZhZCBsZWdhY3ktdHJ1bmsKKzE2MTgyIGQzZjFlZWZkY2IzYTljYTE2YjEyOTRmYWQwM2FiYTQyZmU0NjljNjcgbGVnYWN5LXRydW5rCisxNjE4MyAzNDZkZjE5MjA4NzM3YWJkZWI2YzkzZGYzZGM3ODQ0MDM1ODQ1NTk3IGxlZ2FjeS10cnVuaworMTYxODQgYWEzZDNiZWNlNzc0NTQ1ZDIyZjYxOGY3M2Q4NzgzYjgzOWI4MDMwOSBsZWdhY3ktdHJ1bmsKKzE2MTg1IGE4NzgwM2ViOWRmYjE0NDdmNTlmZjY1NDFiZjYzYmMwZmZlNTY3MzcgbGVnYWN5LXRydW5rCisxNjE4NiA2NGExNGJhNzQ2NDEzODUzZjAwZDk1ZjY4YzNjMjIxOWNkZDNhNmI3IGxlZ2FjeS10cnVuaworMTYxODcgMjYzYjQ0OTI4NDRhMjA2YTNiOTU0YjcxMzg1ODllNzNjNjIyYmI4NCBsZWdhY3ktdHJ1bmsKKzE2MTg4IDVlYmFkNjg5YjdhNzkyMjRlMDdhNDc0YzA5NmE3NjdlNzM0OGEzODcgbGVnYWN5LXRydW5rCisxNjE4OSA2MThhNzI4MGY2YmU1MGI5NzY3Zjk3NjcyOWM1NzFiYzQzZmI4NDFhIGxlZ2FjeS10cnVuaworMTYxOTAgMGQ2YWYzMDNhODZjYjRkMzY3NzZlOTRkODlhZTlkN2ZkNzg2ZTIxNiBsZWdhY3ktdHJ1bmsKKzE2MTkxIDhhM2Q1MGVkMDZmNzk3YzczNzA2NDQyY2QzMDEwZWVkOWVmNWZkMWIgbGVnYWN5LXRydW5rCisxNjE5MiAwODhjNWYzYjcwOTRjOTU5MjQ5OWRiYTUyODQ2ZjVmYzdiYWRkZmQzIGxlZ2FjeS10cnVuaworMTYxOTMgYzcxMTE4Yjc4MDU5NGJiYmE5MTgwNzE2ZjQwY2Q1OWE3OTA5MGNkZCBsZWdhY3ktdHJ1bmsKKzE2MTk0IGQxNzY2NGJkOWI2NTdlYzU0YmJhNmZjOWIyYmIyYjgyZDAyYWY5ZDMgbGVnYWN5LXRydW5rCisxNjE5NSBmYzc4ZTVhNzgxMmE1MTBhNTk1ODk2NGFlMTYwZTczNjdkMWMyMzA4IGxlZ2FjeS10cnVuaworMTYxOTYgY2RlMjczMThjZjg3YjViZTgyYzE2MjgxNzEyMmQwY2U1YjY4ZGFlMSBsZWdhY3ktdHJ1bmsKKzE2MTk3IDdlM2NkOTQ4MGY2NjM4YWMxNDY0ZTA3MzlmZmMwN2IwMWM2NTk0OWMgbGVnYWN5LXRydW5rCisxNjE5OCBiYzllMjJhZDVjNDYwODExODJiOWIzNjc4MmExMWNlZDc3NTkwMjI1IGxlZ2FjeS10cnVuaworMTYxOTkgOWZkMzMzNjkzMzUwODFkYjc0YjhmZTI1MmZmZTY5NjA5ZDdiYWU4ZSBsZWdhY3ktdHJ1bmsKKzE2MjAwIGRkZjA3NGVjNjUwNjNmODgxYTNkMzFlZjEyNjhkMDg3MzdkNGRlZTkgbGVnYWN5LXRydW5rCisxNjIwMSA5NjhhMDA2ZTU0ODBjMjY4Y2MwODZjZDM3OTY2MjdkMzk2NmUzZjFmIGxlZ2FjeS10cnVuaworMTYyMDIgZjhkMDg0ZTNmOGVjZjFmODNlYTViMjBiZGUyMTMzMWMxMjY0OTcwMiBsZWdhY3ktdHJ1bmsKKzE2MjAzIDVlZGVlNjg3ODk0MzI2MmI3ZDAwNmVjZDBjNDgzNWI4NWJhOTE5MjcgbGVnYWN5LXRydW5rCisxNjIwNCBlZDcyMDY3YWFjMDMyODg0MTMzNTYwZGNiMzQyMzAwNWYyYmRmY2Q2IGxlZ2FjeS10cnVuaworMTYyMDUgN2U1OGMwNjBkNTM0MmQ0ODMyMjI2N2Y0ODg1OTI0Zjk5OTMzMzA2NyBsZWdhY3ktdHJ1bmsKKzE2MjA2IDU3MDlkZGJhNDIzY2M4ZGJmZWRjMTU1OGM4YTZmZjhhZWE5NGQwNjcgbGVnYWN5LXRydW5rCisxNjIwNyAwOTFjYTZiOTM0OGY1MGQ1MThmM2Y2NDVmNzAwNGRiYTZkYjQ0ZDFhIGxlZ2FjeS10cnVuaworMTYyMDggMjNmOTY4OWFjZTUwNjM3N2JjMmU4YjUyZjE3YTY4YzVlMGYxNGJhNCBsZWdhY3ktdHJ1bmsKKzE2MjA5IGE4OWY3ZjI2OGRlNDVmMTE0M2I0ZDliNDFmNjE0NzE1OWM0ZGRiZjMgbGVnYWN5LXRydW5rCisxNjIxMCAzZTEwYWM3YTViZjM2ZmQzYzc2NzM3MzY5NzU2NDhjMTk2ZGIzYWY3IGxlZ2FjeS10cnVuaworMTYyMTEgMDQwOWE5OGNkNTgyZTM2NzVjMzAyNWU4ODlkNzJmZDQzZTVmNzFkNiBsZWdhY3ktdHJ1bmsKKzE2MjEyIDRhZDI2OTY4NjYyYmUwNjI2NjJiNmIyYjdmMmYyZWMyM2Y5NzJhOGUgbGVnYWN5LXRydW5rCisxNjIxMyA4MDhiNDQ2YWY5N2M3NjM2MTFlYTdhODlhYjg2ZWIzM2E5MmE5ZjNiIGxlZ2FjeS10cnVuaworMTYyMTQgZWQ0ZjdhMjJlOTI4Y2FhMjMzY2Q5MjJmNTcyZWU2MzBlZDg5Y2U1YyBsZWdhY3ktdHJ1bmsKKzE2MjE1IGQ2MTk4ZTcwMzYwMmJlMzA3MGIxNjA4Mjc5ZjBkNTBkMTM1YjljODkgbGVnYWN5LXRydW5rCisxNjIxNiBmY2M3NWEzNzQ4ZjU0MTk2NzBmOWQzZGEwODIyYzg0MjQ5NDE4ZTkzIGxlZ2FjeS10cnVuaworMTYyMTcgNDMxNTM4ZmZiM2FkMzIxNDY1YTExZDQ4YTI5Zjg5NTE3MDdiNDI1ZiBsZWdhY3ktdHJ1bmsKKzE2MjE4IDYyMTEzMTVlYjU5MmNlZDJkYTM3OWZiMWNiY2QzOWFhZTJiZDNiMWEgbGVnYWN5LXRydW5rCisxNjIxOSBlZjJlYmIzYjBjNjQ3ZmZhYzFlY2ZlOWU4MjM1MDQ3ZGRkOGQ3NjllIGxlZ2FjeS10cnVuaworMTYyMjAgNzkwOGVjODU1NjY1ZGNiZDRkMjZjNDI0ZjZhNmJlYTJlMzUzZjRkYSBsZWdhY3ktdHJ1bmsKKzE2MjIxIDBmOTVjOTNmMjAwYmRlZWIyZjA1YTk0ZjQxYTk1ZGE4NzY3NmNlYWMgbGVnYWN5LXRydW5rCisxNjIyMiBlNmQxN2YxNWFlNmFlZmFlOTViOWExNDEyMjNkMDlmOTUzMWQxNjc1IGxlZ2FjeS10cnVuaworMTYyMjMgZjZjZGVhYzQ0YTEwNTI4ZGU2MjQyMDM4NThhMDZmOTRjNjE2NzFjMSBsZWdhY3ktdHJ1bmsKKzE2MjI0IDRjZjBkZTI5YzA4YzcxYWJlZTk1YjkxZWY3ZTZiMzBhNDcwNzA1M2UgbGVnYWN5LXRydW5rCisxNjIyNSBiNzA2NmJiNzk1ODEwY2IxOTRmYTEwNTEwM2Q4MWM3YWU5OGQ4OGZlIGxlZ2FjeS10cnVuaworMTYyMjYgZWE4MjM1ZWRmYzk2MTU4MzcyZmE5OWI4Yzg2NDg0YjEzYTE4NTM2NiBsZWdhY3ktdHJ1bmsKKzE2MjI3IDhlOTJkOTQxZTA3ZjUwNDQ5Yzg3YmRiYzU3MTJhNjg2NDhmZGNiZjMgbGVnYWN5LXRydW5rCisxNjIyOCBiZmFkZDM2M2EyMDBhMzFhNjhmMTIxODU4YmI5MTRlZTdmYWRkNDNkIGxlZ2FjeS10cnVuaworMTYyMjkgNjY5MDM3NGExZGMxYTVhMGVhYjgwNGRlNjkwOTVmMThhNTJlMjkwYSBsZWdhY3ktdHJ1bmsKKzE2MjMwIGI5MDdlYmYzYjA1MmI5MzIxNDQ2NGQ4Y2JmNTJjYzkyMjI3N2U4NDggbGVnYWN5LXRydW5rCisxNjIzMSBkZDdlMTM5MTUzMjhmYzlhNTkxNzRiODgxOWUzYzA4NjIyMjU3MDBmIGxlZ2FjeS10cnVuaworMTYyMzIgNzViMGU4Y2IwNzgzMWQzZGZjZmRkY2Q5MjcyYzRlNzdhNDgyNjliMiBsZWdhY3ktdHJ1bmsKKzE2MjMzIGRmMTg5ZjljZDAxMGRlYTBlZmNkODk5ZjIyNDAxOTQwYTA3OTkxNjcgbGVnYWN5LXRydW5rCisxNjIzNCBkYmU4M2ZkMjMzOTNhMjEwOTk5YWFiNDQyMmQwMWE5NjdmYmEyMzJkIGxlZ2FjeS10cnVuaworMTYyMzUgMzFiMWY2OTFhN2Q5MTg5ZTdiNzc5ZWVhMjY4YTUyMmVmMWZiYTcyMSBsZWdhY3ktdHJ1bmsKKzE2MjM2IGUxYjA3MGQ3MTYyYzhkZTc2NmFiYjQzODJjNmQyZGQ3M2JjN2RmMzkgbGVnYWN5LXRydW5rCisxNjIzNyAyZmYyNzg1ZTUyOTE5YzFjYzYxYzVjYzEwZThhM2U1ZjYwZjQ3OWJkIGxlZ2FjeS10cnVuaworMTYyMzggOGY2NmM1ZmZhMjZjODYwNTI1M2M0ZDQ1MWM3OTRlYjc1MGI0NDlmNyBsZWdhY3ktdHJ1bmsKKzE2MjM5IDE2MjJiYjI0ZGE1NTY2NGQzOGQ0NTgyMGViYWMwMmJiODliYzQzNjYgbGVnYWN5LXRydW5rCisxNjI0MCA3MGQzNTFmY2I4ZDU5MDBjODZlYWJmYjI0Yzc1MmM2MGZlNzk3OThlIGxlZ2FjeS10cnVuaworMTYyNDEgOTNhZTM0YWEyMGFiMzYzNTY3YjFhMmUwY2I0M2Q4OGMzZWVkMDkwYyBsZWdhY3ktdHJ1bmsKKzE2MjQyIDYwODRmOGQzYTgyNWMwYTc2NDdiMjQyZjNiOGFkZDVhMzAwN2Y5NTUgbGVnYWN5LXRydW5rCisxNjI0MyAzYWJlY2IzNDczN2ZjYzgwNmVkZDIyZGNjNmI5Mjk0YWVmN2Q2YmEwIGxlZ2FjeS10cnVuaworMTYyNDQgMDAwYTFjN2ViMDlmYmNmYTg4ZmE0M2U2YzJlZTBlNTkzNDg2NjI3YyBsZWdhY3ktdHJ1bmsKKzE2MjQ1IDg3ZjgzOTY4NTFiMmFhNjVmMTRhNTNjYjk1NDU0ZTBmMmU4MDkyYjYgbGVnYWN5LXRydW5rCisxNjI0NiA2N2ZkMTlkNzQ1MjgxOGQ2OTRhYjZiNGI5Njg1OTkyZGJlMDY1MmQ3IGxlZ2FjeS10cnVuaworMTYyNDcgZTRlYzc3ODc5ZGRkMDJlZDg4YTI2NTY1ZjRhMTMzZmFhMjI1NzQ4ZSBsZWdhY3ktdHJ1bmsKKzE2MjQ4IDMyYjY4NmRhM2U1MTkxM2E3NDc0MmFkYjcxYjNlMjRkMTA3YjhjMTEgbGVnYWN5LXRydW5rCisxNjI0OSA4NDI0ZWM0YzRiYjIwMzBjZTM2MTI5YzgxNjVhYTgxYTYyMzBjMzJjIGxlZ2FjeS10cnVuaworMTYyNTAgYjMxMzExYTc4YTVkYTY1MzE3Mjk1MWJmMTE0ODFlZWRmZGUyM2I2NiBsZWdhY3ktdHJ1bmsKKzE2MjUxIGY1MGJkY2IwZGQwZWFlMDFkOTAwNmUxMmZmMmJhYmIwZjQyYjM0ZWYgbGVnYWN5LXRydW5rCisxNjI1MiBjYjUzOTgyNDQ0OGU4NWUyYjUzY2YyYjVmYWM4ZDI1ZjI4OWZjZWMzIGxlZ2FjeS10cnVuaworMTYyNTMgNWRhODQ1NmYyZTRkMzQ0MzdiYzI5ZjBiOWY4YTlhMTI0ZDk3ODc5YSBsZWdhY3ktdHJ1bmsKKzE2MjU0IDUwODdkMWQ0NWYxZGE2NmNlZTdmNTE1MjM5NzZhZTZjZjFjYmJmOTggbGVnYWN5LXRydW5rCisxNjI1NSA4YmFjZjg2MzFhMTFjZWNlNTgwZGUzNmQzMzdmN2YwYzk3MDk0YjI5IGxlZ2FjeS10cnVuaworMTYyNTYgNGFhMTJlNTViZjk1ZDFkZjIyM2I2NDBhYTE2MGYwODI2YTNkYWY2ZiBsZWdhY3ktdHJ1bmsKKzE2MjU3IDQyM2E1Yjk1MGNjOTgzY2EyOTU0MDhiMjViNjc1NjVlODMwNThmNTMgbGVnYWN5LXRydW5rCisxNjI1OCAwM2JjNTFlNDNmN2FmNzU1YmVlMGEyZDcyOTlhMmM4ODZlMDczMmE0IGxlZ2FjeS10cnVuaworMTYyNTkgOTU0NTRiNzNlYTkxZDNkNmJhMmRmNzMxM2MwZWU1MDYzNzQxMjlmYyBsZWdhY3ktdHJ1bmsKKzE2MjYwIGM4MzA4NTRmYTUwN2FkZGE4M2Q1ZjY0YjlkYTc0MWM4ODdjZjMwYjMgbGVnYWN5LXRydW5rCisxNjI2MSAwNDY3OTlhMDgwNTdjMjlmYjlkZjhmMDJmMDdjMjE4YjZkMDY3ODc3IGxlZ2FjeS10cnVuaworMTYyNjIgZDljYzYyMGZmMTg2ZWY4YWFmYjYxYWU1ZTM4Y2I2NWVlZjk1YTkxMCBsZWdhY3ktdHJ1bmsKKzE2MjYzIGNhMzJmZjdhMDY3ZTY5NWMxZDNiMjJmNTlhOGIyYjE3MmVjY2EzY2IgbGVnYWN5LXRydW5rCisxNjI2NCA3MzQ4Y2NlZWU4ZmFhOWQ0Yjg3NTViYjRmMjg2OTM5ZjQ2MWFkMjQxIGxlZ2FjeS10cnVuaworMTYyNjUgNjQ4NDA5OGY0MGZjM2QyNDhkNGQ1ZGIyYTUyNWYwYzY3OGMyNTVkOCBsZWdhY3ktdHJ1bmsKKzE2MjY2IDgyNTZkNjE5OGVjMmY3Yjg5YjI0N2Q5MmZjMDE1MWIyNGFjM2UwOWQgbGVnYWN5LXRydW5rCisxNjI2NyAwZWRlYjRlZmU2ZGJjMzljZTc3OWIzZTMyNzEyYTg2M2NjMzk3YjQxIGxlZ2FjeS10cnVuaworMTYyNjggODZiMzY3ZDJlN2FmYWJjZjA3YmIwZmEwZjJiYmE4Mzg5MjYyMjI0NiBsZWdhY3ktdHJ1bmsKKzE2MjY5IGMwNWViOTAyZTU2MDBkNWU1MGQ1NWQwZTQ2YzgxODZmNTczYmQ0ODEgbGVnYWN5LXRydW5rCisxNjI3MCA3YjBmNDQ4M2MzMzE3NjA0ZDQ5YjM3Y2ViMmM5YTYwMGY3Yjg1MmY4IGxlZ2FjeS10cnVuaworMTYyNzEgZmE3NDE5ODhkYjE3ODVkODMzYTg2YWQ3NzIwMjgyOTZlYjA4M2IzOSBsZWdhY3ktdHJ1bmsKKzE2MjcyIGQwMTg0ODUyNzFmYjRlMDAyYzcyMThlZDE5MjliNzg4ZGY4NzQ2NWIgbGVnYWN5LXRydW5rCisxNjI3MyAxODM5NWNhNWMzMGVmYmI3ZTIxZTFiNDY1MDg1MGQwM2Y0ODk3ZWE3IGxlZ2FjeS10cnVuaworMTYyNzQgOWE0MGYxOGYwNTYxZmZmMmM2NGI0OGI3OWRhMmY5MWJiOGRjMDA3MiBsZWdhY3ktdHJ1bmsKKzE2Mjc1IDYwNTdmNDRiMGI3YWM1Y2M0Nzk5MTQ1ZTY0NTE2OWUzOWE3ZjI2ZTYgbGVnYWN5LXRydW5rCisxNjI3NiA1MzA0Yjg4ZmUzY2NmMDc5ZTU2NDM1ZmI2MTUzMjE3ODgwNzQ4N2NlIGxlZ2FjeS10cnVuaworMTYyNzcgY2Q3YWJiNGZlYjFiYTZmM2Y1YTNhYWMzZmQ3OGZlNjE4YjBjMmE0YiBsZWdhY3ktdHJ1bmsKKzE2Mjc4IGU0NGNhNjFkYjcxNTg0ZjU0YmQwM2QwNDllNGZmNjAyZmM1NTY5YjIgbGVnYWN5LXRydW5rCisxNjI3OSA0ZjExMDQ0MWRiMzkxODJhYTM3MWIyOWIyNDVlMTkzM2U4ZTcxNjI0IGxlZ2FjeS10cnVuaworMTYyODAgODY3MDQ0MzJkMjgzYTVkNGE3ZGM1MDk2M2YyOGUzNzMzZmI5Zjk0MyBsZWdhY3ktdHJ1bmsKKzE2MjgxIDA3MGU0MWYyNjk3YjZjZjk3NmU4MTBjMDM0NmJjZmNiMTcwNzhjNDEgbGVnYWN5LXRydW5rCisxNjI4MiAyN2Q4N2UwNzJiZmIwNTJjOTk3MmNmZDRhYzNlNjk4MjkxNjkzZGYwIGxlZ2FjeS10cnVuaworMTYyODMgNGRiYzc1YzE4OWJjZWQ5Y2UwNjM1ZmQ4Y2I2N2Q2NjNiODQzNWVhMyBsZWdhY3ktdHJ1bmsKKzE2Mjg0IGFjYzQ2MzhmMzdkNTdhNjBlMjVhZTg3NzNmN2Y5NzhjN2Q1NjZlNmIgbGVnYWN5LXRydW5rCisxNjI4NSAwMjQ3NGRmNTQ2ZjYwMGEzZGFmMjc3NWNmMTQ4MWYyOWFjMzEzYWJjIGxlZ2FjeS10cnVuaworMTYyODYgMTZlNDkwNDYyZTZiZjE5OGQxNTE3ODY3ZjBkMDQ4ZDdjZWU0MDdmZiBsZWdhY3ktdHJ1bmsKKzE2Mjg3IGYzMzZhMjY3YTJhMjU2Mjk2NGNiOTdhNWJmODg2NTE5M2JhNThlYjAgbGVnYWN5LXRydW5rCisxNjI4OCAzNjg2ZDEyMzYyYjhjMDk2MGZiOTdkNTQ0YmQ0NTQ4NTNkZTM0ZjZiIGxlZ2FjeS10cnVuaworMTYyODkgMDdjMzExODJmMjM3MWQwNDEyM2NhZDkyY2Y1NWMxMjU5MGI5NzZjMCBsZWdhY3ktdHJ1bmsKKzE2MjkwIGU4NDhkNmVkM2ViOWQwM2M2MjYyMmQxYWY0OTI5N2U2MWNlNzE2OTAgbGVnYWN5LXRydW5rCisxNjI5MSBiYWJhZTkxMGMyZTEzYTM2MjI5ZjhmNjk3NGJmYTJjMTM2YzYyMDkzIGxlZ2FjeS10cnVuaworMTYyOTIgZWQ1NjViMGZlNjQ4NDE3OGIxYjNhODQ3ODcxOWU2YTU5ODlkYzNhYyBsZWdhY3ktdHJ1bmsKKzE2MjkzIDMwNDk1ZDczYjk0MzYxNWE2NDdmZjM1ZTExYmRjNjFhMGRhZTRjYjAgbGVnYWN5LXRydW5rCisxNjI5NCBiMDYzNmE1MjdhODc5OTlhZGY5MzEwMjU0MDFmYTI1MTBmYmUzNmY3IGxlZ2FjeS10cnVuaworMTYyOTUgMWU3YzMyYmRkYjhmNzAwNDM0ZmI1M2Y5ODU2ZTUwZjBjMjcyMjNjMiBsZWdhY3ktdHJ1bmsKKzE2Mjk2IDQ3ZmVjNDhjYTQ5NTk0NjliMWM2ODY5ZTI0OTVjNWYwNjE0YTE1NGEgbGVnYWN5LXRydW5rCisxNjI5NyA4YjEzNDVmZjk4MDEzZjkyZjhlZDg3Y2MzNDU5OWU1YzRlZDUyMzk4IGxlZ2FjeS10cnVuaworMTYyOTggOTdjZDQ3MzYzOTJjMTc3NzliMGM5NzE2ZDg3NzM4NGFiYjk3MjdlMCBsZWdhY3ktdHJ1bmsKKzE2Mjk5IGI5ZjlkYTFhM2ZjNDczZjUxMzA1NzkyNDUxYmNhYWUzNDUxODQxYzYgbGVnYWN5LXRydW5rCisxNjMwMCA0MjI4Nzc1ZDQ1NWVkNTdiMTRhOTliMmFkNjllNjMwODFkMTEyYWI2IGxlZ2FjeS10cnVuaworMTYzMDEgZmVhYjY3NzI2OWUwOGMxNWVjMGZhYTk1ZWY2OTM3ZmJiMzVkZDg5YiBsZWdhY3ktdHJ1bmsKKzE2MzAyIDA2MTVkY2VmMDI0ZGUwNWQzNjEyNzc1NDBiZGFjZTFkNmZjNzljNjAgbGVnYWN5LXRydW5rCisxNjMwMyA5ZGJlZTRiNGMwM2ZkYWM4ZDNiM2U2MmI2ZDUzZGVjMGQ2NzAyNDM1IGxlZ2FjeS10cnVuaworMTYzMDQgZGRkNjEzOGM5ZTZmZTc2MmRiYTFlNzMxY2FmODA3MGEzMzNmMGE1ZSBsZWdhY3ktdHJ1bmsKKzE2MzA1IDdhYTUxZWJmNDgzZjk5MmQzZTQ5MDI2YThiZDc0OWEwNjRkMzcwNDEgbGVnYWN5LXRydW5rCisxNjMwNiAzY2Y0ZjVhZWUwMGUyZmFjM2ZkNDA5NGNiYjYwZmJmZTZiZDdlNWEzIGxlZ2FjeS10cnVuaworMTYzMDcgMWQ2NjMwNzkyMjEyNTkxMWE2M2VjNTBkMjg5MjAyOGM1MmI5YmRlYyBsZWdhY3ktdHJ1bmsKKzE2MzA4IDFmODJhNGJmZDI5NDU1OGU1YTgxOGI3ODE4MTA5Y2U1YTc0MTMyZmEgbGVnYWN5LXRydW5rCisxNjMwOSBkYjk2M2E2MTViYzkzMTJjMWM5NmMzMTM0MTM5MjA5MmUwMmFiZjIyIGxlZ2FjeS10cnVuaworMTYzMTAgZDhiODc0OWRlMDRhYmE2MWQ2OTgxZjhhOTAxY2UzZjkzOTVkYjQyZCBsZWdhY3ktdHJ1bmsKKzE2MzExIDMzMzg4OTI3YWMyZmFhNzkwMWZhNjQ1ZmZkZTA1YmExZjRmZDljMTAgbGVnYWN5LXRydW5rCisxNjMxMiA5NWI5ZGRiMDAzNTIzZTM2N2ViYjY4ZTdjNzI0YmNiMjI3MTRjZjk4IGxlZ2FjeS10cnVuaworMTYzMTMgMTViMThlMGNjM2ZkMjQ4MjkwMDgzODlhNmYzN2IzNGMyN2M1NjhjOSBsZWdhY3ktdHJ1bmsKKzE2MzE0IGRkMmI1MjE4ZTA2OWVhMjllODhiZDMwZTBjNGZiOWM0MmQ3NDcwYTcgbGVnYWN5LXRydW5rCisxNjMxNSA2MzFiNmEwM2MxNjBlYjljMzJhNjA4ZTAzMTkxMDIyYTM1MTJmOTM4IGxlZ2FjeS10cnVuaworMTYzMTYgOTA2ZWZjMWRhMjQ3YTM2MTU3MWZmMWJkZmNjYjg3ZTIxMTRiZjM5ZSBsZWdhY3ktdHJ1bmsKKzE2MzE3IDljNzRiODIzOWZmODBmODcyZDc5NzU3ZTBkN2Y1MWU2ZmM0MTk2MzQgbGVnYWN5LXRydW5rCisxNjMxOCAzN2IxYTM5NjA2Y2U4YmZiNGE3ZTgwMzZkNDNlMjNiZWJjOTM0ZmVhIGxlZ2FjeS10cnVuaworMTYzMTkgYzM5NmI2MDI2MTdkYzQ2MGI3NzlkMTg1MDlmMmUwYTM1Y2IzNmI3OCBsZWdhY3ktdHJ1bmsKKzE2MzIwIDZhNDQzNmQ2OTU4YjBjNjc0OTNlYzM2Mjc0NTE1ZWI4NDhiZmM1MGEgbGVnYWN5LXRydW5rCisxNjMyMSBiNzg2NTM2ZjIxYWNiZjgzODEwMTlkZjRlZjA3MmU0ZmYyMzI2MjMxIGxlZ2FjeS10cnVuaworMTYzMjIgNjk4N2U5NDUwNjE5YjdjYmRlN2ZjNzRlNzlkNDAwNDlhOTVlYTliMSBsZWdhY3ktdHJ1bmsKKzE2MzIzIGVhNzMyNzE5YjNmZDA3YzAxNDMxMmNkMTNjYzU2MzliY2ExNGEyNzMgbGVnYWN5LXRydW5rCisxNjMyNCA5MTlmM2Q1MTcyYTk1ZWYzM2RjNTEwMmY0ZTRhZmNjZmU5ODhlYmVmIGxlZ2FjeS10cnVuaworMTYzMjUgZDFmNmI2NTYxMDNiMmMyMDA4ZmMyNzA4M2U0MmIxNWZlNWRkZDIwNyBsZWdhY3ktdHJ1bmsKKzE2MzI2IDc5OTFhZWIzNTk4ZmViMmVlN2IxYzdkNGY3ZTRmMWM3ZjBiNWI4MzggbGVnYWN5LXRydW5rCisxNjMyNyBlNTU4ZWIyMjhhNDYzZjU0ZGQ1Y2VhOWNkZGU5ZmQwZTFjOTgzMmNkIGxlZ2FjeS10cnVuaworMTYzMjggNDdhOTQ3MTk1NmFmOWJmYWJkMTZlZDFjZWU4Njk2MmExYzgwMTgwZiBsZWdhY3ktdHJ1bmsKKzE2MzI5IGNmYjJhMGQwYTg2OTZmMzc3NDIzNDA4NjQxMmRiNDIzZWNiZmJhMmYgbGVnYWN5LXRydW5rCisxNjMzMCBhYzJiYjc3MDgzMjBkYmU0NzUyYTk5MGM5YmRhMzE5ZmJiZDk3MmMzIGxlZ2FjeS10cnVuaworMTYzMzEgNWQ2MWI2ZjJhZWEzY2RhMWE3MzEzODQzYWVlNGQwNGI0NTQ3YmJjYyBsZWdhY3ktdHJ1bmsKKzE2MzMyIGVmM2VkNzVmMTk1Yzc4MGE3ODhjNGFlODIyNjgwZjQ3MzRjYmQ3ZTggbGVnYWN5LXRydW5rCisxNjMzMyAzYThjNjcwMzA5YTIxZGI0YjE3NjZjNWRkOGRlYjZmMDk5NWE0N2M4IGxlZ2FjeS10cnVuaworMTYzMzQgZTQxN2Q5NTI4ZmQ2MTE1NDRjMWZlMTM0N2MyNjlhNGY4OWU1OTIwYiBsZWdhY3ktdHJ1bmsKKzE2MzM1IDAxYjIzMDcyY2M3Njk2NzYyMjEyNWY0YjI4MmYwY2YwYzVhNmExYzkgbGVnYWN5LXRydW5rCisxNjMzNiBjYjc2ZDdkYTY3MDI3OWUwZTY4OWY4NTRjODQ4YzQ1MWUyZjQ1OGUwIGxlZ2FjeS10cnVuaworMTYzMzcgN2MxMTlmMDUwMjkwZTNhMmQ5ZmNlMTMwODc0Y2Q5NDJiMWY3MTc2NiBsZWdhY3ktdHJ1bmsKKzE2MzM4IDYxZTRjMjlkNTNkOGQyNzdiYzhjMjQ5ZWZhMWI3M2FhZDEwZDYzYjEgbGVnYWN5LXRydW5rCisxNjMzOSAyZTQ1YjdjMjNkYzY4NjVmODE4YWZjNDFjNjQ2NDY4MjlkYjljN2MwIGxlZ2FjeS10cnVuaworMTYzNDAgYTAzMjEwMWVkOTI2NDRjMmU2MmEzNmE1ZTAxMzhhMDQ1MTNhYjg5OCBsZWdhY3ktdHJ1bmsKKzE2MzQxIGZmZDVlOGI2N2M4NDMzMmIyOGZkNDZlYmE1YTk1ZDM2NjcwNTRjOWYgbGVnYWN5LXRydW5rCisxNjM0MiBiNGI2ZjM5NjJiZDEyMzk4YmEwMzg2ZDVhMWNhNzA2ZTYyZmUwYmQwIGxlZ2FjeS10cnVuaworMTYzNDMgZTg3MWJkMDVjNmE3NDRkMjViY2ViODg0ZDJhNDRjYTE2OTkzNjVlMyBsZWdhY3ktdHJ1bmsKKzE2MzQ0IDA4NGE3NTgwNTFlMGUxYzZlMmI2ZGUwNmM2MzVjOTEwMjVlZmZmZmQgbGVnYWN5LXRydW5rCisxNjM0NSBhZDFjODI3MWI2ZjgyODg2MGU1NjZmMTMxMWQxZWExOGJiMjhiMGFkIGxlZ2FjeS10cnVuaworMTYzNDYgMjk3N2ZiYWU0Y2E1MWI0YTA0NDA4ZTBlMzAwMjc4OGNjNmU0ZWY0OSBsZWdhY3ktdHJ1bmsKKzE2MzQ3IDg5ZjkwNTg3MGMwYTkwZGU3YmFjNjc3Nzk3OGRjYzlhZWI5Y2JlYjAgbGVnYWN5LXRydW5rCisxNjM0OCAxNGNlYjE1OWU0NDk5YTM3NjZlMGEzMGYyMDhmNWJjYzczY2QzNWM5IGxlZ2FjeS10cnVuaworMTYzNDkgN2MxMjdhNzlhMzY5ZTU3NGU3YzhiYTQ3ZDFkMGMzZjFhMmJhMjIxZSBsZWdhY3ktdHJ1bmsKKzE2MzUwIDRmYWY4YzIyZGE2MGJlMmEyZDc4MWUzYjFiZGQ5NjM5ZjYxZDE1NjcgbGVnYWN5LXRydW5rCisxNjM1MSA1MDI1MTE1ZDIzY2YyYjFmMGQzMWE4OWY5ZGQ0OWZiN2EyYzg5ZmQ2IGxlZ2FjeS10cnVuaworMTYzNTIgYzUwM2Q4ZTQ3NGIzNzBjMmEzYzkwMWQwNDZkMWMyOTdlMDQzYjU4MyBsZWdhY3ktdHJ1bmsKKzE2MzUzIDIwNzdiZjE0MWIzNzdhNDQyNjg0ZGQ0MDg1Yzk2YjJmMjM2MTYwZjkgbGVnYWN5LXRydW5rCisxNjM1NCA5Y2E1MGUyNDMzZWI0MWVmMjQ5NmMzNDM0OTJiY2YxMTE4ZjNjNDVlIGxlZ2FjeS10cnVuaworMTYzNTUgZGY2NGNjMGU4NGUyYTkyYTc0ZTk2ZTQwNDE4OTNiM2IzODI5NjVmMyBsZWdhY3ktdHJ1bmsKKzE2MzU2IDU5NDliNDc1ODdkOTU1NWJhNDZkYTI1YTYxZjZjZDJhOTQyMTg5YzYgbGVnYWN5LXRydW5rCisxNjM1NyBhMTNjZWE0MzBjMTM2MGU0ZThjMmUxM2M4ZDIzMzlhM2VkOTM2ZThhIGxlZ2FjeS10cnVuaworMTYzNTggOTMwZjRiYmJkOTNhYTZkMTU1OTNmNWFmOTc2OGUzMmMxM2U5ZmU1YSBsZWdhY3ktdHJ1bmsKKzE2MzU5IDI1ODQ2OGEyMGQ3NDU3NmU1ZGQ3YjMxZDYwMjg4OGE3NTlkZTA4YmEgbGVnYWN5LXRydW5rCisxNjM2MCAwN2Q3NDAzY2ViMGYyNWFjYzNjNjRiZTNmOGEzMDA0ZTAyOTQwOWE3IGxlZ2FjeS10cnVuaworMTYzNjEgMzI2MDIyMGFhZWU0M2QyYzU3ZjY4Njc0ZmFmNTBiNDQwNDExY2UzNCBsZWdhY3ktdHJ1bmsKKzE2MzYyIDM5ZjU0YjlhN2Y5Y2I2OTYyMjQzMGUzZDk3OTYzYmM2YTg5OTc1NDUgbGVnYWN5LXRydW5rCisxNjM2MyBlZjhiMjBiOWY2ZjUzNzE4Mjc2MmMwY2M0YzY1MDhjOTVjODk4OWJmIGxlZ2FjeS10cnVuaworMTYzNjQgZDdhZWMxN2NkMGI1MDQ2YjU5NDgwZDZkNTlhNjllMGM3M2UzZWZiMSBsZWdhY3ktdHJ1bmsKKzE2MzY1IDQyYjY3MmEwOWM0YTEwM2U1NTlmZDYxMDMzYjAyZjhiNjhiODRhZTcgbGVnYWN5LXRydW5rCisxNjM2NiA0ODNlNzVlZmMxMTEyMTgwZGZhNGYwY2Q0MzAwZjI1N2RmNWI4MTJmIGxlZ2FjeS10cnVuaworMTYzNjcgZGMxN2VmMWE3NjEzODBjYmVlZTJhZmE0MjBmMTdmMjgyYTQ0ODEwYyBsZWdhY3ktdHJ1bmsKKzE2MzY4IGM5YTRhMTMxNjE3MDgwOTBiMDczZjg0Nzk2ZmIzOGIxYzM0YjA3OGEgbGVnYWN5LXRydW5rCisxNjM2OSA1NTgzY2ZhNmQyYjBmM2NkYjE0M2I0OWFkMDQ4N2E0YzMyODBlNzU3IGxlZ2FjeS10cnVuaworMTYzNzAgYTkwMWMyYzAxNjZiYWE2YTE5NTI4OWJlYzMzNWUzMGMzOTFjYmM0YSBsZWdhY3ktdHJ1bmsKKzE2MzcxIDI5NTk4N2YzZmJkMjIwMTI3NDE5OWE0ZWRlZGMxODhlYWQyNzE0OGYgbGVnYWN5LXRydW5rCisxNjM3MiAyZWNhNDA1MWYwNWNiNWY5NDE1YWY5ZDZiMjkyYzJhNDAwZDAxYzE2IGxlZ2FjeS10cnVuaworMTYzNzMgODhiNGYzYjUwOGRhYTU5ODliNWMyNjk0M2VhOWRhYTg0NzU0MTZhZCBsZWdhY3ktdHJ1bmsKKzE2Mzc0IGYzNDAxZWQxMzJhMTRjZmY0YTYyODNlZjM3MGJjY2VhZmUxNTMwODkgbGVnYWN5LXRydW5rCisxNjM3NSAyNjA3NWMwM2YwMjI3OTU5NWIwMmIyNzU1Zjc4MjM5ODkyNjQwZjdkIGxlZ2FjeS10cnVuaworMTYzNzYgZTc4ZWRjM2NmYWU2ZWFlNzMyMzZkODcwODU2ZDUxNjFjMjVmZGUyNSBsZWdhY3ktdHJ1bmsKKzE2Mzc3IDg3YTQxNmQ5ZDliNmY3NDAxNTRlNmUzYTBlMzg1YmRkOWMzNTg1YWEgbGVnYWN5LXRydW5rCisxNjM3OCBmN2Q5ZTYxODVmNjIyMmMxZWIyZDc0ZmI0ZTZiM2E2OWRjODY4ZmMyIGxlZ2FjeS10cnVuaworMTYzNzkgZmE4OTQ5NjU4NGM2MjdiM2ZkZWMyMzJkMzJkZWU2NWEzNTMwMjdmZiBsZWdhY3ktdHJ1bmsKKzE2MzgwIDA4Njk0N2NkMjAyY2MxMzU2ZWExODNkNzA4ZDM4ZDE0YmJhOWFmZDAgbGVnYWN5LXRydW5rCisxNjM4MSBiNzQ1NDhhOTBhNjNjMDM2OWVkZDI0NzkyOWNmNzVhNTIyZjRhZjJjIGxlZ2FjeS10cnVuaworMTYzODIgNWI3MjdhYjM3MDkyZDU3MmFhNzg5NGY2MzljY2UxMDBjNjg5OGYxMSBsZWdhY3ktdHJ1bmsKKzE2Mzg0IGYxMWM0NzI3NjRhZDM3MTcxN2NhMTllMzE2ODIxNGU5MGVhZWQwNzUgbGVnYWN5LXRydW5rCisxNjM4NSAzNzkxOTY3Y2IzMmVmODZmYzQ5MTQ1MTcwMDIwYTg3NmEzM2RkMzNiIGxlZ2FjeS10cnVuaworMTYzODYgMTY3ZGU0OTUzODEyZmFjYWE2YWQxYmYyMDMwMjQyYmVhZWQwNmE5MyBsZWdhY3ktdHJ1bmsKKzE2Mzg3IDgzYTU5NWU2OTFlNDI2MmI3YzI0MmI2MGNiODVhZGVmZGEzMDdlNWMgbGVnYWN5LXRydW5rCisxNjM4OCBmZGZkMTA0OWYzNmU5NDNlN2Q1OTQ2OGVkOGE0ZTk0ZDM1ZjQ5ZTQ5IGxlZ2FjeS10cnVuaworMTYzODkgZjRkYTQzNTVhY2RlNjJmZTYyY2E2NmRiMzBjOGE3ZjdkMmVhZDdjYiBsZWdhY3ktdHJ1bmsKKzE2MzkwIGY0MDg0ZjQ0M2YzMTlkYTU5OTRhNTcyMjcwYjYxZTc1YzEyNjRiNDQgbGVnYWN5LXRydW5rCisxNjM5MSBkNmQyM2Q1ZTI5NmQ0MmY0YWNhYmY1MTBkNzczMjY2NmZkYWI1ZDZhIGxlZ2FjeS10cnVuaworMTYzOTIgYTFhZDc5MWUxODIxODJlZTZjNzE0MTQ4ZTg4MWRhOTg0MmY2NDYwMyBsZWdhY3ktdHJ1bmsKKzE2MzkzIDczYzY2MWJlMWVhM2RlNjNmNzM4NmRmNzkzODk4MTZmMjNhY2I5MmQgbGVnYWN5LXRydW5rCisxNjM5NCBmZjgyZmQ0MjJmMWMxYTMyOGQyZTNhYjE2NGE5MTgxM2U5ZjViYjUwIGxlZ2FjeS10cnVuaworMTYzOTUgMDg1OTYwN2NhM2U1M2JhYWYzNTFjZDhlYmFkZjNiNTU4YTA5ZTUzYSBsZWdhY3ktdHJ1bmsKKzE2Mzk2IGUxNDY5YjdhMmU2OGRiMjkyNmUyMDkwYjc0MTJiNTllMmNlYWFhYWYgbGVnYWN5LXRydW5rCisxNjM5NyA2ZjBkOTZlNmI1YTUxM2NiN2IxNDA3ZjNjNjEyYzM0ZmFmNzQ0ZDY1IGxlZ2FjeS10cnVuaworMTYzOTggZGZiN2VjZmZmZTNkNWIxYzY2YjY0YjdmMTJhOTU3NjI3NGFkMjg0NyBsZWdhY3ktdHJ1bmsKKzE2Mzk5IGI1MTIwZjU4YzVkYTU4MzEwZjhkZjdjMWNlNmZkNjA1YTRjYjE4YzIgbGVnYWN5LXRydW5rCisxNjQwMCBkOTAxYzQzZTdkNThjZTk5ZjdhZjg0OTBjMmIzNGM4M2ZmZGFlMzdjIGxlZ2FjeS10cnVuaworMTY0MDEgNTgzOThjMGY5NDhiYzg5Njc2Mzc4OTA5YmRhMTQ0OWE0MWM1ODg0NiBsZWdhY3ktdHJ1bmsKKzE2NDAyIGUyZTI1ZWVlNmE0YjE0N2I4Y2QzMzM3OTI3Y2UzMTgxMWQ2ZTc5MmMgbGVnYWN5LXRydW5rCisxNjQwMyAzNzE4ZTUzOThmYWQzNGI3NjgyYTkxNjJjYTdkZmM0ODBmODViNjlmIGxlZ2FjeS10cnVuaworMTY0MDQgMzhlYTI3NDU1Y2JiM2NiODg3NGE4OTg2Mjc2MjUwYTdmYmVjNDc2NSBsZWdhY3ktdHJ1bmsKKzE2NDA1IGRhY2M5ZjE2N2U5NTlmZjcwYjZiZmZmNmRhZDgyMjgyYTQwZmVkMzQgbGVnYWN5LXRydW5rCisxNjQwNiAxNTI4YmMzYWM3M2Q1MDMxOTQ4YzZlNDNjYzg4OGQwZTdiNzQyM2Y1IGxlZ2FjeS10cnVuaworMTY0MDcgMmQ1YWEyMTJhMzIyYjJmOTk1ODMzNzIzMDZlNDNhZTQ2ZmVjMTU4OCBsZWdhY3ktdHJ1bmsKKzE2NDA4IDBjMDhkZmE2MzRjMzRlNDdiYzMzNmM1NTg1Y2ZhYWNjYjNkMjFmMGUgbGVnYWN5LXRydW5rCisxNjQwOSA1MjU5NWI3MGE1Njg0ODhmYTM1Njk1YmE5MWIwNTk5ZDI1ODQzZDA1IGxlZ2FjeS10cnVuaworMTY0MTAgYjJmYmQ5ZmNlMDVlNWU1MDA1YmUyM2Q5M2Q0ZGIzMGU3YjJmMWY2MyBsZWdhY3ktdHJ1bmsKKzE2NDExIDhlZTRhMjA5YTllZjViYWJkMWJmMTA4MDQwOGM2ZGUzZmJlOGUzYTAgbGVnYWN5LXRydW5rCisxNjQxMiBmODA1NzFiYjI5MTNlNzg3NzlhNDQxOTMxZTM2Yzk3YmY3ZGY2NDczIGxlZ2FjeS10cnVuaworMTY0MTMgM2Q2ZDIxOGI2NzNkMGNmMTQ1NWEzMDgyYTljMTBhMWU0NGRkZjhhYyBsZWdhY3ktdHJ1bmsKKzE2NDE0IDhhMDYzNDIzZTBiN2RmOTk3NDg4ZjMxZTZiYjZlYWM1N2M5NzIxMjUgbGVnYWN5LXRydW5rCisxNjQxNSAxMTdkMjA5NjhhMTA0MmQwMDUxODg0NTM3N2FjMTI1YTlmYzE5MmYxIGxlZ2FjeS10cnVuaworMTY0MTYgYTc0YWE0OWIwYzM3ZmFkOWVlNmNhYTBmZGEyYjliMjE2ZDczYmE1ZCBsZWdhY3ktdHJ1bmsKKzE2NDE3IDBiYjQ5YjNkYmRmMGFjYWRiZTM2ZDBlMDBhMDZiMGZlNmU4M2FkNjIgbGVnYWN5LXRydW5rCisxNjQxOCAxMjY1MmRhNmQ2MzJiYTA4ZDI3NTBmZGUxOGM3YWM3NjgyNDI5ODFmIGxlZ2FjeS10cnVuaworMTY0MTkgOTlkZDFjOTMzMTYxNmJkYjg5NzdjZjE0MjQ5ZDkyNTBlNDU4OGY3OSBsZWdhY3ktdHJ1bmsKKzE2NDIwIDZhNTMxNGE2YzJjMjk5ZTMzYzczYzc5NGFmMzFkYTNhM2ExMDJlOGYgbGVnYWN5LXRydW5rCisxNjQyMSBmNzk0MzRlZTQxZmE4NjAxOTIxNjI0MGJhMzJiZTY2MGJjZmM1NDE5IGxlZ2FjeS10cnVuaworMTY0MjIgZTc4MTUzZTE3OWZiY2NhYTUxMjk3YTA5MTE1ZjNmN2E1YWFlNjNjOSBsZWdhY3ktdHJ1bmsKKzE2NDIzIGExY2UwNzIxODc4MTM0YjM2ZDUwZGIxMWZkODJmMDdkODQzZGZlZmMgbGVnYWN5LXRydW5rCisxNjQyNCBlZjI1ZjMyYzQ1MjM5M2YwZDRkMTAxYzMyNzM0N2ExNDNlMDE3ZWQzIGxlZ2FjeS10cnVuaworMTY0MjUgYTM4NTZhYjZiMjA2ZDdkMmNmNmJhNjc2YjBiNTE5OTdjZWFmM2Y2YiBsZWdhY3ktdHJ1bmsKKzE2NDI2IDI5ZGEzNTU0MzgzMzIxNjAzNmQ5NDE1Mjc1Y2MzZWNjNjBjZGI3YzMgbGVnYWN5LXRydW5rCisxNjQyNyBlZTEwODM0ZDY3YTM2YzRmN2IyNjMwODNkN2JhNzNmNmEyYjQ3NDE1IGxlZ2FjeS10cnVuaworMTY0MjggZWFmYjc5OTYzZWE2NGVlOTE1MDRkZGI0ZTI4ODFlMmM3ZDk1YzA0MyBsZWdhY3ktdHJ1bmsKKzE2NDI5IDM2ZGU3YjZhYjdlYjk5NDE3MDEzM2MxY2MzOWQ4ZTA3YjA2YWRjYTggbGVnYWN5LXRydW5rCisxNjQzMCBhNmM3YmZkZDY3Nzc0NjRhYmU5NDc5ZDI4MmI1NTk5YWY5OTk5OWNkIGxlZ2FjeS10cnVuaworMTY0MzEgZDdkODFlYTljODJkZTAxNzcxOWM1M2NmYzgxNzQxM2VmYjlmZjYxNiBsZWdhY3ktdHJ1bmsKKzE2NDMyIGU5NGMwNTM1MWQ0Mzc0YmVhNWQ5YTBiYjRiNjE3ZTUyYmFhZDU2YTcgbGVnYWN5LXRydW5rCisxNjQzMyA0Mzg4MjQ5NTA2ZDE5MGE3NmE0ZGJiYmM3MDI5NGVmNmJhMDY1NmQ1IGxlZ2FjeS10cnVuaworMTY0MzQgMjY2ODViZDJjMDllNjFiZjM4OTY1NWY4M2VmMTRmNDJiNTYwNTVkMyBsZWdhY3ktdHJ1bmsKKzE2NDM1IGJmYzViMmE4YzExZjVlNjI2NjgyYjk4ZDM3NmZhMmVmNjk3MGEzOWQgbGVnYWN5LXRydW5rCisxNjQzNiBjYzBjMGRjOWZlZjBkYzQ0MWI4NTYzYTliNDRjOGQwNDBjMmUwM2I5IGxlZ2FjeS10cnVuaworMTY0MzcgYzkwZDk0ZDI4N2Q3OWI3NDVlNGI1YTBiZDU1MTVjZWRhNzMxNzRlNiBsZWdhY3ktdHJ1bmsKKzE2NDM4IGIxOTU5ZjAwNjU2NjU5MWIzYmUxNDAxYjljZDBmMTY0NTFlYmM2MDAgbGVnYWN5LXRydW5rCisxNjQzOSA1NDIzYjEzMmJjOTdhZjRkMjQwNzZjZWYxNmYyNzNiNjRmYWYwNGQzIGxlZ2FjeS10cnVuaworMTY0NDAgZWRiMWE4ZTZiODU5NTk2MGJiZGQ3OGJiYzYwYWUxZjdkZTc1YmQ5MiBsZWdhY3ktdHJ1bmsKKzE2NDQxIDMxNzdlMjgyOTE2Nzc5N2VhMDgxNmNmNzA3MmU0MDNjZjhjMjdhZTggbGVnYWN5LXRydW5rCisxNjQ0MiA2MWY2NWRlMTllMWU2OGVhYWM5NzVlM2JjNTUyNDcxMTJiZmIwNDJiIGxlZ2FjeS10cnVuaworMTY0NDMgOWY2MTg5ZTg5MjEyMTU5NDY5YTYxNWVhNzI0MTA1OWRkYTgyZjJhMiBsZWdhY3ktdHJ1bmsKKzE2NDQ0IGIwZTgzOTYyZjRkYTcwOGRiNzhlZjE3MGI0NDMxMjNiYWIzYjJkMGYgbGVnYWN5LXRydW5rCisxNjQ0NSA3ZGUxOGYwNGY4NWE3N2ExZDU1YWI2MTkxYmZlM2JjNTk1ZGE3NTVhIGxlZ2FjeS10cnVuaworMTY0NDYgOGNiMjRlMGJlZjliZTU5YzNkZjUwOGZkNjE4M2I1Y2YzODRkOTliYSBsZWdhY3ktdHJ1bmsKKzE2NDQ3IGVjMTlhMGE4Y2Q2ODc3YjE5ZDQyNWU0OGM3YWFmMDg1YzdiNDdiOGYgbGVnYWN5LXRydW5rCisxNjQ0OCAxMjljOTc3NWNjMTkzMjBjZTU4OGUwNGNhODdhMzQ3NzBlYWVkNTk4IGxlZ2FjeS10cnVuaworMTY0NDkgOWE1ODU1ZWEzZTU2YWU1NDM5NDA1NzNmNTdiZjM5ZGVmNDkwNTNjMSBsZWdhY3ktdHJ1bmsKKzE2NDUwIDYzODMyZWRlNTc3ZmM1OWY5YjQ4YWVjOTllYjRmNGVkNWEwZjYzM2YgbGVnYWN5LXRydW5rCisxNjQ1MSA5NTg5NGMzMTA4ZDE5ODVmNjA0ODVlMzQ1YjEwMzY4MWY4MTFhMTM2IGxlZ2FjeS10cnVuaworMTY0NTIgOWRiODZiMjcyNzhmYzkyMzY1YThlNDY5OGY3NjM2NmZhMjdlYWE5NSBsZWdhY3ktdHJ1bmsKKzE2NDUzIGMwOWMwMTcxNDc0ZjBmNDljMWRhYmMwODRkYWQ4NDM5OTZiOTkwZDUgbGVnYWN5LXRydW5rCisxNjQ1NCAwZjFjNjA1M2U4ZDA5MjIzNzI4Y2E3OGFkY2UwNjg3NmUzM2M3YWJlIGxlZ2FjeS10cnVuaworMTY0NTUgNzkzYmJhZDZkMDljZjA4MzhjNTgwYmM2MWUwNDkyNDgxYjJmNDczNiBsZWdhY3ktdHJ1bmsKKzE2NDU2IDI1ZmM2ODA3N2I2NjU0MzQwMmU3MmFmODlhMmJkYzBhYmUzNGYwNmIgbGVnYWN5LXRydW5rCisxNjQ1NyBiNTRmMTFhZGE5MWVhMDEzODg1YTMxNDhhZDViZDA2MGJjYmU2ZWJhIGxlZ2FjeS10cnVuaworMTY0NTggYTI4ZWQ4YzVlNjJlMDI2Y2EyODM1Y2E4NGI3ZTVmMzcxMGVjZDFkMiBsZWdhY3ktdHJ1bmsKKzE2NDU5IGJiMzY0ZDZmOWY2OTI1NjA0MTYwYmUzNmM0MmUyNzg1MDc0MDJjZTggbGVnYWN5LXRydW5rCisxNjQ2MCA1ZTJlOTFmZmFkY2Q4ZTQ4NWVmYTQxM2YyYzhhZmE0ZWNkZTM5YjQzIGxlZ2FjeS10cnVuaworMTY0NjEgY2IyOWQ0YTJjMTdiMGIzZmVmYjRjNjdjMzkzZWUwNzI5ZmM4NTViNiBsZWdhY3ktdHJ1bmsKKzE2NDYyIDAyNmUxMmFjOWY3MWI0MzllY2M3MDZmZWY0NmQzYTNmMzAxNWNhZDggbGVnYWN5LXRydW5rCisxNjQ2MyBkNmRkZWQzYzg1MDc3OGVjMTliZTNjZTg3ODc2NDkzYzEzNTJlODdhIGxlZ2FjeS10cnVuaworMTY0NjQgYzY4MDAzZWZiNzk2YTNhMWQwOGQwY2IxYmRkNzdkOTJiYTYyZWI1NyBsZWdhY3ktdHJ1bmsKKzE2NDY1IGY4NDBiZjZhMzM1MWU2MzhjYTQzMTQwNWE2NjAxMWE3MjM5M2RmNDYgbGVnYWN5LXRydW5rCisxNjQ2NiA5Nzk3MDE2OThjZDI5NzExNWZkYzMzYThhYjVjMGE2ZmUwNjJhNjljIGxlZ2FjeS10cnVuaworMTY0NjcgYzlmZDUyZDdjYTBhZTdjOTQzYzk5Zjk0ZjllYmIxODRlY2I5NzA0MyBsZWdhY3ktdHJ1bmsKKzE2NDY4IDQ2MWY5YjZlZTU1NTc1YmE1NjFhY2E1MTc5NTY1OGFmNDNlMTBiN2YgbGVnYWN5LXRydW5rCisxNjQ2OSAyZTYwM2JkMGMxYTkzZDdjNDcxMjkyNGFmNjE2NTMyM2I3YjgxNjgzIGxlZ2FjeS10cnVuaworMTY0NzAgZGQ5ZmZhMGE2YjExMDdlMDc3NjExMmViNmFhOWJjN2JjY2I3NjNmNCBsZWdhY3ktdHJ1bmsKKzE2NDcxIGZlODllYTFjOTEwODk4YmEzZGJhMTk5NzRkNTkzZmMwMGZmYWQzNDkgbGVnYWN5LXRydW5rCisxNjQ3MiA0ZTJhYWYxZTcyMmE3ODcyNTE3MjcwNjA4Y2YxZTI4NjI4M2Y3MzM3IGxlZ2FjeS10cnVuaworMTY0NzMgNjk3Yzg4Y2M0NzE0ZGZiMDJkNjNlYTIyZmQxMWM4ZTAzNTEzZTY0OCBsZWdhY3ktdHJ1bmsKKzE2NDc0IDQ4ODg2ZmE4MmFkNTBlODZhYTVmODVlY2U1ZjgyZGE5NTVmZDc2ZjAgbGVnYWN5LXRydW5rCisxNjQ3NSAwMDAzMGViODgxMzFmODQwZjNiMmJlZTkyZDAzN2VjNGM5MzYxYTQxIGxlZ2FjeS10cnVuaworMTY0NzYgYzg3YTM3YTNkMmU2NWI3NjE0ZDcxY2RkM2EzNWRiZDE5Mjc1MmFjYSBsZWdhY3ktdHJ1bmsKKzE2NDc3IGM5ZDAzOTE5NmRiNjEwOGIyMmVhZTNiYTZhMDlhNWM1YTc2YTczOWUgbGVnYWN5LXRydW5rCisxNjQ3OCAwNmQ0MjI1OTE5ZDRkMjYzNzI2NzljZTMwNzEwYzZhN2U5ZTZmOWQxIGxlZ2FjeS10cnVuaworMTY0NzkgNjU3OGZhZjQ4Y2QxZDQ5Y2Q5ODk3MDQ1ZTg5OGY4Y2VlNTYzZmI2ZSBsZWdhY3ktdHJ1bmsKKzE2NDgwIDVjM2VlNzZkMjQyZTNlOGYxZWQ2NmRhMTlhYTNiZDc2NzljM2RlMTggbGVnYWN5LXRydW5rCisxNjQ4MSAxNzI5M2YxMmU4ODQwZWIyZTdmODQwMTA4ZTUwY2FhOTM0NzIzMTQyIGxlZ2FjeS10cnVuaworMTY0ODIgNzY3YjJmN2JlNDBlNjNkZmU1NDhlMGQyYmZmNzg1MGJkZGYyNTEyYiBsZWdhY3ktdHJ1bmsKKzE2NDgzIGQzZjY5NDAyMzY0MjViY2Y4OGEwMjI1ZDIzNDE5MDU0OTdjOTkzZWYgbGVnYWN5LXRydW5rCisxNjQ4NCAwNWQ1OWY0NDc2YWQ1MGY2YTk0OTY0ZDJhNmJiZTA3OWYxMzNkY2IyIGxlZ2FjeS10cnVuaworMTY0ODUgYjNlOGQyZTNkYzczYjA0YjBlZDEzZGVjMjRmMmVlNmVjMjY1NjIzOSBsZWdhY3ktdHJ1bmsKKzE2NDg2IGI3YzkzYzY3N2U1NjU4OWU2NjAzN2NlYTFhNzQ3ZDkyZjAzZTgzMTUgbGVnYWN5LXRydW5rCisxNjQ4NyA1N2QwMmY2MzRhMDJiNzc4OTBjNjA5MmRiZmQxN2JmZTAyYWVhMzc5IGxlZ2FjeS10cnVuaworMTY0ODggNDQ5ZGQzYTAwYmQ3MjkyOTg5NmViMTA3MzRjZGY4OWNjNjQ3M2VlNiBsZWdhY3ktdHJ1bmsKKzE2NDg5IGVjYjhhYWNmZjJlM2FlODZmZjUzN2NlMGIwZGI5MmI1MzQ2YzE5ZmQgbGVnYWN5LXRydW5rCisxNjQ5MCAwNTE3N2NkNDQxYTE4ZTc4Njc4ZWQ5N2E2ZjQyYmQyYmQzZjEwYWUzIGxlZ2FjeS10cnVuaworMTY0OTEgYjc2OWUyZGQ2YTUxYmZmZDY2MDdlMGY1Nzc5ZjNkYTAyNTJkMGRhMCBsZWdhY3ktdHJ1bmsKKzE2NDkyIDU0ODYxYmY2NzQ4ZGE2M2Y3ODRmNmRlODI4YWM4NGI3ODBjYzExZmMgbGVnYWN5LXRydW5rCisxNjQ5MyA2ODlmMTkwMDQwNjM1NDM2YjkwMTcyZmNkY2I3MWU1MzU2NGY4OTUwIGxlZ2FjeS10cnVuaworMTY0OTQgOGQ5OTZmOWM1OTAzYmYwY2Q2ZTdiNjhiZTY2ZWMzOWZkYzdmMWUwZSBsZWdhY3ktdHJ1bmsKKzE2NDk1IDljZTNlMDViN2ZkYjI3NGE2YTc1NTk5NTFlMTg1MzIxZDA3ZTg2OTUgbGVnYWN5LXRydW5rCisxNjQ5NiBiYTM2YTljM2Y0NzcxNDIwMzQ2MmQyYzJkZGE4Mzg5OGQ1MDcxYWMwIGxlZ2FjeS10cnVuaworMTY0OTcgM2I2OWE5ZDA0NGYxYzQzMWY3ODMyMjEyMjNmZWQyMTM1OGE2Y2JkYyBsZWdhY3ktdHJ1bmsKKzE2NDk4IGE5NDlhNzJhZjk2OWNiMmZmOTQwMmExZjg0OTVlNGZkMGE1N2RmMmEgbGVnYWN5LXRydW5rCisxNjQ5OSAzMmNlMjU0ZjNiZWE2ZjkwYmE0NjZjMTI5NWI2ODExN2IyODAyNjZjIGxlZ2FjeS10cnVuaworMTY1MDAgYzMxYjEzYjdkYjc0MDc1MTA2OGI2Yzc0YmY0NWViMTA3OGI2ZjZjOSBsZWdhY3ktdHJ1bmsKKzE2NTAxIDE0NzVjMWNjM2JmMWVlOWMwMTU5NWJkODdkNjFjYmEwNmYzNDRhYjcgbGVnYWN5LXRydW5rCisxNjUwMiA4MmQ5YzJmMTMwOThlNWM3NmZmNDlhY2NiZDZlZWZkZGU2YmQxNDM0IGxlZ2FjeS10cnVuaworMTY1MDMgOThkODE2OTU2M2U3MWQ3NGFhZTM2YTMxZDQ5Y2I2YjRkNmJmNGRiYiBsZWdhY3ktdHJ1bmsKKzE2NTA0IGY2NWI4NjczOGQzYjU4YzIxYjEzOTZmNjgxMTdiNmY1M2JkZGZkNmIgbGVnYWN5LXRydW5rCisxNjUwNSBlZThmMDllNDEzOTU0NjFiYWI4YThlMDE4ODA3ZDM2NTg0MWZhYzkzIGxlZ2FjeS10cnVuaworMTY1MDYgYzc2ZTc0YWJiNjViYWYzZGVmNTQ0NWViMzI0MDc1NTljODBiMGI2ZCBsZWdhY3ktdHJ1bmsKKzE2NTA3IDVhMzExNGU4YzAyN2E5NDYzZWE4NDkzODI3ODJlMjY4ZmJjODUwNmMgbGVnYWN5LXRydW5rCisxNjUwOCA1YzA2N2MxYjVlZDBkOGE1ZTY5MWY3OTM2OWQ5MzFlOTcyZDVjNTUzIGxlZ2FjeS10cnVuaworMTY1MDkgYTQ0ZGJiZGU1ZWNmZGE1NzlhOTY1OWI5ZGJiM2E2NmMyOWE0NWRhOSBsZWdhY3ktdHJ1bmsKKzE2NTEwIDdhZTlmYTQwOWI0NmYyNmM1MjMxMDNmNjFiMzgzY2ZmNTQyY2NlZTQgbGVnYWN5LXRydW5rCisxNjUxMSAwODNiNGU1NDcxNzFlZjlhNGRiZTQ1NzJkMWQ1NGYwZjcxNDA0NjNiIGxlZ2FjeS10cnVuaworMTY1MTIgMWU5ZjMwZWVjNDgyNDQ4MWVkYmFhMDMxNDJkM2NmMGUwNmEwZDVhNiBsZWdhY3ktdHJ1bmsKKzE2NTEzIGRmZGI5MTFjYmVjMjUyYzkzNjY1YmJjMWQ3YTlmOGFkYWZiNGI0YjcgbGVnYWN5LXRydW5rCisxNjUxNCA4M2RiYTNmNWY3YjQ2YTAwOGI5MDAxZDk0MGI1NTU3YTBiNzY4MDcwIGxlZ2FjeS10cnVuaworMTY1MTUgOGQxMDc1N2E1NzViMGE2Y2ZlNTFmZDg4YTM0MzI4YjA1OTczYzFmZSBsZWdhY3ktdHJ1bmsKKzE2NTE2IDg0Zjg1NzlhMDc5Y2RhYWJmZGJlZDk1NWE4ZTE0OTUwODVmMmQzZmYgbGVnYWN5LXRydW5rCisxNjUxNyBlOGRjMGEwYmU0YmFjYzA4MTdhMTQ1YTU2NmQ3MjFmNTcwOTBhMTcwIGxlZ2FjeS10cnVuaworMTY1MTggNjMyYmU5OWNjMmNiMTM4NGMwMmM1ZjVkYmQwODNlYTc3ZjMyNDVlMiBsZWdhY3ktdHJ1bmsKKzE2NTE5IDAwZWQ0Yjc0MzAyZmQ3ZTg2NzllMDViMTdmZGQxYzA4YmQ1YTY1ZjQgbGVnYWN5LXRydW5rCisxNjUyMCA2N2I5YjA1Y2U1YTVkZmIyNzUyMTYwM2MwZTY0Mjc1Yzc2M2FkNThlIGxlZ2FjeS10cnVuaworMTY1MjEgYmMzN2U2YTMzNWYyMTVkOWI5Y2E5M2Q1ZjM2YzU0YzMxMGE4ZGNhYyBsZWdhY3ktdHJ1bmsKKzE2NTIyIDQ5M2IxMDY1NzYzZGJmY2JjM2YyNDIwZTg1ZTgwOWNjMzQ3NjAxNmMgbGVnYWN5LXRydW5rCisxNjUyMyAxNmI2MGJkNmMzNzVkYTliZjRmYWU2ODBkNTBhODBlNGRkODgxMzc0IGxlZ2FjeS10cnVuaworMTY1MjQgZDg5ZGExN2I0NmY2MTBhYTVmY2Y5NjIyOTEwM2ZlZDA3YmE4MTZiNiBjbnJpLTE2LXN0YXJ0CisxNjUyNSA2ZjhkMjRiMzMyZDM1ZDU5NWNmNGYyYjJkMWFkZWQ1MDBhNzcxZjRkIGNucmktMTYtc3RhcnQKKzE2NTI2IDU5ZjhjZWRjZjA0OTUxYzMwZmQ4YTBjMmEyOWNhMTNjYjg1MjU0N2YgbGVnYWN5LXRydW5rCisxNjUyNyAyZDAwYmNlZDYwMzg3MGEzMjczNjhhMTY1NjI5Y2VkZDMwYzgxNTdmIGxlZ2FjeS10cnVuaworMTY1MjggYzFmYzQwNjY0NjAzODJmM2QzMzkyMjc2ZWQ4MzM0Mjg3MTJhMDllYSBsZWdhY3ktdHJ1bmsKKzE2NTI5IGZkYmM4NzMwZDM1Njk4OTcwZGRkZTQwZjk1NTNhZWQwZTkyZmM0MGUgbGVnYWN5LXRydW5rCisxNjUzMCBiMWI0NzRjYzg5NjY0MzdkYTRlYTIxNGVlMTY2NTE0NzhjYTczMTY4IGxlZ2FjeS10cnVuaworMTY1MzEgZGFkMDEzMTdiZWQ3MmZhZjcwNWViNTA5NmYxOWQyOWYzMTIyN2IxMSBsZWdhY3ktdHJ1bmsKKzE2NTMyIDhiYmMwZTY0MzJhYjQ4MmJiODc4YmNkOTc4MzYwMzY2MTY2NTIwZWMgbGVnYWN5LXRydW5rCisxNjUzMyAzMjNkZTNhOGZmOGViYzI1YjhmMzZiODU1MjA5NTlmY2UzOGM3M2MwIGxlZ2FjeS10cnVuaworMTY1MzQgZjcxY2QyNDUzNWM0MDYxOWNjOTE2MmQ5ZjMyNDUzZDdlMzJjYjMwMCBsZWdhY3ktdHJ1bmsKKzE2NTM1IGIwOGFiMmNkZjc0MmQxMGFkYzgyZjI0MzE3MmEwOGNjODQwYTEzMjggbGVnYWN5LXRydW5rCisxNjUzNiAyY2ZmY2Q3MWQ1ZTQxNDcxNDgyZDNjY2NhNGJhM2MxMTZlNTU2NDg5IGxlZ2FjeS10cnVuaworMTY1MzcgZWVhNTEyNzVhY2JmYjQ0MmZhZWRhYzQzZmQwM2Y4NWYzYWZhZWYwMCBsZWdhY3ktdHJ1bmsKKzE2NTM4IGI2ZDkzZGJhMTIwZWFiNWQ1NjEwMjIzN2MzZjIzOGE2ZGY1MjhmMjkgbGVnYWN5LXRydW5rCisxNjUzOSBmMWM5N2FmNGM4NDcwOWJlNjJhNzBmNjZiMDRmZjExMzA4MDg3ZGNkIGxlZ2FjeS10cnVuaworMTY1NDAgOWZiY2ZiZjhhMWQyOTJiOGZlZjAzYmQzOGRmYzU2MzRlNTA1ZDY5ZSBsZWdhY3ktdHJ1bmsKKzE2NTQxIDMzZGYzYjUxNjcxMTllMDUzYjBkZTMyMGFkYzM1NjNhMTIxZjllMTUgbGVnYWN5LXRydW5rCisxNjU0MiBiMzkwM2UwNTAxN2YxNjA0MmE2NTA5MTYwZmE2ODRjNDc4ZmI2MGQ1IGxlZ2FjeS10cnVuaworMTY1NDMgZjZlNGE5ZGQ2N2NkZDNlYTRhY2NlZjc2OTY2NjNhZjIzNTVkOTNjZSBsZWdhY3ktdHJ1bmsKKzE2NTQ0IGFiNDJkNDU0MjQyNDg1MmY5MGQ1OWUzZWYyOGJlMjJhNTQwYjI4NjMgbGVnYWN5LXRydW5rCisxNjU0NSBlMjBmZTAwNTI2ODA5NTU0YzA4YjRmNjFiODhlNGEwY2U2YzgxNjhjIGxlZ2FjeS10cnVuaworMTY1NDYgYWQzOTAyNDBlZmIzYjA5NWFjMWE4ZmJjMTI4ZTA2MmI3YjAyODg2MyBsZWdhY3ktdHJ1bmsKKzE2NTQ3IGZmMTExZDI4OTkwNWQ1MjQ3N2MzNTkxMTA5MTY0ZDdjNzk5NTFiODEgbGVnYWN5LXRydW5rCisxNjU0OCBjMjRmNzc1NWIxZjUyNTUxZDA1YmRiZjM5YjVkMzE0YTlmMTA4NGQwIGxlZ2FjeS10cnVuaworMTY1NDkgMWMxODYwMzA2ODgyMjk3MTZjZWUzYWJiMTMzN2JjZWMyNmM1YzZkOCBsZWdhY3ktdHJ1bmsKKzE2NTUwIDQyMDQ1NjRhYmYyMGM1M2ZmZWE2NGM2NTAwYWIxY2Y4MjkwN2QxMGEgbGVnYWN5LXRydW5rCisxNjU1MSA2NjU3OTU2YWYzMWUwYWE2NWZkMDU4ZThmZDUzYjgyZWJiZmEyNGM3IGNucmktMTYtc3RhcnQKKzE2NTUyIGM5MzY4N2Q2YzczMTcxOGY5ZmMyNGM5MmIyZDVlMjc1OTlhNmUwMzMgY25yaS0xNi1zdGFydAorMTY1NTMgZjEyOTBhYmEyOWRhNGEyNzhhYWU4ZmM0MmRhOTg4ZDkzMDYyZjQxYiBsZWdhY3ktdHJ1bmsKKzE2NTU0IDFmOTY2ZjBkNDY3Y2ExZGE3NGJmNjI1NTgxMzJiMDUxNDcwNGI3YzYgbGVnYWN5LXRydW5rCisxNjU1NSBmNjY1MTNhMGRlYTVhNTVlMmFmYTI0ZjgxNDQ4ZjFiYTMxZDkzNWZkIGxlZ2FjeS10cnVuaworMTY1NTYgNGVkZDEzZWI3NTlkMjZjM2Y2MDhhNjg3ZjExN2EyMzYzMWYxNzFjYiBsZWdhY3ktdHJ1bmsKKzE2NTU3IGM2NmU5OTFiNWYyMTdjYmE2OThkN2QwNzg3MGNjZjM0MmE2YzliMzYgbGVnYWN5LXRydW5rCisxNjU1OCAwNjM3NDEzZTU5Mzk3ZTc0ODVjNWE1NjhmNmJlOWRhZDcyNjY1ZmVmIGxlZ2FjeS10cnVuaworMTY1NTkgMWI3ODEzNTc1YWY3ZGM5NDI4ZGZlYTZhZjYwMDllMzE0OGU5MDE5NSB1bmxhYmVsZWQtMS44LjIKKzE2NTYwIDM1Mjk2OGVlNDBlNjI5YWQyNzgzZmZkYTBjYzViNjc5MjkwNzcyZjQgdW5sYWJlbGVkLTEuOC4yCisxNjU2MCA2ZjdhYjc0YjEyOThkYWM1MWEyMTQzYjJmODNiMmI2ODAzZWExMmQ1IGNucmktMTYtc3RhcnQKKzE2NTYxIDhmYmYzMDdiOTBhNmMyZjRlNDdhZmFkNzRiYTU0ZWU4ODdjYmMwOTAgY25yaS0xNi1zdGFydAorMTY1NjIgMTM2ZDNkNzI2NjZhNzk1M2ZjNzQyZTM4ZGUxNzFhNTBiNWQ1NDdiMSBsZWdhY3ktdHJ1bmsKKzE2NTYzIDRjMTBiYzgxMWZlZGFhZDZhMWI5Yjc5MGY3NzZmOTQwMDE1YTA5NTkgbGVnYWN5LXRydW5rCisxNjU2NCBiYTEzODNjOTg3YzhkZTk4ODI4OTY0MGEzMGIyY2FiNTQzMmUxOTc5IGxlZ2FjeS10cnVuaworMTY1NjUgODI5NWY4NTA2ZWFlYTc1OTZmOTNjNzVjZWMwMTYyNWRkYWFiMTkxZSBsZWdhY3ktdHJ1bmsKKzE2NTY2IDQyYTRhNDE3YjQ3NTAzZmQzMWMxMWNmNTg1MTY1ZmMwYjg4MzI3OWMgdW5sYWJlbGVkLTEuMjMuNAorMTY1NjcgMmM3ODY4OTZlNTQ5ZDRlZWI3NWYxYjQ0YmMzNzhjZWMxNDQ3MDg5ZiBsZWdhY3ktdHJ1bmsKKzE2NTY4IGUwMGQzY2U3MWY4OTNhYmNlNWIxNzY3MGFlOGE4YmZhZjE0NzhiNzAgbGVnYWN5LXRydW5rCisxNjU2OSAwMzFkYWUwOGEwYTk4ODAyZGE2ZGFkZWY2OGEwZjg0YTc4NzlmODhhIGxlZ2FjeS10cnVuaworMTY1NzAgYWM0OGQwNzdlYWFjOTdiYzVjZjMyMjk0ODA0OGRhYWVjOGVmMTU4YyBsZWdhY3ktdHJ1bmsKKzE2NTcxIDU0NjYzMjRiYjgxMTRlZjdiYTg4OWZhOGY0NzFmMjQyNTM3NTc4NjcgbGVnYWN5LXRydW5rCisxNjU3MiBmZDQzNzI3ODc2MTFhYTcxZWNjNjk5ZGJkYjZiOWUwN2U0MGM2OTExIGxlZ2FjeS10cnVuaworMTY1NzMgYjFhN2Y2MWFiNzgxMWIxY2UyOGQ3NGI1MmViMGNlMGYxNDk1YThiMCBsZWdhY3ktdHJ1bmsKKzE2NTc0IGU4YjIyYmM4OGQ5NWVhM2Y3ZjFhZTA1YWJjNTkzNmFiNWYzNjM2MGEgbGVnYWN5LXRydW5rCisxNjU3NSBjNzdmODg3M2RhODQxMzI0ODJjMmRmN2U5NTE2YzI3NmU5MDBlZDkyIGxlZ2FjeS10cnVuaworMTY1NzYgMTE2MjU2MzNkMGY2NzAwZmMwMmU4Mjk0ZThmNTNkZWQ2ZjZjOGZhMyBsZWdhY3ktdHJ1bmsKKzE2NTc3IGRlOTA2NjJmMmVhYjE1NDZjY2VlNWFkNDc3MjIwZDY2MmQ0NzI0YjAgbGVnYWN5LXRydW5rCisxNjU3OCBiYThkYjk2ZWE0ZDlmZDQ1Y2RlN2VlODM2NmNmOWQ1NzFmNTA0NWViIGxlZ2FjeS10cnVuaworMTY1NzkgMzc0ZGE1ODJlYzEyZjRkYWE4ZmViMDZiZGRiZjEwMmUwNTAyMzBkNSBsZWdhY3ktdHJ1bmsKKzE2NTgwIGYzOTY4ZGQxNzExYjI1YWI3Yjc1OTBjNGY1Yjg4ZDFjYjk5NmU1OWYgbGVnYWN5LXRydW5rCisxNjU4MSA3NjIzN2MwY2JmMTMzZjZkYjhhNmRjZDk1YTVhZTY5OWVlM2QxYmQ2IGxlZ2FjeS10cnVuaworMTY1ODIgZjM4ZTMyMWJlOGE0MzY0MTYwMWEyODZlMTBjMGZkOWVmNzY0NzE1ZSBsZWdhY3ktdHJ1bmsKKzE2NTgzIDY0ODczY2YyMGIxNmI0MGY5OTExMzhhZTBjODhmMTllN2RkYmI3ZDQgbGVnYWN5LXRydW5rCisxNjU4NCBhY2QwNzU1ZWU3NzI1MTM4ZjcyNTBmYzQ3N2M0ZDgxZDBmYjA0NjM2IGNucmktMTYtc3RhcnQKKzE2NTg1IDRmNzM3ZmIwNDUyOGRiZGIxZWQyNWNiMmY3NWU0MmM5NTVjZjk3MzAgY25yaS0xNi1zdGFydAorMTY1ODYgNDFhZDM2ZmIwMGVlOTM1ZWZkOTZlM2Y3YjYxNDRlNTI2ZmNjODg3MyBsZWdhY3ktdHJ1bmsKKzE2NTg3IDQ1ZDhmMjNkZjIxODJjMWQ3NjY2OWU0OThmYTRkZTBiMTgzNTBhYzEgbGVnYWN5LXRydW5rCisxNjU4OCA1MWYyOWZjYmQ5YmE1YTMwZTM0ZmJiODkxOGIyNWQ1NWNhZTJjOTNjIGxlZ2FjeS10cnVuaworMTY1ODkgMzNmZjRkNGQ5MWFjM2Q4YjM3NzIzNmY1OTUzMWFiZWRkYTcxNGY3NyBjbnJpLTE2LXN0YXJ0CisxNjU5MCBhZmJiZTY3NGQ1OGEwYmFiZmU5YTljNGY3YzkzYWI3ZTQyMzU2NmJiIGxlZ2FjeS10cnVuaworMTY1OTEgM2MwZjc1YTIxOThmZjE5MTIzMzE4ZTQzY2EzYmUxYzE1ODkyMDU5YyBsZWdhY3ktdHJ1bmsKKzE2NTkyIDY2MjJkNzYzMWNjZmYxZjcwZjUwNWRmMTczMjllYThiMmI3NmY5YmIgbGVnYWN5LXRydW5rCisxNjU5MyA5NWVlZTg2ODYxMWVjNjhmN2MyOTAyZTFhY2IzOWE2ZWMyNGE5NjQxIGxlZ2FjeS10cnVuaworMTY1OTQgOGJkODJjZjM2MWFhNDI0MDg1NGNiNDI4NjE4OTg3YjFkNDViODA5ZCBsZWdhY3ktdHJ1bmsKKzE2NTk1IDM1ZTIyNjY4NmMyZWQ4MDBhMzg3NDg2NzFhZGFjOTMzYzk3ZDc5NWEgY25yaS0xNi1zdGFydAorMTY1OTYgZDQzMDA5N2QxYmZkMTg5OWUzMDQ2NzllNGZkMzA2ODZmNzA2YjdiNiBsZWdhY3ktdHJ1bmsKKzE2NTk3IGM1N2I1NzRlNjc2NjRkYzJjOGMwYmQ0MTMwYzViOWVhNWM3NjY2OTMgbGVnYWN5LXRydW5rCisxNjU5OCBlZWVkN2JjOGEyODNkOTVhMzhjOTMzMjgzN2VlOTFlOTY0MDkxOTg0IGxlZ2FjeS10cnVuaworMTY1OTkgMDg0YzYzZDg1ZjkwODI5NTRkNTUxNjUyODMwN2Y2MGJlMzNmYjRlNyBsZWdhY3ktdHJ1bmsKKzE2NjAwIGExMGRjNzIxNWMxZWMxNzViYzMwNDkxYjYyZDczMjlkYTczYTY1YmQgbGVnYWN5LXRydW5rCisxNjYwMSBjNjM4NjNhYmUxYWE5ZGRlYWIxMmQ2MDdhMDM1OTI5NjQ5NmIwNDM0IGxlZ2FjeS10cnVuaworMTY2MDIgNWZkODBjODJhMTVhOTE0MzQ4NzBlYzZhMWI5YTE4OTFlOTMxNmZkZiBsZWdhY3ktdHJ1bmsKKzE2NjAzIDI1NGY4YjdjNGE4MzgxMzY1OWYyMWRhMTAxZjJlMzE1NDhlNTY0YzAgbGVnYWN5LXRydW5rCisxNjYwNCA2MWNjNTRjMzEzZjZjZDE1ODdmZGNlMTRhMzAxYzhhMDUzODA4NGYzIHVubGFiZWxlZC0yLjU0LjIKKzE2NjA1IDAyZTA4MTZlNGIzNzE3YjlmMDE3MWFmZWRjYTY2NjdjYTUyYTI3NWIgbGVnYWN5LXRydW5rCisxNjYwNiBlNGMzODBlZTkwNzlmNzEzNTI3Mzc1NDJjNzkxZjdkYTZmZDE3ZGZjIHVubGFiZWxlZC0yLjU0LjIKKzE2NjA3IDIzYTYyYTg3NTFiNDc2MmI4NTg5NzI0Y2Q5MTUxYTY5MzM5N2ZhMjIgbGVnYWN5LXRydW5rCisxNjYwOCAxNTExNGUwMTc2NTI5NDYwMzg3YWQxYjgyMmU3YWQ3NTBhZDQzZGFlIGNucmktMTYtc3RhcnQKKzE2NjA5IDQwM2M5NzBkMWE1ZTRhYzljYjFhYTY5Njc3ZGRjMmNiYjllZTBjZGQgdW5sYWJlbGVkLTIuMTA4LjIKKzE2NjA5IDlhY2ZkMDM3Y2I5NGRhMTgzNjA2MDI0MzM4MzRhYmRiYzI5YWQ5NGMgY25yaS0xNi1zdGFydAorMTY2MTAgYzM3ODNhMzNmODRiZjAzNTc4ZTkyNmQ2YjQ2YjM4ZTM4OGQ5NTczNyBsZWdhY3ktdHJ1bmsKKzE2NjExIGIwMTZlYzg3MzhmOWQyM2RlOGYyYjgxNWJlOWViMjVjODJlZmU2YzAgbGVnYWN5LXRydW5rCisxNjYxMiA1MTM2ZTM3ZmY1NDhlNjkxMDE3MzIxNDU5YmZkZWM2ZGZiNmE1NzM0IGxlZ2FjeS10cnVuaworMTY2MTMgNGFlYmQwZjJhMDYyNjkyM2Y1YzE3NjU4MGM1MDRmOTJiMjEyMTQzOSBsZWdhY3ktdHJ1bmsKKzE2NjE0IDYzMWI1ZGY0NGRlNjA5NTEzODllZjcwZmI3M2JlYTcyZmJhMjA3OWYgbGVnYWN5LXRydW5rCisxNjYxNSBiMzY4YWE4MjA4ZjNhMWY0ZTZjZjVhZGJiMTE0MmJlNzg5N2FkOWQxIGxlZ2FjeS10cnVuaworMTY2MTYgMTFkODgyMjBmYjUyMjhmZjhjODIyZDk0ODFiNmYwZjBiMjViYTAwMCBjbnJpLTE2LXN0YXJ0CisxNjYxNyAyYmFkYjMyMjM1NWZjZTQ5ODQzNGM2N2ZiZDQ2YmQ0YTYwMjA1NDlkIGxlZ2FjeS10cnVuaworMTY2MTggOTFkOTVhN2I3ODU4Mzc0MDMxMTliMDhlZjYwYzI3MTE1MDVlOGE5MCBsZWdhY3ktdHJ1bmsKKzE2NjE5IDNhZTA2YzU3ZDA5ZWE4Y2I4MWJkZTlhZjVmMTljOTUzODYxMWY4NWIgbGVnYWN5LXRydW5rCisxNjYyMCA0NjUxNDRhYmYwMmEyZWE5OWUwYzA2NjBkNDgzODA1ZGYxOWJlYjAwIGxlZ2FjeS10cnVuaworMTY2MjEgMWU5ZDFjYzJiYzNmN2FjNThhMTJkZDY3ZWIyNjYxYjlhMzRmMWJmYSBsZWdhY3ktdHJ1bmsKKzE2NjIyIDkyNGYwOTgxYmY3NmRjZDkxNGZhYjUxZDRlMWQyMmZiM2RkMDJhNzAgY25yaS0xNi1zdGFydAorMTY2MjMgOTc1NzNjZjkxZTZhZGU5NDc4YmUwZGI0NjVmZTY2MmVmZGQ2OGJhOCBjbnJpLTE2LXN0YXJ0CisxNjYyNCA4NzQ4OGMzMTEzZjI3NmQ2N2RhNDU1ODg4YjVlMmM1NTQyNjY2MDE0IGxlZ2FjeS10cnVuaworMTY2MjUgMDBhNWM4MDZjZjdjYjhhYmE5NDU2M2YxNTMzNWQ4YTYxNzM2Yzk0YSBsZWdhY3ktdHJ1bmsKKzE2NjI2IGIzN2YwODYzNTAyM2YyNjczYWJmYzI2ZTVjMjc5MGFkZWQ2ODE2NTMgbGVnYWN5LXRydW5rCisxNjYyNyBmYzg3M2NhMGM3ZDNmNDhkN2Y3ZDJiYzhiMWU3ODU5YmZkODVkYWE1IGxlZ2FjeS10cnVuaworMTY2MjggMDUyNTg1MWJhMGI3N2FiNzBjMzQyYzM2N2RkM2UxYWU0NDViNzU2YSBsZWdhY3ktdHJ1bmsKKzE2NjI5IGE1NWU0ODgzZjg4NmI5Y2M5NmY3MDIyMGJiZTM5NmE0ZTdhMDFlYTEgbGVnYWN5LXRydW5rCisxNjYzMCBkZDA0MmY1YThmYTIyMTQ0OGVhYmJkOTAxMGM4MjBjMmFmYTU2ODViIGxlZ2FjeS10cnVuaworMTY2MzEgMDk4ODI1ZTc0YTA1YWQ5MmNkZmU3ZmIwNWVlYWJkOTQxMjhjNDI1YyBsZWdhY3ktdHJ1bmsKKzE2NjMyIDM0OGE3YzE4ZTBlNjNhN2YzMjYzMDVhZTE2ZWRhM2ZiMzQ4ODJlNDYgbGVnYWN5LXRydW5rCisxNjYzMyBiNzMxYTIwNjMwMmFlNzBhOWE0MzQ4ZGNmN2UyYmY2NzhiMDA4NGJiIGxlZ2FjeS10cnVuaworMTY2MzQgYzQ4MDUyOTgwN2FiMzMwNmFhNGZhMzExZDNhZjczZjQ3MjIzMzlkYSBsZWdhY3ktdHJ1bmsKKzE2NjM1IDA3Yjg1ZmM3ZWY2ODRmNzc4M2E0NTU5ZTRhMmJlOTcxZjZmOTljNDIgbGVnYWN5LXRydW5rCisxNjYzNiA2NjU4OWIwNmM2MzMwODYxNGZjZGRkZjcwNjg4ZWJiYzA1MDI5ZmUxIGxlZ2FjeS10cnVuaworMTY2MzcgMDRhMzZlOTNkYzNkZDgwNjZmNTA4MWFiOWU2MGJhOWFkMWMwN2YxMCBsZWdhY3ktdHJ1bmsKKzE2NjM4IDQ1ZWRjMzI1ZTg5YTU3NjkwZDg2ZmVmMmNkMTY4YzZjOTdlYTg3YWUgY25yaS0xNi1zdGFydAorMTY2MzkgOTRhZGQ4OGVmMDhjMDZiNTUxODRmNjJmODFjM2UwMDdkNGVjMzQ0YiBsZWdhY3ktdHJ1bmsKKzE2NjQwIDY2ODJmZjNlMzE4ZjVmMjk0MjgzOWFmYWQ4MWQ2MGIxNmRhZWFhZGIgY25yaS0xNi1zdGFydAorMTY2NDEgYTI5NmZmNTUyMjFmNzEyMGI1NmY3ZWU1N2UwMGIxYjcxODdlYjM0YiBsZWdhY3ktdHJ1bmsKKzE2NjQyIDk5ZjA0MTNlZjc5NWYzMTViMjUxZDE3MmI3MmU5YzA5NTg3M2FhNTAgbGVnYWN5LXRydW5rCisxNjY0MyBiZjhkNTZlMjdjN2JiYTU2ZGZmODQ0N2EwZTQ5YzBmZDA0NzBkNzU1IGNucmktMTYtc3RhcnQKKzE2NjQ0IDk0ZjZlYzg3OTMwYWJlNWVkZDRiZmRhMTIxZTI1MzNlOTY1NGUwZTkgbGVnYWN5LXRydW5rCisxNjY0NSBkNzRhNGE0M2Y0NWZiODhhZGM4N2NjMmRiNjYwMzU2YWQ0ODE1YmUwIGxlZ2FjeS10cnVuaworMTY2NDYgNDY4ZGY1YThjZjRhY2ZkMzQyY2ZmYjNlOTE1NjAwODMwY2Y0N2QwNiB1bmxhYmVsZWQtMS4yMy40CisxNjY0NyA5NmFkMzI0OThkYjc4MjE0ODY5MDFiMDJlMmEzZjMzZDAxOWE4N2UyIHVubGFiZWxlZC0yLjU0LjIKKzE2NjQ3IDFjMmFkYWU0NTA2OTdkZmMzMWM2NjUzM2ZiNzJjODA2M2ZiM2JhYzEgY25yaS0xNi1zdGFydAorMTY2NDggZjNkNWY3MWNjYmI0NWU3MzZmOGNjM2NhNGJhN2UzZTFiNTM4ODI4YiBsZWdhY3ktdHJ1bmsKKzE2NjQ5IDRjM2Y5NzdjZTA2Y2ZlN2NiNWJkNDg3OTFhNWQ1MGY5Zjg4MzNhYmYgbGVnYWN5LXRydW5rCisxNjY1MCBhOTRlMzdlY2RiZWI2ZmI2OGQwZGU2ZGFmZWE5M2Y0MjMyNmM1ZjY5IGxlZ2FjeS10cnVuaworMTY2NTEgYzU4MTQ5YzA2NzBhYTk5MWVkNzQ4YTE2ZDVlZGUxMGIwODQ1ODQwMiBsZWdhY3ktdHJ1bmsKKzE2NjUyIGZjNDlhM2IzODYzYjE5NmM1YzEwYjAwNzczMDJiMjhlNWU3OWRiMzEgbGVnYWN5LXRydW5rCisxNjY1MyBkZmRiNjAxY2VlMWNmNTE0MzViYjMzODZhMmU2YjZiMWYzOGM0YzkzIGxlZ2FjeS10cnVuaworMTY2NTQgNTkyYWMyNzI2NDFkMjJkZjM1ZmY3MTQ3ZDVjOTM0MDE2YTU1N2JmNCBjbnJpLTE2LXN0YXJ0CisxNjY1NCBhNjk4NWQ4OTQ2NDM3NmI5MTczYzlhNTc3YzY3MGI3ZDBiNzY3ZDNkIGNucmktMTYtc3RhcnQKKzE2NjU2IGUyNjNhMjczZTMyMWY5NmU5N2FkYWNjNTMwYjliZWU4MDdiYjkyM2QgbGVnYWN5LXRydW5rCisxNjY1NyBlZThjNWNmYWQzMzVlNmJjNmZkZjRhNzRhOGY2MjQzY2NhZWU5MmEzIGxlZ2FjeS10cnVuaworMTY2NTggNGVmNDYxZGYzMmMxOTFlOTEzMGRjOWJjYjdiOTUxZWEwYTExNDg3MiBsZWdhY3ktdHJ1bmsKKzE2NjU5IDU4ZmVmZWY3MGZhY2I3MzAwYTJlNDU2ZmM3NTY3NjIwOTA4MzgzYzQgY25yaS0xNi1zdGFydAorMTY2NjAgZGY3ZGViMmViYTQxNDEwN2VkZmJjYmFiZTk2NTk1NDY4YTlkNjQ5NyBsZWdhY3ktdHJ1bmsKKzE2NjYxIDgzMDc0NDZiYzZhYWQ2NjBkZDUxMTdlNjMxMThmODBlNzgwYjUyYmMgbGVnYWN5LXRydW5rCisxNjY2MiAzNWZjOTUxMWEzNmZmMmM0N2E2YmE2Njc4MmE0MzAwOWM0NDk2ODZlIGxlZ2FjeS10cnVuaworMTY2NjMgZDAxNGM4YWI2YTgyNDM1M2QzMzAwMWEyMzJiMTAxMDZiODQxN2Q0NiBsZWdhY3ktdHJ1bmsKKzE2NjY0IDI2NmUxMWEyMjZmN2NkODM5YzIyNmYzNDAxNzk5MDZhMjA3YWVjZjYgbGVnYWN5LXRydW5rCisxNjY2NSBlYTVlYjUxZWQwZjY5OGM0YjQ2NjJjZDA3OTA4MjU0OTEzNTA4OTNkIHVubGFiZWxlZC0xLjguMgorMTY2NjYgZjkxMTYxOGEwZWEwZmFjNDZjZTk2ZTJjYjY1Y2QzZjAzOTFkMDJhNyBsZWdhY3ktdHJ1bmsKKzE2NjY3IDFjMDBmZWE5YWU0MGMwZjFmYjQyZmVkM2VhYjM4MjE4ZmNiM2Q5NzAgbGVnYWN5LXRydW5rCisxNjY2OCA3NTVlMjEzNWExOTQ4YThkM2MxMzFmMWZiNzYzYmQzMDRiMjRiNTVhIGxlZ2FjeS10cnVuaworMTY2NjkgYWJmYTRlNGIyZjNlOWFjZTJlZjI4MmRlZGZhZDY3OWRjODg0MWRjMyBsZWdhY3ktdHJ1bmsKKzE2NjcwIDBmNjgwMThjY2U1OGY5ZjFmYTlkYjQyNzZiYmZmNzdlZjdhNjEwNGIgbGVnYWN5LXRydW5rCisxNjY3MSBkZDgzMGM5ZTVjMjE4ZmFlNTkxODI2ZTQwMTQ1ZTMyNDU5NGY4MzhlIGxlZ2FjeS10cnVuaworMTY2NzIgYzRlMzIxODM0MjUwM2FjNjI2N2RhMjE1MTU2ZDMxNWMzYzMyZGExOSBsZWdhY3ktdHJ1bmsKKzE2NjczIDg4MWQzOThhNDRlMDcxMGFlMDBmZDcwNjNlMDNmM2U2M2M1NTcxM2QgbGVnYWN5LXRydW5rCisxNjY3NCBiZjcwNjJlOGVlYWNmNDNlM2U3NjcyZDc3ODQ0ODEzZTA5ZGYyNTFlIGNucmktMTYtc3RhcnQKKzE2Njc1IDMxYTdiMDA0NTU4ZmI3YzNhOTEzZTBkYTFmOTgzZmQ1YzE4YmQ1NDggY25yaS0xNi1zdGFydAorMTY2NzYgMzNmZDYwYWJkNDgyMmM0YWFkNTcxYmU5Nzk2N2EwOTViMjQ4ODg2ZiB1bmxhYmVsZWQtMi4xMDguMgorMTY2NzcgMTVhZDQwODhhNzAwYmZiMDViZDMwMGE4NmFmNzBiYzI5YTUwNTI3OSBsZWdhY3ktdHJ1bmsKKzE2Njc4IDhlZWFmZjk2YjRjMjQ0MjJmYWFmMjcxNmYzMWMyYWFjODAwYzBhZjggbGVnYWN5LXRydW5rCisxNjY3OSAwOTU2NTc4NDcxNWUxYzY2NTVlNjk4OTlmNjkyOWEwMDVmY2YyMTkyIHVubGFiZWxlZC0xLjk4LjIKKzE2NjgwIDNhNWE3ZDI3ZjFiNzJiOWRlMWY5ODhhMThjZDA0NDRiODZkOTEwYTYgbGVnYWN5LXRydW5rCisxNjY4MSA2MjQ5NGE5NmRjY2FiNWFhMjM5ZTY3ZWRlOWFmNjFiNjBlZWVmZGVjIGxlZ2FjeS10cnVuaworMTY2ODIgYzBjMTczNDdkYTViYmVjY2JlZmYxYzc1ZDFlYTNmMDFkYTUwNDQzOSBsZWdhY3ktdHJ1bmsKKzE2NjgzIGFhNDlkMDc0ZjcxNjFiMDcyN2M5NjUzY2FjMDk2OThmYmJiYTUxZGQgbGVnYWN5LXRydW5rCisxNjY4NCA5OGYwOGNhZmUxOWIxMjU0MWVhZjNkMWEzY2E2ZmUyM2Y1NjY5YTMyIGxlZ2FjeS10cnVuaworMTY2ODUgOGYwZmMwYjVmNzg0Y2NkMDZhMGM3MTE0NGZiZGYxZTNhODViNDNmMiBsZWdhY3ktdHJ1bmsKKzE2Njg2IDA4ZmViNTM4YzgzNzE2MGViNDg1ZTljMDQ0Y2IxOTk5NWE3N2E4OTcgbGVnYWN5LXRydW5rCisxNjY4NyAyMTkwYjc1OTk4MzczNGEwYzRlOTRkZjBkNTIxZGM4YTEzYzg2NDJhIGxlZ2FjeS10cnVuaworMTY2ODggMWM1YmRiNjYyM2M4YzExNDg1YzI1ODkxOGZjMzNlOGMxMjQwYmQzNSBsZWdhY3ktdHJ1bmsKKzE2Njg5IDc3YjllMDQxYjU5NWNiNTA5ZDBkODIyNTEwNzQyMDBjNDliOTRmYWYgbGVnYWN5LXRydW5rCisxNjY5MCBjMzMyMGQyNGQ3ZGU0NmFkZDBlZTRiNzMzODAwYmY5MmY4YzZjMmZkIGxlZ2FjeS10cnVuaworMTY2OTEgZTJlYTAwNjIwZWQ2ODk5YTRkNDE3NDY5MDYxNjE1NGI4MTI1Zjc0NCBsZWdhY3ktdHJ1bmsKKzE2NjkyIDA0MzBhMTMwOTU5NmM4NzkwZDM3ZDc2ZmQ3OWY3NzUwZTExYTYwMmIgbGVnYWN5LXRydW5rCisxNjY5MyBkM2JmOTdkNTMyYTA4YjRmMTNmMmQzZjUwNzk1NTM2MWRjNWEyMzkxIGxlZ2FjeS10cnVuaworMTY2OTQgMjVkZTcxOTNmOWZjZWE2NTgzNDUwNGE3NmY1OGRmZjJlOTdjYmVhNSBsZWdhY3ktdHJ1bmsKKzE2Njk1IGEwYjM2NTk4YjMxZDBkMjk4OTkxMTc0NTkzZjRhYmYyZmFmZmFiMmQgbGVnYWN5LXRydW5rCisxNjY5NiA5YzY5YmQxYTI4MjJmMGU1MDVmMDhkZDRjMzQwOGFjMzUzM2NlY2NkIGxlZ2FjeS10cnVuaworMTY2OTcgZTMwYTE5NGRjYTAxNDgyYzRkZTIxYzY4ZGI2NDBmMTU4ZTVlMDdmZiBsZWdhY3ktdHJ1bmsKKzE2Njk4IDBlZmRmNDViZjZiYjZiOGQxNjM4NjA4MzE3ZDljYzM1YmY0MDk0ZWQgY25yaS0xNi1zdGFydAorMTY2OTkgMGFjOTE5Y2E4ZTY5NjI0MDU5ZTg3YTVjY2RlNTA1ZWNiZTc4N2M1NCBsZWdhY3ktdHJ1bmsKKzE2NzAwIDk5ZTE5Yzk4MmY5NDQ1ZGY4Y2Y4YzMxY2YyZmI0MTFkZThhNDE2OGUgbGVnYWN5LXRydW5rCisxNjcwMSA5YzFlNjg5ODQwMjczZjk0MjM3ZTIxNzIyZDVjZmY0ZmQ4NDE2NTM0IGxlZ2FjeS10cnVuaworMTY3MDIgYzQ1YWNjYzhlNmQwMzZmZjc1YWRhNWJjNTE1OGE2OGI2YWE1NzAzNiBsZWdhY3ktdHJ1bmsKKzE2NzAzIDQ0NmMzNjE2YzMyM2IwZjQ3YmZmZWE5YzNiMDFmNjljNzQ5MmU4MzIgbGVnYWN5LXRydW5rCisxNjcwNCA1Mjc1N2JhZjAzMGRkYTBmMDgzOTE0OTUyYTUzNmEyODk3NjMyZWJiIGxlZ2FjeS10cnVuaworMTY3MDUgYjM0N2ZjNWRhZWI3MGM3MDA2ZDM1OGY3ZDRhNTg2ODY4Yzk1NDQzMyBsZWdhY3ktdHJ1bmsKKzE2NzA2IGE0MjU5YmZjYTViZmU4YmEyZjJmMDFmZTAzNGEzMmU5NzUwNGYxOTMgbGVnYWN5LXRydW5rCisxNjcwNyA2YmYxMjgxZWM3NjM5YmRlNDE3MTY4Yzg0ZGE0NTkzNWEyMjIyODAxIGxlZ2FjeS10cnVuaworMTY3MDggNjAyNDM5OWI3OGJmYTYyZjkzZGFkOWIwZjA1ZDA2NTZmZWJkOWZmOSBjbnJpLTE2LXN0YXJ0CisxNjcwOSA5NDE0ZDAzMWEyYzNhNGNiZjY0Y2U4MThmNTg0MjE2NWIxMzU0YTRlIGxlZ2FjeS10cnVuaworMTY3MTAgYzhmZjgwY2VhNGY3YmU2MTkxZDVkN2NjOTYwOTRjY2NmZDZhOGQ1YyBsZWdhY3ktdHJ1bmsKKzE2NzExIDhmNDNlNTkyY2Y5YTRmNjhhNWIwZTUyMWUyZDhjNDE2MjMyZGE4MGUgY25yaS0xNi1zdGFydAorMTY3MTIgZDcwYWVjMmUzNDljZWFiNWU5ZjI0YzhkYzVlMmJmZjIxY2YzODQwZiBjbnJpLTE2LXN0YXJ0CisxNjcxMyA0NjZlNWZmMjg5MjYyMGEwMjdjMmY0OTgxZjVlODgzYmVkOWNmOWY0IGNucmktMTYtc3RhcnQKKzE2NzE0IGY0MDVmY2JhYWVmNWE5NzU0ODBjOGI4MTM4YzkwMDg4ODlhN2ZlMTkgY25yaS0xNi1zdGFydAorMTY3MTUgZTZlZmNmY2YxNzRhODdkZGQ0OTFkYWQxNTA3NzU5MTI2YzY1YjJmMyBjbnJpLTE2LXN0YXJ0CisxNjcxNiBjZjUwMzQ1MGYwN2IyNGM2MmQ2NmQzOTE3OWExZTVjMTkyMjdlMzAwIGNucmktMTYtc3RhcnQKKzE2NzE3IGJkNjdhNGQ2ZjRmOGMxZDZkNzVhZTgyOWZmNjQyMWMzYWNhYTE5MzQgY25yaS0xNi1zdGFydAorMTY3MTggMDgwMjNkMjZhMGNlODc1MDllMjQ2OWFhNWQ2MWE5MzViOGE2MzM5MCBjbnJpLTE2LXN0YXJ0CisxNjcxOSA1OWM2ZTk4MzJhMjA0MjUyNmVlMWRkYTNmMzE1ZDliNzQ0NTlhMDAzIGNucmktMTYtc3RhcnQKKzE2NzIwIDY5M2I2MTU4MTc0NjY5MDdjYmY3NDY0MWM3NDg3NmE2YTdiZDI0NGQgbGVnYWN5LXRydW5rCisxNjcyMSA0ZDE2YzhkZDg5OWM0ZWVhMjEwOTQ2OTFhNzkyNmJlNjMxYTk0ZjA5IGxlZ2FjeS10cnVuaworMTY3MjIgYmMwMTUzYTczOWFlZjQ2N2U1YTJjZDMxYTA3YTliMDFkN2RiZTVmYyBsZWdhY3ktdHJ1bmsKKzE2NzIzIDAzZmE0MDUyOGQxNzlmYWI2NTI4MDc5ODc3MjE4NjJhNzgxMWU3MGYgbGVnYWN5LXRydW5rCisxNjcyNCAwODA5MmQxZWIyNmFmOTdjOTZmYjI3MzgyYWQ0MjA1ZjllNWJhNjNjIGxlZ2FjeS10cnVuaworMTY3MjUgMzM5Njk3NTFlMzUxZmQ3OTA0OWY3ZDk0ZWUzYTdlOWI5NTJiYjExMiBsZWdhY3ktdHJ1bmsKKzE2NzI2IDUyZmNkMDk4NTQ3ZTllY2IzNjgxYTY3NjM4Nzg5MjUwODJiNWI0MTcgY25yaS0xNi1zdGFydAorMTY3MjcgZDA1N2NkNTQzZWQ5NjZkZjAzNjEyYTZjNDJlMDcxMWFkYzc2MGExOCBsZWdhY3ktdHJ1bmsKKzE2NzI4IGM3YjNmZTg0MzM1ODY3NWMyYjcxMWYwNGVkZTc0YjkyNjY1ODZkYzUgbGVnYWN5LXRydW5rCisxNjcyOSAxZDE3YzVlNjdlZjU3MjUyNDg4MDA4YTJmOGFlNTY5YTg1MjZjMzk4IGxlZ2FjeS10cnVuaworMTY3MzAgNjU4YjA4NWUxNzViZjg0N2Q3NmQ2ZTFhMTZjZWYxMjYwYWNiZTE5ZCBsZWdhY3ktdHJ1bmsKKzE2NzMxIGRkZjMwMmQ2OTIxMTNlNmU0YjlkYjIxY2M1Mzc2Y2Q2MTRkNWNiMWUgbGVnYWN5LXRydW5rCisxNjczMiAyYTA0ZmJiN2MwN2Q5NjQ3N2RiMDcyNTZhMmQwOGU2YTY5YTFlOGNhIGxlZ2FjeS10cnVuaworMTY3MzMgYjZlMDdjMjcyNDg3OTAwZmRkOTc2OTBmZjIzM2Q1ODM3MmFhZDVjNiBsZWdhY3ktdHJ1bmsKKzE2NzM0IDI2NmZiNjMwMmYzMTE3ZDcxZjhjMTY3Mzk4NzI1MzA0Y2QxN2JhMTkgbGVnYWN5LXRydW5rCisxNjczNSAzOTI3YTRkOWMyZmIwMmRhMjcxOGYzY2Y0M2Q0YmMwOTk0YTZiY2NhIGxlZ2FjeS10cnVuaworMTY3MzYgZjE5NGQ4YjI0ODY1OTEyYmQxNmMxNzU1MzAxZTliZTFhMzg3N2Q3MiBsZWdhY3ktdHJ1bmsKKzE2NzM3IDRlYWE0NjNjMDMxYTFiZGI1ZTc3OTFjMzcwZDA0MTA4ZTA2ODJkZDQgbGVnYWN5LXRydW5rCisxNjczOCA2MGM3Y2RhMzVjZmE0ODc3ZWNjNWExNTQ4ZTkwMzYyMWNhODU4MDhmIGxlZ2FjeS10cnVuaworMTY3MzkgNzE3MmMyZDhiOTJiNjU4ZjJjZGM2ZDJmNGYyMjJjNzA3M2NlZjdkNCBsZWdhY3ktdHJ1bmsKKzE2NzQwIDRkMTRlZWY4ZWEwNzY1NjhiYTc1MjkwNjcyYzUwMThhYjU4MzAyMmEgbGVnYWN5LXRydW5rCisxNjc0MSAyZTBkMWFlYTljMzc0MWUwNGFkZmY4ZGExNTM3NjIwZjRmNTMyYjkxIGxlZ2FjeS10cnVuaworMTY3NDIgNDRiMWI4MThmMjhlOTI1ODMzMWFkYzRiNGVmMzIzYmI2MGE4YmRlOSBsZWdhY3ktdHJ1bmsKKzE2NzQzIDI1ZmQ5ODQ2YmQ1NDJjMzQ0ZjBjZTU4MDczNDEyM2ViOWMyY2FlMjIgbGVnYWN5LXRydW5rCisxNjc0NCA0NjRhMjE5MGQ5YjY3NmE2OTM1N2ViZmNlY2JmOTU2MzQxOTcyZDA3IGxlZ2FjeS10cnVuaworMTY3NDUgODAwODlhNDUwYzM0ZDBiNWJkYTFmNDZiMWUzYTA2MGI5YTQwNjIwOSBsZWdhY3ktdHJ1bmsKKzE2NzQ2IDg3YWYyYzM0MWI3OWJhMGI1NTkxMDZkNjUwNDhmMjNlYTQxMzliMjYgbGVnYWN5LXRydW5rCisxNjc0NyBlY2U3NWIwN2IxMzYwODAxMGNiNWEyOTdmNGUwY2E1NjNhNTIwZTU4IGxlZ2FjeS10cnVuaworMTY3NDggZDU2ZGQxNTMwY2UxMTMyYzI1N2MxZWZhY2YxMTFjOTA1MWMzNDcwYSBsZWdhY3ktdHJ1bmsKKzE2NzQ5IDMxYjI1YWMxZjAxOWFmMzAzYzY2MmJhMTA3MGFhN2ZmMDI3YzNjMzIgbGVnYWN5LXRydW5rCisxNjc1MCA1NzgwYjE5OGFiYzg5OWVhNzg3NTgxYjQ5ZmNlMWQwYjc4MWNlMzI4IGxlZ2FjeS10cnVuaworMTY3NTEgNjQ4YmE0MDQ0NDU1OWZiNGZhNWRmNDJhNjRiY2RmNDA0NDUwYjRiYSBsZWdhY3ktdHJ1bmsKKzE2NzUyIGFmZGIzZjQ4NWQ4ZjkzZTM4N2YxZTQ3Yzg2YjQ2MGQyOTNjNjI5ZDggbGVnYWN5LXRydW5rCisxNjc1MyA3YTk5NDUwZGEyZDY0ZjdiMjUwNWVmYTRjOTg2YzQ0MDZjNTYyOGI3IGxlZ2FjeS10cnVuaworMTY3NTQgMTkxZjIwZTA0NzNlZTFmZmM0MGU4ZDNlM2I2YzQ4YzRlZGM1NTFlNSBsZWdhY3ktdHJ1bmsKKzE2NzU1IDI2ODk4YTk4ZGI2ZWQwYmMxYWQwNTE0ODI2ODBjZGIyMWJiMDk0MDMgbGVnYWN5LXRydW5rCisxNjc1NiAyOGFmYmM1ZTA3NzAwNGFlNzJkN2YxNzgwMjEzMDZiNjRlOTg2NDc1IGxlZ2FjeS10cnVuaworMTY3NTcgMzcwYWRlODhhNTJhNTQ0Y2JkNjQzOTgyZWY5YTJjYjczODNkNDU2ZCBsZWdhY3ktdHJ1bmsKKzE2NzU4IDFiMTU2ZWY4MjgxYjhiZWFiYWJmYjc5MTU1NTg5YzhlYmY4MGYxMGMgbGVnYWN5LXRydW5rCisxNjc1OSA3MGM0N2FiMDFhODVlMmJlY2UzMGM4ODYwOTFiYzM3NTU2OTAxOWJmIGxlZ2FjeS10cnVuaworMTY3NjAgNzQ0NWQ5OWRhOGRkODgyNTUxNDI2NmYzZGQxNjY5NGIxMWQ0NmJlMiBsZWdhY3ktdHJ1bmsKKzE2NzYxIDgyYTIyZDgyOTYwNzEwZWE5NDY3ODA3ZDA1YWE0MGJkOGI4MDQzYTUgbGVnYWN5LXRydW5rCisxNjc2MiA0OTRjZjVmYjhmMTc0ZWYwNDBjNDgyNWViNGNjZDZiNjI2NzlhMzcwIGxlZ2FjeS10cnVuaworMTY3NjMgOGU4YThkZjBmZTczNGYyYjkwYzhhZTMwNTY3ZWYwMGVhMzlmNmVhNCBsZWdhY3ktdHJ1bmsKKzE2NzY0IGI5MDAyZGE0NmY2OTNhYzdmNDcyODM5OGQ3NzNhYzlhOTA0M2I0NWMgbGVnYWN5LXRydW5rCisxNjc2NSAwYmIwYzcxNjdkMWZjN2IwYzQ3MWZjNGE5MWMwMTQ4N2EyZjgzYzkwIGxlZ2FjeS10cnVuaworMTY3NjYgOGJlNzUyNDA4NWQ2MTk0YTYzODI5MDcyNmM3NzRlMzRmNDY2YzBjYiBsZWdhY3ktdHJ1bmsKKzE2NzY3IDdkZGU3NGMxZWJiZTRjZjUyMzg3OTdlNWZhYjE1N2ZiYzllYzQwYTQgbGVnYWN5LXRydW5rCisxNjc2OCBjOWFhNDllODc0OGU3MTViNGQ1MzcyYWEwMzBkODFlMDllMWQ4NzY1IGxlZ2FjeS10cnVuaworMTY3NjkgNzA3OWFhMDViYmQwNThjOTU2NzkwOWY2OTYzN2RhYWNiZDRlMjA3OSBsZWdhY3ktdHJ1bmsKKzE2NzcwIDJlZTBmNDdmMTRkM2IwYTQ0ZDU4ZjZkNmNiZWY2MGE5MDQzYjAxZDkgbGVnYWN5LXRydW5rCisxNjc3MSBhMjU2YzEwMWJmMjc5NWVjMjFlYTI0MmM5MzU1NjNjZTQ4NGNmY2E2IGxlZ2FjeS10cnVuaworMTY3NzIgNTYwMTc1ODAwYTA3ZTcxMmRkODI2ZGY4MDMxMGI4OTNlYzdjZjQwOSBsZWdhY3ktdHJ1bmsKKzE2NzczIDkxZGRlZWQxMmZhNzAzYTZjYzQ4NzIxYmJiNzBhNzFhOWRjNTMwNzIgbGVnYWN5LXRydW5rCisxNjc3NCA3YjdlZTU4OTAxZmIwZjBhN2UwZjJmMDdkMDkyYzdkODkwNmFkMWYzIGxlZ2FjeS10cnVuaworMTY3NzUgODQxY2Y5MDEyYWMzY2JmZmFhMTgyY2JlZTNiOWQ5YmQyOWFiYjRjOCBsZWdhY3ktdHJ1bmsKKzE2Nzc2IDU1ZTM5ODgyMDViMzQ4MGJjZTdlZDA1ZWUwY2FlMTY4ZDRlM2EwNDggbGVnYWN5LXRydW5rCisxNjc3NyBkOTkxODNjZGJiZGM5N2E5YmI5MTgwZmFjZjFhZDc2M2FmZGFlMjdlIGxlZ2FjeS10cnVuaworMTY3NzggNGVhYmQ3ZDM5MjVmYzk4Yzg5NzYwZGQxMmNlYWFiMzVlNWFiYmI0NiBjbnJpLTE2LXN0YXJ0CisxNjc3OSA4MTU1YThiMzA0NDRhNGE0YTZlZjBmNTBhMzk4Nzk4Y2RmZDFhODg2IGNucmktMTYtc3RhcnQKKzE2NzgwIDZlMmMwZDBjM2ZkNTZkNGFlOTc0YTAzNDE5YzAwNWNlYThjNTQ3OTMgY25yaS0xNi1zdGFydAorMTY3ODEgZGUyYmZjMTVmOWVjZTVhNWJlNDUzMjQyZWRlYjRiMDA1ZTYxYWM4NCBjbnJpLTE2LXN0YXJ0CisxNjc4MiBhYTQyMDI3MDIyNTI2MjcxMWVkNmUwMjY3MTBhMThiMjViMGY4OTc3IGxlZ2FjeS10cnVuaworMTY3ODMgYzI1OGYwNWViODVkYzk4YjM4YTM5NDk1ZWJmN2IxNjFkN2MwYmVjYiBsZWdhY3ktdHJ1bmsKKzE2Nzg0IDRlMjhjYTM0NWNmZWU3NmZiZWQ1NTViOTFkY2JlMzk3ZWEwMGZhOTcgbGVnYWN5LXRydW5rCisxNjc4NSAzZTZlM2QwNWQwMGI3ZDVmMTZjYzg3YjZlNmFiM2RmMzBiMDNkNjEyIGxlZ2FjeS10cnVuaworMTY3ODYgMzA3MTNkNTI4OGRmNDljNDQyNTJlOTA3YjFmYTRjYmJhNzJhMDI4OCBsZWdhY3ktdHJ1bmsKKzE2Nzg3IDhhNGExNzk0MTRkNGFhNDg0MWIzNDBlZDA5Y2JmZmFkZTU1YjY2ZTUgYXZlbmRvcgorMTY3ODkgNThhYzgzMDQwMWJkNWM5NDlmZTA1MWIwYjc5OWZlM2NkOGNkYmI5ZiBhdmVuZG9yCisxNjc5MCA1YWRhOWZhNTQ4MDE1YmViNjlhZjUwNzI4ZGI4ZjAzNjUyYTFmNjYxIGxlZ2FjeS10cnVuaworMTY3OTEgZWI5YTM2MTYzYTllYWE5OTQzMWM5ZWQzNDBkODg2M2M1ODRhNDMxOCBsZWdhY3ktdHJ1bmsKKzE2NzkyIGIyY2Q2NmU1ZWE0YzI0YjczZDUzY2Y2YjhkOTMyZDkxZDEwNTk4OTcgbGVnYWN5LXRydW5rCisxNjc5MyA2M2RlN2YwMGI1YmNjYmU5YmE5N2NiYzQwYWVhNGM5YmM4ZDU5ZGFlIGxlZ2FjeS10cnVuaworMTY3OTQgODhmNGU3MmQ3MjQ1MzlkZGQzMGNmNDQzOWRjZjA3MDBiNzY5YTFmZCBsZWdhY3ktdHJ1bmsKKzE2Nzk1IDcyZjY4MmViOWFkYmU0MWIyYTkyZTU0ZDMxODU0YWJjYzczZTc0MmUgbGVnYWN5LXRydW5rCisxNjc5NiA0M2Y0ZjhkMTU5NzFlYTI0MmZiOTRmMzU0NGNiNDdlMmFjYjM1OTUxIGxlZ2FjeS10cnVuaworMTY3OTcgMWIxMDdjOWJhNzAyMTM2NzlhNzFjY2VhMDA0OGI2NDhjZDY3MjI4MCBsZWdhY3ktdHJ1bmsKKzE2Nzk4IDJjNDI0Mzk1OTRiN2U4MDM0OTEzNjY0YjY4ZDU1Zjg2N2QyMWRiODEgbGVnYWN5LXRydW5rCisxNjc5OSA2MTM0N2VjYjliMDEzN2VlOWZkNTg2NjU0MDNiMzU2N2YzNjM1ZDVhIGxlZ2FjeS10cnVuaworMTY4MDAgNDAwYTVlM2FjNzZjOTRhYWJkOTUxNTkwMjgwMjhlMzUwYzIzYzI4NCBsZWdhY3ktdHJ1bmsKKzE2ODAxIGYzYmZjZWU3NDVhNzYzNmNkZGU4YjM4NmEyZWRmYjVjYWUzYjUxNzYgbGVnYWN5LXRydW5rCisxNjgwMiBlNWE3NGNmY2M5NzFjMDVlYjgyMWM2ODNjNDg5NjQ5OTg1MjA5ZWRhIGxlZ2FjeS10cnVuaworMTY4MDMgZjI3OTJlYWQxZjA2ZWU4ODlkZjI3Zjc4ODZkZGI0NjcxNDJlMzhmZSBsZWdhY3ktdHJ1bmsKKzE2ODA0IGE5NTVmZDVkZTAzNTA1NDhkZWM3ZjQwZDVjNmEzYjY0YTM0OTU5OGQgbGVnYWN5LXRydW5rCisxNjgwNiBhMjg0ZWQyMWEwZGRhZTcxZWNkNWE4MGY3NzQ2MDlhMjU0ZGJjN2I4IE5vbmUKKzE2ODA3IDc4MzRhMTEzY2UyNDgwMTBkYWMwNGY4NDhmYTdjMzhkNTg2M2JmOTIgbGVnYWN5LXRydW5rCisxNjgwOCA5N2Y1Mzg4YTZkY2UwNTdhZjA4NTZiYmNjMjQ4YWQ0YTZlN2Y0NzIxIGxlZ2FjeS10cnVuaworMTY4MDkgNzE2ZTFjNGUzZjc4OTQ3MjZmOTIzYTkwNzQzZTI1MzdhNjE0Mjg1MCBsZWdhY3ktdHJ1bmsKKzE2ODEwIDJlODdiYmI4N2FkNDQwNWM2ZDIxMThkZTgyZTA3MjU2YzExODFiODYgbGVnYWN5LXRydW5rCisxNjgxMSA2NWMxYWJmNDUxZGMwNTMwZjcyZjNkNmFlNjU1ODM4ZThlYmI3YzRlIGxlZ2FjeS10cnVuaworMTY4MTIgZDgwNjllZmNkNzZlNDgzNDdjODBmZWM1NzA5ZmRmOTk3NWZkYmM4YiBsZWdhY3ktdHJ1bmsKKzE2ODEzIDE0M2ZmYmY4N2U1MWJiMWIyMGExNWU4YTE1ZjEyY2ZkMWUzOTk3NzkgbGVnYWN5LXRydW5rCisxNjgxNCAzMGRiYjMwZmYwMTkxOWIwZTU1ZWQyZjBlNWU1NDQ1Y2M4ZTYyNGM3IGxlZ2FjeS10cnVuaworMTY4MTUgNDQzZjNjNzdkODhjZWQ2ODc3YTJkOWYzMDQwZGFhMDBiYmFhODE2NyBsZWdhY3ktdHJ1bmsKKzE2ODE2IDU1ZTRmNDI4OWUxODgzM2I1NzAyZjUxNWY3NTczYTdmMjMzOTRlNDQgbGVnYWN5LXRydW5rCisxNjgxNyA3M2Q5NzZhZmE4ZDQzZjQ5ZTljZjE3MTQyYmIxMWU2MGM1OTZjNWU4IGxlZ2FjeS10cnVuaworMTY4MTggNTkxYWZlMmZjODIzMGI2MDk0ZWY3MzFjMGNkNjEwYjY3OTFiYTJhMSBsZWdhY3ktdHJ1bmsKKzE2ODE5IGYzNjkzODg3NGNlNWFiYjk4MTBkNzJmMTMxMWUwNTE4NjlmN2UxMjYgbGVnYWN5LXRydW5rCisxNjgyMCA5YTA1MjY5NmNhMTIzN2JiNzJjZDE2NTQzZDFlMTY0ZjczYzE1ODFhIGxlZ2FjeS10cnVuaworMTY4MjEgOWNkYjZmOTc5ZmE1NTBhZmZiNTZhZDU5ZjhhM2VkOGEzY2JlYzA4NyBsZWdhY3ktdHJ1bmsKKzE2ODIyIGVkMzY5ZjBhYTMyYjM5NjNhYjlhNDNjZDhhMmVjNTM0YmY3ZDFkYjkgbGVnYWN5LXRydW5rCisxNjgyMyBlZGEwOWY4MjRhOWZiOTA4YzZjNTFhOGViODU4MjdhN2QxOTExN2RkIGxlZ2FjeS10cnVuaworMTY4MjQgNmM5MWFkOWMwZTA2YzNjZWI4NTk1MmU4ODQ3M2I0YTk4NzhhNzFhZiBsZWdhY3ktdHJ1bmsKKzE2ODI1IGZhYTk3MGYxNTQwZmY5NGViODc3MWVhMWQwYzIxZTBiZmU5YjgwYjAgbGVnYWN5LXRydW5rCisxNjgyNiA0OWM3YTRkZDlmNjE1ZDc0M2QzMzZkNmNlYjNkZTMzZmVhNmVmZGExIGxlZ2FjeS10cnVuaworMTY4MjcgNDljODMwNTAwNDgwMWVkYzQxYWFiNTliOTNhYTg4MTFhZTVjYjg0NyBsZWdhY3ktdHJ1bmsKKzE2ODI4IDgyZjc5NjE4YjQ0Mjg1MTgwNmM1ZDBhNDQ2MTgzMjY2MTFiYTM3ODggbGVnYWN5LXRydW5rCisxNjgyOSA2YzdmYTUyMzcyNmZjNTU2ZmFhZjEyOThhNzIyNjYxMDkzNWQzMTViIGxlZ2FjeS10cnVuaworMTY4MzAgM2Q2OGQ1YmNjZDQwNmU4OGQ1YjU0N2FiZTk4NWQ1ZTJkM2VmMWY4OSBsZWdhY3ktdHJ1bmsKKzE2ODMxIDliOTQ2MWE2NTZkZGM1NTdhYzM5YTczOWVjNWEyNGJkYzhlNzM3ZWEgbGVnYWN5LXRydW5rCisxNjgzMiA5YTI5MTg4OWFiNWYxNzg4NDY3Y2UyNjUwMWQ5ZDc3MWZjN2FlZTA5IGxlZ2FjeS10cnVuaworMTY4MzMgMTI4ZjY0MTE5MWMzM2M4OTUzMjViYmY4M2E3N2VmYzljNjVkYTQ5MSBsZWdhY3ktdHJ1bmsKKzE2ODM0IDBkODA1ZTIzOWQ4ZjQ0Y2ZlMjNhNmQ4NmM5ZDVmODhlYTM3NmMyOWEgbGVnYWN5LXRydW5rCisxNjgzNSA1OTg0YzNkNzYxZjc4NDQyZTI4MDkwMzRjOTU5ZDg2OGI4MTkzZTRlIGxlZ2FjeS10cnVuaworMTY4MzYgYjRiMjYxMmVhMzMzMGZkN2NiZWNhMWZjNmE0ODY1Y2M1YTg1NmYxNiBsZWdhY3ktdHJ1bmsKKzE2ODM3IDViMzRiNzBlY2YyMmZkYjRhOTNmMDk1MTIwYjJmNTk0OWZhMzUxZDIgbGVnYWN5LXRydW5rCisxNjgzOCBkNDQ2MDNmMmI5Mjg5YjRhNjgyNzllMDUwZDMxNzkyZDA4MTg3M2JmIGxlZ2FjeS10cnVuaworMTY4MzkgNzQwMjkwYTU2MTkwYTEzM2NkM2ZkMjUzM2IyZWJmNjc3YTQwZGE4MiBsZWdhY3ktdHJ1bmsKKzE2ODQwIDA0NjBjY2NlZmU0ZTNiNmU0OGM2ZGYzZjViOTgxOWY5MzVhYWYwMzggbGVnYWN5LXRydW5rCisxNjg0MSBhZTIyOGE2NDI5M2UxMmRjYmMxMjQ2ZGFhMmI2YjFhODQ1Yzc4ZWFjIGxlZ2FjeS10cnVuaworMTY4NDIgMjE5Y2U5NjIyMzUyNTE0ZGJmMjI0MTczNzM5ZWQxMzE4YmE1ZjMzNSBsZWdhY3ktdHJ1bmsKKzE2ODQzIDY3YTU0NDhjOWEwZjI1YTc0MWM2ZjA1ZGYwMWZlNDBlN2RlZDZjMzMgbGVnYWN5LXRydW5rCisxNjg0NCA1YjBmM2M0MDA2MGZjMTgyMDJmYTgyZjUyYTRkNGM2NjI5MGM4MjdjIGxlZ2FjeS10cnVuaworMTY4NDUgZjVkOGU3M2Q3N2I3ZjViYmI2NThhNmU0MmRhZDc2MjAwNWU1MWFmYyBsZWdhY3ktdHJ1bmsKKzE2ODQ2IGE5NmQ3YzQ1ZDk2MWYzMzYyOTNhYWFlY2YyNTQ2ODE5ZDgyYTExZWIgbGVnYWN5LXRydW5rCisxNjg0NyBkMjZjYzViZGQyNDgyMWU2YWE2YjU0YmJlNTA2NGE0MWM4YmRkZjJhIGxlZ2FjeS10cnVuaworMTY4NDggNzdhNjE1YzkyMTdlMTk5ZTkzY2Q2NjQ3MDhlYTFmODZiY2Y0N2ZkNSBsZWdhY3ktdHJ1bmsKKzE2ODQ5IDNkZGZhMmQ2N2JlNDY3Y2MyZjQ1Y2EwYjAxZGJlN2JmMjQxYTViYmMgbGVnYWN5LXRydW5rCisxNjg1MCA5MWM2NTk5NjhhODAxOGUyNjFmZmIzZDhlMjRhNjVhZmVhMjlkZjhkIGxlZ2FjeS10cnVuaworMTY4NTEgNzliZjZiMzhiN2Q1ZWU5NjhiNjQ4OTcxOGQ5NDczMWY5ZDIwOGQxZiBsZWdhY3ktdHJ1bmsKKzE2ODUyIDMyMDQ1ZDQyM2E3ODY5ZjAwMjU3MmIxYjJmYmVhYjM0OTM3YzU5N2UgbGVnYWN5LXRydW5rCisxNjg1MyA5MWY4NDdhNzgzZDJhMDI3ZjVmNWM4MjU4ZmEwY2FmY2NmZTdlZDhhIGxlZ2FjeS10cnVuaworMTY4NTQgMTgzODUxNzJmYWMwYjcwOTliZDJkMjI2NGRmNjE0ZWQ0NDY2ZjA4MyBsZWdhY3ktdHJ1bmsKKzE2ODU1IGEyOWE4Y2Y1ZTY2ZGQzZjdmMTY3N2RlYmI1MzgyOTBmMTYzZDY1NzUgbGVnYWN5LXRydW5rCisxNjg1NiA4MzA4MDUzOWY3YjRiODQ5OTM4YWMxOGFiOWIyNmU2YTRkM2FiOGY0IGxlZ2FjeS10cnVuaworMTY4NTcgNTNhYzNlMjA2MmVmYTk2ODU1ZjkwMzYyZGQxMDRjZGYzNzk3MWQ5OCBsZWdhY3ktdHJ1bmsKKzE2ODU4IDk4ZTMyNTU0ODY3OTAyNjRjMmZkMDZkMzc3Y2I2NjI0NjRmNWYyNjQgbGVnYWN5LXRydW5rCisxNjg1OSAwMjM0NjgxMTc1MTRmNDhlZGU3MmMxNDIxMjQ1NWJkMTA0MTQ1NDZlIGxlZ2FjeS10cnVuaworMTY4NjAgYTkwNWM1YWEwNjkxY2RiOWVhYTZjNDVlYzE3MmY2Y2Q5YjhhODg2YiBsZWdhY3ktdHJ1bmsKKzE2ODYxIGM0NDQ0ZjY4ZWJmOTY3NzNmYmRhYmM5YTA4NzUwZGVhMmJlYmQ3MzYgbGVnYWN5LXRydW5rCisxNjg2MiAxZjk0YTExZDJiODBiZjQ4NzgxNGJiNjdhNjUwOGZlY2VkMWFmMzgzIGxlZ2FjeS10cnVuaworMTY4NjMgMGE4N2M1Yjc1ZmUzZDVlZjRkNjRhOWNkYjIzZjVhMWJlZmRjNjQxMCBsZWdhY3ktdHJ1bmsKKzE2ODY0IDhjZjU2MTQ3ZDdiNWRiZjlmYjQ3NjI0N2QxYTk4NTdmMTU0OTdjZjggbGVnYWN5LXRydW5rCisxNjg2NSBiOTEzMTI1NjE5YzhiYjc0MGY1MTAxNmZkMTA5ZTFmYWE1NzE2OWNiIGxlZ2FjeS10cnVuaworMTY4NjYgNmUyZGJhNDVjODNlNWRlNDEzYzg2YzRjN2JjZDc3MjU0NDk5NzhhOSBsZWdhY3ktdHJ1bmsKKzE2ODY3IGZlZTBmNDAyZWNjYjRlMDg1ODliODcxMWNiMWNiYjc3MzBmOGEyODEgbGVnYWN5LXRydW5rCisxNjg2OCAyNzViYzRmOWQ1MGQxNzU4ODMwY2U5NDYxNmNkMTg3NjVmZWU4NDc1IGxlZ2FjeS10cnVuaworMTY4NjkgODBhNDE5Mjk0MmNlOTVmMjNiNWUzY2I0NjQ5ZDI4NDgyMDE1NzIyMCBsZWdhY3ktdHJ1bmsKKzE2ODcwIGU4MzAxNjEyZTdkODBiOTM3NTcyM2U5YWE3MWYyZmM3MjY2NjYzNTggbGVnYWN5LXRydW5rCisxNjg3MSA3YTZjNTg2OWY0NTY2NjQyZDk0OWNjZGEwZWNjNjYwZmQxNmI1ZTRjIGxlZ2FjeS10cnVuaworMTY4NzIgNjM2NWE4NWJmNGZiMWNlZjM5MDNmODAzMzg1NmI0ZmMyMmI3MmMwYiBsZWdhY3ktdHJ1bmsKKzE2ODczIGNhOGRjMWJhZTY3ZDdkYzk3YTc3ZjFlMjk0YmE5NWIwOTAxMzI2ZWUgbGVnYWN5LXRydW5rCisxNjg3NCBmNjlhMzcyNDA5ZmMwZjAxMmQyNGUzZGY4NTQwYjI5YmRkZDU0YTM1IGxlZ2FjeS10cnVuaworMTY4NzUgZDAzNDhhMjZiMDkzOWViYWJjYTYzMDVhNzhkNGNhNmFlMGYxZTA1MCBsZWdhY3ktdHJ1bmsKKzE2ODc2IGRjMmRlZGNhOTNmNzBlY2IxZmY1NzFjNTYwZWEwNzRjNmU3YTA5MmQgbGVnYWN5LXRydW5rCisxNjg3NyA2NTMxZmIxYzg3OWZlOTE4ODdjZTcxMGMyMjkyYmM4OWE2ZThmMDJkIGxlZ2FjeS10cnVuaworMTY4NzggYzcyMmI0YzQyMjlhNjExNTRjOWJmYzJlZmMxY2NkZGJmNjNkYmNlMCBsZWdhY3ktdHJ1bmsKKzE2ODc5IDE3YjdmYzQ0MDE5NWJkNmEwNzM4ODk1YzY3MmMyOThlNDk0NDkwYTMgbGVnYWN5LXRydW5rCisxNjg4MCBjN2ZlNzU2OWU0ZTE3N2Q3NTZmZmQyNmY0NTQ1ZDcxYzJhZjcwYjZmIGxlZ2FjeS10cnVuaworMTY4ODEgYzUwZmVmZmFlODIyMDk0NjhlNDkzMzU1NTA4ZmIwYzJlY2QzZGJhOSBsZWdhY3ktdHJ1bmsKKzE2ODgyIDI1ZWVhODgwNDdlOWVjZmNjYWMyNzlhZTMzNjA5ZmJlYWFiODFkYzMgbGVnYWN5LXRydW5rCisxNjg4MyBkYzJkYjQ1NjJkMDYwMmQ3ZTg0Y2M0ZDlmMmRhMTQ0OTJkZjFlMjQxIGxlZ2FjeS10cnVuaworMTY4ODQgMDM0MDFhZjM2YjVjMGExMmU3OWI1Mjc2NDAzZTM4ZGM5ZTdjYTE0YSBsZWdhY3ktdHJ1bmsKKzE2ODg1IDkyMGZjMjg2ODU0Mzk2ZmQyYTEzNWNhNWFjNjM0Y2QyYTMxYjNlNzIgbGVnYWN5LXRydW5rCisxNjg4NiAyNjZkN2VhZjA2OWU4ZTcyYjAxMGU2NTE2OWVlZTFkOWVhYmNjYWU2IGxlZ2FjeS10cnVuaworMTY4ODcgMWZjZjdiNDM4Y2FiOWI0OTI4YjNiMmNhMzBhZjljYzU0MDY5MGY2YiBsZWdhY3ktdHJ1bmsKKzE2ODg4IDAwODliMzlmZTQ5Y2JjMzIzODhmMGFhYTFmN2U2MjAyYTExNWJlOTcgbGVnYWN5LXRydW5rCisxNjg4OSAzMTRlYzU5ZTRlMTRjZTJmZTU4ZmJkYzVlZTMzYzFmZmViNDZkYzNhIGxlZ2FjeS10cnVuaworMTY4OTAgNzEzZGQ3NmJlMzdiYWM3ODJhNzYyMWI3ZDUzOGRhYjgzNmJmZTU0YSBsZWdhY3ktdHJ1bmsKKzE2ODkxIGM2NGFjODNkM2YxODIyNWRlNDlhNDlhN2U5ODI4ZWE0MzE5MmFkZjUgbGVnYWN5LXRydW5rCisxNjg5MiBmODg0MzEwMWM5NDNiOGE3YjUzZTEyNDJmMWUxZWQ2ZGJlMmUzNDVlIGxlZ2FjeS10cnVuaworMTY4OTMgYjY3ODQ5MWY3ZTExNmY4NTAzZDM5MDMyZGExOTRjMjdiM2ViNjc0NCBsZWdhY3ktdHJ1bmsKKzE2ODk0IGI2NTJhOWFhOTRmMTMzNTFhMTM2Y2NjYTUxOTY3YTc4NTZkMWVjNTggbGVnYWN5LXRydW5rCisxNjg5NSA1MWMyZWVkNjAxNTkwY2Y4M2IyNWY1NzRlYWEyMjdhMTE2MThkZjhhIGxlZ2FjeS10cnVuaworMTY4OTYgNTc3OGY5M2NmMjJiNGMyMTg1N2VmNTU1NDIwNTgxMzlhZTBkYTM0MCBsZWdhY3ktdHJ1bmsKKzE2ODk3IGRlNzQyMzAzYzQ1NjkxMGQ2ZGUxYjY1YTUzYTFmYzZiMjUyM2FmMGEgbGVnYWN5LXRydW5rCisxNjg5OCBlNjc4ZTU4MDQ5YjRjNTQwZDYxM2Y1NzA5ZjE3MTllOGFmYjM1ZDljIGxlZ2FjeS10cnVuaworMTY4OTkgZjE5YmVhNjgxYjY2N2M0Mzg0ZTg0OWZkZjA1YTk3OTk4NmMzYjIxNSBsZWdhY3ktdHJ1bmsKKzE2OTAwIDAyYWJmNzcxN2M5NmUxNzlkOWMzZDRlNTEwMmQ1YTZiMDVlM2Y5OTAgbGVnYWN5LXRydW5rCisxNjkwMSAwYTYzYjQ3ODlkZmNlNGJlMjBjOWRiNWE2Y2RiNmIwNTM2MDVhZjY2IGxlZ2FjeS10cnVuaworMTY5MDIgMDYxMmExY2ZiYmY2ODk1MmE0ZWUyMTZhYTQ1YWUyMDY1YTA3NGRiZiBsZWdhY3ktdHJ1bmsKKzE2OTAzIDViZjU2MzkyNDE5NDM4MzYzZjcxYmZlMjFiZDU1MjU1ZDFjMTdiMjggbGVnYWN5LXRydW5rCisxNjkwNCBkNjM4ZjUzNWY0MDNjOGUxOGVlZThhODRjMzU3OTRjYjIyMDgwMGJlIGxlZ2FjeS10cnVuaworMTY5MDUgNTc5ZTVjNzAzNWUyZDAwMzlkMmI4OWEyMjQ1MDc5ZjI2MDdhZTRjZSBsZWdhY3ktdHJ1bmsKKzE2OTA2IDk1MzQ2MTlkYWFhMTJmNzVkNjVlMzYzYTAwNGU4OTQzZjMyN2IxN2YgbGVnYWN5LXRydW5rCisxNjkwNyBkM2Y1YjQ1M2FkZTg0ZTFkZWE2YWUyMDU3MjZmYmRmMzgwNTNlNzY5IGxlZ2FjeS10cnVuaworMTY5MDggNDY1YzdjMmU4ZjIxNDZkNzYxZmM0MDY3NjAwYzZiYWQ0NWQ0Yzg2NSBsZWdhY3ktdHJ1bmsKKzE2OTA5IGVjNmEwYjRhNjQ3OWE1NTgxNzU1MTgyZTM2YTdkYjA2NDIwYWExYmEgbGVnYWN5LXRydW5rCisxNjkxMCA2MDY3MTRmYWUxYjUwN2M5MDkxYTY4MTZiYmIxMTU4ZWUzYmZhYjgwIGxlZ2FjeS10cnVuaworMTY5MTEgODhkMTFmNDhhMzg0NWI0N2YxMThlOTI4ZjcyOGE1ZWU0NjJmNDA2MyBsZWdhY3ktdHJ1bmsKKzE2OTEyIDAzZGI3YjIzOTJhZTg4YTQwMmI4MjQwZDkyOGNlMDU5MTlkNjk2OWQgbGVnYWN5LXRydW5rCisxNjkxMyA3NDYzOGQyMGM0ZmQwZjQxNjhmNGVjZWMzNmYxMDU0MzJlZTY5MTRlIGxlZ2FjeS10cnVuaworMTY5MTQgNDRlNjY2Y2M4YzA3YmRlZWMyYmExNDViN2Q5OGNiNjYxYmRmMTNhMCBsZWdhY3ktdHJ1bmsKKzE2OTE1IDQ2ODQ4MTEzNWM0OTBiMWEzMTk0MWY1NTUwYWVlYzk5ZDllYWJiYTMgbGVnYWN5LXRydW5rCisxNjkxNiAyZGUwY2MxNzRjM2JlOTFhZTQ1NTAxOWIwYTk1ZDQyZWRkZDY1MjI3IGxlZ2FjeS10cnVuaworMTY5MTcgZTJlZDY5YjgyZDhkNzE4MTg1MjhlMjFjOWU2MGMwNGY4ZmFmYjk3NSBsZWdhY3ktdHJ1bmsKKzE2OTE4IDI5NjM2ZjAyMGQ0YzdiNGE1YjNhZjM0NGM1ZGNkNDZjYTNhOTFiNGQgbGVnYWN5LXRydW5rCisxNjkxOSBmNjU3ZGM4ZmYyNWU5M2I4NzczMDViYmNmYzQ1ZTM2MDE5MWJiMzI2IGxlZ2FjeS10cnVuaworMTY5MjAgZGE2OWI3ZDFmMjBmMGE2Y2JhNGFmMmYwMzZmMmI3ZjQ5Y2IyMDI5ZiBsZWdhY3ktdHJ1bmsKKzE2OTIxIGQ4MDliOWI3NWI5OTM5MzE5Zjc0ODVlNDZiMjYyMmViOTk1ODBkMDEgbGVnYWN5LXRydW5rCisxNjkyMiA0ZGFjOWUzMTQ5YmVhYzk5MGZmMTBlNDQ2OGExMGY5MmI5ZTY2NTFmIGxlZ2FjeS10cnVuaworMTY5MjMgZTk0MzQyZWVhNGY4OGU0MmQ1ZmQyM2E5M2QyYzNhMzExNjRkZWI4YSBsZWdhY3ktdHJ1bmsKKzE2OTI0IDE3ZDMxMjg0NzhjM2I5M2YxYjlkMjU4ODM4ZGI1NDhkMWVkODkwNDcgbGVnYWN5LXRydW5rCisxNjkyNSAzMTQ4ZWZlNTYwNmZjMTgxOGMzM2NjZTM4MTM1ZjJmNjExMjVlMDg4IGxlZ2FjeS10cnVuaworMTY5MjYgMGFiZmNhMDAzNWRjYzgzMmZhMTVjMGUyZDMyNTBjYzA4MWM4ZmFjYyBsZWdhY3ktdHJ1bmsKKzE2OTI3IDg3YjhmMGVhNTBlOGQxNTYwNjUzNDk2M2I3YmRlYzE4YmI2ZDk2MGEgbGVnYWN5LXRydW5rCisxNjkyOCAzZWEyM2UzYzFiMDZlMmE2NDllMzI2OWQyYTk5YTkyNjQxYjNjYWJlIGxlZ2FjeS10cnVuaworMTY5MjkgNGVhY2MwYzkxMjA5MGJhMGU1NmYwNjBkNjJhMWQwZTAwNTJlYjlhMCBsZWdhY3ktdHJ1bmsKKzE2OTMwIDNhM2FkZmRkYzI5ZDFmMDgyM2U2MTVhYzY3NTdiOWVjYTc2NzMyZjIgbGVnYWN5LXRydW5rCisxNjkzMSAwZjgzNDFkY2MzY2JjNmI0YWY2ODZmYjNkOTg5OTY2ZmYwYzQ1YWRkIGxlZ2FjeS10cnVuaworMTY5MzIgOTI5ODA5MjBkNWVkMTBkZTViNWZlYzcxZjcxMTEwNTE2ZTdmMWY4NCBsZWdhY3ktdHJ1bmsKKzE2OTMzIGFjODgwOTk1OWQwMTY0NDE0MGU3MjFkYzUxNDkyN2UxMTdlYjllYTAgbGVnYWN5LXRydW5rCisxNjkzNCA0NGY0YTg0YTgwYTgyNWQ4YmYwYzA4MzA5NDNkNTY0NDUxNTIzNTJlIGxlZ2FjeS10cnVuaworMTY5MzUgZjYzMzhkNzRkY2ExMDdhYmE4NmU0N2U2Y2U1YTE5ZTU4NmExZmIxOSBsZWdhY3ktdHJ1bmsKKzE2OTM2IDgwZDQ2NjhmMWUxMDM3YjUyZDQ4NmI1ZTk4ZGFmNDUzODQ4ZWYwZmEgbGVnYWN5LXRydW5rCisxNjkzNyBjMTRjYTIwZDFmYzhkOTViNTExYjIyZjBmM2IwZWRhOGUzYTlkYzgwIGNucmktMTYtc3RhcnQKKzE2OTM4IDczYzU2NGU0YTBmMzUyN2FlYmRlNjZiY2ZiNGIyNzNlNDNmYjVlNDUgbGVnYWN5LXRydW5rCisxNjkzOSBlOGFlNzBjM2FiYjQzYTE3OWNkOWQyYjE3NzE0ZmUyODdlYzg5ZjY1IGxlZ2FjeS10cnVuaworMTY5NDAgMjY4OTY3Yzk5MzRhMDU4NjQxNmMzYjQ4NmU3OWJmNTFiOTcxOTYzNSBjbnJpLTE2LXN0YXJ0CisxNjk0MSBkYzVmNjdlOGEyYWYxOTM4OTBlM2JkMDU1ZWE4ZjhmZDAxZTkxYmYzIGxlZ2FjeS10cnVuaworMTY5NDIgY2VmNGRhNDE0N2M4M2Q1ODk4OTM5MmU2ZmM3OGEwZjVjZGUxNDU3NyBsZWdhY3ktdHJ1bmsKKzE2OTQzIGZkM2Y4YWNmMTAzZDFlN2EzZjhmMDJlZWFkOTQ5NDI1MDM1NTdmYjAgbGVnYWN5LXRydW5rCisxNjk0NCA0MWViNzU1ZTRlZDE1M2Y2NThiODYzYTljZTZhYmIxM2MxNTBjMGM1IGxlZ2FjeS10cnVuaworMTY5NDUgMjY3NjhlMjFhY2Y5MGVjZjUwMmQ1ZDVjNjU0OWE0ZjY5M2JjMzZhNCBsZWdhY3ktdHJ1bmsKKzE2OTQ2IDAzOTU4M2MwOTBjNDM0MjRiOWE4NDQzMGMxZTc5NWRjZmQyZTlkZWEgbGVnYWN5LXRydW5rCisxNjk0NyAyYzJhZTg2ZGZlODc3MjU5YWIwOTFlOWM5YzNhNjM1NDE2MDNhYTZmIGxlZ2FjeS10cnVuaworMTY5NDggN2FhZDdkOWI2MTZlOWRkYmRkYmJhMDRmMmZiZWE5OTVhMjA1OWVmZiBsZWdhY3ktdHJ1bmsKKzE2OTQ5IDQ0MWRhMmM1ZGU0M2E5NTNhY2I2NWM2NTk3NjcyOGY4NmI2ODllZGMgbGVnYWN5LXRydW5rCisxNjk1MCA0NDIxMjMzNmQ3MWVhOTdlZmU3YWUyMzc0MzJmOTc0MzAzOGI0NzEyIGxlZ2FjeS10cnVuaworMTY5NTEgM2ViMTM1ZDYyZTJhZWQyYzMxZmRjMzI3Y2QzYzJiMjUwZmE4NmZmOCBsZWdhY3ktdHJ1bmsKKzE2OTUyIDc2ZTczMzg5YzM0MDcwMTIwZTY2MmYyN2ZlNTgyNGJmMWRlNTBlNzAgbGVnYWN5LXRydW5rCisxNjk1MyA5OTZjYzA2NzVkYjY3ODY5ZTk2ZTAyNmJmOTg0YmQ2YmI1YTNkMGQzIGxlZ2FjeS10cnVuaworMTY5NTQgYWFlMzdkYzk5ZjU3NTU3MDhjZDFhMDI5NmU2MmI2ZTIzYzRlYTA5MSBsZWdhY3ktdHJ1bmsKKzE2OTU1IDA3MDhjYWM1OWRlZjNhNjY4NDY4MzNiZjVkODZmNDI2NGU0MDQ0OTQgbGVnYWN5LXRydW5rCisxNjk1NiBmNmU1Y2MyYWY2ZjE5N2E0NDMwMzE1YjBmZWQzOTVmODkxNjVjOGYyIGxlZ2FjeS10cnVuaworMTY5NTcgMzExNmIwYjkxMmU5NzVjNjE4NjlkYTU5ZTQ2MDA0ZjI3MTY1MTA3NSBsZWdhY3ktdHJ1bmsKKzE2OTU4IGY3YThjNDBiMzg4MGM0MTM3MzJhMDExZTRlMDczYTZjNmIzZGUxMDEgbGVnYWN5LXRydW5rCisxNjk1OSA0Mjg3MjlmZjg4MjQ5ZmRlYjUxOTdiNmEwMDFkYTRjZmNkNTc3NTJhIGxlZ2FjeS10cnVuaworMTY5NjAgZjcwNDI0ZWJiMzliNGExZjQ4YzIyNDA1ODhkYjRmZThmMjkyYWU4NSBsZWdhY3ktdHJ1bmsKKzE2OTYxIDIyYjU5MGY4Y2Y1MzgyNDEwZTBjMzVkNDBiMDNmYjBlYTkzOTAzY2YgbGVnYWN5LXRydW5rCisxNjk2MiAzMWNkYTg3ZTlmZjRlYTQ3MzE4YTY4YzQzZjk3ZWRkMjczMWIwZjJmIGxlZ2FjeS10cnVuaworMTY5NjMgNzNlNDg4NDcxMjYzMDhiMjBjNzg5OWY5MjFkYTlhYjA1Mjg2YmUzYiBsZWdhY3ktdHJ1bmsKKzE2OTY0IGY1Zjg3ODRhNGMyN2M4YTUxMGFlM2RkZWZiMjNmNzQ0NzRmZTVhODkgbGVnYWN5LXRydW5rCisxNjk2NSAyMWVjNjlhNTYyMjg4NjNkODlmODdjNmQ0OTdhZDIxNjg5NmE5NWVhIGxlZ2FjeS10cnVuaworMTY5NjYgYjhlNWU5MzM4MDFlMzZhZmJkMzVjNjhjODZmYjAzZTY4NzBhNmZkNiBsZWdhY3ktdHJ1bmsKKzE2OTY3IDhkY2RkY2YxMzMwYTc3ZDU4MmUwYjg4OWZhNTEyMDIzZjQ4NzI5MmUgbGVnYWN5LXRydW5rCisxNjk2OCAzMDJkZmQ1M2IzYzhmYzIyNThhZDg4YjIxNzUyMGFkMzVhOWM2MTc4IGxlZ2FjeS10cnVuaworMTY5NjkgNzJkOGEzYjIwM2IxNGY2YjFkYjZmNDM0Mjk5MDJhNDVlNTRlNzczMCBsZWdhY3ktdHJ1bmsKKzE2OTcwIDNkYTViZjNjNWYxNTc0ODY0ZTE4NDNjMjQxYWU4MTg2YjdlZGFmMWEgbGVnYWN5LXRydW5rCisxNjk3MSA0MDQ0N2I2NzIwNjRiNDIwNDk4ZTk2YTcwM2E1NGIyMzA5ZTBiNTEyIGxlZ2FjeS10cnVuaworMTY5NzIgZWMzZTBmZTE3YjNkNzdhOTljMzk4N2M1NTlmNjRkNDMyMjJkN2VjMCBsZWdhY3ktdHJ1bmsKKzE2OTczIGRhZDU0ZDQ0ZDllY2MyNzM0NDY0NzFiZTEzOGZiOTY3MzhmZTk0M2EgbGVnYWN5LXRydW5rCisxNjk3NCAwNTFkY2Q3Y2QxOTkxZGU5ZTE2ZWQwMzBhYWU2YjFmMDRiYzBlNjExIGxlZ2FjeS10cnVuaworMTY5NzUgZTdjOGI1OThmZjc1ZmEyMzk1MzY2ZmQ1ZjIxZDgwYzc0MTI0ODVmMyBsZWdhY3ktdHJ1bmsKKzE2OTc2IGMxMmU3OTZiYzRiNjc1YjA4NDkwOTUwNjZiMWUwZjYwNGI3ZWRhNmQgbGVnYWN5LXRydW5rCisxNjk3NyA2YmYwNjFhMmZjNzgwMmY3NmFlYzYzYjZlZmQzZjg2YjY3NWY3MDYxIGxlZ2FjeS10cnVuaworMTY5NzggNTQ2OGI2ZTNiOTZhN2QxN2Y1OWIwNTUxZjQ3NTE0ZDA4MThkYjY1NSBsZWdhY3ktdHJ1bmsKKzE2OTc5IDUyZmQ0OTZkMzUzMjA5YzUzZjdhN2FjMDJmYzA2NDc1MzE1N2I4ZDggbGVnYWN5LXRydW5rCisxNjk4MCAyN2Q3ZDg5Yzc3NGIxMDAwM2E4ZTgzMzMwYmM2M2Y2NDQ0ZmYwNjI0IGxlZ2FjeS10cnVuaworMTY5ODEgMWI5ZmQwY2JkOTE0OTQ3Y2M0MjFiYTdlNDVhYTA5M2Q3YmE5YWYwMCBsZWdhY3ktdHJ1bmsKKzE2OTgyIGRiYTRhZWM5NzBlNmNkYjUwZDE3NjUxMmMxYjdmMGJjNjBhYjUyMTYgbGVnYWN5LXRydW5rCisxNjk4MyAwMTg0NjU2OGQxNDdkMTY3MDdlZDk1OTJkODY5YjkwNmNmMWFkZDBmIGxlZ2FjeS10cnVuaworMTY5ODQgZTljMmY4MzBmOWJhNTJiZjU5NjhjYzdjZDI2OGQyY2U3MTc1YTJkZSBsZWdhY3ktdHJ1bmsKKzE2OTg1IDUxYTMzYTNiMmJhOTM1NDU3ZmQ1ZmM4NmNhNzlkZWExNGYwYzdhNzEgbGVnYWN5LXRydW5rCisxNjk4NiA5MWRlYWRmZGFlMzZiYWFlNmEyYWQ3Y2NlMmY5ZjY0MTdjMjIzN2EwIGxlZ2FjeS10cnVuaworMTY5ODcgYjhlYWRlZWQ4ZWQzNTE4MDM2NjRhNmI4NzhmMzk5MWZmNzNhZjM5MCBsZWdhY3ktdHJ1bmsKKzE2OTg4IDAxOTI2NWIzYTg1NjU5YzQyNjlhOWNhZDdmNTM4ODAwY2RmZjZhZjMgbGVnYWN5LXRydW5rCisxNjk4OSBjNTYzNzJhZDkzNDM1ZjFmY2M1Y2RjNTBlYjU5OTBlMTEzNTBhMTViIGxlZ2FjeS10cnVuaworMTY5OTAgMmI2YTYzNzU5Yjk3Y2Y5N2YzZTdhMTg0NWQ1N2YxZmZkNGJjNjhhYyBsZWdhY3ktdHJ1bmsKKzE2OTkxIGY2NmU4NjNhMmE1YjFlNDI3ZDZmYzE3MDUyM2JlYzI0MmNlMmM2OTYgbGVnYWN5LXRydW5rCisxNjk5MiAzNWI3OTg5YmEyMGM4YTE1M2E0N2MwMTQ4YmM2MjRmYzFkMmVmYjA3IGxlZ2FjeS10cnVuaworMTY5OTMgOGQxYTA1OWFlOTlkNDRlMjI2YTNlMjUzMDhiOWNhNGVmODkwMGU3ZiBsZWdhY3ktdHJ1bmsKKzE2OTk0IGFjYzcyODU4ZWI3MmM4MzYwMTY5ZmRiMWM4YTE2OWExMzE2OWI3OTIgbGVnYWN5LXRydW5rCisxNjk5NSBhYmJjMDI3OTVjNGRlZmVjYTI5ZThjNjg1OGExNWVmZmUxODIwY2ExIGxlZ2FjeS10cnVuaworMTY5OTYgZGZmMjJkNGE0OGRhZTM2ZmIwYThhNGRiMjc4MGZmOWJkYjNlNmFjNiBsZWdhY3ktdHJ1bmsKKzE2OTk3IDU3NzJjNDk4M2RkODdkMzgyMDI5MDg3ZGJjNmFhYzQ3N2ExZTJjYWQgbGVnYWN5LXRydW5rCisxNjk5OCBlYTcwNDBhYjcyODZmMjJhY2IxMjYwMWI4NThiMjA4MmY3Y2NlZDM0IGxlZ2FjeS10cnVuaworMTY5OTkgODlmODE1M2ZkMWJhMTYxZjgyM2YxOTYxZTNmNGE4NDFiODU2MjJhZSBsZWdhY3ktdHJ1bmsKKzE3MDAwIGM4NWE4MGRiNjg0NWIwNjJmNTc5OTRiYjVlYWEwY2JjOTBmODcyNDYgbGVnYWN5LXRydW5rCisxNzAwMSAyMzg1ZWE1ODcyZTE5M2JlNTRiYjdhMGRmYThiNTMyNjIxYTEzZjY3IGxlZ2FjeS10cnVuaworMTcwMDIgMjg2M2ZiYjEzNWYxZjljYzZjOTdmZjQ1MTBlNGQ0ZGU2YjY5ZWU4ZSBsZWdhY3ktdHJ1bmsKKzE3MDAzIDkzMDEzZTRiYmUwMmUyNGIwMmNhMDM3NzE1YjM2NDU4MDUxYjY0ZGEgbGVnYWN5LXRydW5rCisxNzAwNCBlOTIxMjI4YWY0MzU2N2VmYzkwMTIzNTg3ZTAxNmU5MTQ1ZjBlYjVmIGxlZ2FjeS10cnVuaworMTcwMDUgNTgxNDYwZmNmMTQyNTYwMGU1MWE5YTQxMjc3OGRhNmIwMGNmNWE1NSBsZWdhY3ktdHJ1bmsKKzE3MDA2IDYyMjMzOTdiZDZhMjY2MTg0MzM2MjIwOWZhNjdlM2I4MTlmZTNlZGMgbGVnYWN5LXRydW5rCisxNzAwNyAyNzdmZGQ5NjQ3ZmUwOGIxYTdhYTI3YjgwYWY1ZWIxNjIzYjQ0NGUyIGxlZ2FjeS10cnVuaworMTcwMDggNGU2NmEzYWI3NTdkYTMyZjY2ODFkZWNlYmVkZjBkMDA1YzM4OWZiZiBsZWdhY3ktdHJ1bmsKKzE3MDA5IGJkM2QxNDExYjY2YzFkNDA1ZDYzNjJkNTQ5YjlmNDgxNzRmYmI4YTUgbGVnYWN5LXRydW5rCisxNzAxMCA5YmYxNTlmZjQ5MTI5MjNlZDJkNDUyMDlhMzFlYTU3YTIxMjcwMDJmIGxlZ2FjeS10cnVuaworMTcwMTEgMjExOTc2MDM0Y2Y3ZWUzOTBjMzBmNzk3NjY3NjE2ZWRkNGE3Yzg1NyBsZWdhY3ktdHJ1bmsKKzE3MDEyIDlkOGNlNmVkNGEyOWFiNDIwMDM1ODAxOWI3MmUxYjY5ODI2NjVjNzggbGVnYWN5LXRydW5rCisxNzAxMyA5OTk2NzFmNjlkZjRkMDVmZjc0ZmYxOTEzNTA5YWZiNWIwYjFmNTg1IGxlZ2FjeS10cnVuaworMTcwMTQgNDEyMzRhZTk1ZDJhMDdlNWRiMDM0MTFhZTQ1MmNmMTBlYWQ5NWZmMiBsZWdhY3ktdHJ1bmsKKzE3MDE1IDI3ODdlOTM4MTdjNmEwYTE4ZGZiZTlhMGYzM2U1NjVmYWVjMTQyMjEgbGVnYWN5LXRydW5rCisxNzAxNiAzNGU3ZGU0YWRhNzBhZjNjYmI2MDc2YTNkZGY1ODJiNzRmOTE1MGU3IGxlZ2FjeS10cnVuaworMTcwMTcgOTAwYTE3NzU0MDIxM2NiZmRhNTRmM2IwMWMzZmE0M2VkOGQ3Nzk2YSBsZWdhY3ktdHJ1bmsKKzE3MDE4IGVjNmEyMWY1NWZhMWNlN2Q3NDVhMmRjOTZhZGQwMDE4NDhhODg3ZjMgbGVnYWN5LXRydW5rCisxNzAxOSBkMjIzNjIwYTgxMTI2ODljOGIxZmM4NDYyYjhmZTNlN2E4YjI1NzExIGxlZ2FjeS10cnVuaworMTcwMjAgMWIwZGFiZmZjNTFjZjA5MDA0MGVhYTk3YTM4ZWUxNmRiOTJlN2UzYiBsZWdhY3ktdHJ1bmsKKzE3MDIxIDFjMzQ0NTM3ODg3OWJhMjZiNDgxYjBjMmQ5NWRhY2FmNjA2NTYwZmUgbGVnYWN5LXRydW5rCisxNzAyMiA2ODE2ZGIyNjUwY2FiZjliMDFkY2UwNWZjYWFlNjg5ODg2ZGNlYzdjIGxlZ2FjeS10cnVuaworMTcwMjMgM2FlMTg1YjhmZjAzMWIxNDhlNTY0YzgyN2E0NTM2YjQyMmViNjA3NyBsZWdhY3ktdHJ1bmsKKzE3MDI0IDRlOTA3YTUxYTdhZmZjMWYzY2MyZGI5ODRiYWRlZjlkYzQ1YzFhNGYgbGVnYWN5LXRydW5rCisxNzAyNSA4YzdkY2QxZWQwOGE1N2Y2M2E3ODFlYjk2OGNhMTE5NzUzYzliYzNjIHVuaXZlcnNhbC0zMworMTcwMjYgYzE2ZjJkYzljMDg5ZTg2YTVjY2MwMDFiYTRiN2ExZjQ5NjM1ODY1OCBsZWdhY3ktdHJ1bmsKKzE3MDI3IDk0ZDcxZjJmYzlhODNjZGRjNzAzNWE4OWZlNTIxZmFiN2IzM2FiNmUgbGVnYWN5LXRydW5rCisxNzAyOCAwYzBlZTg4NmZiMDNiNzkwNTdmMDBiYjUxNzIzNzRhMGU3ODZiOTZmIGxlZ2FjeS10cnVuaworMTcwMzEgMTkxMjZlNTU3Y2U4NDFmNzQ1MzYwYzA2NmJjYWI1OWM4ZTM2MTIwNCBsZWdhY3ktdHJ1bmsKKzE3MDMyIGE4NTZjOTJiMWQ3YmYxYTNkZWMwZTMwMWFmY2UzYWU1YzQ1MTc3NzEgbGVnYWN5LXRydW5rCisxNzAzMyA1ODkxMTJjNDgyNzM0MTAwOGFjOGE5MTJjZTJhOWZjZGE1OGYyZWQ1IGxlZ2FjeS10cnVuaworMTcwMzQgNjNlYTJhMmRmMDZmM2QxOGFlNWQ0YjJlYzZlYzJjYzVlMjE4MGQ3NCBsZWdhY3ktdHJ1bmsKKzE3MDM1IGI1ZmIxNzVhZDUyODI1NDFjNmMyM2Q3MDQyZWE5ODk3ZGU2NTM3ZWQgbGVnYWN5LXRydW5rCisxNzAzNiAwNzk3ZmRiMjVhNzc5ZTE3YThiY2RlZjM0MzhjZWIxNjBlOWQxNmJmIGxlZ2FjeS10cnVuaworMTcwMzcgZDMzMTc5Y2RjNTExMjFkM2I5Mjk1NDhkYTgxZWVjOGFiOTc1MzNmOSBsZWdhY3ktdHJ1bmsKKzE3MDM4IGFlMWVkYzZmZjU0MzVmYWRmOGM2M2ZkNzc0Mzc2ZjdkOWZmNWEzNGQgbGVnYWN5LXRydW5rCisxNzAzOSBlNzlkM2NmNDQ0M2VkOWQ3ZmQ3MWY1Zjk0Y2JhZWNkOTExMjNlOGMzIGxlZ2FjeS10cnVuaworMTcwNDAgMmMzMjgzMDk0MzExNjc5NzNlYjU5M2VjYzJhNmVjM2I4NTM0ZDEyYyBsZWdhY3ktdHJ1bmsKKzE3MDQxIDMwM2MzNmU0ODc2OWY5Mzk1MjdjMmQyOGE0MTBlMDY3NjU4MjhkNDggbGVnYWN5LXRydW5rCisxNzA0MiBlNzVlYjRkOGUzMjliNDdhYjM5YTBjYThiNTQzYmVlNTkzMGQ1OGM1IGxlZ2FjeS10cnVuaworMTcwNDMgZDk3NGNmNTQ1Y2E2YWRiM2MyMjMzNWVlNDUxODlkYzFjYTE2OTIxNCBjbnJpLTE2LXN0YXJ0CisxNzA0NCA4YzUyNjkzMzk3ZDI0YTExZGRjYTI4OGE4Y2MwYzVlMjQ2NzAzNGM4IGxlZ2FjeS10cnVuaworMTcwNDUgYzM5NzMzYmUwZGM4MTFhYThiMTEwOWVmOWNjZDliNWM0MThmMWJjMiBsZWdhY3ktdHJ1bmsKKzE3MDQ2IGE0ZjUzMjhjY2YxOTIyN2JmZGYwZTVlNjM4OGM1NTA4M2EwOWNlNGEgbGVnYWN5LXRydW5rCisxNzA0NyBjYmU5NTkwZDIzNDRjNGI4MjZjY2M5YmFhZmI2NWM2MGVlNWJjOTE4IGxlZ2FjeS10cnVuaworMTcwNDggMTFhMjZlOTYzZGM5MDhmNmQ0MDBhZWQwY2NiMzAwOWQ0MTU1MWZhZSBsZWdhY3ktdHJ1bmsKKzE3MDQ5IDlmOWYzMjgwZGM2OGEwMTc4YjY0YzQzMDljODI4ZWY0MGEyOWRlODggbGVnYWN5LXRydW5rCisxNzA1MCAyMDM3N2YxNWI5NmE3Y2JmMWYxOGMxMGU2YmQ0ZjUyNDcyZjBjNDBiIGxlZ2FjeS10cnVuaworMTcwNTEgYWIwZWJmMTJkNGRlMjIyYzA3NDUxYWY5N2JlZWY4ZDIzZmE3NGZlYyBsZWdhY3ktdHJ1bmsKKzE3MDUyIDMxOTI1YWI0NmIyMzU0MmExYzM0N2UzZmMzMTViMjZhZDI3NTQwZTcgbGVnYWN5LXRydW5rCisxNzA1MyAzOTZiNGFiM2I5YzJhOWNiZGNiMjVkN2FlZmE0NzExYzUzMGU0OGMzIGxlZ2FjeS10cnVuaworMTcwNTQgMWYxYTE1NmVkNWFmOGY3YTUwY2UwNWZjODVmODU0MjNhMjRmMmFhNCBsZWdhY3ktdHJ1bmsKKzE3MDU1IGI5N2U2MjAyZjBiMTk2OGJkOTg5MDMxZjJhMTE4NTkwMjNiNmUyOTQgbGVnYWN5LXRydW5rCisxNzA1NiAzZTVkNmUyMDkzZGZlMWM1YmQ5NjU5YjYxYWRiOWI1ZjlkOGNjMThhIGxlZ2FjeS10cnVuaworMTcwNTcgNjNkODU4OTdjNjlmYTRkNTdjMTcxZTNiODlhZDM1MGE3YjM0ZTY3ZSBsZWdhY3ktdHJ1bmsKKzE3MDU4IDU4ZDc5OTVjZTc5NWY3OWZlYjAyY2ZkOWVjYmY4Y2ZlMDE3YmU3OWEgbGVnYWN5LXRydW5rCisxNzA1OSBkOTY0M2U5YzkwZWIxYTVjYzlkMDFlNzg4MjNlYTFjZDMxOTA3MDQ0IGxlZ2FjeS10cnVuaworMTcwNjAgNzRmN2YyMzdmNzM5ZDhkNmM5MWU0NTM3MTY0M2M3NGYzNGM4YWJlNiBsZWdhY3ktdHJ1bmsKKzE3MDYxIDBlNjZiNzc0MDk0YmZlNTUxNDU0Y2U3YjJjOWIxZDUyNTZiYjRlNjkgbGVnYWN5LXRydW5rCisxNzA2MiAzNDgzYTc4ZDEzNWZkNDYyNDFiYzZmM2E2OGU3Y2RmNThkMDQ1NGQyIGxlZ2FjeS10cnVuaworMTcwNjMgM2ZjYWMzNWM3ZjVlMjFmZmVlMTdiMjViNWNjMjI3YzU3OTMzNDRiMSBsZWdhY3ktdHJ1bmsKKzE3MDY0IDA2NzBjNGY5MDE3MTBmMmQwOWMyMjk0N2Y0MTZkNWJmNDc2MzVjMGQgbGVnYWN5LXRydW5rCisxNzA2NSBiMmE4MjkyYzM5YTlhMmRmM2ZlOTkxOTIwMWZhYWE3MzU1MTZkMjE2IGxlZ2FjeS10cnVuaworMTcwNjYgN2IzMmNjZGYxZDRhMjAyNGZjZjM4ZmNiM2ZmMTZkNmE3MzM2NjcwZSBsZWdhY3ktdHJ1bmsKKzE3MDY3IDU5OTRiYjYxOTE2MzMyYzVmZGU5MTRjNTJmNjgyMjkwYWZjMjQyYTkgbGVnYWN5LXRydW5rCisxNzA2OCA5Y2QyZjc5MGM1MGMzODI4NjRlYTM2YWNkMjdlNmQ3YjBkMDU4ZjVhIGxlZ2FjeS10cnVuaworMTcwNjkgYTE0MmVhMjBmZTk0ZjE4NDZmNDVjODlhMjk4MzRmNjlmN2U3YmQ4MyBsZWdhY3ktdHJ1bmsKKzE3MDcwIDQzODg3MWU3MDUzMmIxN2JlMjcwY2I4ZDVkODJmMjYxNjdkMTFkNGYgY25yaS0xNi1zdGFydAorMTcwNzEgYTFiMmZiMTdiZGU3ZWQ3YWI3Y2FmM2YwNmFlMTA5YWY2ODYzMzdhNCBsZWdhY3ktdHJ1bmsKKzE3MDcyIDRlMzY0MGEwNjg1NzIwNmJmMTY2ZWZmNWFiZjY3OGY3M2RiNWRlYzIgbGVnYWN5LXRydW5rCisxNzA3MyA0YWZiMDg4OWExNjVjMTk3NWI0YTEwNjEzMmI4YzJlN2U5ODlhNDc2IGxlZ2FjeS10cnVuaworMTcwNzQgNThmM2Y5MzYyNzlmZjY4MmM2MDVjODFiNTIzZDI0YTk3N2FmZTViNSBsZWdhY3ktdHJ1bmsKKzE3MDc1IGE5OWZhYjBiYTJkZjg4YzlhOGMxNjYwNzAzYjJlNzZjYzVjNGU3YTIgbGVnYWN5LXRydW5rCisxNzA3NiA3NDU5MTU5YmEyNDlmNDZmZjFkNDMwNWY1YmIxOGJjZTJmYTUxYzQ2IGxlZ2FjeS10cnVuaworMTcwNzcgODMwZGU2OGRlMzMwOTVhYjczZThlMTQ4ZDkwY2Q4MTgwZWM4OTc1ZCBsZWdhY3ktdHJ1bmsKKzE3MDc4IGNkZDk1ZDY3YTcxNDI1ODI5ZGU4Yjg1OTA4NTNiZTg3NzBkOTA3M2YgbGVnYWN5LXRydW5rCisxNzA3OSAxZmMzM2RmY2VjNDQyY2NmZjhlM2NmOTQxODAwZTJmMTZjNzVmZDE3IGxlZ2FjeS10cnVuaworMTcwODAgNWZmZjRmZmViMzVkNWM1YWYxZjdjM2ZkMmJiODRjYmRiMDRkOGYzYyBsZWdhY3ktdHJ1bmsKKzE3MDgxIDYzOTY1MjlhNDIxYzllYTQzMTMyNjVhMDIxMzU1NmJiNWVlZjdiODUgbGVnYWN5LXRydW5rCisxNzA4MiBhZTI3NTY0NDQ1N2I1NTRhY2U0NmJlYWY3YjhjOGNmYWRhYjE3ZWI5IGxlZ2FjeS10cnVuaworMTcwODMgZDg3Y2UyZDJlNDI1NzMxNjU2ODQwZTUxMTA3ODA4ZDE0ZTEzMDhmZSBsZWdhY3ktdHJ1bmsKKzE3MDg0IGFkZjNhMjg0YTJjZjFkNjZlNmFiMDE0MmFlNWJjMTdiM2NjMWZlYTkgbGVnYWN5LXRydW5rCisxNzA4NSA5YjIwYTY5YTUwNWUwZTZmMjg4N2I4NjY3MjI2OTMwYzljZTA5M2RhIGxlZ2FjeS10cnVuaworMTcwODYgMzYzODUxY2NjZjJhZWQyMmE3NWY2YWI2YzY3OWI1MGVlMjYyOTQyNyBsZWdhY3ktdHJ1bmsKKzE3MDg3IDY2MGRiY2MxOGI5ZWM2ZTk2ZmNlMWEwNDg4MzE1NGIzZDQ0YmQ0NWUgbGVnYWN5LXRydW5rCisxNzA4OCAxZjc2ZmM5OGI0YzhkZjAwN2IwODg2NTYwYTZlYjM5NzE0NWMxNWJkIGxlZ2FjeS10cnVuaworMTcwODkgZDNmOTJmM2ZjMGIwOTAyNmQ5M2FlYTVmYWY5ODk1YWZjOWMyOWQzYiBsZWdhY3ktdHJ1bmsKKzE3MDkwIDk4NjA4NDI5Y2E2ZTQyOTI0MzBkMjJhM2M4NGRhNGYyY2U2MjI0NGMgbGVnYWN5LXRydW5rCisxNzA5MSBjZDhiODE1Y2IxOTY1N2EwY2Y1MjFhZjBlYjVkZDRiMmNkN2Y3ZTc5IGxlZ2FjeS10cnVuaworMTcwOTIgOTBjYTZhYjI2OTA5ZWMzNDFlMDUxZGIyNGVmZjAzYmVlNzI1YWI3OCBsZWdhY3ktdHJ1bmsKKzE3MDkzIGRjOWQ5ZWM0NDY3OTM5NWEwZjljNmFmNWIxNzM4YWZhNGJlN2UyMDcgbGVnYWN5LXRydW5rCisxNzA5NCAxNWI2ZmMyNWY2MDUwOTZmOTM2NmM3MzcxMjk3OGMxODBiZmFlYjM3IGxlZ2FjeS10cnVuaworMTcwOTUgMjE1NTdiYTRhZmJjZWRiY2ZkZDQ3NmQwOWY5MTdkZTdhYTVhYTA1NyBsZWdhY3ktdHJ1bmsKKzE3MDk2IGJiZmM0OWE4NDM4OTY0MmU5OTBhOGJiYWQ4YzdjYzk2MDQ5MjIwMTAgbGVnYWN5LXRydW5rCisxNzA5NyAxOGRhMmJjNTA1OGMwZmRmOGI3OGY2NDFkN2NjMzYxNGUzNGYxODk3IGxlZ2FjeS10cnVuaworMTcwOTggYmQ5NTBjNTAxNjdmYTFkODFjMTQ0ZjgyZTcxZWM4YWRjYWQzZjJkMyBsZWdhY3ktdHJ1bmsKKzE3MDk5IGYzYThmNjAzNjU2NzA5OTUzYTRlNWQ0YTJmNDQ1MDE3NGVmMDU3YTAgbGVnYWN5LXRydW5rCisxNzEwMCA5ODRhYmQyMGVlYzI2MGQyNWI0MmU0NzNkOWU1NTdmNThjNTA3ZWE5IGxlZ2FjeS10cnVuaworMTcxMDEgZmI4ZmI1M2EyZWZmMDEzYzU2ZmMxYTllZDFiYTcwYmJhZWZlYjQ5ZSBsZWdhY3ktdHJ1bmsKKzE3MTAyIGIxYTBmZDNkZjFmYzhkNjEwN2NjZDlkZmZiMTQ4NmMzMjFjM2RkYTAgbGVnYWN5LXRydW5rCisxNzEwMyA2OGI2MWFhMWFhNGFhMDk0MDRiOWNiMGY2NDQ3OTg4ZDc1ZGJkYTRlIGxlZ2FjeS10cnVuaworMTcxMDQgOGNmNjYzMTI2NzIzYWRhZmU2NGYzZGU0ZTgxZTA5Y2E4MWQ4ODM1NCBsZWdhY3ktdHJ1bmsKKzE3MTA1IDRkNTY1MDk1YWU5OTMzMDE3MjcyZjk3ODAxMTdlOGM4OTZlNTYzOGEgbGVnYWN5LXRydW5rCisxNzEwNiBkZjg5MjM4YWM3NDc3MTkxODc1OGRlZDQ5YTk1NzM0ODc5ODE4MDllIGxlZ2FjeS10cnVuaworMTcxMDcgZTI1YWE1NmE1MjA3ZGY4YTkwYTU3MWQ2M2JiMTBhZWExYWFmY2I1YiBsZWdhY3ktdHJ1bmsKKzE3MTA4IGQzNTdhZDM2N2YyNjBmYmI5Y2IyYjM3MGYyNDE1ZjY2NzY4ZTZkYWIgbGVnYWN5LXRydW5rCisxNzEwOSBlYTk1ZWVlZTA0ZTcyNDkzNDhlNWRhZjdlM2NiZThjMTg2MDVlMGExIGxlZ2FjeS10cnVuaworMTcxMTAgNmFiNThjNTVlMGEzYzA2ODQwNjUwNzBhN2ZmNGZlYjc2NjU1NDQ4YiBsZWdhY3ktdHJ1bmsKKzE3MTExIDc3ZTI0NDNhYmY5YmRlMzI1MTg5ZmNjY2Y2ZWJmMGY1YTBhOTM1ZDcgbGVnYWN5LXRydW5rCisxNzExMiAyZTJmYmVlNTNlNjlmZTZjY2U2ZjA2YmU3N2FhNmZmZTkxYTk4MzM0IGxlZ2FjeS10cnVuaworMTcxMTMgNTljMTkwNTJhZTRmYjAyMWU4MDM3ZTRkMDI4YTgxZjJkZDIwZTY2YiBsZWdhY3ktdHJ1bmsKKzE3MTE0IGJmZTMwNGZjMDZhYjkxMjI0NDQ4NTc2ZDkzYjVmMzQyNDkxMTZkMTAgbGVnYWN5LXRydW5rCisxNzExNSAxMWE4OTNjYmMxYTAxMmE3ZGY4ODU5NGVkYjQyNDcyMWFlMTk1ZDFhIGxlZ2FjeS10cnVuaworMTcxMTYgMjZkYzYyZGU5YjZlMTVhYTU4OWNlNTk3OWZjMTVlYThhNjc4MTY4YiBsZWdhY3ktdHJ1bmsKKzE3MTE3IDA1MzYyN2U3YWMxNDFlNDhlM2MyNWIyNjNhZjY5ODQ2ZDFmYjU5NTEgbGVnYWN5LXRydW5rCisxNzExOCBlNTI1M2I2OTJlOWZiZTM2NWFiNDM2OWNkNzU5YjI0YjhiODZkNjA5IGxlZ2FjeS10cnVuaworMTcxMTkgODE3MmFjOWQyMTk2NmNmYmE1MDlmYmNkZTIxNWVmMjZlY2FkNGJhMiBsZWdhY3ktdHJ1bmsKKzE3MTIwIGVkYTQ0OWY1NGU0NDllZjIyZTczY2FhZDUzY2UzODBhZmZlMzEwNGMgbGVnYWN5LXRydW5rCisxNzEyMSAxMjA1YjE4MGJhOTAzYzZhYTA0ZDdlZGYzYTM0ZTIwMjY1NDY1M2YwIGxlZ2FjeS10cnVuaworMTcxMjIgYmVjYjFlZjBhNTczNTM5MDc2YTY5YjcxYjI3NDdiM2I0ZmYxZjNiYiBsZWdhY3ktdHJ1bmsKKzE3MTIzIDUxNjdlZDY4MzZmYzRhMWFhMjAxYzYxYzAxYzRhNTIzMjNhM2I0MTggbGVnYWN5LXRydW5rCisxNzEyNCAwMTNjZTdlZTcxNjdjMzlmZjM5ZTQ1YTc4OGZmMTcyMmU1YWE1NTE5IGxlZ2FjeS10cnVuaworMTcxMjUgMzE2NDFlYTg5YTUzNGQ3MDZjMWIwODM0ODcxNTdiNTMxOWU0Nzg4MSBsZWdhY3ktdHJ1bmsKKzE3MTI2IGY4YjIwZDkwYzlhZjI1NDA4MDYwZTZjZmU5NmVmODY4OTUxODI0MmQgbGVnYWN5LXRydW5rCisxNzEyNyAwMTk4ZDIwMjAzOTAzNjgzMTQ1NWFmYzlhZDU1ZGE3N2VlYjk3NDVhIGxlZ2FjeS10cnVuaworMTcxMjggZTM3NzllZTk0MmQwYTAwNWViMzI2YWU5YjYxNjYwOTA0ZGI3NmU3MCBsZWdhY3ktdHJ1bmsKKzE3MTI5IDYyZWMwYmZkOTNmODA4YzY3YTNiMjhmNmU0MDdjYTBjZGJmYmVlY2YgbGVnYWN5LXRydW5rCisxNzEzMCBiMjRkYjc3MGRmZmRkYTljMDhkZmNhZGY5YjRlNThiYjIxOWU1OTRmIGxlZ2FjeS10cnVuaworMTcxMzEgYjhiM2Y3NmZmZDUxZDEyNDFhNjgyZjgyZWQ3MmQwMWY4NTI3N2M5MiBsZWdhY3ktdHJ1bmsKKzE3MTMyIDdkNDBiZDA3YjEyOTY2MzViYTgwZWM2YWI4ZmZkN2U3YTNkMmEzZDggbGVnYWN5LXRydW5rCisxNzEzMyAyZGI4MDdmMzQ1YmNjMDc3NTQ2OTFhYzgxNzc3MDZmY2E3OGE4Njk1IGxlZ2FjeS10cnVuaworMTcxMzQgOTc2NTFmMjhiMDA0YzViNmZiZWJkY2NmNWNiMjE1MDY0MjI5MTU1NyBsZWdhY3ktdHJ1bmsKKzE3MTM1IDRiOThkZmRlZDQ5ZjQwYjA5YTYxNDMwZmRlMzE5YzBjYTE1NDk5MjUgbGVnYWN5LXRydW5rCisxNzEzNiBjMGZlMWE4Yjg3MmMwNDA3MzJhOTUzMTU2ZWZiMTFiYWVjMTllNzBiIGxlZ2FjeS10cnVuaworMTcxMzcgNGQ0OTFhZWI5ODBmZDFkMzNhNzZjZTY1MTE0OTM0YWYzNGMyNGI4MCBsZWdhY3ktdHJ1bmsKKzE3MTM4IDRkZmJkOWIzNDEyYmFhZTM2MzYzYzdmMzFhOGY5YjhjYTEwMGVjZTggbGVnYWN5LXRydW5rCisxNzEzOSA1MTExMjNkZDg0MjQzZDM0MmRjMDZmNmY3YWNkYTFlYjg3Zjg4NjZjIGxlZ2FjeS10cnVuaworMTcxNDAgMmRjZmFkM2IyMTE1ZGViNjU3NmFmZDk0MDhjNzY4YTc5NWI5MjcxOSBsZWdhY3ktdHJ1bmsKKzE3MTQxIDMzYzdkZjBjNTQ5ZDcyZmUzZGFmM2Y1NWZhYmRlNjllMTQ4ODMyZTEgbGVnYWN5LXRydW5rCisxNzE0MiBkZGFlZjQ1NTk1ZTJkNzYyYmUzYTAyZmQ4NDc3ZDIxNzQwY2UwZGRkIGxlZ2FjeS10cnVuaworMTcxNDMgMWZhYjkyODM2NzU4ZjgwNDNiY2NhNjUzYjQxYzlmZWUzMjNjYWQyYiBsZWdhY3ktdHJ1bmsKKzE3MTQ0IGFkYTRlYzRjZmZkNTAxZGJjZGE4OGMwOWYwNDI4OWE1ZDRmYjBhY2QgbGVnYWN5LXRydW5rCisxNzE0NSA1OGYxMDBhY2MzYWMwZWZhMmE1OGZhZGUzZjNjMDE3NWY2NzJjOWMzIGxlZ2FjeS10cnVuaworMTcxNDYgNDYwZmYzY2YzMTk1YmUyZGMxZWQ2NDhjNGFhZThiMzI4ZjZlNDI4YyBsZWdhY3ktdHJ1bmsKKzE3MTQ3IDU4ODQyY2JhOGRiY2QyMzFmNTM0ZDI4ZDU2NmVhZjU5NDhiZmYwNDEgbGVnYWN5LXRydW5rCisxNzE0OSAyMmIyZWJkNzgzNzJmMjU1M2ZlZTg4MDcxOTJmMmQ5MDQ4YjllMTliIGxlZ2FjeS10cnVuaworMTcxNTAgMTRhMmI4ZDRmY2ZmMDhiYmYzZDBlNzZmMGRmZGJjYTgzNjBjMDRlZSBsZWdhY3ktdHJ1bmsKKzE3MTUxIDczZjM5ZWE0ZWZiN2E3NGY2OTEzOTk2MmUwZTMyMDU0NzE0ZGFjY2MgbGVnYWN5LXRydW5rCisxNzE1MiA4ZjJlNjEzNGNlYTAwYTUwNmE5NWNlZjk0MzdiZDg3MjQ1M2Y3ODFhIGxlZ2FjeS10cnVuaworMTcxNTMgYjU3ZTM2MGE2ZDE2MWE5YWM2ZGVmYzM2MjY2NmI1NDYyZjU5MzQxZSBsZWdhY3ktdHJ1bmsKKzE3MTU0IDZkZWUxOTg1YzY4MWMxMGFjNTAyYzJlNmM5MDk2ZGIzNTRhOGU0MTkgbGVnYWN5LXRydW5rCisxNzE1NSBjYmU0MjNiM2JhM2EwNjViYTY1ZDYzOGIzOTQwNjhmYzY5YjZlZDQ3IGxlZ2FjeS10cnVuaworMTcxNTYgZWI3YzI3ZThmZTM3ZWU3ZDRhYzYwMmMwMmM5YTE3ZTFiZjQ0MDBkNSBsZWdhY3ktdHJ1bmsKKzE3MTU3IGY1NWI2NzNkOWFjZDc0MjVjYWY5NWUwZGUxMTg5Y2YxOGUxMjcyNjUgbGVnYWN5LXRydW5rCisxNzE1OCBiZWE4ZjE0ZTdkNjFjZjgwZTUzMjNjMWRjOTlkMjczOGMzMGUxMmZhIGxlZ2FjeS10cnVuaworMTcxNTkgOTUxZWIzYWYzNDk0ODNiZDU3MTYzYTQwN2I1MDhhZDIzMjc4OWEwYyBsZWdhY3ktdHJ1bmsKKzE3MTYwIDAxMTVmNDAzZmFkZDhmYjUwZGQzMDRmYzJjNTFiZjcwMGEwYWY3OWMgbGVnYWN5LXRydW5rCisxNzE2MSAzYjg0YzVmZjg5ZGE4OTNmZDlmYmI0NzZkZmM1ZDhhNDFiMjljZmI1IGxlZ2FjeS10cnVuaworMTcxNjIgMDU3YzdjZWI5MmYwNDQ4NmYyOTdiYmY3Njg2M2U2NGYxNTJlN2Y4NCBsZWdhY3ktdHJ1bmsKKzE3MTYzIGY0OGVkOTQ0ODg0YmZmZjJhNTUxNzM0ZjQ5N2QyZGUxOTkxOTcyZDMgbGVnYWN5LXRydW5rCisxNzE2NCA4MDFhMzA0ZjI0OGZiZmY3NjhjZDRlYzJlMDljMGMyMjM2NTNlZjg1IGxlZ2FjeS10cnVuaworMTcxNjUgYWI2MWMzMzVhMDRkY2QxYmY0OTU1YjZkYmMwYTUxNzI4ZjM0MTUwOSBsZWdhY3ktdHJ1bmsKKzE3MTY2IGQ0MWM0MTM3MWRjMTA4OTA0MGRiNzQ3ZTE1ZDMyODU5NGY3OTlkMTQgbGVnYWN5LXRydW5rCisxNzE2NyA2OTQ5YjUwMzY0ZGQwOGM4MjE4Y2U3YjczNGM2OTYxMDRkOTIzMjc3IGxlZ2FjeS10cnVuaworMTcxNjggN2I1M2VjMjcwNGUwMGEzYTVlNWQ3NDhkM2UwZjgyYTI4ZjcwMjVhZCBsZWdhY3ktdHJ1bmsKKzE3MTY5IDQzMmQzMDhjNDVlOGQ4YjQxZmMxYWM3MjQ3MDI4N2FlZGZkZWUyZWUgbGVnYWN5LXRydW5rCisxNzE3MCA1Mzk3ZmRmODhlYzI1YTFiNTgzN2RlYzlmYzg1MjgzOWFiZTQ0MWUwIGxlZ2FjeS10cnVuaworMTcxNzEgMmRlMWZiNTMwMmVkODdlZDY4ZjJiZDk3ZDBmNTMxZThlYmY5MzlkNSBsZWdhY3ktdHJ1bmsKKzE3MTcyIDZkMGY2NGY3ZGVkZDE4MzU0ZTU4YzkyYjNmYWRlNmE3NDc2OWU1YTkgbGVnYWN5LXRydW5rCisxNzE3MyAyMWJmOWZhOTIyNTU4NTNlZTQyY2FjY2MyNDRlNGU0ZWM1Y2E4Mjk4IGxlZ2FjeS10cnVuaworMTcxNzQgNzM1MmJiMTYzMmJjMDFhNDkxNjEyMjAzY2ZhNWM2MjY5NmNjYmNhYSBsZWdhY3ktdHJ1bmsKKzE3MTc1IGVmOTc4NTIwMDg1ZjEwZTU5NzgyNmIyNTlhYTkwNmIxYjdiOWU2NDYgbGVnYWN5LXRydW5rCisxNzE3NiA5M2RhYmZjM2E4M2ZjOGM1MmJhZDg4MmJjYjUzNzY1M2NiOGNhZTYzIGxlZ2FjeS10cnVuaworMTcxNzcgZGViNzI3NDM1ZjM5MDY0ZTM1ZjY4MjVkNzk0OGQyMGVjODkwMmJlYSBsZWdhY3ktdHJ1bmsKKzE3MTc4IDBmNjgwOWViYTUwYTg4Yzc3M2QxZDcxMThiYzM2OTdhZmI1N2E2MmYgbGVnYWN5LXRydW5rCisxNzE3OSA2MzBjOGFiZmE4ZDdjMDhlNTQ1NjdlNzk0OTE1OTIwOWZjMzgzMzhjIGxlZ2FjeS10cnVuaworMTcxODAgM2IyZGZiYzM0Njg5ZGVkMGIwZTcyNjI2ODIyNjdmYTY3MmE5MmNmMyBsZWdhY3ktdHJ1bmsKKzE3MTgxIGEzOGUxMmU0YWZiNzBjNTlkYmU1ZTY0Nzg0NDFhNGFmNzU1MDAxNTEgbGVnYWN5LXRydW5rCisxNzE4MiAzZWRhMzAxMGJjMGEwZGI4NWQxOTgxODI4Yzk2NmJmYTA2OGYxMzQ5IGxlZ2FjeS10cnVuaworMTcxODMgZWE5ZTYyNWIwMWEyYTA1NmQxZTUyMzU5NThlNmZiYzU3ZmYwOWE1OSBjbnJpLTE2LXN0YXJ0CisxNzE4NCAzNTc2M2JlNzVkZGI3Y2E2ZjcyMjhkNTdmODJjY2E0NjRmMzNjZWQ0IGxlZ2FjeS10cnVuaworMTcxODUgZDFkNWUyZGMyOWRiNTBkNzQ4ZDkyZGEwYzhlNDRkZWJlZjlmZjU1MyBsZWdhY3ktdHJ1bmsKKzE3MTg2IDVjNTFjMDk2ZGUzYmZlNmNjMzZiYTcxOGRiZjBlMzRmNTRkMGM4OWIgbGVnYWN5LXRydW5rCisxNzE4NyBhNjY1YmRjNDkyMmY1ZGZiMGRhZGRiYTkyNmRjN2ZjMjNkOGZjOWFiIGxlZ2FjeS10cnVuaworMTcxODggNWRhNDA2ZWJlZjU1MjA0ZjdkYTFiN2E5YmFmYTk4MGNjMDM0ZGEzNyBsZWdhY3ktdHJ1bmsKKzE3MTg5IDY2NWIxOWU3Nzc2YjUzYjIwMWU1NDI5NmVmYjBhMGQ5NGE0Mjc1OGUgbGVnYWN5LXRydW5rCisxNzE5MCBjN2VkNDEyYTA3NWIwMTlkZDUwZDdjZmE2MDY1YjgzNjU2Y2IzNGVmIGxlZ2FjeS10cnVuaworMTcxOTEgMzZkMGI1YjA5NGU0MjFmYjdlNzk2NmEwYjU0YTUzNjM3NjA4MDExYSBjbnJpLTE2LXN0YXJ0CisxNzE5MiA3YTFmZWNjMDhkNzBhOGNhMDBlMjIwNGU1YjIyYzU2ZWJlYjNkMjIyIGxlZ2FjeS10cnVuaworMTcxOTMgNjQ4YTEyYTc4MGQ5MDgzNDRhYmY3ZGY5NGZlMTZjYmViOWI4YjYwMiBsZWdhY3ktdHJ1bmsKKzE3MTk0IDAzNGJmMTA4MTMwNDc1MDIzOGE0NjU2Njk2YzhhN2I5NWZjMGE2MWMgbGVnYWN5LXRydW5rCisxNzE5NSBjYWM5MzkwNzZjN2RiZWU3MjIwMWJkZTMwYzYwYTMzMDg3MjQ2NDI0IGxlZ2FjeS10cnVuaworMTcxOTYgY2QwNDdhODU4YWNlMTliYmI1MWQ3NjBjOGU5OGJlYTg0ODA5ZDE2ZSBsZWdhY3ktdHJ1bmsKKzE3MTk3IDA5ZGNmZjUxOTMyYzc3ZGRlNTJiYmY2MmE2YzVkMTZmMjk0OWFmNjggbGVnYWN5LXRydW5rCisxNzE5OCA2NGMyNWZkMjlkNmY2NzE3YmRjYWZmNzEwYmM4YzY3NjgwM2I3NDdhIGxlZ2FjeS10cnVuaworMTcxOTkgZWQxNDdhNTM3MDFiODAwNjUyNDc4MTRhNTVhYWM5NWRkNjliMDA3NiBsZWdhY3ktdHJ1bmsKKzE3MjAwIDhkZjE2NmNhMDliMjVhZTkyNWI3MjM2MzE1YTM0Njk5YjkwOGY1MDQgbGVnYWN5LXRydW5rCisxNzIwMSA2ZjZmOTY1YzVlMmRiNjRiOTQ3ZDRmY2M3MzgxZTgzYWEwY2IwNzU2IGxlZ2FjeS10cnVuaworMTcyMDIgZmQ0Nzk5NjBlNWUwYzJjMDc3OGVjNDIwODEyNzZiNDE3YTAyYjU0NiBsZWdhY3ktdHJ1bmsKKzE3MjAzIGRkNDc2NmFhMmZkMmY3N2I3NmE4Mjg3NzgyOTg1YTQ4N2E2YWE5NTkgbGVnYWN5LXRydW5rCisxNzIwNCBjYTczMTZhMDA0NjRlYTQ4ZjE4ZjBlYTg1MTlkZGE5MjVkY2ZmZGVmIGxlZ2FjeS10cnVuaworMTcyMDUgYjA2OWQ3ZDljZThhMDBkZmFmNzEyNDBiOTEyZTNhY2QyM2ViY2ZjZiBsZWdhY3ktdHJ1bmsKKzE3MjA2IGNkMGM0ZGQ0OTA0Yzk2MzQxMmJjMmM2NTM4NTczZWU4NWY0M2NlOGIgY25yaS0xNi1zdGFydAorMTcyMDcgZTk5YjBkYjE2ZGQ3ZDNjOTNjYTg4NTg1ZTI2YzBlNjkwY2E4MjgyNSBsZWdhY3ktdHJ1bmsKKzE3MjA4IDc5NThhODhlZGRhMTc3Mzg5NTI3NTkyYThjMGJiODk4NmZkNmQ2MzkgbGVnYWN5LXRydW5rCisxNzIwOSAyZDZjZjY4YWE2NGE1NWQyZmEyYjJmN2NkM2RkNTMyZjA4NGQ1MDMzIGxlZ2FjeS10cnVuaworMTcyMTAgMzg4YzcyMWMyMGNmYjk1MzQxMGU4MDFlZWMxNmU1ZDUzMzE2ZGE1NCBjbnJpLTE2LXN0YXJ0CisxNzIxMSBjZmQwNzQzMjFhYWQ5ZDFhNTJjZGVhZTdlMDBlZGZkOTdmOGU4NTExIGxlZ2FjeS10cnVuaworMTcyMTIgN2U0N2IzNzBlYjY3NTUxOWI4NzUyODY0NzAyNjYxNjA2NGNlYmQ4NiBjbnJpLTE2LXN0YXJ0CisxNzIxMyA2ZmI2MWI4MzQzNWRhMWI2Zjg3ZDZiYjBhOGZjMzI1NTYwMDA4MTM5IGxlZ2FjeS10cnVuaworMTcyMTQgZDM5NWNhYzc4NmIyMjRiMTg2MWUzMjhjZGRhZjMwNTJlMGVhY2NkYSBjbnJpLTE2LXN0YXJ0CisxNzIxNSAwNTA3ZTU2OWQ3NGFlNjUxNmVhZDY3M2RkYmNkMjU0ZjZkYzM5M2EyIGNucmktMTYtc3RhcnQKKzE3MjE2IDhhOTMzZWM0N2VmNzMzOWNkYjE1ZTEyYWM5MmFiODE2NTE2M2IzYmQgY25yaS0xNi1zdGFydAorMTcyMTcgMzlhYjI4NTcyMzA3ZjgxODhhZTU1MmMyYWNkNmQ4OGNlOWE4ZmZlNSBsZWdhY3ktdHJ1bmsKKzE3MjE4IDU3OWExZTczMWZjODQyNGVlODUxZTJkYTBlNWQwNmE3OThhOGE3ZGYgY25yaS0xNi1zdGFydAorMTcyMTkgMWZkY2EwYWY3MWQzNDNlODhlNmJmNTBmNzk1NDQyMTMxNGM5YmJiZSBsZWdhY3ktdHJ1bmsKKzE3MjIwIGFmZDZmYWU0NjdlNTkyNTk1MWJlOTk5OTM5NWVjYTdhM2ZkNGJiMGYgbGVnYWN5LXRydW5rCisxNzIyMSBlZjI3MTRiYjA3MzBhNzUyNTZlODMyYjcwNzcyYTQ3M2I3YTNhYmM3IGxlZ2FjeS10cnVuaworMTcyMjIgOWYwM2QyZmFmMTU2YWRlOWRjMjk2YjEwNWYwNDlmMjVkMjc2ODg1MyBsZWdhY3ktdHJ1bmsKKzE3MjIzIDFjNDM4ZmQ1YzBlOTM0MDA2ZWI0MmI5YzU2M2FhNTEwZTdhMjMzMDAgY25yaS0xNi1zdGFydAorMTcyMjQgNDRmZjdlNDE2M2FhMWUwY2IyMjUwMmJjMDY4NGI4YzhlYWUxOTk0OCByMTYxLWJyYW5jaAorMTcyMjUgNTU4ZWE5MGY1YjFjYTI4YzNmNjA0MmJjNDZkZTEyYjljNTU4MTdjZiBjbnJpLTE2LXN0YXJ0CisxNzIyNiA5YjFkYWYzZGVlMTRkNGU0MWNkMjQ3Y2M3Mzc2ODkxNWE1Mzg1MTEwIGxlZ2FjeS10cnVuaworMTcyMjcgZjFiZDMwNDQ3ZTMwYjU5YzA4ZjAyMWM1OWYxN2M2OGQ4OGM2ODM5ZCBjbnJpLTE2LXN0YXJ0CisxNzIyOCAxZmQ2NGIzYWY3NjAyMjhiYjVlYjUxMzRhNjI0YWUwODFkNjNjNDM5IGxlZ2FjeS10cnVuaworMTcyMjkgNjNkODI0Njc5YjI4NTMzYmZhYTEwZTM0Y2Y0OTdhMDU2ZDBjNDExZCBsZWdhY3ktdHJ1bmsKKzE3MjMwIDdlNGY2MDJkYzY4NTc2YjJlODg2YjBmNTIyMTkyNmQwOWUxMTczM2QgbGVnYWN5LXRydW5rCisxNzIzMSAyZWViNThiNDNlYjE4ODNiZGY0NDM3MmZmNGM4MTFjN2I4MzFiYmY2IGxlZ2FjeS10cnVuaworMTcyMzIgMDVmMTIxMjhjMzhkYmU0MjRjMjk3YjRmY2FhM2RmODc2NzBiZTczZiBjbnJpLTE2LXN0YXJ0CisxNzIzMyA1MzJjOWNlNmM4N2MxN2Q5YmI1MWIwN2FhMGZjYzRjZTM4MDkwYmNiIGxlZ2FjeS10cnVuaworMTcyMzQgYTEwYWZiM2FkMjc1MGMwZTI2MjQxMzRiMWY1OWJjOTAwOTBiNzI0MyBsZWdhY3ktdHJ1bmsKKzE3MjM1IDU0MmQxMGJkMDRmNDc3YTRiODk5ODdmYjEyNjc1MGZlOWU0ZDIyYTAgY25yaS0xNi1zdGFydAorMTcyMzYgY2Q2ZjcwNWM1NGI4YzQ1M2I5Y2QzNjljOGYxNjcwMWFiMTQwNGQwOSBjbnJpLTE2LXN0YXJ0CisxNzIzNyBmNjI5YWYxZDRiZGFhODJjYjVmZTYwOTkyYjM1ODhlZTg4YjdlYmQzIGNucmktMTYtc3RhcnQKKzE3MjM4IDhkNDcxMDE0MTliODRjYWI5M2RjNWFjZjJkMjAxMTEzMmIxNzJkMWUgbGVnYWN5LXRydW5rCisxNzIzOSBjZDJiZTE1M2YyMjhmN2ZjZTc2OTAzZDFjOGM5YTZmNmYzNmMwMTEyIGxlZ2FjeS10cnVuaworMTcyNDAgMzY3Y2E0OTE5MGJjNTI2NWU2ZDcxZWZmYWJkYzc5NTAyNGQ2ZTE3OSBsZWdhY3ktdHJ1bmsKKzE3MjQxIDMyMDE1ODAyNmE0YmM0ZWU5MTY1MGVkOTA3YmQ0MDgzMmUxNGY3M2IgY25yaS0xNi1zdGFydAorMTcyNDIgODg4NTNjMTAzMDg3OTdjODVjYWM1ODg3NTljZjA5MTA3MWU1YTExNCBsZWdhY3ktdHJ1bmsKKzE3MjQzIDZhNWZiZThjNWFhNmE4ODkzOGY4MTIyZGIyMjA3ODRjZGFhOTdkYzMgbGVnYWN5LXRydW5rCisxNzI0NCAzZTM3Njk4Y2Q3MzdmNGY3Y2FjYzQ0OTM5ZWEwMTcyODc0Zjg3YjcwIGxlZ2FjeS10cnVuaworMTcyNDUgOGI0MDY4NTZiYzMxYzEyYWY0Yjc4MGM1NTU2NzI3NzI3NTdhODliMiBsZWdhY3ktdHJ1bmsKKzE3MjQ2IDA1N2JjMTk3MDM0NTI2YTVkZjEwY2U1ZjFhNWJhNDEzM2UwOWYzZDQgbGVnYWN5LXRydW5rCisxNzI0NyBkNjg5YjhjZTlkMGE5MjhiYTY1MjM5MjY4NTIxYjBkZDNlNDAxZGYxIGNucmktMTYtc3RhcnQKKzE3MjQ4IDg3MjE5MTVhNmFjYjgzMDdhNWVjMTIwYTg3MGVlMjI4YjNhYmNiZTUgY25yaS0xNi1zdGFydAorMTcyNDkgYjE3NTk4ZmYyY2RkNzQwMWQ4Zjg2NjUxZjVmZTAwMGZiYmFhNjgwZCBjbnJpLTE2LXN0YXJ0CisxNzI1MCBkOGQxODEyZGZjZTA2NDZiMmZkZTU1OWJkMjYyYTkxYzgxOTI1YTc5IGNucmktMTYtc3RhcnQKKzE3MjUxIGQ4NDY2ODU1MDI2ZjVlOWJkYWJhYjdhMmJhM2Q2OGNkMDMyNmJjMDcgY25yaS0xNi1zdGFydAorMTcyNTIgNjU2M2Q3MWU3ZDk1YWQwYmY4ZGFhMTZjNDQ3MThmMDdkMTM0ODI4MSBjbnJpLTE2LXN0YXJ0CisxNzI1MiA3ODZhNTdiN2RjNmNjZjU2ZTYzMGViOTFhMjYyMDE2YjlhMTQ5ODJmIGNucmktMTYtc3RhcnQKKzE3MjU0IGJlZWZhODVhMzkyNGMzZTIyYTU4MzdiZDNlYjYxODZkNzZlYzg0OWMgbGVnYWN5LXRydW5rCisxNzI1NSBmYzEwYjIyN2MxN2RkYzJmOTE4OTUyYWJjODczNmU2MDQyZGIwMmE1IGxlZ2FjeS10cnVuaworMTcyNTYgOGQwMzVjMmZjMjM0MDg1ODM1MDljODI1ZmU3NTA3ZDg5Mjk3M2I5ZiBsZWdhY3ktdHJ1bmsKKzE3MjU3IGQxYzM5NWM0NzEwMmExNTZiNDIyYjJiZjVkMzA5OTU1OTI0NzliMDEgbGVnYWN5LXRydW5rCisxNzI1OCBhNzZhYjdjOGZjMjkyMWJiYzFlYzAyNTJhY2MwMjkwMDg5M2U5NzAwIGxlZ2FjeS10cnVuaworMTcyNTkgNDMwNjEwN2IxMzk1NTE4ZDlkMzI5N2UxODMzYWJlYTBhZWZkMzcxNyBsZWdhY3ktdHJ1bmsKKzE3MjYwIGE3MDdhNWYxNzEzOTMyNGE4NGRjMmU2ZTQ1MTAzMGVjZGY2Y2IwMmUgbGVnYWN5LXRydW5rCisxNzI2MSBiMTk0NGNlNTQ5MmIyZjJiYzMyZjBmZGE3YTlhMDE0NzcyODkxNzFiIGxlZ2FjeS10cnVuaworMTcyNjIgODYyNjZmNzYzZDQ0MTk3MTdlZDY0MGYyMDdkNjAzODIyODkzZTNlZiBsZWdhY3ktdHJ1bmsKKzE3MjYzIDkwZjA5NDZmNjRlNzgxZTczMmQ2ZjU2N2NlY2JkNDZlNjM1YTkwMjkgbGVnYWN5LXRydW5rCisxNzI2NCA2MDcyNjRlN2JmNTE0MzQwYjYyMTc5MTEzNTBiZjAwNzZjYWRkOGU2IGxlZ2FjeS10cnVuaworMTcyNjUgNmJlNDQ2ZmZhMmQ5YWJjOTEzYTcyZDNjYzZiOTI4ZTBkZGVmOTU2MCBsZWdhY3ktdHJ1bmsKKzE3MjY2IGQ0MmZjM2M3MTczZTVjNzNjN2I4OWZiMmVlYTYwOTFkNGI3NjBmNmQgbGVnYWN5LXRydW5rCisxNzI2NyAxMGJlOTY4MmIwMDNmMjNjMjI3NmQxMjcxZDI1YjViMzFjMTA2ZTVkIGxlZ2FjeS10cnVuaworMTcyNjggMGRjYWU4NDUwNmJhYTljYjczNTJjMjc3NjRiNzE5Yjc2OWJiMTI4ZCBsZWdhY3ktdHJ1bmsKKzE3MjY5IGJhMjJhNWVkNDY0MTBiY2Q5MWFhMGY1NjZjY2EwN2VmYzZiZjhiNGIgbGVnYWN5LXRydW5rCisxNzI3MCBlMzZhZmY1MmZiNGUwZmMzNjA4YzBkNTkyMjI2Y2RkY2M4OGZiYTMyIGxlZ2FjeS10cnVuaworMTcyNzEgYWNkNDExM2UzMDFhM2M3YmEzZDJhN2EwMmRhNDIxMjQ2YTNiMzJhMCBsZWdhY3ktdHJ1bmsKKzE3MjcyIDI0YmUwNDlkMjAzNzkzNDJhNWUwNjc3YzA5NGIzYjRjODM0YTU1MzUgY25yaS0xNi1zdGFydAorMTcyNzMgZjk0NDhmNDRlNzAxY2FkNTZjN2NmNTgxNTk2ZjE1MDM1NTBjOGY1OSBsZWdhY3ktdHJ1bmsKKzE3Mjc0IDY0NjA0MTFmNDczZWZmY2ZkODYwNjVjNmQwN2M3YTkwNjMwZmIwMDggbGVnYWN5LXRydW5rCisxNzI3NSBjNjE2Yjc5MTA3NDU4ZGZlYjRmYWQ1ZThmMTgxMmE3YzI1MGMwMTAzIGNucmktMTYtc3RhcnQKKzE3Mjc2IGMzODRmYWFlNTA1MmM1ZjM5ZTY4M2JhYmEyMDExZGMyOGRlODY3ZDggY25yaS0xNi1zdGFydAorMTcyNzcgZjhlNjY4NDQ3ZTJhMWQyOTBkNTcxYTQ5OWFiYzE2ZGE4NmQ0YzQzMSBsZWdhY3ktdHJ1bmsKKzE3Mjc4IDQ0OGJkZjQ0MTc5MjNmYWI3YWFjZDhmNTU2Mjc4ODYxODMzNGVkODEgbGVnYWN5LXRydW5rCisxNzI3OSBiYjkwODMzMTJkODE0YzRlYjRkYWNmZjE3ZTFjM2RlYzkwMTA3OWE5IGxlZ2FjeS10cnVuaworMTcyODAgY2NiMzdlMmIyNDYwM2I3YzIyMmQ1OGQwNjllMWY3OWFlNjhmYWRhOCBsZWdhY3ktdHJ1bmsKKzE3MjgxIDlmMWYwYTZiYzE4ZTc1N2Y1Mjc0Y2M3MmRlMzRhZmFjNDQ5ODYzYjggbGVnYWN5LXRydW5rCisxNzI4MiA4Mzc2YWQ2NjQ1ZTNkZGM1OTI4N2I1ZWYxZGFhOTU1NGE4MzMzMDk1IGxlZ2FjeS10cnVuaworMTcyODIgMzVjNGZjMTQxNGE1OTg4ODYxNGI5YmU3ODRhMjVmMjMzYmE2Nzk4NCBsZWdhY3ktdHJ1bmsKKzE3Mjg0IDc3ZThlNTUwYWUxM2Y3NWUxYzY0MzcwMjMwNDc1OWU5NDkxMmM5NDcgdW5pdmVyc2FsLTMzCisxNzI4NSA0ZmUwMTQ4MDg4ODVhNDZmNDdiODEzYTM1MjczODc5OTRhYjU3ZTQxIGxlZ2FjeS10cnVuaworMTcyODYgNzg4NmIzYjZjNDBmN2JkNWVlY2FlNWMzNmNmZmYxOGUyNjc5N2NmNCBsZWdhY3ktdHJ1bmsKKzE3Mjg3IDM0Mzc5MTI3ZWUzYjRkOTFmZjA1ZTMwZTU4M2YyNmExNjQ2ODM1N2YgbGVnYWN5LXRydW5rCisxNzI4OCA5ZmEzYzU3MWRhZmYyMDJlMzc3ZDIzMGJkZTNlODIwOTY3ZDE0MTQyIGxlZ2FjeS10cnVuaworMTcyODkgYzA1MDk5ODk0MDVlYzBlZWJhNzZjYjdmMmYxNTlhOTgxYzI3NzA3OCBsZWdhY3ktdHJ1bmsKKzE3MjkwIGUzNDhlZDk0NmQxZjRjMWIwYmMxOGI4NWZmYjlkYmFmYTk5Nzk2NjIgbGVnYWN5LXRydW5rCisxNzI5MSBhYzM5MTc4ZmE4NWZjOWU0YzI0ZTFkMTY5MTYxOWYyZjg2M2JkOTRlIGxlZ2FjeS10cnVuaworMTcyOTIgM2E5MzJjYzY0MzIzM2ZkY2Q4ZGJhYTkyZWY2MGRjMjg4MzQ2YzQyYSBsZWdhY3ktdHJ1bmsKKzE3MjkzIDE5NDQzNTg1Y2NjYzI1NWU4N2M1N2RhN2VhMThkNjRmMTI4ZDg1YzcgbGVnYWN5LXRydW5rCisxNzI5NCBmN2ZkMDk1YzMxYTZhYWM5OWM5ZTI4M2FlNzM1ZWJiMmZkZjdmOGY2IGxlZ2FjeS10cnVuaworMTcyOTUgYzczODA0MWY5NzVkYmU4M2VhNjRiYzFlMWRmNDU4YTIxZGQ0YjViMyBsZWdhY3ktdHJ1bmsKKzE3Mjk2IGY0YzkyYTI0MjExYmRkZDAzMGNlNTQzNWQ3MGIxNzFmNzc2MDg3NDkgbGVnYWN5LXRydW5rCisxNzI5NyBmMDUxYWM4MzQwZjdiOGExZmMwN2YyM2JkYTIyMDlmOTE0NDMxNTEzIGxlZ2FjeS10cnVuaworMTcyOTggOTNiMWRhYjA5NzY3NmQ5Mjk0NzAzMmFjM2ZjMDVjZjJlOTcxZWQwOSBsZWdhY3ktdHJ1bmsKKzE3Mjk5IDUyMGNlN2VjZTI1Mzk4NWFmMDg5ZTYxN2MxNDMwZTc2OGU1NzZkZTMgbGVnYWN5LXRydW5rCisxNzMwMCA1ZDEyZDk2NjBjMmVhOGQzODc3ZTQ4MmQyNjEyNDEyY2RmZDc0OTA1IGxlZ2FjeS10cnVuaworMTczMDEgYzllZTZmNzQ2NzBkYWY1NWQ1ZWIyYTZhMjQ3ZjcxZTQ4YzZlNzI3YyBsZWdhY3ktdHJ1bmsKKzE3MzAyIDNlMzg3NTA3YTk5MTliMDU1MTMyOGNmMmNiNzMyYmUxMDc3MWIxYzQgbGVnYWN5LXRydW5rCisxNzMwMyBmYzViNDA2MTYyNjIzNzNlZjc0NmJkYWQ3ZWYzMWFkZGJjYzEzODBjIGxlZ2FjeS10cnVuaworMTczMDQgZTVjZGNlMmEyYjE2NDlmNmQ2MmU3Mjk0NTk3ZTc3ZGY1YmMyYTkyYiBsZWdhY3ktdHJ1bmsKKzE3MzA1IDBkMDYxM2I5NTc1OGU3YmNmOWQwOTNiNTJlOGI0ZmQ5MDI3MjQzMjYgbGVnYWN5LXRydW5rCisxNzMwNiAwZDEwMjVhZWZlYmZmMjQ4OGM5MzVkNTMzMjk3OTM5MTgxZWEwMDcyIGxlZ2FjeS10cnVuaworMTczMDcgMDE1YTM0YmZiY2NiYTA5OTJiZGE3NDUxOTc4ZjE0YjNiN2Q5NjljMCBsZWdhY3ktdHJ1bmsKKzE3MzA4IDY5MTlkOGUxNGEzMDM2OTAwNjI4OTNlYmY3ZjM4YWVmMjExMGY4OTAgbGVnYWN5LXRydW5rCisxNzMwOSAyMGFjZWI4ZWRmYTVlNmNhNGZhZGY5YzUyOTg3YzQyNDZjMGVlNTBkIGxlZ2FjeS10cnVuaworMTczMTAgMGI2NmQwMzAwZWViZTljMjA3YjlmYzhjYzEwMzE1NzY1YTI2NDA2OCBsZWdhY3ktdHJ1bmsKKzE3MzExIDk1ZWViMDYxZmM2ZDRkNDU1MWU3ODM3OWFlODJkM2UwMTBjMDE0ZjUgbGVnYWN5LXRydW5rCisxNzMxMiBlZGEyNmYxMjMyMjc0YmY2YmYxOGIwNGE5MWZjN2FlMTg1YjZjMzY0IGxlZ2FjeS10cnVuaworMTczMTMgNWVkZDQ5ZDM0MGVhOWFhMGE0ZGJiNDliNTMwZWM0MDZjOWJjNjVkOCBsZWdhY3ktdHJ1bmsKKzE3MzE0IGRiMDI2MDkyY2I3ZTQ5ZDhlNzY1ZmY1YzUzODJlNzg4YTA4ZDI2NDkgbGVnYWN5LXRydW5rCisxNzMxNSBhYTQ0NTM3ZDgwYjUzZmVkZDU2YzJlNDc5NTZjMGQ0ZTE1ZThiNGFlIGxlZ2FjeS10cnVuaworMTczMTYgZWMxNjVkMDNkNDZjYTg2MTc2YzA0NzhmNWZhNDExNWNkNjRhM2FiZCBsZWdhY3ktdHJ1bmsKKzE3MzE3IDE3Y2VjOTZmNzViYzFkNTYwOWQyMjMxNWY4N2EwMThkZTQxMzI4M2UgbGVnYWN5LXRydW5rCisxNzMxOCBlMTNkZjRlOTA3NmY3NThiYzdkOTA0M2Q4ZTg3NjMxMjliZDM5ODQ3IGxlZ2FjeS10cnVuaworMTczMTkgMDcyMWRmNzg5MjcwZTc5NDM4ZGE4YzJlYzBmOWMyMGRmYzMyZjA5NSBsZWdhY3ktdHJ1bmsKKzE3MzIwIDE0MmNiNGU3MzEwY2RlYTRjNWUwODFkMTQzZTY1MzY4MjhjYzEyMzAgbGVnYWN5LXRydW5rCisxNzMyMSAwZWY2ZWE1ODU5MGI2MGE1YTM2Yzg3MDk4ZGM3N2FkOGZhYzFkNTNiIGxlZ2FjeS10cnVuaworMTczMjIgZjkwYjgyMzIwNWZmMWUxYzY4YmIyZTdkZWMyOThmMjA2MWI2NGFkZiBsZWdhY3ktdHJ1bmsKKzE3MzIzIDM5ZmY2YjNjNDNhZmMzZWIzYWI0ZDg2ZjY2NzFhYTQ3OWU2Yjg2ZTcgbGVnYWN5LXRydW5rCisxNzMyNCBjM2M0OTg1OWU4MGIwOGZkMTEwZGU0YmEyMjU3YTY1MjY0OWM5OGE1IGxlZ2FjeS10cnVuaworMTczMjUgZjZiODZlMmRjNTViYmZmMjZhOGNhMzQ3NTEyYTVkNGZhMzMwNzRlZiBsZWdhY3ktdHJ1bmsKKzE3MzI2IDk1MzdlNzg5M2YzYzNkNDUzYWM1MmY2NDZlZDc5MGFjNjg0M2Y2NTkgbGVnYWN5LXRydW5rCisxNzMyNyBiN2JiNGEzNWMxMjE4OTc3NzlhOGUxZDk5NGE3OGJmMDVlODM4ZjI0IGxlZ2FjeS10cnVuaworMTczMjggZTRjYThjMjEzNzdhM2NiNzNiOTNjMjVlMzU4MDlkMmY1YTMzMmUxMyBsZWdhY3ktdHJ1bmsKKzE3MzI5IDcxNDU2NzgyZDhmZDVhMWYzMGI5NWZkMDEwM2UyZGY2N2IxMTUyODQgbGVnYWN5LXRydW5rCisxNzMzMCA5OTk4YjcwODdlZTYwNDlhYzBmZWMxZmY3ZTBmYjJjZWNjYjM2OThmIGxlZ2FjeS10cnVuaworMTczMzEgY2M2ODNhMGFjNTY4ZWI4NDQ3MDUwODBjYjFmM2EzYmZlMjgxNmU0MyBsZWdhY3ktdHJ1bmsKKzE3MzMyIDg5ZTNiNmE1NGZlOTNjNmRjNTM4MjhjYzk5YjllODJjNGZkZDBkNDYgbGVnYWN5LXRydW5rCisxNzMzMyAwZDE1YzgwNTM3MjZiMjdmNGYyYjAyZmQxOTRhMTMxZjRiYjdlYjczIGxlZ2FjeS10cnVuaworMTczMzQgNTAwNDM0OWVkZTRkZjhlY2E0MTFlZWZiYzQ4ZDgyZGY1MjVkNDZmMCBsZWdhY3ktdHJ1bmsKKzE3MzM1IDhhNjNjNjA0ZWU1OThmYjY0MGYxZWU1MmY5NWUyMzU3MGE3ZDlkMzQgbGVnYWN5LXRydW5rCisxNzMzNiBjMzJmNTQ5MGY1ZTNhYzJlODI5MjgxYjhlNGEzZDNkNzFkN2Y3NWRlIGxlZ2FjeS10cnVuaworMTczMzcgMzRmOWEwMTdjZTYzMmNjZGM4YzE3MjhkMTI1Njg0Njc0NGU0ZDkxYSBsZWdhY3ktdHJ1bmsKKzE3MzM4IGFjMDI0NjU4NmQ1Mjc4MmI1Y2VmZWIxNzk2NzFlZDE3MTQ4MWE2MjggbGVnYWN5LXRydW5rCisxNzMzOSA1MTM2OWE1N2IwYWFiNDgwYTA3OWM2ZThiZDEzZTEzYTkyNzVhNzEyIGxlZ2FjeS10cnVuaworMTczNDAgOGE3MTVkMmRmZWI5ZjlhNjFkN2FjMjYwYWM2M2Y1MzFjNDU1ZWU3ZCBsZWdhY3ktdHJ1bmsKKzE3MzQxIGFiYTdlYjlkOGQ2MTQ1NGY4OWE1ZmQ4N2U5OWRiMzM2MWIzOTEwZjAgbGVnYWN5LXRydW5rCisxNzM0MiA1MmE2MDBiMzhmN2VlNTk4MGMwZWJlNjIwZjk4OWMxZmYzMzIxYzViIGxlZ2FjeS10cnVuaworMTczNDMgZjc4ZjI4N2IzYWRkYmM4ODdjMTk0NGI1Yjg3M2U2OTQxZmUwMTkyZiBsZWdhY3ktdHJ1bmsKKzE3MzQ0IDMzNGQ5YWViYWFmMTBhMDJlZDEzYTI5YjcwZDIxMTY1YTQzOWZhMDkgbGVnYWN5LXRydW5rCisxNzM0NSA3NzI4YjBlYTkzNDQxYzUzMDBhY2FmZWUzMDY4YzY4YzIyMDRlYjAxIGxlZ2FjeS10cnVuaworMTczNDYgMmJhMDhkOTkxYzQzMzBhZjRkN2VlNDY4MTBjMjkxNzZlMTkyODkzOSBsZWdhY3ktdHJ1bmsKKzE3MzQ3IGIxOTg4NmJlYTM3ODdmYWZjMGQyMWI4ZDQ1YWEyYTcwYWVhNGI2OGYgbGVnYWN5LXRydW5rCisxNzM0OCBlNmE5ZDQxMjY1MmQyOGE5Y2U1MWM1NGMyOTliNWNjNzRkYmYwYjY1IGxlZ2FjeS10cnVuaworMTczNDkgYWVkMzdmNWFhNDc1ZTc0NzNmOWU4ZDZhZGNkMjlmYTRjMDhjMWJkOCBsZWdhY3ktdHJ1bmsKKzE3MzUwIGQzMjdmYzQ3ZjhmZGRmYWQ5N2RkOTBkZGQwYzFiOGIzYTg2MWVlODEgbGVnYWN5LXRydW5rCisxNzM1MSAzNzFlODhhZjY0NWYxZTg1NzQ5NWZkYTVlZTNhMDMwNTQ2M2QwNWZmIGxlZ2FjeS10cnVuaworMTczNTIgN2YyM2VjNWNkOWNhODQ1OGM5NmE4ZjFlZmJkM2RjZDZmMGQzODBmYSBsZWdhY3ktdHJ1bmsKKzE3MzUzIDIxZDg0NzY1M2Y1NGI5NTk5MDMyNDAzMTM5YmEzNGEwOTMzN2Q1YWEgbGVnYWN5LXRydW5rCisxNzM1NCA1OGJhOTBlNGU5ODVmMWJhYTljZWZhYWVkMWRjNDdlOWE4ZDMzMjRmIGxlZ2FjeS10cnVuaworMTczNTUgZWVmMjU3MzBlNjRkYWFlNzgyMTI0MjlkZjg4MzdiMzkzZWQ4MTQ4MSBsZWdhY3ktdHJ1bmsKKzE3MzU2IDE1YWNkNWM1OTFmZDRjMDUxOGRmMjRlYjliMzEwOWUwZjhkZWVlMTcgbGVnYWN5LXRydW5rCisxNzM1NyBkZWIzZTk2ODVhMWVkZGMyZTFiYTllY2NlNWNmMDFmNzhmZDQ0MmM3IGxlZ2FjeS10cnVuaworMTczNTggMzgyM2ZjNzIyYjUwYzUzMDlkMTc0ZDU1YzViOWJhMWQ0OWZkNTQ5MiBsZWdhY3ktdHJ1bmsKKzE3MzU5IDI4YWMxNDhkMDEyOWE3ODAyY2M3NThmZmMxOGQ4NmEzZmFlZTQyMWYgbGVnYWN5LXRydW5rCisxNzM2MCBjODcyN2FjYTE0MDRjODlmMzY2YmRlZjBkZjM2YWU0OGJmMzBkOWE3IGxlZ2FjeS10cnVuaworMTczNjEgYzJmN2FkMDcwYjllZmYzMDEzZTg4ZmFlOWUzNmU2ZDc1YjIwMmQwZSBsZWdhY3ktdHJ1bmsKKzE3MzYyIGEwMzkyZjQzODk2MDVmODcwNTA3YjI5ZDMyZGEyMDVhNmQzODRjZjAgbGVnYWN5LXRydW5rCisxNzM2MyA3NWVkNDI2MzQzNjYyOWVhYjQ5NzBkZDJiOTliNTI5ZGFiMWE5OGM2IGxlZ2FjeS10cnVuaworMTczNjQgMjlmYWNiNzhkNmY0MTY3NDA4ZWM2ZjIyODc3OTc1MDRkMDZmN2I5OCBsZWdhY3ktdHJ1bmsKKzE3MzY1IDBkNDlkZDBmMWJjZTMxMzVkMjYxOWI3ODIyODQ3MDUzZWJlOGFkMjEgbGVnYWN5LXRydW5rCisxNzM2NiBiMzQwOTVlNDg4Y2YxYWM4ODE4YjIyMTNjYmRjMjlhYmU4OTQyZTliIGxlZ2FjeS10cnVuaworMTczNjcgM2I2MTkzODVhOTBlNDdjOTY4Y2YwMmNmZGM5ZmI3YjM3ODRlZDg3YiBsZWdhY3ktdHJ1bmsKKzE3MzY4IDFkYjQ1MzI5NmM3NjdiZGFjZWZhY2VmZjA2MGFmNWRlN2FmYWM1NmMgbGVnYWN5LXRydW5rCisxNzM2OSBiODI4MDJiZjdmZmYyZGZjYzRhOWFlNzE5MGYwYTUxMGJiZDM0NGY1IGxlZ2FjeS10cnVuaworMTczNzEgYmY4NDRhYzJjODFhYmYzMDIzMjVjODIxMmIyNGJlZjAzM2I2MDk5ZSBsZWdhY3ktdHJ1bmsKKzE3MzcyIDUxNjdkMjNiZDZiMGJmMDFkYWQyMDhlMDNiNjk0MmZhOGY5MWI3YjAgbGVnYWN5LXRydW5rCisxNzM3MyA3NDM1MzMxYjQ4ZWU2NTg0MDUxMTY1ZTYxMDc0ZjMxYzc4YjBhYzczIGxlZ2FjeS10cnVuaworMTczNzQgYWRkYWJhOTkxMDc3ZDQ4MzhiYmQ2MWY2NDZlNWE4MDZjMDBhYTJlOCBsZWdhY3ktdHJ1bmsKKzE3Mzc1IDlmZWQ0ZWViYzU4NjRmY2Q4ZTRlZWE1MDczOWVjY2M1NTZmYTI3ZWEgbGVnYWN5LXRydW5rCisxNzM3NiAyMzViY2QzZTVmMTc0NDY5M2Y2YThkODM3YzNmZTg0NWU0NWFmNGI2IGxlZ2FjeS10cnVuaworMTczNzcgY2QzZTRkNzNkZjhlNDg2M2Y2MzJjNTNlMGMwMDc5MDM5NmM1MDVmNSBsZWdhY3ktdHJ1bmsKKzE3Mzc4IDkxOWQzNmZkYThjOGQxODU3MTE4NzE4YTc2NjUxMDNlZjMzM2ZlYWEgbGVnYWN5LXRydW5rCisxNzM3OSBmYzU0ZTM5NzE2OWZmNmVhZGJjYjA5ZjY1NGU4ODM1MWQzZGYxZjI1IGxlZ2FjeS10cnVuaworMTczODAgZmY0YWU2OTFiZTliNTBmOWMyZTZlMTJlM2I0NDAyYzZkYTcyODcwNCBsZWdhY3ktdHJ1bmsKKzE3MzgxIDg2ZDQ3ODY3MzRjYTFkZDY1MDBlNGRlMzk0MGRkZGIwMTBkMDlkNDcgbGVnYWN5LXRydW5rCisxNzM4MiA3MzY2YmI5NWYyMTI5OTBhODBiYTdjZjY3M2ZlNDM5NDYwMWMyZDdkIGxlZ2FjeS10cnVuaworMTczODMgYmUxYWIxODczNThjODFmMDk2MmRiYzgyY2FiODAzNTA5ODM3MDk0MyBsZWdhY3ktdHJ1bmsKKzE3Mzg0IDhkMWE0NjhmOGU1OTE1NGI3MDJiOWU0Y2NjNWYzMTc0YjNlYzkxMjQgbGVnYWN5LXRydW5rCisxNzM4NSAzMDY3YWUyNzQ1OGMyNDA1OTJlY2MyZWU1YThjNjI4NDQ0MzJhNDllIGxlZ2FjeS10cnVuaworMTczODYgNzE1MDk3OWY5Njk0MTU2NTUxZWY4ZjY0NDNkZGFiMmY4MGYzZTNjNSBsZWdhY3ktdHJ1bmsKKzE3Mzg4IDYzNWY2OTEyMzM0OTNlNWI3OTM1YTk0Mjg3NGEwMGNjODMyZWY2YzMgbGVnYWN5LXRydW5rCisxNzM4OSBhNWQ2NTQ1OWE3YjY5MjAzMGU1NDUxMTM0YzA2Nzc0YzA4ZGFiNGJmIGxlZ2FjeS10cnVuaworMTczOTAgNjg3OTVjMTNhY2VhMDAxMTZhMTVlMTE2Y2Y0MzRjYjU2N2YzMWRmOCBsZWdhY3ktdHJ1bmsKKzE3MzkxIDQxNzVlZTgwYTA4NThjOTg3NmYwNzMwNmY3MTFjOGI5ZGJmODgyZjAgbGVnYWN5LXRydW5rCisxNzM5MiAwNTJiMTEzYzc1ZDRjYmU2ZWQ5NjAxNDg4OTFjZGYwZGRiZGNiMDE0IGxlZ2FjeS10cnVuaworMTczOTMgMzY5YWMxODUwNTVkMzExYzAxZGEzMDg5MmNkY2FkZmE3NDc4M2Y4OSBsZWdhY3ktdHJ1bmsKKzE3Mzk0IGRjM2JlZjc3MWQwNzMyYzY5MWNlNWRhOTVhOTUwZTI0MjZkY2RhMjAgbGVnYWN5LXRydW5rCisxNzM5NSAzNWFlOGRmZjhlZDA5OWJlYTlkOWE1ZDJiMDcyMzIwYjZhYTJjYTk2IGxlZ2FjeS10cnVuaworMTczOTYgNTYxYzBiMWQ1MTRiMzRmODlhYmNiM2MyY2U0MzYxY2RmYTZmZDA4ZSBsZWdhY3ktdHJ1bmsKKzE3Mzk3IGE0NWNhMWY3ZjI0MTViYjcyNDFlZDk3ODU2OGNhZGI5ZTQ1NDFiMzcgbGVnYWN5LXRydW5rCisxNzM5OCBjMTYzOTY1MTFhYTM1NmFhMWM5ZGI3ZDg4YTNmOWZkYzQ1NTMwYzI2IGxlZ2FjeS10cnVuaworMTczOTkgZmY3MTJkZThiZDgxMzQ1ZDc0OGM0MTJhYzJhMWZkZTEyZTM4NzQ4YyBsZWdhY3ktdHJ1bmsKKzE3NDAwIDEyMjc3NWZmYTM2YzkzZmUwMmRjZDU0MDU0ZDVjZWI3YThmNDFmZDcgbGVnYWN5LXRydW5rCisxNzQwMSBlZmJhMzA3MGNkZGVjOGFmOWJhYzhhNzYxYWIxOWQ2ZTgyOTAxZDEzIGxlZ2FjeS10cnVuaworMTc0MDIgYWVkMTIyNmE3ZmM0ZjM0ZDEwY2MzNGEwNzBjYTZlZGExYjc4OTljMiBsZWdhY3ktdHJ1bmsKKzE3NDAzIGU5YzMxMzc0NTMwMjE3YTY2OGMzODA0ZDRmN2M4ZDMxMDBlZjljYTAgbGVnYWN5LXRydW5rCisxNzQwNCBkNDkwYzJhMTg2ZGFmY2Q5YWYzOGUzZGQ2ZmQwMzI1NzVjZDNjNjI3IGxlZ2FjeS10cnVuaworMTc0MDUgN2ZhNDMwMmE1YTA4NzBmMDQ2MzE5M2EyNTBhYmY0Mzk0YzM3YTgwMSBsZWdhY3ktdHJ1bmsKKzE3NDA2IDI4ZGY0ZjQ1OTY3ZmI2NGViOTJiOGNjZWY1MTllZjBhMDEzOWQ1YjAgbGVnYWN5LXRydW5rCisxNzQwNyBhOGQxYzAzMGIxOWZlNjgwYzcwYjY3Njk1ZTQzNjEzOTU1YjExY2IyIGxlZ2FjeS10cnVuaworMTc0MDggYjNmMTU2MTE2MjcxMjNkOTA5Zjk5ZjUyYzYzZTc3YmRhOGFiMGVmMCBsZWdhY3ktdHJ1bmsKKzE3NDA5IDg3NzQ1ZTU1NDcyNzE0ZGNjMjg4YjM1Zjc0MDhlYmYzYzg1MmM4OGIgbGVnYWN5LXRydW5rCisxNzQxMCAyMTllMDAyMjFjODQzNWNmYjdmZDQ4ZjM2Mzc5NzA3ZjlkY2M4ZWRlIGxlZ2FjeS10cnVuaworMTc0MTEgNGFjMDllOTcwODI4MmRmNTcxYzA1ZWEyNDFjMDMzOTAyYzc3ZmQ0NSBsZWdhY3ktdHJ1bmsKKzE3NDEyIGE3MTM4NWY4YjRkYWJmZDgxZjMzZDFlZGJiZTg4NjM5Yjg5ZTc0N2EgbGVnYWN5LXRydW5rCisxNzQxMyA1ZjJiOWVmM2YyYWVjMWMzODIzYTM5MzNhMDRjMjk2Mjc5NDRlMzQyIGxlZ2FjeS10cnVuaworMTc0MTQgMjhjYWFhM2UyOTJmZmUxYzNiMTA4ODZlNTEwMTVkOWI2MmNhMmIzNiBsZWdhY3ktdHJ1bmsKKzE3NDE1IGVlYjhlZTQ4ODEwNmE3Y2I5YjllYmYzZjliMDFjODMyNjEzNDEwMmQgbGVnYWN5LXRydW5rCisxNzQxNiAwN2EyZGMxYjcyYWVhMmZlZDE0OWVjYjljNDQwYTMxMWE2OGU2NmQ0IGxlZ2FjeS10cnVuaworMTc0MTcgZmU4ZWY0MWMzMjIzZjk5ZjliMTdkYTYwZDUyY2I2MTM2ZDZkZWIzNiBsZWdhY3ktdHJ1bmsKKzE3NDE4IDAzZTYxNTBmZDhkNTI0YTgyZGU1Mjc1ZjY3Y2Y3YzQzMTA1ZTQ1YmYgbGVnYWN5LXRydW5rCisxNzQxOSBiY2YyM2I1MmIwMmZkOWFlYjBhYjY4NWQ5YmFkMTQ3YjY1OThiMzcyIGxlZ2FjeS10cnVuaworMTc0MjAgYWM4MWUwY2FjNWY2Y2Q4YjA5ZjZhMzE4ZTJjMDRmMTY2MWZjNDUwZiBsZWdhY3ktdHJ1bmsKKzE3NDIxIGI3ZWQ1NDNmNGM1NmQyYTYyMWY2YWM1MTRkNzgxMzVmOWVlNWM0OTcgbGVnYWN5LXRydW5rCisxNzQyMiA2Mjk3OWM3YjlhNzE5YjMxMjQzOTJiZTEyNTgwNmQyYTJkZDYxYjY3IGxlZ2FjeS10cnVuaworMTc0MjMgZjQ0NGNmZDRmYTA3NTQxMDkyMTk2NzFlMWRhMGMzMjA3NzE1ZmYyZiBsZWdhY3ktdHJ1bmsKKzE3NDI0IDU1ZDY3MzAyNGU1Zjk2YjdiNDY2OTEzMjVlY2M1YzM3NGExOTZhMjUgbGVnYWN5LXRydW5rCisxNzQyNSBiY2ExZDIwMTM2MjZiOTI0NTgxN2JjOTdlNGRhNTFlOTMxOTI0ODAxIGxlZ2FjeS10cnVuaworMTc0MjYgNjAwNTE1NzQ3YzUxYTM1YTI0ZjI2YjlmODQyOWRkZGQ0YThhZDE4OCBsZWdhY3ktdHJ1bmsKKzE3NDI3IDI1YjdhYzA1Njg5ZTUwOTJkZGVjZjA2NzMwZjY4YmUyMjVlYmE2YzggbGVnYWN5LXRydW5rCisxNzQyOCA4NTczNzZkNjk5YmI5ZGY0MjlhNTA4Yzc3YWQwYWZhY2UyODZiYWFhIGxlZ2FjeS10cnVuaworMTc0MjkgYjRhMzdhYjMyOWRhMjQ4MWI5NWMzYzMxYTZkOWFhYjBkZWY4ZTE5ZCBsZWdhY3ktdHJ1bmsKKzE3NDMwIGJhNTQyMWZmMDI1NjdiMDJlNzM4NjViNjRiZThkNGFiOTdkYzQ4M2EgbGVnYWN5LXRydW5rCisxNzQzMSA4MzY5ZmNkNzlhNjRiY2RmNDhmOThhNmM0ZTg2MWI5ZjI0NTU0MjAwIGxlZ2FjeS10cnVuaworMTc0MzIgMTgzM2QyYmJmNzZhNDljYTEwZmVmZjM3NGNhNDZlMjUzYWU2MWZjYSBsZWdhY3ktdHJ1bmsKKzE3NDMzIDM0NGQyMmI5ZGIzMmFkOTJiODg1M2NmMDZiOGM1MGJmMzE5MzhiNjggbGVnYWN5LXRydW5rCisxNzQzNCAyMGIyMmZkZTFjYjc5ZjhmM2QzYmQ1ODI0ZGRmYzc0ZmMzYTA0NTIyIGxlZ2FjeS10cnVuaworMTc0MzUgNWY4N2VlYzdiNmI4ZjY2ZDJiNmE2MGVhOGU1NThiMmQwODZmMTBjZSBsZWdhY3ktdHJ1bmsKKzE3NDM2IDRkNzQ0NTE1YTczZTRiMmI0MzJlMjY1YjU5ODVmNWY0N2MzZjBiODEgbGVnYWN5LXRydW5rCisxNzQzNyA2NDM1Y2M0N2ZjYzZmZjI0OGIxOTY3NGU3NTYwYjNmYTBmN2U0MGViIGxlZ2FjeS10cnVuaworMTc0MzggMjEzZGJjODgwMTU5OTY3ZmMwMDNjYzE3NzBjNWRiYTQ3ZGY5NzAzNyBsZWdhY3ktdHJ1bmsKKzE3NDM5IDg5Y2U0ODA5NjNmOWJiNDBlNGNlZGZhMDhhYjEzMjM1NTBlNWUxZTAgbGVnYWN5LXRydW5rCisxNzQ0MCBkODRkNTc1OTQ4MTU1NmFhN2E4MjBkMzlmYTkwYWFkMjJjZjY3MzE1IGxlZ2FjeS10cnVuaworMTc0NDEgY2QxYjlkOGQwNDVkZDk0ZGUyZWIzOTFjMzMyMzIyNzdhYjM2NTg1MiBsZWdhY3ktdHJ1bmsKKzE3NDQyIGU4ZDg3NThhZGZkYjYzOGM2MjRkMjMzMTkzYjlmOWE4OGNhNjRkY2MgbGVnYWN5LXRydW5rCisxNzQ0MyBkY2JjMDg0ZDA0NmViYTVkMDI0YjI0MzViOTgzMzQ0NTQzN2Y1MDkyIGxlZ2FjeS10cnVuaworMTc0NDQgOWFiNDE5YTVlMDUyODkxOTg5YTQ3MjllNDY3ZTI2MzA1Zjg1NmY0NyBsZWdhY3ktdHJ1bmsKKzE3NDQ1IGM0MjEwNWJkYjVmYzRlYjFhZTQ2MGRlNmNmYWQwM2U3MjNmNzhiNmQgbGVnYWN5LXRydW5rCisxNzQ0NiAxNmE5YzA1N2RjMTE5ZjJjNTM1N2UyMzgzYzIzZmYyMzc2MTQ1NTRlIGxlZ2FjeS10cnVuaworMTc0NDcgOTBmMDc4OWQ1N2I3MTdkMzBkMjc0ZGQ5ZjZmNGViNmE0ODNjZDYxMCBsZWdhY3ktdHJ1bmsKKzE3NDQ4IDZjMzE3YWRjMThhOWUyYmFkZjFhY2I2YjhkNjk5ZGUzMDM5MGViMjYgbGVnYWN5LXRydW5rCisxNzQ0OSBhMWUyZThkNTVlZjAwNTAwN2EwZmZkNzNiZTQzNGJlZTcxMzA3ZTZhIGxlZ2FjeS10cnVuaworMTc0NTAgMmE0NDE2YWQ4MzdjNDU5NmE0MmY5MzVlOGYxYjU3YzZkNzE3YjEyMCBsZWdhY3ktdHJ1bmsKKzE3NDUxIDI1NmQxYmI2Mzg4ODk0N2ZjNjE2MGQ2MmYwOGQ0NTRiN2NhMTM4YmMgbGVnYWN5LXRydW5rCisxNzQ1MiBmNDg2MTc2ZjU2Zjg3MDg3MGFhNDcxZjlkNTQ3YjNiZmEwNWI1ZWE1IGxlZ2FjeS10cnVuaworMTc0NTMgNjlmOTZiNmNhZDI5MmI0MDYwZjEyYzQzODU4ODdjNDkwMGYxZTRmOSBsZWdhY3ktdHJ1bmsKKzE3NDU0IDQ5YTA0MTMzMDQ2MWNlODRhODQ1ZTBlYWE4ZWZkNGVhMjhiMTFjYWMgbGVnYWN5LXRydW5rCisxNzQ1NSAwMTRjZjZkMjkzOTg3MmRhYWUyYTgxMGU4YTAyYjJlMTkzOGE0ZmEzIGxlZ2FjeS10cnVuaworMTc0NTYgOGU1Y2EzZmJjZGI2NDYzMmI5NTFjMjQyNmI0YWZjNjkwODRiZjBlNiBsZWdhY3ktdHJ1bmsKKzE3NDU3IDI0ZmJiZjEzZGFhNWJkNjc2ZTNmMzE4ZDRlYThjNzMzZWMyZjA1YWMgbGVnYWN5LXRydW5rCisxNzQ1OCA4MGE3ODIwODZhNTdmMTliN2MyZTZhYmNhYWU4ZjhlMTkxMTYxNDMyIGxlZ2FjeS10cnVuaworMTc0NTkgZDI2MDlkNDMwNGVmYzVjYWNmYzczMGQ4NWE4Y2NhOWUwMjQwNTcyZiBsZWdhY3ktdHJ1bmsKKzE3NDYwIDhhZDliZDljYTYwYzAwNGFlY2I3ZWU4YmFiNDk0MGJmYWNkZmVkOTAgbGVnYWN5LXRydW5rCisxNzQ2MSBmMmZjNjZhNjE1M2I0MDU2ZTYyZDlhZWU1ZjEwYzg5NDIxMzYyYzBhIGxlZ2FjeS10cnVuaworMTc0NjIgYWM1ODNlNmEzYzhiNTFhNWYyMGI2MzU4NmIwNjU1OWQ0MmEwM2FmMiBsZWdhY3ktdHJ1bmsKKzE3NDYzIDE0MmE5MGVlYThmNGExODkyMTY5MTQ3YjEzYzkxZGIxMTAzZDUxMTIgbGVnYWN5LXRydW5rCisxNzQ2NCAwYjYzMzMyNThmNTQ3ZDFlOTAwY2RkMjdkNmQ5ZTI3M2Q5YWY5MDdlIGxlZ2FjeS10cnVuaworMTc0NjUgMTNjNzNhMjE5Y2IxMWQ5ZWUzNzc4M2Q0NzE1NTAyNTBmYWMyY2NmNCBsZWdhY3ktdHJ1bmsKKzE3NDY2IGRjYjkyNmU3Mjk2ZWMwYWQyZmM0YmEwM2VjMTQ1NzYwNjNlYzlhN2UgbGVnYWN5LXRydW5rCisxNzQ2NyAxZTZjMDQ0ZDhlNTk4NTE1N2Q2YTBkZjZiYjUwNzc1MzE4NTcxNGU1IGxlZ2FjeS10cnVuaworMTc0NjggNWE1MTJlYzhhN2FkZTI4ZDllOWMxNWJjOGVkNWU5NTI1OTk1NTE5NSBsZWdhY3ktdHJ1bmsKKzE3NDY5IDMzZTJlZjMzOWU1MGQxOTEzZDVmNWNiNGNkMjYzMzIyOThhZWRjZWMgbGVnYWN5LXRydW5rCisxNzQ3MCBjNGQwNTk4NWM2ZjMwNjljOTEyZTYxZjUwNzFmYWYzMTZlZjBhM2RlIGxlZ2FjeS10cnVuaworMTc0NzEgMjg0NTA4YzY1M2M3YzNlOTMxYjFiZTIzYzFjNTU5ZjU2MjMyYzA2NCBsZWdhY3ktdHJ1bmsKKzE3NDcyIDlkNzk4YTc2M2QyNDE3OThkNzBmMDUyZDE2NTM3Y2U1ZDg4OTFhNWQgbGVnYWN5LXRydW5rCisxNzQ3MyBjYjc2MzgzNWIxNzYxZGE3ZTcxZWY3MzFmNzllYmIzNTQ1NGNhOWE4IGxlZ2FjeS10cnVuaworMTc0NzQgNGYwNjlmNWRmYTdiOTc4MGIwYTUyYTY2ZGNmNjZhYTE0NWU4NDAxZiBsZWdhY3ktdHJ1bmsKKzE3NDc1IDRhY2NjNjNkNTZkYzU2Njg2NDgxNTc0MjhlMDBmZDIwMjBkNTE4OGYgbGVnYWN5LXRydW5rCisxNzQ3NiA0MWFmY2QwNjlhNmM1MTg0ZDAzOWU5MGVkNDQyMzQ4YjIxNzFhMDRlIGxlZ2FjeS10cnVuaworMTc0NzcgNDZmNzYyYTYxYjk5NjMwMDUyMTMxMTVhZGU1NTVkMjMxMjhiODIzOSBsZWdhY3ktdHJ1bmsKKzE3NDc4IGFhYTFkYzE2MWNlM2QyZjMwYjFjMzgxNTU2NDA0ZGM5NjA3ZTQ4MzUgbGVnYWN5LXRydW5rCisxNzQ3OSA5NjE4NjBkNmJlYTkzYmE1NGY0MTJlNDUyZTQwNjFmMzE2MmQwZmExIGxlZ2FjeS10cnVuaworMTc0ODAgYWYzNmJhNTA2MWY2ZTg0NTM4OGVmMzI1OWVkMGVlMWFhNzg3NTY2NiBsZWdhY3ktdHJ1bmsKKzE3NDgxIGZlNDdkMjM4YjUwZGUyNTJjMGQ4ODIwNzRhNjczMTRkM2Q3NDFiNjkgbGVnYWN5LXRydW5rCisxNzQ4MiA0MDU5NTAxN2E5OTJlNTUyZTNiY2FlM2U5YTNiYTNhNzNkYzkwZDhlIGxlZ2FjeS10cnVuaworMTc0ODMgNzIxMWZiZTBkYjlkODcwOWI4MmEyMGZjMmM4OTlmZjBmZWJmYjRiMyBsZWdhY3ktdHJ1bmsKKzE3NDg0IDlkOTlhMmRmNjc1ZjQ5NmFiNGIwNzZhZGU5MjgxNzNiMDAxZTJiMTYgbGVnYWN5LXRydW5rCisxNzQ4NSA3ODljNWI2YzBmMDlhMDk3OWM1OTI0ZmUxMTBlYjA3YTZlYjU4MmVhIGxlZ2FjeS10cnVuaworMTc0ODYgM2NkMjE3NGVlMTBkMTE2MjIzNDUzNGMyNWQ0NmM0ODAzYTY3Yjc5MiBsZWdhY3ktdHJ1bmsKKzE3NDg3IDRkNmE1ZTVmZTk4ZGM4OTEwNjhkNGU4MmI0MjEwZjk3OTg4YzVkZTQgbGVnYWN5LXRydW5rCisxNzQ4OCA3ZDBlMzQ1MGVlNDEwNzQ2YTQ2YTY4MjdkNTAxMjg3ZmY5Y2UzNWE2IGxlZ2FjeS10cnVuaworMTc0ODkgOGJkNTM0OWU3YWE4ZTA0YzYxNWMzNzM0NDNiMDI2N2U3YTYwOTgxMiBsZWdhY3ktdHJ1bmsKKzE3NDkwIGRiOWVhNWI1ZjMzN2U3ZjVmMmFlMjZjM2E2YTMyN2QwNThhZDM1NTQgbGVnYWN5LXRydW5rCisxNzQ5MSAwYzMwM2EyMmQ5YTQ5NzExOTExNGQ2MzZlMTQ2NzkxMzExYzk1YmQzIGxlZ2FjeS10cnVuaworMTc0OTIgMzczOTdiZDFmOGE4ZGI0YjE4NmYxMDE1NTI1NDg5MDU5NDk4ZjA5MyBsZWdhY3ktdHJ1bmsKKzE3NDkzIDJlMTcwYzJmNjFlMTM4YjBlN2I1YWU4ZWYyZmY1NzA1MTEyMjVjZWIgbGVnYWN5LXRydW5rCisxNzQ5NCAxMzM2MjRhYmM1MjVhZWNkZWJmM2ViNWUwYTI3OGRkNWNkN2IyZTk1IGxlZ2FjeS10cnVuaworMTc0OTUgM2ZlZmVhZmEzZjRhMGY1YTJhNmU2YjM0NTU5MDhkMDMzOTcwNzI5NyBsZWdhY3ktdHJ1bmsKKzE3NDk2IDhhN2Q0N2QwNzk4MTIyYjRlOTNhNzg4YTBkNGU5YTQxYmZmOWNhY2IgbGVnYWN5LXRydW5rCisxNzQ5NyAwOGUxYzNjNDFlNjA3ZjQ2MWZlYTNhMDAxOWI3ZDI5Y2QyMTkyYjk2IGxlZ2FjeS10cnVuaworMTc0OTggYjk1NGMzM2YwYjRiMGNkNzkzNGYwYTkyMmE3ZjcyYmE3NTExNzIwNSBsZWdhY3ktdHJ1bmsKKzE3NDk5IDY2MzdjMDkxZmY0NGYzNjJiODkzZDFhZmI3ZjdlOGRjM2FlZjQ3MDYgbGVnYWN5LXRydW5rCisxNzUwMCAyZDMwYzM1ZmVlYmU1MDMxYWU4NzU1MWUyZTgxYTAzOTkwZTFjMzFiIGxlZ2FjeS10cnVuaworMTc1MDEgMWI4MDY1NTM5MDlmNWRiYmYyMjQ2ODI2YjgxOWNhOWU2NjBmOTQ5NSBsZWdhY3ktdHJ1bmsKKzE3NTAyIDNiNzBlNjAyOTlhMzE4Nzc1MDYxMjViYjY5YmY1M2FkZjE5ODI4MWQgbGVnYWN5LXRydW5rCisxNzUwMyAxNWNiZTM5OWE5YzNiNTg1YzIwNDM0OGQyODE0YzM4OTBlNTljYWUxIGxlZ2FjeS10cnVuaworMTc1MDQgMWVjNmM2MzM0N2VhMzgzM2UyNzdhNTZjYTJhYmVhNGI1NGVmYWZhOCBsZWdhY3ktdHJ1bmsKKzE3NTA1IGVkZGEzNTNiZGUxMmExZGI2YmU4MjA3NmY4MDViMGIyNTQzYzljODkgbGVnYWN5LXRydW5rCisxNzUwNiA3ZmM0NTY5ZDk2MjUwNzA1MmNkNmIzMzdlODQwZjQ0NGNkMGJjZmY3IGxlZ2FjeS10cnVuaworMTc1MDcgZjRmMzg0MWEyNmVkZDE0YmJjNDY5MzI2NGUxOTdmMDVhNWUzYzgxMiBsZWdhY3ktdHJ1bmsKKzE3NTA4IDNkNmZlNjRiY2QyMThhMGM0Y2U3YjJlZWExYjZiM2FhNjNhNWQ4ZjMgbGVnYWN5LXRydW5rCisxNzUwOSAwYmQ3NDZiYzc2MjdmN2Y0MDdhZjAxNDdiYjAzZjJkYmU1NmY3OWQyIGxlZ2FjeS10cnVuaworMTc1MTAgMDIyODkxNGUwYzVmMGY3MTBiNmRiMjQ0MGUzZjQ2MzczZjYwZmE4ZiBsZWdhY3ktdHJ1bmsKKzE3NTExIDYwMDI5ZTNlMDVlZWE4ZTFmZGEwMDEyOTc2YTk2MjU5OGJlNDVmMTYgbGVnYWN5LXRydW5rCisxNzUxMiA5NDY3MDllODJiZTAyZDcwNjFhMDk2YzZkN2VkNjY4MzAzOGMzYzQxIGxlZ2FjeS10cnVuaworMTc1MTMgNjg2ZDNjY2FlYjRhN2UxYTAzMTI0MTQ2ZGRlZGMxNTJjMmFhNzY4ZiBsZWdhY3ktdHJ1bmsKKzE3NTE0IDY5OWZiYmJhMjlhNzMwYzhhMDgzODE5Y2ZmNmRhNmJjZWYxMDA1NzEgbGVnYWN5LXRydW5rCisxNzUxNSA5ODM1MDJiMmNkNDNhNDNmOGFiN2RhYWVjODczOGZjNzA0N2I5Yjk2IGxlZ2FjeS10cnVuaworMTc1MTYgZTdmNzNkMzVlY2Q4YzJmODJmMWI2NDkyZGJjY2RkZGFhZjIwMGMwNSBsZWdhY3ktdHJ1bmsKKzE3NTE3IDJkNjE4OGMyZWE1NmYxYmFmOWVhOWY3YTljMTVkMjJjMWRmNmRkOTIgbGVnYWN5LXRydW5rCisxNzUxOCBkMWVkMzA4MjU4MWE2MjgxNWY0ZjFmNjk5M2NjMmQ2MjA1M2Q5YjgwIGxlZ2FjeS10cnVuaworMTc1MTkgZjgzODQwOTg2MjY4NDQxZjFiYTljYmExMTE0MWE1YWJmNzI2NjNmNCBsZWdhY3ktdHJ1bmsKKzE3NTIwIDZmY2Y1YTcwNTMzY2YwY2VjZWI5MjAyMmY2ZTc4NmQ2Mzg1NTZhMWEgbGVnYWN5LXRydW5rCisxNzUyMSAxNTcwODU0OTExY2UwNmU3ZmZmZTRlMGVhYjUzMGM4ZjNjZDZhODUwIGxlZ2FjeS10cnVuaworMTc1MjIgMDgwMDU0YjEyMzU2NWE3NGIzYTVmNWNlZWQ5YmM5OWUyNGZkN2U4YSBsZWdhY3ktdHJ1bmsKKzE3NTIzIDQyYzQxZGFkZjI5MzZmZTQwYzYyOWQyMWE4NzQwOTgyN2Y0M2M2OWQgbGVnYWN5LXRydW5rCisxNzUyNCBhNWI0MDI5NWRjMTliYTdlMjg3OGIzZmE4ZDhlODJlMmM2OWUxZTVjIGxlZ2FjeS10cnVuaworMTc1MjUgOGRiODYwNmQ4NGVhYTBhNTZjMjEzZGU1NWY2OTFlYmVlZWZmOGVlZCBsZWdhY3ktdHJ1bmsKKzE3NTI2IDBjNmI5ZGUxOTEwMGY0OTM3MjIxNzBiYmNkNzg3ZGIwNjNlMjMzODggbGVnYWN5LXRydW5rCisxNzUyNyAxYjIwYWQ2ZWI1MDE5NDBkNzMxYzg2NThkZjIzMzY0YTViMTY2OTRiIGxlZ2FjeS10cnVuaworMTc1MjggZGY4ZDU3NWQ5NjdkODhkMDU4MTFiZDZlZDQ2MGJiZmE2NzFkODFkOSBsZWdhY3ktdHJ1bmsKKzE3NTI5IDc1NmM4YzY1MzVmZTJkZGVjMmYwZWRjZjhhMjRkNDlhMDgzOWNmY2EgbGVnYWN5LXRydW5rCisxNzUzMCAyMjAxMWQ5NzY5MTczODRmNjg5OGYxMDliOWJjODA2MTU3MTE2YzFkIGxlZ2FjeS10cnVuaworMTc1MzEgM2M1ODcxNmZhZmRlOGIzZjczZjZhOGFlN2Q2ZjgxOGY2MTQwM2MxOSBsZWdhY3ktdHJ1bmsKKzE3NTMyIGE3ODEzYWQ3M2E0ZWRlZWQwMzJjYjVmOWEzMzAxZGMxOTFkZTMxM2EgbGVnYWN5LXRydW5rCisxNzUzMyA5NGNhODdhM2U1ZWVlMjhjNTgwZmE3ZGVjOTY0YzVjMDBiNWMwZTZmIGxlZ2FjeS10cnVuaworMTc1MzQgMDg4MjMwOTlhZTYyNmUxMTIyYjRiOTQ2MmUzZTk4ZjYyZDFiYjFmMSBsZWdhY3ktdHJ1bmsKKzE3NTM1IGUyZDYyZDc0N2Y3YTgyYzE4M2NlN2YwNGM1MGY5YTlkOGZjODMyODcgbGVnYWN5LXRydW5rCisxNzUzNiBlNDMyYTE4NWY0ZGI4MzMxYjMxZWRhNmMwZWY4NjNiMzFlNzc1ZjMzIGxlZ2FjeS10cnVuaworMTc1MzcgMjk1MTI2NDMzODU2Y2QzMzNhMjNhMDJjMWJiOGY4YTFiNTdlNjYzMiBsZWdhY3ktdHJ1bmsKKzE3NTM4IGVkZjFlMTVjNjcxYTA4NGU1MzhlMTFiYWRhZTg2MWZlMDlhYmM4ZjcgbGVnYWN5LXRydW5rCisxNzUzOSBjNTJmZjAyYmJkNzA0ZmU0N2M5Y2Y1MmI2NDU0ZmY5ZDQzNTU2YTliIGxlZ2FjeS10cnVuaworMTc1NDAgZmFmM2U3MzQyNTRkZDZmNjExYWZjYmI4MDRjNmY4ZTVhMWVhYWIyNCBsZWdhY3ktdHJ1bmsKKzE3NTQxIGUzODRmNTAxNDljOTQwNDQ1MDhhZTkzNTdmMGY3MDlmMmVhZGUxMDkgbGVnYWN5LXRydW5rCisxNzU0MiBlODZmYTdlODUwZjE0MjBiY2I1NDQ4YjkyZjFmYThmMWY0NzM2YTk5IGxlZ2FjeS10cnVuaworMTc1NDMgZDZmZmI2ZDdmZThhZDM2NWZjMWM1NWQ5OTQ3MTFhMDc5MzJjMDAyOSBsZWdhY3ktdHJ1bmsKKzE3NTQ0IGNlYzAwM2JhM2M3Yjk3OWM3NDAzYmYxYjg4ZGUxOTc2Mjk3ODIyNjIgbGVnYWN5LXRydW5rCisxNzU0NSA2N2E0OTEzYzA3N2ZlZmM5MTJlZjdiMzFkY2FmZDJlYzM3Y2UxY2NiIGxlZ2FjeS10cnVuaworMTc1NDYgYmFiNGZhNmMzYzI0MWI2YTlkYTRhM2Q2YzI2MTBkOWZkNzBmOTYxOCBsZWdhY3ktdHJ1bmsKKzE3NTQ3IGM2ZjQzYzYwMzZiYTEwNTEzN2JiNzEyZDQ1MTcyMmRlYTZkZjFmMjggbGVnYWN5LXRydW5rCisxNzU0OCAzNDExMDUzOGIxMTg0NDg1NWQ4YzEyYTE0OGY1NzJmODA2YTA1MjkyIGxlZ2FjeS10cnVuaworMTc1NDkgMmI5YjE1OTY1OTUxNWY4ODllYTU0NmExNmJjYmI5NzNlMGMwNDlhNSBsZWdhY3ktdHJ1bmsKKzE3NTUwIGVmMzcwNzhkMjcyZDY0MmMxMTA1NGVkNWNkZGQwYzJmMWI0OGVkYjggbGVnYWN5LXRydW5rCisxNzU1MSA4NTAzOGEwMjRiMTkxYTg4ODFhZGM2ZmRkZDM0OTY1OTJiYTMwMzllIGxlZ2FjeS10cnVuaworMTc1NTIgOWUzZGM3YzQ3YWZhMjlmMTA3NTlmYTMxYTkxODk1NDdlMzEzM2E4ZiBsZWdhY3ktdHJ1bmsKKzE3NTUzIDQwN2NlMWM5OWU5OGUzMjkxNTY2NmQ0MWU1MTEwNjg4ZDdkYzY2NWIgbGVnYWN5LXRydW5rCisxNzU1NCBmYTgyODIwYmQzZmYzZGQzYzI3YTc3ZWNlNjk5ZGJhYTAwODY4ZTU0IGxlZ2FjeS10cnVuaworMTc1NTUgOTVmZTA4M2M3OGVlNWUwYjQ4MzJkNDQ0YjEwMjdkZGEwZmJmZDUzMyBsZWdhY3ktdHJ1bmsKKzE3NTU2IDU4MWQxZTc3ZTM1ZTc1ZGVkMzM3YmY2Njg1NjcyMDAxMjBiNzc5ZGIgbGVnYWN5LXRydW5rCisxNzU1NyA5MWRkZTdiZmZlN2Q5ZTNjMjA5YWE1NjVjNGQyZmIxNDU2NWMyMTE5IGxlZ2FjeS10cnVuaworMTc1NTggNDM5MzZhMjVlYWYxMDAzNDg5MjYyNGM2NGU3ZGQ0YjVhODU5NmMwZCBsZWdhY3ktdHJ1bmsKKzE3NTU5IDA0YzM5OGU3NDg3ODljN2M0MDE0ZjJkYjQyNmRkNDQzZjZlYWM4ODkgbGVnYWN5LXRydW5rCisxNzU2MCA0NzEyZjViOGYyNzlhZjJhODdmOTUxMTA4ZTQ3YmM4ZTUwMTQ1NTMwIGxlZ2FjeS10cnVuaworMTc1NjEgZmVmOWI4OWFkMTYyMmFlOTdhYzYxZjUxNTE4ZTM0MWYxYTRkZjExMCBsZWdhY3ktdHJ1bmsKKzE3NTYyIDJmY2I5OTBiOTY1Zjg2ZjVmMmFhNTJiNDc1M2ExNTI1ZWU1ZjViNDkgbGVnYWN5LXRydW5rCisxNzU2MyA4OWIyYWVlNDNlMGJkNTI3ZGYyZTZiYTc5ZmI0NmUwNTAyNzM2OGNhIGxlZ2FjeS10cnVuaworMTc1NjQgZTAyNDQzODUyMmRkNzBiYjM3Y2FlZGY1NjRiOTRmNmI4Yjg0YzE2ZCBsZWdhY3ktdHJ1bmsKKzE3NTY1IGFjNmRmMDQ5NGM1ODI2YmJiZjgzYWFkMDJkZjE3MDlhYTU0M2JiYTYgbGVnYWN5LXRydW5rCisxNzU2NiAxOTIyM2JiZjFhYTE5ZTU1MGFlNWEyZTJiYTAzMjM2N2I1ZTZhMmRmIGxlZ2FjeS10cnVuaworMTc1NjcgYTY5NzA0NDlkZjQyNWE1ZjRkYzUzYzc1OGIxMDA5YTk2NWVlOWU3NiBsZWdhY3ktdHJ1bmsKKzE3NTY4IDU4YjgzMmI4NzQ1ZWUyZWU2M2ViNmU3ODgxZWVkZDhmNzk4ZmZiMjMgbGVnYWN5LXRydW5rCisxNzU2OSAyZWM1OWExMWQzYzYxZTMxNmFmMjI1ZjYzZmEwNGM5NTUwNWE0ZGRkIGxlZ2FjeS10cnVuaworMTc1NzAgODMwZThlY2U2NTYzOWI1M2JkZTU2YWQ1MDVmOTQwZWZkYWQwZWUzNSBsZWdhY3ktdHJ1bmsKKzE3NTcxIDVhZTFkOGE5ZjFkZDhlZmZiNzNlNDYyN2E2ODYzOWYxODdmM2JmNDAgbGVnYWN5LXRydW5rCisxNzU3MiBjM2EyN2I2ZWJlMWJjYjFmZTAyNWIwMWVjMjk5YjVlMmFmOTVjYmE3IGxlZ2FjeS10cnVuaworMTc1NzMgNjljYTQ2YWY0MzZhNmMyM2I0ZTRiZjQxYmE3YzNkM2VkNTJjOWJjOCBsZWdhY3ktdHJ1bmsKKzE3NTc0IDg3MDIzNzA4OWJhMjhlNzYzNTA3NTY3NjJlMjljMmU4YjJkMTAwOGYgbGVnYWN5LXRydW5rCisxNzU3NSBkOGI3OWUzOWM0N2UxNDQyZmYwOTlhMTMxNmJiZjIyMDk5YmFlODEzIGxlZ2FjeS10cnVuaworMTc1NzYgN2Y0OWM1ODY0Zjc3NDFiNTBmNjdkNjk5YTQyZDM4NzlmMjRlOWY0NiBsZWdhY3ktdHJ1bmsKKzE3NTc3IDRkMmU5Y2YxZWIyMGI2YmRiYTIwZGFmYTAxZmYxYmNlMTlkOGNkNjQgbGVnYWN5LXRydW5rCisxNzU3OCBjMDRhYWMxODY1NmFiMjk4M2ExOGJhOWFlMzQwZDQ2MTQ2Nzc0NTZiIGxlZ2FjeS10cnVuaworMTc1NzkgYTZmODAxM2JiYzNkMTZmMGE1OTRlYTNjNzNkMmJhODNhNGY5MThlZCBsZWdhY3ktdHJ1bmsKKzE3NTgwIDA2YmI1ZDVkODk5MjdkNTY1MWNmMDE5NzkwMDU5ZjU0MzUwZDgzMTMgbGVnYWN5LXRydW5rCisxNzU4MSAxNzY2NjBmZjBjOTU5NjY5NDg5MDg4YzQyNDQ1MTMzNzI5NzY1ZDU2IGxlZ2FjeS10cnVuaworMTc1ODIgYmY0NmYxODVjNWU0YzBjMTYyNmZkYWM0NzJjNDUzYWQzM2M5NGM5OSBsZWdhY3ktdHJ1bmsKKzE3NTgzIGUyYzAzYzMwYjA2ZGRmYzZmZWFjYzgzZGJmN2ExMTlhYjI4M2E4ZGMgbGVnYWN5LXRydW5rCisxNzU4NCA4NzQ5Y2M4NDc5NzAyMjY1YTEyMDEwNDk2ZWU5ZDYxZjJkNTQ1NDE0IGxlZ2FjeS10cnVuaworMTc1ODUgZmZjMzAwZTlkODY3YmQxZDk4NDA3ZmQwNzE4ODkxYTYzYTcxZjFjNyBsZWdhY3ktdHJ1bmsKKzE3NTg2IGYxYWJlMDNiMmYxNjg0NjcyOThkYjBkMzVmODM3MTk3YmYwMmFlNTUgbGVnYWN5LXRydW5rCisxNzU4NyAzMzZhNjE3OWUwNTk3MjRkZWY4MDJkNTdhY2EzZDhlN2EwNmU4MTg3IGxlZ2FjeS10cnVuaworMTc1ODggODE0ZjQyMWUwMzI2NzMxNmQ3YjdkYTQyNzhiMzAyZDgyOGFkODE4OCBsZWdhY3ktdHJ1bmsKKzE3NTg5IDhhYTExMmY5ZTEzMGMzMmQxN2ZiODkxODQ4ODg4OWEwYzk3NjA5ODkgbGVnYWN5LXRydW5rCisxNzU5MCBkNDZhMDQzNmQ2ZTE5ODE3ZjNmZTA2ZjNhMDdkZGZkN2NkOGE5OGJjIGxlZ2FjeS10cnVuaworMTc1OTEgMmI5YTg5MDE2MmIwNTM4ZTQ3NDJkM2I0ZTA0NzJlNjRjMmFlZmQ5OSBsZWdhY3ktdHJ1bmsKKzE3NTkyIDdlZDA4MGI4Y2RhY2E3NzlhOGY3ZGNhZmRjNzJjZmM2ZmU2ZGM4ZmQgbGVnYWN5LXRydW5rCisxNzU5MyAyMjE0MDYyNjk1ZTc5OWU2OTYzNjVjZTNiY2JhOTkwMGQ1M2Q1NjE4IGxlZ2FjeS10cnVuaworMTc1OTQgNTcwNDM3MzQxYTA5ZDA3ZmZiNjJkNmVhY2QwZWY3N2E2ODVmMjQzMyBsZWdhY3ktdHJ1bmsKKzE3NTk1IDhiYjZkY2E2NmVjZGM0OGE3ZTVhNGI5ZmZiNmY0NzRiMDFmNThlMTEgbGVnYWN5LXRydW5rCisxNzU5NiBjMWRlMmMzZTQ1Y2E2NDY3YTIzYzllMjc4NTkzYzg4YmRjMTljMjMzIGxlZ2FjeS10cnVuaworMTc1OTcgZDczMmEzYTEzOThlYjA4ZmJhOWM3N2RhNmEzZjU2NjQzYzM3M2JhOSBsZWdhY3ktdHJ1bmsKKzE3NTk4IDhkYjA5NmI3ODJmOTczM2QyYmRlZWVlYTE4OWQwNjZiMDBiYWI0NjcgbGVnYWN5LXRydW5rCisxNzU5OSA0Zjk1Y2YxYjI2NjRmN2M3MmI5MWE0ZjZiNDMzNGYwM2YzNDQ5M2U2IGxlZ2FjeS10cnVuaworMTc2MDAgNzA5NDI3NjdkYzgxMGM4YmU1M2YwNWZlNzQzOTVkN2VlZTc5YjAzNCBsZWdhY3ktdHJ1bmsKKzE3NjAxIDAyOWZmNDZjNzk4YzdjMTE2NWIzZWM0ZjAyODU0MzQ2ZDMwZGYyZjMgbGVnYWN5LXRydW5rCisxNzYwMiBlMTU0ZTc5ZjRkMjJiZjk2YmQxNDM1NDdmZWM5OTg2MDdjNmRiNzVlIGxlZ2FjeS10cnVuaworMTc2MDMgOWY4YjIxM2I4NDE1NzcxMmUxNjg1MzE1M2NmOWM5ZjZlNzAzNWY2MiBsZWdhY3ktdHJ1bmsKKzE3NjA0IDZmM2ZkN2EyYTdiY2IzODNiYmEyNjNiMzI5ZWEyZDBhZGE5ODRhZGQgbGVnYWN5LXRydW5rCisxNzYwNSAwMGU4MTcyYWMwY2I5NTRiNTQ4NTZiODRiNzJiYTM3ZDlmMTU1ODRhIGxlZ2FjeS10cnVuaworMTc2MDYgZjg5ODRmMDNkZTIwMjUzMTkxZjVhNDkwMzJiZWEzZjZkM2Y2ZDk0YSBsZWdhY3ktdHJ1bmsKKzE3NjA3IDQ2YTY5OTA3NjlkMTcwYWI1NjYwNmY2MDAzYmRjMjI5YWNjMWY1MWIgbGVnYWN5LXRydW5rCisxNzYwOCA5ZmZjZjc0OWMxNWE5ZmJiYzY1ODgxNWNhZWJkZWVhZWU2YTM1ZWFjIGxlZ2FjeS10cnVuaworMTc2MDkgMmY3N2NiODU0N2ExYzAxNDJmNGExZTZlZTBmNDMzZjVlZTEwOGI2MSBsZWdhY3ktdHJ1bmsKKzE3NjEwIDkzMjA3MDc2ZDYxMjE4ZDBjZTlkOWY2YjBmNDc0MTBjYjU1NGRmYTggbGVnYWN5LXRydW5rCisxNzYxMSA2ZTkzMzFlNjhhM2JkNzhlOWY4NDVlNTJhYzU0M2UyYjRjNTdiN2JlIGxlZ2FjeS10cnVuaworMTc2MTIgYjRlYTU3ODcwZjJhYWM1OWQyMGNmZDAzMzg5M2E2Nzk2NWJmZDUwOSBsZWdhY3ktdHJ1bmsKKzE3NjEzIGE4NjU2OGY1NDM3NWRkYzQ4MjUwNWFmNzQzMTdjZTBmZjNhNTI5YWYgbGVnYWN5LXRydW5rCisxNzYxNCA1YTlkZmZmZjBkYTJiNDZkMDMwMTI5MjBjZDM0MTk5MTI2YjE1NzNiIGxlZ2FjeS10cnVuaworMTc2MTUgYjU0NTFhNjg3MmEyOThhMTc0MGM0YzYyZWMxMDkzYzk5MDk1Mzc1MCBsZWdhY3ktdHJ1bmsKKzE3NjE2IGM1NjZhYzljNTJkNzkyZWNjZDViMGY4MDc4YjdmNDE1YmRjMjUwMTQgbGVnYWN5LXRydW5rCisxNzYxNyA1ZjYzOGEyOTk4ODhjNzA0ZDdlNDJkZWU1OGQ4ODc3YzlkNjM2YWI5IGxlZ2FjeS10cnVuaworMTc2MTggZDI3MDU4NDA0OTgxMDYzNjM3NGE2MWE3MGU5ZDU4MzM5NDA1MDQ1NiBsZWdhY3ktdHJ1bmsKKzE3NjE5IDgyOGVmN2VjZDFmNzZjZDgzM2FjOGVlZWY5MTMwOTllYzE5NjY1NTEgbGVnYWN5LXRydW5rCisxNzYyMCA5ZmU1YzgyYzRjOGEwYjhjNGFlNDdiNmM3YTQzZDE3MTdiMWZkNzg0IGxlZ2FjeS10cnVuaworMTc2MjEgNzI4NjBlZjAzMTcxNDg2NzFmYWU3MGEyZmViZmFjZjYxYWVjNGYwZCBsZWdhY3ktdHJ1bmsKKzE3NjIyIDYwY2UzN2YwNjZkOGNlYTEwODJlYzZlNmQyZGFlYzM1ODVhNjQ4ZmIgbGVnYWN5LXRydW5rCisxNzYyMyA5MmFlZTMxZDc2MTM4YmE3NGRkODgyOGEyMmIyMmQzMzBiZDhlZTBmIGxlZ2FjeS10cnVuaworMTc2MjQgYWExOGU1MjM5YjQ2OWMzYmYyMDFhZTViMTdjYTgxYTdiYzQ0ZmU0MCBsZWdhY3ktdHJ1bmsKKzE3NjI1IDNmZmFjZjFkYzhmMDVmNmU5ZjkwZDJkMDc2NTQ5ZDE3YzUzNWI0NmMgbGVnYWN5LXRydW5rCisxNzYyNiAxMzMwMDc2NDZmYjQ3NzBmNzI0YzhhYmQwNWMxOGFkZjdjYzRjMTViIGxlZ2FjeS10cnVuaworMTc2MjcgNjQ4NjNjNTZjZThlM2U5MDkyNDUyMmNkZWQxYTg1Y2YyODRlOWQ2NCBsZWdhY3ktdHJ1bmsKKzE3NjI4IGM1ZWMwYjExZjhjOTU4MzhmZmYxZDYzNWY1ZTE2OGI2NDMyYjUxZTAgbGVnYWN5LXRydW5rCisxNzYyOSA1MjE3NGIwMDJmMWZmMzdmMzBhZDU1MTBjYmZhYzkxMjU3YjM4OGY2IGxlZ2FjeS10cnVuaworMTc2MzAgNzQ1NmM5N2M5OWVmYTA2ODY0NmQ4YmRiNzgxNDc0YWFlNjczNTE2YyBsZWdhY3ktdHJ1bmsKKzE3NjMxIDE3OTg3NzBjYTM2YjIwYWM3OWVjOGUwZWU3M2ViOGQyY2RkZWJmMGEgbGVnYWN5LXRydW5rCisxNzYzMiA2Yjc3MmM1MjdjYTc0Y2ZlNzBiOTYxYzg1NWFhZTJhZDYwZGQ5MmYwIGxlZ2FjeS10cnVuaworMTc2MzMgOGZhZTNmOTExNjFmOGViNGRiMmQ1NDQ4ZTg4MDIyOTY0ZjdlZDg2OSBsZWdhY3ktdHJ1bmsKKzE3NjM0IDdiYTQ5M2JjMjRhMGMwZjgxZjQ2OWZmYTJhOWQ2NDIwOWRkNGFmMmMgbGVnYWN5LXRydW5rCisxNzYzNSAwNjRlNDM0ZTc0NGYxNzI0M2YwZjI3MTM2NzA2NjJjZDczM2NhZjRmIGxlZ2FjeS10cnVuaworMTc2MzYgMDgxNjcxY2VmN2MxYjZkZmQxODc2MmRmNmZjYTMzYzQ3MzI0NWZiOSBsZWdhY3ktdHJ1bmsKKzE3NjM3IDNjMDFmOTIxYzQ1M2VjMzY4NDY0NzAzMzk1ZDUzOGIxNWQ4ZjBiMTcgbGVnYWN5LXRydW5rCisxNzYzOCA3N2VkZGRkYmI3Y2NmOTQxODc2ODg3ODIzZjViYjA3N2JmNjNjNDFhIGxlZ2FjeS10cnVuaworMTc2MzkgMDk4NWRkZmQ0NDJiZTliMDg4MjYwODEzYzc3ZDE4MGI3NzE4ZTI0YSBsZWdhY3ktdHJ1bmsKKzE3NjQwIGQwYjc3N2VjOWUwMjdhZGMxYmZmNWUyNDQzMzA1MWI2OWQ5NTdjZGIgbGVnYWN5LXRydW5rCisxNzY0MSBhZDBkOTMyY2NlMzJkNzYzZTdkZDk4MTQzOThmMTQ3ZmFjNGJiMjFlIGxlZ2FjeS10cnVuaworMTc2NDIgMWVkYjZiNmUzYjViNTk0MjM3NmU4ODFmNDgzZmJmZGQ3NjE3Y2M5ZSBsZWdhY3ktdHJ1bmsKKzE3NjQzIDE3OWUwOTgyMzhlODA5NjM5YmVlYzcwMzQ4NmZmZTIxMTM4NTZhZGYgbGVnYWN5LXRydW5rCisxNzY0NCBiZTJkZjk5MzVlZGQ4ZmExYmIxMDlkYzY4YTRhMWZlODRkYThjNjE0IGxlZ2FjeS10cnVuaworMTc2NDUgNDMyOTNjZjc1M2MxNWMwMWJmNTlhZGI3NTkxMzc4OTg4NTBiYTBkNSBsZWdhY3ktdHJ1bmsKKzE3NjQ2IGZmODhjNjRjZmYyZTUxOTVhMjFjZDhlMWM0MGZjYTNjMjk0OTg3NGEgbGVnYWN5LXRydW5rCisxNzY0NyBhZmJhZGFjNjBmZjc0YzhmMDE0MTFlZjkzY2QxNTcxNjNmNmM5MjJjIGxlZ2FjeS10cnVuaworMTc2NDggZmZkM2U5ZGE4OWIwZWI4ZjQ0MzE4ZTMxNjRjNWZjNGUxZDBlMDc2ZiBsZWdhY3ktdHJ1bmsKKzE3NjQ5IGMzNjAyYWU0OTg5MDY5ZDNhNTZjNjZjM2RiN2NjMWJmMWNlNzhkZTQgbGVnYWN5LXRydW5rCisxNzY1MCA3YzU3NGJmYTZlMTM4Y2YzZDJkNmE2MGU4MzE2MTZiNTE4MGFlNTBiIGxlZ2FjeS10cnVuaworMTc2NTEgZDY4MjhkZDlhOTI3MDU5NTEzODNlYzk0M2Q0YzJjOTBiZjU2YzgxNiBsZWdhY3ktdHJ1bmsKKzE3NjUyIGE5MGRhYzRiZjg4YTI0YTEwMGIwNmM3ZGQ1MWJjNDNiMzcwOGE1ODMgbGVnYWN5LXRydW5rCisxNzY1MyAzZTNjMmVmYzc5YzczYzAxYzljZWZjNzJkNjIzZTliMzlhMjVlYTY4IGxlZ2FjeS10cnVuaworMTc2NTQgY2Y5ZDhiZjU2ZDE0NTA3NWQ5NDExOTJhYjYzMjllODE4MjA2ZjMxYSBsZWdhY3ktdHJ1bmsKKzE3NjU1IGZjYTVmOGYxYThmNDcxZThkNDdjZGE5MjBmZWVlMDkzMTVmYzlhMGEgbGVnYWN5LXRydW5rCisxNzY1NiAyNTc0Mjk1NTQ1ZmY3YzE2MGQ5Y2EzZjZkODRhNTM2N2FmY2Q4MzhjIGxlZ2FjeS10cnVuaworMTc2NTcgMWQ3ODAzM2E1M2Q3NzJhMjc2ODBlM2MxMGVkMmE0ODQxOWMyOTAxMiBsZWdhY3ktdHJ1bmsKKzE3NjU4IDI5OTAyZjc3NDhmYTY3OGU5YmY0YWJkN2Y1NWQzMGE2OGY4ZDVlOTIgbGVnYWN5LXRydW5rCisxNzY1OSA3ZGEzNmY2ZmQ1NDRiYTc3ZjI1MWRlYTA5YTI3NzNkODEwYmNiNmI2IGxlZ2FjeS10cnVuaworMTc2NjAgNjk4NzNhMzBiN2M5OTczODQwMTU2ZGQ1NTQxMjkyY2VmMDZlZDlkZSBsZWdhY3ktdHJ1bmsKKzE3NjYxIDc0NjFlZGNkMjQ5ZDQ1MTI4NDU3NDc3N2RhMjY3MDgwYjU0YjA5OWQgbGVnYWN5LXRydW5rCisxNzY2MiA2ZGI2OTUyZDg4N2FjOWI1NzdmYzNjYWQzMDNhNDM3ODc2OTI0NmYwIGxlZ2FjeS10cnVuaworMTc2NjMgMDNlZWE3ZWE3ZTVjYmRiMmQyYWQ4MTVkMTIwZWQ0Y2FmODc4YWRjMiBsZWdhY3ktdHJ1bmsKKzE3NjY0IDRkMTBhMTM1NjhhYTNkOTUxMWE2YTI0MmYxZWJlODQzYmQzNzNlMDggbGVnYWN5LXRydW5rCisxNzY2NSA1MjNhMTJlZDMxZjBkZTNjMTc5MWQ3NDQ0ZmJiZjlkOGNlNzBmYTRkIGxlZ2FjeS10cnVuaworMTc2NjYgZjU2NTNhYWUxY2JkN2NjNzIwNTY1MWZlMDA0Mjg4MTc0ZjkwZGY4NCBsZWdhY3ktdHJ1bmsKKzE3NjY3IGQ1NDNkYWExNWQ3MTU4ODZkNmI2NjgyY2E3OWFjOTg0OGNjYzE5ZWEgbGVnYWN5LXRydW5rCisxNzY2OCBiN2ZiMTIxNmY2YjYyMjIyNzNlYjMxZGQxYjc5N2JhNGExZTY2ZGEwIGxlZ2FjeS10cnVuaworMTc2NjkgYjU2YTg4Mjc3ZThjZWY1OWVjMTliNDk5MTM3Mzg1MTY3MDkwYWI2ZSBsZWdhY3ktdHJ1bmsKKzE3NjcwIDRmZjg0ZTczNDU4OGZhY2QxODFlYmMxZGMxOTZmM2E4MWM4MmRjMTYgbGVnYWN5LXRydW5rCisxNzY3MSBiNDEzZTg3ZWVlZDQyMzczOTBhYjJhMzVlYzE4NjUwMjlmZDIxMTg0IGxlZ2FjeS10cnVuaworMTc2NzIgMGRkMjA0ZDkzNmUxNjM1MjI2Njg0YTc5ZTUyOTFlZjE0ZDcyZmYwMCBsZWdhY3ktdHJ1bmsKKzE3NjczIGM5NWM2NzZiMTg0MDcwMDQ1YmVhMTIxMGE5MGZiMzk3OWY5NmE4YTEgbGVnYWN5LXRydW5rCisxNzY3NCAxODJkODI0ZjJiNDczYmUwODM5OTZlZDc2NjIwNzA1MjYzNjBiMzI2IGxlZ2FjeS10cnVuaworMTc2NzUgMDc5NjM0MjFmYWZjYzlmZTU0NDg1MDEyZTFhYWIyM2RlZDQ0ZjQ2OCBsZWdhY3ktdHJ1bmsKKzE3Njc2IGM1MzY5NWYzZDg0MGQxNGFjMzgwZWFjOWVhNjBiZjEyNDE1ZWNiNjkgbGVnYWN5LXRydW5rCisxNzY3NyAzZTM5M2Y5YjEyOTM5MjY4MjA3ZTM5YjMwYTM2NWU5M2QxOWNkMDRjIGxlZ2FjeS10cnVuaworMTc2NzggNDk0NGUzODU5YTg2MDllZDM2MDdkNTM3NTY2YWM5YzkwYTM1ZjNhOCBsZWdhY3ktdHJ1bmsKKzE3Njc5IGExMDMzMjgzYTI1ZGM2MGJkZjU1YjFmY2EwNzczZGNlMDc3M2NlMmQgbGVnYWN5LXRydW5rCisxNzY4MCA5ZmQwMzBhZjJmZTAzOWFjZTRiOGI0NGI1MTM4YTRlNDBhMGFhY2ExIGxlZ2FjeS10cnVuaworMTc2ODEgOTJkY2VhMDg1OTMwNTg3NmZmMTZjMGVlMjhjOWYxMjAzNDA4MTgwYyBsZWdhY3ktdHJ1bmsKKzE3NjgyIGIxYTBmYjU1NDQ1NmNhZTBhMjY3MzYyMzU4NzFiOTBjNDAwNTI2MTcgbGVnYWN5LXRydW5rCisxNzY4MyA5Zjk2YzkyZjAzZTNiZTZjM2IxNjg3YWZiNzIxZTI2NzljYTI1ZmNkIGxlZ2FjeS10cnVuaworMTc2ODQgYjFmMjIwZjYzNmVkZDFlOGNjMDFjYTI4NzdkNGRmZTBlMWRjNTI2NiBsZWdhY3ktdHJ1bmsKKzE3Njg1IDA3Mjg4ZDJkYjU5NjQyNDZhY2EzOTZiNzRmNTZjN2ViY2UzMWIxYjcgbGVnYWN5LXRydW5rCisxNzY4NiAxYTFiNzk1ZjBjOWI5ZWRkMGQ4NDIxZTY5ZTU1ZjdlYWJlYzU2MmViIGxlZ2FjeS10cnVuaworMTc2ODcgNTRhZGI3YjRmOGM4NGRlOGRjN2JiNTNiZDg2NGU3ZDkzYTBiNTJkYiBsZWdhY3ktdHJ1bmsKKzE3Njg4IGVlODEzZTg0M2YzZTU3MGUzNmM3ZTk3NDQwZDAyODJiNmY5MDcyNmIgbGVnYWN5LXRydW5rCisxNzY4OSAxZDYyNzI0MmUyOWEyY2ZiNmFjZGNkZTg2ZDgxNGE5M2MyYTFhZjg5IGxlZ2FjeS10cnVuaworMTc2OTAgOTZkMzFhMTQzODU3Y2Y4YjVmMzU0OTRiNzgzMmFjM2MzMDZkNTVhMCBsZWdhY3ktdHJ1bmsKKzE3NjkxIDY3ZTBmZjRhYTdiOTc3ZjFhYjU2NWExZjVjMDNkNjNkMzA5YmFkZmQgbGVnYWN5LXRydW5rCisxNzY5MiBiNzc4N2E5MDUyZTNkMDgxZDAwZjY5OGYxODc0MzY5NWMxODVlYzc3IGxlZ2FjeS10cnVuaworMTc2OTMgNzZhYWQ1YjA2NTQzYWZjNzQ0NGNiN2E3OTZiY2I3NjljMWU2Mzc4MCBsZWdhY3ktdHJ1bmsKKzE3Njk0IDNiMGNhMGNjMzc1MGUyMjMzYTFiYzg0MGU5MjI4OWNjMzUyOGQ4YjEgbGVnYWN5LXRydW5rCisxNzY5NSA2MjVhOWE2OTU0NjliNWNjNGJlM2M5NTRiYjdkZGM1NTQ3MGRjZGYyIGxlZ2FjeS10cnVuaworMTc2OTYgNjgxODkyODU2NThmMjI4ODBmZjUxZGFjOTlkNjc1N2QxNWQ0ZDkwZSBsZWdhY3ktdHJ1bmsKKzE3Njk3IDQ2MGFiMTlhMzI4OWJiOWY3M2FmY2MxMDFlNWEyYWZmMWQ3NzQwOTggbGVnYWN5LXRydW5rCisxNzY5OCA5NGMyNDZlNjM5OWQyMjAxYTM4ZDFmNjkxYjE3ODQ4NWQ4ZTNhMGVkIGxlZ2FjeS10cnVuaworMTc2OTkgZTdkNjc4OTkwOGQ3MDkzNGIzYzkyZGFhMWExYTZkMTAwZTkxNDNmYSBsZWdhY3ktdHJ1bmsKKzE3NzAwIDg4ZDNhODk3NDQwOWVlNzJjNjI5MjU3ZWQ3ODg4NWQ2Y2JmNGFmZGUgbGVnYWN5LXRydW5rCisxNzcwMSA0NWVjNWRmOWE2MmQzMWVhZDU1MjlmMmM3YTNkNmI4NGIwNWI0MTVlIGxlZ2FjeS10cnVuaworMTc3MDIgZjZlNTAxZmMzMmM3NzFkZmVmNTRlMTE5NWUxYjU5NmY3ZGRlOTU3MiBsZWdhY3ktdHJ1bmsKKzE3NzAzIGU1MmMyNDMxOWFlZjUxOGI0MzBlNzc3MDQ0NTk5YjEyYTc3NGJjNTEgbGVnYWN5LXRydW5rCisxNzcwNCA5MmNkYmMwZjU1ZDUwMzJmNjRmN2FkZDBkMjc2MDA2YWU5Y2VlZjYyIGxlZ2FjeS10cnVuaworMTc3MDUgYzhjYTkzMTA3ZjJlZGM0ZmY4OTg2OTY4Mzc1MjY1OTUwZTliMTc2MyBsZWdhY3ktdHJ1bmsKKzE3NzA2IDU0NDkzMDJjNGQyZTE0OGQ0N2VkMTllZjAzNjMwZjRjMWZkODFjZTQgbGVnYWN5LXRydW5rCisxNzcwNyA0NjNmYWYwMTY4NWU3MTI3MTgzMjU3MWJlNWRlMzM3N2NlYjQxMGFlIGxlZ2FjeS10cnVuaworMTc3MDggMTI5MzQ5MmRmZTYwM2VhNGFiNzdhOTI4ZTM1ZmEzNTY3ZjY4YmY4MCBsZWdhY3ktdHJ1bmsKKzE3NzA5IDg5YmM4NDc1ZmM4NGUxNzBkNjYwNGY4NmY1ZDE1YmVhY2JlZDMxZGEgbGVnYWN5LXRydW5rCisxNzcxMCBhZTEyYjhjM2MzYjMzYWI2ZjA1OGE3ZTQyY2E4MTE0OGIzOWE5MzdiIGxlZ2FjeS10cnVuaworMTc3MTEgODNhZmYxZWE1YjcwZGU2NTI0ZmRhMTE3MWM4ZWFiYTM3ZTkxZTBhMSBsZWdhY3ktdHJ1bmsKKzE3NzEyIDZlZGE2YTFhNjkzYzU0NzI1ZTUxNzFjYmE4NmQ4NzYxYmE2MDdjMDkgbGVnYWN5LXRydW5rCisxNzcxMyAxNjYxMTllYzMxOTU1YjU5ZTU3ZmUzY2IzOTc0YjEyODJjYWZjMTIxIGxlZ2FjeS10cnVuaworMTc3MTQgZTk3NjYwZDFmMWFhZWIxMmUzY2YwYTU2OGVjOTljMTI2NDM3NWMwOSBsZWdhY3ktdHJ1bmsKKzE3NzE1IDE4YjNkZWY2YzRiODI3NjJjMzYwMThmNjlmNzQwNTIzNzQ0MTVkM2IgbGVnYWN5LXRydW5rCisxNzcxNiAwOWMxNGFlNWMyZjU0MzU3OGI4Y2MxOTY1ZWJkNWE3NTcwN2Y0Yzk0IGxlZ2FjeS10cnVuaworMTc3MTcgNWI4Y2RhNmYzYjVmNjllYzI0NzMwNWEwNGU5MGQzZmEwMzViZTY0OCBsZWdhY3ktdHJ1bmsKKzE3NzE4IGMzZjBkNmYxOWY3YmZmYzNkZDYzNDBmZDk3OTk5MjFmYTEyYTA1YmUgbGVnYWN5LXRydW5rCisxNzcxOSA1NmZkYTRlOWVjZTlmN2MyMjg4ODEwNGVlMmMzOTFjMDU4ZDdjNWNkIGxlZ2FjeS10cnVuaworMTc3MjAgNWJhZjdmNzQzOTZmMWRhZmMyZjhhZmE2ZTEwOTZhNmVmY2ZiYjUwYiBsZWdhY3ktdHJ1bmsKKzE3NzIxIDRjMDg5YWQyOWVlYWM0NWE0YTlkZDZhY2Q5NWJiMWQ4MDZkYTVmMTggbGVnYWN5LXRydW5rCisxNzcyMiBjODkyZTZhYTk5OTc2YzgzMDE5M2Y0MGM0YTQ3YWM5Njc4MTExYWIxIGxlZ2FjeS10cnVuaworMTc3MjQgYjY4MDA2YTU2NDcxMTZiMDFjNDI2MTE0OTI4Nzc4YzEzMDQzMzQ5YiBsZWdhY3ktdHJ1bmsKKzE3NzI1IDI1ZGRkM2RjN2E3YTJlNGQ1N2MzMmM0MGU5YjBiMTQ0YjQ5YTdiYzkgbGVnYWN5LXRydW5rCisxNzcyNiBlMzVhM2E3NzJkY2E5ZWZiMjU2ODY1YzJmMDZjZDcxYjA0MTFkNGNmIGxlZ2FjeS10cnVuaworMTc3MjcgZmI2YjUxMDMzYzNiNjBlMTE3NmUxNThkNzNiMGU0YWYxY2Y2NzE0MyBsZWdhY3ktdHJ1bmsKKzE3NzI4IGFjMTRiODZmMGY4YjhmODBlZWE1MmRhMDg1MGM1OTZiNDNjNmY0ZGIgbGVnYWN5LXRydW5rCisxNzcyOSBhOTNiMmYxNzZhNWUyZjE1ZWM5MDFlNGVkMWVjY2I0MWRmOWNkOGE0IGxlZ2FjeS10cnVuaworMTc3MzAgNjQzMWNmNWM4YTAwNGM2NjY1MWM0ZjQ3OTA2MTIwOGE1NTNkZjM2OSBsZWdhY3ktdHJ1bmsKKzE3NzMxIDE3YjVjNDNjMDhhNmM0ZDhhZWYwYzZkNjFmOTc2ZmIyM2RlNjc3ZTIgbGVnYWN5LXRydW5rCisxNzczMiA3M2ZkZTQ0NTYzZDFlZjkyOGQxZWYxYTJjNjBiOGQ2NTkwOTVlZDhmIGxlZ2FjeS10cnVuaworMTc3MzMgNzk4NmE0NTUzOTMwYjI2MzAxZTcwYzBkYzQ4YzNhOGZiYTU2MmU2NyBsZWdhY3ktdHJ1bmsKKzE3NzM0IDY4ZTIzZjFmZjVkYjdhMjg4YzNkNmZlZDZkOWE5YmNhOTE4ODkyMzMgbGVnYWN5LXRydW5rCisxNzczNSAyODA5NjYyYWU5Y2UxODM4NGU3Y2FjNmI3Y2Q3ZDU4ZTc5MjgxYWIwIGxlZ2FjeS10cnVuaworMTc3MzYgM2E1OWEwNzMzZGY4YzE2ZmEzZTE2Yzk5ZTBhYzRlZmEwNGRhNmE4YyBsZWdhY3ktdHJ1bmsKKzE3NzM3IDVkMDg5MDk1ZjQwZjVjZTY1ZGIwY2Q0NjdlNzcxZDFlOGU4N2EyMzggbGVnYWN5LXRydW5rCisxNzczOCA1MjhiNTJiZDRiYzMyZWQyM2ViZWYzNzcwYmY2YjhkNDRlY2EwMWZlIGxlZ2FjeS10cnVuaworMTc3MzkgZDZiZGNiMDg5OWRkYTkwZGYzMTE5YzZiMmY2MmZiNjljYTVmM2UzOCBsZWdhY3ktdHJ1bmsKKzE3NzQwIDk2OGFlNTVmZTZlZWFiMjhkMGZjODgyZDFhNzBjZmZlNjBjZDhiY2UgbGVnYWN5LXRydW5rCisxNzc0MCA1NWJiYTE5N2Q0ODcwY2RhZTYyYWVjYTAwZTIwMjQwYTc1NmI4NGY4IGxlZ2FjeS10cnVuaworMTc3NDIgZjY1NzkzMGZkMjc0YzNiODFmMmRhNTQwOGMwNTA1MjJiZmU5NzJkMSBsZWdhY3ktdHJ1bmsKKzE3NzQzIDRmZGY2NjAwZDhhYTcwMTBjMjlmZTI0NTY2NWNmZDQzNDMwZTdiNGEgbGVnYWN5LXRydW5rCisxNzc0NSA2NTM3NDkwMDNkYjk3NjM5MDJjYzgyMjFjMzY4NTY3MmJjZjc2NzAzIGxlZ2FjeS10cnVuaworMTc3NDYgYzdmNTU1NTFmZTMxYmNjYzBiMWJhMzg3ZGFmM2U5ZWIwMTgzOTk2NCBsZWdhY3ktdHJ1bmsKKzE3NzQ3IGFmZDdlY2UzN2M0Njk1ZWU2OWY1OWNiZTYyMDc5N2E5YzgzNTk0MWQgbGVnYWN5LXRydW5rCisxNzc0OCBlNDY0MWQxOTMyMjBmMzg2YzBkOTdhNzM4NTY3NGQ4OGQxNzdlOGQzIGxlZ2FjeS10cnVuaworMTc3NDkgMTk2N2JlMTM1OWVlNTk4YmE5MzhkMTFiOGYxZTY1Y2E1MzYxODdkNCBsZWdhY3ktdHJ1bmsKKzE3NzUwIDgzNDA2MmY2OTVlMGYyMWM3NGI5MDE3ZWE5MjY2MDA0YTc3NTgzYjggbGVnYWN5LXRydW5rCisxNzc1MSBkZTE4OTJlYWNjZmZhY2FiZWVjMDg4OTA1OWZlODg5MWY3MWI2ZjE3IGxlZ2FjeS10cnVuaworMTc3NTIgNDIwZDNjNTdlZmVjNzM4NzRlZGE3YjJkZjAxOTVhYjU2NjAwOTRjNSBsZWdhY3ktdHJ1bmsKKzE3NzUzIGFkOThjMTM2NDc1ZTdiMjM3MzJiOWJkODg3ZWRjZTkxNzNkNTgwMzYgbGVnYWN5LXRydW5rCisxNzc1NCA0MTExY2YyMmEwYWQ5NDFjYTJlNDUyOGQ5ZWY5NTA0MzQ0ZmM4MDQzIGxlZ2FjeS10cnVuaworMTc3NTUgNGJlYTRmNTljNGU0M2M5YzVjNGE2MjY1M2I4ZmU0MGRmZjdlYWQ4ZSBsZWdhY3ktdHJ1bmsKKzE3NzU2IDYwNmE4MDgzNGE4NjIyMzhjN2NhOTdjZTVhNWJiNDRhOTM2M2JmM2UgbGVnYWN5LXRydW5rCisxNzc1NyBmOTMyYzEyODI3OWJjZjNmYzQ3Nzc2ZjcwOGNkZDQ3ZGRmNGQ5MmJmIGxlZ2FjeS10cnVuaworMTc3NTggMjkxYWJlYmVhNTViMmVkN2M0MDhlMWEwOWQ1NzY0Mjk2OWRiZjA5MCBsZWdhY3ktdHJ1bmsKKzE3NzU5IGVjNzU2ZDU4ZThhNzBlZmE3NzVkYjRmNTM1ZWEyNzYwMjc0ODFlYWEgbGVnYWN5LXRydW5rCisxNzc2MCBmNGExZDNmOGYyNjI4OTc3MDNiMDVmMGU1ZmM3N2I4ZGM2OTAzZWE3IGxlZ2FjeS10cnVuaworMTc3NjEgYjE1ZmNlODY4ZTUwYjc3YTA2OTk0N2VmNjEyZmI4YjllNTVjZDI3MCBsZWdhY3ktdHJ1bmsKKzE3NzYyIDQ1OTY3ZmYxYjZkYzE4ZTU3MTBkMDYwMWY1NGY2ZGZjNzhlN2UxZDMgbGVnYWN5LXRydW5rCisxNzc2MyBhMGExM2YxMGNlNGJmNWNlY2MyNWRjYzBjMDI2YTM1MGM4NjMzMDA0IGxlZ2FjeS10cnVuaworMTc3NjQgZDAxMzk0YjBhYTY5ODgwYTRiNWQ1OWE5YmQ4ZGFhNGNjMDNhMTgxMCBsZWdhY3ktdHJ1bmsKKzE3NzY1IDhmNTliZDk1Nzk1MjU3NzY4ZTljZWYyNjI3MDM3ZmE2ZjdhNmVlOWUgbGVnYWN5LXRydW5rCisxNzc2NiAxMDE4NzI3ZjMyMzE3NmNhZmQwZTJlYzkxYTlhM2QyMTNmZTY1ODYyIGxlZ2FjeS10cnVuaworMTc3NjcgNmZiMmFmNzY2ODkyZWI4N2JiYjNkNmM0MmMwZTIwMjFjYTJlMGZkNCBsZWdhY3ktdHJ1bmsKKzE3NzY4IGFmOGQ3N2FhOTBmODg1ODcwYjdmNGVlOTMyY2U1OWU4NzQ4NjUyZTggbGVnYWN5LXRydW5rCisxNzc2OSAyY2RmN2FjOTE2MmQ5MzUwNGRlMmVkZTY0YTdmNWU4ZjQyY2E0NjEyIGxlZ2FjeS10cnVuaworMTc3NzAgYTA2Mjc0OWI4MGY4YzUwM2VlNGNkZWU3ZWYyODIyMTgwY2I5MDk4YSBsZWdhY3ktdHJ1bmsKKzE3NzcxIDc5Y2RlZWVlZmFmYTU3NTVlOTMxMGJjOTg2ZjBjNWU4YTI0NDU4MDEgbGVnYWN5LXRydW5rCisxNzc3MiBlYTJiYTkxMGU1ZjA1ZmU2Y2FjY2JjMDY2MWIyNDFiMGE4Y2VhM2UyIGxlZ2FjeS10cnVuaworMTc3NzMgYWFkMmI1YTNmN2JmNGMzN2FhMjE3ZTI1ZGU0Yjc2YjI0NDAyODU1OSBsZWdhY3ktdHJ1bmsKKzE3Nzc0IGNlZmIxOTEwYWQwZDdiODRkZmIzZmQ5N2NhZDc0YWY4NTI3OWQ4MmQgbGVnYWN5LXRydW5rCisxNzc3NSA5MTRhZTdmOWM2NGNmN2YwMDYxNGIzOWM3MWFlYzA0ZGI2NzE0ZDhhIGxlZ2FjeS10cnVuaworMTc3NzYgOTViMjAwMTliNzExNDU0YzQ3NTdjN2NkNjViZDU3MTcxZDMyMTgwZiBsZWdhY3ktdHJ1bmsKKzE3Nzc3IGZhZDgyNDdlZjBhNTJkYTczNGM3Mjg4ZjVlYjkwMWU0OWYyZGM1YzMgbGVnYWN5LXRydW5rCisxNzc3OCAzZGI4YjgwMzFhNmE0NzQ0MTg0MDU5ODQ5N2JkYzZjOWI2ZGY3YjZkIGxlZ2FjeS10cnVuaworMTc3NzkgOWE4NzAwZmRjNTJiZTgwNjBmMzdkZjk3YmQ3NjQzYjA5ZWI5ZmNkYSBsZWdhY3ktdHJ1bmsKKzE3NzgwIDc1ZjNkNWU3Yjg5Y2EyZTE4NWFjMDMwMTlmMjk0NTA5ZDMzNmY2ZjUgbGVnYWN5LXRydW5rCisxNzc4MSAxNTM1NDFmODI0YTM2Mzk2NzkyNTc2ZjFlMGM2NjI2NmY4ZDFlMmM5IGxlZ2FjeS10cnVuaworMTc3ODIgYjRmNzQ0ODJmOWFmZTEwNzgwMzA2N2E3ZGQwNjIwOWZkZTNjZWJlYiBsZWdhY3ktdHJ1bmsKKzE3NzgzIDc2YzFlNDBjNWM1ZGU5MDYxZTQ2MGE2YjhhZGNlZmY5ZWRiMmY5OTkgbGVnYWN5LXRydW5rCisxNzc4NCBjOGYyMmYxNTQ5OWY4YjE3ZGU2NDE2MTk4MjBlMTAyOTJjMjk4MTBkIGxlZ2FjeS10cnVuaworMTc3ODUgMmVhMjk3ODY5YjAyNzFlMGViNTE5MjhlNDI3NTI5ZTMwMDZmOTdjZiBsZWdhY3ktdHJ1bmsKKzE3Nzg2IGFmMWRlNGY1MDUwODliMzQ2Y2Q0N2ZjODVhMTMzZWNiNmU0NjViYTEgbGVnYWN5LXRydW5rCisxNzc4NyA1NjEwZWNkMDdkYzAzNmU0YWEyMWI2MWVjYWNlZmRjYTE1Y2VlMGI2IGxlZ2FjeS10cnVuaworMTc3ODggMGM5M2QyZTI3YWMwN2MxMzAzOGRjYzdhMTc4MTdlNDAzYzAxZTJhYSBsZWdhY3ktdHJ1bmsKKzE3Nzg5IDgyN2U5ZDIxYTc4MTY0ZGVmYjNjOGE1ZWY3MjY4NDE5YmFlYzhkZGYgbGVnYWN5LXRydW5rCisxNzc5MCA3MTVhM2U5MjQ3MzcxODI4MDZhOWI1MDcyMTgzM2NlYTM1ZTBiMTZhIGxlZ2FjeS10cnVuaworMTc3OTEgM2RhOTlmMGMxODRmMjZiYTRjYmU5ZmY0ODg0OTlkMjkyMzhhNjUxNiBsZWdhY3ktdHJ1bmsKKzE3NzkyIDEzNDg4NTM5ZjAyYmZlMjhiYmFhZjFiM2Y0N2Y5MGFmYzY2ZTVjNTkgbGVnYWN5LXRydW5rCisxNzc5MyAwMTFkZjI2NDdmNDEzZDJkMTVkZDg0ZDc3M2NiODA0OTIwZjU5NDBjIGxlZ2FjeS10cnVuaworMTc3OTQgZmQ3Zjg3OWFmZjgxYzVhYmNkM2Q1YWJiYzkyYmZlMTE0NGExMThlNCBsZWdhY3ktdHJ1bmsKKzE3Nzk1IGMxMjg3NWRlZmMwZTRlMzk2MDdmMzA0ZThiMTk1YTU3YmJlOTVhMDAgbGVnYWN5LXRydW5rCisxNzc5NiAxNjI5ZWY3MzhiMmYwOTY3ZmIzMzkwNDQ5OTUwOGE2OGRkZjNjZTVmIGxlZ2FjeS10cnVuaworMTc3OTcgOWNlYTRkYjQxZDlmYWZlZWQ0ZmM0M2Y2YzY0OGU3MGRiYjk1MTJmMSBsZWdhY3ktdHJ1bmsKKzE3Nzk4IGY5Y2Y2MTEwOTZiZjUwMmY4ZmQ3OWIyNTk1NWU4NjAwYzMzNTZmYjkgbGVnYWN5LXRydW5rCisxNzc5OSBlMTVlOTdhNmMxNGE4MzQ2NTE4M2Y3YzlkNGNjMTQ0N2IwMjZlYmRkIGxlZ2FjeS10cnVuaworMTc4MDAgMTk5MTllMTQ2ZmY4ZjMxYjVlM2ZiY2E5Y2I3YjZhZWRkZmUyMDE2ZCBsZWdhY3ktdHJ1bmsKKzE3ODAxIDc1OTJmNzIxOWI3YzZjYTFkMTEzNTc1ZjI5MWE4OTJjZmNiM2Y1YWYgbGVnYWN5LXRydW5rCisxNzgwMiBhNTk2MDBhOTc1ZDEyNDcwZDJlZDg2ZmM0NDUyNGU1OTQ2OGJkZjdhIGxlZ2FjeS10cnVuaworMTc4MDMgOWU0NDVkZGNhMmQ3NGEwMDE4MmVhOTI1OTYxYzBiZWM1Y2RmYWU5NSBsZWdhY3ktdHJ1bmsKKzE3ODA0IDczY2VhNTk2NTdiYWJjN2U2M2Q2Y2ZiNmUzZGI5ZjI1MzM4NzkzNzcgbGVnYWN5LXRydW5rCisxNzgwNSA3YWNiOGJiYzIxNWJiNzJhMzMwODg2MzJiZmQ5OTNlNmE4MjBkMGM1IGxlZ2FjeS10cnVuaworMTc4MDYgMTRiNjQ3ZDU1MGQzNzkzMWE5MjEwODVjNDYzOTM2MDMyNTJjYThlYiBsZWdhY3ktdHJ1bmsKKzE3ODA3IGY4YjUyNmZjMzlmNjdmZDI2NDE5MTgyNDNlOWVhZTk3ODFhNjViYWEgbGVnYWN5LXRydW5rCisxNzgwOCAwMDVhMGI0YzM4MmQzNWY0NWRkNmIyYzEyMzU3YjFjNzQ0MjdmNjc3IGxlZ2FjeS10cnVuaworMTc4MDkgNmU3MDUyNDczNzc4NmIzNWUyNjI5YWUzM2E4NTNhMjMyNzk4MzUyZCBsZWdhY3ktdHJ1bmsKKzE3ODEwIGQ5ZTY2YTgzZTQzMzg0YTYzNDFlNzYxYTA2NWRiMTIwZGIyZjdhYWQgbGVnYWN5LXRydW5rCisxNzgxMSAzNDI0OTdhZDhmZWM5NzYzMmQ0MGUyOTY0ZGFiNTM4NTJhYjBkZTE4IGxlZ2FjeS10cnVuaworMTc4MTIgMWY5ZDIzNzc3ZmQwMTc0NDllYjI4OTE5NmRjNTRhYzkxYWExNzkwYSBsZWdhY3ktdHJ1bmsKKzE3ODEzIGM3OGU3NmE1NzFiNjVkYjkzOTJiMjAxMmIwMmJlZjNiNzE1OTZhMzkgbGVnYWN5LXRydW5rCisxNzgxNCBkYjFjY2UxZmZiNjA4MjY4MTE1M2I2MjYzMjZkNDhiOTk4OWY4YmU5IGxlZ2FjeS10cnVuaworMTc4MTUgNTAzODZjNzNiYTIyNWQyOTg1ZmQyNjUwNjQ1OTRiYTllNDlkZDhmMiBsZWdhY3ktdHJ1bmsKKzE3ODE2IGIwMzFhYmNhM2U5MWFiZTA1ZDNlMDYwYjlkNTI4YTBkNGE4NDE4NmYgbGVnYWN5LXRydW5rCisxNzgxNyA1NjkyMTRhNDE4MmM5M2U0ZjNjMjY3MWIzOWI1YWZiYTc1YmZlMWJkIGxlZ2FjeS10cnVuaworMTc4MTggZWJhZWIxOWUwMzgwOWI4ODYxY2JkMmNmMWIxZGVlMWE0NDBkZTY0YyBsZWdhY3ktdHJ1bmsKKzE3ODE5IDljM2FlZmE1Y2Q3ZjU5MzJhZDM0Zjc4MDYzOGNhMjJkZWMyMmQ2ZmEgbGVnYWN5LXRydW5rCisxNzgyMCA3M2QwOTMyMmYyYzM2MDA3NTQ3ZjE1NjBjYTkzMzc4NDE0OWQ0NDcxIGxlZ2FjeS10cnVuaworMTc4MjEgNTRlYzVlYzMyMzUyZjBlYTg3YjNlNDhhYWE4YjQ5MDE0ZDIyNWUxMCBsZWdhY3ktdHJ1bmsKKzE3ODIyIDFhYTM3MDA4ZmQyYzgyNWUxMGFiNzg0MjUyMmQwMzAyYjE0ZTRiNTMgbGVnYWN5LXRydW5rCisxNzgyMyA5MzE0Y2M3OWQ2ZTEyZTdjMWRhZmRlYTY1NDQxYTEyYzY5YzU2YzI4IGxlZ2FjeS10cnVuaworMTc4MjQgMzE0ZWI4ZjdhZTEzNTI5YTU3OGQ2Y2JjZTgxMjA4OTg0N2U3MmIzMiBsZWdhY3ktdHJ1bmsKKzE3ODI1IDUzMzY5NDZiNjQ5NWExNjQwZWJiMmQwYjc5NmQ0OGFjNGQ3ODY5MzIgbGVnYWN5LXRydW5rCisxNzgyNiBiNDExMjM4ZGU5ZDEwZjEyYTE4MmJlNWQzYjVhZjdiMmY2OGY0YWY0IGxlZ2FjeS10cnVuaworMTc4MjcgNmFmOWFhMTU2NDdmOThmNzg3NDcxOWY4YjBlODlhNGI0NmM0MzhhMSBsZWdhY3ktdHJ1bmsKKzE3ODI4IDMyZDI2M2Q0NDdiN2UxM2E3NmI1YmJhMjA4MDMyNjM3N2YwMWU3OTMgbGVnYWN5LXRydW5rCisxNzgyOSAzZWVjZGEyYmE5M2EzODQ2NjYyMDI3NjVhMDRhZjBmNzllMTc0Njc0IGxlZ2FjeS10cnVuaworMTc4MzAgNDhiNDVhMjgxMjc3MDAxNjE4NGRkZjRlZWY1MGU2ZjQwNzk1NTE0OCBsZWdhY3ktdHJ1bmsKKzE3ODMxIGM3OTA3Mzc5YTZiZDIyODUzZDA2NzQ0ZmRkOWZkMWM4ZTQxZDEyNmUgbGVnYWN5LXRydW5rCisxNzgzMiAyN2VhYjgwMzI3NjYyYTdlZTU1ZGZmM2IxMTJkZjk4NmI3NzU1NzA2IGxlZ2FjeS10cnVuaworMTc4MzMgODM5YmEzNWIwYWEzMTQ0Mjg1ZTQxOTIwMjVjNmEwMTE3OGRjMTBkOSBsZWdhY3ktdHJ1bmsKKzE3ODM0IGIwMTJhZWJiYmU1MTc4ZmEwZDkxZWNiMTUwZGU0YzNmY2Q4YWJiODcgbGVnYWN5LXRydW5rCisxNzgzNSAxNzRkMzRlYWM1MTYzYjljOTRjMTIyNzdlZTNlZDQwMWM5YTJmN2JiIGxlZ2FjeS10cnVuaworMTc4MzYgZTc5ZDA3YzI0NTcxZTM4ZTIxOTljN2U5YmYyYjY0MDI5Y2QwN2QwYSBsZWdhY3ktdHJ1bmsKKzE3ODM3IDI2ZDJlNGY1OGFkY2E5NzBiZGRmOTk4NDQyM2NkM2Y0OGRhNTUwYmIgbGVnYWN5LXRydW5rCisxNzgzOCA4MjEyM2NlMDI2ODRmZTI1MDFmZGJhMjViMzEwNzY3NDliYjdhYTkzIGxlZ2FjeS10cnVuaworMTc4MzkgMGZhNThmZWEzMGNmMjE2YzIzN2YyZWYyZWNlOGFlOTFkYjIwYTc1MiBsZWdhY3ktdHJ1bmsKKzE3ODQwIGI2MWNkMWE0ODk2MDNiYzQ3OWY2ZGIyZTc2Y2VkM2ZiNjVhYzQ0ZWQgbGVnYWN5LXRydW5rCisxNzg0MSBlY2U2YzE5ZWRjYzE1NWI0ZmY3YzRiZmU2NWU3NDJkYjU4MGI5Y2ZiIGxlZ2FjeS10cnVuaworMTc4NDIgM2ZjNmM1YWRkZjFlYzFhYzI1NjNmMGJmYzU5NDQ3ODY3ZTQ2NzQyMyBsZWdhY3ktdHJ1bmsKKzE3ODQ0IGE5ZDI0YTUzYzU1MzM0ZGEyMmFhYmNiMDY3ZTE3MmE1NzM3Yjk4ZDYgbGVnYWN5LXRydW5rCisxNzg0NSBiYmUwOWNjY2I0OWJlMDcwNGYwODAwNjFlZjRhM2I4OTljYTAzZGEzIGxlZ2FjeS10cnVuaworMTc4NDYgZTg1NzU0ZmE2OTE3NGZhNzJlYzYxNGIxNzJhY2JhMDljNTJmMDFjOSBsZWdhY3ktdHJ1bmsKKzE3ODQ3IDJiNDIzNjU4MGUwYzRmYmEwZTZmNmY4ODNlYjFhZjFjOTU4YmMwOWYgbGVnYWN5LXRydW5rCisxNzg0OCBiYjZjY2E1N2ViOGIwYzk0YjE2Njk5ZDhjYmU0OWU0NmY1MjljM2ZlIGxlZ2FjeS10cnVuaworMTc4NDkgNWQ0MWNhNDlhMTBhZGMyZThjYjJlOTY4ZmYxMjQ5NGQ5ZGI2N2JkOCBsZWdhY3ktdHJ1bmsKKzE3ODUwIDRjNDkzNGNhODU3OTYyMGUyMWI4MzI3YzBmYzMzMjcyY2NkNDdhNWIgbGVnYWN5LXRydW5rCisxNzg1MSBmYTVjNDgyMzY3YzdhZjUwMzhkZWJlZmY2ZTdjODQ3ZDNmNzkzMmY2IGxlZ2FjeS10cnVuaworMTc4NTIgN2Y0ZTI4MDQ1ZGZiNDU4NDEyNDYyNTgxZTc0OGRjNjliYjk1ZDM3OSBsZWdhY3ktdHJ1bmsKKzE3ODUzIGVlYzJlYjEyMWRhZTBjYzFkMGM4MWY0NjkzOWM1ZjM5MDY0YTdkNjYgbGVnYWN5LXRydW5rCisxNzg1NCA1ZTRlZWQwNjJiNTRhOWU2ZjIzODAwMWMyNzAyZDY2YTJmOTk1MjZkIGxlZ2FjeS10cnVuaworMTc4NTUgMGM1YjAyY2M1NDg5MzkyYTJjZmNiZjkwYjI3OWE1YWQwNDRhMDNmZCBsZWdhY3ktdHJ1bmsKKzE3ODU2IGMxNmJkZjU1NWM3OTc4MTEwODg3OTZjMjIxZGY3MWMwYmUyOWY3MmMgbGVnYWN5LXRydW5rCisxNzg1NyAxYTNiNWM4ZDY3MzBkOTc5NzNkOTAyYzgwMmQwOTNlZGM2ZWY2YjVmIGxlZ2FjeS10cnVuaworMTc4NTggMGE5N2Y1ZGRlM2E3OGRjN2MzNzM5YmY4MmMzODg0OTMyNDk4Y2M5NCBsZWdhY3ktdHJ1bmsKKzE3ODU5IGEzNDliODliZjEwZWU1ZDUxZDdiMmIyNDQ3N2JhMzAzOGFhYjE5N2IgbGVnYWN5LXRydW5rCisxNzg2MCA5ZDUxNDJjOGNmMmRkZGQ5NzM4YmQ0ZjQ1NTY4ZjczZmJjYzU3OWRkIGxlZ2FjeS10cnVuaworMTc4NjEgMDAzMmRmZmViMTYzYjRmYWQ4MjVhODIxNDM5MjNhYzQxNjAwMDM4ZiBsZWdhY3ktdHJ1bmsKKzE3ODYyIGRkYjIwMTkwNTkxZGJiZjE2ZjUyM2VmMDVmOGU2ZTg3NWZmOTEzNzggbGVnYWN5LXRydW5rCisxNzg2MyAwY2Y1MTExYmYwOWNiMWJmMTcwNTBlZmVmMjI5YWVlMThkOGMwYmYwIGxlZ2FjeS10cnVuaworMTc4NjQgOGI2ZmU2Yjk5N2MyZGI3YjRhMzkxMmNmZmY4NzUzNDZmZDMzMWE3MCBsZWdhY3ktdHJ1bmsKKzE3ODY1IGNiNGIyYTE2ZWI4NzEyNTU5ODhlZjE2MzBkZmVjN2VhYTNkZGZmNjggbGVnYWN5LXRydW5rCisxNzg2NiBhYTA1MmE1MmVmODcxMmYwODVmNmVmNTVkZmY4NWY1Y2VhMWE4NDM3IGxlZ2FjeS10cnVuaworMTc4NjcgOTg0N2I0ODZkMTVmYmE4MDlmNDdmMzA0MGZhYTg2OGIzYTUzMGM5ZiBsZWdhY3ktdHJ1bmsKKzE3ODY4IGM1Y2Y2ZmJhNTRkZGI4YjczNjYyNzIzMGYwZjMzZjFlNmNhZWRmZDMgbGVnYWN5LXRydW5rCisxNzg2OSBkYjNhOTU3OGFiMGJlZmNlYmMzOWI0NzRlYzdkMmU3MGYyM2VkZTExIGxlZ2FjeS10cnVuaworMTc4NzAgNmM1MWI1YWYxYmRlMTMwOTYyMGVlY2E5NjNkYmJjMTZjMDVlYThlNCBsZWdhY3ktdHJ1bmsKKzE3ODcxIDI1YmMxNjk1MmEyNGU1NDc3YjliODQ0NTJjMGI3Mjg4ZThmMmUwM2IgbGVnYWN5LXRydW5rCisxNzg3MiBiMGQxZGVjMjM1M2E0MTFhZWNkOWNiMzMzNDk4ZWQ5ODUwYWIzYWMyIGxlZ2FjeS10cnVuaworMTc4NzMgZGEzZThjNTA2NGNhZjNiZDIyYjFkMTNkY2ZjZmE3ZTg4OTUyMDBhMSBsZWdhY3ktdHJ1bmsKKzE3ODc0IGZiN2FjOGE0MGE5N2MyNGUwZGEzYzI3YTVjNTQ2MWVmZjdlOGFhNzkgbGVnYWN5LXRydW5rCisxNzg3NSBjMjg1ZGYxNWEwNTAzODMwMTU5ZGZlNGI3MGU5MmMzNDU4ZmJlYjNiIGxlZ2FjeS10cnVuaworMTc4NzYgOThiMWZhNmMxNjAwMGU3YTRmMzU0ODEzY2M3N2M5MTg4YWM5ODM4ZSBsZWdhY3ktdHJ1bmsKKzE3ODc3IGE2ZDM1Y2M0YmY1ZWU1ZDgzMjE3NGJiMDZhZDRlZWEyNjQ2ZGQ0MDkgbGVnYWN5LXRydW5rCisxNzg3OCA0MDVhZDBhN2Y3YTYxMDk5ZTdiYmQ4YzU3ODdkNmFjZGJmMDI5NWE2IGxlZ2FjeS10cnVuaworMTc4NzkgZjEyZDM1Zjk5NDg4NTVmYzM0Yzk2NTk3ZDRiYTM0YmYyNjkyNGMyMSBsZWdhY3ktdHJ1bmsKKzE3ODgwIDM3YjFjYWVlZDcwNTU3YTU5MDYzMzJmNjJmMWY2ZWQ0NTk4MmUzMGIgbGVnYWN5LXRydW5rCisxNzg4MSBkYjkxMzVmMzgwNjg5YTIzZWEwMDI0MjNmM2U1MWVmZTNiZWMxYzAyIGxlZ2FjeS10cnVuaworMTc4ODIgMGJiMzQ4OTg2ZDUyODFiMmUzZDk2NjljZTc1MGJlMmNlZmM1OWI5NiBsZWdhY3ktdHJ1bmsKKzE3ODgzIDI5YzJkNWU1MjE2MTJiODEyM2I2Yzk0ZjIxOGM4YzM5NTRhNjc1YzUgbGVnYWN5LXRydW5rCisxNzg4NCBiMzY4ZTA2YTNiNjI3NWU5MTQ2NTY5MjJhMzY3NTdjNjVjZTYwNDc4IGxlZ2FjeS10cnVuaworMTc4ODUgNWZmYTUxNWU2MjBlNGQ3NjQ0ODU3MzQyNDU2ZTg2ZWI1ZDQyZDY4NSBsZWdhY3ktdHJ1bmsKKzE3ODg2IDI1ZjEwOTJlY2Q4NmQ1NDgwZjI4OTI0OGViMjQzOWNhZWRlZTA0YzYgbGVnYWN5LXRydW5rCisxNzg4NyA1MmViNDk5ZjI1YjA5ZmQ1N2JlNTA4N2MzMjlkZTc2ZTA4MjM0NmY1IGxlZ2FjeS10cnVuaworMTc4ODggN2E1YzM4NTlhMzYxMzk4ZmExNjJjZmFmMTMwZWYwMjE2ZTQ5MDIxOCBsZWdhY3ktdHJ1bmsKKzE3ODg5IDliYzUyNzA2ZDI4MzRmN2E4YzUzODY5ZTMyOGE5ZDRlNTc4MTg5NjEgbGVnYWN5LXRydW5rCisxNzg5MCBjZTVkZmYzMGE5MzVkMTlmMThlZGViNDJlNGMxOTdiYzM5Y2I3MmZiIGxlZ2FjeS10cnVuaworMTc4OTEgNmM5MWEwNDFjMWQyYjJjOTVmZTZlZmVkYmYwNjA3OWQ0MmY3NTY2MyBsZWdhY3ktdHJ1bmsKKzE3ODkyIDk0YzAzMWQ3ZTljMmU4Mjg5ZTRhMWJmMzM0MTY2N2E5M2UyYmE2MjkgbGVnYWN5LXRydW5rCisxNzg5MyA4OTRkY2EyMjVkMjRhZWMyODU5Y2FlOWQyNWZhM2JiYTJiNTY2YTQ0IGxlZ2FjeS10cnVuaworMTc4OTQgNmU5ZmYwNjBhNzI4ODI5OWY5OTdlMTcyNDNiY2QyM2VkYmY5Y2FjNCBsZWdhY3ktdHJ1bmsKKzE3ODk1IGM3ZDQ2ZWFlOTVkODk4ZDg4MDQ4YTE0ZGZkZWUwZGM4MDBlYzliMjEgbGVnYWN5LXRydW5rCisxNzg5NiBlOTcxM2NiZTJiYThkMzA3ZDQ5NzFmZjc5YzA2NzllZTRlYzJjMzhhIGxlZ2FjeS10cnVuaworMTc4OTcgOTIxYzc0NTk3NzFiNDEyZWNhMjRlZmE4MWMzMDAwZjU2YTg0ZmRjZiBsZWdhY3ktdHJ1bmsKKzE3ODk4IGQxMDZkZmRmZjQ4MGFlYmYxYTM1OWM2OWEzYjliNzJkZjIyNGQ0ZDggbGVnYWN5LXRydW5rCisxNzg5OSA3ZWVmZGU5MGVjMGVlNGI0Y2UxZjQ5MDg0MzgxNTJlYzgyOGU4MDMxIGxlZ2FjeS10cnVuaworMTc5MDAgMjkzY2FmMGU2MzJhMTc0NDhiMjZjMTNiNWExYzE3YWE5Zjc3ZDE4YSBsZWdhY3ktdHJ1bmsKKzE3OTAxIGMwYzI1NGZiZGU1NzZiYzAxOWRkYzhjMTUxNWEzNTI0ODJiZTQ0ZmUgbGVnYWN5LXRydW5rCisxNzkwMiBkYWU3Y2VmNThhYzI2YWRkYzIxMzA1MTA4NWQ2YWNmYmQ4MDBlZjU2IGxlZ2FjeS10cnVuaworMTc5MDMgYzkwYzNhYWJkOGY1MDM2YTVmODE4N2UxNzIwNTFlZDQ4ZjQzNjI3YiBsZWdhY3ktdHJ1bmsKKzE3OTA0IGM2NTRiMjAxODQwMzljODhjNWU3MDcwMGVhM2YyNmI4NjI2ODA2ZTkgbGVnYWN5LXRydW5rCisxNzkwNSA0NTdmMGRmNDZkZDk4MDU1ZWI4ZWFkMDAxZTdhZjYwZWMzZDZmODU0IGxlZ2FjeS10cnVuaworMTc5MDYgMWRkNzJhOTJlOTIyYzM1YWQzZGM1Y2ZhYTJmY2VlMWFhZGM5OTg2YyBsZWdhY3ktdHJ1bmsKKzE3OTA3IDQzYzQ5ZGJkNDU0NmU4ZWNhZDE0OTBjMWQyMjI4MzJmM2FkOTU4MWQgbGVnYWN5LXRydW5rCisxNzkwOCA3OGJjYWU3N2U4YzcwM2U4NjZiYWE5MzRiZGQ4OGZlMjU0NmFhN2QxIGxlZ2FjeS10cnVuaworMTc5MDkgZmNmODVjOTBhMjc0MGJmYzZmYmMxYjY0MTYzMjc2ZWVlZjg1M2E0YSBsZWdhY3ktdHJ1bmsKKzE3OTEwIDI1NTc5Y2Q2Y2RkOTAzODA3ZmU0ODI5OGY5YWM4Mzg3OTFjMGVkMWEgbGVnYWN5LXRydW5rCisxNzkxMSBiZTRmYzhiNmUxY2I4M2EwMzA2Mjg2ZjgxZGMxODNjYTFkZTNmOWM0IGxlZ2FjeS10cnVuaworMTc5MTIgMDhlNmYxMDE5MTcxNDk4YjA0Yjc4MDNmNDkyM2YxNmNhNDI0OTgyYSBsZWdhY3ktdHJ1bmsKKzE3OTEzIDYyN2ZmNTc4ZjEyZjhmODUxOTJmMTczMmI5NGI0NjllNTY5OTA1NTQgbGVnYWN5LXRydW5rCisxNzkxNCA0MWJmYzlhNDBmZTM5NDk2YjgzNGQyMzU1OWQ2YzgxOGVkZThmODMwIGxlZ2FjeS10cnVuaworMTc5MTUgYmYyN2NhYmEzZDBlNDA5MjMxODU5OGM0MzNkMzc1NDQyZWY5ZWE5NiBsZWdhY3ktdHJ1bmsKKzE3OTE2IDNhMDRiZWJiNjY2YWViMGUwYmNlOGZkY2YxMGU3OTU0YjBhMzRjODQgbGVnYWN5LXRydW5rCisxNzkxNyBhY2I4ODYwN2I0YmQ3ZThiYzBkZTQyYTRmOWZiY2JlMmQ3YTBlMjk2IGxlZ2FjeS10cnVuaworMTc5MTggMTc3YWUxYzUyMDM3NjUwMjA2YWNkYjU3ZTM0MTM0Yzk5NjA3NGI3YiBsZWdhY3ktdHJ1bmsKKzE3OTE5IDEwMzYxMjUxNmFhOGQzNWZjZGRlYTBmZGNkOTk5ZWM3ZDhkOTA0NjEgbGVnYWN5LXRydW5rCisxNzkyMCA2NzU3NDgzNzhjODE5OWQ5NzQ5YjU0YTg5MWNlZjcxN2QyNmYzY2UxIGxlZ2FjeS10cnVuaworMTc5MjEgZjc4MDQ2OWE5NTc3Zjk1YzhjOTc1ZjEyMTRjMDMwZTk4ODY5MjFmYSBsZWdhY3ktdHJ1bmsKKzE3OTIyIGMwNThiYzM1NjQwZjc4YWU4ODQwZGI2MTJmMmE5YmI5M2JlZDg3Y2EgbGVnYWN5LXRydW5rCisxNzkyMyAxMThhYzg1YWYzMGEwNWM0YmMxMjE3MWFjYjZjZDhkMzQyODFjOGZjIGxlZ2FjeS10cnVuaworMTc5MjQgMTg3OWE0OGEzMTMzNmE0ZWI0Y2QyNWVkNzkxYWE0MzAxNDY1ZWU4YiBsZWdhY3ktdHJ1bmsKKzE3OTI1IDY5MGI0MWQ0N2MxZDZhZDU2NTg2ZmRhNjY4OWM5M2IwMjAwMmZjNDIgbGVnYWN5LXRydW5rCisxNzkyNiBhNTNmMTZiMjBmMWQ5MWJkOWRiMDMzMzViODkwOTZkZGUxYTMxODQ1IGxlZ2FjeS10cnVuaworMTc5MjcgNTdmZWE4NzA5NzU4ZjFmMzdmZjgwYjE0YmE4MTg0NDJmMzVjNmI2MyBsZWdhY3ktdHJ1bmsKKzE3OTI4IDcxYTRhYWRkZTAxOThiODY2YTQ2MDZmMWM3M2E2MWY1NTcyZTdhNzAgbGVnYWN5LXRydW5rCisxNzkyOSA2M2QyMzdhMjVmNDkxZTI2OGVjYWU3NjI0ZDg0OWM2ZDg4ZTI1MjQ5IGxlZ2FjeS10cnVuaworMTc5MzAgYjI1ZWFiZjY2ZDhkMzc1YzQ1NTUyODIzYjUxYjc1NjQ4ODY0NTg1NyBsZWdhY3ktdHJ1bmsKKzE3OTMxIDdjZTkwNjFmNzk2N2ZmYzczMjUyNTk1NWQzYTQ3ZWNmZjlmZTExNTUgbGVnYWN5LXRydW5rCisxNzkzMiA3N2QxZDc5YTY1ZDc1ZTg0YTg0NzczYzM3ZDgxYzMyZjUwZmZmZWE3IGxlZ2FjeS10cnVuaworMTc5MzMgMzE0MjAyN2I1OTc5ZGFlYWJkNTI2MTc1MTVmNDE4NGI5MTU3NmEyNiBsZWdhY3ktdHJ1bmsKKzE3OTM0IGFkOGVmMTU1Y2EzOTBlOGE2ODEwMjJhZTMxMWQ0MzM4ZDhiYWFiMWIgbGVnYWN5LXRydW5rCisxNzkzNSBkYzRjYWVkYzU5NjExYjE3MWIxNDk3OGMxNmE2YWYxZGI3MDYyNjQxIGxlZ2FjeS10cnVuaworMTc5MzYgNDdlNjgwNzcxMTdlNDIxMTUwOWRjMjgzYTNlNzY3YTEyMzhlNWY1MCBsZWdhY3ktdHJ1bmsKKzE3OTM3IGNkZmVjMzZmMTJjYzlmYTFiOGU5ZGE1ZWFhNTYwYTg2NTc5MmU5YmQgbGVnYWN5LXRydW5rCisxNzkzOCAwZTBlYTU2ZTRiZTg0YzA0ODgyMGIxMDI4NjVjMmEwNmZkZmFiZmM1IGxlZ2FjeS10cnVuaworMTc5MzkgYTExOWUwYzhiODBiMGU0ZDE5NjNiYjMzNGM2M2VhMzgyYjdiYjI5MCBsZWdhY3ktdHJ1bmsKKzE3OTQwIGMyZjEzYzM5NWI5YWU3Zjg4NWZjNDdhODE2YWFiMDZmMzI4OGUxZTEgbGVnYWN5LXRydW5rCisxNzk0MSAwMmFkOWNiNTIyMjI3ODMwNmE1N2Q4NzM3YmRkOTJjNWU4YmMxZGZhIGxlZ2FjeS10cnVuaworMTc5NDIgOWJlNjdjNWE4MjNhYjFkYTFjOTMyMGE2MTFhY2M1MWUzZTczMzQ2ZiBsZWdhY3ktdHJ1bmsKKzE3OTQzIGY5ZDRiZDc5YjQ2NDgwYzE0YWM0YWQ3YTI3NzIzMGUxMTRhM2FjMjAgbGVnYWN5LXRydW5rCisxNzk0NCBmMDlhODRhZjY0YmQ4NjMyMDFiY2I2NWZmZWJmNjA5ZDZjZDFhMTM2IGxlZ2FjeS10cnVuaworMTc5NDUgYTEzYTJhY2JlMjE0ZWY4ZmMwNmJhMzVlMzgwMGEzZWNjMzRiMTU5ZiBsZWdhY3ktdHJ1bmsKKzE3OTQ2IDFhNmY5MTU4NjMwZjFkNmVmYTk1YmVkODcwYjA5MDZlNDA1YmFhNTIgbGVnYWN5LXRydW5rCisxNzk0NyBkMGE2ZDQ0NGQ2YmM3N2IxNmQ4NjYzN2IzNmJhMWU1ZmJiNjUyYThjIGxlZ2FjeS10cnVuaworMTc5NDggNWRhOTYyMmZlZDdiNTQ3NGI1ZGM0ZTkxYmM3YjVlMjg3YzQ3YzBjZCBsZWdhY3ktdHJ1bmsKKzE3OTQ5IDQxYzQyYjFiZDU4MjhiOTQ4ODgwYzk1Y2U3N2RiMjYwNGMwYWI2N2EgbGVnYWN5LXRydW5rCisxNzk1MCA0NGZhMTZmMDFiNGUxMjI5YWNjM2QyNDU2ZWM2N2M2NjQ4OTZhNmVjIGxlZ2FjeS10cnVuaworMTc5NTEgMWIzNGM0NzVkYTg3ZmFlM2VhOGQ1YTU0NjY0NzEzZWFmZDczODc2YiBsZWdhY3ktdHJ1bmsKKzE3OTUyIGVjMWYyMzY1YmMyZDU3YjExZTYwYzI1NTVkZTcyZDc3N2FlNjA2MWEgbGVnYWN5LXRydW5rCisxNzk1MyBjMTk5NDYwY2NkZTkwNjYwM2M5MzI2YjgwMzgxNjA4NTE4OTE2MzkyIGxlZ2FjeS10cnVuaworMTc5NTQgOTViZTQzZDFkMzMyNjU3MTkzNmVkZTU5NzRhOTBlZTIwNzUxYTY2ZSBsZWdhY3ktdHJ1bmsKKzE3OTU1IDVmYjhkYzI4OTgxMmRmOWViNGQ2NDYyMDA5OGU4NGQyMzMwZDIwMzMgbGVnYWN5LXRydW5rCisxNzk1NiA3ZGUwODA4ZjFmZTMyMDdkYmM2NWExMTBmMGM2MDQ2NDNlMmJlZmYzIGxlZ2FjeS10cnVuaworMTc5NTcgMWFjYWM0NzU2YTAzYmViYTQwZmZiZDI0NzcwZDgwMGEwNGFmN2Y4MSBsZWdhY3ktdHJ1bmsKKzE3OTU4IGY4ZTk2MjUwNjA2M2RkYWY1MDgwZDEzNjg2NTgxNzdlNDQzZTI5YjUgbGVnYWN5LXRydW5rCisxNzk1OSBhMDJmOWRhYzIxNmNkOTg5NDI0ZmYwOWNkOWMzM2ZiM2NmNDZmN2IwIGxlZ2FjeS10cnVuaworMTc5NjAgOGJmYTk3MDNhNGU0ZjQwMzcwZTVlOWE0Y2M0NzRiYjY4M2NiZDA0MCBsZWdhY3ktdHJ1bmsKKzE3OTYxIGE1YTljZmMwMDliNWIzYzBhYjhiM2VkYTkxNGRiMjdiMWRjNjQzYTEgbGVnYWN5LXRydW5rCisxNzk2MiAyOTAwNDUyMDI2Y2NkNWVlMjIyNWRkODdkOGYxZGU4MmJiZjRmOGNlIGxlZ2FjeS10cnVuaworMTc5NjMgZjc2YTFlY2Q2YjU5MTZhZmUwZjU2NTZlNjY4NTI0NTg4ZDFhZjZhOCBsZWdhY3ktdHJ1bmsKKzE3OTY0IDY2NjA5MWYwZDcxNDQ3MWFlZDU1ZDg3N2UzMzg5NTYwNTk2YjRiNzcgbGVnYWN5LXRydW5rCisxNzk2NSBkMmMxN2FkZjJmMGM0NTU2OTUyYmE3NDQwZDkzZTc1ZWNkNWIwODAwIGxlZ2FjeS10cnVuaworMTc5NjYgY2UwNjY3OTkxMzNlYTQ3NTA1NWYxM2UzZGUwN2RlNzYwM2EyZWM4OSBsZWdhY3ktdHJ1bmsKKzE3OTY3IDMwODFkNzAxYmU4NjE1ZjMyYzlhODkxMDI3MGQyZGQxZTFiNDA2MTMgbGVnYWN5LXRydW5rCisxNzk2OCAxNTRiNzFlMTY1NjUwM2E2OWU4YjEzZWE5ZjJkZjVmNzEwNWY2M2NjIGxlZ2FjeS10cnVuaworMTc5NjkgYTgwNTQxMjQ1YjY2MzIwMGQxZTJjOGMxODRiZTg2YTFjYTdlOGJjNiBsZWdhY3ktdHJ1bmsKKzE3OTcwIGU5NmQ2NjRkZTI1NmFjYjlkZWQ4NjA3MTM2YjJiZmJiZDQzZGJmOWEgbGVnYWN5LXRydW5rCisxNzk3MSBjNmQ5YWZhNmU2YTA1YzVlN2IzODRkODJkZDI5NTZlMGM0NjYyYTRhIGxlZ2FjeS10cnVuaworMTc5NzIgZmM2ODZkZTg2MDU5Yjg0NTYwZjE0YTg3YjliYzQ4MmQxZDQwMmU1NyBsZWdhY3ktdHJ1bmsKKzE3OTczIDRlMWU5ZjVjMDc5NTA2OGU0M2QyYWU4ZjJlYWU5ZGYwM2ZjNjM5NzQgbGVnYWN5LXRydW5rCisxNzk3NCAxY2QwMjg1ZTNjZmVkODdjMjE4ODc4ZTZiZDdmZDcyMDY1OWMyN2Q0IGxlZ2FjeS10cnVuaworMTc5NzUgZDE2Yjc0MTNkYzY5NmRmNzRmZjllY2NhNGMyYjJhNzQ3NjNmNzc4MyBsZWdhY3ktdHJ1bmsKKzE3OTc2IDY2ZDI0ODMyODk2NzJkNzVlMmM4ZDNiZGNkODkzNWI4YmQyZDY2MzYgbGVnYWN5LXRydW5rCisxNzk3NyBhMzU4YmE3MDdlNGQzNTFlNTQ1ZDRiNDllYjRjYTVlMmU5YjBmYjU5IGxlZ2FjeS10cnVuaworMTc5NzggMGMwZTkwOWI4ZWQyM2FkNDBkNmI4ZDJhOTJjOWNiZDliNDc4Njc1NSBsZWdhY3ktdHJ1bmsKKzE3OTc5IDdkMGFmNGU4MTNkODVkZWVhYmZhODk5ZDMzYmQ0MTdlNzkzNWUyNTAgbGVnYWN5LXRydW5rCisxNzk4MCBlZjFmNDczYWFlZWJlYjNmMmU2NGNiNDJmODdkZjk2YzU0ODk2YzI0IGxlZ2FjeS10cnVuaworMTc5ODEgMzJiOGM1YTQ4MGFkZTM1Y2RiNTVmYjViMzY5M2ZkMmZhYjhkZDI2ZSBsZWdhY3ktdHJ1bmsKKzE3OTgyIDNhZTlkMzEzYmMzM2UwYjRmYTVmYWU2NTVhNzMyM2IzOGMyNDJjNjYgbGVnYWN5LXRydW5rCisxNzk4MyA2ODAzNDI5MjUwZTliZDA4ZmM3NTBhOTE4MjYzNjNkYjBjYTI1OGEyIGxlZ2FjeS10cnVuaworMTc5ODQgZjc3MTQ1M2MzYWY1ODg2NDg4MmZjMzM5NzNkNWE5ZDBmODVjY2M1YyBsZWdhY3ktdHJ1bmsKKzE3OTg1IGViYTMyM2Q3NDA3ZmExMzZlYjJmMjRkMzYzMDIzMzMwZDE4ZDg3YTEgbGVnYWN5LXRydW5rCisxNzk4NiBjZjI2NjFhNDU5OGViYjI3YzY3ZTlkODI2MTFkYTgyYmMzOTE3NDczIGxlZ2FjeS10cnVuaworMTc5ODcgN2U2ZTQwZTQxYzZlNGE3YzM2NDU0NTEzZTkwNWUyYjVlOTRmYjFiOCBsZWdhY3ktdHJ1bmsKKzE3OTg4IGIzOTE3OTQwZTFmYTFjMWEwNGE2OWYxYjk1MjRhZTBmN2VlZTBlYWEgbGVnYWN5LXRydW5rCisxNzk4OSAzNGE2ZTNlYWQxYzA0ODU1NzBmMjJmYjQxNTgyMzg3MDg1MmE0YjBkIGxlZ2FjeS10cnVuaworMTc5OTAgMDU2ODZmOTdmMzhkMjQ2ZGQzNDVmZWFiYmM4ZTM2NTI1MmQxYzlmZCBsZWdhY3ktdHJ1bmsKKzE3OTkxIGE1YzM0NjkyMThlOWM0NTRjYjVhZTI0ZGI2NmNkNmJiZGNjMjVlOTMgbGVnYWN5LXRydW5rCisxNzk5MiA5YWQwNzY0ZjJlODQxYjE2NTliZTc2NzE3MmY0MDgzZDJmODQwN2JlIGxlZ2FjeS10cnVuaworMTc5OTMgOTEyMDFkZTI1ZjM2ZDY0OTAyODQwN2U0ZGQ1OGJjMDQwMDRjOGFkMCBsZWdhY3ktdHJ1bmsKKzE3OTkzIGUyNzYzMjljY2UwMzZhNWY5ZTlkMzQ1MTI1NmRjYTU5ODRlNTQzZGMgbGVnYWN5LXRydW5rCisxNzk5NSBkYTkwNjdiYzk0OTQyOGY2ZDg4NDhiZDUxNjI0Y2JjZGI5N2VlMmQ5IGxlZ2FjeS10cnVuaworMTc5OTYgNTcxOTJmMGFjMTNhN2Q2ZmRmOTNmNTZhODE2MDI4MDVmNTgzNTc3NyBsZWdhY3ktdHJ1bmsKKzE3OTk3IGRkNDlmMjlkOTg3OTVlMjVkMTM0MjZiYzM3ZTMwMjM0NmI3ZWM2Y2MgbGVnYWN5LXRydW5rCisxNzk5OCBmYjk5NTg5MzNiMjU4YjU4MzZlYTM3Y2E2NjE0NmNlNzMxNzJmOWUzIGxlZ2FjeS10cnVuaworMTc5OTkgNDMzMTg3NDY2OTAxNjlkMmI0OTU0NDI1NTc4Y2UyNWViMzFiYTNiYSBsZWdhY3ktdHJ1bmsKKzE4MDAwIDU2M2RlZTU5OGQzYTlmNDYzZDM4MzY0NDI3ZmQzZGU5ZWE4NDNlY2IgbGVnYWN5LXRydW5rCisxODAwMSA3NGMwMjBhZGQ4NDZlYzRiNjZhMjBjOWI4MjljNjBhYjFlYzNhNDQwIGxlZ2FjeS10cnVuaworMTgwMDIgNmIwMWZjMjJlZjZlZjhlZDNkZmUzOTk4YzkwOTUwYjhlMDhmMWM4NCBsZWdhY3ktdHJ1bmsKKzE4MDAzIGExOWIxZDZhNTljZTFjNjhlNjJhYmIzYzY1YjU1MDhlMGM0NWVjNWEgbGVnYWN5LXRydW5rCisxODAwNCA1Y2YwYTAyYTU3NGIxMTk5OWJjZTNjNzM3OGVhYjVkZTc0ZDk2YzdkIGxlZ2FjeS10cnVuaworMTgwMDUgNWU1YjQzMTE4YzUyZGE2ZmM2YmM5YmVlNDdiMDI0YzUyMzAxZDc1ZCBsZWdhY3ktdHJ1bmsKKzE4MDA2IGEyZmNjNDg3YjlkYTE4NTg3NmZkN2U5Y2UwMzFhZWIxNWI2YmQzOTMgbGVnYWN5LXRydW5rCisxODAwNyBmZGMyYWJkZjQ3NzdlYmQyZjhkOWRkMzNhNmY5ZmM5OGRjZTBlZTdiIGxlZ2FjeS10cnVuaworMTgwMDggNDg2ZjNmZjE0ZDk1YWM5NzgyYTUzY2ViZTE5YjM1ZmVhMmVmMWRmOSBsZWdhY3ktdHJ1bmsKKzE4MDA5IGNhOWY2YThlOTg4NTcxM2JjN2Q4MTk4ZjYwMmFjM2QxMjVmM2Y4YWQgbGVnYWN5LXRydW5rCisxODAxMCBlZDQ5YTY3ODY5ZTljMjBmNGI2YzNlNDk5Y2Y2NjYzYzdkZDBiOWE0IGxlZ2FjeS10cnVuaworMTgwMTEgZTE3ZDhjZDA5Njg5ZjAxYWI3Y2FhYzJkZjZiNDYzZjA4N2Y0ZTYzNSBsZWdhY3ktdHJ1bmsKKzE4MDEyIDE3MzA1OTFkNWQ1ZGE4YTI1M2FiZTNjYzBmNzc5NmQwMDZkYTgwZDggbGVnYWN5LXRydW5rCisxODAxMyA3NGYxNjVkYzBiNWFlN2I1YWJmMjA0MDBhNDJmNTMzY2NhZGQ1NTk2IGxlZ2FjeS10cnVuaworMTgwMTQgYmVjZDhhMTIxNDY0ZjM2YTRhYTlkYmQyN2E2NzRlOGE3N2MzNjc2NCBsZWdhY3ktdHJ1bmsKKzE4MDE1IDQ1OTIzMmE5YjgwNGMwYTBjZjY0OTU3YzkyM2FlOTYxN2I4MjY0NDkgbGVnYWN5LXRydW5rCisxODAxNiA3YjA3ZDYyZDJjNzk2MWQ0NTRmNmRlMDc4NzM0NGMxZjMyMGU0ZmU1IGxlZ2FjeS10cnVuaworMTgwMTcgZTcxOTcxYTQwMmQzMTlhZWZjNGUzY2FiMmVjN2EyNzY0YjkzZTY5ZiBsZWdhY3ktdHJ1bmsKKzE4MDE4IDNjMjEwNjRlODIxNGMyN2RkZWU2MjE2YTI4MDM0MmM1MWIyY2I3NGIgbGVnYWN5LXRydW5rCisxODAxOSAwMDdhOTFkNzc3MDNmZWI2YmMyYTU2NGQyMzAwYTMzYjU2OTRmNjU0IGxlZ2FjeS10cnVuaworMTgwMjAgYjA3NTM1OTgwMzAxNjU0MGNmYjk0Mjc3ODQ4ZWFjMDU1MDFiMDRjNCBsZWdhY3ktdHJ1bmsKKzE4MDIxIGE4MDA2YmJiNjIyNTc3OWMzYTBkN2ViYTgwZmU4ODk3NTBhYzhhMTggbGVnYWN5LXRydW5rCisxODAyMiA4OTMwZWMzYmMwMGE5MWI3MjJhMjdmYzRmY2JkMjg4YTFmY2U3NTA3IGxlZ2FjeS10cnVuaworMTgwMjMgMjU3NzUxOWQ1ZWExMzk3NDZhNmUyOTcwZDA0ZTM3ZjI4ZjA4ZDQzOCBsZWdhY3ktdHJ1bmsKKzE4MDI0IGU2MWU2NGQxYjVlYzNiODFjNzQyMjgzODg4ZmJkYmNiZGRmYzJkMjkgbGVnYWN5LXRydW5rCisxODAyNSBlNTgyZjU3MzQzZjRkNWM4Mzc0M2RlY2I3YmE4MDQxZmQzMmJkYmMyIGxlZ2FjeS10cnVuaworMTgwMjYgMmVkZjM2NmY1NjNjOGRiNjg3NmIyMTNhODAxNDBjOTA5NzgwOGJhNiBsZWdhY3ktdHJ1bmsKKzE4MDI3IGY2MTAyYzVkM2Y5YzJjMzJkOTk5ZmIzOGRmNTVmOTMxMjQ1MTYyNTYgbGVnYWN5LXRydW5rCisxODAyOCAwOWM3YWMxODhjZTIxNzhiODdiMDY1MDRiMGU0ZmU1NWIzYmM0ZGI5IGxlZ2FjeS10cnVuaworMTgwMjkgODVhMDJjYzM3NTkwYTZmNDkwZGQ4OGNiZDk4ODYwNjg5NDY1YjhkZiBsZWdhY3ktdHJ1bmsKKzE4MDMwIGQyZjRkNzQ4YzkyMWViZGIwOTBmMzI3OGRjYTE2Yjg0ZjQ4NWVmOWYgbGVnYWN5LXRydW5rCisxODAzMSA3NDRhYTA2MmY0NzAxYTQxNTQwZGQ0NjgyN2FjZTVjMmFhZTkwYjgwIGxlZ2FjeS10cnVuaworMTgwMzIgM2ViODY4N2M5OGM2ZjdjMmM0Y2M3OTEyOTViNWNjYTdjNWYzN2I1NSBsZWdhY3ktdHJ1bmsKKzE4MDMzIGFiMWY5MGRkNTAyZjhhYTg1OTIwMzdkYjY3NzQzZGNmMmM1ZWQ3NDQgbGVnYWN5LXRydW5rCisxODAzNCBlNzgyM2YwY2EyMWEwNjEyYWEwNTk5ZGNjODUxNjVjM2Q1NjY1NDc5IGxlZ2FjeS10cnVuaworMTgwMzUgNTJkMmQzNmI4YmY3Zjc4NTZlZWM3NjUyMzI2ODg0ZTBkNWMzNGUwZSBsZWdhY3ktdHJ1bmsKKzE4MDM2IDFiNzNiMzUxNGI1ODU1ZDVlZDQ3YjcyMzg1YjIzOTU3NWRlMDJhZGEgbGVnYWN5LXRydW5rCisxODAzNyAwMTVkYTEzZjAwMzhjMTY2ZjBlNDZlYjc0YzE2OWI5ZjYwOTE3Mjg0IGxlZ2FjeS10cnVuaworMTgwMzggNTQyNzM4NThlYWQ5YzYyNTEwNTRlOTU0NzdhYTU0Nzk2N2IzMmI5OSBsZWdhY3ktdHJ1bmsKKzE4MDM5IDJlZDM1ODQ0NmYyZmUzMzkwMjM5MWU4ZjQ4MjM1OWZkMjExZThmZTEgbGVnYWN5LXRydW5rCisxODA0MCBiMzM4N2VlYmE2OGRmZTRjYTk4ZDVmOTJhZDJkNGUyMGYzNDBmNWUyIGxlZ2FjeS10cnVuaworMTgwNDEgNGQyMTg3MjY0Y2ZhN2FkMTEzMDBjZTllZDgyNTMzZDA5MWUwYWMwYyBsZWdhY3ktdHJ1bmsKKzE4MDQyIDllOWVlM2M1YTYwNzhmM2FlZmIxM2E1OWU0Y2FkYmYxNjFhZTkwZjMgbGVnYWN5LXRydW5rCisxODA0MyAxMDBiZWViZGU5ZGZmNTRkNDhiNDUwNTU3MTIxYTIxMWI0N2RhZTJlIGxlZ2FjeS10cnVuaworMTgwNDQgYjI4OTJjYmM2M2RiNzM0NDE4MGNiNTI3MDI1OTJlZDU2Yjc5OTUzZiBsZWdhY3ktdHJ1bmsKKzE4MDQ1IDVhYThjNWFhZmZhZGQ2NDI0NWQ0MDk3Mzk2NzBhNjYxMTZkOTdhMjggbGVnYWN5LXRydW5rCisxODA0NiBmMDQ0YjA2ZTMxN2RhYTI0MDJkMzc5ZjY0ODRjN2YxNDkwZDVhOGYwIGxlZ2FjeS10cnVuaworMTgwNDcgMzE5YzZlMzcxODI1MWM5ODM1MzQzNjExZmQyNzMyODBmNDBmYzEzYiBsZWdhY3ktdHJ1bmsKKzE4MDQ4IDY1NmQ0MzQzODhjOGUyMjgzMDIyYWMxNGQ5NmQ0Y2I1MjJjNDJjNGEgbGVnYWN5LXRydW5rCisxODA0OSBkYjRkODBhNjczODlhMjA2MWQxYTFhM2RlMjMwOGMzNDAwMTBmYzA0IGxlZ2FjeS10cnVuaworMTgwNTAgMWM2M2UyMjRmNjE2NjQwYzY4ZWE0NjU5YzViZDg3ZTg0NGU3YWFiMSBsZWdhY3ktdHJ1bmsKKzE4MDUxIGUzZDgzNjVlYTIzMTUxMjZlODAzZDQ5MmQ3ZjlkOGE3MDFiNTg4OWYgbGVnYWN5LXRydW5rCisxODA1MiBhZjAyYWM1ODAwMjhjOWU1ZDFjMDkyZjIwMzUyZjVjYWM0YTJmYmVjIGxlZ2FjeS10cnVuaworMTgwNTMgMzc0M2E2ZGJjNGE3NzJiNWIwOGJkY2QxMTJiMzgyNzVmODZkNjA5MyBsZWdhY3ktdHJ1bmsKKzE4MDU0IDQ4Y2M3N2I2M2FkNWRmNWRlYzBjM2IwNTk3ODI2OTExMzE2YzRmM2UgbGVnYWN5LXRydW5rCisxODA1NSAyM2JmMzA4NThlZjQ1MzFlZjE0MjYyZjkwNjFlMzhlNjE3YTUzNDNjIGxlZ2FjeS10cnVuaworMTgwNTYgZDQ2OWQxNTcyM2QzNWYwNTJmZmI2NGMwNGNkZmJiNGUyMDRmMmNiMCBsZWdhY3ktdHJ1bmsKKzE4MDU3IDc3ZWE4ZmNlZjI0Y2IzNTViMGJlMWZkNjgyMDgzNWUzZjFiMTg0MzYgbGVnYWN5LXRydW5rCisxODA1OCBjNTBiNzg2ZWJjNDg0YjI0ZmI5MDdiZjIwMWQ4N2E5OWFmNTNiYjQ1IGxlZ2FjeS10cnVuaworMTgwNTkgNGVlYjAyODE3YjVkODBlNDEzYjdhNmVhZGM1YjNlNWNmYmYyN2FlZCBsZWdhY3ktdHJ1bmsKKzE4MDYwIDliN2RkZDljYWUzM2UyNzcxZThkMjcyZTYzNDI1OTg5NjFlYjkzNGYgbGVnYWN5LXRydW5rCisxODA2MSA2NDE3Y2U5MTRkYWU4N2VkZDI4NDkxNDhhZDFmNmI0MjA5OWU0MGI3IGxlZ2FjeS10cnVuaworMTgwNjIgZTBhNTgzNWFmODMzNTBhMDc4NjBhYjdlMWE3OWY5NWY0OWQwOGI3ZCBsZWdhY3ktdHJ1bmsKKzE4MDYzIDA0ZTc2ZTA4ZTEwZmY0MWZlMmFlYzhhNTZiZWFlNmZkYTM1MWRiYWEgbGVnYWN5LXRydW5rCisxODA2NCBjOTRmMWM3NzYxNTM2ZWE3MDYzMTY3MWZjMGNlMzljMWUxMDRkZGY1IGxlZ2FjeS10cnVuaworMTgwNjUgNzAxYTU2MWJkZWZhODE2NDg2NGNhYTkyODJhNGFiMmU1YTg1YmFhZCBsZWdhY3ktdHJ1bmsKKzE4MDY2IDc4Mzk2N2IxNjg3OWE4YTg0YmU1OGIxOTJmZTE2Yjk3YWU5MjJhNTkgbGVnYWN5LXRydW5rCisxODA2NyA5ZjMwNzc1MDZkMWExNmJhNDg3YmM1MTBiMDdmZjAxYTE2ZDhkY2JkIGxlZ2FjeS10cnVuaworMTgwNjggZDJjMjA1YzM2ZDhhNDE4ZjcwZGM5MTFmMDhmOTNiNDQ0YmQzNGI2MyBsZWdhY3ktdHJ1bmsKKzE4MDY5IGU0YzliODA1ZjM5ZmJkNzgzYTA5MjUwYTEwOWRjMTc3YjMzN2QxMzYgbGVnYWN5LXRydW5rCisxODA3MCA1MGE4ODhlYzU3YzEyNzExZmQ1MTFhMjkzY2UwNTM2NTkxMjBjYWJkIGxlZ2FjeS10cnVuaworMTgwNzEgODgyY2VmZTIxZGMzNjgxODVkN2ZmZDc5MDk4NjNjYjA2NzU4MjdlOCBsZWdhY3ktdHJ1bmsKKzE4MDcyIDdkNDUyNDliMTQ3N2Q5Yzc4Yjk1NGZhMzk0MDM1OTZiNDViYzA3ZmIgbGVnYWN5LXRydW5rCisxODA3MyA5NTk4NjUwZjJiYzkwMjMyMGI3ZTkyMGNlYzgyYzYwZmQ0OGQwMzFiIGxlZ2FjeS10cnVuaworMTgwNzQgYTM5NzVkMjgxMWYwMDg5ZjUyZGEyY2UzYzU4NmFhN2U3YjZjYTg4YyBsZWdhY3ktdHJ1bmsKKzE4MDc1IGE4MmU0YzI5NWI5MzAwZDMwOGIyNmQxNGJmNDIwOWJiMWYzMDc4NTggbGVnYWN5LXRydW5rCisxODA3NiA1YjU2NTRjYTc1NTViOThiMGUyYjQxY2Y2NjExMDlkNjAzZTQzY2MyIGxlZ2FjeS10cnVuaworMTgwNzcgOTlmMzhjNzU1YWJlYmE0NTUwMTA5OGY2YTJhYjQwNTY2MzU5MDFlNyBsZWdhY3ktdHJ1bmsKKzE4MDc4IDNlNzAxNmM3OWRhYTBlN2FmY2QzZTQ1MmZkZjJkZjcwMGM1ZTMzYzcgbGVnYWN5LXRydW5rCisxODA3OSBkN2M5M2E3OGM5NDkyOGFmYjljMjhjM2I0NGFiOWYxN2Y4OTJlMDQ1IGxlZ2FjeS10cnVuaworMTgwODAgM2Q5MGUxZDc2MDVmNzEyNzIzYzRiNGQ2YmNlMzBiZWNjNGIyNDBkMiBsZWdhY3ktdHJ1bmsKKzE4MDgxIGU0NzBhOTYxOGNhNzJhYmEzNTg2ZDE0YTM0YTNkMjM0NjE0MjcwZmQgbGVnYWN5LXRydW5rCisxODA4MiA3ZTkyYjdhNTA1N2M1MTBmMWQzYmVlMjc5MmUzNDNkZjAzYWNkN2U0IGxlZ2FjeS10cnVuaworMTgwODMgNDg2YTMxZDhhM2IzNWM1ZjkxZmUxNzI3YzU0M2M4ZmE3NmMwNjNmNSBsZWdhY3ktdHJ1bmsKKzE4MDg0IDQ4N2IzNTAyYTQ1YjMxMGZjZGE3MGFhMDlmZGIyZDY1OGNkNWQxYWQgbGVnYWN5LXRydW5rCisxODA4NSBmNzkyODIwZjNjZDRiZWY1NjA1M2NhZGZlOGU0ZGU1ZDAxMjY0NWFkIGxlZ2FjeS10cnVuaworMTgwODYgZDJiOWNjNDQwYjhkZDQyZTAzMTVmMmI4ZDMyNjFmMzEwYzdhMGIwMSBsZWdhY3ktdHJ1bmsKKzE4MDg3IGJkODhkZjIwZGEyZjU5YWI0ZWRkZDU5MmEzOTUzNzYwMjQwY2E1OTEgbGVnYWN5LXRydW5rCisxODA4OCAxMGIzY2JkYmRmZDlmZDkxOTVmNWY1NDAyM2EyZDQzZjcwMTMyMDk3IGxlZ2FjeS10cnVuaworMTgwODkgMzhjNzk1YWZiM2I4MDUzZWI2YThkMmFjZGY2ZTg3YjY5YjZkMmFkMyBsZWdhY3ktdHJ1bmsKKzE4MDkwIDg2NGYxNzE0YWYyODcxYjMwN2NlNDM3MWY5NmE5YWE1NmMwNGNiZGYgbGVnYWN5LXRydW5rCisxODA5MSAwMzcyMGEyNmNmZTczNjU0N2Y4NjdmNDc4MTM4OGQwMmI3Y2RkZGJlIGxlZ2FjeS10cnVuaworMTgwOTIgOGZlMmE3OTgxZDcwYjMyYTk4ZGJhNjQwYTY0NDIwNjJmMDkwN2VkMSBsZWdhY3ktdHJ1bmsKKzE4MDkzIGM5NGMyYWU3NDZmMWNiM2E2NDJhNWZkMTRhODMwM2MwYTdlYmU1OWQgbGVnYWN5LXRydW5rCisxODA5NCBmMWFkZThhYjE4Njk1NTM3Y2NlYzkwZjdjZTMzYTg2ZDY2NTY5NTU3IGxlZ2FjeS10cnVuaworMTgwOTUgNzViZmJlMzdhYjdhNmMwOTAzNGJmYTdjMGEwNmViNzZjNzQ2ZTk5ZSBsZWdhY3ktdHJ1bmsKKzE4MDk2IDlhZjdmY2UzNjM4NDEzMTczYTAwN2ZjZDM0MjI0MmVlZjE5ZjkwODMgbGVnYWN5LXRydW5rCisxODA5NyAwMjI3YjU5NjFlZWY3NGE4NzgyMzBhNjA4ZDBmMWYyYTk5YTViODBmIGxlZ2FjeS10cnVuaworMTgwOTkgZGE0M2IxNjk4NmI2NzcwMWQ4YjcwNDQ1ODdjNzE1ZGMyYzc5MzY2MyBsZWdhY3ktdHJ1bmsKKzE4MTAwIDY1Nzc1MGMxZDc4MzU0ZDg3ODc3M2RjZjJjMzJkOGQ5MjQ4NjRjNzAgbGVnYWN5LXRydW5rCisxODEwMSAyY2RmYzQ2ZTgwNjhkMGQ4YWQ5ODIzYzQ1YzgxMWY0NmM4NGVmZmFiIGxlZ2FjeS10cnVuaworMTgxMDIgZTllODgyNGUzZDhkZmQ5YTNiZmIyZWQ5ZmQ0N2FjMjRiNjg0NDA2MiBsZWdhY3ktdHJ1bmsKKzE4MTAzIDcxZWEyYmIwMTg4OTU3MmY5Njg3ODY2OGQxMTZkMTc2NDE0OWE5ZDAgbGVnYWN5LXRydW5rCisxODEwNCBlNGVhNDRiMTBhYmJlZjI1YWQxMDdlMGZlMTE2NGI5YzllZTRkNjg0IGxlZ2FjeS10cnVuaworMTgxMDUgNjgzNzEzNTA4MWQ0NzI3ZWVmZGU3NDc1NGJkZjJiMDIwYTYxZDMyNyBsZWdhY3ktdHJ1bmsKKzE4MTA2IGRkMGQxOTk2NzRmODJhNGNmNWUzMWY3MTMxOTNjMGY0ZDJmOTcxODMgbGVnYWN5LXRydW5rCisxODEwNyA4Njg2ZjI4NGZhOGQ3NDkwMTNlY2Y0M2Q5Nzk3NjgwZDAzOWVmNGE4IGxlZ2FjeS10cnVuaworMTgxMDggNzM1ZWQ4NTZkZTYwZTQxOGY2NzU3YWM3M2NiYWU0YmEwYzBhNTVjMiBsZWdhY3ktdHJ1bmsKKzE4MTA5IDJhMDVjMWZiZDg5NDdkZDIzMzAxZjhmNDgwZWVmZWRhNTFkYzU5YjIgbGVnYWN5LXRydW5rCisxODExMCBjYzllYjE4N2I3MzAyY2EzNzcwYjExNmE5YWMyY2Q0YWRkYzg4OTQ1IGxlZ2FjeS10cnVuaworMTgxMTEgOTcyMGMyYzZmNDM1ZDNkNmNkZWIzYjkwMmY0YWIyMDJiMmNkNjU2NyBsZWdhY3ktdHJ1bmsKKzE4MTEyIDBmOWZkM2ZkNzc5OWE4YWNjZjFmNTZiYmFjZWZkMTkwOTMxMTEwYzkgbGVnYWN5LXRydW5rCisxODExMyAwODEzMDIwYjI5Nzc1ZTFjZjJjZmEzNDE4MGYzYWFkZTQ3ZTY3ZTQ2IGxlZ2FjeS10cnVuaworMTgxMTMgMmZhNGUzNTA4M2UwMjM0MmNhMDE0YmY1YmZiYTQ2YWVjYjgxNmMzMSBsZWdhY3ktdHJ1bmsKKzE4MTE1IGJkNGNkNzNjYjBkNmQ1Zjg4Y2VkN2RmNzRkMzBkN2QxNGIyMjZiYjcgbGVnYWN5LXRydW5rCisxODExNiA2MWY4MjMwMDkxNDVjYTEzYThmYjVmNjk4N2ExNjI5Mjk5NjYzM2NjIGxlZ2FjeS10cnVuaworMTgxMTcgMzE0MjY5OGQxNzJjODU3YmI5OTE4YzUxMmYxZWI4ZjA1NjYyMjYwYiBsZWdhY3ktdHJ1bmsKKzE4MTE4IGExODdhZDgyYzMzZjQ3MjkzZjQ0YTRjMzQyMzhkM2Q0NGM2MDRhYzAgbGVnYWN5LXRydW5rCisxODExOSBkMmFhMjY2YWU0MWM4OGViN2VjMGUyMTg5MWZlYTA2YzQ1ZDhiYzA3IGxlZ2FjeS10cnVuaworMTgxMjAgYmM0Zjg5ZWVmYjA0ZDQyZWI3ZTFiMWMyM2Y0YTM2NmU4MDMwMDRkYiBsZWdhY3ktdHJ1bmsKKzE4MTIxIDg3NzgwZGJmOGQxNzRiMWJkZTc1M2FmNTBlODYxNTYxM2U4OGFiM2QgbGVnYWN5LXRydW5rCisxODEyMiAwZDNiYWJhYzQzOThmYmUzOGI1ZjQ3MGFkOWE4OGI0ZjAyYTEwMDRkIGxlZ2FjeS10cnVuaworMTgxMjMgYjUxNjI5OTgwYzg4NmMyODRlYjQzYjVkY2I0NDI2YjkxY2EzMTVjOSBsZWdhY3ktdHJ1bmsKKzE4MTI0IDM4N2YzMWFjMzJlNjQ4YzU0Mzc5N2Y0M2EyZmYyMzkwYmQ4ZmZjMjMgbGVnYWN5LXRydW5rCisxODEyNSBjOTRjMWI2NjBkZGIxNTZhN2VmYjRlZDgxZDAwZDg0ZjhjNDEyNWM1IGxlZ2FjeS10cnVuaworMTgxMjYgZDUwMzM1YWM1NTgwM2MwNDkxMWY0YzkxMzUxYzIyNDM5ZWNkNTFiNSBsZWdhY3ktdHJ1bmsKKzE4MTI3IDA4MzI4MTBjNDYxMjQzMzc4YzUzMDU4MWE1ODQ3Y2I1MGEwMDEzY2QgbGVnYWN5LXRydW5rCisxODEyOCBkNTc0MGUxMmVhOGEyOWE5ZGFhNGFkYWI1ZGFlNTlmMzk3YjNlNWY0IGxlZ2FjeS10cnVuaworMTgxMjkgNzRjNjE1M2FiYmMxMGQwZDdkZWQyNDBmYzQ3ZWIyNWJiODc5MDI2OSBsZWdhY3ktdHJ1bmsKKzE4MTMwIDkyOWM5MmM1MGNiMmJiZWM4MzY3YzA1OGJlMDE5MTI0MDlhZjA1N2UgbGVnYWN5LXRydW5rCisxODEzMSAzZTk2ZmQ0NGI5ZDBmNzhmZDQ5MjU5ODFjNDJhZmQ1Y2NiOGQzODA0IGxlZ2FjeS10cnVuaworMTgxMzIgNjM4MWZhOGQ3ZGYzMzcwNGJjMjk2ZDgwNGViN2M3NmUzMGVjOTdlMiBsZWdhY3ktdHJ1bmsKKzE4MTMzIDY4MTU4ZDY0ZTg3NGU5NTA3NGM4OTE2NzBkZGI0NGMwZDI3ZjNmNDQgbGVnYWN5LXRydW5rCisxODEzNCA4NDdkOTllNGYyNGFkM2UyMDdlOWE2YjhkMGFiZTdlMTk0ZDgwNjAxIGxlZ2FjeS10cnVuaworMTgxMzUgNjVkMjY1ZDg5ZDhmNDI1NWM3MzU3Yjk5OGQyMjBlOWY2YzA3ODJjZCBsZWdhY3ktdHJ1bmsKKzE4MTM2IGJhMzY3N2UxZjgxYjY1ZGM3NGM0MWRlZjk1ZWVkNWQ2MDZiYzhkNjEgbGVnYWN5LXRydW5rCisxODEzNyAxMTY3NmRkYWZmMDE1ZTI4N2EwZTc4MWYyN2I5YjY3MGU4NmEyMGQ5IGxlZ2FjeS10cnVuaworMTgxMzggMjU0MTA2MmVkNGRkOThiYWM5Y2IxZmM3MDk0Y2NmMGIyOTUyMmFkNSBsZWdhY3ktdHJ1bmsKKzE4MTM5IGE1Y2E1NDk2OWEzZmZlNzI4YWY1MzYxNmU3NmRjYjgzMzkxMmE3MzkgbGVnYWN5LXRydW5rCisxODE0MCBhZjJhYTgwN2FjZGU3ZmE0Y2EwODg2NDMwNDIyNDkyMWJhNjE2ZTAxIGxlZ2FjeS10cnVuaworMTgxNDEgYmYyMWU0MTdiZWQyMjM0OTIwNTg1YzMyYjM5OWJiOGU0M2M4NmE1MSBsZWdhY3ktdHJ1bmsKKzE4MTQyIDRjN2M3NzliYWQ4NzliOGRlYjcwZGRkMzVjZTdhMmE0NTQ4ZGMyOGIgbGVnYWN5LXRydW5rCisxODE0MyBiOTQwYTBmYzI5ZTMzOTQ5MzY1MDc3YTBmNWExZTg1NzczMzczYmY0IGxlZ2FjeS10cnVuaworMTgxNDQgOGY0NTkyZjU0OTg4ZGJlZDQ2MGE3MmQ5MzE2NGM2MzRiMjFjM2RkZiBsZWdhY3ktdHJ1bmsKKzE4MTQ1IDEzMmU2OTg5MmFhNWQxNWFlNTA4ODBhZDFjNWFhMTExYmZkOWE0ZTAgbGVnYWN5LXRydW5rCisxODE0NiAzYTdhZmQzZTZjOTc4MTRiNDA0ODQ3ODEzMDMxMDNlNzE1MTE4ZDNkIGxlZ2FjeS10cnVuaworMTgxNDcgMWY0YTlhZGUzMGVjYzE3Y2IxYjc4MzQxZDFlMGIwNWI4ZjM5ZmEzMyBsZWdhY3ktdHJ1bmsKKzE4MTQ4IDI3MmMyOTY1MDgxYzY1MTg2MDM2OGQ3NDFjNWM2ZWZjOTE0YzE5Y2IgbGVnYWN5LXRydW5rCisxODE0OSAyM2IxMTA4ZDZjOGI1ZmNhZDcyODI4MDFiMTI3OGQ0ZDFiZjUxOGExIGxlZ2FjeS10cnVuaworMTgxNTAgMWY5ZDVlYjg0YjBiMjBjMGJiNmU4YWJhNmRiMDc2ZWM4NDYzOTY5MSBsZWdhY3ktdHJ1bmsKKzE4MTUxIDlkZDdlYWI4MzZkN2NmYzljNTljM2VlYTZiOTYwNGE3MGNlNDMyM2QgbGVnYWN5LXRydW5rCisxODE1MiAwOWJmNmQzMDAyNGZiMDg4YTUwOGY2OTAyZWVmNTBlNTAzNGVkNzc2IGxlZ2FjeS10cnVuaworMTgxNTMgODQ3ZGM2MWUzMGY1YzhlODhlOTc2OTViNDQ3YTk0NWEwOWM2OTZkYiBsZWdhY3ktdHJ1bmsKKzE4MTU0IDc1N2ZmODhlMTdhYWRiZGEzZDMxY2Y4OGM2YWY0ZjI5MzBkZmIyZjQgbGVnYWN5LXRydW5rCisxODE1NSBlNmExMDg1NzI1YWNmNDc4YTllODFlYjM3NWU0NzMwNWY4Y2QwY2ZlIGxlZ2FjeS10cnVuaworMTgxNTcgZjIwZGVhZWFmOGI5N2MyMWQ2ZmUwMjk1NGJlZGZiN2ZkMDQ1NjgwMyBsZWdhY3ktdHJ1bmsKKzE4MTU4IDg1YTUwOWZhY2NjNzk2ZjMwMmRmZjk2NGRiZmEyOWRiZDNiNTU1MjggbGVnYWN5LXRydW5rCisxODE1OSA2OGJjZTVkODNmN2I5M2E3MWVlMmQ0YTdlM2Q5Y2Q4N2Y2MmE2NTg4IGxlZ2FjeS10cnVuaworMTgxNjAgMGRhNGNjYzdlOGNmMzZlNmZiMmJmNWVjZWJmYjhkNWEzODY1YTNiNSBsZWdhY3ktdHJ1bmsKKzE4MTYxIDJhOWQyNzY1NjI1ZTVhNzc1ZGQ1YmRhNjBkNDM1NTRhNzY3Y2QyMjcgbGVnYWN5LXRydW5rCisxODE2MiBiMjExMDI2Y2VmODRjYTgwM2Q4NmY5ZGFhMmI5NjM2ODBlNTYyYWM4IGxlZ2FjeS10cnVuaworMTgxNjMgMDgyMDk5NGUyZDVlODc2ZjFlMDliZjJjNDc1ZDg3N2RjMWFjMzczYyBsZWdhY3ktdHJ1bmsKKzE4MTY0IGE2ZjNlZjEwODE1ZWNiOGRjMTBkOGQ3YjljYTA5NGFhZGRjYTBmYmMgbGVnYWN5LXRydW5rCisxODE2NSAwN2YyNDI2MWM2ZTZlYmUzZWZjZTQ0OGNlNDk0NmM1MTZmN2ZiMjZhIGxlZ2FjeS10cnVuaworMTgxNjYgYTk5OWQwNThmYWI1NTgxNTgzOGMwMDA2MjM1Yjk4Nzg4OWE0N2FlOCBsZWdhY3ktdHJ1bmsKKzE4MTY3IGY4NzIxZTg0OTQyNDZjYmE0MTgzMDE5MmVkYjdhMjg0N2VjZWJjODkgbGVnYWN5LXRydW5rCisxODE2OCA4NDdhZTQwMDc0ZDRlMDA3MzRiMzBhMGQ0Zjc2YmUyNWFiYTY0OTQ3IGxlZ2FjeS10cnVuaworMTgxNjkgMDc1OGNjYjMzNjNjZmQ2NGU5Zjc2YzQ4ODAxMWNlZDZlNWNjYjg2ZSBsZWdhY3ktdHJ1bmsKKzE4MTcwIDVkMmEyMTg1YzY1MWE0MzM5YmE0ZWE4MTY3ZDYwYTY0YmY1NjBjNjAgbGVnYWN5LXRydW5rCisxODE3MSAzMzMzN2U1YTQzMDBjOThkYWExNTlhY2Q4YzBmMTU4Zjc1MjVlYzM5IGxlZ2FjeS10cnVuaworMTgxNzIgODZkMDY5NDE0MDk5ZmU5ODM2MzU0MjFmOWU1Yjg3MTMyYWIwNzEzZSBsZWdhY3ktdHJ1bmsKKzE4MTczIDQ5NDY4YzAwN2MwY2Q1YWYyOWMzOTcxZWZmNzQ5NjRjNTQxNWIzYjcgbGVnYWN5LXRydW5rCisxODE3NCA4N2I1ZTQ4MDc2MmY4NmIxNzk3MGM1YjNjYTkwMWJhNjQ2ODE3MDE5IGxlZ2FjeS10cnVuaworMTgxNzUgYjQ5ZjUyMmJmODkzZWE1MmFiMDU5OTY4YWY2MjE1ZGFlYWQ1MGY0ZiBsZWdhY3ktdHJ1bmsKKzE4MTc2IDhlODY1ZjVlY2Y3ODQxZmQ0MTkxMmFiMDRlMzBiZDEzZjdjODFmNGUgbGVnYWN5LXRydW5rCisxODE3NyAxMzk3NWFlYzUxNTIxNTYwMTczMzhmYWZmMWUyOTZlM2Y4YjNjZGNjIGxlZ2FjeS10cnVuaworMTgxNzggOGFhOTQ3ZTFlZWU4MmEyZWYyZTJjZjYwZDAwMTFjMDQzOGFmY2JhNSBsZWdhY3ktdHJ1bmsKKzE4MTc5IDA5ZWM4ODJjZGU2MTQ0MjBiOTU1MWEzOGJjMTk3YjBkYTc2YWI2ZGMgbGVnYWN5LXRydW5rCisxODE4MCAzYmQxM2EyZmM4MzgyNDg0ZTAwMmM1MmU3M2NlMWI1YTVhMjM0MjkyIGxlZ2FjeS10cnVuaworMTgxODEgMTFlM2E2ZTE2YTlmMjI1ZmE2MmE4ODE0ZGVjMDRmZTRjMDNlMDZkOCBsZWdhY3ktdHJ1bmsKKzE4MTgyIGQxN2JhMTQxNDgwYWU3YTYzYjc3ODI3MGFjZTQ2ZmUxZDRmOWU1OWQgbGVnYWN5LXRydW5rCisxODE4MyBmZDE3MjE3ZDViYTg2OGFmMGZlYTM0N2M4YThjY2NhOWZiM2M4MGYwIGxlZ2FjeS10cnVuaworMTgxODQgZDhhY2EzYzg5MGY3YTRmYzM1Mjg1NmIyYzFlZTQ4YjU2MjM1MDcyOCBsZWdhY3ktdHJ1bmsKKzE4MTg1IDY1NTk0ZmViNTUyNzU3ZTc2ZWFkOTY3MGU1M2QwYmM0M2ViZjY3MjkgbGVnYWN5LXRydW5rCisxODE4NiBlNWQ0YzQyNGM0NGY5MzZiNzY0ZjhhNTBhM2ZjYWRjZjgzMzIzZGQ3IGxlZ2FjeS10cnVuaworMTgxODcgYzE4NDZkMzMxZGU5ZDFkMzk3NTJkNWU1MTEzMDFmM2JmZWI3OTI0NyBsZWdhY3ktdHJ1bmsKKzE4MTg4IDBkNjNjMGNhN2FlNDIyMzk0NjUzZWMxYjE0NzMzNGVhMDRmNzNkOTQgbGVnYWN5LXRydW5rCisxODE4OSA1ZDU4NmQ0NWNiNWE1MjRhZDhhMDNkODE4OTg1MjcxZTc3OGU5NGY5IGxlZ2FjeS10cnVuaworMTgxOTAgODE4OTA0YTk5Y2EzNzMxN2UxYzIzN2IxN2ViZjhiN2I3MDhlYTE2NSBsZWdhY3ktdHJ1bmsKKzE4MTkxIDc4OGI1MjNkNDgyN2IyNDY5NDZjMDUzYzU1Zjg0OGI2MDRjZjkyZWYgbGVnYWN5LXRydW5rCisxODE5MiAxMmFlYzMzODFjOTQ2YmM3YjE4ODcwZjIzNWQwYWY5YWQwMjc5NzZkIGxlZ2FjeS10cnVuaworMTgxOTMgZDUxNTdjOGJiMTFhNGRkYTEyYzBjN2YxY2ZkOTJiODgzNDM4YjI1ZSBsZWdhY3ktdHJ1bmsKKzE4MTk0IDEwMGM1MzNkOWEzZTYxNTY2ZDNjNTFlYTcwNGJiNmM0MWI4NzdiYjIgbGVnYWN5LXRydW5rCisxODE5NSBlYzc5ODAwZjRjMjc3MDI1ZjAwN2NhZDMzY2Q1YmVhN2UwNDY0NWZhIGxlZ2FjeS10cnVuaworMTgxOTYgYmJjOTkxYWI2ZDMyMjFhNmY1M2Q1MmM1ZWY1MjIxODg2ZmVkZjg4NCBsZWdhY3ktdHJ1bmsKKzE4MTk3IGE4MWY5MjAyODAzZGJkMmU1NTE2MGExNDk1NTk1N2UzMjA0ZWQxYTUgbGVnYWN5LXRydW5rCisxODE5OCBjYTFhZTIxYTMwMzliMzQxZDNlNjY1NWY4NDk2ZGRiOTM3MGMwN2I5IGxlZ2FjeS10cnVuaworMTgxOTkgYzJkNzQ1MWI0MmY2NmM1MjhiNTAzMjZmZGFhNGZlMWMyN2YwMGFiZSBsZWdhY3ktdHJ1bmsKKzE4MjAwIGQ5OWEwZjZjZmNlMjBjOGFlOTk2MjY2NmU2Y2UzOTU1ZDBhMTYxMjkgbGVnYWN5LXRydW5rCisxODIwMSBjMmQxMDI3NGEyMTQ4OTJmNTNmNzIzZTIxNmNiMmI4ZDI5Mzc3OWVkIGxlZ2FjeS10cnVuaworMTgyMDIgY2IxMWZhNWIxMWY0MjNkZmI1MzM4OWFkNGQyMjMxNTk5MGVlNzU1ZiBsZWdhY3ktdHJ1bmsKKzE4MjAzIGFjZjJiMTllNDM0NDMyMzE0YWI2NzAyMTNiNzcyY2RlZDNiODFmODQgbGVnYWN5LXRydW5rCisxODIwNCBlNTlmNTM4YmI4MjkzYWYyODg1MTFkNTkwZWM0NjRiZWZkNjEzMzFkIGxlZ2FjeS10cnVuaworMTgyMDUgMDNkYzc2MWQyY2M0OWU4ODQ4NTZhZDIxMTVhZTY1NTM2ZTc3ZDZjNyBsZWdhY3ktdHJ1bmsKKzE4MjA2IDU2M2RjZmVjMmFlOWU2YzNhZTE5ZmU1YmM3Yzk3NWI5ODU5MWNmYTIgbGVnYWN5LXRydW5rCisxODIwNyAzMDQ4NzFkNmU4NjYyNDQ2Nzg0NzdiZTE5NzM5MjQxYmIzMmQzN2NkIGxlZ2FjeS10cnVuaworMTgyMDggZDRhNDYzMjZmYWY0MzY5NGVhNjczOWVmMjBlNzYwNzM1NDZkYTNmNyBsZWdhY3ktdHJ1bmsKKzE4MjA5IDBjMTk2NzJkNDdiYjFlMTcxMWNkNGJiMjkxMGQ2NzM5ZTUwYTNiMWMgbGVnYWN5LXRydW5rCisxODIxMCBiM2RlYmY2NDdiNTNlYTgzMTJiYjg2MGI3NTI1ODEwMzhiNDM1Yjk2IGxlZ2FjeS10cnVuaworMTgyMTEgYTYyMjRkYTdiNGU0MzVjYmZmMmUxN2E5NGUxYjU4NTg1OTFmOGQ2OSBsZWdhY3ktdHJ1bmsKKzE4MjEyIDNlNTRjZWZjNThjNjAxZThmMjBlMjlkOTc2N2FlOTQwMjNkOGIyZTMgbGVnYWN5LXRydW5rCisxODIxMyBmNDgwZDUyYzA3NjBhZGIxNDkyZTJjMjM1ZGYyNjZhOTZmNWY3NThiIGxlZ2FjeS10cnVuaworMTgyMTQgN2JlOWVkYzRkNWRiMTFiMDI2ZGM3Y2E0OGQ5MjYxZDllYmJhMjA0YSBsZWdhY3ktdHJ1bmsKKzE4MjE1IDJhMzY5NmQzMjcyMWU3MDA5ZDI5Zjg3YzFkMDUxMGYyNmYwNzFjNDggbGVnYWN5LXRydW5rCisxODIxNiA2ZTcwYmFhNDg3ZWQ1MjM0ZDRiM2ZiZDY1ZmJkMjRlYWJlMDdhMmU5IGxlZ2FjeS10cnVuaworMTgyMTcgZWUyNzFjMjBiMDVmM2IyNDlhMGMyMjdlYmUwYzZkZjdkZmRiOGZiZiBsZWdhY3ktdHJ1bmsKKzE4MjE4IGFiMzQzOGNmMWYzZTZiMzZhOTkwY2I4YTI1YWIxMmUyYzk1YmI2MzIgbGVnYWN5LXRydW5rCisxODIxOSAxMmI5MmEzNTY0MWJlMmVlY2JhNjhlZmVhY2FkMGJlZmU0MmQ4MzkxIGxlZ2FjeS10cnVuaworMTgyMjAgNzRlMWQ3OTUyMGZkNGNkZWNjZWFmYWFjZGQzZmExYWU4YmM3YzNjOSBsZWdhY3ktdHJ1bmsKKzE4MjIxIGEzYWYxNDVkMjUzMWUwYzM2NDI3ZmM1MTM3NzRmMDNhM2UzNDU5MjUgbGVnYWN5LXRydW5rCisxODIyMiA5YTE3Y2RjZDMzMjAzNThkYzE2NTMzZDQ2ODQ3MmExYTFiOGJkNDY1IGxlZ2FjeS10cnVuaworMTgyMjMgNDdkOWZiZTY1MzdjODdjZDZkYjkzYzJiYzY3NjdhZjlkNmE2YzIwMiBsZWdhY3ktdHJ1bmsKKzE4MjI0IDA5OTUyZDZlZDM3MjU5ZjE2ZDU2MTY1MmIyMDA1MWI4NTZjNGFjODggbGVnYWN5LXRydW5rCisxODIyNSAxZTRkZTYwMTA1MWMxNjI0MTE4ZGVhMzM2NDM5MWU1NzQ3OGYyOTk1IGxlZ2FjeS10cnVuaworMTgyMjYgM2M2MDgzMjQ3Y2U3NTVjOTYwMDI3NTJlYTljNTkzZTc3NDVmNjQ5OCBsZWdhY3ktdHJ1bmsKKzE4MjI3IDgyNzVkODY0M2U3OTg5MTM0ZWRiMDQ3YTUzYTIzMWI0OTA5ODllZmEgbGVnYWN5LXRydW5rCisxODIyOCA5MDBmMjY2YzVkOGUyYzE5MjcyNDZmNzc0ZDZhYjkyODA0YzQ1MTM5IGxlZ2FjeS10cnVuaworMTgyMjkgM2FiY2I2OTY2NjE3NTkyNjRjYWI2YTU2Mjg2OWVlOGEwZTM5ZjMxMCBsZWdhY3ktdHJ1bmsKKzE4MjMwIDJlMWFiMGM5NDFjMGVjYzI3YWRlYTA5MzNjM2FmMWY3OTkwMzA1NTggbGVnYWN5LXRydW5rCisxODIzMSBjN2Y1ZGQyYmRjN2Q2OWY1M2U5ZWY3OWIwOThjMmU2ZmZjNGY0NTE0IGxlZ2FjeS10cnVuaworMTgyMzIgZjYyMzM5MzhmZjg5YjBlNjQ4ZjZmMzEwMjBlOTgxZTVhZDY5N2M0NiBsZWdhY3ktdHJ1bmsKKzE4MjMzIDAxOTIyYTBmNmY5MmIyZTNmZWIzZjhjODllYTk5ZTIxOTkyNWZjODcgbGVnYWN5LXRydW5rCisxODIzNCBhODI2YTQ2YmFlNTRhYzkwZjBmYTllZDAxZmQyNjUyMGRiYWNlZGQxIGxlZ2FjeS10cnVuaworMTgyMzUgY2VlOTZiMzkxZmZjMjYwNjc1ZWI1Njk4MTJhZDIxNmQ2ZTYxOGJjNCBsZWdhY3ktdHJ1bmsKKzE4MjM2IDQ5M2NhOWU0MjYwZTUyYTIzN2Y0MGRkMzQ3NjViY2E0Yzg4MThhOGQgbGVnYWN5LXRydW5rCisxODIzNyA4M2NkZDQ1NDg1YTU3M2EyYWU1YmY4NzI0YjcxNTE4ZTk2ZjYxNTBiIGxlZ2FjeS10cnVuaworMTgyMzggOWIxYmUxZDg0ODEwNDY3Mzk3NDY4MGFjZmM0YjQ4ZjczMDhjNTcxOSBsZWdhY3ktdHJ1bmsKKzE4MjM5IDdhODJmODQyOTBmN2JiZDMwNDg4YTE1NWE4NmIzOWQyYjgzMWYyZDcgbGVnYWN5LXRydW5rCisxODI0MCBiYjAwNmFkMDBkOWVhYzZjZjk1NzgzN2ExMmQzYmE4M2ZiZjRmODIyIGxlZ2FjeS10cnVuaworMTgyNDEgNTJjMjdiNzExNjg2OTAwNzI0OWI2M2YxNTU1YzJhNGQwNjJlMjk2MyBsZWdhY3ktdHJ1bmsKKzE4MjQyIGMxMDRmMDBjOTkwOWViMTg2MDVkODc4MzkwMjgzY2E5ODdkMTViZmEgbGVnYWN5LXRydW5rCisxODI0MyBlZWI3YzhhNWI3OWY2NDNjMmRiNzdiNDcwOWRiN2M2OTQzMzUzYWZhIGxlZ2FjeS10cnVuaworMTgyNDQgM2NiMTJlMGU3YWNkMTAyZGMzOGI2Y2Y0ZTViNGFiMzAxN2U0NTg2OCBsZWdhY3ktdHJ1bmsKKzE4MjQ1IDIyZGJjZmZjNTRlZjEwZjg4MDNjZWNhNGNhZGQ1ZDEyNDgwYWEyMjEgbGVnYWN5LXRydW5rCisxODI0NiAxNmMxMmQxNjk4ZjZhZDYwZDFkNjlkMmJkNmM1MTFlMmE0YzhhNjI3IGxlZ2FjeS10cnVuaworMTgyNDcgYjM0NjllYjc4YmM2NjgxMTMzZGEyNWRkZTUwYmE3MzI3MGMyNTZhNSBsZWdhY3ktdHJ1bmsKKzE4MjQ5IGYyOTAxYjZhYzVlZDk0NjhjNTYyYzkwNGYyODMyODFiYzA4MTE2MWUgbGVnYWN5LXRydW5rCisxODI1MCA4N2E1YmFlMWI5NDRhOTk5MzFmN2I1YzFiNzc3MmRiOTZiMGUwZGIxIGxlZ2FjeS10cnVuaworMTgyNTEgZjYyZTNlNzg3MWJlOTIzOTJjYjkzZWQyMTRhNjAyMWZlM2RkMTE5YiBsZWdhY3ktdHJ1bmsKKzE4MjUyIDUxOTJiZmQ3YThiYmQ1OTAxNzkzMjRlMDJkYzY5YjdmZTljZjViYzcgbGVnYWN5LXRydW5rCisxODI1MyBmYWU1YjFlNDE0OTFkNjM2YTk0ZGY1MmFjNGNkZmM4MDc2YjYxMWQxIGxlZ2FjeS10cnVuaworMTgyNTQgODZmMDZjMTUzZGRhNGEzYTM0MzZiNzk3MzIxMDFlMjFmYTk1YTVhNiBsZWdhY3ktdHJ1bmsKKzE4MjU1IDk2YzM5NGE0M2I1YmFmYzY3MWViYjA0MGYzZTkxMjAzZDBkM2VlYjUgbGVnYWN5LXRydW5rCisxODI1NiBkMjY1YmY0YWRhN2M5MjEwZjU2ZGYzZDk1Mjk4MzViNzM1OGMxY2Q5IGxlZ2FjeS10cnVuaworMTgyNTcgYjcxNDU5YWVkYTk1NjhkZTc5Y2EzOGI0NGU5ZWZkNjY3M2FjMzFjMiBsZWdhY3ktdHJ1bmsKKzE4MjU4IDVkNWM1MTMwNGY3YzVhYThjNzA1MDI2OTI0ZGRjYjEzYTY5NTA1ZWYgbGVnYWN5LXRydW5rCisxODI1OSAzYWI3ZmFhZTgwM2FmMjRjM2M2NzBjZTAxOGE2NmViNmMyNzgyMTAyIGxlZ2FjeS10cnVuaworMTgyNjAgYWExZWMyNzBmMmQzOGI4NGUwMmMxN2E5ZTZjNDhiOTk3MmVkYmZjMyBsZWdhY3ktdHJ1bmsKKzE4MjYxIDhmODIzMTZmNjlkNDA1MWZiOTgxYmRlZWY3Nzg5MWI3ODI0OWU3ODYgbGVnYWN5LXRydW5rCisxODI2MiBjNDVjNTA4MGM4NDQ4MTBmMmFkMzFjOTE2ZGUzYThjNTczZDU3MDMyIGxlZ2FjeS10cnVuaworMTgyNjMgZmRlZDVjOWVjYzliYmY0YTBkOGQ0M2ZjYjBlMzhiZDUxMGFlOTM2OSBsZWdhY3ktdHJ1bmsKKzE4MjY0IDViNGFiY2VmZjUzZDRkMzk1YWJjMjFhYjc5NzQ3ZWMxYzJkNGQwOTEgbGVnYWN5LXRydW5rCisxODI2NSA5YTY4OTRmOGUxYTA5NzM1ZDk5M2YyNDI5ODA4ZmY2ZTFkZWJmMzA4IGxlZ2FjeS10cnVuaworMTgyNjYgYWYxZTllNjRlZDlkMjQxODkwZGVhNjQ1ZDczYzBmYzI1MDlkYmU5NiBsZWdhY3ktdHJ1bmsKKzE4MjY3IDc3MTcxMzE4ZTMyMTI4NzI5ODQyZTY3MWFkMjY0OThhZjNhYWVhMDUgbGVnYWN5LXRydW5rCisxODI2OCAzNzUyMjljM2FjMGQ5OWVhY2FjOWJlNDFiOTY3ODRmZjQwZTAxMmJmIGxlZ2FjeS10cnVuaworMTgyNjkgZGRkOTAzZmI2YTcxMDgwMzdjZDQ5ODIzOWQ5MGExZjBiZTBiNzA3ZCBsZWdhY3ktdHJ1bmsKKzE4MjcwIDk5Y2E0MTljYTU4YmJiN2UxM2RlMDlkYjEwZmQxODcxY2YyMzRiMzUgbGVnYWN5LXRydW5rCisxODI3MSBiNjQ4Y2IwZDE5ODhmMTdmNDQ1OTg0YjEwMWFkNTUwNjA2NzFmNWEzIGxlZ2FjeS10cnVuaworMTgyNzIgNTZlOTdlNzI3NTY5YzNhMjYzMTA4N2U3NzM4MWU2ZTI0OTJjZGMxYiBsZWdhY3ktdHJ1bmsKKzE4MjczIDg3NmNmN2IzZDNkZmIxYjViOWYxMjRkNzlhZDYxOWRmOTAwMTMwZTkgbGVnYWN5LXRydW5rCisxODI3NCA0YWU0OTI5YjEyZmZlMWQ4NzMxNmU3ZjgwMjdmMGQ4NWQzY2VhYzhjIGxlZ2FjeS10cnVuaworMTgyNzUgODZmNGUxZWY4MWNhYWMwNTViOGRjNjIwMmEyYTdjNzM5MDVmNDgyMyBsZWdhY3ktdHJ1bmsKKzE4Mjc2IDBmMDBiNmM3YjliOTVlMTM2NGQwYjI2NjFiMTgxZjM0NjhlNGUzYzQgbGVnYWN5LXRydW5rCisxODI3NyBjOGQ0ZTZmMWI1ZmU5NzVjMjc2ZjE5NWZhODE0ZDhiMDZiZjhhZjQ0IGxlZ2FjeS10cnVuaworMTgyNzggNmIyNTI0ZTljNjcyZTgwNWQ2MGQ2NTVlODE2MzA4Y2UyZTllNjM0YyBsZWdhY3ktdHJ1bmsKKzE4Mjc5IDA2NDY1ZWQ4MTgyNjMwNWE4ODdkYWEyMTg2ODlmYWQ1ZGEzNDZkN2MgbGVnYWN5LXRydW5rCisxODI4MCBiZDQxZTYyNzNlZDliMzE0NjY5Yzc4MmEzOTk1YzBmNDM5NWNiYWY1IGxlZ2FjeS10cnVuaworMTgyODEgMjdlNGY1NjAxYWE1ODljMjBkZjc2MjhmZjEyZmE1MmRiY2M2YzI0OSBsZWdhY3ktdHJ1bmsKKzE4MjgyIDQ5MTg1MTdlZDZiNGNiNGYwYjNmYWY4MTQ1OWJiNjZlMDdkMGQ5ODUgbGVnYWN5LXRydW5rCisxODI4MyAzOWFiODI3ZTcyYmQ2ZTc3YmRlM2Q5MzQyYTlmNWJjNThjZWIwZmNjIGxlZ2FjeS10cnVuaworMTgyODQgN2ViZGZlNDI1YzgxZWI2MjM2NzYyYjgzN2QyNDZkZGI1OWFiNjBjMyBsZWdhY3ktdHJ1bmsKKzE4Mjg1IDk3ZWEwYjQ5NDIyZmZmMmE4NGFiOWI5ZjJiODQxZWZkNDUyYjY3MmMgbGVnYWN5LXRydW5rCisxODI4NiBiZTMzMDc5MzYwYzY2OTRhY2QwNTcxNzllZGFhZjExN2M4NzgxZGNiIGxlZ2FjeS10cnVuaworMTgyODcgYTkzNTEwNTE5MjNlMGIwNDUxNWEyMzg5NGJjMDMxY2I4OGI1YTM3YiBsZWdhY3ktdHJ1bmsKKzE4Mjg4IGMwZjFlYmQzMjA3MjM5MDA4MzUwNjFmNTUwMTNjOGIwNGRlZDk5NDIgbGVnYWN5LXRydW5rCisxODI4OSBjODMzZGNkYjNhMTU1NDdhOWJkOTExZjY5MzJlNjNjZDkwMzdhNjY5IGxlZ2FjeS10cnVuaworMTgyOTAgNzhhN2Y4YTY0Zjg1YTc0ODE3YjU5YmFmN2U3ZDEzYjUwNWE0ZTAwZSBsZWdhY3ktdHJ1bmsKKzE4MjkxIGQ1YTU0MjhlOTY1YzRkMjUwYmI0NWMxNDVkODU0MWIzZTdlNTA0NDAgbGVnYWN5LXRydW5rCisxODI5MiA4NDk2OTg1NTBiMzJhNjhiOTVmNWQxMzYzNzlmYWYzYjNmMTdlMzE4IGxlZ2FjeS10cnVuaworMTgyOTMgMjA0OWQ1NzBjYTVhN2IwZTQzY2ExNTU3MWQwNTE3N2E2NDViNGIzOSBsZWdhY3ktdHJ1bmsKKzE4Mjk0IGFjNmZiYTBlY2MyOTAyNDI4OGZiZjdhNjhiODNiNGIxZDI1MGU2YzkgbGVnYWN5LXRydW5rCisxODI5NSA1M2M5ZDE1YWQ5OGVkNjkzNGYxMTE0OGIyNDRhZTJhZTlhODI3ODk5IGxlZ2FjeS10cnVuaworMTgyOTYgZmIxMDkzNzA2MGNjYmMzODhkOGRkNjM3YmNlZTJkZjg1N2Y1Mzc4YyBsZWdhY3ktdHJ1bmsKKzE4Mjk3IDRlODU3N2ZiOTQwN2ZmNmU0ZTQwMzE4OWIzMGQ3NTdmM2E4ZTZjOGQgbGVnYWN5LXRydW5rCisxODI5OCBkNWYwNjk2YzM3ZTgxYmFiMmY5MDdiZjljNGY5YzIwYjc2YWQ3YzhjIGxlZ2FjeS10cnVuaworMTgyOTkgNDMzNDU4NjUxZWI0MDI3OTU0ZmI3MzI1YzAzNjljMGRiN2M0MzlhYSBsZWdhY3ktdHJ1bmsKKzE4MzAwIDMyOGZhYzFjYTIxMGZjYjYwMGIzNWJmYTY0MjU2NjRlM2VjZTJmYWIgbGVnYWN5LXRydW5rCisxODMwMSBlZjQ2NmExOWUzYmM2YTI1NmQwMzQzODA5NGRlNzQxZTViNjU2ZjgwIGxlZ2FjeS10cnVuaworMTgzMDIgNGFjNTU1YTg3NmEyM2Y1MDBmNzY0Zjg2NDE3NTM2NGQ2YTc4ZmFiMiBsZWdhY3ktdHJ1bmsKKzE4MzAzIGI4NTVjODhjNmFmNmE0MTZkMjgxMjUxNWJlNTZjMzc4MDc5MDE5NjcgbGVnYWN5LXRydW5rCisxODMwNCA2OGRlOTE4NWI0MWUyYTMxY2UyM2NhNmUzYjhjYzRiNjQ4ZjJjMDU4IGxlZ2FjeS10cnVuaworMTgzMDUgN2U1MTRmMWZlMzFmY2Q0ZmFmYzYwN2JmMGY4MDFlYzQ2ZGVhMzVjMiBsZWdhY3ktdHJ1bmsKKzE4MzA2IGRjZDJiZWJjMTgwZWY0M2I1ZTBhNjU0ZjkwNmVlZTkzZWU3NTkxNGIgbGVnYWN5LXRydW5rCisxODMwNyBmODEzZWRlMTM0YmY2OGQ0NWM3MmNjMDMwYjA0YTc2MDJhNjgyYjZmIGxlZ2FjeS10cnVuaworMTgzMDggZjgyM2I5YWEwYzAzNjE1MTQ5ODQ2Yjc1Mjk1NmE5NDNjZThkMTkyOCBsZWdhY3ktdHJ1bmsKKzE4MzA5IDMxZjcwY2EwNmM2OGY5NGE3NGY0YTRkNmQ3NzY0ODk1ZDI2NzIxYjAgbGVnYWN5LXRydW5rCisxODMxMCA5YWI3YTU5N2VlZmU5MTQyOWVkZDA4ODdiM2MyMmYzZDg3NzU4NGUyIGxlZ2FjeS10cnVuaworMTgzMTEgYWU0OTAwNmIyZDhmYWE2YThiODA4MDViYTM1Y2I3NDJlMDc3ZDZlNyBsZWdhY3ktdHJ1bmsKKzE4MzEyIGRiNmQ5YmI3ZWM5NDUzYjc3NGI5ODhmNDgxZDQzOTBiOGE5NWU3MzggbGVnYWN5LXRydW5rCisxODMxMyBmMmMxNzZkODQ2YTRhNWI5MGNjMWM3YmIyOTc4NDZiOTQxOWNjZjc4IGxlZ2FjeS10cnVuaworMTgzMTQgNzcyMWZiNTA5NDYyMzFkOWY4NjNlMjNjYzg3NmZlMzg2MTc4OWZmZiBsZWdhY3ktdHJ1bmsKKzE4MzE1IGNlNzc3MzhiODFhY2JmNmJkZmY0OTE4MTVkODNjZGE4Y2Y0MjlmOWIgbGVnYWN5LXRydW5rCisxODMxNiBkMDE0NmQxMjg4OTdlNzM1NDY2MWQ5MTQ4ODI5NjhjMGQ3MWZlMTRhIGxlZ2FjeS10cnVuaworMTgzMTcgNTk3MDg5ZGQyNjA5YTVlYTJlMWVkNTdhNTY1MzljOWYxZjFiMzI5MSBsZWdhY3ktdHJ1bmsKKzE4MzE4IGFmMzk3ZjdkYmJkNWViNTA3NTdlOWU1YjU2Njg4ZjRhNGEzOGFiNGIgbGVnYWN5LXRydW5rCisxODMxOSA1ZDc1OGNmNTExMWQ3ZDhjZjg0MDEwZjE0OTFhNDcyNzc2NmU5YzM2IGxlZ2FjeS10cnVuaworMTgzMjAgYTc5ZDM2MjRmODQ1NGE2ZDQyODIxOGI4Y2U0NGU3ZWUzMjlmZjNhMSBsZWdhY3ktdHJ1bmsKKzE4MzIxIGQzOTdmNjY3NzVlOGJjNDFjYTYzYzU1MDY1MTM2YzY5ODcwOGI4NWIgbGVnYWN5LXRydW5rCisxODMyMiA5Zjc3NWUyNDliYTE4MDg0MTk2YjU2MjE5YTdlNGM1NDU5YmUxNDlmIGxlZ2FjeS10cnVuaworMTgzMjMgYmJlOGE2NGUyMTllNThmNWZiNTI5ODQ5ZDVhMWNlNjAyODhmY2QzOCBsZWdhY3ktdHJ1bmsKKzE4MzI0IGFhYTkxZWQzZmNmZDI5ZDU5NDAzMmQxM2M3OGMyNTE4MTY3NmQ4ODcgbGVnYWN5LXRydW5rCisxODMyNSBjN2YyMjVhZTMxNjA1YjIwMTM1MmY1ZjNlYWIxNWU0OTgwY2JhN2UyIGxlZ2FjeS10cnVuaworMTgzMjYgMGI4NGIzMWFhOTc1MTg5N2ZiNGY4NjU3M2EyYmZhZjdmZTk3YzZkOCBsZWdhY3ktdHJ1bmsKKzE4MzI3IDk3MzFiYmI1MmZiNGFjNDliNmUzZTVjN2I2OWI4NDc0NTE0ZjQzMjIgbGVnYWN5LXRydW5rCisxODMyOCBkNzg2NDM0NWIxYzhhOGM0ZTdhYjkyYjU5MmYwZDNjZGYzMWUwMjg5IGxlZ2FjeS10cnVuaworMTgzMjkgMjE5ODZjYzE0YmIyYTdkMGM0NTcxZTI3NThmYTg0NWVlODIzMDhmOCBsZWdhY3ktdHJ1bmsKKzE4MzMwIGFjMjIwYzMxZGRkN2U5YWIwM2QyMDlhMmJmZmQ3ZWQzOTlhNWNiOTEgbGVnYWN5LXRydW5rCisxODMzMSBlMGQ4YTZmMmQwOTExYjI2ZDZmYTVjNTM0M2NiZTg0Yzk2NGI1ZjNkIGxlZ2FjeS10cnVuaworMTgzMzIgODZjZjY0ODBkMmZhNjNiN2U0ZGEzMmIzMTEzYjQ1ZTQ3NTk5OTE0NSBsZWdhY3ktdHJ1bmsKKzE4MzMzIDQ4ODA0ZGFiNzg4Y2E2ZGE1YzBlZGU1MDllNGJkMmRkZTU2MDZiNDggbGVnYWN5LXRydW5rCisxODMzNCAyZWNlOGZhNTY4MDgwNzhiNzQ1NjZmYTNlNmJlNzI0ZTIxYjBlZjU1IGxlZ2FjeS10cnVuaworMTgzMzUgZWY5MTM5MzM3NTQ3NGZhOWQ2ZDM0OTk0MmMzNmViNzc5ZWY0NDczMSBsZWdhY3ktdHJ1bmsKKzE4MzM2IDY1NWY0YzRiYjk0NDliMWRhNjBkNGRiMWNjY2NlYTMxNGJjZmE1NzMgbGVnYWN5LXRydW5rCisxODMzNyAzYmUxZjVjNTIwYWQ1MjVmMmY1NzY5MDI1YmMwMDRjNjhhNWUxYzVkIGxlZ2FjeS10cnVuaworMTgzMzggYTVjZmY4YzFmNGU0YTQyMTRiOGYzOWNlZjNjMDY4NjczMjA2MmRkZSBsZWdhY3ktdHJ1bmsKKzE4MzM5IDg1NmIyYmMyMTZmOWZiMzgyNmNmMjE1MTRhNTQ2MTRjM2ExNTQ2NDggbGVnYWN5LXRydW5rCisxODM0MCBlOTg5NjRiYzI2ODE0MzIzMTQwY2YxOTRlMzM3ZTJlNDg3MGY0YjBlIGxlZ2FjeS10cnVuaworMTgzNDEgM2MzM2YyYzM1N2QzYjZjNzVmNGMzMDY5ZWUxOWFkMWQwYWE3ZDY1NCBsZWdhY3ktdHJ1bmsKKzE4MzQyIDA3YzJlMTM2MjYwYzNlY2U0MDI2NWQ4NTIwZjIyZTFkOTljY2YxY2EgbGVnYWN5LXRydW5rCisxODM0MyA2ODM4ZTcyZjhkZDI3MDdkYTA4ZTIxMDU5NmVlNmQ5YjhkMGQ0NWY2IGxlZ2FjeS10cnVuaworMTgzNDQgMTA1YzI1MDUyZGU5OGVjNmE0NjQ1NjRkMDZlMWY5YzY0NDc5MjRkOSBsZWdhY3ktdHJ1bmsKKzE4MzQ1IDA3NzA1MTc3Y2E2YmVkOTVhODgyNjY0OWQ1NDk5YzEwNGVlN2Y2M2QgbGVnYWN5LXRydW5rCisxODM0NiAxMDkxYWQ5YTAzMDNjZmM4YTI2YTM5YTM1ZmU0OGZlNDNhMTg2N2Q5IGxlZ2FjeS10cnVuaworMTgzNDcgYjMzOThjNDUyZDk1OTFhMjE0NDUwNDA2MDlhYjNhMzAyN2Q3YTQ3MSBsZWdhY3ktdHJ1bmsKKzE4MzQ4IGYwY2E0YzY3OTU3YjU3YTlmMmNjNWFmMDZiOTVhMGNlYWUxY2IyYjUgbGVnYWN5LXRydW5rCisxODM0OSAyZDFiYmJhYzc2ZDMwN2EwZjk4YmVlY2Y1ZGMzNDAzZTI0OGRlYzU3IGxlZ2FjeS10cnVuaworMTgzNTAgMTBmNmUxOTU2NzFkZmU3ZjdhOGI4ZTlhMDVkMjJlMTg1MmNlZGNhYiBsZWdhY3ktdHJ1bmsKKzE4MzUxIDhhNTk2ZDEwYmM3MDg1M2JiZmJhYTkxY2FkYzJmOTA3MjExY2IzMzcgbGVnYWN5LXRydW5rCisxODM1MiA1OGI0YWU0ZWM1NWM2ZThjZTJiMGJhZjI3OTg3MDJmYWY3YTUxMzJkIGxlZ2FjeS10cnVuaworMTgzNTMgZjY0MDM5MDIzZDY0OTIzYTA5ZmJlNDhiODQ4YzQ0NjlmMTFmNDhkOSBsZWdhY3ktdHJ1bmsKKzE4MzU0IGZkODRiMzUyNDE0NTc2MTM4OWQ2Y2JkOGY5OTY5MGNjYmE3ZmI0OGEgbGVnYWN5LXRydW5rCisxODM1NSA4YjU5NjQ1MWYxYzE4ZjE3NGZkY2ZhOWFlYTNlYmEzOTQ5M2VmNjI2IGxlZ2FjeS10cnVuaworMTgzNTYgMzJjNDQwZDJiMGRmZDZkZDFjNzZkZmM0NzE3OWIyZjRlMGIxZDE1NSBsZWdhY3ktdHJ1bmsKKzE4MzU3IDI2ZDQxNGMwYTA5MjAyZTBiZjA1MWRiN2Q4YzkwOTA0YTBhNjEzYTcgbGVnYWN5LXRydW5rCisxODM1OCBmM2JmNWYwODJhM2Y4YTc5ZmYyMTZiNGZjZmQ1NmRlNmIxNDJiZjE4IGxlZ2FjeS10cnVuaworMTgzNTkgNDYyNzU2MTFjZDU5YmU4ODgyNTNkMjFmMmIzYzllMTQzNjAxZDFhZCBsZWdhY3ktdHJ1bmsKKzE4MzYwIDhiZTg4OWU4MTE1YmNiMDRkNGZjOWFhNTg5YmI1NWUwZjY3ZmYyY2MgbGVnYWN5LXRydW5rCisxODM2MSBkMTM3Yjk0ZjNkZGZkMTZlYmUzNTRmM2VmNDFjYTM0ZDk5YjUzNmYyIGxlZ2FjeS10cnVuaworMTgzNjIgNTVmNGE2ZThiNWIzYTdlNDMxYjkzMjliZjQ5YTY5Yjg1NmJkMGQ0YSBsZWdhY3ktdHJ1bmsKKzE4MzYzIGRhYWRkMWU4NTMxNjU4MTg0Yzg2OGQ3OTM2YTQyMjVmNmZhNjI4ZGUgbGVnYWN5LXRydW5rCisxODM2NCAzOTc0MmM5MWFkZDNlNDdlMTEyOGM0MDkxMzdkOTVmZGQyZTY5MTIxIGxlZ2FjeS10cnVuaworMTgzNjUgNGI2NThjMDU5YzIzZDlkZjljYmNiYzQ4YzcyNjg5MmJjNjA0NWFjZSBsZWdhY3ktdHJ1bmsKKzE4MzY2IDVlOWQwMTI3YWNlOWExY2M2MDFhNzA1NGJjMzE0M2YyZGI4OGRhMGEgbGVnYWN5LXRydW5rCisxODM2NyBhYzgzMGM5ZTlhODM3MmEzMWMxYjc1Zjc4NzE3ZjcwOTkwYmNiODc1IGxlZ2FjeS10cnVuaworMTgzNjggMzQwNThhZjk3NmNlY2VlYWRmMTAzMjQwYmVjMjVlNWM5Y2M3MDY0OCBsZWdhY3ktdHJ1bmsKKzE4MzY5IGVjZGU3NzE0MjhmOWViNDcyZTg2NWU5ZDMwZjI2Y2QxYTFlMTA3ZDUgbGVnYWN5LXRydW5rCisxODM3MCAzMDU0NmEyYjk0NTBlNTg5Yzk4MDk1MTIwM2UyZDYwMjMxYzk2OTkwIGxlZ2FjeS10cnVuaworMTgzNzEgZGI3NTcwMjI1ZWY4NDIxOWE5MDBiZmE3YjE4ZmY0MzY4MTJlMWQyNiBsZWdhY3ktdHJ1bmsKKzE4MzcyIDM0ODBlODNlMTdhYmIxZTg0N2FjMjIxNGFlOWE4ZTY4NWJhZjFjMTEgbGVnYWN5LXRydW5rCisxODM3MyBlMTFjMTIzMjNlYmY1YzUwOTI1MWQ5NjJjMTg0ODA3NDk3NDVkYWE2IGxlZ2FjeS10cnVuaworMTgzNzQgZWZjOTZhYWI3MWMyODkxZDA3ZTEwM2ViM2JkMjE4YTE4NDlmZmU3ZiBsZWdhY3ktdHJ1bmsKKzE4Mzc1IDNlOTRjYzJhMDQ3M2ZmNWY4YmQ3NTg2OWVjMDQ1MzMxOTJmMWRiNDIgbGVnYWN5LXRydW5rCisxODM3NiBkZDU4M2MzM2Y0NTVhY2EzNTNlNDhiODI1YzU0OGZhNjY3MmZkMWIwIGxlZ2FjeS10cnVuaworMTgzNzcgYzEzMzM2NTcyZjRmNDFhMDFiYzM4Y2Y1YzkxOTA4YTFmMDMwZWI3ZiBsZWdhY3ktdHJ1bmsKKzE4Mzc4IDVlNDFlYmRmYTlhMDBlNDNmNTZjOGYzOGNhOTlmMTY0MTk2NDJiNmIgbGVnYWN5LXRydW5rCisxODM3OSBjMGFkNGMyZWY0NDQ2MWZjYTI4NmYzNzI3YjlkMjM4MGUyOGUyMzNlIGxlZ2FjeS10cnVuaworMTgzODAgZWQyOWRmN2ViNWM5NjE4NmU3ZDIwMDI3OTFjYWZjZTViOWQ3Y2JjNyBsZWdhY3ktdHJ1bmsKKzE4MzgxIDg4NTRkOWQ1YWRkNWY0NjIxZTJmZTcxOTVmMzdjYzExZjRmNWYwOWYgbGVnYWN5LXRydW5rCisxODM4MiAwNzBlZTMxY2FmMjhiNzBlYzA1MTIyYjFmMjE0NmEzYzA2YjNmYWFlIGxlZ2FjeS10cnVuaworMTgzODMgYWFhNTQ3NTJlNGJhZDAzOTYwNWFjYzgzOWRmMDlmZTk2M2RlNjI3OSBsZWdhY3ktdHJ1bmsKKzE4Mzg0IDEwMjIxYTZjN2MzYzVmNmNlY2FmZjNiMzA4MmE1MTVhYzlhZGQ4YzUgbGVnYWN5LXRydW5rCisxODM4NSBjZjE3NTBjM2Y3ZjdmOThkMDhlZGYwMDBmYWZjNGIwZjc5NTcwNjIzIGxlZ2FjeS10cnVuaworMTgzODYgMzJjNTVmNTc0NmRlZDIwYTIzNTNmNzQ4ZTI5M2Q4MmNlOTc4YWRhZCBsZWdhY3ktdHJ1bmsKKzE4Mzg3IDhkOWZmZmVkMzRmNDA2NGJkYzkwZDJhN2Y1Y2E4MzNlNTY1YjQ2YTcgbGVnYWN5LXRydW5rCisxODM4OCAwNDFkNTdlM2EyYjkwNGJlNWE4ZmZmMGNjNmYyOThmNTA3YTExMWE1IGxlZ2FjeS10cnVuaworMTgzODkgNWZlMmVjNTA0ODM2YzEwZjIwOTk5NDY4ZjY1Njk1MDk1M2VlOGFiYyBsZWdhY3ktdHJ1bmsKKzE4MzkwIGE5M2Q3OWRhNGY4YzVkYmNmM2Y4NGJkYzQwNzA3NjY1NGU5ZDUyNDcgbGVnYWN5LXRydW5rCisxODM5MSA3OWZjZDJiMzE4MDhiZGU2Y2RhMTQ3ODYzMTVlYjYyYWM5ZjUzNTk1IGxlZ2FjeS10cnVuaworMTgzOTIgYWQxNGRkYmQwOWE3MjVlZjZiNDNlZWExNDNiYzcyODFjNjA1N2QwMCBsZWdhY3ktdHJ1bmsKKzE4MzkzIDI5ZjQyNjk0NDAyYjgwY2Q5NDM3NWIwMjhjMjEwNTZkYWNjOWQyNjcgbGVnYWN5LXRydW5rCisxODM5NCA1ZDk4ZDQ5NzEzZjIxYTFjNjkzZGNiMzE0MTgxNDcyNDI4MmIwMWI1IGxlZ2FjeS10cnVuaworMTgzOTUgMGNiNzUxYjU2MzkxNmMzMGU4ZTdhNmViMzU1NWViNWY2Y2EwMDdmZCBsZWdhY3ktdHJ1bmsKKzE4Mzk2IDdlZTM5ZTE0Y2YyYjBmODJjNGJlODVhZTA5ZWIyYzQ3ZmVkMzA2OTIgbGVnYWN5LXRydW5rCisxODM5NyBjNTlmNjQ1ZGFlZGVkMGRkYTRlOGIwMTEyNTllNjA1YzQ2ZmYwNzVhIGxlZ2FjeS10cnVuaworMTgzOTggNTAzNThkNjRkYzQzN2I3ZTVhYjM5MTVjMmRiODJhYTQ0ZTY2Njg5MSBsZWdhY3ktdHJ1bmsKKzE4Mzk5IDNiMDRkMzQyNWZmMGYzMTA4OTRjZTcyNTU4NzIzMjRjYmZkM2Q5MmUgbGVnYWN5LXRydW5rCisxODQwMCA1YWFjNTg3M2FhYWU3ZDA0ZGY3Y2QzOWUyNzZkNmIwZWM4N2Y4OWJmIGxlZ2FjeS10cnVuaworMTg0MDEgOWQ0MzEyOWM4YzU1ZjMzN2E5YmY1OTU2YjE3YjYyNjQ5MTU5MTliOCBsZWdhY3ktdHJ1bmsKKzE4NDAyIDU4YmM5OWUwMTJhODVmYTk5NzcxNWI4ZGZkNjA2ZmRhMDA4NzY1MjEgbGVnYWN5LXRydW5rCisxODQwMyA2MzU5NDgwMTA2ZWNmYTk5YWQ2MTljNGViZDcyYmNhZTAwYzU0NGZkIGxlZ2FjeS10cnVuaworMTg0MDQgNzg1MTU1ZTJjZmNhMjk0OWYwZDc3ZmI2MDYwZTVmODk0NDk4OThiZCBsZWdhY3ktdHJ1bmsKKzE4NDA1IGNiZDRmMzU1YmI5NmY3OThjMzBjMWZlYjdmMzAyNTNmODY3ODY4ZDQgbGVnYWN5LXRydW5rCisxODQwNiBkNjk2MTFjY2U4Nzc2ODNiY2M1OTdkMmUyNTZkZGUyNmJjZDM1Y2U0IGxlZ2FjeS10cnVuaworMTg0MDcgYmI5M2IxZGNhNTcxOThkMTlhZDM4NDI4ZDc1Y2ViNTQ4NGRhN2MyYSBsZWdhY3ktdHJ1bmsKKzE4NDA4IGFmN2M2MjNkOGQzM2JkN2E5MDAzYzEzNWIxMjk5MWU2YmJiODE5M2IgbGVnYWN5LXRydW5rCisxODQwOSBmM2IwNjgyZDI2ZDYwMTFhMzdmNWIxNzcyZmRiYzJjNGNkNjAyNDBkIGxlZ2FjeS10cnVuaworMTg0MTAgMmZkYmNkZWUyZTFmMmVkNjhhNWU5YTZlZGJjNjE5MDVkOTMzYjEzNSBsZWdhY3ktdHJ1bmsKKzE4NDExIDg0NTY0NmIwOWJmODI0NTgyYjg3MWQwOTI3ZmY5NzIwYTRiMmU1MTQgbGVnYWN5LXRydW5rCisxODQxMiBmOWIxODRhNTcyMjM5NTAxNzliMWM2Y2YxMDNkZGMzMjdmMmRiOGMwIGxlZ2FjeS10cnVuaworMTg0MTMgNGQ5YzMxZjMyYzA5YzI0YmZlMjQ0MGNhNjljYTZjZTAwNDMxN2QyNCBsZWdhY3ktdHJ1bmsKKzE4NDE0IDU3NDM5MzM2YzJlMGVlOTZlZjU5MjIwMTJmN2NiMmVmMTU4N2ZhNjYgbGVnYWN5LXRydW5rCisxODQxNSA0MzU0NmM1YWVlY2NlYTdlZDk5OTA4OWM5OWNkNjAwN2RjODgxNzViIGxlZ2FjeS10cnVuaworMTg0MTYgZjcyMzQ1YjQzNjYyMDFjZmU1NjU0ZTFmZDExZTNkNjk0Y2YzMWMyNSBsZWdhY3ktdHJ1bmsKKzE4NDE3IGQzZjZmMzE1NWMyNDA0YmQxYzkxZDY3YTAyY2E0MTdlNDU5YjlkNTAgbGVnYWN5LXRydW5rCisxODQxOCBiMTc1NDAwZThiMjJhZmQzM2M5NDdiMzFmODRhMzFhMzQzYWJhNzgzIGxlZ2FjeS10cnVuaworMTg0MTkgYzgxYmVkMDE2OGEwOTQ5Y2IxOWNhMjQ0OWRhNmZlOGJhYjYxNWZiMSBsZWdhY3ktdHJ1bmsKKzE4NDIwIGQwOGY4Y2ViM2Q1NTZlM2VlNDVmNDYxY2ViZTFiNzFlZDU5MzhhZGYgbGVnYWN5LXRydW5rCisxODQyMSAxNDM2NDZiYWZkMWJlODkwZjZkZmVmYjE1N2IzY2VhZmVmMGMzOTVkIGxlZ2FjeS10cnVuaworMTg0MjIgOTQ1M2Y2ZmFjZWZhNDVlMTc2OWQzNjE5ZDU1ZWE4MjMxNmUwYzgwOCBsZWdhY3ktdHJ1bmsKKzE4NDIzIDc0ZWU2NjE1ODFiNmQ0N2U4NmU1NDRkMmJhNzViMzliN2I0ODAzNDQgbGVnYWN5LXRydW5rCisxODQyNCAzNWU4YTI5ZTU0ODg0ZTAzYmE1MmVmYTQ2NDFmYzgxZjU5YWE5NzJkIGxlZ2FjeS10cnVuaworMTg0MjUgYzEwNDI2ZGE3YmNlMjQyMGQ1OTMwN2Q1Y2E0NzgxZTg2NDQ5YWFjNCBsZWdhY3ktdHJ1bmsKKzE4NDI2IDRjMjAzNzllNjYzZDQ1ODJiZjBhNDIxNmJhZjQ1ODgwMGYyNTU3YzMgbGVnYWN5LXRydW5rCisxODQyNyA5OTQyMmQ2MTBkYjNhZTk2ZjMxMjhiODA0ZGVhYzgyYmU2ZmVhMTlmIGxlZ2FjeS10cnVuaworMTg0MjggZDM4NTE2Y2U2ZjE0MTlkN2UyOTM4NzA4NDQzMjU2YzFkZGY5MWRmNSBsZWdhY3ktdHJ1bmsKKzE4NDI5IGIzNDIwYjAwMmQ1NWNmNzE5MGE0N2EzYzJjY2IzY2UwMWM4ZDY1NWUgbGVnYWN5LXRydW5rCisxODQzMCA1NmFkYzY4ZTA2ZjY5MTNkYzk0NzM5YzU0OTRkZjMyODNjYzQ1NzFjIGxlZ2FjeS10cnVuaworMTg0MzEgZDQxMGY2YWQzYzYwMThlZWEzMTQxMDdhZjFiNjNhOTg1M2E1OTc4NiBsZWdhY3ktdHJ1bmsKKzE4NDMyIDAyN2VlOWE4NzBkMmMyMzNjOGZkMTU1NmU1YTg2MzkyMzcxOTlmZTggbGVnYWN5LXRydW5rCisxODQzMyAyMTc1ZTU2N2JkMDYyOTBkYmJhNzI4MGIyODA4MDk2NDc5NjVhNjMwIGxlZ2FjeS10cnVuaworMTg0MzQgMjQwNzRmOTcyMzVjNDlkM2IzOTNkN2FkMWU2ZmEyNGEwOTY2MGI5MSBsZWdhY3ktdHJ1bmsKKzE4NDM1IDRhOWYxNTUyYmE2OGUwYmYwMzk4NzAzOTY2NTc4NTAzMTcwYzAxYTUgbGVnYWN5LXRydW5rCisxODQzNiAwM2MzMmZhYTFhNDliNGM3YzU0NDJjMmEwN2UyYzBiZTg2MjFmMjYwIGxlZ2FjeS10cnVuaworMTg0MzcgNThmZTkzN2Y3MzRhNDg3OGFmNDQ5YjlhNTk5ZmI5ZmY4ZDQ2ZTViMyBsZWdhY3ktdHJ1bmsKKzE4NDM4IDk2YzNhZTEzZGRjYTgxOGIyMTNjYzE0NmQzZDE3ZDNlNjQxYTkxNjMgbGVnYWN5LXRydW5rCisxODQzOSBlMDc2NWM1NTEyZDcxOTg5N2QwNWFhNGE0M2IyZTQ3NWYxZjVmNjY3IGxlZ2FjeS10cnVuaworMTg0NDAgMzFkNzhmMzYxNTMwY2YwODczZTkzNDE2ZTYyMGFkMDA5NDJjMjIxNSBsZWdhY3ktdHJ1bmsKKzE4NDQxIDY2ODE2NmE1MGM3MDcxYjY1NzYyOTE1ZDUwMzQxY2ZlNDRlYTI3N2QgbGVnYWN5LXRydW5rCisxODQ0MiBhZmI0NWI3ZmEyNTI4Y2VhOTA0NzIyYjZkNjUyZGVjZWFlZTQwZDNjIGxlZ2FjeS10cnVuaworMTg0NDMgNjE3OWQ0YWZhNGU0ZTVjZmYzYzI1NjJhYjY4MGZmMzUyNzhlMmFkZSBsZWdhY3ktdHJ1bmsKKzE4NDQ0IGI4ZjViNzI2N2YxNDk3YzQ1NjM4YTFlMmE4MWViOTUzNWFiMTY3NDcgbGVnYWN5LXRydW5rCisxODQ0NSA2N2MyNGM3NGYxOGNjNDM0NGM0MTRiMjJhNzIzOGMxNzUzMjExYWNiIGxlZ2FjeS10cnVuaworMTg0NDYgYjJhOWJjOTE2NjhhN2YyNDBmNDkzYTg2NjFlZDgyMDQ4NjVhYTM0YiBsZWdhY3ktdHJ1bmsKKzE4NDQ3IGZmODQxMTJkYWJjODk1MjM2MDU4MjJmMGU3YWM1MDY2OTgyNDQ3ODEgbGVnYWN5LXRydW5rCisxODQ0OCBlYmNlOWIyNjdiYjhlYTYxOTJkMTk5ZjFhNjgzYzgzOTExZWRlNGViIGxlZ2FjeS10cnVuaworMTg0NDkgY2U5MjIzMDI4MTY0OGNmZDVjMDVhYzI2MTk3N2Y2Mjk1YjQzYzQwNCBsZWdhY3ktdHJ1bmsKKzE4NDUwIDg1N2E1NDAwYmU4N2VhZGFjZTg3MGZhMzgzMjU4OGViMGY2N2ZlY2UgbGVnYWN5LXRydW5rCisxODQ1MSAxZTc1NmY5M2JmNWRhMWU5N2QzOGYyM2QyYmE2N2JjYWU4NmNkNzY1IGxlZ2FjeS10cnVuaworMTg0NTIgMzYyODY2MzJmZjNhOTNjZjIzZjkyYmRhZDlkOGZhY2IzZjAzMGFhOCBsZWdhY3ktdHJ1bmsKKzE4NDUzIDUyNzU2ZjYxM2MxODJhOGIzMDE0NjU2YTE1ODc5Njk5YTBhNzg2MWIgbGVnYWN5LXRydW5rCisxODQ1NCA5Njk0OTA5ZGJiMGE3OTg4NmM1MjBlZjI4NzE4YzA0OWJjMjZhMjU4IGxlZ2FjeS10cnVuaworMTg0NTUgMTc3OWY4NTc0YTgzYTBmNDdjYjZlNDI2ZWU0MmY2OWUwODFjZjczOSBsZWdhY3ktdHJ1bmsKKzE4NDU2IDBmNDJmNjY2OWU4MDJjMmVmMjQ2YzlkMGM2YWY1Y2NlYTFmNDY0ZWUgbGVnYWN5LXRydW5rCisxODQ1NyA1OWE0NWZhOTUzMThmZWVmNzc5MDg1ZWMxMzhmYTc1MTJjODgwMDEzIGxlZ2FjeS10cnVuaworMTg0NTggM2ZlNTllZDExYWYxMGU1NDEyODZmNmJiOTQyZTBiNzJkMWUxMjU1YSBsZWdhY3ktdHJ1bmsKKzE4NDU5IDE0OGI4YzFiNzEzYTlkYTlhMDhiMDE1Y2Q1ZDQ0Njk4NDdlNzdiODYgbGVnYWN5LXRydW5rCisxODQ2MCBkNWM5ZGQyNGQ5NzdiOGM3MDQ1MmIyOWVlYzUzYWVmNDhlOGRlYjllIGxlZ2FjeS10cnVuaworMTg0NjEgNjYzMGNjYTI5OGNjMGViOWZjZGE3MmE1MDg3YzAzYTgyNGMxMDNiZCBsZWdhY3ktdHJ1bmsKKzE4NDYyIDUzNDIzZWMwYTcyODg0YjA1N2Y0NjEyNGVjZWRlOWMyMDM3ODVmNzYgbGVnYWN5LXRydW5rCisxODQ2MyBlMjNkNWIyZTIyOGM0MmMyMzhiNjM0MzJkMTUyNDcyMmM4ZGFlMjczIGxlZ2FjeS10cnVuaworMTg0NjQgOTg3Yzc0Yzg4NDI4OTdkNmY4MzY2ODllMmI3YTFkODYxYmExNGM3OSBsZWdhY3ktdHJ1bmsKKzE4NDY1IDE1ZTFlYjEwMTliOGEzN2FmNDg4YWNmMzZkZWJmZmI3YmNmNWIxNDcgbGVnYWN5LXRydW5rCisxODQ2NiBlMWYyZTNlYzc2ZDRmZTZhZmJmNDZmYzdkMDJmZmE5NGY1ZjljYjZjIGxlZ2FjeS10cnVuaworMTg0NjcgZjk5YmI2YTkyZTg0Zjc4MWE2N2ViZmNlNjUxMjg3OTQ0ZTgyNmI5MSBsZWdhY3ktdHJ1bmsKKzE4NDY4IDU5YmZiYmU1ODFjMmQwYmE5ZTc2Yzg0YTcxYmI1YmRiMzQ3Y2Q5ODggbGVnYWN5LXRydW5rCisxODQ2OSBmZjA3Njc3NTNkODEzZGMwODBiNDBjYzE2MGFkYWFiNTVmZmMyZTA0IGxlZ2FjeS10cnVuaworMTg0NzAgMDkwNmM4ZTJjOTYxYzNiMDNmMWIzYWFmM2Y4MGM1MzdmMjQ1YmQ0OCBsZWdhY3ktdHJ1bmsKKzE4NDcxIGVkMzE1YjU1ZjE5ZTYyZmFmMzhjZGQwMzc0YjdlZmMzM2EwNDc1NTYgbGVnYWN5LXRydW5rCisxODQ3MiAyZmU3NDI3NTkxZWE5NjdmYzg3YjBkOTFkYzI2OTk5MWM2ZDEwYjI4IGxlZ2FjeS10cnVuaworMTg0NzMgZTU3ZjkzYWU0ZmU5ZjY4NTJjMmNlOWJhOTcwOGUxMTdlNDFiYzUzZSBsZWdhY3ktdHJ1bmsKKzE4NDc0IDM1NzQ5YTU1N2YxZTVkNmQwYmE1YTdmOWIzZWZjNTAyZjEzYmNkOTYgbGVnYWN5LXRydW5rCisxODQ3NSA3YmI3YjcyZmE2NjY2YzE1MmYwNDJhNWExMmVkYmYxNmEzODY0YjY5IGxlZ2FjeS10cnVuaworMTg0NzYgMDc4OWRkMDYyZDZjMDgzM2QwMWZiYjRmZjFiNDIzMjU2Yzg1M2U4NCBsZWdhY3ktdHJ1bmsKKzE4NDc3IGUxMmI2NTBmMGZhY2U2ZDFmODdmZGU5Y2VlOTFhZmY1NDkyMmMwMzEgbGVnYWN5LXRydW5rCisxODQ3OCAwNTJlMzcyY2UxNTFjODQ3NzdmM2ZkZDlhMjhiMGIyMTJmNGU1ZjAwIGxlZ2FjeS10cnVuaworMTg0NzkgZDNlODZmZjg5M2IxMDU2ZDdlMDY1MTdkMWU5ZDg2YTU4NDZiY2M1OSBsZWdhY3ktdHJ1bmsKKzE4NDgwIDUwZDliNTkwNjI3ZDY0ZTM2ZDI5YTA1ODNiYjc0ZDczZTg5ZTUxZWEgbGVnYWN5LXRydW5rCisxODQ4MSAzMGVjODczMzM4YWQxNTY0NGZkZTdmYWVlMjQ2NjFkMGM5ZWE3ZDRiIGxlZ2FjeS10cnVuaworMTg0ODIgODI2MmJmYTUxNGMyYzAwMjkzZTczNmQyNmY1YmE4YzY3NjY2MTM0ZSBsZWdhY3ktdHJ1bmsKKzE4NDgzIGY1OTQ5Mzk3YzhhNTg4ZmY2ZWQwMWQzODBlYTQ2OWRlMTQ1Y2I2MGQgbGVnYWN5LXRydW5rCisxODQ4NCBkYjY5YzA5MmM5MDZkMzk3OTM0YjMwMjNkNjc4MjliODkzMTFjN2U5IGxlZ2FjeS10cnVuaworMTg0ODUgNTBkZTNiMTk4YTYyMDViMDU3MDBjYzJhM2I4MDdlYmRmYWVkYjMzNyBsZWdhY3ktdHJ1bmsKKzE4NDg2IDM4ZjA5ZmIxOGI4MDIwYzc3YTJjNmM5ZDY4YTlmNGRmZjNlYzZjYWMgbGVnYWN5LXRydW5rCisxODQ4NyA1MzgwOTcxOTk3ODM5ODZkMzRiNzVlYWU2ODBjY2Q1ZDNlZjY3MmViIGxlZ2FjeS10cnVuaworMTg0ODggN2UyYmI5OTRjMmQzYWM2ZTU2MzAyZTEyYjhkMzQ4NjQyM2NjZjZiNSBsZWdhY3ktdHJ1bmsKKzE4NDg5IDdmMjJlMzRjZTQwZTNlYWEyY2I5MmVjNTZjZDdmYThkNzg5ZTQyY2MgbGVnYWN5LXRydW5rCisxODQ5MCA1MGJiZWVkYmNlNGE2ODNiYTMwNjNmODNiYjIwMmQ4MjM0MTc4NmZjIGxlZ2FjeS10cnVuaworMTg0OTEgZGI3ZWU1YzYwYWYwYjg3ZDIzMDZjMDIwODY0OWM3NjYxMDhkNjc1MCBsZWdhY3ktdHJ1bmsKKzE4NDkyIDU1MmRiOGQ4M2FjZDg5NmQyMWQ2M2JhZTZkZjBiOWQ2N2QyNTIwZDMgbGVnYWN5LXRydW5rCisxODQ5MyAxOTc1NmI5MTgwNDE2NjI2Zjk1NDhlNzgyYTEzNmVjNjdmZTExYWE5IGxlZ2FjeS10cnVuaworMTg0OTQgMmE2MTJhZTI1MDk1OTJhMmMzODA5OGMzNGFhNTZiMWY3MTFlZWE1YSBsZWdhY3ktdHJ1bmsKKzE4NDk1IDQ0NmYzZjkzOWRmMDM5NzY2NTdlMTkxY2IzYzJiOTAyNmRmMDBiNDYgbGVnYWN5LXRydW5rCisxODQ5NiA4Mzg1NTE4Njk3OTA0ZDg5M2I3MDJjNDA1ZGU0MjQ5YzkyOWQ2ZmFhIGxlZ2FjeS10cnVuaworMTg0OTcgMmQ2ZTc2ODlkYzQyMDU3OTUyYmM2MmYyNzQ1ZGVjNWFhYzc2NjkzYyBsZWdhY3ktdHJ1bmsKKzE4NDk4IDdmYjdjNTFhMmU2MTYyMDA3YzNlYjNjNWFkNzVjMWI5M2FhNGQyZDcgbGVnYWN5LXRydW5rCisxODQ5OSA3NjM5YTk1NTI0NzllMzA5M2RhY2E4MmQzNzBlYzBhZTExNjU2YjhiIGxlZ2FjeS10cnVuaworMTg1MDAgN2ZiNTA5OWJlMjAyNjliYzUwYjcyM2I1NzNhMGI4ZDhiOTAzYWFkYSBsZWdhY3ktdHJ1bmsKKzE4NTAxIGM0YmVjN2M0ZDZmZjY0MTM4ZGNlMmEyYzgwZGY2NGMyYjhlODc0MjggbGVnYWN5LXRydW5rCisxODUwMiBmMGNkYTBkNGI1M2MyMDgyNmE4ZTU4M2FhMDMwMTc1NDc1N2U3MzZhIGxlZ2FjeS10cnVuaworMTg1MDMgMTljOGEyZDM4MDdkNThkYTA0MGVhYTdkM2NlNmYzODhjMWY4NDdhMSBsZWdhY3ktdHJ1bmsKKzE4NTA0IDYzYjgwYjc3ZjViMmRiMzA5Zjk4NzJhNmVhYTUxMTAyNmZjODJkNjQgbGVnYWN5LXRydW5rCisxODUwNSA4Y2ZlMjZlZDcyOGQ5NDJkMGQ1MmYxYTQ1NjMxZGNiY2VkNTBkOWIyIGxlZ2FjeS10cnVuaworMTg1MDYgYzEzZjVhMjBlYTMxMjMzOGExZmQ2OWIzNGRkZTFhNWNlMjhjMTE0NiBsZWdhY3ktdHJ1bmsKKzE4NTA3IDViMTU4ZmMwZWQ1NTVhMWFiMWU4NDI0NTE5MzIzMWEwMTkwMWU2NzIgbGVnYWN5LXRydW5rCisxODUwOCBlOWY0Yjc2Njk5YWEyMzEwZGNmMTk2NWMxMzM4Nzk3ODU1OGMxNzA0IGxlZ2FjeS10cnVuaworMTg1MDkgMWE0YTVhOTM2ZjUwOGNlNWM1NDdmYTAwODQ0NzE4OTA4MjIyYTdhYSBsZWdhY3ktdHJ1bmsKKzE4NTEwIDU2Yzc0NDgzYjA1MGNjMjE2NzBlZjU3NDkzZTBlNDE5MzUyMzE0MTkgbGVnYWN5LXRydW5rCisxODUxMSAyZjE3OGJkZGRjMTYzN2QxYjE1YzI4YmJjZmI5MWE3Njc2NDg2NWEzIGxlZ2FjeS10cnVuaworMTg1MTIgOTI3YmNjMzE1ZTU2ZTgzMDFmMmM1NWU3YjFjZmE0NzU5NjdmOWRhOSBsZWdhY3ktdHJ1bmsKKzE4NTEzIDNlMjU0ZjU2ZWVmMWNkNWM0ZjI3NjVmNDIxOWY4OWRkNDRjMTU1NjkgbGVnYWN5LXRydW5rCisxODUxNCA4MmJlYzM4OGM2MzYyOWFhYzViODQwYThhODFkNDY1NGU4ZjI5ODkxIGxlZ2FjeS10cnVuaworMTg1MTUgNjQwNWYzMGFhMDhjMmNjNTEwOGVjYTZlMzNmN2UzOTM5NGE4MzVhNiBsZWdhY3ktdHJ1bmsKKzE4NTE2IDgzZDU5OTY1MmI2MjJiNTM5YWFiZWRjOGEwZGY4MjA3NTMxMTYyOTkgbGVnYWN5LXRydW5rCisxODUxNyAxNzNkNzBlNzJjOWY2NWFlOGE1YTk2ZDJlZThhNDE3NDExZGI4YzU5IGxlZ2FjeS10cnVuaworMTg1MTggMDI2YTkyMTA1MTQ1MjhjNGRiZWZkZWU3ZTlhNmMyMzViNzcwMmY4ZiBsZWdhY3ktdHJ1bmsKKzE4NTE5IDU2Y2UzOGU1NzUwMjZiYjNjMmIwNjk2NzQ3OTQyOWVkNjZhNDUxM2EgbGVnYWN5LXRydW5rCisxODUyMCA2NTg1ZDNjMDRhMjlkODU2OWFkNjRkNjhiYTBhZjUxY2RmMmQ5Mjc3IGxlZ2FjeS10cnVuaworMTg1MjEgZWFmNWE3OGJkMjgyNzExOGEyNjE2NmIzMDkwM2I0ZDY0YTgxMmQwNyBsZWdhY3ktdHJ1bmsKKzE4NTIyIGFmYWQ2NTk3NWE4MmU1YzQ5OWFjZTMxMDcyMTgzMjEzOGNjMmI3YjcgbGVnYWN5LXRydW5rCisxODUyMyA1ZjNlZTVmMWIzZDc5N2Y5ZWRmNDhjYmUyYjdiYjczNzczNjY3ODQyIGxlZ2FjeS10cnVuaworMTg1MjQgMWU0MTcxNzE3ZTc3Y2NmMTgxZmM2YzFkM2I3MDg5MmU5ZDg0M2FjYyBsZWdhY3ktdHJ1bmsKKzE4NTI1IDE4M2QwYmQyZmQ2NmRjMmVjNTRhMDg2NzZmNDIwZTUyZjg0MTZlNWQgbGVnYWN5LXRydW5rCisxODUyNiAxNjkwNzU1YzU5ODZiYWJkMzQ0MDU1ZjZhOGZkZGM4NmNiNWZlYWU2IGxlZ2FjeS10cnVuaworMTg1MjcgOTBlYTFlM2VlZWIxNGQzNDNkZDkxYTRiMDAxZGIxZWZkMWVhNmQ3MCBsZWdhY3ktdHJ1bmsKKzE4NTI4IDNkNTViZjY1Njk5YWRkYzQ2YTBmZTgyNjEyOTA1YWE1MjgwNzc0NTkgbGVnYWN5LXRydW5rCisxODUyOSA4YjRjYTVkYTdkYzI2NWQ4NzZjYjMxMjM3MTk5ZWE2NzE5NWJhNmZiIGxlZ2FjeS10cnVuaworMTg1MzAgNWM2NWU2NzZmMjk5NmM1MGYwODY0YjRmMDQ4MzgyZmE5OGJmOTk1NCBsZWdhY3ktdHJ1bmsKKzE4NTMxIDUxYjU4OTgwNDA1MTRmODNiZTc0YTczNDMzNzcxNGI5MTAzZmU5OGMgbGVnYWN5LXRydW5rCisxODUzMiBjM2M4YmZhZDA3Y2EzMmMzMjljOGMyZTkzZDZlYzYyYTZmNTQ3ZWNlIGxlZ2FjeS10cnVuaworMTg1MzMgMjc3YTdhMTVlYjk0YjA1MzYxNTJjNTVlYWVkMGM4MjZlN2E2NzEwYyBsZWdhY3ktdHJ1bmsKKzE4NTM0IDY3YjNhYzQzOWY2NDAyMjgwZjk1N2MzMTA5MTVhMzVmMmRlODRjNGQgbGVnYWN5LXRydW5rCisxODUzNSA3NWMzYTY0ODQ3YzQ5YWYyMDc2NTMyZjViZjUzZjEwZDA0NDgzMWIyIGxlZ2FjeS10cnVuaworMTg1MzYgOTNhNTc1YmJhMDlmNmY4NTY4OGE3YjZlYjY3Y2U5OWFiNTQ4YThlZCBsZWdhY3ktdHJ1bmsKKzE4NTM3IDNmMmZmMzhjYzY1NzRlZDk5YzEyMTgwZGFlYWVlZTRlZDllNTAzMTUgbGVnYWN5LXRydW5rCisxODUzOCAyOWEyYTExNGU5YzkzMzJjNjhkMGI0MDE0MTkwZTdkNjY2NjUxYWZkIGxlZ2FjeS10cnVuaworMTg1MzkgMDFhNGRjMzFiNTc5YjI0ZDFiNjY3ZTQ1MjRiMGUwNWQ5YTczYjYyOSBsZWdhY3ktdHJ1bmsKKzE4NTQwIDljNzFhZGQ3ZTE2MDgxOGFlY2NhMjdjYzFiMmFhOTM2ZmQ5ZDA4ZTcgbGVnYWN5LXRydW5rCisxODU0MSBlYTQ4MzJkZWVhYzU5ZjE3YTBiNzUzZTA2NWRjNDg3MWRhMmFlMGUyIGxlZ2FjeS10cnVuaworMTg1NDIgM2NhNzAyY2FhNjFhZWFjYzY5OTVkMGNiZmRhOGE4NjJhNGVlMTBmNSBsZWdhY3ktdHJ1bmsKKzE4NTQzIGE1MTlmMjA3ZWQzNjg3MjNkYzIwOTZjZGI4YjRkMDhhMTY0NjRlZjAgbGVnYWN5LXRydW5rCisxODU0NCAxMDYxMmNiYjQ2MjNhZGVmYjk2Y2Y2OWRlOTgyYmYwYTE3YTU0NjBlIGxlZ2FjeS10cnVuaworMTg1NDUgZWNkYWNmNTE3NTk0NTI1ZGFhNWI4ZThjMjQ0NTE0ZTMwOTMyOGEwMyBsZWdhY3ktdHJ1bmsKKzE4NTQ2IGQ2Zjg2NjE5ZGJjNzM0ZmFlM2MzZGU0NzVlNWE5ZjExMDJjNWM4ZGIgbGVnYWN5LXRydW5rCisxODU0NyA5ODZkMWMzY2NkZGU5MWExNDE2YzkzNWU4OGVlNTNkMjllYjFjMDFmIGxlZ2FjeS10cnVuaworMTg1NDggZThmNWU2MWE4Yjk0MzVhODM2NTk1MTFjYTE0YWEwMTZhYmQ5MmU0ZCBsZWdhY3ktdHJ1bmsKKzE4NTQ5IDg0Y2RjODlhYzU2MWY5ODJhYjdiOThhM2Q0NmQ1NjVhNjBhNzRmOWUgcmVsZWFzZTIwLW1haW50CisxODU1MCAxNzVhM2IxNzIwNjg4MGEyOGQ3ZjQxNmZjMTEwYzhlYTI5ODA1NDljIHJlbGVhc2UyMC1tYWludAorMTg1NTEgNTU2YTRlNTNjMjY5NzczMzkxODgxYzYxNWRmYTE3YTEwZDNlZDI4YSByZWxlYXNlMjAtbWFpbnQKKzE4NTUyIGU2MDU2MjQwMDBiZjE5MTA1MDY5YjA3YTBjNjhiMjQ2YWZiNjdhNTMgbGVnYWN5LXRydW5rCisxODU1MyBmNDE3MDUzMDRhZjQ0MmYzMmNlOTA2ZGQyZjRkODk5MTE0NmNmMDlhIGxlZ2FjeS10cnVuaworMTg1NTQgMjgwYTc4ZWQwMDM1NTI4MDhkYzQ0Y2JiZjdjNTc2MjY2YWUxOWQ0YSBsZWdhY3ktdHJ1bmsKKzE4NTU1IDZmMTQ1M2JiZDU2OTAyZWI0ZmE3NTE3MTEwMTA3MGYxYjQwZjllZjYgbGVnYWN5LXRydW5rCisxODU1NiAxMzk2ODRhOTAwNDFhMGVjYzg5MDc2YTc2NWE0YmY2MWNkNTkzZTUyIGxlZ2FjeS10cnVuaworMTg1NTcgNTdhNDg1NzQzMGZmNWQyNTc3MWQ1Y2YyNDMyNTM3ZjFlNDgzYjk5YyBsZWdhY3ktdHJ1bmsKKzE4NTU4IDM2ZjdjMDljMmQ3ZjI0M2U2YzNhNmY1Y2Y3N2ZjMDk3ZmU1YTAyN2IgbGVnYWN5LXRydW5rCisxODU1OSAwYzIyYWYyY2RkNmZiMzdhNzEwOTg5NGJiNjIxN2IyMWEyNDQ3Zjg4IGxlZ2FjeS10cnVuaworMTg1NjAgOGUwMTQxN2VjMDAxN2FiNGU0ZjI1OTY0N2YzZjY0ZDgzZjk4MzM4OCBsZWdhY3ktdHJ1bmsKKzE4NTYxIDRiMTY4ZWViNjFiM2I3Yzc0YzY4YmRkYmFmMGNlNjIzNDRmNjQxMDYgbGVnYWN5LXRydW5rCisxODU2MiA1YTVlOWU3ZmI2YjIxMjcwOWM0NWFiYmM4ZTY0ZWM0MWI0YmI1YTZmIGxlZ2FjeS10cnVuaworMTg1NjMgMTk5N2RmZWQ4ZDIxZDZkOWY1ZWJkZDRkNWQwYzhlOGVmNDExNjVkNiBsZWdhY3ktdHJ1bmsKKzE4NTY0IGY2ZWUwZDQ2NzJkNjI5NjA2NWQ2Yjg4MTZlYTA4MTVmZTM0YmIzMTAgbGVnYWN5LXRydW5rCisxODU2NSA2MTJmYjc3MjdmYTI5OGUxNmYxY2M5NDRhZjNmOGQ2NjZmOTU4ZTkzIGxlZ2FjeS10cnVuaworMTg1NjYgYjQwOGFjZGNhZjNlZWVjYzVmZjBmMmExYmRjYzgwZGU3ODAwZGJhMyBsZWdhY3ktdHJ1bmsKKzE4NTY3IGJmOWJiMGUzZGQzNDEzZjMwNjc2MmZjYTE5YmU4M2RhODk1MTk2ZWYgbGVnYWN5LXRydW5rCisxODU2OCAzMDc1YTE1M2EwODNlMjI5YmRjYTJmZWJhZjAxOTMwZTFlMDFmNGI4IGxlZ2FjeS10cnVuaworMTg1NjkgZTI5NzhjMGI3Y2JkNjkyMWFmOTZhMzlkMzQxYjBiZjBhOTUyMDdhNyBsZWdhY3ktdHJ1bmsKKzE4NTcwIDE2MTg5MmJmN2MxNWVmZTk4ZWRmNDk5MDNlZmE5MDFlMmI0YjUzMWUgbGVnYWN5LXRydW5rCisxODU3MSBhNjI2ZTM5ZDY4NGRjMjNmYTZmNWY0YWE2MWRlNzk4NmU1ZDlmMGVjIGxlZ2FjeS10cnVuaworMTg1NzIgMjQ4MWI1ZmU4NmQ2ZGNlN2FjNDYwM2MzM2I5NTE1YTZiZjQzMTkxNiBsZWdhY3ktdHJ1bmsKKzE4NTczIDkwMWYzOGY3ZjZmNzU1MDc3NTJkMDM2YTIwNzA0MDdhNWExYjNjZDEgbGVnYWN5LXRydW5rCisxODU3NCAzNjkzYWJkMGVhYzFkNDFhNDcwODdlMDI3NmU3NTRjNTYzZmZjMTg5IGxlZ2FjeS10cnVuaworMTg1NzUgMmEzMDUxMjlkNTY2ZWMxNDNlNDI3MmE4YjA1MGJmMjg1NjE5ZmM5MCBsZWdhY3ktdHJ1bmsKKzE4NTc2IDRkOTc4YWQ4ZmIwNWQ2MDRlYTk3NGEwNjg2NzNiNzJkOGI5MDUxNWEgbGVnYWN5LXRydW5rCisxODU3NyAzNjJlNTNmNDNkZDIzNjFiOTA5ODhmZTY0YzgyODJlZDk0MzhkZThjIGxlZ2FjeS10cnVuaworMTg1NzggYzY1NmYzMDhhYTFmODdmY2ZkZGZhMjNhZGZiODBiNTgwMGI1MjEwOCBsZWdhY3ktdHJ1bmsKKzE4NTc5IDZlMmVjOGY3Yzg3MWY3NGEzYmVjMmVhMWZlNjEyN2YxYWZhOWQ1ZjMgbGVnYWN5LXRydW5rCisxODU4MCAyNjVmNGVmN2Q3YjFkMGQ2MjVhMzQzMDZlYzA2YWQ4ZDkwNjgzZWM3IGxlZ2FjeS10cnVuaworMTg1ODEgMDYxMjUyZjVjNzI5NmNkMzQ2ODQ4ZWNjMzQxYThlZjYyZjQ4ZTU5NiBsZWdhY3ktdHJ1bmsKKzE4NTgyIGVhZDhiNWI5OTRhZDdjZTYxMmNmNjBlYmM0NjAyY2VmNWU0YWEzNzUgbGVnYWN5LXRydW5rCisxODU4MyAzZTg2MmE1MTg2MWZkNmI2ZGNmMTkyZTE3ZDhiZjdkMzUwZGM1YTMyIGxlZ2FjeS10cnVuaworMTg1ODQgYWM3YWUzZWFkODhhNDRhYWEzNTQ5YWYwMGI1ZmU3ZmU4MWJhMzZlNSBsZWdhY3ktdHJ1bmsKKzE4NTg1IDJkY2M0YTg2YTg3NmE3MWY3YzZhOWU3MzdhYzVhNjNmNWMzNjBhMjAgbGVnYWN5LXRydW5rCisxODU4NiA4ZTQwMmFlY2EwYTNkMWNkZjhkYzM0YmZhMGU1ZjQ3OGM3ZTliMjM5IGxlZ2FjeS10cnVuaworMTg1ODcgZGI5ZjE4OTNiZTAxNjgxNjY3NjI1YWEzNDhlM2E4YmM5ZDA1NTQyYSBsZWdhY3ktdHJ1bmsKKzE4NTg4IDY0MWFkNmM4MzNiZTgwNGNhZGY1YWM4MDVlMmFhMzczY2FhMzAyYmQgbGVnYWN5LXRydW5rCisxODU4OSA0ZGQwYjk3YWE2ZTE2NjkyOGIwYzVhNWEyNmI5MGZkOWQ5OWNkMDk5IGxlZ2FjeS10cnVuaworMTg1OTAgMmIzYmMwOGQ0ZDg1M2FlZjQwNDg0ZjEzZDk3YTVhNTgyNWZhMWJiNyBsZWdhY3ktdHJ1bmsKKzE4NTkxIGQzYzdlZDE1Y2UyNTc3OGViOTUxMWZiZjEwNzFhODNkODRmZjY1ZTcgbGVnYWN5LXRydW5rCisxODU5MiBhMDY0MTU5OTRjYjU2YTc4NmY2MWY1ZTEwMzAwOTQ1NzRiZGE3YTAzIGxlZ2FjeS10cnVuaworMTg1OTMgM2FkMzAwNGRmZTZkYjZkOWQ0M2E4NjY4Mjc3NTRmYjIwNjAwZjMyMyBsZWdhY3ktdHJ1bmsKKzE4NTk0IDAwYzY4NTVkNzQyYThkMmE1MTg4M2Y2OGU3OTRlN2NlYjhhOTZhM2IgbGVnYWN5LXRydW5rCisxODU5NSAzMTdjMjAzYWJlZTY4NmNiNmJkYTI4N2FiZmExZDUyZTk5ZjBmZTNmIGxlZ2FjeS10cnVuaworMTg1OTYgODVkYzBjZTAxNjJlNmYzY2U2NTY0NDNlMGE0NjQwZTZiODllN2UxNSBsZWdhY3ktdHJ1bmsKKzE4NTk3IDYxMjRjZWRmODQzOGRjODZhMGY4Mzk1MjQzZmM5NGExNmYzNmJlNjggbGVnYWN5LXRydW5rCisxODU5OCAyNzI5MGViOWM1MjY0YjA3Yjk1YzVjOWRjZGZmY2Q1NDZkOTFmMzA4IGxlZ2FjeS10cnVuaworMTg1OTkgNzZjYWYwODU1ZDFmZmU3ZTk3MWJjMTEwMmNhODkyOTBhOTljZjgzZiBsZWdhY3ktdHJ1bmsKKzE4NjAwIDk3ODIxYTQ2ZTAwMDMwM2E2YjgyYzA5MjMxNjFmZTBiYzA1ZmIwYzggbGVnYWN5LXRydW5rCisxODYwMSAwYTc3MDEzYzUwYWNhMjA0NWIxNDg4NGY1ODMxODA3NWM3N2QzMTkyIGxlZ2FjeS10cnVuaworMTg2MDIgOWQxNWJhZjcxNDVhZmYyZTUwNWMwZjJiM2JmNDVhZWRiYjFkODg5NCBsZWdhY3ktdHJ1bmsKKzE4NjAzIGFiYjk0NjA5MzE4ZTZjNDM0MDQ3N2QwZjIxNmIzYjYyMjNhNDY3OGQgbGVnYWN5LXRydW5rCisxODYwNCBiZjgwODY2ODI0ZWNiNWVmOGE3OGM1OWEzODg4ZWMxMTk3MDBjM2Q5IGxlZ2FjeS10cnVuaworMTg2MDUgNGMwNDNlMjI3YzQ0MDdlYWRiMDlmMWYxYmQzODg5OWZkZjI0ZDRjZiBsZWdhY3ktdHJ1bmsKKzE4NjA2IGY1YzA0MTM0ZjRlMmJkN2FkM2E5ZGM4YzVhYmNhNjdhMDNiMTkyZjQgbGVnYWN5LXRydW5rCisxODYwNyA0ZGJiZjMyMmE5ZGYyY2ZiYjU1ODkwYWM0MTVhNDNiNmNmMmE2Yjc1IGxlZ2FjeS10cnVuaworMTg2MDggZmEzZjUzN2M4MjQ5YzQ0YWFmNjYwNTU2YTVhMWVkMzIyOWUyNzA4MCBsZWdhY3ktdHJ1bmsKKzE4NjA5IDc5ZjllMzMzMzE2ZTZiY2RlMmIwOWFjMWMwN2FlNDU5N2E2NWQ4ZTkgbGVnYWN5LXRydW5rCisxODYxMCA3N2M3NjFjZDEyNzJlOWIwMzA0M2JlNWEyNmFiM2Q2NDM2Mjc5MmUzIGxlZ2FjeS10cnVuaworMTg2MTEgZDY3Y2ZjYzA2ODNlZGE4NGZkMTY0MTU1NWJiOGUwMTk1MmU0Y2Y2MyBsZWdhY3ktdHJ1bmsKKzE4NjEyIDkzOWI4ZmZmYzQ1MmUwNTI1YjM4MDA2MWI2MzI4NjhkMzU1ZTZlOWQgbGVnYWN5LXRydW5rCisxODYxMyBjMDgyMmEwNWU5MjNiNmY1MDA5NGQ4NTkwZDQyNDBlYTgxOWZkOGI1IGxlZ2FjeS10cnVuaworMTg2MTQgOGQwMGY3NTU1ZWVjMjc4MmY4NTBjYTBmY2ZiOTg2NzBmZjNhZmViOCBsZWdhY3ktdHJ1bmsKKzE4NjE1IDdjOGZhYzRhYzMxYWJkNThjOTMxYmFiZTI2ZmUzYzA5ZjAwNDNiMTcgbGVnYWN5LXRydW5rCisxODYxNiBhNDNhOGExZjQ2ZWUxYmI2NWM3NDczYmM5YmU2OWUyYTNmYjUzNjBjIGxlZ2FjeS10cnVuaworMTg2MTcgNDU5NzljZGNkMzY5NzM5Y2JiODU5YTg1ZjVmNmM1ZDY1NWE0OTQ3NSBsZWdhY3ktdHJ1bmsKKzE4NjE4IGE5ZTE1YmNhYjMyY2I2MDEzM2RiNzYxMGYwMWIzZDI2ZTljZTE1MmMgbGVnYWN5LXRydW5rCisxODYxOSBhMWQ4OGFiMDIzYTBiZWNkNWRlZmE1MGI4YzM1MzZmMzRjZTFlNzI5IGxlZ2FjeS10cnVuaworMTg2MjAgYTMxYzM4NjhjODEyZmNlNzY2NmQxMjRiOGNiNTQ0NWY2ZGVkZmFjMSBsZWdhY3ktdHJ1bmsKKzE4NjIxIGE1NmMwMDBlNTc5Y2Y3ZTQzNTY3MWVmY2I4YTc1MjM3MzhmNTI5MDAgbGVnYWN5LXRydW5rCisxODYyMiA5NWVlNzlkZmQ3NDYyMzE4NjdkNzM4NGViMGIwMzdhNGZhNTEwNDgxIGxlZ2FjeS10cnVuaworMTg2MjMgZGVmNDE2Y2Q5MjNkZjIyYThiMWFmZGE0MGM0Y2E2NDlkODY5MGQwYiBsZWdhY3ktdHJ1bmsKKzE4NjI0IDM1ZTA4ZGQzN2RmMTM3ZTE2NTI4NTY4MDVlOTM5NWMyZWE2Y2ZlMjYgbGVnYWN5LXRydW5rCisxODYyNSA3YjNmOGU3NjFhMmQ4MmRiMzc2YzI4MzMwNzhiNDg1OWRlMTM4NWNkIGxlZ2FjeS10cnVuaworMTg2MjYgNmQ4ZjdlMTI0MmMwMjlkODE2Mjg5OGMzMWQ2NjQ2YTA1YjIwM2QyNyBsZWdhY3ktdHJ1bmsKKzE4NjI3IGQ2ZTZhNWNmZWIzZDZiN2QwMWFlNWZlZGU2YzQ2OTdlYzQyODM4MmIgbGVnYWN5LXRydW5rCisxODYyOCA4NzQ1ZmIzYTExOTE3MmFkOGViM2Y4MDRmOWEwNzEwZTBmNWZiZjgzIGxlZ2FjeS10cnVuaworMTg2MjkgZTc5MWY0OTA1ZDI1NjFjMjdmZGExNWRhMzJlMzVhZDcxZjJiNzBjNCBsZWdhY3ktdHJ1bmsKKzE4NjMwIGZiMTQzZmIyMzZkMGFmNGI2NTRmMjEwZmI2ODhhZmViNGJlODNmOWMgbGVnYWN5LXRydW5rCisxODYzMSAxOGE2ZTZkOWI0Zjg4YmVmMzlmNjM0ZDRiZTdjMzUwNmMwMjRlYzI0IGxlZ2FjeS10cnVuaworMTg2MzIgMDg2OGMzNjFhZjVhZmRhMmZmMmFjZTM5MDEzNjc5MzY1NzJlYzFiNyBsZWdhY3ktdHJ1bmsKKzE4NjMzIGVkYjk2NjZjMDdjMDRhOGY5ZTg3OWNjM2E5YzQ1ZTVmMDkyMDRmYzYgbGVnYWN5LXRydW5rCisxODYzNCAwNzZiYjI5YTY1ZGM0YjA5M2NjYWMzMjg3YjAxODQ1YTk0MzlkMGY3IGxlZ2FjeS10cnVuaworMTg2MzUgNWQ2ZmI3ZmY2OGM3OWE2OWZjZTQ0YzA0YjEzY2FjMGNmMTQ3M2MxMiBsZWdhY3ktdHJ1bmsKKzE4NjM2IGU4YWFkODQyNDczYTRhNWRiYzE5ZjVkZTc4MDcxOGVmMjQxOWNiNTcgbGVnYWN5LXRydW5rCisxODYzNyA0MzcwZmMxOTY5N2U0YTk2OTMwZGUwYjljODc5Njg5ZTBlNWNlMGE0IGxlZ2FjeS10cnVuaworMTg2MzggNTA3NjU0NGMzMzhiMTM5ZGI5YTZjYTA4MzljNTBhMWEzOWMzYWQ5YiBsZWdhY3ktdHJ1bmsKKzE4NjM5IGI1YTM3YmY5ZDEyZGE3YTIxMTQ4ZTI1Y2E3YWY2NmNlZmFhMDc4ZjEgbGVnYWN5LXRydW5rCisxODY0MCBjNjY5YzI5ZDFiOGNkZjliZGQ4MGEyODNhZWFiMGI3OTIxNGUyMzIwIGxlZ2FjeS10cnVuaworMTg2NDEgZDY0NmQ2MDY4OTI0MzBkMTYyMjJjNWYwZmY1ODRmYzBlZTAzNmEwOSBsZWdhY3ktdHJ1bmsKKzE4NjQyIGIxYzU3Nzg0ODBhMTlmOTU2MzdiMGVlMTg0M2VhNzVmZDMwYTg5MjIgbGVnYWN5LXRydW5rCisxODY0MyBhYjUzNTI0NDQyMDU3ZWRhMGUyMjhmODJjYWUzMGY0OTc5YWQ2YmM2IGxlZ2FjeS10cnVuaworMTg2NDQgZmNhMmNmODUwZTRhY2YxMjJiNGUxMjAwYTJlZmRjMGIxMzUzYTJjNyBsZWdhY3ktdHJ1bmsKKzE4NjQ1IDc4YzRiNjNiNWI5ZDM1NGY3MmUzZDY5ZjQwOWQ5NjM5ZTYxMzJjZTcgbGVnYWN5LXRydW5rCisxODY0NiBlZmYxMWZhYzVmMzYzOWE5OTFjMjQxMjZhZGU1ZWM2YjQ2NGRlOTRhIGxlZ2FjeS10cnVuaworMTg2NDcgODNlMTQ2OTc0YjcyYTRhOTdmMjg2MGIyMmY1Mzg1YzA2M2Q5OGM5ZiBsZWdhY3ktdHJ1bmsKKzE4NjQ4IGIzMWEwNDZmODhhNzcyNDEyOWVkYTU4M2NhN2Q4NDM5ZGUwYjhiZGMgbGVnYWN5LXRydW5rCisxODY0OSBkZGQzZDhjMmNjYTA1MjhhOGFkNTI5NDdlZmUwZWQxZGJiMWFmOGVmIGxlZ2FjeS10cnVuaworMTg2NTAgOWU5NTU2OTI0YjBhNzQyMWU4Y2JiNDQ2N2JiN2QzZWRkMDhjOTJhMyBsZWdhY3ktdHJ1bmsKKzE4NjUxIDFkYjNjYTk1MzBjMjg2M2RlN2JmYjBiZDA5OWQ3ZGYxYjZmYzUxODQgbGVnYWN5LXRydW5rCisxODY1MiA0ODU0ZWU1ODVlMGRmODgxYzgwMjU2MDg1NmI2OGQwZDI0YmQwYTYwIGxlZ2FjeS10cnVuaworMTg2NTMgMDEzMTc5Mzc2ZmEzNWU1M2UwNjBlZTU3MGY3OWUxMTU1MGNhZDA5ZiBsZWdhY3ktdHJ1bmsKKzE4NjU0IDBmZGZhYWVhNWUyZjkwMzFjZTMwMWE4MThiYTNhMGUxOWNmYmU0MzkgbGVnYWN5LXRydW5rCisxODY1NSBiN2Q1ZjY4YmUwMTdmNGM4MDM5YmI4NTdhZmJkYjE5ZDkyZjJhMTk5IGxlZ2FjeS10cnVuaworMTg2NTYgNjNjMDQ4M2VmZjY4ZmY4ZDIyNzQ0OTY4YzVmZDY4MjhjNmIzZjg4YiBsZWdhY3ktdHJ1bmsKKzE4NjU3IGI1N2UzZTM3NDMxNGUzNTNiNWE4NzBhZWU2ZjdkNzQzN2JhYzU0MjUgbGVnYWN5LXRydW5rCisxODY1OCBlZGQxOTIxN2IzOTY5NWRhOWJhNzY5NzZlYjdjYzg0NmQxMzI5NjUwIGxlZ2FjeS10cnVuaworMTg2NTkgZDAyN2U4NWUyMDlmN2Q4NGQxOWRmYzhkZmQ1MzE0MDY0MWJjMWY2MyBsZWdhY3ktdHJ1bmsKKzE4NjYwIDVhMzA4YTlmOTlhNTY2NDdmZGIzYzJkM2E0MWNmODI0Y2VkNThhMzcgbGVnYWN5LXRydW5rCisxODY2MSAzYTI2MDI3NGJjYzZhMTViNGVjNjcwMmY4YjEwYzMxMzlkN2E5ZmI5IGxlZ2FjeS10cnVuaworMTg2NjIgMjI4ZmZkMzZhMGRkYzczOWUwYjc5M2E0NjA0ODRmYTY2N2EwMGEzZSBsZWdhY3ktdHJ1bmsKKzE4NjYzIGViMTc2N2IwNjhmZWMyMjc2ZjczMmE5MjhlNGQxNmQyNmM0MTE3MDkgbGVnYWN5LXRydW5rCisxODY2NCA5YjY4MTRiZmIyYzBkOWY1MzIyMzk5MjgxY2U5YWNhYjExODM2ZmM4IGxlZ2FjeS10cnVuaworMTg2NjUgMzc4MTlhNzc3ZmMwYzQ5ZWY0MzBlNDdhMGNhM2QzZDc5MTYyNmZhMyBsZWdhY3ktdHJ1bmsKKzE4NjY2IDU0MTU4MDRmYjM0NWM2OTIyNGJmZjE3ZjkxZmFmZDg1YmJhYzM4ZGUgbGVnYWN5LXRydW5rCisxODY2NyAzYjliOGYyZGRmZTc5NmJjZDg3MzA4MDk0ZTk3ODJlZDRiMzhkYWQzIGxlZ2FjeS10cnVuaworMTg2NjggMjJmZWQyYjE1YTU0YjJiNWMxYTU2ODRhYWZhYjc1ZjZlMjM1YjJmNSBsZWdhY3ktdHJ1bmsKKzE4NjY5IDM3ZDEyMDIxZGYwNTExMzQ1OTc0MWI4MmY0NTMzZWJkYjY4MTI0YjUgbGVnYWN5LXRydW5rCisxODY3MCBmOTc3MmY4N2IxM2UzZDBmY2U2ZGE1ZjdiYTI1MDdmZWRkNjhiYjY2IGxlZ2FjeS10cnVuaworMTg2NzEgOTU0NjExZmQzNWUxZTk0MGQ0NmNmMTI2ZWJjMWJhNzFhNGY5MzhiOSBsZWdhY3ktdHJ1bmsKKzE4NjcyIDFhMDBkMjE5MTBjODlmMWIzOGIxMmE4NjUzYzFhMjYyZDZlNTc5OWIgbGVnYWN5LXRydW5rCisxODY3MyBhNTYzZWVjNDZjMWFiZTkxZjZhMTNjMDBhNjE5MDAyMzE2YzE5NjIzIGxlZ2FjeS10cnVuaworMTg2NzQgMDY0MDI2ZGM3NjRlODllNTBlN2E4MGFhN2IxZWZkYWQ0ODMwNWYwOSBsZWdhY3ktdHJ1bmsKKzE4Njc1IGZhYWY5ZjEwZDg0OTQzOWU3OTEzYzlkNDUyODYwZDM0M2MzMjQ3YzEgbGVnYWN5LXRydW5rCisxODY3NiA4NjhkMmFjZjc0NTgwOGM5MDMzZjU3Y2Q1ODI5ZDk3YTY5ZWNmNTZlIGxlZ2FjeS10cnVuaworMTg2NzcgYzY4YjA2MjQ5ZDhhMjE0NjdhN2FlNTNjNWYzYjZjNGJlYmFkOWEwNCBsZWdhY3ktdHJ1bmsKKzE4Njc4IDY0NWY4ZmQ2ZmE5ZGNjNTk5NTFjYzJkMjlkMjY5ODA1Mjg4ZjA3ZTggbGVnYWN5LXRydW5rCisxODY3OSAyZDM5OTA2NTYyNDgwMDQxODI2MGVmN2Y5ZDQzYmNlYzk4NTUyNmMxIGxlZ2FjeS10cnVuaworMTg2ODEgNzk3NzBjYTE1YzVhOWY1MjkxNGIxNjJjYjkwMWU1ZTRiM2VlNzBhMSBsZWdhY3ktdHJ1bmsKKzE4NjgyIDMzYjQ0NGNiYWRiOTkyYTdlNTcyOTFiYjllNzUzOTEzYjg3YTZiZWQgbGVnYWN5LXRydW5rCisxODY4MyAwZjIyZmViOTM5N2RiOWIxYjgwN2ZjZTYwNGQ3Zjg2ZDk0YTA2NzhlIGxlZ2FjeS10cnVuaworMTg2ODQgYzdkZmJhMGRiODc5MGIwMDRkMTFmYmMzYjViYTU1NzFmYmQxNjVmNiBsZWdhY3ktdHJ1bmsKKzE4Njg1IDk4MjE3NzdmOGRhZDZjMGY0NWYzMmRiODM1M2VhOTkwNzFkY2ZmZjggbGVnYWN5LXRydW5rCisxODY4NiA3ZjdlZjk0NDdlNTlmY2E0YjhlMjBhNTJiZGQzMTUzMzU3ZGZlYjA0IGxlZ2FjeS10cnVuaworMTg2ODcgNDMyOGZmZTY0N2JmN2JlYWZjY2RkNzU1ODEzOGVlMmQ4Yjc4Mzk4MyBsZWdhY3ktdHJ1bmsKKzE4Njg4IDE3NDQ5MGU5MjRkNDdmMTkyYmQ5OGZhOGRkMmVlNTNkNjlmNTA3ZjIgbGVnYWN5LXRydW5rCisxODY4OSA4MWRiOTJlODBlYTg4NjNkYjk5OWZjOWVlZWEzNjRmY2Y3MjU1N2Y1IGxlZ2FjeS10cnVuaworMTg2OTAgMDVhZDI5N2UxNDRmZTk3ZGU1MmVlMDJiNzUwNDQ4ODgwYzEyMGNkNyBsZWdhY3ktdHJ1bmsKKzE4NjkxIDkzMDhkYzhjODVlMDM1YzQ0NGI1ZDRmYTdhMjk5MWIxNzQwMTMwN2IgbGVnYWN5LXRydW5rCisxODY5MiBlMDBmNzE4ZTRkOGFiMzk1ZTY4MTk0ZTNkY2NlMTU4ZTdjY2ZiZGE2IGxlZ2FjeS10cnVuaworMTg2OTMgOWEyMzg1ZWUxZDk5NDQ2NDA3NjE3ODU1Yzg0ZDYyNGVlNmJkZDkzMiBsZWdhY3ktdHJ1bmsKKzE4Njk0IDBhZTM4OWU5MzVmYzQxNmViODc0MzdiY2QzNWNlMzkxODgxNDhjM2IgbGVnYWN5LXRydW5rCisxODY5NSA3ZWEzMGExNjM0NjM2ZDhmZWFjMmQ2NGU4YmI1OGMzY2Y5YzJiMTFhIGxlZ2FjeS10cnVuaworMTg2OTYgNmUzMjlmM2UxN2YwZTUzOWE2MjhkODhkMzAzNTZiYTFkNmYyODE1MyBsZWdhY3ktdHJ1bmsKKzE4Njk3IGIxYjBhNzAzZWM0ZTZhM2IwNjczZDEzZDJiM2JmMTU3NDBiNmViNzEgbGVnYWN5LXRydW5rCisxODY5OCAwZTRmNDhjNWZjODRkODgwNjA1M2Q5YzY4NTUzOTA4NjM0N2JkYmRjIGxlZ2FjeS10cnVuaworMTg2OTkgYmIzMDNhNzZhNDc4MzdjZjA0NzI2NmJiNDY3OWU3YjRjYjZkMTU1NiBsZWdhY3ktdHJ1bmsKKzE4NzAwIDY3YzhhYmQyMTAyNWE1NDJmZWE3NjM2Y2M4M2ExNDg4ZTU3MDU3NTUgbGVnYWN5LXRydW5rCisxODcwMSAzYjY0MzY1M2UwNzgyMGJmNTczNWIyNmQ1NmE2NjE3ODUzZWJkODc5IGxlZ2FjeS10cnVuaworMTg3MDIgN2Q1MDI1YmJhMDM3YzZjNGZhNTEwOTFiOTg4ZTU5NWE2NWE5NTUxYiBsZWdhY3ktdHJ1bmsKKzE4NzAzIDE3ZWJhNzQwNDA5OWNlNTNkM2Y1ODYyMTQxYWRiZmUyOTNlMmQxZGQgbGVnYWN5LXRydW5rCisxODcwNCBmNmNkMzY0OThhNTAzZjMxNjUxNjczMTJmZGQ1YWM4NjZhODhjMjkyIGxlZ2FjeS10cnVuaworMTg3MDUgNjAxYzUzYTllNDlkZjFmYjIwYTkyZThmNjQxZjBjNmQyMmUwMzc2ZCBsZWdhY3ktdHJ1bmsKKzE4NzA2IDI4MzM1NmZiNmVmYzc1OWRhYTc5ZDQ1MTU3MTg0NGQwZTIyMjdhNmEgbGVnYWN5LXRydW5rCisxODcwNyAyMTBiYmU1M2I2ZDRhYzc4YmRlYjQ3NDczM2QxYTk0OTNiZTcwODgzIGxlZ2FjeS10cnVuaworMTg3MDggZDQxZjliMGE0MGNhYTYxNDc4OTVlZTRjYTI1NzZhMGVmYjgyYjUxNyBsZWdhY3ktdHJ1bmsKKzE4NzA5IDY3OWQ1MDcwNWUwNjk1ZTExNjZiNDM1MjEyMGJjMWVmNDNjYTc1YzQgbGVnYWN5LXRydW5rCisxODcxMCA0MDVhNTk3MzU4NDE2ZDAyYTQwOTA1ZGY0OTJjYWY2YTQ5YjA0ZTY5IGxlZ2FjeS10cnVuaworMTg3MTEgMTdkM2E2M2UyMmM3NDI4MzkwZjgyMjEyNTdjMmI4N2UzZGZlYzhiMiBsZWdhY3ktdHJ1bmsKKzE4NzEyIGM3MDQyMTQzMzk5ZjMxODQ0YTJkMGEyMjQyMTUzMTIwM2ZjZTQwNmYgbGVnYWN5LXRydW5rCisxODcxMyBhM2MxYTIzNGNlZTcxODQxNGNjMjdjOGNlZWQwZTY4MGJjM2RlZDEwIGxlZ2FjeS10cnVuaworMTg3MTQgMGQ4YjViM2Q5ZDgzZDA2NmNlZDY4MWI5OWUzYTJjZjYyZTZjNzY4ZSBsZWdhY3ktdHJ1bmsKKzE4NzE1IGE4NGI1M2JhOTBjNDFkYmVkY2EzM2NmNDM2MjI3ZWVlYmNlYTZmMDIgbGVnYWN5LXRydW5rCisxODcxNiBmYzc2NTQ2NGIxNzgwMTJjN2NjMmFiOWI0MjQ4MWI3MWJkMGJkNTljIGxlZ2FjeS10cnVuaworMTg3MTcgMTUyZDAwNzE4MDA2MDlkNTBiMGNhNGU5NjJmZWU3YTc3ODUyM2Q5NSBsZWdhY3ktdHJ1bmsKKzE4NzE4IDhjNzE0MDlhYzBjMzk0ZDE5NjY1ODY5OGU4OTU0MWRlNTIyMTVhMTEgbGVnYWN5LXRydW5rCisxODcxOSAwYThkYTZmMzk3Yjc4ZjU4MThkOTA3ODc4NDE3MDlkZWU4YjBkYThhIGxlZ2FjeS10cnVuaworMTg3MjAgODFlM2Q4NjI2YWRmMGY3OTA1NzliYTg5NTExMDQyOTFhYWZlYzJhYiBsZWdhY3ktdHJ1bmsKKzE4NzIxIDMxOTY3YTIzMzYwMDkyYTVjODdmODdkYjA5Zjg0ODJkYmMxYmFhNDggbGVnYWN5LXRydW5rCisxODcyMiAwODNhNWM3NWVkOTA0NTIyMTNiNDg0NjA0NjA4OTYyYjhkMjJjMWE5IGxlZ2FjeS10cnVuaworMTg3MjMgZTdmNmQ1NGMwMTRkMzQxZWU1M2EzNzVjOWY1ZTdhYTEyMjhjMzdkYiBsZWdhY3ktdHJ1bmsKKzE4NzI0IGZjMWU1ODMxZmUxMDc3Yjc4MjFlZTNkNWZmZTA1NThmOTY2NWM2ZWUgbGVnYWN5LXRydW5rCisxODcyNSA3MWIxOWQzNmFhZmE5M2ZlYjAwM2MyMTQwMjc5MDJhNzNkYjcyNTlhIGxlZ2FjeS10cnVuaworMTg3MjYgMWIwM2Y3NmFiMDNlYTc0MjU1ZWI3NTQ1MmI5NmE0OTk1Yjk0YzhlZSBsZWdhY3ktdHJ1bmsKKzE4NzI3IDU1NzhlOWI0MjRkNGFhOGRkY2U1NmVhMGFjZmQyZGMwNGJiZjMyNGUgbGVnYWN5LXRydW5rCisxODcyOCA3MGE1OWUzZmIyNzhiYjUyMGU5NzEzN2JjY2RjNTVhOGQ4OGQ2OWZkIGxlZ2FjeS10cnVuaworMTg3MjkgZjVhM2Q5OGEzNWJjNGJkYzc0YTg0ZmJhNmVlZDg1OWQwZjA3YWQyOSBsZWdhY3ktdHJ1bmsKKzE4NzMwIDMwNjBjYmZhMDFiZTZkZmM2ZmRiODhmMGY1YzEwYjczYmJmYmYwNmQgbGVnYWN5LXRydW5rCisxODczMSAxYTRjMWMwZTE0YTEzZjU5NTI2NWFiNjRjYjE0Y2M0OTEzODY2MWE4IGxlZ2FjeS10cnVuaworMTg3MzIgMDEwZDAzODUzNTQ2NDZmMTU3MDA1MWYxOTM2ZjY1MDc0MzMxZGUwYiBsZWdhY3ktdHJ1bmsKKzE4NzMzIDYyYWVlZmEwMWZkZDU1NGUzMGI1MDVlNWUwMzc3NTRkZTcxYzU0ZTQgbGVnYWN5LXRydW5rCisxODczNCAzNjg1ZWYyYTU1YTQ4ZTNkNmMwMGE5MThlYmFmZjczMGYzYjI0ZGY1IGxlZ2FjeS10cnVuaworMTg3MzUgM2RkMjE3ZmJkZDU5YjFlZDI2ODM3MjE4N2RjODFkOWYxNTgwOWVhYyBsZWdhY3ktdHJ1bmsKKzE4NzM2IDRjMDFlZTBhODA3M2Y5ZGU0OGQyYzBmNTdkOGJhZjhmNWQ2MzcxMTMgbGVnYWN5LXRydW5rCisxODczNyAxOTU1NTdhMGYwNTBiODEyNzJlMmE1YTYxNTdlMTA3MzRhOTIyM2M3IGxlZ2FjeS10cnVuaworMTg3MzggYTMzZGUyM2IzMDY2ZmJjZGJiMjdlOTE2ZjQyZTg0MDg4N2VkODNhZSBsZWdhY3ktdHJ1bmsKKzE4NzM5IDkzZDA1NjdjOWZjOWNiMWYxNGU4MzcyZjExMWYzZjVjYThkMjNlOWIgbGVnYWN5LXRydW5rCisxODc0MCA3NTEyMTVmYTBkYTdmM2MzMTI2NzQ2NWY0Y2QwOTY3NTgxYjJhMDFkIGxlZ2FjeS10cnVuaworMTg3NDEgOTA5OTJjODJkNDZlOWZjZmZjNGY1YWY0NjA4MTE0Y2JmMDQ2ZmIzOSBsZWdhY3ktdHJ1bmsKKzE4NzQyIDNlYTEwZWU5MWU5YzVlNWQ0OTliODRiMDA5OGQxMmE0ZGNlM2ViMWYgbGVnYWN5LXRydW5rCisxODc0MyA0MTU0NjM1MzI1NWM3ZjBhOWI4NDM0NWRmMTBhNDEyOGM1YzRmMTdkIGxlZ2FjeS10cnVuaworMTg3NDQgMTkwZDE0YjcwYzI3YjhmNTUzMjBjNTk5MjQ0MWIxMDFjNDQ3ZTczZiBsZWdhY3ktdHJ1bmsKKzE4NzQ1IGY0N2QxY2JmYmU3MDYzMjRiOWE2ZTNkNjhmM2Y1MjM5ZDIwZWRkZDYgbGVnYWN5LXRydW5rCisxODc0NiA3Y2Q0NmZmODliZmMzYjBlZmZlMThjODk1NGM2ZmM5NmFmZWUyNjg5IGxlZ2FjeS10cnVuaworMTg3NDcgZTZhMGZkNTRiNjA3MmZhODRhMjhlZTU2OTBhMjgwYTNlZTJmYjM2ZSBsZWdhY3ktdHJ1bmsKKzE4NzQ4IGE3MDI1ZjA3MDljNWI5OWY5NTA4YjgyMjZjMTk5OTUwNjE0NGE1ZDMgbGVnYWN5LXRydW5rCisxODc0OSBmODMxMTVlZGYxNmFmNmFkNmI0N2U4N2YwZmVlYzk1YmFjN2JjOWMzIGxlZ2FjeS10cnVuaworMTg3NTAgYjUzMjA2Mjk1YmRmZWY3NTQyNDI5NTJjNGFjMjRmZDkzOTgwMmQwZiBsZWdhY3ktdHJ1bmsKKzE4NzUxIGIwYmE0NmIxNmUwNzUwOTRmYjA0NGM5NWViOTM3ZDU0MmFhNzI0YWYgbGVnYWN5LXRydW5rCisxODc1MiA3Y2JlNDVkNzlhYjVjMGJkMDYyMDcyMTE2ZjE3YjIyZDc5Njg3MzkwIGxlZ2FjeS10cnVuaworMTg3NTMgMThjNGM3Y2E5M2VhMDZhMTljYjMzMTcxYWJlNjFiZjViNTgzYzhiYSBsZWdhY3ktdHJ1bmsKKzE4NzU0IDhlZjMxYTAzOWE5NjQwYTA1NzUxYTEzNjYxMmViZTk4YjU5NjY3MzMgbGVnYWN5LXRydW5rCisxODc1NSA1NTNhMzE1ZjU4ZTkyZmQxMzJkMTRkNmVkOGQ4N2I3Y2M3NThjY2EyIGxlZ2FjeS10cnVuaworMTg3NTYgMWM2YjBkM2E1OGVhZGI1NTY3ZmNjZGRiZDg2MWZjN2Q5NDg0NGM0NSBsZWdhY3ktdHJ1bmsKKzE4NzU3IDg3NjRkZmZiYWYyMzRlMTk2ODdmMjI5ZmM4MWRhNDNiOWQzM2U3NzQgbGVnYWN5LXRydW5rCisxODc1OCBjODdlMmEyZTMzNWQwYTI5MDI2MjViNTJlMWRkZjRmY2YyMTEwZmJmIGxlZ2FjeS10cnVuaworMTg3NTkgYzU2OGJhOWRjMTgwYTJjYTIzMDkyNGY1MTRhMDEyZDk4MzY3ZGNiYyBsZWdhY3ktdHJ1bmsKKzE4NzYwIDgzNjZmY2ZiNjA5MDRjZmI1ZmFmNjgzZDYyNDFjOTUyOGJkMzNhZWEgbGVnYWN5LXRydW5rCisxODc2MSAxNTI4MTRmNmNkMTEzM2U3YjMyYTI3NzZhZmFlNzI0ZTMzNDg4MjJkIGxlZ2FjeS10cnVuaworMTg3NjIgMTEyOWUxNmExMWRmYjM1NzkxN2Q1YTZhOGMxZDE0MjkxOTcxMWUyZSBsZWdhY3ktdHJ1bmsKKzE4NzYzIGNkODNmN2E5Y2RjZDFmMzE1OWU2MzkxYmExNmMxMDZiNjBlYzBhMWIgbGVnYWN5LXRydW5rCisxODc2NCBlZWYzMjFiNmU0MWNlNjYzYzY4NmI3ZmI2Mzk4ZmE2ZmQzOGRlNmU5IGxlZ2FjeS10cnVuaworMTg3NjUgYzlkZGJlMzQwN2ZhNDQwMGRhOWFjY2ZmNGYwN2U3NWUyOWIzODgxYSBsZWdhY3ktdHJ1bmsKKzE4NzY2IDE0OTQ1OGE1NzQwYWYxZjU5NmQ1YWViNzhiOGJmZDE4NWEyM2U2YzQgbGVnYWN5LXRydW5rCisxODc2NyAxM2U1ZWIwMDZlYjMyMWJiZmU0OTM5YzMyYTQxNzRiZGRhYWM1MGFmIGxlZ2FjeS10cnVuaworMTg3NjggNTA4OTBlMzQ1NGM5NTBhODhlYjQzMTNlNTA0YmE2YWU4YTEwNDNiYyBsZWdhY3ktdHJ1bmsKKzE4NzY5IDEzMjViZGU5NDg5NmRkNWRkMzZmODU5ZjE1MTE1MmMzZmQ0MjQ3YTcgbGVnYWN5LXRydW5rCisxODc3MCA5OGU5NWUwZjViZWM3NDVlOWUwMTAyNzlmZTdlMGFmOTY3YmU5NWJiIGxlZ2FjeS10cnVuaworMTg3NzEgOGRiMzE5ZGRmYjM3OWU3Y2Y2YTc3OTgyMTczMTA4NjkxNmVkZTUyOSBsZWdhY3ktdHJ1bmsKKzE4NzcyIGY3ZjNiZTNkMDBiOWM5ZGVkNmM0ZmI2MTAzNGQxZWNlZWM0YjJjYWQgbGVnYWN5LXRydW5rCisxODc3MyBhOGVkYjNmN2Y0ZjgzYjk1YTA1M2JlZDA1NDEzNWMxOTNmMDFmMDZjIGxlZ2FjeS10cnVuaworMTg3NzQgZTgyNDY0NDBhODI1Yzk0ZGVhOWFkMjc5ZmY2ZjZiYmJkMzE0ODM2NiBsZWdhY3ktdHJ1bmsKKzE4Nzc1IGQ3ZDE2NjU1MGM0MzM5ZmFlZjk4YmIyMTk3YWMyM2U4N2MwODYyZWIgbGVnYWN5LXRydW5rCisxODc3NiA4OGExMjY3YTMzOTVlYWYxMzNlMTk4NDkxNWIwMmQ2Y2ZlYzg2NzQ2IGxlZ2FjeS10cnVuaworMTg3NzcgMTg1MTFlMTEyODcwMGQxZWQ1YjhkNjkyZTliZmFmODJhMGJmZWQ1MyBsZWdhY3ktdHJ1bmsKKzE4Nzc4IGFlNjM2YjhhYzQ4MDhkZjRiYmE5Y2ZhYmI5NDgyMTEzMzk2M2ZmMGUgbGVnYWN5LXRydW5rCisxODc3OSBhMzgxOTBmNzFiZjJiNWY1NzdhYjUyMzNkMGZlNTI0ZTUzODFlMzMwIGxlZ2FjeS10cnVuaworMTg3ODAgYmE2ZDRiNTIxODBhNzdmZmRjNjYyMTMwZTJiNTYyODIwYTc3YWJhMCBsZWdhY3ktdHJ1bmsKKzE4NzgxIGJlMjU3YTc1NTNhMjI3MTY2M2ZiZDEwNWQzZjE2NjZkMmU0OWUwNzQgbGVnYWN5LXRydW5rCisxODc4MiAwMDdmN2ZhZjYyYjIwMzE4ZjI3ZGEwZGIxYjQ4NDE5NmQ0MzM1NDVhIGxlZ2FjeS10cnVuaworMTg3ODMgNDg5NjkyZTc5MTUxNDMyMTQxNDgwZTFjYzA0ZWU4NjJmMDBkMzU3NiBsZWdhY3ktdHJ1bmsKKzE4Nzg0IGZkYTlmODZkYzRlODQ0NTVkYjkzOWI1NmI3MDEyMGRiY2M4NDE4YmEgbGVnYWN5LXRydW5rCisxODc4NSBmZjZjMzBlOGNhNzNjODY5Y2ZiZDEyYzQ0MGZjOTBkZTkwYjRmZTQzIGxlZ2FjeS10cnVuaworMTg3ODYgNzAyZWQ5OTY1MjI4YmIwN2I2MGE3ZjdmMGE1MGU2YTYyNmUzMjRhZCBsZWdhY3ktdHJ1bmsKKzE4Nzg3IDlkNWJlZWQwYjkzZmRmMzVhY2YyMTE5NWY1NmE5YmY0ZDRkMzdmMmIgbGVnYWN5LXRydW5rCisxODc4OCBhYzEzY2VmNDIzYzgzM2Y1ZDEyNzk3MjMyMDMxNTEzNjk0MTUyNDc4IGxlZ2FjeS10cnVuaworMTg3ODkgYzk1OWY0YjNlZmExMWFlNDlhMzE3OTZiOGFkYWVlMmIyNzFlZDg1YiBsZWdhY3ktdHJ1bmsKKzE4NzkwIDE4NzJlNjA5YTYzNGMwMmMxNDNiMTg3MDc5YzViNTJjNDQzZTFjZmIgbGVnYWN5LXRydW5rCisxODc5MSBhNDg0NTkzY2Q0MDdlMWM2NjE1NzRhMDcxZmIxZmZhMTg2NzUzZDg0IGxlZ2FjeS10cnVuaworMTg3OTIgMTRhMjdhY2M3NTVhYjQzNDFmYjc3Y2M4YzY2ZDllZTQyMjcxMGEwYiBsZWdhY3ktdHJ1bmsKKzE4NzkzIGRjM2I5YTU4MTY4NmNkOGM0YzRhOTJkYWJiMjFhNDZlMjQ4NzI3NDUgbGVnYWN5LXRydW5rCisxODc5NCAxODgxYjk2ODk4OWI4OGRhNzNkYjg0NjUwNTM3NDU1MDU2ZDZkZDFkIGxlZ2FjeS10cnVuaworMTg3OTUgMzVhNDE5NGY5ZWFkOWI5NmZjNjNmNTIyMDFlZTcyMjU5OWZhNDMzNyBsZWdhY3ktdHJ1bmsKKzE4Nzk2IGIxYTVlZGI4MGY1Y2ZjZWNiNWIzMTZiYTI2MTQxMTg3MjM5YjRlY2IgbGVnYWN5LXRydW5rCisxODc5NyAwYjBmY2UxNGQ0ZTg4MjZiZmM2YmNhYjMxZGM4Yjc3NDkxNTc5ZmVkIGxlZ2FjeS10cnVuaworMTg3OTggYmVjMGY2MWNmY2Q1NmUwNjM0ZGI3ZjdlMzE0OTgyYTQ0ZGM3ODYyOCBsZWdhY3ktdHJ1bmsKKzE4Nzk5IGQ5ZDBkY2I3MzVkN2Y3YWM0NTcyNzVkMWMxNTA3YTAxNGY4ZDZmYmIgbGVnYWN5LXRydW5rCisxODgwMCA4ZmQyMjFhZWQzNTc1OWJmMDlkZWI4MzYyMDQ5YWI3MmNmNGMwODM3IGxlZ2FjeS10cnVuaworMTg4MDEgODY3YTRhNmU3Y2RhODc3Zjg3YjZjZTAwZDM3NWY4MjhjNmI0OWUxYiBsZWdhY3ktdHJ1bmsKKzE4ODAyIGVhNDY0ZWRhNjE1ODRiODk4OTQyMzA1ODVkMWEzNDQ0NmIyNzM0YTggbGVnYWN5LXRydW5rCisxODgwMyA1YWJhZTc5NTc0MmVhOTY5MzdkZmViMWJlZDI2ZTg2M2QwMDUwZTM0IGxlZ2FjeS10cnVuaworMTg4MDQgNjQzOTBjZWFhYzFhZjljZjk2OGZjMDBmZTQzMTY3NWY1OGQ4Zjg1OSBsZWdhY3ktdHJ1bmsKKzE4ODA1IDViMDYzYmFlYmVmOGM2ZDU3Y2Q5NGZkZjFlMDUwZTIwOGViNTIwODkgbGVnYWN5LXRydW5rCisxODgwNiBmNDY0YTAzYmU4NWFlNmQ5MTJhYWJlMGQ1NTM0ZmExYWY4Njc5ZjFkIGxlZ2FjeS10cnVuaworMTg4MDcgMmVkZjVlZDMwNTgzOWIxY2NmMjU0MTE3M2U2MTg0ODdhNDQ3NGQwYyBsZWdhY3ktdHJ1bmsKKzE4ODA4IDRmNjIxNzA4NTE0YjFhYTVmMjFhMDYxMzEwNDEyNTllZmJjMDA5ZGMgbGVnYWN5LXRydW5rCisxODgwOSA2YTg1MjQ4YjQzOWVhYTNkOTA4ZWMxM2M2MmUwOThiMDJlYTZiNTM1IGxlZ2FjeS10cnVuaworMTg4MTAgM2JjMjQ0MDQyN2QzMzFjZmQyMTdhOTBmNjVkNjM2ZmZlNzA0MzhiMCBsZWdhY3ktdHJ1bmsKKzE4ODExIDc2YWQyYTlhM2U1MzRlMWMwNTY0YjQ2MzM1MzM5YWRmNWFkYzIwZDcgbGVnYWN5LXRydW5rCisxODgxMiBmMmUxMzg5NWJkYTdkZjUxODA3NzE2ZmQwYWUwMWNkMGVhNWMwOWJiIGxlZ2FjeS10cnVuaworMTg4MTMgZGIyNmI0M2M5MjRmMzBkY2EwNzRlYmRiNzM1MjQ1Mjc1MzExN2U4NiBsZWdhY3ktdHJ1bmsKKzE4ODE0IDFmOTJkNjNiMjBmMDIzMTA3ZmE1OWVlZjQwNzk5Nzg0ZThmZjYzMjkgbGVnYWN5LXRydW5rCisxODgxNSA4MzQ5YjRkZmM1MWFkZTYzZDI0ZmM5YzBiMjcxZjIxZmYxN2NlNTMwIGxlZ2FjeS10cnVuaworMTg4MTYgMDFlYWU0MDg1N2Q4M2RiZTU5YWVmODM5YTg2ODNmOWVkZjRhNjczOCBsZWdhY3ktdHJ1bmsKKzE4ODE3IDI4M2EwYjJhYWRjNWYyYWE5NGFiZjNmYTZjYzYzYjc0NmVlZWNmZTMgbGVnYWN5LXRydW5rCisxODgxOCA4NTdhYWQ4NDJhZTdkOTlkMTI4MmYzMGRmZjA4Y2VhZmNjMDk4MzNiIGxlZ2FjeS10cnVuaworMTg4MTkgYzFhOGRlYjE1ZjBlMDY2ZWUxYTEwYTE3MzQyNzYwNzBhMGJmMzFjYiBsZWdhY3ktdHJ1bmsKKzE4ODIwIGM4MjA1NTUyZGRlMWViNjhkZTBjOGJiNWY2NTZhOTQxYTkwOThlMDYgbGVnYWN5LXRydW5rCisxODgyMSBmZGEzZmYxOWQxYzRhOTY5ZWE2NDg1NGVmMjQzZGNjNWRiN2IzMjExIGxlZ2FjeS10cnVuaworMTg4MjIgZDczYjIxZGFlMjlhMmVlODk4OTNkMDRhOTY0ZjM5MmFjMGVhNGFhMCBsZWdhY3ktdHJ1bmsKKzE4ODIzIGMwMDAwYmQ2MjUyYzY4MDMyNTA0ZDE0ZjIxNDczNWE4MTYxMGJiNWIgbGVnYWN5LXRydW5rCisxODgyNCBmMTc1MWFiZjc3MWZmYzRhY2I2MTE5OTYzMmMyYTE5NzVlYTk0NWRkIGxlZ2FjeS10cnVuaworMTg4MjUgY2YxN2EzY2U1Mzg3NDNlZDIzYWYzMmFlNmQwY2FhNWE0NzE1ZWU1NyBsZWdhY3ktdHJ1bmsKKzE4ODI2IGRjOGEzMGI4ODg3YzgwNzNiZTVhN2QyMmQ5ZTgzZTc4YzU1M2JlNjQgbGVnYWN5LXRydW5rCisxODgyNyA1YWJiNDczMDRiYzc2ODVlNjkwYzVkZTA4MjlhNWY5OWNhMjMzZGMyIGxlZ2FjeS10cnVuaworMTg4MjggZTU5YjgzNWFkODlhNTJlY2Y5NzFjMjRlNWNjMWYyNjRkZTliMWE4OSBsZWdhY3ktdHJ1bmsKKzE4ODI5IGRjYWUzZTA4ZDg0ODQ4NTczYzJmMmJjOTc0NDRlNzdkOWIzYzdmNGYgbGVnYWN5LXRydW5rCisxODgzMCA1YmJhODVkNDllNWFmOGI2YzI5NGQ0YWExOWZmYmEyYTc5MTA1OGQ5IGxlZ2FjeS10cnVuaworMTg4MzEgZTIxZGE4NGQwYzY1ZjBhMTAyNDI0ZWQ4ZDg2OGM3Nzk1ZDE0ZDRiZiBsZWdhY3ktdHJ1bmsKKzE4ODMyIDc3MDA4ZjA3Y2UyNWRhYTAzYzQ3MjgzN2E1YWFlNjc3YTRiMTM2NjcgbGVnYWN5LXRydW5rCisxODgzMyBmZjljNzliYmMzZWVkMWIyMTU2ZjdhMmU3NzdiNGRjNGQ2MjM3MDE2IGxlZ2FjeS10cnVuaworMTg4MzQgODg5YjdiYWY4YmJiNGIzYzlkZDIwMzZkZDU4ZDRhOWRhNzg0MTc2MyBsZWdhY3ktdHJ1bmsKKzE4ODM1IDcyMTM5MjYzZjhhNzk3NTJkMjMxZThkMzk5YzA0NDZhZDUwMDk5MzYgbGVnYWN5LXRydW5rCisxODgzNiA1YjkxMDNlNjJmYWMzZGE0Y2YyODI1ZjljM2E3YzYzZmFlZGRjOTBiIGxlZ2FjeS10cnVuaworMTg4MzcgNTQyMDU4MjhiMWUxNzNjNmY5MmU4ZjJkOWEzMzQxZGM4MjYwZWYyZSBsZWdhY3ktdHJ1bmsKKzE4ODM4IDUxZmM0NTI3NmE0MzNkN2EwNWI1MzM3Y2RiYTY3OWE5ZWQzMDJmMjYgbGVnYWN5LXRydW5rCisxODgzOSBmMTY1NDVmNTgzNDU2MDhiNWFkY2U4NDM3MzQ5MDdjYzQxMGYxMjM3IGxlZ2FjeS10cnVuaworMTg4NDAgMjRkYWZiYjBkYjU4ZjY2MmU1ZTBlM2I3MjEwYWZlODc2YWI0YzRlMSBsZWdhY3ktdHJ1bmsKKzE4ODQxIGEzNmE0OTMyZTM5OTEzNWMxNTQwNGQ2NTc2YWI5ZmZlNWI4MjVkNmEgbGVnYWN5LXRydW5rCisxODg0MiBhZmFlNDA2OGQyZGQ5ODgyOGYyM2M2NDM5NDZkNTJkMmRkMGNiMjg0IGxlZ2FjeS10cnVuaworMTg4NDMgZDFjYjQxMzhmZDM0YTRhOTY5NzUyMDc0Yjc3MDI4NWVhZGJjZjVjYyBsZWdhY3ktdHJ1bmsKKzE4ODQ0IDkxMzA0YzRjNzI1NmY4M2Q2MDI3NWNhMzhjZTVhODU4NjYwMzA1YjYgbGVnYWN5LXRydW5rCisxODg0NSAyYjI5MzE5YWU2ODE5NDAzZWYwMzNjMThmY2IwMWZmM2RmMzgwYzdjIGxlZ2FjeS10cnVuaworMTg4NDYgNmMxNzUxZjZhZmUyM2UwZGViNDM0YjQ1YWZiNGI1NDAzMjc0OWRlMiBsZWdhY3ktdHJ1bmsKKzE4ODQ3IDE3ZjIzZjhjZDhjNzdmMmQ1OTU4YzUzM2FmYTgwMmMwNDhkYjYwMDQgbGVnYWN5LXRydW5rCisxODg0OCBiZDVhZWU2YjgzOTBkNGRiMjIwZjM5M2M3MWIyNDBkYTNiZWNlYjhkIGxlZ2FjeS10cnVuaworMTg4NDkgNWZiODY1MDc1MTljMDlkOWFkZWNjYzFmYTJjNTU0ZTY5NDcyZjY2OCBsZWdhY3ktdHJ1bmsKKzE4ODUwIGFlMjlhODliNzdjM2ExMjY0ZGU4NTNlMjg3ODNjNmNjYmEwN2JlZjAgbGVnYWN5LXRydW5rCisxODg1MSAxZjFlZmYwODFhMmE3NTEyZTgyMmQ5MDA0ZTM4ZmI4YWY1MDljZjNiIGxlZ2FjeS10cnVuaworMTg4NTIgM2Y0YjYwMDJjMDdkMzEzZGE2MzczYzliNWI5N2UxZGI2YjFiYWQ2MCBsZWdhY3ktdHJ1bmsKKzE4ODUzIDYyMDg0Y2Q5NTdiZDZkNGQyNDgxZjU2N2FiZmFkNmQyNDE0ZGM5ODYgbGVnYWN5LXRydW5rCisxODg1NCBhYWNiYTM3NDc2ZDQyNmVkMmNhNjVkMmI5ODZiMmE3YjAzODU4MjkyIGxlZ2FjeS10cnVuaworMTg4NTUgZWFlMjYxMTc5ODZmYTRiOGIyMjI1ODE5YjQ1ZTc1ZjkxMDYwODcxOSBsZWdhY3ktdHJ1bmsKKzE4ODU2IGY5YTE1YTU4M2M3OWQ5YTYxOTA3NWQyM2FmODg2MGU1N2NlZjM5ZDQgbGVnYWN5LXRydW5rCisxODg1NyA4ODMyNWI3M2E2YTNiMTI5NjZhOGUzY2U4NDZmNzA4NGMzYjk0ZjU0IGxlZ2FjeS10cnVuaworMTg4NTggYzUwM2ZhOWIyNjVlMjJiZTJlNTVhZDRhNWNkZDI5ZWU5NzE0MDYxZCBsZWdhY3ktdHJ1bmsKKzE4ODU5IDY5NjVjMjA1YjYwMzY0ZmU4OGZlYjk1MzZhOGVhODQyZGI1ODgwMWMgbGVnYWN5LXRydW5rCisxODg2MCBmMzkwZjQzYWM0YjY0OWE5YWE4MzNmYmVhMmEyYzU5YjdjMGI1MWMzIGxlZ2FjeS10cnVuaworMTg4NjEgMWRjMDJiMjI5NWE5NzQ2OTVlYzRhNmQ0YWMyZDkzZGIyOGQyZDkxNSBsZWdhY3ktdHJ1bmsKKzE4ODYyIDNmNjFlZjcyYWVmMzUwNmUyN2M0ZWRhMjBiMjVlMmFjYzQ0ZmM2NTEgbGVnYWN5LXRydW5rCisxODg2MyBmMzc0MDY3NGFjNWJmMzI5OWVmZjk1NmFlOGZhMjk3MWE2Mjg3MTZhIGxlZ2FjeS10cnVuaworMTg4NjQgZTFlNzZmZTNjYjUzYjE1MjVlY2I1YzdjMDg0YmI3Y2M5YThkMzM1ZCBsZWdhY3ktdHJ1bmsKKzE4ODY1IGU4ZWUwNzg1Yzg0Njg2OGNkZGQ0ODczYzYxNWVkNzAxOTRiNjM1MGYgbGVnYWN5LXRydW5rCisxODg2NiA5MjUxY2Y3MGVkMWY4YjVlZDViM2MwMmJjZTE3MjBkOWZlMGU1ODQyIGxlZ2FjeS10cnVuaworMTg4NjcgY2VkODA0MWViNGVhN2RhOTU1NDZiZDc0MTM5NzM2YzM0YmQ4NWZmMCBsZWdhY3ktdHJ1bmsKKzE4ODY4IDUxODExZDc4YTlkYWE2NGZlNTlhM2ZhNWE0NmI2YzBmMjc3NWU2NmQgbGVnYWN5LXRydW5rCisxODg2OSAzMjM1MmUxMjBjMzc5NDgyYzE4ODEyZDlhZjI2NDU2MTA1MWJiMTk4IGxlZ2FjeS10cnVuaworMTg4NzAgNGM4NTZhMTgwNDU4N2IwNTE3NzA1NDliOGY0ZGVjMDQ2NTdiODk5NSBsZWdhY3ktdHJ1bmsKKzE4ODcxIDJkZjQ1NzRkOTBmZTZkODg4NDBjZTdiOGNiNDA2OGU3MGZkMzVlMzggbGVnYWN5LXRydW5rCisxODg3MiAzM2Y1ZWU2YTBlYmU3NDlmZjQ1ZGYyZWJmODA2OTQ1NjIyNjk2ODc5IGxlZ2FjeS10cnVuaworMTg4NzMgZDkwZWVhYjVmOWE0MThlZGY4MzEzMjgxNDE5Zjc1YWM2M2FmNzkwNiBsZWdhY3ktdHJ1bmsKKzE4ODc0IDhlNGRmYjY4MTY4OWJhMGMzZjZlZTRkOTc5MTMzMWYxYTU1OWZhYTAgbGVnYWN5LXRydW5rCisxODg3NSA5YmM3NTQ0MTNhOGMyZGEzZGJkMzA1YWNiN2ZjNDVhMDdjMjEwNGJjIGxlZ2FjeS10cnVuaworMTg4NzYgNzU0ZWNkMjFmYmVmNjVlMmVlMTU0OTY1NzVjNDJiOWFhYWVjMjFlYyBsZWdhY3ktdHJ1bmsKKzE4ODc3IGM4MzJlZjcyNDk5ZGIzYmQ1NTI4MWRkYjY4MWMzNGFkYzExNDZjYTYgbGVnYWN5LXRydW5rCisxODg3OCA4Y2E2ZDhjYWZjZDM3Njc0ZjBjMmYxOGY2YTFkNjRkNzBjZmQxODliIGxlZ2FjeS10cnVuaworMTg4NzkgNzIzNGQ3YzNjMjlmOTc1Yzk0MDQwMzgyN2FlMjM4Yzg0MDcyYTQ5ZiBsZWdhY3ktdHJ1bmsKKzE4ODgwIDIxZTdhMThkZWJlNjgxYjU0NTNmYmRiMDY2NjU3MWUwZTI0Yzc2ZTYgbGVnYWN5LXRydW5rCisxODg4MSA0NmY3NzJjNmEyMDAzY2U5MjEyZDdiZDY1MzJiM2EyOWQxODkyMmZkIGxlZ2FjeS10cnVuaworMTg4ODIgN2MxM2JjN2M0ODVmYTdlMWE0NmY3ZTMwYzY5N2VjNzE2NTQwMzY4MiBsZWdhY3ktdHJ1bmsKKzE4ODgzIGNmYWMyMjQ1YTJjNzJlMTFmMDA5YTM0MzE3NmVhMzgxYmFjNjk3Y2QgbGVnYWN5LXRydW5rCisxODg4NCBkN2Y1M2YxMmRiZWUxZmY5MWY3ZGY3NmFjY2NmM2ZlOTZmNmE4Y2FmIGxlZ2FjeS10cnVuaworMTg4ODUgY2UwZTQxY2U3ODdmZmY5M2Q1MGU2NTM1ZTBlZjRiYjEwYTkxODc5YyBsZWdhY3ktdHJ1bmsKKzE4ODg2IDBmODEyNzM2NmEzZjdiZTI3MTc0NWU1MDcyNGZkNmViYTlkZDE1ODEgbGVnYWN5LXRydW5rCisxODg4NyA1ZGMxNzczYzdmN2M5N2UwN2U4MjgzZjdkOTUyM2YyYzY2MmVlNmM4IGxlZ2FjeS10cnVuaworMTg4ODggODY1MjY2MDExZGZhOTJhMmIxYTAwYzFlYTk2MzQzNjU0ZTJmMjVhZSBsZWdhY3ktdHJ1bmsKKzE4ODg5IDU5ODhmNzY0ODBkNmQ5ZmE4NzQwYWFmMWQxMGRmNmI5YTY5NDAzNjggbGVnYWN5LXRydW5rCisxODg5MCA4M2QzM2Y3ZTlmZDQ1NzQ3ODhlYjc2YTk3NzhmZjU5YmQxYzhkYTAyIGxlZ2FjeS10cnVuaworMTg4OTEgNTVkODlhOGZlOTYzZmViMTdiMTFjMzVlMzkwMTA5ZGYwM2U5ZWExNyBsZWdhY3ktdHJ1bmsKKzE4ODkyIDhiYTg5MDlmYjgyMzA0ZWNjOTdlOTZjZDdkMmZkMjdiOTE3ODBhOWQgbGVnYWN5LXRydW5rCisxODg5MyAxYmY1ZDhiNGNlYmU4OGVkMDkyZjE0OTc5ZGRlMmEzOTUyNDM2MGEwIGxlZ2FjeS10cnVuaworMTg4OTQgNWJhNDU5MTZhZmM3ZjA3NWIyZThhMzFhYmQwYzUzMmNmYzdkOGQ0NiBsZWdhY3ktdHJ1bmsKKzE4ODk1IDc2MTU1MTEyMTg3ZTBhZGRiMTVmMzVmZjAxYTc5MTI5YjI3NTEwYWQgbGVnYWN5LXRydW5rCisxODg5NiAxOWVlZTJkYjJiMTZjYjU4NDk5NDNjYjJlMTZkM2Q4MWYyNzk2Nzg3IGxlZ2FjeS10cnVuaworMTg4OTcgMTE0NGFmYjk0MDE5Y2RhMDlmYTkyNWI1NGM5OTkyNzJhOTJmN2U2NSBsZWdhY3ktdHJ1bmsKKzE4ODk4IDczYzQxYjQ5YTliODBlZmVkNDhjZDFlMmQ4ODRlOTFjZTYwZTMzOWMgbGVnYWN5LXRydW5rCisxODg5OSBiYTI5NWUyYzczZWE2MDhiZGUxZDhlNTdkMmM5ZDUwZGRhMjhkNWU5IGxlZ2FjeS10cnVuaworMTg5MDAgYjY4NjNiYTg4OTg5NjJkNTljOWQ4NmJjNmU5YWRmMjdlYjlhYzRiMSBsZWdhY3ktdHJ1bmsKKzE4OTAxIDRhNjY1OGUxOGYzNmYxMDBjNjk0YzFlN2RlN2ZhNjg4OTllZWMyMjYgbGVnYWN5LXRydW5rCisxODkwMiA2M2EwYTZkMThhNjA0MjU2ODQ4YjU1OGRiYTVjNTM0Y2EzMGMzNDRhIGxlZ2FjeS10cnVuaworMTg5MDMgMzBlMzFjMmFiNjBmYTU5YmI4MzBiMGRkN2Y0ODc3MjIyYmQ3Nzg2ZiBsZWdhY3ktdHJ1bmsKKzE4OTA0IDc4YmQ5N2Q4NDEzY2NmN2JmN2I0NDNmMTVlNjBkNDMzMzM5ODI1MTIgbGVnYWN5LXRydW5rCisxODkwNSA4YmFjMDY1OTM5M2ViZGZmZGU0NzY2Yjg1Mzc4ZTNhZjQ1M2JmNzE4IGxlZ2FjeS10cnVuaworMTg5MDYgMzVkZmY0NzEyYzhlNjI1YTZkZDE2NDkzNDRmNzA5ZTI2ZWU4NGEyZiBsZWdhY3ktdHJ1bmsKKzE4OTA3IDNhNTZmNjUwOTlhYTc4ZGRjODQyZWIwZDIzZmQ3ZDkzMGM1MGQ5YjIgbGVnYWN5LXRydW5rCisxODkwOCA3OTM3YmNiYmRkMjRhMDhkOGZhNjQ3ZWIyNDYzMzBkZmVlMjIwYjJlIGxlZ2FjeS10cnVuaworMTg5MDkgZTUwY2ZhNTQ3NWYzNDIwN2NlMTkxZjcxYTdkZWExZDA2NWY1MzZjMCBsZWdhY3ktdHJ1bmsKKzE4OTEwIDcwYmIxMTE5MDQ0YWNlZWViMzA3ZDU5ZTViZTEyMTczZTM5Yzk0Y2IgbGVnYWN5LXRydW5rCisxODkxMSBiYjgwNWNjZWI0MDMwMGE4NDAzZTU3MzJiMzczM2FkMmI4NGViMjFkIGxlZ2FjeS10cnVuaworMTg5MTIgZTYyZDVhZmYwYzNhZjFkMjQ0NjUzOGQ4ZTkxOWViNmI1NTY3NDI0MiBsZWdhY3ktdHJ1bmsKKzE4OTEzIDQ3OThkYzczOWMxOWEzOWY2NDExYmM5ZmM3ZTFjZTZiODAwZDJiZjYgbGVnYWN5LXRydW5rCisxODkxNCA3NWEyMWMyMzBhMjY4MTlmMWU3Nzc4YWQ4ZTNmMTI5ODlmN2VjODA4IGxlZ2FjeS10cnVuaworMTg5MTUgYWNhMDVkNzVkMjMyZjEwMGQ5NjgwMmEyYWQxYjJkYTRkOWI3ZjdlYyBsZWdhY3ktdHJ1bmsKKzE4OTE2IDRjYzlhMWViZWE2MjhlZDE4NDZkMjQ3OTk4OTBiMTM4YmRiNmU4MjggbGVnYWN5LXRydW5rCisxODkxNyA2NGZhYjAwNDdhMTQyOTJhNzIwYTk2ZmE3NWU0NGNlYTgzMjE1N2RjIGxlZ2FjeS10cnVuaworMTg5MTggODgzYzdmNjE1Nzg5MDk5YzY0ZTU3YmZjMTUwNTJkNDQ1MDExZjk1NiBsZWdhY3ktdHJ1bmsKKzE4OTE5IGUzMjU5ZTRiZWM2MDYzOTJkNzQwMzQ2MDM2YmRlYTFhMDhkNDkzZGYgbGVnYWN5LXRydW5rCisxODkyMCA0YzQwZTlkNzRjNWFhNWQyMDQ1YjgwOTUyNzI2YTNhYTdhOTRkMjJmIGxlZ2FjeS10cnVuaworMTg5MjEgNTY0YmMyNDJmZjBmMDgzZWIyYjZiYzcwNTA2N2VmMzVhMDc4NDgzZCBsZWdhY3ktdHJ1bmsKKzE4OTIyIDU5NmVkZjgxMjlhMDc4MGQ1Njg2YjQzNDBiZTVjYjg5MWEwZTY2NjkgbGVnYWN5LXRydW5rCisxODkyMyA2YjY0N2E1ZDViN2UzOTFlZTkyYjE3Y2YwM2ViMzExYTliZDRmYjk5IGxlZ2FjeS10cnVuaworMTg5MjQgYWZjNmYxMTM3ZWE0N2M5MjQyNzA2NDdkYjY4MjQyMzg1NjU2YWU5NCBsZWdhY3ktdHJ1bmsKKzE4OTI1IDgxMjg1ZjU0NWQ1NDY5NjhhYTFlMzNjOTIwNzlkMmU1ZGUyMjYyMGMgbGVnYWN5LXRydW5rCisxODkyNiBhOTdhYTkyMzg3NzExM2MxNjU2MWQ1ODY3MjA0YjJjNDE1ZWY1MDZjIGxlZ2FjeS10cnVuaworMTg5MjcgYzI5ZGEyYzE0NDE3ZDhlMDY5ZWUzZTU1Nzc1NmNhZTA3NjBhYThmZCBsZWdhY3ktdHJ1bmsKKzE4OTI4IGQ5YjY5ZDc4MGExNjBiMDUyYzViYWM4YjNhZDNkZTRkMzJlNzliZmUgbGVnYWN5LXRydW5rCisxODkyOSBmZTM2YWI0YjNlOTczMjU0M2FkMjZmY2YxODE5ZmY0MjU1YjA1YTVlIGxlZ2FjeS10cnVuaworMTg5MzAgNGRiNjY0Mzg5NDE1MjAyZGI5YTkxYWUxYmRiZjZkZDcwMDNkOTVhMCBsZWdhY3ktdHJ1bmsKKzE4OTMxIDY4YTgwM2I0ZDYxODJhYjRjNzJhNWUwYTJmZDEwYzU2NTE3NTYyYjEgbGVnYWN5LXRydW5rCisxODkzMiBiNTM0NWU5OTU5NmJlYTk4NDRiNzA1N2UyNTEwZDEzNTU4M2YzYmE4IGxlZ2FjeS10cnVuaworMTg5MzMgYWY3ZDc5MTRmYmY5OWJjYjI0M2NhYzE3ZGYyMWJjMmQ5MjMzOWFjYSBsZWdhY3ktdHJ1bmsKKzE4OTM0IGJhZTg4OWY0NGNkMWZkZGQyMjUxODZkZTkyYmI5ZjExZWE5NGU3NjQgbGVnYWN5LXRydW5rCisxODkzNSA3MTNlZDZjNmJjYjUzNGZkM2YwZTU0MDhhM2ZkODE4Y2MzMjczMzVkIGxlZ2FjeS10cnVuaworMTg5MzYgN2U1NWZhOTNmNGRiYzI4NzkwZTRhYzAzMGQ2NjljNGI0ZmJhMDM3ZiBsZWdhY3ktdHJ1bmsKKzE4OTM3IDUwYmJlODExYjM0NGM5MDY1MjVmYzRhZmQwYzEwOTI2YWE5NTc4ZDggbGVnYWN5LXRydW5rCisxODkzOCBlYWJkMDA4YjM2ZWU3ZmVjYTdlMmJlODY0ODZmZGYzYTllYzE2MTc2IGxlZ2FjeS10cnVuaworMTg5MzkgMmQzZTYwMTc5ZDdhZmVhZDcxNjBlNGNjMDM3MGJlNjVkOThiMzg0YiBsZWdhY3ktdHJ1bmsKKzE4OTQwIDkxYTYzZGY3ZWVlNDE4ZDE4NzE2Yjg1MWQ1Y2M1MTk4YjE0NDY5ZTUgbGVnYWN5LXRydW5rCisxODk0MSBjNDM1NTkwNWIwNDRkZTEwZDUyOThjODk1YjhmYzRlNjRjYjc3MWNiIGxlZ2FjeS10cnVuaworMTg5NDIgOTNmODM2NDMyYzJiZDJhMDI4ZDEyM2E1OWQ1NjhhMzM5OWFkMzVjMCBsZWdhY3ktdHJ1bmsKKzE4OTQzIDFiNmU0NTdkMDNhYjZjYjVlMzI4M2VmMjY0YTgwODc5NTA5ZjM3MjEgbGVnYWN5LXRydW5rCisxODk0NCBlMmIyYjA0M2FiNGVmOTc1NTExN2JhZDUyOTZjYzBhOGY2ZmY1OWFlIGxlZ2FjeS10cnVuaworMTg5NDUgYWJmYjExZjhlMDUxYTAxM2MzODIyYmI5YzQ1ZjRmMzZlNWMyZDJiMiBsZWdhY3ktdHJ1bmsKKzE4OTQ2IDRjMzA3YTEyZGNiOTc2YTQ3MTY2NmE2NTMxNThlNzc4MGZlMmNkNDggbGVnYWN5LXRydW5rCisxODk0NyBkNTZiNDkyNjUzMTBmZWE0ZGE2NTUxMDcyNDBiYzA3OTU3OGNkYzcyIGxlZ2FjeS10cnVuaworMTg5NDggNDgxYzNkNTBhNGU1NTU3YzViNWM3MTVjZWE0OGY2ODU1ZTI3ZTgyMiBsZWdhY3ktdHJ1bmsKKzE4OTQ5IDI2MzAzNWJlYTNhZjIxMGUyNDQ4OTg5Yzc0MjMwNDRiMGYyOTk0OWEgbGVnYWN5LXRydW5rCisxODk1MCBkYmE4MzgwOWE3NzUwNzcxMzAyMzQxN2UyNGExZmU1NmMxMzkzZTI2IGxlZ2FjeS10cnVuaworMTg5NTEgNmUxNDNhZjg0OTI3YTg2YTE1OGI1ZDMxNDUxNDBmMjkwOGRlZmFlMyBsZWdhY3ktdHJ1bmsKKzE4OTUyIDhhYzQwZDQ4YTU4MTRiZjk3MWJhZmUwMTExMDAzMzAzYmY1ZjQzM2QgbGVnYWN5LXRydW5rCisxODk1MyA0NWMwNjU2NjhlYTVjOGY5OWMxMjgxYjc2ZGZhNGVjN2M1NTg4MTQ3IGxlZ2FjeS10cnVuaworMTg5NTQgZjNmNmI3NTk4YmM1YTA1MjM2MjQ2N2Y5MTNjMjNhMTQ2ZmI4Y2I2NyBsZWdhY3ktdHJ1bmsKKzE4OTU1IDBjMWFjYzE1NDU1ZjBiNGIwZTI5M2NlMTBkZWU4MDM5ZTdjYWM4NjcgbGVnYWN5LXRydW5rCisxODk1NiBjYTQ2ZDM0NTQyNjllNjlkN2FhYTVhOTMwZWQ1YTFhNmM1ZjZlYzQyIGxlZ2FjeS10cnVuaworMTg5NTcgYWIwMmYxNzQxYTI4YzdjYzE3MDdjZGUxNjA3YWUwODY5MjI0MGM4NiBsZWdhY3ktdHJ1bmsKKzE4OTU4IGZiNjcxMjJlNWMxZWRiYWU3YjUxMWY3MzZmMDk2MjYyYjNjZDliMGYgbGVnYWN5LXRydW5rCisxODk1OSBlMzUzNmFhN2FlNGFjNGE0YTFhNWUxYTM2Y2M2MGU4MGFkYWVjNmRlIGxlZ2FjeS10cnVuaworMTg5NjAgZmI3NjdhNDQ5NjFlNzE5MjU5NzlhM2EzZmIyODk2OWVmOWYzOTMxYyBsZWdhY3ktdHJ1bmsKKzE4OTYxIDk2N2FiYmVjYzQwNDFhMjJlMTEzMjY0MjNkOTFkYzE2NzhmNGU3YWEgbGVnYWN5LXRydW5rCisxODk2MiBhZTI5NjIyOWY0MjY5NTdlNjhiNWQ0NGM5ODQxOTE0YzBiMDhiY2U2IGxlZ2FjeS10cnVuaworMTg5NjMgM2ZjZDdmNDY1ZjM0OWZjYjhmNjMyNWJmMGFkYTgwZTFmZjA5YzNiZCBsZWdhY3ktdHJ1bmsKKzE4OTY0IDdjYjk0MGMxNTY0NTFlZTNlNTBlMjY1YTZlZTFlMjBhOTA3NWM3YjMgbGVnYWN5LXRydW5rCisxODk2NSBlMDQxOGIxZjVjYjdjYjE3MGQyMjU5ZjdmYTU4MDdlNzNjNDQ3MWQ3IGxlZ2FjeS10cnVuaworMTg5NjYgYmFlOWFiYWRlZTIyYTQ4ODM4MDdkYjZhMWY2ZGNhODIzYjRhMjU0ZCBsZWdhY3ktdHJ1bmsKKzE4OTY3IGQ2OTU3MWJmNzg0MjY3YmRlZDc0NGY4N2U0Yjg2ZWMwMzJmNTJiZWIgbGVnYWN5LXRydW5rCisxODk2OCAyOGM0MTRkY2IzZTE4ZTU0M2YwMDA5MTY0ODJkYTk0NjdiMDE1NWU1IGxlZ2FjeS10cnVuaworMTg5NjkgZGMxYzU3NzE0YjNkZDRmMjQzZjYwY2ZmZDE0NTJhNzBhZjUzYjI0YyBsZWdhY3ktdHJ1bmsKKzE4OTcwIDI4ZDhjY2JlMjM3ZjY4M2QyMTUxOTY4MWEzZDUwMWNkMjkyYWJlODcgbGVnYWN5LXRydW5rCisxODk3MSA0ZDQ1MWM5MmJjNTBiMmQ2NDQ1YTlmNjE4ZWNjMWFkMGJiOTY1YzkxIGxlZ2FjeS10cnVuaworMTg5NzIgMTQwZDQ1YWEwOWRjMDlkNjAxZTc5NGNjNjI5NTAxNTg5ZjBjNWY4YyBsZWdhY3ktdHJ1bmsKKzE4OTczIGUwODI0YjM1NDRmYmVlODFiMjYzNzcxZGNmYmJjZTQwNTllYjIxNGEgbGVnYWN5LXRydW5rCisxODk3NCBhMDU5ZDEzNjA1YTBlMTc5OWEyYzQwOTAyN2FkNzlmODEyYTFhODMxIGxlZ2FjeS10cnVuaworMTg5NzUgNzA2NjZiMjdjMWIxYWNkZDcxMmYzZmFhZTcxYTVkYjA4YzdlYTU1OCBsZWdhY3ktdHJ1bmsKKzE4OTc2IDQ0ZmQxYTdjYjI3OTM5YWYxZGVhNGY0ODQ3YjE4NzBlZjkyZmUzYjAgbGVnYWN5LXRydW5rCisxODk3NyAzZTEzNTI0ZWQ4NmNjMGVjMzRmYTUxOWQ3YzQwNmI5YTY5ZjkzNDM4IGxlZ2FjeS10cnVuaworMTg5NzggNjBmYWM2MmY2YzE1ZWEwNjAwODZjZTRhZWIzNzU4YjMyYTBkY2U1ZiBsZWdhY3ktdHJ1bmsKKzE4OTc5IDhlMDEyYWU5YTA0MjMyN2E3ZDUxZjk5YTgwZWU1ZGEwNTNhMGE2MWQgbGVnYWN5LXRydW5rCisxODk4MCA2NDU0NWM5ODZiOThiMjZmMGQ0MjI4ZTA4MzI2MTZlNmQ2Zjc4OTg2IGxlZ2FjeS10cnVuaworMTg5ODEgOTJiMjE0YmI0Mjg4NDg1ODQxNmQ1ZDkwZGRjY2Y2MzhmNTE0ZWNiNSBsZWdhY3ktdHJ1bmsKKzE4OTgyIGUwNTIzYTQyYzc4Y2FlOTJlYWFlODY3MDE1MzUxMDhiNTVhMDg3Y2QgbGVnYWN5LXRydW5rCisxODk4MyBmNmQ4YTEzOTI5ZDcyNzA1MjQ0NTE2MzJmZjc2OWI2MDY3OWNjNGI5IGxlZ2FjeS10cnVuaworMTg5ODQgMjM5YzczNzJjM2QzN2Y4Y2U0YjY0OTFiNGM5NjU5MTJhNWQyZTY2MyBsZWdhY3ktdHJ1bmsKKzE4OTg1IGY5OTdkZWQ0ZTIxOWYzMGFkYjBiODk0NGJhNmIzMGE1MmY3NGQyYTQgbGVnYWN5LXRydW5rCisxODk4NiA0NTQwZTQxOGI4M2FiNGYxMDg1MTYzYWUxYzAxNjM5Yjg5NGRmZGVjIGxlZ2FjeS10cnVuaworMTg5ODcgNTQ4ZTdhNTQyOTE4NWZmMGFlZGRhZGNmYmYzZDU3NDAyYzNkYWRlMCBsZWdhY3ktdHJ1bmsKKzE4OTg4IGZiZjA3ZTFmM2NhMDcxZDkyNzBlNzEyYjQzMmY3ZDJlMDIxZTc4Y2UgbGVnYWN5LXRydW5rCisxODk4OSA2ZjFmZDg1MDAzOThjYTkxZDlmZDk2ZDVhOTk5ODZiMDMxMzRlOWMxIGxlZ2FjeS10cnVuaworMTg5OTAgZDA4NjQ5MDJjOGM3ZDg5OTRmZWY0ZTk1MTAxZDA0M2EyZDQyMzk5YiBsZWdhY3ktdHJ1bmsKKzE4OTkxIDU2MzY4ZDM1MDhkZTU2MDI0NDQ5MGY4ODU1ODE1NzAzZGUyMjI1OGQgbGVnYWN5LXRydW5rCisxODk5MiBhOWUzYTUyODE1ZTJiYjNlMGViZTdiZjVjYTE4NmE1Njk1MjVmZDg4IGxlZ2FjeS10cnVuaworMTg5OTMgYWEwM2MyMGU4OWI3YWVmOTJkODViM2I2MWZkNmNjZjRkZDFiZWI5ZiBsZWdhY3ktdHJ1bmsKKzE4OTk0IDhmNjU1MmM3MDMwZDA1NGZhMGVhYzhkZGIyNDU2YTk1ZDUxODYyZTEgbGVnYWN5LXRydW5rCisxODk5NSBkNDgwMThiMzNlMzU3ZjQ5ZmRhYmEwMDYxYjljM2IyNzQzNWI0NGVlIGxlZ2FjeS10cnVuaworMTg5OTYgYTA2YjczYWQzNzFlYTc3NjBmNWM0MzNjMzcyZWUzNDk1NDVjMjQwZCBsZWdhY3ktdHJ1bmsKKzE4OTk3IDUxM2U1OWIzYjlhOTBiNDI1MGY2ZmYyOGNmNGYzYWU2Nzk3MjQzM2UgbGVnYWN5LXRydW5rCisxODk5OCBmYTllZjBlMmRjMDdkYWRlM2U3NWEyZTczYTNmMGQwMDAzMDcyZmY4IGxlZ2FjeS10cnVuaworMTg5OTkgODgzY2IwZTMxYmIyYjNmNTNhMmRhODI1OTc1NWYzMjY4MGJkYzFiYiBsZWdhY3ktdHJ1bmsKKzE5MDAwIDQ5YjdjMWJjNjAwNDI5M2JlMjJlNGEwYTBjYjI4Nzk4OTdmZjRiYTMgbGVnYWN5LXRydW5rCisxOTAwMSBkOTZjZTk3MDhjMDA3YzdkZDI4ZjBmZWQ5NWZjNDMyM2Y0MzI2MWM3IGxlZ2FjeS10cnVuaworMTkwMDIgMzhkY2VjMDY2MTdiZGZhMWY1MmI4YWIwMjhhYmFmNzQwNWJkZTE1OSBsZWdhY3ktdHJ1bmsKKzE5MDAzIDA1OGJkMWJmZjAwODBlNTliMDJjNTFhNTBlMDcxZTk3Y2E3NmQ1OGUgbGVnYWN5LXRydW5rCisxOTAwNCA0OWY5NGEyYjFkZDQwY2Y5MTQ4ODQwMzkxZGRkYWFjMTEwY2U0MDc0IGxlZ2FjeS10cnVuaworMTkwMDUgNmFhOTcyZGY4MGQ1NzYyY2YyNDdhMDAyM2RmYzM4M2U2MWM1ZjIwMyBsZWdhY3ktdHJ1bmsKKzE5MDA2IGQxMmJkZTRiMmFlOTJjZDFlZmRkOWM3MTMzOGMwZGYxOGY4Y2I5ZWYgbGVnYWN5LXRydW5rCisxOTAwNyAyNmU4MzFiYjBkNmVjNjg4YzUwYTlkNDRkMjQxN2EwYWI1Njk0NmE2IGxlZ2FjeS10cnVuaworMTkwMDggY2Q5ZGRkZDg5N2E5NTUzZTJmODZiMjJlOTA1ZDM3YjMyYjNlYzliNyBsZWdhY3ktdHJ1bmsKKzE5MDA5IGZiZjhhYmVjOTNkMTlmYzAzNDdhZTdjZGEwM2UyZDFhMjFhMDI1Y2UgbGVnYWN5LXRydW5rCisxOTAwOSBiNjA4MzFlZWFiNWEwNmRkM2M1ZTgyOTdhOTllMzkyOTdhYTg3OTRiIGxlZ2FjeS10cnVuaworMTkwMTEgN2Q3NjVjMWQ0OWUyZjMxNTdhNmYxODljYzU3ODRkMzY1NTk4NWQ5MCBsZWdhY3ktdHJ1bmsKKzE5MDEyIGNhMDU1NjA2YjNhMTFjMTc1YjM0ZjllNmY4MzM4OGY2ODE4ODM5OTAgbGVnYWN5LXRydW5rCisxOTAxMyA0OTUxZjVjNDgxMDViYmRkZjcyODM0ZWVlMGM3YmVjNzNhYWEyZTZkIGxlZ2FjeS10cnVuaworMTkwMTQgODVlMzVlNjhlM2RiMDU3ODk2ZTQ2ZGQwYjJlZTViZmUyODhlNWVhYSBsZWdhY3ktdHJ1bmsKKzE5MDE1IGRmN2JmYjM0YjJhMmU4ZGQ2ODhmMTMxYzExMGMwYjU4NjNjNDBlM2QgbGVnYWN5LXRydW5rCisxOTAxNiAzZWU1NTg2MzQxNjRkYWY0OTlmNzc2NTcwMzVhZDg0ZDRlNjFmZjgyIGxlZ2FjeS10cnVuaworMTkwMTcgYjJjODc5NWEzNDQ4OWViMjJmNjY4Y2RhNmVmNjgzNzdmOTNjYTQzYiBsZWdhY3ktdHJ1bmsKKzE5MDE4IDgzYzFmMTQ2ODJhMjU2MWFkN2M0ZjVlNzJiN2RmYjZjNmQ1NTdiMGYgbGVnYWN5LXRydW5rCisxOTAxOSA2MmJmNzM5OThjZGIyMWI0OTRjMzZlMTI4OWVkZDYwZmQ5NDg1NDFjIGxlZ2FjeS10cnVuaworMTkwMjAgNjM5NmNjNmIxZjdhMTI3ZWQyMTdhOTEzM2JmODQ0YmE5NWVjZDJkMyBsZWdhY3ktdHJ1bmsKKzE5MDIxIDY4MGQ2YTUwYzJlODQ0ZjExODhhOGNmYWM2MWNlZDE3YmM1ZmY4ZGEgbGVnYWN5LXRydW5rCisxOTAyMiA0NjkyMGI2MGNkMzM0M2YyNjMzNTU0OTQ0YTc3ODhkNDBmYjEzYzVjIGxlZ2FjeS10cnVuaworMTkwMjMgYzBkZTcxMGYzMWMwM2Y4MDE5NDU1ZTFkY2EzNDMyODM4ZGM3OTEwYyBsZWdhY3ktdHJ1bmsKKzE5MDI0IGZkMjc4MDMxZjQ0OWNiODUxNzQ0ZmRiYzQ0NzU2NTA3NTJkMDJlNmMgbGVnYWN5LXRydW5rCisxOTAyNSA1ZjQwZmRiZGQwMmM0MThkMWFlM2UxYzJiZDhhZTI0ZDBhYTBkN2UyIGxlZ2FjeS10cnVuaworMTkwMjYgMjIwOGEwM2QwNWEzYWRkMWYzMmM1OTYwYTEwMzJkNzA2MzA4OTFiNiBsZWdhY3ktdHJ1bmsKKzE5MDI3IDBhNzIwNzBlYWI2ZWJhNjMwYzQ4OGRjNzQ2ZjM4NTljMzE0MGIyODIgbGVnYWN5LXRydW5rCisxOTAyOCAxMDY0NmQwOTJhNTJmYjJkMzYzM2ZmZTJkZDBiMTgyZjViNDY3OWMzIGxlZ2FjeS10cnVuaworMTkwMjkgNzFjZWFiYTNmNjE1MWI0NGY5ZTdjYjgwOGIwNDY2N2NmMmQzNjIxMyBsZWdhY3ktdHJ1bmsKKzE5MDMwIGEwZTUyMDM4Y2M0ZTFjODEzYzY0ZTg0Mjc0N2MzMGM2YjFiNjFjZTYgbGVnYWN5LXRydW5rCisxOTAzMSA3OGNkZGJhNDU4MDUzMmZhYTc3YmI1NTZhMzUzMjVjN2Y0NWRmOWVhIGxlZ2FjeS10cnVuaworMTkwMzIgMmM3ZGY0NTQ5NmE2Mjc2ZTQ2MzliZDI0MjE3MjAzYTIyYzIxNGYyNSBsZWdhY3ktdHJ1bmsKKzE5MDMzIDdhZTZhMDlkNGQwMmRlZGQ1ZWM5ZjYxNTg5MzBkNmI1M2NhMDc4ODAgbGVnYWN5LXRydW5rCisxOTAzNCA3MjViMWJhZjNkYWI5MWMyYjQzMWU1M2I5ZDU5N2RlMDNkZTkxMjFlIGxlZ2FjeS10cnVuaworMTkwMzUgZjc1Yjg2NDg5OWZiMTUzMTVkODEwOGU4NGY4NjM2N2FiZDY1OWQ1MCBsZWdhY3ktdHJ1bmsKKzE5MDM2IDMwYzRjNGU5ZTNkNTY3N2Y0NDgwMjlkNjUxYjkyNGZiOWNlMDlhYjEgbGVnYWN5LXRydW5rCisxOTAzNyA0Mzg0MjhkMWJmMjcwZTY5NzBmMmI0YWU1NjFlNDhlNjlkYjRjNTZkIGxlZ2FjeS10cnVuaworMTkwMzggMmRjYmMxZGZjYTljNTRkZTYzMDcxODY0NmQ3Y2UzNzY4ZTlhNmI1ZCBsZWdhY3ktdHJ1bmsKKzE5MDM5IDI3NzQ5ODE4MzAzMDc0OGEwZDYxOTUyZmRmOTQ2ZjE1NTQ3ZjVjOTYgbGVnYWN5LXRydW5rCisxOTA0MCBkMGU4ZTE5NTljMGJlNDJmMTIwYjlkMzg4NDEwMzNkOWRiZmQzZjY0IGxlZ2FjeS10cnVuaworMTkwNDEgM2EwZWI0NWIyYjVlMDI2ZGZkMzUxNzUzNjQ0NTM0NTU5NjM2NGE2NyBsZWdhY3ktdHJ1bmsKKzE5MDQyIDZmOTI5MjBjMTE1MDA5ZGY0NWEwMjM4ODJmNjMxYjdmNDAyMTgxOTcgbGVnYWN5LXRydW5rCisxOTA0MyBhNTRjMjgyYmZiNjNkYTJiN2E3OGU1ZTZjOWZiNGYxZmFjNTMyNDA0IGxlZ2FjeS10cnVuaworMTkwNDQgYjg4MmY0Yzg1NjY2OGFmMzMyNzQ4NzQyNThlNGZjNDk0Mjc4MzRhMyBsZWdhY3ktdHJ1bmsKKzE5MDQ1IGExMzBkNWY3ZTU4YWViMjE5NjRkY2U2NGE0N2Q5YzRkZWEyZmIxYzAgbGVnYWN5LXRydW5rCisxOTA0NiBlMjZmOGQ2Y2YyODhlZjM2ZTJiYjQ3NGVlY2EyZmZmZWYzNjViZDMzIGxlZ2FjeS10cnVuaworMTkwNDcgMTE1ZmRjNjFhZTkxNGI4MmE5YzhmYjEzNDM4ZDA4MTJmMjdkMTYyNCBsZWdhY3ktdHJ1bmsKKzE5MDQ4IDAxZThhNmQ4ZGE4YmI2NWVmZWY1MTUxNTk5MTExMTdlZDVkMDkyYzkgbGVnYWN5LXRydW5rCisxOTA0OSBkNzIxOGFjOTljMDlhYjJjZWU2ZGE3NGViMDE3YmJlYTJkZmNiZjVhIGxlZ2FjeS10cnVuaworMTkwNTAgNDk5ZTIyOWU2Y2VkYTg5MmVmNTcyMDM1ZWE1OWNkNjZhNGRhMWZiYyBsZWdhY3ktdHJ1bmsKKzE5MDUxIDk5MWExN2Q2MTAzNjI3NjljYTQyNWJjYjQ3ZmViYjY1ZTRmMjkwYTAgbGVnYWN5LXRydW5rCisxOTA1MiBjMTJkODYyM2IyOTQ5MGUxMjBiOTAwZGNhZTUzNDk0OTE1NjhlZDc4IGxlZ2FjeS10cnVuaworMTkwNTMgYzAyYWU3YWUwMTFkNjI4MmFiMjE5M2NhMzhkZTdkZjkzYTlhOWZlMiBsZWdhY3ktdHJ1bmsKKzE5MDU0IDRmZTY5YTlmOGIzMDc2YjllZjE3MWY5NGYxOWYyMzA1YjUzNTBiYjYgbGVnYWN5LXRydW5rCisxOTA1NSAxZmY0Zjg5MDFkOTYwNjA5NTVkMjdiNjllMWY1N2QxNzc4ZTIyMzcwIGxlZ2FjeS10cnVuaworMTkwNTYgZjRhYzA2MGE4NDFiMzk5YzA3MTZkNzZlN2Y0N2Q4ZDkwNjYzYTYzMiBsZWdhY3ktdHJ1bmsKKzE5MDU3IDFhYTgzNDlmNjY5NTU4MDZiMDA1ZDA0N2JhZWVjMDY0NTA4OTI3MGEgbGVnYWN5LXRydW5rCisxOTA1OCA1NzEyNjIwMjk4ODgyYWMwNjk3MWYwOWRjY2Y5YmQxOTBiNTkwZDY1IGxlZ2FjeS10cnVuaworMTkwNTkgMWJiNzY1MTY4M2U3NDEyODRhMTQyYzU3M2Y1ODFjODg1ZWNmYjk3ZiBsZWdhY3ktdHJ1bmsKKzE5MDYwIDMyNzU1YjQ1NjM2OWQ4MjI2OWI0NzNhMWExZjQyODgwZTVkZmI1ZTggbGVnYWN5LXRydW5rCisxOTA2MSAwMWU1ZDNlNTg4MzNhZDllOTkwZGY4N2U0MzJmNmY3YjIwZjY5NjQwIGxlZ2FjeS10cnVuaworMTkwNjIgMzQ4NDY3MGMzN2YyZThkYmYyMDYwMTFjM2Q5OWVmZTRjYmIwY2E5OCBsZWdhY3ktdHJ1bmsKKzE5MDYzIDM4Njc4Y2IwYjNjZGI4ZGQ2MjIwN2VlZTJkYzMzMzgzMGUxM2EzYjggbGVnYWN5LXRydW5rCisxOTA2NCAzOTdhZTUzZjFhNDg5OTA2ZTU2MTUxOTc5ZmUzNjRkNjAwNjNkYzU2IGxlZ2FjeS10cnVuaworMTkwNjUgNzQzZDUyMDc1YmU1ZWZjYmYwNzgxOTJhNmVjOGQyODUzMDMxYTlkMCBsZWdhY3ktdHJ1bmsKKzE5MDY2IDIzYWI1OTkyMTIyZTgxNDA4ZmZlMjM0NTJkNzVhN2Q3NTlkZTFiYjUgbGVnYWN5LXRydW5rCisxOTA2NyBhM2Y1N2VkNzU3ZTUwYTliNTQ5NjQwMmU0ZGQ3MTE3ODZiMjM1N2IwIGxlZ2FjeS10cnVuaworMTkwNjggYTY0NTNjZmI3MzNmMWQ3YWY4MzVmZmZkMmE2ZWEyM2FmNjY3ZjVkYiBsZWdhY3ktdHJ1bmsKKzE5MDY5IDc0M2YxNjMzNjgyNzNiM2I1ZDVmNDAyOTdlNDcxOTQxM2Y0N2Q4MjcgbGVnYWN5LXRydW5rCisxOTA3MCA4ZDRhMjVjODFhOWI5NDMwZmIwMmRhOTBkMGQ1ODgzYjVlZGRjZGE4IGxlZ2FjeS10cnVuaworMTkwNzEgNTVlOGMwMjZlMWUzZmYyMmM1ZTYyNGJlMjUwYWQ5ZjMyN2UzZDM4MyBsZWdhY3ktdHJ1bmsKKzE5MDcyIDFlNDNhMjQ1NmU4ZmU0Y2NlNTFkNTJhNDJiMmZkNDFjN2ZiYWUzMjYgbGVnYWN5LXRydW5rCisxOTA3MyA5OGI2NTQ4NGFkZTZhODRjZTgxMWRhYmI4YjBkMzEzZjVmMWM4NTU3IGxlZ2FjeS10cnVuaworMTkwNzQgMWRmNDBkNzcyNGNjZGU0MDY1N2MzOGM3NDUxOGE5MzY2NDU1MTVlNSBsZWdhY3ktdHJ1bmsKKzE5MDc1IGMwZjYxZDRmNWEwNDg4MTIzNDY5ZmIzY2MzMGM1NTk2ZjdhNzUzODAgbGVnYWN5LXRydW5rCisxOTA3NiA2MzVlOWRjZmVkMmNjNjU4NDg5NWNjYzQyMTcwNGI2ZGMzMzQzNmQ1IGxlZ2FjeS10cnVuaworMTkwNzcgNzI4NjBlZTllYWYwODkwZmQwZTJiNmJhNTkzMDM1MjMxYzBjOWU2ZCBsZWdhY3ktdHJ1bmsKKzE5MDc4IDVhZWExNTgxNTQzYjQ0ODI4NTBhNWIyMWFhMzg1ZDYzODc2ZTA2MTYgbGVnYWN5LXRydW5rCisxOTA3OSAzOTc0OTFhYTIwYTZlYmNhN2M5Mjg5MWI1ZTVkZDcwZjM3ZDg1ODJjIGxlZ2FjeS10cnVuaworMTkwODAgYTRlNTRiZmQzYzI5ZDY1NjkxMWVhYWI4YmNiZGYwOTkyOTA0MGU0ZSBsZWdhY3ktdHJ1bmsKKzE5MDgxIDI1OWY3OWEzNmUyZjM2ZDBiMmRlMWI0YmRhODI1MDY2ZDRmZWIxYmMgbGVnYWN5LXRydW5rCisxOTA4MiAxODVkZmMxNGE5MzQyZmI3NjViZDE1MWI0YWRjNWU5ZThlNjE4ZTEyIGxlZ2FjeS10cnVuaworMTkwODMgNTg4NjkxZjgwNmY0ZDA4MWEzNDQxNjcwMjEzOGMxZmQ4YmYzMGVlMCBsZWdhY3ktdHJ1bmsKKzE5MDg0IGEwZTQ2YzNiZTYzZWYyZGY0ZjQxZDQ1OTcxNzg2MDZhZTQ4YzVlYjYgbGVnYWN5LXRydW5rCisxOTA4NSA1NDUzNDE0ODg3M2U2ZjljMTc5MmNlNmVmZGQyZGMyY2E1NjZhYTgzIGxlZ2FjeS10cnVuaworMTkwODYgZDMyOTJlZTViNmUyNGExNWM1NDVlMGIxYjkxMTJiZTliODJlNzM0OSBsZWdhY3ktdHJ1bmsKKzE5MDg3IGU1NmRkMmRkOTk2MDcyYTc5NDk2ODllNDg3YTM0ZmIxNTA1MTNhYjAgbGVnYWN5LXRydW5rCisxOTA4OCBjN2M0MDRiMzVmMzNhMGQ1NGM4MmY2NzU4OTlmMTkwYzEzZTUwZmQ3IGxlZ2FjeS10cnVuaworMTkwODkgOGM0ZGI4YjlhZjliOTBlNTM2YmZiNTAwZTQ3MGU2MjA2MmUxZjhmMCBsZWdhY3ktdHJ1bmsKKzE5MDkwIGFiYjk0NTA2NjQzNjc1MDgwNDRmOTRmZGViMDJlNGM0MTBhZjMxYmQgbGVnYWN5LXRydW5rCisxOTA5MSBlMzAyNTg2NDUyYTMwODM4MGNiYTQ5ZTYwNjAyZDg4ZTEwN2U3NjY5IGxlZ2FjeS10cnVuaworMTkwOTIgMzlhMTRiYzhhMGY3OTBiODQ4YmVkZmQzYzZkNDg3Yjk5YWNlYTZjZCBsZWdhY3ktdHJ1bmsKKzE5MDkzIDNhMjBkYTI4OTNjNDdmNThiZDZkYTlhYTI2NWRlN2Q0ODc2MmE5YTIgbGVnYWN5LXRydW5rCisxOTA5NCBkZjJlZDU2NjRiZTUxNTIyZTEyZmRmNzg1MzZkN2RhZGMzN2IwM2U2IGxlZ2FjeS10cnVuaworMTkwOTUgOWJmNDM4YzhmNWM3OTM4YTVmNWY1NTE3Y2QzMjk2MDYwYjUwMWEyYiBsZWdhY3ktdHJ1bmsKKzE5MDk2IDQxZWQ0ZDg2ZGI3NzcyNTBjNjJjNDFiYTZlM2QwODcxMmNlZWM1Y2UgbGVnYWN5LXRydW5rCisxOTA5NyA1YzYwMTg0ZjdmNTJhYjFkNTIyMzNlYzllMzk4MzQ5MjBhZmM5NzU3IGxlZ2FjeS10cnVuaworMTkwOTggZTVkNTlhOWRiZmMwMjhjZGVmMGVkMjY3YTIzOWFjMmMwMzUyN2I0ZiBsZWdhY3ktdHJ1bmsKKzE5MDk5IDNmZTc1OTI0ZWFjMTBkY2FhOTczOWE2MzIzNGVlMmI3M2IxOTUzZTMgbGVnYWN5LXRydW5rCisxOTEwMCBiNGQ0ZjIwMjExMTQ0YTljOGUyODAzMWY0OGRmYTJlYTUwYzdkMTEzIGxlZ2FjeS10cnVuaworMTkxMDEgMmZmODI2MzE4ZTg5ZWRmYmQwZDc2ZWE3Y2E1ODI1NGRhMTRjNDM2MSBsZWdhY3ktdHJ1bmsKKzE5MTAyIDdmNjE4YmMxMzk4MTEwOTIyYzU1NTZkNmNiZGUzYjUzZDA5ZDJmYmMgbGVnYWN5LXRydW5rCisxOTEwMyAwNWJlNWY4NWYzYmY2MDhkNmI5ZDkyODU3MWI1YTNkZmQ4ZTlmMTVkIGxlZ2FjeS10cnVuaworMTkxMDQgM2M1ZjA5NDIyYjY5YTlmZDg3MjMwYmU3NGVlOWM1ZjcwMjFjNGJkMyBsZWdhY3ktdHJ1bmsKKzE5MTA1IDlmZDk2ZTI0NTViNjJjNzc1N2YxZTBlMTdkZGU1ZDQ1OTYwYzBmYjUgbGVnYWN5LXRydW5rCisxOTEwNiBmYTIwOWNjODRjYWNlM2VjOGQzYzk4ODM3OWI3ZjE2ODVlNDE3Njg1IGxlZ2FjeS10cnVuaworMTkxMDcgMDk3MzZhZWFiODMxMWZmMjM3ZGJhNWVjMDI0NWE2M2EyMmE3MGE5ZCBsZWdhY3ktdHJ1bmsKKzE5MTA4IGM0MWRkMjIwNGI5YzhlMGIzMDNkMTIyMTgwYzE3Y2Q1ZGEwNTI4ZDggbGVnYWN5LXRydW5rCisxOTEwOSBhNjhjNzAzMmNkZjI5OWYyYjNlZjgxMzhkY2E3ZmE0NTUyM2QyOWY0IGxlZ2FjeS10cnVuaworMTkxMTAgMTQwYzUyODU4ZjY1ZTQwODhhYjE1ZmY1Nzk2YWVkZDk3YTMwM2ZiZSBsZWdhY3ktdHJ1bmsKKzE5MTExIGZhMjcxZDdiMmE2MmJjYWZkZjkzNmY0YzE2Yzk2OWQ4NTIzYjkyNTYgbGVnYWN5LXRydW5rCisxOTExMiBhYWI4NzE2MzVmZmFlNDliODkwOWVmNjYwZWRiMjY0ZjYwMzBhZWQ4IGxlZ2FjeS10cnVuaworMTkxMTMgYmQ4ZDI5OGFmODgwYzJhMWUwMmMxOGVkNzk5ZjIzNDg2YTUwMmUxZiBsZWdhY3ktdHJ1bmsKKzE5MTE0IDNmODllNzI0MDA4NjA1NjgzOTQxM2UzOWYwNGE3YzhiYjVjYzIyMzMgbGVnYWN5LXRydW5rCisxOTExNSA0YjUxZDA2OWJlMzUwZWQ5YTU0MDRmMDI0NzYzOTY5YWNiZjAwMmE2IGxlZ2FjeS10cnVuaworMTkxMTYgYzFjZjVkMmMyNmNhZTcwZTMwYzhjMzVlMjg0NmIxZTFiMDAxMThlNCBsZWdhY3ktdHJ1bmsKKzE5MTE3IGY4MDQ1M2U0NDViNWE0NDE1OGVkOTY4NjJhZDAyYzVhYmViMTBkYWIgbGVnYWN5LXRydW5rCisxOTExOCAwNzA3MTg3MmRlM2UxMTRiMDEyNmMzZTI3YWI3ZTZmN2U5NTA2MjAwIGxlZ2FjeS10cnVuaworMTkxMTkgZmQ4YzcyMDMyNTFmZjM3ZGJiMzk3ZjdkNDIzYWU0MWYxNmEwM2M2OCBsZWdhY3ktdHJ1bmsKKzE5MTIwIGY0OTRjYTBhMmIzNDZmZjY4ZmFhY2NjNjUwOGJlYTI4MDJkYTlhMDggbGVnYWN5LXRydW5rCisxOTEyMSA5Mzg2YjMyYmZmMWRhYjQyNGQwYjU1NGY2OTg2MTliY2I1NDNhOGZhIGxlZ2FjeS10cnVuaworMTkxMjIgMjBlZjg0OWVjODc3YzcyZTU0YjZhNDRiZjU4ZDQ1YWUzYWQ0MzUxYSBsZWdhY3ktdHJ1bmsKKzE5MTIzIGJkZmM2ZjFmYTQ3NWNlNjczMTNkOTNkYzFlMzNhZTJiY2ViYWY1M2QgbGVnYWN5LXRydW5rCisxOTEyNCBhNzA0ZWE1ZWNlYjZiM2QxYWZjMWZhZGNkYzg4NTQ0MWNlZGY3ODRhIGxlZ2FjeS10cnVuaworMTkxMjUgNzYzYTNkNDJiYWVkZjE2N2QyOTI1OTA3NDhhZjNhMDY3MTJkMzJmNiBsZWdhY3ktdHJ1bmsKKzE5MTI2IGUxODg4OWUzOTQ5YzA2OWYxYzM0MWUwZTc3YzJiNjQ2NTNiMWZjYzUgbGVnYWN5LXRydW5rCisxOTEyNyBkNjE0YjZlOWZiNGVkOTRlMWYwMGI3MTA5MGU5NDFjMTM5YzdhY2UyIGxlZ2FjeS10cnVuaworMTkxMjggOTlmMzQ2NzM4NDE1YTA2YjMyZmI3YTRiYjExODkwMTc5Y2QxODkyYiBsZWdhY3ktdHJ1bmsKKzE5MTI5IDYwZWUzMzhmMGQ2NjZmZGVmZTAwMzYwMjE1MzE5NjZmY2M2MWY5MGYgbGVnYWN5LXRydW5rCisxOTEzMCBjMmNlOWIyZTViYjQyM2FhZWVkYjBmMWQ5NTQ5ODhhMTllMTk3YTBiIGxlZ2FjeS10cnVuaworMTkxMzEgNzc5NTgyNjZjN2Q3YWFiZmVjNTM5ZmJiNzFlNDU0MmY2ZDZlMGRlZSBsZWdhY3ktdHJ1bmsKKzE5MTMyIDkwMjU1ZDQ0MWNkNWY2MjFkMDg1YTQ4ZTNiZTE2NzI0ZmVlMzIyOWIgbGVnYWN5LXRydW5rCisxOTEzMyA3ZWYyMzgyZjYxMjNhMDY1ZjkwNzYyMTBkYTdjMTI0NTkzZjllY2YxIGxlZ2FjeS10cnVuaworMTkxMzQgODM1ZTlkZDU0YmZiOGFjNjNmZWFlMzkzZDhlMWY0Y2JmZTFlODg0OSBsZWdhY3ktdHJ1bmsKKzE5MTM1IGM4NWNhOGM2MjEyOWNjODExNGM1M2E3MDQxZjNhY2IxYmE2ZTQ5NzcgbGVnYWN5LXRydW5rCisxOTEzNiAyYWViM2EzNGM3YWNkYjMzZmZhNWY5ODdlNDVmN2IyYmM2YTZhYzM5IGxlZ2FjeS10cnVuaworMTkxMzcgOWNlNTE0OTgyNWY2YWVhYmQwZDdjYjQ2OTBmNjAyZmQ1YjBhODRiZiBsZWdhY3ktdHJ1bmsKKzE5MTM4IGNhODU1NDdmY2I1ZTQyNGY1M2JmNmM0ZDQ0NmVjMGM3OTU5NjYxNzYgbGVnYWN5LXRydW5rCisxOTEzOSAxNmUyMTc3MmNhM2YxNDYyMDJkYWQ3NTk5YWVkMTljNDI1NDliYjAwIGxlZ2FjeS10cnVuaworMTkxNDAgYjQ2Zjk1NmFiY2Y4NTJmNTYwYWU5OTM0MGU0MmZlMWIxZThhYjM3MCBsZWdhY3ktdHJ1bmsKKzE5MTQxIDc4NWNlNjE5Njc5NjE0MjgzNDMwZGY0OTMwZGZmMDYyNGNmZTM3MDQgbGVnYWN5LXRydW5rCisxOTE0MiA4YjgxYTdlNThhMWQxOWM4YmY2Zjk1YWJmNDU4NzgyNzU1ZjdmMzZlIGxlZ2FjeS10cnVuaworMTkxNDMgMmFiY2JlNDQyNzFhYmIwNzYzNDUzNzI4NTljYzUxOGJjMzVmMjMxZSBsZWdhY3ktdHJ1bmsKKzE5MTQ0IGVhNGEyZjNiMjY2ZTAxODY1ZmQ2NGEzMjU4MjY2NGI4Y2ZiNzhiNDkgbGVnYWN5LXRydW5rCisxOTE0NSA2NWM2YTI5OThiMWJkZWQwYzk5NjUzZDYyMjA3MzIyNWZlNzk0MzJkIGxlZ2FjeS10cnVuaworMTkxNDYgYTA1NThlYmY2NjEyNzUzZTAzODhiNmQ3YWUzYzBjMDQ2NTVkYTQ1OCBsZWdhY3ktdHJ1bmsKKzE5MTQ3IDE1ZTBjMTAwOTJiYjRkYjBhZDY3MzI3MmZhMjk3MzEyOGExYzk4NjIgbGVnYWN5LXRydW5rCisxOTE0OCAyMGUzYzBkNWU0NmZkMzQzZTE4ZjExYzYwYzNhZTVmZmRhYTZhMTQ5IGxlZ2FjeS10cnVuaworMTkxNDkgNGI3Mjg4OGM5ZTJmN2VkZDMzNjY5M2Y4NWYyZjY2YTMyY2UzOWNiYiBsZWdhY3ktdHJ1bmsKKzE5MTUwIGMwYTI0NDFhNDQ1NGJkZjMwZGExZDI3ODRkYmMyYTRiMWFlOTNlOGEgbGVnYWN5LXRydW5rCisxOTE1MSA5M2JhMzNkYzMzM2FmMjJjN2FhZGVkYzdiMGIxMWNiMTA2YjgxNWY3IGxlZ2FjeS10cnVuaworMTkxNTIgN2EyNTE0NDBjZTY3ZDY4OTRhYmYyZmJkZThiMzI2YjYyZjYwMmNhMSBsZWdhY3ktdHJ1bmsKKzE5MTUzIDA5NDAzYzVjZGFmYmMwOGE2MGIyNjg1NmYxZDQyODBkZjNiNjZhY2MgbGVnYWN5LXRydW5rCisxOTE1NCAwNTAxYzJhMTAzMTVmYzRmMGQ0YzE0ODUzZWMxMDY0MjYzN2NmMmY2IGxlZ2FjeS10cnVuaworMTkxNTUgMjdhNGExN2FlYzI1MTRjZDg4NjQ2Nzk5NzI5ZTk1NmQxODVmNTNmNyBsZWdhY3ktdHJ1bmsKKzE5MTU2IDI4YzZlYzU4MWFhNjk2ODIyYjk5ZTNjZjI5MmJhYTMxMjUzZDZiNzUgbGVnYWN5LXRydW5rCisxOTE1NyA3YjM0NzZjMTM4MmViY2JmY2E1ZGQ3NzcxNGNkZTA5NWNhZjU2NzIyIGxlZ2FjeS10cnVuaworMTkxNTggYWI5OWJkMzk0NzBjZTM5MWJhYzJmOGNjYzYwNzk5OTk3MTNhMTBkNSBsZWdhY3ktdHJ1bmsKKzE5MTU5IGQwZDhjOWQ1MmYxODQ5OWQwYWFkZWNlYjAxMWE0MDI4MWE0NjZjZGEgbGVnYWN5LXRydW5rCisxOTE2MCAyZGIyOTkzOTU4MGRiYTc4ZDUwNmEzMjFhMDYyYzJhNTI0MDkyZGY0IGxlZ2FjeS10cnVuaworMTkxNjEgZTFlMGU5OTZiMDAzNWRhMjJkOWRiNTZlODRiZjA2MmUwYThlMTdlYSBsZWdhY3ktdHJ1bmsKKzE5MTYyIDI2YzFmZmZkZmZmMmYwOGU3NGM5ZjRjYWJjMDNmMzY0YjcxYzM2YTAgbGVnYWN5LXRydW5rCisxOTE2MyBiZGZiODFkM2M2MTBlYWQ4ZjM5ZGM2YTUzOTY3M2VjNjFhM2I3ODUyIGxlZ2FjeS10cnVuaworMTkxNjQgM2ExZTY1OGU0NDc0NmMwMjE2YzcwYWY2ZmQ1NTI5YTllODc5MjE0OSBsZWdhY3ktdHJ1bmsKKzE5MTY1IGU3ZjQxM2Q0ZWUxNWFiODZkNDY0YTE1YmUzZmM3ZGFkMWQ0MmQ5MDAgbGVnYWN5LXRydW5rCisxOTE2NiBmYzNmNTA1OTQ1ZDRjZDA4MmQ2NTA2Y2FlMzE4NzMyMDYzMTc0YWJlIGxlZ2FjeS10cnVuaworMTkxNjcgZmIwZjU2YmIxNDA1OTk3M2U1NjQ1OTZkODY4OWNkYTg3ZDYyYzMxZCBsZWdhY3ktdHJ1bmsKKzE5MTY4IDhlODczZmE1NDUwZWJmNTZiZTQwNmYxOTZhNThkNGVhODg2NWRhOTcgbGVnYWN5LXRydW5rCisxOTE2OSBmODRmOGQ4MWUzMmNlNzA3MTEyYjM4NjUwOWQ5OTk3M2I0MjYzMTcxIGxlZ2FjeS10cnVuaworMTkxNzAgOGU2NmVhNjAyNjE2ZGE4ZmVlOTE4YWE3MTE5MGQ0ODdjNGE3ODU2OSBsZWdhY3ktdHJ1bmsKKzE5MTcxIDk2NjNkNWViYjY0NmMxMjJjOGMxYjUzOTc3NTQ0NzA3Mzk1ZjU4MjYgbGVnYWN5LXRydW5rCisxOTE3MiA1NGIwYWVmNjUwYzUyOWQwNzZlODc4MDkxZjc3MDY5YTBkNjRlODRiIGxlZ2FjeS10cnVuaworMTkxNzMgOGM0MWYzODYxYWFkZGNjYWYyZDBmMmJhYjE1ZjhlN2Y0OWQ4NzE5MiBsZWdhY3ktdHJ1bmsKKzE5MTc0IGI4MDE4MTQ1ZTJhNWU3OTUyNmI1NjllNzJhMGY3ZDc1NzNlNTcxYjYgbGVnYWN5LXRydW5rCisxOTE3NSA2NjJhZGYwM2U0ZmEyZjY2ZGE2Zjg4MGE4MWMwNzEwMjVjNThhMmVmIGxlZ2FjeS10cnVuaworMTkxNzYgMjRlNDU3YmExZjkyNmM1YjRjNzRjOGMyMjE2NmY4YjA0MzYwNjVlMCBsZWdhY3ktdHJ1bmsKKzE5MTc3IDI4YzYwZWY0OGZhM2ExY2JhMWUxOTM4Mzk4ZmZiZDQyZTJlOGEyMDAgbGVnYWN5LXRydW5rCisxOTE3OCA3OWU3MmNlMjJhNDMwZjAxYTA0YmJmZGE1N2ZkZDIyZjliNWZjMGVmIGxlZ2FjeS10cnVuaworMTkxNzkgODYxYmY4ZGNmYjU4Yjg2NjdkODVlOTZhMjA3MzI4MjM5MDFmZmU4MiBsZWdhY3ktdHJ1bmsKKzE5MTgwIDE3Y2FjNzBjYWU3NjYyMTcwYTJhOTU4ZTQ3ZWNkZWY2MzZlZjZlMzUgbGVnYWN5LXRydW5rCisxOTE4MSBiMzM1ZDRkZDIyM2YzODg0YTY3NmJjNDAwMjZiZTk3OTExNDZiZTVlIGxlZ2FjeS10cnVuaworMTkxODIgMGVmYTZjOTdhNGZhYjU2NTg2YWQ0N2MwMGM5ZWI1NTY5M2M3NWVkNCBsZWdhY3ktdHJ1bmsKKzE5MTgzIGE1OGM5OTNkOTIzNDU3MmY4MjlkODU4YTRlODJiM2Q3NzVlZmFmZDQgbGVnYWN5LXRydW5rCisxOTE4NCA5MjViMjMzZjAyZWEwZGNlMTk0NDY5NjQ3OWRkZjFkNGU2MjM2ZjdkIGxlZ2FjeS10cnVuaworMTkxODUgYWZkMDkzMGY4NjgzOTlhZWIyNTBmZTRkMmQzMTYwYTNiMjU0Y2ZkZCBsZWdhY3ktdHJ1bmsKKzE5MTg2IDlkNTcyMDM4MjA2ZTAyNzYwODk1NjMxM2JmN2U5MWNlYTMwOTRmZTMgbGVnYWN5LXRydW5rCisxOTE4NyAzMzAyMzk1NzVlMWU2NzU3ZmNmZTc3YTY3ZmRmNGFlM2I2ZjJhZTIzIGxlZ2FjeS10cnVuaworMTkxODggZmZkMjUxZGZhYmY0MmFkODJhOTcyMDY0NWYzMjljMTllZWJjMDA5YiBsZWdhY3ktdHJ1bmsKKzE5MTg5IDkzYWZiMmJiMjJlZDA5YmFmOGY5NjA3MDQ4MDM2NTE3MmQ4OGUxYjUgbGVnYWN5LXRydW5rCisxOTE5MCBhYmQzODNmMTkwNWM4MWVjZTkwZjRlMjJjZTNkZTQxOGM1YzViNWNiIGxlZ2FjeS10cnVuaworMTkxOTEgNGQ0MjRkMTM5N2IyZDhiOTg1NDc4MzU3OWViZjMyMGQ1NzEyMTVjMiBsZWdhY3ktdHJ1bmsKKzE5MTkyIGJlMDZiZmNiZTUxYTJlYWM1MDI1OGI3NzJjZjQyNTZhYzI3ZWFmYTMgbGVnYWN5LXRydW5rCisxOTE5MyAyNGU4YzY5Y2QzNGRhNTRhNTgyOTc3MDMzYTAwYjgyYWNlM2I5MGM0IGxlZ2FjeS10cnVuaworMTkxOTQgYmFjYmI0NWZlODQ0OGZlMjM2N2Y0NTIyMTBkNDdhODE3MDI1ZDE3MCBsZWdhY3ktdHJ1bmsKKzE5MTk1IDAxZDViODBhM2MwMzgyMzc1ZGY5NDY0OGE3NDZjY2I4OTM4ZGVmM2MgbGVnYWN5LXRydW5rCisxOTE5NiAzNmRiMTkzNjA4YmVlMTU0NWI3Zjk1OTQxNTg4MTI3Y2RjZmNmM2UxIGxlZ2FjeS10cnVuaworMTkxOTcgMjg1MmVhZGI3ZGFiYTUxMmNiMzFlZGNjNDMyNjYzNTJiZDQ4OGQ2MCBsZWdhY3ktdHJ1bmsKKzE5MTk4IDJkOGUwMjkwMmQ2N2U5ODg5NzE0ZDkwMDNhYWZlOWYyNmEwZmQ2ZjkgbGVnYWN5LXRydW5rCisxOTE5OSBmYTkzYmQxZDg3MDlkOGNiYmRjYmUwNGJiOTdjMDc2YTdiMDkyOGQ2IGxlZ2FjeS10cnVuaworMTkyMDAgNjg3ZjkzZGRmM2Q3MzQzYmEwM2JjYTIzY2RkOTlhOTM4YmQ4MmU0OSBsZWdhY3ktdHJ1bmsKKzE5MjAxIDY1NDk4MmE0NjYwNzc2OWVlYjIwZjVjYWQ0ODIxYzk4NmI4ZjFmMGEgbGVnYWN5LXRydW5rCisxOTIwMiAyMDcwNzQ1ODhiOWZkZTA0ZDFkNmMxZjMwNDU2ZTIwOTRiNGZmZTU4IGxlZ2FjeS10cnVuaworMTkyMDMgYTRiYmEzZWIzNGMxZjE3MzZlMjkzNTY2MzVkZTFhZDM1MDM3ODAzNSBsZWdhY3ktdHJ1bmsKKzE5MjA0IDA1YTkxM2ZmOTdhNmUyMTBmNmEyMDE5ODdiOTU5NDcxZmNhYzQzM2EgbGVnYWN5LXRydW5rCisxOTIwNSBmODdhNDFiOTZlMjhjYzk4ZDEwMTQ0ZTRiMGFlODQ2ZDc2YmNkZjVlIGxlZ2FjeS10cnVuaworMTkyMDYgYThkODg1N2FiMGYxZWNkNWJhYTYwY2U5ZjU1OWIzMDI4YTg0NTMzZSBsZWdhY3ktdHJ1bmsKKzE5MjA3IDBjYjQ3OTU1MzQ0ZTQ0NGUwMTFhYjM3OTI1MGRkY2FjMDc2YWRiZWMgbGVnYWN5LXRydW5rCisxOTIwOCA5MGVkZTUxNjVkMWYzYzE1ZWEwOGEyYjg3ODhiMzI3YTUxNzBhYjA3IGxlZ2FjeS10cnVuaworMTkyMDkgNmYxYzM3ZTgxMTYwNWJmYTA1MTE1Y2NlZjY3ZDI5OWJlODFmMTg4ZiBsZWdhY3ktdHJ1bmsKKzE5MjEwIDZkZjEyNzMyZTI2MmYzYzc4M2IyYzA2OWE3ZGQ2Y2JlYWI4YjhlYjUgbGVnYWN5LXRydW5rCisxOTIxMSA3YzRlYjQwZDRmZjc5MjhlNTBkZTEzZDJkNjBkODc1MDFiMDlkZTE5IGxlZ2FjeS10cnVuaworMTkyMTIgNjZkNGJmNTZlMzJkYmIxODViMmVlMmMzNjFlNDIwMzAzMjY2MWJjMCBsZWdhY3ktdHJ1bmsKKzE5MjEzIGVmMzJiZmE1ZjVjNjgxMzQ4MGI0YTEzOGM2MTRkNTczNTUwMWM4OTIgbGVnYWN5LXRydW5rCisxOTIxNCAwZWViMmVlMjA3OTk5ZGFhZWIxZGI2ZjFhMDU4ZjRmZjk1ODQxM2Y3IGxlZ2FjeS10cnVuaworMTkyMTUgYWUwNGQ2MTRhM2UwMzNiNDBlYmY3ZGFhODY3OTc5Y2I4YTdiNDc5YiBsZWdhY3ktdHJ1bmsKKzE5MjE2IGMzYjc1YTdmYWQzZjc4MDZjNzQ5MDk3NWIyYjdiNzIyMDk3MDRhODcgbGVnYWN5LXRydW5rCisxOTIxNyBlNDQyMGMyNDY4ZjkwYWE2YjFiNjFmZjE3MGIzYmYyMGZhODA1MmYzIGxlZ2FjeS10cnVuaworMTkyMTggNGZmMjg1OGQ3YTg1NTY4NjQ2OTU3NjgxMmZmNTMyZTRhNDFjYjQzYyBsZWdhY3ktdHJ1bmsKKzE5MjE5IDlmMmNhODU1ZmE0NGRiNjRhMTY4Y2I5MmVkZGJmOWU3NWQyODBmOGMgbGVnYWN5LXRydW5rCisxOTIyMCBmYThiZTI4NzMwYzk4NTMyNDNiNDI3ZmMwY2ZmMzczMjQyMGJiYWMwIGxlZ2FjeS10cnVuaworMTkyMjEgMTA5YzZhMjgwZTUxYWEyYzdlZjJjMzVmZDYwMTY2NjU0Njk4YjRlNSBsZWdhY3ktdHJ1bmsKKzE5MjIyIDk1ZGFlNjFjZWQ1MTgzM2Q4ZjE4NTkxZjg3MDE2MGNmZGY3NjhjOTAgbGVnYWN5LXRydW5rCisxOTIyMyA4YzVkOGI2MTc5NzlhYmIxZTZiZGQyNTFmNWY5OGFkYjQ3MDA3ZGRjIGxlZ2FjeS10cnVuaworMTkyMjQgNjU1YWFjY2QxY2FmOGE1NTlmZmMzMmYxNjNkMTAyMjhlNTljNDEyYiBsZWdhY3ktdHJ1bmsKKzE5MjI1IGMyOWNhMTk4MDMwMzhiY2I0YTJmMGFhNDk2OWNlYmJmYTFjZWJjM2IgbGVnYWN5LXRydW5rCisxOTIyNiBmMWUyZjk4ZjAxMjA3ODAzNzFkMjBhYmRhZTE2ZjRiZDZkMjlhYjYwIGxlZ2FjeS10cnVuaworMTkyMjcgNTBmN2RkMWE1MzU3ZDljOTU5MzI3YjliMTY3NzMyMWYyNTM5Y2IyZiBsZWdhY3ktdHJ1bmsKKzE5MjI4IDM4Y2E5Y2M5ZmM0OGExY2YzMDA3YTlhOTA5YmNmMjA4NzJkOTU3NWIgbGVnYWN5LXRydW5rCisxOTIyOSAzYzFiNDI2YjNmZjRjNmVjY2ViMWUxMjZmYmVmYTQ3ZDBmNzM0ZjNlIGxlZ2FjeS10cnVuaworMTkyMzAgYzY5NmE1MmMyNjIxODQ1ODIzMWZkOGY2MzcxZDZiZGI5ZTM3OWI3YSBsZWdhY3ktdHJ1bmsKKzE5MjMxIGMwNGNhNmNiYTFlM2M4ZThiNTJkNWEzNjE1MTE0ODcwNWI3YzEwMjYgbGVnYWN5LXRydW5rCisxOTIzMiA0YjViZWNmYTJlYjNhY2Q0ZjFmNTljZDc5YzMwNjNjNzMwMTM3Y2Y2IGxlZ2FjeS10cnVuaworMTkyMzMgM2ZlODU1NTI2YzU1NjA0OWQ4OWM0NGUwNmIyZjExYmQ2YTVhNjc1NCBsZWdhY3ktdHJ1bmsKKzE5MjM0IDY3MGEwMTk0YThkYTdlOGJlOGQxOTc5MTk2OWY4MmZhNjg5ZTJkZmQgbGVnYWN5LXRydW5rCisxOTIzNSA1ZGZkN2UxNmM2MmYxNzJlNjRhZDRiNGVkODUwMzE3ZDliOWQyZjQ3IGxlZ2FjeS10cnVuaworMTkyMzYgNjMyNWJkMDYzZjBhODgzMzZmYmE1NTA3Yzk0NTY2YzhjNGQ5YTU1MyBsZWdhY3ktdHJ1bmsKKzE5MjM3IDZmZDYzYzVjMTlhOTIxOGIyODk5ZWNlMjk0M2RiZTlhNWYwYzcwNjcgbGVnYWN5LXRydW5rCisxOTIzOCA4YjFhMzgyMjRhZGU5YjU3NWE1NTNiMjU4NTg2OWExMjlkMjMxYTdkIGxlZ2FjeS10cnVuaworMTkyMzkgMGQ0YjZiYTVlZWVjODUwNTIyY2Q5MzU3NzkzYjNjZWU4MWZmMWVmZSBsZWdhY3ktdHJ1bmsKKzE5MjQwIDRjZDU3NDQ2OWZlMWFhOGM5ZGEwZGU4ZjFjYzYyNzQyYTY5YTFlMjkgbGVnYWN5LXRydW5rCisxOTI0MSA1ZjA2ODNhNjllZmM2ODg0YzY0MTczYTAzZDhjZDAzZTU0NjI5NjZhIGxlZ2FjeS10cnVuaworMTkyNDIgM2E0ZDJiZWZiYjc0NzM0MmRmMzMwYThlMzNiYTZkNjc4MGM4YTM4ZCBsZWdhY3ktdHJ1bmsKKzE5MjQzIDQ4YjRhY2Y3M2FkN2FiZDIwM2QzMmQzYzg5NWEwMzZjMmVjZDk0NDIgbGVnYWN5LXRydW5rCisxOTI0NCBlYzhmNDdhMWNjNDgzODg3ODFkODJjNDJjNzcxZTdiYTg2YmNiNTgzIGxlZ2FjeS10cnVuaworMTkyNDUgOThhODhhYmU1OGQ0MmViNzg5MGQ5MTI4ZTIzMmFiMDE0ZWM5OTI3MyBsZWdhY3ktdHJ1bmsKKzE5MjQ2IGM4OThjZWJhMjI2MTg0MGViOWNkNGExMTkxYjQ4Yjc1MWZkNzZjMDUgbGVnYWN5LXRydW5rCisxOTI0NyAxZmI2NjcyYjIwZWYzY2NhZjIxMDQ4Njc4MDFiOTExY2QwYWQ2N2NiIGxlZ2FjeS10cnVuaworMTkyNDggYzI1NTViNGYzOGEzMTQwZjYxMjExOWE4ZDZiZTA0NTE0NDc4Y2VhZCBsZWdhY3ktdHJ1bmsKKzE5MjQ5IDU1Njg4NzI5NmQyYWQ4YWUxYWRkNDE4NmFiMDAwNjc2ODcyOGNkZTAgbGVnYWN5LXRydW5rCisxOTI1MCBmZDRhNjM1NjZiYTFmNGQ5OWEyNzk1OThhMTZjMzA4YjEzNjgwZjQ1IGxlZ2FjeS10cnVuaworMTkyNTEgNDZhOGNmZTlhZmE2MzRkMGMzOGMzZDQxYzFiOWNmMzQzYWViNTEzNSBsZWdhY3ktdHJ1bmsKKzE5MjUyIGQzNGYyNTA0NmFkNGJhNDY5ZDc3ZTdhNDQ0YjdlYTgxMWQwOTJjY2YgbGVnYWN5LXRydW5rCisxOTI1MyAyYWIyOGIyMTNkNzA1ZGNjOWZkMDMzYTI1NDM0YmE0ZGJhNjg2ZmVjIGxlZ2FjeS10cnVuaworMTkyNTQgMmVjY2ViOWQ4N2Y1OWUyMjBmZGI0NmRhZjAxNjZlN2VkMTExZmMyNyBsZWdhY3ktdHJ1bmsKKzE5MjU1IDAzOTQyNzBkNGQwNmQ1YTE4NzI1N2U0OTQ1ZTQxM2VmMjc0NzkyM2QgbGVnYWN5LXRydW5rCisxOTI1NiBmNzAwZTZiOGRlMWZhNjA1OWUyN2ViZDRlMjY3MWIwMTQwMTQyMDAwIGxlZ2FjeS10cnVuaworMTkyNTcgNzRkMTQwYTNmMDM0NjM1NDg0ODI0YTIyOTZjZjVhMGQ2YTBiMTI4MiBsZWdhY3ktdHJ1bmsKKzE5MjU4IGIyMmU0ZGNhNDUxYTM1NzY5N2M2YmJkNTFjNTQ5ZTVjMzAyNzJkMTkgbGVnYWN5LXRydW5rCisxOTI1OSAwYmI1OGNkZmE2ODhmZjFkOTM3ZmFiOWMwZWEyOTAyZmY3NzZiZjYyIGxlZ2FjeS10cnVuaworMTkyNjAgODBjMGIyODBhNGY5MTFlZjZiN2M4MmZlMzJjOWQ0YTBjM2NmZTQyZiBsZWdhY3ktdHJ1bmsKKzE5MjYxIGRjZTdiNGU2ZDQyMWJjYjhjYzcxM2RlNGE0YzMyNjBlN2ExZDYxYTIgbGVnYWN5LXRydW5rCisxOTI2MiAxNjZlODc4MzZlOGU2MDU5MjYwYzlhYTdkMzYxMTZkMjZmODExNDczIGxlZ2FjeS10cnVuaworMTkyNjMgYWJlODVkMjYyMmY5ZmJkZWY1M2NiNTQwZTViOGQyZmQxMDA5MTVkMiBsZWdhY3ktdHJ1bmsKKzE5MjY0IDA4YWM1NTZmMmQxMmRlNTllYmE2NWQzNDVhNDdkOTdhN2Q1ZjY5MzAgbGVnYWN5LXRydW5rCisxOTI2NSBjMjJlODcyNTAxYTBjOTUyZTQ2ZmY0NTk5OTExZDU4YmE0N2E2YWQ5IGxlZ2FjeS10cnVuaworMTkyNjYgMzkwY2E0M2U1Zjc5ZDBmMmZiMDlmZmMxYzBhNThjZGQ0ZDRmYTY2NSBsZWdhY3ktdHJ1bmsKKzE5MjY3IDdhZDk3ODMyYTVjZDA1YjE3YTVlZTIwYTQ1MWIyZTY3Y2YyMTVjMTggbGVnYWN5LXRydW5rCisxOTI2OCAyZDcyZGI5ZjVjYTU0NGNkYmVkMDkyZjkwOTA0YWYzYmI4Y2I3OTAwIGxlZ2FjeS10cnVuaworMTkyNjkgOTllZGUyMTkwODcyNzM2NDE2MmMxNWJlMmFjNjI0YjNhNzY0YWFhZSBsZWdhY3ktdHJ1bmsKKzE5MjcwIGVjNzA5ZWU4ZTZmYTY1MjdiYWRiMDNmZDE0YTczMjBmN2ZkNjUzZDEgbGVnYWN5LXRydW5rCisxOTI3MSA3NDMwZWJhYmRiZGNhZWUzMjljY2IxYzdiYzJkN2FlYzM0OWQzNmUyIGxlZ2FjeS10cnVuaworMTkyNzIgM2Q0YTdjZDBiZjE3OGFkNjNlMzhiZDNjZWVmNTBmMTMyNzI0MDJkYSBsZWdhY3ktdHJ1bmsKKzE5MjczIGFlZGI5M2Y5YzZiODBkNTk5MWMwMmRjOTY1ZThiMGFmOGUwNmFjYjQgbGVnYWN5LXRydW5rCisxOTI3NCAxMGVhNDA2MGM4ZGM1NWJkNTNmOGFmZWIwMWJmMjJhY2NjZmM1YWQ5IGxlZ2FjeS10cnVuaworMTkyNzUgODgxOTg2N2YxNGVmNjU5YmU4ZmY4MDUxYzAxMjRhNGQ5YzVkNDM5ZSBsZWdhY3ktdHJ1bmsKKzE5Mjc2IDE4NWI5MTk2NzE0N2RkMDI3NjYxNWUyOGEzMmYyYjc2MWQyZmI5OTkgbGVnYWN5LXRydW5rCisxOTI3NyAxMmQwMDQ4ZWQ2Y2E1YjY4YzJlNjQ3ZjU2YTJmMzc4ODBhNDU3Y2U5IGxlZ2FjeS10cnVuaworMTkyNzggN2QzOWQ5ZGNmMmQ2MTEzNzhmYWNjNjgwNDA4MDI0YmZiNzU1NGRjZiBsZWdhY3ktdHJ1bmsKKzE5Mjc5IDkwMWI5NDY1NjkyOGIwZDBhZWViNmMwNzI4MGEyOWM4ZjI0Nzk4YzEgbGVnYWN5LXRydW5rCisxOTI4MCAxYWM3ZTYxODZiNmUzZjc3YmE3YjM4NWFlZGRjNDY5MjA0NjVkZTlmIGxlZ2FjeS10cnVuaworMTkyODEgMWVmN2U0MzcxNWY1NDBjMzBiZGQ2MTA3YzVhZmNiMGZjMzhkNjljMCBsZWdhY3ktdHJ1bmsKKzE5MjgyIDM4MjA0MDkzZDljOTI5ZDY0NGVmOWM1NmJiODlkYWY5OTQ1ODdjMGEgbGVnYWN5LXRydW5rCisxOTI4MyBhYTg0NDcxMTQ2M2FhODk0YWZmY2UwOWE4N2JiYWMzZjRjN2UwZTI3IGxlZ2FjeS10cnVuaworMTkyODQgOGIzMThiOGQ3OGM5NDQ2NmRjYmVmNWJhOTEyNWNiNTNiMzk2ZjI5MiBsZWdhY3ktdHJ1bmsKKzE5Mjg1IDVjNDAxMTM0MDljMzI3N2M2NjI0MWM5YmM3ZjNjZTYxZWU5MGFjNzcgbGVnYWN5LXRydW5rCisxOTI4NiAyNWVjNGY4YzYwYWFjZjZhMDI4MzQ5YmM3Mjg3MTI2MWVjZDcyZTIwIGxlZ2FjeS10cnVuaworMTkyODcgM2ZmY2M5YjNiYWI4N2Y3MTQ4ODQzNzMwNmQ3YzAyYmJiMGFmNDFlYyBsZWdhY3ktdHJ1bmsKKzE5Mjg4IDdlYTdhMWM1YThkMjAzYjNmYjI1MDJlNjhlZjE1NWE5ODgwOWRhODEgbGVnYWN5LXRydW5rCisxOTI4OSBjOGVmODY0YmE4NjFmMjM0Y2I1MzVhYWZkOGY4Mzc1ZTZhZmYzYjQ0IGxlZ2FjeS10cnVuaworMTkyOTAgNjQ5Njg0NGM0YTQyODA5MDZiNzUyOWNkMzhkNDkxMjQzZDQ3OTVmMyBsZWdhY3ktdHJ1bmsKKzE5MjkxIDhhNDQwZmYyNzRlY2JjYjFlNTM1NjY0MTliODljZTM0ZTA1Y2Y1YzAgbGVnYWN5LXRydW5rCisxOTI5MiAyYmU3YzkwYzFkZGVkMmU2NDEwYzE3N2Q5NTUxOGQ1ODg0NTNkMTM2IGxlZ2FjeS10cnVuaworMTkyOTMgYzE2ZTA2MWQyM2U4ODZiYjFiMTFjY2JhNDI5NDhkMTY2Mzc3NzIyYyBsZWdhY3ktdHJ1bmsKKzE5Mjk0IDZiNWUyMGY2OWU5ZWU5ZDU2Y2JmNTBjZGUwNDYzNDQ2ZjhjOWE3YmUgbGVnYWN5LXRydW5rCisxOTI5NSAwMDc2ZThkMjhmOWViYTllZmY0NTA4Njk2ZGMzMzczMGFmMmI0MDAxIGxlZ2FjeS10cnVuaworMTkyOTYgNWE0YmRmYzY2MDgzZWNjMzNjM2MyMDBkODE4NGVhZjUyNmU5ZmY4NCBsZWdhY3ktdHJ1bmsKKzE5Mjk3IGE2MjE5OTUwNzY2ZTc4YWYzODZkOWU0ZWU1ZTdhZTJhMDVmMGUzYmUgbGVnYWN5LXRydW5rCisxOTI5NyBiMzgyZjFmMDdlYzZiMmM5NTU1MTY1OGIzMGM2MTM5ZWViMzIwNzdhIGxlZ2FjeS10cnVuaworMTkyOTkgNjc5ZjgyNmIyNGNhMjY5YjhmMThjNDA0M2VjZjVjM2Q1YWQ4N2ZmNiBsZWdhY3ktdHJ1bmsKKzE5MzAwIDI0NmIzYTZhYTdhOTQxMWVhNzc4NjEzNGEzMjVmZDAyMmQ0ZjJmZTEgbGVnYWN5LXRydW5rCisxOTMwMSBkNTU3ZmYwYTJmNmM5N2Q0MmE4MDMyNDM2OTljNTEwMWNlNWIxYjBlIGxlZ2FjeS10cnVuaworMTkzMDIgN2EzOTcwNGE1MDQ3ZTRmNmZjNzMwMTEwOTJiZTJkZTkyMTU4Y2QzMiBsZWdhY3ktdHJ1bmsKKzE5MzAzIGM0NTNmYmYzMGY2MTM3NzgxZjRmNTg0ZDA2OTgxNmQ4N2QxYzViMDMgbGVnYWN5LXRydW5rCisxOTMwNCBiMmM1MTZiYjczNGE3MjllYWYyZGU2Y2M3NjY2ZGVjZTQwYzM0YTI1IGxlZ2FjeS10cnVuaworMTkzMDUgY2U5ODUwMDUxMTIwNDkwZGUzMDg1MmQzZWJjOTdjMGEwZDI1OGVlYyBsZWdhY3ktdHJ1bmsKKzE5MzA2IGI3OGM4ZDhjNTJlNjFmNmExNmM2OTU4MjVlZDczYmJkZGYzZGYwN2EgbGVnYWN5LXRydW5rCisxOTMwNyBmOTNlMjNhODJhNzNkMmYxYmE5YTZlMGIwMjQwOTA3OGQ1NjFkNDljIGxlZ2FjeS10cnVuaworMTkzMDggNTc1ODcyNTg0YjBjZmM2ZGQ1ZjMyNjEwODE2MDg5YTBmMTkyZmVkMSBsZWdhY3ktdHJ1bmsKKzE5MzA5IGFjNTJkMzcyNzg2NzNmY2Y0NzM5NGVlNzcxOTU4ZWRlYzM4YzM3ZTQgbGVnYWN5LXRydW5rCisxOTMxMCAxODc3MDU3YWE5MjYyMDc2MTdiOTVmNmM5ZTg0NmY0ODY1MzRjN2EzIGxlZ2FjeS10cnVuaworMTkzMTEgNjRhMzJkZjVjMDYzNDVkODkwNmViMjVmNzgyM2RkYmVkZmM0MGZlMiBsZWdhY3ktdHJ1bmsKKzE5MzEyIGFmMzlkZTI2MmI5YzliOGYxYjdmODlhYWJjZWY1ZjMxODRmYzBhMTQgbGVnYWN5LXRydW5rCisxOTMxMyA5OWJlZmVhYzg0MDBmZmE4MDYyOTkwYjE2NThhZWU3NWZlZTBiNzA4IGxlZ2FjeS10cnVuaworMTkzMTQgMjg4NWEzMzk2MzVlZGU5YTAyNzFjMjkwZDMyZDM1NTg4Yjk5MzIwMSBsZWdhY3ktdHJ1bmsKKzE5MzE1IDJlM2RkNjJjZWFjNWY4ODQzOWUzOWMzODAxMmEzYjM2YjE4Y2I1OWYgbGVnYWN5LXRydW5rCisxOTMxNiBkZGNlNzE1ZTQ5YmEwNjc3ODdkNWFhMDliYTAwMzRiOGJmOTA4OGRjIGxlZ2FjeS10cnVuaworMTkzMTcgYjMwNWMxNTM2YjdhYTRkNDIwYmRiZDg3ZGZiYjM1Y2YzNzJiNWE1ZSBsZWdhY3ktdHJ1bmsKKzE5MzE4IGE1MDZmM2I3NTY5NDE0OTkzZTgxNGYwNzc1ZjgxMjRjODQzNzI2MTMgbGVnYWN5LXRydW5rCisxOTMxOSAzY2M4NjM1NTg3OTMzZWM1YTkxYWI2MGNiMzZiOTM4MzE4YzBjN2FkIGxlZ2FjeS10cnVuaworMTkzMjAgYzk5ZDZkNWFmZDc1ZDBiY2IwMGViZThhYjliYTU3NjMyMjRiZDJlNSBsZWdhY3ktdHJ1bmsKKzE5MzIxIDVlZjcxY2I2NjQ5NTM2MTQxZmRlZmRkODVlYWI2ZTEzYTk5NmEyN2QgbGVnYWN5LXRydW5rCisxOTMyMiBjMThhYzhjMmYwMzY1YmE3ZDNhNTllNjcyNThkMjAxOTRiMTk2NDYxIGxlZ2FjeS10cnVuaworMTkzMjMgMGJiMTcxMjdiMmY4ZWEzYzI4YTlmYWFkNmM0Y2RjNzNjN2YxMWZkMiBsZWdhY3ktdHJ1bmsKKzE5MzI0IGE0ZjZiNjMzMjMwYzM3MjJkMzdhOGRiNWI2N2FiOWExZjMyOWUzODggbGVnYWN5LXRydW5rCisxOTMyNSAyY2E4NzgzY2U4YTM1YWU3ZTJjZTkyM2MxNGNkOGZlMWZjMjY4YjBiIGxlZ2FjeS10cnVuaworMTkzMjYgMjg2YTlkOTg3Mzc1MzYzZDNlMmE1OTI1ODhlNzE1NmQ5MzQ5NTUwZiBsZWdhY3ktdHJ1bmsKKzE5MzI3IDY1YTcwODk1MDkyMmI2ZjhmODMyNGY5MDhiNTBhNmMwMzJiYzBkNTAgbGVnYWN5LXRydW5rCisxOTMyOCBlYTg4YzJhNzMxNzMwNDRmMTQ4MGE5YmZmMTJhZDhhMzU2MmNjMTlkIGxlZ2FjeS10cnVuaworMTkzMjkgMWM3MWFhN2Q1NTEzMWFiZjJkMDBiYzFhMjBmNjQyOWYyYWNlZjUwNSBsZWdhY3ktdHJ1bmsKKzE5MzMwIGVkNDMzOGM3ZThhNDVjODk3YmY4NDAzZWY1OGRkZDkzNDY1NDJiZTQgbGVnYWN5LXRydW5rCisxOTMzMSBjMGIwZmMxMzI3OWUyMzIxNjQ3YzI0OGRhNzA3ZDY0NGU5NWNmOTNmIGxlZ2FjeS10cnVuaworMTkzMzIgODA3Y2E2OTc2MjBhZWUxOGJjMjZhZTMwZDEwMmUzZDk5YWJmOWVhNSBsZWdhY3ktdHJ1bmsKKzE5MzMzIGFiMDJiYzZhNWFiMmNhZGMwODg1OTZjNjgxODNlZjJlMjdhMjNkN2QgbGVnYWN5LXRydW5rCisxOTMzNCA1NDllOTkzYTQ3NmNkNzBmMjUzNjkzMDMxYTQ0NGFmMTk1NmJjMjIyIGxlZ2FjeS10cnVuaworMTkzMzUgZjViY2JhNWZhNDFjOGIwYzZmMmE5Nzg0YjY1MzQyMDE0Zjc2MWNhZSBsZWdhY3ktdHJ1bmsKKzE5MzM2IDRkNDA2YzI2YzE2ZWE3OWRhN2EzNjk3MzI3MzYwMWQyYzJlNTA0YzYgbGVnYWN5LXRydW5rCisxOTMzNyBiNjMxM2M5MTE0ZWQ2ZDEyYzZhOWNkZjE2MWEzZDFkOGNmNjRjM2MwIGxlZ2FjeS10cnVuaworMTkzMzggZjdiMTY3YzgzMzE4NThkZDc0ODM1ZmQ0YzgxOWM4MjdjMDE0MmRiYiBsZWdhY3ktdHJ1bmsKKzE5MzM5IDU3Y2U5MmExNmIzYzllZWIyOGE2MzBiNzVjMjg5NmNjNjg3OWM5YmUgbGVnYWN5LXRydW5rCisxOTM0MCBlZGMwYzk5YTY5ZDZkMjI1NjIyNzNkYmJiNTljNDVjOWM2YjZhYzAyIGxlZ2FjeS10cnVuaworMTkzNDEgZDU5NjYzZDNlNDMzYTM1OTk3Y2U4NjlkYzMzNDBhYjBhYTI0NjFhYiBsZWdhY3ktdHJ1bmsKKzE5MzQyIGU5NzIxN2Y1YjMyMzE5ZjNhN2Y5ODdlMzIyZWZjYjY3ZmYyZGQ5OWUgbGVnYWN5LXRydW5rCisxOTM0MyA4MTFiMGNjYjYyYWVjZTkzN2QxMDNkYjllYzVhM2ZjNzQxMDhlOWQxIGxlZ2FjeS10cnVuaworMTkzNDQgMWZiN2JlZmI1OWYwNzNiMDFiYTE0NDdkZjM1NjExYTA3ZWVkOTdiYSBsZWdhY3ktdHJ1bmsKKzE5MzQ1IGMyMzNlZmNiNDg5ZTViZjVmNDdjNGU2OTRmZGUxMGQ0OGMzYWZjYzMgbGVnYWN5LXRydW5rCisxOTM0NiBiZjk3ODE4ZGQ5ZTFlMjhiOGFkMWRkYzlhZjU5OGUzMjEyMmQxZThmIGxlZ2FjeS10cnVuaworMTkzNDcgNWYxMmRmODhhMjA4NWFhMjM4OWUwZTI1MmRiMWU5ZGU5YjUxNTRhOSBsZWdhY3ktdHJ1bmsKKzE5MzQ4IDQ2NGRlOGRmYTU5ZTlhNzVkYWQ5ZDQ3MTk4ZjZjODJlZDk1NWIwNjcgbGVnYWN5LXRydW5rCisxOTM0OSA3NzFkYmIxNTU1NzVmYmNmZThkYTVkN2Q4ZGNlNDI4ZTE5MDA1YzY1IGxlZ2FjeS10cnVuaworMTkzNTAgOTJjYmVmZGI2NzRhNjVjZDc4MjFiY2M2N2FlZGRhYTI4OWI2Yzk5MiBsZWdhY3ktdHJ1bmsKKzE5MzUxIGE2ODg4NGRlMTJlYzU0ZTU0YjY4Yzk2ZDczNTUzZmRmYWJkYTBmZDIgbGVnYWN5LXRydW5rCisxOTM1MiA4N2YyYWJiNzMxODQ4YjZmZmEyYmYyNDk2OGFlZmY2NTk2NmE3YzhkIGxlZ2FjeS10cnVuaworMTkzNTMgYTRjNmU0MDFlZTE4NGMzZmZkNTI1ODA0ODMzNDMxM2UyM2IzMDI3NiBsZWdhY3ktdHJ1bmsKKzE5MzU0IGZjNGFjZTAyNDJjYjA5NGI2YjM2ZWQ2MWRiMTY2ODNlNzhjNDczYWUgbGVnYWN5LXRydW5rCisxOTM1NSA2ZTVhYjc4NDBiMDVkMGJjOTRkOWJmZWVjMTkwNWEyY2ZiYzUwYzM1IGxlZ2FjeS10cnVuaworMTkzNTYgZjRkMTVmZGQxNWRkN2IxZWU3NTFjYjc2OTIzN2YyZTkwODZjNjQ2MCBsZWdhY3ktdHJ1bmsKKzE5MzU3IDY5ZjE2MmRjZDhiNGMwOWM1ZWY0ZGRkNGI1N2I5MDdiNzlkNmY4YzkgbGVnYWN5LXRydW5rCisxOTM1OCAxZmY5ZDU3MWJhYzA5YTc4MTU2N2UwNmE5MTdkYTVlMDk5ZjgwZTgyIGxlZ2FjeS10cnVuaworMTkzNTkgZDMyOTYwNjM2MWY4YjNiYzVkZTU4NGQzM2VmMzdkOWQ1MmNlOGU4OSBsZWdhY3ktdHJ1bmsKKzE5MzYwIGY3NTFiOTZkZTYyMWVlNzE0ZTVhYWU1YmJlOGM2ODBlMWM4NjllNzQgbGVnYWN5LXRydW5rCisxOTM2MSA1OGRlMjgyOWNmZGQzYjg5ODEwMjU1M2NmOTdlZGY4MTBjOTRjZWExIGxlZ2FjeS10cnVuaworMTkzNjIgYzk3ZTYxODlhZDk2YTllYWQ1MmFiYTUxZjRiOTM4YzVlMjc5OGI1MyBsZWdhY3ktdHJ1bmsKKzE5MzYzIGIxMTc4MGIwNjhmYTZjMTIyOWNiZWQyOTVkZjNjYmU5NzQwNzVmYWIgbGVnYWN5LXRydW5rCisxOTM2NCBiZjAzMDlkNWZjMGE5MzllOTBhZWIxYjc2M2UxMjhiZjQxNjcyYTVkIGxlZ2FjeS10cnVuaworMTkzNjUgOGQ3NjU1YWM4YmY4NjhhNTM0ZTA0MTM4OTY5MDY2OWNjYWQyMGQ4NyBsZWdhY3ktdHJ1bmsKKzE5MzY2IDZmZmNlOGJlM2UwYjhkZDMxNGM2OTZlNjYxYzY0ODA2ZWRhNGFmNmIgbGVnYWN5LXRydW5rCisxOTM2NyA4OGM4N2M4OWI0MDY4MDA3ODk0YTExOTI1YThiNmNlNjVjNGVjYTIyIGxlZ2FjeS10cnVuaworMTkzNjggYjI2Y2JjMWZlNGUzYjViZjYxOTZiYTY5NTM4OTE2ZDY0YzkzNmQ0NSBsZWdhY3ktdHJ1bmsKKzE5MzY5IGJkZmM2YmY3YjBkYWU3ZDIyOGFhN2ZmZDc1MDlmZDZkYmJkZWVhYmUgbGVnYWN5LXRydW5rCisxOTM3MCA1YzNiZjJlODlkODAxMWFmYjVmZWY2OGI5OGE3MWEyNmIzNzU5YzdmIGxlZ2FjeS10cnVuaworMTkzNzEgNWY1ODhkZDU0MzliZjAwNmExNmRmMGYxNDUxZDBkZjRiOTA5MGYxMSBsZWdhY3ktdHJ1bmsKKzE5MzcyIGM4N2ZkZjdkZTBlNmI4ZjkxNzcwMGQxMDhmMWFlMTcyYTcyZmNiNjIgbGVnYWN5LXRydW5rCisxOTM3MyAxOGVmM2Q1ZWFiNGYyMmNiOTNhN2M3MDAyYTZhYzZmYWE4NDQ3ZDYwIGxlZ2FjeS10cnVuaworMTkzNzQgODkzYTUxNWQzMzFhNzNhYWIzNjdkOWUxYmFmOWFhY2ViZmRmNWM4OCBsZWdhY3ktdHJ1bmsKKzE5Mzc1IDU2NDNlMzdiOTlhZTY5ZWVmNjNiYmVlNWU0YjdjMDk2ODE5MWY3Y2UgbGVnYWN5LXRydW5rCisxOTM3NiA5MGM2MDBhODE5ZTk2ZDQ2MDY5NzllMmQ2OGUzOGRkMTRmZGI0MTEyIGxlZ2FjeS10cnVuaworMTkzNzcgOGJhNmJjOGMyZTA5MzgxZjM3NmYxMTkzOWE5ODljOWQzYzQxMTRjNCBsZWdhY3ktdHJ1bmsKKzE5Mzc4IGFmODg0NjU5OTljN2E2YzAzMzQ2YmIwYjhmNzVkN2U4ZmExZWUyNjAgbGVnYWN5LXRydW5rCisxOTM3OSBlZWU2N2E4NGU1ZmFhZjMwMGExZWYyNjgxYjg5OWUzNjgwMWQyZmY5IGxlZ2FjeS10cnVuaworMTkzODAgYjNkOTIzYTY2MTUyY2Q4ZDUzNjlmNjllY2ZhNGZkMjQ4ZDhlMTE1NSBsZWdhY3ktdHJ1bmsKKzE5MzgxIDYzMWQ0YzhkYjc4NDA4MDI4NjdmOTNiMzk2ZjIyNWE2MWY1N2MzNTcgbGVnYWN5LXRydW5rCisxOTM4MiBjODAyMzg1YTZhYzNlNjQyMjY5MjhhYzAzZTI4YzY4N2Q1ZDQ1M2I4IGxlZ2FjeS10cnVuaworMTkzODMgZTNkNDg4MDc0OGI1YzQ3NWM0YzU4ZThmZjAwM2VlYTUzZDFiNDQ5ZiBsZWdhY3ktdHJ1bmsKKzE5Mzg0IGY0Mjc5OWM2ODkyOWVlNjRjOWM4MjRmNmY5MmFhZDVkZTlhYjgyOTUgbGVnYWN5LXRydW5rCisxOTM4NSA5ZDYyNTMwM2Y5MTRiZTgzMGE5OTI3ZDNhNTRhMjUxMDVkNjE1ODU1IGxlZ2FjeS10cnVuaworMTkzODYgMjRlOTQ2ZTk1MWZhMmEzNWExOGE1OTIxY2E0ZDY5YWE0NTBjMjM1OCBsZWdhY3ktdHJ1bmsKKzE5Mzg3IGMzNjk2N2JkYzlkZDRkYWJiNzhiYzVmNzI0MGNlMzIwOWI3ZDRiMGEgbGVnYWN5LXRydW5rCisxOTM4OCA1N2QyNDhkZGJlMmFiYWI0ZGZmNGFhNjZjNWIwODY4YjgzN2RlOWY2IGxlZ2FjeS10cnVuaworMTkzODkgYThlMTIzZGYyNjhiOWNiZmEwNTAxODcwMGI2ZDFhNmU1OTM0NzIxNyBsZWdhY3ktdHJ1bmsKKzE5MzkwIGYzZTgzZTUxNGRkODlhZmNlZjgwNDk4MGY3ZjQwMWRjZjFiZjFjYmYgbGVnYWN5LXRydW5rCisxOTM5MSA3NTFlOWNjNDc3ZDlkMDM0OTI3NWRhYjkzYWNiYThhNGEyNDYyYzA1IGxlZ2FjeS10cnVuaworMTkzOTIgYTgwZjY3YjcyMzA4ZTlkMDUxNWJkYjQ5YWZmYWRlZmJlYzI1Njg1ZSBsZWdhY3ktdHJ1bmsKKzE5MzkzIDA2ZGQ5NGUyMGYzYjgxYmNjMTQwOGQ1MzcyOGIwMTI2NTQwZDNlZTcgbGVnYWN5LXRydW5rCisxOTM5NCA3ZmM2NGRmMTNkYjBhY2FmYzYzMzkxZDAyZGM0YWEzYjYxNTE2MDc0IGxlZ2FjeS10cnVuaworMTkzOTUgYzQ4YWYzOWNiMjkyZTAxYjdjOTJiNzAwNzQ2ZmNkZjY4ZThhOTgyYyBsZWdhY3ktdHJ1bmsKKzE5Mzk2IGI1OWYzYTFlYjEyMzkxYmMxYWVkYTc1YTY5ZDkyYzMzOTVmMTkwYjUgbGVnYWN5LXRydW5rCisxOTM5NyAwODRiM2RjOWI2ZmYzMTAyYWU4ZDVmOWU5YjdjYjRiNzliNTQ5MmJhIGxlZ2FjeS10cnVuaworMTkzOTggNTRmNzIwOWNjNzFlN2I2OTA5ZDMyZjJjMzZkMTRjOGVmNDE3ZjRkMyBsZWdhY3ktdHJ1bmsKKzE5Mzk5IGY0ZTcxYmFiNzg1M2M5N2I1NTc5NzkwOWMwZWZlOTY2NGNhMWQzZGMgbGVnYWN5LXRydW5rCisxOTQwMCBhNTQwYzZmZDBjZWQxZDg4MWRiZWNhMTdiODIxYjIxMjdlM2Y0MTdjIGxlZ2FjeS10cnVuaworMTk0MDEgYTQ3ZDkzZWYxMDNhNzY3M2JjMjJmM2I2NWU3ZjUyZGNhYjMyYjhkNiBsZWdhY3ktdHJ1bmsKKzE5NDAyIDgyMzZmM2U3NTg1ZTE0ZmM4MDAwYTRhOTI2ZjRlMDU1MTdjNDA2NzYgbGVnYWN5LXRydW5rCisxOTQwMyA4ZWVkMzczYmNlN2ZlNTBhZGUyYTYxZjU3ODRjMDUwYTRmOThhNWFiIGxlZ2FjeS10cnVuaworMTk0MDQgZmVmNGMwMzk3MzNkY2I4MWRjNzc5NGJjMjk1OWNlNDE2YWEwYzNiYSBsZWdhY3ktdHJ1bmsKKzE5NDA1IDEyMTRhYmVhMGM3YjJhODM1MTE3MGQ4ODg0NTVhM2U2ZGQyZTFkNDAgbGVnYWN5LXRydW5rCisxOTQwNiA0NjUyNzIzZWE2NTVjYTgyYThmZTI2OGExZTFjNDY2N2E3MTNlYjZkIGxlZ2FjeS10cnVuaworMTk0MDcgMzhlY2ZkMTFkOWI1M2EyNmM0Y2ViMzFjY2MxN2U0OGViOWFlOGM2NyBsZWdhY3ktdHJ1bmsKKzE5NDA4IDYwYTJlOTljODYzYmU5NzE5ZTMxNDM4OTU2OGRiMzhhOWUwNTFhMGMgbGVnYWN5LXRydW5rCisxOTQwOSBjYzljYjFlOTBiM2QyNGJkNzhkMzQwM2IzN2ZhYmE4NTNkMTU3MmMzIGxlZ2FjeS10cnVuaworMTk0MTAgZGE4NjgxZjE3YjUwMGU2NGUxZGU2NzFkNDRlNDUzYjRmZWI1N2NiMyBsZWdhY3ktdHJ1bmsKKzE5NDExIDdlOWY0MDUxYmE0YWYxM2ZmZDVhNWNjOWYxZTRlYWMwMmNmMzNkMjYgbGVnYWN5LXRydW5rCisxOTQxMiA4ZjcwYjVkZGQ1YzA4ZjY0MDg4ZjY3ODNjYWFjZDVjNTM3ZjdmYjZlIGxlZ2FjeS10cnVuaworMTk0MTMgN2RlNTA0MzgyN2Y3MGZkYzE4NmI2ZGY2ZWVlY2JjMDIxODcxZDRhMSBsZWdhY3ktdHJ1bmsKKzE5NDE0IGU1NTkyZjFlZjQxZjg2NTFmMjdlM2ZiNjVjOGIxMDU1MWQ2YThhZmUgbGVnYWN5LXRydW5rCisxOTQxNSA5YTk1Nzk0ZTBmN2VjNjViNTM2OWRkODQ1ZjdiMGYwMGI4YmI5NjdkIGxlZ2FjeS10cnVuaworMTk0MTYgNDQ0YzBlZWQ1YTY2YzVhYzk1NTIxYjQ3M2QwNzg3NGE0ZjEyNGMzOCBsZWdhY3ktdHJ1bmsKKzE5NDE3IGQzOGFmYjIwYzMzNmE3MjRhZWUyMzI0Mzg5MTc5MzViNDVkNjRhZTYgbGVnYWN5LXRydW5rCisxOTQxOCAyN2ZjZTJkN2ZhY2RiNDI3ZDk3NjhhYjgxYTZjYzJjZTU0ZmQwYjg0IGxlZ2FjeS10cnVuaworMTk0MTkgOWNlOWUwMzQyY2MxZjBmMDJlNTliZWNiZWU3NjBiMTY5ZDc5YmJlZSBsZWdhY3ktdHJ1bmsKKzE5NDIwIDE5MmU5ODU1YzdjMDA2NTU2YWQyNzhlMzBlYmE2N2E5ZDVmNWQ0Y2UgbGVnYWN5LXRydW5rCisxOTQyMSA4YzFjNzg3YmQ2ZjllMmI1YTVkY2QzNWVkMjRkNmUzMThkNTJhYTYxIGxlZ2FjeS10cnVuaworMTk0MjIgZThlNjM2Y2MxYTA5MzNkNmU3N2NjZGYwYzEzMmJmMDIzMzE1NDEzZiBsZWdhY3ktdHJ1bmsKKzE5NDIzIDBkMTMwNWM4M2RlNGM5ZTBkYzU4MWRmM2YwMzE2ZTJiMzYxOGI1MDEgbGVnYWN5LXRydW5rCisxOTQyNCA2MjM0NTY1NzZkNmE4ZTU0ZDVlOTBiNDY4MDY4YmQ4ZmMxMzU1OGQyIGxlZ2FjeS10cnVuaworMTk0MjUgMzBkMzRiYmY4NjIwMWFhOThjOGI0YTg2YTY4ZWYzYThmMTBkM2JmOSBsZWdhY3ktdHJ1bmsKKzE5NDI2IGQzNDg0Y2E0MGI4YTBkN2Y5MTFjYWMxMjQyZDYyZWJhMzY2ZTY5ZDAgbGVnYWN5LXRydW5rCisxOTQyNyAyM2I1ZTdkMDNmNzZmYmI4NTk0MGIwMDIwMDlhZWQxMTI1NmRkNmM4IGxlZ2FjeS10cnVuaworMTk0MjggNGNlZGM4MjZiZWU4YjZkMTk4NjQ4ODg5OTEzOWNjNDg0YWYyMDk2NiBsZWdhY3ktdHJ1bmsKKzE5NDI5IGI0ZmYxY2Y0YTEwZmFmYjg3ODI5NDYxYjdmNTUyOThlNWM0MjFmMjYgbGVnYWN5LXRydW5rCisxOTQzMCA5MTc2MzAxM2MzNmZjZjVjNmUxZTA5YmMwYzJjYzQzMTYyM2RjMGM3IGxlZ2FjeS10cnVuaworMTk0MzEgYzkwNGE0MGUxNGVhOWZmM2U0NzIwMTMyODZiMTVhMjJhMjMwNzdmNCBsZWdhY3ktdHJ1bmsKKzE5NDMyIDg2NTczODRkY2M0YWIyODNlZGQzYTcyZDM3Y2RkM2I4NjNjNzZmMGYgbGVnYWN5LXRydW5rCisxOTQzMyAyYzY0MTdlZjQ2Mjg1MGJkZWY4NjdlYWE2YmEwYzlhMjM4NTA5NjExIGxlZ2FjeS10cnVuaworMTk0MzQgZWUwZGQwYzc5NjRlZGJjYTA2NjNhMjY0ZGE1YTA2NzQ5MjkyNmExNSBsZWdhY3ktdHJ1bmsKKzE5NDM1IDQ3NzJmZTJkYjJjNDZjMjQ1YWUzNDg1YjgzNjkxNWNiZDU3M2I5MWEgbGVnYWN5LXRydW5rCisxOTQzNiBiZjljMjRiZWRhN2Q1NzUzNGU5MzBmNjY5OTU5OGU3MDJmYjdlMzA3IGxlZ2FjeS10cnVuaworMTk0MzcgNWYzYTgzNTA2MTVjOGI5Y2U2Mzg3MjM0NjhhMjliNTMzYzY3NzE1MyBsZWdhY3ktdHJ1bmsKKzE5NDM4IGY2NTQ0NjhiOWFlOGE5YTA1MWFhYTI4ZGNlN2VmMThhNDYzMTJmZjcgbGVnYWN5LXRydW5rCisxOTQzOSAwNjhjYjg0OTRiN2IxZTY2MWZmMDM0MjI2OTk3ZDk3YzM5NmUwODMzIGxlZ2FjeS10cnVuaworMTk0NDAgYjQzOWVlZGEwMDgyOGYzYmYwZDZhZTUwNTFhNzJlZDY0N2M3ZTI4YSBsZWdhY3ktdHJ1bmsKKzE5NDQxIGE2M2RjNTliZTBmOTg2YTI0MmFiM2Y0NDQwODk4M2IwODhjMjMyMjQgbGVnYWN5LXRydW5rCisxOTQ0MiBkYTE1ZTVmNjg2NDRhOTYwZGViMGI2YzcyNTViNTlmZTFhMzlhNzVmIGNucmktMTYtc3RhcnQKKzE5NDQzIGUyYjJmZTdmYWJiODk0MzkwNDFlMWE1YzgyNDczNjc2YmQ4ZGQ4MTcgY25yaS0xNi1zdGFydAorMTk0NDQgOWQwOGMzNzQ3M2NiOTI2YWJmOTYzOWQ2NzY2NWYxOTY3NWRjMmVlNCByZWxlYXNlMjAtbWFpbnQKKzE5NDQ1IGMwY2RmODI1OTllMDNmMzk0Yzg1MjE2ZjBiNmNjZjE3ZGIyNWIxMDAgbGVnYWN5LXRydW5rCisxOTQ0NiA5YThlOTYxYjUwNWYwMzA2OTZkMDJjZjFjOGEyYzMwMjg3MDQxYjUzIGxlZ2FjeS10cnVuaworMTk0NDcgODE3ZGY5ZWZhY2JhZTc0MzAxNmY1OGVmNzcxZDBhZmVmMTBlNzRhOCBsZWdhY3ktdHJ1bmsKKzE5NDQ4IDNmNmMwNWUwNDA4MjZkYzcyMjlkNDNkYjM3NDE0MjQxNmYwMmQ4ZTggbGVnYWN5LXRydW5rCisxOTQ0OSBhYWUyYmI4YWMzNzM5ZTBjNThlNGYyZGY3YmQ1YmRjZTFhMzlhNjRjIGxlZ2FjeS10cnVuaworMTk0NTAgNWZhMjU1NDJiODk2NzVkNDJiMTVkOGRmYTU1YjZmNjYyMzJiM2M0NSBsZWdhY3ktdHJ1bmsKKzE5NDUxIDliYjJiNjk2M2M4MjVhYTkwZTVlZTZiYzBmNzkxMWJhN2NhYzU3ZjggbGVnYWN5LXRydW5rCisxOTQ1MiA1NmE4MTA2YmFmNjM1YWRhMjkwMTk0YjYxOGIwNWMxZDVlOTg4ZGUxIGxlZ2FjeS10cnVuaworMTk0NTMgYmE4NDQ2M2VmYzdiYzVjYmVlZmQyYTczMGE0YjhiOTEyNjhjZDIwMCBsZWdhY3ktdHJ1bmsKKzE5NDU0IGY4MTNlOTg3ZTY1Y2U0MGE4M2Y0ZTkzNjJjZjBlYmI0NTdiZWY2OTAgbGVnYWN5LXRydW5rCisxOTQ1NSBkZjdkNTJhZTIwZTRjZDA1MzYwYzhhMWU3YWEwOGNiOTgzNzlhNWVmIGxlZ2FjeS10cnVuaworMTk0NTYgNzRhZTgwZDkwZmE2Y2MyNjQzNjU5YTg4NjU5YzFmYzEwNDUyZGVjYyBsZWdhY3ktdHJ1bmsKKzE5NDU3IGIzNjI1MTMxNmY2YWVkYTZlM2I5ZmI1MWQ5NjA3ODhhYTEyZDNiMTYgbGVnYWN5LXRydW5rCisxOTQ1OCA5ZWY5NzhjNmYwMzk1NjUwYzk5YjcyYjhhMDExNGQ4MmIwNGQ5YjM0IGxlZ2FjeS10cnVuaworMTk0NTkgZmZkYzcxODViZGFiZDYzZTA0OTMwYjAxNTc2YThmOTI2Nzg5ZDBhYyBsZWdhY3ktdHJ1bmsKKzE5NDYwIDA4NTUxMTkxNjc3NjI2OTZjNmExOGE0YWU1N2NhZmUwODA2NDA0M2IgbGVnYWN5LXRydW5rCisxOTQ2MSAwN2ZmYjBjM2JkNWVlNjdjMThiZWI3YjIyMTQyZjQ1M2Q1NDBhZTMyIGxlZ2FjeS10cnVuaworMTk0NjIgZTEwNDM2NzI1NmYwMjAzNzU0ZDRmZmE1ZjczYjgwNzZlNDlkYzRjMCBsZWdhY3ktdHJ1bmsKKzE5NDYzIDI2MGYwMzNhZTdkZjM4OThiOTMzYjZmMmU3NWNjYWFjZjFkNDBlMGUgbGVnYWN5LXRydW5rCisxOTQ2NCA4ODVkNTQ1MjQ4ZGIzODA3OTMzNzE1MTAzYWMwMjYyYjNkOWY5OGJjIGxlZ2FjeS10cnVuaworMTk0NjUgMGI0NTVhNDI4OTY3Nzg3ZTA0Y2NmOGMzOGM4NDZhNDhjOTcyYzQ5OSBsZWdhY3ktdHJ1bmsKKzE5NDY2IDk2ZDg4NjhhMDAyODRkOTljODhlMzk0MjgyNGE3NjUxOWMyMDYwNjIgbGVnYWN5LXRydW5rCisxOTQ2NyAwY2Q4N2E1ZDFlZjk3NGVhZTdmMDFjMjk4YmVhOTQzYWRjNWZkNDZlIGxlZ2FjeS10cnVuaworMTk0NjggZWYyYmUxMmIxOGZlYTM5NjZhOTdlOGE2MjQ0YjM2NWQ0MDNkYjBlYSBsZWdhY3ktdHJ1bmsKKzE5NDY5IGIwNWI4YjZjMGI0MzA5ODljN2I3YjZkOGM0MzliNTVmZTE4NjhlMjggbGVnYWN5LXRydW5rCisxOTQ3MCA0NGVmNjQ0Y2I1MjZlZWI3ZmRjMmE0NGQ4ZTdkOGEwNGNjYWE0MTA3IGxlZ2FjeS10cnVuaworMTk0NzEgOTQxYTc2ZjM4NzQ3NDI1NjE0MThkYjlkYzQ2N2Y4YzE5ZGEwMWE4ZSBsZWdhY3ktdHJ1bmsKKzE5NDcyIGY0MjVkODUyMzQ4MGIwMWZjMzY0NjEwOTI5NTViN2FlNjhlMTY0YzEgbGVnYWN5LXRydW5rCisxOTQ3MyA3MzMwNjk0OTExOWMwNGQzNThhMTA1NjhhZTBkMjNjNmY1ODQ5NjAxIGxlZ2FjeS10cnVuaworMTk0NzQgZjBmNTcyOWQ2MDNmYjU5ZjhhOTZmNjczNzE1OTgzMTZjNmI2ZWQ5NCBsZWdhY3ktdHJ1bmsKKzE5NDc1IGUzY2ZmYzAzOTRiZmI2YzA0NTJiNTg2NWM4Nzc3MzJkNmQ2MzA2NDUgbGVnYWN5LXRydW5rCisxOTQ3NiA4ZWYyNDY3ZjAxOTFiYjYxMDA0YjMwMDZhZGYwZjlmMDk3ZjdlZDQ5IGxlZ2FjeS10cnVuaworMTk0NzcgZjY4ZGJmZmZmOTI3YmZhNTY2ZmQyYzNhOWU4YWVmYjViNjEzMGFkOSBsZWdhY3ktdHJ1bmsKKzE5NDc4IDIwZTUyZTVhNDA4YTE2ZjAyODY2YTZmYWUyMjg2M2QwNDJhNGExZDYgbGVnYWN5LXRydW5rCisxOTQ3OSA4ZmY0Y2Y0OTI2N2VjNTQ3OTAxYzBkZTZmNjUyMThmYmIxMDBjNmJlIGxlZ2FjeS10cnVuaworMTk0ODAgZTJhNjM1ODQ1NjZmODJkYjkzN2UwYTMzMWExYjNiZGY4YjI1MjdlNiBsZWdhY3ktdHJ1bmsKKzE5NDgxIGUwNTBiOTRmMDRkM2M5NjcyNzkzZWY2YTQ5Y2QxODNlM2ZmOTM3ODggbGVnYWN5LXRydW5rCisxOTQ4MiA1NjkxNDg4NGFhYjYzMDFiNDc2MjRlZmNiMDYwOGQ2YzVjMTcyMzE5IGxlZ2FjeS10cnVuaworMTk0ODMgNGUyZDFjNmYyOTA0ZGE2NGJlZjNjNWQxMjkxZGY5YWQ4MDgzOGNlMyBsZWdhY3ktdHJ1bmsKKzE5NDg0IDFjNmJhOTQ2ZDhmYTBiZTJlNDQwMjEzZmI0Y2QzYTc0NWY1ZDQxOTggbGVnYWN5LXRydW5rCisxOTQ4NSBjOTU4Njc4NzIwZmRhYzQyNDY1NDVmNWE4OTg1NDVkZGIxMzAyZDA2IGxlZ2FjeS10cnVuaworMTk0ODYgOTE3ODBlYWQ4YzI1YjI3MjdjNDIyY2I4ZjdlYTVmYzRlNmUyNjRjOSBsZWdhY3ktdHJ1bmsKKzE5NDg3IDNhNmI0YTAwM2ExN2U0YjlhZjZmZGZiMWQzM2E3MzQ5ZTk5ZjcyMmMgbGVnYWN5LXRydW5rCisxOTQ4OCA2N2EwNjY2ZjExZTMyMzA3MGY1MzI4NTIzMTFmYWQ3NWMzNDE2NjA5IGxlZ2FjeS10cnVuaworMTk0ODkgYzlmMjNmODBmYzkzMGQ4NWZiMjlmYTMzZWM4NDRlYmNhNmE0ZDI5OSBsZWdhY3ktdHJ1bmsKKzE5NDkwIDYxMTc2ODM0OWRkOTBmMzlhZGYxMDljZGNkOWUxYWUwOTNlYjBlMWMgbGVnYWN5LXRydW5rCisxOTQ5MSAwNjNkNWM0ZjZjZTU4YjM0MDg4MTFjOWQ0NzdhZjc1OGE1MjkxMzYyIGxlZ2FjeS10cnVuaworMTk0OTIgYzg3ZTcwMTdkNjZiMzNhODhhYmQ5OWUzOTFmOTU5MzViZDcxYjhlNCBsZWdhY3ktdHJ1bmsKKzE5NDkzIDk2ZTljY2JmMTY1ZjZhNGUyMDE1Zjc5ZDE3MTQ4MmYzYTkwOWIxNTkgbGVnYWN5LXRydW5rCisxOTQ5NCBjOTUwOWQ4NGYzZGY3ZjhlYjBmNjM4YzgyODIzMDFlYjY4NDRhNjZmIGxlZ2FjeS10cnVuaworMTk0OTUgZTM4MTQ1MzA2MjMxMjYzNWE3NDE2MzMxOTY4N2I0YzVhOTk5NmVhMiBsZWdhY3ktdHJ1bmsKKzE5NDk2IDA1NjRiMTM0YjU4NDAzNTUxYmRiYTFkMDk4Y2EyZjQ1MGNmZDk5NDYgbGVnYWN5LXRydW5rCisxOTQ5NyAyMTcyNzc1ODM0NjhkMDU2ODg0ZTRmM2I1YWQ1YjU5ZmZmYzc5ZTIyIGxlZ2FjeS10cnVuaworMTk0OTggZDQ1NTliNzQ1N2EwZTMyYTMxNTI1ZGFhYjQyNjk5ODIxYzFkMGMwZSBsZWdhY3ktdHJ1bmsKKzE5NDk5IDJmYjY0OTgzOTY1ZmYyMjNhZWEyNTIzOTFmZjM0Y2ExYjUzYTRhZTggbGVnYWN5LXRydW5rCisxOTUwMCBlMzBjMTk3NTMyYWExMjZhNmRhYTRiMDdmYzY5ODM2YTA2MWJhYzkyIGxlZ2FjeS10cnVuaworMTk1MDEgNTlmNGY2OTYwMTAxNjhkYTE4YTliYTlhNzkwZDJmNGUyZTNmN2EzZCBsZWdhY3ktdHJ1bmsKKzE5NTAyIDc5NTY4YzBkM2U3N2E2OTM2MmIzNTc5Y2NmNWI0NzUwMzU2NTBhMWYgbGVnYWN5LXRydW5rCisxOTUwMyAxNDZkZmU3ZTAzMzgyY2ViMjE5MGNiMTljZTliN2Q2OTE5ZDMwZTdjIGxlZ2FjeS10cnVuaworMTk1MDQgN2QxZTdiNmVjODM5NDUzNDg2ZGIyYWNlODFlZjFmNjI1OTJjZmU5YyBsZWdhY3ktdHJ1bmsKKzE5NTA1IDM4ZjY5NzJkYzhiNDE3ZmYyYmFiOTg1MzIxNTVlYzhkOTFjYzYxNjQgbGVnYWN5LXRydW5rCisxOTUwNiAxNWYwMDY0Yzg0MDA5NmVmZGM5YWRjNTU2ZjE3MzVjNzU4YWExOTFkIGxlZ2FjeS10cnVuaworMTk1MDcgZjdhOTc3Njc3MWFiMGVmZTFkNjcyMDkyZTkwMDEwYmFhYTVkMjNlNSBsZWdhY3ktdHJ1bmsKKzE5NTA4IDdmMTI3YmUwN2M1MDk1Nzc4MWUxYzM4MWVkZjc3YjM3OTA5NmE2MTAgbGVnYWN5LXRydW5rCisxOTUwOSBkNmQ1YzExZjc1YTkyMmU5NWNlMmI5Mzc0Y2MwZWFiYmQ2MDFmODc4IGxlZ2FjeS10cnVuaworMTk1MTAgYjllNTQ4MWY2NDRjMzBhZjc0NjM0ZDZjN2U1ZDQ5YzEzNmYxNGFlMyBsZWdhY3ktdHJ1bmsKKzE5NTExIDcyOGMxMTU2MjE4NzJmMTcwMWNlZTNkY2ZlN2YzNTNiOGYzY2RjYzIgbGVnYWN5LXRydW5rCisxOTUxMiBhNTFiOTk2MWYzYmJiMGMwNjA1ZGE3ZTEyZDBlOWNiNGVmMDc5NDdhIGxlZ2FjeS10cnVuaworMTk1MTMgOGQ4NTA5NjE3ODc0MWY1OTQwODg3ODg4OGUyOGJkMjBmYTJjODgyYyBsZWdhY3ktdHJ1bmsKKzE5NTE0IGQzZThiODgwNjUxYjdkNDczNTRlOTg5OTFiMTMzZjEyYzRiMzIxOTIgbGVnYWN5LXRydW5rCisxOTUxNSA5MTUyMWM1MmIxZGI1NWFmYzZkNmZjY2E0MjA0ODM5YzM5YWE0ZmRmIGxlZ2FjeS10cnVuaworMTk1MTcgZGE5YTRhMTY5OGYxZjY4NGU3OTY5MWI5NjY0YjdjNjA3YmJlMWM5MiBsZWdhY3ktdHJ1bmsKKzE5NTE4IGI5ZmU4YmQ5ZTVmNGZiYjA2ZDI5OTY3YWIyZmU2YjBjMGRiZDY3ODUgbGVnYWN5LXRydW5rCisxOTUxOSA1OTIxYjEyOWYzNTA0ODQzNWMwNmVjNzQ5ZDlmOGQ0NzA2MTFhZmQ4IGxlZ2FjeS10cnVuaworMTk1MjAgMWQ3YWVkMDc2OTY0ODEyNmE1ZjYwNGM5M2MxODJmNzFkZjhiYjMwNSBsZWdhY3ktdHJ1bmsKKzE5NTIxIDdmOGU4MTdhYzQyM2M0NTY5Zjg5MTU2OGI3ZDEwMWE3ZTIwYzc5ZWMgbGVnYWN5LXRydW5rCisxOTUyMiA3OWQ1MzM5MzRhYzFiMzA5NWUwYzRmOWE0YjczMWUyMWMwZWZmZjI4IGxlZ2FjeS10cnVuaworMTk1MjMgMWE1YTQ0MTc3MmZmNjNhYTlmOTE4YzFiZTllYjU5YmIyYjA2YTFiYyBsZWdhY3ktdHJ1bmsKKzE5NTI0IGRlZWM2ZmE4MDQ3MTA4MzdkMTc2ODEyZGY4ZTk1YWQxOTMyODk1M2UgbGVnYWN5LXRydW5rCisxOTUyNSAwMDQ5Zjc3YjM2YzYyMzIzN2U3MWQyOTY5ZDFiZTE2NzdmZjA5ODdlIGxlZ2FjeS10cnVuaworMTk1MjYgNmFmNDE1ZjBjMDFlYjAwZDIzNzI0OTY1Y2UyMzllNzAyM2U2MTY3OSBsZWdhY3ktdHJ1bmsKKzE5NTI3IDg5YzFjY2VmNWNlODM2MGUzYjQ2NjQwM2EwM2Q3MTA0NWY1MjY2MTggbGVnYWN5LXRydW5rCisxOTUyOCA5NGEzODQ0M2Y5OWJiNTcwNTU1Y2IxNzFkNTQ1YTk5Mjk5YzUzNTVlIGxlZ2FjeS10cnVuaworMTk1MjkgNTc0NmQwYmY1ZjA0ZGY3ZjI1M2I5Y2IyMGY1NDY2MTU2ZjZkMjhjMyBsZWdhY3ktdHJ1bmsKKzE5NTMwIGRlMGU4NzUyZDViNzJjZTc0NTBjZjQ4NTUwYzM4M2IxMWEyZDMyMmUgbGVnYWN5LXRydW5rCisxOTUzMSBlOWZjYjQ2YzFmMmNhY2JjMzk3NDZkNWU3ZjU0ODM2YWRlZjYyMWRiIGxlZ2FjeS10cnVuaworMTk1MzIgNzI1MjM4MjkzODY5Y2M1YWM5ZjY2NWE3MGM3MTQ2M2FlN2VmMzc5OSBsZWdhY3ktdHJ1bmsKKzE5NTMzIDU3YTk3MjJjNTg4ZDRkYTJiOGE1YTBlODkxZjkyYmZkNTdjNWNkNjEgbGVnYWN5LXRydW5rCisxOTUzNCA5OTBmYTI1Y2RlMWNjZjE1NjhjODY5NDMwYThkZTY2M2VlZjIyYjAxIGxlZ2FjeS10cnVuaworMTk1MzUgYThhMDBkZTAyNGU3MzgwYTlmZTg0ZGNiZDcyNWYyYTdjYjU2YjlhZCBsZWdhY3ktdHJ1bmsKKzE5NTM2IDhiY2MxMGRiNTYyZTRmOWZmOGUyMmYyN2MxMzU4ZDBmZDdlMGQxYmEgbGVnYWN5LXRydW5rCisxOTUzNyAwZDNhZThmMDg0OWQ5MmE1Mzk3ZTFlNDhjYTg4ZTdiZDY2OTM0ZjY4IGxlZ2FjeS10cnVuaworMTk1MzggNWJjZjljNDliNmU3OGM0NWZiNmVhMGU3NzJjN2JhZjE5MjFiYjBjOCBsZWdhY3ktdHJ1bmsKKzE5NTM5IGY0ZTk3ZWMxZGM5YWI2MmU2MTUyZWZkY2EyODhjMjc0OWE2OWZmZjcgbGVnYWN5LXRydW5rCisxOTU0MCA5NjNmOTVlYjc2NDZkYWExODgxOGE0OTFmMzEyNjBlZTYyNDQzZDg2IGxlZ2FjeS10cnVuaworMTk1NDEgMjk0YmExNmIwZTg4YTQ3NjNkM2VhMDdiNTgxYTU0ZDRhNWVhODVhYyBsZWdhY3ktdHJ1bmsKKzE5NTQyIGI5NTVlNzQ5NTVkNTRjOTU4YTY5MjIyNzkxNzE4MjJmMGJkMTk4MzMgbGVnYWN5LXRydW5rCisxOTU0MyAwNmFkNTA1M2Y0MGEwNjJjOTA3Nzk3ZTUwM2MwYjEzNWJlNGZmODg5IGxlZ2FjeS10cnVuaworMTk1NDQgZGI0ZmM4MmFhNDRiYTliNTNiNjg0YTY4MGNmYjVhZmFhMTI1NTBjYiBsZWdhY3ktdHJ1bmsKKzE5NTQ1IDE3ZWQ2MWZkNWI2NTQwOTMzZjM1OTZjNzRhMzdjMGIwOGQwYTJhODEgbGVnYWN5LXRydW5rCisxOTU0NiAyNmFjYzI0NDVmMzczNzMyZjE3ZGQ1MTgyYWMwZjJlMWMwNjFhYTI5IGxlZ2FjeS10cnVuaworMTk1NDcgM2NiMDBjYmU3NDU1MDg0ZTcyMWU5MWNjYWE4ZDM1NTNmNjQ5YWMyMCBsZWdhY3ktdHJ1bmsKKzE5NTQ4IGQ5NGZlYTU3ODM0YzMzYTAxZGFiMDBjOTEzOGRjYjc1ODA3NTYxMDUgbGVnYWN5LXRydW5rCisxOTU0OSBmN2FlMGQ5MzdjZDA3NDMxYTMwMGM3MjMzMDlmZTgyNjIwYTM2NDE1IGxlZ2FjeS10cnVuaworMTk1NTAgYTZmMDgwZmU1MjUxMWY5Mjg2YWEzMzUyODcyZThkOTBmMWZmNDYwZSBsZWdhY3ktdHJ1bmsKKzE5NTUxIGEwYmFmNGNkODM1Y2YyZjQwZGI5MTU0NDY5MmNiNjkyYjA1ODRlNWMgbGVnYWN5LXRydW5rCisxOTU1MiAxMDJmZmUxNjExZTBmODQ3NDlkOGZkZmMwMmI4ZjhhZWQyY2EzYjg1IGxlZ2FjeS10cnVuaworMTk1NTMgNmViYjE0YjE0MWFkNTFiOWNjNGI4OGYyMTdiOGRiM2IxODNlZjA4OCBsZWdhY3ktdHJ1bmsKKzE5NTU0IDczNmJjZWVjYTNkYmQ2M2FmODMyODhkYjJiYmIxNzZmNzE3ZGE0ZjUgbGVnYWN5LXRydW5rCisxOTU1NSA0MTM0YjU5NzIyMTljZmJjOWVmZTYzYTc1NzMzYmI4MDU1ZjA5MzU1IGxlZ2FjeS10cnVuaworMTk1NTYgNjYyNjZjNDZjY2ZkY2Q2MmFhOTdhOGVjYjNmMmQ2ODdmNmE2MTJmNSBsZWdhY3ktdHJ1bmsKKzE5NTU3IDJhODZkNTE5ZjgwZTVlODg1MjEzN2NmOWRlYmM4MzU2MzdlNDNmZDMgbGVnYWN5LXRydW5rCisxOTU1OCBkZTVhOGRkMWM2ZjI0NzU2ZmE0M2E0MTYzYTBjN2YzMWNiOWM1ZTgxIGxlZ2FjeS10cnVuaworMTk1NTkgM2JkZDU2NWM3N2JkZGRkMjI4MDRmMDczZTE1OTdlZjJiNzVmZGFhYSBsZWdhY3ktdHJ1bmsKKzE5NTYwIGUxNGM1ZjM0ZmEwNTg1NmE1NDEyY2E4NWQwMzJhNDE5MmIzYTk0ZGEgbGVnYWN5LXRydW5rCisxOTU2MSA1NjQ5MjdjNTU3NDI1ZjhiZjU4Y2RiYWNkMzg2MmRhYjQxNWY5OTRjIGxlZ2FjeS10cnVuaworMTk1NjIgYzAyYTlkYjU2ZmUxNWQ1YjA1MzI2MDNhNDI1Y2Q5YWFmNzIyMWM1YyBsZWdhY3ktdHJ1bmsKKzE5NTYzIDFiNDAwYzg1NGEyYzJmZmU0MTg5ZDI4NGVlNmYyOTNkYjY0ZDhiOTQgbGVnYWN5LXRydW5rCisxOTU2NCA3MzM0YjJjZWRkYThlNzUwYmUyZWI1MzQ4ZDBiN2U3YzE5YzdhMGQzIGxlZ2FjeS10cnVuaworMTk1NjUgZDJhODQxNGExZWFiM2QxZTNkODVkMjhkNmM3NGUzNDJkNDllZmFhNCBsZWdhY3ktdHJ1bmsKKzE5NTY2IDYwYzkwZmY5YzJmNzhhZDZkOGU4MzhiMjM0YTA3MTgxMzQzYTg4YzYgbGVnYWN5LXRydW5rCisxOTU2NyBmOWY0YzIzM2VlMDM3Y2Q1MzRjNTY4Y2UxMDY1NzAyNWE0ODczZDI1IGxlZ2FjeS10cnVuaworMTk1NjggODE3MjkwNmM2ZGM4ZmIzNzg2MTU4OGJiYmMwZWE2ZTZhNWE0N2E5ZCBsZWdhY3ktdHJ1bmsKKzE5NTY5IDA0Njg1OTZlMzAxODc0MDA4ZDA3ZTZhN2E4YTM1ZTAxMGVlOGU4YzYgbGVnYWN5LXRydW5rCisxOTU3MCA5MzJhMWY4ZDkyZjcwOTE3MmMyN2Q2YTlmOGU0YjJjZDcyNThkYmJkIGxlZ2FjeS10cnVuaworMTk1NzEgNjE3Y2I0MGNiNzRiOGY3NDIwMDFkMTY3OTMzYmUyMTIzZWVmZmYzZCBsZWdhY3ktdHJ1bmsKKzE5NTcyIDk2OTZjOTVkMDliNzQyNGNkMTIzZDQwYmU4Zjk5N2FlMWI3YzAwZjEgbGVnYWN5LXRydW5rCisxOTU3MyA1Nzc5OWYwMTNhYWQyNTRhOGY4OWRmNmI2MTRhOGI0YmQ5NjBlODQ0IGxlZ2FjeS10cnVuaworMTk1NzQgMWNmMzZlYjVhMjVjMGY1NjAyZmNlMDczZmM0MzYxYzhjZDk4ZTc2OCBsZWdhY3ktdHJ1bmsKKzE5NTc1IDU4OTA4YmI0N2NjYWNhZDdhNjE3MGRkMGU4MTVkNzYzZWQwZGU4MTYgbGVnYWN5LXRydW5rCisxOTU3NiAyYzFmOGQzYmJhMmY4MWViYjUyN2I2NjRkNTIxOTA5NzYxZTk1OGFjIGxlZ2FjeS10cnVuaworMTk1NzcgNjM0MWY4ZDkwOWFjNWY1NmMxYzJmNzRkNmY5ZGEwNjIzOWI2NGQ5MyBsZWdhY3ktdHJ1bmsKKzE5NTc4IGU0YjQ3YjQzOTNjOGFkNGQ2YWNkMjVlMjhmODFiOTNmODQwMmEyNzcgbGVnYWN5LXRydW5rCisxOTU3OSA2ZDFmZDkyNDRkYWRhYWJlZjJhOWVlZWUyMTZjZTcxMTE2NWZjYjdiIGxlZ2FjeS10cnVuaworMTk1ODAgM2U5Mzk2YWM0YmEwN2U0ZGNkOTg2MDQ1NTlmOTY0YzE1MjQ0Mzc0OCBsZWdhY3ktdHJ1bmsKKzE5NTgxIGVmNjRkYzY4NTIwZmRiOTkyZmFlNTJkZjk0MzQ3ZDZiNWVkZmEwOWMgbGVnYWN5LXRydW5rCisxOTU4MiBhMWQ4YmI2ODY1OWE0NzQzN2VlZjcwZGY3ZGQyMzE0NDljMzA4NWUyIGxlZ2FjeS10cnVuaworMTk1ODMgMDFjMjQ3MGVlYjJlYTAzNDE1ODc2Y2EzN2M1NDZkZGZjM2JmN2Y5YSBsZWdhY3ktdHJ1bmsKKzE5NTg0IDg5YzEyNjg4N2RmMDkzZTBkMzdiNzU0OTAyYWU4M2FmYWI2Njg4NzYgbGVnYWN5LXRydW5rCisxOTU4NSA0MDdkNDAyMmNjOGMwNDI4YjE1NGZlOTZhNThlNTBkMDNlMWRjNDA1IGxlZ2FjeS10cnVuaworMTk1ODYgNGRiMGZkZGI2OTE3OGRiZmNmZDdiYTFhYWYzOTNkNzYwOTA0NzVjMCBsZWdhY3ktdHJ1bmsKKzE5NTg3IGNjMzM4YTVjMTZlNWM0MjAzZTRmZTMxZDE2NTE1ZjMzNWUxMTQ4NmUgbGVnYWN5LXRydW5rCisxOTU4OCA1OWYxYjU3YmM5MDk5OGYwNzQ5NzY4NmNhYzY2YTUyNTcyMjlkZjIzIGxlZ2FjeS10cnVuaworMTk1ODkgMTIwNjIxYmQzM2ZjYTU5YTEwMjZhMTZiNGJkYTViNDE2YjNjNjc1ZiBsZWdhY3ktdHJ1bmsKKzE5NTkwIGQxNzBjMWU3NzJjNTUzYTliNTg5NmI2YTRhMTRkZWY1ZDdlNDkzZDkgbGVnYWN5LXRydW5rCisxOTU5MSA1ODNhODEyYzQ1Yzg4NjEzNDU1NjdhNWNlN2NiOGMxYjc1ZDQzYWJiIGxlZ2FjeS10cnVuaworMTk1OTIgODAwYjAwNGFjYzcxNzgwZTZkOTkzZDMyYmY4MTQzNDNjYTkxNTkyNiBsZWdhY3ktdHJ1bmsKKzE5NTkzIDI1NmUxNTk5ZDhkOTZjM2JiZDc0N2JjMzYxZmY1YTBmMTQ2OWI0YzMgbGVnYWN5LXRydW5rCisxOTU5NCA3NDE0NWFiMWZkYzViZDlkZjUwM2ZhNjc1YjY0OTkyYmM2NjViM2Q1IGxlZ2FjeS10cnVuaworMTk1OTUgZTgxZGRhNWQzN2M0YjFiMDYzMDIwNjM5OGQ2YjUxZjQyNTBlOGUyZSBsZWdhY3ktdHJ1bmsKKzE5NTk2IDg2Yzc2ODNiNjA2YTkwYmVlOWNjOTA4NDBlYWI1ZWI2ODk0MjAyMTkgbGVnYWN5LXRydW5rCisxOTU5NyA4ZjAzNGJjZWU4NTZiYWRmMGY1NDY0ZjcyMzI3NjIyN2RlODA4YjE0IGxlZ2FjeS10cnVuaworMTk1OTggYzk5ZDE5YTk2ZTllYmJlY2Y2MmRjNzcxNTE2NmFlN2ZlZGI5YmMxOCBsZWdhY3ktdHJ1bmsKKzE5NTk5IDA1ZWMxYjA1NGI0ZDkzZmUwNmYyODllN2U4ZDM3M2NmZGQ3ZjZkMWQgbGVnYWN5LXRydW5rCisxOTYwMCA5Zjg2Y2JhNDc2NmI1NGVlOTUxNzAwZGQ4MGY1MGQ1Yjc4N2NiMmUwIGxlZ2FjeS10cnVuaworMTk2MDEgYjMyNzhiZjRmMDkxODIzNzEzY2ZjNDcxMTMzMjBjMmJiY2RhOWU3NCBsZWdhY3ktdHJ1bmsKKzE5NjAyIDM4NmNjNjk4YWVmOTU1NmY2ZGI0MGJiMWM0Mjc5ZWMxZWIyYzEzMDcgbGVnYWN5LXRydW5rCisxOTYwMyA4NDRmZGU2MDBhNjFkMzM4OWFhYjFiZjFkZWQ2ZjZhNDVjZjA2Y2ZjIGxlZ2FjeS10cnVuaworMTk2MDQgZGRhZmRiZjkxNDk4NWI4OTE0Y2Q4YTA0YTU3MDk5NGY2YTYzM2M3OCBsZWdhY3ktdHJ1bmsKKzE5NjA1IGMxMDA1NjEwMGVhNWRkMmZlODRkNTJjMmUzMjcwZDg5YmJlOWVlMGMgbGVnYWN5LXRydW5rCisxOTYwNiA4NDY2YmIzNzI4OWNkNmU3NjEwYWE4OGQzOGZlYTI0NzE0NTY4ZmJmIGxlZ2FjeS10cnVuaworMTk2MDcgZGI2MTg5NGIwZDZmYzNlNDAwZTQwMjQ0YzA1ZjhjOTg2ODQxMDhlZiBsZWdhY3ktdHJ1bmsKKzE5NjA4IDg1ZDJhZjk3MmU2MjMwNGMwYjkyMDYyMDk3NmRmYTNlZjc0YzJhMmQgbGVnYWN5LXRydW5rCisxOTYwOSAzNWY1N2M3MTcwYmQ0MGE3NWQ4ZGMzMmMyMTA1NGVmYjFiZjJhMzE1IGxlZ2FjeS10cnVuaworMTk2MTAgNGNhNjJhZmVjMDA0NTI1ZmMzY2I3MzRmYWFmNTY2MGNhMWU5MTI1MiBsZWdhY3ktdHJ1bmsKKzE5NjExIGI0MmIyMmE5MjI4Y2M4NjA1YTU5ZjkxNmIwNTQ5OWFiZDA4ZjA3MzEgbGVnYWN5LXRydW5rCisxOTYxMiBlMmEwZGI4MzllYjFhNDNiNDUyNjg2MzlkMmU1NWYyOTJjNDY3YzBmIGxlZ2FjeS10cnVuaworMTk2MTMgZTQ0NGE1MjcxMTgxMmNjY2M3MTBhOWFkYzAwMTU0MWM5ZGQzMWZiMiBsZWdhY3ktdHJ1bmsKKzE5NjE0IDk1MTg4OTNjYzhhN2Q2ZjVkMjI2ZWNkNzgwY2VjMjU0MmYzM2QwOWMgY25yaS0xNi1zdGFydAorMTk2MTUgMDZmNmYwZTFlMTA2MTZjOGI2NjM0ZDc3ZDFmOTk2Mzk5MTA1Y2MwMiBjbnJpLTE2LXN0YXJ0CisxOTYxNiAzYzBhMzUwMDIxMDhkMmUxMjA0MzFkNTRkNmMzY2JiZjUxNTdiNWFjIGNucmktMTYtc3RhcnQKKzE5NjE3IDZhNTViNjc3ZjUwOTY0NWYzYzg3YmJlYTk1MGNiMTk4MGVlYTE2MjAgY25yaS0xNi1zdGFydAorMTk2MTggNzgxNTkxOWUyYWY4YjYzZTBlYTc2MTY2ZGQzNWE5MGQwNTYzMWU3YyBsZWdhY3ktdHJ1bmsKKzE5NjE5IDkwZTkwYzkyMTk4YjdkYTYwOWU1NjBmYzNiM2ZjNzY3ZTUzNmNlYzMgbGVnYWN5LXRydW5rCisxOTYyMCBjYTFiZTdkMDA0MTNlOGFhYTVlMzljZjVhZGMzNDE2MGNhY2U3ODBmIGxlZ2FjeS10cnVuaworMTk2MjEgNWMzYWVkYzk2OWRhNDU2NzhjYzliMGVkMjBmMzkzNDg1ZThiMGU0NCBsZWdhY3ktdHJ1bmsKKzE5NjIyIDUxOTc3YWYyMzBmYTQ3YmVlOTQ4MTM3NjMxYzA1YjcxODI5MDcyZWQgbGVnYWN5LXRydW5rCisxOTYyMyAyM2M3YTAxMDhmNTkwY2ZjN2MxYjk4MWIwMmFlY2M1MzUxODU3YmUxIGxlZ2FjeS10cnVuaworMTk2MjQgMmZiNGQ2MjViZDM5ZjAxYTRhMmNiZjg3YmNkODliZTkyZDY1ZjBhMSBsZWdhY3ktdHJ1bmsKKzE5NjI1IDM0NDg1OTFlODI3NWU3YTc1YTQ3MmUwMjk1ZjRlZmM4MTUxN2NjOWIgbGVnYWN5LXRydW5rCisxOTYyNiBlMWZhOThmZDIzOWU3NWExM2YwOGY3NzVhODJhOWQzNTYyODRlNTA5IGxlZ2FjeS10cnVuaworMTk2MjcgODk5NjI4OGE4ODczYjFjNGU3ODE0YmJiMGE4ZWNkYTUyNDVmYjllZiBsZWdhY3ktdHJ1bmsKKzE5NjI4IDZjOTZlODMyOGQ1MzAxYjdiNmQ1YzE0MjFjOThkMTI2YTBiZTQ3ZDEgbGVnYWN5LXRydW5rCisxOTYyOSBhOGU1MWY2YjVjZmMwOTdjNWQ0ZmFiZDgyNDUyMTEzNWM1ZTQyODVmIGxlZ2FjeS10cnVuaworMTk2MzAgZmYxMjJjNDA0ZjY0MzFjNmY0NThhNGIxZmY3NzQ0ZDM5ODVkZmM5NCBsZWdhY3ktdHJ1bmsKKzE5NjMxIGRiNDhkMGIxM2IxZWQwMTIyMzcxOTA1NTgzOTRmMzc3Nzc1MzM0MzkgbGVnYWN5LXRydW5rCisxOTYzMiAyZjU4NWNiZTcxZGE1OWRlMzk3YTc3YzBhODVkNzA4YjVhMzEwMzQ3IGxlZ2FjeS10cnVuaworMTk2MzMgYTdjNTE0ZTE1MDAzNjcwYWFiOTFmY2M1OWQwNzNmZmEzNTMwNjgxMiBsZWdhY3ktdHJ1bmsKKzE5NjM0IGE4MDRjOTFjMTgyZTFjMTVlMTc5NmIxNTFmYzBmMDhjZDI3ZjM2NmYgY25yaS0xNi1zdGFydAorMTk2MzUgMGEzOGY0ZDk2NjdlY2VmZDlhMThmMWY2ODU4MWFiNjM3ZDYxOWUwNyBjbnJpLTE2LXN0YXJ0CisxOTYzNiBmNGYyODYwZDNhNWYzZTA5OThjOGNkM2E2ZmQyZmM2MDA2MjBkZTA3IGNucmktMTYtc3RhcnQKKzE5NjM3IGI0ZTQyZDI5OTYzZGQ0Y2JkMmQyYzU2ZTkwZTgyOTFkYjIyZjJlZmQgcjE2MS1icmFuY2gKKzE5NjM3IDdlZTM3OGQ1YTQxZDJkODMxNmVlMzI2ZjgxODk5MjQxOWE0ODA0ZTIgcjE2MS1icmFuY2gKKzE5NjM5IDYzNDhjZDQ1OWVlNDllM2U1NTdlN2Y1YjUxMjdlMDc4YjMwZjdiMmIgbGVnYWN5LXRydW5rCisxOTY0MCA2ODBjODg1ZGZhY2U5MWI5NDYxNjJlYjU2MjJmY2YzY2U2ZTE1OTVlIGxlZ2FjeS10cnVuaworMTk2NDEgYjZhNTJlNDM4MzQ0MWY1YTMzMTQwMWJiYmQyMmIzZjk5ZGUxMzMzNCBsZWdhY3ktdHJ1bmsKKzE5NjQyIGQ0NDZlNGVjOWI3YjM5NzcwY2ZmN2ZhOTI5ZTRmNjliMzA0NjE4YTUgbGVnYWN5LXRydW5rCisxOTY0MyA5MDUwMTFlODc0MGM1NDU5Y2Y4YmIxYjg3OTIzYTA1ZjRkZDdlYmY5IGxlZ2FjeS10cnVuaworMTk2NDQgMTRhZmZiZDAzNzUwNmM0ZDk4YmM5ODA3NDBlMDJhMDY1NDYxYTlhOCBsZWdhY3ktdHJ1bmsKKzE5NjQ1IGIyMzUxNjBmMTM0NjcwODUxOWNlMjVmNTJhMTAwOGJmNjM1MTA4ZGIgbGVnYWN5LXRydW5rCisxOTY0NiBlNGQ5YmEwYWMwYjJjYTE0Y2IzNDE4ZDI3NmNkNDdjYTcwZmNmNzdlIGxlZ2FjeS10cnVuaworMTk2NDcgNjdlZDhhNjkwNWMzMzlkYThlNWE5YTE4OTFmYzYwNjVhNDRlNWJjMyBsZWdhY3ktdHJ1bmsKKzE5NjQ4IDM4MzlmMGFhMWU3Y2NlY2U4YTEyMDg3MzEzZjQ5MmYzNzc5ZWI3NDkgbGVnYWN5LXRydW5rCisxOTY0OSBhNDE4MmM2NzljNjFjNDQ4MjUyNDBmNjNjNGVhNDJkZmY1M2MzN2FjIGxlZ2FjeS10cnVuaworMTk2NTAgMjkxNWViMDdiZDI1YTM0YjlmZTg0ZWYzYzc5MTBhODE4ZWQwNjQ1OSBsZWdhY3ktdHJ1bmsKKzE5NjUxIGI5ZTVjMTIyMjEyZWYzNDc4NmIxMDliNTI4NDY5ODIxMWI3Y2Y3ZDggbGVnYWN5LXRydW5rCisxOTY1MiA2OGJkOTZlNDI2ZTMyYmIxYjk5MmJhMTFiZjEwMTJhZGZlOWI0Y2Q0IGxlZ2FjeS10cnVuaworMTk2NTMgZWIyOTkyNGEzMzcwZTFmYTgyMGFhYmI4MjJkYWVjNTY5NWM0NzNjMSBsZWdhY3ktdHJ1bmsKKzE5NjU0IGJmOGQyYjkyZWEwZWYzMjUxY2NhYjZjMzNiMGNhYzEwYzkyYjA4ZDYgbGVnYWN5LXRydW5rCisxOTY1NSA1YTEyMzBkZTQzNmE4NjA1N2Y3ZmQ0NTgyODMyMWY2MzFlNjJjODRkIGxlZ2FjeS10cnVuaworMTk2NTYgNTg2NGE5YzU4YzgxYzIyODFhNjE3ODU0ZDE5ZDdjZTRhOTExNjlhNSBsZWdhY3ktdHJ1bmsKKzE5NjU3IDRmZWVhOTliZTc3N2Y5NjI3YjQwZDg2OTgyYTcwYmY4MmFkN2NhNmMgbGVnYWN5LXRydW5rCisxOTY1OCA2MGZkOWQ0NTQyMDZkYTU3ZWY1ZjIzOTkyMjc5ZTM2ZDZhYzJlM2VkIGxlZ2FjeS10cnVuaworMTk2NTkgOTk3NzgwNmI4NjE3NGQ5NmRiNzc2MTMzOGU2N2E0YmM3NDI0NWM5MCBsZWdhY3ktdHJ1bmsKKzE5NjYwIDI2ZDNlOGVhY2VkZmFkZWU2YjkwOWE1ZTE0ZjRkYzRhNDJlNzc2MTMgbGVnYWN5LXRydW5rCisxOTY2MSA5NTE5Y2FkNmJmOWQ0YzUzYjZiMTgzZTM2MGQ0ZDIwYWM3ZjBhMTgyIGxlZ2FjeS10cnVuaworMTk2NjIgMDBmZWE0MTczMGNmNDNjNWNjODE4ODlmMmQ4NzIyZGQzNTUzNDBiZiBsZWdhY3ktdHJ1bmsKKzE5NjYzIGU5OTFkODg0M2FiNDdlOTE2YjljNGI0ZjZhM2E5MmU4MjE0ZWM2MWQgbGVnYWN5LXRydW5rCisxOTY2NCA2N2JhZDlmMjBiMjljMTc5M2VlOWFjNzFmY2ZlOWJiMjUzMzc4NzFlIGxlZ2FjeS10cnVuaworMTk2NjUgYTg5Zjc4M2MxMzNhNTAyODg4ZmU3MGYzMmU3YzE0MzE1Njk2MDZkYyBsZWdhY3ktdHJ1bmsKKzE5NjY2IGRhZTM5ZWJiYzAwNDFjYzE1YmUyY2ZiNWI4NjNhNzY4ZTE5M2JlNTQgbGVnYWN5LXRydW5rCisxOTY2NyA3ZjhmN2JlYmQxZjY0Njc2NzlmNzJlYTI5OGEzOTExYWQxOGZkZjljIGxlZ2FjeS10cnVuaworMTk2NjggMjlhYTgzMmI4Nzg3NDc4NjZkNzhmOTgwMmRjYWRmYzA2NGYzZmJkNyBsZWdhY3ktdHJ1bmsKKzE5NjY5IGI4MDI0M2Y3Zjk3Y2JlNmE3ODY0MDVkYzg5YzU5YTE4NDhlZGY4YzggbGVnYWN5LXRydW5rCisxOTY3MCBhYzE4MGM5ODIyOTUwMDFhN2U0NjYyNTQwY2I4ZTQzYjVjNjE1NGQ2IGxlZ2FjeS10cnVuaworMTk2NzEgM2MyMTQyZjA3NmI0NmZlMmFiMmJkMDQ2NWY5NTVjNGZkYjQ3YWJhNiBsZWdhY3ktdHJ1bmsKKzE5NjcyIDI1OGRjYWZlMmQwYjhkYzZiY2VjMTZlMmEyMzJkOTE4NzdhMDI2OGUgbGVnYWN5LXRydW5rCisxOTY3MyAwOGQ5MzcxMDdmZTZjYzIwOTViMThhNjU0OTNjOGRkMjRkOTI0ZjVkIGxlZ2FjeS10cnVuaworMTk2NzQgZTAwNjJlODlkOGY0MjdhNWZhODhlNTBmZTUxMzVhNmU5MmJmZWQwYSBsZWdhY3ktdHJ1bmsKKzE5Njc1IDJjOTE4NmU0MGIzMDc3OGZkMDcwMWIxNGE3MzQxYjJhYWYxMTYzYWEgbGVnYWN5LXRydW5rCisxOTY3NiBhODY5NTA1MTk1ODYzYzg3YWVmMjAzNzMyY2ZkZWVlYzEzYWY1MDU3IGxlZ2FjeS10cnVuaworMTk2NzcgNDQ0NThmZTk0N2RkYjA1NTQ1Y2Y4YTg0NmZlOGIyNTc4Y2JiNjU5YyBsZWdhY3ktdHJ1bmsKKzE5Njc4IDgxNTY4NzlmZTYwZDFlMmRhYjMwNzk2YjkyNDg5ODZlZDMxOTIwNGEgbGVnYWN5LXRydW5rCisxOTY3OSA4Mzg5NWI0Y2UwYmJmMWVlZjVlNDcwZjNjNmNkYmUzNDZkM2VmZDdhIGxlZ2FjeS10cnVuaworMTk2ODAgYjI1ODVkOGZkYjhiYmY0NDIyNWNmNzJkZjYxZGY4OTUxMTQzZWEzNyBsZWdhY3ktdHJ1bmsKKzE5NjgxIDc0ZmQxOTU5Y2Y0NGVlMmIzZmMwMjE2ZDAyMzcwNmQxNWIzOGZiMmQgbGVnYWN5LXRydW5rCisxOTY4MiBhZTdkNzIwN2RhNDg4MDM2ZTJmNzE4ZmRhYThiZTlmNzZkNzk4N2Q5IGxlZ2FjeS10cnVuaworMTk2ODMgOGJmMGM0OWZjZTEwMWFiYTkxNzk2YjRlMDQxODhhMTA4MjVlYzAzMyBsZWdhY3ktdHJ1bmsKKzE5Njg0IDUwZDkxNTllZGFhYjY3NmJiZmYyZWU3NzRlMmIyNmU0M2Y1ZjM5YzkgbGVnYWN5LXRydW5rCisxOTY4NSAxZDFiZjY4MTNlZTU2OTg3OWRjNTA3NjkzMTlmOWIzZGNlNmM4MGFkIGxlZ2FjeS10cnVuaworMTk2ODYgNTgwYWQ2ODU0NDVmNTE4M2E2MTYxYTVkY2M2MjQ5NDNmM2U3YTUzNyBsZWdhY3ktdHJ1bmsKKzE5Njg3IGMzZmIwNDRkN2U2ZjFhYzhkNjA2MTk2M2E3YmJhYjU1MjI4Yjg2NzAgbGVnYWN5LXRydW5rCisxOTY4OCA0ZWFkZGY0NzhlOTdhNDYzYjc3YTk5MTdhNzNmNmFhMGZhMDllOGY0IGxlZ2FjeS10cnVuaworMTk2ODkgYjJjZmY1NzA1Nzc1ZTI2OTkzOThjZGRjNzkxNjEwNTExMzEyNmZhMyBsZWdhY3ktdHJ1bmsKKzE5NjkwIDc2NTgwMWRlMTUxMjA4M2Q2YTQ5NjBjMGFiYmNkM2ZlYzVlNTkwYTAgbGVnYWN5LXRydW5rCisxOTY5MSBmZmNiM2NmZjk0Mzk0ZDA1MjMyNjMxNTBhNTUyNjRmZDFmZDFmMzMwIGxlZ2FjeS10cnVuaworMTk2OTMgZmQyYTg2OTc2OWIyNDliODc2NzMxMzlkOWUxNjRlZTE3MjAyODU5NCBsZWdhY3ktdHJ1bmsKKzE5Njk0IDUzZThlYmQxMTYyMGQ0NWMwOGE3Mjg0ZDczMTU1ODI1ZGJhNDY1NGMgbGVnYWN5LXRydW5rCisxOTY5NSBmNTRiYWU4NmEyYzZiY2M2MTZiZTBjZTJlZTdjODExZjcwZTdjZDk0IGxlZ2FjeS10cnVuaworMTk2OTYgZjc5NmE4NzcxMTdlNzE1YjM0MWYxYmE3ZTAwZGMwNDI0ZTIwM2YzZSBsZWdhY3ktdHJ1bmsKKzE5Njk3IDBmMGVmYzJkMTJmMTQzYTY4NmVjZTc2NjhjMzVjMTc4NTM5NWFlZjUgbGVnYWN5LXRydW5rCisxOTY5OCBhY2JlNzRmM2E3ODZmMmY0NTc5YzZmNzg0M2M2YzJjN2UzOGQxNmVjIGxlZ2FjeS10cnVuaworMTk2OTkgZDRhMzE1ZTQwOTRjNDg3MWRmNDMzZDBmNmY2NjFiMjFiYjAyMDllNiBsZWdhY3ktdHJ1bmsKKzE5NzAwIDUxY2Y0NTFmYWFlNDYwMTk4Zjk3MDQ2YzBiZjU0MDUwYmMwMWNkZTAgbGVnYWN5LXRydW5rCisxOTcwMSBhOTU2OTM0OTFlY2FhZjcxMmRlYjc4ODY3MmU3ZmEwZWNjM2YyNDQ1IGxlZ2FjeS10cnVuaworMTk3MDIgY2U0NzQ5OGEzMTU4NTk3M2JhN2QzYzk1NWYzMjc5ODA0YmQ5OGFjMyBsZWdhY3ktdHJ1bmsKKzE5NzAzIDNiMDUyMTJjMTYxNjAyNTU3MDM4YWM4ODgwZTY0ZjhiMmQwYzZjZTEgbGVnYWN5LXRydW5rCisxOTcwNCA2NzMyOTA1Njg2ZDQwZTgxY2JmMDgxZDI5ZDhhZTdkM2FmMDFlZTg4IGxlZ2FjeS10cnVuaworMTk3MDUgZjUzNzBlMWUyMzkyZTZlNDJhZDQzOWE5ZDYxYTU5ZTA1ZDFkMWNmNSBsZWdhY3ktdHJ1bmsKKzE5NzA2IDI3ZjA0ZDcxNGVjYmM1MzZjZTdhZmRmMjNlYWUxZmQyNmI1YTNlMTkgbGVnYWN5LXRydW5rCisxOTcwNyBiNDYzYWNkNmRhMjIyOTllZDFhMDcwZmU4ZjJiYmI3Y2NmMjllZDJhIGxlZ2FjeS10cnVuaworMTk3MDggYmJkZWI2ZDRkZWExNTJmYzM2YTUxOGFhMjk2ZjljYzdmMWZkMzEyMiBsZWdhY3ktdHJ1bmsKKzE5NzA5IDUyZmUzNzdmMDdmMmNlMTYwYjAzMjVmMGFlYzIyNDA1NzM2ZThmOGQgbGVnYWN5LXRydW5rCisxOTcxMCA1OTAyYjU3OTRhMTdlYjdmNzMwZmYzODZmMDIwMmNjYjQzZjNmOTM2IGxlZ2FjeS10cnVuaworMTk3MTEgZjI5Yzc2Njg2NGNiNWEzODhmMzQyNzdlNWI5N2NmOGVkMjhhNjA4MSBsZWdhY3ktdHJ1bmsKKzE5NzEyIDBlNmEzZGE0Zjk1NjEzMDUyMTY2NWFiNjBhOGNjYmIxZDk4NmZiYTMgbGVnYWN5LXRydW5rCisxOTcxMyAwOWY2YzEzNzIwNTY5OTM3MDg4NmVmNmM3YzY2ZjFhYzc5YjU2Njc4IGxlZ2FjeS10cnVuaworMTk3MTQgZTFiMWU2OGNiZDhjMTViODFjZTkyMWU0ZGRmNmZlODhkMDMxNDY4MyBsZWdhY3ktdHJ1bmsKKzE5NzE1IDk1MGZjMjI2MWRhNDYxYTEyODg5OWMyZTRlMDFmOWM3NGQyMTM5YTYgbGVnYWN5LXRydW5rCisxOTcxNiAzZDI5NjkwYTI0ZTg5NTUwNjRkMDczOWQ3ZTMyM2NkMjcwODg1MzQxIGxlZ2FjeS10cnVuaworMTk3MTcgNzZhNjg0ZmUzZjdmYzVkODM5MGRhMjRhMDIzNzg3Y2M4OTJhZjhlMyBsZWdhY3ktdHJ1bmsKKzE5NzE4IDMyNmE0ZGNiY2QyMmE3NjZmMzk2ZTQxMDRhYzE3N2FhZjc0ZjVlMDIgbGVnYWN5LXRydW5rCisxOTcxOSA4MTU2ZGViMGU2MmRlNWUxMjE1OTdhODk2YTVhYjgyNTA1OWRhZGM4IGxlZ2FjeS10cnVuaworMTk3MjAgMDlkY2Y1ZWJjZDgwMzJmYzliZTMwNzRjYzk1NzUzYWExZjlhM2NiZiBsZWdhY3ktdHJ1bmsKKzE5NzIxIDJkMmVlMzBmNDNlYWRkNWRjZDJkN2FjMDg3YWVjZDk4YzFlNzUwMzYgbGVnYWN5LXRydW5rCisxOTcyMiA5NWE3YzU4OThmYWExZGE3YTBjNGI2ZDM1M2ExZjgwMjhmYzU5NjYwIGxlZ2FjeS10cnVuaworMTk3MjMgNDg5NGJhM2VkZDBhNTM0NGY0YTE5ZjEyZTFmMzJmOGRjMTFmZTkyYiBsZWdhY3ktdHJ1bmsKKzE5NzI0IGE4NzcxYTUyYWJiMzdmZTA3YzljNWVlY2UxZTViODVmMjU2Y2M1NTkgbGVnYWN5LXRydW5rCisxOTcyNSAyZDRkYTZjZmVlNjE4MjlmODNiNGQ2ZGQ5ZGIzMjcyYTA0YzY3ZDlmIGxlZ2FjeS10cnVuaworMTk3MjYgZTVmMmFiODExZWMzZDgxOGJkNDY3YzY1Y2E4M2NhNmZkZjEwZjk4NSBsZWdhY3ktdHJ1bmsKKzE5NzI3IDg0Nzg0NDI0OGM2ZjkyNzcyOTY4YmU5NGM5ZjMwMzc5ZDEzNzUxN2IgbGVnYWN5LXRydW5rCisxOTcyOCAwNTc4NWJkZjI4OWNkMDYwOGEzMTUyYzFmZDViOTdlZDFhNjJiMDJjIGxlZ2FjeS10cnVuaworMTk3MjkgYmM4OWYxMTYxNjBiOTc0YWMyNjg4ODUzYTkzZDFmZDk4YmY2ODE2OSBsZWdhY3ktdHJ1bmsKKzE5NzMwIGVjOTA4M2FjMjZkZjdkZGMxYTdiYmJmN2I3YWI0N2FkMjMxNDBiM2MgbGVnYWN5LXRydW5rCisxOTczMSAyNmNlNmVmYzk3NDQyNzlhYzY3ZmJjMWJiMTk2ODVkZjk0YWJhMTljIGxlZ2FjeS10cnVuaworMTk3MzIgYzU1NzgwODE1YTZlNWEzNWQzM2FmMGE2NmI2YzA2NDQ4MGMwNWNhMiBsZWdhY3ktdHJ1bmsKKzE5NzMzIGIwYWFmOGY4NWQxMjhlMjQwYTYyZDg5NDEzN2FkMTZjNjZjMzE5M2QgbGVnYWN5LXRydW5rCisxOTczNCA4ZDdmNzJjYzJlY2M4MTQ1NGM0OTFkNjY5YmMwM2I4NThhOWMyODQwIGxlZ2FjeS10cnVuaworMTk3MzUgY2Q0MDg1Y2VlMzA5M2FhNWY0MTAyOTJmMzY4YWFhNmFlZmI3OGY3MCBsZWdhY3ktdHJ1bmsKKzE5NzM2IDlmYTIwMDk4MjU4MzNjODE4NjE4NTQ1ZjU2YmYzYzdmNjVlMmJlZjQgbGVnYWN5LXRydW5rCisxOTczNyA3N2E1NDcwMjk5ZGJlNGQyN2U0M2JhYzUxNDZkYmI3YmFiYjVkOTQ5IGxlZ2FjeS10cnVuaworMTk3MzggMTNjZGJmYjU5MWE0NzQzYTE3NTBiOWYzNGIxM2M0ZDYwMGNkOTE0MCBsZWdhY3ktdHJ1bmsKKzE5NzM5IGQwNTJkZGRiZmQ0NDUwYTExOTM1ZDIwMDA3Njc5ZThiNWFmMjg1M2QgbGVnYWN5LXRydW5rCisxOTc0MCAyNTE0ZmNmYTBmMDgyNTRmZjM0NWNmNWQyNDIwOTNjMzQxNTlmYzYyIGxlZ2FjeS10cnVuaworMTk3NDEgM2E0MTFkNDFlZWI0ZmYwNzA0ZDJlYjJiNDVmMWJlZWYzY2ZjZGU1NSBsZWdhY3ktdHJ1bmsKKzE5NzQyIDc5NzZjZjdmZDE5NjgzYjU4YTQ0ZTRjNjQzMWZhMjk1NmE2OThlYWEgbGVnYWN5LXRydW5rCisxOTc0MyA3ZGM2NmQ1YjEwMGVlYWZmMDljNTI0ZTg4NmY0MGExOTdlOGUxMDZiIGxlZ2FjeS10cnVuaworMTk3NDQgNDEyNjgwM2UxYTg1ZGNhZmRkZWExZWI2ZjU4NjU3MThkYTdkMmNiYiBsZWdhY3ktdHJ1bmsKKzE5NzQ1IGYzOTllNmE4OGY2NTg0OTU4MTYyMWM3NjFlMzgzNmY5OGM0MGIzMjcgbGVnYWN5LXRydW5rCisxOTc0NiBkNjc1ZDc1YWY4Mzk1ZWI4NGFlOGYzMmFiMWNlZDgwOTdkZWUxMzllIGxlZ2FjeS10cnVuaworMTk3NDcgNTI4MGU4NDM5ZDU1NjM4NDI5NDA0NTRiYTE3ZjdkNDlmOTBkMjIzYSBsZWdhY3ktdHJ1bmsKKzE5NzQ4IDlkMDE4YTNkNzk0NmFhNzFkMTk3NTk2MGUwNjBmN2M5NDA1YTY0N2IgbGVnYWN5LXRydW5rCisxOTc0OSA3OWJiZjdhZDBmYzE3OWIyNmM0ZGE0MzZlMDgyM2MxMjVlZGFjMjBiIGxlZ2FjeS10cnVuaworMTk3NTAgMTBiODQwNjBiN2YzOWM2NzVjZjhlZDlkODZiMmM3NDU1ZjNmZDZjMiBsZWdhY3ktdHJ1bmsKKzE5NzUxIDhkNzQ4NmE4ZDY5YWMwYjFhNWJjY2M4OWRlYzMwN2UzNjZhOTFhNzUgbGVnYWN5LXRydW5rCisxOTc1MiAzMGJhODgzNzY0ZWJiNGUxOTU0ZjYxYTcyOWMxZGM4M2RiMmI3YWY2IGxlZ2FjeS10cnVuaworMTk3NTMgMWNmNTI1MzZjMzgxZWQwZGMzMWI1YzZkYWVjNmZmYjZiMjY1OGEyYiBsZWdhY3ktdHJ1bmsKKzE5NzU0IGFiYWVhNDQzZTI4YzJmY2FiOTQxNGE0N2EyNmYxNjY2NTliMmM2YzUgbGVnYWN5LXRydW5rCisxOTc1NSBiZGNkNzk4NzM5MjRjZTY0MmIwYWMzZGJiMzA5NDVjZDk2ODVmNDlkIGxlZ2FjeS10cnVuaworMTk3NTYgODU5ODI5Mzg0NjYzYjM2ZDkwZjk0YjkwYTg4MWU2ZGZlM2ExMThhMCBsZWdhY3ktdHJ1bmsKKzE5NzU3IGFkNzM0MzczN2FlZTllMTJlZTc0NjJlOWEyYmE2ZDE4NjdjMWRiNmUgbGVnYWN5LXRydW5rCisxOTc1OCA3YjViNTc1NmIyY2FkMGUxZjE0ZTIzMzhhZGIwZmYyN2ViMmJhYTdiIGxlZ2FjeS10cnVuaworMTk3NTkgMWNlNzUxZmE2N2Q4MDZlZTdiNTQ5MjcwY2E2ZGY5MzcyNjU5OTIwMSBsZWdhY3ktdHJ1bmsKKzE5NzYwIGQzZjY0NjQwNGE0MzU3MmE1NmIwNDFjNzUxZGU4NzZjYjBjZTZjNzQgbGVnYWN5LXRydW5rCisxOTc2MSA2OGNlMzI4NjE2MjZmOGU2NDMzNTZmYzhlOWIxYzBmNWEzZTIwZTI1IGxlZ2FjeS10cnVuaworMTk3NjIgMTRkYmRlMWVjZGVhYjljMzM2Nzc1ODIwOTZkZTZjOTEwMjIzMjIyYiBsZWdhY3ktdHJ1bmsKKzE5NzYzIGZjZmI0NDJkN2IzNGUyOTY1MzA1OTRkZmMxNDY3ZmFlNmNkYzY3NzMgbGVnYWN5LXRydW5rCisxOTc2NCAwZmViNjM0OTAwOTM1YWE2YjM3NzRhMDRjZjkzYzQ0Yjc1N2ZlMWNmIGxlZ2FjeS10cnVuaworMTk3NjUgZjI4N2M2ODRlMDRjNDVlNjgwMWU5YWIxOWY2N2Y5MmU3ZDI5MWQwYyBsZWdhY3ktdHJ1bmsKKzE5NzY2IDgwNmM2YWUyMzEwMzI0NzU1NTdjMDg3ODc2NDUwODkwNjgxMjU3MmMgbGVnYWN5LXRydW5rCisxOTc2NyBmMjdkMzI5OWRmMzkwNjIwNmE5ZWNmZWYwYThlZjA5Y2EyNzllZjllIGxlZ2FjeS10cnVuaworMTk3NjggZjFjOGVhOTJlZTg1MmVlNGE3YWJjZjE5YzgwZDc1NjMwYjRkNjQ3ZiBsZWdhY3ktdHJ1bmsKKzE5NzY5IGIzZDUwNGJkZDk3OWZhMzZlNDBhNjEyNGI0MGFkZDdlNjQxMjk2YmMgbGVnYWN5LXRydW5rCisxOTc3MCA4YWVjZGIyMjM0ODgxNzMwYTFkODExNDQ4YWJlMjM2MTdlN2M3ZDdhIGxlZ2FjeS10cnVuaworMTk3NzEgZmE4NGY5ZjQxMDkyMzExNmIxY2Q1Nzg3NzFlMDUwODRkOWU5ZDFlZCBsZWdhY3ktdHJ1bmsKKzE5NzcyIDc0YTlkMGE0MjMxYTVlYjBhMWIzODY0YjZlMTQyZjVlMDZiZjFmNDggbGVnYWN5LXRydW5rCisxOTc3MyBkY2VhMDkzODgzMzJjYWI4NTcyOTM0M2E4M2Y3NTI3OTdiYWUwNmUyIGxlZ2FjeS10cnVuaworMTk3NzQgMzIwZmE1MGExYTdkMjU1NjE4M2QxMTg2ZWUwZmExMDBmYjk2NDNiZSBsZWdhY3ktdHJ1bmsKKzE5Nzc1IDhkMWU4NDRmYmIxYWI1YWYwY2IwMTc2OTk1YWNkOTVlZjk2YzJkNzEgbGVnYWN5LXRydW5rCisxOTc3NiA1NzJiNjU0YmY0ZWQ1NGIwN2NlMzA2ZGYzNzIyNTAwYjllYzM0NjhmIGxlZ2FjeS10cnVuaworMTk3NzcgZjU1ZjM1ZGM1MzIwMWE1NDlkNGNjODk3OTYwOGZhZDAzZjk1NWU0NiBsZWdhY3ktdHJ1bmsKKzE5Nzc4IGU4Njg3NWYwNjliMTZlMzRkMDk2YjAzNzNiN2I0OGU4Njc3MjQ0OGIgbGVnYWN5LXRydW5rCisxOTc3OSA0MWYzZjRiMmZlNGE2NzYyYWIwMTA4NWJkZDc1OWRhOGZmNjE0ZTFjIGxlZ2FjeS10cnVuaworMTk3ODAgMGYwNzcwYTc5M2FjZDJmYjg1Yjk4OTRiOTIzY2ExZDZjMTExOTE3ZiBsZWdhY3ktdHJ1bmsKKzE5NzgxIGI3MzI0OWM4ZGUxODAxNjkzZDM2NGQ5OTEzMjZjMDI5ZDQ0ZjExZTggbGVnYWN5LXRydW5rCisxOTc4MiBmMWQ0NWQ2YzEyYTI4YzIyYTM5YThhYzE0ZmM3MzA4OWJjMTYxMWE5IGxlZ2FjeS10cnVuaworMTk3ODMgNmM5M2YxOGQzMjMzNDVlYWY2ZWI3ZjM3NDRkOGZkMTdlOGU1ZmNkMyBsZWdhY3ktdHJ1bmsKKzE5Nzg0IGZhODkwNmVjZGI3MDI0NTk1MGQ4ZWZkNzNlM2E2MGU1NjZmZDg0NWQgbGVnYWN5LXRydW5rCisxOTc4NSAyMDNhZDZmM2VmOGNlMTJlMmJmYTE5MmJjYmRmMzk5YTk5YTZlNGNjIGxlZ2FjeS10cnVuaworMTk3ODYgZGE2MzhjNDg0ZDA4YzYzZDY1NjU2ZWE1OThlNWRhY2NhMGIwMzA5NyBsZWdhY3ktdHJ1bmsKKzE5Nzg3IGE0NmExMzIwMWVlYjg4NDRjMTM5MmQ3MTJmMjBlNjQ1YWEzZTFmOTAgbGVnYWN5LXRydW5rCisxOTc4OCBmMDdmYTdmNTI2MmE5MmZkYzQ1M2U3YmQ4YTZjNjA0ZGY4NTMxYTM3IGxlZ2FjeS10cnVuaworMTk3ODkgZjI5MDI2NTkzNzRhYzg4ZTgyNGIyYjJhMWJiNDg3NWY3YzY5NmMxYiBsZWdhY3ktdHJ1bmsKKzE5NzkwIDQ5MzQxMDIyMjcxOTJlY2I2N2UyMmM3Y2E3OWM3MzUxNjQyMDYwZmUgbGVnYWN5LXRydW5rCisxOTc5MSBiMDQ1NmQzYTBmMWYxZDNlYzYzMmRmMTZiMGIzYWViMGZkZDg5MzM5IGxlZ2FjeS10cnVuaworMTk3OTIgYmIyNWYyYjdiZGFlMDNiOGM0MTYxZmVmYTM3ZjBkOTZhOGMwNTUzOCBsZWdhY3ktdHJ1bmsKKzE5NzkzIDZkNTk4MTdjZjc5MjhlYmViNTM5NmJlNDlmNGJmZDExNmIzOGVjNGUgbGVnYWN5LXRydW5rCisxOTc5NCA0OTFmYjQ5YjQ2ZTZmZGVkOTY1ODU4MmE5YjRmODllYTVmY2RlMmNmIGxlZ2FjeS10cnVuaworMTk3OTUgMDA0OTg1YTVhZDVhODA2M2E1OWE4NTE4MDk4ZDU5NzIyOTE2OTY5YiBsZWdhY3ktdHJ1bmsKKzE5Nzk2IDQxNTIwNWIyY2RiMmRkY2YyNTFhZjhhNDRmOTZiZjQ5ODcxOThmNTYgbGVnYWN5LXRydW5rCisxOTc5NyBiNWRiMjNjN2E4MDRhMTkyYmFiZGIwY2ZlYWYyZWMyY2M3OTk0MGMwIGxlZ2FjeS10cnVuaworMTk3OTggNWFiNGRhNmFkNGZjN2JjODg0MGM2YmRmNDZiNzZhZDRlYzY5ZGI5YiBsZWdhY3ktdHJ1bmsKKzE5Nzk5IGIwYTk4MmM5MWFmMDEzM2YzNjVhZDRmMjYwYWI2NDY3NTg4M2JkMzIgbGVnYWN5LXRydW5rCisxOTgwMCBmYWE3YWFlYjAyMTBkZjkxOGMwY2YyYjhlYTE0ZTMzYTYzYTNlZjc5IGxlZ2FjeS10cnVuaworMTk4MDEgM2M2NWJhYmYzMjJmYjNjNWZhZDM2ZDcyY2ExNjg4NmYzMjhiOTRkNyBsZWdhY3ktdHJ1bmsKKzE5ODAyIDI1NDhkMWE3MDE4MDAyZjVhNjY2MWVkY2Y0MmJmMmIyYzkyZGUyMDUgbGVnYWN5LXRydW5rCisxOTgwMyAwMmUwOTdmNzJkNDdiMGEzYjVjOTM1Mjg0NmE5ZDVmYWQ2MDNiODNkIGxlZ2FjeS10cnVuaworMTk4MDQgM2EyZThhM2VkZTQ4MTkzOTQ2NjU3ZTc4YzNlNDQwYjc3Yjk2ZDRmMSBsZWdhY3ktdHJ1bmsKKzE5ODA1IDljOTIxYThlZDNhNzIzYjg0ZGJmOWQ4ZjkxNzY4ODI5YWRiOWRkZmYgbGVnYWN5LXRydW5rCisxOTgwNiA1MmEzZjgyNjE3YzQwYzdlNGZlMWYxZjVlZjljOTgzNjc3MjUwNGY0IGxlZ2FjeS10cnVuaworMTk4MDcgYWJjOGM2YzAyNWNlODM3MTE5NjQ3MjliZWE2ZGYyZjk4ZTFkYjE2OCBsZWdhY3ktdHJ1bmsKKzE5ODA4IGIwNDZhMzFhZjJlMDZlODNhMTMyNzNlNzcwOGZiNjM1YTQ2MTQxMmYgbGVnYWN5LXRydW5rCisxOTgwOSBlYjRlZDlmMjNkMjA2OThlNTFhNjE1YzZmOGRjZTRmMGZhZjkxZDZjIGxlZ2FjeS10cnVuaworMTk4MTAgOTQ2ODNjODVlYzc2ZTZkMTYwNGMwNjg0YWZkMGY1MzdkN2MzZmQzYyBsZWdhY3ktdHJ1bmsKKzE5ODExIDhjNjRkZGExZDI2ZjMwZGVhYTNmMGU2ZTYzODNhN2U3Y2ZiNjdmNDAgbGVnYWN5LXRydW5rCisxOTgxMiBiODI1OWM3ZmY0OWM5YmRlYjU4ZDYyNmFhYWU1YjM1ZDdhNDc5MDdlIGxlZ2FjeS10cnVuaworMTk4MTMgNWQ3ZTBlYTMxODE4MGNmYjA0YmU5NzE4NzdjYjdlNmU4MjFmZTdiMyBsZWdhY3ktdHJ1bmsKKzE5ODE0IDA5YWVjNjY4ZGYzYWUyOGMyNmZlM2RhOGFiNDViYjU1NzBhZjA0OTIgbGVnYWN5LXRydW5rCisxOTgxNSBjMjhkZmU1Zjg3YTczYmUxOTA4Yzg3ZTE5OTFlNjJhN2E0NWViZTZiIGxlZ2FjeS10cnVuaworMTk4MTYgYTAxNWFlZDNhMWFjMTA5OGZlMzRlNDU5MTY5MTFjMDY0ZjRkMzU0MiBsZWdhY3ktdHJ1bmsKKzE5ODE3IGFmODEwZjA4NDI1YmVmMjU0OGI1ZmZiNTA4NzdhYTgxNjIwM2E1NWYgbGVnYWN5LXRydW5rCisxOTgxOCBlOTQ0NWM1MWZmMjlmNjkyMzE2NjcwNWVjMjYwYTNkZmY0NDZlMjE1IGxlZ2FjeS10cnVuaworMTk4MTkgNGJhYTVhOTU1NTMyYWU1NWE4ODFkNWNiNDUwNDYxMzI0OWRjODE4NSBsZWdhY3ktdHJ1bmsKKzE5ODIwIDhhNDY5NmQ3Zjc0YzBjMjFlNmVmZmZjNjM4MmJkMTc5ZDlmZjUzMDYgbGVnYWN5LXRydW5rCisxOTgyMSAzMWUzMDJlOTRkYTg4MWIyZGUzYjdkYTgyYjhjNzc3MmZkMjU0ZjAxIGxlZ2FjeS10cnVuaworMTk4MjIgYjI1MTMxYmM2ZWM3Yzg4MjU0NzE1Mzk5OWU4ZGVhNGVmNTcwOWRlMCBsZWdhY3ktdHJ1bmsKKzE5ODIzIGZhYTUyZjM4NGFmNjUyNDhkYjRiYzI2MmZiMjA3M2ExODMzMTM4MTUgbGVnYWN5LXRydW5rCisxOTgyNCAwOWJhMTVlZTE5NjFiYTMzNTdkYTkxOTcyYzI0ZTYxNWEzNmQ0NjgyIGxlZ2FjeS10cnVuaworMTk4MjUgYjZjMGNmYjFlZmVhY2NjNjY5NWI2NjM1YmY2YTAyMmIxZTFmNTk4NiBsZWdhY3ktdHJ1bmsKKzE5ODI2IGRmZWIzYWU2OTJjMTExOWVkNzA5MTQwOTAzMjAwYjQzNTM4NjljN2UgbGVnYWN5LXRydW5rCisxOTgyNyA4MzJlNDA5MDllZjQ4NGY0YWRmMTEwODg5OThiYzkzNmY4MGI3Mzc3IGxlZ2FjeS10cnVuaworMTk4MjggOWZkMjBjYWU3Yjc2Njc1NGM1NmM3YjI0ODQyZWZlNzhjNTQ1MDU0OSBsZWdhY3ktdHJ1bmsKKzE5ODI5IGM3YzUzNTM2MTQ2N2Q0OTAxZDE5NWJiOWUwZjkyMmQ2OGNkNzc3YjkgbGVnYWN5LXRydW5rCisxOTgzMCBhY2Q1MDYwODQ3MjdlNzM0ZDg3YjMwMmNjZmI2ZjZjZjhmZmQxOTBlIGxlZ2FjeS10cnVuaworMTk4MzEgYTFiMzQ0NmM3MjBmMWE0ZmY3NThlMmUxNDFhMGYwM2ZiNzgzYWU4ZiBsZWdhY3ktdHJ1bmsKKzE5ODMyIGNkNmU0YmM5OTI5NWI4NTVmZjQ3NWE4YzdmMThlZjcxMjgxNWE4NTEgbGVnYWN5LXRydW5rCisxOTgzMyBlNTNiMzI4NDUyMjRlNzkzMTk1MjE2ZGE4NjZiNjRhZmM1YjQ4NWVjIGxlZ2FjeS10cnVuaworMTk4MzQgOTEyMzFiYmIzODQyZjQ3NmYwOGM2ZTNkOGFiZjBlMGE4NTBlMDk0NSBsZWdhY3ktdHJ1bmsKKzE5ODM1IGI4MzIwYTI2YzA2NTc2ZDczOGE1YzA0NGRhM2Y0OGFmMGE2MWQzMjEgbGVnYWN5LXRydW5rCisxOTgzNiAwZDRlODA2YzQyY2NiZDNlYzJiYTM5MzM1OGVjZmFjOThjYTg5ZTU5IGxlZ2FjeS10cnVuaworMTk4MzcgNjAyZWIwNDZiM2U3ZDM0NDQ3OTcyMjExN2MxZTgxMDE4ZGYzMjQyOCBsZWdhY3ktdHJ1bmsKKzE5ODM4IDJjMjkwZDRjM2IzODJmN2E4N2ZiNTg2M2NkNGY0YTVmMjFkODVmZDggbGVnYWN5LXRydW5rCisxOTgzOSA2ZjQyYzFkNTVlNmFmMDY4NDAxZjFhNDRlMGY1Mzk0MDgxMGM5ZTE0IGxlZ2FjeS10cnVuaworMTk4NDAgZWMyOTg5NWVlNDBjZmQyNjExZjlmNTRhNzA0MjczZTZhMjYzMjIwMCBsZWdhY3ktdHJ1bmsKKzE5ODQxIDM4ZTE3YTA4OTQ5MjkwNjRmMjc1OTgwMWNkZmY3M2QwNTEzMzQ2ODMgbGVnYWN5LXRydW5rCisxOTg0MiA2YmJlMjY4ZjhhZDg0OTE4Y2Y0YWFiYjcyNzI3MDAxOGEzNDdiMzdmIGxlZ2FjeS10cnVuaworMTk4NDIgZDBjODMwZGI1ZTY4ZWRkNGFhYTM0MDEyMTZlNjEwYzlmZjE0NTgyNiBsZWdhY3ktdHJ1bmsKKzE5ODQ0IDlhOWVhZWNmMGZkODI5MjZiZDIzMDBlNjFlYjlkMmNiZWNkNDk5NzAgbGVnYWN5LXRydW5rCisxOTg0NSA3MjNjZjVlMzc4ZTU3ZGJkMmZhZWQ4N2M3YjdiMWQ0NWM1OTY5NmZjIGxlZ2FjeS10cnVuaworMTk4NDYgNjQ1MzJiYTVkY2VkNWRmZjNlNWM1Mjg5NWNkMmZmM2Y1YzgyOGQxZCBsZWdhY3ktdHJ1bmsKKzE5ODQ3IGI4M2EzYjc4MzE0ZWI4OTMxOTkzYTVlZmNkY2MyNThmY2FiZjJkZjYgbGVnYWN5LXRydW5rCisxOTg0OCBkODg4ZGM3YmVhMzJlYmY1MzE4MjY1OWJkOGM0NjFmZTI2MGFlYjJjIGxlZ2FjeS10cnVuaworMTk4NDkgMmRmZWUzMzNhNjUxMDA2Mzc4MDI2ZGZhNmI1MzM4NzgzMTlkMDRjNiBsZWdhY3ktdHJ1bmsKKzE5ODUwIGE3OWViYmE2NDY2YTYzN2JmMzU5ZmI4MTZiM2JlNjFmOTU3MTU3NTcgbGVnYWN5LXRydW5rCisxOTg1MSBlNmM1YmM1YmVhYjNhMDdjNzFhNDVjZTNlNDBiZmQ2YTBlMTA2M2U2IGxlZ2FjeS10cnVuaworMTk4NTIgMGI0YzU3YTI1OTc3ZWRhN2E5NzU2MWVjMWM0MDE2ZTJjZDFjOTljNiBsZWdhY3ktdHJ1bmsKKzE5ODUzIGQ1ZTUzY2Y5ZGU3YzMzMDkzNjJmNGM3ZGUwNjc1MTc1MTc3MjEyYTYgbGVnYWN5LXRydW5rCisxOTg1NCAyYjkzNTRmNDg1MmZhYWIwNWZkODM3M2MyMGE2M2ZmODkzZGI5NDY4IGxlZ2FjeS10cnVuaworMTk4NTUgYzFlMTk0OWYzOWZlYTIxNTJlNWJmZjhhMWVhYTkwYjczZWNhMzM5YyBsZWdhY3ktdHJ1bmsKKzE5ODU2IDY3MDJjMGRmMTZiNjY4YWEwM2RlNzZmODRkM2ZhYzhiNTFlMWE1ZWIgbGVnYWN5LXRydW5rCisxOTg1NyBjNzlkYWI2NTJlYTg0NDEzYzhjMzRiNzVmOTFkNjhmYTNhY2Q2YzYwIGxlZ2FjeS10cnVuaworMTk4NTggZDZlY2U3YzNiMzVlYWY2YTVlOWQ3ODg5NjBmYmZmNjUzNzdkZDk5MiBsZWdhY3ktdHJ1bmsKKzE5ODU5IGY1Y2I2ZDY2YTk3N2JkZTMzMDg3NDRjMDBkMTIxNjI3MjkwMjU2ZWIgbGVnYWN5LXRydW5rCisxOTg2MCAxYTVhMDNlMmRhNzM5NjllMjI2NTVmZWNkNmUwYzUzZGE4ZjQzODFjIGxlZ2FjeS10cnVuaworMTk4NjEgYzVhNDE3ZThkODRjODM2Mzc0YTI5MGMxZjA4N2RlZjgyYjkxY2M0ZiBsZWdhY3ktdHJ1bmsKKzE5ODYyIDYxYzlmYTk0Y2U5ZDlhNGFkOWExODBjYTU4NmJlNDljMGRkMTAxYjEgbGVnYWN5LXRydW5rCisxOTg2MyAxYzk1YjZiMDZhZTMxZDI3YTVhYjQxNTg2OTUyYWQwNzlhNjY4MzBkIGxlZ2FjeS10cnVuaworMTk4NjQgNDE1Mjg1NWVmOWE4YjYzNWE4NDEwMTBkZmUzNDk1N2FmNWUxMWZkOCBsZWdhY3ktdHJ1bmsKKzE5ODY1IGE5NzVmMmMxNTRjMDYwNDU5OTkxM2I2M2NlMWYxYTExZDc2ZWFkNTggbGVnYWN5LXRydW5rCisxOTg2NiA3YzdjY2ZiNWRiM2VmMTM3NWJjNjcwN2Q4YjdmZTZjMmNjMzI0Yjc2IGxlZ2FjeS10cnVuaworMTk4NjcgMWRkYzcwZGQxZDFiYmFkMDMxOTg4YmMzNTM2MTYyMTQ3ZTgwMTE2YyBsZWdhY3ktdHJ1bmsKKzE5ODY4IDg2MzE4NzMzZmU3MDkzNTlmYTcxOTljZGE2YmYxMWFlNjQwZjRkMWUgbGVnYWN5LXRydW5rCisxOTg2OSA0NTljOGVmMGEwMTAzNTk4MzQ5YzA1MzNkY2M1ZmQ1NjMyOTRmZDQ2IGxlZ2FjeS10cnVuaworMTk4NzAgOTEwNGVkMzhhYzA1MWM5ZDUwOTFhZGMyZDE5OWJlOTRmNTc3MDVhZCBsZWdhY3ktdHJ1bmsKKzE5ODcxIDQxYjkyNDllNGQ0ODYzYmQ1YWEyYmFjNzYyYTM1ODc5MTViM2NhMTAgbGVnYWN5LXRydW5rCisxOTg3MiA4NmZkNzIzZjI5Mjg2YTJjM2ZkNzM2NzM3N2Y3MDdiZjg4NTUyMTZmIGxlZ2FjeS10cnVuaworMTk4NzMgNGY5ZGI4MzQ4MjVjYWEwYzNmZDhiMTZlZDY3ZmI3OWFjZTk5MjE1MiBsZWdhY3ktdHJ1bmsKKzE5ODc0IGVlZTdkMGM1YWU1OTJhZjRkZTk1MGZiNzJiMzYyMDk0YzE4YmE1MjMgbGVnYWN5LXRydW5rCisxOTg3NSBlNTllZGE1MjVmYzFlN2I1MmI3NDVlYjNmOGYwYTBmY2RjMGJjZDdjIGxlZ2FjeS10cnVuaworMTk4NzYgMmRjM2NhMWQ4OTBjNzczMTdlNjM0Y2RiNjU1YTAzM2MxOWExNDQ3NSBsZWdhY3ktdHJ1bmsKKzE5ODc3IGYzZmIwNWJmZWVlYjEzNWM2ZTkyNjZmNjEwYmJlMjk2N2EyNWQyNzggbGVnYWN5LXRydW5rCisxOTg3OCA1MzRhOTNkODJlZGNhMWFkZmIwZThlMGNlNjZhODAxOWQ2MjczMDM4IGxlZ2FjeS10cnVuaworMTk4NzkgYjdiMDQ4ZGExNjczNWYwNGMxNjBjMWQ2MTIxODIyYWI2YTE1YzcyOCBsZWdhY3ktdHJ1bmsKKzE5ODgwIDU0ODcxNmUyZjFmMTNjMzhiOGI1ZmFkODJhZTAwZjgzOGUwMzY0NzAgbGVnYWN5LXRydW5rCisxOTg4MSAzYjQ5NGM1YzYyMzRkZWFkMTFhMzViODY3NjEzOTgyNGQ0M2M4YjY5IGxlZ2FjeS10cnVuaworMTk4ODMgNGMxN2NiMmM2MjFlOWJkMDlhYmI3YmIyMDkwNjY2MWRlOWEwYTJlOCBsZWdhY3ktdHJ1bmsKKzE5ODg0IGExZGQwYjA3MDlkMjA2M2ZmM2ZmNmNlN2Q1MDdhYjA1NTkyNDZjYWMgbGVnYWN5LXRydW5rCisxOTg4NSA5OWRlNGJmMmI5ZTU1MTkzYjI4MGE3MGNhOWQwOWIyZWUwYTMyZWZkIGxlZ2FjeS10cnVuaworMTk4ODYgZDU2ZDc3ZjkzNzNiZGVmOTliYjNiZmY4MTA5ZDNmZmIyMjEwMzllMCBsZWdhY3ktdHJ1bmsKKzE5ODg3IGRiNTU2MDQzNTNiM2EyYTRkYTJjOTM2YzIxN2E2MzY2YTk4MTY1NjggbGVnYWN5LXRydW5rCisxOTg4OCA4ZWFmNzRhMTExZWJkOTIwNTk4M2FlODEyYTcxMTkzMzgwMWNmNzQ2IGxlZ2FjeS10cnVuaworMTk4ODkgZDE1YWNlMzIxMTAyNjZmNmUzZDUwMGJhOThiNGYwMjk5NTlmMjZkZiBsZWdhY3ktdHJ1bmsKKzE5ODkwIDZiZGY1NjNjNzYzYjNhNGQwMzM3NzBjOTdhNmE1MTVhM2E5M2RmNjcgbGVnYWN5LXRydW5rCisxOTg5MSAzYzY1MGQ5YzM4ZTc0ZWVhYzNmZTQwZjdiZmM2N2Y4MjdlNDVjNDk0IGxlZ2FjeS10cnVuaworMTk4OTIgMTljMmY1MGU1Mzk1NzFjNGVmOWRhNTcyYzY4NjY5MWI2NTY2YzE1YiBsZWdhY3ktdHJ1bmsKKzE5ODkzIDNmNWE1NGE4YTFmYjUwNTg5NjdhM2YwYjBkZGZkNzgwOWFhYWFjNDggbGVnYWN5LXRydW5rCisxOTg5NCA3YTM2ZjYyMDFjOTQwMDcyZDJmMzYxYWNiODAyYTljNDRiYmNiNGY0IGxlZ2FjeS10cnVuaworMTk4OTUgODk1NDZiZGRjMjJjYzBkZWVmMWI0ZGM2NmMyNjQwMjBjOWUzNDIzZCBsZWdhY3ktdHJ1bmsKKzE5ODk2IDk1M2M1MGYxMjE4NGFhZTJjNDAyMmI0ZGJiZDI2NzRiNDRlMWU1NGQgbGVnYWN5LXRydW5rCisxOTg5NyBmMGVmZGNkMjQ1MTJmYjhkNGI0YjRmMGUwNjAzMDc3OTBhYzRmYWEyIGxlZ2FjeS10cnVuaworMTk4OTggY2Q3YWM0ZDlhZGQwMjA3OWEyOGI5NzI4NjViZjdkYjkzODU5MmE0ZiBsZWdhY3ktdHJ1bmsKKzE5ODk5IGUyMWQ0YzIwNTY1ZDAwY2E0MjQ3MzM0NGE1Mjk4NGEzN2QwNmVlNmMgbGVnYWN5LXRydW5rCisxOTkwMCAzY2ZiYmNiZjcxMzRkMTE3YjgyMTM4MGZiMmI1NTZkYmE5ZGVjYTUzIGxlZ2FjeS10cnVuaworMTk5MDEgOTcxZmY2YjU4ZWRiZmI3ZTY2ZmI1MTRlZTI4MTQ4MTljOGMyZTBmMyBsZWdhY3ktdHJ1bmsKKzE5OTAyIGY0MTQ2Y2EwZjI5MjFlMjBiNGQ3NDJjNThmNzMxZjE4MTI4MDg1MDAgbGVnYWN5LXRydW5rCisxOTkwMyAyYTgwMTkxZDEyMDMwZTgzOTgxYmQwNzlhMDNiYmI1MmYxMzZmZTMxIGxlZ2FjeS10cnVuaworMTk5MDQgNTFjNmEyY2IwM2QxYjQxOWUxZDRhNmE3YTMxYTM4YjkzMzBjYzg0MSBsZWdhY3ktdHJ1bmsKKzE5OTA1IDY1YTYzOGEyNGY3ZTk1NGY0ODA3N2JiZWQzODU3MDc0YjYzMWM5N2EgbGVnYWN5LXRydW5rCisxOTkwNiAzZWM1MDA0MDNmMDEwZDhlZmQ1NDMwNzFjZWVlYTM5ZDFkMDI3YzU4IGxlZ2FjeS10cnVuaworMTk5MDcgYjQwYWIzMTA1NTIxZjE5NDVjZGRiNzVjOTZjYWFjNTMzMTMzMjkxYyBsZWdhY3ktdHJ1bmsKKzE5OTA4IDFlNThkNzgyYzA5YWM5ZjNmYzEzNWI5NTQwYzNjNzVjZDhjNTliOTMgaXRlci1icmFuY2gKKzE5OTA5IGQ1ODExYWY4YWNmM2RkNGUzMjhiZGJkMTZiNzI4MWM3ZGFhZjg0NDkgbGVnYWN5LXRydW5rCisxOTkxMCA1MzNjYzkwN2VkYmQyY2I2MTM3OWRkNzUwNDBmMDVhMDg3MjUwYjMwIGxlZ2FjeS10cnVuaworMTk5MTEgYmE4MWQ3OWRjM2EzMWRhZjU3MDFmN2ZlMjRmMmFmZWUzOWE0OTRkNSBsZWdhY3ktdHJ1bmsKKzE5OTEyIDdlMWU2NzI1NTA5ZTZjNTk3MWM5ZTk0ZDgyZTRkY2Y3OTQyZDQ3ZDQgbGVnYWN5LXRydW5rCisxOTkxMyBhZDc0MTc0NWNiNmMwOTQxNjI2ZmNhNTQwNGIzMmFlZWE0MmJjYTVlIGxlZ2FjeS10cnVuaworMTk5MTQgOGEzNDgzMDgzMTZkNTQ0ZmIwNjgxZWM0OTQ4YWQ4MTMyZDA2YzI3ZSBpdGVyLWJyYW5jaAorMTk5MTUgNDIwYTA3ODFiYjkyZjdjNjAxMWM3ZTg4YTY4MDIxY2MxZjY1NDRjZiBsZWdhY3ktdHJ1bmsKKzE5OTE2IGMxZWRiMTRmMDQzYmJiNzMyYTJlZDI0NzFjMDY5ZWFiZWU3NDJjZmIgaXRlci1icmFuY2gKKzE5OTE3IDQwYWQwYTA3NjFkMjRmYTY1NGIwMTViZWQ4N2IxNDBkN2M2YWYyMjggaXRlci1icmFuY2gKKzE5OTE4IGYzOTRhZjhjNTgwZjA1NTFlNDYwOTNhYWQyZDQ5NTlhNDdlNjkwYzMgaXRlci1icmFuY2gKKzE5OTE5IDYyZjc0YzI1OTc2MmRmZTVlNWVkMDQ4M2JjZDIwYjY0YTkyMTFkNzMgaXRlci1icmFuY2gKKzE5OTIwIDNmNTU4N2MyOGE1MGY5MTNhN2MwZDA1Y2JlZGRkMjg4ZTI4ZWQ2N2IgaXRlci1icmFuY2gKKzE5OTIxIGY0ZDQ5OGE5ZDk4OTAzZmJjMTY4MTAwMmRlMWNlMjhiZjAxMGJlMjcgaXRlci1icmFuY2gKKzE5OTIyIDUyNzk3YjRiMzc1YmM5NDI2Y2QxYjA3NDJlYWJkZDJlZTM5NWQzODMgaXRlci1icmFuY2gKKzE5OTIzIGQyN2Y4NDRmNmNmZTU2MmUyNzNhNThlMDk5NjQ4ZGNlMTY2ZmZmNWQgaXRlci1icmFuY2gKKzE5OTI0IDk4YTJiYjkwNTIwZDZjZjVlMjgzMDg4NzQ4YmI1MWZiODVkMDI4ZjEgaXRlci1icmFuY2gKKzE5OTI1IGFmYjMzZmVmMTRjYjhlMzZlNGNmNGJhODgxODRmMDUxZTJmNmE4YWUgaXRlci1icmFuY2gKKzE5OTI2IDNhODY2NmUxMjlhZGY5ZWI2ZTBjNmIwNDhkN2E0ZWFiYjQxNzkxY2UgaXRlci1icmFuY2gKKzE5OTI3IDIyMGI2MjczOGQ3NDI4MTMzOTAyYzQzZWQyZjUwMGFmNjE1ZjhmNjMgbGVnYWN5LXRydW5rCisxOTkyOCA1ZDY4YWZjNTIyN2M5MWIxYmYzZGYyYWE2OThjMTkyMTUxMTgxNjVkIGxlZ2FjeS10cnVuaworMTk5MjkgMTcyZDJhMjgxNmJmYTNhMGFmZWIxMjZmMGJlMDM1N2Y0Mjg5NDUxMiBpdGVyLWJyYW5jaAorMTk5MzAgMDk1YjgwZDJlNzg1ZDlmOTIwYzllYjI0NGQyYzcyZjY5ZWYzZTgyYyBsZWdhY3ktdHJ1bmsKKzE5OTMxIDJlZDdjNTg5NDNlNjExMmFmMjVmOWJhYTdkY2NmODRhNzFlOGU4YzQgaXRlci1icmFuY2gKKzE5OTMyIGM1N2ExYjY3ODFiMDRmYjQ1MTdkMzFlYTk4N2E2YWYzMDY4N2M0OTcgaXRlci1icmFuY2gKKzE5OTMzIDdiYjEyNTZiNTA2ZGI0NjRkZThhYzk5NDRjZmJiNGIxMWY2NTdiMjUgbGVnYWN5LXRydW5rCisxOTkzNCAzMzc1YTJhOThlNTY2ZmQxM2U0M2MyYmJmNjliZjgzN2FkY2QxNWRkIGxlZ2FjeS10cnVuaworMTk5MzUgZWI0MzY2YjNlMzkxYWE5MGMzYzgzNzEzNTU4ODkwY2E1Mzk1ZTExYyBsZWdhY3ktdHJ1bmsKKzE5OTM2IDZjYTcyZDcxNTM2ZTBjN2YxZGVlYjg0ZjY3ODU3MTgzZDQxMGM5MzUgbGVnYWN5LXRydW5rCisxOTkzNyBmZjc1YzM4MmYwZDMyZTBmNzJkMzkwM2RkYjFhODY5NmUxNDNkNTAyIGxlZ2FjeS10cnVuaworMTk5MzggMWY3MDBhNzIwNmIyZmM0NGZiM2E3MmVjMWQ5NGIxNjIwY2RhYTAxMCBsZWdhY3ktdHJ1bmsKKzE5OTM5IDVlNmFiOTM5YmRiY2M0ZGE2YzRlZGQwNGI5OTc5ZmM5ZThjNzcwOTEgbGVnYWN5LXRydW5rCisxOTk0MCBiZDQwYjEzZmE1YWJmYWI5M2RhNGEzNTVhNjg1M2FmZTEwNmIzOWJlIGxlZ2FjeS10cnVuaworMTk5NDEgN2ViNWE2ZThjOThkNDUwY2NiZDM4YjA5ZGNhZjY3ODVkMDc5ODE2YSBsZWdhY3ktdHJ1bmsKKzE5OTQyIDdhNDE3NWUxMDYyNmNmNzQ5OGMzOTI4ZDQxMWU1NThmODk3MzUxMzQgbGVnYWN5LXRydW5rCisxOTk0MyBkNThlOTNkYWZiOThjMmZkZGRmNTA1MWVmMzY4M2E2ZGEwNzEzYzYyIGxlZ2FjeS10cnVuaworMTk5NDQgNGU2ZjE0ZTc1NTdlOTkwMDU0NzZjNGEwOTBiZmYxMDgxZDQyZGQzYyBsZWdhY3ktdHJ1bmsKKzE5OTQ2IDkwZTQwNjRjYTA0NWVjZThkMWE5ODUwMmQ4MmM3ZjAwNmRlZDRlZGUgcmVsZWFzZTIwLW1haW50CisxOTk0NyA0MTVhMTliYjE2NzVjNDc5NGMxNjhjNjRlYjhkNDI1MmRiZmY1MWE4IHJlbGVhc2UyMC1tYWludAorMTk5NDggNzQzMjk2Y2UwNTJiMTg3YWEwNzQzMGFmZGVhNTQ2MDY4YzkzYTY4MCBsZWdhY3ktdHJ1bmsKKzE5OTQ5IDE0YjdhN2I4ZDU4ZGJiZjJhNGRlMmRiYjE4NGY2MjFlODViNzI0OTIgbGVnYWN5LXRydW5rCisxOTk1MCA3OTdlYmI3MDMzZDcyNmVmMGU5MjhlYzQ4YjlhYWVhNDE0MGY3ZWEwIGxlZ2FjeS10cnVuaworMTk5NTEgYTEwNjZlNWExMDY1Y2FkNDE2ZWY0YzFiYWZmOTg0YzFkZWQzNzAyZSBsZWdhY3ktdHJ1bmsKKzE5OTUyIGRjMGY2MmU3NTg4YjNlODk1Y2RkNGQ4MzQ4YjE2NDc2NmZjN2QyNTYgbGVnYWN5LXRydW5rCisxOTk1MyAzZjUyNzZjYmJjNGRhMjQ0YWFmYzQ4ZjkyOWVjNjVlMjFhYWY5YmNlIGxlZ2FjeS10cnVuaworMTk5NTQgYTU4MTRmNjIwZTg2ZDlhNzAzZDY5N2M5ZjAyY2RkODhjOGMxN2I5ZSBsZWdhY3ktdHJ1bmsKKzE5OTU1IDMzYzg2ODBiM2IzNTQwNDZkMjMyNGE4NmMxN2ZjMmFkOTk5MDUyYTkgbGVnYWN5LXRydW5rCisxOTk1NiBkN2UwMmI5ZWUxNzljMWU0M2FkY2ZkNGE5ZGFjOWQ3OTAyMjUwNzJkIGxlZ2FjeS10cnVuaworMTk5NTcgNTQ2OTIyZmE4ZDk5NDkwYTM0MDIzZDg2ZWY3MWExY2I2MGIyZWNhNCBsZWdhY3ktdHJ1bmsKKzE5OTU4IGRkMDRiYmZkNWE3NmNlZWFhMDUyZDQxMzFhMzJmOGNhYzFmMjg1YzcgbGVnYWN5LXRydW5rCisxOTk1OSAyYzFiZTc5MjRiMDRhZmFmNzRiYWM3YzNjNzdlMTIwNmJlNDU4MzZiIGxlZ2FjeS10cnVuaworMTk5NjAgMjZjZGVkNTljMTcyNTNmOTdjNjVlMTRkM2M3MjQ5MGUyZjNkZmMxMCBsZWdhY3ktdHJ1bmsKKzE5OTYxIGViNGE1ZmYwZjcyY2M4NTM3MjlkYzliZGYzN2ZjMjMzYTVlZDNkZGMgbGVnYWN5LXRydW5rCisxOTk2MiBlZTY3OTNhZTA2YzE0ZTAwMzg3MjhiNjRmM2NjZjdhMWVmZmRlMTIzIGxlZ2FjeS10cnVuaworMTk5NjMgYjY1MGQ3ZGFhNTkzY2M5NmIyMzMwMDZiMTBjMThjN2IzY2M4NjE4MyBsZWdhY3ktdHJ1bmsKKzE5OTY0IGI0NWFlOGM0NjdhYWY0NGQwYWViY2M4MjI3MTAyNDY3MTY1N2Q3NzQgbGVnYWN5LXRydW5rCisxOTk2NSA0MzE3Mjg4OWU4ZTY2YjE4OThjNWVmMjI3NjM0Mjk1MWI3N2JiNmFmIGxlZ2FjeS10cnVuaworMTk5NjYgNDYyYjhkZmU4NzUzOTFlOTYzMTYwOTYyN2NmNzk1Y2IwY2ZhODFkNCBsZWdhY3ktdHJ1bmsKKzE5OTY3IDgzMjNiMDk4YzZjZTBiMWM2MzExZDJhZTUzZDI4Y2MxOGJkNDQ0YWIgbGVnYWN5LXRydW5rCisxOTk2OCA5MDc5ZjcwYTViODNmOWYyMjhlNWRhODI0N2Q2NjA0MGRjYTU3YzBkIGxlZ2FjeS10cnVuaworMTk5NjkgODVkNzRmMDQwNzEyZTY0ZGE1MzA5NDhmZWMwY2FkYWMwNGVlMTg3NSBsZWdhY3ktdHJ1bmsKKzE5OTcwIGY3ZTJjM2Q5YzM4NzkxZDMxNzljYjU0YTM0MTFhMDU2Y2JlOGFlNGQgbGVnYWN5LXRydW5rCisxOTk3MSA3ZTE4MWViYTZiOWJkNGQ4MTRiOTRiMDExZTA5NDEzNWQ2YTEzZDViIGxlZ2FjeS10cnVuaworMTk5NzIgYmMwNTU1YmUyMjEyM2E0ZDVhOGRjMzI0Y2I1Y2MxODg3ZDQ3ODI0MyBsZWdhY3ktdHJ1bmsKKzE5OTczIDUyY2IwYzVmZGYyMzgwOTkyODM5MmQzMjM0NjFhZDFjNmEyMmNlMzMgbGVnYWN5LXRydW5rCisxOTk3NCBmMjcxN2IwMTM3ZDA3Mjc0ZGVhYWZhNTAxZjczNTlhMjFiODA5YzI4IGxlZ2FjeS10cnVuaworMTk5NzUgNjQzNGRjNzc2Y2I5NzVhMmMzNTk1MDY0YTNmN2RiOTAwZmFjZmQxNyBsZWdhY3ktdHJ1bmsKKzE5OTc2IDEzODBhNTJmMWEyMTg2MjkwZjllYTVjYzI1OWEyOWM3ODU3NTI3ZTYgbGVnYWN5LXRydW5rCisxOTk3NyBjZThhYzM3ZGIzMDBhNWE3NDA0OGY4NTdiMzliYjQ1YzQ3ZDM2NDBkIHJlbGVhc2UyMC1tYWludAorMTk5NzggNmE1MjdiZTRjNGQxOTA3ZDg0ZDllYjQzNjIwZTU2ODhmM2M4ZmY5NSBsZWdhY3ktdHJ1bmsKKzE5OTc5IDNmMjI4MWUyNGUyZGM0Y2M5YTYxOTlmNGQ5NTdhNWYwNDUzNDI3MmQgbGVnYWN5LXRydW5rCisxOTk4MCBjMDY0YzBkM2M0OWI5MzYyMjQ5ZjZkMWJjZGI0ZTY2ZWNlNTA2NzNjIGxlZ2FjeS10cnVuaworMTk5ODEgNzQwNDY3ODIwNzJkNjA4YzhhYzBkNzljY2ZmNDk5OGU5YTc4MmM0MSBsZWdhY3ktdHJ1bmsKKzE5OTgyIGIxYWJiMjYyMjk3OTNkZjdjNWZkZGJlOGViOTMzMGNhM2VhNjBkYzggbGVnYWN5LXRydW5rCisxOTk4MyA3ZTkzOGYwZTlhNDk3NTQ4ZTg5OWQ0MmE2ZDU4N2U4YjQ2NDRjNmVhIGxlZ2FjeS10cnVuaworMTk5ODQgNzcxOTY1NTdmZDMxNjdjYWU0MzNkYjgwOWNhNzc1MzFjMWRiNjJkMyBsZWdhY3ktdHJ1bmsKKzE5OTg1IDljZmQ5YzMyOTdkZDQyOTNjNjAyM2M2YjBjNTRlYTg3MTg3YWYwMDEgbGVnYWN5LXRydW5rCisxOTk4NiA0NWFkN2E0NjhiYTJhMzUzYmZjNmQ2ZjI0OGFhYjg1ZWM2YTgzNWQ3IGxlZ2FjeS10cnVuaworMTk5ODcgZGQ1YTFiMjgwNDQwNzljMDYyMmYwNWU3MDNjYWQ2Mjc0NDBkNGMzNiBsZWdhY3ktdHJ1bmsKKzE5OTg4IDU3OWFjOGUzNWY1YjVlODI3Nzg3N2Y1NTVkODM0ZTg5NTFlMDQ0MjAgbGVnYWN5LXRydW5rCisxOTk4OSA4ZjMzOTI2OWUwMjdkNmY4OTE2YzNmM2RlZDZjNWQ5YTAyNWJlYjc0IGxlZ2FjeS10cnVuaworMTk5OTAgYzIxNGYzNzIwNjU4ZTJiODY1MzVmMDg2MmJjOTc0N2RmMDY5ZjQxYyBsZWdhY3ktdHJ1bmsKKzE5OTkxIDk4OWZlZDI4Yjc0ZjMzYTQ0OGUwNGY2MzljZDg0ZjczMWI0NzIwNzYgbGVnYWN5LXRydW5rCisxOTk5MiBkOWVlNTZiNmRiMjZhNTQ3ZmQ3M2Y4YzVlZDY4ZTZlYzc5ZjA5NDFjIGxlZ2FjeS10cnVuaworMTk5OTMgZGNmNzNmMTBmN2NjZjAzZDc5Y2RmMTFiZDQ4OTE1MTUxODA1NjI4NyBsZWdhY3ktdHJ1bmsKKzE5OTk0IDliZjM3NDkzMzg3MjA1YWNmM2RkYmVhN2M4MGE3NDBkZjJhMWYzYTEgbGVnYWN5LXRydW5rCisxOTk5NSBlZGRhNGE0MzIzOWJjYzMwYjUwYzIwMzA0ZTg4YTY3ZWI3ODQyMjRjIGxlZ2FjeS10cnVuaworMTk5OTYgYTM4Y2NlM2Y0MWI0MWRmYzIyMGRhMzU2YzVjZjBhNTA2NTFlZTVhMSBsZWdhY3ktdHJ1bmsKKzE5OTk3IGE0ODhhNjNjYjg2NzRlNmI3MDQyNGM5NjcwMzE4MmU0ZTY5OTk5ZTMgbGVnYWN5LXRydW5rCisxOTk5OCA4ZmYyNGFiZWIzODgxMTBjYjRjNTgyNzU4NWFiY2RkOWVmMzQwZWQxIGxlZ2FjeS10cnVuaworMTk5OTkgMTgyM2ZhMjMxNTIxNWMwNGU4NWUwZDRhMDJkMGUwOWQ4YjFjNDQ2ZiBsZWdhY3ktdHJ1bmsKKzIwMDAwIGFkYzhhNDFiZWU5ZjY5NzY5MTNiMmIyNTE5MWUxOTQ3NzZjZTI4OTUgbGVnYWN5LXRydW5rCisyMDAwMSAzM2Y3NzY5YTIxOGVkN2I1NGY2YjdhODVkOWE1NjI1YjAyODA1Zjc3IGxlZ2FjeS10cnVuaworMjAwMDIgN2ViOGIyNDBkZDZjNGIwMTc3NWZhODliY2I4ZTBmYTM3YzUwZWViYiBsZWdhY3ktdHJ1bmsKKzIwMDAzIDdlZDNlN2EwOGEzMTAxOWRjODM5M2Q3MDI0YTcxZjQzMzI3YjQ3OGQgbGVnYWN5LXRydW5rCisyMDAwNCBiZjY3OGExMWMyMWFlYzdkMTlmYjc0NThlNzBjMzNhM2I4NTEzOWIxIGxlZ2FjeS10cnVuaworMjAwMDUgNzZlYWIyZWJjZTU4YTQ0YjQ4ODBlNWUyY2YzYTAyMjA5ZjY3NmY3NyBsZWdhY3ktdHJ1bmsKKzIwMDA2IDQ4NjNiNTk1YmRhZTg2MDAxMjQ2ZTE0YmYyMTMzM2I1ZDE1OWFmOWIgbGVnYWN5LXRydW5rCisyMDAwNyA2ZmUxM2QwMDhlMjVmN2E5MzJlMzNjZjAxNTBlZGFjOTA2ZTFkMTdlIGxlZ2FjeS10cnVuaworMjAwMDggZTEyMTRmOWUxMmEzY2NmMTg2OGUzZmQ1ZjI1OGZkMDI3NDdjZGFlYyBsZWdhY3ktdHJ1bmsKKzIwMDA5IGQzMWFkZDk5YTg0NjhjYThjYjEzMDA1MmNkZjRkNmFmYTM5YzBlZGEgbGVnYWN5LXRydW5rCisyMDAxMCAzM2Q4ZGQwMmFhOTkxMjkxOWZlNjJiYzc4M2E2M2Y4NjczY2JlZjMxIGxlZ2FjeS10cnVuaworMjAwMTEgZjlhMDdlOTk5MDdlNmViOTc0ZTQ5M2E0NGVjNTI5YWFhN2ZjMWExOCBsZWdhY3ktdHJ1bmsKKzIwMDEyIDNiNmVhNGNmZWVlMDYyZWNiYmMwZjQ2ODY5NGU5NjRjZWZhMjE4ZTggbGVnYWN5LXRydW5rCisyMDAxMyA4NDhmMDg1NTk5MTZkNGE3MzE4OTZkZjMyODNjNDAyNWExNGQxZDE3IGxlZ2FjeS10cnVuaworMjAwMTQgNjQ2ZWMyYTRkN2Y0ZTBjYjI3NjA5MDI4NjEyOTBmNjdjOTlkZjY4YyBsZWdhY3ktdHJ1bmsKKzIwMDE1IDllNmU0ZjVlNTYwNDVmODY0MzUyMjI1ZDllNzBkN2M0YzYzZDVjMmQgbGVnYWN5LXRydW5rCisyMDAxNiBkYTZjNjYyOTgyYjY0NDQzYWFlMTE5ZjlkZDYxNjI1NjY5NDQzMWQzIGxlZ2FjeS10cnVuaworMjAwMTcgYTgzMDFkNGVkMmIxYjk1ODk2ZTBiN2E0OTllOGVmOGMyYjcwNjdjOCBsZWdhY3ktdHJ1bmsKKzIwMDE4IDIwNTRjZWEzODc1NGJkM2JhZGJjYTNmYzQ0MDNjNDNmYmNkNDZhM2MgbGVnYWN5LXRydW5rCisyMDAxOSAxYjg3NDVmYWEyZWQyYzlmMTRiZWFjNWVjYzI1YjM3MzJmNzg3YTU4IGxlZ2FjeS10cnVuaworMjAwMjAgNTRiNmQyOGE2ODc4YzliMTAyYzY4ZWQ0YmYzOTgzNDgxYjJlNWFiZiBsZWdhY3ktdHJ1bmsKKzIwMDIxIDExNDYwNzBmNDdlYzZiN2VhYzQ0NWQ1Yzg2Njg5YWE1NDNlMTk3NTcgbGVnYWN5LXRydW5rCisyMDAyMiAzMmJjYjRlMjEwMDU0ZmYxODJmNGNiNTEyODYzNDUwNzkyMzc1OTg4IGxlZ2FjeS10cnVuaworMjAwMjMgMGIzM2ZjNjdjYTRlNDlkN2UzYWY0NGNkMDE3YjAwZGExNzM2ZjM0ZiBsZWdhY3ktdHJ1bmsKKzIwMDI0IDFjOTBhMWNmNzk1Yzk2ODBiN2U0NzhjMzhmN2NhYzkyZmMxZWUyNDkgbGVnYWN5LXRydW5rCisyMDAyNSA1NTIxOGUwNDk1YmM0Nzg0ZjNiYTdlYTU0NGM4ZDE5NDI4NjEzYmI1IGxlZ2FjeS10cnVuaworMjAwMjYgZDBmZDYwYzU5YWVmYWQwYThlZjhlYmI5OGI5ZjIzNGQ5OWM3ZGY1YyBsZWdhY3ktdHJ1bmsKKzIwMDI3IDBmYTJjMDUxODhhMGI3OWM2ZTkyZTQwNTRlNjI3ZTk1ZjhhNWM3ODIgbGVnYWN5LXRydW5rCisyMDAyOCAyMDZhOWYxOTc4ZTUwMGE4NjljZmEzZjgyMDVmZDYwOWE2N2RmNThiIGxlZ2FjeS10cnVuaworMjAwMjkgMmVkODQ1ZjgxYjBjNWRmODg0ODE2ZGEyZjA5YWRmZTA0NjMzNjExZSBsZWdhY3ktdHJ1bmsKKzIwMDMwIDgxNmQ4NjAwMjY4MzFiMjQwOWRmMDY1MzM3ZGQ3YzA2MzY5YzAyMGYgbGVnYWN5LXRydW5rCisyMDAzMSA3MjQzZGViMDIwZTg3ZTMyYzA3NWJiZDQxNDllNzhiN2NmZTA1Y2IwIGxlZ2FjeS10cnVuaworMjAwMzIgYzliNGVmZjE1ZGNkYWNmNzkwNDg0NWNiOWQ3MDBiNGE1NWYyNWQyMCBsZWdhY3ktdHJ1bmsKKzIwMDMzIGY1OGE2NWQ0Y2MyMzc4MzdlZDU0ZjczYzZiMTQ0NDg5MTUxMTVjODMgbGVnYWN5LXRydW5rCisyMDAzNCBmNDI5ZWU5NDQ4YWFkNGQyZWIzNzY0NTUzYzc1NTRmM2VjNDc2Y2MzIGxlZ2FjeS10cnVuaworMjAwMzUgOGZiMTBhZmZiNjE1N2FjZGU1N2VjZjgyMWZiMTNiOTdlNWEwM2RjMiBsZWdhY3ktdHJ1bmsKKzIwMDM2IGMyZTRiYTNjODVjYzkyY2I4MzkyOTIwNzBhYmJmYjdhNDJlYTE2MGIgbGVnYWN5LXRydW5rCisyMDAzNyBiYmY1ZWEyYTIyZTU1OTdiOWQ3YzRkYTU5ODZlOWJmYWFhMmZkOTlmIGxlZ2FjeS10cnVuaworMjAwMzggODM2ODQwNDM3M2VjY2YyNjM3ZjNmYmUzMDA1MzllNjUyNGUwMzIxYyBsZWdhY3ktdHJ1bmsKKzIwMDM5IGYwN2JjNGY4ZGI5ZTY5ODdjZDJmNjY3NWZmMjMxMzk1Mjc3NmYwNDkgbGVnYWN5LXRydW5rCisyMDA0MCAzNDljODc4ODYwNGUyOTMyNDliOWVlYWQ5MmIzZmYwYzMxYzQyOWY1IGxlZ2FjeS10cnVuaworMjAwNDEgMjA2ODA5ZTI1YjUwZDJkZGUyMzg4YWE4MTkyOWI5ZTU1YjNlMWZiOCBsZWdhY3ktdHJ1bmsKKzIwMDQyIDUwODA3YzQ2NTAzNGI2OWEyM2MyODQ2NmRmNzBhZTg2MWVmNDI0MDcgbGVnYWN5LXRydW5rCisyMDA0MyBjNzRjNGJkY2I0MTEyMmYzODA4M2E5ZGFkZDk5NjgwZDM2MmU2MWQ2IGxlZ2FjeS10cnVuaworMjAwNDQgMjYwODY4Y2FlMWExZDVkZmQ4NzdmYzRmMWVmZTg5NmY0ZTY0ZWU5ZCBsZWdhY3ktdHJ1bmsKKzIwMDQ1IGNlOTBmNTY3ZmE0MjAyYTU5YzRkN2FlMTE3MWI5ZTA3Yzc5NWI1MzQgbGVnYWN5LXRydW5rCisyMDA0NiAwYjhiNmY4NDA2ZGNmYjgwNmQyZWQ4ZjU5MGViZmY4ZjQxZTZmYjAxIGxlZ2FjeS10cnVuaworMjAwNDcgM2I4YTViYmZkMmU1NzIwZDZlOTYxNDBlNGM0MGQ1MGJmNDk1OTFhYSBsZWdhY3ktdHJ1bmsKKzIwMDQ4IDE1NTA4NzIyNDllOWU4NTE5MzEwZjFiZmZjYzliNzg0OWQ5NDA3NmQgbGVnYWN5LXRydW5rCisyMDA0OSAxYmUwZDFjNTc4MzQwMjVkZDVkMWMzMzVkMmIwOTBmZjUwNTcxOWZhIGxlZ2FjeS10cnVuaworMjAwNTAgOGM2ZjIyY2VmODc4MjJkNmUwMGFiNjVlMTFhYTY5ZDJjNTllZmFiZiBsZWdhY3ktdHJ1bmsKKzIwMDUxIGY3MjE3M2M3OTNiNmQ4MzJjYmU0NzdmNjY2NTZmMWMyZGUzNGU5NjggbGVnYWN5LXRydW5rCisyMDA1MiAxMDk0MDU2MWU4OTFjMTAwYzk5MzVhMTlmZTUyODUxMGMwNmI5N2EwIGxlZ2FjeS10cnVuaworMjAwNTMgNzI5MTg5MWNiMGJmNzY4N2NjNWRmMDczYjZlOTIzYmUwNTg5N2E0MSBsZWdhY3ktdHJ1bmsKKzIwMDU0IGUzYjVkMDNlM2Q3ZGI3YzZjZmJiM2Y2MGRlYWM2MmJiMzg2ZTlhYzMgbGVnYWN5LXRydW5rCisyMDA1NSAxNDNlZjg4ZWM4NTYzNGI0NDA2NmU2ZGQ3ZTY3NDU1MmIyNzRhYzUwIGxlZ2FjeS10cnVuaworMjAwNTYgYWQ2ODNmMjBiYjE0MDc1YjFhYzIxMTQxZmYwMzJmZTkxNmZmYmJlNCBsZWdhY3ktdHJ1bmsKKzIwMDU3IGI0NGU3N2ExMjk3ODhkZTViOTA2MjI5YTgyMDlhZmRhN2JlNTI4YWIgbGVnYWN5LXRydW5rCisyMDA1OCBkYzlhMTUxYTBiZDUyYTk2ODJiZDA3NzAwZThkMjI5YjhhMjY5MDIwIGxlZ2FjeS10cnVuaworMjAwNTkgOWRiYWIzZDU0ZGVlZWMzZmEwYzU0NmZlMGFlODliODUyYjBhYzRjNSBsZWdhY3ktdHJ1bmsKKzIwMDYwIDM0NmU5Nzg2MzBhOWMzYmM3ZGUxYmYwNmYwNzY1NzQxMDlmYjA0ZDkgbGVnYWN5LXRydW5rCisyMDA2MSAwZDUyMzU4Y2IyODgzNDE5NTQ4ZDRhN2Y4NTQyNjIyNTE0MDk0OGFhIGxlZ2FjeS10cnVuaworMjAwNjIgZDgwNzQ4OGRmYzdhMTJiN2FlM2ZhYmM5MjFjOTUyNDg5Y2NhMjE0ZCBsZWdhY3ktdHJ1bmsKKzIwMDYzIDk2MjE5NmNlNzIzMTU2M2ZiMDU4NDRmYjYzZTZlOWIxM2Q4ODg2MmEgbGVnYWN5LXRydW5rCisyMDA2NCA0ZjY4ZDNmOGZkYzgyMDA4MDU5Nzc5YTg0NWFkNDg5N2NhZWMyZjlkIGxlZ2FjeS10cnVuaworMjAwNjUgMTA5MDJlY2FiY2E5YzczMGExZGYwZWQwNjE3ZTc5MzgyZjA5M2ZmYiBsZWdhY3ktdHJ1bmsKKzIwMDY2IDczZjQxYjBmZjc3NzVhZmRlNWY0MjZhZjFhMGQwZDBhYTlkNTljM2QgbGVnYWN5LXRydW5rCisyMDA2NyBjZDI0NTVjYjEzZWY1NWM2NWVjNmY1ODQwMWMxZWIwYmVjMGUzZDdkIGxlZ2FjeS10cnVuaworMjAwNjggZTQ5MDc4MTAxYTY4NzQxZDc3YTVmMDRiOGNiNzRhYjUxMjFhN2RlMSBsZWdhY3ktdHJ1bmsKKzIwMDY5IDU5NmVmYTdlN2RmODNjZmFmZDdiYThhNDQxYTMwYTYwNDY5MzlkNzUgbGVnYWN5LXRydW5rCisyMDA3MCA2M2NhY2RlYjgwNDViZDUxOWEyNmQ2ZDZhNzk3MjAwMDE4OTVjYzlkIGxlZ2FjeS10cnVuaworMjAwNzEgNzA3Zjk1ZDA1ZTY5MDc2NGU4OGJkMWNjNGE2N2IyNGRkMDM5NGQyOSBsZWdhY3ktdHJ1bmsKKzIwMDcyIDhkZjBmNjVlMzg2MDM1ODc4MTZkMTk1NzdkYjRiOWYwMWE5OGRhNGYgbGVnYWN5LXRydW5rCisyMDA3MyBhN2JiZjMzZmNlMDVhZTRiYmYwMjI5ZTEyNzk5YmI1ZmEzOTJlODliIGxlZ2FjeS10cnVuaworMjAwNzQgNzkxNmQzMmFhMDgxMjVkOGM5ZGY2ZWRmYzYyZGQyODgzYzhmZjQwNyBsZWdhY3ktdHJ1bmsKKzIwMDc1IDVlZTM1NDNlYTMzZjQyNTBlOTdjODFmZThjODU1NDFmNDZkOTdjZjIgbGVnYWN5LXRydW5rCisyMDA3NiA5ZTY0NjgzNTZhMGIzMzcxNjVmNWIyNWRmMDdkMjU1NmNhYzhkOTYwIGxlZ2FjeS10cnVuaworMjAwNzcgNTZkMTk1ZjIxYjRmZTBkYThlNWFjZGE5ZWVhYjlmNDJkN2VmOWQ0NSBsZWdhY3ktdHJ1bmsKKzIwMDc4IGY5YTMwMDE1ZThiMGZjYjRmY2M3ZjVjZjJjZjc4N2MyZTQxMmU4OWMgbGVnYWN5LXRydW5rCisyMDA3OSBmMmY4ZjNlMmFjMjMxYzFiZjQ5YWNkYzVmMjc0NzY4YzBiMTdiZDFkIGxlZ2FjeS10cnVuaworMjAwODAgZDQ4ZDA5Yzc4N2E4NDlkMTQwNTgyZTc4NWZiYjlhYjQzYWY1OTRkNyBsZWdhY3ktdHJ1bmsKKzIwMDgxIGY1ZDM4YzViMTc1MWUzZDcxNmQ1YzE1NjNhMDg3NDlmODJkZWRkYzcgbGVnYWN5LXRydW5rCisyMDA4MiBkNzE4YzI5M2ExZmZhMmI3ZjRmOTgxOGJjNzA4MjZjMGUxMGViMTA1IGxlZ2FjeS10cnVuaworMjAwODMgYmFjYWM3NWQyMmZkZTllODZhMjRkMGQ2MGE3ODU1MzBkYTMzMGM4YyBsZWdhY3ktdHJ1bmsKKzIwMDg0IGViMDZhMDJlMDUwNzZiZTRjZTE2ZDRhZDk5MDY3N2RiMWEwNDNjMzkgbGVnYWN5LXRydW5rCisyMDA4NSAxMTUzNzk2ZDIxYzI0MDcwNmJkMDkzMTIwZTgzM2YxZDdkNTJmOTk2IGxlZ2FjeS10cnVuaworMjAwODYgNDEyMGViZTA4ZGQwNDE2Y2MzZDdjODdjYWNhY2U1ZDBmMTdiMTA5MiBsZWdhY3ktdHJ1bmsKKzIwMDg3IDM0ZWYwNTQ0MTQxM2YyNmI2NWNiMTU0MDBjYWU4MmEyNzc2NThlMDcgbGVnYWN5LXRydW5rCisyMDA4OCAzOGVmNDY2MzU5NDkyNjU2OTAzYzc0NGViMjRkNmQwNWQxZTA3OWI0IGxlZ2FjeS10cnVuaworMjAwODkgMmU3ZjQ3MzE0YWRhYTMxNzc4MzRiY2YxMmQ0YmZkMWY3ZDRhODNmYiBsZWdhY3ktdHJ1bmsKKzIwMDkwIDU3MDVkNWE4YmNiM2NkOTVlNGZhYjBkMzNjMTJhOWVmMzZkOGE3ZGMgbGVnYWN5LXRydW5rCisyMDA5MSBjNThiNmQ4NjhkMDgxNmY1YTY5NGUxMGE2YmUzNTI0MTI1NGRlZTg5IGxlZ2FjeS10cnVuaworMjAwOTIgN2E0OTQwYTRhY2E2ZjcyOWUyOTA4MGNiOWZkZDkzNmQ3NjBlYjQyOCBsZWdhY3ktdHJ1bmsKKzIwMDkzIDcwNTdiNmFhNDZlYzU1ZmNhMTgwYzVmZGU1OGQ3MGUwYzU2ZGFkN2EgbGVnYWN5LXRydW5rCisyMDA5NCBhYzY1NmM4MzdiNmM3NjRiYWMxMGViOTJkMDk2ZjMzOTcyZWE2YWZhIGxlZ2FjeS10cnVuaworMjAwOTUgNmNmYTNkNjVhYjU0NjliZjA2OGI5MmU1MmM2YWVhZDQ4MWUzZTM1MSBsZWdhY3ktdHJ1bmsKKzIwMDk2IDkwNTQ2ZDZlNTQ0NTRmYzY4NTk0YTIwNWY5MTEyZTY2MTEyMWUxYzggbGVnYWN5LXRydW5rCisyMDA5NyBiNzQyY2FmMGE4NjJhNDVjM2YxNTY1NTcwYThiZTczYjIwNTdlYzg1IGxlZ2FjeS10cnVuaworMjAwOTggNDA3ZDYwYjJmYTQxYTk0YzlkZjRlM2M2NjVjYThjMDdlZDMzZWEwYSBsZWdhY3ktdHJ1bmsKKzIwMDk5IDc4MjIzOTQ4ODA1ODViZjdiNmE1YmEyZDJhZjdlN2IyMWNiYjRlOWYgbGVnYWN5LXRydW5rCisyMDEwMCAxNmYxNDVhYWMyZWMxMmU1ZDYxMjE3ODMyYzQ3NDlhN2I5ZjM2MWY2IGxlZ2FjeS10cnVuaworMjAxMDEgYzg4MTdhOWJiYmRkYmM0YzBjY2RhYmUxYTZiMDZhNzljYjZjNzRiMyBsZWdhY3ktdHJ1bmsKKzIwMTAyIDUyZGEwOTRiNTNlYzM5YmY5NTA1YWVmNjE5NmViOGYwMWQ4NGM3NDcgbGVnYWN5LXRydW5rCisyMDEwMyBkM2Y3YzdmYWRlYzAzOTg5Y2FlZDc5NDkwYmU5Y2QwMjg4MWJlYWJmIGxlZ2FjeS10cnVuaworMjAxMDQgNjQ4NzZiYjhhYWNkYzViMWRmOWQwNjM3NDg0MjViMmNkMjU1YWE1NCBsZWdhY3ktdHJ1bmsKKzIwMTA1IDIxNWRjNzI1ZGI4NDA0OWVkNjhmNTVhNzViOGQ3ZWY1MWI2YjVlZDYgbGVnYWN5LXRydW5rCisyMDEwNiA0ZDZlZTdmMmJlZTY2MDlhMGMzMDY3NmNkYjEyYTg2NzU0MWEyNGJjIGxlZ2FjeS10cnVuaworMjAxMDcgZjFhNDllZWM3YzJiZjFkYjc1ODVkMmVjMjczMTA5NjkxZjBkMTUyMyBsZWdhY3ktdHJ1bmsKKzIwMTA4IGY2ZTFmYTJkYjQ4Y2JiN2E0ZjcyZDI1YmU3ZjkwZjAzZDA0ZmE2MGYgbGVnYWN5LXRydW5rCisyMDEwOSBhMWI5OWQwODhjZWE4Mjk0ZDViOTIxMzI3ZDJiNDM0YTAzMTgzMzg1IGxlZ2FjeS10cnVuaworMjAxMDkgYjU5YTUzNmFlMWVmMzc3NGZkODVjMTdmNjIzZTg5MjZiN2I2YzA5NSBsZWdhY3ktdHJ1bmsKKzIwMTExIGIzZGNlMDY4NjhkNmQzNWY1OTAzNDUyZTZlOTBkN2YwYWM0MTdjMzggbGVnYWN5LXRydW5rCisyMDExMiAzZjkxMmZiOGMxODA4MTg0ZWJhNjMyODY3YjIwYWIxZGJiY2JhMzU4IGxlZ2FjeS10cnVuaworMjAxMTMgYjYwMDk2ZDUwMDFhNmUwZDgzNmEwNjYwZmY5NWM3OWNkMTFlMDE5MSBsZWdhY3ktdHJ1bmsKKzIwMTE0IGUzY2MyMGU5ZWEzNmVjZGQ3ODdiZmI3YmZkNmRmMDIxMWEzZWQ3NDggbGVnYWN5LXRydW5rCisyMDExNSBlZWMzOTFhNTVmODQ0MDE5ZWI0ZjNmOWM2NGMxNmUzM2Q4MjMxYzY0IGxlZ2FjeS10cnVuaworMjAxMTYgYjI5MTgzM2EwZWZiN2UxZDE0NjZkM2U0MTcyZWIwMTM0ZTNhYzFiOSBsZWdhY3ktdHJ1bmsKKzIwMTE3IGY5Mzk1Zjc2MjdjNGI3YmYyNGFmNGI2OTkzOTZkNDVmZTBkYzVkNmMgbGVnYWN5LXRydW5rCisyMDExOCBhYjcwNzIwOTQwOWJiOTU4NTc0YWQzNDYxMDY1YTQxNWE4MTBkMjg3IGxlZ2FjeS10cnVuaworMjAxMTkgMDJhNGIwY2ZjNTdlMTM1NGIwZWY3ZTBhNjZlM2M5NTMyODA5NGFjMiBsZWdhY3ktdHJ1bmsKKzIwMTIwIDNlYjhkNzI1OTk2OTI0YzJhNzU3ZmMwYWM5NjE5NmQ0MGZkNjcxOGUgbGVnYWN5LXRydW5rCisyMDEyMSAzMmZiNjY0M2FkZjFmMDRjYjg3OGViNmZhYjU1NTVjZTZiYzcxNWY4IGxlZ2FjeS10cnVuaworMjAxMjIgOTJiM2UwODMxOTcwMmE0YzczM2I0YmY0MzJjYWUwYzBjOTkyNjZiMiBsZWdhY3ktdHJ1bmsKKzIwMTIzIDQ1Y2RhMWIzOTM1NWJjNzY2MzllM2Y1YWRkOTcxN2Y3MjBjNTIyZGUgbGVnYWN5LXRydW5rCisyMDEyNCBiZjRjYzk5ZDcxMWQwYWM3NGYwMDE0NTlhNWNjMWI1ZWUzZDgzYzE0IGxlZ2FjeS10cnVuaworMjAxMjUgNGUxOWZiOGNmMWZiZDM5ODcwZWNiYWQ2YjZkNzg4MjA3OGU3YmUyNyBsZWdhY3ktdHJ1bmsKKzIwMTI2IGQyYjAxZDRlMTdlOWRjZmQyYjI3NmE5OGNhNzNkNDlkZGQwZjEwZTMgbGVnYWN5LXRydW5rCisyMDEyNyA3MWFmM2I2MGFhNjI5MTIzYTU2NDMyOTRjOWRmZWQ1Yjg2MjFmZWQ1IGxlZ2FjeS10cnVuaworMjAxMjggNWY3MTE4NWVmMmI1YWRkZWRlN2FjMjFiYmRlN2NmMmY4NzMzNWZjNiBsZWdhY3ktdHJ1bmsKKzIwMTI5IDE0MTIzMDk1NjMyNTZlMWU0MzAxNjNmYzdmZmVlYzc2Njg1ZTBlNGYgbGVnYWN5LXRydW5rCisyMDEzMCAzOTBhODMxNWQ2MzQyYjRjMmY3MGY4YTIxYmVhMjQ0ZWM4ZGJlYzc5IGxlZ2FjeS10cnVuaworMjAxMzIgN2MwNDcyOTMyZmJmOTYwYmQ1OWJiMjhkMmM5MmExNzYyMzJlNWVmMyBsZWdhY3ktdHJ1bmsKKzIwMTMzIDIyZDg1MDE3YmVjZTg5ODk5YjcyMTA2MmYzMGIyOWNkZTkyMDE3MjkgbGVnYWN5LXRydW5rCisyMDEzNCA1MzZlOGRkMzU5NTMyNDRkMzAyNmZkZjMxOTZiNmE4NGUyN2M2M2VhIGxlZ2FjeS10cnVuaworMjAxMzUgZWU0ODAzODI2Nzg0Nzk2NjkzNTc4OTdiMDQwNDNmMTc2MTk5MTUyMSBsZWdhY3ktdHJ1bmsKKzIwMTM2IDFiMTJlNjM0MDAzODk0Y2MxOGM4NDEyMTU4ZmQ5ZTdlMWY4ZTlmOGYgbGVnYWN5LXRydW5rCisyMDEzNyBhMzQwYmE0YWFjMjcwZDg0YWY2YjhkMWUwMjJhN2Y3ZDY3MjFmYTA5IGxlZ2FjeS10cnVuaworMjAxMzggMjVlOTNhMDFmODZkOWVmMDVkZTQ4MmZmYTEyYzY3ODAzYjQ5NjBlMCBsZWdhY3ktdHJ1bmsKKzIwMTM5IDAzNzdmOTI3Y2FmYTMzODQ2Mzg2MzQwYjJmZTdkNDQ5YWYwN2ZiZDcgbGVnYWN5LXRydW5rCisyMDE0MCA3NTEwM2JlZjBjMjQ1NWQzMzg2Y2FmMDQ0N2RmYmE0MjNmMzUyNzQwIGxlZ2FjeS10cnVuaworMjAxNDEgNTk0NzJiY2JmYjhlOGE1YWJkNThiMTcyN2QwM2I1NTdhNzFjNWI4NiBsZWdhY3ktdHJ1bmsKKzIwMTQyIDAyY2VjMDBmMjJiYjUzY2Y2MDhkMmUzMDZmMGI4MTIyZjhmZWQxMGMgbGVnYWN5LXRydW5rCisyMDE0MyA2ZDMwNTUyY2I0Zjk5MDg3YTFmMzkwYWZkZWIxMjQzZTkyOTZjYzE1IGxlZ2FjeS10cnVuaworMjAxNDQgNGFhN2FmYmYyOWQ4MjE1N2UyNDljODMwZjFiOTc2ZDgxMzQ0YjJhZSByZWxlYXNlMjAtbWFpbnQKKzIwMTQ1IGZkYzUyMmRjOWRmNTU2Y2NhYmJjYTdmZDk2NzQ4NmRlMWI0MTQzYWQgbGVnYWN5LXRydW5rCisyMDE0NiBiNTUzZmJhYzE0NmRkYmVhZDA2OWI0NjkxOWExMmIyMjgzNGVjYmIzIGxlZ2FjeS10cnVuaworMjAxNDcgODdkNTA5ZDA4NWEwZmMzODg1MmQ3MTk4NTY0ZWZlZjM0ZDY4MTgwMCBsZWdhY3ktdHJ1bmsKKzIwMTQ4IDg3MGRhMjRkNGJhZjI0ZTdhZjA3OGYxNjA1MTI5MDRlYzU1ZTg0MmYgcmVsZWFzZTIwLW1haW50CisyMDE0OSAyMmQzNDk3NDgzODRmODY2NmE4MGE4NmU4NjliNTMzNmIzOWE5M2MwIHJlbGVhc2UyMC1tYWludAorMjAxNTAgYzRhNWJkMDg4NTFiY2ZhYjVmN2FkOGE2MjA2OTY3ZDgxNWJiYjYyMiByZWxlYXNlMjAtbWFpbnQKKzIwMTUxIGVlMjY0NjY5YjY3ODBlOTdlZGU1MDRmNDAyZWJjM2UzMzZmZDM2NTggcmVsZWFzZTIwLW1haW50CisyMDE1MiBhMDAyOTE4ZmMwYzI3NjQ0YzQ3OTkwYzEzNzFiOTg2MzMyY2RhN2QyIHJlbGVhc2UyMC1tYWludAorMjAxNTMgMTJmZWU3ZmIwMTliM2I4NDM1NmIzMjJmY2M3NmJiYzJlYzllN2VmNiByZWxlYXNlMjAtbWFpbnQKKzIwMTU0IGJlYjI5ODJkODVhYTgyMmM0NTRmZWZlNGM5NzA0MmZmYjE1MTBjOWMgcmVsZWFzZTIwLW1haW50CisyMDE1NSAxMWEyMWQ1OTI4MzQ4N2E1ZTNjYTYxNzE4NjllYTRmOGMxNzQzMjA0IHJlbGVhc2UyMC1tYWludAorMjAxNTYgYTYyNmFjYzMwZmMyMzk5YWJkOWFiYjk5Njg5ZWFkNjY0NjllYjkxZiByZWxlYXNlMjAtbWFpbnQKKzIwMTU3IGY0Y2E5M2U4YTJkNDc5NjRjODdkNzhhNmEwZDY4ZTNlNjc0NDIyMTEgcmVsZWFzZTIwLW1haW50CisyMDE1OCA2MzkzZjU1ZGJkN2JlOWRmN2UyNzhjYmU3YjAzYzE5MmNhNWYwNzExIHJlbGVhc2UyMC1tYWludAorMjAxNTkgNWVkNGM3ZThiNGY5OGVjZmRmNDYzNWFjNjc1MGJhMDkzZmUzMmY3ZiByZWxlYXNlMjAtbWFpbnQKKzIwMTYwIDlkZGJiNzZjMzExNDU0MzViZTJmYWZjYjkxNmVhYjM1ZjE1YzRhODUgcmVsZWFzZTIwLW1haW50CisyMDE2MSA0MmIxYTY5OWE1ZGRjMWNkNTAwYjU5NGRlYWVhNjk2ZWUyNDZiOTNmIHJlbGVhc2UyMC1tYWludAorMjAxNjIgZDQ2N2QxODRiNDI5MzA0ZTgzYzFjMDI4YzEwM2ZkYzBmYjEzMTExNiByZWxlYXNlMjAtbWFpbnQKKzIwMTYzIDA5M2U5YTI0ZWU3NjdhMWQ0Y2NkZWYxOTZkMTViZmI5ODU5MjcwOWUgbGVnYWN5LXRydW5rCisyMDE2NCBlMmU5MTQ2ZjRhYjRkOWMyOWJmMzRiMGIxMTA0NDVjOTdlODViOTFiIGxlZ2FjeS10cnVuaworMjAxNjUgMjRkMjJlZWU5NGNmMzcxNTczZDEyMzJiNmNkMDEzZTMyNjRhOTI3MiBsZWdhY3ktdHJ1bmsKKzIwMTY2IDcyZmQyNjU3YmUzNDI4N2Y1OTZmMzRiYjZiN2IxZDU2YjFiMGYzMDIgbGVnYWN5LXRydW5rCisyMDE2NyA1MzZjYzEyNmZiOWY4YTA3MTEyYjA1MGJkMWI3NDJiYWZmMDhlODk3IHJlbGVhc2UyMC1tYWludAorMjAxNjggNmRjNDNlMGM2YmJmNTAzNTM0MzMwMDYyZTczYjcyOWVlMGJlMTkwYyByZWxlYXNlMjAtbWFpbnQKKzIwMTY5IGU1MTBjNGNjNTczNzYzZDNkY2QxNGI2MTJmYzk1YWFlMGUzMjJjMzkgcmVsZWFzZTIwLW1haW50CisyMDE3MCBhNDY5NjRkNzExMWRkZWY0YTJhMjkyMWZkNzRkMGMzYzRkNDY2N2NkIHJlbGVhc2UyMC1tYWludAorMjAxNzEgZDdlMGQyMGNkZGFkYjM2MzJlNWUwMDA2ZjUyMGI5MWEzOGMwZjU5NCByZWxlYXNlMjAtbWFpbnQKKzIwMTcyIGQ5ZmYxMzEwMGUyZjIxMjJjYTIzYTk5NDVmNjU1OTFhNWE2ZTNlNGMgcmVsZWFzZTIwLW1haW50CisyMDE3MyA1Y2YzNTVmNjdhYTM3YjFmNmZjZGQ1MGI4ZjliYWUzYjRjYWE2OTViIHJlbGVhc2UyMC1tYWludAorMjAxNzQgNTczYTkxMzg4NzA1YjUwMGZjYTViNGQ3M2FjMWYzZGYwMDFhYzAzOCByZWxlYXNlMjAtbWFpbnQKKzIwMTc1IGNjZWYwMmRhODhhNjdmOTkxODM3NGU4YTdlYTBjMTg0M2Y0YjE3NTkgcmVsZWFzZTIwLW1haW50CisyMDE3NiAzMTIwM2Q5OTM1ODI3M2NmNzMzYjlmZTFkYzIzZmM2Zjc4N2JlMTE1IHJlbGVhc2UyMC1tYWludAorMjAxNzcgOTk1NmExYzVkNDQwNTRkNjRmNjFmODg1YWViMGY4MWU0ZWNiYzEwMSByZWxlYXNlMjAtbWFpbnQKKzIwMTc4IDE5MmYyNWU0MWZiYmVlOTg4YmYxYjVkOTk1Mzg2ZDRkMWRmMTgyYTkgcmVsZWFzZTIwLW1haW50CisyMDE3OSAyYjU3NjhjMTM1OTkyMDI5M2U1NmUwZTg2MzVhZDJhMzc0NjQzMDQxIHJlbGVhc2UyMC1tYWludAorMjAxODAgOTkyNDYwYzY2OGMxNWJmOTI2NDg0Y2VlMzAzNmM5MDdlMzg4NGQ5NSByZWxlYXNlMjAtbWFpbnQKKzIwMTgxIDhkZWNhNzllYTZhYmI1NWUzM2Y4YjM4MDU3Yzk1NmI4ZmEwZDg3OGMgcmVsZWFzZTIwLW1haW50CisyMDE4MiAwNDM3NzViM2I4YjI5NjYzNDc0OWJmOTIxZjlhYzgwZjhjN2U2NjZiIHJlbGVhc2UyMC1tYWludAorMjAxODMgZjM0YzkwOTg5MTM4MzQ1ZGNmNjczYWQyMzIzNTViNDk2ODVmNjJlYiByZWxlYXNlMjAtbWFpbnQKKzIwMTg0IGQxYzEzNTBhM2E1ZjQyYjU4NWM2OGM0OThhYTI0ZWM4ZDQ3OWRhZDcgcmVsZWFzZTIwLW1haW50CisyMDE4NSA1YTRlMDgzOWNjZTc2Y2YwNmRlMjRmMTM0ZTY2YmVmNDdlYWFlMzExIHJlbGVhc2UyMC1tYWludAorMjAxODYgNWJkNjg2ZTBlY2Q0MWY2MDAxOTg3Mjk0YmZhODdiZmNmMDNlNjZkYyByZWxlYXNlMjAtbWFpbnQKKzIwMTg3IGQxNmVkYzcwNGRhMWY1OGNjNTRkODI4ZjJhYjM4ZGEyZDNmOWRjMTAgcmVsZWFzZTIwLW1haW50CisyMDE4OCBkNTNhOTY3OWE5M2JiOGJlODFhZDk1ZDNlMDNiZWYzZDI1ZDE2OGY1IHJlbGVhc2UyMC1tYWludAorMjAxODkgOTc3NmNmNWRiZmUzOGQwYzc4ODFiNmRlZTJkMWI1NWQ2YmIwYjNmMCByZWxlYXNlMjAtbWFpbnQKKzIwMTkwIDc2Yjg5ZmEzZWYzNDA2MGEzY2MxZDQ2ZTRmOWEzZWE1ZjQ0MjZkZTggcmVsZWFzZTIwLW1haW50CisyMDE5MSBjMDExNGVkZmQzMTM3NmE4ODZjYmQ3Y2FhOGUxMzUzMThkZjA1YjRlIHJlbGVhc2UyMC1tYWludAorMjAxOTIgZWYxMjIzZDg0NDJkYzU2ODFkOWVhNDhlZmExOTU0MzY3MjAyYmM1NSByZWxlYXNlMjAtbWFpbnQKKzIwMTkzIDZiMGZmNTI5ZDYxNTAyNDNiOTBlMDllODZlMWJiNjc0NGRkYTQyNjYgcmVsZWFzZTIwLW1haW50CisyMDE5NCA3ZDA0MjQ1ZWQ3NWYzOWJmMmU0ZmQzNGJjZGE2NzFmYTc1ZTg4NzZmIHJlbGVhc2UyMC1tYWludAorMjAxOTUgZDY1NDdmZjk0MTZiYWI4MTlhYjg5YmRhOWViMDhlMDI3ZmNhMzUzZCBsZWdhY3ktdHJ1bmsKKzIwMTk2IDAzYmEwNjI0NzQ4NjYzMGFhZmE3ZTBmNGVkY2EyMzA4ZTFlZjVlM2MgbGVnYWN5LXRydW5rCisyMDE5NyA4MzZjZGY4ZDEyNDVkNWY5MmIzZDVkMzZhODUzNjlkOTQ5MTJkNGNiIGxlZ2FjeS10cnVuaworMjAxOTggZWEzMjZlYjQ3NzVjYzFjNDBlZTFlMjEyZDVkZDc1OTY4ZTAxNTFlZCBsZWdhY3ktdHJ1bmsKKzIwMTk5IDQ2YTZjMjhkMzVlNWRiOGQxNGE2MTcxYzM0NzY5MmI0ZjQ5M2Q1NjkgbGVnYWN5LXRydW5rCisyMDIwMCAzMTFlNmFlZWY4NThhZDUwNTIzZTA2ZWE2NTEwNTMzMTk1ODkyNGUzIGxlZ2FjeS10cnVuaworMjAyMDEgMjg4ZDgwNWFmMTQyMThmM2Y0OTI5OTViZWJiMjZkYWUwZDY0N2Y0OSBsZWdhY3ktdHJ1bmsKKzIwMjAyIDUwNmEwODBkMzllY2ZjMjI5MjM5ODc0YWZlMGNiZTYxYmIyYTFiYzUgbGVnYWN5LXRydW5rCisyMDIwMyAzN2Q5ZWQ1NTQxNmZmMTlhZDY0ZTRmMjk4ZTMzMzZlMDc0MzY5MzU3IGxlZ2FjeS10cnVuaworMjAyMDQgMGNkZmNjZGI2ODcxMGExMGM1NjY4ZGRkZjMyYWQzNDllOTQ2NWE0MiBsZWdhY3ktdHJ1bmsKKzIwMjA1IGIwYTdmYWY5OGE4ZWRiM2YzYWUwM2FjNDBmM2ZjMzQ3ZWVjOTYxZDggbGVnYWN5LXRydW5rCisyMDIwNiA3NjM1Zjg4MzhjNjg5MmUyOWMxNjBiODM5OGNkMmE0ZDQ5ZTZmZTYxIGxlZ2FjeS10cnVuaworMjAyMDcgYjczNTQ3YmY4YmMyNDg3MjkxYzUwZjVkYjNiZGVmNWM5Nzk3ZjY1YyBsZWdhY3ktdHJ1bmsKKzIwMjA4IDExZWJhNWJiZmExNGFiNTFhMzIyYzNjNDcyMmVkMjE1MWU0OWE5YTUgbGVnYWN5LXRydW5rCisyMDIwOSA2YmU4YmI0ODA4ZTE0ZWY5ZGRmOTg4NmI4ZWM1Njg1OWJiNzJmMTdkIGxlZ2FjeS10cnVuaworMjAyMTAgNTdhNWY2YjAzMzdkMWUxNzM4ODRlYjg1NGE2ZjhkZjIxNmIyOTVhZCBsZWdhY3ktdHJ1bmsKKzIwMjExIDMxMDA2NmI5OTJmMmY4YThlMWI3ODcwZGYyYWU5M2ZiOGI4YTc0YTcgbGVnYWN5LXRydW5rCisyMDIxMiBiMjVhMjQxMzAyMGUyMzU4Y2VkNzk5ZDcxZDJkZDkwOTg5NTFmMjYzIGxlZ2FjeS10cnVuaworMjAyMTMgOTkwNmRiMmExZmZhNzg2MTE0N2M3NzkzMjRiYzQ3YzY5OWE5NThiZCBsZWdhY3ktdHJ1bmsKKzIwMjE0IDkyYjY1ZjEyMWEzZTk3NjcyMDFlYTcxMDZkNjM2YTA1YjkxNWQ5YWEgbGVnYWN5LXRydW5rCisyMDIxNSA5YjhlYTYzODdkYzYwOWZkMGE5M2Y0ZjQ2OWJjNjg4MDgxM2U0N2MwIGxlZ2FjeS10cnVuaworMjAyMTYgYmQxMTBlYWRjMTlhZDQwOTk1MWJmM2FmMzAyYzE0ZDQ5YTQ1ZTc3MCBsZWdhY3ktdHJ1bmsKKzIwMjE3IGU3ZjViNzBiMDYwNmFiYjBkOGI1ZDk4OTNiNWM4OGI1NzYwMjI4OTAgbGVnYWN5LXRydW5rCisyMDIxOCA5MTFlMjExYjg5MzBiOTBlMjRmYmUyMmQxOWRhNWIzYTIwMDczMDhmIGxlZ2FjeS10cnVuaworMjAyMTkgYTNkZWIyMDFlY2RhMTBmODE1ZGFmNGFkOTI2YTE0ODM0YTg3ZDQ5NyBsZWdhY3ktdHJ1bmsKKzIwMjIwIGJiOWUyMTQwMzVlMTI1YjkxMzQ4NWMyNzUzNmUzNjBjNGY1NjM0NzYgbGVnYWN5LXRydW5rCisyMDIyMSA3NjA3NTQ0MThlZTAyNzBhYzRlZGViODVhOWEzOWE2Y2MxODdmNDg0IGxlZ2FjeS10cnVuaworMjAyMjIgMDgwODI4YmY4ZGJkZThmZTE4YjE0NTNiNmE5NmNmNzlhOTkyOTY1YSBsZWdhY3ktdHJ1bmsKKzIwMjIzIDRiMzQ2Y2MzOTg5YmFhOTkzZWE1NzU4ZGM5NGRiMmY0OWI3MmU4ZTIgbGVnYWN5LXRydW5rCisyMDIyNCAxMmY3ZjE2N2FjNTMzZDQ2YTRmZWU0MmNjMWI2MWM1MDZlOTk0NWFkIGxlZ2FjeS10cnVuaworMjAyMjUgZDMyOGNmZWIwYzc1YmMwNDY0ZGVkMDBhZDVjNzhmN2ZhM2QwMDY2MiBsZWdhY3ktdHJ1bmsKKzIwMjI2IDE4MWQwMTMyMGVmNDNlM2Y1NjRlNzZkNDBlOGZhMTBmZDA2MTczOWYgbGVnYWN5LXRydW5rCisyMDIyNyBiM2ZkNDRmZmFiMWU5MTYxMDJlMmY2YWIxM2ZlYjFlOGE0NDQwZTQ0IGxlZ2FjeS10cnVuaworMjAyMjggOTJiNjBkZWU3ZjA4MzVkZjI4OWNjZTU2ODIxNjYxNWI3YjgwNWE1NiBsZWdhY3ktdHJ1bmsKKzIwMjI5IGNjYWU0MTJiYmMzZTIyY2ZhNjI0OWE3MDJhOTdjOGQyN2IyMTA2NDIgbGVnYWN5LXRydW5rCisyMDIzMCAyMTQ2YTczY2UzNWMwYmRkNDQ5OWYzZWU5YjRiMTdiZTg1NGZmMTZlIGxlZ2FjeS10cnVuaworMjAyMzEgOTZlYTBlY2NkYjMxNzM3ODg4MzU4ODE2YjY3NzE2NmZiYTBmMjhjNSBsZWdhY3ktdHJ1bmsKKzIwMjMyIGMzMjc1MmEyODY1MjIxM2UyYzM3ZTY3ODM3YzIxZGIwZDExNTA1MjQgbGVnYWN5LXRydW5rCisyMDIzMyBhNTcxMDU3OGMyZTAyMjE2NjI5MzM0YzFhMWI3Y2UxZTViYWJmODIzIGxlZ2FjeS10cnVuaworMjAyMzQgYWI0ZTRjYjA5NGMxZjY0MzBkNDM4YzkzZjdhZmM3M2FhOWYyODc3MyBsZWdhY3ktdHJ1bmsKKzIwMjM1IDgzZWU2M2JjZjAzNjU5ODcyN2ZiNjI3MDNiYTEyZTBmMjA1M2Y4YzEgbGVnYWN5LXRydW5rCisyMDIzNiA5ODc2ZDZiYWY4NDM4OTYzODFjZmM4NjJlY2RlMDlmYTQxZDUzN2VkIGxlZ2FjeS10cnVuaworMjAyMzcgZGU5ODU4NTMwYTU1M2RjODRlYWFkZGU4MjE2OTZiZDExMGFiOTczMCBsZWdhY3ktdHJ1bmsKKzIwMjM4IGYxZDJlODhmYTExZGUzMjYwNTgzNTkwZTIxOTVlMzFmOGFmZmQ3NzQgbGVnYWN5LXRydW5rCisyMDIzOSA1YWZmZmNhNjZlMmZhZTI2ZjIwNjAyN2ZhYmIwZmMwOWU3MTlhZDYyIGxlZ2FjeS10cnVuaworMjAyNDAgZjhmZGJlYjczNjY3MDhiNzMzOWNmMWQ3ZDhjODQ2NGUyNWE2MGRlYyBsZWdhY3ktdHJ1bmsKKzIwMjQxIDg3Njg2MWYxMzU0MzZjZTdjNzljZjk2ZWMwNWIyOTcwMTY1YWEzZjAgbGVnYWN5LXRydW5rCisyMDI0MiBhOWVmNDRiYmQ5NjgyOTA1OTdiNTY4NjY2OTRmMjMwN2U4Mjc2ODg2IGxlZ2FjeS10cnVuaworMjAyNDMgZTcyMmQ0ODgzZTE5NzE1ZWYyODhhNTJlMTY1M2RmMGNjMDNlNDc3YSBsZWdhY3ktdHJ1bmsKKzIwMjQ0IDMzMDhhZmNhYTEzMTU1ZDczZDYzYjNlYmViM2RkMTgzNzRjYTdmZDMgbGVnYWN5LXRydW5rCisyMDI0NSAyZDMwYTA5OTcwNWYzOWZjZGNlYWFlZDg1ZDYzNDk5NjdlMjdiMWViIGxlZ2FjeS10cnVuaworMjAyNDYgZWQzZTY2ZjMwODM3YzIyMTE2NTE2ZmNjZmQ3ZTNiNWY2MzY5M2E2ZiBsZWdhY3ktdHJ1bmsKKzIwMjQ3IGFlZDZiMTQzNmRiNDc4NzBmNWM4MDA1OTQyMzBhNDQzOTkwYjNkYTAgbGVnYWN5LXRydW5rCisyMDI0OCAxOTQzMzE4ZmFlMzE3N2E1OGVjYmVlYzBmM2M5NGRjODE2NDk5NTI0IGxlZ2FjeS10cnVuaworMjAyNDkgNDQ2OGE4ZGE2N2NhMDEwNDI0ZWFlYTc0YTc4MjhjZGJmMGY2ZjVmOCBsZWdhY3ktdHJ1bmsKKzIwMjUwIDI4Y2YwYTc5NDNjZmQ3YjIzNTMxYmMyZGQ2OGIxNDMwNzMyYTRiZGMgbGVnYWN5LXRydW5rCisyMDI1MSBjYzhhMjFiYTY0NDk5OGNjZWFkNDI5NjkyNDUzZTdiZmQ4ZDI0YTNmIGxlZ2FjeS10cnVuaworMjAyNTIgM2FhZWRiYWM5NWIzMTJiZTVmMTM5MTg4NDk5NDk1NGI2ZmM2MTg2ZSBsZWdhY3ktdHJ1bmsKKzIwMjUzIGExODQwYjliMTRmMTQ1ZjBkMWYxMGQ5NzJjYTZiN2QzZmNlODA5ZjIgbGVnYWN5LXRydW5rCisyMDI1NCA5NjIxZDBmYmMyZTUyZjBkN2Y0OTgxYjczZjk3MGViZjBlN2YzMzY2IGxlZ2FjeS10cnVuaworMjAyNTUgY2E1NjVlM2QzY2M1YzA2OTdmY2EzZDNiZTUxODM5ZGYxNTc2YWNjNyBsZWdhY3ktdHJ1bmsKKzIwMjU2IDZiOGQ5MWVhOWRlMzQzNDBmZGRhNmQ0MmYyMTJiZGRlZTFhZDk4NDUgbGVnYWN5LXRydW5rCisyMDI1NyBkMTA5ZWM2NjdlYzI1ZDhmZWQxMDYyYTM0NzZmMGZlNjhmMTQyMWE4IGxlZ2FjeS10cnVuaworMjAyNTggOGEzYmExMGYxMGY2YTI1NDkxNmFkNDgwZWFiY2ExMjM4NWI3YzFiMCBsZWdhY3ktdHJ1bmsKKzIwMjU5IDExZThiYjRkODQ1ZDJjMGJlNTNmZTAxYWJiZjU2NjM4MTE3ZGMzYTQgbGVnYWN5LXRydW5rCisyMDI2MCA1MDc5ZDZlM2I2MTUwODAwNzg2NjVmY2I0ZDYyZmQyNDdiZDBiMmIyIGxlZ2FjeS10cnVuaworMjAyNjEgZTJiM2U2ZDg1MzQzMGEyMTBmY2JhYWZlZmZhZTNhZDExNTAzMzFlYiBsZWdhY3ktdHJ1bmsKKzIwMjYyIGJiNzVkOTNmNmEzMWM5MzM0ZGVhNmMzNWFlZDgwYmRjNDdhYWRhNzcgbGVnYWN5LXRydW5rCisyMDI2MyBmMzk4ZTU4NTZmYTc0NjUzMDU1YjhiYmMzOGE2MzkzMjkwMDFiMWY1IGxlZ2FjeS10cnVuaworMjAyNjQgNjVmMzYzMjM2ZWNmN2ZhNmE4MzZhYTlmMzVjZGMxZTIzNzQyMTkwMSBsZWdhY3ktdHJ1bmsKKzIwMjY1IGU4NDNlZWU3YTMzZTg2MjViMDYyNmE0OTdmZmE2NDIyMzI5ZjFiNWUgbGVnYWN5LXRydW5rCisyMDI2NiBkMzgyNzkyMjkwOWNhMjU3NTRkYjljNzY1MWUxZDUxNTQ0MTUyY2UyIGxlZ2FjeS10cnVuaworMjAyNjcgZTU0ZTExYzMwZTRiMTU0OTdjM2Y3MmNmZTQ2OWUxODRkMDIwM2EwMiBsZWdhY3ktdHJ1bmsKKzIwMjY4IGNiNDBlNzcwYzkwM2RkOGUwYjk5ODk5MWYyYTEzNGI1ZjkyNDIxYWUgbGVnYWN5LXRydW5rCisyMDI2OSAwYzg3YWM2NzRjZTE4MjA2NzRhOTgzZDRjZjVkMjMxYWU3YTM0NDhkIGxlZ2FjeS10cnVuaworMjAyNzAgYTgwYTg0N2Y1ZjRlYmE1OGJlMTAwOTUwNDQ2ZmJiYzU0ZmQxNjNmNiBsZWdhY3ktdHJ1bmsKKzIwMjcxIDVmNjg3NTRlYjNiNmJjODAwN2MzM2U5NzBmZDBlY2M5MWI4ZDgxZGYgbGVnYWN5LXRydW5rCisyMDI3MiAzMGU1MjcwZGIxMjgzYmY4Y2RhMGFhODZkMTYyNmRmZDg0YzM5MjNkIGxlZ2FjeS10cnVuaworMjAyNzMgMGY2ZDhmZTRhM2E5MWNmZDdjZGM3MDkyN2Y1YTQyYWZlY2RjY2M0OSBsZWdhY3ktdHJ1bmsKKzIwMjc0IDQ2MjJhZjRkYTllMjgyZmIxZGNlNzhhNWFlMzExOWNhMTlkNDRhMWIgbGVnYWN5LXRydW5rCisyMDI3NSA4YTJkZDk3ODczZjI1NzYyZmY0YjdjYjMzOTcwZmE2MjVjYjkzNDg5IGxlZ2FjeS10cnVuaworMjAyNzYgZDM2ODU1MmMyYjcyNjEwMWY5ZmZiODY5YWM2NTY1NTc5YWQ5NjgxZiBsZWdhY3ktdHJ1bmsKKzIwMjc3IDdjNGJhYzJmN2IzYWI3MThlMjM5YjcwMzQ1MWNlODUxNjNjOWQ1OWUgbGVnYWN5LXRydW5rCisyMDI3OCA5YjI5N2FmMThlMmYzMTUwODQ0OWNlNDY2MjNiN2U0ODE4N2M4ZmQ2IGxlZ2FjeS10cnVuaworMjAyNzkgYjYxMmI1MTlkNDFhNTQ2OTg3NmU1MzA5YTllNmM3MTI2ZjRlYzUyMSBsZWdhY3ktdHJ1bmsKKzIwMjgwIGJiY2M5ODM3MzEyZThlNTlmNmJjNTgwOWQ1M2E4MWY3ZTNjY2EzNDggbGVnYWN5LXRydW5rCisyMDI4MSAwZWMwNmI0NzU1ZGI3MjRkNTI2ZWRhMzkyNDNlM2YzNGNjNzRmODEyIGxlZ2FjeS10cnVuaworMjAyODIgZTRhYmU3NGJjOTczMmQ3MjhiMzFhNWY0YTUzOTUxMjkwM2MyZTZlNyBsZWdhY3ktdHJ1bmsKKzIwMjgzIDQ3MWNlMGZhYTc3NTBmNDIwOGU2OTUyMTZlYzc0NGQ3NDFkZmJmY2YgbGVnYWN5LXRydW5rCisyMDI4NCBiMmJjNTYzMzIwNDVhZTAyNTI1YWI5MzFmODgyYzQwN2M1MWU1ZDlhIGxlZ2FjeS10cnVuaworMjAyODUgMTEyYmQ0N2UwNzhkMzE5MzBjNmM1YzgxNzJhNThhMGVjYTY2NzQ3MCBsZWdhY3ktdHJ1bmsKKzIwMjg2IDY4NzM1NDlkNDg0Yzc1ODVkNjBiZDJiZjM0NzRlODhhMmEzMmIwMmMgbGVnYWN5LXRydW5rCisyMDI4NyA0YjA2ZTRkYjAwNzVkYzNiMDU1YmZlZmRjMThlNmNlYTNlNGMzYjQ4IGxlZ2FjeS10cnVuaworMjAyODggNzE3YjBjOGRlNzFlOWExMjY3ZWU2MmNjOGQ4ZmI2ZDdjMmZmZmU0OSBsZWdhY3ktdHJ1bmsKKzIwMjg5IDg2M2U4MDczYzdhYWYzMWYzMTdiZTg3MmZkMWQ3NjU3ZGMzYzA5YWUgbGVnYWN5LXRydW5rCisyMDI5MCBiZWI5ZDJiMDI4NDY1N2JlMjNmYTlmOWIzNDQ5OGUyZGFhODhjODlmIGxlZ2FjeS10cnVuaworMjAyOTEgY2Y4YTU5NWNlYzMzNzQ4YjUyMzYyNDA0ZjczMzUzYTVhNmY4OWI1OCBsZWdhY3ktdHJ1bmsKKzIwMjkyIDAwNGM5YjAzMTkyNDFjNWMwNTQ2YWMxMGNiNTliNTRiOTA0N2I3ZTQgbGVnYWN5LXRydW5rCisyMDI5MyA3MDc2M2M0NzUyZTJmYTNmN2VjNmJhMzkwMTI1MDQ2YmYwMDM5YTg5IGxlZ2FjeS10cnVuaworMjAyOTQgMTM4NTdmYjMzMDE3NzBjZDJjYTQyNzZiMWEwYmYyNTlkNDEwYWZiOSBsZWdhY3ktdHJ1bmsKKzIwMjk1IDg1M2Q2YTk3YjdkOWI0ZDM4NmM3MzVmNmNmMGEyNzBjNmU4NjUzNWIgbGVnYWN5LXRydW5rCisyMDI5NiAzYjkwNWYyOGYyMjU2OThjOGI0ZDNmNTZjNTEzMDQ3ZDk4ZWFmMzkxIGxlZ2FjeS10cnVuaworMjAyOTcgMzRlYzVlMmZhMzU2MWVjYmYwM2FlYWVjYTg1OTlhZmM5YzA2MjBhNCBsZWdhY3ktdHJ1bmsKKzIwMjk4IDAxNzkxYTA5NzQ1NmI2ZmU3NTEyZTYwOGQ3MTExMDQzYTIxMmIwZTkgcmVsZWFzZTIwLW1haW50CisyMDI5OSBhZmJiNjViNjBmYTIwMzgxOTMyNDFiNTA1NjYyNDcwZTkzMjZlYTkzIHJlbGVhc2UyMC1tYWludAorMjAzMDAgYzllMDdiYzMwM2EyM2VkMGM3ODNiOTkwNjFhMzE5MjcwZDY5YzIyZSBsZWdhY3ktdHJ1bmsKKzIwMzAxIDlkNzZkODU1MmMzNjEyNzc0ZDZhYWFmNDc4ZTY0Nzk4NmQwZTBmOTMgbGVnYWN5LXRydW5rCisyMDMwMiA2OTRiOGMzZjI1ZTdjNmQzNzMxZjE0MjU1OWE4NDJhOGM0ODg3ZDI0IGxlZ2FjeS10cnVuaworMjAzMDMgODRhM2Q3MGVjNmY0NGQ2NWZhZWJjNzQ5ZDhlOTIzOTgyNTU5NTVkNiBsZWdhY3ktdHJ1bmsKKzIwMzA0IGY5Njc0ODllZTNiNjRiYWQ4NmU3NDVkMTVmZDg2N2U0ZDI1YmY2ZjMgbGVnYWN5LXRydW5rCisyMDMwNSBiZDg0NGIyMGI5Yzg1NDRmYjkxOTk3NzhhZmU3OWYwODk3MmRlMTRlIGxlZ2FjeS10cnVuaworMjAzMDYgMzcwNGJlM2RiMzAyODYyNjBmNjI4YmJmYjZhYmMxOGVmYWVkZTRmYSBsZWdhY3ktdHJ1bmsKKzIwMzA3IGJhZDJkYWViNzQ0MGMzMzEyMDQyZDU2Zjg2NDBmZWZkMmQyN2NmNmEgbGVnYWN5LXRydW5rCisyMDMwOCA0YzQ5N2M1ZTcyYWRjZTFkYjhkY2I4NWEyNmM0OTIxMzBkMDJmMWQ2IGxlZ2FjeS10cnVuaworMjAzMDkgNjVhOTIyNTFkNmI4NWNhYzIzNTllMjYzZDgzNTg2NmE3YmQxMTg4OSBsZWdhY3ktdHJ1bmsKKzIwMzEwIDlkY2I0YmQ2NTE1NDhlODc2OTlhNjIwZjBiYzZmOTBiM2RhZDk2YzMgbGVnYWN5LXRydW5rCisyMDMxMSBiOGZjZjQ1ZGM2ZmRjNzQzOTIzZGI3NjY0Yzk0MDRhMmI1N2M1NTliIGxlZ2FjeS10cnVuaworMjAzMTIgOTY1ZWViNDRlNDU0NDEyMWMyMjE3NDY5MGMwMjYxM2UxMmUwYzJmYyBsZWdhY3ktdHJ1bmsKKzIwMzEzIDNmYWRjMzdjZmE5MjA5ZWQ0MDY3NmU1YTA5YzI2NDBhMzc3NmM1NmIgbGVnYWN5LXRydW5rCisyMDMxNCA2NDM5NjI0M2MxMTQxZGNmOTA4NzYwZDczYzFkNDA3MDQ1YmJiNDNkIGxlZ2FjeS10cnVuaworMjAzMTUgMzQwMmM3MTY2ZDMwODExNDRjY2E0Y2JmMjQyZWVjMDM2ODU1ODQ2NCBsZWdhY3ktdHJ1bmsKKzIwMzE2IGYzZjk2NDE3NDNhMDdlODhkZjllZmM3OTg2NTI5YWJjZjBkYzY5YjQgbGVnYWN5LXRydW5rCisyMDMxNyA2MzJjNGQ1Yjc1YjdhOTZkZWMzZmNhMzJkM2FhYWFiOWEyYWEyMTIxIGxlZ2FjeS10cnVuaworMjAzMTggN2M2MTcxNTc1MmJlMjAyNmFiYjU4YjA0NTEzODQwNzkwMTA5ZDAxZCBsZWdhY3ktdHJ1bmsKKzIwMzE5IDhlYzdmNjU2ZjgwODMxZTZkYzY2MTJhMjQzZTVlNTYxMDc3OWYwYTAgbGVnYWN5LXRydW5rCisyMDMyMCAyNTdiNTdiY2NkZjNiZTg5NGIyYmQ4ZmQ5NzY3ZWQ3OTIxNjNhNjQ3IGxlZ2FjeS10cnVuaworMjAzMjEgMzE2MGRhNGRkZDg5MWFlMGJlODA2ZmQxZmZlMmViNjdjYTMwNzc5OCBsZWdhY3ktdHJ1bmsKKzIwMzIyIGVjMDc1Y2M4MmJkYjNmNTdjMmVmNWJmNzhmY2RkNDczOGYzN2IyZDIgbGVnYWN5LXRydW5rCisyMDMyMyBjMmZiMmQ0NzZiZDM4Y2RmMjdhYjM4NWMzNDk0ODM2MjgyYmIwMDg1IGxlZ2FjeS10cnVuaworMjAzMjQgZTUwMDkwMjVlNjJmMmMxYWY5OGZjMzQ3MGYzMDE1ZmEwMmRjNmYxNCBsZWdhY3ktdHJ1bmsKKzIwMzI1IGI0YjNjZmZjN2MzNTVmZjIxNGE0YjQ0ZDU3ZjAwZjFhZGNlMGRkODYgbGVnYWN5LXRydW5rCisyMDMyNiBiZmMxMGE4MDU0NWJhYWQ4ODkzYjJiOTMxNDFiOGM0NGQ2ZDhiNzI0IGxlZ2FjeS10cnVuaworMjAzMjcgYjAwNWViOWJjODQyZDk3YTVhMzE1ZDIxZDk1YWMxMWJhMmU4MWYxMyBsZWdhY3ktdHJ1bmsKKzIwMzI4IDJjY2MwZjJjOWUxZjI4MWZhMmNmY2MxYjJmYTA2M2M3NDJkOTE1ODQgbGVnYWN5LXRydW5rCisyMDMyOSAwZjMyYWI1YWZmZjg5ZTY0NGIxNjc3MDYxNGQ4NWFhNjYyNjY1MjRmIGxlZ2FjeS10cnVuaworMjAzMzAgOThmNjkyNDViYjY5Y2QyNDdhZmQ0MzI5ODQ0NmJjZDkzYWJiNzQ2NyBsZWdhY3ktdHJ1bmsKKzIwMzMxIDAyZDY5YTg4NzAzODkxMjE0Yjc4NzI4YzUyYzM0YWFmMWE1NGVhMGMgbGVnYWN5LXRydW5rCisyMDMzMiA0MWE0MjMyOTRjYjUxMzEyODU5YTVlYzYwNjZkYzMyZmMzYjVkYTY4IGxlZ2FjeS10cnVuaworMjAzMzMgZmJjMTJkNmNkMDUxMWI5NGU2NDE0YjA1ZDU3MGUwMzliOWFmZmZlOSBsZWdhY3ktdHJ1bmsKKzIwMzM0IDFjZGZmMjgzOGExNzhlZjQ2MWQ5MjRiYjlmODc5NjQ1NGJhNzA0YjMgbGVnYWN5LXRydW5rCisyMDMzNSA3NGI5ZmIxYzk2MzM5NzkyOGEzZTVjMGVjOGRjOGY5YWU1MTMxYTJkIGxlZ2FjeS10cnVuaworMjAzMzYgMmQ1MjE0MjBkYjhmMWUyOTJiZTJkNGMxY2Q3MTE4ZGUxYWZjM2NkOSBsZWdhY3ktdHJ1bmsKKzIwMzM3IDkyMzdmNThkY2MxOTIyOGYwOTBkNWY2MzJlZDgwYTMwNWQ2YmU1MzEgbGVnYWN5LXRydW5rCisyMDMzOCAxMTE5MDJjOTkxYTkwNGYzY2EyZTE0MDI0ZmE3OGEwZjU0NDU0NDA3IGxlZ2FjeS10cnVuaworMjAzMzkgZjBmMDQ2N2EzMzM0MmRhYzg2NzY5ZWMxN2I5MTAzNzg0MThjMDZmNiBsZWdhY3ktdHJ1bmsKKzIwMzQwIDAxODRjNTBhODc1MTBhZGE4MTdlYjU5OWFlYTU5MzllYjQ0NWFiZGEgbGVnYWN5LXRydW5rCisyMDM0MSAwNDc1YzhiNzIyM2JhNThiODQ3MTlhNjk4NzFhMjFmZjc5MTk3NjdmIGxlZ2FjeS10cnVuaworMjAzNDIgNDVjMTgyNTE5NmVkNjYwM2E3ZDJkYTVkNTllMjBhYTI4OTgxODJhZCBsZWdhY3ktdHJ1bmsKKzIwMzQzIDUxYzhjZTFhMmUyNTk5NTNmMjlkY2YyNmM2YjIwMWI1ZmNlN2Y4N2YgbGVnYWN5LXRydW5rCisyMDM0NCBmNzRmNWFhZmRjN2UyNTBhNWQ1NGQzMzUyMzhmOGY5NDVlNGNhOWE3IGxlZ2FjeS10cnVuaworMjAzNDUgOTk0MWM0NDgxNmMxYzczMDY4OWJkNGY1ZmE5NDFlN2Y3ZjY4NDNjMyBsZWdhY3ktdHJ1bmsKKzIwMzQ2IDFhMmZkNWM0ZGNmNTcwZmQxMGRjZTQ0Mzg1MTMwMGE4N2QxNDZlMzYgbGVnYWN5LXRydW5rCisyMDM0NyBmM2I2YWMxMjhkZTlmMTM3NWI4YTRmOGQwNzQ4Nzc4Zjg5YThkMmY3IGxlZ2FjeS10cnVuaworMjAzNDggZDkxNTc3NzgzMzM1NzY0MTQ2MWU0OGQ5MTZmMzI3YmMxY2JjYzliYiBsZWdhY3ktdHJ1bmsKKzIwMzQ5IDRlZTM0NmIzNTUyNGE4ODVkZGRlZTQwOTljYmFhYTE5MjVlNDRmMzkgbGVnYWN5LXRydW5rCisyMDM1MCAzYmRhNTkwNzEzODk1MTM0MTcwNDFlODgxZTFiOTRjZWJlMDhkZjU0IGxlZ2FjeS10cnVuaworMjAzNTEgNjZhN2M4YzhkZDI3MjM4ZjY0NDMwYjIyZGZjMGYyODZkZjdkNzNiZiBsZWdhY3ktdHJ1bmsKKzIwMzUyIDBkMDU0NmJkODQ0OGFjNTIyMGMwMWZkYjgzYjIwMTg4N2FjZTdlOWUgbGVnYWN5LXRydW5rCisyMDM1MyBlODQ2ZTk2MGU3ZjYzMWZiYjNhYTA2MWFkNTFjM2U1MDBmYTE0MjEzIGxlZ2FjeS10cnVuaworMjAzNTQgOTljNDcxY2VkMTcwMTg1Y2RmY2Q4MmRiZGU2MDRiN2M3N2VkNTFlNyBsZWdhY3ktdHJ1bmsKKzIwMzU1IGEwMDRjNjJlNjk2ZTZlMjI5MTA2ZjdhMzg3ODFjYTE5MzFmYmJkYjUgbGVnYWN5LXRydW5rCisyMDM1NiBlODc0MWRjMzZhZDEzYjkxOTQxOTQ4OTRkNjJhYzIyOTNlYThhMzk5IGxlZ2FjeS10cnVuaworMjAzNTcgYzI5ZWUzNzNmNzE4Zjc4YWI0MjM0NmQ1YWNjMTRlYThjYjYzYjVhYyBsZWdhY3ktdHJ1bmsKKzIwMzU4IGYxZWM1MmVmNzcxYzExYTZiNGJkYzRiNzhiNWExNTZhM2Y3MGE5YmQgbGVnYWN5LXRydW5rCisyMDM1OSBmMjQyNzJlODk2MjE1MjU3ODg1MWRjOTEyOTAzZTNiMjAwNWNlNWE0IGxlZ2FjeS10cnVuaworMjAzNjAgYjg0ZjA4NGIyOTkyYTgxZTZiMDZjMjA5YmIzY2VjMzVmNzA2NzYyMSBsZWdhY3ktdHJ1bmsKKzIwMzYxIDRiOWU2ODRiZWJiODcyZWIzYmUyNWZkNDdlZTVhYzMzZTZjNWIwNTEgbGVnYWN5LXRydW5rCisyMDM2MiA4YWE0ZGUyMDdhZTM2NGI0NGJhYWMyMjg2OGVhOWI4YmUwMzIxZTZiIGxlZ2FjeS10cnVuaworMjAzNjMgOTI2YjY0ZmJhNWU3ZWQ1OWEyZjQwMTNhY2Q2MzQzMTNiOTA1NGQyZiBsZWdhY3ktdHJ1bmsKKzIwMzY0IGI0ZTJiOGU5ZjFlNjg0MjM2OGY5NmZhOTQzOTk1ZjI1OTMxZTI3YTQgbGVnYWN5LXRydW5rCisyMDM2NSAyNGU4MWI0MzA2N2RjNjVmNWFhMjM4MTVkMDk0MGFjNDQ4YTJkODIwIGxlZ2FjeS10cnVuaworMjAzNjYgMjg4OGZjNjBiZjlhY2VhZDY0ZGUxMjgzZDFhNzY2NWJjOWQ5MjBkMCBsZWdhY3ktdHJ1bmsKKzIwMzY3IDMzOWE5M2IwMDg0Yzc1YjNhYzQxNzg2ZDYyMzFmZTU0NTU1ODY3NjggbGVnYWN5LXRydW5rCisyMDM2OCAxNDI1NDVkMmFhZmM4MGE3NzczYTZmOTBmYTc1MDBiY2ZiOGI2NTQwIGxlZ2FjeS10cnVuaworMjAzNjkgNGFiNTg2MjQ2NTNlN2Y1NWFlMWI5MDRhMjgwZjkyMTViOWQzNmY0ZCBsZWdhY3ktdHJ1bmsKKzIwMzcwIDI1ZjU1YjJlMzhhY2M4M2QyYmQyZWExNTRhMTc3ZDlkOWE0YjUxMGQgbGVnYWN5LXRydW5rCisyMDM3MSAwYjY5ZTE3ZTA1NWZhNzRlMjU5N2NmM2U3NmFlMTFkMDE2YTQxMDRhIGxlZ2FjeS10cnVuaworMjAzNzIgNjEzZGNkNTQ3NmI2ZTZkYTliZmZlZTMzYmVmMmYyYjRlNzNkMTBlMCBsZWdhY3ktdHJ1bmsKKzIwMzczIGVkMDdkNmE4NzNlNzM0MGM1ZWQ5Y2EyYTBmOTM5MmJkOGNlOGI0ZjkgbGVnYWN5LXRydW5rCisyMDM3NCAwNGRhZWUzYWI2MjdhMGE2OTJiYWI5MjE5NGQ1MmI5YzZiNDkzNzgzIGxlZ2FjeS10cnVuaworMjAzNzUgOTlhZDAyNTdiOTQyZGVkYzE3YzZiMmRmZGUwYWY4ZTU2MDBkNzhiYiBsZWdhY3ktdHJ1bmsKKzIwMzc2IDIyNjUwMzJlZmM5ZjBmNGJjNjI4ZGIyNGY5ZDNmNjM1NTI5ZTQzN2QgbGVnYWN5LXRydW5rCisyMDM3NyA3MTc1MmE0MWI1N2Y5OGJhNmNjNjVmZDg4YjExMTgyYTRmY2NjYjg3IGxlZ2FjeS10cnVuaworMjAzNzggN2U4MjlkZDAzZjk3YThiNjljZjA5ZmYxYWEyZmM2M2YzMzE5NWNmYyBsZWdhY3ktdHJ1bmsKKzIwMzc5IDY0MGFmZmRmOTllNTA3ZWE1MTQxMmViODcyNzE5ZDE5ZGFjMmUwMWMgbGVnYWN5LXRydW5rCisyMDM4MCA3NGU3ZTkzZWNkNDE0MTlkYTY5NTZhZGJmMmNmN2ExZGM3NzZjMjNiIGxlZ2FjeS10cnVuaworMjAzODEgOTZiZDRhODRmMWE0OTRjMjdlNWM0YWNhYjNkYjVkNDNmNmFkMTViZSBsZWdhY3ktdHJ1bmsKKzIwMzgyIGY3YzEyYmE0MjczNzA4ZWM4YTkyOTJhNzcwMjcwMmU2MDRkMjQyZWUgcmVsZWFzZTIwLW1haW50CisyMDM4MyA1ZjRmY2ZiOGQzZGQzNjY3MDFhY2UzMDgzYjRiODAyZjRmYTA1MDRhIHJlbGVhc2UyMC1tYWludAorMjAzODQgMzUxMzlhOTQ1NGQ0MzgwMTVhZTdiMjBhNzI2MmQ5MjVmM2Y2OTQwYSBsZWdhY3ktdHJ1bmsKKzIwMzg1IDE1Yjc2MDllM2UyYzg5MWQ0ZDYwMjM0ZmU2MGY1YTcyNmJmYzc0MzcgcmVsZWFzZTIwLW1haW50CisyMDM4NiBiNjVkMDg5ZTg4NDE4OTBhMTBmN2I4OGFkOWVhZjdhNmExZWYxZjA3IGxlZ2FjeS10cnVuaworMjAzODcgNmVlYTRjZWI3NTE2NTI4MmUyYjliODI5YzYwY2IyZmU4MjY5MzQ5ZiBsZWdhY3ktdHJ1bmsKKzIwMzg4IGEzNDI5M2NlZDYzYjYxMDlmNDc1ZTY1ZDg4MzY2ZjEyYzFmN2Q0Y2IgbGVnYWN5LXRydW5rCisyMDM4OSBlNTI2ZDkyNDg5NjVmNDdkNDczNWNiNTU0ZWYwOTE1NDhkYTAwYmI2IGxlZ2FjeS10cnVuaworMjAzOTAgMGIwNjBjZjc2MmNlNzM4NTE5ZTkyZTllYTRmYzQ3MmFkODI3MjBmYSBsZWdhY3ktdHJ1bmsKKzIwMzkxIDZhMzc3NjIwMTc1MDc1ZmQzY2I5NzZkZmQwMWViNDVmYTNjN2E3MzQgbGVnYWN5LXRydW5rCisyMDM5MiBmNzJkY2Q2N2NjY2IwOWNiMWE4MDE0OWQ0MWJkNTY0ZTRhNWUwYzFiIGxlZ2FjeS10cnVuaworMjAzOTMgODA2ZmQ4ODAxNWY1M2I3MzkxNjI2NmVhNGE2YTYxNzEyZThmZDYzMiBsZWdhY3ktdHJ1bmsKKzIwMzk0IDVlOTlhMWQwZWE0ZGQ3OTA0NGE3MGMwMTE0ZDI3MTg3ZGJmMWU5NDkgbGVnYWN5LXRydW5rCisyMDM5NSA2MWQ5NTRlN2JlOTkyM2E0MzRlYzk3ODNjNjgwN2UzZTY0NDFhZWU5IGxlZ2FjeS10cnVuaworMjAzOTYgYzViYWI3OTRkY2RlNjQ0OWMyODU3YjBhMmNiNjcyNmE2MjY3MzZmOSBsZWdhY3ktdHJ1bmsKKzIwMzk3IDMyN2VmYjU5ZGJjZGU3YjYwY2JhMzhjM2FjOWMzOGYyYWY3MzE3N2YgbGVnYWN5LXRydW5rCisyMDM5OCA4ZTE0MTVlZjliMjhkODMyNmViZmUyNWJjYmM1YzQxMWM2MjNjNjcwIGxlZ2FjeS10cnVuaworMjAzOTkgMTExNTNjMTQxOTk5MzFhYWE2NDZiMTE2MmM3OWQ3ZmE1OTU0ODFjMyBsZWdhY3ktdHJ1bmsKKzIwNDAwIDU1ZWUxNWM0ZWVlNjgzZjRhYWEyNTBiMDk0ODJmNWU0YjcyZWI0MmQgbGVnYWN5LXRydW5rCisyMDQwMSAwNjhmYjU4YTExZDQ4NjgxYzE1YWU5NzAzYjg1YzIwMjJhZmFjOTcyIGxlZ2FjeS10cnVuaworMjA0MDEgZDYxMTI3NmU5YWQ1M2I1ZDMyZDFlODA2NWUxZDgxMWMzMmY3ZDk2ZiBsZWdhY3ktdHJ1bmsKKzIwNDAzIDdiNjdlYjI2YjM5YWI2OGJmNTYyZjczNjJkYzk1ZGI1ZTRhZTY0MjcgcmVsZWFzZTIwLW1haW50CisyMDQwNCBmZDA2ODNjYjczMDEyZmFhYzA1ZmIzZDBjOTE2NjQ4ZDQyZDEzNmZlIGxlZ2FjeS10cnVuaworMjA0MDUgOTBhZTM3ZmY2MTdmY2ViNjA0MTYzOTI5MDE3MWNmNWQzMzViNzllNyBsZWdhY3ktdHJ1bmsKKzIwNDA2IDc2ZmFlNjE0NTI2Y2VjMWViNmI1NWRhOTViOWM2ZWRlMmM3MDg3YWEgbGVnYWN5LXRydW5rCisyMDQwNyBjNjUxY2ZkMGZmZDQ4OGE1Y2MzN2NjOWQ4ZDk2MGJhZmNmNzU0ZTliIGxlZ2FjeS10cnVuaworMjA0MDggNzczYzY0ZDM4YWM2ODk3Y2U0ZTk5OGFiNGQ2ZWFhNjA1MjM4ZGRmNSBsZWdhY3ktdHJ1bmsKKzIwNDA5IDgxODIzY2ZiNWIxNDY4MjNiMzYyMTcyZGQ4MjhiM2QwM2E4MWE5ZmYgbGVnYWN5LXRydW5rCisyMDQxMCAzM2Q3MWU4MGEwOWM3NzMxOTA5NGRkYWEwNzQyMGY2OTRlMzIxOWQyIGxlZ2FjeS10cnVuaworMjA0MTEgMWUyM2Q5MWMwYTgyMWMwNmRjNjgyNzJiNDAyYWVjMGY2NjVmZDA1ZiBsZWdhY3ktdHJ1bmsKKzIwNDEyIGY5MzljZTUyYTczNGQ1ZDJmNmIwNGMyMDY4MGQ3MGIxM2IxMzZjZWMgbGVnYWN5LXRydW5rCisyMDQxMyBmOWRmZDU4N2MxNDJiNjhkZGJkZmU5Y2NmYzlkYmUzN2M3NTE3YjkxIGxlZ2FjeS10cnVuaworMjA0MTQgMDViYWQyZjA1YmZhNmVjZWYyZjE0ZTQwODczYWY2YmI4ZDdmZGI1ZCBsZWdhY3ktdHJ1bmsKKzIwNDE1IGM5Y2FlNWE3MGI0ODI5NzIxMjUwN2ViYzQ4YmViMTQ3Yjk5MGNlMDcgbGVnYWN5LXRydW5rCisyMDQxNiBiMjg0MGEzYzU2MDFkNzc0MzAwMDI0MWY2ODcxZTQ1ZmJmOTJlNDk1IGxlZ2FjeS10cnVuaworMjA0MTcgODM4OWM0ZGY0ODhkYjA1YjNlMDE1MGJiNzg3M2QwMzViMmUzNjdjYiBsZWdhY3ktdHJ1bmsKKzIwNDE4IDc5ZWZiYzlhMDNkZWZjMzJlMzcwMDllMzlkNmE1YTI3Y2ZhNjMyNDEgbGVnYWN5LXRydW5rCisyMDQxOSA1ZmIwYzQ2NzUzZjk4MzAxMDc3M2MyOTI5ZGYxNzcxZTI1Yjg3YzM0IGxlZ2FjeS10cnVuaworMjA0MjAgMGY1YTI2YWE0ZTRhMzBhZTY0YjNkM2QxZjZkZjc5MmY0MGE0OTU3NCBsZWdhY3ktdHJ1bmsKKzIwNDIxIDAxYmUwODMzMzMwOGVhMzUzYmM0N2Q2YzY0OTBjMjMxOGE0ZjBhMDUgbGVnYWN5LXRydW5rCisyMDQyMiA1MDBkNTM0NjBmNTYwODM1OGIwNjFhYTU4NjIzOTFlZWQ1MGYxYzYxIGxlZ2FjeS10cnVuaworMjA0MjMgYzQ0NDJmYjk5ZDI2NWZiMTQ5OGM5MTM4NWUyNDFjYzk1ODYwOWUyNyBsZWdhY3ktdHJ1bmsKKzIwNDI0IDE3YTcxZDJiODFmN2NmNzg1NDJjYjM1MzhmNzk2OTM4OThlODFmMDggbGVnYWN5LXRydW5rCisyMDQyNSBjNDk3ZmEzZmUzOGEyZTNjODVkOTI2ZmUxY2FmMzlmNTJjZGM0Y2MxIGxlZ2FjeS10cnVuaworMjA0MjYgZGQ2YmU2MjVhOTIzM2Y4NTk1OTAyMTg5NGJlMDkzYjAyNTkzNmYyNyBsZWdhY3ktdHJ1bmsKKzIwNDI3IDFjZmVmOGFkZTI3MDczOTAzNDBlOTcyMmI2MGZlMzRkYzFjZjEzODQgbGVnYWN5LXRydW5rCisyMDQyOCAwMjU5MjljMTUzMWQzZDc2ZjZkZTRjZjdiZjJjZTkxZGNkYzVlZjRkIGxlZ2FjeS10cnVuaworMjA0MjkgODNjN2I0Yjc1NjY4ZmZjZDQ3MjJlZWQ1MTM5YzEwZjhiN2FkMGUyNCBsZWdhY3ktdHJ1bmsKKzIwNDMwIGQyZGE2ODFjY2I1NGRmNGIwYjJlNmUzZGU3NjNjM2MwYzgwYmFhNzcgbGVnYWN5LXRydW5rCisyMDQzMSBlMWM1MDdjZGM2ZjFmN2NmZDc3MDBlOGRlYTQwZjlkM2Y5ZWJmNTQ2IGxlZ2FjeS10cnVuaworMjA0MzIgMTYyZmE2YjEzNjZmM2I0YTQ3YzJjZGFiMGI0OTJhNzk3MzBiOGY4NiBsZWdhY3ktdHJ1bmsKKzIwNDMzIGYxN2E4MzBlMjVlYWIzNGUyMTgwMTU1NzNhOTlhYzBlYTg2NmE1Y2QgbGVnYWN5LXRydW5rCisyMDQzNCA1MmE4ZTM1ZGYxMjc5OTRjMjhiNWU1MTE3MWY4Y2MwZTk2ODQ2MjVkIGxlZ2FjeS10cnVuaworMjA0MzUgZTBhNWE2M2FkNzU2OTYxYmRiNmI0NGIwMDgwNDFkYTRkNjI1M2FiYSBsZWdhY3ktdHJ1bmsKKzIwNDM2IDQ0OTMxOTlkMmI5NTZlYzE4Y2JiYzJiZjMzZTgyMzQwNWQ2OTBlMjYgbGVnYWN5LXRydW5rCisyMDQzNiBmZjA2NWU2NzRhZjZjOWFiODk1YmQ5ZWZmN2Q5ZTkwMzlhMzc2YzdkIGxlZ2FjeS10cnVuaworMjA0MzggNDkwODViYjdiY2Q5OTQxNjk5YzlhMGFmMjk1YWRkZGQ2NTE2YzE0MyBsZWdhY3ktdHJ1bmsKKzIwNDM5IGU1MjJlZDgwZmIzOTMzYTYxYjZhNWFhMGM3YmZjZWU1YjNmYzlhNTcgbGVnYWN5LXRydW5rCisyMDQ0MCBkYTVlYWIzMzE0N2I5NTk1YjA0YzMyNGJkNzgzZDNmMmE1MDU1MGM4IGxlZ2FjeS10cnVuaworMjA0NDEgNjI1MjY5M2FmZDlhZjFjYmQ5ZDZkNjk0NmEzMjM3OWIwNmNkZThjMyBsZWdhY3ktdHJ1bmsKKzIwNDQyIDM1NGE1NzFhMDViNGY0ZTUxMDgxODdjNTNlNDNkZDM1MDI5YzI4ZTggbGVnYWN5LXRydW5rCisyMDQ0MyA2OTNmYTZiNDFkZmE1ZTBiY2U2YTI1Y2Y1NTA4N2NjYmQyMGQ4ZDYyIGxlZ2FjeS10cnVuaworMjA0NDQgODRkNzgzOWJkY2Y2M2RjMGUzNTk0YWM4OWE0OTdjODFkZTcwOWZkNSBsZWdhY3ktdHJ1bmsKKzIwNDQ1IGNiYzlmODg2NTU5NTg5Y2M0ZDQwODk4YjFjMDgxMDFjZjFmYzkzN2EgbGVnYWN5LXRydW5rCisyMDQ0NiAwNTQzNmE3NDAxMmQxYzYwMjZkOTI5MjUxZWFjYWQ2YWNhNzk2MjdjIGxlZ2FjeS10cnVuaworMjA0NDcgMWQ5OTUxZDEyNmY1YzM0NTkwOGUzMjA1MjU0NWQ3OGUzNjgzMGFjOCBsZWdhY3ktdHJ1bmsKKzIwNDQ3IDAyMGU5NWQ4MTgwZDc5NDNmZTU0NzAxZTFkYjBhN2Q3ZDg3ZTJiMWUgbGVnYWN5LXRydW5rCisyMDQ0OSAxOTY4NmE2Mjc5ZjQ3NWViODcxMTc1OGI0Y2EzM2QyNzYzYzI2ZGI2IHJlbGVhc2UyMS1tYWludAorMjA0NTAgZmZmMzAyMjFkMTlhMzRjMGVlYmZkZGRhMzBiNjU5NzVhNjg2YzQ4ZSByZWxlYXNlMjEtbWFpbnQKKzIwNDUxIDczMmRkZWU2ODk1NzIwOGIxZTdlZmEyODA5OTczMzQ5NzUwYzhjNDcgbGVnYWN5LXRydW5rCisyMDQ1MiBkMDZiYmI4YzQ5M2FjMDE2OTdlZWY0MDE0ODRhMWI0Yzg1ZDk0ZGE0IGxlZ2FjeS10cnVuaworMjA0NTMgMjhjMTRhNzlhZDIyNWI1MzIxNWYzY2Y0NDI3OWNlZmEyMGU4NjdhYyBsZWdhY3ktdHJ1bmsKKzIwNDU0IGRiOTI4YTI3N2Y4YjJlODQ4NTMzZDM5OWRiYjI2MjMyNTg3MDU3OGQgbGVnYWN5LXRydW5rCisyMDQ1NSAzNjIzMmY1NDMyMjBlZWRjOGQzYWY3YTExNDkzMzYzNjU3Zjc2ZjZmIGxlZ2FjeS10cnVuaworMjA0NTYgODk1ZmM1Yzk1NzYzZWQxMGQ3YTRkNzRkYjk4MTNjMTFkYTE0NzM4YyBsZWdhY3ktdHJ1bmsKKzIwNDU3IDI4MzY4M2I1ZTc2N2M3OTE0ZTgxODBlZWZlOWEwODBjNmRlMzY3ODggcmVsZWFzZTIxLW1haW50CisyMDQ1OCBiNmYwOGQyNzk1YjVlMjQ0MmM4ZmFhZjA1MWQ5ZjllZDBlZDQ4NzY3IGxlZ2FjeS10cnVuaworMjA0NTkgODhhNWM3NmZmYzhkM2Q4YWVlMzQyNDk2MWM5ZGM3ZTVkMmUyMzI4YSBsZWdhY3ktdHJ1bmsKKzIwNDYwIDQyYmNhZmZhNWQ5YjFhZTc0N2IzYzUyYTY4MGZjNzk3YTE1MDRiYWEgbGVnYWN5LXRydW5rCisyMDQ2MSBkOTQ0NDIzZTZmZmY2ZGMyNjI3NjgzY2QwMmNlODZiMGMxMGFjNDhlIGxlZ2FjeS10cnVuaworMjA0NjIgYTlhZDhkZWFjMTdkNWIyZmIyNmQzOTEzYmI2YmM0M2NhNDZjODkzNyBsZWdhY3ktdHJ1bmsKKzIwNDYzIDA0MDVjNjU3ZDJhYzlmZGRmMmRmZjY3ZDhiYjUzY2UzYzg3NGRjNmYgbGVnYWN5LXRydW5rCisyMDQ2NCA3NWUzMjJkNjA0ZjE2ZTI5ODcyZWUzMWY5ZDAxZjEwNmRhZWQ4NzhmIGxlZ2FjeS10cnVuaworMjA0NjUgM2VhYzIwYWZkNTRhYWFkNzQ3NzI2NmRhY2M5MDQyZjRkOTI2NjUzYiBsZWdhY3ktdHJ1bmsKKzIwNDY2IDUxOGRiNDU0ODYzMDE5YTRlOGZhYmIzYzE0ZTJhZjg5NDU0MGMzYTkgbGVnYWN5LXRydW5rCisyMDQ2NyBkMTEyZjEzNWFmOGQxNDE5ZjM3NjcyZWFmY2NlOTc1NGI4ODdjOTBmIGxlZ2FjeS10cnVuaworMjA0NjggMGRkNWQ2ZDlhOTUyYTZmMTExMDU0NjA4MzQ0NTJhNGFjMjFhMzdlNiByZWxlYXNlMjEtbWFpbnQKKzIwNDY5IDcwNzQzMDM4NDYwMzE5MTdjMjYzMGQzZjk4Y2VlYTg1NmQxM2ViNzUgbGVnYWN5LXRydW5rCisyMDQ3MCBjY2M0NGU1NDNiZWVmMTdlYjg0MTA4YjQ1OTgxZjdjZTNmYzUwMjI3IGxlZ2FjeS10cnVuaworMjA0NzEgM2RkOTg2MGU0ZTJkNGJkM2U3ZDgyNDYyNGMyNmRjZTQ5ZDRjYWZlMiByZWxlYXNlMjEtbWFpbnQKKzIwNDcyIDIyOGY0YjhkMThmMDFhOTkwODczOWI0MWI3MmZiNjU3NTA4MzMzNWMgbGVnYWN5LXRydW5rCisyMDQ3MyA0NTI2NjZjYjI4M2RmOGI5MjQ1YjMzOTA1ZmE4ZDk5MTdmMDMwZDQ2IGxlZ2FjeS10cnVuaworMjA0NzQgYzY1N2EzOTM3OTAyMDc3MjY1ZGUwYWRjNGEwNmViNzFlODU5MDUxZCByZWxlYXNlMjEtbWFpbnQKKzIwNDc1IGMxOTM3ZmFhYmIyMzc0OGE0ZTI4M2U3YzRlOTBjN2QyYWI3N2EwYTIgcmVsZWFzZTIxLW1haW50CisyMDQ3NiAyZmNiM2ZhNjdlM2I2ODc4NjY0YzUyYTM0NzljY2MxYmIzMmE3MGRkIHJlbGVhc2UyMS1tYWludAorMjA0NzcgMGQ3MGRhZWI4OTZlMWVmMzliOTA0MDMyMTlmZjI0YzllNGVmZDAyZiByZWxlYXNlMjEtbWFpbnQKKzIwNDc4IGY5OWRmMmEwZTJjZjljNjIzMTE4YWM2ZTk5MDAxOGYzYmZiMGQyYzggbGVnYWN5LXRydW5rCisyMDQ3OSBkMTZkYzI2ZWM0MjdhYjAwYjk1NDBlOGM4MGMxNjBlMTc4MjVjMmUzIGxlZ2FjeS10cnVuaworMjA0ODAgYzVmNzE5MWNlNjdlOTM0YmQxZjEyYmM1ZGQxN2NlM2E1ODYxYmU4ZCBsZWdhY3ktdHJ1bmsKKzIwNDgxIDdlYjg3Y2YxNmE1MzYwYzE0NGJjNTI5ZjI5ZjAwMzNhYmNjNDYzYWEgcmVsZWFzZTIxLW1haW50CisyMDQ4MiA1YTU4MDVhNDVkYmY0OTQxMTFlMGFhZjhmNDIxZWY2MzFmNzE4NTZkIGxlZ2FjeS10cnVuaworMjA0ODMgOTZmOWI4NmI3YjNkZGQ2NzYwZDBlYTNmNzk2MTFmYzU4MDRkMTgyMSBsZWdhY3ktdHJ1bmsKKzIwNDg0IDFlMzA0MmE0ZTYwZTJlM2NmMTI0N2Y3MDljY2ZiOWFhOWExODA0NzggcmVsZWFzZTIxLW1haW50CisyMDQ4NSA0NGEzYWM1OWMyNjhkZDhlYTUyMGY4ZmFkYjgwODJlODg1ZGViM2I5IGxlZ2FjeS10cnVuaworMjA0ODYgMWYzYTE5NGUyMWYzMWY0NTdmYmRkNDNiN2U2Y2M5MjI5NDNjMmE5YSBsZWdhY3ktdHJ1bmsKKzIwNDg3IDAwYTZiMDYwNTExMzUzNWUzZjMxODgzOGU0ODU3MTY1ODlmNmI2YmIgbGVnYWN5LXRydW5rCisyMDQ4OCA1NmYxYjhiYTVjYTE3ZDFiZDI5NTFhZmM1ODU1ZjQxODQ5NWQxNWUxIGl0ZXItYnJhbmNoCisyMDQ4OSBiZjk0YWYzOTZiMWUxMDdhZDNjZDhmMTE2NzE2YjI3NmVhODEyZGI4IGxlZ2FjeS10cnVuaworMjA0OTAgMWQ3MjZmNWNkNTdhMGZkZmJhNjIyZmFhYTM1ZmVjMmQ2NzZjOWUyYiBsZWdhY3ktdHJ1bmsKKzIwNDkxIDFiNDliMTc3YTEwNWUxM2NjYTFmMWM0ZTdiNDFmZWViYzQ2NWRiMjYgbGVnYWN5LXRydW5rCisyMDQ5MiAzMmU3ZDA4OThlYWI4NWRlODEzNGY5MzI2ODBhODVjNmU3YWJjZWMwIGxlZ2FjeS10cnVuaworMjA0OTMgYzNiYjBmZjM5NmRjYzYzM2NiNjcxOTZhNDM3NzYxMzNmNzAyM2ZmOSBsZWdhY3ktdHJ1bmsKKzIwNDk0IGUxNWFiNGU2NTJhZGNiN2ZhNTU2YTE4MTU0Y2MxMTZkNDljN2I1NjIgbGVnYWN5LXRydW5rCisyMDQ5NSAxZmU4ZTUwZTZlMWI5ODJkN2I3ZGQxZjY4ZTZhOTRkNDA2YTM1YjM1IGxlZ2FjeS10cnVuaworMjA0OTYgYjZkYmZjNDVhYzliZjE5MDM4ZTFjZDMyNThkOWI5YWMyMDg0MmYzOSBsZWdhY3ktdHJ1bmsKKzIwNDk3IGY2M2Y3NDkzNjRlZmZkZDM2ZTBmN2M4NDk5MThkOWI2NzkzMjk1NTQgbGVnYWN5LXRydW5rCisyMDQ5OCBkNjM4ZTQxOWMzMDQ1MmQ5ZDFkN2ZlOWE5ODYxZmQwYjlkNDVlZjNkIGxlZ2FjeS10cnVuaworMjA0OTkgZDMyNGFlMjg5MmZmYTRhYmZiMjE3ZjVhNTk4OWE3ZDJkMDlhOTBlOSByZWxlYXNlMjEtbWFpbnQKKzIwNTAwIDRkN2ZiMjRmZTc5NTNmOTBmODM2NGIyYTFmYWQ5MjZiMmU2YmJhNjUgcmVsZWFzZTIxLW1haW50CisyMDUwMSA0YWJkMDcyYWIzZDViNWJkYTFjZDZhY2JkMGFmNzEyOTIyMTNhZDVhIGxlZ2FjeS10cnVuaworMjA1MDIgMzg3ZTgwZTExYTc5NWZjZTU2NzY3Y2Y0OWZhYzMyMWEzZTdjZGYxZSBsZWdhY3ktdHJ1bmsKKzIwNTAzIDIyYWYxNWY4NDEwYThiMjc3MzQzNGQ5YWZjZGFjMjI4YzA0MjE4NDIgbGVnYWN5LXRydW5rCisyMDUwNCA3OWYwY2QzYTcxYTFlOTk2ZWQ4NDNhMjBjNzE3MGNiOGRjYmM5MmNlIGxlZ2FjeS10cnVuaworMjA1MDUgNjI0ZmM5NzEzZDE4YjExMDE1NmRmYjY2OTJkNmE1ZjI2MWYwYWY4NCBsZWdhY3ktdHJ1bmsKKzIwNTA2IDFlYjAwYTEyM2EwZWNkN2Q2ODE0NjIwOTA0MDM1YjBiYzU5NTFiZDYgbGVnYWN5LXRydW5rCisyMDUwNyBjMTlkNmRiNmU5OWI3YWFjN2NmN2M4ZWM5YTIwZmFjNTU4MDY4MjY0IGxlZ2FjeS10cnVuaworMjA1MDggN2RjZGIxNmJkMDY4Y2NhZWM1OTE3NDc1NmQ3OTljM2I0Mjk3NzQ0MCByZWxlYXNlMjEtbWFpbnQKKzIwNTA5IDE4ODU0MTdmNDVkYTM5ODU1YjhjNDIwMjgzNmEyZjQzYjAwNjdlMGEgcmVsZWFzZTIxLW1haW50CisyMDUxMCBiODMwZGYwODNhOWFkZDA3MDliNjhkMGI1MTkyMzE2YTAxMTE4NTg2IGxlZ2FjeS10cnVuaworMjA1MTEgN2FjYmE3OGUxZTA5MWRiYjdlZWMyOTA4MzAxNmY1YmI5MWMxNzhlNiBsZWdhY3ktdHJ1bmsKKzIwNTEyIGFhYzY1ZjUwZGY2ZmYxNDRiNjcwMWZlNTFhMTYzYjMwYTZiY2QwMmMgbGVnYWN5LXRydW5rCisyMDUxMyBiNDRiYTdjMDEyMTc3NWQ2NDQxMGNmMWM5M2QwMjc1YjVjODJhNGI0IGxlZ2FjeS10cnVuaworMjA1MTQgMWI3MzBiZjNmOGQyYWMxZDE1MjM3ZWM5ZWVlNGQ1MmQyNjdkZmM2ZCBsZWdhY3ktdHJ1bmsKKzIwNTE1IGVmYjVjODE0ZmZiNmFiNDg1NmNlODIyYmYzY2VhNzMxNjMzYmM2ZDEgbGVnYWN5LXRydW5rCisyMDUxNyA5OWU5NDZhODI2OTkyMTcwNjBiOTVkYTQ2MmFiN2Y3YWZiMDA2YjJhIGRlc2NyLWJyYW5jaAorMjA1MTggZTJhZjkwYjYxYjJiZDI2NzliNGVhY2NlM2Y4NGQzNWRjNjY0ZGMxNiBkZXNjci1icmFuY2gKKzIwNTE5IGI3YTcxMzViY2NjOGIzZTFhZDE0ODVlN2Y3NzBlZTZkNDExZGU4YTIgZGVzY3ItYnJhbmNoCisyMDUyMCAwYjVkM2UwMzEyMDE4YWRjY2QwOTAwNzZlYmUxMWYwYThkY2JmYjA3IGRlc2NyLWJyYW5jaAorMjA1MjEgYzk3YjM3MTM2ZDgzZTM1MzAwNTA5YmVhNTJhNDViMTFhZTFlYWJhMyBkZXNjci1icmFuY2gKKzIwNTIyIDY4MTkzMTBkZTgyODQ0N2NkZGZmZjBkNjAxNjUwNjkxYWZkNTU5YmEgZGVzY3ItYnJhbmNoCisyMDUyMyBhMWYwN2ZjYzNkNDEzZjc1MjdmNGZkOTUyMjIwZTNjOWM3MDNlYzEzIGxlZ2FjeS10cnVuaworMjA1MjQgNDRhMGE5YTI3N2VmNjkxYTNjYjNkYjY4NWFmMTA1N2I5Mzg2MDg0NSBsZWdhY3ktdHJ1bmsKKzIwNTI1IDE2ODYwODBhN2M2YzM3NmQzN2IwNWVlMjUyMjk3ZmI5MDQ3OGQ0OTEgbGVnYWN5LXRydW5rCisyMDUyNiBkOTFmYzAyMjY4ZDhkMDEwYjcyNWIxMGYwMGI1NzRjOWUxM2U3Y2FmIGxlZ2FjeS10cnVuaworMjA1MjcgOWMxMTMyZjMwOTVhMDYzYWU0YmU2YzM4N2E2MDcyMmUxNDU0NjgzNiByZWxlYXNlMjAtbWFpbnQKKzIwNTI4IDk1MGYxYzNhOGU2YWExNWYxZDQzN2EyODIyMTkwMzE2ZGIyYTAzNjUgcmVsZWFzZTIxLW1haW50CisyMDUyOSA3ZThlZDZlMzllYmQwZDc1NTkzZjAxYWQzMTM4NzdlOTFkZWJiMDdlIGxlZ2FjeS10cnVuaworMjA1MzAgOTFjYmQwMWI4NWNiZGY5MWFjMzUxZjdkN2QxMGQ2M2M3MTk5MTZmOSBsZWdhY3ktdHJ1bmsKKzIwNTMxIGE5NDg1ZDQwNGYwNWQyNDEwNjM3MTE0NTBhMTk3NzZjYjg4NTQ1OGYgbGVnYWN5LXRydW5rCisyMDUzMiBkYTQ4MDk5NDdhMzIxMDViOGY0ZDJiNzUyNjFjY2YxZTU1NmUyNDAxIGxlZ2FjeS10cnVuaworMjA1MzMgMjQ5MTIzYzFmNGRjMTEzNDBhNGI0MGM3ZGY0NWQyZmMzM2U0NDY3YSBsZWdhY3ktdHJ1bmsKKzIwNTM0IGZjZGRlNjgwMzMxZTVhZWNjNDg0MmIyM2YxMDAzOWQwMTY1ODJmMmYgbGVnYWN5LXRydW5rCisyMDUzNSA3ZjVlM2U2YjJhMzkyMDc1MDBjMjBlMDljN2RiMWZhNWRhNTU0Y2U1IGxlZ2FjeS10cnVuaworMjA1MzYgMGJjMzM3N2QwZDcyMDhiYzIyMzliYWM0MDQ3OGM2MGZlNjYwMzY4OCBsZWdhY3ktdHJ1bmsKKzIwNTM3IGI3ZGY4OGE3OGFkYmFiODFkOWY4N2I2ODA1OTk5NjlmNWFmMGQ2ZDggbGVnYWN5LXRydW5rCisyMDUzOSA5OTIxYTlkMjdmNzI4YzYxOTA1NjEzZWY2MmVhYjAzZjE5Y2UyM2M1IGxlZ2FjeS10cnVuaworMjA1NDAgOGZmNzZjZjMwYThjYzM3Y2Y2ZWVhMzZjZjYwNGI0YmViNzk5Yjg0OCBsZWdhY3ktdHJ1bmsKKzIwNTQxIDdkNjc2YjQyMzdhOTkzMmY5MTNmYjI4MTMxN2RjMmM5MTkxMDEwMzggZGVzY3ItYnJhbmNoCisyMDU0MiAzMmU3MzViZWYwYmMyOWIwNTY5MzY2NDc0ZDExM2NjYjNlYTg4NWI3IGxlZ2FjeS10cnVuaworMjA1NDMgYmQ2NWY4ODkzYmUzYWVmNDA1MDE0YzVhMzI3OWNjYWEzMzNkMTE5YyBkZXNjci1icmFuY2gKKzIwNTQ0IGIxMjU0MTYzOTRmYWNhMzA2NGZmZDdmMjEyODIwZGI0ZWJmNjczNjkgbGVnYWN5LXRydW5rCisyMDU0NSBhMTllNjhlMzY1Yzc1NzFkOTc4NDk0NjEzMWIzODg1N2RjMjFmZmMzIGRlc2NyLWJyYW5jaAorMjA1NDYgOTkzNDIyNWZlMjk3ODI3NDBiZjBiZmVmMDhlMmE2MDBmYjY4NGRjMCBsZWdhY3ktdHJ1bmsKKzIwNTQ3IDliZTc3NThhOGM5NGM4ODk2OTc0MzE5YTYzMzBkZTI0ZGQzMTA4ZTYgbGVnYWN5LXRydW5rCisyMDU0OCBiMjgyMzYzNDlkZTUxNDczNzExMWQzYzVlNjZjNGYxMTEyMmFiMzc4IGRlc2NyLWJyYW5jaAorMjA1NDkgOWU4MWQzOTFiNzY1ODlkODZmYWNjNDVkYWMyYWQzNTVjMzcwMDU2NyBkZXNjci1icmFuY2gKKzIwNTUwIDk4N2NlYjllYzAyMzMzZGMwYjFkMDM1MzY1NGRiN2Q3ODVkMjhjOTggZGVzY3ItYnJhbmNoCisyMDU1MSA4ODdiNTI5NzY1MmEzYzZmYWZhZjBkMmVlNGFiYjYyYjA3Y2ExNGMzIGRlc2NyLWJyYW5jaAorMjA1NTIgZTA2YzM2YzEzZjEyODYyNDNlZDA4NWRmMDUwNTU0MzU3ODFlNDkxNCBsZWdhY3ktdHJ1bmsKKzIwNTUzIDUzZWUwZmE2NzY2MTdhOTE3YzlhODJhOWU3MTFkYzI2ZTRhZjAwZjAgZGVzY3ItYnJhbmNoCisyMDU1NCAwMTNkZWI1ZTE3MmJmNWM5NGExMzZlMTE3ZmEwNTE1ZTc3ZDBiN2M1IGRlc2NyLWJyYW5jaAorMjA1NTUgNzAzN2QxZjZlNzlhZWI0Njk0MDAxZjdmOTYxMDg0NjZmNTJjZjUyNCBkZXNjci1icmFuY2gKKzIwNTU2IDU4N2RhMjlkNjlkNWQwY2U5NzE0MzU0MTQxNDc5NmQ2YmU3OTNjMTAgZGVzY3ItYnJhbmNoCisyMDU1NyAxNzIxMjYyYWJhYTgyYTMzN2RiYWViNDU3M2YyMWY5ODE3NzRmZTljIGRlc2NyLWJyYW5jaAorMjA1NTggNGI4MTFhNzFiZTVjMmZhZDk3YWU1YzlmYTIyMGFiMjljZjFjNzBiYSBkZXNjci1icmFuY2gKKzIwNTU5IGFlMDc1OTlhZGYzM2Y3YTg2ZGJkNzVlNWNmYjdlZjY3MjgxMWY3NzUgZGVzY3ItYnJhbmNoCisyMDU2MCBlMmRhZWYwNjg0OTZiYzEzNmI2MTMxNzRjNzQ1MDA4MzdiYTRlMWQ2IGRlc2NyLWJyYW5jaAorMjA1NjEgNTZjNTQ0NWVjODM1ODZlNWY3NzdhYWZjYTVkMDZhNjMzZjM2ZTU4ZiBsZWdhY3ktdHJ1bmsKKzIwNTYyIGFhNzA4N2FjNmQ5NTU5YmM5OTFmOGRkMDlmNGRlY2Q0Yjc0NjcwMDUgZGVzY3ItYnJhbmNoCisyMDU2MyBiZDMxM2E1ZTIwZDc4OGZmOTBkMTEwNTA1N2YzNmY5ZjQxZGY2NDBmIGRlc2NyLWJyYW5jaAorMjA1NjQgNWRiZmU4MzE2MjM2Mzg5Y2U3YTNkOWU2MGJkODgzMzk4YzRhMWY3NSBsZWdhY3ktdHJ1bmsKKzIwNTY1IGI1ZjU4M2VlY2IyMDNjNGMyODRiMjBjYzM0M2IwNGM3NTIwMDExNzAgbGVnYWN5LXRydW5rCisyMDU2NiBkMWVjNjc5YmFhM2RiODJhYjg1YWRjODA3YzJhZDE5ZDBlMTUwYzQzIGxlZ2FjeS10cnVuaworMjA1NjcgNTU3YWFkM2U3NGJhNjM0YjAyZmViODA3NmQxM2I3NWIyYTI5NDNmMCBsZWdhY3ktdHJ1bmsKKzIwNTY4IDZjODIyNzdlNzdmMzU3ZDc0YTM1NzE4MDQ3NmQ0YzQwNTgwYmUwNmUgbGVnYWN5LXRydW5rCisyMDU2OSBkZDI0YWJjYjIzMzFjNzhjZDY4ZDVlYTRkNzI5MjkxNWU4Y2M5NDE3IGxlZ2FjeS10cnVuaworMjA1NzAgMTExODFjZDM4OTdkYzFiODAxY2MxZDE5NzY0YmMzMWE3MDVjZjVhOSBkZXNjci1icmFuY2gKKzIwNTcxIDdhMzY3YWQ0M2YzNTIzOGQ0NjY0Y2NmYjk4YWY0ZTAxOTRhYzczNzkgbGVnYWN5LXRydW5rCisyMDU3MiBmYTgzMjZjYzc2MWNiM2FmZmQ2ODAyZWUwM2UxM2IzNWE1ZjA0YTc0IGxlZ2FjeS10cnVuaworMjA1NzMgZWJjMjRhMTA0MTMyOWM1ZWVmMmU1MGFlOWM5ZjZhNjQ4NjI4OGVkNyBsZWdhY3ktdHJ1bmsKKzIwNTc0IGE4NDg3NDY4N2NiMWNkZTM4NzE3ODA5ODY1YzU1Nzg4YTA3N2I1MTEgbGVnYWN5LXRydW5rCisyMDU3NSBhOTdlMThlNDk5YTljZjdiMWJiNGMwYTlhMjNkNGM5MTU2ZjA1ODQ1IGxlZ2FjeS10cnVuaworMjA1NzYgMDQ3MGJhYmRhZTQ5ZmVlODMzNjQ4NGU0ZDEyMzk3ODdkY2VlOGVkOCBsZWdhY3ktdHJ1bmsKKzIwNTc3IGE2Njk4YTAxNmFmZTIwNjFmNzc3NDViMTcyYjhlMDI2MjQxNGY3MDAgbGVnYWN5LXRydW5rCisyMDU3OCAwODVmNDYwYjBlM2I1OTk0YTI0YmQ4NDBiMDIyOWFlYWY2MGRiY2I3IGxlZ2FjeS10cnVuaworMjA1NzkgZDY0OThiMWVmNTBkMWNkOTNmMGQ3MjY0MjkzYjhlZjUzMDFmYTNjMiBsZWdhY3ktdHJ1bmsKKzIwNTgwIGRlYjhhNWUxNTFhMzQ2Y2Q1NGE2NGIwNDY3Y2RmZjBhMWRlMjg2YjkgbGVnYWN5LXRydW5rCisyMDU4MSAzMGQ3NTE4ZTE3ZTViZmE5MzUyZDI1Njk4NWFjNjRjNzA2MGU0NWZkIGxlZ2FjeS10cnVuaworMjA1ODIgMGZmNGNkZjM0ZmMxYTUwZjNlMGI2ZjQ1YTdkNzRhZGVmMWQwNmE1ZiBsZWdhY3ktdHJ1bmsKKzIwNTgzIDY0NTIzMzA3Nzk0ZTkzNTQ3YzU4NTYyNWEwNmI0YjcxZjNmYmZjMzcgZGVzY3ItYnJhbmNoCisyMDU4NCA1YjZkNTk2MWM5ZTM4ZTBmNjJmMTk0OGRiYjM2MzMzYzYwZjZiZTc0IGxlZ2FjeS10cnVuaworMjA1ODUgZDc2NjQ5YmQzOGQwMWM5NmU1ZGUyNmMxY2RmNmIwMGJjM2MxOTE0ZiBsZWdhY3ktdHJ1bmsKKzIwNTg2IGI5MDc2ZDg3MThhYjFkMmRiYWQwYTBjNDRkYWEwOGZkOTdmMDE3ZTIgbGVnYWN5LXRydW5rCisyMDU4NyA0YzI5YjA0ZTRkNmZjMTg2YzUxZmRmMTQyMmU4YTEyNjliNzUxNzQ1IGxlZ2FjeS10cnVuaworMjA1ODggMTJjODBiNTcwZDAwYTBlY2I5MjliOGNiZTY3YWZiZDQ1Y2MxMTI0NiBsZWdhY3ktdHJ1bmsKKzIwNTg5IDc2ZWU4YjYyZWUyYTgyZDYyM2M2YzRlMDkxYTRjOGNmZjEwZWRjNjYgbGVnYWN5LXRydW5rCisyMDU5MCAxNWNjZTNkODBkMGZkOGQzYmIxYTc2ZDMwNDA3YWE5NjI0OGI1MmE1IGxlZ2FjeS10cnVuaworMjA1OTEgZDdkMDUxMDNjMDIzZmM2NDU5OWNjYWUzNGYxZmQxMjQzN2IxMDJlNiBsZWdhY3ktdHJ1bmsKKzIwNTkyIDhkOWViNWE0ZWJjZDk4ZGRiNTg0ZTk0ODcwYWQyYWNhYjRlZTc1ODIgbGVnYWN5LXRydW5rCisyMDU5MyA5OWIwNmE2NDliMTQ3Yjc1MGM3ZDhhZGY1ZTYxMzZiODkyOTkyYzA2IGxlZ2FjeS10cnVuaworMjA1OTQgNzk0OGNkNGY3NjYzNzQyNDNmY2ExNDg3Y2I2ZTRhYWU3ZTQ3ZmNiMSByZWxlYXNlMjEtbWFpbnQKKzIwNTk1IDg2NDNlNmRlMTNkZmE3MDM1YTRlOGRlNDNiMjNiN2RhMzg0ZWIwYjcgZGVzY3ItYnJhbmNoCisyMDU5NiBlNmU4MWRjZWJmZGU1ZDllNGMyNTYzYTgxMGMwMmY5ZTBlNGNmNTRjIGxlZ2FjeS10cnVuaworMjA1OTcgOThmMzRjNDY0M2U5ODAwMTI0Y2JlNGRkZjBmNjRmODdjNDFmZjJhOCByZWxlYXNlMjEtbWFpbnQKKzIwNTk4IDBiZTI3NzAzOWQ5M2I0MmYzNmRhN2NmOTM1MWZlMzJjOGU3M2JlYzUgbGVnYWN5LXRydW5rCisyMDU5OSBkODA1MDAwNzZlOWZiOTVjZmY4MmI4MGUyNDI5ZDhmYjU1NzE2NDhiIGxlZ2FjeS10cnVuaworMjA2MDAgYmY3ZjE2NmQzYzk3NDYwZGIwZTg5MjJlMGE1NzkxN2VhNDQ2NGJkMCBsZWdhY3ktdHJ1bmsKKzIwNjAxIDU1ZTMyMDE4OTUwODdiM2VkMTE1MTUzMmY5NTg2MGI1ZjI5NmI1YzUgbGVnYWN5LXRydW5rCisyMDYwMiAxYzJkMjZlZWY3ZWQxYjU5Yzk4MmQ3NTVhMTRkODRlNDYzOTgwMzhiIGxlZ2FjeS10cnVuaworMjA2MDMgYmI2YzU5YTg1Y2ExNDdkZDE0ZDc3YzdjOWViZWQzN2JlYTBiMDdhYSBkZXNjci1icmFuY2gKKzIwNjA0IDhiMGMwYzQ4MmE1NWZkMDZkOWVjZTlkMzdkN2MwZjY2N2Y0ODFkMGYgZGVzY3ItYnJhbmNoCisyMDYwNSA4MzlmNmYyY2Q2NmYzY2ZkYTI2MTk5NjgxNWFlMGViOWY4ZWFjYWZlIGRlc2NyLWJyYW5jaAorMjA2MDYgMzA5MWZiODNkNTI3MWNjZDM5MTI3N2FiNTNhNzgwZjY2ZDM2NWU2NiBkZXNjci1icmFuY2gKKzIwNjA3IDhmYzdiZWNmNzgzOTQ3MjkyN2ZmNjQ4Y2RmNmY5YmQ5ODJlZTE4ZmUgZGVzY3ItYnJhbmNoCisyMDYwOCAwYTllM2FhNzFkYjlmMjMwYjg1N2U4OWQ4Mzg0M2VkNWE5OGMzOGJkIGRlc2NyLWJyYW5jaAorMjA2MDkgODJmOGEyYjFiNzljYzMyZGIxNmE3Njk4ZjJjNmFmYmEyMGMyZTNhMSBkZXNjci1icmFuY2gKKzIwNjEwIGZjNjU4YWRjZWRjOGU5YjRiYzI4NmU5NWZlNWJmMmM5NTU2MzJiNWEgZGVzY3ItYnJhbmNoCisyMDYxMSBmODllODUxNTNkMDQ3NTM5YzRmNDc0MzQ0YTBjOTY4MDJiNWZjMGY1IGRlc2NyLWJyYW5jaAorMjA2MTIgMzljYWJkMGFhZTFlYmQyODUzZTVjYzU4Y2YzNjZjN2IxZDM0ZGIzYiBsZWdhY3ktdHJ1bmsKKzIwNjEzIDlkMWUzMDRlY2IxOGE1OGRiNGZkYWNjMzA4MWFkMmE3NTU4NGQ1MjkgcmVsZWFzZTIwLW1haW50CisyMDYxNCA1NTI3ZDYyZmFmZTA1ZTZiNjZhNWU4MGE5ZjZlMGZiMWFmZGRjNTk0IHJlbGVhc2UyMS1tYWludAorMjA2MTUgNmY4ZWZkYmRmZjQ4MjNiY2FmZWRlMjFjMzhhNmVhOGExYzFiNTZlMCBkZXNjci1icmFuY2gKKzIwNjE2IDE2MmI5NGM4ZDJkMWE5NGFlNmI4YzQ1Zjc1MTA4ZWFjYWU3NjI5YTkgZGVzY3ItYnJhbmNoCisyMDYxOCBlOWE0ZTI3ZThkNGUxNmUxNGIzMmFiMjY2OTUzMDM3ZWEyNDY4MTE1IGxlZ2FjeS10cnVuaworMjA2MTkgMzk5ZDk5NjAxYjJkYzBkMmU3YmI0YjU1MGQ4NDIxOGMzNzczZDE5NSBsZWdhY3ktdHJ1bmsKKzIwNjIwIDBjOTg3NzEyMGYzODE3ODNmNzUwM2JkY2FiNGQ1NjAwNTA2OTNmNmIgbGVnYWN5LXRydW5rCisyMDYyMSAzY2Q0YWY2NjZkZTZiM2U2ZjAwYzgxMjIyMjBiMWFkOWY5NzU3YzM5IGxlZ2FjeS10cnVuaworMjA2MjIgOWUwOTNiZjhmNmE5M2YyYzMzZDdjZmFiMDkxNjZiZTZkMTk2OGU1OSBsZWdhY3ktdHJ1bmsKKzIwNjIzIDFlYmI0ZTU2NjI1N2FhODlkZWQwZjNkNmYwMTA4MzRmNWFhMDE0YWYgbGVnYWN5LXRydW5rCisyMDYyNCA0OWQ5YmE1NTU4OGI2N2I2Y2M2MTFiYzMxNGZiOWFhYTYzOWI0ODExIGxlZ2FjeS10cnVuaworMjA2MjUgZWU0ZDE3ODYyYjYxODBiMTQwNzU4MGZmNTc2OTM3NzQ2NTQ4M2QzMiBsZWdhY3ktdHJ1bmsKKzIwNjI2IDAwMmVjNzMzYjVkYzViNjM4ZDVjZGQ1MDA0N2FhODQwNDc0ZWU0MjkgZGVzY3ItYnJhbmNoCisyMDYyOCBkNGQwNjUyOWMyMTgxMWQzMGVjYjcyYWUyYzIxMTIyNDdlZjgyMTA0IGRlc2NyLWJyYW5jaAorMjA2MjkgOWU1M2E1ZDcxZjFkYTFlZjMxMDQ1ZjVmMzNhMzY5NjYzZWRkMWQ5MCBsZWdhY3ktdHJ1bmsKKzIwNjMwIDE4MTI0NzZiN2ZlNDU3MDIxOGUzZDZjNTNhZmU5NWRkOGZhNjg0NjggbGVnYWN5LXRydW5rCisyMDYzMSA2OGU3MWU5YmMyMDQ1NDJhOWEyY2RkYWQxNWIyODUwMGIxN2I3NTBmIGxlZ2FjeS10cnVuaworMjA2MzIgYWFiNmMxZjE5Mjg5ZGNmZGJkYmEyYzE5ODY2MWNlOTcxMThjNzAzMCBsZWdhY3ktdHJ1bmsKKzIwNjMzIDMwNjRiNzNhZGMxYWQ3NzA0YTE5ZWU3YzIxNDY2ZDM1MjViZmNhYjkgZGVzY3ItYnJhbmNoCisyMDYzNCA0NDI0ZTA2ZDQxNTk1NGZhMTIyNzdiM2I2YjI3MWZjZjQzMzUzNzQzIGRlc2NyLWJyYW5jaAorMjA2MzUgMWU5MDJmYzczNjQ1MTg1NDczZDc0NTQxMDI4YzhiNDZkMjIxZDcxNCBsZWdhY3ktdHJ1bmsKKzIwNjM2IGZmYzI5MjNiYWQxYTk2NDU4YmM2YTg5OGIyYTJkODAxMGRiNzYyOGQgbGVnYWN5LXRydW5rCisyMDYzNyBmOTcwMTk1MTk2YzRmYmU3NjMxMmNkZmY1ODRmOThjMTlkODZiZWNjIGxlZ2FjeS10cnVuaworMjA2MzggYWFkMGFkZjgwNmFkYzgyZGIyNmFmMTQ3MmExMjk4ZjgwZTlkNDUyMSBsZWdhY3ktdHJ1bmsKKzIwNjM5IDM3OWZlODg3NjQ0ZmI4MGM2M2Q3OTI3MjkxYzE3MGZjMzdmYjJiYTEgZGVzY3ItYnJhbmNoCisyMDY0MCA1NDYyMzYyNmRhNGUzYTFmZTkxOGJlYjFlZTM3MGYwZTQ4NGU0M2NhIGxlZ2FjeS10cnVuaworMjA2NDEgNDMzMDEzYWY0NTk4NzhhOGIwYzQ0NWIzYjVmZjAzOGUyZjQxZjg5ZiBsZWdhY3ktdHJ1bmsKKzIwNjQyIGRlZDQxYmU4NGRhNGZhY2MxNWQ5ZmMwNzJkODM3YmY0OGZhNWEzNjggbGVnYWN5LXRydW5rCisyMDY0MyBlM2YwZmQzOGMyNGI3MGIwOWI1OTE2ZDM2OWE4MWE1ZDdmZjRlZTE4IGxlZ2FjeS10cnVuaworMjA2NDQgZjNiODc4NWJkMDIyMmE2MWZlMmJiYTM4MDMyNGRjN2I4YWMzOThkMyBsZWdhY3ktdHJ1bmsKKzIwNjQ1IGI0MWY2ZWY2ZWE4Zjc4ZjE2YWNhYmM4MDgwYmE2OGE3ZDUzN2JlODggbGVnYWN5LXRydW5rCisyMDY0NiAyZjE2MDYyYTFiN2M3NWNmYmU2NjBhOWY4ZWE3N2VlZWFjZjg5MzY5IGxlZ2FjeS10cnVuaworMjA2NDcgYWQyNWJmY2M0Mzc3MTVmNzBjZmQzNzdkOWVmYWE5OGJlYTI5YTMxZiBsZWdhY3ktdHJ1bmsKKzIwNjQ4IGZlNGMxMDM0YjQ4MDEzYjRmMjJkYzc3MThkMzE1YzFlZjlkMWFlMWQgbGVnYWN5LXRydW5rCisyMDY0OSBiYThmOGU0ZDQyYjA0NzkyNWY4MTYxNjA5ZjEwYjY4NzRhNGVhNjU5IGxlZ2FjeS10cnVuaworMjA2NTAgMWM4NmM4ZDFjOWM3NjJhNzIyYTY2ZWE2YzRhYjdhY2I3MDU3MjZhZiByZWxlYXNlMjAtbWFpbnQKKzIwNjUxIDYxOTllNWJkMzcwYjU2MGM0NTMzODg1MmMxYzE3ZjJjMzZjOGI4MDQgbGVnYWN5LXRydW5rCisyMDY1MiAzNTBiZTE5Y2E2YTVmODlkZGNhNmI2MjhhNWJiYzA2YmZlMWE1NzRkIGxlZ2FjeS10cnVuaworMjA2NTMgMmE3Y2ZjMTcyYTY4NGEwYTJkNzQyMDE2OWI4NWM2OWM0NDZjNzJhZCBsZWdhY3ktdHJ1bmsKKzIwNjU0IDVlM2JhYjhhZWY3YjBmYWEyN2MxZGFlZDU4MGNkNjhjYmFjNmEyY2QgbGVnYWN5LXRydW5rCisyMDY1NSA2NDkzZDVlOTQxYzJhODBmZmVhNTgyZmMyNzQxYWI0YTg4YzY5Mjg2IGxlZ2FjeS10cnVuaworMjA2NTYgZmY4MTBmYjU5NTEzMjE5YWNkMmNlZDY5MjRjZDkzMGIzMTc5N2JmNiByZWxlYXNlMjEtbWFpbnQKKzIwNjU3IDc1ZTc4MTQwNDFkYWNiOGViZDNmOTQzMmU3NzMzOTdjY2VlOWVlYzUgbGVnYWN5LXRydW5rCisyMDY1OCBhNmEzOTlhY2Y2MjA2NGY5YWMyZmE0MTJjNjUzMDQ0NzVmZTJhMGM5IHJlbGVhc2UyMS1tYWludAorMjA2NTkgOTk0OWM4NzBlMTQ0MjBhMjY4MjY3YjRhOGQ2MDYwOGY5MTY1NmJmNSBsZWdhY3ktdHJ1bmsKKzIwNjYwIGJiMDk1MzQwYWM5ODc1OTNlYzE5NGUyNGE4ZmMwMGVmZjY2ZmUyNzggcmVsZWFzZTIxLW1haW50CisyMDY2MSBlZGUyOWFkNjQ0MGFjMDI4YjgzNzA4YjQwZjU1ZjU4NWQ3ODZlODYwIGxlZ2FjeS10cnVuaworMjA2NjIgMWRlYTQzMWZiMGEwNDExMjMxNzg3MjRhMzBmMThiYWUwMjM2OTczNCBsZWdhY3ktdHJ1bmsKKzIwNjYzIGNkOTJjMGQ3ZWFjNDdmOWQ0NzU2NjdiMTE2YjEyZTcxMzEwYjdiYzMgbGVnYWN5LXRydW5rCisyMDY2NCA5ZjZjZmRmNzFkNTA2OWFhNDMzMjRjNTk5NjcwNDI3OTk3NzI5NTg1IGxlZ2FjeS10cnVuaworMjA2NjUgNmRjMzYwNzhmNTNlMWU4Njg3ZWEzYjEwZDE3YjNlMjIwN2ZhNWRiZiBsZWdhY3ktdHJ1bmsKKzIwNjY2IDFiMWYwY2IyODVjMjU4MzZhNjIyZjE3OGMyYjY0NDJiY2NkM2MwZTEgbGVnYWN5LXRydW5rCisyMDY2NyBiZGVkNmQzMTg2YzBkMjk4YWQ2N2U5MGJjZjg3OWVkYTQ5Zjk5ZDFmIHJlbGVhc2UyMS1tYWludAorMjA2NjggNDg5NjYzMDU5MzQxMzIyZDI3M2QwOWM0YjA5MGFmYTUyMzRhNDQxMSByZWxlYXNlMjEtbWFpbnQKKzIwNjY5IGE2MjZmYTBlM2Q3NTA0ZDZjZTcwOWM1YjE0MDk5MDQwOWQwM2QzMDggbGVnYWN5LXRydW5rCisyMDY3MCAwY2ZhZGQ3NjA3ZDUxZTI1NGQyMjU5YmM5N2FlYWUyMGRlNTI1MWE2IGxlZ2FjeS10cnVuaworMjA2NzEgMDZkN2RhODE0MDlkZTFjMGZjNGYzMzI5NDNiNjZlMGFiY2RmN2I5YSBsZWdhY3ktdHJ1bmsKKzIwNjcyIGUxM2VlZGQwNGE0YTgxYzc1YzEzNWZiOTBhNjA0NjZlN2YyMTQ2MGYgcmVsZWFzZTIxLW1haW50CisyMDY3MyBlNzg1ZDdiZDc1OThmYTQ5ZjBlZjUwODdjOWVjYjYyMDNhZGNlMjA0IGxlZ2FjeS10cnVuaworMjA2NzQgNjBmOGMxNWMwMjU1ZGI5ODdlM2I3NjYwNzVkOWMyZTA4OGY2NWMwMCByZWxlYXNlMjEtbWFpbnQKKzIwNjc1IDM5YmYxZjZjZjBmOWJkNWY4MjA2ODE1YWY2YWYxZWZmNjFlZjUwYzYgbGVnYWN5LXRydW5rCisyMDY3NiAxNDc2MzJhZDFiY2MzYTNkNzMzMzIzNzNmMjMzZTYxZGE5OThlNTZiIGxlZ2FjeS10cnVuaworMjA2NzcgNDM3NDgyZmU1NWU2NDc3YzU1MjMzODE1ZjIwZGZlYmNhOGRkNzQ0ZSBsZWdhY3ktdHJ1bmsKKzIwNjc4IDBlYmZlOWExZWI0M2U5NWM0NGJjZDBmYTkwNzkwN2RlZmE5YjU0MjEgbGVnYWN5LXRydW5rCisyMDY3OSA4MjBlNWEwYzMxMTJmY2YzZDc5YjdkOWJlYjM2NjQ0MWEzYzFlYTQxIHJlbGVhc2UyMS1tYWludAorMjA2ODAgZjk3MWYyNTJkOWI4N2E2NTYyN2ZiZDY1YzIwMmM4YTI4MDRmOTU0OSBsZWdhY3ktdHJ1bmsKKzIwNjgxIGQwNWRiZjNmMzZmNjcyOTQyOGNiOWVlNjUxMWYyYWRhNjIwNTRkNjUgcmVsZWFzZTIxLW1haW50CisyMDY4MiBlZDc3MWI1ZGI1YWFmM2E3NzY3MDRlMDE2MTNhZWQ5ZjMzMGYxM2UwIGxlZ2FjeS10cnVuaworMjA2ODMgMWEyMWRkMTNlNjBhNmU3NDJlYTFiMGJkNTk4NzZmMDBiYWU3MzJmNSBsZWdhY3ktdHJ1bmsKKzIwNjg0IDNlZTlhM2Y2MGJjNzk2NGExNzIxZDE1YmQ0MDI2ZDRlNzU3YWVjNzkgbGVnYWN5LXRydW5rCisyMDY4NSA1M2JiZWIyNWJkZTcxOWY0NmFiNmI4YzZhOTNmYWRmNDM5MTc2Y2U4IGxlZ2FjeS10cnVuaworMjA2ODYgYjE2ZmM4OWMxOTRmNmEzNTRmMTVjNDE3OGI4ZGM3ZmFiOWZmNTNhZiBsZWdhY3ktdHJ1bmsKKzIwNjg3IGI3NmQxYjVlODg2MDBkNmVlZmUzN2JlMWE4NzEyYWE0YTg5NjQzODIgbGVnYWN5LXRydW5rCisyMDY4OCBjNTdjZTc1ZGNkZTBjODJmMTc2ZDhjMWUyZmY0ZjQ2N2Q1YmE3MzY1IGxlZ2FjeS10cnVuaworMjA2ODkgMjYxMTk2YmQxNmQ3ZWYyMmNmYzk5N2ViYjljZDc4NjE5NjdhNmE0OCBsZWdhY3ktdHJ1bmsKKzIwNjkwIGY0NjVjYWUzMDFlZTYxNWQzMDE4OGRiNDBiMzViODQ0YTA2ZTI1Y2MgbGVnYWN5LXRydW5rCisyMDY5MSBiMzkyNjZmNzQ4NGM0NDgwNTRlMzY5ZmE4YTYxZWQ1ZjhhMmE4NzBmIGxlZ2FjeS10cnVuaworMjA2OTIgYzg4NmNkMWMyMTg0NzNkMmNmZmY3NjM2ZTI0MzA0NjgxNTBmNTgxOCBsZWdhY3ktdHJ1bmsKKzIwNjkzIGY0Mzc0ZDc5MzFiYTlmZmJlYjUzNWE0MTRmOTE2YWNiOWY0NzUxNWEgbGVnYWN5LXRydW5rCisyMDY5NCBjNDdjYzlhOTg2NGM0ZTQyMWEwNGY4N2ZlOTMxYTJhNGY3MjVmMTlhIGxlZ2FjeS10cnVuaworMjA2OTUgZWY2ZjNlMTgxODc4NjYzM2I0YWJhMjVmYmYzYzZhNWI5ODM4MDkwMSBsZWdhY3ktdHJ1bmsKKzIwNjk2IDQ3ZDE4NjAyZDVlYTQ1NTEwNmU0MmVkYTk2YjJkNmMwMzNlODFjZWEgbGVnYWN5LXRydW5rCisyMDY5NyBhMDZhNzA0MjYwZTk2YTFkNWZlNWY0NTQ3YTA3ZDJiYTc5OTQ5Nzk4IGxlZ2FjeS10cnVuaworMjA2OTggYTk4N2NmMTgxNDM0OTBkYThhZGI5NDdjOGFjZjRlMzZlM2Y2MDJlNiBsZWdhY3ktdHJ1bmsKKzIwNjk5IDVlMGVjMzljNGNlY2M0YzQ4NGU2MzRlNjRmMDcyZjFiYzE3MTk5NjkgbGVnYWN5LXRydW5rCisyMDcwMSAwODBhMTI5MWJmNmM5ZjgxZjc2MTJjNDExNjIwYmU2YWZiNzk4M2NlIGxlZ2FjeS10cnVuaworMjA3MDIgMzMyNjk3ZGU4ZGI4ZTJkNTI5NGE3YzNiZGI1ODQxNWY2ZGQzMTczMSBsZWdhY3ktdHJ1bmsKKzIwNzAzIGI1MzRmMTA3Mzk4N2NkMzYwMzA2ODZiNzNjYTY3ZDVlZGQ5OWU1MTkgcmVsZWFzZTIxLW1haW50CisyMDcwNCAwOThkNmY4NjlhOWRlODU1MTc0ZDVmN2YwYWUzMmE0N2VmMDJjZjlkIHJlbGVhc2UyMS1tYWludAorMjA3MDUgNjg2MDU0ZTAzYWM1OWM1YmQyMGM2MDRmMmRkMDFhNDYxYjU1N2FhMiBkZXNjci1icmFuY2gKKzIwNzA2IGVmNjViY2VlNzJjYTIyMzZjYTdiM2NhMGU4MTA0M2U4NjY3OTdjMzggZGVzY3ItYnJhbmNoCisyMDcwNyA2NWUyNjExM2IzZmIyZTExZjliNjExZGFlMzBkOGE0ZDRjMzQ0MTMwIGxlZ2FjeS10cnVuaworMjA3MDggNGVmMWI2YTgzYTQ3OTRlMTQ0YjY4ZTRiZjY1OTc1NWUyYjc4NTNjOSBsZWdhY3ktdHJ1bmsKKzIwNzA5IDJmMGRmOWYwYjA4ODc4MmQ4NjdmZGM4ZTc3NzU4MTNjZTQ3NzZkZWEgbGVnYWN5LXRydW5rCisyMDcxMCA2NThjMDc3ZGQzNTEzMTM1YzQ5ZjIxNDdkNmQ4Zjg1OTg2OWMwZDM1IGxlZ2FjeS10cnVuaworMjA3MTEgNTFhYTQyNTAyOTc1NTBkYjFlYWFiNWUwYjc2ZmE2NTMxNDJlNDI3NyBkZXNjci1icmFuY2gKKzIwNzEyIDQ3ZDQ0ZDg1NDJiN2IyZmI2NTEyMjhiZTA0NTMzN2RiMWFjMTFiZjMgZGVzY3ItYnJhbmNoCisyMDcxMyBkZDZmOGM5Y2FmZjBlYzVlMDQ1ZWQ1NjExNjBmOTk3MmRhYWNhYjM0IGRlc2NyLWJyYW5jaAorMjA3MTQgN2E5ZjZjMDk3OTFhOGVlZDI2NGE0ODQyZGE5NWExODFkZTg2M2MwMCBkZXNjci1icmFuY2gKKzIwNzE1IDQ3ZjRkMDU2OGM3Y2I3MzI3NGRjZThmNDE2MmE0N2Y3YTExMWMwOTcgbGVnYWN5LXRydW5rCisyMDcxNiBjMTg4MGY2YjMxODljZjg0YzM0ZWYyZTAzODA0NDdmZDRkZDY3YWUxIGxlZ2FjeS10cnVuaworMjA3MTcgY2UzNzM0MmY2ZjZlM2YzMGU2MzZhMDdlMWU2YmRhNzYzNDI0ZGJlYSByZWxlYXNlMjEtbWFpbnQKKzIwNzE4IGNjOGQxNDhjMzk2YWU5MDhjOWI0MzM0NmFkODhlZGMxOGY1ZTM0ZTAgbGVnYWN5LXRydW5rCisyMDcxOSBmYjEwM2UzZGEyYWVhZmYzYzlmZTE5YzIyYzk2MDZlMTc0ZDYzOWM2IGxlZ2FjeS10cnVuaworMjA3MjAgMDFiNTA0M2E0NTA5ZjcwNDQ0MzQwODcxYTE0MDhkZWE0NDYxNDUxOSBsZWdhY3ktdHJ1bmsKKzIwNzIxIDY2OTYwNGQ5MzQzZjA1ZDE3Y2E4MzViN2FhNTU5YWZiZDI1N2U1OWEgbGVnYWN5LXRydW5rCisyMDcyMiA0YjJmZGFlYmJmZTVkZTMxYzg3MGIzNGYwNmNkZDRhYTE4ZGI3YmQ2IGxlZ2FjeS10cnVuaworMjA3MjMgMGVhMDkxM2Y4MjRkYWIzZmUxYjViMDEzNzdlOTJiYzMzYzkwOTNhNSBkZXNjci1icmFuY2gKKzIwNzI0IGQ3Y2NiOTMxY2E3OTU1NWVmODY3ODI0NjE3NTViMTJjYWVlMTdmMGQgZGVzY3ItYnJhbmNoCisyMDcyNSA3YTJhMTIyYzk5N2MyMDYzNzViZDEzMDE0NDdlZGMwNjc4NTI2MThlIGRlc2NyLWJyYW5jaAorMjA3MjYgZGNlMWY1MzQ1MWE1YWY0NjkyZTVkMzhhNmZlOTViNjNjYzczNDM4YSBsZWdhY3ktdHJ1bmsKKzIwNzI3IDU5NjA0ZjViNGRkMTI5MGUxZWM0ZmQxYWJjNjdmYTI5NDc4MWRhNTAgZGVzY3ItYnJhbmNoCisyMDcyOCA0MTllYmM2NzNlZDhkZjljNmY5ODEwYjhmNjAwYTU2NGRlNDEwYjdhIGxlZ2FjeS10cnVuaworMjA3MjkgMGViYjkxNTIxYWU2YmNlZGJiYzA1ZWVjN2I5MjYxOTJiMjEyOGI2YiBsZWdhY3ktdHJ1bmsKKzIwNzMwIGI0YjM2NTdjYjFmYWE0NTczYTRkNTRkZTc0ZDY5NzI4NjQ5ODc5ZDEgbGVnYWN5LXRydW5rCisyMDczMSA5OTNmYjE4MDFmNDFiMjRhNmFjMDgwOGVkYWViNmM0YmRjNTdmNTU1IGxlZ2FjeS10cnVuaworMjA3MzIgYTE1NzVkYmY3ZDgxMmIxOWU4NjU3YjAwMzkyNmY0YjhiN2FkMmE1MSBsZWdhY3ktdHJ1bmsKKzIwNzMzIGFiMTdiOGI4ODY5NjJkOTEwMGFlNjBiYmIxNmYwOGM5ZTM2NDNiNDAgbGVnYWN5LXRydW5rCisyMDczNCA1Mzg3Y2I3NjcwNTk0YTJmOWVmZDZjNGYzYzQ2N2Y0ZTYyMTc3ZTIxIGxlZ2FjeS10cnVuaworMjA3MzUgMWRhY2QwZDYwNjM3Yzg3M2M5MzcxZmQ0ZTAzOTgwNTRmMTEyMDYzZSBsZWdhY3ktdHJ1bmsKKzIwNzM2IDEyOTZlODYzMDRlZjU4ZjRmMmJlNWM1N2U1ZGRkYjM2YmRkYmYxMDEgbGVnYWN5LXRydW5rCisyMDczNyAwZWQ4YzVmM2Y1MzA2MjQxMjUyMWM0MzBjMzA2Y2IzZTNmMmQ0YTA1IGxlZ2FjeS10cnVuaworMjA3MzggOTljNDlmMDA5Mzg4ZTUyY2I0ODI0OWQyZWEzYTY2NTFlNTYxYWFmNiBsZWdhY3ktdHJ1bmsKKzIwNzM5IDg5OWYzNjdlYmE1NmI1MGM5MmUxMDZhNGU3ZDM4NDJlYjNiOWY2NTYgbGVnYWN5LXRydW5rCisyMDc0MCA0NzllYTY5ZWM4NWIzMjBiOWJiNjBiMzM3ZDI3MzA3ZDcxNGNjYWM0IGxlZ2FjeS10cnVuaworMjA3NDEgMjJhMGIyZTMyOTFmMDJhODg5ZTRkZWM4NTRhMzExNDZmMzNjMTdlNiByZWxlYXNlMjEtbWFpbnQKKzIwNzQyIDc4YzY0YzBmNjYxY2JjNGY1M2E4ODU0ZjUyY2MwOTEwOGU1NDIyM2UgcmVsZWFzZTIxLW1haW50CisyMDc0MyA4MDQyNWIyYzFlNGM3MDIzY2Q1ZWIxN2ZjYmVmMjdjZTJiZWE5MTJkIHJlbGVhc2UyMS1tYWludAorMjA3NDQgMmUwMTVmOGExYWMyMDFiMTJmMjI1MzRmNDFlYjBhMmI2NjIwMTk0ZSBsZWdhY3ktdHJ1bmsKKzIwNzQ1IDFjNjA0YmM2YjkxZTU0ZmRmMTYxNjdhYmU5MWRiZjVhMmQzOTg0MDIgbGVnYWN5LXRydW5rCisyMDc0NiAxZmIzZWNhODk2OWVhOGNmZTcwMDA3NWFiODIxZmY4YWEzMzNmODlkIGxlZ2FjeS10cnVuaworMjA3NDcgNmUwMDhjNjE5ODU1Mzg1NmYxMTc3NzhiODYxYTJmY2ViY2ZlNGUyZiBsZWdhY3ktdHJ1bmsKKzIwNzQ4IDNiNWJlYjkyNzdlMDQ3YmUzMzExYjk2ZjkzNDBhOTc5MjMzZTVkODggbGVnYWN5LXRydW5rCisyMDc0OSBhOGZhOWMwZjFlMGJiNWNjZDc4OTJiYTc3OTBkNjkwZTBkMTAzMWEyIGxlZ2FjeS10cnVuaworMjA3NTAgOGFlZTUzOTUwNTgzMDkyNTMzODRhY2ZjYjJhM2U1YzIwZTUxYmI3YyBsZWdhY3ktdHJ1bmsKKzIwNzUxIGEyYjY1NmE1MjI5NDNhMTkxOTNjMTJhNDkxZjdlZGQ0NGNiOWEwNGEgbGVnYWN5LXRydW5rCisyMDc1MiBjMTk5ODBjMDNlMmRlMTVmNDc4NzZiZTcwODJhNDA5NDdiNDg5N2U3IGxlZ2FjeS10cnVuaworMjA3NTMgNTU5N2Q0YmNkZTA3NTg1YjM5MzE1Nzg5ZWNlYTM2YjQ2MTk3M2Q3MiBsZWdhY3ktdHJ1bmsKKzIwNzU0IDdlYjMyODhjODFlMzU1YmNmN2U3OGVlMjM1MWM5OGE2MWRiODA2ODggbGVnYWN5LXRydW5rCisyMDc1NSA1M2ZjY2Y0ZDZhNDE0MTM1NzI3ZWUyNGQzZDBjYzQ3MjQ1YTRlMjE5IGxlZ2FjeS10cnVuaworMjA3NTYgNDllNzFhODNmNzkwZmEyMjRhMTdhNTU4OTdmZDM5YmY1MGY1ZDhhNyBsZWdhY3ktdHJ1bmsKKzIwNzU3IGJmNzBkMWY0ZjYxZjZjZDE1MTc0M2VlYmYzMzI3NTNlZTUwMjI1ZDggbGVnYWN5LXRydW5rCisyMDc1OCBjZThjMzU2NTQyYWI3Y2U2NmJjMmJkNDIxYTMxNDY2ZDA2NDk0YmVhIGRlc2NyLWJyYW5jaAorMjA3NTkgZGQ1ZmIzOWU2NWVmMzY1M2YyZGYwMDY3NTM1NmRmNTE2NjA4N2YzMCBkZXNjci1icmFuY2gKKzIwNzYwIDMzODAyNzk2MTJhMzNjOGJjN2IzOTNiODI0MDA0ZDBhMDI4ZWEyYzUgbGVnYWN5LXRydW5rCisyMDc2MSBmZjlhODMzOWFkMWI0YjI5NTliNmM2NTg3MjIxNGI0NDdkOTk1MWY3IGRlc2NyLWJyYW5jaAorMjA3NjIgOWY1NTk3ZWE5NmZjMTRlZDE3ZmUxZThmMDk5M2RkZDM3MzQ2NmRhNSBkZXNjci1icmFuY2gKKzIwNzYzIDdmMGY1ZWNlNDU2MjhiZTljNDIzZTI4NjMzMmExZTk5NDE4NzAwMTQgZGVzY3ItYnJhbmNoCisyMDc2NCAxNGZkNGJiNzc5OWFjMTVmNzg5ODM5M2I3N2NmNGU1YWM3ZDA5MGViIGRlc2NyLWJyYW5jaAorMjA3NjUgMTU3OWQzMDk2NzZlMzUwN2NhOTlhNjNkYzU4ODQ4ZjQ2NTllNThiMyBsZWdhY3ktdHJ1bmsKKzIwNzY2IDU0ZDM5NTQyNWU5MjkzNDY3ZDYxYmY3N2FhM2M4Y2I2YzcwOWYwMDYgbGVnYWN5LXRydW5rCisyMDc2NyBjMzRjYWI4N2Q3MjE5ZmJmODBmZmE4MWUzNjQ0ZDc1ZWUzMTZhY2Y0IGxlZ2FjeS10cnVuaworMjA3NjggYzgzNjIzMDNlYzNiMWUzMzIyM2IyZTY2ZjIzYjhmYzJkOTM1YzRkNSBsZWdhY3ktdHJ1bmsKKzIwNzY5IDIyMjc2N2ViMjhmNzVjZWUwYTFhOGM2Y2YzMWJhYzIzOTg3OTRjZTkgbGVnYWN5LXRydW5rCisyMDc3MCA0ZjIwNDk1YjhiZWRjNTk5ZWQ3NDFlN2UzNTMzNmY4YTcyYmI1ZWY4IGRlc2NyLWJyYW5jaAorMjA3NzEgNGFmODY1YjIyMWVkZjBjMjE5ODQ4MmFmNDE2OGEwMmNmMjkzM2I1NyBkZXNjci1icmFuY2gKKzIwNzcyIGI4ODFkYzNiY2ZiM2QzYjMyMjVkNWY5YTZjMzA2M2JhZDhmNmI0MDYgZGVzY3ItYnJhbmNoCisyMDc3MyA0YjA4ZmQwODdkMzY0M2U0OGJhNDc1NjZkM2RlNWQzMTg1ODNhMWM1IGxlZ2FjeS10cnVuaworMjA3NzQgOGNkODc0MWViZWMwZDQ0ODMxY2Q5YWViODE2MWU3ZGQzN2M4NjhiYSBsZWdhY3ktdHJ1bmsKKzIwNzc1IDIyMTFjODk5NWE1ZjhkODVhY2ZjZjhhYTE4OWUxOTgzMDljZjIxMDYgbGVnYWN5LXRydW5rCisyMDc3NiBkNmRmOGQzNzFiNjc0Njc4YWY5MGI1MzVjMzM0OTVlYTk0NzBlNTBhIGxlZ2FjeS10cnVuaworMjA3NzcgOGY1Y2U1ODExOWUwNTRhYjcyMzY1OGVmZGUyNWEyMTUzOGE4ZjI0NiBsZWdhY3ktdHJ1bmsKKzIwNzc4IGY3YzM4NTIyNmY2NWE4NTM1ZWQ1MjIyOWQzNDM2Mzg0NjliZTg0OWIgbGVnYWN5LXRydW5rCisyMDc3OSAyOWQ4NGY5MjBkNWI5NzMxYjA3NGNiZjU1YWMyYzcyZGY0YzM4MjgwIGxlZ2FjeS10cnVuaworMjA3ODAgMTlhNDQ4ZmRlZGY3MjRiNjE0YmNmODY4ODgxOWRkNjU5YzA2ZDVkMyBsZWdhY3ktdHJ1bmsKKzIwNzgxIDRiY2Y4OGU0YWJmZjIwOTljNDVhNjBjOWMxMjA1MmI5ZDdhZWJjMTUgbGVnYWN5LXRydW5rCisyMDc4MiA3ODAyNDhjZDFkOWFmYTViNzA2N2MwOWM1MTE5NzY3OTdiOThkZWUwIGxlZ2FjeS10cnVuaworMjA3ODMgNTAzNzZkNDcwNjQ4MjE3Nzg3ODFkZTVlYzIwNTI4YzE2NDFmNGNjNCBsZWdhY3ktdHJ1bmsKKzIwNzg0IGYxMjM5NmM1MWFlYWY0ZDQ5ZDJlNmNmYzE3Njg2OGU2YTQwMGEwMWEgbGVnYWN5LXRydW5rCisyMDc4NSAwYWRmYmUzMjg5ZDVhZTNjYjBlMzUyODIwYjhlODg4MmM3NTg3N2FiIGxlZ2FjeS10cnVuaworMjA3ODYgMGJlMTZkMGVjZjY0YTc5NzEyMzM4NzE5ZTE3ODI2NzZjYzMzYTJlMCBsZWdhY3ktdHJ1bmsKKzIwNzg3IDA3YTg3NTIwMDFiYWNiOWMxNWQxNDA4YWQ4ODZkMDg2NTE5NzU3ODIgcmVsZWFzZTIxLW1haW50CisyMDc4OCAwYjNkYTk5ODI0YzdkNWRmY2FhMzIyODliYjA2M2RhMDdkNGIxN2E0IGxlZ2FjeS10cnVuaworMjA3ODkgMjY3NDUwNTNmODQwNTk2YWMzNGQ5MTFkY2E2YzA1ZmM5NjgxMjc1MiBsZWdhY3ktdHJ1bmsKKzIwNzkwIGI1NGRiZWYxZjhkMzY1NjRmZmVjZjA4ZTBhYTY2ZWQ3YmYxMjU2YzkgbGVnYWN5LXRydW5rCisyMDc5MSBkODkwYTIxYmViZGEyYjhhMTRmMzE5MjQ2YTIzMGNmNmYxOWM4ZGU2IGxlZ2FjeS10cnVuaworMjA3OTIgY2VmNWI2MDBmYTE2Mjg0NmZhZWJkZmU4MWVjZjBiMTA1MTI4YzExMSBkZXNjci1icmFuY2gKKzIwNzkzIDc1MDllYTA3MmNjYjQyMmQxY2Y3M2E3N2NkMDE4NDc3MTQzZTExYzYgZGVzY3ItYnJhbmNoCisyMDc5NCA1YzA2YTk1OTZmYmZmZGQxMWQzYjViZDFkMjE1YjVkYWQ3ZTUwMTNjIGxlZ2FjeS10cnVuaworMjA3OTUgMWJlY2Y0NDJkNzM1NTliYzU2NmI4ZWQ1MGJhOWExZTMxMzcyYzlkZSBsZWdhY3ktdHJ1bmsKKzIwNzk2IGMzZmY1NzIyNjNkMzMyZjg1MTVhY2IwZTMxOGFhNTUwMTI5OGY4ZWEgbGVnYWN5LXRydW5rCisyMDc5NyBlZDFlOGI2ZTI2ZWNiMWM3M2ZmM2U3OGMwY2IzNjNlZTM5MDRkN2JlIGxlZ2FjeS10cnVuaworMjA3OTggOWVhODdjMGE3YzA0Mzc4MGQ1NjliNjNhNzFkMjI0NGQ4NjZmZDg4YyBsZWdhY3ktdHJ1bmsKKzIwNzk5IGFkNTAwYjUyNjczYzYzOTg2ZDY0YmQwNWU1ZTU2MDI4MjY3NTA4YjQgbGVnYWN5LXRydW5rCisyMDgwMCAyODkyYWEyNjA3ZDVmNWU3NDc4YWQ4M2M0MDc2ZjE2YzZlMmJkNWQyIGxlZ2FjeS10cnVuaworMjA4MDEgZGIwNzRhYmE5ZTM2NGNhNzYyNzVjYjE2MzkyOWYwNGFkOTEwNTllMSBsZWdhY3ktdHJ1bmsKKzIwODAyIDNkZDQ5NTQyYzRkMDFhMTYxYzllMjkzMDI4YWVjNDFmZmZlYjYzMGYgZGVzY3ItYnJhbmNoCisyMDgwMyBjODcyZmRmMTAxMzBmNDY5ZTkyZjhhMDg4MjFhM2FmODZhODYxMjBkIGxlZ2FjeS10cnVuaworMjA4MDQgZjE4ZTgwOGMwMjMwZDAzODdhZDZjMjJkZTM2ZTkyNDEwZWJmZGQwOCBsZWdhY3ktdHJ1bmsKKzIwODA1IDJiNWE5YmZmMWIxMWU5MzgyZDVhOWFmODJhYmQ1MmIwZTY2ZmMxMmMgbGVnYWN5LXRydW5rCisyMDgwNiA3ZWQwY2FlYmRkODYxY2UyZGFhMmYyNTQyMjU5MTJiMWQ2ZTczMmM4IGxlZ2FjeS10cnVuaworMjA4MDcgM2UyNTZmOWQ5OWFkZTBhOTE1Mjg5N2EzMDRkM2Q2ODk0OThhNDI0OSBsZWdhY3ktdHJ1bmsKKzIwODA4IGFkYTNiZDFiODcxMzQ3Y2NiMmEwZWZkOTlmYTUyMmYxOWE1NjhlZGMgbGVnYWN5LXRydW5rCisyMDgwOSBmYjMxYzMzNzYxYzk2NWYwYzA4YjFhMjg1NTllMTNlZGMxMWI2ZDVmIGxlZ2FjeS10cnVuaworMjA4MTAgOWZmMzVmNzY2MWJkNzNlZDYwMWI1NDI0MjYyNzAwM2U5Nzg4ZjM0MiBsZWdhY3ktdHJ1bmsKKzIwODExIDdmNDU1NGExY2FlMjI4ZjAyOTE5NzZjOWU5MzRmYTNiNzhlZjc4M2EgbGVnYWN5LXRydW5rCisyMDgxMiA2OTYwYjJiYmJmY2FhMjExYmJmMGIxMDg5ZDM3YjdiMzQ1YjE0YzU3IGxlZ2FjeS10cnVuaworMjA4MTMgMDE3YTY0YTRiZGM3YTk4YzYwMThjNGQ3NzRjODBkZGM1MmZiODQzNCBsZWdhY3ktdHJ1bmsKKzIwODE0IDI5NWEyZjQ5MjdhYjY5YTVjYWNhMGQzOTNlZjcyOWY5MTNmMzYzYzMgbGVnYWN5LXRydW5rCisyMDgxNSBhMGQwOGM0MmU3MTAyYmFlYWIzMzFhMTQ5MWZkOTY5ZjEwYWQwNzlhIGxlZ2FjeS10cnVuaworMjA4MTYgYmE5NzExMWE2YWQ5Zjk5N2YwMTA4ODY1ZTIzMzJjYzJmMzk2YTM5MSBsZWdhY3ktdHJ1bmsKKzIwODE3IDA1NWZjMDQ2ZTA4MGVjMGUyZGE0YTE4ZmQwZmFhMjAxMDY5MDMyZmUgbGVnYWN5LXRydW5rCisyMDgxOCAwMjhhMWQzOWVmYjY1YzRiMzhmYTg1NGNlYTQyNDljMTYzNzYwZTEyIGxlZ2FjeS10cnVuaworMjA4MTkgZDJkM2Y4ODY2MWEzZTk5NGFmNzE3ODI1NjBmZDJmYzYwNGRjYzM2ZCBsZWdhY3ktdHJ1bmsKKzIwODIwIDI4MDc5NDllMGJhNTkxZjE0ZmYxZDIzMDFkYTViMTk5ODgzMTkzNzEgbGVnYWN5LXRydW5rCisyMDgyMSA3OWFlZTQ5OGEyYmU1MWJmODg5YTE4NjY1YTdjMTgyYjU4MzU3ZGIyIGxlZ2FjeS10cnVuaworMjA4MjIgNzc2MzU0OWNjYTQ1NjRhNGU1MTMxZTVlNTZkYzRjNDI4NTJmMzdlYyBsZWdhY3ktdHJ1bmsKKzIwODIzIGI3N2M0ODg4ZDdjY2FkZDZmNzQ3NmJmY2YzMjU2ZjQzMGYzZjQzOTEgbGVnYWN5LXRydW5rCisyMDgyNCBiNTNiNjBmMWVkNDU5Njc4N2ZmMWE0YWMzNGMyM2Q5NDlmMzVhMzM3IGxlZ2FjeS10cnVuaworMjA4MjUgMzM1ZmJkZWU3Y2Y4M2MyN2JmYWNiYTMzNTI0MmY3NWJiNmJjNDEyOCBsZWdhY3ktdHJ1bmsKKzIwODI2IDk3ZWNlOTMyMWM1MzY0ZmU4NzllOGVjNjExNGJiODU5MzBiYTMzMzcgbGVnYWN5LXRydW5rCisyMDgyNyAwZTg2YmRlYjBiOTI2MTdlYjcwODJjZTk0ZGYwNDg3ZDc3ZTI1MjcyIGxlZ2FjeS10cnVuaworMjA4MjggYmU5NjllNzE3YjkxYjBhMjhiZjUyYzBjZGFlY2E5MTJiYWYyMDk5ZSBsZWdhY3ktdHJ1bmsKKzIwODI5IGZkZTU1MDhlODJkZTZjZDlkOGRkNzcwZGE2ODg5YjIzNzJjYzhmNWMgbGVnYWN5LXRydW5rCisyMDgzMCAwNDJkY2ExZDQ1MjZlMTU5MWNjZDk2NWUzZDVlN2RlY2Y5NzdmMmEyIGxlZ2FjeS10cnVuaworMjA4MzEgY2NiNmQ3NjYzM2JlNGQ5ZGEyN2VhOGU2YTQzYTQ0YmZmM2Q3NjFmYSBsZWdhY3ktdHJ1bmsKKzIwODMyIDY4YmYwN2U3YmNjYzk0ZGQ2ZTJkYWI4YTdkNTBjOWRkNzYzNGU3NDMgbGVnYWN5LXRydW5rCisyMDgzMyBiODIzYTMzMTgzZmM2NGJiZjk2Y2I3NjcxZTgwMDc0YjllMGY3MjU5IGxlZ2FjeS10cnVuaworMjA4MzQgMDk0Y2VlNjg5OGMxMDI2YzRhOTg2N2Y3OTVmNmVjY2Y2Mzk4Zjc2MCBsZWdhY3ktdHJ1bmsKKzIwODM1IDQzYjdlZTcxOGY1M2ZmYTkxYzNlNmE2NDJlZWYwNTYzMTZkOWYxYmEgbGVnYWN5LXRydW5rCisyMDgzNiAyMDBmM2E1ZGUxYzlhZGIyZWU4Y2FkNzJjM2ZhMWZkZjNjMzM4NzYyIHJlbGVhc2UyMS1tYWludAorMjA4MzcgMWViMTIyNTlmZWVhNjQ3OTg0ODI2Nzg2NzVlZWIzOTJkYTFhODJmOSBsZWdhY3ktdHJ1bmsKKzIwODM4IGViMDNjNmZjMzFlNWJkOWZiNTMxMGUwODE1OTUwNzJkN2Y2ZGZkZTUgbGVnYWN5LXRydW5rCisyMDgzOSAxNTFhMmZhMjk2ZmU0MmFmYTQxZmRjZTVlN2NlODU4NWEyYjExN2FhIGxlZ2FjeS10cnVuaworMjA4NDAgY2IxMWM1OWMxOGRkM2JmZmFjZmUxYmU2Mjk1NTI5NDM5ODM4N2UxOCByZWxlYXNlMjEtbWFpbnQKKzIwODQxIDEzYmRiNWIyMDdkMjZkOTM2OTY1OTQ2ZmZkMDkzZmUwYjRlNWZmNDIgbGVnYWN5LXRydW5rCisyMDg0MiA1MjRlMGYzYzE2OWIyNzA3YmFhNWU5NTEyOTc2NjM3MWRmMjBjMTNhIHJlbGVhc2UyMS1tYWludAorMjA4NDMgMTdjMjAwYTdkYjg1YWQ2ZDQ4ZTVhZDhlYTY1ZDc0YzRjNWZlZTk4MSBsZWdhY3ktdHJ1bmsKKzIwODQ0IDQzYWI5ZjgyNGQ4OTBkNTVjYjNhODRhYzljMzIyNDJlMTVhNTdkOGYgcmVsZWFzZTIxLW1haW50CisyMDg0NSBkNTY2NjZkZWI5NTM4ZmYzYWUwMzk1OTA0NjdkZmM4YWQxNmMwN2ZjIGxlZ2FjeS10cnVuaworMjA4NDYgNjAyN2QzY2Y4MDVjZjcwN2EzYjU5OGFkODk5M2Y3MDlhZTdhOTE2ZiBsZWdhY3ktdHJ1bmsKKzIwODQ3IDIwNjBlZTBhN2Q5MmM0MWYzZDJiMDlkOTU5MGIwMWY0ZThhMDg5MzMgbGVnYWN5LXRydW5rCisyMDg0OCAyMTM1ZDdkZTg2YWRiMmFhNWQ4NzExYTFjM2EzZjY1ZjFjMmI3OWRkIGxlZ2FjeS10cnVuaworMjA4NDkgYTkzZGFhZmJkMTNkNzQ4Y2U5NWQxNmFjOWVkY2FiY2RhNWJkYzEyNyBsZWdhY3ktdHJ1bmsKKzIwODUwIDBhZjgyNGM4ODIwMzA2MWU0MDRlYWQwNWJjM2YxZjljYTdiYjhlM2IgbGVnYWN5LXRydW5rCisyMDg1MSBmZDVmODMxODg3Nzg2ZDMxMmMzOGIzNmY3YWJkYmFmMWE5NmMzOThkIGxlZ2FjeS10cnVuaworMjA4NTIgOTNiNTkwNzI5YmRjODk5MGVlZjcxY2E1NDUxZWJiMWMzYWFkNjZiNiBsZWdhY3ktdHJ1bmsKKzIwODUzIGZkMTJlODJiNzcyN2ZiMjgyZjVlZDdkZDQxMDdiZjA5NjIyZDlkMjYgbGVnYWN5LXRydW5rCisyMDg1NCBhMWRkYzQwODBjYzU3MjE5N2VjZTg2Nzk4Zjg5OWEzNmY5NzcwZDQ3IGxlZ2FjeS10cnVuaworMjA4NTUgZjk1YmFkYTUyNzNlMjg5OTBjY2NjMzZmMzZiMzRlZjA2NDI3MzVmZCBsZWdhY3ktdHJ1bmsKKzIwODU2IDkzOWUzZGE1OWM2MTIyMTI2MzBhMTRmYzk1NzEwMGE2YjdhNWU3OWMgbGVnYWN5LXRydW5rCisyMDg1NyA1YjA5N2Y2MTcxNzM1Mzg5MmQwOGY0N2JmYTJhNTRlZDY1NTBlMjA3IGxlZ2FjeS10cnVuaworMjA4NTggOGRhOTQ3M2YwNzM2YjA0OGJhNGNhZTE0Zjg1MzRiMzJlZGM0NTdjMyBkZXNjci1icmFuY2gKKzIwODU5IDE0ZGE1MzE0NjY0ZDk0ODJjZGEyMTA2ZTA0OTUxODRkZjhlYWVlMjEgbGVnYWN5LXRydW5rCisyMDg2MCBjNGY1NTQwMWU4YWVkNTcwMWUxNDEyMzJhZDU3NWNjN2NmM2ZlNDIxIGRlc2NyLWJyYW5jaAorMjA4NjEgZTIwODBkYjcxYjFiMGNiYWFiNjZmZWM5Nzc2YzQ4Y2E2ODgyNGViYiBkZXNjci1icmFuY2gKKzIwODYyIGMxMGI0MTg1NTIwMjhhZDdiZmMxMWJlZDUzNGM2ZGI2MjBkZTAwZmMgbGVnYWN5LXRydW5rCisyMDg2MyBmMGMzZGUyMmNhZWRkZWEyMjRiNzgxMzQ1NGYyYmE3NGIzMGJmZGRkIGxlZ2FjeS10cnVuaworMjA4NjQgY2M5ODRlZDI2NTg2YWMwNmM2ZWM4OWQ2ZjQ3NzBkZWQ3YjNkNTNkNyBsZWdhY3ktdHJ1bmsKKzIwODY1IDVkNTBkMWZhZTA3ODdmNTkyZDU3ZGRiMTczZDBkZGYwNzJiOGI4YmIgbGVnYWN5LXRydW5rCisyMDg2NiAzOGZkZjk4ZGE5OWZkZDE2MmUyZGJmM2FmZjRjN2Q2YTljNWY2M2JmIGxlZ2FjeS10cnVuaworMjA4NjcgMzRiMTUwNGU2NjQ0YzdlOGRhMTBkYTIzNGIwYjFkNGY3YjQ0NDE1MiByZWxlYXNlMjEtbWFpbnQKKzIwODY4IGFlOGM0ZjQ3MGEwZTQ0NzI3YzczOTI0MDM1ZmExMDA4MDllMDQ2OWQgbGVnYWN5LXRydW5rCisyMDg2OSA1M2RlMGVlYTRkMjVjODZlOTk4ZWVjNTdhMzcyM2I4ZDU1NGFkNDkyIGxlZ2FjeS10cnVuaworMjA4NzAgNjk3MzdkN2Y0Nzc2ZmQ2YzMyOTQzZDUwYmQ2MjFjYTIxMzhkNmQyNSBsZWdhY3ktdHJ1bmsKKzIwODcxIGE0NmYxZjdhOWM4NjlhMmM3NTQ5ZTFiNTc2MWI1M2Q1ZTUzYTk0NTEgcmVsZWFzZTIxLW1haW50CisyMDg3MiAwYTdhZjBlNTM4ZDRhYmRjYzBiNTdmYTMzNmQ2Nzc1YWVjMTQxMWE3IGxlZ2FjeS10cnVuaworMjA4NzMgOWFmODA2YjI4NmM2MTY1NDc2NmQzZTMwYzE0OGMxNTA0OWMwYjExNyBsZWdhY3ktdHJ1bmsKKzIwODc0IDdiOTc3MWY2ODU2YjMwOWRkMzMyY2E5YTZkMmViYzY0MjRlMTE3OGIgbGVnYWN5LXRydW5rCisyMDg3NSBkODg0MjM1ZmU3NWMzZjRmNjUxMzEzNDAzZDE5MjA3MGVjZTZlMWU2IGxlZ2FjeS10cnVuaworMjA4NzYgNzc4NzFjNDk5MjE1ZmIxOWM3NDY3NGZjZTMyNmI3YzMyMTM4NjFlNCBsZWdhY3ktdHJ1bmsKKzIwODc3IDYxOWZkOGUwNjdkYWVjZjA3NzA4M2Q5NzY1ZmE0NDVmMTk3NDgwNjIgbGVnYWN5LXRydW5rCisyMDg3OCBmYmZmYjZkZTI1ZGRjYjNiODNlZGMyZjhlZDE3ZGFmNzllZjcxMGMxIGxlZ2FjeS10cnVuaworMjA4NzkgNDIxYjFkNjYwNDk1MDg4NjlmMWM3ZTcyOGUyOTY0ZGUyYzVlMDNiZCBsZWdhY3ktdHJ1bmsKKzIwODgwIDg0ZmYxOTc3ZDc3MjVmYjUyNDA1N2VkNzNlYmY5YWM3NGM1YWVhODMgZGVzY3ItYnJhbmNoCisyMDg4MSA0NjkwOWYyMjE3MGMzZTg2ODI2MDJkNjY3ZDBlYTVmYmExMjYwZGMxIGxlZ2FjeS10cnVuaworMjA4ODIgZmY2YTZkMzQ3MTk1YWQ0ZDI0MjNkODdjNmJjYzZkNWNjY2QwMGVjYyBsZWdhY3ktdHJ1bmsKKzIwODgzIDFiZTZkNjhhZTEyY2U3YjFhNGZjMzRhYjM2NjkxNmI4Y2NiYmZhODggbGVnYWN5LXRydW5rCisyMDg4NCA2YzVhODAwZGE3OTFmNDI1OWNkMWUxZDNmODY2ZGUwMjE3ZmY1OGE0IGRlc2NyLWJyYW5jaAorMjA4ODUgYTY0M2E4N2E0YjJjYWE0NjMxYzgzMjI0ZTczNWU5YTllYzA3ZjFkMyBkZXNjci1icmFuY2gKKzIwODg2IDcwY2Q5YTQxOTA3Njk0Mjc0MDQyN2ZkODgzNDI1YTMwYmU0ZTVhY2QgbGVnYWN5LXRydW5rCisyMDg4NyBiZDUzNDliNDExZjYxYTY5ZjFhZjUwMWZkNmVmMzU0NTljMjBkZWU5IGxlZ2FjeS10cnVuaworMjA4ODggZDQyNjk0MzdlOGIzZGMxZmM1ZjE3ZDU3NzQ5MWExZThjOTlkNDc2OCBsZWdhY3ktdHJ1bmsKKzIwODg5IGNlNjlmYjljOGQ1NjE3MDhiODkyOWUzYTkyN2VmMmNiNDUxNjY2YzkgbGVnYWN5LXRydW5rCisyMDg5MCAxNjAwNWIyODU1NzYyZGYxZGEwMGIxM2RlNzRjZTA4OGZkYTczODQzIGxlZ2FjeS10cnVuaworMjA4OTEgYTFmY2ZkY2IzNDc5NjY4MTUzMmRmZGIyYmUzN2U0YmFmYjc3MDA2YiBsZWdhY3ktdHJ1bmsKKzIwODkyIDVhYmMyMzI5OTIyZmVkNmEzMjYwZGU4MTZlZjAzYzFiN2IzMTA1NDEgbGVnYWN5LXRydW5rCisyMDg5MyBhODk1ZDdkNzM5YWQ0MTZiNzRlMmY4ZDU2ZGVhNTM2NWQ2NDhkMWVhIGxlZ2FjeS10cnVuaworMjA4OTQgNDc0ZTNkZTAwYjA1MGVjYmJiMDUxMmUzNGQ3ODBiODg5Nzk1OThlMyBsZWdhY3ktdHJ1bmsKKzIwODk1IDI5N2EyNjZhYzRlZTE3MmJkZDVmZjJlYWVmZjA0OTNkOTgwNjk3NWEgbGVnYWN5LXRydW5rCisyMDg5NiBkZWEwYmFkZTY1NmQ0OTE1MTBmMDhhYmViNGZlZmE2YWJiOWZmMmE1IGxlZ2FjeS10cnVuaworMjA4OTcgNjk0YzlmMGNkODE0Mjk3OTM0OGQ2YjM0MTJjZWU1MzkwYjJhYmJhMSBsZWdhY3ktdHJ1bmsKKzIwODk4IDgzMWMyN2Y4NzZhYzlkYmNkOWI3N2FiNzY2MzAwYWZiNjRhMGJlMzUgbGVnYWN5LXRydW5rCisyMDg5OSBiYmY3MDIwNDllYzZiMWJmMWY5YjM2MGQwMmY5NjE5MzdkYmZiODY3IGxlZ2FjeS10cnVuaworMjA5MDAgZTRlODUzZDU1Njc1YTI5NmJlM2U2YjdiZWVkZGFjZGEwMjJiOTNmMyBsZWdhY3ktdHJ1bmsKKzIwOTAxIGVhMGNhZDkyY2ZkMjdiN2Y2ZGNjYTczZTAyZWQ0NDUzNjE3NTY3YTggbGVnYWN5LXRydW5rCisyMDkwMiBjZTdmMGUzODA4MzA0ODdiZDkzZDhlMGYxZDY3ZjgwZDRhNDUyNGJkIGxlZ2FjeS10cnVuaworMjA5MDMgNTYyMTc2MTkxZTYwNDk4NzU5ZGI2YTAwYjJiYzc4ZjI1MmQwZjU3YSBsZWdhY3ktdHJ1bmsKKzIwOTA0IGUxNGI0MWZkMmFiMjUxNTIxODg2NzIzNGYyNzE4MTc0NTRiMGE0NzUgbGVnYWN5LXRydW5rCisyMDkwNSBjZmUwODFjOTU1M2VjNzg0NzZmZDc1NGFjODkzYmMxNzFiMzY3N2MwIGxlZ2FjeS10cnVuaworMjA5MDYgM2U2OWQ3ZGI1ZjhkNTBmYjU1MzllNDdmODk3YTg0ZTM1MjQyMTVhNiBsZWdhY3ktdHJ1bmsKKzIwOTA3IGE0MjkxMGI1NDQyYThmZDc3NGFmNmU0M2RjNzU3MmQzMGUzYmU3MWUgbGVnYWN5LXRydW5rCisyMDkwOCAyMmI1MTUyZDIzZmMyYmVlMDgwZmYyNjkxMzZhZDIzODBiMzczNDI4IHJlbGVhc2UyMS1tYWludAorMjA5MDkgMjIzNDQxNTQwNDQzMTY2NzhiNzc3YTFjOGI2ODNjNWQ5YjliMTQ3YiByZWxlYXNlMjEtbWFpbnQKKzIwOTEwIGI4NmVlZWRkYWUyMTM0NmU0YmNmZDJmNmUwNmQ0NGUyNzNhZjI0MzcgcmVsZWFzZTIxLW1haW50CisyMDkxMSBkYjQzYmUxOWQzZTMzYjAwMDE1OTE3MTQzNTg4YjEzYmQ2OTZkZWJkIHJlbGVhc2UyMS1tYWludAorMjA5MTIgMDk2MDcyZDg4Nzk4NjhhY2IwZGMyYmQ4ZmJhMjRkZjVjZjk5MjQwOSByZWxlYXNlMjEtbWFpbnQKKzIwOTEzIGQwNzk4YjNhMzhjMTU2ZWYxN2IyODg0ZTM3OGI0NTVmYjk3YjNmNjUgcmVsZWFzZTIxLW1haW50CisyMDkxNCAyZWRhYThlOWYzODE1MTVjYjBhNzg3ZTczZDllZmRjODJiOGIxOWQ4IHJlbGVhc2UyMS1tYWludAorMjA5MTUgMDcxMWYzY2Q0NGQwNzcwNzAzOTQzZjY2ZmQ1ZDQ4OWUyZjQ4OGUzZCByZWxlYXNlMjEtbWFpbnQKKzIwOTE2IGUxODE2ZjY0OWZmOGUxMjM2NDk4MTE3MjdmZDZiZmE5M2VjMTE0NjUgcmVsZWFzZTIxLW1haW50CisyMDkxNyA1ZDg5NGE1ZmNlMzhjMmM5NWRlMDA2NzY3NjVjMzhhMjY2ZTVkMDY1IHJlbGVhc2UyMS1tYWludAorMjA5MTggYjM4ZmQyYmQ2OGMwYTE5ZTQ1MjQwN2Y0ZTJmYjU2N2IwZWVhZDU2MSByZWxlYXNlMjEtbWFpbnQKKzIwOTE5IDE0NThiNTk2YTQzNGFjOGMzY2QwNDc5MDc2YTc0ZmQ3OWY1NDJhOTYgcmVsZWFzZTIxLW1haW50CisyMDkyMCA3OTNiNzU1NDNmMTNmNWI1YjNiODJmM2E1YjU1MTA4ZjJmOGE0ZWI1IGxlZ2FjeS10cnVuaworMjA5MjEgOGM0N2Q5ZGEzMGRlMjZkYzg4ODliYzliZDIyNTVjODM5MWExMTA4YSByZWxlYXNlMjEtbWFpbnQKKzIwOTIyIDlkZmQyMmU4ZTliNzZkZDE5NzEwMjg2NjgwNWQ4NmM5YjIyMzE1NzUgcmVsZWFzZTIxLW1haW50CisyMDkyMyBhNDI5ZGE3ZGI3MDY5NTQ2N2NkNjJjZTVmODZkYjdkZDFmOTIwYzFmIHJlbGVhc2UyMS1tYWludAorMjA5MjQgMjQ4NDE4Y2JkMDA1MjdkNDdlNTVmNTg3NmZiNDVkODMyNjBhOGYzNyByZWxlYXNlMjEtbWFpbnQKKzIwOTI1IDRlZDY1N2QzN2NlYTdiZDhjM2RhODBlNGRhMTJiNjdkYjVjYzg2ZGYgcmVsZWFzZTIxLW1haW50CisyMDkyNiA1Njk2ZGRkYTNlNDBmOTcxZmJhMTczZGEyNGY5NDQxMjljMmVkNTU4IHJlbGVhc2UyMS1tYWludAorMjA5MjcgZmM2OGY2ZWQ3MDE0MjA0NTVmNjdkMDhiNDg4ZWQ4OWI0ZjQ3MGIwOSByZWxlYXNlMjEtbWFpbnQKKzIwOTI4IDRhZDdhMmFiNDJiNDJlOGM1MGM5OGU5ZGE3MTUzNDA5MzQxNGIyYmUgcmVsZWFzZTIxLW1haW50CisyMDkyOSBlNWJhMGQyYjQ3ZTI5NDI1MmUxZWFiNGVmMzUxZWM1MmEzZTJlMjg4IHJlbGVhc2UyMS1tYWludAorMjA5MzAgMTAzMTExYWQ5OWYxZjBlMmViYTUwNDMxNjM2OWRkZWNkYmUwMjE1NyBsZWdhY3ktdHJ1bmsKKzIwOTMxIGFmNDg5NTg3NTA5ZGNkZGU2M2MwOTJlODAzZGNjYWRlYzlhMWY4YzkgbGVnYWN5LXRydW5rCisyMDkzMiBkODZiMjQ1ZTA4NTgwMWMyNGM3MjQxNDM4ZDI4ZGU1Yjk1ZDNjNjhhIGxlZ2FjeS10cnVuaworMjA5MzMgOTViYWEzMzNlZTQzY2I4MDE3ODc1YWRhZjI4ODdjOGZkZDU5N2YyMiBsZWdhY3ktdHJ1bmsKKzIwOTM0IDVlMTE0MTE1N2Q1M2ZkOTVlNzY4Y2EwY2VjMDY3NGYyNmViOWI3MGMgbGVnYWN5LXRydW5rCisyMDkzNSA3OGY2NzA3MWM5NDllYjJjOTJjM2ZlZTlkZDJhMzc3MGNkOWY0YmM4IGxlZ2FjeS10cnVuaworMjA5MzYgMTc4YmVkZjk1MzZkOGNlMWMwZmM2NjY2ZWUzMTA4NTVjNzA3MWUyYSBsZWdhY3ktdHJ1bmsKKzIwOTM3IDA1YWIwYTcxNGU0Y2FlYTk3NDBjZTI1ODljZDQ3NTkxMmVjM2EwMGEgbGVnYWN5LXRydW5rCisyMDkzOCBiMjAxOGU1ZDIxNDJiOTQxZDIxNzEyMDhkYjY4N2NhN2MxYjVmNGQyIHJlbGVhc2UyMS1tYWludAorMjA5MzkgZWQ4Yjc5YzZjYjRiMmNkYWFjNDNmNzZhYjk4ZDFhYThiOTJlNjVjZCBsZWdhY3ktdHJ1bmsKKzIwOTQwIGY5YTM0YWMxNGM4YmU5OTYyMjIyYjI0MWI3Njg3NDhlZDJjM2U2MTMgbGVnYWN5LXRydW5rCisyMDk0MSA3M2ZjYzRmNGExODIyOTBlZDE1MzA0YjlkODA4NTNhZmE5NjZhYjM2IGxlZ2FjeS10cnVuaworMjA5NDIgNDAxY2NmY2YyOGMzODg0MGVhN2U3NzJkZTIxMDBkYzg3MzM1MWI2OCBsZWdhY3ktdHJ1bmsKKzIwOTQzIDJmMmVlNWRhYTYwZGI2NTc5NzBjZjU2ZTc1ODE5ZGZlN2ZlMjk4ZjUgbGVnYWN5LXRydW5rCisyMDk0NCBiMGI0NmQ3NzM0ZTBlZDNlNDhjNGJmNTJhNGM0MjhjZWJkM2ViMjcxIHJlbGVhc2UyMS1tYWludAorMjA5NDUgNTI3ZDBmZmRmMDk5MDE2MTFiZjYzNjFjMzM4YmJmMmMzMzU2YjYyYyBsZWdhY3ktdHJ1bmsKKzIwOTQ2IGQ1NzlhNWQ4YjNmZWE4MWMxMTVjZmZjNjc0YTAwZTM4MDg0MDJjZjUgbGVnYWN5LXRydW5rCisyMDk0NyAyYTk0YmYyMzVkYWFjZmFlZjRlNzkzNzdlMDkxYjc4ZWYwZTdkNTM2IGxlZ2FjeS10cnVuaworMjA5NDggNWU4N2EwOGFiYjA1N2ExNWNhOTJjZDJhYzliYjBhYTA1ZTMzMDU5MyBsZWdhY3ktdHJ1bmsKKzIwOTQ5IDE5MmQzNjg2OTQ0NTU4YTNmMzU5N2RjZjRkYjljNmIxM2MwZmE5MGIgbGVnYWN5LXRydW5rCisyMDk1MCBkYjEzZmI1Yzg1OGE1MTkzMTExNmIyNDRmZTY3YjNlOWY2MDAwNjRhIHJlbGVhc2UyMS1tYWludAorMjA5NTEgYTJiOTk2YzcxNmExYzUwNDQ1OTkxYmY1NGQxMGJhYWZiNDc3YTA0OCBsZWdhY3ktdHJ1bmsKKzIwOTUyIDYyZWVjMjkzNmNkM2Y5ZTFiNjAwNTg1ZmE5MWEzNWZjNmIwZjI5NzUgbGVnYWN5LXRydW5rCisyMDk1MyA5NTI2ZjBlZDA2NmEwNDdlNGM0ZThmZDA1NGRlZDVlOTc3MjI0ODkzIGxlZ2FjeS10cnVuaworMjA5NTQgNDdjN2MxZWI5NTc0ZDE5OWNlNTRlNWUzMjJiNDNiNDY5ODc5NjkyOSBsZWdhY3ktdHJ1bmsKKzIwOTU1IDcwNmJiNmM5NDVkZmY1ODMzN2E3ZjkzNGY0NjY1MDM2YjI0MGJhNDIgcmVsZWFzZTIxLW1haW50CisyMDk1NiA4NTg1MDQxYmE1N2IxYmVjZTFkZjdkMzk0NGQ2MDdlYmJmNDBlYjM3IGxlZ2FjeS10cnVuaworMjA5NTcgYWUwOGEwMWYyZjJkZDJmNTg3ZmE2OTdkY2M1YzMwMDcyY2MyM2QwNSByZWxlYXNlMjEtbWFpbnQKKzIwOTU4IGU4MTljYzBhOWVmNmRjMGJlZGYxOWY1M2JlNDUzOTVlM2YzMzk5ZjQgbGVnYWN5LXRydW5rCisyMDk1OSA4MzYxNGQwZTAwZjE1ZTc0NWYwZTI0Yzk5OGFlMmE5MjQ2NzM3NDE1IHJlbGVhc2UyMS1tYWludAorMjA5NjAgY2RmODhiYTJkOTY4YjkzYjBiYWM1ZTQzODA5Y2Y4NGIxOTU0MWI3NyBsZWdhY3ktdHJ1bmsKKzIwOTYxIDA3NjllMTFkOWQ1ZjQ4ZjNlMzYxYTU0YTk1NjNlMTBlYjcwNDM3MzYgbGVnYWN5LXRydW5rCisyMDk2MiA5ZWUyMTgyNDgxYWY5YTE0NzNhNmFiNzBiODJkOWJlNTQxOTc2Y2VmIGxlZ2FjeS10cnVuaworMjA5NjMgNDQ3ZWE2NTE4MWMyODVjMDY3NDc5ODJiYTQ3ZDdlZDE3YzEwZThhZSBsZWdhY3ktdHJ1bmsKKzIwOTY0IDI5OGZiMjlkYWE4MWMyNzM0MzYyYzY3YWZlMDhlZjViZTc1NGE2YTAgbGVnYWN5LXRydW5rCisyMDk2NSA4Mzc4MjVhNzc5YzE2ZWEzMjFjNTMyNjYxODRiMjA0M2ZmMDZjOTYxIGxlZ2FjeS10cnVuaworMjA5NjYgNWE5ZGViYjE0NDQwZTI1MmUzMzU1ZjMzYmE0OTViYzE0Yjk2YjliNCBsZWdhY3ktdHJ1bmsKKzIwOTY3IDI3ZjI0MjJlYTMzNTc4MGE3NzBmZTE0NzI4NmY2YmMyNjk0YWM4YWUgbGVnYWN5LXRydW5rCisyMDk2OCBjOGNiNzk3NzIzNjRlNDg2MGFiMWNhZjQwYzMyYjg4YmIzZDE4NjRmIGxlZ2FjeS10cnVuaworMjA5NjkgZmY2NDRlNjA4NTI4Y2Y2YzQ3NWNhMDNjOTVhZTcyMThjNDM3YjFjNSByZWxlYXNlMjEtbWFpbnQKKzIwOTcwIGVjOTM0M2FkMWU2MDlhN2M1YmE1ZGU4NGMyZjQzYWQzMzI0ZDY2MTUgbGVnYWN5LXRydW5rCisyMDk3MSA5NzgwNmE1OTljN2ViNWE2OTc2N2NjM2IzODkxNTBiMTMwZDA3ZGViIHJlbGVhc2UyMS1tYWludAorMjA5NzIgNDViYWRmYmZiMDBlZjYxMzZmMDU3M2YxZTYxMTZhZmFjYjA3ZDI1OSBsZWdhY3ktdHJ1bmsKKzIwOTczIDI3ZWRlOGIwOTVkNmRmMWQxNGUxOWRhMmFkYTU1Y2Q0NzNlOWU5ZDkgbGVnYWN5LXRydW5rCisyMDk3NCA2NGUxZWEzNGI1NTMwMGQzZjJlNTU5NGY3NGUwY2IzZWUxOWQ4NWYzIGxlZ2FjeS10cnVuaworMjA5NzUgYmFmMjEzN2U5Njc2Y2I0NDZjOWY3ZDRiZDFhOTMyZTI0YWEwZTZlMSBsZWdhY3ktdHJ1bmsKKzIwOTc2IGU2MGZjMDE3NjJhMGY5MDE3NzQ2NjQ0ODc0M2NhZmVhNzg2ZmYyNjYgbGVnYWN5LXRydW5rCisyMDk3NyA2YTJlMjU0OGU2Y2YzOWExZDlmMWQzNTc0YjFlYWJlMmNjMDliOTRkIGxlZ2FjeS10cnVuaworMjA5NzggYTQzMDE0MzFiMmFjOGU3NWVmYzM4YzkyNjlkNzRjZjU2OTgxYzk2YSByZWxlYXNlMjEtbWFpbnQKKzIwOTc5IDUwZTMzODBiMDg2YTFkNDc2MjFlM2Y5ODg1ZjFlYzY2MWFjZWZhNmQgbGVnYWN5LXRydW5rCisyMDk4MCA1M2IwZjY1YTBhMDVkNzVkZjEzYWRlNDVmMzI2MmVlN2FiM2NhZmUzIHJlbGVhc2UyMS1tYWludAorMjA5ODEgMTgwNzEwOTExZjE1ZDdkYzY3ZDRhNDA4Njc5NmRlNmRkNjg5NDMzZSByZWxlYXNlMjEtbWFpbnQKKzIwOTgyIDU4Mjg0NWUxNGU1Y2MxNWNjMDhjZDE4ODdmMmI3MDJkODJmNDY4NmQgbGVnYWN5LXRydW5rCisyMDk4MyA5OWFlYTZmNWNlYmQyOGVmNTE5YzgxMGFmMmRlNjQ2ZDIzZjJlMzUyIGxlZ2FjeS10cnVuaworMjA5ODQgOWY5NzE2N2YxNjQzMDE2NzNjZWVjYjk2YTdlZmE3NDQwMTEwNzNjZiBsZWdhY3ktdHJ1bmsKKzIwOTg1IDBjMWEwNGU5ODEzNDJmZDViOTRkMWNhM2FjOGU1ODY4NmY4NWY0N2UgbGVnYWN5LXRydW5rCisyMDk4NiAwZDZmNzYwYjZlZjFhNjQ0MzZiMThmYTcxMTc3ODkxNTBlODliYzJkIGxlZ2FjeS10cnVuaworMjA5ODcgZmFjZmY1ZjUwZmNjYWYyOGU5ZGQ5MDA2YTRhZjU2NGJlY2I1ZjdkNyBsZWdhY3ktdHJ1bmsKKzIwOTg4IDAzOGUyZjc0ODAwZDk3ODMwMWVlNDBjZDgxZGI1MTJiZDM5NDJhZjMgbGVnYWN5LXRydW5rCisyMDk4OSBjYTdlMmUxYWU4ZGY5NmU1ODY2OTAyZDQyZjYzNzMyMjJlOGI3NGNjIGxlZ2FjeS10cnVuaworMjA5OTAgZTg2ZDMzMDgxYmJhOTRiZTlkNzg2ZTY2ODVmOTNmOWI1NWM3NGRkZiBsZWdhY3ktdHJ1bmsKKzIwOTkxIGM5ODdkY2Q4ODJiOWM3MzE4ZDg1MWY3NmRkZGEwMGMxYjgwYjc0NjMgcmVsZWFzZTIxLW1haW50CisyMDk5MiBiZDFjNGZlOTc3Y2JkYzc1NzMyZjVmMDFjYmQxYTJmY2FjYTFmNjg5IGxlZ2FjeS10cnVuaworMjA5OTMgOGQyYmJiYmYyY2I5ZmRjMmZhODdiYTNiODNiZGZkYmMzMzIwYzQ5NyBsZWdhY3ktdHJ1bmsKKzIwOTk0IDE5YjUwNGZiOWQxNTZlN2IxN2Y5ODkyMjFkMTVkNmNhODNlMGZiNDggbGVnYWN5LXRydW5rCisyMDk5NSA1MTE1ODdhYjJkZDJlNmYyODJkNmZhZGU4MDkyZTA4OGUzYjI1Y2Q5IGxlZ2FjeS10cnVuaworMjA5OTYgMDI0MjY3NDQxNzYxZTk0NGJmYWFmM2RjYWM4M2Q2MzE1NWRhNjI1MyBsZWdhY3ktdHJ1bmsKKzIwOTk3IDUzOTFiOWQwMjJhYzEyNzU3MTUxZjc4N2IzNDFmY2I0MGJiMGNhODYgbGVnYWN5LXRydW5rCisyMDk5OCBlZTVmMDE2NWU0ZTNlYjFkYjBkMDk0NGNjYmZmYjVhNmZkYTQ5ODFmIHJlbGVhc2UyMS1tYWludAorMjA5OTkgNGQ2MmEyZmVjOTMwYTJhODg0MDE3N2Q3Y2Q1ZDVmNzU0MTMyMzUwNSBsZWdhY3ktdHJ1bmsKKzIxMDAwIDZhZTYxMjI5MTJkMmVkYjlkNDI1MTBiOGY2OGZlZTMwZjhkYTNkZDkgcmVsZWFzZTIwLW1haW50CisyMTAwMSA5ZWJlODVlNzE1NTA0MTA0YzAwYmNkYjNkZjZlNjlhMWQ2ZmNjZDAxIHJlbGVhc2UyMC1tYWludAorMjEwMDIgYjk5OTc5ZDBmOWU3YzA4MDRkYjQ5Yjc1YzFhNjk2NDUyNTRmNjkxMiBsZWdhY3ktdHJ1bmsKKzIxMDAzIGJkOTdhNGZkYjZmM2M1ZjgyNmQ2NjZlZGNiZGI3NDM1NzM0OTQwNDMgbGVnYWN5LXRydW5rCisyMTAwNCBjMDAzNzMxNzdiYmI2ZDZhODY4YTQ2YWIzNzhjMDI3ZTJiOGM4Y2I5IGxlZ2FjeS10cnVuaworMjEwMDUgZmEyMjU1ZDMxNTAwZTkyZDQ0NzYyZDM2ODAxY2UyOWZjNDhlN2ZmMSByZWxlYXNlMjEtbWFpbnQKKzIxMDA2IGEwMjA4NTg3MWMzZmU0ZmM2NjVhM2QxMTY2NjFlZmE1Y2U0NjE4NmEgbGVnYWN5LXRydW5rCisyMTAwNyBkZjFjNTNhODE1MDI5MTI2NWQ2NzljZDQzZWM1NzNhMTUyNDk2NjBjIGxlZ2FjeS10cnVuaworMjEwMDggYTZmOGIyZmEyZTIwMTgzZTUxMTE5NDJmZWE3YzY3NmJiMjdhMjlmOCBsZWdhY3ktdHJ1bmsKKzIxMDA5IDkxNjE5ZDdkZjU4YjliMDdhZTk0ODFkYmNkZWViMTE1MTJjN2E1YzggbGVnYWN5LXRydW5rCisyMTAxMCA2ZmRjZTc2ZDQwNjY1ZTBkZDYyMzI1MmMwZDI3MDQzM2E3NTc2ZDI1IGRlc2NyLWJyYW5jaAorMjEwMTEgYmYxNmMzY2E1ODBlYzY0Nzc0YmU5ZmZhY2Y0OWYyYmU1OTA4ZWU3YyBkZXNjci1icmFuY2gKKzIxMDEyIDczYTFlOWY3YzgzZjIxNjYxOTYzZTQwM2JjNTRmYTE5ZDI5MTJhY2YgZGVzY3ItYnJhbmNoCisyMTAxMyA4YzQ1YTY0ZWU4MzFiNzg5MmJmYjdiOTA2OTM2MzZlMDAwZjFkMzM2IGRlc2NyLWJyYW5jaAorMjEwMTQgZTkxOTQ3MzE3NmM4MjM0ZGNiNTgxODUyMzUxM2UzNTIxMDY5MTdmMCBkZXNjci1icmFuY2gKKzIxMDE1IGVkNDI1MmJmMDgwYzk3ZTFkODY3OTBlNTAzYzY3MGQwMjcxYjUzZmEgZGVzY3ItYnJhbmNoCisyMTAxNiA0OWYwZmY2ZWI0ZWIxMzVkYzJhNWVjNTQyNmEyMzgyZWVjM2QyODU1IGRlc2NyLWJyYW5jaAorMjEwMTcgYzA3NDMwMjViMjNkYjM4ZjFmMzAzODJkOTkyODU0MTYwY2NlMjhkYSBkZXNjci1icmFuY2gKKzIxMDE4IDU0NjZjY2JiMmY5NzQ5OGViYmIwZjc1OGZhMmRiYzRjMDg1MDMyNmMgZGVzY3ItYnJhbmNoCisyMTAxOSA1YjUwNTZjZjE0ODhjNzVjYzRjM2EzZDhmMzYxOWIwMjQ0NDVmMjY1IGRlc2NyLWJyYW5jaAorMjEwMjAgZmI5M2RmYmQ4MDUyMzU3ZThkODU4NGVmZjg5N2JjZGZlZmYwOWYzZiBsZWdhY3ktdHJ1bmsKKzIxMDIxIGMyZDQ5YTczMjE2NmRiYjFkOTJlOTFkYWI4MmZiZGJlM2I1NTM3ODEgbGVnYWN5LXRydW5rCisyMTAyMiA5NTdmOTQyODY2MGYyMjk2NGQ1MmZhYzE2MGYwYzdhZDAzMjAyY2UxIGxlZ2FjeS10cnVuaworMjEwMjMgM2NiYjg1NzI2ZjZlZDIxNDI2M2Q5ZjNjOGUxMTE1ZDBjMWRiNjhjZSBkZXNjci1icmFuY2gKKzIxMDI0IGUwZjBmN2JjNWRhNzY5NGJhYzcwNWFiMmFlOWJhMGJmOWRlYTgyNDUgZGVzY3ItYnJhbmNoCisyMTAyNSAzYWI2YzQzNGE5Yzg3NTNjMjRhYmZlNTJmZDFlNzAwZjI5MTlkMjlhIGRlc2NyLWJyYW5jaAorMjEwMjYgNjUzMjIxMDM5NTVhMDRkMDkwZjA4N2U5MDE3ZDhlOGNmY2QwMjEwMyBkZXNjci1icmFuY2gKKzIxMDI3IDBkNDZiN2M3MTA1ZTJlM2VlMTE0YmZlMmU5ZjJlMWM2NTE0OGExMDggZGVzY3ItYnJhbmNoCisyMTAyOCBhNzgyNjg0MjQ4NjhhMTkxYWJiNGFiNGMzMGM1M2NkY2Y1NWRkMmFkIGRlc2NyLWJyYW5jaAorMjEwMjkgMGU1MThhNTNlYzViZWFkOWFkYmZjYjhkOTFiODY5NTJjNGZjNGZkOSBsZWdhY3ktdHJ1bmsKKzIxMDMwIGRjYjFjM2JkOGUwZTg5NzY2ZGZlY2U0NzMxOGVkODk5OGFmNjk3NmYgbGVnYWN5LXRydW5rCisyMTAzMSA5NmQxMTIxNTAxM2FiMjMzMGU5OWVkY2MwZmNlOWNmODIzZjNhMDA0IHJlbGVhc2UyMS1tYWludAorMjEwMzIgOTYzMzBjY2M4NzBhOTQ0NDEzMDE0NDI3M2QwZDJhYTczNDk5MmMxNSByZWxlYXNlMjEtbWFpbnQKKzIxMDMzIGVhODMwOGZkMDZmMjNkOWEzOTg4NTRjZTNjY2QwZGFiNDZlMzdiYTggZGVzY3ItYnJhbmNoCisyMTAzNCA4NTkzYjdlMGI2NDU0MTYzZmUzMDgyYzQzNmQ4Yzk4NDNkNTcyZTk0IGRlc2NyLWJyYW5jaAorMjEwMzUgNjU2OWM4NDk5YjE3MGZhN2I1MWQwYjY2NjVkZjE5YzcyYTBiYmJkMiBkZXNjci1icmFuY2gKKzIxMDM2IGU3OWJiNWI4YTVkMGU5YWE1MjRmZDExYTYyMWI3ZTc0ZjBjMjY2NDQgbGVnYWN5LXRydW5rCisyMTAzNyAxYjkyNzAxYTBlZDJkZDVmYjQ3MjNmYTljMjgzYzQxOTMyZWY3YThjIGRlc2NyLWJyYW5jaAorMjEwMzggYjczYzI4MTdjYzFhYzAyMWNjNzIwZjZmODQ5MmJhODJkYTMwZjQ5NyBkZXNjci1icmFuY2gKKzIxMDM5IDE0ZGM3NWE1NjAwYWM1YWJhMjhiZTY2MDFkMWQ4ZGJiM2E3YjNjNjAgbGVnYWN5LXRydW5rCisyMTA0MCA4MWE4ZDE4MzBiNjNhYmM5ODFkYmQyNjNjYzZjOTE5OTE0YzhkMzkxIGxlZ2FjeS10cnVuaworMjEwNDEgNjVhMmUzZThiZjU2ZDEwOTdmNDMwNWU2ODJjMGU4YmU1NzkyYjNhNyBsZWdhY3ktdHJ1bmsKKzIxMDQyIDU4NmZkNzllZjRkOTdjOGQ3NDkxN2QyY2I0ZjBkMTZjODZkZDhiMDIgZGVzY3ItYnJhbmNoCisyMTA0MyAxM2E4ZGNhNGIwNDBhZjg4MDlkYjA4ZjY1NDE2MmQ1OGExMGE3MTcxIGRlc2NyLWJyYW5jaAorMjEwNDQgYjBmYzgzNmYyY2VhZDBiMjBhODBkZDhkZDJmZTcyODAzZGZmMGVhYyBkZXNjci1icmFuY2gKKzIxMDQ1IGU4OTc1NTBiNDc0ODQwZjc2MTZiNTAzZTFhZmIxMWEyZjQzMTQxYzcgbGVnYWN5LXRydW5rCisyMTA0NiBmODQ3NWZhNmJhMzZkYTVjNWJhOGVlODE3MGIzN2RlNTVlY2E0N2EyIGRlc2NyLWJyYW5jaAorMjEwNDcgYzQwMTZhYmQ2YjdmM2VhMWRkNTA1ZDU2Zjg3MTljOTcxZjk2MjE0MSBsZWdhY3ktdHJ1bmsKKzIxMDQ4IGEzYzMyOWY2OWUzYTYwYmU0M2E2MmE4MzAwMTE2Y2FmOTg0ODRmNmUgZGVzY3ItYnJhbmNoCisyMTA0OSAyYjAxN2IyYzhmN2NiNTJmYTZhODU0NjhhNDBlZjg1MmI2NjYyOWI0IGxlZ2FjeS10cnVuaworMjEwNTAgZTY2Y2Y5ZDZhZDQzZWQwNTVmYzkzMTY3MDdkZjU1ZmJmYjI4NzZiNSBsZWdhY3ktdHJ1bmsKKzIxMDUxIDlhMjY4MzJkYTBmOWU2NTc3NTk4NzIzZmNjMmUyODRhNDE4ODhhOGUgZGVzY3ItYnJhbmNoCisyMTA1MiBhMWYzNTc2OTYyNjRiM2NiZWZhZjg1M2E0N2Q2NTM4NzFlYjA3Y2E0IGRlc2NyLWJyYW5jaAorMjEwNTMgOGNhZjIxOTcxZjM3ODc5ZWNlMjhmNTA4NzI2YWJiMDY3NDFkZGQ2NCBkZXNjci1icmFuY2gKKzIxMDU0IDdkZTdkMDY5NGJhODdhNGZmYjRjMzNlNGI1MmY0ZjYwZGI1NWUyNjggbGVnYWN5LXRydW5rCisyMTA1NSBhMjMyYTZjM2ZjOGM3ZGZhODNlMTJmNjczOTNhZDBiOGVhZjI3YmMzIGxlZ2FjeS10cnVuaworMjEwNTYgMTVmNDM4MWNmZjBmMGM2OGJmNGUzN2I0NDBhMGFjZTUwOWVjYmUwMCBsZWdhY3ktdHJ1bmsKKzIxMDU3IGQ5M2I0OTI5OGFmZDZmMTIxZjkyYTljN2U3ZGFjYmUyMjczMjFhZmMgbGVnYWN5LXRydW5rCisyMTA1OCAyZWMwOGQ2YzdkMTIwNDY5NTQ3YTEwODc3ODJiNTEwODYyZTIxOGRjIGxlZ2FjeS10cnVuaworMjEwNTkgOTk5YjEzZGUzOWE0MmRjNzdiNzg0OTUzYzY5NTE5ZDI2NDk0ZjA1ZCBsZWdhY3ktdHJ1bmsKKzIxMDYwIDFjMTgzYWU1YzkzNDkyYmM4ZjJhM2RlZWZmMWVmZTFjZDU2OWU3OTMgbGVnYWN5LXRydW5rCisyMTA2MSA1YTZiODNmNDE1MjdiNzgwYjA2ZjQyOGM3ZTY5MWFkMDk0OTliZjg2IGxlZ2FjeS10cnVuaworMjEwNjIgYmJhYzJhNmE1ZDE2ZmMyNzJiMWE3Y2E2MDdhZDA2NzM3ZjFhMWU5MyBsZWdhY3ktdHJ1bmsKKzIxMDYzIGFjNTQ4OWEyNTQ4ZGU0NjM1N2IwZmQ3NzUxZjA5YzExMmU3YTkxOGEgbGVnYWN5LXRydW5rCisyMTA2NCA4ODlkYjZkNTU1MDYwMWM1MzJiM2VhYjQwYzc0YTMyYTEyNjE4ZDAzIGxlZ2FjeS10cnVuaworMjEwNjUgYmRlMWNmNTc0MGVjNjlmOGI3NDY4Y2RlY2FmMGQyNTAwMTlkNWYxOCBsZWdhY3ktdHJ1bmsKKzIxMDY2IDEwOTkyMTk4YzlkNjdhYTVkZWQyNDY3OWUxMGUzMWY4ZTNkZDViMTQgbGVnYWN5LXRydW5rCisyMTA2NyA2MjQ3MjY1NjgwN2VhOThlNGU2YTBhODc1MzY2ODBjM2U4NWQ5NTg4IGxlZ2FjeS10cnVuaworMjEwNjggOGUxODc3NDBhYTk2YTY4MzEzY2U1YzVhM2MzMzA4OGRmOGQ2NWY3YyBsZWdhY3ktdHJ1bmsKKzIxMDY5IGY5MDFhN2RjNWZiNGNiOGYxNjdlMTc2YjBiMjExZjFhMTdkMDZmZjUgbGVnYWN5LXRydW5rCisyMTA3MCAxZjgzZTQxNTVmY2QxNzJiNDczOTc4MTk0NDQ5YWIyYTU1ODZiMGMxIGxlZ2FjeS10cnVuaworMjEwNzEgN2RlNWQzNzg1NzhjZGUxZDAwNzZiMGEwZWJjNzJiY2QyZTE5NGQzNCByZWxlYXNlMjEtbWFpbnQKKzIxMDcyIGU4NDk0ODg2NzRkYTI2NjE4ZDU0YTdhMmM0ODEyZmVlNzcwYTQyOGEgcmVsZWFzZTIxLW1haW50CisyMTA3MyA0MTBiYmY1ZDk4Zjk3YWEyMzU4MWY4MDI1M2UxM2I5YThmOGYwMWJkIGxlZ2FjeS10cnVuaworMjEwNzQgNzJiMTU3MzFhODc2OWEzZGU0NmU5ZGY3MDdlOWZlODU5MDkzYjM3NiByZWxlYXNlMjEtbWFpbnQKKzIxMDc1IDkwMTkzNzUwY2M4Mzc2YmYzYzgwMWQ1OTBhZmU1ZTkwZmZiMjA2NmUgbGVnYWN5LXRydW5rCisyMTA3NiBmM2JhYjkyOWQ3MGVlMDc3MGY1ZDY4ZmM0N2QzYTJiNmE0NjNkYWZiIGRlc2NyLWJyYW5jaAorMjEwNzcgNjIyODY3ZTRkODMyZmIwM2ExYTFkMjQwNDgxYzZmMmYyNGM1YmEzOSBsZWdhY3ktdHJ1bmsKKzIxMDc4IGFkZDA5NTYzOTg1MzBkZTQ5ZTM1NjU3Mzg5ODc2YzY1OWY5ZTEwMDAgbGVnYWN5LXRydW5rCisyMTA3OSBiYzA1YjBiNWUwNTc4MTMyZGFiNjUyNzRiOGJjOGFkOTE5OGU2YjU5IGxlZ2FjeS10cnVuaworMjEwODAgZmYyZDdjMTgzNzE1MmI2OWUxOTY4MmUwYmQzMzZlMWI1NWZjNTk0MyBsZWdhY3ktdHJ1bmsKKzIxMDgxIDRjY2JiOGU1ZmIyNGNiYzczOTVmZmUxODk0YWFkMjI3MmFjYTJlYjIgcmVsZWFzZTIxLW1haW50CisyMTA4MiBiOGZiZmE1NjljMzQ4MDNiNmM1MGUxMjU3NzYwNTE0MzQ3ZGE2MjdhIGRlc2NyLWJyYW5jaAorMjEwODMgNmI2ZTBiMGRiNGY3NTUxMWM3ZjZmMWVmZTBiNjIxYzY2MGY2ZTllZCBkZXNjci1icmFuY2gKKzIxMDg0IGM5MGJkZThiNjdiOGRjODc1N2JiOTY3ZjRmYmRmZGMwOWJjOGJmNTkgZGVzY3ItYnJhbmNoCisyMTA4NSBkYWJlNzEwMGIyMWYzMDdkOWMxNzBlNzQxZjQ4YTUxYmU0ZjQzM2NmIGRlc2NyLWJyYW5jaAorMjEwODYgNGNjMmFmOGEyZjRlNjYzMGQxZGFkNjVjMDkyZWFhMDk0NTBiNDY3MSBkZXNjci1icmFuY2gKKzIxMDg3IDZmZTU2YTliMzAyMThmOTIwNGQ5NDhjZWQyNTlkNTdjZjJkOTJkYmUgZGVzY3ItYnJhbmNoCisyMTA4OCBkZDA5ZjExZmE0MGRjOTVkZjg1ZjBiNjliMDE5N2ExYzdlMjVmZGQxIGxlZ2FjeS10cnVuaworMjEwODkgNWZjNmQwMjdlODYxMThlZWM3MTFkY2U5Y2FhMzc0NWY3Y2Q1ZjBlMCBsZWdhY3ktdHJ1bmsKKzIxMDkwIGJiY2RiZDhmNDQ2OTk1MWFjMDVlMDA5MmE5MzkyZjU4N2I2OWEwOGYgbGVnYWN5LXRydW5rCisyMTA5MSA3ZTQ1OWZiM2MzMzI5YmUyZWVlYjkzMTNjOTM3ZDQyNzdiYTllODYxIGxlZ2FjeS10cnVuaworMjEwOTIgNTkyMTA5ZjJhNmZkNjk2MDY5ZmVkNjNkMmNkMGM3ZjhjZTVkYmU1NyBsZWdhY3ktdHJ1bmsKKzIxMDkzIDYyNTQ3MzdjYjYyOTY4MDEzMzk5NjVkMzRiYTI4ODA3N2FkMjg5ZmYgbGVnYWN5LXRydW5rCisyMTA5NCA4NmNjZjkzY2M5NTIyODIyZDQ0MWU3ZDdmOTg0MjI2NmUxOTZkNmEzIGxlZ2FjeS10cnVuaworMjEwOTUgMThhMWUwOTM5N2RhYzk1YzZlZmU4YzczNTQ3ODUzMTU3ZWYyMjM4YiByZWxlYXNlMjEtbWFpbnQKKzIxMDk2IDQxMDE2Njc1MDAyZmU0ZDk5ZjI0MGQ5MzhhNjc5MjcxMWFiMjA0MzMgbGVnYWN5LXRydW5rCisyMTA5NyBhMDAxZmNiNzYxNzc5ZGU0NTljZGE4MjM2ZmQ1N2NmYzFmMWE5NzcxIGxlZ2FjeS10cnVuaworMjEwOTggYmQwMDU2ZWUxYTZlNDkwNWYzOTJkMzNjZmEwZWVmMmZiOTAyYWQ0NCBsZWdhY3ktdHJ1bmsKKzIxMDk5IDZlYTM2NmEyYjJhNjM0ZjRjMTUxNjk1NmUxYzJkYTRhYTIwNGQzMGQgbGVnYWN5LXRydW5rCisyMTEwMCAyMzY3YjdhMDAxYTdlN2U2OWE5ZjRhZjY4N2NkODQwOGVkMmQ3ZTM4IGxlZ2FjeS10cnVuaworMjExMDEgN2E5YTY5MjcyOWI0MDM5Y2Y3NDAzMWZlMTZiM2FkOWY2NjI5NGUxNSBsZWdhY3ktdHJ1bmsKKzIxMTAyIGMyZmNhNzdiYmYzYWI4ZDZmYzI3YjFkMmVkZTkzNTNiYjE0MzdmMjQgbGVnYWN5LXRydW5rCisyMTEwMyBkZTdmOWFhMGE2M2E1MjNiZjI3MTY0Yjg0M2E1NThlZmU1MTc2MGJmIHJlbGVhc2UyMC1tYWludAorMjExMDQgZjc0ZTkyYzhlYWMxYTY5ZTk4ZjE3MWU4MjhiNzJiNDMwNzY4ZDA5ZiByZWxlYXNlMjAtbWFpbnQKKzIxMTA1IDAzNzM4NmEyYjI0N2NiZTkzMjBmMDM4N2M2ZGQ4MmM2MjEyOTc5YjEgcmVsZWFzZTIwLW1haW50CisyMTEwNiAxNDIxMjllOWE5ODU2NDkwNjA3NmQ1MDgyYTQzMGNjMWNhYmNkZmIxIHJlbGVhc2UyMC1tYWludAorMjExMDcgOWRkYTBjMTFlMDA2OTlhOTQ0MDI4ZmMxYzAxN2Y2ZGNjMjZlYTViMyBsZWdhY3ktdHJ1bmsKKzIxMTA4IGEzYzliNDE0MGNjNWVjNWJmZjdhM2IzZTFkMTRhN2ZjZDA4MDkwNDYgcmVsZWFzZTIwLW1haW50CisyMTEwOSAwMjI0ODczYzBhYzc0YjAxYjAxMzdkY2QxNTU4MTY0Zjg0ZTk2MWQ5IGxlZ2FjeS10cnVuaworMjExMTAgNWQ2ZmMxOGM0MDA5ODVkYWQ3NDkxNmJhZDQ5ODA2ODQzMjQ4NWQ3NyByZWxlYXNlMjAtbWFpbnQKKzIxMTExIDE1YzA0ZmUyNGQ4NTg2NjJkZjUzMmZlMjBjNTcyMWIzYTNiZjMyNDEgcmVsZWFzZTIwLW1haW50CisyMTExMSA4MzQ1OWNjMTkxYzFjOWM4Y2M2YjA4YWRhOTljMDJmMGFmNmFkNTRmIHJlbGVhc2UyMC1tYWludAorMjExMTMgYzU3OGI3NWFkNjJmZGVkNzBiNjRhYjczNTFmZDRhMjg4Njk1OTdkYSBsZWdhY3ktdHJ1bmsKKzIxMTE0IDhjZjcyYjE4N2IzYWI5ODY2ZThkODQxZGY5MmYxODRhNzYwZTUyODIgbGVnYWN5LXRydW5rCisyMTExNSBiZTJkZGIyNWI2OThiMzlhODc5YzQ2NDUxNjE2YWVjYTliYjJiMWZiIGxlZ2FjeS10cnVuaworMjExMTYgZTIxY2Q0MTM1ZjNkYjFhZjIzYjNlNWY3MTBiMDdkNjM4MDMzZGJhNCBsZWdhY3ktdHJ1bmsKKzIxMTE3IDA5OWFlNDkxODA2OWE1YmI5NTA4MzY0NDg3NjhjMWM1MGNiNGQyMjEgbGVnYWN5LXRydW5rCisyMTExOCA3ZjVkODA0NGY5OTRjMWY1MTQwNjk1M2Q1ODc5M2UyYzA3MTU5YWIyIGRlc2NyLWJyYW5jaAorMjExMTkgYjE0MGI3OGYxNzg1Y2JhODg0ZDViYTVjYjExZmM4ZTAzZTlkYzhiZSBkZXNjci1icmFuY2gKKzIxMTIwIGE2MjMxZjI0ZGJiNmUwYTQ3NGU0ODNmZWUxNWQwMDg1OTczODhiZDMgZGVzY3ItYnJhbmNoCisyMTEyMSA5ZWI0NjlhNDMxNDQxNzY4ZGU4MTExMjEwNWEzNmYxZjYxYmQyOGIzIGxlZ2FjeS10cnVuaworMjExMjIgZTY0YzcwMzFkOTRmY2I3MmE0NDUyYzMyMGMxYjkxYWU1Mjc2YjY4ZSBkZXNjci1icmFuY2gKKzIxMTIzIGE0NzYzYmZlZDlmMGU5MzA3NTUzYjhjMjVjYmVmNTMzZjlmOWEwZDcgbGVnYWN5LXRydW5rCisyMTEyNCAzMWNkMGRiMGYwOWZjZDk5NWQxOTg1ODE0OTA5MjFmOWM2NGIxYzViIGxlZ2FjeS10cnVuaworMjExMjUgMmVjYWY5ZTIxYTA0NmQ2ZmU5MTg0OWI4ZWNkNjUxYWI3YTBjMjllOSBsZWdhY3ktdHJ1bmsKKzIxMTI2IDc1MTdmY2EzMjI2MmNiYWZkMzg5YzljMDIyNDIyMjdmZTg1Yzg2ZTYgcmVsZWFzZTIwLW1haW50CisyMTEyNyA2OTkxMDE5NDk1OTk0NDg0MDEzOGZjMjBjYzk0OWVjNWM3N2U4YzUwIGxlZ2FjeS10cnVuaworMjExMjggYzA2MTZlMDk2NDMwZjIwZDcxMWM0NDlmNjM4NDM1ZDRlYWI0ZTYwNCByZWxlYXNlMjEtbWFpbnQKKzIxMTI5IGU0MDY4MTU3ODJhZmQ0NzFiOGE0YTc1ODg3YzQ0MTk4NjY4YmRlNDkgcmVsZWFzZTIwLW1haW50CisyMTEzMCA0MGQ3OTRiNTA0MWRmMDQxNDcwNTFhMTY3NGMyZjgxMWQ0ZDIyMjQ4IGRlc2NyLWJyYW5jaAorMjExMzEgMDI1MzA3NzdiNTIxOGQ0MWI5Njk2MGZjOWY5NmVhZWZkODEwYWQ5YSBkZXNjci1icmFuY2gKKzIxMTMyIDA1MDU0YmQ3OTU5YjY0NTE1ODlkN2RjMDNmMDRhYjA0NGY4YTQzOGQgZGVzY3ItYnJhbmNoCisyMTEzMyBjNjE2NjU1NzgyZjFhZmMxOTA4NzkwNWY2MTQxYjZhMjE3YjYzYjY4IGRlc2NyLWJyYW5jaAorMjExMzQgYzI5ZjMxMzVhMjBjYjA0NDQ5NTZjYjE1NGVjNTdlYzQ5ZDU3OWFlNSBsZWdhY3ktdHJ1bmsKKzIxMTM1IDMzM2EyYzZlYjc0MzhhNTE3MTVlNWFjODMyYTI4OGJhODg0ZWNkNjYgZGVzY3ItYnJhbmNoCisyMTEzNiAxNjZiN2IzNjU4NTE5M2NhNzg2ZDNmN2Q3NGRlMTViYjUwNzRjMjVkIGxlZ2FjeS10cnVuaworMjExMzcgOTUyMjk3NmQxZTk5NmNjY2IzNTQxMzlmN2YwM2QxMzQ0MmU4OWU2NiBsZWdhY3ktdHJ1bmsKKzIxMTM4IGFjN2RjZjBlNTEwNGFmYTE0MGY0MzdiZTA1YTE2NTRiYzNkMjFjMjAgcmVsZWFzZTIxLW1haW50CisyMTEzOSAxZjEzNjQ4MDY1OTljYTMxZWU4YmQ1MGIxZWYyNTk4ODc4YzQ3YmQyIGxlZ2FjeS10cnVuaworMjExNDAgOWU5ZWRkYWMyNWI4NThmNmZjMGExZWQ5ZGMwMTEzNTZhMWRiNzRlYyBnZW4tYnJhbmNoCisyMTE0MSAyN2RkOWVjMzE2MmNkOGNhYjk0YmQ3MzQwOTRlMjA0NTcwMzUxZWIzIGxlZ2FjeS10cnVuaworMjExNDIgMGFmNmVhZjlmODllZWY0YTlkYWVkMTRkM2YzNTkyZWRjOWI4MzI2YSByZWxlYXNlMjAtbWFpbnQKKzIxMTQzIDM2NDI0NDI2OTUwNjNhOTgxMDkyZWE0ZTk3NzZiOWU1ZGYyMjE2OWEgZ2VuLWJyYW5jaAorMjExNDQgNmFjYmE5ZTQ3NThjYjAxODkwYmUwNjkxNzFmOGRlZmJmY2ExNjYzNyBnZW4tYnJhbmNoCisyMTE0NSBlMzI4MjE4NTQ2YjU5OGJmZTQ2ZjY4OTQ1MmFhM2JmMjhmYTg2MWNjIGxlZ2FjeS10cnVuaworMjExNDYgYjdmMmUyMzEyNjEwZWM0ZmIzNTFkN2RlZjQzYzEwODNjODJiMDAxYyBsZWdhY3ktdHJ1bmsKKzIxMTQ3IDlkNTMzYWU1NzRkMjBkMTRjM2RjYWQyYjZiYzA0MzZiNjQ3MDBmNjMgbGVnYWN5LXRydW5rCisyMTE0OCA4ZWVhMmVmYjM0Y2QxZjE2ZTZjYmY3MTI3Mjc1YzllNTE3MWEyOTY4IGxlZ2FjeS10cnVuaworMjExNDkgODVlM2ZhMWViODM2Yzg4MjIwZWZmNGEwYjc1YWE5NzE3N2QyY2MyNyBsZWdhY3ktdHJ1bmsKKzIxMTUwIGU4ODdkNjg2MmY3N2I0MDgzMGQ3NDdmMWEwNWExNmI0NjkwYWNhM2UgbGVnYWN5LXRydW5rCisyMTE1MSBiNDk5NDVlODA0NGE4MDZmYjJiYTI4YzUwMTY4OGQ1ZmZiZmNkY2JmIGxlZ2FjeS10cnVuaworMjExNTIgZWZmOGRhN2MzZGNiOWJlYjBlODViYmZmODA4NTcyOTJjNzg1MDk0NyBsZWdhY3ktdHJ1bmsKKzIxMTUzIGNhYzIwN2IzYTQzZmQ4YTg5NDY0ZGQyY2UwY2FlNGMzZDIzZmQ4OTkgZGVzY3ItYnJhbmNoCisyMTE1NCA3YTMzOGY1MzdlNDJiYjJhM2QxYWI0YzYwZDEwYTQwMGEzNjUxOTFkIGRlc2NyLWJyYW5jaAorMjExNTUgYTQ0N2ZjOTQ3Mjk5OWExNjM4ODAyNjRmMzU0MThjOTg5YTg1ZDk4NyBkZXNjci1icmFuY2gKKzIxMTU2IDI4YzRiNjZlY2JjNThkYWI0YTM5MTZhNzljYWQ1OWZjZDVmOTgzNDMgZGVzY3ItYnJhbmNoCisyMTE1NyBhN2MyZmZlYmJkMjY2ZmFmYjAxNGU4MTI0OTFkZjUxMWYzOTYwNTYyIHJlbGVhc2UyMS1tYWludAorMjExNTggNGNiMzQzMTRiZDk3MDljMDA1NmY3MzNlYTczMjQ5OTI5OGY2ZDE1NiBsZWdhY3ktdHJ1bmsKKzIxMTU5IDU0MWUwOTVhNmVkNjUxNjkyNWU2NjFmOGI5YmM4YzdmNzFlZTc2YzAgbGVnYWN5LXRydW5rCisyMTE2MCA0MThjYWJjYjc2M2YwYWMyZDU1YjBmYTVkNzZjODE4M2UyZDk4ZWRmIGxlZ2FjeS10cnVuaworMjExNjEgMzU0YTRkZjA5ZTM4NWI4NDkzZTAyZDgzMGU5NWE3YTVjN2E5ZjAwNSBsZWdhY3ktdHJ1bmsKKzIxMTYyIDMxY2I1ZDE3MzExYWI1Mjg5MDkxMWY3MjVlYWE1MWRlMmMyMjFiM2QgbGVnYWN5LXRydW5rCisyMTE2MyAwMTE2ZTQ1OWRhZDJjYmRlNmU5MjI2NGRmMTc3ZGMwNjU2ZjFkODIxIGRlc2NyLWJyYW5jaAorMjExNjQgNGUzMDE5ZGE5MWE5MzY1ZWJhNTE1NzIyYjI4ZDBlODE0MjBiYTFkNiBkZXNjci1icmFuY2gKKzIxMTY1IDIyZmViYTk2NTljZTc5MjBkZDYxMmNkODUzNjJlYzk0MmYzNDFhOTkgZGVzY3ItYnJhbmNoCisyMTE2NiAxMWFjMDJjMDM2OTBkNDE0NGEwYmZlZjUyNWE3ZDQ0ZjVjMzRkNDU5IGRlc2NyLWJyYW5jaAorMjExNjcgOTdhMjA4MjkxY2Q4YmIwODQ5YmQ1NWY4OTU3MWE2OTQ4M2M2NTQ1NiBsZWdhY3ktdHJ1bmsKKzIxMTY4IDQ3YzlkMGNiNmUzMTRkYmI3OTZkOTgxM2IzNDcxMDgwYjYwNjdhMjQgbGVnYWN5LXRydW5rCisyMTE2OSA3NjdjNGIyODIxMGFkZWI0ZWUyOGMzZGFiNmZhNmJlYmMwYTUwYzUxIHJlbGVhc2UyMS1tYWludAorMjExNzAgZGJlODJhOWM2ZjdkNzNmNTk5M2M0NTEwNjM2ODljYjc5OTIzYzliNiBkZXNjci1icmFuY2gKKzIxMTcxIDgwNjQ3YjgyZTFiMmQ4NzQ2YzdjZmI3MWFjYjBlMWVkNTUyYzExMjAgZGVzY3ItYnJhbmNoCisyMTE3MiAwZTdjYWQ1MWNmNjY1MzBlOGE0YWQ3YTc3MWZiNGM4MjFlYTlmNWM5IGxlZ2FjeS10cnVuaworMjExNzMgYTcxZmVlODRiNGU0OTAxYjk1NzI0NDIwYjVlMTg4YmY1NzIzMWE0OSBkZXNjci1icmFuY2gKKzIxMTc0IDhjZDRhM2YwMTk1MjFkOWE3ZDQ3NTYwNjQxMjYyMWEyYzBmOWZiN2EgbGVnYWN5LXRydW5rCisyMTE3NSBiNTFiNGMyYmY1ZjllYWZhODk4ZjAwZTgzYzE5MjgyYjhmM2IyZDhlIGxlZ2FjeS10cnVuaworMjExNzYgMTdiM2VlOWNjNDNmYTJmOTEzNTk4YzNmYmRlMTNkYjAzNzBmZDRjOCBkZXNjci1icmFuY2gKKzIxMTc3IGUxYjMwNjI1YTQ2NzQwODkzM2Q0OGIwNjU0ZDhiZWNkNDY3ZDYyMDcgZGVzY3ItYnJhbmNoCisyMTE3OCAyY2U3MGE4ODNhZjZhN2MwNjBlM2U3NTc5YjkwMGIzY2VlZTAwYTZhIHJlbGVhc2UyMS1tYWludAorMjExNzkgMzFjMTFhYjFhM2U4NTc0ZWE0MmIyZWQ2NGZmNWM1MjFmYjUzYjQ2OSBkZXNjci1icmFuY2gKKzIxMTgwIDA0NjNiOWU1NzA0ZWIyODc4NTdlOGNjMzI2ZDNlZDdmZTlhNzEwOWYgZGVzY3ItYnJhbmNoCisyMTE4MSA3YmM0NzNiMmM2NTQyNDMwNDI3ODRiOGFjYTI2NGNjMDI1Y2NkYzg5IGxlZ2FjeS10cnVuaworMjExODIgMWJjZThiYjQxZGJkM2YwOWQ3MGUwMmY5MGNkODIzMTZmMDk5Yjk2YiBkZXNjci1icmFuY2gKKzIxMTgzIDJlNGM2YmE3ZDA5YzE0ZDEwYjgxNDg3N2M0OGVlOWEwYTZhYmRmMWUgbGVnYWN5LXRydW5rCisyMTE4NCA5Y2U4YTk5NWJmMTJlNTgzZDQ3NDRhNDMzZTJhOGVlYjZiZmIzZWYxIGxlZ2FjeS10cnVuaworMjExODUgMDY3NmVhMmZmODY3YTk4ZGE0MmQ5ZTVkOGZkY2Q0YWFmZDk5MGFkNSBsZWdhY3ktdHJ1bmsKKzIxMTg2IDU0Zjc2MjkzZDkyNjk4NTE1ZDUwMzM3Yzg5MjVkMzQ3OGE5MjVhNzQgbGVnYWN5LXRydW5rCisyMTE4NyA4ZWY4NGI4M2VjMWZhNDM1NTE0Y2IxNWUwZjhlMGI3YWI1NTkxNjljIGxlZ2FjeS10cnVuaworMjExODggMTI2YTY2YjM0MTNjZDJiYmZmNDJhNjdlYjZmODIyYjhmMjE2ZGU5YyBkZXNjci1icmFuY2gKKzIxMTg5IGIxZjYzMjgwYjJjMjk4ZWM5MTE1MThmZWM4NTgxZThhZmNjOGFkNjYgZGVzY3ItYnJhbmNoCisyMTE5MCA2NTFjNjY0MDZiZjgyMTFjMGMxMGJkMGM1ZThlNGYyYWViNGI4MzEzIGRlc2NyLWJyYW5jaAorMjExOTEgZDYzOWExZTFmMWY0OGY4OGZlNDNjMDcxZjE1MDdmYzE2NjA3ZmFiOSBsZWdhY3ktdHJ1bmsKKzIxMTkyIDdjMzQ4OTlhZDUwNjIzZTJjM2I1MWQ3MTBjM2I1NmQ5OGJiOTY3MjQgbGVnYWN5LXRydW5rCisyMTE5MyAwZWMwM2UxYmU1NTg4ZWI3ZWFjZjJjMGQ4OGJkYzU2ODdhYTQ5NTdhIGxlZ2FjeS10cnVuaworMjExOTQgNGQxYzc4NDkzMjIxYWJhYTMyMWE2ZDkwMzRmMTQyYTg3MjI3YTk0MyBsZWdhY3ktdHJ1bmsKKzIxMTk1IGU1YjI3M2U5NWY3NGI4NDk4YzgzYzhhYzM3OWJmYTk1YmEzNDQzNDQgbGVnYWN5LXRydW5rCisyMTE5NiAzMWJkMjVhMmQ4YzViOGQ3YWY3MTg5NTVkMTZjMmFmYmYwNGZiNzMxIGxlZ2FjeS10cnVuaworMjExOTcgNmZiYzVmMjAxYTFmODc2MGNlN2ExNTFlNzNlOWU1OGNkNzA5NmVlMSBsZWdhY3ktdHJ1bmsKKzIxMTk4IGE2NjU3MmFjNzFlN2RjNzg0Yjk1MWE3OTI3MTc3NmNmYzg3YTEyNzAgbGVnYWN5LXRydW5rCisyMTE5OSAwMmFhMTMzZGViNTM4ZTRlODdmMmY0MTBkMmY5OWNmOWNjOWExZDcxIGxlZ2FjeS10cnVuaworMjEyMDAgZjkyNmViMWY1NzcwMWMyMzAxMDcyZDEwN2I5YWVmZGMzOWJhZDBmYyBsZWdhY3ktdHJ1bmsKKzIxMjAxIGVmYjUwNjljYzc0ZmU3MDhjMzhiZjU2MWQzN2FkMGMyZDllOTQ4ZGQgbGVnYWN5LXRydW5rCisyMTIwMiAwYmFkNDJlNTYzMjA0MTVjMmQxMjc1MmIxYjY3ZGMwNGFjODEwN2M4IGxlZ2FjeS10cnVuaworMjEyMDMgY2Y2YTg2NDM4N2QzNzg4MWFkNzI4NTg2NDNmNmZhZmE5N2Y0ZWU4OCBsZWdhY3ktdHJ1bmsKKzIxMjA0IGM1YWM2ZjA1NWM2MjM1YzI0N2EwNGRiMzQ4OTE2Y2JkMmNkMDE3YTggbGVnYWN5LXRydW5rCisyMTIwNSBkM2U0Mzk5ZmUyZjk0MzE2MTVhZGJhYmY2YTQzYjdkZjY0ZWI4ZTc2IGxlZ2FjeS10cnVuaworMjEyMDYgYzYzOGE3YTJmZTc3YjkzMjIyZjA3ZmMwZGZiMjgwZDZmMWQ1MjlmYSBsZWdhY3ktdHJ1bmsKKzIxMjA3IDY3NzFkYWIxZmUzMmZmMzkwODBjNmJlNDQ4NTdlZmRmOGEzZjFiMmMgbGVnYWN5LXRydW5rCisyMTIwOCAzNDBlOTMwMWU4NWIzMjRmYzVjMTU1ODExYmIwZmM5N2M4NDVhMjNmIGxlZ2FjeS10cnVuaworMjEyMDkgMTJkN2Q0ZGI2OWYyZjZmMDUxNmFmZTBiMmQ1MWIxMGQ2OTM1Yjk4YSBsZWdhY3ktdHJ1bmsKKzIxMjEwIDA5YTA4YTFlNDdkNjhhYTc2ZmNmZjZiMDRmMTA3YWExNWM1OTdiMjggcmVsZWFzZTIwLW1haW50CisyMTIxMSBlN2Y3ZWVmMThjOTg2M2NjM2E3NmNjMTg2Njk1Yjk0YzQwMmVjZTBjIHJlbGVhc2UyMC1tYWludAorMjEyMTIgYjczMjQxZTUwNTU2NzBlZTRmNDkyOGJlNDYzMThiMTc5YjAzZjhlNSBsZWdhY3ktdHJ1bmsKKzIxMjEzIGNjNzYzMWZiZjdmOTJlMTNkNGQ0YTRhZTdiYjk2OWE5NTI3OGM5YTkgbGVnYWN5LXRydW5rCisyMTIxNCA4MjYwMDBhNDA4NjY1MjI4YzY3NTAwZGRkNzBiNzMwMGRkNTA2OWY0IGxlZ2FjeS10cnVuaworMjEyMTUgMmYyMWZlYmY2ZDQ2MmI3Zjc0YjVkNjc5YmVjMzk2NDhjNjM2NzgwMyBsZWdhY3ktdHJ1bmsKKzIxMjE2IGY1YWIzNDc5YWNkNGQ1MzJhODJmZWQ4YzgyMzQwMjc1ZjUzZjRiMjQgbGVnYWN5LXRydW5rCisyMTIxNyBjMjU4NzZhNTFmMWI1OTYzMGZkYzBmMDk5ODdkYWFhZDhjYWIxMmQxIGxlZ2FjeS10cnVuaworMjEyMTggYTJlNmZmZjQ3MWIwMjUzMjAwOTY3ZGFkY2ExNDg5OWE4YThlZjllMiBsZWdhY3ktdHJ1bmsKKzIxMjE5IDE1YTI0ZTBiZjk0ZjIyZDEyYTVmODU4YmQxNWI1NTkzY2Q5YzYzNzIgbGVnYWN5LXRydW5rCisyMTIyMCBkMTIyMWZiZGQ4NWQ4Y2RmOTRjZGE1NmQyODU4MDVkZjdkOWQ4YzhhIGxlZ2FjeS10cnVuaworMjEyMjEgYmQzOTkzYzQ5NGExYmVlYTFhN2I2ZWI0MzUxNDIxNjFhMjc5MjYxYSBsZWdhY3ktdHJ1bmsKKzIxMjIyIGQzYjE5NTZlM2RlMGMxM2VjMDRkNmE4NTdhYjg5ZWVmY2FlNjg5YjEgbGVnYWN5LXRydW5rCisyMTIyMyBhZTBmMDljN2MxZTkxMTYwNDhjN2M3Y2MxNTJiOWViZmIzODkyM2M2IGxlZ2FjeS10cnVuaworMjEyMjQgM2E1ODAyN2NhZTRlN2RkZjdkNDYzOTM4NmE2YTQ4MDk4ODhiODdiMCBsZWdhY3ktdHJ1bmsKKzIxMjI1IGE3ODI1NDQxY2FhNGE3NzdhN2VjMDM0Yzg0YzUwYWQ2YzA3Mjg4Y2EgbGVnYWN5LXRydW5rCisyMTIyNiBhNDM4YWJhMmQxMzdiN2E1OTEzMjczNmI1OTdhNTQzYzBkNGVlZDZiIGxlZ2FjeS10cnVuaworMjEyMjcgYWVkYzNlOTIwZGViY2FkYThkMmY4ZTEzZmM4ZmNlMzIxY2QyM2IzNiByZWxlYXNlMjAtbWFpbnQKKzIxMjI4IDhlNWI1MzdmODdhMTkxOGNjMjc1M2E4NjIxZDM5YTlkZDkxMTY1NDAgbGVnYWN5LXRydW5rCisyMTIyOSAxOWJjNjNhODQ0MzkwZTRhODJiNzkxYmU1MjRhMDBiNjkzMTA3YmJmIGxlZ2FjeS10cnVuaworMjEyMzAgNTk2NTMzOTQyOWM5Y2QyMmZlNWIwNTMwMGE2NDZjMzEwM2NhY2IyYSBsZWdhY3ktdHJ1bmsKKzIxMjMxIDk5MGI3M2ZhMDc0Y2RhNGNhYjMxMmViODRlNjY1OWU4MDZlNzc2NzggbGVnYWN5LXRydW5rCisyMTIzMiAzNmU4MjU2NjBhMjQ1MWFjYzhiNmU1NTFlNWM4YmRkOTU5MGY1YzBlIGxlZ2FjeS10cnVuaworMjEyMzMgOWE0Y2FjMmI4YjhmYzk4NjcwMzEyYzhhZDZkODM1M2VlNjQxNWMxMCBsZWdhY3ktdHJ1bmsKKzIxMjM0IDFhNmI4ZjY5ZmVkNjIxODRmYTE3NTZhNzc3ZDhmNDEwYzAzMjQ2OWYgbGVnYWN5LXRydW5rCisyMTIzNSA1ZTQzNTczZjBkZjFmMTlhNzM4OTY0N2QxMDE2YzRjYjFlZDcwNjNlIGxlZ2FjeS10cnVuaworMjEyMzYgZWQzNzQ1ZGE3NDE5MjgwODZjNzRiOTY0NmQyNjBiMDNhMGVkY2YyNCByZWxlYXNlMjAtbWFpbnQKKzIxMjM3IGJlNDJjZTI5NWVkYjUzYTM1OTQ4N2UwNGRhYmNlNTA4NmMxMzkxZDYgcmVsZWFzZTIwLW1haW50CisyMTIzOCA1ODczNmNhOTE0M2MwZjZmNzVmY2QzYjg5MDAzM2M4OGI1MmRhNjRkIHJlbGVhc2UyMS1tYWludAorMjEyMzkgOTAwNTk0M2M3NTRlZTkyMGEwYjY4MmY1NjY3NmFlOWNiMDQxNDFlYSByZWxlYXNlMjEtbWFpbnQKKzIxMjQwIDRhODcyNjc3OWJiYWY3M2EzNmYyYWMxYTMxODZmNGJhMjlmOTdkYTEgcmVsZWFzZTIxLW1haW50CisyMTI0MSAyNTY0MDZiNWNmMGM0ZjRiOGZkMTM4YmIzYmRmZDQ0MmZmZDFmYjExIHJlbGVhc2UyMS1tYWludAorMjEyNDIgNzZjM2ZmNTdlYjZkMDY2ZjIxNDkwNDA0YWQ4Yzc1NGM4MGIxOGY3NCByZWxlYXNlMjAtbWFpbnQKKzIxMjQzIDYyNTNkMTI4YTc4YmY5MmM3NjdmNTBkNzMzOWU4ZDRjYjkzOTQzZDYgbGVnYWN5LXRydW5rCisyMTI0NCBlMzcwOGNiMWUwZDA3Y2I5YzVjY2MxZDAxMGIyMWUyMDcwODQyYzNhIHJlbGVhc2UyMC1tYWludAorMjEyNDUgODI2OTk0OTliMzhlYzFkMzA0MjljOGQyOThjMTFhMWMyYTM4ZWU3YSBsZWdhY3ktdHJ1bmsKKzIxMjQ2IDU0NmM3ODUyYmFjNTVjZDkyMjY3N2EzNzVkM2I5YTlkMTFkYjNhMGQgcmVsZWFzZTIwLW1haW50CisyMTI0NyAwZDRhZDg5ZWQzMmQ4N2VjYWVkYjNlOGE1ZGMxM2IyMDk5MDFkNzI3IHJlbGVhc2UyMC1tYWludAorMjEyNDcgNzNkZTk0YTcyMmQyMDZhNDVjMGI0OWQzMDExYzYyOWVhZDRkNjJiMSByZWxlYXNlMjAtbWFpbnQKKzIxMjQ5IDA3NTdiNmM5OTMwNDE0MzdkMWZiMzAwODQ0NmFiZDU0ODQzYTBlYjEgbGVnYWN5LXRydW5rCisyMTI1MCBmOWQxMjdhYjMyZWM5YWFkMzM3Mjg4MDYwNjRlZTNhMDM2NWFhNjhjIHJlbGVhc2UyMS1tYWludAorMjEyNTEgYjY2NGIwMmMzZTkxY2Y0OWUyZTEyZWVmMGVjODczOTBhMDYyZTMxYSByZWxlYXNlMjEtbWFpbnQKKzIxMjUyIDQwOWFiZjIyNTE4NWQyMWQzNzA0YjkzMTNiZjA0ZTBiNDYxMDliN2QgcmVsZWFzZTIxLW1haW50CisyMTI1MyAwODYxOWJmMTgyOTkwNDIzN2U3YTBjYzlkYThhN2Y5MmVjYzg5MzU2IHJlbGVhc2UyMS1tYWludAorMjEyNTQgZTFkZDQ2MzBlZjNiOTFiYWQ3ZjIxZDU4MWQzOWFlNjk0ODc5ZDE3ZiBsZWdhY3ktdHJ1bmsKKzIxMjU1IDY5OTFkZGFmZTM4MjhhMmRjMThmZWQ1ZDJmOGEzYWQzYThkY2ZlMTMgbGVnYWN5LXRydW5rCisyMTI1NiA2ZWVmMjFlNTIzYjY0NTY5NDkxNDI3ODJiMWY4YzUzZjFlMzY1NjllIGxlZ2FjeS10cnVuaworMjEyNTcgM2E4NzMyYzY3ODk4YzZkYWE0Y2ZhMGFhNWQ0OWUwNDNkYjVhYzc0OSBsZWdhY3ktdHJ1bmsKKzIxMjU4IGFjZDNkYTVkNTYzY2M4MmNmYjA3NDBhNTVjODQ0YzZlYjZhMDI4NDMgcmVsZWFzZTIxLW1haW50CisyMTI1OSA0OTc1MTczZTFhMDJkODJhZWQ4ODljMDczM2Y2YTVlNmNjNzY4OTdhIHJlbGVhc2UyMS1tYWludAorMjEyNjAgMjIwNDA1YzA3MjMyNTkzYTRjZDlhNzEyNzRjMzI4ZGIyZWZiZmYwYSBsZWdhY3ktdHJ1bmsKKzIxMjYxIDgzYzQ3NDhiOTM5MGU4Y2U0MjQ0MGZhMDU4ZjAzMThjOWE3NGM1ZmQgbGVnYWN5LXRydW5rCisyMTI2MiBhYThlMjM4YWIwYWQ3NjM0ZTdkZGQ2N2RhOWYxY2E3OGFhMzM0MWFhIGxlZ2FjeS10cnVuaworMjEyNjMgYTRkYzIxYjQ3NzRkYzk5N2UwNzAzOWUxYmViYWQ3OTExMWFiMzhlNSByZWxlYXNlMjEtbWFpbnQKKzIxMjY0IDdkMmU2ZTFkNjBjZTU4YmE0ZjlkZmYwOWVhZDFlNmI3MGM4MzVjYzEgbGVnYWN5LXRydW5rCisyMTI2NSA0ZWJkMjkyYzk3NWY4MDk4ZjFmNWFiNGE5Y2IyNzU5Yzg3MmE2OGZjIGxlZ2FjeS10cnVuaworMjEyNjYgZjAzNjE4MzczMjNkNmQ2YTQ4Mjc0MzEyYzRiYTFkODNlYjI1NmQxNSBsZWdhY3ktdHJ1bmsKKzIxMjY3IGI4OTNkMTIwNDVjYjQ2MDllYTIyMTM1ZjU3YzJkYjY1ZWJmMTg1OGMgbGVnYWN5LXRydW5rCisyMTI2OCBmOTI2MTkwNGNlYmJjNTU5YTRjZTA0ZWFjNjIyNzE2NmY2NGNhM2IyIGxlZ2FjeS10cnVuaworMjEyNjkgZDkyM2IzYzhiMTUyNjlhY2YyN2M3ZDEwMDE4OGViYzc5MjQ5YjY1MyBsZWdhY3ktdHJ1bmsKKzIxMjcwIGVhZTY2YmYyNDg3ODg4YmQ0NjkxNjYyOGNjZjNkMzU3MGFlNTI3MjYgbGVnYWN5LXRydW5rCisyMTI3MSBmZTQwNzFiZWZmNDE4NjhmOGMwZjQ2OTA0Y2RlMzQzMWM4N2JlYjU5IGxlZ2FjeS10cnVuaworMjEyNzIgZWI1MjQzMjJhMWMzMWM2MzUyOTc5ZDI1NWE1MjE1MjMyNjdhYWU2MyBsZWdhY3ktdHJ1bmsKKzIxMjczIGY4Mjg3ZDg0Yjc1NTE3MTZmNWFjOGMyMWUzNWFkNTUyZDhjZGVlZDYgbGVnYWN5LXRydW5rCisyMTI3NCBmMDI2MDViOGZkYzFlNTk3MTU2MjFmODgxZjVkYjllMDgxZThjYzViIGxlZ2FjeS10cnVuaworMjEyNzUgMDM3YzhiZTUwNWUwNTlkNzc0Yzg3MzQ1ZjUxMTVmMTU4Y2JkMjNmYiBsZWdhY3ktdHJ1bmsKKzIxMjc2IGExZWY0M2E2ZDZlMTMxM2Y0OWE5MTdkYTY2MWY5YmJiY2YwYjg0ZTQgbGVnYWN5LXRydW5rCisyMTI3NyAwNDM5YzgyYThmZjQ3NTYxMzA2NWFiZjY0NGZkNjljNTRlYTY3Yjk3IGxlZ2FjeS10cnVuaworMjEyNzggNDUxNzA5M2ViOTllYWNiYThhZDA4YjEyZWYzZjBmMGE5NTFmNGIzMCBsZWdhY3ktdHJ1bmsKKzIxMjc5IGU0ZDY1NWFlOTE0MGUzMTNmOTk1MzM5M2Q5YmY5NzRkOWI0ZTI2YzMgbGVnYWN5LXRydW5rCisyMTI4MCA0NzcxN2U1NjY3ZWIxNWYxODRlMGE3NzJkMzJiNWQ3YzhhZjVmZjU4IGxlZ2FjeS10cnVuaworMjEyODEgMjRjMjliMzcxNTEwMmNkYjM1NjlmMGI2YTQ4YzBjMmMyYjBlZTE2MSBsZWdhY3ktdHJ1bmsKKzIxMjgyIDlmYTU0YmQ3YTdjYjU2ZWM4ZTk0ZGQ0NDAzMDhkZjIyMzQxNzQxNmMgbGVnYWN5LXRydW5rCisyMTI4MyBjNGRiMDliODc0MjQyMzBkMjJlOWZmZWVmZGYzZTVjNGJiN2IzMDk5IGxlZ2FjeS10cnVuaworMjEyODQgZTNjZjMzNDhmZWNhNTMwYWY0ODNkZWRjNzRhNzQ1OGQxZjg4YTJjMSBsZWdhY3ktdHJ1bmsKKzIxMjg1IGYxYjVmYmVlY2MwZTk5MjE3MTQ3MmQ5ZThlZmUxMjdiZGY1ZjhkMmQgbGVnYWN5LXRydW5rCisyMTI4NiA0ODI2YTZjZGFmYzQwZGUyMmFjYmVjZTQzN2QwMGYzOGZmNjZmMTY2IGxlZ2FjeS10cnVuaworMjEyODcgNDVkZTFhYzJhMzc2N2I2ODVjYTBiYTEwOGQ1OGU0YThmNzU5NTMxMiBsZWdhY3ktdHJ1bmsKKzIxMjg4IDVkM2U3Zjk5Y2Y1MmNmNDZkZmM5YTU4MWJmZDc4YWQ0YmM5YmZmNjQgbGVnYWN5LXRydW5rCisyMTI4OSAwNjViMTdmYzBkMmVlMDZmNjUxMjhiNWFiZWIyNjIxY2QzZWVmMTcwIGxlZ2FjeS10cnVuaworMjEyOTAgOWYxZGZhNzg2YmE2NTVlZGExMjdmMWZlNWM2Mjg4OWY2YTQ4ZGU5MiBsZWdhY3ktdHJ1bmsKKzIxMjkxIDA1MTRiMTZjMWE2ODNmM2JkNTQ3YWNkOWZhMGQ0NjYzYzFiZWI3MTEgbGVnYWN5LXRydW5rCisyMTI5MiBmYjdjNDRhZTRhNjI3N2Q0MmI2NjMxZmU2MGY2YWFiNjZhN2Y0NGI5IGxlZ2FjeS10cnVuaworMjEyOTMgZDUwZDRmODFhYTRjNWE3YzAwZWRmOTA0NTMzYzU4OTVkYWYwMDE0ZiBsZWdhY3ktdHJ1bmsKKzIxMjk0IDM1OGNiNzRjMDg2NGY5YThiNzkzYTY3MWRmMmEzNmFhNDFkNmUzYTUgbGVnYWN5LXRydW5rCisyMTI5NSA1N2RkMTNiNmM4MDMxMGQ0NDNiMjBmZjU1Y2NmZDYzZjI4YjM4ZjQwIGxlZ2FjeS10cnVuaworMjEyOTYgMzA5ZmIwMjZjODRlY2Q1N2ZkMjU3MDk1ZTdjODM1ZGIwMjI5NzM4ZiBsZWdhY3ktdHJ1bmsKKzIxMjk3IDFhMmE5MTRiMjQ2YzIyYzZmMTMxZWJjYTA0ZjRlOGQxOTIxNThiMmMgbGVnYWN5LXRydW5rCisyMTI5OCBjODhmNDE0ODYwNWZkNTJjZTBlYjIwNjI2MzRkNzk4OTQxZjYyOWE5IGxlZ2FjeS10cnVuaworMjEyOTkgNmIwYTgxNTdiZTNiNjgwNmYxM2UwYTMyYjA0ZmVlYWMwYjdkN2FiNiBsZWdhY3ktdHJ1bmsKKzIxMzAwIDQxNDkxZDE5Njc0OGNkNGRmZjkwMzIyOWYwZDY1MTFkMjU3NmU0N2EgbGVnYWN5LXRydW5rCisyMTMwMSAzZDkxNjRkOTVlNzg5ZjcxOGQ2NzlkODI2MTgxMTc4MjdmNWYzNDY2IGxlZ2FjeS10cnVuaworMjEzMDIgYTQ2ZTM1YWNmOWMxYzY0YmE5MDE2M2JhYzBlZDRlY2Q5YjZmMTg1NyBsZWdhY3ktdHJ1bmsKKzIxMzAzIDE2ZTRlYjQyNzc5NzhmNjZiZThiNDY2Y2VlNTQ4Y2U5NTNlNzUzODIgbGVnYWN5LXRydW5rCisyMTMwNCA3OGJmYmUyZTcxOWNiM2JkOTAzNTRkNDg0OTc2NmQxMGU5NDcyYTk3IGxlZ2FjeS10cnVuaworMjEzMDUgNDI2ZTBjNzIxYmJmNmViMjBhNTI5N2NiZTA3NGNkMTgxOTQxZDBmOSBsZWdhY3ktdHJ1bmsKKzIxMzA2IGViZjYxYjViNWFlYmJjYTcxMWNjNmNhNzU0ZmRhMjExNTBjNGFlYzYgdW5sYWJlbGVkLTEuMS4xCisyMTMwOCBmZDgzMjEyZWI4ZjI0ZWZkNjQ5NGM4OWE0MzI2MjVjNTg1N2VmNDA1IGxlZ2FjeS10cnVuaworMjEzMDkgZGVlNDk4OTYxYmZlM2M5MGZjNzU5ZTAyYWI0YzRhOGRkOGQzZDdmMiBsZWdhY3ktdHJ1bmsKKzIxMzEwIDRhZDg0MmY5ZDQzMTQ3YTgwMThiYzBmOGIxZDdkOWEzMTllZTdjNzcgcmVsZWFzZTIxLW1haW50CisyMTMxMSA0NDEyMmU3YjQ5Y2YyYzk0NzNlNjhkYTIxM2RjYTg5MjVmYzQ5YzAyIGxlZ2FjeS10cnVuaworMjEzMTIgOWUzMjZjOWU2YmU1OTQyMTAxYzEwM2Q2YThjNjdkNTU0NTZkZmEyNSBsZWdhY3ktdHJ1bmsKKzIxMzEzIDg2ZGFiMGQ0M2I3MzEyZjBiODg3ZTU3NjkxYzRmZTc4ZDU4N2U3MzggbGVnYWN5LXRydW5rCisyMTMxNCA5NzM0Zjg5NWY0ZmJlZDk4YjQ3ZmE2MmRkMTI2Njk4ZjBmNDdkOTJhIGxlZ2FjeS10cnVuaworMjEzMTUgZDJjOTUwMDMyMzkzMDAxZjdiZDIzMmZjOGE4ZmU0NWQxYjI2NTY1NCBsZWdhY3ktdHJ1bmsKKzIxMzE2IDdjOGRhZDVmMmQ5NjZkYzIxZGJkZGQ3MGRkYjkwZjkxZTI5YjdkMDYgbGVnYWN5LXRydW5rCisyMTMxNyBiNTY1OGEyMzBlMWE1Mjc2MDQ1ZTI3YmQ0NmEzZTlhYzEzZmY4ZjM1IGxlZ2FjeS10cnVuaworMjEzMTggOGI3ZmY0NGI0NjY5NTk3YTY0N2Y0ODA2MjNkMzVkYThmNjg3YWM5MCBsZWdhY3ktdHJ1bmsKKzIxMzE5IDA2MzJkY2Q2OWVhM2FmMTlhNjk4MzU2NzRiNGQ2NDVhNzE0NmI2NDIgbGVnYWN5LXRydW5rCisyMTMyMCBlM2JhMzczOTg1NWFkMWZmNzdkODg0YmQ3ZjU3YmRjMDg5ZmMzZTQ5IGxlZ2FjeS10cnVuaworMjEzMjEgZjM4OTIzY2UzYzZiMGY0YWRiYTMxNjdiZjI0OTI1ODQ2N2Y3Zjg1YiBsZWdhY3ktdHJ1bmsKKzIxMzIyIDFmMWQyYzUwYjNjNzg0ODExYzc0YTEzYTRjNjZjZDY1ODg4MzQ4OTggbGVnYWN5LXRydW5rCisyMTMyMyBmN2MwMWI5MzhhMTczOGFkNzUyNWYxNDExMjVhMGYxODZhYTA5NDA5IGxlZ2FjeS10cnVuaworMjEzMjQgMDQzZTIwMDE3NGYxYjdlOWMzNGY0ZWQ2MWYxZDJjOGVlYzY5ODJjOSBsZWdhY3ktdHJ1bmsKKzIxMzI1IGUzMWEzNDkxNjZmNGUwY2QxZTI1ZTE5OTgwZWZhMjdjMzAxM2I0MmQgZGVzY3ItYnJhbmNoCisyMTMyNiBiYzA1YTk1MjQyYTM3ODAzYTUxYmRlNTI5MmExZDliZGJkMTkzMjVkIGxlZ2FjeS10cnVuaworMjEzMjcgZjYwNzhhMzBmNzBhMjgwZWE2ZWI1ODRlMjMzYjllYzgzNmE2ODc2ZCBsZWdhY3ktdHJ1bmsKKzIxMzI4IDY4MDBiY2NlMDQ1NTViOWZhM2ZlMjRmMzQwNTA5NWFlNjUyNzZhYzUgbGVnYWN5LXRydW5rCisyMTMyOSA0ZmEzMWVjYTNiZTRhNTRkOGU5MTdkMzUwODBiNDFjY2QzMTM2ZDA5IGxlZ2FjeS10cnVuaworMjEzMzAgMjk1YWNjMDc1NWYwYzdmZWM4YTFkOWFkZWM1MDJhMWZlYTM5ZTFiYiBsZWdhY3ktdHJ1bmsKKzIxMzMxIDU1ZjNhMDRlMDY0MTFlY2ZmMjc2NWQwN2YwM2NkOWE3MDQzOWFkODEgbGVnYWN5LXRydW5rCisyMTMzMiBmZmJiOWM5MThhYzA0NmIwY2U2YzViYjZiN2IxNDQwYjM0ODY2ZjcwIGxlZ2FjeS10cnVuaworMjEzMzMgMDM0NGU0YWM3MGIwYzhmOTU1ZTIxNWYwM2Q2NjRkNTJkYzlkNmRiNSBsZWdhY3ktdHJ1bmsKKzIxMzM0IGIxNDUyMWZkOGUzOTE2MjFhMzFkMGZiZmNiMTM1ZmVkMWUxMWM4MGEgbGVnYWN5LXRydW5rCisyMTMzNSAyMGUzYTZlMTBjMjQ4ZmUwM2NjYmNkZjQ1MmNkN2Q3MDdhZjcwNWM1IGxlZ2FjeS10cnVuaworMjEzMzYgMjJmODVjNmE2NTIwYTY5NThiM2E5MTE4NWM4Y2Q5NWU1YjAyMzllYiBsZWdhY3ktdHJ1bmsKKzIxMzM3IDkzMjkwM2M3ZDA1NGIwMmJiODk3MGNlMmYyMjE0Zjk3MTI2MDE4ZWQgbGVnYWN5LXRydW5rCisyMTMzOCA5ODIxNjNjNGU5ZDJiZTBhMDMyZjZlNjE4NTFjODM4OWUwMjJiMzA5IGxlZ2FjeS10cnVuaworMjEzMzkgNjhjMTJkNTU1NmRmNzE2YmQwNDZjZGY4ODMxNTAwNzM0NjJmYWQ3YSBsZWdhY3ktdHJ1bmsKKzIxMzQwIDBmZjc2ZDc4MWQyYzYxMThkNjk4MjE5ODljNGRlNDk0OWIyNmYxZDIgcmVsZWFzZTIxLW1haW50CisyMTM0MSBmZjhlMTgzYWU1OGY5NDFlZTI2OTY2NTI2MTI0ZTQ0ZmNlMjRhOTVhIHJlbGVhc2UyMS1tYWludAorMjEzNDIgN2NkNmU1MTVmZDMwYTY5MTYxNzk0MWFjNmUxMWY0YTZiYTY0Y2NiNSByZWxlYXNlMjEtbWFpbnQKKzIxMzQzIDMxNDg0MmRjZDUyZTk0ZTc0MWVjNzljZTkyMmVhMmE2YWZlNzM4NzIgcmVsZWFzZTIxLW1haW50CisyMTM0NCA4OTNiYTFmMDM3OGExZjY0NGJjMDVhZDRjNDhiNjBiNDhmM2RkNzE0IHJlbGVhc2UyMS1tYWludAorMjEzNDUgNjdjODQxZDgyMWUwNzRhOWI3ZjRjZTcxNDAxYjU1ZDEzNTIyZDA1NyByZWxlYXNlMjEtbWFpbnQKKzIxMzQ2IDkwOTg0MTU5NzFkMDE3MDFiYzNmMmE5OWNjMjcyNDFkMjJiOWM3ODggcmVsZWFzZTIxLW1haW50CisyMTM0NyBiZTk2NzFlNjFmNGE2MDg2N2E0ZmYxMWQwMWE4YmVlYzJhZjdkMzBmIHJlbGVhc2UyMS1tYWludAorMjEzNDggM2E2YTJlNTlkZTAzYzM3MWZmMzlmODAyNjM4MjI5YWFkZjExNjliNSByZWxlYXNlMjEtbWFpbnQKKzIxMzQ5IGFjMDAyN2UyYjNiN2E0ZmQzZjJiMDA0ZjU1ZWU3NmUzY2U0OTViMjUgcmVsZWFzZTIxLW1haW50CisyMTM1MCBlODY1MGQ3NWU1YTQ1NGM4OGM1MDZkYjI2NTYyYjk1ZTRmMGI1MzA1IHJlbGVhc2UyMS1tYWludAorMjEzNTEgNzVjMWY5YzNmMGQxZjdiODMwNmE4NjczNWZjY2ExMDA5NjNjY2IyNyBsZWdhY3ktdHJ1bmsKKzIxMzUyIDljMmJjM2U0ZGY3MzgzNzFmYTk3NDBmODdkZTU5MjM2NDJjYTM4N2IgcmVsZWFzZTIxLW1haW50CisyMTM1MyBkNTJlNjM1ZTIwNWY4NzYzNDM0YWJlNzU4ODJlNDUzZTE5MDNiYTE3IHJlbGVhc2UyMS1tYWludAorMjEzNTQgNmNlYzc2MWRmMmMzNGFlMTk4YTU5NDM1ZjIzMjIzZGFiYjU2OWQ5YSByZWxlYXNlMjEtbWFpbnQKKzIxMzU1IGZhNGE3N2U0MjRkZGIzNWU4OTMxMTM3NDVmZWYyYjM4NTQyMDNlMDQgcmVsZWFzZTIxLW1haW50CisyMTM1NiAwNzFjOTU3MjIxZWNjNTlkODU1NDVhMjA5NjBjMmU3ZDUwMTZlMDk1IHJlbGVhc2UyMS1tYWludAorMjEzNTcgYzgyM2VjNDdkZjQ5NWU1OGNmMTczODUxM2YwMzA0NTdhZDc3ZTQwNSByZWxlYXNlMjEtbWFpbnQKKzIxMzU4IDFhYTU5MWU0MTgxNTQ1YzNiZGM4NTA5ODM0MWU1NDdjMjQ0MzU5NmYgcmVsZWFzZTIxLW1haW50CisyMTM1OSAxNDBjYjI0NmI4NjRhZWEwM2Y1YWI2N2UxZWEwNjg3MDc0NThlNzI3IHJlbGVhc2UyMS1tYWludAorMjEzNjAgMTU5YWJmYzhiMWJjNTFiZmM5MmQxNmEwYmRkNjhhMDU3NjUwOTRjZSByZWxlYXNlMjEtbWFpbnQKKzIxMzYxIDBjOTc4NzI4ZWJhZmVjODczMmQ4ODljNDNmMGVkYTdmNWM5ZmExMDMgcmVsZWFzZTIxLW1haW50CisyMTM2MiAwZDI4NzQzNDE0NGI1OWMyYzFlNzZmNGNiZDJjNDA1OTE3NzkwNzgwIHJlbGVhc2UyMS1tYWludAorMjEzNjMgY2RhNmNhOWRmZDU5MGQ0OWY4MTllMWZhN2NlMzc0NmE4YWE5OTVlZCBsZWdhY3ktdHJ1bmsKKzIxMzY0IDNiYTdhMzU4Y2UwMjg4NWFmNGQ1YTNiNWIyZWQ2NTgyNDhkM2U0OTMgbGVnYWN5LXRydW5rCisyMTM2NSBmYjM1YjNhMjI2MDQ2MjIxZjdiN2QzNGEyYjY2NWI0M2JhMzYyOTFhIGxlZ2FjeS10cnVuaworMjEzNjYgZTQyN2FmYjU2MzdmMDhjMWMyNDBlZmVhZTE5NTJiMzI5MDlhMGZkZSBsZWdhY3ktdHJ1bmsKKzIxMzY3IDkzYmRjNWVjZTFiZjY5ODdiNjE3Yjg5Y2FiNGNmMjU5YTZhZDc3YjAgbGVnYWN5LXRydW5rCisyMTM2OCBlNDUyN2Q0NWU5NDJkMWM5NWY2MjBlZTE5NjFiZDM1YjJiYWY4MzY2IGxlZ2FjeS10cnVuaworMjEzNjkgZjk5NWM0ZjI1MTIwMDhiM2E1YTY0Yzk5YzlkNGUzY2IzMmNmZmQ4NiBsZWdhY3ktdHJ1bmsKKzIxMzcwIGQwMTRiNTIyNjkwMGQ3MzMyMTE5YjY4ZmEzODdjYmVhYWM3YTIzNTIgbGVnYWN5LXRydW5rCisyMTM3MSBiZjkzNmM1Mjk2MzUzYzI2OTRjYTNlZmM1Y2RjNzAyMDM4MzRmYzlkIGxlZ2FjeS10cnVuaworMjEzNzIgNDlhY2M4YWM2MGMyMzI0MTVkOWJkNTdkYmNiZWI0NjIyMWI4N2JmNyBsZWdhY3ktdHJ1bmsKKzIxMzczIDQxMjQzY2I0ZWEwNWQ3NzcxMmE1NDZjODk2NDUxODA1NDU0ODRjNTYgbGVnYWN5LXRydW5rCisyMTM3NCA5NzZiMGFlNGY1MjdjMWExZTc1YzViNWFjNDM1MTIzMWRhZWJlZTEyIGRlc2NyLWJyYW5jaAorMjEzNzUgM2YwYmRkNGFlNjg0MDBmNjQ4ODdjMDg2NmMzM2I2NWEwMThkYjVhOSBkZXNjci1icmFuY2gKKzIxMzc2IDc1NGRlYjg2ODIwZTVmNWNhOGNmYmE2MGYyNGYyYTM5OTUwYzA2YmQgZGVzY3ItYnJhbmNoCisyMTM3NyA2Y2EzZGQ4MmNiMDdlZDQzNTVhYjViMjMyMmRhYWQ1OGI0ZDNmMDM3IGRlc2NyLWJyYW5jaAorMjEzNzggMDRhNjRkMmQ4YjJkMjA1Nzg5MDVjNTdkY2VjNDYzMGFkNDUyYjM1OCBkZXNjci1icmFuY2gKKzIxMzc5IDAyMjZkMDZlM2VmZjU5Mjc0OTBlYTdjZTY3NThjMDQ2YjlkNTc4ZmYgZGVzY3ItYnJhbmNoCisyMTM4MCA3ZWY2NjJhZWQ5ZGU0ZTBhNjdhNTljYzI0MzhjNjFhNzc1NzM1ODcwIGRlc2NyLWJyYW5jaAorMjEzODEgZjczMDI5YzcxYjBkZjA5ZWUwNzk1NTkyMTFiNGE0MDZhOTRlZjc3OSBkZXNjci1icmFuY2gKKzIxMzgyIDJkMGI2OWE2N2Y2OTRjNjViMzliNWYzN2UyZTBmMDliMjA4MTQzMDYgZGVzY3ItYnJhbmNoCisyMTM4MyA0MDVlYWJhMzZiMmZjODYyZWMyYmE3YTRkN2VhZjllYjI4Y2NhMjJmIGRlc2NyLWJyYW5jaAorMjEzODQgMjc4MzliYTdlYzIyZWQ0OWUyYzMxNGY5MTYzYWJkNjlhNTk0YmM1MyBkZXNjci1icmFuY2gKKzIxMzg1IDg1ZGI5ODlmNmE3M2M2Y2NjNTZhYzQzOWRiNjhiNGU4ZjVhOTMyYTIgbGVnYWN5LXRydW5rCisyMTM4NiA2YTE2MzAxMTc4MDUxNjdlYWI5YzA4ZDQ2Y2QzYTlmOTc0NTA4OGY3IGxlZ2FjeS10cnVuaworMjEzODcgNzk0NTgyZmMwNjIzZTNiOTU4NzdhZDhmZDVkZWFmMTUzNTIxY2IzMCBsZWdhY3ktdHJ1bmsKKzIxMzg4IGMyYTYwZGU5MWQyYzcxMzgxM2YzY2QyMjEyNzVlZThlMDI0ZWIwNTcgbGVnYWN5LXRydW5rCisyMTM4OSBlZGFkZmEyODM1OWY4NTI1MzAwZGFjYjQzMDQ0MDFhMGZkMjg5NDE3IGRlc2NyLWJyYW5jaAorMjEzOTAgNTg0NjkyMDJlZThkOGIxYjVjOTdkMWQ1ZDg1YmFlNmY0MDEyYWJjZiBkZXNjci1icmFuY2gKKzIxMzkxIGZlNjMzNTM0ZjQ0Nzg2Mzc1NDdhMjc0NzhiOWMzNjk2NjYzNTIxMzAgZGVzY3ItYnJhbmNoCisyMTM5MiBhMTJlYzg4NzY1MTVjMzdlNzYzOTZiNmFjNTdhYzU3NmQ3ZjQyZjk5IGRlc2NyLWJyYW5jaAorMjEzOTMgNTY2OGE4NTUwYmU0NTQ1YjRiZTRkMjE1M2NkODllMjk3M2JlNjk4MCBsZWdhY3ktdHJ1bmsKKzIxMzk0IGU5MGZjMzRkNzNkMDBmYTIyYTFiNTJhYWY1OTVhZDMzOTlhMjY4NjIgcmVsZWFzZTIxLW1haW50CisyMTM5NSBlOGRjNzMzODY3MDYyYTE0OWFhMTI3NzMyODBmOTU3YWI3NzRiYjM5IHJlbGVhc2UyMS1tYWludAorMjEzOTYgMGZkYzI3NzllOGQ0M2M0Y2Q3ZWZjMmIyNmI2YWNmZTMyOTlmNzBiMiBkZXNjci1icmFuY2gKKzIxMzk3IDhkYjk0MzY3ZmFlMWM4MDgwNzBiMWMxZmMyMTE5ZjU0MDA3YjU5ODUgZGVzY3ItYnJhbmNoCisyMTM5OCBiM2JhMGY0OGFkYzRjZTgwNWI1MTZlM2RmY2RmODdmYmNiMTQ0N2RkIGRlc2NyLWJyYW5jaAorMjEzOTkgMTE2NjAxMWE5Y2ZjYTk4MmUwMzAyODNkNTJmNjIzMmZlOWNiYmUwMSBkZXNjci1icmFuY2gKKzIxNDAwIGY3MGIyZDYzZjMwOWE4ZTI2MTFmNjUxYWI4MjdkYjY0OGEzNzY0MTAgbGVnYWN5LXRydW5rCisyMTQwMSBkMzJmZTQ4ZmJiOTY4ZDcwYzEwMGU2ZGViN2MyZWYzODc1MjkyYjIwIHJlbGVhc2UyMS1tYWludAorMjE0MDIgMjY0ZWQ1NWRlYzZlMWFkMzU0MTljZjlkZDBiYjEzNjQ2YjM0MDVhNyByZWxlYXNlMjEtbWFpbnQKKzIxNDAzIDQ0OWRhODU3ZGNlNTk0NDFhOTFmZDI3ZTIwZjdlMzNmZGRmNjU2ZjkgbGVnYWN5LXRydW5rCisyMTQwNCBjMDI5Yjc0MzMyZDJhYWZjYmJjMGNkODA3MWQ1NDJmYjZiMTE1YzU1IGRlc2NyLWJyYW5jaAorMjE0MDUgZDJjOTk2M2U0MjkxNTU1NjgxN2MxYmRjNmI2ZWI1OWQ3YTlkYTZjYSBkZXNjci1icmFuY2gKKzIxNDA2IDFkYTcyNGNlZTIyZDNmNjU1OWNkYmEwMWQxMjdlZGU5MWMwZDNiNzggZGVzY3ItYnJhbmNoCisyMTQwNyA1YTc4NDEzNDBkYzdjMWM5MzBkMWQ1OTg0MzVmMjI5Y2I4MjllODQ0IGRlc2NyLWJyYW5jaAorMjE0MDggMDhhMmMyZTc5NGVmZGU2Yzk0MWM4YTYxNTNmMTlmZjkxMWNiMzZlZiBkZXNjci1icmFuY2gKKzIxNDA5IDAyMDBjZDIyNDkyZWMyNjA5Y2YxNGZkNDA2MzA0MjM5OGNkMTJmZjIgbGVnYWN5LXRydW5rCisyMTQxMCA0YmFiOWVjZjNlMDVlMmY2NjhmZjBiZmZiMGZlZjEwNmE3YTlmYzU2IHJlbGVhc2UyMS1tYWludAorMjE0MTEgMTczMzA0MjljZGZlYjU4MDhiMDgxYjgzY2VlYjk3N2YyYzJmNDM1MSByZWxlYXNlMjEtbWFpbnQKKzIxNDEyIDc5OGI1ZTZiNDkxNWYwZGU5NGVhNjI4MzE5OTMxM2FhYjYzYTQyYmQgbGVnYWN5LXRydW5rCisyMTQxMyA1NTk2NTA0YWQ0OWFmYjBhNWNmYTAzNzU2N2M5ZWY2OWE0NWFjZjI2IGRlc2NyLWJyYW5jaAorMjE0MTQgZTU4Nzk5ZWVmYTM5NzgxYzAxYjg4ZGJjYWI5MjA0MTA3OWViOTFhNyBkZXNjci1icmFuY2gKKzIxNDE1IDI3Yjg2NjUxNGM5ZWJkY2ZkMmEwNjgwODUwN2U4NDM0MDA0MjQyMDIgbGVnYWN5LXRydW5rCisyMTQxNiAyNTEzYmMxZGIxMmZlZGFhNDMwOTgyYzI4ZjFiNTE4ZTU1MDVmOTRlIHJlbGVhc2UyMS1tYWludAorMjE0MTcgNTIwZTFmNDAxMDFhYTAxZDM4MWI0MjA4MDZhNDEzMzM1OTVmZDFiNiBkZXNjci1icmFuY2gKKzIxNDE4IDg5MzdkMjM0YjJhOGQ2NTJmYzk1YjYwM2UzYTUzZjI1NTA4NGQxYzkgZGVzY3ItYnJhbmNoCisyMTQxOSBjNjcyM2NkNTU0NThiMjQ4ZGE3ODBjNTFjMTJjNzEzYTA0Zjc4Y2FjIGRlc2NyLWJyYW5jaAorMjE0MjAgNjUwZjcwMDRlNmQzOWFhMzM2Mjc0NmQzZmE2ZDQwNDU0MTI3MWZmYyBkZXNjci1icmFuY2gKKzIxNDIxIDIzYmIzZjQ5Y2I5NDI0OTgzYmRiYWFmYzM5YmE5YTNmZjg4M2JkMDYgZGVzY3ItYnJhbmNoCisyMTQyMiA0NGE4N2MzMDBmMmJhNGYzYTBmODRjYjQzYTE4MjIxMzY2MzdiNjgxIGxlZ2FjeS10cnVuaworMjE0MjMgM2VkYTYyMzFlMWMyNTg0OTA4YTQ4MTQxYTBlMTdlMmZjODgyMmQzNCBsZWdhY3ktdHJ1bmsKKzIxNDI0IGQyM2Y5OTMxYjAzMzU5YTg1ZmNmMmMyOTdjOGUzM2ZmODIwODQ0NjcgZGVzY3ItYnJhbmNoCisyMTQyNSA0ZTI2YjQxZDJmM2RiY2I2ZTc0YzQ0ODgwYzcyNDVhYzJlZWM3YjFiIGRlc2NyLWJyYW5jaAorMjE0MjYgOWRlNjU2MDA0MjBiNjA3MTgzNDFmYmI5Y2FjMzRlNzM2MmY2N2Q2YSBkZXNjci1icmFuY2gKKzIxNDI3IDljNThkZGM0NzE5NWFkODMzMTE4MWU5ZTk3MjRkNjMwZmI2YTYwYmMgbGVnYWN5LXRydW5rCisyMTQyOCBiZTA5NmJiNGUzZjIyN2E3NDQ0MzNhMzQyYjJkMzVkZDY3NDUzZTlmIGxlZ2FjeS10cnVuaworMjE0MjkgOTg1NTZjZGZlNzE2OTRlYjVjMGVhOGI3MDMwNmVjY2IwMDljMTAyNSBsZWdhY3ktdHJ1bmsKKzIxNDMwIGE4MGUwZDM5ZjEwYjI3ZmE4YWQ0ZTk1MWM2MGRhM2QwMjkyYWI0NDQgbGVnYWN5LXRydW5rCisyMTQzMSBmYTNhNDIwN2Q5NTcwODQ3NTJjZDVhZDNkM2NmOTJjNTEwMDU5ODEzIHJlbGVhc2UyMS1tYWludAorMjE0MzIgNTY2NTJlNjg0NzM3YjlkYjJmYzUyZTBkZTBkZjUzZmJjMmZhY2M1YyBsZWdhY3ktdHJ1bmsKKzIxNDMzIDkwMzIxMjYxMjc3MTI5MGE0OWY2MDdiNjYyNGIyNWE0ZjJjZDk3N2EgbGVnYWN5LXRydW5rCisyMTQzNCAxMTczNzFhZjU0NGIwOTBhNTQwOGIzMDAyYjVhNzI5YmZlNGJlZGQ3IHJlbGVhc2UyMS1tYWludAorMjE0MzUgY2FhOGZmYzNjZDFjNzBlMDdiNzY3ZjQ0MmU1MTZlMTAyM2JmNTdlNSByZWxlYXNlMjEtbWFpbnQKKzIxNDM2IDc3ZjQxNjM4NzkyMmVhNzgxOGIyNjQ1ZmE4MzNiYTJmZDE4NDNjNGYgbGVnYWN5LXRydW5rCisyMTQzNyBjMDI4ODY3MDIzMGU5MzI1YmY0NjNlNDZlMjkzNzhlYjAwNzljM2JlIGxlZ2FjeS10cnVuaworMjE0MzggMmUxYWRiZTg5ZTRhNTg0NDFlYjdlMTI5YmJhYzgyNTBlZjYyNjVjYyBsZWdhY3ktdHJ1bmsKKzIxNDM5IDgxMTg0MmRhY2QzOWUxZTljNzk5MWUxYjlmNDA1N2RiY2YzMGY2NTggcmVsZWFzZTIxLW1haW50CisyMTQ0MCA0NTFjMGFiYmY4YTlmNTQ1MjhlMWMwYmQ5NWYxMTVkNTRjYzM3YWM3IGxlZ2FjeS10cnVuaworMjE0NDEgZWFhYmNhMTMxNzRlMDNmYzRkZjY5ZWEyYjJjOWNiNWE5MzIwMWNiNCBsZWdhY3ktdHJ1bmsKKzIxNDQyIDNmZGUxZDIwMzMxZWFmNjFkZjEwZDAzMjQyYWY1NzNiMTZmZDEyZWUgZGVzY3ItYnJhbmNoCisyMTQ0MyA0NzJlZjY4MzE4YThiZjhmZDI3MTkyMDNhYzkzMjNlZDlhODE1NDFjIGxlZ2FjeS10cnVuaworMjE0NDQgNGQzN2I3MmFlMmQyNjA0MDA1NjZjNmMxMjEwNTU4NDQxNDNkZjQwNSBkZXNjci1icmFuY2gKKzIxNDQ1IGYyNGVjMjNjZDQ3ZWRmZjc2YjQyZDJiNjhhZjI2OWM4MDgxZGUzNDYgbGVnYWN5LXRydW5rCisyMTQ0NiBjNzZkYWQwNjQ2MWI4ODg0MDIwNzEwM2FmYjNkZDg3YTcyZWE1MjkwIGxlZ2FjeS10cnVuaworMjE0NDcgZmJlMGRlZDVlNGMxYmYwMjkxZTQ3ZGIzOWMyNGMyNTNjZDQ3YjE5YSByZWxlYXNlMjEtbWFpbnQKKzIxNDQ4IGZiOTZhNzhlNzJhYzZmNTQ4N2QyODNjNjUzYjQ1NzMyN2I4ZWQ5NTQgZGVzY3ItYnJhbmNoCisyMTQ0OSA3NjQ0OTJhOGY2YTc1OTM3M2U2YWJlMTM0YzVjOWUxNTVhMjA3ODdjIGRlc2NyLWJyYW5jaAorMjE0NTAgZTNlYWMyMWUxZDMwNGJjMzc2YzM3MWQ0OWZlNmUzMTE2OGI2NzVkZSBkZXNjci1icmFuY2gKKzIxNDUxIDlkNmQxMTE2YmYyY2NlOGM0MzI5ZDkwOWFlNTg2NmJkNGFiZjE3YWIgZGVzY3ItYnJhbmNoCisyMTQ1MiAxNjk0YWI4N2YxZDdjMzMzOTVlOTkzYWJkYmFlYjI2MmI4NDcyMTVjIGRlc2NyLWJyYW5jaAorMjE0NTMgZjM5OWU2YmM1MGFmZDVmM2RlNDIyNGUxODFkNTNkNzRmNGE0NTYxMCBkZXNjci1icmFuY2gKKzIxNDU0IDAxYjkyMGVhNTJmMTZmZGVkNDU3OTA3NWI1OWM3NmY4NzZmYTE3ZjkgZGVzY3ItYnJhbmNoCisyMTQ1NSAyZTMxNjY1YmJkYzI1NTMxNDg5ZTA2M2I1NWM5YjJhNjljYzkwMDQwIGRlc2NyLWJyYW5jaAorMjE0NTYgYmZlZDIxMjNiMTRkN2M0NTA2Nzk2ZTBjYjI5ODMxMmVmZDg3Mzk5MCBkZXNjci1icmFuY2gKKzIxNDU3IDBiZDY3YzhhOTY5ZTA1MThkYTk4OTRjMjdmYTBkYzBmMjhiNjM5MDMgbGVnYWN5LXRydW5rCisyMTQ1OCBiNjFmM2I2Y2UxZmY5MGQyNDNjODZlYjEzZjcyNGRkNDY0NTQyMDM3IGxlZ2FjeS10cnVuaworMjE0NTkgM2IyOTVjZTI3MDVmNjdhYzZmMTJiNTRhYzJkZDYxMmVjMWE2NzkxMSBsZWdhY3ktdHJ1bmsKKzIxNDYwIGUxMDBjMDVkNDQ0ZWU5MDE2NWNjOWQzY2YwOWJhZWQzZTkwZmUxNDQgZGVzY3ItYnJhbmNoCisyMTQ2MSAyNGEwZjg0YWQ3NDY1ZTdiMjEzMGNlZjMyNGI0MGRkYjU3YjEyMDVhIGRlc2NyLWJyYW5jaAorMjE0NjIgMzM4YWFhMTRjNGU1YWVlYmUzMWE3ZmFmODgzNmZhMTQ5YzBlOGRhZSBkZXNjci1icmFuY2gKKzIxNDYzIGIyMWU3MGM2ZDA5ZDRhMzAzN2Y1OTI1OGRmZTUwOGE4MTllZmZlZTEgZGVzY3ItYnJhbmNoCisyMTQ2NCA2MzBjODZkMzMzMGJkNDk3Y2E2MmU0N2ViNWYwNzk3ZjYyZjk3MTc5IGxlZ2FjeS10cnVuaworMjE0NjUgYmFmMDRjZGY2NWEzMDBkZTZhNDQ2M2UyZTJkYmEwMTE2MTFiMWViNyBsZWdhY3ktdHJ1bmsKKzIxNDY3IGZkYzNiMTYyMTVjNzVmMzJkYTJkMDczZGUyYjI5ZmE3YjFiNWI3NzggcmVsZWFzZTIxLW1haW50CisyMTQ2OCBmNjkyNWFkMmQxOTExYjM4ZTg3MjdlOTIzYjBkNDM1YjcyNGUxNzMyIGxlZ2FjeS10cnVuaworMjE0NjkgNDBkMTlmOTA3ZTEyMDE1NDYwMDhlOTU5OWQyMjI1MzA4NmYwNWE1MSBsZWdhY3ktdHJ1bmsKKzIxNDcwIGQxYzYwYjA3MjE3ZjhjNjJkZjY0OGE1ZGE2MWZjZGMzMTU2NmY4YTIgbGVnYWN5LXRydW5rCisyMTQ3MSBkYzc0ODIzYjQ5ZWE1NzBkZWM0ZDk5YWZkNmEyN2ExZDIyZjgzOWM3IGxlZ2FjeS10cnVuaworMjE0NzIgZjZiM2E3YTkwZDgzZmMwYmEwMjRlMDNhMGMxYjNkNTNmYjliYTIwZSBsZWdhY3ktdHJ1bmsKKzIxNDczIDA4MDEwMDY0NzM5NmM4ZDAzNGZjNmUzMDZkNzdmNDhlMGNiNTUxYmQgbGVnYWN5LXRydW5rCisyMTQ3NCA5NWUzOTQ3Y2EzY2VhMTk0NTA4NzhmZDhiNWQ3NWQ4NjZkNDQxNWRjIGxlZ2FjeS10cnVuaworMjE0NzUgODM0NzkyNTIzMDk0ODkxMjJmOGU4OTAyOTk1ZjRlOWE2Y2RlYjVkMyBsZWdhY3ktdHJ1bmsKKzIxNDc2IDhjZGZmNTQ1Y2JkZTUwZTI5NTZmZjBlMWY2NmQzNTZkYTMxNWUxODYgbGVnYWN5LXRydW5rCisyMTQ3NyA5YzZhOGRjZDcyMmQ1NTUzMTA2YWFhYzlmNTc3Yzc5ZTliZTJkMmEwIGxlZ2FjeS10cnVuaworMjE0NzggMDYzMzJiM2M0MzM1ZDQzMzAwYjJkNDQyZTJlNzE3MjBhM2ZjY2ZmMyBsZWdhY3ktdHJ1bmsKKzIxNDc5IDYxMzVjMTJlODQ0ODY3MmIxM2RjNGJjOGY0YjhiMGZlM2QzMzU2YjUgbGVnYWN5LXRydW5rCisyMTQ4MCAxZTAyZTIwMTRlMzZhNDA5ZDQ2NTZjY2JjZTdkYzVlZDVlYWY4ZDBkIGxlZ2FjeS10cnVuaworMjE0ODEgYWFkZDk5ODMwNTMxYWY1MDY1MzhhMWQ5ZTA5OGE1Mzg1MGE5MzA4MCBsZWdhY3ktdHJ1bmsKKzIxNDgyIDc0YjNjNGUzZjQ4NjExMGE0OGFhM2ExYTg3YjMyYzMxYTc1MDE4NzYgbGVnYWN5LXRydW5rCisyMTQ4MyBmODBmNmU5MjI4ZGU2ZGU0M2YwMGE5ZGQ2ZTY4YzY0YzY2NTIzNmQxIGxlZ2FjeS10cnVuaworMjE0ODQgMTE2NTMyMTQxYWRlZTM4MDQzODQzODgwNDgxNTc1ZmYxZmRmOTMwMiBsZWdhY3ktdHJ1bmsKKzIxNDg1IDFkMGQzZTZhMzIwMWEwMTM2NzVmNWQ0YzJkNDE3ZjFlM2U4MTU2YzMgbGVnYWN5LXRydW5rCisyMTQ4NiA3MjZlNWYyY2QzNmVkMGQ3ZGViYTgzOTBlOGU5NDY5ZDhjNDc4Y2Y3IGRlc2NyLWJyYW5jaAorMjE0ODcgN2RlNWMzNzYyMzJjYjRhMzgwNjYxOTdjYzUwMzllYzMxYzVjYjY3NSBsZWdhY3ktdHJ1bmsKKzIxNDg4IDgyNGQ2MTExM2E3MTIyMGNjOTMzY2YyZjg1ZTg0M2Q1NTgzZTgzNzMgbGVnYWN5LXRydW5rCisyMTQ4OSBjODY2MjU0M2NhNmE2ODVkNDE2N2U4ZGM3Y2RjM2QwMDJkZmVjMzYxIHJlbGVhc2UyMS1tYWludAorMjE0OTAgY2FkYzE4OTQyYTM0NDU3OTExZmVkNjNiZjg4MzY5OWI2Mzc4YWE3NyBsZWdhY3ktdHJ1bmsKKzIxNDkxIDdmODNlZTM3OTdhMjY0NjZkZmY0Yzk5M2Y1NWYwNzg1M2MxMDg5ZjkgbGVnYWN5LXRydW5rCisyMTQ5MiA3YjAzYzE1MDc1NGEwOWQ0MmZjOWNhNWY4NjAzZDFjZjQyMTRhMzFmIGxlZ2FjeS10cnVuaworMjE0OTQgYWZkYTVmZmY1MDI3MWJkNDJjNGMwNmNmMTlhZDU1YjIzYzJhNTkzMiByZWxlYXNlMjEtbWFpbnQKKzIxNDk1IDgyZjk1MjRjYzg0NDEyYWFiNDEzMjQwNzg3NTYwNTljMjAwMTg1YzggZGVzY3ItYnJhbmNoCisyMTQ5NiBiNGFmMDkxZTMxYzRhNDYxNzNmNGNmNDcyMjk0M2Y1OWU5N2IwZDk2IGRlc2NyLWJyYW5jaAorMjE0OTcgMmU2ZmI2ZTY0MjhmYTA5N2RjZjVlMmI2OGI1OTk5OWMwOThiMDdhNCBkZXNjci1icmFuY2gKKzIxNDk4IGQ5NGY4YjMyMTNlOGNkZmVkZTU5NTA1MzBmYjA2NDExZGM0ZjdjZjkgZGVzY3ItYnJhbmNoCisyMTQ5OSBhNDU3NzYyNzBjOGUxMWFjYzgyOGE4NjRkOTllYzkyMzBjZGZiYWIzIGRlc2NyLWJyYW5jaAorMjE1MDAgMjMyMDhmMzAyN2Y2ODMxYTNjYjk0ODNlYWQxODgxYjlhODhkMzZhMiBkZXNjci1icmFuY2gKKzIxNTAxIGEzMTg5MWNiYWQ0NDI3YjQ4NzJjODJhY2MxMTYyNGFlMDAwMGE0YjggZGVzY3ItYnJhbmNoCisyMTUwMiA2OWI4OGQzNGU3MjJkZTlmMjg2NzgwMWExNzZjN2UyNDJmNjYzNjkwIGRlc2NyLWJyYW5jaAorMjE1MDMgNDdiYjA2MDIzZTgwNTkzYTk0Nzg4Y2QyYzcyNDVjNTYxZWI2NTIxZSBsZWdhY3ktdHJ1bmsKKzIxNTA0IGY0MDMyYmVkNDcwZjM4ZjJkZmYwODIyMGMwM2UxYmQ2OGJkZjg1ZTcgZGVzY3ItYnJhbmNoCisyMTUwNSBjNWU0NjYzNGM3ZDk3OGU0NzFiZTg3ZTRhODUyYjE2Y2UxNmIwY2Q2IGRlc2NyLWJyYW5jaAorMjE1MDYgNTNkNGU3MmJiNDQzYjBiMzU4YjgxMDZjNTI0Yjg3ZjUyMzY2N2UwOSBkZXNjci1icmFuY2gKKzIxNTA3IGZmODFlNzM1ZTE4NGZlMzUxZWRmOWY3M2RmYWRkMjYyNDVmOTJlYjcgZGVzY3ItYnJhbmNoCisyMTUwOCAyMzkyNzY2NGM3Mjk1ZTg2ZWY2M2FhM2UzMzc4Y2FkMDIyYzViMmE3IGRlc2NyLWJyYW5jaAorMjE1MDkgZWI4MGI0OWM3YjE1ZmZjNmQ2ZGE1Zjg3MTE0YWZhMmIwZDAwZTIzOCBkZXNjci1icmFuY2gKKzIxNTEwIGU2ZGVmZTI0Y2U4NTU2NWQ4ZDAwOGYxOWUwMTEwNzRhMzQ2NzA5MGUgbGVnYWN5LXRydW5rCisyMTUxMSBiNjg5NDBjZjIwMTcyMTA0YjhhM2NiMDZjMjU3YjA2YTY1OTNiN2EwIHJlbGVhc2UyMS1tYWludAorMjE1MTIgMTE2NWQzZjdlYWYzY2E1ZmQwNGU3ZGRhMjY4ZmYxY2VkZWUzNTMwZCBsZWdhY3ktdHJ1bmsKKzIxNTEzIDk1MTI3NDdhZmU5ZTk0MmE3OWM0NDljY2M3MTZhOTgyZjY0MGY4YjcgcmVsZWFzZTIxLW1haW50CisyMTUxNCA1NjgyZjk2ZjI1ZGUyNDM4OWExYTlkZTgwZjZhNGFjN2RiZmQ2ZDQxIGxlZ2FjeS10cnVuaworMjE1MTUgMjgzNmIyNjg2MTgwNmM2OTU1NTRhMGE5NDBkMmFlZTM5OGI3MjQ5MCBsZWdhY3ktdHJ1bmsKKzIxNTE2IGZjMTY4MGZjOWQyMzY4OWNjMjQxM2VlZDc4ZTNhN2Y5Y2NhYWU4OTkgcmVsZWFzZTIxLW1haW50CisyMTUxOCBiY2JiYzUxZjBiYjNkOTZjYmEzYzY1YzU0NWZhMmMzZGFhZjVmZDI5IGRlc2NyLWJyYW5jaAorMjE1MTkgYjBmOTg0NzU5MTdkNGU1ZTEwMDRhYjVjMjViNDliMTU3Yjg2ZjAwNSBkZXNjci1icmFuY2gKKzIxNTIwIDM3ZDlkMmE3Y2E1MGRmYWJjOWMwYjI4MjU5YTFlNzgzNDBhZTExYmMgZGVzY3ItYnJhbmNoCisyMTUyMSBlZWIyZTc3YzViYWQyYWEyZDZjOWQwYWUwMTVkOTk1NjM2NmEzNjE0IGxlZ2FjeS10cnVuaworMjE1MjIgN2FiMDlmYmI4NjlhMGU1Yzc5ZmYzOGQ0ZGU0NzhlYzYxNmExMWM1ZiBkZXNjci1icmFuY2gKKzIxNTIzIGEyOWJlZjQ1N2VkOGYwMmJjY2M1MDU0NjUwODg0MDg3ZTJhOWIwZjEgbGVnYWN5LXRydW5rCisyMTUyNCBjMWU0MTNlZjk4MTc3NjUxNGNkNzZkNmVmZjJhOGU0MDM5MTdmMDkyIGxlZ2FjeS10cnVuaworMjE1MjUgZGZjYzAzOGMyZDRjYTY5OThmZTE0YzQzOGIwNzA5MWU4ZGUxZTZjNSBsZWdhY3ktdHJ1bmsKKzIxNTI2IGQ4NDE0ZjUxZDRmNThlZjc5YzM2YmRjYzM0MTc2NmNhOTNkNzY2MzQgbGVnYWN5LXRydW5rCisyMTUyNyAzM2I0MzU3YWViYjhjM2IxYjJiYjMzYzk2MzdmZGMzMjBmYzI0OTZhIGxlZ2FjeS10cnVuaworMjE1MjggNGU1ZTk3N2JkM2UyYTc0MGYyNTQzMTk2ZmNmNGViYjRkN2NjNzkxMyBsZWdhY3ktdHJ1bmsKKzIxNTI5IDA5MjM1YmU3NDY0OTM3NTE4NjExMWI2MzAwODRjYTZmZTNmMDM5OWQgbGVnYWN5LXRydW5rCisyMTUzMCBkNTZlY2FlNTdlMGMyNTI5M2Q5ZTY2Nzk2ZDFkOWFiY2Q5NTkxMjBiIGxlZ2FjeS10cnVuaworMjE1MzEgYjZjZWJiZWIwN2QxYjI5MjI0ZWE2YmU0MDZlMmVkZjY4M2E0YWRiYSBsZWdhY3ktdHJ1bmsKKzIxNTMyIGY4M2JkZDA3NTM2MWIxZjk4YTI1MzQxMjBmNDQyODA2MzU4MzA0NWEgZGVzY3ItYnJhbmNoCisyMTUzMyA5ZjAxM2QxM2EyOGIxZGFmMTg1ZjI5ZWM1YzFiNWE5YmZiZGVmZWRiIGRlc2NyLWJyYW5jaAorMjE1MzQgYjQ0MTFkZTAxNjYyZjdmOTI0NThmM2Y0OGJkNDUyOTk2MDFmOGVhZCBsZWdhY3ktdHJ1bmsKKzIxNTM1IDc2MzYwYWZkYjk3MDI3ZjAzZmFmNjY5NzJlMzU2OTA2YzgyNjBiMmEgZGVzY3ItYnJhbmNoCisyMTUzNiBmYTFlODhlYjE5OTRhNmJkZDJiMDFkMGJkOTFjYzUyMTdlYTZiNDQ4IGRlc2NyLWJyYW5jaAorMjE1MzcgMTQxN2NmNDcwYWU5ZTVkZjQ3MTg5ZTU2NjhlMmE3YjgxZTIwMDE4ZSBkZXNjci1icmFuY2gKKzIxNTM4IGQyZWIyMzYzNmNjNjI3ZWM5OTU1MmRmNDgwZWQ5M2Q2MzdkM2JmNjUgZGVzY3ItYnJhbmNoCisyMTUzOSA0NjgyNWVkMjM1MjhhMmMzYmEwMGJmZGU5MjJlYzc5OGNkNWExMTIwIGxlZ2FjeS10cnVuaworMjE1NDAgZjMxNWY1Njc0Yjk1ZjYyYmE2MzI5MjZhODkyZDBlZjFhMjc5NTFkNiBsZWdhY3ktdHJ1bmsKKzIxNTQxIGE5NzMzNDk3MWE4MTg2YjRhNzljNDQ4MDg2ZDE2MGFlMTgzYmZhOGUgbGVnYWN5LXRydW5rCisyMTU0MiAyZmQxMzc3ZWM0OGMwZDJiMWE2YjNjMTMwYjc5MzU4YWM5NzM3ZjExIGxlZ2FjeS10cnVuaworMjE1NDMgYTgzZmY3NzM5OTkyOWY1Y2ZmY2RhYjEzZWYwYmQ5ZmY3NzFlNjgwMSBsZWdhY3ktdHJ1bmsKKzIxNTQ0IDZhNWVmMTk5NDE1MzZlMWJkNGQyOTU1OWUzZGM1ZTRlNGIxYjkyZTIgbGVnYWN5LXRydW5rCisyMTU0NSA5OWM4YjViMGM4OTYzODQ1OGFiN2JiNjU4ODMzNWZjZmM4NzY5YWE1IGxlZ2FjeS10cnVuaworMjE1NDYgOWMzNTRlNjlhNDg5ZTg1OTFiYmM2ZTUyMWFhMDhmZjIzZDllNDljMCBsZWdhY3ktdHJ1bmsKKzIxNTQ3IDBiNDA2MWVlYzY4ZTAzOThjMGJiYzNmNWJkYjVmN2MxOGM4ZWNkNTUgbGVnYWN5LXRydW5rCisyMTU0OCA0NTkxNzMyMzc5MTUwM2Q4Y2E3Njk3MDZhYTA0ZTU1ZDhkNGY0OTE3IGxlZ2FjeS10cnVuaworMjE1NDkgNzFmMTYxZThhMWQ3MTY4NjdlOGQ4MTFlMjdkMWExYzg2NWFlZjY5MCBsZWdhY3ktdHJ1bmsKKzIxNTUwIDQwZTBmNWEzMzJlOTBhNjZhZTA0MGRkYWNiZGI0ZjFjNDhiOTMyZWQgZGVzY3ItYnJhbmNoCisyMTU1MSBkOTA1MmNkOWUwYTc2M2UxYzE5NzQ2YTkzOGFhZWVjYmIzZDExYjU1IGRlc2NyLWJyYW5jaAorMjE1NTIgZjA0YTFkZGQ3NDFhMzQ4NjU0ZWI3MDM5NzJjYmUxZTk3M2ZlM2NlMCBkZXNjci1icmFuY2gKKzIxNTUzIGJhOGE1NjJiZTM4MzU4Y2Y1ZDRlOTEyMzA0Y2RlMGI5ZDg2NmI0MTYgZGVzY3ItYnJhbmNoCisyMTU1NCA2YTVmZTFhOTQzY2NkNWMxNWQ1NWRlZTAwZjZlNzc1ZWRhYmY3MTA0IGRlc2NyLWJyYW5jaAorMjE1NTUgZWFjYjc4ZDljYjhlZGIwY2NmN2FiZmU0NTlhOTA5NDIzMjYyYmM1ZiBkZXNjci1icmFuY2gKKzIxNTU2IDY2MzcwMTZkZjZlMjhmNjZmOTQyNmYxZWFjMjA3ZmU1MjIzYzkyNDAgZGVzY3ItYnJhbmNoCisyMTU1NyAxNzNiYzcyNGQxMTBlMjk4MDM2MWYzZGY4MTk4YzY0NDA4ZWQyNjlhIGRlc2NyLWJyYW5jaAorMjE1NTggM2RhZTI1MWI1ZGY1YTMyNzVkY2FmNzYxNTk5YmExMWQyYThkMjM0OSBkZXNjci1icmFuY2gKKzIxNTU5IDVjOTc2OTAxNjczZTVkMDZmNDJkNTQ5YWQ2MTQyMDQxZjE2M2M2ZTMgbGVnYWN5LXRydW5rCisyMTU2MCBmN2RlOWUwNDg3Y2YxNGMyZTE0NDYyNDU0ZTFkYjRiMDFmMDZiNmIwIGRlc2NyLWJyYW5jaAorMjE1NjEgODhlZTk2NjVkZTA1NDNkYmZmNjNlYjMwNjVjZTE2NTM3MDRhN2FiOSBkZXNjci1icmFuY2gKKzIxNTYyIGY3ZjA3NmJmY2FlOWM4YzJkMjhlMzlmNmQ3MjBlY2I5MTI3OTUyYmUgbGVnYWN5LXRydW5rCisyMTU2MyBiNjZhNjUyZTNjM2ZlN2I4YTcxZjAzZWQ0NzJhNTEyM2NkYzFmZGViIGRlc2NyLWJyYW5jaAorMjE1NjQgYWE3NmMxN2E1ZjA4Y2Q5OTlmODg5MTg4YWI4N2M3ZGExMDYwY2RiZCBkZXNjci1icmFuY2gKKzIxNTY1IGRlODU2MGM2OGM2ZmRjZDY2NzFhNTY0OGZkOWVjOWUwYjlmYjU0NGQgZGVzY3ItYnJhbmNoCisyMTU2NiBlOGM2NjFkZjMwMzgxNGFlZDljY2Y2ODM3NTE2Y2M4YmFlNTY1NzNhIGRlc2NyLWJyYW5jaAorMjE1NjcgYzE1YWNmMmUwMTEwOGNhZDNiZjIzNjNmYTUyYzNkNTNjNjZkNWUyZCBkZXNjci1icmFuY2gKKzIxNTY4IGViMDRhMDU2NGE4MTg2MDdiMTA5ZDc0YjA4ZjQ3NDRhMjM2OGMyZGYgbGVnYWN5LXRydW5rCisyMTU2OSA5NjUzMjcyZjAzNmY0MGEzMzY4MWVlZTE3NTI2NGRkODExYWQ1ZmQ5IGxlZ2FjeS10cnVuaworMjE1NzAgNjg0YjAwOTkwMzJkNDYyYzhhMmEzYWU5YjYzMzM1NjBlYTAxNTlhYyByZWxlYXNlMjEtbWFpbnQKKzIxNTcxIDA1YzQ5MzQ2YjY4YjhkZjZlOTA2MmFiMjlkZTE0MmJjYTRlZjg3MmIgbGVnYWN5LXRydW5rCisyMTU3MiAzMTExOWQwYTE4ZTZmYzI5M2YwOThkOWZmMTM4N2Q2OGRiMGVjMDk0IGxlZ2FjeS10cnVuaworMjE1NzMgMTAzMDI4NzI1MjUzYjM4N2Q3M2VlYjRlMjk1MGVlZDI2OWE2YTJhZiBsZWdhY3ktdHJ1bmsKKzIxNTc0IDUxYzUwMWM2ODYwOGM1M2FmMDY3ZDliYjFlYzZjM2FkYmMzMWU5ZDUgZGVzY3ItYnJhbmNoCisyMTU3NSA2NWM5Mjg3YWJmODViYTg4ZTAwOTdlNmYyOGRmZWFiOGYwOWI4YjM0IGxlZ2FjeS10cnVuaworMjE1NzYgZWU3YTg2Zjg3MzgzNWZjNTdiNmJkMTM3MjE2MDIzZDQxN2FiODlmZCBkZXNjci1icmFuY2gKKzIxNTc3IGE0ZmJjMmYwMTM5YTgyZDdlZDdiMmQ1NjhlNmE4YWEzZDY2MTk0YjQgbGVnYWN5LXRydW5rCisyMTU3OCA5YzA0ZTIzZjhkNDNiMzkxODZlMjM0NGE1ZGQyN2Q2MTYwZTQ1YmViIGxlZ2FjeS10cnVuaworMjE1NzkgZDQ1YWI3MTQ2YjM3Y2Y4NzY4ZDQwZmQ1OTdlZGI2OWQ5MWJkNTdkZSBsZWdhY3ktdHJ1bmsKKzIxNTgwIDZkYTg2MjMzOWEwZTk5ZGI1ZDk3ZTVkMzYxNDNhYjhlMzVjNjc3OTMgcmVsZWFzZTIxLW1haW50CisyMTU4MSAyOTMzYWU0OTIxNmYyNjM4MmMyYWY1MDI3YjlkYmY2ZDRlNjI0OTJmIGxlZ2FjeS10cnVuaworMjE1ODIgY2EyZWE3NWRmM2YyNTJiMDcyODg2MTM2YTMzYmZiODg2NTc5YjM2MiBsZWdhY3ktdHJ1bmsKKzIxNTgzIDk0NmI4MTZhZDVjYjhmZGY4M2Q3MjViY2JjNmMyODdkMmQ2ZjM5OWIgcmVsZWFzZTIxLW1haW50CisyMTU4NCA5YWQ0ZGI5N2UyZDliNmVkMjkxMDkzNzkxZWNiY2M5NDI3ODI3NjljIGxlZ2FjeS10cnVuaworMjE1ODUgZDRmYjk0MTUzYjMwODIwOWU1ZjliMGM3MTg5ODZmY2VmNTRmYzZkNCByZWxlYXNlMjEtbWFpbnQKKzIxNTg2IGZiY2NmMThhYTU3YmZlYjBjM2Q3ZmUwYTE3ZTQ4NDljMzA1N2EyZjUgcmVsZWFzZTIxLW1haW50CisyMTU4NyBhNzhmNGJkNTllMTBhMGIzZWYzZDNkZTMwZGVlYzg0MDQwMzY5YjM0IGRlc2NyLWJyYW5jaAorMjE1ODggYWJjNGEzYjdkMThlMDFjNzkxYjE4YWZmMDFkMDA3YjkwNDRhMmNkZiBkZXNjci1icmFuY2gKKzIxNTg5IDJmMWI0Y2RjYmIwNmM0NDIyMjliYjYyZmVkYTczNDY4NTk1YTU4ZTkgbGVnYWN5LXRydW5rCisyMTU5MCBlNzhhNTEyNjhjODFkZmM3NTcwN2ZiYjcwNGEyNDk5MjcwNzdjOGQ2IGxlZ2FjeS10cnVuaworMjE1OTEgOGMzODQ0OWRmNzQ2MDk0MTFjMTM0YTRiZGJiYjQwNzVjM2JlY2EwOSBkZXNjci1icmFuY2gKKzIxNTkyIGZlZTViNTcxN2RiYmI4OTBkNGY5NGFkN2RiMGRjM2VkOWJmM2NiNTIgbGVnYWN5LXRydW5rCisyMTU5MyBjNmQ4NjQ1ZDRjODg1ZmZmOTlhMDMyODliNmI4ZTRmZThkYWM1NjE5IGxlZ2FjeS10cnVuaworMjE1OTQgNzBhZjRhMTczYTk1NjRmMDg4MDllNjk2NzI3MDJmZDZlM2E3ZjljYiBsZWdhY3ktdHJ1bmsKKzIxNTk1IGNiMmVhZjQ1NzM4NmI3ODY5MDE0NDQ3ODdlNDUyN2Q2MDkyMGI1ODcgbGVnYWN5LXRydW5rCisyMTU5NiA2YjkzMWJmNmJkZjY3ZjliN2U4ODY5Mzg3YzBmNGU5NjZkOTBhODYyIGxlZ2FjeS10cnVuaworMjE1OTcgY2Y4MTQ5Y2VkY2NkMjFhZjJlZjZjNDI2MTI4NmM2ZTRkY2JkZWNmYiBsZWdhY3ktdHJ1bmsKKzIxNTk4IDAwOTM0ZDYyZTc4MTY3MjMyZGMzNWE4YjY5NTEyZmRlNmY1NWRlZWEgbGVnYWN5LXRydW5rCisyMTU5OSAzZGI5MjFmM2VkZTBiYTU1YzhiNjE5NmQ1Mjc0ZjQ5Y2JiMTdmMGFlIGxlZ2FjeS10cnVuaworMjE2MDAgZWQwZjBkOTY3NTBjZGU2NTY2NDk0ZTU2YWM4MTg0NDUwMWI3YWQwMSBsZWdhY3ktdHJ1bmsKKzIxNjAxIDkzOWJiYzUxY2QyMTkzZDJkYzIxZDM0NTQ1Njc4ODkzMjI3NzM0ZTIgbGVnYWN5LXRydW5rCisyMTYwMiBjMWE1ZTUxNzU5MDdiMTI2MWQ2NGI5NmE1YzJiY2QzYTM2ZTA4ZDQzIGxlZ2FjeS10cnVuaworMjE2MDMgY2RhMTYzODNiYzZiYWEyZWJkNzVlNGU5NGJlNWM3NTY5NzhjYzdjMiBkZXNjci1icmFuY2gKKzIxNjA0IDNiMTNiMjY5NWI3YTZiNzYwM2EyYmE0ZGQ3ZmRlOGFjY2NhZmYzZTcgZGVzY3ItYnJhbmNoCisyMTYwNSBiNzNlMWY0MjJlYThiZmFhM2IyNGM2MjdjYWRlNzYwMmI3ZGQyM2MzIHB5LWN2cy12ZW5kb3ItYnJhbmNoCisyMTYwNiA0MDRjNjBlMDAzNDQ3MDY3M2I5MTJjZTEyY2NjMGQxMGIwYmYyZjlmIHB5LWN2cy12ZW5kb3ItYnJhbmNoCisyMTYwOCA4ZDZiNGFjMDQ0MGI0YzBjMjE3N2VhZmMyZGIwYWRhNGMyMzFmODg5IGxlZ2FjeS10cnVuaworMjE2MDkgZmVlYTNkMmYzNTYzZjBiZmFmNTg2ZTFiN2FmMWFjNDAwM2EwMjhlMyBweS1jdnMtdmVuZG9yLWJyYW5jaAorMjE2MTAgMTFkOWU0NmYxNDcwNTE3MTlmMzg4YTdiYzJjMjJjYjZhYjNiMWE5MCBweS1jdnMtdmVuZG9yLWJyYW5jaAorMjE2MTIgOGI5M2QwNGZhN2E5YjlmNTBhNTg2ZjBhOGNhYWJhN2EwOWY3MDhjOSBsZWdhY3ktdHJ1bmsKKzIxNjEzIDlmNzQ5NjVlMGYzNTg1NWM4NjBjOGYxODRlY2IwYmVlOGQwNTI2MjUgbGVnYWN5LXRydW5rCisyMTYxNCAzNGQ1ZTQ4YzFlZDI2MjU3YzVhZGY1Nzk4YjVkNjhhNmE5ODYwY2E2IGxlZ2FjeS10cnVuaworMjE2MTUgNmM1MDFkODkyMDAzMGE5MmFkZDk2YTRjZjcyMTRiOGExODAzY2Q1OCByZWxlYXNlMjEtbWFpbnQKKzIxNjE2IDQ5OGQ3ZGQ5OWRhNDFlOTI2NjM4OWYxZTMxODYxMzI1MmQ5YTA1Y2IgcmVsZWFzZTIxLW1haW50CisyMTYxNyA5OWFkNmZkMjc5ZTliZjVhNjA5YTEwZTU0YThmMTQzOGMxNDYzMDRmIHJlbGVhc2UyMS1tYWludAorMjE2MTggYjFhMWRlMThmOTFmYmNkMDc0NjQ1ODE5ODM2ODE5M2VjMTkyZTVhYyByZWxlYXNlMjEtbWFpbnQKKzIxNjE5IDg3ZWUxYzNmZDBjODIyNzU1ODVlN2IwN2E3YTRmOGFkNmZiMzljM2MgcmVsZWFzZTIxLW1haW50CisyMTYyMCA4MmEzNDkzMmVhMjJkNjI5ZDE0Y2UyZjg3ZjM4NzI2NmE2MjFjYjg1IHJlbGVhc2UyMS1tYWludAorMjE2MjEgYzk5MTI5YTBhNDdkOTA3YmI3ZDRmMzI1ZjAwOGRjZmNmNzQ2YjY4YiByZWxlYXNlMjEtbWFpbnQKKzIxNjIyIDA0ZTI1YzAxODQ5YjQ0YmI0NGZlMjk0NzRiNDY3OTU5MGNjYzg1OWUgbGVnYWN5LXRydW5rCisyMTYyMyBjMzk3ZDRjZDgzN2QyMDZmNWExMGEzMWQ5YzJkM2JhY2UwMDVhNThlIGxlZ2FjeS10cnVuaworMjE2MjQgYTRkMzUwOGFlZmMwZjk1OGE5OTAwOGNjMDk0NDFhMDkxMzNkY2ZkMiBsZWdhY3ktdHJ1bmsKKzIxNjI1IGRmYjc3NDIyYzYwNzQyOTY3MDIwNzQxYjJkMzAxMjQ3MzJmYjUyNmQgcmVsZWFzZTIxLW1haW50CisyMTYyNiAxMDZjOTk5NWRiNjhhZTVjOGY3Njk4MzBjNzI2MWIwNDg3MTQ3OWE5IGxlZ2FjeS10cnVuaworMjE2MjcgNzk1YWE0NTkwMjExMGE5OTg2MWQ3M2ZiODczNmFiZmEyMDZhZWJkMCBsZWdhY3ktdHJ1bmsKKzIxNjI4IDJlMmVmNDcxMTRmNzcyNDBkMDY4YjFjMzczZTM2ODJhNjVmMzdmNDggcmVsZWFzZTIxLW1haW50CisyMTYyOSAyZmJiMjVjMzA3MmViNmQ0N2U2NjgxMTM0OTYwMTdlZDgxNDczZTVjIGxlZ2FjeS10cnVuaworMjE2MzAgZTA2MTE1NWY5OWU4ZWIwNzcwNDNmMjA0MDljZDBhOWM5YjM4MGNmOCBsZWdhY3ktdHJ1bmsKKzIxNjMxIDk4YmRlNmU1ZTc0MzJkYzdkNzc2N2VmNzRjZTliMjc5ODk5NGE1MWEgcmVsZWFzZTIxLW1haW50CisyMTYzMiAyNmZjOTA1ZGRjMTJlNTViN2I3ODFjZGI0M2Y2MDQzMzE5MWNmZmRmIGxlZ2FjeS10cnVuaworMjE2MzMgNmY4YTI0MDJmNmZhNGIzZjkxZTUwZGVjMzFmNDQ3NzU2MWQ0YTA5YyBsZWdhY3ktdHJ1bmsKKzIxNjM0IDk5NzdjZjIwNjUzMmIxNDZmMzE5MjcyYWE4MjMwYmI5Y2RkNGI4ZjEgbGVnYWN5LXRydW5rCisyMTYzNSA0YzMzZGMzNDU5MDJhOTE1N2ZmMDM5NDE4NmE3YjU2ZTVlM2NmZDc0IGxlZ2FjeS10cnVuaworMjE2MzYgYzdhMjRkM2IzNTk3Mzk2OTcyOTdiZjBkNTFlOTNjZDEzNDNlNGZhYSBsZWdhY3ktdHJ1bmsKKzIxNjM3IDRiN2ZkM2FlMWQ5MzBiOTIyNThlNGY5N2NmMDZlODkyMWJiMWZlNDUgbGVnYWN5LXRydW5rCisyMTYzOCBmNDA5MmE1ZjdiYmM3MTQwYjFkNDA5NzE2M2QyMDg2Yzk4Y2U4NjJhIGxlZ2FjeS10cnVuaworMjE2MzkgMDY5YjgxNTE5YmU3ODUwYmI0MGFhM2NlNjRkYjQzYjMyZGU0MTZjYSBsZWdhY3ktdHJ1bmsKKzIxNjQwIDU4NDZjMjU4Yjg4OTYzNjk2ZDhlNTVlYzhmYmFiODM0Nzk3ZGM2ZGMgbGVnYWN5LXRydW5rCisyMTY0MSBjNGY3NTg1NzUwMmE2ZDNmNjcxOGYwNzZhYmY2MzlkMDVhNjg3ZmFlIGxlZ2FjeS10cnVuaworMjE2NDIgYmExZjNkZTEwMDg1NDM0ZjExZWY5NzExNzM1ZjFlMDViNWM4OGU0NSBsZWdhY3ktdHJ1bmsKKzIxNjQzIDQyNzQxZTY3NzMzODQxZjI5M2Q4YmRhNDg5MTBiOGZkYmUyMjgxMGUgbGVnYWN5LXRydW5rCisyMTY0NCBlYTdjNzdmZTUwYWU5OWRhYTRkMDVlOTAxOWJmZmE4NzJjNjkzODc1IGxlZ2FjeS10cnVuaworMjE2NDUgMmJiNzVhMWYzMTg0MTkyODVjZDhjMjg3ODlkOWQ0ZTcwOTY3MDI0OCBsZWdhY3ktdHJ1bmsKKzIxNjQ2IGU2ZWNkOGEwN2VhODhmMjdiZjU1MDQ4YWU2YmMyOTUwODg1NTE0YTkgbGVnYWN5LXRydW5rCisyMTY0NyA0NmRkODczZDI2ZjY0NGY0OTgzMWM2Zjg0ZjRjYjVhN2E4NmEzMmE5IGxlZ2FjeS10cnVuaworMjE2NDggMjAyZGRkYjdjOTc0NzRjYTcwNmY2NzY2NGNmMThjNGI3ZDJhNTVlZCBsZWdhY3ktdHJ1bmsKKzIxNjQ5IDg2MjYxNzFiMmM3MjUyODU1MmMxNjBhZTZjNjM1OTUwYzU2OTVkMjEgcmVsZWFzZTIxLW1haW50CisyMTY1MCBjYzI0ODY3NTdjOGJmM2UyMmJiOTRjNmIzMzUyYmMwMjdmZjYzYmRjIHJlbGVhc2UyMS1tYWludAorMjE2NTEgYzViNTA1NTJkNTZkMWY2MjczYzMxYzYzYzZiYjEzZDUwOGE2YjI1OSByZWxlYXNlMjEtbWFpbnQKKzIxNjUyIDMyY2IyOTVkMDg2MmMyMmExYjA3ZTgxNDU5MTc2ZWEwZjdlOTcyNTggbGVnYWN5LXRydW5rCisyMTY1MyA4NmIxYzgyMTYwZWE5OGQ1N2EwZjlmNDFhMmQwYmI4OWU4YmIyMTZjIGxlZ2FjeS10cnVuaworMjE2NTQgOGRlOTEwNDIxNzNmN2Y0ZTEwMWZhNDgyN2RjMDkyYWY4YWI3NGVlYiBsZWdhY3ktdHJ1bmsKKzIxNjU1IDI1NGE0YTlhZjBmYmM2ZTg1ODBlNDliYTJjNWI3MjFiNWRhZDEzM2MgbGVnYWN5LXRydW5rCisyMTY1NiBmNGVhMjFhMGY5NTQyZDM3ZmQzOGE0YWM1NjYzNzYzNGYzZDBkNTcxIGxlZ2FjeS10cnVuaworMjE2NTcgZDIxMTcwOWYyNWYxZWVjYjQxN2FjNTIxOTEwZWUxODBiYzIzODY0YyBsZWdhY3ktdHJ1bmsKKzIxNjU4IGIyYmY4OGUwNmZjNTk5N2I1ZmRkZjYyZDQxMDljM2E0YzFmZjgxMzggbGVnYWN5LXRydW5rCisyMTY1OSA2NWFmYWM4NGQ0ZjczMjM2ZWNhMTNlNzgzNjQwNGU4NzE3NjhjNGJjIGxlZ2FjeS10cnVuaworMjE2NjAgNzMyOGM4Y2Q5MTdkOWVmNjBlZWIxODZkMGFjM2FmYzA4YWY5MjkwYSByZWxlYXNlMjEtbWFpbnQKKzIxNjYxIGE1OWNhODQ0NmY5MmI2ZWRiNzdhMTljMzFiMzk5Mjk0YTc5NmM5ODAgbGVnYWN5LXRydW5rCisyMTY2MiA0ODYxMzczOTU5MTc2YzU4Y2QyNjdhMTFiNDEzNzQ5YzRkNzZkNDAzIHJlbGVhc2UyMS1tYWludAorMjE2NjMgZjcyYmNlY2RkMWY3ZTJmY2IxZDFhMWMyMmI5MTIwNGRjY2VkMWM4YSByZWxlYXNlMjEtbWFpbnQKKzIxNjY0IGQ5N2M4MmNiZDc2NjkxY2NjMDM2YmIxNWRiYTk1Y2Q0ZTZjZjY3NTMgbGVnYWN5LXRydW5rCisyMTY2NSBkNTAyNjZiNWRjNDhjNWFlMWNmMDY0NGQ1NzliOTkwYTQ0NTBlYTM3IGxlZ2FjeS10cnVuaworMjE2NjYgZWFlOTI3MjkwMzU3MWEyNzdjYjA4ZGQ0YjlhNDc4ODc5ZDZhZmEzMCBsZWdhY3ktdHJ1bmsKKzIxNjY3IGIxZDZhZTMyOWRkMDU4ZmQ1YTU2NTViNGViMzMzOTJjNjE0ZjZjMzcgbGVnYWN5LXRydW5rCisyMTY2OCBmZDk0NjEzNzNjYWIzMDA4YjgyOTJhNTUxMzljYTViZjQzMDcxNjg4IGxlZ2FjeS10cnVuaworMjE2NjkgMjFiNWIyZWFlYjNkNDFlNjI4MjNhMTMzZTg0YTYxNmU5MTVhM2IzYSBsZWdhY3ktdHJ1bmsKKzIxNjcwIDFmYmNmNTQ5YzFjNDUzNWYzYmU4MDNhMTg0NGQ4MDY4NDBjNzIyNGYgbGVnYWN5LXRydW5rCisyMTY3MSA2NGZhNzJhODQzNDc0OTAwMzkwNWY4MGQ1YWNlNGJmMGE4YTg3NjAxIGxlZ2FjeS10cnVuaworMjE2NzIgMjNkOGViMjllNGZhMGZmZTY4M2YyYzAxYzhhOTE3ZTQxODI5NWQxNiBsZWdhY3ktdHJ1bmsKKzIxNjczIGU0ZDZhNzM5OTk3ZDk2MWQyZDQ4MjA2ZDMwMmQ2MGM3ZDFmNmZkMGYgbGVnYWN5LXRydW5rCisyMTY3NCAzN2VlOWNkNTRhMTEzZmNiMjUyNTJiYzMxNzVhNDQ3OTJjMjcyNDNjIGxlZ2FjeS10cnVuaworMjE2NzUgZTA2NGY1MjZhNmVmZTgxOTJhMmFjYzNhOWY5ZGFjNTI2YTE2ZGU3NyBsZWdhY3ktdHJ1bmsKKzIxNjc2IGZjNWEzZWMwNzQ1ZTFkNmI4N2Y1OTBhMDU3MWZjYjk3MDU1OWRlOTUgbGVnYWN5LXRydW5rCisyMTY3NyBlYzlhYTBkYzhiNzM2MDZhNzE2ZWIxZWEwZjljMzI3MDA0NTI2MWJlIGxlZ2FjeS10cnVuaworMjE2NzggYmY1NjI0MThkZmI4MWUwZjY2YTNhNGJhYjA1NGNhMjRiY2JkZWVlYiBsZWdhY3ktdHJ1bmsKKzIxNjc5IGNkM2I0ZGQzZTRjYTE5MTc5NGVmZWIzMDM1MmFhMTRiZjYwODU3NmYgbGVnYWN5LXRydW5rCisyMTY4MCBlYTI2YzliNjZmYmQ5ZDJlYWIzNTNmZGNjMzdkY2NhZDBmYmUzYWY2IGxlZ2FjeS10cnVuaworMjE2ODEgMGM3MDEzNTM4OTk4M2NjNDVjNTQyYTEzNzIzYWFlZWVmN2ZmMTQxMyBsZWdhY3ktdHJ1bmsKKzIxNjgyIGIyODdmMjkyN2RiMzhhM2U1MWQwZGMwNWM4OTExNGVhMTE0OTU4OTQgbGVnYWN5LXRydW5rCisyMTY4MyAzZmNmOThjYTZjNGExNDZmNWFmN2M4ZmEzMDlkNGFjYTJmMTc2ZTJiIGxlZ2FjeS10cnVuaworMjE2ODQgOTA2MGMwNmJlZGJjNDMxODQ0NGFiMjBhOGE5MTkzN2NlYjZhZmE5YyBsZWdhY3ktdHJ1bmsKKzIxNjg1IGM0OTMwMTMxZjVlM2FjNzI3NWE2N2M0ZDM1MjYxOWNmOGEzZjZjNDQgbGVnYWN5LXRydW5rCisyMTY4NiBjMWVjODdmMTA0NGE0OWNkMTc4NmU4MGU5ZWFiMGRiNTBkYTdiYmY2IGxlZ2FjeS10cnVuaworMjE2ODcgNzA0NjFmMmQyMTA5OGQxYzUyOTI4NDMwMjYwZDllMmYzMTk0NmQ1NCBsZWdhY3ktdHJ1bmsKKzIxNjg4IGU2NzVmZjU3NDhmMDVmMjc5YWM0NjlmNDQzZWMxNjJkMDAzZjNkNGUgcmVsZWFzZTIxLW1haW50CisyMTY4OCAyMmJlZDJkZDFiMjg2NTY0ZGVhNGQ5YTY3ZDRlZDgwZGMzMjI1MTkzIHJlbGVhc2UyMS1tYWludAorMjE2OTAgMTM3ODNlMGEzNDIzN2Q1MGQ1MmFhOTIwZDA3NTU5ZDBlYTEyNTBjMSByZWxlYXNlMjEtbWFpbnQKKzIxNjkxIDZkNGM4YTI5YmU3MDg3ZjkwNmVlMmY0NjljODk0YTY1YWNkNTRiMWUgbGVnYWN5LXRydW5rCisyMTY5MiAwNDdkN2M0ODA2OGFkZDdhMzUwNGQ0MTJkNjcyZjU0YjMzZjVjNDIwIGxlZ2FjeS10cnVuaworMjE2OTMgZjUzZDhjNTJjODFmOGQ5ZTM0ZDJmMThjMDY5YjRiZTc5OWQ5MDFiZCBsZWdhY3ktdHJ1bmsKKzIxNjk0IGY2MGU4NTM4NGI3OTgxYTZlZjhlOGExMWViZTE1OWJjMTJiMmNjMTIgbGVnYWN5LXRydW5rCisyMTY5NSAwMDIzYTc4YzFjODJjNzE1MjBkNDUzNTdhYTdjYWY3YmUwZDMyMTk1IGxlZ2FjeS10cnVuaworMjE2OTYgMDlhNWZlMmE3NDI2NzM4ODljMTliMTIzNDhhMDM1YTI0YjU2YTQ1MiBsZWdhY3ktdHJ1bmsKKzIxNjk3IDcyOTM5YTIyMzBkM2JmMTcwODlhM2QyNTJjZmZmMzhmMjIyNTM1NjEgbGVnYWN5LXRydW5rCisyMTY5OCBiZmFhOTdhMTliMzA4M2YzNGY4N2FjYjQ5ZWUxYzlhZGQxZDAwMDJiIGxlZ2FjeS10cnVuaworMjE2OTkgMjliZTg3MWJkODc2ODU2NjNkYjg1MjI3YTk2NThlZDJhNTExNzVhOSBsZWdhY3ktdHJ1bmsKKzIxNzAwIDY0MTdkNTg4MTZjZmRkNWI5NjU0MDkwNjE3YjkyYzk2YWY0M2M0YzUgbGVnYWN5LXRydW5rCisyMTcwMSBhMDY4MzFiMzU0MDc2MWIwODViZGNkYzkzMTVhNTMwMmMwNjliYWQxIGxlZ2FjeS10cnVuaworMjE3MDIgZmQ4OTZiN2NhYmI3NDIyNTMyYzJlZTQ1MDZmNDNiN2Y3YjdiNWQ5MyBsZWdhY3ktdHJ1bmsKKzIxNzAzIDc0NjEzNDhkOTlkYTQ0MzZmZmQyODY2Yzk4NjY5NDc5MTBhYzcwNzEgbGVnYWN5LXRydW5rCisyMTcwNCBlYWUxN2M1NzY3Mjc0MjU5N2EwNmNmYTc0NmRlM2NkZWFmYTlhNGU1IGRlc2NyLWJyYW5jaAorMjE3MDUgY2ZlNTNhNjIwY2ZmZTgxMjczNjhlNjliMDBhYmRhZDJmM2IwZTc2NSBkZXNjci1icmFuY2gKKzIxNzA2IDQ5YzA3YWNjNmU4M2U3YjdiNjcxYmY3MTllNWM2NmY1Y2EyOTgyNzUgZGVzY3ItYnJhbmNoCisyMTcwNyBjOTQwMjg3ZGJhNzliZGY1NjM5MGFhZDkzZTVmYTYzODY4NmFiMmM1IGRlc2NyLWJyYW5jaAorMjE3MDggNjQ2ZTA1MmUwNWJlZDUxZWYyZDQzMDFlYTQ1YzE3YzdiYWYyZTA1ZiBsZWdhY3ktdHJ1bmsKKzIxNzA5IDU4ZWI1MDUyODY5MmM4ZTZjNDM4MTcyYjhlY2VjYmQwMWYxOTdlNzMgbGVnYWN5LXRydW5rCisyMTcxMSAxMmU3YWQxMDgyMjkxNjA1ZGU1NTRiN2Y0OTIwOWQ0YjY3NjE2NGY3IGxlZ2FjeS10cnVuaworMjE3MTIgOWI0MmRmNGI3NGQ0NTYzZWE0ZjliM2ZhZWZjMzM1MjBhM2UwZjc1ZCBsZWdhY3ktdHJ1bmsKKzIxNzEzIGY0MDE0MDU4OGIxZTgzYTc1ZmFhNTVlM2JiMzljNGVkNmQ1MmI2NzIgbGVnYWN5LXRydW5rCisyMTcxNCBlNzYwZWVkNWY2ODgyY2Q0NzYwYzUwNzA4MTUwMjU1ZTdjNDIyNjE2IGxlZ2FjeS10cnVuaworMjE3MTUgYWEzNDQzNjE0NWQwMzNkYmIwMjQxNDBjNmMyNzNhZGVlMmUwOGJiYiBsZWdhY3ktdHJ1bmsKKzIxNzE2IDVkMzk2NGU2MjJhODUyY2MzYjllOTY3NDRmYjYxYTY4YTM1MjJjMTAgZGVzY3ItYnJhbmNoCisyMTcxNyA2MzhkOTA0NGZiZTIxZWI4ZmE2MzhkNWIwZWM4Nzc0OTQ1NzE3NjZhIGxlZ2FjeS10cnVuaworMjE3MTggYTc1Y2EyMTdmNzM3NzdkNGRmZjY2NWY2ZTUwMDA3MGNlZTk3MGY1ZCBsZWdhY3ktdHJ1bmsKKzIxNzIwIGFjZTcwZTMyNzkyOWNhYmJkZTVkOTE5YTVkNTJkMTA1ODBmNTkwYjcgbGVnYWN5LXRydW5rCisyMTcyMSA1NTUxMWNhYTI0ZWViNTk2ZWM2Zjc4MjYzMWI1YzVjMTA4NDJhNzE3IGxlZ2FjeS10cnVuaworMjE3MjIgNWUxYTE0ZDk5M2IzNWI5MjM1NjI5OGI1M2FhYTlkYjJlNzUxMDAwZSBsZWdhY3ktdHJ1bmsKKzIxNzIzIDk5YjVkMzM0ZGUxZTQzMWZkYjZmMDBkMDVlY2VlMTE5MjkzZDdmOTIgbGVnYWN5LXRydW5rCisyMTcyNCAxNDRhMzAwNWI1YmFlM2RhNTFjMmE0ZjNlYzg3NjVhNjc3NWU5NTRhIGxlZ2FjeS10cnVuaworMjE3MjUgOWI4NTY0ZjZlMzRkNTFjYWUyOTU4MmRiYTJjYWQ4ZmYwMGJiNjkyOSBsZWdhY3ktdHJ1bmsKKzIxNzI2IGM0MDQxMDcyZDEwMTAxMGRiMmQzYzg1NDlmOTc3ODVmMjU5M2MwYzUgbGVnYWN5LXRydW5rCisyMTcyNyAzNDZkY2FmYzg3OGI0NjZlNmUwODFmMjk3Y2U3YjFlOTNkYzc0OWVjIGxlZ2FjeS10cnVuaworMjE3MjggNjcwNDY0Yzk0YjkyYTY4MjMyMGQxNzk0OTMxMzVjOWIwYzNhOGEzYiBsZWdhY3ktdHJ1bmsKKzIxNzI5IDdkNzc2MTRmZDBiN2ZkNzAxYzc4NjE4M2JhYTY5M2YzMjA3ODkwNGUgbGVnYWN5LXRydW5rCisyMTczMCBjNmMzMGU0NWFiNWJhNjYyYjU4NWYzNDkzM2NkNjljNjQzODdlOTAwIHJlbGVhc2UyMS1tYWludAorMjE3MzEgNDM4NGY5MTliNDQ4NTQxZmYxMjhjZThjMzAwY2I5NjI2NDY4YjNmNSBsZWdhY3ktdHJ1bmsKKzIxNzMyIDhkNjJkZGU3NjI3Y2VmN2NmMGU0Zjg4YzAzZmMzYzY0MWYxZWJhMWQgbGVnYWN5LXRydW5rCisyMTczMyAxMzJhMDZhZDk2ZWVjMWE1ZTg5ZDliNmYzMjJhZDBlZjI0YjU1N2M5IGxlZ2FjeS10cnVuaworMjE3MzQgYTg2MTk1ZTZjN2UzMzJhNTdiNjhiYWIwYzNlZDJmODE0ZGVmMTI2NyBweS1jdnMtdmVuZG9yLWJyYW5jaAorMjE3MzYgNmI2MGQwZDk3NGMzMWQ1YjlkYzk2ZTk3YjllODI1MTMxZDdjOGE3YyByZWxlYXNlMjEtbWFpbnQKKzIxNzM3IDI4ODE4NzY2YTY0Y2E1Zjk1YmJkMWY2OGU2ZDNhOGUyZTIwN2ZjNjAgbGVnYWN5LXRydW5rCisyMTczOCA2MWU1MGQwYWE1OWExZDg5NjlkOWQ4OTdlNzM0MWViOWMyOTg1ZDk2IGxlZ2FjeS10cnVuaworMjE3MzkgNDA1MzUyZWE1MGEwN2QzMWY2NWQ3YjFiZDA1MzEyODBjMWFkMjJjMiBsZWdhY3ktdHJ1bmsKKzIxNzQwIDQyNDdiNGIyYzQ4ZTY5MTQ3YTk4YjFlMWEzNzIyYWU4ODIzYWVhMzUgbGVnYWN5LXRydW5rCisyMTc0MSBmZTQ0NDI4Zjk3NzRkZjg0NWJiZjM3MzVjZmE4YWE1YTM5NmQxNjI1IGxlZ2FjeS10cnVuaworMjE3NDIgMzA0MTRiNDFmYWM5Nzg0YjZmMTM1YmE3NWIxZWEyOTQxMzAzYjNhMSBsZWdhY3ktdHJ1bmsKKzIxNzQzIGU5OTU0NTY3YzU0YjAyZjcwNGE5Y2ZkMGExMjVkZDVkZjBkZDc0YjggbGVnYWN5LXRydW5rCisyMTc0NCAyMWEwNGQxNWUzOGMyNmQ4MzNkMWUwMWI5NjlkZmUzYmEyZTc4NDEzIGxlZ2FjeS10cnVuaworMjE3NDUgNWI4MjBkN2EzZTdjMTNlMjlmM2YzNDJjYzk0NjZkOGFiNGNmZjkxMSBsZWdhY3ktdHJ1bmsKKzIxNzQ3IDI3ODMxODMwNDM1NzkxOTJkZjUwMzQ5N2NiODkyMjA0MjI3MzY0ODAgbGVnYWN5LXRydW5rCisyMTc0OCBjN2JlZjZhYTZmOTI2NzI3ZDExOTlmYmFjYTdhNWU1NmFjMDcyZDdhIGxlZ2FjeS10cnVuaworMjE3NDkgMjFjNTQ5YjY2NzAyNDExYzhlNjI4NzE1MzEzN2M0ZjI1OTEyOTEyZSBkZXNjci1icmFuY2gKKzIxNzUwIDExNTM4ODA1OTdjYzcyYThjZWNiZDFlYjNlODM1MjAzMTllNzA0NjYgZGVzY3ItYnJhbmNoCisyMTc1MSA5YTM3M2ExNDNhMTMwZjJhYmM4NjM0MDBiODIzMWEwM2UyMzFmOWRhIGxlZ2FjeS10cnVuaworMjE3NTIgMTkyNTBmOTE4MWRjNDRlMWE5NTZhOTM5NTdmNmRiNmI4NDJjODIwOCBsZWdhY3ktdHJ1bmsKKzIxNzUzIDIzZTZiYmE4OGQ2YTdmYzdmNWI5Yzk4NjIxMDY5NmI2M2Y2MDU5ODcgbGVnYWN5LXRydW5rCisyMTc1NCAyOGI2MjkxZTJhNWNmN2Y1NTJkM2RiOTlmYjdlOTAwNmNiNzZkNTFhIGxlZ2FjeS10cnVuaworMjE3NTUgM2YyODNjOThlODE1MDc5YjU0Y2RmZDNhMDczZDA2MzljY2QzY2IxMyBsZWdhY3ktdHJ1bmsKKzIxNzU2IDExNTFhYjhhMmNkZmU1OGUyNTBiNTA1NjFkZGJkMWI1ZTkxMWM4NzAgbGVnYWN5LXRydW5rCisyMTc1NyA3ZmRiNDE2MDNlOWEzYzNjMzEwY2E5N2E3NGUwMDQ0Nzg0ODY4NGUyIGxlZ2FjeS10cnVuaworMjE3NTggODU5NTA1MjI0ODUwMjBlZmIwMWY4YjIzOGZjZTg1ZGYzNWEyYWU5OSBsZWdhY3ktdHJ1bmsKKzIxNzU5IDcyMWYxYTg5M2ZiYmMyNDhjYzA3MWZlMzIzZjU4Y2MzZWUyNTVlNGYgbGVnYWN5LXRydW5rCisyMTc2MCA5ZjQzZTNhOWJiNmVlMjUyNmUyODljOTI2ZDU5YmE4MjY3NDQ5NWQ2IGxlZ2FjeS10cnVuaworMjE3NjEgYjlkNDdkMDgzZDJjYWYzNDI4N2I1ZDg5NzdmNDMyNzlmNThlNzQ3YSBsZWdhY3ktdHJ1bmsKKzIxNzYyIDI3NWFmYjVhNzY3ZTJiZDkxMTEwYjk3OTU2MDNlYzBiYzk3ZDhiNTggbGVnYWN5LXRydW5rCisyMTc2MyBmODRhY2M5ZGZkMGI1Y2RjYmFkOWNmMzE0MDJlNzAwNWVkMmY1MjliIGRlc2NyLWJyYW5jaAorMjE3NjQgMDg1N2ZiNDg5ZmEzYTYzMTA3N2E5NzMxZDhlNjE1ZjcwMzkzOWU2ZiBsZWdhY3ktdHJ1bmsKKzIxNzY1IDczMGFiMGJlZDZhYjQ2ZjBhMTcwODc4Y2YxYjQ4Yzk3NTQ3MmFlNTMgbGVnYWN5LXRydW5rCisyMTc2NiBmYWY3ZjE3MWE5ZjMyMjQwOWI1MThlMDE2ZmMzNTVlOGRhMGU3ZTQ0IGxlZ2FjeS10cnVuaworMjE3NjcgZGNkMWEwYWFhZWNiNDljYTc5N2NhNmNlYTdlNWI4NmZkN2U3NjMzMiBsZWdhY3ktdHJ1bmsKKzIxNzY5IDIxZDdiYWU5ZGMyZGI2YzJjYjNkNzJkOWUzZjczZDkyYTkzYTgwODUgZGVzY3ItYnJhbmNoCisyMTc3MCA1OTQ0NmQwZjgzNDFkZDE3MzBmMTYxZTAzZTFkNzI5NjIxNTc0MDljIGxlZ2FjeS10cnVuaworMjE3NzEgMWY5YzdiNGNlZTc3YWZlOWZhOGE0YTVlNGRlZTExMDAwNzc2YjUyYyBsZWdhY3ktdHJ1bmsKKzIxNzcyIGZkYjM2YTBjN2U2ZTk4ZTYyMGJmZjFmYTA2NDg4NjU2MTBlNjgxMzUgbGVnYWN5LXRydW5rCisyMTc3MyA0YWM5OGZlN2FiZDJiNTE2NzYyNjk4Njc0NmRlNDJjNDY0NTMxNDQzIGxlZ2FjeS10cnVuaworMjE3NzQgNjIzOGEyMjJiN2NkNjU4YWI0MzM5ZWE2YzNhNmJhNDc3NWNhODg5YyBsZWdhY3ktdHJ1bmsKKzIxNzc1IDM4NGE2MWZhNmY1YTIwNDdkYzRmMzllZjZmYjM1OWQ2Nzc3Y2IxNDMgbGVnYWN5LXRydW5rCisyMTc3NiAwYTkwZTVlYzYxYjY5ODFlNjU2ZTdlYzhkNDlhMjk2NGY4Mzc1ODc3IGxlZ2FjeS10cnVuaworMjE3NzcgMDFmYzk4YmEzOTlmMWE4YWYxZjM5ZDRmNzQzNDRiZTQwZjIxNGUzNCBsZWdhY3ktdHJ1bmsKKzIxNzc4IDE5ZGNmYjkzNWY2MGU0ZTBmOGFjZjg2MTI4YmMzMDQyOGQ0Y2M3NzEgbGVnYWN5LXRydW5rCisyMTc3OSAyNzEwNjRkYTFkNTJjY2VjOThmZTE4NTMxMDBiODU4MzRjOGNmNWRmIGxlZ2FjeS10cnVuaworMjE3ODAgMWYzZDc2NmRhZDkxZTVlZTI2OTI4ZTU5MjU5NGMyMWNkNWNmZGJiMSBsZWdhY3ktdHJ1bmsKKzIxNzgxIDkxNTkyMjJlNjQ2M2ZkNTk0NTA0OGI2N2QzYzlkNzYyYmI2YTVhZDkgbGVnYWN5LXRydW5rCisyMTc4MiAxMDcxN2Y4YTZkOTY4NGMyOTdlMTUwOWJhY2ZlNDg1YWY0YjAzZDJlIGxlZ2FjeS10cnVuaworMjE3ODMgOThkODFjYmU4YmJkN2ZkYjM5NjE3NDA1YTJhMGVhNzMyM2FhYzczNCBsZWdhY3ktdHJ1bmsKKzIxNzg0IDM1ZmVjNDg3YmNlZjc3NzM4ZDVmYjNmZmE5ZDgzOGM3MmQxNGFhMDMgbGVnYWN5LXRydW5rCisyMTc4NSBlNWU1YmI1NDgyZDNiNzJjNjcxMTI2YTg5NzEzOGNiNDE4N2U3YTAwIHJlbGVhc2UyMS1tYWludAorMjE3ODYgOTIwZWU3ZjJhNTkyMmU2ODVlYThjNTQzMjA3ZDkzZWM2NWM2MTdlZiByZWxlYXNlMjEtbWFpbnQKKzIxNzg3IDJiNWU3MzgzYzc3YTE2ZjM0ZWRlNDg3NmUzZmY4MWY4ZDdmNWY0YjAgbGVnYWN5LXRydW5rCisyMTc4OCAyOTU1MThlNmZjZWFiZTE5MDc2MjVkODU0YmVkOTkwMjJhZmUwZmVlIHJlbGVhc2UyMS1tYWludAorMjE3ODkgYzA2ZDgxNzllOWUzYjMzNjg5NmE1NmQ5ZDIwOGQzODZkMTc4NTk4NyByZWxlYXNlMjEtbWFpbnQKKzIxNzkwIDkxNDk0MDk0NmUyZWExZmNjYWUwMDNmYzAxMDNkYmM4MDkwZWNiODMgcmVsZWFzZTIxLW1haW50CisyMTc5MSBjOWI0YzhhZTYxNzkyMzA1MWE2MWZmMjYzMjdiOGM4MWVhZjgxMTYzIGxlZ2FjeS10cnVuaworMjE3OTIgNDAzMGM5MDE5MDY3YzVjMjA2N2U4ODMwYTMyZjAxYjBjNjg0ZTI1NCBsZWdhY3ktdHJ1bmsKKzIxNzkzIGZkZGU5ZmFjYmI2ZWE3ZDE1NWQwZDRkZTI4YWM2Y2MxZWQ2ZTA4NmUgbGVnYWN5LXRydW5rCisyMTc5NCA3N2M4MjgyNGRmNDEyOWYzN2JkYTYxMTk3N2FiMThkMzg4MTQ0MGZmIGxlZ2FjeS10cnVuaworMjE3OTUgZDU5YTg0NzZhZmFiOWRmNTRhYTA0MThlZDVjZTA0M2M3YTM3MmUyMSBsZWdhY3ktdHJ1bmsKKzIxNzk2IGM4ZTQ3MjhkMmFiMGYzY2E4YTBkMmIyMTY5ZGZmYTRjMDVjZWY1NTUgbGVnYWN5LXRydW5rCisyMTc5NyAxZDNjNTdjYzhkMDg1Yzg2ODdiNzhkODllNjk4YWQwYzMzNmRkMjU4IGxlZ2FjeS10cnVuaworMjE3OTkgOTgzYWNhYzU2NDY2YjNiY2ZjZGRkMmM0MzE4MjkwZWE3Yzk1MzZkYyBkZXNjci1icmFuY2gKKzIxODAwIDA1Y2Y2YjNlNjNkZTU1NGUxN2I5MzU2NjUzNDQwZDZiYzUzZGJhNDMgbGVnYWN5LXRydW5rCisyMTgwMSBlNTNiY2JjMzE2NWUzOTY3OWFmNjM4OTkzZWUyNWJiNDUwNzU2Y2NmIGxlZ2FjeS10cnVuaworMjE4MDIgZDNjMjViMDZiN2U1YjQ0ZGM1MzAxZmRmY2MyNjQ4ODAwOTY2NWRmMiBsZWdhY3ktdHJ1bmsKKzIxODAzIDU3ZTU5NTI1ZDIxN2RmY2UzNWQxOGE0NmViOGQyNDhlYmFiOGNlZWQgbGVnYWN5LXRydW5rCisyMTgwNCBmZGY4ZDA4MzEyNzg5NTNhMjg1NzljMWRjYTAzMmI3MGQ3MDVkNTM0IGxlZ2FjeS10cnVuaworMjE4MDUgZjcxOTY0ODZmNDJkMTgwOWQ1ZThhNGE2ZWRkN2MxY2NhZmQ1MzUyYSBsZWdhY3ktdHJ1bmsKKzIxODA2IDZhNTA5MTBjYTMwM2FkMDRhMzdjZjlkOGFlZmU5OWMzZWE2YzhjZmUgZGVzY3ItYnJhbmNoCisyMTgwNyA1NTcxN2RjMjI3ZjRkZTEwYjQ5MGM4ZjVmNjMzYjVkNjVjYmMxZWEyIGRlc2NyLWJyYW5jaAorMjE4MDggOTRmYmNmMTk2NTQ5NTU3YjhlMjcxZmI2ZDllYWY2N2U4ZDlkYTU3ZiBkZXNjci1icmFuY2gKKzIxODA5IDA3NzJlYWExNzYzMTlhYjRmZmM1OTQ4ZTY4MDM4ZmVlMDQ1MDc3ODUgbGVnYWN5LXRydW5rCisyMTgxMCA3MzM1YWM3YzUzMTU3ZmMwMGQ5YzFkZTM4YTUyMGFhMzg4ZmJhMDdkIGxlZ2FjeS10cnVuaworMjE4MTEgY2I1ZWE0ZDhlOGJmOTgxMWQ2NjZkZjQ0YzNiNDBhMGM3Njk0NDNhOSBsZWdhY3ktdHJ1bmsKKzIxODEyIGU1YTJlODkxNmUwYjRlNjRjM2YyNzgwYmJlMjUwNDY2MWUzN2IxN2EgZGVzY3ItYnJhbmNoCisyMTgxMyBjNDNmZTIxM2VlMTA4ZjUzNTMzOWI5YjI5M2I1NTc5Y2U2YjRiYWU0IGxlZ2FjeS10cnVuaworMjE4MTQgYWQ4MmNhZmU0NWFjZjQ5MWY4OTg2MTVkYWY5MmEzYzJkMjc0Mzk0MyBsZWdhY3ktdHJ1bmsKKzIxODE1IDMzODE4ZWM2Mzk1YmFkOTBhOGRjYzMyOGZkYmE1ZjMyMTQ3NWZkZjMgbGVnYWN5LXRydW5rCisyMTgxNyAxZjFjNzhiYTU3ZmY0NTdmNjAwYTI0YzU0NjM1NjI5Mzg2NDVkNjExIGRlc2NyLWJyYW5jaAorMjE4MTggZDYyMzNmN2I3NGMxOGZlNWNhZjY0NDU3NTYxNTdmMTc2MjNlZjM2YSBkZXNjci1icmFuY2gKKzIxODE5IDhhYTYzYWVhNzI2OTU5OGE3MTNiZTQ0NzQ4NmFjNTZlODhhODIwMTcgbGVnYWN5LXRydW5rCisyMTgyMCBjYjY2YTk4MzA5NmY3Y2YzOTUxNWI0YzMzYWU0YWVlMTU2NmM1MGM1IGxlZ2FjeS10cnVuaworMjE4MjEgM2I4ODg4NTlkNTJiM2E2MDdiYzg1YjU5ZDZhOGM4OTQwZGVhZTBjMyBsZWdhY3ktdHJ1bmsKKzIxODIyIGNhOGE0OGFiYTIyZWNlMjliZDY3NzA5ZDU1ZWFiOWQ1OGRmZTFjZTUgbGVnYWN5LXRydW5rCisyMTgyMyA1ZWJlZTVjMDYwZDBlN2RiMjE4YzdjMWJmZTIxMDhkYTVhN2I2NGQyIGxlZ2FjeS10cnVuaworMjE4MjQgNzQ4ZjZiM2E4YmY2Mjc0ODFmMjk3NjJkZWIyMjU0MzhjMmNjOWYwNiBsZWdhY3ktdHJ1bmsKKzIxODI1IGFjMTFhZjdkODYwYTM1ZjVjZTc2Njk0NzYxNGRlM2ZjNTM4NTUxMmYgbGVnYWN5LXRydW5rCisyMTgyNiBmY2RiOGM5NGI1ZDhmMzNkZWI4YjQ2NzBiNmYyN2NlZmNjN2I5ZTk4IGRlc2NyLWJyYW5jaAorMjE4MjcgY2Q2MzlhOTQ3MWI4Zjc5MDVlZjU4MWVjOTQ2YTkwYWMwZmMxMzdlYSBsZWdhY3ktdHJ1bmsKKzIxODI4IGU2MzhmMTIwNmVlMGJkOTlhOWE5MWYyNDUyZDg5MzhkMGE1M2EyYTQgbGVnYWN5LXRydW5rCisyMTgyOSA3MDI3NTAzN2YxMmQ4ZGVkNmFkMjJiY2FmOTNhZDc0MzIzYzBmYjhlIGxlZ2FjeS10cnVuaworMjE4MzAgNzQ2MjNiMDc2ZDFiZTllMzNkMDhmY2RmNjVlMTFkN2VmYjZlYzk2NSBsZWdhY3ktdHJ1bmsKKzIxODMxIDk1ZGRjZDQ0NGQzOTJmYmIxMzZjNzY3YjFhM2EyMzdhYTE0ODJhMTYgZGVzY3ItYnJhbmNoCisyMTgzMiBkODllOTM2ZTFiMTA2NWM1ZjU3MGMwMjU5ZTczMzAyZGQ2NDNjNWRhIGRlc2NyLWJyYW5jaAorMjE4MzMgNzA3MTFhOThkOTg5N2M4OTM3OWJhZDA0YWZlNDM5YzMxNWRjOWY4YiBkZXNjci1icmFuY2gKKzIxODM0IGUwOWJlZTliNTcyOTJkNzYxM2VlNzYyNDRiZTg0MjRhNTY3NDdhZTIgbGVnYWN5LXRydW5rCisyMTgzNSA1ODRiZTBiYmQ5NDJiNjQ1NWMzOTkyZmFiNDg2Y2YxNjE2YzkwZTljIGxlZ2FjeS10cnVuaworMjE4MzYgZjY1Y2U1OTkwNTQ3ZDUxMDRjYWRhZmEwMDk2NTJjNmVmOGI2MDExOCBsZWdhY3ktdHJ1bmsKKzIxODM3IGI3Nzc1ZWJiZjQ0OTA5OWE0ZTFiMDU0OTgyNTg1MTVjZjBlNjNmNWIgbGVnYWN5LXRydW5rCisyMTgzOCBmMTQ4MDAyMjk2NzdkZWEwYWFiNmU4ZjVhN2RiMmY0ZmI5NThmZDg4IGxlZ2FjeS10cnVuaworMjE4MzkgOTI2MjZmNDJlMDQzM2NlZjY2ZjVkZTY2MGRlZThhNDhiNjUyODU2ZiBsZWdhY3ktdHJ1bmsKKzIxODQwIDVmYzJiYTFjM2YyNDIzZWU5MzkzMDMzMjhiZGE2NmE1ODFlMDZiZTMgbGVnYWN5LXRydW5rCisyMTg0MSBhMDI3NzlmZDliOTIwZWI3ZmE5NWI3OWM1YzQxMzJiOWU1OTI4N2VmIGxlZ2FjeS10cnVuaworMjE4NDIgMWY5NzQzYTFlZDdiMGIwOGFhOTQxOGI4ZTczZDcyYjIyYzE1NTIyZiBsZWdhY3ktdHJ1bmsKKzIxODQzIDZkNGE1MzBmZTdjMTYyMjExMTY4OTgwZDZlMGE5MTE5ZDRmYWIxOTQgbGVnYWN5LXRydW5rCisyMTg0NCAzODRiOTExM2EyZTBjNjlhZGZiNDJkNWE3MWQ5MjAzMmExZDJhN2QwIGxlZ2FjeS10cnVuaworMjE4NDUgNzkyN2U4Y2Y0NjE1MGFjNGQxMmFlMDg3MjJjN2Y3NWE5MzhjOWVlOCBkZXNjci1icmFuY2gKKzIxODQ2IDM4MjA2ZjI5YjBmYzFjNTQ3NWQ3NzE4NWFhYmE1M2YyMjJjZjFiYjkgbGVnYWN5LXRydW5rCisyMTg0NyBjZmI1N2RiNGMzODhlNzU1ZjlkZTFhMDVkNzJlYWNjZTYwYjYzODgxIGxlZ2FjeS10cnVuaworMjE4NDggNDkyYTFiZDRkMGM1ZmUxYTJkZmM2ZGJjMTIxNTdmNWFlNWIzZDliZiBsZWdhY3ktdHJ1bmsKKzIxODQ5IDllZThmMTZiMGUyNzJmNjllYTQ0MGFmNThmMjg5NTdiODUwNjU4NDYgbGVnYWN5LXRydW5rCisyMTg1MCBmN2JlN2U5YTZmMjAyODFjYmJlNTY4M2EwZDE4MDU4NTFiYjkyYWJjIGxlZ2FjeS10cnVuaworMjE4NTEgZDNiYzgyZDFjNWE5Mjg1NWMwNDA4NzQ0M2NkMWU5MmM5Yjc4NDZmNCBsZWdhY3ktdHJ1bmsKKzIxODUyIGU0MjFhYTQ1MDQwY2QwODY5MWNhMzgyMjQ5NTVmMjU3M2IyYWMwYzYgbGVnYWN5LXRydW5rCisyMTg1MyBhN2JjMzM5ZWUyZjM1MDg5N2NhNTc1MWNhM2MxMTYzMWNmMmZhMWU4IGxlZ2FjeS10cnVuaworMjE4NTQgMmJhMWQ5ZDk5NmEzODNlZTIxMjRkYzNiNzcxNjFlN2Y4NjM2YTVmYyBsZWdhY3ktdHJ1bmsKKzIxODU1IDA1MDVkOWRjODMzZDc0MDM1OTUyODM1MzMxZGEyY2Q0Y2U2YWY2ZWUgbGVnYWN5LXRydW5rCisyMTg1NiBjNjU5ZDRjMDA5Y2JmYjM3ZjE0NGNkOGYwNmQ4Njk5OWVkNzExNzNhIGxlZ2FjeS10cnVuaworMjE4NTcgYWQyZjUyNmYwMDE5ZDQxOTgxZTk5MjA4MDQyNzUyN2VhYmU0MDk5MSBsZWdhY3ktdHJ1bmsKKzIxODU4IDhjYTcwYzljMTk3MTM3NmU1NGI1NTU1OTY0Yjk4MGZhMWViZmJiZjUgbGVnYWN5LXRydW5rCisyMTg1OSA0NzkzMmQ4MmI4ZWIxZmY2MDE4YWQxYzhhYmQzMWU2ZDcwMWM0NjU2IGxlZ2FjeS10cnVuaworMjE4NjAgYTM4ZTc3MjQwYTY3Mzk4MGVlOGQ5ODE4MTQ2MTVmMzEyNzJkMjQ0MiBsZWdhY3ktdHJ1bmsKKzIxODYxIDU0ZDA0NTljOGUwZmRiZDYzYzI0YmVhM2I0NWE1ODc2NTAxNTc4ZDkgbGVnYWN5LXRydW5rCisyMTg2MiBmZDc0Y2I1Yjk1NzMyYzg5ZjRmOTBmNjgzYTJhNTUwMTY0OGJkODFmIGxlZ2FjeS10cnVuaworMjE4NjQgMDljNmZlN2RiYjFjNTNjZDdhZTFlODViZDQxMjU2MTg1ZTZiMWUzOSBkZXNjci1icmFuY2gKKzIxODY1IDQ1ZjUzZmU0NGMwZTZkNWNhNmM1MmY0NzRiNDQyNGIxZjY1ZWIxODYgZGVzY3ItYnJhbmNoCisyMTg2NiA2MmUyNGJjNDdiNjIwNzJkMzE1NzQxM2U0MjQyMDJkZDM5YTJjYTVkIGRlc2NyLWJyYW5jaAorMjE4NjcgYjIxZGYwOTFmYmJmZDZkN2M3ZmZlODY4MTZjODRiZTQxZTQxMmJjMSBkZXNjci1icmFuY2gKKzIxODY3IGQyNTA5NTkxMzNiNWE5OTZiMWVkZjhhNDc3MmZhMDJlNThhM2E5NzIgZGVzY3ItYnJhbmNoCisyMTg2OSA0YzU5ZTkzNGU3NjVkZTUwM2JlOTM2OTg5OGU2OTExNjY5ZmY3ZTkyIGxlZ2FjeS10cnVuaworMjE4NzAgMDY0ZGU4NDM4NWNhZWEwZDI3ZDdlNTlkMDRlNmE5Y2ZhMjM4OTM3YyBsZWdhY3ktdHJ1bmsKKzIxODcxIDUxYzM4MmQ1ODUxYjkxOTJmODZkMWM0NWM2MTgyZTc5NGE1YjhhZDQgbGVnYWN5LXRydW5rCisyMTg3MiAwNzkxN2YxNDM0ODg2MjE2MDNlYzU2NzE5ZDc5OWI3NDBkMjEzZjIyIGxlZ2FjeS10cnVuaworMjE4NzMgMDA2OTU1NTFkNzIxMjExNzA1ZGQ3M2EyMjUxNjMyZjIxZDg2YmQ5NSBsZWdhY3ktdHJ1bmsKKzIxODc0IDQzODE0NjFjY2U1ZGY5MmNlMTM1ZDVhNGQ0YmMzZjBmMjZlN2YxNWYgbGVnYWN5LXRydW5rCisyMTg3NSA5MjE4ZmE2NTIzOTFmM2E4OTFjNzI0YzRiOThkMzdmODZiN2NjNDc1IGxlZ2FjeS10cnVuaworMjE4NzYgMjUyNDRiZGIxNjNkOTIxZTIxMzBjZTZhZTBlMDJlMmFmM2Y2MWE0NyBsZWdhY3ktdHJ1bmsKKzIxODc3IDFjMmRhNzhiODM5YjliMDU4ZDY2YjY3MzVhMjhlNTBmMDY1MGNiMjkgbGVnYWN5LXRydW5rCisyMTg3OCA2Nzk0ZGNhZTVkMGNkOTg0ZTBkMGQ3NDgzYWE1YWU4MjQ4ZDBiYjM2IGxlZ2FjeS10cnVuaworMjE4NzkgYzc2Njc1NmQ4NGQzMzc1ODMzOGU5NDlmNGFlN2ViZDJkN2M1ZjcwMCByZWxlYXNlMjEtbWFpbnQKKzIxODgwIGRhZWE5NGYwNjQyOTYwOWY0YmZiZGQ5YmZiNjQwY2U3OTM2MWI4MzggcmVsZWFzZTIxLW1haW50CisyMTg4MSBhMWYxOWVlMDFhYWUwZDVlZTNjMzJiOTdlZmJjM2MzZjFiNTMxZjU0IHJlbGVhc2UyMS1tYWludAorMjE4ODIgNTM1NDVjMzcxZmUzODQwZDEyMDk0N2M1OTFjNDBjM2Q4MmUxNjlkMCByZWxlYXNlMjEtbWFpbnQKKzIxODgzIDNjZDMwODFkZjYwMWMyMGE5MmY4MWFmNDI1MTg4YWIxN2MwNzIzYjEgbGVnYWN5LXRydW5rCisyMTg4NCA5NWVhNjEwZjNmNTRkNzJhYzg2NmUzNDk3YjgxNmI4MTI1ZTdkZDYxIHJlbGVhc2UyMS1tYWludAorMjE4ODUgMzZjNTYxZWU5NmI1MzI5ZjUwYjAzMGNkYjkzZjVhOWJiZWYwMzNmZSBsZWdhY3ktdHJ1bmsKKzIxODg2IDhkZjc3NDE1YTYxZDU2NGM4NjM5NTY4MjM1OWI0Y2MxYjhjZjZmYWEgbGVnYWN5LXRydW5rCisyMTg4NyAwM2MyMGU3Y2NlNmFjZDRkMjgwNDQ4MGRiNGI3YmNiZTFkZDkzNWY2IGxlZ2FjeS10cnVuaworMjE4ODggNzBlMTg1OGFkNzAzMjIxYTYyNjA4MzdlY2FiOTI5OGZjOGY4OGQ1MiBsZWdhY3ktdHJ1bmsKKzIxODg5IDIzNzM2ODY0NGMxM2Q1MzdjN2MyY2M4NzNhNTkzMzE1ZjQ0MzI1MDkgbGVnYWN5LXRydW5rCisyMTg5MCA3MjZmNGQwNmJkNGJkMzg4MDI5MWVjYTE2MzdjYTllMjA1NTFiMTUyIHJlbGVhc2UyMS1tYWludAorMjE4OTEgMjRkMDA1NTdmYmM5NWFhN2ZkMWZkYTMzODEyZjhiN2UxMDBjMjlhZCByZWxlYXNlMjEtbWFpbnQKKzIxODkyIGIwOTQ5NjU5NjBhZjkxZDBhOTMxNjdhMjg5ZmQxNDU5ZWViNGQzNTMgcmVsZWFzZTIxLW1haW50CisyMTg5MyA0YzBhZGI4YTViYzY1MzkzNDI4ZjY0NTFhNDA0N2M4YjQ3MzMyMTMxIHJlbGVhc2UyMS1tYWludAorMjE4OTQgOGNmNTNkMGY4NWM4NzRlN2ExZTdmN2MwMTVmZTJhMjRkM2I1ZGVkZiByZWxlYXNlMjEtbWFpbnQKKzIxODk1IDVjNzM2MjFjOTU1OWI1OGZiZmNjMDU2OWNmN2Q4M2UwN2E1OTcxOWMgcmVsZWFzZTIxLW1haW50CisyMTg5NiA1YjA3NDcwMjM5ZGI4OTI0Yjg3MzY0M2JmNDY3MzMzNGU5NzliNjEwIGxlZ2FjeS10cnVuaworMjE4OTcgNGNhOWFjZWQ1NTAzN2NmMzE2NTcxOTk3MWM4NDM2MmNhZWVhMjQ3MSBsZWdhY3ktdHJ1bmsKKzIxODk4IDU1MzIwZDYyOTFjOWY1YWI4ZThkNjFlZTQ1MGJlYmE2MWY3NGI3MjIgbGVnYWN5LXRydW5rCisyMTg5OSAzYzA1MGQxZTM1YjEwMmE5NmNkMTMxMDVkZDFiODM4ZmZkZGY5YjY3IGxlZ2FjeS10cnVuaworMjE5MDAgMTFmNGNkNDVhODBjMDc4MzdkMDg0OTVkY2RlZDhkMDRmZGZmODY4NyBsZWdhY3ktdHJ1bmsKKzIxOTAxIGJhYWFjOTRmZWM1NDc1MjBhZmU3MTY2NDZkZjUyNGU0NmU2OGI1NzUgcmVsZWFzZTIxLW1haW50CisyMTkwMiBlZTliNDU4MDQzMzc3MGI0MjdkZTZmMmVlMWQyNzMyOWY2YzVmMGE5IGxlZ2FjeS10cnVuaworMjE5MDMgY2E5ZDdhNjM3OTRmMDE1YjhiOGM3ODVlNWQxMzllNTdhNGFjODhhMSByZWxlYXNlMjEtbWFpbnQKKzIxOTA0IDkxNzE2OGZiZmQ5NGIzZGY3ZmU2YTNlOGViMzFkZTgyMDlmYjIxODQgbGVnYWN5LXRydW5rCisyMTkwNSBhNTU3ZTk1YjkyZjBiZGYyZWUxZTU3MTliMjhkYmY2MjliM2ZlZGI4IHJlbGVhc2UyMS1tYWludAorMjE5MDYgYWU2NzZjZjE0OTVkNGZjZmYzN2U3ODhjY2RhNTI4ODg3NTJhOTQ3MyBsZWdhY3ktdHJ1bmsKKzIxOTA3IGM3ODBjNjFiMzVjZWM5OGRiOTJlOTNiNGY1YmZlMjg3YTgzMjRmMDggcmVsZWFzZTIxLW1haW50CisyMTkwOCBhZDZjNWMyN2VjYmU2M2U4NjE2YTIzZjM2OGVhMTllMDlkYzgxN2NhIHJlbGVhc2UyMS1tYWludAorMjE5MDkgZjhlMjg2OTk3NmIwZTUwNzUwOTE0NTIyMGFhNmI4NTIyNDhhNWQ4MiByZWxlYXNlMjEtbWFpbnQKKzIxOTEwIGQ1MWIyZDkzMzgxNDc4NjE5YzI3Y2ZhNGQzMGJkZjVlOTA0ZTEyZGEgbGVnYWN5LXRydW5rCisyMTkxMSAzMzVlNzViY2I1MWFkODZlMDBiYjc1OGU0MjVlNTI0MjY4YzA5YzYxIGxlZ2FjeS10cnVuaworMjE5MTIgMmNlNmE5YjBhNTFkNjg0Nzc5MjA3NTA0YTljOTIyNDZhMWY0MjAwYSByZWxlYXNlMjEtbWFpbnQKKzIxOTEzIDE0MGI3MjkxMzBkMGM1ZjBiZTMyOGRkZjU3MjNiZjM0NDQ0ODk4NzggcmVsZWFzZTIxLW1haW50CisyMTkxNCBiMDMyOTY0OWI4Y2ZjZmE1YmEzNjFmYTE2MmFlOTQ3NmZlZDVkNjYxIGxlZ2FjeS10cnVuaworMjE5MTUgYzI1ZjJjMTNkMzgwNmY0YzM4NzY1N2VjYWIzOWU1NjY4OTI0ZDE0MCBkZXNjci1icmFuY2gKKzIxOTE2IGRmNGI2YjVlYTliODVjNWM3OGI4ZGZlODcwZTk0YTQ1N2I5NWE0ODYgcmVsZWFzZTIxLW1haW50CisyMTkxNyA1OWQxNGM4ODY1MWNiNDQ0Y2EwZTkyNTc1YWJhMTI1YjQxMTc1Y2YwIGxlZ2FjeS10cnVuaworMjE5MTggZmVjOGY0MDM1ZmIyODY2YWU0NWU4MTQ4MjNkZTY5MWM5YWFlNzY1NSBsZWdhY3ktdHJ1bmsKKzIxOTE5IGRlNmYxNTg5Njg2MTk4MGNhOGQ3MmYzZjgxZDNhNzdmOTBjMDA1MmQgbGVnYWN5LXRydW5rCisyMTkyMCBiMjZmZjE2NDMyMTFmMTRjMmM2MGQ0YTM4ZTkxMWM5Y2QyMTFlMmRlIGxlZ2FjeS10cnVuaworMjE5MjEgNzA0NDg2NjQyMDc5ZmU2MzEzN2MzYTEzODVlNjFiNjJkMWQ5MzM4NCBsZWdhY3ktdHJ1bmsKKzIxOTIyIDFhYTdlMjE5ZjUyZGM4MmE5ZDU2YzY4MDQ4MmVjYzk2ZDNhNTk5ZGEgbGVnYWN5LXRydW5rCisyMTkyMyBjN2NiMWM5ZTlkOWM1N2RiNTI2MTc1YjdmM2ZmY2QyODUyYjU5MjRlIGRlc2NyLWJyYW5jaAorMjE5MjQgYzcxMmIxNmZmYWNkNjNiNWQ2MjgyYjEzMzlkMDEyNmRiYmE0MjZhYSBkZXNjci1icmFuY2gKKzIxOTI1IGIxNDJiNTE3MzA5Yzc1MmQxMTFhNTQ1NTI0MGVlYTg0MTFhMWUwODYgcmVsZWFzZTIxLW1haW50CisyMTkyNiA5MjBlMDM2MWRkNmUzZTc0MmNkNTAzMmM0Y2U3MDQ1NmVjODQxMGY4IGxlZ2FjeS10cnVuaworMjE5MjcgMTMzZTU3MDE1MTAxNGY5ZGYwN2EyMjA2ZGMyMjYxNDYzMWI2ZmQ2OCBsZWdhY3ktdHJ1bmsKKzIxOTI4IDhjYTJlZjY2M2FkMjBjYmQ5ZTgyMDNiODJkZjg5ZjY5NmQzNTQyYzggbGVnYWN5LXRydW5rCisyMTkyOSAyNzZiZjU5NmU4ZDE4MDg2MTU4ZTBlYjg2MjFjODhiZTg3ZGMyYjcwIGxlZ2FjeS10cnVuaworMjE5MzAgZGY5YzRjNTRlZjNlZjlkNjM0MjU4NTczZWJhMmZmNWZjNjU4YTQ3ZiBsZWdhY3ktdHJ1bmsKKzIxOTMxIDc0YjdiOGE5NjI4YjY2MjAwZjAxNDIyNzAwMzlkMzRiMjZkNmRiNTUgbGVnYWN5LXRydW5rCisyMTkzMiBlNWJhZmRkZDFkYTA0MmU5YzQwZjBhNDFkMGRhMWNiOTRiY2ZkY2JlIGxlZ2FjeS10cnVuaworMjE5MzMgZDA5MzhiYzEyYTExZTY3YjNiZTA4ZTFlYmM2MDM1NTMxNTA0NDdhNCBkZXNjci1icmFuY2gKKzIxOTM0IGM2ZWY3MWU5NDNkZDY0MGI0ZmQyMWVlM2JiOTJmZDYzZmFlYTgzNjMgbGVnYWN5LXRydW5rCisyMTkzNSBhYWM2MmFhYTg0NmRlZmFkMGJjNDU1NDljYTMzNDVmZWYyN2Q0ZjJkIGxlZ2FjeS10cnVuaworMjE5MzYgZGI2NDdmN2M4MzFiYzU4YTIzMDI2ZGFmYmFlNzQzOGVmMDYyYzEzYSByZWxlYXNlMjEtbWFpbnQKKzIxOTM3IDkyZjgxNDQ5ZTE2YzIxZTdmOGY5NGE0NWM0YTE4YTExMTIxOGZmODggbGVnYWN5LXRydW5rCisyMTkzOCAwMTY5MmJmMDJmOTc4NTA1NTdhNmU0NGM4ODY2MmUzMTliZGYxM2Y3IGxlZ2FjeS10cnVuaworMjE5MzkgM2NkMDNhNjRjMzM4YzAwMzQzOThhMzI0NjIxZDhiZTE2MzFmZGU3OSBsZWdhY3ktdHJ1bmsKKzIxOTQwIGY4YmQxNGFlZjRkNmZiNWRkZjRlOWQ3YzcyNmYyZmQ4Njg5YzQ5N2MgbGVnYWN5LXRydW5rCisyMTk0MSBhZjlhZDkwYTQ0NDU4YjZlMmQ0OGNjZDhkZGUxYzMxNDM4MmQ2NWY3IGxlZ2FjeS10cnVuaworMjE5NDIgNGQ0NmExYjMzYzYyMTNiZTAwZTdlN2M5NDU5ZTRjZDNkMGUzMzg0ZiBsZWdhY3ktdHJ1bmsKKzIxOTQzIGU3MDkyOWUxMDY2M2NlZGRhODBiNmI0MGM0YTc0M2I4ZTU1NzhiOGYgbGVnYWN5LXRydW5rCisyMTk0NCA4MDJhODRlODRlYTk0MmY2MDY0MDhkMWQ0NjY3MjM0YmI1NjFmMzYxIGxlZ2FjeS10cnVuaworMjE5NDUgMjllMDliOTZlZDM2MzVhOTNjMzljZGVkY2Y3ZjU1ZDYxMzg1MTMzNCBsZWdhY3ktdHJ1bmsKKzIxOTQ2IDc0ZGZlMzIwMDQyM2RkMzZjM2NhYTBkZmJmYmM0YzYyMDg4NDczNDMgcmVsZWFzZTIxLW1haW50CisyMTk0NyAxZDUwODNlNmQxN2U2Y2NlNTdlNmE5YTAwYzJiODNiZjgzODJkMTExIGxlZ2FjeS10cnVuaworMjE5NDggNmJlZjA5ZGE5YjkzMjRmMjgyZDlhZDZiMzNmMzY0Mjk3NWY3YWY1OCBsZWdhY3ktdHJ1bmsKKzIxOTQ5IDBlYmZiMjU5ZWNjNjVlOGNjMjcxNWU2YTRlOTU5ODQwZTA5NzlmZDMgbGVnYWN5LXRydW5rCisyMTk1MCBjYmQyMmM5MDI3YjJiM2QzZjM0OTY2NjVmOWEwMWU0NjQyY2FiYWQyIGxlZ2FjeS10cnVuaworMjE5NTEgZmY4ZTBjZTFkOTg2OTgwNmZjNjhkNjUyNmFkNWIwMDZjYTVhYjYxMSByZWxlYXNlMjEtbWFpbnQKKzIxOTUyIDE0MWJkNzBlMGI3MjMwNTljNmRkNTQ4ZmJjNzk3ZDRlYzQwYWU2ODQgbGVnYWN5LXRydW5rCisyMTk1MyAyZTE3M2RhMTFkMmQxNDZjOGJiODIzYTcyZmZjNTlmM2Q2ODcxYmZmIGxlZ2FjeS10cnVuaworMjE5NTQgODI0MjkwN2M4OTU3M2Y4ZWViMzZhY2UyMWI0YzA5MjkxNTM3N2ZmNyByZWxlYXNlMjEtbWFpbnQKKzIxOTU0IDU3MjUzM2EzMDM4ZDE4MzJjOGEyMDBmYjg3MTgxMTJkZDgzNzU4ZTkgcmVsZWFzZTIxLW1haW50CisyMTk1NiA3OWQzMDRlM2JhMjU3YzkwY2E5MTRhOTg1MmZmMTRiNTFkNWI1ZDFiIGxlZ2FjeS10cnVuaworMjE5NTcgYjEwZmYzMzc4OTZiZTU3N2VkN2MzZWY0MDFiM2Q5YWI2M2RiNTZkMCBsZWdhY3ktdHJ1bmsKKzIxOTU4IDVkZTIzYTYzOGFkNjRlOWY1OTVkY2FkOTc3NGNkMDJmMzdhOWE5YjMgZGVzY3ItYnJhbmNoCisyMTk1OSA3NDNmOGUxZDk1M2NiYzFiZWY2ODk0YWVjMDZlMDhhYjJhOGVhN2ExIGxlZ2FjeS10cnVuaworMjE5NjAgNTc2ODRkM2NlZmNlOTFjMDM5MTliMWM1MWRiNDNkOGRjNWY1NGNhYyBsZWdhY3ktdHJ1bmsKKzIxOTYxIDJkNjg2MjYxNDNhNzljOWZhZjcxYjA5ZTdiYzRjNWNjMDQxMDk5YmIgbGVnYWN5LXRydW5rCisyMTk2MiAyMmIyZjRiNDM2YWZmODM5MDI1YTUzNzdjOTZkMzEzMGNmYjg5NWNmIGxlZ2FjeS10cnVuaworMjE5NjMgNGQzM2FjYmRjNTA4ZjRiZDc5NmJmMWI4ZjJjYmIwNGQ4Mzc2NWVhMiBsZWdhY3ktdHJ1bmsKKzIxOTY0IDIzYWU0N2UwMDExOWYzYzY5NjJlYjc0ODg2MTkwNTM4MTY0YzM3YjggbGVnYWN5LXRydW5rCisyMTk2NSA0NDE1NTEyMWYwMmIxZTI4Mzc0MWY1NjJiMjI0M2FiNmI1MGZjYTUwIGxlZ2FjeS10cnVuaworMjE5NjYgNWViNDYwYTY1ZmY3MGEzNGU1ZjQ1ODg1ZTljMDc5YzY0NWQ1OTYwNyBsZWdhY3ktdHJ1bmsKKzIxOTY3IDAxYWU5NjJkZjg4NWU0ZTZlN2JjY2M4ZjI1NTQ2MTAyMzhjYzMxNzQgbGVnYWN5LXRydW5rCisyMTk2OCA5ODQ4NGVmMjI1ZjkyODlmNjIxODE1OWNhN2YzYjg0ZjcxNmM4MDA3IGxlZ2FjeS10cnVuaworMjE5NjkgYWMxM2E2Y2UxM2UyNGNkMGRhYTE4Y2Y0MDJjODhjMzc0NTk0ZmM1NiBsZWdhY3ktdHJ1bmsKKzIxOTcwIDAxYzYzOTk3MWJmZjEzYmZkNTRmODQ0OTZlODJiZWM5NjA1MDIxOTggbGVnYWN5LXRydW5rCisyMTk3MSBiNDY1Y2Q1MGNmMzY0YTk2MjM1YWIyMzdjNDU0ZDk5Njk3YWVmMTc5IGxlZ2FjeS10cnVuaworMjE5NzIgMGUyMjMxMmM0NzMzNGJiZDg5Y2I5ZGUzMjFiNTNjZDU1ZGUwNmM3YyBsZWdhY3ktdHJ1bmsKKzIxOTczIGY5OTlkMzYwOWY3NDY2ZGM2NDUyNzMyZmI3YTViZDU3M2YwMTU4MDQgbGVnYWN5LXRydW5rCisyMTk3NCAyNDAyMDcwZWUwMjRjMzJlMjFiYTVjMDc3OGYwMjc1NjRjZjA3ZTliIGxlZ2FjeS10cnVuaworMjE5NzUgMThkZjA5NzhkZTVkMmUxMTIyODc2ZGZkYzlkMjA1NmFlMjg2NjAyNiBsZWdhY3ktdHJ1bmsKKzIxOTc3IGIzMDdlNWE4YjRkOGQ1OTFmOWZlOTQ2MTg5MmMyZTNkNjFkY2E2MTcgZGVzY3ItYnJhbmNoCisyMTk3OCAwMTQ2MzlkYzY1ZjhjNzY0ZDkxNjRiYTRiNDg0ZmMyMzg1ZmQ3NzlmIGRlc2NyLWJyYW5jaAorMjE5NzkgN2NkMjJiZjU2ZDdiYzIxODFjNDMyZGU2NzdmNTA5YTdjYWE4YjIxMiBsZWdhY3ktdHJ1bmsKKzIxOTgwIGQxMTE5NjMzYTczZTljZGRhNmI3ZDFkZmM0MWNkNWM1OTBhZDVhYjIgbGVnYWN5LXRydW5rCisyMTk4MSAwMmI4MWRmMDQ4YmM1OWY2N2ZjNjlhNWMxMDZmMjNlNDJlZTY2ODY2IGxlZ2FjeS10cnVuaworMjE5ODMgYzJmYmI1OTQxZWU1NmZiOGE5ODU2ZTkzYjMwM2Q0NDdmMDljMmZkZiBsZWdhY3ktdHJ1bmsKKzIxOTg0IDRkMGVhNGMyMzg2ZDVkODhjNDMzNzE5MWYwYjE3NzBhOWI3NzgwZjIgbGVnYWN5LXRydW5rCisyMTk4NSAzZDUzYjU5ZjQ4ZTY2YzgzNWQwMjg2MzljODY4OGU2M2JhOTEwYTRlIGxlZ2FjeS10cnVuaworMjE5ODYgNjA0NzkwZDQ5M2ZhNzM1OWQ2NmU4MmY5ZDA4ZjkyOGZjZGIyZmE4YyBsZWdhY3ktdHJ1bmsKKzIxOTg3IDE4YTNlMGQ4ODA4ZTBmNzU1NjRiMTNjOTFlOGJjMTMwY2E3ZGJmOTkgcmVsZWFzZTIxLW1haW50CisyMTk4OCBkNTkxYTk2YWVkMDY0M2Q1OWVlNjc1NGJiZWZhNmNjY2JjZDUxYmY1IGxlZ2FjeS10cnVuaworMjE5ODkgOTY0NTVmNGFiYWRkMzNlN2JhNDExMDRmMGI0MjIyZTk2NzY3NTE5YiBsZWdhY3ktdHJ1bmsKKzIxOTkwIDRhNDMxOTUyNjc2YjU3YjAyZWJiMTdiMjI4Mzc5MDU3NTg1Yjc2Y2QgbGVnYWN5LXRydW5rCisyMTk5MSA2ZDk4NzRiYjk3OGZiZjVjNWZkOWY2MmVlOGUzN2FkMzVkNmE2ZGY4IGxlZ2FjeS10cnVuaworMjE5OTIgOTk4ZjgwNTE0YTEzMTI5ODhiMzU0NDk1ODBkNDQ0YzdiMDVmZDY0NiBsZWdhY3ktdHJ1bmsKKzIxOTkzIDc2M2JiNmZhZTI4MGZmNzAyN2VkNzRmZTAwZTdlNDU2NmRlYzI5NzMgbGVnYWN5LXRydW5rCisyMTk5NCA3MGI5YjZmNGU3OWMyYTgyOTY0Y2Y5N2U4OGU3YzI0MmQ0MTJmYzM1IGxlZ2FjeS10cnVuaworMjE5OTUgNDQ2MmM1N2Y2Yzk0OGRkZDhkMDI2YmNlNmNlNWQxNmRmY2E3MDZjYiBsZWdhY3ktdHJ1bmsKKzIxOTk2IDc0ZjA1MGY3YzM2NGRlZmI1OGMxOWE1NzhiNmY3NDVmMjZjNTNkODQgbGVnYWN5LXRydW5rCisyMTk5NyAxYjY4NjhlODlhMjNlOGYwYTBlMDdjYWIxZDhjZWVjMjc5NDJiMmY4IGxlZ2FjeS10cnVuaworMjE5OTggYThiMWFjYzdhMjFmNTRkM2Q1MmQ0ZWZlZjRlMDczYjg2NGM1ZGVmMCBsZWdhY3ktdHJ1bmsKKzIxOTk5IDgxMzE1YjZmOTQ2OTUxMDIwNzRmNGIxYzA0NzdmMzJjMzNhOGUwZGEgbGVnYWN5LXRydW5rCisyMjAwMCA0MTAwN2Q1MGNjYjczZDI3NTYwM2RjZTY0MDYzZjliZjE4ODRjYmIzIGxlZ2FjeS10cnVuaworMjIwMDEgMjllNjYxYzUyYzBiNTVlOWI1OGJiYjE3ZjAyNTZhN2ViNGZlZTlmNiBsZWdhY3ktdHJ1bmsKKzIyMDAyIDBjM2FkNTAzYWQ2YzQ5MjAyODFlMzZjZjllMzk4NTM5ZjlmMTk0MmIgbGVnYWN5LXRydW5rCisyMjAwMyBjMzA3MWJkNmE3MTMzMThjYjBhYjc5ZWY5NjlmYzMzZmQ1YzMwMDYxIGxlZ2FjeS10cnVuaworMjIwMDQgMTA3MzI2NTE1NDI1ZGI3OWE5Mjk0MmIwNTY5MDViODE2YTg0ZTc1YSBsZWdhY3ktdHJ1bmsKKzIyMDA1IDY5M2IzOTgzMWY3MTgxMDcyNTU3NDZlMjAxNDViNTQ2NDRjZDkxOTcgbGVnYWN5LXRydW5rCisyMjAwNiA1MDAwNGJlZDRlNjVhOTE2YjNiNTE1MjM0YTdhZjliOTUzM2NhZWNiIGxlZ2FjeS10cnVuaworMjIwMDcgMzE1YjNjYjEyN2MwNjIyMWQ4NDJlZWFlZGI1YjAwMDE4NDIxMTBjMCBsZWdhY3ktdHJ1bmsKKzIyMDA4IGNlYmI0ZTE4NzQ0OTlkNDgzMDU3NzAxMTU1MDJiODYyMmM2NGFlM2MgbGVnYWN5LXRydW5rCisyMjAwOSBkYzliYWY4MGM0NWFmZDkyNjc2NzlhNjU2NjNkOWUxYWE0N2RkYjEwIGxlZ2FjeS10cnVuaworMjIwMTAgNDY3N2QyZmYzMTUwOGY1ZmE2YWFiNjQwYzU4MzRmNTU5MDYzM2Y0OSBsZWdhY3ktdHJ1bmsKKzIyMDExIGE2MzYxYzJlNTA0NGFjZDQ0NzFhYTg1NDljM2FkMDRjZTEwZTk5NzggbGVnYWN5LXRydW5rCisyMjAxMiAzM2Y4MjA4MDU1OWUxNjk4ZDQwNzkyMzkyMmM0MGMxN2FlNmFhNjk2IGxlZ2FjeS10cnVuaworMjIwMTMgM2FhODdmMzRjYWIwMWI2NDRkMjYyMmEwMzkwZjEyNjFkM2M5NDk5ZiBsZWdhY3ktdHJ1bmsKKzIyMDE0IDZmOTI0MmQ4NzA1OWU4NGZhOGE4YWE2N2VhZTQ5YmNmZGVkNjI2NjcgbGVnYWN5LXRydW5rCisyMjAxNSA0MDkwMDYyMDI5M2U2ZDZkY2MwMWNkNWRhY2ZlMjI5NjAzOWYxMWYzIGxlZ2FjeS10cnVuaworMjIwMTYgYjgwYWM4ZTMxYTgwMmVmZTc0OTYwZDMzODc1MjgxMjQzMzAzNzU3MyBsZWdhY3ktdHJ1bmsKKzIyMDE3IDdjOTI4MTE2YmFhMDBkZTBmM2QxYzI0NjUwNWViNGEzZWY4OWU4YWUgbGVnYWN5LXRydW5rCisyMjAxOCAwODFkOTZmYmNmNDMyY2JiNzUxOGRmZTc2MGQ1N2MwZjFiNjVlODBkIGxlZ2FjeS10cnVuaworMjIwMTkgMWJjMWZkZjE0ODJiMDZjNzdmYWNhNTYwYTVjMmM2YjZjYjZjNWFhNSBsZWdhY3ktdHJ1bmsKKzIyMDIwIGZkYjM4OGYyZGY0ZWFhNzMxOTBiNDI1MDE4NDU0ZTBlOTFkNGZlYjYgbGVnYWN5LXRydW5rCisyMjAyMSAxMzJjNGJmZGJhNzQ4MDE4Y2QwNjYwZTBjOTIzNDljMjc4OTM5ZjI4IGxlZ2FjeS10cnVuaworMjIwMjIgMTMxYTlmNzVlMjU4MmRkNTRlZjZjMTNkYTk2NTY1NzBjZTVmMmQ0OCByZWxlYXNlMjEtbWFpbnQKKzIyMDIzIDNjYzY2NzUwNjg3ZDVjZTgzNGU2NTE4ZGQ2ZjNmNTFhMGQ5NWRiZmUgbGVnYWN5LXRydW5rCisyMjAyNCA3ZTUyYmY1MmFlMzM0ODdkYzQ3NWYyMDM0NjM4ZmM1YmM5MDc5YzZlIGxlZ2FjeS10cnVuaworMjIwMjUgMmRlYTQwZTQwZDlkNTczZTUwNjdhNWM3NjBlOTkwYTM3NTI0ZDBjNyBsZWdhY3ktdHJ1bmsKKzIyMDI2IDAzMzA1NjAyYmE5Yjg1YjNiZmE4MWEzMzdiMjZkNDVlNGNiOGE0NDggbGVnYWN5LXRydW5rCisyMjAyNyA1ZTBhNDBjY2I5ZGE0Y2ZjOTVhNzI3ZTU0MGEwYjNlZGM0OWYwNmZkIGxlZ2FjeS10cnVuaworMjIwMjggYTg1NzVmMzU4YjlmZGY3ZDcwYTU0YzEzNTRlOWFhZTgwZjBhZDdhZCBsZWdhY3ktdHJ1bmsKKzIyMDI5IGFiOGFhNDMwMjEwOTkxMzIyNmUzMTdmMDdhNzkxNjVkZTMzZWM3YmEgbGVnYWN5LXRydW5rCisyMjAzMCBjMDMyYWFmNmM4MTIzMjBkZjIxMjE4NTA4ZGZkMzk2ODA3OTk3MDQwIHJlbGVhc2UyMS1tYWludAorMjIwMzEgYTFmNmZkMDEyMDVmMDIyY2NlZTMwMjZkZjBlNWJhOGYwZGMwMWE2YiByZWxlYXNlMjEtbWFpbnQKKzIyMDMyIGU2NmQ2NDdiNzMyZjIzZjc1YjQxYTdlYmVlODU3OTY3YjFiNjY5Y2EgcmVsZWFzZTIxLW1haW50CisyMjAzMyAxYzVkMjU2YjEyNWE0YzQ4YTA5ODNjZDI4ODBlZGFmYmRlNGNiZWY3IHJlbGVhc2UyMS1tYWludAorMjIwMzQgMDQ1ZjU1MTM1YWQwMDRhNGNiYjFmZWQ3ZTU1MzU4ZGFjNWNkYzA1ZCBsZWdhY3ktdHJ1bmsKKzIyMDM1IDg3NmFlY2VmNjQ4M2YzNGUzOTUyM2NjODkyYTgzMmMwNzkzMzJjNWIgbGVnYWN5LXRydW5rCisyMjAzNiAzZTVjZTk5NDU5ODYyYTIyMjc2OTY4NDJmNTFlZWI3ZGM4NWZkZTFjIGxlZ2FjeS10cnVuaworMjIwMzcgZTE0NjQxNDNjNDYzMzA2MjQ0NjRiZGVmOWFjMTQ0NzgyMDc0Zjk4ZiBsZWdhY3ktdHJ1bmsKKzIyMDM4IDEyY2JjOTQyZjU0OWQ1MzhlZmZmMDVkOTc2Y2ZhNjcwNzAwOTY4MTYgbGVnYWN5LXRydW5rCisyMjAzOSA3N2ZkMjBiY2M3NjYxYTcwYjg0YjViMTRkNDNiYWNmOGEyYTliNDJhIGxlZ2FjeS10cnVuaworMjIwNDAgNDNhYzE4MDRkMmFhY2JkZGNiNWM5Mzk4Yjg5OGU1MTMwZDQ3NmMwNCByZWxlYXNlMjEtbWFpbnQKKzIyMDQxIGVmMjAzMWM1NDg3NTc2MzI0ZDY3ZjM2NzFiOWQ1MWI4NDNmMDU4NmUgbGVnYWN5LXRydW5rCisyMjA0MiA1MzMxZjQ3MDU4YTE5OTEyMzIwMWEyMWZmZGMyNzQ3MmJlZmJjNDJkIGxlZ2FjeS10cnVuaworMjIwNDQgMmIxNjUyNmEzNWE0ZGUxMjFlYjdmMWEyZjZlNWY2YzY4YzUxMWMyNSBkZXNjci1icmFuY2gKKzIyMDQ1IGY1MmMwODNiNTU4ODE2ZTEzYjYzNTlmZjhlNzQ3NDQ3MDdiZjIzMWUgZGVzY3ItYnJhbmNoCisyMjA0NiAzMTQ3ZWZlMzFlYjg5ODIxNTM2OWNiNzFkMWE4MTBiNjlhZWJjNTI2IGRlc2NyLWJyYW5jaAorMjIwNDcgZDk3MmNlYjRkYzA2NDBjZjA1MTliNWQzODI2NzVjYzkzNDhjMmQ3NSBsZWdhY3ktdHJ1bmsKKzIyMDQ4IGQ2NDYyOGNjOGZmYzhhODZkZmY3M2ZjMTNiNjc1ZjNkNTNhY2E0NjIgbGVnYWN5LXRydW5rCisyMjA0OSA2ZjMwMWIzY2YzMjNlYzkzNTQ5YzY4ODZmMDFiMDViODI5ZTc1ODc0IGxlZ2FjeS10cnVuaworMjIwNTAgNGVlMWZlZTFkNGFkYjc0MzA0MGJlNWM5YzY0YzhkNDU3ZDcxYjFlZSBsZWdhY3ktdHJ1bmsKKzIyMDUxIGQxNjY5YWY5ZDBlYzUyZDM3Yjc0OTVlMTNjMzUzMGQ2MTNlZTUxZWIgbGVnYWN5LXRydW5rCisyMjA1MiA3MzQzNjIyZjJiODVkMTQxMjRhNGMzYjc4ZTk4MGU2MGM1YjliOGU1IGxlZ2FjeS10cnVuaworMjIwNTMgZDNkOWNlYTIzMTU2NjlhMjFlNzRlNGU4Y2EyMmE2ZGMwMWYwNTE0MyBsZWdhY3ktdHJ1bmsKKzIyMDU0IGFlMTljNjk5MDc0OTYyMGIwYWU5MThhNzg3ZTcyMDQ2MmMzNmRhYmUgbGVnYWN5LXRydW5rCisyMjA1NSA5YWMxZDM1ZjgxMzY2Y2UyYjI1NGU4MjJiNWFmODhlYmJjMmUxYTE2IGxlZ2FjeS10cnVuaworMjIwNTYgZWE4ZTk2M2Q5ZTY3MjQ0NjlkY2Y2MzYxNjAxYmE2ZjFjMjc5OWRhMSBsZWdhY3ktdHJ1bmsKKzIyMDU3IDZmNTkwMzJhZjE1OGYxODU2MTQ2MDVlOTNhMGU5NjM1MzA5YzdlYzMgbGVnYWN5LXRydW5rCisyMjA1OCA4MTMzN2ZiYTdkZGJlMDU5YjA5MTgyZjE1ZjhkZjE1Mjc5OTlkNDQzIGxlZ2FjeS10cnVuaworMjIwNTkgYzA3NjU1ZjcyNjQ3YjBkZmQ5NDQyZGY2MDJkYzJiMmVhYjliMTgwMSBsZWdhY3ktdHJ1bmsKKzIyMDYwIGE1YWFmNjhmZmNkYWFhYmM5MTg3ZGRhYWFlNGEyNzg2OTNjYjJkM2QgbGVnYWN5LXRydW5rCisyMjA2MSA5ZWNjZjc4ZmVhMWFjMDNlYjU4OWJjNzkwNjFmYjhhNjNjNGI5ZjBkIGxlZ2FjeS10cnVuaworMjIwNjIgNDMyNDU3ZjAyMjg3ODQxMDk2YmJmZjQxZDVhZGFkYmQ3MzJhMmY2NSBsZWdhY3ktdHJ1bmsKKzIyMDYzIGNiNzYxMTdjMWI0YmI4MDA5YjM5ZTRkODE4MTE2ZmIxZWU3NDczOTUgcmVsZWFzZTIxLW1haW50CisyMjA2NCAyNzYzNmM5MWNiMjdjNWExMDU0NDg3NGE2NTFhZTIzNmVlMDM3YmYxIGxlZ2FjeS10cnVuaworMjIwNjUgMWIwOWE5Y2IwNmQ1OWY1MDAwZTMyN2RkMzdhZGEyN2FlZDZhM2I1MCBsZWdhY3ktdHJ1bmsKKzIyMDY2IDNjMTJlZWU3YmJkNDIzNjQ3NmJhYzQ0MWE3Yzc0YTM1YTAxOGIyMTIgcmVsZWFzZTIxLW1haW50CisyMjA2NyBhMzU2NmVlNWIxZjk0ODQ0NGQ5ZjRiNmEwNDA1Mzc1MTY0ZjQ4N2MyIHJlbGVhc2UyMS1tYWludAorMjIwNjggMTExMTJiNzM2YzdiNWFjMGUyN2FhZTdlNDA0MWQxYzc0Yjc3ZThjOCBsZWdhY3ktdHJ1bmsKKzIyMDcwIDEyYjRiYzRhODA0ODhlNTgzYTMwMDE2N2VjZGE0MDNkNTRiZDJkNmYgZGVzY3ItYnJhbmNoCisyMjA3MSA0MDgxYjU2ZjIwZmY1OWJmYjExMzU2NDRhOGJhMmVlYTEwNjQyZDJjIGxlZ2FjeS10cnVuaworMjIwNzIgMmRmZmEzZDNkOTRmZjFhZGEyYjdkZjAwYzUwNWQ4ODNjZjE1Nzk5NyByZWxlYXNlMjEtbWFpbnQKKzIyMDczIDBlMjEyZTg4ZDMzZDA5MmQ5ZDQ3MTY3ZWU2YTc0MTYyMmIwNDU0NTkgbGVnYWN5LXRydW5rCisyMjA3NCA0ZDllYmVlZGJkMDQ1ZmUxOGE5N2RjNDZhNTFkMGViMjZjYWVmODFiIGxlZ2FjeS10cnVuaworMjIwNzUgOGM0MDJhZGVlY2NiYjViMDNhYWU2ZGU2ZjNmY2MwMDBjNjdjMjkyZSBsZWdhY3ktdHJ1bmsKKzIyMDc2IDBiOWNlYTYzYmNmY2RjYzMzYzk4NDI5OTQzNzQ2ZWM2OTkwZjVmNTkgcmVsZWFzZTIxLW1haW50CisyMjA3NyBmNWUyNWZlNDY2YTQxOTFkZDVkMGQ2MjMxNzc5OTI0NDZlZWY3MWVmIHJlbGVhc2UyMS1tYWludAorMjIwNzggOTJlZjM4YjAxMzQ2M2IyNjNlMzc5YjU1MGUwZjVjNDljMGQzMGUwYiByZWxlYXNlMjEtbWFpbnQKKzIyMDc5IDBjZTM1ZTdkNmUzMzY2MzUzNmNjY2I5OWEwNGVkZDU0N2VkY2VjNDkgbGVnYWN5LXRydW5rCisyMjA4MCA2NDM0M2ExMjcyMDgzYzA1MGNjMmVjNmI2OGE1ZjY1YWMxOTRjMjg4IGxlZ2FjeS10cnVuaworMjIwODEgMjI0NTZkMGVlNzM3OThjNDcyMjY2M2Y2Nzc0ZjFiOWRkODYwNDQ4ZSBsZWdhY3ktdHJ1bmsKKzIyMDgyIGM3YmI5NTYzYjE0OTgwMzdjM2EwMmJmZWVlYjczMzMzYTUyM2EwMTIgbGVnYWN5LXRydW5rCisyMjA4MyA5YjI5MWNhNjU0NmM0YjRmOTI0ZmU2ZmMxYjJlYzlmZjI1MzZkY2M2IGxlZ2FjeS10cnVuaworMjIwODQgZjEyZTFhNzY2YTE0MmQ1NDc1NTQ3ZGQ0MzU3ZDcyMTYyNTI5NmEzNyBsZWdhY3ktdHJ1bmsKKzIyMDg1IGFhYWZjODUyYzJkNTNmOGQyOTI1MmY3N2U4OTM4ODQ3YTUyMzA2OTIgbGVnYWN5LXRydW5rCisyMjA4NiBmYjgzN2M1YWU1ZDNmMzZiMTg2OWVmMzA5MGE1NTkwODUwYzVkMDgwIGxlZ2FjeS10cnVuaworMjIwODcgNWJkYmU2MWEwYzI4YmIyYzNmOTYwNTg1MGZkYmQxMGQyYzI3MjQ4YSBsZWdhY3ktdHJ1bmsKKzIyMDg4IDU5YjdlOGVjZmI5NjY3MzIxZDI5ZjRhMzM3NmJjYjY1MTQ0YTI3NWYgbGVnYWN5LXRydW5rCisyMjA4OSA3MWZlYWU3YmY1NjA5NGJmMzQwMTcxOTRjZjBhNmM5OTkxYTIxYzAyIGxlZ2FjeS10cnVuaworMjIwOTAgYmRiYjdjNGRjNjNhZGM1Nzc2NzUwYTE1ZDJkZDZiNjMxMDFkZTZmMyBsZWdhY3ktdHJ1bmsKKzIyMDkxIDIyMTU1YTcxODI1NDE1ZTczYmY4NWFhOWUyZTE0Nzc2MDgwNTYyZjMgbGVnYWN5LXRydW5rCisyMjA5MiBkZWFkOWZhYmJlZmI3YjU3YTAxOWVjZWM0ZTk1NTQwZjAxYTBjNWY1IGxlZ2FjeS10cnVuaworMjIwOTMgMGIxNjI1YTllODlhNzJjZmVjNjdjZjdjZWEyODJjZjcwZTVlMTM0YSBsZWdhY3ktdHJ1bmsKKzIyMDk0IGQyMGE0Y2EwNzA1YzFlYWQ5MzA5ZDM2YTI2NGEyYWE5NGUxMGJhODUgbGVnYWN5LXRydW5rCisyMjA5NSAwMTMyYWY2MzUwNmI5Y2RlMGQ3ZDc2YzcxZDkyNGZhYWQ3ZjJmZmRhIGxlZ2FjeS10cnVuaworMjIwOTYgODU4NDIxN2RkYzhkNmQyMDgyMWZhMjc5ODc3YzNjOTFjODc3MDM0YyBsZWdhY3ktdHJ1bmsKKzIyMDk3IGNiYWJlNTIyYjhmMTY3NmU1ZjdhODFlMjcxYWE4MjNkMTIxMTU0YmMgbGVnYWN5LXRydW5rCisyMjA5OCAyMmU4MjMxNDYzYmE2YjIzZTE1ZTRkZGExNDVjNmRjOWFiYzZjZjY1IGRlc2NyLWJyYW5jaAorMjIwOTkgZWRmMDU4YjE2ZGRmM2ZhZDNmMjI1NTBkNDVkNTZiYjI0YTQzY2YzOCBsZWdhY3ktdHJ1bmsKKzIyMTAwIGNiZmRmNjIzYzI2NmY2OTNmZGEyOWU1NTFjY2ViMTRiODdlNWI0NjMgbGVnYWN5LXRydW5rCisyMjEwMSA1YWYxZWU0MjI1NzUyN2I1MjRhZDZhZDljM2VmNzFhMGFjMzlkNDYxIGxlZ2FjeS10cnVuaworMjIxMDIgNzYyOGFhODE2YWRhOWRhOTY4YTI0YzM1MzRkMTBiZTliMzIzZmJmMCBsZWdhY3ktdHJ1bmsKKzIyMTAzIDI5MTA0MTczYTA3MmViZDYzYzFjZGZlNjcyY2RmY2FhMzA4NzUwMWQgbGVnYWN5LXRydW5rCisyMjEwNCA0NDNhODYyMmU4NTFhYmNmNjJlMjg2NWZhY2MyNTkxN2ZhMDI4NzY0IGxlZ2FjeS10cnVuaworMjIxMDUgNzljNjc2ZjliMzRhOTE0MGI5ODQ3ZTc5YzA1ODE5YTA1MGIxZGI4MyBsZWdhY3ktdHJ1bmsKKzIyMTA2IDk3NTNiMDI2OWYzYWMwZGQ2ODQwZWM4YTIxOTQzZmYyZWJmNDk2YzIgbGVnYWN5LXRydW5rCisyMjEwNyAzNGYwMWM2Y2M4MTg2MTM3MmVmOTg5ODBhYWNkMzgzNzk2YmJkOGNmIGxlZ2FjeS10cnVuaworMjIxMDggNTViNDViNDdmYzQ4NzhmYmY0NTQ0OGRjNzM3OTM4Njg5YzJiNGM1MiBsZWdhY3ktdHJ1bmsKKzIyMTA5IDM2ZTdkMWVhYmQ5MjFhYjA0MzRlNzUyMGRhZmFjMWQzMTk3YjRjNDggbGVnYWN5LXRydW5rCisyMjExMCA5MTQxMjJmYmVhZDJkYzJkZGJhOTk4YjNkZDFhYzQ1MzRlMGMzODliIGxlZ2FjeS10cnVuaworMjIxMTEgZjYxZGY4ZjBjYjQzOGE2NzUzOTRlNzA5OWFhOTQzZGUyNTkwZGQ2NSBsZWdhY3ktdHJ1bmsKKzIyMTEyIGRlYWY3YjEzOWJjOGY0YmJjMGM2Y2QzZWExODUyZjczYWU3ZGY0OGUgZGVzY3ItYnJhbmNoCisyMjExMyBmMDgyMTg5YTQ0NDI5NGI0Njg5OGY2NWU1YTlkNmRkNWI1MzYxODM5IGRlc2NyLWJyYW5jaAorMjIxMTQgNTEwZjdmNmE4NzdlY2Y3NGI1NjNmZWZkODZlNDljNDBiMTQ2ZWQ0ZiBsZWdhY3ktdHJ1bmsKKzIyMTE1IDJiYzY0ODkzMmQ0NGZiMTUzM2RjNDY2Yjg3MGFmNDBkNDQ5ODQ3N2UgbGVnYWN5LXRydW5rCisyMjExNiBiNzMyNjkwZjU2MWM2ZTc2NWI1MDM3NThhMGUwZTk1NmQzYmM1OTlkIGxlZ2FjeS10cnVuaworMjIxMTcgZTdjM2M5YmY1MmIyN2Q1OGVhYjZjOWJiZjFhMTU1MGRiM2Y3NDFkYyBsZWdhY3ktdHJ1bmsKKzIyMTE4IDQyZGQ2MjUxY2MzY2M0ZjAxYmQ0MTFlYjA5MTMxOWMzMzc0Mjg0NTIgbGVnYWN5LXRydW5rCisyMjExOSA3MmEzNjkxZjEwNzFmYWYyZTI2MTFiZTliYzFkN2JhMmI0YmZlNDdhIGxlZ2FjeS10cnVuaworMjIxMjAgNTJiZDllMWRiM2Q5MGE1MjE2OWVlMWEyN2UwNmFkN2JmZjAzMjRmNyBkZXNjci1icmFuY2gKKzIyMTIxIDUyZTkyY2ZhYjIzNzZhM2Q0NTBhMDhkOTg0ODgxYWExZGQyMzQyNzQgbGVnYWN5LXRydW5rCisyMjEyMiAyZjI3ODM4ZDhmYzU5NDI3NTg2MjQ4NmYwMzM1MDUwMTM4ZTA1NzQ4IGxlZ2FjeS10cnVuaworMjIxMjMgMmU0OWYwZTkyYmM1YWE1YzhiODZmZGU5YmNmMmVkM2JlMzJlYjBlNyBsZWdhY3ktdHJ1bmsKKzIyMTI0IDFlZmQ2OWJmMTg0YzM5MDg1MjNiMzkxODU3NzVhNWIxMmRjYjBiMmQgbGVnYWN5LXRydW5rCisyMjEyNSBmYTAyZjc5YmI0OTFjYzcxMTBmODc0YTUwNWFiMjI4YmI2MzZhYTMxIGxlZ2FjeS10cnVuaworMjIxMjYgMGFhMTkxNmNmMTAzNDkxZGM3YjZkNGVjZDg5YmJhZjVkNmYzNTg3YyBsZWdhY3ktdHJ1bmsKKzIyMTI3IDhlMmY2Mjk2ZmQ3YjRhNjc1ZDVjMGJhNmFjMDBhZTJmNmFjY2ZlYWYgbGVnYWN5LXRydW5rCisyMjEyOCBmNDlhMTJlN2UyNGE0MGEwZjQ3NDUzNDc4MjQyOTE4ZmZiMjQ2OGQyIGxlZ2FjeS10cnVuaworMjIxMjkgNGJmZDhhNWRhMGIxZGYxYjdmNzc4OWQ2NDE0NGFkMTNhNWQ2ZWZmNCBkZXNjci1icmFuY2gKKzIyMTMwIDIzZjU1YjlmNGJjNzQ0YjExMGY1YjU1NWY0NDE0ZDk0NTI4NzBiZjIgbGVnYWN5LXRydW5rCisyMjEzMSA0YThkZWQwODcyNjJmMmM1NjZlMDdhZGQzMGI2MWMxMGQ0NWM1NmEzIGxlZ2FjeS10cnVuaworMjIxMzIgMGRlZGFlN2JlM2FhMTA0NzFiYWMwZWU5N2M5NmU2ZGUwNjY1OWEzMyBkZXNjci1icmFuY2gKKzIyMTMzIDBmZGM1ZWViZTQyZDFjNTE4N2I5NjRjNmI1MTBiNzYxMTllMGM5YTEgZGVzY3ItYnJhbmNoCisyMjEzNCA2YzAxODVkZjcxNDdjMzk4MzA0NTJmNmM1ZmMzNDk2NmI4YTQwNmFjIGxlZ2FjeS10cnVuaworMjIxMzUgZGFiOTVjYThhY2ZjMmE0YTcwNjUyMDQ1Yzc1OWFhZjkzMzQzMTRlYiBsZWdhY3ktdHJ1bmsKKzIyMTM3IDQxOTA4NjkzNzc0Njc1YWI2YTAxZTg3OGJlYTlmM2JiMmM2NTQ4MjggZGVzY3ItYnJhbmNoCisyMjEzOCA2NTA5NzNlMjkyNmNhMWY0MDc4MmQxYTczMTJiZDA4MWNiNDE3NmQyIGRlc2NyLWJyYW5jaAorMjIxMzkgMDlkZjMyNTRiNDlkN2M5MzA2NTg1MzAyZmU4MTVhYjBiZGI1MzQzOSBsZWdhY3ktdHJ1bmsKKzIyMTQxIDE1NDFkNWM2YThmMTgxMjA4YWE3Mzc2ZTU3OGIwN2EwNzJjOWVlZGIgbGVnYWN5LXRydW5rCisyMjE0MiA5MDBlMzg1MjRiZjI5MWIxY2Q2YWVlMmUxM2IwOTg1OTZkZjM2NDdiIGxlZ2FjeS10cnVuaworMjIxNDMgNzE0OTE3M2U4ZWRjZGFjNmJmYjI2YWU1NTNjMGQwM2JhOTkyMjQ2MyBsZWdhY3ktdHJ1bmsKKzIyMTQ0IGY4NThmOTg3ZTc3MmEyOTIwMDZlOGY0NjJjZmQwNDVjOTU0YWM2YTkgbGVnYWN5LXRydW5rCisyMjE0NSA2YzIxZTkzOTRiNDRmNGZlMWVkODhkNjhiN2M5YTJhN2MxMzZkYjY3IGxlZ2FjeS10cnVuaworMjIxNDYgZmUzYmM0YTRhZDg0MzZlOWFlMWQ4YzUzMDkwN2MzMzAwNGZiM2M2YiBsZWdhY3ktdHJ1bmsKKzIyMTQ3IGE1ZTRkNGEzMGM5ODM4NTM2NzY5OWMxZDJjMzczMGUxNGFhNjIwZTcgbGVnYWN5LXRydW5rCisyMjE0OCAwMTNjZmZjZmQ4YTNiNDAxOWFhNjMyZDBjNTI1MjFkMTQ5Y2E4YWNiIGxlZ2FjeS10cnVuaworMjIxNDkgOTBkMDZjYmNlMjZhNGIwMTQ1Nzg5NTNjZGMyMTI3MjgwZTFkNDY4NSBsZWdhY3ktdHJ1bmsKKzIyMTUwIGUwMWQyOTYzOWQ4ZTVkM2M3YTU3ZTM3YzI3ZjVmNTUxOTRiNDY3ZGMgbGVnYWN5LXRydW5rCisyMjE1MSBhMDgxOTcwOGZlOWM3MmQ1OGI0ZmU2MTc1MDhhZjUxMDMxYTRiMjVjIGxlZ2FjeS10cnVuaworMjIxNTIgZjhmZGQ1MDgzYWYzNjU5MzgwZmQ1NTkxNGYwNWI1MjA5NmM2OGY2ZSBsZWdhY3ktdHJ1bmsKKzIyMTUzIDJiMTRmMTMwODI3NTUyN2QyYjRkNGVhMmU2NmEyM2I3ZjI2MjIwYzYgbGVnYWN5LXRydW5rCisyMjE1NCAxMzQ2ZWNmMzE4ZjI3N2QwYmU1MmNhYzA5NzVjNDNlYTMwOWRmNjFlIGxlZ2FjeS10cnVuaworMjIxNTUgOTMwNmRhZGRjMjZmZGFiNzg1ODBjZTA2OGM4OTFkZmVkNjFjNGIzZCBsZWdhY3ktdHJ1bmsKKzIyMTU2IDM4OGRmNDljMWMzODIyODI4YzM1M2FiMTkxNGU2ZDk2OTQ0NmViMzAgcmVsZWFzZTIxLW1haW50CisyMjE1NyA0ZGRjNWFiOWJlYzQxOWY2MzBjM2I0ZTc0ODRhYzc4M2JiZDQ0YzJkIHJlbGVhc2UyMS1tYWludAorMjIxNTggZjcyZDYxYjEyNDZlZTAxYzEzMTg2OGEyOWVlODkxNzJiZjllMmJjYyBsZWdhY3ktdHJ1bmsKKzIyMTU5IGU5MGE2NThhNThkNGY2MzNhZmExNjM4YjljMGMwNzNjYWY1YTE1ZDcgbGVnYWN5LXRydW5rCisyMjE2MCA0OGUwZmIwNTVjMzNjYWJhMjQ5ZTM3NWU0YjcyOTZjOTVlODg3NDlkIGxlZ2FjeS10cnVuaworMjIxNjEgZmVmY2MxZTgwY2VlMzU2MGFiNWE3MTI0Y2RjMTY3MmM3MGQ5NDAxYiBsZWdhY3ktdHJ1bmsKKzIyMTYyIDFkYjY5MDBhMDc4MzVhM2Y1YzNlOWVhODk0OTUyNzc0MjdkZmY3YTggbGVnYWN5LXRydW5rCisyMjE2MyBiNzYyMjIwYTYxNTlmYzMzY2MyZTc3MjE5ZmQyNGE4N2RhM2RmZTVmIGxlZ2FjeS10cnVuaworMjIxNjQgZjI4ODViMGRkYmFlYjYwYWNiMDYwOGViYjRhYTE4MjkzM2JjNjQzNCBsZWdhY3ktdHJ1bmsKKzIyMTY1IDQ3ODljMTJhODlmMWJmNDQzMjNiYjA3ZjNkODliOGRhZmNhZjQ2ZTkgbGVnYWN5LXRydW5rCisyMjE2NiBjZjkyNTQyMTAwMTVkYjZmOTY2NDFmYmJjOWJhMmU0NjlhMWRiYzlmIGxlZ2FjeS10cnVuaworMjIxNjcgOWFhNWQ2NmNkMTNkY2ZhM2QyMmU1ZGI2ZDgwODgwYjIyNjNhNGFkNCBsZWdhY3ktdHJ1bmsKKzIyMTY4IGVlZDhhOGE4ZjYyMmM4ZDk5ZDM5Y2M4ODI2YTAxNGM2MTQwYjlmMTcgbGVnYWN5LXRydW5rCisyMjE2OSBkNzU5MDEyMmY5YTI2MTM3MzExMzNhM2I2MmU2ZDRmNmQwOWM0OGI1IGxlZ2FjeS10cnVuaworMjIxNzAgOTMxM2I0OGYxMWMzZjhjNjdiZDI3Mjg1ZjkwNTExMDdmODU1NTI2OSBsZWdhY3ktdHJ1bmsKKzIyMTcxIDkxOWU2MGQ3NzMzNDJjYTRhYWJhMzkxYTQ5OWU1NWM2MjkyYzIxZjggbGVnYWN5LXRydW5rCisyMjE3MiBmOTQ2YjdmN2Q4MzE4ZWYzMDRkM2Y1NjVlNTJkOWRiMjk4N2MwYjliIGxlZ2FjeS10cnVuaworMjIxNzMgZWQ2MmFkMzA4MzRlYjBiNTM1NThkYTcxMWFkZjUyMTc2NjI5MTYzMiBsZWdhY3ktdHJ1bmsKKzIyMTc0IDFhZTcxODk3NmFjNmRjMTE4ZWIyNGJmMzQ3N2RlNGFiMmFkMjg1YjUgbGVnYWN5LXRydW5rCisyMjE3NSAwYzMwN2ZhMzQ0YjVjYTYzNTYzMTkxYTQ2ODY4N2RiMjM3MmNkZmUxIGxlZ2FjeS10cnVuaworMjIxNzYgYjAwZTdiMzhmNzdmMjc1MWY0ZDc1MGE3MjZjOWQ4ZGNlYjNjYTkzMSBsZWdhY3ktdHJ1bmsKKzIyMTc3IGJkOTcyZmE4NDFjNWZlYjZhY2Q0NzQwNWE2ODY0NDk0NTQ4M2RmMDAgbGVnYWN5LXRydW5rCisyMjE3OCA5YzNkNTM5NWUzZmQ5MzA5MzkyYmM2ZmQzYjNmMmViMWQzYTM5NDI1IGxlZ2FjeS10cnVuaworMjIxNzkgZDE0NGM4MWVhZjQ0NjgwZjk1MDc2YzgyNTMwNWRjZTJhYzE5ZWI5NSBsZWdhY3ktdHJ1bmsKKzIyMTgwIGRjNGJlN2JkNjc0NjEwNDFlMDAxNjhjMjU0MjYyMzU0ZTRmOWUxOWEgbGVnYWN5LXRydW5rCisyMjE4MSA2NTFlNjM5NDIwOGM4ZDkxZDgzMmJjYjVlYTg4Y2ZiOGU4YWVmMTNiIGxlZ2FjeS10cnVuaworMjIxODIgMWU2ODZiMDg5OGEyZjY4NzNlZjNlMWJiOWZlNjMxMGUzMzM3NjllYiBsZWdhY3ktdHJ1bmsKKzIyMTgzIDQ3MWE5MDE4MTI5YzNmZDE5MTkxZDY3N2VmNzUwOTUwN2Q5Mzg2ZjAgbGVnYWN5LXRydW5rCisyMjE4NCBmMWNmMmE0NDQxNzQ5ZmIyMDAyMzI5ZWFkZmM3MWJhMDI4ZGM5NDRjIGxlZ2FjeS10cnVuaworMjIxODUgMzQyODQyMTYyMDFiZWE5OTM1YjQxODIzYzFlOWQxOTM1ZWFiNmMwYyBsZWdhY3ktdHJ1bmsKKzIyMTg2IDNkZDhlNjRmNTEyZTg0YWZjNGMzODhiZjQ2NTRiODdiNGNmYjc3MTkgbGVnYWN5LXRydW5rCisyMjE4NyA5ZTRjMTI2NzNmYWI0NGZiZTUyNmVkYmM2YmJjZTA5MmQ0YzliZTAzIGxlZ2FjeS10cnVuaworMjIxODggZGFjOWNjYTQ5MDEyMWMxYWI2MGE1MWJhZmNhZjcyYjBkN2Q4MDlkZCBsZWdhY3ktdHJ1bmsKKzIyMTg5IDhiOWQ4N2FmNjFlYmRiZjY5NTNiZmEwYThhZTVlYzQzNDUyYTkzYmYgbGVnYWN5LXRydW5rCisyMjE5MCAxMTNmMGI1NzQ0YzQwYzkxZjA5MDUxMDQ1ZjQxMTJhNjBmNDlkMjE3IGxlZ2FjeS10cnVuaworMjIxOTEgMDA5MzUwMzFiMzczYzU0OTA4NmUyZDAzNmRjNzYzN2RmZDQ4Y2Y4NSBsZWdhY3ktdHJ1bmsKKzIyMTkyIGJhOWU0ZjU1MTMzZjkzYmUzNjQxMmIxYzM5NmFiZGRjMmVmY2M5ZjcgbGVnYWN5LXRydW5rCisyMjE5MyA5Zjc4NzU5YTUxYjBmNzNjODM4Zjg2YzUzNTA5MGIyZjgwZmFkZDI4IGxlZ2FjeS10cnVuaworMjIxOTQgNGY0ZDgzMDNkZTYwY2Y2YzA2ZmRlNGY4OTgyZDdiNWUyZWEzMjFiMSBsZWdhY3ktdHJ1bmsKKzIyMTk1IDA4Y2Q4MWNkZmZhOWRkMmY0ZDY2OTM5MjhlMzY3Zjc2ZDA4YzM4NWEgbGVnYWN5LXRydW5rCisyMjE5NiBhY2NmMTkyNTQzMWM3NzBlODMxZjE2YjU3NGQ1ZGRlN2JiMWVjYjViIGxlZ2FjeS10cnVuaworMjIxOTcgMmIxMWQxNjZiMDdiNzFhMGM1MDc0NTYzOWY5ZTllZjJmZDg3MzI5MSBsZWdhY3ktdHJ1bmsKKzIyMTk4IDM2MGNlY2U3NjEyMzU1ZTNmYWU0YmY0YWMyOGJiNmQxMWEyMjBlYWIgbGVnYWN5LXRydW5rCisyMjE5OSA3ZmExZjg3Y2E2YjJkM2Y2MmFiOGE4NzhjZmQxZDQyMDBhZDgxNjYzIGxlZ2FjeS10cnVuaworMjIyMDAgYjBhYWY3ODBiY2E2NmM3ZGY0MWM4ZWQ3OTIzMzkyMmFiYTg2NTc2YyBsZWdhY3ktdHJ1bmsKKzIyMjAxIDExNGE5MGE0M2RiN2U5ZTgwN2JmZDQxNTI0ODFmY2Y4NjRiMzE2Y2UgbGVnYWN5LXRydW5rCisyMjIwMiA4MDUwOTBjZTMyOGEwMDE3YzhlZTA5Mjk3MGM3OTFhZTI0ZmEyY2E0IGxlZ2FjeS10cnVuaworMjIyMDMgOTA1OWU3YzFkOGIwMThiN2QxNzE1ZjdlNWQ4MjFmNTY2MWVkYjRjNSBsZWdhY3ktdHJ1bmsKKzIyMjA0IDlmYzRhNWFiYjM2OTQzYWZmM2UzMzRmYzdiYzljN2M0NzdkMWU4YmIgbGVnYWN5LXRydW5rCisyMjIwNSBhZTQzZjk5YjQ3ZTFlMjc2NmJkMjk4ODY3NTNjZWVjYWYyZjY2ZDI0IGxlZ2FjeS10cnVuaworMjIyMDYgYTJiMzU4N2Y1OTJhOGY1ZGRlOWRlN2M2NGQxYmMxNzNkNTkwYzQ5YyBsZWdhY3ktdHJ1bmsKKzIyMjA3IDhlYTYwZTJiMGYyMTllNDIzM2JmYmE1YmVhMTY4MTQwZTEwODU3ZDggbGVnYWN5LXRydW5rCisyMjIwOCAyOGYwZWE4ZDYyNzgxYjRhYzJjNTRlOGZiYWFjZTQ5ZjAwNzdiYjMwIGxlZ2FjeS10cnVuaworMjIyMDkgMmFlMzdjZmIxODlmOWU5YWI0OGIyMjUzZjVlZDk0YzY5MjY0YzgyMCBsZWdhY3ktdHJ1bmsKKzIyMjEwIDE5YTNjNmFmNDM3NDQ2NGUwMTcyYzE2ZDY0OTVhNGVkYWM2Yzk4YmEgbGVnYWN5LXRydW5rCisyMjIxMSBiMTZmOGQwMWM1MWUzYTMzYTgzNTgxNjVlNWZhZTQyZGQ1NmM0OGQ0IGxlZ2FjeS10cnVuaworMjIyMTIgYzk0MmE5ODIxZDA5OTczODZiNGU0YTVjNjlkOWZkZGZmZWUzNDAwMiBsZWdhY3ktdHJ1bmsKKzIyMjEzIDgxMTE0MjA5ZWU4ZWVlODlhNjM5NjI4ZGQ1OTE1OTY3M2E4OGM3NTIgbGVnYWN5LXRydW5rCisyMjIxNCBjZWZkY2Q2MGE4YjJiMDE2NDRjZWM3ZGY2MmU0ZTE0MTNkZGJlMTllIGxlZ2FjeS10cnVuaworMjIyMTUgZjViN2ExZWM0YjlmMmIxZDQ2N2Q1MTY0OWE4MTlhYzUwOTVmMmU2YiBsZWdhY3ktdHJ1bmsKKzIyMjE2IDFiYzY3Y2Y1N2QwYWI2YTZiNzMxNjM4ODA2ZDZkOTNiMDZhMTVhZDggbGVnYWN5LXRydW5rCisyMjIxNyBmZTIwZDFjZmVjM2Q5YTNjMzllMWZiMWUwOGQ2YmZjY2U1NGY3M2E2IGxlZ2FjeS10cnVuaworMjIyMTggYzFkYWE5NGMyMWQ4MzBlMzJlOGFjMTg1ZjU5ZGEzY2EzOGM1MzFjOCBsZWdhY3ktdHJ1bmsKKzIyMjE5IGJiODVjY2JkNGZlZTU1NDNkZTkyZWY4YWViZDlmOWY0NzRjNzFjMDcgbGVnYWN5LXRydW5rCisyMjIyMCA3ZDI3ZTM4OGVjNmM5ZWQwMjM1MTU5ODZhOGExODZkNTJkMzZjYTgyIGxlZ2FjeS10cnVuaworMjIyMjEgZWM2NzZlMTQwNzNkN2ZjZmE1MjFjZDg4MWJmZDQ1OGU3NzE2OWUyNyBsZWdhY3ktdHJ1bmsKKzIyMjIyIDUwZGE2MzczNDFhZTUyMmZiYTJhY2I1MjVhZWMwMWYwZDUzZWVlMzYgbGVnYWN5LXRydW5rCisyMjIyMyAwMzg0OTk0NjY3MjcyOGYxYTdjMmFiMDdkYTJmMDJlNWJkNjFlOWE1IGxlZ2FjeS10cnVuaworMjIyMjQgMDc4YzE5NjFlMTc1MTQ2MDBkNjVmYThjNTIxMmM2NGFiMTg0ZDBhNSBsZWdhY3ktdHJ1bmsKKzIyMjI1IDgyMWUzNTcwNmMwNzE1OWY1YjExMjIzMWJlOGIzNzQ3ZDFjNmI3NzEgbGVnYWN5LXRydW5rCisyMjIyNiAzMGFlM2FmZjAzYmQ5ODQ4OTlmNWE3MTAyOTVlNDNjOWQ1MWZiNzhlIGxlZ2FjeS10cnVuaworMjIyMjcgNjAwYWM1ZGJjNjY2NGY1NGI2MzE1NjMyNzIwNGI5NjQ2ZmVlMDAwNiBsZWdhY3ktdHJ1bmsKKzIyMjI4IGU1NzU0ZjA0OGYwYmMzNWZiYzAwZTQ1ZmY1MTQyZjJkMzMzYjRkNDcgbGVnYWN5LXRydW5rCisyMjIyOSBiYWQ0MDhjN2Q5ZDc4NTQwNmNkNWE5YjY4MzI2YmY5MjNkMzgwNzA2IGxlZ2FjeS10cnVuaworMjIyMzAgN2IxYTA4MDQxNjFlZWQ4NzI0NWRiZWVmYmNiMTgxODc3ODM2OTAwMyBsZWdhY3ktdHJ1bmsKKzIyMjMxIDBhYjhmOTM3ZmY2NjViODU4ZGFkYmI5NzI5OTcxMzQ5YjRkZDlhODkgbGVnYWN5LXRydW5rCisyMjIzMiAyMzg3NmUyZDg0YjZmMWU1MTIyNTAxMGVlNWYzNTY1YzMyOWIxMmM5IGxlZ2FjeS10cnVuaworMjIyMzMgNjBhNzUwMDJhNzRjZmQwMmI1N2I3OWRiMWJkMzFmYmRlY2FmOGQwYiBsZWdhY3ktdHJ1bmsKKzIyMjM0IDk4MzE1ZjBlMWQyNmQ3NDI3ZjY3YjYwMWU2NWU0OGQyZWUyYTE5YjAgbGVnYWN5LXRydW5rCisyMjIzNSA2YjhiNjVmY2NiMDNkOWYxZmM4MzZiMWZhMTgxOTZmNThlOWU2OTlhIGxlZ2FjeS10cnVuaworMjIyMzYgMjYzZGNhZjAwZWVkY2UwY2YyYjZjYjRkMTkyNWRkY2MwODE5MzdiZiBsZWdhY3ktdHJ1bmsKKzIyMjM3IGU0YjY3MDVkYzg0ZjkwZGQxODUwMDUyNTg3YWY4NDNlNjk1N2Q1NmMgbGVnYWN5LXRydW5rCisyMjIzOCA5ZTU3OGZjYjhkZGFiNzNmZDEzMGNjMmFlMjA5NzY3Yjc5YWQ5ZDBiIGxlZ2FjeS10cnVuaworMjIyMzkgZDMyNjhkNjJlNDYyMjFkMjZkZGY4ZDk3N2M4MTJhOWQxMDA1NGM1OCBsZWdhY3ktdHJ1bmsKKzIyMjQwIGQ5MTVhMGVkYjJlYTMxMTFkNzM2YWQyMGRhYTdjMzIxZDEzODhlYWUgbGVnYWN5LXRydW5rCisyMjI0MSBiMTUzMDdkMjliZTdiYzRmZGVjODgzNjQyYjFiZTRmZjMyNjAwNWUzIGxlZ2FjeS10cnVuaworMjIyNDIgYzE3MjljZGMwNzM0MGNlNjIwZDRiZThkZTcyZDI4MGZhN2FmYmQzOCBsZWdhY3ktdHJ1bmsKKzIyMjQzIDNhN2Q2N2VlMTAxMTNlOGZiMjU2ZGM0NzE5MWQ0ZWIyNzI3ODQzYzkgbGVnYWN5LXRydW5rCisyMjI0NCA4MDNhN2ExNDQ4YjJkMWZhZmExNTQwMDc5MzJkZTg1MDc2NzBhNzNmIGxlZ2FjeS10cnVuaworMjIyNDUgMmQwYTA0ZTI3NTgxZThhZGJkY2YxYTA0OWU1MDNjMGFmNDU5MjhjNSBsZWdhY3ktdHJ1bmsKKzIyMjQ2IGY2NmNjZjJjNjNlYjNhOTNlMDJhZGZjOTBiYmM0NDhlODc3MmNkZTUgbGVnYWN5LXRydW5rCisyMjI0NyA0ZGY3MmVhNzhhZTgwNjI4MGMyZTdjNzY5MjRmZmM0ZDIxMWQzY2RjIGxlZ2FjeS10cnVuaworMjIyNDggOWE4OGU1MGJmMTE0NTZlMThlNWUwMDQwZGRiYzBkY2JiMDlkYTIwYyBsZWdhY3ktdHJ1bmsKKzIyMjQ5IGFkMmI4MDc1NWQyZDRjNmJkYmU0NzBiZjk4N2QyYTZhMmE3YjViZmEgbGVnYWN5LXRydW5rCisyMjI1MCA4ZDQ3YTIxZDk1ZTA0MjA3Y2M3NGI5NTQ4ZWYyMDgzOWVmMzNlMzdkIGxlZ2FjeS10cnVuaworMjIyNTEgOGU2MGYzMDAzN2ExZmNmOThkODU2YTIzYTVlMThmYjI4MWU2NGQ0MSBsZWdhY3ktdHJ1bmsKKzIyMjUyIDc0NTc3NGRiZWQ1OGU3NWY4YmFkNjIyYWZmYjg0NjdjYmY1ODc4ZTQgbGVnYWN5LXRydW5rCisyMjI1MyA3ZGI1YjU0MjNjY2Y5OTAzZGMxYjJmZDNmNWM4MzE2NzZmYjM3ZGNjIGxlZ2FjeS10cnVuaworMjIyNTQgMzUwNTBkMTg4YTZhYzFjMWM0OWZkN2Y5YzQ3OTU0YzdmZmU5OTQ0ZSBsZWdhY3ktdHJ1bmsKKzIyMjU1IGUyODJkNmIyYjc1OGU2NGYzNGQyNTIyN2NjNTQ5NTFkN2MyZWI4OTUgbGVnYWN5LXRydW5rCisyMjI1NiAyOGI2NDNiYWQ3NGQyYjY4NTA3ZWMzZWE2NmIyY2YzNzQzODIyM2MxIGxlZ2FjeS10cnVuaworMjIyNTcgMGM1ZTUxNjk0YjBmN2VmNGRmZjY0MDdhMzE2ZDVhMjllYzU4MzY4ZCBsZWdhY3ktdHJ1bmsKKzIyMjU4IGYyMDcyN2NjM2QwZjJmM2JmMTI0ZGFlMTg4ZjBiOWFjNWYyMzkxNzggbGVnYWN5LXRydW5rCisyMjI1OSAzOTY5ZmNiZjk1MDA4NmY0ZTY3MmUwOGY3YTUxNmZiZTVhNjRiZmZhIGxlZ2FjeS10cnVuaworMjIyNjAgMmJiMjQyZGM2OWQ4ZTQ5YTc2ZGJjMDE0YTBhZGIyN2VmZDYyYzE2NSBsZWdhY3ktdHJ1bmsKKzIyMjYxIDExYmJhMzBlOWMyODQwZTA0MzFlNDVmNzZiM2Q3YjFiNTNmMDg2YTQgbGVnYWN5LXRydW5rCisyMjI2MiBjOTBmMDAzNjEwOWQ0YmFhNzFhYzYyMWYwYjdlMTA4MTA0MmE4YTUzIGxlZ2FjeS10cnVuaworMjIyNjMgYTMwNzdmOTZkNDc4OTU5ZjJkMTRlNWNmYzkxYzBiYmIyODE3YzY0OCBsZWdhY3ktdHJ1bmsKKzIyMjY0IDY1ZmU2YjA3MjQ3YjAwNzA3YjVjODk0YTQ3YTg3Mjk4ZDI4MzBhMDcgbGVnYWN5LXRydW5rCisyMjI2NSBmOTQ5NDEzNWI1NzkwOTVkMGJjYmQyZWQ3Yjg2NmFkMWM5N2U0MzU5IGxlZ2FjeS10cnVuaworMjIyNjYgYzk3OTYyNWZlYjQ5Njg5MWU1NDI5N2ZmNjY5OTcyNDA1MWJjNTM2MSBsZWdhY3ktdHJ1bmsKKzIyMjY3IDhiZDA2ZTMyNDliYjVlMGMxYjk4YTA4NGFlYjhiMThmNDQyNjY3NmQgbGVnYWN5LXRydW5rCisyMjI2OCBmNTFiMTNiZjVkNTRmOWYyYThlMGRhYTQwZWE0ZTBkOWJhNDNmY2JlIGxlZ2FjeS10cnVuaworMjIyNjkgZTQyNjIzMGVhNTczMWM5ZjE2MTE1NjJhMmU5ZjlmMWVlZGRiY2Q1YyBsZWdhY3ktdHJ1bmsKKzIyMjcwIDljYzY3YWFmZWM2YzE4ODAwMmJmOTRkYWRlOTg4NzkzZTdkYTM2MWMgbGVnYWN5LXRydW5rCisyMjI3MSBlNTdhNDYxNDQ2OWU2ZjRjYjAzN2JjYzk5N2MxOTQ4NjI2NTY4YzdiIGxlZ2FjeS10cnVuaworMjIyNzIgYWIyZjgwOTVjNGZjYzZkMDJiODNhNDlhOWJiNTUxYzkyY2VjNDk4NSBsZWdhY3ktdHJ1bmsKKzIyMjczIGExYjRmM2ExZWUwNzk2NTVjYmViNWNiYTkzODRjYmUwNTg0MTYyNzkgbGVnYWN5LXRydW5rCisyMjI3NCBkNzk4NjVjMGY4MDQ1ODlkOGI3YmExY2NmZDMyNWUwZTBiOGEzYzk5IGxlZ2FjeS10cnVuaworMjIyNzUgZDAwODAyYzc0YmE0ZGM0MTkwMjQxZTMwNDRmZDA1Yjk4Mjk1MzVlMSBsZWdhY3ktdHJ1bmsKKzIyMjc2IGI2MmM4MGQ1OGQxZWMzYmU1ZDA3Nzc3YjQ1ZTNlODZhZWY3N2E4OTQgbGVnYWN5LXRydW5rCisyMjI3NyAzOWE3M2M2NzczZjEyZWQ5OWJiYjBkYjZlOTE4YzgxOWY3YjcwZTdiIGxlZ2FjeS10cnVuaworMjIyNzggNzY0OTIzZDk4NWE3NjgxNGU0YTdjOTJiZTk0ZDdmY2QzZTNkNGZmMyBsZWdhY3ktdHJ1bmsKKzIyMjc5IDMxMGE5MTcwYWFkNDc2ZGFlMTJkNmM0OThmMDNkZTVlYTQ2ZDQzNGUgbGVnYWN5LXRydW5rCisyMjI4MCBlZmRkY2Y3MTlmZjJlZmM3MmEyNWZkNzE0ZDdkNTMxOGMxYWY5MDc0IGxlZ2FjeS10cnVuaworMjIyODEgOTRjYThlYmE3ZTRmMDk3YmExNjIwZDI0NWVlNjg4ZjM2MmQwMDc0NCBsZWdhY3ktdHJ1bmsKKzIyMjgyIGUyZTU4OWZlYWQzMGYxYWQ4ZmU3NGMyMTdkMDM1YmQ3OTZkYzYwODUgbGVnYWN5LXRydW5rCisyMjI4MyBmNzUxMjVlYWQwYTIzYjk2MzQ4MDZhYWMxZTg2YmM1YjYwYzkwNWMwIGxlZ2FjeS10cnVuaworMjIyODQgYzNlOGY0N2ZlN2M4NGRmNTVjNmM3MzMyNzMzNWUwODVjZDM0NDZjMCBsZWdhY3ktdHJ1bmsKKzIyMjg1IDBhOWNlODFkZTM5OTkxNmE3MWNhY2M0Yjk5YzMzNmQwYWU1YTVmYzUgbGVnYWN5LXRydW5rCisyMjI4NiBjYjhmZGNlOWU2NWE2ZDI5Yzk5OWE1NmIzZTE4ZWI4ZDNiMWQzYmVjIGxlZ2FjeS10cnVuaworMjIyODcgMjdiNGRiZDQyOGZlN2Q1YjAwNjZlOWJjY2Y4ZTdmYzE5NWVjMzIwYiBsZWdhY3ktdHJ1bmsKKzIyMjg4IDM2Y2EzNzZlNTg2NDY1ZWRlMDg4Zjg3NjExNWNkMDQxY2RhMWRhY2MgbGVnYWN5LXRydW5rCisyMjI4OSA4OGQxMjRjNzQ3NjYwNmY2ZDJjMzIyMGZiYzUxODBlYWNjNjkzOTlmIGxlZ2FjeS10cnVuaworMjIyOTAgNWMyN2YwZTRmNTBmNzM2ZWY4NWU2MTY3YTdlNzFjMDA5ZWU0YjE0YyBsZWdhY3ktdHJ1bmsKKzIyMjkxIDlmNzg1MDczZTQ4YmRmM2M0OWRmNDNhMmJjZGE3NDZhMDM0ZWVhNTAgbGVnYWN5LXRydW5rCisyMjI5MiA2ZTk1OGQ1ZTk4OGJkMDVjMzQ2YzczNTJkNTMwN2Q5MzhkMDA4YWU5IGxlZ2FjeS10cnVuaworMjIyOTMgZjNlMjc4YmM0MzllMjcwOGExYWQwNzQyMmM5YzIwYzYwMmU0ZTlmMCBsZWdhY3ktdHJ1bmsKKzIyMjk0IDk2ZWJmMmI4ODZmNzY4MjliNGY5NzlhOTc2M2E4MWNjYWJhYmMzNDIgbGVnYWN5LXRydW5rCisyMjI5NSAxOTYwY2VlYzFhMDBiYTU2MjM5MTRhMGFmNDMwY2UyM2MwZjg4NmQ2IGxlZ2FjeS10cnVuaworMjIyOTYgYzRiMzFiZTdlMDgwYjk1YmM5NmVlMWIxOWE5YTBlZDg1NDhlNDc0ZCBsZWdhY3ktdHJ1bmsKKzIyMjk3IGU0MTFiZmI5ZGI1NzY0YWJiNDVlMzc1ZWE4MzU3NzRmYjQzMmRlZWYgbGVnYWN5LXRydW5rCisyMjI5OCA2ZmFlZDYxNWIwNThkZmMwMmEyOWE2NWIzMGJlMWFkNGVkYjhkNzM2IGxlZ2FjeS10cnVuaworMjIyOTkgZTc5ZmQzOTM0ZjYxMDI3ZmYwNDQ5M2FlYTlkNWQ3NWI4ZmE2YWJjYSBsZWdhY3ktdHJ1bmsKKzIyMzAwIDk3ZGU4NjhhZDBmNDAyODQzYzU2YzExNTY3ODlmYjFmMDZlNGQzOTQgbGVnYWN5LXRydW5rCisyMjMwMSA4ZWJmNzFlMWVkMjk4ZWE5MjFiNjgyMWNhYjY1ZTk4MmMyNmM5ODMyIGxlZ2FjeS10cnVuaworMjIzMDIgMTFhOTc2N2U1ZDhhNTNmMjVlNGMxNTU3YmM4YTMxNzc2OGYwYjMyNSBsZWdhY3ktdHJ1bmsKKzIyMzAzIDQ1Y2NmM2I4ODliNTAzNjhkZDAxNWZhOTBhYWM3Nzc5MDNiMjBkNDkgbGVnYWN5LXRydW5rCisyMjMwNCA5ZTZmNzgwNGVmMTQ1ZGQ4YzM3NTYzZjU3YjMzYTYyODE0NzljMjY2IGxlZ2FjeS10cnVuaworMjIzMDUgYzk1ZjBhMTJiNTFhNTlkMDZhNzUxYmY3NjA5ZDBhMDdlMGY3NmM0MSBsZWdhY3ktdHJ1bmsKKzIyMzA2IGRlNWQ3YTk0MjhlZjkwY2I3ZjM5NGFhNTE2NjUzMWIxYjM0OGUxOGYgbGVnYWN5LXRydW5rCisyMjMwNyBjMjM4NzQ1ZTBhYWU2YzA2NmNlMjIwODM5NTIyOWZhNzdmODI3YzY5IGxlZ2FjeS10cnVuaworMjIzMDggNjM1MGJiYWE2MzJhNzU1ZDgzOWMzZDY2Y2EwZDg0NGZmMTA1ZGY5ZSBsZWdhY3ktdHJ1bmsKKzIyMzA5IDllYzU2MTFjZmU5YzAzMzAzNDMyYmE3NTkwYzlhMTNkMWZmZDJlMDUgbGVnYWN5LXRydW5rCisyMjMxMCAzNDIwYzllNmFmMTEyOWU1YmE2NDU4MGY3Y2Q3MTliMTY0NjRhMDlhIGxlZ2FjeS10cnVuaworMjIzMTEgODc1YWM4ZTkzNTQyNGJkNmIwMzUzMjg0MTRiMTcyZGNiYmY4ODFhOCBsZWdhY3ktdHJ1bmsKKzIyMzEyIGVlYThkZmJiZWU4NjAyOTBmNzgzMWZiOWUyYTdlN2U2YjQwNzY4NDAgbGVnYWN5LXRydW5rCisyMjMxMyAxMGVjMzk2ODQyOGRjODNjODVjMjExZGY2MDAzYWRjODRhODI4MWM2IGxlZ2FjeS10cnVuaworMjIzMTQgMTMxYTAxYjZmNmM3MTRlNTkxOGJlZWU1ZDUwYTg4YzA2ZDcyNjg2NCBsZWdhY3ktdHJ1bmsKKzIyMzE1IGI3OTg0YzliYmYyY2RlMDM4YjQzYTAwNmE1YzU3MGJjMGFhNzU3YWEgbGVnYWN5LXRydW5rCisyMjMxNiAzNzNjYzU5NDE1OTAwYjQ0YjU5YmUyNzM2Y2EwNzQ1M2YwY2UzNDFiIGxlZ2FjeS10cnVuaworMjIzMTcgMDIwMWJiNWUzYjgzNmIzN2I2ZmE1Y2M0YjdjZmNjY2ZhYmNhMjhkZiBsZWdhY3ktdHJ1bmsKKzIyMzE4IDZiYTQ0MTUwNzIyMDRhNjFiYzI3YjE4ZTI5Y2NlYjcwMGI5NDRjYjkgbGVnYWN5LXRydW5rCisyMjMxOSBiNTU0NzhiZDkxNjVjNGZlMzlmNDI2NjJmN2Y4NDI4ZWExOWVhNDhjIGxlZ2FjeS10cnVuaworMjIzMjAgYjM1NTM3NmQwNzMxMjc4YWVjNWZhZDFlOTM5OTJiYTg3ODk3ZDkzMiBsZWdhY3ktdHJ1bmsKKzIyMzIxIDc4MjZjYzM3YTIzNGI4YjEwYmZhNWU1YWQ4NTk3OGY2M2MzOTkxNmEgbGVnYWN5LXRydW5rCisyMjMyMiAxNzUyNWI2YzUzMmM1OTI0ZTYxZjgyYzFjMzcxNGM1OTcxYmU5NzhhIGxlZ2FjeS10cnVuaworMjIzMjMgMTNkMGYzNGI2YTE2MDk5OWZlYzExYmY3NTE5Zjg5NjQwMDc3NzA0MiBsZWdhY3ktdHJ1bmsKKzIyMzI0IDhjYmY5ODRjOWMxM2Y0NzVhNmMwOGYwYTc5NjRmODA0YzU4OTQ1YmYgbGVnYWN5LXRydW5rCisyMjMyNSA5MTI5OTQxOGI3MmRjOWE4YmZjYjJlNjEyNjEyYjJlNzA1MTUyOTljIGxlZ2FjeS10cnVuaworMjIzMjYgNjAwYTlhMmI3YTE4MzEzMGYwYjY0ZmRlMmMwZjEyZWNjYWJlOGQ2YyBsZWdhY3ktdHJ1bmsKKzIyMzI3IDk1NTE1YzZiNjk0YWI1Y2ZhZGRjNjVlNGU1MzIyODdjMjgwMGRkNTggcmVsZWFzZTIxLW1haW50CisyMjMyOCA3N2U0MDVmM2E5NDJhOTE3ZmYxZTQ1OGM2MTA3M2FiMWY4ZTk4MWY5IGxlZ2FjeS10cnVuaworMjIzMjkgNjcyOWJmMzBkM2FlNWIxOGRmNjU2NTI2ZTUxNDAzNGU4MjQ0YTdmZiBsZWdhY3ktdHJ1bmsKKzIyMzMwIGUwODQ3YmExZDZmNGViMDZhM2U4NjgxNDc0ZjRhYTgxZDhjNDM0OGYgbGVnYWN5LXRydW5rCisyMjMzMSBhZjQ4MjA1NWQ1Y2U0OTBhMGRjY2JkZjZiY2Q1MzEwMGM2NjBlNDczIGxlZ2FjeS10cnVuaworMjIzMzIgZjhiNTFjOGNhMDgyNjMxOGM2ZjI4N2EwM2FlZWJhZTU4NGRjOTc4OSBsZWdhY3ktdHJ1bmsKKzIyMzMzIDY3YmUzYTY4ZmRlNDkyNDE0YmEyMjM3MmVmNDMzNTA4ZWE5Mzk0NWYgbGVnYWN5LXRydW5rCisyMjMzNCA3ODc1MmVhZTEzMmUxYjJjYTlkMTczMWFhZjljNzVlMzIwMWYxYTBjIGxlZ2FjeS10cnVuaworMjIzMzUgNDkwMWE5MzU0OTBkZDg2YmI0MDcyZWFmZDE0OTYxYTU2MTcxNjc2ZiBsZWdhY3ktdHJ1bmsKKzIyMzM2IGMzOTU5ZjZlNDA0NDc4YmQ1NjMzOWEzZTE2YzAzMWE2MmEwMjE2ZmQgbGVnYWN5LXRydW5rCisyMjMzNyA5NTdkZDY0NmI1Yjc0MzRmZDg5YTMwNjE3NDA3N2IzMTJiNjUyMmJkIGxlZ2FjeS10cnVuaworMjIzMzggNjc2OThkNjg5MjAzMjBmYThlMjFhZWUzZWZlZmIwMTRhNmI4MmEzZiBsZWdhY3ktdHJ1bmsKKzIyMzM5IDQwYTE3ZDk1MDBhOGI2ZWU3ZjI5NGY2M2IyNDZjZDMyYmFhN2M1MjggbGVnYWN5LXRydW5rCisyMjM0MCA5OGJiYTk4M2JmZDM3Y2ZmOTkwOTJkYjcwMjQ5ZjQ4OTRhNWMzYmE2IGxlZ2FjeS10cnVuaworMjIzNDEgZDk4MTIxOTMwZTcwNjFmNGNiZjcyNTJmMDdmN2M0MGFkNWE0NzI4ZCBsZWdhY3ktdHJ1bmsKKzIyMzQyIDNmOGE1NmY1MmNkNjFiYmE1NWM5ODBlYmQ5NGM1ZTkxNDc5YmIwMzAgbGVnYWN5LXRydW5rCisyMjM0MyA2NDYzY2Q5ZGIyZmNlZWNmNThjMmU2OGQ0Mzk1OTMyMDhkNWRlMDE1IGxlZ2FjeS10cnVuaworMjIzNDQgZmIxMmVhOTI5MGIyZDIxNzI5MTZhYTM1YzMyYTczMWMxZjkwMmUwNSBsZWdhY3ktdHJ1bmsKKzIyMzQ1IDgxNWU3ODEyNTM1N2FmNzk4ZDU4Mjg1NTVlNTE5MGU1NmUyMjI1MGMgbGVnYWN5LXRydW5rCisyMjM0NiA0YThhYjY3NzczYTljNmM1M2E1MzA1Y2RkNjE4YjcwNmI1MGU2M2I4IGxlZ2FjeS10cnVuaworMjIzNDcgOGMzNzhmOTA4NmNkNzNiNTRiZmJiMjFiYmRlMDY2ODAyYzAzY2QzYyBsZWdhY3ktdHJ1bmsKKzIyMzQ4IGUwMDFhOWNkZTZiYWY2YzhhY2RiNmU1YTJkZTkzN2RlZDlkOGJmNjUgbGVnYWN5LXRydW5rCisyMjM0OSAyZDY3ZDIzOGQ0ZTkxOGJhYmVjMWIzNGEyNjBlYzExNWFjMmQzZDM1IGxlZ2FjeS10cnVuaworMjIzNTAgODUyOTJkOTU5ZTFiODc3ZTk1NzgzOWViNTE2NWZlYzMzYjczZGQwYSBsZWdhY3ktdHJ1bmsKKzIyMzUxIDA4Y2ZkOGU5OTgwNjYyODQxOTkyM2NiZGJiZTBkODc5M2RhMDEzNGEgbGVnYWN5LXRydW5rCisyMjM1MiBmMGQ1MmE4ZmRlNWZlOGQ5OTM4OWQxNWIxZjUxZTU1YmI0NWEyZjFmIGxlZ2FjeS10cnVuaworMjIzNTMgZWRmOGQyZDFhOTBiNjk4OTNkNWFlNmI1OGUwNDNmOGJhYThjMzlkZSBsZWdhY3ktdHJ1bmsKKzIyMzU0IDJmM2IxODMwOWNjZTY3OGM0NmZjZGVjYjY2ODQ1NGM1NjRmMDJiMTMgbGVnYWN5LXRydW5rCisyMjM1NSA4MDlhZWM2NGE3OGViYTJmODEwMjljMmFiNGU5MjlhNzhhY2IxZDgwIGxlZ2FjeS10cnVuaworMjIzNTYgNDgxYjgxZDMwMGRmODJlOTRlOTgwZjQ1YmMxMTM5NmRmYzU1OGM5YiBsZWdhY3ktdHJ1bmsKKzIyMzU3IDNmMzRmNzI0ZjAxNDg5YmNiZDYxOTNlODhhZDA2NjVhMDNjZGFmODMgbGVnYWN5LXRydW5rCisyMjM1OCBjZDQ0MjU0MzYwYjZlYTk0YzdmNGQxN2RjMjIyNmVjZWYxYmY1ZTUxIGxlZ2FjeS10cnVuaworMjIzNTkgMWU2ZjRiYjY1MDY5ZDIzZTI0YzYwMDNiZDYwYWY2Yjk2YjZiOTFlMSBsZWdhY3ktdHJ1bmsKKzIyMzYwIDY0ZDRhZDczYTg4NzVlMGU4MTgyMTMwZDQwYWQwOWNjYmU3OTZiY2YgbGVnYWN5LXRydW5rCisyMjM2MSA3YTFlZjY3NWQ4YWNmMDQ0YWQwMWNhNDA4YmM3N2JhYTA1Y2U0MDkzIGxlZ2FjeS10cnVuaworMjIzNjIgMmY0MWM5NTJiZWIwNThlZDM4ZjY5MzNmZWJmNWEwMTNkMDQ3MGE0MiBsZWdhY3ktdHJ1bmsKKzIyMzYzIDc3NjYyOGVlYThmNzM2NzQ2MGZhZDA5ZDUzYWRkNGM2OTVmNzg1NTYgbGVnYWN5LXRydW5rCisyMjM2NCBiNzY1OGU2NjVkMmVjN2EzOTg3NGQ4ZmZjNzdiYTEzYTE4OTFmMGEzIGxlZ2FjeS10cnVuaworMjIzNjUgOTdhM2QzZDcwMjlmOGZiMjZiMjQ0NTBkZWRjNTQ3ZmFlMTllNDU3MiBsZWdhY3ktdHJ1bmsKKzIyMzY2IDM1MzcwNjJiM2RjMWJlMDgxZDRiOGU0NjgyNzE0ZTRkNWMxZmE4ZmYgbGVnYWN5LXRydW5rCisyMjM2NyA5ZDAyNGFlMDU4MzdjOTRiZTg2NTNlY2QxMjNlODY5YzY0YjhhNTRjIGxlZ2FjeS10cnVuaworMjIzNjggZDY0ZTA1OWNkMTk5ZGEzOGVhMTJmNjQzN2E0YzIwZGNhOGIxNTFkZCBsZWdhY3ktdHJ1bmsKKzIyMzY5IGIwNmQ5ZGJkYWY4ZmJlNzViYjMxMzE4Y2I1MzQwYWY5OTA0MWJhYzggbGVnYWN5LXRydW5rCisyMjM3MCBiMTYwZmE2M2Y0MGM1N2E0NDEzNjg0MDRmNTFiNWVkMWIwM2I5YTExIGxlZ2FjeS10cnVuaworMjIzNzEgNWQ2YjJjMTdlYTJjZDdhODcxODEyMDA2OGYzNjVjNjk5Y2RjODUxMyBsZWdhY3ktdHJ1bmsKKzIyMzcyIDAzOWUzZDI2ZWEzNWNhNjEzMzhhYTI1MTA5NjlkZTg2MzlmZTY3MDkgbGVnYWN5LXRydW5rCisyMjM3MyA2N2YzNTRkNDM0N2Q1ODIyODIzNmI2YWE4ZGY1ZjVlYmFjMDg4ZTk4IGxlZ2FjeS10cnVuaworMjIzNzQgMzA4NjBiZTNhZTdiZTlmNGRkZjVmMTdjNjBiN2RhZTUyYjQ3NTRiMSBsZWdhY3ktdHJ1bmsKKzIyMzc1IDgwMmM0Zjk0MGE0ZWEzMWEwOTkzNjFiM2E2YzAwM2MyNDlhMWEyM2UgbGVnYWN5LXRydW5rCisyMjM3NiA5NjYxMDkzZDNlMmFmZmMzZjc2OTMwMzcwZmVjNTI5MWRhNzc5NTUwIGxlZ2FjeS10cnVuaworMjIzNzcgODFmNGNkZjg2ODU1NzIyNjJiMmI5ODFlOWQ1YzU1NTlhZDk3N2VmYyBsZWdhY3ktdHJ1bmsKKzIyMzc4IDJmNjU5M2JmNThhZmJmOTNmZGE0NmQ2YjUwNDVhMDY3NDBkNzgzNjQgbGVnYWN5LXRydW5rCisyMjM3OSBjYjM0NmJhZWRhZDZjNGE0MThiY2JjZDgwNjIxNDBhNWIxYTVlOTRlIGxlZ2FjeS10cnVuaworMjIzODAgZjBkYjM0NTYyMWJhN2VmY2FmMmQwMjc1M2MxMTQ0YjgyOTViN2I2OCBsZWdhY3ktdHJ1bmsKKzIyMzgxIDcwNGFkODM0ZGUyNzY5NmJlNWE1MGU5MWVkZGJlNjg3MzA1YjliNTQgcmVsZWFzZTIxLW1haW50CisyMjM4MiBiMDAwMmQ3YzIyYjFmMGNkY2E5NmVhNTUxMTgyNWZiMDAzZGJkMTIyIGxlZ2FjeS10cnVuaworMjIzODMgZmZmNmM2NjI4NTlkOWMwYTA5Yjg4MWE3ZGJjMDNiMTYxNWViMjk0ZiBsZWdhY3ktdHJ1bmsKKzIyMzg0IDUwZjg4ZWU3MWQ0NWEzZDdmMjgwNzIwNjliYjQxOGQzNzM2ZGEyOGUgbGVnYWN5LXRydW5rCisyMjM4NSBjYTEyZTFlMzMzZWExMDQwMzYwMjg5MTM5ZWUzN2I4ODVjNDhkMjQ2IGxlZ2FjeS10cnVuaworMjIzODYgNjM3MGEwZjk4OGYwZDNmNjVhMjE3OWM5YWY2OWY2ZTkxNmFiYzIzOSBsZWdhY3ktdHJ1bmsKKzIyMzg3IGZkZTNiMGY3MmUzODkwMmVlY2U1NzhjZDhhNDM1NWUxM2U0NzU2MGQgbGVnYWN5LXRydW5rCisyMjM4OCAxZDQ2MmI3Mzc4MTBkYzgyMGQ5OTdmMmU4MTM0NjNiMTVlYmJjNTUyIGxlZ2FjeS10cnVuaworMjIzODkgZmMzOWMyMmI1YTdhZDE1YjQ3NDhlYzVlMTAwNzhlZGE0ZDk2Y2M3YyBsZWdhY3ktdHJ1bmsKKzIyMzkwIGIxNDk1MWNkMjU2NzNhNjAxNjZjNzBlOGE0OTE0NzU2ZTFhMTZjMWQgbGVnYWN5LXRydW5rCisyMjM5MiAyOTY3Y2E5NmQwN2VlN2VlMDk5N2JiNjgwODM5MTU1NzQ2YzVjOWY0IGxlZ2FjeS10cnVuaworMjIzOTMgNzhkMDBmNzAyM2EyMTZmMWI3NzU4MjEzNjhiZmUxZjBhMWY2ZGFhMCBsZWdhY3ktdHJ1bmsKKzIyMzk0IGNkZDBjN2E0NTU3NWEyOTExZjk1YjkwY2NmMzliNGZmZjlkZWM5YzIgbGVnYWN5LXRydW5rCisyMjM5NSAzMGY4YjY1NGMyZTViZmYzY2RhZjEyYTliMTgxMDFjZDVkZjVjMDE2IGxlZ2FjeS10cnVuaworMjIzOTYgYmNmZTMwY2QxZjBkZTE2YzllZDk1ODJjNGM4NzA3ZGI4NGU4ODRlZiBsZWdhY3ktdHJ1bmsKKzIyMzk3IDExNWU0MDk5ZjNkOTc5ZmIwZGViNDRjOWI2YjNiMzk2ZmZmMjEwZDcgbGVnYWN5LXRydW5rCisyMjM5OCBiZWU3NTU3MjEzYjIyOTkzMjk2NDYzZDg4OTAzMjM5ZTJjOTZjN2Y5IGxlZ2FjeS10cnVuaworMjIzOTkgYTk3YzgwNjRjOWQ4M2E0MTU4YTdhZTY5MmVkOTg4YjFmMzcxMzUzYiBsZWdhY3ktdHJ1bmsKKzIyNDAwIDY4MDIzMmZiNjFmMzAyMDdmMWRjN2ZmZDI3NGY4ZDQ2OWFhNTlmY2YgbGVnYWN5LXRydW5rCisyMjQwMSAwOTVjODlhODI1YTkwYTFiZjk3ZDg4MTE1YjA1NTY2MDgxM2I3YWM1IGxlZ2FjeS10cnVuaworMjI0MDIgN2U5ZjVjNTllOWYyN2YwMjY0ZGEyNjU3MDQ3NGY5YWQzNWFmNGVlZSBsZWdhY3ktdHJ1bmsKKzIyNDAzIDdlNDQ4NzNkYWY3YmRjMzdiYTFlZmM5M2IxZjIyMzE4OWRiZGMxZDcgbGVnYWN5LXRydW5rCisyMjQwNCAzMDFiY2IwMWI1MDM0NWYxYWQ2MDM3NDlkZjg2Yjc4YWQ5NGZjYTJlIGxlZ2FjeS10cnVuaworMjI0MDUgMDFhOWI3ODA3MTYwYjE4MTA4YTM4OTQyYjdmMzEyMDNmYjY4ZjdjYyBsZWdhY3ktdHJ1bmsKKzIyNDA2IDNjMWM5OTQ4ZmY2NTU3Y2VkYzBjYzQyZjRjYjI4OGI1ZGM5MDZiZjYgbGVnYWN5LXRydW5rCisyMjQwNyAzODM3ZGNjZDExY2FkMzUyNzUwMGRhMTI0YWZmMzgwYTg0NzU3Yzg1IGxlZ2FjeS10cnVuaworMjI0MDggNTBmYjQ2ODNhNDYxODYzNzlmZDU3YjMxOGRjY2U3NDMzZDMxMGVmYiBsZWdhY3ktdHJ1bmsKKzIyNDA5IDJjNGMyY2FhYmNmY2Q5M2IzNGJmMjM5Y2QyZWI3M2ZkZTM0MThlOGYgbGVnYWN5LXRydW5rCisyMjQxMCA0N2E0NWRhMDNiMDlhYzgxMjVmYzUwNzVjZTI3OTk1MzA5Mjc3YTQyIGxlZ2FjeS10cnVuaworMjI0MTEgY2QxMzEwZTg3ZmUyMTU1ZjM0M2M1YTU3ODkzOGJhYTg4NWY2NzhjZiBsZWdhY3ktdHJ1bmsKKzIyNDEyIDY3ZGNmMDRmYTc1NDE4NTRjNWFhYWU4MThmOTZkZjY2Njc3NzA4ZmMgbGVnYWN5LXRydW5rCisyMjQxMyBhY2MwZmZhYjA3NzFjOTAzNzQzOGRmYmU5NTQ3OTgzZDVkMDc0NTg5IGxlZ2FjeS10cnVuaworMjI0MTQgZGUxYzJkNGQ3MmJhMTc3YTJhOGZlM2EwNmRmZjQ5MzIxMzRkYTA0MyBsZWdhY3ktdHJ1bmsKKzIyNDE1IGZiMTUzZTMwNjE1Mjg4NmUzNDBkNWJkMWRhYTQ3NWU0NDVlYzM3MDkgbGVnYWN5LXRydW5rCisyMjQxNiA3YjUzZmIzYmEwMTE5MmJlYTA0OTMxMTM1NmE0MGNkZmEwMDZiNzRiIGxlZ2FjeS10cnVuaworMjI0MTcgODY5MTQ4NGM1YmVmNTMzZGRhMDRjYWRiZmQ1NTUyMmQyMTgxZjNlZCBsZWdhY3ktdHJ1bmsKKzIyNDE4IGI0ODRiMjA3ZTk2NDE5ZTgwYzViM2M0NjJkYjE2NDk1MzA1NDM2YzAgbGVnYWN5LXRydW5rCisyMjQxOSA0ZGQzOGQ5MzAxNTczYzkwY2NkOTRlODg1MmZiMmY4ZDAzYzU2M2YzIGxlZ2FjeS10cnVuaworMjI0MjAgYzlhNGU2ZDFiYzMwYjE5OGViZmZhZjExMDQ3YjI3MjRlM2M4NTNlNCBsZWdhY3ktdHJ1bmsKKzIyNDIxIGMwYTE2YjRjOWVkYjdlMWEwOWJiNmEzMzFhNTZkY2I2YThlZTcxOTkgbGVnYWN5LXRydW5rCisyMjQyMiBkMzdlMTc2NTgwNDhkYWI4ZWQzZTk4MGUwOGMwYjhiNzkwNmQwMjVlIGxlZ2FjeS10cnVuaworMjI0MjMgZjUxM2M2YzdkMTY3MGJjY2VkNTk2M2ExMjViYzhhMTczMGMxMTU3OSBsZWdhY3ktdHJ1bmsKKzIyNDI0IGU4YmU0MGM3NWEzZjcxN2M3ZTU1YzRjODFkY2ZhOGNjZTM5MjAwYjkgbGVnYWN5LXRydW5rCisyMjQyNSA3NzY0MGMzODg0N2JhMjU3YjM5YTk4YmMwMTVjOGI1YTFhMjljYzMwIGxlZ2FjeS10cnVuaworMjI0MjYgZDE2YTNhNWM4YTg2YjEzMGIyOWQyY2ExMGEyZWRmMWQ3ZmNiNTdhOCBsZWdhY3ktdHJ1bmsKKzIyNDI3IDM3M2I2YWJhZGM1MDBmY2M4Y2ZjYzY2MTM2ZjYyNGZiMTE4ODJjN2UgbGVnYWN5LXRydW5rCisyMjQyOCAyNDJhYzQyN2YwZDBmMGQzZDZmOTE3YmJlMDk1M2ZkODFhM2E3NzUzIGxlZ2FjeS10cnVuaworMjI0MjkgM2M3YWQ1MDM3YWIxYmM1YTIyM2E5NDZjOWQzOTExMWUyNTI0YjM4YSBsZWdhY3ktdHJ1bmsKKzIyNDMwIDQxNzg1NzkzYThhMzc1ZTBiZTFmZjhhZmMwMGY0MzlmYmQ5ZjgzY2EgbGVnYWN5LXRydW5rCisyMjQzMSBjZDFjMjc4N2ViYjRhOTMwMTk0YjJhNGMzZGFjOGE2MDAyMzczNzU4IGxlZ2FjeS10cnVuaworMjI0MzIgNmU0NmM3Y2QzNzQ5MGUxNDE0NDkwZDMwYTQyMGFkODg1NzAyNWU1NSBsZWdhY3ktdHJ1bmsKKzIyNDMzIDcxZjA1ZmQzMGU3M2Q1Y2I3ODI3NTQzNjVjYzRlZTk0NjM0ZGQ3OGEgbGVnYWN5LXRydW5rCisyMjQzNCAyNTU5MjY2OTg2OTJkNDZjOTFhMTBmYTQwZDcwZDFjMDU4ZjVhNWM3IGxlZ2FjeS10cnVuaworMjI0MzUgODRiNjAyMTMxNTliMDIyMzY4MDkyNWFkM2E5MzY5MTFkZmYwOGZlNiBsZWdhY3ktdHJ1bmsKKzIyNDM2IDBmNjEyZDY4N2ViY2Q3NzQ3NGVkOTEzMjFiNzliYzE3MWJhMDFlNWQgbGVnYWN5LXRydW5rCisyMjQzNyA1M2YzOTk1OTg3OTk5ZWMzZjYxMjZhNDU5YzdiMjIyNmQyZThjMTQ2IGxlZ2FjeS10cnVuaworMjI0MzggYWNiMThjOWZiMjBmNmE1MTkwOGFiMWRlM2NjZDE1NjExNWI1MjIzMSBsZWdhY3ktdHJ1bmsKKzIyNDM5IGUyOWJhOGYxZTdmODBhMmU2MjI1ZWM1MjgzMzQ3ZjUzNDAzNTlhOGEgbGVnYWN5LXRydW5rCisyMjQ0MCA2NTg4NWVhNzZjMzc3MTY0MThkZDEyZDZjYWRkZTkwZTFmOTQxZGExIGxlZ2FjeS10cnVuaworMjI0NDEgY2I3ZmI1NjVjODliOTRmYzgzMWY0OWQzM2FkM2U4MDAyY2IzNTdkYyBsZWdhY3ktdHJ1bmsKKzIyNDQyIGMzMzYzZTRkNmQxZDYwYWQ0YWVlYTJhY2JmZTYzNjIzOTVhN2FkMmQgbGVnYWN5LXRydW5rCisyMjQ0MyBjNjEyOTQyOGUwNTNjY2FkMDFiZDdlNjFjZGZiZmNkNWM4ZmZkYjQzIGxlZ2FjeS10cnVuaworMjI0NDQgMzhiNTkwNmZmMDMxZDNjZjkzYzEyNjhkNWQwOTUxMTI0ZDA4MWJkOCBsZWdhY3ktdHJ1bmsKKzIyNDQ1IGUxMTBjZDRmYzNjNjI1MGQxNjBkZjM2MjY1M2U3NTk4ZDg3MjYyOTQgbGVnYWN5LXRydW5rCisyMjQ0NiA1Yjg3ZWU0NDAwMGJhYTA2Yjg1YjQ5M2IzOGVkOTU1N2I2MmM0NmRlIGxlZ2FjeS10cnVuaworMjI0NDcgYTA4ZDBlNTg2MWNjZjI1OGFiM2Q0OGY5NTU2MzYzZDNmMDk1NWQzMSBsZWdhY3ktdHJ1bmsKKzIyNDQ4IGFjNmQ5Yzc0Mjg2NDMyNTMxNmQ4ZjY4ZjgwZGRlYjgzZmU1YWM2MDAgbGVnYWN5LXRydW5rCisyMjQ0OSBkM2RkMGYyZmIxZjQ0MWE4NjU0ZmJjN2Y5NDMxYTRlYTFkODQzY2IwIGxlZ2FjeS10cnVuaworMjI0NTAgZDk5YzEyNDBkMGFjM2VlOTliNGVjNDM2ZDBmNWM4NmZjNjVlMTZmOSBsZWdhY3ktdHJ1bmsKKzIyNDUxIDc4OGExNjM1MWUxODk0Mzg4Njk1MmY2ZmU1OGVmNGI1MTY4NDE0OTggbGVnYWN5LXRydW5rCisyMjQ1MiBmYmUyMDc0YzVmYTVhMjE5MTQyM2U5NDg5MWJkNTM4YjQ0MmM0ZWE3IGxlZ2FjeS10cnVuaworMjI0NTMgM2I5OGNmMTY5MmQ0MTU1Y2Y5MmZjZDE1OTRhNWI0Mzk2M2Y1ZTVmYyBsZWdhY3ktdHJ1bmsKKzIyNDU0IGJlMDI0YzI3NGUwMmNmOWEyN2M0M2ZmNDg1YTg2ODZhZmM4NGNmYWMgbGVnYWN5LXRydW5rCisyMjQ1NSAzODhiY2RlZTUxMjlhM2RmYWRjNWQwNTYwMTU0Njk1OTQyOGZhZDc3IGxlZ2FjeS10cnVuaworMjI0NTYgOWY4MGM3MGE3YTUxZWJmNzAxMjMyNjU4ZmJlZDk1NTNiOWE2ZjFiZiBsZWdhY3ktdHJ1bmsKKzIyNDU3IDA2ZjkwMjcxNDFmZjlhYjkyMjgwZGIyMzM5M2FlMmY3NDQ3YTQwYTkgbGVnYWN5LXRydW5rCisyMjQ1OCAyZmY1NzAyYWRiNTZkYWI4NDI5YzAzMGM2NDAzZmIzNzI1ZDhiM2Q5IGxlZ2FjeS10cnVuaworMjI0NTkgMzk1NmIyMmQ1ZTI5MzRmNjJlYmQ3MWUzNGQ0NDFhNzU3MDJmZjVkOCBsZWdhY3ktdHJ1bmsKKzIyNDYwIGZiZjFhZTc2OTMwNjYwMTVjZmZkNTM5YmI5NjliNDhjZmY2ZmRlZTAgbGVnYWN5LXRydW5rCisyMjQ2MSA5NjhkMTY5NTAxZjI3NjZhYmQwYjJlNTEzNmFhMmNjZGE3Y2MxYjY1IGxlZ2FjeS10cnVuaworMjI0NjIgNjYxNzAzMGM1MWUzYWQ4NTAzMGM3ZGUxZDUzMjc1NDRjNWRmNjdjZSBsZWdhY3ktdHJ1bmsKKzIyNDYzIGFmMWM2ODkzMjRmNTMxNmFmNjVlMTUwNTdhYWM1ZGZlY2U2NTZhZDEgbGVnYWN5LXRydW5rCisyMjQ2NCBmZWRiYTg2ODY1ZTI5NGM5NGIwZmM5Y2U1Yzg2NDBlMGQ0YWExODU2IGxlZ2FjeS10cnVuaworMjI0NjUgMWMzOWI5NmQyOWMzMjVmYWQxMTUyOTU3OGQ1MGNkYWQ5MjEzZTJkYSBsZWdhY3ktdHJ1bmsKKzIyNDY2IDE0Zjc4MmJhNDBmOTEyZjc1ODhjNjA4ZTYzYmQ5MjVjZWU3OTUwMTAgbGVnYWN5LXRydW5rCisyMjQ2NyAwNDY0M2ExODQ1NDZhMTE2N2Y5ZmJmY2ZlOTQ2ZGQyMDBlOGRjMjJjIGxlZ2FjeS10cnVuaworMjI0NjggNDlmZDcyNDM1MWY0YTg1NGI3YjIyYjJmMjVlMjVhOGMxNWNjZTIxNCBsZWdhY3ktdHJ1bmsKKzIyNDY5IGNhN2RiYWNiYmUxODY2YjZkYTc0ZDcwN2JkNTkwYzdiN2I1MTM1NTIgbGVnYWN5LXRydW5rCisyMjQ3MCBjM2M4N2NlNGFmZGNhNmIzNzhiZWIzZDFiZmM0MDg0OGRmMDBlNzhmIGxlZ2FjeS10cnVuaworMjI0NzEgNzg2MWVlOTUxYTkxYzRlOWY1ZmY3MTQwMmMyNGMyZWU0ZGNkMjQ0NiBsZWdhY3ktdHJ1bmsKKzIyNDcyIGViNWUyYjY4MzU0ZjVkZWJmMjNkMzAyMGY4YWVjMjQzNGU3MGRkOTIgbGVnYWN5LXRydW5rCisyMjQ3MyBiZDhjYjY2NWI1ZTEwOGIyZjk0Y2YwNGQ0OGM1ZWY2ZjI3MzQzMDRjIGxlZ2FjeS10cnVuaworMjI0NzQgZTlhOTdiMDI4ODliMDgwZjgzYzlkZjQ5MzllNzRjZTk5YzgxZGI0ZCBsZWdhY3ktdHJ1bmsKKzIyNDc1IGE5ZmYwZjZmZjI2MGVhNDEzNjExOTlhYjhkNjkyYjY0ZWM4MzRiNzYgbGVnYWN5LXRydW5rCisyMjQ3NiBkZDgyY2Q0ODZkOGExZDE5YTI0NzhjZjAxYzBkYzcwYTg1N2YxNjljIGxlZ2FjeS10cnVuaworMjI0NzcgMzVjNjVkOWFhODZhMjZmODc5YmJlZjYwZjhkN2M5ZDkxODZmYzEzMSBsZWdhY3ktdHJ1bmsKKzIyNDc4IGI2NTMxMjIzOGMwYjY2NGFhZDMyZGVjOGVhZjg3ZWZiMjc1MmEyZTkgbGVnYWN5LXRydW5rCisyMjQ3OSAxY2U1YTkwZmIxOTJiODQ2OTgyY2ZhZjI3NDU4MjA5YWI4OGNlYWQxIGxlZ2FjeS10cnVuaworMjI0ODAgZDg5OWJmYmZmYmJhMTc5NDc1N2NmMDE3NmYzZDU1MjNmNjMxMzg3ZCBsZWdhY3ktdHJ1bmsKKzIyNDgxIGMzNGJiZjE3Mzg1ZTRkNGQwYzg1YzQ2NDM3NjNhY2MzNGQyOGY3ZmEgbGVnYWN5LXRydW5rCisyMjQ4MiA1NTAxOTU4ZWRjMzYxZDE0YzgxZTBkZDcyMDMyOGU1YjRlZDY2ZGY2IGxlZ2FjeS10cnVuaworMjI0ODMgNGM4ZDc4NjhhOGU3NjEwMDM1M2M0YTY3MzBkNWNkNTIwM2M1M2YxMiBsZWdhY3ktdHJ1bmsKKzIyNDg0IDlmYjQ5Y2UyNDBkMTllYmU0ZWNkOTFjYTBlZTBkNjEyZTJjNmEzMmMgbGVnYWN5LXRydW5rCisyMjQ4NSBiOTUwMmQxYTI3YTdhNTk3OGE4YmFjZjcxY2FkZWRlMmUzOWU0OGVkIGxlZ2FjeS10cnVuaworMjI0ODYgMWFmYzMxMTZjNjAyMzViYTMwZGU5MmZmZGRlNDI2ZjNkNWRmZDhlNCBsZWdhY3ktdHJ1bmsKKzIyNDg3IDFiYTllMzY4NGQzNTQ4MmI3M2EzNzRmZjU3NDJiNTY0Y2UzNmRkZmIgbGVnYWN5LXRydW5rCisyMjQ4OCBmMTBiNjhlY2VlZmMxYWFmZTI5NDVlZWI5ZjMxZTMzYzUzOGE2ODlhIGxlZ2FjeS10cnVuaworMjI0ODkgYmU4NWY2ODZhZDk3YmJiZTIwZmM0ZTA1ZWJjZjNiMjZlNjAzZTBkNCBsZWdhY3ktdHJ1bmsKKzIyNDkwIDZmNmFjYmY3ODkzOTQzZjgzNGI1YzQyM2M5ZTM5MDgxYjIwZjc5MTcgbGVnYWN5LXRydW5rCisyMjQ5MSBiODY1Y2Q1YzE5MjUwMzZkYWVhYjNkOGIyYWRmYzNiNmEzNWU1MGM2IGxlZ2FjeS10cnVuaworMjI0OTIgYTVhOTMyYzIxNTgzMGUwOTUwNTdkNmMyNjY1OWVjZjIyNzNlNTFkZiBsZWdhY3ktdHJ1bmsKKzIyNDkzIGJhOGM2MmU1ZjkyZDY5ZGZhMzFjYmViMDJkOGZmYzVkNmI2NGFjOTAgbGVnYWN5LXRydW5rCisyMjQ5NCAxNGU2MDUxZDVmMWYwN2E4YjQ0MGEyN2NjMDUzY2U4MzRhYzBhNGJjIGxlZ2FjeS10cnVuaworMjI0OTUgM2FhMDYwNjQ0OTAzMTY2ZTkxZDc1YWM3YTEyNDNhYTQxZjhlODk0OSBsZWdhY3ktdHJ1bmsKKzIyNDk2IDVhZDcxZmRiMjA1YjM1NjdhYjJiMGIwNzc0Y2NhNmJmZjE5YTIyZjkgbGVnYWN5LXRydW5rCisyMjQ5NyA1YzJiZjZjZGUxMjMwM2IxYzJhYzIyM2E5YjI3YTI3ZjA2MmE4ZGQ3IGxlZ2FjeS10cnVuaworMjI0OTggZjdhMjEzMGEyNTYzNjc3NDRkZTczODQzZGRmNjkyOGQ3Zjk1ODcwOCBsZWdhY3ktdHJ1bmsKKzIyNDk5IDM3NTU4ZTg2NWVhZDU0YzI3OWM5NjE1N2RkYTU1N2IyNTZjNDdiYWEgbGVnYWN5LXRydW5rCisyMjUwMCBjM2Q1M2QzNGFiNDRkZWJjNjk0YjMwYjM2ZGUzZWI5NmQwNWRkOGMyIGxlZ2FjeS10cnVuaworMjI1MDEgMWU4N2RiMGNhMjQ4MmUxYzhlNTMxMzZjN2M2OTcyMmU4NzA0MjFiYyBsZWdhY3ktdHJ1bmsKKzIyNTAyIDE0NTZlYzczNTA4NzJkNjdhOTUyYjk1MmYwZTU5NGQyNjc2OTVkYzIgbGVnYWN5LXRydW5rCisyMjUwMyAxNTdiYmI4OTYxOThiOThjMWZmOWM5YTM1MzFjYjU2ODMwNDY0YTc5IGxlZ2FjeS10cnVuaworMjI1MDQgMTA2OTA5MGIxMjRlZjg3ZjNlNWNkM2YzN2U4Nzk5YzU3Njk4ZjA1NSBsZWdhY3ktdHJ1bmsKKzIyNTA1IDNkZGIyMTA5MzJjYTZkZDFjOGMzNGY2NTIzYWUyMmUxYzc4MDA5ZjIgbGVnYWN5LXRydW5rCisyMjUwNiA2YzRhODczMDY2M2FkZTBlOGUzODQ3ZTk4OTk1ZWQwMTk5MzJhMWM1IGxlZ2FjeS10cnVuaworMjI1MDcgNjMwMzAyNjY2NDY2MmI5ZmQwYjk0M2U3ZjVlODc4M2M4NzY3YjE5MSBsZWdhY3ktdHJ1bmsKKzIyNTA4IDgxNDQwZGQzMjZiYmUxNzUyZWFmZDEwNjg1ZGU4NWYyMjllYjkwOWQgbGVnYWN5LXRydW5rCisyMjUwOSBiOTcwMTUzOGY4Mjc2YTY5NGM1ZmFiNWE3YzVmNmNkOWRmNTg0Mjc2IGxlZ2FjeS10cnVuaworMjI1MTAgZWQ5YWJhYjk3MTA3OGNkYWZiMTFkOGJjZThmYjcxMmM0NjlhYTcyYiBsZWdhY3ktdHJ1bmsKKzIyNTExIGNlYTk0NTc2NGRiMjE5ZmQ5NGI2Njk5YmM4NjJkN2EyNmUzMjQ2MDggbGVnYWN5LXRydW5rCisyMjUxMiAxMTkwM2ViMDA5ZjY3MDIxYzliZDY0MzlmNWE1NDY2ZTFjODZkZWFjIGxlZ2FjeS10cnVuaworMjI1MTMgZmE3ODZmOGE3NTcwYTViM2MyNjI4OWIwMjNlOGFhZjUyYjE4MGNhYyBsZWdhY3ktdHJ1bmsKKzIyNTE0IGE3YmJhYzY5YzhlZjIyNjYwNjdlNjkxOGNlZWMxZmUyYmU1YzI2ZjUgbGVnYWN5LXRydW5rCisyMjUxNSBiMGQyZGU4Y2UyNGY0YzI1NzMzNGNiZDY2YzI2NTcyNDExODNkZTg3IGxlZ2FjeS10cnVuaworMjI1MTYgYWYwMDE4YmI4Y2ZjMzE5ZWNiYjk2MTMyMzI3NzVhYTE3YTZiMjAyNiBsZWdhY3ktdHJ1bmsKKzIyNTE3IDBjMmI0MzkxZGY3ZGQwYzRlNWFkZWZiNDdhNWIzNjA5NzY4MDkxMTEgbGVnYWN5LXRydW5rCisyMjUxOCA2Y2I5ZjUzOGRjZTQ5ODdkMGYyYmRhZDMzNmRjZmI4OWQzMzQ2MWQ5IGxlZ2FjeS10cnVuaworMjI1MTkgZmM3NjE3MzEyMTgyODNmN2IxYjZlMTc2NTg5MjdjODA5YjY2MTc1ZSBsZWdhY3ktdHJ1bmsKKzIyNTIwIGE2M2E2OTMzNTU0Zjk1MGQ4MmUzOTE0YmYyZmJiNDk2ZTRkMDA4ZDAgbGVnYWN5LXRydW5rCisyMjUyMSA2ZjYyZjVhNjJhMmM2YmQwNmE5MWVkNzRhYTkzOTA5MGRkYmJmMDIyIGxlZ2FjeS10cnVuaworMjI1MjIgMmQ4OGRlYTQ2NDE3N2NhNTdjMjcyZGRlZjNjNjRhMTA2OGRiYzNlMyBsZWdhY3ktdHJ1bmsKKzIyNTIzIDFmNGViOGM5MjVkNTE4ZTU5YmNhODAyNmE0MjQyYmE0MWVlNDRhNTQgbGVnYWN5LXRydW5rCisyMjUyNCBmN2RjMjFjYjE2NjFkYzM3OGIyMzkzNDVkOGQyMWJjNDViMzgzMzEwIGxlZ2FjeS10cnVuaworMjI1MjUgM2VhMjkwOWUwNTFmZmI2Njc3MThkNTE0NzZlM2M3YjgzOTg1OWUzMyBsZWdhY3ktdHJ1bmsKKzIyNTI2IGNiYWE1NDVjNzg4ZGFhOTc5MjEwNDYwNjgxNTRmMmI3ZmJiODE4N2EgbGVnYWN5LXRydW5rCisyMjUyNyBkMzcwYTU4ZmI3ZmQ4ZjNkZDA1OTJmYWRhNGFkMzQ2MDMzYTdlNzhkIGxlZ2FjeS10cnVuaworMjI1MjggNzk1N2IzZjVkNDYyZDdkZDAxNWEzMGFjZmUzNTczNDZiNmFjOTdiYiBsZWdhY3ktdHJ1bmsKKzIyNTI5IDQyMjQ2YjhjNThiYmE4OTYwYjNjYjc0NDJkMDcyZDgwNDU2N2Q4NjEgbGVnYWN5LXRydW5rCisyMjUzMCAxZmVjMDMwMTIzNDY3ODk1NGMwM2MyZDY4MzVmN2E2MmRhNjJlOTdjIGxlZ2FjeS10cnVuaworMjI1MzEgMjYxZTI4ZTdmYTAxZmFhMTI1ZTM0YmIyYjQ3YzBkMjlmOWQ2NDBmMCBsZWdhY3ktdHJ1bmsKKzIyNTMyIGI1MjVlNjAyZjZjMmE0Mjg1OTY0OWNkYzk3NDE4ZjNmMmY2ZWUyNGIgbGVnYWN5LXRydW5rCisyMjUzMyBkYjQ4OGNjOWYyNTk4ODZlNjZlNzFkODUxZWU2M2MzOTgyNzYwYjlmIGxlZ2FjeS10cnVuaworMjI1MzQgZWZkY2Y0MmY4ODUyNzJlYmRkOGE5MWEyYmZiMDc4NTcyODg2Yjk1NSBsZWdhY3ktdHJ1bmsKKzIyNTM1IDczZjY4NWRiOGMwYzc5Mjk3ZjhiNzVmMmNhMjQyYzY1MjlmZmRiMjIgbGVnYWN5LXRydW5rCisyMjUzNiBiNDE2MzhhMTFlNGU0MzllZmRiZWZiMDA1YWFjZjVkMjhlZTI4N2E4IGxlZ2FjeS10cnVuaworMjI1MzcgZjkzYzE2YzEwYTU1YzBlOWRkYTM3MzBiZGNhM2FhMDZhMmNiODEzMSBsZWdhY3ktdHJ1bmsKKzIyNTM4IGVhOWNmYzM4ZTExYmQ4MGUxODdjZDkxMzI2YWQzMTM0OTEwYTcwZjIgbGVnYWN5LXRydW5rCisyMjUzOSBiYTg3YzI0NGZiNTliZTY1NGI3ZmJhZGVkNzE2NjdhMWMwNzllYTMzIGxlZ2FjeS10cnVuaworMjI1NDAgMDYxM2ZhNTdhZTZkOWM3MzU0ZmVmODRiNWUyNTY4MDAyY2YwNmFjYSBsZWdhY3ktdHJ1bmsKKzIyNTQxIDA1YzlhMzVmMjE0ZjI4YjQ5ZjU3NWZlZDdjZTBkNzMwMjM0YjYwYzEgbGVnYWN5LXRydW5rCisyMjU0MiA2MDI2NGQxZTEwMGU5ZDY0ZTkyMWY0NGI5MjZlZGZmYzQ0MzA0OTU4IGxlZ2FjeS10cnVuaworMjI1NDMgZDZiMDg0YzI1YmE4YmQxMTc0ZjBmNDJiOWUyOTA4ZTkyZTUyYmJlNyBsZWdhY3ktdHJ1bmsKKzIyNTQ0IGViZmI3NGNlN2U1NjgxMzQ3NzQ5MjEyYjI3NTgwMGIxODc3Y2Q0NjMgbGVnYWN5LXRydW5rCisyMjU0NSBiMTExMmEyYzM1NGZmM2I0ZDVmNDkwMzY4YTNkZGE5NGFlNDczODQ2IGxlZ2FjeS10cnVuaworMjI1NDYgNzg2YWNlZDkzN2M1Mzg5YjFjNWY5MTg1MTE3YzFlZjFhOWVmOTBhYiBsZWdhY3ktdHJ1bmsKKzIyNTQ3IDYxMzBkZWViNGNjNjE1YjRjMDJjMGU2NTFlNGIwOGZjM2Y2ZTA1ZWYgbGVnYWN5LXRydW5rCisyMjU0OCA4NmNkNTdmOWRiOWI5NmYwZWQ2Y2Y5NTk5NjNmYjNkMGUxM2UyODRkIGxlZ2FjeS10cnVuaworMjI1NDkgZDQ2NjgyYmRhODJmZjVjZDgwMmE2MWFkZjQ5MzIxOGIxM2RlMjdhYyBsZWdhY3ktdHJ1bmsKKzIyNTUwIDgxNDQ3MjJkYzA3NjVlZjkyYTNmMDdmZWU3NmJiOTRjYjYwYzI2N2QgbGVnYWN5LXRydW5rCisyMjU1MSA3MjU3ZTg3ZTA3MjAxNmEzNzgwMGUxNmNjNzY5NzYxNzAyYWQwMjlmIGxlZ2FjeS10cnVuaworMjI1NTIgZGI5NzYyNTI5ZjQ1NDY2NjY0MmIwZTA0OTc0MWZlZGNhZjAwZGEzZCBsZWdhY3ktdHJ1bmsKKzIyNTUzIDM4YmUxNzdiZDQ5M2EwOGYxMjU3NGMyMDllYWI1MWMyYmRhMWVkNDAgbGVnYWN5LXRydW5rCisyMjU1NCBhNDhhM2Q3NTQ3NWVjZjJmMDM1ZDVjNDA0OTlhMjg1ZTQ1NTM0NjJlIGxlZ2FjeS10cnVuaworMjI1NTUgM2Q5N2E0YjVjNmFhNWU0NzNhOTA4OGQ4NmFmZDkzYzIxODVlOTU4YSBsZWdhY3ktdHJ1bmsKKzIyNTU2IDEzZjRiYTA1NTY4N2Y0N2U3MTg5MjU0Mjg3MjJjZGQ2ZGFjNzc2NmMgbGVnYWN5LXRydW5rCisyMjU1NyA5YjVhMmMxYTAyZjNjMGI5ZDU3ODY0NmUyMTFjNWVlMmI4MTVmMmFkIGxlZ2FjeS10cnVuaworMjI1NTggNWI2YTZkN2Q0NGFlZDJiMjAxYjdlNDI1NGE2YzAxYzIwYjg4N2E1ZCBsZWdhY3ktdHJ1bmsKKzIyNTU5IGY5MjBkZGI3N2Q4YjNmODQwN2E5YTlkOWQ4YjM2NmExY2Q1ODc0MzYgbGVnYWN5LXRydW5rCisyMjU2MCA5NDkwNWViNzJmNGZjYjViMjM1ODk5MWRmN2JiMjk3ZTJkZDE4ZmRhIGxlZ2FjeS10cnVuaworMjI1NjEgMDUxZDhlMzgwZjM4MmZlZDFhNDZmZGMxZWQyYWE3NGVlNGY3MWVhMyBsZWdhY3ktdHJ1bmsKKzIyNTYyIGU5M2Y1YzM4NWZmNDQzNGMzNGIxMDg4N2EzMDhmM2IyNWI4OWIxOGEgbGVnYWN5LXRydW5rCisyMjU2MyBkNWFjZmYxNzhhZDVlNjY0M2ZlZTJlMjE2NzZhNzZlN2YzMTFmY2QxIGxlZ2FjeS10cnVuaworMjI1NjQgYzBlZTEwZTBlMTNlMzVlNTQyODI4ZjA0YmQ1MDg3ZDIwNjBmNjQ1NiBsZWdhY3ktdHJ1bmsKKzIyNTY1IGJlOWI1MDcwNGU0YzBhODAzMTQ5YzU4MGM0MWUwZmZiNzg3ZjQ4MGIgbGVnYWN5LXRydW5rCisyMjU2NiAwZGFkMGRjNzE0OWIyYjdjMWRiMDdkMmRlN2QzYzMzZmNkM2JhZDdjIGxlZ2FjeS10cnVuaworMjI1NjcgZWZmOGNhNjc5YmY2YWVjYTY3M2QwYWU0NWNjZDhiNmEyMmY5OTI3NiBsZWdhY3ktdHJ1bmsKKzIyNTY4IGVhMTMxZmYxZDhjZDgyZjk5OTA4OTgzMWRlZjFiYWYwODU4MjMwNmEgbGVnYWN5LXRydW5rCisyMjU2OSA5MjIyYjZlM2IzNjg3ZWYwMjkyNWMyMjY4YWI4NTQyNzZjMWRlMWQ3IGxlZ2FjeS10cnVuaworMjI1NzAgNzhkYWNiNTQzODg3ZWZiODFiNWVkY2Q5NDY3YmE0MmYzNTgxMDUzMSBsZWdhY3ktdHJ1bmsKKzIyNTcxIGYxOTlkMGFhOWY4MTBmN2NhNWVhNDFiMjlhMzg5YmIzOWUxN2JlOWYgbGVnYWN5LXRydW5rCisyMjU3MiBiNzM4NDI4MjM4ZjE5NTAwY2IxMGFkNTBjMGZlMzFkOWQzMjU1ZjM3IGxlZ2FjeS10cnVuaworMjI1NzMgYTFhZGJmMDc1NjU3NzNjOTcxMGY1ZmVlN2NjNTQ5YjlkYzc4ZDQ4MyBsZWdhY3ktdHJ1bmsKKzIyNTc0IDYzYjliMTc3ZTM1MGZkNjZkNTM2NDA3NDllMjZkYzFlNWE0NzRjNjcgbGVnYWN5LXRydW5rCisyMjU3NSAxNzgwMjA3N2U3N2NmNTlmZDE0N2M5MmI0MGE1ZjdiM2E0NDA0NWE4IGxlZ2FjeS10cnVuaworMjI1NzYgM2IzMDc5Yjg1NzI3NDM1MjBhNzdhNzA5N2Y0NTQ2Zjg3ZDQ5MTIyYiBsZWdhY3ktdHJ1bmsKKzIyNTc3IDhjMmEyOWI3NTQ4ZWQ2MjQyZTE1ZDM1MDIwY2UyOTUxZTIxM2ZhNzggbGVnYWN5LXRydW5rCisyMjU3OCBiYWZiZTVjYzk0MWZmMWFjNzIwN2Q1N2E1ZmYxOWRiYTYxMjQ0MjYzIGxlZ2FjeS10cnVuaworMjI1NzkgMmJmMjY5MDk2NmZmZDMyMWFjNjUzYTFlMWY2NjdkNjNjZTlhNDU3YSBsZWdhY3ktdHJ1bmsKKzIyNTgwIDM2ZmE4ZTliYzJkYTllODI1NDM5MGE5NGQyNWIwZTY0NjYzZDk5NjQgbGVnYWN5LXRydW5rCisyMjU4MSAwMzM0NjJkZjE3YmY1OGI3YjdkYjc3OWQ2ZTNjMTViNTA2MWM5NWYzIGxlZ2FjeS10cnVuaworMjI1ODIgYzRiMmE2YjA0ZDBiOTBjMTA0MzA0YTRkZTFmZTBiYjk5MTU4NDA0YiBsZWdhY3ktdHJ1bmsKKzIyNTg0IGZjYWIzNmM5MzMyN2NhNWE1NmZjMGEwNjcwYmFmZjQ1NGEyMjJiYjUgcjIyYTItYnJhbmNoCisyMjU4NSA0ODRjMDVkYzQ5OTg0MTc3ZDE1ZmVkZGI5NjIxZjNlNzJkMzVkNzljIHIyMmEyLWJyYW5jaAorMjI1ODYgMjk0YTU2YmY3MzE1ZjAwMDRiZmQ1YTFkNzg4Y2JjYWM1NTI0NjZmOSByMjJhMi1icmFuY2gKKzIyNTg3IGZkMTE5ODk5MDQ1YzgzODRjY2VlZDg2MzYwZWU0MGUyMjFkNjJiNTYgbGVnYWN5LXRydW5rCisyMjU4OCA5ZTRmNzM5ZTlhODQ4NjhlYTA1ZjYwZTRlMWZmODExYWJlYjM5MzE0IGxlZ2FjeS10cnVuaworMjI1ODkgNjM4NmYwMWYyNDAxNjJkOTdhMDhiOWVlMmI4Njc2MzllNGY4MmQ2NCBsZWdhY3ktdHJ1bmsKKzIyNTkwIDVmMWU3NTcxYjEyOWNiMDdiOTJhNTUxZTNhYzg2MDc4MGNkN2FiM2IgcjIyYTItYnJhbmNoCisyMjU5MSA4YTZjZGExNzU1ZWI5OTFkMjQzNDY3ZDdkOTA2MWI5NDQzMjRlNTM5IHIyMmEyLWJyYW5jaAorMjI1OTIgNzM0MDY2ZjIxNjRmMzZlNDJiMjY1MWMwMTcwMTlmMTEzYmJhZGUxYyByMjJhMi1icmFuY2gKKzIyNTkzIDVjOGRlNjhiM2NkY2JjNDYzZGFhNTMzNTk0YjdlMjQyYjczZmJmOWMgcjIyYTItYnJhbmNoCisyMjU5NCBhZjA1OGQ2OWVhZWRkNzkyMmJmMTJiZDZlYjUxMjk3M2ZlYmM0ZTU1IGxlZ2FjeS10cnVuaworMjI1OTUgZDc2NGQ1NTY5MmExNGY0MWM2NTNmZjlkN2E2MTBkZjFjNDNkYmY0ZSByMjJhMi1icmFuY2gKKzIyNTk2IDQ3OWI1NjBkZWNhNzAxNzE3YWE5ZjIyMDk1MzRmYTk4MzM3ODFhM2QgcjIyYTItYnJhbmNoCisyMjU5NyA5MzVhYTA3NGNkYjg2YWJjOTE1MzJiYjU2YmQ2NGIwNzM2NTVlZTBhIHIyMmEyLWJyYW5jaAorMjI1OTggMmEwODNlMDUwNjE3YjU5MjFkMjIyYmNiYTY4YzIyOGI1YTc0MTE1MCBsZWdhY3ktdHJ1bmsKKzIyNTk5IDUwZDNiMzY2ZThjOGE5MGQ2ZjMwZGM3MmUxNDE5ODE4YTg2NDM3YTcgcjIyYTItYnJhbmNoCisyMjYwMCA4ODQyMjA4MTA5NWFmNDA4ZWNiODg2OGRhM2M4YTU3Mzg2YTE4MzVmIHIyMmEyLWJyYW5jaAorMjI2MDEgZTliNzk1ZDRjMDYwY2Q3MjIwNDNkNzIyOTM3NzQ2Mjk2NTg3YzM2OSByMjJhMi1icmFuY2gKKzIyNjAyIDdiNTUzYjFjM2U4YmQxNGQwYzhiNDE2OWM0YmMyMzZhYTM0YWQ5YWYgbGVnYWN5LXRydW5rCisyMjYwMyA2MGQ1Y2JiZWFkYzNiODY4ZjZlZWY1ZWZjNmJlZmRhMTVkYzZiNDExIGxlZ2FjeS10cnVuaworMjI2MDQgZmI0N2RiODU0MTBlNDlmODU1ODMwMDg3ZjFkY2ZkNWZiZmY2NWUzZiBsZWdhY3ktdHJ1bmsKKzIyNjA1IGMyZGIxOGMwNzBmZWNkYTE2YzRkZjQ1MTUyMDg0ZGRlZjhmMGIzOWIgbGVnYWN5LXRydW5rCisyMjYwNiA1ZWJkYzNhZDg4Nzc5ZmU4YWRlZTlkMmVhN2U0YWRlNzYyZDA5YmNhIGxlZ2FjeS10cnVuaworMjI2MDcgY2U2ZWE0NDQ5ZTk3Y2IxZWEyOTkwMzZiYmI4NjAxZTJjMTRhOTYxOSBsZWdhY3ktdHJ1bmsKKzIyNjA4IGI5Y2FmOGNiMTJhMmVjMzhmNjFmM2ExYjhiZGMyNTMwNTEzMzc3MGQgbGVnYWN5LXRydW5rCisyMjYwOSBiNDUwODQ3MzA5MTZkOTllMDEyMDI3NGNhZTAxMjVjZGUwZGE3MjNjIGxlZ2FjeS10cnVuaworMjI2MTAgNzdmNDk1ZTgyMmMxNTgyMDFhZjllYWJlNTM4MGZiYTQyMWNlNmNlMiBsZWdhY3ktdHJ1bmsKKzIyNjExIDBlN2FlZDUzYjU4MzMzMmJkYmI2NzlhYzdlZGRkYjRmZTU4MmQyOWQgbGVnYWN5LXRydW5rCisyMjYxMiAzYTJmZTc0NWEwYmJmYWZmNzU1OWM4MjgxZjQ1NDgwYjIyNWFkYTEyIGxlZ2FjeS10cnVuaworMjI2MTMgYjIyNjU4YTQ2OGNmYWFkNDM2NTQyYzAxYzcyMjk3NjM4NmE1N2MwYyBsZWdhY3ktdHJ1bmsKKzIyNjE0IDYyMTg0OTlhZWJkYTJiOTk5MjYyNDE2MDMwMDY1ODk3YzhlMGQ4OTQgbGVnYWN5LXRydW5rCisyMjYxNSAwZjg3M2QwNmFjMTNmYmUxNTMxNzM4MjUyZmNiYzdjNmJlMDZlNWE1IGxlZ2FjeS10cnVuaworMjI2MTYgZmIzMTllOWNjMmFkZmVkM2ZhNTg3YzIwMWYxZWFhYjQ2NWZhMGE3YSBsZWdhY3ktdHJ1bmsKKzIyNjE3IDc3NjFhYzhiZWI4MTllMmNhYmNjZTliYTFiMzY0NzYwMmI3ZmYwMWEgbGVnYWN5LXRydW5rCisyMjYxOCAwYzZjNmU4NzgzODhiOWFjNDljYWRiYmM1MzQ4MTY2ZjcwY2E2ODYyIHIyMmEyLWJyYW5jaAorMjI2MTkgODhiMWVjZDA0OGZiYzIzYzUwN2U5MDkyZTg0MTQ2NzlhMjlhZjlkYyByMjJhMi1icmFuY2gKKzIyNjIwIDhiYzdiY2EzMmE5NTY4YzZhYzJkNjM4MzEyODE3NTI4MjA1YTU5YzIgbGVnYWN5LXRydW5rCisyMjYyMSAyZmMxMDJiODM4ZWQ4MjBmNzY4MTZhNDVmZmNjOTE5MWJiNDczZjA1IGxlZ2FjeS10cnVuaworMjI2MjIgOTYyNjNjZmIyYzk2NjI5OTliYzZhYTdhMjQzNTgyZDdlZWRmNDA1NCBsZWdhY3ktdHJ1bmsKKzIyNjIzIGU4NTFlNjE0OGFkOGQ5ZTU2NWZmMzhmZjgzNTQ4ZmU4NjIzMTA3N2YgbGVnYWN5LXRydW5rCisyMjYyNCAxMDBkY2M5ZTZmMmYzYWFkOTAwMjkxZDY2MzA3NzI5MjQ2OGVkMGYyIHIyMmEyLWJyYW5jaAorMjI2MjUgYjk0Y2U3ZDcwY2ZjYTkwNjU1ZGJlNmRmOGI2NzcwYzIxZDhlZTZmZiByMjJhMi1icmFuY2gKKzIyNjI2IDYwYzBjZmY1ZDU3ZWNiZTBlOWNmMWI3NWRjY2RmZDM4ZWE0ZGMyYjMgcjIyYTItYnJhbmNoCisyMjYyNyA4NTNkYmUxMmJiZTY4YTY2MmFlYzc2YjUyNGMwYjI5YzEzMGU0Yjk3IHIyMmEyLWJyYW5jaAorMjI2MjggYmU1YmU5ODljYWZmZWEwNDZiYTBlMzMwY2ZjN2U1ODU2ZjJhMTZkZiBsZWdhY3ktdHJ1bmsKKzIyNjI5IDg2MDdiYzg5MGIxZjAyNWQyZGRlZmM4ZjBjYzFmMzE0YjE1MzFjN2MgbGVnYWN5LXRydW5rCisyMjYzMCBhMDM4OTkzODkwYjIzZTZjMzJjZGU5NDU4MDE0OTY1MWZmYmM3Nzk2IHIyMmEyLWJyYW5jaAorMjI2MzEgNTU0NDUwNDA5YTczOGUyMWY5ODAwOTM3MGEwZjgwNTczZTY5NzU0ZiBsZWdhY3ktdHJ1bmsKKzIyNjMyIGQ5ZWE5OWE2ZjZiNDQ2Njg2ZTdjODdlZDYxMGM4M2MwZjY3YmE2MmQgcjIyYTItYnJhbmNoCisyMjYzMyA1YmNiYzU5MGY0YTcxMTYwY2U4NjExMTE2MDQ2MzgwMjdlMzA3Y2M2IHIyMmEyLWJyYW5jaAorMjI2MzQgODk5NmRjNTIwYjU3YmI3MjRhOTNmYmM2YTFmNzVjNjUzNGM2YTVmYyByMjJhMi1icmFuY2gKKzIyNjM1IGFjNmJmYTU1ZmNlYmY0YjgwMTA2YjUxNjM3OTI1NjFjOGY4ODdkYjEgbGVnYWN5LXRydW5rCisyMjYzNiA2MTI1ZDlmOTI0NDFkYzMyYTUzZDYxMTVjODgyOTFjNDZlYzdlMzc4IGxlZ2FjeS10cnVuaworMjI2MzcgOWRlODNkZGE5ZjA5YTNkMTZiYWUyOWE5Y2E0MzE1NTk1N2M1Yjk1NCBsZWdhY3ktdHJ1bmsKKzIyNjM4IDkzMDZmODI4ZmJiNzczNGZiMTJkNTc3ZjRmMDk1Zjc2MTA5NWYzNjkgbGVnYWN5LXRydW5rCisyMjYzOSAwMWU2Njc4MGFmNjE2MzFiZWI3NjgxNjZkYTVlODMzY2ZmMWI0OWI2IHIyMmEyLWJyYW5jaAorMjI2NDAgODFjNzU2NWE1NmFjY2U4NThlNmVkZmNlYWU4NjMzNWM3NzZhYjM0ZSBsZWdhY3ktdHJ1bmsKKzIyNjQxIDdlNWU5NzRiM2QzNzZkNGJiNWVmYTEzMTk4YWJmMmFjOWRiNzQ1NzcgbGVnYWN5LXRydW5rCisyMjY0MiBiYzljOGNlYmMyZWZjODA3ODYwNTE0YTllZWYwYzhjZTVkMDNiZjI1IGxlZ2FjeS10cnVuaworMjI2NDMgYzQwM2FmMDAzODg0ZTZhZGI1ZjUyM2Q5MWY3NmZkZjg0ZTljMWFkOSBsZWdhY3ktdHJ1bmsKKzIyNjQ0IDBkMWJiZTY1YTFkODc3Yjg1NzUwNGU4MzJiMzRhNTRmZjMxNTc3MjkgbGVnYWN5LXRydW5rCisyMjY0NSBkNGJhNmUyYWFhZTM0YWMzZTBiYjAzOTExNzlmNDdiZjFkZWQ1MzgwIGxlZ2FjeS10cnVuaworMjI2NDcgY2NjNGFmNjg3Y2FjNmNkMjE4ZWMwMTM5NWJhMWFiOWRhYWQ4OTc4NCBsZWdhY3ktdHJ1bmsKKzIyNjQ4IDVmNzMxMTE1ZTM1MjZiZGE3OGEzMWFjZjlhOTcwM2YwMzYwYmZlYjIgbGVnYWN5LXRydW5rCisyMjY0OSA0NzYzM2I3OWVjMTlmM2FlNjZlZGRkZmI2MWNmNjY5Nzc2MDMyODI1IHIyMmEyLWJyYW5jaAorMjI2NTAgYjJkYWQ0ZDE3Y2E5YWUxZGZmM2ZiNWMyMzhmMDVkZTczOThjZmEyYiByMjJhMi1icmFuY2gKKzIyNjUxIDA5MjhjZDYyZGRlYTVkMjBjMWFjODAyNDA3ODMyY2ZiNjNkODMzMzQgbGVnYWN5LXRydW5rCisyMjY1MiBhNmNlMmQxNmQ3MzlmNzJiMjRiNzE5ZDhmYTA5NTI5ZTFmNzFmNzdiIGxlZ2FjeS10cnVuaworMjI2NTMgMGIxMWYwOWNmMWU0MGQzY2MwNTE3YzhmNzYwNDkyZmZiZTJmMDRhNCBsZWdhY3ktdHJ1bmsKKzIyNjU0IDI5M2E0MTJjOWZkOTdkOTUyNGJlNTllYzY2MTE3OGMxNmQxNzNjODkgbGVnYWN5LXRydW5rCisyMjY1NSAxMjU3ODVmMWUxMmZlN2I4MmE1MTg4MmU1MGI2NTlhZDcxNzg2ZDFkIGxlZ2FjeS10cnVuaworMjI2NTYgODExZjI4OTYzN2FkMjRlZjFlMmYyNGNjZGYxZGM4OTkzMWJmZjc1MCByMjJhMi1icmFuY2gKKzIyNjU3IGIxNTljZTMzMTVjYjhkYTY4YzBiZWQ1MGI4Yzc1NWRkMjM1YjgxYWMgcjIyYTItYnJhbmNoCisyMjY1OCAzNGE3NGI4MWM5YjJmYTY4NTY0MDA4MmIyMTgzYzBkNGVmODIzZmIzIHIyMmEyLWJyYW5jaAorMjI2NTkgNzMwZGNkNmQ1OTBiMmJiZTFjYThlYWQyYWE3YmQ5ZWJiMTg2YzE4MCByMjJhMi1icmFuY2gKKzIyNjYwIGY1MmZhMmI3MDNkNzJjNmRkMDE5ZjI1ZGRmNjc0YzE1ZWUyZjczM2MgbGVnYWN5LXRydW5rCisyMjY2MSBlNzZmN2M4M2ViMGQ1NjA5Nzk3YTY0OGJjNTBkYTU3NjgxYzM3YWIyIGxlZ2FjeS10cnVuaworMjI2NjIgNWMwMzU4NGNmM2NjMWM2NWRkYjE5NmE1MzhkNzAwNjk4ZmY2MWExZiBsZWdhY3ktdHJ1bmsKKzIyNjYzIDJiN2MwYmVkZmZkYmQzOTQyOTQ2MzA1Y2YwMTY0NWY1NTY1ZThlMTcgbGVnYWN5LXRydW5rCisyMjY2NCA4NTg2MjhjZjZlMjU2OTQ1NDcyYWNjOTY5ZGViNmM3NzI5NzdmNTMzIHIyMmEyLWJyYW5jaAorMjI2NjUgMTdlN2IxYTMzMWYzNWRmZWYwMmRiODlkZjQ4OWIwMWU0MWJjMjRlNiByMjJhMi1icmFuY2gKKzIyNjY2IGZhMzlmMDBkZDVjMzMzYmRhY2NhZDhkN2VhMDBlYjE3ZTk0OGNlMWEgcjIyYTItYnJhbmNoCisyMjY2NyBmZmVmNGU0MWYwNmVkYzQxZmQ4MmFkYzFjNTQ1MjRmMzRiY2FlYWM5IGxlZ2FjeS10cnVuaworMjI2NjggYzYzN2YyOWM4MTk4YWUwMzcyYzU4MmQwMjY2OTJjNGRlYjFlNzBiYSByMjJhMi1icmFuY2gKKzIyNjY4IGQ3ZjQyYzlkZTk0NDBkN2E2YTI1MmM1MGYzZGNiMDVjOTdlYmVjYzQgcjIyYTItYnJhbmNoCisyMjY3MCBkZTJmYmM1MmMxZWI5ZjRkODE5YjI3ZDIxNjdiZmQxZDEzMjc3ZTE3IGxlZ2FjeS10cnVuaworMjI2NzEgNzUyNjlhYjI2ZDAzMTM3N2IxNzAyNjE0YzlmMmU0Y2QwOTI1OWU5YyBsZWdhY3ktdHJ1bmsKKzIyNjcyIDhkNjQwNDQ1MzQ0ODU3ZTQ4ZDVhMzQ5NzJhZWZiYzQzMTY2MmQ3NmQgbGVnYWN5LXRydW5rCisyMjY3MyBjNzI2MTZkNjE0M2MyYzg5NzI3MmFmMTA4MGE0MjI3NDQxNmVjOTkzIGxlZ2FjeS10cnVuaworMjI2NzQgOWNmNjY5NTgxMTEwMzRiZTYzMjgxMDdmYWI0OTM1ZGUwZTVmNTg3NCBsZWdhY3ktdHJ1bmsKKzIyNjc1IDUwMGMzNTkwMzhjN2IyMzVmOTkxN2ZhMDhkMjM5ODJlYWMxYTJhM2IgbGVnYWN5LXRydW5rCisyMjY3NiBiMTM5YmRiNmQ0OGE0YmNkNTA5OWNjOGZlMzdmODQyYWFkMDFlOTExIGxlZ2FjeS10cnVuaworMjI2NzcgOTk5ZGU1NGFjNmE2MjFlNmU3ZmJmMmY5ODk1OWJmOGE4MWEwOTg2ZCBsZWdhY3ktdHJ1bmsKKzIyNjc4IDVkODFjNmJmZjMwNmU1YWYwYTY1ODAxNjJmOWVmZjZiNWEyY2E0ZmMgbGVnYWN5LXRydW5rCisyMjY3OSBjMTQwYmQ3ZDNiZGNmZmNlZmVlMGU4OTliNGY5OTY3M2Q2M2FmNWRmIGxlZ2FjeS10cnVuaworMjI2ODAgZGFkMzIwOWNlOTczMzJhOWRhMjU1OWU2YjlmNWU5MTA5YmM4ODliYyBsZWdhY3ktdHJ1bmsKKzIyNjgxIGUxNmFkNWY3ZjM4NzIyMWJmN2VlMGJlN2NiZTNmY2I3NjY3YzUwYWQgbGVnYWN5LXRydW5rCisyMjY4MiA1ZmVjMWM5YTIxZWFkZjRlOTU1ZTAyYjRjNjhkYzhiMWRmNTg4MWUzIGxlZ2FjeS10cnVuaworMjI2ODMgN2JlNGM3M2JhYzUzZTE0OTM3YTRiODhiOGQwODNlZWIyM2Q5NTRkMCBsZWdhY3ktdHJ1bmsKKzIyNjg0IGRlNzQ4MzQ3YTQwNDgwZmY0MjQwMjlmYzc4ZGU3YjJhOGU4NjY2NTYgbGVnYWN5LXRydW5rCisyMjY4NSBjYTFiOGNjMWJhMmJkNjViZGVlYzAyNmZkYzA1NjJlNzAxODUwM2UwIGxlZ2FjeS10cnVuaworMjI2ODYgMDc1NzA5ODM1MGMyODU3ZDUwNmY0ZjAzMGM5NzQ4ODhmZGU2NTAzZCBsZWdhY3ktdHJ1bmsKKzIyNjg3IDRkNjlkNzQyZGIyZjQ0YmQ4NjRlMDhhNWFjYTNmZjczMTM5NWI2NzIgbGVnYWN5LXRydW5rCisyMjY4OCAwOTIyZDYwOWFjZDEyNTJhNzdlYTA5NWQ5Yzc2YmQyNDdiNWRmNmI0IGxlZ2FjeS10cnVuaworMjI2ODkgNzEzNzJhMGY1MGUxYjRkNTBkODA0MTFhN2MxMzYyNTdiYzExYzNmZCBsZWdhY3ktdHJ1bmsKKzIyNjkwIDJhZWEzOTRmNDdkZDQwZTFmMmM2NGM3NDFhMDZiYTFjNjJlMWQ5NTkgbGVnYWN5LXRydW5rCisyMjY5MSBmNWQ4N2M0MWY2NWIyMDI3YjYwOTBhYWU1N2ZlNjEzMDg2NjkzM2IyIGxlZ2FjeS10cnVuaworMjI2OTIgM2JmY2RjYWJhNzAzNDI1NDRjYjVjNTE5ODZjM2VlYTVlZmM3MWZhMCBsZWdhY3ktdHJ1bmsKKzIyNjkzIDI1ZDJmNjQ4MzM4NDE5ZmI1YTBhOTNkMjNkY2E2OTk5OGYzYTdkNzMgbGVnYWN5LXRydW5rCisyMjY5NCBmOTRjNGJiNzg4OGIyYzc4Mjc5YTMxYjQ1Y2U2ZWNkMjcyZDhlODQ3IGxlZ2FjeS10cnVuaworMjI2OTUgY2VlMWRlY2M0ZmYyMDlhM2Y0MmVmMzdlNWM0M2Y0YzRhZTZiYjc4MCBsZWdhY3ktdHJ1bmsKKzIyNjk2IDI4MTdmMWQzYWRiZTMwM2YwYWEwNTRhMWM4Nzk0YTU3ZTZiOTUxZDkgbGVnYWN5LXRydW5rCisyMjY5NyAxMGI0NGUzYjM5MDU0N2ExNzZmYTQwYWM1NDQzNjg0MTAxMmJiZWViIGxlZ2FjeS10cnVuaworMjI2OTggN2ZiNWYxNTY4NWRkMDZhOTI2OGFiOTRlZDVjNWUwOTEzZGVmNDI3YiBsZWdhY3ktdHJ1bmsKKzIyNjk5IDlhZmQ5ZDVmYjk3YTBiNjBlNmMxNDA2MjA5MzY5NDc4MzVhYmFlZDEgbGVnYWN5LXRydW5rCisyMjcwMCAyNWI5YjYzNGQ5ZTNkMWVhZmY1NzA1MzExOTVjNzE3ZDM5MTAxYmViIGxlZ2FjeS10cnVuaworMjI3MDEgM2I1ZjM0YzViYzZjOTNhMTcwMDgwZDViNDc1NWIyNDg5YzQ1NDNhYiBsZWdhY3ktdHJ1bmsKKzIyNzAyIDZjMmI3YjYyNGVmMjNmMjJkMjg0Nzg1ODc5OGM3ZmI1MDY1MjM4YjEgbGVnYWN5LXRydW5rCisyMjcwMyA4ZjkwZTFmNTBjMTE4MzhmY2FkMDNiZjgwMmZlZTFiOGZjMzQ3NzQxIGxlZ2FjeS10cnVuaworMjI3MDQgNTAwMTljYjc4NGUwZGNlZWIzZGRhMTU0ZjZhYjkwMjM5NzA3NzhiOCBsZWdhY3ktdHJ1bmsKKzIyNzA1IDc1MzM0MTJkYzU4Y2Q2YTlmY2ViZmI2OTkzZDlhNzRkZmM4NGVjZjIgbGVnYWN5LXRydW5rCisyMjcwNiBmN2FhZjcyMWE4MWIzY2ZiNzVjODViYzU2ZjlkOTU5ODc2ZTA0NjM1IGxlZ2FjeS10cnVuaworMjI3MDcgMTM0ZTEzM2Q4YzQ0NWNjNmRhZmM2NTkxZDdiNTdiM2RhM2VmODA3ZCBsZWdhY3ktdHJ1bmsKKzIyNzA4IDBiNjQyZDIyMGIwMmUyZDBkZjg5M2FjMjM4OGRkNzY5YTUxZmI2YWUgbGVnYWN5LXRydW5rCisyMjcwOSA0NWQwZTExNDIxMmU5ODA1MTY0OGJjMWM2OGU5NzgwNmVkNzNkN2ZkIGxlZ2FjeS10cnVuaworMjI3MTAgNGEzMGVjNzk4ZTZjMmViODU4YTA3MGI4NTI0NmE2ODQ0NDE2ZmMzMSBsZWdhY3ktdHJ1bmsKKzIyNzExIDYxZDUzYzA1M2U0MzRlOWVhMDY2MmM1MTNjMjBkMWYyM2M0YmRlZmEgbGVnYWN5LXRydW5rCisyMjcxMiA2ZTZmYzdiNmEzNjAxYmRlNmVmNDgzNzM4YWRmYjYyNGMyNjA4ZDI5IGxlZ2FjeS10cnVuaworMjI3MTMgMGRjZWU5YmNkODEzZTg2MTYwNTI3OGVkOTZlYzE3NDE2N2EwODNmMSBsZWdhY3ktdHJ1bmsKKzIyNzE0IGIzYzkyZjAxMzg2OWYwNjg5ZWZmZDUyY2I1YTAxOTlhYTc5ZDVjOWYgbGVnYWN5LXRydW5rCisyMjcxNSA0NWVhM2I1ZmNiZTU3ODdiMDVjYmVjNjU3NjFmNjVkOGFmYmVhNjA3IGxlZ2FjeS10cnVuaworMjI3MTYgOGQyYjJjYjJmZWJjZjA0ZTk1MTIxZDhhNjhlYmE4YzNmNDAzZjM5MCBsZWdhY3ktdHJ1bmsKKzIyNzE3IDU1M2Q2ODg0MzhjNDM0NTZlYTc0NWU1NDhjZmEyMzQ4MTMyNTkxNDUgbGVnYWN5LXRydW5rCisyMjcxOCBjMzkyYzNlNDlkZDU2ZWQxNDJmZWM2ZWJhY2FhMzE1MDFkMjI2ZmZlIGxlZ2FjeS10cnVuaworMjI3MTkgZjlmNGJkY2JjMjVhYWUzYjg1MmRiNGMxMmM0ODlhMjg3YTAyMTdhMSBsZWdhY3ktdHJ1bmsKKzIyNzIwIGJjNjNhZmM3MDFlZjcwZGE2NWUwZjdkNjk4NmZjMzI4NmI5Y2RlZGEgbGVnYWN5LXRydW5rCisyMjcyMSAwZTcwZGY5ODQyNGVkY2MzNmI4ODgxZmNiMGRhMmZmNDMzYjdiMWE0IGxlZ2FjeS10cnVuaworMjI3MjIgZTFjOTFhYzU1Y2NhODA0Y2U3ZDEyOTIzYjQ1ODM2N2U0MjNlNDRkNiBsZWdhY3ktdHJ1bmsKKzIyNzIzIDY3YjMyNWNlMDIyNmQ0MGFmMTAxMjRkYmEzOTU2ZmZlMWQyMzA3MjcgbGVnYWN5LXRydW5rCisyMjcyNCA0Nzk2YTY3YTk5OGI5OTBjYjgyMzM3OGI4ZDdlMWUxY2RjZjFlZDM1IGxlZ2FjeS10cnVuaworMjI3MjUgOTg0ZmZhMTI0NjA2MDliOTkyN2MxYjk3NzE1MzIyNDM3ODYzNzIyNSBsZWdhY3ktdHJ1bmsKKzIyNzI2IDc3ZmVhOGZhMWYxNjQzMWMzOWZlZTcyZGZjNDdiZGFjYzFlZmFjYjkgbGVnYWN5LXRydW5rCisyMjcyNyA5M2NiNWVjNDQwMTc5OGQ1MjNhNjgxZjJhYmQ2NTBmZjAzMWEyNzY4IGxlZ2FjeS10cnVuaworMjI3MjggYzE3MWIwN2JmNmE5ZThkZWVmY2Q5N2FjZmE2Yzk5NmFhYThjMDBlNyBsZWdhY3ktdHJ1bmsKKzIyNzI5IGRlOTc3ZDc2MjdlYmZmYzE5MTcxMjA2Y2E0MTUwMmVlYzY1MWJjZjIgbGVnYWN5LXRydW5rCisyMjczMCAwMDNhMGZlOWMzNTAzZWVkMDZhZTU4OWE0NzUzNGE2YWViYzhjZmJjIGxlZ2FjeS10cnVuaworMjI3MzEgNWM4NTlkMmNiMzdiZGM1MDY5NjUyY2E4MzQwYjMzYjBhNDg3Y2ZhZSBsZWdhY3ktdHJ1bmsKKzIyNzMyIDNlNjhlMWEwMmFkMjA4YWRkOGYzM2JhY2MyZDcwMjBiZjRjNjIwMTggbGVnYWN5LXRydW5rCisyMjczMyA0MmIyZjE5MzYyNTQ2ZWQzYjgxNTE3ZmJkYjczODFkMjYwNmViMjBlIGxlZ2FjeS10cnVuaworMjI3MzQgM2U3NDMxOGExYjc2M2JkYjRiMTRiMzg4MjY2MDEzNmI3ZGIwOThmZiBsZWdhY3ktdHJ1bmsKKzIyNzM1IGM2Mzg1MDM4ZGUzOWFmZTVjNzEyNjI2YmQxODE0YjcwNmU4MWU1OGEgbGVnYWN5LXRydW5rCisyMjczNiBjMWFjNWY4MjdiYzI2MzAwM2M2YzJmNThlNGNhYjMzNmJhYzBiMDMzIGxlZ2FjeS10cnVuaworMjI3MzcgZDc5YjUxODY3Y2RiNTE5MDFhNWVkMTI0ZjkzZWNmYzAzZTU0NjRhMCBsZWdhY3ktdHJ1bmsKKzIyNzM4IDU2YjUwZTRkNjg3ZWJhNTEyM2RkOTAxNDliODQwOWZhNmUxNDQwMzIgbGVnYWN5LXRydW5rCisyMjczOSA2NzM0YzgwNjUxMTQ4ZjVhMDg1NWFmNjhkN2U3ZGRkODM2YjUxYzE1IGxlZ2FjeS10cnVuaworMjI3NDAgNDM1NGJhNDczNWEwOTY3NzYxNDRjODY3OTIxYmUyNzVhZGJlOTg0NSBsZWdhY3ktdHJ1bmsKKzIyNzQxIDYxNzU1NTU3OTYxMWZhM2JiMjU3Njk5MGZlNzMyYTE4OWI0MjNhM2YgbGVnYWN5LXRydW5rCisyMjc0MiA1NDdiNmVmMTEwOGM4NDk0NzlkOTA2YTM0YmFkZmIxZWNmYWE0MTUwIGxlZ2FjeS10cnVuaworMjI3NDMgZmM1Yzc1ODA3ZTE5NTJjYjZkZTk2MjIyYjAyN2NkOWY4NTk2MTVjZCBsZWdhY3ktdHJ1bmsKKzIyNzQ0IDA3ODI5MmJmOTRjYzcyMTBhNzVhZWVkMDRkNDI4NDA4YjViZmE1MGEgbGVnYWN5LXRydW5rCisyMjc0NSBkMGNlMDQ2MGY0YTdjNjFhZGQ0ODRiYjVlYmE3YmEwYWE3OWQ4ZDI2IGxlZ2FjeS10cnVuaworMjI3NDYgY2U0ZjFlOThiYTdlNDM2OWIzZWM5MDZlOTNhNzgzZjhhYzY2MzdjYyBsZWdhY3ktdHJ1bmsKKzIyNzQ3IDYyYmY5NDAxYTFhY2ZkZGZiOWVjOWU0ZTUzM2M4MGJiZDFmNWZmMTggbGVnYWN5LXRydW5rCisyMjc0OCAxN2IyYWZiYTdhNmZiMDRhMzEyMWUyNDE2Yzk5OWU3MGViZDk0YWM0IGxlZ2FjeS10cnVuaworMjI3NDkgNTk5MzFkYjU3MmIyNDQ5YTg4MjczNTRiMGZkMWJiZGMzYjlhYTdhMSBsZWdhY3ktdHJ1bmsKKzIyNzUwIGZlZmU5NTMxOWYyNGIwZDIyMjIwZjAyM2M4NDViMjIwY2IzNjk3MzYgbGVnYWN5LXRydW5rCisyMjc1MSA4NzYyODAzMGFkNzVkNjg3YmZkZTQ5Njg1YjU5ZDk3OTgzNWEwYzc3IGxlZ2FjeS10cnVuaworMjI3NTIgMDc2YWI4Y2I0NTFlYTAyMzc2OWNjMGE2MzFlZjhjNmZlNjE5OGE2OSBsZWdhY3ktdHJ1bmsKKzIyNzUzIGRiYmEyY2E3ZGMxZTVkNGQzNmVkYjk5ZGFjZDVlYWM0MDU1NjAwNGEgbGVnYWN5LXRydW5rCisyMjc1NCAzMzRmNDE3ODQ3N2FhNzc3MjE2OTFjNDRjMzAyYzdkZWE3MzI2NzU0IGxlZ2FjeS10cnVuaworMjI3NTUgY2UzMTliODJhOGU0ZGQ5ZDMyZmMyNjUyNmVlZTdkOWE3ZDA5YmQ4YSBsZWdhY3ktdHJ1bmsKKzIyNzU2IDVjZjkyNDFkMzViMDlhOWIwZGRmYzNkOTI5ZWRlN2M3M2EyZGNiOGYgbGVnYWN5LXRydW5rCisyMjc1NyBjYzAyMzQxZGVkZTQ3ZTA1OGQ1ZDY0NzcxNDJkZTdmZmI3MGFmYTRhIGxlZ2FjeS10cnVuaworMjI3NTggMjQ0ODBhNmQyN2M0ZDQ3OTM1Yzk0NGNkMTA5YzM1YzcwMGZlZDc1MyBsZWdhY3ktdHJ1bmsKKzIyNzU5IGIxYWNiY2Y3ZDU4Njg0MjZjZWNmYjQwZjg5NjhlNTE2OTQ3NTVlNjkgbGVnYWN5LXRydW5rCisyMjc2MCA1NDZlZjMxOGJhNWRjZDRhNzNiOWQ3N2E4Yjg1MzZjYmI0MDk2MGViIGxlZ2FjeS10cnVuaworMjI3NjEgNGFlYzljYjdmZTVkOWQ1ODMzMjAwNWNiNTU4MDllNDdkNzVlYmM2NiBsZWdhY3ktdHJ1bmsKKzIyNzYyIDFhNmNmMzI1MTQxZTBkOTU1ZjIwZmZlZTIyNWI0ODFjNTkxMTQzNGQgbGVnYWN5LXRydW5rCisyMjc2MyBmYmIzNTI2OGZlZDRmODc4YjFlY2E4MjM0Yzc5ZDA1YTZhN2JlMGM4IGxlZ2FjeS10cnVuaworMjI3NjQgOTllOTUzYzY3MDljZWVmNDcxOGIzZTIxNzI3NTQ3NTNlYzg2MGY3ZiBsZWdhY3ktdHJ1bmsKKzIyNzY1IGMwYzVmZTc5MDJjZjI3MWMyNjE0Yzc0NGViOTIwZWQ5ZGQwZjc0ZWUgbGVnYWN5LXRydW5rCisyMjc2NiA0MTJkMGViNWQ0YmE1MjE0MjZkODI0YTRlMTliOTRhNDc4ZGYzMTE0IGxlZ2FjeS10cnVuaworMjI3NjcgYTA4NDdiN2E4OTAyOGM3NjYxNWY4MGIxYjI5ZTdjNjYzMjVkODYwZSBsZWdhY3ktdHJ1bmsKKzIyNzY4IDNhOTAyMTFhMDI5NThmZWFlNDg3ZTMwM2U5NWRhZDllMjZiNTFkYjIgbGVnYWN5LXRydW5rCisyMjc2OSBhYjE5NGYxZjA1M2I2NmZkZjg2Y2ZjYmFmZjgzY2I3OWUxZTNiZmIxIGxlZ2FjeS10cnVuaworMjI3NzAgZjNlYzU0ODg5MDhiM2M0OTlkODYwMDIwMzcyMmRiYmRiYTgwZjBkOSBsZWdhY3ktdHJ1bmsKKzIyNzcxIDQ0MzNlYmE3MzllN2YxNmE3YzBkZjAxMjMwMjlmOWQ1NWNhNDgwM2YgbGVnYWN5LXRydW5rCisyMjc3MiBlYzUxZTEwYTYyMjljNmVjMTYyOTdkZTJmNWVkNTE4MmU1ODMyMmY5IGxlZ2FjeS10cnVuaworMjI3NzMgOTZhMGJiM2E4NTIxYTFiNmI1OTgyMzdlNDg3ZDA5NzA2YWVkNGE4MSBsZWdhY3ktdHJ1bmsKKzIyNzc0IGRkOGQ2MTUzYThjNjVkYjhlMWM0NzVjNTQ0OTg4ZmQ4MWM3MWMxZmEgbGVnYWN5LXRydW5rCisyMjc3NSBlZGU3ZmNiOGIwYjIzNzcxZjcxODBmYThjZDM4Yjk3NmJkYWVmMjk3IGxlZ2FjeS10cnVuaworMjI3NzYgZGVhY2Q2MDI3MmJlMzI0N2JmMDg2ZDdkMDVmMmIyN2RiYzVmZjRkMCBsZWdhY3ktdHJ1bmsKKzIyNzc3IDIwMmQ4ZGQ2NWViNWIyZmY0ZjcwYzk3ZjMwZTRhNDc3YTk2NTQ3ZDcgbGVnYWN5LXRydW5rCisyMjc3OCAzZTc4OTc4MjI0NTk3ZjQxNjEzMDk4NjE1NWY1YWEyODNlZGRlMzE5IGxlZ2FjeS10cnVuaworMjI3NzkgZGUxMDE1MWE3ZjYzZWRiZDE5ZjQ4NWFhNWFmMGYzYTQ0NTMzYjEzZCBsZWdhY3ktdHJ1bmsKKzIyNzgwIDk3NTM2MDhlMmQ1N2EzZDNjODA3MmMxYzQzMDViYTNhY2RjZGUxOTUgbGVnYWN5LXRydW5rCisyMjc4MSBjZjllMzQxODg3NjNjMDIxNDUyM2M3OTA4OWZiZTIzMzgzMjBlMDVkIGxlZ2FjeS10cnVuaworMjI3ODIgNDdmYTRhYzA0MmQ3ZjBlMzJlODEyOTZjYWU2MWQzZGRhODRlN2Y5YyBsZWdhY3ktdHJ1bmsKKzIyNzgzIGI0YTNmYzE0NzkyOTRiNDM5M2M0MWE1ZTE1YWI1ODE3Nzk0MjE1NzcgbGVnYWN5LXRydW5rCisyMjc4NCA3MmQ5YjdjMGQyMTFkYjc2OTViMzc3YjdiNzMyNjM2MTg4NjYxZThhIGxlZ2FjeS10cnVuaworMjI3ODUgZTE0MWIzOTJiNjFkZDJiNDNlNTY1N2Y3ZmQyYjgxOTE5ODQ5OTc2MiBsZWdhY3ktdHJ1bmsKKzIyNzg2IDNlMTBjMDg3NDAxY2ZjY2ViNWQwZTAwY2VmMTAwNzIwNTNkM2YxNDYgbGVnYWN5LXRydW5rCisyMjc4NyAyZDI1MTZlMzcyOTkzMTJjYTc0NjRjZmQ5NWMwZjlhMjdkZjBiMTNhIGxlZ2FjeS10cnVuaworMjI3ODggMWNkODc2NDIzNTljYTU5NTI5Zjg5MzVmMTk0YjM5YmRiODJhZDkyNCBsZWdhY3ktdHJ1bmsKKzIyNzg5IGQ3MTFlODJlY2UyMzMyZjEwMTk5NWVmN2MwODc5MTlhODI0NDQ2OGIgbGVnYWN5LXRydW5rCisyMjc5MCA4NTYwNWM5MzY1MmI1YTRlMDNhYjIwZWYwNGNkZTI1M2VkMGY4ZTYxIGxlZ2FjeS10cnVuaworMjI3OTEgNDc3YjZkZGQ0MjQyNWY2MmQwODM2ZTY2N2Q0NDZiOTExNzNlMDkxZiBsZWdhY3ktdHJ1bmsKKzIyNzkyIDdlNjI4ZjYwMjQ1ZTliMmQzYjBlZmRjNDc2MDIyZmYyNzBiOTQzZDggbGVnYWN5LXRydW5rCisyMjc5MyBkYTVlZWJiZmU0MWRhNWY3NThiZmQ0ZDNlZWZjZDkzODUwMjY1MTNmIGxlZ2FjeS10cnVuaworMjI3OTQgMTFhNzU4YzU2MDI3OTBmNjkzNGEzMDI3ZmEwZmE1NTM0MjE1NTBlOSBsZWdhY3ktdHJ1bmsKKzIyNzk1IDE5ZDI3MWYyOTdkYzc1OGNlMzdlNzUwNjZlZjA5MmQ1ZTE2Mjg3Y2QgbGVnYWN5LXRydW5rCisyMjc5NiAwMWE2OTAxY2QzMDVlMjllYWM3MmU1MmUyYTc3NjFhYTNlOTdiZGQ5IGxlZ2FjeS10cnVuaworMjI3OTcgNmMzMGQyMGQyN2YyY2NhOGFhYTVlOTI1YmE4ZTUyMTljOTY3MmE4YiBsZWdhY3ktdHJ1bmsKKzIyNzk4IDdiMzlkOTE0MjRhMmFmMGM5ZjEyZjY1MDcwZjgxZTM4OWViY2Y4NDQgbGVnYWN5LXRydW5rCisyMjc5OSBkZGM0YzJmNWVmYmM5NTk4YzVhODFkODdlZjAyYjYxMmViNjVhM2MxIGxlZ2FjeS10cnVuaworMjI4MDAgZWE3NmRlYTY0NDBmOTc4NTc2OWJjNDQzZTEzYTcyODcyZmQ1Nzk4NCBsZWdhY3ktdHJ1bmsKKzIyODAxIDM3ZTBiMGZjY2E1NDBmNjdiMzgxNjllNWFkNTRlYWE3ODllZTUzYmEgbGVnYWN5LXRydW5rCisyMjgwMiAyYzJjYzMxYmRmMTUzYWM2NzA1YzJjZTQ0NTljMmFjMzUxMDllZmVlIGxlZ2FjeS10cnVuaworMjI4MDMgMDIyNTFiMDQ4YmJiZjE5MmNiMDY2MDdlNDQwNGQ4N2U3NjgwODUwMSBsZWdhY3ktdHJ1bmsKKzIyODA0IDE4NDlmNDlhYTZmODY2NWZiOThlN2YxMDI4OGZkYzQ0MDIyYWMxY2IgbGVnYWN5LXRydW5rCisyMjgwNSAwNzM4OGE2YTU1MjZiOTVhNDQyM2ZhMDNkZDczMzQ5NDQ2N2NiOTQwIGxlZ2FjeS10cnVuaworMjI4MDYgODExNjhlZjRjYjY1OGJmNWNmZjQ3OWIxMzRlMGI2OWFlOWU0OTBkOSBsZWdhY3ktdHJ1bmsKKzIyODA3IDQ5YmI0MWE2OWRmYzM4ZWJjNmM0YTc4MDkwMzAwMDkzY2Q3MzJlM2IgbGVnYWN5LXRydW5rCisyMjgwOCBkOWVjYjIxNzAzNTRmNTYyZGZhNmJjYmRlOGU5MjM2NmViMWYyZmE5IGxlZ2FjeS10cnVuaworMjI4MDkgMzgxMTU4MGZkYzM3M2NjZDcyZDhlY2ZjOTRmNDRlZjUxN2U2OTI4NCBsZWdhY3ktdHJ1bmsKKzIyODEwIDNmYTI5Y2Y3MzE5ZDQ4NDUwNTY4ZGQ5ZjVjMjliZjMwMWI2OThiNjUgbGVnYWN5LXRydW5rCisyMjgxMSA4NTZlM2ZhMTRjYmE2OGZmODQzZDA2ZDk4MzljZWEwMjliZDY3ZTM4IGxlZ2FjeS10cnVuaworMjI4MTIgYjk4ZTQzNDYyNTdiZmJjMzdjMThmODMxMDliMGE5Yzc2NzUwNmQ5OCBsZWdhY3ktdHJ1bmsKKzIyODEzIGIwZjUyNzhhMmFiNDM3ZjJkMTE2NzlmZTUxODRiYzMyNTY3ZjFiNjEgbGVnYWN5LXRydW5rCisyMjgxNCBjZWE3ZmVhMTc0MmI0MDM4NDE2MzU0YjAyZjM0YjcxNjEyZjE5NjcyIGxlZ2FjeS10cnVuaworMjI4MTUgOWRhNjhjMDM3OWFiYjliYmViNWIxZmRiOTFhZTUyZDAxNzQxNTMzYiBsZWdhY3ktdHJ1bmsKKzIyODE2IGM0ODVkNzczNzZmYTQwNzUwNjA4ZjM1M2M1NzdmMzQ1ODJlYWU3MTMgbGVnYWN5LXRydW5rCisyMjgxNyA0NzZlYjdkY2VlZWMyNDk3ZDRiMTdmMmIwZTBiNzI2MjRjMzhiMTEwIGxlZ2FjeS10cnVuaworMjI4MTggNzI1NzYyY2EyNzc0OWFkNmVhOTdjMzc1OWE4NDkyYWQ5N2FmMWRmZCBsZWdhY3ktdHJ1bmsKKzIyODE5IDI2NTg4ZDcwMzUzMDhmMTBjMzk1NDBmNDMyOGM2YThkNTYxZTU2NmQgbGVnYWN5LXRydW5rCisyMjgyMCA3ZWRjMmZjZTFmODgxNTc0ODI4ZWQ4ZGVhYWZkNGJkNGZjZGM5YjJjIGxlZ2FjeS10cnVuaworMjI4MjEgYjY3MzA5NDA3Y2ZjODg1NGMxMzQwZjAwYzI0NThkMTZmN2NmZmZjZiBsZWdhY3ktdHJ1bmsKKzIyODIyIGZiZDQ5ZDE3MTdjNGMyODM4YWRjZWFhMzVhZmZjZmM5ZmFlNjFhYmYgbGVnYWN5LXRydW5rCisyMjgyMyBmNmY5MzQxOWJmYjY4MDIzY2MyNGI4MGZlZTBmMGZlMzQwNzczODhmIGxlZ2FjeS10cnVuaworMjI4MjQgNDNkZGM0NmM1YTk5Njc4Yzc5MDJlMjZlODNkZGE1MjY5NjM3MGNlZCBsZWdhY3ktdHJ1bmsKKzIyODI1IGRjMjc4MzljMGI4MGZhYjFlZjBhMzA3OGFmZjcyZTU0MzgwZDg4NDkgbGVnYWN5LXRydW5rCisyMjgyNiBmZDQ4YTU1YWMzNjRmZTMwN2ZhYzI2YTc4NmJhODQxM2I0MWJkZDk3IGxlZ2FjeS10cnVuaworMjI4MjcgMTNhOTNhNWRjYjFkZTY3ZTcyYjYyYjQyYWJjZmY0ZGQ4MDlhYmQ4MCBsZWdhY3ktdHJ1bmsKKzIyODI4IDQ0YTYyZTNiNzA2ZjkyN2YyYWIzMDE2YjQ5YjI0ZWVkMmRjN2ZiNjggbGVnYWN5LXRydW5rCisyMjgyOSBjMGNmMWEyNGZjMTNkZDlkOTMxNDQ3ZTMyMmJmMjZmZDVjMmI4YjM2IGxlZ2FjeS10cnVuaworMjI4MzAgYzQzZDdhOGYwMGE0NTk1YWEwMDJmZTYyY2U0ZWI2ZDM0YmFlNjkwNCBsZWdhY3ktdHJ1bmsKKzIyODMxIGM1OWYwNmYzOGE0NjhmOTgwM2UwZTdhMWRkZTM2NDliNzNkMTY4MjQgbGVnYWN5LXRydW5rCisyMjgzMiA1MDA5ZmE2ZGRmZWIzMjI4Njc1YjU2MWI1NTg3ZjE3OWExYjUwMmU4IGxlZ2FjeS10cnVuaworMjI4MzMgMmZlMDg5MThmYWM2NjdjOWYwZTBhMTFmNmQ3YzcyNmYxNGQ4ZDcxZiBsZWdhY3ktdHJ1bmsKKzIyODM0IDg0NDU1MzQ3M2ZhNDY2OGYwMzRhOWQ4MTJkY2E0ZTI5Mjc1Y2VjMDIgbGVnYWN5LXRydW5rCisyMjgzNSBiZjJjNzc4NDBmMWNjNmZmYjA4NzJhMTk1ODhhNjcxNjJmMTc0YTkxIGxlZ2FjeS10cnVuaworMjI4MzYgNDdlMGMwZmRkNGM4YTAwNzk3YmM3YTdmZTVmZTI1YzlhMjIyYmQwNiBsZWdhY3ktdHJ1bmsKKzIyODM3IDg1NzY1ZTYxZGViMGMzMWQ4M2Q0MGRkNTkwMjJjMGEyMjdhNzA2N2UgbGVnYWN5LXRydW5rCisyMjgzOCBhODBiNGIwMDZlYjdjZjMzZjgzODJiMjFiM2IzNjkxNTFiN2IxMDYwIGxlZ2FjeS10cnVuaworMjI4MzkgYzQ4NjU0OTU5ZGM0NmZkMDE0OWU5MTNiZGJlMGVjMGIyMWJkZDUxOCBsZWdhY3ktdHJ1bmsKKzIyODQwIGRiMzZlMzk2ZjA0MzE3MjJhYTZiMDAzMmFlOWUyNzA2NjM2ZTlkNzkgbGVnYWN5LXRydW5rCisyMjg0MSAxYmUxOGVmODY5YTQ3ODg5MzczZGEzMjE5OWI0NGNmYzc5NzE3NThhIGxlZ2FjeS10cnVuaworMjI4NDIgYmJkZjg2ZjM1OGU5NTU4ODhiNDA0ZDdkNTFkNTQwYzc5MTllMGU0YiBsZWdhY3ktdHJ1bmsKKzIyODQzIDA2NjMxNTQ0Nzk0MTZiMDk3YjRmZDUyYWRkMjZhZDJkYjgzMDZlMjkgbGVnYWN5LXRydW5rCisyMjg0NCAwMGRlNzE5YWU4MzE5Nzc5NGI1NWZiOWM1YWYwMjQ4ZDE1M2JjMmVjIGxlZ2FjeS10cnVuaworMjI4NDUgMWNlY2U3NDNhNzA4NDNhYzMzMWZiYmI2ZGFkYzVmZWRkN2UyYzgzZiBsZWdhY3ktdHJ1bmsKKzIyODQ2IDA0ZmQzODY5YzZiYmViMjA1ZDExOTFkNzExZGQ5NmM3NWJmMmUyYzEgbGVnYWN5LXRydW5rCisyMjg0NyA5MDRiMmY5ODExYTI5MTJlZGQ1YWY1NTZhMTkxMzU1NDRjZDBkZThmIGxlZ2FjeS10cnVuaworMjI4NDggNWQ5NzM0NDhlNjkxZGYzMzg1NGViNDZjZjIxZTdhZTIxZWE1ZTFjZiBsZWdhY3ktdHJ1bmsKKzIyODQ5IDRhYzlhNDRjN2U0NzhjOWY5YjhmMWZhYTk2MmE5MDM3MGYzYTkxNzEgbGVnYWN5LXRydW5rCisyMjg1MCAxMGJmNGJlZDUwOTZmODRiMTczMTRkZTA1MGE3YWU5NjZiOTVjOTY2IGxlZ2FjeS10cnVuaworMjI4NTEgNmQ1YWMzYzQzNDE2MzRmNjE0NmQyYWI5ZDIyYjdmYzcxMzY1NzIzZiBsZWdhY3ktdHJ1bmsKKzIyODUyIDQzZmU5Mzc3ZTJjZjYwMzY1NmQ1MTRiMzljMmIyODljNmNlMWY4MTkgbGVnYWN5LXRydW5rCisyMjg1MyA2YmViYThiNmY2MGFkZDk2YjBhNmVkODk1M2QwYTAzYTg0NjFlOWVhIGxlZ2FjeS10cnVuaworMjI4NTQgYjRlOTE4NjEyZGM5NzUwYmVlMzhkMWExNzk3NmE3Njc0NDFlNzIyYiBsZWdhY3ktdHJ1bmsKKzIyODU1IGM3NzNkYWE0NDg0MDZlOGM5NGRkOWRiNGFmNjZkZmYzMjlmMzI4MWEgbGVnYWN5LXRydW5rCisyMjg1NiA4ZjAzNTgwMGEzNzNkNzZjOTk2NmZkNzJmZjA3NmMzYzY4YmZjMmNkIGxlZ2FjeS10cnVuaworMjI4NTcgYzM5NmFmZWYxYWE5MjMyOWE0MWU3MDgzMWQ0ZTlkMjMzNWUyNDUwZSBsZWdhY3ktdHJ1bmsKKzIyODU4IGY3Y2Y4OTYxYzY2NzhlNDBlM2Q1NGUzMGQ0ZjZjNjkyNzE2Yjc2NTQgbGVnYWN5LXRydW5rCisyMjg1OSBmNGE4OTllN2VjOTNhZjA1NjhiNmIyNjI3YTdlNmE3NzZjZTE1ODI4IGxlZ2FjeS10cnVuaworMjI4NjAgMjUzYWFhMWVkY2JkMTgwNTNiMmFiMTRjYjJjMGI4ZDY4ZmNhOWRkZSBsZWdhY3ktdHJ1bmsKKzIyODYxIDMzN2I1MzY3OWM3MzQ4OWQ5NTI4ZTExNGExNmQ2ODhlNjI0ODMyZWUgbGVnYWN5LXRydW5rCisyMjg2MiBiNzMwMTA3ZGJkMTM3NTJhMGZjOTc3MzAxNTBmZDAwNTA4YzI5ODEyIGxlZ2FjeS10cnVuaworMjI4NjMgYTg4NWQ4NzYxYmQyOTA1MDBmNGFhZmQ0N2Q3YWQ5ZDg4YjU0Mzg5YyBsZWdhY3ktdHJ1bmsKKzIyODY0IDU2NjNiODgzZWE1ZDk5OWI2MTg0NzZlOGI4MGI3YTAzY2E4M2UxOTcgbGVnYWN5LXRydW5rCisyMjg2NSBiNzA2YzAyN2MzYzBjYTE0MjVkNDkxNjIxMDkzY2QzODNkMGIwZDI5IGxlZ2FjeS10cnVuaworMjI4NjYgMGJlYzY5OTc4M2QwMDliZGMyYTM0ZjgyYjY2MWFmNTU1OWZkODc1YSBsZWdhY3ktdHJ1bmsKKzIyODY3IDFhYzExMGU5MDVjMmYyNWU0YTQ5NWE5Y2JhMDBiMGI0MDNiYjYyZDcgbGVnYWN5LXRydW5rCisyMjg2OCAzOGE2ZGRmZjg2NmYxNzg2ZTU2NDRlMjA1NTM4YzA0YmMwZjAzNmFlIGxlZ2FjeS10cnVuaworMjI4NjkgMGY1MTQ2NWY5ZjMzNDBjNjlkMTI2NDMzNTEzNTU0MjYwN2UwZjkyZSBsZWdhY3ktdHJ1bmsKKzIyODcwIGQxMDY1M2U3MWNmZTA0MjIwNWMzNjgwYmIyODdiY2VkYWQwYmQ2MzIgbGVnYWN5LXRydW5rCisyMjg3MSBmMDliZTY0MWM3YTNhMWIxOTJkZGQyYWNlN2NmMDFiYzZmZjk1ODg2IGxlZ2FjeS10cnVuaworMjI4NzIgNTQ1MDgwZTMwNjI3Y2RjYjBlY2VjMDQwMTM4MDIyODJmMjkxYjc4YiBsZWdhY3ktdHJ1bmsKKzIyODczIGVmMmNmOTk0M2FjZGE3ZWVkMmM0MmM3ZDBiYzc5MjcwNTFmMjQ4NzcgbGVnYWN5LXRydW5rCisyMjg3NCA0M2NkMGI0ZTcyNjFmZDgxMGY4ZjNiOTkxZDM2ZTI0YTA4M2YyN2M2IGxlZ2FjeS10cnVuaworMjI4NzUgYWUwNTZmMTE0OTc0OTY1NTNlODg5N2QzYmIyMjk4ZmQ0MDIyMzAwMCBsZWdhY3ktdHJ1bmsKKzIyODc2IGFkMGNjZTRhNWRlMWY3OGEyMDkzZmFiY2NiZjNlMTkzNmZhZmEzNmQgbGVnYWN5LXRydW5rCisyMjg3NyAyMGZiNzU5MWY4ODU1OWMwYTY5NjU1MjAyMDQ5MjYyNDllZGU1YWMxIGxlZ2FjeS10cnVuaworMjI4NzggYzBhNDQ4MjliY2Q1ZmYyNjExNWYxYjk1YTc3N2NiNDAxZDdlMmYzMCBsZWdhY3ktdHJ1bmsKKzIyODc5IGNmMTkxOWVhOTRjMjhhMmYxZDNkOTg0MGM4NmI2NDdjODczYzEyNjggbGVnYWN5LXRydW5rCisyMjg4MCBmNWNkZTdlZWI2ZDc3ZGE2OWZiZjU4NzNjNTYwMDNjY2I4MGI1MDM5IGxlZ2FjeS10cnVuaworMjI4ODEgNzFkNDVmMzE0ZDkwYWUzNTJlZjE2ZTM4MjliMzNhOGQzMDk1NGEyMSBsZWdhY3ktdHJ1bmsKKzIyODgyIDA4YWJlZTJhMzk4ZWZhNTRlZjQ2YTk4ZDQ2MTk1NTk2NTVkMGMxNDQgbGVnYWN5LXRydW5rCisyMjg4MyA0MGZlYWVkYjc4NjdlMzRjNzc4ZjZmN2JjYmYwZDhiZjIyYmRjNGJkIGxlZ2FjeS10cnVuaworMjI4ODQgNjBmMjkwYTdlYWU4YzE0ODliM2Y3ZDgyNmE5NjgxMmUyY2VhNWM5NiBsZWdhY3ktdHJ1bmsKKzIyODg1IGY0YWYyN2NiMjYzMjQwYTBhMjFlMmUyNzQ3NWVkODQ3ZTFjYWNjMjMgbGVnYWN5LXRydW5rCisyMjg4NiBjOTY0N2ZhNzhmMDUyZjNlZjBiNTNiYWVlZjM1MDFmMDU2MTAxMjM2IGxlZ2FjeS10cnVuaworMjI4ODcgZTAzY2UyZDY1NTg1NTdhMjk0MmRhZTI2MjgwODY5Y2UyZGUxZGM5YyBsZWdhY3ktdHJ1bmsKKzIyODg4IGIxYjA0NzljOTEwNmQ1ZWQ3M2FmZmZjNTFiZTZhMTU5NGMyY2M5YjYgbGVnYWN5LXRydW5rCisyMjg4OSA5MmRmNjg0NTEyMGQ2NDYxODM3OWVmYzlkNjc3NTRkZmE4ZDU0NGExIGxlZ2FjeS10cnVuaworMjI4OTAgZDU1Yjc1YWMyZmI0ODgzMTY1ZjQ4NTAwMTk3NWZjZjU4ZWRhNGRkZCBsZWdhY3ktdHJ1bmsKKzIyODkxIDc5NzQwOWQ5NzAyMjQ1YTM5YjM3YzQxNWE4OGFkZWZjNjc1NjBiMTEgbGVnYWN5LXRydW5rCisyMjg5MiAwMWRhZThhMDNmODYzNzYyMDZjODRmZDZiZWFkYTZmYWYxMTM3OGQyIGxlZ2FjeS10cnVuaworMjI4OTMgYTNjMDQ1ZmE0OWY1MGNhOTU3ZTM4NTlhYjA3NzVkOWIwNzhkOWNjMiBsZWdhY3ktdHJ1bmsKKzIyODk0IGE0ZmVlZmNlMGNlODQ5NjlhYzQ5NTc0ZjFlNzIxMDcyMzNmZjYxZWEgbGVnYWN5LXRydW5rCisyMjg5NSBkNGIzYjhlMjM1NDRiOGY0ZGVmODJiNzZhOWI4OTBjNGY0NmEwOGRjIGxlZ2FjeS10cnVuaworMjI4OTYgYjM5ZTU2ZGZlMzVkMmI5OTQ0ZTQyMWZmMWRmNjhlOGIxMmNlYjYyMSBsZWdhY3ktdHJ1bmsKKzIyODk3IGRlMGYwMzUyMDVlZjlhMzQ3YzNiNDY3NmM4ODU3OGRlMmNhYzU5MzggbGVnYWN5LXRydW5rCisyMjg5OCA3OWUyMzI3ZTUxZDYxMzZkOGQyMmY2ZWYzNWRlZmEyOGM5NWNmZTBhIGxlZ2FjeS10cnVuaworMjI4OTkgNmI4MWY5ZTlkODYwMGEyODRmZWEzYzJlODM4ZTFlZWQzZjAzYmFkOCBsZWdhY3ktdHJ1bmsKKzIyOTAwIDkyZDBmYWM4YTE2OTM0ZjU5ZTIyMjU4N2M1MWIzMzI2ZTY4YzIxNGUgbGVnYWN5LXRydW5rCisyMjkwMSA1NzVmNTBjZWNlYmExODMxYTk4OTIwZjQyMzdmYzgwMWQyNDU0OWRkIGxlZ2FjeS10cnVuaworMjI5MDIgOTM3OTY1NTE2YjU0NzJmMjlmNGY0NTY4Yjk4MmQ5YmQwZTQ1NTU4OCBsZWdhY3ktdHJ1bmsKKzIyOTAzIDJmYTYxNWRmYzQ2NGM4MGUyNjM0MGE2NGJhODhiNjBkNmRjMWRkMzggbGVnYWN5LXRydW5rCisyMjkwNCA4MGJlYmM1Mzg5ZmQwZDE4YmY1NzE1YzExYmM0YjY0NzNhMDI5ODZkIGxlZ2FjeS10cnVuaworMjI5MDUgYjRlZGNlOWQ2ZTk5MGVjNGU5MTU2M2ZkYTZmNjE4YTlkNTc2Mzk2ZiBsZWdhY3ktdHJ1bmsKKzIyOTA2IDg0YmUwY2FiNjNhODg0YjQ2YjBhMjc2ZmU3Y2FkZGYyODU1ZmRmZWUgbGVnYWN5LXRydW5rCisyMjkwNyA3ODBlNzQxNTg1ZTEwZTI2YzU2ZDExZjhiZmMxYmIzNjdhZjg2ODMxIGxlZ2FjeS10cnVuaworMjI5MDggOGY4ZTk3MTEzMmI4NjczODQ2NTQyNzE0MzBhNDcyNjRlZTI5ZDE5MSBsZWdhY3ktdHJ1bmsKKzIyOTA5IGVjN2EyYTZjZGJlOWM0ODZhN2E2ODkxNGI4MzBmNjViMGYwMDM1N2EgbGVnYWN5LXRydW5rCisyMjkxMCAwOGMzYzllZGQ5OWJiMGJhMWU0ODA4MWFiYzQwZmU4YzA3NDdmMmFmIGxlZ2FjeS10cnVuaworMjI5MTEgY2Y2NWViZjg3NTYwOTEzMWU4YzkzZTYzMmM2NWQxMzhhODVkNTVkOSBsZWdhY3ktdHJ1bmsKKzIyOTEyIDhkMzU4YzI0ZGNmYmIxMDQzYTk3MGE4ZmExMWI3ZGRjMTZlZmI5ODMgbGVnYWN5LXRydW5rCisyMjkxMyBjYzYwNGI3MTAzNmM0ZmY4YzJkMjEzYjQ4ZWJjYzg2Mjc1OTA5Yzc4IGxlZ2FjeS10cnVuaworMjI5MTQgODdlOGZjMGE5ODYyYjU1MzljN2YyYTZmMjdiMTYxM2M0ZjQ5Njc3OSBsZWdhY3ktdHJ1bmsKKzIyOTE1IDc4Y2ZiOTkzZjI3NDE5MDZkNzQxODdmMGYzNjUyODRkOTE3YzY5MmQgbGVnYWN5LXRydW5rCisyMjkxNiA3ZGYzMDBkMjg0YzZhYTAyM2YzYjNmZjI1MDgzMDg1Y2UwNjg4YWY2IGxlZ2FjeS10cnVuaworMjI5MTcgMzU4NDU1MGE2MjJhZDU5YTY5MmVhZTgyOTJhZTE5Y2JiYzdmZDQwYSBsZWdhY3ktdHJ1bmsKKzIyOTE4IGIzMjcxMjk3Yjk4NGVhNDliNjkzNjE0ZGVhY2I4NGI1Nzc4Y2JiYzcgbGVnYWN5LXRydW5rCisyMjkxOSA3MTUyNDQxMDhmYWEwZjc3MThiZTliNTg2MGZjYjJkZWYyYjVjNjllIGxlZ2FjeS10cnVuaworMjI5MjAgNjg1ZGNhZTVjMTIzNzAyOTgzNmI5ZWIzOWUxMzY3NDU3YTIwOTI4OSBsZWdhY3ktdHJ1bmsKKzIyOTIxIGM3NjhkMzE5MWRmMWMxZWJlYTViOWQxODc2YWZmMTY4ZDFiZTZmZjYgbGVnYWN5LXRydW5rCisyMjkyMiA5MTUzMzY3NWQ2Y2JmMGFkNWYyNzUxNzUxZDE1NzAwNTU0NWU1NDY3IGxlZ2FjeS10cnVuaworMjI5MjMgODJkYjlhOTAwNmFjNWVlM2NlYmYzNzNhYWFmYTVkNjRhZTc4ZGQyYyBsZWdhY3ktdHJ1bmsKKzIyOTI0IDY5NTg3ODRiMWNlZjAxNWNkZGZlMjMyYjg4NTZhODhmYjk5NWM0NGEgbGVnYWN5LXRydW5rCisyMjkyNSAzZjg0YjIwMDBmNjJiNDE0OGZmN2E0ZmY2MjI3NDA2ODAxM2ExNGM3IGxlZ2FjeS10cnVuaworMjI5MjYgN2RlNGU2YjhkMTk5YzBlNGE0NTJkY2VkZDE4M2RkYTkwZDczMzQwZCBsZWdhY3ktdHJ1bmsKKzIyOTI3IDhkZmIxM2E0ZTE3NWMwZjM1MTU2MTM2ZGExZDNjNTg0ZTBkZTU3NzAgbGVnYWN5LXRydW5rCisyMjkyOCA4Y2JjNzRmNTU4NmI1MDc2N2QzMGQ2MmVmM2VkNmU3MjVlYjE5ODVmIGxlZ2FjeS10cnVuaworMjI5MjkgNzE0YWVlY2MyMzE2MmY3NDdiYWQxYWZmN2UyZWVkY2M5ZjYzZGVmZCBsZWdhY3ktdHJ1bmsKKzIyOTMwIDZlYmMyNjMzM2U2ZDdjYzFlYWVlMzhhZTU2ZGE0YTk2NTZmNmY0MjUgbGVnYWN5LXRydW5rCisyMjkzMSA3NDllNDljOTQ3YzA3MWJlOTAzMGE4ZDg1MGJmZDAzOGNlMzA1OWZkIGxlZ2FjeS10cnVuaworMjI5MzIgMzczMWFkMWQ5MDMzM2VkMTFiMzgzODczNThiMzc3ZTdmMWNlMDJlZCBsZWdhY3ktdHJ1bmsKKzIyOTMzIDMxYTY2YzBjN2QzMDFlNmEzYWUyNTdhZjEwNzg3NThkNWQ0ODc5ZmIgbGVnYWN5LXRydW5rCisyMjkzNCBjZmM1ZTUxNjBjZjVkZjgyNjUwMjFiNzM5MjQyNjVkZmJiNzQ5MTRhIGxlZ2FjeS10cnVuaworMjI5MzUgNmI4Mjg1M2RmMmVkYjc4Njc3N2ZiMmRjZjM1Zjk3YjZmZDQwNTQ5NCBsZWdhY3ktdHJ1bmsKKzIyOTM2IDkzM2U4MTI5NzRjM2VhOTBkOTNlMmUwMjA0NTc2NjcxNjRjYzBjMTAgbGVnYWN5LXRydW5rCisyMjkzNyAwNDIxOGU4NWIxNTZmZDY1OGY0NzAwYzAxMDA0MzAwZjRiNzBlZGMwIGxlZ2FjeS10cnVuaworMjI5MzggNjE3ZjVlNzJiMGVjODMzMmQ5MmZkOTVhMTY0YzI0MzFhMjI4YmI4NiBsZWdhY3ktdHJ1bmsKKzIyOTM5IDM3MTZiMTE2ZmIzMTMyMjU1YjQ1NzRjYjE1OTA5ZmVhZTMxZDRkMWUgbGVnYWN5LXRydW5rCisyMjk0MCA5ODMwZDAwYjg4N2RmYTQyNmQwZDk5MjA2YmZkYTQ4OGU3ZGI0Mjc5IGxlZ2FjeS10cnVuaworMjI5NDEgODQzZGE5Nzk1MzgxMzA3ZjAxNTI0N2IxZmMxOWZjYmU5ZDczNDY0OSBsZWdhY3ktdHJ1bmsKKzIyOTQyIGJjNmJkMzVmNTk5OGRmNDlmNWRjNGYyMjEwMTk0MTZjNmJlNzczZmIgbGVnYWN5LXRydW5rCisyMjk0MyAzNzJkOGMxZDJiNjRlMjg4ZDYxMDIwNzBjZTYxZThmNTU2MWQxZGI0IGxlZ2FjeS10cnVuaworMjI5NDQgMmE0ZTNjOTI4NWI1NGZiZTg2YmM4N2MxMmJhMWU2NzQyMTkwOWQ2ZCBsZWdhY3ktdHJ1bmsKKzIyOTQ1IGZiYWY0ZTU1MjYzZjkxMDM5M2Y5Zjg3YTNmMGRjZTgzMTQ5MmRiZjMgbGVnYWN5LXRydW5rCisyMjk0NiA0NTY1NzM3NmI5YjhjYzkzNDYzNWJmZjY4ZjIzY2E2M2EyZWY3NzM2IGxlZ2FjeS10cnVuaworMjI5NDcgZDZlMWIxMDkxNjA5NzFiMzcyNDhhYzFkYzYyZTNjMDczNDYzZTJjOCBsZWdhY3ktdHJ1bmsKKzIyOTQ4IGUyMDJhNzVkODgxZTE0Nzk5NWJiNDM2NTU2ZjZlNzg2OWQ2ZWRhNjkgbGVnYWN5LXRydW5rCisyMjk0OSAxOTAxZjg3NWI3ZDNkMWQ4ZDRmMzAyZDEyNzk4YjYyYjFkYjgzZmJhIGxlZ2FjeS10cnVuaworMjI5NTAgYjdmNmZiYzA4N2E3N2VhYTcwNzY3MWIyNmJhMGVlMTMzYmJlODQzYSBsZWdhY3ktdHJ1bmsKKzIyOTUxIDUwMDU1NDViNjQ4N2YwNmE3ZWQ2OWFmZmIzZDMyMDQ1MWFmMjQ0NzkgbGVnYWN5LXRydW5rCisyMjk1MiAxMWIzNzNiMDBmMmFmZTFhZWYwNTdlOGNmMjMwZjgwOTQ3NGQ5ZjdhIGxlZ2FjeS10cnVuaworMjI5NTMgNmVhZmM0YTYzNTlhODBhOGVlMTU0MWUwNzg2NWFlNDY4YjgxMTFlMSBsZWdhY3ktdHJ1bmsKKzIyOTU0IDBiMGM4NDA3OGY5MTYwZGEyNjE1ZWQ4MGY3MGMzYjQ3OWM5MGM0NGEgbGVnYWN5LXRydW5rCisyMjk1NSAxYzhhOTUwZDY5NzAwZTc1YjE0NDNlODE4YjQ3OGVmMDExMGQyMjA5IGxlZ2FjeS10cnVuaworMjI5NTYgYmQyNTJiMTgzMmEyZGJhMTg5MDgwMmVhMGMzNjE2YzU2NWQwMDkwMiBsZWdhY3ktdHJ1bmsKKzIyOTU3IGI0NTIxNDM2ZThmOGY5OWQyODE3MjdhMzc3Njc4M2E1N2RiYTUzZmIgbGVnYWN5LXRydW5rCisyMjk1OCA5NDMzZGQzYzE5N2VmNGIxZjZhM2Q1YTU5OTJiNjQxYjUwOTYwNWY1IGxlZ2FjeS10cnVuaworMjI5NTkgNDUwZTVhMGU5MjZiOTQwZGI4OTM5YTE0NzJiODc1Nzg0YzcyNDA2YiBsZWdhY3ktdHJ1bmsKKzIyOTYwIDBkOTYxNDVjNDRiODlmNmEwZmQzYjgxZDcyODYzNWU2MTkyYjYyMGMgbGVnYWN5LXRydW5rCisyMjk2MSBmYjJkODNhYWZmNjg2NDVmZTdmNmYyYTEwZjZjMTg1NGJiMTk2NjUwIGxlZ2FjeS10cnVuaworMjI5NjIgMDFkZTBhNzAzMDY5OGM3NGMzMjhlNTE0ZjUzYmYyYmEyZTY1NjY2NiBsZWdhY3ktdHJ1bmsKKzIyOTYzIGQxOTY0OGNhODc0OWNjYzFhNDI0OWIxNDU3NTI1OWRiMjViOGI1ZWMgbGVnYWN5LXRydW5rCisyMjk2NCBjZGZkZDUzNTk0MTFhMDk3NDI5MGI0MDQyOTc3YjcyZWVmNDdhMDhlIGxlZ2FjeS10cnVuaworMjI5NjUgYTY4NGI0YzEwMTI4NDNlOTMxYmUzMDIyN2E2NGFiNDU3OTcxMzU1OSBsZWdhY3ktdHJ1bmsKKzIyOTY2IDc3NjZlYTcyNDMyMDk0Zjc5ZjNhYmYzNDkzOGQ5NjI4ZjQ0MjRmNTUgbGVnYWN5LXRydW5rCisyMjk2NyAyMWQyYjllZWRjMmRlMTc5OTYwNDNjNDU5ZWY1YTIwNDZlYTMyNjYwIGxlZ2FjeS10cnVuaworMjI5NjggMmE5YmJkYmVmYmIxYzk0ZjFkMmZlMjA5NjMxNmU3OTcxNjYxMmM2NiBsZWdhY3ktdHJ1bmsKKzIyOTY5IGJhOWFhYmNkODllM2RlY2VhMmVlOTJlMWVjZDU3Nzc5OTZkMmZiNDEgbGVnYWN5LXRydW5rCisyMjk3MCAyMjZkNWVlZmE0NGFmZDZiNWNiYzU2Yjg2Njg4N2E2MDBkOTk2M2FjIGxlZ2FjeS10cnVuaworMjI5NzEgNTQ4N2Q5ZDUzYTBlMWU1NTIxMjFiYzkwMGRiNzMzMzM3NTA5NjNmZiBsZWdhY3ktdHJ1bmsKKzIyOTcyIGYzMDM2ZDRlM2MyMmFmODEyZjA4OWFhZTE0MTM1ZmUxZjc5MGNmMjkgbGVnYWN5LXRydW5rCisyMjk3MyA0ZDJjYjZlYWE0MTEzOGM5YTAwNDJiMjUzZWI4ZDFkNWViNWMwNWNkIGxlZ2FjeS10cnVuaworMjI5NzQgZGViMDhhZjg5YTM1ZDY5ODg0NjEyZDMyZWYxMTQyODlkMDY2MzA5YiBsZWdhY3ktdHJ1bmsKKzIyOTc1IDJlNmRhMmRkMmFiODIwNzBiNDExMWY1OWFiNDRmYWY1MzU0NzdhNDggbGVnYWN5LXRydW5rCisyMjk3NiA4NWViMWM5MTFhZTVjMGM3NjZjMGY3ODhlYmY1Y2UzOGY4MDJjZDE5IGxlZ2FjeS10cnVuaworMjI5NzcgYjdkYzUxNTk0NDhmNDhhNzczMjJiOTJkZWZkYmQ5YTM0MjgzYjU2MiBsZWdhY3ktdHJ1bmsKKzIyOTc4IDJjMWE5ODMwOThhMDY0YjQ4ZDkyNWEyOTM4ZjRmY2ZiMmM0ZjllNTYgbGVnYWN5LXRydW5rCisyMjk3OSBkOWRhYTRhNjdiZTI2MjM4OWExMGM0ZjYyMjExMGQ0YWExNDM0NjMyIGxlZ2FjeS10cnVuaworMjI5ODAgZjU2YzkxODIwZmFlMmQyY2E4M2JkM2ZhODIxZDU2YjBhODYyN2NmYSBsZWdhY3ktdHJ1bmsKKzIyOTgxIDBlNDY0NmJmODA0MTEwZTMzN2VlMzg0OTRhN2UxZTQ5YTk4MTJhNDcgbGVnYWN5LXRydW5rCisyMjk4MiA1NmM1NDlhMjUzYTZlOTRjNmZjOWE2YTExYTQ3OTNhOGU5YjI5MzI2IGxlZ2FjeS10cnVuaworMjI5ODMgNWRkMjhhYTJiZTZiZmQwMDQwNDMxMmMwYzY2NDIxNTkyMDA5ZDUxZSBsZWdhY3ktdHJ1bmsKKzIyOTg0IDhkMmM3NDM2YjlkMjdmN2YzMjVjZTY0OWI0MzI3MDJjZDM4NGVhMDkgbGVnYWN5LXRydW5rCisyMjk4NSA4ZTZlMjQ4ZGZkZDg2NWJiOGI2YzMyMDI4YjViNDI2MTcyNjg5YTEzIGxlZ2FjeS10cnVuaworMjI5ODYgYTVlZWIxZTcwZjQxZjJmZTg2ZGQ4NTI3NjEyODI4NjdmZDk5YzNiZSBsZWdhY3ktdHJ1bmsKKzIyOTg3IDJhNDY1YjBlYjU0ZTQyMGFhM2RmMjQ3OTZkYmYyZTNmMGVlYTIwMDQgbGVnYWN5LXRydW5rCisyMjk4OCA4NTQxODc4Y2YyZTEzZDI1NjA0ZmE5NTAzOGI0YmY4ZjRjM2I4NzBhIGxlZ2FjeS10cnVuaworMjI5ODkgZjE0MzBlMzM4MmJiZTRiYWY4MjQyYjhiNTg1OTk4MTY5M2MxNzU5YyBsZWdhY3ktdHJ1bmsKKzIyOTkwIGRjMDU5YmZiNTNiMjJlY2Q2NTEyMjg3ZTlmMGJiZDIyNTU3OGUyMmUgbGVnYWN5LXRydW5rCisyMjk5MSA5ODg1NmE0YWVkMTAxNzI2YWU2ZDI0YjVhZDA2N2QwMWQ4NzEyY2MxIGxlZ2FjeS10cnVuaworMjI5OTIgN2ZhNDA1OTdkYTdlN2Y5MmUzNDgwZmM2N2JhMjBjNTc1NTQzYjJkMCBsZWdhY3ktdHJ1bmsKKzIyOTkzIGM5M2Q3ZDA4NTdhMjc2ZGJjYjFhMTI0MzFkMTE1MmNlNDM0YjVjMTggbGVnYWN5LXRydW5rCisyMjk5NCBmYTA2MjFlNGFkOGFjN2Y3ZjhkNTc0YzRmYWUzNGM1MzFhZTM2OWM2IGxlZ2FjeS10cnVuaworMjI5OTUgMzViNmExZDBiMWUwNTRiNGQ2NGUyMDU4OWFmOGQyNGZkOGNhMTU2YyBsZWdhY3ktdHJ1bmsKKzIyOTk2IDNkNzZkZmMzNGM1N2U2Mzc1NTI4ZDgxNzZlMDFiZjhkNTQyMWJjODIgbGVnYWN5LXRydW5rCisyMjk5NyBkYmI5ZDgyYzdjZTM3ZmY0Mjg1NzMwNDlhNGYyOGFjYmI3OTM0ODAzIGxlZ2FjeS10cnVuaworMjI5OTggYzA1ODBkOGMxOTNlM2UzM2ZjYjc4YzU3OTRiM2FhNjQ4ZDI0NTU4ZiBsZWdhY3ktdHJ1bmsKKzIyOTk5IGUxZjFlOWViZjA1MDEzYTcwNmU2ZjA3OTEzYzYzMjE1NGNjOWZkYjEgbGVnYWN5LXRydW5rCisyMzAwMCA1YTdhYzhjMDYzY2NjZmMwYzZlYzI3YTMwNGNkZDlmNWUzNGMwZmM0IGxlZ2FjeS10cnVuaworMjMwMDEgYTFkMzk3MDg4NWJkYmViYmU3MDZhZGI2NDlmMWU4YTJiNzA3MDA1NiBsZWdhY3ktdHJ1bmsKKzIzMDAyIGNhN2Y3NTc2ZDgyM2U4YzcwYjg2ZDAyYTVmODg4MmRlZjA1MTcyNWUgbGVnYWN5LXRydW5rCisyMzAwMyA2NGJjZWYxNzAyYWQ5N2FlMDE3ZmVmNmMwNzlmYjcxOGExYjZjZTlhIGxlZ2FjeS10cnVuaworMjMwMDQgOGU4N2NkZGVkOTZmYmZlN2Y1YTZlNWMyYzRlMzM0OWQ1ZTc2MTZiMyBsZWdhY3ktdHJ1bmsKKzIzMDA1IDk2ZGE5ODVjZGU5ODQyNmFhYzRkM2ExYjVkNGRhNDkzYTkwNmFjMjAgbGVnYWN5LXRydW5rCisyMzAwNiA0NDE3NWJiMGI3YmZjODA3ZWVjNmRkYTkyOTYwZGJhOTgwZDRhMTRkIGxlZ2FjeS10cnVuaworMjMwMDcgZDA5MjY4ZDBlYTUyOWI2NDkxM2NlMDRiOWJiYmZiYzUzYjBhNzJiOSBsZWdhY3ktdHJ1bmsKKzIzMDA4IDk0ZDBmMmVlYTA0N2UyZThiMTIzZTMxOTc1MWRmNGYxMDcwZjU2ZDUgbGVnYWN5LXRydW5rCisyMzAwOSA1NzhlZjM2ZjhmZGUwYTQyYjZjYmRkNGE0YmJlOGU5OGQ4NGMzMjg3IGxlZ2FjeS10cnVuaworMjMwMTAgNWZjZDBkNDFhNDQ2YmQ2NTI1MDcwOTRlMDBmNGE4YWU0MTQ3ZDdiYiBsZWdhY3ktdHJ1bmsKKzIzMDExIDJiY2NlOGJhYjhiYmU4ZGJkMzc4MjNjODI2NTc3YTQwZWEzMzBlYzkgbGVnYWN5LXRydW5rCisyMzAxMiBkNTQzNzhkMzMzNGZkNDI4ZTBhYWVjOTE5NDIyODBjYzRmNTBkMTA5IGxlZ2FjeS10cnVuaworMjMwMTMgZDRmNTNiMWZiNDI0MGRmYzJiMzg3Y2RlZTBkMjZjY2ZkZTk1YjU3OSBsZWdhY3ktdHJ1bmsKKzIzMDE0IGE1ZWFlZjQ3YTliMzM2MGZmNDIyYzdkM2E2YTQyODMwMmM5MDQzZDkgbGVnYWN5LXRydW5rCisyMzAxNSA0MmQwYmRlNzM1MzNlMTI0NWM2MzUzMTQyNmM2ZmNiMjVmMWVmNDQwIGxlZ2FjeS10cnVuaworMjMwMTYgNDMyNTkxMzI4NDEwMjQ1YmQ4YjUwNjYxN2YxNDFiMDE4YmE2Y2RkZSBsZWdhY3ktdHJ1bmsKKzIzMDE3IDMzNWJmM2VhYjlmMWFkZDlkOWE1ZjAzYTg5NjczNzQ4OTAxNmY1ZmIgbGVnYWN5LXRydW5rCisyMzAxOCA2YzdkZDliM2U1MGI1ZjMzNjhkNDEzMmNiMjMzMDAzOTMzMjhjY2ZhIGxlZ2FjeS10cnVuaworMjMwMTkgYzU1MjNiMGY4OWQ1ODNkZWRlZDFlYTcwZTJlMDFiMzg3MzIyNmRkZCBsZWdhY3ktdHJ1bmsKKzIzMDIwIGVlMTJjMzhlNDZhNmZjMDM1Yzg3YWMwMjNlNDlmZTk0MTYwNjc3OTEgbGVnYWN5LXRydW5rCisyMzAyMSBiMjMyMzg2NDZkMTU2YjJkMTcwOTU0MWRhYWFhZmViODc1Yzk4Yzc3IGxlZ2FjeS10cnVuaworMjMwMjIgZTcxNDcxNTZlZjMzZTc0YTQ3N2JjMDcxM2ExYmE0MDk5MDI3ZmYyZSBsZWdhY3ktdHJ1bmsKKzIzMDIzIDFjNjJiNGE1OTdmNmU3MmIwNWM3M2RmMmZjMTJmYjVmMzdjNWVlODEgbGVnYWN5LXRydW5rCisyMzAyNCAwN2JiMDlkZjMzMjRmMTAyMDFjODgyOTI5OTc5OGRkNmE0NjczNzg4IGxlZ2FjeS10cnVuaworMjMwMjUgMWNjODRkZmNkNmJkMjc0ZjNiNTdmNGIzNDY2ZWY4OWMwY2FjMjVkMiBsZWdhY3ktdHJ1bmsKKzIzMDI2IDdiNzIyYjZjYzc3YjMxYzI4OWYyNjU4MDFhZTdhYjMwMjNiYzc4NjIgbGVnYWN5LXRydW5rCisyMzAyNyA5ZGUyZjdlMWI2ZThiOWJlMzgxYmExMGFmMTA2OTUzNjM5N2JjOThjIGxlZ2FjeS10cnVuaworMjMwMjggMTNiNjU0Y2U2M2E0NzdiZjZkNjg1YTVhMThkY2JiMWQyM2RhNDkwOSBsZWdhY3ktdHJ1bmsKKzIzMDI5IDE3MzEyMmU1ZWRlNDE3MmM0MTFhMWU4YjY4MGFkNzA2YjQ2ODA5NWMgbGVnYWN5LXRydW5rCisyMzAzMCBjNzM3ZDEzZGE5MmQyYWUwYTA2MDMwYTZhOTA4YjIxODkxNTU1N2UzIGxlZ2FjeS10cnVuaworMjMwMzIgNGFiZmMxNzY2ODVjMzAyYTIxYzE2MDNjNTdlNGM3YmNjNDMwOTZmNCBsZWdhY3ktdHJ1bmsKKzIzMDMzIGY4MTRlYTZiYjY2NzZiODI0MTk1YzUxMjA4ZGQ2NjNhN2M5ZmVhZTIgbGVnYWN5LXRydW5rCisyMzAzNCBjYWQ5MzNhNDU0ZmU2MWQ0ZGYxODBhYTJiZTI5MzhmMjdlOGRjNjZiIGxlZ2FjeS10cnVuaworMjMwMzUgOTRlMTQxZTIwZDYxOGU4ZTEzMWY5MGJmN2NkYWMyNjExYmFhODhjYSBsZWdhY3ktdHJ1bmsKKzIzMDM2IDBiNTc3MjkyODRkZmI0ZTZjMjM5ZjE2YWIzNDk0MWUxOTQyNmUwOTggbGVnYWN5LXRydW5rCisyMzAzNyA5MDc5NzEwZWMyMTY5NmUzOTg0Njc5ODJjYmM2MWM4YzkxYjY5NmM2IHIyMmEzLWJyYW5jaAorMjMwMzkgOTYwNDc0ZDEyOWFlZDczNjVlYzc5YWFlYjBhMjZiY2E0ZGZlODY0MyByMjJhMy1icmFuY2gKKzIzMDQwIGM5N2RkYTIzOGIzNjI2NjFiYWI3N2JiYTlkMGFjM2E3OWM1MmEyMTkgbGVnYWN5LXRydW5rCisyMzA0MSAzZjYyMTQ4OWJlNzIxZGE2ZTRhZTUyYmNlNDQ2NzI5ZGQ3MDViNzI3IHIyMmEzLWJyYW5jaAorMjMwNDIgYjM1YTJiZjBjOTgwYWI0NTNiNGRhYTQzMWRkMWE0YTlkYzI3ZGYzNyBsZWdhY3ktdHJ1bmsKKzIzMDQzIGUyZTlmMTcyMmM0ZmEyOWYwY2ZjZTBmY2RkODM5NDE5NTg3MmUwMGQgbGVnYWN5LXRydW5rCisyMzA0NCA5NWVhNjYxMjIzMjU2ODhlMjRiN2ViMTcxNGFmMzIyMzg1ZmY1NzNhIGxlZ2FjeS10cnVuaworMjMwNDUgOWM1NGExNmFjOGI5ZWRjNTM0ZGE4YTZkMzIxNWY0NmMyODZlMDJhMSBsZWdhY3ktdHJ1bmsKKzIzMDQ2IDcwMGZlZmRjMDNkMjg1ZjMyNGZhY2UzM2IzYTg3ODVmYTJiODJjZmIgbGVnYWN5LXRydW5rCisyMzA0NyBjMGY5NGJjNWZmZTgwNmU3Nzg2MWY2OTJiYmQxNjE0NGExMzhkODc5IHIyMmEzLWJyYW5jaAorMjMwNDggNzcwOTdhNTVlOTczMWYwNWUwNGY3OGQ1YTUzMjU2OWQzOWU5YmZlOSByMjJhMy1icmFuY2gKKzIzMDQ5IDAzMDgwZTM5NWM5ZWQwZmVhODU4MzU2ZmU5MDM3NWFlYmVmZTdhOGYgcjIyYTMtYnJhbmNoCisyMzA1MCA3OGU3M2I4NTFhYTlkYmEzNjRmZTkxZmZiNjM3ZDM0Nzk2OGFjODk5IHIyMmEzLWJyYW5jaAorMjMwNTEgMjg1Yjc0MGI4NDQxOTJjNjdmODQzODIwYzYyNmQ2NGVkYWNjNjZhMyByMjJhMy1icmFuY2gKKzIzMDUyIDQzZGM4MjdkZDcxN2NhZmJhZDViNGE0NDVhN2YyNjUzZjUxZTgxMzUgbGVnYWN5LXRydW5rCisyMzA1MyAwOTFjMDFkMDdkOTgxNDI3Y2ExNGMxMjA4NGQyMmY5OThmOWVjOWRkIGxlZ2FjeS10cnVuaworMjMwNTQgZDQ4MDE0ZGJiODVmNmE5YTViNmQyZWMwNDQwY2Y1YzMwNjI5MmMwOSBsZWdhY3ktdHJ1bmsKKzIzMDU1IGVkNTQ5NDNjZTI0ZTBmZTQ0Njg4OGY5NWY4MDZkMThkOTZjYzQ3NjEgbGVnYWN5LXRydW5rCisyMzA1NiBmZTIyOTcyN2E0MGNmZDQ5ZGI0MTk2M2JjNTFhYWUzMmNmNjM3N2E5IGxlZ2FjeS10cnVuaworMjMwNTcgYjQ3ZDI5Njk5Y2QyOThiMWIyYjQzMjZmODQ1NTNiZTY5NWRhMzkxOCBsZWdhY3ktdHJ1bmsKKzIzMDU4IDMyY2ZjZTRkODNkYzA2MDQ4MGI5MWZiNDhhNDdiYzQ4YmVhM2U4NDIgbGVnYWN5LXRydW5rCisyMzA1OSA5MDMxYWFiMjdlYWVkZDJhNTBiNGIzZjQzNTFlMDNkMGY3ODhjNWM5IGxlZ2FjeS10cnVuaworMjMwNjAgNTYwMTU1ZTc1MDg3OGMyZGYwMDBkOWFmNTc1MDY5MWVlZTAyYTNmZSBsZWdhY3ktdHJ1bmsKKzIzMDYxIDhjYWM1ZWI3MDNmZDg0NjVkYzI0MDllZmNhOTY2ZTQ1NTVhNWMyOGYgbGVnYWN5LXRydW5rCisyMzA2MiAwODZmZmFmYWVkNTUyNTk5MGY1NDg3NWEwYWRhM2UwNDdhMjAwNTA5IGxlZ2FjeS10cnVuaworMjMwNjMgMDU4NGM5MTMyNTI1YTU4OGUwNTQ0NjJjNzRmZDhhNmViMDJmOTg5YSBsZWdhY3ktdHJ1bmsKKzIzMDY0IDc5YTMxYmE4NzNhMzQzZGQ5NzUzOGFlMDRlMmJmNDJiY2NjYzFkNWMgbGVnYWN5LXRydW5rCisyMzA2NSBjZTU3ZmZmOTM5NjI5ZDBjYWJlODEzMWVhMTMwODUwODllZGMzMzZjIGxlZ2FjeS10cnVuaworMjMwNjYgMzhjMTJmYWY2MTJhYTU4OWM4MDk5MDRlZTQwNzg3NTExMTU2MTg1MyBsZWdhY3ktdHJ1bmsKKzIzMDY2IDA4Nzk2YTEzN2YxYWRhMjQ2MmY3YTMxNzczMDZkZjVmNjdhNzY3ZTEgbGVnYWN5LXRydW5rCisyMzA2OCA3MDQxMWViYTIyNWIxYTUxZjdjYzNhN2YyNjhlZTk2ZjVmNzUzYmVjIGxlZ2FjeS10cnVuaworMjMwNjkgZGM4N2Q5MWQwZGZkNjg1ZTg1NDRlMWU2MmU0N2RkYjQ3NDdiN2U4NSBsZWdhY3ktdHJ1bmsKKzIzMDcwIDhkNTg1ZDgyMmY5ZDBkYjFjYzkxMGE4MmQ1NWEyYzAzMGY0OGU3M2UgbGVnYWN5LXRydW5rCisyMzA3MSAwY2JiMDYwZGEyYzM0YmNkMDk0ZWY1YTFiYjE5MmQwOTk4YzM1YWZmIGxlZ2FjeS10cnVuaworMjMwNzIgYjczOTYyODdjZjY1Yjk3MjZjMjQ4NTE5NzkyNzlmNWQ3NzBhMDFhYyBsZWdhY3ktdHJ1bmsKKzIzMDczIDZiMWJlMTRkNzY1MDMyNDkwMzc1ZDIwMGU4NDQ0ZWMxYzFkYTM5MDIgbGVnYWN5LXRydW5rCisyMzA3NCA1M2UwY2FlM2NmNmNkMDkzMWI2ZTdkN2U4Yjc4MjY2MWNlNjQ1YjBiIGxlZ2FjeS10cnVuaworMjMwNzUgZmU1ZWMxYTNhN2UwZjczMGIwN2ExZDY1OWNjMmJhNGVkMmNmOWU2MCBsZWdhY3ktdHJ1bmsKKzIzMDc2IDNmNzNhOGJmNzZmN2M5OWJhOTZmMTY4ZTQ2Y2FiMWUyN2Y5NTQyOTMgbGVnYWN5LXRydW5rCisyMzA3NyAzZGMzMTU0MDk5NjgxNDJjMGQ2ZDU2ZDUxMWJlM2RkYWI1NDNjMzc2IGxlZ2FjeS10cnVuaworMjMwNzggNmU1N2RjMzA1NTUxMDhhNmZjMTgzMzRhMWEyZDgwMTZjZGMwMmU4NiBsZWdhY3ktdHJ1bmsKKzIzMDc5IDM3MjE0OTc3OTI0MDY2OWY4NDc1MzEyYmJiODg5ZDNkOWQ1YmUzMTcgbGVnYWN5LXRydW5rCisyMzA4MCA5MTk1MzJjNTBhMTc1OWI4OTRkYjk1ZjAxMDU1MzRiNDFkMWI1YTAxIGxlZ2FjeS10cnVuaworMjMwODEgOGVmNDU2OTQ5Yjc2MjQ2YWVlODRjNjg1NTJkOTVlNDM1YzNlMTdiOCBsZWdhY3ktdHJ1bmsKKzIzMDgyIDM5ZWVhYjY4OWQwNjdiMDljYTVmZGIzODA5YjFkYTczMTk0YzE3NTggbGVnYWN5LXRydW5rCisyMzA4MyA1YjI4ZDdkYzMwMDYyNWI1ODNmMmRmMTYyZDg4MzMxOGRmMzg1N2IxIGxlZ2FjeS10cnVuaworMjMwODQgYmJhZWE1M2FjMDg3ZjU4NjU3ODJkNTA1ODBmNTkyZjk0YmRjZjljOCBsZWdhY3ktdHJ1bmsKKzIzMDg1IGU0MTkwNjBlMTNjOGQ0NDEzZjBkN2E2ZGE0YzJjZmFmNTlhMDM5MDQgbGVnYWN5LXRydW5rCisyMzA4NiAxMzU5ZmFjNjE3ZjFiYjQ3Yjg2NmYwNmE1OTU0Y2YwOTVjYTU0Y2RkIGxlZ2FjeS10cnVuaworMjMwODcgMDBkODA5NDdkODE3OWY4ODlhMGM3ODJhOGI2MzEwMjM1YWYwMDk4ZSBsZWdhY3ktdHJ1bmsKKzIzMDg4IGY0NDYwNmIyNDJjNTkxMTE0MDc5MTYxNDI2OTg5NmE4NWYyZTE5ODUgbGVnYWN5LXRydW5rCisyMzA4OSA1MzI1MGNiMTA2ZWI0NzFiNzQ0ODNhYjY4MWU2NmQ4MjI1ZjEzNDkxIGxlZ2FjeS10cnVuaworMjMwOTAgOWNmMTMzOGZkOGQ5ODUwMDIyMjlkYmViMTRiMzYxOWJjMzVkOTNjMyBsZWdhY3ktdHJ1bmsKKzIzMDkxIDU0MjBlN2QzNDhhNDRjNjMxYjhjMzVlYzliYjU1NjQzNDAxZmJkZDIgbGVnYWN5LXRydW5rCisyMzA5MiA1MTU4ZTQ3ODk0NTkyMTgxMGUwZDY2OTM2Y2YxMjY5OWNiMDZhNzlhIGxlZ2FjeS10cnVuaworMjMwOTMgYzE1OTIwYzJjZjZjY2I5ZmU5ODg0NDg0ZDQwMjNmNmQ0MmM4ZWQxMyBsZWdhY3ktdHJ1bmsKKzIzMDk0IDEwZjU5MjdkYmYwNWQwODlkYzZiNmIzMDI2MDZmNWM1NWU0NDEzZTcgbGVnYWN5LXRydW5rCisyMzA5NSAzNzc3NDZhMzg5NzIxOTk4YzQxYjlkYjQ5NDc5ODcxOGZjOTk2ZmEwIGxlZ2FjeS10cnVuaworMjMwOTYgZDhkZDc1ZTNiMzA0NjVmYjFlNTczYjY5MDhiZGZmYThiMDU1ZmU2YyBsZWdhY3ktdHJ1bmsKKzIzMDk3IDIwOTI0YTcwZmExYmJjNjQ3M2E4MmE3NzI0Njc2MGJkOGE2NDg0OTYgbGVnYWN5LXRydW5rCisyMzA5OCA2ZmY3ZWU4NGQ1YTE1ODM1ZDljNjE0YmM3ZTBhOTdkYjE4NmIzZjZjIGxlZ2FjeS10cnVuaworMjMwOTkgOWU0ZDFhNjMwN2Y2Mzg1NTUyNWIzMGI3MDllMzBmOGYwYzNlM2Q3NCBsZWdhY3ktdHJ1bmsKKzIzMTAwIDdhOTgwYzk4YzhhZWZmZDNmMjJlM2M5MDE3Yzg0MmM3YjQwZmQ5NzUgbGVnYWN5LXRydW5rCisyMzEwMSA2NjJlMjJmOTk2MzlmNTA3NGUyYzg0ZTg0NGNlMjljYWZhODBkMzEyIGxlZ2FjeS10cnVuaworMjMxMDIgYzVjMjQxYmVmODhkM2IwNjZmNGI4ZmExZmEwOTdjMmMyZDA4OTViNCBsZWdhY3ktdHJ1bmsKKzIzMTAzIDhhZjc0ZjAzNThhYzM5YTliY2QwOTViMDFiNGE2MmU0Mjk0NmU1MjcgbGVnYWN5LXRydW5rCisyMzEwNCBiZjAyMDJkYWM0NDE3MTYwYmViNzU1MWZlN2VmZDI0OWRmMjRiNmM4IGxlZ2FjeS10cnVuaworMjMxMDUgMmI1ODFmNGM2OWI0ZjIwOTRlM2YxMGUyMzhmMzE3MjRlMjNiZjkwMCBsZWdhY3ktdHJ1bmsKKzIzMTA2IGYzZjY5NDExMWVhMDgxNjBiNDdhMzYxMjRkOTFlOGIwOGQ5MzlkMzAgbGVnYWN5LXRydW5rCisyMzEwNyA1ZTc5YmVkMzQyNmY5M2RmMzM2ZmQ2YTc3ZWUwZDE5YTkwNzkxYTkwIGxlZ2FjeS10cnVuaworMjMxMDggOTgzMDMyM2Y1ZjhlYjJlNThiYTZlYTVhNjc4YmQ2MzM5MzI3MzNhMCBsZWdhY3ktdHJ1bmsKKzIzMTA5IDQzZWQ4YTM0NWY0ZDgzMzkxZDM4NWU1Y2Q3ZjI4ZjM3MDRjOWM3MGMgbGVnYWN5LXRydW5rCisyMzExMCA1NTY4YjMyMDkxNGY2ZGI5NTc0MjMwN2Y4MzcyMTMzYmU0MTBlM2U3IGxlZ2FjeS10cnVuaworMjMxMTEgNDE0MTNjNzgzODM2NzkzNzM5NjIwZTZkOGZhZWFkMzQyYmEwZTc3OSBsZWdhY3ktdHJ1bmsKKzIzMTEyIDlhNWJiZjg0NWM2MzNlYzdhMWU2NWM1OGNlZjE2MWExMGM0NDc4Y2QgbGVnYWN5LXRydW5rCisyMzExMyA4NzNiZThlMzQ2MmJlZTY3YmFiNTNjN2Y4YmY4MjllYzE1OGNhNTZlIGxlZ2FjeS10cnVuaworMjMxMTQgNTg3MWUwYWEwMjFiODUwY2NkOWVjOWRjY2ExOWIxMjM2MTBhNmU2MCBsZWdhY3ktdHJ1bmsKKzIzMTE1IDJhODA5YjNkMDNlOTRiZmY2MDY2ZDNkMmE2ZWU3YzljYmExMzk4MzkgbGVnYWN5LXRydW5rCisyMzExNiBkOTk3MGQ2MzE4NzgwYjk4OGY1MzU0ZTM5MGFhZjkwZDIwNzBjN2U4IGxlZ2FjeS10cnVuaworMjMxMTcgMzZjYTE2ZGMzNWI5ZDk5OWRmMDRhY2VhMzAxNTc4MGI1MzE2MjQwZiBsZWdhY3ktdHJ1bmsKKzIzMTE4IDY3NjI5OGMwYzc2Mjk2MzQ4ODc4YzBmZTA3MmZkNGNkMTUwOGMxM2MgbGVnYWN5LXRydW5rCisyMzExOSAzMDQ2NTJmZmM2YWM2MDM1NGY5ZGM3M2ExMzNlNDgwODA0MWM1ODE1IGxlZ2FjeS10cnVuaworMjMxMjAgZjJhMzAwOWI1MjhlOTNlNWMwNjNjYTU0NmUyZTc1YTNiYjg4ZGU2MiBsZWdhY3ktdHJ1bmsKKzIzMTIxIGEzNDk5MWI5MTAwODYxOWNiYzdlMDVmMDViYjhlZjBiYmY4MjA0YzAgbGVnYWN5LXRydW5rCisyMzEyMiA1NzgwNzI0NDcwZWViNGU3YTBiZDc3ZTFlMDNmNmJiMDFlNDIxZTZkIGxlZ2FjeS10cnVuaworMjMxMjMgYWY5ODI4MmU5Mjc3YjdjZGNhODYxOWI3NjljYjllNmY0YTQ4OTRiNiBsZWdhY3ktdHJ1bmsKKzIzMTI0IGRmNDkzNjQ2ZWM0ZGNkOWU4NmIxMzNlMjNhOTg2YTBmNzA4NjViNTMgbGVnYWN5LXRydW5rCisyMzEyNSBlOTFiOTkxMzg5ODVhZTk1MTU4ZmI4YTQxMzFlZmY4NDBlYjY5NjU4IGxlZ2FjeS10cnVuaworMjMxMjYgMTgwODZjOTEzZWQ1YzUxMzFiMjRhZTA5MzI2ZWZjOTRiZDhlNDhlYiBsZWdhY3ktdHJ1bmsKKzIzMTI3IDUxMzYzMzQ4ZGNmYWI3YjAyZjdkMGY0NGJiNzM1NTUwZDg1NjBiZmUgbGVnYWN5LXRydW5rCisyMzEyOCBhMTllZWE0MTY2OGZjZmZhMDBlZjEyYmI0MDgwNWNiN2JiMTkxMTNjIGxlZ2FjeS10cnVuaworMjMxMjkgZWQzZTUyOWZiZTQ3OTFjOGFiZTlkNDJmODA2NTZiODg1MzgzYzQ1NCBsZWdhY3ktdHJ1bmsKKzIzMTMwIDcwYmRmODQ4NjJhZDFjYjMzNDNmOGY1M2E0NDRlYjg2N2JmY2Y2MmYgbGVnYWN5LXRydW5rCisyMzEzMSBiODdjMDU4NjI4MTU1OTY3MmVjNGRiODk3ZWE4NTVmMjY0OGFlMDhkIGxlZ2FjeS10cnVuaworMjMxMzIgNjJkMzFlYzQzZGY2NjM0OTdkNDJjOGQ3M2IxZjFmMWUyNmIwOTQ5ZiBsZWdhY3ktdHJ1bmsKKzIzMTMzIGNjMTQ2ZWU1Mjg5NzViNTI3M2FjZDg2YzFmNTdmMDg1NWQ1YWMwNGIgbGVnYWN5LXRydW5rCisyMzEzNCBiYzUwNTgxYjNkN2NkZTI3OGZkY2MwNTBjYmJiYmFmYTFlZjZmMzk2IGxlZ2FjeS10cnVuaworMjMxMzUgZDFjZDRjZDcyMjcxZTA3YTc1N2ZmOTAwNGQ0ODAwZGY0YTNlYmQyYSBsZWdhY3ktdHJ1bmsKKzIzMTM2IDE2ZTRkMDk2Zjc4N2QxYTk1MjQ4OTJiYjkxZjE0N2EzNGRjYzU0MWEgbGVnYWN5LXRydW5rCisyMzEzNyA5NmY1M2Y4ODMxZWVlNGQyOTA5ZjY4ZjhiODY3MjM1YmM2YTVhOTZlIGxlZ2FjeS10cnVuaworMjMxMzggYzhmZWNlMzdmMDIwYjBlOTYyNjIzZjI4OTAxZGU5YzM2MTlmOTQxMyBsZWdhY3ktdHJ1bmsKKzIzMTM5IGRmNjZiNGRkMGIwZGJiNDQ4OGJhY2Y2YTNmNmJhNzdhMGQ3ZjZjODUgbGVnYWN5LXRydW5rCisyMzE0MCA3MmU2ZWI2NTMzMTIwN2I4MTZlM2ViYTViMDgyYjQ0OTE0NDJhZjUyIGxlZ2FjeS10cnVuaworMjMxNDEgM2IwZGExM2FjZTQ4NTcyMmVkMmU0Njg5MTUwYTAyMmM2YWQ0N2UyMSBsZWdhY3ktdHJ1bmsKKzIzMTQyIGIyOGZjOGMzNmUzZGU3OGY3ZTE1MTE5M2M4OTA0NDRiM2JlZDFjMzUgbGVnYWN5LXRydW5rCisyMzE0MyAyZGE2NmNlN2VlMjI5NTE3NDcyMDkzNDEzMTJjOTY0ZTE1ZDliYmM0IGxlZ2FjeS10cnVuaworMjMxNDQgNzMzMzE0ZmNmZGFhMGE5NWVmNmJiNzhkN2ZlZWQyNDgyYzJlZmY3OSBsZWdhY3ktdHJ1bmsKKzIzMTQ1IDMxZmU4YjNlMjc2YmFhZGU0NTAxZjc1ZDU4ZjA3Yjg0Y2Q4MTBhYTQgbGVnYWN5LXRydW5rCisyMzE0NiBjMzNhODU1YzEyNzQ1ZjgyYTljOGQ1MmRjZjhkOWJmMjcyZGUyODAwIGxlZ2FjeS10cnVuaworMjMxNDcgZTkxM2Q3NTcxM2U2NDMyNTE3MzlhZDYyMWI4NjY0NTVhMGZlYTBjYiBsZWdhY3ktdHJ1bmsKKzIzMTQ4IDNhZjAwNjUwMzY3OGE3YzRlYTYyNTVhYjA1ZjVlZTIzNDU2OTBmMDkgbGVnYWN5LXRydW5rCisyMzE0OSA1MWNjODI2MDVkMzJkYjdiMTQyZjU1MzY2ZTkxZGU2YjFkYTQxZmVmIGxlZ2FjeS10cnVuaworMjMxNTAgMWM0MWZiZDA5ZDkzYTY4NjExYzIwZWNhN2IwOGQ0NzhjYzAwNjdjMCBsZWdhY3ktdHJ1bmsKKzIzMTUxIDA0OTFlYTYxMWJjNGI3NzNjMWJiOWZjYTViNTBjZmM2MDNmZGE1ZTcgbGVnYWN5LXRydW5rCisyMzE1MiA4NDM3NjM1NmZmODkwZTkwMjc5MjBkZDIyNDZmMGQ2ZGRhNGVhZTBlIGxlZ2FjeS10cnVuaworMjMxNTMgZmM0MGQwYjU0MDQzN2U5ODg3MzQyODM2ZTFjMzM5YTJjZmZkNjRkZCBsZWdhY3ktdHJ1bmsKKzIzMTU0IDFmNjE1MjYzMDdjMDBiNjc4OGExYTY5OGJjODlmNDcwODU2OTY4MTUgbGVnYWN5LXRydW5rCisyMzE1NSBmZjM3NzQ3MmVhYzk0MGIyNWRhMTMxMjQ0NjllMjc0YzY4MjgwZjFkIGxlZ2FjeS10cnVuaworMjMxNTYgMDc4MThjYmNkMzAyNjg4Y2ExMjQxNzU2ZmM5OWVmN2MxOWVlZTZjYSBsZWdhY3ktdHJ1bmsKKzIzMTU3IGRlMzk5NTZiNTQ1ODA0MzY1ZjE2MjRhNTJlNTJkMjdiNDlkMTI4ZDEgbGVnYWN5LXRydW5rCisyMzE1OCBjMDgyOTcxODIzY2U5MTMwODhhMTk4ZGY5YThlYmMxOWQ1Y2Q2OGE0IGxlZ2FjeS10cnVuaworMjMxNTkgNThkNTAwOTRiZjgwODQ3NDAxMWY4Yjc0ZGQzODE5YTg2MzlhYTc5MSBsZWdhY3ktdHJ1bmsKKzIzMTYwIGE3YmEwMGUzYjBkZTJmZDRiZGM3MjlkMzAzNTNlZGJlYzdmMTViYmYgbGVnYWN5LXRydW5rCisyMzE2MSBmMzlhOWJlN2M5YWY3NDY4NWM0MTFlYTU3ODMyOTIzYTBjYTdmYmNkIGxlZ2FjeS10cnVuaworMjMxNjIgZDY4Y2ZkODVlNmRiOWI1ZmJiYzgzMmY2ZDJjNTMxYTBjOTczM2JiMSBsZWdhY3ktdHJ1bmsKKzIzMTYzIGQ1N2E2YzgxMzY1OGNjMDMwMGY1ZjRkMzY5YWVlNzAzZDNjZWQ1YjYgbGVnYWN5LXRydW5rCisyMzE2NCBhMjg4YTU1ZjkyOTE1MWJiYWQ1ZWEyZTZhOGY0NjQzMGU2YTc3ODAzIGxlZ2FjeS10cnVuaworMjMxNjUgNDliN2UzOTgwODUzYmMyZDU1MzQ3YzFiY2Q3ZTZkYTJhYzFiODU0MyBsZWdhY3ktdHJ1bmsKKzIzMTY2IGNiYTQ0OWFiNTkxNTc5Yzk0ZmNkMmQ3YzBiNWZhNzdmNTk2ZDM2ODIgbGVnYWN5LXRydW5rCisyMzE2NyA3MWM4NTNkZWRiMDcyOTFkZWYwYmNlOGM0NjBhZmMyNDY4ODc3MjNjIGxlZ2FjeS10cnVuaworMjMxNjggY2EwZjU0ZGFjZGQ4YzQ1ZmU1ZmJkMGM2MDA4NGVlMGIwNGVlZDkzNyBsZWdhY3ktdHJ1bmsKKzIzMTY5IDIwMjdkYzEyNGVkZGFkYmM5ZTgwNGVjNmNmMGEyZjY0MjZjZjJlOWYgbGVnYWN5LXRydW5rCisyMzE3MCAyMjYzY2I0M2VhYWJiZWEwY2ZkNWViMWNlMzEyNTQ3YmI2ZTIyNjEzIGxlZ2FjeS10cnVuaworMjMxNzEgMWI1NWQ3OWM2OWQ1ZmUwNDlkMzUzYTc1MzAzM2FkYWMxYTZmNDYxYSBsZWdhY3ktdHJ1bmsKKzIzMTcyIDI5NGEzOGExOWI1YTk3ZWU1YWFkZTFiODRjZWRiZjA5NTQ1Yjk2N2EgbGVnYWN5LXRydW5rCisyMzE3MyBkOTZjZGJiNGQyN2JjMWUxNWM3YjVmZGY4YmVmOTY3ZDgzZGJhYTEwIGxlZ2FjeS10cnVuaworMjMxNzQgOGU0ZDM1YmM2NzNmZmFkOWRiM2MyYjk3NGI4NzgzZDllMWUxZGZiZiBsZWdhY3ktdHJ1bmsKKzIzMTc1IDYzOTMwMTU5Y2EzYzcyYThiOGY0NDNmMzQzOTczZmFhOGMyMjAwNTcgbGVnYWN5LXRydW5rCisyMzE3NiAxNmY2NGQ3ZGE4ZTMyMWMyMWRhMDc1NmZiZDdkMTA2NWUzMjk0NTBkIGxlZ2FjeS10cnVuaworMjMxNzcgOTdjZjZkY2QwYWVkMjdhNmJkZmJlYTJhZWZlYTE4ODQ2M2JkNDNjNyBsZWdhY3ktdHJ1bmsKKzIzMTc4IGNiMzVkMGY3MDRkZTBiNzBiMDZiMWJiZmUxMDEyYjAzY2M2MWNlMjYgbGVnYWN5LXRydW5rCisyMzE3OSAwMWY2NmY1ZGIzMjYxODUzMTgyZGM0Zjk4ZTk4MmU3MjQ2YmJkODI4IGxlZ2FjeS10cnVuaworMjMxODAgZGY0MDk4NDRiNjU5NzkzZjM2OWZhYWRiODVhY2E5NjhlNjkzZGQ0MSBsZWdhY3ktdHJ1bmsKKzIzMTgxIGNlNDE0YTZkMzBiNDZlODM2ZWNlNjYxZDI5NzMwMGI0ODBmNDc0NzIgbGVnYWN5LXRydW5rCisyMzE4MiAyODk0NDU4ODc3YzgyOTkzNzEyOTA5MWEyYjU0NjMwNzdjYmM1M2RhIGxlZ2FjeS10cnVuaworMjMxODMgNjA0NmU5NTQ2YTcwMmI2MTUzMjM2MWE5MWM2ZmNjOTc0YzA0OTZkNSBsZWdhY3ktdHJ1bmsKKzIzMTg0IDliYzc2ZTM2YmE1N2VjOGY1YTNmYmNjMzE0OGRmZTNiODUyMmYxYjEgbGVnYWN5LXRydW5rCisyMzE4NSAzNmMwN2ExNzE4ZTk4OTI5OGU2MGQ4ZjBmNDU3ZThhYWI1N2UzNzliIGxlZ2FjeS10cnVuaworMjMxODYgYzMyN2E4YWM5ZjJiNWZkMTAwZjA1ZmE0MjYwYWU3ZDgyODVkYWJlZCBsZWdhY3ktdHJ1bmsKKzIzMTg3IDYyMWVkMTM0NDVkZTU1Zjc5YTdhMTAxNzk2YjlkMjNhNTllYWRhZDAgbGVnYWN5LXRydW5rCisyMzE4OCBiNmNmMmYyN2U0NGZhYTUzZGFlZDI1MzM5ZDI0MzA3ZDdiZDQ3OTA1IGxlZ2FjeS10cnVuaworMjMxODkgZjJmMjVhNzM4ZjdmMDkzYjQ0YzUyOTJkNTc2OTY2ZGNlOGJjYzk3MSBsZWdhY3ktdHJ1bmsKKzIzMTkwIDYxOWEyZDZiNWVhOTIxOWQxNzY0MTUyZTNjNTZhMWU5OWY2MDUyOGYgbGVnYWN5LXRydW5rCisyMzE5MSA2OTQ0ZjViOWRlMDNkYjllODYwYThiOTFjOGQ0N2RhOTEzZDdkZGVmIGxlZ2FjeS10cnVuaworMjMxOTIgODk2ZjJkMWUyZjQ2ZDc2YzE3MzQzMzM0MTlkOTk0M2E5Y2ZmMjQxYyBsZWdhY3ktdHJ1bmsKKzIzMTkzIGZkN2E3ZjgzMjI1OGQ3YTk3MjM4YTljMzM4MmQ0ZTE2YmM1ZDA4OWMgbGVnYWN5LXRydW5rCisyMzE5NCBhYWNhNGQzY2Y2MmI2NzViZTA3MGM2NzdhMjMwZjg0MTQzODNmOGRlIGxlZ2FjeS10cnVuaworMjMxOTUgM2JmNjIyYmMyNzkyMTgxOTNkZjE4ODE3MTU1NDU2OTNhMDIwZTU2MCBsZWdhY3ktdHJ1bmsKKzIzMTk2IDBkNTM1Yzg2YmU1ZjUyZjBhODQxMWM4ZGMxYTlhMTkyMmZhNGVjYzMgbGVnYWN5LXRydW5rCisyMzE5NyA4NTIyYjAyMmY4MGEyOTM1ZjY2MDJhYzBlODQ2M2JjNTUyZWRiOWVkIGxlZ2FjeS10cnVuaworMjMxOTggNjc3M2RjZmUzNGEzNjkxZjU4MGYxOWUyNjI1MjJjNGVmYzFiNmE1MiBsZWdhY3ktdHJ1bmsKKzIzMTk5IGQ5NDBhZjUyNTg0MDhlZDQ4ZDBiZDlmYzI0M2EzMzAzYzlhZjczYTEgbGVnYWN5LXRydW5rCisyMzIwMCBiZTRiYWFmYTRjNTI4ZDA2MjM1NjRlM2VhNzU0NTkwZTFmZjliNmU3IGxlZ2FjeS10cnVuaworMjMyMDEgNDE3OTliNzBhOTZjMWUzY2MxMTllYTkzM2M2MmY5YTUwOGQ5MWI1OSBsZWdhY3ktdHJ1bmsKKzIzMjAyIDNmMTkyMjk5MDkwMzQ5MjQwY2EzMmRhMDljY2ZhYzQ1ODdjMTU3MDAgbGVnYWN5LXRydW5rCisyMzIwMyBlYWYxMjAzYjg1Y2ZkMDg0ZTAyN2JiNGU0YTlhN2Y4YjkzZTZmNGE0IGxlZ2FjeS10cnVuaworMjMyMDQgMDRjZTJhNDhjMGE4MzFhODRiMWEyMmI1NjA5OWU4NGIwNmFkMWI4NiBsZWdhY3ktdHJ1bmsKKzIzMjA1IDc2MTMzYTQ2NWUwMzk2ZjQ4Y2RmM2NjOTVkMmM1NDYyNjc1ZmIyNWMgbGVnYWN5LXRydW5rCisyMzIwNiA3ODk0NmE3ODQzNTEyMDJkMDUyZDJmYWIzOWJmNGZjYThkNTJjNjMyIGxlZ2FjeS10cnVuaworMjMyMDcgOTZjNGEzZjA4ZGNlMjRkYmRmNWY3MDUxZTE5OTAwY2JmZWU5OGJmMSBsZWdhY3ktdHJ1bmsKKzIzMjA4IDBmOWRmNTYzYjY1ZGU0ZTE0ODIyMzFhM2U0ZDQ4NGJiMTdlMjE2MWUgbGVnYWN5LXRydW5rCisyMzIwOSA4NGFmMWRkMDExZWUzM2Y3YWNkZjlkZTY2NjVlZGQwODcyYjc3OTE3IGxlZ2FjeS10cnVuaworMjMyMTAgZjM2YTJkNDBhMWRmNjhhZjM0MjIzMzE3MTEwNDZhN2M4NGZmMjMzMiBsZWdhY3ktdHJ1bmsKKzIzMjExIDMzNjY5Yzg5MTRiNGFlMTIzYzNjOTU4NDI3YTkwZDljYmY1NDE0NTEgbGVnYWN5LXRydW5rCisyMzIxMiA5MDk4YTMwOGE1N2IwNzhjYTAyNjc0M2E1NzBiNzI5OWI4YTViYzA4IGxlZ2FjeS10cnVuaworMjMyMTMgNjA4MWQ3MzYxNjdiMGU2OTNmMDViMzc5ZWZjMDc1ZjZkMDE1NTExYiBsZWdhY3ktdHJ1bmsKKzIzMjE0IDAzZjNhYjBjNzI4NmRjYTFhZWJkMTM2YWRhN2I2NGQxN2Q0MjhiNjUgbGVnYWN5LXRydW5rCisyMzIxNSBjYWUzZmYzMWJkOTEyYzE0MzdkYWI0NmM4MjEzYThjM2I1OWY4M2ZjIGxlZ2FjeS10cnVuaworMjMyMTYgMDgzNzRhODUyNmUyMTAzZmQ2YzBiNmNkNDIwYjIwZDIxZGMwN2EyZSBsZWdhY3ktdHJ1bmsKKzIzMjE3IGNjNTJiMDVhYzk3OTU0NDJhNzQ3N2RmODFjZGY4MTFjMzVhOGMxN2UgbGVnYWN5LXRydW5rCisyMzIxOCA5NjllMzA2YjYyZmRlOWJkYTY3ODQ4NjM3MGI5M2M3NTE4MjBhZmY0IGxlZ2FjeS10cnVuaworMjMyMTkgNDNlNWZkNTRmOGM5OGQ5YTdkZjVmMjllNWQ2ZDkzZGQ4Y2Y4NjhlZSBsZWdhY3ktdHJ1bmsKKzIzMjIwIDgxNzc0NWU1YWRmYjM3NmQxNjU3MThjZDRiOGMyNDFkZTE5ODg2ZTEgbGVnYWN5LXRydW5rCisyMzIyMSA0ODY4OTM0NmU4YmJkNjY3MDJiNGIxNzRjNmUxNGMzNWE1MmUzMDIxIGxlZ2FjeS10cnVuaworMjMyMjIgMGI1MWU2MDdmMzMzN2Y5NDU3MDI0NGQ5NjlhZDU1NWY4M2YxNDMxNCBsZWdhY3ktdHJ1bmsKKzIzMjIzIGU5MTI4ZWE0NWNkYTgyM2U3NzhlNTkwMjA1MTYwOTQwNWU0ZjFjZDcgbGVnYWN5LXRydW5rCisyMzIyNCBiMTQwOGEyOGQ4YmUyYjZmMTY3ODllMzFjNTE5NDJiNDVjZjM2YjUyIGxlZ2FjeS10cnVuaworMjMyMjUgZjc2MWNhYjI4YzFjMTBmNDk1ZTlkMTMyNmZmYWI5YjNiZjhlZmE3MCBsZWdhY3ktdHJ1bmsKKzIzMjI2IGQ0Yzk2NTMxNjYxMDRmNjlkZmU0YjM3MWMxNDE4MmNhNDIwMGVhODYgbGVnYWN5LXRydW5rCisyMzIyNyAyMGFkZmVjNjE0NjdkNWJjNGRjMmEyM2Y3MjM3ODVhYTAyMWExYzI3IGxlZ2FjeS10cnVuaworMjMyMjggMDVmNmIwOTg5OTUzMmE2NjE3YjU2Y2MyOWI5ZGQwZDJhZWI5Yjk4YyBsZWdhY3ktdHJ1bmsKKzIzMjI5IDhlZGM0NGJkMGFjN2YxNDNhMzkwN2U1M2Y4NThkMDAyYjY2M2M4YjQgbGVnYWN5LXRydW5rCisyMzIzMCA0ZTQ0NWEzZTA3YzZiNTM1OGI5ZmUxZmY4ZWJmNDJmMmIyNDRhMjNmIGxlZ2FjeS10cnVuaworMjMyMzEgZGEwMDE4OGQ1MjcwOWFmNjg5YTM1M2Q5MDlmZWMxMzIyODk1NGU5ZSBsZWdhY3ktdHJ1bmsKKzIzMjMyIDYzMTNmYTM4ZTkwZWFkYTM0ZDY0MDkyMjk3ODBhOTcxZWJhZGZiZmUgbGVnYWN5LXRydW5rCisyMzIzMyBhOTYwZTY3MzA3N2ZjNWIyODM1NWUzMWYxZjU0MmFmNzJhZmJjOGY3IGxlZ2FjeS10cnVuaworMjMyMzQgOGRjZmFmMGU2NTU5YmI2ZGNiNDFiYTY5NGNiODJiMmFiZWM2MDg5NCBsZWdhY3ktdHJ1bmsKKzIzMjM1IDlhYjZhZjY4MTVhZmNiNmRhMDYwNWNmZWJjOGM4YjA5MmQ5ZTEzOGQgbGVnYWN5LXRydW5rCisyMzIzNiAwZmQ5NTIwMGFiNmVjNGQ3YTA0OTE2MmY1MzI5NDQyZjFkMDVkMjgyIGxlZ2FjeS10cnVuaworMjMyMzcgYmY0YjFiMDhhMmM2ZjIyOWE5OGZkY2I4MzcyZDI4M2JjYjk5ODdkYyBsZWdhY3ktdHJ1bmsKKzIzMjM4IGQ1NjQ2YzBjNTEzMGNjMmY5MmRlMDcxYWMxMzhiOGJlODc4MzY5YWMgbGVnYWN5LXRydW5rCisyMzIzOSA5ODgxMmQyMjEwNzUxODA2Y2U3MmY2MzYyODMxMjEwNGJiZTE0YWIxIGxlZ2FjeS10cnVuaworMjMyNDAgNzEyYWZkYWUxMTIzOTRjMGE5ODlmMGYxNGE1Y2M5NThjOTA4ZDI3OCBsZWdhY3ktdHJ1bmsKKzIzMjQxIGY0MmY4OWI1YjhmOWJiNDZhMmM0NWIxNTBmM2ZhMzkyYjRjMmI4YmUgbGVnYWN5LXRydW5rCisyMzI0MiBkYjE2ZTI2YTA3MWI4MzQzYzM5YjkwNGM5ZTkxYzBlMjYxOTFhMjQ0IGxlZ2FjeS10cnVuaworMjMyNDMgZmNiODc3MDY5ZmFhNzExNzMyYzA5YmYyMDgzODBlMjc4NGYyZjU4MiBsZWdhY3ktdHJ1bmsKKzIzMjQ0IGNlYzllMjVhZjEyMWIxNjU3MWY4MTA3YjEyMjNkNzIyY2IxYzFkZTYgbGVnYWN5LXRydW5rCisyMzI0NSBmZmExYTg3YWM0M2E4ODZlZjI1NDgyMjAyMzU4NmE5NWI4ZDAxMTFmIGxlZ2FjeS10cnVuaworMjMyNDYgODcxMzRjN2YyYmM3N2I4MzY0NTRiNmQ2YTk3MzkxNzkyMTM1NzFlZCBsZWdhY3ktdHJ1bmsKKzIzMjQ3IDlkN2NhNTkxNGQxY2ViNTYzYjUwYjgzZGVmNzg0NzhlNTI2NWE4MTMgbGVnYWN5LXRydW5rCisyMzI0OCAyOGVmMjJhMjU5OGU1YWEzMWIxN2ViZTVhMmU0N2JkMGI2ZTZiZGYzIGxlZ2FjeS10cnVuaworMjMyNDkgYWI2YzE0ODIyZGUxYmY2NWVjMTBkYzBlNzY2YmVjN2ZhMTYxMjg3MSBsZWdhY3ktdHJ1bmsKKzIzMjUwIGIwN2NiNTFkNzMxYzg3MTE1YTE2MjE1NzBmM2M5ZjgxY2NjNjgyZmQgbGVnYWN5LXRydW5rCisyMzI1MSA2NDZlMjQ3Mjg4NTIzYjhlYzkwYTBhNzRlMjlmMjI3YzJiMWRmMDRhIGxlZ2FjeS10cnVuaworMjMyNTIgOTQxYzI4Njg2MDM5Njg0ZjAyMThjNzkwNDdiNGZiMDNhODZiYTNjOSBsZWdhY3ktdHJ1bmsKKzIzMjUzIDhhMGM5NzQ1M2RmNDgzNWQyZmJjZmJhMzI0ZDkyMjgyNjk3ZTExYTEgbGVnYWN5LXRydW5rCisyMzI1NCAxZjRlMjYyN2I2MjcwMTFkNDNiMTAyNDNmY2ExZjY3MDZkNDQ1ODU5IGxlZ2FjeS10cnVuaworMjMyNTUgMzRhZjE5ZGNlZjU5M2YxY2FkMGU2N2U5OTMzZTkzNGY4MTMyNTZjMiBsZWdhY3ktdHJ1bmsKKzIzMjU2IDdmZmUyNzZhNjg1NGM4MzIyN2QyNGQ1ODAzYmYxZDFiZjYyYTYzMDIgbGVnYWN5LXRydW5rCisyMzI1NyBiMGFmYjY5MTM0MDFhYTc0YWViYzk2MmFjYmE1ZjA4NzViZjFjNTY2IGxlZ2FjeS10cnVuaworMjMyNTggYzdjYWY3OWY1MTQzM2Q4NmJjNGI5NTE4YmVkMGZmZDQ0ZTY0YWYyZCBsZWdhY3ktdHJ1bmsKKzIzMjU5IDM4MTVjOGFkMDJkMDMzNDA5MWUyMDdhODZkMDk5ZDZiYmZhMjcxMjEgbGVnYWN5LXRydW5rCisyMzI2MCA5YzhiMTk2MTUwMzQxMzQzNTYwNGZhYzJlNDY3NmU3ZmM4NGRmZTg0IGxlZ2FjeS10cnVuaworMjMyNjEgMmE3YjRkNDQ2MGQzZWJlODZiMmQ5M2VkMWY5Nzc4MDBhM2Y1NGY2ZSBsZWdhY3ktdHJ1bmsKKzIzMjYyIDU2ZmZlZTFlZWVlYzRmOTkwZGExMmZlYTRiZjEzOWI3YjkwNzIwZmEgbGVnYWN5LXRydW5rCisyMzI2MyBlZDE4ZDQ0MzlmMDg0ZjI5ZWQ5NjJhOGI5MDIxYTY5ZDU5ODU4ZDdmIGxlZ2FjeS10cnVuaworMjMyNjQgMGZlMzE4YTc4OTkwNDE0OWZjMDI4NTVhMmM5MjM3ODRiNjNhZDk4MCBsZWdhY3ktdHJ1bmsKKzIzMjY1IGQwM2MxOWRiMzA5NDc3YmViNDRlOTNlNWQ3Mjc1ZGVkMGNlMjBhYWQgbGVnYWN5LXRydW5rCisyMzI2NiA3NWI3ZThiZGIyMWVmNjA1NDVjOTZlYTgxYzAzMWY5ZjYxOTkzNWUxIGxlZ2FjeS10cnVuaworMjMyNjcgM2ZhYWJmNTRiOGI4M2QxMjVkZmNlY2Q1YmE5NzUyNDA2YzA0YmYzMyBsZWdhY3ktdHJ1bmsKKzIzMjY4IGUzMTg0ZTQ2MzAzYjU0OTgyOWRlNjgwYTU1NjIxZGM4MDhkMDNkYjUgbGVnYWN5LXRydW5rCisyMzI2OSBmMDIwZGE3ODFiOTE1Y2M2YWJhM2RhNjczMDQyY2JmNmIzZjFjMDViIGxlZ2FjeS10cnVuaworMjMyNzAgY2E3YWYyYTVkOTE1YjljNjRmM2EzMzhlNTk0Mjk0OGYzZmExNTU5MyBsZWdhY3ktdHJ1bmsKKzIzMjcxIDcxODk1ZGQyNjhlMmQwNjM4NDc4NjE1ZmI3OTZiYjYwYzg5N2RmZjEgbGVnYWN5LXRydW5rCisyMzI3MiAwODQ0NmE5ODZhNTYyZDJhYTkwZWYzNTllMTk3NTBkNTdhNGFhNGYwIGxlZ2FjeS10cnVuaworMjMyNzMgOGFhMWFkYTMzZjY0ZTIwMjdiYzRjOTkzMGYyNjRjZmFmMWQ1NmZiMSBsZWdhY3ktdHJ1bmsKKzIzMjc0IDBmZDEyZjkyY2U4ZjBjNjBjNjU3MmNlZjAyMDc0NThjMDc3NmMyNDMgbGVnYWN5LXRydW5rCisyMzI3NSBiNzBjMDg4MTNiYTk3YzI0YWEwNzMwYTNkMGU2OTY0YTE1MTMyMTEyIGxlZ2FjeS10cnVuaworMjMyNzYgNDBjYzY2MjFlZGRjYTA3MjFiZDE5OWU3ZTc5ZGUyZjRmY2E4NGJlNSBsZWdhY3ktdHJ1bmsKKzIzMjc3IDEwOWRlZjRhNWY2ZTk4NTJhNjIyMWIyM2Q1YTk2NThlYzc2YmM3OWEgbGVnYWN5LXRydW5rCisyMzI3OCA3MjlmZGYwNDU0OTQxZTk2MGI5MjNkOWI3ZWFmYjgwNThmMTk1NWMzIGxlZ2FjeS10cnVuaworMjMyNzkgNGY3NDcxNDJlODRjODM5OTI2MGEzMzljZDg1MzkwMThjMDMzYzc4NCBsZWdhY3ktdHJ1bmsKKzIzMjgwIGI3ZWM5ODVkODVjNjE5NmUyMjBiNTIwNDNmZmU2Y2QxMzFmYWY5M2EgbGVnYWN5LXRydW5rCisyMzI4MSA3YzVjZDY4NWMxZGUwMmQ5NzVmMzllMGNlNzRhY2Q3YTFhZWIyNGY3IGxlZ2FjeS10cnVuaworMjMyODIgZTYzZjk3NTYyYTYyOTE0MTZmZWJiNGQ0YzA4YWMwMGFkZTk3NzRlOCBsZWdhY3ktdHJ1bmsKKzIzMjgzIGRmMWI4M2ZkMGViYmRiYjdhZGFmN2QwOWNlMmU2YmY5YTBiZDgzYTkgbGVnYWN5LXRydW5rCisyMzI4NCA0YmJiNGQ5YjRkNzc2NDFkMGQ1OWE5MmNjY2EyOGFmZmNlN2YxZWVhIGxlZ2FjeS10cnVuaworMjMyODUgNjM3OGNiMTE3YjczYmIzMmFlOWQ1MGQ5YzQ1MDRkMjkyYmE1MDVmMSBsZWdhY3ktdHJ1bmsKKzIzMjg2IGU1YTNmOWQ3NzY2YjdkMGY0Yjk0MDFlYzZjNzg4YWY1YzNiYWRlMmUgbGVnYWN5LXRydW5rCisyMzI4NyA1YzlhOTU1ZWYxN2NkYTExNzMwMTJjZGU2MjllMTcxYTNmMTRhOTJiIGxlZ2FjeS10cnVuaworMjMyODggMTA0YjVjOWI4OGVhZTk3ZGRiOGM1OTE2MjM5NGUyMTY5OThlOGM1ZiBsZWdhY3ktdHJ1bmsKKzIzMjg5IDA2MmFjOWFhZmU0N2I4MzBiMzQ5YTRiY2M1ODE5Nzg4MmFiN2EyYTIgbGVnYWN5LXRydW5rCisyMzI5MCAwOTk2ZjA3ZDA0YTNhY2YwZDYwYzE0ZTA1ZmI3ODQxYjExOGI4MGVlIGxlZ2FjeS10cnVuaworMjMyOTEgYWI2MmQxNDdiYTkwZjM1OTc1Mzg4OGQzNTc1M2YyZTE2ZjJjMzJkZiBsZWdhY3ktdHJ1bmsKKzIzMjkyIGU1MjFmYzM3MGJlMjA1MGY0NTNhNmExZTk4MGJkNDQ3MGUwMGRmNGEgbGVnYWN5LXRydW5rCisyMzI5MyA4YTZmMmVlNmVhYmEzMWE0Y2E0NjhhZDdmNGEyYTFhNzJhYjRlOWEzIGxlZ2FjeS10cnVuaworMjMyOTQgM2E0YTAwMzllZGYzMmJmNjkyNThkOWQwZjk5ZGQ1MjlkMmVkNzI2NyBsZWdhY3ktdHJ1bmsKKzIzMjk1IDU5ODgyZTdhYWI4OWM5MTI0NDBkZDdiMTUwOWQzNzJjNzRhZWQxM2IgbGVnYWN5LXRydW5rCisyMzI5NiBjZDcyYjY0YWVjOTc4OWNlZGZlN2YwNzI5ZWU0MTI0NGYxZmVkMmQyIGxlZ2FjeS10cnVuaworMjMyOTcgZTA4ZjQyM2Y5MTY1YzA1Y2VlZDM0MDMxNjkxYTRkMWJjNjU2OWRhYSBsZWdhY3ktdHJ1bmsKKzIzMjk4IDY2YmIxMGVlNDk2MTJiOTE2MGRiN2Q5YWFiMjVhZTU3Mjg1ZWFmNjQgbGVnYWN5LXRydW5rCisyMzI5OSAxOTI5ZmM2OTZhMDQ4NDFjM2Q2MWRlZjk5ZjkwNzVkYjZhZmVjNWVkIGxlZ2FjeS10cnVuaworMjMzMDAgN2I4YzExNzM5NzE0ZDI3MDA2NDZmNjNjYjJiN2MwMWFlZWYwMzMxMSBsZWdhY3ktdHJ1bmsKKzIzMzAxIDliODE4YWYwZDczMGU5YmMwYTU3NjhiYmU4Y2FjNWMyNGVhODY2NjQgbGVnYWN5LXRydW5rCisyMzMwMiA0YzVjZDNkMWNmNGI1YmMzYzgxZDI3Y2JlOWE4ZmU4NTc1N2VhZDMyIGxlZ2FjeS10cnVuaworMjMzMDMgNjMxMDgzN2NhNTM0MzkxNzdhYTQ2N2ZmOTA0YmVhYjQ3YzkzM2EzYiBsZWdhY3ktdHJ1bmsKKzIzMzA0IDFhNThjNzQ2NjJlOTNkNjRkODY2OWU2N2UzYjI2MzJiMzUyZGU4MDQgbGVnYWN5LXRydW5rCisyMzMwNSA2ZTkzYTE1ODY4MDBhNzlhNWVmNmIwZmQ0YjdiOThiOGFiOTAwMGIzIGxlZ2FjeS10cnVuaworMjMzMDYgNDk2NmNmNzkzYjQ0YzA2MjM5NmY5Y2IyMzFjZjljNjI3OGU2MjVjZCBsZWdhY3ktdHJ1bmsKKzIzMzA3IDBlZTg5MDNkM2ZlZDAxNzEyN2NkMTQyYjg2MjBhMWY4NGJiYWQyZTggbGVnYWN5LXRydW5rCisyMzMwOCBiZmQ0ZTAzYWQyMTJkMjQ5ZGY0OTdmZGY1ZjgxZmUxZWNmNWVhZmQzIGxlZ2FjeS10cnVuaworMjMzMDkgOTIwYzYzY2ZjYTBjZGUzMjgyYWQ1ZmRiZWM1NmRlYzQwYzQ4YzZlMSBsZWdhY3ktdHJ1bmsKKzIzMzEwIDg4YTAzZWE1NzcxNGY4ZjE1NWRmYTdlNjI0MWUyZWEwZTIzMWIwOWYgbGVnYWN5LXRydW5rCisyMzMxMSAzM2VkYzk5ODYxYjkwZDRkM2Y1YTQxMDRhOGYzMWVmYjM3YWM3YjJjIGxlZ2FjeS10cnVuaworMjMzMTIgNWIxYWQ3YWNhYmI1YmM1NGNlZGQ5NDRmODI4NjVlZTc0MmZjZmI1NSBsZWdhY3ktdHJ1bmsKKzIzMzEzIGMyYmYwYjEzMzgwZTMwNGYwZDY2MDk3NjllOTQ2ODNmNTJhNDkzZjMgbGVnYWN5LXRydW5rCisyMzMxNCBkMmQ4MzViMzVkNDc1ZTViNzVkMmY0YTMxMDZkZjBjNGQxYzU1M2VkIGxlZ2FjeS10cnVuaworMjMzMTUgY2NlYzAyYmZlOWEwNThmNjQ0OTY4ZWFkYWM1ODY2YTU2MGJlNjBiMCBsZWdhY3ktdHJ1bmsKKzIzMzE2IDJjYWRkYjgyZmZlYTJmNTNiYjk4YWYzNTQ3NGVhNmQ1ZjUwNWU0OWQgbGVnYWN5LXRydW5rCisyMzMxNyA2MzkwMTM5YWQwODI1ZGNiMWRhZGI3MmVjYmMxMzUyYjY5NGEyZWFjIGxlZ2FjeS10cnVuaworMjMzMTggOWE1OTliMWQ5ZDFjODRhNzc3OGNlZGU1NzMyZDE0YzliYzE4OTJhNCBsZWdhY3ktdHJ1bmsKKzIzMzE5IGVmMzAzNGE2MGEzZWMyZWYyOWRiYjIwZTQzMDNhNDI1ZmJlYWVhMTMgbGVnYWN5LXRydW5rCisyMzMyMCBmODQ2OTFiMTE0MDI3YTlhOTkxOTcyYmQ3M2I5OGQyYjQxNDc3MzFlIGxlZ2FjeS10cnVuaworMjMzMjEgMTRjODNjZjdmMzM4MmUyZmMwZjBiMTk1MGU1NjliNWNjODliZDc1NCBsZWdhY3ktdHJ1bmsKKzIzMzIyIDI5OWY1ZmNiMGJhODBlY2RkNmQwYmE2ZWRjYzY2OTBhYWU2YjMzYzAgbGVnYWN5LXRydW5rCisyMzMyMyA2OWU4MjA2MjRjYmMzMTZhMzllMTg5NWUwZWQwYTNkOWQ5ZGEzODEzIGxlZ2FjeS10cnVuaworMjMzMjQgOTBhNGYyM2FiZGE3ZGNmMDYyZDFlMzVjYTQxMjJlM2NhZTU0YzgwMCBsZWdhY3ktdHJ1bmsKKzIzMzI1IDkzOTc3ZjE3NTUyZDU4ZTgzOTNjZWMwMDM2N2VkOTQwY2MwZjZkNjQgbGVnYWN5LXRydW5rCisyMzMyNiBlMDFkZThiYzU4MTM3NzhhZjhjNTc2YzlmZjJhMzIwYWEwYjdhNjcwIGxlZ2FjeS10cnVuaworMjMzMjcgMzk5ZDc3N2FmMDQ4NTEyNjdkZDA3MDQ0ZTIwYTFiMzlhYjk1ZjBjMSBsZWdhY3ktdHJ1bmsKKzIzMzI4IGQ4YWJmOWNlMzIyNTMyNTY3OWNjMzg0N2FkZWM5Y2NkMjFkMzhlZjkgbGVnYWN5LXRydW5rCisyMzMyOSA1MTE3NzZkNmQ3ZDg2ODVhODZhNDI5NzE1MGJlMzA2YWE5NGEwZmIwIGxlZ2FjeS10cnVuaworMjMzMzAgYWFlNWNmN2U1ODYxNWM0N2NiMTVmYzg1OGQ3MWJkNGEzZDczMjc3MiBsZWdhY3ktdHJ1bmsKKzIzMzMxIGQ5MjUwZDViNzlhNzU5MjZjYjFiNjUyMjZiYzNkYzg2MTBhNTYzMmIgbGVnYWN5LXRydW5rCisyMzMzMiA4ZjE5YjJhOGM2M2M2Nzc5NzBkMjc0OTY3YzBkMjE1MmQ4MmIzNDRjIGxlZ2FjeS10cnVuaworMjMzMzMgMDA0Y2RlZmI3MGQxZjlkYmNmMmQyOTU3ZDI0OWU2Y2YyM2E1N2U0NiBsZWdhY3ktdHJ1bmsKKzIzMzM0IDkyOThmZWU0NDZiNzc0MGFkM2ZjNmNhZjM0ODA5MGVkY2Q0OGYxYTcgbGVnYWN5LXRydW5rCisyMzMzNSBmNDhhNDFjOTcwMjE1Njk0MjI1YTI5NjVhNDliZTFjZWI1Y2NjZDJjIGxlZ2FjeS10cnVuaworMjMzMzYgNDM5N2ZhNTE1MmZhNDE2NjgxYjY1MjZlMWFmYzIzMzU2ZjY1ZjZkMCBsZWdhY3ktdHJ1bmsKKzIzMzM3IDE4ZGYzMmY2Y2VhMTNlM2UyN2ZkZjRkYTE0Y2YwMDIyNmU0ZWE3ZmMgbGVnYWN5LXRydW5rCisyMzMzOCBmZGZjMThkNTU2MTUzMDg5ZDExZTUwOWRiYTM3OGI3M2ZiMWZmYjkyIGxlZ2FjeS10cnVuaworMjMzMzkgNDhlOTNlZjNjNWI3MGI4ZTQ0M2I3ZDBjZTYxNmQwN2IxODUxNTA1NyBsZWdhY3ktdHJ1bmsKKzIzMzQwIDMxOTJhMzJmZDQ4ZjZjNGM5ODliZDE3MGE0MjBjZTVmZTkwMzE4MjAgbGVnYWN5LXRydW5rCisyMzM0MSBkYWQ5NGNhNDdlMjEzOTE0ZTQxMWFkNDUyOTljZmM3ZTdmZjUyNzhmIGxlZ2FjeS10cnVuaworMjMzNDIgYjQxNjFjZTU4NWU2NGNhMWM5ZDIxZWQxYWI5YWE0ZDgyZmVlY2U4NCBsZWdhY3ktdHJ1bmsKKzIzMzQzIDM4NmZiMjZlMDg3NDdlYmY1NWVmMjBiZWI4ZGFmNDJlNWVjYzI3MTggbGVnYWN5LXRydW5rCisyMzM0NCAzNzE5YmE1ZWU4NDQ2YTZkZDIzMWRlYTdlNGVmNTNhYWMwYzE3NDRjIGxlZ2FjeS10cnVuaworMjMzNDUgOTMzYmY2OGUyNjUwM2E4YzJiMzZjMTgyM2MxYzc3ZWMyZDdhN2ZmYSBsZWdhY3ktdHJ1bmsKKzIzMzQ2IDQwZDRkMWNkNmM4NGE0MTYxNjZmNmNlMjk5OGQ0ZTRhM2UzNjQwZmMgbGVnYWN5LXRydW5rCisyMzM0NyBiNTJhNjMwNTIzMDY4NjliMmY1ZjU2OWQ0OTI1YTU1MTYzZjMyOGRmIGxlZ2FjeS10cnVuaworMjMzNDggYjI4YzA3YTFiNDBkZjk5ZTUxMzMyM2MyZTJiZWNmNzc4YTc0YTBmYiBsZWdhY3ktdHJ1bmsKKzIzMzQ5IGQ2NThhMTVhOTBhZDk1OTI4NmE2MjcyZWY4MDVkNjBhZTFjYmYzOTcgbGVnYWN5LXRydW5rCisyMzM1MCAyODljMWE3MDAyODY0Yjk1YzNmNTllY2EzNDYwZjIxNTM0OTZiNzQ5IGxlZ2FjeS10cnVuaworMjMzNTEgMTlhYmMzMzlkM2ZjZjJmMWJhOTJkYTMwMjczOTZjNzcwMTc5ZWMxOSBsZWdhY3ktdHJ1bmsKKzIzMzUyIGEzODFhYjBmOWQyODNiYmFiMjY2Yzg4ODRjYTFhMzM2MTM5NWEyYjkgbGVnYWN5LXRydW5rCisyMzM1MyA1NmJkZDkwYzlmZDZkZDg2NjZmNzQyNzNhOGIwMDI1YmI0MTM5N2MyIGxlZ2FjeS10cnVuaworMjMzNTQgODE5YjZmZjdlNTZhNmI1ZmM2MDE4NDZmYWEyZTUzN2RjN2YzOGE3OCBsZWdhY3ktdHJ1bmsKKzIzMzU1IDJhNjhjNmUxZjljNTRhOWRhYWMyNjdkN2RjOTcxNWQ2NjkxYmY0NzcgbGVnYWN5LXRydW5rCisyMzM1NiBhYjFhZjFjYTAzMGM1YzViYzQwZGE0YjBiYmNmMGI0ZTFmYWI3MzllIGxlZ2FjeS10cnVuaworMjMzNTcgNjAwOWQ4NTlmYjU3M2VjYjBiYWYyYzBkOGZmZjZlMjM5MzY1NGE3NiBsZWdhY3ktdHJ1bmsKKzIzMzU4IGQxOTEwMjIzYjI0N2RmM2QzMDFlMzM4Y2VjMWRjNmU3YTQ4ZmQwYWUgbGVnYWN5LXRydW5rCisyMzM1OSA4YTE2MTRjZWIzNzc3ZWMwYmFlMGM1YTE5NGJkYjdhOWFmNmYyNTYzIGxlZ2FjeS10cnVuaworMjMzNjAgM2RmNGI4Y2RiOGM2ODc5YzBiZWJkMDA3YTgxMzAyODdkZTBhZDIyZSBsZWdhY3ktdHJ1bmsKKzIzMzYxIDhmMjVlYzAxMDE4YjVhODY1ZDY1NzQ5NDVlMjZiNWZkNWY0NjE3YzcgbGVnYWN5LXRydW5rCisyMzM2MiA4MzIxNmNhNjdlYmVhMWIzNDBlZjYzNzc0MjRmY2QwZDM5ZmU1MDNiIGxlZ2FjeS10cnVuaworMjMzNjMgMzM0YmYwYmFlZWI3ZWI5MWEwZTU5NTY0MzFmNmYzZGU4NDNlMWE1OCBsZWdhY3ktdHJ1bmsKKzIzMzY0IGQ3ZDg0ZWFlOTJiYTBhMTI5YjE2NzExMzQ5ODYxNGY3ZTk0YTEzZDUgbGVnYWN5LXRydW5rCisyMzM2NSBiZWZhNzI1OGMyMDBmMzhlODllMTVhM2VlNmY1NWNiMGM4YzY0NDc2IGxlZ2FjeS10cnVuaworMjMzNjYgODBlMzZkYWIyMTExN2E0NDBiMWZkN2E5Mzg0MmYzNTI2OThkMmM3ZSBsZWdhY3ktdHJ1bmsKKzIzMzY3IGU4YTI5ZDIzYzcwYThkM2NiY2ZiMDAzMjNjYWQyZTdkNjBmZWVlNjcgbGVnYWN5LXRydW5rCisyMzM2OCAxMmE3ODdmYjcxZGYzNTI2ZTAxODdlZmRiYzM3ODM5ZDIyMjE1YTU4IGxlZ2FjeS10cnVuaworMjMzNjkgMjMzZjk2MDZiYThlMjRlMDMyMTc0ZjE3ODBiOTNkMTFhNTE4ZDViNiBsZWdhY3ktdHJ1bmsKKzIzMzcwIDhlYzk1Y2U3ODczNTgzNjZhYmJmZWRiYzZiNzZkMmQ0MjQzYWU3MGEgbGVnYWN5LXRydW5rCisyMzM3MSA1NTg3NGQ4ZTBkZmJhOGEwZDZjYTU4YTJmNWM2NjBjMTNiOTFmZDFhIGxlZ2FjeS10cnVuaworMjMzNzIgZTAyNmY1MTdmNjU1YjQ1MDk2MDJkZDAwNzI4Mjg1ZTYyMzQyNzE1OSBsZWdhY3ktdHJ1bmsKKzIzMzczIDhjMzcxNDM1ZjY5M2MwZmJlNmQ4ZmE4NzQ3ZGI5ZWM5NzNlZDBlOTQgbGVnYWN5LXRydW5rCisyMzM3NCBiOWY2MGI4MjUyNjFhMGY5NWQ2MzA4NDA2MzNmZWEyYmI0Y2EwNTNiIGxlZ2FjeS10cnVuaworMjMzNzUgMDE3NmY2MWFmODQ1ZDRjOGNmMmJkMmE1MGY0OTQ3MGRjZGQwNTRjZSBsZWdhY3ktdHJ1bmsKKzIzMzc2IGY4MjJiMzU2YzNkOWRmYTgwYTViNmRiNDk0NmE3NzNmMzNjNWUwMjIgbGVnYWN5LXRydW5rCisyMzM3NyAwOTgxODY2MTNiMDU3ZDgxY2FhMGVmODQzZjUxZDgyODk0ZjYxMGI1IGxlZ2FjeS10cnVuaworMjMzNzggYWVkNjIxMThkNjMyZTg4ZDM1YmJmNmQyNzc2YzQ0Yzc0OTExNGZlMyBsZWdhY3ktdHJ1bmsKKzIzMzc5IDljMmI5Yjc2YTA4ZTNlY2Q5OTY4MjZjZjRmZDhlN2Q1YWQxYzE3MGMgbGVnYWN5LXRydW5rCisyMzM4MCAzYmNkYjUxOWFiZjg4MTEyOTI5ZDIwZjYyNjQ3ODc5YjBmZTRiYmI5IGxlZ2FjeS10cnVuaworMjMzODEgM2ZiMjkzZmExN2M1NDY4NDg5ZmVhY2IzYjYyNzkwYjNhMDM3YmU5OCBsZWdhY3ktdHJ1bmsKKzIzMzgyIDY5NzIwNmU3NDc2MzliMThhYTk0YTc4ZGVlODBiNTA2ODUwNTZiY2EgbGVnYWN5LXRydW5rCisyMzM4MyBmZGZjZmZjMjE1MmM2MGVhYjYyMzdlZWViYWZhNWVlMTNhMTk5OWZiIGxlZ2FjeS10cnVuaworMjMzODQgZTNhMmU2MDc2YmM1MjY1MGEwMmI3YWFkMTgwMmJmNzE2ODczYzVlYiBsZWdhY3ktdHJ1bmsKKzIzMzg1IDczZmJjYzk1ODI5NWYzOTU2OWUzYjUwNTNiMDk1NjEwZmUzZDQxMGYgbGVnYWN5LXRydW5rCisyMzM4NiBhMjc2YWU1ZmU4YzMwMjliMmQyOThlNzkxMTY3MDhmOGY0MTZjZmJiIGxlZ2FjeS10cnVuaworMjMzODcgYmEzNzE0MTkxYTdhMmYzZWViZGEyYjdhMDQxYTRhNGRjMDVjZDU2NyBsZWdhY3ktdHJ1bmsKKzIzMzg4IDQ0MWIyZTE1NTgyNmMxOGVmNzI2OTAzYTQ2ZTZiNGNhNjNhMGFjNzggbGVnYWN5LXRydW5rCisyMzM5MCBjZTI3ZDljMGMzNTgyMzE1NGFlZTlhZDZjYWZiNzE2NzU1ZWFiNzQxIHIyMmE0LWJyYW5jaAorMjMzOTEgYzI3ODJjMzVlNzJkNzQ1YjM1ZmMzZjBjOWJiODliNjc3MzZhODYxYiByMjJhNC1icmFuY2gKKzIzMzkyIDNhYWM5MTZjMTUwNWM3ZGI3NmY4ZGIwNmExNTkwODMxYzNhMWU5ZjcgbGVnYWN5LXRydW5rCisyMzM5MyBhOTdmYmM1YjE4YjZmYzExYzk4MGM0OGQyNzZiYzBiYjgyYTE1YTNlIGxlZ2FjeS10cnVuaworMjMzOTQgZmNjMjE2YzU4Yzg3ZmEyYzYyMDE1YWMzNjI4MDIyMDdjYWQwOTYxNyBsZWdhY3ktdHJ1bmsKKzIzMzk1IDcyN2I5NWRkODY4ODYxMTVhMTVjYjk1MjlmNjU3ZGEzYzFjYjQ1ODcgcjIyYTQtYnJhbmNoCisyMzM5NiAxYzUyOTEyODA1NGM4YzIwY2UxYTU5Y2QyOTJhOTljMDhlM2I5NzgxIGxlZ2FjeS10cnVuaworMjMzOTcgODMyNTZiZWYwZDc1ZTMxMzVlNDg3MTRhNjlkNjY3ZmU1ZjAyMWFkNiBsZWdhY3ktdHJ1bmsKKzIzMzk4IDcwZTU3Zjc1OTQwMjdkMjhmOGZjZDQ0YWIxNTE4ZWE2NjkzM2RiNWMgbGVnYWN5LXRydW5rCisyMzM5OSBlYzJkNGY5OWJhZGM0YjcxM2NkMWViMjFjNmJlMTA4OGM0ZjJiMjZmIHIyMmE0LWJyYW5jaAorMjM0MDAgNjg5MDA3MTg3N2RjODYwY2RkOTYzYTRkYTc0NWUxYWU4Zjk5YWE4ZiByMjJhNC1icmFuY2gKKzIzNDAxIDIyNWYxN2VjODkzMjNhOGIxN2I4OTUwY2U5OTFjNDRiOWVhYzVlYTAgbGVnYWN5LXRydW5rCisyMzQwMiA5NTYwZjg2YzRmYTRhN2YzMGQzNDkzN2M2NjM3MWJjNDdkMjQ5YWM1IHIyMmE0LWJyYW5jaAorMjM0MDMgY2E5NWJjZTVhMzNlZmZmN2I4YjNjYThhZjUzNTYxODJhMTg4MjA3MyBsZWdhY3ktdHJ1bmsKKzIzNDA0IGJkZTlkZWI1OWQxYmMwOTU3MzFlYjdiZDZiNzllYzU5Nzk0MTAzY2EgcjIyYTQtYnJhbmNoCisyMzQwNCAyYWM2YzMyZmMyMDZkZjkxNGRjMmY5ZDQ1NmU3OWM1OTY1MzcyOGI2IHIyMmE0LWJyYW5jaAorMjM0MDYgODllNWYxMGM5Zjk5NDAwZjI4NzBlZDg3MGI4NmI5M2E0M2Y1Y2I3MCBsZWdhY3ktdHJ1bmsKKzIzNDA3IGI5NGJjN2VjN2JlODUxZWJlZjRkZjM0NDRmYzI5ZWY1Njc2NGZmZTMgbGVnYWN5LXRydW5rCisyMzQwOCBlNzhjOGY0ZTJiOGM5NDM1NTMzMDRlMmJmMmIxZGJjN2EzNWQwYTEyIGxlZ2FjeS10cnVuaworMjM0MDkgYzZmYzg3ODEwNTUxNDNjMDQzZWQzZjllY2YzZGQ1MDNkYTU5MzI2ZiBsZWdhY3ktdHJ1bmsKKzIzNDEwIGI1Y2M1ODZhYzI1YWVkMGQ4MmYwNjAxZDVjOWEwYTIyY2IyNTNmYTcgbGVnYWN5LXRydW5rCisyMzQxMSA4OGRhMzhhNWYwYmY1YTg1MjYyZjY0ZmZhZmNjNzJkMGM0YTY3NDJjIGxlZ2FjeS10cnVuaworMjM0MTIgMjA2YjI1ZmViZGUzY2VhMDAwNDQ0NWUyNmViYzU1ZmIwNzM3ODVjNiBsZWdhY3ktdHJ1bmsKKzIzNDEzIDFmNGQ5OWU3YjFlNzU0OTljYzM1M2JlNWE4ZGM3MWY5ZWJhZGEzOTQgbGVnYWN5LXRydW5rCisyMzQxNCA1NzA3ZGE5MDA5MzYyOWJmZjZiMWJmZmZmZjUxNzMwYTMxMTUzNzJkIGxlZ2FjeS10cnVuaworMjM0MTUgYzhmYjAwZjVlYjVlNWRhOGU5YjQwOWQ5NTBjNGNlN2ZkZDhmZjBjOSBsZWdhY3ktdHJ1bmsKKzIzNDE2IDcyYTUzNDdkMmY5YWQ5OWU4ZDkwNGQwNDg4NTYzZjNjZDgxYTQ1M2IgbGVnYWN5LXRydW5rCisyMzQxNyBjNjhlZjQ3YjE3MDlkYWU2NmRhM2FjZmRjNzUzZTI1NmVjY2FkOTlhIGxlZ2FjeS10cnVuaworMjM0MTggZDVkMDAwODYyYTY2OWE5ODQ2NDYwYzdlMTIwMzcxZDUxMTc5MmIxMSBsZWdhY3ktdHJ1bmsKKzIzNDE5IGJiYjM1M2QzMWUyNTQyNWM4ZWNkNmEzNGM0YjBkYWFhMGFhMTIwMWIgbGVnYWN5LXRydW5rCisyMzQyMCA0MTZmMGJjMjI4ZThiOTQ1OTc5ZDg5NDE1YjY4Njk3ZDFhMWVkNGM4IGxlZ2FjeS10cnVuaworMjM0MjEgOGJhMzI4NzE4M2UwNWJlMWFkNjE4OWI5MjljMDBmZmI4NzVmNmQ4ZCBsZWdhY3ktdHJ1bmsKKzIzNDIyIDJjOGE1YTE3MmY0N2JiMzVhODVhMTBkNDVkYTgyYWQ0YWFlNTIzZDIgbGVnYWN5LXRydW5rCisyMzQyMyA2ZmY1MzE0MzViMzRkYzcxOTg0ZmFkZTAyMTc1OGQyMjJjNzE2ZGM2IGxlZ2FjeS10cnVuaworMjM0MjQgYmVhNjg2NDQ5NTk1NjM1NDgyYjA0YmJlYjhmYTQ2OGNiMzI0NDcxNiBsZWdhY3ktdHJ1bmsKKzIzNDI1IGVkYjBiODA1ZTU0OTg4OTBhYjAwYWE1MmY0MGFhOWU5M2Q5ZTlmZWEgbGVnYWN5LXRydW5rCisyMzQyNiAzYjM1NmY3NzkyMmQ4ZGI1ZDEzMzgzZTczZDAxZjY5NjA2NjM4OGE5IGxlZ2FjeS10cnVuaworMjM0MjcgNDcwYzFjNzJhMGE3YTVmMGI5YmEwNDkwYTRiYTQ0N2MzNjM2MTRiMSBsZWdhY3ktdHJ1bmsKKzIzNDI4IDViNGY3MzIxZDljYmY4MWI2YmQ0NTFhNjVhYWNhZTk0ZTY0MmUzOGEgbGVnYWN5LXRydW5rCisyMzQyOSBkYjgyYzBiNDBkZmM0MGZlZTFiZWRkYjVmZGUzNmY2MTI2ZjgyOGQ5IGxlZ2FjeS10cnVuaworMjM0MzAgNjUwOGFkYmQwYmIxYmIyNjYzNzRkN2I0OTcyMzg3YzdlNWQyNjEyNyBsZWdhY3ktdHJ1bmsKKzIzNDMxIDAwNmNmYWFjMDI5YTc2ODRiYzdiYjE4OTM0NjQxZDllZjI2ZjU2MGYgbGVnYWN5LXRydW5rCisyMzQzMiAwOTFlOWUzY2VlYWYwN2I0MjlmYjE1MTFjNGVlY2E1MDUxMzQ0Y2YzIGxlZ2FjeS10cnVuaworMjM0MzMgYWJkNmEwOGIyYzMyNzFhZmQ4ZjA0NGIyMTkyNzJkMzQyMGE3NzBmZSBsZWdhY3ktdHJ1bmsKKzIzNDM0IDVmYjA2OTFmYjY5MDM5MWUzN2MyMTdjMTlhOWIxMjQyMDMwZDA2NGUgbGVnYWN5LXRydW5rCisyMzQzNSA4MzEwNjYzM2Y5MzMzNGY1NzI4Njc0YTdlMzhkMmJmOTIxNDMyOWM0IGxlZ2FjeS10cnVuaworMjM0MzYgZGUzZTg1MTgxOGE0MzI3ZmI5OWNkMGM1ZjNiN2Y5MTE3MDNkNWQyNiBsZWdhY3ktdHJ1bmsKKzIzNDM3IGYxMDA3OTNjYTlhZmM3MGZjM2ZiOTgwYjgxYjkyODY0MWVkNDNjNWYgbGVnYWN5LXRydW5rCisyMzQzOCA4Zjc5ZmE1MzdiZDI0YjMwYTM4YzE5NzVjYTY5MDVkNjM2NjY2Zjk3IGxlZ2FjeS10cnVuaworMjM0MzkgZmVmMjg5ZDY2ZThlMTU4MjMxMjlhN2M3NzVlNDU1ZmJlYjNmMzUyNiBsZWdhY3ktdHJ1bmsKKzIzNDQwIDc1NGI4MTYyODRkMTM4ZWVjZjY3ODdjY2JhZjgzZDc5NDYxNWY0MWQgbGVnYWN5LXRydW5rCisyMzQ0MSA4Nzk5ZGZhMGY3NmFjNDdjNTEyYWY5YzJlNWRiZmMwMmRkNTk2Y2YyIGxlZ2FjeS10cnVuaworMjM0NDIgMDFhNWM0M2YxODk0Y2RmMWMxMzZmOTc3NjU3OTMzMDk3ZWJkYTVkOSBsZWdhY3ktdHJ1bmsKKzIzNDQzIDVlY2MwMmMxZWRhYzNhYzY3OTYwZGI5YzA2ZWUzZGZlNjM3ZTQzMDMgbGVnYWN5LXRydW5rCisyMzQ0NCA3ODRlMjFiZGQ5YTJmOWRkYTM0ZmU2YzM2MjEyMDYzNTNmN2EyZTdmIGxlZ2FjeS10cnVuaworMjM0NDUgOWRlMjkxNjk0YjFlMWJkMWNmY2NkZWE3YjJjZWU2MDBlOGM4OGUzMSBsZWdhY3ktdHJ1bmsKKzIzNDQ2IDZkNzNiNTRkOTIwNTIwMTRlMjMxYmE5NzljYjM5YjY1MzU1MDczOTggbGVnYWN5LXRydW5rCisyMzQ0NyBjNmI2MTg5YTgzOTc2MDhjNjQyNGRjODQ5ZWIwYzVkZmI5YzQ1ZTUzIGxlZ2FjeS10cnVuaworMjM0NDggNGM2OTIyZjI2NmYwNzk0ZmE4MDE1NTJiOTQwZjc1ZDM1ZjZiNDFkOSBsZWdhY3ktdHJ1bmsKKzIzNDQ5IDhkNzlkYjAxYjJiYTI1ZGI4ZWUxYjkyM2Q5YThhNDUwNzA1MGQ4OTAgbGVnYWN5LXRydW5rCisyMzQ1MCBjNzgxN2I2MDc0YjU4MDQ0Y2E2OGI3YzkzYzFiMDIyNGZlMTkzNzlmIGxlZ2FjeS10cnVuaworMjM0NTEgOGU0ZTQ5MTA1NTk1NGJiZjY3YjA0OGE3Yjc0NTgzZDdlMzE1ZjAzNyBsZWdhY3ktdHJ1bmsKKzIzNDUyIDZkZGE0OThjY2NjNDg1NWEyMmRmMDMyNTJiMzFlNWY2NTk0ODU5NmQgbGVnYWN5LXRydW5rCisyMzQ1MyA1OGI0Y2ZhNTQ4NzE5MWMxZmIyZjgyZjBlOGJhMDE5OTkzZDZiODQ1IGxlZ2FjeS10cnVuaworMjM0NTQgNTY0MmQzN2YxYjE2MWQ1NTUzNTg0N2M5MTMyOTUzMTA0OTQxN2E4OCBsZWdhY3ktdHJ1bmsKKzIzNDU1IGU5NDZjNWQyZmUxNTFmNWIxYjI3NTFkODNiMGE5MGZmOWYzZGZkYzQgbGVnYWN5LXRydW5rCisyMzQ1NiA0OWExM2U2ZTkzNWRiMjk2NmEyNWVkMTAzNDQxN2UwYzY3MTQ4MWFlIGxlZ2FjeS10cnVuaworMjM0NTcgYmU1NDhkNGJlODg4ZjQ3ZWVjODY1OTBjOGJjODIxOTIyY2NmZmUyOCBsZWdhY3ktdHJ1bmsKKzIzNDU4IDIxMDYwMzE4ZjUzOWFmMDk5YWE0YzcxNzYxODI5ODM1NWNmNTdlYjYgbGVnYWN5LXRydW5rCisyMzQ1OSAzNDA4ZDkyOWJiOTQwYWQ2MTBkMmI2OTRkNjZjNzkzOTAzNTAxNTM1IGxlZ2FjeS10cnVuaworMjM0NjAgNmRlNGVlNDc3OTQ5ZjhkNzg2Mzc0MWYzOTQxODUyYzIwMzEzMDRkNiBsZWdhY3ktdHJ1bmsKKzIzNDYxIGI0ZjBmMTBhNmM1ZjRkMzcyMTI1MThjNjJmMmFhNDI1M2Q4ZGFkM2EgbGVnYWN5LXRydW5rCisyMzQ2MiA1NzhjMWJiNzI4Mzk5MjU2NTk2NGEwOGIxZTRjODk2MmY4NTczNzk0IGxlZ2FjeS10cnVuaworMjM0NjMgNzJlZTU3MzQ3YWVhNjUzMzQxYWM2Zjc1YzczYTEyZTFiOWU5ZTc4YyBsZWdhY3ktdHJ1bmsKKzIzNDY0IGY1ZDc5MWMyYWNjOTUwZWViOGVmZWM4NTVmZjIzMTU0YjczMmUxMDEgbGVnYWN5LXRydW5rCisyMzQ2NSA3ZDVhZTdkN2M3YTk2MzZlYWM3YzJiZGQwZWU0YWM0MjJkYzNkNTE4IGxlZ2FjeS10cnVuaworMjM0NjYgZTVjM2NhN2I1MDk5MjRiNWM0NTgyMTcyMDEyZmUzM2JmNTFjZDEzZSBsZWdhY3ktdHJ1bmsKKzIzNDY3IDk4NzNjOTljNDNmNzUzNjc4NzQzYzRjMzM5ZmY2ZWQ4YjY5NzQyMTQgbGVnYWN5LXRydW5rCisyMzQ2OCA4ZTZmNjA0YjA3OTkzN2JhODc0YzE3ZTc1MmRjMmQ4YTIyNmQ2OTM1IGxlZ2FjeS10cnVuaworMjM0NjkgMDAxNTJlNjg3NDVhNTE4ZGZlMmU1MmY2NTg5YzEzNGY0YTc1ZjEyNSBsZWdhY3ktdHJ1bmsKKzIzNDcwIDIwYmE0MmNjYjM2ZjY3NjU0OTJiODg2ODAyZTI0NWFiMzM2OWI0MTcgbGVnYWN5LXRydW5rCisyMzQ3MSBlMmRhOWE5MjlhY2FiNTUyOTBlOWU3NjgyNWJkYzJkNmZjODZmODM1IGxlZ2FjeS10cnVuaworMjM0NzIgYmE1YWFhNmJjMWU1NmI1YmQ3NjExZmRlMDFlOTU2OGQ4MzY3YzNlYiBsZWdhY3ktdHJ1bmsKKzIzNDczIGU3ZWY4ODEzODk0MTlhNjg2NzcwODkyMDIxOWIxN2I0YWY1OGY1MGYgbGVnYWN5LXRydW5rCisyMzQ3NCA2OWI5NDFkMTMxNzY3NTM1Zjg5MWIxMGM5YTAzYWZiYzc3ZTEyZGJmIGxlZ2FjeS10cnVuaworMjM0NzUgYjJmOTU3ZjljNmY0MTNiY2YzOTc5ZjAyMTFjYmE3ZWFlN2Q2Nzg4ZCBsZWdhY3ktdHJ1bmsKKzIzNDc2IGUzZDc1Nzc4NjE5ZTNkYzZiN2VmNjI5YTVmNjU5N2E3M2Y1ZTZiZjcgbGVnYWN5LXRydW5rCisyMzQ3NyBkMDUzNzI2ZmIwMWJkYzY0YWE1OGJhNzQzMDJkOTZmOTNjMWQ4M2M3IGxlZ2FjeS10cnVuaworMjM0NzggOTY5OGI3MWIwMDMxNWFiOWFiNzM4OTViYzRkNjc0MzQyZGI5Y2IxNSBsZWdhY3ktdHJ1bmsKKzIzNDc5IGZhY2UxZWFhNjhjYTliNWFlZWVmZTY4MjY5NTgwMTZjZGE2MDFjNDUgbGVnYWN5LXRydW5rCisyMzQ4MCBhNWEzMzA2NDZjMTMyYWMyZjQzZGU1MGVhYzhhYzNhM2VmMGVlYjhmIGxlZ2FjeS10cnVuaworMjM0ODEgYzBhNmY1Mzc3M2UzNTNjZTkyYTJmYTgxMTM0MjZhNmYzNTBmZWIxOSBsZWdhY3ktdHJ1bmsKKzIzNDgyIGJmNTU3NGY0ZjQxZjc2ZmQ2NGUwYWIzYzFmNzRjY2IwYTE5MmYwY2QgbGVnYWN5LXRydW5rCisyMzQ4MyA1YWNkMmE4MWQ2ZmE3MTQ2NzdhODdlMDIwNTRmMTMxYzE4NWQ1YzczIGxlZ2FjeS10cnVuaworMjM0ODQgMGI5OTE3NGQ2YjE3ODQ1ODc2YmU3ODkzNTVhNzZjZjU0MjM0YzJhNyBsZWdhY3ktdHJ1bmsKKzIzNDg1IGFiYWY5ZWEyZTU2MDcyOTk1MDk2MmM3ZTE3MzdkNGRjZmVjNTVkYWIgbGVnYWN5LXRydW5rCisyMzQ4NiBhNGVmMDNiNWE5Mjg2ZDlkYzkxYjUxMWIwMGQxOWYwODczMGY4NTUwIGxlZ2FjeS10cnVuaworMjM0ODcgYTgxZGIxMjk1YTllMjI3OGVjZmVhMjBiOTc3ZDVjZWRmZmJiMGQ0NSBsZWdhY3ktdHJ1bmsKKzIzNDg4IGQ2ZWFlNjRmZGI1YWMxODYwZjdhZjliNTEzOGFmMDYyYjJjN2IyYzQgbGVnYWN5LXRydW5rCisyMzQ4OSBhYTE4YzBlY2M0ZmI2Nzg0N2VlNDU0NzM5YWM1ZDlkMWI2ZThjYmM0IGxlZ2FjeS10cnVuaworMjM0OTAgYWI1MDQyMDU4YjZmMWVmZWE0MGU2OTUyZDM3ZGQ2NzY1ZWQ5MDhiNCBsZWdhY3ktdHJ1bmsKKzIzNDkxIDkyZjg2NDM2YjZiZTYzM2RhMzBhMzg4ODYwZWQ0YjFmNjIyNGMwMWQgbGVnYWN5LXRydW5rCisyMzQ5MiAxYmVlNDliYzhkOWM1NWVkOWU2MTc1Yzk2MGJjZjdkZjljOWJjYjYxIGxlZ2FjeS10cnVuaworMjM0OTMgOGJhZDU1ZWRmZGYzOTM4MWE2NmFmZmE3Yjc4NGUzMzg1NDQzY2JmMiBsZWdhY3ktdHJ1bmsKKzIzNDk0IDVhMmU3Yzc4ZDQzMzQ1ZWI2YzgyN2M5ZjZkYTc5MTY2NmVkODg3NmQgbGVnYWN5LXRydW5rCisyMzQ5NSA0NjRmOWEwOWE5MTAzOGE5ZGNjODQxMDkxODFjZDA4NDJhYzVjMWIyIGxlZ2FjeS10cnVuaworMjM0OTYgZDQ3ODI0OTRhMWUzYzI5ZWQzMjRlZTU0NjI5YzU0NmQ5OGI2ZWJmMiBsZWdhY3ktdHJ1bmsKKzIzNDk3IDgxMzg2YTcxZWNjZTg2NWM4ODJjN2Q3YTc1MDNjN2M5YWVkYzRmMGUgbGVnYWN5LXRydW5rCisyMzQ5OCA3ZWE2MWRhODc4YWYxMDczZTFlODI1OGQxOTg0OTRlNzZhMzkyMDE1IGxlZ2FjeS10cnVuaworMjM0OTkgYWNmYjI3ODY2MmM2MmMzMjAyMjU5NTA1N2U4MjBlOTQ1ZjFlMzYyNiBsZWdhY3ktdHJ1bmsKKzIzNTAwIDllZTZhOThmMDMyYzMxM2U4ZjA4OWZhNGVlNTUyY2Y3YjhlZjBjOWEgbGVnYWN5LXRydW5rCisyMzUwMSBkMTY3MWRkZWFjZTBiNjQ0MTY2NGZjZGEwODhlOTUxZTFjMTRjNDEyIGxlZ2FjeS10cnVuaworMjM1MDIgZTdhY2EyYTMwMmNkNzEzNDg0NGY5OTFjM2FkNTRiYzBkZmEwM2I1OSBsZWdhY3ktdHJ1bmsKKzIzNTAzIDI3NDVjM2RjMjRhZjI5Y2U0MzA5NmQwNDJiN2JlZGU4ZDBiODBlMWUgbGVnYWN5LXRydW5rCisyMzUwNCA1YzQyNjFlNzQ0NzgwY2YwMDMxMWNhNjgyMWRlZTk4ZTZlZDQyM2VlIGxlZ2FjeS10cnVuaworMjM1MDUgYWZmNmZjZDI2YzE1YzQ3MTMwMWI2ZGE5YzExYWFhNWRjZDk3ZDFmOSBsZWdhY3ktdHJ1bmsKKzIzNTA2IDdjZWRiYWFhMTJlNDc0ZmM1NjgyNzkzMGEzMGFiYjI2M2QxZDlhYzMgbGVnYWN5LXRydW5rCisyMzUwNyAwZTk0MGRhODQ1YmY4Mzc5MDgyYjI0MzYzNTY3YzVjN2Y5MzBiOTU0IGxlZ2FjeS10cnVuaworMjM1MDggMTY2NThkZjg0NTZhNjYyODFiNWZjMGY1NzA3MTJiZjZjOGE5NTg2YiBsZWdhY3ktdHJ1bmsKKzIzNTA5IDcxNjBkNzk1NDczZTkxODNlNzRkZGMxYjI4M2Y5Y2VlZDkxOTBiNDkgbGVnYWN5LXRydW5rCisyMzUxMCBmM2IzZmQ1YWJmYTYxNmRmYTNjNzBlMDM3M2MyODhlYzczNzVhZDIxIGxlZ2FjeS10cnVuaworMjM1MTEgYTRkMzI4ZDUwODk3NTliY2Q4MTg1ZWYyZTUxOWUwNzdkOGY0NjgyYyBsZWdhY3ktdHJ1bmsKKzIzNTEyIDEwYjk3YWU2OTAyNWM2NTRhNzM1YzYzYzM2ODAwZTk5NzNjNjU0OWIgbGVnYWN5LXRydW5rCisyMzUxMyAxYWNlY2M5MDhlZTg2YjRmM2QxMDdjMTllYjdkYzVmODk0MDQ2YjRmIGxlZ2FjeS10cnVuaworMjM1MTQgMWRiNWFhNjc2NWMwMWIxNDVkMWEzYzY5YWE0MzAyNGMzYmQzMGVmZSBsZWdhY3ktdHJ1bmsKKzIzNTE1IGIwY2U5MjU2MWUwNzViZDVhYjM3Mzg1NDA0N2RhZTNiZWRiMmMzZmIgbGVnYWN5LXRydW5rCisyMzUxNiBiODVjZDE2M2NkNWNkMGU3ZDE1NjVmMTY4MDRjM2VkNzhhNDQ2ZjBjIGxlZ2FjeS10cnVuaworMjM1MTcgZDk2Y2QzOGEzZmVjNzI5NDI2MDdkYWMxNDIxY2ZmOGQ5MTI1MTMyZCBsZWdhY3ktdHJ1bmsKKzIzNTE4IGM2OGYzNjQxYmFjZDgyNzIzZDMwYTUxNWE3NGI5ZTc2Y2Y1NjBhOGYgbGVnYWN5LXRydW5rCisyMzUxOSA2NjkyODU1OTIyODg0YjUxYzg4YWJlYjJlMjlhOWRlNWI2NzQ3OTBiIGxlZ2FjeS10cnVuaworMjM1MjAgNmYwMjU2OWNjNDZmZGE1MjE3ZmNiNzc0ZDM3MDQ0MzM2ZGJmZTk1ZiBsZWdhY3ktdHJ1bmsKKzIzNTIxIGUzZjYzYTk1NDU1ZjdjMDI0ODJmOThiZDVmZmZjZjNmY2JlODA3OTggbGVnYWN5LXRydW5rCisyMzUyMiAzMTg1ODk0MDRiOTU3Mjc4MzBiZWI1MzkyYTAyZTc5NDFjOTNjZjdlIGxlZ2FjeS10cnVuaworMjM1MjMgNjE1MmY4MmVhODIzODAzMGRjNTdhYzkwZTQ1NzIwNzRlNDQ4MjI5YSBsZWdhY3ktdHJ1bmsKKzIzNTI0IDFlYTViYmJhYjdkNzcxZGNhOTg5YzY3YTIzZmI4MDY2ZWFhYTM5MTEgbGVnYWN5LXRydW5rCisyMzUyNSA1NmYxNzgxMDUzNGMyZDNiNTU4ZDk4YjgyMGNiNjAzYzljODY1MWExIGxlZ2FjeS10cnVuaworMjM1MjYgZGUyOWM4ZTRkZTliMzE0YTg3NTY0OWY2MWJmMzYyYjVhOTJkMTJkOCBsZWdhY3ktdHJ1bmsKKzIzNTI3IDg3M2Q1ODRjMTIyMTM5MGI5OWYxNWM2YjQ1MDM3MDg0ODVhNWUxYmMgbGVnYWN5LXRydW5rCisyMzUyOCBkMDkyYWJjZjljNGI3NmVmMjgyY2JkYjViYWM3OWVlYTQ1MDAxZTk5IGxlZ2FjeS10cnVuaworMjM1MjkgZTRlNzQ5YzQyZjQ2MTdmZTY0MGVkMTQ2OTJmMTQwMDM3NmU2YTdmMSBsZWdhY3ktdHJ1bmsKKzIzNTMwIDI0MWVmOGE5MjNjNzYzOWEzZjE4N2E1OWVhZThmOTRmODM0OTE4YjIgbGVnYWN5LXRydW5rCisyMzUzMSA1OTM0YWVlYjM5N2YwZWZlNWU5YmJkZjBiMmJkMWU3MDIyYWFkMmFhIGxlZ2FjeS10cnVuaworMjM1MzIgMDUyNTA0NzYxNThhNjU1YTU5MDI0OTlhMmNkNDU4MmZkZDJmZGU1OCBsZWdhY3ktdHJ1bmsKKzIzNTMzIDdlYTA0MDI5ZDFhZWFkN2EyOTMyMTkzYzg3YmZiMmI3MjMyNmRjZjggbGVnYWN5LXRydW5rCisyMzUzNCBjZTRhN2U0YWQ2YzQ4YzlmMDE2ZjRiZWIyMjViYTk4MzIxNWI3ZmVjIGxlZ2FjeS10cnVuaworMjM1MzUgNjEyZTg2YTRjZDlmNmVjM2E1MTQwMjYxZWE0MGRjYjQwZTJlM2YxMiBsZWdhY3ktdHJ1bmsKKzIzNTM2IGYwOTE2YTZkY2VmMjc1ZmZlMmNhNDkwNTcyZmRmMTZkY2M2NTc0OWIgbGVnYWN5LXRydW5rCisyMzUzNyAyMjY5Y2IzNzFlMDVmYzBjYjVjZjRmNTQ4MGRhM2Q3YWI2ODk5N2NhIGxlZ2FjeS10cnVuaworMjM1MzggZDdkOTU2YjQ3ZDI0MmUyYjdlNjBkNDk1ZjliYjIzMWJjMzFhYTgwYiBsZWdhY3ktdHJ1bmsKKzIzNTM5IDE2N2U3Zjk4YjUxZmIzN2QwMTY0MDUwODcwMzU5OTdmMGExMGYxNzcgbGVnYWN5LXRydW5rCisyMzU0MCA2NmE1NmEyMGNmYTNmNmNlMjI2OTUwNTU4N2NlZGUzNTY0NTBmYjNkIGxlZ2FjeS10cnVuaworMjM1NDEgMjk4M2I1NDI1NmM3MjI1ZTYxZGVjYmIyYmQ1ZTU5ZGQyNzRmNTg5OSBsZWdhY3ktdHJ1bmsKKzIzNTQyIGEyNjVkOGJkMmYyNzc3YzFlNTk2ZDMzYjZkOTk0MjQ2MTllNTZiYzggbGVnYWN5LXRydW5rCisyMzU0MyA4YjNlYTczMzVjMWJkYzY1MzIwM2QzMWMwMjUyNDg5YjgxYzQyMmFmIGxlZ2FjeS10cnVuaworMjM1NDQgOTdjZmE0NjFkNzkzZDM1ZGU3OWY1YmE1ZWQ0NjAwZDQ2ZWU0NjVmOCBsZWdhY3ktdHJ1bmsKKzIzNTQ1IDM4MGQ0YjRlZTYwMjQzYzIyM2FlMDVhMjA3ZTFjMzZiNWE1OTRiOWEgbGVnYWN5LXRydW5rCisyMzU0NiBlMzc1MWFmMGYxZGQxNzhjMjQwNTg2MmQxZWY5YTkzYzcxNmY4ZjM1IGxlZ2FjeS10cnVuaworMjM1NDcgMDRmMjk2ZjcxMWRmMDIzYWZkMWYyMWM5MTkxOGZmOTA0MDdkZDY4YyBsZWdhY3ktdHJ1bmsKKzIzNTQ4IGZiNWYxMjExNzAzNjAzNTA5NjI1YWRjMzJmZWQ1NWFmZTYwODU5MDIgbGVnYWN5LXRydW5rCisyMzU0OSBjY2I3YWJjNzE0ZWRkYTdlOTQ5ZDgxMjdiODJmZTdhYTA0ZGQyYzM4IGxlZ2FjeS10cnVuaworMjM1NTAgYzg1M2QyNDZmM2M4ZjcwMDQxMDY1NDcxOWQ1YTI1MWFjMWYyZDhiMSBsZWdhY3ktdHJ1bmsKKzIzNTUxIGY0ODc4MjIzN2Y4NTMyODgwMjdiMjg4NjY3ZmU1ZjhlNmIyNDQ1ZGUgbGVnYWN5LXRydW5rCisyMzU1MiA1Y2NmZTA0NDkyYWM5YjczNDZiZmI0ZjM1YmMwMWZlY2ViZDhhMWVmIGxlZ2FjeS10cnVuaworMjM1NTMgNmU3ZDVhZTI4MDBmYzk0NzQxNDBlYzhiYzgxNjMyYzliY2E5YmJkNSBsZWdhY3ktdHJ1bmsKKzIzNTU0IGFjZDgzNzgyMTZjMzFmMWNjMmI2NjA3YmI3Y2FhMjhlMThmODA3N2EgbGVnYWN5LXRydW5rCisyMzU1NSAxNzhiYTMzZjY3ZTRlOGQxZTQ2N2RlZDRiNzAzNTM5NmZhMzQ5OTA3IGxlZ2FjeS10cnVuaworMjM1NTYgYTQzY2I2YzU5MDcwZjgwZTUwYzY3YjdkOTZmYWFhNThkMTA3NWNhOCBsZWdhY3ktdHJ1bmsKKzIzNTU3IGIyODVkZWNmMDQyMWVjNjY5OTE0MDAzNDkwZjU2NDEwYzIzNGUyYjAgbGVnYWN5LXRydW5rCisyMzU1OCA0MjZiMzc5YTEzOGI0MWI3MWFiNzZhNzVkOWY0MTgzY2QwODc3NWM0IGxlZ2FjeS10cnVuaworMjM1NTkgNWQyZDFlMmVjNDczYjEwMjUwYjE4OTQ1MDRjOTVkYjMxOWIwZjE2YSBsZWdhY3ktdHJ1bmsKKzIzNTYwIDZjYzBiNDgwNDllYzRiNTllYmQ3NWVlZjZjNWJkNjQ2N2E1NGI5OTMgbGVnYWN5LXRydW5rCisyMzU2MSA3OTM5MmFiMmMwMmE5ZTJkZDliZjkzMWZjYTIxNjEwZjY1OWFmZGM0IGxlZ2FjeS10cnVuaworMjM1NjIgNjIxMTY4NGVkOWRkZjA3NzM2MDEyNmFjOTU0M2VjZDc4MjQ5NjRiOCBsZWdhY3ktdHJ1bmsKKzIzNTYzIDQyYjUyNzkzNzQwYzBkZjE3MDVhMWZjMjlkYjM3ODIxMjQ3OTE1Y2IgbGVnYWN5LXRydW5rCisyMzU2NCA4NzRiYjE3MDc0YjBkNGRmOGYzMGNhNjlhZTI1NzAyNTdmNzVlYTFmIGxlZ2FjeS10cnVuaworMjM1NjUgM2IzZWU5NzYzM2MxMWRiMDQ5ZTdhMmZmOWFkYTE3MjRmZjA1NDRmMiBsZWdhY3ktdHJ1bmsKKzIzNTY2IGM1MzQ1YzBhYmQ3MDYxOTMwNjQwNTlhNzZkMjdkZjhiNjMyYzRjNWMgbGVnYWN5LXRydW5rCisyMzU2NyBmYWVjNjljMTE2NDAzNjFhMWFlOGMxOWY3OThlNTQ2ZWQ4MGViNDAzIGxlZ2FjeS10cnVuaworMjM1NjggZTQ0Y2RlZjc5MWVlODQwNTVhODJlNWIxY2NkYjNkZDdjMGJjOGY0NSBsZWdhY3ktdHJ1bmsKKzIzNTY5IDA4Mjk1ZWM1OGVhOTdkZGUxNjViZGU5YmRkZTkzYjVhZTg5ZTJiN2QgbGVnYWN5LXRydW5rCisyMzU3MCAxY2EyMjhlMjFhOTg3YTcyMmYxNDQ2YzgyZWM3OWNmYTZhNGE0NTVkIGxlZ2FjeS10cnVuaworMjM1NzEgYWE2ODEzNDViZmFiMTMzNzNkMmFmMjlhNWFiNDE1NTg2NDNiMzc4MyBsZWdhY3ktdHJ1bmsKKzIzNTcyIGNhMmJjNWNkYWE4ZTllZDIxZDQ2MmUzM2RjYjhlZjVlYjFhYTg5OWQgbGVnYWN5LXRydW5rCisyMzU3MyAzMjZlNWE3MmM2NjAyOGUyYmE3ZDBiMjYyYzU5NGI2NDUyYTkyNGEwIGxlZ2FjeS10cnVuaworMjM1NzQgYjQ0NDdiYjVhYTBlYWRlYzk1NmE5NWI3OTAzZDZhM2YwN2U2OWU0NSBsZWdhY3ktdHJ1bmsKKzIzNTc1IDEyMzUzYjEzMTIyNGM2YWNjODU5OTY2OWNjNGUyZThiNzJiMDc4NzggbGVnYWN5LXRydW5rCisyMzU3NiAzMzkzZDZmODA3ZjVkN2I1YmEzMWVhMWQ5Y2UyOWI5ZjZhMWU0NjJlIGxlZ2FjeS10cnVuaworMjM1NzcgZWExOTEwZDJjNzgxZGQwYTlkZGI4MGI0MzBmYmEyNzM5ZWVkM2Y1ZSBsZWdhY3ktdHJ1bmsKKzIzNTc4IDI4NGVhYmUzYjU1MmNkYTNmY2RkMDY4YTU2NjhmMjgxNjBlOTg4ZjEgbGVnYWN5LXRydW5rCisyMzU3OSA3YjQxZjdhMmU1Mjg1NGYyOWJjY2EwNzhkODI2M2MyOGZmMTUwYjk2IGxlZ2FjeS10cnVuaworMjM1ODAgMmUwNzNiYzcyNjg2OTUxYTJhYTkzNjA5ZTZkNTg2MjMzNjBkYWM2YyBsZWdhY3ktdHJ1bmsKKzIzNTgxIDRlZjdlYjkwYjY5YWM3NGRjN2Y0NjAxOTExZWVmZDY4YjE0ODU2ZTIgbGVnYWN5LXRydW5rCisyMzU4MiBmOWE2NmIyNGJmZmZiYTJlMmY2MDk2OTQwOGE0MGU1MjY0NjUwMTdhIGxlZ2FjeS10cnVuaworMjM1ODMgMTI1MzU1M2ZjM2NjOGVjMmIzMTkwZjRmNDM4M2RlMjc4N2MzMmUzMCBsZWdhY3ktdHJ1bmsKKzIzNTg0IGYyOWI4ZWEwYjY5NTQ0OWNiOGIyYzQ5MDZiODUwMjU4M2JhMzIyYWYgbGVnYWN5LXRydW5rCisyMzU4NSAyNjdjNmZlMGFiYzJlZWI4YjdkYjEyOGRmZTM1OGM0ZGMwNjZjODM3IGxlZ2FjeS10cnVuaworMjM1ODYgNWE5ODgwMTU2ZDcxMjUzN2U1NGFmNjRmY2JiYjFhYzk2ZTJiYTNmZSBsZWdhY3ktdHJ1bmsKKzIzNTg3IGJkYTI3NGRkZTI3ZTEwMjY0YjEwZTUzOGUyMDJhNWFkMTVmYzE2MDEgbGVnYWN5LXRydW5rCisyMzU4OCA0MjlhMDhlMmZjNzgyYzNjNmI2Y2U4OTAyZDE5YWY1ZjhmMjdjNDg0IGxlZ2FjeS10cnVuaworMjM1ODkgODU4NTUzNWU0MDRiY2FiOWRiNGQxNDgzNWQxOTg0NDAzNzljYmJlNiBsZWdhY3ktdHJ1bmsKKzIzNTkwIGIzMmQ2NmE0YjVlNmFkNDJiOGI1NmNjZmE3ZWQ2Yjc5MmZjYTkzYjcgbGVnYWN5LXRydW5rCisyMzU5MSA1NGYwNWI5YjFmYzRiYmJhOTJmNmNmZTk1MGM3ZTg3ODI3ZjBkNjg3IGxlZ2FjeS10cnVuaworMjM1OTIgMjZiNWY4Yjk0ODcyYjdhZmY3MmFkNzQ3MWExNWE5ZmQwNzdlMmQ2OCBsZWdhY3ktdHJ1bmsKKzIzNTkzIGE5NzYzNjc1Yjc0YzdhNWZiZDJiNTQ0N2YwNTM1ZDJhMTQxNTAzZTcgbGVnYWN5LXRydW5rCisyMzU5NCA3OWZiY2ZmZjU3OTcwYmUxNmE5YzNiYzA4YmM0Y2FiZTE4MDU1YTI3IGxlZ2FjeS10cnVuaworMjM1OTUgYzUyNDdhMzY2ZmY1N2JlZDg4OGRkNDk0ZDJkY2VkODdiMjhlNjM1OSBsZWdhY3ktdHJ1bmsKKzIzNTk2IDA0ZmVlNzBmZWQ4ZmVhYjk0YzIzOWQ1YTRmMzdmZTAyMzlmYmJiYjUgbGVnYWN5LXRydW5rCisyMzU5NyA4Njg5NmI1ZjFlYmMyZjgxYjIxMzhhYjRiMGZhZjk3NDdjYzdkMGZiIGxlZ2FjeS10cnVuaworMjM1OTggYzcwYTJiNTdhNGRkMjUxZWFjMjQ1ZjFhNWE2ODk2MzI3MTA3ZTA4ZSBsZWdhY3ktdHJ1bmsKKzIzNTk5IDgzODM3YWM1YmI0MGY0ZDVhNTE0MDg3ODc2NTEzZTRlNzNlYzViNjkgbGVnYWN5LXRydW5rCisyMzYwMCAxYjNmZmRmMTIxNTA5YmY2NDQxNDFkZmI5MDFkNDc4ZWRkYWJiMTViIGxlZ2FjeS10cnVuaworMjM2MDEgNGJmM2ZjZTNmNmNlZGY1ZWJmZTc5MzIyYTZiNmYyZTZhYzQxYmIyMSBsZWdhY3ktdHJ1bmsKKzIzNjAyIDcwOTZlNDRjZDFiZDI5ZWUxMGY5YzVlZThhNmJmYjkzYzZkY2U4Y2YgbGVnYWN5LXRydW5rCisyMzYwMyA4NTIyNmRmOWE1YmU5MWUxNzhhODNjOGI0MWJjYmIyNjE1MTA3Njg0IGxlZ2FjeS10cnVuaworMjM2MDQgNTNhOTU3MmI2MjM3NzdlMDFhNzliZmY2MDdkOGM3NTFkMWVmNmZiOSBsZWdhY3ktdHJ1bmsKKzIzNjA1IDE0ZTBmZTE1MjcxMWZhMjQ2N2RkOTBmMDczN2YwMDQxYWY5NWM4MzAgbGVnYWN5LXRydW5rCisyMzYwNiA0NGJlZDI1NGQ4MzczY2VjZmNmYmMwZDg5OTc0NzNkYTgzNWNhYmEwIGxlZ2FjeS10cnVuaworMjM2MDcgN2JkMTIyNzBkYzNlNzdjZGM5ZjRmOGIyM2IyMjVlNDI2ZDIwNTMyNyBsZWdhY3ktdHJ1bmsKKzIzNjA4IDM2ZDE0ODIxNGQ4ZTI3ZGZmNDI1ODkzNjE2M2Q0MmIxMWExYzVlMGQgbGVnYWN5LXRydW5rCisyMzYwOSA2N2E3YTk5ZjJkNWFjMzhjNjM2ZGJjMDMyYmQ0MTVkNzk3OTE0NDg1IGxlZ2FjeS10cnVuaworMjM2MTAgMzJlMTJmOGQ3NWQ4MzI2YjM0Njc0OTA0OTZkMjg5YzYxOGEyMGNlOSBsZWdhY3ktdHJ1bmsKKzIzNjExIGI3OWZmZDNmY2EyOGM4ZmY1YTlkYThiZWVkZTRlNGUzN2I4NzE1YWQgbGVnYWN5LXRydW5rCisyMzYxMiA0MjVjNmM1NThmYWMxYWE5OWM0NTk1NDhiMDRjZDU5ZDNlMGZjYmY1IGxlZ2FjeS10cnVuaworMjM2MTMgMzNkYWM2MTgxYmU1N2M4ZTkyOGYwMTNiMWVhODVmNTEwZGIwYjIyMyBsZWdhY3ktdHJ1bmsKKzIzNjE0IDBhOTE1YjIyZTAwNmFhMWNiYjAwZWVmZWM5MWQ0MTQxMmRhYTYxZjMgbGVnYWN5LXRydW5rCisyMzYxNSA2NmU3NzU4NWI0YmQ5NTk0Mzc1MjM5MGU5Yjk1ZTUwZDY2NjNkMjE1IGxlZ2FjeS10cnVuaworMjM2MTYgOWU3YTBhZjRjMGEzYjZhNzFjNDc3NGQ4YjU2MjllM2EzYjYxOWE5YSBsZWdhY3ktdHJ1bmsKKzIzNjE3IGQxYzdiM2VkZTQ4MTU5MjYyMDI0ZDZkZjJmOGIwNTVmMjBmZDU3OWQgbGVnYWN5LXRydW5rCisyMzYxOCBmZGMxOTE0NDA2ZTI2ZTI3MmZmYjQ2OWQ4YzIzNTZjNTlkMjZmNzc4IGxlZ2FjeS10cnVuaworMjM2MTkgNGRiYjUwNTgxZDkwM2E0NDI4YjQxNThjZTc4MTkyYWVkZjYwOWVkMiBsZWdhY3ktdHJ1bmsKKzIzNjIwIGMwZDY2Mjk2NjI3Mjc0NjQ3YzljZWIyMWY1MWM3MmRmM2U0OWFjZjUgbGVnYWN5LXRydW5rCisyMzYyMSA5MmQ1NmFlNjNlZDNmN2QwZGM1MzBmYmE0MDZhZmM1Y2U0NDJjZjkwIGxlZ2FjeS10cnVuaworMjM2MjIgOThmNTk3YTE3YzkwN2Y5NjJkODMyYmNhMTAyNGU1ZGU0MDA2MDljNSBsZWdhY3ktdHJ1bmsKKzIzNjIzIGUxOTFjZWVlNjcyZmZlMTU1ZjVjNDg5MTg2MmQ2ZDc2ZWNiMGU4MjcgbGVnYWN5LXRydW5rCisyMzYyNCA4YTA5Yzg1NWY5NTczMDQxMDVkYjhiNjEyZGE2YzAyYzQxYTVhMTAyIGxlZ2FjeS10cnVuaworMjM2MjUgYzQwODMzM2QzN2YwNjE1NTYwMmViNTczMDI1MjE1YjMxMmZhM2JiMSBsZWdhY3ktdHJ1bmsKKzIzNjI2IGI5OTdhYzcwZTQ0NWVkYmEzZmI1MTc2M2ZkMzEyZjg0OTEwY2NhNTEgbGVnYWN5LXRydW5rCisyMzYyNyA2YjFkOGNiOTkwNGFjMDFkNDEyNmYyZDIwZjg4NGFlMTNjMjlkMDNiIGxlZ2FjeS10cnVuaworMjM2MjggYjBkODMwNmMwOWM1MWIwYjY5ZGNhODZjMzYwZDY0NTA1ODBiZTcyZCBsZWdhY3ktdHJ1bmsKKzIzNjI5IGU0NmY2OWY1Nzk4YjY4OGMxYjAyY2JjODA5NmVlZWI0ZGU2NGIzNmUgbGVnYWN5LXRydW5rCisyMzYzMCA3YmNhY2E2NTMzODgyNGQ2NDYyNzMyZGJmYmM4ODgxYzAzYmJhMjk1IGxlZ2FjeS10cnVuaworMjM2MzEgMzAwYjFkOGJmYTRkZTFkMzUxMzFkZWE4NjViNjk3ODI5ZjZjOGE5NSBsZWdhY3ktdHJ1bmsKKzIzNjMyIDllNzJiY2ViNTQwYjU0NzQwZjRkZWExNDRkYjJhZDliOTk0NTY0MWIgbGVnYWN5LXRydW5rCisyMzYzMyA4ODMwYmUzMjA5YTJhZDFiZmQzYTQxNjcwMTU2NmI5YWUyZmIyNTdhIGxlZ2FjeS10cnVuaworMjM2MzQgYWJmZDE3MDAxZThmNWVmZTFhNzM5Y2JmM2YyNjNhN2VhMDhkOGY2YiBsZWdhY3ktdHJ1bmsKKzIzNjM1IDhlZjNlOTUxODJjMzZkYzEzZDViNTJmYzE1ZDU0ZjgwNTRkODk0YmIgbGVnYWN5LXRydW5rCisyMzYzNiBkYmVjODYzZDMzZDdlYTM1MDE1YzQwZTA1ZmVmOWU5NDg5MWNiYmNkIGxlZ2FjeS10cnVuaworMjM2MzcgNGJjYzIzMWMxYTQxYTRlMjkzZDNlNmUyMmI0ZDQ2OWI0YzFlODJlYiBsZWdhY3ktdHJ1bmsKKzIzNjM4IDk0OTgzOTQyYzk0YjliN2VhYmUzMWU5MjlhN2JjY2I4YzhiNzhhNTIgbGVnYWN5LXRydW5rCisyMzYzOSAzYWIzYjUzNWRhZjI0OTVmNmVhMDlkMmRjYzZmY2M5MDc5MDUyYzkxIGxlZ2FjeS10cnVuaworMjM2NDAgMDYxZGEyMmY0MjAzOWNjYWRhYmQxZDM0ZWM1N2U3ZDdhZDYzZmFhYSBsZWdhY3ktdHJ1bmsKKzIzNjQxIDljMmQ0NDQ2NzRkMDkwMWY1OTRmNWUyODM2Y2Y0Yzg1ODg5ZGE4ZjcgbGVnYWN5LXRydW5rCisyMzY0MiAyZjg5YjM0NGZkYjNkZDVjODRjMjdkYzU5ZmI4YWJmNjVjNmYxN2RmIGxlZ2FjeS10cnVuaworMjM2NDMgYWZmOGQxNGIyOGFkYTNkNzllZjBiNjVhNTJhZjg5NWUzYTQyNTg4NyBsZWdhY3ktdHJ1bmsKKzIzNjQ0IDNhZGMzYTE0Y2RlNDEyN2FjMWY0YWU0ZGY5YjQwZDdkYmZhMjc2MTggbGVnYWN5LXRydW5rCisyMzY0NSBiNGY4Mjk5NDFmM2RmNDExZTExNDNhMTFjZGM3ZGQxODA4MmU2NzA1IGxlZ2FjeS10cnVuaworMjM2NDYgYmUwODczNGIwYWZkMjEwMTY5MmFkODlhMjI0NWQ5MTE2YTg2YzU5NyBsZWdhY3ktdHJ1bmsKKzIzNjQ3IDNiNDVjMDRhNDgzM2JlOTBjZTdjNGQ1NGI4YzgzMGM4NzIwZWU2MTUgbGVnYWN5LXRydW5rCisyMzY0OCAyYmE0MDE4ZGUyZTMxMDY0ODA5YjVjNmQ1M2UyNGI5Zjc3NDQ1NzdlIGxlZ2FjeS10cnVuaworMjM2NDkgYmU1OGVlZTY5YTk0OTQ0M2IwYTllZWY4ODk0NjhmYmI1MjAyYjQ5ZCBsZWdhY3ktdHJ1bmsKKzIzNjUwIDNjMDFjMzRkMDdmNjhlYzE2Y2E0Yzk1MmM3MmE4ODdhOGQ1YWQ1YjcgbGVnYWN5LXRydW5rCisyMzY1MSBmOTA4YjA2M2YyOGI3OTc1ZTVlZjg4NWJkNmU5NjJjNzJkODFkYzhmIGxlZ2FjeS10cnVuaworMjM2NTIgYmU4Y2JhNWEzYjdiZTg3OTkzMGNkYTNkZTM3NjJjYTAwZDk2ZmNiYiBsZWdhY3ktdHJ1bmsKKzIzNjUzIGI0NzE2ODE3OGQ4NzljYmUzMjkzODBkN2Q3MGI3MTcyNzRkZjk3YTggbGVnYWN5LXRydW5rCisyMzY1NCA5NDZiZWJkMDAxMzJjM2JiZDQwMzc4MjBiY2FiYTAwZGU3YTIxMjhmIGxlZ2FjeS10cnVuaworMjM2NTUgNzczYTEzMGIzMzBlYmVhY2VjOTNiMTQ0NzA0ZmFjZjYyYzYzODk5NyBsZWdhY3ktdHJ1bmsKKzIzNjU2IDg1M2MyNjhiZjI0Nzk1ZTdhMjViZWFjYjc0M2FhMzE1NDZjMTA4YjMgbGVnYWN5LXRydW5rCisyMzY1NyBjMjdjZjkxM2IxZDY5MTAzMGQ3ZTJkMzNlNzE0MDJmZDg4ZDIyMzIzIGxlZ2FjeS10cnVuaworMjM2NTggYWQxZjA4MTI4MGFhMDA5ZjVlMzJmYWM1MzllODkxZDg3Yjg4ZWZkMiBsZWdhY3ktdHJ1bmsKKzIzNjU5IDIwNTA4NzdjMGMzNjNhYzE4MTFhYjVjYTMxMDU1MTdmNjE0MDVmMzYgbGVnYWN5LXRydW5rCisyMzY2MCA3Mjk0OTMyZDc0ZWNhZWY1YzUzYzk1NmQ1OGE0NmMyYWVlNmZhNDgxIGxlZ2FjeS10cnVuaworMjM2NjEgOWZlOTc1NDhkOTUyMWZkOGVhODQ5N2IyOGJiZjRjNjk0NzM3YmEzOCBsZWdhY3ktdHJ1bmsKKzIzNjYyIGM5YTIxMjMyOWRhNmYwY2ExYmM3ZTFmMzhhYTJlZTY4NjRmYWFlZTAgbGVnYWN5LXRydW5rCisyMzY2MyA2NWY2MGQzZmNkZDc3ZTAyZTczMDI1YTQ0ZmYyMjBjN2MyMzAwNDUyIGxlZ2FjeS10cnVuaworMjM2NjQgNjU3OTA1NjIwMzNjMTNjYmM4MmIwZmQ0YzE4ZWU3YWMyN2E3OGM0NiBsZWdhY3ktdHJ1bmsKKzIzNjY1IGI3NDYxMGM5MmQ4YjgyNmQwYjNiZGViZWIyN2VjMjEwZjI0MTMzNjAgbGVnYWN5LXRydW5rCisyMzY2NiBmNTdmMTdjYjQxMDg2NTQyYmNhYjBhMjIwOGM4ZjkyMDNhM2RjZDY2IGxlZ2FjeS10cnVuaworMjM2NjcgZWQyZWVhYjgwMmQyYzQ5YmQxNTQ5NDAyNzM4ZjA1ZmQ5NjcxN2YwMiBsZWdhY3ktdHJ1bmsKKzIzNjY4IDlhZTc4ZWY4NThlMmNhOWJiZWE2ZmIwMmIwOWI2MzJlMWYxYmM2NzQgbGVnYWN5LXRydW5rCisyMzY2OSBiNmE1ZmVjYmVjM2NiZWE2ZjhjY2NjMGMwOTYyOGZiZjE4NWQ2YTM5IGxlZ2FjeS10cnVuaworMjM2NzAgYzNhOTM3Y2Y2MGE1ZjVjZGE3ZDY1YmIzMTUxNDFhYWJhYjIzOTg0MSBsZWdhY3ktdHJ1bmsKKzIzNjcxIDZiMTA0MDgzZjVmMzNhOTBiOGU3Y2YxN2I2YTgxMDJlNTU0OTA1M2MgbGVnYWN5LXRydW5rCisyMzY3MiA0NjlhOGUxZjdlZGY1MTM3ZjBjMzIyMTRjYjgyNDgzNzBjMjdhZWM1IGxlZ2FjeS10cnVuaworMjM2NzMgYjk4MTg1Yzg4MmU0ZTc2ZmExOTI5YThjMWE1ODVkZGY0YTliZjY5MCBsZWdhY3ktdHJ1bmsKKzIzNjc0IDJhNGJiN2QxOWI2MDNmZTg1NmQ0ODVmZmMzYzU1NDM0NTg2MDY0ZDYgbGVnYWN5LXRydW5rCisyMzY3NSA0ZGFiNjFmNDg0NTgxNzIxZmIwOWRjYmU2Mjc3OTdiNmQ1ZmRjOWZkIGxlZ2FjeS10cnVuaworMjM2NzYgNjk4YmY3YzIyYmZlYmE2MmNlZWNlNzljNGFlOTg3ODQ4YTUyODg1ZCBsZWdhY3ktdHJ1bmsKKzIzNjc3IDFjYTYyN2M0YzEwNWYyMWZiZDJjMjdlOTU1ZDM5Nzg4MzVjZjViMTggbGVnYWN5LXRydW5rCisyMzY3OCBlNGQwYjFmOTRlY2E4ZDZiMjMyNDU3MjU0NjNkYjhlYzMxYWM3YmE2IGxlZ2FjeS10cnVuaworMjM2NzkgNjIxYzc3MDNlOGI3NTI4ZTlkZjliYTM3MzhiZWJhY2FhNjg2NjNiYiBsZWdhY3ktdHJ1bmsKKzIzNjgwIDU5MDBhOWQ4MDg0ODA5MjY5YzU1YmJiYmM4OTRkMGJlMTU1OTViN2YgbGVnYWN5LXRydW5rCisyMzY4MSBjMTY4ZWRhNzM2ZTQ0YTdjOGI0Y2RhZTM0YjIxNmM3MTE0MTg2Yjg1IGxlZ2FjeS10cnVuaworMjM2ODIgOTAzMjIxODUyYzNhNTljMzE3MDczNmVhMjQzYWUyYTEzOGRlNjAzYSBsZWdhY3ktdHJ1bmsKKzIzNjgzIDRmM2QxMjQwODMwZTZmNTMwMzhhODAyZWRkYTA0MDgwNGQ1YjVhMWYgbGVnYWN5LXRydW5rCisyMzY4NCAzYTE4MTMzZjk5MDY0MzUwNGI0OGUwMDA0YmM1OTE4NGQyYjJmMjM0IGxlZ2FjeS10cnVuaworMjM2ODUgZWU4OTU2N2JjYWI0NDUwYTUxYWRlODg0MTFhNzhhNTI4MTEyYzhhNCBsZWdhY3ktdHJ1bmsKKzIzNjg2IGY2MTg2MDdlOGY5ODQyMGQ2ODg4YzRlNDc3NzJiZTgyMjhhOWE4MDAgbGVnYWN5LXRydW5rCisyMzY4NyA0Njk4YTNlYzVmYThjZmFkOWI0ZDc5NTEzOWU0ZGFkYmI2NDZmNTk2IGxlZ2FjeS10cnVuaworMjM2ODggNmRhMDM3MThjMTMzMGMzYzIyMTE4Nzg3M2FhOWM5Nzg4MTllMmEwYiBsZWdhY3ktdHJ1bmsKKzIzNjg5IDdkMWY0OTBiNmNiMTcyODI0ZjlkZGViMDczZWE0ZGY1MTUyNDlmMDggbGVnYWN5LXRydW5rCisyMzY5MCA1MThlMzBmOTBkMWY3ZDg4NDRlMjcxODhkYWE1OWNjYTU2YzQ2ODJmIGxlZ2FjeS10cnVuaworMjM2OTEgNDcxMmJiNjJjYzI1ZDA1YjJkMGM3NmE5M2NiM2JmNThhZWU4ODkxYSBsZWdhY3ktdHJ1bmsKKzIzNjkyIDYzMmI5ZDNhOGQxYTdiMjkwNmY3YzgyYjE3NDFmY2Q2YjE5NjQyYWEgbGVnYWN5LXRydW5rCisyMzY5MyBiMDI5ODZlOWE2YmU0NzIyNjY0MmI3ZTVlZDY1N2RlMThiYWQ4ZTU0IGxlZ2FjeS10cnVuaworMjM2OTQgNWQ1YWQ5NTFhNmQ2ZTE3MGQ0ZjMzYjY0MjlhNjhlY2NhOGJhOTA5NiBsZWdhY3ktdHJ1bmsKKzIzNjk1IGNlZTBmZTVmY2UxMTVkYTU5NTk4YTg0ZmE5ZThjMjdiM2NlMDVmM2MgbGVnYWN5LXRydW5rCisyMzY5NiA1NjE0MWI4NmE3ZjJjOTVhMTJmNjZkZWVhNDk4MmY3NGE1MzU5Y2IzIGxlZ2FjeS10cnVuaworMjM2OTcgN2Y1MWE0YjdkZWI0NDBlZTJmZDVkNmM0NzNjNGNmMTAxZDE2M2Q1YSBsZWdhY3ktdHJ1bmsKKzIzNjk4IGJhMjg1MDQwOGYwYTI2MGQ1OGQ5NDM2Y2EyNDM0YTRlZjRiZDQ3ZDIgbGVnYWN5LXRydW5rCisyMzY5OSA1MDAwYjVkNGMzMjY1ZjU0MTBlNzc4YjMzYWQ3YzJlMjUzODdiZDRhIGxlZ2FjeS10cnVuaworMjM3MDAgMjAxMThmNDEyOWRlZmRmZTMxOWZlMDg3OTc4MTA3N2ZkY2Q1MGJiNSBsZWdhY3ktdHJ1bmsKKzIzNzAxIDM1ODM5N2I5MDcwZjZhN2VlOTVmZTM5MzQwOTdhMGZkZjFiOTc5YzQgbGVnYWN5LXRydW5rCisyMzcwMiAwOGQ3YTY3NTZiZmVkOTJhODg4YTgwYjNhZjRlYzk3YzQ1NjY3OTFhIGxlZ2FjeS10cnVuaworMjM3MDMgODU1NzFkNWY2NTQ1YjY3YmE2ZWJmODA4N2FmN2E2NDBlYWY4MGUxZCBsZWdhY3ktdHJ1bmsKKzIzNzA0IDliZTJjYzZiOTk1OWQ4MzFjNTFhYjA2ZTA0YjAxMzRjNjk5ZjIyNDYgbGVnYWN5LXRydW5rCisyMzcwNSA1NjI4MzRlZDhiYWJkZjdhZTMxY2I2YjkzMTgxODlmNGY5MTQ0MWFkIGxlZ2FjeS10cnVuaworMjM3MDYgNDY3YWM0NTNjY2MzMmM3ZWI2M2QyYjlkZWRhNWYyODQ3YWNiZjdiMiBsZWdhY3ktdHJ1bmsKKzIzNzA3IDAzNjI0ZDc0ODRmYTA2MDBlMGM0OGZkZWNhNzRhMTg0MjE3ZTc1ZTkgbGVnYWN5LXRydW5rCisyMzcwOCBiYzkwNWExMWMxNDhhNDhiY2I1ZmQ0MGIxMzM1YTUyZDlkNjQ5ZjMwIGxlZ2FjeS10cnVuaworMjM3MDkgMjdhYjAzMjdiMmZjM2E5ZTdhN2JkMDNhOGU4NjNjMzM0NWZmNDkxMiBsZWdhY3ktdHJ1bmsKKzIzNzEwIDg1NTI0NWJiNGQ0Mjc2Y2VmNzhhMmNjZWRkOWVmNmU2M2I1NDY2NjcgbGVnYWN5LXRydW5rCisyMzcxMSAzNTNhM2U5Zjg1MTZjMTU5OWI3OGZkYWEzZTM2ODM0OGNlNTBjYTViIGxlZ2FjeS10cnVuaworMjM3MTIgYjFhODYxNmYxM2U0Y2Q3MjZiZTU1ODAzOThmNzQ0ZTA0YWU5ZDM4ZSBsZWdhY3ktdHJ1bmsKKzIzNzEzIDY5ZTY1ZTczOTFiODE3YmMwNDg0NmI3ZThhMWJmNzA5ODVmNDAyNzAgbGVnYWN5LXRydW5rCisyMzcxNCBiNzI1NjhhMmMxN2NlYzIzMDg5MTE0Y2ExZDI1NGQzZGFkNDVlNmJmIGxlZ2FjeS10cnVuaworMjM3MTUgOTliMmJkMjViYjEyZDQ3YTAxZmMxNDMxNDQ1OTU1NWFlNjE2ZWYyNCBsZWdhY3ktdHJ1bmsKKzIzNzE2IDQxYmVkMWY2ZDI2Y2ViM2E3NTdiM2VhMjEzMzk4YzJmODE1NmYyYmIgbGVnYWN5LXRydW5rCisyMzcxNyA2NGY0YWM2MDZhZTUzMTNkNDI1ZWQ4YTNjMDA4NmNmYWNiMTJhY2M0IGxlZ2FjeS10cnVuaworMjM3MTggNTk4YzAyYWIwNjJkNDNmZmNjNjZmMWRlOTRiNDdjMGMxNjNiNWJkNCBsZWdhY3ktdHJ1bmsKKzIzNzE5IGVjOTU5NjY4NzI5Mjk2M2UzNmU0YmFkNGI3OWQxODg0Mjg1Zjc1ZTYgbGVnYWN5LXRydW5rCisyMzcyMCBiZmY2YzJkNzZmMzM2YzUyZDZkZWI0OGM2NzkxNDMzZWE3YTAzZmJhIGxlZ2FjeS10cnVuaworMjM3MjEgNGY3MWRjZmQwYTkzNzBlZjdiZTQyNmI0Mzk4NzI3NjgxODI3YzcyZSBsZWdhY3ktdHJ1bmsKKzIzNzIyIGE5NjIzNWIyY2E2MjViMzBhNjg2NDZhNjM4NGVhZWFjM2M2OGQ5N2YgbGVnYWN5LXRydW5rCisyMzcyMyBjNjhkMTg1NWRhYTllYTI0ODUxYWFiYzFmMzA5Yzg3NWI5Nzk0ODdiIGxlZ2FjeS10cnVuaworMjM3MjQgZmZiZjk0ZmQ5Y2VmOGUyZjZlODUzMWRhY2UwM2UzMWVlMmFiMDA2MyBsZWdhY3ktdHJ1bmsKKzIzNzI1IDdlNzFlZWJhYjRlYTM5ZTk5ZDYyNmQ3MmNiYjM5NWFhNWU5NzZhNWEgbGVnYWN5LXRydW5rCisyMzcyNiAyZjBjNWFmNGQ1ZWEwN2ZiNTZhMDViNmU2ZDE1YmE0YmRiMWRkNGU0IGxlZ2FjeS10cnVuaworMjM3MjcgY2UxMmJiMTA5N2E0MTY3NTM0ZTQzYzQ2NGY3ZjFlNzY1MWM1M2ZjZSBsZWdhY3ktdHJ1bmsKKzIzNzI4IDk4ZGYwMTE1ZWNmOTAxMmM0NmNlYzk5OWFhOTZjMzdjMWQ2NTMyNWIgbGVnYWN5LXRydW5rCisyMzcyOSBjNzI5MTVkOGFhYzcyODlmODZjZGM4YjMyNDAxNGE0ZmE2ZTVmNDNhIGxlZ2FjeS10cnVuaworMjM3MzAgNjBlMTJmODNkMmQyMjVlM2IxYTg5MmVmMDRmMWI5NmE4NjQ2ZDNlYiBsZWdhY3ktdHJ1bmsKKzIzNzMxIDViNWMxNWEwOTVjYzdhYmI1MTVmNDg3MTU0ZTQ0NGI5ZTk2MjMyMTAgbGVnYWN5LXRydW5rCisyMzczMiBlYmZkODdlODc4ODRlMDZmODAyZTEwZGFhYjJlOTMxODllY2RiZjczIGxlZ2FjeS10cnVuaworMjM3MzMgYzQ2ZTk0ZmQ2OTg2YjZlMGVhNjZmNzhjMDQ0MzUxZTEzODM3ZmJlNCBsZWdhY3ktdHJ1bmsKKzIzNzM0IDg5NjRlZjg0YzkyZjRkMjE3OGJiMzhmZTQxZDFmOWZhMzRjNThlNGIgbGVnYWN5LXRydW5rCisyMzczNSBiYmRjMGFiZmJiMTM5N2ZmNTFiYTk3MzQ3NzJiY2NlNWVmMmQ5OWFlIGxlZ2FjeS10cnVuaworMjM3MzYgZGM3MjA0ZGQyNjg2ZWEzZWNmYjkyOGFkOGVmMDY5NTQzZDI1MjA4OSBsZWdhY3ktdHJ1bmsKKzIzNzM3IDhkNWMwMDBlMGU1YjQ0Mzg4ZjUzMzM5MmJlMjYwOTdjYTM4NWYzYWYgbGVnYWN5LXRydW5rCisyMzczOCBhNWEzMGJhMjg5OWY1N2U5ZGVmNjFmYzc5YjNjNWMyNGM0NmJiNjExIGxlZ2FjeS10cnVuaworMjM3MzkgMmYwOTVjM2UwMDdkZDc3NmQ0NzQ0OWNkODFhNWJjNjZmY2QwOWI2OSBsZWdhY3ktdHJ1bmsKKzIzNzQwIDBjYjI4N2NkNzU0N2E4NDdjNjI0M2VlZDY1NjE0NTVmMjIyNTA1YjYgbGVnYWN5LXRydW5rCisyMzc0MSBjMjM5ODllMjJmZmE1MDExNGZiMTVmZjg4MmRmMzg1MGZiNjMyYzRjIGxlZ2FjeS10cnVuaworMjM3NDIgMDcxY2ZlZThkOGViOWFjMjk2ODNhYWY4MDA0MzdlNDZhODA0MTUxNCBsZWdhY3ktdHJ1bmsKKzIzNzQzIDc2OWRmODVkNzBiYzEzZmYwZGM0MjVlNDNmNDZkNGNlNzRlNzFjNGYgbGVnYWN5LXRydW5rCisyMzc0NCBkZDBjZGQzZGVmZDgzOWY4OGM2YmZlZmExYmIwMGI0ZTA4ZjE3NWQwIGxlZ2FjeS10cnVuaworMjM3NDUgY2Q5NmM0YjAxZmYwZjBhODMxM2VjMDMxZmJkMzYwNGE2ODJiMDFhMCBsZWdhY3ktdHJ1bmsKKzIzNzQ2IDhmNDczMTc5YjA3MzAwOTRmMmE1ODA4OGY0YzBjMmU3YmViNGU0NzkgbGVnYWN5LXRydW5rCisyMzc0NyA1ZDY3ODM1NmM4OTQyOWIyZTRiOTNjYTlmYzRhZjEwYzQ0NjNlZmNkIGxlZ2FjeS10cnVuaworMjM3NDggMWE5NDk0ZjllZGIyNzAyMTdkNjgwMDg0ODgyMDlhMjI1ZmRkOWI5ZSBsZWdhY3ktdHJ1bmsKKzIzNzQ5IDRhZjhkMjRmYTY5MWVlYTFhMGU2YTFmNTAwMTVlZDNlYTlhZTQ0ZDAgbGVnYWN5LXRydW5rCisyMzc1MCA0YmZkYmM4MjMxMGYxYmMzNWE2ZDBiNmU0YWQyYTUyMDQwZjQ5YTY3IGxlZ2FjeS10cnVuaworMjM3NTEgYjY5MjczYmVlMDk1MGNkN2M5MGIyMjMyMDVlZTNjNmU2ZWZiZGQ3NiBsZWdhY3ktdHJ1bmsKKzIzNzUyIGJlNjdiNjZlNWZlZDBmNzI2NmNlZTc5M2QxNmY5ZGFiMGI4NGNjMjUgbGVnYWN5LXRydW5rCisyMzc1MyBlMDlmYjQ4NDg3NjUzNTI4ZmU2NDEyYzNjMzM0NjFhODViMjQ0OGRkIGxlZ2FjeS10cnVuaworMjM3NTQgN2NiZDQwN2JlNmU3ZDNkMTZkNzc4NjQyZWYxMjJhNzAwNjAyMWIyNSBsZWdhY3ktdHJ1bmsKKzIzNzU1IDE0OWE2NWZhNDI3YzM0OTU5YjYyMWRmZmFkNzI1ODZmN2VkY2E4MGMgbGVnYWN5LXRydW5rCisyMzc1NiBiZjRmZjA1ZWFiNTIwN2FkMDY2ZWViMjA1MzE0MTJhOTk1OWQ1ZGUwIGxlZ2FjeS10cnVuaworMjM3NTcgMWQ5ZTY5ZmNmMGY4ZDRmNTE2MjdlZWYyMWU5ZWRjZGQxYmFkMzY4NyBsZWdhY3ktdHJ1bmsKKzIzNzU4IGM4YjBlOTk0NTE1OTlmNWM3NzE3OGIxNjJlYWQ2MzQ1MjNjMWU1ZDAgbGVnYWN5LXRydW5rCisyMzc1OSA2OGZlZmE5ODJjNWMyOTFlOTc5YzdjMjYyNjU2YTVjNTFkMGIwZGYzIGxlZ2FjeS10cnVuaworMjM3NjAgN2NiZDI4ODdmNjBmY2UzZTRhOTQ2OTJhMDkwNTRmZTNmYjE0ODkxNyBsZWdhY3ktdHJ1bmsKKzIzNzYxIGE5YjE5ZGIxODBhMjYwMGIwMjFiM2M2ODFlNmJmYzlkNDM1MzY5ZDMgbGVnYWN5LXRydW5rCisyMzc2MiAyYmM0MTgzZmI1N2U2OWZhMTYwZGMyNDFkNDhlYzg5NGE1MDNmNDk2IGxlZ2FjeS10cnVuaworMjM3NjMgYTBjOGMyZTVhNDRkMDg3MmFjNTIzZjhkOGI5OGY3NTY3NDE0ZjNlYyBsZWdhY3ktdHJ1bmsKKzIzNzY0IGZkZGFjZWZlZWIzNmRmYTI2YjE1MTJhNTcxZWRhMTY4ODgzZmVjYzkgbGVnYWN5LXRydW5rCisyMzc2NSA3MzNjYjI2OGFkMmZiMGI3NDA3Y2NjZjVkODVhMjc5ZmUzNzRiODBjIGxlZ2FjeS10cnVuaworMjM3NjYgNjQyNmE1YWRiZjc3NTNiZjA2YzdjNzVkZDQwYTE2ZGVjZGU0NzdmMCBsZWdhY3ktdHJ1bmsKKzIzNzY3IDg0MzMxYzhkOThhNDFhZGQ5MGQ3YjY3MTRmZjQzZjk4ZjlmZTViYzUgbGVnYWN5LXRydW5rCisyMzc2OCBlMDg2NGFhYzliNmIyNWQyN2ZjMTVkYWY5YzY4OWFlYTk3MzU1MGZkIGxlZ2FjeS10cnVuaworMjM3NjkgOTM4NDFjNWY0NzViMTAwYThjMjU0ZmRmZGE2Mzk3ZDA3NGMyNDU1MSBsZWdhY3ktdHJ1bmsKKzIzNzcwIDk3Yzc1Zjk4MWE5ZTYyNzNkNzNjNmYyZGMxN2IyMjMwYmZmMTA3NWIgbGVnYWN5LXRydW5rCisyMzc3MSAzNjRjMjM4YTY4NzEwZmQ5NDYzMmJkNTA4NjBlMWQ4ZmI1M2E0YjUwIGxlZ2FjeS10cnVuaworMjM3NzIgOGUwYzMxODQ5YzY0OGU3ZDM2ZWZiYmQxY2U3NTgxYmM1ZDQxOWI2MSBsZWdhY3ktdHJ1bmsKKzIzNzczIGRmYzlmMjNjODY1NTM0NTMzMjMxNWRkNzI0YjNhZWE1NzA3NGQzNzMgbGVnYWN5LXRydW5rCisyMzc3NCBiZGM0ODZjNjZkZjA0YmEwZDc0NDkxOTFhNzZlYzk3NmU4YWIzN2RiIGxlZ2FjeS10cnVuaworMjM3NzUgYzEzYTQ3M2NlMWI3ZWRkYmIwOGRmMDhiNjNjZDA0Zjg4OTUwMDU0MiBsZWdhY3ktdHJ1bmsKKzIzNzc2IGRmYjJlZmE1NTk2NzJiODdlZWEwZjU3YjVlNTk2ODUwNjZiNTUwMWEgbGVnYWN5LXRydW5rCisyMzc3NyA2MmIyMDc1ODg4NjZjYzZmNTBlNTUwOGYzYWFmMzFiZTk1YzljYzA5IGxlZ2FjeS10cnVuaworMjM3NzggZjkzOGNkMWJhOTRlYzRlMzI3MzAwNTQwNGUwOWFhYTg1MDAwNmI5ZiBsZWdhY3ktdHJ1bmsKKzIzNzc5IDA2ZjEyNTRkMjI4MDhlYWQxODIwMjNhYTVjNjY0OWQwMDgxYjdlNmIgbGVnYWN5LXRydW5rCisyMzc4MCBkMjExNjBhOTIxNzkxMzg5YzEyODU2ZmIxM2U1MGYzNDliNWMzZmU0IGxlZ2FjeS10cnVuaworMjM3ODEgZDUxZmU1MjBlNWZkYzAyMGMzMjc1ZGJhNDAwMjEwMmJiMjg3NmUxOCBsZWdhY3ktdHJ1bmsKKzIzNzgyIDIzZGM3YmIwYmU0ZmI3Nzg2OGUwNTM5NmYxNTEwMWM5NWUwZTk0ODkgbGVnYWN5LXRydW5rCisyMzc4MyBkMDFjNWYyOTkxNWEyOGM4MzhhNDcyNTI3NTNlMjNmODVmNzg1YjE5IGxlZ2FjeS10cnVuaworMjM3ODQgYmMzYzg0MTk4NzRjNmUxZjM4OWNmNWM4Nzk3ZjIwMTgwMDc3YWFkMCBsZWdhY3ktdHJ1bmsKKzIzNzg1IGNiODdiZDk3Zjc0MGYxNzUxYWZmZTQ4MDFlMjUxYjI5ZDA5MzFmN2YgbGVnYWN5LXRydW5rCisyMzc4NiAzZDEzNDE3YTYzZTBmZDczNWE4NWUyZDFiMDZjOGVlMDcxN2M4ZjAxIGxlZ2FjeS10cnVuaworMjM3ODcgNTRhODM5NjA0NTQwM2MwZTI4N2YyZWNmZDFiMzhhNzBmZDBlMjgxNiBsZWdhY3ktdHJ1bmsKKzIzNzg4IGZkNTYxNDRhOTZlOGZhNjQ0YzVlMjkxODliNjUzOTFlNmE1ZTU5M2YgbGVnYWN5LXRydW5rCisyMzc4OSBjOTQ4YmNiMDQxNWUwYzMyZWE0MTM4NmJmODQ0M2ZkZDA0Y2M5MTkyIGxlZ2FjeS10cnVuaworMjM3OTAgMWYzYzFlODMxZjIxNmE0OWJlNmMwODMyM2E3MzA2MjljZjdlMDk1NyBsZWdhY3ktdHJ1bmsKKzIzNzkxIDNkM2I2YjRjYjc5ZjM5OWIyMmUyMTQ5YTc3MDcyYTkyNjE3M2YyMTUgbGVnYWN5LXRydW5rCisyMzc5MiBjYjMzNGE4YzhkZDIzYTU2NmZkYWQwYmY3YjA0NDVjMTI5ZGFlMmM3IGxlZ2FjeS10cnVuaworMjM3OTMgZGJmZWQzYmYxNjBlZWRhMDNkM2EzMjAxNzk5YTMxYTM1MzVlODQzNiBsZWdhY3ktdHJ1bmsKKzIzNzk0IGYwZTMzYzU3ZTQ2ZTgwMTAxNGQ5NzhkMTBiY2FjY2I0NTZkOWY5MmIgbGVnYWN5LXRydW5rCisyMzc5NSA5Yjg0ZWZiZjZiMGQwYjc3NjczMzJkMjM0YzNlN2U0NmRmNDEyNjMxIGxlZ2FjeS10cnVuaworMjM3OTYgYmMxMzhiYzczY2RkMWMzNTRmNzE5ZTc2MzM2N2E3OTZjMDFhZDMxMSBsZWdhY3ktdHJ1bmsKKzIzNzk3IDRmN2JlZmVjMzViMDE5N2Y0Yjc5MDcyYTU4YTE4OWFlNDI4NzZiZjIgbGVnYWN5LXRydW5rCisyMzc5OCBjMjAwNWJiODc5YjQ2N2Q1NDc5ZmYzMmFjYzI3ZjU4NjQ0Y2M3MzU4IGxlZ2FjeS10cnVuaworMjM3OTkgODBiOGJmYTA0NDA2YmYzZjQ5MTVmN2JhYTJiYzZjNDBmNzEzNDgxNCBsZWdhY3ktdHJ1bmsKKzIzODAwIDRiMTYxNWJmNmViMDlkMzFjNzYyMWM2NWE5ZWY5MTM0MTNlOTM5YjggbGVnYWN5LXRydW5rCisyMzgwMiAwMWFmOTFhZWNjZDQ0NzI1NDI0MTc5ZTI3YWY2ODMxZjM5MzY4OTU5IGxlZ2FjeS10cnVuaworMjM4MDMgZmUxYjZjZTRlYjkzNjM1OTg5MmM0NzBmYzc5NTIyOTc2YTk0NDBlYiBsZWdhY3ktdHJ1bmsKKzIzODA0IDJkNTk5YTM2YjY3YThjMzBjYjk4YTQzZGVmNDljN2VkZjM3ZWQ5YWEgbGVnYWN5LXRydW5rCisyMzgwNSBhZDI2NjIwOTVkNzcyNDY5MWQwYzQ4NGFmZjQ2YzJiZDI5NmQ0ODgwIGxlZ2FjeS10cnVuaworMjM4MDYgZjU2N2I0NTczN2MwZTM0ODBlMjhkMTJmMTEwMjg4M2UwNTIxNmNiOCBsZWdhY3ktdHJ1bmsKKzIzODA3IDI5NDkwMWFiODYzMGI1ZGMwOTcwM2NmYzA3NzA4YTI0NmZhZTRhZTAgbGVnYWN5LXRydW5rCisyMzgwOCBhODk5NWE2ZGU4ZDAwNWU2NjM2NmU3MzE1YzYwZjgzMDk4YWFkNDAyIGxlZ2FjeS10cnVuaworMjM4MDkgNGJhNDU0OGJhOTQxNzk0MGRlMmJiODMzOTdjMTJmM2M5YTYzMTM5NiBsZWdhY3ktdHJ1bmsKKzIzODEwIDM2NzE0Yjk4ZmU1MTIwZTY1MjcxZDgwMzFlN2RhZWM5ZmU1OThjYzggbGVnYWN5LXRydW5rCisyMzgxMSA3M2ExMzk1YTIzNTE2NDkwOTY5YTA0MzFmNmQzMzlkZjE4MTRmNDMyIGxlZ2FjeS10cnVuaworMjM4MTIgYTEyY2NkYmNlOGRhOTNlYmE2NWI4ZmE0ZTQyOWM1MTQ2Nzg5N2M2OCBsZWdhY3ktdHJ1bmsKKzIzODEzIGE1NjQyN2U1YzVlMTcyODRjMjJmOTI3ZWYxY2IzNDJlM2UyMTdlZTQgbGVnYWN5LXRydW5rCisyMzgxNCBkODgyNTQ3NWI4MDA3MmU4ZWE5Yjk4N2ZlODZjYjgzMGI5N2UwMzgyIGxlZ2FjeS10cnVuaworMjM4MTUgNmE1YTEwYTViNTI2NWRkMTNlNjY1MDhiZmEwMWZhMWFjZmU1ZWUxOCBsZWdhY3ktdHJ1bmsKKzIzODE2IGM5NjA4Yzc5MGY2ZjVmYTg1MTM5MTRhMzQ5ZTRlZWE1YzdlOTcxMzQgbGVnYWN5LXRydW5rCisyMzgxNyA2NWRkNjE1N2Y5OTkzNGJhNDEwNzBmODZjOGY2M2VhYzkwZDIwMzRjIGxlZ2FjeS10cnVuaworMjM4MTggNzIyYmIxZmQzMWVhMDk2ZmNlYmYwY2MwMWQxZjg2ZTlkYTNiYjVmMSBsZWdhY3ktdHJ1bmsKKzIzODE5IDAzMzZlZTViNDZkNDIyMmVjMzA3YTRiZGU2ZjdmYjVjMmQ5YWViZDQgbGVnYWN5LXRydW5rCisyMzgyMCA5NDliYTQ3ZThmMzBjYTdmM2Q2MzgyMTljNTM5ZmQxN2NkN2VlMGRmIGxlZ2FjeS10cnVuaworMjM4MjEgODdlNWZlMDU2ZDI5OWY1ZWEyYWFjNTJkOGE3ODkwZDYxNDJlYTc3MSBsZWdhY3ktdHJ1bmsKKzIzODIyIGFlNTA3Y2Y2N2ZiZmM0M2QyZjE5MTg5OTIwMDgxZmM0NzBkMjdkNzkgbGVnYWN5LXRydW5rCisyMzgyMyA0YTI1N2E1OGJlOGJmYjczMzFhZjc2YTZiOTAyOTQ4ZDFmOGQ0MzU5IGxlZ2FjeS10cnVuaworMjM4MjQgZGE4MTEyNWIyYWY4ZWFmMTBiZDEzMmZhYjMwYWU3NjU3MmJkNjM2YSBsZWdhY3ktdHJ1bmsKKzIzODI1IDQ3M2FkYmY1MjE3MTg0OGQyMTczMzE2MTQ4M2EzMGU1NTYwMjg3MjQgbGVnYWN5LXRydW5rCisyMzgyNiBlYzcyYjYzZDI2OWFlYjlhMzI5Mjg0YjAwZDdlNmFiNWVjYzdhNjRjIGxlZ2FjeS10cnVuaworMjM4MjcgZDA2MjFhNjY5YzU2OTBkMDZiZGUyODUwZTZiMzZkNjk1ZDMzNGM0YSByMjJiMS1icmFuY2gKKzIzODI5IGVjMDVhZmFmZTEzYjk1ZDdmNjRhYTUxMmFhYjc2ZTdlMDdjNzgwZjUgcjIyYjEtYnJhbmNoCisyMzgzMCAzNzdiMDlhYzcyNmU3ZWEyZTI2NTg0MjcxYjdhM2RhOGQ2ZmZmYWQzIHJlbGVhc2UyMS1tYWludAorMjM4MzEgOTA1OGU0OWM2YzU3ZDIzN2I5MGJhYzY0MGU4YzUwNGU4MGNjMDJiNCBsZWdhY3ktdHJ1bmsKKzIzODMyIGNlMmEzZjE1NjE1ZjZiYTNhZjcyNzNlYzEzNTMyMjRjYmViOTlhYmIgcjIyYjEtYnJhbmNoCisyMzgzMyA4ZGRkZmZmYjlmMmJiN2U0YzhmN2MxYzkyZTViZjI3NmUyMTUzNjFmIGxlZ2FjeS10cnVuaworMjM4MzQgNmY5OTAyYWNlMThkOGViNmYwYjgwMmJlNjkyNmEzZTM2ODhiZmM2NiBsZWdhY3ktdHJ1bmsKKzIzODM1IDA4ZjE2NWYxMzVhOGE2NDM2MGU0ZDgyMzU5Zjg0NDI1ZGI4NjUzZGYgcmVsZWFzZTIxLW1haW50CisyMzgzNiBjYjhlOGI0MmNkZmJlYjVlMTc0MzA0YzQxZjlhNGY5Y2I4NDc4ZTYxIHIyMmIxLWJyYW5jaAorMjM4MzYgZTlmYWQ1NWVmNzA0ZGJlYmNkZTVlMTRjYjhkYjk2YWY4NGMyMmU1NSByMjJiMS1icmFuY2gKKzIzODM4IDYxODA5YzUxNGFkODA2OWVmMjQzMjM2MjBkNjNjNGVkMmNkNGVjMGYgcmVsZWFzZTIxLW1haW50CisyMzgzOSA4MDVmMTg0YjZkZTA5YTUyOWNhMjAzN2MxNjNkZWE1NzY0ZmZmMmJmIHJlbGVhc2UyMS1tYWludAorMjM4NDAgZDA2NDQ2ZDRlNzhkYTIzNDA4YmY1ODU1YjIzMDhjZjkzOGJhNjViMiByZWxlYXNlMjEtbWFpbnQKKzIzODQxIDcxMTEzNWNlMWU1NGY1ZTc2OTExNTAxMmQxYzlkM2ZkZGMzN2QzMTkgcmVsZWFzZTIxLW1haW50CisyMzg0MiA1NDFmODI1YzdkNjM3Y2VjOWRjZmVjZDI0YmM2ODU2YTkxNjU0N2VkIGxlZ2FjeS10cnVuaworMjM4NDMgYTliYWJhMTZlYmYzOWQxYzk5ODcwMDBkNzdjOGZkZmVlM2ViMWFiNiByZWxlYXNlMjEtbWFpbnQKKzIzODQ0IDVmNDk1MGRkMzdjOGE5YjczYzQyMTZiYTc3OGU0MmExMzE1ZGZhNzUgbGVnYWN5LXRydW5rCisyMzg0NSA1YWY2Yzg5YzhjYjc1ZjMzN2QzMDVlOTc2ODc5MjkwMDM5YjNmNGQ5IGxlZ2FjeS10cnVuaworMjM4NDYgMTUxZTQ1ZTk4YzExZDM1NjMwMTk1N2EzMDBlNTIzZjgxYTIzZDM4YyBsZWdhY3ktdHJ1bmsKKzIzODQ3IDJjYjMyZjdmNzhjMmQxZTRmZDZlZjgxYjI2Y2IyNDdlYTgzZGMwYTIgbGVnYWN5LXRydW5rCisyMzg0OCBjZTg4ZWI0NjVjZTc2YzEzYWQwOWQ5MTFiMGFiMWRkOTFhN2YzOGJhIGxlZ2FjeS10cnVuaworMjM4NDkgOTA1OGJjY2U2OWUzMThjODBkNDRmYTAzYWYyMmVhNWMyYjAyNmY2MCBsZWdhY3ktdHJ1bmsKKzIzODUwIDg0YTU4NmFjZGMwMjM3MzNhYWUzZmUxZGE4ZWUzMTMzYjM3Y2E1M2UgbGVnYWN5LXRydW5rCisyMzg1MSAzNzZlZTE3NGVjZDA3NzQyMTE2OWI4OTAzM2MwNDc3NGU0YjQ1N2JiIGxlZ2FjeS10cnVuaworMjM4NTIgYmYwM2I4ZTNlZjkzYWYxMTUwOTA5ZDhjOTVjYzMzM2NiNDYwMzdlOCBsZWdhY3ktdHJ1bmsKKzIzODUzIDgwYmNjOGI3ZDYxOTBlYjczZTBhMTFmNDFmNjQwNGUzZWFjNDdhNWQgbGVnYWN5LXRydW5rCisyMzg1NCBiNWNhMDY4N2JhNmE4MDk2YjExYmJmOGQ2ZTZlOTVlMGJhY2JmYWFlIGxlZ2FjeS10cnVuaworMjM4NTUgODg3YTkzZjlkNWQ1ZDljYmZhMzhjNGJlYmQyMzI1MDljZjM0ZmUwYSBsZWdhY3ktdHJ1bmsKKzIzODU2IDdkMTI1NzQ4NWFlZjJlN2I4MGY3MWQ3ZmVmYjhiMTBlMDFiYTI4YTQgbGVnYWN5LXRydW5rCisyMzg1NyA5YmQ2MDNkNDM0ZjU1MmFiODMzYjAzMzE1NTU3NTUwODFmN2FhZWMyIGxlZ2FjeS10cnVuaworMjM4NTggMzI1ZDUxM2E1MGJiYThlOTAwYmI2ZmE0MmVhYjI2MDRjYWRlMjJlNCByZWxlYXNlMjEtbWFpbnQKKzIzODU5IGFhZDc2MjUwM2QxMWU4YzI0NDMyNjVmYTk1NDMyZTMwMDNjNzNmYmIgbGVnYWN5LXRydW5rCisyMzg2MCBkMzI5ODQzNWQ4NWI1ODRiNjUwOWZiMDhiYmNjMjc3M2VjZGFmNzYzIGxlZ2FjeS10cnVuaworMjM4NjEgMDUwZWQ4YTIxY2RlNWRkZjNlZmI1YWQ1ZjMzMmU4ZGViNjE0ZTAyMiBsZWdhY3ktdHJ1bmsKKzIzODYyIDkyNDZiNmM3ZTc0MjJiYzZlOTIzNTczYzAyYTIzMzc1NjE5Njk2ODAgbGVnYWN5LXRydW5rCisyMzg2MyA4MmJjZmFjODk2NDI1Y2M4YWZmZDVjNzM2ZDE2ZTgxMmVjMjVjODY3IGxlZ2FjeS10cnVuaworMjM4NjQgMjVkNzY0ZDg4MTQ5MWM3M2QxMDE5OGU0ODI4NGUxZWUyMGE0ZjU1YyBsZWdhY3ktdHJ1bmsKKzIzODY1IDBkNWU2ZmMwNDgxZDYxNGFjZmM5MDI0ZWQzN2RiYzE1YzAzMGE1MDUgbGVnYWN5LXRydW5rCisyMzg2NiBjNGQ5ZDg2NzQ1MDYyZWExZTMyNGIxOTQ3YjE3NzlhODFhNGE5OTBmIGxlZ2FjeS10cnVuaworMjM4NjcgY2E1ZjJmZjgzOTc5MmFjODJlOTViOTlhM2U4ZTUxYjhkMDIzZTIyYSBsZWdhY3ktdHJ1bmsKKzIzODY4IGI0N2UxNWZhNDNlODUxYzM2MDcyYjhmNjg4OGZmMDUxN2NiMmVkNjEgbGVnYWN5LXRydW5rCisyMzg2OSBlYjZiOTUzZWNmN2NhN2VmMzUzYzgyMjk1MzFjMmE3YjkwMTg4MjZkIGxlZ2FjeS10cnVuaworMjM4NzAgZmY1N2ExYTM3MGIzNTAxZjI1MjI2ZTJhZDI2YjZjNzJkYzRjYTQyMCBsZWdhY3ktdHJ1bmsKKzIzODcxIGVlYmRkZDNiOTRhNTMwY2E5MTUwM2E0NWE4ZTZiMjVmMDJlZGYwMDkgbGVnYWN5LXRydW5rCisyMzg3MiA1YzFkZmQ5Mjg3N2Q0NTdkNzUxMWE1Y2Y3ZjQ4YTkyNjFlNzE0ZGIzIGxlZ2FjeS10cnVuaworMjM4NzMgOTAwOWMyNTY5NGQxZmMxYmJjZTU1YTBkYTBkNjBhNzkxMGJiODc0YSBsZWdhY3ktdHJ1bmsKKzIzODc0IDRiNzlkN2Q5MWI0ZjlhMmEzZTkzZWUyOTM4ZDk1NGVkY2I3ZWE2OGYgbGVnYWN5LXRydW5rCisyMzg3NSA3OTQ1NjM5ZGYyNjUwMGNhY2RkZDA0MTY4YWE4ZWM0NGI3YzIxYjc1IGxlZ2FjeS10cnVuaworMjM4NzYgNzM3MDJkN2YxM2IxYjE1OWEzOGVlZTllNzBmZWViOTdmZmQ5NjFhNyBsZWdhY3ktdHJ1bmsKKzIzODc3IDJkOGRiZWJmODFlMDZhMTdjZWY0YmM4ZmRmZjQzZjM2ZDg1NzExY2EgbGVnYWN5LXRydW5rCisyMzg3OCA3ZjNkMGNjMjE4ODk5NmZmMDMxZGI3YTNiZjcyYTk5ODk5OWFmN2NkIGxlZ2FjeS10cnVuaworMjM4NzkgNjg5ZDBiYmM5MWIxMzkyNTkyNzNmNGFjYWJiYWMxMDEzNjc5ZDZhZSByZWxlYXNlMjEtbWFpbnQKKzIzODgwIDgyOGNiMGMyYzQ4MDVkZTMxNGRiMzIwNDQ1NDNkNTM5YjU4ZDI0YjMgbGVnYWN5LXRydW5rCisyMzg4MSA3ZGNjOGEyODEzM2EyMmIwOTQzZTg1MWI1OGJhYjdmOTdhZWU0MmNjIGxlZ2FjeS10cnVuaworMjM4ODIgNzE2YTQwNmU5YjRmYjNkNWE3NDcwOTVmMGRlNGViZDhlOGZjOWQ1YyBsZWdhY3ktdHJ1bmsKKzIzODgzIGJlYTk0MDRjZTYyY2QyNDgzYWNiZDdmMzgxNWViMWJlMDEyZTNkYTAgbGVnYWN5LXRydW5rCisyMzg4NCBiZjRiMzc1MThjMTQ3NzJlYTIzZWFhY2JmMzAwMjczMzM0OTcxYTYyIGxlZ2FjeS10cnVuaworMjM4ODUgNDAzZGQ1OWNhN2Q1ZGYwMTIwMzhkZWM3YjM0OTUwOGVjYWRhYWQ0MSBsZWdhY3ktdHJ1bmsKKzIzODg2IDMwMmExYzAyNWRjNzkyZWE4ODJiOTQwNzAzNGY4NDY4MzQ0YWY4N2EgbGVnYWN5LXRydW5rCisyMzg4NyBhM2Q2YjMxZThiYjlmZGNkZWM0MGQ4MjQ1MDBlZGI1OTBhNTRiYzZlIGxlZ2FjeS10cnVuaworMjM4ODggYjk3NDUyMjliZDEzMmM3MjQ5YTlhZWRkMjI5OTcwZmQ2M2FjZGEzYSBsZWdhY3ktdHJ1bmsKKzIzODg5IDU3YjUxOTY2YTRmMWYwNmYzMDcyZTY5MWQ5OGM3OGM3MDQyNjUxOTUgbGVnYWN5LXRydW5rCisyMzg5MCAwYjFjMTM5NGJlYzYxMTkzYTAyZGE5YjA1NjdmODRhNWYzMzYyYWM4IGxlZ2FjeS10cnVuaworMjM4OTEgZTRmNTEzODI5MmU2NTliZTI2NWZkNzAwYjRhMDk2YTI4NWRkZTlmOSBsZWdhY3ktdHJ1bmsKKzIzODkyIGI2ZjgxOTdmNGRmNzg0YWFhYmE2OGUyOGZlYTNiNDA0ZDY5Y2MwYjMgbGVnYWN5LXRydW5rCisyMzg5MyBhYTU2NDc1NjllZTJhYjM0MTVmYjJkMDgzNmRhMzMxYTMwMzZlOWRiIGxlZ2FjeS10cnVuaworMjM4OTQgNGZiNzcyN2U0ZjQ3NWJlYWMwODQwZWY1YTQxZGE2ZGE1ZTM3MmUwNiBsZWdhY3ktdHJ1bmsKKzIzODk1IDdjMzgxZGQwNzc5Y2E3NmM5ZmIwNjE1NjUyZTg3OTY5YjU2NDJjZGEgbGVnYWN5LXRydW5rCisyMzg5NiAyYzFhNDU4NGE3MDQzMzVlMDU2OWU5OTA1MDY4NjQ0Y2UwOWZlMWU3IGxlZ2FjeS10cnVuaworMjM4OTcgM2QyOTliMTU2NTExMThjYzk4ZmVmMjkzNjg1YjNjOTYyNTliODUyYyBsZWdhY3ktdHJ1bmsKKzIzODk4IDk3YjE4YzA5ZDIyYTJhMzQ2NDE3YTFjMTA3ZjI1ZDg1N2RlNzc1ZmUgbGVnYWN5LXRydW5rCisyMzg5OSAxNTk4NTg4ZWYxYWRiN2U0ZjhkOTQxNmNkNjI1MWU5YTZlNWY3MmE3IGxlZ2FjeS10cnVuaworMjM5MDAgYWNjN2UzYjRkMDQyZmVlNWE3NzQyMzM5ODE0Y2U4N2JhMmM5ZTU2ZiBsZWdhY3ktdHJ1bmsKKzIzOTAxIGU0OTZiODUyMjljNzliZDAyYTljNzZjOTIzNzg4NzdjYTFiYzY4YzcgbGVnYWN5LXRydW5rCisyMzkwMiBkNWIzMWVmMjNjZWJlMzFmMzZiNzEwZWU0NTAzZjRlMjdhNzY1NWUyIGxlZ2FjeS10cnVuaworMjM5MDMgNmM4NGQ1NWFiYjU4YTEzNTdhNzBjODhhZWNjMzlhZjA3NTc2NTVkMCBsZWdhY3ktdHJ1bmsKKzIzOTA0IGZlZDhhMTg4OTRmNWY5YmJkNGM4NWY1MGUzMDUxNTdiZDQxZWRjMWIgbGVnYWN5LXRydW5rCisyMzkwNSA4OTliZWJjODkwNDdlNTA4MGIzMjA5YjQyZDIwODk2ZDVmNTEzNmUwIGxlZ2FjeS10cnVuaworMjM5MDYgMDRmMjgwMWQ5OTc3MGY1OTM0N2NhNWVlNWUxZDlmY2U3MWE5MzljOCBsZWdhY3ktdHJ1bmsKKzIzOTA3IDNmODBjOTFiNWMzY2ZkYjU0ZThhMGY3YmU2ZWFmZjFkN2Q0YjhkZjQgbGVnYWN5LXRydW5rCisyMzkwOCA4YjllMmZiY2FlMWZmY2ZiY2MyNGQ3NTk2MDFiYjVmOGFhYjkwNDAyIGxlZ2FjeS10cnVuaworMjM5MDkgNmYyY2IxODA2OGRkZjkwNjUyZTc0OTk3Njc4M2NjOTIyMmZkNDEzNCBsZWdhY3ktdHJ1bmsKKzIzOTEwIGFhNDZjNjYxODhkMzZjOTU1MDIzZDEyYmQwZGNiOTUyNWZjNzFjMmIgbGVnYWN5LXRydW5rCisyMzkxMSA3MWE5YjA1M2FiNDJiMmNkMmJiNTA3OTg0Y2QwOWI0NWIzYTdkYmRlIGxlZ2FjeS10cnVuaworMjM5MTIgYzgwZGFmY2UxYjc0YTZhZGY5NDMyMzI3YWNlMDlmNTBiNTNiY2M2YSBsZWdhY3ktdHJ1bmsKKzIzOTEzIGFiODMzZDlhMDliOTgwYWYwZGZiOTc3MTcwMDY4NTlmMWIyNTllZjkgbGVnYWN5LXRydW5rCisyMzkxNCBlZjc4ZWM2MDJhNDA2MzgwN2QwOWNmNGZlMDkxYmQ2NGFlMzZlNzE2IGxlZ2FjeS10cnVuaworMjM5MTUgN2M0MWM0ZmJmOWM3M2MyYTc1ZjQzMWUzNzg1NTc1MmY3ODZiYTlmZiBsZWdhY3ktdHJ1bmsKKzIzOTE2IGIwNzg5OTFjYjU2YTNkMDNmMDRjNWQyNDBhMjVlNDcxYWIwMzU3OGYgbGVnYWN5LXRydW5rCisyMzkxNyBjYWJiNTY4YTU1OGIxZTYzNGNlNWUzZjUwMTEyYjU5NzQ4Mjg2ZTUxIGxlZ2FjeS10cnVuaworMjM5MTggZGQ3OGIxYTcxZjNlYWY3MzEyMTVkMjQ4M2VlNWFhNDRlNzA0ZTlkOSBsZWdhY3ktdHJ1bmsKKzIzOTE5IGZlYzk1MGQ4YzI1ZDdiNGZhYjJjOTMxNDhiMjQ2NDhjZWEzMzFlOTUgbGVnYWN5LXRydW5rCisyMzkyMCA1Mjk1N2EyZGZhZmU2OTA0NTk4OTYzMjQyMDNiNGJmYmVkMWMzMGM1IGxlZ2FjeS10cnVuaworMjM5MjEgZWIwMDRjYzAwOGQyNzc2YzhhODEwMTcwYTEzN2I1MzU0ZWIxMWYzMSByZWxlYXNlMjEtbWFpbnQKKzIzOTIyIDhkZWIzYjVmZDdjMTc4OWZiNmQyOWM5ODNhNDhmODQ1MjllYzgzNTIgbGVnYWN5LXRydW5rCisyMzkyMyAyZDNjZWU5ZjE2MzMyMGFjMzQ2MDc4NWQwMzFlZGEzODE2NTRlYmEzIGxlZ2FjeS10cnVuaworMjM5MjQgNzU3YmNmYTIwMWRjMTk4YTQ2Mjc4MjI3YjM5ZDQzMjAyOGRhNzAwOCBsZWdhY3ktdHJ1bmsKKzIzOTI1IGVkZDlkMGIzYzQ3ZWZhZTdmYjIwMTBlMTMzMjkwYjU2ZWFhZjBiN2YgbGVnYWN5LXRydW5rCisyMzkyNiA3MzQ0Njg3YmYyYzBhYjhmZGQ5ZDUwZDcxNzE5OGY3ZjE3NGQ3ZWNjIGxlZ2FjeS10cnVuaworMjM5MjcgZDBlYjIwMzZlY2NhZjI2NGU5NWZhNWFhODdhZjRmZDkyZDRmN2Q0ZSBsZWdhY3ktdHJ1bmsKKzIzOTI4IDM5MzU1NmFkYjI5NTBhMzc3MmI0MWE2NWZjZDg2ZWFiZjFiZGM5YTggbGVnYWN5LXRydW5rCisyMzkyOSBkY2FhMmM4OTQzMGU3OGZlYzExYTdmYWZiODNiOTdhN2E5MjBjZWEyIGxlZ2FjeS10cnVuaworMjM5MzAgY2UxM2FhMzFlMTg5YTA5ODFkYzQ1YzJmMjU2NmMwN2IxNDVhZDIxZSBsZWdhY3ktdHJ1bmsKKzIzOTMxIGMwNWQ0ODk1MjM0YzEwZWI5ZGYxZTMxYTkyODAxMmM2OWRlNzhhNDYgbGVnYWN5LXRydW5rCisyMzkzMiBmNzAwOTE2N2RkNjdjMzhkZDA0YWQyNTYzMDk3NzM2ZDgwOGE4MTE5IGxlZ2FjeS10cnVuaworMjM5MzMgYzQ3OGE1MDkxZjNmZmZiZDVhOTg5MjNjZjk4YmFhYzIxOGJkNzM3NiBsZWdhY3ktdHJ1bmsKKzIzOTM0IDVjZDhjODdhODhhZWQ4MWI0NzRhMGVhZjI3MDE4M2I1MTM2NGYwM2YgbGVnYWN5LXRydW5rCisyMzkzNSAwMzk3YTc1YTViZmRkNWZjZmQyYjE0YmRiYTVhOGE0ZmY1Y2Q1OWRlIGxlZ2FjeS10cnVuaworMjM5MzYgM2NlMDNlMmYwMWVmN2YwMTZmMjQxOGYyZTI3NzQ5MWQ3OGUzOGQxNSBsZWdhY3ktdHJ1bmsKKzIzOTM3IDg4YTI0MmJmYjIzYWIwYTE1ZDk0YWI4MDBkMTc2MjFlOWZjZTAwMTYgbGVnYWN5LXRydW5rCisyMzkzOCA5OGU1ZDkwMWJmZGZkOTIwODgzNDQzM2ZlZjlkMjgwNWE4N2Q4MTA5IGxlZ2FjeS10cnVuaworMjM5MzkgM2U5Yjg1ZGU0NDdiOWE2MDdjNmNlMjk3NGFmY2RkOTliMDkxZjk4NCBsZWdhY3ktdHJ1bmsKKzIzOTQwIDUzNWRjMzY1MGJlY2Y1M2RlYWVjOGNmMDBmY2NkNDZmZTRjMWVhMzcgbGVnYWN5LXRydW5rCisyMzk0MSAzY2ZkNTc4ZjY0OGIyNDhlZGYyMDc4YmRjMWQyNGViMGIyOTA0ZDY3IHJlbGVhc2UyMS1tYWludAorMjM5NDIgM2ZiNDAzZWFlZGUxZTYyN2FlMmYzYzY3YTE5NzA2ZGQ3MTBhYjQ5OSBsZWdhY3ktdHJ1bmsKKzIzOTQzIGQ5NTFjMmRlMDk1Y2FlYzQ5NmViODhkZjUxZDI1MGQ5MmU0YTU5MzkgbGVnYWN5LXRydW5rCisyMzk0NCBhZjlmMjkwMjY0YWZkZDc5M2I0N2MzNzBhNjllMzk3NTdjZDI3YjhmIGxlZ2FjeS10cnVuaworMjM5NDUgYWJhN2E0ODk1ZTRkYWU0OTFjZWIwNDE4MTYyYzkyY2ZiMTI4ZGJiYSBsZWdhY3ktdHJ1bmsKKzIzOTQ2IDc0MThlMGQ1ZmMwMTBmYTE4NzlkMDY2MDc5NTY4YWFmNTg2YjE2ZjMgbGVnYWN5LXRydW5rCisyMzk0NyBhZTk0YjVmN2RkMzBmNTU0MTAxOWNiMWM4NThiNDkyNWJlM2UyMzQ3IGxlZ2FjeS10cnVuaworMjM5NDggZjYxNDgyNWQzMjZhYzI3OGIzYjc5NmQyMTE0YzAwMzMyYTNmNWEzMCBsZWdhY3ktdHJ1bmsKKzIzOTQ5IDYxZThmMDFkZTgyMTI1ODU2M2U0NDdkOWNiYjEyZTdiYWJjYTQyNmYgbGVnYWN5LXRydW5rCisyMzk1MCBlODljMjVjYTZiMjlmNjA1MDY3NmUxZjZiN2NlY2E1M2I1ODM5ZTBjIGxlZ2FjeS10cnVuaworMjM5NTEgZTNjMjRmYzIwYThkYmMwNmM0NDk0Mjg0OGQwY2VlNjkxZDU2NGI3NyBsZWdhY3ktdHJ1bmsKKzIzOTUyIGEwZjFjMmQyYWM5ZTRhMjMwMzMyMzQ5YzQ3ZDcyNTUwYzUzYzVjNGQgbGVnYWN5LXRydW5rCisyMzk1MyBmMzFiMTJhNDI5NTFjZDc1N2YyMmIyMDEwMjVmNWNjNTNiYWIzNzNlIGxlZ2FjeS10cnVuaworMjM5NTQgNTA1ZGQzNGUwZWViZjlmODI4OTM2YjU5NTJhZjdmZjg1Zjg5YWYyZiBsZWdhY3ktdHJ1bmsKKzIzOTU1IDQzM2FlNDgzODcwMzVmMTk2NzNmMWRjNzFkNTcwZDQ1M2NlNGNkOTYgbGVnYWN5LXRydW5rCisyMzk1NiA5OWFkMmE5ZDIwZTFjMTI3OGYwYWNmYTg2OTYyMDYxYTkyYmExOTZhIGxlZ2FjeS10cnVuaworMjM5NTcgMzExYTJhYmVhOGE0N2FjMzJhMzUzNGIxZTU5ZjNiYzc5YTdjNTQwNyBsZWdhY3ktdHJ1bmsKKzIzOTU4IDM2N2NkOGU1ZGY0Nzk0OTRlN2NlMDc1YmMxZjVhNDU0M2YxMDcyNGUgbGVnYWN5LXRydW5rCisyMzk1OSA5OWVlNzE5MTk3YmE3ZWMwYTQwZDM1NzFmOGRkOWQxOWEwOTE3NjQ0IGxlZ2FjeS10cnVuaworMjM5NjAgYTAzMzJhZTg0OGUyNmZiOTZhYzYwMzc5ZWI2MzFkYjNmYmEyYzBhOSBsZWdhY3ktdHJ1bmsKKzIzOTYxIDg2ZmIxOGZhMzQ2ZjhhOGE2OTc4NzQ0ZjI3NmI1ZDQ4ZTVmYjE3NjYgbGVnYWN5LXRydW5rCisyMzk2MiBjM2UwYmQyMDc3NWNjNDlmNDM0NGI1NmMyYTUyYmE0MTNmY2UyYjQzIGxlZ2FjeS10cnVuaworMjM5NjMgMzgzODBkNWYyN2Q0MGIyY2I0NmRjMTViODA0YmU3NDQzMjg2NWFiMiBsZWdhY3ktdHJ1bmsKKzIzOTY0IDY5MDM0MjBmMGE4MjVhY2NlZWY0OThhYzljOGFjNWI5MDc1ZTMwNDEgbGVnYWN5LXRydW5rCisyMzk2NSBkMDIwNjhkMTYzY2ZjZWRlYzEwNjI3OWVhZDI3YjlmYjBhMzhkYjMwIGxlZ2FjeS10cnVuaworMjM5NjYgYWRmNTY1ZjBmOGFlNjA4NWVlODBjYmJlNjBhN2ZhMGFjOGE4NzBjOSBsZWdhY3ktdHJ1bmsKKzIzOTY3IDM5ODEzNWU0MDBjN2Y4M2I1MmQ5NzZhN2I2NGY3ZjNmOWUxYWI1YjEgbGVnYWN5LXRydW5rCisyMzk2OCA2NDhiYzc0YzQ3YWI3MjYyZTNmODFkZDNhOTQ2MTBhZWNkMjJkZTQyIGxlZ2FjeS10cnVuaworMjM5NjkgYjIyOTIwOGEyYTcyNzM4Yjk4ZWZkZDA5MTI0OTZkYmMyYjZiNThmOSBsZWdhY3ktdHJ1bmsKKzIzOTcwIGZhMGJmNmM3OWUwNDJhMDJhZjMzZDgyOGMwODlhMzQ3MDkyOGEzNDYgbGVnYWN5LXRydW5rCisyMzk3MSA1ZGUzYTU5NDcyNTdiYmIxNDQ2NDhkMTM2M2Y0YTNjMDI2MGJhYTBkIGxlZ2FjeS10cnVuaworMjM5NzIgNWY2ODUwZDFmOWU4NTIzOTIxZGRhMWE0OGI5MDk2NDY2ZGMzNzdlYSBsZWdhY3ktdHJ1bmsKKzIzOTczIDRiM2VmYzc1MDEzOTZmYzIwMWQ2Mzg2NDVkNDg4ZGZlYzdkYmRiOWIgbGVnYWN5LXRydW5rCisyMzk3NCBiM2EwMGQzMTY1YmVlMjMwOGUxMjU5MzUyZWI0YzljZWRiYTdhYjJiIGxlZ2FjeS10cnVuaworMjM5NzUgMjkyNWUyN2EyODFjNTIxYTNiZjFhYTE0MzFiNjNkYzk5YWEzOTg3MSBsZWdhY3ktdHJ1bmsKKzIzOTc2IDc5OGY2MTk5N2MwOGQ1ZDJkMDQxZWRiZmQxNzRiYTUxZTgxZjIyMzAgbGVnYWN5LXRydW5rCisyMzk3NyA0MTMzYWJlZjVhYmJkMWEwZmM5YWQ4MzJlNDUyMTVjMTRlMjU5MmQ2IGxlZ2FjeS10cnVuaworMjM5NzkgMTg0YjhiOWEyNjU0Y2JkZmNmY2Y1N2M0NmI3MzY5MjA2YzcyMjQxNCBsZWdhY3ktdHJ1bmsKKzIzOTgwIGU5MTJiNjgzZWQzZTE1MzZmMGI0YzlmNWU2ZTFkM2I1NmEyMGY1NDQgbGVnYWN5LXRydW5rCisyMzk4MSAzMTA0NTBlNzRmMmY1N2RkZmRiYWIyYWU2OGE5MmJiMzVlNDc3NDY1IGxlZ2FjeS10cnVuaworMjM5ODIgYTQ0Y2MwYzIxY2ZlMzE1NDI1ZTM4MGU2NDZjMDFhZDJkMWUzMzMzNyBsZWdhY3ktdHJ1bmsKKzIzOTgzIDI4OTA3NjliMWU2OTY2MjRmNmY5M2QwYTk4MWRjNDFiYmJjNGRlMzUgbGVnYWN5LXRydW5rCisyMzk4NCBhNmE0YmQyZjA2ZDBmOWZlMjg0NzEwODQ0OTc4ZjQ1NmEzZmJmNGFhIGxlZ2FjeS10cnVuaworMjM5ODUgN2Y0MDg5NTE5OTI2ZTVjNWExNDMzMTcyNDRjYjRhZGJkZjNjMTUyNCBsZWdhY3ktdHJ1bmsKKzIzOTg2IDA5MWY5NjU2ZDc5YjM1OTE4ZjkwNDJjYWI2NzhlYWEyMTgyNTFjYTcgbGVnYWN5LXRydW5rCisyMzk4NyA1ZTZmODE4N2JkNDg5M2YzOTU0NTBiMmYxYzM4NDg1ZWY3ODMwN2M3IGxlZ2FjeS10cnVuaworMjM5ODggZGNmNzY5YzEyZDhiNDEyZmJkYjcxNTc5NTIyOTQ1NDRiZGVjZWI1MCBsZWdhY3ktdHJ1bmsKKzIzOTg5IDg0NzE1ZDUyZDk1NGU5ZDUwNzk0N2I1NjViZDAwMGQwYjkzNGViZjYgbGVnYWN5LXRydW5rCisyMzk5MCBjNjM4NDU5MWQ4NDZjZTZhMWIzZDY2YzcyNGExNzM3ZTM1MjM2NGQ5IGxlZ2FjeS10cnVuaworMjM5OTEgNWUzNDdlNGUwNWJmNWVjYzhiMGRhNDIzZmQ0OTM0ZDVhNjhkY2VlNyBsZWdhY3ktdHJ1bmsKKzIzOTkyIGFhZWZjMmYyMWJhZWYxY2UzOWU4MmQwYjM0OTRmY2FhZDYxZjFmYjIgbGVnYWN5LXRydW5rCisyMzk5MyBhY2I4NTRiODk3YmI2MTU0Zjg0OWEzOTBhNjg0MmVhM2RjYjk3MjQwIGxlZ2FjeS10cnVuaworMjM5OTQgNjc2ZjEwNmE1MDAyM2Q0MTBmMjVhMDAzNjFiN2Q0MTIzOGYxMDJmZiBsZWdhY3ktdHJ1bmsKKzIzOTk1IDZhYzQ1MjQ0YzQxZTBhZTdjZDU3NzBjNTg0NDI1MzNmY2QzYzBiZjkgbGVnYWN5LXRydW5rCisyMzk5NiBmMjI0NjMyZDAyNjAzZjFiNjg0MzZlZjQyNjdiOTQ2NWI0NWRjYjhmIGxlZ2FjeS10cnVuaworMjM5OTcgNzEzMDc1MGE2MjIyMmU0NGZjNGIxZWMxYzQ4NGRlMjQ2NzFhOTljYSBsZWdhY3ktdHJ1bmsKKzIzOTk4IDU4N2I3NDg1NGY4YzA1MDQ5MmJlM2E5ZmVlNjA5MTE4YjJjZDFhMTIgbGVnYWN5LXRydW5rCisyMzk5OSBhYmQ3MWU4OTg0MGY3Nzg0MWYwNTQ4ZjZjMmRhZTlhMThmMjcwNDRmIGxlZ2FjeS10cnVuaworMjQwMDAgY2Q4MzVjYWE1MDZjMDkyYjEwNGExZjI2NmZmNTg2MTY0ZWFiN2UzMiBsZWdhY3ktdHJ1bmsKKzI0MDAxIGNkNjAwMDM5YTEyM2UwZjdiNTU3M2FlYTBiMmVkYWY1ZWM5YTMwZTYgbGVnYWN5LXRydW5rCisyNDAwMiA3M2NhYmU2NjRjMTFlYjZiYTdiYjJiNDIxN2Y0YzcwYzZkNTE1ZjliIGxlZ2FjeS10cnVuaworMjQwMDMgODM1OWMxMTg5ZjczMDI1MDQ5ZGY5MWUwZGQwYzYyZWFiNTVkNjJjYyBsZWdhY3ktdHJ1bmsKKzI0MDA0IGIzYjJmYTc2YTM5MjllY2VmMDZjMWI3OTM4MDFlM2E3ZTI4NjY5OGEgbGVnYWN5LXRydW5rCisyNDAwNSA2MzVmYTE0ZWRhNTA5YTgxZWIzNTQyYzk0MGUwNDlmNTE5MDVjNDMzIGxlZ2FjeS10cnVuaworMjQwMDYgYjA2MjgwNDNlNTM3ZGFkNzg0YTUwMWJmMmY2MjY5MGQ5ZjRkZDg3ZiBsZWdhY3ktdHJ1bmsKKzI0MDA3IGZhYTI3MjZkZWEzNzE1NzgzN2M4YjkyOTYyYjIwNmNjMjEzNjAxOGYgbGVnYWN5LXRydW5rCisyNDAwOCBhNzg4NGU3ZWVjYzliMjU4OTM5OTE3MWM5MTU4N2NiMmViMTFjZGM1IGxlZ2FjeS10cnVuaworMjQwMDkgMDBhNTgxYmRlZGViYWYwMjQyZjUxYzlkYWI3ODgwMWU5NWZmNTQ0OCBsZWdhY3ktdHJ1bmsKKzI0MDEwIGM3YWFjNzhlMjNiNDljMzFiZTE5NDczZGRiOWRjYTQxZjg4MTEzYzMgbGVnYWN5LXRydW5rCisyNDAxMSAzYjg3NzQwZDFiYmM4NWE2Mjg4NDQ1NmRkOWUwNDY4MjcyYmJiOWI2IGxlZ2FjeS10cnVuaworMjQwMTIgYWQ0NWQyMmIxOTVkMTNhODI5ZjUyYTQxNDcyOTMzNDFkYWMzNzZlYSBsZWdhY3ktdHJ1bmsKKzI0MDEzIDNlNDYyNTgxOGY1ZmY1OTY0Y2E4ZTljMGFmOGU5MjJkZmVmYzEwNmMgbGVnYWN5LXRydW5rCisyNDAxNCBkNWY2YjRkNTgzODBlYWE1ZDY0YjdlZDkyYmE3OTAxNWMyOTlmYTJmIGxlZ2FjeS10cnVuaworMjQwMTUgN2RhNDE3OTk5NTExMTMwOGY2NTk3ZmYxM2JiNzc3ZTZhNmVmOTRmMCBsZWdhY3ktdHJ1bmsKKzI0MDE2IDIzZDIzMGVmNDE1YmE1NmEzMmIyM2UyZmY2NzIzNTg4ZDBjY2Q0ZTAgbGVnYWN5LXRydW5rCisyNDAxNyA4MzYwZDY0MzI3MDdjNWI4NzQ0M2UwM2QxMzI1NzNjZTYzOTgzODdkIGxlZ2FjeS10cnVuaworMjQwMTggNDYxN2QzZDc3MGM1OTkwZmJiMzBkMDY4Y2NlMTNlODFlNTMwODNlZiBsZWdhY3ktdHJ1bmsKKzI0MDIwIDlmNjI5NTVkZTRjM2ExZTcyYjBkMjEyNDJkMDg0OWNkMDEyOGQwMWYgbGVnYWN5LXRydW5rCisyNDAyMSAwOGRmZDNjMjJmNDFkY2UzYTE0OGI2YzBhMmI4MjI3ZjVjYjU0YWYwIGxlZ2FjeS10cnVuaworMjQwMjIgNzc1OTI2YmNmMDY5MjVmNzFlYjc4MTg2OGU4ZmU1MGYwYmMxNmRiYSBsZWdhY3ktdHJ1bmsKKzI0MDIzIGM4YmEyZGIxYzNjMjRiY2FmMDFkNzU0OTg3M2Y3YmJlNjZhYWUxOGQgbGVnYWN5LXRydW5rCisyNDAyNCA4NTEwOWE2MDk5YjVlMWYyN2I0MzM3NjZiM2QwMmI2MjljMGMwOWJkIGxlZ2FjeS10cnVuaworMjQwMjUgZjJhZjQyY2Y4MjdhYjdlMzk2MTFkYjZkNzY3NDMzMGFkMjdkNTc1NiBsZWdhY3ktdHJ1bmsKKzI0MDI2IGVjZDY0OTMxNDgyYzlmMmU3NTUxNmM5NzZlYjcxNThmZTQ2MzgxYjAgbGVnYWN5LXRydW5rCisyNDAyNyAyNzIzMzY2NDhkMWZmMWUyY2ExZTFkZjc1N2UxOGNiNDE0ZDcyYTVhIGxlZ2FjeS10cnVuaworMjQwMjggMTdmN2M5YzFkNjZhNTE0YWJkODgyMzJkNzcxOWM0YTE3NTQ4ZmZhZiBsZWdhY3ktdHJ1bmsKKzI0MDI5IDgyOGJmMzE3ODgwYTIwNWU5ZTc0MzIwNTdhYWNjMzdmZGJmNGVlY2MgbGVnYWN5LXRydW5rCisyNDAzMCAwNTBmYzUyYWIzZDQxNTI3MjBhMTZkYThjNjQ5ZjIxZGMwZmQwNmU0IGxlZ2FjeS10cnVuaworMjQwMzEgYTRiZjNjNWNjNDVhMmJhMjNjNDdhODg5OTk0OWFlZTBhMGIxOTE0MiBsZWdhY3ktdHJ1bmsKKzI0MDMyIDViMjM2ZjM3N2EyNTg4NzFmZGU2MDZmMjcwMzU3ZjhkMzVlMTE2ZTIgbGVnYWN5LXRydW5rCisyNDAzMyA2YWVhYjM4MDI5MmVkNDY5OWM4MmZmOWFiMGZjMWU2NjE1OWI0NGIwIGxlZ2FjeS10cnVuaworMjQwMzQgMDgzNDEzNjIyNTk1OTdiYTRmZjNjMTI5ZmZjZjFmODliNWIzNDhmMCBsZWdhY3ktdHJ1bmsKKzI0MDM1IDZiMTRkMjllNTMwODk3MDJmMGIxMzU4YTc5OGY4NWJhZmE5NWE4ZTYgbGVnYWN5LXRydW5rCisyNDAzNiA3ODFhZTE3NmJhYzJjMjUyMDA4ZjRlNTFjZTJlN2E5MzI5OGE3OTQ3IGxlZ2FjeS10cnVuaworMjQwMzcgMzdiOGQ5MmUxMmY1MThkYzcwZmExOGJkY2RjN2U2NGNhZjRiM2FhZiBsZWdhY3ktdHJ1bmsKKzI0MDM4IDNhMDdiZDJiMDM4NmUxZjNiMGZmZTg0NGZiODFjMWU5ODNhMmY1NDQgbGVnYWN5LXRydW5rCisyNDAzOSBhNmFmMDA5MzQ3ZTEzMTI4ODY5YzVlZjVkNDg3MDkyN2M4ZWI5OTAyIGxlZ2FjeS10cnVuaworMjQwNDAgYjNmNDhjNWQ2ZTE2NzQ4MjZiM2EzNTk5NWNmYzM2NDE1NTYyNmU4MyBsZWdhY3ktdHJ1bmsKKzI0MDQxIDdiMDU0NmVlNDc4OWVkZDY1NzA1YTBiZjlhOTQyYzA2MDA4ZGMxNWQgbGVnYWN5LXRydW5rCisyNDA0MiA1MjNlYzcwMjE4ZTQ5MGE2ZThiODJlN2NhMGUyMmJjZDJiN2UyNzc2IGxlZ2FjeS10cnVuaworMjQwNDMgZWJhNjNkZDBjMmY1YTkyZGZlNTA0NmM4OTk1NDVjNjgyYmUwMDczZCBsZWdhY3ktdHJ1bmsKKzI0MDQ0IDEyNDRlZTE4YmFlYzMzZjQ2ZjZhMGRlZGUwOTRlZjI4YTlkOGNkNzQgbGVnYWN5LXRydW5rCisyNDA0NSA3NDQxMmU1OWJmZjgyNjEwMDBiNWY2ODQ1NTRhZjkzZjZhODljOGMyIGxlZ2FjeS10cnVuaworMjQwNDYgNzZhODU3NTJkNDUyNGMyNDQ4MGIxZTczNTdiMDMyZWE5MGVjMDcyMSBsZWdhY3ktdHJ1bmsKKzI0MDQ3IDEwNDNlMTBiZTc4MDA5MTIxMDQxMTIxOTgzMDFhNzQ3ZTNjNjIwYjcgbGVnYWN5LXRydW5rCisyNDA0OCA3NDRhMTkyMjBhM2NiNzZmZTMzMGRmMjJhZTA1YWY3MTUxODkxNjllIGxlZ2FjeS10cnVuaworMjQwNDkgYTZiYmEzMWIzY2Q3NzU4MTQyMWRlMGMxNDEzMTUyNGJjOGY0YTJkMiBsZWdhY3ktdHJ1bmsKKzI0MDUwIDU3YzYxYzYyMjRhMmY0YjYwYzcyNzhlNmEzYWEzNWE1MDdhMTQ4NDUgbGVnYWN5LXRydW5rCisyNDA1MiA0YmI2NzUzZTdkNTNlZTU3ZDZkNTY5NTM1ZTFkZmExZGIyMmFlNTA1IGxlZ2FjeS10cnVuaworMjQwNTMgNjExMjNiODYwYjQ1NTZhNGFhN2Q2Y2VkMzkyOTZhMjgyZjNlZTFhMSBsZWdhY3ktdHJ1bmsKKzI0MDU1IGFiMmUzMTU4NDlhN2I2YzdhYTMxNWJmYzg1MWZjZjI1NTM5MWEwMjcgbGVnYWN5LXRydW5rCisyNDA1NiA2MTIyNmRkYWRjOTc1NzIzNjg0YzUzY2ZkMzcxNDU2YmYxZmZjODEwIGxlZ2FjeS10cnVuaworMjQwNTcgYjFkOTAyOWUwOWQxNGQ1MTc3NThiZDAwN2FjYjAyNjdkNWQ3Mjg1YiBsZWdhY3ktdHJ1bmsKKzI0MDU4IGEyYjExZDAwYjY5NzQ2NmMyNzZiOTAzZTg5ZDk5ZTgwMjNhNTMwYTggbGVnYWN5LXRydW5rCisyNDA1OSBhOTAwMmZiMGE3ZDc5ZDNiNGNkY2MxMzE0YTEzYTY2ZTM5YzEwYjNjIGxlZ2FjeS10cnVuaworMjQwNjAgNGRmNjUyN2I3ODgyMjA3ODg4OGY3MGI3NTQxMjU4N2RkMjU4NjRjZCBsZWdhY3ktdHJ1bmsKKzI0MDYxIGZlYjgwNTA5ZmIyMTUwNjE4MzZkYThjZTJjNmVhZDUwMDg1MDI2ZjUgbGVnYWN5LXRydW5rCisyNDA2MiAyNWZlZDFkMDk2MDUzNWUzMTA4NTU1ZWE3ZDk3OTEzMWNjMWJjN2RiIGxlZ2FjeS10cnVuaworMjQwNjMgNDBkZTg0YmM2MmFkMDIxNDhmMDJhYzI2MTdjMTgyNTJjMzlkMGJmNSBsZWdhY3ktdHJ1bmsKKzI0MDY0IDk2MWIyNGY4ZTFkODI5OGY3ZjM1ZDg1YTk2ZTY2N2E0Nzc1MzhjZDIgbGVnYWN5LXRydW5rCisyNDA2NSBjOTFmMTdhNGRjN2JmMjJlOTdhYjAyYjhiYzZkZTE2NTUxMjY2ZTVlIGxlZ2FjeS10cnVuaworMjQwNjYgMmY3YjY5MjZlMzhkZDEyNTU2NDhlOTY5Yjg2N2IwOTIxYWIyN2FkZSBsZWdhY3ktdHJ1bmsKKzI0MDY3IGUwYWYyODJmNWRmYWM0YWI5YzNjNWJmNmVhYjVkNmQ1Y2MyN2M3NjcgbGVnYWN5LXRydW5rCisyNDA2OSA3OWZjYmMzMWEwM2VjOWRlNDM5NWVhNDAzYTQ0YjdiNjE5OWQ3YTU4IGxlZ2FjeS10cnVuaworMjQwNzAgODNhM2UyMWE3Y2MzZjQ3YWIzYjNkYzZjYjFjYWY1N2Y2MmM5ZmNiYiBsZWdhY3ktdHJ1bmsKKzI0MDcxIDczYWJlMGFmN2UwNzBlYWMxNzg3Njg3MTJiZDQxYTQ4Zjk5ZGFhNzcgbGVnYWN5LXRydW5rCisyNDA3MiA5YzIzYWJhYjk2MmRhNTBhZjA2MjE3ZDUxZTNjYjM4ZjlmNGY5ODJiIGxlZ2FjeS10cnVuaworMjQwNzMgZmE5N2M5OTcyZDFiMzhlYjc5MWM0MzUyYzBmZWVhZDYwMGYyM2FkZiBsZWdhY3ktdHJ1bmsKKzI0MDc0IDYxMGE2NDRmZDRjM2FiZjQyYWUyZDNmYzUzMGM5MzcxNTk0NDMyMjQgcmVsZWFzZTIxLW1haW50CisyNDA3NSBlZjhiZDhiZTk4YmViMGI1YTI0MTNkYTYwNWRkZGMxOTcxOTAzNDU2IHJlbGVhc2UyMS1tYWludAorMjQwNzYgZWU3MGZhYzk1MzViNDUwOWI1N2I3ZjMyOWNmMDQzYmFlYzgzNDI2ZCByZWxlYXNlMjEtbWFpbnQKKzI0MDc3IDc1NmI5ZWRmMjU0ZmMyMTNkNGYyMzFhMDllY2Y4YTkzOWNmZGY3ZGEgcmVsZWFzZTIxLW1haW50CisyNDA3OCA1MWVhY2FkYzgxNWEyOTYwNWZlOGQ4MzQzMmU5M2IwMjMzZTk1ODA1IHJlbGVhc2UyMS1tYWludAorMjQwNzkgMTA0MjIzYjMyMjZhNDBhYjNiNzFkNGY0ZWIxNDA4NTdhNGJiMDI4ZiByZWxlYXNlMjEtbWFpbnQKKzI0MDgwIDA2Mjk2NjZlNjVjNTNmOGQ0Y2I0NDgzODFkMTk5MGU5ODMxZmQ1NDIgcmVsZWFzZTIxLW1haW50CisyNDA4MSAwNzZlNWU0OWUyN2QzOTQ2MjdhNmUxYWYwZjQwMTNkMDZhN2Y3MDRjIHJlbGVhc2UyMS1tYWludAorMjQwODIgNDJmMjJlYTZhMGYxMzYxMzczZWViYWQ2NTM5MWNhNTA2ZmE2MWI5YSBsZWdhY3ktdHJ1bmsKKzI0MDgzIDAyNmJmMGFiNjhhNTE1YjRkNzlhMzlmNzc5M2Y0MDBmYzdjZmIzYmYgcmVsZWFzZTIxLW1haW50CisyNDA4NCA0NjRkMjEzZGE4ODhjN2YyZjExNjJjMjFlZTk2NjI3NTI3OWUzODliIHJlbGVhc2UyMS1tYWludAorMjQwODUgODIxZTE0MmUxOWZhNGNkODFiMGEzZWY1NGQzZjRhNWFlNmE0ZjA5OSByZWxlYXNlMjEtbWFpbnQKKzI0MDg2IDZkMzhmYmEwNWYzNTc0ZTgyNzAxYzc0Y2ZhZjY0OGE1ZmVkYjIxYzMgbGVnYWN5LXRydW5rCisyNDA4NyA4ZDRiNjY0MmE2MDRhMDAxYjdjMmM1OWZkZTc0NjdmNGMzZGRlNzU4IHJlbGVhc2UyMS1tYWludAorMjQwODggMTk2NTExNmQxYWVjYTk0NGIxZWI1YjVmMTAyNjE0YzU2ZGQ4NzY0MCByZWxlYXNlMjEtbWFpbnQKKzI0MDg5IGY0ZWZmMzI0N2M2NmFjOWY4MDk4NDBmOGUyNzhkNjU3MTdkMmFkMmIgcmVsZWFzZTIxLW1haW50CisyNDA5MCBlZjFlOWM4YWEzZGRmZGI2ODA0OTE2MjZiNTEzOTk3M2ZhMzlmN2NlIHJlbGVhc2UyMS1tYWludAorMjQwOTEgNTdhYjY1YzJmMTcwNzkxZDZlMGFjNDFiZDlmODU3ZTZlMDA5MTg2YiBsZWdhY3ktdHJ1bmsKKzI0MDkyIDNlMDk4YTk2MzU2MWQ3NzAzNzkyMDg2OWRkZjE2ZTRkNDM2ZDE1NjMgcmVsZWFzZTIxLW1haW50CisyNDA5MyAzYTc0OGNhYTAzYjkxYTE1MGM1YWZiMDgyMWFjYzE3NDhlMzJmMjg5IHJlbGVhc2UyMS1tYWludAorMjQwOTQgOWFkZWQ2MjM1ZDg5MGU5MGEyMzczOGRmZDlkODViMDI5NTg3OWFkZCBsZWdhY3ktdHJ1bmsKKzI0MDk1IDI2MWE3MGMwYWE3OTJjM2I2ODZlNzQ2YmUyMDlkNjc0NjUxMjNmOGMgbGVnYWN5LXRydW5rCisyNDA5NiA1MzQ2YjY5MDZkMWFmODVlOTFhM2Y3MjAzZGJjMzg5YjljZTk3YTg4IGxlZ2FjeS10cnVuaworMjQwOTcgY2E0MThhNWZhNDcxY2I4ZDI1OTczZWFjOWJiMDgzYTRkZTE3YTBkNSBsZWdhY3ktdHJ1bmsKKzI0MDk4IDY1NmMzYzg0ZGViZWY0ZWY3YjljNDc3ZDA1ODllMjk0NWE1MDE5M2QgcmVsZWFzZTIxLW1haW50CisyNDA5OSBjN2FhMzMyYTJmZmFmYjczNDA0ZDU3YzRkMjJlMjc1ZTE4N2FlMDBjIGxlZ2FjeS10cnVuaworMjQxMDAgYjNkOGQyNjE1YjIzYmY0ZjBkYjNiMDhmN2E4NGQyOGE0Mzg1NGVjNCBsZWdhY3ktdHJ1bmsKKzI0MTAxIGRlZjJhMTE5ZDVjZGEzMWE0NmJlYmI2ZWRjNWZiNjVjYzVjYTI0ZWUgbGVnYWN5LXRydW5rCisyNDEwMiAzNzUxMzY2YzJmMzkzMWNhOWRiMjgxMTNkNjdlZDU1YWVmZWU3ZDcxIGxlZ2FjeS10cnVuaworMjQxMDMgOTUyMDExNTMyNTFjYmIwYmY5MzQ1ZmM0ZmI3OWQ3N2ZmZWM1MDU4MSBsZWdhY3ktdHJ1bmsKKzI0MTA0IDZmMjU5ZjdiYmVkODBlNGE1Y2E5ZjMyZDYyZjBhMGJlZGFhMTNjN2IgbGVnYWN5LXRydW5rCisyNDEwNSAxNGRjNjkzYWY1MzIxOTU2OTlhODAzNTgyNGYxOWFhMTNkZjZjMjRlIGxlZ2FjeS10cnVuaworMjQxMDYgNWYyNGIyMGUxMDNkMjMyZDk4NDc5NWM0YmVjMTQzNzU5MGRlNmU4MSBsZWdhY3ktdHJ1bmsKKzI0MTA3IGRhYjUyZGJkMTJhYTE0NDRiZTk3NzM4ZGI4NGU5MjE5ZWFiMzIwZjIgbGVnYWN5LXRydW5rCisyNDEwOCBkMTM5ZWM0OWQyMDRkNzA3ODlmODQyZmU3MWQ3MjEzZWY4ZGNjZTU5IGxlZ2FjeS10cnVuaworMjQxMDkgODYwNDcyODc3ZGRhMTUxMTFiODExYjRkYTQzMGRjOThjYjY4NjgyMSBsZWdhY3ktdHJ1bmsKKzI0MTEwIGIwYzMxMGNkYjk4NjlhZjY5M2UwYmIyZmI2N2NiNjczOWIzZGMwZWYgbGVnYWN5LXRydW5rCisyNDExMSAzZmJkMjUzZGVhNWQ0YTljNmY4NTNmMmI0YmRhNDM3OTg4MzhlMTYwIGxlZ2FjeS10cnVuaworMjQxMTIgYzFlYmMwMjg1YTVlN2QxYjE5YzgwNzkwODBiNmJiYzczNjQyYmEzMyBsZWdhY3ktdHJ1bmsKKzI0MTEzIDk4MWU1NDY4YzliNTMxZmVkNDlkMDAyMzM1YmI1NmMyOTllNDUwODggbGVnYWN5LXRydW5rCisyNDExNCBmMTg3ZDI0MDU2ZjQ4ZDg1NmZhYzQ3YTQyOThjMmE2MjFjYTUwZDllIHJlbGVhc2UyMS1tYWludAorMjQxMTUgZjZjNzQ2MGNjYWY4OTlmMTIzODhmZjhkNDhiMDI4ZWRkNjYyMGE3ZiBsZWdhY3ktdHJ1bmsKKzI0MTE2IDM4MDNhZjlkODc5NjNmOGMyOTdiNDcyNDZmNjFmYjBhZjg1MDFmOTYgbGVnYWN5LXRydW5rCisyNDExNyBlYWNmODFkZjZjNDI3NTZkZmJjMWQ3MzYyOTc5MWU0OGQyMDVhYjdjIGxlZ2FjeS10cnVuaworMjQxMTggOTE2ZjE5MWZjZmY0M2YwNWI2NDk1ZDQwNDU4Y2VkY2JiM2ZjZGY4YyBsZWdhY3ktdHJ1bmsKKzI0MTE5IDhkMTRmNTM0YTVjMjc2ZjY5YzVmYjkwM2E1ZDk2ZTI0MzM0ZDEwNmIgbGVnYWN5LXRydW5rCisyNDEyMCA2OTkwZmU5YzQwZjZhN2EyOGIwZTkwYTI0OTkxM2MyY2ZjMDYzMDAxIGxlZ2FjeS10cnVuaworMjQxMjEgNGFkZTc2YTZiMjQ1YmE3OGRiZWU4NThiZTkwMzdmM2IyYTVkYTIwOCBsZWdhY3ktdHJ1bmsKKzI0MTIyIGUxMGQ5MDcwZTEwNzMyYzExZWMzYWI1M2M0ZWZhZGM0NzE2OWYzNTIgbGVnYWN5LXRydW5rCisyNDEyMyBlYzYzMmE0MWVlMzVkOWI2NDYxMzRkY2FhMThhNTk1MmViODkzMGNhIGxlZ2FjeS10cnVuaworMjQxMjQgZDlhOWQ5MjYyNGRiOTc0MjhhMzRjMmFlZGJkZGU0ZDBmOTU2Zjk3YSBsZWdhY3ktdHJ1bmsKKzI0MTI1IDQwNGFlZWNhNTFlOWM0NTFhMTBiY2MzYTFhZmZiMDU0NDcwMDkyNTggbGVnYWN5LXRydW5rCisyNDEyNiAyOTYyZjAxOTI0Yzk5N2EzNWNmOTJlZWY0Y2FlNjQwZGQ2ZDBkZGU5IGxlZ2FjeS10cnVuaworMjQxMjcgZjM0YThkZjhiYmE0NjAwODhiMWVlOTM0MWM0MzVhOGU3NTQ5OGZmNyBsZWdhY3ktdHJ1bmsKKzI0MTI4IDA1M2RiZDliNThkZjAzYzAwMjMxOTdkODMwOTViYmYwODZlYmM1MWYgbGVnYWN5LXRydW5rCisyNDEyOSA3N2JiMmFlMDY3YzI1OGNkNGE3ZDY2Y2FhOTNkMWEyNzFjZDczYmJmIGxlZ2FjeS10cnVuaworMjQxMzAgMDQ0NGY1NzZjOTJiMTllODFjMjQ1NWRjNjIwNWIxMDQzYzc1NDY4NCBsZWdhY3ktdHJ1bmsKKzI0MTMxIDYzOThkMTA1NWZjZmI5ZGUyY2RkODY1YzhhNzQyMDlhODJlMGM2OTUgbGVnYWN5LXRydW5rCisyNDEzMiA4Y2YxZDkyNjY5MTEzMjhlODNkNmU0ODY5OTJkYWRjZTAwZjk2NzFmIGxlZ2FjeS10cnVuaworMjQxMzMgZDFiM2NhODlkNzhiNDlkYmRjZmNiNWIwOTJkZThlM2YyZjQ5OTdlMyBsZWdhY3ktdHJ1bmsKKzI0MTM0IDI0MTA1ZTk4OWYxNzhmMmY2MDhlNTFkMWRmMGE3ZGJmOTkwMmYyZDQgbGVnYWN5LXRydW5rCisyNDEzNSAxNWM5MjRhMTFhZWNjNGRlNGE2NzhkOTQzOTg3MWNlODRlODA4MGM3IGxlZ2FjeS10cnVuaworMjQxMzYgMGNhZWE1ZmVmYTVjMWM3ZGRlNjhiMTcyNTk4M2FlYWZjNDc4ZjcxMCBsZWdhY3ktdHJ1bmsKKzI0MTM3IDVhNDdiNThhNDRiYjRlNGFiMTNjMWE1NWI2MzgzOTcyZDllYmQ2NTAgbGVnYWN5LXRydW5rCisyNDEzOCBkOWI5YjViNDgxNWI2MjFkY2YzMmIwYzQ2NmE5M2I5YThlZGZjNzhiIGxlZ2FjeS10cnVuaworMjQxMzkgZDZmZjFkYWFlMzk4MTc2NDZlNzhhODRiNDA3Y2U5ODE2ODE0ZTE1NyBsZWdhY3ktdHJ1bmsKKzI0MTQwIDg5NTczNDFmOThmODQ3ZDZmNGQ2M2RlMGQ0NjA3ZTZmNWRlZThhNWEgbGVnYWN5LXRydW5rCisyNDE0MSBmNTQ4MjhlYjhlMDc2ODlhMWY1ZGQ1OTYwYjAxMGY5NzgzZTgxYTg4IGxlZ2FjeS10cnVuaworMjQxNDIgZWJiZGMzOGViMTFjOGE4YmY5ZjE2NWU5NTY4ZWVhMDFjOWI3Yzg2ZCBsZWdhY3ktdHJ1bmsKKzI0MTQzIDQwYTg4OTg5ZDZjYmE0NGU4NTNhZTJlYTA5NTA4NjRhYWMyNTc0NzMgbGVnYWN5LXRydW5rCisyNDE0NCAyZDllNDFhNzJhNjhiMzkyNGE1ZWE3Nzk4NmNjOWIxZTBmZTEwZDc1IGxlZ2FjeS10cnVuaworMjQxNDUgN2JiMzFmYjQ4M2JjODY3YjQ0NzkyYTM5NTk4YzU4NjkzMzI4ODgwYiBsZWdhY3ktdHJ1bmsKKzI0MTQ2IGE4YTY2MTIwYmFkZWRiYWRiZjhiYzE4YjkzNTk2MmZlN2U3YWUyZmYgbGVnYWN5LXRydW5rCisyNDE0NyBmNTc2ZmZkNTc5NjZiNTdkYWJkNjVkNjUyYjcxMjM5YTYyMjliNTY1IGxlZ2FjeS10cnVuaworMjQxNDggN2U4Y2RlNDY0ZGI0MGU5OTI4ZmM4Y2I0MzI1YjY0MGNkYmU2NTdiMyBsZWdhY3ktdHJ1bmsKKzI0MTQ5IDdlMjQ3ZjA4MzdlMjY5NTQ0ZDJiYTg1ODZmODU1NGNkYTZmNjZiN2EgbGVnYWN5LXRydW5rCisyNDE1MCA4MTFhY2UzYzQwZDAxYzJhZWViMGU0M2JlOGY2YjNlYmIxMTkwZmM2IGxlZ2FjeS10cnVuaworMjQxNTEgMTc5Y2QzNzBiNjIxZmEyNGZjMzZjODNjZjI2N2U0N2Q5ZDJiYjgyYyBsZWdhY3ktdHJ1bmsKKzI0MTUyIDI3ODc0Yzg2MDI2ODM3MzExOTE4ZGM2NDFjYzRjYjUwMmRiODRjOTUgbGVnYWN5LXRydW5rCisyNDE1MyBkNTRlMjk0NDg0YjJiZmRiM2IyNzFhMDRjOGIwODYxY2YyM2NmMTAxIGxlZ2FjeS10cnVuaworMjQxNTQgNzMyZWEyMmViNTE4MmZkMzBhMGViMjdmM2MwOGRmZGI2MTZkNTdiZCBsZWdhY3ktdHJ1bmsKKzI0MTU1IDhhNzJlZjZiODExOGQ3YzVhYzc3YTQxZThlNTY5MTE5NjUwMmI3MGUgbGVnYWN5LXRydW5rCisyNDE1NiBlZWY5YmQ4N2ZjYzA3OGQ4ODk2MTFkZjI1OWI3OGUwZjk2MzA5MDgyIGxlZ2FjeS10cnVuaworMjQxNTcgMTk4MTdhNGZhMmI2Y2ZiYmI1NTBhZjdkZGEwODZhMGE3ZjcwZDE5NyBsZWdhY3ktdHJ1bmsKKzI0MTU4IDg5ZDE3MWY2YmM3ZDYzMDU4MjU3MDQ4NzE4NmJkNTE0OTQwMzM3OTkgbGVnYWN5LXRydW5rCisyNDE1OSA2ZWUxOWMxOWIyYzM3M2E4MzYzYjdjNWYwZjBjYTE0MDdlYjg4YzE2IGxlZ2FjeS10cnVuaworMjQxNjAgNWM0MzViNWI1OWRmOTBlZjE1MmZjYjk5Yzc2NDM0YzBlNzY1Zjk5ZSBsZWdhY3ktdHJ1bmsKKzI0MTYxIGE2MGMxZThiMGJiYmViYThmMDgyNWYwOGQxYTY5ZmU5NTFhZGNhZmQgbGVnYWN5LXRydW5rCisyNDE2MiA3ZjU2MWZlOWVkZmMyMjgzYzQ5MmYyYTliODVmNzdhNTY4MGExNmFhIGxlZ2FjeS10cnVuaworMjQxNjMgMGMxNzUxNWIwNWRiOGI3YTJlNDZjZjZhYjIxNzE1YTljNjcyZGVhOSBsZWdhY3ktdHJ1bmsKKzI0MTY0IDJjZDJhZTRkZTMwZDkyMWFiMmY0ZjRjMjQ0ZWM1ZmJhNDVmYTY3MGUgbGVnYWN5LXRydW5rCisyNDE2NSA2NDBmMDI4NGUzMGFiMjk0Y2NhYzU4MzUyNDY4MmJhNzRhODM3ZmNmIGxlZ2FjeS10cnVuaworMjQxNjYgZTIzMTQwZjZmYjkwMzk2ZTMzNDc2YTkyM2E4NDlkMDYxMTNkYjFjZSBsZWdhY3ktdHJ1bmsKKzI0MTY3IDQxZDJkMDBhMzFmMTVkOTE1OGRlNTZkZWNjZGYxYmM0OGRhMDAzY2QgbGVnYWN5LXRydW5rCisyNDE2OCBmNDY3OWY2YTk1OGY5NTRlOTZjZGZkZjk1NjA0MGZjYjg4NTc0NDkwIGxlZ2FjeS10cnVuaworMjQxNjkgZGU0ZjZiMTRkMzgwYWNkMTM1ZmQxN2YyYjM4OTM3NjBmYWZjYTk2YSBsZWdhY3ktdHJ1bmsKKzI0MTcwIDViNjFhMmZmNjk2ZDBmNWE4NjRhNDY0OGUyMmRmN2FhN2EzMDJlZmEgbGVnYWN5LXRydW5rCisyNDE3MSBiNWZlOWE5NDE0ZmNhNjZiOTZmNTcyM2JmNzliODBiNjMwNDk2ZWU3IGxlZ2FjeS10cnVuaworMjQxNzIgYWYzNjczODEyZTMzNjEyYTFhYmJmNWY4ODRjMWNmZDBhYjRhOGFhNiBsZWdhY3ktdHJ1bmsKKzI0MTczIGUxODRiYmQ3MTY3YzNmMDQ3ZjliZDI0MWNmMTA0YjNkOGJjZDI5YjEgbGVnYWN5LXRydW5rCisyNDE3NCBjM2QzZGM4Mjc2NGM5ZjRhMTllMTExMWJjZjM1NDdiYTY5Y2E5MThkIGxlZ2FjeS10cnVuaworMjQxNzUgODcyMmIwYWJlYWM2Mjc4ZWZmYzhlNzYxZjk2N2M3YzI5YmY0MWUzZCBsZWdhY3ktdHJ1bmsKKzI0MTc2IDBiNjMzMmMyYWJhMDFjYWNlNjc2YzQzNmU1YjE5ZTg4NzdhZDA1MDggbGVnYWN5LXRydW5rCisyNDE3NyAzNTg2NDg4NzNhZGVhMmRiZTBiZDZmOTFjMjBhNDc3ZTAzNmE3YTdjIGxlZ2FjeS10cnVuaworMjQxNzggZDNmM2QyMWFjMDRiYzkzNjMyOGQ5MDc2MDgwY2VhNTY5Y2M3Y2QwZiBsZWdhY3ktdHJ1bmsKKzI0MTc5IGJmY2MyZWQ5Y2FiYTI3ZWQ0MDFmMzAzYzVmOWI1Yzg2YmU5N2ZjY2EgbGVnYWN5LXRydW5rCisyNDE4MCBmMmM3ODhhZGJkYmJhZjNiNDU4MTRmMDgyMmFhNWU3NDFhMjZhOWY2IGxlZ2FjeS10cnVuaworMjQxODEgYjBhNmRiYzkwMDQ3MDYzOTg3NGNmMmQ4NGY2MjA4ZGZiNjIwNWYzYyBsZWdhY3ktdHJ1bmsKKzI0MTgyIDYwMjdmZGYxZWJkYTNhYzA5OWFlZTUzZWQ0MDUxMDRjNTQ5YTMxZDkgbGVnYWN5LXRydW5rCisyNDE4MyAzMTZmZmZkODBiMTYxYzhkMjNmNDkxYTMxNzRjYjM4YTdmYWRhOTFlIGxlZ2FjeS10cnVuaworMjQxODQgODBiYWEyN2JmMGVjMzE2NTI3OWY0NTgxNjI1MDY4OTQxZDQ0NDViMCBsZWdhY3ktdHJ1bmsKKzI0MTg1IDY2OWVkZGY0NzBiYWRkNmU3Nzg3M2IyY2NlNjVmMzMxN2FhZTYwYWQgbGVnYWN5LXRydW5rCisyNDE4NiA4MzQ2MjU1Y2NhN2M3YTkxMmY4ZGZmNjk0MGQ1NGQ1ZDNkNGNmMWNkIGxlZ2FjeS10cnVuaworMjQxODcgNTVhMDYwZjQxNzNmNzIwNjZkNjljODA0NDc5YmQyMTA5MjBlNzRkNyBsZWdhY3ktdHJ1bmsKKzI0MTg4IDA2ZDk1YjY4NzdjNDVhYWY5OTBkY2M5YjgwM2RmYTI2NmE2NDU1ODkgbGVnYWN5LXRydW5rCisyNDE4OSBkODhkZDVjMmIyODJiOTUwNjE0NWZhNmU1NmU1MzAyNDU0ZDUzYjZiIGxlZ2FjeS10cnVuaworMjQxOTAgOTMyNTNjNjVkODYzMTE1Y2VmNTU1MDBmYjNhNDkyOWYyZjVkNTMxZCBsZWdhY3ktdHJ1bmsKKzI0MTkxIDIzYTIwOTQ4NGYwMjhlNjYxZTg0ZTM4MjkxNjhjOTg3ODYxMzdhZDUgbGVnYWN5LXRydW5rCisyNDE5MiBiOTg1MGM0NDc1NmIzYzc4YzBiOWFlZWQ1N2U1ZjNjNGNhNzE5OGZhIGxlZ2FjeS10cnVuaworMjQxOTMgMjAwMTQ3MTY1NTZiNmJiYmFhNjgyMzE4YzdlNDI5MzE0NjhiNjY1OCBsZWdhY3ktdHJ1bmsKKzI0MTk0IDdiNTg2NDk0N2JhZjZjYzkzNDg5NTM2NDFhZWM3YzU1MDEyY2IzMDggbGVnYWN5LXRydW5rCisyNDE5NSBiMjFiNDIzMzBlNDAyMTk4OThiNzcxNDRiMTgzZGIzOTU5MTAyYmZhIGxlZ2FjeS10cnVuaworMjQxOTYgOTA4NzFmYTQzZjRlMGFlMDExNDdiNDE3ZTk4NjJhYTAyYTRjZmYxNCBsZWdhY3ktdHJ1bmsKKzI0MTk3IDllODg4NWJiZGJjOTUzMzFiYzRkZDg3MGYxMjYwNzA3NjI1NmYwYTEgbGVnYWN5LXRydW5rCisyNDE5OCA3YTk5MWQwMTJjZDYzMWNhMTIwNDAxZjk5YmJjYjM1NTAyOWFmNjc4IGxlZ2FjeS10cnVuaworMjQxOTkgOThkYmIwNzljNWQ0OGMxYzljN2M5YThkNDIzZjQ3NDVhODRkNTUxNSBsZWdhY3ktdHJ1bmsKKzI0MjAwIDIxZmE3NTc5MDgyMjIzYzc2NTE0YjI5ZmEwMmRlMmJjYzBlNjdlMzYgbGVnYWN5LXRydW5rCisyNDIwMSBlZTE0MzdmNWRlMDMzMjg4OWQ1ZTgzNGVlN2Y0MDVmMGU4NjQxNWE2IGxlZ2FjeS10cnVuaworMjQyMDIgN2NlZGJmYWM3NDZiOTc3M2QyNDk5ZDU3NDdiYTI3M2Y1ZjE5MWQ2MyBsZWdhY3ktdHJ1bmsKKzI0MjAzIDVjMDJkMjE1YTM4ZGI5MDI2ODQxY2FlMTUzMDA5ZWM5NDIzN2VhZmYgbGVnYWN5LXRydW5rCisyNDIwNCAyYjVkMzMyOWQ3ZTJhNGJlOTNjOTIyN2U2NjdlYzRmNDkwYjkzYzhhIGxlZ2FjeS10cnVuaworMjQyMDUgOWFlZDc0NTI4NjYxZjcyNTM3NmFjNDAyNjNkMGJiZjMwNzQ5ZTI5NSBsZWdhY3ktdHJ1bmsKKzI0MjA2IGZhN2UwZDAwYzgyOGU0NWU0NmU5YTc1OTgwZWNjMTA1M2I2ZGYxODUgbGVnYWN5LXRydW5rCisyNDIwNyBjZDYwNmE1ODQ5MDNlNDgxNWVmYmRiNTA1MjkzMWQ3ZTI4ZWIwNjQ3IGxlZ2FjeS10cnVuaworMjQyMDggMTk3NTA1ZTY3NTJhMjU0ZGE4YjU0MzAwZjVmYzlmYmUzZTEyYTg0OCBsZWdhY3ktdHJ1bmsKKzI0MjA5IGVjY2U1ZDdkYTYwN2RlNGFmMjkzY2U0ZTM5NWYxMjE2YzBlOWZlMmIgbGVnYWN5LXRydW5rCisyNDIxMCBiYTk0NTVmYzRjOGIwZTI1YjJkYTY0OTUzMzY4ZDgyNjgwMzE5MmZhIGxlZ2FjeS10cnVuaworMjQyMTEgMGI2NDUyMGMyMDBjODhjN2Q0ZTQ1YzAzOTkwZGQ2NmU1Zjg3YThjYiBsZWdhY3ktdHJ1bmsKKzI0MjEyIGUwNTNlNDRmOTY2NmZmOGRhNDY3ZDk5NDM5ZDJjZTE0OWM1OTI3ZjggbGVnYWN5LXRydW5rCisyNDIxMyAxM2ExOGNiZmZkOWM3MGJjYmRjMWQyMDNkMDFmMWJlMTM2N2UwYjg0IGxlZ2FjeS10cnVuaworMjQyMTQgNTQwZTUzMjVmYzZiMDhkYjIyMDQzMTQ1ZTJjNmFiMGU4YzYxZjI1OSBsZWdhY3ktdHJ1bmsKKzI0MjE1IDEzZGY4YjZjMmI4MGM3NTI4MTYyMmRiY2MwMzMzZjY5ZjExNDk5MWQgbGVnYWN5LXRydW5rCisyNDIxNiA0NWM5NTJkMmE2MTEzNTIzM2YyMTc0ZGIwYzg2ZjMzZDJmOTRiYjQwIGxlZ2FjeS10cnVuaworMjQyMTcgNWU3MzVmMTk3Y2E2N2RiZjg2Yzc4Mzk1NzA2M2M1NTI1MzJjMzQ3OSBsZWdhY3ktdHJ1bmsKKzI0MjE4IGQzZGQwYzJhMTc3MWQ4NWZlZmFiNmQ5MmUzOTFlNjc4MTM5MGRkYmIgbGVnYWN5LXRydW5rCisyNDIxOSBlNGQzODBmNWYyOTc2NjQxYjZiNjJmNDg2NjhlMDYzM2U0NjFmODBhIGxlZ2FjeS10cnVuaworMjQyMjAgYzNiMzNlYWQzNTQ2ZWY0MWI5NzQxZmM3ZjMzYjRlYjZlM2Q4MDllMCBsZWdhY3ktdHJ1bmsKKzI0MjIxIDNjNWQwZWVhMWFlMmIyMjhjYTdhOGM4Y2Y2OWQxNDM3NGQ0ZTIxMTcgbGVnYWN5LXRydW5rCisyNDIyMiBlZjEyYzlkZGVmYTcwNTYwM2I5MDM0ZTVhNjczNjI3Yzc3ZDcyYjFlIGxlZ2FjeS10cnVuaworMjQyMjMgYzU1NWYxZTdjNGJlNGQ5M2QzOTg2YTI5ZDI3YzczZTEyODE0ZTQwNyBsZWdhY3ktdHJ1bmsKKzI0MjI0IDliZmMzMWNhODBmMzQyZmEyNDY3ZWExNmEzZDY2OTI2NTVjM2Q1YTQgbGVnYWN5LXRydW5rCisyNDIyNSBkMjdjZThmZTQzZjgzOTkxZjMxNDcyZTRlNzMzZThiZTkzYjM3ZTkwIGxlZ2FjeS10cnVuaworMjQyMjYgYzNiMDgzMTk5NTljNGNhMDlkMmQzNTBjNTk4Y2I5OWUzNjViZjQxOCBsZWdhY3ktdHJ1bmsKKzI0MjI3IDBkMTc2Nzg0NGM0YjcwN2EyNGIwYWY4ZmYxNDFkOGQyMGJkMTY1ZTUgbGVnYWN5LXRydW5rCisyNDIyOCA3NzFiMDI5YmRiOGExODM2Y2NmMGU1YzAyYmY4YjRlOGM0OGJiNDIwIGxlZ2FjeS10cnVuaworMjQyMjkgOWVkZTRkNmNjOWRlOGQ1ZWRmMjAwOWY4NTJhY2VmMTQxMzdjMzY4YyBsZWdhY3ktdHJ1bmsKKzI0MjMwIGMzYjNlMmU0MDAzNWVhMGU3ZTI5ZmFlN2IzZDViMTAyMmY5MzBmZTUgbGVnYWN5LXRydW5rCisyNDIzMSA2MTVhNGY1NjAyNjg1MTA2ODczMmMxNjQxN2VmZjhhMzdhMzQzYTcxIGxlZ2FjeS10cnVuaworMjQyMzIgZjc5Y2ZkMDU0ZjIxYjgxYzllMjM3ZTVlZDA1YmI5ZjI2NDM1NzQ3MiBsZWdhY3ktdHJ1bmsKKzI0MjMzIGNhOGJlYzRiMzM4Mzc0MmNmM2FiZTM4YjExMzc4ZmE1NDdlOTIxZTQgbGVnYWN5LXRydW5rCisyNDIzNCBhMTNkN2NkMGVmN2YyNzUxMWQxNGNmNmIzMjMyOGUxNGQ1MGFjMTk2IGxlZ2FjeS10cnVuaworMjQyMzUgZGE1ZmJjMWViMWQwNWZmOTFjNjE2NGEyNDM0OWQ0NjJhMmE0MTQ2YSBsZWdhY3ktdHJ1bmsKKzI0MjM2IDNkNTIyY2JiN2E4MWYxOTY1YjI3N2I3NTQ4ZTM1YzZhZTUxMGNlZWMgbGVnYWN5LXRydW5rCisyNDIzNyAzMDBiNjhkNjNiOWY0YzI1YmI1YjA2MjNhNzIzNTVjNjg4ZDhiNzliIGxlZ2FjeS10cnVuaworMjQyMzggYTNjNTdlNTliNWE4MTNiZmRmYjRjYTcxNzE1MzVjZjZkZWEzMjk5YiBsZWdhY3ktdHJ1bmsKKzI0MjM5IDNlOWQ2ZTlmYmU1OGY2YTYzNmRjZTk0NzA2NmM5MjAyNTExODRmYWUgbGVnYWN5LXRydW5rCisyNDI0MCA5Y2E3ZTQ2ZmFhMjRiYzI5ODRhOGRmZGRkMTUxNjZjNjg2OGQ3Mjg2IGxlZ2FjeS10cnVuaworMjQyNDEgNTU0NTgxOGY1ODFhODJmNmQ2MzNiMWM2ZTdkOWVjMmQzNjFlODM3MSBsZWdhY3ktdHJ1bmsKKzI0MjQyIDkwYTBmMDk1MThjOGY2ZWYyYjUxZmE0OWRmODU2NzlhYzE0Y2RjY2UgbGVnYWN5LXRydW5rCisyNDI0MyBiYjg3MTYwOTVhODFhNWNkNTU2NTJhY2JjNjFmZWMwZWNhNWRlMGMyIGxlZ2FjeS10cnVuaworMjQyNDQgZjFjZmRjYTczZjg2OTU4NzdjOGJlOWVmOGViMGViNDlhMThmMTRmNSBsZWdhY3ktdHJ1bmsKKzI0MjQ1IGMxZWNhZmQxNTU2MGI1MTliMWU2NDQxOWU1MWVjZWM0YTYxYzI2ZjIgbGVnYWN5LXRydW5rCisyNDI0NiBlMTY3YjgyYzY0NDQwZDgwYzBkY2E3ZjdiNzgyNDZiNDA1ZTU0OTU3IGxlZ2FjeS10cnVuaworMjQyNDcgZWJhOGM3NzFkYjY0Y2I1MDk4YTJhN2IxZjVlOGE2MWM3MDU4MGUwZCBsZWdhY3ktdHJ1bmsKKzI0MjQ4IGNlNjlkNGVlMmZhMDBlMTdhZjY1Y2M4NTcyODk5YzQ2OWY3NjY4ODAgbGVnYWN5LXRydW5rCisyNDI0OSBhYzUxOTE2YmZkYTA3ZTJkODkwYzA5MjkzMWJlMmY0NTQzNDg1ZWE2IGxlZ2FjeS10cnVuaworMjQyNTAgZjE2NzFhNjEwMDc5OTM5NjBhZTNkZTQ3MDA2YmNlNzI0ZmUzZTM3NSBsZWdhY3ktdHJ1bmsKKzI0MjUxIGU3MWNjZmJmMzZiYjhkZWQ2Mjg0NjJkYWY1NDc0OWM5MzU2N2YxMTggbGVnYWN5LXRydW5rCisyNDI1MiAwN2YxZDJjNWRkMDQxYzhkODQxMThmNGI2YTY2Y2E0MGJkOGRhMGZlIGxlZ2FjeS10cnVuaworMjQyNTMgOTVlMzU4NGFiZTQ1NzZlMWRjNDgyYjYyNzQ3ZDFiNzU2MmY3N2IwYiBsZWdhY3ktdHJ1bmsKKzI0MjU0IDQ0ZjNmNWE1YmZlMjQ1ZDc0YWE3ZDA4NmRkNTU5YWEyN2E2ZjAzM2QgbGVnYWN5LXRydW5rCisyNDI1NSA2M2MxNDY2OTUyN2U0OTdkOTA0MWEyZjE5YjEyZjE4ZmRiOGUyNGMyIGxlZ2FjeS10cnVuaworMjQyNTYgNGI5ZTYzY2YwMmE2ZjgyOGM5ZDBjOTAzMWMyZGM1NjU3Y2RkM2QwNSBsZWdhY3ktdHJ1bmsKKzI0MjU3IGIwZGYxZmQ4MThmYzFmNTY1YjFhMjQ1ZTE4YWNiOTBhYTU3NDE3ODIgbGVnYWN5LXRydW5rCisyNDI1OCBiMTYzZTc4NmFjNzRlNGE1NjdlNDEwOGI5MDUxODdjNDBiNzQ5YTJiIGxlZ2FjeS10cnVuaworMjQyNTkgZjcxMWNmNDU4NTI1ZWVkN2NiZjhhMmMwZDE2ZDQ1YWI4ZmY4ZWNhNSBsZWdhY3ktdHJ1bmsKKzI0MjYwIGFhY2U0ZmFmZjE3ZGQ5MjQ1ZWRmYjdmYjUxNGYyZmVmMzI0NDBhMjMgbGVnYWN5LXRydW5rCisyNDI2MSBmOTZlODkxY2YwZTRlZTUyZGI5YjQ0ZDBhZWYxNzhhOTg0NjlhZWRjIGxlZ2FjeS10cnVuaworMjQyNjIgYWMyYmMwN2U4Njk3Zjc2NWVhNTk0OWE2Mzk0ODFjYjAzOWFmZjRjYSBsZWdhY3ktdHJ1bmsKKzI0MjYzIGE4NWEzYzEwYmE0ZGE0YWQ5MGNiMzgxMDk0NzE3Y2UxYTQ1NDE5NjIgbGVnYWN5LXRydW5rCisyNDI2NCAwMWU0N2NlOTYyMDEwZjZjMTRhYWUwYmFhMTJiZWIxZGQwYzI0NWMzIGxlZ2FjeS10cnVuaworMjQyNjUgODE2MjY0YmRhMTM2Y2U2MjE3Zjg1OWYwZjBjODdhZTFmZDdlYzRmZSBsZWdhY3ktdHJ1bmsKKzI0MjY2IDBkMWRlYjQwMjE5ZjlmYzAyODdmY2RmYTE3MTVmMjU1ZGIxYzY3MGEgbGVnYWN5LXRydW5rCisyNDI2NyA1YjU3OGQ0ZDg5MDJiOTViNTIxZGRiZTBiNDg4YTBjYTRjY2U4MDExIGxlZ2FjeS10cnVuaworMjQyNjggZDliNzg1M2EwNDMxYjM2ODQ4ODYzZWVhMmQxNWYwMzg5ZTVjMjhiZSBsZWdhY3ktdHJ1bmsKKzI0MjY5IDNhNTQzYWYxOWM3OTVmYTE5M2Y0ODUyYTI2MjFiZDFlYzAwZDIzNGIgbGVnYWN5LXRydW5rCisyNDI3MCAyMmRmM2VkMTFlMjE5NmRjMmIzOGY0MGU4N2UyYzRlYWIyZTFmMzIxIHIyMmIyLWJyYW5jaAorMjQyNzIgMDkyNDRjNDY4MzBmN2I4OTA4NmJiOGMyZjc0ZDI2Mjk0OGM3OGFjMiBsZWdhY3ktdHJ1bmsKKzI0MjczIDE3NGNjYjAzNWIzZDg1ODkzYmI4MGJhZjg4NTFhZjA5Y2Y4MjY1YzggbGVnYWN5LXRydW5rCisyNDI3NCA1NzBhNTRiYjFhNTk4ODgyYzEwNWI3ZTFjMmRkYjRiMjY5YzExZjg1IHIyMmIyLWJyYW5jaAorMjQyNzUgYzMyOWI4MTFlZTU0OTZiZDU5YzQ4NDkyNDA0NzA0YWUzOGEzNjgyYSByMjJiMi1icmFuY2gKKzI0Mjc2IGYwYjU3NWQ2ZmVhYTcwZGY0MzM5ZTQwNDdjYTc3MzA3ZTliMmMyOGMgbGVnYWN5LXRydW5rCisyNDI3NyA1NTVhOWUwMDE5YTc3OTk2YjkzOWJkOWU3N2M5NmM5ZWJhMDdiNDUwIHIyMmIyLWJyYW5jaAorMjQyNzggNmJmZmQyZTIzMjZhMzE0MTgwNjlmZDI1ODA3N2E4YTg5ZWE1OGRiYiByMjJiMi1icmFuY2gKKzI0Mjc5IDg0YmNhMWVmMTE2OGJjOTdhODJlNTRmN2Q0Nzc0NGRkZDU4ZDVkZGUgbGVnYWN5LXRydW5rCisyNDI4MCAzZTBjY2NjYzRkY2IxZTc3YWFiMWU5NWQ1ZDE4NzM5NzU2ZGJiYjk5IHIyMmIyLWJyYW5jaAorMjQyODEgNDY1YmFiMDdkMmE4ODQ4MDhmNjAwNWQ0OGNkNjM1MjI1OTYxNTMyZCByMjJiMi1icmFuY2gKKzI0MjgxIGY3MTU4MWNlN2EzY2VkNjljMWJiZTVhYjkxMzk5MGE1YzhjNDE2OTQgcjIyYjItYnJhbmNoCisyNDI4MyA5MmQ2ZjZmOTdjNzBjOTRmNjg4N2E1YzMyMzRjODFkYzRlZjQ1ZWU1IGxlZ2FjeS10cnVuaworMjQyODQgMzBlMTNmMGVhNzZiMjFjN2EyNTJjZTQyMzQ2YmEwMjMyMmFjOGIzZCBsZWdhY3ktdHJ1bmsKKzI0Mjg1IDQzNjUzMWIwYWNmODFhMTQ3YmEwN2U2MjcwNDRlZWU4ZWExMzQ1YTMgbGVnYWN5LXRydW5rCisyNDI4NiBmN2I2MTAwNTkzZGNmMTc2OTVjM2RjMzMzNzVkMTI4OGRhNzllMDBjIGxlZ2FjeS10cnVuaworMjQyODcgYmVhOTJjM2Q3N2EzMmE0MTZlNjNiMGVjYjYwNzg5ODEzZGQyOGM4MiBsZWdhY3ktdHJ1bmsKKzI0Mjg4IDM5NGRhNGVmZmJlYzY4ODI4NGMyOGYzMTNmNzRhZDljMDg3MmJiMWQgbGVnYWN5LXRydW5rCisyNDI4OSBkOTE0ZTBmMzlmODM3OGUzMTkzNzYzMGE1NTY2Y2FiY2ExZmUwZDRkIGxlZ2FjeS10cnVuaworMjQyOTAgMWI0ZTJhNzk3NTk2MWEwODlkYTk0MGFiMDkxMDdlMGZmMmQzYjlmMSBsZWdhY3ktdHJ1bmsKKzI0MjkxIDZlMTBhMTQ5OWUyNDIzZDJiNDdkNGY0Y2QyNGI2ZWM3OWZkNmQ0MzQgbGVnYWN5LXRydW5rCisyNDI5MiA5NGZlMTdjNjc3MTU0MDgwMjc5MDYyZTdiNDUxNWE0ZDZiNWIwYTM2IGxlZ2FjeS10cnVuaworMjQyOTMgNjFhMmRmNTY3NDZlZWUzZmRhMWY5OGY4NjljZDIxNzgzZDM0NmQ2MiBsZWdhY3ktdHJ1bmsKKzI0Mjk0IDIyY2VkZWRhMmE3M2NjNTk2YzZmYTdhODMzMDEyOGIzN2FhYjdlODMgcjIyYjItYnJhbmNoCisyNDI5NSBiNWMyZjc5NGQ4MDU5MzcxN2UyZTg3N2Y2MTgwNDk3NGQ5NDc0NzBlIHIyMmIyLWJyYW5jaAorMjQyOTYgMWZkYjg5YThiNjIxOTliYThlNjI4ODE3OWQzZTQ1NGJlOTdjYTBjNiByMjJiMi1icmFuY2gKKzI0Mjk3IDQ0Yzc3ODFkM2YwY2NkNDhjMTE5N2M0OWJhOGE1Njk2ZWM5ZDRiY2IgcjIyYjItYnJhbmNoCisyNDI5OCA0MWVmOTgyYTY0YjFiMWQxOWQ3YWE5OTNlZmRjMGQ2M2ZhMTU2OGY1IHIyMmIyLWJyYW5jaAorMjQyOTkgMTI2ODk1YTM5MmJhNzNmYjk3ODM1N2MzYmRlZWYxY2VhMmY5NWIzZiByMjJiMi1icmFuY2gKKzI0MzAwIDE0NWZhZjI5OGNkY2MxMzI0Y2VjYmViZDVkYjIzNjE1Y2Y2YjQ3ZDggcjIyYjItYnJhbmNoCisyNDMwMSA5NGM4NThmZWFlN2Y4ODYxMGNmM2UzMjdjMDcyNjQxYTg3YjMxNzQxIHIyMmIyLWJyYW5jaAorMjQzMDIgYzUyYmI4NjJkMGY3NzM1NGRhN2M0ZGFmNDdjOTM4MDZmYTUwOTkwYiByMjJiMi1icmFuY2gKKzI0MzAzIDMwYTQwODBiYzMwYjU5MWRjY2JhODMxM2RiYWRhYWY3NDcwM2JjYjYgbGVnYWN5LXRydW5rCisyNDMwNCA0YTlhOWNjMDQxZGVjZTZhMTllMWQwOGIwMGM4Y2YwNzQxZWZjZmM5IGxlZ2FjeS10cnVuaworMjQzMDUgZmUyOTMyN2U0NzFjZTJlNmY0ZjFjNTRkMWYxNTFlN2E4NjcxZDc3MyBsZWdhY3ktdHJ1bmsKKzI0MzA2IDhjMzIxOWE0ZGNkNmRlYjYxOWE4NWM2YjcwNzQ3MTg1OGM2OGJlMTIgbGVnYWN5LXRydW5rCisyNDMwNyA0MWI4ZDY2NzMwZDYxZjRhMWE2MGVhOTk1YjQ0MTkwMTJjZmJlODNhIGxlZ2FjeS10cnVuaworMjQzMDggMzNlYjYzYjg2YTE5MzZlZTQ3NDhjZWEyZmM3MjE1YjUyNWIwNDcwYSBsZWdhY3ktdHJ1bmsKKzI0MzA5IDQ5ZGMxNDRhMTU1NTdjMTdlNmE5MTU3M2M5NGRiMTZmZjY3MDMxYTMgbGVnYWN5LXRydW5rCisyNDMxMCA1N2M3OTFhNWY4MWM3NTg3MmJlZGJlNGJkMDMxOWY3MWVmMzA1Njc3IGxlZ2FjeS10cnVuaworMjQzMTEgMmI2NTBjMjFhNTYzOGQ1OGZhZGU4NzA0YjY3Mjc4ZWNjNTVjY2NiMyBsZWdhY3ktdHJ1bmsKKzI0MzEyIDQyMzY1YjcwZTlkOGI4ZTRlYjUwNGIzMDUwZjQwNjc0NjIwZDliZjQgbGVnYWN5LXRydW5rCisyNDMxMyBmNGQ5ZmEyMDdlNDBlNWIwZWJhZGVlNzI2NDhhMGQzNTFlNTk1ODc0IHIyMmIyLWJyYW5jaAorMjQzMTQgNjJjNjNiYTkwZGYyMTBiYTM2MGE4Zjk3NWY2NjE4MTVlODNlOTc3ZiByZWxlYXNlMjEtbWFpbnQKKzI0MzE1IDBmNDA4MjYxYjNjOGI3YWFiYWMxZDM5YjI1NWQ2OWQ1OWYwZDI4OWYgbGVnYWN5LXRydW5rCisyNDMxNiBhOTY1MzgxMTczMWEwMDNiYTQ4MDFjY2EyZDcwM2JjOTEzMGRlYzIwIGxlZ2FjeS10cnVuaworMjQzMTcgOWY2NmFhZGRmOGQ0MGJmMWEzODIxZjJhZDE5MWY5ZGMzODdmOGU2YyBsZWdhY3ktdHJ1bmsKKzI0MzE4IDdlYmMzZTI5ODNkMTFiMmQ1ZmEzY2M1NjU0OWQ5ZmE5ODBjNTk4ZTMgbGVnYWN5LXRydW5rCisyNDMxOSAxZGFlYmZmMTc3ZWYxMzc3ZTFjYjk5MGUzMmZiZDAxZjlmY2U5NTg4IGxlZ2FjeS10cnVuaworMjQzMjAgZjk1N2QzOTZjODRlNzFkZjIyN2JlZjczMGM2MjEyOGUyYWFlNThlZSBsZWdhY3ktdHJ1bmsKKzI0MzIxIGU3OWZjMjU3YmNhMGU2ZWQxMDc4MWIwN2JhODM3NzY2MTZjYTY0ZWEgbGVnYWN5LXRydW5rCisyNDMyMiBkZWUwZTg2NjY1M2U2ZTQxYjVmNjUxYTIwOTIyMzkwZWJkZDk4YjBkIGxlZ2FjeS10cnVuaworMjQzMjMgM2RmYmJmNDJiZjE2YWU5N2ZiYmQyYTQ2ZWYxM2IxOWIwZmYwYzVlYiBsZWdhY3ktdHJ1bmsKKzI0MzI0IDFlZTc1YmQ0ZWUzNDY4ZDUxN2JjNTE3NWJjN2RmNjE1ODhmN2E4MzYgcjIyYjItYnJhbmNoCisyNDMyNSAxMDllZDY5NjQ4MzJhZGY4N2M5YjA0ZGM0NTYwNjJmNzFlMDFjNGVjIHIyMmIyLWJyYW5jaAorMjQzMjYgYmQyZTg5ZDc3ZDQ1YWRmMTdiZTA3ZjhkNTEyODEyZjM3YWU0YjYxNSByMjJiMi1icmFuY2gKKzI0MzI3IDRjODMyODc4ZGU3NGViNzIxYTVmNmNlZmRjMTZiOWFiNGQ0MjVkMGIgcjIyYjItYnJhbmNoCisyNDMyOCBlM2UzY2Q0N2JhZDVmZDM4M2JjNThiYjIyNTg5MjU4MjhhZjc0MTI4IHIyMmIyLWJyYW5jaAorMjQzMjkgZDIxMDI4ZDVjYzg1MjhjNDY1ZDc4ZDY2ZTI2ZWNmNDRiMTAxODczMSByMjJiMi1icmFuY2gKKzI0MzMwIDQ4MjYwYjBiNTI2ZjY5YTE1YTFkNDcwZDdkYzc2ZDFlZmVhNTc3YjQgcjIyYjItYnJhbmNoCisyNDMzMSBlZTI0YmQwY2FkMjkwM2IxMDg0YWYwYjE4MzM2OTQ0M2Y3MzllNjdmIHJlbGVhc2UyMS1tYWludAorMjQzMzIgYzdlODMzYjNjZDljNWFhYTJmZWY1ZGQyY2I1MjNiMzZkODlmZjE3OCByZWxlYXNlMjEtbWFpbnQKKzI0MzMzIDk3NDYyMTk4MTNmOTk3OTI3ZWVkYzI3YWRlZWM1NTBlNjU4OTJjMWUgcmVsZWFzZTIxLW1haW50CisyNDMzNCAxMWNiM2RlMDgyM2RhOGVjMjhiOGUyNTY0MmQ1NzE1OTU4NzlkMjIyIHJlbGVhc2UyMS1tYWludAorMjQzMzUgMjIzOTUzMDY5YTFhMDlmMDI5NmFmMmE5ZGFmMTBlZDM2OTEwNDAyOSByZWxlYXNlMjEtbWFpbnQKKzI0MzM2IDNmYzA2YzExNDlhNDNkYjJmODY2YTc1MzllZTdhZjljYjBiOTNhYzMgcmVsZWFzZTIxLW1haW50CisyNDMzNyBjNDQ5OTU5NmIxYTQwZmQ4YmNmMWQ4OTY3ODg3MDg4Mjc0YjhkYjYxIGxlZ2FjeS10cnVuaworMjQzMzggMWNmNzdkZjk1ZjQ1MjUzODk3NjU5M2U0ZjliN2VlODFjMzI3ZGM4YSBsZWdhY3ktdHJ1bmsKKzI0MzM5IDU5ODFkZmRkYTg1NzBiNjE3MjNlZDg4Zjk5MTk4OTMyMzA5YmM2N2YgcmVsZWFzZTIxLW1haW50CisyNDM0MCBhZmI3ODlhYWRhMTZmZDhkYTZmZDQyZDkzZTRiZDZlYWU4MWNmNjEzIGxlZ2FjeS10cnVuaworMjQzNDEgNzc4ZTZhODBmY2VlNGY1NWZmNDM2NmQ4OGFkY2ZkYzMyOTU2YjQxNiBsZWdhY3ktdHJ1bmsKKzI0MzQyIGMzZTZlNjNkOWJhMmQ4MjlmMDFjYzY4NjM5NGExOGJiOGZmNjkxNjUgbGVnYWN5LXRydW5rCisyNDM0MyBlNWNmNzRmNzkxNjc5YmFlMTVlYTM0MzQyNjdlMTRkZDMxNDgzNGU2IGxlZ2FjeS10cnVuaworMjQzNDQgMDg0NmI0ZTI1MTdkZjAyOGJjYTJhNGI2ZDJhMDAyZThmZTExOTI1NiBsZWdhY3ktdHJ1bmsKKzI0MzQ1IDcwYjQzMDZmNDg4ZGIxNDYwZWExMDA5N2FmNzgxZTRmNWIxZjJkYjkgbGVnYWN5LXRydW5rCisyNDM0NiBiM2Q2MjdlZTJiNzNmZTFjMDVmNzA2MWEzMmI5NjVhOGZkNzZmNjMyIGxlZ2FjeS10cnVuaworMjQzNDcgZTZlYWY5NTdlYTI2ZjcxNjRkZmI2ZDBhZDA0YzA2MjQ2ZTg4OGI3NCBsZWdhY3ktdHJ1bmsKKzI0MzQ4IGIxMTRiMTAwNzQxOGVlMmUxMGQxNDE2YzBmMWEyMGQ3NjNjZTRiOTUgbGVnYWN5LXRydW5rCisyNDM0OSA4ODFmNDliZWZjYTNjMDFhMDRiYTk4Y2M2ZDA3YTFkMmE0NTIwMjhkIGxlZ2FjeS10cnVuaworMjQzNTAgY2QwYjc1YjE5ZGY3ZDgyNjI3ODJhYTU1NzE1OGNhYjAzNTFmMDA0MSBsZWdhY3ktdHJ1bmsKKzI0MzUxIGZlZDUwNzFkYTk1NzVkNGQ2OTQ0NWY0OGMzMDIxZTQxMWU2YWYyNDYgbGVnYWN5LXRydW5rCisyNDM1MiA3Y2E1YTQ4MWMwZDE3OTU1Njk2M2NkMmRlYzU1NmVmNTdhYzg0N2E5IGxlZ2FjeS10cnVuaworMjQzNTMgMWFlMmFmZTY3NWZkYTdiY2M1MTBjZDk2Y2NmOWVjNTA0Yzc2MzE2NCBsZWdhY3ktdHJ1bmsKKzI0MzU0IGRhMzg4ZTFkNDA0YmZiODNmNTkxMDNiZjI4YzY2MmVkY2MzNzcwYjkgbGVnYWN5LXRydW5rCisyNDM1NSBiN2YzOGU3NjUxNDc5MzM5MzVhYWRlYzZhMDVhZWNkYWRhZjc0MmQ2IGxlZ2FjeS10cnVuaworMjQzNTYgYmNiZGE2MDZkOGM3NTcxOGI0MDI4M2M3YzVmOTgxYzE2MGRjY2I2YSBsZWdhY3ktdHJ1bmsKKzI0MzU3IGQ0NTY5MWE2OTg3ZmU5NjdhMDVmYmJjZjFiN2YwOTdjNDkwY2YzMzggbGVnYWN5LXRydW5rCisyNDM1OCBiYWM5NDJlNjg1ZmFkMmRiYmQyMGQ5ZjYzYWU4MTliMDQyYzgzN2RhIHIyMmIyLWJyYW5jaAorMjQzNTkgMzZjODk3YmNmNGQ3ZTY5NDI0MDExMzg2MjNlZjNjMzlmOTkxMmViYSByMjJiMi1icmFuY2gKKzI0MzYwIGY4ZmRiZmE4ZDVmM2I4MmZlYTk5Zjk1ZWI3OTlmODdkODcyZDg2MzYgbGVnYWN5LXRydW5rCisyNDM2MSAyYzBhOWE1MDg2ZTEwYjk5ZjA0MWQwYjBhY2EyZGI2Y2MxZGRkNDczIGxlZ2FjeS10cnVuaworMjQzNjIgOWRmODJjMTNjNjc1ZjA3NDAwMmQwMjgzMmJmYWQ5OTEzNTk3NjZkZSBsZWdhY3ktdHJ1bmsKKzI0MzYzIGU3NjMwNmVlYTM3MDk3NTBkYjU3NjgzNWVhYzViNjdkMjFjNDJmZmIgbGVnYWN5LXRydW5rCisyNDM2NCA1OTdkMTBjZjc5MzhlOWJiMjY1OTdlMzM2ZjVhZWYyNmQzZDZlMTY4IGxlZ2FjeS10cnVuaworMjQzNjUgMTgwMmE5ZWRiNGVlZjRkOGU2MGVmZDhlMTc1OWM5NDAwYWViMDcyNyBsZWdhY3ktdHJ1bmsKKzI0MzY2IGJjMDJjM2IwOTYyNmEwNDVmNjZiNDc5MGQyYzlmNzdjNjZkZTQ5OWUgbGVnYWN5LXRydW5rCisyNDM2NyBmMTg3NDk2ZmZhZWY5ZDIxZmMyNjM4OTBlOWE1OTdlODkzZTljNzkzIGxlZ2FjeS10cnVuaworMjQzNjggYTJkNzhlMjFhNzg1N2UxNmVjMDdlNDA2OTcxMDEwNDI1YzAyYmI2MSBsZWdhY3ktdHJ1bmsKKzI0MzY5IDUwY2ZiZGRjNjAzN2U5NzUxZThlMTk3ZWE0NzlhN2MxNjJkZDMzMGMgbGVnYWN5LXRydW5rCisyNDM3MCAyMjVjN2RkMTdlMzcyNjc5NDNkM2Q3M2FjZTQ0MDI3YmMzYTlhODBhIGxlZ2FjeS10cnVuaworMjQzNzEgYzljNGM1MjNkY2JmMTI4ZDdhNjVhYjc5YWJkNzJiMmQxNGU3Y2M4ZCBsZWdhY3ktdHJ1bmsKKzI0MzcyIDliMDU5ZjFiMmExZjA1Njk5OGY5OTg2NTEyN2MzMTAyZGMwMWEyZDQgbGVnYWN5LXRydW5rCisyNDM3MyA3ZDNhMjExZWYyMzM2OTlmZWRhZjQ5YWQ5MDk3MjRkODg2MmFhMTljIGxlZ2FjeS10cnVuaworMjQzNzQgYmE2N2I5Yzk3YjY5NmJmNjI1NWQ1YjM5YjBjMmY1YTA3NWE1OWFlNSBsZWdhY3ktdHJ1bmsKKzI0Mzc1IDYzOTJmMDMyMjJlMDEwZTgwMzM4NjcyOGE3OWZkYTg2OGYzNzU4MmUgbGVnYWN5LXRydW5rCisyNDM3NiA2MzljMGEzYWU4ZGNiNDVkYTE2MWYyZDgwZWNkOGQyNzkxMDE2ZDZiIGxlZ2FjeS10cnVuaworMjQzNzcgMzA0YjM0MDIzODc2OTIwZjU3MDQ2NWMyODYyYmVkNDA2ZjQyYzZjMCBsZWdhY3ktdHJ1bmsKKzI0Mzc4IDQ3ZWE3M2ZkN2U2YmEzMGNiOTg2YjAxMzc5MTRkNzM3OTAyYTYwM2EgbGVnYWN5LXRydW5rCisyNDM3OSBkYzY0MWUxMjU2ZjljNGRlODA3MjdlZjZkMjVkYzMwMDIwOWU4MGY5IGxlZ2FjeS10cnVuaworMjQzODAgYzVmYmU5MmUwMmQzYTE1NzAwYzlmNDljNGVkOGEyOWIzNmRmOGE0ZSBsZWdhY3ktdHJ1bmsKKzI0MzgxIDM3OWZjNjZmNGM5NmQwYTFmN2MxNzZmOWJlZGQxMGNkNzM1YjZkMmYgbGVnYWN5LXRydW5rCisyNDM4MiAwMjVhZDI3ZDQyMjRmNDU3MjQ1MTM0ZmNjOWJhZWUwYjM4NmNlNmE1IGxlZ2FjeS10cnVuaworMjQzODMgOGNlZjc1Y2FjYjAxNjA0Y2RmMDAwMGFkZmViNjY4YzY3MWQ0OTg1YSBsZWdhY3ktdHJ1bmsKKzI0Mzg0IDViNDU5Njc3ZmM0NDRmYzliMGMwM2JiYjk2ZGQ1MGFiMThhMGQxOTkgbGVnYWN5LXRydW5rCisyNDM4NSA5NGY1YTlmYTM1ODM0NzUwODE0ZDE2MjlkNjdkNDNkYWViZDk0MGIzIGxlZ2FjeS10cnVuaworMjQzODYgYzhkNzc1YjlmZjkyYTliYjkzOTVkNTBiNmFmNmZhMjE2ODZkYTQzMCBsZWdhY3ktdHJ1bmsKKzI0Mzg3IGQzYjY0MDFjYTI3M2I1ZTRjOGVjZGEzYWE5Mzc3NTg5ZmI4MDQzMzEgbGVnYWN5LXRydW5rCisyNDM4OCA1MmNlODg3ZGIzYzkzMWE2MzhlMWFmNWZjYTVjMjNlOGY3OTc4ZjNkIGxlZ2FjeS10cnVuaworMjQzODkgM2ViMjRmNGM4OGQ1YjE5Y2ZlYTRmOGRlZWM5YmYxNDQ0YWVmYjNiNSBsZWdhY3ktdHJ1bmsKKzI0MzkwIGVhNWIwZjBiNzE2ZjI1NDg0MzI2OGE5MjdhMjg0Yzc0NzY0NGQxYjggbGVnYWN5LXRydW5rCisyNDM5MSA0MWVhMmFiYjc0ZmIzOWMxYmM3NzdiNmVmN2E4YWIxOTY4ZTU3ZDkyIGxlZ2FjeS10cnVuaworMjQzOTIgMzQ3ZWE2OTMwMDJkNTJiODllMzEwZDBiNDU4NjBmM2IxM2ZiNGI1MyBsZWdhY3ktdHJ1bmsKKzI0MzkzIGQ5NWE0ZWM2ODVlMGUzOGEzOTc0ZWVjYmE2OWQ1MDVhMjE2YTQ5OTEgbGVnYWN5LXRydW5rCisyNDM5NCA1ZTI1YzY2OTc0MWNmOTExYTFkYWE5MTE2MWI1NTdiNGYzN2MyYTkzIGxlZ2FjeS10cnVuaworMjQzOTUgNDdmNjUzMzY3NGZkYTJkYjYyNmJkZmI2Mzc0MzM3MzU4NWE5M2NiYiBsZWdhY3ktdHJ1bmsKKzI0Mzk2IDUzMjcwZDI4MWJmMDgzYmQ4ZDE2NGUyODc2ZDQ0NjRmYTYwOWFlNWIgbGVnYWN5LXRydW5rCisyNDM5NyA3ZGUxMzNjYmJhZjE4ZTg2ODNhMDQ4MTMyOTExMmE0NTY0YjQ1YzgwIGxlZ2FjeS10cnVuaworMjQzOTggYzIxNTAzMTNkOWQxM2U2YjUyNmVlY2IxZjUyYTQwZTQ5ZDNiMTg2NSBsZWdhY3ktdHJ1bmsKKzI0Mzk5IGIxMjgwY2JhNzliNTlhYzNmNmI5Y2Q0ZGYxZmM0MzRiNDdkMDkzZTcgbGVnYWN5LXRydW5rCisyNDQwMCBjZGI3MGJmODhkYjFhOGQwYmE2MDBmNDAyNDYyZGExMzNiYTA2MDBkIGxlZ2FjeS10cnVuaworMjQ0MDEgOWJhM2M4Mjk0NmI4OTYxYzE3Njc5ZTZlMDNlYjY5N2VjZjg3ZTRkMCBsZWdhY3ktdHJ1bmsKKzI0NDAyIDgyZDg0MTM2MzZlNzc5MGQ1NWY5ZjhmYjgzYjQ0NzVmZTNmYjhlZTAgbGVnYWN5LXRydW5rCisyNDQwMyA4M2ZjODgzNTBmODBhMjJiOWVjYWM1NzViZGQxMTExNzc0Njk1ZGI3IGxlZ2FjeS10cnVuaworMjQ0MDQgMGZlYWM0NWVlNjYyZWZkMDllNzMwYzY0ODAwYzNmZTUyZTUyNzRmZiBsZWdhY3ktdHJ1bmsKKzI0NDA1IDE4M2YyODU5OTczNjYzMWQ1MDkyMzAzOThmYjI3MTAyNTIxZjkxMTkgbGVnYWN5LXRydW5rCisyNDQwNiBkNmMxODNjYTA5M2M4MDNiNDZlZTg2YjcwNGE5NjNiOWExYTJiZmY2IGxlZ2FjeS10cnVuaworMjQ0MDcgY2VjODAwOTMxYTM3MGQyNWM5NGE5ZmFlMzNhOGZmMzRmNmUyOTEyNSBsZWdhY3ktdHJ1bmsKKzI0NDA4IGU0MjIwMzFiOGZkNzA4NjJlMDU3NzRhMDM2OTg5NTQ2NTdiOGVkZGEgbGVnYWN5LXRydW5rCisyNDQwOSA2NzQ3MTA3MGI5NjY4M2MxZjJlNWYwZjNmYjVmZTA3ZWMyMjk0ODc5IHIyMmIyLWJyYW5jaAorMjQ0MTAgMTE0NzVkZDQ2ZmE3NjEzMjcwNDcyM2UzM2U4ODJiMTY0ZjQ1NDNiMyByMjJiMi1icmFuY2gKKzI0NDExIDM0ZmM1MjM4MzEwZDMzYzQwODUzNGVlZmE4ZjcyMDIxOWRjNzRlOWYgcjIyYjItYnJhbmNoCisyNDQxMiBlOWEwMWUyNGE0YTk3NGY1NGMwYjRiOGRjMWIzNTQ2OThkY2E3OWNiIHIyMmIyLWJyYW5jaAorMjQ0MTMgNjE4NWE2N2IzMDEyODQwOWU5NTM4MTdjZDlkZTE4ZDUyZDA1YjUzMyByMjJiMi1icmFuY2gKKzI0NDE0IDAzYWVhNzU3NWFmYmE2YmY5ODIwZDFiYzQzMjMwOTA5MDA4MmFkYjAgcjIyYjItYnJhbmNoCisyNDQxNSBhNzE4YmE5OTJmMTA0YWYzZDlhYmU3YTllYTk0NWI2Yjk0ZDU1MWQwIHIyMmIyLWJyYW5jaAorMjQ0MTYgYmUzOWZhNTU1OGM1NDVkYTMzZTljODMzZTQ1NzVlMWFjOTdkZjA1MCByMjJiMi1icmFuY2gKKzI0NDE4IGQxOTUxM2UyODkzYzk5ZWZlNWViY2JmMTVlNTE3NmM1MDRiYzBiYzEgbGVnYWN5LXRydW5rCisyNDQxOSAzODI3ZjEzNmUwZDZlNmEwYTE5NTRhYTM5MjViZTk4MjliYmFiMmZhIGxlZ2FjeS10cnVuaworMjQ0MjAgMjcxMWY4ZGIxNjRjZmFiNWU3ZDk0ZGRlZjRjZTIzYzllZTNhM2UzMiBsZWdhY3ktdHJ1bmsKKzI0NDIxIDEyNjY4ZDBhZjhmN2Y1NGY3OTI3ZTg2OWEyY2QwMjg5OTUwM2ZlMmMgbGVnYWN5LXRydW5rCisyNDQyMiAwNTA5NTM5OGY5MzkyZTJlODc0YTNhZWM2OWI5ZGI1NTcyNjNiNjBkIGxlZ2FjeS10cnVuaworMjQ0MjMgYWYxYzVmYjZhNzAzOTJiMzBlYzYxYTFmMWE2MzEzMWFjNGNlMTkwZSBsZWdhY3ktdHJ1bmsKKzI0NDI0IDhkMGMxMDZkOTA5OTI2ODExZTMzYTAzN2ViMzNmMTE2YjM0YjA2MjEgbGVnYWN5LXRydW5rCisyNDQyNSAzOGQwYmQwZmE3ZjJlN2I3MGJiNTNlOWM5ZTk0NTMzOTVhNTlkNjQyIGxlZ2FjeS10cnVuaworMjQ0MjYgZWQzZGNlMTdmYzc5YjdhNmM2ZmZjY2M2YTI5ZGNjNTU1MWJlMDZjNiBsZWdhY3ktdHJ1bmsKKzI0NDI3IGY3ZGIyYzBhMzBmY2U4ZDU5NzNjMjBlOGIxODRkZDllMGM3MTM3YjcgbGVnYWN5LXRydW5rCisyNDQyOCAwZWQ2ZmM3YzFjMDkzZDA2Y2QwOGQ1OGY0NDNhODlmYjZiMzMyMjdlIGxlZ2FjeS10cnVuaworMjQ0MjkgMGE2NzQ2M2Y4YjdkMjI1OWM4ZmYyZmUxZTYxNmU0ZTVlODhjYTVhOSBsZWdhY3ktdHJ1bmsKKzI0NDMwIGNmNzk3MDMzNDA0MThmZDc0ZDk0M2M3ZDgwZjMzNmFiOTY3ZjZhMzMgbGVnYWN5LXRydW5rCisyNDQzMSAyZTZjZTNhNTYyODRiZmVjYTViOGY3YTVhNjAwYzM0NGQ4NzhiMjE2IGxlZ2FjeS10cnVuaworMjQ0MzIgNDkzZjkzMmQ1ODI5YjFkYzhjMTgwMmMxMTgyNDBmZmM2Y2VlZmIyZiBsZWdhY3ktdHJ1bmsKKzI0NDMzIDQ2ODUzMDczODRlYjBkN2ZkMzFhMDg2MGE4YzY1ZDAxNjgwNWRjMDMgbGVnYWN5LXRydW5rCisyNDQzNCA2NzFhODQ4NjZhYzk5OTYzOGVjZjBlYmQ4YTY2MmU4Nzg2YWEyZTAzIGxlZ2FjeS10cnVuaworMjQ0MzUgNjg3YjhjNzE5MmExYTE2NmMwNmQ0N2FiNzBlYzlmZTFjYjBiOTUwMSBsZWdhY3ktdHJ1bmsKKzI0NDM2IDIxODIwNzMyYTExNzFiZmM2NzQ2YjcyYWQzZjlmZjQwNzE3ODJlNGQgbGVnYWN5LXRydW5rCisyNDQzNyAyMWJiNGM0YjdlMjZmNTA4NzA2ZWI3OGI0ZmU1NDhjZDVhYTlhYTM0IGxlZ2FjeS10cnVuaworMjQ0MzggMTdlODdhYTM3Nzk2MmM1ODY0ZDZhZDA5ZjcyNDBmYjgxMDE1ZjczNCBsZWdhY3ktdHJ1bmsKKzI0NDM5IDZiNmE5Y2FlMjU2ZWUzMWMzNGNkODY1ZGViMzAyMTgwOGRjMjRhYTIgbGVnYWN5LXRydW5rCisyNDQ0MCBkZDI4YTRlY2IzN2Y2MDkzOTQ5NTEwZTliZTRlMzg5ZjZkYzJhYWE3IGxlZ2FjeS10cnVuaworMjQ0NDEgMTVmZjUwNDYzMmVkNmE4ZTgxZDc3ZjkwMWUzYTlkZWQ1NDFlMzEzNyBsZWdhY3ktdHJ1bmsKKzI0NDQyIGExM2E0MzkzZjQ1YzAxZWFlYjBjMDI1MTM2ZjE0YzUwN2RhYjMyM2UgbGVnYWN5LXRydW5rCisyNDQ0MyA2ZTM0MTUxYWVmZTY2MzA1M2YxYmNkMjhmZGUwMWFjM2ZkOTc3MjIzIGxlZ2FjeS10cnVuaworMjQ0NDQgNjBlMzZkNTE4NzU4ZjFlMjk0ZmMxNzJiOWNkMmE2NmZjMGU1NjEzMyBsZWdhY3ktdHJ1bmsKKzI0NDQ1IGE5YTg3MzQxYTllN2IwNmVjZDA0OGZkNDA3MDRkNWRkNTU5NDdmY2QgbGVnYWN5LXRydW5rCisyNDQ0NiBlYzg4ZmM0MzAxMjc2MTFlNmE4ODBlYmNhOWY2MGU1Zjc1NDFkZjY0IGxlZ2FjeS10cnVuaworMjQ0NDcgYWJlMTRhYzYyMDI0MjEzNzU1Mzg3ZDYyYzFkMDkwOTY0ODY1Y2FjMyBsZWdhY3ktdHJ1bmsKKzI0NDQ4IDk0MzYzOWI5NDRhYjRlZTMyYjMzZDk0ZmIxNWUwYjdkOGQ4ODMyODQgbGVnYWN5LXRydW5rCisyNDQ0OSAxOTdhOTA0ODliZWVkOWM1ZGFkNTQ3MGZmMTVjNWYwYzhhZjAxYTY1IGxlZ2FjeS10cnVuaworMjQ0NTAgNWI4ZjA3ZTYzOTljMWU2NzAyZTlkYTQyMzUxNTlmMTY4YmFhOTc3ZCBsZWdhY3ktdHJ1bmsKKzI0NDUxIGEyZDAzY2ViYTgwZWJmYTYyNWNjMmE0NTdlOGYxMDQ1MDdmM2ViMDUgbGVnYWN5LXRydW5rCisyNDQ1MiA2NzUwOGEzNTFhYTJiZmJiNjI3OTA0MGJmMDc4Zjk3ZDExYjIwOTJhIGxlZ2FjeS10cnVuaworMjQ0NTMgMWM2YzAyN2ZkMTEwYmY5YjVlM2Y0ZjQ5YTI5MmVmNDhiYzY1MGU4ZiBsZWdhY3ktdHJ1bmsKKzI0NDU0IDUxYjQ1NzJjZjAxM2QxYTZjOGM3OTZiMThlMjBmNTZiODU5ZTczNTAgbGVnYWN5LXRydW5rCisyNDQ1NSA4NDJiMjgwNDIxYmE2MWVjZDRhMTlhZGJmYzA5MWI3MDZkMmU3NjQwIGxlZ2FjeS10cnVuaworMjQ0NTYgNzI5NjZjOWRmOWE5OTg3ZWNjNjMxNDNiMjI5OGE0NTk1OTdmNGIwMSBsZWdhY3ktdHJ1bmsKKzI0NDU3IDk2YTA4ZmQzOGVmODEyNTk4ZDQ1OGZmOGEzNzQxODRmMzViYjkxOWMgbGVnYWN5LXRydW5rCisyNDQ1OCA4N2ZhNmU5YmQ3N2VjM2M3YmQ2MTgxM2RkNmM1MzJjN2IyNTZjYzAxIGxlZ2FjeS10cnVuaworMjQ0NTkgMzRmZTc0MzM1MjZiYTQ3ODViYTZlMjA2ZjAyODQ4ZmFiNzI4MWU0MSBsZWdhY3ktdHJ1bmsKKzI0NDYwIDkwYTBkODAwMzNiNGY3MDM0NmJmZjk2MGZlNzdiMGViOTk2OWVjODUgbGVnYWN5LXRydW5rCisyNDQ2MSBkNDUwOWNmOTNmNTBmOTJjMGE2NzJiMzE4N2QzY2Y4YTQxODhlZmU0IGxlZ2FjeS10cnVuaworMjQ0NjIgOGU3MjQ1NDYwZDMwYmZmNDllOGQ3NTFlMTZhNWZhMjRmZGVjZTUwNCBsZWdhY3ktdHJ1bmsKKzI0NDYzIDBkZDE2ZmQzNmVlOGU1YzRiOTE1NTVjNzZmNDU3MGNjZWQwYmJkZDUgbGVnYWN5LXRydW5rCisyNDQ2NCA5MThiNTczNTRkODc0OGI5NzM0ZDEzYzJhNDQyODU0YTJkMGU5OTQ2IGxlZ2FjeS10cnVuaworMjQ0NjUgYmU1ZjUyOTYyYWRiMzRkMmQ1M2NhMWEwYjI3ZGJlNmUwYjc2Yjk2MSBsZWdhY3ktdHJ1bmsKKzI0NDY2IDExYTk2OWUyZmE1MDUzNTZiMGYwNmQzZDBkY2ZkMGI0Y2EzOTMxNjEgbGVnYWN5LXRydW5rCisyNDQ2NyBhMjBiMzcyZmI5MzljMjIwODQxMDhlYTVhMDIxY2M5YjQzMGNmNTJhIGxlZ2FjeS10cnVuaworMjQ0NjggYmNhNTNhMzdhOGE1YWZlMjQ5OTg2ZTA5Mjk2NjBkMjZlN2U5MjUxZSBsZWdhY3ktdHJ1bmsKKzI0NDY5IDlmZWNiYTUyNjkzNjdhZWI5M2NhNzU1YWY4MWE4NWM5MDQ1MTRlYjcgbGVnYWN5LXRydW5rCisyNDQ3MCBlNTkyNDcyZDU1YTM4ZjBiZGQ0ODhkYTFlZDM5NWU5MzQxYzA1MjE4IGxlZ2FjeS10cnVuaworMjQ0NzEgMWFjYzRiYTczYjlkMTYxNzdjMzZkNzE3NWVjYzBmN2NlZDkwOGQ5NCBsZWdhY3ktdHJ1bmsKKzI0NDcyIDZmYTk2YjMyOWUxNWVlMWMwNWRmNzkzYjZkZWVjMDQwNzM3N2QzZGEgbGVnYWN5LXRydW5rCisyNDQ3MyA3MzM4NGUxM2JkMmFlMTEyYmU0NmRjYTVhOGIxMWZlODljMDgwNDg3IGxlZ2FjeS10cnVuaworMjQ0NzQgOTQzY2E4MWFkMWRmM2Y1Mzk5NzMzM2Y4YjVkYTNjMDg1OTU2YTMwZCBsZWdhY3ktdHJ1bmsKKzI0NDc1IGUxYTY3YmU2YzZlNDBhM2UwYjY1ZjI0YmNmM2ExZDRhNjIxNGMzMDEgbGVnYWN5LXRydW5rCisyNDQ3NiA3YjY4Nzk3MTRiNzQ2NmU0NDlmMTdhMjczMzZlYmNjZGJmNDdlZjRlIGxlZ2FjeS10cnVuaworMjQ0NzcgMjFhYzU1ZmIyZGQ4YzgyYWQyMGZjZjZjMWNhOGNkOTNkODQ4MTcwZSBsZWdhY3ktdHJ1bmsKKzI0NDc4IGNmZTQwN2U0ZDhjMDE1ZGE2NGIxODc4ZWE2YjI5YmM5NGU4ZGYyYTYgbGVnYWN5LXRydW5rCisyNDQ3OSAwYjRhZWI0MTNkN2RmNzMwYTg4MTZlZTgzNjBiMGExODAyZjFhZWY5IGxlZ2FjeS10cnVuaworMjQ0ODAgZmQ0MmVhY2U1MGVhNWRhYjQ2NzYzNGJmMWY3ODVmNWFlYTg3Mjc3YyBsZWdhY3ktdHJ1bmsKKzI0NDgxIDQ3NWM4MjcxZTA1N2U5ZmU4YTY2ODRlNGU3ZTBkODIwOTMwNmE5ZGIgbGVnYWN5LXRydW5rCisyNDQ4MiA4OTA1ZTY3MjVjYTFiM2E4MzA4MTdiZjA1YjM3OTA4ZWQxYzc0NzQ4IGxlZ2FjeS10cnVuaworMjQ0ODMgMmRmYzYwMGY5OWNlZTZkNjIxYTc5ZGZmMjFhMTVmMWFmN2YzMTFhOCBsZWdhY3ktdHJ1bmsKKzI0NDg0IDI0NThjYmNjMWRkMzc2NWU2ZjZjZTViODMyYzlhNzJkNmZkYjRjNzAgbGVnYWN5LXRydW5rCisyNDQ4NSBkZjJmZmIwY2Q2YmJhNjBiMjJjYjhiODUwNWM4OTMwNDRmMWFkNzYyIGxlZ2FjeS10cnVuaworMjQ0ODYgMGI2YTE4YzZlNTllYzQ1MDg1NmFjNmQxYmI1OWY4ZWM2OTE1YzkxNSBsZWdhY3ktdHJ1bmsKKzI0NDg3IDc4OTI5MmNmMDkxNGM0MzYzZDQxNDZlNGM2YjEwOTcyMTVmMmY1NmMgbGVnYWN5LXRydW5rCisyNDQ4OCBjOWE3OTY0MDBhNTFjNTE0ODdjMjcxZTMzNTQxOTU2YzdlOGYxYTc5IGxlZ2FjeS10cnVuaworMjQ0ODkgZDRjYzA1ZjZlMTgzOWQzMGY0ZGIwYmE5ODE5YjUxNzcwYTlkMjg4ZSBsZWdhY3ktdHJ1bmsKKzI0NDkwIDdkMWVhYzQxY2UzZWNmZTBhZTJjZmQ0OTI3MTJjOGY4ZjU0YTczNmIgbGVnYWN5LXRydW5rCisyNDQ5MSBiYzUxZGU2NDNiNWU1OGNhY2YzZWIxNjdjY2U5NDcxNGVjZmFjODBjIGxlZ2FjeS10cnVuaworMjQ0OTIgNDg1NDIyOTAwZWYwNzljMjE3ZmM3NWRmYjNmYjcxN2Y1OTllNjE2MCBsZWdhY3ktdHJ1bmsKKzI0NDkzIDBmYmM5Mjg5YTRjN2NlNDAzOWJjNGYxMmNkNDgwYzhjN2Y1MmFlNGQgbGVnYWN5LXRydW5rCisyNDQ5NCA5NDRkNmUwMmYzNTkxNzc4M2I0Y2I4YjM2NTVkNmMwZTM0NzljYTM4IGxlZ2FjeS10cnVuaworMjQ0OTUgNDczZjI5NDExZjNiMmVkMjM4NzM1NmQ3MTYyOTQ5ODNmZWE4M2E3ZiBsZWdhY3ktdHJ1bmsKKzI0NDk2IGFjMTM1N2ZkMWFlYTFmOGExMjRjZDgyMjY1ZWNlN2FmZTk0YmQxNjkgbGVnYWN5LXRydW5rCisyNDQ5NyBjMmJmZmE2NzJiNzU5YmY5YWYzNzUzMzMxZjdkZWU2ZTk4MTJiOTZiIGxlZ2FjeS10cnVuaworMjQ0OTggYWViY2U0ODViNTZiOWNiNTA1OWFhNjhhYmMxYTcxODllMGZlYTJkNyBsZWdhY3ktdHJ1bmsKKzI0NDk5IDAxODkxODZmNGVkOTE4MjI5MWZlNzQwNzdkNzhjZGI5MTE1OTBjMWQgbGVnYWN5LXRydW5rCisyNDUwMCBlZjZmNjkyYzc2ZTIyYTliZWYxZTc4M2QzYTlhOTA0ZDE5NjhiYWI2IGxlZ2FjeS10cnVuaworMjQ1MDEgMDhmMjFhNTM3NGQ5YTlmYjljOWFiMjRlYmNiOTRjM2FlMjNkNjJkNSBsZWdhY3ktdHJ1bmsKKzI0NTAyIGE2MjNmOWNmOTUzNTQyMzFhMmRjYmJjMjViMGMwZDI3M2FjODRkOWYgbGVnYWN5LXRydW5rCisyNDUwMyA2YTczZDU4ZTE3NDcyMmYyOWY4ZTE0YWM4YmUzZDAwZjJhOTk3ZTY4IGxlZ2FjeS10cnVuaworMjQ1MDQgMzNjOGQzMzVhMmM0Mzc3NjJlOGE3YzFhMDcxYjRiZWViMzMzN2E1MCBsZWdhY3ktdHJ1bmsKKzI0NTA1IGMxOGFkNTJkZWNlMzVjMzgxY2RjOGRhYzQ4YzAzOWJjMWE2ZTdjMzAgbGVnYWN5LXRydW5rCisyNDUwNiA0MjZjMGQyNGRlYmQ4YTU4ZWU3YjYxNmQwNTE3ZDNmNzJiMjZlYTVjIGxlZ2FjeS10cnVuaworMjQ1MDcgMTUxOWQ2ZmFhYjE1OTQwNDVlZGE1N2UzN2M1NzAxOTVmMzRiNDI2MCBsZWdhY3ktdHJ1bmsKKzI0NTA4IDViM2IyOTI0NzU3MzVhOThmZGNmMThlNzBmZjY0MGJjMDlhZjUwM2QgbGVnYWN5LXRydW5rCisyNDUwOSA5MjA5MDJmNWE4ODRjMDlmNDVhOGQwMTJmNDllNWRmZmExNjA0OGQxIGxlZ2FjeS10cnVuaworMjQ1MTAgYWQ3YjQ0MjRhYWI2ZjNiMzNiNGEzNDg3NGI3ZDY0MTU0YTdiNzFhNyBsZWdhY3ktdHJ1bmsKKzI0NTExIGYxN2EzN2RlNjI4NWFhNTFkZGVhYTkzYWM1OGI2OGMxMDQ4ZDc2NGUgbGVnYWN5LXRydW5rCisyNDUxMiA2MDQxNWJmNWY4ZjJhNDY2MWUwOWY5ZmE1YmM1ODRlMDc5YWNlN2MyIGxlZ2FjeS10cnVuaworMjQ1MTMgOTQ3OTMxMzkyNjk0ZWQzOWEzMmE5ZmIzNWYzN2UyZTFkOTBlMmU3MCBsZWdhY3ktdHJ1bmsKKzI0NTE0IGRiOWI1OTc2ODI5ZTQ0N2MzYTM2ZjNmYTk3YTJlZGMzZTM2NTZkNTcgbGVnYWN5LXRydW5rCisyNDUxNSBjODRkZjg0ODYxNjM2NmY3YWZiODc2NDEwODhlYjhiNzYxYzI1N2Q3IGxlZ2FjeS10cnVuaworMjQ1MTYgZDk1ZWI3ZWM0NTUzNTQyYjU4ZWFhMmMxNTI1Y2M0ZjdjZThlNWZhOCBsZWdhY3ktdHJ1bmsKKzI0NTE3IGY3OWU0NzE5ZGI5NjQ1ZjVjMzgwODU5NmVlNDhhMmNhMTk5OTc4NjAgbGVnYWN5LXRydW5rCisyNDUxOCA4NjRjYzU5M2JkZGEyNzdkZjk3OTlmNDAxOTMyZTc4M2U3MGU2ZWYyIGxlZ2FjeS10cnVuaworMjQ1MTkgODE5MjhjOWQ3MDExN2VlZDZkM2EyYzQyMDJhM2Y3YTMzMWQ0ZGM0ZiBsZWdhY3ktdHJ1bmsKKzI0NTIwIGJjZjY2NmU4ODMxMjFkMmI3ZTM3ZTcxNTNkYzBjMGUxNzY2MTNmN2EgbGVnYWN5LXRydW5rCisyNDUyMSBlYWQxZmEyNjk1MDJhMWNlNmZiNGZkM2I1OGQxOGQ1N2U4ZjBhOGE1IHJlbGVhc2UyMS1tYWludAorMjQ1MjIgZDgyNjVhMGMzY2YwMjg4YTZkMjFlOWVkYjljNTA1NTVmMzdjZDU3OSByZWxlYXNlMjEtbWFpbnQKKzI0NTIzIDJkMjE2NTBmNDZmODlkMmVhMGZjNWJkYTY2YjdiYWQ1NzFkNDUxNWQgcmVsZWFzZTIxLW1haW50CisyNDUyNCAxNTFiNjk2N2JkMjEwYjJjMTJjZTViMWQ3ZjhkOWYyODFkNjg1YjAxIHJlbGVhc2UyMS1tYWludAorMjQ1MjUgNjcwOWFkNGZlNzVlYzhlNTU4YzZlZWE5ZjFiY2Y5NTM0NDc1OGRkZSByZWxlYXNlMjEtbWFpbnQKKzI0NTI2IDNiMDllYTcyM2VjZTcyMmU5MWM4MDM5MjlkZTFkNjUxZjAyZjcwZTkgbGVnYWN5LXRydW5rCisyNDUyNyBkMjZlNjU5NTA3NDAyYzM3NmQyOGM1ZTNhYzc0ZDUwNDNkZjU4MTUwIHJlbGVhc2UyMS1tYWludAorMjQ1MjggMTk4YWViZTEyMzk5OGQ5NjVkN2FhYWZiNTE2MjE4ZWQxN2U0ZjIzNCBsZWdhY3ktdHJ1bmsKKzI0NTI5IGEzOWFmODAwYjlhM2VkOWY0N2U1MTRmNjBkMGJkZjljMmM4MzljOTggcmVsZWFzZTIxLW1haW50CisyNDUzMCAxNDhmZmQ5NTc2MThkMzJlYWUwOTRiZDk5OGRkNDM1NmFiMDlhYjIzIHJlbGVhc2UyMS1tYWludAorMjQ1MzEgNjU2YzRjZjUxNjVmYTgwZGMzNWE2NzY3ODRjYmNlNzQ5MDhkZjNjYiBsZWdhY3ktdHJ1bmsKKzI0NTMyIDkyMDVjZmI3NzA5NDY2NTAwNDE4MDgyZDliMDFhN2ZiY2U0NTFiYWIgcmVsZWFzZTIxLW1haW50CisyNDUzMyBkMjI5MGU5N2RlMTg3ZDNkZDk2NGQzYmFiYWEzNTM2YzY5ODQyMTQ2IHJlbGVhc2UyMS1tYWludAorMjQ1MzQgMzQzMjdjZjQ1Mjk5NGE4ZjA1YjM4NmFkOThkMjQ2NDI0NDlmNDY0YiByZWxlYXNlMjEtbWFpbnQKKzI0NTM1IDIyZDgyMTY3M2U1MjY3YTEzMzVkODhlMjNjYTI4ODIxNTNhMDk2ZjYgcmVsZWFzZTIxLW1haW50CisyNDUzNiAwMmQwMTcwMzk3ODg1YzZkZTc2NTc4ZDc1NDAwMGI4YTIxYjM0OGFhIHJlbGVhc2UyMS1tYWludAorMjQ1MzcgNGFmMzE4NmU2NjMxNTE4ODE3MGIwN2IwYmYyYjk3MWVlMjQ1M2U4YiBsZWdhY3ktdHJ1bmsKKzI0NTM4IDVhYjBkYzdmMmViMDQ2MmZmZTM0NTFlNzgwZjE4OTY2YzA0YzkwZTYgcmVsZWFzZTIxLW1haW50CisyNDUzOSA5NWI0MmYxMDU1YzI0ZTcwYzE5NGJmYWIwYWM2NzI1MzczNzkwNjM2IHJlbGVhc2UyMS1tYWludAorMjQ1NDAgMGJjODgzODQwN2JiNTc5NmU4OWFiYWZhZDZlYjEzODZiZGYwZGJmOSBsZWdhY3ktdHJ1bmsKKzI0NTQxIGFjY2JlNTY4NGFjNjE0ZDVlYjMzZDk5YzM5ZjgwZjExYjJhMjE3ZmUgcmVsZWFzZTIxLW1haW50CisyNDU0MiAwMGVjZmUxOWE4ZDI5ZmVhNDRlZGQyOTM4NmM5YWE4MzAxN2FlOWExIHJlbGVhc2UyMS1tYWludAorMjQ1NDMgMDYwYzM3NTg3OTUxYjFhODQxYzUxYTQyYWI5YWFhODBkNjRlNjg0MCByZWxlYXNlMjEtbWFpbnQKKzI0NTQ0IGEzZDAxYTIyNTMyOTczZGI2MTMxY2JlMTU3ZmNhYWFhMDZiMDg0NTkgcmVsZWFzZTIxLW1haW50CisyNDU0NSA0OTMwMTk4ZjkyZGJmMzYzNDFjMDIwMjc4ZGFlNmQyZGQ5OTUwMjU5IGxlZ2FjeS10cnVuaworMjQ1NDYgODAzY2NiZTNlZTdjYWI1YzIxODI4YTBjZGI1OGNlNDczZThjYTFiMyBsZWdhY3ktdHJ1bmsKKzI0NTQ3IDlkYzg3ZTYxYjVhMmUyMmVlMjI5ZTAyY2M5OWY3MWNiOWJkZTZiNzUgbGVnYWN5LXRydW5rCisyNDU0OCBiNzgyNDkwZGE3ZjA4MjE4NDI2MTQwZTBiMjVjMDgxOGVjNzM0YzBkIGxlZ2FjeS10cnVuaworMjQ1NDkgODlhNWMxMTA2YjgyZjE4MDg3MjBmYjc5NThjZGU1MzlkOWZkYzJiNiBsZWdhY3ktdHJ1bmsKKzI0NTUwIDQyZDA4MTk1NDZkNjA5ZmI4MmI5YmMyNjM1ODU4NGM3YjNmZWQ5ZDQgbGVnYWN5LXRydW5rCisyNDU1MSAzZTg0NjBmYjJmYmU0OWY4MDc2ZmU1MzE4ZTcwNTc0NWVlMGE1NzdjIGxlZ2FjeS10cnVuaworMjQ1NTIgOWQ2ZmJjYjk1MGY5YjM0YTRkYzFkYmMxZTQ1NTg3MTE2M2JlZDZhZSBsZWdhY3ktdHJ1bmsKKzI0NTUzIDU0ZGRjMzc5ZDRmYzI4OTgwMjg5YzAwMDQwYmZmOTQ5MDU0YjdiZGEgbGVnYWN5LXRydW5rCisyNDU1NCBhZDg3Njc0ZGUzYTFiM2M0ZWZlZTI1NjNhZDI1NzQyZWVlZmQ2ZGVlIGxlZ2FjeS10cnVuaworMjQ1NTUgNWMwYmE2ZWJjNjJkMGNkYjkzMjUzNjM0NTBiNjFjMWEwYTJiMDAwNyBsZWdhY3ktdHJ1bmsKKzI0NTU2IDIwMzQ5MDJiMGYxYWM4NGFmYmI1ZWU5N2MxOWY4MmRhZGIxZWM3YzUgbGVnYWN5LXRydW5rCisyNDU1NyAxMjg5YTA1NTllNWE0NGRkMWQwYzdlMDdhNTRiYzc1YTQxNjU0YjhmIGxlZ2FjeS10cnVuaworMjQ1NTggYmE2YTdhNWMzMmU4NzE3MzFiZmM3ZDU2MzBiYWVjNmQ5MDA4MTg3NiBsZWdhY3ktdHJ1bmsKKzI0NTU5IGNiOTIxZDQ4M2UwMDk0MmU0NGZjMTI2M2MxOTliYzRjOGQ1YmFlMTcgbGVnYWN5LXRydW5rCisyNDU2MCBiYTE2ODU2YmZiYWJkOGQ0ZGVhMDEyMGY2ZDkwMGU5ZDA2ZWQ3MjJkIGxlZ2FjeS10cnVuaworMjQ1NjEgMDYyYzZmNDcxMDZmYmUxYWNmNGM4MDhmYzMxNDAyZGE0YjYyYWYwMyBsZWdhY3ktdHJ1bmsKKzI0NTYyIDIyNGVkYmFmNjMwMTkxNTQ0MjUxYmEyODc1MDcxZTc4ZTMzYjMyOTYgbGVnYWN5LXRydW5rCisyNDU2MyBiMjZkNThiOTgxMGNhZDdlODMxNmMyMDYxODczOGYwMzdmNjhkZTUxIGxlZ2FjeS10cnVuaworMjQ1NjQgNDVlMTE3NzQyNGUxYzc5OTY4NzJmNWJiZWUxMGI3M2VlNzVkN2ZlYSBsZWdhY3ktdHJ1bmsKKzI0NTY1IGUzODZmNmUyNmE0MmUzODFmNzg0ZTllMTkxNWY1MGJjMzBmYWJjYWQgbGVnYWN5LXRydW5rCisyNDU2NiBkMDI0YTVjNzJjYjU2M2M0YjQzNDQ2OWM0ODNkYzk4YmFmODJkZDg2IGxlZ2FjeS10cnVuaworMjQ1NjcgMTkxODZiMTdkMjVhYTM5MDBkN2JhYTBhODgzZjBlMDkzNTYwNzJmZCBsZWdhY3ktdHJ1bmsKKzI0NTY4IDE0NTA3NjcxYzAyY2M5OTg5ZDI5OWFjMTMyZGE2YWZmOGI2NDI2ODIgbGVnYWN5LXRydW5rCisyNDU2OSBmYmY2OGM1OWQ2NmNjZDI2MDcxYTc0YTg3YWQzNzUzMGQ3YWFkNzM5IGxlZ2FjeS10cnVuaworMjQ1NzAgMDhkYmY2YjNjMzE2NDMxOGViYjI1NzBkYmE4N2FmMTQ3NWE1YjA2NyBsZWdhY3ktdHJ1bmsKKzI0NTcxIGU1ZDI5NTU0MmM3ZmI5NjYxMTY5YzE3YTg4MDE1ZGJiZjkwMDcxMTEgbGVnYWN5LXRydW5rCisyNDU3MiAxMDJkMThlYTAyY2ZhYzM5YTIxMzhlYWI3MjllYTI1OTFjODhiMDNkIGxlZ2FjeS10cnVuaworMjQ1NzMgYzUwNmJmN2IyNmI4YTBmMWY5OGYyY2U5YWYwY2NkMzk2YjdjODY1MiBsZWdhY3ktdHJ1bmsKKzI0NTc0IDQyNzFkYTcwZWQ5ZTEzNjIxZjNlNTc1NWJjMGViMjQ2NGI5MmQzZTMgbGVnYWN5LXRydW5rCisyNDU3NSBlOGZlYTk1YTgyYTQwMzYwNzgwYWRiMzAwYmFiNGY0NzI3NGFiNTM1IGxlZ2FjeS10cnVuaworMjQ1NzYgMmYyYWJlZWVmZDg3OGJlZjMzN2M3MTZiZTg5ZTAyMjU5ZDUzMjVhZCBsZWdhY3ktdHJ1bmsKKzI0NTc3IDI2NTY3ZjI4Njc3ZTE0YWZiNDVlZDlkNWVmM2E4MzhmNjg1YTA2YmMgbGVnYWN5LXRydW5rCisyNDU3NyBhYmVjNGUzYjA4MWYyZjgwMmMwZjI3YmMxZWE3MGVkNzUyYWJkODRjIHJlbGVhc2UyMS1tYWludAorMjQ1NzggNGRhZTg0MmFhN2M1OGZmZGU0YjQ3YmY5NTAyODNmNzA3ZDM3OTM0NSBsZWdhY3ktdHJ1bmsKKzI0NTc5IDdhN2Y1NTdiNGQ1NDE4ZWIzNzAyZGE1MmU5NWRjOWM4M2RlOTZlMmIgbGVnYWN5LXRydW5rCisyNDU4MCBkMjk2ZTZiYjE3ZTU0Y2YwN2NmMDFlMWFhZmNmYmFmYjc0OTBjOWRlIGxlZ2FjeS10cnVuaworMjQ1ODEgMmI1ZGM2Yzc3YzNkZTZkZmI1ZjMxNWY5NTliOWEzYzc0NTdlNWEwNyBsZWdhY3ktdHJ1bmsKKzI0NTgyIDk3NzA5ZmQ4ZmRhMDI2YmVlOGFhM2Q3ZThlYWI1M2IzYjMxODZmOTcgbGVnYWN5LXRydW5rCisyNDU4MyBhYzNmZGQxNDEyZDllYWE4M2M3Y2MwMTU5MTQ5NTZkNjUwNjYzMDY5IGxlZ2FjeS10cnVuaworMjQ1ODQgZDY0ZGZiZGM1ZjhjNDQ4MDZjMDI0M2MyNjAyYjMyYzIwMTA2MWM0YiBsZWdhY3ktdHJ1bmsKKzI0NTg1IGVjYmJlY2NkZTA3ZGQzYjk2MDVlNGNiMDg1YTc5MjkzZTg2M2MwZWYgbGVnYWN5LXRydW5rCisyNDU4NiBjZmJlMzhhMDNlOGMxOTA3YzBjYjJlNjk5YTMzMzY2Zjg0MDJhNzk2IGxlZ2FjeS10cnVuaworMjQ1ODcgYjAxMzIzYmZjZjZjZTkzMjlmNDkyZmUyYTg4NDAyYmI4ZTY2OTZmYyBsZWdhY3ktdHJ1bmsKKzI0NTg4IDI4ZjRjZWEyMDlkNzhlYTg2YTUyNzlkZjg2N2Y5MDUxOWMwZTI2MDUgbGVnYWN5LXRydW5rCisyNDU4OSBmNzAyZmYzOTBlNGRjNzczZDJjMWYyNTZhNThhNWExMjhjM2NiMjVkIGxlZ2FjeS10cnVuaworMjQ1OTAgMDNmMzE1NWNiNmViZTE3ZmM2N2Q2ZTU4YWFmYzc3ODViOGY2NjY2YiBsZWdhY3ktdHJ1bmsKKzI0NTkxIDY0MzI0NGY3ZjQ2NzA4ZDFlNzE5NGQxMzgxYzk3YjIzMjBiN2QyYzggbGVnYWN5LXRydW5rCisyNDU5MiAzNjU3YmVmYWJhNGYwYTgxZGExYmUxZWViYmVmNDIyMjk1NWM1MDg0IGxlZ2FjeS10cnVuaworMjQ1OTMgOTkxYjE3MGNmNDM4NWQxMDI1NzFkYTNhOTI2ZWIwMjNmMDM1YTQ1NCBsZWdhY3ktdHJ1bmsKKzI0NTk0IGQzNWE1NzcxYzRjNjlmNGUzYjc4NjMwNzIxNzgxODAwNTRkNWM4M2UgbGVnYWN5LXRydW5rCisyNDU5NSBkNDkwN2NkY2MyOTk0NTQzNjY2MzQ1ZjhjMGJkOGQwYjhjNmU0NTAyIGxlZ2FjeS10cnVuaworMjQ1OTcgNDNiOGE5NjJhMzJhZWVjZWUyM2QyYjZiNGYyMDk5NGU5YWQ3MDhhYyBsZWdhY3ktdHJ1bmsKKzI0NTk4IDUwZjI4ZWQ4MDQ0ZmZjMWM0NDVmYzczYzBmZDFhOGQxNzc5YTE5NjYgbGVnYWN5LXRydW5rCisyNDU5OSAxZTdjMGI4NDk1ODRkN2ZmN2ZmYmQ3M2ZhMjBmZjYwYTE1ODI2Yzg0IGxlZ2FjeS10cnVuaworMjQ2MDAgZDUxZjIxNThmYTc5MDcwYTRhZDE1MzU4MTgwMGE1MGJmNGFhM2YwZCBsZWdhY3ktdHJ1bmsKKzI0NjAxIGQwYzIwNDBmZWRlN2Q0ZmFkODVmM2E5MTAwZDk3OTJhNDRlMWQ2ODEgbGVnYWN5LXRydW5rCisyNDYwMiA3NzZkZDJlNzY3OGUwNDNkNjVlODRjMWQ0MDg5MWNhYTIzZGJhZTM4IGxlZ2FjeS10cnVuaworMjQ2MDMgOTgzNWJhYjI4NzZlNDJmODNkNmJlYzU0YTBiNzgyYTYwODA4ZTMxNCBsZWdhY3ktdHJ1bmsKKzI0NjA0IDIzNzVkMmRmYjViM2E2MmI4NmNkYThmM2JiYzI5NDRiZGFlOGZiMzkgbGVnYWN5LXRydW5rCisyNDYwNSBlOGRkYWIxMzczMmFiYWQwYjI5NDljOGI5Y2JjNjNhZGVkNzBlMzYyIGxlZ2FjeS10cnVuaworMjQ2MDYgYjgxMGMzMGI0YWExYTdhZDkwZTA3ZGJhOTZkMDQ3NWM0ZjdmNWJjMSBsZWdhY3ktdHJ1bmsKKzI0NjA3IDI0YTZjM2ZkMGU1OGJjMGExOTQzNmQwYWU3Y2Y1NTQ1YzgwMmVhODQgbGVnYWN5LXRydW5rCisyNDYwOCA1OTg5NDQ5NmI1YzczNjJkZDRlYzljZmE2NTY0MzFmNDE5ZDVhMzEyIGxlZ2FjeS10cnVuaworMjQ2MDkgYmI3OGE1MmI4ZmZjZTI3MDVkZTgzYTk1MTA2MDI2ZTUyYzE2Y2JmNCBsZWdhY3ktdHJ1bmsKKzI0NjEwIDExOTQyMjQzMGU4ZmNiZTFmMjBjOTA4OThhNzVmMTVlNGExOTkzN2IgbGVnYWN5LXRydW5rCisyNDYxMSA5YTI0M2VlMzU0YTEzNGNjNWQzZmFiNzczNmI1N2Q1NzM0NjE2NjVjIGxlZ2FjeS10cnVuaworMjQ2MTIgNjJlYTMxN2RmYzdmNGEwYTU4ZTVmMDI2ZWY2ZDViNmQ1NWYwMjU2MSByZWxlYXNlMjEtbWFpbnQKKzI0NjEzIGY1NTMyY2MxNTE0YjdkYjYzNWIwNjY0ZTc4NjYwZTk0ODE4MjdmNTIgbGVnYWN5LXRydW5rCisyNDYxNCAxMmMwOTRhMjMyNzM0NmU2YjliM2E0OTEzYTNmOWM4ZDQwY2ZiZWNkIGxlZ2FjeS10cnVuaworMjQ2MTUgZGU3NjQ2NjNjMzI1YzA0NjdhNDQwMmY2YTZlMTNhYTg4MmMzZDlmMCBsZWdhY3ktdHJ1bmsKKzI0NjE2IGI2ZjU5MmVlYzI0MWQ2ZWNjY2IyNmQ5Yzk4YjNiNzIyZjM0YzNkZTUgcmVsZWFzZTIxLW1haW50CisyNDYxNyBkOTgwZWJjYzY5NmEyODgyOTVhODQ0N2NjY2NjNWQzNjhiZGE2MGRmIGxlZ2FjeS10cnVuaworMjQ2MTggZDg2ZDZlMGQxNThjNWM4MjQwNzQxMmNjMTIzZTA3Yzc0YzM4NjhmNSBsZWdhY3ktdHJ1bmsKKzI0NjE5IDBkMmVlZjYzNmQxMjljNTc1ZDkyZDk4NTg1YWE2NzY2MmU4OTBiZGEgbGVnYWN5LXRydW5rCisyNDYyMCA4OThjODI1ZTA4YWNjY2Q2NDUwNWYzZDJlNjI3OWZhZTU1ZDc4N2I1IGxlZ2FjeS10cnVuaworMjQ2MjEgY2I2MjAzZmYyOWU1YTFlM2I1ODgwMDcwNmZjNTI2NDRhNTRmY2M0OSBsZWdhY3ktdHJ1bmsKKzI0NjIyIDI2MDc0MzNiMTNlOWU4MWVjYTI4MmQzMmEzNjAyYTQyNjgzODk5YTEgbGVnYWN5LXRydW5rCisyNDYyMyA5MDgwNGEzNDg5MjNkYzdmMjc2OGJkMDM3OTM2MDYyNTFjN2U0ZWZhIGxlZ2FjeS10cnVuaworMjQ2MjQgYmZhNWY3YjRlNzg4NTk4YmVmZjFmMjBmYzg1N2VjMDNkNWJiZmQwZiBsZWdhY3ktdHJ1bmsKKzI0NjI1IDAxMDI2OTI0MTdhZjBmZTNlMTJlMWIyMTdlYzFmOTU1YTMwY2U2YTggbGVnYWN5LXRydW5rCisyNDYyNiA5MWRkMjIzODI5YzZlMDM1NjAxMWJlMmM2YzFmNGJiNDc5YjE2NWE4IGxlZ2FjeS10cnVuaworMjQ2MjggNGQ1MDk4Y2ZhNzgxYmZlM2E3YmYzM2VhNjY0YmIyYTE1OWMyZjFhZSBsZWdhY3ktdHJ1bmsKKzI0NjI5IDliMmQxZjhmNGJlMzQ5ODNiODQwOWYyOTEwM2YwOTBlNThhYzVlZmQgbGVnYWN5LXRydW5rCisyNDYzMCAwYzJlYTIzM2FkMjQ5M2I1MDQ5YjBjMmQ4MmVlYmMxMGZlOGE1NWI0IGxlZ2FjeS10cnVuaworMjQ2MzEgYjU4M2NhZjFiZTg4MmIzMjk4MDliMTkwM2Y5OWU2MDBlZWNjYjgyMCBsZWdhY3ktdHJ1bmsKKzI0NjMyIGJiNTY2ZjUyNWYxMmNmODhlZGNiYTAwN2I5ODdjZjgzMjg1NTM1MjMgbGVnYWN5LXRydW5rCisyNDYzMyA0YmNmYjlkYzU3ZTAzZGNiMzUwODgyZTc2MDc0NmQ3MzEwYWZhNjgxIGxlZ2FjeS10cnVuaworMjQ2MzQgNjBkZjJiZjg1NGFjZTQxN2I3MTAwOGE1NDYwMThhZDEyYzIzOTVhNyBsZWdhY3ktdHJ1bmsKKzI0NjM1IDNhMmNmNWU0NTY1NmE5OGE3NTcyOTQzNWEzNjNkNmM5YzBhZjBhOWIgbGVnYWN5LXRydW5rCisyNDYzNiAxODUyY2FiYTcwMTRiNDE1NDk3YjM5OGIyZmIyMDk1ZjFkN2ZkNDY1IGxlZ2FjeS10cnVuaworMjQ2MzcgNjQ0ODg1MTE4ZmU3Nzk4NzZjNzM5OWJhYWIzNGJmNTZkZGU3M2E3MCBsZWdhY3ktdHJ1bmsKKzI0NjM4IDc1MmZhNDg1YzRhYmE1ZjQ3MmExMTI1YWY3NjkxYWVkOTJmNTk5NTAgbGVnYWN5LXRydW5rCisyNDYzOSA4YTI2YmIzNjlmNTM3N2Q2OGEzOTcxMGZjYTQ1NGVmNzZkOWEyY2NiIGxlZ2FjeS10cnVuaworMjQ2NDAgYzlhZGFjZTNjODIzZWZkZjU3ZDRhZmQ5OWEzZTYwMjI0MTVmNzBkMCBsZWdhY3ktdHJ1bmsKKzI0NjQxIDM0YTFhNTBlNmFiNmY4MTkxYTE2YzZlMmZmM2JmNjRiZDhkZWVkMDMgbGVnYWN5LXRydW5rCisyNDY0MiA3ODRjOGJjMGIzMDM0YTU0ODVhM2ZkNzlhODJhMzZmZTAyNjgyNWZhIGxlZ2FjeS10cnVuaworMjQ2NDMgODQ4ZjY5ODg4MjlmMWEyZTU0MGQ0ZmZmNzdmOGE3NTIwNjVjMzFlYyBsZWdhY3ktdHJ1bmsKKzI0NjQ0IDQ0MjBhNGJkOTZhNDRjMWEzMGM1YTA5Y2I3NjQyNmRlZWM3OTFjNjEgbGVnYWN5LXRydW5rCisyNDY0NSAyYTdkNWZmZWNlMWM5Yjg3YmY0NDNiOGE1YzgzNjE3OTM5OGQ1NmFjIGxlZ2FjeS10cnVuaworMjQ2NDYgZmJiZDhhNGNhN2E2ZmNjNWI5ODk4YTliN2VjNmQwNDdiODQyY2JmNSBsZWdhY3ktdHJ1bmsKKzI0NjQ3IDZkODc0YTkxYjU4YjgxYjg4M2EwYzllM2ZhM2M2ZGY0NTFjODJiNTYgbGVnYWN5LXRydW5rCisyNDY0OCBjZjJmYjIwYTZjZTdlYjNiMDJlZDI5ZWJhYTYzYmFkNjEwMTcxNGUzIGxlZ2FjeS10cnVuaworMjQ2NDkgMThmNjA4MTBiOTRhM2YwMTBmZTRkODE0NWUzZGUzNTdmZjdiZWY3ZCBsZWdhY3ktdHJ1bmsKKzI0NjUwIDdjNmRmOTY0YjA0YmI0MTRhYjQ1YjliYTU2MmIyMGI1YzVjMWIxZTAgbGVnYWN5LXRydW5rCisyNDY1MSA5M2Y1NDA1OGVmNDhmNWRjYmZkOWNhMDUyMmM1NjM5MjM0MmM0NDUwIGxlZ2FjeS10cnVuaworMjQ2NTIgNjgwNDBkYjA4NGI2YWE1N2FjZDVlNmYyMjY3ZTVmOTAyOTA2NzUzMSBsZWdhY3ktdHJ1bmsKKzI0NjUzIDUyNWM3NzM2OGNkMDU3ZGYzNTk3NmNlN2JhODg0ODdlMmZhM2UzMGQgbGVnYWN5LXRydW5rCisyNDY1NCAzZDY4ZTMxMTBlMWZlNThlZTZlNmU1MzIxY2JlNDdjZDM0MTM3NTc3IGxlZ2FjeS10cnVuaworMjQ2NTUgMGIxZmFmMTE2ZjYzZWE4YzU2ZDE3ZjI0Nzk1MDEyYWE5ZDQxNzBhZiBsZWdhY3ktdHJ1bmsKKzI0NjU2IGEzOTJlMWZhZTYxZGQyMmZlOTEyMjgxNDVlZWUzY2UwOTlkMjIyMGEgbGVnYWN5LXRydW5rCisyNDY1NyA3YTU4Y2QzMzdjZjQ0MGExYzExMGQxMmM5ZTEyNTA1MzVkODIzZjg5IGxlZ2FjeS10cnVuaworMjQ2NTggZjdlYWVlYWM5YzY1ZTdiZTRiODFjODczNmQ4NWIyYzNlNmU5YWIyNCBsZWdhY3ktdHJ1bmsKKzI0NjYwIGQxZjkzOGVlZTcwMGEyNjI5MTc3OGFkOTA4NTE5ZjczMGU3ODBmNzggbGVnYWN5LXRydW5rCisyNDY2MSA4YThmNTdkY2Y5ZmU3MzYzOTdmNDk5YjMyNTMzODdhNjM1ZGE0NDY0IGxlZ2FjeS10cnVuaworMjQ2NjIgZjU5YzZiNWRkMTIyMmIyZmNiMjJkNTRmYWZlNmU3MjI4ZDc0OWVkNSBsZWdhY3ktdHJ1bmsKKzI0NjYzIDEyMzEwZDY0M2Q4ZDcyOTc2NWQxMTMyYzQxOTZlMzJiYjA5MmNjYmMgbGVnYWN5LXRydW5rCisyNDY2NCA5MzhiNWJmNzRmYjk0ZjViZjg1NWY3ODMyZDBhMjMzZDZhNDg2MTk2IGxlZ2FjeS10cnVuaworMjQ2NjUgYTUxNDZmODQzMDEwMDYyNzUwYjM0MWU2N2I5NzMzMWY3NzU0OWI3OSBsZWdhY3ktdHJ1bmsKKzI0NjY2IGJlOTkwZTcwM2QwZjE0NzJjZmRjNzQyNGY5MTE4ZWY2NDZiMjZjMDIgbGVnYWN5LXRydW5rCisyNDY2NyBiZTMyODNlZDhmOTc1ODg0MzkzMDRjODU5NDAwZTI3NjcxNmRhYjhlIGxlZ2FjeS10cnVuaworMjQ2NjggMjU3YzkzODkwMGE2ZTVlM2Q0ZTc4MDFmZThhOGY5ZDAxMTlkZDk4ZSBsZWdhY3ktdHJ1bmsKKzI0NjY5IGZiZGRiNjRkMjFjMmNiM2Q5OGVjYmZiMGM5NTE1MjE2NmZiODM4NzUgbGVnYWN5LXRydW5rCisyNDY3MCAwMDNkYzU3M2IyOTUwY2ViNGU3ODMxNTI2MjYxZDQ1OGU1YTU2ZTdhIGxlZ2FjeS10cnVuaworMjQ2NzEgYzY3MDQ2ZWY1Mzg1NjdiY2Q0YWM5NTcyOWMyNzBlNTBiNTM1NDgyZSBsZWdhY3ktdHJ1bmsKKzI0NjcyIGRlM2M4OGI1Zjg4OTYyYmQ3ZmUxYTNmNjQ1NGE5MDk2YTBjMWE2NzMgbGVnYWN5LXRydW5rCisyNDY3MyAyZWIyNWVmMzQzODZjMzk3NWRkMmRjZjJlYjNkNzBhN2FlMzk4ZDJjIGxlZ2FjeS10cnVuaworMjQ2NzQgMmMyMDhkYmYwY2IwMzg3NTcwN2JkMTA3Y2Q3MWU1Y2EzYmY1ODc1OSBsZWdhY3ktdHJ1bmsKKzI0Njc1IDI5MDcyZThlOGQ5ODJiMWFmYmE0MjY3OTFhYjNlNzE5OTdlY2NjYWYgbGVnYWN5LXRydW5rCisyNDY3NiBlOGIwOThmZTNkZjg3OGY4YzQxYmRkYTM4M2UwM2NlYWU4ODc3MWU1IGxlZ2FjeS10cnVuaworMjQ2NzcgMzAxMmY2MjZkZjdjYjM1ZTEzMGNlZGEwOWI2MDJmNzNjODA0YjMyYSBsZWdhY3ktdHJ1bmsKKzI0Njc4IDcxZTVlZWNkNTg5ZTU1YzMzNTZlY2JjY2YwYWQyYzgwMmY3ZjhmNWUgbGVnYWN5LXRydW5rCisyNDY3OSAwNDAyMzBjMTU4OTA0N2E3ZTJjYzJmNWVhOTM4N2ZiYjU1OWE3ZjEwIGxlZ2FjeS10cnVuaworMjQ2ODAgNWFiOWE2NWUyMzQ2NjE0NjE1MzViMWE0NDcxZmM2ZjA3YWM2ZmViYyBsZWdhY3ktdHJ1bmsKKzI0NjgxIGY1Nzc2N2Q3NmRlNmRiN2Y0ZjRkZjUwYTQzOWEzNzM0NWRiNzRjMzEgbGVnYWN5LXRydW5rCisyNDY4MiA4YTg5ZmYxZTA2NjJkYjRkYTA0ZTU5ZTZiN2VhOGUzZmM4NmZiZmExIGxlZ2FjeS10cnVuaworMjQ2ODMgZDg3Y2E5MzJlNzBmY2QwYmE1MDBhYTg3MDhlY2NhNTEzNjQ3OTQ1YSBsZWdhY3ktdHJ1bmsKKzI0Njg0IGFmNTE2MDRkMDBkYjI3MTQ0OWI3N2YxM2I2ODE2YTUwNjdiN2ZiYzIgbGVnYWN5LXRydW5rCisyNDY4NSA4YTAzNTA4N2ViNzI5Nzc2YjI3ZGVkMmRhZWJmMTk0ZmU3MDUxZTA2IGxlZ2FjeS10cnVuaworMjQ2ODYgNzM0NjZhNzZmMjVlMmU3MTcyNTI5MDQ4N2FkYzdlYTJmZTE0NDMxZSBsZWdhY3ktdHJ1bmsKKzI0Njg3IGMyOTY2YTdiZDExMzUxNDk4MzlkNDNlMGIxZmRjZTBkNjk4MTJmYTIgbGVnYWN5LXRydW5rCisyNDY4OCBjNTkzOWQwYzc0N2E0OTJjMjUyZWZjNDcyOGMzY2ViYzM2MWFlMTY5IGxlZ2FjeS10cnVuaworMjQ2ODkgNDk3NzJkMzE4NDQwYjhiNDk1NmJhYWQzMDY0Y2E5ZjUwNjYwMDU3YiBsZWdhY3ktdHJ1bmsKKzI0NjkwIDdlMGQyZDU5YmJjZTliN2VjNDg3NTkxYmQ3NjY2MjVkZTljYTY4OTAgbGVnYWN5LXRydW5rCisyNDY5MSA1MGQwMzY2ZThmMDU4MjJmOWNlYjgxMzRjZDEzNDg5MTFkMDcwZmU3IGxlZ2FjeS10cnVuaworMjQ2OTIgNWY1NzEzNDRjODljY2YwMzI2NzBiMGRkNzE4NjJlYjc5YjMyYjNlZCBsZWdhY3ktdHJ1bmsKKzI0NjkzIDExNmFmMmYwMTQ0MmE5MDBiMDg4ZGU3ZTYxNzkwYTI1NGJkMGRhNWEgbGVnYWN5LXRydW5rCisyNDY5NCA3NDNmNjdiZWZiNTdlOTUzMjY4YzcyN2U1ZmNhMTNjMmE1ODNiYjk5IGxlZ2FjeS10cnVuaworMjQ2OTUgNDRlYmVhYjI2OWM1YTc3ZWZlMjA4MDAyZmM4Yzk3OGNmZWU3YjVkMiBsZWdhY3ktdHJ1bmsKKzI0Njk2IDkxMzQ1OGVhZWY5MDBiOWMxNjlmYTRiNzU2Zjg0YzdlOGFjZDJlNTEgbGVnYWN5LXRydW5rCisyNDY5NyBkMTZiMzI3MTgxYThkNmIxNjEzZDIyNjc1MWJlNTZlZmQyY2MzMzBhIGxlZ2FjeS10cnVuaworMjQ2OTggYWJjZDJmNTJmMzE2ZGEwN2YzMjRkNWE0YzE5MTRhNDEzMTA5OGZlZiBsZWdhY3ktdHJ1bmsKKzI0Njk5IGM0NGM5MTE2MDZhNDRjZjcxM2EwMjBmZTA0YTgwYTNhNmYxZGE4OGYgbGVnYWN5LXRydW5rCisyNDcwMCBlYjc4ZjAzZGNkZWM2ODMwMjgzZjNhMWU3MDllNDYwYWJlMGUzMmEyIGxlZ2FjeS10cnVuaworMjQ3MDEgODFhNTc4ZWI3MzQ2Mzk1Y2ZkNzcyZWZiNmVhOTA3ZjE2ZWRkZjk0ZiBsZWdhY3ktdHJ1bmsKKzI0NzAyIDQyY2Q1MDU5NGQwZDk3ODJkMWM3YjYwM2FiYjIxMGY3MzJhZDg1MTMgbGVnYWN5LXRydW5rCisyNDcwMyBkZmFjYzczM2NiZjRiNWM5NDU2YzI3ZDJmZTVkM2YxMzA0Yzg1NTQ3IGxlZ2FjeS10cnVuaworMjQ3MDQgNzUwMzdkODZiMTEzNjMxODE3MGY4ZWM3ZTllZDAyYzI5ZmMzMjQ1MSBsZWdhY3ktdHJ1bmsKKzI0NzA1IDk2YmJiM2QwYzZhMDQ0ZjAxNjI1ZTFhYmU3ZWM0NTdmNDVlMWVlNmQgbGVnYWN5LXRydW5rCisyNDcwNiAyYzMyZmM1ZjIzYzAzNzA0M2YyZTVlMWJlYjczMWRiMzM3YjZlNzFmIGxlZ2FjeS10cnVuaworMjQ3MDcgNjU3OGM3ZGMzMjhiMWU3Mjc2OWY5OWJlNGQ2MjQ1ZDkyYTljMTY2OSBsZWdhY3ktdHJ1bmsKKzI0NzA4IDNmM2VmMDc0MzUzN2IyN2E0MDg3MGViZTdkOWZmMzgwYTAyMjFhMGYgbGVnYWN5LXRydW5rCisyNDcwOSA4MmFmNTRiNDM4MTc3NTFjZTNlNGY0MTA0YmQ0NDUwMjcwNWQwNWM1IGxlZ2FjeS10cnVuaworMjQ3MTAgNTYwMjIyZTlkNDcxMGIwYTRmNjI3NWYyYmQ3NTNhYTI2NWQ0ZmYzMCBsZWdhY3ktdHJ1bmsKKzI0NzExIGVjMzJlNTlkZjQwMGJiNzY3ZDQwNzJkZTZjMmVmYjJmOTQwMDEzMDQgbGVnYWN5LXRydW5rCisyNDcxMiA1YzliYTI0MTgzOTAxYmY1OTI0Mzc4YzkxZTkyZWYyMjc4ODg4MmYzIGxlZ2FjeS10cnVuaworMjQ3MTQgZGUxMjU3OTJiZmFhZGRkMDgyYTc5MDZiOTI1NmMwMjRmY2FiNWFkMyBsZWdhY3ktdHJ1bmsKKzI0NzE1IDMzZDU5ZTE4YjY4ZDQ0NGEzNWQ1NzdjNmZmYTkwNTQxYmY4ZGZiOGIgbGVnYWN5LXRydW5rCisyNDcxNiBjYjA4YmM2OTg2ODU5ZTc0ZDY1YTY5YWMwNDc5NDc1YmQwODNhYzIxIGxlZ2FjeS10cnVuaworMjQ3MTcgNmRhNjA5MWEzMWVlZjIwOWE2MTE0N2MxOWJkM2U4OGJmMTQxNGU1ZCBsZWdhY3ktdHJ1bmsKKzI0NzE4IDA1YmM1OTA1MjI0OTM0ZWZhNDM2NDA4MDMzMmIzM2M2MTFiYzQwMGMgcjIycmMxLWJyYW5jaAorMjQ3MTkgMjJjOTg4Y2MxNTJkMTIyYjI0NzE3ZTc2ZGM2NDA4MzdlOTUyZDkyYSByMjJyYzEtYnJhbmNoCisyNDcyMCAzZDk3YTA1NGY5ZDRhZmU1YTZhNzg2ZDNiNmU4MTdjZGYwYTEzN2E2IGxlZ2FjeS10cnVuaworMjQ3MjEgNjk4YjZlZWI5YTg2ZDg5MzgxYmIzMzU5YTgyNDhjMWIzOWEzZTc0OSByMjJyYzEtYnJhbmNoCisyNDcyMiBlYmY4YTAzNjE1MWQ0NjVjMjU5NmVhODJjZjBhMjExYTkwZjNkZTdhIHIyMnJjMS1icmFuY2gKKzI0NzIzIDIwNGQxZDViMDhkNjhhOGM3OGY1NzA4Mzg1ZGJiYTI2ZTk1MWM2ZTggcjIycmMxLWJyYW5jaAorMjQ3MjQgZmJkNTdlZTViNzdkNzgyNTAwOTI5MWNlNzVhMWQ1ZDg2YTIyMDkzNiBsZWdhY3ktdHJ1bmsKKzI0NzI1IDNjZTg3MWEwNDU1YjUyZDVkYjQ0MjFhYjkwZmQ1NmE5YmZlMTMxYzYgcjIycmMxLWJyYW5jaAorMjQ3MjYgMzYzYjJmNzUyOTM1MWVkY2FiYjA1ZTliYmQzOWYxMjYzNTE3ODIxYSByMjJyYzEtYnJhbmNoCisyNDcyNyA2ZWE3MTkzYmRjMmVhZmQxOTQzZTVhZDgzNTdhOTIyODA2YjZmZWUyIHIyMnJjMS1icmFuY2gKKzI0NzI4IDA2NDMxMTE0OWNiNGQzZGZjNDhiZWUyZmM0ZWM5MTdjMDdlYzZhYzEgbGVnYWN5LXRydW5rCisyNDcyOSAyYWZlNDJmMjQ1NTkwOGYwZDAwZTQzZGJmYWFmMmNlODIzZjA0ZDAzIGxlZ2FjeS10cnVuaworMjQ3MzAgOWM4MGI1YWY4MTIxYTc0YmRhMjcwOGVmYTNhZjhjMWY2MGViNTE3NCBsZWdhY3ktdHJ1bmsKKzI0NzMxIGZlMThlYjA1NTEwNzQwODI2OWI1Mjk2YmRjZTAwMjAzNWQ3YmQ3OGQgcjIycmMxLWJyYW5jaAorMjQ3MzIgY2VkYjUwMzkxNTVhNjU1MzMxNGEyZjc0M2ZmNjM5N2M0ODc2NjQzYSBsZWdhY3ktdHJ1bmsKKzI0NzMzIDMxYTI0OWEzNDBmODE3YWQyOTFiN2JiYjdiNzVjN2M1ZThiY2FkMWYgbGVnYWN5LXRydW5rCisyNDczNCA4NTA4NmYzZTcwZjM0Nzg4OTNmNGM2Y2VkZDcyYTk0YmU4MjAyZTFjIHIyMnJjMS1icmFuY2gKKzI0NzM1IGZkYzBjZjU2YmE5Y2ZkNWYwMjRlZTQyZTdhOTBkNWIxNjBkZmZkYmMgbGVnYWN5LXRydW5rCisyNDczNiAyNzY2OGRhYjc3Zjg4YWNmMmVlYTA1ZjdmMGQ1OGQ2MTljMWNiZDEzIGxlZ2FjeS10cnVuaworMjQ3MzcgMDQwNzI5NDAyMWEwYTZhMDE4YTE2ODIzNDUxZmZmZGQ0NWQ5MjVkMCBsZWdhY3ktdHJ1bmsKKzI0NzM4IDFkODlkYTgyNWY5NTc4ODZlYmRiMmNhMTMxOGZmNTI2MTNhYmQ1YzMgcjIycmMxLWJyYW5jaAorMjQ3MzkgMGE5NDhjZTQ3ZTdhMDZhMzUyNjc1N2Y3YjNmYWZlOTM1M2VjMWRkYyByMjJyYzEtYnJhbmNoCisyNDc0MCBlNjNmNDY2OGM5NWQwODcwOTNlYjY2NGE3ZTI0MWY1NTkyMTY4Zjc0IHIyMnJjMS1icmFuY2gKKzI0NzQxIGZmMWI1NzFhY2E3MTBmNDAzOTE5OThkNjljNWIwNDllMGEzZGNjMzEgcjIycmMxLWJyYW5jaAorMjQ3NDIgOGZiMGMyNGY0ZDQ1MGQ5NDBiNGU1Y2Y2MzMzYzYxY2E2M2M1YzgyYSByMjJyYzEtYnJhbmNoCisyNDc0MyBiMTE3NzRjY2QxMDFmNzMwZTkyNzEzMGNlZjEwYzgxODYxYjAzOGMyIHIyMnJjMS1icmFuY2gKKzI0NzQzIDdmNDY3OGVlZmFmYjE0MzkzNWMzOWMwMzY0ZTBiNTNiMzNkMjg4MjAgcjIycmMxLWJyYW5jaAorMjQ3NDUgNDIxNmVmMTk2MjBiYmRlZGU0Y2IzYjFmMzA1ZjU5NmE4ZTM3ZWU2MyBsZWdhY3ktdHJ1bmsKKzI0NzQ2IDhiMmJkMDc4MDkyNWY5ZDVmMWM2Yjc3NzBlY2E4ODJkMzEyNDQ0NjcgbGVnYWN5LXRydW5rCisyNDc0NyBmNTM2Zjg1Mjk1Yjg2MzdjYmYxNWE3NWUzYTU3MjcxZmYyMjJiNDZkIGxlZ2FjeS10cnVuaworMjQ3NDggM2ZjYjIyNDhiYmU4ZDkwN2U4ZTZjY2UxODg1YzZiMTE4MmJmOGUyMiBsZWdhY3ktdHJ1bmsKKzI0NzQ5IDZiMzBjM2Y0Mzc4ZDQzMDRjZTFlN2Y2ODY0MjY3NTFhZGM1ZWEzZTQgbGVnYWN5LXRydW5rCisyNDc1MCBjMzkyMGM0MzUzMzMxODg0ZjJmMjI4ZGFmZTUyY2FmZjdiZTk2N2U0IGxlZ2FjeS10cnVuaworMjQ3NTEgNTcxZDViN2I3NDZjODJhZDgxMThkNDJjM2I2YTJhZmVjZWFlMDZlZCBsZWdhY3ktdHJ1bmsKKzI0NzUyIDgxMzQ5ZTUxNjU5YjUxYzVmY2RlMmFlYTJjZDFiYTQ5OTZlNzBjZmUgbGVnYWN5LXRydW5rCisyNDc1MyA0Y2IyMjNlZjg2OWJhMDUzN2M3YzkxYmNiNzAzOGRhNzUzODU4NjYwIGxlZ2FjeS10cnVuaworMjQ3NTQgYWE0NzUzZjk0NTcyMjE0MTYyMTYwOWI5OTdkMWYwYmE4MzdiMmFjMiBsZWdhY3ktdHJ1bmsKKzI0NzU1IDU1OTIxMjU1ZWM5M2QyMzQzODRhZjFhNjc2ZTQ3ODE0MTAzNTY0ZTAgbGVnYWN5LXRydW5rCisyNDc1NiAyNzRhYTkxYjQxN2MxM2Y1MDk5MDIyZjIwZmQ5NjMyN2EzM2I3ZDgzIGxlZ2FjeS10cnVuaworMjQ3NTcgZTBlMmI2MTYxYzdmZDZiZGVhZTdhYThjMTQyNDZjYzU1MDI2MzUwMSBsZWdhY3ktdHJ1bmsKKzI0NzU4IGE5NjU2Y2UwMTViMGQ4ZjEyOWQ3OWE4NzcwY2E0MDQ3NWZhMmU3OWIgbGVnYWN5LXRydW5rCisyNDc1OSAwNjNmOGEzMWI2YjhiNzI5ZTJjOGY4N2UxOTM0OWY2MjI3YWI2NGVjIGxlZ2FjeS10cnVuaworMjQ3NjAgYTYyMGVmODRiMGZiMjYyMzE4NTE4Mjg0M2RmY2ZjZjUzNTBiN2M3MSBsZWdhY3ktdHJ1bmsKKzI0NzYxIDNmY2MyZTI5OTJkNGQ1ZTU3YjQ3N2I5NDU1ZTAwOGYxN2YxNGI4ZDggbGVnYWN5LXRydW5rCisyNDc2MiBiMmQzMzkxMzY0YmJiNzMxNmNmMDMwNDgyODk2YmJkNzkwNzM0MjE5IGxlZ2FjeS10cnVuaworMjQ3NjMgZGJkNmE3NjEyMTU5NmJlMDNiM2NjYWE3M2RjYzRmYmY0YzI5NDE0MyByMjJyYzEtYnJhbmNoCisyNDc2NCBhMDI5ZTM0ODMwNGM4ZTdjYTU5MTM4ZjA5NDY1ZWJmMmE4YjkzMjExIGxlZ2FjeS10cnVuaworMjQ3NjUgZmQ5ZDdhZTNmOTRhNzAyNWRlNjVkNTIxOGYzNGIzODhkZDc2NTEyYyBsZWdhY3ktdHJ1bmsKKzI0NzY2IDNkMmNjODU3NzEyN2U1NjNlOGZiMmNjYjRhMDRhMmE1MGI1OThmMjUgbGVnYWN5LXRydW5rCisyNDc2NyAxNDUwZWU2YjhiOWVjZDdkYTk3YWQ2MDI2NjI0MzkwZGJlMmUwMzdkIGxlZ2FjeS10cnVuaworMjQ3NjggYzY1ZmFjN2MyODQzM2U2ZTg2MTRmNWNmODZlODkzNDJmNTkzZGY4YiByZWxlYXNlMjEtbWFpbnQKKzI0NzY5IDk3ZDg1Nzg4MWM4MmFmM2QyZGU5N2I4N2VlZGI2NGVjYjIwOWJjNTEgcmVsZWFzZTIxLW1haW50CisyNDc3MCBmNTQ2NjIzZWYwYzY1NjVkY2ZiNGU5MTRhZTM4YzlkZDdlZmM1NDMwIGxlZ2FjeS10cnVuaworMjQ3NzEgNWE1OTBmMTk2ZWM1ODNhNzE4MGFlN2NhNTU4ZGQyZDZiMWQ5YjQ5YSBsZWdhY3ktdHJ1bmsKKzI0NzcyIDlhNjM0ZDYwNTQyYWU3MTY0NDYyNzMwYzU1NDY3ZWMwMzk2NTFiMzYgbGVnYWN5LXRydW5rCisyNDc3MyBkN2E5ZWJhNzRmZTI2MTFjZmEwZWIwZjEwNzIxZTEwZGIzYzkzNTA1IGxlZ2FjeS10cnVuaworMjQ3NzQgMzBlZmU0NmY4ZTNjYWE1YWIxZmU0NDBhMThiMzE3MzlmYjdlYTQ2NCBsZWdhY3ktdHJ1bmsKKzI0Nzc1IDA1YWQ3YTY5ZDkzMzExYzdkZjFhOWQzYWM1YjM1NDkwODZlNTI1MmYgbGVnYWN5LXRydW5rCisyNDc3NiBkN2QyNWVjMDJkNDEyOWJlY2UzZWYwZWM2Y2ViMDJiNGI3Mjg0MzY3IGxlZ2FjeS10cnVuaworMjQ3NzcgNGY2MjFiYWM3NTI2NWRhMjdlZDQyYjMzYThmMjExYzk0ZTgxMDFkZCBsZWdhY3ktdHJ1bmsKKzI0Nzc4IDUxOTMyOTBhZWYwYTViNGMxZTMzODY4MmU3NTQxODgwYWYzZmRkYjIgbGVnYWN5LXRydW5rCisyNDc3OSA0MGM1NmZlZmExNzcyYjYyOTQwNjlhYTI1M2FkNTMxYjUxNTFjNjY5IGxlZ2FjeS10cnVuaworMjQ3ODAgNzdjNzQ3NmY0MWJkZTc2NzQxMjgzYTA1OTA3YzdkOWMyMmYyYjY5OCBsZWdhY3ktdHJ1bmsKKzI0NzgxIDdlNzQ1NTg5MGZkNmViMWE1OWM2ZmI1NTQ0MTZiMmVhMDMzNDEwYWYgbGVnYWN5LXRydW5rCisyNDc4MiA5N2YwOTk2NzFiYmNkZGU4ZjAyYjhkZTAzYzZiYjMxNTNjODNmNjEzIGxlZ2FjeS10cnVuaworMjQ3ODMgM2FiZjAwMjE1YzFjY2UwNjMwM2I1MjAyZDdlMjlmMTUwZTVkNWZmZCBsZWdhY3ktdHJ1bmsKKzI0Nzg0IGZhMGJkZTNjODZiMjc4Yjk1ZDBkZWRhZGJkN2Y0ZGQwYWQ5YzkyZGUgbGVnYWN5LXRydW5rCisyNDc4NSBiZTVjYTBiMjViZmRjN2JkYjI2MzE4MzBhNWQyZTFhYWQwODBmMzk1IGxlZ2FjeS10cnVuaworMjQ3ODYgZmI2YjNmYzRlMGMxYWFiMTM0NjgwYzllYmYwZjg3NDY3MzcwYTJhZiBsZWdhY3ktdHJ1bmsKKzI0Nzg3IGJkMTJiNTk3M2RhYTk5NjUyNGUxOTVhNjQ2Zjc2N2I5NjlmODUyZjQgbGVnYWN5LXRydW5rCisyNDc4OCA3YWY0NWFmZmQzNTMyYTBiMDhjZjdiYTg0YzZiNzViNWQ2OGIwZDdkIGxlZ2FjeS10cnVuaworMjQ3ODkgOTg0NjQzOTRjY2UzMzY4M2JhZWUxNmZmYjhiMmNhODQ2M2M1MDQ1YiByZWxlYXNlMjEtbWFpbnQKKzI0NzkwIGUzYzJmZDE3N2E2ZTRlMmVlNzg5ODkzNmE4MGM1Y2VlNTI4ZWM0ZjEgcmVsZWFzZTIxLW1haW50CisyNDc5MSBjNTc5N2EwMDgzZDhmYTJhMGQ1MzZlNmQ4NGQ1OWZhOTFmYWY5ZWEwIHJlbGVhc2UyMS1tYWludAorMjQ3OTIgNDY1YzkzMjVhZjY5ZjQxODY0ZDI2Y2U4NzcwZWRjNjliNTJlOWYzZCByZWxlYXNlMjEtbWFpbnQKKzI0NzkzIGY2ODVmMDcwNGJiZDNhOTg1Y2QyY2U3ZWI3N2I4ZmUwMTAwODQ3ZmYgcmVsZWFzZTIxLW1haW50CisyNDc5NCAwZjc0ZGI3NGE4ZjQwODAzMDdiYzQ4YTdiZGQwYjVkZWM5NmM2MjhhIGxlZ2FjeS10cnVuaworMjQ3OTUgMzMwM2YyZDkyY2VmOWM4ZDM0ODkyZWNjNzQwNDc5ZTcwMWQ5YTM3OCBsZWdhY3ktdHJ1bmsKKzI0Nzk2IDY2NGFjODIyN2NjNTNmM2UzNGFjOWRmZTkwNmI5YmFlMmRkZDg2NmEgbGVnYWN5LXRydW5rCisyNDc5NyBkZjc3MGRkMGJlYzRhNzZmZWZiYTRiMTdlMjE3YmJlODE4YmJmOGExIHJlbGVhc2UyMS1tYWludAorMjQ3OTggYjI3NTk5YWJjYzQ5YTExN2U4MWRkZTU3OTk3ZmFkZjQ5YTJjZjk2YSBsZWdhY3ktdHJ1bmsKKzI0Nzk5IDk0MjMyNDU1MTRhODg1ZWM5ZTc3YmQ5YjdjZmE4YTFjZWRhNzA1NTQgbGVnYWN5LXRydW5rCisyNDgwMCAzYTkzMTQ1YjZhOTYzMmRiMjY5NDZkYTliOTdhZjIzYWU3MDViZjhkIGxlZ2FjeS10cnVuaworMjQ4MDEgNGUzNWZhNWQ1NzA4ZGM1NTcwY2JlYTMxNzkyZDZhNzRjM2IxYzJmZCBsZWdhY3ktdHJ1bmsKKzI0ODAyIDgzNDhlODQ0MWVhZjc1YmU4OGViYmU5Nzc5MmMzMDgyMWI0MmI1NzEgbGVnYWN5LXRydW5rCisyNDgwMyBmMThjZmRlMmU4MDQ5ZThlMGQyOTZmY2RkZDRmM2NiY2E2ZDhlMzFjIGxlZ2FjeS10cnVuaworMjQ4MDQgOTU5YTJlZDU3MzVjZDA4NTliZGJlOWRkNmZjMTliYTVmOTExYzcxZSBsZWdhY3ktdHJ1bmsKKzI0ODA1IDgwM2FhMGMyYjEzMGY5MmQ1ZDQyNTc5NmM0OGYzNWM4NmY0ZDFjODYgbGVnYWN5LXRydW5rCisyNDgwNiA2NzNiYmYxMTU1MDg5MjI1ZjRlOWJhYjI2MGY4MzQ5ODY2ZTZkNDI2IGxlZ2FjeS10cnVuaworMjQ4MDcgZTFmM2ZlNTY3N2RhM2Q4ZWU1ZWU4YTRhMDhiZDhmZTUzMmQ0Mzk4OCBsZWdhY3ktdHJ1bmsKKzI0ODA4IGEzYjA2NzNiYTJjYTVmYTQzYzM5ODU1Njc3ZjRlNDVkNDU3YTEyNmYgbGVnYWN5LXRydW5rCisyNDgwOSBhYWMyMzMzMWEyNWQ3ODMwZWZjZmI2M2E5ZDMwYzczYzM1ZjAyY2M1IGxlZ2FjeS10cnVuaworMjQ4MTAgYWYyNjIzYmI1ZDBiYzNkOGRhNGIyZWQxZGVkOTA3ZjEyNGQ4ZTYyYiBsZWdhY3ktdHJ1bmsKKzI0ODExIGNjYjI2YTExODg2N2U4MjA0Yzc0YTc2ZGU4ODBhNzQ2MjUwNzM0ODQgbGVnYWN5LXRydW5rCisyNDgxMiBiNDg5MTBhOTU3OTcxYTc5ZTlhMzk3NGVjYjc5M2E4ODZlZjQ1MDNmIGxlZ2FjeS10cnVuaworMjQ4MTMgNGM4MmM4ZWQ2ZGY0ZDRjNDdkNDc1NWE5OTQzZTBjZjJhNzA0ODIwMiBsZWdhY3ktdHJ1bmsKKzI0ODE0IDIxYzdkNzU2NTk3N2NlYTY5NjY3ZmQ4NDYzNDM5M2U2OGQxM2U3MmYgbGVnYWN5LXRydW5rCisyNDgxNSAwMGIzYWQxY2U0MDRkNmZmZDMzYWI2NGVlZmMzNTZkMGExMDhiYzlkIHIyMnJjMS1icmFuY2gKKzI0ODE3IDAwM2E5ODVjYWI5NWJiYjZhOTliNjM2MThiMGFmZDIzYTQzYzYyYzIgbGVnYWN5LXRydW5rCisyNDgxOCA3NjIyNTQzNGE2ZmVkNzQ0YTFjMmQ0ZTlkZWRlZTAxNDdlYmU4N2Y2IGxlZ2FjeS10cnVuaworMjQ4MTkgODczMjkxYTQ4ODllYzkyZTZlYjA4ZjQ3NjA1YzYzODM0MWNjNGZkZCBsZWdhY3ktdHJ1bmsKKzI0ODIwIDJkMzc2ZDkyNmRhODJhOTAyMWZhODE0MmI0ZDVlZjQ2MDIwODEzOGEgbGVnYWN5LXRydW5rCisyNDgyMSA5ZDk1YzFhODljZmNiMGEzMzk3YTk2OGJlNzRhMzBmZTM2YzI0OGMzIGxlZ2FjeS10cnVuaworMjQ4MjIgNWUwNmY4ZmUzOGVlNGFmZjgzN2UxMTZkMWE0M2RiODM4YTY4ZGQ0NyBsZWdhY3ktdHJ1bmsKKzI0ODIzIGExOTkyNjk0YzgyNDI1ZTBjNDI1YzRlMzEzMTEyM2Y0YWVkN2Q1OTEgbGVnYWN5LXRydW5rCisyNDgyNCBiYjE2OGRlNTBhMDMyYjczOThjOGU0NTBmMWFiMzYyNjE5YmRkM2RmIGxlZ2FjeS10cnVuaworMjQ4MjUgMWQxYzQ2ODI0ZmMzZTdlZDUwMGFhNzRhNTRiZjQ3ZTJiMWE1YmY0ZCBsZWdhY3ktdHJ1bmsKKzI0ODI2IGJmNjQ0OGYwMjI3Mzc0ZWRhOTE4OWVlZTViZGFjNTgyNzZjYmQxNjMgcmVsZWFzZTIxLW1haW50CisyNDgyNyBjYTQ1MGU0ZGZmOWE2MjY0ODQwNTIxN2M0ZTQ0MDdkZWZkOGM4ZWQ2IGxlZ2FjeS10cnVuaworMjQ4MjggMDQ0NjMwMTYxMDkzYzkxNzQ0YzUzOWU2ZjUwYjllZDQwYjYzYWRhNiByZWxlYXNlMjEtbWFpbnQKKzI0ODI5IDE2MjEwNmIxNmU0NDRjMWE0NzViNjA4NGQwZGZmYTQ0YjMxNGRmYjIgbGVnYWN5LXRydW5rCisyNDgzMCA0NGM0NzlmODRlMzY4YzBiNWYzZDg1MzU4NGJjODg5YWYzMjY4MTI4IGxlZ2FjeS10cnVuaworMjQ4MzEgMjQ3NDQxNGQ0MzQyOTI0YjA2ZmJiOWRjMThiYjA2NDQ2ZmFmODRmMSBsZWdhY3ktdHJ1bmsKKzI0ODMyIDdjMmY5NWRlY2NhZDVlMjQ4NDg1YzA1MDE3Mzg3MDE3MDM2YjdhODEgcjIycmMxLWJyYW5jaAorMjQ4MzQgNjVmNDA5NGY0M2Y0NmZkNTI5YTY4NGZlMjlhNzhjMTUyMjAyMTNiZiByZWxlYXNlMjEtbWFpbnQKKzI0ODM1IDgxNGNlMDkyOTUzZWMyM2YzOTgxNGZjOGRjMGQ0MGJmZDc4NWU3NWEgbGVnYWN5LXRydW5rCisyNDgzNiBlOTIwMmZlMzJmMGI4ZmY2ZWFiODU5OWQyYzM0Zjc2OGJjOGJkNmZkIGxlZ2FjeS10cnVuaworMjQ4MzcgODhiYWE0YzRlZWUxMDViNmU0NzlhZjRlNWJkMTM3NjY5MzBhOGM3ZiBsZWdhY3ktdHJ1bmsKKzI0ODM4IGNjYTU2YTk3NmNiMjVjYjA2MDI0ODUxZTgxZmExMmYyMGIyYTZiNDYgbGVnYWN5LXRydW5rCisyNDgzOSA0YTM0ODYyYTM5OTQyM2Y0NzAyNTkzOWQzNDRmYzM4ZjBhZDgzNTcwIGxlZ2FjeS10cnVuaworMjQ4NDAgNjUyZTE4Mjc5NTgzYzE0NmE5Mjk2NDg1ZDE3Y2RkOWU0YWFmZjE0YiBsZWdhY3ktdHJ1bmsKKzI0ODQxIDVhNTA0MTAyYTA5YzUwMjQ3YTEyM2E3N2Q5MWQyYWNmMzMxOWRiYWMgbGVnYWN5LXRydW5rCisyNDg0MiBhMDNiMTNiZTJmNjhmOTViZDQ2ZGJkZTFiMmNhODYxYmZjZmE0OTlhIGxlZ2FjeS10cnVuaworMjQ4NDMgMzgxNWE5NTk4MTljNDY5MzgzYjVlN2YxM2ZmODgxMWNhYTRjNDQxYSBsZWdhY3ktdHJ1bmsKKzI0ODQ0IDNjOWYzOTFkN2UwMzM4NDIwY2MyYmY4OTU5YWZlYjA1MGQ5YjJjYmQgcmVsZWFzZTIyLWJyYW5jaAorMjQ4NDYgMzI0OGVhZDcxOTI4NzlkOGNiZDBjNDA0NzRmMTMzNDA3ZmVjMWQ2OSByZWxlYXNlMjItYnJhbmNoCisyNDg0NyBkNmE0NGZkMWY0YzE0MzcwOTA2NzkyNzYyMTlmNGQ2NzY2NjFmYzg5IGxlZ2FjeS10cnVuaworMjQ4NDggZTNkZTM4YWE2NDYyMzE0ODFhZDAzNjRlNDlkMDA3Yzg0NDA2N2RhZiBsZWdhY3ktdHJ1bmsKKzI0ODQ5IDA5N2RkOTUzZTExOTYyNGYwMTlmODkwNWVjMzhiZjc1NTMzNmQ2ZmYgcmVsZWFzZTIxLW1haW50CisyNDg1MCA1NjhjNzVkZDUwNzgyYTliNDAzMTE3MTZjMjNiOThjYjBmZTNiMGNmIHJlbGVhc2UyMS1tYWludAorMjQ4NTEgODVlNjk0ZTliOWZjMTQ2NDRkMjU1MWIwMzQxZDJkMGFmZGVkZTk5NyByZWxlYXNlMjEtbWFpbnQKKzI0ODUyIGUzYWE1YWFiMjg3NmRmYmUxZDlhZDFhZjllZTViZGZkMDdhY2VkMTIgcmVsZWFzZTIyLWJyYW5jaAorMjQ4NTMgODJhYzgzNDc0NDYyOTExMjVhZTFjZWNmY2ZhODNjNjhiNzYwZmRiNiByZWxlYXNlMjEtbWFpbnQKKzI0ODU0IDI1YmFiZDQzMmIyNGY0YmIxMjVkYWUxZTJjYmVlOGYxNzYwMDZmZmYgcmVsZWFzZTIyLWJyYW5jaAorMjQ4NTUgMzI2ZDk5NzJmNmY2MTAwMzZmOWE0ZThiYmVlMjFhMWE2YTdmNjQwNyBsZWdhY3ktdHJ1bmsKKzI0ODU2IGU4ZDM2YzE4MzEzNzU3Mzc0ZmJjMjg2NWJkMjAwZTQ3MjQ1ZTlkYjYgcmVsZWFzZTIyLWJyYW5jaAorMjQ4NTcgMDQ2MTJkYzMyM2RmMzA4MjBjNDhlOGU4ZThkMjE3MDU0ZGM3M2NmZiBsZWdhY3ktdHJ1bmsKKzI0ODU4IDc2N2QyNDVmZDhkY2ZiNjllZjZiNGYzM2I0YjliMjgxZjBmMzdlZTUgcmVsZWFzZTIyLWJyYW5jaAorMjQ4NTkgMDk1MThjNGM2ODUwOGI0MmQwOGY3MDg5YTQ0Yjg5YWQ5MDBhMjU2NCBsZWdhY3ktdHJ1bmsKKzI0ODYwIDQ4ZjMyMTk4Y2ViOTFmNDlkZDhhMDBhNDBkOTJkZDRhNTVmZTA1N2QgcmVsZWFzZTIxLW1haW50CisyNDg2MSAwODI1ZWIxZGJlYjgxY2FiNzYwMTdmNWY0ZWEzN2ZiYTAwOGFkODI3IGxlZ2FjeS10cnVuaworMjQ4NjIgMTc5OTc4MjA5NzFkMGMyOWJlNTdkY2M1YTFkOWY5OGE5MjNkMTRlMyByZWxlYXNlMjItYnJhbmNoCisyNDg2MyBmYzllMjcxMTcxNGRlZTk5NTk2YWQzNjQxM2QwMmEyYmNmZmU4N2JkIHJlbGVhc2UyMi1icmFuY2gKKzI0ODY0IDZjMjNhM2ZiMGIwNDk4NzJhNTM3NzRhZWIxNzUwNjcyNTA2YjNhMmUgcmVsZWFzZTIyLWJyYW5jaAorMjQ4NjUgNjA2MzU0NDAxMzk2ZjU0MDZiZmEwMTk5ZDcyZmE0YWIxZjcwNjNmZiByZWxlYXNlMjItYnJhbmNoCisyNDg2NiAzZmZlZWRhMDIwZGNhZTEwZDY4MjIzMmU3YzVhYjNhOGI0MDBlNGRiIHJlbGVhc2UyMi1icmFuY2gKKzI0ODY3IDQ3OWNmODgyYmRiNWU2NjJjYjcxOGZkM2JlMzNhMDUwNzJiNDVkMDIgcmVsZWFzZTIyLWJyYW5jaAorMjQ4NjggMTEwMDNiNjY1NTQ1ZDYxZjE0OGJlN2MwODUwMDljMmVjNTA3ZDUwZSByZWxlYXNlMjItYnJhbmNoCisyNDg2OSAzMjQ2ODRhZGI0ODM1MjQxMDUzMDEzY2U4NzAwYTU2NDA2MDgwMDVjIGxlZ2FjeS10cnVuaworMjQ4NzAgNzRjNWRjYzE1YjczNTU2NTQ5MjY4OGE1YmU2MGFlODY1YTcxNjg1MyByZWxlYXNlMjItYnJhbmNoCisyNDg3MSBlOTNmMTQ0ODYyZGU5NzJiMWIxMTdlNDZhMWZjYTMyZmZlMjA0NDY3IHJlbGVhc2UyMi1icmFuY2gKKzI0ODcyIDhhZjg2YTk1MmIyY2EzZmEyMGI3ODNmZThkOGRlMDM0MWQ3MmNlN2UgbGVnYWN5LXRydW5rCisyNDg3MyA0Zjg5MzIxMzRkY2EzYjNmZDdhNDgxMDIxMjNiYjY3NDhlYTQ0MTA5IHJlbGVhc2UyMi1icmFuY2gKKzI0ODczIGRjYThiNTg3NDY0MzlhOWY3ZGYyMTJmNjQzZWU0ZDQwZWI4ZGYyNGIgcmVsZWFzZTIyLWJyYW5jaAorMjQ4NzUgOTM1Yjg2MDJjYWQ5ODM2NzA0YTNhYTE3Y2JiZDhlNGVjOTgyNDA5MiBsZWdhY3ktdHJ1bmsKKzI0ODc2IDkwMjUxOTdhOGVhMGM0YmJjNzZhMGQwOGIyNDRlNGE3ZGQ4YjAyMzIgcmVsZWFzZTIxLW1haW50CisyNDg3NyBlMGE1ZDE2YTljYjk1MTk2Y2ExODYxNDQyMzA5M2JlYjIyMWUzOWQwIGxlZ2FjeS10cnVuaworMjQ4NzggY2I1NWYxNWIyNzMwMTA1ZmQ5YjU5M2UyMWE5OTA3MjRjOWI5NDVhNyBsZWdhY3ktdHJ1bmsKKzI0ODc5IGI0ODRhYTYxY2FiNGE2YWVlNmZmMDdmMTg5MmY5NWE0NWE5YjdlYTEgbGVnYWN5LXRydW5rCisyNDg4MCA5ZDQ4MGQwZmU2OTA1NzFjZmJhZTUyMGIyZDcxZDY1YmMxZWFlMDIyIGxlZ2FjeS10cnVuaworMjQ4ODEgMjY4YjU3ZDlkYWVkMThhM2M4ZTc2YjVkNDNiMGZhOGE1ZDkwYzkzNCBsZWdhY3ktdHJ1bmsKKzI0ODgyIGZjODEzMTY0Y2U5Zjk4MTNlNjcyMDBiNDY3YmM4ZTlmODU4YmRkY2IgcmVsZWFzZTIyLWJyYW5jaAorMjQ4ODQgMzQ5ZDY2Y2Q4NzRjMzM1ZGM0NjU2MDk0YmQzYmM0NzZmMWFiOTUyZCBsZWdhY3ktdHJ1bmsKKzI0ODg1IDdjMjhlOTU2ZjliMGJhZDZiYzZhMTQ5ZTNlZWVjYmUwMWYyN2VjMDYgbGVnYWN5LXRydW5rCisyNDg4NiBhYzNjZTFmYWVjNjhlYTNjNzExNGExY2YwZGU0Y2ZjMjY2MGY3YTM0IGxlZ2FjeS10cnVuaworMjQ4ODcgNDIzMmQyNTdlNGZmMjJlYjg3ZjdiMzM1MDE4NzQ3YTlkNzZiMzBhNyByZWxlYXNlMjEtbWFpbnQKKzI0ODg4IDQxZmY0Nzc3OTI2ZWI1MTkxOTlhNWRiOTcxZWU1NWQ5ZWFjZGZjYTUgcmVsZWFzZTIxLW1haW50CisyNDg4OSAxMzM5YjZkMzJlOTUzZGI4YjhiNmI0MDY3Njg3OTk0NzgyMjM0NGRlIHJlbGVhc2UyMS1tYWludAorMjQ4OTAgZTY5YjIxZjI1MjllZTZjNDU5YWEyZmI3MjY4ZmU5NDgzZmEzNTVkYSByZWxlYXNlMjEtbWFpbnQKKzI0ODkxIDRhMmMzYWUwOWUwYzRlZmRlYTJhNTYzY2M4MzcwNmNiMWUzZGRjMDIgcmVsZWFzZTIxLW1haW50CisyNDg5MiAyYTc4NWI2NjhhMTYwOTI1NGVkYzdmNjBiM2Q2ODYzZmIwYTcyY2RlIHJlbGVhc2UyMS1tYWludAorMjQ4OTMgMDA2YzU1YmRmN2UxNTZmYzJlNTc1NmVkZGM0MGY1MjdlZjY5OTJiYSByZWxlYXNlMjEtbWFpbnQKKzI0ODk0IGM0OGQ4YjM2MmFjZWUxY2RlMmIwNzQwNmJhYzEzYzA4ZDQyNmJjNDkgbGVnYWN5LXRydW5rCisyNDg5NSBjYTI3ZDgyYWM4OWI0NmUzZDNlOWVhM2UwN2EzMzQ4OTJjOWQ3NzA4IGxlZ2FjeS10cnVuaworMjQ4OTYgZThjYjIzNmFhZDI3OTYyNmZhYWY3ZWJhNmM0Zjg2YjU4MTUzYzYxYiBsZWdhY3ktdHJ1bmsKKzI0ODk3IDdiZGU5Y2E5MDU1NDkzNGUxMmVkYTZkNGQ2ZDkxYmNkYTQ4ZGU3MTkgbGVnYWN5LXRydW5rCisyNDg5OCAwYWY5YWM4N2ZmYmMxZDllMzI1NjZmODIxNTMxMTE2NTAxYTBiZThmIGxlZ2FjeS10cnVuaworMjQ4OTkgYmY1MTkzMjFlNzk2N2UyZDIwNmMxOTBiODJjYjc4MDE1ZGFkYzdiNCBsZWdhY3ktdHJ1bmsKKzI0OTAwIDVkNDEzNTYwOWVmYzFhODQwODNkZmViMWYxY2ZkNTIxOTlmMGNhOWQgbGVnYWN5LXRydW5rCisyNDkwMSA5YzMyZTkyMDBhYmVlOTFlMjE3MDkyNzI3NWM5MWNkYzBhNDM3NjhjIHJlbGVhc2UyMS1tYWludAorMjQ5MDIgNWYzMjEzNjU1ZDk1NWY0MTdiNTEwMWI4N2M0YWQzNTU4NmY2ODIxYyByZWxlYXNlMjEtbWFpbnQKKzI0OTAzIDExNGE2YmNmZTg2YmI4NGYxZmNhNjdiY2VjNTFiMWExYzAyOGZiOGEgbGVnYWN5LXRydW5rCisyNDkwNCBmNzIyNDRjZjg1YTliNzYyMmI0N2JhZDZkNzRlYjA4ZDY5YTZlMTZkIGxlZ2FjeS10cnVuaworMjQ5MDUgYWQxMjZjMDYzNjU0OGQzNWJlNDc1YTExZDYxNmNlNmU3N2JjYjYzMyByZWxlYXNlMjItYnJhbmNoCisyNDkwNiBhNjBmY2RjNzUzNDZiM2UzNjhhNDQ4NDA5OWZlMWU1N2JjN2E3MzQ0IHJlbGVhc2UyMi1icmFuY2gKKzI0OTA4IGQ1OTg2OGJhZmViMTBiMmNlZDhjMmFiMjZiZDQ2MzhiMDY2ODllOTAgcmVsZWFzZTIxLW1haW50CisyNDkwOSA1OGE4MmE0YmU4YjE3M2U1MmU5ZmNjZTFmZWUzM2I2ZmRjNWEzYjAwIGxlZ2FjeS10cnVuaworMjQ5MTAgNjg4NDJkMjk1ZDJjY2NkZjg2YjkwY2NiOWMxYzg0NjQ1NTZhNzE1OCBsZWdhY3ktdHJ1bmsKKzI0OTExIDgyY2IxNzQ5OGZjMWZiN2RlYjczYjJmM2I5OTI2MzhkYzU0ODM0NmIgbGVnYWN5LXRydW5rCisyNDkxMiAzYjM5YmEyYjgwMGVkZDdkOWEyNDU0N2YwNWYzMGQ1OWYzODNmYzZjIGxlZ2FjeS10cnVuaworMjQ5MTMgMTg5NDc5NmU5MzBjMTQ1NzRiZDMzNGRiZGU1Mjg2ZTUxODU0ZTk4OSBsZWdhY3ktdHJ1bmsKKzI0OTE0IDQ1NTQwNzJlNzZiNGYwOWFiNmZlYzk5M2I4Y2U5MDgwNGVhMWEyNDEgbGVnYWN5LXRydW5rCisyNDkxNSBiMmU3OWNhYTY4ZTBiMWM5YmM4NWNlMzlkY2IzM2JhMTFhYjRmMmMxIGxlZ2FjeS10cnVuaworMjQ5MTYgZTZhN2FkNmMzNjUyZGEzYTM4ZDRiZmEyNjU5N2M4ZGI1ZmNkMDc3NiByZWxlYXNlMjEtbWFpbnQKKzI0OTE3IDU4Yjc3ZWY0NzJkNGMyYTMzMjBmNjVjNDk4Yjc2ZTc0YjBhOGRiMDkgbGVnYWN5LXRydW5rCisyNDkxOCA1MjA1M2FmY2FkMzI1YzYzODY3YTljNTZlMDgxNTBiY2NjOTk4NjEzIHJlbGVhc2UyMS1tYWludAorMjQ5MTkgMWVjMzRhMGQwMmE3N2NlNDNhYjI5YmVkYjU1M2Q4OGVjYThhOTM1NSByZWxlYXNlMjEtbWFpbnQKKzI0OTIwIDQzYjY0MjQ1ZjFhYTdiOWUxM2M3N2U3OTY5Y2E5OTk3ODliOWQxZmYgcmVsZWFzZTIxLW1haW50CisyNDkyMSBhYjkyZWFhMTQwZWY5NGU3NWNkMmY2MzliOTVlNGY2ZWVhZDZiYWU5IGxlZ2FjeS10cnVuaworMjQ5MjIgODQ3NDI1ZDViY2E4MDc5MzliNzZkOTE4NjkxMDgxZjY4NDM3YjNlOSBsZWdhY3ktdHJ1bmsKKzI0OTIzIGY4NDc1MTM1YWMxMzQzNmYwNjJjMzVlZTE5ZjhjNmM3Yzg4ZjI1ZTggbGVnYWN5LXRydW5rCisyNDkyNCBmY2I2NDliMTAwNGRlMzdlOThkMWYyNzdkNGZiMTdhMzgwNDFkYWJjIHJlbGVhc2UyMi1tYWludAorMjQ5MjUgNWQ3NzgyNWJiYzEwNjU4ZjIxMTUxMzM1NWU4N2JhY2ZiYWRmMGY5OSByZWxlYXNlMjItbWFpbnQKKzI0OTI2IDllMDIzM2MwZTAwM2M5MThjNzUyNDM5OGQwZjAyMDg2NjdiMTBmYjcgcmVsZWFzZTIyLW1haW50CisyNDkyNyBhYzhkODVkYTZkMGRiYmU0ODczN2MwZTEwNzFlNWMyZmM2Zjc4MjhkIHJlbGVhc2UyMi1tYWludAorMjQ5MjggZTIwNDdhZjBiMmU2ZTZmZDJiNTI1ZWMxOTBhZDE2ZDI0ZDVmNjVlMyByZWxlYXNlMjItbWFpbnQKKzI0OTI5IDEyZTBkNThlNDRiZGJhMTRjYTQ2NmEzZDc3ZDQzOGEyNmU0NWVhMGUgcmVsZWFzZTIyLW1haW50CisyNDkzMCAxOGRiOTFjMGE3OGYxY2U3ZjIwYjQyODI3ZWExMmQ4NTc0MWM1NzM2IHJlbGVhc2UyMi1tYWludAorMjQ5MzEgZWZkMDRkMWYzMDg1ZTFmYTYxNDJkZjIyMzgyZDZjMjFlYzZhN2M1MCByZWxlYXNlMjItbWFpbnQKKzI0OTMyIGNkNzdhYTExZWRkYzE5ZjZjOGEzZjVmMjUxZjJjYTVmZDlmZWM2OWMgcmVsZWFzZTIyLW1haW50CisyNDkzMyA4MTJkMTU0M2JhMDg5YWExMDNmNDY1NmIzYjg5ZjdlODEyZmI1M2IzIHJlbGVhc2UyMi1tYWludAorMjQ5MzQgZDA4OWQxZTg0MTFjY2M0MzQ5YjUxYzUzNDVjZDk3OTgyMTJhNGJmZSByZWxlYXNlMjItbWFpbnQKKzI0OTM1IGY3Nzc1OGM4NzJmYjUxMWY2M2IwMDFiZGEwYzcxYTIwOGY3ZTllYTYgcmVsZWFzZTIyLW1haW50CisyNDkzNiA4ZDUxYzc1Mzk3MTliMTljNTQxNWI4NjI1ZDgxZjY5MjNjZDRlNTQ2IHJlbGVhc2UyMi1tYWludAorMjQ5MzcgOWNjZWFkNWZkMjk3MTE3OGE2ZDE2NGI3OGU2MGQ1MWVkYTc1OWZmZiByZWxlYXNlMjItbWFpbnQKKzI0OTM4IDM5NzdhZDNiMDgyNTdkNTBhNjQ3YWI4NjYyZDhhZTQ4OThhMDU2NzQgcmVsZWFzZTIyLW1haW50CisyNDkzOSBiOTM3MWYzMjQxYjg1MDA3ZTJiOGE1ZjZkNTA1NWZiOWJlMjgxYWEwIHJlbGVhc2UyMi1tYWludAorMjQ5NDAgYWM0YjFjNGMzYjEyZjI4NGRmMzcxYTBmZWM3ZmQ0ZmJlNDBhMDg3NyByZWxlYXNlMjItbWFpbnQKKzI0OTQxIDdiMmQ3MDFlYzQwNGQ3MzlhODgwNjYyYzIyZWEzMDE2ODY3NzI3NDIgcmVsZWFzZTIyLW1haW50CisyNDk0MiBhOTRlNDgyMTM5OGRhMjljNTgyMDE3ZDkwMjNkMWNiM2U5MTczNTdkIHJlbGVhc2UyMi1tYWludAorMjQ5NDMgYTJlYWI0ZGU1NTA1Mzk5YjIwMTQ1NzNhYjk4Y2NmMGZmYjE2NWFhNiBsZWdhY3ktdHJ1bmsKKzI0OTQ0IGVjNjIzMDQ3MDczYTJiZTQxNzI4NDQ5OTVmYzBjZDVkZDY0YzRjZjggbGVnYWN5LXRydW5rCisyNDk0NSAxNmE4MjQyM2I4NjAyMDQ1N2E0ZjRlODE5YzgwNGI0YmZmMjI3ZTljIGxlZ2FjeS10cnVuaworMjQ5NDYgZmRjMzllMjdhNDk0ZThiNmE3NGIyZTUwMzcyMTcxNmNjOThhMjhlZCBsZWdhY3ktdHJ1bmsKKzI0OTQ3IDI5YzFhNThkZGE1M2ZhZjM1OTllY2U2ZjhhMWFkOTQ0MjI1MzAzNWMgcmVsZWFzZTIyLW1haW50CisyNDk0OCAwOTdhZTBhZGY0N2ZiYzQxNmNjZGZkNDAwYWVhNzkxMTM4MTc0NzBjIGxlZ2FjeS10cnVuaworMjQ5NDkgNmU5YTRmOWE1NWE0MWIzNGE2ZjljNmYzYjNkYjg3YzE1YTU0N2Y2OSBsZWdhY3ktdHJ1bmsKKzI0OTUwIGQwNGViOGQ2NjRlMmRmMzBjNmZiZTA0YWRlZTBkY2UzZWRmY2Y4MjkgbGVnYWN5LXRydW5rCisyNDk1MSA5MmRhNzRjOGU1ZThjMDJiN2Q3YTE5NTU3OTBjZWE1ZmM1ODM0MzkwIGxlZ2FjeS10cnVuaworMjQ5NTIgNWI3YjM4NmNiMGQ0NTM1NzZhN2I4NTE5NjhiOGQxZmI3OTE3NGNmZiBsZWdhY3ktdHJ1bmsKKzI0OTUzIDdkZDM5NTk4ODI3NTgxY2IxNWNmNmY2ZTlmYjc2ZjQ3ZWJlN2I2ZWUgbGVnYWN5LXRydW5rCisyNDk1NCBmZjcwZTU2MzRhZTkxMjdhNzkxZmIxYjM3ZWJlZGE5NDYyZjc2MjBiIGxlZ2FjeS10cnVuaworMjQ5NTUgMThhNzBhODJhZjE1OTc4ODYxNDYyZjdiOTZmZWRiYjY5NDU5ZDk4YyBsZWdhY3ktdHJ1bmsKKzI0OTU2IGU1NjA0N2RiNjUzODQ3MjM1MzIyYjQ1MDIwMjIyY2EzYjM0YTNlODAgbGVnYWN5LXRydW5rCisyNDk1NyA1ZmY4YmIyNTAzMWM4MjMwOGM4MWExYTE5YWZiMmJlODJhZDZhMmZlIGxlZ2FjeS10cnVuaworMjQ5NTggODU3ODM1NWQyM2QzNDk1YTA0YTMwOGM3OWM1OTJlMDA1MjNlYzY5MiBsZWdhY3ktdHJ1bmsKKzI0OTU5IGNhYzkzMWFkM2NjNWE2NzJkMGUyNjYzNTkxNmJkZDkwMDFlZjYwYjQgbGVnYWN5LXRydW5rCisyNDk2MCA2OTcwNTFmNjdlOTc2YTUwM2E2ODM2MTJmOGZiODA3Nzg4OGM1ZmYzIGxlZ2FjeS10cnVuaworMjQ5NjEgZmU1NGU4ZDkzY2I0OGMyMGQxZjg1MDA2ZTA3MTQ3NGZiYTViOWJmMiBsZWdhY3ktdHJ1bmsKKzI0OTYyIDUyYjNiODQ2ZjExZjU0ZGNiNWQ2N2EwMzYyZmMyMmYwMDczMGEyNjAgbGVnYWN5LXRydW5rCisyNDk2MyBhNTBkZjY1YWNhN2E5YjgxNTAwNGNjY2JjNDNhNjkzMTFhNTQ3NWU0IGxlZ2FjeS10cnVuaworMjQ5NjQgMmY0MDczMjY5ZGFmZDMzODdiYTE4MWFhZGY5OWQzYmQyZTBmZjc4YiBsZWdhY3ktdHJ1bmsKKzI0OTY1IDY0ZDBjOTQ5ZjMzZTJmZWJkYTdiYzFlNDYzZmE4ZDY3NjQwYjU2MzggbGVnYWN5LXRydW5rCisyNDk2NiAwMzVkOWM5NmFhZWNmYzg4NDBkNTgyNDQwYjVmMWQ3YmNiNzM2MzY5IGxlZ2FjeS10cnVuaworMjQ5NjcgNjdkYTExMjkzNDA2Y2Q0Zjc0NGZjMzE4Njc3NTI1NTAzMDU4MjI2NiBsZWdhY3ktdHJ1bmsKKzI0OTY4IGJlMjEzZjFjZDQ2MmUxYjU4YWFmY2FmMWQyNDAyZWZiNDdmZmIwODUgbGVnYWN5LXRydW5rCisyNDk2OSBmYjM0ZjU1YTAzZmFiZjQwMjE3ZjIxNzRkZWExYzIzMzA0OTA3YjYzIGxlZ2FjeS10cnVuaworMjQ5NzAgM2JhMGYxYjIwMzIwYzk3NGZiMGJjMDk1YzQxMWIzOTgxMjNiMjIxMyBsZWdhY3ktdHJ1bmsKKzI0OTcxIGE5ZTA2ZmZhZjdmYmU5ZDhjNzlhOTg4ZTY4NGU2ODE0YmZhYmRkNzYgbGVnYWN5LXRydW5rCisyNDk3MiA5MzdjYzEwY2QzOWRmMDE3N2MxZTJjZjk3MTg3ODgxZWI1YTBhZWYzIGxlZ2FjeS10cnVuaworMjQ5NzMgZGE4Yjk5NzQ2OWU3ZGMwZmI1ODE4MWIxNWE3M2MzNjY4M2M0NGNmNSBsZWdhY3ktdHJ1bmsKKzI0OTc0IDhkZmJmYmM5MzFiNGE2N2I4OTFmNDIxZDg4NGZiOWM1OGFjMTc3MjAgbGVnYWN5LXRydW5rCisyNDk3NSAwOTVjZmYyMTk1NmNiZjkxNGU1NzFlOWViZTJlMjBmNGQ1NmEyMTE2IGxlZ2FjeS10cnVuaworMjQ5NzYgZWE4NWVlYTZiMmI5NDlmZGE2MmI1NjUwYWJjOTU2ZGI0NTE1NzBhZCBsZWdhY3ktdHJ1bmsKKzI0OTc3IDNiNDNmNDBhZjI3YTk4NGExYTY2MDkxMGZkMzAwMGZjNjdiZmIwY2EgbGVnYWN5LXRydW5rCisyNDk3OCBjY2VhODc4MmI4NDcyMzFlMGNlODRjYzNhYjc4NGQ0YzJiYjgxMWQ1IGxlZ2FjeS10cnVuaworMjQ5NzkgM2M4YTllZjNiOTU0Mzk2MmViN2RiMGI4NWMyNGU0MTE2YTBkOTU3MSBsZWdhY3ktdHJ1bmsKKzI0OTgwIDVkMDA5ZTVlMTNmNzk5ZWVkODU0NDgwYzBiY2Q5ZmQ4NjVlODVmMTEgbGVnYWN5LXRydW5rCisyNDk4MSA3MjQ2ZmU1ZTVhMjgyN2UyZDRlOTkwYjhjNmE5MGUxODViZTA0NzMwIGxlZ2FjeS10cnVuaworMjQ5ODIgZDU5NGE1OGI0NDZkNWYzY2U0YmJlY2RkZjE4ZWYxZDAwMWQ4ZThkZCBsZWdhY3ktdHJ1bmsKKzI0OTgzIDE0OTFmMTEzN2UwZWE1NzBlNThhYjQ5YzIxODcwNGM0MTVhZjM3ZDkgbGVnYWN5LXRydW5rCisyNDk4NCBiZTg2OTdjNzBlN2MyZTU1NDQ5YTU2MjEzYjliYjEwOTkyYjU0MGIyIGxlZ2FjeS10cnVuaworMjQ5ODUgYTMzYmI3MzI0NjgzOWRiOGNkOTNjNDcxMDY0ZTdiY2IzNDYyMjA0NyBsZWdhY3ktdHJ1bmsKKzI0OTg2IDc1ODMzOWRiZGFlYTc4MmQ1ZmUwMTU4ODMxMTcwMDYyOTRjNDUxMDQgbGVnYWN5LXRydW5rCisyNDk4NyBkZTFlYmNlZjdkMzEwN2U0YjMwODIyZjkyZGVhNTM3NzMxNzA1YTAyIGxlZ2FjeS10cnVuaworMjQ5ODggMDUxZjNiNjVkZGFiODQ5NWJjZjFiMDY2NjgyY2EyNGVjNDhkNTYzOSBsZWdhY3ktdHJ1bmsKKzI0OTg5IDZkNDI4OGU4OTE4YjI2NzRiODdjZjQzOGIyZDM3MTc3MGUxYjU3YjYgcmVsZWFzZTIyLW1haW50CisyNDk5MCBkY2NjYjljZWEwNTkzMWEyNTQyNDcyY2Q1NDljNTY4ZmM5YjIwNGJkIHJlbGVhc2UyMi1tYWludAorMjQ5OTEgZGZjOTcwNDA5ZjdlZDAyMzQxZjdlMjJiNjcwZmZjNTI2Zjc2MzM2YiBsZWdhY3ktdHJ1bmsKKzI0OTkyIDY2ZTAwODBjNmRjYzkwMWIwYjg0Y2M4ODAzYjRhN2E4ODc0MjRhOGEgbGVnYWN5LXRydW5rCisyNDk5MyA1ODYxODg1NTc3ZTk5NzA1MWEyOTIzNTU3ZDgwMWIyZTU4NDE1NDJhIGxlZ2FjeS10cnVuaworMjQ5OTQgNmY2ZjBlMTAzNTY2ZGM5Yzk1MWY2ZjMyOTkwNmZjYmI2MjRjNjA2YyBsZWdhY3ktdHJ1bmsKKzI0OTk1IDYzYTJmYWMyMTA0YzlhN2EyZGM1MTBiM2ZlNGFiNjI1ZDFkYjVlMzIgbGVnYWN5LXRydW5rCisyNDk5NiA2YWU4NWQ4Mzg0NjZhMjU3Y2Y1M2MzZTYxZjAzYTdkOThiYzBjNjE3IGxlZ2FjeS10cnVuaworMjQ5OTcgOWM3ZGEyNzJjOWI5NGU4ODE2MjdjN2I4YTYwZmVhMWVmZDNiZjRhOSByZWxlYXNlMjEtbWFpbnQKKzI0OTk4IGNkMDdlODQyMzVlNmRiMDM1M2UxYWNmYzAzOWZkODY3MDFiYWY3MzIgcmVsZWFzZTIyLW1haW50CisyNDk5OSAyYjc0NjU0M2FiM2Q3MjhkZTQ3NjgzZTJhNDE4ZjdkNTU5ZTY1N2NhIGxlZ2FjeS10cnVuaworMjUwMDAgNjIyMTllZDIxNTk5YmNlNGQ5MzBiZGI1MWRiZjgyYzk4Yzc5N2M1ZSBsZWdhY3ktdHJ1bmsKKzI1MDAxIDg1MWU0YmYzMDM1OGVmOGQwM2UwNDZjZDA5M2MxN2QzMzZlZTRlMWEgcmVsZWFzZTIyLW1haW50CisyNTAwMiBiNzJkYTA3ODBlN2E1OTJhMmU1YzQwOWViZmFmMmMzNWRmYTYyOGUyIGxlZ2FjeS10cnVuaworMjUwMDMgM2E0YTM0ZmRmYTgxYTA5NmJjYThiMWRkNjhhYmFhMjFhNTk2Zjc0MyByZWxlYXNlMjItbWFpbnQKKzI1MDA0IDM1ZTNmMjQxOGIyZGE5ZjZmMjk4YzZjNDE0MTI2ZmFlYjRkMzI4ZDkgcmVsZWFzZTIxLW1haW50CisyNTAwNSAzYzBiZDJmMzdhNzg4YTFmZjA0YmY5ZDQ1MTdkOTJhZTVhYTU3NmMzIGxlZ2FjeS10cnVuaworMjUwMDYgYTNhNjJlNDQwZjJhNjkyZDBmZjc1MzgwYjMxMDk0YThkM2U4NDIwZCByZWxlYXNlMjItbWFpbnQKKzI1MDA3IDdlMmEzYTJiYWMzM2ZjOTg4ZmU2MTQ2NmJjZjIxMjNmYjllZWRjNWIgbGVnYWN5LXRydW5rCisyNTAwOCBhNWJlMDc2NWM1NzEzNjExOWY1NGU0YWUyNThkZTg0NTNlYjg0ZjFjIHJlbGVhc2UyMi1tYWludAorMjUwMDkgOTkxMmE5NmMxZmIzOTRmMGMxMTc3MGNmNzBlNmFhZWM1Mzc2MmE1NSBsZWdhY3ktdHJ1bmsKKzI1MDEwIDE5NTkxN2I3YTYwMjQyZmI0ZDA2ZWYxMzA2NWIwZDc3YzE3NmQ1NTYgbGVnYWN5LXRydW5rCisyNTAxMSBlYjA1MTlhNDY3YWJhMjRmZDA3M2Q4ZGZhYTU2YzFmMjU2ODY0ZmNmIHJlbGVhc2UyMi1tYWludAorMjUwMTIgZWM0OGY5NmM5Mjk1ZGRlMDgwZWYyN2VmNDlmNTRiMWNiMzk0MGFmNCBsZWdhY3ktdHJ1bmsKKzI1MDEzIGMzYzZkZTE0NTMwOTk2YTY2YmFjYTI3Njg5N2JjN2FmYzJmZTdjMzQgcmVsZWFzZTIyLW1haW50CisyNTAxNCA2ODgzNGE2OTc0NmE4NWY3Y2JiYzBkM2VmMzg1YjFmMzI4MjEyYjI1IGxlZ2FjeS10cnVuaworMjUwMTUgMjliM2RjOTBiZTk1Y2I0OGFhNWU1YmI4ZDk2Yzk1YjQ1MTBiNmRjMCBsZWdhY3ktdHJ1bmsKKzI1MDE2IDlhMjY4Mjk4MjZlOTc5MmI4MTc0ZjM3YjNmMTlkNzljOTEwNDFhZmEgbGVnYWN5LXRydW5rCisyNTAxNyA2YjBlMTZjYjY1ZDU5MjllZGM4ZGY3NzgxMjdmNjI0ZWVhOWRmYjNkIGxlZ2FjeS10cnVuaworMjUwMTggMzRlZGRjYTFmZGE3OWE1NTQwYzI3OWU0N2UwY2I2MGY3YTdjMWZlZCBsZWdhY3ktdHJ1bmsKKzI1MDE5IDdjNTgyZDFiOWNmODFlMWE0YWJiMzZmMWJhNDE1MDgxNmE4NGEyNzcgbGVnYWN5LXRydW5rCisyNTAyMCAyMmRhZDlmZTA5Y2ExM2RjZjk5YWQxMWUyOThmMDMxNmMyNzA5ZDE1IHJlbGVhc2UyMS1tYWludAorMjUwMjEgMzYyOTE1YjM4NzI0NDRjYzk5NDA3ODMwMjU3OTk2YzZjOGZmZjY5YiBsZWdhY3ktdHJ1bmsKKzI1MDIyIDlkZTM1MGE2NTQyZWRmMWE4NzE5MzQ3NGIzZTY0YjJmY2FjMzY3MjkgbGVnYWN5LXRydW5rCisyNTAyMyBiNTY4NDNjMTUyNDliMzk4OWVlNDU2ZDMxODM4Yjk0NGU2ZmM0MTkxIHJlbGVhc2UyMi1tYWludAorMjUwMjQgYTkxMTkzNDEyNmZkODY2ZGMxMGZjOWE1MGYxZjE1MDJiMjM2NzdlNCByZWxlYXNlMjEtbWFpbnQKKzI1MDI1IDcyNDhjMzc1MTNmMzc1ZGQzMDMwNTZiOGQ5NTI1MTY0Y2VlZGQ1YzYgbGVnYWN5LXRydW5rCisyNTAyNiA4MjM5MTI5ZTc1ZDBhMGFhNTI1YzIyN2Y5NWYwYjU5ZGE2YzRhYWY2IGxlZ2FjeS10cnVuaworMjUwMjcgNzJiYjcwZTk2NDBlNDgwNGIxMjZjYmQ3NTFlNGQ1OTQ5MGRkNWU2NiBsZWdhY3ktdHJ1bmsKKzI1MDI4IDBkM2JiNjhlM2EyOGEzMmUxMjYwNmFlZjRlM2RiNTNjNmY4ZGFlODggbGVnYWN5LXRydW5rCisyNTAyOSA1NDRlMjYyMDYxYTM2MmNjZDIwNTgxY2YxZTcyMTkwYjIyZTU1YWI3IGxlZ2FjeS10cnVuaworMjUwMzAgNjQ2ZjhjMDg4ZjVkODQ3ZWI4NzBkZmFjOThmZTk5NGQ3ZDljMTk5YSBsZWdhY3ktdHJ1bmsKKzI1MDMxIDg5NzBlNzQ2NjgxMTMzYTg0MmE1YTA5N2EwOGM0ZTI0YzViMmJlNzggbGVnYWN5LXRydW5rCisyNTAzMiBmZmFiYWM1MDk3M2RmYzYxOTM5NGQwYThjNjNlYWVlNmI1Y2FkNmEzIHJlbGVhc2UyMS1tYWludAorMjUwMzMgYTFjMzI4MzM3YzhlODQ4ODYyMjA3YzBiNWFmZTNjMjIxZjBmMDFmMiByZWxlYXNlMjEtbWFpbnQKKzI1MDM0IDg4YzQ2M2Y4NzllZjI3NTViYjMxNGI1MmU0MDM1M2I5YzU3MGE1MDAgcmVsZWFzZTIxLW1haW50CisyNTAzNSAwNjhlODczZjA5MzJhYWJhYjM3ODQ2ZGQzODNlNGMyNjU4MDMxMjRjIHJlbGVhc2UyMS1tYWludAorMjUwMzYgMDhhM2FhOTUxMmU5ODJiMjBhYjg0MGNjNmRiNDhhMDMxNWY0NTRlMCByZWxlYXNlMjEtbWFpbnQKKzI1MDM3IDI5OTk2OGMyNzliOTgwZDczMTA2ZDFjOTIxOGY1NGNiNzkwMmEwODQgcmVsZWFzZTIxLW1haW50CisyNTAzOCAzYTU1MTUwNTBiNDM2YmM1MjNmNjkzYzE3MTUxNmM4YWRkY2ZjNjdlIHJlbGVhc2UyMS1tYWludAorMjUwMzkgYTFkNmNkOTdlMzE5NjNjZTJlZjZhYjkzMTIwYTcwMGUyNjhmODJjNCByZWxlYXNlMjEtbWFpbnQKKzI1MDQwIGVkYzM1MzJmYjJiOGZkMGZmZDYxMDYxOWU0ODZmZGFhMGMwYTgzYTQgcmVsZWFzZTIxLW1haW50CisyNTA0MSBjNGZlOTVmZWEzZTZmZmFmZjAyZDJjOWM3OWYyYjdiMWM4OGJlZjQzIGxlZ2FjeS10cnVuaworMjUwNDIgZDA1ZWJiZDk2NWEzNzEyNWY3NDcxNTg0NmY4NjZlYjliOGYwM2NjMSByZWxlYXNlMjItbWFpbnQKKzI1MDQzIDExNmUzMjE4YTdjYTYwN2E4ZTI3N2M3NzFhZTA0ZWFiZjg0M2UzY2UgcmVsZWFzZTIxLW1haW50CisyNTA0NCA4YjI0NTI5N2MxNjZlNmNjMjU2Y2MyZjAzZTM4ZGNhODgyMTA4NmMzIHJlbGVhc2UyMS1tYWludAorMjUwNDUgNTkxNWQ0NWI4MDk4NDE2Zjk4ZTFmYjcyNDkwNDM1OTIxYjlkMTUxZSByZWxlYXNlMjEtbWFpbnQKKzI1MDQ2IGE0OWE2NWE5NWUzNWNkMzY5Y2M4ZTZhM2RmYTI5MGZlMTFkMjUzYmUgcmVsZWFzZTIxLW1haW50CisyNTA0NyAxZWRmNWVkMWFmMDgxYTAyNTVkMGU4MWY1YjkzY2E4ODAzOTIyNjFjIHJlbGVhc2UyMS1tYWludAorMjUwNDcgZjc2YTQyNWIxNGU0ZWU4YWRlNWU5MjM5NTk4NTM4NTM0YjNhOTBhNCByZWxlYXNlMjEtbWFpbnQKKzI1MDQ5IDNlNzhiZjBlMmJlOGQyZGRmMTkyNmJkZGMzYzIzODQ1ZmZiYmNmMTEgbGVnYWN5LXRydW5rCisyNTA1MCBkYjJjMTI4MTI1ZjQ1NjlhYjliZGRiZjBhYmE4YWQ4ZjJiYjljNTZmIHJlbGVhc2UyMS1tYWludAorMjUwNTEgMTBkMWQ3ZDYzNWQ0MjJlZjc0YTRkNjNiZTk1OTI3MjE3NWMzZTFhYiByZWxlYXNlMjEtbWFpbnQKKzI1MDUyIDJmMzY0ODYwMGU2MDFmZGQ5OTU5YzdhNDUzOWI2NGZlY2E2OGEwODUgcmVsZWFzZTIxLW1haW50CisyNTA1MyA3ZmUzZTYxYWJjZTNlYTgyYzJkM2I0OWFhZjI2ZTFhYTE4NWY4YTkwIHJlbGVhc2UyMS1tYWludAorMjUwNTQgNWM2MmVmYmNlNGZhMDYxZGRkYzg4NjE5M2MyZTY2Njk1NzgyYjEwZSByZWxlYXNlMjEtbWFpbnQKKzI1MDU1IGQ3NGRjNDA2NjQxNjg5MjQ5MDI3ZWM3YWFjNzNjMjIwZTE0OGUxYzQgcmVsZWFzZTIxLW1haW50CisyNTA1NiBhZWRkODUxODc0OTY0ODdlYjkxYzc0YjFhMTcyNGIyNTQwZDA2MmI5IHJlbGVhc2UyMS1tYWludAorMjUwNTcgY2UzNWU1NzBmZmEyMWViZGIwNzQ3YzZjNDlmYjEzOWRhNzYxNzQ3NSByZWxlYXNlMjEtbWFpbnQKKzI1MDU4IGEwYjM1MmU3Njg2MmRmMGM4OTk1YmRiOWU1NzVlODBhMjdlZDMxZjggcmVsZWFzZTIxLW1haW50CisyNTA1OSBlYTE3NTVkNzNlOTIxYWM5MGE2MDNmYzJlMmY2Yzc4MDgzYmEzNTk5IHJlbGVhc2UyMS1tYWludAorMjUwNjAgMmUyMjg0NjFhMzkxYjE4ZDc5NjVjNTkzYzRjOWM2YTgyYTQzZjQxYyByZWxlYXNlMjEtbWFpbnQKKzI1MDYxIDMyYzFjMGFmY2Y5OGRjNGM3ZDc4NTY0MWI2YTBmMWNjODc3YjFkYTUgcmVsZWFzZTIxLW1haW50CisyNTA2MiAzYjU0YzQ0NTI0ZWI2MjQzNDM5NjYzMzlhNTdlZjI1N2JiN2FkNjU4IHJlbGVhc2UyMS1tYWludAorMjUwNjMgNDhlY2Q2MDYxZTg4ZDBkYmU5MDJjZTY3M2M3MTQzZDkxYjUzNDUzZSBsZWdhY3ktdHJ1bmsKKzI1MDY0IDQwMjczNjFlNzk1NmEyMWVmZjlmMDRiMTA4MDg0NTQ4ZjE4NjU0MzYgcmVsZWFzZTIyLW1haW50CisyNTA2NSA3NTMxY2M1OTJlNDYzYTFmODQwZWRkNTc2NDhhMGUzYTY3OGUyOWRmIGxlZ2FjeS10cnVuaworMjUwNjYgNGE1YTAxMGM4ZjQ0NDI5OTc5NmFkZTVkZTA1ZGJhNzI5ODRiNzI2NSByZWxlYXNlMjEtbWFpbnQKKzI1MDY3IGFhODNmZTZlOWM0ZjVkZGM0ZmU0MWI3M2ExMThhY2U0NmE1NDkyZDQgbGVnYWN5LXRydW5rCisyNTA2OCAzYjczMzI1YjMyZTU5NDNmYjQxN2Q1Njg2NjFkYTg3N2Q0MWRiZjliIGxlZ2FjeS10cnVuaworMjUwNjkgYTZhMzFjNTVhMTZkMDUwMDg4ZDM3Yzc1NTRhYmFhYzY5MzM4Y2I4ZiBsZWdhY3ktdHJ1bmsKKzI1MDcwIDg2NjYxNWYwYWUyYTcyNThkNmIwNDUxZmVmZDRjYjgxYTk3ZGZmNGUgbGVnYWN5LXRydW5rCisyNTA3MSAzYmU0MGQzYWZmOTQ1ZjZhOTAzOGEzNmY2M2FkY2JhMzgxNmJlM2Q2IGxlZ2FjeS10cnVuaworMjUwNzIgNDM3MzkzZTc4MGNiZmYzZDMyZWE5NDQwMjQxYzQwYThlYzQ3ZjA3MiBsZWdhY3ktdHJ1bmsKKzI1MDczIGM2NGZjNTZmNjA3MjVmODkyODI4MWZjZDI0ZmZhMGI5OWMwY2NmMjggbGVnYWN5LXRydW5rCisyNTA3NCBlMjIzMzk3YjI2ZmE1YTI2NWZkZjM0OTJmZmFjY2VmODBjZWE0MTUyIHJlbGVhc2UyMi1tYWludAorMjUwNzUgNjMwMjkzYmUxMDM1NmUxYjA2MjczNTZhNGU3NjIzNjk3NmNkMmZhZSBsZWdhY3ktdHJ1bmsKKzI1MDc2IDRjNmMxM2FhOGE5OTc1MjlmNzA2MjhjNWZmNmJjYTc1NTAxZmQ2NTQgbGVnYWN5LXRydW5rCisyNTA3NyA0ZWFlNjZiZTFkMjkxYmEyNzQ1OWFiNjE4NzZkMjhhYmM5YTM5NDk1IGxlZ2FjeS10cnVuaworMjUwNzggMWQ5MTgyMDEyOGExYzk5Y2EwODQ0OGUxOTY4OTIwMDY2ZDAzMzdhNiBsZWdhY3ktdHJ1bmsKKzI1MDc5IDgxYTgzYTY1MjQ2ZDMwMDZjOTY3YTRjNTI0N2NkZGU3OGUzOGY1MzggbGVnYWN5LXRydW5rCisyNTA4MCBlYzZiNjdkMjgwM2QyZmEyMmRjMWMyZTVmOGI3MzQwNDMwMTcyY2Y5IGxlZ2FjeS10cnVuaworMjUwODEgZTk5MTk4MjM0ZDk2ZDI0ZDU0YjQ5MzBjZjkwNzExYjM4Y2NkYTRkYyBsZWdhY3ktdHJ1bmsKKzI1MDgyIDI1ZTQ0YTAxMjVlNDU3YzZhZjY2ZDc0NTQ2ZjViNjZlNDdmZTY0YTQgcmVsZWFzZTIxLW1haW50CisyNTA4MyA5ZTE3M2NiMzViNmRmZGQ3M2VkMzViMGQxZGQ2MzQyZTRiOTNkOTUwIHJlbGVhc2UyMi1tYWludAorMjUwODQgZWJlNmJkNTc2ZjY1ZDliOGFlZTA4YzI4OTE0M2UzY2QyODg2NjVhZCBsZWdhY3ktdHJ1bmsKKzI1MDg1IDg4NGU1N2JmM2FkYTQxMDczYjZlNmQ3OTE4YWI4YWUyMzIwODkzZTMgbGVnYWN5LXRydW5rCisyNTA4NiA1ZDJiZmJkNDdmMWJlMmEwMmFmYjAyMDUyN2QyY2FjYTE5ZDZiYTI4IGxlZ2FjeS10cnVuaworMjUwODcgNjc3NjFkNWI0YWU2YTJlZjE1NzFkZjdkNDY5YTUyZDBmZTU0MmMyYyByZWxlYXNlMjEtbWFpbnQKKzI1MDg4IDVhMzI5YTI1NzE5N2Y5NTJjNmRkZjZkYTdjNDZkY2E4NjVlM2IwNjEgbGVnYWN5LXRydW5rCisyNTA4OSA1NGVjY2M1ZDIyZGQyNzQxZWY4OWY4MGUwMDU2ODUzZTlhOGU2MjI2IHJlbGVhc2UyMS1tYWludAorMjUwOTAgZTY1NDc1YjRmM2NmOGI1OGU2OTk0YTRjMGE5YWFhZjY3OWU3ODIzNyByZWxlYXNlMjEtbWFpbnQKKzI1MDkxIDNlMjZmNWRhY2JiZTY2MmYxMGI1OWNmOGNjNjFmNDNmMjZjNjNhOWIgcmVsZWFzZTIxLW1haW50CisyNTA5MiBkOTYzMTg0MzgxMTg3Mjg4ZGY4OTc4NDFmMDY2ZmY2NzU5YTZhZjUzIHJlbGVhc2UyMS1tYWludAorMjUwOTMgMzFiMjUwMTQxNzRiZDZjODQ4MjQzY2ZhZGNlOTQ2Njk0NWUyZDc3OSByZWxlYXNlMjEtbWFpbnQKKzI1MDk0IGRjY2JkN2JiNWJkNWM4NTE1MzMzZWNkOTY5NzRmOGYwOWNlZTkyOTcgbGVnYWN5LXRydW5rCisyNTA5NSBjM2E4NjQ4YmYwOTdhYjcwMTI4YjRmYjFmZWE5NjNkYzdmNzViMDQ3IHJlbGVhc2UyMS1tYWludAorMjUwOTUgY2YzMWIxMGU0NWI0ODYxNTA5NGNhZTkwZTNjNWJkMDcyNTg3ZDhlNiByZWxlYXNlMjEtbWFpbnQKKzI1MDk3IGJhOGRiOTBlZWY0ZWNhYThhMWZjYmU0MDNhNmUzYTQ4YjA4NDVkZGIgbGVnYWN5LXRydW5rCisyNTA5OCAzMGE4MTcwMzhhZjBmNGJkNmRiNjg5ZGQzMGQ2NjUyMzlkMjg4NDE5IGxlZ2FjeS10cnVuaworMjUwOTkgY2ExYjY3ZjVhM2VjZDhmNDdiNjNhNDc3Y2M1Y2UwMmU5ZGU0ZDQ2ZSBsZWdhY3ktdHJ1bmsKKzI1MTAwIDJiNTZhZjY5ZjY3ZGVkOWY2ODRmYTMzNmRiNmRmNjM4M2RiOGU4N2EgbGVnYWN5LXRydW5rCisyNTEwMSA4ZjRjYzgyMWFmYWE3MjgzYTVlOGU4MTNmYjI1NzVkOTUzZjQzZjI4IGxlZ2FjeS10cnVuaworMjUxMDIgZWE4Yzg0MDBhNGM4ZDAwZTc0ZTc0YWI0ZTE4M2UxY2Y2MGRmNWFiOSBsZWdhY3ktdHJ1bmsKKzI1MTAzIDlkNWFkZmY4N2YzMDAyMGFhMmJkOGMzNGIzNzU0N2FjODUwYzNhMGEgbGVnYWN5LXRydW5rCisyNTEwNCAzNGY4NWEwYTdmYWFkY2I3ZGNmZDhkZDhlYzZhZjIwYWJjNjllMGM1IGxlZ2FjeS10cnVuaworMjUxMDUgNTNmYzZlYzhhODM3NjA1YjMxZmM4MDk4NzM3ZTczZWIxMDUwYzkzNyBsZWdhY3ktdHJ1bmsKKzI1MTA2IDFiN2VjMzk1ZDM5MjRmOGYyOWY1NGRlNDdhMzcxMDJjZmIzZDkyOWIgbGVnYWN5LXRydW5rCisyNTEwNyA0NDJlZmYyOWI0OWY3YjMzNjM4ZjgzMDViMWU4ZTc5ZTM2YjFjZTc4IHJlbGVhc2UyMS1tYWludAorMjUxMDcgZDgyM2ZjMTM1ZTkwZTdiYjg0NTkxNWNlYzkwMjc3ZWJmY2QyYzhkMyByZWxlYXNlMjItbWFpbnQKKzI1MTA4IDc0MjQ2YTJkOTk2MjIzZWMxZWUxZGVjOWE3NDZhODdjOTcxZTkyNTMgbGVnYWN5LXRydW5rCisyNTEwOSA2NjA1ZjA3NmY5NWEyZDA1NmMyM2MwYzhlZDExZTg3NzUyYWRhZDdjIGxlZ2FjeS10cnVuaworMjUxMTAgYzRmNzJiNDcyMmRhNjM0ZDBjNTE3ZTA0ZGU0MzRiYjJkZTZjM2E5MiBsZWdhY3ktdHJ1bmsKKzI1MTExIDljMGEwYzg5NzczZjE4MmIwMDY1OTdlZTlmNDhhZGNmZTEwZDZlYmEgcmVsZWFzZTIyLW1haW50CisyNTExMiA5ZDc3MDhkZGNmYjk5OGUyOTQ5MDI1NDJlYmMwNWUzNDM2Y2Y2OTc4IHJlbGVhc2UyMS1tYWludAorMjUxMTMgMTlkNjY4NzUxYjFlYWYwMzQzMDA4MDY2YzVlM2NiODM5NTllNGY0NCByZWxlYXNlMjEtbWFpbnQKKzI1MTE0IGNmYmRlODUxOWU1MDBlMTIzMGEzZTY3NGIzZDAzZWFlMzE5MzJlNTEgcmVsZWFzZTIyLW1haW50CisyNTExNSAwZWZmOTYxYTE1YjUzODhlZWI1MzFlNDdiOWQzOTNkZGZlMmE5ODZhIGxlZ2FjeS10cnVuaworMjUxMTYgZDYwMzUwZDcxYjYwNTgyOGU1YjYwNDRmZjcxOGIxYWM5OTczYWE4MyBsZWdhY3ktdHJ1bmsKKzI1MTE3IDQwNjMxYWU3NGIxN2JiYTIwNTFjODc0Yjk1OTJkZWU3ZjVjNDMzMGIgbGVnYWN5LXRydW5rCisyNTExOCBjYjQwYWNhNDE4ODljZTc3Mzg1ZjZmNDY4ZWI5MzllZjBkMjFmYWFmIGxlZ2FjeS10cnVuaworMjUxMTkgNzIzM2I4NmJlNjU2ZTM5Zjk0ZWE5MmY2MGIwM2ExNDI3YjFiNTlmOSBsZWdhY3ktdHJ1bmsKKzI1MTIwIGRiYjcwM2ViNmIzZDliNGUwYTNlZmM4ZDE3ZGE5NjIxYjJlMGZiNDEgbGVnYWN5LXRydW5rCisyNTEyMSAxYTI2ZGNkZmI2Y2M5ZGVlM2Q4ZDMwOTU3NTllYzJiZTkwNDM5YTMzIGxlZ2FjeS10cnVuaworMjUxMjIgYTFiMDY1ODI5M2E3MDk5MTNiODEzOTRkOTY1MjI1Y2JiZTkzMjA1YSBsZWdhY3ktdHJ1bmsKKzI1MTIzIDY1MmRjNTFiNWY4MzIxODdjYmFkMDczNGZmODQwYWUxNjUxYzgyY2IgbGVnYWN5LXRydW5rCisyNTEyNCAwMTEwYTA5ODNlNjE5MzBjYzEwNWQxYzQ2MTc4NGRmNmY3YjQ4NTExIGxlZ2FjeS10cnVuaworMjUxMjUgMzY4NTYxNWQyMWIzMjdmNTgxMWU2OGQxMjNmMDI5N2VjMTRhMzY2NCBsZWdhY3ktdHJ1bmsKKzI1MTI2IDhiMTE2YTg0NDliZDVlZWRmYzgyY2ZlNzYzZDJhMmQzMjdjNzIyOWMgbGVnYWN5LXRydW5rCisyNTEyNyA4YTJjZDFjMGMxMzU0ZWM4ZmFkNmIzOGYyMzM1YzAwYjg4ZmEwNDZmIGxlZ2FjeS10cnVuaworMjUxMjggZTIyN2M4ZDAzZDZkOGMyNGQ0NTRjNTNhNzE2MzFkYTRmY2QwOTcyNyBsZWdhY3ktdHJ1bmsKKzI1MTI5IGU2ZDVjNGM3NDViYzAxM2M0ZmM2MzEwODhjNTNmYjMxNzQ0NWE3YjkgcmVsZWFzZTIyLW1haW50CisyNTEzMCA1Nzg3ZmM0OGMyYjU1YTUwNzE4YWE0MDZkZjRhMzkxYjYxOGUwN2YyIHJlbGVhc2UyMS1tYWludAorMjUxMzEgOGU2N2Q5MDM1YjY5OWFiYmEyMTE4MTJjNTUzYjY1ZTJkOWRhMTk1YiBsZWdhY3ktdHJ1bmsKKzI1MTMyIGVjNzUwZTM3NjcxYmUzZWI1MjVlZDg4ZWQxN2U5ZDRhOWQ1ODIwMWUgbGVnYWN5LXRydW5rCisyNTEzMyBkNWEzOGEzMmY3OGI1MGNjODU4OGVjYzI0NDVhNDIzNjdjNGU1NWZhIGxlZ2FjeS10cnVuaworMjUxMzQgMWVkMjY4ZWEyZDI2MzAzOTMzNjUxYzZmMWMxMDIxZTVlNjk4YzE0ZSBsZWdhY3ktdHJ1bmsKKzI1MTM1IDE2Y2M1Mzg0MDFiM2YwODJkZGQ4ZmQ1NjdlN2Q1YTIzZDFmOWRiMWIgbGVnYWN5LXRydW5rCisyNTEzNiA5YmVjMTgzZmVmZmY2MWNlZDNjY2FkMWMwNWQ2ZDNmMTYwYjM5OWVlIGxlZ2FjeS10cnVuaworMjUxMzcgNjMzZTY0NTY0ZWRmYTFhYmM1Y2EyYTY1Njg2MDhmZWIxNzliOWYwYSBsZWdhY3ktdHJ1bmsKKzI1MTM4IGY4ODczNjI1ZDhmNjA0YjZmYmY1ODNkMWUzMzMzOWNmMGUxOWM1YjMgbGVnYWN5LXRydW5rCisyNTEzOSA2Zjk1OGY0OTliNDI5NTcwNTM2NGU1Y2VmYmY1YzE0ZjBlZGNhMjAwIGxlZ2FjeS10cnVuaworMjUxNDAgMGZlODc1ODY2ZDRlZjU2ODYyNTUzODFkNmJiYTU4NjQzYTU4ZmM4MiBsZWdhY3ktdHJ1bmsKKzI1MTQxIGRhMTdhMTBlMmYyMzFjOTIwNzY1OTQyZWI1YjI3YTEwNjFhNGNiMjUgbGVnYWN5LXRydW5rCisyNTE0MiAzZTBkYjk4NGJkM2UzMDRjNzdhZTE5YjNhMmNkZjhmZWM4N2JlZDQyIGxlZ2FjeS10cnVuaworMjUxNDMgMmM2NjE3ZjI3MGUyYzkyZGJiY2YwMWYwZDIxYzdkYjY0MjJjZWY2YiBsZWdhY3ktdHJ1bmsKKzI1MTQ0IDVhNWQ5NGM0OTk3NTBlM2QzY2E4YzU5NDM2OGY1ZGViNDZiMTZmMWEgbGVnYWN5LXRydW5rCisyNTE0NSA2YzVjMTEyZDQ1MzM5YmQ3NzI4NTNiZjg5OTk5Y2QxZDg5ZmE2MTI2IGxlZ2FjeS10cnVuaworMjUxNDYgMTM4M2U2ZjdiMTFmOTlkNzQzNjllZWNiOTAzYjI5M2I1MDJiZjZjMCBsZWdhY3ktdHJ1bmsKKzI1MTQ3IDNlZjdiZWQwMDdmNmVkMzdjMjk2OTlmNjRjZWMwM2Q4Njc3ZGE0MDAgbGVnYWN5LXRydW5rCisyNTE0OCAwNWZhYmQ4ZjRlN2Y4ZDY1ZjNkMWIwYWE1MzE1YWY5NDJhNGUyMDYyIGxlZ2FjeS10cnVuaworMjUxNDkgMTllMGE5MmUzMjc3N2VkNmZhNWRjMjdjZmJmOWU4ODcxYTc1ZWRmYiBsZWdhY3ktdHJ1bmsKKzI1MTUwIDZhOGM0NmQ4MjEyYmM2N2IyOTJlNjk4MmU3NTQxNDY3MTFmMjlhYjEgbGVnYWN5LXRydW5rCisyNTE1MSA5NTc2MGFiMTE4NzU1ZjU3MWZiMWRjOWU0MjNiOTc4YzhhYWQ0NTk3IHJlbGVhc2UyMi1tYWludAorMjUxNTIgYTY4YmE3NTVkNzAwZTVlMzFhY2ZlZjQxOGZmMjNmZTUzYzI4ZGUyYiBsZWdhY3ktdHJ1bmsKKzI1MTUzIGNlMTBhN2Y5NjdlNWE3YmRiNjI0ZWM3M2Q2NDA4YTVkMTM1NTliNGQgbGVnYWN5LXRydW5rCisyNTE1NCA0ODNmNWYyNzJkZWZjNmY0N2U0OTljM2Y2OWI3NjZiYzFlMTc0NjAzIGxlZ2FjeS10cnVuaworMjUxNTUgYzg4ODYyMGU4MDYyYzdjN2QwZjUwOGIwMjE4YjMzOWEzN2NhNzBiYSBsZWdhY3ktdHJ1bmsKKzI1MTU2IDI2YTU0ZDNmNTVlNDdmZjM1NDczNGZhMDY1YzU5YzNlZmNhN2M1NzAgbGVnYWN5LXRydW5rCisyNTE1NyBlN2Q4YTlkYTNiMTgwNDBiN2YzMTJkYjM2ZDg4ZmQ0ZGYyM2EzODM1IGxlZ2FjeS10cnVuaworMjUxNTggMDNhMmJhNzQxNzliOWYxNWYwZGFjNzNiYjc0YTBiMWE1MmEwODIxYyBsZWdhY3ktdHJ1bmsKKzI1MTU5IGFkY2MxNDE0MjQzMmU4MTRlMjA3NTVhYzhkM2FlZjA1NGMzZGQyYzUgbGVnYWN5LXRydW5rCisyNTE2MCAyNDA5OGY0ZjY4MmVkMTZmZWYxNmRmYTIyOTUyYmZlNzVkN2ZhYTBiIGxlZ2FjeS10cnVuaworMjUxNjEgZmEzMDUxZTBmZDkzMjEyMDlmN2VhNDY3YzU3NDk4MDgyOGNhYjE0OCBsZWdhY3ktdHJ1bmsKKzI1MTYyIDJjOGIwM2VkMzkwNjNhNGUzMGZlMDU1NGZlNzY4NDNhYTQ1N2Y2OGEgcmVsZWFzZTIyLW1haW50CisyNTE2MyBlMGRiZDE3NTRhYTkwOGMxN2MxNWY4ZTM3NWI4YjZhYTEyYzljMDY3IHJlbGVhc2UyMi1tYWludAorMjUxNjQgYWFlOTc3Y2E1OGEzYTdiMWUxM2UxNDAyMzc2YjhiYjdlMjQzMDNiMSByZWxlYXNlMjEtbWFpbnQKKzI1MTY1IDM0NWI5MmVkMmEzZmI3YWEyZmM5YTU0MWQ0ZGM5NDU2ZmI1ODM1ZTMgcmVsZWFzZTIxLW1haW50CisyNTE2NiA5MjYwZjY5NDMyYTkzYzlhN2Q0YWZkMjJlNGIxOTVjMzI0YzYxMzQ4IGxlZ2FjeS10cnVuaworMjUxNjcgNTlkMDliYTFmNzgyYzhmOGVhZjNhZTE3YjYwNDVmZmI4NzE1NjFhMSBsZWdhY3ktdHJ1bmsKKzI1MTY4IDYzY2JhNDIzZmEwNDBiZjEwNWYyYzg4YzhiMThlNTMwNzJkMTlkYzUgbGVnYWN5LXRydW5rCisyNTE2OSA3NDQxNTMzYWNhM2JiOWJmNjA1M2ZlOGJmOTFkOTM2YzUxNzg5NDJiIGxlZ2FjeS10cnVuaworMjUxNzAgN2ExMWJmYzY2MjE0MzE3MTM3ZjM1NjE4ZWUwZDY0NTU5ZjFjYzNmZiBsZWdhY3ktdHJ1bmsKKzI1MTcxIDQ0NDU5MWFmZmQwZTAzY2MzMDZjNmM2NjM0OWM2N2Y0ZmM1YmQzODggbGVnYWN5LXRydW5rCisyNTE3MiBmZmM0MTE2ZWMxMTlmOGFiY2Q5YmY5ZWZiNmI3MGMwM2FkNDE3ODVmIGxlZ2FjeS10cnVuaworMjUxNzMgZjNiMGUzY2IzNDBiMzAyMTg5MTA5MzNjOWI5Y2ExODA2MmFjOGI5MSBsZWdhY3ktdHJ1bmsKKzI1MTc0IDA1ZTYzMTExYzMxMDZlMGQ5YmEzYjk4NTg4ZjM2MzM2MTU0MTc0MjggbGVnYWN5LXRydW5rCisyNTE3NSA5MDUyMTNlMjg2Nzc1NzEzY2ZmM2U2YmFhNWNlZDgzMTI1ZmIyODAzIGxlZ2FjeS10cnVuaworMjUxNzYgOTY5Y2UwMTdiZDNhMTc1YjU1MDU0NTYyMTk5NWViYWIzNmE0NDM3MyBsZWdhY3ktdHJ1bmsKKzI1MTc3IDNhNzA3NTIwZGUzMDkzZTdmODFhOWY4MDAwY2QzYmMxYzAwNGM1N2MgbGVnYWN5LXRydW5rCisyNTE3OCA5MGMxZjNmMzdkYWU0NmE4NWZlNzJmNmIxMGJmZjYxNzFkZjZiODI5IHJlbGVhc2UyMi1tYWludAorMjUxNzkgYjEyZGNkMjc2ZGIwZmQyM2U5ZWU5YTA3OTgxM2EwYjIxZGUyNGZiMyByZWxlYXNlMjItbWFpbnQKKzI1MTgwIGE0ZTQ3MzY3OTliMThmMzY5ZjdmY2IyM2ViZTA5ZTU0ZjEyYzNmZWQgcmVsZWFzZTIyLW1haW50CisyNTE4MSAxZDg2Y2RiMTcyOTE2MDllZDBlZGMzMTEwZjUzMjMyNWM0ZmQ3ZDkwIHJlbGVhc2UyMi1tYWludAorMjUxODIgMTRkYTdkZDM3Yzk0ZTZhNjQ4YjI4Mzc5MWJlZjZlZmYyNDkxMzQ1YSByZWxlYXNlMjItbWFpbnQKKzI1MTgzIGRmZjIyOGFkMTdiOTgzNTI1YTM3NjU4ZGZjZTgxMjllY2FlMWI0MjEgcmVsZWFzZTIyLW1haW50CisyNTE4NCA2ZjQ1NWQ0OTE4NzE1ZjM3MTllZjdkODNkNjIxOWMwMTE1Yjc5ZDE1IHJlbGVhc2UyMi1tYWludAorMjUxODUgMDZmOGE4MjFiNjgzY2QxMzU1NWM4ZTU4YmMxZjgwYTlmZGMzMzczMiByZWxlYXNlMjItbWFpbnQKKzI1MTg2IDdlNzk2NGM2ODJiNTYyMzhmY2JkMzMzODk3N2Q2MjUyZWQxNjFkYTcgcmVsZWFzZTIyLW1haW50CisyNTE4NyA3YmEyYThjMTYyZmEyNjdhNzczYTE1MWIzMTIwNTVjOTA1MzRmODA0IHJlbGVhc2UyMi1tYWludAorMjUxODggOWI0MTRkZjQ4ZTE0N2U5NTc0NDQyMWM2MTg2NTZjNWVjZjhjNzczZSByZWxlYXNlMjItbWFpbnQKKzI1MTg5IDczMWJlYjY3ZmVjOTAxN2E5MjZiMjZmOWE2ZjJiNTkwNDM3NDhlMGYgcmVsZWFzZTIyLW1haW50CisyNTE5MCA1Y2FlYTJiMTMyY2ExODVlMDdlMGJmZjUwZDkzYTczNmFmOTE5NjI1IHJlbGVhc2UyMi1tYWludAorMjUxOTEgNGY1NGU5YTI5NzZlNmMyMjFjZDYwNmJmYTk2YzcwMTBhOGZjM2Y5NSByZWxlYXNlMjItbWFpbnQKKzI1MTkyIGFhNzEzYzRjNDk4ZGVkZjNkYjIwZmE1NzE3ZDAyN2RhYTU5Zjk3NjQgbGVnYWN5LXRydW5rCisyNTE5MyAwNzBkMzkyMDQyZTNlZWY2NzAyYzUxODc4YmNlZjMzNzJlZGI4YTI1IGxlZ2FjeS10cnVuaworMjUxOTQgYzFkNTVhNjI3ODk3NzQwMzc3Y2YxZTdmMGMwOWVhMTRjY2RkN2IzNyBsZWdhY3ktdHJ1bmsKKzI1MTk1IGYzNzliYzBjNWUzZmM5NzI0NzNjNjNlMjliMWU1YzFkNDk2OGM0NGUgbGVnYWN5LXRydW5rCisyNTE5NiA2YTFlNzRhZGY4ZDZjZWM0ZDJjMTEyNjY3OTY2NTgxOTg3YTkwMDhjIGxlZ2FjeS10cnVuaworMjUxOTcgMTFjYzA1OTg1NzRkODE4NDVmMThjMmRiZmNlYTAzMjNmZmZmNTNhYiBsZWdhY3ktdHJ1bmsKKzI1MTk4IGZjMTBlNzAyMThkM2JlM2MyNWZjYTMzODllMzc0NGM1YWQ5MWY2MzAgcmVsZWFzZTIyLW1haW50CisyNTE5OSA1ZTY3YWQ3NmM3MmZkYWRiYzhhNzE0ODA5OTk0NGFmN2JjNzY2NTdmIGxlZ2FjeS10cnVuaworMjUyMDAgZmQ0MTg0ZGEwOTgzMGY2ZGNiMGI1MWY2YTE0MzI2MjFlZWIxNjE5ZSBsZWdhY3ktdHJ1bmsKKzI1MjAxIDRiM2IwNmRlMDJhMzExNWJjMDQwOGU1YWY1NWMzNjc2NDhlZDMxOTUgbGVnYWN5LXRydW5rCisyNTIwMiBmZTJiNjRmYzU3YTBhMGU0MGZjYWU4NjBlNGEyYjhjMDM3ZGI0NTY1IGxlZ2FjeS10cnVuaworMjUyMDMgNDNkOWMyZjlhMmY2YmMwMjE3MzVkOTA2MjNiYmFlOGU3NDYzODY1YyBsZWdhY3ktdHJ1bmsKKzI1MjA0IDQ4YjU5ZmE2ZjY0NzIyZDVlY2ZjNzU4YTFjNGZjNTE0MTFmMjY4ODMgbGVnYWN5LXRydW5rCisyNTIwNSBhOTNhN2JjYmMzODZmZDY4NzhhZGE0MGJiMjZkOWE1ZDU2NzBjZWM4IGxlZ2FjeS10cnVuaworMjUyMDYgMjZiNzU4YzAwZmI2MDY0NTMxMTE2YzExMmNiODFkZWY0ODdjZjk1MiBsZWdhY3ktdHJ1bmsKKzI1MjA3IDQ1NzMxZjEzNjBlZWNlMjY1YjkyZmYzNTk2ODVkNWZjOGVkMTQzMDEgbGVnYWN5LXRydW5rCisyNTIwOCBmZDQyNGY1MTlhOGViZTgzZTg2MDM4M2UxNDk1ZmQ1NzUwNTVlNGExIHJlbGVhc2UyMi1tYWludAorMjUyMDkgZmFhYWViNTM1ZDM5MmU3ZTBkYmFmYmUzNmQ0NmE1Yzg2ODc2YjIxMCByZWxlYXNlMjEtbWFpbnQKKzI1MjEwIDBkMDhjYjg0OTUxMTgwOGEzOWRlYmZkZWRlNzdmOGQzNjRmYjY0YjAgbGVnYWN5LXRydW5rCisyNTIxMSBlMGZjMjg2ZDU3YTQ2Y2Q2YTc4N2FhNWI5MWUxOWZmYjJhNjRhZWY2IGxlZ2FjeS10cnVuaworMjUyMTIgOWUzODRmMTAzMDQ3MjEwODdlZjc1YjFkMWY5NTY4MzJiNjkyNWE5ZiBsZWdhY3ktdHJ1bmsKKzI1MjEzIDY1ODNjOTVjZjY5MjI0MmRiMTM5ZmNkMGRhYmQ5YjA4Yjg1OTBkM2IgbGVnYWN5LXRydW5rCisyNTIxNCBjNDMzZGUxN2MxNTgzYWFhNzgyOGVjOGQ2YTA1OGM5Njg0NzYxYjc2IGxlZ2FjeS10cnVuaworMjUyMTUgMWYyZTkyODUwMTg4NzM4ODg5YWMzYjBkOTA1ZWZhMDI2YzJlODM1ZiBsZWdhY3ktdHJ1bmsKKzI1MjE2IDJmNjE2NDc0ZWFlYzdkZjVhYjE4YzU3MzM2MjljYzJkMDg5ZjZjY2QgbGVnYWN5LXRydW5rCisyNTIxNyA5Y2ZmODkwYjRmYjA3NmE4MzUxZjNkY2FmMGNlNjcwNjg0ZDZlMzMwIGxlZ2FjeS10cnVuaworMjUyMTggZDUyMWNmMDg5OWM4MDNiNTJiMGRhZWQ0OWI3ZTlkODU4N2I3MjE1NSBsZWdhY3ktdHJ1bmsKKzI1MjE5IDc2NjA3YTBjNjk1NjA4ZjU3NjMwNDQzMzg2YzQ2ODQxZDM0ZWExYTUgbGVnYWN5LXRydW5rCisyNTIyMCAyMGJjNGZmMTIxNWMwZmU3MGM4NzQwMTQwYmNmYjQ3NDI5NGRkMDY3IGxlZ2FjeS10cnVuaworMjUyMjEgZjVhYWI4ZWI4MTI0MTU3YjJkZmM5OGE1MmFhY2FiNmQwMjE0MGJjZSBsZWdhY3ktdHJ1bmsKKzI1MjIyIDUzYWM4Mjg0MjE3YWZkMWZhNzMzY2YyMjk1ZTMzNTE3MTE4MTEzMjcgbGVnYWN5LXRydW5rCisyNTIyMyBjYmY0MTkyNWRkM2U5MzE3MWIwZGQ5MTYxYTNmZjYwZGJhYjg2ZjdjIGxlZ2FjeS10cnVuaworMjUyMjQgZjcwOGE5MDdkYzY5MWE3YWNiMzg3NDQxNjQwZDM0YTZhYzM2YWYxNCBsZWdhY3ktdHJ1bmsKKzI1MjI1IDUzZmVjYzhkZDRjOTA1Y2NjNzc1YWUzNGJkYWM1ODM3MjQ3MDllZTQgbGVnYWN5LXRydW5rCisyNTIyNiA2ZjYyZDUxYzljMTI4MTlhZDMzODg4Njg5YjM5YmEwYzkzZmRmOTI0IGxlZ2FjeS10cnVuaworMjUyMjcgZGEwMDhiNWM1MDM1ZWMwNWRiNTI4OTExM2E0MzI1ZGM3ZWNiYzhlZCBsZWdhY3ktdHJ1bmsKKzI1MjI4IDNjZDBiNGJiNWUzNGQyNDlhYWMzODE3OTM1NzMxOWM0YzE5ZDc5YWEgbGVnYWN5LXRydW5rCisyNTIyOSBiNWQwMDJlOTA4MjdlMDZmZTdkYjFiYjUwOTMyMDA5MTY4ODhiNjFjIGxlZ2FjeS10cnVuaworMjUyMzAgMDQyZGIwMzgyY2QzYjgzMmY1ZWNlYWNlZGU2YzM2MzMxNTg2ZGQ5YiBsZWdhY3ktdHJ1bmsKKzI1MjMxIDUwNDNiNzM4YjA3MjBjM2YwZTA0YzI3NTI2ODBlN2YyNDQ5ZWJjNzIgbGVnYWN5LXRydW5rCisyNTIzMiBlZDg2MWUwZDRhNzFkNDg2NmNlNjE1MDMwOGE0MWI3MzQwZmM3NjhkIGxlZ2FjeS10cnVuaworMjUyMzMgODQ0ZmU3MjViMWNkNDMxMjhmZjVmZmZmZWJiMmY1NDY5ZjM2NTY4ZiByZWxlYXNlMjItbWFpbnQKKzI1MjM0IDRkNzIxMzU3YmRkYjVhOGFmNTY5OWU2Y2Q5NDJlZTZmMzU2MWFhNTYgcmVsZWFzZTIxLW1haW50CisyNTIzNSA3ZmFmMGZkZGY3ZTY4YWFmYzlkMmM2Mjc2MjUzYTdlNTI2ZjJhNTE3IGxlZ2FjeS10cnVuaworMjUyMzYgNzhlMzZmMDUyM2E4Yzg1OGEzYmQ3MzE3MDgxZDU2ZmQyYTlmODU1OSBsZWdhY3ktdHJ1bmsKKzI1MjM3IGU0ODg0NjcxN2MyNmYzYzM2OGJjNzk3YTYxYjUzZDQ3ZDZiZGNlZGMgbGVnYWN5LXRydW5rCisyNTIzOCA0OWQ5MzY4OTQwMmI1NGUwMTA0YmMzMGY2NDQyZDczN2NlMmRmODNiIGxlZ2FjeS10cnVuaworMjUyMzkgOGRhZmU0YTc4Y2FjNDY1MTVhNjNmNTQwMzQzNzA0NjQ4ZmFkMzE3MiByZWxlYXNlMjItbWFpbnQKKzI1MjQwIDM1Zjg0ODkzYWNmNzY5YzhkMmYwMGEwOTEwOWFhNWIxYmM0MWIwOTcgcmVsZWFzZTIyLW1haW50CisyNTI0MSAxYzc2OTIxN2MxMDU5ZjNmZTMzNTdlMGNlODk1NjU0MzY3NTM2MGYxIHJlbGVhc2UyMi1tYWludAorMjUyNDIgOTRiYWM4OGYxNTBmMDAxMDJmNTQwMjZiYTRmMjFhYTk0Njg2M2I0NCBsZWdhY3ktdHJ1bmsKKzI1MjQzIDBhODEzYTNkZGI5MmRkOWNhZjlhNWIxYzJiMjNlOGIyZWE1OGI2NTcgbGVnYWN5LXRydW5rCisyNTI0NCAwNGNmNGUxM2U1YzlmYjM0ZWQ3NDEzMGQ1ZDE5YWJmOTJjMTVlNjBlIGxlZ2FjeS10cnVuaworMjUyNDUgYzgyODZjYzcwMmM5OTI0ZjFlMmIyMTNjZmVlYWUyMjAyZmRkMDQwMiBsZWdhY3ktdHJ1bmsKKzI1MjQ2IGFiZWRiMjQxOGY2MjMxYWRmMjQyMDUwOTJhNTk5OTZmMWYxZTRjMDIgbGVnYWN5LXRydW5rCisyNTI0NyBlMTA4Njk3MjZjZDQxYjcyYThiMWY5MWRjMGFmM2IzM2Y0ZmM3NDU1IGxlZ2FjeS10cnVuaworMjUyNDggODM2YzFkYmYyM2EwZWE5ODFjZGY2M2IzZjcxZDM1NDI2NGJjYmYxZSBsZWdhY3ktdHJ1bmsKKzI1MjQ5IDE5ODM0Y2QxMDFkOTFiNWYzMjZlNDUxZDkxNDJlOTExNGFhZWZkMDcgbGVnYWN5LXRydW5rCisyNTI1MCA2NGU1YTM5ZjFmZjA5NjE1ODJmNjFhMzk1NjI3YTViYjVkNDI1ZjRlIGxlZ2FjeS10cnVuaworMjUyNTEgMTdhNTZlMWM2ZmY4ZTI3ZDJkM2RkOTY1M2U0YjFkMDZjMWY4OTI1YSBsZWdhY3ktdHJ1bmsKKzI1MjUyIDhlZDdjNjFiNWYxYmEzNWIxNWExYTRiNTE5MzExMjY2MjFiY2JlNTQgcmVsZWFzZTIyLW1haW50CisyNTI1MyA4NjEzZGYxN2YxOWJiZDM4ZTU5MTQxOGM4NGRkMWYyM2FjMTE4MDA3IHJlbGVhc2UyMi1tYWludAorMjUyNTQgZjI0NTk1NWIzZmJlN2Y0YTJjMWFhYWIyMjUwYTVkYjZmYjU3OGQxYiBsZWdhY3ktdHJ1bmsKKzI1MjU1IDIxZjU5ZDllZDE2OWY0ZGIwNzYzYjgzY2UwMDQ3YzBkZDgxZWE1MDMgbGVnYWN5LXRydW5rCisyNTI1NiA5MzczNDhlZjE4Yjg1NjA0MjNhODllNjkyNTgxNDBiNDY5YTIxNzNmIGxlZ2FjeS10cnVuaworMjUyNTcgOThlOTJhNjRlNzNjMmZmNzUxZWJhYjI1NWMxZjhkMTQ1MWMzZTZlMSByZWxlYXNlMjItbWFpbnQKKzI1MjU4IDg2ZmNkOTQzOGNiZWJkNzE4Mzc4ZTU0ZTY0YjIyYjllYzIyNWVhOWEgcmVsZWFzZTIyLW1haW50CisyNTI1OSA0YjVjMjhhNjJkMTZlNGE0Zjc4YzNiNGQzYTEyN2YwYmEzNzExODU0IHJlbGVhc2UyMS1tYWludAorMjUyNjAgNTdlYWE1ZDY5YWMzNWY1MGQ4MGE3ZGMwZDBmYzQ4MzBmMWZiOWU1YiBsZWdhY3ktdHJ1bmsKKzI1MjYxIDRjMWNjZjM2MDI1Y2Q5N2FhZGQwZWExMzE2N2ZhZmNkNDAxYzkwMDQgbGVnYWN5LXRydW5rCisyNTI2MiAxZjZiYzQ5OGU2ZTU2ZTJmYzU1ZTVlZjNkMDQ0MGJmYTI3YTdkODNlIGxlZ2FjeS10cnVuaworMjUyNjMgYzA1MThhZDcyYjkyZTBhYTljYWRhNTEwNjcwNTZiN2Y3MGVlMDAxMCBsZWdhY3ktdHJ1bmsKKzI1MjY0IGYwMDc4MWQ2NjRhOWE0YjQzMWViYjA3ZTQzZmExNjhkNmQ3NDc1YjggbGVnYWN5LXRydW5rCisyNTI2NSBkY2MwNzc4ZWI3ZDNiNDFjMTc4MmFjYmQzNjdkMTAxMjM2NTUxNWViIGxlZ2FjeS10cnVuaworMjUyNjYgZjg4MWUwNjE4ZGYwYWY2NjUwZDExZDY3NjVhNGYzMTRlYTc3YzQ1OSBsZWdhY3ktdHJ1bmsKKzI1MjY3IDdmNjUyM2IzMjE3OTI2MjNhNjFjMjZmMGIzMjUyNzZkNDJlMTlmMTEgbGVnYWN5LXRydW5rCisyNTI2OCAxNmZhZjY4NzUwMDQ1MmY5ZDJiMzMxMTgzYzRlYTZhZWJlMTZjYmQ1IGxlZ2FjeS10cnVuaworMjUyNjkgN2MzMGNiMTdjMmY2NTZkN2EwNTM2ZWI5ZWNjMzI3ZWYyMDhkY2YyYyBsZWdhY3ktdHJ1bmsKKzI1MjcwIDE2YzJhZTM2OWQ3MTVlMmU5ZjY3ZjA2ZjIxNTI4ZjNlOWNiZTMyMDAgbGVnYWN5LXRydW5rCisyNTI3MSA3OTRmZTM3Y2E1ZjRlOGI1OTk2M2IxOGQ3N2E2YWYzYmY4YzYzNjAzIGxlZ2FjeS10cnVuaworMjUyNzIgMTUxN2I0NTQ3Yjg3NjZjYTM4NzUwNTNmNTkwZDgxOTU5NjIxYjQwMyBsZWdhY3ktdHJ1bmsKKzI1MjczIDlkMmFlODUzMTk0NDA0NTg4MDZlNGZkOWFhMTAzOGE0ODkxOGYyOGEgbGVnYWN5LXRydW5rCisyNTI3NCAwYzY5OTkyY2NlMDk5NDZkMzg5NzVmMjM0MTNkNjAxZjQ3NzBhOGYxIGxlZ2FjeS10cnVuaworMjUyNzUgZTE2MzcxM2I0N2NmMjFiMTNjZDliODU5MWE2ZGMxNWFmNjgyZWYyYyBsZWdhY3ktdHJ1bmsKKzI1Mjc2IDE1YzBlN2FlZjY2NmQxODgzYzJkN2U1ZjcyYzliOGE0MGRmZGNjZTkgbGVnYWN5LXRydW5rCisyNTI3NyBiOTgxNWY0ZDhiZTM1ODU0OTU2ZmYyZjc3YThlNjYyY2M4MTlhM2QyIGxlZ2FjeS10cnVuaworMjUyNzggMDc2ZTlkYzc3YWFkYjM4NTcwMjM2NTVmNWVmNTEwZDg4OTg5YjdjNyBsZWdhY3ktdHJ1bmsKKzI1Mjc5IGMzNzYzOTc2MTEyZDVhZmZiYjllNDU1OWY5MDEwMjE4NWQ5NTM2YjcgbGVnYWN5LXRydW5rCisyNTI4MCA1OWJiNDNiNmViMTFmMjVmYzljNDIwZGYyM2UyOTg2OTdkODZhOTE2IGxlZ2FjeS10cnVuaworMjUyODEgMGY1ZGZhMzNmOWVlODRlMGQ2YzA3ODc2NTRjYWVjMGUyYmFiNDExNiBsZWdhY3ktdHJ1bmsKKzI1MjgyIGY3YWEzMjdmZjBmZWI5MjcxZTNlZmZhMmE2NDllNjllMWY4ZjhkMDAgbGVnYWN5LXRydW5rCisyNTI4MyBlZmI2ZTYxN2FlYTM5ZGQxYWFhN2YxY2M4YzkwZWE0MjE1NmFjOTBmIGxlZ2FjeS10cnVuaworMjUyODQgODdhZmY2NDhkOTk0ZTIzN2RjMjZlZjY2ZDQ0ODJhNWFmZDUyYThkYSBsZWdhY3ktdHJ1bmsKKzI1Mjg1IDEwOTdmNzMwMjk0YjJjOTBhOWM3YWJmNjI1NTNjYmNkNzViZWE1M2IgbGVnYWN5LXRydW5rCisyNTI4NiA5ZjZlMGNmMWFiMzA5N2ExNTVlNzVmZjJmMTNmODg3YzEwOTI1NmRmIGxlZ2FjeS10cnVuaworMjUyODcgMjQ0ODI5MjFhNzhhOWI5MmQ0YTU5NWQ5NTY2NTRkZjQ3YjY0YjMxYyBsZWdhY3ktdHJ1bmsKKzI1Mjg4IGExM2JmMmY3MjYyOWFiNjhhNzEzMDc1NGM3YTVjZDE2NjA4ZDc0MTUgbGVnYWN5LXRydW5rCisyNTI4OSA3ZTcxNTljMDI4MzA5MWY4ZmViN2IwZWViZjYwZDVjZjEyZWIyMmI0IGxlZ2FjeS10cnVuaworMjUyOTAgODhlMjE3ZTUwNTNmZTQ0N2RmZGQwNzhmNTBiMGU0YWY0N2RlMmYyOCBsZWdhY3ktdHJ1bmsKKzI1MjkxIDc3ODI0MTU4MWQ0YTM1NmM2MDM4M2VlZDZkYjYwNzYwM2RkMGYyOWMgU291cmNlRm9yZ2UKKzI1MjkzIDdmMzViYjkyZmJmNzUzNDgwMmI4OWQ3ZWU5Nzg3ODljNjAzNmJkZDAgU291cmNlRm9yZ2UKKzI1Mjk0IDdkNWIyYzY3OWYzYmNkMTNkNmY2OGEwN2ZlYWY3YzExMGQ3YjYwNTUgbGVnYWN5LXRydW5rCisyNTI5NSBhYjY4YWQ0M2Q1MTQzNWQ2MTAzYTU1NTRiNGUzMjg4NDA5YjBiMWY4IGxlZ2FjeS10cnVuaworMjUyOTYgYjM4NjI5YjkxNTQ1MTJiYWNkMzFkMTQzNGY1MWI3NjVlMTE5MDg2NyBsZWdhY3ktdHJ1bmsKKzI1Mjk3IDcxZmZjOWZiNTk4NmY1OTUzMWEwODU5Y2UwMDJiYzhlOTlmOTg2YTQgbGVnYWN5LXRydW5rCisyNTI5OCBlMjBkMTJiNWRhZDFjMGZjNjIzYWVmZTYwODUwZmQ0YjA4MDZjZjBmIGxlZ2FjeS10cnVuaworMjUyOTkgZDc0Mjc5OGNkNGI0YTQ2YjhjNDdhNzE5ZGNmODAxM2JhOWI2NjZkNyBsZWdhY3ktdHJ1bmsKKzI1MzAwIDgyOThlOWM1MzVkYTg0ZjE5MzVmYjUyZjI2M2VlMTVlMDYyZjhlZGIgbGVnYWN5LXRydW5rCisyNTMwMSA0YWIyOWIwNmE3NmNiYTBlMjJjNDhhMjNhMTUzMjVmYjY2MjRhNGUwIGxlZ2FjeS10cnVuaworMjUzMDIgNmJkZmM5ZjZmMDU5MDMyZDVlZmZjODA4YjRiMWFlNjEwMTRmMzYyMSBsZWdhY3ktdHJ1bmsKKzI1MzAzIDMyZDBlZjZmMTk1NTcwNjJjMmIwMzBhNjA4M2JkZjljMDAxZjIxMTcgbGVnYWN5LXRydW5rCisyNTMwNCBmNzQ1N2ZhYjc2ZjBkYmJjNzBiMjc5ZDE4NzRjYzNhMDkxMDA2NTA1IGxlZ2FjeS10cnVuaworMjUzMDUgOWQ0NGU3NTJkNjE3ZWM1NDA5YjRhZGZmOGY1ZjU5YmZkZDMyMTk3ZCBsZWdhY3ktdHJ1bmsKKzI1MzA2IDljODMyM2FiZjFkYmQyN2Q5Y2EwY2Q3ZDcyNTQ5OWU5YTU5NjkxNzYgbGVnYWN5LXRydW5rCisyNTMwNyBmMzkyMTM0MDVlMDVjNDhiNjM5ZjNjN2NhMmNiZTBlNjgyYmQ0M2MwIGxlZ2FjeS10cnVuaworMjUzMDggY2JmMWRiY2ExZjYzMGNjMzcwMmZjYmRlMGI3MWJkNjI4YTQ2Y2RkZCBsZWdhY3ktdHJ1bmsKKzI1MzA5IDc2NmM1OTM3YTYxZWM2NzdhOWQ4Mjc2NjEyMzlhZmZmMTAyZTYxMjkgbGVnYWN5LXRydW5rCisyNTMxMCA5MWE2ZGI2ZWZhMTQ5YTI1MTVjZWRhY2Q5ZTQ2ZWI1MzY1MTkwMWUzIHJlbGVhc2UyMi1tYWludAorMjUzMTEgZDI0NDExMDVhOWJmZjEwOGNlYzkwMzJkMjM1Y2RlMzBkODc3MTlhYyByZWxlYXNlMjEtbWFpbnQKKzI1MzEyIDE3Zjg0NjlmMDlkMjA3YWViMzUyMGI5NDYxN2YyNmEzM2NjM2RhMDMgbGVnYWN5LXRydW5rCisyNTMxMyA4MWMyYmRhNWQzNzc4ODg2NGQyMzhlZDFlYmI2ZWM4YzllNjcyZTM5IHJlbGVhc2UyMi1tYWludAorMjUzMTQgNDg2NDQ0NDUyMGQ5MmJjYTBkY2YwNzg2YzFlMjUwYjQ5NGFjYTMyYiBsZWdhY3ktdHJ1bmsKKzI1MzE1IDY3NmRiMDMwMGYwNjc3ODVmYmQ5Mjg0YjAxZTQ2N2EzNzE5YjhiMWIgcmVsZWFzZTIyLW1haW50CisyNTMxNiAwYzllYmNmMTdlYmZkNTkyOTZlMTY5YTRhOTk1MmE1YWVlYjg0MDdjIGxlZ2FjeS10cnVuaworMjUzMTcgOTdmNDllZGNiZGU3MjBhMDczNDhiNDUxYmY4Yzc2YTY4NjBkMzQxZSBsZWdhY3ktdHJ1bmsKKzI1MzE4IGI1NWYyZmY4YjI1ZjYxN2U0NGYzOTc5Yjk2NzFkMTE3YzgwNWMwYTUgcmVsZWFzZTIyLW1haW50CisyNTMxOSAyZTllMWIwMmI3ZDdiNjJiMjgyMmQ4MDc0NWNiYjE1M2IzYzc3ZWM1IHJlbGVhc2UyMS1tYWludAorMjUzMjAgOWZhNWQ0MGNjNzIyMmQ2ZjE3ZDU5MTk0ZjA4ZmIwNDMwMDNkN2IwYiBsZWdhY3ktdHJ1bmsKKzI1MzIxIDVlZDc4MmJkYmIyYWEwMDc5YTZkMWMzNTUwYjM4YzVhZDQ4OWQ3NTggbGVnYWN5LXRydW5rCisyNTMyMiAzOTU3ZDE1NWY4YzU1MDE5NGE4ZTVkMzhlYTYzOTM5ZjU2OGE0MDk0IGxlZ2FjeS10cnVuaworMjUzMjMgN2E5MTdhZDhmNDQyNGY1MmZkNDk2YjEwYWM5ZjdlZmQ1YzczMTUxYiBsZWdhY3ktdHJ1bmsKKzI1MzI0IGVhMjNlNmU0OTI5MDNkMTAzZTYzNjYzNWIzOTdjNTkwZGFmNTIxNDAgbGVnYWN5LXRydW5rCisyNTMyNSBkM2IxZjJjMGViY2ZjM2UzZjk5MDU1ZGM0NjQ4ZjBhYjY4NDM3ZjYzIGxlZ2FjeS10cnVuaworMjUzMjYgMmZhYTIzZmFjZWY3MmRmMjRlZjhiMzZhMmVhMzk4YWU1ZDE2MmI1YSByZWxlYXNlMjItbWFpbnQKKzI1MzI3IDk0YjkwY2RkNmUwZmU1ZTNmN2EyOTM5YmI1YTc0YTc4ODcwZGRhNzggbGVnYWN5LXRydW5rCisyNTMyOCBjNWQzZTQ1ODc0OWU3ODFlOGNkMzA2ZWQyNGZjYzRkN2NmYzE1ODZkIGxlZ2FjeS10cnVuaworMjUzMjkgOWM0MDI1MjNmOGY1YWI1N2Q0NTg4NzhhNGI0NWI3MjM0N2JjZjIwMSBsZWdhY3ktdHJ1bmsKKzI1MzMwIDRkNTU0NzAwYzRkMTcyMzI2OGE5ODY0M2Y4YjMyN2VlN2VhMDk0YjQgbGVnYWN5LXRydW5rCisyNTMzMSA2Mjc0MWIyNWVkNjUxNzg2NDg1MjU1OTNlZmZjNjc1NTE4OGMxMmVjIHJlbGVhc2UyMi1tYWludAorMjUzMzIgNzJjOTU0NDhlZTRiM2MwYjVjNGQ4MmY4ZWZjZGZmN2MzMTdhZGFmYyBsZWdhY3ktdHJ1bmsKKzI1MzMzIGIxYTg3MWRjNTE5NjJkNWI4MTM3ZjNmMjg2NGRmYzNmN2RjYmU1OWQgbGVnYWN5LXRydW5rCisyNTMzNCBmY2U3Mjc4ZDQ2YjBhODQ5MGU0NjliNWZjMzlkMDA2NzIyOGNmYzI1IGxlZ2FjeS10cnVuaworMjUzMzUgNGExMzM3OTA2NjA4ZmI3NmEzZTk0MDExNjgyZmIzNzlmN2Q4YjkyMSBsZWdhY3ktdHJ1bmsKKzI1MzM2IGVhOGRiNmY1ZDFjNTc5MjZjZTU3MTNkYzhkYjQ2NzE0ODhkMTcyMGYgbGVnYWN5LXRydW5rCisyNTMzNyAwNTJlZmMwNjUyMGEyMWRiZjY4YzFjODZjYmJlYWExMDc2NjMyOTk2IGxlZ2FjeS10cnVuaworMjUzMzggOGUwYzNiNzVlZmY1OGIxNWE5ODY2YmY4MGNjNGU5YjQ5OWViODEwZSBsZWdhY3ktdHJ1bmsKKzI1MzM5IGU5NjRlMGZjNGJmZTcxYmIzZDAzMjdlMDhhNjA1MGQxZTViY2FiODkgbGVnYWN5LXRydW5rCisyNTM0MCBhMGFkNjljMGJjMzY3ZjM0MTNkNTg3ZTRkODA5NTI5Nzk3MmJjZGQ3IGxlZ2FjeS10cnVuaworMjUzNDEgMTllM2Y4NjU5ZWVjZTJjNTBjM2YzNmM3YWJjNTI0NTVhMTQwZWJkYyByZWxlYXNlMjItbWFpbnQKKzI1MzQyIDg4YThmY2FkMDJkMGRjY2JjNGZmNzk3YTY3OGYyNGM2ZmMzYTA3ZTggbGVnYWN5LXRydW5rCisyNTM0MyBjODBmNTYwMTBiMjg1YzgzYmVlZGUzMWY2OTg0YjYxYTM4MzMxMmJiIGxlZ2FjeS10cnVuaworMjUzNDQgNGU5Y2MyNmUwM2ZkZTkwMzhjOWZiMWE2MTkxYWYyZDI2ZDFmNDM3MCByZWxlYXNlMjItbWFpbnQKKzI1MzQ1IGUwOGFiMzQ3ZDEyZThiM2ZhZmUyYWFlM2E0OWI4MDBjYjMzNTNhNDAgbGVnYWN5LXRydW5rCisyNTM0NiA0YzMzODdiYTExOWQwMTg3YjIyYTE1OGU0YjQyMWZkMTk4MzAyMDQ2IHJlbGVhc2UyMi1tYWludAorMjUzNDcgMThiNWM3ZjY0YzgwNWMxNWU0ZjZjZGEzY2E1MWI2MDQ1MTgyYjQyZiByZWxlYXNlMjItbWFpbnQKKzI1MzQ4IDliNDVhNTg3NGMwOTkxOWFjMGM0YWU2YzYwNThmYWVmYWE0MjM3ZDIgbGVnYWN5LXRydW5rCisyNTM0OSAzNWQ5ZjU2OTM2MWFmZTZjYTNkMDk2NTQxOTBhYTBjMWQxYmU2Y2FlIHJlbGVhc2UyMi1tYWludAorMjUzNTAgMGY2MzExMWJmNGM1ZDc3NWY5MjY2OTdkM2RhODg0M2FjNmRhYjgxMCBsZWdhY3ktdHJ1bmsKKzI1MzUxIGY5MmU4NjhlYjQ0MGI3NjA5OTQ4YTU1NzYyZGNiYzlhZWY2YzljZTcgbGVnYWN5LXRydW5rCisyNTM1MiBjODQzYmU1ZDU4YTlkYzhjN2RjMmJmNTRhNWE3NmM5OTM5MTM5MTk1IGxlZ2FjeS10cnVuaworMjUzNTMgMDlhYjljZTFmNTJhNjAyNGVlYjUyZTcxNTJlY2MzODBmODJhN2Q1YSByZWxlYXNlMjItbWFpbnQKKzI1MzU0IDA4YzViMGM3ZDlkODE4ZTdjYWVjOWM3NTEzN2Y3MTI5YjViY2FkODUgcmVsZWFzZTIyLW1haW50CisyNTM1NSBhN2ZiZGU2ZTM0YTUwZjQ1OGZkYmVlMWMzNGE2YWVhYjYzYTQ5NjljIHJlbGVhc2UyMi1tYWludAorMjUzNTYgNGU5OTYzMTRmOGZiNDQxMzlkMzgxYjg2MjZkM2ExZTc1NDc2MDkxMiByZWxlYXNlMjItbWFpbnQKKzI1MzU3IDFhYTBjZTYwZjZhODUyNzBjMTUyNDY4YjIxOWQ2MWM4OGI2NWU4ZTkgcmVsZWFzZTIyLW1haW50CisyNTM1OCAyNzE0NzM5ZDQ4M2I2MjdkNzEyODkwYzliZGFhZjYxMTRhNGI0NWE3IHJlbGVhc2UyMi1tYWludAorMjUzNTkgMGIxNWNmMTE0MzFlNGQxNzZlMGZmYzFhODY3NTQ3YjhkNDk5OWNkMSByZWxlYXNlMjItbWFpbnQKKzI1MzYwIGNiNWI0YTU0ZmYxMmE0Y2Q4MzAxZjYyNDZhYjM4OTk4M2UyYTM2NzAgcmVsZWFzZTIyLW1haW50CisyNTM2MSBkZWZkMmIxYTg0MjY4OGJmMTYzOTA5NjNlMWNiNzE1YjU0ZWEwZGE0IHJlbGVhc2UyMi1tYWludAorMjUzNjIgN2FlZTBmOGFmYWM1MDhjZTZmYzE4ZTBkNzFmMzRhNWY5NzExOWU4MSByZWxlYXNlMjItbWFpbnQKKzI1MzYzIGJjNWJmNzJmYjVkNDVkNGMwZDZhZWY2YTM1MjRmYjBkZTZjN2U0ODYgcmVsZWFzZTIyLW1haW50CisyNTM2NCA5NjU4NzQyNzllZTJkMjY2NTk2MTA1ZTNlNmZkNTNkZjIxYzBkOTM0IGxlZ2FjeS10cnVuaworMjUzNjUgNWU5NWYzZWU3N2VjMTQzYzdlMjNmMGU2NjVjNTcxNmYzYTQ4YjYxYiByZWxlYXNlMjItbWFpbnQKKzI1MzY2IGE2YTViMWZjYzJhN2U4ZjU0ZWEwMGNiMjJjNDJlNmU4MmQ3OGQxYjYgcmVsZWFzZTIxLW1haW50CisyNTM2NyA1MTI2NmIyYjQzNjBkNGU2ZDA5OTY5OTM1MGQ4YjllYjUxNTZmMWIzIGxlZ2FjeS10cnVuaworMjUzNjggNTJhYTNlM2U1NzdmMTIwYzU5MmM4ZmVjMGE3NzM3OWIyMGUxYjU0MCByZWxlYXNlMjItbWFpbnQKKzI1MzY5IDRjZGFmZmM5ZTE4Y2MwZjBiZTUzODIwM2U0NjU4NjY4YWJmY2M4MjEgbGVnYWN5LXRydW5rCisyNTM3MCA4YTc5MTMzMGZjMjAzYjZjMjUwNzQ1MzU3NzUyMWU5OTY0MjBiY2I0IHJlbGVhc2UyMi1tYWludAorMjUzNzEgZDI0YWFkZmUzYzA2YTlhOGJjMTczN2QwOWY0MzNlYzExZGIxZGFiOCByZWxlYXNlMjItbWFpbnQKKzI1MzcyIDhjZTE3ZGE5OGU4Y2JhZmNiOThlMGIxODIxODc0OTA0NWFmZjAyOWIgbGVnYWN5LXRydW5rCisyNTM3MyA4MmZiMGY5OWUyZGFkMzE4ZGU0MDNhNGRkOThiYmM1YzAyOWUxZjc2IGxlZ2FjeS10cnVuaworMjUzNzQgOTYzNjc1ZmU5N2U3ODkxZTIzOGZiZmQ5Yjc3MmFiZDg4YTgxMjY5MCBsZWdhY3ktdHJ1bmsKKzI1Mzc1IGU3OTk0OTg4MzZiOTRlYzlmZDQ1ZmIwYzYxZDU0N2ExYjFhOGQ2MDYgbGVnYWN5LXRydW5rCisyNTM3NiA5ODg1ZGEzZmVlZWNkMWIxMzBhYzNlNDBlOWMwODY4NjhiZjgxMzM2IGxlZ2FjeS10cnVuaworMjUzNzcgZTNmYjhkMTZhNTFhY2E1N2QzZjlhZjJhOGZkMzg4YzA0YTA0OGEwMCBsZWdhY3ktdHJ1bmsKKzI1Mzc4IDRlYjgxODY5ZjYxOTdiNWIyNWFlZGQwMzcyZDlkZGNmODk3NTk2ZDEgbGVnYWN5LXRydW5rCisyNTM3OSA0ODFlOWE0NmQ2ODAxMWIzMjM3OGJlZmYwYTZmYjliYWYzNjc1NWVmIGxlZ2FjeS10cnVuaworMjUzODAgODBhMDRjYmNkMGM4MDExYTYwMmVjMTA2NjYxM2U0NjkxNzQ0ZmY5MyByZWxlYXNlMjItbWFpbnQKKzI1MzgxIDQ0ZWRiZTBmMjE3NDhlOGUyZTNjZDUwMDEyYmFhODc1MGRkNTE4N2EgcmVsZWFzZTIyLW1haW50CisyNTM4MiAzMmQyNGY4ZDY0ZjdiMzZkYTc0NDI5MTY0NDZiYzYwMTFlMTQ3NWI1IHJlbGVhc2UyMi1tYWludAorMjUzODMgOWY1ZTM1Nzg2NzUyNTI3YmRiZTk2NjBhZGFiZDNlYjllYjE0NzcxMiByZWxlYXNlMjItbWFpbnQKKzI1Mzg0IDcxZjI1Zjk1ZTkwMjU5ZDUyMTA2ZDc0ZTVkMmNiZDVlNjQ4ZTZjMjEgcmVsZWFzZTIyLW1haW50CisyNTM4NSBiODY5MTYwMWQyYTAyODgyOTdhNTZkMTk5ZTE5ZjAwNjQ0ZjVmZDJjIHJlbGVhc2UyMi1tYWludAorMjUzODYgZTA2ODQ0MGUxMTZmOTM5NmU4NWZlZjE0MjgxMmZhYTcxNjNmNDZiMiByZWxlYXNlMjItbWFpbnQKKzI1Mzg3IDk1ZGMzMDI0OTI3Yzk4OGViZjE2MmRhNjU3NWRiMWRkOGE1NDA4OTcgcmVsZWFzZTIyLW1haW50CisyNTM4OCAwMmE3YzY0ZTMzMzFmOTk3ZGM1MDMyMDc4N2IyNDc2ODFiMzA2N2E0IHJlbGVhc2UyMi1tYWludAorMjUzODkgZmJlODIwZTBjNjAxZDY2NTc5ZjFiMDEzMGNiNjZkZmFmODAxOTY3OSByZWxlYXNlMjItbWFpbnQKKzI1MzkwIDdmYmVmZTNlM2RlZTJkNzIyYTVkY2RjNWY1ZWUzMmJhYWEzMmMwYWYgcmVsZWFzZTIyLW1haW50CisyNTM5MSA1NTZmYjdmMWI2MDY3NDNlMTg2NTRkZTNiZjU0OWYxY2Q3YjZjOTA4IHJlbGVhc2UyMi1tYWludAorMjUzOTIgYTViMjVhODE2YTZkNjhjMmU5M2NjODY0ZGMyNTlmYTg2NzVjODZkZSByZWxlYXNlMjItbWFpbnQKKzI1MzkzIDk5MzQxZTg1MDE3ZWE0NmJkZTgwY2RkY2QzNDU2NTZmOTg3OWNiNDMgcmVsZWFzZTIyLW1haW50CisyNTM5NCA3NjEwNzUyODBhOTVlNjBiZTFhNTZkZjU0NjI1NzhhZTdjMzkyOTM5IHJlbGVhc2UyMi1tYWludAorMjUzOTUgYjEyZTk3MTQzNjY4ZDg3ZDhiNmRiM2E1ODJkNDA1NTdkOWRiY2ViYiByZWxlYXNlMjItbWFpbnQKKzI1Mzk2IGZkYWFmYWE4OTU4N2Q3OTkwYzRlY2VlYWEwZDA4ODNhNzNhMjU2YTkgcmVsZWFzZTIyLW1haW50CisyNTM5NyBhZTQ4ZDU0MWY2NWFjMzlhYTY1ZWJhOGQxMmY0NmE1MGJiMWQ4MmZhIHJlbGVhc2UyMi1tYWludAorMjUzOTggMjI5M2UwZDdiNWM0NTA2ZmUxMzU4M2U3NmRmOWYwNWFlYjBmMWNlNiByZWxlYXNlMjItbWFpbnQKKzI1Mzk5IDIyOWI2MjRjNmI1NGM5MTYwYjM5MjM0M2JiYTY0YTU2NWUzMjc0NmMgcmVsZWFzZTIyLW1haW50CisyNTQwMCA3MjIzYzU0YjA3Mjc2ZDk4MGRkZTg5MzNhNWRiMDI5OTAyM2E1YmFiIHJlbGVhc2UyMi1tYWludAorMjU0MDEgZTZkNDRjZjI5ZGJmOTc2YTUxZTRmNWFjZGNiYWJmMDQ4NTZlZjAwMyByZWxlYXNlMjItbWFpbnQKKzI1NDAyIDEzMzljYmU5NGNlZTU1NDVhMzJiYjJmZWU0MWM0ZDM1OThkYTc4N2QgcmVsZWFzZTIyLW1haW50CisyNTQwMyA4NzVmYjViNzI5MTBjMzUxZjhhMjQzZDAzMDNiYzFmYWRiZTU2Nzg5IHJlbGVhc2UyMi1tYWludAorMjU0MDQgZTBhMjg4ZGIwMjJkZTFiMTFjY2JmY2E2NGFiZjU1OTYyZjE4OWU4NiBsZWdhY3ktdHJ1bmsKKzI1NDA1IGYzODYzMzAzYTlmNGZhNTVmMGJlYWM3NzkwYWRmNzBjYmI2ZmU3ZmUgcmVsZWFzZTIyLW1haW50CisyNTQwNiA0N2FhMTA4MWFmMjgwOTgwMDdlMWRmZjg4NTlmYTY0YWI0ZDUzMDUzIGxlZ2FjeS10cnVuaworMjU0MDcgMTQ5OGM2ZTRiNDNhMWY2ZGI5MTBlYmZlZmNkNGJlMzllMDdhZGQ4ZiByZWxlYXNlMjItbWFpbnQKKzI1NDA4IGNhMmNiYTEwYjQ0ODdhYWYwZmZmMjk1ZWYwZTU2Y2YwMDgzZGNiNTcgbGVnYWN5LXRydW5rCisyNTQwOSAyNzYyZDIyNTFlODVkYzY0YTc2MjEwYTExYTVmMGU0ZDNjZWYxNWQ5IGxlZ2FjeS10cnVuaworMjU0MTAgZWZhMjNkMjZmYTM1ZDQ2ZTRmZWNjNDc0NGY1MTFiODFkMTdmOGVhMyByZWxlYXNlMjEtbWFpbnQKKzI1NDExIDZiZTY1OTIzYzAyZDZkYzQ2NTUxZjk5Yjc4NzA0ZGM5ZmE3YmY3MWIgcmVsZWFzZTIyLW1haW50CisyNTQxMiA5YjFjYzk5ZjU5MzJhODQ5NzhjMjM4ZTM1NDQ5YWNhNmIzMmU2MjMxIGxlZ2FjeS10cnVuaworMjU0MTMgZWNmZjQwNDYxOTdkYTE4MDhiN2EyMWQ4MGEzMzIxY2VlNzBhOGZmMyBsZWdhY3ktdHJ1bmsKKzI1NDE0IGUzMWFkNGRkMzBkOTk4ODMzMzhkYjc1MzM3NzliMGNjNGI3ODVlYWMgbGVnYWN5LXRydW5rCisyNTQxNSAwOGQ1Y2Y1OTZiMDEwNzFjMGRjNjNjNDA3NGVjNjEwMzcxMjcxZDY5IGxlZ2FjeS10cnVuaworMjU0MTYgNDkxOTdmZDc2MzYyYjJmNzRmZWViYjM1Y2JiMjE4MGZhZWE0Y2U1MSBsZWdhY3ktdHJ1bmsKKzI1NDE3IDVjYmNmZGUzYWQ1NTA3NjdkZjg4YTE5NTE0NTQ2N2EzZWQ2ZTNkZTcgbGVnYWN5LXRydW5rCisyNTQxOCA4NmQwZjdmODY1NTA1ODdhMTkxNDU3ZmY4NWQ0NWE3NmQ5MGQyZDk4IHJlbGVhc2UyMi1tYWludAorMjU0MTkgOWYxZWI4ZmYxNzk1NmFkOGUyODE3NjU1MjRmZGRlYTU5ZjJkZWM0NCBsZWdhY3ktdHJ1bmsKKzI1NDIwIDQzODU0MzExNjRkYTU5ZmM2NWM3Njk2YjdjOTI5YjllY2E5MWY1NzUgbGVnYWN5LXRydW5rCisyNTQyMSBjYThhMjg0OWRkNTZlYzEzN2M1ZWY2ZjFiNTE1ZTM4NDA1ZjBlZWRjIHJlbGVhc2UyMi1tYWludAorMjU0MjIgNDZiY2VlMTFiNDgwNTBkMTE1OTVmMmQwM2FhMzQ1YzM1MzdkZTY0MyBsZWdhY3ktdHJ1bmsKKzI1NDIzIDUxZWUzYmRkYjcyY2U2ZTQxMzRjNzEyZGI0M2ExYmVjNjMwODhhOWMgcmVsZWFzZTIyLW1haW50CisyNTQyNCA1Y2I2Y2M0NmNkNDJjZTRkNjQ4NTgwZTVmYTdjZDYyMzNjNTU1MzU4IHJlbGVhc2UyMi1tYWludAorMjU0MjUgMTA4N2NhNTE5ZWI5YWU3ZjI1ZTM2M2YzYTg4M2NhYTliYWFhNjE0NyByZWxlYXNlMjItbWFpbnQKKzI1NDI2IGE1MGJhYTEyNmM3NWU2ZThkNmNmOGRkNTRiZDA1MzJmMDg2YWM4YzggcmVsZWFzZTIyLW1haW50CisyNTQyNyBiODM3NGRlODRlMmFlNzM1MTUxY2JhNDYxYzM1NzI3ZDA0NjkzZmEzIHJlbGVhc2UyMi1tYWludAorMjU0MjggOTcyMjRhOWNjODNjNjUxMmE3MGRmYjZhOTg3Y2U3Nzc2YWFmZWVjMiByZWxlYXNlMjItbWFpbnQKKzI1NDI5IGY1NzZkOTAwMDI2ZjM2Yjk1OTkzZjY0OTVlZjU4MDQ4OTM5N2Y1NWEgcmVsZWFzZTIyLW1haW50CisyNTQzMCA1YzE0OGY1ZTFjMTE0MjAwMjU5YmJjNzg0ZTViNDcwZTMwMTY5N2EzIHJlbGVhc2UyMi1tYWludAorMjU0MzEgM2MzYWNhYzg2NzM0NTQ5ZmEyNTAzMzI4YTllM2MyZWMyMWQwZmZkYSByZWxlYXNlMjItbWFpbnQKKzI1NDMyIDUwMzJlYzg5MWU3NDU2M2U4ZDJiMTM2MzdiZjMzZDgyNmVkYzFmZjIgcmVsZWFzZTIyLW1haW50CisyNTQzMyA0YmJhY2FlZGM2ZTJkNzQxNWJiMDI1YzQ2YTVjMGU4NWVmYTc0MTNjIHJlbGVhc2UyMi1tYWludAorMjU0MzQgYzJmOTBjZTU5NzU1Mzk4MzEzN2FiMDc3Mjg3YmY1ZmM2NDBlMWQ3NiByZWxlYXNlMjItbWFpbnQKKzI1NDM1IDUyMTA2MjkwZDM5MmM5NGFlNGVkNGI0MmU1YTVjODk4OWJjZGQ2MzAgcmVsZWFzZTIyLW1haW50CisyNTQzNiBlY2U0MzE1YzEyMDZmN2Q0MmI0NDFiOTgyNzM1ZWRkYzNhOGY4ZjQ4IHJlbGVhc2UyMi1tYWludAorMjU0MzcgNjU5MjZhOTcwYTE3MWM4MWUzMmQwMzgzNjA2ZGRlYWMyZDQwYjZkYyByZWxlYXNlMjItbWFpbnQKKzI1NDM4IDVkMWIyMjAzYjZlY2Y3Y2QyNTZiM2Y3ODYzZjkzMDc4NjIzMjUzMmQgcmVsZWFzZTIyLW1haW50CisyNTQzOSBiMzgzYzNmZjNiMWVjYmUyNmYxNjM0Y2EzMzhmZTYyOTBjN2JjNTYyIHJlbGVhc2UyMi1tYWludAorMjU0NDAgMjg1MmI0Y2I3ZjZhYmYwODY0NWQ1NTcwMGFiMjk5Yzg0YTkxYzVlZiByZWxlYXNlMjItbWFpbnQKKzI1NDQxIGI3MDIxMWMxZDI1Njc5ZTRlNGEzY2NjMTE2YTU4MDczOTZjNjdhZmIgcmVsZWFzZTIyLW1haW50CisyNTQ0MiBiNWI3NzM1MGEwMDQ0MDNkNzA0ZTdlMDc0MDEyODQwNmFhNzQ0NWU4IGxlZ2FjeS10cnVuaworMjU0NDMgOGQ1ZGMxYTdlZTE4N2JjYTEwMmUwMGU1NzM4ZjY0NTkxZTY2NWI2OCBsZWdhY3ktdHJ1bmsKKzI1NDQ0IDYwNzJmYTQxMGRjYzk0YTRjM2M5YzAzY2U5ZWIzYjFhOGU2NGJlOTMgcmVsZWFzZTIyLW1haW50CisyNTQ0NSA1NWM0ZDA4M2MzMDlhMGVhNzcyYTcwYzUxMDk0OTg4OGI0ODgxNjAwIGxlZ2FjeS10cnVuaworMjU0NDYgZGZlYWMwMzM0NTc0Zjc5ZTA2YjkzNGMzZjA5NThkNDVkMGViMDE0OSByZWxlYXNlMjItbWFpbnQKKzI1NDQ3IGFkM2Q1OTYxMjM0NWEyNDEyOGI4NmM4OTlhMmQzYTlmY2YwOGIwMWUgcmVsZWFzZTIyLW1haW50CisyNTQ0OCA2OGE2YTlkZDQyZjgwMTFjZmZjNTFiNjVmN2UyZDMwOTJkMGEyNjI5IHJlbGVhc2UyMi1tYWludAorMjU0NDkgYTlhZjg5ODY4Njg5YTA1OGZmMGZiYzNlZWIyOWYzNTZhMmE4YjhkOSByZWxlYXNlMjItbWFpbnQKKzI1NDUwIDViMjRhNmFlMmRjNGYwZDhkZmVlYjJhYTg0N2NlM2ZlNGRlNzMxOWMgbGVnYWN5LXRydW5rCisyNTQ1MSA3MzZmYjVhZWM5YjNiN2MxZTU3NzZmZGE4Mjg4YTAzOTlmNmNlZDUyIGxlZ2FjeS10cnVuaworMjU0NTIgNDAwOWMwODQwMmIxNDU2MDU1MjBlNjc0OGNkNDU0MmM4ZTJlMGQ5NiBsZWdhY3ktdHJ1bmsKKzI1NDUzIDkwZDNjZTNlYjE5Y2I1OWFjOTE2NjI3ZDBlOWI3NWNlNjIzYmIyZDMgbGVnYWN5LXRydW5rCisyNTQ1NCA3MDY1MTM1ZjkyMDJmMzhjZTg4ZGExYTRjZDc1YTI5MDUwYzM5NDdiIGxlZ2FjeS10cnVuaworMjU0NTUgN2EzZTAzYjU0MWZmYjEyNzgxMmFlZWM3MzQ4ZDBmMjQ1NjQwNDFlMyBsZWdhY3ktdHJ1bmsKKzI1NDU2IGNjOGI3ZjcxMTI3ZDg0ZDBmYTUzOGQ4YjgwMTczOWM0Y2Q2Y2M3MGQgcmVsZWFzZTIyLW1haW50CisyNTQ1NyA2NmM3NDVhN2FiYjFmZTgyMWVhYjU0YzUyNmFhNDUxM2U3ZmJiMTQ4IGxlZ2FjeS10cnVuaworMjU0NTggNTk1NWUwZTI5NzZkM2U5MTUxNDc2ZjdmNmIxYWJiN2QzODM4ZGM0MyBsZWdhY3ktdHJ1bmsKKzI1NDU5IDllNWZmNjc0NzQzN2Y5ZmU0Mzk2YTlhMTkyN2QwMjQzZTYzYWNmYTIgbGVnYWN5LXRydW5rCisyNTQ2MCAyZWZkNDNjYTAzM2Y2NDlkZTEzNTI1NzkxZDFlOGViODY5ZjdlOTNkIHJlbGVhc2UyMi1tYWludAorMjU0NjEgOTY2NzI1MDk1ODU0NmRmMmNlZDk5YmQ5NzEyODhlOTNhMDBjNjViZCBsZWdhY3ktdHJ1bmsKKzI1NDYyIGQwYWNiM2NiMDExZGE1NWViNzU2MzExNzRkNGY3OWIwZTlmZTU2N2EgbGVnYWN5LXRydW5rCisyNTQ2MyA0MjNiYzliNTFhN2U0MTMzYzVkYjQ1NWQ5ZjdiYTQ4OGI0NjVhNWM0IGxlZ2FjeS10cnVuaworMjU0NjQgYzgxZThlYTBjNGJhN2M3MzY1Nzk2NDhiY2I5NDJkOGE4YzUyYmNiMyBsZWdhY3ktdHJ1bmsKKzI1NDY1IGZjZjBjMjQ0ZTI4N2U5MmQ2YzYwMDZhYmRjZGFiMGRmM2MwYWE0NTkgcmVsZWFzZTIyLW1haW50CisyNTQ2NiA2NDQyZmJlNWRkMDQyNDBhMTY1NzUwZWNjOTA1NTQ5ZDRlZWUwZDdkIGxlZ2FjeS10cnVuaworMjU0NjcgY2QwY2U0NzBjMTUzYzk0OGFhYWY4ZmM0YzUzOWQyOTFhYzc2NGQwOSBsZWdhY3ktdHJ1bmsKKzI1NDY4IGQzODQ1ODA1MjQ0MmZmMTUyY2RhNDlhYjk4N2QwNzcxZTQ0ZWI4NmYgbGVnYWN5LXRydW5rCisyNTQ2OSA5M2ViNGI2MWY2ODdiYmRiNDA2NDI0NGNjNWZkOTEyMDVhZDcwZjg1IGxlZ2FjeS10cnVuaworMjU0NzAgMTNhYzI3ZmEwNzA0ODM5NDEwZmQ1YmVkY2ViYjM0NDdjN2ViZDRmYSBsZWdhY3ktdHJ1bmsKKzI1NDcxIDM1NGNkZTdmOTBhMTUyN2FhZmI2OGY4MTk3MzI4ZmJiZTA2MTliN2IgbGVnYWN5LXRydW5rCisyNTQ3MiA1OGYyYzI5OWI2NTQ0MzM4YjA3NjcyZWJiOTg5NDI5MTY5ZDg4NDJhIGxlZ2FjeS10cnVuaworMjU0NzMgYWQ3OTY5ZThmNThkZmFjMzk1MTk4NjQyOTQ1YmJjZTY1YTBjZDYwZCBsZWdhY3ktdHJ1bmsKKzI1NDc0IGM0OTQwODRkYzZkODg5MDgzMWQzMmRlYzNmZmI4OTVlYjUwODFlNzggbGVnYWN5LXRydW5rCisyNTQ3NSA4YjEwNGE4NWI5OWM3YTI3Nzc3NGExZmU2MDkyYzkxMWE4MmE5MGFiIGxlZ2FjeS10cnVuaworMjU0NzYgNzlmMjkyZGJhYmNlYTI5NWRiNmE2MTBjOTQyYjUzMTE1OTFhZWYwMiBsZWdhY3ktdHJ1bmsKKzI1NDc3IGM0NTRiNzZkNTFlN2I5MDA3MTVjZmU0MjI5ZDBlYzU1YzQ4MjAyM2EgbGVnYWN5LXRydW5rCisyNTQ3OCBkMTA0YmI1MGExOTRkMzJhZWNkNTAxNTVlZWRjYjEzZGFjMDc2YmIzIGxlZ2FjeS10cnVuaworMjU0NzkgMGM0MjMwMjY5ZWQzZWZiOThjOTdlNGI2ODQwMmIwYjQzNTliNTdmNSBsZWdhY3ktdHJ1bmsKKzI1NDgwIDEwNDY5NjQ4OTZhMWE0ZTM5NjY0NjU4NTJkYWM0YjQ5ZmI5ZGY4NjcgbGVnYWN5LXRydW5rCisyNTQ4MSBjYmMwOGIxNzJkMWZkNjE3NWJlZDliNjQwNjM0OTUxMTYyMjRkNzMyIGxlZ2FjeS10cnVuaworMjU0ODIgMDg1OWU3NjQ1MDllNmE5NjI2MTQ0Mjc1NDI0YjNhMmQxMGM0ZWVlYyByZWxlYXNlMjItbWFpbnQKKzI1NDgzIGIyYTJjYzBjMmE2MzczMGI4NTMwY2MzNWQ5NzNhNmFiMGUwMDkxNjkgbGVnYWN5LXRydW5rCisyNTQ4NCBkNDQwNmZiZmNiNGU1NGU5YjQxNTM0ZTkwOTc4NDQ0NWM4MmYyMjA4IHJlbGVhc2UyMi1tYWludAorMjU0ODUgMDc0YjdlM2U1NDhkOGU3MzExMWU5YWQ5MmZlYThhMGNkZGMxNjBiNiBsZWdhY3ktdHJ1bmsKKzI1NDg2IDNhMDZlMTlkZjQ2YjkwM2IyOTdhZWUzODM0YWRmMTRlNjg0OGNhYmIgbGVnYWN5LXRydW5rCisyNTQ4NyBlZGYwNWM2OWJiZjNiYmJlNTAzNWZiZmM0NjgwYzA2OTBkMTg1YjVhIGxlZ2FjeS10cnVuaworMjU0ODggNzRmMTZmN2E2MzY5NjY5N2M2MTllNmRlMTJmMjAzYTBiZjk5MTdmOCBsZWdhY3ktdHJ1bmsKKzI1NDg5IDk4NmViMWQ0ZWJlZjUzYWY0NTY4MzZhMzBiOTk5ZGY1NjMxMTAzY2UgbGVnYWN5LXRydW5rCisyNTQ5MCA1OTk0NDQwZTVkZDUyYjg2YzUzN2RhMzBiMDcwYTViZmU0ZmU1OTJiIGxlZ2FjeS10cnVuaworMjU0OTEgMmJmZDEzN2E5NzZmNTk4M2U0ZTdjMTY5MWQyN2RjOTUzMDEzYTk3OCBsZWdhY3ktdHJ1bmsKKzI1NDkyIGUxM2FhNGM2NzJhOTQ5YmE4NzBjOGQ4Yzg2NTcyNjc5ZWRlMzdlNWIgbGVnYWN5LXRydW5rCisyNTQ5MyBlODFiMzA3NmE2YzMwZDljYTQyN2M2NWRiOTIxZGM5NjVhODJhYWYyIGxlZ2FjeS10cnVuaworMjU0OTQgY2NhOTg4ZjNmNjRmMjA0N2EzZjRmM2UxNDJjNmJhZDQzMjdjMThjNyBsZWdhY3ktdHJ1bmsKKzI1NDk1IDk5ZTYwODE3Y2U2ZWNlMjUzMTk2ZjE5NDIzNGFjM2QxOGY3ZjY1NWUgcmVsZWFzZTIyLW1haW50CisyNTQ5NiA1NDkzMjA1NGY2YTk0MWU1ZWJhOGM4YjI3NWJkODM4MDI5NmViZWNmIHJlbGVhc2UyMi1tYWludAorMjU0OTcgZTU5OWU3YjhhYmY3MDI1M2JkZTViZDRkZWI0ZTdlZmI2NDI1ZmExNSByZWxlYXNlMjItbWFpbnQKKzI1NDk4IDlmZGRlOGNjZGNhNjVlNDRiODY3M2YwYTIzMzE0ZWQyMTk4OWYxMTggcmVsZWFzZTIyLW1haW50CisyNTQ5OSA3ZTE4ODE0MGI2MTgxYzI3OTMwOWVhZTIzOTg1YTZjOWRkMDUzZGUxIHJlbGVhc2UyMi1tYWludAorMjU1MDAgMWE1MTEwYjRiZDcyYTJlMDZiOTYyMzYzMzlmNWJlMTA3MGU2MmVlNCByZWxlYXNlMjItbWFpbnQKKzI1NTAxIGVkMmExN2EzNzZkMGM2YmVlNmUzNGJjMWJiMGRiZTI4ODRjZjYyZGYgcmVsZWFzZTIyLW1haW50CisyNTUwMiAzNDc3MDMwMzI3YTYwZTMwZmFhZDI4YzhjYjZkMDIyMzdhZDM0ZjIxIHJlbGVhc2UyMi1tYWludAorMjU1MDMgMWU4YmU3NGEzNzRiYmFkZDYyMjY1NjRlMWJkNmY2YmU0YjVjOTdhMyByZWxlYXNlMjItbWFpbnQKKzI1NTA0IDRmZjlmOGE3NGM4MjdlZjNlYTJiMzEyNWRlOGU1YzliMGRmNWI5MGMgcmVsZWFzZTIyLW1haW50CisyNTUwNSBjMjVkNmQ3ODBiMWI0NzJkOGI1YTYzNTI3NWIzNmUzZWU5YWYwOTJkIHJlbGVhc2UyMi1tYWludAorMjU1MDYgZmQwZWUwYTA3MDQ3ZDE3ZWM3MThmMTQyNDg5OWVkZGI2MTQ0N2NjNSByZWxlYXNlMjItbWFpbnQKKzI1NTA3IDhlYjU5MWRkNzY4MjY4ZDBmYWI5MTZiYjljMzRjMDM0M2VmODBiY2QgcmVsZWFzZTIyLW1haW50CisyNTUwOCBiZWY0NGQxMDhlNTc2MTM4MGYyMGRiM2Q3M2IwOWZkYTcxMDc0YmI3IHJlbGVhc2UyMi1tYWludAorMjU1MDkgZGIwNDA5MzhkYzY2M2IzZDZlZWRkNjE1NWUxZWY3MmU1MGNiZDkyMyByZWxlYXNlMjItbWFpbnQKKzI1NTEwIDFkMWEwMWQ5NTZhMmVmMGU4NDlmMDhkNjhlNjVjMTY2MDk2YjA4NjYgcmVsZWFzZTIyLW1haW50CisyNTUxMSBlYTliZTJlNWQ5NTQ0NTQ0MWJmNzNmMDIyZDFjNTFkZmNhM2RlM2RkIGxlZ2FjeS10cnVuaworMjU1MTIgMWU2MGIxZTE4MTQ1ZGRlMjgyY2E5NGNiMTJiODkxOWJkMWYxMWJmOSByZWxlYXNlMjItbWFpbnQKKzI1NTEzIGU0ZDdlNTEyOWU0YzE2N2QwY2JmOWEyNmQ5ZjRkODEyY2Y5OGZlMTUgbGVnYWN5LXRydW5rCisyNTUxNCA0YjM0NTk1MWE1YzUxY2ZkZmQ1MzVhNzk2ZDQyMmMxYzdiMTYxZmExIGxlZ2FjeS10cnVuaworMjU1MTUgYTUzNzMwY2QyOWMxNDc0YTVkN2NjOGJlM2M4OTI5YjdmYTc4NmQ5MSByZWxlYXNlMjItbWFpbnQKKzI1NTE2IDUxMzEwMzI0OTQ2MmQ3YzViM2Y3YmEwYjBiOGZiNDI4ZGRmZDg5ZTYgbGVnYWN5LXRydW5rCisyNTUxNyBlODFhNGU5OWVjZmEzYzZiMTIxMzViMzlhYzVkZmJjZDUwMDVjODY3IGxlZ2FjeS10cnVuaworMjU1MTggMzQ1ZGVmMzdiMGQ3YTU4N2U3NTBhNDZiNmZlMDM4MmY5ZTY2M2ViMSBsZWdhY3ktdHJ1bmsKKzI1NTE5IGUzMDE2MmIxYjMwNDY4ZGJmYzYxOTRmNjc3MmYwNWZjYjNlODExNTQgcmVsZWFzZTIyLW1haW50CisyNTUyMCAyYjNmNDM4MDY3M2Y4MTYyZmYxMjhkMmNjYjg5MmIxYmZiMDBmMzk4IHJlbGVhc2UyMi1tYWludAorMjU1MjEgYjFkNTczYTJhNzc0NWIzNzkzZmRhZGU0Njg0M2ZjYTg3MzQ3YTRhMSByZWxlYXNlMjItbWFpbnQKKzI1NTIyIDcxOTAyZTFjZmJlZjMwYjE3NmI4YjZlODlmZDljZWE0OGRjYjQ1ZDEgbGVnYWN5LXRydW5rCisyNTUyMyBkNjk3ZDg4ZDI1YjQwY2FlYWNjNTBhNDFmNzk4ZGYxMGIzOGJkZGYzIGxlZ2FjeS10cnVuaworMjU1MjQgYWY1MmJmOGUyYjg5ZjQzNTVhMGFhZDI2MWU0MWE5NjY4NmJmZWU4ZCByZWxlYXNlMjItbWFpbnQKKzI1NTI1IDgxZGZhMmRiNGM2MWIzMGVjYjg4M2VmNWY4NGE4NzUxMTVhNDIxY2IgcmVsZWFzZTIyLW1haW50CisyNTUyNiA0Mjg2MjE2OTU0MWZiOWQ1MDMwYTU5YTA1NWYwMDgwNzFlNmEyMDIzIHJlbGVhc2UyMi1tYWludAorMjU1MjcgYWY2MTIyZGYyOGUwN2U0MmNhNTY5ODA4NWYyMmE1NTRmYThiMjZjNiByZWxlYXNlMjItbWFpbnQKKzI1NTI4IDIyYzY2NTg3YzQ1MmUyNDk5OGNjMjM5ZmMxZDdlZmY5Mzk1YTFkMDMgcmVsZWFzZTIyLW1haW50CisyNTUyOSA4Mzc5NTFlY2RjZTk1NzU0Yzk5OWU4NTVkMWRhOWY2ZmQ1ZWU0ZmViIHJlbGVhc2UyMi1tYWludAorMjU1MzAgODU3OWQzZDMwMWQ0OGQ0ODUwYWVkNjQ0NGQwNjMyZGUxYjRjZWE3NCBsZWdhY3ktdHJ1bmsKKzI1NTMxIDY4ODMxYWM1NDk1YmIwMTNmZDAzZjg5MDQyMGY0ZTgyZDRkMDAzZjkgcmVsZWFzZTIyLW1haW50CisyNTUzMiA0ZDViZWNjNjkwMmJjY2YzZjZjYmY0Yzc4MzY5MDAwNDBiYTlhM2VlIGxlZ2FjeS10cnVuaworMjU1MzMgMzJhMWI0ODRhMmYzYTUyYThjNGU4ZTA5ZjNmNzdhM2FjYTZhYzVlYSBsZWdhY3ktdHJ1bmsKKzI1NTM0IDEwM2M0YzRjY2NmYjdiNzk0YmUzNTM3ZjBlOWNjNWFlMmQwMjE3MzIgcmVsZWFzZTIyLW1haW50CisyNTUzNSBjYThiZDk5N2U0MTlkNDE4OTY5Yzg2YjkxMWZiYzYzMmMzYzA4NGQ1IHJlbGVhc2UyMS1tYWludAorMjU1MzYgYzVjOWUzNmMzOTA5OWY5MzkzNzFlODQ5ZDc4ZDFkMjk1ZTgyYTIyZSBsZWdhY3ktdHJ1bmsKKzI1NTM3IDBlM2U2OWUwMWVjZDY0N2Q5YmYzNTdiMDVjYjJiODlmMTY2NWM3NGQgbGVnYWN5LXRydW5rCisyNTUzOCBjZGEzMDZiMjMyMWY2ZDYyYjU1YjY0MzRhZTExYmQ5Y2U5MjI2ZjY1IGxlZ2FjeS10cnVuaworMjU1MzkgZTIxOTZiYTM0MzMwZmNmZDlhNjg2NTI3YTI4YzcyZGVmMTEyOGRiNSBsZWdhY3ktdHJ1bmsKKzI1NTQwIGVlMzNiYmFmMzM4MTkzNGY2YjdmYWI3ODEyYWRjNjdhOTU4ZDkzZGIgbGVnYWN5LXRydW5rCisyNTU0MSA2ZmE1NmM0M2ExYmFlNDhjOGEwMTljOTVhOGYwMThmYTc4MDE1NmM1IGxlZ2FjeS10cnVuaworMjU1NDIgZGFmMDRkYjFhNjk5OGQ3OTJjMDQ1ZDZiZTljMGY5YWE3N2FiMjY2ZiByZWxlYXNlMjItbWFpbnQKKzI1NTQzIDI2NjMzNGE1YzRjYTI2YzY1ZTYzMjNmOTZkY2RhMjZlMjE0MzNiYWUgcmVsZWFzZTIyLW1haW50CisyNTU0NCBkMmE3NmY3ZGQ2NTEwNjZkNjc3YmQ0ZTUwMDNjNTIyZmQxZTA4MzdiIHJlbGVhc2UyMi1tYWludAorMjU1NDUgZjhhOWRiNjdmYTViNDVlOWRlYmJiMTUzYjcwMjczMzYxMzY3M2U4NyByZWxlYXNlMjItbWFpbnQKKzI1NTQ2IDUzNGU3OTA1OWJlMTAwODc2ODRkZjkwNjYwMWVlODI1OGI2NDY5ZjIgbGVnYWN5LXRydW5rCisyNTU0NyA4MWE4ZGIxNWZiOTg4YmVhNDA5MzRkZWQ0ZmFlMjEzZjkzMTc5NGVkIHJlbGVhc2UyMi1tYWludAorMjU1NDggYWMxMTMxZjczZDFmZDcwOWRiNzY4ODNhZjkzNDM2YmE4ZTE1ZjRmOSBsZWdhY3ktdHJ1bmsKKzI1NTQ5IGM2Mjg5ZWM4ZGEwYTc5Y2MxOGRlZGVjZDlkODdlYjZjZGU3OGY4NTYgbGVnYWN5LXRydW5rCisyNTU1MCAyYzVmODAzNzEyNjFlZGZhOWRmZjNhMjRlYmFjZGQ5MzMwMTIwZGZhIGxlZ2FjeS10cnVuaworMjU1NTEgYzZhNjYwZjg5ZmZlODU2OGVmZDlkMGIyMThkZjU4MDA0ODQxZjg4NyBsZWdhY3ktdHJ1bmsKKzI1NTUyIDFjYTJlYjY1MGUxMzc3YjU1ZjdjOWE3NDBmNDIwYTljNWE1MDIwZDYgbGVnYWN5LXRydW5rCisyNTU1MyA5NWU4NjQzMDk4MmJlN2Q5MjAwNjdmMjM5ZDBjMjFjZTBmNTc5ODcxIGxlZ2FjeS10cnVuaworMjU1NTQgY2I0ZWRkMTA4NzdkOTE3YzhlZGY3YWYzNDdkZDU0ZWM1Zjc1NGUxYyBsZWdhY3ktdHJ1bmsKKzI1NTU1IDA0NGY5ZTcxMzIwZjYyY2VjNjAyMmQzNWY5YzNiOTBlNmEwMzUyMGEgbGVnYWN5LXRydW5rCisyNTU1NiA5OGEzZmE1ZjY4N2NhYWVmYzE1OWZkMWU1NmE2MWJkOWQ5MDJlNGQxIGxlZ2FjeS10cnVuaworMjU1NTcgZmM2ZGMyZWEyNWNmNzdiOGMwNzAzZjY2MjFiODg2YTYwNDAxYjJkZSBsZWdhY3ktdHJ1bmsKKzI1NTU4IDI0YmE2OTNlOWM3MzllNjc2ZWYyMjQ1MDA4M2E5MWRiOTYwMWRhOGYgbGVnYWN5LXRydW5rCisyNTU1OSAwMWQ0NTgyNjk3NTAyZDY1MDFhYmJlNzYwOTQ1OGExZjE5ODAzODI3IGxlZ2FjeS10cnVuaworMjU1NjAgZDdmM2Y4M2I5NjU4OGMyYzBlNTBmZDViNzJhNGE5ZDhjNDg0OWYyMyBsZWdhY3ktdHJ1bmsKKzI1NTYxIDI2ZTNiNTYzZTI2MTMyZGFiOGIxNGZlNzQ5MWMxODZlY2UyMWMyMDggcmVsZWFzZTIyLW1haW50CisyNTU2MiA0ZWJhY2FlZTMwMDllMjY3ZGRmZGI1OWU3MGUwYjIxNTViZjY3ZTk5IHJlbGVhc2UyMS1tYWludAorMjU1NjMgZGFiMDVhYjAzNDdiOTNiNzE3ZTA2MDJiNmE5MjkxODUxYWFhMmNjYiBsZWdhY3ktdHJ1bmsKKzI1NTY0IGFkODFmOGZiNGVlNDc1MTQzOGE3NTEyZWQwY2Y4MzYwYmEzNThiMDIgbGVnYWN5LXRydW5rCisyNTU2NSA1ZjJjMGY2ZjBhZjczNDljNzUxZDBkODM1MjEwZGE2M2VkNmY4NjI3IGxlZ2FjeS10cnVuaworMjU1NjYgNDA5YWMwZjY4OThmNDFiMmQ3MjQ2YTcwNDhhMWE2Njc5OWJjNzMyMCBsZWdhY3ktdHJ1bmsKKzI1NTY3IDkyOGMxMjgyZTVlMmI1Y2ZjOGJmN2EzM2Q2Y2E0OGY3MTJiNDI1OTkgbGVnYWN5LXRydW5rCisyNTU2OCBmNDQ4NzM1MGM1Mzc4N2E4ZjRiYzQ5ZTI5MmFhZGEzYzNkMjQyMzEwIGxlZ2FjeS10cnVuaworMjU1NjkgYjg5OGMwZmViNzU0ZTQ4OWZjNDM1M2ZkOWZhMjllZmM2ZTcxNWVjNSBsZWdhY3ktdHJ1bmsKKzI1NTcwIGYwYWUzNzYyNTE4OTVjODBiYjE5Y2IwOWQ2MzNhZTY1OWY0NDFkZDIgbGVnYWN5LXRydW5rCisyNTU3MSA3ZmVmMzU2ZGFkNzVmOTFiYjdjMjQ2YjYzNWZmZWI2M2Y4Nzc0OTg3IGxlZ2FjeS10cnVuaworMjU1NzIgMGIwOGVlZmI2ZmMwNzdlZGRlNmQ3NTc4ZTJlZGVlNDUyN2Y3NTA5YyBsZWdhY3ktdHJ1bmsKKzI1NTczIDBkYzEwZDU1NzA2MjM4ZDQ3N2Y5Y2ExZmVhOGM2M2U2OWZhOWQ5OWEgbGVnYWN5LXRydW5rCisyNTU3NCAyMzkyNjljOTY1MTQ0M2RkMmRhYmIyNThiMDY4MDY1OTM0YWIxZDZjIHJlbGVhc2UyMi1tYWludAorMjU1NzUgMjM2MDZiNDlhZjc0MzA0NjQzYTkwN2FlMDZkNTBlNTU3ZTk4MzI5YiByZWxlYXNlMjItbWFpbnQKKzI1NTc2IDI2YmViZjIwODkxZTc1OWJiMjBhMDQxZGEzZmM0YzljY2NkYzcxYzUgbGVnYWN5LXRydW5rCisyNTU3NyBlMjRiYTA0ZDAxYjA4ZTcxY2ZlNjZmM2EyYTljODNhNjVhMzQ1OThmIGxlZ2FjeS10cnVuaworMjU1NzggOTA3ODMyZWU3MTczNzEzOTQzYzAzMmM4YzhiMjBjODc5NDk2MmNkNiBsZWdhY3ktdHJ1bmsKKzI1NTc5IDY0YzczMWQxODBlOTFlMWRkMjY3ODQxOTllMjZmZDA2YjdkODhjNGMgbGVnYWN5LXRydW5rCisyNTU4MCBkYTUxOGZjNzgwNjY3NDMyNjg0N2M2Zjk4ODU4MzQ2Y2JiOTc5M2M1IGxlZ2FjeS10cnVuaworMjU1ODEgNTQ0MGU0YjE3YWZmYjJlZTNhMmEyMzc4NGEyOGQwNGZmNmUzNjU2YiByZWxlYXNlMjItbWFpbnQKKzI1NTgyIDc4YmRmYmI2ZTU5ZTEzNWRlOWJhMTFiNzVhYTJhYzAyYjY0MDI4N2IgcmVsZWFzZTIyLW1haW50CisyNTU4MyA4MTI1NWI1YmUyMTlmYTM2MWYzOTdlNTViMGRjZTA0YzcwYWYzOTU5IHJlbGVhc2UyMi1tYWludAorMjU1ODQgZDZkMTJlMjFkNDRmNTI3MGI2ZDVhMjk5YWQyODhmOTdmZjllMDI3YiByZWxlYXNlMjItbWFpbnQKKzI1NTg1IGU2MWQyOTgyZmMxMzVkNDE1YzdlMzdkODRlYWIxNDM3NmRiYjcwZmUgcmVsZWFzZTIyLW1haW50CisyNTU4NiAwMWE1NWMzZDUwNWMwZDdhYWQ3OTViNzg4NWQ4YzE1MjBlMTMyNzA2IHJlbGVhc2UyMi1tYWludAorMjU1ODcgYTc2MmVkYjA0NjFhN2JlYzQ3MGEwY2NhYWE2Nzk0MDg2N2FhMTU1NSByZWxlYXNlMjItbWFpbnQKKzI1NTg4IDY3YTVlMjVkYzg4YmM3NGViMWM5MGYxMGZkZTAxYzhkOGQwMmRjMWEgcmVsZWFzZTIyLW1haW50CisyNTU4OSA3ZjRkMTVkODc4Y2NkNjA1MmMxMmNmMDgxMWVlNWE3Mjg2MTI1YTU0IHJlbGVhc2UyMi1tYWludAorMjU1OTAgMmY0OGFlNWM4YTk0NzBkMTlkMjRiY2JhYzAxY2I0NmY0YTgwNTE1ZiByZWxlYXNlMjItbWFpbnQKKzI1NTkxIDRiNmVkYTdkMGM4ZjU0Y2VjZDFhOGQ4MGRhMzk2MGQzNjI2Zjc0MjggcmVsZWFzZTIyLW1haW50CisyNTU5MiA5OTY4ZDhkZGRkNTNkZDYyOTZjY2MxZTcwMWM5NWQyNjM0Y2FlYTdhIHJlbGVhc2UyMi1tYWludAorMjU1OTMgZmM0MDU2YjljZjE4YzE3MTY4YTc2ZTA5NWRlMzYwMzhhYWQxMmY4OCByZWxlYXNlMjItbWFpbnQKKzI1NTk0IDQ1MmNjMGYzYWUzY2E4Zjc5ZjNhMTA1NzE4NzRmNzA2ZGNiMDlkNTEgcmVsZWFzZTIyLW1haW50CisyNTU5NSA2NDFmMjYzZjRmNDRiYjhlNDk0ZGVkYjA0MDg0OGQ0YTAyMjhmZWU5IHJlbGVhc2UyMi1tYWludAorMjU1OTYgMTgyZjAxNzNhOGVlZjViYzE1NTJhODg2NjA5NDdlNTc3ZDNmYjQ0NCBsZWdhY3ktdHJ1bmsKKzI1NTk3IDIyZmM4YjgyMmQ0MGQyYjA2MTFlMTM5MGU3ODQ4MjJlMGI5MGIwOTggbGVnYWN5LXRydW5rCisyNTU5OCAyOTg4NzlhOWY5ZjRiYjQ1YmYwMGZkNWI4N2I1M2FkZTI3YWNjYzgzIGxlZ2FjeS10cnVuaworMjU1OTkgNTBjNjY2NmZjNDU2NzAzOWE2ODA4ZjM4MDA0YzZmM2I3MDcyYTNlNCBsZWdhY3ktdHJ1bmsKKzI1NjAwIDQyN2UzMzFiNDFhMmUxY2U0Mjk0YzJkYzdmZWM3NzM4ODQyOTMyMWUgcmVsZWFzZTIyLW1haW50CisyNTYwMSBhZTU3OGM4YzZjZWQzODA3ODY1NGNlMWViMzMwZTMyZGRmYjc3ZjFlIGxlZ2FjeS10cnVuaworMjU2MDIgZTU0ZjVjNTBlZjA5YjlkYWVhZjE2ZWZkM2NmYjBjMGI4Yzk2YjZkYyBsZWdhY3ktdHJ1bmsKKzI1NjAzIDIzNmFlNTNkNjQ2NjIyNDYzMTE3YmU5NzUwNGU3ZDdhYzYwNDMxYjEgbGVnYWN5LXRydW5rCisyNTYwNCA3NTg0YjZmMWFmZGU0MjRkZDQwNTJlN2U2YTE2NWUwZmE3ZmNmMWNhIGxlZ2FjeS10cnVuaworMjU2MDUgMTYzZGU3MWYxOTQyOTM4YWMyYTVjZjkxYzkwMGQxNmViZTliNDQxYiBsZWdhY3ktdHJ1bmsKKzI1NjA2IDZhMjc5ZTE3MmQyMjNlNmZmMjlkZTFiMDMyNDg5MGU5ZmZjMjlhMTEgcmVsZWFzZTIyLW1haW50CisyNTYwNyA3MmZkYTY0YjJhMmU4Y2RiNGNjMzgwYzM3YWNmMjRhOGJhYzdjNzA2IGxlZ2FjeS10cnVuaworMjU2MDggZThlNDY1ZTZkNDVmOWYwOTMxYTEzMzY3YmExYWRjOGI0Njc5OWJlMyBsZWdhY3ktdHJ1bmsKKzI1NjA5IDI3YTBmYjAxOTU5OTEyNGJhMzYxOTU0NjU2Mzc0ZWMxNDkxOGQ0ZDAgbGVnYWN5LXRydW5rCisyNTYxMCBhYmNlZDU1ODFjMTg1MGE0YWMyMzExZjk5OGI3MjM1YjQ4YzRjODI0IGxlZ2FjeS10cnVuaworMjU2MTEgMWU3Y2M4ZTRiYWFiOTVhNGFiNjc2YzJkMDkwYjRiY2U0ZTY5MDg4ZiByZWxlYXNlMjItbWFpbnQKKzI1NjEyIDI3MmY5NjUzODVjNzEzYzc4YzMwZmE4ZmQyNWRmOWVhMTVjY2MxZjMgcmVsZWFzZTIxLW1haW50CisyNTYxMyBlZGFiYWQwMjVlZjFhNWI1ZTUxNzJhNTkzMDUxYTcwMGZmYTk5ZGI1IGxlZ2FjeS10cnVuaworMjU2MTQgOWYxMTkxMzJmZmJjNDYzZTk3OTBkYTVmOWI0ZmU0NDVjZjUyYmQzNSByZWxlYXNlMjEtbWFpbnQKKzI1NjE0IDcwZWRkMjkyYzc1N2FmNjhjYTIyNTkwY2VlOGM3ZDEzMTljOTllZTQgcmVsZWFzZTIyLW1haW50CisyNTYxNSAzN2I2OTgxNWFmMjJmZDU2ZjYzZGZmNGY4NGI1ODIzYWVjZjg5MzU2IGxlZ2FjeS10cnVuaworMjU2MTYgOTNkYjcyM2Q1ZTQ3ODkxMjBhMTgzMjI3NDFiM2ZjMTkxZTYwMjliZCBsZWdhY3ktdHJ1bmsKKzI1NjE3IDA5Mzk0MmJhZTFhNjM5YWYwMzgxMWE1NDhiNTBhNWE1MGM5MWI3NmIgcmVsZWFzZTIyLW1haW50CisyNTYxOCA1NGI2MzYxNjBhY2RmZTY0NmQ1MjJhY2FiZjJhMTBjOGZjYjUzZjhiIGxlZ2FjeS10cnVuaworMjU2MTkgYWEzYmY1MjVmNDgyY2I5OGQ1NzcyN2E0MGQ1MmUwNDMxMmExOTRjZCBsZWdhY3ktdHJ1bmsKKzI1NjIwIDIxNmNjZGEyODRkODU4NWU1YmZkYzI2ZTViNDYyMzE3Mzg1MzdiMzYgbGVnYWN5LXRydW5rCisyNTYyMSAwNzUwNWE0NTEwMTc2YmYzODA0YmQzMzFlODRjYTg3Yzk2OWYxOWMwIGxlZ2FjeS10cnVuaworMjU2MjIgZDMwNzk3ZTVjYzFhYjg1NTM1OTM4OTcxNDJlMTIwZDM3N2RkYzAzYyByZWxlYXNlMjItbWFpbnQKKzI1NjIzIDZjMzRjZDNhOThhOTNlMDI4ZmVlN2VkOWQyY2IyNWFkZDYzZDkyMzkgcmVsZWFzZTIxLW1haW50CisyNTYyNCBhZmYyMTQ1M2JlZmZmMWEzMzFhMjVmODYwNTgxODNjYjhhMDFmNzcxIGxlZ2FjeS10cnVuaworMjU2MjUgMTdlOGEzYzkzMTBjYzM5MDJmNGM3YTZlOGVkNTBiYTY2MmE5ZWI4YiBsZWdhY3ktdHJ1bmsKKzI1NjI2IDhlOTlkNTY4MTk4NDZlZjQwODVmNTM4NThjZjI0ZGQxZjg3NGQyNzUgcmVsZWFzZTIyLW1haW50CisyNTYyNyAxNTBhMmE5YzU1Yjg3Y2FlZjI0NzMxNjY4ZWFkZDVhN2E5NmUyN2FiIGxlZ2FjeS10cnVuaworMjU2MjggNjQ4NWQxYmE3MzVjYzVlYzVhNjgzMDAzNGY2ZTllOGYxODQ4YzYzZSByZWxlYXNlMjItbWFpbnQKKzI1NjI5IGY5YTVhOGZjMzE3Nzk2ZTAxYzYwYzhkMzNmM2ZiYjM2YWYzNjAzNTUgcmVsZWFzZTIxLW1haW50CisyNTYzMCAyYThiZjNkMGJkODY1ZWI3MGMxOWU1MmM4NmExMjk0YTZkMzZhNzE3IHJlbGVhc2UyMS1tYWludAorMjU2MzEgMTAwMDdhYTc4YTVlOTU0NjI4ZDk1NzJiM2UwMGY5ZmJhZTJkMzVlOSBsZWdhY3ktdHJ1bmsKKzI1NjMyIDY5YWQyYTFhZDY4OWUxNDYwZjAxOWU3ZTc0MDNkZTQ3NTU4MDcyNTEgcmVsZWFzZTIyLW1haW50CisyNTYzMyAwYmIxN2QzYjUxOTdkMTZiMDJkNmM4YzE5YzA1ODU5NjQyMWU0MGJlIHJlbGVhc2UyMi1tYWludAorMjU2MzQgMjgzODE2NTI5ZTcyNTBmZmVjNTQ0Mjc4OWEyYjY0MzY0NDcwZmU5NyByZWxlYXNlMjItbWFpbnQKKzI1NjM1IDc2M2Q1YWU4OWU5ZWQ4N2MwNGQwOWFmZDE4M2UyZmZiNjBiNTJjZWMgbGVnYWN5LXRydW5rCisyNTYzNiAxN2NhMjkwN2QxMzU5ZDEzMjJlODkzZTAzNzI1ZGI2ZWFlZmUwMjkxIGxlZ2FjeS10cnVuaworMjU2MzcgM2M2ODVjMDM3Nzk0ZmE4MmRkODE4NGYzMGFkY2NjODc3YzhmZDM4OSByZWxlYXNlMjItbWFpbnQKKzI1NjM4IGYyZGEyNThhYWMyMDk2ODU2NmJlNGE2NDhiNjc1NjU0Zjc0NjBmYWEgcmVsZWFzZTIyLW1haW50CisyNTYzOSA5ODkxOTU4ZmM0YjI5NmI3MTE0MmNmZGEzMjFkODZkYWZlMGUwYzE3IHJlbGVhc2UyMi1tYWludAorMjU2NDAgYWE0NGQzNzk5YjQ3YmJiMzUyYWM2YzEyZThjYzgxOTM5Y2UxYzVhNyByZWxlYXNlMjItbWFpbnQKKzI1NjQxIDZkNGUwNWQyNTc1OTZmNGU2MzU4ZTEwNmI5ZTAzYWJiNTJmMTQ0YjEgbGVnYWN5LXRydW5rCisyNTY0MiAyMmUwZGFkYTU2ZDdiODY0YmIzZWQ1MjQ4ZmE3YzVmNjA3YmE2OTE0IHJlbGVhc2UyMi1tYWludAorMjU2NDMgNmEzNDhhMzkwMGNkZjgzNjA1MDBiZjI1NTRmZTUzMjgyNDNjMWM2YiBsZWdhY3ktdHJ1bmsKKzI1NjQ0IGYwMzQ2ZDkzMDc3MDE2ZTJjNmExMzE3YjAyMmJlODYwN2VjYThiMzggbGVnYWN5LXRydW5rCisyNTY0NSA1YWRlN2U4MjA0ZTUyMDJmNjExNTE0NzVlZWExZDkzNGM0N2UzYmZlIGxlZ2FjeS10cnVuaworMjU2NDYgMTYwZTMzNWZiZTZmZGQyYjQxZGVkMTYzNjI5YzVmM2FlMzYwNjk3MyBsZWdhY3ktdHJ1bmsKKzI1NjQ3IDU2ZjRkZmNjYTlkODFmYzE1MmI1MjRkZjg5YTg3Njg1ZjlmZTE0NjMgbGVnYWN5LXRydW5rCisyNTY0OCBjYjZjODVkODM5MWY1ZWQ1MTcyNTI3YzRjODAyMGM5MmIyMDg1NTgxIHJlbGVhc2UyMi1tYWludAorMjU2NDkgZTRlNTRmYzVmYjNkMzk1Mjg4YWExZDA0ZDY2NmQwZmQ4ZmQyZmIzOCBsZWdhY3ktdHJ1bmsKKzI1NjUwIDkwNzhmMjk3NmJjY2EzYzA0NGU4OGRkYTVmNjYzYTE0ZTI0MzRlMjUgbGVnYWN5LXRydW5rCisyNTY1MSAxODczODMzYzYxNmRmNDMzYjE3ZGFjMWY5NzZiMzM5OWIyNzhlYjNiIGxlZ2FjeS10cnVuaworMjU2NTIgYTc5NTg5NzFkZTFjNzJkYzNjZWVhOGM0OTRmNjE4MzcxNjQ3ZWU5OSBsZWdhY3ktdHJ1bmsKKzI1NjUzIDEyNTc3YWU5NTk1NjIzMjY2Y2M5OWZlZTg4YzI4MjBkNDUwMDE4MjkgbGVnYWN5LXRydW5rCisyNTY1NCA0OWVkYmVlOWRhZTIyMjQ4YzVkMzFjODY0N2EzMjA5ZTI3NDY3ZmU0IGxlZ2FjeS10cnVuaworMjU2NTUgMjRhZjg0MjAzMGEwYjQ3ODc4NjNhNDk5ZmFjYjk4ZmQ1YjRjMDZlNiByZWxlYXNlMjItbWFpbnQKKzI1NjU2IGM2YzFhNWZiYjZjMWYzZWRlZWY5Zjc3Y2RmNjlhYTUzMGI0MmJkMWEgcmVsZWFzZTIyLW1haW50CisyNTY1NyAzYzc0YTFiMTI4N2FmYWNjZTJiODdhN2E4OTA2ODMxODgwZGYxYTc5IHJlbGVhc2UyMi1tYWludAorMjU2NTggOWEwOTFkNzIxMzZhYzA1ZjE1ZTg0NzYyYjY4MTk3Nzc3YWY3ZDcxOSByZWxlYXNlMjItbWFpbnQKKzI1NjU5IDU0M2IyYTQ4NDY3YjY0Y2RiZTM2NDY2OTI1MDIxODhhYzI5MmU3NDUgcmVsZWFzZTIyLW1haW50CisyNTY2MCA2MzNhOTZhNjUwMDkxNDhlY2U5M2VjOGFmODQzMzk3MmNmNWYwNmE3IHJlbGVhc2UyMi1tYWludAorMjU2NjEgNDFiNTE1M2Q3MDVlNWY3YzBhNjgxYmY1NTFlYjIzMGMzNjE4YzFiMSByZWxlYXNlMjItbWFpbnQKKzI1NjYyIDU0YmNjNWVjM2E1MTI1NTcyZDA5MDE1YmEzOTA1MzIyZGU0MWFjMzcgcmVsZWFzZTIyLW1haW50CisyNTY2MyBhMzQ2MGNiMjNmMTk0NTE1NDg3ZWQyODk0MjJjMjU5YmYwYjU5MTRjIHJlbGVhc2UyMi1tYWludAorMjU2NjQgYTBjYzUyNzM1ZTZlNDY4ZDk0ZmYyMGVmNjQ0NjE5NGNjMjc5M2FmNSBsZWdhY3ktdHJ1bmsKKzI1NjY1IGM0MDM2MzMzNTU4NTUxOTY2NjhhZjU3MzcwNmRiMmNmZmQ4YWI3YTggbGVnYWN5LXRydW5rCisyNTY2NiA5YzQzNWIxYjU5YTU2YzA0NGFmYzlmMDdjMDI0NjlhN2ViNDM2N2FkIGxlZ2FjeS10cnVuaworMjU2NjcgZWEzYjE4Nzc0NmY3ZDUzOWU3YzIyMzgzMTNiODYxNTg3ZTlmYTRiYiBsZWdhY3ktdHJ1bmsKKzI1NjY4IDA4OWFiNWJhOTQ2NmI0NmVkYTYwMzIzOTJlMjY2MWQ5YTRjZmVlZGQgbGVnYWN5LXRydW5rCisyNTY2OSA5OWUxZmVjMjZiNDA1YWJiNDRiNjIxMGRhM2RjYjA1MWMwYWVlNDkyIGxlZ2FjeS10cnVuaworMjU2NzAgYjU1ZDdiYzA1ZWM4ODY3NmIyZjEwOGY0ODk2NWUzMzYwNGIyNzIyMyByZWxlYXNlMjItbWFpbnQKKzI1NjcxIDEzNGNiNDE4Njk0NjZhYmNmNDJmODA4ZWI1YmExYWRjN2RmZTBmNGMgbGVnYWN5LXRydW5rCisyNTY3MiAwNDk3MzljYTBjMTM1ZDFhNTFjMWU1MTI5Mjg5YmE5OTVkZjQ5MjZiIHJlbGVhc2UyMi1tYWludAorMjU2NzMgMzVjOWJlNjkzODg4ZTAwYmRhZjg1MGFhMGZkOGIwZDk4NTYwOTdhZiBsZWdhY3ktdHJ1bmsKKzI1Njc0IDE5ZDFkMzUwMjBiZDQzN2QzYmRiNDYxMjQwY2VmMGQyMDZhNGQzOGEgbGVnYWN5LXRydW5rCisyNTY3NSAzZjZkZGVhYzQ4NTZiNTI4OGZlMDcwM2YyYzU0ZjFhMDk3ZDdkYmJiIHJlbGVhc2UyMi1tYWludAorMjU2NzYgYTQxNWNhM2U4OTAzODYwMTRiNzgwMTJlNWUyZTg0Yjg2Y2Y5ZTY3ZSByZWxlYXNlMjItbWFpbnQKKzI1Njc3IDA0MDhlY2Q4NGFhMmEyNjA0OWYyZTkxZGQ0ZjZiZTY2ZmU1YzMyNTMgbGVnYWN5LXRydW5rCisyNTY3OCBjYzc4OGIzYjIxYjYyMjRiMzZkNzY5OTViMzhlY2VkZGZkZmY3MjQ0IHJlbGVhc2UyMi1tYWludAorMjU2NzkgZGM4MGNlMTFmYWUzOTA5YTMxNDE3NTU4MGI0YjMyNGEwYjRhMzFmOCBsZWdhY3ktdHJ1bmsKKzI1NjgwIDVmNGZmYmZlNmJlNjgxYjVmOTYwYjZiMTlmNDM5MGZmMDNhYmE2YjkgbGVnYWN5LXRydW5rCisyNTY4MSBhYjc0ZmY4MGY5ZDBhYzUzYjIzMjJjZjVmYmU2Mzg5NjllNTQwZTZlIGxlZ2FjeS10cnVuaworMjU2ODIgZGM2MDU0ZTViNjQyY2QzYzNmMWY2MTdkN2Q0MzI5MGUyNGMyZDBmMCByZWxlYXNlMjItbWFpbnQKKzI1NjgzIDA5NmI3NTEyMGU3MmI0NGZlNGEzMmRlMjkzY2Y4Y2IyMDBlYTZiMjEgcmVsZWFzZTIyLW1haW50CisyNTY4NCA1YTc3OGFlMTg1MTIzODkxY2VlYWEwZDYxOWFjNGEyZmE1Zjg3Y2IzIGxlZ2FjeS10cnVuaworMjU2ODUgYWM5NzZkMzY3MDhkM2Q3ODFjMGY3YTYwNjY4YzcxNGVmNDgwNmJiYiByZWxlYXNlMjEtbWFpbnQKKzI1Njg2IDMxZDlkMTFhMjk0Y2E5N2Q1YmNmYjkxY2ZmOWVjNjBiMjQzYzFkZGQgcmVsZWFzZTIyLW1haW50CisyNTY4NyBkZmYwYTQ0YjIzNjhlNDE0YTQ0NTY4ZWFmNzJhMTM1ZmY5NjBiNGIyIGxlZ2FjeS10cnVuaworMjU2ODggMTZmMGRlZmE0NWMyMGRmMjYwNDE2MGFmMzgxM2NjMjkxMDIyYWE2OSByZWxlYXNlMjItbWFpbnQKKzI1Njg5IDM5OTI1NDRkYzE0NWZiZWJmYjEzNzM1MDI4NjZjYzQ5NDg4MDljNmIgcmVsZWFzZTIxLW1haW50CisyNTY5MCA2ZDA4YTI5NTViYjYyNTE4NzI3OTIxZjE0MDg4MTJlZTc1ZDgzMDcwIGxlZ2FjeS10cnVuaworMjU2OTEgYTYxOTNhODdmNTAwZTI3NzdiM2YxOTY4MzhlNjAyYjZiZjdmYjg1NCByZWxlYXNlMjItbWFpbnQKKzI1NjkyIDFhNzUwZmI5M2IxNjkzNjFjYmIwZWY4ZDA0NjFmNTA2MGYyZTk2ZmUgcmVsZWFzZTIyLW1haW50CisyNTY5MyBmMmViOTVmYjQ1MjllMjc2OTU2ZjA2YWRlYWE3YjMyMmIxNTQwODVmIHJlbGVhc2UyMi1tYWludAorMjU2OTQgMjhlMzc5MDViZWU0NTgyOTM0ODU5NzNiYjBjMTc0Y2QyODk4ZTM4ZCByZWxlYXNlMjItbWFpbnQKKzI1Njk1IDc5ODU2YWQ3NDlhYjdkYzczOTg2YTkzMTIzMjA2YjUxY2M3NWQzZjIgcmVsZWFzZTIyLW1haW50CisyNTY5NiBkZWJiMDA1ZjE2NzNhMDM5MmY3M2QwNzg5OTBlYjgwMWExZDIxMzYwIHJlbGVhc2UyMi1tYWludAorMjU2OTcgMGZkMzgzMWNmMmEwNzU3YTNmNjM3MDc1ZGE2MjRmOGMyOWZmMDJkZSByZWxlYXNlMjItbWFpbnQKKzI1Njk4IDAyOWU0Y2JkMjMxMjk5YjFiZDFjY2EyYWFmNmZkZDQ0ZWUxMzRjZTIgcmVsZWFzZTIyLW1haW50CisyNTY5OSBjOTAxZDE1OGFkNjg5MzZlOWMxMTUxNmYyM2FkMjg4YTEzYjA2YmQ5IHJlbGVhc2UyMi1tYWludAorMjU3MDAgYTM0ZjkxOTVmNjExZTczZjYzMjVmZWY0ZGEzYjAxMTgwNzIwODA5NSByZWxlYXNlMjItbWFpbnQKKzI1NzAxIDZjM2UzMjM1N2Q5MTA4YzMyNzYxNmFiYWEyZTFiYmRhZjM2YWJjOWEgbGVnYWN5LXRydW5rCisyNTcwMiA3ZWNjNDkxMTdkN2U4OGI2NzI1MGY0YzM0MzdmMjYzYjdmN2Q5OWIxIHJlbGVhc2UyMi1tYWludAorMjU3MDMgMjU0OGUyZjMyM2ZhN2U5Y2UzZjA4NjRiMzcyNGNlMDQ5MGQ3M2NiZiBsZWdhY3ktdHJ1bmsKKzI1NzA0IDEyZDIwNGQ5M2FmMzY1MzQ1MmZjZjFjMTY4MmNjNmE0NTI5NzQ2NWYgcmVsZWFzZTIyLW1haW50CisyNTcwNSA2NDFmYjRiNDcyMGU3NjljZWI4MWZjZDQ2MjFhNTc1YjgzMDEyYzc4IHJlbGVhc2UyMi1tYWludAorMjU3MDYgZjk3NmZhYTMzMGVhMTY3ZDgyYWQ1ZWZiYWRkODQ1NDhmYTJlMTk4MiByZWxlYXNlMjItbWFpbnQKKzI1NzA3IDFmNzMyNTFjNjI1YWM2MjIwOWRmNjZjNjI5OGFmMTg2OGJiMzRjYWMgbGVnYWN5LXRydW5rCisyNTcwOCAyN2YzNmY0YmY1MjU4YmVjNDUwMzMzMTRmYmZkNTA4MjgyMzRlMGU0IGxlZ2FjeS10cnVuaworMjU3MDkgYjg3OWU2ODUxYmUzYjk4ZjFiMWMwYTUxMGM5MmEyNWNiMjc2ZWI0OCBsZWdhY3ktdHJ1bmsKKzI1NzEwIDUxYWE5ZWIyNGQ4MWY2MjdiMGQ5Y2YyN2I3ZjUzYzNiZWVjNjJmNzUgcmVsZWFzZTIyLW1haW50CisyNTcxMSBmYjlhMDA4MjFjMGQ1MGQzM2Y4MGRjNmRjMTJiY2Y0Yjc0MzhkNDZhIHJlbGVhc2UyMi1tYWludAorMjU3MTIgNGNlNTE3YjNlMzAxZjZjYzUyZDY0ZGE4OGQxMWNhMWM5YmMxOGU5NiByZWxlYXNlMjItbWFpbnQKKzI1NzEzIGEyNzMzZmVmZmIzNjY5N2ExYzE0ZGJiNWFmODY0OWM5MDcyOTViNzggcmVsZWFzZTIyLW1haW50CisyNTcxNCAxYmI0ZDJiYWJjMTQ1YzZmMmI1ZTdhYzMwYzBmMjhiYzIzNzE1OTI4IHJlbGVhc2UyMi1tYWludAorMjU3MTUgNWE5ZGFkYTdjYmFjMzdkNTVkNzI0MjY4OTBhNTViMGMwM2FiNDMxYSByZWxlYXNlMjItbWFpbnQKKzI1NzE2IGRjYTRhN2MzNmViOTljYzlhNWI0M2U4YmE2MzljMDM4YmExMDdkZWUgcmVsZWFzZTIyLW1haW50CisyNTcxNyAzNTEzYTlkMDkwYTlhOTVlM2ZlNGNkMjE1Y2UzNjI4NjBmN2JhYTAzIHJlbGVhc2UyMi1tYWludAorMjU3MTggOTJlYmU0OWQyMmM1M2JkMTU4YTljZjYxNDg4OGUwZTlhY2MzM2I1YiByZWxlYXNlMjItbWFpbnQKKzI1NzE5IDg0ZjJjNzc4M2QzMTAxNjViN2JmZDg0ZjgwODYxNWRiNTc2MjhkMmEgcmVsZWFzZTIyLW1haW50CisyNTcyMCBkZDE3YWFkZTNiZWI4YTU1MjQ1ZWZiYTY3ZThiYmIzN2Y0MTAxNTdmIGxlZ2FjeS10cnVuaworMjU3MjEgZGY5NzliZGQ2YWVmZDJiZWRiMjQ1MzcwMDg4MDQyMjJlZmM4NTRmYyBsZWdhY3ktdHJ1bmsKKzI1NzIyIGM4YTZlYTAwYTllMWFkY2JiMTlhNjJjMDFlY2VkMDQyNTFiZjBiMjcgbGVnYWN5LXRydW5rCisyNTcyMyAxN2Q1NjEyNDNmZjgxMmRkMTJhZjZlZDgwNTc1YmFhY2RkNTYyZWY3IGxlZ2FjeS10cnVuaworMjU3MjQgOGVkNjQ3ZDMxZjQ0ZWY0ZmE5NWIxNWM2ZmUxMjM1ODQyYmUwMGMxNCBsZWdhY3ktdHJ1bmsKKzI1NzI1IDZhYzQxNTBjNGU4ODQxYTI5YjIxYjZjYTI2NmYzYmVmODkxOWEyOTcgbGVnYWN5LXRydW5rCisyNTcyNiAzNGNiZWZkMmMzZmU5NjY3NjU1ODU3MDA1MTdlNDE4ZjdjOGM1OTQzIGxlZ2FjeS10cnVuaworMjU3MjcgYzg1NGI2ZDBiMmMwNGJiNzE5NzdmYzFjNGYyNDg5NzNkNDQ4YWJlNiByZWxlYXNlMjItbWFpbnQKKzI1NzI4IDEyMWUxOThmNmRkYTllOGI5NTNkNzQ2ZjAxNDJlODI0NDEyYTA0ZDMgbGVnYWN5LXRydW5rCisyNTcyOSBmMmI2Y2NjMDA4MDg1MTRjYTM0YzFiYmVkMzUzODk0MjBiNzU3ZjI4IGxlZ2FjeS10cnVuaworMjU3MzAgNzE1ZDYzMWVlYTJmNDI2MjNhY2ZjYzhhZmZiNTE0MTJkM2EwNjg1NCBsZWdhY3ktdHJ1bmsKKzI1NzMxIDdmMGQzOTAxNGUyZTE1ZWE5ZmIzZGFhMTAwYTkyNmM5MjQyZDgyNzEgbGVnYWN5LXRydW5rCisyNTczMiBjMjEwNTYyZTE1NTgwYzYyNjUxN2NmMmI5MmZjNjU3NWM2YTMzNGJmIGxlZ2FjeS10cnVuaworMjU3MzMgYjM1N2RmMzAxZjVmMjU2ZjJmMzRhZDI5ZjMzODdhYjUzMDRiNzUzYyBsZWdhY3ktdHJ1bmsKKzI1NzM0IDA3MWY1MDNlNWY0ZjRhZWMzNTNiNGY5ZDI5OTJhY2EzYTA2YmI0YTQgcmVsZWFzZTIyLW1haW50CisyNTczNSAwYTk2ZGFiNzBhMTU3NGViOGEwYmQ1YzQxZmI3ZDA4N2U1NzdmZDQ1IHJlbGVhc2UyMi1tYWludAorMjU3MzYgMjQxNzY5NDMyNGVmMDhkMTMwZmYzZmZiZWU5YmVjOGYxYjljODQyNSBsZWdhY3ktdHJ1bmsKKzI1NzM3IDg2MDBkYmE0ZjU5ZDNkMjUyMTcyMmNkN2RhYTEyMzc3Mzg5ZTViMDkgcmVsZWFzZTIyLW1haW50CisyNTczOCBjZjlmMWI2ZGJhM2I0Nzg3ZGViOWZiNWU5YzE5ZDliY2ViYmNlYmEzIHJlbGVhc2UyMi1tYWludAorMjU3MzkgNzc1ZGE2MTc4ZTg2NTU3ZjAxYzI3YWRiNjE2MmMxOGU2OWVkN2Q5OSByZWxlYXNlMjItbWFpbnQKKzI1NzQwIDQ2NjhkMWM5MjZjZGYwNDljZjU4Y2Y5YTdhYTkzYTJkYTA4MzcwN2MgcmVsZWFzZTIyLW1haW50CisyNTc0MSA1NTUxMmZlMWQ2ZjE0YTQxNzJlNTRlNzUxOTM3OGVkOTRmM2FhYzdmIGxlZ2FjeS10cnVuaworMjU3NDIgYjkwMDRiODM2OTk0ZDk0M2M5NGNhMGQ0ZmMzNjM4Y2JhMzQ0MjM4MCByZWxlYXNlMjItbWFpbnQKKzI1NzQzIDY4ZTdlOGRmYzVmNTAyYmQ2M2U0NzJmMGQ0YTg2NDljNmI5ZTFhODEgcmVsZWFzZTIyLW1haW50CisyNTc0NCAxNjVlMjBhYzBhYjEyYTdjMjk0MzkzNTk0NDVkOWZlYTA3MDYyN2IxIHJlbGVhc2UyMi1tYWludAorMjU3NDUgZDVmNjNlN2NhYjMxYmQ0YjY1M2VkNjFiZmYyYzEwZmM3ODMxYmM2MiBsZWdhY3ktdHJ1bmsKKzI1NzQ2IDQyZTZjM2NkYzA5NTgyNzZjNjIyNjAxOTg4MDViNTE3MGE1ZWUzMWQgbGVnYWN5LXRydW5rCisyNTc0NyA4ZmM5YTU3NmZiZmZjNDFkYTUxMGMwZmNmMjExN2MzY2Q1N2Q0MTIzIHJlbGVhc2UyMi1tYWludAorMjU3NDggMDkyOTg5NGNkZjk1ZmMwNTYxYWYyMGIxOTM4N2QwNTY5YjhjYWVhNCBsZWdhY3ktdHJ1bmsKKzI1NzQ5IGI1OWU4YThkZjU3ZTg2N2IyYjU1OGQ5YmMxMzJlMTc2NDEwOTg0ZTIgcmVsZWFzZTIyLW1haW50CisyNTc1MCBjNzNjNmE1YjZhODA0NGJlMzc5NWZlMDA1MDRjYzU2YmFjZTk3NjlhIHJlbGVhc2UyMi1tYWludAorMjU3NTEgZmQwNTBhYzFlMGNlNWIyOGRmN2VhZWRiYTA5ZGJlMzljMDdhMmU1MCBsZWdhY3ktdHJ1bmsKKzI1NzUyIGFmODg0MWFjMjk4OWRiYWJlMmZkY2M0NjY0NDg2ZWUwNTUyNmU4NjAgbGVnYWN5LXRydW5rCisyNTc1MyAxMWY2ZjhjMWNlNzM0Zjk4NTc3YWFlYTk4YTVlZTU5MWQ2Y2E4NTYzIHJlbGVhc2UyMi1tYWludAorMjU3NTMgNzY1NDM0ZTdhYTAxOWMxYmI4MmY5ODEzYjgwMjU4MzA4NjdjYmRjMCByZWxlYXNlMjItbWFpbnQKKzI1NzU1IGU4OGQ1ZTI2ODdlZTQ3MzA2NmVmYjgwMzZjZDc5MzhiOTRkOTBlZDAgbGVnYWN5LXRydW5rCisyNTc1NiBhYjY2MTZlNmNlYmZkMWZiOWM3OGUyYzQ5YWYwOGE2MDg5NGZjY2JmIGxlZ2FjeS10cnVuaworMjU3NTcgMGM4YTM4NWZjOGEwMTMwYTEwYzNjODBmYzg3YzU5YzY4NGZjMjM3OCBsZWdhY3ktdHJ1bmsKKzI1NzU4IDY3MDZiODNkMWJkMTVjMzlhYjk1ZGY0Mzc5ZjRjMzc5ZGZjODViYmEgbGVnYWN5LXRydW5rCisyNTc1OSAxMzJhMDY0ZGE2NTZlNTIzZTZmMDVjZTg1ZjEzMjdjMjRkYjgwMDBmIGxlZ2FjeS10cnVuaworMjU3NjAgOTYzZTgxNGU2OWNjZjVmZTYwMmM0YmMwYzI2NGEwNTlmMzE3NDhjOSBsZWdhY3ktdHJ1bmsKKzI1NzYxIDk4NGViOTk1ZmI5ZWRjM2M1Y2MxZTg4MjMwZGIyNjcyMWNjOGRlNmQgbGVnYWN5LXRydW5rCisyNTc2MiA3MTg1N2YxNjIyMzExNTU2MzFiZjE2YjIxNTQ5NWI1NTNhODBiMTYzIGxlZ2FjeS10cnVuaworMjU3NjMgOGJmY2Y2ODI3MjQ4MmJhYjczMTA0NzRiMjEzMjc5ZjUxOTlmYTgwMSBsZWdhY3ktdHJ1bmsKKzI1NzY0IGE2YmI4MDAyOGFjZjJkY2JiNjQyY2VkNzhiYjYzNDFjYmZmODc4NGQgcmVsZWFzZTIyLW1haW50CisyNTc2NSAzNTFmOWI0ZDgwYzVkMjcwYzViZDNlZjRjNWFmOTMxMWU1MGE3NGQwIGxlZ2FjeS10cnVuaworMjU3NjYgY2VjZGE0ZWNjMDkwY2E2OTg4ZGI4ZGQ2Mjc3MmJlOTE4MTdiMmY2ZCBsZWdhY3ktdHJ1bmsKKzI1NzY3IGUxNTAxMDlkMmI5YzYwYzlhZDgzOGUyNzRiMDA1NDhjOTA1YzA4YmUgcmVsZWFzZTIyLW1haW50CisyNTc2OCAwNzNkYjY4YTJjMmJiZWZmYTFiN2MxNDY3ZmU5ZjhlM2IxMDlhYWEwIHJlbGVhc2UyMi1tYWludAorMjU3NjkgMGM4ZWQzODQxYTY0ZjhmODI2YmZkNTc4OGJiNzkwMzAxNzRhMGNiYiBsZWdhY3ktdHJ1bmsKKzI1NzcwIGEzZWU3MTMyMDM2YWYwNWQxMWVjNjIyYWIxZTY4OGM2ZDYzMTc4ZWUgcmVsZWFzZTIyLW1haW50CisyNTc3MSA0ZTgyM2JmMjUxMmNlZTg3Zjk2OTE3NjM0YzA5ZTJlNmIwYjFlNGRhIHJlbGVhc2UyMi1tYWludAorMjU3NzIgNDU3YmYxODRlN2JhOGI1NzhlMmFlNGEwYWE3N2Y2ZWNlNzBlZjllMyByZWxlYXNlMjItbWFpbnQKKzI1NzczIDRhNDU5N2JjNGVhMjIyNzg0MDE0ZTBjYzRhMzhhZjZlZGQyZDUzYWUgcmVsZWFzZTIyLW1haW50CisyNTc3NCAzNmM1MmNmYmQwYjc1ZTYwNTRkMmUwZmVlODg2ODUyNjk0M2I3ZjIxIGxlZ2FjeS10cnVuaworMjU3NzUgOTI3YmQ0ZjZlMzViMmVlOGU2MjUyYTcwNDRjYmE2ZGI0NTNkMzA0OSBsZWdhY3ktdHJ1bmsKKzI1Nzc2IDUzYTFmMjFiMDQ1MTQ4OTNjNWQ3ZGVjNTUxOGE5YTEyZWFlYmQzMzkgbGVnYWN5LXRydW5rCisyNTc3NyA3MDEzNDBjODc3MjMxOWJjNmU0ZTQwOWI0ODhhN2ZhZmM4N2ViZjEwIGxlZ2FjeS10cnVuaworMjU3NzggYzc4ZmZiZmMzNmQ5MzY2MGRkZmE4YzdkMDExM2YwM2ViM2JkNGMxNSBsZWdhY3ktdHJ1bmsKKzI1Nzc5IGRmMzU2NTZlN2Q5OTcxOGZmN2E3ZGRlY2ZhZGQ1ODJkYTQ4Y2E2M2EgbGVnYWN5LXRydW5rCisyNTc4MCBlNjIxNzRjN2Q4ZTUxNzY4NmY4ODRlZmQwMGI3YzlhY2M5MjAwM2Q1IHJlbGVhc2UyMi1tYWludAorMjU3ODEgYjE0OGUxOGFlNzdhYjAzOTFiMjcyOWIzYTg1Y2E0ZGM4MzgwNTdiMSBsZWdhY3ktdHJ1bmsKKzI1NzgyIDdhZmJiZTI4OGFmM2RhNmNkOWM4YjlkZmE5Y2UxYTZmYmI1NWNhYWIgbGVnYWN5LXRydW5rCisyNTc4MyBmNjRhMTE5N2E1MmE0NzgxNjViYWEzOTg1NjRkNzQ0OGJjYzc3OWUxIGxlZ2FjeS10cnVuaworMjU3ODQgOTg5NWUyZTMzNmMzYTEwZjZiZGMxYzc1YjgzYzBhZWM1ZmVmMGQ3MiBsZWdhY3ktdHJ1bmsKKzI1Nzg1IGI1MjNhNDcwYTBjZTk4YmU5NGNhMGFhNjQ0ZDRmN2I0YjMwYThhMjAgbGVnYWN5LXRydW5rCisyNTc4NiA1YzNhMjU5MjM4Y2ZmNTNjNDY3N2IwY2JhNTU3YjE4M2I3YjYwODQ5IGxlZ2FjeS10cnVuaworMjU3ODcgYmU0OTJkZjgzZDAzMDA4YmE1N2NhZTEyNmRiOTE1NDQyOTVmOTI1YyBsZWdhY3ktdHJ1bmsKKzI1Nzg4IGY1MmQ2YTY3NWY1Zjc4NzYzMTQ2YzhjYTFiYzk4MDg0Y2FiZWM1YTcgcmVsZWFzZTIyLW1haW50CisyNTc4OSBlYWM1NjBjYzAzOTlkN2YzMzhiMDM3YWRmZWFhOGFiNjA2OGQ4Y2RkIGxlZ2FjeS10cnVuaworMjU3OTAgYzEwNjhiMDkyODc5ZmNlNjFiOTY5YmFhNzEyNTljOTg2MWYwNGM0ZCBsZWdhY3ktdHJ1bmsKKzI1NzkxIGY0ZTI0YWIwZDEyNGFlZGI1ODk0OTk0OTUwM2MxMmI1NjVlZTEwZGYgcmVsZWFzZTIyLW1haW50CisyNTc5MiA3MDAyZjI0ZjgxOGZiMmM3ZTA5YTdjOGZkYmMwODVlMWQ2ZmM4YjAwIGxlZ2FjeS10cnVuaworMjU3OTMgNTAzYjkyZTY2YThjNzY1ZWVjZjU5YzBmMGNhYmViMzNhYTMzNmIzNSBsZWdhY3ktdHJ1bmsKKzI1Nzk0IDgzMjA1OGYyMWFhMjc0NDU1ZTIzZjVhODhlM2NjY2Q4MzE4ZWY5Y2IgbGVnYWN5LXRydW5rCisyNTc5NSAyMzdhZDQzZjg5YThmOTQ1MDJmZGQwNDAzZjY0NjQzYzA1ZjAyNDAzIGxlZ2FjeS10cnVuaworMjU3OTYgYzBhZTZmNDZmMjMxNTc0MzIyZWNhYjA2ZWYyYTAwMDVhZTRjOTg4MyBsZWdhY3ktdHJ1bmsKKzI1Nzk3IGQ4ZDk4MWQwYTQ3ZTVmMmE5ZWRmNTkyMDk5NmUwZGVkODIzMGMxOWMgbGVnYWN5LXRydW5rCisyNTc5OCA4ODhmY2Q5Yjg1OGRjZTMzMTczODBjOThiZjdiMzUyMTRhYzU3ZDFiIGxlZ2FjeS10cnVuaworMjU3OTkgZDJlNDU3YzQ0YmYyNzU3NTI5ZmI1YWMxZWYxZTcxNjY3ZGIyNjI4OSBsZWdhY3ktdHJ1bmsKKzI1ODAwIDA4Zjc0MmRmOTkzN2EyY2NiM2M5ZGM1NzJjMzE4MzkzMzI4YzRjMTYgbGVnYWN5LXRydW5rCisyNTgwMSAyNzNlZWUzODcxMmNmZmVhMWIzYTdmNWIxODRkM2Q2OTY5NWMxZjczIGxlZ2FjeS10cnVuaworMjU4MDIgMTA4NDZmMWUxNTkyZjk5YWJiZDBiNzBmMWFlM2Q0OTUyOTk1NjQ0NCBsZWdhY3ktdHJ1bmsKKzI1ODAzIGIxODM2Y2NjOTUxYzk3ZjUwMTVjNmZjNTI0MGU2YjllYmE5YjM2ZmQgcmVsZWFzZTIyLW1haW50CisyNTgwNCA5YWZlYWY5OTc5YTBhMmJhMWY4NTc3YmViNTM0N2FkOWYxNTQ4ODU3IGxlZ2FjeS10cnVuaworMjU4MDUgZDFhZWNmNjYzMTY3OTBlNWU4MWY4NjdiZTU2MGFjNWE5ZDA5ODM4ZCBsZWdhY3ktdHJ1bmsKKzI1ODA2IDcyZmQ4NDE2OTg0YjgwODUwOGQ0NmFiYTZlMjJiYTFhZTE4NmRjMjYgbGVnYWN5LXRydW5rCisyNTgwNyBlYzFhNWEwMjlmNzRjNTdmZTI4MjkzNmM1MDdmN2ViNzExMmViODk0IGxlZ2FjeS10cnVuaworMjU4MDggZDVhYWQ2YzU4MWM5YWU0NzNlOTJjNWQyYzc0OTYxMDkwYzJkNmQzZCBsZWdhY3ktdHJ1bmsKKzI1ODA5IGVmNmUyZmVmODFkMmE4YjhiYThlMTIwNWJiMDljMzU5N2U3ZTk3NzEgbGVnYWN5LXRydW5rCisyNTgxMCA5ZThhYTI5NTIzZjA5Nzk3NjJiZmRlMGViNWE1MTMzZmQ5ODY2YzU0IGxlZ2FjeS10cnVuaworMjU4MTEgODgxYjY0ODRmMGRmYWE2MWIyN2UzODI3ZjBlZjBmNmJlNTExODNmMSBsZWdhY3ktdHJ1bmsKKzI1ODEyIDUyMjA4ZmU0YWM0NzExNDhjYzcxZjc0OGI0YzVkMDlhYzMxYjM4YjEgcmVsZWFzZTIyLW1haW50CisyNTgxMyBkODY0ZTJiZDkxYTZlMTE0M2ZlOWRmYjgxY2ZkNjIzYTFlZjRjZTAyIHJlbGVhc2UyMi1tYWludAorMjU4MTQgMjM5MjVkZjRlMzcxMzA2OGZlZDg5ZTUwYjg4YmY0MjIxM2JmNjFjOCByZWxlYXNlMjItbWFpbnQKKzI1ODE1IDdiNWQ2ZjFmMWM2ZWM3NjUzYjM5ODIyMjFlZWZmNmI5NGRhMDMyZGYgcmVsZWFzZTIyLW1haW50CisyNTgxNiAyYTdmNzFhOWJkMmUzMGNlYWZjYWRkYjVlM2U1ZDc4Yjk1Yzg2N2Q4IHJlbGVhc2UyMi1tYWludAorMjU4MTcgMWZlMzgwMjMzNmEzNTZjYWRlODdlZjYwYzZmM2FjNDlmYmQ4Y2U3OSBsZWdhY3ktdHJ1bmsKKzI1ODE4IGEzNjdiYzYxZDViNjA3ZTlmMWVkOWIyODA3MTMxMjA0YzYwNzcyZGMgbGVnYWN5LXRydW5rCisyNTgxOSBmNmU2ZmRiOTM1ZDIxNDIxOTM0YTUzNGYwNWU5YTc0M2I2MzQxZjRkIHJlbGVhc2UyMi1tYWludAorMjU4MjAgNjhmZTJiMzkxMTU5NDcyZWEwZjQ2MDAzNTUwNTk3YTYxMDYyYmJkMSBsZWdhY3ktdHJ1bmsKKzI1ODIxIGJlYTAxZGMyZjAwZTJiZjNlMmU3Yjg0ZTU4OTgxMThjNzVhOWU0ZjcgbGVnYWN5LXRydW5rCisyNTgyMiBjM2UwZWEwOTczNzM2NmRiOTk0YzJjOWM2MGI0NjgxZTcyZTQ1YmRjIGxlZ2FjeS10cnVuaworMjU4MjMgOWJhOWQxMjM4ODA0ZjQ1ODcwOGVmNGRlOTUxMzQwNGQ2M2Q0MDQ4ZSBsZWdhY3ktdHJ1bmsKKzI1ODI0IDg1YmQ1MzRjYmQxOWY2OTMzMTU4ODQ1ODAyMDRkM2QzMWVlYTY4ODQgbGVnYWN5LXRydW5rCisyNTgyNSBmNTUxYWY5MjY2MGViMjJmMDZiNTQxZTk1MDFjNzdmMjhhNDBjODY4IGxlZ2FjeS10cnVuaworMjU4MjYgYWI5OGEwZGVmOWQ3NjMzMzdmMDFiNjY1NTcyYjFiZWYyZmUwYjZiYiBsZWdhY3ktdHJ1bmsKKzI1ODI3IGFiMjRlZjJjOTMyMzg5YWZkNzU1NzM5ZTRjODc2NjA2NTg0MTQ3M2MgbGVnYWN5LXRydW5rCisyNTgyOCAxZGIxNTEwYWJlMjE4N2I2NTZlYjI0N2Q5ZDk2YzU0NjJjNGRiNGM4IGxlZ2FjeS10cnVuaworMjU4MjkgYWFmNWVlM2I4ZjkzNTU2NDhlNWZlNjUxNDczNzE3ZjRmNjRkYzUyMCBsZWdhY3ktdHJ1bmsKKzI1ODMwIGVlYmFlNGY2MGQwNWNhMzQ0Mjc3M2Q3ODRkNTljNjM2YTBkYTA1YzQgbGVnYWN5LXRydW5rCisyNTgzMSA4ZDAwNjE0OTNjNTdkMjI3YmVjOWM5YjliZTU1ZDc1MTE5YjFiMWM1IGxlZ2FjeS10cnVuaworMjU4MzIgMGU0NzU4Y2NmZTJiZTY5MGVjM2ZmYzhmNWMyY2IxNWMxMzRlMTNhYyBsZWdhY3ktdHJ1bmsKKzI1ODMzIGFjZjVlY2Q4MDZhZmM3OWZhNTE4N2Y0ZTc1Yzg5NmJhNDY3YmY2MjIgbGVnYWN5LXRydW5rCisyNTgzNCBhZDM4MjVkMDRkZWNkNjIyNjQ4OTFkMWIwM2IyZmQ1Nzg3NTNmZmRhIGxlZ2FjeS10cnVuaworMjU4MzUgYmM4OGYxYjQ3NjQ4ZGU2ZTZlNTdiMWZhYWUzMWNjMDVmZGZiNjNmYyBsZWdhY3ktdHJ1bmsKKzI1ODM2IDdhZGVkNmQwNjk2ZTM0NTg0Y2I5OWUyOGFkYWIxYWRhM2I3YmRjZGEgbGVnYWN5LXRydW5rCisyNTgzNyBlNGQxMGJkMzk3M2YxNjQ4M2UzNjY4YzljY2IyZDg0MmE1YWUwZTMwIGxlZ2FjeS10cnVuaworMjU4MzggZDc3ZTc0ODg2NWZmOWI4OWJhOTNjOGMzOWUyY2M4OTlkYmRmMjE0NSBsZWdhY3ktdHJ1bmsKKzI1ODM5IDgwNWJlN2MwZTI2YzUzMDlmMzVlYzk2OGVmZjdlZDkxYTFlNTIwYmMgbGVnYWN5LXRydW5rCisyNTg0MCA2NDA4Mzg0YzgxMzdiMjQ4YjU3MTU4NGMxYzQzZTU5YmE4MTA3Y2Q5IGxlZ2FjeS10cnVuaworMjU4NDEgZmI0NTc5MTE1MGQxOTc3NzczOTZiOTkzNThhZTIxOGEzYTJjY2M4NSBsZWdhY3ktdHJ1bmsKKzI1ODQyIDE1NzAyZTFiOTYxZWJiNmNmZWFhNGFhNjYwMzM4MmVmMDdhN2Y2NDYgbGVnYWN5LXRydW5rCisyNTg0MyA3ZGUzYzliNThkYjhmZWZlZjQ4NzQ3NTM0ODRhOGM3ZmE2YWIwNmM3IGxlZ2FjeS10cnVuaworMjU4NDQgMjNiOWFlNmIzZjdhZmViNWEwNGIzNDYxMTUxNjc1ZWU1ZjlkOTE4NiBsZWdhY3ktdHJ1bmsKKzI1ODQ1IDBmMWFlMzdjZDhlYjAyN2U5Mzc1N2E4MjAwZGI2NGI4ZWI0ZmU4MzkgbGVnYWN5LXRydW5rCisyNTg0NiBmZmNiMmZkMjk0N2UxMjhhNzgxMmFlNjk2NTczNGY3NjEwMTU3YTg5IGxlZ2FjeS10cnVuaworMjU4NDcgYjM2MGE2NTBhMGRiZTQ5ZWQzMTliNWIzNDJmYzNmNzk5MjBkMTg4NSBsZWdhY3ktdHJ1bmsKKzI1ODQ4IDhlY2QxYmFkMjQwODFiNWM5NTIxODQwNWExZWU3N2FjYmVmZDc5OWMgbGVnYWN5LXRydW5rCisyNTg0OSBmMDJjZGIyYmMxN2E3M2ZiOWQ0MTI5NmY4ZmMyZTBjMDQ2ZDA3M2Q3IGxlZ2FjeS10cnVuaworMjU4NTAgMTM2MWY3YmIzZjE5OTM3MTZiZDQ5MDJhMTYwZmE1YTZkMmJkZjdkYyBsZWdhY3ktdHJ1bmsKKzI1ODUxIDYwMzkyNTRhYWFkYzQ4NzI3OTc4YmU5NDc3ZGFhNDkwYzZmNDE5NGQgbGVnYWN5LXRydW5rCisyNTg1MiBkNGY1NDE0NjdiNmQ1MmU1ODhmZjBjNDIzMjY0NTk5ZTFhNjE2ODE4IGxlZ2FjeS10cnVuaworMjU4NTMgZmY5YWI3ZDMwYmJmYmQyMWI2YjcxNjFkNGRiYzM1NTJkMzdhNTcwZiBsZWdhY3ktdHJ1bmsKKzI1ODU0IDQyMjUxM2Y0MjBjZjM5ZmMyNzFiNDU2YWIxNGNiNTczNjAwMmQxMTQgbGVnYWN5LXRydW5rCisyNTg1NSA2NmFkYjU1MWNkMzhmM2QyYjBmYTU4YzYwNzEyNzlmODE3YWYyNGYzIGxlZ2FjeS10cnVuaworMjU4NTYgNzIyNGExZGY0ODA5ZmI0NzFhZjM0YjJkZDBmMzJhOTM3YzkyZWI1ZSBsZWdhY3ktdHJ1bmsKKzI1ODU3IDkxZjlhMjQ4ODdjYjVlNTgwOGVlMDUzYTdhZjBjYmUzMzIxNjljN2IgbGVnYWN5LXRydW5rCisyNTg1OCBlY2QxODFiMDJhOGE5NjZhZTFkN2FiOTFmMTBmZDIxZTFkYmI3OGM3IGxlZ2FjeS10cnVuaworMjU4NTkgMzkzYjBjM2Q5NzczMjQ3YTZmZjMxM2VkMGY5M2NmOGNjMmM3YzNmNSBsZWdhY3ktdHJ1bmsKKzI1ODYwIDU0YmNlM2NhYmNjZDU3YzdjMzhmNmU0MzBhNmNhNjk4ODU4M2ZmMzkgbGVnYWN5LXRydW5rCisyNTg2MSAzYTNkZTY1NjdmMWE1ZDIxNTk3MmU2NTZhZmI2OTk1NTEzNzcyNDk1IGxlZ2FjeS10cnVuaworMjU4NjIgODJiZGJjYTAyYzA3NTFhY2EzOTM3YTNlOWVjMzVlYWVlNTRmNzU3YyBsZWdhY3ktdHJ1bmsKKzI1ODYzIDllM2Q2YjVjZWUwNzYyZDY2MDUzOTYyYTBiZWFjOGI5MDdjODAxY2QgbGVnYWN5LXRydW5rCisyNTg2NCA1YjhiZTg2MTFkOGNkODkxZDEyMmM4OThkM2FlNWY1ZGQzNzA4NTQwIGxlZ2FjeS10cnVuaworMjU4NjUgYzgxNjU3NThhNmRlN2MyYTA1YWNjOTU3OTVhNmRlZDU3ZTI3NWQzYiBsZWdhY3ktdHJ1bmsKKzI1ODY2IDI1ZTJiNTgwYjJjZmJiY2IxYmExNTQ4MjJkMGU3NjY3MTE5MjQzNWQgbGVnYWN5LXRydW5rCisyNTg2NyBhMzJjN2IzZjFmMTEwNmM5Yzg4ZDgwMmVjNDFhZDFkMGU5ZDU2MTU2IGxlZ2FjeS10cnVuaworMjU4NjggZTk0ZWRkZWNmMzMwYTA0MDQyOTQ5OGZhN2ZkOTJhOGVkMjU3MTBkZiBsZWdhY3ktdHJ1bmsKKzI1ODY5IGU3Nzc0NTI2NDgzMDZlZTYyMTRhNWNlOGFhMzcwMDkwNjQ5ZDBkMzYgbGVnYWN5LXRydW5rCisyNTg3MCAzYmQyMmJkMTg3YzMyYjUzYzJmZDZiODliMTYzYjY4YjI2ZDUxN2Q0IGxlZ2FjeS10cnVuaworMjU4NzEgNTRjMDVhOTQ3YmNiYzU4ZDg5NTAxNzE0NTdjMzM5MjRlNjNhODlhYSBsZWdhY3ktdHJ1bmsKKzI1ODcyIDBlZGEzZjgyYjZmM2Y0MjgxNGY3OThmMWE0OGVmMzhiZmU0MzJhYmMgbGVnYWN5LXRydW5rCisyNTg3MyAyMDVjMTA2MzJmMDg3ZjM5ZTE4YjQxZTUyMGRjM2U3MjdiY2Y1MjFhIHJlbGVhc2UyMi1tYWludAorMjU4NzQgNjU4ZWEwMjY2MzRjNGMyMjAxM2RjODFkYTk1MzhkOWU5NTYwOTgxZCByZWxlYXNlMjItbWFpbnQKKzI1ODc1IDBkZDJmOWI1N2NmZjVhYzkxOGU4NzViMjdmNjQ2NTJhZmFkMTkyY2MgcmVsZWFzZTIyLW1haW50CisyNTg3NiBhNDA1NDNiM2UzYmYzMjY0M2JiMzVkOWNkZDUyZDgwYTFiY2RmMThhIHJlbGVhc2UyMi1tYWludAorMjU4NzcgODE0MzI5YTY0MjZjZDc3ZDk2MDZmMTNjOGIwMzVlMmUxY2EzMGMwNiByZWxlYXNlMjItbWFpbnQKKzI1ODc4IDRlZjM2OTNmMWEyNmFhZDkwMzdkZWU5NTEzZDJlZjE5ODIzYjljYzAgcmVsZWFzZTIyLW1haW50CisyNTg3OSA2NjU3OTFkNTNjNDM1NmEyMjY2NTdiOThjMTU2YWY1MmI1OWMxODI0IHJlbGVhc2UyMi1tYWludAorMjU4ODAgMTYyNDVhOWNiZmExZGYzNzBkYTdmMTQyZmJjZmQ5ZjI4MWVmMDdhMiByZWxlYXNlMjItbWFpbnQKKzI1ODgxIDdjN2M5MGZjNzAwNWE3ZWZjNzlmNzA4NGFmMzBlYTA3YjM5MzM0YzkgcmVsZWFzZTIyLW1haW50CisyNTg4MiBjM2RmOWI3YTZhY2FiMTg5YzRjYWY0NWRmMzMyOTMxZDc3M2JmNDI0IHJlbGVhc2UyMi1tYWludAorMjU4ODMgNzk1YmRkNjkyMTc2MDI1YTRhOTFhYzZjZWY4NTI4MTIwMmYwYzRkYyBsZWdhY3ktdHJ1bmsKKzI1ODg0IDhiZmM5MTg0OTI0MmMzMDg5OGRjYWRkOTk4OTQ3NDQ1ZjJlOGMyYWYgcmVsZWFzZTIyLW1haW50CisyNTg4NSA2NGE2ODM2MTg0OGNkNDAyNmZkZmRhMWI3MTQ1ZWE2OTNiMGRlYzM2IHJlbGVhc2UyMi1tYWludAorMjU4ODYgMGFhZTA5OTg2ZmM5OGY1NmQ3OWMzMmJlMDQxY2FkMWRhYjQzMjM1ZSByZWxlYXNlMjItbWFpbnQKKzI1ODg3IDRmZjM3YzU4YWI4OTM5M2FkOTI3YTIxNjAzMjg4OTI1NjFkY2VhZDMgcmVsZWFzZTIyLW1haW50CisyNTg4OCAwYzE5MTJmOWQxY2U4M2RlZmU0NzFmN2QwZjlmNmIwZTU3YWVmYTU0IHJlbGVhc2UyMi1tYWludAorMjU4ODkgYTJmZTBlY2QwY2UyYWJkMGNkYTY2OTlmNWY4Y2QyNWZmMmY2NzI2MCByZWxlYXNlMjItbWFpbnQKKzI1ODkwIDJmOWM2Y2JlYWE2MjhkNWUzZGRiZDVjNjU1ZTA0NWIwMjNmYzgxYWQgcmVsZWFzZTIyLW1haW50CisyNTg5MSBkNjZlNGU3YzllOWE3MGM1NjAzZTQ1OThmZDkyMTNlNzAwNjI3OTEyIHJlbGVhc2UyMi1tYWludAorMjU4OTIgNDU3MjFjMDIxNjA2NjRmY2I1ZGM1N2Y2MjJhMGYwNmMyYWQ4ZWUzYSByZWxlYXNlMjItbWFpbnQKKzI1ODkzIGVmMzE0YjM3ZTI2MGNlZGJiYzU3MWI2ZmM1MjAzNzE4MDE1ZTliYjkgcmVsZWFzZTIyLW1haW50CisyNTg5NCA5MTk4ZmIwNDM1ZmJhYWNlYTkwNzE4ODVjYzFjZGM4NTVjZGQ0MDNkIHJlbGVhc2UyMi1tYWludAorMjU4OTUgMjkxMjAxNWExZTdiNzZiODVlNWUzYzJhNzQ2YWE0YmFhOTA2YzVhMyByZWxlYXNlMjItbWFpbnQKKzI1ODk2IDgwOTBkMGQ2M2VlMWE1OTE3ZTBkY2I5NWU4ODI4OTQ4ZjhmNjJmOWEgcmVsZWFzZTIyLW1haW50CisyNTg5NyBmNmE3ZmRiZDMwZDRmMjE2ZjYxZGE2MDZlOTg4OWNlZDUxZTNkM2RkIHJlbGVhc2UyMi1tYWludAorMjU4OTggMjFlODk3MmQzN2U0NjgxZWNiNGU5OWE0M2Q4ODcwZjE0MGU3YWY2MyByZWxlYXNlMjItbWFpbnQKKzI1ODk5IDFhZmJjNTYxODhiMDA3NDhjYjlhMTA3NzhmMTQ5YjBhMWUwOGM0OGEgcmVsZWFzZTIyLW1haW50CisyNTkwMCBkYTlhZGVjNjZlMmIyMTlhMTQ3MTU4Yjg5ZDQ5NTY2MjM4YWU2NWMwIHJlbGVhc2UyMi1tYWludAorMjU5MDEgZTJjYmU5YzMzNDExYTBiMGI1Nzg0ZWE1NThmMzQwZjA4ZDIxYmZlNSByZWxlYXNlMjItbWFpbnQKKzI1OTAyIDc1ZWYxZjE2NzI1ZWY0ZWNhYmRjZWQ5NjAyYjMxNDU0NDhjYjZlZmYgcmVsZWFzZTIyLW1haW50CisyNTkwMyBiNzI2ZTZiM2E4NTIzY2E0NTIyNDI5Nzc1YTMzNTcwMzU0NjkwNjQ4IHJlbGVhc2UyMi1tYWludAorMjU5MDQgMTZlNTQyYWYyYzQ1YmMwNzkwM2FhMzBjYmVkMWJhNmNhNTY4ODg3OCByZWxlYXNlMjItbWFpbnQKKzI1OTA1IGM1YzEzMjYxNjZiOTIxYTQ3OTY0YzBkOTU5ODlkODE2NjY4NjY3ZTggcmVsZWFzZTIyLW1haW50CisyNTkwNiA3NTY2MTg3YTIwMWNmMjE0NTk4NmY3Mzg5YjI1YWI1OWY1OWE1ZGQwIHJlbGVhc2UyMi1tYWludAorMjU5MDcgMTQyZmQzZTEwNzNkMWUwNzU4NDIwMmRmMzhiNjE2N2NkMjVjYWE4NyBsZWdhY3ktdHJ1bmsKKzI1OTA4IDZiM2U5OWIyZmY5MWM0NTcxYTBkNmIyNjliMmNiZDUzOWUyYTFmZDQgcmVsZWFzZTIyLW1haW50CisyNTkwOSAwOTIyYzkxOWNlZGJlMzdjMGQ1OTcwZjIzOTAwODRhNTY5MWI4ZmViIGxlZ2FjeS10cnVuaworMjU5MTAgNjNmYmNhODk4ZWFjMjZhYzQ0ODQ4NWQzODBjZjc3ZGY1ZGZjNDcxZCBsZWdhY3ktdHJ1bmsKKzI1OTExIGZhZDA3MWZiNDE0MWZlNjA5YmE2NzZmZjc1ODVhNDVhOWY0ZTdmZjMgcmVsZWFzZTIyLW1haW50CisyNTkxMiBhZDE1YjM5YWQ4ZjcxMjQwNDAxMWEyOTM1MzMzNDQwZWY5YTk4YmEyIGxlZ2FjeS10cnVuaworMjU5MTMgOGI2MzZmY2I4NjE1ZWEyOTIwZWNkYjk3N2Y1ZDI2MWE0MmE0ODM3OCByZWxlYXNlMjItbWFpbnQKKzI1OTE0IDllYjRlNjIzMDliMGUyMzJlMDdjZWZkNDA3Y2ZlNzMxYWI2YjFhMTggbGVnYWN5LXRydW5rCisyNTkxNSAyNWI1OTlmMzYwYmMyMWQxODM1NzRmYmI5OWMzZGE0NGZlZmFkNjBjIGxlZ2FjeS10cnVuaworMjU5MTYgNmRlMWExOWY0N2E0MjVmZTExZjI5MWJhYzZiYTQyMGEyYjJiNGIwZiByZWxlYXNlMjItbWFpbnQKKzI1OTE3IGY5ZDk2ZGVkZDFmNDY2YjQ3ZDEwNDdhNjMzYWU5MDIzMjJmMjVjYzEgcmVsZWFzZTIyLW1haW50CisyNTkxOCBmMmEzYWY0ZmE0ZmZlZWYzNGI3ZWM3MGU4YTE0NjViOTViZWQ1MzAxIGxlZ2FjeS10cnVuaworMjU5MTkgYjY4YWY0YTgwMDBiYTEyYTYxYWRmZjhjZDU2MjlhMjQ0NGRlZmQyNSByZWxlYXNlMjItbWFpbnQKKzI1OTIwIDNmNDIxNjM0YzM3Y2M2YzVlMmY1NTAyODU3YjU3YmI4NjRhZjcwZjMgcmVsZWFzZTIyLW1haW50CisyNTkyMSBiNTlhZDRiOTdhNDI2ZTE0ZmI1ZjAzNDI5YzhmOGY1YWU4YjlhMGI1IHJlbGVhc2UyMi1tYWludAorMjU5MjIgN2E0Y2I0ZTk3OTc2NmFhNjBlZDU3NDM1NTY5ZTc3MjY4N2FiY2Y5ZCBsZWdhY3ktdHJ1bmsKKzI1OTIzIDA0M2FkN2FkYzg5NmY0YTQ4ZmUzMzQ1MmM1ZWYwMmY5ZWM5MmZlZDIgbGVnYWN5LXRydW5rCisyNTkyNCAzMDNiNmFkMTNhMzJkOTk1MTEyYzlhMzEzZjA3ZGJjNTY3YzdkOGVjIGxlZ2FjeS10cnVuaworMjU5MjUgM2JmMmI1YWNhNjFlYzE4NTBkNTAyNjk4MjI0MjZkMThlNmJiY2YwOCBsZWdhY3ktdHJ1bmsKKzI1OTI2IDliYjQ1MDM2NWRmNzg3MWMwZTQ5YzNlMjQ4MjgzODU3Mzk3MzZmOTMgbGVnYWN5LXRydW5rCisyNTkyNyA5MDZhZDM2Y2I3YmNjZTc1ZDVjODg1MTA4Y2RmYWFjZTAwNzVmM2YzIGxlZ2FjeS10cnVuaworMjU5MjggMzllNDJkNmY1ZGEyZDA3MDRhNTI2MmJiM2I5ZGZiMGJmYTNiY2VkNCBsZWdhY3ktdHJ1bmsKKzI1OTI5IGFlZGRhMGFiZDMxM2UwMGVhYTQ3Y2QyNTg3ZDhmZWFkNWEzOTMzMGUgbGVnYWN5LXRydW5rCisyNTkzMCA2YTFjODc1MmE2NWZiMDcxZmRkNDUxMmE5NTNkYWUxNjBmZTNjMjA2IGxlZ2FjeS10cnVuaworMjU5MzEgZWU0YjU5YjVmZWI3MmY3YmViMDJkMjcwOWE0MGIxZDk5ODUzYThhNCBsZWdhY3ktdHJ1bmsKKzI1OTMyIDQ3MGU5ZGEyMWM0YWU0ZmY1MWYzNjI3ODI1MDczYWRmNzMxNGVmMGEgcmVsZWFzZTIyLW1haW50CisyNTkzMyBkMTkwYjJkMzAzYzI4MWQ3YmQyYzE5NmQ0ODE0MjBhYmJlMDRiZWI2IHJlbGVhc2UyMi1tYWludAorMjU5MzQgNWEzMGQ0YjNkYTM3YTEwYzYwMTRhNzgxNDYwMmU5NjFlMjQwZDFjOSByZWxlYXNlMjItbWFpbnQKKzI1OTM1IDI5ODgwMmFiZDM4ZGZmZmE3OWI0NzJjMmY1ZGRjMzM3MGViMjRmZmMgbGVnYWN5LXRydW5rCisyNTkzNiAwNmE4MTU2ZTNiY2Y3M2JmY2I2NDU3ZDA4NmJiMjVjY2Q2MjI0ZjZiIHJlbGVhc2UyMi1tYWludAorMjU5MzcgYmMyMGJhYWFlM2VlMTE5ZTM5YTlmMmUyYTJmNmEyNDNkMTlkYjA0OCBsZWdhY3ktdHJ1bmsKKzI1OTM4IGQ3MWQzYjcxNWIxM2VhMjk0YWQ4M2Y1MmZkZmJmMWRiYmIwMzFhMTQgcmVsZWFzZTIyLW1haW50CisyNTkzOSBlNmM2YmFiY2VlZTUzNjBmM2RiNzM4NGQ3YTQ4Y2FjMWE5NTllMjc4IHJlbGVhc2UyMi1tYWludAorMjU5NDAgM2EyMWRiZTFiNmZlNDY4OWE4ZTg1ZDYwZGM1MWJjMTc3MzRkYWYxOSByZWxlYXNlMjItbWFpbnQKKzI1OTQxIDY0YTEwNDlmZTUzYjk2MWE1MWI4OTkwZDU0OTBhOWJkMTQwMmI3ZGMgcmVsZWFzZTIyLW1haW50CisyNTk0MiBmMGVmOGI0MjZkOGQ5YjA3Y2FiM2ZhYzdiYmEzNGM5YmYyODg0ZDg3IHJlbGVhc2UyMi1tYWludAorMjU5NDMgMmQzM2NmZDZjMTdmMDc3OWJmN2NkM2Q0MDI0MWIwMGI4OGE2OTU3MCByZWxlYXNlMjItbWFpbnQKKzI1OTQ0IDlhMTdiM2EzYWYwOTg5YzBkNDFmNGFkMzE0YWUzZGExZmY0MTNlMTggcmVsZWFzZTIyLW1haW50CisyNTk0NCAxMWM5NTJjN2Q0YmU2NjM4MDQwNzY0OTEwYmU4MGJkOWMzYzE3ZGU2IHJlbGVhc2UyMi1tYWludAorMjU5NDYgYmNkMWZkZjEzYWNmZTM2NzFhZjY4NjY0MTIwYTRmZTg4Y2ZkNGJjNSBsZWdhY3ktdHJ1bmsKKzI1OTQ3IDkzZGFhNGZkZTA4N2VkZGFjODNkNTEyNWExOTliNGExNzg5YjY2YWQgbGVnYWN5LXRydW5rCisyNTk0OCAzZDY4MDg1ZjQ5NWY5ZTU4ZTM2NTI0N2RlMzIxNDk2ODZiYjBlMTk1IGxlZ2FjeS10cnVuaworMjU5NDkgOTFlYWI3NDU4MTBmMTEzYzQwNWZlNmYyNDc2YTUyNmFlNGQ2MTljMCBsZWdhY3ktdHJ1bmsKKzI1OTUwIGYxZGJlY2I3ZTQxNjBkMjc0ZTJmYWQ0MmI0NGQ4MGQ5M2UzNjc5M2YgbGVnYWN5LXRydW5rCisyNTk1MSA2NmU4NWE3MzJkZGRlMTkyNTg2Y2E0YTAyYjQwMjk1ZjQxYjRhOGRhIGxlZ2FjeS10cnVuaworMjU5NTIgYzE4ZmU0ODcyNTcxNjBmZDY4MzczYjA0MDJiMjc1OTVmOWEyMWJjNiBsZWdhY3ktdHJ1bmsKKzI1OTUzIDdiY2U0NzUxYmZiMzQwZjJmMTgyOGVkMWYzNzdmNmNmMjJlMDdmNTcgbGVnYWN5LXRydW5rCisyNTk1NCA3ZDBmMGJiOTQ0OGIwMTAwNjI2ZDgzOGFhNzI3NmYxN2MxN2ZkOWE0IGxlZ2FjeS10cnVuaworMjU5NTUgYTc1OGQ0YzQwMWUwOGVhYWRjODIwNWFjZjM2Yzc3MDgwMzY2YzU4MSBsZWdhY3ktdHJ1bmsKKzI1OTU2IDliNTMxMGNmYTJlMGRkYjE2MGM3M2Y3YjdkYjViYmE3NjVhYzdjZmIgbGVnYWN5LXRydW5rCisyNTk1NyAyMDRkNDZmYzU0ZjY4ZTAzMzRmZDcxNjkzNjBkZDgwOWEyOTBjMWE1IGxlZ2FjeS10cnVuaworMjU5NTggMGEzYmYyMmFlY2E0YTJlNGI4NWY0ZWU3MjFhMTdiZDU1NDFlMzRjMiBsZWdhY3ktdHJ1bmsKKzI1OTU5IDFjNzIwN2FkNWRiODE1NzgyMzM4ZWRjZTU3ZjVjYTE0ZjliMjY4ZjUgcmVsZWFzZTIyLW1haW50CisyNTk2MCA4MDgyMWE2NWZkNDk4MTgxOGQ0ZTcyOGI5YzhlNzQzN2E1ZmRmZDAwIHJlbGVhc2UyMi1tYWludAorMjU5NjEgMTk0ZWQ1ZTBkYzhmZjBkZTEzMGU5YjI1ZTY4OTMyMDQxNmIzNmY4YiBsZWdhY3ktdHJ1bmsKKzI1OTYyIDBjNWM2NGI3NWQ1ZDBhMTgxMmRlOWViM2EwNzU1NTFiNmM0OTc0MDQgbGVnYWN5LXRydW5rCisyNTk2MyBhMzMxYzYxNmJiMGFkNWNjNTRlYTlmNzkzZWRmZmQ2NjhjY2MzNGY2IGxlZ2FjeS10cnVuaworMjU5NjQgZjNhOTEzZTY0ZWI4ZWQ0ZGI5MjZiMTAwOTBhOWRkMWFlODAyYWNmZSBsZWdhY3ktdHJ1bmsKKzI1OTY1IDI4NjhlOWE5ZTI4MGI2OGEzOTY1MmUyNjk3ZTUyYjdhNTQ0MmE2ODQgbGVnYWN5LXRydW5rCisyNTk2NiAzZjRiMmY5M2U4YjViNTQyNmU4ODhjNDliNDQ5YjdjNWY4M2RkYTk5IGxlZ2FjeS10cnVuaworMjU5NjcgZGExNjQ1ZmQ5YzI0MzhhZmViZTc0YzA5MzIwN2RiOGJmNjVhOTljNCBsZWdhY3ktdHJ1bmsKKzI1OTY4IDFjODM4YmU2ZDAwNGJiODg2MDYyZjNlZGM5OGE2MDQ4ZjA5M2U2MDIgcmVsZWFzZTIyLW1haW50CisyNTk2OSBhYzI0YzJjOWJjYWY4M2Q4Y2RmNWVjZGZkYWI4MDE2NmU2YmZmYTUzIGxlZ2FjeS10cnVuaworMjU5NzAgODM3NzZiYTU4MGVmMjBhNWM0MzVkZTQyYjdkNmM4NzUyY2I4ODQwMSBsZWdhY3ktdHJ1bmsKKzI1OTcxIDRjN2JiMGI0ZDM1NGJkMjQ3NjEzYmZmYmExM2I5NmU0NjZjMGQzMTcgbGVnYWN5LXRydW5rCisyNTk3MiBjOWI3MzI2MjhlNmM2MDYzZjE4ZjBiMmQwNWZjNjk1ZTQ1ZGVmNzM3IGxlZ2FjeS10cnVuaworMjU5NzMgMjY3ODVmZTYzY2JiZTJkNGM2NTkxYWRiODY5OGQ2MzI2YjM0Nzk2YyBsZWdhY3ktdHJ1bmsKKzI1OTc0IGY2MmJmYjBiMDk0NmNkNmMxMzcyNzU5MzcxY2EwZmE1MTU3ODdlZGUgbGVnYWN5LXRydW5rCisyNTk3NSBkZGM5NTQzYzc2YTAzMWM5Y2IyZDIzNzhkM2IxMjUzMjkyMDIxNWI5IGxlZ2FjeS10cnVuaworMjU5NzYgZjI5NGZkZDE4YjViMDhhNGMwNzMxZmE5MDVhNGVjYjA3NjcyNzYxYSBsZWdhY3ktdHJ1bmsKKzI1OTc3IGQ2ZjUwNjRmMjY3MzcxM2ZhNjVlOTNmZTE0ODcyYzBlZjRjZjkwNmIgbGVnYWN5LXRydW5rCisyNTk3OCAzMjk5YjdhYmE4ZWJlNzAzMjljMWVjMWMwNGZlY2VhOTQ1OTE0ZjBlIGxlZ2FjeS10cnVuaworMjU5NzkgNjc5NmRkMzBhNjAyNDc5NGJkMGExMGI3ZDRhNjk2ZTYwYmEyOWJkNiBsZWdhY3ktdHJ1bmsKKzI1OTgwIDE5ZDRlODM2YmQwNzVlZWRlYTIxMTUyMGMyNmFkYjEwMGJkNjk1M2YgbGVnYWN5LXRydW5rCisyNTk4MSBlYzZlY2JiMzRiMDZiOWUwNDViODhlNjYyZDVkZDg3MDFiZTIzMWQzIGxlZ2FjeS10cnVuaworMjU5ODIgNmE4NTA0NDhmYzhlOGUzYWM5YjM2ZWE5NzA3NTQ5NDNmZjExODI3NyByZWxlYXNlMjItbWFpbnQKKzI1OTgzIDgzMGM4MjlhN2ViMmFlZDU1MjJhN2E0Nzk3ODk2OWRhODZmNGVjZmYgbGVnYWN5LXRydW5rCisyNTk4NCBhNmJiM2NjOTE5Yjk2NTZkNjdlNzdkODg1OWNjNDBiMjJiYzY0YTFjIHJlbGVhc2UyMi1tYWludAorMjU5ODUgZDlmMzAzMDNjODYwZDAyMThjMWQ1ODA0MjYzZjE0MmUxNzhkMGI0NyBsZWdhY3ktdHJ1bmsKKzI1OTg2IDg4MGQzMTA2NDk5YmFiNWJlZjRiOTc2YTM3ZGQyYmVhY2ExMjVlN2QgcmVsZWFzZTIxLW1haW50CisyNTk4NyA4OThjMzkyNDc3ZDkxZDEyODY1MmM1NzQxODUxODRlNzI2NTJiOTkwIGxlZ2FjeS10cnVuaworMjU5ODggMDQ0NmVlYjc4N2I3ZjkyZGFkMjFhNTZkYWJkMmFjNzMxNGViZGM1NCByZWxlYXNlMjItbWFpbnQKKzI1OTg5IDUxYjFjNWVhMGZiYjQ1NjE3NGU1NDBiODhmNzNhNDVhMzdhZTAwMTMgcmVsZWFzZTIxLW1haW50CisyNTk5MCA4NDY4NGZjMDJkYTAwNGY0OGMzZWM5NWYwYTVjNTc4NjZlMTZlOTdhIGxlZ2FjeS10cnVuaworMjU5OTEgNzIzMGUwMWMzYzQ5NGVkNGMzMzIwNThhOTI0ZjhjMDQyOTM4NjgwZSBsZWdhY3ktdHJ1bmsKKzI1OTkyIGU2ZmNjZGU2MTA4NjZkMWIyZmEyNjdiNGQ3MTE1N2YxODUyNTNkOTggbGVnYWN5LXRydW5rCisyNTk5MyA3ODcwZmFjMDQ5ZjcyMTNhNzc4NjFlNTA5NzQ0MTMyYjExZTQ3MzczIGxlZ2FjeS10cnVuaworMjU5OTQgMzQ5NDA0NDI2ZmFhYzM3ZTI0NWM1ZDcyZDU4OTEyYzU4MjQ1MWI5YiBsZWdhY3ktdHJ1bmsKKzI1OTk1IGY4YzY1OTg0OGFkNmY3ODJiNzhiMGFkM2EwYmFhNzI4YzZjZjQwZjUgbGVnYWN5LXRydW5rCisyNTk5NiBiOWNlOTY5MjgxY2I3MzgyMTM1MWY2OWU5OGM1NjRkMGRmYzAwZDU0IGxlZ2FjeS10cnVuaworMjU5OTcgNzI2Yzk2MWYzZGI1MWE3NTBmZWVlYzE1Zjk5ZDlkNjZjNmRlNmZiNSBsZWdhY3ktdHJ1bmsKKzI1OTk4IDBmODAxNjI2YzJkMzc5YzhjOGI0YTQ5MjMwNzA0ODg1MGExZTZmNzIgbGVnYWN5LXRydW5rCisyNTk5OSBkNzc4ZWE5ZGU3ODBmYWMwZjg3ODYzMzE1NDYyMTk0NmM3NDVmOGI4IGxlZ2FjeS10cnVuaworMjYwMDAgYzE2NjYxMDRiNTU0ZjlhNmNlY2UzYjRhMWYzNDYxZDAxNTgzM2I5NyBsZWdhY3ktdHJ1bmsKKzI2MDAxIDljMmNhMzdiZGVlYzU4MTU2ZTRhYTI4ZGVmYTVmNDRiMjAxYjdhMTMgbGVnYWN5LXRydW5rCisyNjAwMiBlYzEwNDNmNmQwNWVmY2U3Nzc4YTZjZmI4NmU0YjMyNzI4NTZjOGU3IGxlZ2FjeS10cnVuaworMjYwMDMgY2VjZjMxZGI4YjBkYjU3MzQzODBjMjhhYzM1YzY0NmVjYjgzNDAyYSByZWxlYXNlMjItbWFpbnQKKzI2MDA0IDk2YjEzNmI2MTE3ODQ1NDhlYmEwNzMyMzE5ZGU2MWU1NTgyMWRmNTkgbGVnYWN5LXRydW5rCisyNjAwNSBkMjkxMTlkMjQzZTllMzdhNGE0MDVkZWUxN2ZkNTE1ZTdjMGVhMmRjIGxlZ2FjeS10cnVuaworMjYwMDYgYjE3MmVlOTNjMTNjNmM5MzJkZGIwZmU2ZmI2OWEwMGE5NjViODQ2OSBsZWdhY3ktdHJ1bmsKKzI2MDA3IDE1MGYwMzQwN2QwZDI2OTcyNDNkMTZhYTNiZmJmZjI1ZGU4NGJjNzAgcmVsZWFzZTIyLW1haW50CisyNjAwOCA4NmEyN2JhMWJlZTc1ZjAyMmJkZTIyZGUxMmEwOTZkOGQ5ZjZlZDVjIHJlbGVhc2UyMS1tYWludAorMjYwMDkgNTY1NWJmYjYwN2NhNzIyNGFkOTdjYzk1YmJjMzcxZjM5ZmIxZGQxOCBsZWdhY3ktdHJ1bmsKKzI2MDEwIDhhODM2ZDBiNTk3NDE2NWZmMGI4NDdmYzMxYjRiMjFjYjA1MWU0NDIgbGVnYWN5LXRydW5rCisyNjAxMSAxNjE2YmQ4YjMxYmMwNDgwODczNTQwOTc5ODY3NGE1YjQxOGQxZGQ5IGxlZ2FjeS10cnVuaworMjYwMTIgMjI4OGM3MjRmZTJiYWQwMTQwZmE2OTljNjRjMjAwZDA0Y2ZmZGE5NSBsZWdhY3ktdHJ1bmsKKzI2MDEzIGYzYTQxNmIxNzhjNDIzY2YwOWM0MGY0MWRlZDk2ZjAxMTBjZDVmZWIgbGVnYWN5LXRydW5rCisyNjAxNCBlOTcxNDc1YzA0NzE5MzFjZWViNjNlN2JlYTZjZDFiZmJkZmY4ZjNlIGxlZ2FjeS10cnVuaworMjYwMTUgMmRhMTEzNzYwMGFlN2U5ZWFhMWQ1Mzg5OWRhZTJkMGIwNTM5OTkyMSBsZWdhY3ktdHJ1bmsKKzI2MDE2IGE4MmNlMTk4ZmU2OThjMmU1NzZkNDJlMmY5NWY5YjdhMWRiYmExYjIgbGVnYWN5LXRydW5rCisyNjAxNyAxMDcwMjNjMGM0NTZkZjNjMmM4MzI0OTQ1NTk4ZmEwN2VmZjZkZTI2IGxlZ2FjeS10cnVuaworMjYwMTggM2FhZGUxNTBlNzE3MjQ3YjM5YWVlMDQ2ODdkNmQ4OWYxMzEwZmFhOSBsZWdhY3ktdHJ1bmsKKzI2MDE5IGFmNzE5MTRkOGJkZjBkZmU1ZGI0N2Q5OTVmZDBhMDBhYmI4MzdkYmMgbGVnYWN5LXRydW5rCisyNjAyMCA0MDkzMTFjNzgzODM2NTNkNjgxMDk5MzE0YzA0ZDk5ZTFiNzdhZWNjIHJlbGVhc2UyMi1tYWludAorMjYwMjEgYmNjZDQ2MTNjNDk2YTMwYmIxYmFkNjQxOWNhNzg0OWJmNTllZjZkOSBsZWdhY3ktdHJ1bmsKKzI2MDIyIDQ2NDA3ZDBhNjAwMGY1ZWUyODhiNWFkOTQ4ZTQzMjBjY2E2YWU3MzEgbGVnYWN5LXRydW5rCisyNjAyMyBjMTZiZWE3OWY0ZGIzYjRlN2M1MWE1MTMzZTczMzk3NWFlMjQzY2M4IGxlZ2FjeS10cnVuaworMjYwMjQgMWFlYTdhZjA5MjYwZTdmMjE0ZjNmY2U1NGQyMmYyMDFjMmYxZjkxMSBsZWdhY3ktdHJ1bmsKKzI2MDI1IDlkMmE4ZjZiMDZiNmZiOWM0NWQ3NzZkZGRmNDE4Yjc3N2RlNTI1ZDIgbGVnYWN5LXRydW5rCisyNjAyNiBmNjNmMmJjOGJkYmE2ZjBkNWQ4ZTQyYTNlZGU3YjUwMzRiMzU3Mjg3IGxlZ2FjeS10cnVuaworMjYwMjcgNDVkYmZjZjBmYTE5ZmJjYjgwN2E1NmIxOWVlNzE1NWNjMWNlMDU1ZCBsZWdhY3ktdHJ1bmsKKzI2MDI4IDUzMmMyN2E3MzViN2I5MjViNjY4ZGQ5ODEzYWE5Y2M5NGU5ZjM0OTQgbGVnYWN5LXRydW5rCisyNjAyOSBkOTcxZDFlYjcyZjZlMjRmZmFkOWI5YTlmNmE5MDI0ZGJmYTdiZTI5IGxlZ2FjeS10cnVuaworMjYwMzAgM2UwZGE4NDkzOWQwYjMzNDA2YmNlYTA4MzYyYzYwZGRhN2EyZTRmOSBsZWdhY3ktdHJ1bmsKKzI2MDMxIGJmM2IwN2M2MmNmN2JlMjRlNDY5ZTNjNDE4YmE2NTQ3NGY2OGJhNjAgbGVnYWN5LXRydW5rCisyNjAzMiBmYzJlN2UzOTdiYzY2YmY5N2E4NjA5MDE3ZGViNDNkM2I5MjIwNWMwIHJlbGVhc2UyMi1tYWludAorMjYwMzIgNDA0NWU2ZTkyZmFmYWJhZDQyZjZjOTk4OWI2NzA3NmZiYWQ0NTJjYSByZWxlYXNlMjItbWFpbnQKKzI2MDM0IDg2Y2U5ZWUxNDA0NTBlMTZhNWJhYmZlMTRkMDNhNTdiNTZjNDAwYjYgbGVnYWN5LXRydW5rCisyNjAzNSBiOTY3NDBjNDJlODA3MGI3MmQ0MzE1NjQ1NjA4OTQ1OTEyODM2NTVmIGxlZ2FjeS10cnVuaworMjYwMzYgOTExZmUwNzkzMDUwNDY4MTMxYWE3ZDkyYzdkODY2YWNkNzc5Zjc0ZCByZWxlYXNlMjItbWFpbnQKKzI2MDM3IDU3ODExYzM1NWYzYWJjZWU1N2IzMzMwNzE4ZTY0MmM5ZTExYmY1MjEgbGVnYWN5LXRydW5rCisyNjAzOCAwYjU4ZWEwNzQ5NWNiMDdlYjhmZmNkOGZhZTRlODc4MmVlM2M2YjhmIGxlZ2FjeS10cnVuaworMjYwMzkgODgxYTZjMmQ1ZGIyYjhjZDZmYWJlOGZjYmJiMTkzNTZiOTdjOWEwZiBsZWdhY3ktdHJ1bmsKKzI2MDQwIDE4Y2ZlZjAxMWFiZTdlNjhhZjVlMGZiZGZjY2NkOGY4MWNjOTM0Y2MgbGVnYWN5LXRydW5rCisyNjA0MSA0ODhiOWIzZjU5OWFkNDEwZGIxYzEyNjc1OTdjODVmYTliZTQwYzkwIGxlZ2FjeS10cnVuaworMjYwNDIgN2MwY2NhYzk3ZjhlZmQ3ZDg1NjgxM2NlNGM4NTRkM2VmMzNmMTg2MSBsZWdhY3ktdHJ1bmsKKzI2MDQzIDEyMGU0YmEwNTUwYmQ3MDk3OTc5MjkxYjg5NzE5NWRkOWRlMmY4ZDcgbGVnYWN5LXRydW5rCisyNjA0NCA0NGJlNWU3NGYxNzI3YmU0NTU5MGNmMjIxZGJlYjg4YmY5NGNkYjI4IGxlZ2FjeS10cnVuaworMjYwNDUgNmYyZjFiMDRlODJlMGRjOTZkNzA1MTg5NzczYzQ4OGJjYzNkNDg4ZiBsZWdhY3ktdHJ1bmsKKzI2MDQ2IGZkMWI4ZWJlNGVhZTQ4YjZkNDdhMTg4MDMyNTM5YzIwZjYyMGJlYmEgbGVnYWN5LXRydW5rCisyNjA0NyBiNDU3NjM2NTM5ZTgwZDUxMTExYjBkOGY1NTY2MDJjOTViMDVlN2MyIGxlZ2FjeS10cnVuaworMjYwNDggZjhiZDkzMDY0NGFhMzQ0ZTU5NjllZmViOTRjYzYzNmM3MzE0NjBmNiBsZWdhY3ktdHJ1bmsKKzI2MDQ5IGVlZTMzNzJjMmY5NjJkNDg1NTI5MmFhNTRkNDcxNThmZTgwMDVhOGQgbGVnYWN5LXRydW5rCisyNjA1MCBjMDU5NmY4NGE4ZmIxNDliMzc4MzcwOWQ5NTE2MjhjZDZlYjE1MGI2IGxlZ2FjeS10cnVuaworMjYwNTEgNjE0MTY3ZGYyMDk2MGE2MmJjZGNmY2Y2MGZhZDlkZTk2ZjM0MWU1ZCBsZWdhY3ktdHJ1bmsKKzI2MDUyIDAwYjI5NzJhYjRhNGIxYTFiM2U5OGE2OTVmMmYwOTU1NWJlYmJkOWMgbGVnYWN5LXRydW5rCisyNjA1MyA1YWUzYzMxNjczZTRkZDY2MjFhN2ZmNzAzOGJkZjZlYWIxYzI5MWMyIGxlZ2FjeS10cnVuaworMjYwNTQgMmMwMmNmMjc4ZjAyODJmMTdlYzk1OWFkNmQ5ZmMxMzA2NTRkZDcxZiBsZWdhY3ktdHJ1bmsKKzI2MDU1IDU5NjE2NzY0N2JjZjU3ZGE0NjI1OWFmNjNjYjM1MDU0MzkwNTkwZGMgbGVnYWN5LXRydW5rCisyNjA1NiAxNzM4NzEyOTMwMzQ0YWEyNGM0MzEzOWNkMjk1MzNiZTVmM2UwNTFiIGxlZ2FjeS10cnVuaworMjYwNTcgZjA1ODNiMWU5M2FiMGY4YTUyNjNmNGQ2MzlhYzJjNDI4NjdhYjM3YyBsZWdhY3ktdHJ1bmsKKzI2MDU4IGZhMGYzNWY5NDRiNTYzMDBkNGFmYTk4MzBmM2IzYWJkNWYwNjdhMDIgbGVnYWN5LXRydW5rCisyNjA1OSA2YmI0Mzg2YjExMTEwMzM0NGNlODgzM2IzNzIxY2YyNzNiYmVkYWMxIGxlZ2FjeS10cnVuaworMjYwNjAgYTRhMWU2ZjU1NTMxOGFlMDIzNjMzMzU3ODkyMjA3MzFkMGQ4NWZiZiBsZWdhY3ktdHJ1bmsKKzI2MDYxIDM1ZjU4YzI5Nzg5OTY0NGNjMzc5MTZiNjFlNjkzN2U0YTkxMzY1ZjQgbGVnYWN5LXRydW5rCisyNjA2MiAwZWVjZTczYzEzYzA4ZGVhZDc0YTA5NWU0ZjgyZDFiZTFmZTBjYjI4IGxlZ2FjeS10cnVuaworMjYwNjMgY2YxYTA1Yzg2NTk1YzEwY2IyMGE0ZmIxNTMwNmNlYTlhZGE2NzU0ZiBsZWdhY3ktdHJ1bmsKKzI2MDY0IGYwN2NhOTk3MjMwNDA4OTI5ZDI0MzFkNTRjOWM2OGFjNjIzMzhhZGUgbGVnYWN5LXRydW5rCisyNjA2NSBlMGVlMDA5NDE3ZGYwNzNlZDFlNDBjNzllYzBlYjljZDAzY2NlYzM1IGxlZ2FjeS10cnVuaworMjYwNjYgMThkY2NkZjJjNDZkODAyNzRlYmJkZDljM2I5ZTM1NjVlNDU3MWY2MyBsZWdhY3ktdHJ1bmsKKzI2MDY3IDg3MDNkMjA1MjMzOTk4NjZmMjkxN2M1N2VjMjUwZjIxZGM3Y2NjYTYgbGVnYWN5LXRydW5rCisyNjA2OCAxNGViZDc2MTA5MDI2Y2FjYzdmM2QzNDc3MmE1MmE5NjA0ZDM3OGUwIGxlZ2FjeS10cnVuaworMjYwNjkgZGMyZjc0NWZjYzY3ZTgyYzdkZTQ0Y2VkZmQ0MmZjZjVjYWI5Mjg1ZSBsZWdhY3ktdHJ1bmsKKzI2MDcwIGFlYTZkZmVhYWFiODQxNjkyYzAyODhkMDBmNWNiMzEzZDczMmU3MTAgbGVnYWN5LXRydW5rCisyNjA3MSAzYWE0YmY3YWMzMWU5ODVmMzUxM2E4NjdhNDcxNzE1MDU5YzU3YTFmIGxlZ2FjeS10cnVuaworMjYwNzIgOGEyMjViZDg3NjNhZDBmZDYwYmRkMzc4OWFlZjllYTRlZDhjOTE4ZCBsZWdhY3ktdHJ1bmsKKzI2MDczIGNhNDY1ZTRkODhiYzFmNzJiYzM2OTM0ZWEzOTVmOTczNDUxMTkxZjMgbGVnYWN5LXRydW5rCisyNjA3NCBiMzgzZGZlMzZlZWU3ZGVhMzZmYjMyYTYyM2U5NWIxYTgwZjIxMDQ0IGxlZ2FjeS10cnVuaworMjYwNzUgY2M4YjczMDQwZTgzN2Q2YmVlMzA3MTE4N2UyZTg2ZDY5NTRhMDMwMSBsZWdhY3ktdHJ1bmsKKzI2MDc2IGNlY2E2Y2M0NDQyMDhjMTA4Y2Q2OTg3ZTI4NDI4MmQ1MDE4MjZlYWYgbGVnYWN5LXRydW5rCisyNjA3NyBlMGVkZmVlYTUxODNiNDYzMDE3MzcyNjgzYWY5MDgyNzUzYjYxNzZiIGxlZ2FjeS10cnVuaworMjYwNzggMjJmZGI0MTZiYTJmMWI0MjlmZWE3NjIwM2Q2YmZjMTEyMmJlYzkxNSBsZWdhY3ktdHJ1bmsKKzI2MDc5IDBiZGQ0MTNhMzQxNjliNDY5NDk2MWIwOTM5MjJhNjE5OGRmNTQyYzMgbGVnYWN5LXRydW5rCisyNjA4MCBjM2Q2MzczMDg5NTRhMzEyM2RjYTg3YWZhMzlhNTMyZTcwOTVhYzZlIGxlZ2FjeS10cnVuaworMjYwODEgZmEwYWM4NDU5MjliMjFlMGVjZTY1YTBhNmI3MzMwOWZiNmE5NWViZiBsZWdhY3ktdHJ1bmsKKzI2MDgyIDZjNGIxOTMwMTZjNjc1YzFjNTAzMGMzMTc2NzlkYWE5MDRkNDgwYWYgbGVnYWN5LXRydW5rCisyNjA4MyAyNTNkZTU4OGYyZmI2NWUyZjE3NGNkZGQ5MjNhZWY4MjU2YjY3Yjc5IGxlZ2FjeS10cnVuaworMjYwODQgYmE2OGRkYTE1ZGYwNjg3ZWNjYTEyMmU3NmIxMDNkYTZiZjBmZTI0MyBsZWdhY3ktdHJ1bmsKKzI2MDg1IDFlMzA2MmU2OWYyY2MxMTAzNTlkMTU0ZTYyYzJlYTdkNDE2OTRiYzcgbGVnYWN5LXRydW5rCisyNjA4NiA5YmFhOGM5YTFlODQzYTk4MTM5YmVjYjY5NTkwODVkOTM4YmFjNmFjIGxlZ2FjeS10cnVuaworMjYwODcgZmE5NTU5YzViMTAzNzE1MzI2NDM2YmEwZjU0Njc2MmQ1Y2Y5YjJkZSBsZWdhY3ktdHJ1bmsKKzI2MDg4IGM4NDExMGYwNWRjMzZjNDcxOTc2MDFmNjllZTYyM2M5Y2I1ZjViM2UgbGVnYWN5LXRydW5rCisyNjA4OSAwOTczNjkzZTRhZDIxZDY4OGIzYTQ3NzcxOWI2YWY1N2U1MGVhMTE3IGxlZ2FjeS10cnVuaworMjYwOTAgMTRiNzk4NmE5MmUxMDM4ZmE5MDJjNDA2OTE2M2U3MGFkYTZjYmExNCBsZWdhY3ktdHJ1bmsKKzI2MDkxIGNkZmYzYzdjMWE3NjQzNzkxMGY0MTljZTA0MzVjYjlhZjFjZjc4MmMgbGVnYWN5LXRydW5rCisyNjA5MiA2OTMxZGJkMmVkYjQyMWRiNTIzZTJiOWNlNmIwNzkzZGZkOWRhYWI0IHJlbGVhc2UyMi1tYWludAorMjYwOTMgMGI2NDU1MGE3NDYxMTVjNDdlYjZlODM0MmZmMmMzYWI4ODRiMGE3NSByZWxlYXNlMjEtbWFpbnQKKzI2MDk0IDAwMTU0YTBmZGU2MTc1YTRjODU0ZGY2Yjc1N2IzNDgwN2M1NjRjMmEgbGVnYWN5LXRydW5rCisyNjA5NSBkMjQ2NzAzODRjMzljZDI2MGM0MGVmZmZiYzM2N2NhMzNlZDVkNGYwIGxlZ2FjeS10cnVuaworMjYwOTYgMWFlNDIzMjYyZmM5ODY4MTVlZDk2OGFjMTljNjc4OTA0YmRjNjQ4ZCBsZWdhY3ktdHJ1bmsKKzI2MDk3IGYwMmVhOGU4MjRiMGMxMzc4OGUxZTE0M2JkNzYxMjI4NTNjM2Q3ZjAgbGVnYWN5LXRydW5rCisyNjA5OCA3M2U4MjcyMmIwM2MzOTJmMTU2YTFhYjA1OTdkNjNiNTlkZDRiN2U5IGxlZ2FjeS10cnVuaworMjYwOTkgODEwYzE0ZjI0MzczNmQ5MjJiNzIwMzNhZDFkOThlYjAwZGQwNzRjYyByZWxlYXNlMjItbWFpbnQKKzI2MTAwIDgyNmJjMTUyMmQyMjEyYzNmNGViMzAwMDc5MWJhNDZkNDBkYTc0YjEgbGVnYWN5LXRydW5rCisyNjEwMSBlNDQ5YzgxYzFjMDFmNGUwMmM1MGU4YmMxNTZjMWUxM2UzOWNiYmQwIGxlZ2FjeS10cnVuaworMjYxMDIgMjcxZDYyMWYwZTlmZGYyMmRhODNhODI4Y2MxOTU1MWJkZTQ4NjAwYSBsZWdhY3ktdHJ1bmsKKzI2MTAzIDc3MWIyYThkNDQ1ZGMzMjFhZDU3M2Y3OWIzY2Q4ZGI3ZDIyYWVmZjkgbGVnYWN5LXRydW5rCisyNjEwNCBmNTFiNzc4ODQwMTI4N2VmZTNlZjZlNjdkNmNlYzc5NGY2Y2Q0ZWFjIGxlZ2FjeS10cnVuaworMjYxMDUgNzM2MWVjODgxODhhOTFlMWExZThjNGJkNGZlM2Q1ZGRiZTU1Yzk2ZiBsZWdhY3ktdHJ1bmsKKzI2MTA2IDI4MGU3YTIwZTMxYTVjODY4MzRhYmU0YWE5YzIzMDliMWY5NGM5ZDcgcmVsZWFzZTIxLW1haW50CisyNjEwNyBjMTE4ZDA5NWJkZGViNWRiMTczNmNkYWZmZDIyZDVjNzhjM2ZjNzVjIHJlbGVhc2UyMi1tYWludAorMjYxMDggZmVlMmY2NmYzYzE2NWVmMGMxNjE5MTRmYzJiYWUzOWVmNjUzMDI2OSBsZWdhY3ktdHJ1bmsKKzI2MTA5IDFiZGYyMTdiYWQ5MzA5Yjc2NjkxNmE0OGZhMGU3ZGZmY2JjMTBlY2QgbGVnYWN5LXRydW5rCisyNjExMCAyMjI0YWZjNjNhNWJiOTYzZmYzNTE0NDRkZDI0NGQxMDA2OTdiNDRkIGxlZ2FjeS10cnVuaworMjYxMTEgNTNlZDlkZDZiY2Q1ZDQ5MDllNzk5NDM2MGYxZDgxMDdiNTRiMzk2NyBsZWdhY3ktdHJ1bmsKKzI2MTEyIDUyMjQwNWFiMzVjMWFkMmM2MjI4YzA1NjI2ZDZmYzhmYmZhYThjYWEgbGVnYWN5LXRydW5rCisyNjExMyA0YzEwZjE2OTI1MjMyNjQ1NzlkMTYwYmZiNjdkNDllNDIzOGE2NmYwIGxlZ2FjeS10cnVuaworMjYxMTQgNDA4MWVmZjkzMmZlMjg3OTI2YjNjYzkyMTIyNTk2NWRlYzI5NTlkOCBsZWdhY3ktdHJ1bmsKKzI2MTE1IDJhYTk0OWQwMmQ0MDUzMjhkMzEwNGM0MjU3MjM4Njk5MDE4OTFkNjAgbGVnYWN5LXRydW5rCisyNjExNiBjYjVmY2EzY2U3OWE5ZmE3OGM2YTcyYTc5MDg4ZjA3ZDVhMWNkZmQ1IGxlZ2FjeS10cnVuaworMjYxMTcgZmQ0NDk5OWU3ZWFkNDIxN2ZkNTEzZjUwODVkYWRmNTkwNjIxNTRkZiBsZWdhY3ktdHJ1bmsKKzI2MTE4IDY4NzFlNjc0NWFhNTQyMTBhOWIxMDJjZThjYTNjNDc1NDhiZTNmMjggbGVnYWN5LXRydW5rCisyNjExOSA2ZmE0NmMyMTc2NmQ5MjMxZGRhYThkYzdjYWFmZGE3NDFiZjYxNDg5IHJlbGVhc2UyMi1tYWludAorMjYxMjAgZTcwYzliN2FhZjNkNjg5NjRlMWZjM2M5NjJlMjU0NzU0ZTVhNGRmMiByZWxlYXNlMjItbWFpbnQKKzI2MTIxIDg3MTk4NjYwMTRhYjM2YTkwOWY3NTYwYjI4ZTQ2NDJhYTYyMTBjNjMgbGVnYWN5LXRydW5rCisyNjEyMiA5OTMxZjE1NGJlOTg4ZjVkODhkNGU5ZWQwYTg2NWRlOWQ3MTcyYTlmIGxlZ2FjeS10cnVuaworMjYxMjMgODE3YjQ5NGM5YjVlNDk3YjRmZDAwMzc5NzBhYzBhNGUyYTJhYjdhNCByZWxlYXNlMjEtbWFpbnQKKzI2MTIzIDViNTQ2NDBlNzJiNjZiOGMwODU3OTVlMjhlZjc1NmQ1OGI5NTVjNmMgcmVsZWFzZTIyLW1haW50CisyNjEyNCBhNzg4NGQ3ZDJkNDg5MDBmOTVkMmQwZDQ2YWY5MzRkNDQ5MzE5MTI4IHJlbGVhc2UyMi1tYWludAorMjYxMjUgMzQyODIyOWYxMmJiMTlhMjg2OWMzM2ZiNDJlMDllODUzNDJjNzQ1ZSBsZWdhY3ktdHJ1bmsKKzI2MTI2IGFkM2NlNzMwMTZiZmFhMWJjNmNjNWU2Njc3YzllNzY3MzYzYWQxYzAgbGVnYWN5LXRydW5rCisyNjEyNyBkMjZkODU3NWFjNjIxY2YyZmM4ZWQ2Yjk4MmVhYjMyOWJlNGU4Zjg0IGxlZ2FjeS10cnVuaworMjYxMjggNTRlYThhOTNlY2Q3ZTYyMTk3YjNiNmYzMzJkZWNhZjhlYzIzYjM2YSBsZWdhY3ktdHJ1bmsKKzI2MTI5IDNhNTA2NTAwNWZjZmQxMjExMmFhMmIzMmNkMzY1YTU4OGE1NTk1MTQgbGVnYWN5LXRydW5rCisyNjEzMCA5ZjUwOWU0OTBmY2M3OWNmZmVkZGIyZDRmNWYzZDYxZWI2YmYzMDhlIGxlZ2FjeS10cnVuaworMjYxMzEgMzE0ZTE0MTZhYTVkNWY1ZGNjZTYwMWI0YTU2NmUxOWE2NDJjNThiOSBsZWdhY3ktdHJ1bmsKKzI2MTMyIDI2MGExNzIwZjYyOWM0ZmYzNzAxYWI0YTRkNjYyMzY2ZDY1YWUxNTggbGVnYWN5LXRydW5rCisyNjEzMyA1OWQzOTEzYTI5YzQ0MzkzMjNjNzQxMGE3YmI2NDhjOWVlYzI0ZmM5IGxlZ2FjeS10cnVuaworMjYxMzQgYTZmOGUxMjg2YjE1NTZlZGVlYmQ1MTIzYWUwNGQ2NmQ3NzJhM2I2OCBsZWdhY3ktdHJ1bmsKKzI2MTM1IDAyZmRkZjdjMjVjMmRlM2UzMmJmMDc4MTgzMzI3YjM1MDNhMGYzYjkgbGVnYWN5LXRydW5rCisyNjEzNiA3NGRlODY0MTgyODQxMGUyNTYyZGI1N2Y3MjY0NmNmNWQyYjE2YzE4IHJlbGVhc2UyMi1tYWludAorMjYxMzcgZDZlZjk1N2JmMjkwZmM2ZTY1ZjcxZmQ3MjM0MmM2OTQxNjFjYTJlYSBsZWdhY3ktdHJ1bmsKKzI2MTM4IGE2YThjNjllYzBlN2M1OGUxM2I5MGNiNWJhZWVjZWZhNjNjYzUzNjcgbGVnYWN5LXRydW5rCisyNjEzOSAzNjE4NmFmM2MxMjUxNjRhNzBlYTFmYWQyYTU3YTk3MjcwZTZiOGNhIHJlbGVhc2UyMS1tYWludAorMjYxNDAgMTQ5ZmJiYjAzOTE1NzViNWY4ODViN2M5MmUwNzI5ZDk2YWNlZmE4NSByZWxlYXNlMjItbWFpbnQKKzI2MTQxIDVmN2Q3MGFiNzRlZWZmZGZjZGRlNzIxY2RhNWZhZWI3MTVjNGFlZTggbGVnYWN5LXRydW5rCisyNjE0MiBlYzY3ZmNlM2ZhM2NlZDRhM2M4ZDhjYzQ4Yjk2NTcwZmYyZmNkZmJmIGxlZ2FjeS10cnVuaworMjYxNDMgZDk5YTFkZGY5NTE4MDUxNzhkOGYxODVhN2YzMjZhODJiM2ZhMWJlMSBsZWdhY3ktdHJ1bmsKKzI2MTQ0IDAxYzVhZTZmYzViYmJhM2E3ZTFhYTE1N2M2NmQxZTU1ZTkzZjMwZGUgbGVnYWN5LXRydW5rCisyNjE0NSAwYjJjMDg3NTQyYmNiZmYzNzA0NjIyMzQ5YWJiOWQ5YzViNWIwNmJjIGxlZ2FjeS10cnVuaworMjYxNDYgYWE4ZDU5ODIzYWRkMWE4ZTdmN2U4YTdmZThjN2Y3MTBhOTdlM2M4YiBsZWdhY3ktdHJ1bmsKKzI2MTQ3IGE4Yzc1Y2Y3NGRjMTQxMTJjMGVjODBjMmMyZGJmNjVhZmM3MzlkYTggbGVnYWN5LXRydW5rCisyNjE0OCAwMjhlYmM4ZmIzOTA4YThjZGI3YTk0MGJlMWExYzQ1YzQ0MTcyODY4IGxlZ2FjeS10cnVuaworMjYxNDkgMjIzOTZmNzdjMzU2YWEzMDlmYjhmMDIwYTY4OWQ4NDM5YTQzM2I5MSBsZWdhY3ktdHJ1bmsKKzI2MTUwIDk3YTM0NjQzZTU0NGE5NzA1ZGRkZDQ4NzgxZDgyMTgzMjEwNTExMmYgbGVnYWN5LXRydW5rCisyNjE1MSAwNjY2OGQ4ZDkzNDNmNDY0ZDkxMDhkM2QyY2FiYWU0ZjU4YjM5YjY1IHJlbGVhc2UyMi1tYWludAorMjYxNTIgOWFjYWI3NmIwMDE3OGQ2NDg3ZDY0Y2IwMGQyZWE4NTAwM2EzYTM0YSBsZWdhY3ktdHJ1bmsKKzI2MTUzIDE5MjI5MTVjYjczZDdhOGFjY2M1MWZmOTVkNTQ4ODA4MTllZjZmNjIgcmVsZWFzZTIyLW1haW50CisyNjE1NCAzYzg3ODE0OTJkMWZkYjhiYTM5NTBlMmU5NGE0Zjc1ZWViMmU0YTdiIHJlbGVhc2UyMS1tYWludAorMjYxNTUgZjY2M2ZmYmU5ZTVjNDBkNGEyYWM1OWU4YTg4ZDVmMDhlYTkyYjhhZCBsZWdhY3ktdHJ1bmsKKzI2MTU2IDRlZDA2ZjhhYWRkMzc4NjMyODhlMzZkYWE2ZWUzMTZlNGJlOWJhZjIgbGVnYWN5LXRydW5rCisyNjE1NyBhYzVlMWQ5MDI5Yjc5NDUyNmM3ZDMyMDgyYzdlMzA4MGQ5YWU4ZTExIGxlZ2FjeS10cnVuaworMjYxNTggNjkzZTAwMTY0MDgxYWVkY2NjOGNmNDc1MDJmODg0OGU4Y2I2ZjE1NSByZWxlYXNlMjItbWFpbnQKKzI2MTU5IDBlYjgzYWFjZTA3MTY2N2RhOTVhODMyZmRlYWFhODZmMzZhZjM4ZWMgbGVnYWN5LXRydW5rCisyNjE2MCA1OGIyZjQ2MjZiNjRkNzhhMWYxODQ1ODc2MjQ3MWY4NDU1ZGQxODlhIGxlZ2FjeS10cnVuaworMjYxNjEgMjEwMDg4N2I0N2NiYjliZTJjZmVjMWYzYzhiNmFjZGRmODFmMDg1ZiBsZWdhY3ktdHJ1bmsKKzI2MTYyIGYwMjc3MTQ2YWExNmRiNjQ5ZjdkM2Y5YTcyZjliNWFhNDQ4ODVmOTMgbGVnYWN5LXRydW5rCisyNjE2MyAxN2ExNzUxYWQxZDkwMjFmZWE4NGExOTYwNWMzODk5YjdkZmRmNzdkIHJlbGVhc2UyMS1tYWludAorMjYxNjQgMjFmMzUzMTI0MTQ1YzQzYTM5MjFjODIyNWU5ZTU1NzMwNWNmOWFmZiBsZWdhY3ktdHJ1bmsKKzI2MTY1IDc3MzQzYWEwM2UyZjM2M2M3YjQxMDQxNjEwZjc4YzgzMzRjYjYxZjUgbGVnYWN5LXRydW5rCisyNjE2NiBmMWFmOGFkMTEwMDBhMDg5YmUwZjlmZGI1YmEzNzJjMTk4MmMxN2EzIGxlZ2FjeS10cnVuaworMjYxNjcgYzgxNWUwMDNkYmNkOGJkNWMwY2U0NTg0NDExNGY2MTdmNjU2YmU0YyBsZWdhY3ktdHJ1bmsKKzI2MTY4IDg4MmVhNWNjNzY4N2FiYmU4ZjRjNzBjMDI0ZDg4YThlM2FkNDMyOTcgcmVsZWFzZTIyLW1haW50CisyNjE2OSAzMzM3YzQxYzEzMmIxMTRhOTRjNTJiNTBjMTg0ZmQ5ZjJjODAyNDJhIHJlbGVhc2UyMS1tYWludAorMjYxNzAgMmI3MDI1YTIzMmUxZjdmNDk0Y2M5OWIzM2NmYjU4OTMyYTZkM2UyNCByZWxlYXNlMjEtbWFpbnQKKzI2MTcxIGEzYmYyYzk3ZTgwOGU0MTY0OGQ2NGIxYTVmYTY5M2YxMWI4OGY3MTMgcmVsZWFzZTIyLW1haW50CisyNjE3MiBkZDg5ODhjYTRiMTQ2NmQzNjdhMThmY2MwZmVhODYwNTYxNDUwNmRhIGxlZ2FjeS10cnVuaworMjYxNzMgMTJiMDAzYmU1ZDk2YzUzODk3NzA0N2EzMmY2ZTVhMWZhZTdjMmNkMSBsZWdhY3ktdHJ1bmsKKzI2MTc0IDUzM2NkNTE5NzU3NWRhNzdjMDdmMTFhNjZhNWQzNjIzYjA1OWZlNzAgcmVsZWFzZTIyLW1haW50CisyNjE3NSA0M2VlNzM3YTFiN2YxMGFhYTBhOWJkNTkyMjhmMzdiNjg5ZGYzY2Q3IHJlbGVhc2UyMS1tYWludAorMjYxNzYgMzUxNTc2NzEyM2Q4YzhjZTUzOGZhMmUzNTFmNmQ4NmVmYWExN2IzMCByZWxlYXNlMjItbWFpbnQKKzI2MTc3IDM1Yjc5ODQzODUyN2ViNjJmZDc2MmI2YjQ1ZjViOTg2MDdhNGFkZmIgbGVnYWN5LXRydW5rCisyNjE3OCA2YWZmZmZmMWZmZjFlZWE1N2ZlZDAzMjI2YTQ1OTUxNDZlMGZhNzg1IHJlbGVhc2UyMi1tYWludAorMjYxNzkgNDNjZWUxODE4MjQyMGExY2M2ODUzYzYwMzI5Yjk1NDRmNTRmZTYwOCByZWxlYXNlMjEtbWFpbnQKKzI2MTgwIGMxYWVjNjMyNGFkNTRlMGE4ZTUyNjJmZTNjZTNiMWE2YTI3NDg2MWEgbGVnYWN5LXRydW5rCisyNjE4MSAwYWNmNjgyMGQ5ZTM1MTAzMzU3M2I2NDg4ZWE3NmU2M2EzZTA3MzIwIGxlZ2FjeS10cnVuaworMjYxODIgNDJjYzg3YzQwMTAzNmIxZjMwNjdiOTVmNTU4ZmJhYWRhYTVjY2Y5YSBsZWdhY3ktdHJ1bmsKKzI2MTgzIGM1NmVhYWQzYTBiMzlmMmFlMGY1MzgyNjUwNDJlNjJiYmU1ZjQxM2EgbGVnYWN5LXRydW5rCisyNjE4NCBmODlmMjAxMDg3ZWE2NzVhNTExYjg5YjJhYjI2Yzc3NWZhZmIyYzIyIGxlZ2FjeS10cnVuaworMjYxODUgZjY4ZGRmN2YyMWY4NGE1YjVlMGUyNDJlZDczYTc0NzVjOGYwODE2MiBsZWdhY3ktdHJ1bmsKKzI2MTg2IDhiYTQ5OWVjYzZjOTEyNGM2MDQzYWViNmZlMzI1Mzk0MmQ5OWFiMTggbGVnYWN5LXRydW5rCisyNjE4NyAyOTU1MWY3NDdjMGVkOWQ0NjcxOGQ4NDRiOGVjYzlhYWFjOTZmNzY5IHJlbGVhc2UyMi1tYWludAorMjYxODggM2I2ZjQ4YjU0NjY2ZWNmYTEyMWVhMTY5NjZhNGI3MzQwZjczMmQ5MyBsZWdhY3ktdHJ1bmsKKzI2MTg5IGFhZjU3MmUzMzRjM2M4YmEzOTQ5ZGFhMTM2YWNiM2I0ZmJmMjM1YzYgcmVsZWFzZTIyLW1haW50CisyNjE5MCBkM2NmMzgzZGYwOTZjMmM4Y2U2NTQ1YzA4NDM3MjMwZTM1NzMzOWZmIHJlbGVhc2UyMi1tYWludAorMjYxOTEgYTlkZDVlNmQ2ODA1NjNlMDc4NjNkNzRmN2Q1OGMyODAzMTE3NWYwMyBsZWdhY3ktdHJ1bmsKKzI2MTkyIDNhZjhhYjFiMDVmYzdmMTI5MDIzNjZmMTNiN2VhNTg2MTdhNzNiYzUgbGVnYWN5LXRydW5rCisyNjE5MyA1ZWRhN2RiMDA3ZDZkNzhlNjgxMTkxNmUzMDVjODM2YzA1NWM0YWUxIGxlZ2FjeS10cnVuaworMjYxOTQgYzg2NWNmOGJlZTQwZDY5NTFiMDMyMWQyNjBjZjEzMjg3ZDMzZmRkMCBsZWdhY3ktdHJ1bmsKKzI2MTk1IDA5MDg3MjllOTRlMGYxNWYxZDZkODcwMDE1OTc4ZTY5ZjM5YWI2ZmYgbGVnYWN5LXRydW5rCisyNjE5NiA3M2QxNDViZmQ4ZTQ1ZTBiMGNjMTg5OTZmNGY0MWY4OGY1YmRhMmY0IGxlZ2FjeS10cnVuaworMjYxOTcgZjFmNTdiZjA5MDkyZWJlNmMyNjk5MzNjODc1OTUwZTE4NzkzMjliMSBsZWdhY3ktdHJ1bmsKKzI2MTk4IGVmMmZiY2U3MTczNjlkZmNlMDgwNzUwY2VlMjNmNGU4ODgxYjY3ZjIgbGVnYWN5LXRydW5rCisyNjE5OSBkNzUzMTMwNzQzNTU1MWEwZGI1ZjU4NzIwYTcwYjQ5ZjAxZGFhYTBhIGxlZ2FjeS10cnVuaworMjYyMDAgMmVkZGNlNDRiM2JlZGJjNzEyMDUxMjg1YmZkY2U5ODg1OTVjMzlkMyBsZWdhY3ktdHJ1bmsKKzI2MjAxIDE4Njk2ZmMzNTA2MmY2MmFhNDBjMTM4NDkwNDFkZGMwNzI0NWYxMDkgbGVnYWN5LXRydW5rCisyNjIwMiAzOWVhMDlmZjU3MzRlY2NkZjFjNjI3MmU1ZjE1MmIzZmRkYWM4ZmZiIHJlbGVhc2UyMi1tYWludAorMjYyMDMgMDc5YWJlMDVlOGJjODFjM2Q4YjkyNmVhNWJhZWMxMTkwNzdkMzFmYyByZWxlYXNlMjItbWFpbnQKKzI2MjA0IDM4Mjc5MWRkY2UxYzE4MzJmMDUwZjVlNmRiY2ZmOTA2YmUxNzY2YTIgcmVsZWFzZTIyLW1haW50CisyNjIwNSAyMTZkYWQ3MjA5YmM3MDEzMmNhMjI5YjkyMGQ5NGFiMjQ0OGViNzIwIHJlbGVhc2UyMi1tYWludAorMjYyMDYgZDcwMjk2Nzk0MzVmN2VjMjkwNjBjZTE4MDU3ZTE0M2U5NDU1YmRlMCByZWxlYXNlMjItbWFpbnQKKzI2MjA3IDY4MDcxYTcyNjk3MDZiODFiYTU3OTUxNjY0NGMwMzFhZGI0YWNlZDIgcmVsZWFzZTIyLW1haW50CisyNjIwOCBmNjA5M2JhYzlmYjY0ZmUzNGYyNWI2ODRmNzVlNjRhZjc3NjRlODc1IGxlZ2FjeS10cnVuaworMjYyMDkgZTU4OWU0NzNmMjMyZmJmNzdmODllODQxOTc4MDFkZDc5OTVkNDBiYyBsZWdhY3ktdHJ1bmsKKzI2MjEwIGQ2ZDY0MjM5YWEwNTE1OGEyZjc4MzYyYjZjOGI2MjY4MzBkMTY5OGIgbGVnYWN5LXRydW5rCisyNjIxMSBmNjYwMGIwZGI2ODhhNzc2ODBjMDAxZmYwZjdlNTBmNzQ3NzQ4Y2M4IGxlZ2FjeS10cnVuaworMjYyMTIgZWQwMzgwNmQ4OGNkYzk3MjllZjAwNWI5MGQ0Y2ExZjI4MGI2MzRlNiBsZWdhY3ktdHJ1bmsKKzI2MjEzIDZlOWMwZDliZGQ3ZmQ0YTYyNDE3ODdmNDRjZWZlNGE3ZmU1YzJhMWMgbGVnYWN5LXRydW5rCisyNjIxNCAxODhiMGZhMjgwMDdlODZhOThlNTEzNWMxZjAyNWJiNDQ5MjYzMjZlIGxlZ2FjeS10cnVuaworMjYyMTUgMzJlZWM2ZDc5YzkzZjJhYjUxMjYyODE1MGQ0MzZlYjg5ZmRiYjMyNyBsZWdhY3ktdHJ1bmsKKzI2MjE2IDQxNmRiOGQ5NjIxNmI5MTFlYzhhOTU1NGY3NWVjMzNhYTQyNWFjMzEgcmVsZWFzZTIyLW1haW50CisyNjIxNyAyNzNmNTFmNTIwMDAxOTE3ODQ2ZDQ1ZDJlYzgyZjFiZTEwNTBhMzNkIHJlbGVhc2UyMi1tYWludAorMjYyMTggZTI0YjhkMGI2NDcwNGIxMGNlM2IxNTA0MDhiMjE0ZTNkZGJmNzE3NyBsZWdhY3ktdHJ1bmsKKzI2MjE5IDIyZjdlZjdiYTcyYmE0NWNlNTY5MTU5ZGVmNzdkM2Q0NTYxODJmNjggbGVnYWN5LXRydW5rCisyNjIyMCBiYmYwNWFmM2MxOTEzOGQzNTcxNzI1Mjk0Y2Y2ZDIzZGE1ZGE2NzQ0IGxlZ2FjeS10cnVuaworMjYyMjEgMDQzNjdjZmY4Njg5NWY2Y2NiNTgwZjcyZTIwMWNhOTcxYjkwOTg1ZiBsZWdhY3ktdHJ1bmsKKzI2MjIyIGE2NTI3ZDFlZTQ3NDI4YWI2MjI1NjlmMTc3YWJlZDI1ODZlZDQ5NzEgbGVnYWN5LXRydW5rCisyNjIyMyBmOTIzNmNhZDY5ZTYyODBmYTg3NzI0YjdjNGNmZjQ0NjU4NTg4NGY0IGxlZ2FjeS10cnVuaworMjYyMjQgNmY4YTVhZDM5ZTZmZTcyZTFmMGUxMDg1ZDBjMmU1YTdkNDE1ODRjNyBsZWdhY3ktdHJ1bmsKKzI2MjI1IDY4MDRlNDhhMDAzM2I0NjY0NWI4NzhjZDFhNDkxZWM2NjE3NDVmMDQgbGVnYWN5LXRydW5rCisyNjIyNiA3MDE0OTIxODIwYTUxY2QxYWVlYWQzZDFkYTQzODI0NWFkMjM4ZjUxIGxlZ2FjeS10cnVuaworMjYyMjcgYTU2MWZmMWI0ZmZhMWZiYTk3OWUzMzEyZDE3Y2Q3ZDU5YWJkYmE1ZSBsZWdhY3ktdHJ1bmsKKzI2MjI4IGUyZjIxODdjM2QyYzFjYTc5OGVhZjk2OGFiOTUxMzYyNTI1MDRkZDkgbGVnYWN5LXRydW5rCisyNjIyOSAwMGU2NDBlNjgwYmQyOThkYzc3MDk3YzhlZTdkNzc0MTBjOTAzNjU2IGxlZ2FjeS10cnVuaworMjYyMzAgYjFmYTkwZjhiNmMyMTIwM2QwYmYwMzZkYjYyYTc0ZjBlZTk5Y2Y2MiByZWxlYXNlMjItbWFpbnQKKzI2MjMxIGM5MTYyNmQxZjQxMWYwY2JmYTI3NGFmYTE1YjBjMWM3NDVkMzAzNzAgcmVsZWFzZTIyLW1haW50CisyNjIzMiAyNTI0MzhiYjA1ZDk3YTg0YWQxZDg4MWNhNTJiYmFkNjg1NjlkZjEwIGxlZ2FjeS10cnVuaworMjYyMzMgZDQ2MmM3OTBjYzViZDc2OTc4N2Y5YjgxYjc0M2NiMzNlN2JiNzdmMyByZWxlYXNlMjItbWFpbnQKKzI2MjM0IDhkMzM3YjNiNjU1YTNhYTYxNzhhMjY1YjkxZWFjZDk0OGE3NmU5MGQgbGVnYWN5LXRydW5rCisyNjIzNSBjM2U5YTA1MmUyNjhhMDA3MGRhN2IyYTYyOWI3Y2E5ZDU3N2UxNDExIHJlbGVhc2UyMi1tYWludAorMjYyMzYgZTNkZTlkMTlmYWFhZmM2Y2Y4YTE4NDYyMTY2MmVjNmRmYzIyMDRjNiByZWxlYXNlMjEtbWFpbnQKKzI2MjM3IDFhM2IwODY2M2ViZTAxZTdiZjc5YTE2NjA1YzI3MmE0YjE5NDhhYjEgcmVsZWFzZTIxLW1haW50CisyNjIzOCBhNDFhMWUwMDUxYzVkNmUyMDJkZjI5ZDk1NGFlOTFkNzFkNGYwMjlkIHJlbGVhc2UyMS1tYWludAorMjYyMzkgM2E2NzE4YjliNjVhODM4YjI4NzZkNjlkMTExMWZkOWI2ODNmZmFhYiBsZWdhY3ktdHJ1bmsKKzI2MjQwIGUxNDIzZWM5ZTZlYzM2MmQwOTY3YTc1NDQ3N2M0YjdlYmI2MWQ5ZmMgcmVsZWFzZTIyLW1haW50CisyNjI0MSAzODlkNDI5YWRhNzJjNmQ0N2UyM2ZmMzczMmFmOWJmNjIxYTY2N2E4IHJlbGVhc2UyMS1tYWludAorMjYyNDIgNzkyODc1MWJmZGVlNTE4N2FiMzliNmI4OGE0YmIzODUwYTIwOWI4MyByZWxlYXNlMjEtbWFpbnQKKzI2MjQzIDViZTA2NzdkODEwZDAyNmE3OTU1NmQxYWQzOTc4MmQ3Njk2ZmQ4YjIgcmVsZWFzZTIxLW1haW50CisyNjI0NCBkOGJjNjhjYjE3ZTAzNzAxMjhiOWRlNGYzNTBmNDE0YTIwMjAwODA5IGxlZ2FjeS10cnVuaworMjYyNDUgNWQzODMwMDZkMzZiOWQzNjRhNTI0MmMwNjk0MmUyNjQ5ZjUyZTNkOSByZWxlYXNlMjItbWFpbnQKKzI2MjQ2IDI4OWVhMWQ1YzVhY2NjZGMxOWRmYTZlNzc2Nzc2MjRhYThhNjBiYTQgbGVnYWN5LXRydW5rCisyNjI0NyBjMGRkOGJiZGRlNjA0MDgzNDc5NWQ2NWEyZWE2YTQwM2EyOTE2OTZjIHJlbGVhc2UyMi1tYWludAorMjYyNDggZjk3NDczYjM0MGE1ODAzY2IwZGNjZjc2NGU0MzUwNzQyZWJjZDdjMiByZWxlYXNlMjEtbWFpbnQKKzI2MjQ5IDJiM2E2YTg0NGJmZmRiYjllOGRlODUzZmVlNTM1ODY0NjQ5MTExODQgbGVnYWN5LXRydW5rCisyNjI1MCAxNzBmYjViOTQ3M2Y4YTM0MjRkMmE2MGJkNjcyNDQzMTcxYzAwY2Y2IHJlbGVhc2UyMS1tYWludAorMjYyNTEgYWY3MmQyY2YyYzU1ZWI4ODQ5MDA2ZDBlMDAwNjVhODEwYWM1MWQwOCByZWxlYXNlMjEtbWFpbnQKKzI2MjUyIGI4MWQwZTg5MDQxMmNjMWFmMmM0NTIwMmEyODkxM2Y4NDM3MWFkMGIgcmVsZWFzZTIxLW1haW50CisyNjI1MyAzM2IyYTg5YmY0YTZhNWIyNjdiNWQxODNlMjU4NTM2NTcwODZmZGEzIHJlbGVhc2UyMS1tYWludAorMjYyNTQgMWEzNzU2NjFjYzk3MzI5NTAxMDRkMjA1ZTRjNzg4MWJhMGM0Zjc5NyByZWxlYXNlMjEtbWFpbnQKKzI2MjU1IDU3MGE3ODAyNzlkMWE0NjFiZTY0MmUzYjc0YTExY2JhMThmOWVlOWEgcmVsZWFzZTIxLW1haW50CisyNjI1NiBiNWFhZGU5N2Q3MjNmYThhNjNlN2IxOWJiMTYzMGRjNjFmZTJjNzBmIHJlbGVhc2UyMS1tYWludAorMjYyNTcgN2Q0MGI2OTFkYmE3NjM3Y2NiZjc3YTEyOTNkZDIzOGUzNzJlOWJhNCBsZWdhY3ktdHJ1bmsKKzI2MjU4IDhiYWNhNGVjZTY0NTUzNTI3MDdhYjZmYWYxMTEzZDBhZDUyNjlkMGEgcmVsZWFzZTIxLW1haW50CisyNjI1OSBlYTQzNTIzYjViZTc2MjdmNGJhNjIyYjc4YTk4NzhhZWYzNWNjMmQ4IHJlbGVhc2UyMS1tYWludAorMjYyNjAgYzBkN2I1Nzg4Y2JlNjNiYWFjMDI0NDk1MjEwNzM5ZDA2NzdkODk3NCBsZWdhY3ktdHJ1bmsKKzI2MjYxIDg5MTNkZmExMTAyN2VkYWE3YWExMTVjY2ViNzAxNmNlYTliZTlmMTMgbGVnYWN5LXRydW5rCisyNjI2MiAxMWNmZTgzODNjZjg4NzUxZmFkM2Q3OWUxZTZiMmJkMzEyMmQwMDY2IHJlbGVhc2UyMi1tYWludAorMjYyNjMgZmJkZDQwYjkyYjg3MGI3ZmY3YmQ0ZWRkNjIzNmIwNjdiOGI0YWRhOSByZWxlYXNlMjItbWFpbnQKKzI2MjY0IDdlODRkYTljOThlYmE2YjgwODFmYzNjM2NjMWE2N2ViMjNhZWU1N2MgbGVnYWN5LXRydW5rCisyNjI2NSA5ZDI2ZDU2OGRiYjMwNzYzYzVlZTJhYjMwNGIzYTJjYWFhZDkxYjFkIHJlbGVhc2UyMS1tYWludAorMjYyNjYgYjYwODQ0NWIyNWYwMjliMmRhZGM4NWZmMGFmMzFjZWI3MjNmM2NhMCByZWxlYXNlMjEtbWFpbnQKKzI2MjY3IGFjOTliZWQyNGI3ZDEwNmNhNTFiNjA0NGM1MGQ3Y2ExNjk1ODYwZmQgcmVsZWFzZTIxLW1haW50CisyNjI2NyA3ZDE1MDRjODBmYTA3MmI0YmE4NmVkZGExM2ExM2IwYTA1YWU4ZWFiIHJlbGVhc2UyMS1tYWludAorMjYyNjkgNWFiM2U4ZjE0ZDQ2NjM5ZDZjNDBjOWNiNjJkMGQ3Y2Y4Yjg3Njg3MyByZWxlYXNlMjItbWFpbnQKKzI2MjY5IDM5NDc5MDMxNmFhMzgwZDIyZTRkNjcwYmM2OWE2MzllNzI1ZjAzMDAgcmVsZWFzZTIyLW1haW50CisyNjI3MSA5OTAwMWZkOTVlNDhkYjgxNWE4ZmQwMWIzZGQwMTc3OWUxZWU3OGU1IGxlZ2FjeS10cnVuaworMjYyNzIgMDc3M2QyMzIyNGQyYWE2YjU1MDUxY2ZkMDc2OWFlZjNhYzZmZGY3ZiBsZWdhY3ktdHJ1bmsKKzI2MjczIGMyNmFmMWFiYzJjNjIxMzAxMmFkNTkwZjk0MWQ5YTg5ZWFkZmExOTAgbGVnYWN5LXRydW5rCisyNjI3NCAxMjEzM2M4YjgzY2Y1ZjRlZTMyNGNlNzQzYjQwYmZkYWI0OTVlY2VlIHJlbGVhc2UyMi1tYWludAorMjYyNzUgNzI4MWEwNmUzYjU3ZjNiZWJjNTc1MjE0MWViMDNhY2Y1YmI2NTJmYSByZWxlYXNlMjItbWFpbnQKKzI2Mjc2IGZlYjZkMWJjZGQxZDYyZTE4OWRlMjMwNWRjNThlMmNiNTc3M2MxMGEgbGVnYWN5LXRydW5rCisyNjI3NyA5MDgxYzkyYTBjYzg1ZTQ0ZmM2N2VjM2ZjYTczNDQ5YmZmZTg3ODFkIHJlbGVhc2UyMi1tYWludAorMjYyNzggOGEwMmMzM2VkMmMxOGJiMzg0MGIwOWIxZTBmNWU0N2ZjNjViMDFlMCBsZWdhY3ktdHJ1bmsKKzI2Mjc5IDE1YzE4YmM5ZDcxNTY1ZmU3ODc5NDhmZGU2YTAxZjBlYTMwNjljYWUgbGVnYWN5LXRydW5rCisyNjI4MCA1NDIyOWMzNTEzMmU3NzUxZjFiZDA2NzQwYTJmOTQwYThiZGU1NmIzIGxlZ2FjeS10cnVuaworMjYyODEgMjM5MmFmMDVmMDUyNmI1NjAzMDAwYjc4Y2U1YjhmNjFiOWFmMmE2NiBsZWdhY3ktdHJ1bmsKKzI2MjgyIDNjODc2ZmYyOWE4M2VkOWVmZGU0OTI1YTE4Nzc2YWI1NWJiYTBiNjcgbGVnYWN5LXRydW5rCisyNjI4MyAzZjIxZTRlMzkyNjgxMDNmMjE1NDM1MDkyMjliOTVlZmNjYzVlMDgxIGxlZ2FjeS10cnVuaworMjYyODQgYTVlZWIyODhlMDIwZjczMGM5MGQ2ODQ5ODExOWE0MmVmNWEzZDQwOCBsZWdhY3ktdHJ1bmsKKzI2Mjg1IDA3N2NlOGI1ZDgzYjU5YjczZTczYzdhYTVkMTAzYjQ1M2YyYmVkYTkgbGVnYWN5LXRydW5rCisyNjI4NiA0YzQ5OTQ0N2NjNDlmODg3M2VlMTg1ZGE4ODlhOGU5NDVkYjIwMzgwIHJlbGVhc2UyMi1tYWludAorMjYyODcgMzMyM2YzZjQyMmRiMDlhMTIyNGNlMGI5M2ZlZDc5ZjQzM2RlNDQ0YiBsZWdhY3ktdHJ1bmsKKzI2Mjg4IGUyMzM4MWZhNDc1MDM4MDJjZDE0M2JmMmFmYTkzYzllNDQ2OGZhZmQgbGVnYWN5LXRydW5rCisyNjI4OSBlMmRlYzNjZGYzYzI2ODBmZmQ3ZTg2MmRiYzgyYmZhMWFjYTY3MTY5IGxlZ2FjeS10cnVuaworMjYyOTAgZTMwN2E5NGRkNzdiZmRjZDViN2RlN2RiMjQwNWFhYTUzZTg3Njk3NiBsZWdhY3ktdHJ1bmsKKzI2MjkxIDI2N2I5NzMyYmY0NjU1MDBiMmEwNDg2OTkwNGY2ZjZmMTE3YmY1MWQgbGVnYWN5LXRydW5rCisyNjI5MiBhOTZlN2U1ZjM0MDc3MTVhNzAyMzJmMmE1ZmM3OGNmODZhMTE1MmI0IGxlZ2FjeS10cnVuaworMjYyOTMgZjc2Y2E5ZmJjN2E0NzYyYzQ4ZDYzMDc4YmM0NzMwNDMzNjE0NDQxMyBsZWdhY3ktdHJ1bmsKKzI2Mjk0IDMyYTliMTlkYmExZGQ2NzAwYWUzYjdlOWJiYmIyYTI2ZTIyMzI1YmQgbGVnYWN5LXRydW5rCisyNjI5NSA0NGVlNjhhYzVlN2Y5NjFiNmZjMzk5MTQ3ZjBjMTdjMjQyZTg2YjJlIGxlZ2FjeS10cnVuaworMjYyOTYgZDRmOWUxOWI4YzBiNDI3NjBhMzg3YTdmNDgwZDU4OWY0NzRkNzI5ZSBsZWdhY3ktdHJ1bmsKKzI2Mjk3IGYxNGU0NTUwYjJmM2NlYThjOTNiNzdhNDRkY2Q3ZWJiNDE2MDZjYTEgcmVsZWFzZTIyLW1haW50CisyNjI5OCBhNTRiMjNiMmYxNzIwYzMzNzI3MWI4ODdmOTBkZWNhYmQwNWJlYmJlIHJlbGVhc2UyMS1tYWludAorMjYyOTkgNWM1NTM3NzJjYTU0YzNmZDRkZTlmMGJiNGU5YTg0YzA4NmE5MTZjNyBsZWdhY3ktdHJ1bmsKKzI2MzAwIDUzNGFhYjViY2NlYTQ1YjNjNmViZjA2NDQ5ODIyZTJkNjYxZDYzMGYgbGVnYWN5LXRydW5rCisyNjMwMSBhYjY3OTkzMWFlMGQxNzE3MGZiZmEwOTAyYTgzOGNjZGVjYzk2OWZkIHJlbGVhc2UyMi1tYWludAorMjYzMDIgMDU3YzVkNzljOTg4YWRkYjc3OTc2ZGQ3Yzk4ZjU4M2U3YjM3NmM5ZCByZWxlYXNlMjItbWFpbnQKKzI2MzAzIDk3OTM5ODM0YTY3MzUyMjAxYTRkMmM1YTU4NThjNzZhNDgwMGQ4MDkgbGVnYWN5LXRydW5rCisyNjMwNCBjODc1MGQ2M2RjMzU1ODQyNjRkM2NmNzFjMTNkYThkMDFlMDRkMDMxIGxlZ2FjeS10cnVuaworMjYzMDUgNTBjOWMyNDE0NjNkMjFhZWFmMTZiZTA4MjA4ZGIzNmZiNmE0MjhlMyBsZWdhY3ktdHJ1bmsKKzI2MzA2IGMwNDkwNmZhMTc4Yzg4YmIwMjRmNDdhNjQwNjdkZjRjN2EwMDdmYjYgbGVnYWN5LXRydW5rCisyNjMwNyBjYzUwYTA5MWY1NzNhZmZjMzExMmRjY2VjZjNkYjg0NDg2NDhiZjk5IGxlZ2FjeS10cnVuaworMjYzMDggMWE4YTc0OThiMGJiMzcxYWNlMjJkZGZjMmQzYTU0NDM1NDZmNDIxNCBsZWdhY3ktdHJ1bmsKKzI2MzA5IDZjYjUyODI5ZGExYTJhYWM2NzY5NmMwYjQzOGM3YzIwYTk2ZWVjYmYgbGVnYWN5LXRydW5rCisyNjMxMCA1ZjU0NTRhNDhiNWFiOTZmZTM5MzM0ZDBmZDc2NWRiYzcyZDhjZjZkIGxlZ2FjeS10cnVuaworMjYzMTEgMjFmMzE5MzlkYzJmNzQ4ZjJmZjkwZTgzOGJmMzljMjQ2ODk5YTgwOSBsZWdhY3ktdHJ1bmsKKzI2MzEyIDZhMzYxMTJhM2RjZTA2NzViYjJiYTU2N2RmNTY0ZDlmNjlhOWY5YzQgbGVnYWN5LXRydW5rCisyNjMxMyBjOGMxZGMwNzI3Y2Q1MGNkZTdkY2M2YjNhMWZmNWIzZmZhNGUxZjZmIGxlZ2FjeS10cnVuaworMjYzMTQgYmZhMzMwYjg1MjA1MDdkOTkxMjdkZmM4MmI4Y2EwNzBmMjM4NzZjMyBsZWdhY3ktdHJ1bmsKKzI2MzE1IDlhNThlOTdkYjQ0N2MzZjQ5NmE5Njg1NDE4OWM5ZjA2NzAxNjg3NGUgbGVnYWN5LXRydW5rCisyNjMxNiBjZWE4NTJmOGFhNDc2MzAzN2YwMTVlMjMwNzk3OTVjODZkNmQ3YmFkIGxlZ2FjeS10cnVuaworMjYzMTcgMDNhODMzNDBjOTE0YTkyYzZmYjc4MzcxZGU4ZjU4OTU3NmIwY2EwMCBsZWdhY3ktdHJ1bmsKKzI2MzE4IDRmOWQ1ZWE0ZjM3ZDljMTIxYjgwYTg1N2YwNjAwZWRiNDhmY2M5ZjEgbGVnYWN5LXRydW5rCisyNjMxOSA1ZjJkY2RkMDkzMjkzNmM1ZDJiZjRiYTQ3ZjQxMGZlYWE4OTU5NTlkIGxlZ2FjeS10cnVuaworMjYzMjAgZjgxNzAxYjcxMjE2NGY2NjIyZWE4YTA1NGMwNjNjYTA0MDBmYThjYSBsZWdhY3ktdHJ1bmsKKzI2MzIxIGEwYmI1ZmExYWIyZGNkZTBlZjBjMzM5N2QyNDEzNTU2Yzg1ZmYxN2UgbGVnYWN5LXRydW5rCisyNjMyMiAzZjIzZDcyZWY0MTBmNjY2ZTA0ZThiMjkwMWFmZGViYjBiM2ExMTI2IGxlZ2FjeS10cnVuaworMjYzMjMgNmQ3MzFiNjQ2NzBiNjkwZDI0YjM4ODViZTRlZjlhNzg1ZTg4ZDI5YyBsZWdhY3ktdHJ1bmsKKzI2MzI0IDk1NjNjOTY2NGEwYmI4YTJlY2U2ODlmMzViNGEyMDQwMjI1ZGMxMDcgbGVnYWN5LXRydW5rCisyNjMyNSBhMDA0NzNmMzMxN2I5M2Y3NTQ4NDViMTY5NGM3ODUzM2M1MjM0MjJkIGxlZ2FjeS10cnVuaworMjYzMjYgYjM3MzE0ZmNiY2M5Zjc1MjA3NDdlMmQwYTQ4OWY4ZTExYWFkMjg0YyBsZWdhY3ktdHJ1bmsKKzI2MzI3IDA4NGFiNzM3NzdhMzQxNzRkZTdkODk4MzA5ZTQwNzFjYmZiMWJiYzggbGVnYWN5LXRydW5rCisyNjMyOCA1NDk1YjZkZjBjNjVkMzBmN2RiM2Q1MWM0OGM4ODA3MmZlNDAyMTUyIGxlZ2FjeS10cnVuaworMjYzMjkgYmEwMjM2Zjg0MzE4YzIzOWVkODNhOGJmNTZlYThmZDUzYWQwOGIwMSBsZWdhY3ktdHJ1bmsKKzI2MzMwIDMxMDBiYTI2OTEzYzdkNWJhYTExMzFmZGE3NGY1MGMxMzZkNDI0ZWIgbGVnYWN5LXRydW5rCisyNjMzMSBmOTNhMjZkMWJmYTBlOWRkODMxODExODA2YzQyNzVjN2MxZWU3MTk4IGxlZ2FjeS10cnVuaworMjYzMzIgOTBiODM0Y2U1NzA3N2ZlZGE1ZmMxOWEwNWMzMjg0MzJhN2QyZjkzMCBsZWdhY3ktdHJ1bmsKKzI2MzMzIDk1ODE5ZjdmMGJjZDJjZGM4ZmU1Y2EyOWIwNDAxNTg1OTY0ZGY4MjAgbGVnYWN5LXRydW5rCisyNjMzNCA2OTljYzEzOWQyZDI0ODY2YTEwYmExYWRjOTYzMmNiZWNlMDMxYTc0IGxlZ2FjeS10cnVuaworMjYzMzUgNzI3NzhlYzk0ZGVjNjY3NjM4MjczMzExMDBiYjhmMThhMDNiY2E1NSBsZWdhY3ktdHJ1bmsKKzI2MzM2IDI5ZTZjYjgzMjQ5N2I1ZmU4YWQyZTczMzY4YmJkZjAzYjk0YjBiZDkgbGVnYWN5LXRydW5rCisyNjMzNyBhOWU0MDI0ZDhhMzc3MDE5NTYwNTI5YmFkZTA1ODcxMmRiNTBiZmU1IGxlZ2FjeS10cnVuaworMjYzMzggNGJhMDkxY2M3MGI4OWIxNjY0NGFhNzVlMTczN2RmZGQyNGQ0MDBkNiBsZWdhY3ktdHJ1bmsKKzI2MzM5IDM2M2M3ZmMxNzRhYzhiZGI3YjgzMTk4MWI4OWM2M2MzMjEzNDcxYTIgbGVnYWN5LXRydW5rCisyNjM0MCA5ZmU5NGMwMWVhZjFmZmY1MDA3YzAzODQyNTVlNDE4MWJkMGRjZDc1IGxlZ2FjeS10cnVuaworMjYzNDEgOWY5NDkwMjdkN2JhMTkzYmQ2MTQzZjJhYTY0NGI5MDM3MDQ2N2QyOCBsZWdhY3ktdHJ1bmsKKzI2MzQyIGRjMWZiMTlkOTkwZDY5MmYxN2NkMWUwY2U3NzEwNWNjMzJjNTQ1ODAgbGVnYWN5LXRydW5rCisyNjM0MyBkMDk3NDBiMmUwM2RlMWY4NWNhMDg0MzU2YTQ1ZDAxYWMwMmVjY2E0IGxlZ2FjeS10cnVuaworMjYzNDQgMWMyNmEzMTA2NjUzMTBmNjNmZTU3NTc4NzczZmQwMzMxYTJiZTM1MiBsZWdhY3ktdHJ1bmsKKzI2MzQ1IGM1YTY3ZjUwNTMyZTkxNDcxMWQwY2ZmNTk3YmEzZWM5NDZiNGU0MDEgbGVnYWN5LXRydW5rCisyNjM0NiBkOWQ4MmMxZWY4NjQ1MGRmMjMzNTUwMGU5YmUzYmI3M2JhYjdjNmZiIGxlZ2FjeS10cnVuaworMjYzNDcgMjk4YTdjNTFkMmMwMWRlZGQ1YTA4MGM0NjllNmMwNzE0Y2VlMjBkNSBsZWdhY3ktdHJ1bmsKKzI2MzQ4IGM4ZDYxZmYxYzBkNmI3NDk1NDkwYWE5OWQ0MDNmMmZkOGUzMzQ3OGUgbGVnYWN5LXRydW5rCisyNjM0OSBiZTU0NDY1YTM5YzQ1NGE1OGIyYjE3YzM0ZWE5Yjk1YWIwZTcyZDE3IGxlZ2FjeS10cnVuaworMjYzNTAgNjE2NjE1ODNhMTJmYWIyYWYwY2ZkMGM1MDgzYzNiMzJhZTEzMWExZSBsZWdhY3ktdHJ1bmsKKzI2MzUxIDI0NjYzYjg2Yjk3NTA1ZWNhNjA3MjE5MTdkNDczZTJiMjMzOWQ3OWMgbGVnYWN5LXRydW5rCisyNjM1MiAxZTFjNzIxNDMzZDhlNGEzYjA4NzUzY2U0ODFhZWU1YmJmNzk1ZDAyIGxlZ2FjeS10cnVuaworMjYzNTMgYmViMzIxODkwNWEyZmU5YjE0YjYzNGUyMGIyZDlmOTRhMjQzYTE1YSBsZWdhY3ktdHJ1bmsKKzI2MzU0IDBhMTlmMDE2YTk5NDY0N2VhMTI4OWNiNDEzMjBjMmJkM2ExMGE1NGEgbGVnYWN5LXRydW5rCisyNjM1NSAxOTZkZmE3ZWQzNDhkYmZlOTYxNTc2MjY4MTk0NWRiMjEwODZiOTQxIGxlZ2FjeS10cnVuaworMjYzNTYgNjkwZDcxMmUyODA3YzNlMWM4Y2M1MTIwYjdhNTliMzQ0NzJiZjIyYSBsZWdhY3ktdHJ1bmsKKzI2MzU3IGI5YWQxZTlmNTlhODVlYTA3OWU4NzBlOGUxNjU2NDdlZTY2MTAwNWEgbGVnYWN5LXRydW5rCisyNjM1OCAyZGQwZjg0YWYwNzE2OTI5MDE2MWVhMzUzMzVhNGY4YTJkY2E1NjBiIGxlZ2FjeS10cnVuaworMjYzNTkgYTljYjkxOWU0OWUzMzFiYmU4YmU5MTFkNmY3OWM3NzBmYTY3Y2E3YiBsZWdhY3ktdHJ1bmsKKzI2MzYwIDI1YTZlMzljMzFhMjA3MGUxNTFmZThmNmFmZTZkYWIwNjQ0MTI2NTUgbGVnYWN5LXRydW5rCisyNjM2MSAwYjFlMjBjMzRjOGVhNmMxOWU0YzUzMTU1NzU5OTBiOWQyZGQ4ZjEyIGxlZ2FjeS10cnVuaworMjYzNjIgYTA1NjFjZjQ5MTYzNGRiMTRjNzZlMzIzOWFkZjY2YWYwY2MwYjQ0MSBsZWdhY3ktdHJ1bmsKKzI2MzYzIDhmOThjYjNhMGYzNjhjYTQzZjFmNTAzMzBjMDQxMGNhOGE0YTE0YTIgbGVnYWN5LXRydW5rCisyNjM2NCA0ZjA2M2I4MDMwOGQ5OTIzZDA1YTY3MWU0N2E0OTJkMDk5MmFmZThlIGxlZ2FjeS10cnVuaworMjYzNjUgMWY3YWY0ZmIzYTUxNTJjYTE0OGUxZTBhYzJmNjYzZTQ4NTZlYTEyOCBsZWdhY3ktdHJ1bmsKKzI2MzY2IGU1NGI5YzM4NDhiN2EzNDkyMDgwYTQ4OWYzNDVkNzE3MzA0MTNlZGUgbGVnYWN5LXRydW5rCisyNjM2NyAxY2VhZjdmODA1NWQ2ZjMwYWZhN2RhZmE1ZDc4MmFhN2VmZTliNDI2IGxlZ2FjeS10cnVuaworMjYzNjggZGIwMDNiOGE5YmI5NTQ2MDA5MDk1YjAzMGE3N2RkMTdmYzU3OWM3OCBsZWdhY3ktdHJ1bmsKKzI2MzY5IGQ1MDQ4ZjliOGI4MjU3YjFjMWJkZGNhYjkxOWNiNTRhZGY3YzI4YmEgbGVnYWN5LXRydW5rCisyNjM3MCA4YmU2MjM4NzQ4YzRkMGFmM2NjNzBhMGJiNjYzYWQ3MTdhODQ5Yzc1IGxlZ2FjeS10cnVuaworMjYzNzEgOTMxZDQ0ODgyMGFlZWYzOGRiNjIyMDNiYjA5YmRlYzEyMzVhZjAwNyBsZWdhY3ktdHJ1bmsKKzI2MzcyIDk4OTM3N2NkZjA1MzJkNzc3NmNiNjY3YzZjNTYzN2ZkM2M3YThlNmIgbGVnYWN5LXRydW5rCisyNjM3MyAwOGFiMGE2YmYxZWJiMTRhOTBmNGNiOTMyOGNkMGY2ZGJiOWEzYTNjIGxlZ2FjeS10cnVuaworMjYzNzQgZDYzMjI5ODMwNjllMDZhYTI0YzkzZGU5OGZlYzk1OTg1YmU3MmI4NiBsZWdhY3ktdHJ1bmsKKzI2Mzc1IDNiMDgzYjI2Mjk2YThlODEyNzY0ZDI4ZTEzNmIyN2JhMjI1ODY4MTYgbGVnYWN5LXRydW5rCisyNjM3NiAyMDJhZTViNzVjY2EyNDM4MjcyNDg3M2JmZjk5OGZhMDIzNDYxNDNkIGxlZ2FjeS10cnVuaworMjYzNzcgYjVmOWY3YThmNTY2NmU0ODlmYmI1NWQyYjAzOTJhZDFmOTM2YjM2OCBsZWdhY3ktdHJ1bmsKKzI2Mzc4IDQ0NjM3YmQ3ZjU5YjY0Mjk4YzJkMmMyNDkyYjRiM2I1ODVmYzAwMTcgbGVnYWN5LXRydW5rCisyNjM3OSBiMWFiNGJjNTIyNDNkMDBkOTA3NDBjODgyMzJmMzM5YzY4NDYxZGVjIGxlZ2FjeS10cnVuaworMjYzODAgYzYwMDNkZTczOTc1NTdiOWM4NGQzNWViMzcwY2Y2ODI3OTcyYWE1MyByZWxlYXNlMjItbWFpbnQKKzI2MzgxIGUyODQ4NjE4YmQxOTU5YWQxNDZhOWIxYTFlZjllNWE4Y2VkMDkxNGIgbGVnYWN5LXRydW5rCisyNjM4MiAyNDcxODMyNzAwOTU4Zjc0YzkyMzZhYWIzODYxODg2ODE1YjNkOGQ2IGxlZ2FjeS10cnVuaworMjYzODMgZWJlM2NlNmNiZmQ3ODYxNTIyOGJlY2NmOTBlM2I3ZTFjNzg1ZjdjMCBsZWdhY3ktdHJ1bmsKKzI2Mzg0IDg5OTAwMmE4ODJhMDhhNTA5ZmY2YjJlYzI0M2ExZmU0N2Q3ZDIzZWQgbGVnYWN5LXRydW5rCisyNjM4NSA0ZTU4YTM4ZTNjMDYxYWFjMWQ3ZGU3ZDRlYWVlOGVlN2RiZWNlYzI2IGxlZ2FjeS10cnVuaworMjYzODYgM2U4OTI1ODJhODUwYmM4YjYxMThmZDdlNzA4MmJlYTQzYzg5NzlkNSBsZWdhY3ktdHJ1bmsKKzI2Mzg3IGYzZmM5N2RhNjhhOTg1OGMzZjlhOGY5MDMwNGU4ZWRmZTE1Yjg0YjMgbGVnYWN5LXRydW5rCisyNjM4OCAwM2MzOTY0MGQ4MWE4OTQyZGNmYzQ1YTEzZWE5YWU3YzNhMWY0ZDVhIGxlZ2FjeS10cnVuaworMjYzODkgYTlhNmMxMThkZmJhNzU0M2IyZjYxZWVmODc1ZmFmNzRjNjEzMDJiNyBsZWdhY3ktdHJ1bmsKKzI2MzkwIDgyOTE0NzNmZGUzZWIzMmM1MTdjMDc1MTZkZjhhOTljYjI5NjBkZTMgbGVnYWN5LXRydW5rCisyNjM5MSAxODYyMzc0YWIyNTM5OWQ1NWY4Njk4Nzc5YzUyNzdiYTMyNDY4N2FiIGxlZ2FjeS10cnVuaworMjYzOTIgNWJkYTU0NmViZTI0YWNmOWVhYjE3MGJmMjFjNmM4MDc1MTZhZTVjOSBsZWdhY3ktdHJ1bmsKKzI2MzkzIDFkYjNhMDI5NjVlNjU1ZWY0ZWY4NTFhNThmZDhhOTc1OWQyZTgzYWQgbGVnYWN5LXRydW5rCisyNjM5NCA4YjkyNjBlOTIwMTBiNTRlOGFiNWU4ZTM0ZmQ2ZThiNTQ2OWIyZjk0IGxlZ2FjeS10cnVuaworMjYzOTUgNTNiYTkxMTBhMWYxNzc5N2M3NTNlYzNkNzExN2U2YmQ0NDBlMzc0OSBsZWdhY3ktdHJ1bmsKKzI2Mzk2IGIxZWU0MzIxYTUwYTdiMmM1OWJhZDEzMDE0NjhhM2IyNzAyZDQyMzUgbGVnYWN5LXRydW5rCisyNjM5NyA4ZjY0NTE4MDUzNGQ1M2Y2YmY2MzczNTUxNTllYWEzNmFhZjY5NTg0IGxlZ2FjeS10cnVuaworMjYzOTggODlkYjllM2YzNWE3NDhiMTlkOTViMzRhOTY1MjVlOGQ1MjA2NGMzYSBsZWdhY3ktdHJ1bmsKKzI2Mzk5IDlkMzUyNjY3ZDcxNWVlYzA3ODM0OGM4ZDk1NGY2MDBhN2FhMGJhZGYgbGVnYWN5LXRydW5rCisyNjQwMCA0NTQzNTFlZjUwZjFkMTk3MGNlNGI5YzNiZDMwY2E1ODgxMjNkNjU2IGxlZ2FjeS10cnVuaworMjY0MDEgY2QyMDJlZjY3MjZlMzQ1N2Y1M2I2NWNkNTQ3MDM3MmEzYTYxZWY1ZiBsZWdhY3ktdHJ1bmsKKzI2NDAyIGYxYWExOGM4Yzk2YjgyMWM5NWIyMGI1NGYyMTAxNTdmZmQ3M2UxMTggbGVnYWN5LXRydW5rCisyNjQwMyBlMWY4ZTI5NTQ3NDk5ZjQ5NzNmZjliYWJkYjMzZjNiOGZhMGI5YjMzIGxlZ2FjeS10cnVuaworMjY0MDQgN2ZlY2Q2ZDU4ZjM4ZWYxNzRkM2FiMzQyNGJmZTllYzQzNDJjZDUwZSBsZWdhY3ktdHJ1bmsKKzI2NDA1IDBmMzdjYjVhN2U5ZThjZDViMDgyZDdmNTE2OTU1MDBkNDFmMzRlNjcgbGVnYWN5LXRydW5rCisyNjQwNiA4YjEyNjhiYzM3MWE2NGZmNWJiY2YzNzc5Y2NjMTBmNDE1OTI1MWM2IGxlZ2FjeS10cnVuaworMjY0MDcgNzY5ZTBhNTM4ZTU0M2QxNWNkODc4NmJiN2FmYzRmYmZhMzZiYWM3OCBsZWdhY3ktdHJ1bmsKKzI2NDA4IDc1MTI4OWNkMWFiNzEyZDllNzYyYTE4NDllODI1MGI5MmRlZmU1NTkgbGVnYWN5LXRydW5rCisyNjQwOSBjMTY2OGE4MTkyNDJjNTEzYTJhZWMxOTNjNDVkZDJmMDg4OGRhMmI3IGxlZ2FjeS10cnVuaworMjY0MTAgOWU2ZmY3ODcyODBhOTVkZDRjMDhmZDBhZDUxNDgwMDE2YzlmNzRiNyBsZWdhY3ktdHJ1bmsKKzI2NDExIDhhOGFmZmNjZjQ2M2JiNWM1NzgwZGU3MGY5ODk5OTczOTc3Zjk1MjEgbGVnYWN5LXRydW5rCisyNjQxMiAxOWVhMDBmZWRhMzM2Y2QxMWQ5OTQ2OTE4MDBkNTVmZGJlMDgyZGQzIGxlZ2FjeS10cnVuaworMjY0MTMgOGViNmRkM2Q4MzIyZWZiZDRmOGJjNDIyYzg4MTIzYTEwOWEwOWViMSBsZWdhY3ktdHJ1bmsKKzI2NDE0IDA0ZmJmNjVjNzNlZjZmYzZhNzg4ZmM0ODhjNzY1ZTcwNTU5YTYxM2EgbGVnYWN5LXRydW5rCisyNjQxNSA3MWJlNWJhODhhYTdhNzJjN2FjMDBlNjI4MjhlMzhhODc0OTNlYzQ1IGxlZ2FjeS10cnVuaworMjY0MTYgM2FmMmNhZGNjZDZhYzY1MjNlOWIwZTljNjIzNTZiYzdiNjQ2NjlhMSBsZWdhY3ktdHJ1bmsKKzI2NDE3IGExMzU5ODBkZDRlOWI2YjliZjEyZWJlM2QxOTI3MDdhMTg4YzYwZDggbGVnYWN5LXRydW5rCisyNjQxOCA2YmUyODNkMTQ4ZjdlMzg4MjU1OTQ5NDQxNTk0ZDMwZjkxYTZkNGRjIGxlZ2FjeS10cnVuaworMjY0MTkgODAwNWZjMWFlZjM5YzhmMDYyNGU0MTVjNjkxMmY3MGVhZjViMjlkNiBsZWdhY3ktdHJ1bmsKKzI2NDIwIDRjMGFiNWQ2YTYzYzQxZWFjMjljYTI4N2M3ZDdjNjE1MjYyNjVlNjIgbGVnYWN5LXRydW5rCisyNjQyMSBjMzI4ZDcyNTBlOTI2NjAwMzZjOWJhOGFkNWNjNGRmMDJhMzRiNmI5IHJlbGVhc2UyMi1tYWludAorMjY0MjIgZGJkMGVlN2Y2MGUwNTY5NzBhNmEwNzMxYjRkNTkwYTIzNzhmYjU4MyBsZWdhY3ktdHJ1bmsKKzI2NDIzIGMzNzFiYjNlODUyOTFiOWUzMzRmYzUzNDc1YzRmNmQyNDI5YWRlZWQgbGVnYWN5LXRydW5rCisyNjQyNCA1MzBhYmEzMTE2YTQwZDA4NWU0YTEwODk3OWY2MDNlMjliZWJmM2Y4IGxlZ2FjeS10cnVuaworMjY0MjUgZGMwYzEyMTNjNzlhYmRkYTA5MzViMzgwNjRhM2ZmMjBhZjNjMmJiOCBsZWdhY3ktdHJ1bmsKKzI2NDI2IDkzOGZmM2NiNTFjMjZiZmU0MTllYjY1Y2ViN2FlY2UzN2I5ZDYxOGYgbGVnYWN5LXRydW5rCisyNjQyNyAwM2ZmMzU2OWJhMDRjYWY2YzU2ODFkMjgwZWU2YWRkZDNmMGMxNjlkIGxlZ2FjeS10cnVuaworMjY0MjggZjM2Nzc0MTRiYzNkZWY2YTA5MDU1ZmM2ZWE3NDk0ZDJiNjMzNmViZCBsZWdhY3ktdHJ1bmsKKzI2NDI5IDQyYzk5NzI4YjZjY2EyZjllYzJiNzgzZTUzZjE0Y2M3NjcyOTQ4MTAgcmVsZWFzZTIyLW1haW50CisyNjQzMCBiYmFiM2ExN2I0Y2Y0ZTNjN2NkM2Y0ZjRjNWI3MTJmYTU1MDA5MTdhIGxlZ2FjeS10cnVuaworMjY0MzEgOTdiOTQ4MGJiZWVjNzVlNjE1OWM1NDA5NzEzNzcwNzM0NWRlMzg5YSBsZWdhY3ktdHJ1bmsKKzI2NDMyIGZkYTczYmZmMjFmZmE1NmQ1YTllY2UyZjI0OWNmMWM4Y2JjOGNiMzIgbGVnYWN5LXRydW5rCisyNjQzMyBkODllNTU3M2RkMjM3ZTEzYjA2MjQ3YWQyMDUzZGI5ZjNkZDJjMWUwIGxlZ2FjeS10cnVuaworMjY0MzQgMjFkMjUyMDI4NDA0YzgwZGQ4MjI5ZWY5MmM2OGVkOWE4MmUwMTRkMiBsZWdhY3ktdHJ1bmsKKzI2NDM1IDRmZjkwYzk5YzMwMmFhNmJkNDNjNGQyMjgxZWMzZmUxZmVmYjc3MjIgbGVnYWN5LXRydW5rCisyNjQzNiBiN2U4NzczMmY2YWI5NDEzZDU0ZmRjZGFhOWVjOTlmZjM0YjZlMTY5IGxlZ2FjeS10cnVuaworMjY0MzcgMGZjZTU1Njc1Y2JjYjM4MGMyNDJmMzlkZWY3M2I4ZTM4ODMxNDhhNCBsZWdhY3ktdHJ1bmsKKzI2NDM4IDNiZDMzNmI2Y2IwM2E2N2Y3M2U3MTBlZjE2NjQwYWQzMTdmNWEzY2UgbGVnYWN5LXRydW5rCisyNjQzOSA0YWRkZjRjZWFmYzU0N2Y0N2JmZTA0OGM1N2IyZWM2ODFlYTI0NTA0IGxlZ2FjeS10cnVuaworMjY0NDAgOTY5YzFkMTE4Yzk3ZGViZmQzZmE2YThmZjZhMTJjYWI0OTJlNTI0YSByZWxlYXNlMjItbWFpbnQKKzI2NDQxIDEwZTAxMjJiNWZlZDVmODhkNzIxZGE5ZGQ5YWQ3ZjU5NTU3OGY4MWQgcmVsZWFzZTIxLW1haW50CisyNjQ0MiAzYmY3NjJlMGUwNmVkMDlhOTFlM2UyNjY0NDE0MmZhMWI5ZWViYTNmIGxlZ2FjeS10cnVuaworMjY0NDMgMzkzZTlhMjE2YTg4YjUwMDEwOWYwMzE4MzZlYTZjZmYyY2QwZDA3ZCBsZWdhY3ktdHJ1bmsKKzI2NDQ0IGU0ODRmMzBkYWM3N2E2MTcxYTI3Yjk3ZWUzNjU2MDFhYWU4Yzg3OWYgbGVnYWN5LXRydW5rCisyNjQ0NSA4YzNkZDFjMmVmNDc5ZWU2ZWM0ZTYwZTE5YmFhOGVkMzU3ZTI3MmRlIGxlZ2FjeS10cnVuaworMjY0NDYgNDIzYTM2NzhiYzdjNzE3NmVhNjBhYjFlMjE3N2E5YjZmYTE5ZWFkZCBsZWdhY3ktdHJ1bmsKKzI2NDQ3IDRlODI1MjI4NDdkMGRlODFlMDAzNzc1MDYzYzVlYWI1OTJkOTRiMTIgbGVnYWN5LXRydW5rCisyNjQ0OCAwOWRiM2Y1ZDBiZDBlYTBiZjNiYjJhNWY1OWExNjRkM2RiM2RhZjIyIGxlZ2FjeS10cnVuaworMjY0NDkgOGM3YTM5ZDBmZWZkODAxZjZkZGM4OWNlMGZkZmFhMTI2ZjM5MGNlNyBsZWdhY3ktdHJ1bmsKKzI2NDUwIDMxNGY5MmEyNDI5M2IyYWJiY2YwN2NlYTNlN2Q1N2M0MDE2NDVjMTkgbGVnYWN5LXRydW5rCisyNjQ1MSBiMzk1NDc3ZDg0ZDBkNzY5OTczMDdkNGRhNjg4YTAzNzgzYWU3YmU3IGxlZ2FjeS10cnVuaworMjY0NTIgOTk3NTc1NjJiZmI5NTdmZDRiNTk0OTc5ZjMwOWVjZTkyOTc3MmI4ZSBsZWdhY3ktdHJ1bmsKKzI2NDUzIDllYmE2MGFjZTJkYWUwYzI1YzQ4OWVjNmY1YTA1OWRjMjZhNzU5NWIgbGVnYWN5LXRydW5rCisyNjQ1NCA5MTFmOWYxNGUyZDU3ZTliNjI0MmM2YTJhZWMyOTQ1NmQ1YWRiN2JjIGxlZ2FjeS10cnVuaworMjY0NTUgMmE1NDI3ODQwNjJmNWE5M2Q1YzNjMDkwNWM2MjhmOTkzMWUyNTZkZiBsZWdhY3ktdHJ1bmsKKzI2NDU2IGI1YWFlMmE2NWY2ZDEyMmEwZjczNWZhMmU1ZTliODQ2MjYzZDcyZjEgbGVnYWN5LXRydW5rCisyNjQ1NyBmODY3OWY2Nzk4YmY2N2I5MTRmMzcxZTE3NGMxY2I3NjcxODA4NDg3IGxlZ2FjeS10cnVuaworMjY0NTggMDNhYmZhN2RiNDQ5OGM1Y2I5Y2VkYjBmOWQ1ODljMmVhZTg5YzBlZCByZWxlYXNlMjItbWFpbnQKKzI2NDU5IDcxNzJjZWYyM2IwNTQ5ZWJmZTY5M2Y4YmI5Zjg2YzljMzZlNTE3YWMgcmVsZWFzZTIxLW1haW50CisyNjQ2MCA3Mzg5NWM5OWZjYzViYmVlYzc1ZTFjNzNiMmE4NWE5OTAxODc5YmZmIHJlbGVhc2UyMS1tYWludAorMjY0NjEgYjZmNDMyYjMyMTQzOGNhY2I1NGNiODg3NWRiYzAzYjBhMGI2ZjljZiByZWxlYXNlMjItbWFpbnQKKzI2NDYyIDU2OWUzODNiZTBkYTlhNmQ2YzdlM2ZjNmM2OWZmYTM3MDY4YWVkMTUgbGVnYWN5LXRydW5rCisyNjQ2MyBkNDQ1NDVjNGE0N2E4MmYzMjBlNTA1YjAyMjZhY2IxOGM0Njk3YzY5IGxlZ2FjeS10cnVuaworMjY0NjQgZDI3ZTk3YjhhODY2ZTZkYzRmYmNjYzI4YzUwNmM2YzU0NTYxZDc5NSByZWxlYXNlMjItbWFpbnQKKzI2NDY1IDI2ZTNmZThhODhmNTdiNzFjY2FmYmMyZGEyMzhlNzFkOGZkMzZkZmYgbGVnYWN5LXRydW5rCisyNjQ2NiAwMWY3M2ZkNjYzMTA5ZmIxMjI0M2Q4YmU1NTllY2YzMTYwMTgzYzRhIHJlbGVhc2UyMi1tYWludAorMjY0NjcgOTc4MzZmNjE5M2RjMzA3MTViODIwZmMxMTBiOGYwZGJjNmIxNDM3NSByZWxlYXNlMjEtbWFpbnQKKzI2NDY4IGY1ZWRmNzAyNTI2NzY4NWUzMTcyOTUyZWJiNmNlZmFmMWY3NjRlYzcgcmVsZWFzZTIxLW1haW50CisyNjQ2OSBkZjQ1YWRmNzdkMzZkZmRlNGQ4YjYxNGZjMmNjNzM0NjJmZWQ3ODUyIHJlbGVhc2UyMi1tYWludAorMjY0NzAgN2IwMGRhYjk4OGNmNDQwNzg2ZTM5Y2E1ODk5NTc4NTBlYzBhNzdlMyBsZWdhY3ktdHJ1bmsKKzI2NDcxIDJkM2EyYmViM2Q0ZDcwMjlmM2VlOThkNTdlZDViNzM5YzQ0NmI2NmUgcmVsZWFzZTIyLW1haW50CisyNjQ3MiA0MDc5ZTljMjNmYzE3Mjc2M2JlYjZkOGY5ZjRiZjlhMTdkYWM4MzMwIGxlZ2FjeS10cnVuaworMjY0NzMgYTNjOTgyZDQxMmI0NmUxY2Y5NGNmNDRjNzIzMzM4ZDcwZjlkZTRmYSBsZWdhY3ktdHJ1bmsKKzI2NDc0IGU3NTEzZTE0MmM3MGVkZmJjOTIzNDEwNjlmYjI0ODY3NWM2NzAxZWEgbGVnYWN5LXRydW5rCisyNjQ3NSAxZGEwMmJiYTYyNzY3M2FjZmM0M2IwM2NiNDFlMDJjZGIzN2YyNTE4IGxlZ2FjeS10cnVuaworMjY0NzYgNzEyMWQ3ZDU3MmQwMWFmMzBiNjIyNmQ4NTBmYTc3MWU1Y2JiZTExYSBsZWdhY3ktdHJ1bmsKKzI2NDc3IGZkZTg3OGJjMGUzYmU1ZTQ5ODE3OGYxNWMyZGFmZDBlZDJkN2Q1OTUgbGVnYWN5LXRydW5rCisyNjQ3OCAwZmZiNTRiMWMzZWE1Y2ExZTg4Nzk0Y2YxOWVkMzEyYmM4NTgyNzUyIGxlZ2FjeS10cnVuaworMjY0NzkgZjkxN2U3YTZlOTExYjc3MWUxZDYxNDU4ZGRmMzdiYWZhMmU1MGZhMyBsZWdhY3ktdHJ1bmsKKzI2NDgwIGZhNDFmMjQxMDY4ODczMTJiNWY2MjJjYjEyOTk0ZjE2MzVkZWNhZGIgbGVnYWN5LXRydW5rCisyNjQ4MSA3MzdmNDQ1OGU1ZGUwMTFlMDNjMzE5ZTA4ZTM5NTM2OGZlNzk2N2I4IHJlbGVhc2UyMi1tYWludAorMjY0ODIgYjBlNTlmMWU0OTVhYzZkYjk1NjZmODg3ZGM4MjJhMzcyNTdmZjQ0YiByZWxlYXNlMjItbWFpbnQKKzI2NDgzIDYyN2I3Y2E1MjIxYWMwYzkxZWExOTM5MWE3MjNmZWU4YmM1MGNlYWIgbGVnYWN5LXRydW5rCisyNjQ4NCAyMmRhMjYwODI4NWNmZTc3YTRlYWJjNjY1ZmNlN2I1MjM1NjUwM2E1IHJlbGVhc2UyMi1tYWludAorMjY0ODUgMGJhMjMzNDFlNWNmZjRlOGU1ZWQxYjc2NzZmZTU3NjlmN2FhZTc4NSByZWxlYXNlMjItbWFpbnQKKzI2NDg2IDkwODA1ZmNjNmM3MDI1NzNmMTE4ZWI5OWRiYzdkYTI2ZGQzNzUxZjQgcmVsZWFzZTIyLW1haW50CisyNjQ4NyAzNjhlODA4MWU3M2M0ZGJkMjgwNDNlYmUxYzhiYWEzZTY3OGRmMWNiIHJlbGVhc2UyMi1tYWludAorMjY0ODggNzA2NTBhZTFhMmNmMDAyM2YxNzM4MWJlMjhkZWZiNzg0MTA0MjBlOCBsZWdhY3ktdHJ1bmsKKzI2NDg5IDVhYWYzZDdiOGQ4YzA4OTNiMTUwZWYwZGI3NzllZDBmYmU0NDg2ZGYgbGVnYWN5LXRydW5rCisyNjQ5MCBhZDQ0YmYxMTc5ZWIyNTRiNWNhOTdjNzU1ZmNjYmZlMmJjNTU5YWNkIHJlbGVhc2UyMi1tYWludAorMjY0OTEgZGUwOWI4NzRmMDdhNjg4Y2NjNjYyNzBiNzgzZTdhYjA1ZDI4ODEzYyByZWxlYXNlMjItbWFpbnQKKzI2NDkyIDkwYWRiY2Y2MjAxMzYxYzdkYmI4Y2M4MzUzOWFkOTc3NTAyYzQ0NTMgcmVsZWFzZTIyLW1haW50CisyNjQ5MyA2NzU3OGE4MzBkODFjYTM5MjZlYmU2OTZjOTE5ZTAzOWI1ZjAzNTI4IHJlbGVhc2UyMi1tYWludAorMjY0OTQgNmRhMWY5OTE3ZTliM2U1MzM1ZmI1NWFiMzgxYmQ0MmE1OTdmN2Y0OCByZWxlYXNlMjItbWFpbnQKKzI2NDk1IDQ2OTRhMGRmMTc0ZTQ4Yjk1MWJhZWU3YjliYzVjY2VkMWNmMzA2M2MgcmVsZWFzZTIxLW1haW50CisyNjQ5NiBhMDQ3ZjE2ZmI4YjNlNzIyMGM5MjE1YjQ4ZDI3NTI0ZTY4MTllODA3IHJlbGVhc2UyMi1tYWludAorMjY0OTcgZDliNzFmNjI4MTRmOGQxYTVmZTZkOTUxOWY0MWI4OWNjNWNhMjljOCByZWxlYXNlMjItbWFpbnQKKzI2NDk4IDkxYTIyMjhmMzAyMWI3OTJkMGRkOGQyMjNlOTYxNDk1Yjg0MmIwNjIgcmVsZWFzZTIyLW1haW50CisyNjQ5OSBhYjUxMjMyNzRjY2ZmM2Y2ZjBlYjk0NzhlMWNkYmNmZjI2YWFiODk1IHJlbGVhc2UyMS1tYWludAorMjY1MDAgMmExMTE0NGY4ZjBjMDc3ODM2NjE5OThhNGI2N2ZjY2NjMTdjMDVkNSByZWxlYXNlMjItbWFpbnQKKzI2NTAxIDQ2ZmZiMTQ5ZWE3M2E0NDE0NDI2NWIyZWRhYWFmOTk2NzgyYzMxNzEgcmVsZWFzZTIyLW1haW50CisyNjUwMiA4YmEzMGUyZDhhZTY1NmQyZTI3NmQ1MWM4Y2E3NWRkNGMxOGUyN2NjIHJlbGVhc2UyMS1tYWludAorMjY1MDMgYjdmOTUwNmU2MGM5NGZlMDFmZjZmZDk2YmI5NzM2NWUzODgyNzZmYiByZWxlYXNlMjItbWFpbnQKKzI2NTA0IGE1NzVlNmVlODVkOTk2OTU1MTRkMWE5MDU1Njc0MGJhMGNlYmMxM2YgcmVsZWFzZTIyLW1haW50CisyNjUwNSBhMzZmOWZiMmM0MDQyYWYyNjQ1Mjg2NDY2ZTI3NmEyMzYwMjdlMzU0IHJlbGVhc2UyMi1tYWludAorMjY1MDYgMGVjZWY4YmZiZDRiMDIwMDI1OTc3NDZjYTRhNDk4MWU3ZmMwYmEzNSByZWxlYXNlMjItbWFpbnQKKzI2NTA3IDYxY2MwODc0NWQzMTU5MzYwYWIzNGE4YWUwYzlmYzZiMDgzYmRlNmMgcmVsZWFzZTIyLW1haW50CisyNjUwOCBkYmYwMTNjYzNkZWVlMGE0NWZlYzk0NmRmMTMwMWM0ZDc2MjRlMDgzIHJlbGVhc2UyMi1tYWludAorMjY1MDkgYzQ2MDljYTE3ZTNlYTBkMDc4NTNiZmIzY2RmMDIyOTVmMTE4Y2NkMSByZWxlYXNlMjItbWFpbnQKKzI2NTEwIDYyZmFiYmQ0NTdiZTZiNGI0OWNiZWRhZGUwODkxMjE0OTU0OWI5MWYgcmVsZWFzZTIyLW1haW50CisyNjUxMSA1MjI1N2FmZmUwYzllYTNhYTUzMjc3ODA2NzhjZjIyMDkwMmFlOWY1IHJlbGVhc2UyMi1tYWludAorMjY1MTIgZjc2OWI0OTU4ZTY2NjM5ZmJmNmMyMzdiNmU3YmM0MzkxZTA1YTU1MCBsZWdhY3ktdHJ1bmsKKzI2NTEzIDk1MDUyNzE1NjUxYjYwMGQ2MDRlZjU5NzRiOTZhMDU5YjUxYjU1OGMgcmVsZWFzZTIyLW1haW50CisyNjUxNCA5MzY4NTY3YTEwNDdjZTc4Yjk4YjkyZTdhZDg2OTkzYWVjOWM1ZjUwIHJlbGVhc2UyMS1tYWludAorMjY1MTUgMWViNDJmYzY4YjVmODVlOGYyOWNhYjZhZjMwMzBmZTg2M2ZkODc4ZSBsZWdhY3ktdHJ1bmsKKzI2NTE2IDYxZWI3MTgyNTM1ZWYwODUwOWNlMDZmOGY4YTg5MjI1OTgzM2RjNjggbGVnYWN5LXRydW5rCisyNjUxNyBhYWU4MTRmOTRiYWRkZmFkMDg4OTcyYmUyYWY0MTdlNjllNjM3NGI2IGxlZ2FjeS10cnVuaworMjY1MTggNTRhZjQ0OTY3NjA0NTVmNTVkMTllZGRjNDcwZjA5OTAzNGZiZWU4MCBsZWdhY3ktdHJ1bmsKKzI2NTE5IDRhYjIxZTM1NDQwM2UwNWJmYTFjYzVlZGQ1Njc4NDZiZWVhMWZiYTggbGVnYWN5LXRydW5rCisyNjUyMCBmY2EzNzljMzA5MDZlMWQ2ZmFjOWJjYjRhODVlYmQ5MzE0YmUyZTA3IGxlZ2FjeS10cnVuaworMjY1MjEgYzU0OGU3MjZiM2JjOGJlNmM3ZGEwYmVjZDZlYWE4NTIxODc1YTlkZCBsZWdhY3ktdHJ1bmsKKzI2NTIyIDM2MmMxYjgxZWU5Yzc5ZWI2ZTZhZjNlMTc3MDhiYzlkZGNkM2U3NWIgcmVsZWFzZTIxLW1haW50CisyNjUyMyBkZDQxNjM3NGFiMzg2MmUyZWFkOTBkM2NhNmZhMWZmNjU4ODIxMzY3IHJlbGVhc2UyMi1tYWludAorMjY1MjQgOGMxNDQyNDViMzE1Y2Y0NDRjYWUzNzNhMjViYzk1MmZlNWJjOTkwMSBsZWdhY3ktdHJ1bmsKKzI2NTI1IDg4M2Q2OWRlNTYwYmZmOTExZjczMmZiOTA0Mjg4N2M2YmI0NDVmNjEgcmVsZWFzZTIyLW1haW50CisyNjUyNiAxOTVmZTVmZjUwYWI5MDBiMWMyNTJkNGMzODhmZmRjODJhYjczNjllIGxlZ2FjeS10cnVuaworMjY1MjcgZjBkYzk3YmI5YzBkZmE1NzI2ZWViZTI3OTI1MTZiMzYzZmQwZTA2MyBsZWdhY3ktdHJ1bmsKKzI2NTI4IDBhYjI0NWRlN2RkYTc0Y2RjNDRkNTMyY2Y2YmI5OGMxOGZmYzI5YmQgbGVnYWN5LXRydW5rCisyNjUyOSBiNjNmNGExOWViZGQyN2Y4NzI2NGEwYzllNWRhNWUxNGRjZjExNjVjIGxlZ2FjeS10cnVuaworMjY1MzAgNzEzZmY4ODlkMDk0ODU5ZDQxM2Y0ZTFiMjE5NDdjZmMwZGYyZTA2MiBsZWdhY3ktdHJ1bmsKKzI2NTMxIDNhMGEyZjA3N2I4ZjAxMDlkNGIwYTAxYmU0NzI0NDg0YTIwNjIxN2EgbGVnYWN5LXRydW5rCisyNjUzMiBkNWNlN2ZmNTMxYmQxNmJlZDAxNjFjN2E1MzI2ZDE0ODBmOGE1M2VlIHJlbGVhc2UyMi1tYWludAorMjY1MzMgZjAzNTcyMDg0ODUxYjQ5ZWY4ZmEwZDlhMDNkMzRlMGQ3Yzg0YjUwZCBsZWdhY3ktdHJ1bmsKKzI2NTM0IDJmYzk0YmE1ZGJmZjEzMjkyN2RjZTdmNTU5NTRkYTdkZWRhMTM5MmIgbGVnYWN5LXRydW5rCisyNjUzNSBlMWQwZDdjNjk5OWE1MTY3MzhkNzZkNTkwNDQyZWNkYjMzMTMxYjM2IGxlZ2FjeS10cnVuaworMjY1MzYgMTYzMjg3NjFlYWJmNTk0Y2QyM2EzYjk0OTQ3NjE1MmNmNTE5Yzc2MiBsZWdhY3ktdHJ1bmsKKzI2NTM3IDY4ZDcwYjQxMDA5ZWQ5NjQxMGNmODQyZGQ0OTNkNmNiM2UyZmQxODIgbGVnYWN5LXRydW5rCisyNjUzOCBlZjczZmY3YTk4OWU3ZjBlNTk2NDlkZWI4MWY0NDUyZjRiNjk0Nzc5IGxlZ2FjeS10cnVuaworMjY1MzkgOGNmMWVmODE0ZWU0M2E4YjhjYzhkNTYxOGFkMTBiZmQwNTBiODYwMiByZWxlYXNlMjItbWFpbnQKKzI2NTQwIDYyMTg4MjhiMGExMTJiZGVhODY2Y2IwZTRlYWIyNDFhMmI2MjAwODMgbGVnYWN5LXRydW5rCisyNjU0MSAxYTYxODE5NmUxNWE5YzU3MzAzNWRiOTYzM2U5YmI0MTFkZDIxMGFmIHJlbGVhc2UyMi1tYWludAorMjY1NDIgMWRmOTMxOGIyYjhlMDZlM2YwMWE5YTI2M2NlZGE1YmIyNDU4M2JmOCBsZWdhY3ktdHJ1bmsKKzI2NTQzIDFhNzdhZjYxMTEwNTlmYmQ3NGQ3MmFhOTJhMzBhYTBiOTY1MDc2NWIgbGVnYWN5LXRydW5rCisyNjU0NCA5OThjYzQ4NDY0ZmVmYWI3ZjAyZmYxNDZiYTgzYjAwZWM5ZTY2N2JkIGxlZ2FjeS10cnVuaworMjY1NDUgYzI3N2ViYzNjZTBmMTkxM2JhMmVjMTU5YjhiMjg0YzRiNTAxZTJkMyBsZWdhY3ktdHJ1bmsKKzI2NTQ2IGU3Nzk5OTE2NTk2ZDM5ZTU5NjVjYTE5ZDIxZjUwZGRmYzRjMmU0MTAgbGVnYWN5LXRydW5rCisyNjU0NyBiNDM1MmY1YTM0NTIyMTI0NjhkNThhYjk2YjMxN2Y2ZjI0NzVjYjZhIGxlZ2FjeS10cnVuaworMjY1NDggN2MwZThkYmNmNTdhNTk0ZWVkZmE0MTY4ZGY0NWM0OTE4NDRiZmU1MiBsZWdhY3ktdHJ1bmsKKzI2NTQ5IDJmZDYzZDc1ZTkyZjk1Mjg1NGNmOTdlZjRmMzhhMmQyOGM0OGY1OGIgcmVsZWFzZTIyLW1haW50CisyNjU1MCAzNzQzNWY5ZjA0ZDY0NTUyZmEwMDQ4NmVjODFiMzkyZDc0N2MzYTNlIHJlbGVhc2UyMi1tYWludAorMjY1NTEgMGJjM2E0MWQ0ZTQwYTI2YjY3MTc3NWQxMWViODMxMjE4NDNiYjViMyBsZWdhY3ktdHJ1bmsKKzI2NTUyIGQ0NzhmOGFmYzM2ZGQ1MTg0YzhkZDczZmFiOGZkODRmYjdkOTQyMDQgbGVnYWN5LXRydW5rCisyNjU1MyBmMWQ2MTQyMTI4ZDNlNDkzOTkyN2E5OWI4MGZmMWFiN2QwNjliODU4IGxlZ2FjeS10cnVuaworMjY1NTQgNTA4ZmQ5NTJjOWU5ZjIzZTQzZTkwNDAyNWNlODk4MWFkNmEyNzE2ZCBsZWdhY3ktdHJ1bmsKKzI2NTU1IDBjOGU3NjJhNjc3YzQ4MWNiZTI5MTU4ZWM5OTZlN2Y3NDdhYjg3MmEgcmVsZWFzZTIxLW1haW50CisyNjU1NiBmM2JlMDVlNjJhZDFhOGQ2OGQwODhhNGY3MjNiMmZhNjcyZGUyZDg1IGxlZ2FjeS10cnVuaworMjY1NTcgNjBmMjQyNTg5YzMyN2E5Mzk1MDExZDE3MmY5ZDRkZDI5YzI2ZjBlYyBsZWdhY3ktdHJ1bmsKKzI2NTU4IDY3NTliZTA4OGQ2OGJkZTY3Y2IzNDE4ZjY4NmU2ZTgzNzkwMzM0MWYgbGVnYWN5LXRydW5rCisyNjU1OSA5NTBhMjJlYjhjYzhhZGVmNWFkNjkyMmI2OGY0N2VjZmYxODhmNDE1IGxlZ2FjeS10cnVuaworMjY1NjAgMjE3ZWVhOWQ2NjE1OTU4MTI0YjdmZjU4OWM0ZGYxMDY0NjYzMWViNSBsZWdhY3ktdHJ1bmsKKzI2NTYxIGQwNzhmODQ4YWMzYjg4MGY1YzFjODc1OTllNTQzMTRjOTU1OGI0MzIgbGVnYWN5LXRydW5rCisyNjU2MiBjNDA4ZThiMjY3NWFhMmVhZTcyMTE4YWM0MWVjMjdlODkxNGE5MjhhIGxlZ2FjeS10cnVuaworMjY1NjMgNDliZjVhOGZhMTUxN2UxYmY5MWEwNTdhOWFmNDQyZjA4YTIzMjkxNCBsZWdhY3ktdHJ1bmsKKzI2NTY0IDU4M2MyMjZhZmRlNmNiMjA0YTJiZGNiN2IyNjNmOTIxYzBhZGEwODggbGVnYWN5LXRydW5rCisyNjU2NSA2ZTU2OGVlMzFhOWNlYzA4MzBhNWQ5YjBiMDg5ZjkwMzAzY2UyNzJlIGxlZ2FjeS10cnVuaworMjY1NjYgOGY5YWQyYzA1ZGFkZWE5ZTVjM2U0MTRiMDcwMDk3YmNmOWUzYjA2ZCBsZWdhY3ktdHJ1bmsKKzI2NTY3IGZkNjA5ZDJjMTY2OTFmMDIxMDJmODc5NTVmODViOWU4MWUxNDExZTcgbGVnYWN5LXRydW5rCisyNjU2OCA1YzMwMTc3NTY2NWQ5Y2ZhZDg1ZjlkZjdjMzkzM2U1MTYxNDE2NmIwIGxlZ2FjeS10cnVuaworMjY1NjkgMzgyZTM3YWMzNzRkYTJjYTc1NGQ3NjZiZjllY2E4ODI1YjEyMTUzMiBsZWdhY3ktdHJ1bmsKKzI2NTcwIDZiMmFmNmRhZmU3YzczZjU2OGEyZjRjMGRlNTlhNWUxNDRiYzhkY2QgbGVnYWN5LXRydW5rCisyNjU3MSAwZTQ0OTdmYjJkZThkNGExMDk0ODFmZmQyMWZmZmM3NzM4NDI3MDAxIGxlZ2FjeS10cnVuaworMjY1NzIgZTE2ZGJmODc1MzAzNzM4M2JlODVjMTY5YzFlMjRlMTgyNGU3ZDMzNCBsZWdhY3ktdHJ1bmsKKzI2NTczIGVmOTE5ZDI5NWExMjBkNjU4NWE4YjA0ODk4YjBlNzc5N2M1MDU2M2UgbGVnYWN5LXRydW5rCisyNjU3NCAxOWY1M2FhNGUxZTUxNDc3MzI4OTQzYmY5ODVmMDg3OGEwMWQ2MzIxIGxlZ2FjeS10cnVuaworMjY1NzUgZDhlOWY2ZjU3ZjEzMzY1MzM5ZmI0OGM5ZDRhMTI4ZjJjOWQ4NGE1YSByZWxlYXNlMjItbWFpbnQKKzI2NTc2IGIxOWE1YWRiNjk5MDA0OTNhNmI2YmMzMDNmMzc1OWYwNTc4NzJhMTkgcmVsZWFzZTIyLW1haW50CisyNjU3NyBiYTg4OTk4OWE3ZWIwMWZhZGYwYTZkYjEzNjkyOTkxMTc0YjM1OGFjIGxlZ2FjeS10cnVuaworMjY1NzggZDYxNGFlOTQ4YmMzYWUzYjViZWIxZjdmMjZiYTRhYzFmODI1NjJkMSBsZWdhY3ktdHJ1bmsKKzI2NTc5IGIyMzZkMjA4MzBmZTUzZDU4ZjI0YmVhYzc5YmQ1MzhiMWUzYTc0OGIgbGVnYWN5LXRydW5rCisyNjU4MCBiMDhiNTFkY2UyNjRlM2Y2NDE4OGU3NGRkOWQwYjk1YjY4Njk3Y2EyIHJlbGVhc2UyMi1tYWludAorMjY1ODEgYmQwOGM2OTU1ZTliZGQxNjQ0NTA5ZjhiZWM1ZDQ1M2VmODBlNWUwYiBsZWdhY3ktdHJ1bmsKKzI2NTgyIDU1NGYyMTk3YTdhNzZjOGY3MzkxMzM1YTRlN2JjMWFjMzQ3OGJlYjcgbGVnYWN5LXRydW5rCisyNjU4MyBhYjRmYTc4YWZkZGY2MTlhMjZjN2ZjY2JmZWRlNjkyOWU3ZGYzOWQzIGxlZ2FjeS10cnVuaworMjY1ODQgZjVhZWVhYWYwMzk3NGUxZTdlNWVmN2EwYmE2MjIzYjg3NWRlYmQxZSBsZWdhY3ktdHJ1bmsKKzI2NTg1IGVkNWQ3NTkxMmQ2MGRhOTFkNWI5M2YyMzY2MTAxNzRkM2ZhYTRkYWEgbGVnYWN5LXRydW5rCisyNjU4NiBlNjM5ZTM0ZWY5MDExZThmM2FmMzhiN2M1YzFhZWQxMWJkYTA5NTU3IGxlZ2FjeS10cnVuaworMjY1ODcgZGQzNTBiNjM5MzA5OTk0NjhkMzhkMGNjYzI3ZTIxYzZkYmU4MWJjOSByZWxlYXNlMjItbWFpbnQKKzI2NTg4IGE0MzE4OTIzYzdhYTMzNDg2NGQxYjZjOGIzNTZjYTUxOTQ0MzU3MzUgbGVnYWN5LXRydW5rCisyNjU4OSA2ZGI2ZTNkYzgzNjZiZWM2NjY0MjVlNjdjZTAyYjdhMzRkMTQ4MTU0IGxlZ2FjeS10cnVuaworMjY1OTAgMmI0N2QwZGNmYTY2NmE4ZDU4MWMzNGIwYTZhYmI3MzhkNTE1OTVlZSBsZWdhY3ktdHJ1bmsKKzI2NTkxIDg2MzEyNTU0NTMwMTU5MzA2YjRmZGM4NDRlZmQ0NjBjYWRhNTE2MzUgbGVnYWN5LXRydW5rCisyNjU5MiA4YmI5MGU4YmYzNjNkM2QwZjRkZWZiMTczMjczZTUzZTc2ZWQxMThhIHJlbGVhc2UyMS1tYWludAorMjY1OTMgZDMyNTQzMzM3YTIxNzVlNWJkZTczODk5MzkwZDFiMjEwNDJhMWM4NCByZWxlYXNlMjEtbWFpbnQKKzI2NTk0IDQwYTE4ODA1NTM2OTFmY2M5OWIzZTVhY2I4NDVjMjU2OTJhYWYyN2IgbGVnYWN5LXRydW5rCisyNjU5NSBhZWYyNDhjMTY0NWEyNDJiYmM3MTVlMDYzMWNlOTA2YTRlMTBiYWUwIHJlbGVhc2UyMS1tYWludAorMjY1OTYgNzcwYzJkMmY1NDcyOTliZDUxMjMwNjAxNWVkYzUxMjI0YTQyMDRkNSBsZWdhY3ktdHJ1bmsKKzI2NTk3IGY1MWQxYTJkNGE0YTFmYWQxYWEzYmE0NmRlNGI0ZGI1YzA0MmEwNjYgcmVsZWFzZTIyLW1haW50CisyNjU5OCA1ZDEzNWU0MTRjNzY0MzJkZDNlMjE0MjE5OTFjMmYyOWUxNGRiZDc5IGxlZ2FjeS10cnVuaworMjY1OTkgZDMyOGU1YmI4YTg4MGY2NDgyNThiMjhiMTUxMWE4N2U1OTQzOGE2YiByZWxlYXNlMjItbWFpbnQKKzI2NjAwIGRhYmIwYTNmNDdhNTU0MjAyMDUxZmI4ZDVkNjc4YmRkYjJiMmQ2ZGMgbGVnYWN5LXRydW5rCisyNjYwMSA3NmM0NTAzNzExM2ZkYTM2M2MyMDk1ZjJiMmU0NWM4ZWY1MDRkYjc1IGxlZ2FjeS10cnVuaworMjY2MDIgMzA0NThhMTFiNWUwOTNhZDUzMGFmZjllODQ1NDNhZWY4NzcyMDFjZCBsZWdhY3ktdHJ1bmsKKzI2NjAzIDRlMjM0Yjg3MTcwYjA4ZWUyNmE1ZGFkOWE5YjdjOGI0NmQ4YjMyMmUgbGVnYWN5LXRydW5rCisyNjYwNCAyNGIzZWFkODljYWU4NzgzNjBlNDNiOWUzZTJjZWYzYWUxZWRlNjUyIGxlZ2FjeS10cnVuaworMjY2MDUgOGZlYzExMGU5ZDAyMDg0OTBkYzkwYWQyZjZmYTc2MDZmN2Y4MWI5OSBsZWdhY3ktdHJ1bmsKKzI2NjA2IGUwNDcwZjJkZDQxMGU4YmI3NTIxZjQzODNlZThjMDA1YmUzMWZmNjggbGVnYWN5LXRydW5rCisyNjYwNyA1ZmRhZGM5NDI2NjUwMmQ3MjY3M2RkMmYzZmYxMjU0MzQ4ODA1NzgzIGxlZ2FjeS10cnVuaworMjY2MDggYjBiNjMyMTA2ZmQ3NjVkMWNhYmQ5Y2Y4MThjNTRlNmU3M2QzODYwNyBsZWdhY3ktdHJ1bmsKKzI2NjA5IDk3NjUwZWRmNThiYjE3ZGIzOTYwMjI1ZThlZDFhZjFiZTY5MGU1ZmQgbGVnYWN5LXRydW5rCisyNjYxMCA1ZTgwYWQzNmQ4ZmZiYzQ0YjE0MmI3ZmI0OGY1ZjE1YTJlOTlkNjE5IGxlZ2FjeS10cnVuaworMjY2MTEgMjg0Y2ZjYTc0ZGY0MGQ2MTM1NmQ0MWZiYTBjYjZmMTA5ZWYwYWNjYiBsZWdhY3ktdHJ1bmsKKzI2NjEyIDQwNWIyOTFjMzIxZGEwZTkxYzExM2FmYjA0OWM3NGFiYzZmZmI0NDAgbGVnYWN5LXRydW5rCisyNjYxMyA0ZjMzNWNhM2YxMWNjMTg0NDE4MWMzMjZkMDE5YzU1YmUyNjM0ZTQ0IGxlZ2FjeS10cnVuaworMjY2MTQgNzJjYTBmZDRkY2E2YmY1NjU4YTIwZWY2NTMzYzFkZDNkZTBhNDI5ZiBsZWdhY3ktdHJ1bmsKKzI2NjE1IDliMTc1MDE4ZmRlZjc4NWNhMmM5ZjdlOTUyMGNiNTY2MjExZWM0NTMgbGVnYWN5LXRydW5rCisyNjYxNiAyOTIyMTEzMjE3Njk3YzFiMDcxY2I3OTM0ZDhkYjVlZjRkMGIyNzAyIHJlbGVhc2UyMS1tYWludAorMjY2MTcgYTgzOWE2YmU4NTc4OGQ1MDM3MDRhZjRmNDZjN2YyOTYzNTM0ZWNjYyByZWxlYXNlMjItbWFpbnQKKzI2NjE4IDY2N2IwMjZhODlkOTBlMmU0OGMxZjIwMTg5MjYwZTNjMDI2NGFkYzcgbGVnYWN5LXRydW5rCisyNjYxOSA5YTliZWMxMGFhOGM2Y2QyOGI3MjllYzAwMDBmNGU2MTY2NzFmNzM4IGxlZ2FjeS10cnVuaworMjY2MjAgMWNmODg1OTMxNjY5MzkwNzI4YmY3OWI3YzM5NmRlNzA2NzBiYTUzOSBsZWdhY3ktdHJ1bmsKKzI2NjIxIDllMzUzMmI3NTQ3MWU2OGY2Y2NmNjk4OTZkOTEzYmY4Nzg1ZTk1OGYgbGVnYWN5LXRydW5rCisyNjYyMiBlNTI0OWE2Y2MxZDg3ZmU2YzNlMzI5NDY4ODQ0OTc2MDNhMDk4YzQwIGxlZ2FjeS10cnVuaworMjY2MjMgNzM1Mzk3N2Q2YjY0YWNmMjBiZjI1NWY3YmNmMWRhYzE0NzMzZTI1YyBsZWdhY3ktdHJ1bmsKKzI2NjI0IDM3ODEyZjJiYTFhYWJlYjU4YWI0MTgzY2UxZTRlMTc0YjU2MGNhMDggbGVnYWN5LXRydW5rCisyNjYyNSBiNTcyZjdhMGJiNTYzNWM1NmY0ZGY3ZGI5NTRiOTgwN2IzN2JlMDI4IGxlZ2FjeS10cnVuaworMjY2MjYgOGQ0YjI1Y2VlZWZlOWY5MThlY2Y1ZWYxNTdjYTBlZWQxZWJiZjgyMCBsZWdhY3ktdHJ1bmsKKzI2NjI3IDdiNjZjZDE1ZGNlOTkwMzFhOTdhNDA2YzE0NGE3YzIzMzc5MzM2YmEgbGVnYWN5LXRydW5rCisyNjYyOCAyMWNlNWQ1ZTBlYzcxNGE5NmNiNjcyNzUwMDMxNzE3YmY3ODM4Nzk2IGxlZ2FjeS10cnVuaworMjY2MjkgNDkzMjA2YjcwMWRiNTE3NDE5Y2QyZjg3ZTM0MTc1MGY0YzZiMzczZiByZWxlYXNlMjItbWFpbnQKKzI2NjMwIGVjMmE1NTU5ZTc2OTViYmQ2ZTc1NmZlNWZiNjFlYjJlZmFkNjM2NjQgcmVsZWFzZTIyLW1haW50CisyNjYzMSBmOTcwNTg4ZTg5YjEwZDMyZWVjMDlkNzJmOTA3ZTEzMWNjYzUzYWIyIGxlZ2FjeS10cnVuaworMjY2MzIgODAzZTZhNjk1MzA2NGMzOTllMzM3OGIzYTVhM2ZhMmI3MmY1OTliNiBsZWdhY3ktdHJ1bmsKKzI2NjMzIDU4Mjg1NWY2ZDM1YmVkZmIwYjE2N2NhY2IyY2RiMWZkYTZhZDdkOTEgbGVnYWN5LXRydW5rCisyNjYzNCA3MGEwODk3MjIzOTM1YmYyMWNhMmYwNDQwNDgwNjg0NGMxN2ZhM2IzIGxlZ2FjeS10cnVuaworMjY2MzUgMjljYTllMTJiZjEwMTlhMmM5YjdlOWVkMDVhNjE5OGEyN2E1YTAzZSBsZWdhY3ktdHJ1bmsKKzI2NjM2IGQ0NzI5MGRkMmQ1N2U2NTE2NTYxNGRmNGIxZjllZThjOGUwYTZlZGQgbGVnYWN5LXRydW5rCisyNjYzNyA0NjQ1MGYxN2EwNzA1NjFjNmY1YWM4NzIxMjBmMjc2NDVmZDg4ZDkxIGxlZ2FjeS10cnVuaworMjY2MzggMzE0ZTA4ZTgwOTBmYjRkOTBhNmZiNGM1YjExOTUyYTI0ZjI1YWYzYSBsZWdhY3ktdHJ1bmsKKzI2NjM5IDVmNWNlYTI3MmI0NjIzMWMwOGUxMGU2MmNjMmUzMjdmYWRiOTQzZmMgbGVnYWN5LXRydW5rCisyNjY0MCAyMDA1NTlmY2M2NjRmN2I2NmI5MzgyODI1MWUyY2Q4MWIyM2E1YTdiIGxlZ2FjeS10cnVuaworMjY2NDEgOWUyMmE4NzAyZGUyZDg0ZDQ4Y2VkYTg3MGRkYjBmNzE4YTYwMzBkMiBsZWdhY3ktdHJ1bmsKKzI2NjQyIGY1ZmQ3ZTI5NTg5NzU5NWNmMTI3NmQzNWJmZTM1MjczMmI2NmE5NmUgbGVnYWN5LXRydW5rCisyNjY0MyBhNGU3NWQ1M2QzMmI0ZjU3N2I1NjFhZDVmYTA0YTQ2YWVkOTI2ZDk3IGxlZ2FjeS10cnVuaworMjY2NDQgM2VkZGQ5ZDY4YWY3ZGJjMDQ1ZjFkNjlhOGYzMDJiN2QxMjJiMjViYSByZWxlYXNlMjItbWFpbnQKKzI2NjQ1IDAwZjY2MzYwYmUxOTg2MDY1MjM0M2JhYjc5ZWExNjIxMTIwYmU2NjMgbGVnYWN5LXRydW5rCisyNjY0NiBhZmUyNjM2NzJmZDg0YmFiYmQzNTM4NWE0MjhjZmQ1MjE0MTFmZTc0IGxlZ2FjeS10cnVuaworMjY2NDcgZTExNDcxYTA2MjZjMTIyZDQ1YTkxODg3NDgyOTFkZWIzN2NjNjJlOSBsZWdhY3ktdHJ1bmsKKzI2NjQ4IGI2MGI3M2Q0MWViNGE4M2RlNGYxYWQ2MTg5OGY2OGQxNjlmNWE1NTAgbGVnYWN5LXRydW5rCisyNjY0OSA0NzI4YmVkZjRiNzg5YTcwNTE4ZTgxMmZlYjM2ODFiMTcxMzZjZDZiIHJlbGVhc2UyMi1tYWludAorMjY2NTAgN2M2MDk0YjE4ZDE2MTAwYWU5ZDQyZDQ3OGI0NzNhMzYxYTE4N2IwOCBsZWdhY3ktdHJ1bmsKKzI2NjUxIDVkZDUyYTliMDQzOGE4Njk1ZmMyODQzNzRjYTVmYTUyZTBlY2Y4MDcgcmVsZWFzZTIxLW1haW50CisyNjY1MiA2NTYxMGJjNGU2YTU3M2YwNDdjNTRkMmRkOTk1MDkxMTNkNDRhOGQ4IGxlZ2FjeS10cnVuaworMjY2NTMgYjkzZWQxYTRlNDlmMWE4NjkyZTAxOGEwOWRhNTE2NDNjZGIxNGFlMyByZWxlYXNlMjItbWFpbnQKKzI2NjU0IDhmMWIzNzFmZmJhZjYxZDdhYjI5M2RiNDcwNzI4NWQ4NTI5OTkzMGYgbGVnYWN5LXRydW5rCisyNjY1NSBiNzM1ZTg5Y2NkYTc0ZjgwZDcwMmYzM2IyZjZjMjdkYTRkYzFjNTQ2IGxlZ2FjeS10cnVuaworMjY2NTYgNmZhNzZiNGU1OWZlZmU4MWM1MTExOThjN2Y4OTY1ZDAyYTI3OTM3NCBsZWdhY3ktdHJ1bmsKKzI2NjU3IDE3Y2FmZTgwNWYwNDVmNjUyYTY1MjM0OWQ5Zjg1M2M4ODA0ZmNmOTAgbGVnYWN5LXRydW5rCisyNjY1OCAwOGU2Zjk0ZjNhYjAwNzk4NDYyMjVjYzNjNmU4ODQzMjA1Mjk2NGY2IGxlZ2FjeS10cnVuaworMjY2NTkgNWE2YmU4ZmE4ZGUyNGU2YzdhZmEzNzk3ZDUzNzE1OTBmMmZiNGRkOCBsZWdhY3ktdHJ1bmsKKzI2NjYwIDAxNDc4YTEzMjkwODliODAyOWNlMWNlYTgzN2JjMzM0ZWYzMDk1MDQgbGVnYWN5LXRydW5rCisyNjY2MSBiNWY2ZTlmNmU3ZjRiNzk4ZGUwODYwNzZiNTIwMmUzYThjMGM2OWU2IGxlZ2FjeS10cnVuaworMjY2NjIgNTczMmE5Y2M5MWM3YTk0MmIwYmZmYTM3ODhkMDZhZWJiN2I5YmU4MCBsZWdhY3ktdHJ1bmsKKzI2NjYzIDUzZWJhZTc4MjNkOTc0MmYzNTE0YmNkZDE4NTk4ZWFhMzcyMDcxYzAgbGVnYWN5LXRydW5rCisyNjY2NCBhMjE1MzI4NTY1MjQ2MDA5Njk2MmQzZmM0ZmIxZmIyZTQxNzUxNjc5IGxlZ2FjeS10cnVuaworMjY2NjUgMjBhN2IyY2YzYzFmZTM5NWU3ZTViNzNhOWNkMjkxNGYxMTc1MDYzNCBsZWdhY3ktdHJ1bmsKKzI2NjY2IGVmNmUzMWYwY2VlMTI3NjE2YjdiNzBhZWE0MWJiNDI3NzkwNGQwNGIgbGVnYWN5LXRydW5rCisyNjY2NyBjZjk2NDBiZTZmOGE5NTIwZTNmMjFjZDFjNmFhZWMwYWQwYzI3NWQwIGxlZ2FjeS10cnVuaworMjY2NjggOGFlN2I0MGFjNmQwN2ViZWQ2NTcwZDQwNWRhZDcxZTBlYWVlNzY4ZiByZWxlYXNlMjItbWFpbnQKKzI2NjY5IGQwNTMyYWUwNWVkNzJhYzJjNzFhOTNkMmIwOTQyNDkzNTQxNzc3ZWQgcmVsZWFzZTIyLW1haW50CisyNjY3MCA0Y2U2MTE2NTBkMGNlODdlMjM3MDMwMmI5NmIzZTk1NDFkMWFiODc4IHJlbGVhc2UyMi1tYWludAorMjY2NzEgMDE3NjVkMzA1MzJlMjlkNDZmYmI5NDRkYWM4NDhlYzA5MDFkMDg2OSByZWxlYXNlMjItbWFpbnQKKzI2NjcyIGJhNjcyMWFlNGI4MDkzM2NiNWI4MmUwMzVkNzBiNzgxYzQzZDJmOTkgcmVsZWFzZTIxLW1haW50CisyNjY3MyA1ZGJjNzllZTA4ODViZDU2M2MzNGZiM2FkYTAxNGUwMTI3ZWFlMGVlIHJlbGVhc2UyMS1tYWludAorMjY2NzQgMGIwODljOGFjMDc3MzAxMmVjNjBmNjkzZWNmZGYwMzU3ZTE1NDI1YiByZWxlYXNlMjItbWFpbnQKKzI2Njc1IGFhYjQyNzNhN2NmNzE2NzM5YWQ2YWU2NmZlNmI4NDY4YzE3ZWNiOTYgcmVsZWFzZTIyLW1haW50CisyNjY3NiA0YzhmNWE4OTBmOThiZWVlZjM3NmJhYWJiM2ExYjZmYjE0MDhjY2EwIGxlZ2FjeS10cnVuaworMjY2NzcgMTMzNzYzMzMyNzY3MzQwM2FmOGMwYzJmM2YzZTdjYWI3ZjIxNGRkZiBsZWdhY3ktdHJ1bmsKKzI2Njc4IGFmMWZmNDFiZTQ3Yjg0NTMwNmM2ZWJmN2QyZmQ0Njc0MTgxNDhhYjQgbGVnYWN5LXRydW5rCisyNjY3OSA0NmNmYjg1ZjBhYWU3NjA0MDdlMzRiM2I0Yjc1Mjg4NDBmNWYzMmQ2IHJlbGVhc2UyMS1tYWludAorMjY2ODAgYTQ0M2U1ZTVlY2U3ZjYxYzJjYWJjYWEyZTZjNzBiNTQzMDZkNDgyOSByZWxlYXNlMjItbWFpbnQKKzI2NjgxIDIzYmY2ODc3OGEyYTg1YzI5MWFiYWYxZmQxN2RlYzI5NmYyYTE5YmMgbGVnYWN5LXRydW5rCisyNjY4MiAzODg0NDkzNzA5NDYyNDdmMDdlNzdhODdlM2M5YjUyNGIxMjdiOTQwIGxlZ2FjeS10cnVuaworMjY2ODMgMTc0YmEwM2M4OWZiNDgxM2E0YThmYWNiNGM4ZWFmZDFlZjdjYjMxMCBsZWdhY3ktdHJ1bmsKKzI2Njg0IGFmNDk5YjUwYTA5NDY0M2M3N2Y3YjZkMTI3NzcxMzJmZTdjNzhkMzQgbGVnYWN5LXRydW5rCisyNjY4NSAzYzdiMjJkMTEyZDM1ZTNjZjIzZWU3M2MzZTI5NTk2ZWQ2YjkzZTdhIHJlbGVhc2UyMS1tYWludAorMjY2ODYgMTgwNmQwMmMwOGM0NDdhNTJmYWMxOTQ2ODU1MDljNDE1MzA3ZGI5YSByZWxlYXNlMjItbWFpbnQKKzI2Njg3IDY4OTI2ZDBhYWQ0MDNiZjhhNGRhYmRmMDMxYzNiOTRmOTA3NTU3YTMgbGVnYWN5LXRydW5rCisyNjY4OCBiYTI5MDEyODdjYjdjYTg2YmZjZDMxOTE5MTJmODZiMTgxOGNhNDkzIGxlZ2FjeS10cnVuaworMjY2ODkgOGI1OTI2MDMyYjU2YTIwNWE0Y2FlZjNlZTEzZjYzYmY2Y2UxZDUyYiByZWxlYXNlMjItbWFpbnQKKzI2NjkwIGZmZDVkODZlOTZjZWIwZjkyNDExZmFkYzM3NjVjMGZjZThlZTM4MWEgcmVsZWFzZTIxLW1haW50CisyNjY5MSBjMzMwNzdkYzBjODNiOWMxOWRhNjI3OTQxYzA1MGE5ZWVjYTNkYWViIGxlZ2FjeS10cnVuaworMjY2OTIgYWFlNmRjNmIyYTU4OThlMzJjMTAwYzdmNDU4MTA2MmM1ZmRjY2ZhNSBsZWdhY3ktdHJ1bmsKKzI2NjkzIGMxZDFhZTE1ZGU5MmM5YWY1NDY2OWYyZDk3NGIzMDBlOGZhMzg4NmUgbGVnYWN5LXRydW5rCisyNjY5NCBjZDAyYTM2NzA0ZmVmMjNhYmE1MzkxMTE4Nzk1ZjY1OWMyMjMwN2FkIGxlZ2FjeS10cnVuaworMjY2OTUgYzkxN2ZlOWJjNjU0ZmU5NjYwNjE3NzBkYzQwZDRkYjVkYzQ4NTljOSBsZWdhY3ktdHJ1bmsKKzI2Njk2IDNkZWJjOGMzNGNjOTEwYzgyMzcwOGRkYmM1YWUyYjUwZTk4YTBjYmUgbGVnYWN5LXRydW5rCisyNjY5NyA4N2M5OGFmNjFmYzRhYjk1Y2YwMzRmZmJjZmY5NmRmZWY4OTU5MDY2IHJlbGVhc2UyMi1tYWludAorMjY2OTggODM4NDI3ZjBhZjIzMmQxNGRhNDY5ZTFlMWEzMDIyZmFmODM0MDQ3OSByZWxlYXNlMjItbWFpbnQKKzI2Njk5IDk3ZTBiNTA0YzAwMDk4ODFhZWI5NGVhYmI5NTY4NTIwMTA1NzllODUgcmVsZWFzZTIxLW1haW50CisyNjcwMCAwMmQ1MjgzYjFlMjFmYzYyZTZlOWFjMTliODZmODU2YTkwNjFkZmE2IHJlbGVhc2UyMS1tYWludAorMjY3MDEgMzY5N2EzMzY0MDBmYWJjMjYxNDA2NDY2YTY3MDE3ZWJhMGYzMWEzOCBsZWdhY3ktdHJ1bmsKKzI2NzAyIDU1NDIzYzFhYmNkMTQ5ZGU4ODMwZTVmYTY4ZjdiM2RiZDdlZDBkZWQgcmVsZWFzZTIyLW1haW50CisyNjcwMyAxMzA1NmI2MjY3YTI1ZjE2ZWNhMGVhYmY5YzY2YTdjNzZmZWVjYTBmIHJlbGVhc2UyMS1tYWludAorMjY3MDQgMDNiMWU5ODliMWQ5Nzc0NThkNzdiYzZkMzk2NTE2YjBkZDA1Y2RhMCBsZWdhY3ktdHJ1bmsKKzI2NzA1IGJmZmM3MjM2YzRiYTI4OTE0N2RlOGRkOGFhYjdhMzcwOWM4MTU0ZGIgbGVnYWN5LXRydW5rCisyNjcwNiBkOTNmNTM3YTc1MmI4ODZlZGVhNjRhZGZiZTE4Y2Q5Yzg4YjU0ZDczIGxlZ2FjeS10cnVuaworMjY3MDcgODdjNzE2YjI4YTNlY2YwYjBmYjcwZGY0ZjdhMmIxNTg1MTA1MjkxYSBsZWdhY3ktdHJ1bmsKKzI2NzA4IDJkMmZhYTUxZGNmZGFlOGNlM2UwMTI5MDQ0NGUyNjg4YzQ0MDYyMjIgbGVnYWN5LXRydW5rCisyNjcwOSBhYTA4NTU0ZDFhOWI0MWFiOWEyMzI0NzZjMGQwY2I0NjY2OWJiYzk3IGxlZ2FjeS10cnVuaworMjY3MTAgMWM5Y2UzNGQ1MjlkYzM4ZjI5NjA3YzRkY2E2NzU5MzBkYTQ4OTU4MiByZWxlYXNlMjItbWFpbnQKKzI2NzExIGI0OTFhYjc4NzdkMmQyYTI1YTk3OTM0YmJiMGYyOTAyMDI0ODY5YzggbGVnYWN5LXRydW5rCisyNjcxMiAyMzhkZmVjOWM4OTllOGUzM2RjNDc4MTBiNTdjOTE1NzlmY2RhMzdhIHJlbGVhc2UyMi1tYWludAorMjY3MTMgOTgxYzZiNmZmMmYxNzIwMTlhOWQ0MDA5YmViM2JhYzI5YTIwOGYzZCByZWxlYXNlMjEtbWFpbnQKKzI2NzE0IDljOWUwNzM1OWQ2ZTY0MDQ3YTljZmFlZWU3NzZiMjVjZDAxODI2MjUgcmVsZWFzZTIxLW1haW50CisyNjcxNSBkNDY2YmMxOWY3MzEyYWU1NzcwYmVhMTQyMjVhODRhZTk4ZjQyYzBhIGxlZ2FjeS10cnVuaworMjY3MTYgNjdiY2I0ZjUyMzdmMjQ1MjYwNzljZTVlZjMyMGFjMGRiZjYyNWVlMyByZWxlYXNlMjItbWFpbnQKKzI2NzE3IDBhNGQ2YjI0MGFiMjQ4NzdiZGVlODQxZjE3YmZjZmVlY2JjOWI2MmYgbGVnYWN5LXRydW5rCisyNjcxOCAwNjZkODI3NWFkNjQzYWJlYmY4M2JkMWFmODNhY2U4NDRhZDAzMmJmIGxlZ2FjeS10cnVuaworMjY3MTkgZmQ2OWYzZWU3N2VhYzFmNjJhMjY3NDIxMzQ2ZGQ4M2I4MmJiN2Q2MSByZWxlYXNlMjItbWFpbnQKKzI2NzIwIGVjZjA3MGMzNDk5OWU2NTYzN2FjOWFkMzgxZWZjYzgwN2ZmYmYwZWMgcmVsZWFzZTIyLW1haW50CisyNjcyMSA3YmY3Y2YzYTM1YjkwNDRjZGFjMzBkM2UyOGRlMGNmZWNhNWFkYzRkIGxlZ2FjeS10cnVuaworMjY3MjIgYWVlOGYxNmYyNzc0MWQxNjgyMDg1NDEyOGFhY2M5NWM5MDA0MzExMyBsZWdhY3ktdHJ1bmsKKzI2NzIzIDE4ZjhhN2I1NmY4OTAwMjNlYjBlYWUwOTZiYTY1YTk2ZDY4Y2U3MjcgbGVnYWN5LXRydW5rCisyNjcyNCAzNjg0MGE5ODk3MjJkN2U4NDQzZTg2ZTg5YTJkZTFjOGEyZmQ4OWRiIGxlZ2FjeS10cnVuaworMjY3MjUgYmVjMTU3ZGJlZTJlMDhhNmIyNTY2M2RiOTk0NGQ0YzJhMmMyN2NlOCBsZWdhY3ktdHJ1bmsKKzI2NzI2IDNlZmQzNGZlNjY2ODA2NGFhNDNmM2ExMTlkYmU3ZGRmYWYzMThmZmQgbGVnYWN5LXRydW5rCisyNjcyNyAzYjMyM2RmOTQ1YmI2YmYxOWNmYWUzNjViZGQ5ZGY5ZTY0ZDYzNmNlIGxlZ2FjeS10cnVuaworMjY3MjggYjI3ZjM2Y2YzZDNlMDIzZGNlYWE2ZTc3MGFhNzc4OWM4MmQwY2U3ZSBsZWdhY3ktdHJ1bmsKKzI2NzI5IGQzZDg1N2E4ODJmMGY4MzliNzcxYjVjN2NjZGIwY2Y3YWZiYjljNzkgbGVnYWN5LXRydW5rCisyNjczMCA3ZWQ0OWFmMDQ4YmEwOTNlNDczODRlNzQ2NGY3NjRmOGNiYzI5ODBjIGxlZ2FjeS10cnVuaworMjY3MzEgMTA1YmU5MzZiNWMzNmQ2Mzc4ZTcxN2E1MzI4MDZjZGNkODcxZjg5ZSBsZWdhY3ktdHJ1bmsKKzI2NzMyIGFkOTdmY2U5ZGNmZTI1ZWM2OGE2NDYzZjBiMGYxMTQ1MjViMTRmZmUgbGVnYWN5LXRydW5rCisyNjczMyBjNTY4ODhkMTcwOTg0ZTEzMmYzZmVjODhiZGY4MTg0OTJiYTcyMWM0IHJlbGVhc2UyMS1tYWludAorMjY3MzQgNGFmNjY5ZjljNDJlMDgyYjFhZTdlZjU5OWFkMmNkNjU0MzQyYTgyMiBsZWdhY3ktdHJ1bmsKKzI2NzM1IDY3NTFlOGJjZmQyOTNmY2FiMDc2NDBkM2ZlMjQ2OTAwYTUzZDcyYjQgcmVsZWFzZTIyLW1haW50CisyNjczNiAzYjgyNTY3NWQxMTk0NDcyNGFmYWI4N2Q0YmFiMTNiNDJiNjNmODI3IHJlbGVhc2UyMi1tYWludAorMjY3MzcgY2JiZTI4OWU3YzJlOTI4NWYzOGNlNGZhNzBhYzNlYmQ2NzFkYjA4NCBsZWdhY3ktdHJ1bmsKKzI2NzM4IDJmN2Q4NjlkYWQ0ZGY3YmJkZjY3MTE5MWZlNmRlZWFjMDFhZDkwZmUgbGVnYWN5LXRydW5rCisyNjczOSA0ZDZiZWFiNzY2ZTI3NGQ5ZjlmZTMyMTY5ZGJkMmQxMzUzMDA0NDU3IGxlZ2FjeS10cnVuaworMjY3NDAgZTVkZjA4NmVkNDU1MTg1MGVhYjlhOTY5NTI2NjkwNzg0ZjY4ODMyNSBsZWdhY3ktdHJ1bmsKKzI2NzQxIDliZTAxYjdiNmM4MGFiZGM5ZDMxZGMwMDY5NDNlMmU4ZmQzNmY0YjggbGVnYWN5LXRydW5rCisyNjc0MiA4MmE4NTBkYjdlYzU3N2U4MjcwMDgwN2E4NTdmNWNkZTVjOWVkMGFjIGxlZ2FjeS10cnVuaworMjY3NDMgMTMwM2RjMDcyM2ZjYzEyM2M5Y2YwNTg2OTQ2MWZiN2E1NGFlNGU3OCBsZWdhY3ktdHJ1bmsKKzI2NzQ0IGNhOTA3ZjI4ZTJkNTU4MmFjZTE2MmNjNzU4NDI3NWZhZjRlYzU1MTcgbGVnYWN5LXRydW5rCisyNjc0NSAwNzE5YTM3N2E2MTZjMTM5ZmJkMGQ4N2Y0YzMwYzgxYTg1YmYyYjE2IHJlbGVhc2UyMi1tYWludAorMjY3NDYgNDIyNzg0NzA5MzgwYWE0ZWE3ZmI0ZDM2NGI2ZjBiNDVhMWM5ZWUxMyByZWxlYXNlMjEtbWFpbnQKKzI2NzQ3IGY4ZmY5ZmFiOTJjZWU0NTRmYzkzMWJhYTljMTY2NzIxMGVkMGIxZjEgbGVnYWN5LXRydW5rCisyNjc0OCBhOWM5ODE4M2ZmODdmZTY2NThkZDdkOWRjM2QwMzZlOTJjNjE3YjI1IGxlZ2FjeS10cnVuaworMjY3NDkgNmE3YjI2YmRlMGU4YjljODYxZDRkZGNhNDRjYzk2YjU4NDkyMWZiYyByZWxlYXNlMjItbWFpbnQKKzI2NzUwIGM3OGI1MmRhYzk2MzBjMDQzYzZhZWUzM2NlMWJiOGI2YTQ3YTQ2ZDQgbGVnYWN5LXRydW5rCisyNjc1MSA0MGZlMTgzYTg5MjIwMmQ1YzY0NzdkNGVjYzJhOWU4OTYxNmI5NGY2IGxlZ2FjeS10cnVuaworMjY3NTIgZmE3MzIwY2IzN2Q5NWVjNGZmODU5MDA3NTA3OGMwYTBmYzliMmVmYSBsZWdhY3ktdHJ1bmsKKzI2NzUzIDIzMDA3MzQxNDUwNDBiY2E4MWFlYmJkOGNiNmQ4MGU1ZTQ2M2Y2NmMgbGVnYWN5LXRydW5rCisyNjc1NCBkZmQ5OGU5NTIxYjM3ZWY5MDlhMDdlYjMyMWM5NmQ0ZjQ1NDZjYjFhIGxlZ2FjeS10cnVuaworMjY3NTUgNDRmZWNjMzM4ODlkOGMwMGRkMTFkZmY4OGI0YjRmMjljMTAwMDJjMCBsZWdhY3ktdHJ1bmsKKzI2NzU2IGJmZTkxZTFlMzFiMjAwNjI3NjkzYzNmMGQyNTk4ZDQ5MWNhNDgzYjkgbGVnYWN5LXRydW5rCisyNjc1NyAzODg0MWJlYTI0ZmRkZGU5NTNjY2E4NzUwZDczYTlhMzcyYmRjMWYyIGxlZ2FjeS10cnVuaworMjY3NTggMGQ4NzQwMDk0YmVjYTI2ZDcwZWU2NWRlNDIzY2ExM2E3NDcwYTE1ZSBsZWdhY3ktdHJ1bmsKKzI2NzU5IDk1NmQwMzhiMWRkMjZmNTZjMTU3YzY0MDI3M2RmMzA3N2M0MzlhZjYgbGVnYWN5LXRydW5rCisyNjc2MCBhODY4YmFlYmU5NTY0NjU2ZTM1OGJkZmIyNWQ0ZGE3YzY3YjVkZTA3IGxlZ2FjeS10cnVuaworMjY3NjEgOTM1NDJlZmFjMDY2NjliYWFhODRhNzkwNTNiMjhkMzE3ZDQyNDBhMyBsZWdhY3ktdHJ1bmsKKzI2NzYyIDRlNzgxNWM5NWQzZWFhOTRkMzAzMWU0YjU5NmQxZDMzZmExOWQ1NDEgbGVnYWN5LXRydW5rCisyNjc2MyBiOTcyNmJhNzFhYTNmNWU3YjJjNzViNzQyYWRiYmVhZjMwZWZkMDUxIGxlZ2FjeS10cnVuaworMjY3NjQgYzVjMmIyNGRiOGE3MTE5NTA4OTlhZjM0ZDBjNjEyMzFlMjQ1ODJlMSBsZWdhY3ktdHJ1bmsKKzI2NzY1IGIyYWEyNjQ4ZGYyN2IwYWU2ZDY5ZmEwNmFkYjg1ODE3MjI1MGVmZjUgbGVnYWN5LXRydW5rCisyNjc2NiA5NzdlNTM0ZmM2Yzc3NDIyMGNkMjU4YmJlZDZmYTNlMGYzY2JkYzFjIGxlZ2FjeS10cnVuaworMjY3NjcgZTBlZDY4YWRiYTMzMjc1NmY0MjNhMzJlNjJkYjhjMjYxNTBmYzFlMyBsZWdhY3ktdHJ1bmsKKzI2NzY4IGVlMjkyYTUzZTVmY2U4OTRmMDVhNWQwYTY0YmMxOTY3ODgyMTU1MzIgcmVsZWFzZTIyLW1haW50CisyNjc2OSBjNWM0YzExMjEwODc3OTdkZWExMGYzYjQyMTI5OTkxNjdhNzA3ZTU5IGxlZ2FjeS10cnVuaworMjY3NzAgMTBhZTJkNjExYWU5NDE3ZDY4YmEyZTE4MWMwNGU2ZjQ0OGViMjFiNyBsZWdhY3ktdHJ1bmsKKzI2NzcxIDQ3MzM4NWZjYTI5OTI4ODNmYmU5NDY0ODVlMjkzMWIxMzI2MDg2NWUgbGVnYWN5LXRydW5rCisyNjc3MiA5NGJmNmFjZWZmNzg4YmVmYWRmYjU4NDQ5ODkwMTYwZTgyYmYwYTgyIGxlZ2FjeS10cnVuaworMjY3NzMgMjMzOWRkZTZiYWJlY2Y4ZjEyOTJlNDg0ZTdkZjMwMjE1ZTdjMGVlZSBsZWdhY3ktdHJ1bmsKKzI2Nzc0IDYwZDg2YjJlYWIwZmFmYTIyODkyZTQwODQzYzVhZTBkOGQ3MzQ0YzYgbGVnYWN5LXRydW5rCisyNjc3NSBlNWVmMTY2ZmMyMmY2MjNlOGM2MGZmYzE2ZWU4MTU4YzI0MzYzMmI4IGxlZ2FjeS10cnVuaworMjY3NzYgMjExYjE2YWMwNjZhNzA0ODM0NzIxMTI4NzRiNzhjOTdjNmVhNTdjOSBsZWdhY3ktdHJ1bmsKKzI2Nzc3IDU4Y2FjNzA2MDJhYTY5OTM1OTA5NDY5YjdkNmI3Zjk0Zjc4NGExOWEgcmVsZWFzZTIyLW1haW50CisyNjc3OCAzOWU1YzBkNmMxODIyYTgwZTdiZjljODhiNmVlYWRlZTAxZTdiYzYzIHJlbGVhc2UyMS1tYWludAorMjY3NzkgODFkMDY3MjA1Yjg2ZjJiN2QwNTFlZWViMzAxNWE5ZWY1ZmE3ZThmYSBsZWdhY3ktdHJ1bmsKKzI2NzgwIDRmNjdlNTY2ODZlNThkOWFlZGNlNjk4YzA4ODE5NWFhMTcxN2ZjNjcgbGVnYWN5LXRydW5rCisyNjc4MSA5MGVmYTFjYWIzYmMyYzc1NjFkOGQ4NzFiOWM3NGI2NGRmYmY5MjUyIGxlZ2FjeS10cnVuaworMjY3ODIgNjQyYTQ1M2U3YTJlOTIzZTA1OTAwZTYyNTkyMWU4N2MyMGY4NzQ2NyBsZWdhY3ktdHJ1bmsKKzI2NzgzIGYzOGJkYjJmY2FlMDJkMDU1N2M3ZTJmMDFjZWI4OTkyYTQ0NDE3NzYgcmVsZWFzZTIyLW1haW50CisyNjc4NCBjMzc1YzViMjY2MzEyZTEzMDM1OTg0NDIyNTk5NzhkYzE0YmU2MTk2IGxlZ2FjeS10cnVuaworMjY3ODUgNjM4OTBiYzI5YTdjYmY0Zjg5NjZiMjA4MDE2MjliYWE3Zjg3YWUyYSBsZWdhY3ktdHJ1bmsKKzI2Nzg2IDYyNDAzYjkzZjQ3MGIyMmUwOTgyOGEyODlmN2YxY2VkMDRkNmMxZmUgbGVnYWN5LXRydW5rCisyNjc4NyAxMTU3MjgxZjAwYTAyYjEzNzdmOGY3ZDFlYjE4MWQ1YWRhMmJjYzk0IGxlZ2FjeS10cnVuaworMjY3ODggYTRkNjc1YjhiNTNjMDI0MDc5M2JlOTI1MjQ1OGIxMDMwYWNlOWU0MSBsZWdhY3ktdHJ1bmsKKzI2Nzg5IDhlYmE0YzkyZGYyYjRlNGU1NjE3ZTVkZjQ5MjlkNjVhZWJlNjczYjIgbGVnYWN5LXRydW5rCisyNjc5MCBlMTFlOTUwYWNjMjM1MTYxMDUxZmJmYjg3MTkwN2RhNTI1Y2NkMzIwIHJlbGVhc2UyMi1tYWludAorMjY3OTEgMWJlNmU3OWIxZDQ2MDUwODM5NmE1M2IzMTcxNDcyMWZmNGQwMjJmYiBsZWdhY3ktdHJ1bmsKKzI2NzkyIGFiNTIzMTJmODJjNzkxODg2NDBiYzFhOTE4NTIzNTU1YzZmMzJmMDkgcmVsZWFzZTIyLW1haW50CisyNjc5MyA1NjI0MGJjZGE4OGM5MWYwYjEzMWM5ZmM2MzZkNWM4MGI1Y2MzZGY5IGxlZ2FjeS10cnVuaworMjY3OTQgZmI2NGYyMTE3NmFmYWVhZGUzNTQ5OWQ4ZjQwYWUyNmJmMDRmZDk0MSBsZWdhY3ktdHJ1bmsKKzI2Nzk1IDk5M2M3NzU4N2RjYTIzOTIzMmNkN2IxZmZmNjc1NTg0Y2M1ZjQxNDYgbGVnYWN5LXRydW5rCisyNjc5NiAyNWZkNGE4ZjllMDkyMjc0Y2QzZTMyM2U5YjEyYWFlMTczYWY4YzI5IGxlZ2FjeS10cnVuaworMjY3OTcgZjlkNWUxZmIyYWE2OTczY2FhNDJmN2VlZGJiNDlmY2U0NGEwMGJlZCBsZWdhY3ktdHJ1bmsKKzI2Nzk4IDgyNDYwZmRhNGY3NjcxMGI2M2EyMTJjYWVhNTA4ZGQ2ZTRiZjI0MTkgcmVsZWFzZTIyLW1haW50CisyNjc5OSAwOGQ2YzhiNzgwZDk2OTlkMjk4ZDY5ZThjZGI0Y2I1YjZlYzMwZGY0IGxlZ2FjeS10cnVuaworMjY4MDAgZGUwYWMwM2U1ZTcyZDhjODU2ZmZmOGFjZmMyZTBmZWQ0YzdlOGIzMyBsZWdhY3ktdHJ1bmsKKzI2ODAxIDI4ZjcxYzRiZDE2YmI1OTNhZDUwNDE0MTUxNjFiZjhiODU5YWMyNGMgcmVsZWFzZTIyLW1haW50CisyNjgwMiA2YjJiYTNiN2VkMzI2YmU0YWE0ODc5MzBkODJlYWY0YjM0ZmE4YjQ5IGxlZ2FjeS10cnVuaworMjY4MDMgYjE1ODk2MDUzOTMzMzRhMzA0MDcwYTlmMTY0MjcxYTZkODlkMjMwZSBsZWdhY3ktdHJ1bmsKKzI2ODA0IDAzZGZlN2QzNDNkYmFjM2Y4MGI1OGE5NDE2ZGMyOWNiZjg1ZWYxYjcgcmVsZWFzZTIyLW1haW50CisyNjgwNSBmMTIxOTMwNTkyMzlkYjJhNDk0MTg4MjVkYTZiZDZmYzFkYzI0MDNmIHJlbGVhc2UyMi1tYWludAorMjY4MDYgZDNmMjc1YmQyYzYwYTFkMGY4NjEwZGEzYmQxMDA1OGIzNTY1Y2Q5YiBsZWdhY3ktdHJ1bmsKKzI2ODA3IDE5YTk0OTI1Mzc4MTJmYTIxMTgyMGM1Njg3MWRiNTQ4ZjA5OGViYmUgbGVnYWN5LXRydW5rCisyNjgwOCAwOGNjYjBmM2UyZDQ5NmM3YmU3NmFiM2IzZDMxNjI2ZWVhZjRkZGIyIGxlZ2FjeS10cnVuaworMjY4MDkgNDUzZTU5YTQ3MmIyMWEyOGY5YjE0NzBiYzMyMDNlZTM0NDM1YTQ3ZiByZWxlYXNlMjItbWFpbnQKKzI2ODEwIDcyZjBjMWEyNDVmOGRmOTRmMGYxNjdhMmYzOWQwYjIyM2EyZGY2NjggbGVnYWN5LXRydW5rCisyNjgxMSAxY2M5M2Q1MDFiNDVmMDZiODRiYmVjN2NmYjQ3MGVhYmRkYWI1MWFlIHJlbGVhc2UyMi1tYWludAorMjY4MTIgMjczZGQyNTA4YzU3ZTFiNjU3ZDY2YjhmMmM0NzgxNjVmOTUzNzk3NCBsZWdhY3ktdHJ1bmsKKzI2ODEzIDZiYWUwYzMxYmJmYjI2MTA0ZmEwZmY4ODRjYWJhZDc1N2Y4YTI0ZDcgbGVnYWN5LXRydW5rCisyNjgxNCAyNGUyMzM0ZTdiYjJmOGFmYjZmMTg1YmY3ZjMxZjg2OWE4MThmZWU4IGxlZ2FjeS10cnVuaworMjY4MTUgMjZiOTI0YWQyNjZjZmI1NmFmN2FhNzdmYjQxMjE2YzlmMzUwYjIyYSBsZWdhY3ktdHJ1bmsKKzI2ODE2IGY5OGEyN2NiOTI4MjM5NDJlNTJjNjU0OWFkNTEyMDE5NjY0YjgwMGIgRFNfUlBDX0JSQU5DSAorMjY4MTggNjhjNzc2YmE1ZWE1YWQxYzVkZmJlZDVjNDliMTgxOGFjNTIwN2NkMiBsZWdhY3ktdHJ1bmsKKzI2ODE5IDY0ZWIxMTliODE2ZDVhZDVmNTE4MmJlOTZiOTAwN2RmMDg5MmQwN2YgcmVsZWFzZTIyLW1haW50CisyNjgyMCBkZGI0MWU4N2Q2NTE0Zjc2MGUyNzg2ZTNkOWQ2NmE4ZWMyNTVkY2FkIGxlZ2FjeS10cnVuaworMjY4MjEgOGE0NWJmZDZiNDcxN2MxYjQyNWE1YzhhNDU4MzgzNTdlMjMzOWU5ZCBsZWdhY3ktdHJ1bmsKKzI2ODIyIDdlNTE0MWI2OGM1ZjFkMDRkYzBiNzc0MTA3ZGY3ZTk5ZmFkYWMyZWUgbGVnYWN5LXRydW5rCisyNjgyMyBkOWJiNGVjM2U3NWIzMjc4ODJiMDAyMDM5N2MyYmUzZmY2ZTVmMTcwIGxlZ2FjeS10cnVuaworMjY4MjQgZTQzYWFmZmZiMDNjNjc2ZjFhNjFhOWVhNDhkZWZiNzU5NmVlZjliYSByZWxlYXNlMjItbWFpbnQKKzI2ODI1IDYxMzQ4YWEyZmY5ODZkNWJmZDZjZjdkOTk4NzdjOWViOWJjMzZmZGYgbGVnYWN5LXRydW5rCisyNjgyNiA4MTgzODU5ZGNmY2QyMTUxNTVjZmU4MTJkMTBjZDk1MmRkM2YzMWExIHJlbGVhc2UyMi1tYWludAorMjY4MjcgYmU1NGJhNGIyYzQ0MGU4ZWM5NzIzMTM2YmJkY2M5N2E4YTUwM2I1ZCBsZWdhY3ktdHJ1bmsKKzI2ODI4IGMyNTU2ZTMwZmNiNDgyYWRkMGVhMjAxZGM0YjA3Y2M5MTk1MDUxMTAgcmVsZWFzZTIyLW1haW50CisyNjgyOSBhYjIzNDEwN2UyNjczMjdjNTMxNjliZGZlNjkyYWM3M2U5MmI2NjNjIGxlZ2FjeS10cnVuaworMjY4MzAgM2FiZmYxMWY4MmIzNTM3NTY5YjgwZDJjYTE3NTdmZGZhNzFhODAyOSByZWxlYXNlMjItbWFpbnQKKzI2ODMxIDEwYzgyMDA4M2MyZGMxNjQ0YzgyZDBjODgxNDMxMTVkMDI2MmQ4ZGYgcmVsZWFzZTIyLW1haW50CisyNjgzMiAxMmI0NjU3NTg3MjlkYTI5MDA0NGM3ZDk0ZGFlMmQ2ODE2ZGRlMDU5IGxlZ2FjeS10cnVuaworMjY4MzMgYmQxYzRiNjVkYjc5MTA0ZDQ1ZWZjN2ZiMWZiZjgyNDc5MjE2YmM2ZCBsZWdhY3ktdHJ1bmsKKzI2ODM0IGEyMTk4ZjcyZDVlYmVhMDA3ZjNkZjVmMWVmNWE3ZDNlMjQ4YzVmMzIgbGVnYWN5LXRydW5rCisyNjgzNSBiZTBiYzU1ZWNmNGEwZjYxOGZiMDg1YjgzZjQ3MTQ0NzQ1YzZmZmZmIGxlZ2FjeS10cnVuaworMjY4MzYgMDc3ZDQ0YjA0MDViZTZiMjBjYzg1MzNlZmNjNjVjMTIxNmM2NzAxYyBsZWdhY3ktdHJ1bmsKKzI2ODM3IDM0NGFlNTMxZTZhNzNlMjI3MTE3MTc5YmVhMDRhZTMzZDVhMmM5YjQgbGVnYWN5LXRydW5rCisyNjgzOCA3Y2UwMTg4Mzc4ZWYzYThkODY3NjFhOGJmMTY1MTUwZDc5ODhlNjkwIGxlZ2FjeS10cnVuaworMjY4MzkgNTBhOTdhOTYyOTk4N2EwMmNiNzEzNjk5OWYzMjAxYzY1M2ViYWYxMiBsZWdhY3ktdHJ1bmsKKzI2ODQwIGQzZTAyNWVmMWZiMmRmOThjMDg2MWExOTc5ZGQ0MDA0NmMyMGQ3ZGIgbGVnYWN5LXRydW5rCisyNjg0MSBkMzViOWZmZjgxZTA5YjI1ZmUzN2I1ZDU5ZTkzZTljY2Q4M2UzNjI1IGxlZ2FjeS10cnVuaworMjY4NDIgNzMyNDlhYmVkNjgzNzYwZGIyMThiNmQ2MmRmMjZmYThhNTgwOWMwNSBsZWdhY3ktdHJ1bmsKKzI2ODQzIDVkNzNhMmM3ZmFlNjNmZTYxMzI2NjZiYWNjNmM5YjViZTMzZDkxZTcgbGVnYWN5LXRydW5rCisyNjg0NCBkOTE3ODU3ZmQzMzRlYTllOGQ1Mzk5MDU0YTVhNDFiY2I3MDEyYWZjIGxlZ2FjeS10cnVuaworMjY4NDUgNWJkMzBhMzY4OTdiMWU0NzYwZGM0NzlkMGYxMTFiMTkzODg1ZTJiMiBsZWdhY3ktdHJ1bmsKKzI2ODQ2IDE3NTYyMTA2YzJhMDQ2NjgyZDcyNjg3YmFmMzIwNTIzYjMwY2RkN2EgbGVnYWN5LXRydW5rCisyNjg0NyBjZGQ1Yzc1MTgyM2NkOTI4ODVlNWExNzZmYTExNWVmOTE0MjZmZGE5IGxlZ2FjeS10cnVuaworMjY4NDggYzc2ZTVjMWM2ZTQ1NDViNTc0MGI0NDNiNmM5MWFmZjg1NzJkYmI5OCBsZWdhY3ktdHJ1bmsKKzI2ODQ5IGJiNTc5MGM2Y2RhYTE0NzM3NDVlYmFlMjY1MWFiOWMwYzAwOTkwMjcgbGVnYWN5LXRydW5rCisyNjg1MCA5YjFlM2I3YmQ3ZjEyNDI2OWJjMzY4YjkzYzI5NjQzNzcxZWFhODdkIGxlZ2FjeS10cnVuaworMjY4NTEgYmU2NTM2ZjJlYmVmYjE2MzMyMjViYmE2NmIzNjMwMTM3ZmExODYzMyByZWxlYXNlMjItbWFpbnQKKzI2ODUyIDI2N2FlNTllZGRiNGM0YjVlNTZiMTU2OGU4YzVkOGE0ZWRmMGRlYzggbGVnYWN5LXRydW5rCisyNjg1MyA2ODRlZGQxNmJiZDgxZmM0ODdiMmNmMzgwNmI0MGUyZjVhOTE2MWM2IGxlZ2FjeS10cnVuaworMjY4NTQgODY3M2MyZWRmMjFjYmU0MDRhNTcxY2RiNDMyZTAyYWYzMGEwZmNiNCBsZWdhY3ktdHJ1bmsKKzI2ODU1IGJkYTk4YmFjNjk1NjAxYzJiYmRjNDdlMjZlMzViMzk0M2E2NGI5YTUgcmVsZWFzZTIyLW1haW50CisyNjg1NiAwYzQyY2VlNDc1ZGZmMzVkNjJiMTEzYzRmNDViZmNjYWU0YWZiNGM2IHJlbGVhc2UyMS1tYWludAorMjY4NTcgNzZmMzc2YmVhNWU1YTlhOTE4ODUzNmQxMWQ1Yzc1MTZjOGMwOWVlOSBsZWdhY3ktdHJ1bmsKKzI2ODU4IDY4ZTNmM2RkNGQ0ODg0OTE5ZDk1ZGMwOGQ0MjkyYmYxM2I1OTliZjAgbGVnYWN5LXRydW5rCisyNjg1OSBmNDMxODg4NWNlOWE2MzI4OGIxMDA5ZWEwOTdjOWMxZjBjZDY5MjhjIGxlZ2FjeS10cnVuaworMjY4NjAgOTg5YTdhZGY4NGVmYjM1N2M1MTc1ZGNjYzE4NDRkZmY0Y2RiMTZiNSBsZWdhY3ktdHJ1bmsKKzI2ODYxIDg1NjE1ZWE2NWIxYmY4MGFmOTY1YzY3ODY4NzQwNjRkNmU1Yjg3ZjMgbGVnYWN5LXRydW5rCisyNjg2MiBkYmE0ZjUxNzY0OTJmNDU0MWU1NmI0Y2QzMGEzMTI1ZWM0YjcyOGRkIGxlZ2FjeS10cnVuaworMjY4NjMgYWQ5MDRkYjczNDRhOWY5NDFlYTBmZmEyYTM4NTFjZjlkNjhiYzhmNyBsZWdhY3ktdHJ1bmsKKzI2ODY0IDYyNjg4ZDZhYzM4NzljMGNkN2U1ZTRjMzNiMDRlYTM2MmQ0ZTY3MWIgbGVnYWN5LXRydW5rCisyNjg2NSBkYzNhN2Y5OGQ0ZWQxMmYzZTg2MmJiNTIyYmFhMDI0YWMxMWU3YzI5IGxlZ2FjeS10cnVuaworMjY4NjYgNjMxZjkyODY2NzMyOWJiNmM2ZDI4YWRkMWFmZjliMzA4NjE0YzNjNSBsZWdhY3ktdHJ1bmsKKzI2ODY3IDE3MmI2MjUwZDUyNjAzYmY3NzU4ZTMzNGMyN2RmYjJlNjc2ODVkNDYgbGVnYWN5LXRydW5rCisyNjg2OCA3NmVmNGI5NDJiMTMxYmQ4ODNjZTFiNTdjNmY2YjMwM2I3ODNkZmQ5IGxlZ2FjeS10cnVuaworMjY4NzAgN2FiOGMzODExNzIzOTcxNGVlNjVkOTcyOTgyYmNiZDUyNzAzZDk5NiByZWxlYXNlMjItbWFpbnQKKzI2ODcxIGM0NGIyMWZjZDM4YWQzMmU2Nzg1MzRiOWJhZjRmNWU3MjUxZDYzMzEgbGVnYWN5LXRydW5rCisyNjg3MiBiMWQ4NjgzNTIxZWM0ZjM3NGZhOTJhNzc0YWMyOWVhZTg0YzViZWUwIGxlZ2FjeS10cnVuaworMjY4NzMgZmJhMDUzNDdiYjMwYWQ3YWEyNmNhNmJlYWFiNWJiMGM5YmI4ZjUwYSBsZWdhY3ktdHJ1bmsKKzI2ODc0IDgyMzA5YzczMjVlZmUzNjg2YzgxYTA4OTY2ZmJkOGJhMTcxODQ1OTEgbGVnYWN5LXRydW5rCisyNjg3NSA3YmMzMWFkOTQ3N2NmNWY2NWUwMjY2NzQ0NmE4ZjhlNjNlMzcwZjdkIGxlZ2FjeS10cnVuaworMjY4NzYgMjY3NWIxNThiZjY3N2RmZDkzMDllOWZiNDI2YzQyZWQ1YjNlOTIyNyBsZWdhY3ktdHJ1bmsKKzI2ODc3IDM1ZjAxYmYzNGQ2MDQzNzZlOTM0MjRlZGU3ZTg2YjU1ZTc4YWY4OTkgbGVnYWN5LXRydW5rCisyNjg3OCA5ZWVhNWVkZDg1N2Y2YWU0ZTNjMTM5YjAzYzdkNTY1ZTY3YjEwMTc4IGxlZ2FjeS10cnVuaworMjY4NzkgYjM4OThkMzI2NTE5ZWUyMzkwNjQ2Yjg1Njg0ZTdmYTY3M2IzZjY4OSBsZWdhY3ktdHJ1bmsKKzI2ODgwIGJmZWExNGY4ZmYzNTNjNWZmMjgwMTVjYjAxYmJjNGU0NWFjMzZiNjcgbGVnYWN5LXRydW5rCisyNjg4MSA3M2MwMWIxY2JkYjJjMDE2MWUzMWQzZDI0YzVjMDY5MWI0ZThjMTE1IGxlZ2FjeS10cnVuaworMjY4ODIgYzAzZTg4OTlkNGIxOTA0NDJmZDc3MTc2YWY2OThjOWYxNjVhYmYxYSBsZWdhY3ktdHJ1bmsKKzI2ODgzIDAwMTQzODdmZDYwNDRkMTEyNTQwM2JmZTI1N2QwNDJkOWNhYzBjNDggbGVnYWN5LXRydW5rCisyNjg4NCBiODcyOGQ1OGU5YzMzM2ViMGU4NTY4NjIwYmRlYjQzMDMyYmRmZGM1IHJlbGVhc2UyMi1tYWludAorMjY4ODUgYTkwZmFhNWY5NDE3MWM3MDcxMTUzYTcxMzlmYzAzYTY2OWM0YWFiNSBsZWdhY3ktdHJ1bmsKKzI2ODg2IDJhZmYxMmUyYTk0ZjVjOWRlMzU2OTcxMTdhZmMxMmYxMTc4NDBkMGYgbGVnYWN5LXRydW5rCisyNjg4NyBiNjAyZjIyOTFiNWZkM2ZlNDg3ZTg1YjcwMGFhMGJhNWIwMmU0ZmJlIGxlZ2FjeS10cnVuaworMjY4ODggMGUxNzcxZmMwMTJmMjZkZDczYzQ4YTRmNWY3ODNmMWVkMmEyMmI2NyBsZWdhY3ktdHJ1bmsKKzI2ODg5IGM3OWIxZTU1NTJlODQ5NTlhZjI0ZWFjODkxMDUxY2I3OGE0ZTg2NTUgbGVnYWN5LXRydW5rCisyNjg5MCA5ODgyN2E5ZDYyYzMyZWFjNmI5NjE4ZWI4MzQ4ZmYzNTRmODczZTdmIGxlZ2FjeS10cnVuaworMjY4OTEgYjIxYjY5NjU4NjYyODliMGQzMzkxMGZjMTY0ODUyZjdhNGJhNzkwMyBsZWdhY3ktdHJ1bmsKKzI2ODkyIDhhNDlhMTNmYjI4ZGY3MGUzMzQ3YjczYjc3ZWUwYzhmNTRjOWFjNWEgbGVnYWN5LXRydW5rCisyNjg5MyBjZWNhMjgxNjc4MDA4YTNkMTM0ZGQxMzVlZmI2MDVmYzJiYmQyYjg3IHJlbGVhc2UyMi1tYWludAorMjY4OTQgZWNlZjY1ZTU3Y2M2YmQ5OWI0ZmNlMDJmOTFkYThmMGI4Mjc3MTAxYSBsZWdhY3ktdHJ1bmsKKzI2ODk1IGE5OGU5M2VhZmVmN2UwM2VlMGMzM2EzZjBmMzU2Yjk0ZTJjMjliYzMgbGVnYWN5LXRydW5rCisyNjg5NiAyNjAwY2Y3ZDMzYWY4MjNjYjZiOTQzYzJmNTZjZGQ1Y2NjYjM5ZTVlIGxlZ2FjeS10cnVuaworMjY4OTcgYTRlZmI1OWY4NzY3MTgzMjU0MGQzNjNkM2RjZDYxZjhiYjdhNTgwZSBsZWdhY3ktdHJ1bmsKKzI2ODk4IDcwYjVlMTExY2NiMDkwMmY3MjBiNjE5ZTBjMTc0ZTcyZDI5YWNlMzcgbGVnYWN5LXRydW5rCisyNjg5OSA4ZDk0NmM5MzM5ZTgyMTAxZWJhYjdlYTcxODM5MmVhMWEzZDE2YzhhIGxlZ2FjeS10cnVuaworMjY5MDAgMGE0YzkyNTU5YTBiNDE2NjRmMjFhYzA0ZTcyYzUxMWRkMzQ0MjU3YyBsZWdhY3ktdHJ1bmsKKzI2OTAxIGZhOGZlMmU5ODA2MjVhZTY4YmI1ZDNmNDNjNDdlOWNmMDVhMjY2OGYgbGVnYWN5LXRydW5rCisyNjkwMiA5ZTY3YTBkNTcwNWZiYWI5ZmI2YWFmM2FjMjY5NmJjZjg3MTcyNDAzIGxlZ2FjeS10cnVuaworMjY5MDMgYjQ5MGZmMTcwNmQ5NjQ2MmYzMjlkOTE0ZjExNzNhMjU5MWE0ZmRhZSBsZWdhY3ktdHJ1bmsKKzI2OTA0IGJkNTg5NDZhYTUyMWIyZWNmN2VlNGY1NWQzOTgxMjJmNzFhM2U0NjYgbGVnYWN5LXRydW5rCisyNjkwNSBmNmRlZDZlZmFiY2YzMDkwMjYwYjNlZDkyMTcwZTcyYzIzOTBjZDU0IGxlZ2FjeS10cnVuaworMjY5MDYgMjIwYjk4ZjA2NDE1NjRhMDU5N2I0Njg0YzNiN2IyZDExMjUwNWI4OSBsZWdhY3ktdHJ1bmsKKzI2OTA3IDQwYTAzMTE1NTg5N2Y5YmViNzJmZjdkMGE4ZjNlMjY5MWNmYmMxZTUgbGVnYWN5LXRydW5rCisyNjkwOCAxYmYzNGY0Mzk0YzUxN2U0MzQ0NjAxMzI1ODczNGEwYmY2NDk5MDAzIGxlZ2FjeS10cnVuaworMjY5MDkgY2UxZGEyZjk3ODA3NmU0YzY5YjI5YzQxODcxYThkZmExMTViM2ZlYyByZWxlYXNlMjItbWFpbnQKKzI2OTEwIDg4OTAzODUzZjE4MGVlNmJiMmUwYzFlODA4N2NiZDI4OGIwMjQyNGYgbGVnYWN5LXRydW5rCisyNjkxMSBiNzRhZmRkMDcyZWIwYTE4OTlmY2Q0ZjE2NjVmOGE4MjBmYThiOWExIGxlZ2FjeS10cnVuaworMjY5MTIgMzAzZDgxZTE1ZTcwYzNhMjQyN2E3MmFlNjgyZWYwNzY5NWJjMjhmNyBsZWdhY3ktdHJ1bmsKKzI2OTEzIDQ0NmIyZjJjMDFkOGFhY2EzMjU3YWIzYzFjMmMxMzg1M2Y0OGFmNGMgbGVnYWN5LXRydW5rCisyNjkxNCBiM2M1MGY2OWYzOGJmMjM4YmRkNTYwZjdkMWFlNTg4ZTU4YTNkMjUwIGxlZ2FjeS10cnVuaworMjY5MTUgYTY3MjQ4ZmQyMzcwMTBmODJhNTczNGY5ZTdmMTg5MTEyNWI5ZGZkMCBsZWdhY3ktdHJ1bmsKKzI2OTE2IDNiMmE3ZWUwODY2NzYxZGQ4NDAzZGU4N2U4ZDU1NDZiODIwNTc0OGMgbGVnYWN5LXRydW5rCisyNjkxNyAzYWVjZGJhNDU1Mjg1YTBlNmRiNDc0NGZjNGI0N2FhM2I4N2RiYjc3IGxlZ2FjeS10cnVuaworMjY5MTggZTUyNDJmNThhNWI2ZjkwZDg2ZGNkYTczMDI0MTAxNGQ0M2M5YmMxMSBsZWdhY3ktdHJ1bmsKKzI2OTE5IGM0ZmEzN2Y4OTc4Mzk5MzIxZTQ4NjYyYTk5NDYwZTNiNzdhNzQzNWYgbGVnYWN5LXRydW5rCisyNjkyMCBmZWNjZTAxNzMyNTRmN2VhMmRjZWEyYWE4Mzc1MDIwZjkxZjczZGM3IGxlZ2FjeS10cnVuaworMjY5MjEgYTM5OWQ4YjEzYzJmNDU4YjQ5NTEwYWQ4MDU0NmY3ZTJmYTU1YjcwYSBsZWdhY3ktdHJ1bmsKKzI2OTIyIDVkMDk1ODk4ZGFlNjU5YmZkMWFmYzdkZmFiZDU0MjhkNDI5NTk5YjUgcmVsZWFzZTIyLW1haW50CisyNjkyMyA1M2M2MTQyODhlYWI5NGY2YjBlZGY4YTQ1NzA4NGM0YWZhNTQxNzBhIHJlbGVhc2UyMS1tYWludAorMjY5MjQgM2E0NzkzNTc1ZWNkN2VmNjhjZWRhZWUyNTdlMDllYjk2Njk5OTYwYyBsZWdhY3ktdHJ1bmsKKzI2OTI1IGM1ZThmODlmZDM1ODY4ZDUxZmMyNjVjNDlhNTQwMWUwNDFhNjZmNjAgbGVnYWN5LXRydW5rCisyNjkyNiBlYWNhNjI3ZjJhNTQ2Y2U4ZThmYzU0MmU2ZjliNzIyZWRhY2RmMzQ4IGxlZ2FjeS10cnVuaworMjY5MjcgNTA4OTY1Y2U1ZTQ3MmY5NmQ5MjZhYzcxMmUwYjI3YWJhNDU4Y2YxYSBsZWdhY3ktdHJ1bmsKKzI2OTI4IDNmMjQyY2RkMDkwNGVlMTE1YzVmNDY1ZTUwYmNmY2ZhMTAxYThjMWIgbGVnYWN5LXRydW5rCisyNjkyOSAxYTY3ZmJjN2EwNjY4MjMxYjk4ZTQ5Mjk5ZDQ0ZGFiMWE4ZDc3ZDNkIGxlZ2FjeS10cnVuaworMjY5MzAgY2FmNjJlZWY3NzIzZTRjODc4NDRmZDdhNjBhNWQzZDQzYjdhMzhkYyBsZWdhY3ktdHJ1bmsKKzI2OTMxIDNkODNmYWJlZjBhNDBlZTVkMWYwZGNjNDliNzZhMzNlYzEyZWRlZmEgbGVnYWN5LXRydW5rCisyNjkzMiBhZTBhM2IxNGQyZThiZTc4MDE0ZmVkNTNjOGRlMmRkYmJjMGY0ZTMyIGxlZ2FjeS10cnVuaworMjY5MzMgZGMyNjIzZTAyNDNlMjhiZjc3ZmFlOWNlZjUwODI1YjJlMTYxNmMwZiByZWxlYXNlMjItbWFpbnQKKzI2OTM0IGI2YzMyYmViNGRiY2M5YzgwMjkwOWYzN2NiMjVmYTg0OGEwZjI5MDkgbGVnYWN5LXRydW5rCisyNjkzNSBkNWFlNmY3MTRjZDUxY2M3ZDJhZjk3MjQ2MGZjYmYwMGIxZWMwYTQwIGxlZ2FjeS10cnVuaworMjY5MzYgNGQ4ODRhZDgwZGRhNTU0ZTk5ZTg3ODg1MTAyYzM0NGUxMmNkYzVlYiBsZWdhY3ktdHJ1bmsKKzI2OTM3IDBhYzY1M2Y0NjlmMDcwZDQ0YmE1YWJiOWJiNjU2NjU0MGZhNzAyYTUgcmVsZWFzZTIyLW1haW50CisyNjkzOCA2NjhjNWNhNGUwZDQ4YzYxNzJhNWNhYzEyYTY5MjFkMTZhMTQxMzVkIHJlbGVhc2UyMi1tYWludAorMjY5MzkgOTlkZjI1NzE0MmY2NDM4ZGE3ZTFjNTEyNGExZTIzNWU5YjI5Y2Q3MCByZWxlYXNlMjItbWFpbnQKKzI2OTQwIDdkNGM1ZTRhMGNjYzI2Zjk5ODUwYWU2M2NjMjQ3N2Y3YTgyYTQzMWMgcmVsZWFzZTIyLW1haW50CisyNjk0MSA4ZjdiNzljZGEwZDMyMWQ3ZTgzZWFkNjM1MTYwY2Y3ZmIwYzM2NmIwIHJlbGVhc2UyMi1tYWludAorMjY5NDIgYzM2NzYwN2JiNWY3ZDIwNDg5ODY1YjBhNDgwZTFkNmUxMmU0OWI3YiBsZWdhY3ktdHJ1bmsKKzI2OTQzIDRlM2VhNTVmN2UxMThjYTZlMjdiOGU4NWE3ZGUyMjM3ODA4YTRiMjcgbGVnYWN5LXRydW5rCisyNjk0NCA3ZGJhODBkNThmZmQ2NjQ0MzY4OTA5YzZmMzg2NmM4YzAzOGRiNWJmIGxlZ2FjeS10cnVuaworMjY5NDUgYmViNTI3MTU4Y2JjZGU3MmMxOTg1N2Y0MzgwNzJkMzM1MTczMjA2OCBsZWdhY3ktdHJ1bmsKKzI2OTQ2IDE5MGI2YmMxOTEyYTVkNWQ2MmQ3OWJjOThlNWE2MmYxNzY2MDBhOGQgbGVnYWN5LXRydW5rCisyNjk0NyAwNjAyYzdlNmI5NGQ3MjEzYTRlZDI3NzZhZTBjYzkwNjJjMWEyYTE2IGxlZ2FjeS10cnVuaworMjY5NDggYzZhZjU3NGJkYTI5MjhmMWNkZDE4ZjM2M2Q5M2M5ODdkZjUzMDBiNCBsZWdhY3ktdHJ1bmsKKzI2OTQ5IDBlODM3MGU3MDg4ODYzY2QzZDE1NWEwMjc2N2E2ZThkZDM2NTEyYTUgbGVnYWN5LXRydW5rCisyNjk1MCBmYmE1N2U0MGY1NDdkMGJkNjM5ODFkZWFmNTE5MDQ5MmFkOTRhZjNmIGxlZ2FjeS10cnVuaworMjY5NTEgZjEyNDkxMTcxNjM4NjAzODIxYjhiODI2YmM1M2MwMWYzMzhlYmFjNSBsZWdhY3ktdHJ1bmsKKzI2OTUyIGFiOTRlYzRhZjk4YTkzNGY2ZDljN2ZlNjRiMDE4ZTMwODM1MDEzN2QgbGVnYWN5LXRydW5rCisyNjk1MyBiMDY1OGZlZWY5MzllMTZjMjRhMTY1YjIyNjYwMzZlZTYxYWRmOGY4IGxlZ2FjeS10cnVuaworMjY5NTQgYTRiYjE4MjEyYjQ4MGViOTNkMWJiNzU4YTgzZDUyZGI1MjkwMzg0MiBsZWdhY3ktdHJ1bmsKKzI2OTU1IGFjYmU4ZTdmOTlkOTNiN2ZmMzRkYzJkZmJlODIwNjY1NGZlMWFhYWUgbGVnYWN5LXRydW5rCisyNjk1NiBkNjdmMWUzYTlmMWFiZjU4ZjJiM2FlMmRkMzNiM2JhMmU4ZWMxYzM0IGxlZ2FjeS10cnVuaworMjY5NTcgYzg0NGZjYzNjOTUyM2ZmYTdjN2IzNjgzMTZkMGExYmI4M2JmZDBmYiBsZWdhY3ktdHJ1bmsKKzI2OTU4IGMzYTY3Y2U1ODI0NWY0MjU0YTA5NGM4N2Y1Zjc0NThmMjQ3M2ZjMjQgbGVnYWN5LXRydW5rCisyNjk1OSA0MzgwYTdhYTE4ZGM2Y2RlYzhkODg5NDU4YzVmM2ViOTk3ZDFhY2JkIGxlZ2FjeS10cnVuaworMjY5NjAgYzJiYzJlZDE0NWY3MjdjNWMxYjQzNmIwOTQ0MWNmM2Q3ZmQ4NTIwYyByZWxlYXNlMjItbWFpbnQKKzI2OTYxIGVkMDA3ZTQ3YjNhMTM5OTg5MGIyMmFiMWFmMGU3NGYyOTczMmFjNTMgbGVnYWN5LXRydW5rCisyNjk2MiAyYjFkNjE3ODFkNjM3NDg5NzEzMjdiNmRlMDkxZDllZTJhNjhkOWYwIGxlZ2FjeS10cnVuaworMjY5NjMgMTk3ZmIzMDVmYzVjY2NmYzgyMzQyY2Q0NzIxMDMwM2IyOWJjMGM3MCBsZWdhY3ktdHJ1bmsKKzI2OTY0IDkwZWU1NWI5ZDcyYWQxYzM3Yzc5MGMyOWIwMTVmMmE1MGE2YzgzNTcgbGVnYWN5LXRydW5rCisyNjk2NSA3ZTQwMDU4Mzc1NWZmNDgwNmNkZGNlMGQ0NWMzMmY4YmVhNzgzNGI0IGxlZ2FjeS10cnVuaworMjY5NjYgZGJhYmIxZjdlZDNhNDRjYjc4ZGI3ZDVhYTg4NzVhNjdkMjgzNjkwZCBsZWdhY3ktdHJ1bmsKKzI2OTY3IGNmZmQwOTFmNTZkMGVmMDVhYWFhZjhlNWY3ZGRkNWVhMTk1MDIyYjQgbGVnYWN5LXRydW5rCisyNjk2OCBlZjhkNDU2MDY3ZmQyOGM3NjI4NWEyNzliNTExNzI2MTEzNzQ1NWQ5IHJlbGVhc2UyMi1tYWludAorMjY5NjkgNzEyMDYyMGY0MzJiZDA5MGE2MWVmODA4YWEwMWRkMGI1MjM2NjBlOCByZWxlYXNlMjEtbWFpbnQKKzI2OTcwIDVlZGVhNzUyYTQyMTlkYzJhZDk1OGQ2YmU4ZGRiODVkMDA1MzNhNjYgbGVnYWN5LXRydW5rCisyNjk3MSBhNjhmYWEyNjg1M2NlNzM5YWVlYTFjMDA3ODA2NTM1M2M2MWY3ZmU1IGxlZ2FjeS10cnVuaworMjY5NzIgZWMyN2FjMTlmOWUzYzFjOWYwOTgzYzBiNTRmMTc4YmIyNzExOTg0MiBsZWdhY3ktdHJ1bmsKKzI2OTczIDQ1NmQ1ODQ1MWZlZWE3NDdjZTExZTg3YjE5MDg1Y2NlMjFmMzY4OGEgbGVnYWN5LXRydW5rCisyNjk3NCAwYTI4MThjYzM0MmNlNGQ0MjE2Y2Y2OTFlNjM3NDIyYTdmZDVlZjBjIGxlZ2FjeS10cnVuaworMjY5NzUgMjFiMWQ3NDJlNGE3MDA5Y2RhMDY1MWRkNmY4ZmE2YTZhMzIwNDFmYSBsZWdhY3ktdHJ1bmsKKzI2OTc2IDNjYWVlMjk1ODM4N2NkOTJmM2RlNDYwYjNiMmRmOWE2MWNhZGYxNWEgbGVnYWN5LXRydW5rCisyNjk3NyA0YTFmNWJkNDg2ZmY5ZjgwZWJiZWZiMTE3MWQxNWFmOGMxMzQ0MmU4IGxlZ2FjeS10cnVuaworMjY5NzggZjRlYWIyNjhlNjE3ZTkwNDkyNjFmYjQ4ZGUxMzFiZjZiNjM5MWIxNyBsZWdhY3ktdHJ1bmsKKzI2OTc5IGE2NzE1YWQ0MTZlNWRhMmVlZjBkMGZhYjNlMThhODI5ZjdhNjJlMDkgbGVnYWN5LXRydW5rCisyNjk4MCA5ZGE4NTgzN2ZmMjUwODRiM2UzODhhMjNkNzA4ZjZiZTA0MTRjNzMzIGxlZ2FjeS10cnVuaworMjY5ODEgM2UzYjNjMTc3MGFjMTFiNTlmY2NkNTkzMTcxZTZiOTAwNTFmNjFhMyBsZWdhY3ktdHJ1bmsKKzI2OTgyIDU0NDgzYmMyMTg3MWVmODViYzdhMzJjOGQzM2Q3NjFmYjlkOTc0NmEgbGVnYWN5LXRydW5rCisyNjk4MyA5MjYyNmU1YWIwNjczNTRkZDFiOWRiMTJhNzNkZTllMWU4NmNhZWZmIGxlZ2FjeS10cnVuaworMjY5ODQgYTFkZTBiYWI1NDc1MDkzZjkwNWEyMjVmNmEyNjMzMDA0NWNjMWJmYyBsZWdhY3ktdHJ1bmsKKzI2OTg1IDg3ZjQwMzc3Y2Y1NDM4YjUxMDYxOWRiYzc4M2Q0OTE4MTFlMzMyMmUgbGVnYWN5LXRydW5rCisyNjk4NiA1ZWRkODA3MjZkOTY2ZmRhMmU5MGRkNWJmZTRiMjdjNGIzYjJlNWE1IGxlZ2FjeS10cnVuaworMjY5ODcgYzAwZmViYmUwOTI5NWUzMDBkMTgxNjc2NjUwNTc4MjM1MGRjZGNkMSByZWxlYXNlMjItbWFpbnQKKzI2OTg4IGFlZDM5Y2FmOTg2MGRkNjA4YmIyYzg0ZjgxZTM1NzdjZmI1NTIyZjkgcmVsZWFzZTIxLW1haW50CisyNjk4OSA2NWNmNDc4OTUwZmY1YzNhODgxYTVlYmRkYTg3NTMzOTZhYmU1N2VhIGxlZ2FjeS10cnVuaworMjY5OTAgNjNkMTQxNDFkZDEwZDAyNTVjY2ZiNmMwYzRjNzc3NmEyM2NhZTgzZCBsZWdhY3ktdHJ1bmsKKzI2OTkxIGE2YTc2NWM3ZDMzYjRkNzFhNzYzYjk2YTBkNmZhZmQzMWViMDZhODYgbGVnYWN5LXRydW5rCisyNjk5MiBlYTk3OWM1MjA2YjdlNmI4NzU1ZDkwNzE0MWQzNzk0MzRhN2JlYjY0IGxlZ2FjeS10cnVuaworMjY5OTMgNGE0ZDEyMGIyYjBlMDlhOGY1NmIwNTMyYzg4MzI1N2I1OWQ1YmNmZiByZWxlYXNlMjItbWFpbnQKKzI2OTk0IGFmZTk0NjkxODI2N2ExYzUwNjNkMTIxNjczMTAwZjUyZWRmNjM2ODQgbGVnYWN5LXRydW5rCisyNjk5NSAxYTUyMTYyMzU2MDI4ZDRmM2Y0YmM3OWVmYzkwNGY0MmU4OWY4NTkyIGxlZ2FjeS10cnVuaworMjY5OTYgMTE2NjAxM2ZhYjc3OTUzNmY2NTUzM2E2YTQxODkxNTBlZjMxNTg0ZSBsZWdhY3ktdHJ1bmsKKzI2OTk3IDBlZThlZjdjYTA5YzYzMmUzNzIyYTRkYTZmZTZkMDlmMmExNWJlYmEgcmVsZWFzZTIyLW1haW50CisyNjk5OCBkYmVlMmY2MjhhOTA2NzIyZmM0MzBlMGUzNDJjODI5NWM4YTFhZDBlIGxlZ2FjeS10cnVuaworMjY5OTkgMWU2MGI1ZDQxNDE3YjEzODRhMDk3OGU0OGJlYjdlMzdmNTI1MGRhMiBsZWdhY3ktdHJ1bmsKKzI3MDAwIDg1NTFlNjQyNzI3YzIzNWUxNTczMjljM2I5ZGNlZDY3MjM3YmVkZjggbGVnYWN5LXRydW5rCisyNzAwMSAwYjdmZTBmYTlkYzZiMWMzYTllODJmZDQwMTFjZDRhMTA3NWQzMjc0IGxlZ2FjeS10cnVuaworMjcwMDIgOGMyMTVkZGZkM2QxYTE4NWNmY2I1ZmJkYjFiMTljNzYzYjIxODQ4YSBsZWdhY3ktdHJ1bmsKKzI3MDAzIDk0MGZlZjMyNGViY2I1ZjhjMzEzNDYxZTdjMzgxNTAzZjIxMmQxZWUgbGVnYWN5LXRydW5rCisyNzAwNCBhMjUwODBmNjkwMWZlNmM4ZTkzM2I2YzQzOGQ4YzBmMGJjZTMyYjVhIGxlZ2FjeS10cnVuaworMjcwMDUgMDRhNGEwZTcxYThkY2Y3MDFjODg3NGYwOTM1NThjYjI4ZTk1NjAzMCBsZWdhY3ktdHJ1bmsKKzI3MDA2IGM2NDYzYWZkOWYwODYwYjg0M2JhZWYwMWUyMGM5NTNiYjgyYWVhZmUgbGVnYWN5LXRydW5rCisyNzAwNyA3MGQ3NjgzMzU1MGIwZDkzNTk1ODk0NTgwOGZkOTY0YTZkMjQ1ZGZiIGxlZ2FjeS10cnVuaworMjcwMDkgM2ViZDM3NmFhNGNiNmI3OTc1MjUxYTkxZjA5ZGEzN2IzNWZkMzNiNCBsZWdhY3ktdHJ1bmsKKzI3MDEwIGUxZTkwYjBmMWY0NTAwYmI1NWNiZTMwMjk4ODYwM2MxY2ViYzg2MzggbGVnYWN5LXRydW5rCisyNzAxMSAyMjBlZDdmZWJiMDAxOWNhNmZhNjc2ZWZmOWZjZmE1NzQyYmVlNzdiIGxlZ2FjeS10cnVuaworMjcwMTIgZWM4OTQ5ZTRlNDZkNzgyNDYyNWQwNmZlZWIyZjMwYmUzY2FjZWI5OCBsZWdhY3ktdHJ1bmsKKzI3MDEzIGI5NGFjYzE4NzQwZTdlNjg2MmVhNzRmMjNjZjdlZTllY2EzZjQ3NzEgbGVnYWN5LXRydW5rCisyNzAxNCBiOTIxOGVmYWU4ZjU1YzhmYmJhYWUyNjIwZjk4NmM5ZTUyNjlmNmUwIGxlZ2FjeS10cnVuaworMjcwMTUgYTM0NTIzMTIxY2Y0NDE0ZTkxYzFjZGFjNWU0M2Y3ZWZhNjQ4ZDUyNyByZWxlYXNlMjItbWFpbnQKKzI3MDE2IGYwY2EzOTM1ZDAxMWRkYTcyZjM4ZGUwNGExNDhmMGM2MWUyNWQ5ZDggbGVnYWN5LXRydW5rCisyNzAxNyBiNDAxNjVhNGVmZTlhZDJiZGIzNmJiMzZkMTBlY2ZkMjg1YmNjYWY5IGxlZ2FjeS10cnVuaworMjcwMTggZWI2YTE2NTFjY2RhMDM3MmY2N2MyZWQ5Y2EzYTYwOTMzN2JhNWMzOCBsZWdhY3ktdHJ1bmsKKzI3MDE5IGI4NmVhZWIwZDdkZDQyYTc3ZTljZWI1NmZmM2EzNjZmZTVjOWYzYmQgbGVnYWN5LXRydW5rCisyNzAyMCBlZTc3MmY2ZTg4MWJiMjM0MjBhMzc3YzZiOTFiMWE2ZWFkZDExNDY5IGxlZ2FjeS10cnVuaworMjcwMjEgYmZkYmUyNWE0NWIwNjg2OGYxNzdlMDhlOGQ3ZWRjODQ2ZjM2N2Q3NCBsZWdhY3ktdHJ1bmsKKzI3MDIyIDVmOTc4MTk2ZmQzZDAyZmYxN2RiOGQ3NjFhZjJmNzA2YjljYzk1ZDIgbGVnYWN5LXRydW5rCisyNzAyMyA5NGFhNGViOWJiN2Q5NDJkMDVmNDIyYmMwY2JhYTRhNWMxMmQyNzcwIGxlZ2FjeS10cnVuaworMjcwMjQgNWM1ZmZmNWRlMjUwZDczYjcwZWYzZTJmNWViYzAxMGIyZDIyZDE4MCBsZWdhY3ktdHJ1bmsKKzI3MDI1IDE4ZDU4ZGUyMDNkNmU4ZGUzMGRmM2NiMzgxYjJhZGRiMjQ2NGEzNzcgbGVnYWN5LXRydW5rCisyNzAyNiBiNWMzZjEwY2U2Mzk3OWQ2NzY3ZjI4YWIyMTJmMjAzZGM0ZDQ0MDM5IHJlbGVhc2UyMi1tYWludAorMjcwMjcgMjdlMjEyMGNiNDc2MzEzZjkyN2I3ZmFmOTRkMjZhZGFhODE4MWM4YiBsZWdhY3ktdHJ1bmsKKzI3MDI4IGU0MTkwNjZmNDA4ZjJkNDJlN2E3MDU3MDJkMDM0YTE2YzU2MzQ2MzcgbGVnYWN5LXRydW5rCisyNzAyOSA4MTBkY2Y5ZDgxYzk4ZGNjZmM2YzExN2UwY2I2MWY4MGIwMTBmMDg5IGxlZ2FjeS10cnVuaworMjcwMzAgNmRjZDRiNmVlNWRhOWU5NGQ5NThjOTcwYzg1ODI4ZTdjNzhhYmFhMyBsZWdhY3ktdHJ1bmsKKzI3MDMxIDJiZWNiNTc5M2FjZDFjOTg2ZmQxZjQyOGI3ZDM5YWQ4YzQ4NGQ2YjggbGVnYWN5LXRydW5rCisyNzAzMiBkYzdkNWMyZDU4NDVhOWMxNmQ4N2MyNTFlMWEyNDA1MjA1ZmZmNzg4IGxlZ2FjeS10cnVuaworMjcwMzMgY2E4NzExOTI1NWViMTc3ZmU3ZDZlNGRlNWRiNWEyZDA2Y2IzMjAyOCBsZWdhY3ktdHJ1bmsKKzI3MDM0IGUzMjE1MmFmZGU0YWJjY2E4OTI2ZDdhMzdmYzc1ODRhNjc4ZWM2OWUgbGVnYWN5LXRydW5rCisyNzAzNSBjM2RiYTkxYWZhNmQxNDJlMzlmOWFkZmUzYmFhODNiMmYxYWY3ZDk5IGxlZ2FjeS10cnVuaworMjcwMzYgOGVmYTUyZTBhODQ0ODU5MzlhMjRhNTQwOTY3OGRhOTkxMGYwOTU2YiBsZWdhY3ktdHJ1bmsKKzI3MDM3IGVkYzQyMzk0MGNkNjYzOWU0NGMxZjFiNWE4ZGM2ZGE1MWZhNTMxMmEgbGVnYWN5LXRydW5rCisyNzAzOCBiOTJmODE5Mzg4NDNmOWI2Zjk3Y2Y3NTBkYTU1OWFmNmUwYTNiYzBjIGxlZ2FjeS10cnVuaworMjcwMzkgMmZjYzZkNGU0Y2QyNjFmMjY1ODY0YTZiNmQ5MTJmNmFhZWRlZDgwZSBsZWdhY3ktdHJ1bmsKKzI3MDQwIGYzNWU3NTFmNWZmMjU4NDY2MTM0YzU5YzAzNWUxYTZiMzkwZTBkMDggbGVnYWN5LXRydW5rCisyNzA0MSAzYTFhYzExZWJlNTBjM2UyMDZmMTU4Y2Q2ZDc2ZmY1NDBjMTI4NGVkIGxlZ2FjeS10cnVuaworMjcwNDIgNzMyYjY5MzE4MTY4YzJjODExOTM0MGUzN2ZmNTA3MjRkNWMxM2Y4YiBsZWdhY3ktdHJ1bmsKKzI3MDQzIDVjNTkwMmRlNWE1NDIxNGYyYmU1MDVkMDkxZWI3ZmIwNjE3MDAyOTggbGVnYWN5LXRydW5rCisyNzA0NCBiMTgzNDhiZGNhMDgzZTMzZTVmNjNjMzEwOTNlOWNhNDVmODk2ZTFmIGxlZ2FjeS10cnVuaworMjcwNDUgZjE1OWVhOTU1ZTgwZWEyYmU0YTMyZmViNDBhN2I1MWYxZmQxNmE0NiBsZWdhY3ktdHJ1bmsKKzI3MDQ2IGUzYTg0MGZhNTg0Y2I4YmU5YzY3Y2FmMmI0OTk5NDI5MjI5MDQ3MjcgbGVnYWN5LXRydW5rCisyNzA0NyBkNTA3YWQ4NjIzNDIzMjM3NjY3OWQyZTZjYmY4N2FhOWUwMGIzZjE4IGxlZ2FjeS10cnVuaworMjcwNDggNjEzNThmODAwYjYxNjkwMjc5YWQxNGY4NGU1MWVkZjRjODBiYjk2YyBsZWdhY3ktdHJ1bmsKKzI3MDQ5IDMyNWJiYjQ5MzdjNWRjOWYzZjQ3MmE1MDk3MjUwNTgzYzBjMzk0ZGYgbGVnYWN5LXRydW5rCisyNzA1MCA4YTlhM2FmZjMyZmM1OGQ0MWQ4OWE5YzU3MzdmZjI5ZjI1Y2EyNjdmIGxlZ2FjeS10cnVuaworMjcwNTEgMTQ5MzhlNzYyNzZhMWE2OTY2MGM5OTM3MjllMTRhNzE4ODU5OGNlMSBsZWdhY3ktdHJ1bmsKKzI3MDUyIGM0ZDJkMzA1ZmQ5ODJhN2RjZTkwMGZmYjk3ZGUxNDQyZGY0ZGIzOGEgcmVsZWFzZTIyLW1haW50CisyNzA1MyBkN2JkN2I3MzI5YTdlY2Q3Mzk1OGI3MjQ1Mzg3NzM0MTQ3MmE3NTVjIGxlZ2FjeS10cnVuaworMjcwNTQgZDZmYWExMzc5NDhkZWZjZDNmNDBjNjQwNzhmZGM0YTA1ZGQzODA1MyBsZWdhY3ktdHJ1bmsKKzI3MDU1IDM5OWFmY2U4NmViMGQ4MDgyNjcwZWYyMDFmN2NiNzAyZTU3ODY4OWYgbGVnYWN5LXRydW5rCisyNzA1NiAzYmRmYzQ1ZDkwOTY4YzljOTllMzZhN2I3ZDQ1Y2E3YzM4ZDUyYzgxIGxlZ2FjeS10cnVuaworMjcwNTcgM2EyYTZhZjkwOTkyODNiZDk5ZjYxZWVjYTAyMTg4MWQyMmVmYzJkZSByZWxlYXNlMjItbWFpbnQKKzI3MDU4IDg5ODMxNThlOWYxMTM0NmVjZWZkZDIwZWMxNWY3ZGMxNzVjN2FlYjMgbGVnYWN5LXRydW5rCisyNzA1OSAwODA1N2E5ODc5MTBiM2Y5NGExYTU3YjZiMTk0MWVkYjY3ZjJmMDA2IERTX1JQQ19CUkFOQ0gKKzI3MDYwIGE1NmY4YzMwYWY3MWM4OTVhZGNjODg2YTBmNTYxYWVlODI3ZTVlMDQgRFNfUlBDX0JSQU5DSAorMjcwNjEgOGI5ZDkxMzA4MjBlZjdlZDg0ZDM2NGMyOTgyMGUxNmFiMjZhODQ3YiBsZWdhY3ktdHJ1bmsKKzI3MDYyIDYyNjZmMWJkMWFiOTNlZmRmMTY4YjQ0ZDI4MzQ5YjNhNzIwYzRmOWQgbGVnYWN5LXRydW5rCisyNzA2MyAwMTk5YWEyNzRjN2JmZmRlODYzNGI3ZmNkOWU2YTFkMWNkNWYxMmNkIGxlZ2FjeS10cnVuaworMjcwNjQgY2NlYWY3OGI4NWRjNzJlMDFjMTBlZmMzYzVhNGQ3NmVlYmVjMGY5YiBEU19SUENfQlJBTkNICisyNzA2NSAwZjU3MGJlNjczNmViZTJlZjRjYjZlNTkyMDI4ODhlZmFmZDA5MmU1IERTX1JQQ19CUkFOQ0gKKzI3MDY2IGMwZThjMDdhZTFkNmNiNTVlMThjMmU5MzllNmUyZTgzZDFhNjlkZGEgbGVnYWN5LXRydW5rCisyNzA2NyA3NzE4YjI3NGFkOGIxMmNkMDJhMGU0OGQzOTljZWExN2RhZGJlZWFlIGxlZ2FjeS10cnVuaworMjcwNjggMThkZGMwMmNlMzZmMzU4MmU5MjA5NDFhNjFhYzJhMDE1MGU4MzNmMyBsZWdhY3ktdHJ1bmsKKzI3MDY5IDY3YjlmNTNhNzgwMTRjYWRjNTE3MGMxNGQxY2YxYWY2OTQxZTUxN2UgbGVnYWN5LXRydW5rCisyNzA3MCA5YTVjNDg1Nzk2MzM5ZWQ2YTBmMGU3MzljZWNmYmI5YTdjMzMwZjRhIGxlZ2FjeS10cnVuaworMjcwNzEgZDRmNmUyYWRkZTQ4NDZjMjA3ZTI5MWExNjJkODczMDRjODNmZWMyMyBsZWdhY3ktdHJ1bmsKKzI3MDcyIGFiZTFiYjc2ZWU0NDc0NDk0YjY2MDlmMGIyYzE0ZDcyZDE0ZjIzMzMgbGVnYWN5LXRydW5rCisyNzA3MyBlNGFkZDdiYjVmMTQ4ZGI1MWNkNzBiY2IzYTFkZTlhNDZjYzdjYTg5IGxlZ2FjeS10cnVuaworMjcwNzQgZjg1ZjQ1MzFjM2MxNjQ0ODkyNjYwMTcyN2RiYmRkYzhlZmYwMTAyNCBsZWdhY3ktdHJ1bmsKKzI3MDc1IGUzN2YxYzBmOWExZTkzNmZhNzYzOGVlNzAxZGZjZmY4ZTkwM2Y0M2IgbGVnYWN5LXRydW5rCisyNzA3NiAwNThiZDJkNTBlMzMzOWY2MTRkZTBjNzljY2JkZjAzMTlhMGQxZmFjIHJlbGVhc2UyMi1tYWludAorMjcwNzcgNTZhNGQzYTUwYjc2Yjg2ZGJkNTJkNjVlZDE1OTQ5MTk4ZDVmNzY5MSBsZWdhY3ktdHJ1bmsKKzI3MDc4IDNiMzc5YWUzNTY5ZDkzMTBjNGYzNWQxMzUwMWViOTg1MjNlMjVkZjQgbGVnYWN5LXRydW5rCisyNzA3OSA0NGI5OTc3ZDQ4NDg3ZGVkYTU1MjUxMDI0OWI2YTE2YzBmNmIxOTMyIGxlZ2FjeS10cnVuaworMjcwODAgNTY1MDMyYjQ4ZjUwOWM1MzMzOGViMjkyZTUxMzA1YjZhMTNkODhiOSBsZWdhY3ktdHJ1bmsKKzI3MDgxIDI4Yjk5NzFmMDY4ZjdjZDRiNGM0ZDk0ODM3NTRjODM4ZGM5ODVhYjcgcmVsZWFzZTIyLW1haW50CisyNzA4MiAyYjEyMTlhNzJlZmNhNmVjNzY2ZmFmMTc4N2JiMDRjN2Y0ZTgxODk3IHJlbGVhc2UyMi1tYWludAorMjcwODMgOTY5YmQ1OTdmOTIzOGM3OTY2NmVjYTJkZTZjMzA1ZDI1ZmVjYzQ5YSBsZWdhY3ktdHJ1bmsKKzI3MDg0IGMyNzMzZThmNjYxMmI5YjI1ZWE4Yzc0NmIwNzYyMjdjYTE4NDExNzEgbGVnYWN5LXRydW5rCisyNzA4NSBmYzUzNjFlMDI4ZjNkN2Q2ZjcwZTVlMDY2NDg1Y2VkMDg0ZjZkMGMwIGxlZ2FjeS10cnVuaworMjcwODYgNzcxNTRjZWYyOWQxOWY0MGYzNWM4YTYyZDE1MjkxZjUwMmFkNjQ5NyBsZWdhY3ktdHJ1bmsKKzI3MDg3IDQ0NDk1NGM1NDM0YzFlZjdkODE0ZjhmMjhmYWViNGE2YTI2ZmNkYTEgbGVnYWN5LXRydW5rCisyNzA4OCAyMzdjYmQyYTkxZTliYmZjYjI2ZTYzMTU0ODU5YjA5NTAwNWI5MmRkIGxlZ2FjeS10cnVuaworMjcwODkgYjA2MjA4NWMxZmYyYjgwYTY1NzJiMzUzMWJiYjY3N2YzZWU3ZjczYiBsZWdhY3ktdHJ1bmsKKzI3MDkwIDQ4ZTkzN2UxYjNmZTNkMTBjMjZhYTBkMzk1MTlmMzM2Y2UwOGU0OWIgbGVnYWN5LXRydW5rCisyNzA5MSA3NWM1MTk5OWM4ZDU0Zjk1YWQxYjU4ODAxMzFlNGJiZGQ4NjQ1MGY1IGxlZ2FjeS10cnVuaworMjcwOTIgMmY2Zjg3MDhlM2U5NDVhNzE2OTJiYzliNzY5NjRlNzYwYzk3MGY1MyBsZWdhY3ktdHJ1bmsKKzI3MDkzIGRiMjM5ZWMzMDdlMDc0NzFjMmU4YmExZjMwMDJlZmUyZTI3MDhlZWQgbGVnYWN5LXRydW5rCisyNzA5NCAxMjM1YTk1ZmVkY2Q2Y2FmMmY0Zjk0ZDY2NzYwY2IxYTFjZWNjYjA5IGxlZ2FjeS10cnVuaworMjcwOTUgMmNkNmVkMWMxYjU4M2JhMjc4NzUwOTgwMDBhNmJhY2ZlODAzNjA5NyBsZWdhY3ktdHJ1bmsKKzI3MDk2IDlkMTFmNTE4NjBkZDNlMWZkM2YzZmZjMmJmZDk1Yzg4MGZkOGVkZTkgbGVnYWN5LXRydW5rCisyNzA5NyA1NTYyYTQ5OWZiN2Y4NDUxY2ZlOWNkZDE1NWZmNWM1YWYyZDhmZjMwIGxlZ2FjeS10cnVuaworMjcwOTggNWY4NWNhZTI1ZTE4NTU0MTlmMmViMzQyM2U4OTZmYTQwZTgyMDQ4NyBsZWdhY3ktdHJ1bmsKKzI3MDk5IGFmOGQ0MGU0YzM3NzczMjA3MWFhMjg2OTM0NTc3MGZkMWUyNDk0ZjQgbGVnYWN5LXRydW5rCisyNzEwMCBlMGE5MWM2NzM4OGY0ZmQwYWE1MGQ3NjJiNTY2MjM1NDgzYWQ5MmFmIGxlZ2FjeS10cnVuaworMjcxMDEgYmQyNmMxMjA1OTFhNTc4ZTliMTQwY2I1MTZiYjI2MzI5YmE5YzQyNCBsZWdhY3ktdHJ1bmsKKzI3MTAyIDdlYWFiZTc3ZDVjYmQ5ZjdmYjNlNmEzMGM0MzhjNmQyYmJlZTk2MTEgbGVnYWN5LXRydW5rCisyNzEwMyAzMDgxMjJiNjk5NmU0NGRjMThlZTk1ODNjNTRlNDczMzVhMzYzZjUyIGxlZ2FjeS10cnVuaworMjcxMDQgNjU1ZjQ4NjI4NDM2OWNkNGM4Mzc1MzI5MWUyNTU4N2RhMGQ2Njg5ZSBsZWdhY3ktdHJ1bmsKKzI3MTA1IDE4NDJkYjZhMTM5NDg1NDZjMWQ2YWJkNGNkZjNkOWRkMzg5ZjUyM2UgbGVnYWN5LXRydW5rCisyNzEwNiBkZjFhMjc1ZmY0ZjI1YjU0YTM1NDJkYjkzNWFmZGQ5NGZiZDMwODA1IGxlZ2FjeS10cnVuaworMjcxMDcgYTY4ZDI0NjZkOTRiZjU1NDkyMDhiZmFlNGRkY2Y2ZjQwOTAzZDVmOCBsZWdhY3ktdHJ1bmsKKzI3MTA4IDI3ZjQ4MzE0YmE5ZDBlMWVjMzM2NGY2NGExMTYwNWE5NDUyOGE4MTAgbGVnYWN5LXRydW5rCisyNzEwOSBhMjEzNmFlOWQ0Zjc2ZTcyNTA5MDc0MzIzM2I3MjI2MDhkYThjNWZmIGxlZ2FjeS10cnVuaworMjcxMTAgNjg5NTIwMGQ2MmIxOWNlOWQ4YjRjMWZlMzdlZmJjNjhkMTMzZDdjYiBsZWdhY3ktdHJ1bmsKKzI3MTExIGZlNzY5YjA3MTUwMzUzZmUyMWM0NzYzOWUyN2M3NzliNTQ0MDgzNDQgbGVnYWN5LXRydW5rCisyNzExMiAyZTFkZWY0MTdlY2I4OTdjOTRlZjc2ZjExODQwMmY1MjU2NDhkZDJlIGxlZ2FjeS10cnVuaworMjcxMTMgZWEwMzU0OTBmNjI0NWMyODkxNDgyMWRiYzQzOTFiNDgyNGQzMmQ1OSBsZWdhY3ktdHJ1bmsKKzI3MTE0IDM4ODMyMDAwZjdlOTQ1YmU1YzQ0YTY3NjYwNGU1MDdmNjY0ZTI1MGMgbGVnYWN5LXRydW5rCisyNzExNSA0M2RkY2RjZDNjNzFmZTRlZjc0MTJjNjk0MGQyZTZjNjRiOGQyNTJkIGxlZ2FjeS10cnVuaworMjcxMTYgNGQ1OTMyNTRiYTkzOTI1ZGVlZGQwMGFhY2U5NzU2MTRmOTg5MTYzMCBsZWdhY3ktdHJ1bmsKKzI3MTE3IDJkNjdhMGJhOTAyMGQyOGU4OTJkOGQ2NWMzYTRiMjMxNzNlMzQwZTUgbGVnYWN5LXRydW5rCisyNzExOCAzNjY4NzdlZGQ0ODc2M2NjYThhMTc0NmQ1MzMzNzBkOTIzMWQ0Nzc1IGxlZ2FjeS10cnVuaworMjcxMTkgN2JjNDgwMjllYWE5Y2IzZDkwYmJlODI3ZGRmNzY3MmU5YjQ3ZWE0MSBsZWdhY3ktdHJ1bmsKKzI3MTIwIGExNjhiMmY2ZDdkYWFkNmY1ODI2ZWY5ZWU5NTYzNzk2NzE4OTBmYWYgbGVnYWN5LXRydW5rCisyNzEyMSA0NzFhNTdiZjJkYWUxODVkNDgwYWUzZDhjYmEwNDk2YTMxNTE5ZDRlIGxlZ2FjeS10cnVuaworMjcxMjIgNDEwOTdlOTJmNTYwZjk5OTM0YmIyYWNmY2QyODE2NDhjYjFmOTExZSBsZWdhY3ktdHJ1bmsKKzI3MTIzIDJjOGVhN2Y5YTNjZWRjMzdmZjFhNjUzOWZmYjVkMzkyOTFjMDdhOTAgcmVsZWFzZTIyLW1haW50CisyNzEyNCAwMjc5MDQwYWUwM2NiYTRkODliZTEwYWQ1NDI2MzY1MTMwZjY3NzE4IGxlZ2FjeS10cnVuaworMjcxMjUgOGU1ZjI2Nzk2NjIwMGIwMzM3MjI3M2Y3OWNhNGNkYjI3MjBmZTIwMCBsZWdhY3ktdHJ1bmsKKzI3MTI2IDA3NzFmOTM4MmQxZTMyZGU4OTU2MGJmZWU1MmZiMzExZTNmYzQ4MmYgbGVnYWN5LXRydW5rCisyNzEyNyBjN2U4MDc4MTcxNTkxY2NkN2NlYmQ3ZWY1NDVlMWUxN2Y3YTJiZTFmIHJlbGVhc2UyMi1tYWludAorMjcxMjggOTEzMTczMDFkZDA5OGNhMzNiN2YyMTAyMWI3NTY2OGY3NTExYTM5YyBsZWdhY3ktdHJ1bmsKKzI3MTI5IGU2NDBkODliNDkwNzQxNWEwODQwODYyMGZmMzIyZWZkYzJmOWE4NDYgbGVnYWN5LXRydW5rCisyNzEzMCA5NGQwZGM5ZDZlNDRlZjEwNzQyM2JlNmI5MzBlZjhiZWQ2NmE4MDc0IGxlZ2FjeS10cnVuaworMjcxMzEgYmFkYmM1MzM0NDg4NjEyMmFhODk4MjUzMWRjYmFiZWUwYTRlYmUwZSBsZWdhY3ktdHJ1bmsKKzI3MTMyIGYxNmY2ZGE0ZjVmZmRiNmQ1ZGRjNzBhMjEwZGNkODI5NjZhMGM2NGEgbGVnYWN5LXRydW5rCisyNzEzMyBkNThmYjU0NDUxMTg4OGU2ZmI1OTE4NjNlYzg1OWU2NjY2N2FhOTM4IGxlZ2FjeS10cnVuaworMjcxMzQgYTdjZWFkYjAzZWRjOTE3NDU0NGE1OTJiNTYxMTY0ZjgyNjgxZDI3NSBsZWdhY3ktdHJ1bmsKKzI3MTM1IDFjYmNkZGNhMzNiMDI4M2MzODQ2ZTgwMmMzOWEzY2JjYmNiZGVjYmQgbGVnYWN5LXRydW5rCisyNzEzNiA1ZmIwOGQ4MzJlYWM5YzkwODM3ZDRmMjNjZjhmZTlkNWRiNzIxZWVkIGxlZ2FjeS10cnVuaworMjcxMzcgNDY4MGVmNGZlOTBhZDQ1MzNkMzRiYjY0NjA3NDk1M2UyYTcwNDk5NiBsZWdhY3ktdHJ1bmsKKzI3MTM4IDM1YjYyOTA4NTVmYzFlODc0Mzg4MzVmY2E5MTUzN2FhOTAzYmEyZGMgcmVsZWFzZTIyLW1haW50CisyNzEzOSBmNmIyNzE5ZmJmMTE5ODk3ZWFkMjUwNzFjZmRjMmFkNTlkMzVhMGE2IGxlZ2FjeS10cnVuaworMjcxNDAgMDZkYmQwODk4YjM5ZTI0M2RhMzFkNDdlNzFhZmQ2ZjAzOGQxZjE4ZiBsZWdhY3ktdHJ1bmsKKzI3MTQxIGE1NTM0ZmFlNTExMDE2ODY3NzIyOTExNzAwM2MxODM3YzJkYTBiMzAgcmVsZWFzZTIyLW1haW50CisyNzE0MiAwYzY1ZjQxZmQ5MjE5ZWQ4ZmQyM2JkYzQ2YjkxYzVkMzliNWY5ZjhlIGxlZ2FjeS10cnVuaworMjcxNDMgNTAwNjMwMTZkMDQ2OTlkMTE4NmZlMjhkMTdlY2E3YzY4MWUxN2M0ZCByZWxlYXNlMjItbWFpbnQKKzI3MTQ0IDVmODZjMjFiZDlmYzg5MDU2NTZhMmE0NGY3YjdiZmY0NDlkMzJjMGEgcmVsZWFzZTIxLW1haW50CisyNzE0NSA3MWRiNDI4ZjZlMDhhNDU5YWU0YzQyYjFlODZlNDViYzk2NzNhMzM2IGxlZ2FjeS10cnVuaworMjcxNDYgYmVjMWI5NDJlMGJjM2NkNzFlNzY5YTAxNzIzMTFmNTY5MjMwYmJiOCBsZWdhY3ktdHJ1bmsKKzI3MTQ3IDI0NTIyNGQxYjhjOTIwMWEyYWU4NDNlZTEyMTdlM2JlM2U3NTE2NDQgbGVnYWN5LXRydW5rCisyNzE0OCA1NWM5MjI2Njk5MTMxMzQxZTI3ZjQ4YTRlZTgzN2I5ZmFjNTExYzcwIGxlZ2FjeS10cnVuaworMjcxNDkgYzdjZGE2M2EwMDdlNDRmNjE2ZDA1YTRiMDk2YmRkNjM3ZjhiNTlhOCBsZWdhY3ktdHJ1bmsKKzI3MTUwIDczMDQ5MGZmMjVlYTM5YmQ2NTAyMWE5ZTRlZTBhODgzNjI4YWM3YmQgbGVnYWN5LXRydW5rCisyNzE1MSA1NGY2Zjg5MTM5ZGI1M2Q5MThlNTU2MWM3NTU5NzNmMjMwNWE1MjZjIGxlZ2FjeS10cnVuaworMjcxNTIgMGRhYjhiYTFkMjk4MDc5ZjljMDQ1OWU2ZTE1ZWU1ZDZlYjJjNmMzYiBsZWdhY3ktdHJ1bmsKKzI3MTUzIDI0YjBmNmQ2OTNlMzRiMzdjNTJkZjA1OTA4ZTJiN2M1ZGQ4M2Q2ZWEgbGVnYWN5LXRydW5rCisyNzE1NCA3YTMyYzIzNTZlNTY3Y2Y4OTlhMjY4NDYyM2Y1NGYwMGE1YjIxNDk3IGxlZ2FjeS10cnVuaworMjcxNTUgZTBmYmY5YzRkNDZjMmQyYmU4ZDc4NTM3ZGQyZmI0ZWI3NzU3M2FlZCByZWxlYXNlMjItbWFpbnQKKzI3MTU2IDkzMjk3NzA2MzdhODU4NTIxOTRmNmViNjk0ZDE0NzUzOTAyZDI1NzUgbGVnYWN5LXRydW5rCisyNzE1NyA5ZGEyZDhjMTMyMDkwOTQ4MzU4Yjg2M2I1YTBiN2UzYTMxMGEwZjdhIHJlbGVhc2UyMi1tYWludAorMjcxNTggYzAxYzFiNGE4MTcxNmQxZTIzN2Q0MTBiYzNiZTE5OTY4YzRkYzY0MCBsZWdhY3ktdHJ1bmsKKzI3MTU5IDQ4NmY0MDQ1ZDEzZGY2MDg5NmFlZjliYzIxZDk2MTZmMzVjZmU5NDcgbGVnYWN5LXRydW5rCisyNzE2MCBjZGU2NjA4NzM5YzQyZDQ1YTFmNmIwODUwN2Y3NTU3YzQ4OWM0NTEwIGxlZ2FjeS10cnVuaworMjcxNjEgN2RkNDMyZTFkZTI2NjY0MDJlZjZiNTkwZmYzMjAwNTllMmFjNmYyMCBsZWdhY3ktdHJ1bmsKKzI3MTYyIDdjZGM1MzFlNmE1MDRhMDlkNzgzN2Y3ZmJiYmE1M2MyOTA2MzBlYWUgbGVnYWN5LXRydW5rCisyNzE2MyAxZjFhNmY3ZGQ2MDAxNGRiMDZjZDhiYWVlZDg4OWUxNDc5YTNmOTUyIGxlZ2FjeS10cnVuaworMjcxNjQgODBkNDUwZTU1MmY2OTljZTY3YTBmNzgxZTdiYTFjNzhjZjkyNjA4YiBsZWdhY3ktdHJ1bmsKKzI3MTY1IGZjYzM2ZWUxOTI0YjMxNmRhOTc2NDZlOGU5MjI0NzM0NTk3ZTBjYmYgbGVnYWN5LXRydW5rCisyNzE2NiBiYTI5NDg1ZDA3MjBiZWVhOGYwMTY1N2U0MmEyZDVlM2NmMmU4OTg0IGxlZ2FjeS10cnVuaworMjcxNjcgMWRhNmQ2N2Y0YTA1YzVlMzBmM2Y1NDJmNmJkYTUyYWNkNDYxNTUwMiBsZWdhY3ktdHJ1bmsKKzI3MTY4IDJhZDEzZWU2ZDg1MDVjMmMyNDEwMDg2YzE5NjA1MWY4NTE4ODMwNTcgbGVnYWN5LXRydW5rCisyNzE2OSBiZjE1NTVhOTI3MTE3ZGIxOGQzZWM2MjkzZGE4OTRhZmE4ZmM0NjE3IGxlZ2FjeS10cnVuaworMjcxNzAgYjJiMWYxZmY1YzcxY2RhN2MyZGY3NDU4ZmM5ZGY5ZmViYTZiNTU1NSBsZWdhY3ktdHJ1bmsKKzI3MTcxIDRlYzU4YzI3MGYzZWMwYzBjOWVlZjg5ODk1MTM3NjY2MzFiZDQyY2EgcmVsZWFzZTIyLW1haW50CisyNzE3MiA3ZWFkMmQ5ZGY3Zjk2OGNkNTRjY2NmNmIxYjcwNjU3YTcwNDczZjQ0IHJlbGVhc2UyMS1tYWludAorMjcxNzMgMGIxMmFmYzQwMTJhODA2Y2JhNDVlNjM1NDRiMGI3OTVhYzg3N2Q3MyBsZWdhY3ktdHJ1bmsKKzI3MTc0IDA2MDFlY2M3ZjRiZjczOWRkMzk3ODIxN2MyYzNmMzQ3MGNlMDc3Y2YgbGVnYWN5LXRydW5rCisyNzE3NSBjNzRkODZkYzQwMTc3NGRjOThlZTQwNTE0ZmM2Y2VkNjc5ODJkZWFiIGxlZ2FjeS10cnVuaworMjcxNzYgY2M2NWI1YmNmYzM4MzY5YjhkOWI2NTc2YTQ3OWFmNjFjMTY5NjU3YyBsZWdhY3ktdHJ1bmsKKzI3MTc3IDc5ZGNkNTdmMjcyZGVjNDkzMzMzNTZjOTA0NWM3NjRmOTY3NjYyMDYgcmVsZWFzZTIxLW1haW50CisyNzE3NyBiYjViMzcwNDkyZDZhMzc2OWU3ZTNhYTUwYmY0NTcwNmMyZDM0MmZhIHJlbGVhc2UyMi1tYWludAorMjcxNzggMDFlNGI2OThmZjdlZmUwYjFmMzI5N2ExYjY5Y2I3ZGRiMjRhYzZhOSBsZWdhY3ktdHJ1bmsKKzI3MTc5IGUzZTAxOWJjNGUxZWNlNDE0NWVlMTc1NzUxY2Q2YzZiODQ3MDFjNTUgbGVnYWN5LXRydW5rCisyNzE4MCA4OWE3ZmE5MThjM2I3ZjY4OWFmNDM0YmY1NzhiMzZmMzY3YmE0ZjljIGxlZ2FjeS10cnVuaworMjcxODEgZjZjMjZkMDgzYmY2YzhkZjMwODkzZWU2ZGFiZjRmYzk4NjE4NmY1YSBsZWdhY3ktdHJ1bmsKKzI3MTgyIGM3ZDdkMjMxOWIzYTFjN2JiNTNiMWRlZjFhNjg3YzE3MzBiODFkMzMgbGVnYWN5LXRydW5rCisyNzE4MyAyMDNkMTQxMmE3ZTgyNmQzYzA0Mjk2MmVmNWZiMjUxOWY1MWYzNmNjIGxlZ2FjeS10cnVuaworMjcxODQgZTRkNTU3ZDQ2Yjk2ZmQ2NTQyMmRiZTM3NjY1YTQ3M2RmNzMwM2FkNCBsZWdhY3ktdHJ1bmsKKzI3MTg1IDJkOTdiYzJiYTUwZDI3OGQwYmViNjJmNjNkZjQzZWQwNjY2Yjc1YjAgbGVnYWN5LXRydW5rCisyNzE4NiA4YTBhMTRlMzcyNWUzNzYzZjE1Njc3NzZmYWEwYjk3MWUxZGYyOTIwIGxlZ2FjeS10cnVuaworMjcxODcgNDNkNjU4ZGM4ZGQzNmU0NDczNmQzYjUxNmJjZWNjOTNmZGVmMzEyOCBsZWdhY3ktdHJ1bmsKKzI3MTg4IDEzMGZmZjQ4NmZhNjRlZjgyMDA2ZDI3MDU1ZDI0NzYxZTQ1MDNiODUgbGVnYWN5LXRydW5rCisyNzE4OSAzMTI2YzQyNjI5NjI5Yjc5NWFjM2RjMDRjNjQ3YzE3YWUzNzA5N2U2IGxlZ2FjeS10cnVuaworMjcxOTAgOTlkMjI3MjMyNTJmNTkwODk5NWRkODZhMzY1NzZiMjc1MjgwYmVlMCBsZWdhY3ktdHJ1bmsKKzI3MTkxIGM0OGJmNWRmNjE0YWMwNGE3ZDI1NTY4N2E5YjBkNzU1MDg2NTIyMWEgbGVnYWN5LXRydW5rCisyNzE5MiA4ZmY2OTFkYzdmMjkxZGRkMGM3YjUyNjg3YWRiYjU4ZmZhMTdkYzg2IGxlZ2FjeS10cnVuaworMjcxOTMgOWYwMDA5Y2E5N2I5YTVjMmQ3Yzg3ZWQ4ZGE4ZDNjMDUxMTJjZWZjMCBsZWdhY3ktdHJ1bmsKKzI3MTk0IGFiY2ZhNDk5NTJjNDMyNjI3ZTZkMTE0YzZmMDBjOGY4MThkY2RlZDMgbGVnYWN5LXRydW5rCisyNzE5NSBkNWU4OGMwYzllMDllZTU1YWIzODE1OTAwM2UzM2RhOWVhMjFmODk5IHJlbGVhc2UyMi1tYWludAorMjcxOTYgNDFjNGRkYWIzNmYyZTIxZTJjMTM3NDIxOGUyYWUwZGRmNmE1MTY2OCByZWxlYXNlMjEtbWFpbnQKKzI3MTk3IGU0MjcyYWQxYTYzNjk0YTIwZDFiMTUzMmNlYmU0NDlhZjc3M2YzODAgbGVnYWN5LXRydW5rCisyNzE5OCBhZGUxZDU2MTA5YTgyZjk1MGI1OTg5MjAzMDFkNzZhMzJiM2JkYzkwIGxlZ2FjeS10cnVuaworMjcxOTkgZjczMDZhZTg2NjJkYjU4ODIwY2ZlZGIyODQ2NWY5ZDQ5N2VhZGI1MSBsZWdhY3ktdHJ1bmsKKzI3MjAwIGVkMWJhMzdhNDZiNzNmMGM1YjI3MTI0NTU1NGMyZGM3YmU0N2EzMmYgbGVnYWN5LXRydW5rCisyNzIwMSA5ZjBhZDBlYjYxZjA4NmNjZDdhN2YyYTY2MmViZTA4ZDM0M2Y0MDc5IGxlZ2FjeS10cnVuaworMjcyMDIgOGFlMjZkOWJlMWI0ZmMxM2Y0ZGY1OTExYmMxNGE4YzU5ZDVjMWFhZSBsZWdhY3ktdHJ1bmsKKzI3MjAzIDFjZjFmOTgxMjIxOTc5ODk0MzMxNGYxM2FmMjVhMDA4M2JmYmE1YTAgbGVnYWN5LXRydW5rCisyNzIwNCAwNjVhN2YyM2JlMmZkNDRhYzdhYjA5ZTZlM2M3NTQ3Zjg1NTQ5NDg3IGxlZ2FjeS10cnVuaworMjcyMDUgMzU5YTU3ZTk2ZDVlYjYzYmRjNTc3ZTIyZThkNjcwYTM3MDNhZDFiYyBsZWdhY3ktdHJ1bmsKKzI3MjA2IDk1MjYzY2NlYzgxOWNjYzUyZmMxZGViNTgyNDhjYTM2OGZkYzVjYzIgbGVnYWN5LXRydW5rCisyNzIwNyBjODgxNWJkMDFmZjU3OGU1OWE1NjU0NjJiYTBkNTVhYTA5MjkyMTBhIGxlZ2FjeS10cnVuaworMjcyMDggOTAzMTEyYzFjODg3NjA4OGI5N2ZmMTE3NzkzNjIzYWY0YWQ0ZjE0YiByZWxlYXNlMjItbWFpbnQKKzI3MjA5IDNmMTk2YjRkYzRjMTA2ZWMzNjY4YjdmNjllYmZhOTEyN2IyY2YxMmIgcmVsZWFzZTIyLW1haW50CisyNzIxMCA2YzYxOWMxNjFiODdmOGRmZDgxMTI2NTZiMDc2MGY3MmQ2MDk2ZDFlIGxlZ2FjeS10cnVuaworMjcyMTEgODVhNGU3MjdiMTZiYTFlNzNhY2E0ZDViMTI4YjFkM2IxOWU1Y2JmYSBsZWdhY3ktdHJ1bmsKKzI3MjEyIGJkMzdlYjRkYWYzYjY3NDgyOGQ2MGM0OWNhNDg3ZTlkMjE5ZjA3MTcgbGVnYWN5LXRydW5rCisyNzIxMyBiNDgxYmE5NjdhZDgzNzEwZDM2OWFhYTU5NmYxNDNlNTA5MjljZDcwIGxlZ2FjeS10cnVuaworMjcyMTQgYmViNjk5ZTEwYjI5Y2UyMjRlMDEwZTU5ODk0MGVjODI5ODJiMDZkOCBsZWdhY3ktdHJ1bmsKKzI3MjE1IGY2YzJjMDg5ZmRmMmFlMDNlMzc5YjY5OWM0NjMyM2RjMzEzZTg3YzYgbGVnYWN5LXRydW5rCisyNzIxNiA3MjUyYjg2N2Q4MWUyOGVmY2Y2MjllMTA5YTQ5NmZjZTQ4ZThhNGQ1IGxlZ2FjeS10cnVuaworMjcyMTcgYzljOGY1MjNmZjFiNTY2N2ZmZGRkNmMyODE4ZjkzNmNjZWNmZDY4NiByZWxlYXNlMjItbWFpbnQKKzI3MjE4IDg1NDU4M2NkNjNjN2NlNTczYjdiODcyOTJkMGJlNDBjYWFkNDE5ZmQgbGVnYWN5LXRydW5rCisyNzIxOSBkNmFlNTQ0YWNkMjRhMWY3MmNlMDA1MzRmZWQ0NjRmZGU5MWVlNTA0IGxlZ2FjeS10cnVuaworMjcyMjAgNDYyNzVmOWU3NDA3MTBkOWIwZTVhMGFmMjY0YmQ0MmQ5NjcxN2I3NyBsZWdhY3ktdHJ1bmsKKzI3MjIxIDhhNDc2OTI0ZWNmZWExOTRmNDdjMGMyNjYwY2QwNmRiMWQ4MGEzNWEgbGVnYWN5LXRydW5rCisyNzIyMiA4YmM0ZTViYTFmNjUxN2E3ODg3ZTg5MmE4YmM3MmYzMTU1YTgwMjYxIHJlbGVhc2UyMi1tYWludAorMjcyMjMgMmIwNzEzMzcyMDVjMDFjMjY4NWIxYmJmMjJhZmYzYTVmMDU0ZjUyZCBsZWdhY3ktdHJ1bmsKKzI3MjI0IDg2OGNmYmRjYTkwOTY5OWIwYzU2OTMwMGExZTAyNzRkMjc1YThkYWUgbGVnYWN5LXRydW5rCisyNzIyNSA1MDI3ZTdjMTJhMTYwMDNhMDZmYjAzYTBhNDQxZmZjYmVkOGRjOTUxIHJlbGVhc2UyMi1tYWludAorMjcyMjYgNTk4NmRiZDAwOTRmYzNiM2Y0MzI0MWUwMWE5ZThiY2NjYWJlZGJhZiBsZWdhY3ktdHJ1bmsKKzI3MjI3IDZkMDA4YTRlMjYzMzM1ZWZmN2VlMzZkNzUxNGI0N2U5ZDBhZTJjYWYgcmVsZWFzZTIyLW1haW50CisyNzIyOCA2M2VlMzFiYjI1ZjMyNTYwMjkzNzdmNmI3NDAzNjdjOGE4ZTA1MmQ3IGxlZ2FjeS10cnVuaworMjcyMjkgZDdiMzA3YzM3OWM4ZGMxZGQ1ZDAzNmZmYzQ3OWRhNzM0M2I5OTM3MCBsZWdhY3ktdHJ1bmsKKzI3MjMwIGI3OWQ0MzMwNWM3MmQ5NDczZjU4NTM2Y2VhMTkzMWZmOTNhNzNlNjQgbGVnYWN5LXRydW5rCisyNzIzMSBkZmE2ODY2OGQwMGVjZGI1NmFmYmZkYmU0NWQ4NmM1MzYzMDViNjc1IGxlZ2FjeS10cnVuaworMjcyMzIgNmMxYTBkYzg1MWI2YzFjYzM5NWM4NmYxN2FmNjcyOWFlMThjMjM2ZCBsZWdhY3ktdHJ1bmsKKzI3MjMzIDFhNzZlM2M0NTA4ZjM2MzUzYjJlM2RiNjVjZTJmZTdkNmZjY2JiNDMgbGVnYWN5LXRydW5rCisyNzIzNCA0ODdhNmI5OWY3ODExYjBlODEwNmMwM2RkZjIxZTFhNGViMzdkMmY0IHJlbGVhc2UyMi1tYWludAorMjcyMzUgNDVkNjc2OTMzODgyOGY3ZjFiZGEzMDhlMTdhZTQxNzU4NmMyM2VmMiBsZWdhY3ktdHJ1bmsKKzI3MjM2IDhlNjc2MGJmMTg4NGU3Y2I0MDA4N2ExYmY2ZTQ5MzU0NGRiNWI1MTIgbGVnYWN5LXRydW5rCisyNzIzNyA4YWQ4MWIzNzk1NTIwMDU4YWUxYzc4NDNmMDEwMzBkNjJlZjUyYWE3IGxlZ2FjeS10cnVuaworMjcyMzggNjNkMWUzMjYzZjQ1NjJmMzk1NDU5MjYxMzY0MTZiZTE0MjRmOTRlYSBsZWdhY3ktdHJ1bmsKKzI3MjM5IDk1ZTdiYmJkMDk1NDk0NWVkYTk4N2NlNzAxZWEzNzM2NTE1ZTQxNzkgbGVnYWN5LXRydW5rCisyNzI0MCBjMDJkMWM5YTY2MmU2NjVhNDA3ZDUwOTk0YTQ0NGYyMjE0MzE1MzNhIGxlZ2FjeS10cnVuaworMjcyNDEgNDU4OGI2ODIwYTExZTU0YmJkNDA5ZmJlZmNjNTcxOTBiYTViYzU0MiBsZWdhY3ktdHJ1bmsKKzI3MjQyIDE1YWIyOTM5Mzc3OWYxOWFhODNhMmFiZjRjOWRmM2I3Yjc1MDExZDYgbGVnYWN5LXRydW5rCisyNzI0MyA1YWZkMTRhMmE4YmM2Yzg3NjAxNDgxYTY1MmQ4ODFmOTE2Y2U0NzlkIGxlZ2FjeS10cnVuaworMjcyNDQgODMyZjA1MDExNDhiYjc4ZWNmMmVlNDNlMjlkM2IyNjk1YzRlZDE3ZiBsZWdhY3ktdHJ1bmsKKzI3MjQ1IDA0OTlkZjU4ODRkMmY1NGZmYzQzZjA0ZjY3MzFlNDY2NzI2ODUxZDggbGVnYWN5LXRydW5rCisyNzI0NiA0ZjZkMzFkYWNkNWU2N2U0OWM1MmM1NzczOWJlMmNkMDBlZjg5MzE0IGxlZ2FjeS10cnVuaworMjcyNDcgMDg0NzVjODdkMjRmNTBkMjdiODQzZTEyZThlMTA3NjU5ZmQ3NzdjYyBsZWdhY3ktdHJ1bmsKKzI3MjQ4IGJiYWVhZjI3MTljNGJiZTY1NjJlODdjZTBhMGNlOTE4NjU3NmE3YmIgbGVnYWN5LXRydW5rCisyNzI0OSA4YjdkODdlYTQ4OTRlMWQ2MDk2MGJiMDg2ZmQyODUzYjdmNzZhYWQ2IGxlZ2FjeS10cnVuaworMjcyNTAgM2RiYTg2NmU4NjJlOWZmYTYxYmE0NTFiNGI2Zjk3MWQ1MDMwMDIzNiBsZWdhY3ktdHJ1bmsKKzI3MjUxIDAwMGFiNTg0ZTc3YTYxYjQyODhhZWIxYjYzYmNkMGU3NWNjYTU3ZjAgbGVnYWN5LXRydW5rCisyNzI1MiBlYTdlNzE3ZGVlMjcyM2I0MTY0OTk3NjBkNTU1NDdmMDk4MDg2MDIyIGxlZ2FjeS10cnVuaworMjcyNTMgNGM2N2RkNDJhMWQ5ZWEzOGM1OTljOTczNDhmZWNjY2NjN2Q0MWJkOSByZWxlYXNlMjItbWFpbnQKKzI3MjU0IGFiNTM1NWQ4NzNkZDU4N2MxYmVlNDcwMGRkMjAzZjNlOGFhZDdjYzkgcmVsZWFzZTIxLW1haW50CisyNzI1NSAxY2VmNjFkNTk0Nzg2NzFlMDViYjMyNTRhMTZkOGNiMmU2MmU1Y2ZjIHJlbGVhc2UyMi1tYWludAorMjcyNTYgN2I2NmYwMDM0MjMzYTc2Njc0MWMzMzZlNDk2MDFiZjNiNjdkYmMxMiBsZWdhY3ktdHJ1bmsKKzI3MjU3IDQxYWI1MzJkNGY2MDFjY2E0NGNjNjk5NWIwMDM3YjVhOWIzOGRjZTEgbGVnYWN5LXRydW5rCisyNzI1OCBjMTQ1ZmRkZWEzNDA4NGZmNjNhMTkwYmEzNjEyMzRmYzAwODBmMzdlIHJlbGVhc2UyMi1tYWludAorMjcyNTkgZWE5ZDMzM2Y5MDM0ZTFkNTIzNzQ2MmJiODMwMDMyODgzZmVlYWU0MCBsZWdhY3ktdHJ1bmsKKzI3MjYwIGE0NGYzODc3YTM4NmJmMjczODc1NGUxOWM1MzE3OGJkZDg4MGQ0NzcgbGVnYWN5LXRydW5rCisyNzI2MSA4M2U0NThhNjNjM2ZiYWM0Mzc2ZTQyZDk0YjIyZGQ2MzgxMzMzZmQwIHJlbGVhc2UyMi1tYWludAorMjcyNjIgMzI0YzcyNjc1YzhkMDRiNGIyMjUzYzBjYTQyOGI2OGQ0NGRiMmVmYyByZWxlYXNlMjEtbWFpbnQKKzI3MjYzIDAyYzUwNDVkNWI0ZTBhMzI3ZjhmZTg4OTI3NzBiODZlY2E4MzI0ODEgbGVnYWN5LXRydW5rCisyNzI2NCBhZDFkODYyZmI2MzI2NGRmMGEzZjgyMmNjNDg2YTg1NjRlMTE3OTQ3IGxlZ2FjeS10cnVuaworMjcyNjUgODMwNWExOTU4NGJjODhhZTE2ZTY4YThlY2Y1NWVhZDEyMDY2NjAyOCBsZWdhY3ktdHJ1bmsKKzI3MjY2IGY1MDMwYTI5OTM1ZGNhYjNhMzJjZGEwYTg2YjEwMTBhZmY4ZWE3NjEgcmVsZWFzZTIyLW1haW50CisyNzI2NyAyODU3MDJmMDgyNGE2MzdlNzNjOGU1ZjFiYTVmNGJhZmM0MjUyZDEyIHJlbGVhc2UyMS1tYWludAorMjcyNjggMDg5OTQwOWEwY2I2ZDFlMWUzYTg2MzY5ODdjYzM5YzZmZWE1NjQyOSBsZWdhY3ktdHJ1bmsKKzI3MjY5IDAxY2RkMzhkMzVmYTBkMGMyMGIxZTNmMzNmYTlmMWEzOGFkZGQ1NzMgcmVsZWFzZTIyLW1haW50CisyNzI3MCBhMDdiYzMwM2E2MGQ4YWUzYjc0ZTU5NWMxNjBjM2M4OGZhZjU1MTY4IHJlbGVhc2UyMS1tYWludAorMjcyNzEgMDY2Zjg5MzgwNzFhNTUwODhkZGY3ZGZjY2I2OTIyODFhZmJjM2E5MCBsZWdhY3ktdHJ1bmsKKzI3MjcyIDRmMDYwNmNlZWVmOGM5NDM5NGViMmJjZjI5M2UxZGU1MDVlMzU3MDIgcmVsZWFzZTIyLW1haW50CisyNzI3MyBlOGJhZTI1Mzc4NGIzZWRjYmNlMTMyNjQyNzRjYmU0NzM3MjJiNzdkIGxlZ2FjeS10cnVuaworMjcyNzQgOWNlNzFiMWNjMTdmNzE4ZTljYjkyNTBjYjIwZGYyN2MxZWQzZWE3MSByZWxlYXNlMjEtbWFpbnQKKzI3Mjc1IDczY2Y0ZDg0NzU3MGVjYWFiNTQ4NTI0M2RhODdiZWE0MTU5MTA5N2MgbGVnYWN5LXRydW5rCisyNzI3NiA5MmYyODljMmY3YzYzZDk3N2IxNTkxOWU4YjM4ZGFmZTQ5ZDM1OWJiIGxlZ2FjeS10cnVuaworMjcyNzcgYjE2ZDRiZTZhMjMyZWUxODExMTg0NzVlMzBkMGFiOTFlNGU0NTFhYiBsZWdhY3ktdHJ1bmsKKzI3Mjc4IDkyMTA2NGMyNjI5N2IyNWViMjNiYTk2ZDRjYzFiZWIxNzQzYTU4Y2YgbGVnYWN5LXRydW5rCisyNzI3OSA2ODkzY2VlYzg2MTBlOWM1NDg0MzQ2MWQ0OTM4ZDc5NWYyZmE0YmE3IGxlZ2FjeS10cnVuaworMjcyODAgMDc1Zjc1NWE2NWRhMTZiZGVmZmYzNzA5MDBhODM5MjJhMDU0MTYzNCBsZWdhY3ktdHJ1bmsKKzI3MjgxIDEyOThlOTdmYjM0M2FkYjE2YjJkZDFlZGJkM2M0NmNlNmM3NWRiYTEgbGVnYWN5LXRydW5rCisyNzI4MiA3ZTNlYWM1ZDMyOTk3OWNkOTYyMGY4ZTBiMWZlMzRhNTg0N2NhMGRlIGxlZ2FjeS10cnVuaworMjcyODMgNjIwYjY5OTY4NWZmMDQyOGQyOTU2MGM5OTc5YWMzMmQzZTNkZmExZCByZWxlYXNlMjItbWFpbnQKKzI3Mjg0IGZmMGNkNjg3OGJkZGU1ZmJmMjM2NTc1NzExYTA4NWQzNGI1NzA3NmYgcmVsZWFzZTIxLW1haW50CisyNzI4NSBjZTE2M2YzNDBjZGZmNWMzNjIyZjk2MjI4ZWI4MWJlMzE0MmE2ZTkwIGxlZ2FjeS10cnVuaworMjcyODYgMGJjZWYzY2EyMWMwNmEzNzIzODdkMTkxOGU5NzU4ZWQ3YTM5YzcxNyBsZWdhY3ktdHJ1bmsKKzI3Mjg3IDVmNjlkNmYxN2FhMzEwOTJkNzA3N2FmMmY4Y2RiODc1OGMyYTMwYzcgcmVsZWFzZTIyLW1haW50CisyNzI4OCA4MTVkMDI4MDBkOTgwYmYwMjEyMDg0NDk1NWZmZDA4MjgxNDVjOGY2IHJlbGVhc2UyMS1tYWludAorMjcyODkgYmFlOTk2YmI3ZDgyY2UyZGVlOTI0MTc3MWY0YTJhZTVjYzI1OTc2NiBsZWdhY3ktdHJ1bmsKKzI3MjkwIDM3NTYwZjQzNGY2YTJiZWFlMGRhNmQyYTc1Y2IxNDFjMTg3Y2RmNmYgcmVsZWFzZTIyLW1haW50CisyNzI5MSAxMmY0OWZhOGY0N2YyYWJhMjQ2NmJmMjA0YzFjNDE5ZTE4ZWIwN2YzIHJlbGVhc2UyMS1tYWludAorMjcyOTIgOTIxMWJjNzI0OWEwN2ViMzQ0MmQ0Y2NkMDUyMjYzYWU1OTU3MDUxNiBsZWdhY3ktdHJ1bmsKKzI3MjkzIGZiYTdkMTAzNWZlZDVlZmMxYWE0MDMzMWExMGM0N2I1YzNmY2U0ODggcmVsZWFzZTIyLW1haW50CisyNzI5NCA1NTg2ZjIwODU4MTU4NmI1ZjkxYjhkOTMwN2MzNDQzZWVlYmI3MzQyIHJlbGVhc2UyMS1tYWludAorMjcyOTUgOTcwYWE5NzEyODEzMWFlNDk3N2U3OTkyNzA2MWQwNGQ4ZTI5MmFiYSBsZWdhY3ktdHJ1bmsKKzI3Mjk2IDdkZmU0OGM3YWE2NWUwYzZjZWNkMTVlOTgxYWZjMGFhODRiMDg2YTcgbGVnYWN5LXRydW5rCisyNzI5NyAyNmJhMTdiNzU4YjllZGQ5OWJiZGNjZTk0NTg2NTU1OTZmNWRhNDdmIGxlZ2FjeS10cnVuaworMjcyOTggOGViMmYzMWVlYTllYjNlYWUyYWEyYzY0Mzg2ZjI4OWMwNDFhMDViMyBsZWdhY3ktdHJ1bmsKKzI3Mjk5IGU1NThhNDBiNmI1MjMxMTYxMGQ4YjA5MWU0ZjM4YzA4YjJhYTMxYmEgbGVnYWN5LXRydW5rCisyNzMwMCBlYWI4ZWNhOWVjNTFkMmI5MmY3MjlkYTIzYTUwM2ZkMjk4ZGNhNGU4IGxlZ2FjeS10cnVuaworMjczMDEgNWEyMzAyZjc5NzI0OWU5YTE2NmMwNjkxMDg5YjlhZDQ1Yjk1YTk1NSBsZWdhY3ktdHJ1bmsKKzI3MzAyIDMwNDJkYWQxNDlhZTczZTczY2QyYzU0OTI1N2IxODlmMGVmZjQwYWIgcmVsZWFzZTIyLW1haW50CisyNzMwMyBiNWJkZTc3ZGEyMGUwN2NmOTE3ZGE4ZmZjYjI4MmI4MjE5MDg2MjE2IGxlZ2FjeS10cnVuaworMjczMDQgZDNiNWZhZmVjYjI5ZGY4ZmFlMWY2YzY2OTJiMWI3OWZiZGYxYzBkYyBsZWdhY3ktdHJ1bmsKKzI3MzA1IDM1MDBkYTY2NmMwYzNkNjk2ZTE3NzllOGQzMWFlYmI0MWVmYWNiY2EgbGVnYWN5LXRydW5rCisyNzMwNiBkNjJlNjg0NTQyYjliYmY1MzY2Y2ViZWQzZGFjMzExZWE3ZWM5YjBhIGxlZ2FjeS10cnVuaworMjczMDcgODRmMDkyYjEwNmVmYjkwZmRhNjAyOTExMTZkNjYxODAzMjVhN2QwMSBsZWdhY3ktdHJ1bmsKKzI3MzA4IDgzMzU0YzJjYTM5MDNkMTZiNDE1OWQ4ZDNlYjIwODUzZmJjOWM1YjEgbGVnYWN5LXRydW5rCisyNzMwOSBhNjBhM2Q5YzZmZDlhNmU4NjNhODM4ZTMyMDgxYmNlMDU3M2MyMmQ2IGxlZ2FjeS10cnVuaworMjczMTAgNmUyYTNjNTcwMGFjOWM3YTExZGJhNjc1YjQwNTZkZjM4NjY0OTRlZiBsZWdhY3ktdHJ1bmsKKzI3MzExIGRlNjI1NTE3YWRlODAyZDRkMzNmODRmOGNiZDdkNTgxMThiZDU1YmUgcmVsZWFzZTIyLW1haW50CisyNzMxMiBhZWE4ZmIzZTNmM2Q3ZGI4MzVkZTdhMzEzODg4ODhlOWVjMzdhMjdjIHJlbGVhc2UyMS1tYWludAorMjczMTMgODVlMTIwNGI2NjE3MWJjZjdhOTgyYTBjMGQ3MGRlMTFiYjRkYjEzMyBsZWdhY3ktdHJ1bmsKKzI3MzE0IDY1MmYxYjMxOGU1YTA4MWU3ZDVjZDE0NjI4MzllZGUzMzY0YzczMGIgcmVsZWFzZTIyLW1haW50CisyNzMxNSAzNzExOGI2ZTVmNDYxMjRjYTQ0NjBiNzJiMDI1MTdiNjBiZTU5NzM5IGxlZ2FjeS10cnVuaworMjczMTYgODNhYTk5ZGVkYTc0ZGUxNThiNWQ5OTI0MDU3MjkwODkxMjBlNjZiNyBsZWdhY3ktdHJ1bmsKKzI3MzE3IGVkNjJjMDRiMTlmNTIwZTM1OWI2ODE1YzBlM2JmZGIyMmY5N2RlOGEgcmVsZWFzZTIyLW1haW50CisyNzMxOCBmN2NlNjk2OTc5ZTE4YjAxMWE3ZTQwNzc5NWYxZDk4YWEyMzI0YzQzIGxlZ2FjeS10cnVuaworMjczMTkgZDRiZDY2MDE3MDFkMzVkYzk3OWZkN2E5OTU2ODVlOWY3Zjc0ODFjYiBsZWdhY3ktdHJ1bmsKKzI3MzIxIDM4MzRjYjBlN2JlNjVjNWNjYzg1MDMwOWQxNmViYTU2NDlkNjE3YmMgbGVnYWN5LXRydW5rCisyNzMyMiBjYjA4Y2E1N2UyYTk2NjI4ODcxODA3ZGRlYTI0ZjQ0YmEzYjUxMzkyIGxlZ2FjeS10cnVuaworMjczMjMgMTFhNmQ5YjVmOTkwNjU5NmExMWE4ZTNhMmFlOTI4MjgxOGVhZWMxNiBsZWdhY3ktdHJ1bmsKKzI3MzI0IGFhMjM4NzcwZDgwOGY1M2VlZTY2MWVmNThmZDMzNTNmOWZhN2I2M2IgbGVnYWN5LXRydW5rCisyNzMyNSAxYTJiNTM0NGQxY2NmM2U2MTQ4ZDA2MWU5OTY0ZWQwOGI3Mzg3MGJhIHJlbGVhc2UyMi1tYWludAorMjczMjYgMDNiYmE3MjgyODUyY2JkMmFjNGExYzhkODQ2M2RiYjQwNzNmYmNmYiBsZWdhY3ktdHJ1bmsKKzI3MzI3IDMxMzgxNjcyMDFhYWNkNzhjYzNlZTJmNTY5OTA1N2RiYjQxNTYyMGUgbGVnYWN5LXRydW5rCisyNzMyOCA0ZWVkNTFhZDQ5M2Q0ZWYzYTVmM2M5MWU0MzhmMGQyM2MxMDk5Mjg0IHJlbGVhc2UyMi1tYWludAorMjczMjkgMDk2YjQ3NWUxYmVmMDI1ODM3MzkwY2M1OWY4ZjhmNDRjMjJlODc1MyBsZWdhY3ktdHJ1bmsKKzI3MzMwIDdkOGM2Yjg4OWI1NGUzMDFkZGZhOGM2MDc0MmY0NDYzNDU0ODVkMjYgbGVnYWN5LXRydW5rCisyNzMzMSAxMTFjMWU1OWFkNzJlYTAyNjUxNTNiMDIyNDIxYmVhZGNkMjcyMDBhIGxlZ2FjeS10cnVuaworMjczMzIgZjU0MDVjNmVjNGFjZDM2OWQzZTI5MzY2ZmUxYTA5MzU5ODc3ZmU1NCBsZWdhY3ktdHJ1bmsKKzI3MzMzIGY3ZTE5MWM4ZGIyM2YzMjY2ZmEwNTkxYzExMzAwZWUzN2ExNGM1ODcgbGVnYWN5LXRydW5rCisyNzMzNCAxZmUwMDVjNDI4MzY4N2JjNWE1ZDYxZTE2M2MyNDU4NmVhOGM5YjI0IHJlbGVhc2UyMi1tYWludAorMjczMzUgMjViMGFmMjdkZGM4NTcyZDEwMDFjZTZkMDA1NWZjMDI1YzFlYWJkMSByZWxlYXNlMjEtbWFpbnQKKzI3MzM2IDFhODA5NmJiNGM0ODI4MGM0OGMyNDJmOGEwMzZiZDk1NTgxNTcwM2QgbGVnYWN5LXRydW5rCisyNzMzNyBlMmZhNzQxYzU0N2Y1MTUxMGRhZjZkNTdhYTQ4N2RjMDVjYTk1MmNjIHJlbGVhc2UyMi1tYWludAorMjczMzggZWRkN2MwMTQ2YWM4MjRmNWI0ZTRjOWNjNTVmMmFkYjkzZDNhZmJlOSBsZWdhY3ktdHJ1bmsKKzI3MzM5IGE3Mjk5N2Y3ZGI0YzcwMThmNWI5NTQ0ZDcwNzYxYzVmMzg4YWEwODkgbGVnYWN5LXRydW5rCisyNzM0MCA3ZWJkMmNkM2FlZjAxYjczOTZiODEzNjM4ZmZjOTA4OTdlNmZmMDY5IGxlZ2FjeS10cnVuaworMjczNDEgODE0OWQ5NzhiMDA2Zjc3MGE5MWE3OTk4Njk2YjYwNDFlZmZkMjQyZiBsZWdhY3ktdHJ1bmsKKzI3MzQyIGZlOWM3MTMyYTg2N2U4ZTdhMmE4NTQ0NjJkZDg5OWJiZTAzYTU4OWMgbGVnYWN5LXRydW5rCisyNzM0MyBjNjlkYzQzYjcwMGE5N2Y5NWY4NWZjNTA1YTEyYjQyNmNiZTgzOTQzIGxlZ2FjeS10cnVuaworMjczNDQgNDgxZTRhNGI4ZGUwNjljMTU3ZDBkNzM5Y2M2YWRlNGMwYWZmZTRhNSByZWxlYXNlMjItbWFpbnQKKzI3MzQ1IDM2MDBkOGQwNzM1ODMyOWQ3N2VlNDZlOWNmZmYxNDJkZmNkMWVjZjIgbGVnYWN5LXRydW5rCisyNzM0NiBhN2IxNjllZjgzZWFjYzFjZjgzMjIyYTgwYjkzMGNkNjE5MmUyZmZmIGxlZ2FjeS10cnVuaworMjczNDcgMjZhMGQwZGExMzEyYzNjMGNmYzY2ODBmMjJkYWVlOGZiOTRjMWFmMiByZWxlYXNlMjItbWFpbnQKKzI3MzQ4IDA4MjViZDdiNWI1NThlMDFlOWE0NDRhMGUzYjQ4ZDhjZDQwMTQ4MmIgbGVnYWN5LXRydW5rCisyNzM0OSAzNWM5ODk0ZjA2Yjk2MGNlMTA1YzM2MjlhYzdkMmU3Zjk0YTFhOWFhIGxlZ2FjeS10cnVuaworMjczNTAgMzI0NjNlOGU1ZTFhZTZjZDk4MzRjMTE2N2M1Nzc5MzdmNTc4NWZlMSByZWxlYXNlMjItbWFpbnQKKzI3MzUxIGExODFjY2NhMTMxMjgzMmRjMmIzYTAzMmVlY2ZmMmVjOWE1YjM0MWMgcmVsZWFzZTIyLW1haW50CisyNzM1MiBkN2E2MjA0MmU3ZWZhNTk1MGQwZjViMjU3NmVmOTA0YWZhOGJkYjA5IGxlZ2FjeS10cnVuaworMjczNTMgMjEyZWU2MzY1YmZmOTgzZDkxZDg1MTk4NDJlMzRjYzYyMDg2M2Q2NiByZWxlYXNlMjItbWFpbnQKKzI3MzU0IDdkOGExNTA0OTZhOGYwNmQwNmEzNzAyNTg4ZWQyOTYyZjhlYzMyODYgcmVsZWFzZTIyLW1haW50CisyNzM1NSBkN2Y4NTEyZGE0MjM2YzlmYzFkNTk3MzBmYTZjOTE3NjExZDYwZjI1IGxlZ2FjeS10cnVuaworMjczNTYgYTU2MjkyNzMyNTY2ZGQ0NzgyNGEwZWEyYTdiMmZiZGE5YjFjNWUwOCBsZWdhY3ktdHJ1bmsKKzI3MzU3IDg4NjMwNzZlMmRmOTMwNzc3ODYyNWM0ZDk5ZDkyNTZlYzJlZDE1OGIgbGVnYWN5LXRydW5rCisyNzM1OCAzM2VhNTIyZGQzZDIyZWE5OTEzY2UyN2ZjZGZmMDQ3MDViNTU3MDE5IGxlZ2FjeS10cnVuaworMjczNTkgYjc3MTg1N2VkNzg4OGRlMzNiOTY4YWJlYWEzODczOGJkOWFlNmVhZCByZWxlYXNlMjItbWFpbnQKKzI3MzYwIDRhYjlkZjI0MTZmOTM2ZGMyYWYzN2ZiMDQ3MWUzNDMwMTNjMjM5OTggbGVnYWN5LXRydW5rCisyNzM2MSA5NWRhOTkxODdjNTc1NDIwOTM3ZDdlNWYyMTE0YTUwNjlhZDQ2ZDM0IGxlZ2FjeS10cnVuaworMjczNjIgYWQ2ZmExYzA0ZTQ3NDc3MDhkZGFiMjIzZTVmMmFjZTdlYmUwMTg3OSBsZWdhY3ktdHJ1bmsKKzI3MzYzIDQ4YWQ0NzBjMWY4ZTE2YTQyYWQxOTM5NWEyODZiZmRkMWRjZTJkZWIgbGVnYWN5LXRydW5rCisyNzM2NCA0MTQ2OGY5MzUzY2U5YTg5MzMzM2MxNzIwMzI4NjE1NWYwNDY0YjRiIGxlZ2FjeS10cnVuaworMjczNjUgNzAzZTYzYWUwZjAxZmM0ZGYwMGNlYmMyNDhkODI2NDJiYjQzOTMwMSBsZWdhY3ktdHJ1bmsKKzI3MzY2IDFmNjUxMDA1MWM4YWU4NjJkOTJhNGU0YTI3ZmUyODIzZDdiZDUzMzEgbGVnYWN5LXRydW5rCisyNzM2NyBkYWI4NzAxYmQzZmEyNGI0MTVlOGMzY2ZjZjFhNTAzYThlY2VjYWY3IGxlZ2FjeS10cnVuaworMjczNjggNGU2M2U5NzcxZjMwYzUwOTg0OTYxNmQ4ZWU3OWRmYjJmN2E1MTY1NiBsZWdhY3ktdHJ1bmsKKzI3MzY5IGI4ODc1ZjE2YTRiZTU0NWYyYjc5MDQ0ZmY0ODE3MjA3YjUwZWUxMjkgcmVsZWFzZTIyLW1haW50CisyNzM3MCA0NWI5ZTEyMmMzM2E3YTFlZGYxODIyYTM3ZGIzZWQ2ZWRmZTI4ZjQ3IGxlZ2FjeS10cnVuaworMjczNzEgYjcxZTBmOTZkZTIzMzU3YWYzMjA4MzNmMmFiYWUwN2ExMGZiODBlMCBsZWdhY3ktdHJ1bmsKKzI3MzcyIGVhMTg3NzhkZjZjMzcwMDhjMjE5YWQ2OTJiYjNlNTJjODZhN2NhY2MgbGVnYWN5LXRydW5rCisyNzM3MyAxNGUyZWI5ZTVlZjJiZWE2MGFiZDhiMTQ5YTVmYzMxYzk0ZDRjNDZmIGxlZ2FjeS10cnVuaworMjczNzQgMTlhNjA5NTE3YWI4YTZiZjUyYjNjOWU0M2Y5MzU4YzgwNzRiMmZhYSBsZWdhY3ktdHJ1bmsKKzI3Mzc1IDE0ZDhlZTFlOGRlNWNjZDE0YzUxMDgwMjQ3NGYwZmE2NGJiNmMxOGEgbGVnYWN5LXRydW5rCisyNzM3NiAwMGU1NzhmNzhjYWFhMmE4NzYzZWQwYzUyN2U1ODNmMzJkZjQ4MDg1IGxlZ2FjeS10cnVuaworMjczNzcgNDRmN2ZjMzA3NjczNjgzODQwNDhlMjA3NTU5ZDk4ZTRlYzUzZTdkMCBsZWdhY3ktdHJ1bmsKKzI3Mzc4IGM4ODI5MDQ2MDc5MTljYTMxZGE3NGRhYjFjNzM5NTkwOWRlNzNhNzQgbGVnYWN5LXRydW5rCisyNzM3OSBkYzg3MmEyZjUxM2I0NDIxYWMwZTk0Y2YxMzlkZTQ5MzE4Y2Y5MTAzIGxlZ2FjeS10cnVuaworMjczODAgOWQ4OWE5YTA1NGUwNDA5ZWYxMzdlNWVmMjU4NmE1NmI0N2U2OTViYiBsZWdhY3ktdHJ1bmsKKzI3MzgxIGU4YTI2M2RiMWJlMDMzYWI1OWNiZjRmZjMzODk5MWMxNjk4ZDNiNzYgbGVnYWN5LXRydW5rCisyNzM4MiA3MWYxM2NmNGY5ZTJkOTMyYjVkOTg5MDRmNDY3YjZiODE0MDY1M2Y0IGxlZ2FjeS10cnVuaworMjczODMgMmU1YTFlOGMwYjQ4MWQ2NGEzOGZmZGU1ZGVmNWI3YzA1OTBlYzRhOSBsZWdhY3ktdHJ1bmsKKzI3Mzg0IGVkZjk1MGJmNDIzMjU4YzZmYTYyNjQzOWNlNGY0ODcxMzRmNGRiM2MgbGVnYWN5LXRydW5rCisyNzM4NSA1ODQzM2I2NmY1ODM4OTgwNmQ3MTc3ODU5ZjkwYjVlYTk4M2RiNTQ2IGxlZ2FjeS10cnVuaworMjczODYgN2Y4M2IyMTI0YjRlZDM5MzZlY2U5OTViM2I4NmY3Zjc2ZWRlYTUxZSBsZWdhY3ktdHJ1bmsKKzI3Mzg3IGQ4ZGU5YjVmNTYxZWVlOGVmMjQ0NjU2MTQ2NWE0YTQ3MjNkYTRhMmUgcmVsZWFzZTIyLW1haW50CisyNzM4OCAzODQ4YWEzZWRhZmM2Yzc3MzQ3OTliNzcwODY4YjViYzJjNzBjMjAyIGxlZ2FjeS10cnVuaworMjczODggNzRkNWNkNjk4YmJmNzFjZDliNGI5NjQxOWQ5MGMwOTA4ODM1YzRhZCByZWxlYXNlMjItbWFpbnQKKzI3Mzg5IGZjZjJlMDFjNjE2YTYwNGVhZjBmNTM1YTVlODhmZTI3NDMwYjhjZmQgbGVnYWN5LXRydW5rCisyNzM5MCA5MTM1NzBhYjA3Mzc0MzM3NzkzNjJlODE2MjM4ZDNhNzRiYTc0ZTUzIGxlZ2FjeS10cnVuaworMjczOTEgOWE5ZDZjZTVlZDRlMjI1ZmM1Y2YzZjc2ZmEwZjM5NzFkM2I1ZWE2YyBsZWdhY3ktdHJ1bmsKKzI3MzkyIGJiZmVmOTQ4YzQzZTgwMDQxYzUxZmZmODhjM2FiNzJkZGMxOGUyYjUgcmVsZWFzZTIyLW1haW50CisyNzM5MyA3NDM2ODk4N2Y3ZjBhMDNkZTE5NDVlOGY3Y2RiZmIxYjA1YmM3ZTQ2IGxlZ2FjeS10cnVuaworMjczOTQgYmJjZWU3NDc4ZmNiODQwNDg5NzVkZDQ0YTFhNzk4ZjFhNzQ0ZTNiMiBsZWdhY3ktdHJ1bmsKKzI3Mzk1IDM0YjhjZGJiZDhmZTMzOTRlNTRlYjU4N2M4ZmFhZWJjYjhlZTY0YzAgbGVnYWN5LXRydW5rCisyNzM5NiA5YjZkMjU5YzI1ZWI3ZWE2MDFlZTRmY2I5MWE2ZGQ1Y2NiMWQwYjUyIGxlZ2FjeS10cnVuaworMjczOTcgNWI1MDhjZTA0OWY1ZDA4NWIzNjE5ZGU2NWNiYTc4M2ExYmQwMTVlMiBsZWdhY3ktdHJ1bmsKKzI3Mzk4IGM0ZDY4ZjgyYTZkZGI4MTY4Yjg5MGUzM2M3MzBiODA1ZDUwN2M2ZWIgbGVnYWN5LXRydW5rCisyNzM5OSBkMTBmMWM2ZDllZTk0MzA2ODI5NWUwMWE1ZjUwMGEyMDU5MWExODY1IGxlZ2FjeS10cnVuaworMjc0MDAgYzEwYzA5MTkyYzEyYmNhMWUxYzkwODUzMWViZjY0ODk0NDRhNjk0ZSBsZWdhY3ktdHJ1bmsKKzI3NDAxIDA3ZTc0OTkzNTczYzViNWVkNWNhNjVjYWUyYWRjZDE2ZTkzZWRmZjYgbGVnYWN5LXRydW5rCisyNzQwMiAyNzVkMDRhMzU1NDIyNjRiZDIyYjNjZDg1YWNkNjhkMjBjZmIwMDg4IGxlZ2FjeS10cnVuaworMjc0MDMgNzdhOTZhYzRkZGU0YzA4MDVhYTYxNmZhOWJkNzEzMzEwMjc2ODcwZSBsZWdhY3ktdHJ1bmsKKzI3NDA0IGVhZTQ5NmVmYTQ2MDEzMjc0NmM1MTNlMWQ4YWMyNjUxOTZmMWJkYmIgbGVnYWN5LXRydW5rCisyNzQwNSAyYzIyNDVhYWNlZjg4ZmM4NWU5NWQwYTQ5OGUxOTE4MjZmNjQxMDZjIGxlZ2FjeS10cnVuaworMjc0MDYgOTM3NzE1ODY1MmRkMGQ0Yjg2YTFlYzJiMmZjMGI1MWFkNTBmOGY0ZiBsZWdhY3ktdHJ1bmsKKzI3NDA3IGEzZDYxMjhhZmIyZTU1MzFjOTJkMDE1MDc2M2Y2ZGQ3YzMyOTg3NTkgbGVnYWN5LXRydW5rCisyNzQwOCBhNzhkNDFlZTk0NzRmNzYxNzRhMWNjMmMxNDVlMjUwMjk2ZGIzMzJlIGxlZ2FjeS10cnVuaworMjc0MDkgYWYwNTMyZjIzYWIzZmZmZjllNzAwNDE3NmFkNTM5ZWIwYjdhZTQ1YyBsZWdhY3ktdHJ1bmsKKzI3NDEwIDYzZmJiZWQxMDcxNGFhNTQ2ODBkYjhmNjU2NWJmMDVkNDM0ZjdlMzYgbGVnYWN5LXRydW5rCisyNzQxMSBmZWYzOTdiMWI4NWMzZDg5ZjdhZDRjY2UyZDYxNjBiNWFjZTlhZTliIGxlZ2FjeS10cnVuaworMjc0MTIgOTBjY2E4NTdkMjAzMjJhMWIyN2U3ZmE5ZTY4YTJiNGQ2MTJiOTE2NyBsZWdhY3ktdHJ1bmsKKzI3NDEzIDQwNDYyODJjYjMzOGNmN2U1MzZhYTEyNDZiZmNmMjUzNjhmMGQ5MzkgbGVnYWN5LXRydW5rCisyNzQxNCA4ZWE4NjU2NGZiMzI2NDM5ZmVlZjZjMGE3OWJhOTNlZjZkNDQ1NzQ3IGxlZ2FjeS10cnVuaworMjc0MTUgYmM2YWFlNzRkZGZlNWM0MGIzZTc1MzY2MWU5MzRmMTRlNjdlYmRhOCBsZWdhY3ktdHJ1bmsKKzI3NDE2IDJjNzliMWE4ZDYxNjUzOTE1MWY2ZmY5ZWE4MjMyZjk1YmJjOTcwMGMgbGVnYWN5LXRydW5rCisyNzQxNyBkOTNmMzQyMDE1MDM4YTc5OGY2Nzk1OGQzZGFiMDc3NWUyZWE4YzkyIGxlZ2FjeS10cnVuaworMjc0MTggNzE4NDBhMWJkODJmYzdjNDY0N2I0M2IxMWI0MjY4MTlhM2UyZGMzZSBsZWdhY3ktdHJ1bmsKKzI3NDE5IGE5MjIxMTJkNzgwYzU4OTdmZjQ0NTcwYzgzNGEwNGY5OGM4NzYyYTcgbGVnYWN5LXRydW5rCisyNzQyMCBjYjE2OTk1YWE3ZTgwOWVlMjRlNzNmYWRmNmRkZTQ0NzMzY2JkMjYxIGxlZ2FjeS10cnVuaworMjc0MjEgOTkxM2NmN2M0MDg2MWZmNDk0NGM5OGNmZWZjYTJjMjQ4YzhkOGY4ZiBsZWdhY3ktdHJ1bmsKKzI3NDIyIDY3ZjJiNDBiYWI3MDcwYTJkYTA1NWMwMWViM2NmZTVlNmViYWNlY2MgbGVnYWN5LXRydW5rCisyNzQyMyBlOWE2YTBjNGIzM2YzYzhkZmRkZTE3ZmYxNGU5YTJhMGRmMDgwYTZmIGxlZ2FjeS10cnVuaworMjc0MjQgZGNjMmI3NWQ3YTc4YzBmNGQwNDFiOWQzMjM2ZDYwYmNlYWE2ODM1MSBsZWdhY3ktdHJ1bmsKKzI3NDI1IDE4NzE3MzM1MjQzNTQ5NjVjZmU5YjJkZTdjZDY5ZjM2MWQ1MDU4YjYgcmVsZWFzZTIyLW1haW50CisyNzQyNiAzN2ZmY2UyZDljM2NlMDUzNmYwZjU5Yjk0YmE2OTEyYmZhNmYzYWZiIGxlZ2FjeS10cnVuaworMjc0MjcgZDI0YzhjOTQ2NzQxYmZiNzk3MzMxYzkxNjc3YWEwZmUxMjFhMzkzNyBsZWdhY3ktdHJ1bmsKKzI3NDI4IGRkOWQyZWM5NmVhZDBjZTcyNGEzNThmZjY2NmJlODg2MWZlMDc1MTMgcmVsZWFzZTIyLW1haW50CisyNzQyOSBiOWUwYzU3NTMyMzgwODRiNjVjYjgxZWVjMjYxMzVjZWZhZDhlZTAwIGxlZ2FjeS10cnVuaworMjc0MzAgM2U4NjNhNjViMWE0NDJjZGM0NmIzNjE0NmIwMTRlOTliMzNiODZlNCByZWxlYXNlMjItbWFpbnQKKzI3NDMxIGU4Nzg5NzUxYTVjY2MzNjY1MTQ4YmYxYjk5M2UwNzI5MTE3MTMzZmMgbGVnYWN5LXRydW5rCisyNzQzMiA5MjgzNGEyNDhjMTVjYmY3ZWYzZmMxNGQ4NDE4YjhhODAzMmFlNDhlIGxlZ2FjeS10cnVuaworMjc0MzMgNjBlNDFhNTRlN2IxMDliMjBiZjAxMzAzOTVlMDlhYTkzMTMyNzI3YyBsZWdhY3ktdHJ1bmsKKzI3NDM0IDJjNmY5MzFkOGRkMjUxNDFiYmE2MGU3YjQzNjc5ZmNjMzhiN2M5ZmEgbGVnYWN5LXRydW5rCisyNzQzNSBjNzk0MzJmZWI4NjIxNTRhYTg2ZmY3ODI4MGY0NzRiZWQ2MWYxOWNjIGxlZ2FjeS10cnVuaworMjc0MzYgNWFmOTA4MWE2Y2Q0MDllNGFlYjEwOGEzMTFmMmJhYmM2ZDMwMDM4NSBsZWdhY3ktdHJ1bmsKKzI3NDM3IDBkOTcxNmMzYjhlY2YzNWM5OTI0ZmZlMzA0ODRhMzY2ZjJjNmUwYWYgbGVnYWN5LXRydW5rCisyNzQzOCBiMTI4MjU1YzJiZWE3MDc3ZGIzMjg5ZWRhMjhlNDQ0OTNhODQ1MDY4IGxlZ2FjeS10cnVuaworMjc0MzkgODE0MmY4ZDY2OGEwZjRhYjdhYWZlZTkwYmVjOWJiYjMxNzI3Y2UwNyBsZWdhY3ktdHJ1bmsKKzI3NDQwIDg2YjM3NjBkMjg1ZDYwZjZkYzkyMjZkYTdjOGRiZTI3ZjVlZjAzYzYgbGVnYWN5LXRydW5rCisyNzQ0MSAxMzE0NjQyY2EwOTc2YmJmMGViYzU2M2JiY2E4NDZjZjUyYTg5YTg1IHJlbGVhc2UyMi1tYWludAorMjc0NDIgYTE4MDVhNTQ2NjZmYmJmZDkxYTBjNmYzMjhiNThlMjEzMmRmMDc3MiBsZWdhY3ktdHJ1bmsKKzI3NDQzIDMyZGIwNzVkZWYzZjU2NGI1YjZiMWQwMTI3YWQ0YzVkNTAyMWY4M2EgbGVnYWN5LXRydW5rCisyNzQ0NCA5NWNjZDViYmRjODZkNGYyNWNkOGY5ZTlkNDk2YjM4NzRmMDU0OTY3IGxlZ2FjeS10cnVuaworMjc0NDUgYTUxNjJmZDY1YzNkNWJiMGQ5ODYyYjgzMzk1OWY0YWE5YjY2MjQxMyBsZWdhY3ktdHJ1bmsKKzI3NDQ2IDcwMmE1OTAwZGY3ZDY1ZjlkNDA2OGIyNTEwMDg5ODc1YzY4YzY5NjMgbGVnYWN5LXRydW5rCisyNzQ0NyAxODNlYmEyZDIyMTQwYzFlMWViYTVjNjNjMWUyZGZkYjZlNTk3YTQ0IGxlZ2FjeS10cnVuaworMjc0NDggMTU0NDdhNTU3M2JkMTE0ODkyNzNlNTE0MWUzMDBkZTIzMDAyMTQxYyBsZWdhY3ktdHJ1bmsKKzI3NDQ5IDgwMDkxMmY3ZGYyZTM5MmEwNDhkMTZmYmJkOWRjYTMyMjU0Yzg3YmYgbGVnYWN5LXRydW5rCisyNzQ1MCBlNjZjZWQ0ODFjNzdhNGJjYjI1NTQ5ZDllMzA5YWFlODVlYzJiMDBiIGxlZ2FjeS10cnVuaworMjc0NTEgZDcxMjZjMzQxMjhhOWQ5YmQxMzM2NmYwOTE2MGZiODRmMTllZjU3ZSByZWxlYXNlMjItbWFpbnQKKzI3NDUyIDZmZWQxMzQyMmJiMWFhZmQxMjM5NjE5Y2ZjMzVlMWY3M2IxZWYxYjUgbGVnYWN5LXRydW5rCisyNzQ1MyAyMmQyZjAzN2FmOWQzYzRjZWI0M2M2ZWM1MzRmZDUwYmIyZmM1MmZkIGxlZ2FjeS10cnVuaworMjc0NTQgODZkZmI5NmExODMxZmQyN2VhYTNhMGMzMzQ1ZDJmMGNmMTUyOWNjMCBsZWdhY3ktdHJ1bmsKKzI3NDU1IDM1NWU0NmNjMTI0ZmYxMTE2ZTQ1Y2YwMzNlMmYxNGJjZWE4MDk0OTMgcmVsZWFzZTIxLW1haW50CisyNzQ1NiBiNzRkNGE1OTc5M2FhZDQ0N2I1MTVjMjFjOWQ3MDk2ZWI3MGRiMjUzIGxlZ2FjeS10cnVuaworMjc0NTcgYjE4NWM4NTk1MmZlODM4ZDcwOWEzNjA1Y2I3ZDZiZjJhZjNiOGMwYiBsZWdhY3ktdHJ1bmsKKzI3NDU4IGJjMDBlZWVmMGFjN2JhY2MwNDMwMTUzNmEwMmVjYmM3NjcxODYwZWUgbGVnYWN5LXRydW5rCisyNzQ1OSA0Mjk4ZTI2OWJkNjcyMDEwNDM4Y2EzY2Y4OTU1YzIyN2E5ZDY4MWJhIGxlZ2FjeS10cnVuaworMjc0NjAgNDAyNjU2NWZhN2ViZGZmMTkwYjJjNTI5MTgxZTU1ZTg4OTgwM2YwNCByZWxlYXNlMjItbWFpbnQKKzI3NDYxIGEyYjY3N2FmN2IyODlkNjVhMGMxMTUwOTEyODg0Yjc2NDczNmRjZWYgcmVsZWFzZTIxLW1haW50CisyNzQ2MiA2ODk5NWU4NTRhODhlM2Q1ZDdmN2JkYTc3NzY0M2UxNzA2MGRmOGIzIGxlZ2FjeS10cnVuaworMjc0NjMgZGJiMTRmODVhZTdiNjBkZDMyOGZmMWE2ZTNhNGRhODliMzc3N2M5MiBsZWdhY3ktdHJ1bmsKKzI3NDY0IDJhMjA1NzQ0MDBhZmI2MDg4MGE0NWE5OGM4NjJhOGM0NmEzZjUwN2MgbGVnYWN5LXRydW5rCisyNzQ2NSBmN2FiYmQxNWI0ZjQ4MTliMTdkMGM4NGIyMjAwNzc5YWM5MDU3YjAwIGxlZ2FjeS10cnVuaworMjc0NjYgY2ZjZmI1ZGY2ZTYxY2M0YjUwZmUzYzUyYjA3NTg0OWQ4NjY0YmI4ZSBsZWdhY3ktdHJ1bmsKKzI3NDY3IDUxNDgxYjM5Y2Q4NjVjMWU3ZWU0YjMyMWVhODAyOGZiNjk1NDNhZWEgbGVnYWN5LXRydW5rCisyNzQ2OCAwYTE4ZWY1Y2IzZTdlZDc3MTk4YzczMGYyZTlmNDBjMjYzNjJjZjA4IHJlbGVhc2UyMi1tYWludAorMjc0NjkgZjhkNDFlMjY0OWI3ZTVkZTc3YjY2OTEyNzE3ZWI2ODg4MmRlZGQ3NSBsZWdhY3ktdHJ1bmsKKzI3NDcwIDI4ZjJiYWUxMDMxYmYzZjA4NTU2YTM5ZTI4ZjcxMDkyMWU5ZjhmYmMgcmVsZWFzZTIyLW1haW50CisyNzQ3MSA0NmE4NGQyZmY0ZTJhYzdhMDI4ZGM0YzMxZGYxYTQzODIyYWZmYzEwIGxlZ2FjeS10cnVuaworMjc0NzIgNjY3NjYyM2IzYjc0MjE5MTZlNzk1NDlmZTc0YmQ0MzNhMGE4NzBjMSBsZWdhY3ktdHJ1bmsKKzI3NDczIDhjZWVlNjYzMDMyMmM1NzU0NTQzNmMzNzZiMDYxMGY0YTg1ZmMzNmUgbGVnYWN5LXRydW5rCisyNzQ3NCBmN2MwZDY4NzFiMDdmMDMxMWZkNjk2OTY0MGE5MzIwMGE4MTVkZTE3IGxlZ2FjeS10cnVuaworMjc0NzUgNzMzNmY1MWZhYTQ2Y2I3ZTFiNTIyMDM0M2E5NTVlNDI4MDk3ZGY1MiBsZWdhY3ktdHJ1bmsKKzI3NDc2IDZjZDkzMmZmMGYwOWQ4Y2ZlNzNkNmRkMGYxNWI3MzhmOTk4MTI4ODQgbGVnYWN5LXRydW5rCisyNzQ3NyA4MDE2MmRiZDQ3ZjAxMzJmYTU5YzhmZGYyMGM2Y2FiM2RlYjZlODQ5IGxlZ2FjeS10cnVuaworMjc0NzggODA1YzIyOGNmNzdiNmZmZjkyMGI5ODdhNGU2NDUzMjI4NzZiNDdjNCBsZWdhY3ktdHJ1bmsKKzI3NDc5IDM0ZDcxMzcwOThhNzUxOTQ3ODU4MWU0YzFiMDU4ZDJjZTEyOTYxZjMgbGVnYWN5LXRydW5rCisyNzQ4MCBjYmRiYjkyZWZkMzY5Zjg0OTdlYThhODIzNDEyZmQ5YjYxNWU4N2IwIGxlZ2FjeS10cnVuaworMjc0ODEgZjM1ZTI5YWEwZDkyNGM0MjQ1YmU0MWIxNWNhZDIyMzlkMzI4NzY3ZiBsZWdhY3ktdHJ1bmsKKzI3NDgyIGZmNjg3M2QyOGExNDY4M2U1YzBmYjg0NjdjOTY2OTBjZjg3YjE4MWUgbGVnYWN5LXRydW5rCisyNzQ4MyBmYTZiZTllZTZjOWM0ZWI3ZmRiMzk1ZWM0MjIxYzIyZDY4ZDZmZmExIGxlZ2FjeS10cnVuaworMjc0ODQgMTMyNDBiOGY4Y2EwMTQxYTJlYWZkODkwMjYyZjc3NTc3YjhlYmY5NyBsZWdhY3ktdHJ1bmsKKzI3NDg1IDFlMGFjYjQ1Y2E4ZjBmY2UxYzVmNjVhZDIxZWE1YmQyMGZkMGMzZWYgbGVnYWN5LXRydW5rCisyNzQ4NiBmMzZmYTEwZWJmYTBjMjYwNTdlY2UzZjdlNzEyOThhY2UwMmZiNTM2IGxlZ2FjeS10cnVuaworMjc0ODcgZjMzYmI5YzEzMWY4Y2NlNTY0NDg0OWRlMTVkMGQwMTZiYjdhY2UwZiBsZWdhY3ktdHJ1bmsKKzI3NDg4IGI1MWE1NzhmNTc2OWI1ZjE5OTk5OThhY2Y1MDFiNjFkMmM5NzVmMjEgbGVnYWN5LXRydW5rCisyNzQ4OSBiZjM0MjFhMjg3NDQ2Y2QyMTY4Mjk4MmYzYmYyN2IwYzYwNjVlZTY1IGxlZ2FjeS10cnVuaworMjc0OTAgZDMzMjQ4NGUzOTRhODBiNDZmMGZmMGY2NGI1MGI3YzY0YTA2MTE1MSBsZWdhY3ktdHJ1bmsKKzI3NDkxIGFhNjIxN2JmOTc3NjQzYWM0NzhkZDEwOGNlMWE4MzBlNDQzMTUyZjYgbGVnYWN5LXRydW5rCisyNzQ5MiA1ZGE2MDVkMmI1NDc3YTQxMTk3NGZlZTI2ZDg0MGRkYmRhYWFiZmFjIGxlZ2FjeS10cnVuaworMjc0OTMgZjM4MTEyYjg4Mzg4ZTc4ZmIzOGI2OGQ5NGRiZDk0ZWQ5ZDhmM2FiZiBsZWdhY3ktdHJ1bmsKKzI3NDk0IDdkY2VmMmY4NzA2ODIyNmRjN2RiYTliMmNiZGFhMGMyODk0MTkxYTYgYXN0LWJyYW5jaAorMjc0OTUgZTMzMzkzY2U0YzUxM2FkN2MyZWMwNzQ1YWZiYTE0MjhmYWU0YzE5MSBhc3QtYnJhbmNoCisyNzQ5NiAzMGM3Y2M1ZjI1ODczZWY4NzNiYWZmMGEwOWM1NjI3OTRhYTUxMWEyIGFzdC1icmFuY2gKKzI3NDk3IDMzZjIxZWFiYzE1NTA2ZGQ1YmQ5MWI2MDE1N2FiNzY1MDVmNDY3MDcgYXN0LWJyYW5jaAorMjc0OTggYzk2ZTU4NDM4YTlmMTY1MzM4ZjcyZDRmMmRkNmRlYjY2MDBhZjBkNyBhc3QtYnJhbmNoCisyNzQ5OSBmNzRmM2MzMTkwOTkzZGEyNDk2ZjY0Y2EyMTRjZDg5YTNjMGVjNGIwIGFzdC1icmFuY2gKKzI3NTAwIGM0MjYzNjMwNmU5NmI2ZDA4N2QwNjk4Y2Y1ZTkyMzliOTJkOTNkN2MgYXN0LWJyYW5jaAorMjc1MDEgMmE2ZWM5OTIyMjhiYTdhMzVmMDRmMjE0ZmRmMjVmZTBlZmQzNjI4ZSBhc3QtYnJhbmNoCisyNzUwMiA4NDRmMTI5ZmExMjg1Mjg1NTc3Y2U0NTU5MDM5MTFkOGQwNDZiNWMwIGFzdC1icmFuY2gKKzI3NTAzIGZkZjgwZTA0ZTRiYmQxMmExYzE2YjMzZGIwNzczOTMyNTFhZjk4OWUgbGVnYWN5LXRydW5rCisyNzUwNCAzMTEzNzU0NjRmYWMzMzJhY2MzMjI0N2M4ZjAxODQ3NDQ2ODZiMDIxIGFzdC1icmFuY2gKKzI3NTA1IDllNjNiMGY0MDlkNGIzNjA2N2I3YzM2MTc1NmUzMWZkNmZhNDEyZWYgbGVnYWN5LXRydW5rCisyNzUwNiA3NmU5YTE0ZmI3YzVhMGFmM2I5Njc5ZmU4OGY0ZWIyMzc3MGRkY2Q1IGxlZ2FjeS10cnVuaworMjc1MDcgMzk5YjA5YTI3YWYzMTRiNDcwYjMxNjM3OTVmMjliYjNlOWZlNjczYiBsZWdhY3ktdHJ1bmsKKzI3NTA4IDcwN2M2ZjAyNjE0MmE0MGQ2YjVkODZkMTZkMmZkOTRhMDk5ZTlhYzcgbGVnYWN5LXRydW5rCisyNzUwOSBlNWVjZWY1YTEyM2FkODkwZjM1MTIxNmFjNzJmYWM3ZjU0MjgxMWEzIGxlZ2FjeS10cnVuaworMjc1MTAgMTJmMmJlODVkYTI1OWE1MjYzMDE5Yjk0ZjNlYTRmMTdmNWNjNDJlZCBsZWdhY3ktdHJ1bmsKKzI3NTExIDhkZmFjYjA2YzNkMWE0ZjEwMmFiMWM2ODIyMGJmNWYxMDY5ZTk5ZmIgbGVnYWN5LXRydW5rCisyNzUxMiA4NjVhNzdjZTQwYTlmODYzZDc0NDMyYjZhMDE5OTEzZDNlYzVmMTNlIGxlZ2FjeS10cnVuaworMjc1MTMgN2MxYTc2Yjc4NzEyMjJjMmExOWJkMmFlODg0MWIwOGZmNDJlZWQ3YSBsZWdhY3ktdHJ1bmsKKzI3NTE0IGE0ODNjNWRkYjdmMWI1ZTcxMTBmYmQ5YjBlZjE5NDc2MjQxZTNmNWMgcmVsZWFzZTIyLW1haW50CisyNzUxNSAxNzZhZDcwNmFmYmM1NmJiNzM3ZDM3MzJlMWVmMjRhYWFhNDI2NmQ1IGxlZ2FjeS10cnVuaworMjc1MTYgYzM2YmU3OWZkYmVhMTcxNjAzYzQ1MTlhNzkxZjk2YTYwY2RlZTBmMyByZWxlYXNlMjItbWFpbnQKKzI3NTE3IGFiZWRjNWNlY2M2NDlkNzNjOTRmZDEwMThiMDkwMzQ2ODZjMGVjNDUgcmVsZWFzZTIyLW1haW50CisyNzUxOCAzOWMwYmYyMDFkYjljNDMxZWE5ZDg0MjNiYTc3NjY4MDllYTE4YjI0IGxlZ2FjeS10cnVuaworMjc1MTkgNDBiZGEzZTA5MGY2N2JhNjg0YjNmNmY3NmQ0MzY1MGEyMzJjMTA3NyBsZWdhY3ktdHJ1bmsKKzI3NTIwIDIxYmQ4NmUwMGJjZWMxYjMzNDYzNTgwNTNiMTQ5MmFiMWI5MGRlNTAgcmVsZWFzZTIyLW1haW50CisyNzUyMSBlOWU2MTExYmVlYzE3MTllOGZkZDU5NGQ0ZTEyMzEzMTg0OTliNGFjIGxlZ2FjeS10cnVuaworMjc1MjIgZDdkODE2ZTFmNTIyNjRhYTg0OTgyYjExZjNhMTgzMDQwZTUwOTE5YSBsZWdhY3ktdHJ1bmsKKzI3NTIzIDcxODkwOTEyMTczNzFiZjRiZDc4ODIyMmM5ZWRiYTM0NTZlNzg2YjMgcmVsZWFzZTIyLW1haW50CisyNzUyNCA2OWZkODI2NThiZmIzMjc0ODE5NTY3MzY0YWU2YzAxZWZjMTE0OGJmIGxlZ2FjeS10cnVuaworMjc1MjUgYmUwMmQ1MTRiOWE2Njk2YzIwYzdiZmIzZTE3YzllMTVhODY0OTFkMiBsZWdhY3ktdHJ1bmsKKzI3NTI2IDQ4MTA4MGY3MTQzOWFiMzJiZWNiOTA2YmEwYjhjZjBkMGU5ZWZkMTIgbGVnYWN5LXRydW5rCisyNzUyNyA3YmNkODE3NzYyOGYzNWFhNmEzOTY4YTgzZDAxODZjNjk5MjMxOTFiIGxlZ2FjeS10cnVuaworMjc1MjggZWEwMzg0Mzc1NGMwMDI0ZTc0M2VkOTI1Mjg0MDY2NzdlMjczYmY4NyBsZWdhY3ktdHJ1bmsKKzI3NTI5IDU2MmQ3ZjhhODJhMTliYjMyZTFkYTgzZjE0NDMyNTUwYzRjYmEyZDAgbGVnYWN5LXRydW5rCisyNzUzMCBiYjdjMzk2ZGUzYWJhNzgwYTEwYTIzOTY4ZGI1NzYzNmQzNGFiMDg1IGxlZ2FjeS10cnVuaworMjc1MzEgYTU5ZGYyZmE0ZWM4YWZmNDY2ODM5MDM4YTY1NzI5OGU3ZDMyMGM1YyBsZWdhY3ktdHJ1bmsKKzI3NTMyIDIwOGZiMWQ2MTE0ODRlNzExYzA0ZmYyNWM3ZGZhMDAwYWY0MTA5ODcgbGVnYWN5LXRydW5rCisyNzUzMyA5NDU2YTJjY2RhNjEwYTFkYTRkY2VmZGE0NzI5NzYyZjdhZjVmZGFkIGxlZ2FjeS10cnVuaworMjc1MzQgNDRjMTk2OTlmYTdlZjlkZDNmMzI5MmM5ZDY4ZDA5MjQwNzI0NTk5MiBsZWdhY3ktdHJ1bmsKKzI3NTM1IDlkZGVkNmYxODgxOTFkMDg3NDQ0MzJkNGQ4NDM0OGIyYzdiNGNmZGIgbGVnYWN5LXRydW5rCisyNzUzNiAyMzNhNTBlMTBlNjZiYTRjZjAzNWRmZGY3OTYyZTgzMjBiYTFjYjQ1IHJlbGVhc2UyMi1tYWludAorMjc1MzcgY2I3MjgxNDFhZTEyYTI1M2NkNmU1YjQxM2M1MTBmMWRjNTBjNGRhYiBsZWdhY3ktdHJ1bmsKKzI3NTM4IDYzN2RmY2Q5NjNiOTgzMmE0Yjg1MWRkNzgwNTBkNjYyMzU0NzdhMTEgYXN0LWJyYW5jaAorMjc1MzkgZDRkNWMzNDBlMDU0MzgyYjA3OGVkMjhiZTcwMDNmMzcyYmI4NDM3MiBhc3QtYnJhbmNoCisyNzU0MCAyMmIyMTJkZDg2YzFkYTNjNWRiZDY2OGZkYmFmMTU5MGFhMTE5MjVjIGFzdC1icmFuY2gKKzI3NTQxIGZkMTczOTRmNmRjZWUxYjhmMjc4MGUwNDQwYTU2NDVjNjBhMDY4ZjQgbGVnYWN5LXRydW5rCisyNzU0MiBlNjg1ZjMyZDgwNjg4ZDE4YTlhZDNjMzBlYTkzNjhiYTQwMjU4NTQzIGxlZ2FjeS10cnVuaworMjc1NDQgOGVlMmFiNGYyYTJkNDk4ZTJhMjA3YmU0ODYyMTkzNWRhZDQ1ZWVhMCBsZWdhY3ktdHJ1bmsKKzI3NTQ1IGEzODdkNGU1MzljMmQ4MmU3ZGJhZTNiYTc5NWJkNDAyZGRiOWZlNzQgbGVnYWN5LXRydW5rCisyNzU0NiA3OGFiMDg2YTM1NDg0NmZjYTg4NTQ3ZDg2YmU5ZDY1NzY2NGE3Mjg5IGxlZ2FjeS10cnVuaworMjc1NDcgMDk1NDI2YWY0YTQyNDA2NjQ2OTIyMzUyNzJmM2ZhMGQ4MGE5YTgyNiBsZWdhY3ktdHJ1bmsKKzI3NTQ4IDgwZGE5NTFjODlmYmUxNDFlMTc0MjAxOTM1MjEwMjc5Y2FkYTM2YjYgbGVnYWN5LXRydW5rCisyNzU0OSBkM2U0OTBhNTE0MDhiODhmYjg4OWE0NWYzZGEzY2E0MDg5N2ZiN2Q2IGxlZ2FjeS10cnVuaworMjc1NTAgZmRkODM2NTc1MjQ4Zjg2OWRmODNjMzhiY2RjYWIzNWMyMGQxZTNjZCBsZWdhY3ktdHJ1bmsKKzI3NTUxIGMzMWFmZWE4ODkzNGUwNjQ2ODIxMzkyYmQyNjdiMmQ1MTVjZGUyODMgbGVnYWN5LXRydW5rCisyNzU1MiAwY2FiNGU0ZmRjZjM4MGM2MWExZDk5MmQ0ZDA3YmE0ZjcwZTEyYjM1IGxlZ2FjeS10cnVuaworMjc1NTMgNWU0YjhkMWU5ZmQ2YjJiOTdkMGJlNDBmNTczNDMzYTNhZjZiNmYzNiBsZWdhY3ktdHJ1bmsKKzI3NTU0IDM3MTk1NDc4NTczOWY1NzQ2M2Q4NjNjN2Y5OThiODU0OWMwZmQwYjIgbGVnYWN5LXRydW5rCisyNzU1NSAyYWJmOWU5NDAyNzRmMDhmYzQ1ZWE4ZTExYWU2ZDFmMzI5YzJmZGRmIGxlZ2FjeS10cnVuaworMjc1NTYgNDNmYmM2NzM3NGE1N2I2ZWY2NjAzNzQ3ZTViYTdhNGRkZjJmMDNiMiByZWxlYXNlMjItbWFpbnQKKzI3NTU3IDI1ZmUzYTBhODBmYjg2MjM4Y2FkYWM3MDI5ODVlMjI3ZWNlOGE4MWYgbGVnYWN5LXRydW5rCisyNzU1OCA5OGFkNzcyZGVmYWFiYmMyMDZjMzhlYjlkNmI4YWZmMDZmM2I0YjRlIHJlbGVhc2UyMi1tYWludAorMjc1NTkgYTAzOGFiZDA4ZTRhYjUyYjBiYjRiMmFiMGM4NjRmNWE0OGI1YWI1NCBsZWdhY3ktdHJ1bmsKKzI3NTYwIGM4OWQzMzNmZTBmZTM0NjcxNjU3NWQ4MGE0NzIyOTJjM2I2NWRmNmEgbGVnYWN5LXRydW5rCisyNzU2MSBiOTkzZTY1MWViNzQ1Zjc4NDZhMDJiYzI3ODA1NGYwNzVlOWM1MmUwIGxlZ2FjeS10cnVuaworMjc1NjIgY2I3M2U4OTFkM2VlM2Y2MGIyOTU2YTkwYmI5ZTEwZDA4ZDNmMDA0NiBsZWdhY3ktdHJ1bmsKKzI3NTYzIDYzYTg4N2Q4YTFlM2E1MTkzYTI3Zjk3MzIxMDI3NjU4NGNlNGQ1YjkgbGVnYWN5LXRydW5rCisyNzU2NCA1YzE1MWQ5NThmYzE0NDIxMTNjNTIxZDIyNGQ2YTZkM2FiMzA2MGNhIGxlZ2FjeS10cnVuaworMjc1NjUgMTcyM2JjZGMxZTg1NGU4OTFiNzlkNTcxNTE1NzU3ZGQ1MTBhNGJmMCBsZWdhY3ktdHJ1bmsKKzI3NTY2IGM0ZGNiODBmNDhlYTE1OGVlMDU1NDRhNDkxNzQ1NzZmOWY2NzkxM2YgbGVnYWN5LXRydW5rCisyNzU2NyBhMzNmMmRkNDY0NDRiNjdkMDljYWQ1MjE2YTFiYjhhNDhiNmI3ZTY2IGxlZ2FjeS10cnVuaworMjc1NjggYmVjNWI2NjEwNjIyOWM3MGE4OTUwNjlmYTM0ZDgxNjY3MDIyNmNmNyByZWxlYXNlMjItbWFpbnQKKzI3NTY5IDk4MmE5MGE0ZDY3YjgzZTM4YmEyYmNlMzc3MzQ4Mjc1ZGNhZmY2YWIgbGVnYWN5LXRydW5rCisyNzU3MCBkYzIwYzdlYjQzNGY1MjFhZTY3YWM5ZmQ4YmJiOWY3NzI3NzI0YzVlIHJlbGVhc2UyMi1tYWludAorMjc1NzEgY2NlOTMxNmE2MmY4ODY3OGM1MDFlM2UwZjE1M2FlYmUxZjUwYTgyMyBsZWdhY3ktdHJ1bmsKKzI3NTcyIGEyYmNiMDBkY2JkNTk1YjExNDk1YzEzN2Y4NmY0M2E5MjUwN2ZiMzIgbGVnYWN5LXRydW5rCisyNzU3MyA3YjVlNjEzNzNmNmVkYzliZDUwMDU5OGIzNDU3NWM1MjAwYmJlNmRmIGxlZ2FjeS10cnVuaworMjc1NzQgYjlmMjNlMjI1M2Y4ODdjMjg4NTA0NjI5OGIxYjdkZWU1YzMzYWNiYiByZWxlYXNlMjItbWFpbnQKKzI3NTc1IDZlYjc0ZTgzYTZmMTFhNDgzOTUwOTgzNjA1NzQ2NDgxMDIyYzM5NjQgbGVnYWN5LXRydW5rCisyNzU3NiAwNzgwOWY2YTc5NjhiMjdkYWZmNTA2NzQ1ZmRiNmU2MTNmNmU0OGZmIGxlZ2FjeS10cnVuaworMjc1NzcgYmY2NDAxOGE2NGZmNGM3NTRjZTEwM2YwYWJiNTg0MjdhNDk4NzdhOCByZWxlYXNlMjItbWFpbnQKKzI3NTc4IDVjY2FhYWQ0ZjMzYjFiYWZjOGQ2MzFmZmI5NWVjYWJjM2ZkNzQ5ZTAgbGVnYWN5LXRydW5rCisyNzU3OSAzZDFmM2I3YWRlMDczNDMzOTYzNzVhZDZmNDFlZmIwNTc4NzEyNTg4IGxlZ2FjeS10cnVuaworMjc1ODAgZjAyNTk5ZWM1Y2I5MzEwNmYzYzMyMjdhMzBhMmE3ZDcwYjA0N2U5NiBsZWdhY3ktdHJ1bmsKKzI3NTgxIDk5MGZjMDRjZjBkNDAwMTQxNTUxNWU5YTU2NjRhMzY4YmRlZDZiNTcgbGVnYWN5LXRydW5rCisyNzU4MiAwYjZhMmFlNzA2ZTIxYTg3NjFhNjRkM2Y1NDc0OTI0ZjcyNDg5NGIxIGxlZ2FjeS10cnVuaworMjc1ODMgNzc0ZGMwN2YxYzE2ZTIzOTZlMDk0MzMxZGM2YzEwMWEzM2Q3OWEwMSBsZWdhY3ktdHJ1bmsKKzI3NTg0IDlkZWJhMzVlNjI0Y2JmOTUyMmI2NjdhZjNmNGExNDgzNzU3NTc2ZWMgbGVnYWN5LXRydW5rCisyNzU4NSAwODIwMjNjMjBjZWYyMjUwNThlMGE1YTdmZjgzMWZjYzA4ZDQzYzJiIGxlZ2FjeS10cnVuaworMjc1ODYgZTQ4YTRiMGJkYmI1NWRhNDk2ZGQ1ZjRhMDMyYjZlODVlNzI0Y2U3NSBsZWdhY3ktdHJ1bmsKKzI3NTg3IGYyMDEyZGIxNjE2YzNlNTY5MjQ3MjE1NGViOGFjOGUzODcwNTM1OGUgbGVnYWN5LXRydW5rCisyNzU4OCBmYTlhZjI0NWNlYjRlYWQyNTY1ZTNmZTlkNDFjZGEyYWJmN2MwNjZlIGxlZ2FjeS10cnVuaworMjc1ODkgNTYxZTMzYTZhMzEzODQxN2M2ZDk4MTdhOGEzNjBlZWVjMmMwOGI3NyBsZWdhY3ktdHJ1bmsKKzI3NTkwIGVmYWJjMTUxMWRjMjcxZWMwOTdiNDY5ZGNmZGNkNzEwNjgyOGI2YzQgbGVnYWN5LXRydW5rCisyNzU5MSBhNTQ2NTkzOTY4ZDY0ZGY0NjU5ZDc2Mjc1MzhjNDc5YmFmOGE2ZmRmIGxlZ2FjeS10cnVuaworMjc1OTIgMjUzNjdjN2M0MGE0YzZkZTU0MDgxOTA4OTJhZGMyMzQ0NWQyMTRkZCBsZWdhY3ktdHJ1bmsKKzI3NTkzIDA2ZWU4NjJkOTgxNTQzNDQ5NTI5NjM0ODY3MDg4N2M3OWZiMzVkYTIgbGVnYWN5LXRydW5rCisyNzU5NCAyOTZkZDMyNDI1ZDZhNzNmNDg5ZDQ5ZTQ3OTNlZDVlZDdmZTBjMDA4IGxlZ2FjeS10cnVuaworMjc1OTUgMDg2N2RhNWU4NTQ4OWFjODU1Zjk3MTdhZTFkOTI3NGY3MTJjMTEyNSBsZWdhY3ktdHJ1bmsKKzI3NTk2IGYwYTJlYzc4YmQwNWMzNzU3YWUwNDNjYWM1MTNhODI5ZWU0YzcwNjYgcmVsZWFzZTIyLW1haW50CisyNzU5NyAxNjMxNGZmNThlZjQ4MDUyYzVjMzJlNjkwYTFhNTRkYzU3ZTM5YjI0IGxlZ2FjeS10cnVuaworMjc1OTggYzhhMTlhNDI4MzU4NGJiOWJjZWFlYTBlMjcxODZiYjI2N2ZiMzU3YyBsZWdhY3ktdHJ1bmsKKzI3NTk5IDQ5NGE4YmViNDU4MjY1YTFkYmE1NTBhYWUyYWMyY2I4NGE5N2ZkMDIgcmVsZWFzZTIyLW1haW50CisyNzYwMCBkZmQ4NWU5MDIzZmNiYzQ5NmI5YmU0ZWU0ZDk1ZTBlNGIwZDNkZWMyIGxlZ2FjeS10cnVuaworMjc2MDEgZGFhNWIxNDQ5MmVlOTA5ZGEyZWQxYTI5MjI4N2VlNzU0NzZmZTg2MCBsZWdhY3ktdHJ1bmsKKzI3NjAyIDc2YWY4YjMwODk0YTdjZjlmMDUzNGU1MTE3NDk5MGRjNzgyMDkzZWQgcmVsZWFzZTIxLW1haW50CisyNzYwMyBhZDVmM2EwNTI2ZDFmNDNlNzgxNDBmYjBjMDhkZDBjM2Y0YzRkNmE3IGxlZ2FjeS10cnVuaworMjc2MDQgNTY1NzgxZWExMzdiZTJiZGM1MjhjMzZiNWI5NWJjYmJmNzViMzg1NSByZWxlYXNlMjItbWFpbnQKKzI3NjA1IDQyZWQwMmFmYTYzYmY3NmI2ZmI0ZGQ1NTZiNzhjMWEyZGI3OTM3NmMgbGVnYWN5LXRydW5rCisyNzYwNiBiMzQ3MjMzNzgzZWUzOTNiY2VjNWJiZTg3NjNmYWE2NDc2NTI2NzRiIHJlbGVhc2UyMi1tYWludAorMjc2MDcgOWJlYTJjMGM4MzhlNmM2Nzc4NDY0YzhhYTNjYjBmZWQyY2MwMGM1MyByZWxlYXNlMjEtbWFpbnQKKzI3NjA4IDYyZDhmOTc0ODExZjFhNDYyNmU5NzgxZTc5NGJlMWZiMjMzMjZkMDcgbGVnYWN5LXRydW5rCisyNzYwOSA4YTY3ZjI4YTQyYTVkYzE4Y2Y1MDE2YjlmMmUyZjc1MzZmM2NiZWMyIGxlZ2FjeS10cnVuaworMjc2MTAgNWI2NmU2M2Q3YWJiNzBkNDg0ZjM4Y2U5MDU0YjBiNTA2ODU0MjUwYSByZWxlYXNlMjItbWFpbnQKKzI3NjExIDQwZDk2NDkzYTQyOTUxYmY5YjI2NjVmMWE3NDJiZjJkMWMzN2FjNDQgbGVnYWN5LXRydW5rCisyNzYxMiAyODYwYmUyNDQyNjNlNDA0OTc0YzdkNzk0OTlkZjQzMDMzNWE5MDBiIGxlZ2FjeS10cnVuaworMjc2MTMgYjYyMTM4NDNkOGJlZDAwZWQwMjYzMWMyMTNhMWVkZmRiNWUyNWViNiBsZWdhY3ktdHJ1bmsKKzI3NjE0IGUwNmIxYWIwYmRiODBjMzQ4NGMxZjg0ODFmMGU0ZDAyNGI0ODJmYTIgbGVnYWN5LXRydW5rCisyNzYxNSAxMWM0MjUzNjk4ZGM3M2RjYTRmNTA4NmM4ZWYxMDVjYjdmNzZmZmQ0IGxlZ2FjeS10cnVuaworMjc2MTYgYzg5MTdiNTljMDY1OWFhMzhmNTNkODYyNzA3Nzc4MzA4MDAxZGU2MiBsZWdhY3ktdHJ1bmsKKzI3NjE3IDczYTg4NDQ4N2E3NjY4MGFiM2EyNmE4NmJkMDNiOWFhOTk0YzIwODkgbGVnYWN5LXRydW5rCisyNzYxOCAyYmU2M2UyMGE0OTgyZDVhYjc0OTFlOGYyY2VmYmU2ZmI1NDI1Y2NlIGxlZ2FjeS10cnVuaworMjc2MTkgMDU5NzdjNWY4ODBjZjhhMWNjYzkwZjQ2MDM3NGFjNDhhMzg1MTkyNyBsZWdhY3ktdHJ1bmsKKzI3NjIwIDM4OTViNzhkM2VlMGNlY2Y1ZDgyZTg2NGRjMjhhMzFjMjc1MTBjMjkgbGVnYWN5LXRydW5rCisyNzYyMSA1MWNkYTZlODc2NGE2ZTIyZDU3MzJjNmMwYjJkYWI0ODEzNjMxNTNkIGxlZ2FjeS10cnVuaworMjc2MjIgOWVhZmI0Y2VhNDdhNWM5MDAzZjZiYjA4ZGFiYzhhMTgxMTUzNzVmMiBsZWdhY3ktdHJ1bmsKKzI3NjIzIGZjMjdmZmUyMDM2YWExMGZlNzJlYmM2NmVlZDg1MmNjYzIyNWM2ZjUgbGVnYWN5LXRydW5rCisyNzYyNCBhM2ZjMWQ4ZTBhZTgxZTRhM2ZkMjBlZjhiZmRkMDFiMDM3MzcyNGI2IGxlZ2FjeS10cnVuaworMjc2MjUgYzQyM2E4OGIyMmNlZDM0NmE4YzRjMzc4ZmY3YTJkZGZlODI5ZTEyNCBsZWdhY3ktdHJ1bmsKKzI3NjI2IGRhNGM3MTIwMTQzZjA4ZDkzMzg1MTI0MzlmZWE4ZWZiMmQ0MzNlZGEgbGVnYWN5LXRydW5rCisyNzYyNyA1MDQ0MzEyN2IyMWRjNDk3MTgyMzRjMjRhZGI4NTU1MmViZmM4MWM5IGxlZ2FjeS10cnVuaworMjc2MjggOWE1OGQ2NGY4ZmMzZmQ1MjY0YzY4MGFhMDBjYjM3MWIxMjk1MWM0OSBsZWdhY3ktdHJ1bmsKKzI3NjI5IDVkM2VjMjhlOWE3YWQzZTgwY2EyNDI2ZmUwNjkyMWZlOGJjN2FmZDMgbGVnYWN5LXRydW5rCisyNzYzMCAzMDU0MjJkNjlkMzEzMzJkYTk5MzFkNTRhMmNlM2IyMTM1MjUxMWY1IGxlZ2FjeS10cnVuaworMjc2MzEgNGE3YjNiYWMzODEyODdiMjQxNmNmNjEzNzQ2NGU5YTIyNjYzMzY3MSBsZWdhY3ktdHJ1bmsKKzI3NjMyIDgwNGVhNTFjZmNlNmUyYzAzMjEyYjUzZjhlODQ3MjRhNDU2MzgzZDcgbGVnYWN5LXRydW5rCisyNzYzMyA3ZDA5ODIwNTZmNzJiNTdkODdhOTM1YWNiNTdjM2RmZjJjODM3YmU0IHJlbGVhc2UyMi1tYWludAorMjc2MzQgNTU0MmJmMGJiY2UyM2NiOGJhMmQyMzFkMzhlZTBmNGUzZGIxZjVmYyBsZWdhY3ktdHJ1bmsKKzI3NjM1IDYyZjRiNDViMDVmZGRhMTNiOTQ0MDE5NGQ3NmExNmMyMGYxYjA4YzUgbGVnYWN5LXRydW5rCisyNzYzNiA4MzEyMGY1YTQ4YzIxMzllZWRiZWM4MTQ1Y2ViOWVlNTkzY2VhYmE1IHJlbGVhc2UyMi1tYWludAorMjc2MzcgNDFjNTRiMzdlMDMwODg0NzJhYjdhZjAxNTg0MzczMTk3MjUyOTMxNyBsZWdhY3ktdHJ1bmsKKzI3NjM4IDg4Y2QyN2RiNzliOTNmMjg1NWYwZWZlYjg1ODM2ODEyNjJlZWIzYzYgcmVsZWFzZTIyLW1haW50CisyNzYzOSBhNjcxNzI3NTE5NWM5MjkwM2JjZTYwYzhmNmVjMjhlYTFlZDZmMGRhIGxlZ2FjeS10cnVuaworMjc2NDAgZWFjNTRhODMyNzJmNDIwMGU5ZGFlMWYyYTU1ZDdhMDFkM2VkZjQwNyBsZWdhY3ktdHJ1bmsKKzI3NjQxIDJmNjBmOTBjZTMwOTNkYmIxNTk3MTM3NjQ2NGFhNzA5M2JkZGRmMTIgbGVnYWN5LXRydW5rCisyNzY0MiA2YWEyZDA5ZTMyYzEzZmI1NmM5NjgxYmVmMjE2MDQ3NDJkYmE4M2QwIGxlZ2FjeS10cnVuaworMjc2NDMgMjdlOTRjYWNiNDNiZDZjMzRmYWY1NjAwY2YwNzUwZTEzYTViNzcwYyBsZWdhY3ktdHJ1bmsKKzI3NjQ0IDNiNTcxZTMyYTZlNDVmYjgyNWJiYjY5YTk2MWZiMjBkMmU1MTBhZWMgbGVnYWN5LXRydW5rCisyNzY0NSBlNjAzMzI1NGRmMjE0NTViOGZjNDE0NTg1MjkzZTUyNmU0NjNjZjBmIGxlZ2FjeS10cnVuaworMjc2NDYgMThjMWIyOTBlNDg0Mjk3NDcyM2YzMTI2Y2Q0ZmNlZmYyNWEyMjI3YSBsZWdhY3ktdHJ1bmsKKzI3NjQ3IDRhNWM2ZjY5NDQ3ZDZiOWZmNzc3OGIyMGE1Y2UwMmNjYzU5MDJkODYgbGVnYWN5LXRydW5rCisyNzY0OCBkOThiMGNkZjdlNTFiNmExOTBmYTQwMzQzYjNhOGI3OWMxMjI0YzkwIGxlZ2FjeS10cnVuaworMjc2NDkgNzZjZDI4NmU3ZGU1ZTc3OTViOTE5MzA1ZDliYjZmM2VkOTc0ZWFhZCBsZWdhY3ktdHJ1bmsKKzI3NjUwIDNhM2UwNzFkODRmOTg1ZmRjMjM5OTU2MDdkNzljYWU2YTBmZTRmYTggcmVsZWFzZTIyLW1haW50CisyNzY1MSBkNzIzNzAzN2YzNzk0ZDkyNDc0MWZmOThlMzg0OGY3MzAxZDhhZTU5IGxlZ2FjeS10cnVuaworMjc2NTIgYTRmNGNlNWU4YWE5OTE0ZTMyMzA3ZjU4OGY3ODA1ZWIwY2M1Mjk1MiBsZWdhY3ktdHJ1bmsKKzI3NjUzIGQxYjJiZmQ5M2EyNzA4OTUwY2EwY2U2ZDZiM2Y3MzViMzlkZmI3MDAgcmVsZWFzZTIyLW1haW50CisyNzY1NCBjM2NmMjIzMzhlMWNlOTQ3MjhmZmQ3YzQ4OTRhZTU0MTY2MTgzOGRhIGxlZ2FjeS10cnVuaworMjc2NTUgYzMyMGEwN2YwMTQ2NzFhM2UzMGE4ZDNjMDEzMjg5YTBjYzYzNDc3NiBsZWdhY3ktdHJ1bmsKKzI3NjU2IDFjZWJjZTUwZmU3MTIyNGQxMDk0YzY1ZGEwYTM0OTU5N2ViZjg5YjIgbGVnYWN5LXRydW5rCisyNzY1NyA5OWRhOTM2ODNlYTViMjU0ODYwZTE2MTNmMTkwYTA0OTRkMGUzNmM5IGxlZ2FjeS10cnVuaworMjc2NTggMzUyOWFkMjEzOTU1OTQzZDM0NThhMTAyOTIyNzZiNjVhZTdmNTE1MSBsZWdhY3ktdHJ1bmsKKzI3NjU5IGViMDRmMTdjYzAwOGNhNzUzM2Q3NDhkMzdhNTNkYjBmOTdlOThhNjAgbGVnYWN5LXRydW5rCisyNzY2MCA3MWYxZjM1YzAzNTczNDc2ZWEzOTgzMTM1NDY3ZjA0MDdkZjBkMDFmIGxlZ2FjeS10cnVuaworMjc2NjEgMWE3MDNmOWJiZGMwZmVkY2FjZTQ3OWY3NTRmYTMxOTI4NzZkZjMyNSBsZWdhY3ktdHJ1bmsKKzI3NjYyIDE1OThhMWU0NzNlMjQ3OThmZDU5YWNkYjE0M2JjNjE2NzY4MzE0NTkgbGVnYWN5LXRydW5rCisyNzY2MyA4MTljODAzMzcwNWI5NTRmNTU2ZTcyZmVhYzIzNWY3YTEwZDhjMjY1IGxlZ2FjeS10cnVuaworMjc2NjQgOTcwNzg2ZDAyZTgwNWRmMTdkNGQ5YjY0NzA3N2M0Y2ExZGJmNjRlOSBsZWdhY3ktdHJ1bmsKKzI3NjY1IGMwYTY3YTFjYWIwOWM5NzM3YzIxZTdhMDc0MzM0ZTVmZTBlNDA4YjcgbGVnYWN5LXRydW5rCisyNzY2NiBkODkwOTc5MjAwNWFiODJlZDFiYzJiMTMxMGZkZGFmNmNkMTg0YjJiIGxlZ2FjeS10cnVuaworMjc2NjcgNDQ1MjJhNzVkZWVjZWE5NDRjODMyZWZlNGQzOWQ2NzExMWIyMTkwMiBsZWdhY3ktdHJ1bmsKKzI3NjY4IDRlODUzMDZhOWJiZmE4MWVjNWJlNWYzODZiMTQzMjgxZDJlYzg2MjkgbGVnYWN5LXRydW5rCisyNzY2OSAxNTc2YTJkZmYwMWY4ZTk4YTI1NWExZTg3ZjU2MjUzZjRkNTUzNDdlIGxlZ2FjeS10cnVuaworMjc2NzAgZDgxNGE3MzE5MjRhMzE1ZWE1OTdlZTJkYzRkZjRkMzljYWFiMTgxNyBsZWdhY3ktdHJ1bmsKKzI3NjcxIGI1OTYyYjU4N2NjMDkyOWVhMWNmZjRkNWVlYWRjMDI3YjE2ZDAxN2UgbGVnYWN5LXRydW5rCisyNzY3MiAwOWU0ZGU1ZGNiM2JhYjFlY2Q0OGVjNTQ4YjQ3OTM4Y2Y2ZjVmYjY1IGxlZ2FjeS10cnVuaworMjc2NzMgM2NhY2VmMjQ5ZWI1NTBiMjYzMDI2YzlhZGY2NzE1NjgzMzhmMjRiNSBsZWdhY3ktdHJ1bmsKKzI3Njc0IDJkNDA3NDg0YTRlNjMzOGVmZjU0NmMxZGVjNGYwNWI5MDRkZmZjYzggbGVnYWN5LXRydW5rCisyNzY3NSA2NDAzNzBmMDhlMmFmMjk5NjdiYWI4OGFmYzQxNGE2YTRkNWNhYmNjIGxlZ2FjeS10cnVuaworMjc2NzYgMGEwOGVkMDViZDQyNWMwYTE2YWY3MjUxYzNiYzE4MGEzZDYxZGJkYyBsZWdhY3ktdHJ1bmsKKzI3Njc3IGEyNmNhOGFiMjdmMmIyMDE1MTJhOTg1MTRmMmVkZGFhM2ZmZTc3NmQgbGVnYWN5LXRydW5rCisyNzY3OCA4N2UyNTM0ZTlkNjRiMzcwNTBjMjcwN2Y4ODI5ZGM1NWY4N2Y0ZWIyIGxlZ2FjeS10cnVuaworMjc2NzkgZTY2MjIyNjIxMWU1MzljYWVkZmQxNGM5Y2UyM2JmYjg0MmM4N2YwMSBsZWdhY3ktdHJ1bmsKKzI3NjgwIDM3OWIwMWUwNzQyMjE5OTA2OTYzYjgyZjlkZDBmYjNjMDM5NjM5MjAgbGVnYWN5LXRydW5rCisyNzY4MSBhMDMyOThhM2FjYWQxNDM5MDkyZTBmNDk4MzBlMGFjOGZiZTIyOTJjIGxlZ2FjeS10cnVuaworMjc2ODIgNTJiMDk3NmU0OGExZDZlNDlkNDA1M2I5ODM3ZDlkYjRhNzc4YTIwYSBsZWdhY3ktdHJ1bmsKKzI3NjgzIDljMDE3ODRjZTdjYWI1MTQzMWQ4YjlkNDUwZWFlZmNiY2M3MzBiNjIgbGVnYWN5LXRydW5rCisyNzY4NCBjNGJmNDVjYTRkNTU2NzY5ZjAxMjdjZmU2Njk2OGQwMTE5ZTdjNTU4IGxlZ2FjeS10cnVuaworMjc2ODUgOTM0MzRiYzA4OTlkOWZkNTRhNzliOGU3NTExOTViNDQyZTRkMDdjMCBsZWdhY3ktdHJ1bmsKKzI3Njg2IGM5MWI3ZjM0NjI2YjljZDNlNTg3M2NkMmI1NGM3OTM0NzlmNTRkZTMgbGVnYWN5LXRydW5rCisyNzY4NyA0MjhjYmJmMDU2MzkwNjk4NTMwODljOTA2YzdhZjRmMTdkZGE3YTZkIGxlZ2FjeS10cnVuaworMjc2ODggMTMyNTc3ZjY5M2IxY2MxNTk3MzE4MTk0YjFlODI0NTM3NzgxZDVhMiBsZWdhY3ktdHJ1bmsKKzI3Njg5IDQxNjY1NGUyN2Q4ODkzMzU2M2YyYmI0MjU0ZDc0YzAyNDkyNGNkZjggbGVnYWN5LXRydW5rCisyNzY5MCA2OTEzNGM2MWY4N2MwNmJjMWFkMzgxMTQzM2JjMjAwZTI2MTU5ZTZjIGxlZ2FjeS10cnVuaworMjc2OTEgMDhkMzA3Y2JjY2Q5NTEyMGFlZDljNjdiODNlY2I2NTBhZmQ2MzY0ZCBsZWdhY3ktdHJ1bmsKKzI3NjkyIDVlZGU5YmNjNjUxZWIyZjAxOWE0Y2E2ZTNlNjI5ZGU3NjU1YWMzYmQgbGVnYWN5LXRydW5rCisyNzY5MyBhMzUzZDZhNDUyNzY5ZWEwMmJiMjkxYjg3ZDUxMGVjMDBhZGNhMjEwIGxlZ2FjeS10cnVuaworMjc2OTQgYzRiM2EyYjI0N2FjMzdhMzcxMjVmOTdlMjg1ZjdlMGQxNzFlYjI0YSBsZWdhY3ktdHJ1bmsKKzI3Njk1IDY1OGUxMmNjMDMzNjJkNWE2NDI3Nzc3YzhjMTZjM2RiYjM1YWJmZWUgbGVnYWN5LXRydW5rCisyNzY5NiA3NGY5YTIwNmQ0ZjA4ZGUxMzIzZTI0NTNhYWE0YmJkMjczMzZiMDYzIGxlZ2FjeS10cnVuaworMjc2OTcgYThkZjBjMGJlMjQyM2FlYjZkNjFmZWFiMzZlNDJjOGY5NjJiNmQxMCBsZWdhY3ktdHJ1bmsKKzI3Njk4IGRkMzgyOTFiODlmYjU0MDA3NWI5ZGMxYmE1YjFkNTI0NzkyZTg5YjEgbGVnYWN5LXRydW5rCisyNzY5OSAyOWFlOGU4OTE1M2JkNmU1NTdiZGQ5OWJkMGUyN2Q2M2Y4OGQ0OTAyIGxlZ2FjeS10cnVuaworMjc3MDAgMTI4MTVkMDUwODBjZjY5YzJjOWE5OTNlNGVlYzE5NjA3MDQwMjM5OCBsZWdhY3ktdHJ1bmsKKzI3NzAxIGM0MzQ2NmY3ZGFlODQxNjQ1N2U3MDgxYTZiNDI5MmI2NGI4NDA0ZDEgbGVnYWN5LXRydW5rCisyNzcwMiA0NzhhMmQ2NGFjNTgzMDhmYWJmNGU0Y2Q3NTdhNzI2NGZlOTczYzdjIGxlZ2FjeS10cnVuaworMjc3MDMgMzEyMjczNTNjYmJjYzAxMGI1ZDgyNjk2MGUzMDY3NDZkOTgxNzUxZiBsZWdhY3ktdHJ1bmsKKzI3NzA0IGFmZTQ3OWE2MjM1ZWMwODQxNWU3NDY1M2JiYjAzMzYyZDAyNDRjZTQgbGVnYWN5LXRydW5rCisyNzcwNSBhYjE4NzdhN2IyNjI1YmQ2YzQ2ZWZiMzE0OTBjNTZhNWVmZTM5MjlhIGxlZ2FjeS10cnVuaworMjc3MDYgZDlhZGQ0MGY5MmZmMzJmMTk4NDdkZTMyNWI1YmYzZWZhMGRhM2JhMyBsZWdhY3ktdHJ1bmsKKzI3NzA3IDE3ZDUyNjI5Nzc1NTdmN2U2MTgwY2U3YWIxNzllZWMxNmFlNTBhYmQgbGVnYWN5LXRydW5rCisyNzcwOCBhYTRiOWE3YjM4MTdhMTllNWZhNTg0OTFhOWEwM2FjYzIxNmU5ODYxIGxlZ2FjeS10cnVuaworMjc3MDkgZWIzOWJhNjBkYWUwY2ZjMjk1YmM4M2NlOGQwZDRkYTY1ZDBkMWU4NyBsZWdhY3ktdHJ1bmsKKzI3NzEwIGQ0OTdmNTIzYjgyZWQ3NGFjYTEyNjM5OTUxNmUzM2ExY2ZkODA4YWEgbGVnYWN5LXRydW5rCisyNzcxMSBlMzc1MWZjMDNlNmM4NzgyZTk3NmJjZjUwZWEzZmIxZjk2ZmMxZmJkIGxlZ2FjeS10cnVuaworMjc3MTIgNTNiMzIyNzFlOGUxZjE2ZGY0ZDkzOGNiY2JkNzQ3ZjM2ZmQ4YmEyMyBsZWdhY3ktdHJ1bmsKKzI3NzEzIDY5Nzc3N2NjODNjYzBmZjA2MzU4NTEyZmE0ZmZlNmZmZDcxY2M3NTcgbGVnYWN5LXRydW5rCisyNzcxNCA4YjRhMTY1YmFhZWVkZjY5ODRlNGFjMGViZjAxNWE3MTc1MzU4NmUyIGxlZ2FjeS10cnVuaworMjc3MTUgZGRmNjcxNjMzNDY1ZTUwNmY1YjdjOTY3YWUxYzFmNmY5NjIwN2FkMSBsZWdhY3ktdHJ1bmsKKzI3NzE2IDIxMzFiYjc5MGFmOTU4YzY1MTM0MTc4NTc1MDRiNjAwYTE0ODRlZDggbGVnYWN5LXRydW5rCisyNzcxNyAwNmI5YThkYWQ3MjFiMTkwNmUwZjliZGMwZjFmMjE3MTM1ODU4MDdkIGxlZ2FjeS10cnVuaworMjc3MTggMmY2MDM0NGE0OWU4OGNlNGVkOTk3NDM1MTA5MzE5NTEzZjA1NDkzYiBsZWdhY3ktdHJ1bmsKKzI3NzE5IDQ5YTNlODMzNDdkZGVkMGIwOTk3ODQ5Y2U3MDU4YjkwYWE4NzZjOTEgbGVnYWN5LXRydW5rCisyNzcyMCA2N2VhYWJiMDE3ZTBlMGQwMWI4OWFkMGUxZTZiN2QxNDhmMDkyMTFkIGxlZ2FjeS10cnVuaworMjc3MjEgYTliODA5YzhiOWRiYWEzZTQxNWUxNjVkNjE2YjM0Mzk3MTg4NmQyNyBsZWdhY3ktdHJ1bmsKKzI3NzIyIDEzOTg1OTAxNmI0NGJiOWQwNjcyNGIxMGU4OGU2NDI2M2Q2ZDVlOWIgbGVnYWN5LXRydW5rCisyNzcyMyAzZWYwMTljYWFkMWU1MTUwOGQ0OWI2OGYwOWZjYThjYzE5ZTg4ZWQ3IGxlZ2FjeS10cnVuaworMjc3MjQgMmFlMDE0NTkzMWYxZjMwOGQzZGRiMjkyOGVlZDhlODJlYTMzYzA0NiBsZWdhY3ktdHJ1bmsKKzI3NzI1IGYwOWNmOGViYTdlMjM3OTBmZDM2NTU2NThmYmZlOTZlZjI2MzI1MmEgbGVnYWN5LXRydW5rCisyNzcyNiBiYjA2OTJlMzBmYzZiMDFkM2ExNTBjZTBiMWNkMzUxYmNjZmMzZWNmIGxlZ2FjeS10cnVuaworMjc3MjcgMjMyYWIwZDY2Mzc1MmJhMmVhNmExMWUxMzQ2ZTE0Zjg3MTRmMjVlNiBsZWdhY3ktdHJ1bmsKKzI3NzI4IDJkYzIzZjBmMzQyMTVkNmY0NmEzNzk0MzU5MDQyMjJhMGUxMGJhMzYgbGVnYWN5LXRydW5rCisyNzcyOSA0ODkzMGIwMDQzYjc3MmI4YTYwMjkxMzRjNGUxZGU2ZmQyZjM3ODM0IERTX1JQQ19CUkFOQ0gKKzI3NzMwIDE4N2M0ZmFkZTNkYjNlYjVmOTExYTVkNTY1OTlkMTkxNzU2NjQwNjUgRFNfUlBDX0JSQU5DSAorMjc3MzEgMzBkMGQ4ZGJmMjQ0NThlYjE2ODRkOGIwNmU5ZjIzMjg2MTg0NWExOSBEU19SUENfQlJBTkNICisyNzczMiA3ZmVkMzUxM2FiZmE3MTNkZWMxNjZkZTk4YmNhZDZjNTEzMzQ2ODJmIERTX1JQQ19CUkFOQ0gKKzI3NzMzIDNhM2JjN2Q5ZjFmNWU2MTYxYzIwOGYwOTgzOGY2OTliY2E5NjA0OTcgRFNfUlBDX0JSQU5DSAorMjc3MzQgNGY2ZTU2YzQ0NzM5ZmU2Yjk0ZmJjN2RmM2JlODU3ZDBkYWQ4NzAxYiBEU19SUENfQlJBTkNICisyNzczNSBkMmQ4MWQ1M2Q0YTEyZGYzMGFjZDYxZWQwM2RiZGE1ZTRhNWE1OWM3IGxlZ2FjeS10cnVuaworMjc3MzYgODA4YjRmZTUxODRmY2FkNzY1ZjFlYjlhZmEzOTQ5NzAyMjg3ZTBmMCBsZWdhY3ktdHJ1bmsKKzI3NzM3IGFhNWM5OWI2MWRmNzc3NDFhZDY5YjJlNjlmZDMxZTNlMGYyYmQ3OTIgbGVnYWN5LXRydW5rCisyNzczOCAxMzdmZGRlNzAwMDYwMTAyZjI0YzQyOTNkOWExZTRmZmIzOGVkODU3IGxlZ2FjeS10cnVuaworMjc3MzkgMTU3YmJmYjE3ZjQ0Y2U5MmRiZjZiNThmNzgyMmJiYjRiYzVkYzVlMCBsZWdhY3ktdHJ1bmsKKzI3NzQwIDU1ZWFiMTBlNDcyZDM5ZjM4NDYyMmJmN2RhNWJjZjUxMWJjZDc4OGMgbGVnYWN5LXRydW5rCisyNzc0MSBmZGE1MTNiNjcxYjZjOWY2MmJlNjc5OTc0NGEwMDkzYzZlY2M3YTRmIGxlZ2FjeS10cnVuaworMjc3NDIgNGVhZGY3ZGZjZGI0YThlZWQ0ZGEzYTE5ZTc1ZjQwYWFmMDNkZDI3MyBsZWdhY3ktdHJ1bmsKKzI3NzQzIDE5NDE0MGM4MzI3NjA0OWRmNTU1NjJmYTQ2NTdkMzg5NzRiNDM0NWMgbGVnYWN5LXRydW5rCisyNzc0NCBhMzU3MTQzNjgzN2MxYTI0NWQyMzA5MmM4ZTVjYjEzYTM2ODgzZGI5IGxlZ2FjeS10cnVuaworMjc3NDUgMTdlOTRlNjIzNTNjNzM4ZDM3NWU3NjVmZTc3YzFhOWQyMWU4NGYxNSBsZWdhY3ktdHJ1bmsKKzI3NzQ2IDMzMDhhOTZiOTc2ZjZlODk1MGQ3Zjc2ZWYyNDY1OThkYTZmYWY3ZjAgcmVsZWFzZTIyLW1haW50CisyNzc0NyBmM2M4ZTNhZjdiNmJmNjI2NzhiMmE2ZjcwNTIzYjRkMTUzNzVlMjNlIGxlZ2FjeS10cnVuaworMjc3NDggMDIwZDk2NjI1MzU3ODY3Y2Y2MGY1NzE3OTUyOTA4ZTliOGJjMTlhNSBsZWdhY3ktdHJ1bmsKKzI3NzQ5IGU4ZmQ1Y2FiMGRiM2VhNzI2MDc1ZDQ5OGFlOWViMjA3ZTk0ZTU4NmMgbGVnYWN5LXRydW5rCisyNzc1MCA3MTNhZDdlMDQwNmFhNjJhZTMxMGVmY2IwOTZjMGM4MzMzNjlkZjFjIGxlZ2FjeS10cnVuaworMjc3NTEgOTc5ZmY1ZDBhZTA3YWY1NDNhNzczNzM2NDdlZGZkNWUwOWY5MzljMyBsZWdhY3ktdHJ1bmsKKzI3NzUyIGFhMGQyZDUxZmJkZWMxMTJhZjMwNDMzMjE2NzE3ZGNkZGU1ZmQxNjkgbGVnYWN5LXRydW5rCisyNzc1MyBhNzE4NmJiOTE0MmM5MjllZTFkMDA1YThhZTZkM2U4YjIxN2Y5ZDQ2IGxlZ2FjeS10cnVuaworMjc3NTQgMTAxMjkwNmU4YWRmMGZjNTEwMWE2NDY1YzBhOWU1MTAwNmIxM2E5NiBsZWdhY3ktdHJ1bmsKKzI3NzU1IDhkMjNiZmEyMGNkYmNkYjBhYWNhMDQ4ZTRjMmQ3YTdkNzI5MzQwOWUgbGVnYWN5LXRydW5rCisyNzc1NiA0YWI0ZGFjNDYyZmZkYzk5NWYzZDkyNjY5ZDhjYTc1YjAyMjVmMjhiIGxlZ2FjeS10cnVuaworMjc3NTcgZTM2MDVlYjJmODY2YjNiNTMzZjljNWQxZjdiMWI3Yjk3MDAwMjg0ZCBsZWdhY3ktdHJ1bmsKKzI3NzU5IGY2ZWFhOWQ5OTZlYzI0MmM2NWI2ZDg2N2MxZWYwNzMwOWRjZjRjMTUgbGVnYWN5LXRydW5rCisyNzc2MCA0MGUwMTQwMTgxY2Y4NTAwMGMwNWExMTQ1NmE2MDBkNWEzNDc3MzZjIGxlZ2FjeS10cnVuaworMjc3NjEgNDNlZTFjMDc1MGEyMzU1NGJkZTU1NGZmNzNhNzMzMDNkYjkzOThjMiBsZWdhY3ktdHJ1bmsKKzI3NzYyIGRmZTU0YWYyOWE0NzNmZmU4ZTM3OTgyM2QzMGIzNTc2YWY1NzZkNDQgRFNfUlBDX0JSQU5DSAorMjc3NjMgOWQ2NDFjZTY2YWYzNTgyMWNhODJjNWYwODg2YWE4ZWNlODhkYzNjNyBEU19SUENfQlJBTkNICisyNzc2NCBmNzljN2FhZTY2MjBkOGIyYjNmNzg3OTkzMDA2MTdmMmZhNGRjNDUxIGxlZ2FjeS10cnVuaworMjc3NjUgMzA3MGI3MTdmYzNkODMzMjY2YjhmZThhMzVlYTRhOTY2NzQ1MDFkYyBsZWdhY3ktdHJ1bmsKKzI3NzY2IDg5Y2U2MjEyNjY2NGYyNGI2NDBiZjljOTQ2MmI4MmFjZjE4NGM5NTIgbGVnYWN5LXRydW5rCisyNzc2NyBhYTllMDU0MjcwYTJhOWZlZmE2NmI5ZWVhYjI3OWRmM2Q1MzU3NzdiIGxlZ2FjeS10cnVuaworMjc3NjggZWMyYzg1NGJkMTk2ZDNhY2FjNDc0YzMzMDVjZDZiZTExNTdlZWMyYiBsZWdhY3ktdHJ1bmsKKzI3NzY5IGM5ZGU1NWZiYjJiMWRlYTdjZWZkMTNlZDZkY2M0MmUyNzYxYmYyZmMgbGVnYWN5LXRydW5rCisyNzc3MCBlMmQ0NjFiZWZjN2E4YzViMjE3NGFmNzcwZTM5ZDFmNWJiNDA0NjkyIGxlZ2FjeS10cnVuaworMjc3NzEgNjcyODQzZWU0YjYxZmIzOTFhMDhmM2FhNWVjNWU2OTc5ZDlhODVhMiBsZWdhY3ktdHJ1bmsKKzI3NzcyIGQ4YTY4MmQ0YzY5MjQwNDcwMDZjOWIyNDhjYjMzZWQyM2IyMzZmNzcgbGVnYWN5LXRydW5rCisyNzc3MyA0MTU2YmY5YjAwNDNjMGI3OGI5ZmEwNDQzZGYwNmNjNWJmNzhmYjRjIGxlZ2FjeS10cnVuaworMjc3NzQgM2M0NWRjZDAxMDFkZWViZWU5NGUwZjg4YzA0MTQyMWIzYmVkNTVkNyBsZWdhY3ktdHJ1bmsKKzI3Nzc1IDY2NzMxNzFmYzM3ZWJmMWJlMTg1OGI4ZDBlYzJmNWY2MWUzOTZkM2UgbGVnYWN5LXRydW5rCisyNzc3NiBkYmRhZGE5NjY4NTgyZGYxNGRjY2U3MzU1NzQ1ODMyMzdhYmFlYWNlIHJlbGVhc2UyMi1tYWludAorMjc3NzcgMGUyN2I2NzI0N2RhYTRiMGYwZWE0ODRjNDQyOWUwYWNmNWJlNGI3MiBsZWdhY3ktdHJ1bmsKKzI3Nzc4IGI0NWQxYjMwNDBhZWYwMGY3NWM5NjI1NzUzMzRkNDY4Y2FmYWI2MmYgbGVnYWN5LXRydW5rCisyNzc3OSAzYWFhZDlkZjcxMWU0M2U0ZmU5MjRlYTM5ZmUyNzg1Nzk1YTkzYzc2IGxlZ2FjeS10cnVuaworMjc3ODAgZWI3NTlkYTA2NGFhODVkYjg2M2I2OTMzNTM3YWEzMGMyMjM2ZDg3ZCBsZWdhY3ktdHJ1bmsKKzI3NzgxIGFjNDliMjgwN2I3NTBkNDc5NzhmMDg5MjQ1OTkwZDZmNGJmZGYyMTUgcmVsZWFzZTIyLW1haW50CisyNzc4MiBiOGUzNTk2Y2ViZDdkMzQ0YzA3OTIwYzJlNTExY2RiMWM0MzkxMWZlIHJlbGVhc2UyMi1tYWludAorMjc3ODMgMGEzMjdiNzY4ODY4NzRhYmRiZjE5NzAxODkyODM0MzllZGMzNDlkNiBsZWdhY3ktdHJ1bmsKKzI3Nzg0IDA3ZGQyZmM2YWM5Yjc3YWJjYTM4NWJiN2MwMjI3YWM0OWZkYjM4MDkgbGVnYWN5LXRydW5rCisyNzc4NSBiYjY0YTg2MTRmNjY4MTc0ZTQzYzAzODliNzIzMjllYWNmNzBkNDllIGxlZ2FjeS10cnVuaworMjc3ODYgNDc3Yzc0ZDAwNjZmMDYyNzY4MGVjOTJlNmU2OGNiZmU4YTM5MjM0OSBsZWdhY3ktdHJ1bmsKKzI3Nzg3IGVkOThjODhiMjM1M2JlNDA5M2IwNzA1M2E5OTYyZDdhNWM1MzBmOTcgbGVnYWN5LXRydW5rCisyNzc4OCBmNjA1MmFlYjEzNGZjYTFlODE2ZmYyMmJmZmYwODA5Y2YwZTAwYTIzIGxlZ2FjeS10cnVuaworMjc3ODkgYzdlZDkyNWM3NWIzMTBhOWFlYjhmYTMzMThmMjA5NmI4ODA2ZjhjYyBsZWdhY3ktdHJ1bmsKKzI3NzkwIDYwODczNWRkMmViYzdkNmU1MWM4MjA2ZGQxOGEyMGU2Y2I1MTcyNjIgcmVsZWFzZTIyLW1haW50CisyNzc5MSA4MWNhNmNhNWMzMDc0YjM0M2NlYmE3ZjlmMWE1MDY3OWEzMTZmMWEwIGxlZ2FjeS10cnVuaworMjc3OTIgYmQzNjY1YmQyZjc4MzMyNDA5NmU5MzgzYTYzMTFmZWY3ODAyY2JiZiBsZWdhY3ktdHJ1bmsKKzI3NzkzIDhjNmE5OTIyNDU1NzlmMzgxMmE5NTljYzlhYTNiNTExNTQwZjJkNDQgbGVnYWN5LXRydW5rCisyNzc5NCBlYjU1NGFhMzYxZTljZTgyMDZlN2NlYjNjNGQ3NzQyNTI1NWRjNzgwIGxlZ2FjeS10cnVuaworMjc3OTUgY2E1YWM5NjdjN2M0Y2NjYTEzZGNiOWQ4NWM3MDJkOGUwNWMwZTdlNSByZWxlYXNlMjItbWFpbnQKKzI3Nzk2IDgwMTI5ZDRhOGNlYzE3NTMxZTNlNjNlYTdlODlkMjYzYjA0ZjAyZTQgbGVnYWN5LXRydW5rCisyNzc5NyAzMDQ0MDg3MWM2ZTU2NDBjNmQ1NmU1MDFmMzk0N2I0MzVlZDBlZmUyIGxlZ2FjeS10cnVuaworMjc3OTggZDA0OWZkNThlNGRkYzRkZGVlYzc0ODJkZTI0YzliZWU4ODE0ZjFiYiByZWxlYXNlMjItbWFpbnQKKzI3Nzk5IDRkZTVjN2U2MjMxZTVkMzY5MDVmNzRjN2RhMWY0Yjc0Y2UwYWJiOGIgbGVnYWN5LXRydW5rCisyNzgwMCBkNmVjNGRhYjkyN2U2N2QyMjg1NzRhNWY5M2M3YWFkNjdlY2YzNTczIGxlZ2FjeS10cnVuaworMjc4MDEgMzFhNzExOWJkOGQ0ZGVmNzEzNzQyMTE5NjFlM2JlZGJhZWMwM2UyNSBsZWdhY3ktdHJ1bmsKKzI3ODAyIDhlMjY2ZDBhY2QxMGEwODIxZDUxMjZmZmQ3MThkNzg2MzAwODEyZDYgbGVnYWN5LXRydW5rCisyNzgwMyA0NzA4YzA5ZjAzNTBmOTU0NjQwNjM0YTA4MDA5OWMxNmM1YWVmZDg1IHJlbGVhc2UyMi1tYWludAorMjc4MDQgMDg5MjZjYzVmMmFmZDA0MTZmMGE3M2ZiMTkzMGNhNDAzY2QzYzEzNyBsZWdhY3ktdHJ1bmsKKzI3ODA1IGEwODhjZDA4ZGFkZTc2NjI1MGQxODY2MDY5ZDc5ZDdjNDc5MDdiNmQgbGVnYWN5LXRydW5rCisyNzgwNiBmNWNmYTBlZTAyY2YzZjY2YTJhYjczYjRlMmE2ZDgxZDY2YzBiZjQyIGxlZ2FjeS10cnVuaworMjc4MDcgZGQ2YTk3MTFiNDNjZDkwNmYwZTQyMWI2OTIzZjhmYWNmZTQzNTAwNSBsZWdhY3ktdHJ1bmsKKzI3ODA4IGEwYTU5ZTUyYmFlYzVkZDBjOGVhNjA1YzgwYjcwZjYzZGNiZWQ4YTEgbGVnYWN5LXRydW5rCisyNzgwOSA1MTVlODcyM2NhZWZmNjU5NjM0ZjA5Mzk0ZjlhY2M2MGJiMmM3OGI1IGxlZ2FjeS10cnVuaworMjc4MTAgMjc1NjkzYmNlZTc0MDJiMzBiNmM4Mzc3YjYxMjkwZDA4NzA3MTE1ZiBsZWdhY3ktdHJ1bmsKKzI3ODExIDM2ZTJmZDNmMDhmNzU4MGRlZTQ2YWQ4YjA2OWU5Mzg5N2U3M2JjODUgbGVnYWN5LXRydW5rCisyNzgxMiA1YmU5NjFhOGU5ZGIzZTE4MGY4NjNkZjQyMmViYmE5OGYwZjBmYmQxIHJlbGVhc2UyMi1tYWludAorMjc4MTMgYmQ2MjY4YjE3Yjc1NzdjOTE3YWJkMmRiOTk3NmRiY2U0MmU0NDYzNiBsZWdhY3ktdHJ1bmsKKzI3ODE0IDNkYjI2MWE5M2E1YjlmNzNhMzdlNjM1Mjk4M2VhODk3OWVmNmE3YzMgbGVnYWN5LXRydW5rCisyNzgxNSBmNGNkNzhiM2I3NzRjZmI5NGE3MmFhNmZmNWE0NTY0ODA3MWFlZDA5IGxlZ2FjeS10cnVuaworMjc4MTYgZWQ4OTI0MTFlZTBkMDBiNWVhODRlNDhiYjkyMGQwZGJjMzExZmJiNCBsZWdhY3ktdHJ1bmsKKzI3ODE3IDlhZmFjMGRkNmI2ZTRlYTBlNjMyZTA1MDhkYzI5NThlOWE5OTJmMzUgbGVnYWN5LXRydW5rCisyNzgxOCBlYTQ4MjE5NjQwNDMyNGMzYjBmOTlkNDJjNTE0Y2M5YmM2YzBiMzM3IGxlZ2FjeS10cnVuaworMjc4MTkgMTVlZTQ0NWFmMDdmN2E4NTI2OTkxY2QxYzgyMDYzZjgyZjU2MTk5YyByZWxlYXNlMjItbWFpbnQKKzI3ODIwIGY1NWQ1OGVlNGVhM2ZjYzAwZTI2MDQ0ZDdiZGZhYTMwOGU3OTI2MmYgbGVnYWN5LXRydW5rCisyNzgyMSAxNGJkNWFiMGNkYjY2YzY1ZjU3NThjZWEzNzI4NjFiYmRhMTliNTEzIGxlZ2FjeS10cnVuaworMjc4MjIgZjQ0MzZlMWIxODY4ZmVmMmYxMmRjNzI2OTllNTJjZTU4MzQ4YjllMCByZWxlYXNlMjItbWFpbnQKKzI3ODIzIDczODNlNjc0ZmNkNTFiOTMwMGU3NTk4NTk3N2UzYjVlZTdiOWNjNzAgbGVnYWN5LXRydW5rCisyNzgyNCBmZTIyNTBmNDVhYzA4NDUzMGI5MWM3MzQ4ODYxYzNkZmY5NjhiZDlkIGxlZ2FjeS10cnVuaworMjc4MjUgOWVmODIzNzc2NjlkNTNhOWJiNWMxYjgyMmY5ZDdlNmE3YzgyYzc1MSBsZWdhY3ktdHJ1bmsKKzI3ODI2IDdkYzNmNDA3N2U1OTU1M2VjN2Y5NTkzZGYyNDNmM2EwNTZkNmRhZDQgbGVnYWN5LXRydW5rCisyNzgyNyBkOThmOGUwM2ZhMzEyYTNiNDYwNTIyMzVhYjM0NDQ1YjUwMGRjYjMxIGxlZ2FjeS10cnVuaworMjc4MjggMzAxZGQ1NDY1YjhlMmIyODYwZDhmYmY1MDAyNWQ0MDU1NmNjZjFlOSBsZWdhY3ktdHJ1bmsKKzI3ODI5IDY2OTg5NjY4MzhjOGU0OTAyYWMzNTYyYzc4OWRjNmQ5Mjk0NjUzOTEgbGVnYWN5LXRydW5rCisyNzgzMCBmZTAzYWI1ODBmOTU1YjkyYjY4NDgxODY5OTM5MTFiMDVkZDM5OWM5IHJlbGVhc2UyMi1tYWludAorMjc4MzEgMmNkNTFiMDUyZGRmNzdiOTM1YjcxNDA1Y2FjMzI5MzEyZWU2NDg2OCBsZWdhY3ktdHJ1bmsKKzI3ODMyIDZkNjExMjZhY2U2OTViMzg3NTkyZWJhNDIyMjY2NzUzYzY5MDJlMzQgbGVnYWN5LXRydW5rCisyNzgzMyAyMjZiYTM0YmQ5OThiNWVlM2ZkMGFhYzllYTZlMGU4MjlhMzQxZmVhIGxlZ2FjeS10cnVuaworMjc4MzQgOWQ0NzNkNGQxMWE2OTNlN2RjYzA2OTU4YTRhNGEzZGMzOGEzZGJjMCBsZWdhY3ktdHJ1bmsKKzI3ODM1IDMyZGRlMzdjOGQ5NTk3NDBmZWIxZjUzZjhmZDBjZDZmMWVmMzJiNmEgbGVnYWN5LXRydW5rCisyNzgzNiBjM2Q5ZTAxYzYxMjQwOTdlYjNiYzI3NDhjYWFhOGY1YjViMzFjNzI5IGxlZ2FjeS10cnVuaworMjc4MzcgNmY4MjRkNmYxMjg2MjkxMjRiNzExOTQxMzQ5OTRjYzdlZjZhOGJkOCByZWxlYXNlMjItbWFpbnQKKzI3ODM4IGRkZDZmZjA2OTNjNGYwMGRkN2IxZWY3M2JhYzYzMTI3Y2UxODNjMjMgbGVnYWN5LXRydW5rCisyNzgzOSAzNTQzMjMzNzFlMzg0OGQ1YmEzYjUxOGZiNWY3YmQzODEyYzkyMzIyIGxlZ2FjeS10cnVuaworMjc4NDAgMmFkZDI3YjU1ODY0YWIwMGQ5YjZkN2M5MDQ2YmUyMjIzOTI3ZDcyZiBsZWdhY3ktdHJ1bmsKKzI3ODQxIDc0N2ZhNjVhOWI0NzVhOTJlNDBjNGM5YzEyYWU4YzI1NjliZjM2YWUgbGVnYWN5LXRydW5rCisyNzg0MiAyMjU3MGU3NmNjYTE2MjFlNmRjM2YwOTZmNTkyOGQ4ZmNkZWViNTFhIGxlZ2FjeS10cnVuaworMjc4NDMgYTVlYTRkZDE3ODgzYTdhYWE2MTI5ZWVmMDhjZjkzNWJmYmUyMGIxOSBsZWdhY3ktdHJ1bmsKKzI3ODQ0IGYwZDEzOTlhMjQ0NWQwZGM5YjU0OGI3OTExYjIwMTJjNmU2ZjM2YWIgbGVnYWN5LXRydW5rCisyNzg0NSBmODI4ZjMyMjA2YmE1MmI0ZTM0NGI3ZGMwZGUxNDdiNDBhMTM4ZjI3IGxlZ2FjeS10cnVuaworMjc4NDYgZDk3MWI4NzAzNTA4MTIxY2JmYWZlNGNiNWVlNGMwYmM1NDJiNTkzOCBsZWdhY3ktdHJ1bmsKKzI3ODQ3IGQyMTZlNjdhYzIyMWMyMjBhMDk5Zjc2OWRhZDJjMzQ0ZWQyYTVkOGQgbGVnYWN5LXRydW5rCisyNzg0OCAyNzgyNWQyNjgzMTdhMTExNjA0NGNiMThiMzdmYTQwMGJmYTFkNzY1IGxlZ2FjeS10cnVuaworMjc4NDkgNWYxNDlhZGU5YWYxOTE2MTZiNzFhYzk0NWNlOThlMmE3YTBiNjEzZCBsZWdhY3ktdHJ1bmsKKzI3ODUwIDE4OWViNmZhOWRlZDg1MzFmZmFkMmIxYjEwZTAwYTVkN2EyMzllMDMgbGVnYWN5LXRydW5rCisyNzg1MSAyZDc3YmU0MWVlNWZiMDdlNThhOWQyNDlmZWQzNTYxNDczYzdhMDAyIGxlZ2FjeS10cnVuaworMjc4NTIgN2ZjMmNlYzRkYzgyOGQ0OWVjOWIyZDQzMGIxZWYzYzVmYWJmOGMzMyBsZWdhY3ktdHJ1bmsKKzI3ODUzIGExYmRkZjZhMzJjYWJmNmRhMTMzODk3ZmM2YjQyYjAxMjJiZGZkZWYgbGVnYWN5LXRydW5rCisyNzg1NCBlYmM4NjY3ZjMyNWFkYmJjNzBiOGJkNzIwNTU2NjQxZjNmYzhlZTIwIHJlbGVhc2UyMi1tYWludAorMjc4NTUgZTMzNGRkNGU1MTBmZjE3MjdmOTNlNTQwYWMwMDdmYzJkYjBjODRlNyByZWxlYXNlMjItbWFpbnQKKzI3ODU2IDRhNjZiZWYxNWMzYmI2N2RhMDM3NDUyMGQzZTFhMzBlMDBkOTQ3YjIgbGVnYWN5LXRydW5rCisyNzg1NyAxNjFhNWVmMDIzMGUzOTA2OWVhY2MwZThjMTJjZjkzMWIyMWE1MGRjIGxlZ2FjeS10cnVuaworMjc4NTggOWIyNDk3ZTI5Nzk1M2E5OWY4ZTFkOGRjZWM2NmRlMzkxNjVkYjRmNSBsZWdhY3ktdHJ1bmsKKzI3ODU5IGU1NjI5OGRjMGY4YWU4MjE0NDJlNDE5Y2JkZmViZGQ1MzI4NDFjNWQgcmVsZWFzZTIyLW1haW50CisyNzg2MCA3OWYxMjliMDczZGViZTNiZGMwYTgyYzUxYzk1OTM1NDBkZmM4NTY5IGxlZ2FjeS10cnVuaworMjc4NjEgYjZhODJmODE4NTQwNmM0Y2VjZWYzNzk5MjQzM2QwNWVlY2FhYWIzZSBsZWdhY3ktdHJ1bmsKKzI3ODYyIGY2NmIzYTM1MDljNzBjYTA2YjM2NTg3MjAwZmNlNTI2NGQyNTIyZjMgbGVnYWN5LXRydW5rCisyNzg2MyA0NWI0ZmM2M2JmNjcxOTM2NTRiMGVmNDc3Mjg2MGU4YTI4YmY0MmQyIGxlZ2FjeS10cnVuaworMjc4NjQgOTBiNDk2NjhkMGFjM2Y5OGE5NmJmNjI1YzUyOTM2YjY2Y2RkNDk2MiBsZWdhY3ktdHJ1bmsKKzI3ODY1IDVkYmNjZTIxZGZlZWE2NzIyMDQxNmRjMmE5ZGY3ZmVmYTM0MDkyYWYgbGVnYWN5LXRydW5rCisyNzg2NiBlMTQwOWFiMGZlNjk4NzM1ZDJjZmVhZGQ5MDYzN2EzZmY3NjAxMTcxIGxlZ2FjeS10cnVuaworMjc4NjcgYWQ0ZDIzZjFiZjZlNmEyYmM3Mzg2ZDQ2ODU2N2M5ZDBkNDA2NWY3ZSBsZWdhY3ktdHJ1bmsKKzI3ODY4IGIzODc1NGYxY2I2MTEyMmVhZWNiMmRhZDNkNzViNzJmZTk5ZjcxMjMgbGVnYWN5LXRydW5rCisyNzg2OSBiNmU1MWIwODZjZjRkNmNjNWE5ZTM2NzkzN2QzZmM3YmQ3MDFiY2ZkIGxlZ2FjeS10cnVuaworMjc4NzAgNTY0NjI5ZDFmMWFjNGEyMGZlMTBmZWY4NzYyMDViYzc1YzQ5YTU3YSBsZWdhY3ktdHJ1bmsKKzI3ODcxIDAzZDg1ZDE5NzA1MmE5MTJjNmVmZjkxOTU0Y2RkN2IzMzZkZTMwMjAgbGVnYWN5LXRydW5rCisyNzg3MiA4NjkxZWRhNGMwNTczMzQ3OWEzNTY5MWQ1NjFhODQ2Njc5MDY3ZDgxIGxlZ2FjeS10cnVuaworMjc4NzMgNzg5OWZkMmFmOTEyNWY4NjUxNTM5M2Y3NjY2ZWVhYmM3OWYwM2RlZiBsZWdhY3ktdHJ1bmsKKzI3ODc0IDcxYmEyZTk2OWMxMTQxNWQ0MGQxNzZjNzRmMzM4MDUzNzdiOWFjNjQgbGVnYWN5LXRydW5rCisyNzg3NSBlMDEyOGQ2MTZmODc5NTlmODZhZGVhN2Q3OWYxMjM3ODZkZjFlYjdjIGxlZ2FjeS10cnVuaworMjc4NzYgZjA1YTMxMWQ3OTg4NjI1N2UyN2IyOTQxOTJlN2E1MzFkMzMyMGE1OCBsZWdhY3ktdHJ1bmsKKzI3ODc3IDEyYWFmOGQ1YWQyYmU3MDc1NzI4NjI2MDY2MDc5MDU2ZWU0NGIyNTIgbGVnYWN5LXRydW5rCisyNzg3OCA0ZTYyN2Q4Y2Y5ZjRkMmE4NDk2ZjRhMzc5ZmRhZmU4NWYyMDdmZDEwIGxlZ2FjeS10cnVuaworMjc4NzkgZGYwNjI4NjYyYjQ4MWUzODU0OTQ1Mzk2YTY2YWY2MDFmOTQ4ZWQ3YSBsZWdhY3ktdHJ1bmsKKzI3ODgwIGJjYzM1YTBmMWE3OGU4Y2ZiMTllMGZmODM5Y2I5OTAzODY4MDQ5MzIgbGVnYWN5LXRydW5rCisyNzg4MSAwODU0NTI0ZWNlMDA4NDBkYTU0MjMyNmQ0MmI2ZjcxZThkM2M0ODcyIGxlZ2FjeS10cnVuaworMjc4ODIgNGJmYzhjNTE5YjZkZDU0YTk1ZDliZGI2ZWM5MTdjNTMxY2Q5YjAyZSBsZWdhY3ktdHJ1bmsKKzI3ODgzIGZiMDY5MWYxMGQ5MTJiNDlmNDNiODdlNWM1MGJhZGY4M2Y1MTA4OGYgYXN0LWJyYW5jaAorMjc4ODQgM2RkYWNlMWQxMmE5ZmU1MGM2Y2VmNGM5MDhjM2NhMDRiMTNhMzdlYiBsZWdhY3ktdHJ1bmsKKzI3ODg1IDgwOTFhNGEzYjhhZWMyZWYzMmUxN2Y4YjI4ZWFkZjk1MzBiYmRmMzUgbGVnYWN5LXRydW5rCisyNzg4NiBlYzFhMmQ3YWMwMmJjMDQ5MjM5OTJkNjM1OTg5NTFiYjc2OTFiZWUyIGxlZ2FjeS10cnVuaworMjc4ODcgMzAzMzVjNjhiNzg3ZjkxZmUwNjE4ZmNjZDZmMWM4MGNjODNhNzg4NyBsZWdhY3ktdHJ1bmsKKzI3ODg4IDI2NzBhNWRiNjg0MzE1Y2ZlNDU3M2RjMTMzYmE3NWFmNDlhMzllOGIgbGVnYWN5LXRydW5rCisyNzg4OSBkYWY3NTc5YzIyNDgyMTkyY2NlOTg1NDViZGU3ZjVlZTQ2NjRkNWRiIGxlZ2FjeS10cnVuaworMjc4OTAgNmRjZjEyOGQ3ZTAzMDhhY2Y4NWY2YzA2NjBkY2ZjNGE4YzM1MmM3NiBsZWdhY3ktdHJ1bmsKKzI3ODkxIGFjNzYyODc2OWJhNTNlMWJjNTY0YThmYjVkZjM5MzMxZDI5YjRiOGMgbGVnYWN5LXRydW5rCisyNzg5MiAxN2E4Yjc0YmJlNWNmMDRjNjhjMGU5NDQ2MDI0Nzg1NTk4ZDhiYWJlIGxlZ2FjeS10cnVuaworMjc4OTMgZGZlNjg4NGI1OWUwZTdlNDBiZWY2NmI3ZDMwNTgxYTZjZmEyYTY0YiBsZWdhY3ktdHJ1bmsKKzI3ODk0IGZlMmNmY2U0ZTY1ODYzZWQzMTcyYjViMTM0NTRiOWNlNDBlN2IxOTYgcmVsZWFzZTIyLW1haW50CisyNzg5NSA0ODk3ZTI5ZTE5Y2MwNjdjNmI5MzBmMGZlMjMwM2NlMGM0MDc1YjQzIGxlZ2FjeS10cnVuaworMjc4OTYgODdmODI4NzI2ZmU2ZWFiNjE5NTk4ZmVkNjE4YTExY2I5NzhjZTMzNiBsZWdhY3ktdHJ1bmsKKzI3ODk3IDMyNGIyZTdhZjY4MzU3YTBiNzNmOTMyODAxOGUzNWYwNWUwYmQzMzMgbGVnYWN5LXRydW5rCisyNzg5OCBmYTMyZTdhNjVhN2U4ZjhiZWEzM2M5YTVjMjgzNzdjNDBkODJjYTlmIGxlZ2FjeS10cnVuaworMjc4OTkgZGZlNWE2ODk5NzliYTgyM2NmYmVkNzUwZWEyMTUxZTA1YmRmZjUyNiBsZWdhY3ktdHJ1bmsKKzI3OTAwIGFiYjUyZDU2YmE1YWFiYzVmMjA5N2MyYTk3MDFmOGNlNGU2MTJlOGMgbGVnYWN5LXRydW5rCisyNzkwMSAxMmQ4NWI3ODUyNjM2MzRlN2EyNjlkYTcxMTgzMWRkYTUxYmY1NmRlIGxlZ2FjeS10cnVuaworMjc5MDIgN2VjYjZlYjFmZTc3Mzk3NDU3MzY1NmUyYmI0ZjEwN2EyOGYzYjYwZiBsZWdhY3ktdHJ1bmsKKzI3OTAzIDdmYWMxMzNkNTM5ZmZhY2IwYTI1N2E4YjVjNDU0MjY3NGFlODAyM2YgbGVnYWN5LXRydW5rCisyNzkwNCA1NmNlNGM4ZjRmMTY5ZjIxYzljMTc4ZDUxYTAwYjljOWViZGM1ODBmIGxlZ2FjeS10cnVuaworMjc5MDUgNzAyZTExM2QzOWIwZDU1YmRiOGQ4ZWI1YzE2OWFhOTllMGE3OTU3OCBsZWdhY3ktdHJ1bmsKKzI3OTA2IGQ4YmEzNzNiZjJiM2M3MjdiNDE2MzNiMzQzZTcwMTcyNTU1YTMwNmYgbGVnYWN5LXRydW5rCisyNzkwNyA5NGZmMDc0MzgzNzdiODdkNDhiNjU4YjQ2MDdiMjBjNTA5NGJiMzcwIGxlZ2FjeS10cnVuaworMjc5MDggYWUyZmI4ZGEzODYzZTk5NjQyNTlkZTQ4MTdhZTcxYjZiMDZkZTc3MSBsZWdhY3ktdHJ1bmsKKzI3OTA5IDc1ZmQ4NjI5MDFkODNlN2YwMzM2NWFjMmY0ZmRiMzg3ZDY2NDJkZjQgbGVnYWN5LXRydW5rCisyNzkxMCA4YTEwYTcyMWI4NGJjZWVjY2JlYmVhYjM2N2EwYmRkN2QwMjQ3NTRhIGxlZ2FjeS10cnVuaworMjc5MTEgMGNmNGUwNTM5Y2MxZjU4MGMzZjZiZDZhNjQ4MTc0MjUzMjgzMzE4YSBsZWdhY3ktdHJ1bmsKKzI3OTEyIDE3NWNkMGUwODhhYWNjZjkzZDRhMDAwNTZiMzk0NTQzNjljNTM2ZjYgbGVnYWN5LXRydW5rCisyNzkxMyBhZGYwYjIxNWE1MmFlMjU5MDRmZDI4ZDBiNzZlOTczOWViMzg3YmFiIGxlZ2FjeS10cnVuaworMjc5MTQgNWJkMGYyNDFlYzVhZGJiOTI4YTVmMTU3MmUyYzljZDM5YjE0MDcxMyBsZWdhY3ktdHJ1bmsKKzI3OTE1IGE3M2E1ODk4YmY0OTJhNTYxMmJhMWVhZWFjYWU5ZTRhY2EwZjVjOTcgbGVnYWN5LXRydW5rCisyNzkxNiBhNTMyNGIwOTQ5NDJlMzI4NTY3NDRjMDA1Y2RkM2QxYTE1M2U2N2ZmIGxlZ2FjeS10cnVuaworMjc5MTcgM2NiMDU1YWFlNzM5NTdkODAyMjM1MzdiOGIyYzY2NTVlMWYwNjA2YyBsZWdhY3ktdHJ1bmsKKzI3OTE4IDFmMDE3ODcwNTUyZTY1M2JiOGRhMTQxOWJhM2JiODEzNDkxZjY5MTggbGVnYWN5LXRydW5rCisyNzkxOSAzMmY5MmQ3NjZiODEzNmFhYjQzYjYyYjcxNTY4ZDYxOTZmY2UwOWM4IGxlZ2FjeS10cnVuaworMjc5MjAgNjJmNmJhYmVjZTFmYzMyNDU3NGRjMmJlNTI2NmU5YTAzNDUxYmMzZCBsZWdhY3ktdHJ1bmsKKzI3OTIxIDM0NDQwMDViNjUyNzAzZDJmYjQxZGJjOTFhN2E5YjVkNmVlZjE3OWUgbGVnYWN5LXRydW5rCisyNzkyMiA5NWRmODdkNDQ5MjNiZmQ0Y2VmYWEwZDlhNGI1ODU0ODZmZmRhZmYwIGxlZ2FjeS10cnVuaworMjc5MjMgOTUwYzVhMDlhZDk5ODk0MTlkZmFhZmY0YWYzOTAxYzM0ZGE2MmE0NiBsZWdhY3ktdHJ1bmsKKzI3OTI0IDgyYzQ4NjUzODYxYjU2ZThiYzBjMzg2YWEwY2U0NzhmMWU3Y2U1NGMgbGVnYWN5LXRydW5rCisyNzkyNSAxYzI2ZWI3NjgyOTM2ZDAxOTA3NjJhODE0ZTVmY2IxZjg0ZjNkMjhkIGxlZ2FjeS10cnVuaworMjc5MjYgYWYxZmI0ZmVjMmI0NGQ0MjYwZjQwNjlhNzYxNTllYTk4MmIzYTM2MyByZWxlYXNlMjItbWFpbnQKKzI3OTI3IDQxODk1NjA5ZDA4NGNkYTc1MDgzYWM5NjViNmJmNjAwMTNkNmEzMDMgbGVnYWN5LXRydW5rCisyNzkyOCBlOTYxY2QyZjIyZTQyOGE0MWUyNWM3NTExOTk3NDY2MjZiOTliYjBlIGxlZ2FjeS10cnVuaworMjc5MjkgMjhhNWM4YWZhMDU2ZTUyY2ViNzBkZTBhMmRiMWNiMTJjMDFmYjJkMCBsZWdhY3ktdHJ1bmsKKzI3OTMwIDhkNWUwZTNmNjQ0NTAwZjI2ZWY4YjI5NDdkYTE2M2Q2ZDQ3YWQyNTcgbGVnYWN5LXRydW5rCisyNzkzMSAwNmYxZTJmZDA1YmNhYWUxNmYzY2Q4M2ZkMzE2Yzk0YWMyOWY3NGM4IGxlZ2FjeS10cnVuaworMjc5MzIgNjE0MzU4ZTNjNGY2YWVmZjJiMGQ5ODg2Y2RmOTFmZmRlOWIzNjMxYSBsZWdhY3ktdHJ1bmsKKzI3OTMzIGZmOWVmYTY5MjU5NGZiYjgzZmViODVmNzU1NjE3OTQwZDJkZjk0YjAgbGVnYWN5LXRydW5rCisyNzkzNCBkMGQzZjc2MGQwNjc1ZGUzNzcwNjU0MTkxZjI3MmQwYTYzYTYxZTVlIGxlZ2FjeS10cnVuaworMjc5MzUgYzAwZGYyM2U4NTZlNWUyYmQxZGJiMTQ5NDQyMzNkOWM3MzRhOTVhYyBsZWdhY3ktdHJ1bmsKKzI3OTM2IDBiZDUyMWViNzE0ZWFjYTg2ZjhjYTI0NTNhZTRmYjUzNjRiZTFiZTMgbGVnYWN5LXRydW5rCisyNzkzNyBkZDk5M2QwMWU3NDA0MTE4ODM4NDQzY2Q1YzMxZDNhYTQ4Mzk0MWQwIGFzdC1icmFuY2gKKzI3OTM4IGI1YjliMDMzNDQ2OWM0NzZmZWZmMGZiZjZkMmM3NjljMjAyNTI5NDcgYXN0LWJyYW5jaAorMjc5MzkgZDJmNDFjOGE4MWYwZDk1MzhjYTUyYTMyMGNkYTJlMzM4OGVjNjE2OCBsZWdhY3ktdHJ1bmsKKzI3OTQwIDk2ZmRlOTgwOGUxNWM3YTAzM2RhNzNmZWE0Y2FlYjM1YmUzY2M1MmIgYXN0LWJyYW5jaAorMjc5NDEgNDIyODZkMmU0ZDJmZjc1YTYxODI4ZDAxYzRiYWM1YTA5YTJhODJiNiBhc3QtYnJhbmNoCisyNzk0MiA1M2YyMWY0MzQ5NTY2NTZhYzk3OTc5ZmQ0ODlkMjUzZTdiZGZkNjExIGxlZ2FjeS10cnVuaworMjc5NDMgNGYwMDEzNGI1NjFkYjUzNGEzMmY1ZmQ0M2JmYWUyMDc1NmQ5N2ViYSBsZWdhY3ktdHJ1bmsKKzI3OTQ0IGYyMDI1YzY3NmUyNDE1NzI1ZjZkM2ZjYzNmNDMwZTk1ZmJjN2FhNWMgbGVnYWN5LXRydW5rCisyNzk0NSBkODc1MDg5N2M4OTdjYWFiMTE0MzZmOWZkNTAzNzMwMjIxMDk0MTg1IGxlZ2FjeS10cnVuaworMjc5NDYgYTZhNGE5NTFjNjE2Y2U3YTkzZmNmNTdkMjQ1NTEzNTA4ZDdhZmM4NCBsZWdhY3ktdHJ1bmsKKzI3OTQ3IGUyMTM4MWZkODc1NjQxMGFkZDNlNzlkZDZhYWE2ZDA5NDYyMWNiZmMgbGVnYWN5LXRydW5rCisyNzk0OCBjOTgwOGY1MjEyMGFmYjllMjZkNGQ4ZGY2MzgzYzNkOThkOTg1NWNhIGxlZ2FjeS10cnVuaworMjc5NDkgZDVmMTdkODVmNmEwNjU4M2I2YmY3YWM2NmFiMjNiNzkyNmFjMWFhYiBsZWdhY3ktdHJ1bmsKKzI3OTUwIGRmNGE5ZDNhYmM1NmExMmE3YWIwOGQ4NDg0ZWUyZjk4MjkyMDc5YTQgbGVnYWN5LXRydW5rCisyNzk1MSA1ZDZlNDcwY2UwNWNkNWIxODBlMjFmYjQxOTRmZjIzOGM5OWY2NmMzIGxlZ2FjeS10cnVuaworMjc5NTIgYmJhYzRlM2NjYjYyNTIzNjZiOWNiZDkzMGQ0ZjMzYzY2YjFlNDgyMSBsZWdhY3ktdHJ1bmsKKzI3OTUzIDRiZjk0MTQ5ZDIxYzdlNDYzYmE4ZGFiYTFkYjE5MTQ5ZjMwYzY3ODUgbGVnYWN5LXRydW5rCisyNzk1NCBkMjZiNjJmMGM2ZGJjMzUyZjBjMjUwZjViNzQ1MDc0YzkzYmM4MmU5IGxlZ2FjeS10cnVuaworMjc5NTUgZjA1OWQ1NDM1ZDY1MzJlZGU3MDU4Mzg0M2U5MjIzODE3MTk4NzNiMiBsZWdhY3ktdHJ1bmsKKzI3OTU2IGI0MjY5ZmE2N2MzZTljYzRhMGUxZjQ3MzlmMzQyZmFmNjU5OTc1M2IgbGVnYWN5LXRydW5rCisyNzk1NyBiMjVjMzFlMDA4YzhjN2QyMTQ5N2UzZjU2YmFhNjYxZDdlZWQ5OGQ1IGxlZ2FjeS10cnVuaworMjc5NTggOTM0OGZhMjBmMjE0OTIwZDFhZWNiZDNmYmUzMGJjMmFjN2ZjMmY2OSByZWxlYXNlMjItbWFpbnQKKzI3OTU5IDQ3OWY4ZjRlZTRhZDQ1NWFjMzUxZTJjNzIzNWJhMjU0NGVkZGY5MGYgbGVnYWN5LXRydW5rCisyNzk2MCAwYmIzOTg2Y2Y2NTNhNjA1ZWRlZDg2YjlhNTFjYTU5OTM4YzJjMzk4IGxlZ2FjeS10cnVuaworMjc5NjEgYzhkNjk0YjY0MWYxOTI0OWQ5Y2RiYzk5NGFjZTVlMWUwOWIwZTI5OCBsZWdhY3ktdHJ1bmsKKzI3OTYyIGFhYmM5NzkwMmUxMDQ2YWJjYmU1MjM0NTUwOTlkNzU5YTcyYTZlZWUgbGVnYWN5LXRydW5rCisyNzk2MyA3Y2E0NmUwODIwMGRmZWU1M2UyMTZiMTdiZTMxODQ2YTYyZjI1OWY1IHJlbGVhc2UyMi1tYWludAorMjc5NjQgNDU3YTA0NzgzMTgzZjU2ZjcwMTYxOGFlNGQ1OGJhZDVmYmFiNzBkYSBsZWdhY3ktdHJ1bmsKKzI3OTY1IDhjMzhlYTA5MmYyMDdlYmY0NzA5YzBiZWNiNTc5YjEyZjg1MjYwZWMgbGVnYWN5LXRydW5rCisyNzk2NiAxMGRiZGU2OTg3NjY5MjRkZmNkMzc3YTI4NzlkZDJlOGRhOWQ4NjY1IGxlZ2FjeS10cnVuaworMjc5NjcgODFjNTZjYmMxZDVmZjQ4NWU2NDJhN2NhZDg1NWI0ZDU3MDNhMDMyZSBsZWdhY3ktdHJ1bmsKKzI3OTY4IDAwNDg4Y2E5ZTA0Zjc1NGI4NjcxMjEzMjFkY2EzNTgyMTdkZTU1YWUgbGVnYWN5LXRydW5rCisyNzk2OSA4NTExMjFlY2MxMTExN2E0NzgyNTg5M2M1MDk1YzM3ZTNmMDA1NjcyIGxlZ2FjeS10cnVuaworMjc5NzAgODBmZDBkMzYxZTE3ZjYwNGFkYWY2ZjFhNzYwMzBmYWIzMGRmNTZjZCBsZWdhY3ktdHJ1bmsKKzI3OTcxIDkyMGFkMDk5MzBkYzUwOWM5N2RkMmQ2NGRhOGMxYTZkY2QyY2U3MjMgbGVnYWN5LXRydW5rCisyNzk3MiAzZTcxOGMzZDUxZWZhYmQxMzhhMWQxNzJiMDExYTc0ZWQ0MDIzNWE3IGxlZ2FjeS10cnVuaworMjc5NzMgYTMyY2ZmMGM3NWRjYzdlZmI1ZGJlMmRhOWY3YWEzNzNjOGIxZjhjYyBsZWdhY3ktdHJ1bmsKKzI3OTc0IGNjY2JjMmM3OGMwOThiMzc5ZmExMjhjNmU3M2EzNWExZTVhYWU3MDIgbGVnYWN5LXRydW5rCisyNzk3NSAyNDQxMTdhZWJiZDU4NWJlZTllZWFmNWNhMDA0Mzc1ZjZlOTM2ZWYyIGxlZ2FjeS10cnVuaworMjc5NzYgY2EyMGJlMjQzODFmYjMwNWYzMjkxMmY3OTRjY2JlMmRjODc5NmM1YSBsZWdhY3ktdHJ1bmsKKzI3OTc3IDQzODJiMjM3NDM5MDFkZTcyNGVjNTg4YmE5YzdkZWQ1NTQwYWZiNzkgbGVnYWN5LXRydW5rCisyNzk3OCA5YjFiMmI1OGM4NjY2MjM2NzBjYTY0MGI1MTk5ZWRhODUzZDczYzJjIGxlZ2FjeS10cnVuaworMjc5NzkgMDBmOGRkYTE3ZWUyYjUyYWZhZGU5NTE0OGMxMDc5ZTBlZmYxNGRmMiBsZWdhY3ktdHJ1bmsKKzI3OTgwIGVjMmUyODMwMGI3NjU5YzY3OTczM2IwZTcxYThkYTcwNDhiM2Y0NTUgbGVnYWN5LXRydW5rCisyNzk4MSAyNWQ2N2M5NGE2ZDFhMGM3MzM1YzlmZDY4NzU3ZDNmYjk5MTBmODVhIGxlZ2FjeS10cnVuaworMjc5ODIgYzM5YWVkNDVkYmU5OWRjOWEzNDc4YTNkNTk3NDBkMTkwODJjYTkxOSBsZWdhY3ktdHJ1bmsKKzI3OTgzIDlkYmExMjE2N2RiNmY3ZDIyNmZhOTQ1MmVmMzlmNWVhNjZkOTNjNmIgbGVnYWN5LXRydW5rCisyNzk4NCBjYjMwOGExM2ExZmQyMDQ2ODdlYmM0NmYzZGJjYmVhZWExNWI1YWRlIGxlZ2FjeS10cnVuaworMjc5ODUgZmQwNWMyZDM1ZmU3MTkxZjJkYWVkOGVkYmVhODBmYzhhNzk1MzA1NCByZWxlYXNlMjItbWFpbnQKKzI3OTg2IDgzOTMxNWRlMGNhMTBlMmNiNDk4NTEzMTYyNzZjMjBkMjhmMGE0NzMgRFNfUlBDX0JSQU5DSAorMjc5ODcgMWVhNTY5ZWE1MWZkOWRlODAwODc0MTk1MjY4Y2E5YjIxOGRmZWI5YSBEU19SUENfQlJBTkNICisyNzk4OCBlN2I2YmMyYjM1ZTJlNDJiZTg3N2E0ZDMxNmIxN2EzNDk0NDY5NGFjIERTX1JQQ19CUkFOQ0gKKzI3OTg5IDMwNzMzMmYzN2I3ZDkzN2Q0ZmUzYjUxNjU0OWYyMjY4YzJlNjkyMjEgRFNfUlBDX0JSQU5DSAorMjc5OTAgMzI1N2VmZGE0NTEzMzFlN2JjZDNiNjBkMDE3NDA2NTczNWM4MmIzNiBsZWdhY3ktdHJ1bmsKKzI3OTkxIGU0YThlM2U0MjEwZDk3N2U3ZTc5NzY2YzRjNjczNTc0MTE4NDQwMWIgbGVnYWN5LXRydW5rCisyNzk5MiBkYTg4ZTk5MGY5MmNjZDJlNzE4M2Q2Mzc3MWIzNjRjOTlhMTg4N2QzIGxlZ2FjeS10cnVuaworMjc5OTMgNmUwZGVlZWI5Nzg3ZDNiM2Q3ZmI3Mjk3MTU2M2VjNGFiNzFlMTdkNCBsZWdhY3ktdHJ1bmsKKzI3OTk0IGY5MjhmN2VlYTJkNjk4NTg2ZDMwNGZkNTRiNzhhZDlmZjAwZDk5YWMgbGVnYWN5LXRydW5rCisyNzk5NSBhNTA2YWI5YmI0YTQxNDcwNDllZDdkNzQwNWU1OTMyYjE4ZTE3YTRhIGxlZ2FjeS10cnVuaworMjc5OTYgYTAyYWJhNzJjYmIyNDk5ZTVhMzAxNzc2NmQ4NzJmM2IyZGM0MjlkZiBsZWdhY3ktdHJ1bmsKKzI3OTk3IDAwMTY3YjJlY2FjYzVlYmMzNzliNmZmYjUwN2FjNTA1NWM2NDc5MGEgbGVnYWN5LXRydW5rCisyNzk5OCAxMmUxNDYxNzFmM2RjOTA2YjkxYmFlMGM2YzlmNGQxZmJlNGFhNjliIGxlZ2FjeS10cnVuaworMjc5OTkgZDdjYTBhMmNlMDc0NmI4NmIzMTIyNzU2NTc5YmE4MmQ4ZDUxNjUyZCBsZWdhY3ktdHJ1bmsKKzI4MDAwIDU5ZDUzMzU4MGU3MmQ2MTUzYzhjZTRkNjMxN2RhMDU5YzNlYmUxNTAgbGVnYWN5LXRydW5rCisyODAwMSAyNjJhZDE2YjRkZTA5YTMyYjFjMTM0YmMyNTAwMWY3YTAxNzk1NzQxIGxlZ2FjeS10cnVuaworMjgwMDIgZjVlMjljNzMzNmRkODhlYmUxNjBlNDNlNTJhMTZkZTQyMzllMmQyMSBsZWdhY3ktdHJ1bmsKKzI4MDAzIDczYjMwOWNmMDIxMzU1MjljOTlkODRiY2MzZjM0Zjk4NjNiZDE1MTMgbGVnYWN5LXRydW5rCisyODAwNCAyYjA3NjZhZmFhMjIyZDBhYjA3MWViMDdjYThmODI0YjNjYjBhM2M3IGxlZ2FjeS10cnVuaworMjgwMDUgZmQ0NTc1YjU2YTRkZTAxOGU2NzhjZTQ3MzY2ZTI0ZTg4NGY5OGFhZiBsZWdhY3ktdHJ1bmsKKzI4MDA2IDk0MGM0ZjU0NmU3ZjE3ZTc0ODNjZTlkNDQ3OTY1N2MxNjQ4ZjYyM2UgbGVnYWN5LXRydW5rCisyODAwNyAzZTRkNDMyODcyZWE3OTE4ZjM3MzJkMjg1MWVhOGZkMzUxOGEzNDE2IGxlZ2FjeS10cnVuaworMjgwMDggYjY3MDdlMTU5OTA5YTY1Zjg4YzhjN2ZkYzI2Mzk4NWVmMDZlNjhiOCBsZWdhY3ktdHJ1bmsKKzI4MDA5IDQzNGVjNTIzZjMyYzdkNjA2ZGYyODYzMGE4MDQ2NzQwNjY1YmI4ZTMgbGVnYWN5LXRydW5rCisyODAxMCAxM2RlMmY2ZjA3ZGRkYzk4MTkwM2IzNTY4YzQ4NmI0ODRlM2YxYzk0IHJlbGVhc2UyMi1tYWludAorMjgwMTEgNjU0MmRmYTQwZTc3Yzc2MWQwMTQ4MDk2ODZhMjI3YTY5MDFiYWMzYiBsZWdhY3ktdHJ1bmsKKzI4MDEyIDhhNzRmMzM1Y2ZiYWI5ZTEyNzc1NDE3Yjk3MjZlMzk4NWEzNzQ4NTMgbGVnYWN5LXRydW5rCisyODAxMyA3OTFiYmVkYmJiZTllMzc2Y2Y4YmQ0OTRiMjRiODJlNzNhYzc2N2MzIGxlZ2FjeS10cnVuaworMjgwMTQgNDBlYjgwZGM0MjUwMGU5ODBlMThjYWNkM2Y2ODM5YjMxMGY0ODQyYyBsZWdhY3ktdHJ1bmsKKzI4MDE1IDhhMWMwODZhZDIxM2E3NjVkNDFlZTYwOTgwZjUyMmEzMGZhZTE1YWMgbGVnYWN5LXRydW5rCisyODAxNiAzNWRiYTYwMDdhYzM3ZDJmNGQ0ZDhjMjZlZGQ5NDlmN2FmNTkxOTYxIGxlZ2FjeS10cnVuaworMjgwMTcgZGJjMGYyZjExNDE0MjBjZGYyOTc4YjU0MjZlMDQ1ZjJjNmRlM2FkNSBsZWdhY3ktdHJ1bmsKKzI4MDE4IDY0MmRkY2ZlODY0YTRmZWFmYTg4ZWY2YmNmMDEyYjU1ZWE3YjQ5NDggbGVnYWN5LXRydW5rCisyODAxOSBiNjRkYjU1MDk3MmMxNDBmNDRhMWZmZGE5ZWU5Y2Y2NTc5NWNkODZhIGxlZ2FjeS10cnVuaworMjgwMjAgNzM1NDQxZmRhYjdlNDc0ZmU0NTBhMTZkOGE2NmI0NDU3OTVlMDdhNyBsZWdhY3ktdHJ1bmsKKzI4MDIxIDgwYjEyOTQ0YTQyYjBhZjcxNTA1NzUyMjg2Yjg4ODg5MDFiY2U5M2YgcmVsZWFzZTIyLW1haW50CisyODAyMiBjOWQyNDI4YTZhODVlZTg4NWVlZTRhODI4OWEyMWE2ODkwZGYyODQ3IGxlZ2FjeS10cnVuaworMjgwMjMgMTFiMjYyZmVkNTgwOWNjYzQ1NDg1MmY3ZDU0YmM2ZWY3MGE5MGI4NCBEU19SUENfQlJBTkNICisyODAyNCBmYjQ1OTFjMDQ3MGUyODAwZmM4ODc1NzRlMWRmZTUwNWFiZWYzNWYxIERTX1JQQ19CUkFOQ0gKKzI4MDI1IGQ2ZTVlOWExYmNhMDhkNWM0MjcyMmZmYzM1ODU4YmEyNzI3ZjEzNGQgRFNfUlBDX0JSQU5DSAorMjgwMjYgYjQ3YTZhMmExZTU2MGMyOTExZTYwZDc4MjZiNzU4NjljMWQ2NmZlNCBEU19SUENfQlJBTkNICisyODAyNyAxODY5Y2VjZDM5MzM0OTIxMDRkZmMzODMzMTc2NzJjMmRkM2U3OGUyIERTX1JQQ19CUkFOQ0gKKzI4MDI4IGY3MzI1OTc2ODQyNjdhOWJiYjRmOTBkMDM2YjgyMzFiOGNmYjljN2QgbGVnYWN5LXRydW5rCisyODAyOSA2NDQ1ZTQ0ZmNiNzgzNjBkNzI1ZTljODBhNWYzZDQwYmY1MmEwZWU2IGxlZ2FjeS10cnVuaworMjgwMzAgNDgyYzk0MWQ1OTNmODYxYzRmZjUxYWE1OWE0ZTI5M2UzZjc3ZjY1MCBsZWdhY3ktdHJ1bmsKKzI4MDMxIGYzZTY5YjlhY2M0MDZiM2UxZGYwZDE0MzIwNDIzMjEyMjAyM2E1MjQgbGVnYWN5LXRydW5rCisyODAzMiBkZGNiOWNlMDQ1NDY0OTYzMmRiMjhmYjY2NDY0MzM0N2E3NmFjNWJlIGxlZ2FjeS10cnVuaworMjgwMzMgMGRmOWE5YzA4YzEzOWU5NjFkM2YyMjA4ZDJlMTMxNjA4NDA5Njg5OCBsZWdhY3ktdHJ1bmsKKzI4MDM0IDdmODk2N2Y1OWNmODJmMGYyMjBkN2RlM2RjY2U3OGM3YWYxMTFhNzAgbGVnYWN5LXRydW5rCisyODAzNSA0M2NhYTIxMmI5NTljZjdiMGE5YTg1NzA0Y2NiZmIzMjQ1MTU5MjEwIGxlZ2FjeS10cnVuaworMjgwMzYgMTEwYzZlZGFmNjJmMzg1OGU0ZDYxMWE2ZTgyYTk0NDg5NDdlZTdkYSBsZWdhY3ktdHJ1bmsKKzI4MDM3IGY2YTk3Y2QzYmEyNGI0NTU3ZTA3M2VlMGJhMGUwYjY5ZWJlOWVjMmUgcmVsZWFzZTIyLW1haW50CisyODAzOCAxZWJjMTI4ZTQ4NDJjMjg0YTJjNGM0YjRmNzc3Y2I2NGIzNjVjYTU3IGxlZ2FjeS10cnVuaworMjgwMzkgNzc4MDkzNTMzYTQ2Mzk5YWJiM2IxMDdmOGI0OTE0MDZhNzlhNGY2OCBsZWdhY3ktdHJ1bmsKKzI4MDQwIDdhZTNkNzQ4NjgwMWU3ZmJlZmNjZDc3NGJiODM0NjBkNjFjMzk2MzcgbGVnYWN5LXRydW5rCisyODA0MSBkYTkwNjUzZmMyYzZlYmNlYjBjMmQ0ZWY4NzBiNmJjNGNjZmUzZDA3IHJlbGVhc2UyMi1tYWludAorMjgwNDIgZjMzYzAxY2M0MTRjODk3NTQ1NjQyMDk0ZTliZDQ2ZWVjMDdiOWU5MSBsZWdhY3ktdHJ1bmsKKzI4MDQzIGE5ZjI1NjdjMmY4Mzc2NTgyMTdlNmRjYTMyNzU3ZWIxYWY5OTYxYmMgbGVnYWN5LXRydW5rCisyODA0NCBmYjFkMGU1NWIxNTIxZDZiYWJkYzY5OGIxOGIyMzk2ZTBhZGZjNTU2IGxlZ2FjeS10cnVuaworMjgwNDUgYmVlZDFjMWU3YzZkZjY3NzE3MzNmZjJlMjQ5YTI4YzAyMmM1ZTgwNSByZWxlYXNlMjItbWFpbnQKKzI4MDQ2IDBkOTg2NjBlMzY1Mzk1ZGRkOTQ1Y2IxNzYzYTlkZWVkYmZlYzY3ZTAgbGVnYWN5LXRydW5rCisyODA0NyBhMGViOGUzODJkNzRjYjEyMmI3YjFjYTQ3MDAyYzNjYjU4MmFiNzk5IGxlZ2FjeS10cnVuaworMjgwNDggMjdkYTJiODFhNDk2YTkyNWUxMTFiNDViOGU3ZjM2NzhlOGY3YzAyYSByZWxlYXNlMjItbWFpbnQKKzI4MDQ5IDdiYTNlNWZiYWFkODBjMzMwYWRkYzdjNWY2Njg3ZjQzZGI0NWMyYWQgbGVnYWN5LXRydW5rCisyODA1MCA4Y2YwMDMzOGI3MjhkMzg3ZGNjYzEwOWUxMzRmYzgxZGU5MzczYmIxIGxlZ2FjeS10cnVuaworMjgwNTEgNGIzNDJlZDMwOWUwMmNmOWI2YmIyMmE3N2QzNmU5MDgzZmE2ZDU1MCBsZWdhY3ktdHJ1bmsKKzI4MDUyIDY5N2QyMjNhMmY3NjY2MDM2NmQzMjUyZDdmYzZmNWQ3Mjg4NjNkYzEgbGVnYWN5LXRydW5rCisyODA1MyBlZGY3NTcyMTNhOTJkYjAzY2Y4OGU3MTA5YWZlMGM5YmRlZDdhNTRmIGxlZ2FjeS10cnVuaworMjgwNTQgMjI0YzUxNmJjMTFmMWUxNDQ2ZWM3M2Q0YjkzMzhiMjAwZGYzZjA4ZSBsZWdhY3ktdHJ1bmsKKzI4MDU1IDlkODRhNWJkNzY3ZmE4ZDA2NTg2MWYyNDhlNDA5ZTQ1MjgxN2IzOTcgbGVnYWN5LXRydW5rCisyODA1NiBhYjVlZWEyZGQzYzAwYzA4ZDE0MTRkYmFmMThjYjBkMmRmZDg0ZDQ3IGxlZ2FjeS10cnVuaworMjgwNTcgZmQxYjVlZmEwY2UzZWFjYzg5MzJjODUwNzIxZDQ0ZDExMjBlMjZkYSByZWxlYXNlMjItbWFpbnQKKzI4MDU4IDFhYjI3YzE3NzBkZjViODY5YjdkZTdjYTA1MGIwMTAxMWI1OWYwZmIgbGVnYWN5LXRydW5rCisyODA1OSBmNjcyZTFkYmFkOTIyNDExYjQzMmM4MjgyMTEzNmExYzg1NWZlZDMzIGxlZ2FjeS10cnVuaworMjgwNjAgMThjYTRlNzgzZjk4N2JkMzNhNmM1MmRkMmVmNTdkY2I2MGExZmZhOCBsZWdhY3ktdHJ1bmsKKzI4MDYxIGU2MWIxMThlOWNhYjI5MjZjYjU0ZWJmZTIwYTRkZDljMjk0YjkyYTQgbGVnYWN5LXRydW5rCisyODA2MiA5NTU5MTRiMGE0ZDY0NmU3OGIxYWI4MGQ3Y2QwNmUyMjYwNWNkNDU2IGxlZ2FjeS10cnVuaworMjgwNjMgOGJjMjY1YjA4NGQ5N2MxZjdjZmYzYmZlNGIyMTE4ZjFlYTQ5YjM3MCBsZWdhY3ktdHJ1bmsKKzI4MDY0IDU5ZDkyMjg3NzhhZDYzZThiZDc2OGYwMmE2NWQ3ZmIxY2M0NTA2NjYgbGVnYWN5LXRydW5rCisyODA2NSA3MjkyODdmN2ZjMmU1ZmFiMDA0MTUyOWQ5NWJkNDBkYzA1Nzg2MDZmIHJlbGVhc2UyMi1tYWludAorMjgwNjYgMmY0MTFmMmQ3OTFhZGU3Njk2NTAwZGZhNzk2NGMxYThlMjc0NjA1OSBsZWdhY3ktdHJ1bmsKKzI4MDY3IGE2MTg5M2Q3Y2VmMjUwY2QzNGRjMjE0OGMwZmY4ODkxOGQ4ZTA1YzUgbGVnYWN5LXRydW5rCisyODA2OCBiMjY1ZTc2YmFiODgzMjkzNDFiYTg0NDdhNTJlOWM5ODNiODc2NTNlIGxlZ2FjeS10cnVuaworMjgwNjkgNmE2ZDAyYmUzMjFjY2QxMDE4MjM3M2M1MGI5MmUwNTJiNmE3YzYyOCBsZWdhY3ktdHJ1bmsKKzI4MDcwIGQyNWNmOTRkMjBiMWVhZWViMDg4OGRjNjIxYzIyNzA5NGMxMzhmNGYgbGVnYWN5LXRydW5rCisyODA3MSA0ZmJmNTM0MjExYjk3Yzg4MmMwOTg0NGJjMDA0YjE2ODBhZjExZWM5IGxlZ2FjeS10cnVuaworMjgwNzIgNTc5ZjA5YzBmZGJjZDkyYWRkODY2M2M0MmI3NjAzMWM2MDMyZjU1MiByZWxlYXNlMjItbWFpbnQKKzI4MDczIGJkYmE3MmZmZDIxYmY5ZDYyNjc0YmIxMDYzYmI3ZDdmNjFkNjZhNGIgcmVsZWFzZTIxLW1haW50CisyODA3NCA5NWM0NjIzZjgxODUwOGYyZmI5NDRmMGE3MmYzMGE1MGQyYTc0MDJlIGxlZ2FjeS10cnVuaworMjgwNzUgNzBiNjc1MzExN2NjMDFiZDdmNzc0MjQ3NmEzOGJlMGNkOWJhMDRiOCByZWxlYXNlMjEtbWFpbnQKKzI4MDc2IDY0N2Y5MzY3NzUwZTg3NDAxMzFjNDRkMWNhZWQ2YTk4ZDg1Zjc4N2UgcmVsZWFzZTIyLW1haW50CisyODA3NyA2ODhlZWZiYTA4NjliYjVkM2YyYzgxNmE1MDBlYWMyMDM1MjAwNTBkIHJlbGVhc2UyMS1tYWludAorMjgwNzggMzc5NmQzOWYwYjgwYzgxYzg1ZWRjOTdjNmQ0YjBhOWI5ZmM5NTdlNCBsZWdhY3ktdHJ1bmsKKzI4MDc5IDMyNjliZGQ2NTk4OGVmZjg5NzYzNzA4NGE4MzFhY2ViNWJlNDNhOTkgbGVnYWN5LXRydW5rCisyODA4MCBmZWMwYjBhZWYxNGJhNDg3ZTA2Njg2NGE4NmY0ZWIzOTVmODM4MTAzIGxlZ2FjeS10cnVuaworMjgwODEgOTgwNzY3YzZjZDk3NWI2MTdlM2EwN2NmMWI2ZmQ4ZmEzYTA1ZDljMiBsZWdhY3ktdHJ1bmsKKzI4MDgyIDQ3OWNiNWZmMmU2MDljNWEyMTdhODI5NDBiZmY5MzkzYWI3YzIzMTkgbGVnYWN5LXRydW5rCisyODA4MyA3MWRjYTdjNzZmYTIyNzkyYmU5M2ZiOTBjNGM0YmU3ZTkwOTI1YzFjIGxlZ2FjeS10cnVuaworMjgwODQgN2IxMGU3ZmY3OTRkYzUwMDBmYWVjYTFmMzA2MDJmZTFlZDgxYjI3MCBsZWdhY3ktdHJ1bmsKKzI4MDg1IDZkMjZkNGI5YzVhMzZjMThlNTUwNzM5M2IwZTg3ODJlZGI1MjYzYWEgbGVnYWN5LXRydW5rCisyODA4NiBhZWUxOGVhM2QyODQ3NjUzNTA3ZjJiMWFiMTY5ZTQxOGEzZGY0MTFhIGxlZ2FjeS10cnVuaworMjgwODcgMDQ5MmFkMWFjNjIzNWQxZmFmM2E4NDM5MjgwNWNjYzJhZWU1MTg1MyBsZWdhY3ktdHJ1bmsKKzI4MDg4IDU2NzcwNGJmYTU5NWE1YWI3YjRjZTcxYTk2YzQxNjJiMjQwMTc0MjMgbGVnYWN5LXRydW5rCisyODA4OSAyNzRlNDJhNjkxZTBjODQzNjUzZmY4YjJhMjRjOWM2YjJjOTQ5Y2QwIGxlZ2FjeS10cnVuaworMjgwOTAgMzY0OTNhN2M2MjUzOWJjYTk5NWE5M2IxMzY3MWY0YzRjZjkzMDUzNiBsZWdhY3ktdHJ1bmsKKzI4MDkxIGJlNDdkYjM4MzA3ZTE4MzFhNmI0ZjQ3YzZhZTYyODFlNWJhODExMTEgbGVnYWN5LXRydW5rCisyODA5MiA4YjQ3MDI4MTY0NWU2MDFkZjMyZGQwZGQ4NjVlN2QwMWMyMDBiZjRkIGxlZ2FjeS10cnVuaworMjgwOTMgNzM0Zjg5YzE5NGRkOWYxMDNlYzMwNGJhY2Q5ZWY4OGM0MzVlZjljZSByZWxlYXNlMjItbWFpbnQKKzI4MDk0IGRlYmNmNzIwNjdmMDU5NjdiNWQ3NTY0N2Q2MzQ0ZDFmMDk4MGJmMDYgbGVnYWN5LXRydW5rCisyODA5NSA5YzZmMGUxOTk5MDM1YTRmMTQ3NTUyNjI3MjE1ZDc1ZGZhNzRkNjhhIGxlZ2FjeS10cnVuaworMjgwOTYgMGNkYjZlOWJjYjUyMTRkYjM4NzBlNWI4YTZhMTQ1MmVkMDhjMzdhZSBsZWdhY3ktdHJ1bmsKKzI4MDk3IGEyOGM5YzMzNmFiNzExOTE3MWRiN2U1ZDZjYzM0NTkwMzVjOWQ1YTggbGVnYWN5LXRydW5rCisyODA5OCBlNzFiYmJhMGEwYjk3NjY4Yzc2ODQwZjRkNmEzMGRlOWJkYjNkNGE2IGxlZ2FjeS10cnVuaworMjgwOTkgODJlM2ZkYjI4MTY0NTBjMmNiNWVkZWQwZmM2ODBjOGQ1Mjk5YzAxMCBsZWdhY3ktdHJ1bmsKKzI4MTAwIGE5ODlhMmVhYTJhYzEwOTI1NTg0YjBkMjNmZjc4MzdkYzE0MDcyMTkgbGVnYWN5LXRydW5rCisyODEwMSBiYTMwMzhhMjdjMWUzOWI3NTVmNDhhZGViYTZjMTU2MzJiZGU5NTFhIGxlZ2FjeS10cnVuaworMjgxMDIgZWVmNzNlODgyM2Q1YWVmOTFkNDliN2VjMWM3MDFmOTc4NzNkOTMyNyBsZWdhY3ktdHJ1bmsKKzI4MTAzIDMxYjlkMzY5ODYxZDg0OTk3ZDk1YmQxYmE0NTQwMmI3NTFiZTNjMWYgbGVnYWN5LXRydW5rCisyODEwNCA4MGM3YTgyZDYxNDQ4OWU5NDUwNGYxNjhiYWQ2OGZmZjE4MGQ2MDNmIGxlZ2FjeS10cnVuaworMjgxMDUgMzQxMjhjY2YyZWU2MTkzYjJmZjQ3ZWFiOGZhNGVmM2U3MTIxZTllZiBsZWdhY3ktdHJ1bmsKKzI4MTA2IGEyZjliYjU0MjMxYjEzYTliYzczN2Y1YTEwNjA1ZTg5ZTI1MmEwMTUgbGVnYWN5LXRydW5rCisyODEwNyA2ZWI5NTg3MTZkOTdjODQwY2VkMmJlY2Q0OTM0MzM1MjgxMDdkYjNmIGxlZ2FjeS10cnVuaworMjgxMDggNDE4MWUzYTQyZDBhMjNkYWJkYTBmN2NmODlhMDlkMTQxMmIwNTBjNiBsZWdhY3ktdHJ1bmsKKzI4MTA5IDU2NGFiYjk4ZGViODljNGUyOWQ5YTdjNjlmYWI1NWIyODNiN2I4MzUgcmVsZWFzZTIyLW1haW50CisyODExMCBlNWJjNDcwZDFkMWUxZmUwNzY2Njg2YzI0NDk1YTBhNjZjYWY0YTllIGxlZ2FjeS10cnVuaworMjgxMTEgMGQ0NmU0Yjg5Y2FlN2E0ZWExZTNlZDRiMmFjOWVkMDZkNTE2YWQ0NSByZWxlYXNlMjItbWFpbnQKKzI4MTEyIDJkY2Q0ZDkyODE0NzAzZjk5MWRmNGVhNjhmZjJiMWQ4ZGQ3ZTE0MzggbGVnYWN5LXRydW5rCisyODExMyBhYThiZDBkYzRmOGExMDZmMDY4NDBhMzdhZTlhNTk0MjdlNGY3YzA4IGxlZ2FjeS10cnVuaworMjgxMTQgNmM5NjU4N2ExOTdmOWNkYTQzMmI4ZjUyNTRiZmVlMGJhNWI0ZDlmNSBsZWdhY3ktdHJ1bmsKKzI4MTE1IDExYzcwMTAzODgwNTY1MTkzZWE0YzVmMDc5ZTdiMjM2NmRkMmYxZTkgbGVnYWN5LXRydW5rCisyODExNiA0MDY3ODhjYWVmNmYyNmVjZjBkNTA3MWJmOTlmZWJlYzE2NDc0YTg0IGxlZ2FjeS10cnVuaworMjgxMTcgOTQyOWMzY2Y0MmE3MTJiZjQwYTBiOGYxNjhmYWQwZTg1ZjE4N2ZmYyBsZWdhY3ktdHJ1bmsKKzI4MTE4IGRiMjdhNDJjY2Y0OGFjMzBlYWExNzJiMTQyZGYyNjg4Mjk5MmFlNWYgbGVnYWN5LXRydW5rCisyODExOSA3NDE0M2RiNmFlMmY5N2ZiNmE1NDBhZjc1OGVhNjA1N2RkZTI2NGRjIGxlZ2FjeS10cnVuaworMjgxMjAgNGM3NDZiYTI0ZGUyMWM4MTBiNTBhNzlhYmYwNTdjZTMxNjg0ZWVlOSBsZWdhY3ktdHJ1bmsKKzI4MTIxIDM0M2U2NGM5MmViMjhlMDliNWUwYzc0OTQzOTYyMjM5YmYwY2ZjNDQgbGVnYWN5LXRydW5rCisyODEyMiAxZDNkOTgwYTMxODYwNDFjMDYyMzk2YjljZDU3Zjk5MjZhYTdiOWRlIGxlZ2FjeS10cnVuaworMjgxMjMgMTI5ZDhkMmUxOTA0YzcyNjk0NGMxZDU5YzcxY2MyZTZlMDdhNWM3NiBsZWdhY3ktdHJ1bmsKKzI4MTI0IDVjNzczMTZiMjFmNzBkNzU4Y2RiNjVjNWQ4OGEyMGZmMjNjODVkMTggbGVnYWN5LXRydW5rCisyODEyNSAzNzRmODc5YzVkOGJkOTdmMGFjNGJiZjljYzc1MWJhNDQ2YTE0NmQ1IGxlZ2FjeS10cnVuaworMjgxMjYgMmQzYzRhN2FlYzBhNzA2ZGY1MjUyYjY0NTQ4M2I0YjM4OWMxMjE5OSBsZWdhY3ktdHJ1bmsKKzI4MTI3IDUxMGU3M2FlM2U5ZTlkMTIzZWEzMzYwMmVlZjE0OTM3NjEzZmU2MTggbGVnYWN5LXRydW5rCisyODEyOCA5ZTJmNTM5NjM0ZTgwYTFlZDYzY2M4NjFlMDkxMmEwODBkNGVlMGJiIHJlbGVhc2UyMi1tYWludAorMjgxMjkgMTEyNWQ5NDg5ZGZhNDAwN2JlNjdhYmY3Nzk4ODg4NWFlNzUzZThiYiBsZWdhY3ktdHJ1bmsKKzI4MTMwIDY5MDc5YWM3YzUxMmU1NjBhODFjZTQwNzJhYjYzZWI2Y2IzMDRiMzUgbGVnYWN5LXRydW5rCisyODEzMSBiYmQ1ZjhhZjU4OGFjMTBjZjE0ZDMwYWY3MDk2OTQwZmE1ZDk2NzNkIGxlZ2FjeS10cnVuaworMjgxMzIgYjU2NDBlNzRhYTVjMjhiZWZjMTliY2ZmY2JiNDQ2YTg5MTUyNzU3ZSBsZWdhY3ktdHJ1bmsKKzI4MTMzIDNiOGE3MDdiNDFjNDYyZjBkOTBlNmZlMDliMGQzZGVjN2QwNjk1Y2IgbGVnYWN5LXRydW5rCisyODEzNCBiMmY3ZGY0Njc3MjIxY2NhZGFkYzU5MzY1YWVhY2RmMGU4NWRmNDcyIGxlZ2FjeS10cnVuaworMjgxMzUgOGQ4NTBkNThmMTA5YzdmNTdlZDQ3YWMyYzg3MDE1OGNjMGM1ZGU5NSBsZWdhY3ktdHJ1bmsKKzI4MTM2IGQ3MTVjYTlkYjNhYWEyZDE0YzA4NmEyOTUxZmYyYWM4MzNjOGRmNjEgbGVnYWN5LXRydW5rCisyODEzNyAwOWZmMGVkMzNlZmNiOTE5N2VhODRiN2U0Y2ZkOWIyODJlNjcwZjYxIGxlZ2FjeS10cnVuaworMjgxMzggYjAyNzNmMzk3Y2YxMjJkYmEyMzJhOWMzMjlmZWQwYTMxZTIxMDQ1ZiBsZWdhY3ktdHJ1bmsKKzI4MTM5IDQ5MjMxNjBlMDcwN2Y3YzNlNGZlMDFjNTk2ZDVlNTRmM2IwMWMwMWMgbGVnYWN5LXRydW5rCisyODE0MCBiMGQ1ZmI1NzdhYjYwMWNkYTM4YmFlZjQyNGZhYWY5ODk0ZTI1YjM2IGxlZ2FjeS10cnVuaworMjgxNDEgZmYwNWVlZjNhNmQxZWIwZDBhYzUwMzhkMWU4ZjEwNjEzMzY0YTgyMyBsZWdhY3ktdHJ1bmsKKzI4MTQyIGVhYTg3NjMyYjFlOGVkZjhlMmJlODNmMzNlOTAyZDI0MmRkZTZkYzcgbGVnYWN5LXRydW5rCisyODE0MyA1NjU2MDliYjhkODk4ZDNjMzc1YjYxZTU4Mzg5ODQzOWVjZjMwNjM4IGxlZ2FjeS10cnVuaworMjgxNDQgZWVjNjgzMjgxOGEzNzAwOWU4ZDcwYjNiYjkzYjRhMDRmNTUzYTI5ZSBsZWdhY3ktdHJ1bmsKKzI4MTQ1IDEwMzkxZDU4ZDE4NDExZTM3NjQwMjQyNjgwY2YwZGI4ZWYwMmMwM2MgbGVnYWN5LXRydW5rCisyODE0NiBlNzU2ODY3YWNlODEwYzhmYmNmNTk5NTkwYzI3N2UyNmMxZWEwMWYzIHJlbGVhc2UyMi1tYWludAorMjgxNDcgYzY1OWYwNGVlNDk5MzY4ZDU0NjM2MDE1ZDBjZWRhM2ViNTQzMWZiMCBsZWdhY3ktdHJ1bmsKKzI4MTQ4IDZkOTk3NGI0NWZlYTEzMzM5NDlkYWQ2NjZmNTY5Y2ViYzYxODllZGUgbGVnYWN5LXRydW5rCisyODE0OSAxYTMyNzBlMjZjMTYyZjQ5OWEwZjE2NDM1M2Y4NjkyMmYxZjkyMmE2IHJlbGVhc2UyMi1tYWludAorMjgxNTAgYmEwMzVmNGI0N2MxNTYwMmYxMTU0MDdjNDY1Mzc2NzhjYWFhMGMzZSBsZWdhY3ktdHJ1bmsKKzI4MTUxIDQ5MTY5ZDAwYWIxODIyNDNjOTRlYzlmN2QwYmVmMjZkYmE0OGYxNjcgbGVnYWN5LXRydW5rCisyODE1MiAxOWUwMTBmNzkyYTM4M2UyZWNiNzM1OWRlMDE4MTg5OGJmNzcyMTMzIGxlZ2FjeS10cnVuaworMjgxNTMgMThjMzViYjVmZTA3NDNmZjU3MWM4MDI2ZDRlN2I5YTcxOTlhYTg1NCBsZWdhY3ktdHJ1bmsKKzI4MTU0IGE0MzUxOTg4N2IxNzk0ZDcwMTdlMWE3MTc4YmNhZTc5YWJiOTA0ODYgbGVnYWN5LXRydW5rCisyODE1NSBjMjQ4YmVlNTJkYzZhNzhlOWQ4YWEwNjEzOTk1Y2U0ZGIzOWUzZTdkIGxlZ2FjeS10cnVuaworMjgxNTYgZGJmNmU1NjMwMjNiOWQ0ZjY3NTViN2VmZWM2ZGQyYTU2NTA0NmU1MiBsZWdhY3ktdHJ1bmsKKzI4MTU3IGMxZWI2Njg1MjVlMTFjZTQ3ZmE5NDdiMTAwOTkwZDM0YjAzYzQ4OWEgbGVnYWN5LXRydW5rCisyODE1OCAyN2FlOTc4YmVlNTg1NzM0MjlhOTc2NjIxMGQwZDUzODljMGU5ODAyIGxlZ2FjeS10cnVuaworMjgxNTkgOGFiMzAzMzc1YjMwNWU4Mzg4NTQ3ZTFkNGM3ZWNhODQ2ODdkZTc1NCBsZWdhY3ktdHJ1bmsKKzI4MTYwIGM4OGQwODQ4YzVjOTMwYzI2YzAwZGJiMTFmNTgzMTE4MjBjOWY3YzEgbGVnYWN5LXRydW5rCisyODE2MSA5YzI1YWExM2MzNmUxYzkyYjkwNGVmMDMwYjc4YmQ2NTc3Yzg3MDZlIGxlZ2FjeS10cnVuaworMjgxNjIgYjUwNDgzNTY4NWMzNGVhNzNlNzIwZTY2ODAwMzhhOGRiODkyZDgyZCBsZWdhY3ktdHJ1bmsKKzI4MTYzIDI3ZWNhNDc2NjkzN2FlZjRjYmUyZmI5ZWRkOTliNTYyMzQ4OWQwNGIgbGVnYWN5LXRydW5rCisyODE2NCAzZDIzMzUwOTRiODhjMTdmYTZiNWY2ZDA4NTQ5ZGNjNDJiMjVmYjhkIGxlZ2FjeS10cnVuaworMjgxNjUgZGNmYWJlNjVjMjJlNWIyYjY4Y2UxNTUzYWUwNzI0OWU1ZTlmOGJjMyBsZWdhY3ktdHJ1bmsKKzI4MTY2IGUwNDMxZDljNDQ3NDIwMjdmNzI4YjVjMzI2MGViYjliODQ5NGM1YjIgbGVnYWN5LXRydW5rCisyODE2NyBjY2Y2NmExYWEwYjg0NDI5ZDU1NDhkMmI1M2Y2MDE5ZDUxNzJhZDgwIGxlZ2FjeS10cnVuaworMjgxNjggNWVkN2M5NzdkMmE5NmRiNmQ0MDBjZjlmYTVkNmU0ODdkMWVlM2MyMiBsZWdhY3ktdHJ1bmsKKzI4MTY5IGYwYmQ1Y2Q0YjE3MDZiMzM5ZjBhMTM3ZTRhZWYyOWU2YzYwOTBjMWIgbGVnYWN5LXRydW5rCisyODE3MCA0Y2FmZDlkYmM4YjQ3OTE2ZTkyMzU2NDIzOGFhOTM2ZWJhMzA5MDllIGxlZ2FjeS10cnVuaworMjgxNzEgNThlYTQyMGRkYzVlZWFkZTBlMmZmYmNiYTA0YmMyNGEwZjMzZjQ1NyBsZWdhY3ktdHJ1bmsKKzI4MTcyIDI3MjIwNTdmZmU4NjAxMDk5NzQ2MTBhYzYxNmM2YjQzNjI2MmI5ZWEgbGVnYWN5LXRydW5rCisyODE3MyBhY2IyNTg1NDVhNWMxMjU0NmI0NTE5YzAzNDU0NDM2OTI5NjdhZDQzIHJlbGVhc2UyMi1tYWludAorMjgxNzQgMGFmYWNmNWRjNDJlYWJmOGIwYzI5OWQwMTdlMjA4YTkyMzAzZTY1ZSBsZWdhY3ktdHJ1bmsKKzI4MTc1IGQ3NWJkOWU1YzRkOWMzZDg0ZDUzMTg1MDE4ZDhjZTRhMTY4NTE1MTQgbGVnYWN5LXRydW5rCisyODE3NiAxODI0OTgzZmQ5NGE3NDQ4NDhhMzJkNDJjOWEwYTNmNTMzZTUxZmVlIGxlZ2FjeS10cnVuaworMjgxNzcgYzYwZTg5NWQxMTI1YjM0ZGIyODEzMzRjODVjMWU5ZGRlZDExNjk4OSBsZWdhY3ktdHJ1bmsKKzI4MTc4IDgwMWE0NGFiMmFhZTY3MjE4OWRjNzhlNDNlM2UzYzY1YzlhZmIxYmYgbGVnYWN5LXRydW5rCisyODE3OSA5ZTdlYzJmNWExYmQzNzNlYmI4MWJjYjgyYjBlMTU2MTBiZmI0YjYzIGxlZ2FjeS10cnVuaworMjgxODAgNmM2ZGY2OTIzNmIxZDI5NWE4NjZjYzllMjdlZGJhMDYzM2IzODdmZiBsZWdhY3ktdHJ1bmsKKzI4MTgxIGZlMzQ3MmYyZjhlYjcyMmQ1ZWUxMzg5MWYwZmY4ZDlkODlkNzNmZDIgbGVnYWN5LXRydW5rCisyODE4MiA2OTZhMjg0NTY5ZTY0Y2I4YTEwZjZkMzdmOWEzNjc3YzVlYWRlMTkxIGxlZ2FjeS10cnVuaworMjgxODMgZjFkMThmY2Q1NmU2OTYyODU5OTJkZDI2MWRkMjc2MmMxYjUwZDIzNCBsZWdhY3ktdHJ1bmsKKzI4MTg0IDUzY2I3MTYzODg0MWU2ZGQ4ODM5NTI2ZDc1ZTgyNTg5ZGY1MjkyNWUgbGVnYWN5LXRydW5rCisyODE4NSAxZmUwNjY1NWM1MGM5NTllM2VlYWQ0ODE0M2ViNjg1ZTFjYmUxZWVkIGxlZ2FjeS10cnVuaworMjgxODYgZmFlMzg2ZDVlMzU0NTZlNWFiMTllMTlkMzE4ZjliMWExNWQ2YWE0ZSByZWxlYXNlMjItbWFpbnQKKzI4MTg3IGMyMzg1M2Y3ZWJlYjllMDVjZWIzNThjYmVhMTFhYTAwYzFhNmUwNmQgbGVnYWN5LXRydW5rCisyODE4OCAwMWQ2YzUxNDZmZjlhZWNhMmZmMzEwNzRjZGRlZjBlYjViZTgwMzcyIGxlZ2FjeS10cnVuaworMjgxODkgY2VjNDFlMzc2MWFjM2U0MzQ4YzVjZmQ4MzcxZDY1MmFkNjNhMWEzMCBsZWdhY3ktdHJ1bmsKKzI4MTkwIDRkZTlhYzBlNDE3MzY2MWJlMWYxZGUzMjExNDY5Y2IwZmZlMWEzNDYgbGVnYWN5LXRydW5rCisyODE5MSBmMGQ2M2FhMWRmYzdlOTA5YTJkMDNhYTI2YTcwOGRmM2U0YjYzZGJmIGxlZ2FjeS10cnVuaworMjgxOTIgMGY2MWUwNzQxNDdmYjFhYWZjYTI0NzgzNWE3NzBkMjAwZGE2NjQxMiByZWxlYXNlMjItbWFpbnQKKzI4MTkzIDFmZDM4OTAwZjUzYjg2MTBlZTlmMjBmZmIzNmFhNDAxZjhjNThkMzUgbGVnYWN5LXRydW5rCisyODE5NCBmY2JkZTIyNjU0NWNjMzhjMjYzYjVjMzc1NDE1MDMzNjVjNDQ3ZjVjIGxlZ2FjeS10cnVuaworMjgxOTUgODI1OTQ4YzIxZjBkYzEzODg1Y2I4MTBlYjMyMTQzNjU2NTQzYjYzYiBsZWdhY3ktdHJ1bmsKKzI4MTk2IGRiZjRjYzU2MDg5ODgzZTA3OWM3MDhlM2U2OGQ2NzdkZjJlMzYyNzkgbGVnYWN5LXRydW5rCisyODE5NyA0YzQ2YjNlZGFhNTg3YzBlMWY3NTBiMzk0YjkwMTJkOTgzM2Q5ZDcwIGxlZ2FjeS10cnVuaworMjgxOTggMTk1MWIyYzY2MDQ0MzhiMTMyZmIxODM3OGY4ZjIwMmYwZTgzOWZmMyBsZWdhY3ktdHJ1bmsKKzI4MTk5IDFjNjNkMzA4MjY1NjllYTE3NDY1YjkwNWUxODg2OWNiN2IxMmQxYTAgbGVnYWN5LXRydW5rCisyODIwMCA0NTJkNmE5MTYxOTYyNDYzZjU2NWVjZDkxYTRjNjI3Zjg1Y2U4Y2I3IGxlZ2FjeS10cnVuaworMjgyMDEgZGU3MWU2ZmU2NGIwNTI1OTQ5ZDMyOTU5OWMyYmZkY2U2NzJlMmY0MCBsZWdhY3ktdHJ1bmsKKzI4MjAyIDZhOWVhMGMyMmNlYTFmOWFiMTA4OWFhODUwOTUzZDNlZTE0YjQ2YzMgbGVnYWN5LXRydW5rCisyODIwMyA0NjFhZmRiNWNiOWVkZjYzMDZkM2VlODdhZTMyNzgwNmRkNmQ0YzM2IGxlZ2FjeS10cnVuaworMjgyMDQgZDlmZjk3Y2U3NWJiZWQxZTc2NzM5NzhhMTM3MGZjN2FkMTQ2NjM3MSBsZWdhY3ktdHJ1bmsKKzI4MjA1IDkzMWZiMzcwMGQwYmE5MWI5MDVlY2QxMjhhNzhlMTcwYTk1Njc4YTAgbGVnYWN5LXRydW5rCisyODIwNiA4NjI2OTViOTIwZmRkODhmOGE2YjM3N2UwMjNiOGQ3MzE4ZjlkNGYxIGxlZ2FjeS10cnVuaworMjgyMDcgYTYyY2VlNGVlZDk2NmYxZmMyZDNkOTJjOWRjNGU1MTQ0Y2RmMDAxNiBsZWdhY3ktdHJ1bmsKKzI4MjA4IDE4Y2JhZGQ4MDcxMjVhZWQ0MmIxOGExZTdiYmE2MDNiY2Q1MzViZWYgbGVnYWN5LXRydW5rCisyODIwOSAzMGNmZjljMWJmNjkzYzA4Y2VhMmE5NmVkM2UxOTE3ZjQ3MjE2NjgzIGxlZ2FjeS10cnVuaworMjgyMTAgZjE0N2I1OTQ0MjQ0NjdmMTQyNzkzOTQ4NTdhNDhlZTU4NGUzODMxMyBsZWdhY3ktdHJ1bmsKKzI4MjExIDliMDZmNDRiZDRhMzRkODczZDZkNWMzNTQ4NjQxOGY3MmY3OTljNzggbGVnYWN5LXRydW5rCisyODIxMiA2ODVjZDUyYzRjNDM4YzNmZjU1NDcwNzAyNTc1MGFhMWJjYjBlNDlhIGxlZ2FjeS10cnVuaworMjgyMTMgYWI2M2FmM2VjMzQ5NWNiYzdjODkwM2EzMWM3NGI4MGMzZDYyYTJjNSBsZWdhY3ktdHJ1bmsKKzI4MjE0IGM3NWNkYzQ3MWIyMjQ0YThiM2E3YzVlMWNlOTRhMWFhM2U1ZjBiOWMgbGVnYWN5LXRydW5rCisyODIxNSA3Y2U4MmU5ZDA4Yzc4YTUwNTkwYmY4MGZhMjIxOWFhNDk0YjY3NTkzIGxlZ2FjeS10cnVuaworMjgyMTYgNTg2MjNjZTk0ZDQwNmM0OTE0ZDU5ZGU1MDVlNzg5Y2FjYTk2YTU2OSBsZWdhY3ktdHJ1bmsKKzI4MjE3IDc0ZWQ0NTcyMDhjMWEwZjUzNDg5N2NjZjg2M2E1NDM0YWNmZjBhZmUgbGVnYWN5LXRydW5rCisyODIxOCA3YjdkODgyMGFlMzgwZjA5ZTYwYmI2YWNlZTE5M2RjMWY2ZDMxOTc4IGxlZ2FjeS10cnVuaworMjgyMTkgNjQyMGI5N2ViNTlmMTdjMTFhYmNhNGI0Nzk3YThjMjgzNzQyNDkxZCBsZWdhY3ktdHJ1bmsKKzI4MjIwIDUwZmFhNjgzNWRkYzQxNzk5NDIxMDIyMTk3YjgxYWU4NzY4OGU1ZWQgcmVsZWFzZTIyLW1haW50CisyODIyMSBjNDU2NDJlMWRjYTkzYzUzNWYyZjU2NzBlMzI5YzUxZTQzY2RjN2MxIGxlZ2FjeS10cnVuaworMjgyMjIgM2FlOGUzZmY3ZTNmMzQzN2NjNmU5MWNiOGJiMmRlZjgyNGIxZTFhOSBsZWdhY3ktdHJ1bmsKKzI4MjIzIDMxZDI4NjAwODllNjAwYjZmNGIyMWQ1ODk2MTI5ZDgzYjQ1NGVjMWMgbGVnYWN5LXRydW5rCisyODIyNCA0ZTQ0ZmFiZTBmYTAxN2JiODViMjUwMWM0MjE2ODIxMGQ4YjNlZGYyIGxlZ2FjeS10cnVuaworMjgyMjUgMDExMTM4YjVmMzg5YTI4NDhlMjVlYjYyMTNjZTU3ZmQzNGJlODlkZCBsZWdhY3ktdHJ1bmsKKzI4MjI2IGFlOWM5ZjkwYjRiMDFiZmEwYjE5MTFiNTk3N2QyNWQ2Yzk4Yzg3M2EgbGVnYWN5LXRydW5rCisyODIyNyBkM2Q3ZGU3MDNhMjJkYWFjOGQ5ZDk3MjdkNjZmOWFlYWEyODZkMTliIGxlZ2FjeS10cnVuaworMjgyMjggNTg4ZDE0NWM0NGRkOWU2Yzk2MTdkOWU3MjAzNmY3OTMxZmY0NjA2NCBsZWdhY3ktdHJ1bmsKKzI4MjI5IDdjOTFkMzAzYzU2M2ViZTg2YTgxZDk1ZWE2ZTZmNGNlODVhOGFjOTQgbGVnYWN5LXRydW5rCisyODIzMCBjMDAxZTVhMTUzNjlmMzdhN2JhMTIxZTIwOTdmNmFlODYyODA4Mjk1IGxlZ2FjeS10cnVuaworMjgyMzEgYTdkYmU0ZTdmNWRlZGNjMmYwZmMzODUzYzA3MGVlZjQyNjNiZThmYyByZWxlYXNlMjItbWFpbnQKKzI4MjMyIGU1YTA3Y2M4MTU1OTA1ODRjNWFjYTNmMWFiZmQ0YmU5MmY1ZmRjZjkgbGVnYWN5LXRydW5rCisyODIzMyA0Y2Y1MDI3MTZkMTVkNTNmZWZlNWNkYWFhYjJjODBjZTMxY2Y4MDQ0IGxlZ2FjeS10cnVuaworMjgyMzQgMzFlZTMyYzIzZDI5YzU5ZjlmMzEwMzNmYjdlMzViNTExNDIzZDZkYSBsZWdhY3ktdHJ1bmsKKzI4MjM1IDhlM2UwZTExZjE0Y2FjYTMzMzU0N2FiZWQzZmJhNGQzNmU3OWJlMTQgbGVnYWN5LXRydW5rCisyODIzNiBhNjAyZTQ4NzhiNGVjZDBjYWFiMzk0NTljNDJkZjQ5ZGJjZmE5ZmZlIGxlZ2FjeS10cnVuaworMjgyMzcgNDUzYzg4Zjk2M2VjMzI2Mzg4ZTg1ZjM1ZDVmYjM4ZjBlZWExOGJmZCBsZWdhY3ktdHJ1bmsKKzI4MjM4IGNhNThmNWE0NTU4YjhmYTkyOGMzZDJlMGJhMzY5MTRiNzQzZmFkMWYgbGVnYWN5LXRydW5rCisyODIzOSA2NGY0ZGQ3NzBjNjdkYTY1MDlhOTIxODQxOGY4NGNlMjc0ZmQ1YmNkIGxlZ2FjeS10cnVuaworMjgyNDAgZTM5OWQwYTg3NWI3ZTFmZjM4OTI0Y2RkZDhlNDczYjg4ODM2YTY0MiBsZWdhY3ktdHJ1bmsKKzI4MjQxIGMwMDRiMmJjZDU0MjFjNDQ0N2UzNDVlZjllZTQ5ZGYxZWVlYzkwM2IgbGVnYWN5LXRydW5rCisyODI0MiAxOWYyNWJjZjVhMDAyZWQxYmU3YmZlYzE5NDEzMWZkNTVmYzM0YjA0IGxlZ2FjeS10cnVuaworMjgyNDMgYWVhNjhjYjM2ODU5NjEzNGNjMmE1MWEyMzFlZTY1YmE5YjE3YWEwMSBsZWdhY3ktdHJ1bmsKKzI4MjQ0IDE3ZTk1Y2MwNmY2OTNiMDZjOGRjZjgxMmMxZjY0YzFkN2ZjZjI4YmIgbGVnYWN5LXRydW5rCisyODI0NSAyZmY0MjY4ZjI1ZGM3MzhhOTg5NjAyMDU2NmVlZjFiMmFiNDQ3MTMyIGxlZ2FjeS10cnVuaworMjgyNDYgM2FmOGQ4MWQ3Zjg2ZTQ4YWY5YzgzZDE1OTMyMWNiNjgzZTE2YjQyMCBsZWdhY3ktdHJ1bmsKKzI4MjQ3IGM5YWY4NzUwNDhlNzI5NmI1MGY0YjcxYjdmYWQ3MjBiNTJiYzMwNjEgbGVnYWN5LXRydW5rCisyODI0OCAxMWMxY2M5N2I4N2EzMWY2ZjYzNWRmYTUxM2VhMjgyZTI5MDc1YjdkIGxlZ2FjeS10cnVuaworMjgyNDkgY2Y1OTI4ZmFiMTA4ZGU5ZmJlMDI2MzJkMDcxNzZjNzE3YzJiM2FhNyBsZWdhY3ktdHJ1bmsKKzI4MjUwIDY5MzlkNzIxODJlNmM0OTkxY2M3NGU1NGM3NGNlNTAzNDk3MzhiNWUgbGVnYWN5LXRydW5rCisyODI1MSAxMGE0ZWM0NTU0OWQwZDg5NDkxMGRkYTk4MThiOTc4ODE5MzU0NWUyIGxlZ2FjeS10cnVuaworMjgyNTIgODczZjEyZjY4ZTNiMTAxNDliY2Q3ZjNkOThkMjk1ZjZmZmI5OWNlNyBsZWdhY3ktdHJ1bmsKKzI4MjUzIGRhY2QxMGQ0NmU1Mjk0MDViOGNmODRlOWNkZGZlMDkwMmY0NmNmOWUgbGVnYWN5LXRydW5rCisyODI1NCAzYzljNTZkOTdlNTVlNzIzYjZlNzNiODNiMTdkZmFjZTVhYjJiOGRmIGxlZ2FjeS10cnVuaworMjgyNTUgOGFiNDZkZjMxODJlNzk0MzNjZmIyOWU3MTA4MmExZWNmN2MxYWQwZCBsZWdhY3ktdHJ1bmsKKzI4MjU2IDM0Y2M5ODg5MmU4OTJlNjczN2VlMWIzMTQzODgwMmU0MmM3MWUxZjUgbGVnYWN5LXRydW5rCisyODI1NyBhZDM2MWUxZDU0YmJhM2UyZjRiMTI1MDNhNmRmZGM0YTQwMTRkZmE3IHJlbGVhc2UyMi1tYWludAorMjgyNTggZTlkZDNlOTFlNjUzMTBiNzA3ODlmMDlhZjgwNzVjM2E3MTYyOGQ4NyByZWxlYXNlMjItbWFpbnQKKzI4MjU5IDEzNmI4NTM2MjJjYzkyMzQ3Njk2MDc3YWUzMmQ5NDcwZDg5ZmUxOGYgbGVnYWN5LXRydW5rCisyODI2MCBiZWQ1ZDVlNTM2YmMwY2VjMmJhZWM0MWMzZjdjNGRmZGU4NTFmMTRhIGxlZ2FjeS10cnVuaworMjgyNjEgODc0NDhhMjI4Y2NhMmJlY2IyNzJiMzg1NjY5M2NmN2ViOWEyMjNjNiBsZWdhY3ktdHJ1bmsKKzI4MjYyIDBlZjZjMmFkMDc2YjEzMzkwZDY5Yjg1ZjE4YWFiMDM4YjZmZmI2ZTMgbGVnYWN5LXRydW5rCisyODI2MyA1OTI0MDZlMGM5YjAxOWI2NjQyYWM0YjAyZDZkOThiYjliYTNlZjk1IGxlZ2FjeS10cnVuaworMjgyNjQgZjI0NDc2ODZlYzVlYmU3ZjE5OWQ3ZWUwOTYwY2Y4Y2Y3YmNkNWU0MyBsZWdhY3ktdHJ1bmsKKzI4MjY1IGU0NWQxNjExZTg2OWQ2NDBkZDUxMzdlOTJkMzhhZmFlMzEzMjlhYjggbGVnYWN5LXRydW5rCisyODI2NiA0ZTc5NWZlOWY1NGIyMWI4ZmU0MDNlMzFmZDlhNTBlZjJmZDgzZTBjIGxlZ2FjeS10cnVuaworMjgyNjcgNWI2NTZjM2UxMzJiODY3NDFjZTZjNWEyMzMyNmNjN2E1MTI3NzFiNyBsZWdhY3ktdHJ1bmsKKzI4MjY4IGEzZWJkMTIzM2MwMGVhYmY5MDliZTgyMjIzZmZiZDVmMThmYTkyNWUgbGVnYWN5LXRydW5rCisyODI2OSBlNTAxNGFjOTdiYTE4NzlhNmU0OTQ2NTk4MzQ0NjU0NWJlYjk0YmJmIGxlZ2FjeS10cnVuaworMjgyNzAgYjU0Y2ZhOThiNjZiOWIzNGM2MzQ3MjViOGZmMzUwMDlhMDI0MDBmNyBsZWdhY3ktdHJ1bmsKKzI4MjcxIGYwZGJkNWI0OWQ4YTAxZjUxOTdkMTA2YzQxZGVkOGM5NzM0MGQ0MjAgbGVnYWN5LXRydW5rCisyODI3MiAyNTVkMWQzZTY2YTNhZDliMmQzYmIxYTE2MDZkYmYxYWFjNDlkNGUxIGxlZ2FjeS10cnVuaworMjgyNzMgMjMwNjAwMWY2ZWFhMzUwZmEwNTk3MjMxYjY4YmRlNDBjNGQ4YzQyMSBsZWdhY3ktdHJ1bmsKKzI4Mjc0IDljYTg5NjQyMzM3NDMyY2QzOGFjM2M3YjZlYzZlYWYyYmE5ODQwMDQgbGVnYWN5LXRydW5rCisyODI3NSBkZjIzMjZhNDg5NGRlZTc0M2FhYjk0YTdlYWY5MDU1MDkxODQ0MGViIGxlZ2FjeS10cnVuaworMjgyNzYgMjU4ZTBiMTM0N2MyYWQ4NjhkM2I2Nzg0MzhmODdmOTQ1MzIyMTI4OSBsZWdhY3ktdHJ1bmsKKzI4Mjc3IDliZWNmZWY2ZTMxYTZiZDcwN2VlZWJjNzY2NzNmNmNjNTQ4Y2ZmODIgYXN0LWJyYW5jaAorMjgyNzggNGYxM2U1OWZkMGEwM2Y5NjUwYWY3ZjZkOWQyMzJhOTdkMmVjYWUwYyBhc3QtYnJhbmNoCisyODI3OSBjZjU2MWU2MTIzNzhjMWEzYWZjOWRkMjRlYzFkZGZlZGE4NjM2MmM0IGxlZ2FjeS10cnVuaworMjgyODAgOTlmNWQxOGJlNTg4MDM4NmRhNjQyNzUzMGI5ZDhiNzUxNTgyNzE3MyBsZWdhY3ktdHJ1bmsKKzI4MjgxIGI1MTdkOTI5MmNlN2MwZjFmMjYzMmEyM2Q5Y2ExNzI1ODY2NGI3NWIgbGVnYWN5LXRydW5rCisyODI4MiA4MDg5YmEzOTc0ODBlNDBjY2RiYjY1NTI1OGU2NGRmODA5OWYxNmU0IGxlZ2FjeS10cnVuaworMjgyODMgNzI1MzM3YjY4Y2EwMmIzYzFhODA3OTlmODM4ZTgxY2Y0MmFlZTM1NiBsZWdhY3ktdHJ1bmsKKzI4Mjg0IGZjNzQwM2UxMTg3ODMzMGMzYWQ0Zjg1N2RmYWE1ZWNhM2NhY2QxZGMgbGVnYWN5LXRydW5rCisyODI4NSBmNDg1MTA0ZTRlZTg1MmI0YzI5MWVjOWRkNjRkMjNmOTkzNWJiODc0IGxlZ2FjeS10cnVuaworMjgyODYgMjM5YmRhYmI2M2FmOWQ3MTdmZGQ5YzcyZjQ4NTM5YzVkZTQzYjNlNSBsZWdhY3ktdHJ1bmsKKzI4Mjg3IDcxMGJlYmUyMTgyY2IxNDRhMTk5ZDJkOWYwMTdjM2RjZGUyYjQ5ZGYgbGVnYWN5LXRydW5rCisyODI4OCBkMzU0MWQ5MGQ1ZTA2ZTViZGIwNjQxN2Y3ZjY2ODU3ZDIyZjBmYWZiIHJlbGVhc2UyMi1tYWludAorMjgyODkgYWFhZTY5MzIxNzcxNzE4MzhiZGY5Mzc3MzA5NTVhY2IyOGNmYjU2OSBsZWdhY3ktdHJ1bmsKKzI4MjkwIDVmZjNkOGFhYThmOGEwNmIxODI5YTAzNDNjN2M3NmEwY2IzMjk0ZjEgbGVnYWN5LXRydW5rCisyODI5MSBjNGU1NTA3MDJhMjlhMzQ1OWRlZDEyNmZlNDA4YzJkY2Y5NmRiODBkIGxlZ2FjeS10cnVuaworMjgyOTIgODc5MTE5M2IwOWQ2NDE3YmU0ZmQ2MGViZTI4YjJmOGMzOGEzNTJkNCByZWxlYXNlMjItbWFpbnQKKzI4MjkzIDAyYjJmMDg4NWM1MjEwMjQwZGMyZmIxMzkxNDBiMjU3NjAyMDY0MWEgcmVsZWFzZTIyLW1haW50CisyODI5NCBkNzk3Y2ZhOGNhMGQwNDVkNWQzYWEwZTBiMTkwOTgwMWUwZjIyYTM0IGxlZ2FjeS10cnVuaworMjgyOTUgMjRmMWQ4NDVjZGI1NzMzMWFhZjVhNGQ3MTVlNjU1NmYwZDg1NzZmNCBsZWdhY3ktdHJ1bmsKKzI4Mjk2IDQ5MmFkZGI4MTJlZjExNzgwODFhOWYzMmRmZDFkNDRjNmE1YWI1MWEgbGVnYWN5LXRydW5rCisyODI5NyBkN2VmMmJhMWI2ZjVlZjBhYzFmNTk2MjhkZmU1NTZkYTk5M2Q2NmY0IGxlZ2FjeS10cnVuaworMjgyOTggYWViZjhjNTJhODQyZDQxZDkyYThlNjMwMDRjZWIwMGFjMzVkNzlmYiBsZWdhY3ktdHJ1bmsKKzI4Mjk5IDRlNGEzNDRjOWI2Y2U3YjBjNzFjYjUyODAwZTYwNDA4ZjhmMTQ4YWEgbGVnYWN5LXRydW5rCisyODMwMCA0NGQxZDBiNjIzYTlhZjc5NDJmZjdiMTU4NjIxNThkZmVjMTQzOGE3IGxlZ2FjeS10cnVuaworMjgzMDEgODg2MmJjNTk2ODVhY2Q2MzdmNWFmNDY2NGNiZjZiZmIwZGQ3ZDlkZiBsZWdhY3ktdHJ1bmsKKzI4MzAyIGM4ZDk1OTJjOWU3NDk3YTIxN2EyMDIwMDQ4NzE0OGVjNGI0ZDhkYWUgbGVnYWN5LXRydW5rCisyODMwMyAyN2YwZGVlYmYyNjQ4YWZhNTU3ZDZhNTRkMTM2NDllYmE5MjRiYWMyIGxlZ2FjeS10cnVuaworMjgzMDQgNjMxMGE0YTIxZWI4OTJjZTNmYjhhYjc0MTkyODE3MTRhNjVlYTkxNSBsZWdhY3ktdHJ1bmsKKzI4MzA1IGE4NjlkMmRlNTM2ZjhkMzBjYzZlN2M2ZmQzNTAxZjRiMjZlOWQ3N2IgbGVnYWN5LXRydW5rCisyODMwNiA4ZjhmZTk5MGU4MmMzMzRmNTBjYzZhNWZlOWRlZTEyYzQyYjhiNmNlIGxlZ2FjeS10cnVuaworMjgzMDcgMmNkZjNkMGRmYWJkNTAxMGE2OWE3ZGJkNjE3OGI3OTBmZTI2YWI3ZSBsZWdhY3ktdHJ1bmsKKzI4MzA4IGJjNjYwZjczNzk1Y2Q3Y2UwNzA5Y2RjODhhNzZhY2ZhZjEzOTgwNjkgbGVnYWN5LXRydW5rCisyODMwOSBmNTdkNmRiNDIzZjJkYmRiNDczYjhjNWU3NTE5YTQ5ODM5MDljMWMyIGxlZ2FjeS10cnVuaworMjgzMTAgZWNkNGFkYTI1MmJjMDlhZDlhODVmNDg5MWQwYWNkMzkzOTZmMWUyMiByZWxlYXNlMjItbWFpbnQKKzI4MzExIDY0MTc4NmJlYTEzZTJiNWE2MWE3ZjhlYTQyOWIyMGQ5NjVkNzU0NmIgbGVnYWN5LXRydW5rCisyODMxMiBhYWI3ZGViYzczYTg4ZTIxMzVkYzcxOGVjZDcyMjdmNzFmZjdkMDYxIGxlZ2FjeS10cnVuaworMjgzMTMgMzExNDVkNjY3YjE0YTVlNjY0ZDc0MWVjZjM4NWZlMzg2Mjc2N2U0ZCBsZWdhY3ktdHJ1bmsKKzI4MzE0IGIzZWZiZGNjZjdjNjRjMGJkNTdmNDZjMmI1MDQ0ZmM2MTA5ODkzNjMgbGVnYWN5LXRydW5rCisyODMxNSBjNmFkNjAzYmQyNjQ1YWVjOGJlNjUwOWYyZGY4MjhlZDZjMGIzNzA2IGxlZ2FjeS10cnVuaworMjgzMTYgNWFjYWU3MTljYjhhYmE1YzQ0ZWE4MzUzM2E2MTk0NDdlOTU1Zjg4MCByZWxlYXNlMjItbWFpbnQKKzI4MzE3IDVjMzg0NTdmNmIzYjg1YjZjMWI3NDE0ODMwNDZkOWQ0MDYyMTZjYjggbGVnYWN5LXRydW5rCisyODMxOCAzNWZlNWUzY2Y4ODVmNjQ2YTY5ZTEwYzA5MjRmN2MxMWExNzMwNDZlIGxlZ2FjeS10cnVuaworMjgzMTkgMGVlNDhhZWZhNDc0OWU3M2Q5MTczYmI5OWU3ZTYyZjYwYWI3NDg0ZCBsZWdhY3ktdHJ1bmsKKzI4MzIwIDU5YWNkNTAyODgwNDQ3ZjQwZTJkZDBkMzhiZmM0OGM3NjdhNmRhODMgbGVnYWN5LXRydW5rCisyODMyMSA2ODRhYjA2NDBlMDRmYTBmZmE4OTNjODVkYTNjMTNiNjI5NGIzYWIxIGxlZ2FjeS10cnVuaworMjgzMjIgMDFlMWQ2YWJjNTAxMjJmMjhlYmMxNDUzZTU4ZGE4MjliNTE4NmRkNiBsZWdhY3ktdHJ1bmsKKzI4MzIzIGUzZDk2ZTAwZGM2YzFjMzMzOWYzOWVmZTM0ZjVkNmRhMzczNDVjOGMgbGVnYWN5LXRydW5rCisyODMyNCA4ODY2ODZmYzkyYTk5Y2ZkMWQzMTQwOTA0ZTdmYWIyMGQ0MjczYTA0IHJlbGVhc2UyMi1tYWludAorMjgzMjUgMGQ1ZDhlMWNkYzIyY2ExNjcwNmRjMWNlNTAyZDI5NGRiZTY1MTI4YiBsZWdhY3ktdHJ1bmsKKzI4MzI2IDRjYjI1M2M1NTZiMTBhM2Q0YjlmNDFmNzMxZmNiNTkyZWJmZjg3ODcgbGVnYWN5LXRydW5rCisyODMyNyA3MTQ3OTcxNTZjNTEyYjk0ZGVlNDJmNDFiYzAxNmMyNGFlYjZmOWQ1IGxlZ2FjeS10cnVuaworMjgzMjggOGVlZjAzODUwZjU3NzY3ZmFjNzAwNDFkNWRkODM3NjkxZThlN2U1NyBsZWdhY3ktdHJ1bmsKKzI4MzI5IDVmYzQ2MDk4MTU4OTIwNTc1Y2RhNmI3NDk2NjZkMDc2NjhlZTFlMTggbGVnYWN5LXRydW5rCisyODMzMCA1MWMyNjk5NGQ4ZWM2OWE3MzA3OTg5MjMwZjM3NTkyNjg2ZDAwMjIzIGxlZ2FjeS10cnVuaworMjgzMzEgYTExNDMyMjRlZTBkMGY3Njk0YTk0NjhhYTE1NmIxZGM2MWE1MGFiZSBsZWdhY3ktdHJ1bmsKKzI4MzMyIDk0MDYwNWQ0MTU1ZmRjNjc5M2MxMDQ0M2VlODQ5NDhkYWUxZGVkZjIgbGVnYWN5LXRydW5rCisyODMzMyBkMmViMDA3NDQ4YTNlNjU4YWQ2NzI0MGE0ZmRmNjk5M2MyNWI2MTk2IHJlbGVhc2UyMi1tYWludAorMjgzMzQgYzRhNGI3NDJhZDZjNjVkYjNlMTdlM2M2ZmNjMDBhODdiMmYzMzM0MiBsZWdhY3ktdHJ1bmsKKzI4MzM1IDBkZDViY2MxZWUwYmQzZTk5ODhmMWY3ZjYyOWI2NGU0NWIwMGUwZDIgbGVnYWN5LXRydW5rCisyODMzNiA0MTlkNDdjNzcxNDM0MjhlZmQ2ZWMwNTViNmY5ZDA4YTMwMzFmZTRhIGxlZ2FjeS10cnVuaworMjgzMzcgZThmNzczMDdkOWM2YTI4ZDAxN2Y3ZjUxNWZjMzc4MGUxNjc0NTBlOSBsZWdhY3ktdHJ1bmsKKzI4MzM4IGMwZTk4MGFiNTRkYjNiZDk1MGE2M2QyNWVmMTExOTVkN2QwMTcwMzcgbGVnYWN5LXRydW5rCisyODMzOSA2MTdiZDU1YjRhNmVkYmMyNGY0Y2U1ZTdlYjIzNzg5M2Q0MGNkM2ZkIGxlZ2FjeS10cnVuaworMjgzNDAgOWVlNGY0Y2I5NzcwNjk5ODFhNDFiNDllNTk4MTNjYjZiNzVlMzI4OCBsZWdhY3ktdHJ1bmsKKzI4MzQxIDYwNjBjZjY2ODJjMDI1Njk4MzQyYjk1NDYzN2Y1NTFmNzVhNmI5YWIgbGVnYWN5LXRydW5rCisyODM0MiA2NDUwOGEzN2E4ZDViNTBjODFjMWUxOGU4YmUzNThiZDdjMWI2NTA1IGxlZ2FjeS10cnVuaworMjgzNDMgMjk0ZjdiZTI2MTlhNjAzMWVkOWNmMzc4YTZhMGFjNWQ1NWY0ZWVmNCByZWxlYXNlMjItbWFpbnQKKzI4MzQ0IDIxOWU3MDM4OTA3MjY3OTk3Y2RhNzM5MTk3N2JkMDJmZWQwNTRjOWQgbGVnYWN5LXRydW5rCisyODM0NSBlOTUwMDcwOWQ0OWM5OGE4NmQwNWMyZjZmZDNjZjViYTNjNzA3NGFiIGxlZ2FjeS10cnVuaworMjgzNDYgMmI2NmFkZGUwMjMwNjY5MjQyNmEzYzQ3ZDRkMDZiOTA4Y2U5ZGNiNSBsZWdhY3ktdHJ1bmsKKzI4MzQ3IGJiNmE3MWQzZmRjYjc1NWY4NzQ3YmMxNDFlY2U4OTQ4NDY0OWNlZTMgcmVsZWFzZTIyLW1haW50CisyODM0OCA2NzA0ODQ1NGFhMWU3NDY3OTM5ZDcyY2MwODY1YTg5YzMwNWJhNjMyIGxlZ2FjeS10cnVuaworMjgzNDkgZDEzNTUxY2Q2NjNlNTc3MmU4ZTMyOWJjYTlmOTQ4OGI0MTliMzI2OSBsZWdhY3ktdHJ1bmsKKzI4MzUwIDUzMDY0MDg2NTdmYzY2NGFhYzAyOTllZWVhNTAxZDkzYzg0MTFiZTAgbGVnYWN5LXRydW5rCisyODM1MSA1NGI2MDFkM2IyYTZkZDkxZjI2NWU0NjNjMjJlYmYzNjdmMTIyZTg0IGxlZ2FjeS10cnVuaworMjgzNTIgNzQxN2E2ZGM3MzY2NjJkM2ExYmFkN2E5MTE1YWY1ZTQzOGMyMjQ4OSBsZWdhY3ktdHJ1bmsKKzI4MzUzIDBjMjAxNTQ4ZDNkNGZlNTM5NWMyNjJhMDVlMTg4MzMzNjI0Zjc5YzMgbGVnYWN5LXRydW5rCisyODM1NCA1NDRhMzI2YmFmN2YyOWYxMjYzYjBjZTUzMDFmZGNmZDEwMTlhZmY5IGxlZ2FjeS10cnVuaworMjgzNTUgOGFkY2E1ZjliZmZkODZmZWM2MzJmNGVlYjk4OWY5ZTIwNDIxZDA0ZCBsZWdhY3ktdHJ1bmsKKzI4MzU2IDlmMjZlMGMwYzY5MjcxMDRiY2ZiNjJkMGIwMzM4MTliZDM0MmZjNmIgbGVnYWN5LXRydW5rCisyODM1NyAxMzM4OGNhZmMxNmU5NjMzYjNmMWQ1MjMwYjAwNmUxMzMwZDUzOTk0IGxlZ2FjeS10cnVuaworMjgzNTggMWJjYWZiYzY5Yzk2NzI3NWRkN2M0NzBhZTVjNmQ5ODgyZjhiODUyYyBsZWdhY3ktdHJ1bmsKKzI4MzU5IDZhMThiNGU4MzhlYWYzZjljNzUzMjI5MjNlMGI3MTFhZDJlYTQ3NGYgbGVnYWN5LXRydW5rCisyODM2MCAzMzBmNmU0MjI3NGY4Mzg3YzA4ZDU3MjRiNzhmMmViMjIxMjhkMGFlIGxlZ2FjeS10cnVuaworMjgzNjEgMDVkYTk1YmNkNzI0ZGZmN2U3OGU0N2U0NzM4MTE0MzY4NTdjOGU0MiBsZWdhY3ktdHJ1bmsKKzI4MzYyIGM1NWU4ZDZjMDkxZjAzM2NmN2VlYjYzNmRlNDM3YjU4ZGNlMjFmMWIgbGVnYWN5LXRydW5rCisyODM2MyA2MjgxMGJlYjlhZjQ3NzczMGJjZjA3ZmRjNzg2ZWM2NjRhMjA2NmYwIGxlZ2FjeS10cnVuaworMjgzNjQgZGM2NmViNGNkMTdhYzJhMDAwZmYxOTA2MGU4YTM4NDQxYTkyYTY5YyBsZWdhY3ktdHJ1bmsKKzI4MzY1IDZlNzhhNTRiYWMzYzg0MDQxYmFmZTNjMDAzMDNmNTQ1ZDhlZjA4OWYgbGVnYWN5LXRydW5rCisyODM2NiA4YjZiZjViYzUxMjI2YjcyMjhmYTMxNmM2NzdmOGQ1MGJkMjJmY2ExIGxlZ2FjeS10cnVuaworMjgzNjcgYjkzM2QxOWFlODUxMmNiYTAxZTcyNjRjYTQ1ZDFlYTAwMDE4MTM2NyBsZWdhY3ktdHJ1bmsKKzI4MzY4IDA0M2ViYTUxOGM2ODljYmRkYjM3MWU1YjcwZmZlOTkwNGM1ZDkyMDUgbGVnYWN5LXRydW5rCisyODM2OSBjMWY2ODJiZWViZWExY2YxZTFlOGVhZTcyNzk5NzIzY2QzY2ZjYzMzIGxlZ2FjeS10cnVuaworMjgzNzAgNzNmYmNmMjFiMmMwZmJhY2M5ZjcyZDQ0Nzg5NmRkMDkzNGEzYTQ0OSBsZWdhY3ktdHJ1bmsKKzI4MzcxIGQ5MGE2YWRkN2NhMzk4Mjg3YzBmOTQ2OGZhODhkYWRhNjdlM2YxMWIgbGVnYWN5LXRydW5rCisyODM3MiAxYjRlZjljZDE4OTc0MmJjODBhZWJhZmJlNWY0ZGRkZDY0MzIwNjg5IGxlZ2FjeS10cnVuaworMjgzNzMgYzQ1YjI4NjU4ODA1ZmE2Njk0ZTM5MzY1MmViMDE5MjkzNThiMmFlMyBsZWdhY3ktdHJ1bmsKKzI4Mzc0IDgwZjY1YzYzZTg2MGMyNmRkNWIyNzMyYTg2MzU3MmExYTY0ZjhjNDAgbGVnYWN5LXRydW5rCisyODM3NSA5NTE4NjU5MWNiY2ZlZWUxNDY3MDZlZmYwOGUzYzU3Mzg3YzJiZGI3IGxlZ2FjeS10cnVuaworMjgzNzYgODE2NzllYmVjMDdkNzE5YmE2Y2NhNTllMmQ1Yjc2ODA2MjVmNGE2MyBsZWdhY3ktdHJ1bmsKKzI4Mzc3IGY2NTgxMjk5YmMwM2I1MThiYTdkY2MxNTE5OGY4NzY3YTc5NjlkYzEgbGVnYWN5LXRydW5rCisyODM3OCA0MjYzNjM4YTQ2OWY4ZGI4NjdkYjA5OGNhMzBjZmZiYWM3MmEwMjNiIGxlZ2FjeS10cnVuaworMjgzNzkgOGVhMTE3ZWJiMmYzNDlkZTVlOGUzZDQ0MTlmNzhhYThlNDE3ZmZhYSBsZWdhY3ktdHJ1bmsKKzI4MzgwIDY2OGVlYWQxM2E3YzU3ZWU2NWRiNjBmZjE4Y2U5Mzc1NDg0OGI2YmQgbGVnYWN5LXRydW5rCisyODM4MSA3MTkwMzQ4ZDQ2NmRmZjVkNjYwNTZjYWEyMjczYTI4OTA2NDBmMWJkIGxlZ2FjeS10cnVuaworMjgzODIgN2JlYjE2OTIzYjcxYmI3MGZlOTVhZjM2YTY1OGU2OTg2ZjkyOGRkYyBsZWdhY3ktdHJ1bmsKKzI4MzgzIDA2M2YyMDMxNjYwYzNlMjU4ZjM2ODgwZjVkMDhkNDMxODliMzI3N2EgbGVnYWN5LXRydW5rCisyODM4NCAyNWY2OTU0ZmVmMzQyM2QwN2I4ZjNhZjhlNzc1ODVkNzM4NjZlMjRkIGxlZ2FjeS10cnVuaworMjgzODUgYjFhYjRlOGQ3ZDljNWEwYjI4OWYzZDQzNjhjODljMmI0NGM3Y2RiZSBsZWdhY3ktdHJ1bmsKKzI4Mzg2IDgwYWM4NjE5NGExMmJiOTRhZDYyMWU3YzIxZTM2ZDVlZjY5ZTliZjEgbGVnYWN5LXRydW5rCisyODM4NyA5ZTExYmI4M2Q5NTNiYTNhYjYxZTNiOTYzZTU0N2M1N2NlZGYxNTU2IGxlZ2FjeS10cnVuaworMjgzODggZWU5OWQyMjI1NzBhOTQ2MDBkZjA3MDAzOGVmNzNkNDRmY2ZhOGVkNiByZWxlYXNlMjItbWFpbnQKKzI4Mzg5IDIyYjcwYzM5ODNiNTM4Y2FlNTc0YWM4Y2Q3YmY5NDEwOTg4MjEzNTEgbGVnYWN5LXRydW5rCisyODM5MCA0YmI3NzZhMDJlNmU4NGY4YTdhMDgyYzVjMjBlOTY0MDYxZTlhOTUxIHJlbGVhc2UyMi1tYWludAorMjgzOTEgODBkMDM1YzQ1MTQ5M2RkZWM3NGZjYjBiMjQ0ZTQ5YjRlYmIxNzM0ZiByZWxlYXNlMjItbWFpbnQKKzI4MzkyIDE0NjFiOTQ2MDZjNTQxNGViMjliMTY1N2FjYTc3ZDFkMzRkODJiZDcgcmVsZWFzZTIyLW1haW50CisyODM5MyAwMGYxMWVlZGQ2MDMzNDVjYmE5OTIzYTM2ZGJhZjA1NjUzNDUxNmNkIHJlbGVhc2UyMi1tYWludAorMjgzOTQgOTEzMGVhNjY5M2RhN2VlOTlhM2M0ZTNiN2Q1M2JkMDVlYzdhYzFjOSByZWxlYXNlMjItbWFpbnQKKzI4Mzk1IDBkNjYxN2E5Y2I2MTBkMjcyMmFhMjUyMzcwZDUxMzJhM2VmMzRjNDAgcmVsZWFzZTIyLW1haW50CisyODM5NiBmNGJiMGZmMzEwZDM0ODljMjNmNzQ4NjQyMDUzZTNkZWQ2Y2JmMzk5IHJlbGVhc2UyMi1tYWludAorMjgzOTcgYmM4MWVlMjA2MjhmM2NjOWQ1MDEwY2Q0MTg5NzhmNWFlMmRkNmE0YiByZWxlYXNlMjItbWFpbnQKKzI4Mzk4IDY0NjFhY2RlYjU4YzkwODJhZmVlOGU1NjRmMGJjZWFiY2RlZTYxMDQgcmVsZWFzZTIyLW1haW50CisyODM5OSBjNTQxN2YwZWU1ZjA4MDJiMTg3Mzg5YjcxOGIxMmQzMWI5NDU1NDcxIHJlbGVhc2UyMi1tYWludAorMjg0MDAgZmQwNjZkMTk0Y2ZmNDFjMmJiZjdhNGE1YTNhN2ZkZWQ1NmM0NWNkYyByZWxlYXNlMjItbWFpbnQKKzI4NDAxIDVlNGVhZGYxOTAzYTAyOGU2NTVhYjU4MjlmZjUxMDBlOTAyZTU4NmIgcmVsZWFzZTIyLW1haW50CisyODQwMiA4NmFhMmMyZGE0MGU0YjUyY2M2ZGVlMTAzZjUzMzdjNmU2NmJmN2IxIHJlbGVhc2UyMi1tYWludAorMjg0MDMgYzUxMmE5NDMzZWFmM2IzZjE2MGJiYTY5MDVkYzU1NTM1YWU3Mzg0MSByZWxlYXNlMjItbWFpbnQKKzI4NDA0IGEwZGM2ZjUwNDk3Mjg1YTE0NmIxMjBmOTNhMWU1OGRjNDY1NWY4M2UgcmVsZWFzZTIyLW1haW50CisyODQwNSBhYzQ2OGUyMGI0Y2VkOGJjYTA2ZWE0YjhlYjA1OWU1Y2U0NmQ0OThjIGxlZ2FjeS10cnVuaworMjg0MDYgM2E3NDk5NDMxZGNjZjNjZmZkMWZmNDhkYzI3ZjMyYmNiOTAwZjJiZSBsZWdhY3ktdHJ1bmsKKzI4NDA3IGY5NWMwYjg5NGYyNzY2ZTkyZGU4MTVmOTQ4ZTgxOWE5YWE4YmI2MGQgbGVnYWN5LXRydW5rCisyODQwOCAyY2NjZjgyNDIwMDliYWM1NTk4YjI2MmIzOTNjZDExYTZhNGE1OWQ2IGFzdC1icmFuY2gKKzI4NDA5IGZjYjUyMDFjNjllZDg2NzUyYTU4NDY2M2E0NTZhM2E1M2RhMDU5MTUgbGVnYWN5LXRydW5rCisyODQxMCA0ODEzODM3MzcwOWI0NzAwNDA0M2M0MzkwYjBhZjA0MmE0MDhhZmRkIGFzdC1icmFuY2gKKzI4NDExIGJiYWViZTZiN2MxYWRmZWJlN2RhNTljNWJhZWFmMzAyNzI2MGQ2MTEgYXN0LWJyYW5jaAorMjg0MTIgMGI3MjY0OTZjZjQ0ZjE3YWRmZTNiN2NiZmE0NjI3NmU0Y2NlNDEzNyBsZWdhY3ktdHJ1bmsKKzI4NDEzIDU5YjdmNGU5ZmQ2MTQ3MGRiZGRhZDBhNmU1MDVhZTcwOGE1MDQ0OTAgYXN0LWJyYW5jaAorMjg0MTQgYzc0NDE0NGM0MDQ5ZGY2NzM3YWRkZTdiYjBkNjA5NmNlYjhlMDUyYSBsZWdhY3ktdHJ1bmsKKzI4NDE1IDk0YWRmNjk5NjE4ZmVkNWFkNDdjNzAyMDE5OGM3ODhkMGJjYjhkYTIgYXN0LWJyYW5jaAorMjg0MTYgOGZkYjA4NzdkMzUyMzgzODcwYWIwOWI0OWE5MDcwZjkwODYxNmU2MCBhc3QtYnJhbmNoCisyODQxNyA3NjJkZDA5ZWRiODM0MmZiMDQ4NDM5ZmFiNmVhODFkNjJjMTMxZDY0IGxlZ2FjeS10cnVuaworMjg0MTggYjQzOTg2ZjczZmM5ZjhhMjhhZDlkZjY3MDMzMDc4ZGQwN2U2MTcyYyBhc3QtYnJhbmNoCisyODQxOSBmODI0NzVkNzg0MTUyNWM4NmY1OGViZDgyYWE1MDQ0MjQxNjJmZmZlIGFzdC1icmFuY2gKKzI4NDIwIDEyYmI2ZjBjNjBmOGM2MzhjMTJjYmRiOGE0ZjQ2OTJmNGI3MWVlMTQgbGVnYWN5LXRydW5rCisyODQyMSAwODU3YWFkYzYxMmEzMzU4ZWEyNGNiMTQ0Y2JiZTRmYmYwNGYwNmM1IGxlZ2FjeS10cnVuaworMjg0MjIgYjViNzBlNDEwZjEyNGY4ZWI5NTkzNmVjNzMxNjQ3NTA2OGVjMjE2MSBsZWdhY3ktdHJ1bmsKKzI4NDIzIGFjZWNkYzRmNzMzMzYzYzRlN2UxNDUyYWJkZWQ2OTM3NzEzYTViYTQgbGVnYWN5LXRydW5rCisyODQyNCBjNjgzMTFlZmQzNDZlZDlmNDA2Nzc4OTIzMzQ2NGEwMWQ1YTIyOWQ2IHJlbGVhc2UyMi1tYWludAorMjg0MjUgZDQyMWJiYzk5NjFjOGNmZTBhYTI2NTliMjBjODBjNjg3NGUxOWFmOCBhc3QtYnJhbmNoCisyODQyNiAzNTc0OWRiMTA4MDkzMDU2MTAwNTBmYmY2MWI1ZDg1NWNkMmI0ZTFkIGxlZ2FjeS10cnVuaworMjg0MjcgZjM2ZTE2Y2E4ZjUwNTgwZjUyODVlZDgzZTMyMTJmMDYwZWQxYzU2MSBsZWdhY3ktdHJ1bmsKKzI4NDI4IGYyZDc1NzQ5ZTYxYzVlMzIyNDkyYTFlMjhjZmRjZGMwNzlkMzAzMTggbGVnYWN5LXRydW5rCisyODQyOSA2ODYyN2UwYWNkMTViYWI4NWJhZWZiM2RhMmFkYTllZGI2YmFlMzhhIGxlZ2FjeS10cnVuaworMjg0MzAgZmVlYjBiMDJiOGYyNTI5ZTVlNDBjOTdhYTNmZGM1NjhlOWE4N2ViOCBsZWdhY3ktdHJ1bmsKKzI4NDMxIDI0ZTgwZDk2YmQwYjZlOTI2YWI5ODUxNGEwNDQ0ZWY2OGViNTdmNTUgbGVnYWN5LXRydW5rCisyODQzMiAwZWJlYzgzZWIzZGRmYzFjNWI1YTJhZmQxMmRlNzYyYWRlM2FhYjM0IGxlZ2FjeS10cnVuaworMjg0MzMgYWE0NTAzNTU2MzM5ZWRjZTAzNzQ5MzJhYmIyNWQ5YTQ0YTdlODliMiBsZWdhY3ktdHJ1bmsKKzI4NDM0IDgxYmU2MTA1NjcxN2Y4ODEzNjA2MmZiNzI4ODlmNzY3OGI1MTJmYTggbGVnYWN5LXRydW5rCisyODQzNSBiYjI4YmJjMjhjMzIzYWIyOWQ1MDY1NWUyNjc4ODg5MGM0NmM2Yzc2IGxlZ2FjeS10cnVuaworMjg0MzYgZTQxMDU4ODQ1Yjc5MmVkNjYyN2U5ODRmMGNjYjEyZDRjMDFkMjZmNiBsZWdhY3ktdHJ1bmsKKzI4NDM3IDkwYjEzZDk5OTgyNzEwZmY2YzM5ZTA5MmJlY2E2N2E3MzkxZDMyZGUgbGVnYWN5LXRydW5rCisyODQzOCA4MWFjYmUxNjgwYTMzMDhiYjgxOGFlMDYzMmY3N2Y5MTVjMWIwYzUwIHJlbGVhc2UyMi1tYWludAorMjg0MzkgYTZkZTUwYzBkNDU3ZWI2MWNmZWI1OTkyZDc1MTFjMGNjODFkNzNmZCBsZWdhY3ktdHJ1bmsKKzI4NDQwIDA0OTA5NmVmYTJjM2NhODc2YjE5YzM3YjI0NjhkNzM4NDVmZDk2MGEgbGVnYWN5LXRydW5rCisyODQ0MSA4ZmE3NTNhOTcwNzdiYTA5YWQ1YzQyMWMwMDcwN2NhZGMwOTAzNmY3IGxlZ2FjeS10cnVuaworMjg0NDIgMmMyYjg0YmRhMTQxYjdhNGM4YzU5MzFlYWY3YTBmNmEyYjI3MmJkNSBsZWdhY3ktdHJ1bmsKKzI4NDQzIDM0ODQzMDk1NzNmMjFjODM5Yzc3NTM5MmI1Y2JlZGVjMTEyM2YxODAgbGVnYWN5LXRydW5rCisyODQ0NCBhZDI4OWZiYjZiNDhkNzJiNzgzOGU4M2ZlMGYzMGI3Zjg3ZjM2ZmE5IGxlZ2FjeS10cnVuaworMjg0NDUgYWZmMDY3YmE4ZDA3ODhmMGE5MzdlOWJlM2RlZjYyNTBiNzM4YTU4NyBsZWdhY3ktdHJ1bmsKKzI4NDQ2IDhjNjFjOTIwMjViNmM3N2I4M2U5MmJjNzg5MzA3NGIwNDdjMWRjNjQgbGVnYWN5LXRydW5rCisyODQ0NyA0MGU5Y2ZkZTFjNTA4ODBhMWYxOGUwYTRiZWUxMzEzY2RmNDkxODdlIGxlZ2FjeS10cnVuaworMjg0NDggN2ZiMzc1OWQzODY2ZDUwODRlNGEyMjI1OTJmMGRjNzY3OTVlODQ4YiBsZWdhY3ktdHJ1bmsKKzI4NDQ5IDhjODA1MjM3ODAxN2NiNDUzYjBmMjMxNTUwZWQ3M2FlNTc2MDUyOTggbGVnYWN5LXRydW5rCisyODQ1MCA0ZTk5NmU5NTllYzE4N2M3MTM3ODE3Nzc3ZTcxYzEwNGVkMDFkMjg3IGxlZ2FjeS10cnVuaworMjg0NTEgZDVlYmQ2MTZhM2U2ZjRiY2Q1ODA5M2JjNTVjMzhhMzY1OTZjMTE4MyBsZWdhY3ktdHJ1bmsKKzI4NDUyIDBlMDFiODVhZGQ4MTI2ZTZhYzczNzg1N2NlOTllYjZmMDNiMWRiMzMgbGVnYWN5LXRydW5rCisyODQ1MyA3ZDNmODMwNmEwMWVkNWFlNTQzZWI4NDhhZmM1OWZkZjg0ZGI3MGM2IGxlZ2FjeS10cnVuaworMjg0NTQgMGI5NzkyY2JlOTAwNDJiMTc3MDFlZDMyNDM5M2MxNmU2NjdkMzhhZiBsZWdhY3ktdHJ1bmsKKzI4NDU1IDM2NDdiMzBhYTlkZTA5YWM1NmIyZGI3MmY3NGExNmU0ZWUyNjQ5ODMgbGVnYWN5LXRydW5rCisyODQ1NiBkYjQ5ZWU3NmI3ZDBlM2Y3NmRjZjA1YmEyYjMyNGM4MzkxMDcwM2VjIGxlZ2FjeS10cnVuaworMjg0NTcgZWQwYjAyNjcyZjA5MDVkZDBhOWEzZmE2MGYyZmIwNWI4ZjIwMWFiMCBsZWdhY3ktdHJ1bmsKKzI4NDU4IDExODlmNzdjZGY4NDVkMmNlNzllOWNlZDAyZjg2ZTIxMDcwMzJmYzQgbGVnYWN5LXRydW5rCisyODQ1OSA4Y2YyMDU4OTJmNjYyODk2MDZjYzI2YTM4OGI1M2VjZDMzNDUxYWJjIHJlbGVhc2UyMS1tYWludAorMjg0NjAgYmQyYWEwMjQ3YWRhYWQ4YzQ2YTk3ZDk3NDcyNDQwYzk5ZWY2NzY1ZSByZWxlYXNlMjItbWFpbnQKKzI4NDYxIDc2Y2Y4OGU4OTM3NmRjMjU0YWQ3ZmY2MTIwZTZmODMxYzA5NDZjZTMgbGVnYWN5LXRydW5rCisyODQ2MiA0MzRiYzFkZWE0ZjhiYTdlNzdkNjU4NmIzM2VkNGVmN2JkMTFmMDNjIGxlZ2FjeS10cnVuaworMjg0NjMgZWMzNzM2OTZjMTdiYzM3ODYyNjVjOTcyMWM3Zjk5ZmUxZTY0YmU3NyByZWxlYXNlMjEtbWFpbnQKKzI4NDY0IGQwNDEzZGUxNDNlYzI0NWFiMGUxMjVmY2UzZDMzMDg1ZjEzODRiOTkgcmVsZWFzZTIxLW1haW50CisyODQ2NSBkODNjMTRhZTY0N2RkMDMxMGMxYWEwZmUwNWYwZmVjNDZkM2I1ZWEyIGxlZ2FjeS10cnVuaworMjg0NjYgNDAyOWQ2N2NkYmQ1ZmRiZDQyMjVmZDc3Yjg4NDdlMGIwMzgzZGQ1MSBsZWdhY3ktdHJ1bmsKKzI4NDY3IGNiZWUyZWQ2Y2Q3NTVhNzcyN2IzYjhlYTAyNmM4NmNhZGE1MzQ0NjQgbGVnYWN5LXRydW5rCisyODQ2OCBhN2E2MGIxNDFkMWRhNjgzOGRjOWUxZTFjMzM0OTk5OTVlNmI3NTMxIHJlbGVhc2UyMi1tYWludAorMjg0NjkgNjNjYTEyYWJhMDc5MzRhNTlhNWY0NWM3MzdlZTZmN2Y4Y2I2ZGRhZSBsZWdhY3ktdHJ1bmsKKzI4NDcwIDhlOGQzZTRhZjRmNDY4OTRiNzgyYzlhN2QyMDk3M2IxMmUyMmY2Y2MgcmVsZWFzZTIyLW1haW50CisyODQ3MSAxYWEwODE1ZmFkNGIxMTY3MWM1ODEzNTI0OWE5ZjllZmNkMDQxZmI0IGxlZ2FjeS10cnVuaworMjg0NzIgZTBiODU1YWFkMjMwMjA5MmUzMzZkYWQwMTY3YjBlM2YzMWE4YTUxNiBsZWdhY3ktdHJ1bmsKKzI4NDczIGUyMDQyYzc2YWYwNjU2MGNjYTJiZTZhNDMxZGE5NWQ4ZWI2YmEzOTkgbGVnYWN5LXRydW5rCisyODQ3NCBiODA2N2RkYzExZjg3YTk3ZDQ1ZjNmZTcyNzU5YjNhZTFjYmMzNGUzIGxlZ2FjeS10cnVuaworMjg0NzUgYWQzYmU0NzFiMzk5MjE5MzMwNjg1ZDQxZmI5YjJmNWRmODIxMmJmZSBsZWdhY3ktdHJ1bmsKKzI4NDc2IDBkNDkyOTAyODk0YTU1ODg3MGU3NTNjNDZlYWM0OTA4MmQ1YzM5YTEgbGVnYWN5LXRydW5rCisyODQ3NyA3Yzc2YzBmYzJlOTJhMDk3YmY4ZTkwMDU4M2IxZDVhMjRlMGE1ZTY0IGxlZ2FjeS10cnVuaworMjg0NzggMTAwZjE1NDk4MmM4YmJlMDljYTUxOGFkMGY5M2RjZDRiNDlmOGM2YyBsZWdhY3ktdHJ1bmsKKzI4NDc5IDdkYzdhYjVkYjkwOTllODQ2NDliNGMzNTRiMWQ0ZDExODAxNjlmMjAgbGVnYWN5LXRydW5rCisyODQ4MCA4MWEzNmQyYTJkMTM3ZDEyMDliNTQxODIzZmVkZTRkMzdhYTgyMzIwIGxlZ2FjeS10cnVuaworMjg0ODEgNWE4OGYxNzRiNjg0Y2JiZjgwYzFjN2I3MTY0ZWQ4MDIzMDhjMzhlYyBsZWdhY3ktdHJ1bmsKKzI4NDgyIGFiMTc2ZTE2NGVhYjY5NDhiMjc5MjVlNGYyMWFkZTZmMmQwYWMyZjggbGVnYWN5LXRydW5rCisyODQ4MyA0NmIwNTA0NTU1MzM2ODNiZDhkZDIyNzA2ZWZjMTZjNzAwMjg1MmU0IGxlZ2FjeS10cnVuaworMjg0ODQgMDNlYWRjNTdkNDI5OWM0MTRhMWRlOTkxMmQ2M2E5MjY3Mjg3YjNiNSBsZWdhY3ktdHJ1bmsKKzI4NDg1IDgyMzFmODZjODYyOGE0NjM5YzE5MDE0MGNhNzlmZjQ5MDljZTVhMTIgbGVnYWN5LXRydW5rCisyODQ4NiAyNzRmYTBiMzRjYTdlNmIzZDQ0YTExNWRkNzI2OGFhMjE1MTRkYTEwIGxlZ2FjeS10cnVuaworMjg0ODcgMDViMTVjZTI4ZTMxZmE0Zjk0YTg1Mjk0OGM0MGQzYzgyMTQ1ZTBjYiBsZWdhY3ktdHJ1bmsKKzI4NDg4IDVmYjZmNWJiNzY5OGZiOGY5OTExZTJmOThmMGYyMDIwZTZkNDc2MjYgcmVsZWFzZTIxLW1haW50CisyODQ4OSBlZmMxMjhhMzM0YTU1ZjI3NGEzYmQxYzMxYzk2MjNmMjEyNzJlZWMwIGxlZ2FjeS10cnVuaworMjg0OTAgODI1ZmM4NTUyMzI1N2Q5ZTkwYzY3MjI4YTljYzgwM2MzYjVlNDU3OCBsZWdhY3ktdHJ1bmsKKzI4NDkxIDMxYTc3NGE2ZjYwNGI1NzBmOTE3MTZlNTU4ZTdkYWY0YTQxZDMyNDQgbGVnYWN5LXRydW5rCisyODQ5MiA2YTIyMTgzNGVkN2RmNDJlODBjMjAxYTExNDI2MDc3ZGQ0ZTYyOTAwIGxlZ2FjeS10cnVuaworMjg0OTMgYTU0YzVjZmEzZjhmYjIxNGNkMzVmNDFiOWExZjhjYzQ3M2U1MjZkNiBsZWdhY3ktdHJ1bmsKKzI4NDk0IGJlMjg2OGE2M2VkNTNkMWYyNGU0YzA3MWY0ODkwNmU1YTEzOTI4YzIgbGVnYWN5LXRydW5rCisyODQ5NSAwMDRkZTFhYzIzYzQ0MjMzZDlhYjQyMDFmZWFjM2E2MTgxZWFmMzU0IGxlZ2FjeS10cnVuaworMjg0OTYgNGFlYWNmOWY5ODU4ZTQ1ZmQwMjAwNDE0YmU4MzIwMWQxNjYwMDM5NiBhc3QtYnJhbmNoCisyODQ5NyAyNmM1MGYzMjI2MjIwMDIyODBiZGYzMmM4ZWE3OTliZDJhNzY2ZGI5IGFzdC1icmFuY2gKKzI4NDk4IDAyZTBlNmQzODEzZTllYjM0MmY1ZDM2YTg0ZjQyYzYwMTkyMDQ5YzAgYXN0LWJyYW5jaAorMjg0OTkgOGU0NzM2MWM0YjViMDM5NDliZTkyNzFmYzE0ZTZmNTQ0NWI3YzkwMSBhc3QtYnJhbmNoCisyODUwMCAxM2U5MGUzYzRjOTkzMWJmZjViMDU3YjgwYTdiOWZhN2IyY2JiMGI2IGFzdC1icmFuY2gKKzI4NTAxIGM1NTY5MDY0Nzk2MTMwMTI5MzY5NDJjOTcyYjMzMjRjYTY0ZDBjMzUgYXN0LWJyYW5jaAorMjg1MDIgODk0MjE1MDVkYjU5MDMyOTNkYmVhMGFlYTAyMjVlM2IzZDhiMTk2OCBhc3QtYnJhbmNoCisyODUwMyAwYzU0NDg4YTc0ODIxOWZmZGE4YmU2ZmY4Yzg1NDZkNWYzZjYyZmRiIGFzdC1icmFuY2gKKzI4NTA0IGVkMmE4YzU0OGM0NDRkOGI5Zjk1Y2JkMzY1ZTAxNTRjNDQ2YmFjOTkgYXN0LWJyYW5jaAorMjg1MDUgNWExMDE2YjJjNDQwY2RjMWE0MmU4NDJlOGFiM2JkNmY0NGU1YTA1NSBhc3QtYnJhbmNoCisyODUwNiA1YTQxYTcwYmM1ZDE3Y2UxNDNlZjY5YjExYmRjMWM0ODEwNmFhNjAyIGFzdC1icmFuY2gKKzI4NTA3IDJiZTk2OWQyOTUxMGJhOWM0Y2FmYmVkZmVkMmMwMzhhNDY0OTFiMDkgbGVnYWN5LXRydW5rCisyODUwOCA5YTJkZTM5ZThkYTc1ZmJiZmVlZTRiMjYwZGQ0YTdmN2E0MzMyMDI0IGxlZ2FjeS10cnVuaworMjg1MDkgNzA2MDNmNDg0MDI5NDZhMjM4N2UwZTM1YzM4ODIxMjk5ZmZiODc5MSBsZWdhY3ktdHJ1bmsKKzI4NTEwIDRjNGY5MmIwYWY5MDM2OTU0MzIwZmI1MmUyYjdiZjZjMTFmZjQ3YzUgbGVnYWN5LXRydW5rCisyODUxMSBiMzM3ZWYxNmMwZDJkOGJjMzEzMGQ3MzU0NGM3NzU3MzFhNjYxYTM3IGxlZ2FjeS10cnVuaworMjg1MTIgNWZlNGQ5M2RmNDI5MTM0ZWY4Njk1YzEyZTU5ZmY5NjJmZjhiNzNkMiBsZWdhY3ktdHJ1bmsKKzI4NTEzIDg0YmZiOGE4MDVmYzlmZjY2YjM4MWVlMWUxNjQ2YzFkMzIxMmEzNDYgbGVnYWN5LXRydW5rCisyODUxNCA5YTE3OGFkYjRlMmRiMDA4NzJkY2M1ZmM1NzkzMDFkY2VhYzRiZjU2IGxlZ2FjeS10cnVuaworMjg1MTUgMTk5ODJjNWViNDkzYWYwOWEyMmY1MDdhNWJlNTAyYWQ1N2UyMWRhNCBsZWdhY3ktdHJ1bmsKKzI4NTE2IDg3NzE5ODcwNWM5MmFkYjAyOGRhYTJlMDZhZWM5OTRlYWIyYzE0ZTQgbGVnYWN5LXRydW5rCisyODUxNyBjMTQ5ZDM5MzE0MzQ0NzQwZjQ2OTZjOTUwNjVhZGFmY2Q0YjRlYTg0IGxlZ2FjeS10cnVuaworMjg1MTggMDMzN2RhZDg0MDNlMTBhNzM1OGJlNTY3NWYzMjY2Mzk0MGVmM2QwMyBsZWdhY3ktdHJ1bmsKKzI4NTE5IDQyN2VmYzM1YjViZWI2ZGViOWJkMjlmMDIzMWJlNTc2ODNkMzIwNTggbGVnYWN5LXRydW5rCisyODUyMCBhZTE0NjllNDY4YTA0OTA4OTZiYjFhYjkxZmVjYjljZTA5NDk0MjA3IGxlZ2FjeS10cnVuaworMjg1MjEgNmE4NWExYzlkMzNkOGYzYWYzMmU3NDQ2MWYwMzdhMDM3NTJkNGU0NyBsZWdhY3ktdHJ1bmsKKzI4NTIyIDFiODBlMGZkNWE0ODE0NTk4ZjQ0YTU1NzA2OGU2YmM4YTA1ZWZjMDMgbGVnYWN5LXRydW5rCisyODUyMyA5OGRkYzQyOTdmMzYxZGU1ZGJlOWJjYjMzNDUyZjYzNTc1MDNlNmM0IGxlZ2FjeS10cnVuaworMjg1MjUgNTY3MmIxNTczODU1YTUxNWFhMzYzZmQ3ZjhlN2RhZTJiNDI3MGI5ZCBsZWdhY3ktdHJ1bmsKKzI4NTI2IDczYjJjYmFlOWQ5MDE3ODA0MzcwY2U1YmViNWZhOTljNzBiMjY2NWEgRFNfUlBDX0JSQU5DSAorMjg1MjcgYzAyYTY2ODQ4OGQwODJjNGQwZGI4YjM4NzI3NzdlNjhjMWEyYzJkNiBsZWdhY3ktdHJ1bmsKKzI4NTI4IGE2OWExMjQ4NGQ2OWFhODY2ZTY3MjY4ZjdhNzYxNDUyZDAzYTI3NTIgbGVnYWN5LXRydW5rCisyODUyOSBiYzU5MGJlYWRmMGJkMTc2MzRiYjBlMWY2NDJkYjY2NzdhZDdkMzhiIGxlZ2FjeS10cnVuaworMjg1MzAgMzIzMzFkMjZkN2NmMTkxMTRmMWY4MGIzZWViNTlhNTU3OWY0OGU5NSBsZWdhY3ktdHJ1bmsKKzI4NTMxIDhhMTZkZTBiZTExMTc4MDkyYmJlYTA1MDY1MDE0YzdhZDRiNDdlZmUgbGVnYWN5LXRydW5rCisyODUzMiBmOWU0MjQzZmY3OTJlNzk0MTFjMTg4YTUxMTZkZTI1YzY4NmYxNmY4IHJlbGVhc2UyMi1tYWludAorMjg1MzMgNGI1ODBhNDYyNTA4MGNkYmViMjJkYjhmMTQwYTVhMDVlYzViNGI3OCBsZWdhY3ktdHJ1bmsKKzI4NTM0IDM5ZTA5ZjMwZjdlZjI4NDZhN2YxYWI1OTYyMzBlMWY0NGM0ZTZkM2IgbGVnYWN5LXRydW5rCisyODUzNSBjMGQ1ZmY4NTU1YWRlYTQ3MDVkNDU1NmZmYjA5OTU0N2FjOGJiYjY1IGxlZ2FjeS10cnVuaworMjg1MzYgMGVjYjNjYWJmNDBiOWE4NmU2MzZjYjk5Nzg3NmI1ZDY3MWZmMzM1NyBsZWdhY3ktdHJ1bmsKKzI4NTM3IDNhMjZlMzUyZjBhNmQyNzVmZjFlMDc3YzgwYWFhOGNhZDIxMjlkZTEgbGVnYWN5LXRydW5rCisyODUzOCAwMGI2ZGQ0MTRiODA0NjFmYjc4MDFhNGU4YzFkNmQzZTFjMWI4NzFiIGxlZ2FjeS10cnVuaworMjg1MzkgMDQwMWEwZWFkMWViMzM0N2QxMjBkMmEwODE0ZGNhNTIyZjEyYjgxMyBsZWdhY3ktdHJ1bmsKKzI4NTQwIGI0NzBiNDE3ODM5ZDhjYjQ2ZGYzMWEzNDUyNzBiN2UzMmUzNmVmZTEgbGVnYWN5LXRydW5rCisyODU0MSBmMGZmMDYwY2QxOTRlNTE3ODcyNWU1YzkyODIxNzY2OTQwMzgyYzM0IGxlZ2FjeS10cnVuaworMjg1NDIgZmIzMzRiMWE1NmE2NWMwNzEwOGFiMzhiZTgxOTMwNzA3MTkzM2U1ZSBsZWdhY3ktdHJ1bmsKKzI4NTQzIGEyYjFmM2MxMTM4N2E2NDcwOGM4NWVkZTA4OGNiMWQxZDBiNTBkYjcgbGVnYWN5LXRydW5rCisyODU0NCA4ODM0Mzg1ZjI5YmY1NDEwZDlmNzI4YWEwZDM3YTZkNzZjNTc4ODk0IGFzdC1icmFuY2gKKzI4NTQ1IDc1OTYxY2IzNzQ3ZjlkYjliZjQwMWNmZDFhOTRmZGIxNDAzMTEyN2MgYXN0LWJyYW5jaAorMjg1NDYgNjkyOTNiODQ5ZDg1ODA3YjRkNmUxODFiYjI0NmI1NTBhYTJmY2FlOCBhc3QtYnJhbmNoCisyODU0NyA3YzczMzM4MDI3MTQ5YjIwYzg2OWE5ZjQwZGE1MjMzZWI2ODdjMzVlIGFzdC1icmFuY2gKKzI4NTQ4IDRlYTA4MTEwMDMwNTI5YjhiOGIyOGRmOTViMDljODI1MDUyNTdkYjAgbGVnYWN5LXRydW5rCisyODU0OSBlZmMwZWRjMzBmZWE0MzUwZmVjMGMwNWJkZjllMzNjNTYzMmYzZTBiIHJlbGVhc2UyMS1tYWludAorMjg1NTAgMzAxNWM2NzhmODFkZGY4NTBkZjEwMGU1YTg2ZTMxM2RjMDc1MDAwNiByZWxlYXNlMjItbWFpbnQKKzI4NTUxIDBjZTI3MjJhM2UxNTRkMDkzNGJiYjliNTUyNmVkYzVlOTM4ZjgyODQgbGVnYWN5LXRydW5rCisyODU1MiA0YzgxNjNhMjc2NDAyOTdhNmIxY2JjOTlmNWQ0NWRmNWQyZDg5OThjIHJlbGVhc2UyMi1tYWludAorMjg1NTMgOTUzZWJlMGMwYzI1ZWVhYWUzYjNlZjc4ZTU0YTE4YmUwOTgwOGY4ZSBsZWdhY3ktdHJ1bmsKKzI4NTU0IGM3MzEwZjM0OGM3OGUyYWZjYWZiNmFjYjFiZWFhYTk2M2UxZjk4YTMgbGVnYWN5LXRydW5rCisyODU1NSBlNTAwZjE4ZjMxMzEyODJhOTdlN2M2ZmMzZjVhNDZlYzMxNWJiYTJlIGxlZ2FjeS10cnVuaworMjg1NTYgNmI2N2QyNjA3OWYyNTU2OTBlY2ZjYzIyZGUyYjIwNzU3NjYyYmVmNSBsZWdhY3ktdHJ1bmsKKzI4NTU3IDI3YzcxOGM4MmVmZGUxNDZjNGY4OWMxNzQ0NjhmYjYxMTRkNmNiNmQgRFNfUlBDX0JSQU5DSAorMjg1NTggNDhkMTA4ZTViODg0MWEwZTg5Mzg5ZjAxZjhjMDNlMGU5ODRjNTk4MSBsZWdhY3ktdHJ1bmsKKzI4NTU5IDE3Mjg0NWMwOWFmZWNmNTQyNTNhNGY4NDNjYTRhZTdlZTM1ZDEwNGUgbGVnYWN5LXRydW5rCisyODU2MCA1NmY5ZjVhYjZlYzExZjhhOWZjM2I2OGE0YTFmOGMyZGZiMmIwMjFjIGxlZ2FjeS10cnVuaworMjg1NjEgNTE2NWEwZWU4NGM2MjBhNmY2ZWNkMDNkNTNhZGNkZDk0MmM2N2E0NyBsZWdhY3ktdHJ1bmsKKzI4NTYyIGYxYzY5YzMyYzQyYjJiZWFlNjQ5MzNjZjNiYTM1NmIzNjM4NTUwYTYgbGVnYWN5LXRydW5rCisyODU2MyA5NjRkNjg4OGEyMzY4ZTllMWMwYzEyZTRjNDM0NmEyMzBiZTg1NWI0IGxlZ2FjeS10cnVuaworMjg1NjQgMzY4YmMzYTQ5MTllMzA1YzVjODM3MmZiMzUwNmZmZWI5MGIwODY3YiBsZWdhY3ktdHJ1bmsKKzI4NTY1IDg1MjllNTU4ZjcxZDc0MmZlNWJmNzY4M2Y5MTIwNmRkMTc3MWE0YzAgcmVsZWFzZTIyLW1haW50CisyODU2NiBiODllYmQ1N2NlYjRhOTVmMmNiMzgwNGFkMzRmZmQxOTYzYzM1ZGE3IGxlZ2FjeS10cnVuaworMjg1NjcgMzhmYTc0YTIwNWVhNTZkODU2NmY0NjlmNWQ0MDRhNDcwNDQ1MDk2MSBsZWdhY3ktdHJ1bmsKKzI4NTY4IGNjNTNkZGI2NDI0ZjNiNDE1MjVmOTA4ZTczZDdjZTZkNGU5NTdiNDYgbGVnYWN5LXRydW5rCisyODU2OSAwZjAwMTY2MzJiZTQ5ZjlmMDlhMDUwMjkwZDRhYmNmODE3YmY1YjM2IGxlZ2FjeS10cnVuaworMjg1NzAgMGQ5MmViNjNkYjg5YWU4OTRiOGIwNDg4YWE3YjFjZThiMWI4OGE3ZCBsZWdhY3ktdHJ1bmsKKzI4NTcxIGRkYWQzNjdiODBjM2Q0NjgxMmRhMmRjNWI4ZTM4OWQxNmFhNDdiNDAgbGVnYWN5LXRydW5rCisyODU3MiA4MDYzNGNhMDJkYmY5MzY0YzIxMjIxOTJmOTFjMzBkNGMwOWFjY2QxIGxlZ2FjeS10cnVuaworMjg1NzMgZDQ0NmI1MTUxMzE2ZWE4MmU3ODA1M2EwMTVmZWNjYmQ0ZWFlZDNiZCBsZWdhY3ktdHJ1bmsKKzI4NTc0IGFmNjk0NWYzM2IwODYwZmYxMGMwNjAwMjQ3MzVlYmIxYjllMmVmNTEgbGVnYWN5LXRydW5rCisyODU3NSBiZTI1ZDIzNmYyODZkZDRlNzFhYTExZDlhNzJhMGEwMDNmYTU0OGY4IHJlbGVhc2UyMi1tYWludAorMjg1NzYgZGViNjRkZmM4NDE2NmNhNTE1Njc1MjMzYjEzNjBjODZkYzdlMjQ3MyByZWxlYXNlMjItbWFpbnQKKzI4NTc3IDY1ZTBmMmUzOTVhYzgzNzY2MDI2YmRmZWZhNmFiMmUwMjNlYmZhYjcgbGVnYWN5LXRydW5rCisyODU3OCBhZGFiZGI5OWVjYzRlZTc0NmQyOGNjNTMyZjEyYWE5ODUwNzliMmMyIGxlZ2FjeS10cnVuaworMjg1NzkgNGIxNTRmMTlkMWFmMmY0ZjBlZGMzZDNmNGM5OTAzZTVmOGJiZWIwNyBsZWdhY3ktdHJ1bmsKKzI4NTgwIDBlMjM2Njg3OTI4OWUyMjYwY2EyOTMwYmY4NTVkOWY3MTJmZDMwNzQgbGVnYWN5LXRydW5rCisyODU4MSA0YjIwNWUwZmI0NmJjMWY4NjEyMmY2N2NhYjZmMzhlYmE5NDA5OTgyIGxlZ2FjeS10cnVuaworMjg1ODIgNWMyNDMzOGYzYWU1ZjQyMmI2OWI0MzlmNzMxYjFlNjE5NDg2Y2M3ZiBsZWdhY3ktdHJ1bmsKKzI4NTgzIDEwZjk4ODg4NTNjYzYwNDEyYmNmYmVlNzZjMWE4NGY5N2JmOTg0MjIgbGVnYWN5LXRydW5rCisyODU4NCBhYzc0MTU4N2U2NmI5MjM0NzQ4ZDZkZWI0ZDFjOThkOTI2MTYxMTA2IGxlZ2FjeS10cnVuaworMjg1ODUgNWNiOGQ1NzJiNGRlZjAxYWMzYzIyZDUxYzJiZjRlZTY2MWIwN2U2NCBsZWdhY3ktdHJ1bmsKKzI4NTg2IDBjOWRmZDVhMDZkNDQ3MGMwMDA0Mjk5YWM0NWIwNmE0MTFiYjY3OGEgbGVnYWN5LXRydW5rCisyODU4NyA3NDFlZGQxY2EyM2E4YmU5YmY0ZDYxODdmNWQxMWY2MWE4ZmYyYzJlIGxlZ2FjeS10cnVuaworMjg1ODggZTU2NmFmOTQ2NDhiYTY2MzIwOTQ1MjFjOGM0MDdhYmYwNDNkZTRlNyBsZWdhY3ktdHJ1bmsKKzI4NTg5IDY0NWRjMzNjZDQ4MTI0MGYwODU5N2I1ZDM2ZmRkZWNmN2FlNjFhMjcgbGVnYWN5LXRydW5rCisyODU5MCBiZjkwZmI3MWFhNzZkOTNhMzYxMzEyNmNkNWM5MzkyY2EzNTk5MGRlIGxlZ2FjeS10cnVuaworMjg1OTEgYzFjYTAzZWU1MTZlMTNkYzZiZGIwODhjZWI2ZjdiZTExM2IzYWQ2YyBsZWdhY3ktdHJ1bmsKKzI4NTkyIDBmMGQzNDc0ZjNmNjg5ZGZlMjEzN2Q1M2Y4YWFjNDFjNjllMmYyNjQgbGVnYWN5LXRydW5rCisyODU5MyAxM2E1ZjMyNjI4MzIxMjU3YmVjN2QwM2JjMDY4ZDMxNmViZjc4MmY5IGxlZ2FjeS10cnVuaworMjg1OTQgZTE2MTcxNTZmOTNmZGM5YTczOGJmNGIyZjY5YmEwMjA2M2FlNjVkMiBsZWdhY3ktdHJ1bmsKKzI4NTk1IGMyMTNlOWI4MDAyNjI5OTc5ZTU5MTkxZmIwN2FiM2ExZGRmYWFiZGUgbGVnYWN5LXRydW5rCisyODU5NiBhMzdjZmMxYzk3MTZjN2E2NTgzNGY5M2FhMzk2MGJkYWZhNTFjZmIxIHJlbGVhc2UyMi1tYWludAorMjg1OTcgMmFjMTBkOTMyZDdmNTU5MTcyYjM2Yjk4OWY0NGNjZGY4YmI1MmQwZSBsZWdhY3ktdHJ1bmsKKzI4NTk4IDYxMDQ4YWRhMDViY2M5NTQ5MzI3ZDhhNWI2MTI2M2FhN2U0OGVkM2QgcmVsZWFzZTIyLW1haW50CisyODU5OSBiNmJmYWE2Y2E4NGQwNTRhODE4OWRjYjVmNzAwZDQ5NzQyNDFkMjNhIGxlZ2FjeS10cnVuaworMjg2MDAgYjhiOTJiM2Y1YjE3YzZlY2Y5Yjc5MGU5OWJjMTc3YTE1Y2UxNWYzMyBsZWdhY3ktdHJ1bmsKKzI4NjAxIDk4ZDhiYjJlZTRjMzM4NDgxY2ExYTdhMWFlMmIxYmQ2MmRiMjE3NWYgbGVnYWN5LXRydW5rCisyODYwMiA0MGMzNTE5MTM5ZGU4YjZjMDIwM2NlOTI2YjQyMWI2NTIxY2QwYzM5IGxlZ2FjeS10cnVuaworMjg2MDMgOWVlMmZiMjdkMzNhNzIxODRjODdiMjMyZGMxZTliMjBiYjRkM2RmMSByZWxlYXNlMjItbWFpbnQKKzI4NjA0IDEzZDA2ZTVjOGE1YzNlZjRiOTU1MGRlNjI1ZjQ3OGQ3NDg1MWUyODUgbGVnYWN5LXRydW5rCisyODYwNSAxYzAxOTdmNDljNTljMDM3NzY1ZDU4YTIyMTMxMjAxNjgzNDg0OWQ4IGxlZ2FjeS10cnVuaworMjg2MDYgNWExN2YwOTc4MzI2MDA5YzA2YTEwNmJmZjk2ODVlZjk5N2RhMGNkMiBsZWdhY3ktdHJ1bmsKKzI4NjA3IGY0ZTlmMDlkZjRmMjM5ODNjNjM4YjAxODY1MjJhN2JjYjM5MTkwZGYgbGVnYWN5LXRydW5rCisyODYwOCAyOWVmYzJkODNhZGU2MTlhMGEzNmM2YTI3NjJhMjQ1MTk2N2UwYzU3IGxlZ2FjeS10cnVuaworMjg2MDkgNGY0MDAzMDQzYjUwMTMxZWQ3ZGFiY2QwMDBkMWE4OTUzZmM3Mjc5ZSBsZWdhY3ktdHJ1bmsKKzI4NjEwIDAzODcxMWFlMTNlMGUxODM0OGE1MzEwMThiNDA4YzRhODMxNzBiNWUgbGVnYWN5LXRydW5rCisyODYxMSBiY2RiNjBkZjRlM2VmYjMzMDhiOWU4NTE1YjllNDEwNWQ2Y2U2YjllIGxlZ2FjeS10cnVuaworMjg2MTIgM2VmYmQxOTQzYjhjMWU4ODhjZGNjZjZlM2QzYTJlNjVlNzllMGYwZCBsZWdhY3ktdHJ1bmsKKzI4NjEzIDExNTA1NjBjMTAwMzEwOGYyNjYxZGNjNjkxNDYyYTRmMjljMDYyYWIgcmVsZWFzZTIyLW1haW50CisyODYxNCAyNGZlMmFjNWFkY2MxOWM5ODkyNDgwOWQ5NjA4YzljYTBjODAxNmUzIGxlZ2FjeS10cnVuaworMjg2MTUgOGE2ZjU0Yjc2MzQzNDA3NmM5MmU2ZmY0NWU0NTZjNzE3MDk4MGNkYSBsZWdhY3ktdHJ1bmsKKzI4NjE2IDRiOTg0NDE4OGQwNGU3MGQyN2UwZjU2OTUwMmE5OGNjNzRjNTM4NjMgbGVnYWN5LXRydW5rCisyODYxNyAxODE2MGNiNjM2NTA5Y2ZlNGRjZjYyNTY5Y2M5YTIxNmM5Y2FkZDdhIGxlZ2FjeS10cnVuaworMjg2MTggYTBiZTE4MjYzMWNjM2JhYmQyYjc0NDRjYWQ2ZjUyZDg2YzI4M2EyYSBsZWdhY3ktdHJ1bmsKKzI4NjE5IDQ2YWMzNjUzOTZhNDk3ODRjYjIwMWQ5ZDE1MmZjODBlMGM4ZWE3ODMgbGVnYWN5LXRydW5rCisyODYyMCAyYmYwOTg5MjRiYTQwOTUyZDM0NmJkZWZmMDE5MDI0NmY2YjQ4OGRjIGxlZ2FjeS10cnVuaworMjg2MjEgZjE4ODViOTlhMzljZGFjNjdjNmFmZTBmMDhiNWZhM2ZhMTc2ZGM2MSBsZWdhY3ktdHJ1bmsKKzI4NjIyIGIzYzQ1OGUzYzI4MGY4ZmQ2MWQyNDlhMmUyMDRkMThiNzczZTQ4YjggbGVnYWN5LXRydW5rCisyODYyMyA0NmU3MmE3MDg4NTc4NDRiODJmYTA1YTAxOGJjNDQ3MWY5MDIwYWE2IGxlZ2FjeS10cnVuaworMjg2MjQgOTA5NjBmN2Y0ZjMxNDRkZTFhN2I3MDA4YmZlODU2YmZhYjcwZmVjNiBsZWdhY3ktdHJ1bmsKKzI4NjI1IDQ1ZGYyZGUzNGNkMzliZjdjYmUyNjRlNzA5MmExYzA0NjM1MjhlMGYgbGVnYWN5LXRydW5rCisyODYyNiA1ZDIwN2U1N2QwNDAxNDBjZTNiNTJhNzZlZTI2MDFkNzIzZGY5ZDk1IGxlZ2FjeS10cnVuaworMjg2MjcgNTUwOGUwNGQ0OTdjNjg1MTZmYWRlZWI5MDgzNjRjZjYxZWI1MDU4ZSBsZWdhY3ktdHJ1bmsKKzI4NjI4IDk2ZGQ5OTI3ZTAxMWQ4YjE1YTVhNDNjZWU5OTI3ODFlNDczYTZmOTEgbGVnYWN5LXRydW5rCisyODYyOSA0YjMyYmU2NjE3Nzg1ZDM1MDA1NGI1ZDRlZjk4ZTRjZGE4OGE1M2Y0IGxlZ2FjeS10cnVuaworMjg2MzAgNDcwODFhNzUzZWNjNDgyNjRjNmQ5MjhiMTdhNzhlMWRjMzc3YjJlNCBsZWdhY3ktdHJ1bmsKKzI4NjMxIDY0ZDEwNWRkMDgyM2JhOWI4ODRhMGRiMmQwZDg5YjUzMmEzMThhN2EgcmVsZWFzZTIyLW1haW50CisyODYzMiA4ZGQ2ZjU1ZmQ0YjdlN2VkOWM1YTdmYTA4NjhlODQ4MzczMjJiMjc0IGxlZ2FjeS10cnVuaworMjg2MzMgYzE4NGU0MTY4ZDE0YzhlOTc5Y2Y1ODVhM2ZiMTkwZTA2ZjZjODM0NyBsZWdhY3ktdHJ1bmsKKzI4NjM0IGNiYjZjYzc5ZDMzNjUwNzU0NTAwOWM2YjdiZjc3YzVlNWYyZmY1MDMgbGVnYWN5LXRydW5rCisyODYzNSAyN2Y4MzU0ZjQxYjZlNzI0NjhlZjkyNzhhMmMxMjM5ZmYyNzc0ODVmIGxlZ2FjeS10cnVuaworMjg2MzYgYWZkMDAzMGU0YzM4YzYwZmQ5YTY2NThkYmRmMjYyNmM2ZGZkZjRmMiBsZWdhY3ktdHJ1bmsKKzI4NjM3IGFiZDYyNTQxN2E1MzU5YTA1MzkwYjhjMmZlNTBkYzAzYjI4NzQ2OWYgbGVnYWN5LXRydW5rCisyODYzOSAyZTdmZTU1YzBlMTFhY2U3Njc1NWM1OWQ1ZmQ3MmE5YmM1NjYwNGE3IGxlZ2FjeS10cnVuaworMjg2NDAgMmQxM2Y5ZDk4MTM1NzdkZjVlN2Y4NmRhOTA1MTFjODA4MGVjNGE0MyBsZWdhY3ktdHJ1bmsKKzI4NjQxIGJmNzVmM2E0NTkyN2ZmYjMwYTM1MzBiNDBmOThhZWQ1YTk2MDg1NWUgbGVnYWN5LXRydW5rCisyODY0MiAxZTQ2ZGExZTY1MjI2ZDA3ZWE1MTAzZjI0YmVmMTM0YTg3MjE3ZWYyIGxlZ2FjeS10cnVuaworMjg2NDMgMjQ5MGNmN2U2OGE0NGFlMWVhNTQ3ZWMyYmQxZGY5MTVmMzE0NTE2MCBsZWdhY3ktdHJ1bmsKKzI4NjQ0IDlmM2VhMzdkYzQzY2I3ODU4ZjQwN2U0ODY3OTgyODcyYjgwZDYzOGIgbGVnYWN5LXRydW5rCisyODY0NSA3Njc2OGFkYjZmMjMyOGIyZTFlMTE4MDhjNjg4MzBmNjkzNTc1YmZhIGxlZ2FjeS10cnVuaworMjg2NDYgY2JjZDczZjU4N2FkN2E0OTg4MGJhZDkwNzkzNWQ3N2Q3YTNmNGI2OSByZWxlYXNlMjItbWFpbnQKKzI4NjQ3IDEyOTQ5ZWNlZDU1ZmY3ZDljNDRmOWNhZmUzN2RlYWE1NDZiYmEyNDQgbGVnYWN5LXRydW5rCisyODY0OCA3NWNkNGMyMDNkOGYzYmRmMzQ3NWJmNDQwNDNiNmVlYzFkZWY4NzFlIGxlZ2FjeS10cnVuaworMjg2NDkgNTMzMGMwNjIwODEwZTVkYWFhOGE3YmMzOGVmN2JmNWMxN2MyMGZjMyBsZWdhY3ktdHJ1bmsKKzI4NjUwIDAyMjBiMDA3NWEzNWQ0OTg1YTgyYzE1Y2JiYTk2MmU4MGY4NzdhNDkgbGVnYWN5LXRydW5rCisyODY1MSA5NTFmNWYyOGYyZmViMzNhMzk0YmZhMTE2N2EwMzFjZjk2OWYyYjY0IGxlZ2FjeS10cnVuaworMjg2NTIgY2RhZDZiMDkyMWQ1NzgyNTMxMTU5OTBjYWJiY2I4YzQyNzE3YzgxNSBsZWdhY3ktdHJ1bmsKKzI4NjUzIDRmZDBiNzZjNzQ5ZWViNjFjN2I3NWQ5MzQ2ODZiMDk0MWJlNjVlN2UgbGVnYWN5LXRydW5rCisyODY1NCA4YTdhMmYxZjg4ZjA2NTM0YzZiZDM5MDJjODFiNzkzN2M1ZDQzYWI2IGxlZ2FjeS10cnVuaworMjg2NTUgYWMwZTFlOTMxZjM5MDBjOWVkNjBhNjIxYjY2NTRmMTk5YmE5MTdjOCBsZWdhY3ktdHJ1bmsKKzI4NjU2IDQwZTViMmRhOWYyODQzY2IyYmMzOGY1ODcyYWFjNTU0ZjZmNDVlMGEgbGVnYWN5LXRydW5rCisyODY1NyA1ZjVmMWM4MjU3ODQ0MDAwYzVmZmM0MWM3MTI4MGZmNjJlOGRiZGNlIHJlbGVhc2UyMi1tYWludAorMjg2NTggMmIxNzAxY2Q0NTY2MjE0ZjY2YTRkYzQzNmVmYmE2NWMzYzJlZDJlNCBsZWdhY3ktdHJ1bmsKKzI4NjU5IGU3MDlhM2M4YmZlY2M1ZGZkY2JmMTgwMjMxY2JiZjhjMTA2MWIyZWMgbGVnYWN5LXRydW5rCisyODY2MCAyM2EyYmFkOGQ4MmNlNjQxN2ViZmYwYmMzODYwOWJjZGNjYzgxMmFhIERTX1JQQ19CUkFOQ0gKKzI4NjYxIGZkOGFhN2FlZDRkNTFlNmNmNzg2ZWFiMzlhMjI1ZWNhMmYxNzczZDMgbGVnYWN5LXRydW5rCisyODY2MyAxOTkwNDc1MGMzNjU3Yzc1NzM2MzMwNjBmOGYzZTczZmIyNTc5MTQxIGxlZ2FjeS10cnVuaworMjg2NjQgODA5YzE0ZjExMDFhOTViOTA2M2JhNzM2MTE5OGRhNDEyNzRjNDBlMCBsZWdhY3ktdHJ1bmsKKzI4NjY1IDFhNzg5NWY5N2IzMGQxMzg3M2FkZTk3NzI5NTA1MDU1N2MzYTA2NzIgbGVnYWN5LXRydW5rCisyODY2NiA4Nzc1ZGVlNjBkODlhNTU5YWFjOWI3OTA5NTk3ZmQyMGViOWU3NTVmIGxlZ2FjeS10cnVuaworMjg2NjcgMjk3MGU1ZTc2MDFmZjI2YmU0Mjc5NjVkNmE2MGExNGRiODM2MjU3NyByZWxlYXNlMjItbWFpbnQKKzI4NjY4IDhmZDRlMjJlNzhmMDFjNWM4NzI5NDRiYzljMWY1ZWU2OTQ0MmIyNTUgbGVnYWN5LXRydW5rCisyODY2OSBhYWMxZWU5NjZmNTZhNGQ2MGEyOTI0OTlhMWU2YzY4ZWE3MzNhODEwIGxlZ2FjeS10cnVuaworMjg2NzAgOGQ3NTFiNjJlY2M0MjViNGUwN2ZmNDM0NTc0MDA5NDM1ZmZhYTVkZSBsZWdhY3ktdHJ1bmsKKzI4NjcxIDk2YjJmZmI3N2IwMTc0MzdlNTBkNDkxM2FkMWYzM2FmNmY0M2Q1MjMgbGVnYWN5LXRydW5rCisyODY3MiAyOTMwZmFmMTI1Y2E5ZjNmZDQ1YzE1M2IzNmRkYTcyN2FlZGI1OGQ2IGxlZ2FjeS10cnVuaworMjg2NzMgNzAwOGU1MzU3OWViZDc1OGZmNzhmOTdlYWQ0N2IyZjVkNWM2OGZlNCBsZWdhY3ktdHJ1bmsKKzI4Njc0IGEwZjY0MTljYjEzZmU2YWNkYzVjZWQwYTEwMjc1ZTE0M2U1YTlmODYgbGVnYWN5LXRydW5rCisyODY3NSA3NzhmNzIyMWY5NTUxMTU1MjEyNDcyM2VkNGM4YmJiNThiNTU3M2VkIGxlZ2FjeS10cnVuaworMjg2NzYgY2MzNWQ3Yjg3ODUyZjQxODhhYjljNmEwOTAxMmE4MDQ3ZGFmNmI0NSBsZWdhY3ktdHJ1bmsKKzI4Njc3IGM4MDQ0MTIzZDExMGI2ZGFhYTE5N2IxOWI1MWMzNzJjMjM0MGE5YzYgbGVnYWN5LXRydW5rCisyODY3OCAwYmY5NjhlZTE1Yzc2NTRlZjc3NzUzZmQ2ZDEzOTFhM2ExYTBlMmYzIGxlZ2FjeS10cnVuaworMjg2NzkgMWJiZWRmNTQ4MWM4YmI5ZDhjODA0Y2Y0YWIzZmY3NTA4M2VhM2UzNCBsZWdhY3ktdHJ1bmsKKzI4NjgwIGUxYmE0MWRjOTc4NDI4MTY4MmNlMjQxNjdmMzMzODFlNDc4YmJkZTEgbGVnYWN5LXRydW5rCisyODY4MSBkYmYzY2MxZjQ3MzNjNWVhOWJjNDVlNDA3ZmUwNDU3ZDU0MjdjMzRmIGxlZ2FjeS10cnVuaworMjg2ODMgMTM4NWQxNzlhMTdhZGE0MjExNDFlZDhlMGU3YWJmMDBlNjQ1Y2ExNyBsZWdhY3ktdHJ1bmsKKzI4Njg0IGIxMjhlOGExMWUyOTVhZTIzZTk5ODY2NWExYzNmYjhkYzBmNTU5OWQgbGVnYWN5LXRydW5rCisyODY4NSA0ODBjYWY3YzBhMTRlMDQ1ZWMyOGMwMWVmYzlkNzdmMzY4NGE4NTFlIGxlZ2FjeS10cnVuaworMjg2ODYgZmMyYjczODAyZjdiOWQ5NzFkODVkNDZlNmZkYmQ1YzE3NjE1ZDNmMiBsZWdhY3ktdHJ1bmsKKzI4Njg3IDFkZDdlNTFmZTBiZTdjYWI2YzliOGE0NjBiOTE2ZTcwM2IwYTgwZmIgbGVnYWN5LXRydW5rCisyODY4OCA0NjkwY2E3NTViZWM2MzlmYmJiY2I2ZjFiZTI0M2RiM2RmM2MwYzRiIGFzdC1icmFuY2gKKzI4Njg5IDZiMGU4NDZiOGQzN2U1NDE1N2FlNzZmZWViOWIxMGE0MjZlODYyMzcgbGVnYWN5LXRydW5rCisyODY5MCA5ZmNiNzdiMDRmOTdmYjMwOTcwYWNlNTI3ZTg0NDI3NTFiZTQ4ZmVkIHJlbGVhc2UyMi1tYWludAorMjg2OTEgNmViOGRiNTNmN2ZjYWM0ODBhMDQxNTMwNWUxOWQxNzQxZTY0OTM1MSBhc3QtYnJhbmNoCisyODY5MiBlMjA1YzdkZTVhNWE0NTRhM2MzNzExMmQzOTc1Yjk2ZmU5MDgxMzFjIERTX1JQQ19CUkFOQ0gKKzI4Njk0IDI5NTU5ZTIxY2Q1MzA0OTNmYjQ1Y2RhZGZhOTA1YWIyNzVlMTc3MjcgbGVnYWN5LXRydW5rCisyODY5NSAxYmQwODliMWRiN2ZkYWFjOTViNjBhZDc2ZDM2OTY2YTgyMDhjMTdhIGxlZ2FjeS10cnVuaworMjg2OTYgM2RiMDNjMGQxNTMxMGFhNGMxNzk3MWMzMjY4OTY0N2IzNjg4YTNlOSBsZWdhY3ktdHJ1bmsKKzI4Njk3IGU1N2U0YmI1MzJiYWI0ODkwMjE2ZjVmOTZmNDU5YWExOWI4OWYwODkgbGVnYWN5LXRydW5rCisyODY5OCAwNGE1NDFlNjg5NjQ0MmE2MTY2NmZmOGVjZTg0N2FmZDQ4ZWM0YzAzIGxlZ2FjeS10cnVuaworMjg2OTkgYWQ2NTI4NjkxYzMwOWFhODc5MmVhZGI2NGVmMGE2ZTIxNzU5Zjc0YyBsZWdhY3ktdHJ1bmsKKzI4NzAwIDBlYzQ3NTNjY2IwZmI2MmUxNTQzNGI4NDYwN2ViZWY4NGE4ZWFlMDUgbGVnYWN5LXRydW5rCisyODcwMSA1MjcyYjc2M2MyOWM5YmE3ZjRmYzJiMDA5YmI2ZmE1OTcwYTc3NDMyIGxlZ2FjeS10cnVuaworMjg3MDIgNjE1OGZjYTViY2JmMjJhOWY2MTgxNWEyYzAzMmY2N2RjYTY0OThlZSBsZWdhY3ktdHJ1bmsKKzI4NzAzIDRiNjE4NTEyODgxNGMxNDNjYzkxOGIwOGIxOThlZjZhYTlkZDZjOWIgbGVnYWN5LXRydW5rCisyODcwNCBmZGE0OGRkOTRiMDcwNDkzMWU1MmFlMmRkN2E4NmMzYWEyNjRjM2VkIGxlZ2FjeS10cnVuaworMjg3MDUgNzM0MjljYTc0OGNlYmJhZTJlNDlkOWZlMDhmOWUyOTRkYWRhY2RlZSBsZWdhY3ktdHJ1bmsKKzI4NzA2IGU5YTYzZTQ4MzEwOWNlOGM5YjU5NTBlY2E0Y2FlMTZkMjE2ZjY0OWUgbGVnYWN5LXRydW5rCisyODcwNyA4NWQ4MWUwOWUyZjdkNzk1NGEyYTQ2ODY1ZDY1NGMxNDU0ZWQ1MGI0IGxlZ2FjeS10cnVuaworMjg3MDggNmVjMTU0Njg0MGFlNjYyZmY4NWFmOGEzNjk5ZDEwMGQ5OWNjNjFhNiBsZWdhY3ktdHJ1bmsKKzI4NzA5IGEwM2Y3Nzg2OWIyZjU0OTYwMmYxZGFmNWYyOTk3OGVmMjMwYmIxOWQgbGVnYWN5LXRydW5rCisyODcxMSA5NzNmNWZmMjA3Y2M1OGE1Yjk1MmQ4MTk3OTNjNTdkMzIwNjFkOTM5IGxlZ2FjeS10cnVuaworMjg3MTIgNWVhODJjYjU1NjgyM2Q1YmM4YTEwMTc1YTZiNjA3NDlhZTgyNmI4YSBsZWdhY3ktdHJ1bmsKKzI4NzEzIDg1NGRkNzY5NmViMmJlYWNhMjdjZjU3NDgzYWZiZTg4YzQ3NTkyMjQgbGVnYWN5LXRydW5rCisyODcxNCA1N2QzYjk2NjUxYjZlYzg2MzUwODQ3OWQ3OThiYzc5NjhmZTgwY2M2IGxlZ2FjeS10cnVuaworMjg3MTUgOGNlNGJhODUzOTY5MTlkMWYyNGYyOThlZDUzNGEwMGIxYzVmOTFjZiBsZWdhY3ktdHJ1bmsKKzI4NzE2IGM2ZGU2OGNjOGUyYmJjZTk3MGMzZDM3ZWQ0OTQ0OThkYzI0ZGI0MzggcHktY3ZzLXZlbmRvci1icmFuY2gKKzI4NzE3IDkzZTI1NDU3N2NmYTUzMWI5ODhkOGZhMjgzYmE3OWEyMGIwNDBkZjcgcHktY3ZzLXZlbmRvci1icmFuY2gKKzI4NzE5IDk4ZTEyYWE4YzU0NzVmNTdiNDMyNzkyMWQwZDRhOTY1ZTY5NzIwZWQgbGVnYWN5LXRydW5rCisyODcyMCBmYjAwZmQ5MzE4OGE3NjU5ZjgzZGFmY2VkZjhlMWViNzJkODMxMWE4IHJlbGVhc2UyMi1tYWludAorMjg3MjEgYzc3MjY0MGQ1MzVlMDQ0MThhNzRmZWQyMzkyNGJmNDFlMjQ4MTQ0NiByZWxlYXNlMjEtbWFpbnQKKzI4NzIyIDZjMjFlOTVhNDg4MTc3NTZkNmFkMGUxNzE5YTlkOWQwOWJlZWUwNjEgbGVnYWN5LXRydW5rCisyODcyMyA5Yjg5MjRiZDViNWNjZGRkMTRhNjZjZTEzNzBkY2I0YmI0MmQ1OTEyIGxlZ2FjeS10cnVuaworMjg3MjQgZjNkODhlZTA1OTI4ZDUwNjFjMGRmNDE0N2FmNDc2ZTYyMDI4ODA0NyBsZWdhY3ktdHJ1bmsKKzI4NzI1IDQ2OTJjNDg3ZWU5MTFlYWM1OGRjYWM1ZWI1MGI2MjM3OTM1NTJlZGQgbGVnYWN5LXRydW5rCisyODcyNiAxYmJmOGU1NWE4YmI5YjBlZTQ0NWM5NDljYTZhNzA4NTZlY2EwNTBmIGxlZ2FjeS10cnVuaworMjg3MjcgYWVjMGY5NDRmNmEwMTc2MWYzMDNhNDQwMzFkYjc0Y2U1NWNlZDU3YiBsZWdhY3ktdHJ1bmsKKzI4NzI4IDYwOWYzZDMxZDFjMjRhNzMwODhmNWMzNWY0N2VjMGY3ZmJjNGJlZjkgbGVnYWN5LXRydW5rCisyODcyOSBjZDcwYzg4MDNlYjVjMGQwYTRhYmFiNGQyYmZmY2FmYTViYWVhMTFkIGxlZ2FjeS10cnVuaworMjg3MzAgYzk3YTRjZTNjNThlZGFiZTY4NzE4NzhkNzA5ZWMwNjBhNWRmOTRmOSBsZWdhY3ktdHJ1bmsKKzI4NzMxIDRkNmY4MjA0MjM0YThkNjljZWQyYTM1YzMwZWJjOWNmNDEzZmVmYWQgbGVnYWN5LXRydW5rCisyODczMiBiNjRmYzZhMTA0OWU5YjcxNTdmOWZjNzFkMzk2NDBhNGI2OTJiMTIxIGxlZ2FjeS10cnVuaworMjg3MzMgYzQ1NTY0NzY4ZjUyNmVkZjlhNmJlMTkyOGNkZGRmOWI4OGMzZjIyMCBsZWdhY3ktdHJ1bmsKKzI4NzM0IDA1NWY3ZmFlODE1MDkxMzRmZTM5ZWMxYWM2YjQxYWYwZmI3NjI4YzYgbGVnYWN5LXRydW5rCisyODczNSA3NTJmNjg5NWNjNjMwYThmZjRkYjdhZmIwODM4N2NjOTU4ZDMxYTM4IGxlZ2FjeS10cnVuaworMjg3MzYgZjVlYzA4ZDQ1ODU5Mjg3NGM0OWRlYzI4MzFiNzVjNjM5MzFjOWE4NyBsZWdhY3ktdHJ1bmsKKzI4NzM3IGRhNGU1ZTQ2YWUzZmI5ZWQ2OTgxYmIwOGFiZTVkMWMzYTY2MWUzMWYgbGVnYWN5LXRydW5rCisyODczOCA2Nzc3ODExOTYxNTI2MDc3ZmE4ZGJlNzk5NDI1N2EyYzJmYzA3MDk2IGxlZ2FjeS10cnVuaworMjg3MzkgNjFjMjUwNmVjMmU4ZWE0ZDBjZjlkNTM1NTRhMjRjMmZjNGFhODNmNSBsZWdhY3ktdHJ1bmsKKzI4NzQwIGRiZjkyYzU1ZmJiOGI3ODkyMmM2NDFiNmUzZTVlMjEwZDU0OTgwNDggbGVnYWN5LXRydW5rCisyODc0MSA0MDE0OWI1MDAyMGNiYjY4NmVjNzc4NDU1OGY3M2ZmNTJmNjhjMGU4IGxlZ2FjeS10cnVuaworMjg3NDIgMWIwZWE0NzI3OWM2OGFkOGY0MGQ0MGZhMjM1MTM1YTVlMmIxYTE4NyBsZWdhY3ktdHJ1bmsKKzI4NzQzIDdiZTI2NTQ0YmU0ZTM1ZTRmZTViYzdlN2Q1NDFkYjYwM2U2ZjQ2N2EgbGVnYWN5LXRydW5rCisyODc0NCBjNjcwOTQ1Yzg2OTUyMjg4OWMyMDU4OThjMzYwYmYwMTZlYjhiNTdkIGxlZ2FjeS10cnVuaworMjg3NDUgMjJkMTk4OTEwYjIwOGE2MDY3NDI2NmNjMjEyNjc1YWIxMDA2NDQ0NyBsZWdhY3ktdHJ1bmsKKzI4NzQ2IDFjN2VlMjNkYzQ5ZTE2OThhZTc5NTA1Yzc2MGM1ZDM5MmM5YmUyYjYgbGVnYWN5LXRydW5rCisyODc0NyBlZmU2MzkxNTFiZmVjNWJlMjFhZjUyMTA2MjkxMDM5Mzk1MTAxY2MyIGxlZ2FjeS10cnVuaworMjg3NDggZWIyOGRjZGRkMzRkYmJjMjZlN2UyMGY5NjUxYmJhYTA0NTVjY2Y1MSBsZWdhY3ktdHJ1bmsKKzI4NzQ5IGRmMDNmY2M2NjEwNDM2MTgzODczNTM1MzAxNGMzMTE2YmIzMmRjN2MgbGVnYWN5LXRydW5rCisyODc1MCA3MTc3OWI4MzllMDk4NzRkOWJhNDkzOTc3NWEwMDMxNWFmNWViMmE3IGxlZ2FjeS10cnVuaworMjg3NTEgMDM5OWM4YWVhN2IyODYxZDE3ZDgyZjFiOTljZjc5YjM3OTY5MzE5MSBsZWdhY3ktdHJ1bmsKKzI4NzUyIGJkNjUxMGM1Y2FiYzQ3ZDk1ZjVmNmZmMDk0M2NjYjcxNTMwZjJiOTQgbGVnYWN5LXRydW5rCisyODc1MyA0NjhjM2JlNmMzZTJjZDEyNDg5YWViZDEyNjc3YTUzMzAwMDU5NzUyIGxlZ2FjeS10cnVuaworMjg3NTQgYWJiNzY4YjQxN2ExMzMwZDZmNDNlZGQ2ODQ2N2I4ZjVjYmQ5NTQzMCBsZWdhY3ktdHJ1bmsKKzI4NzU1IDg2ZmY5NWIxYzYzNmQ1ZTE1OWUwYjQ1OGY5ZmE2YzMwMGI2YWUxYjEgbGVnYWN5LXRydW5rCisyODc1NiBlYjdiN2I3MTllZTU2NDlkZTkzNjQ0ZTUyMmMzNWQ4N2QzNzFmMzgzIGxlZ2FjeS10cnVuaworMjg3NTcgYmQzYjkyZGM5NDBhNjQ5ZWM3ZWYwZDJkMWExNjZiNzY1ODRjZjNjYiBsZWdhY3ktdHJ1bmsKKzI4NzU4IDhlZGExNjZiMTA0ZWNhOTA0ZGEyZDg2MTEzOWE3OWU3NjAxOGFjN2UgbGVnYWN5LXRydW5rCisyODc1OSA5MmEzZDg5N2U4MTkzZWQyMzhkMzRmMTY2NzAwMjE4YjY0ZjUzNGUwIGxlZ2FjeS10cnVuaworMjg3NjAgNTNlMmM0NDhiMTY5YTMyNzUyNDAxYWE2ZDgxYjEzM2U0YWIzYzY4ZSBsZWdhY3ktdHJ1bmsKKzI4NzYxIGI5NjhmMDM4MjM1ZWExYTU1MTM0ZTgxNzdjY2NhMWU5NDNhNmJhN2EgbGVnYWN5LXRydW5rCisyODc2MiBkZjBmZjViMTdlMWFhMTVkZGI5ZDgwNzZhMDMwNWRkMzEyZDJiZGUzIGxlZ2FjeS10cnVuaworMjg3NjMgZTllNzRjYzU1NDBhZDhiYTBmMWIzZGUyOGFjMjg1OWY4YWJmMTgwMyBsZWdhY3ktdHJ1bmsKKzI4NzY0IGJkYzNkZWYzZDA4NWRkYWQxZmI4YTllM2I5ODJjYzVlODhlZTBkZjIgbGVnYWN5LXRydW5rCisyODc2NSA4MjNmMDJhMjIyMTBkOGE2YTRhZGE3NDI3MDQwZWVmNzNkZTEyY2NlIGxlZ2FjeS10cnVuaworMjg3NjYgMTRhZDU2MGY0YTk3ZjgxYjY5ZjVmZDZhOWQ2Njc1Y2JhMTliYmUwMSBsZWdhY3ktdHJ1bmsKKzI4NzY3IGYxNzU4MjcyNzY0YzcwYzUyOTMwNTAwMjBkMGJjMDkxYzRiOGQ5MzkgbGVnYWN5LXRydW5rCisyODc2OCA3ZGU4OGNmMDc4M2UyY2MzYzIyZDU2YzdkYThlYmFiMWRiMTFkZjZkIGxlZ2FjeS10cnVuaworMjg3NzAgOWM3YTA2YWM4YjI3NzJlOTQxY2Q0MmYwZjA1MDNiZDQzOWFhODA3ZCBsZWdhY3ktdHJ1bmsKKzI4NzcxIDI0ZTc4OWI2Y2NiNjQxNmQwNDNmNjRjOWFmMmUyNDk4MmM1NTU3ODMgbGVnYWN5LXRydW5rCisyODc3MiA2YjYyYWI4NDg1ZWI4MTk2NDdjYzQ3MTZiNWI1NDE5ZTc2ZmU2NGViIGxlZ2FjeS10cnVuaworMjg3NzMgMDczOTA0NmEwYzNhNTE0ODM0ZGZiMmFiOTI3YjUzNGI1OTIyNDNlMCBsZWdhY3ktdHJ1bmsKKzI4Nzc0IDMzN2ZjYzI0OTg1YjM0NGFiNmI4ODM4YzM3ZGU1ODhkYWU0MzZkMTkgbGVnYWN5LXRydW5rCisyODc3NSBhM2IyOTU5MThjNWZkNWE1M2NmMTBhYzYyNGQ2YjIwYWE3YmQyMTc5IGxlZ2FjeS10cnVuaworMjg3NzYgMzNiMjQ5YWY0MzY0ZGM4NGI4YWUyMWNmNTQ0NGU2ZTdmZTRhZGUzMCBsZWdhY3ktdHJ1bmsKKzI4Nzc3IDljOTU0ZTY0ZDE3YTk0YTBiMTQzMGVkYWE1NjhjYjBkOWJhNTdkYjYgbGVnYWN5LXRydW5rCisyODc3OCBhMzAyMzA4ODE5ZjA1ZGE4NzkxNzczNTlmY2RmZmZkZDdlODE3MTkzIGxlZ2FjeS10cnVuaworMjg3NzkgMmY0NGE5MGZmZjA3N2VlYWZiN2MyYzk2MjlhMmY0NjhmODAzNjkxYSBsZWdhY3ktdHJ1bmsKKzI4NzgwIDJhZTJhMjAzZjQ3YWMyYTZlYTU5ZjUyMGJhOTg3ODhkNDdjMTg5OGYgbGVnYWN5LXRydW5rCisyODc4MSA5ZjYxNzEwNjI4YzRmMjk1YmI1MTZkNTMzYzFkZWQ0OTBhMjRhOWFlIGxlZ2FjeS10cnVuaworMjg3ODIgMmMzYjUzOTdjM2Y5ZWMxMTY4OTZhYjhmMGJlMmVlZjQ3ZWQ3MDUxMiBsZWdhY3ktdHJ1bmsKKzI4NzgzIGJkMjRjMjU5OGE0MjlkNzZmMTUxMGI4NzkwZWNjYzA3N2ZiNzliZDggcmVsZWFzZTIyLW1haW50CisyODc4NCBiNTI5YWMyZjlhYjY0YjkwYmQwMTUzYWRiOTMyODRlOTFiN2U1ZjljIGxlZ2FjeS10cnVuaworMjg3ODUgNDlhM2ViZTlkZjE0NzY2NTUzYTExMWU3ZjQ1ZGEzMWEzZTk3NWFiZiByZWxlYXNlMjItbWFpbnQKKzI4Nzg2IDZlYTg5ODdjNzQ2ZmI1NWU3Njk0MGU5MWUwYzczNzUyZGUxNzYzZDUgcmVsZWFzZTIyLW1haW50CisyODc4NyAyN2ZmNjk0YzhjMDUwYjQ1ZjFhOTdjOTk0MDM3YmQ4NWNjZmE4MTc4IGxlZ2FjeS10cnVuaworMjg3ODggM2FlY2E2YzUwZjM4MDBjYWU4YjUyOWViZmY4YWNlZmU2YzMxODQwNyByZWxlYXNlMjItbWFpbnQKKzI4Nzg5IDgwMjU4M2Y4OGFlMGQ4MjU5MjlmZmQxYTVhMDFjYmZiM2YzOGNhMjkgbGVnYWN5LXRydW5rCisyODc5MCBjOGNiODk3OTA2MmNlN2Q2MTZiNDYxYTA1MWJkOTI1Y2NhYzk1M2ViIGxlZ2FjeS10cnVuaworMjg3OTEgMGViODgyMDY4YTdjZWUzNmJmMWM5MjliMjAzNjk2OTRmOWEwYTAzZiBsZWdhY3ktdHJ1bmsKKzI4NzkyIDg2NjIwYWZiMjIxMjRiZGIxNWQ4OGEwYTRiNjQxY2EwM2RiODJmOTUgbGVnYWN5LXRydW5rCisyODc5MyA2ZGVjNzRmNDQyNDIwOWRmM2E4OTU5YTkwZDgwMWZmMmRlOTUxNDRlIGxlZ2FjeS10cnVuaworMjg3OTQgMzdmYzZhODNhMTM0ZWE3MmQ5NWQ2MDRhNjQwZjQ4NDgxY2Q0MGMwOCByZWxlYXNlMjItbWFpbnQKKzI4Nzk1IDU4NmZhMjQ0NTk4MjQ3MzJiNDVjZGNhZDQ5ODQxYjQzYmU1ZjYxMWQgcmVsZWFzZTIyLW1haW50CisyODc5NiBjNDNjNDI4MzkwMTE4ZTE1NDM4Y2QyMGMxMjkzN2FjYTVjNGZmNzE3IHJlbGVhc2UyMi1tYWludAorMjg3OTcgZTdkYjFjOWExMGZjYjg3MTEyMjg2ZjhlYWE4NjAwMzFlMDE2OGI4ZCByZWxlYXNlMjItbWFpbnQKKzI4Nzk4IDAzM2FkY2JiNGNiMmE3NDRhOWIzNDI1NzRhYTVmYTVjZDY1ZTk1MzkgbGVnYWN5LXRydW5rCisyODc5OSAyYmE4MGE0MzEyZmY1MDIwN2I1MjNiNzc2NTU5ZmI3NTMzYmVlMzhlIHJlbGVhc2UyMi1tYWludAorMjg4MDAgODVhYjQ2NTBkZmFhNmE0MzEyZmM3YzU5Njg5YmZmYjIxYjgzNTVkOCByZWxlYXNlMjItbWFpbnQKKzI4ODAxIDk2ZTJlZmZlYzk0ZDFiZWE1OTBhNjM3MDQ0NzY5ZjdlNWQ5N2Y2MmEgcmVsZWFzZTIyLW1haW50CisyODgwMiA5ODhmNDI1ZDE3NjY1ZTdkY2NlNTAyMGZiOTQyMTU4MTdkNDM5OTgxIHJlbGVhc2UyMi1tYWludAorMjg4MDMgNDYxNzBlNTYwZTAxZTE4YzdkMmE4MzkzNGQwMTVmODc5MWQ2YTI0OSByZWxlYXNlMjItbWFpbnQKKzI4ODA0IDFmOWU5Nzk4MzAyYmZmYzBiMTcxYjhhYWI4NDAxMjg3N2FjYjFkY2EgcmVsZWFzZTIyLW1haW50CisyODgwNSAwZmJiNzZiNTA3NGI3ZTkxZmY0Y2NkYjJiNGQzNTBlYmZlMTUyYTlhIHJlbGVhc2UyMi1tYWludAorMjg4MDYgM2Y1MDQxMjk1NDQ4Yzg2YmU1YjliMDY3OGM4ODk4MzNmNTJlYjdhYiByZWxlYXNlMjItbWFpbnQKKzI4ODA3IDUyNTViNDVmZGRjMjU5YWI3OGIxZDgyZDlkZmZmOTIzZGFmMjczZmYgbGVnYWN5LXRydW5rCisyODgwOCBmM2MzZTczMmQxMmU2OTRiZTFjY2Y0NTAyYmUzYzM3NzdkZWNmYmUxIGxlZ2FjeS10cnVuaworMjg4MDkgNTI0MjBmZTY3Yzk2OTAwNDdkYTNjODA5NzkxMTgyNWVlMzQ1YWUzZiBsZWdhY3ktdHJ1bmsKKzI4ODEwIGM2MzEyMzYwYzg2MTcxZmRjYTllZDIyN2QwZWYwNzM2MTc3Zjg5NmMgcmVsZWFzZTIyLW1haW50CisyODgxMSAzN2Q4OGI0MmVkMTFhOGEwOTIzNzlkYzhjMzJmNmUyN2YxNmEyNjFmIHJlbGVhc2UyMi1tYWludAorMjg4MTIgNjUxMzQ2NmJiNzc0N2EwNzM0ZjlmZmM3YTI3NWNiMmI4NjY3ZWFhYiByZWxlYXNlMjItbWFpbnQKKzI4ODEzIDBiNjhkODEwYThiZWNmMmI4Nzc5OGM0MjAxNDQ2M2Q5M2NhZDczMmIgcmVsZWFzZTIyLW1haW50CisyODgxNCA5ZGQyMWMxZmFkOWE0MDA3MDMwMDkxMTRkMDk3OGQ5OGEyNjdkZjlkIHJlbGVhc2UyMi1tYWludAorMjg4MTUgNzg2ZTBlOWE1ZjdmOTI4MjdlMmQ1N2RjZTFlZWIwYzFhYTg1NzkwMCByZWxlYXNlMjItbWFpbnQKKzI4ODE2IDExNmIwODU4ZDRiMGJkYjAyNDRkZjRkYTMyYTExMzM4M2EyMWZkN2QgcmVsZWFzZTIyLW1haW50CisyODgxNyA2NTFhYmNmNjNmZTEzZDNlMjZmMDg4Mzg4NzBjYzE2MDgyMDg2MGEyIHJlbGVhc2UyMi1tYWludAorMjg4MTggMmJmZTQ0YzRkYWNiZjM3OGQ0Mjg1OTY2ZTAwMmZjNzhkZjJkOWEyMiByZWxlYXNlMjItbWFpbnQKKzI4ODE5IGNhYTNhMmZjNmEyMDg2NTlkYjE1ODIwMzgxNDE4NGE3ZWI2NTZhY2UgbGVnYWN5LXRydW5rCisyODgyMCBjMDY2ZGMzZWExNTIxNjk4ZTZjMGNiYmE0MzVkYWNjZTVkYTY5MzQ1IHJlbGVhc2UyMi1tYWludAorMjg4MjEgZTg0ZDMyNGFjNjZhNDg4NjVjNDhmYzIyZjg3OGI4OTc5ZTQxYmJiMSByZWxlYXNlMjItbWFpbnQKKzI4ODIyIDRkZjBlNjkxZjRkYWU4NmIwN2NlZWQyNTMzOGZmZjFmNThjYmRkMTMgbGVnYWN5LXRydW5rCisyODgyMyAyZGNiYmJiMDA3YzJhYjc3YzBkZWU5OWFkNTlmNmMwY2JhNDkxNGIxIHJlbGVhc2UyMi1tYWludAorMjg4MjQgNGQxMGMzMTc5ZWFkMGY1NjI4MTM2MDVlYzNiMzI4YTdmMzc2M2JkZiByZWxlYXNlMjItbWFpbnQKKzI4ODI1IGZiYzgyMGQ3MDFiY2E5OGNiYzQwNGZmZmFhNTA0OTNiODMzMTc1ZDggcmVsZWFzZTIyLW1haW50CisyODgyNiA1ZTRlOGMxYWI3MDQwMDEzMTJlMDc5MjFhMGEwZjQxMzdiMjYwMTM2IHJlbGVhc2UyMi1tYWludAorMjg4MjcgNGRmODA3YWRmZjg3M2Q1MGIxM2FhM2M5YmUzN2I0ODBiYTVjNjFjOSByZWxlYXNlMjItbWFpbnQKKzI4ODI4IDEwNzY3YThjMmUyZDY1Y2Q5ZTM1YjIxYjAyNDE5ZmEzMWUxNTUwOTQgcmVsZWFzZTIyLW1haW50CisyODgyOSAwYzQ0ZmEwNGY1MzM1ZWZkZDhlMzMwMmY4ZmQxZWEzYjQyYWQyNDMwIHJlbGVhc2UyMi1tYWludAorMjg4MzAgZTUzNzg3YjFhZDg1ODE4MDZjMjVlYTZhYzRhYjg5OGExMDA4Mjg4MCByZWxlYXNlMjItbWFpbnQKKzI4ODMxIDcyNWY4NzU5N2FkOWUyN2NjNDc4YjFlZTI1MWQ2OGEzNDBkN2Y4NWMgcmVsZWFzZTIyLW1haW50CisyODgzMiBlODg5MWU2OTUyZWI2MDE1Y2MwNjAwOGZkYzdiNzA3ZTdmYzY4NmI3IHJlbGVhc2UyMi1tYWludAorMjg4MzMgNDYyYzM1YjlhYzFmYTRhNDYyNWMwMWU3YTkzYzg2NmE0M2EwNDM2MiByZWxlYXNlMjItbWFpbnQKKzI4ODM0IDgwY2UzODRkNDA4YTZmOWU5NDZlMzliMjkxNWVhMTM3ZDVjYWNhNzkgcmVsZWFzZTIyLW1haW50CisyODgzNSA5MTExMDc4Mjk5MDNiOGFlMzBiNzIzMDdkNTkzODQxN2E1ZGE5NjI3IGxlZ2FjeS10cnVuaworMjg4MzYgZTVlMDU3YTZkMjgxZjMxNWZkMmE3MDk0NjFkMmUxYTZmMGZjYzAzZCByZWxlYXNlMjItbWFpbnQKKzI4ODM3IGRlMjFlOTNiYWRmNjM2NTgzM2M2Zjc5M2VhNGU2YmE4MDI2Y2YxZjkgcmVsZWFzZTIyLW1haW50CisyODgzOCA3OTI5ZDc1NjZhOTQyODkxOTc4MDE0OWE5YmY0OGE2NTY3MjliY2ZhIHJlbGVhc2UyMi1tYWludAorMjg4MzkgYmIyMDMzYzhiOTJmZGRjNDE5ZTNmMTliMjdkMDg2ZDdjNGNlYzY0ZSByZWxlYXNlMjItbWFpbnQKKzI4ODQwIGY1NTllOTdhNDFiZTRkMGI0NmQ5N2FmMWU3NThlY2Y0NjZjZDk0ZTIgbGVnYWN5LXRydW5rCisyODg0MSAzMGJmNTU0OTFlNzllZGQ5Njk4YWQzOGM5YTQzYjI1ZjE1ODI3MTZjIHJlbGVhc2UyMi1tYWludAorMjg4NDIgOWNhNjA5ZjhiZGYyMjYxN2M0Nzg2Y2RlNzMzMDYzYzBiYTdiNmIxOSBsZWdhY3ktdHJ1bmsKKzI4ODQzIDg4ZDBmNmQ2YjAzZWMxYmE1OWYwYjIwMzE0M2NhNGQ1MmUxZWUxZGEgcmVsZWFzZTIyLW1haW50CisyODg0NCBiNDZjN2RhMDY0MTBlNzFmOTdjNDk3NzNhMmRlN2YzMzc3MDdmNDU0IHJlbGVhc2UyMi1tYWludAorMjg4NDUgZGMzMTY2OGE3YzA5ZGNiYjE1NzI3OTNkZTNjY2FmMGU5MjdiM2RmYyBsZWdhY3ktdHJ1bmsKKzI4ODQ2IDk3NDI0Yjk5ZGY5MWM1OGYyMTUxNjM1MDE3MTIzMjUyMTIwYzE3MjkgbGVnYWN5LXRydW5rCisyODg0NyBkNGZmOTg0MTQxN2FlMDZmMjUyZjM5ZWUzMjZjZmYzOGNiMzk4NzVmIGxlZ2FjeS10cnVuaworMjg4NDggMDIyNmYxNjU2ZDgxNTFmNzhhZmQ5MzQ4YjhmZjY3MjI0YThmM2QxYyByZWxlYXNlMjItbWFpbnQKKzI4ODQ5IDcxMDM1NDgzM2JkMTk4MDk4ZjU2NmFlNDUwZmU0ZDg1MTk5ZjAwYjMgcmVsZWFzZTIyLW1haW50CisyODg1MCA1MWNkZjQ3MGY5NzQ0MDlmNWIwMTdiYmYxZTZhZDNiNDJjYzIwZjJlIHJlbGVhc2UyMi1tYWludAorMjg4NTEgNzVjNGE2N2RjYjhjMzYwMzIxYWJiNTFmYzZiNDI4NTBjOTlmNjI4OCBsZWdhY3ktdHJ1bmsKKzI4ODUyIDQxMGY2ZWFiYmMwYjg4NDRhMGExZjIwZmY0YzFjY2FhYThkODc5MDYgcmVsZWFzZTIyLW1haW50CisyODg1MyA2ZmMwYjcxNmMwMzg5YTA4ZDM3MWUyNDJmMDk0NDdjNGIxOTJkNjY2IHJlbGVhc2UyMi1tYWludAorMjg4NTQgNDA4MDFkZjg1OTEyMWE0ZTYwYTA5NzhmNjQxODI0NzQ2ZGM4OGJlZSByZWxlYXNlMjItbWFpbnQKKzI4ODU1IGI0OGEyMzZiOGM3Yjc3ZDgxMGJhODA1YjQ2NGIzNGJiNDkzYzIwY2YgbGVnYWN5LXRydW5rCisyODg1NiBkOTM1YTFkNzAyMzBiOTE4ZmU2MmU5ZjA4ODg4NTIyNTE5MWJkYjQxIGxlZ2FjeS10cnVuaworMjg4NTcgNGQ3ZTllNDBkM2U0YWM5ODI3MWZkMmY0ZmU2ZDIzMGMyNmRlMmI1YiByZWxlYXNlMjItbWFpbnQKKzI4ODU4IGQyZGJlYTE3ZmM2ZmU4YzBkMDY5ODNmOWQxOTU2NDA0YjExNjI4MDcgbGVnYWN5LXRydW5rCisyODg1OSA5NDMxNWE5N2IzOWU2NmVjYzVjMTUwMmU1MzQxOGQyZGVlZWM3NjFhIHJlbGVhc2UyMi1tYWludAorMjg4NjAgN2QwYzRkN2UwYThjNzE5MWQyYjg5OGU2NmRjNzBjZWE3MmYxNGM2NiByZWxlYXNlMjItbWFpbnQKKzI4ODYxIDQ1YTIxNGYxYmYwYjQ1NGFmZjkzYzg3NzA5YWEyMTA1Yzk5NmRjMzcgcmVsZWFzZTIyLW1haW50CisyODg2MiA4MzIwODRhMzAyODA5NmMzN2UwZWVmNzhmNWYyYTlhNTkxZmM4N2Y1IGxlZ2FjeS10cnVuaworMjg4NjMgMDQ4OTY4Y2EyNjY4ZDQyMzUyMjUwNTIwYjVkN2Q1NzdhN2JjYzJmYyByZWxlYXNlMjItbWFpbnQKKzI4ODY0IDI1M2UzOTdkZjY3YjFlMzc0M2Y5MWNlNjkzZjQwN2VhMzA0OGRlYjIgbGVnYWN5LXRydW5rCisyODg2NSAwYTA5NWEyNTc0MjQ1MDAzOTJkY2RjYWY3NGUzZjc2ZmZjODAwMjExIHJlbGVhc2UyMi1tYWludAorMjg4NjYgMTg0OWUyMzU1MmRmYmMxZTE2YTljMzhmZWVmOTRjMGRmZTQ2ZGE2YiBsZWdhY3ktdHJ1bmsKKzI4ODY3IDU2Y2I5MmRiYmFhZmMwNWJkZWVjMTAzNDM1M2RiMzZlNjE4OTRiZDAgbGVnYWN5LXRydW5rCisyODg2OCBhYTMwNDhlYmQxOWEwYTVhNmQ4NDkwOGYzYTE4NDQzMzZiYWM4ZjY3IHJlbGVhc2UyMi1tYWludAorMjg4NjkgZjc0OWQ1MGRjY2RjNWViZmU1MDQ5YTkyYTQxM2I1YzM3ZWZiZjBmMCByZWxlYXNlMjItbWFpbnQKKzI4ODcwIDkxYjRmN2FiZWJhOGQ1NTJjYjIyYjliMGZlMGFlYjRkZWU1YjVkYWEgcmVsZWFzZTIyLW1haW50CisyODg3MSBmYjBmN2NjNWE2OWY2YmY0YTU2ZmE4OTdjZDgzYTJiYTAzODBmYzAyIGxlZ2FjeS10cnVuaworMjg4NzIgNjIzN2JlMjdhNTk3MzViZjZlNzAyMTZlMGU5NGZiY2FjNzQ2N2IxNCBsZWdhY3ktdHJ1bmsKKzI4ODczIDU1NGY5NzUwNzNhMDM4MGVmNzE4OTVjNmJhOGI4ZDdkMzIwMmI1OWMgcmVsZWFzZTIyLW1haW50CisyODg3NCAyOWY2MTYwZWMwYmQ5M2M4MDlhNDM0ZWMyMjRiZDNmMTNjNDIwYmZjIGxlZ2FjeS10cnVuaworMjg4NzUgZmU2MjExYmY5MGJiOGY1NDk4ZDY5NmUyNzIwMWZkOWRiYjRkODU2MCByZWxlYXNlMjItbWFpbnQKKzI4ODc2IGM2ZjMwNzJkNTk1ZDU0ZjUxMzEyNzZhY2Q2ODZhOTM2MDllZWY1OGQgbGVnYWN5LXRydW5rCisyODg3NyBlYjI1MmIzNzRlY2ZjODVlNmI3NzJlZGViMjU4OTE4MmJiZjdmZmEwIHJlbGVhc2UyMi1tYWludAorMjg4NzggMWY5YjNjYjY2ZTA5OGUwM2M0ZGFhMjJmZWJmODdlNWU5YWQzYzdjYyBsZWdhY3ktdHJ1bmsKKzI4ODc5IDExMDg4YzUzNDY3YTE3NjhkNmFiOWI0NDZkMjI4ODNlYWE5Nzk1YzEgcmVsZWFzZTIyLW1haW50CisyODg4MCA3MmQ1NmI0NDYwY2I5ZGYzY2E1MTlkNzUxMzEwMGFjY2I0YmVlNGFmIGxlZ2FjeS10cnVuaworMjg4ODEgYjYyNTE0YzIxNzYyOWUyMDNlNDNhNmNlNmZiM2UyYmUzYmVkZjNlYiBsZWdhY3ktdHJ1bmsKKzI4ODgyIDNjM2I4OTQ2ZGM2M2M1ZGI2OTI4YTVjYzc2NzEwNWI3MGI5MjI0ODMgbGVnYWN5LXRydW5rCisyODg4MyAwYzc3OTQ5MmNkODA3Nzg4OWY5MzU3MWYyZGU5ZGM2YTdjZmQ2NDAwIHJlbGVhc2UyMi1tYWludAorMjg4ODQgODU0NTM0YzYwN2ExNmNkNGRmYTk0MDViNTM2MDMzMDE2OWFmN2RmMiBsZWdhY3ktdHJ1bmsKKzI4ODg1IGRmYjc0ZDYxMTgzZDczNzg5MDIwOWZjM2RhYzA1NmQ1OTE1ODRkM2UgcmVsZWFzZTIyLW1haW50CisyODg4NiBjZDgzN2VjYjFkNzA5NTNlNWE1YWE4NjhhZWNiMjk4ZGU5YTBmZjRmIHJlbGVhc2UyMi1tYWludAorMjg4ODcgYmRlMGQyNjI2YjIwNWRjYjM4NjUxYTQ4ZmUyOTkyZjk5NjhiZjZkMyByZWxlYXNlMjItbWFpbnQKKzI4ODg4IGQzMjU4OGM4ODYzMzI5NDY4Y2M0ZjZkOTk3NThjYmQ1ZTk5MDNjNDQgbGVnYWN5LXRydW5rCisyODg4OSA4OTgzMDRmNmRhMjNiNWM5NzE1YzVjMGZiY2E2N2EwMDUxNTFmODliIHJlbGVhc2UyMi1tYWludAorMjg4OTAgYjYxMTIzMjcxMjRiNDZhMjc0MWVlMDVlZjVkNDY2OTRmZTcxYjhiNCBsZWdhY3ktdHJ1bmsKKzI4ODkxIGFhMzFjNjhkYTg0ZGY2ZjI4ZDc3ZWRlZjhiMmU3ZDY3NGQ1NjdjNmQgcmVsZWFzZTIyLW1haW50CisyODg5MiBkYjVmMWRiN2IzNGUxOGM0YmE2YjU3ZjdlMzA1ZjY3MjdlZjI0Y2Q4IGxlZ2FjeS10cnVuaworMjg4OTMgOWJhMDExMTM4ODMxOGE0YzNiZjBiZWY2ODRmNjU1YWMwNDg1MDVhOCByZWxlYXNlMjItbWFpbnQKKzI4ODk0IGU4Y2RlYTQ0ZjdhYmNlYzZhMTU4MzY1OGQ0MjE1ODgyYjFjNzRlMmYgbGVnYWN5LXRydW5rCisyODg5NSA2YTJkZjQ0YjhiZmQ0OTZmYWUwNzUxZTliMGYwM2I5YzQ3MmNhZWMwIGxlZ2FjeS10cnVuaworMjg4OTYgN2NkNmY1NDkwNzU4YzYzYjYxNjgzMDc2OWY1ZDYxYzdiMzM5ZmIyMyBsZWdhY3ktdHJ1bmsKKzI4ODk3IGY4MTgwYTc0YjBmYTVjNmVjNzViNWQ2MzQwMmY4ZDc3NTg3ZmYyYmQgcmVsZWFzZTIyLW1haW50CisyODg5OCAwNWZmZTIwMWU5MDJkODBmODg3MDNhMDNhN2IzMjI3N2NiMzY4MjkzIHJlbGVhc2UyMi1tYWludAorMjg4OTkgMmViNGVlZDUzOGM2ZDNlZmQ1ZGEyYzVmNTAxZGZjMWIzZTgyZThkYyBsZWdhY3ktdHJ1bmsKKzI4OTAwIGQwYWFkNTE5ZTcxMzBkYTNkMDEyMmJjMjNkMmIyYjdjNDE5MjUxZDYgcmVsZWFzZTIyLW1haW50CisyODkwMSA0ZDM2Nzg3MmZjYzY2NWJmYzI0ZmU2YWMxOWU5NTNmZmY5OWRjYjZhIGxlZ2FjeS10cnVuaworMjg5MDIgNzZjY2Q1YmY5ZmYyNjI5ZmU0M2IxNTQ0NTJkNjNjZTA1ZWM2NTBkNiByZWxlYXNlMjItbWFpbnQKKzI4OTAzIDQxZWIyNGI3NDdjMDJjZGNmNWE5MDJiMGVjNjAyOGZlNTQ4NmQwZDQgbGVnYWN5LXRydW5rCisyODkwNCBkY2FmZDk5Yzg1YjY4YTg4MzA3MzkxMjk0NTEwYTgyOGFiNTVlOGFkIGxlZ2FjeS10cnVuaworMjg5MDUgYTc3MjU0Y2JkNGYwNmIxZTgyNWI5NWE1YWJiOTYwNmRjNTcyNWY0ZCByZWxlYXNlMjItbWFpbnQKKzI4OTA2IGQwN2Y4ZGIzZGI0MWU0Yjk0OTc4MmE2MGNiZDM3MzMzODE1MzVkNjYgbGVnYWN5LXRydW5rCisyODkwNyBiNWE5YWFjNGIxMGZmZjc4M2M5NDRlODhlODIzZTA0ZWM3ODcxODIzIGxlZ2FjeS10cnVuaworMjg5MDggMDk1NTFjNmRhMjk5ZjgxOGNiOWZkZmY3MWQyYjg2YmMxODRiZTJhNiBsZWdhY3ktdHJ1bmsKKzI4OTA5IDE2ZTY2MTk3MDkzMDcwYzg4NzZiNmVlNzk1OTYwZjUwODUwMjY3YTAgbGVnYWN5LXRydW5rCisyODkxMCAxZDkxZWRmZDc1ZjJiNDVkNmU0ZTg5YzNhZTdkZmFlNjRmMTI3MTU1IHJlbGVhc2UyMi1tYWludAorMjg5MTEgNGRhOGE0ZGUwN2MyMzNkMDdiM2RjMDdmMDA0NTYxOTRhMmQzNjFkNSBhc3QtYnJhbmNoCisyODkxMiAyODMwZjk2MTQyOTQwNWZjY2FlNzgxNTc1ZTcwOTA4MDE2NGM4NWRiIGFzdC1icmFuY2gKKzI4OTEzIGQ4ZjQ5ODBiOTY1Y2ViYTAxYTkyNDg5YTMyZDlhMjAyNWY5OGI4YmIgYXN0LWJyYW5jaAorMjg5MTQgZGZmNDhjNDE3OTgwMjE0ZGU1YjYxMjgzZGFiNmRmOTQyYzdkYTBlOSBsZWdhY3ktdHJ1bmsKKzI4OTE1IDk2OTYwZDY3MzllMDk3MmM5ZWYwZmU5YTljMjNjOTE1MTM4N2QxYzMgbGVnYWN5LXRydW5rCisyODkxNiAxZjJiMWU2ODQ4NTAzNmI4MzQzZDg4NjRjNzkxNWJkYjA4YWU0YjRjIGxlZ2FjeS10cnVuaworMjg5MTcgNzg0M2I1MzAwOWQwNjkyMjllYzhlNjM3YWRlNzhhNTM5NDhhODg0NCBsZWdhY3ktdHJ1bmsKKzI4OTE4IGI2ODZkZGIyNWM2OWI0YjY2MWVlMzBkZDQ3YmZkOTk2MmJkMjRhNmUgbGVnYWN5LXRydW5rCisyODkxOSA1NWYwOTBiMzhiODhkMzhmMzM4M2Y2ZGE3ZjlkZjlhNTkwZjM1ZDBjIGxlZ2FjeS10cnVuaworMjg5MjAgMGZiYmU3OWI0ZWRiNWIwYTRlYmQ1OTEzY2RmNDhjMjI0NWUyZWRmNCBsZWdhY3ktdHJ1bmsKKzI4OTIxIDE4ZTY3OWJlMjExOTM2ODlhN2Q2MzJmNjJjNDI0OTc5NmVmYTg5YjIgbGVnYWN5LXRydW5rCisyODkyMiA4YTZlZWIwYzc5MzQxNDRlNmU2YmVlNzQxN2Y2ODcxODA4ZmE3OWZjIGxlZ2FjeS10cnVuaworMjg5MjMgMmE3NjNlN2I3ZGViZDA3ZGNjNWJkYWM0NzU2NTEzYzQ3ZTMzNDhjZiBsZWdhY3ktdHJ1bmsKKzI4OTI0IDI1NjU0YjgxMTYxNmIwZjA1N2FlOTBlZjFjNjNiZjY3NzI1ZWQ5MDggbGVnYWN5LXRydW5rCisyODkyNSA1N2VjMTY0MzE4OGM5MDMxZmNhNjVjZWViOGFhNTNhODM3YjlkZjlmIGxlZ2FjeS10cnVuaworMjg5MjYgZTJmNjVhNDljYTM0M2UxOTE1ZTZmNjcyODc1ZjE0ZTM2MzFjMzIxMSBsZWdhY3ktdHJ1bmsKKzI4OTI3IDdkMjY5YmMxMjU4N2RkNTczNzMxZTEyNjVhNmM5OTA3MzZlY2Q3MWIgbGVnYWN5LXRydW5rCisyODkyOCA4Yzk1NDg2MzAxYjNmNzQ5YzZjYzU4Yzg5YTUwZmY2YzZhMmNhNTEyIGxlZ2FjeS10cnVuaworMjg5MjkgYmJmOGNmNWVlOWY5NDIyODRlYjY5M2RjMzkxMDY3ZTlkYjBmMTc2NiBsZWdhY3ktdHJ1bmsKKzI4OTMwIDlkNTBiYzgzMWJjYTA0YzZiNmI5MTZjZjRjM2MzNDg0YWQyNDFkZDIgbGVnYWN5LXRydW5rCisyODkzMSAyMTQ0NGJkY2IwOWMwNDg5MWQwNjg3ZWZlNjljMTk3MzdkNjc5MjRlIGxlZ2FjeS10cnVuaworMjg5MzIgODBmNjczODVmNTk5ZGMxNzMzYTE3OWQ5MTg1YjIwOTkxMWFjYjJjYiByZWxlYXNlMjItbWFpbnQKKzI4OTMzIGZjNTM0ZDFjOWMyODM5NjdhMWE5MTg3NWMyZGM1YzA1NzFkOWFkMTEgcmVsZWFzZTIyLW1haW50CisyODkzNCBjYWMxYjAzNGI5MDM3NmJhOWRiY2YzOGVlYTA2ODFkMzIzNjBhNGYxIHJlbGVhc2UyMi1tYWludAorMjg5MzUgZTQ3NTJmMzE2MDUzZmEzNjhiZmEwYzk4ZTAzNjBlZjBjOTI4YzNhYSByZWxlYXNlMjItbWFpbnQKKzI4OTM2IGNlN2JiZjNkOTQ5MzUyMTMyODYyMDE0MDM2MWIxZTg1ZDNiNjg0OTEgbGVnYWN5LXRydW5rCisyODkzNyA4NzdhMzkxNGRmMjI0Mzg0YzY5NDA3ZDBjYWNiNzA3M2I1NmIxYWE4IHJlbGVhc2UyMi1tYWludAorMjg5MzggNzY2YmZjOTNlY2JhNjZiNmQ2NmQyNjQzODA4M2Y5Njc2NGNhM2I3YiByZWxlYXNlMjItbWFpbnQKKzI4OTM5IDc1YjA4ZTZlOTdjNjBkNmViMWVkZTc5ZmUxMzI3YTI5OTQ5YmYwZDYgcmVsZWFzZTIyLW1haW50CisyODk0MCAyMGQ3YTU0NTU5MDc4M2I0Nzc2MzdkOWI1YmE3MzIwMjRlOGQ0OGM4IGxlZ2FjeS10cnVuaworMjg5NDEgNmQ1ODcxNTQzMGE3YmI4MDQ0ZDVmYmNhZDZlMzlkYTI1MzRmNTNiYyBsZWdhY3ktdHJ1bmsKKzI4OTQyIDJhYzdiMDk2NGM3YmE5NzY3MzM5YWMxYTIwYWJlZTIxNGU3N2IzM2QgbGVnYWN5LXRydW5rCisyODk0MyA0ZTA1YWFiNjBiZGZhYTVmYzdjNGExOTEzM2YzZWI0NTZmYzkyYTQxIGxlZ2FjeS10cnVuaworMjg5NDQgYzNlZWFhZmU2MjY1ZTNiNDViNDhjODAzOTdmNzhiOTEwZmYzNTEwNiBsZWdhY3ktdHJ1bmsKKzI4OTQ1IDVmNWZkMmM0ZmNmMjI3ZThhMzcwYWMxMGIxMGFhZTg3MzFkODI5ZjkgcmVsZWFzZTIyLW1haW50CisyODk0NiBkMGU1NzQzMjZkMThiM2IzOGJhYzJmMjM0YWEyNDQ4YmYzOTdjOGJlIHJlbGVhc2UyMi1tYWludAorMjg5NDcgYjUyNmUxMmI5NDFiN2ZkYjZlYTExZTNlYTBkZjA0ZTJiMDAyMTBmNyBsZWdhY3ktdHJ1bmsKKzI4OTQ4IGM1NzM4NDhjNzVjMzMyYWJhOWI3YzIwMTM5ZjJmNmZlOWUxZDAzY2YgbGVnYWN5LXRydW5rCisyODk0OSAwYWE2NGVlYmQ0OTMyY2Y5YzY1MzE2ZDFhYTcxZGIyMzk0ZTI4ODM1IGxlZ2FjeS10cnVuaworMjg5NTAgZGVhNjE5YjU4ODJkMGM5NjQ1ZWNmN2ZmYjM1MzQ3MDRmYWY3MDg4MSBhc3QtYnJhbmNoCisyODk1MSAxOTU4MzNhM2YxMGRhZjBkMmI3MjNkMWE5NzIwZjg2ODM4NTMyODIyIGFzdC1icmFuY2gKKzI4OTUyIGM0NjI4ZDlhY2M5YTE1NzBkNTA0ZGFkOGU5MTA0NjJiNWNjZDNiY2MgbGVnYWN5LXRydW5rCisyODk1MyBkYjlmZWUzNzNiMzAzYjAwZGI4ZWM5OWFhYmY0Njg0YzBiMWQyYTBhIGxlZ2FjeS10cnVuaworMjg5NTQgNzQyOWYyMjQ3M2NjN2MwNGM0M2Q5NjM4NjNmYzg3ZmJhZWU5MzNkOSBhc3QtYnJhbmNoCisyODk1NSA1NmRkODZiNGNiODc3N2UxN2YzNTViMzkyYWM4YTI0NGRkYmUyYmNjIGxlZ2FjeS10cnVuaworMjg5NTYgMmM5OGViMWMzMTYyZDhmZGRkNTcxYTg0OWNhMTUwZDQyOWYyYTUxYSBhc3QtYnJhbmNoCisyODk1NyAyN2Y4MzU1MTlhNWU3ZGViZTg3ZTM3OTYxOWY1YWU3NWVhYTI5ZDc1IGxlZ2FjeS10cnVuaworMjg5NTggOTE2NzQ5MGIwZGU5NGJjMjMwYzVkYWRmOWQ2ZTVlODc2YjBlODk4ZCBsZWdhY3ktdHJ1bmsKKzI4OTU5IDJiYzJlMDJmZDZkZDEyZGI0NWVlMjQ0YmYyNmQwZDk1ODcyYmY1YzkgYXN0LWJyYW5jaAorMjg5NjAgNDU1NzdlMTg1NmQwZTkzODY0OWNmZDQyNGFhZmE2ZGE0YjZiMDM0NCBhc3QtYnJhbmNoCisyODk2MSA3ZmQyZGEyMDE4MjNkMWNlN2RkYzU2MDkzZDAzMGIzYmZlYjhlMWI0IGFzdC1icmFuY2gKKzI4OTYyIDI0YzVhMWM4N2YzYmYxMjI5ZTUwNmY4NzU5M2Q0YzFiMTM4NTU5NTcgbGVnYWN5LXRydW5rCisyODk2MyA2Njk0ZjBjY2Y4ZWE0YmU3NTY3NGYxNTcyMGJjMzQ2MmU2MDA0ZjZhIGxlZ2FjeS10cnVuaworMjg5NjQgYmMwOTc4NDU5ZmZiNzgwY2YzODM2ZDQ3ZDc0NGE1ZjVmNjM3M2Y4YSBsZWdhY3ktdHJ1bmsKKzI4OTY1IGIzYTk4ZWVhMzRjODQxYzIzZjhjNzM2NGVhY2JmMGIwNGFjZDUyMjMgbGVnYWN5LXRydW5rCisyODk2NiAyZDgwYmY2NWNkMDk3OWQ5MDJhNDM3Y2E0MmE4N2EzZmJiNTRkY2ZlIGxlZ2FjeS10cnVuaworMjg5NjcgZTFhNzMyODg1YmUwOTYxNThlNmY0ZjUwZmQ4OTBlMjRkNWE5YmM4NiBsZWdhY3ktdHJ1bmsKKzI4OTY4IGQxYjZiMmNhOWQ5Yjg1MWQyMzY0OTIyY2MwMGMzOGJkNDhjNmJlNGQgbGVnYWN5LXRydW5rCisyODk2OSBkMTI0ZmIwODc3Nzg1NWRmZjJhNzU3OGQyOTFjODg2NmJkNzY3NGU5IGxlZ2FjeS10cnVuaworMjg5NzAgYmQwNGUyYmQ0MzdmYzVkMzlkZDJlNjI3NDBhMzhlOTcxZWJiZDgxMCBsZWdhY3ktdHJ1bmsKKzI4OTcxIDU5ZjgyZDk2NjgyZTlhODA4NWRjNGRkN2UxMGRmODMxNTZmMWJmNWMgbGVnYWN5LXRydW5rCisyODk3MiAzNzdkNjRjYjUzNDcwYjA2NjI5YmVkZGExMzgwOTQzNTdiMzE0YjMxIGxlZ2FjeS10cnVuaworMjg5NzMgZDcyMmJiNTIwNWFkNzAyOWRkYjE2ZjUwNTJjMGM4MTVmYTFiY2NiNyBsZWdhY3ktdHJ1bmsKKzI4OTc0IDQwNTk0ZWYzNGIzMDljNGVkZTMxMTRjODcwZGJlNDJhMTA5OTg3OGUgbGVnYWN5LXRydW5rCisyODk3NSBhZTJmMjM0ODgyYjIxNjg2M2UyNDc5MTE1MjA0ODRlZGZhY2IwMWI1IGxlZ2FjeS10cnVuaworMjg5NzYgYTM2NDdkMTFjYjcxMzQ3OTA5YTk1ZWQxMGVlMjRlY2E0NjA4NGU0OCBsZWdhY3ktdHJ1bmsKKzI4OTc3IDU4YmZhN2RkYzk5OWFjOTY0MmVmOGZhNjY4MmIyNjgxNmRkNDM4YTAgbGVnYWN5LXRydW5rCisyODk3OCBiNWQwNWYxMGQwYTViYzJjMzQ4OTEzZjJmZWFiYzEyZDBlNTU1ZTBiIGxlZ2FjeS10cnVuaworMjg5NzkgMWVhNmUzNTQ3NjEwMzgwZjg4MDYwZTFjOTAzMGViOGNiM2Y2MWM5YSBsZWdhY3ktdHJ1bmsKKzI4OTgwIDMwZWU5OWE4YjBhZTM1YTliOGNiMWY3MzIyZTBiZWJiYWRmNjFjM2YgbGVnYWN5LXRydW5rCisyODk4MSBjMTJhNGY3YTAwYjc0YWYxOWY1MTBiNTZlN2FjNTRhNjcwZWQ2NGI0IGxlZ2FjeS10cnVuaworMjg5ODIgMmUxNDA3MDBmYjZjMGM1M2JhZjQwMTFjZWI2Yzk1MWFjMzY1MjU1NSBsZWdhY3ktdHJ1bmsKKzI4OTgzIGQ3YmJhN2ViMGVhZDBjNzEzZjEyNzRkNWQ4ZTVlZGFlMDE4MzVmNjIgbGVnYWN5LXRydW5rCisyODk4NSA1NDIwOTY5ZGRkNzBiYTg1YmIyYWE0NTFlOGU3MzE4ZTI4Mzg4NTVlIGxlZ2FjeS10cnVuaworMjg5ODYgNjM2YzBmOGIzOTg3OTM2ODk0NGIyN2FkNDQzOTg5MjhkMjAyOWExMSBsZWdhY3ktdHJ1bmsKKzI4OTg3IDE5NWQyZjI1NzZlNDJjYTQ4NmRhM2VjNmZjMTRmMTU3OGFkYmQ0YzIgbGVnYWN5LXRydW5rCisyODk4OCAxMTU3MzZkZGVkN2QwOGNlNDhhNmFmNWU1NjlhNWM3ZjlhMTNjYjgxIGFzdC1icmFuY2gKKzI4OTg5IGI5MjMzZWNkOWQ0MTk0NzMyM2Y3MDFiYzEwZmQxNzcyZTllYjdiNWYgYXN0LWJyYW5jaAorMjg5OTAgNzBkOTNiNjIzNzBiN2JiYTk0OTUyYWQxMWI1NmZkYTQ4ZDEzZDhhNiBsZWdhY3ktdHJ1bmsKKzI4OTkxIGI5NmI4MjY0ZDZhZDJmZmQ5ZTIxODNlOGFkNDUwNzk5MzE5NjY2MjAgYXN0LWJyYW5jaAorMjg5OTIgOWU4MTVmMmMwZTg0ZjAzNzQ5ZjkyMTQ2Mzg4MmUzYmM2YjlhMThkYiBhc3QtYnJhbmNoCisyODk5MyAxMDk0YzZlMDM2NWU1YjA1NzBjYTg1MmMyMjkyZTVjYTcyZmRlZjI4IGFzdC1icmFuY2gKKzI4OTk0IGZlOTVjZmM2ZWJhN2RjMzRkNTU5NWM4NzAzYzY0ODE1YzZmYjI1MDEgYXN0LWJyYW5jaAorMjg5OTUgOGU0Y2FiYjJlMDAzZDI5YjlhOWRjNjRhOGUzMmUyZDZhOTg3MTk0NiByZWxlYXNlMjItbWFpbnQKKzI4OTk2IGNhMDFmNGI4NTg1M2U0NGIzNmY0MjRjMTNhNDM2OTQ1ZGM2ODg5NGQgbGVnYWN5LXRydW5rCisyODk5NyA3NWU1YTJhNzE3Mjk1YWMyMDlkNDUyNmI3ZTkwNzM3OTBkZDIxYTI5IHJlbGVhc2UyMi1tYWludAorMjg5OTggMDgxNDhlOTE2ZDM4NTFmMjhiN2U3OTlmN2VmZWE1ZjI3N2IyZTVjZCBsZWdhY3ktdHJ1bmsKKzI4OTk5IDg2MTA2NTI1NjQ4NzBhODMwYjk3Y2I0ZGM4MGU0MGRlYWViODZjOTYgbGVnYWN5LXRydW5rCisyOTAwMCA5M2VmNzQ1NTU1ZDdjMGI1MjI0NWMzMmEwZjQ3MTY3MmI4YzQ0MWE3IGxlZ2FjeS10cnVuaworMjkwMDEgNjFkNjI0ZjVjMTA3YTdlODc3MzVjMDc5NjM2YjBlODAzZThlYWRlNyBsZWdhY3ktdHJ1bmsKKzI5MDAyIDJjMGUwZjBkY2E2ZjUxMmY0NWRmMjJiYjYyMjhhOWE3Y2UyNTE1YWIgbGVnYWN5LXRydW5rCisyOTAwMyA1ZmUwN2NkNGIyYmZkNzExNDUyMTQ4NjcyMjc0YzQ3NTA0MjUxZGViIGxlZ2FjeS10cnVuaworMjkwMDQgMmRjMGRhNTM3MmI0NzAyYmU1NWYyNTQwODg3ZGQyOGIwZDFlMWRjYiByZWxlYXNlMjItbWFpbnQKKzI5MDA1IDQ3YWE5ZmM3NGRhOGNmNTMwZmEwYzRkYWYzYThlODUyNmEyNTViNjEgcmVsZWFzZTIyLW1haW50CisyOTAwNiA5OGU1OGQzYzVmY2ZhNDg5ZmRjYjQwNzY4OGQzN2M4MzZlMmZmNmI4IGxlZ2FjeS10cnVuaworMjkwMDcgZGZlZWMzYjM0ZmFlYzI0NTVkNDA1OWNlZmM0ZDNlNDE3ZDZlMjI2NCBsZWdhY3ktdHJ1bmsKKzI5MDA4IDJmYTU1OWZiNmVjNTIyOTliODcxNzFlOWI4ZjFlMTRkY2Q4M2I4MjggbGVnYWN5LXRydW5rCisyOTAwOSAzNzMxYmUyOGUxYTMyNjRjODk0ZDJiNWFkY2FiY2VmZjhhMjdlYTNlIGxlZ2FjeS10cnVuaworMjkwMTAgYzdiOWRhODU5YjU1ZjgzNjUxOGNiNGE0MTA3YjMxZWUzN2JmNDgzNyBsZWdhY3ktdHJ1bmsKKzI5MDExIDYxODIyZDJiNWU4ODZhNzVlNDc1NjY1NGUwOTdlNDI4NTQxZTJiZDEgcmVsZWFzZTIyLW1haW50CisyOTAxMiAwZWQ4Mjk0NzU3MTc0OGQwMDZjN2E5ZGFmZjBiZjI3NjA0NDMwZjYxIGxlZ2FjeS10cnVuaworMjkwMTMgMGU5Mjg4MDc1MzZjMTZhMjEzMzhkMDQ4NzczM2E0MWU2MzdlMmUxYiBsZWdhY3ktdHJ1bmsKKzI5MDE0IDFkYTVlMTdiZmU2M2EyMDgxMzRkZGQzODA1NWU1N2VkNTU2NjYwNjEgbGVnYWN5LXRydW5rCisyOTAxNSA0MWUxZDhjMjI0ZGYyZTNhYWU3ODE1ODI4ZTE5MjdmOTA5OTk4ZTcxIGxlZ2FjeS10cnVuaworMjkwMTYgNTU1MjM0ZDRmMGQwMDkxNGM2OGNmYTU4NTdlODBmZGFhZjg2NDdjMCBsZWdhY3ktdHJ1bmsKKzI5MDE3IGY2MWQxZDJiOWNlM2IyMmRhNGE2MmIyZGE0ZTk1YjkzZTZmN2Q4MjkgcmVsZWFzZTIyLW1haW50CisyOTAxOCAzNjEyNDE1N2IzMTdhZGJhYjgzNWZiNjM5ODE4OGQ2YTg4ZWVlMGE0IGxlZ2FjeS10cnVuaworMjkwMTkgNDg4Mjk1ZDFiYTExZWIyMTY3NDQ0Y2VhYWU1NDkxMmMxZWI2NjdjOSByZWxlYXNlMjItbWFpbnQKKzI5MDIwIDhjYjA3NDBkYTFmZDU5OTJlYmVhMDc1N2I1ZjhjY2M0ZDVjODc0YTggbGVnYWN5LXRydW5rCisyOTAyMSBmYzcwMjkwODEwOTMwNjhmNDczZmIyYWVmNjQwNjYwMWI2MDFmNGFiIGxlZ2FjeS10cnVuaworMjkwMjIgMTRjNGM4MzNjZGE5Y2E0ZTRlZGQ3MWYxYjdiYjY3NzlmOWE5OWMxZSByZWxlYXNlMjItbWFpbnQKKzI5MDIzIDEzZmI0ZDE2ZjYwNDJiYWUwMjMwZTAxNzk2NzgyM2Y3ZDNjMTA2ZDUgcmVsZWFzZTIyLW1haW50CisyOTAyNCBmYjBjZTc3YTMxOGFiZDM4NDBlNTQwODZhMmNjZjhjMjkzNzU3ODhlIHJlbGVhc2UyMi1tYWludAorMjkwMjUgMDcwNWNhMjlhYjk2NmZkMTMyYzcwMjA2OTA4ODEzMDNlNzcxNzFhYSByZWxlYXNlMjItbWFpbnQKKzI5MDI2IDQ0NDQ3ZjMxNWFlOTExNWQ5ZDRkMWRjYTM1NjU4MzBjMzU5YzcwOGYgcmVsZWFzZTIyLW1haW50CisyOTAyNyA3NzliYjZkZGRlNGI4YjI0MjQ2MGY3NTY5ZWNmNjI0Nzg3MzVkMTJlIGxlZ2FjeS10cnVuaworMjkwMjggNmRjZDA2NjRiMDllMmNkOTI0NTZjMjRkZDUyZWIxNDFjYzkwNzZmZiByZWxlYXNlMjItbWFpbnQKKzI5MDI5IGQwNzI4YjRiMDdjMzNiMTdkNmY0MGVjMjc1ZTE1ODY1MGI1YjA5MGQgcmVsZWFzZTIyLW1haW50CisyOTAzMCBiMTk5MDJhZDE4NWZiZDhiMzhkYjI0NDVlMzIxZjg0MWE2NGRkODc1IGxlZ2FjeS10cnVuaworMjkwMzEgYjExYmMyMTRlNGYyZjc2ZDk5ZmI5MGIxNDc1MzMxZThkZmI3NDcxMiBsZWdhY3ktdHJ1bmsKKzI5MDMyIGM0MmM5ODhiMmI5OWNhOTBhMmZhYzQwODRlNjg3ZGY3ODk1OGZmOTkgcmVsZWFzZTIyLW1haW50CisyOTAzMyBhYWU4Yjk0Mzg1ZDZiNThhOWJhNTJkYmYyMGI0MjgzZWUwOTQyZTcxIGxlZ2FjeS10cnVuaworMjkwMzQgZGUzNzBlNjUwM2RmNjhhMjNlYTgzYzI3YWIxMDFkMDFjZmE3ZGFjNiBsZWdhY3ktdHJ1bmsKKzI5MDM1IGM4NWQ3Y2RkOTgzZjMyODU2YjJhOTAxZjQ3NDZhMzNmNGIwOTkxZTcgbGVnYWN5LXRydW5rCisyOTAzNiA0MzY3MWUwMTE2ZDUyZjA1MzgxMmNmMDFlNmM2NmE1ZmM0NTI4ZGQ5IGxlZ2FjeS10cnVuaworMjkwMzcgMDIzMWNjNTRmODdlYWM0ODQ0YWE2N2ZiOGRmN2U2ZDI0MDg5MjY3ZiBsZWdhY3ktdHJ1bmsKKzI5MDM4IDgyNDE2MmViNzk3NzM3MGZmMDM4NTgwZGIxYjVhOWM1NGEyNTJmODIgcmVsZWFzZTIyLW1haW50CisyOTAzOSBjNWE4MWMzYmRhZGFiYzU3ODYxZWQwZDc3YmQ0YzZlZTAxOThkZmQ0IHJlbGVhc2UyMi1tYWludAorMjkwNDAgNDA1YTViNGY0NTNiZWM0NzA1ZTIxYmM5NjUyMjFjMjFiMTE4MmVjNSByZWxlYXNlMjItbWFpbnQKKzI5MDQxIDZjY2E2MTRiNWUwMzNhNzk2ZmVjY2M4M2RmZjMyNWFiMjM4OWQ0NmMgcmVsZWFzZTIyLW1haW50CisyOTA0MiAxMDBkYWEzNjE5OGRkODU4ZTM4OGJmNTQzMjNlNDIxM2IyODU0ODRjIHJlbGVhc2UyMi1tYWludAorMjkwNDMgODNmNjRjMDRmMDAyNjkwZjI3YzJjMjRkMmIwMmJmM2JhODc1N2RjOSByZWxlYXNlMjItbWFpbnQKKzI5MDQ0IDM2NzljNGZjNjhiYzA0ODY2ZTlhNjFlY2M0ZmNhMzk3ZGM1MTFiMzEgbGVnYWN5LXRydW5rCisyOTA0NSAyNzZiNmM0NTI5OTk0Y2UzNWFiNjZkYjVjYTcyMjNjMGJiODYyZjBhIHJlbGVhc2UyMi1tYWludAorMjkwNDYgZDQ5ZjE2NGU2YTk3NGQ3NGYwZWZkMTY0MzUxNTQyZmM4MzkzOTU0ZiByZWxlYXNlMjItbWFpbnQKKzI5MDQ3IGMxYTZmNDRlMjUzNGQ4M2I4ZmM0ZDhmNjlkOTFiNTEwOWEwZjIxYzMgcmVsZWFzZTIyLW1haW50CisyOTA0OCBhNTI2OTViNzFlN2RhYjVjYmZjNzUzNzM1MzYyYWE4MTBkNWYxNTRiIHJlbGVhc2UyMi1tYWludAorMjkwNDkgZGFlMjI4MmJjNzZiNDI3MjdkMWNkOGZiMzBiOWNkNjVhYTY1ZGNiYiByZWxlYXNlMjItbWFpbnQKKzI5MDUwIGIyODdiZGFjZGUzOWZhZjM2YzAyNGNiODNmZTU3NjM2NjI3MzU1ZmUgcmVsZWFzZTIyLW1haW50CisyOTA1MSA2MDAzOTkxNzMxYTk5MDZjOGNjYzkyODRlMzU2YjU4YTg1ODAyNGM5IHJlbGVhc2UyMi1tYWludAorMjkwNTIgMjM0N2Y5MDE4NDMxNTNkOTM0ZWJmZTQzYjM4OGZiOTgzYmU0NWZmZiByZWxlYXNlMjItbWFpbnQKKzI5MDUzIDQ0OTJkNzczMjdjNWVlMDlmNzNjMDdhY2YzYTYzNWY0NDkwZmJkMDQgbGVnYWN5LXRydW5rCisyOTA1NCAyOTExZWIzNzcyNjZkOTc1YTk4ODkwMTRhMzI1NzUwMTkwNTNlYmU5IHJlbGVhc2UyMi1tYWludAorMjkwNTUgYjMyNTY0ODdhZWU4ODg2MzY0ZGZhZjJmOWU3OWNmOGY5YjBlYjM5OCByZWxlYXNlMjItbWFpbnQKKzI5MDU2IDc3NDc3MWM1MGIxODdjZjYzMTBmZjZjYTU2NTE1ODNhNjllNGJlYmMgbGVnYWN5LXRydW5rCisyOTA1NyAyYTk0MmExYzQyZTg0OWZkYzU0YjdmOWFmZmY3MWNiOGIxM2NlYzMzIHJlbGVhc2UyMi1tYWludAorMjkwNTggZmVkN2M0MWNhYWFlZjU1MzIxZWMyYTY2YTI0MmZhYTRjNDNlZjU4YiByZWxlYXNlMjItbWFpbnQKKzI5MDU5IGM2MmZiNjNkY2ZkMWI1M2QxNzkyZDcwOTE0YmQwMmQ3MzZmMTQ4MzEgcmVsZWFzZTIyLW1haW50CisyOTA2MCA2YjFkNDY0M2EwZmQ1MGU4MDg0OTZlY2M1ZDljMzczZmZiNmM1MDA3IHJlbGVhc2UyMi1tYWludAorMjkwNjEgZTg0ZTA4MzcyZWZhMWVjNTA1M2FhMWFhODBlNjMyNjAzNDRiOTYyMyByZWxlYXNlMjItbWFpbnQKKzI5MDYyIDUyM2ZkODkwMzU5ODc4YWRlYmQ1ZmE3ZTQyNDQxMWQ0OTI3YWNmNGEgcmVsZWFzZTIyLW1haW50CisyOTA2MyAxZTM1OWRjYjRmYjNiNzIyNDRmODdjZTUwNTk5MmIyY2MyN2FiZjU4IHJlbGVhc2UyMi1tYWludAorMjkwNjQgMzkzOGU5YTA5Njg5NGM2Yzg2NmFlNDRjOGQ1MjZhMTlmNmQxZWQ3NyByZWxlYXNlMjItbWFpbnQKKzI5MDY1IDg2ZjY2MDYxMDAzYzA2Y2I5NzQzN2UwNGZlMzEzZjdhZGYwY2Y5MWUgcmVsZWFzZTIyLW1haW50CisyOTA2NiBhZDM3YjkzZTdhMmU2ZjEzNDEyNGRlMDFkMDM3MGQ4OGZkNGE3NzAxIHJlbGVhc2UyMi1tYWludAorMjkwNjcgYTY3YjlhMTk1MjY1YjVlYjBlNDFkZDQ1NDZmNGQ1MWUyM2E0OTgwNCByZWxlYXNlMjItbWFpbnQKKzI5MDY4IGE2ZWRjMWIzZmQ1NjYxNmM0NmIzM2YwNTRhMzFmMDQwODMwMDRiZjggcmVsZWFzZTIyLW1haW50CisyOTA2OSBjMWY3YWY0MmE3ZjE3Njc5MzRjN2E2OWE5OTY3NTMxMzAzMmJjOWMxIHJlbGVhc2UyMi1tYWludAorMjkwNzAgMWI4Njk3ZDYwNTY4YzQ3Yjc0YjQ0MDc5NTgwMzRmY2VlYjRkMmZiNSByZWxlYXNlMjItbWFpbnQKKzI5MDcxIDFkYWVhYmIzNjI0NDMwZWUyMmM3MjQxZjg4NzA4YmNiNDU1YWIxNjIgbGVnYWN5LXRydW5rCisyOTA3MiA5NzdmYTEzNTkwNmQxYTE0Yjg0NWI4ZWZiOGY0MDQ3MDgzOTQ1YTA3IHJlbGVhc2UyMi1tYWludAorMjkwNzMgMjg4YzFmZmQ2MDZlYWJiZjViNGQ1YzkwZjNjOTUzMDI0NWY5M2NiNyByZWxlYXNlMjItbWFpbnQKKzI5MDc0IGYzN2EzNGMyNTZjNGIwNDNlMzFhMmNhZTUzMTI5ZWE2MGZiMDQ4MTEgcmVsZWFzZTIyLW1haW50CisyOTA3NSBmOTkwNmU2MjYxYzVmMGQ0NzE4ZGQxZjdjZDYxYjRkMDExOGQxMzg0IGxlZ2FjeS10cnVuaworMjkwNzYgM2VlZTcyOTMxZDE3ODNlNTBlYTk5MGUzMzhmMWIxM2Q5M2ZhNjI4MiBsZWdhY3ktdHJ1bmsKKzI5MDc3IGYzZTcwY2MyNjQyMmQwZDEzOTUxMDk4MGIzNWU1ODAwMTVmMzVjYmQgcmVsZWFzZTIyLW1haW50CisyOTA3OCBjNGMwOTNlMjNjNmRkMWM4MDU4Nzk1MGZlNzlmNjYyMTIwZmUwOGQwIHJlbGVhc2UyMi1tYWludAorMjkwNzkgMzhhMWU1NmI5YmYzNTI0OTVhYTM0ZTE2YzlhMDk4MDBlMGQ2ZWRjNCBsZWdhY3ktdHJ1bmsKKzI5MDgwIDYzNzlhNTUxNDA2NWM5NTZjMTI1ZGE1NzMwN2I2YTJmOTA3Y2FhOTEgcmVsZWFzZTIyLW1haW50CisyOTA4MSA1ZjJjNmFjMjE1Yzc5OTVlZGQ3OTRiMTZjZjI4ZGZjZjg3YzRjOTgwIGxlZ2FjeS10cnVuaworMjkwODIgYjVkZWMwYTU1NGIzODBmZmMyN2Q0NWMxNGY3MjNhNjM5ODQ0YjZiYiByZWxlYXNlMjItbWFpbnQKKzI5MDgzIGRmMjc2YjczZmU0YjU3OTQ4MGNkZDIyYmUyZjQ1NDE2ZTJjMmQ4ZTAgcmVsZWFzZTIyLW1haW50CisyOTA4NCAyZGNkZTkwMzkxYWFlMzQ3NThhZWQwMmUxOWQ1NmNiOWM3NDM3Mzk2IHJlbGVhc2UyMi1tYWludAorMjkwODUgODdkYWE1NjU0NDJkYjgwMThhOGRmYmE5MjAwZmM4YjFmY2RhMGRjMSByZWxlYXNlMjItbWFpbnQKKzI5MDg2IGEwMDA1ZDI2NzczZDAyYzEwNTNlZmE3MzE4NTZmYmY3Y2Q1M2VkOTYgcmVsZWFzZTIyLW1haW50CisyOTA4NyBiOThmODVkYzJkODgxNTU4YjExMzQ2M2U1ZWZlMThmYWQ2OTEyZTQxIHJlbGVhc2UyMi1tYWludAorMjkwODggOGE3NTk3MzM2NzZmYmE5YWFlNmI2MzNkZGVjZGFmNjJjZTljMjhhYiByZWxlYXNlMjItbWFpbnQKKzI5MDg5IDRiYjkxOGVhNjRkMWUyYmM1ZGJiMGM5YWZhMDFlNTE1ZjQ2OGI5MWMgcmVsZWFzZTIyLW1haW50CisyOTA5MCBmODY3Y2E2YzdkNjk4ZTVlYmYyMWU2OTVkM2Q1OWM0NmE0NzRjOTIzIHJlbGVhc2UyMi1tYWludAorMjkwOTEgM2I2MDk1MjA0M2NkMDUwOTNkNTUzNzhlZmNkMTZlMTM2ZWEyMjNkOSBsZWdhY3ktdHJ1bmsKKzI5MDkyIDViYjJjMDU3ZmQ0MGI4OGEyZGQ2YzdjNzM1ZmQwNjEyN2VkODUwMjIgbGVnYWN5LXRydW5rCisyOTA5MyA0NDZiODM1ZmMxOWIyY2ZlZDc5MzgwYjdlOGZlODNjZDQ4YTVjYTFmIHJlbGVhc2UyMi1tYWludAorMjkwOTQgMjVkMWY0ZjkxNDg3ZTBkYWJjNzcyMzc4NjY2OGIxN2M4MTIwN2ZlZCBsZWdhY3ktdHJ1bmsKKzI5MDk1IDg1MDYyYTEyYzI0ZjhmYjQ1NDQ3OTZhMzM4Yjc4ZmM4NWE5MGQ4OGIgcmVsZWFzZTIyLW1haW50CisyOTA5NiA0Y2EzMmU0Zjc4MzkzYTI3YWU4MDZlNjQ3YmIwOWU3ZWE3NDM2MDUxIHJlbGVhc2UyMi1tYWludAorMjkwOTcgZWZhOWE4NjQ2NGQzNDJjZjFlNjNhMGQ1ODgwOTEwMjQ4MDZlYzFhOSByZWxlYXNlMjItbWFpbnQKKzI5MDk4IDg1NTM5Mjc5MDk0ZDE1ZTcxMTU4NWZlMjg5M2MyNGM0MGQ0Yzg0MDggcmVsZWFzZTIyLW1haW50CisyOTA5OSBhOTRmMjcyZTYwMGQ5MDk5NGMyNDVlNDRjZDVmZDdkMGRkMWM1MjE4IHJlbGVhc2UyMi1tYWludAorMjkxMDAgZWI4NDk5NzNiOTQxOGRlMzY4ZTA1MzJhM2FjYWM1YTRiZmU5YzA3MSByZWxlYXNlMjItbWFpbnQKKzI5MTAxIDQyMTM5YWJmZGJlNWJlYjVkNjNlMTFmM2MzZWMwNmFjYzAwODkwODkgcmVsZWFzZTIyLW1haW50CisyOTEwMiAyOWQ0MGVhZTg3MzZiM2YzYmNmZmJhNzM5NmI3ZTEzZmI4OGNjY2ZmIHJlbGVhc2UyMi1tYWludAorMjkxMDMgMGU2ZjBhMjJjNmE5MjNjODVmMzdmMDFhN2QwMDM5MDcwZmQ3MTc3NSByZWxlYXNlMjItbWFpbnQKKzI5MTA0IDVjZjMzZGI1NTBkNzVjZWJjOGY5YTlkMjM2MjY2NjFkNWU1NzhmYjUgcmVsZWFzZTIyLW1haW50CisyOTEwNSAxMzQzODU4NmRhYTYzNzNjZGI0YzE2NGU5NmYwZjdiMTU4OWYwMmI0IGxlZ2FjeS10cnVuaworMjkxMDYgYmYyOGQwZjc4YmQ1YjI5YjQzNmEzYzY3NmQ4MDczNjRiNmU0YTk1NSByZWxlYXNlMjItbWFpbnQKKzI5MTA3IDVjNmZhYzk1YTk0YjRmY2M5NjVhMWQzMzY0ZDQ5MzBhYWYxYmJjOWEgbGVnYWN5LXRydW5rCisyOTEwOCAxOTlmMGY2YThhMzYzMjA2ZDc0OTM1NDc4NzdiN2Y0ZGQ2NWZmMmEzIHJlbGVhc2UyMi1tYWludAorMjkxMDkgODhjMWM0ZDc4OTE2NmRjZTMzZGQ2MjhmYzAyYzg0YTUzNzNkM2M1YyByZWxlYXNlMjItbWFpbnQKKzI5MTEwIDMzYmQ2NDQ1YjdlOTM5NGMzNjdkZDdhMTczZmIwNjljODI0OGRiZGMgbGVnYWN5LXRydW5rCisyOTExMSBlMjE4NDc1MzE2NzQzODRjNDQyMDNjMTRjZmM3ZWM4MGUzNjU5NGNkIHJlbGVhc2UyMi1tYWludAorMjkxMTIgMTVlZTI5OWQzOWU2NzFkOTIwYzgxOGFmNWFkZmVhOGM0YjI0MjAzNiByZWxlYXNlMjItbWFpbnQKKzI5MTEzIDVkOGJiMDBmZWUxODk5Yzc2YTllNTY5NTNjYmM1NGI2ZTA1NjIyMmQgcmVsZWFzZTIyLW1haW50CisyOTExNCA0OTkyN2I2YjVmNDBmYTQzZTVhMWEzNDFmOTJiNDc2NmQxNzM4YTA1IHJlbGVhc2UyMi1tYWludAorMjkxMTUgM2ZhNTQ0YTNjNWVkYWFlZDdlZjYwOTFkZDBlOTJiMmU4NjhkZGZiNiByZWxlYXNlMjItbWFpbnQKKzI5MTE2IDExNTdjNDAwMzE2YjFlNmM5NmM0MzUyMDE5MzkyMTFmZTliYWE4MmEgbGVnYWN5LXRydW5rCisyOTExNyAyMTAzODQ2ZWVmNzNhZjU0ODlmNzg2NTM5YmI0NWJkYzJjMjE4NjE1IGxlZ2FjeS10cnVuaworMjkxMTggYzU4MDQxZTZhNzk5NzRlNGM4Y2I0OGJmMzg5ZTU3N2YxYmQwOTQxZiBsZWdhY3ktdHJ1bmsKKzI5MTE5IDBhMWMxYzVlMWFiNGYyOWUwZjk3ZWIwMDBjYjE3ODdmMzUzNDMzYTEgbGVnYWN5LXRydW5rCisyOTEyMSA0YmU5N2VkYTQzNmJiNjMzMDllYTI0ODgzMTQxMzZhMmY2NTM0MTlhIGxlZ2FjeS10cnVuaworMjkxMjIgMDY5MGVhNmQxMTUzNTcyYjMyYzllNzdhZDEwZjg3ZTJhMDI0NDdkZCByZWxlYXNlMjItbWFpbnQKKzI5MTIzIGY1MDk5YTUzMGQ2N2FmODBhZWYwMjM1MWI3MzBjZGNiYjUzZGUyNjYgcmVsZWFzZTIyLW1haW50CisyOTEyNCBjYjljMWY5NDIyMGI5OWVhYWVlYTVjODY4YTc5NDRmNDlkNzQzMDVmIGxlZ2FjeS10cnVuaworMjkxMjUgMDAwZDE1NTgxYTc2ODZkOTVlZTAwYTE1Mjk1ZGNlOGJjYTczMGU4OCByZWxlYXNlMjItbWFpbnQKKzI5MTI2IDkwMjc0YmEwNDQyNGQ3NjEwNWUyNmExMTIxZDFhNzllYzBlNzYzOGYgbGVnYWN5LXRydW5rCisyOTEyNyAxNGI2OGY1OTI5NWUzOTU2YjdmMTM1YmVkN2Y4ZGE4YzAyMGJkYTczIGxlZ2FjeS10cnVuaworMjkxMjggMzdjMDQ0NWJkYzkwZDk3ZDU0YjhkZjRmN2JiZjc2YjBmYTQxYzkxYiByZWxlYXNlMjItbWFpbnQKKzI5MTI4IDAxMjgzMTNjMjg1NWQ3MTc1M2YwMGZjY2M2MGJiMzllZDkyYTBjNTQgcmVsZWFzZTIyLW1haW50CisyOTEzMCBkZGJmNjlhYmI5NWNjODg2YWMxYmNkMmExYjIwNGU3MjA5Zjc1ZWEyIHJlbGVhc2UyMi1tYWludAorMjkxMzEgNGE4MjViOTAyMzEwZThkY2Y0ODhjNDMwZjhkZDgzYTQ0ZGQwYzhmOCBsZWdhY3ktdHJ1bmsKKzI5MTMyIGI2NTlhYjQ5NDU3MWVhN2U3YjI4Y2E3MGZhMzU3MzEwMzhjMzA3M2EgcmVsZWFzZTIyLW1haW50CisyOTEzMyA2M2M2ZjQ1ZTk0N2RlNDkyOTRkZjE2OTQ0ZTg2NmVjMTc3NmJhODU0IHJlbGVhc2UyMi1tYWludAorMjkxMzQgY2Y5MjY2MGUxZTNjZTNmNGVlOThkOWFiY2MyMDI2M2EwM2NkOWY1NCByZWxlYXNlMjItbWFpbnQKKzI5MTM2IGM1ZDkxNzkxZTU3YjI5NjM0ZDZhOTViNDQzNTYwMTM2OTc5MDhmYzAgcmVsZWFzZTIyLW1haW50CisyOTEzNyA4ODk3YTBiMWNiMDc1NDE4YTBkMjVkMWE4OTEyOGFhNDA4MzZiNTQ3IHJlbGVhc2UyMi1tYWludAorMjkxMzggMWE3OWI5ZTM5ZTcyNTJiNjA4MWFjOTE3OGQ2ZjEzZGYxMWJlY2FiZiBsZWdhY3ktdHJ1bmsKKzI5MTM5IDljZDZlZDk1NDA2NWRiNjIwZWZjMjM3OGVlMWZkODI3ZjY0YTIwMTQgcmVsZWFzZTIyLW1haW50CisyOTE0MCA2Mjg1MzE5NWJlNjhkMWZkMjUyNmI4OTUxNDdkMWY1NjM1N2NmNzEzIGxlZ2FjeS10cnVuaworMjkxNDEgNDFlODI4MGEzNjg1YTcwMjdlMDg2NTRiMGRmODE4N2EwMTc3ZGIwNiByZWxlYXNlMjItbWFpbnQKKzI5MTQyIGJhYzVhNDkzMjkwNTk5YThjYTkzNDNmMGMyOTZhNTIyZDczYzNiYjQgbGVnYWN5LXRydW5rCisyOTE0MyA2ODk2Y2VlZDQ2YTZiMmQyZWQzNzUyZDEyOTFmZmYxNGFjMGI4NjRkIGxlZ2FjeS10cnVuaworMjkxNDQgYzUyMTY1ZjJjZGY0MzkxZmJiNjRjM2M0MDE1MjJmN2U3NjE4NzEyYiBsZWdhY3ktdHJ1bmsKKzI5MTQ1IDM4NmU2ZmUyYzhkMmM5YTA2YzA1MzhlYjQ5ZjNkNzg4NjliYjk2YWIgcmVsZWFzZTIyLW1haW50CisyOTE0NiA2NWRmZmM5YzBhMTY5ZTdiZWJhM2Q3NGIzMjgzMjc1ODY5Yjk2YzE1IGxlZ2FjeS10cnVuaworMjkxNDcgYmE1MjJjNzRhOTMxMDFjNDM1YWVmZmU3ZWVhZWYyOWIwZTYwN2JiNCBsZWdhY3ktdHJ1bmsKKzI5MTQ4IGNlNDlmMTJhMTc2OWU2YTk3YzlkYzY0ZDdlNzdmNzkxMjRjYWYwNzUgbGVnYWN5LXRydW5rCisyOTE0OSAzODg0M2QzNWI2NDY2MDJhNDZiYjU2YTVlZDEyNjdkNmViOTcxMGY4IGxlZ2FjeS10cnVuaworMjkxNTAgYzdkNTgwMWJiYWU4YmNkYzU4OTU1Y2RkYzgxZWNhYmVmNDczM2M4NiBsZWdhY3ktdHJ1bmsKKzI5MTUxIDY5NWFkOGY4NzcwOTUxMTMzOWZhYzJkODhjYmVmNmFjZmExZGI5NTEgbGVnYWN5LXRydW5rCisyOTE1MiAwODA5ZGM1OThmZTIzYTJiMzJjNzAxOGUxOTk3YjU5YzE1ZmY3ZTEwIGxlZ2FjeS10cnVuaworMjkxNTMgZjRhYTY1NjcxMGYwMzlmMzc3ZjRhMGU3MGVhMGNiN2YyYzBlYjVkYSBsZWdhY3ktdHJ1bmsKKzI5MTU0IDU2YzBiYTIwMzI5YjRkZWQ0MjVmMWQ3NzdiZmUxZTdjYzkzM2Q2M2MgcmVsZWFzZTIyLW1haW50CisyOTE1NSBiMmU4MzdmMmQxNDFjNmZiZjlkNzFmZjJmMjcxNzgwMmYwZjBlNTk1IGxlZ2FjeS10cnVuaworMjkxNTYgZDhlYzk4Yjc0ZmE3OGI1NTRiYTljMWYxNGY3ZmJlOWNmZmRjMWQzOSByZWxlYXNlMjItbWFpbnQKKzI5MTU3IGIzOWJkMDNhOGRhYjY2OTIzODhkOWMxNjg0NGRjZTVjODVjYTBhZDIgbGVnYWN5LXRydW5rCisyOTE1OCAxM2Q2MzlhNGFmZDdiODNhOThjM2FmMDMxNDZhNWE3ZjIzMGQ1ODdlIGxlZ2FjeS10cnVuaworMjkxNTkgYTk2MjFiYTdlM2RiZDEzNDBiMGQwODdhNzZjZTQ0YzM0ODQyNzU1YyBsZWdhY3ktdHJ1bmsKKzI5MTYwIGU5ZTdmMTYwYWFjOTkwZTIxNWJhZmRmYTBmZDhiM2ZkZGQxOTQyOWYgbGVnYWN5LXRydW5rCisyOTE2MSA1MDAxM2QxYzZhNDNlYTFiZWVmNTI2ZjEzYzA2N2I1M2ViYTI2ODQ5IGxlZ2FjeS10cnVuaworMjkxNjIgYjc4ZjVjN2U1NzkwMjE5MDgzNTNhNjIwODcwMmFlOTcwYWNiYmJkZiBsZWdhY3ktdHJ1bmsKKzI5MTYzIDJmYjkxMGIxMzljMmUyNWQ1NmNlYjE0NDc1NDdiYjRkYzhjMzVkZjQgbGVnYWN5LXRydW5rCisyOTE2NCBmZWI4ODYzYjZmYzQ2NzRiZDdiOWQ0NzkxZGI1OTA1NzY3N2NiNjJiIGxlZ2FjeS10cnVuaworMjkxNjUgNmFlNmYyMDYwZTI4ZDM2NDM1YTkyOTlhMTg0ZmVjYzdkYWVlNmQ3OSBsZWdhY3ktdHJ1bmsKKzI5MTY2IGM2MjFmNzFiYzcwMjU2MDlmMDliOGQxODhjZjU1MTQwZThhNDBkN2IgbGVnYWN5LXRydW5rCisyOTE2OCA4MTIwNGUyMGNmZTU5ZTM3MmE3YTYwMTFmYTZiZjU2NTA0NWE3N2YwIGxlZ2FjeS10cnVuaworMjkxNjkgMGE3YWE4NzRjNDUwYmRkYTU5OTlhMzJjMGIyZGE1ZTJjMjRmMzU2ZCBsZWdhY3ktdHJ1bmsKKzI5MTcwIGU5NTkxNzJjYWY0OTMyMTg4MGY4M2M5OGRmYzM2ZTNhOTM4Y2I4NDIgcmVsZWFzZTIyLW1haW50CisyOTE3MSA0NDc3NjJlYmIxMWQyZDcyYTE1MTg4OWI5YjJlNDYxODVhODc3MmIwIGxlZ2FjeS10cnVuaworMjkxNzIgZWU3NTZhYjZhMTNlMGRmNzM4ZmI3OWJlYzE4ZDFlNzNkMTE2YjlkNCBsZWdhY3ktdHJ1bmsKKzI5MTczIDBmNTA1MzZhMTBiYjc3NjRlN2Q3NzIyZmMwZjA2N2Q0YmYwNDIxZDYgcmVsZWFzZTIyLW1haW50CisyOTE3NCAxZmUxYTU3ZDhlYjFiMjdiOGUzODdiZGFkZDc5ZTcwZGM5OWJhZmY4IGxlZ2FjeS10cnVuaworMjkxNzUgNzMzZGYyZDFlYmE5NzFiZjUwYTQ3MTBkNTgwNmE3NzhiZDA2MzY1NiBsZWdhY3ktdHJ1bmsKKzI5MTc2IDFhOWY0Nzg4NTI2MDRhN2QwY2NjMzgwMWJhMzZhZmNkNzM2MjM2NjEgbGVnYWN5LXRydW5rCisyOTE3NyBiYWQ5Njk5NTc2ZDlkOWJkNTYwZDgyZDRiMjc4ZDA4ZThkZWJkN2NkIHJlbGVhc2UyMi1tYWludAorMjkxNzggYWU2ODYzZTg3NzI0MzdiYzFjNzI1NmNkMTNlNDA5NGNhZGI2YzkzYyByZWxlYXNlMjItbWFpbnQKKzI5MTc5IDA2ZjYxNzNiODBmYjQxNzFkMDc5N2I2OTQ5YTA2ZmEzN2U2NmVjNDggcmVsZWFzZTIyLW1haW50CisyOTE4MCBlMDY3NDNmYWI0Nzc1Y2E4NDMzOWIzYzVjMGM3OGU3ZDdiNmQwM2I3IHJlbGVhc2UyMi1tYWludAorMjkxODEgNDFjNTkyMTIyZjYyOWZkNWQ5ZDYwOWE0N2JkNmRmN2Y5MzExNmM1YyByZWxlYXNlMjItbWFpbnQKKzI5MTgyIDJhZGFkYzE5OTIzY2UxMmYzMDkzMTIzODk1MzM2ZjJlMzdmNTg3ZDggbGVnYWN5LXRydW5rCisyOTE4MyAyOTBlYTBjNmRlNmE1YTFhY2YyYTNjMDZiMjIxNjcxNjIxZDMyMGM1IGxlZ2FjeS10cnVuaworMjkxODQgNTViMTgzOTQxMjNiN2FjNjI1NzU4ZGVjNzdkNGM4NTljZTliMmY1NSByZWxlYXNlMjItbWFpbnQKKzI5MTg1IGUzNzRlYTdhYzRjZTQ4YTA0NDkyOTU0ODI4MGFkZTE5ZmNjYWZkZTAgcmVsZWFzZTIyLW1haW50CisyOTE4NiBmNTMyZTliNjk1NTFjMmU3ZTc4NGFiYjFlNWNmMDJlYzk4ODI0MDNjIGxlZ2FjeS10cnVuaworMjkxODcgM2MyNmFlNjFlOTUyM2ViZGYzNTA1YzFkYmRlOTc4NWMwMDJlNDRjYSByZWxlYXNlMjItbWFpbnQKKzI5MTg4IDhiMjBiMjZmMTE4Njk5ODAyMzljYjEwNjc4ZDcxNWQ4ZDIyYzk0YTggbGVnYWN5LXRydW5rCisyOTE4OSBmNmVkYjFlZjJlM2Y4MDBmNjVjNmUwNjVmZWJmNGZjYWQxYjQ0ZTdjIGxlZ2FjeS10cnVuaworMjkxOTAgNjFlNmI1N2ViYmUxZDgwZWVhMjgyMGJjNzIwZDczNWI3MmRjNWEyZSBsZWdhY3ktdHJ1bmsKKzI5MTkxIGQ2MzRmYmQ1ZTQyMzJkZDdjMDkxNzA3ZTQyOGVlMjllMTlkMjVkYmEgbGVnYWN5LXRydW5rCisyOTE5MiA4ZTkyYmU2NWRlZDM2NjhmZTZhYWFhOGQ0ZjE3NTQ1MjNlMDdiODZiIHJlbGVhc2UyMi1tYWludAorMjkxOTMgNjVmYTE5M2VhMTA5MGNlN2Q5Y2Y5NjRmNDFhZjdmZWY4M2VhYjVhYyBsZWdhY3ktdHJ1bmsKKzI5MTk0IGY0NjE4MjdkYzdkZTZjM2YzZjM1ZjkxY2U5MDNmNzA0MjZlYjM0NWYgbGVnYWN5LXRydW5rCisyOTE5NSBmYTE3MzcxOWFjOGMwZWE2MTFiOGE2NmFlNGRhNjM3OTBmOGNiYzI2IGxlZ2FjeS10cnVuaworMjkxOTYgYjU5ZDFhMTE5MzkzMmRiMzZkMzNmNjFjOWI0MzZlMzc5N2UwNWIwMiBsZWdhY3ktdHJ1bmsKKzI5MTk3IGFjZTgyZGEzYjQ1MGU0YTI5YWJmMWNmMzBjZGYxY2UxMjhjZWI2ZjkgbGVnYWN5LXRydW5rCisyOTE5OCA3ODdmZWNkMGFhMWJiMTA3Njg2OWY1MTMwMDZjYWI5OTlmZTVkZDY5IGxlZ2FjeS10cnVuaworMjkxOTkgYzU5Y2U1MTNkZWY2MjViZWE2YTA1ODA5Mzg3MTZlNmFmY2E3NmUzMSBsZWdhY3ktdHJ1bmsKKzI5MjAwIDNhM2Q1YWVjN2E2YWZmMWRmZWU0ZjUzOGQ3OWZiY2Y2NTdiYWI3NGYgbGVnYWN5LXRydW5rCisyOTIwMSA3MDA1ZjRiNmNjMTIyY2NkOWZmYjkxMWJhODlhNmUyZTVkYmVhMjRmIHJlbGVhc2UyMi1tYWludAorMjkyMDIgNmQyMTM4Mzg5NjY3MjU2MjA1N2YzYjc1Y2FmYTk0Y2JmMDk5NDYxNSByZWxlYXNlMjItbWFpbnQKKzI5MjAzIDkyYThhMzUyZTAyNDMwNjMzYThlY2ZkZjYxNGMwNTI3MDYwZGVmNjQgcmVsZWFzZTIyLW1haW50CisyOTIwNCBiMGZhNWY2YThiYjk3ZGU3YTU1Nzg5ZjM0ODMwOTQ4ZmRmZWVkY2E0IGxlZ2FjeS10cnVuaworMjkyMDUgZWVlZDdjOGIyMzFhZWQxNjc2N2UzNzBlNzdmMmMxMjNlMDU2OGI2MCByZWxlYXNlMjItbWFpbnQKKzI5MjA2IDk3MDAyYjI1MDQyNTY3OWQxODYyNmE2N2M3ODJlY2U3YTY4OTFjNjcgcmVsZWFzZTIyLW1haW50CisyOTIwNyA3MGY5MDI2YTJiMTZmZDM4ZDg3YzI3MjRkNTZmMDNiMzhjMWM5MWY3IGxlZ2FjeS10cnVuaworMjkyMDggMjFhYjJhNjc0YzBhMTQ2NGVhMDZiZGQyYzllYjBiNDRlNGQ3ZDRjMSBsZWdhY3ktdHJ1bmsKKzI5MjA5IDM5NmM4YTI0ODgwYzgyNWQ1NDI0ZjBlNmNmMmM0YmY5Y2UxN2YxOTcgcmVsZWFzZTIyLW1haW50CisyOTIxMCA4NmJmODQwYzJhMWNhOGJlNGZkZDQwMjU3NzAyZTMwMTU3YmNlODM1IGxlZ2FjeS10cnVuaworMjkyMTEgNTRlYmYwODVkMjZmYTk2NGNhZjYyZGY2N2M2YTc0MWM4MWZiMzE1YSByZWxlYXNlMjItbWFpbnQKKzI5MjEyIGY3Y2NmNDk5MTU2NWMzZmIzMzIwMjhhMWQzYzJhNmFjM2ZmMWE2ZDUgbGVnYWN5LXRydW5rCisyOTIxMyA3MzQwYjY0YTQ5MDgyMjNlYmJmM2UwMmFlN2U4ZGRhMWQ0NjNmZDgzIHJlbGVhc2UyMi1tYWludAorMjkyMTQgNDg5MGYxYmRlYWE2NDJlMjBjN2U0Zjg3NjkxY2MyNTQzNzk2NmYzNyBsZWdhY3ktdHJ1bmsKKzI5MjE1IGY3YTQ2YjBkM2MwN2FhMzBlNjVhZTFjMjYzMzNhZWZiMTY3NWQxNjcgbGVnYWN5LXRydW5rCisyOTIxNiBkNDNlODJiOGQ3OWQ1Njg5ZThiYzliYjc2NmRiODRjM2M0OTY4ZDJjIHJlbGVhc2UyMi1tYWludAorMjkyMTcgZWMwYTQ4YWU4ZWI0N2VhMTZmNzM3ODQ4MTY1ZWNlOGQ0OTlmYjllYyBsZWdhY3ktdHJ1bmsKKzI5MjE4IDliZDJmOTc5MmVmYmE2N2ZmNTRmZGFmYWNjOTgyZmMwOGEzYTMxOTAgcmVsZWFzZTIyLW1haW50CisyOTIxOSAzYzk1ZTA5NzY4NDQ4ZWNhMzQyM2RjMDJlMGFiZjYwNTAwNDE5NjA2IGxlZ2FjeS10cnVuaworMjkyMjAgMmQxN2UzY2I3NzRlODM2M2Q5MTU0NDRjNGUxY2QyNTU2M2FlMzQxMiBsZWdhY3ktdHJ1bmsKKzI5MjIxIDc1Y2JlYzQwZGI3ZDVmYzU0MWNmZDBmZGJlM2JiZTUwM2U2MmNjZTYgbGVnYWN5LXRydW5rCisyOTIyMiA2ZDM1ZDQyOTJkZWM0NmQyMTgzOTI2MmM1ZmFlYjIzYTFkMTJlMzc5IGxlZ2FjeS10cnVuaworMjkyMjMgNjMyMjU4MTE0OThkNTExZDMxYjFjM2IwNDJhZGZhNmRmNDlkZWIwZiBsZWdhY3ktdHJ1bmsKKzI5MjI0IDA4MzhjNDI0NzkxNzgzZmVjOGE1ZTNkZGI2ZDFkNDBkMDQ1YjE4MTggbGVnYWN5LXRydW5rCisyOTIyNSBmNDQ5ZmI1YmJhYjhhZDY5YTUzYjI1NDJjNGQxOTYzNGMyOTMyZDUwIHJlbGVhc2UyMi1tYWludAorMjkyMjYgNTYzMjg0MWEzMmE0MDU5ZWJlYTM3NTdmNWMzNmJmN2YxMDUxOWQ0MyBsZWdhY3ktdHJ1bmsKKzI5MjI3IDZlZDBiYmRhYmRjODE5ZWMwYTI1YTFhMDdkMDUwYTFmMjIwNzJmYTQgcmVsZWFzZTIyLW1haW50CisyOTIyOCA2OWFhNjBkNzcxZDFmMzE5OWNjZDM2MzE0ZDUwYTZjNDJjMzQ4YmE3IHJlbGVhc2UyMi1tYWludAorMjkyMjkgYjRlZDlmOTMxOWNkZTQxMTVkYTFmMTU5NGU4ZWMwNzA0MDJhMDZhMyByZWxlYXNlMjItbWFpbnQKKzI5MjMwIGY0NDdiNjk2MDFiOTE1NmUxZDVhYTIwZjEwNTk1NzVhM2JlNWRlMjggbGVnYWN5LXRydW5rCisyOTIzMSBjYTk4OWE3MWI2YzdkZDdkY2QxMTVmYmYxZjllMjcwNjMxZmJhM2EwIHJlbGVhc2UyMi1tYWludAorMjkyMzIgNzFlM2E4ZTlkODg0MDYxYzFkNTdmOTZiOTlhMjQxZjgxNDllMzk1NCByZWxlYXNlMjItbWFpbnQKKzI5MjMzIDQ0NzI5ZmJiM2Q1YmJjMWFmYzZjN2VhNzBlY2MzNmRjMjJhMTIwZDQgbGVnYWN5LXRydW5rCisyOTIzNCA4YWU5YzBiMGFhMGYxNTRkY2M0OGRmMTVhMWQzY2NiYmI0NjVmMzE0IGxlZ2FjeS10cnVuaworMjkyMzUgN2E1N2RkZjcyNzk0ZWY5ZjEzOWE2NGYwYzBlOGJlOTQ4YzNkZGZhNiByZWxlYXNlMjItbWFpbnQKKzI5MjM2IDAzN2RmYmEwNzBhYzc4YzM4YTYwMmQyZGE5OWY3OTQzYzc1ZDQ1ZjIgcmVsZWFzZTIyLW1haW50CisyOTIzNyA1Njk4ZjBmZTJlYTAwOTAwNjA4ZWI3NGJiMzNhZGU2MzBmMzcxNmZhIGxlZ2FjeS10cnVuaworMjkyMzggOTUxZTNmZTdlZDNhZDNhNTZlNGI2Y2I3N2M4MWQ3ZDNhOGMyMDkxOCBsZWdhY3ktdHJ1bmsKKzI5MjM5IDNhODc5ZjJmY2EwNjZhZDI2ODI0ODYwZTQxOTZlZTViYWM4ZjgxODAgbGVnYWN5LXRydW5rCisyOTI0MCBkNTg3MWQ2ZTczNWQ3NGRmYzcxNWFlYWE2ODkxM2JiMGRmNzI4ZGM4IGxlZ2FjeS10cnVuaworMjkyNDEgMzYyMzAxYThjM2U0Mjg5ODZkNDA1MjNjMjRlOWNkM2UzNTE5NTI3ZCByZWxlYXNlMjItbWFpbnQKKzI5MjQyIDkxZWJmNDg4YjVhMTg3YmIzY2IzMTIzOWUxMzYwYTRlNTQ4ZjkxYmUgbGVnYWN5LXRydW5rCisyOTI0MyBjMzU1ZmQzN2Q2NDA3YjE0MmZjMmRmMTc4Y2ZkODU0MjA4Mzc5OWYxIHJlbGVhc2UyMi1tYWludAorMjkyNDQgODRlZTVhNDk5NzQzMDEwNjg4NmY5ZDY4OWUzNGY2ZTcyNjgyYmIxYyBsZWdhY3ktdHJ1bmsKKzI5MjQ2IGVkZjVlN2U1NWQxNDBhNzcxNzVlNzAyYWY1NmRlYzcxMWFkOTZlZmQgcmVsZWFzZTIyLW1haW50CisyOTI0NyBhZGU4YWYxYWEzYzY4ZjQzM2I2NzJmOGQxNzkxZWU5ZDYzYTNiODBkIHJlbGVhc2UyMi1tYWludAorMjkyNDggMWRhY2I2YWMzOGU5Y2VlNTMwYTdmOTUwYjQ3OGI4OWJhZDFlNWNmOCByZWxlYXNlMjItbWFpbnQKKzI5MjQ5IGNjNDFiOWNhY2FlODQ3ZTUxM2Y2ZmM1MTM0ODRiZTJhNDU3ODYzODkgbGVnYWN5LXRydW5rCisyOTI1MCBmMGE3NGFlMDlhZDczZTQ4YTM1MTk1NWQ2MDlhODg1YzcwMGY5MjhhIHJlbGVhc2UyMi1tYWludAorMjkyNTEgMmVmNzFmMzUxYzc0YTJlMWY1MGYxMzZlMjZkYWZkYWEwZWI0YjI1YyBsZWdhY3ktdHJ1bmsKKzI5MjUyIDQyM2FhNWVmOTI0N2JkNGY1ZGZlYmZjNDgxYjkwMDc1MjQwMTk3MWYgcmVsZWFzZTIyLW1haW50CisyOTI1MyBjZjE4Y2EwZWVhODkyZDU1YjQ5Mzk0OGJmMTJmY2ZmMTQ4YTJkODRiIGxlZ2FjeS10cnVuaworMjkyNTQgYWYyMGFlYWFhOTgyMDRhMDQ2MjdkMjdiZmM5Y2YyNmM3NmI4ZGY5YyBsZWdhY3ktdHJ1bmsKKzI5MjU1IGJmMzg0MTExYjNiMzhmN2Y4MjE3ZTFkYjAyODZlZmI1MjExOTQ1NmYgcmVsZWFzZTIyLW1haW50CisyOTI1NiBlYTFhNGNlYmM1MzBhNWIzZGU3ZWJkZThmZTg4YTQzMGFkYWQ2MjZkIHJlbGVhc2UyMi1tYWludAorMjkyNTYgNjFkNTMxNTMzYTg2MjI0YTFjMjY5MTdjMTgwMTNkOTFmNTkyZmJmYiByZWxlYXNlMjItbWFpbnQKKzI5MjU4IDgzODI4NTgzZDkxNzM4ZjZiYTg2ZTU2ODg4OGZjNWY3NTA2NjFmMzkgbGVnYWN5LXRydW5rCisyOTI1OSAzMWIyZmI0NDg1MTQ2MzJhNTUxOWRiNzY3ZjllN2Y3MmZhZDM1M2MzIGxlZ2FjeS10cnVuaworMjkyNjAgYTNkNjEyZjA1NjNmMTY0MzZkYjdlMGNhNjU0ZDkxMjJmZGY3NjU0MyBsZWdhY3ktdHJ1bmsKKzI5MjYxIGI4NThmNGM4ODNkZGRlNGQwODRjOWI4ZTRiZDRiZWIzOGJmOWRmMzcgbGVnYWN5LXRydW5rCisyOTI2MiAwMDFiNzg5ZjFmODRjMDA3OGNjYzUxZjlkNmRlY2IwZmMxMjJjOTMzIGxlZ2FjeS10cnVuaworMjkyNjMgYWMxNDMxN2E5YWU4YjMxNmU0YmE1MjdjNzA3NDkyY2Y3NzRmNmRmNSBsZWdhY3ktdHJ1bmsKKzI5MjY0IDNlYWZiZGU1NmIyMTlmMWRhYTVlMmM4NTJlYWUwOWFjMWJmYzVkYzEgbGVnYWN5LXRydW5rCisyOTI2NSA2NmUzZTVmMDkzY2ExMTM3NDg3ZGM4MDg2OTNmYmNmM2JkNDI2ZThhIGxlZ2FjeS10cnVuaworMjkyNjYgODVjODdiM2FjOTZiYzI2ZTU3NGY5NTRlMzFiNzZiZjk0YTVjYjg3NSBsZWdhY3ktdHJ1bmsKKzI5MjY3IDZjOTMwZTI1NmExNmQyNDg5ODZhZWQ3OTAzZDc0NTNlY2YwOTBmNWQgbGVnYWN5LXRydW5rCisyOTI2OCBiYzgxZDUzMWM2MjkzMjI1MmE3MjU4ZTM2YjgyMTFmN2RmYTliYzVjIGxlZ2FjeS10cnVuaworMjkyNjkgMzQyODQ4MjVkOWNkODFjMjkzMzNmZWQ4OWEzZjE5NGRlZDVmZmExZCBsZWdhY3ktdHJ1bmsKKzI5MjcwIGM3N2Q4MzU3MGIzZmNhZmY2YTM2Yjc4MjA0ODQ2ZTVmOWUwNGM4NmEgbGVnYWN5LXRydW5rCisyOTI3MSBhYjlkNDAxNmI1ODdkNWFlOWE3ZDVlOTQyZjIxNGFkZWJhM2E4OThhIGxlZ2FjeS10cnVuaworMjkyNzIgNjAwMTI2NWVjNjg2MTU2YzdhN2E0ZDE5MmUzMDVhY2FhMzAwNWYyZiBsZWdhY3ktdHJ1bmsKKzI5MjczIGI5NzY5ZjcxMzNjNjBhYzJiNDI2YTI0MWY3ZWQzYzIxNGVjMjI2ZGEgbGVnYWN5LXRydW5rCisyOTI3NCAwYmJlYTRkY2Q5YmVkNmQ4MWM5Mjc0NWNmNjhlODg4YjE2ZmJjZjk2IGxlZ2FjeS10cnVuaworMjkyNzUgMzdiZDJhOTAxYzEwMGE5ZmNmYzBiYmM1NTQ0YmU3YTE5OGQ3ZTEyOSBsZWdhY3ktdHJ1bmsKKzI5Mjc2IGZkY2E4N2M0MjM0ZWE0NmE1NDJhZmMxNzhiNzIwMGU1ZTc0MTQxZTQgbGVnYWN5LXRydW5rCisyOTI3NyBjZGNiMTAyZjhlNTZjMmNmNGE5MGE4NzNmNDNmNWJiNWJhN2RkYmFlIGxlZ2FjeS10cnVuaworMjkyNzggOTE1MTEyNjcxMTUyZjQzZmE5ZDdkY2I2ZWZhMzA2NjVhODYxZDkxNyBsZWdhY3ktdHJ1bmsKKzI5Mjc5IDU0ODM0MzYzY2NmMGRhNjlmMzQwZDBmYjc0MTdkZWEyZTU2ZTZkMDAgbGVnYWN5LXRydW5rCisyOTI4MCA1ZDM1MmRlOTQ0MTU4MGM4M2MyZGMwMmE2ZWM0MDY5MTQ2ODE3YjczIGxlZ2FjeS10cnVuaworMjkyODEgNzc3OTk4YTIyN2I3NGQxN2Y0ZGNiMjcxOTJlYmU3YjllOWFlNjljMiBsZWdhY3ktdHJ1bmsKKzI5MjgyIGI4Y2JkYjczNWNmMmIxOTllNTY0Zjk0ZTkxODliNGFmNDIwYjU2OTkgcmVsZWFzZTIyLW1haW50CisyOTI4MyA0YTkyYzdkOWQ0MTU0YjA1ZmJkMjQ1ZmZlMDZkYWQ4YTRlMGQ3MDYwIHJlbGVhc2UyMi1tYWludAorMjkyODQgNzZhYzE2MjkzZTRiNmM3NDA3ZWE5NTE0ZjkzNzJiN2Q4MWEwZjgxYyBsZWdhY3ktdHJ1bmsKKzI5Mjg1IGZmNjdkNWZmMTIzZTU2OWNiMGI1NTVjYzRlNDk4N2U3NDM0NGMzYWQgbGVnYWN5LXRydW5rCisyOTI4NiA3OTQxOTg5N2EzNmZlNzk3NzU1NmI3NGQ2MDA4YjU2NmNmMTIyMzQwIGxlZ2FjeS10cnVuaworMjkyODcgYzQ0MDNhM2VmYTVkNWY4YjhkODRlNDZjZDJiODk4ZGM2YmZkMTUwMyBsZWdhY3ktdHJ1bmsKKzI5Mjg4IDEyMjI3ZDc5ZjZiYTRjNzZkZjA1ZmM2NzFmMTVjNmI3NTE4NmZlYzAgbGVnYWN5LXRydW5rCisyOTI4OSAwZjRlOTk4ZTNlYmI2MzM0Y2IxYmE3YTUyMTM2NWI2ZGUwMzBlZjcxIGxlZ2FjeS10cnVuaworMjkyOTAgMDMyZjE5NjA1OWFhMGI0ZjcxZTBjODBlNGZjYzBmZTk3YTZhYmUxMyBsZWdhY3ktdHJ1bmsKKzI5MjkxIDk5MGIyNzUxNDkzODJiNGU3ZDdkOTRiNGFmNDhhZjkxZGJhNmM0MjkgbGVnYWN5LXRydW5rCisyOTI5MiAxYWZiMjI4ZTQyNjViNWE4NmYwOGMwYzg0ZGI0MDYwNjk0MzE1MDE2IGxlZ2FjeS10cnVuaworMjkyOTMgY2ViZWUyYTllM2NmOTk2MGMwMDU1NTM1ZjM5YTA0YjVlYWZlNTZiOSBsZWdhY3ktdHJ1bmsKKzI5Mjk0IGMyZGQ0MTMwMTg0MTA4YmU1M2I1MWY3ZTM5YTg1ODlmMWZhYzUzMTAgbGVnYWN5LXRydW5rCisyOTI5NSAwOTNmZTViOWY2Zjk0OWFhNWJiZDExNGYwMzVjOTI4YzAxZDU1Yzk1IGxlZ2FjeS10cnVuaworMjkyOTYgN2VhNjc0YWM1OTBlZjU3NDhkM2M0YTFkYjc0MTc2MDc3NGMxNTcxMyBsZWdhY3ktdHJ1bmsKKzI5Mjk3IGRjNDIwZGUxN2E2ZWU2M2NlZTAyMGI1MTk2NDdhMTNmMmEzNDU2MzEgbGVnYWN5LXRydW5rCisyOTI5OCBkZWFiZDA1M2I2ZGUxZjRlZDY1NmFmZDM5Nzk1ZmZlOTg1N2Q3YWM5IGxlZ2FjeS10cnVuaworMjkyOTkgODA1MDE1N2E0NDMwYmI3YmQ4NzIxMzU5OGI3NDM4NGJiMDAwM2E5OCBsZWdhY3ktdHJ1bmsKKzI5MzAwIDA5MGI3MmMwZDJlYjczMDI1OWE5YTc2Mjk1ZGUyNTEyNmQxZmE4NmEgbGVnYWN5LXRydW5rCisyOTMwMSA0NGNjN2M2MmQ5OGRiMzc3NjFjNDMxN2M1NGVjNTJmMmU1MDI3Y2ZmIHJlbGVhc2UyMi1tYWludAorMjkzMDIgMDM1YjhkZWI1MmMxZWY0ZDBlYjUzMDE3Y2E3YTQwMmMxOGVlNzM5NiByZWxlYXNlMjItbWFpbnQKKzI5MzAzIDQ3MDI5MjEyOTdkMTI1NWExMGNjOWM3M2JkMTI4N2IzNWEwNzEwNzEgbGVnYWN5LXRydW5rCisyOTMwNCBhODlkMDE0NTU5ZTA1N2YwMTYyMzI5Y2M0ZDhlNDViOTcwOWVjNjRkIGxlZ2FjeS10cnVuaworMjkzMDUgMmYzNjQ3YjIxYjA3NjMzOTBmMmQxNzg3NTE0MWQ4MzU1NGY0OWZmOCBsZWdhY3ktdHJ1bmsKKzI5MzA2IDg1NDA4ODdiY2VjNmM5YjkwYTJhYWFiNDEwMjI3OTUyMmQxZjdjNTkgcmVsZWFzZTIyLW1haW50CisyOTMwNyAyNDM1MDM5MjZjODFkODBlYzUzZTFhYjA0YjAzNWQzMzViZWRkMDQyIGxlZ2FjeS10cnVuaworMjkzMDggZWVhNDBjNDE3MjA1MzlmYmY3YjM0MzBkMGQwYmEzMzE5OWIxMjc3MiByZWxlYXNlMjItbWFpbnQKKzI5MzA5IDA5ZTNmMGQ4YmUxMGJlYjVhYjBlZmU4NDg0YWRhNDdiNGE3YjIyYzkgcmVsZWFzZTIyLW1haW50CisyOTMxMCBlYWI3OTQwMjc3ZmJiM2MxMzRiZGM0NDExODc2ZDJlOTJjMzRiN2M5IGxlZ2FjeS10cnVuaworMjkzMTEgN2I3Yjk2NTU1ODQyYTk0ZDQ2NzU3M2M0NmMyNWM0NzA1YjMzY2QxYSByZWxlYXNlMjItbWFpbnQKKzI5MzEyIDMxYmRjNjZmYjMwN2YwMTVjZjBlOGMwNzA4YTU4NTk5ZDRhZDM2MWMgbGVnYWN5LXRydW5rCisyOTMxMyA0YWNiNTUwMWI0OTAwYzcxM2QwMjJmMDNkZTc4MTRjNGViOWY1Y2YzIGxlZ2FjeS10cnVuaworMjkzMTQgOGZiMTJhYzc5YzkzN2FhNDM3ODU5NjU2ZmIxYWQ2MTNhYjYxNWI0NyByZWxlYXNlMjItbWFpbnQKKzI5MzE1IGVlZDBmY2Y4NWI2MjI5MDQyOWMyMTE5YzVkZmQ3ZjBjZTA2NzMwOGQgbGVnYWN5LXRydW5rCisyOTMxNiBhNWRiMjQ2ZDk0YTBiOTFhZDk0NDM0YjJjOTc2Zjk1MzAzZmUyOTM3IHJlbGVhc2UyMi1tYWludAorMjkzMTcgMDU3ZGU0MWRhZjQ4OTJkMDFmZmRlOTllMzg2ZmIzNDQ2YjY3ZTc5NiBsZWdhY3ktdHJ1bmsKKzI5MzE4IDY3MzgxZWJkNWY0ZjcyNjA4M2FiODU1ZDdhMjVlNGY3NDgwMThjZGMgbGVnYWN5LXRydW5rCisyOTMxOSA3ODg1ODk5ZmI0M2ViNTBjZDI5OTQyYWZmNzEwNDRhYmI3YjA4MjFhIGxlZ2FjeS10cnVuaworMjkzMjAgMWY1ZjY0ODE4ODZkOWFiMzQ4MTFkZTZlNDVmOTMwNjI1ZjUyZjdkNSBsZWdhY3ktdHJ1bmsKKzI5MzIxIDY4MGJmY2M5Y2EwNjZjNmM2ZGUyN2RjMDNlNDNiYWM3ZGQwYjcyYzUgbGVnYWN5LXRydW5rCisyOTMyMiAyZjliMGEzNWUyMDU3ODhmN2UyM2ExYmY0NzdkMDg4MDQyYTI0ODFhIGxlZ2FjeS10cnVuaworMjkzMjMgYTExY2ZhZTcxZGViMDc4NmU2MjIzMDA3MDQ5ODk0MDBjYTk2NTQwZiByZWxlYXNlMjItbWFpbnQKKzI5MzI0IDg0YTNkZDk5NGNkMTg4MDRmNjMzYjZjODNmNWYyOTZkMGJkMTM1MzUgbGVnYWN5LXRydW5rCisyOTMyNSA1NGYzMmJhNzA0N2NiM2ZiMTg5MjA3MTNlN2JiNGU0YmU1OGM1ZWNmIHJlbGVhc2UyMi1tYWludAorMjkzMjYgOWRkOWM1MzFjYTc4YzRmMTBkYzExNjRjNjEyOTk4MDM1ZDY3MDVjNCBsZWdhY3ktdHJ1bmsKKzI5MzI3IDRjOGE4Yzc0ZjRiZGE5NGZmMzg1ZjY1YzE1ZTRiZjIzN2YwY2ZmMGIgcmVsZWFzZTIyLW1haW50CisyOTMyOCA4MjNlOTQ3ZTI0NTAyNTdmZmM1N2M5ODFkMjVjZGExYmZhZWVhNmNmIGxlZ2FjeS10cnVuaworMjkzMjkgMzVmNDc2ZDY0ODFlZjQyOWRlZGFjMGU2Mjk0MmYzNjI5MDkzYThmYiBsZWdhY3ktdHJ1bmsKKzI5MzMwIDQxZTAzNjFhMjE5MTIyZmFlNzMzYzBmNmQyZDUzMmYxMGEzNGE1NjIgcmVsZWFzZTIyLW1haW50CisyOTMzMSBlNTZiNTJlNzhiYzk3OTBiNTNiNjc4ODUwYTNmMzdkMmYyODFkYzk4IGxlZ2FjeS10cnVuaworMjkzMzIgMTUxYWEzNDM0YWE2NzAyMzk3MmNhNzNhZGRjY2ZjMzc4OTQxN2E5NyBsZWdhY3ktdHJ1bmsKKzI5MzMzIGQxN2ZmYTA1MjJiNzU5ZWU5OGE3M2NkNTFkNjdiOGRkNjk5ZWVhYWUgbGVnYWN5LXRydW5rCisyOTMzNCBiOWFhODcxZjg0NGJmY2ZmY2VjNjI1NmU3MjEyNjUyYmNjMmZiOGE2IGxlZ2FjeS10cnVuaworMjkzMzUgYjdiMDEyZTc4ZGEzNWUzYmM1NTE3YzUyMDExZDVhMWE5NmI5YjM5MCBsZWdhY3ktdHJ1bmsKKzI5MzM2IDJiMTU4MjY3YjAwZTRjMDljMDExMzA3YjA5YzI4YTI2MmU3MmVlYTQgbGVnYWN5LXRydW5rCisyOTMzNyAyYmNiNDE2MTFmYWU5MTkzNTJiNDA3MmIwOWE3ZmJlYTlhMjBiMTkyIGxlZ2FjeS10cnVuaworMjkzMzggNGViOTRjNTZjNDZhNDcxYTQ2ZDNkOWE3ZDBkN2EwODAxMmY3OTE4MSBsZWdhY3ktdHJ1bmsKKzI5MzM5IGNiOTEwYzM5NDkyNzE0OTUzNzUwMTQwMjEzZWEyNWU1NjkwYTM2MjQgbGVnYWN5LXRydW5rCisyOTM0MCBhOWNmZWI0MmUyNDA5OTg2NGEzZmMwNjZjY2QzMTdkOWRiZjM3ZDc3IGxlZ2FjeS10cnVuaworMjkzNDEgNTdmYjNkNWUzZGQzNzYwMWVmZjgyNzllYjA2NWI3YWRkYTE1ZmJkNSBsZWdhY3ktdHJ1bmsKKzI5MzQyIDc5MzA1YTJlZmE4Yzg3OGVjMzdiMWJjOTBmZjlhOWIxMTY4OWJlYTggbGVnYWN5LXRydW5rCisyOTM0MyA5MjUzZmU4NmI5MjJmYTFhMWQxMmIyMGUwMWUxNjFjMzNhOWIzZjBiIGxlZ2FjeS10cnVuaworMjkzNDQgNWY3YTMzNGMwOTI1MTA5OTQzYjVmZWRiZjVlZTg4MDQ3YWZhNWI3ZCBsZWdhY3ktdHJ1bmsKKzI5MzQ1IDE1NjA3ZWM0OWZhZjEwODE4NDdiZGI5MDQ4Mjk3MWNmZDdkODM4N2MgbGVnYWN5LXRydW5rCisyOTM0NiBkNGNmYTQwNDNjMDk0ZDdiYTBiZjA1YzZjNDEyMTQ5OTkzY2E2MmMyIGxlZ2FjeS10cnVuaworMjkzNDcgY2EwMjVlOWZlNWJjMmU5MDRiNDIzZWY3YWFlYWVhMDZiZjdmODdkZSBhc3QtYnJhbmNoCisyOTM0OCA4M2EzMmM1NDdiNDk5M2I2MGY1YTQ4M2E0ODJkZGE3YmU4ZmViZmYwIGFzdC1icmFuY2gKKzI5MzQ5IDA5OGNkYmFkNTVjZjJlNzYwNDJmNjcyNDQ2ZTAxODNiNDgxMjQzZGEgYXN0LWJyYW5jaAorMjkzNTAgMmQ3ZjQyNzcwNzMzMjVjYTg4ZGEzODdmMWE4Y2RmODE3ZTU0NzNjOSBhc3QtYnJhbmNoCisyOTM1MSA0NTg3ZDFhZjJjNDE0M2U1YTQ5MGFmZDYzYTlkMzEwZWJiMGI1NGFhIGFzdC1icmFuY2gKKzI5MzUyIGFhMmVhNWZmNWY0MjcwOWQ3NDhkNjhkOTdkYzgzYzE1OWUyOWU3YjQgYXN0LWJyYW5jaAorMjkzNTMgMDdjNmQzYjkyOTNjMjc1ZGM5NTE5OWU0MzZiYjZjMDNiZDRjYTk0NCBhc3QtYnJhbmNoCisyOTM1NCA0NmI1NjczY2EzODBkYWI4NDVhNWZkOTlhZDJiYjhkZWRiOTAxMjFkIGFzdC1icmFuY2gKKzI5MzU1IGUzNjVlNmJmNDFiYjAxZjY4MzJiZGYyM2JlMTE2ZDc5NGU1ODc3NDQgbGVnYWN5LXRydW5rCisyOTM1NiA0ZDUwMzE4YjNlYjE4MWRiN2Q2Mjg4ZmQ1NWEwMzUwMWViOTZjZTYyIHJlbGVhc2UyMi1tYWludAorMjkzNTcgOGQ0NGQ2MTQ5NDFkNDc3YTY2YmMzMTdmMDQ1NjMzY2RhMjIwYjYwOSBsZWdhY3ktdHJ1bmsKKzI5MzU4IDZmMTg1MDhiZWQzZDI3ODg1Y2JkZmZhZTlhM2RkMThlZDdlZmRmMTYgbGVnYWN5LXRydW5rCisyOTM1OSA3ZTgwZTdkMDVhMTZjODM5YjdkYTI3NWE2OTQ2ODMyYzRjODY2YzhjIGxlZ2FjeS10cnVuaworMjkzNjAgMzRmMTdmYjQ5YzUxMzExMDM5ODZjZTliMjE1ZDExYjRiMGU2MmJjNSBsZWdhY3ktdHJ1bmsKKzI5MzYxIGZlYzE1YmFkMzg2ZDlmMGQzMDcwNWM0ZDZjMzQ1MDQyMzE0YmIwMzcgbGVnYWN5LXRydW5rCisyOTM2MiBhNzBmY2M1ZGJiYTUwNWRkYjU1ODY5N2YxNzZhM2VkMDhhODRjZGYzIHJlbGVhc2UyMi1tYWludAorMjkzNjMgNTI5ZGE1MDVlYWJjNzMxMDM4OTMwYmY4NzExYmRkOWJmNDEyZjA5MiBsZWdhY3ktdHJ1bmsKKzI5MzY0IDE3NTA0MWUzNDU4N2E3NjFlYWJmNmU4NzBhYTkwNGE4ZGM5ODQxZjMgbGVnYWN5LXRydW5rCisyOTM2NSA3ZjAzMGI4ZjkxN2Q5MGIwMmM0ZjM5ZTBiMDJlMTFlYmVmMWM4ZWFhIHJlbGVhc2UyMi1tYWludAorMjkzNjYgZmJlYTcwYTQwMjkxNTQyMTgzMWZhNWNiMmExNDgwYTcxZjkyMmNiYSByZWxlYXNlMjItbWFpbnQKKzI5MzY3IGFjMjM5ZWUwYzllOGI4NzFkYTA4NmQwNGE0YzNkNjdmN2Y2NjZkNDEgcmVsZWFzZTIyLW1haW50CisyOTM2OCBjZjg3OTIwMzUxYWNlOTI3N2E2N2I5MTRjMzU4NTZmM2EyMDNjYmM0IGxlZ2FjeS10cnVuaworMjkzNjkgNDAyZmRhZTY3ZTQ0MGY0ZDg2YTU3MzkxMzc2NDRiZjU4Y2Q0YjFmZSByZWxlYXNlMjItbWFpbnQKKzI5MzcwIDE5NTAwYzliNThjMTYxYmZjNTNhNmU3YzYwMDZmNjU5ZWMzZTY5OWYgbGVnYWN5LXRydW5rCisyOTM3MSA1MDliYjBiNmRmYTNjYmNjOTBiNzM3MjBmYjg2OGU3NjQwNzgyYzc5IGxlZ2FjeS10cnVuaworMjkzNzIgMTI0OTI0NTIxMmU0NDYxNjFjNGY1YTdlZjdiMGNkYTRmZmJhYWM4ZiByZWxlYXNlMjItbWFpbnQKKzI5MzczIDM3ZDg3ZGM4MDNkN2E0YmQ2MmRlNzVmMTEyMmFlZTE3ZGMzNjg4YzkgbGVnYWN5LXRydW5rCisyOTM3NCBkM2I3Mzc3YzhhZmFkZTEyMDlkZjg5MDAwNDg3MjMzMjJlNzU3ODY0IGxlZ2FjeS10cnVuaworMjkzNzUgYzMzOThjMjVkZmVmN2Q5MDY1NmVkM2NkYTEzNzFhMzBjMmM2OTE5NSBsZWdhY3ktdHJ1bmsKKzI5Mzc2IGZiN2M1MmNhOTg0MDUxMGU2ZmYxYjZiMzc5MDEzOTM3NGRjZDc2YjQgcmVsZWFzZTIyLW1haW50CisyOTM3NyAwOTVkYmJlYmE5YzA0ZmQ2NDQzNTNkMzk1MWQ0MDgzY2RmNGFhOWY1IGxlZ2FjeS10cnVuaworMjkzNzggNDg3ZDNjMjQ5MGJjMDM1ODgxMjBlYWQyNWFkOTA3ZmE5ODVmMTBhNSByZWxlYXNlMjItbWFpbnQKKzI5Mzc5IDAzYzNmNjEwZTA1NDEzMDhiNGI1ODRlNmYyZTgzZDE1YjEyZTJlZGMgbGVnYWN5LXRydW5rCisyOTM4MCA1MTgyOGVhNTBiNTljMGU4MWU0Yzc3Y2U1MGE0MWM5ZjQwMjYwODUzIGxlZ2FjeS10cnVuaworMjkzODEgMTc5NDgyODc1Y2ZiYTVjNDBmN2Y4ODcyZjcxODllZTVmYWM4OTg2OSByZWxlYXNlMjItbWFpbnQKKzI5MzgyIDUwOTA1ZGIzNWRhNWIwZjA2OWZkYzRmMjVkNTliMDE2ZmM4YzE4YjcgbGVnYWN5LXRydW5rCisyOTM4MyA2ZWE5ZWVmOTkxMDg0Nzg2MzA4Zjk4NzhlYTYwMjNjZmE4OWY3MmZjIHJlbGVhc2UyMi1tYWludAorMjkzODQgZGYwNTVhOWVmZjljZjkwNzc4YzBkYmU2ZGMzMGE5MTBiMjBkN2MxMiBsZWdhY3ktdHJ1bmsKKzI5Mzg1IDBiYWM2NmUxYjM1NjkwNGVhZTQyZDc4ODBjZTdiM2ZhNDY1NWI2NzIgbGVnYWN5LXRydW5rCisyOTM4NiBhY2NkMmY1NGUxODQ3YWM0NWE5ZWQ4OTAzOTQxODRlMmFmMWViYThiIGxlZ2FjeS10cnVuaworMjkzODcgZDMyYzQ1ZDI3OGIyNDkwZGY1NWU5ZjcwODIzZjIxMWFhODQ4ZWFjNSBsZWdhY3ktdHJ1bmsKKzI5Mzg4IGY3ZGEzM2JjZTFkOTM5OTZjOGU3YmNmMjQ0NjAxNjM5ODJmODI3NjIgbGVnYWN5LXRydW5rCisyOTM4OSBmYmExNmI5YmM5NTE3ZjRiZDlmNTQzYTJmYzM4NjE1ZmYxZTVlODM3IGxlZ2FjeS10cnVuaworMjkzOTAgYjA2MzgzMjllM2I5YTFhOWI2NWJhMWI3MGJlNWMzMTBmYmJlNmViZCByZWxlYXNlMjItbWFpbnQKKzI5MzkxIGYyZGFlM2Q5YTc1YmQzYzNlNTg2ZGUyMmEyOWMxNmM5NDEyNDA3ZjkgcmVsZWFzZTIyLW1haW50CisyOTM5MiA4YmI2MDAzZjdmNTRjNTk2NmVhZWVlNDhlNmQ5MGJmZDUwYmYyMDBiIGxlZ2FjeS10cnVuaworMjkzOTMgNWI2ZDU1YjQ1Mjg3YzQzNGY2MmQxMGM3N2VhNDJmYjcwNzdiZWFkNSBsZWdhY3ktdHJ1bmsKKzI5Mzk0IDk5MDFmZGE3YzM2NjRhN2Y3NTMyMzJlOWVhOGRlOGVmZTAxY2ViNTkgbGVnYWN5LXRydW5rCisyOTM5NSA0ZWY3Njg2YzRjODg5ZjY3MTY2ODYyYjIzZWI0MTZkOTkxYjY3MGYzIGxlZ2FjeS10cnVuaworMjkzOTYgNGY0ZTAyNjBiNzcxMzIzODEzZjM3Y2Q5NWEwYmZmMTVjMTFkZmI1YiByZWxlYXNlMjItbWFpbnQKKzI5Mzk3IGU4ZmM0NTllYzAxNTU4NWJmYjEwMTI5NzE5YmYxNTE5ZmMzNjE5NWMgbGVnYWN5LXRydW5rCisyOTM5OCA2ZTQxNGZiYTQ2ZjY4YzI5YTA4NjVjY2M1Y2U0ZGE5ZGRkNTFlNWEzIGxlZ2FjeS10cnVuaworMjkzOTkgODM0YjBlMDM4OWM1YTliM2E5Mjg5NTQyNWM3NGQ2OTcwNGEzOTc1YyBsZWdhY3ktdHJ1bmsKKzI5NDAwIGRjNGEwMzM2YTJhMzNjYzFjNmE4NDlmNDMxZDUzODM2MjcyMjY2ZGUgbGVnYWN5LXRydW5rCisyOTQwMSA2ZDU1NDJjYTI3N2EzOWE4OTc2NGM2N2EzNzA3ODI1MmFmMzk1NjRkIGxlZ2FjeS10cnVuaworMjk0MDIgNTg5NDFmY2I2ZjViYzE1NmExYjFlYjhjZDQ1MjQ3ZDc0NjI1Mjg1MiBsZWdhY3ktdHJ1bmsKKzI5NDAzIDcwNDkyNjhmMjUyZDI3MjVlNzhkOTU1NmFkYzlkN2M4NDNhZWRjZGMgbGVnYWN5LXRydW5rCisyOTQwNCA3NTc1NmM4NTU4YmQ5MTE3MWNjNTg0MDczNzM2NWRjZTllZDVmNTQ1IGxlZ2FjeS10cnVuaworMjk0MDUgZGVmOTYwOWQ5MzY5Y2E4YWU2ZWUyOWQ3YTNhNWYzNGFmOWViZTQ5MiBsZWdhY3ktdHJ1bmsKKzI5NDA2IDMwNjViNTRlM2FiNzFiZjE3ZGYyNmExYmQzYjBiMDdkN2NjOTdlZmMgbGVnYWN5LXRydW5rCisyOTQwNyAxMWZjY2NjZDM2MDA0NzkxNjc0YTQ1ZmJmMjRjYmUwMmRkOTIyNjZmIGxlZ2FjeS10cnVuaworMjk0MDggNzkwNzI5NDc3NjEwZWE3N2I4MTY3NzNiZDczNjAyNmZkZDVlOTlhZiBsZWdhY3ktdHJ1bmsKKzI5NDA5IDA0Y2MxMmJkY2VkZWFhNzViZDU0YjBlNjI5ZmViMDMxNGM1ODhkYWUgbGVnYWN5LXRydW5rCisyOTQxMCBiZTg4MTYxNDg0OGIyODg2M2ZmMjNkNTdmZTAxMDdlODk2NmZlYTAzIGxlZ2FjeS10cnVuaworMjk0MTEgOTQyNDBhZDUwZGJlMmU3MWI4Y2IzZDY4ZmVhOTUxM2VjN2ZlZDc3NSBsZWdhY3ktdHJ1bmsKKzI5NDEyIGI2ZWU4MDQ3YjI1MGQ0YTk0ZGZjYzk2ZjhhOWU1ZWMyYjAyNzYzYjIgbGVnYWN5LXRydW5rCisyOTQxMyBmYjU3ZDU3NzdhMjQ5MmI3MjczZjA0ZjVjOGEyNDA5M2E2YjQwNjI3IGxlZ2FjeS10cnVuaworMjk0MTQgNDhlNDYxMmY4N2NkOTI4YjllZjdhYzk3YzNlYzZhZjM5ODA4N2ExMyBsZWdhY3ktdHJ1bmsKKzI5NDE1IDQzZjcwMTA5Y2RhNWM1NThiZTI5NjY5YzVmNDkyODkxNmZhNDgwODkgcmVsZWFzZTIyLW1haW50CisyOTQxNiBlMWRiMWY5MGUxN2Y5ZDM3MGYxMjc3ZmFlOTRkNzY2MGExNTRhYzhmIGxlZ2FjeS10cnVuaworMjk0MTcgN2I3NzNhMTI3MWMzZGYzODI0ZjcwOWUwNGM4NWVmNmI3YTk0OGIzZiBsZWdhY3ktdHJ1bmsKKzI5NDE4IDNkYjc3MmQ0NWY5ODg2YzliYzIzMDE2NDJiMGM5Mzc4ZGZlMjY0NGQgbGVnYWN5LXRydW5rCisyOTQxOSAyNmI0NDBjMzdjOTRjODkyNjFjY2Y5OTMzYzZjY2UzZjU2YTJjZTM3IHJlbGVhc2UyMi1tYWludAorMjk0MjAgMjUzZTllZGZkZmMwNjBmZjc3YjQ4OTZmNGFlMmI3NzFjZjA5ODliZSByZWxlYXNlMjItbWFpbnQKKzI5NDIxIGFhZTM3NjRjNGQ1OGQ0OTFmNGM2NWYxYWEyZTAwNGNlMTAyMWI2ZTEgcmVsZWFzZTIyLW1haW50CisyOTQyMiBiOTI0NmY4ZmI4ZmQzMDRjZWM3MzZlZWJhYTFkMjI5YTk4NzBlOGFkIHJlbGVhc2UyMi1tYWludAorMjk0MjMgODA4ZTUxM2EyZjVjMmZjNDg4OTZmODdhNzYyMTNhYTBkZTYwOWNmZCByZWxlYXNlMjItbWFpbnQKKzI5NDI1IDg1ODVmZDlhZWNlZjk1YWRlNjU4NWY4MWQ4Zjc5YTEyZDY0NDlmMjEgbGVnYWN5LXRydW5rCisyOTQyNiAzNmQ0MThiZWE1NTIxOGYwZjBmNjEwNDgzZjI1NmE0OGI2Mzk4YTU3IGxlZ2FjeS10cnVuaworMjk0MjcgNDQ1ZmViMjZhZGZiOWFhNTIwMWYyNjQ1NWViYjMwODA0ZTlkYTYxZiBsZWdhY3ktdHJ1bmsKKzI5NDI4IGY0ZjE3Njc4ZmRkODY1OGRiYTRiZmZkOWU5MjAyMDFkMTBmZjMwN2MgcmVsZWFzZTIyLW1haW50CisyOTQyOSA5NDllZDgzNjVkNThkMzUxYmM3MjA1NTZhMzFlZDBmZTJiYjU0YWEyIGxlZ2FjeS10cnVuaworMjk0MzAgMThlZGYyM2JmNDk5M2Q3MTAyOTQ3ZTM0NDc4OWUzYzEzNWEwNDNlZiBsZWdhY3ktdHJ1bmsKKzI5NDMxIGRiYTYwZDAyNGU0ODQzNjNhMmY4ZTljZDM5NzRlZWNhN2I0NGFiMTkgbGVnYWN5LXRydW5rCisyOTQzMiAwOTY2NDJkN2VjYTI1YmI3ZDJjYjIyNjMyNTg4YzUyMTgwZGM3MmUwIGxlZ2FjeS10cnVuaworMjk0MzMgZmM2YTE5ZjY5YWM3ZTJiNjBlZTc5Y2VmYTJmZmMxNjNlMmQwOWYzNyByZWxlYXNlMjItbWFpbnQKKzI5NDM0IDAxYmY5Yzg4ZDk2MDM2YjY2NjJhMTU5MjdhZGQyNmMyNGM0NTZjZTMgbGVnYWN5LXRydW5rCisyOTQzNSA3MjczNGIzOWY4YWEwYWNmNTI2YWQyM2E2NzlhZWZhNDZhYTAyOGFlIGxlZ2FjeS10cnVuaworMjk0MzYgZDkwZWY0NmQwODM4MjhiYzk1YzBiZDQ2YjkxMWVmZWJjOTJiZTczMSBsZWdhY3ktdHJ1bmsKKzI5NDM3IDRhMjRjNmE2NDI5YTY2NzM1MDdlM2E2Yjc5NTMwNmY1OThkNjc3MTkgbGVnYWN5LXRydW5rCisyOTQzOCA5MWQzZDQ0NTJjNDgyMjBiNDY3OTVjMDMzY2M0Y2JlNGYzMDU3YjE2IGxlZ2FjeS10cnVuaworMjk0MzkgZTM0OWZlMDkzYjM0YTkxODQ5ZDE4OTlhZGE1NWJhM2IyOTliN2QzNCBsZWdhY3ktdHJ1bmsKKzI5NDQwIDMyM2U0YzExNDZkMGM2MDI1ZjZiZmRlNDhjMmYxMDY0MzBlNzIyMGYgbGVnYWN5LXRydW5rCisyOTQ0MSA1NTE3YzM2YWM0OTdkYzM2NDBiMDZiY2RiOTFlZDk0Mzk3YTg5YTc0IHJlbGVhc2UyMi1tYWludAorMjk0NDIgNjg3NWJkN2NiNTcwNTczZWVjMzNjYmU2NzQzNWViMTkwY2NhYWJlYiBsZWdhY3ktdHJ1bmsKKzI5NDQzIDViODI4ZmZlMWIzNWYwMWVlNmNiZTM3MDIxNWU3YjNjN2Q5ZDliNzUgbGVnYWN5LXRydW5rCisyOTQ0NCA0MjUyYjA0ZjNlZWQ2MzRjZTIzY2NkMjA3ZjhlNTU2NDQyZjE5NDg2IGxlZ2FjeS10cnVuaworMjk0NDUgOGU3MzM4MzQ3NGVhZWI3ZWUyOTJmNmQzOWI2MzlkYzU2OTUzYjUwZiBsZWdhY3ktdHJ1bmsKKzI5NDQ2IGQ3ZGEwODBkNzc2MzA0YzhiYzM5ZWQ3NTdkZWIxN2VhZGFhMDlmZjEgbGVnYWN5LXRydW5rCisyOTQ0NyA0NzJhNDJlMjAyNDQwOWFkYzU5NjBhNjMwMTJkMjI5NWY4YjAzOTBlIGxlZ2FjeS10cnVuaworMjk0NDggY2I4Mjk4YTZlZDQ3YzQ0ZGRmMTA2NTFhNmU3MDJhZTQxOTY5MTcxOCBsZWdhY3ktdHJ1bmsKKzI5NDQ5IDY2NjJmOWQ0MjIwYjVjZGEwNjQ1ZTE2YjYzOWIzYWE5ODRmMDgxNmEgbGVnYWN5LXRydW5rCisyOTQ1MCBhNjhjNmQ2MmZlNzg4ZGY0MDA0OTFkOGY2ODhhZWYzOTcyOWM0ZmQyIGxlZ2FjeS10cnVuaworMjk0NTEgMDQwYWY5YzczNmJiMTk4YmU4NTM2MzI3ZmJmMTI3NTNkZTVlYzdjMCBsZWdhY3ktdHJ1bmsKKzI5NDUyIGI2NDc4ZDQ2MzU1NTRiZTE1MjlhZTk1ZGE4OTEyNGVjZDViZDMxNmUgbGVnYWN5LXRydW5rCisyOTQ1MyAyZDgzN2UyMDgzZmFmMzUwOTQyZDZjNDZmNmQ4YjhlNjZhN2U4ZTQ1IGxlZ2FjeS10cnVuaworMjk0NTQgMWQwMmI0MDVlMzFmYjIxOWMwNzUyZDQwMjI5OGY1OWQyMDA1OTU2ZSBsZWdhY3ktdHJ1bmsKKzI5NDU1IDRmMWI3Mzk2YTNjNTQyNjg5NDQ3N2U3MzFlYmI4MDkzMzE2M2NiYTMgbGVnYWN5LXRydW5rCisyOTQ1NiBkODEyYjhhYWVmYjMxYjQ2NjJmYjZiNTZjZDk2OTljN2M3NDRiZGE3IGxlZ2FjeS10cnVuaworMjk0NTcgMDE0N2ViZWY5NDUzYzM2MWY0Mzg0MmE5ZTMzN2E1YmM0MWJiZTFjZiBsZWdhY3ktdHJ1bmsKKzI5NDU4IDA2ZTAwNTY2NmM0MjI5MWY4ZmRkMGI1NjUyZDVkNDYyNGEyYTgyNDAgbGVnYWN5LXRydW5rCisyOTQ1OSBlMWJmNDYwNGMwYTU4NGIxYmIxODA0ODIzOTA2NTU3N2U4MjZlMmE5IGxlZ2FjeS10cnVuaworMjk0NjAgZDMwOGRmODI0ZTJkMTViYzAxMmY5YzE3ZGIyNTczY2YxOTAxZGIyOCByZWxlYXNlMjItbWFpbnQKKzI5NDYxIDE1MjIxOTgwNzE0NDcyZDEyMzRhMDZiYTRiMTk4YzczYjE1YWMyNzQgbGVnYWN5LXRydW5rCisyOTQ2MiAxNDI1YmVhMmVhNjZhMTBjOGRiMzhiYmEwM2E1ZDg3NDAxZDc4NzQ2IHJlbGVhc2UyMi1tYWludAorMjk0NjMgOWNlZDNlNTE4N2VlMWQ2NjU4ZWQ0MGUzMWZkYjEwNzQ0ZTVmZDY3NCBsZWdhY3ktdHJ1bmsKKzI5NDY0IDZlMTFhZTA0YWYxMDk0OWE2MGU1ZGJjYWY3MDhiN2VhMzAyYjcwMjUgbGVnYWN5LXRydW5rCisyOTQ2NSA5MGY0ZWVlZmM1MTZmOWYzZDNlMDdjMTA1YzMxYWRmMzdmMTAwYjgyIGxlZ2FjeS10cnVuaworMjk0NjYgNjExYWY3OWMwZTg5MmI0ZWMzNDNiYTBkOWYyOWM5NTJiZDkxZmRlZSBsZWdhY3ktdHJ1bmsKKzI5NDY3IDI3M2NhZDdmN2RmNzIxOTY3ZGFiYjRjNDRlMWVkNzNhNzQyZTQxYzQgbGVnYWN5LXRydW5rCisyOTQ2OCAxOTc2MmE0OTM2ZmM4NGI0YzA5Y2UwNWY0NmUxOTFhMjYyMGUyZGZhIGxlZ2FjeS10cnVuaworMjk0NjkgMGZkZmNjZGZlYzA2ZjJlZWMyNDViM2FjYmM5MTczZTIzN2M2MmU5NiBsZWdhY3ktdHJ1bmsKKzI5NDcwIDkwYTA5Y2QxNTMwNTkzMWRmNWQwMTc2NDMyOGI2MDk3ZTgzYWI5YTkgbGVnYWN5LXRydW5rCisyOTQ3MSBiYjgxMzM0NmIyMjdlZTFjOTY0NjFmMmMzZTVhMzk4OTRmZTVlN2ExIGxlZ2FjeS10cnVuaworMjk0NzIgMWFhYTEyYzA4YjM1OTQ5Zjk0ZDUyOTY0YTZhZDY2OTdlMDg2ZWEyYSBsZWdhY3ktdHJ1bmsKKzI5NDczIGE3NTM2Y2ViMDZmNjNjYmZlZmMyMDkyYWVhY2NiNmQyNzhhNjM0ODAgbGVnYWN5LXRydW5rCisyOTQ3NCA1NDhlNmZmYmZmNzU3YWI4OTZhY2UwODkyNTA2OTc2MjhmMmFmY2I3IGxlZ2FjeS10cnVuaworMjk0NzUgM2YzYjdhNjA4NmI3M2IzYmViMGM4NzdiODM2ZTdiYjU5ZGE5YzJkOCBsZWdhY3ktdHJ1bmsKKzI5NDc2IDhhODhlOTc3YTcxYmJlNjNlYzBiN2M2NzJmYTcyZDNmMGY0MTJmMDUgcmVsZWFzZTIyLW1haW50CisyOTQ3NyA4M2QyMWVhOTQ1N2RiMmVjZmM2ZDE5MTQ2M2Q5ZjJiZGY5YWUyOWJlIGxlZ2FjeS10cnVuaworMjk0NzggYmRlMzY2MDU0MmNkM2UxOTBhYzk4ZjZiZDVlYWJkNzRiM2I5OGZlMSByZWxlYXNlMjItbWFpbnQKKzI5NDc5IDQxZWNhZWM1YjRmODFlZjgzZGI3ZWNjMzUyMDIwYTNkY2ViZWI2YmUgbGVnYWN5LXRydW5rCisyOTQ4MCA3MjA1N2VmOTAyYWFlZTA3MGQxMWZjZDMzZjM0NDFiZGY3NTY2MTJjIHJlbGVhc2UyMi1tYWludAorMjk0ODEgMjhjZmY2MGE2MDk3MDJkZTc5OTE3MTk2NDBlOTYwNTkxZDY3NmQwMSBsZWdhY3ktdHJ1bmsKKzI5NDgyIDQ5NDZkNGYzN2Q4NGUyYWE0ODg4ZGMwZTFhYWM1NWVmODg5OGE5ZjEgcmVsZWFzZTIyLW1haW50CisyOTQ4MyAzZDYyN2UzZDk1NjEzNjUyMWFhN2I3NDQzM2QzMzcxMzUyMzlhNTE0IGxlZ2FjeS10cnVuaworMjk0ODQgMzFiNTg0OWNhYzQyZmI1ODEzNDE1MmJmMmQxMDQxOTRkOTUyYzIyNCByZWxlYXNlMjItbWFpbnQKKzI5NDg1IGIyOGU5YmYwZjA0NmFlOWEzY2M5ZDEwOGEzNDMwOTZmNDE1Zjc2YjcgbGVnYWN5LXRydW5rCisyOTQ4NiAwMjllNzVmZmU3NTBkMzRjM2FkZTA1MjIxMmUyMzBjZGZkNjk2Y2ZjIGxlZ2FjeS10cnVuaworMjk0ODcgMzZlYTMxYmM5MDc2NTBlMTA0Zjg4NjdlZjM1MThkOTllMjkxMmY1MSBsZWdhY3ktdHJ1bmsKKzI5NDg4IDAzYjAyNzBlMTE2YjM3MmE1YzgxM2Q4ZjA0MWQ5ZTJmZmIzMDFkMWIgbGVnYWN5LXRydW5rCisyOTQ4OSBjNmNhMzliMTU4Y2RmOWIzNjAzZWY4MzE5NTg4YzZlMTAxZTc1MzI3IHJlbGVhc2UyMi1tYWludAorMjk0OTAgMzI2M2FkNGZjZjgxMWExNTdlYTk5MGVjZThiOTM4YzhkYTgyZTlmOCBsZWdhY3ktdHJ1bmsKKzI5NDkxIGQ0MjQ1NThkMjRmOTAzMmE5YWEwZDc1NTRiMzE0YTYyYTNkZmRjNTQgbGVnYWN5LXRydW5rCisyOTQ5MiA1YmU1Yzg0ZGVhMjNmZjcwMjQ4ZDY0MjlhMmEzODJlYjYyNTZjOGY1IGxlZ2FjeS10cnVuaworMjk0OTMgYmQ2NzdjOGU0MDY3MDI0OTQ2YWNkNmYwYjk2MDM5NDI2ZDZiNTdmYiBsZWdhY3ktdHJ1bmsKKzI5NDk0IDM2ZGU1YTczMTI1N2ViYWIxNGVjMTFmZGZjMjhlZjQ2NjRhZTkxYjEgbGVnYWN5LXRydW5rCisyOTQ5NSA5YmZkNDdhOWM4YjM1MDE5NGJmZDU5ODVjMjMyOGVjNDMyMTlhYzM3IGxlZ2FjeS10cnVuaworMjk0OTYgNmZhNWM5NTQwOGViZDg0NDE4ZjgwM2YxYTNmMGExNzA4N2I1YTU2MSBsZWdhY3ktdHJ1bmsKKzI5NDk3IDhlMzI0Njg0Mjc3MzRjOWFhMTZiNTQyMTA2NGJlYmIxNzlhNjgzY2YgbGVnYWN5LXRydW5rCisyOTQ5OCA3NTgzMDFlZTBiYjc2NWM4YWRlNzliZjY0MmExYmQ2ZTE2M2I3MWZiIGxlZ2FjeS10cnVuaworMjk0OTkgZjU0ZTg5MjcyYWRlZDI5NTNiMTlhMjY3MTYzMDljNGZiMmExODhhMSBsZWdhY3ktdHJ1bmsKKzI5NTAwIDliNDczODZiYTViODA1NGM3N2ZlNzc5OWU3ZWZlY2ZiZDg1NGY0MTYgbGVnYWN5LXRydW5rCisyOTUwMSAxMjQ0ZjRjMzgzNGY0OTAyMmZiZTgyYmI0YTE5NWM2ZDQ1YzZjYTI1IHJlbGVhc2UyMi1tYWludAorMjk1MDIgMThlMDk3MjA3MzhmNmZmNTMxZDc3NDY1NTRiOWYwNGFhZjAxNGNiOCBsZWdhY3ktdHJ1bmsKKzI5NTAzIDBiZGEyMGFmZTYyMzNmYjM3ZDI5OTE0M2Y0ZTQ2ZDY1ZjBhNDJhYWUgbGVnYWN5LXRydW5rCisyOTUwNCBkNjhmYzQ5YTcwOTYwMWJjMDA5YjMyYjk2YTVjZDRiODJiODg5MWMzIGxlZ2FjeS10cnVuaworMjk1MDUgNjRhOTZiOTdlMWU5N2NlYjdjZDVjNjNlYjczYmQwZmVmZDZmNjYxYiBsZWdhY3ktdHJ1bmsKKzI5NTA2IDJkZjk4ZmYyY2RkYTFhNjUyNzY0MTFjZTEzYjRkYmFkNGU2OTQxNDEgcmVsZWFzZTIyLW1haW50CisyOTUwNyBhMmYzNjkzNDYzOTMwN2ViZmUwNjhjOTQ3NjA3OWE2OTU1MDNjMDllIGxlZ2FjeS10cnVuaworMjk1MDggZjU0MzlmODEzM2Y4NTdiMzg5ZjY5YTRhZWE1YTExZGQzMTU4ZThiOCBsZWdhY3ktdHJ1bmsKKzI5NTA5IDIyNWVhMWY1MmRlOTVhOTE5NjA1NWViOThmZDFhNmE1ZTBmMDYzYzkgbGVnYWN5LXRydW5rCisyOTUxMCAxZGU3YWM3MjliZmE5MjNhMmUwMGQ2MjU4ODI2M2EzOGExM2JhODU2IHJlbGVhc2UyMi1tYWludAorMjk1MTEgMTgzZmMyMWZiODY2MjMyM2RjYjMyOTgwM2YzM2VlY2E2MmNlMDBlYSBsZWdhY3ktdHJ1bmsKKzI5NTEyIDZlZDJlMjNhYWU0NTY1MjM4MDZlMmZkNzEyZjQ2Nzk3ZWRmZDQ4NGIgbGVnYWN5LXRydW5rCisyOTUxMyA3NzFiNmY1MjFiOTU2MWQ4ZTQyZTkyNGQxYTE1NDMzZTRjNjkzOTIzIGxlZ2FjeS10cnVuaworMjk1MTQgNTIxZTg5YzRmZjQ0NzgyMDkxNzNhNDU4OTg4ZjMwMDYxYjEyYTYzYiBsZWdhY3ktdHJ1bmsKKzI5NTE1IDNhNzYwNmEyMjM3YmI2OTU3MjFjZDA2MzkxNWIzNWE1MDJkZDY5YTYgbGVnYWN5LXRydW5rCisyOTUxNiA1MjVjZGRiNzY4MmFjZWU3ZWQ4YjkzODY0YTU3OGQyMWU4NzIwMWFiIHJlbGVhc2UyMi1tYWludAorMjk1MTcgZTlhYTM5NGM3MTkxNzI3ZmJhYzVmNWU4NWQ4M2VkMjljOGY2Yzk3NiBsZWdhY3ktdHJ1bmsKKzI5NTE4IGNlMzY5Y2Q1NjI2YmU3MTQxYjNiODJhNmY4ZDJkOTZiMDg4YmNjYWMgbGVnYWN5LXRydW5rCisyOTUxOSA0YjgwNDRkMWYxYWMzMjgxOWE2YzBiNjAxMTljNzA2ZjU3ZDkxYjBmIGxlZ2FjeS10cnVuaworMjk1MjAgOWRhMDI2OTM3ZmE1MjgwOTUwYzU4NzliMGQ2OGY1ODA0M2M3OWE1NCBsZWdhY3ktdHJ1bmsKKzI5NTIxIDFjOTlhNWEwYjg3YmRlNjAyZGRhMGZiZWRjZmU0MzVhMTRlNDg1NGIgbGVnYWN5LXRydW5rCisyOTUyMiA2ZWUyZjliNGJmNWM0YjcyZmMxMDc3NDU1NjNiZTk4ZjFjOTJmMzYyIGxlZ2FjeS10cnVuaworMjk1MjMgMWRiYWJjNWJlZmY3ZjU1YTliYmM0MDJiNWJhODNlNzgzYTYwMzhiZiBsZWdhY3ktdHJ1bmsKKzI5NTI0IGE1NTk5NzQwYTZlODBmOTA4MjFhNmU4MTdkOTU5YmRhOGNlNmZjZTMgbGVnYWN5LXRydW5rCisyOTUyNSBiNGE2MjgzYjkxNWJjNjFkNWI2Njk5ZWMzZjQ5NWEyZThiZTkwN2U5IGxlZ2FjeS10cnVuaworMjk1MjYgNTgxOWM0NDM5YmEyNDY0ZTlhMzQ0ZTQ3ZDQ3OWYxZjYyNDEwMjM0ZiBsZWdhY3ktdHJ1bmsKKzI5NTI3IGM1NDcxNmFlZDI2YTA2ZGVhYTZhOWQ1MWUyNDg4YWUzOWYyMzFiNmQgbGVnYWN5LXRydW5rCisyOTUyOCAxYjRjNWU2NmE0YjRhZDE3Y2ExMDViYzQ4ZmM5ZWU2ZDA3MDQ5ZThiIGxlZ2FjeS10cnVuaworMjk1MjkgODEyMTM1OGUzMjE3MDNhNTc0ZTg5ZjA3ZDQ2MzU3MDFmYjYzOGFiMiBsZWdhY3ktdHJ1bmsKKzI5NTMwIDY5Njg2NGFhMDVkMzM0MzEwMjUwNzAyNTYwZmM5YWQ2MTYwNzAxNjEgbGVnYWN5LXRydW5rCisyOTUzMSA2YTQyNTM2ZmI5ZWViYjk5MDBlNGViYmFmMzlhOTE3NjU5MWFkODMxIGxlZ2FjeS10cnVuaworMjk1MzIgYmEyMTk0YWQzYjQyM2MzZWI4M2M4ZDQzODA4MGI0MjYwOTk5OTBkNSBsZWdhY3ktdHJ1bmsKKzI5NTMzIDFhMzBlZDE5ZjY0YWZmOTBjMGUxZTYxMDVhMmYzMTAzNTBlODlkMzIgbGVnYWN5LXRydW5rCisyOTUzNCAxM2IyZWM1MzZlMDcwNWU5ODEzYzNkY2E1NmM3NDM2YmI0ZGE0Mzg0IGxlZ2FjeS10cnVuaworMjk1MzUgOWRkOTM3OWFjNmQ2NzkzYjc3NjhiMWI5YTNjNWNkNGI4Mzg5YTBjYyByZWxlYXNlMjItbWFpbnQKKzI5NTM2IDNjMjNlNGMzZGEwMjA4NmY1YTZmY2I3MmUzNDc2YWYyODg3ZDY5YmQgbGVnYWN5LXRydW5rCisyOTUzNyA5NTFkYWNjMjE4NDdkNzA1MGYyMTg3OTQ4YWY4Y2VkNTFmMDAyNzE2IGxlZ2FjeS10cnVuaworMjk1MzggOWI1YjdkYTM2MmE1YzZmYTVkZWYzMjAxYmI1NTQ3MGM3N2Q2MmM0OCBsZWdhY3ktdHJ1bmsKKzI5NTM5IDBkYmQ2YjczYWJkMjMxZjEzODlmOTZlNjNkZGQ2Y2YxNDc5ZDU0ZTIgbGVnYWN5LXRydW5rCisyOTU0MCBmZTZlOTg5NGMyZDQyYTRiYWVjYmQwNmM4ZDk1YWI5MjliN2UwZjViIGxlZ2FjeS10cnVuaworMjk1NDEgOTUxNDA3OTMyMDAxOWQ2OWQwMTc3ZGQ4MTJlMzFhOGU4NzlhNDA3OCBsZWdhY3ktdHJ1bmsKKzI5NTQyIGQyN2U1Y2FkMzhkNzgyNGU0ZTg4MDlmMWVjMWRiZjExYTMzMjliY2UgbGVnYWN5LXRydW5rCisyOTU0MyBlZjU4OTNiYjc5ZWYzOWM5OWM3NTY0ODE3NDExZWRhNTkxOTYxOTUyIGxlZ2FjeS10cnVuaworMjk1NDQgODdiN2ZhZTEwYTE5MzA3NzdiOTNhMTcyZjFhNzBiMmRhMGU3MmVlZiBsZWdhY3ktdHJ1bmsKKzI5NTQ1IDg2OGZmMGRmYWJkMmNiYjA2NDk0MGEyMDliYzMwODBhZWFmNDVlOGEgbGVnYWN5LXRydW5rCisyOTU0NiBmMmVkNzIyZmYwMDM1MGMyNjA4MWE2YmNjOGU4NGQ5MWEzMWVkOWI3IGxlZ2FjeS10cnVuaworMjk1NDcgODhiYmMzMGIwODQ3OGQxMzI2NzMyYWY5NWM0NzFlN2JjZWVhMmEwMiByZWxlYXNlMjItbWFpbnQKKzI5NTQ4IGIwNjNjNDNmNGRmMDMyY2U4ODFkMTFjNTc4MTJkMDg2ZTZhMTYwZDggbGVnYWN5LXRydW5rCisyOTU0OSBkYWIyYzEyYjY4MmU3ODc1NTg3MWMzN2JhZTk0ZTk5YWIyY2Y1NzU3IHJlbGVhc2UyMi1tYWludAorMjk1NTAgN2ZhOTNiNWRkZmJkNDkyNTdlNDMyMjRhODA5Mzg4MTU1OTY4MGYwNSBsZWdhY3ktdHJ1bmsKKzI5NTUxIGQyYmU3OTZjNGI4MWQ3YjlhNzM3MmJhNjFhNGExY2JlYjA1ZDY5MGYgbGVnYWN5LXRydW5rCisyOTU1MiAxYWZjYTM3NWYyYTllMzZmMjg5OTE1YjA2MjM1MjI4YWQ1NDA5NmFmIGxlZ2FjeS10cnVuaworMjk1NTMgZjNkNDQ5MjZhMWJlZmRlZmQ3ZTBmYTg4NGI0ZGYxN2FjZDIwNTFhNCBsZWdhY3ktdHJ1bmsKKzI5NTU0IDk4MzIyYzA3NWY0ZDk1Mzg4NjI1YzdiMGJjZTFkNTE3N2Q2NDM3ZTAgbGVnYWN5LXRydW5rCisyOTU1NSA1M2EzODIzNDQ4ZDkzYWYyM2Y3ZTljNDI5NGFhMmQ4NWUxZGY4NjM5IGxlZ2FjeS10cnVuaworMjk1NTYgY2FiMTY3NjEzZTQzYjczN2JmOTU0YzgyZDQzZGNmNWEyOTk4YzU3ZiBsZWdhY3ktdHJ1bmsKKzI5NTU3IDEzYWY4MGYwMjA4MDA4ZjEyYTAwMGZhOWE0NjkzZjU3MGJjYWNmY2QgbGVnYWN5LXRydW5rCisyOTU1OCA5OTlhY2NmYTkxYzU2ZGE3YWE4ZWIyMzI2Mzg0YzY4MzMyN2YyZWNlIGxlZ2FjeS10cnVuaworMjk1NTkgZjNhNjQwMzViYThiZjE5NjMyOTUzNGUyNzgwYmRmYzk5YjE3ZDNhYSBsZWdhY3ktdHJ1bmsKKzI5NTYwIDJjMWJiZmMxMjJjMWE2NmZlZDI2NjQwZDJlY2UxMjA3ZDIxM2E4YjIgbGVnYWN5LXRydW5rCisyOTU2MSA0YTI4OGI0OTRjYjJjOWE4MGFkM2UzZDQxOTI3MzRhMGNmMWU1OWRhIGxlZ2FjeS10cnVuaworMjk1NjIgZDY5ZThhOWZlZDExZmNmMzU5ODI0NTA5ZGMxYzJmZjlmM2UxYTg2ZSBsZWdhY3ktdHJ1bmsKKzI5NTYzIDM0ZTcwYjg5YmJiNzIzMjQzYTY5MjBkMGUyZWJmMzkxYjc2YWM0MTAgbGVnYWN5LXRydW5rCisyOTU2NCBiNTY0ZWM0YjdlNWIzMzE5ZTQyYzM3MjY5MGY2NzMwNDU5Yzk4ZDk5IHJlbGVhc2UyMi1tYWludAorMjk1NjUgZjM1MzczMTdiMWIyNWE2ZjFlMDQ0YmY1NTA4MjZjMzE0Nzg5MzFiZCByZWxlYXNlMjItbWFpbnQKKzI5NTY2IDM1MTU4ZmQ2MGIzYmEyMmI3MmQ4YWYzOWM5MTc3OTRjZGY4NzViOGMgcmVsZWFzZTIyLW1haW50CisyOTU2NyA2MmY4OGMwMmM5ODcyOGYzMDZlYjZiZDFlMjdhYzdiODA1OWJlMzVlIGxlZ2FjeS10cnVuaworMjk1NjggZDk0NzRjMDQ0NWJhYmY1NTZhZTQxNzI4YjI1NjVkMDQyZDkyOTcxYyBsZWdhY3ktdHJ1bmsKKzI5NTY5IDUyNjUyZmI4NjQ5ZDczMWFkOWQ3MDlhYTNhZjg2NzY2Mjg2N2ViMDAgbGVnYWN5LXRydW5rCisyOTU3MCBmZjFjNjA0NmYxMGI5NDdmNjFhNmY4YTg3MDY0NjcwMGQzZTNlNzAzIGxlZ2FjeS10cnVuaworMjk1NzEgZjYyZjc3M2JjOWZkZDJhMmQ5YTBmNmEzM2FjOGIwNGEyYjM0MWEyNCBsZWdhY3ktdHJ1bmsKKzI5NTcyIGY0Njc0MjdlMDNmYTlkNWNiYzFkMzIzMmJjYTc4NzVmNTM0NWExNWMgbGVnYWN5LXRydW5rCisyOTU3MyBjYmJmN2YyNDI1ZDllMTA4YTI2NDkzMWE5YWYwNGUyMzVkZmYxZDVhIGxlZ2FjeS10cnVuaworMjk1NzQgZTUyNjM2NWRkY2NkZmQwZWRkMDA5OTliMGM5NGU1NmNkMDRlMDdlYyBsZWdhY3ktdHJ1bmsKKzI5NTc1IDkzM2M2ZDYwOGQwMWIzY2Q0MzA5N2EzMjI2MWZjOTE5YjNjZWQxYjggbGVnYWN5LXRydW5rCisyOTU3NiAxMzVmMDhiNzNiZDVkOGIxZTcxMGExY2Y5NWIwYmYzOTU2NmYxY2ExIGxlZ2FjeS10cnVuaworMjk1NzcgNzU2MzE5YTEzN2I4MzI2ZGYwYTBjODJlNWRmNTUxMjU1NmI2YWY2NyBsZWdhY3ktdHJ1bmsKKzI5NTc4IDA4MjBhZDQ5ODI5ZDgwYjk4NzU4MzRiYzMyN2JiYWQzOGJhMjZmMWUgbGVnYWN5LXRydW5rCisyOTU3OSAxZjM2NWI5OGYxMWNjNTQ1YWIxYzZlOTcxYmVhZjQ3NjRkNWVjNzE5IGxlZ2FjeS10cnVuaworMjk1ODAgMDgxMTkwNDg0YWY2MTYxNmFhMWM3ZWM5NTQwNmFhYjIwNzVjZmQ4YiBsZWdhY3ktdHJ1bmsKKzI5NTgxIDAwODQ4MzQyZDQ5ODRhZTQ3NWMzZDA5OGM4MzdiYTllYjQ2ZWZhYTAgcmVsZWFzZTIyLW1haW50CisyOTU4MiA1M2U5MDQxZWZiZTNmZDZhNDkxOThmNjZjYjBmNDdmNGQ4MzIwM2Y1IGxlZ2FjeS10cnVuaworMjk1ODMgNTQwODgxZWUyZDRhY2M0YzU4ODY3MzkwYTk2N2E3N2I1YTUyOWMyOCByZWxlYXNlMjItbWFpbnQKKzI5NTg0IGVmM2Y2OTI5ZmMwZTE5NTk1NGJkNWE3ZDU2NDFjY2Y4MmI4YjQ3ZGQgbGVnYWN5LXRydW5rCisyOTU4NSAyODMyNjI4ZWU4Y2M4NDA4YTM2NmFhZDliODRkYTFkYjcwMmU0MGY0IHJlbGVhc2UyMi1tYWludAorMjk1ODYgZTYxYjk0NjQ3NGRmYzY5MjgyY2Q5MTdlYjZhMGZjM2MyODk4NjI5MiBsZWdhY3ktdHJ1bmsKKzI5NTg3IDk2NGQ2Yjc5YzIyZTJlOWMzZGZhYTUzODMxMWI3MGQ3ZmNiNGJhYjYgbGVnYWN5LXRydW5rCisyOTU4OCAyNjczNzMyYWQ1ZjE5MWI2NjlhZDk0NjM0ODc2ZGEzZGUwNjU1ODg0IGxlZ2FjeS10cnVuaworMjk1ODkgYWRhYTQ1MGU3ZDcwZGMwMjFhMjE3NGFlOWQ0MjY4YWNlZTk0NzRlNyBsZWdhY3ktdHJ1bmsKKzI5NTkwIDlmZmVhNTBlODMzMDE3NzlhOGQwYjA0ZWIyM2E5NDBiNjNjMjVhZjQgbGVnYWN5LXRydW5rCisyOTU5MSAyZjJhMmZkODQ0YmQ3NGJhOGY2NDBiNDQ5YjY3MWVhZmRjYzRiZjI1IGxlZ2FjeS10cnVuaworMjk1OTIgOTA0ODIwNzk5MmYwMGJiNTNjYTJkZTE1NTdkYmFkNDBiNzFiNTg4OSBsZWdhY3ktdHJ1bmsKKzI5NTkzIDg5NjVhMmI4MDRiNTA0OTViY2Y3MTM3OWQyY2ZhMWNkMTFjYTc3ZWEgbGVnYWN5LXRydW5rCisyOTU5NCBlOWFlYmQ0Y2Y1NmNmNGY4MjY4YjJhZjBmM2RlNTJkMWVmNGM2MDJhIGxlZ2FjeS10cnVuaworMjk1OTUgOWM0YmJiM2JiZDBkZTcyMzZlZTU1MjQzODdhZTliOTMxYWM1M2JmNSBsZWdhY3ktdHJ1bmsKKzI5NTk2IDAwNDIxNmQ3YTFkYWJjMDA5ZjJmMDlmMThkNGU5ZWZiYzg3NDBkOGQgbGVnYWN5LXRydW5rCisyOTU5NyAxZWJiNWRjN2Y2OTZlZjc1Mjc3NjYwNzc4OTU1ZTQ5ZGRkZGNjYmM3IGxlZ2FjeS10cnVuaworMjk1OTggNjQxNjc3NjA5OThjNDMxNDM5YmRlYjg2MWJlMTI5MmE4NzUxZDkwZiBsZWdhY3ktdHJ1bmsKKzI5NTk5IDNhZDRmYWU5ZWQzYWQwYzZjODQ0NTUwNmNlN2UxZGM0ODZmZGExMjUgbGVnYWN5LXRydW5rCisyOTYwMCBjZmIzMTdlNGE3NzAxZDJiZmQ0ZDJlNDc0Yjc1MTlmZWZjZWQ2NzA4IGxlZ2FjeS10cnVuaworMjk2MDEgYTZkMTZlODRmZWMwNTRlOTQyMWQxZDVkMDZjZDdlYjYxNzg1ZjIyNyBsZWdhY3ktdHJ1bmsKKzI5NjAyIDA5OWQzNmNiYmI2MTFhYjVmYjMyNGJiMmY0MjU2M2EwNDEzMDRjOGEgbGVnYWN5LXRydW5rCisyOTYwMyA5OGYzZmQxZWQ0MmYwNTc2NjU1MjJkOTQxZjBlNjg3NzE0YTgzMzZmIGxlZ2FjeS10cnVuaworMjk2MDQgZTIyMjZkNDdlYmYwMTI5N2M5OGExYTkwN2I0YWM1OTEwYmQ0NGRiNiBsZWdhY3ktdHJ1bmsKKzI5NjA1IDIzZWY3YzE2M2ExMjUwMjlmNTEwOWM5ODU1NzE1YjM5OGM3ZTU1ZWEgbGVnYWN5LXRydW5rCisyOTYwNiA0MjAzMDQ3ZTIwMjIzN2U0YzkxYThkZTQyNWIwNTAwY2E3NWY5ZmRhIGxlZ2FjeS10cnVuaworMjk2MDcgYTU2YzkwY2ZjMDBjMGRiYTc1MDcxMDkxNzhlODM5YmE3MWEyZTA0YiBsZWdhY3ktdHJ1bmsKKzI5NjA4IDQyY2YxYjVlNjM5MjZmNmRkYTM2OWVkOTg2YWUxNGQxNDMxODMwYjkgbGVnYWN5LXRydW5rCisyOTYwOSBlOThhMjEzMTAxYjM4YTliOGQ1M2I4YzFjMjEyYTUyODAxNDcxM2NhIGxlZ2FjeS10cnVuaworMjk2MTAgNGI5MDVlMTk4M2I2MTBiMjVhMzUzNWI5NTkyMDcyYTY5ODdlYjdhNCBsZWdhY3ktdHJ1bmsKKzI5NjExIDA3NjUxMmEwYzZjMjJjOTJiNzI4MzIxNGNkODliNDAwYjJmYTZiNjkgbGVnYWN5LXRydW5rCisyOTYxMiBmNDI3OGFmOGVlZmEwMmJhZmE3OTY4NmZkOWVjNGJiMjM4Y2I0OWI0IGxlZ2FjeS10cnVuaworMjk2MTMgNmU0MWNmZDI1YmRmMGZlMjg2YTFkNmQ3MzNkYzU3MGY5OWRhOWFkZiByZWxlYXNlMjItbWFpbnQKKzI5NjE0IGEyYWU2MzVlNDNiNjE4NzExMjU4NTcyMWQ5NzY5Y2QxMzU2ZmZlMGIgbGVnYWN5LXRydW5rCisyOTYxNSA0YWI2YjdjM2YzMTE3ZDI3NjMwMjYyN2U2YjllYjBkMDA0N2UzMmRkIGxlZ2FjeS10cnVuaworMjk2MTYgMTQ0ZDlkNDhiOTZjZmVhODM3YTAwYzllM2U0ZTFjMmMzNjgxZTM5MyBsZWdhY3ktdHJ1bmsKKzI5NjE3IDAwYjRjZmY5MzYxOGU4MDAyZDliMzdhYmU5YmRmOTE5YmI1YTg2Y2MgbGVnYWN5LXRydW5rCisyOTYxOCA2Y2U5MjI4YTNkYTIwMGEyY2QxMTM1YmUxOTM3YzExNzllMDdiZjRlIGxlZ2FjeS10cnVuaworMjk2MTkgYzJlYzc4OWRlZTU2NzZiZWQwMmM2YTZmZTcyNTk5MGJkYWE0OTlmZSBsZWdhY3ktdHJ1bmsKKzI5NjIwIGJkZGU5NGUwMjkxODBiNTRlMzUzMDAxYzkwN2Y0NjcwNmY5YTUxYTAgbGVnYWN5LXRydW5rCisyOTYyMSBhNDhhY2I1YjQwZWZjNDU1Njg1ZDU3YjE0ZmI5ZTVjNGFiOTg3ZjdiIGxlZ2FjeS10cnVuaworMjk2MjIgOTEzOTI3ZDMyNjFlZGIyMTNkZDYyNjc1ODVjMzU1ODlkOWMxZDNjYyBsZWdhY3ktdHJ1bmsKKzI5NjIzIDliYjRhZGZiZmNjODMxMzk3NDg1MjhkYWUxMzZkNzkwMTM3ZTUxNjkgbGVnYWN5LXRydW5rCisyOTYyNCA2NWQ2ZjBiZmE0NjE1MDQwZDRhYjhiMTFjYWMxMmMzNDBjOTlmN2IxIGxlZ2FjeS10cnVuaworMjk2MjUgMGI2MTFlNTBjNWZjM2M0ZGNkZTdlMDc0MGJkZWFjYjhlNmRmNzlhZCBsZWdhY3ktdHJ1bmsKKzI5NjI2IDU4MDgzZDhlYTlhNWFkM2U2MDFiM2EwMGMzNmNiODM1ZjM0ZWYzNDcgbGVnYWN5LXRydW5rCisyOTYyNyAzZTFlOTYxNmY4Yzg2NWEwMjQyOGM1YmMyMDNmZjYwMTIzM2ViMTRjIGxlZ2FjeS10cnVuaworMjk2MjggOTc0OTczMmEwZjZiOWZmZTgwZjlmZDIzMDNmMjczNWNjNmZhOWQ5NCBsZWdhY3ktdHJ1bmsKKzI5NjI5IGVjMzQxNGM1ODg3MjYyOTg0NjE1OTM1NDkzOGQxMWQ0ODg1Y2IzYzQgbGVnYWN5LXRydW5rCisyOTYzMCA2MDc4YWJjNjkwMzZmYzc2ZmJlMGU5YzQ4MzVjNGQ5YjU2Njk0NjdjIGxlZ2FjeS10cnVuaworMjk2MzEgYmI3MTg3ODJlNzM2OWM1YzI1YjdmZmQ1ZTI0MjgwNmM3OTM3ZmM5MyBsZWdhY3ktdHJ1bmsKKzI5NjMyIDhjZWI0NTVmNTU0MTEyY2M3ZjVlMDI1ODk5OGNkYTA4MjI1MTE4YTUgbGVnYWN5LXRydW5rCisyOTYzMyBmNDkyOTI2MjFiMTczYWFmN2Q5OGFhYzEwYWIwMDdjMGJmOGJiZDQ3IGxlZ2FjeS10cnVuaworMjk2MzQgMjRhNTUyMmQwNzg0YjM1OWQyMDlkNDg5YmU3MWE2YjAzMjA5OTk0ZiBsZWdhY3ktdHJ1bmsKKzI5NjM1IGYwZWUzN2U4OTMyZmFjOGQwNTNlNzA2MzE5YWQ1ZjE5NzE2NmU5OGUgcmVsZWFzZTIyLW1haW50CisyOTYzNiAyN2Y2NDMxNGYwZGU3ZWZhYjZiNmU5Yjc1ZGJmOTA4OGJmODE1ZTRlIGxlZ2FjeS10cnVuaworMjk2MzcgZTYyNzc0YjQ0N2MxMDdhODg4YzQ0ZGYzNjMwMzAyZDU0YTc4ZWU1NiByZWxlYXNlMjItbWFpbnQKKzI5NjM4IGRkMTBkOTdkMzI5YTYwZTcwZTEyYTQyNjdmOTE2YmU1ZjY4MDRiNTYgbGVnYWN5LXRydW5rCisyOTYzOSAzYzA4M2Y4ODE2NTVkMzRmNmNjMzAwODVjNjc4MTc0MWYzMTA4MzRlIGxlZ2FjeS10cnVuaworMjk2NDAgYWY1YjQxNzZmNGVmNjg2ZGExZWVjZDg0ZmM3YzcyMDBhYjU5NmUzMiByZWxlYXNlMjItbWFpbnQKKzI5NjQxIDYzYTA4NjM5ZGFlMmEzZWMwZTIzZjcwMzcxNDM4ZTU0OWY5OTFkYTEgbGVnYWN5LXRydW5rCisyOTY0MiAyOWY3ZDFkNWU2ZDYyNDlmZmVhNjI0Zjg2MTQwOWM4NmFjZDQzOGUwIGxlZ2FjeS10cnVuaworMjk2NDMgZTNkMjY5MWZiNmI4YzJmYTBjYzdkYzQ1NTU1MjhiYmE5MTM4MjI1NiByZWxlYXNlMjItbWFpbnQKKzI5NjQ0IDIzZGY0NjU2ZThhMmFhNDc3YzA3YWRmNGIzYzU5Nzc3ZGU1MmQ4YmEgbGVnYWN5LXRydW5rCisyOTY0NSAxYWI2NTdlMDA3NjI3NTg0YzlmOGE3ZGQ1OGJkOGJiMTljN2JiNGNiIHJlbGVhc2UyMi1tYWludAorMjk2NDYgOTVjOWM1NjZiZGQ2ZDhjZWNjZWFhNzk1MGNiYmMzNjMxYmE5MzZkNyBsZWdhY3ktdHJ1bmsKKzI5NjQ3IDRiNmQ4ZjUxNjY5ODE3ZjEzNzA4ZTZjYTMzYTJhYzVmZmQwODQ5OTkgbGVnYWN5LXRydW5rCisyOTY0OCAyNTFlNTUyYzgzNTIxMGU2N2JhMDNkYThiYzc2ZjZiMTRkZjVlMjQ2IGxlZ2FjeS10cnVuaworMjk2NDkgNWI2MmI5ZWE0NjBiMjM5ZTMyZmI2MmMzNmIzYjgwYzNhZTdkOTg1YSBsZWdhY3ktdHJ1bmsKKzI5NjUwIGU3MTc3MGE3ZjU0OWZhOGQzZmJjNjQyM2E0ZGE3ZmE0MTc5ZmMzZjMgbGVnYWN5LXRydW5rCisyOTY1MSAwNGQzZjk1Y2ZkODlmMGMwYjQ4MGZkYjA4NTM2MDMwZmQzM2Q3OGM0IGxlZ2FjeS10cnVuaworMjk2NTIgMDgyOTMwZGZiZWJkZGJlOTZmZDI3YWYxMjI0NjczNjlmNmYxMTZkOCBsZWdhY3ktdHJ1bmsKKzI5NjUzIDFjMDU1MTcxYjg3MTFmYmI5OTg2NGMzZDljN2NmNGQ4ZDdlYWQ1NGEgbGVnYWN5LXRydW5rCisyOTY1NCBmOTZmYTNhNmRkYTQxOGMyNDRjMWVkOGZkNWNhOGFiYTU3NjA3MTdiIHJlbGVhc2UyMi1tYWludAorMjk2NTUgODNhZTRhOTAyZGYwOGY3Mzk5MzIyMjZiYjZmODc4ZDllYTIyYTlkNCBsZWdhY3ktdHJ1bmsKKzI5NjU2IGRiZTI1Njg3YmU2ZTVjMzY5MTczZDc5NDA4NjRmYmRmODdjMzRmMWEgbGVnYWN5LXRydW5rCisyOTY1NyAwYjIzY2RhMDA0MTcwZDlhNjJjMjBhNDkwYjg1MzBkNGQwMTdmNjFkIHJlbGVhc2UyMi1tYWludAorMjk2NTggNDZkMGI0NmE3NTRmZTFiNTdhZmI5YmFkOWI5N2UxNDlkNjAzNmMzMiByZWxlYXNlMjItbWFpbnQKKzI5NjU5IDFhZjQxMGUzM2JlY2Y1ODFkNzRiN2Y0Mjk5YTQ1NDFiOTFkMDY5ZmMgbGVnYWN5LXRydW5rCisyOTY2MCBmNzJiMWY4Njg0YTJiOTgyNmQ0NDA4Y2QzMDI3YTY2NTIyMDhhNzhhIGxlZ2FjeS10cnVuaworMjk2NjEgM2U1OWQ2NzRiOGMzNjQzM2VjZTBjNWEwOWZjODZkNzZiY2JmOGM0NCBsZWdhY3ktdHJ1bmsKKzI5NjYyIDRjMjUzMmMxY2IyZGUyNGQzZDUwMTMzM2Q0ZTRlMGE5ZDhmZDY3YjMgbGVnYWN5LXRydW5rCisyOTY2MyBhZjM5NjQ2NzllMmZiZDliZjk2OTZhZmNhMGQ0MWI4MzZmYTZiMTIyIGxlZ2FjeS10cnVuaworMjk2NjQgYWUxNjlmNWI5NGUwNDgxMzY0ODk0ODU4ODliMzM4NzNkN2E5MzFjNCBsZWdhY3ktdHJ1bmsKKzI5NjY1IDBlMGIzZGNmNzg3ODk4OTQzMWQ5ODg3NTY2NzIwM2NmZWExOGU2ZTAgbGVnYWN5LXRydW5rCisyOTY2NiAzOGQxZjgzZDU3NzEwOGE2ZTMwOWUwNjAwYjgwMTk4YTcxODc3MTQ0IHJlbGVhc2UyMi1tYWludAorMjk2NjcgZDZkYzQ2YjlhZjNjMGUyNjhlYTQ3MGUyN2M3MjYwY2RjODUwMTU1MCBsZWdhY3ktdHJ1bmsKKzI5NjY4IDM5MGJmNWQyZDhlN2RmNjYwMDE5MTlkYTJjYmYwNTBjZTExMzhjZGYgbGVnYWN5LXRydW5rCisyOTY2OSA5YzdhYTQzYjIxYTlhOWIwZWZlY2UwYzgzY2ZmMzc2OTMxYTVlOTAyIHJlbGVhc2UyMi1tYWludAorMjk2NzAgZDU2MzNlOTNmNzA3ZjM0MmI1NDIwMDNkYzllZGYzMTBjOWM0ZmQ1ZSBsZWdhY3ktdHJ1bmsKKzI5NjcxIDkzNzM1Nzg4MjJiNTkwZTA3YTAxMGQ2NWNlNzY0Y2MyZTNlNGRjNTkgcmVsZWFzZTIyLW1haW50CisyOTY3MiBhNDJmNjNhODBjYzg3MzZhN2E2NTBmYzRhMTZlMWNhY2Y0NWY5NTY3IGxlZ2FjeS10cnVuaworMjk2NzMgNzg1YWQwNzQwMjdiZjBlMzNmY2JhNTQ1OTZhMDk2MTBjYTUzMzU5MyBsZWdhY3ktdHJ1bmsKKzI5Njc0IGNiNzFlN2M2MjBlMmY1MGE5N2FlZjI0YzAzZWQ3MmUwM2RmNzU0NDkgbGVnYWN5LXRydW5rCisyOTY3NSAxZGY5OGY2OGQ2MDc1MzBlYWFjODk4YWE1NDdhZTE2NzZlMDg5YmE4IGxlZ2FjeS10cnVuaworMjk2NzYgZDM3ZjEzNzhkOGI4YmY5YWQzNjlhYmQwNjMyYmJiMmUyNDc3Mjg5YyBsZWdhY3ktdHJ1bmsKKzI5Njc3IGUwMjMzYzQ0MjUwMjZlYThiMDljY2EzZDg4OWJlMzQ5ZDNlMTc3YzggbGVnYWN5LXRydW5rCisyOTY3OCA3ZTU4YTE1MDQ4NzI2ZjJiYjA0ZWU5YzlhN2Y1Yjk1NjMwZjFmOTYyIGxlZ2FjeS10cnVuaworMjk2NzkgMWNkODEwNmJjZDIwNzFjOWRmNTZhMTE5NGE1MjRiZDliYzhlYzU0MiBsZWdhY3ktdHJ1bmsKKzI5NjgwIGJhZjg3ZDI2YmEwM2Q1MzdiZWI5M2Y2MDg1ZDlhNWQwM2M1MjQ0MmYgbGVnYWN5LXRydW5rCisyOTY4MSAzZjU3NzNhODg4OGVmZDY2NWJhNzYzNmFhNmZjYzQxOGJmNjFkMzBlIGxlZ2FjeS10cnVuaworMjk2ODIgZDMzMDA1ZjgzODhlNzRlMTk1N2RiYWZlYjM3Y2JlZWJmMTBhNDkxOSBsZWdhY3ktdHJ1bmsKKzI5NjgzIGZmOTJjYzI3ZmQxZmYzMGQ1NDE1YjhkMGUxMTkwYmE3MTZlMTM0YWQgbGVnYWN5LXRydW5rCisyOTY4NCBmZmVjNjc0MDkxNDA1OWJkZWE5MTIyYzMzYmRjNzExMGYxOWZkYjc4IGxlZ2FjeS10cnVuaworMjk2ODUgNThmYmE1OTU3MjZlYWRhZmVmNjFkY2QwMjNhNzVlNmVhZGZmNzQxYiBsZWdhY3ktdHJ1bmsKKzI5Njg2IDM4MzU4NzAyN2M3NGQxYzFiODM3M2RmMDc4ODEyMDUyZDdjOTRkYTggcmVsZWFzZTIyLW1haW50CisyOTY4NyBmNDY1ZDY2OTJiZGUzMzUwMzMxNGMwNTM0ZmQwOTFjNDg3OTU4ZmJiIGxlZ2FjeS10cnVuaworMjk2ODggN2Y4NzA0NjdjMTgyYTc1ZTBkNDQ4NTRmNGE3OGQ1MmFhZGI3ZjI2MCBsZWdhY3ktdHJ1bmsKKzI5Njg5IGI4MzAzNDEzYTU3ZTVhMTVkYzE3YzQ5Yzc0NjhlNjQ2YWU2YTUyMDggbGVnYWN5LXRydW5rCisyOTY5MCBhNWQxZTA4MTQwNjFjNTJhYjJiYzM3ZjYxZDQxZTUxZWUwNjI4MDk2IGxlZ2FjeS10cnVuaworMjk2OTEgZTg5MDU2NzE4MjM1ZGNhODdhMTI2ZTUyMmRiNTM3ZTk2ZmQ3ZjVkMCByZWxlYXNlMjItbWFpbnQKKzI5NjkyIDdjZmI1MmY5ODEzOTZmZWVlODllNzFiM2YyMDc2YjY5OWY4N2Q1OGIgbGVnYWN5LXRydW5rCisyOTY5MyAxMjdlNGJmYWNiYjc1MDQ5YzMxNGU1YjEwN2Q5MjgyY2E3NjMwNTQ4IGxlZ2FjeS10cnVuaworMjk2OTQgNzZmMzJmYmUwM2NjNTRlNTU0ZjIwNDlmYWEwMWVlYjQzMDExMmY0NCBsZWdhY3ktdHJ1bmsKKzI5Njk1IDU3ZmNhY2JkYzg4NWE1NTdjMjIzM2UyMWJhMjRlNWRjM2UxZGYwNTMgbGVnYWN5LXRydW5rCisyOTY5NiAyMGZhNjMyOWI1OGZmODA0MDYyYWE4OWY5NTMyZjliN2I0YzU4ZTEwIGxlZ2FjeS10cnVuaworMjk2OTcgZWIwYzBjODNiOTJhMDlmZjZhZGM0ODQ2ZWQ2ZDM1ZGM5ZTkyMDEyYyBsZWdhY3ktdHJ1bmsKKzI5Njk4IGZmYmVhZDM0ODRlMTAzM2IyYzMwYzM4NjBjZGFhZDZiYjQ0MmZmZGYgbGVnYWN5LXRydW5rCisyOTY5OSBjOTUxOTA1MzJjMGNiNmQ5ZTFlMDQ0ODcwNjMyMTE4YWM0NjFmYTEzIGxlZ2FjeS10cnVuaworMjk3MDAgNTJmNjEzM2UyMGQyMGViNjAzYmJlYjM4Njg0MjNmOTFkMmIxY2MwYSBsZWdhY3ktdHJ1bmsKKzI5NzAxIGFkYjkzZjRlOTc4MDUxZTQ2ZmFhMDBhN2Q4ZGRlMmE5ODI2NDgwMzQgbGVnYWN5LXRydW5rCisyOTcwMiAxOTAzODlmZDgxNTljN2M0NmRkZjk5OGFlMjk3NDFiMmIzYTNkYWE3IHJlbGVhc2UyMi1tYWludAorMjk3MDMgZWNkZmY0NjIwMmMwZmYzNWNiZWYwNTlmYjE0NjhkZWUxNmExNjM0YyBsZWdhY3ktdHJ1bmsKKzI5NzA0IDUyOTcxOWE1MzUwZTc1ZWUzMWYxZDQzOTQzNTRkZDUyOGZhYjhmODEgbGVnYWN5LXRydW5rCisyOTcwNSBjYjI0ODcwNGI3ODRlM2M3Mjc0NTkxOTlkNjdkNjE5YzU0YzJhMmI4IGxlZ2FjeS10cnVuaworMjk3MDYgNzk0MjBmYTIyMmI4NTA1OTVhYzU3ZDQ4OGQzYzJhNjI3OGI5OWYzNiBsZWdhY3ktdHJ1bmsKKzI5NzA3IGUyNmZmNzVkY2Y2OTExYzAxYjIzMWQyYmVhMTY1ZTNkYTM3ZDBhOWYgbGVnYWN5LXRydW5rCisyOTcwOCBjNDJiNjM3Yjk1MTQ2ZDczODZkNDg1YTAxYjE5MzQ0ZjE5OTdmOWNlIGxlZ2FjeS10cnVuaworMjk3MDkgYzg1NDgwNjkyY2FlOWNkOTAwYTUwYTYxZGZjYjRlOWVkMDllYjJlNyBsZWdhY3ktdHJ1bmsKKzI5NzEwIDg3ZTY5YmFkYTE5NWVlZjVmNmNhNWVmOGJjNzZkNWIyNWEyNDcyZjIgbGVnYWN5LXRydW5rCisyOTcxMSA5M2YzMGMzODg5YWE0YjdhODJiMzQxMWYxN2YyYzNhMzUwMWIwNmZiIGxlZ2FjeS10cnVuaworMjk3MTIgM2VlOTUxOWVhYTRjNDc2NzhmNjBlNTkwZTU1MzdlMTZlZGIxYTVkNSBsZWdhY3ktdHJ1bmsKKzI5NzEzIGU5Zjg5ZGJhNTA5M2IwYTM4M2Q5YjcyMWQwMThiMTgwZWViYjQ5YWIgbGVnYWN5LXRydW5rCisyOTcxNCA0NDliMmI1Y2FmNTgyZmRkYzg5MTFlZTdkMzJkNjBjYzdkMjc4NTBmIGxlZ2FjeS10cnVuaworMjk3MTUgZWRkMmViODhmZDZjYTBlY2I0ZDY0N2JjOTc5ZGJjNDk3ZmQ5OTRmNCBsZWdhY3ktdHJ1bmsKKzI5NzE2IGEwZWZhNGM5NTY5ZTMxOTZkZGJiZTRlMGQ1MjZkZjM1M2IxYTI1OWIgcmVsZWFzZTIyLW1haW50CisyOTcxNyBlNDI5OTdhY2M3ZjFlNzU0Njg2NmY3ZTdkY2RkZGJlNmE0ZGY2ZWE3IGxlZ2FjeS10cnVuaworMjk3MTggYTRlMzAyMWVhYTdkNDBiOWVkYjYxNDMxNTc4ODBhZjBlNzkzNjk1NSBsZWdhY3ktdHJ1bmsKKzI5NzE5IGIxMzg4ZjU4YmRiNWQxMGUxNjAzMzJiMGM1OWQxZDhiYmEwNjZhYjYgbGVnYWN5LXRydW5rCisyOTcyMCA0YzA2YmRkN2QwNWMyZjMyYjdmNDEyZmUzOTE0Mzk5ZDQ2YmU4ZGZkIGxlZ2FjeS10cnVuaworMjk3MjEgOGVkNjZlZGZmMzg3YzZkNDgyNDQ3NDcxYjhmNGI1OWMxMGI0ZTFjOSBsZWdhY3ktdHJ1bmsKKzI5NzIyIGZmNzYzOWRkY2FmMjFjYjZjNmZmYzM0MTY2NWEyZDU5YWUwMDM2ZDcgbGVnYWN5LXRydW5rCisyOTcyMyA2MWEwZWY1NDJiNmY1ZTFiNTg1YjBhNDk4ODcwZWE3YjA5NjFiMDY4IGxlZ2FjeS10cnVuaworMjk3MjQgZDYyYzFiYTMzOTY0MDY4NjRkYTVkMDYyZGUzMzVlN2QwYTE2YmZjYSBsZWdhY3ktdHJ1bmsKKzI5NzI1IDNiZTFiZGM3NzllMDZmMDQ5NjBhZDkxZGIyZTFmMjhjNGZjNmRjZGYgbGVnYWN5LXRydW5rCisyOTcyNiAwZTg5OTBlODkyYjZkNmEyYzhjYzM0Y2QxNTVmYmU3YjQzNjAxYzM5IGxlZ2FjeS10cnVuaworMjk3MjcgMDJkNDhlZDQ0N2E4M2IzNGNhZTg4YjM3ZjcyMThjMzNhMjhjNWEwOCBsZWdhY3ktdHJ1bmsKKzI5NzI4IDE0OTE2NWNkZmY3Y2RjNDkzNzE5NTEzYTE0NjM0ZmNlMGNlMDk0M2IgbGVnYWN5LXRydW5rCisyOTcyOSBjZGQyODlhMDY2MTRhM2MzNDk3MjRmYjk5ZjM0MjA1ZThkNGIwMGQxIGxlZ2FjeS10cnVuaworMjk3MzAgNjc5YjJiODI1NGFlNjY2ZDc4ZjZmNTM4MzNkZGNhZjViYjg4YmM4OSBsZWdhY3ktdHJ1bmsKKzI5NzMxIDRiZTM0YmQ3M2RmZjQxZTY3YTljZWUxN2Y2NDkyM2E1NzI0N2I3N2EgbGVnYWN5LXRydW5rCisyOTczMiAyMmQ3MzI1YmE3YWM0OTY5ODIzY2U4Y2VlNmQ1NGQ5YzhlNDQ5ZDc5IGxlZ2FjeS10cnVuaworMjk3MzMgYThkMTMwYTZhNzRkNjhlOWJhMDVhNzk1M2VhOGY1OGVmMmFkODI2MCByZWxlYXNlMjItbWFpbnQKKzI5NzM0IGYyM2MzNWY4MTAzMzk5OWM4NTM5ODc1YzA1NGNhZTE0Njg5OWVjMDIgbGVnYWN5LXRydW5rCisyOTczNSBiMTk0NDNiZGY0NDdlN2Q4MWEwOWM5NzNmNzZhMTE1ZWQ0NzkxOTFlIGxlZ2FjeS10cnVuaworMjk3MzYgNjBkODA5YTI1YmFlYzgxMzkwOTBhNzc0ZWI0OGZjODM0NjM1ZDNhZSBsZWdhY3ktdHJ1bmsKKzI5NzM3IGIzMjdmZmNmZTliN2I5NjE0YWEwMjg2M2QxZmU3MWU0NjE0MTM1OTAgbGVnYWN5LXRydW5rCisyOTczOCAyMDVmYmYxYmQwNzU2MmYyNDI1NjA2YWRmOGY5MTJmZDU5NmI4MDk1IHJlbGVhc2UyMi1tYWludAorMjk3MzkgNzY2MDFmYjA3OGQ0MDE3YzgwNTc5NDJiMjc2MTQ1ODEyMzc0OTc5MCBsZWdhY3ktdHJ1bmsKKzI5NzQwIDI0NGU4ZmJlNGUyMDQ1NDBkM2Y0NGVhZGMzNWE4MTVmNzk0NzI5NDkgbGVnYWN5LXRydW5rCisyOTc0MSA1MzNlYjUzYTdmYmRkMDNlZjU0NmU3YjIwZjU2NTcyMDNlMGI3MmExIGxlZ2FjeS10cnVuaworMjk3NDIgZTM4ZDUwMzM3ZThjZDgzMDI0ZmRkM2FhNGRkYjc5NDFiMmY1MDBkMiBsZWdhY3ktdHJ1bmsKKzI5NzQzIDQyMjc5ZjdkMjQ0ZGY3NGIyNzZiMzA5NTAxNWUwZjVmM2ZkN2EwNTMgbGVnYWN5LXRydW5rCisyOTc0NCAzNGZiYmNiMTA1YTQzYjY2NTYwMmI1ZWI0ZmI3ODlmYzRjOGRjODRhIGxlZ2FjeS10cnVuaworMjk3NDUgODNjY2FhYWIzZTVlNDc3ZDYyZjk3NjUwNDg1YTI5MDlmNDViYjViYyBsZWdhY3ktdHJ1bmsKKzI5NzQ2IDZiNTU2YzU0NWZmYjM4YWRiYjcwZGM0MDkyYzBiYjgwYmQxZGE1OTQgbGVnYWN5LXRydW5rCisyOTc0NyBlMjcwYzBkNDFhMDUwNTdhMzExNjQ3YzYyNGJkMmM5YzhkYTNiZGNmIGxlZ2FjeS10cnVuaworMjk3NDggYzQxOWZjZTE1MjllNTdiZTRhZjAyZjdiZmMxYjBhZjU4OTdmNjFkMCBsZWdhY3ktdHJ1bmsKKzI5NzQ5IGZiY2NlZjhiMzE1MzMxYjE0Mjc3ODJmYzQ4MmZiNDRiOWFlYmRjODIgbGVnYWN5LXRydW5rCisyOTc1MCA1N2M2ZTg0ZjcxY2VjNjZhMGQ3YjgxNTY2YmM2OWQwOTZkNTkxMjJjIGxlZ2FjeS10cnVuaworMjk3NTEgOTU4ZDA3MDg1ZGNmNGFlODA4YzZkYjk2ZWQzZjM1Y2ZmYTIwNTcxZSBsZWdhY3ktdHJ1bmsKKzI5NzUyIDUwYzk1OGY3MDNlMzAyODllMjZhNmMwNjhmMDA5ODY3Yjc0OGI1NjcgbGVnYWN5LXRydW5rCisyOTc1MyBkNjYxMjliNTUxZGI0ZmFlMjA4ZjI3YWM1OWM0NzY2ZmI2YzU1YTMwIGxlZ2FjeS10cnVuaworMjk3NTQgM2FjNDY0YzM3Mzc0YzQzODRmZWYxODE1MDRkY2MzODE5ODc1ZWE5YyBsZWdhY3ktdHJ1bmsKKzI5NzU1IDdjMDhmNmNiOTBlNGY5NmUxMmM5MzFlZDQyODUwNDVmZWY1YWQ2ZjIgbGVnYWN5LXRydW5rCisyOTc1NiBkNDQxMWQ5NTBkNDgzMjU1MDM0NTk2MDVkYTEwNWQ5MjdlNTJlZjA5IGxlZ2FjeS10cnVuaworMjk3NTcgODc1MTQwZDMwZTE3NjU2MGFkZjQyNmRkZjUzNDljMGI4YzE1ZjdkYyBsZWdhY3ktdHJ1bmsKKzI5NzU4IGVlYzk5NzgzNzE2YzNhY2RjNGJkNTQyZmE2MDBmY2EzOTRiNmU1NzEgbGVnYWN5LXRydW5rCisyOTc1OSBjZTY0MGRhYjEwZTQzMmM4Nzk4OWI4MGU0YzU1ZTcxNDg3ZDIwOGNkIGxlZ2FjeS10cnVuaworMjk3NjAgZWZlNThjMTBjY2YxNmQwMDY2YmRhMjEyNDE4NGQ5YTNiNjhmNmY3YSBsZWdhY3ktdHJ1bmsKKzI5NzYxIDRlZDIzMGEwYzkzMWViMGYxY2E1M2RhNWQ5ZmIxNGY0ZTM0MWFlN2YgbGVnYWN5LXRydW5rCisyOTc2MiA0MmJmYzk4ZDI5NWI3ODUxZTE3MDE3N2RlZjcxMGZmMjQ5MjgzNDRhIGxlZ2FjeS10cnVuaworMjk3NjMgOTZiZGI0NDc2M2MzNmRmMTk2NTQxOTI4OTlmNGE4NWJiYjIxN2E4OCBsZWdhY3ktdHJ1bmsKKzI5NzY0IGEyNGJjNmEyZTJjZGZhNjY2M2NhMjUwNzJkZjRjNjliOGM1MTNkMzggbGVnYWN5LXRydW5rCisyOTc2NSBiMGI2MDg1OTgxNzAyMDVmZDE3NDBhNDMzNDViZTc0NDU3MmU3ODFhIGxlZ2FjeS10cnVuaworMjk3NjYgMDkzNGE4YTBiYTBkODU0ZmFkMzQyZGIyNThkMjM2OTc3ZmVhZjRhNCBsZWdhY3ktdHJ1bmsKKzI5NzY3IGU5NjU3NWY3ZTk2YTdlYzJmMDA0YWU3MWNkZTA1MmI4YTJlMzI4ZmYgcmVsZWFzZTIyLW1haW50CisyOTc2OCBkMzFkZGM2NmIxYjU1MWY5OWNmZmU0Zjg2ZmJmM2E0MzliY2EwYjk1IGxlZ2FjeS10cnVuaworMjk3NjkgMzE2ZmRkYmMxZTA3ZWVlYmRhODA2ZTEzNjAyODFkNmM4NTQ3MDZkOSBsZWdhY3ktdHJ1bmsKKzI5NzcwIGZmNWI1MTBlYmE2YjY3OTQ1YmY4MzEyNDY2ZDA3YzA5ZWQzODk1NWYgbGVnYWN5LXRydW5rCisyOTc3MSA2ZDBjZDgwZTI4MDQzMGQ4OGNiMDAyMTk4ODU4N2NlMjgwYmQ5YTJmIGxlZ2FjeS10cnVuaworMjk3NzIgMWJkOWQ5ZjAyYWQxYjQ1NjJjOGIwMzhiNWQwNjRhNjhjN2EzOTRlZCBsZWdhY3ktdHJ1bmsKKzI5NzczIGJlYTk5MWU2NWZmZDM5Yzg5ZTgxMDhjZmQ1ODBkZWRhMzQ5ODNhNTYgbGVnYWN5LXRydW5rCisyOTc3NCBiYWNkNjc4YjNjNGNlZDIzNGMyYzZkOTQzNGFlMjdjYzE2MjgzMDQzIGxlZ2FjeS10cnVuaworMjk3NzUgZjZlNDY1ODViNmIzNGMwZGM2YmU5OTRjM2UzMTQ0MDExMDhkMjc4NiByZWxlYXNlMjItbWFpbnQKKzI5Nzc2IGM3NzQzNWQ4N2MyZTkyMGRjNDA1NjA1YzhiMzgzNDM5OTk3NDMzYjcgbGVnYWN5LXRydW5rCisyOTc3NyBkY2RlMjUzNDdlOTM4OTAxZDUxYTNmZWQ3MzAyMmE4MjkxMmMwMjFmIGxlZ2FjeS10cnVuaworMjk3NzggZTNiOGY3N2E2OTgwMGIyY2IyYjA4ZGQwOTVlZDY0ZGYwY2JjYjViNSBsZWdhY3ktdHJ1bmsKKzI5Nzc5IGZmN2FkMzJjOTU1NGVkZjI4YjlkZDcyZGY2NGE2MGI5MzA5ZjYyN2UgbGVnYWN5LXRydW5rCisyOTc4MCAwYzg5OTM3Y2ViZWQzNzZlNDBkZTY5Zjg2MTQxZjgwOTUyOWUzYmY3IGxlZ2FjeS10cnVuaworMjk3ODEgMDgwODM4ZTM4ZTdjNGFlODRkMjI4MTFlMTg2YmZhNzZiMDJiMjg2ZSByZWxlYXNlMjItbWFpbnQKKzI5NzgyIDMyZGY4ZDU5NjBkMTgyZmQ3YzRhMTFkMmFmMmUyYmMzZmE4ZGUyNDAgbGVnYWN5LXRydW5rCisyOTc4MyAyNTFkZDEzNmJhYzNiYjAzMTU3Yzc5M2QwNzEzMmQ1MDBkYmVkMDYyIHJlbGVhc2UyMi1tYWludAorMjk3ODQgZWYxZTM4MzJhOWVhMjAyMzUyNzBjMmI1M2JiZTcyNDRiMzQ1OWJkZiBsZWdhY3ktdHJ1bmsKKzI5Nzg1IDQwM2RjYmM5MDQzZjY4NzRkMGZmYWRiNGNkMTE0MGYzOTc3MjkzY2UgbGVnYWN5LXRydW5rCisyOTc4NiA3ZmM3MDRjY2ExODEzYmIzYzA3ZmM1MTNlYmNhM2FmMTU0MTljYTkzIHJlbGVhc2UyMi1tYWludAorMjk3ODcgYmFhNDdkN2U4NGUyNTgzNjA5MjYyNmFiMTI4NTkzNzY5MTliNmY3YyBsZWdhY3ktdHJ1bmsKKzI5Nzg4IGYyZmMzOGY4Y2E5ZGUyZThiNTFkMDM2NzQ2MGQ3ZWFlM2IzMjZmYWEgbGVnYWN5LXRydW5rCisyOTc4OSA4YjYzOGJlNzZjYmUyNDBiNTY0ZDQxNDZiZjc0NzYwOTZjNDJkMGU0IGxlZ2FjeS10cnVuaworMjk3OTAgNDFmZjUwYjRkMDk3NDIzYjBmMmE1M2M2ZDliZWE0NDZiYmQ1NDk3OSBsZWdhY3ktdHJ1bmsKKzI5NzkxIDhlNjAxM2JiZTdhN2MzYzRmZTk5ZDBhNTQ3MmFkOTU1MGY3ZDhiNDAgbGVnYWN5LXRydW5rCisyOTc5MiAzZmQ4YzJhZmYzMDUyOTczOTlmZjFmYmYyNTc4ODdlYmVjMTRhYjliIGxlZ2FjeS10cnVuaworMjk3OTMgYTI3YWM5ZDMyZjIzMzhmYWFjNGY4OTUwOWU5ZTIwZjMwYWFmOWFhMCBsZWdhY3ktdHJ1bmsKKzI5Nzk0IGE0ZGJhMDU4ZjcwZWFmZmMzZjhiMzZjZTMxODVkOWI3ZDcwNGI3M2UgbGVnYWN5LXRydW5rCisyOTc5NSA5MTBmYTczOWY0YTRlN2MzNDg1MDljMWY5M2U1ZDFhMWI1M2YzZmZjIGxlZ2FjeS10cnVuaworMjk3OTYgOTBlOWEzZWNkYTQ0OWRjNmJiMWE2YTVkOWFiODc4ODg4ZGZjZTg5YSBsZWdhY3ktdHJ1bmsKKzI5Nzk3IGQ0MWM0Yjk1ZTcxNGRlMThmZjgzMjQ3NDlhMTFhM2UyNzI3YjM4MjcgbGVnYWN5LXRydW5rCisyOTc5OCA2ODAzNjBlNjhhMDYzYTY3OGE4OGE1MDUyNTNhNzkwMjRiYWMzYWMyIGxlZ2FjeS10cnVuaworMjk3OTkgZmFkY2FiNjVhYTg3NGI2NDkyMTY5OGMzMmZiODE0MWUyNWVjNzIyYSBsZWdhY3ktdHJ1bmsKKzI5ODAwIDA2NzU0ZDczYzYzZTQ2ODdiZTY4ZTA3YmI0MzYyNzA3Y2I0OWI2ZmYgbGVnYWN5LXRydW5rCisyOTgwMSAwNWQ2YWRlM2U5MmI0YjFjNTgxNWQ5OWUyODcwNzA1MzFhZmZiNGE2IGxlZ2FjeS10cnVuaworMjk4MDIgODIzODk2Y2UyZTVkMDU2OGNiOWMzNDM3ZmU1ZTAxMjhjM2QyMTUyYSBsZWdhY3ktdHJ1bmsKKzI5ODAzIDJiMGU4MTVjMGIzMDdmZmUzYzVkYzIxMzBmMDVlNDQxM2Q3OTI4MjcgbGVnYWN5LXRydW5rCisyOTgwNCBlYTFkMjA1MGQ3ZGFhZWNmNTYyYWRmNTBmOTA1YzY5N2Y4OGNhZGMyIGxlZ2FjeS10cnVuaworMjk4MDUgZjNhNjkwMzdmZGYwZmFkM2E1OWYwMzc1N2U3MGRmNGJiYzQzZGQ2MiBsZWdhY3ktdHJ1bmsKKzI5ODA2IDQ0ZDdlYWFlMGQ4ZDM4YjIyNjJkMzJjY2JlZWUwYTY3NjVjNGVhNTggbGVnYWN5LXRydW5rCisyOTgwNyAzMDg2ZTExMTc4M2E3OTEwNDFiOGNkOGRkNTAzZWY5ZDMwM2I2N2I5IGxlZ2FjeS10cnVuaworMjk4MDggNjBiZDdhZjAzMjRlODBjYTM3N2M5NDQ1NDQ4MzQzYjk4YWMyZmVkNiBsZWdhY3ktdHJ1bmsKKzI5ODA5IDYwMWI4ZmMxMmZiOTUzYTE4NzBjNzg5Mjc3YmJkZmMyM2EzOTY4YzQgbGVnYWN5LXRydW5rCisyOTgxMCBmMzQwMGVmMDJhNDU5YzQ3YjIwMTk5MjVlYmU4MGQ1MjRhYTI4MTkyIGxlZ2FjeS10cnVuaworMjk4MTEgYzc2NzYyZDY2ZjQyMWMxNzJlNTJjMDBhMjQ1NGJjMjA5NDczYThmZSBsZWdhY3ktdHJ1bmsKKzI5ODEyIDk1N2NhMmM1MTc5MDQ5YTM1ODNlNTQ4Mjg5ODcwYTE2YTRiNmUwOWEgbGVnYWN5LXRydW5rCisyOTgxMyAxMDg3MWY0NGU3ZGIyOWQ2Y2RmNjM4ZTc5ZWE0MWY4YzZkMGExNGFlIGxlZ2FjeS10cnVuaworMjk4MTQgNzMzZTRiOWQ1OTJlYmNlYjA5NGMyOTlkMDk4ZmRkNThhZjExZTM5NiBsZWdhY3ktdHJ1bmsKKzI5ODE1IGFjNzg3MmU1NTQwNTliZDk4OTQwMzQ3YWFlYWExNmU3MmNjYTVhMTIgbGVnYWN5LXRydW5rCisyOTgxNiA2NTg5YzM3YzBkZGQ3MmIzZjNjOGU3Zjg0ODllNzRiNTM2ZjA1MWM4IGxlZ2FjeS10cnVuaworMjk4MTcgNGVjMTkwMmVlNmI3N2NhOGQ5NWM1NzQwMWM5OTc0MjYwZmU4MTEwNyBsZWdhY3ktdHJ1bmsKKzI5ODE4IDU2MTE4NWQxM2Q1Y2M0MWY3NjEyZDY2ODRlY2I2Mzk3ZGZlMTExN2QgbGVnYWN5LXRydW5rCisyOTgxOSBmNzg1MjcwY2VlMTk3ZDE3MTRjODU5ZDM4ZDNkYTYxNTViMDJjZmJjIGxlZ2FjeS10cnVuaworMjk4MjAgM2M2NGVmODdkNWY4OWY1NDY4MDQ0YjI4NzQ0NWRiY2NmYjEyZmM2YSBsZWdhY3ktdHJ1bmsKKzI5ODIxIDA2N2EyZWY2ZDhhOWYxNmYzYjhiYjQ4NzgwZWVkMzgwMmIyNmMwMzYgbGVnYWN5LXRydW5rCisyOTgyMiA5ZjQ2OWRhNTkxYTllN2ZhZjFjNTYwODk4MmI1NTI3NTFhMjI0ZGQwIGxlZ2FjeS10cnVuaworMjk4MjMgNTQ3ZGU0MDdjMTMzNDczZWQzZjIzOWNiNjQyNTQ4OTBiNDJjYzAwYSBsZWdhY3ktdHJ1bmsKKzI5ODI0IDNlMDJlYWQ4ZGUwNTgwMDc5NzlmMGI3NDNiNjJmYjdmYTU2N2YyNTIgbGVnYWN5LXRydW5rCisyOTgyNSA0NmJiOWFkODMxOGYxOGZhNGQ1NGNlOWZjZmQ3MzQwNjZiZTBkZjFhIGxlZ2FjeS10cnVuaworMjk4MjYgN2I5MDk2NTAxZWE4MGQ4MDU5ZWVjYjk4NjBjODE2M2Y4OTBlMTAzNiBsZWdhY3ktdHJ1bmsKKzI5ODI3IGFiZjU2NWNmNWI1NDc0YzgyZTRlOTAxY2UyOTI3MTk1NTEyM2U4YTIgbGVnYWN5LXRydW5rCisyOTgyOCAxM2MxYWExNWUwZmI1ZGE5NDgzNzUxM2Q2MjRlZTIwODMyNGVhMGEwIGxlZ2FjeS10cnVuaworMjk4MjkgZGMzOTllOWNhYjg5ODZlOTI3MmEzODNjZjVkZjI5OTJlZGRiZmIwZCBsZWdhY3ktdHJ1bmsKKzI5ODMwIDMyMmI2NjRhMjAyMmQ4Nzg0YTk2MzM4NDc3NTI2YmNkOTI2NWJmYWUgbGVnYWN5LXRydW5rCisyOTgzMSAzNWYxMjVkNTJjZjVhODFiMTJjMDEwYjNlYTNhMGI1MTZiYmRjNjUxIGxlZ2FjeS10cnVuaworMjk4MzIgOGZlMjk2YWQ1OTM2YjM3MDI4YmVkNmYyNWRiZmZjYjFkZWIwZGJlNiBsZWdhY3ktdHJ1bmsKKzI5ODMzIDc3MDkzZDU3Y2NhOTk3YmU2NDg1YzgyYjBhNjk1YjAwNzNlMTE5OWUgbGVnYWN5LXRydW5rCisyOTgzNCAzZjdhZWE1YjkzYTE4Njc5MjgwMzJhMzdiMzUzYTE1ZGQ3ODQ3N2JjIGxlZ2FjeS10cnVuaworMjk4MzUgNzkxMTg2MzJlMzdlNDAxZTA3OWNiZTAwOGZiNTJiNzY5ZWQxMzBhZiBsZWdhY3ktdHJ1bmsKKzI5ODM2IDU0YTc0YjBkZmUyNmNmYTYyZDk2OWIyMmU1MzRjY2YzMzVlMWMwZGMgbGVnYWN5LXRydW5rCisyOTgzNyA4MjM2ZDUyODg0MTI1NmJjMWVkNzc4YmMwMDYwOTQ3MDc2NWEwM2ZiIGxlZ2FjeS10cnVuaworMjk4MzggODc4ZmVkYzZjN2U3YzRlNTUxNDMwYzMyYmVkZDY0MTRlMzA4ZDZjYyByZWxlYXNlMjItbWFpbnQKKzI5ODM5IDZlMjI4ZTFhZmYzODU4N2UwMWUzMzE4MzdhNGIyNjExOTExYzY3MzIgbGVnYWN5LXRydW5rCisyOTg0MCBiODI0MjhiMTc5NzhmYjBkYjZlMGJmOTA1MmVhNmQ4YTliMDI0ZjUxIGxlZ2FjeS10cnVuaworMjk4NDEgNGYyZDUxNzRiZDRhYzViOGVlYmE4MGYwYzIzYjRhMGU1Nzc4ZmE1OSBsZWdhY3ktdHJ1bmsKKzI5ODQyIGQxZDg5NTliMTM4YWNmZWQ5ZjY0NTMwMjgzYWRmNzQwMjNhZWQyMTMgbGVnYWN5LXRydW5rCisyOTg0MyAwOGI3MjBjZDM4N2UzMzU5NWNiNmE2NWQxZjJjMGQ1NjY5ODQzYzI0IGxlZ2FjeS10cnVuaworMjk4NDQgMGM3Y2IyNzQ2ZDg2NDM0NThlZGEyZGVmMTcwZDRkYTg1OTg0MGJmYyBsZWdhY3ktdHJ1bmsKKzI5ODQ1IGMxY2FhNWJmZjI5MmFmNTJlMGYwMjY4NGJhZDFiMjk1N2QxZDE2MDggbGVnYWN5LXRydW5rCisyOTg0NiBjMjYwNGQ2OWFhNWQ1MmJjMmQ2ODNjYmMzYTI3ODBkYmI1OGYzYjExIGxlZ2FjeS10cnVuaworMjk4NDcgOWU0ODlhMGRmN2I1YWY5ZDY2OGQ2NTM5MGM4YjYyMGE5YmFiZWFjNSBsZWdhY3ktdHJ1bmsKKzI5ODQ4IDNkMGUwMjk3NmJjMzM2NjQ3YTc5NTk1YmRlNTJjYTYwNDg5ZTdjODcgbGVnYWN5LXRydW5rCisyOTg0OSBlMTY4NzYzZTg2MWEyYzQ5MTI3ZmNjODQ3ZmJjNWMxYmM0YTZkN2VkIGxlZ2FjeS10cnVuaworMjk4NTAgZDRjYzk3MWQxOGE2M2UxMGZkZmRjOWZiZGY5MDE2MjJjOTMyYTE5OSBsZWdhY3ktdHJ1bmsKKzI5ODUxIDEzNWJiMTEyMTVhMDk0YmU4NjJhYjY5OTI0Yjg1NzM4ZThiZWU2MzQgbGVnYWN5LXRydW5rCisyOTg1MiBkMGYyZDFmM2ZjODU0MmE2MzA5YzAwOWEzYjA3MGMzN2U4YmQ3YjdiIGxlZ2FjeS10cnVuaworMjk4NTMgMGYyNzY2MzAyYmEwYTlmMzY4ZTc4YjU0NDVkYjdlMGRkNGNiMTBmYiBsZWdhY3ktdHJ1bmsKKzI5ODU0IGQyZmI0MmVjOGJiNDIyZTMxNmRhMzMzNjI3Zjk0ODhmMWEyMDcxYzAgbGVnYWN5LXRydW5rCisyOTg1NSBhYjM3NjNkNDc3Y2M0MDhhNjc4Y2QxM2YxYjFjNDY5YzU0NTI1YjMyIGxlZ2FjeS10cnVuaworMjk4NTYgMTg4NWIyZDYzOTNhOGFjZDcwNGMyODM5OGMxYTkzY2E2N2FlMTBjZCBsZWdhY3ktdHJ1bmsKKzI5ODU3IGY4YTFiYTQ0NjE1ODQ2OWNlYzY4N2JjMjkxN2QzMjNmMzg3ZjUxZjcgbGVnYWN5LXRydW5rCisyOTg1OCAxMTkxOTdmYTYxNDA4ZWQ1YWI4MTAzMWJmZmJhYmU0YmMxYWQzMDJjIGxlZ2FjeS10cnVuaworMjk4NTkgM2Q1MjNkYmM5OWJlZWE0YTc5NDU4YjBkMTNjYjRlNTM2ZjUyMzAwZiBsZWdhY3ktdHJ1bmsKKzI5ODYwIGU3NDg2ZjNlZjc1OWE4YjJlNTQyN2Y0MDBlMmQ5N2EyZGY4MzFjM2QgbGVnYWN5LXRydW5rCisyOTg2MSBkZjU1NmZkZWM2OWQwNWYzNTQ3OGUxZGJjNWM2ZThiNDhiY2I0YjQ5IGxlZ2FjeS10cnVuaworMjk4NjIgMWY4MDAwNTdiNjM3MjhmNTI1N2ExYTY3MzQ3NjgyNjY0NTQ2MWVjMCBsZWdhY3ktdHJ1bmsKKzI5ODYzIGRmNzE5NzM2ZTE1MWI1NzY0NjhjM2MwZjljYjk2ZmU2MGZjNGRjY2EgbGVnYWN5LXRydW5rCisyOTg2NCBmY2Y5NzM0ZTEwMjE0YmUzYzRmMzc3MDc1YTNjYWMyMzJhYjZiNWMzIGxlZ2FjeS10cnVuaworMjk4NjUgMWJhZjFjZGRjMGVjZDk2OWM2NzRjN2JjZjc0YzliNmEzZTIwNDc2MiBsZWdhY3ktdHJ1bmsKKzI5ODY2IDhhMDEwYzI3ZDZjYjlhMzZjZmU1Y2E5ZjU1NDY2ZDQ2MGFiOWU0MzUgbGVnYWN5LXRydW5rCisyOTg2NyBhOGNhZGZiMGZmODMyZjZiY2JjZjBkYWQ3ZjMyZWQ5MDY2YTU4MDk0IGxlZ2FjeS10cnVuaworMjk4NjggZDIwN2QxZDc4YzVkNWExZmJkZDQyOWI3NTViMjQxNmZiZjFjNzIwMyBsZWdhY3ktdHJ1bmsKKzI5ODY5IDQ4MmFlMDU1YmJkNGZhMGFjNWM0Y2FlNWQ1NzY4M2FkMjBjZjcyOGUgbGVnYWN5LXRydW5rCisyOTg3MCBiYjM4ZDdhYmMzZmNkY2Y3OGE5NzNmY2M3MmQxYjRkNDIyNjRlMzA4IGxlZ2FjeS10cnVuaworMjk4NzEgNDkxYmZjNGEwZjViYjYyMjk3YTdjYzdhYWJhNGRlM2M5NzU0ZTViNCBsZWdhY3ktdHJ1bmsKKzI5ODcyIGIwNTVlNzg4M2M4M2ZjNTI3NDY2YmQxMTM5MWU1NWFmNmJlNGFmMGYgbGVnYWN5LXRydW5rCisyOTg3MyBlM2ZhZTdiNmMyMDc4ZjRkOGFjNTZlMTFmNzZlMmNmMDhjZmQ3ZWI2IGxlZ2FjeS10cnVuaworMjk4NzQgYjI3YzFjYWQ3N2VhNzA3NTBlYzRmOTZmZmY4M2QxMGI0YTgwZjczOSBsZWdhY3ktdHJ1bmsKKzI5ODc1IGEwZDc1MmJlNTU3NzMwYmUzMTkwMmE5NGQ5YjM5OGUzOTI2OTUxNTcgbGVnYWN5LXRydW5rCisyOTg3NiAyODEyY2FjZTMwMWFjZDdmZTU5MjUzYzQyY2U2MWNkMDVmMWRjZWM0IGxlZ2FjeS10cnVuaworMjk4NzcgY2M2Mjg1NGY2MzZjZjIxMDdhNzgzNjEwNTg0YzkxYTJkNmZmYjdlZSBsZWdhY3ktdHJ1bmsKKzI5ODc4IDQzODA0MzVmZWY2NjUwNGY0YzFkNDg1ODBhODM3MjQ3ODNmZjFlYmEgbGVnYWN5LXRydW5rCisyOTg3OSBjYmQ4MWQwOGM0MzAxYzRiODBjY2Y5M2RiYjhiNDJiMGQ4M2U5ODFiIGxlZ2FjeS10cnVuaworMjk4ODAgNDg4MTYwMjFmNTg4MjkyMTVmYzVlOWVhMDhhNTdjYTBmZmZjZWZkZSBsZWdhY3ktdHJ1bmsKKzI5ODgxIDFiNDdiNTc2ZTBkNGE2MWQxNWY4ZjBkMDk5ZDEwYmIwZTk0M2FiYmMgbGVnYWN5LXRydW5rCisyOTg4MiBiMzg1MzNlMDFkNjVmYzlmYThiZjlkN2JmZGVhNGZlMzg3ZmJmNDgxIGxlZ2FjeS10cnVuaworMjk4ODMgNzAwZTE4MmIyOTAxOTM0Mjc3YzNhYzI3MDJhYTk2ZWI4ODI3ZDcyYyBsZWdhY3ktdHJ1bmsKKzI5ODg0IGY3MTAxNzAyMmZjZWNjNjJlZmM3NTY3Y2I5Mjc0NjNhOWQ2ZmNjNjQgbGVnYWN5LXRydW5rCisyOTg4NSAzZmE2ZGVkMGExZTk0ODBmZTNiZDgzN2I1ZWQ1YTY5Y2JhNzQ3MjhkIGxlZ2FjeS10cnVuaworMjk4ODYgNTQ0NzI3ZDQxZjU2ODdmZWM5NTc5ZWVhZGEyMzUyODVhMjNiYjI0OCBsZWdhY3ktdHJ1bmsKKzI5ODg3IDI2OTE4ZTJlZmQxNzdhYTdiOGQxOTJmZTkyMjNiOTRjYTZiNWNkMTAgbGVnYWN5LXRydW5rCisyOTg4OCAxYTA5NGVmMGZjODYyYzQ0YmYwYTFhODY2NjMyNDYwMTBjMDMzM2EyIGxlZ2FjeS10cnVuaworMjk4ODkgZGRlOWM2MmE3MmZlMDNhYjMwYzY0YTkwYjJlZjI0MzAxZjRhMzVhOCBsZWdhY3ktdHJ1bmsKKzI5ODkwIDU2OWUxOTNiZjU5ZmNhNzAzNTE5MjIyZjcxYjE5ZDMxNzJiNGNjYzkgbGVnYWN5LXRydW5rCisyOTg5MSBmMjgzNTUzMTA4NjcwNTViNTE4M2FiYzE3ZDM5N2Y4OGU2Y2Q1ZWNkIGxlZ2FjeS10cnVuaworMjk4OTIgZDU4ODI0Y2ViMzVkNTg2NzlkMzIxMDdjYjQ0NmM0ZTcxZGYxZTU4NyBsZWdhY3ktdHJ1bmsKKzI5ODkzIGJkMDllM2EyZDUzNjQwZTgzZGNhYjJmNDhjMmU1ODExOTM2NzY1OTMgbGVnYWN5LXRydW5rCisyOTg5NCAwMzAzNTUyM2IzODVlZTk2M2JiMjMwN2Q4MmMxYTkyZjcxOWVhMTI2IHJlbGVhc2UyMi1tYWludAorMjk4OTUgMzVmNDQ0Y2E1ZTA1YzM3MzcwMTY3N2EwMzMzNDk5NzM5YzlmZDhmOSBsZWdhY3ktdHJ1bmsKKzI5ODk2IDFlNTE0ZTM3NzYxM2UxNzY4MjYwMTkxYmJjOWFmM2I2ZWJkMTkzNTMgbGVnYWN5LXRydW5rCisyOTg5NyBhYjZjN2IyN2E0Y2I5MTRjZDk4YmY2ZjZjN2M2YTUxOThlZmQ1MWMzIGxlZ2FjeS10cnVuaworMjk4OTggOWQ2YWVkMmU2MGUyOGY2Nzc3ZDY1ZTZlYzA4Y2E2Zjc0YjAzMjEyZSBsZWdhY3ktdHJ1bmsKKzI5ODk5IDRkNDcxNTI2YWNlMTI0Yjk5ZDRiZDEyYzNhNzQwN2QxOWE1Y2M5ZDYgbGVnYWN5LXRydW5rCisyOTkwMCAzZDI4NjlkZTIzMzZjYjEyOTNhMTI5MDEyMWNjMzJmYjU1NTg3MWM0IGxlZ2FjeS10cnVuaworMjk5MDEgNTFkMDA1NzgxYzg2OTE0ZjZhMTdkZDZhZGUxNDk2M2YzZjY5N2YxMSBsZWdhY3ktdHJ1bmsKKzI5OTAyIDYwOWI1ZjM3ZjE0ZmUyYmQ5MWY0ZDljNjE2OGRkMzkyNWQ2ZGQ5NjggbGVnYWN5LXRydW5rCisyOTkwMyA0NTc0YjY1OWVjMzdhYmQ4ODdiMjllNDdiNmE0ODljMTViYWUxZTNlIGxlZ2FjeS10cnVuaworMjk5MDQgNjUxMWIxNmZmZTg5ZmZiZWZiOWY3YzFjNDU4NmZiZTkyNWI0OWNlYSBsZWdhY3ktdHJ1bmsKKzI5OTA1IDAxMDNmMGI3NWZlMjYzNDdlODg2MDhlZGVlOGM2NTRjMTM1OWJmMWEgbGVnYWN5LXRydW5rCisyOTkwNiA0YmVlMzM3OTA5NDBjY2RkZjIzMGEwZDQ5ZmYzN2I0M2EzYTRkNmQ3IGxlZ2FjeS10cnVuaworMjk5MDcgYjA0ODlhNjA1OTdmNzQxNDFjOGM4MTJiZWI3NGYxY2NmZTRlOGU0YSBsZWdhY3ktdHJ1bmsKKzI5OTA4IGFkNzVlZmUyZjBhNjZjN2ZkZDFmMDZhODgwYWRkMjQ5YThkZTRjNzggbGVnYWN5LXRydW5rCisyOTkwOSBjNTIyYzhjNzFjYWIwYzEwZTg1NmM1NzNjMDE4NjFiMzJhNmZlOWI5IGxlZ2FjeS10cnVuaworMjk5MTAgYzZmZmQ4ZTYxY2NlNmRiY2MwZjBhMTM4ZjZlNjU5YjFjNzNlNjk3MSByZWxlYXNlMjItbWFpbnQKKzI5OTExIDZkNTkwNjg1M2E3ZDkwN2U2ODM1NTAxYWY0OTUzZDA2ZTFiYzdhOWYgbGVnYWN5LXRydW5rCisyOTkxMiBjMmJlNGRjMjU0MDU1NDM1ODcwODk3ZTk3MjlmMzYwN2M3MzU4YTNkIHJlbGVhc2UyMi1tYWludAorMjk5MTMgNGEwMTIwOTkyNjkxNmQ5YWI1M2UwMDg2MGE0ZTliMzQ3OGVmNzU0MyBsZWdhY3ktdHJ1bmsKKzI5OTE0IDU3ZDAzMzc1YWVhZDc3YTg1OTk1MDI0OWFiNmZkODZhZTIyYmZkYTQgbGVnYWN5LXRydW5rCisyOTkxNSBkNDQ5NDViODFmZmFlMDA3NzVmMTJmYmE4NWYxN2I3M2Q0ODQ1NDYxIGxlZ2FjeS10cnVuaworMjk5MTYgYzViMTMwNTA4MWRmZDEyOTlmY2E5YzU5NWEzYmI1MTU2NTE2MDUxZiBsZWdhY3ktdHJ1bmsKKzI5OTE3IGFhMGUxOWI2ZTFlNzVhMGM1NzRhYjc3M2YxNThhNGNjYzNhOTZhZGQgbGVnYWN5LXRydW5rCisyOTkxOCBhMzUwYTQ4N2VhYzExYjM2NTU5Yzk1NDZkNTBhMWVlMzE5NzFkNmU4IGxlZ2FjeS10cnVuaworMjk5MTkgMzY3MjUyMjE0ZGFmMGYyNzUyOWMwZmI0YTRhYzdmNTZlZWIyNjhhNSBsZWdhY3ktdHJ1bmsKKzI5OTIwIGMxMjU4YjFhMzZjNmY2OGRmNmMwMTllYWQ5NTM1ZmJhNjk1M2ExZWQgbGVnYWN5LXRydW5rCisyOTkyMSA0YWMzOGYyOGNkMTBhMTVjY2M5MjRjOTRjM2NkYjMyNzAxZTJmM2YyIGxlZ2FjeS10cnVuaworMjk5MjIgNzQyMTM2NzI3NGI0NTQ4MWVmMjcxZGE2MjdkZmM2YTdmNTJmNmI0NCBsZWdhY3ktdHJ1bmsKKzI5OTIzIDc3NzdkY2ViNjZlZTE0NGNjYzU2NWZjM2I1NjY3YzA0Nzg1NTNiNjUgbGVnYWN5LXRydW5rCisyOTkyNCA3YTA5YjM2Y2EzNzljMmMwN2Q2ZDc5MThjMGZmNGUwODdmMjQ0MTEwIGxlZ2FjeS10cnVuaworMjk5MjUgYmRkYzQxMzE1MzM2NTBkOGJkZGQ4NTYxNTBmZjJiM2NjMDcyOGFhZSBsZWdhY3ktdHJ1bmsKKzI5OTI2IDhlYTJlMzU5OTdhMDRiMjA1NDMwZTgxNDRjMmU5YzAzNTUxM2FmNTkgbGVnYWN5LXRydW5rCisyOTkyNyA4Yjk4OGEwOWRlOTZkZGE2NjlhYzk3NTBhZmUzNjkyZWUxNzBkY2RkIHJlbGVhc2UyMi1tYWludAorMjk5MjggY2EwMWYzZGU2NjRlOGI2MDkzMTI5MTk1ZDY0NGY1OTdkMDI1Nzk0NSBsZWdhY3ktdHJ1bmsKKzI5OTI5IGNiODVhYWU3ODk4MDJhZDY3YTY1NWVjNzRiZDdjOGUwMTM5MDBjMjUgbGVnYWN5LXRydW5rCisyOTkzMCA2MGU1Nzc5N2I4ZTYxYTMxMWNhYTI5ZWE2NGNiNTY4YmVjNjBjZjg4IGxlZ2FjeS10cnVuaworMjk5MzEgMjcyMDRmMDcxMmEyNmVlOGM0NThjZjkyMWY1NWI5NjhiM2Y5MzA2NCBsZWdhY3ktdHJ1bmsKKzI5OTMyIDVjN2EzYTE3MzEwZDFhMmE4ZDM2ZjczZTMwMzlhY2VkNjZkMTNiM2MgbGVnYWN5LXRydW5rCisyOTkzNCA0OWY0OWFlYmY1YzIwYmUzMmQ4ZTRjYzYyYjkxMGZmNjc3ODcyOTE5IGxlZ2FjeS10cnVuaworMjk5MzUgZTUxY2JkY2EyMDg1YmE5NzJhNzdlZmZiYzgwY2JiNmZjMzIzNjkyZCBsZWdhY3ktdHJ1bmsKKzI5OTM2IDAzYWZkYTlhZDA5MDhhM2ZjMTI4ZTgzZTNiYjIzNjA5NjNlY2UwMzcgbGVnYWN5LXRydW5rCisyOTkzNyBkZDgxN2JiMzY0NmJjYjkyZGRkOTRkZGMwNDNkYTY0NGZhY2RjNjYxIGxlZ2FjeS10cnVuaworMjk5MzggMzdhMTc4YzBmZDU5ZjJmMjQzMmU5OGM1NTdiZTg5MDMwZmZmYTczYiBsZWdhY3ktdHJ1bmsKKzI5OTM5IGRkYmIwNTdlNWFiMzE1YmNlOTQ2MWQxYzA2MjY5MGQ0MzhhMWY0YTEgbGVnYWN5LXRydW5rCisyOTk0MCAxNTk1N2I3ZTQyNDc5ZTI5OTlmZDgwZTQ5ZGYzNzUzYTViZWUzYTBiIGxlZ2FjeS10cnVuaworMjk5NDEgYzg4ZjZmZmYxYzNmMWM3ODE3MzY0ZDMzOWQ5YmE4ZTEzMjFiODZhNiBsZWdhY3ktdHJ1bmsKKzI5OTQyIDE0ZmMxODczMzRjNTgxNWE5OGUzODFkMGJkMWU3YTE4YTRmNWM4NDkgbGVnYWN5LXRydW5rCisyOTk0MyBlMWEzMzEzNmI0ZTI2N2JiZjQ5ODliYzMzMzMzNjI2NjY3Yjg1YjEyIGxlZ2FjeS10cnVuaworMjk5NDQgNDE4YTdlYzkyNTk5MzBmZmY4NzM1NzM0NTUzNTVkM2RhNzQ2Y2RkNyBsZWdhY3ktdHJ1bmsKKzI5OTQ1IGE1NzNhZjVkYjgwNzQ1MmVhYzc0YzcxNmVhMmY5ZWE3ZDlmMDI3ZmQgbGVnYWN5LXRydW5rCisyOTk0NiBmYmIyNGNkNTQ3NjZjZTc3YjkwZTMwNWJhZTUwYzY5YmMzYjA5NGQ5IGxlZ2FjeS10cnVuaworMjk5NDcgZjc5ZWJiYWE0ODMzNGQ1ODJlZGRjZGQ1YWI4MmQyN2FkZGNhMTQzNSBsZWdhY3ktdHJ1bmsKKzI5OTQ4IDk1ZWRiNDhkYmZhMTZmNjNlNjgyYmU4YjBkM2IxODA1NzA3ODNiNjEgbGVnYWN5LXRydW5rCisyOTk0OSA5OWM3OGNmOTU2MTA1MWE5YTAzMGE1Y2VhZGMwNGM2NjE2ZWZlYzg5IGxlZ2FjeS10cnVuaworMjk5NTAgYjhmZmZiYmQ2ODMyNjYzNmRkZDY2MWI0ZTNlOGMxYzhkYTEzNGI2YSBsZWdhY3ktdHJ1bmsKKzI5OTUxIDA2OTBmODFjY2U3OGJlNzRhMTA4MjBjMDk5Y2VkMTVkYjYzZTczMGYgbGVnYWN5LXRydW5rCisyOTk1MiAxMzgzODUzMGY2MTk1NzQ0N2Y5ZDk5YTA0MDA4NDhkNTI2ZDBhZTVhIGxlZ2FjeS10cnVuaworMjk5NTMgNmM0NTk4NWE4ZmRiZmYzYWExNGQ3NjM0NTdiYjg2NjQ2ZTNmYjIyZiBsZWdhY3ktdHJ1bmsKKzI5OTU0IGYyNTViM2Y1ZTkxMzYxYzQ0ZWFjMzJlMWZmZWFjMjI2NjA3ODZhODggbGVnYWN5LXRydW5rCisyOTk1NSBlMDc5NDhkNWNmNjdjNDVkYzdmODgxOThiMjkxMDRiYjhjNGM4NWI5IGxlZ2FjeS10cnVuaworMjk5NTYgNzQ2OGI2OGU5ODI4NmY0ZWMxYWMxN2RlM2JmY2NiNDBmOWNjMGJkZCBsZWdhY3ktdHJ1bmsKKzI5OTU3IGQxYjRlNzAxNmQ4OGE1MmViOGI2MmNkNTQ3Yzk4YWFhZjcxMWQ2MmMgbGVnYWN5LXRydW5rCisyOTk1OCA3YmEwNzJkYjM4MjhmN2QzYWQ5NjI2MGM2YjRhMzg2M2FjZmU4MWQ3IGxlZ2FjeS10cnVuaworMjk5NTkgYjI2OGE2ZTg1OWNiN2IyODY0OWNlZjk4YWE4ZGQzYmQ5YzYyZDg5MSBsZWdhY3ktdHJ1bmsKKzI5OTYwIDI4ZWZlMTZhOGI3ZGY3YWQwZTk2NGRjMjgzNDZjNTRhNWViZDQ2YTIgbGVnYWN5LXRydW5rCisyOTk2MSBlMjZhMjA4ZWE3MWI4MzU3MTZmYTAzYjVlNWYyZDc0ODFlYjQ0NzUzIGxlZ2FjeS10cnVuaworMjk5NjIgMGY4NDhiMDYxNDZmMGM5NzU0NjdkYTAxNDhlNTU0NGRkODAwY2U4ZCBsZWdhY3ktdHJ1bmsKKzI5OTYzIGI0Y2U2YWMxN2Y2MDc5ZTY2ZjM0MjFhOGYwNjViMDdkMDgyZTQyM2QgbGVnYWN5LXRydW5rCisyOTk2NCAyZjQwZmE3OWI1OWE1ZjI3OWMwM2Q3MWFjYzBkMWZkOWRkOGE0M2QwIGxlZ2FjeS10cnVuaworMjk5NjUgYjhhN2M0Y2YzZTZkMjYwMDU5NzIwZWNjYjU4MjA3OWFhYWYzNWNmYiBsZWdhY3ktdHJ1bmsKKzI5OTY2IGMxMzVmYjJiYjgyNWFlODA4NWIyODFmYzY5Mjk2ZjJkMzNhYmU3NzUgbGVnYWN5LXRydW5rCisyOTk2NyBhNTZlMGIyNTE3YmQ4MzU2NGE4MjNkNjliNzIwZjZiMWFkMTMwZmY1IHJlbGVhc2UyMi1tYWludAorMjk5NjggYWY0Njk4ZTU5MWVjYzhlMjk4NWIzZTkxM2MyMGQyZmQ0MGVlYWQyYSByZWxlYXNlMjItbWFpbnQKKzI5OTY5IGUwYjU5NjA2MDMxM2U2MzcwOGY3YTI5NGU1YjAwZmVmYTQ0MTYxNGEgbGVnYWN5LXRydW5rCisyOTk3MCAyMzhjYWM5N2QxNjU4NGJlMzE1NWI3YTRlZDQ0NGM0ZTY2YWY1NDE5IGxlZ2FjeS10cnVuaworMjk5NzEgYjMxYmQwMDRmNDMwYzczMzg4YTA5YzczYjBhODIzZTcxYjYwOGQxOCBsZWdhY3ktdHJ1bmsKKzI5OTcyIDNmODAxOTI3MzU0OWVjZjJhODllOTZlYmRjNmZkZmNmMDM5YmIwMGUgbGVnYWN5LXRydW5rCisyOTk3MyA1NDY3YzZlMWY1NDFiMDRmZWI1MDE3Mzk4NzRlN2ZjMDA2Zjg3NjY0IGxlZ2FjeS10cnVuaworMjk5NzQgMjc3NWRlMzVkZDI5ZDQ5Y2VkNTA2ZDZiNzJkMGFjNzE1YTc2ZmQxYyBsZWdhY3ktdHJ1bmsKKzI5OTc1IGYwNzcyYmQ3Y2M0MDEyYzIwZjg3NGY4MTNkODkzMGM4NDg4NDZmYWQgbGVnYWN5LXRydW5rCisyOTk3NiBmOGQxYzY4MjBiZmFlYzUzODlkNzcxOTY2MTc1MjQzZWRlZTRhNDZkIGxlZ2FjeS10cnVuaworMjk5NzcgNzZmNzliYjM2ZmM3NzNkYzkxYWU0MTM5N2ZkNWU3ZWMzY2FkNTQxOSBsZWdhY3ktdHJ1bmsKKzI5OTc4IGNkMWZlNGI1ZjdmZmNjMjNlZTljOTJiOTYyNDY1YTkyNWUxZGI0OGEgbGVnYWN5LXRydW5rCisyOTk3OSBmODYxMzBmNDViZjc1MGQ4ZjliZDg4ZDVlMjRkYmQ2OWQ2MzkxZWU5IGxlZ2FjeS10cnVuaworMjk5ODAgNjcxMzI3MTk1ZGMzMGVhNWQyYzQ3ZWIyOTQ5NTcyNjA2MzYwNjcyMiBsZWdhY3ktdHJ1bmsKKzI5OTgxIDgyNTQ0NWY5ZDZiOGIwMmM4ZWJjYTIyMjc1YTgxY2YxZGY0YjA1MGYgbGVnYWN5LXRydW5rCisyOTk4MiAwMDE1ZDNmMTg5ZTE0OWEyOWI2NmE1MjE3NWE2ODQwNGQyZGNjNzM3IGxlZ2FjeS10cnVuaworMjk5ODMgZWRhOGU2ODk4ZGQzZWU3YzExZTMyZDBlOTQ4ZDdhNWYzYWFkZDdjZCBsZWdhY3ktdHJ1bmsKKzI5OTg0IGE5YjRiNmFhMTIyMDI3NzRjZTQ4MzNlM2QyZWIwNWRjMDA0OTBhNTAgbGVnYWN5LXRydW5rCisyOTk4NSBmYTQ1MzJlZjk5YzlhOWYwODgzYTJiMTFiZWIxYTliNDg4NjM3YmYyIGxlZ2FjeS10cnVuaworMjk5ODYgZTkyM2Y2ZDNiNGEzMzA5MTc3MTdmZGI2OTczY2UwMDI4ZTU3YTA4YSBsZWdhY3ktdHJ1bmsKKzI5OTg3IDllNGM4MDM0MGZhMWQ5NzU1ZWYyY2Q4M2ZiNThmYjIzMzM5ZDYxMWUgbGVnYWN5LXRydW5rCisyOTk4OCBmNDBhMmQzYTJhYjU1MzcyYTVjZjZmMmQxMjRkMGY4NzAwNTliY2Q1IGxlZ2FjeS10cnVuaworMjk5ODkgMmQ0NGFiZTU3YjQyNjM4NDBkY2Y4MDU4OTQzMmNjZTMzY2Q2MWRjNyBsZWdhY3ktdHJ1bmsKKzI5OTkwIDM3NmJkMzU3YzRkNWFlNmQxNjdhMmZhZDdhN2Q2MjZlNTRlZjA2OTQgbGVnYWN5LXRydW5rCisyOTk5MSA1YTllNzA2NGM5MjM0ZDEyN2QyMDg0N2IwMzk5ZWMzMWQwOWIwNDRlIGxlZ2FjeS10cnVuaworMjk5OTIgNjQzMTAwMTcwYmRlOTFmODY1ZThlYzNlODA0NTYwZTQ0NmJjZGM2YSBsZWdhY3ktdHJ1bmsKKzI5OTkzIDUwYzYzM2E4N2UzNTU0N2YxYjNkOWNhMGEyYzljN2I4YjM4MWI1MDAgbGVnYWN5LXRydW5rCisyOTk5NCBmZDZmYjczZmIyMGZkYTFmYzk4OGU5ZThjY2Y0MDllN2RmNjczYzc4IHJlbGVhc2UyMi1tYWludAorMjk5OTUgODUwNDU5MWU0YzYzMWI0NDc3YWEwMWM1YTBhNTYzZjkwMGQxM2Y5ZCBsZWdhY3ktdHJ1bmsKKzI5OTk2IDk0YzU1M2ViODhjM2E1Nzc5MmNkOWU5ZjdlYTY0MjQ4MTI1MjdkNTIgbGVnYWN5LXRydW5rCisyOTk5NyAwYjY2ZDRlOWY0ZjQ4NTk2NzliNWI0MDU4MGRlMzA0MjIyZDhkMmZmIGxlZ2FjeS10cnVuaworMjk5OTggMTdkMTIzZjMzNjExMDYwMDU4YWE1NGRmZjAzNjUyYzY3ZDNmODhkYSBsZWdhY3ktdHJ1bmsKKzI5OTk5IDc5ZjkwNjNmYjU4ZWNiMjhkYWI5ODRiMDhmMDc4YzdmZjE2MjQ0NzQgcmVsZWFzZTIyLW1haW50CiszMDAwMCA0YzE2NDI4ZmJjZDgzYzVmMTcwMzkwMjY2OGRiZTA5YWM3MjMyYjQwIGxlZ2FjeS10cnVuaworMzAwMDEgYTVhODczNTcxMWU4MTZmODUxZDQyYmRkZTg0MGIyOTBlNzVhZGM0YSBsZWdhY3ktdHJ1bmsKKzMwMDAyIDdhYmE4NTljZWU1NDUzMjdjODhlNTU0ZTVhZTMxYjMxMzViZTA0OGMgbGVnYWN5LXRydW5rCiszMDAwMyBkMmQ3ODE3ZmNjYmJiYWUxM2Q4ZTkxN2U1MjJhN2U5YzYzMDdhMzExIGxlZ2FjeS10cnVuaworMzAwMDQgOWZiOGFhZGU4ODdmODU1Y2ZkMjViMTcwOGM4MDcwMzEwNzllYzgzZSBsZWdhY3ktdHJ1bmsKKzMwMDA1IDE4ZGNmODBlNmY4ZGVkZDRlMWMwOWZjZGFmNWUyNjcyNTgxYjJjOWIgbGVnYWN5LXRydW5rCiszMDAwNiAzOGZlNWViNmFjMjU2NzIxMjYxNzllZTJlMDI3OTNmOWU0NWU1OTIzIGxlZ2FjeS10cnVuaworMzAwMDcgMzk4MWNmMmE1NzMwNTM0ZDg5NmRjNzRkYzNmYmJiY2U1OTM5ZDA1OCBsZWdhY3ktdHJ1bmsKKzMwMDA4IGI1ODM3YjhmM2IyYzRjMmI2YjAwNWVmZjI3NjdjYTEzZjUxZWJiYzQgbGVnYWN5LXRydW5rCiszMDAwOSA4ZTE1NjdkYmNiYTg5M2ZlNjZiM2MwOTMwNzlkM2Q2OWNjYzcwYzBhIGxlZ2FjeS10cnVuaworMzAwMTAgNjE3N2ExM2U0YzE0NWE0MGQxOGYyY2JhMGVmZTRjNGVmZmVkMGFhZCBsZWdhY3ktdHJ1bmsKKzMwMDExIGQ2ZDUyMjJiN2U1NTUyYTkyZTdhMjBhYjU0M2FhZGU3OTI3ZjY3ZmMgbGVnYWN5LXRydW5rCiszMDAxMiBjYTZmYTY5NzExYmI1ZTBlMmRmOTY5ZjNmMDJhN2E5ZDgyOTcyMzc5IGxlZ2FjeS10cnVuaworMzAwMTMgNjFlMmI4Y2VmZDg2NzAwYmYxZGNmMWQwNzNiZTAzY2U3YmJmM2FlMCBsZWdhY3ktdHJ1bmsKKzMwMDE0IDZlYTc4NjUyODM5NWFiNzQ0MDc5N2E5MjNkNDdiMmIwYTNkN2FjNjkgbGVnYWN5LXRydW5rCiszMDAxNSA5OTdmYTAyMjQ0YmFjMmMyYWQwNjVhNjlkODNiMWIyNzY3MzZlYmQyIGxlZ2FjeS10cnVuaworMzAwMTYgMjYyMTk2ODMxOWYwMzQ0YTJmYzE3OWUyZTcyOThhYzQ2NTUxZmI5ZiBsZWdhY3ktdHJ1bmsKKzMwMDE3IDBlNmUzOWZiOWNkNzMyYWQ2ZGQwMWM4ODQwMjFkNDAyNWU2NWQzZjkgbGVnYWN5LXRydW5rCiszMDAxOCA5MTBmYjY2YzNiODFjYmNlM2I2NThjYTJmYjJiNjE5NTFiZDk4YTVkIGxlZ2FjeS10cnVuaworMzAwMTkgZTQyNzMyZTI4OWI5YTQxNmRjYzY2NmY0ZDNlNmQ5YzhhMzRjN2Q4NCBsZWdhY3ktdHJ1bmsKKzMwMDIwIDU4NDQwZDBiOWI0ZWE2YzdjNmJjYzgyZDlkMmVjYjU1MmFlMjlmMDYgbGVnYWN5LXRydW5rCiszMDAyMSA5NzU0ODJkNWViNWNlNzk0ZDUyMTNlNDgyOGI5NTA2OGU1N2VmM2E4IGxlZ2FjeS10cnVuaworMzAwMjIgOTk3MGQ3Nzk4MGEwZTJmYjkzOWM5MDk5YWI3MzQwNTQzOWJjNDQ0MyBsZWdhY3ktdHJ1bmsKKzMwMDIzIDhhNzVjNjZiZmExNGRlNGJhNzJhY2M1YTA0NDllZjlmYTQ2MDBjMjggbGVnYWN5LXRydW5rCiszMDAyNCAwOWM3ZWQxYjdhODczOWQ4Mjc5NjcyMjhjNjAxNGRkNzhkYzc2MTQzIGxlZ2FjeS10cnVuaworMzAwMjUgNjg3YjRiMTY1MjY4Yzc1OWZkNDc3ZTI4OGViODU1MGJiNjIyMGE5NiByZWxlYXNlMjItbWFpbnQKKzMwMDI2IDY3OTEyZDgzNzk5ZjczYzBjZTk1NzE2NGI5MDFkMjRkMDZkYmQ4YWIgbGVnYWN5LXRydW5rCiszMDAyNyA4YjM2MDFhNjIzMzYzMzJkZTI0YjA2YjM0YmZmNDU3ZTk1ODY2ZTI3IGxlZ2FjeS10cnVuaworMzAwMjggYjljOTEyZTJjM2MwMDYzZGM5MGI1NDU1NDA1MWJjY2FhODgxODRkNyBsZWdhY3ktdHJ1bmsKKzMwMDI5IDBjOTk1Y2QwNzAyNjc3MTk2MDNmYTcxM2Q5NWNlYTQ5M2NmZjJjMWYgbGVnYWN5LXRydW5rCiszMDAzMCA0ZTZhYzJmZTY4ZjBiY2E4ZTNmMTkwNjA5YWE4ZjAzNzkxZjg2YjdkIHJlbGVhc2UyMi1tYWludAorMzAwMzEgYzg4NGE2YzQ3ZTA2MGU4YjFmZjAzMDM5ZWU1NGI5NTYwY2RmMzljMiByZWxlYXNlMjItbWFpbnQKKzMwMDMyIDRiZWJmMWExOTMxOWM0MTVjZTkzYzNkZDdjMDE0MzhlNDBmNmQ3N2UgbGVnYWN5LXRydW5rCiszMDAzMyBhMzZkZmZkNzUzMDA5YjhlZjNlZTkyYTNkODEyNzBhNTk3ZTJmODg2IHJlbGVhc2UyMi1tYWludAorMzAwMzQgMjQyYWQ1YzU5MmNjMmFmZGE4NWRhMGJjMjkzYTFlYWQ0MmI5ZGI4NCBsZWdhY3ktdHJ1bmsKKzMwMDM1IDRiZTYyZGM5YTNlN2Q3NDkyNjBjNDMxNDhjNzI3ZGY1NzVkMDc4YWUgbGVnYWN5LXRydW5rCiszMDAzNiA3MDFiNzk3YmJkYzhmYjQ0NjBkMGUzNTMyY2MwYzE0MzEyMmE1NjY5IGxlZ2FjeS10cnVuaworMzAwMzcgMGRiZjk4ZWUxMThlMjY5NTNiNjE3MWM0ZGRiOWE4NGJhNDVlYmM4OSBsZWdhY3ktdHJ1bmsKKzMwMDM4IDhmNzQzZWJlNmM2NjMyYjAwYTNjYjJlZjEzN2NjNjc0MmZkZWQ2YTggcmVsZWFzZTIyLW1haW50CiszMDAzOSAxMmJjNGEzZTQ1YWY4YTI0YzFiOGVjZmViODZkYjg1ZGQ3MmI3MzQ4IGxlZ2FjeS10cnVuaworMzAwNDAgODUxYzYyOTIwNWQyZjNmYWUzMmE4NDQ0OTg5MzQ4ZDZlMDk4OTg1OSBsZWdhY3ktdHJ1bmsKKzMwMDQxIGI1NjZiZThiZmMyM2M3OTAyNjRkZTBjOGJkMjUxZDM1NzFkYTQ0YzYgbGVnYWN5LXRydW5rCiszMDA0MiBmYTY1Zjk0ZGM0Y2RiYzc0NTkwZjU4MDg3NTAxYmQ0MWJkMWUxNTRjIGxlZ2FjeS10cnVuaworMzAwNDMgYTlmNmMwMDZhYTQ1ODg2OTA5NmM0MzhmNTMxZmVmY2NlNGI1ODhkNyBsZWdhY3ktdHJ1bmsKKzMwMDQ0IDcxNWUyODg4ZjM3N2ZiOTJlZDIxM2ZjNDU5Y2FkYmNhZDA2NDg3NjggcmVsZWFzZTIyLW1haW50CiszMDA0NSAwNjAxYTkwNTU4ZmRiYWYzOWVjYmQ3ODZlYWI2OWY4NmI1MTU2MzQ5IGxlZ2FjeS10cnVuaworMzAwNDYgMzQyYzM0YzQzOGEyNjA4YTE1NTQ2NWZhMmFlNDgzNjA0YzZlYTVlOCByZWxlYXNlMjItbWFpbnQKKzMwMDQ3IDgyYjlmNWM3ZDAxYTE0NjYyN2ZlZTY4ZjRhYmE0ZjVhYmFkZjgxYTUgbGVnYWN5LXRydW5rCiszMDA0OCAyYWJhMWFjNDc0NGM5Njc5Mzk1NTJmZWU4ZGJkYjU3ZjAwMjVkZTgwIGxlZ2FjeS10cnVuaworMzAwNDkgY2I4Y2ZhZGY3NWEyN2JmOGI1M2UzYTA2OGIwNzk4YTFlOTU4YTU5MiBsZWdhY3ktdHJ1bmsKKzMwMDUwIGQ3NTVkNDI5MmYzZmZiMTJmYjgxN2M3MDNlMjI2N2ZjNzlkNmUzNTAgbGVnYWN5LXRydW5rCiszMDA1MSAyOWU4ZGU1OTc1NmE0NWI2MmVkZmNiODgyNjhiNTBkOTEwZjdhYzQ5IHJlbGVhc2UyMi1tYWludAorMzAwNTIgMWQ5ZTMwYzA1Y2RlNGNiMjY5YWMxNWRkZWM2MTdhZGUwNGJkN2I3ZSBsZWdhY3ktdHJ1bmsKKzMwMDUzIDkzYjVjYTk0MjNlYjI3OTViZDdhMzE4MTMzMTEzYjk1N2ZkNzBhNTIgbGVnYWN5LXRydW5rCiszMDA1NCA3YWU5YzM2Y2JjYjY2YTcxOWJlY2E4MDM0OTBmMGI4MjcyZWEzZmUyIGxlZ2FjeS10cnVuaworMzAwNTUgNDA1MjM5YTdlMGQ4YmM5NDg4YzdiODZiYzFhYzJiZWIxNjU1MWE1YyBsZWdhY3ktdHJ1bmsKKzMwMDU2IDhjYTgwODQzYTY3MTYxNzU5OTcyOTBlOTZhZGEwMmNhZDk3NDMxY2IgbGVnYWN5LXRydW5rCiszMDA1NyBlODk0MGQ0Y2Q4Y2FlN2FlMzZmY2ZiZmZlNjY0NzNlM2RlYThiMTZlIGxlZ2FjeS10cnVuaworMzAwNTggZDRiNzY4MTdjOWU2M2M2NTEwM2Y3YzQzM2U5MzcxNTczZmFiMjYwYSBsZWdhY3ktdHJ1bmsKKzMwMDU5IDkyMDZiMDA0ZjE1MmM0M2Q1YTFlZGZjMmQyM2IyZjBmNTRhYmFkNTQgbGVnYWN5LXRydW5rCiszMDA2MCA5NTI2ODdlYTljYjEyZDk4ZDY2MDFlNGM4MDJjZDczNWM0YTE2OWE3IGxlZ2FjeS10cnVuaworMzAwNjEgODk5MWY3ODgxN2M3OTAwNGEwYzgxNzNmYzk0Y2IxNjJkNjMxOWMxOSBsZWdhY3ktdHJ1bmsKKzMwMDYyIDRlOTRhYTA3Mjc2ODYyMDU1ZjQ1NDliMmI5NjZjOWQxNmU4NjRkMGYgbGVnYWN5LXRydW5rCiszMDA2MyAzZjQzODNhMDRiNjI1NGIzNmEyZTMzMDJmNzdkOGJkNzc5MDM1M2VlIGxlZ2FjeS10cnVuaworMzAwNjQgZTY0NDI1YmI5NGQ4OWEzMjBjOTAzYmI3ZjExMjkyNzczM2IyZWQ1YiBsZWdhY3ktdHJ1bmsKKzMwMDY1IDgxMDMyZTk3YmEzY2EyMDAyMWQ1YWY5Nzk5ZjFiMTAyMGQ5MjgxMDggbGVnYWN5LXRydW5rCiszMDA2NiBmNWI0ZTE3NzQ5NjE3YTk2MDEwNTc3ODUyNDFjZWU0YTZiZDgwMDdjIGxlZ2FjeS10cnVuaworMzAwNjcgZjlkNTE2YzYxZTdiOTMyY2Y2NWY3ZWE4ZjcwNTk4MTQ5NTE5NTEzOCBsZWdhY3ktdHJ1bmsKKzMwMDY4IDYxNWEyNWE2ZWI1YmFhYzY2NmZiNTQ2NTRiYTUzZTliYTUwNTFjMjcgbGVnYWN5LXRydW5rCiszMDA2OSBjMjM0ZjQ4ZGUxMzhmNDk5YjBkNGQ5ZjM3NGNlNzUxYmUzYjRhNTI5IGxlZ2FjeS10cnVuaworMzAwNzAgMGM2NDZiYWVlYzU4MjMyNWJiMWQ5NDBkM2Q2MDkxMGIxNmVkMzI1ZCBsZWdhY3ktdHJ1bmsKKzMwMDcxIDIxMTAzODUwNWU1NmM0ZWI5NzNhYmI1NmEwMmUxMjNhOWIzNzcyYzQgbGVnYWN5LXRydW5rCiszMDA3MiAwNTYzODc3Njc4MzI1NTk4MDFhYjUwMzk4ZmNkYjNhYTViMzM1NmNhIGxlZ2FjeS10cnVuaworMzAwNzMgYzM1NzY4ZDc4ODNlNDg0N2U5ZWM2MGJkOWIwYjYyZjI4YTI1YTIzNCBsZWdhY3ktdHJ1bmsKKzMwMDc0IDMwODRiZjhiZDExYzBhYTYwYTNmMzYxOGYxMDRjOGMwN2RlZDI0MzQgbGVnYWN5LXRydW5rCiszMDA3NSA3ZGRlYTRkZmE1MTlkM2FkOGU2MDJhOTg0YjFlZjczMjI3NTcxYTY2IGxlZ2FjeS10cnVuaworMzAwNzYgNTZkYmQ5MDc5YTEzZWQ2ZWY3NDFhZjU2NDdhYmIyMzQ2MjAxYWRiMCBsZWdhY3ktdHJ1bmsKKzMwMDc3IGVjZWE4NDEwMTc4ZTA2NWIxMjc0MGZlMzE3MWY2MWY3ZDVkMmYxMDkgbGVnYWN5LXRydW5rCiszMDA3OCA3NWJmYzI0ZmQ3NDg1MGQxN2U5NTIzMjVhYjU1ZGQ1Y2M3NTZhNjAwIGxlZ2FjeS10cnVuaworMzAwNzkgY2MwNWMyYzg2NjBlMGM2OGFjY2JjNTZiZDhlNjg4NzJkZTU1ZjE2OSBsZWdhY3ktdHJ1bmsKKzMwMDgwIGMxNjNlZDE3ZjhiYTM4NWFhODdjMDM0OTJjNTRjZDdhMGU1MTZkY2YgbGVnYWN5LXRydW5rCiszMDA4MSBiZmIyNjY0Y2RiMWJlODdjMDFkNjFkZDQ4YjA4NTIyMWFjZjYxMDM3IGxlZ2FjeS10cnVuaworMzAwODIgYWY1MTE5YmUyMjFmNDM5OTkzZjNjZDQyYmM4MmMzNWVhODJlMTQxOSBsZWdhY3ktdHJ1bmsKKzMwMDgzIDM3OGNlMDIwZDllNjhjNjc1ZjQ2NmUxMmViMmE0ZTU1Y2QwZTI4YmIgbGVnYWN5LXRydW5rCiszMDA4NCA5ZGIzOTZiY2U0ZTc1ZjIwNWI3NDMwMmVmMzhkZmM0MTY0MWExNjIzIGxlZ2FjeS10cnVuaworMzAwODUgZTM5ZTc0YWVhMmZiOGE3MzQxNGQ5ZmRjNWQ2NGUwZTdlNTljZTgxYiBsZWdhY3ktdHJ1bmsKKzMwMDg2IDE0ZjUzYjZkN2Y1OGIyMDRiNmRjMzhiZTU4ZjliZTNiM2E2NTRjM2IgbGVnYWN5LXRydW5rCiszMDA4NyAyZmFiMGI2NDg4YjUxMGFjOTM2MzI5OGY1MmNlMTA1MDU0YjI1YTM1IGxlZ2FjeS10cnVuaworMzAwODggNzRkMWFkNjFmODQzY2IyZmU0ZThlMmJjMDM4Y2I4NzVmZjZiNGEzYSBsZWdhY3ktdHJ1bmsKKzMwMDg5IDg3NzE5OTNjOWFhY2FkYTQwZmI4MTIyYzQwMzU5MmM2OGE1MmRiNGMgbGVnYWN5LXRydW5rCiszMDA5MCA5N2Y4MzU0MmY4ZWVmYWFlMWRmNDFiYzRlOTU3OWRiOTFkNGFmMDEzIGxlZ2FjeS10cnVuaworMzAwOTEgMjhiYzJkM2FmOTFkYjY4OWQ0MDgwMTgyNzVjOGY2MjMyNTY2YjgxNCBsZWdhY3ktdHJ1bmsKKzMwMDkyIDJjN2JkYmI1MGU3NjI4Y2E1MDMxM2RiZDFhMDVkZWVkMDA4ZjI5MGEgbGVnYWN5LXRydW5rCiszMDA5MyAwMjc4NTI0OGUwMGE2ZjQ0YzdmMTU2YjBlZDI5ODExZDJjMTQyMTdkIGxlZ2FjeS10cnVuaworMzAwOTQgMjBlMDc1NWYzNTU0MWQ2OWVlNjQ5NzcxOTEzZTk2MDdiMDkxOGNlMSBsZWdhY3ktdHJ1bmsKKzMwMDk1IDNiZTRmNWQzNzdkOGIyYzU0YTc2NTg5OGJlODU0YjhiMDhjOTVkODQgbGVnYWN5LXRydW5rCiszMDA5NiA5ZTc1MWVlZTgxZjUwNGU0NTI1ZTY0NGI4MjAxNGE4NDk1MWViYWM3IGxlZ2FjeS10cnVuaworMzAwOTcgYjYyOTk4Zjk4OTczZTMzMWQ4MWFjYWI3MTJmNDEzZTIxZjEyZjIxNiBsZWdhY3ktdHJ1bmsKKzMwMDk4IGNiOTNkOTI4N2I0ZWFlYzRkZjMwZTg2NGY0MTI5Mzk5MGEzZDA0ZTggbGVnYWN5LXRydW5rCiszMDA5OSA3ZDE5Mjg3NWExMmY3OTkwMmFiZjM2MTllMGJkYWU4NTY1ZDI2NGRhIGxlZ2FjeS10cnVuaworMzAxMDAgMTk1MDdhMWQwMjU0OGViYTkyZDRkOWE0Y2UxZTkzYjc0MTBiYzZiYSBsZWdhY3ktdHJ1bmsKKzMwMTAxIDgwOTZkY2M3YWY2NWJiYjYxMDNjZjZkZjQ3YjE2MmRlMWMwNjRjZjUgbGVnYWN5LXRydW5rCiszMDEwMiA2MzdiMTBiNTJlMDJlNjdmMzQzNjFkY2IwYWExNDBjYWY3OTQwMjZlIGxlZ2FjeS10cnVuaworMzAxMDMgYmExNTc4YmU1NzA2ZWQ1ZTk1ZGIxNzM0YzhhYzAwYzhiN2U1ZGU1NiBsZWdhY3ktdHJ1bmsKKzMwMTA0IGU0MWVlMmI4ZTczZGVhY2VmNmNmMWU2MTc3NGFlNjViNmUzMjJhOGIgbGVnYWN5LXRydW5rCiszMDEwNSA3YmFiZGFlYTdkMTlkN2YzYTFiMmExZDhiOWUyOTUxMGUwMjUzZWI3IGxlZ2FjeS10cnVuaworMzAxMDYgOGRmYzBmYzRjMTRiNTEwMDEwMjIwYjUxZWY4MjQ1YjU5YTcxNmI0YiBsZWdhY3ktdHJ1bmsKKzMwMTA3IDk4MTY0NjY2ZDJhODk3MmE0NzVmMjkzMWUzN2I2MmE5YWEwNDU2YmMgbGVnYWN5LXRydW5rCiszMDEwOCA1OWRkOTI1N2JjMDMxNmY2YWM3NjVjNWUyMDgxYTRjZTI3NzllOGYyIGxlZ2FjeS10cnVuaworMzAxMDkgZDdkNTI1ZTMwY2MwMjBmNjE1OGRmMDVmYmRlODdhZjZjNWRmY2RkMSBsZWdhY3ktdHJ1bmsKKzMwMTEwIDg5MGFhOTNkZDljMzhlNzMyNjhjNDE4MzQ5ZDViYmU2MDIxZGZhZTAgbGVnYWN5LXRydW5rCiszMDExMSBiMGJmMzYwNDI0NGZkNTljZDNkY2M3YTc2ZGIwMzA4ZDkzZWI3MmQ4IGxlZ2FjeS10cnVuaworMzAxMTIgZmQ0NTVkZjU1YjEzNWJiNTMzZGI4YjhhMTZkMmExZTExYjVkNzMzZSBsZWdhY3ktdHJ1bmsKKzMwMTEzIDk2YjhjOGFlNzI2MmVkZDY4ZWU4ZmI4YmUzOGM4MDM3MjJlZTAyZDcgbGVnYWN5LXRydW5rCiszMDExNCBjNjliOGU2MWU2OTViZDFlODlkOGY0MDQ0M2U5NGY4YmM5NzYzMjFiIGxlZ2FjeS10cnVuaworMzAxMTUgMzQyOTk1NTcyNGIyNzkyMmQ2YTdhZWU1NGVhMmJiODQ3NWIwMTk1MyBsZWdhY3ktdHJ1bmsKKzMwMTE2IGZkNmJlODdlNWMyOTdlNThiYjcwM2Y0MDYwMzBlOThhZjgxMThkNmMgbGVnYWN5LXRydW5rCiszMDExNyAwZmY0NzM2MmJiODExNGEwNDZlNzkwYTQwZjg5ODI1MGQxZTlmMzhkIGxlZ2FjeS10cnVuaworMzAxMTggYmI2ZWEwNzkwOTQ3OWE2M2Q2NzNjNzBjY2JlNDg5YzI3OTQzODU1NyBsZWdhY3ktdHJ1bmsKKzMwMTE5IGU3ODNjZGZhMGI0MTlhMWI0MDRiMGVmYmEzOGE1YTZlZTZiMmYwOTcgbGVnYWN5LXRydW5rCiszMDEyMCBkMjMwMjMzOWE4YWQ3ODQyMzRjYzY1YTZlODlhODgxMGQ1MzdiOWE5IGxlZ2FjeS10cnVuaworMzAxMjEgMDJiYTQ2NjNjYWQyMTI3YTYwYWU2YjBhMmZmOGZhMmM2ZDI2OGY0MCBsZWdhY3ktdHJ1bmsKKzMwMTIyIDQxMTg4ZTM4OWM2MTQ0ZjJjMWU5Mzg4YTMwOTNlZGE4YzQ5YzU2MmYgbGVnYWN5LXRydW5rCiszMDEyMyBkMTc2Y2JmZDM3NjU2MDBlYWEzOTU3NzU5ZjQ1MTgxZDlmNmViYjFhIGxlZ2FjeS10cnVuaworMzAxMjQgOTI2N2RmZmZmMzJkMzFkM2UxNjcwZmIyY2Q1NmZlOWY5YmFmMWY3NyBsZWdhY3ktdHJ1bmsKKzMwMTI1IGY4ODNlZDdiOTNjODY4ZGIxMmVlNzQ0NDM4ODVmYzEzODVmNTRmNGIgbGVnYWN5LXRydW5rCiszMDEyNiA2ZWZhODIxNmRiNmE4OTI4MjdhNjFmYWQ2MjczYjc4ZTIzNDAwYzFhIGxlZ2FjeS10cnVuaworMzAxMjcgN2IxZDEwN2U2M2FlNmY3NmE1ZTUyMDA2ZTdhMzhmZDcxNTM4YTRlYyBsZWdhY3ktdHJ1bmsKKzMwMTI4IGNhYTI0NWFmNzc4NjQxOGQ1M2FmODA1YjQzMDYwMDkwNWQ3YmVlYWYgbGVnYWN5LXRydW5rCiszMDEyOSA2ZTJjMmYxMjIxZTUzNTI4YjZjYmM5ZTQ0N2NiMWEwZmRkMGRiYjZkIGxlZ2FjeS10cnVuaworMzAxMzAgNDgzNGY4MzY4MDM2Mzg2ZDdjZjJkMDNhNDhmZjkxNDZjOWM5MWVmZSBsZWdhY3ktdHJ1bmsKKzMwMTMxIGE4MDAwMTVlN2NmMmE2ZGIwOGI2NzYzM2Y2ZDBjMDIwNTE3Yzg5NzcgbGVnYWN5LXRydW5rCiszMDEzMiA2MWIzZDE3OWY4NjhlNzQxNTY5YzI5NjRhYzFjMWI2YTQwNDEwMWMwIGxlZ2FjeS10cnVuaworMzAxMzMgZjM1NmZjYjcwZWFlNTVkMzczNzFmZWZmMDU5MjMzM2RhNzhmOTc3OSBsZWdhY3ktdHJ1bmsKKzMwMTM0IGI3YmYzOGQ0NDU5OGY1NTg5YzA5NDNlODVhYmQ3YmNiZWY0Yzc1NDcgbGVnYWN5LXRydW5rCiszMDEzNSA2M2Q3YjVlMzk2ZmI4OWQxZWU4Y2ZkNzY4NzYwZGFiNjcxMmRkYmQ4IGxlZ2FjeS10cnVuaworMzAxMzYgNDBmOGI2NDhlNzY1OWI3OTE1NDA3MWQyNjQwMmEyMzNkNzk3NzJmYiBsZWdhY3ktdHJ1bmsKKzMwMTM3IGQ5OWUzOGJiNmRjZDM1YmJhYWJlMjdhMWI3ZWY0ZjNhY2JmMjZiZmQgbGVnYWN5LXRydW5rCiszMDEzOCBmODM4YmM5MDU2Y2MzNzlkNTljMmIyZmZlZTVjMDMwZTEzMTg2MDYxIGxlZ2FjeS10cnVuaworMzAxMzkgYjEyZTMyNmI0ZWEyNDdmNGM1NzUxN2M4MTY3YTEwZjFkYmIyODcyYiBsZWdhY3ktdHJ1bmsKKzMwMTQwIGU4ZGMxYTBkNmY0ZDRkMTBhNDBkZjc1NGI5NWQyOTAyYWE0MmQ3Y2QgbGVnYWN5LXRydW5rCiszMDE0MSAzMzhlMDI1ZmRlOGI1MTZlOGVjOWJiZWQ1MjIyZGVkMzlhNWU5ZTkxIGxlZ2FjeS10cnVuaworMzAxNDIgZmUyZDQyMjM4NWIxZmVlNjZmOTk4N2FiNmUwYTk5MjIxYmMwMTZlNSBsZWdhY3ktdHJ1bmsKKzMwMTQzIGNiMDZiZmM4ODc3YjI0OWIyY2Y5ZmZkOTU2ZWM2M2QwZmUxZmVlOWUgbGVnYWN5LXRydW5rCiszMDE0NCA5OGQxMTg1NWI0NmNjZWVmODM0M2JkN2Y0ZjE1NGIzMzI5ODY4YjIzIGxlZ2FjeS10cnVuaworMzAxNDUgZjc2NzE3NzA3YTZkN2EwOTJjMmY0MDJiMGZlYzZiYmIxOTIzYTZkZSBsZWdhY3ktdHJ1bmsKKzMwMTQ2IDM3M2QwYThlZDZiZTY0YTVkMWYxZmRmNGVlMDllYzg3YTNhMjk0NWIgbGVnYWN5LXRydW5rCiszMDE0NyBlZDI4Yjk3NTJmOGQyYWJmOGRlNTRmNzc0YjJkYWJmYzVhMDM3ZDBlIGxlZ2FjeS10cnVuaworMzAxNDggMTMxMjI5Nzg4N2EzZjdlMDZlYTliM2NlOGNkMWRjN2EyNWQ0N2MzOCBsZWdhY3ktdHJ1bmsKKzMwMTQ5IDMwMGY5MjZmMmIzZWI1OGZkNDlmMDQxZTNjNGQyM2IwMWE3OTZiYWYgbGVnYWN5LXRydW5rCiszMDE1MCA4ZGQyNWE2ZjU5MTM5MDRjN2RhODMyMzZmN2ExNzRkNmU0NDRmOWIxIGxlZ2FjeS10cnVuaworMzAxNTEgNWI3MTVjYWQzNGQwODI1ZGMxODMxOGVhMWRiZDRlOTFmZjc3MDhkNyBsZWdhY3ktdHJ1bmsKKzMwMTUyIGM3ZWM4YWQwMjM0ZmFmNGQyMTk3NTE1MDdiNTUzZGQxZjFlZWJjMzYgbGVnYWN5LXRydW5rCiszMDE1MyBiYzkwNTZkODQ3ZWY3ZDQ2ZmFlNTk1NGRiYTVlZjdlMjk2MGI0ZmRjIGxlZ2FjeS10cnVuaworMzAxNTQgZjdkOGQ0OWU4ZjVkZTI3Y2IzYzFlNzkwMTYyOGMwZTY2ZTUyMzgxOSBsZWdhY3ktdHJ1bmsKKzMwMTU1IDQzYjU0YzJiYzRlNjAyMDVkZTA1YWFkNzcwMjUzMGYwYjJkNDg4Y2MgbGVnYWN5LXRydW5rCiszMDE1NiA3OGQ4NzJjZDA2NGMyZWRjNDkwY2Q5YzY5MGE4N2M1NWUzNDNmMjkwIGxlZ2FjeS10cnVuaworMzAxNTcgYWI1MGEyMWI4N2FlYTEyZGYxODExYTBhZTRmNWFiZDgxMWUzNDVkYSByZWxlYXNlMjItbWFpbnQKKzMwMTU4IGJjNjY2MmJhM2E3NzU1YmJhNTY4ZmEyMmNmZmRkM2UxN2UyOWFiYWYgcmVsZWFzZTIyLW1haW50CiszMDE1OSA1NzkxMDE5YjZlNGU4ZTJiZWVhYzRkNGZhYzE2ZWIwNTRkOWM4YmRlIGxlZ2FjeS10cnVuaworMzAxNjAgYzExYTZlMWNlZGUwZGUxOGUxNWM0MWJhOTY1ZDRmOWIyNjEzZGYyZiBsZWdhY3ktdHJ1bmsKKzMwMTYxIDYwNTllNDFiZDc3YTNlNTc5M2E4NWM3NjM0Y2RmY2Y1N2Q3OTZhOGIgbGVnYWN5LXRydW5rCiszMDE2MiBhOTk3NGE0OGE0ZDZjZjlhY2MwZjUyMmEzYTc0YmY2NWIzNmRkYWIyIGxlZ2FjeS10cnVuaworMzAxNjMgYTIwY2I1YWJhYjZiNzhmNWE1Y2NmYjNhY2FkOGUwNzIxNjQ3ODc0MyBsZWdhY3ktdHJ1bmsKKzMwMTY0IGFkM2Y2NmU3ZmIxMDQyMDEzYTk0MWExZjBmZWM0NWZmMmU0MGY3NDMgbGVnYWN5LXRydW5rCiszMDE2NSA2YjM5MDU0OGM2OTgwMDQwYjgwMjFmZGNlMGUzZTg0ODFiMzAwN2RkIGxlZ2FjeS10cnVuaworMzAxNjYgYzc0YjY5YWI0NzQyYWI4NDg0NzRmY2Y1NzhlY2RjYTkyNjgwYjNlZSBsZWdhY3ktdHJ1bmsKKzMwMTY3IDIzMThmNGJiMGJjNWNkODViZWU3NGRiMGUyNWMyMGU4MjFiY2RiMjggbGVnYWN5LXRydW5rCiszMDE2OCAyZTBkYzllMDgyMjI4OTZhMzQyNTg0MzBhOWFjMDAzZTJlODE1ZWI5IGxlZ2FjeS10cnVuaworMzAxNjkgMzZjZDI2NDFlODI2NzRjZmM0MmE5ZTA4N2IwZjBhODYzN2NhMTUyYyBsZWdhY3ktdHJ1bmsKKzMwMTcwIDQxNzNlNDNlZjQwY2NlNjZmNjNkZGRhY2YxZGMwNzIzZDA4NWVmNGIgbGVnYWN5LXRydW5rCiszMDE3MSA5NzUzMzNkNDBiZjgzMmE0MDJhMDZiZmE5NjYyYTY2YWJhMDk4MDE1IGxlZ2FjeS10cnVuaworMzAxNzIgYzQyODZhNmFiMDBjOWUzNWI5YzZhYzI0Y2VhOTdhMmRhZGE4MjFhZCBsZWdhY3ktdHJ1bmsKKzMwMTczIDQ5Y2VlZTAyNmQ2NjNlMjA4OWE0NDdkMWEyNDMzMzA5YzU0OTU5NTEgbGVnYWN5LXRydW5rCiszMDE3NCA1MWU3NDMyMWFkM2Q2MDczZGIzOWY0MDA5N2NmYmMyODcyZjZlODk4IGxlZ2FjeS10cnVuaworMzAxNzUgYTIyM2UyNTU0MTkwMWNlNzc2OGM2Y2VmNWVkNDMxOWM5NjlhNzIxOCBsZWdhY3ktdHJ1bmsKKzMwMTc2IGFmNjYwY2FiMWNiZTkxMWRlOWNlZmVkYTBiNDdkZDkxYTc2OTJjNDAgbGVnYWN5LXRydW5rCiszMDE3NyBlNDA0YmJlZmYwODM3MWIzNWNjNjFmNTUxN2ZiNjQ2NGZlZjFiMzQzIGxlZ2FjeS10cnVuaworMzAxNzggM2VkNDdiMDc4NTA4MTlkMWRhZjUzM2M3ZmJlMTYwMDk2ZDQ1NDYzZiBsZWdhY3ktdHJ1bmsKKzMwMTc5IDQ1YWIzMTEyN2JmOTIyYjk5YTU0MjllOWNkODE2MzE1NjQ5MzRkMTggbGVnYWN5LXRydW5rCiszMDE4MCAxMDFmZTMyZjU2ZmZlYTU0MDhhODAyOGY3MjJkZDI2NTNkNTcxZmQ5IGxlZ2FjeS10cnVuaworMzAxODEgYmZlMzg5NjFjYTQyYzg4NmQ1MWQzNzE4YWY5OGU5NTExYzEwMTc1MyBsZWdhY3ktdHJ1bmsKKzMwMTgyIGY5MWQ3OGUxOWM4NjZmOWU2OGRhNWVkOGZhZmQxYjE4OTIxZmU0OTYgbGVnYWN5LXRydW5rCiszMDE4MyAyZWQzNGYwMWM4MWNhMTJhN2UzZjcwMGIxYzNhODkwMDc5YzQ2MjA2IGxlZ2FjeS10cnVuaworMzAxODQgZDY0MjE0Njk0MDgzYmViZDRkMjg0ZGM5YzBkN2JkNGI2MzU1ZmIyOCBsZWdhY3ktdHJ1bmsKKzMwMTg1IDFlMTcwYTk1YjY0ZmRlZmI4ZmUxNjFhOWIwMTA0MWJmYTE4NDViYTggbGVnYWN5LXRydW5rCiszMDE4NiAzNTkzZjJiOTFkN2Q2MDVlNWM0NTgwOGU4MzQ4ZTgyYzFiNmRiNTkyIGxlZ2FjeS10cnVuaworMzAxODcgODkzMTdkOTNmNjM5NzM5ZTE2NjJjNjJmY2YyNjQ0YmU0NzUxZDE2ZCBsZWdhY3ktdHJ1bmsKKzMwMTg4IGQzNDhiMTdjZWFhZDY5MzYzZjk4NmNjMGY2MjdhYWI3MThkMmNiZDUgbGVnYWN5LXRydW5rCiszMDE4OSBkOTM5YWRiY2E3NzRmMDBkYjlmNGIyMGM4M2QxMWEyNDQ3NWM3MjViIGxlZ2FjeS10cnVuaworMzAxOTAgMDRiM2E5ZjZiZTQxZjRlNDJlNzAxNDhiMjU3MDkzMGNmY2M0YTZiMyBsZWdhY3ktdHJ1bmsKKzMwMTkxIGVhYjZkN2M4MDM0MTkxNzlkMjAyMTkwYjljYTNiOWE2NGMzYTg2YmIgbGVnYWN5LXRydW5rCiszMDE5MiAyZjUyM2FlOTBlMDYwYzg3YjNlNTZhMmIzNDI0YzRmNjJjMmMzMDkwIGxlZ2FjeS10cnVuaworMzAxOTMgZTgyMzI2OTk2NDgxYjIxMDQwMzhhNjA5MzY0MmIwMzg2ZTBhZjc3ZSBsZWdhY3ktdHJ1bmsKKzMwMTk0IGEzNjAwYzRlY2M4YmYyYzIyYWJlNDljNmMxNDUwMzM5ZGU3NGE0NzQgbGVnYWN5LXRydW5rCiszMDE5NSBmNTVmNWUxZTMwYmM5MjU3NTk3YTMwNDUwOTliZjEzY2FiNTA1NjZmIGxlZ2FjeS10cnVuaworMzAxOTYgZGZjYzIwNTdhNzU1YWU3YzZmOWRjYjgwODBkZWFlM2RlMDUxZTVkMiBsZWdhY3ktdHJ1bmsKKzMwMTk3IDUzODQ0N2M5ZDU0M2RiMmI0MDUzNGYyYTRiZDUzOTU3NTc0ZjJhOTUgbGVnYWN5LXRydW5rCiszMDE5OCBhMTJlMTcyNzg1MGFmOWIwNjE1ZmNkOWZkNDRjZDM1NDAyNzkxNTM3IGxlZ2FjeS10cnVuaworMzAxOTkgY2ZkNWE2ODI5MzdlMGM0MzY0OTg0YWU2YWI1ODM1YWJmMGIzZWI0ZSBsZWdhY3ktdHJ1bmsKKzMwMjAwIDkyNGM0ZjIyYmFjNzk0OTFjYzlhOWY4MjE2YWQxYTc3YzY5Y2QyYjMgbGVnYWN5LXRydW5rCiszMDIwMSBhNTQzNjNlYTY5NDYwNTY5MWEzMzA3NGIyYTFhZTkxMTdjNDlkOGRkIGxlZ2FjeS10cnVuaworMzAyMDIgOTAxZTQ3Y2M4Y2FjYzgyMGYzNTUyM2U1YzE2MTBkZTk1ZWY3MDBkNyBsZWdhY3ktdHJ1bmsKKzMwMjAzIDk2NmI4Mjc5ZDFmYWQ4MTQ0YmUzN2IxYzk1MDM1N2ZjODhiZGUxMmIgbGVnYWN5LXRydW5rCiszMDIwNCA0OTY3NzkwNDcyZGJkM2VjNWZhOGJjMDJlMDJlYThjZDM3OWY1N2YzIGxlZ2FjeS10cnVuaworMzAyMDUgYzdjMmIyMjJiYjhhZThkNGM2ZmY1YzI4MjRjOGYyYzQzMGZhZWEzZSBsZWdhY3ktdHJ1bmsKKzMwMjA2IDVmYmE1MWYzNzI5YjJkZGY1ODVmM2E5OTJlOTEyYjg0YWI5ODhhNmEgbGVnYWN5LXRydW5rCiszMDIwNyA0MWJkMzdiZWYzYzc3M2JlYjUyM2RjMDk3N2U3MTJkN2I4YzM5NzM2IGxlZ2FjeS10cnVuaworMzAyMDggOWI0YzAxNGIzYTIxOGU3NmE5ZDk3NjBjN2Q0NTVmNDQ2YTdmYTQ0NiBsZWdhY3ktdHJ1bmsKKzMwMjA5IDU3M2U0ODJlZGVjMWE1ODM2OTE2YzJlYzFhMGJlOTQ0YzVkMWM4ZWQgbGVnYWN5LXRydW5rCiszMDIxMCBhMDNjZTVkOGYyOTc1NGY3NmM2ZmQ2OGM2NWUzMmMzODI2MTU5NWMyIGxlZ2FjeS10cnVuaworMzAyMTEgNzA5ZjkwNTQxNTg1MjE4NzQ4MDdmNmE3ZTAxMmViYjkxMjE3MmQ1MyBsZWdhY3ktdHJ1bmsKKzMwMjEyIGQ4ZmRhNDgxOGJmZDVmNTZhYTUyMDU3YmViZWY1MDE2MGFlZGIyOTAgbGVnYWN5LXRydW5rCiszMDIxMyAxNmFmZjcwNzdlNGJlZTRhYzA5NzBhYWFkMTQ0YzU4NDAxMjFhZWQ5IGxlZ2FjeS10cnVuaworMzAyMTQgMmI0NmQ3MjkyZjI3NzQzMGNmZmMzOGM0YjM2YWE5NjlkNWVjYzVjYyBsZWdhY3ktdHJ1bmsKKzMwMjE1IDZmMWY4NDIwM2VjZjBiMWE1NjU1MDdiZGQwM2M4ZGE4NWFiY2FjZWUgbGVnYWN5LXRydW5rCiszMDIxNiA3OGU4NTdlOWRkNDc2OTA1NWY0ODgxZDNlOGZiOTkxMzFjNDg2ZDI2IGxlZ2FjeS10cnVuaworMzAyMTcgYzY1ZThjYjkxZjRjMzZkOWRmOGI5ZGZkN2FhOGM3YjRmNjNiNmI4ZiBsZWdhY3ktdHJ1bmsKKzMwMjE4IDcyY2YwODlkNjM0YTE5ODQzNDkxMjczMzYyMjVjMWJiZjRlOTkwMDkgbGVnYWN5LXRydW5rCiszMDIxOSBjYWRmY2U2NmQ4NjE5YTZiYzM1NzlkNmEyMmFmOGI3YTU2YzI0NmY4IGxlZ2FjeS10cnVuaworMzAyMjAgMmYzZDZiNzlmMTFiZDNjNGRiZDEwY2FkY2IzODFmYmQ0NWYxYzk5MyBsZWdhY3ktdHJ1bmsKKzMwMjIxIGQwNTIxMTI3MzFhOGUyNWJmMTcyMWIxZjUxYzFmZTY5YTg1OTQ4ZjAgbGVnYWN5LXRydW5rCiszMDIyMiBiMGFjZjVkZTM0MjFjZTBmNmNhOTA0MWJkNzhlMmNjYWMzOTNlNTE4IGxlZ2FjeS10cnVuaworMzAyMjMgYzFjOGJkYzRlM2RiZGNmMGI5YmQwMjJhOGY4NDg4OGZlNTExYjA3ZCBsZWdhY3ktdHJ1bmsKKzMwMjI0IDA2NTg2NDA0ZWM0Y2RhMzAyMGQyNjllNWM3YjIxM2U3OWY3NjZlYjggbGVnYWN5LXRydW5rCiszMDIyNSAzMzY5Njg4MjFkY2JjZTFhYThkMDZkMDFkNGQ4Nzc3ZGE1OWUxMjRmIGxlZ2FjeS10cnVuaworMzAyMjYgZGI5ZmNhMTQ1MDU4NGI1M2EzZTkwMDA1OTNkZDk0MjcxMDlkODQyOSBsZWdhY3ktdHJ1bmsKKzMwMjI3IDYwYjM4OWE0ZGMwODU1MDFhZTQ1NTY3M2JmOTE5ZjM2NTFlY2FjZjIgbGVnYWN5LXRydW5rCiszMDIyOCBiOWU0NWI4MjhhZTExYTBlNTVjZWJlZGU2YjUwMmE5YjViOGQzNGE1IGxlZ2FjeS10cnVuaworMzAyMjkgNjVhY2VjOWNiZTY5MjI3ZTUyZmQ2YzM3MDA1NTA4YzYxNTU0YWRjNiBsZWdhY3ktdHJ1bmsKKzMwMjMwIDE2Mjg4YjA1NGZjM2YxMzMwZGI3OGE3N2IyNTU3ZThjNTMwZTMzMDggcmVsZWFzZTIyLW1haW50CiszMDIzMSA3YzE1YmY3NzI2YjI0ZTUyMjUwMGU0NmUwMDJlY2UyNTdjYWU2NjA4IGxlZ2FjeS10cnVuaworMzAyMzIgOGMzZWY1MjRmYWEwNjdmZGI4NjM3YWMxNTk1YzExZjI1NWZhYzliZSBsZWdhY3ktdHJ1bmsKKzMwMjMzIDk1YmMwYzA1MjAzNDUwODdkMzA1MjEzODM2YzI0OGE0ZjRlNDQyNTQgbGVnYWN5LXRydW5rCiszMDIzNCBjY2YwYjAyN2I1ODU2ZDU3YmYzNmI4ZDM2MTdlMzFkMzkwNjdkM2I0IGxlZ2FjeS10cnVuaworMzAyMzUgN2ZkMWJmMjBhMGMwZTljYmE1MTdmMmZjZDM2OTBkYjA1YWJjMGQwYiBsZWdhY3ktdHJ1bmsKKzMwMjM2IGMxMjcyZjNmMjhmNTE3OWIyMzNkM2M2ZTM3YzAwMzY0ZTYxNmNjMWMgbGVnYWN5LXRydW5rCiszMDIzNyBlY2MyN2ExYzMzY2E3OTg5NTJlMTJkZWMzMzgwMGMyYTFlZmRjYjM0IGxlZ2FjeS10cnVuaworMzAyMzggNjIwMDk2ZmQ1NTY0YzM2ZDAzNzY2M2VkYmY5NzRkY2I0MGM5ODVlMCBsZWdhY3ktdHJ1bmsKKzMwMjM5IGM2MDljZDQ5MDZmYjRhZWRhYzNjYWE1NDRhMjgyNzEyMmZlMjNlMDggbGVnYWN5LXRydW5rCiszMDI0MCA0OWQwMjJiNWZkNjQwNTE5MGY5NTY2ZjZhYmM1YzZkZDZlYTMzYzgxIGxlZ2FjeS10cnVuaworMzAyNDEgNGM5ZmU0OTA1ZThmYTA2YjI3ZDU5MjU3ZTc5M2Q2NGZlMjIwNDhjNSBsZWdhY3ktdHJ1bmsKKzMwMjQyIDZiMzFiMjZlNDE4ZGRjODQ1OWUyNmU0YTc3NWU4YWE5ODUwZDBiNWYgbGVnYWN5LXRydW5rCiszMDI0MyAwOTU0NDBiOTc1YTFjODcwNThmZjk3M2Y2MTZkOTU2YTQ3MTFkMzliIGxlZ2FjeS10cnVuaworMzAyNDQgYWYyMTdjY2EzYmZjN2MxMzQ4ZDg0ODY5YmQzMjkxOGQ0MjU4NGZkMyBsZWdhY3ktdHJ1bmsKKzMwMjQ1IGFkMjYzZDI2ODI1NTQ4MDI0ODA5ZTg2MmMxYzJkMWQ4MTNiY2E1MjcgbGVnYWN5LXRydW5rCiszMDI0NiAzNDZhMDcyNzBlODdkZDY0OWM4YjNjMjA4YTYyMDliYTNmYWZjMDhiIGxlZ2FjeS10cnVuaworMzAyNDcgYWVmM2EwM2E3OWYxMGUxNzdhZTBkN2NiNTZkMWVjNjRhZjVlMzA1NyBsZWdhY3ktdHJ1bmsKKzMwMjQ4IDhhYTc1NmU1YWNjYzg1ZmNjYzliMTU2ZmE3ZDhjNzRhZjI0NjdkY2YgbGVnYWN5LXRydW5rCiszMDI0OSBmYzdmZGVjM2ZiODYzZDJjOTEyOTNiYWFkNjM5ODJhZTBiY2NlNDAxIGxlZ2FjeS10cnVuaworMzAyNTAgMjQwZmRiZWY4YzYwYzM2YTBiODhhOGQxNjRkZmI2Y2I3YjlhZGRiNyBsZWdhY3ktdHJ1bmsKKzMwMjUxIDBmMTQwNWFjZTQzN2U5MjZjOWI4NDUyMmVmMmRhZDU4Y2MyYjIxOTYgbGVnYWN5LXRydW5rCiszMDI1MiA4OWRkNzRmN2FlMzI2YzBlZTMyZTQyMDRiZWJhZTBhM2ExYTc5NmI3IGxlZ2FjeS10cnVuaworMzAyNTMgZDE2MDgxNmI5MWU1ODNkMjMwZGJjOGQwNDg0YzUyNDU5ZWQ5NjgzOSBsZWdhY3ktdHJ1bmsKKzMwMjU0IGY4NWNiMDg5NTUzNWRlNzY4YTYwZDliY2VlMmYzMzc5OGY5NGIxZDAgbGVnYWN5LXRydW5rCiszMDI1NSBiYjRkZjAwMDBiNmQxYWM0ZTc3MWYzN2E1NTEyMTU1YTYxOWQyYjMxIGxlZ2FjeS10cnVuaworMzAyNTYgNDRkNzQ2OGQ2ZGI2ZTIzMzkxOGJlZGY4MDkwZjE4OTgzMzdkMjYwNSBsZWdhY3ktdHJ1bmsKKzMwMjU3IDkyYTQwNjExNWU3Y2QzNDE2NjZiYTI1MDY1ZjBlZTIyZDg4YmVjNGMgcmVsZWFzZTIyLW1haW50CiszMDI1OCA1ZWZlNmIwYWMwZTZiY2MyMGE1NjBhYjhmMzAwZGY1MGIyNTgyN2FjIHJlbGVhc2UyMi1tYWludAorMzAyNTkgYzU1ZTZlNjAxYjk5OGQ3MmI4OWE1NmI4MGRkYjNiZWJlOTYzZTYxOCBsZWdhY3ktdHJ1bmsKKzMwMjYwIGJjN2Y4OTEzZjVjYTg2NmNhZThhMjFkYmY3MWYyZjljYWVlNGY0NzEgcmVsZWFzZTIyLW1haW50CiszMDI2MSAzMDAxMzQyOWJiODQ1OWUzYjgwNjQwNzM2OWJjYmIxNDAwZWIzZmJmIGxlZ2FjeS10cnVuaworMzAyNjIgOGUyNzUxMmNjMTdkZGNiN2Q0N2I3MTdjNWJjNzRhM2Y2NjMxZGQ5ZCByZWxlYXNlMjItbWFpbnQKKzMwMjYzIDBiMzRmNTFlYWI0ZWE0ODdiYTFjMDFjZTk5NDEzNDZkNmE3MGVlYTEgbGVnYWN5LXRydW5rCiszMDI2NCA3YzUxOTZmMDE1MjRiOWU5N2MxODIyNjhjNjZkNmE3ZWU5NzQ3MTMwIGxlZ2FjeS10cnVuaworMzAyNjUgMmYyODQzNjA2MGM0NTY1NGJiODU4MWZjYzA3NTE0Y2EyYzU5ZTBhNSBsZWdhY3ktdHJ1bmsKKzMwMjY2IDE0MzkyMmE0MGZhYzZmN2RkNTAwNDU0NTg2OTUwYTg1ZTJjMzE5ZGQgbGVnYWN5LXRydW5rCiszMDI2NyBmYmM4NWFhYTI2MGJhMWFjNGQ1ODlhN2E1NGIyNjk3NTUxNWI3MDA4IGxlZ2FjeS10cnVuaworMzAyNjggODljOWM2YzQwNWVmOGM0MTVkZTg3ZjAxMzY2MDZkMDQ1NjBiNjZlOSBsZWdhY3ktdHJ1bmsKKzMwMjY5IDU4YmQ3MTAwZWUxNTdmMTdiODVkOTQ0ODAxYWMxZWMyZmU1NGZjYzEgbGVnYWN5LXRydW5rCiszMDI3MCA4MTZiOGRkY2NmZTE2NTE2MTRkMTY0MDE4OTk5Y2Q2ODNhYzkzOTFlIGxlZ2FjeS10cnVuaworMzAyNzEgZGI5Mzg4ZjM3ZDhjNDcxZjFmZDU0ZDhjMDc2Nzc2ODYxOTVhZjc4NyBsZWdhY3ktdHJ1bmsKKzMwMjcyIDA2ODY4Mzc2YWEyOGQzOWZjNmU5ZWEyODlkOTE1NTZlOTc5N2FjYjQgbGVnYWN5LXRydW5rCiszMDI3MyBhMmQ0MDJlN2NkOGFkZDMyYTc4YmZhZDI1YjIyYWU3M2RmNGU4ZmQ4IGxlZ2FjeS10cnVuaworMzAyNzQgY2Y3MzY2M2NmZjU5ZWE0MTYzZDhmMTI5NTEzM2NlODgwNjIxZGNlMCBsZWdhY3ktdHJ1bmsKKzMwMjc1IDQ3ZTdjNzBlODQxZmUzMzAyN2M0ZWI5YTk2YzY5ZGVkYWRjYzZmZjUgbGVnYWN5LXRydW5rCiszMDI3NiAwZjA2MTU2YzhlMDM3NjZmOWZmNGZkMTg5NzU4ODdlZWNmM2UxZDNiIGxlZ2FjeS10cnVuaworMzAyNzcgNTA3YWE5NmExMjhmZmRhZDk0MTdiYTU0ZTllZWViYzVlMjU0YWVjYSBsZWdhY3ktdHJ1bmsKKzMwMjc4IGIyYjQ3OTcwNTJjNmZkY2RjYmZlZmM2MWI5NDMzYTk0Y2MzMjFiNWEgbGVnYWN5LXRydW5rCiszMDI3OSAyOTk2MjFlY2E5YWQ1MzEyZWU0MmYwM2FmNzUyOTU3ZmZkMDE1NmVkIGxlZ2FjeS10cnVuaworMzAyODAgMzBhNzczODk0MzgxOGI3YWQ1MDIyNmMwYmIwZGU4YTY4NDcxMjZjOCBsZWdhY3ktdHJ1bmsKKzMwMjgxIDgyZDhiNWM2YWM0YTdmYzJlZTdkOWVlMGM4MjkwOTY2YTBhNDJlZDMgbGVnYWN5LXRydW5rCiszMDI4MiAyNTg1ZDQ1OTZkOTAzYjBhMTA4MGU4YWI1YTQzZjY2NmQ0MzgxNGM1IGxlZ2FjeS10cnVuaworMzAyODMgZmZjMWU5ZTVmZjlhNzI0N2NlYTZiNTY3YTUyYmY4OWFhZWE1ODM3NSBsZWdhY3ktdHJ1bmsKKzMwMjg0IGIyMDRiNGE3MmI0ZWU4YmFmMDQ1MGM5YTViMzJmYjM4YzE0Y2IwOWEgbGVnYWN5LXRydW5rCiszMDI4NSAyMzE5ZDEzZDU0ZjU3NTE1NTA1OGY1NzEwMzIwNzMwY2MyNzU5ODA0IGxlZ2FjeS10cnVuaworMzAyODYgN2Y4MWQxNmUyYzVkN2FhMzg0Y2VjMTlmMWUzNzI0OGQyYTEyMDBiMiBsZWdhY3ktdHJ1bmsKKzMwMjg3IDg1OGVlMTE3MTRhNjMyNDI3ZTMzYzg3YmM2ZjgxYTI5MTZhNTgwZjkgbGVnYWN5LXRydW5rCiszMDI4OCA5ZDBlNjJjOWExMjhkN2ExNDcxNjJiM2I1NjdhNmZjMWE2ZTZjMmI4IGxlZ2FjeS10cnVuaworMzAyODkgZWRmMzA0ZTYwY2M2MWVkOWI2ZTQxMWU5MjhkYjgwOTViNTExZTkxYyBsZWdhY3ktdHJ1bmsKKzMwMjkwIDE3ODg0NDk4ODgxMmYyZGYwNjI4YzIzZjIwNWJiZGM2OWQ1M2M5NWIgbGVnYWN5LXRydW5rCiszMDI5MSAyMjUxMTk1YTNkZDFmY2U3MTRmNTFiZjhkYmUxN2M1OGFlZDczMGJmIGxlZ2FjeS10cnVuaworMzAyOTIgN2M4YWYxOTc5ZTc4ODViNzc4OTk1ZTczODQ1MDI5NGQ3N2QyNmU2NyBsZWdhY3ktdHJ1bmsKKzMwMjkzIDhlY2NmYWUwNGJiNGY2ZmU2NjE5NDFjODI3ODRiNTgxYzIwNzg4NmQgbGVnYWN5LXRydW5rCiszMDI5NCA2OTMyNzk0ODE3YzJkMWRmMTE2YTk0ZWY2MzM3YzI0ZjNkNTY0MTdjIGxlZ2FjeS10cnVuaworMzAyOTUgMGM4NWE5NDdlMmMwMDBkNjY3YjkzNGIzMmIyYmNmMGVhMjQ2NGVhNiByZWxlYXNlMjItbWFpbnQKKzMwMjk2IGUwOTRhMDNhODBmZjQ1ZWY2Y2YzNGMxYzJjOGI1OGNiZjhmMDc2MDMgbGVnYWN5LXRydW5rCiszMDI5NyA1N2EwMGRiNzMxZmNmMWYyY2NkMzRkODI3MjE3YmE5MTRhMTcxNWUzIGxlZ2FjeS10cnVuaworMzAyOTggNmJiYmU2N2QxZWFmNzE3MzE5ZGY3ZWVjNmI5Nzk2YmJlZDg5N2FjYyBsZWdhY3ktdHJ1bmsKKzMwMjk5IGQ2ZjQ4M2ZjOWUwMmUzZGVkN2JmZThmZGQwM2E4MmM4MGQzMDI3YzYgbGVnYWN5LXRydW5rCiszMDMwMCBmZWE5MmU3ZWM2N2FlMzUwNTU5MDk3MjYwOWQxZGZiNjgwNTEzZTI0IGxlZ2FjeS10cnVuaworMzAzMDEgMmUyMTk1ZmU2YzI4YTc5NGZmZTljNTZkMzZlYzFjNzUxOTMzMzBlZCBsZWdhY3ktdHJ1bmsKKzMwMzAyIGZiMzZkOWI1MGRmNThjODcxZjk0YWVhMWI5YjdmY2IyYThkOTY0MjcgbGVnYWN5LXRydW5rCiszMDMwMyBlMTUzOTYxZjk2MWYyZjZiYTcxNzc3ZDIyMTAyOTQ1NmFlMTVkOTVhIGxlZ2FjeS10cnVuaworMzAzMDQgM2MzMmE5NGIwYjE3NjI2MjlhYjliMWJjMGFmMmRhNmRkODg4MTg0OCBsZWdhY3ktdHJ1bmsKKzMwMzA1IDEzZDU5ZGJmYjhkNDRhZTY0YmJhZGViYjQwMTE2NWJiNWQyYTQ0NGUgbGVnYWN5LXRydW5rCiszMDMwNiA3ZDdhMDFiZmNhYWZiODY5NzVkYmU2N2QwZDUyODkwOGQyOWY5NDk0IGxlZ2FjeS10cnVuaworMzAzMDcgZjY0Yzk2OTIyNzA4YTUxMDRiZmIwNmU4ZGU3YTRmNmRlNzM5YjNhYSBsZWdhY3ktdHJ1bmsKKzMwMzA4IGY0YjFiZWVkNjQwNTJkMGIzYzUxYjc2ZDI1YWQ4NTRhMzM2OTFkNGQgbGVnYWN5LXRydW5rCiszMDMwOSA5ZTQwOTEwN2FlZWFhMWYzYzMxYjgzMGFhN2ZiYmE0Nzg4NzY4ZDIzIGxlZ2FjeS10cnVuaworMzAzMTAgYmIxNTQ2YjQ2MDFiZDBkMmZiZTE3ZDExMDc3OGJhMWM3MTc3NDU0ZiBsZWdhY3ktdHJ1bmsKKzMwMzExIDU4ZDc1YTNjOGFmZWE3ZWE0ZGYzMTMxNzczZjdlNDYxZjNiYjA3YzEgbGVnYWN5LXRydW5rCiszMDMxMiAzZTFiZDEzN2QzYzJiODhhNTgyNGUxZjVkYTYzYjcxM2IyMWFkYjJkIGxlZ2FjeS10cnVuaworMzAzMTMgNWNjZGU4YTE1MjZhNDBkOTJkYzU0YzhkYjc5YjY3ZWMzZjEwOTljNSBsZWdhY3ktdHJ1bmsKKzMwMzE0IDc5YzlhMDdiMjg5NjU5Mjg2ZjE0MzUxZmRhMzgyNDE4OWRhOTZhODQgbGVnYWN5LXRydW5rCiszMDMxNSAxNWJiNjc2ZjJlOGMwZjJjMmY4ZDg0OGU1NzEyM2UxMzFkYmQ1YWE1IGxlZ2FjeS10cnVuaworMzAzMTYgMDAwNzVmMWVmODY2YmY0NGFjN2Q4MjQwZjRlMWI5MGNiOTUzYzMzNiBsZWdhY3ktdHJ1bmsKKzMwMzE3IGM0NGQ5OTRiMzllNTQyNjk2MjQ0YzU4NmVhYWFkMDVhYmJhMWFhN2MgbGVnYWN5LXRydW5rCiszMDMxOCA3ODY3OThlODY0NjljYjgwOGMzMDA4Y2M1ZTQ2MTlkYTEzNzJlZjhhIGxlZ2FjeS10cnVuaworMzAzMTkgMzdlZjAxNzY0NmM0NjE4YTNmYzBiY2FmYTAwMzI4Y2RlYjk2MWJjNCBsZWdhY3ktdHJ1bmsKKzMwMzIwIGQyYjAzNjI4MTQwMzEzYjg4YTFkMDIzNDZmNjY5MTMzNDI0MDUyZTkgbGVnYWN5LXRydW5rCiszMDMyMSBhOWI1MjJlNTQ1Y2Y2ZjA4M2UwOWNmYjc5YTljODVkZWQ2MTJlYmMwIGxlZ2FjeS10cnVuaworMzAzMjIgNTQxOWVmNGE0ZDcwYjBjNWZkYTI5YTg0OGFlMWFkNzIxZGE5ODczYiBsZWdhY3ktdHJ1bmsKKzMwMzIzIDY3M2RjYjliNTFjZTJiZGYxMmRkYTM1MTJlZGMyMmJmNGZjYjllMDMgbGVnYWN5LXRydW5rCiszMDMyNCBmYzUxNjlhYTQxY2VmODViOTY5N2MzOTQyZmRmOTU1MzI1YjY1NTAxIGxlZ2FjeS10cnVuaworMzAzMjUgZWE3NTkxOWM3NjlkYjY1ZGIyZjQ5YjU5OGUwNDMxN2Y1ZTI2YTg4MyBsZWdhY3ktdHJ1bmsKKzMwMzI2IDg2NWM1OWI1YmZkNzEyODI4ZjM0Y2FkNWEzNzdkOGNlMDA5M2Y1ODUgbGVnYWN5LXRydW5rCiszMDMyNyBiY2E1NDA5Yjc2ZWNmYjkzNDJkMjRiYWExMjMyMWQ5NWM4NjllYjM5IGxlZ2FjeS10cnVuaworMzAzMjggODAzMzAyNTczMTUyN2JlNGFiMzQwOTg4ZThhZmIyZDY5YTQwZDY2MCBsZWdhY3ktdHJ1bmsKKzMwMzI5IDVmNzRlMDQwMDEyZDY5ZWY4MzVlMmM2NmVmNWE3YTczYTY2Y2ZkNTAgbGVnYWN5LXRydW5rCiszMDMzMCAzZWU1NGZiZmU4NDZkODllZGYwZTVhZGQzYTllNGIwMTkyNTllZWY3IGxlZ2FjeS10cnVuaworMzAzMzEgMmNlOGNmMjg0YjE1MGMwODE4MTQ1NDIwOGY0NWY1MjNjYmJhYTQ2MCBsZWdhY3ktdHJ1bmsKKzMwMzMyIGRhYTQ1OGIyODM4NTFiZmQzYzk0ZmVlMTlhOTQ4YjFlYTc0OTRhYzMgbGVnYWN5LXRydW5rCiszMDMzMyA2NjA5OTZhMjhlZThjNGU2YjE2Njk1ZjFlMTc5YThkYzM2NTdiNGI4IGxlZ2FjeS10cnVuaworMzAzMzQgNzA0ODQyZjA1YjA5MWU1OGQzZTkzZjRiZTM1NjlmYjA5MWYxOWVjZSBsZWdhY3ktdHJ1bmsKKzMwMzM1IDZjZjYzNzc2N2NlMjRkMmMzYTgxMWNjZDZiMjBmMDYxODI4MGEzZmUgbGVnYWN5LXRydW5rCiszMDMzNiBiNGNhNWI5YmE5MzM1NTI4YWE2OGJjY2FhYzA5ODI5ZDQxMTE2Y2E0IGxlZ2FjeS10cnVuaworMzAzMzcgMjc1MmU5YWFlOTdiZWQ2MDFkYWU4ZmNmY2ViNWI1MTYxNTI1MjFkNCBsZWdhY3ktdHJ1bmsKKzMwMzM4IDNjZjVhNzg1MmEyZjNmZDRmMGIwYTZkZWUyNjZlZjk5MDY5YmI5OGIgbGVnYWN5LXRydW5rCiszMDMzOSAzYTEzMDA0NzI5MDE2M2EwNTk2NmQzYWRhYzI0MDE0MTc3OTNmYWI5IGxlZ2FjeS10cnVuaworMzAzNDAgMDM2OTE5OWEyNjVhZjg0MWZmYTE2MTRhYjMxNTkxOTdlZjVkNGJjOCBsZWdhY3ktdHJ1bmsKKzMwMzQxIDAyOWVkYTkzN2JiNDc0M2YwZTE3MTYwM2RhNjMwZmE0OGU3ZjI1ODYgbGVnYWN5LXRydW5rCiszMDM0MiA4M2Y4YmQ2YWU4MTE3MjIwZDJiMTJmZDA3ODcxNjM5Y2I1ZGRmYjFhIGxlZ2FjeS10cnVuaworMzAzNDMgYWFjYThhM2IyM2NkMDVkMjIyODMwOThmMDE5NzZmNmNmZjMxZWM1MCBsZWdhY3ktdHJ1bmsKKzMwMzQ0IGE2ZjBiYzZlOGIzOGRlNWY3NzA2MzRjNDA0OWJlNTYxYmFmZTJlNjYgbGVnYWN5LXRydW5rCiszMDM0NSBmMzA1YTU3OGIzOTQwZWM4M2NiODZmNzdlYmViZjc5Zjk3YjhlZWE0IGxlZ2FjeS10cnVuaworMzAzNDYgNDhhZmI4ZTE0MjBiYjg2ZjljOWFlZmQ4ZmFjNGFlY2JhOGJiYTk0YiBsZWdhY3ktdHJ1bmsKKzMwMzQ3IDQyMjc5YTAyMTI1ZTI4NDYxZWE0NzRkNjA2NGZjMDA0NDMwYWFjZDggbGVnYWN5LXRydW5rCiszMDM0OCAyM2E5ODBlYjhhZmJiMzVhMjkzM2UyZThiZWUzNmRiYTY5MjUxZDQ3IGxlZ2FjeS10cnVuaworMzAzNDkgMWVhYjI2ZjcxNzE5OWQ3Y2EyODM2OGQ3YWM0ZmEyNDQzOGM2NmMwZSBsZWdhY3ktdHJ1bmsKKzMwMzUwIGY0ODNlZmNhMjI0YzZjZmRiMzU3ZTBmNTdkNDhjZTc1NjMzZmEzMmMgbGVnYWN5LXRydW5rCiszMDM1MSAzZDEwNjBkYjgwNjI4YmM1ZTk0OWZkMzczZTI4NmNlOWUwYzM3NGUyIGxlZ2FjeS10cnVuaworMzAzNTIgMjZkZjYwMTNiMzAzZDRhYmRlNGRmMzFkNWZhMGVlNjRkNTA2YTc5MCBsZWdhY3ktdHJ1bmsKKzMwMzUzIGQxNzdkZDBjYThmNzBlNDFiZTAxYzdmZmEwZTMzNDVkOWU4NTAwOTQgbGVnYWN5LXRydW5rCiszMDM1NCAzNTQ2OGFkNTAyMmE3NzQ1NjkxZDUwOTUyM2VjNDE5OWU2ZTM4MDFmIGxlZ2FjeS10cnVuaworMzAzNTUgMTIwYWZiYTJkYmY2NDA3Y2Q3N2I1NmMxNWQyOTY4NWU4MTE3MzkwZSBsZWdhY3ktdHJ1bmsKKzMwMzU2IGMyNDk2MDdlZjUzNWYxMTI4NGY3ZDMwNTc3YmZlMThhNDUyMDliMjggbGVnYWN5LXRydW5rCiszMDM1NyAzMWIxYjA0NjAzMDNkODVkNzQ3MGRhODAxOWYyNDdhN2E2NWRlY2JiIGxlZ2FjeS10cnVuaworMzAzNTggOTA5MzRlNGM5MWJhNGJjZDI4NjZlMmVmZjdiM2E2NGU4ZWMyZDdmZiBsZWdhY3ktdHJ1bmsKKzMwMzU5IDZlYzM4NmI0NWUxZmFlZTE2OWNiYmVkN2EzMzI0NmQ4MmI2MWU4YjcgbGVnYWN5LXRydW5rCiszMDM2MCBkMjE5OWZjMTRkMDYyNGFkODBkODYxMjUzM2ZhMzRlMWFjN2M1ODFiIGxlZ2FjeS10cnVuaworMzAzNjEgMjEzM2NmMzU1YmZjOGEyYzkyNTA5NzdhYjAyM2FjMGUxMGU1MjVhNSBsZWdhY3ktdHJ1bmsKKzMwMzYyIGYwZjlhY2NhNDE2NGFiZDc4YjVlMWQ2MDRhNmQ4ZTI5YzNjNjYzMTcgbGVnYWN5LXRydW5rCiszMDM2MyA1NGFhY2I4N2JlZGEzMDM3ZGZhYmZlM2JmM2U2N2Y5MDI4MDA2ZmVkIGxlZ2FjeS10cnVuaworMzAzNjQgYjYyNWYxYmY3MmY5MGQwNGM0OTUwOTNiNDFkMzljNGUzNjhlMTE1ZSBsZWdhY3ktdHJ1bmsKKzMwMzY1IDQ1ZmMwZTRiNTA4NDUyMjc1YjQ2YmFkOTJiMmU1ZTcxYzI0NWE0OGUgbGVnYWN5LXRydW5rCiszMDM2NiBiOWMxNTk3ZDgxMDJlNDVjYTQ1ZDhiM2U2ZWI2ZjIyNmJmZjQ0YmE5IGxlZ2FjeS10cnVuaworMzAzNjcgMTI3NTNlN2IxNWY3ZTg2YmUxNDM1NmU1NGQxMDljZjM2NTc5NzFkNiBsZWdhY3ktdHJ1bmsKKzMwMzY4IDgwNTNiYzBiOGJiNTgxYjRiODY3MGNhNWZkY2M2YjY2NDg3ZjFiNTEgbGVnYWN5LXRydW5rCiszMDM2OSBiYzIwZThiNDZkZTBkMGFlN2FlZjI2OGU0NDg4ZDc4NmUyNjJmYzBiIGxlZ2FjeS10cnVuaworMzAzNzAgOTU1MTBmMGEwNjI0NTg0YjQxYmI3Yjc1ZmFmODg2NWM4OWZjZjUxYyBsZWdhY3ktdHJ1bmsKKzMwMzcxIDJhOTViN2Q1ZmJkZTBkNGNlNzA3NDMxMzAyYjc2NjMxYjBkMDAwYjEgbGVnYWN5LXRydW5rCiszMDM3MiAxNDA2NDRmMjJmNjQ4Y2RmMGIzZDNjYzRjYjVkMGU5OGQ5ZTYwOWZjIGxlZ2FjeS10cnVuaworMzAzNzMgMGEwYzc1OWVkMTY3OTlhYTJlMDZjZTlmM2M5OGJmODRhNDFiMmQ0YiBsZWdhY3ktdHJ1bmsKKzMwMzc0IDRjYmRiYjBiZGQ1ZDRhZWMxMDI1YTZhNjg4NjZjODQ1OWFiZWEzMDIgbGVnYWN5LXRydW5rCiszMDM3NSAzYmMyYWY0MWMwMTY1NzlhOGUxYzJhZjRjM2E3YTQxYzcyMzU5MzRiIGxlZ2FjeS10cnVuaworMzAzNzYgMDk2ZDEyZGIyNjM2NTIzY2U1Yjc1NWZkYzNjYzM4YzViNzA4ZmM3NyBsZWdhY3ktdHJ1bmsKKzMwMzc3IGE0NDc0ZTE0ZmFjOTdiNGE2MjI5YTA1Zjc3NjIzMDM5YWZlMTIxZTggbGVnYWN5LXRydW5rCiszMDM3OCAxOGQ0ZjcxZjVlZDZhOTM2YTRiMDczYjg0NmQwZGM5MDY5MmRjYjRiIGxlZ2FjeS10cnVuaworMzAzNzkgZDVhZDI5YTQ3M2UxZDk5MGEzMDExNDEwZGRiZWUzYzYyYjNlZjBlMSBsZWdhY3ktdHJ1bmsKKzMwMzgwIDJjNTJhYmVlN2QxMDYyYzUwMGVjMjhjYWRhNzE1MDQxYTJmNGQ1MmMgbGVnYWN5LXRydW5rCiszMDM4MSA5N2M1YWE4MmIzZTljMTUyNGJiYWZkZDc0OWNhNjVhNzJhMzIyNjIwIGxlZ2FjeS10cnVuaworMzAzODIgNDBkYjc4MTU5MTc3NjIwZGUxM2FlOWJlMDFkYmQ3MTYwZTczYzE4YSBsZWdhY3ktdHJ1bmsKKzMwMzgzIDdlYTc2MzczNDFkMGExNDdhNGMzNDZlYjU4YjViM2QyNjMzYTFhMmIgbGVnYWN5LXRydW5rCiszMDM4NCA0N2U2YWI4ZDU3NTFkNGEwN2Y4YzY2Njk4NTZkODg5ZjNjMzExOTM4IGxlZ2FjeS10cnVuaworMzAzODUgY2NiYTNiNjZkNjc2NjYxZjZlMTYzZTMxMDk5MThkZWQwNGEzOTczYSBsZWdhY3ktdHJ1bmsKKzMwMzg2IGJjYWNhMzZhNTgzY2M0NTkzYjVkZWQ5MWI3N2YxMGI5Mzk0ZjkwOWUgbGVnYWN5LXRydW5rCiszMDM4NyAwNzQ5MTk3MTUzNTVhYzg2ZTM3M2M4MGE1MzNkN2VlN2Y1YjcxYTk3IGxlZ2FjeS10cnVuaworMzAzODggNjg4ZmE2Y2RhYjk0M2M1ODAwNDA1MjY5NzhkZTgzNjNhNjVkYzJiMiBsZWdhY3ktdHJ1bmsKKzMwMzg5IDg5OTlkNzJjMmU2Y2RlYjFhNjAwZmQxNWQxOTdjYWFkYzQ3YmFhMjEgbGVnYWN5LXRydW5rCiszMDM5MCAwMDMyZGJlZWMzOTFjMTU3MDIyZjhkNGU0N2Y3ZGRmM2Q3ZTRiNTFmIGxlZ2FjeS10cnVuaworMzAzOTEgN2NkYTM2MDM1NjdmOTY3YWFiMmRhNzFlM2FjNmI1OTljNDRlMDIwZCBsZWdhY3ktdHJ1bmsKKzMwMzkyIGMyNWQ3ZDJjMTcxMDQyNmM3NjYxNjkzMzM0MWYxYTMwMTkzNjk1MDMgbGVnYWN5LXRydW5rCiszMDM5MyBmYmNmM2M0YjQyNzJlMjE1ZmMyZDc1ZjVkMzE1N2JkMmE4MzI3ZTE1IGxlZ2FjeS10cnVuaworMzAzOTQgZjUxNjFjYTRkZDY4MGQ0ZmJlMzNhMTlhYWM3OWI2MzQwYTY1NDI3ZSBsZWdhY3ktdHJ1bmsKKzMwMzk1IGE0M2EyYjE4YjVjNDhiZmU2Y2Q3YWUzYTIxMWEwZDJhMTIzZGM4YTAgbGVnYWN5LXRydW5rCiszMDM5NiAwNTAxNmJiOTE3NjZmZTlkMWIxOWIxNmI3MTc1MjdjMjg2OGJjM2ZmIGxlZ2FjeS10cnVuaworMzAzOTcgYjkzODQ1MjI2ZGI2OGQ4MzJjMmFhMTg0NmQ1YTMxNWI5YzVjZDkxMCBsZWdhY3ktdHJ1bmsKKzMwMzk4IDQyZjE5YTZjNjU3MDFjZGYzNjUwMGU0NzBlOWIwZWUwZGIxNGEyNGEgbGVnYWN5LXRydW5rCiszMDM5OSBmYWY5NjVkNzM4MjRiZjI0NGViNjRmMWZlYTAyOGVlMjY5YTBiZDdjIGxlZ2FjeS10cnVuaworMzA0MDAgOWQwNTgwYWNiNDVmZjQ1ZWE3NTcxZDQzMzBjOWZhNmNiZTYxNTdlMCBsZWdhY3ktdHJ1bmsKKzMwNDAxIGRiZmMzZWY3ZDAwMzUwZTA5ZTk1NTNlOTU2NDk3MzY0YjViM2RlOTAgbGVnYWN5LXRydW5rCiszMDQwMiAzMWFkZWE0OWE1NThmNzI4Y2U5MzM5OWJlZmVhOGY1YmNlYjIxNjFlIGxlZ2FjeS10cnVuaworMzA0MDMgOTY0Njg4NzBkMjA2ZDk0ZjFhOGE0ZDljZDA0MzAxODE5NGE3ZDI4MCBsZWdhY3ktdHJ1bmsKKzMwNDA0IDNkYjE2NWYwMjEwNzQzNjNiMTYwOGFhYWIxNWMzNTcwNGVmNjZhNjYgbGVnYWN5LXRydW5rCiszMDQwNSAzM2RjZjRmZDBmZjkwM2ZiZGZlMzA3NmNlODRiODJiZDhiNjk1NGQ4IGxlZ2FjeS10cnVuaworMzA0MDYgMjRjYjYyMjI1MDQwY2ViYjI4MmFiYjI0YWMxYzNhZGMyOWI4ZTAwZCBsZWdhY3ktdHJ1bmsKKzMwNDA3IGZmYTRhYjM3MDM2ZjAxNWZlOTk2NDBkMjE0YTliMDhjOGYxNGExMGUgbGVnYWN5LXRydW5rCiszMDQwOCAzMmU0Yzc3NTM0MTYyYzVmN2FmY2RhNGQ0MWQwMWI4YjAyNzcwY2UyIGxlZ2FjeS10cnVuaworMzA0MDkgNmM1MzVkY2VkYWQzMDNjMTNlNDM0NzJiOWQwZjc4ZDI3ODMxOTczZCBsZWdhY3ktdHJ1bmsKKzMwNDEwIDc5NDY2ZjA0ZjFjNTRiNTJiNzJlZDIxYzlkYTUyNzA5MTU1NWY2NWIgbGVnYWN5LXRydW5rCiszMDQxMSBiOTFkOTVlOWIyNDlhNzkzMzVhNmE2NjA5YzExZTZhYWZmYWRhZjhiIGxlZ2FjeS10cnVuaworMzA0MTIgYTA4NWNjMDQ3NjgxMDk1OWRhY2QwYzA3Nzc4OGZlMGY1NmZkMTdjMSBsZWdhY3ktdHJ1bmsKKzMwNDEzIDg0NjhlM2ZjM2EyYmM3MWNjMmI3MDg4NmQ5NjE0YzFjYzA0MzYzMTggbGVnYWN5LXRydW5rCiszMDQxNCAzZDVhYmQzZDllNGJhODA1MTk0M2Y4NTVjNDViZjBiNTJiMTI0NWI1IGxlZ2FjeS10cnVuaworMzA0MTUgYmMzMDU4NDk1MjJkZjc4NzI5ODJlNzIwYjgwZDM2NTNiOGVmNWJiOSBsZWdhY3ktdHJ1bmsKKzMwNDE2IGE4MmQ5MmY3ODQ3MmM3MDdlNmU3ZTExYzUwZmVlZDQzZDVhYWRhOTcgbGVnYWN5LXRydW5rCiszMDQxNyBiZDBjNDA3MTk1ODM2YmQwZjE5OWZiZDZiY2UyN2M5NmQzODljMGU4IGxlZ2FjeS10cnVuaworMzA0MTggNmU1NDFhNzJhZjFhZTY1NDM3NzQyZDI4NDU2ZTdiOTI0NTMzMDdiNiBsZWdhY3ktdHJ1bmsKKzMwNDE5IDVjYTcwNzIzNjFiZDk1YTAwZDRhZWUxMDk4YWQyMzZiMTkyNTQ2OWMgbGVnYWN5LXRydW5rCiszMDQyMCA3MjM3MjFlYTQwMjU5NmM0MzVlZTY2ZmM3NzU2ZjIxNTU2Mjc2MTdlIGxlZ2FjeS10cnVuaworMzA0MjEgNTUxNDExNDRkYWI1ZTUwOTEyYjEwNzQ0NDBjNWJlN2E0NTRjZTFlNSBsZWdhY3ktdHJ1bmsKKzMwNDIyIGJlZWE0MjE1Mjc4NzQzZGExMWVhZGI1MzliY2JlZWJhNDhhNzAzODEgbGVnYWN5LXRydW5rCiszMDQyMyA1MjY3NDJhNzRkMDY1YjNiM2ZmNDMyNmQ2ZDMzYzc1YjkxNDBmMDc3IGxlZ2FjeS10cnVuaworMzA0MjQgYWNkYjM5YjcxNGIxZWVlNDhkNGRiZWMyMzM4MWI4MzRlMGEwMjM1NSBsZWdhY3ktdHJ1bmsKKzMwNDI1IDAyYzZmZDVjZjc1YmNmNTZmYjRiZWM3NzZiZmUwMTg5MTEwY2UwODcgbGVnYWN5LXRydW5rCiszMDQyNiBiZTczMmUyMTllZDEwMjY3ZDkwMjc4M2JlZTczMTRkYjE0YTI1MmRkIGxlZ2FjeS10cnVuaworMzA0MjcgYTU4Y2VjZjU5YjA2M2Y1NTUxYzhiNGExM2M0NTRjMDdiMDQ3MGEyZSBsZWdhY3ktdHJ1bmsKKzMwNDI4IDdiNWE3Y2ZjMTdhOWU1MDE3Zjc1MDNkMDMyYWU1YWJjODVlMDc0ZGMgbGVnYWN5LXRydW5rCiszMDQyOSA5NGJjODEyYTNjNTI4NTE1OGU2MGZlMTI0NWU0MTc5ZDIxZWI4Zjc1IGxlZ2FjeS10cnVuaworMzA0MzAgMzVmY2FiZWZjOWQyZmQzNTY5NTcyOWVhOWFkNmI0Y2YyYjRhMjM1ZSBsZWdhY3ktdHJ1bmsKKzMwNDMxIGYxNTU5NDYwYjk1MjYyNjkzMmM0NjUxZjcxMWM4NTRhNzFiYjI3YWQgbGVnYWN5LXRydW5rCiszMDQzMiAxNjM1NjNjY2I3ZDYwYWRmODRlOGI1MDYwNGE5YjY1NjNjZWYxMDE5IGxlZ2FjeS10cnVuaworMzA0MzMgMjQwYTI0MDFjNDA0ZGU2YWY5OTgzYzI0Y2QwMDk2MzQzYzQ1ZGMwOCBsZWdhY3ktdHJ1bmsKKzMwNDM0IDM4OTI3ZmQ1NjdiNGU0ZjJmOTI4OGY4ZmRjNzM0ZDMxNzk5MzViNGIgbGVnYWN5LXRydW5rCiszMDQzNSBiODIzNjZiYzU0Mzg0MjhhOWQ5NWQ2YzI0YzhlNzZkYTVlNjliY2RjIGxlZ2FjeS10cnVuaworMzA0MzYgM2MwNDFiMTlmMWQzNjc3YTNjMzkxYWJiZjU1YjhjOTQyMzQ1ZTM3YyBsZWdhY3ktdHJ1bmsKKzMwNDM3IGI4YzcyZTg2YTEyZDQwNzAwYjFiZTA3NDY3MzI5NDVlYjlmYmUxMDMgbGVnYWN5LXRydW5rCiszMDQzOCAxYzU4ZmU1Yzc2OWYzYzA2ZTcxYmUzYjAwMDBjODc4OTA5Y2EwNTJmIGxlZ2FjeS10cnVuaworMzA0MzkgYTVjODc5NzI2YjNhMzIzMzc1MTZiZjViMTBiMWQxYmQyOTQyYWY1ZSBsZWdhY3ktdHJ1bmsKKzMwNDQwIGI5YzQ2MmQyM2YzYzY1MjE0ZDQ3ZDE2YTVjYjU0Y2Y3MmI2NDQyY2YgbGVnYWN5LXRydW5rCiszMDQ0MSBhNTczZmVkZTg4ZTJiMThlNGU3ZDFmMDc4YmZmYWY5OWJmZjA5MGQ3IGxlZ2FjeS10cnVuaworMzA0NDIgNWRmN2EyODRlYWY0ZWQ3NzFmMTc3NGMyYjNiNDY1Y2E3ZGQ1Zjk5NyBsZWdhY3ktdHJ1bmsKKzMwNDQzIGI3OTBkYTA2NzFmN2E3MWU5MDIwZTQxMjgzNDFiNTBhN2I5ZTM2NDQgbGVnYWN5LXRydW5rCiszMDQ0NCA0YjRjZTI0OTBmZTJlZDdlZWM1MTliNmEyY2NmZDg2NDk5OTI4MmE0IGxlZ2FjeS10cnVuaworMzA0NDUgMTAzODk5Y2U4OGIyZmNhM2U3ZjFlNzk2NGJhYTE5ZWQxYjY5MzczMCBsZWdhY3ktdHJ1bmsKKzMwNDQ2IGJmOWUwNDI0MjM3ZjUxNTYyMmQ4MDUwZTFhY2EwZmJiNjQxYjlkMmQgbGVnYWN5LXRydW5rCiszMDQ0NyA3NzZmMjcwYTZlYTljNzBiZmU2N2U0NGU0MTM1NGExMzhlYjM5MmE1IGxlZ2FjeS10cnVuaworMzA0NDggNDQ0OGZmOGIzMjM5MGJmZDkyNWY2OTM1M2Q1ZGRhMTcxNWJlMTAyNyBsZWdhY3ktdHJ1bmsKKzMwNDQ5IDRjMDNhNGZhZDcyZWYyNjE3MDdiODgyZWNlNDMxMGUyZTBlODQxZTcgbGVnYWN5LXRydW5rCiszMDQ1MCA4NDg3OWUxODM3NzM4NDk0OWZhMjliY2E2MjFlYWI1NTBjYzM5OWYzIGxlZ2FjeS10cnVuaworMzA0NTEgOTA5OTgwNzlhMWEyMzg5MzI1NGRiYmY1OTJkMmE0OGU2ZWJkNzhlZiBsZWdhY3ktdHJ1bmsKKzMwNDUyIDY3ZGYyODkzYTUwZWU4MTc3YzEwMjY5N2M0OTQwOWI0YmFkZjg2OWMgbGVnYWN5LXRydW5rCiszMDQ1MyA3MDFiMTAyOWFmNDA3OTA1NTBlZTdkNDk5MWIxZmIxYzJiMjc4YzhlIGxlZ2FjeS10cnVuaworMzA0NTQgNzBmMGYyNWIxMzRlNDI4YzFkMTdmYjgyYjUzNzdlMTIzN2NhMTNkZSBsZWdhY3ktdHJ1bmsKKzMwNDU1IDc3NGY3NTRmZDFmZjE1MDM4ZmJlOTEwN2FjYWRlOTE1NTJmMjI3ZjAgbGVnYWN5LXRydW5rCiszMDQ1NiAzNWU1YjAyMWI3NzQ0NDcyMDNlZTczNDE2YjliMTlkYzJmMDljODViIGxlZ2FjeS10cnVuaworMzA0NTcgNzg0ZTdmZGY4YzUyNDM0NmZlMDNmNTNkYmFiMDVmMWQxNDM2ZjU4MyBsZWdhY3ktdHJ1bmsKKzMwNDU4IDY5ODk2MGQ1NjFmOGRhNTg5OGUwZmRhYTJmYzAzYWVlZTE3MjE4MjMgbGVnYWN5LXRydW5rCiszMDQ1OSA1YjE1NzU5NjhmN2ZhZjgwZTcwMjgzNDFiMWNiOTI2YmYyNGRjNjg3IGxlZ2FjeS10cnVuaworMzA0NjAgNTY3N2U5ODBlMDQ3ZTQyNDhmZmZhMDA1MGI3NzJmNzFkMGE5M2I0NCBsZWdhY3ktdHJ1bmsKKzMwNDYyIDJjNjcxNjlmNmUxM2ZiZGQxN2I0Nzc2ZGM3OWJjNTJhZWUyNWFlNDkgbGVnYWN5LXRydW5rCiszMDQ2MyBlMDJkYWY2MzA3ZmM4YThlYjVlMDAyNmU4YzcwZGVlOWVjMDczODZjIGxlZ2FjeS10cnVuaworMzA0NjQgNTQ5ZDA3ZDBhZWQ3ZWNhMTkwMjdjOTY1Y2I3MDkxMWFkM2FjZjFkNSBsZWdhY3ktdHJ1bmsKKzMwNDY1IGY3MjJhODMwMTQwZmI0MTVlNWUyODczZDRlMTExNGY0ZDFlZTc4ZTQgcjIzYTEtYnJhbmNoCiszMDQ2NyA3ZTIzNTFiYzZlN2E2OWJmNjhkZjcxMjUzNTE4NmJjNWIwNmFjMjcxIGxlZ2FjeS10cnVuaworMzA0NjggMWM2NWZhNWU1MmMzZDgxYWIwMWJhOGVmM2EwYmRlZDRhZjNmNmJkZSByMjNhMS1icmFuY2gKKzMwNDY5IDE1MDE3YTc5YmFjZGRhZDI3YmJhYWQ0ZjM5MmJiNGIwOTExNzczMTggcjIzYTEtYnJhbmNoCiszMDQ3MCBkNmRjZmY0YjM1NzQyMzQ4MGU0N2E1NTVlYTAwYmYzMmYyY2U4ZjMyIHIyM2ExLWJyYW5jaAorMzA0NzEgMmI4MDExNjgxNWI1MzVkZDk4MDJkNmMzNTkxYTZkOWNiZDY0YWI5NyByMjNhMS1icmFuY2gKKzMwNDcyIDkyZTU3MmUzY2E5ZjhjODMzOWY3ZTk2YTk1NmJhOWI3ODJiODgyNmQgbGVnYWN5LXRydW5rCiszMDQ3MyA4YThkZmYyNTBiZTQzNjJmYTFhNjdkMzFhZDQ4ODcwYjYwM2YyNmZjIGxlZ2FjeS10cnVuaworMzA0NzQgYmNiZDk0YzYxMGU4MjNmMjk1ZDFiNzQzOTllYmI2OGI4NzhmYWM1MiBsZWdhY3ktdHJ1bmsKKzMwNDc1IDdjYjczYTczMmY3NzFlYWEyMzZmMmRmNDJiOThmODUyNDJlYjkwYWIgcjIzYTEtYnJhbmNoCiszMDQ3NSAwMTgzMDc3NjVkMzRkY2Y2MmQ2ZDJhZDY2YmQ3ZjdiZGU1MzFlZmEyIHIyM2ExLWJyYW5jaAorMzA0NzcgY2ZhMTNjZTk4M2JhMmI3ODk2NmMwZWM3ODcxMWNkZjdjODIyMzYzZiBsZWdhY3ktdHJ1bmsKKzMwNDc4IDY5OTA1MDU5YzdiZDE4ODU5YjNmOGEyNjNjZTg3ZWVlYjFlYTI3ZTMgbGVnYWN5LXRydW5rCiszMDQ3OSA3NDA3OWJlNmYzZjExNGUxOTIyODMzNTJmOTAyNzFhNzZkMTAwM2Y1IGxlZ2FjeS10cnVuaworMzA0ODAgY2Y4MWY4MjVkYWFjOTI2Y2Q1NDdhMjQyYTBlNTVjYmVjNDE1MTliYyBsZWdhY3ktdHJ1bmsKKzMwNDgyIDRlMDkzMmExMTJmNDJiNTU5YjczMWM5ZWQ4Zjg3ZGQ5YjYzMTZjZWQgbGVnYWN5LXRydW5rCiszMDQ4MyA5NmUxYWI4ZGY4ODM4NGFkYTc4MzAyMmI4NzVjYjk3NDJmZDVhYmE0IGxlZ2FjeS10cnVuaworMzA0ODQgMmE4N2Q5NDg5MTEyZmEyZTM0YWEzZTg3NWI2ZjIzNjBlY2ZkYzJiZSBsZWdhY3ktdHJ1bmsKKzMwNDg1IDAwY2QxZDcxNTljMmI0NTEzMTEyMTFlYzBlZjljOWY5NWY0NDJhYmMgbGVnYWN5LXRydW5rCiszMDQ4NiA2Y2ExYzBkM2VmMTkzMTIyNDQxNDI1MGExMjE3M2VjZDNlNjk1MTE2IGxlZ2FjeS10cnVuaworMzA0ODcgOGVkNDcyZTViY2Q0NGRkMzIxYjQzNWY5YmQxOTkwNTVhMDc5Y2VkMSBsZWdhY3ktdHJ1bmsKKzMwNDg4IDg4ZGYyNjdkYjg1OWUzZjRiODlmZDY4NjRkOTFiZTQ0MzAxNDE5NDcgbGVnYWN5LXRydW5rCiszMDQ4OSBiZGE0MTg1NjcwY2NiNzQ4ZTgzOTlhZjYxOTBjNzc5ZmFmMTliN2VlIGxlZ2FjeS10cnVuaworMzA0OTAgMjkzZWRhM2U2OWY1ZjU4MjE0YWFiMjk5Y2EwMzg5NmRiMTRlZGMwMiBsZWdhY3ktdHJ1bmsKKzMwNDkxIGY1NzA4M2EzNDE5NjY0YWI0OGUwOTRjMGI0ZTdhM2UxODdlMGQxNTQgbGVnYWN5LXRydW5rCiszMDQ5MiAxYzQwNjBkOWU2ODc0YzM1ZmMyYjdmYzNkMGFhZTBiNmI4ZjUxNGEwIGxlZ2FjeS10cnVuaworMzA0OTMgZWE2N2NlYTY3NmU5OTM0NWIwZGZlYTI0NWJjOTQxYWFkOWVlNDhhYiBsZWdhY3ktdHJ1bmsKKzMwNDk0IGQ4NWVhZjQ3ODU1NmVmYzYxM2Y2ZjRmODkwOWIwYjYyNzkzYWQwNWUgbGVnYWN5LXRydW5rCiszMDQ5NSA4MTIwOWMwZjA4YTA1OTI2ZjdiZDBlOWY5MDU1YWNjZWFkYjAyZDA1IGxlZ2FjeS10cnVuaworMzA0OTYgNDU3OWU4M2M2NjNiNzAyZWEyMGJhYjFhNjIzMmExMTFiNWI0YWE3NCBsZWdhY3ktdHJ1bmsKKzMwNDk3IDcyYzNmNzM0N2U4OGM4OTQ0MDZkZWRkYTc4N2ExNmZhY2M1YTljNjEgbGVnYWN5LXRydW5rCiszMDQ5OCAyNjg3YTkwODU0MTFlNzg1N2Y2NTYyZTAyMjcwODYxNTM2MGJkN2FjIGxlZ2FjeS10cnVuaworMzA0OTkgNWM0ZmEwNGM5ZjYyOGQ4OTkyYzI1MDY2YWJiNGZjOWJlYzQ2YmU2NiBsZWdhY3ktdHJ1bmsKKzMwNTAwIDZhNWNmZmM2MjM4N2RkYWEwOTBiYWM1MzNlYzUwYTg3YzlmN2I3ZmQgbGVnYWN5LXRydW5rCiszMDUwMSBjMGIzYmI0ODViY2Y4MDAxNmNlODYwYWRlZjVkYWFkZWRlNGY5MGJhIHJlbGVhc2UyMi1tYWludAorMzA1MDIgOTdkYzUzMGQ5MGViNzg1MjYyZDE1OWY5NTkzZGNhZjkzZTc4MDk2OSBsZWdhY3ktdHJ1bmsKKzMwNTAzIDQ3OTMxMDE0OWIyZWRlMWU3MDk3MjE5N2E0ZWE5ZjU4MjJlZWIyZmMgbGVnYWN5LXRydW5rCiszMDUwNCBmZDlmMjBjZTNiYmExZmM5YzM4YmIzM2M4MzA3MDRmNGI1MjEyM2U0IGxlZ2FjeS10cnVuaworMzA1MDUgNzQxYWE5ZDZkOGJlZDc0MDVmYzMzMWYzN2JiMjMwMGVkMjYzYmYyNyBsZWdhY3ktdHJ1bmsKKzMwNTA2IDBiM2ZjY2ZiZTJhMjg3NjFlZTRjNTc4NjFiMTI1MDIwYzZhYjQwZTQgbGVnYWN5LXRydW5rCiszMDUwNyA5ZWU0ZmQwNWQzY2JjZDVhZDdkYWIzODMzYmJjZjkwYjJkYzBmOGMzIGxlZ2FjeS10cnVuaworMzA1MDggYmZhMzI2MTNkZWM4ZWNhMGU4MTc2MjZmOTg0ZGZkZmY1YzU4YmQ1OCBsZWdhY3ktdHJ1bmsKKzMwNTA5IDcyN2JjYjgxMWM1MGY5NWZkOTQ1YjJmMGVmNDM4OTI4OTU2YTJhNTEgbGVnYWN5LXRydW5rCiszMDUxMCBlMmM4OGM0NTFjMTlhNTQ0NGM5NWJjNzA5ZjMyYmY1MGI1OTMzNDE4IGxlZ2FjeS10cnVuaworMzA1MTEgZjQ0MWM0ZTViMjM0NjU2NTQ1Yzg4ZmU1NDYzMTliN2Q5YmI0YTczNiBsZWdhY3ktdHJ1bmsKKzMwNTEyIDEwOThjY2M4NGQ2M2Y4OTJmNjJmYWNlODIzOTUxZDViN2JmYWI0NzYgbGVnYWN5LXRydW5rCiszMDUxMyA4MDZkMzZlNTZiZmEzZTA4MDExZjQ5YmIwYjNiZTc3MGYzZDRiODBmIHIyM2ExLWJyYW5jaAorMzA1MTQgYWQxMmVhOWM3ZWZkZjQ2YjYzODliZjNjZjY1ZTU1ZGU5ZmRlNWMxNyByMjNhMS1icmFuY2gKKzMwNTE1IDQ0MTQ3MDdkOTM3NjE2YzZhZDRiNjBjMjYwYTMzMWE5YWY4NDk1OTIgbGVnYWN5LXRydW5rCiszMDUxNiBlMzI3MWU4YjE0ZGVlMGZiZTA3ZDFhODUyYzAwZjgyMTNmN2Y3ZmZlIGxlZ2FjeS10cnVuaworMzA1MTcgYzQyOWZlNWRlNDE3MzU2MmQ1MzAzMWMwZjM4NTE2YTRjZGNhNjhjNiBsZWdhY3ktdHJ1bmsKKzMwNTE4IDMzOGFjODZmNDQyZDk5YWMxYWJhNzU0NGM0ZjFmZjhlNGNmOWMxNGEgbGVnYWN5LXRydW5rCiszMDUxOSBkMjc5ZDc2M2Y0NjI1NGVjNWRjMWZhNmQyNWUyMjY3ZWE3MjcyMWE5IGxlZ2FjeS10cnVuaworMzA1MjAgZDU5YjdjYmNlYWMxYzZjOTY1N2QxYjM5MWM0NjlhYWUyMmI2YmIxYyBsZWdhY3ktdHJ1bmsKKzMwNTIxIGIxZTIzYzM1NzA3YmU0YzAxMDJiNzU5OGI1NDk1N2RjOWJiYjc1MjMgbGVnYWN5LXRydW5rCiszMDUyMiBiNjFhNjYwMjJkNWE0MDFmNGY2MzI1MTA3MTMwMzUzOWYxNGYzNTU4IGxlZ2FjeS10cnVuaworMzA1MjMgOGVjZGRmNGFkOGIwMjgxZDY5NDY2ZGI4NTZjZmUyNjZjYjJhODQ5YSBsZWdhY3ktdHJ1bmsKKzMwNTI0IGRjMzNkMDI3NjQ1YTRmM2Q5MGRhNmQzM2ZmYTJiOTJiYjliNTcyOTggbGVnYWN5LXRydW5rCiszMDUyNSA5M2I2YTNmNjEzMmRjODI4NzMyMzMxNzAyZWM2MGRkMzk4ODFkODc3IGxlZ2FjeS10cnVuaworMzA1MjYgNDFmNzcyNmUzZTUxMTdhOTE0NDRkZDQzODA5MTkxOTNkMTU1ODAzMiBsZWdhY3ktdHJ1bmsKKzMwNTI3IGE5ODY3M2JlMjBjMjgwMmVmYTQ1Yzc0ZjVkMTc0MjI2MjcwOGE1MjggcjIzYTEtYnJhbmNoCiszMDUyOCA0MmYzM2JkNjljNzI0Y2Y0ZjVmYTRmMTg1MDI1YjVkMjlhMjU1MWVkIHIyM2ExLWJyYW5jaAorMzA1MjkgZjBiZGY0YzU5MGVjNDBmOTgxZmVhNGEyMzkyMDVhMzdjMDMyNDNhNiByMjNhMS1icmFuY2gKKzMwNTMwIGJlNTExMjAzMTE2ZjA2ZjMwOGM2NzU2ZmM4Mjk3YzQxZDhhOWQzYmIgcjIzYTEtYnJhbmNoCiszMDUzMSAxM2M5MDM4ZmE5Mzc2OTkzOGM2MWQ3ZWQ2MmM2MGIxMmYwNTQ1OTcwIHIyM2ExLWJyYW5jaAorMzA1MzIgZGQ2ZjFkZjUyNGRkYzc0MDI0OTFjNGFiZjg0YjEzODRkNTU2MWFjMiByMjNhMS1icmFuY2gKKzMwNTMzIDY4ZGFmZTFiYzAxNjlhODY2NzlhY2YzMDJmNTA0NzVkMThjNjcyZDQgcjIzYTEtYnJhbmNoCiszMDUzNCAwMjU5ODU2YzFlNDc2MTA4MjdjNTBkNWU5NWU1MGRiMzljYTI3YWY5IHIyM2ExLWJyYW5jaAorMzA1MzUgOTlkZjBlNTJmNjM0MzMyNjVlNTY3ZjI4MDViYmM0OTFlNGQ1NmQwYyBsZWdhY3ktdHJ1bmsKKzMwNTM2IDFhZTc4MjQ5MzEzMmI5YTQwZTkwOGFmYmE0NTJjMmIyMTY5MjczYWQgbGVnYWN5LXRydW5rCiszMDUzNyBiMzBmZTRkY2M2OTc5ODYzYmU2NzZlYzA5YzYyZmM0ZGRkZTdhYmRhIHJlbGVhc2UyMi1tYWludAorMzA1MzggNmUxYTc0MzVkZjI1ZDM1MzE3M2QzNjBkZjIyYzZkYTQxMGNiYzljNSBsZWdhY3ktdHJ1bmsKKzMwNTM5IGU2NWZmY2I0MzY5NTE4ZDcyYTE1ZGM4MWY0Y2MxMGQxMDgxOTdiMmUgcjIzYTEtYnJhbmNoCiszMDU0MCBhZTlkOGY1MGU3NmEzNjAzYzJmNTViZTI2ZjE3YTU2NTc4MzU3NWE2IHIyM2ExLWJyYW5jaAorMzA1NDEgZjlhNTU1N2M5NDQ3YWNhMTZkZDYzODI1MjNiNWJiZWYxNzMxMTlkYSByMjNhMS1icmFuY2gKKzMwNTQyIDA0MWM1MmY0OWRmMjI3OGRmM2I5MmU3ZjJmNDA3NTc0OTVkZjM0NTIgbGVnYWN5LXRydW5rCiszMDU0MyAxODg0MTZmYjdhYzUyZDJlYWE1MThiOTQ2OWUwNmM0MmJmZmY1ODE1IGxlZ2FjeS10cnVuaworMzA1NDQgZWJmNzI2NWFhZTRlYTkyZmNjZWYzMDVlMGU2OGQyZDEzYzdiZDMwOSBsZWdhY3ktdHJ1bmsKKzMwNTQ1IDIzMjgwYTY0Mjg4ZTNlYTE3YTQ0MGI3ODhkNWQwYWYwMjI1YTA0ZWMgbGVnYWN5LXRydW5rCiszMDU0NiA1ZDk5NzI2M2I4NTliOTJmMjc1ZjdlZWMxMWZmMzgzNzhiYTQzNGQzIGxlZ2FjeS10cnVuaworMzA1NDcgMjM3YTE0NjIwNzg1OWI1ZDY3NWY3NzNhOGZmODMzM2ZmY2M1MTU5MCBsZWdhY3ktdHJ1bmsKKzMwNTQ4IDczN2E1NDc2Mzk2YjY0MTY4NDFmMjAyYTMwMTFkN2JkYThjOWY4YjQgbGVnYWN5LXRydW5rCiszMDU0OSAyNjdmNDViZTljMDJjZDQwYmVlZDM3MDQ0OGZmN2MwZWNmY2U2NjNlIHIyM2ExLWJyYW5jaAorMzA1NTAgNTU0MTIxZmNiYjlkY2JmZDYwMzRiNjlkMmE4MDBkY2EwNzhhZjhkNyBsZWdhY3ktdHJ1bmsKKzMwNTUxIDFjZDljODU2NDg3NWI4NWI1MjA3YTRkMDU5NThjMzhjNGQ2MDkyYjcgbGVnYWN5LXRydW5rCiszMDU1MiA3MGQyY2IzNmZhMTdhMzFmZTdhNWQ2ZGNkYTY1MjdlZDIwYWQyOGY2IGxlZ2FjeS10cnVuaworMzA1NTMgNzgyMjc3MDljYTA0NGY3OWU0ZmUxYmQ2NTk2MDQ3ZmEzNDY5ODk4YSBsZWdhY3ktdHJ1bmsKKzMwNTU0IGFmMzU3OTUxMWY4NDY4ZmQyMTAyZDYyYzkzZGRjNDU1NWQ3YzlmZWQgbGVnYWN5LXRydW5rCiszMDU1NSA5ZDA4MjkxY2Q0MTE2NjIxOWViZDFiNTJmZDBkNTg5MGNjM2I4MDk0IGxlZ2FjeS10cnVuaworMzA1NTYgNzE0Y2RmMDgwNmMxNmY3YTQyNjM2MDRiMGNhOTUzNzhkMTYxZTYzZCBsZWdhY3ktdHJ1bmsKKzMwNTU3IGUzODJkMzkzMzMxZDVjMTIxZWM3ZmFmZWQ4OTliM2Y0ODNhZTc1ZjYgbGVnYWN5LXRydW5rCiszMDU1OCA5NGI5Y2Y0Mjc0ZGUxZTA1ZjlmMTYwYTJiZGFmOTNiMzE2MzcwMjljIGxlZ2FjeS10cnVuaworMzA1NTkgZWUzNGI2NDk1MmMwZjhhNjcyYjA3ZWJhOTc1NjgwZTIzOGFlMzZhYiBsZWdhY3ktdHJ1bmsKKzMwNTYwIGNkM2M0ZGYxOWIwMzViNmFlYWEwZDE0ZmEyMmU0MjQ2YTIwMjQ1MGMgbGVnYWN5LXRydW5rCiszMDU2MSBhZmViNzBjODc2YWEzNTE0MjE3YjkxNGQxZjhiNGFkZWI1NTljNjZjIGxlZ2FjeS10cnVuaworMzA1NjIgY2Y5MDMwOWVmZWVlNjIyZGY2NDFhOTY5MDUwMGIwODM5YWQ3NTNiZiBsZWdhY3ktdHJ1bmsKKzMwNTYzIDY5NzdlMzIwYTc1NmM0Njg1ZWJjYmIyMTlkYWUzZjhkZDM3OTAxMzUgbGVnYWN5LXRydW5rCiszMDU2NCBkM2JhN2Y0YTlmODhhZmU1ZDgyNjBkOTAwZTMwNWU2Yzk4NTk4NDQ4IGxlZ2FjeS10cnVuaworMzA1NjUgYWFlOTQ5NTA2ZDJhN2QzMjgzOTMxNmM1OGU2MzhhMjViMmRlMWI2YSBsZWdhY3ktdHJ1bmsKKzMwNTY2IDE1N2E5NWY0MTdmM2Q3YmNjZDAzZjMwZmExZjNhMDRhMmE3M2IyN2YgbGVnYWN5LXRydW5rCiszMDU2NyA3OTAxZmQ5NTAxN2YwOTQ3ODNmMjIxY2VhNzNjMGY2YjFjNjhlNGY3IGxlZ2FjeS10cnVuaworMzA1NjggY2JkZjYwY2NmNTRmNWRmYzdiZWQwMGNhZGM3MDI0NGMxNWRiZGQzOSBsZWdhY3ktdHJ1bmsKKzMwNTY5IGViMzIyZWY2N2M5ZmVjNTAxOTQyZjNhMjBhNTAxNjBkZTU5YjEwNGIgbGVnYWN5LXRydW5rCiszMDU3MCBjYzViMmQwYTRhZDFkODZmZTI2OTc4ZGM5ZjRlOGE3ZmI2ZjdlNjM2IGxlZ2FjeS10cnVuaworMzA1NzEgMDZiM2ZhMjVkOWYxZGUzZmE3NTNlMTcyZjY3OWZiOGNiZjk3MzlkOSByMjNhMS1icmFuY2gKKzMwNTcyIDE3MTJlMjA0YWE5MmYxMjA3ZjJlMTZkN2Y4YmFiMWRlYTE2MzUxZDUgcjIzYTEtYnJhbmNoCiszMDU3MyBlZjUzMTQ4MmJiMzdiMGZiMzhiZjAxNjJhODYyN2NkZTIxZmYzZDMxIGxlZ2FjeS10cnVuaworMzA1NzQgZTkyMDQ0YzBiOGVjZWU4MTc1YWE0NjZlZTUzYTMzY2JhNDUzNWUyNyBsZWdhY3ktdHJ1bmsKKzMwNTc1IGMzMGY5NzI4NzYwMjk0ZjJmODhlZmUzNWQ5ZWIzM2ViMmMyZDIwZTAgbGVnYWN5LXRydW5rCiszMDU3NiAxNTY0YzY4MzllNmIwZWI4MDU5YWU0YzgxY2QwMjE1OWRjMDlkYjI1IGxlZ2FjeS10cnVuaworMzA1NzcgMGJhNDY2MDZmMGY5MTE4ZGVjYmE0MGQzZmYwODI4MGUyNThlNzdhYSBsZWdhY3ktdHJ1bmsKKzMwNTc4IGI4NjU5MjVlZjY4YWI2M2Y3NDhlZWZkNjhjZDQwOWQyMjZiOThjY2MgbGVnYWN5LXRydW5rCiszMDU3OSBjMjlhZGE2YzFjOTA0YTI3NDVkYTVhMDUxODZhOGEyOGIwMGEzMmUxIGxlZ2FjeS10cnVuaworMzA1ODAgNzUzMzA2ZjliMGEwZTMzOGM5YjEzNjIyYjRkZWY1NDU4NjAxZTIwNyBsZWdhY3ktdHJ1bmsKKzMwNTgxIGMxZjRlNTNjNDJkZDBjZTA1YTQ4MzFkYTFkYTU0MDA0MzJiNjQ1NzYgbGVnYWN5LXRydW5rCiszMDU4MiA5NzJmZWMyMWYyMjNiNzEzOGJjOWJkMDc1NWJhYzFjNzA5N2E3YzU5IGxlZ2FjeS10cnVuaworMzA1ODMgYTc0Yzg4ODM4YTU1YjQyMWY4YmJlOTkyNDllNzJmZTA3NDNhZmQyZiBsZWdhY3ktdHJ1bmsKKzMwNTg0IDJhZTFkMTc1NzJkYTZhOGU3NGZjZjVmNzAxMTZjYmU1NWZhNmM0NTEgbGVnYWN5LXRydW5rCiszMDU4NSAzMTk5ZTk3NGY1NWFhM2Y2ZGU1MmY2OTI0ZTIwOGRhYmE5MTYxNTcwIGxlZ2FjeS10cnVuaworMzA1ODYgNjRlOGM2OTg2NjEwYzJiMzc4NjQ4MDY0YmRmZmQxNGRkYzcxZjJhMyBsZWdhY3ktdHJ1bmsKKzMwNTg3IGQ1ZTA5ZDQxMmI1Mzg4MDY3ZWI5M2RjOGZlMTg3ZDBhMmY1YWVmMmEgbGVnYWN5LXRydW5rCiszMDU4OCBmNzIyNjQyMmMxZDBhNGI3MTQxNmJhMzA1MjUyYjM4MGYxMzhhZTRiIGxlZ2FjeS10cnVuaworMzA1ODkgOTAzNTBiNWQzMzk3YzRmZDY4Y2EzZWM0NmNkY2Q5OThjOWFjMWVlNiBsZWdhY3ktdHJ1bmsKKzMwNTkwIDM4MzE5NDA5ZTg5NTY3ZTI0MjhhMTZkMDVjOWUwMWJkYzc5OTEwNTYgcmVsZWFzZTIyLW1haW50CiszMDU5MSA5M2YzMjJmNTYyZjM5OThjZmYyNjUxMjYwMDJjMmQxYjc4M2QyNjgyIGxlZ2FjeS10cnVuaworMzA1OTIgYWJiNWE2OWQ2MGNiZmY5OTQ2MzliZjM0MDg2ZjhiMjE1NTNhMjNjMCBsZWdhY3ktdHJ1bmsKKzMwNTkzIGExMjM3OTNjYTE5M2JlN2Q0OTA1ZDUzYzBiNGZiY2RmMTAzZmUyNmEgbGVnYWN5LXRydW5rCiszMDU5NCAzYTI5NWNlYmE0MDFmNTdhZDZkYTY2NjZlZDdiMDU1YzNlMzc5YzA5IGxlZ2FjeS10cnVuaworMzA1OTUgMzg4ZTU0NzQ3NzQwMGY0NTJmM2IwMWNlNGZmN2U5YmQ3NjhlNDA4NSBsZWdhY3ktdHJ1bmsKKzMwNTk2IDU0ZWY3ZDUyOTZmMTA0MGFhMzhkODFhZWIzNTYxOTBkM2Q1M2QxNTQgcjIzYTEtYnJhbmNoCiszMDU5NyAxYWM5OTk0ZGM2YzI1ODEzMDJhYzk4YTUzNTYzNGVkMDkzNDIxZjYxIHIyM2ExLWJyYW5jaAorMzA1OTggMWEwZWFiYmRhNjU0YWE1NTFlZGM2ZTY3YzQ2YmI2MTNmMGIyZmM3MyByMjNhMS1icmFuY2gKKzMwNTk5IDk3YjVhYjY3YjlmMjkwOWQ4NGQyNDI5NTA2MGMzZGNiNmQ2MTI3YTggcjIzYTEtYnJhbmNoCiszMDYwMCA1MmNlNzEzNThlMzJhMTE2OWRjZjAzY2E3NGMxZjRkZmFiMzFiODZlIHIyM2ExLWJyYW5jaAorMzA2MDEgN2RhYjI3NzMxYmU4MThkMDRiMjI4ZmU1MjdjNTE2MWZlNTVmZjcxZSBsZWdhY3ktdHJ1bmsKKzMwNjAyIGJkNzUwMzc4ZDVjMWZmYzJkMzMwN2M1MDE2MDIxOTdjYzFjNTEyYWMgbGVnYWN5LXRydW5rCiszMDYwMyBlODQxYzg3M2E5MzcwM2NmNDZhMzU0NDNjMzQ0YWE1M2M5YWM4YjEzIGxlZ2FjeS10cnVuaworMzA2MDQgMjdlOWMzY2Q1OGFmZDMzMmYzOTNhNGZjYTViYTI0MmIwZGFhOTQxMiBsZWdhY3ktdHJ1bmsKKzMwNjA1IDZjNGJkNDg3ZmQyNjBiZDkzZGEwYWE5NDI2ZTZmZmUyMmEzNWMwMDkgbGVnYWN5LXRydW5rCiszMDYwNiBhMTY2NGI3ZGE3NmY3OWMyMmE3OGQyMTBkYjI1Y2VjZmY5MTQ1YTdjIGxlZ2FjeS10cnVuaworMzA2MDcgM2UyM2RlODAyYTVkYWNmZjI2YzZhNjkzMDMxYTU0M2Q4NmQzYjJhOSByMjNhMS1icmFuY2gKKzMwNjA4IGI0MjI1NWM4MjJiMWU1NzFkNWM0ZTAzZDk2YTA2Zjg1YmQ1NWUwYTQgcjIzYTEtYnJhbmNoCiszMDYwOSA4ZDdkZGJiMzMwZDMxY2JjZmE1NTkwZDE1MGU1ZTViOGFhNDQ4NzNhIHIyM2ExLWJyYW5jaAorMzA2MTAgNWFiNGI2NDhhNGNmNDdkZmMzMmExOTBiNjg1YjRkNGZlYjhmMzNjZCByMjNhMS1icmFuY2gKKzMwNjExIDk2YThlZmQ5MTk0OGMxZWFjMzU4ZDczZjY3ZjAyODIzZTkwYzlhY2UgcjIzYTEtYnJhbmNoCiszMDYxMiAzM2I0NjEwYTg5MjI1M2MzYjZlYTRjNmYwMzU3YmJkOWMxYzkwMjBmIHIyM2ExLWJyYW5jaAorMzA2MTMgZjlhNWVkMDkyNjYwMDYxMDA4Y2RkZDNlOTFmNGFhMDFkMzU2NTJjOSBsZWdhY3ktdHJ1bmsKKzMwNjE0IGExNmJjNjRmMTE0NWI0NDhmNWUyMjlhMDc2Y2IzMmYwNTNkZmMzMTAgbGVnYWN5LXRydW5rCiszMDYxNSA4MjI2NjU4YTYzYmIyZTNjNTA2MWQ4MzMzMjFmMmEwZjFiOWQ4NzE5IGxlZ2FjeS10cnVuaworMzA2MTYgNmQ3ZGFhNTMyOWM2YWNhZWM5NTYzYmQ2ZGI5NWIxYmYxM2VkY2UxNyBsZWdhY3ktdHJ1bmsKKzMwNjE3IDY5MzMxZmFjNGVmMjViMGQxMDgwMTcwMDY4MzAxMTczY2RkZTk5YWEgbGVnYWN5LXRydW5rCiszMDYxOCA0MzA2YzY2NWY4NTdjY2U4OTYwNjIzMDg0MDc1ZGIxMWMxNzc4OTFhIGxlZ2FjeS10cnVuaworMzA2MTkgMjQ0M2M1NTdjYmMzZDNjOTAwNDA4ZThkMzBiNTNlNTVkNGFjNjJhMiBsZWdhY3ktdHJ1bmsKKzMwNjIwIDgyZWFjMzFlNmUyZGM5OTc2ZDM1ZDU2OTI0Zjk5NmIxOGQ2Yjk3MmEgbGVnYWN5LXRydW5rCiszMDYyMSBhZWU0M2E0ZjM1NzBkNzIzODQxMGE2MGExODQ0MTI3NGU5ZWZkOWFlIGxlZ2FjeS10cnVuaworMzA2MjIgYTBhNmY0ZGQ3MzI4Njg1Njg1Y2ZmNzlmYjNkMGEzOTQ3YmQ0ZGUxZiBsZWdhY3ktdHJ1bmsKKzMwNjIzIGZhYmE2ZTZjODI0ZGY5ZTQ4YmJmNGYyOGFhYzEwMWRjMGMxNWJhN2YgbGVnYWN5LXRydW5rCiszMDYyNCAwNDY0YWNiNWIzZTQ2YjFlNTdiM2I4ZmI1Zjc2ZTJmYjY2MzQ2Nzg3IGxlZ2FjeS10cnVuaworMzA2MjUgNTVkZTJiOTUxODFlOTM5ZjJiZDI3ZWY0MDNkNTdkYmQzNTAzZTE2MiBsZWdhY3ktdHJ1bmsKKzMwNjI2IDAzNjRhYWU1YTVhNDBiYWY4MDdjOTNjZWY1YzQ3NDA3ZjgzY2ViNTYgbGVnYWN5LXRydW5rCiszMDYyNyBlNzE5YWI0NmFkYWJmY2IxYTg3ZDU3N2MxOGIxNjM5ZGI3NmU1M2ZiIGxlZ2FjeS10cnVuaworMzA2MjggZDJmYTFkZGNkZjZkYTZlZGYyYTE0MzY4MWUxZTI5ODc5ZTQ3MGQzNyBsZWdhY3ktdHJ1bmsKKzMwNjI5IGIyZmM0OTQ5NjNiMmVjOTQyNTUyNmU2ZjA3NzY2YWI0YzA3YmY4NTIgbGVnYWN5LXRydW5rCiszMDYzMCA5ZGI0ODgyNjEwZTViODNiYjA2ZGRhOGY0ODIyYjQ1ZDllM2UxOWE3IHJlbGVhc2UyMi1tYWludAorMzA2MzEgYTJmMTdmNGE2YTIyY2ZiOWIzYzRhNThiNGQ1NGMwY2EyOGViMGMyNCBsZWdhY3ktdHJ1bmsKKzMwNjMyIDM3YmViNGQ2MDkyOTgzYmM4M2I4YmI2NTVkYTk1MTQ4ZjdhNjQ3Y2UgbGVnYWN5LXRydW5rCiszMDYzMyBlYjkzNTNiNDNjZDEyYzE3OTJlMzkxOWM5Yjg2MGMyZWQxNWVmMGI1IGxlZ2FjeS10cnVuaworMzA2MzQgYjNjOGQ5YzQ3MmRjOTI2YmJjZTM2MGI0OTA0NGQ5M2FhZDRkYjdjOCBsZWdhY3ktdHJ1bmsKKzMwNjM1IDg2ZTdhMWY3ZjI2NTI3NzA2NjU1ZDhiZDFmYzNkMDBiNjBhYjViYTQgbGVnYWN5LXRydW5rCiszMDYzNiA3ZWM3NzE4OTM0MTAyYTk5YmI2NjMzZTVmNmZkMDUxODkzOThlMmJkIGxlZ2FjeS10cnVuaworMzA2MzcgYzBkNWZlOWEwZjFjM2U0MjM3NjMzNzEwNzBkNmI3ODU2ZGMzZWM1MiBsZWdhY3ktdHJ1bmsKKzMwNjM4IDFiODgxZDVlNGE5MDNlNWM0NjdiZWM1MzA3MWQyODRhZWYyZTQ2MzMgbGVnYWN5LXRydW5rCiszMDYzOSBkMTg1MGEzNmFlNDFmZDlkZjkzYmZhYWI5MDQ3MzhkNzFkZDg5MTQ4IGxlZ2FjeS10cnVuaworMzA2NDAgZTU0ODU1MjU3YTRmOTMwZjMxZDQyMmRhYTlkZDYwYmU1NzU0MGZmNiBsZWdhY3ktdHJ1bmsKKzMwNjQxIGFjYzgwZWFjZTRkYzEzNGUxZTMzMTc5NDI5NWZkNzZmNmE4ZDdhNGEgbGVnYWN5LXRydW5rCiszMDY0MiA0NmE2ZWQ3Y2M0ZmU5NWViODE0MTJhZGMyNjI1NjljMjA3NDZjMTlkIGxlZ2FjeS10cnVuaworMzA2NDMgNDVmMWU2YjEyYTgxM2I0M2IzOTUzMzA0ZTVmM2VmODE0MWMzM2Q3ZSBmb2xkaW5nLXJlaW1wbC1icmFuY2gKKzMwNjQ0IDA0N2I2ZTE2YWIyZTRkOWY4ZjFkMWE5ZmJhYWM0MTcxMzFlODI4OGQgbGVnYWN5LXRydW5rCiszMDY0NSA2ZGZkYjFjMDMwOGFkMWZlODY0YWVjZjY4Njc4MzJmMTVmNDdhZjI4IGxlZ2FjeS10cnVuaworMzA2NDYgODYxN2MyNTA2YjhlNDU0OWIyZGVjM2JmMDAyMGE3NDNiMzNjNGFiYSBsZWdhY3ktdHJ1bmsKKzMwNjQ3IGU4N2Q1OTBhNWRlMTg3NDdjNzVmYjEwY2U2YzFkMDRmNGQ5M2M4YmYgbGVnYWN5LXRydW5rCiszMDY0OCAyMmQ2NjA0OTRmMjljNGQ3OTFjNDY0OThlNTU3MDdlYWI4MTRmNjZlIGxlZ2FjeS10cnVuaworMzA2NDkgNDliY2ZlY2IyOTYyNzI1NmFlMjg4M2RmMGNjMjI2NTE3MWQyZTc2ZiBsZWdhY3ktdHJ1bmsKKzMwNjUwIDY1N2FlYWZiYmM5YTBjODRmZDY5ODk4MzMxZTZkOWRlZTYzZTc0YTUgbGVnYWN5LXRydW5rCiszMDY1MSBjMjY2M2NhMzFkN2QwZTM4ZGFiMzhlZDc3OGM0YTAwMzI1MzQxNDE1IGxlZ2FjeS10cnVuaworMzA2NTIgM2QyOTYyYjAyNDllNTQ1MWFlMWJmNTgxMzJlNjdhNjAzNzc4M2Y4ZCBsZWdhY3ktdHJ1bmsKKzMwNjUzIDMzMzBhNTA5ZDJiZDgzNWNmZWRjNDAxODAwY2FlODQxNGI3Y2VmODggcmVsZWFzZTIyLW1haW50CiszMDY1NCBhZjhhMzBkZTY2NzI1YTAxYWFhMDMzMDMwOTg2MWYxNTdhMWNjOGM2IGxlZ2FjeS10cnVuaworMzA2NTUgN2JiYjBkZDhkMjMwNjg5N2E0OWE0ZjU1YWM2ZjU0OTVmYjVmZTMwZiBsZWdhY3ktdHJ1bmsKKzMwNjU2IDhlMjFiY2YyMTU4YWM5MTA0N2MxNjM2OWE1NjI3MTE4MWYzZTA2NjggcmVsZWFzZTIyLW1haW50CiszMDY1NyA1ZDRmMzE2ZDg3MWMwZTZjMTViZjgxMmNkZTAxYTBhMjYxNGRiYTM2IHJlbGVhc2UyMi1tYWludAorMzA2NTggODFjZGFiYmQ2M2Q3Y2Q5OTg0NDI4OTI2ZDZkMzQxYTg0NWQ3ZTIyOCBsZWdhY3ktdHJ1bmsKKzMwNjU5IGFjZjFiNTEyMTJjNTlhOWI3ZGRlOWNlZTlkMTJjMDBmNmIxOWI5NWIgbGVnYWN5LXRydW5rCiszMDY2MCBlMjA0ZGZmM2ZjYmY5ZTA0ZDEwY2IzMDcwOTUzZjhlNTFhMWMzMmJjIGxlZ2FjeS10cnVuaworMzA2NjEgOTJlOTIyZTczMjdhZTMyNzM5MzYxZDlkN2Q0Y2I4YWI5ZGQxMGUzNyByZWxlYXNlMjItbWFpbnQKKzMwNjYyIDU3NmUyYjVkOGNmODgyNWE4NTY3ZjI3NmIzNDI3ODkyNTE4ZGE0MWEgbGVnYWN5LXRydW5rCiszMDY2MyAxMzc1YmZjYjY3N2U2MjBlZTEzNWQ1NTdlYzI4NWIwMWQ1YzFiZWIyIHJlbGVhc2UyMi1tYWludAorMzA2NjQgNDc3OTljMjc2NDYxMTdlOTZiMTUxMmIwZjhlZDcwM2VlZjIyYmM1MiByMjNhMS1icmFuY2gKKzMwNjY1IDU2YjhmOTA4ODEzY2IwY2JjNGRiMjhiMzZjZTE5OTBjMzI2M2E2NzcgcjIzYTEtYnJhbmNoCiszMDY2NiA1Y2Y0MTBlNDcyNTE2NjMwNWFiMjU0OWRlNGI1NDFkNWYxYmMzNWMzIHIyM2ExLWJyYW5jaAorMzA2NjcgZTI2NWVmY2JjYmQxNjUyMDcxOWRhMzQzYWQ0NTdlNDQ5M2UwYTdkOCByMjNhMS1icmFuY2gKKzMwNjY4IDIyMjdhZDg2ZDMzYzUyMzgyMzMxMzIyNzE4YzM0MDUzNDhkMWYzNWUgbGVnYWN5LXRydW5rCiszMDY2OSA1ZWQ4MjA2NzBhZjM1YzlkZTc0OTFmODA0YjJhYmY4ZWZlZDExNDIwIGxlZ2FjeS10cnVuaworMzA2NzAgYjk0MzU2MGU1ZjdiNTI1NjcwODRlNWEwNDRjYTllY2M1N2Y2YmFiMiBsZWdhY3ktdHJ1bmsKKzMwNjcxIDI5Zjg5YzcyNTdiZDBjOTgwNmU3Yjc1NjI0NjIzNTVlYjU2NmRiZjYgbGVnYWN5LXRydW5rCiszMDY3MiBlMTgwMDhiNzExYjAyMmZjYjVmMzc3NGExYWYwNzY2Mjg3YzJmOWFhIGxlZ2FjeS10cnVuaworMzA2NzMgYWU4MzhmNzc0ZjZjMWUxZDFmN2ZkODliYWFmNWJkMjgwMTYzYzVmMiBsZWdhY3ktdHJ1bmsKKzMwNjc0IDgwZmNlYWIwNjgzNWU2MTkyOGJlOWJhNGQ3YjU5MDQwMzdjMTc0YjggbGVnYWN5LXRydW5rCiszMDY3NSAzZjRlODBlYmRjYTgzNTRiMGIxZjU4MzA0MjVlNDI5Y2RiNWFjY2ExIGxlZ2FjeS10cnVuaworMzA2NzYgNTg1YTY0NjBmNTc3NmZlYjhmZWJmZmNhYjQ3Yzg0YjcxZGNkNThlZiBsZWdhY3ktdHJ1bmsKKzMwNjc3IGIxZjVmZGJlNjM5NzJmNzkzYmU2NzIyYzQ0OGY5ZjVjNGM3MjZhZjIgbGVnYWN5LXRydW5rCiszMDY3OCBlYjZiMzZiMjZlOGQyYjZhMmZlMDNmMzIyYWI2ZDFhYmVjZGIxMzMxIGxlZ2FjeS10cnVuaworMzA2NzkgMjMyNjAxOTg4ODVhY2YzYjFmOGQ2NWFkZjY1NjU3MGM2ZGFlOTQxOSBsZWdhY3ktdHJ1bmsKKzMwNjgwIGM1ZDAyZDUzNzBkOTM3YmYwMDZjNDZhN2NkZThlZTk0MzA0MjRjYzEgbGVnYWN5LXRydW5rCiszMDY4MSBiNDlhNDBkYjdiNDcyYTI0NWY0MGQwZTgzNTc1YzcxY2I0NzU2ZDk5IGxlZ2FjeS10cnVuaworMzA2ODIgOTEwZTc2ZGQwNGRhZjY1ZWFjMTY2ZTk2ZGMzOGE3ZTgyN2RkZGY5NyBsZWdhY3ktdHJ1bmsKKzMwNjgzIDczNGViZDQ3YmMyYTlkNDMwMzYxM2YyYWVlZmU5MDc3ODhkNjlhZjAgbGVnYWN5LXRydW5rCiszMDY4NCAyZjkzYzIzMWVhZTBlYThjY2NjOTE4MjBiMmYyZDhlMTk3MzIzODFjIGxlZ2FjeS10cnVuaworMzA2ODUgZWY0M2RlNTYyZmQxYjI1MWJiMTU3YzJiYjY0YzZlMzJjOGY2ODg2MCBsZWdhY3ktdHJ1bmsKKzMwNjg2IDBjYWRjMjkxODBlNjE1Y2YwZDE3ZWUwNjNjNjcxNTc4MDBmOWRkYmYgbGVnYWN5LXRydW5rCiszMDY4NyA3ZjA5YjE5OTJjZTlmYzM1ZWFiZTkyYTFiMzhhZjA4NTMzNmE4YzkxIGxlZ2FjeS10cnVuaworMzA2ODggY2NmNTlmMWFiNDMxMjg2NGYzMGIyOWFlZDBiODJlYTA2NmE2YWU5ZiBsZWdhY3ktdHJ1bmsKKzMwNjg5IDBiZDA3MzkxZDkyMWJjYzE1MDY0MTZkYTM0MmI4ZjIyMzFjMDgzZmMgbGVnYWN5LXRydW5rCiszMDY5MCBhZGY0YWIzZWFhNjIxYzQ0MWZhNzdiMmIyZDU3ZmEzYzdhNTczMjFlIGxlZ2FjeS10cnVuaworMzA2OTEgNGI4OWQ3NmZiMjA1YWMwZGQzMzQyNjZiNzQxNDQyMDUyMGNjZmI4MyBsZWdhY3ktdHJ1bmsKKzMwNjkyIGQ1ZDEyZWEzYTU4MDlmZWEyM2M4ZGQ3NWNlZTFkNGI3NTkyMTcxZmEgbGVnYWN5LXRydW5rCiszMDY5MyBiOWY1YmVlOGVjMThlOGZmMDRjOTgyMGQzOWU3NGMwNDI2N2M0YjhiIHJlbGVhc2UyMi1tYWludAorMzA2OTQgMGE5Nzk2YTY0NjhlZjEzZjIzMTU2NmMzMWJiOGFjMjQ4YjY4MDVkOSBsZWdhY3ktdHJ1bmsKKzMwNjk1IDQ3YjEzNGJiNTFjMzAyZDhlYTJlZDAxNDZkNjRjNzI3MzI4NDczNDEgbGVnYWN5LXRydW5rCiszMDY5NiAzMThhYmE5NGMxZTdiMWVjZWQ5NGNmZDM4NDQ2YzNkNTBiZmEyZTY0IGxlZ2FjeS10cnVuaworMzA2OTcgOTI1YTdiMWY5M2VlMDBmOGUwNGUyMWZmOGNhZDI2MmRmYjQxMjJjMiBsZWdhY3ktdHJ1bmsKKzMwNjk4IDA3YzZjMmU5OGExY2RlMWNiNTFlZmYxNmJiNWZjMzlmYTA3NDM1YWUgbGVnYWN5LXRydW5rCiszMDY5OSA2ZmU0OWRiZjAzZmQ0NmZiZjYzNjZlOGVkNWRlYmQ1MGJlODI0MDcxIHJlbGVhc2UyMS1tYWludAorMzA3MDAgYTBlMGNhYjVjOTI3ZmMxYWY5MmVmMGMxYjUxNmJmY2E2OWJjZmU0YiByZWxlYXNlMjEtbWFpbnQKKzMwNzAxIGNkZjFiYTJhYjcxNTI5NDIyNmI4ZTE1YjZhYzgyNWJlMDg2MzdkNTEgcmVsZWFzZTIxLW1haW50CiszMDcwMiA3NzA2YTA2ZjVlNjkyNjk0ZjViYWU3YmZhZjIzNDFlYjA5NjU3MDhkIGxlZ2FjeS10cnVuaworMzA3MDMgMDFkOWZkNTk1Mzc1ZmU1NWRiZDA0ZjhkYjViNDlhYmYxMmYzNjdkNCBsZWdhY3ktdHJ1bmsKKzMwNzA0IDcyODM4M2RjNzM5ZWYwMGYyNTNlZjgyYjkxZTE4M2UwMmI1ZjcyYWQgbGVnYWN5LXRydW5rCiszMDcwNSBjNzk4NjEzYTg3NjU1YmEyNjM1NzgyNzUzZjAzNDY3NzIyZTNjNWIxIGxlZ2FjeS10cnVuaworMzA3MDYgMDRhYTg2ZDQ5ZDkzZTU1NjQ5MGJjZDg5MmQ3OTU5YWE4NzBhYjg3ZSBsZWdhY3ktdHJ1bmsKKzMwNzA3IGZjNGJiMzgyMDQ0OWUzZjBmYWRlOWJiZGU1NjU0NGRkMWMwNDliNzAgbGVnYWN5LXRydW5rCiszMDcwOCBiY2FlMmE3MGUxZWM3YzlmODQ0MDMxMzgwNTI3YTEzMGI4OGVjODY0IGxlZ2FjeS10cnVuaworMzA3MDkgN2VhNDQzMDUyMmRmNDkzYTA4NGRkN2NiYTg5ZjFlN2MzNzI1YjkwZiBsZWdhY3ktdHJ1bmsKKzMwNzEwIGQwM2MxMzAzNDU2MGEzNjJlNGQ4ZDE5MjlkOGRjZmFkYTk2ZGVjNzggbGVnYWN5LXRydW5rCiszMDcxMSBiMjljZmFkNDQwOTdiNThjMmIxNjJhYWRiMWQ4ZTc1ODRlNWJlNzQyIGxlZ2FjeS10cnVuaworMzA3MTIgYjM0NjI3MjU0NGExODJjMTZiZDNlZDAxZDRmYWFkMzViYmQwY2Y0OSBsZWdhY3ktdHJ1bmsKKzMwNzEzIDkzNDczMjc4NzQxOTRiZjhhZTQ2NGJhOWI0OTRjYzk5MGNkMWFlNmQgbGVnYWN5LXRydW5rCiszMDcxNCA1OTMwOWQ0YmY4NDFiNjkyOTYxNzc3NzBiZmVhNmRmOTE5Yjc4ZDQ0IGxlZ2FjeS10cnVuaworMzA3MTUgNjVkYzAxMTBhNzM1YzEwMTI4ZWVmMjA5YzBkMTRmNjk1OGI5ZWZhYyBsZWdhY3ktdHJ1bmsKKzMwNzE2IGQ0YzhhZjkxMTlkMTkxOGZmNjZmNzk1N2IwMjY3YmRkM2ZiYjAwYTUgbGVnYWN5LXRydW5rCiszMDcxNyBhNTFlNWFlMjk4ODJiY2IxYmY1ZTM0MmEyYzNiZGUyY2Y4YmQwNjM2IGxlZ2FjeS10cnVuaworMzA3MTggYjg3MjQzNDFiYjFhYmMzMmY5ZmY2MTVkOGYwMWQzZjg3ZWZkNWYyMyBsZWdhY3ktdHJ1bmsKKzMwNzE5IDc3YjcwYTg4ODRjYjIzYjg2ZmQwMTJlNDFhMDEyOGQyN2RhM2I1NzYgbGVnYWN5LXRydW5rCiszMDcyMCA5MjgxMmY2Y2Q2M2I1YjJjMmJiZDg1NWVjN2JmMDcwZDI1MGZkZTI5IGxlZ2FjeS10cnVuaworMzA3MjEgZGM2ZmI4YTZhZjNkZWYyNzgwZWZmNWU2OTQ4MDM4MjY1NjQzNDAwYiBsZWdhY3ktdHJ1bmsKKzMwNzIyIGFlMTIyNjc1ZGYxZTkwY2U5NjQxNDM2NTY0MmFmN2I0NDdlOTQ5MmYgbGVnYWN5LXRydW5rCiszMDcyMyA4MWRhNzNiOTNjM2M2MmYzYzIyNjc2OGQ3YTJlZTJjNjczZGMxNGIxIGxlZ2FjeS10cnVuaworMzA3MjQgMGEwMzVmOTI5OWE5NzlmNzg5YzFiZTExNmY1NzliMDU2ZTEyNjdhNiBsZWdhY3ktdHJ1bmsKKzMwNzI1IDNjOGQ5MWYzZjRjNjdkZTc4MzE3YTU3NGYzOTFhZTZkYjI2NDc4ZGMgbGVnYWN5LXRydW5rCiszMDcyNiA0ZjE5Yzg1MjRmMWFjN2U0ZTdhY2I0NDE2OWQ3ODkxZDE0NzE5ZTUwIGxlZ2FjeS10cnVuaworMzA3MjcgNmFlMzYxZGY4NzBlZWEzMThmN2JiMDBkYmE0ZDQ5ZmEyODIxZjMyYiByZWxlYXNlMjItbWFpbnQKKzMwNzI4IGIwZDUyODMyN2M0YzFhNmNmNmNjNTM5ZTljZmU0NjZlOGM2NWE3NzAgbGVnYWN5LXRydW5rCiszMDcyOSA4MGVhMDQ4ZmMwZDczNWYxZmRhYTkwYWVmYzdhMDA2YjY0MmUwZGJkIGxlZ2FjeS10cnVuaworMzA3MzAgNDI4ZWVjZGZkNTdmY2FjZTJlN2QxOTFlYTg2OTBlNjMwMThjMzQ5NCBsZWdhY3ktdHJ1bmsKKzMwNzMxIGE0OTRmNWE4NjM5ZjI5MDQ1ZmI3OTcwNzVjMDRiNmMxMjU1YzRlZWUgbGVnYWN5LXRydW5rCiszMDczMiA0YTYyYTk0MWYzYjEyYTMwMzVhY2I3MTliYzVkOGQwOWRjNTQ5OTVmIGxlZ2FjeS10cnVuaworMzA3MzMgZGUyYzk1ZDgxOTg0MTYwZjU5ZWYwMDFhYjVjYWEwMGFjM2UxMDA5NCByZWxlYXNlMjItbWFpbnQKKzMwNzM0IGY5Njc3MmUzMWUyMzNmNzc3ZWQyMWViYjczOGI4Y2Q1ZDM5OTQwNDkgcmVsZWFzZTIyLW1haW50CiszMDczNSAzYjNjZTk2NGFkYzljMTNmMmZhNTY5OGEyYTdmNjc0ZjJlMTVjM2RlIHJlbGVhc2UyMi1tYWludAorMzA3MzYgN2E0ZDc4MjcxNWY0Yzc2NjI0OTRjZTZjY2ZkOGQyMjNlMWI0MjM1ZCByZWxlYXNlMjItbWFpbnQKKzMwNzM3IDEwYjdlNjAyNDViNTY5NDAxYjk2MzYyN2ViNWY4ZDA3MmI4NDc2NjMgbGVnYWN5LXRydW5rCiszMDczOCAzOGQyMjM4Yzc5NWU0NmU5YjE2ZTdhYjM5OTJmMjRjNDAxNTQ1MjQyIGxlZ2FjeS10cnVuaworMzA3MzkgMmVkNTE4YWIyZmQyMGEyZDIyMjk0MDQ0NjQ5YTMxNmYxZDIyNTBlMSBsZWdhY3ktdHJ1bmsKKzMwNzQwIDE3ODc4ZDQ1OGNmMTJmM2RmZDEzZTJhMTA0OTBhZmY3NzhhZWQ3YTQgcmVsZWFzZTIyLW1haW50CiszMDc0MSAxMTE5ZDU4MjYwOWExNGYyNGUwZjRhN2U2ZjIyMDU1MDM4YzUyYzJmIGxlZ2FjeS10cnVuaworMzA3NDIgMjA5ZDY3MjEyODgzZDAxMGMzNmM2ZTU2ZjFkMjczMWEwNmM5MGNjZSByZWxlYXNlMjItbWFpbnQKKzMwNzQzIDIwMWNkZWIzMDVmNjRhMDk0MDNmMmZlZDQ2YzkyOWU2ZTExNmM0MDQgbGVnYWN5LXRydW5rCiszMDc0NCA0MjBlYTIwNWYwMjQxZWU0NTE5NTQwMjZjODJhNGY1ZWFhNTA3ZjU1IGxlZ2FjeS10cnVuaworMzA3NDUgNWQ0MmRiYTQ5ZmU1MDcyNzViOTgwYjRkMWRjNTlkNDAyODI3NjY3MiBsZWdhY3ktdHJ1bmsKKzMwNzQ2IGViZWIwMGI4ZDUwMmEwYzk5NTNiNDFhZDkwY2Y4ODJlYmVhNzdlMGUgcmVsZWFzZTIyLW1haW50CiszMDc0NyAxMWIzNDU2NGEwZmQwNTgyMWRhNDIyMDU2Yzk4MDE5MmIzNDhkZWJjIGxlZ2FjeS10cnVuaworMzA3NDggM2EzM2JkMGY5YzRiZmRjNzU0ZWM4ZmUxZTEzNTIzYzljODA4ZGFiNSBsZWdhY3ktdHJ1bmsKKzMwNzQ5IGYzNGMyODY1MGYxNGUxOGU1ZmYyNTM1Y2M4NDExNWUyZDk5NWQzMWEgbGVnYWN5LXRydW5rCiszMDc1MCA3ZjM3ZWQ1NDI5MjAwM2VhOGYwY2M0OGZkZGUzYWMzNDU1Y2ZjYzYxIGxlZ2FjeS10cnVuaworMzA3NTEgMThmMDcyZDE0MGE5YzdmZTc1ZWU0YjE0NTE0YzZjNzE5OTJmMmQ3YyByZWxlYXNlMjItbWFpbnQKKzMwNzUyIGZkM2IwNzExYjI1ZmIwNTVmYWYwYmJkODM4Mjc3NWNkODJjNWY0MWEgcmVsZWFzZTIyLW1haW50CiszMDc1MyBlZWJjNGZkYWM1OTRlNjkyY2YxZjA4MDBlM2ExZDQ4OGFhNTg3YjNiIHJlbGVhc2UyMi1tYWludAorMzA3NTQgZTlmNDViOGVmZDZiNGQ3Yzg3NmI0MGU1YmYyNGE2NmM2NWZhMzgyZCBsZWdhY3ktdHJ1bmsKKzMwNzU1IDhiZDZiMmFlMjg3NGIwNzlmYjBlNWFmN2JjOTUxZjUxMDFiZWY1ZmMgcmVsZWFzZTIyLW1haW50CiszMDc1NiAzZWRlOTBkNmUxY2YxMjVhMDIwM2I0OWVmM2M3NDk4NDhkOGYxNzVhIGxlZ2FjeS10cnVuaworMzA3NTcgODRhOGU3ZDFkYWE5NzY5ODE1ZDk5ZDZkM2VlNzk1ODUyOWI3NjVjNiByZWxlYXNlMjItbWFpbnQKKzMwNzU4IDNiZmRiYzNkZmJjZTkyOGM5MTcxZGM0OGE4NzE3OGY1NGYxOTJiNDEgbGVnYWN5LXRydW5rCiszMDc1OSAwYTZiODgxOTBiOGIxZDNiZWY1MmE5Y2U0NzM1MjdlY2U1YThhOWUyIHJlbGVhc2UyMi1tYWludAorMzA3NjAgZjU5ZDgwYzdlMWJiNGQxOGY5MDAwZDUwMWQwMzFmYmM5ZGZjZjRlOCBsZWdhY3ktdHJ1bmsKKzMwNzYxIGY5NWU5ZjNjOWZlYTc4ZDRkNzE3ZWRhMDNkMWY1MGQ4NjQ4NzQ2MTAgbGVnYWN5LXRydW5rCiszMDc2MiBhNzcwNmQ0YzY5MGMyMGFlNjFlZTgxNmQyZDkzZDQ1YTRmZDA4YmYxIGxlZ2FjeS10cnVuaworMzA3NjMgM2FmYmQ1NWZiMThmYTRhYjEzYTM4Y2YxYjE0ZDIxNTE2M2U3NzQ0YSBsZWdhY3ktdHJ1bmsKKzMwNzY0IGIzZjEwNTM5OWQyMjgxMWRiYTVkMTk5YTk1NjYwYzQ2NjFmNDQ3MjQgbGVnYWN5LXRydW5rCiszMDc2NSBkM2FiNTMyYjNiNmQ2ZWJiMjBhNzFmNmEyNWYyY2M5NWYxNjc1ZjFlIGxlZ2FjeS10cnVuaworMzA3NjYgYTU2YzNjNTYyODhiOWZlYjI3ZGI1YmE5MDlkZDQ1MmI1NzBkOGQ4OCBsZWdhY3ktdHJ1bmsKKzMwNzY3IDVkZGI5MGY4MTY5YTU4OTM5YWU0NDNiMDc3MjRiN2JkYWIwMmI4MmMgbGVnYWN5LXRydW5rCiszMDc2OCBjNDE1MGY3ZjZhNjk2MTUyNGFlODg4NzIwNzcwMmUyYjc3NTdiNGYxIGxlZ2FjeS10cnVuaworMzA3NjkgN2MzNGU1YmYyZTIyYjFmODU4OWY4Mjc1ZWZlZWVjZWUzMmMxM2YyYiBsZWdhY3ktdHJ1bmsKKzMwNzcwIDE2YTg3Njc0NjI4NTBjNzQ2ZDAyNWMzOGZhYmRkOGFjMGY0NzgyZmQgbGVnYWN5LXRydW5rCiszMDc3MSBjOTk0OTNhYmEwOThkMjUzYzJkYjc4ZDE5NmExNjQ1OTFlYTdmNmUwIGxlZ2FjeS10cnVuaworMzA3NzIgNDBjZDc0NzgyNjAwODExYWQwMjg3ZTc4YzRkODM3MjdmNjVkMTdiYiBsZWdhY3ktdHJ1bmsKKzMwNzczIDFjYTdiMmQ2OTI0MjVkYzY3Yjg0MDkzMzZjYWE1ZDM4YmE0ZjQ0ZmYgbGVnYWN5LXRydW5rCiszMDc3NCAyNjE1NDc3MDM0NDNkYWI0NTQwOTdiNTBkNTE1NTFjMDUyNzRkNmUzIGxlZ2FjeS10cnVuaworMzA3NzUgYmFmZjU2YWRmYmMzMzgyNDhmOTVlYmE3OWY1Nzc1YTQxZWM1ZGNmNiBsZWdhY3ktdHJ1bmsKKzMwNzc2IGFlODliNTU2MDUwYWUwNTcyZjRjNmRlYmQ1NzI5MDA0OTg3M2NhOTEgbGVnYWN5LXRydW5rCiszMDc3NyAzZmJmZmQ3MzZkOWQwNGMyMjA4ODk2ZWQ0NzY5MjNkNmQzZjliYzZhIGxlZ2FjeS10cnVuaworMzA3NzggZThjMWE5NTQyZjY2YTY2OGQ3OGY3ZDJmZmJlNzhjZWIzZjg4NzUxYiBsZWdhY3ktdHJ1bmsKKzMwNzc5IGZhZjI1NmE1OWVjZWIyOTM3NzdmMjc2NDcyNDVlNTRiZTM0NDAzZWEgbGVnYWN5LXRydW5rCiszMDc4MCA0Y2RiNTAxYWI2YTIxNzdhZjNiZGEwODgyMjc2ODU2ZDhkNTdmNDVjIGxlZ2FjeS10cnVuaworMzA3ODEgZjA1NzY0ZDcwODJjYzFhMGExYTJjN2ZiNjE3MmY5MTNiOTViMjkzMCBsZWdhY3ktdHJ1bmsKKzMwNzgyIDc3NDI4ZTgzNWQ2N2VkODA2MzQwOGE0ZjE5ZWNiNTFkOGY5N2NlMzYgbGVnYWN5LXRydW5rCiszMDc4MyA3YWNmNTc0NDBmNGUwOWZlNWJlZmNjYTA4NTU5YzlkYzNkNWU0OGU0IGxlZ2FjeS10cnVuaworMzA3ODQgOGQwZTA3YzI3MGVmOWIzMTE0Nzc0Y2FiZWYzN2UwNTU4OGJkOTk0NyBsZWdhY3ktdHJ1bmsKKzMwNzg1IGFmODExMTcyNzE3ZDBhMzEwMTRlZWRmYWU1NDRkNDdhYjY1NjRhMjEgbGVnYWN5LXRydW5rCiszMDc4NiBhOWRkYWRmNzg5ZWFiOGY2OThkYTM3M2U3YzcyOWE3M2U2MjRmMzRkIGxlZ2FjeS10cnVuaworMzA3ODcgYjc0NDUwOGQ1YjEyNjQ2YWYyMGJjZWMyNTE0YWMzYjExM2VlOWI3YSBsZWdhY3ktdHJ1bmsKKzMwNzg4IGJlM2QxYjdlNjJkYzI2OWNiYjg0N2JkYjQxY2UxMjg3YjQxNGI5YjcgbGVnYWN5LXRydW5rCiszMDc4OSBkYmU0ZjU3ZThiYjI5NTZjYzk4YWU5ZjIxOTczMTIyOTAzNWM0ZjQyIGxlZ2FjeS10cnVuaworMzA3OTAgMzkyZmVlY2QyZjFjNzFlZDhiNzNjYzkyNzFlMDgxNmVkZWUyOGQzYiBsZWdhY3ktdHJ1bmsKKzMwNzkxIDkxZDY3OGE5NGM3MzYzZjUwZGU5ZDlmNjczMDJkYzAwNGYyY2IxYzggbGVnYWN5LXRydW5rCiszMDc5MiA2NGQzZmU5MDRhMGFmOGQ2NzRiMjRlYWUwNDVkZDVkZjM5MzdhY2JhIGxlZ2FjeS10cnVuaworMzA3OTMgY2RhNWFiNjI1Nzc0ZmFkZDUyMDI5Nzk0NWQ5NGUyMmE2NjI2NWNlYyBsZWdhY3ktdHJ1bmsKKzMwNzk0IGQyYWU1YWZmZGUxNGU3OTY0MDEyYTQ2MTc5MGY2N2JjYTZmY2E5NmYgbGVnYWN5LXRydW5rCiszMDc5NSBiZWRiNzVkOTBlMDNjMzk5ZjJlMDE2ZjYxODJlYTM3YWRhYzAzMTM3IGxlZ2FjeS10cnVuaworMzA3OTYgN2ZkZDVkNjJjNjE1YWYyMGFmNjRiOTgxMDJhNWMxOTg4ZmViZTg1ZCBic2RkYi1ic2RkYjMtc2NoaXpvLWJyYW5jaAorMzA3OTcgOWRhNDNjZGU4YTE2NjFlNjhjNDU1ZmFhZThlNDc2ZmU1YjQyYWM4OCBsZWdhY3ktdHJ1bmsKKzMwNzk4IGNiZjM1NWYyOGNhOWY2ODkyODc4OTkxNDljOWEzMzQxMGM3ZTVlMGUgbGVnYWN5LXRydW5rCiszMDc5OSBjODIzNGUyNjExNWM2NmQ0YWM5YjQ4YTJiZWM2ZTYxNjRlMmI2YmFmIGxlZ2FjeS10cnVuaworMzA4MDAgOWRlMDY0YzdhMjQ3ZjExZmMzOGUwNGJjZjlhNzQyMTAwMmVlNTE4MSBsZWdhY3ktdHJ1bmsKKzMwODAxIDg3YjY2YjZmZjVlNzZmNzcwMmVhM2ViNzQ1NTA3M2UzZTU0NGRmNzQgbGVnYWN5LXRydW5rCiszMDgwMiA1YTA1MDIwMGY3MzY1ODZjNWY4ZDUwY2RkZDc3ZmZiZjdjOWU4ODY1IGxlZ2FjeS10cnVuaworMzA4MDMgYzZmNDliNzk3OTYzZWNiZmY5ODVhYTRiZThjN2RhYWVkNmM0MzdlYiBsZWdhY3ktdHJ1bmsKKzMwODA0IDg2Njc1NmY2NzBmZmQ1ODQ1M2QxNWFjZTAwYTdiNGE4NzVkOGYxNTggbGVnYWN5LXRydW5rCiszMDgwNSBkZjI3NTRhY2E3MTcwNGY0YmE0N2U4NDQzYWFjZTQ1YzVmY2U2MmRmIGxlZ2FjeS10cnVuaworMzA4MDYgNDBlNWViOWUwNGUwZTgzNWFiNWNlNWY2NWVjNWMyMTA5ZWI5MDFhMCBsZWdhY3ktdHJ1bmsKKzMwODA3IDA0ZTU2MTBjNWVmZTk3YWY0NThmY2RkNDY2MWVjN2Q3NDY1ZmE1ZWIgbGVnYWN5LXRydW5rCiszMDgwOCA4OGZhYTk4NWQ5OGMzZjM2NjNhMDczNjc2ZDUwM2NmYmMwOWJlODI1IGxlZ2FjeS10cnVuaworMzA4MDkgOTdmNDk0YmY3MzE5MGFkOWJkMDZiMmJiYWU1YmQ4NjcxYjdhNzU2NCBsZWdhY3ktdHJ1bmsKKzMwODEwIDc1ZGE0OTk3NzU3MWE0ZWFiOWExOTJiMDJhNmEyYWI4ZjEzMTNlYjYgbGVnYWN5LXRydW5rCiszMDgxMSBlODNhNDJhOTBkZjE2Mzk2YTdhZmJmODc1ZWQ0MGU4YTVmZDdlOGUzIGxlZ2FjeS10cnVuaworMzA4MTIgNzAzOTM3NTIyNmE3ZjI2MjdhZjBiNTU0NThkYWJhMDEyNTJlNzRiOSBsZWdhY3ktdHJ1bmsKKzMwODEzIGQ3ZjgwMDI4MzAxZGViNzRhMDFmNTg1NTEyNzNmZGQ0MTFkNTkzZTcgbGVnYWN5LXRydW5rCiszMDgxNCBiZmMxNDBjN2UzZDA2NTFmMDNhMzkzOWFlYjEyZGVkOWY0OWYzOGE3IGxlZ2FjeS10cnVuaworMzA4MTUgNzA1NWY0YzFlZGNjMzQxZTdkNGM0NTRkNmExOTRjNjg1MDA3YzI4YiBsZWdhY3ktdHJ1bmsKKzMwODE2IGI4Mzg3NzMwZGQ4ZmY0MTVlNzkyN2Y2ZmEyZDQ0MzgzYTg4MDc2MDkgbGVnYWN5LXRydW5rCiszMDgxNyBjMWM0NTQ3NWYxNzBlNDBlN2U5MmNkZjUyMzlmMDY4N2U4MzNkYzIzIGxlZ2FjeS10cnVuaworMzA4MTggODE1NTFhZGYxMmY2ZDFlY2YyNDVjODk5ODZkZDc3YTczNDZjZThhZSBsZWdhY3ktdHJ1bmsKKzMwODE5IDA1ZmY5MDRlZTRlMDdiNmM2NmNmNzJhNThlMjA4ZGNlNzQ0N2JjZmEgcmVsZWFzZTIyLW1haW50CiszMDgyMCA0ZmE5YWQ4NWMzYjE1ZGMyZGY4YmU4NjU0NWFiN2M5Zjc1NWI4MDNkIHJlbGVhc2UyMi1tYWludAorMzA4MjEgMTM2OWQyNGJjODYxZGNhMjY4NzE1OGRlOWQwMDE0MDVlMzY4MmI5MCBsZWdhY3ktdHJ1bmsKKzMwODIyIDVhOTc1ZTgyZDcwZmI1YmMwNDljZDQ0NjIwZDhlZDdhYWQ1OTQxZjIgbGVnYWN5LXRydW5rCiszMDgyMyBkZTgwMTczM2VjMTg4NzViYzJjYjZkOGQzNjI2N2QxNTI1ODkxMDU4IHJlbGVhc2UyMi1tYWludAorMzA4MjQgMGY4ZDE4OTMxMGI0NWE5ZmRiNjQ1NDNmNTRlOGNlZTkyODBhZjNmZSBsZWdhY3ktdHJ1bmsKKzMwODI1IGE1NTUyMzBiZTNjYjAwNzNiM2U4MmRhY2FiMGJiNzg1N2ZiNTg5YTggbGVnYWN5LXRydW5rCiszMDgyNiA3MDQ2MzlkMjBhNmNkNjI1YmMwYTMxMmI2N2Y1ZWI0ZTQxNDg4NzhiIGxlZ2FjeS10cnVuaworMzA4MjcgZWE3NjgwZWFmOTM3ZGY3MzgyNjQyNTJkNTU2MDczNmQwMGYwYmY3NSBsZWdhY3ktdHJ1bmsKKzMwODI4IGRhZGQxNzhiNjVmYTU2OGFlMGRhNmM4NWUwNzhhMGQyOTg1OGFlMzEgbGVnYWN5LXRydW5rCiszMDgyOSBmZjE3OWJhZGUzZjBkYzM5ZTRiZDBhOTljZTVjMzJkOWRhMzg3ZmU4IGxlZ2FjeS10cnVuaworMzA4MzAgMTg1ODQ3MTQwY2E1ZGJkZGExMWZmOGYyYjFlMzI2M2Q4YzFhZWNjMiByZWxlYXNlMjItbWFpbnQKKzMwODMxIGEyZjg0ZDI4MzVmYWY4MjVkOGUwM2U0YzYxZDQyYTQ3MmI0OWUwMTIgbGVnYWN5LXRydW5rCiszMDgzMiBlYWE2MTJhNDFkZDBkNjllYjBkOWYwOTU3MmJhMzBhZDViZDQ2NGUwIGxlZ2FjeS10cnVuaworMzA4MzMgOTIyMDA5OGYwMzI3ZTliMmMwMTMwYzQ4MGU4N2VmMzY4ZjUzODk3YyBsZWdhY3ktdHJ1bmsKKzMwODM0IGM2ODI5MDc5MGQ1M2Q2ZTAxZGMzMjI3MGRkNDA5NGM4MTEyZmM2Y2EgbGVnYWN5LXRydW5rCiszMDgzNSBjZGFiMmI3NGYzMDdlYWQ2Mzc5NzU2OGU1OTU0M2Y2M2IzOTFkNTgwIGxlZ2FjeS10cnVuaworMzA4MzYgZWZhMmY4YWJiMDJjOWE2MTViMDA0Yjg5MWYzNGU5NDMyOWNmOGNkYSBsZWdhY3ktdHJ1bmsKKzMwODM3IDNjNzAyM2M5ZThlMjY3MWJkY2RkNzY0YmQ5NTY4OTNjNmJjZTc3M2YgbGVnYWN5LXRydW5rCiszMDgzOCBkOTY2YmI1NGIzZGUwZDhlNWQ3NTA0MWY4MTE1ZjJmNDA5OTJmNDg1IGxlZ2FjeS10cnVuaworMzA4MzkgNzA2N2QzNmMzY2Y0NzAxOTU2MTA3NWNjYjU1NzA5MzFhNTVkZjg1YSBsZWdhY3ktdHJ1bmsKKzMwODQwIDc1ZjM4YzQxNWU3ZDRkMDdjODY0YmIwMDEyYmZlYWFkOGI5YzI4ZGMgbGVnYWN5LXRydW5rCiszMDg0MSAxNTYyYzFlMTBiNDk3ZGE5NzE0OGNlZjk2YzIwZDZjYWM5MzA2OWQ5IGxlZ2FjeS10cnVuaworMzA4NDIgMjk5ZWYyZGFiYjUyYzY2MjRjMDM3ZmIzNjMzN2Y5Y2ZkMjE1NjYxMiBsZWdhY3ktdHJ1bmsKKzMwODQzIDg4YmYxMDMxMzU4NGRlNDE2N2YzODY3NDA1OGY5NTc0NjhlNTAyODIgbGVnYWN5LXRydW5rCiszMDg0NCAxYjYyMjlhZGIzZGY5ZGYwMmM0NGE2OWYxZWM0MjlhZTM1YmM0MTBjIGxlZ2FjeS10cnVuaworMzA4NDUgZDVhMzM4NmM3NmY0OTQ1NmNiNTA1YjFmOTgyNzIwODA3ZTI1NmI4NCBsZWdhY3ktdHJ1bmsKKzMwODQ2IGM0MDQ4NzljZjk5OWIwMzMwNWUxMWIxOWFkNDUwZjVkNTc3NDI0MGEgbGVnYWN5LXRydW5rCiszMDg0NyA0NGUzNTJkN2Q1MmZmYmI0NGZhZDEwZDcyMWFmMjUwMTc2YzU1YmZkIGxlZ2FjeS10cnVuaworMzA4NDggZTJkYTBkZjM2MTNkMWNhM2FjNGFiMzg4NzJhMjAzODYxZDU1OTliZCBsZWdhY3ktdHJ1bmsKKzMwODQ5IDY4MzMzOWI4NTJhYmQ0OWI5YmRhNmI2NWJmYTVkYjA3MjRiZjI3YmMgbGVnYWN5LXRydW5rCiszMDg1MCA4NzA0NWE4ZWM1NDcxNzkxNjAzMDcxNzVlOTlhOGYwNDkxYzUzMDU1IGxlZ2FjeS10cnVuaworMzA4NTEgNmNkYTdjNjEyMTU0YTc2ODY4NTc4YzlkZGE5NTJjNTZmNTQyYzIwNCBsZWdhY3ktdHJ1bmsKKzMwODUyIGEwYTkxNDcyM2M0ODBiNzEyNmMxOTlkNmM0MmNiMjgwYTM2ZWQ3ZDMgbGVnYWN5LXRydW5rCiszMDg1MyA1OTdhYTk5NjZlYzZiYjMzMzA3N2E4NzY0Y2YwOGUxZjcyMTVjNDg0IGxlZ2FjeS10cnVuaworMzA4NTQgZjRjNjk0YTAxNDI1NjgzNWI3Y2NhMGFjNmVkNWY0NTRjZjY2MTc2NCBsZWdhY3ktdHJ1bmsKKzMwODU1IDIyZmI3NmM1MzkyNjc1MTZkZDYxYzY1YWU3MjhjZjVjYjVmYWZhM2MgbGVnYWN5LXRydW5rCiszMDg1NiAyYzY0OWM3YWU4ZjNmMmJmN2M0YWUxZDAwYWM2YTExMjg3ODYyZDBjIGxlZ2FjeS10cnVuaworMzA4NTcgY2JjYTBiY2YxYzMxZTllYWNkOTFkNzE5ZDA4Yjc3NGFiMzdhN2RhNSBsZWdhY3ktdHJ1bmsKKzMwODU4IGI0NzBjYTg0ZmQyYjVlYzk5ZWE2OWQ2YWYxZTliZTUzYzIyODgyYTMgbGVnYWN5LXRydW5rCiszMDg1OSBlODA0NTZhZDE5NWI2OGQ4MDZlYjY2MDZiYjYxZDIxMjQxMDdmYzJhIGxlZ2FjeS10cnVuaworMzA4NjAgZDM0ZWYwMGQ5ZGE4YTA4NjA4NjQ0M2Y3MjVmOGE4NjNkN2M0ZDFhOSBsZWdhY3ktdHJ1bmsKKzMwODYxIDhiNTNiMGNlMDZkNDU4ZTdmNDFhZTYwMWFhMjcyNGM0ZGJjYWYyY2IgbGVnYWN5LXRydW5rCiszMDg2MiBiYTYzZDcxN2M3NWYwMDA0YzBiY2VhYzcxMjRlNWI5YTNiM2NhMjIxIGxlZ2FjeS10cnVuaworMzA4NjMgOWZlMzZhZTJhNGEyYjJhODVmNGJiZGFkOGE0OTUzYmMxNGM2MDIwMiBsZWdhY3ktdHJ1bmsKKzMwODY1IDliZTMxNDlmYmVlNzE3YjQ2M2E4OGFkNDcyOTBhYWY5N2ViZGRmYzUgaWRsZWZvcmstbWVyZ2UtYnJhbmNoCiszMDg2NiA0MTJlNjZlMzUzMGVlN2YwYjY3MTI3NDhmZGQ4MGJiYjlmZjRiNWMyIGxlZ2FjeS10cnVuaworMzA4NjcgNGY1OTk4MWY3ODE3ZGFjMTE1OTA4OTA0MjliMzY0OTdlYWY0NTI3MCBsZWdhY3ktdHJ1bmsKKzMwODY4IDE4MDA2N2MyODgwZmVlNWM0ZDQ2Y2M4MjI0ZGMzNGU5OGQ5ZTE3MTYgbGVnYWN5LXRydW5rCiszMDg2OSAyMDU1ZDAzNzI5NWNmMDk5OGMwYzkwYzNjYWRiZmIxMGUzZjcyMWNiIGxlZ2FjeS10cnVuaworMzA4NzAgMzBkYThjOTZmZDI5ZWYzNjViODhmYzk2YWUyOTUwNGMwOGJiYTczZSBsZWdhY3ktdHJ1bmsKKzMwODcxIDVhY2Y2OTY3ZDZkZDM3MTQ4NjBkYzNkYzk2ZjE5MGMwMzlmOGFlOTkgbGVnYWN5LXRydW5rCiszMDg3MiBkZGI1MmY1NjczZGI1YTg1M2U3MjVmZWI2NWY3OGVjMWIxODlkZTg0IGxlZ2FjeS10cnVuaworMzA4NzMgMjI5OTJmYTUxODMxMGZlZjE4YTg1YzE4OTk0MDgxNjJkMzEyNjhiOSBsZWdhY3ktdHJ1bmsKKzMwODc0IGJiZjE0MTg1YmYxZTdlNmI2ZDI5MWUxMTg0YWM1ODhiZTQxMzIxMTYgbGVnYWN5LXRydW5rCiszMDg3NSA0MDY3N2ZlODUwM2QzMGUwZTFjMWI4ZWVlNTJlMWFkMGRlYjkxN2M1IGxlZ2FjeS10cnVuaworMzA4NzYgMjdhZWRjZjQ2YmNjOTJmZjNmMTc5NGRkY2I4MTE3OThlYjAzMjczZiBsZWdhY3ktdHJ1bmsKKzMwODc3IDQyOGM4YTQyMzA0M2VhZGQzNjViNmE4NjMzYTY5YjNhNGUzNTYyMDEgbGVnYWN5LXRydW5rCiszMDg3OCBkYzYxMTYyNzgyNTkzZDhjNzQwZGZlMWQ4ODBiNTMxMzhjYTJlYTI4IGxlZ2FjeS10cnVuaworMzA4NzkgOGRiMmU3NGRkYjBlNWFhNGY0ZjBlY2ZjZWVjOGM4ZjI0NzdiNzA5MyBsZWdhY3ktdHJ1bmsKKzMwODgwIGFmZDFkYzYyZTM1NGRlZTMzYWEzOWNjNDM4YWUyZDhmNTYyOGJhZmIgbGVnYWN5LXRydW5rCiszMDg4MSA1OGJhZDc2OTc3NmU1OTk5ZTRhZDMzMTNmN2UzYTIwMzYyOGQ5ODY0IGxlZ2FjeS10cnVuaworMzA4ODIgMDRlNDU2NTgzMmJkZDM5YzhiNGI2M2E0ZGYxZmZkNDFlOTJhY2YwZCBsZWdhY3ktdHJ1bmsKKzMwODgzIDI3M2IyYjQ5YmZkODY4OTk4NjA0YzRmZTJiNGY2ZjFjYzg2ZDRhMmIgbGVnYWN5LXRydW5rCiszMDg4NCA4OTFlYzRkMjY2ZDE3ODY3ZWIwYzMzYzE4NDg5NjQxYTk1MGU4YTIwIGxlZ2FjeS10cnVuaworMzA4ODUgNGE0OWI1YWE1ZDIxMjcxOGM0MTRmNWUyZjkxN2RjYTYyMTRmMzI3OSBsZWdhY3ktdHJ1bmsKKzMwODg2IGViMWU1MjlmZGZkZjBkNGI5YzJkMjI5MjU4ODZkM2JmZDkzYTA4YzEgbGVnYWN5LXRydW5rCiszMDg4NyBmZGU3OGQ4MGUwOTg5ZDJhMzQwM2FmM2M5NWQ1ZDNkYWQ5M2RiN2ZlIGxlZ2FjeS10cnVuaworMzA4ODggMDBmMjk0YmY4Mjk5ZjYxNzYyMzFlOWY2NTEwOTJjZTNkMmFkY2JkMyBsZWdhY3ktdHJ1bmsKKzMwODg5IDYxNDdiYzE0ZDI3N2I2ZGJkNTZhY2VkZDcwNzFjMGRkNWM3NDg5NDkgbGVnYWN5LXRydW5rCiszMDg5MCBmZjBlMWVkOTk4ZGVkYWIzY2Y3MTZlNWUwYTA5NThhMGZmM2U2MzI5IGxlZ2FjeS10cnVuaworMzA4OTEgYzFkYzUwZGY1NzhjZGNlYmE1ZjI1ZDI0NjFhZWQ3MjBkMTMzOTdiNiByZWxlYXNlMjItbWFpbnQKKzMwODkyIDEzYmVlYTJkMmQyNmFhMWExZjUxYTFhYzg0ZmM0OTQzNDQwMzlmNzIgbGVnYWN5LXRydW5rCiszMDg5MyA5YzRiNDIwN2U5NzlkYzNiZmMwNDYwOWE4NDFmMWUxZmQyOTRmYWEwIGxlZ2FjeS10cnVuaworMzA4OTQgNWIzZmJmZjA1ZmZkYTliM2ZjZTIwOWJlNzBkOWYyYjExMDQ1Njg1MyBsZWdhY3ktdHJ1bmsKKzMwODk1IGI3MjU2NDk2YzliMDFjNzQ2M2ZhMWQxYjk4NDkyZjNmYjk0ZWRiYzggbGVnYWN5LXRydW5rCiszMDg5NiBkMjljNzhkMjdjNWUzYjg4YWQ4ZjE5ZTE3ODY5YjMxOTM1OGFiNDI5IGxlZ2FjeS10cnVuaworMzA4OTcgYmUxNzhhZmQ0MTgxNDUxMWZlYTg4ZTQ0Njc1NDQ4MGZkMjE3YTYyZCBsZWdhY3ktdHJ1bmsKKzMwODk4IGUyZDc5ZmZhMjkyOGM0MGVhZDRlMTVkZGI3ODFlNTE2MGM1ODhjOGEgbGVnYWN5LXRydW5rCiszMDg5OSA4NDBlOWZlZDkwOGExZmI4NWRmZWQ1ZTIxNTU2ZjljZTQ1ZTQ0YzY3IGxlZ2FjeS10cnVuaworMzA5MDAgZjNiYWJhZWRlMTg5YTBiNmEzYTJjZmQ3ZjI3YTkyZGFjMTI5OWM4NCBsZWdhY3ktdHJ1bmsKKzMwOTAxIDgxNTY5Y2NkZTViZGYwMGRmNjVlZjc1ZmRkZTE0YmM4ODRlNzNhOTQgbGVnYWN5LXRydW5rCiszMDkwMiBhNDU3NTMxYzBmZDQ5NTEwNzIxNzY5NTBlMDRmMWMxNzdmMGY3NzM0IGxlZ2FjeS10cnVuaworMzA5MDMgNjI5NjAzZjY0NDEyNmNhMzUyYzExOTk3MGNkZDE3M2JjMzdkODAwOCBsZWdhY3ktdHJ1bmsKKzMwOTA0IDhkODY5ZjkyMWYyMjY0MjEyN2Y5OWYwMjgzNjA0ZjJiMTE5ZTM2MGYgbGVnYWN5LXRydW5rCiszMDkwNSA5YmNmODVkMDEzNWMyZTc0YWZlOGM4MTcyMDM0YWQwNmM5ZWE3ZDk4IGxlZ2FjeS10cnVuaworMzA5MDYgNTE3NGI0YTcxZTZlNGI3NzRmYTk1ZmY2OGYyN2U1NmNiYjhjZTg2NyBsZWdhY3ktdHJ1bmsKKzMwOTA3IGQzNjNmODNjMjg0NmE1MmY1NzIzZTE1NWNkMmE2OGUxM2IwMzBmN2MgbGVnYWN5LXRydW5rCiszMDkwOCA5MWE1NzMyNDNkNWQ3OWVhYTUwODI3OGNhYmFkYTU1OGU5NjkxMzAwIGxlZ2FjeS10cnVuaworMzA5MDkgMDE1NjQ3YzdlMTg0MzM2NGE2NmEzYTBmOWE5NjVhMDdmMzY4NjdhOSBsZWdhY3ktdHJ1bmsKKzMwOTEwIGY5YzQ4ZWQ2N2E5M2FkNmVhNzkwOTUwNDUwZDI2Yzg4NGZlZWFmNzYgbGVnYWN5LXRydW5rCiszMDkxMSBlN2NkYjUwM2QxZTA1YmFlOTE4NGIzNzRkOTNjYmNiZjdjZWIyZmY3IGxlZ2FjeS10cnVuaworMzA5MTIgYWE5NGM4MjBiM2VkMDJkY2Q5YjQ2MmU0Yjc5NWFmZTYwYjUwYzIxNSBsZWdhY3ktdHJ1bmsKKzMwOTEzIDg4MmUzZWVhYzNkZDdhMzA2MDVhMDZhMTZmNDg5YWE3NWFhOTdlMTcgbGVnYWN5LXRydW5rCiszMDkxNCBlN2NkM2NjMTEyZDMwMDEwOTI0MzUzNzc5Nzg5MmNhYzUzM2E2MjAzIGxlZ2FjeS10cnVuaworMzA5MTUgMjhiM2Q5YThlZTFhMzM2YWE5NmIwMjU1YzhiZDg2NWU1NTkxM2VlNCBsZWdhY3ktdHJ1bmsKKzMwOTE2IGU3YmU2ODY4MDMzMjZlNDgwODFmMWM0YWQxOTZjN2QxZjA5YzQzMjQgbGVnYWN5LXRydW5rCiszMDkxNyAxMjM1OWU1Mzc1MTJjMzI4Y2QyM2Y4MjFkZGYxZDk5MTZmNzgyNGE4IGxlZ2FjeS10cnVuaworMzA5MTggMDA2NDA3MTRhNTlhNWQ4OGQ4YzNkNzE2MjM4OTI1ZjYwNWEyMzk1OCBsZWdhY3ktdHJ1bmsKKzMwOTE5IGYxZGQ5MDM1N2RjYmExN2NkODI5Y2EwZDQyNGI4ZWI5NzdiYjQ4MTQgbGVnYWN5LXRydW5rCiszMDkyMCBlYWYzZjgwNzAwYjNkNWQxOWI4OWJmYWI4OTk3OWUyMTY2YTBmODM0IGxlZ2FjeS10cnVuaworMzA5MjEgNDc5NThjOTk0NTJkZTM2ZTJmOGUwM2MzY2NhZTI4ZWY3NzhhOWI3ZiBsZWdhY3ktdHJ1bmsKKzMwOTIyIGQxNmE5Nzc3NDZhMjM3YzYyNGU0OTUzOTBmMzg0ZTI1NGU2MmI3YjEgbGVnYWN5LXRydW5rCiszMDkyMyBkYTBjOTkxMjU1YzJlZjY0ODQzMWQwNGZkMDFlYWRmODg2Yzc2MjA2IGxlZ2FjeS10cnVuaworMzA5MjQgNDE3MmIyODZkNjU4YzdhMWI4YTVlMTY1YjA3NWVlZWIzYTFjYmU3ZSBsZWdhY3ktdHJ1bmsKKzMwOTI1IGU5NDVhMDNlZTU2YzY5ZWY1N2Q4NjlkYWEwZjhmYmU2NWZiNTFmMTEgbGVnYWN5LXRydW5rCiszMDkyNiBhZWQyZWY5NmVkNTRkNzk1OWJjNTMxYmIyMDViYzJiMWJmMmZjMWMyIGxlZ2FjeS10cnVuaworMzA5MjcgNmViNWUxYTA5Yjk1ZDVlNmE5MWE3M2QwNjYxZTEyYjgxMzI5MDhlZSBsZWdhY3ktdHJ1bmsKKzMwOTI4IGFjZWRlY2QyMDEyNmFkZmIzMzdkNDExYzJlOTQ3MGFiYjgwMWY3ZmEgbGVnYWN5LXRydW5rCiszMDkyOSBjYWE2ZGY5ZTA4ODA1ZGNjNzU0YTczZjQwYzA5N2ZkZThhMzY1NWQ3IGxlZ2FjeS10cnVuaworMzA5MzAgZDE5YmMzYjE4MTNjYjUxOGM3NmJkZWEyMjVmNjAyMTExMzk4ZmJmZiBsZWdhY3ktdHJ1bmsKKzMwOTMxIGVhNWVlM2U3YmZiMTBhNzhmYTg4NzE5OTc3MjZkNGRmMDFhOWJjNGYgbGVnYWN5LXRydW5rCiszMDkzMiAxZmQwNGMzNzQwOWFiM2ViNTQ3ZTAwZDVmMWQ5ZDA4NTEyNjA5ZDNmIGxlZ2FjeS10cnVuaworMzA5MzMgYTI0ZmQ0NWFjZWIxOGJmYjIxNGE0OTc5N2MwM2MwZDc3MWI2NmQ2YyBsZWdhY3ktdHJ1bmsKKzMwOTM1IDU2ZDgzZDBjNTViNjBmYzE3ZjliZDY3NDQxNGVjMGFmYWUyZDgzYmYgbGVnYWN5LXRydW5rCiszMDkzNiA1NTBjMTVjNDkxOWIxNjI4M2NjODBiZWI0YTRhZDg1MjBiMjVhMDJjIGxlZ2FjeS10cnVuaworMzA5MzcgNWMxMzNkMTNmMzI1NjJjYzQyZjc2MTgyNDFiNjYwZDg0YmU0Njc1MiBsZWdhY3ktdHJ1bmsKKzMwOTM4IDk5MjRmMjJkNjYwNGU0Mjk0YjMwYjZmOTZmYWI5MDZlMTM2MmQzMmUgbGVnYWN5LXRydW5rCiszMDkzOSAyNzQyZWE5M2FiMjMzYTQ4ODI3NjE0OWZkM2Q2MTk0NzU2ZWNjMzhjIGxlZ2FjeS10cnVuaworMzA5NDAgMjBkZjI0YTEzMzQ5MDI5ZTZhMjU5NWRmMjZjNTlmYWEwZmVkYzAxNSBsZWdhY3ktdHJ1bmsKKzMwOTQxIDllNDMwYWNjY2RiOGY1YzAxZTA2M2I4YTlkMjdlZWEyZWVhMWUyOTEgbGVnYWN5LXRydW5rCiszMDk0MiAwMDlmM2FiYmY3MjYyYTI1YWZlOGNhMWQwMDMyMmFlMDFmYTVjY2U4IGxlZ2FjeS10cnVuaworMzA5NDMgYzc0Y2VhMjQzNzJlOGY1ZjMyMWNhMTNhNjBlNjM5ZmVhZjE5Mjk0NyBsZWdhY3ktdHJ1bmsKKzMwOTQ0IDdkM2M2YWQ0ZTNlZGM5YzJjYWYyOWE4MjNkNDRiMzM4MDhjZTY0MTcgbGVnYWN5LXRydW5rCiszMDk0NSAwYWVhYTNkMWUwZmY3OTQyYzE3YTc2ZWY0MGI3NjdjODgwZTI0YjMzIGxlZ2FjeS10cnVuaworMzA5NDYgMjRjOGZiZWM3NjFmMjMxZDdmMzhmMjI4NDliN2VkMDQwYjA0YzM5NyBsZWdhY3ktdHJ1bmsKKzMwOTQ3IDNjM2U0YzhjNGE5ZGZmMDI2YjJjYzE2YzNjYjA3YzI3MzA5MTdjMzEgbGVnYWN5LXRydW5rCiszMDk0OCA5M2JhNDJjZjRlNTNhY2Y4YjExMmJlY2NhOWQ1YjVjMThlMmYzNWNhIGxlZ2FjeS10cnVuaworMzA5NDkgZmEyNDUzOGY4NjUwYTU2MmM1NTAxNGUwYTIyZGJiYTBhMWQ2ZGE5NyBsZWdhY3ktdHJ1bmsKKzMwOTUwIGUyNmEyZjdmMjI0YjU5YTQyMjM4NjM5ZDc0NGUzMWE3YWI0ODgzMTYgbGVnYWN5LXRydW5rCiszMDk1MSBiZjBiYzg0ODE1MDIxNDNiMWM3ZGIyMTBlYmNmYzk4MTgwMzNhODVkIGxlZ2FjeS10cnVuaworMzA5NTIgM2NkOWRkZDU1NjJlYTA5OWJhMmFiNmI1OGNiY2FjZDJhZDJhYmQ4NyBsZWdhY3ktdHJ1bmsKKzMwOTUzIGI0NjVjOWQyMTk2YTNjYmE4NzkzYmZlM2FiM2ExYjc4YTAzMzE4MDUgbGVnYWN5LXRydW5rCiszMDk1NCAxYWUwYjE0MjM3MGU0MDg0ZWRhNGNiMjIwNDkyZTNmNmJjY2EwMzllIGxlZ2FjeS10cnVuaworMzA5NTUgZjhhOTAwODVhY2M0MWU5YTA2MTJiYWI3OGM4YmFiZDYzMjQ0ZmZmNSBsZWdhY3ktdHJ1bmsKKzMwOTU2IDQwNDc4MjE0MTliNTdhODg1OTBjMTlkOGI3ZTEwYjRiODYzNmMzMzEgbGVnYWN5LXRydW5rCiszMDk1NyAzNTczNjU5MWRjMWU3YTUzMWVjMzJkM2M5OTlkNzRiMDM3YWQ2YjdjIGxlZ2FjeS10cnVuaworMzA5NTggNzExNmNiNWJhYzUwODNkNDliMjJmYjVjZTJmNTljY2RlY2VmNjIxYyBsZWdhY3ktdHJ1bmsKKzMwOTU5IDQzMGVkMWM4ZTA3MWRhYjAxMTU0MGYzZGE5YzI4YzlkMjdmNjBlODQgbGVnYWN5LXRydW5rCiszMDk2MCA2MGZmMWJhNDI4YzNmYTBiMDY0ZGU3ODI5MmI5MDA1MGRkMDc2ZjQyIGxlZ2FjeS10cnVuaworMzA5NjEgOTFhZTI5MmMzYTk3ZjBjZDM4YTAyYmMzYjI5ZmJiNWIxOTc4MjJhNCBsZWdhY3ktdHJ1bmsKKzMwOTYyIDE4ZThlZDgwZThkMTc0OGRmZjVmM2ZiNzQwYTNiMzBjZDQ1ZWJmMmIgbGVnYWN5LXRydW5rCiszMDk2MyBkOWQyNGNlMWNiZjY1OGQwNzMzYWFiZDgzMjkwNjZkYzA3NDM1NzVkIGxlZ2FjeS10cnVuaworMzA5NjQgZTRhNWY3NTM1MDhiYzUwYjAxNTQ0N2ExNGRiNTZiZDkyODhhNjBhNiBsZWdhY3ktdHJ1bmsKKzMwOTY1IDVkYjJjZjNlNzdkYjMzYzk4MGZkMGUxNDljODBmNjc2NmI0N2Q5MWIgbGVnYWN5LXRydW5rCiszMDk2NiA2YjBkYmRlMGZlZDcxNWEyOThjYjc0MjExYWVkMWRmZjU5YzIyZWY1IGxlZ2FjeS10cnVuaworMzA5NjcgOGYxMzcyOWE5NGE5NjZhMWExOGNhNDdkODExZGM0NjU5ODQ0YzM1MCBsZWdhY3ktdHJ1bmsKKzMwOTY4IDFmNjMyNzE0MGZjMjNjZmI4MDdkOWY5MTZlMTM1ZWZiOTE1OTRjZjcgbGVnYWN5LXRydW5rCiszMDk2OSBhMTYyNjJiYzYwOThkZDA4MDE3YzM2MTY4Zjg0ZDQzZTJiZTJkYmQwIGxlZ2FjeS10cnVuaworMzA5NzAgOTI1ZWRmOGUwMDBjYTdkZmFhMjEwZjc4ODZhMzEzNGZjMjlkYWExOCBsZWdhY3ktdHJ1bmsKKzMwOTcxIGQ4YzJjNDBiMzg2YjE5YTBkNjc4NmVlYjg3MTkxMWY0NzFiYTU1NTkgbGVnYWN5LXRydW5rCiszMDk3MiBiM2NiZTdhMDE0MmE3OGQ5Njc1NjllNmJkNzMyYzJhYjYzNGZlODkwIGxlZ2FjeS10cnVuaworMzA5NzMgMGE0N2Q4MzJhNjRiNWI0ZjEzYTIwYWM4ODQyOWNkYmE2NWJmMzYxOSBsZWdhY3ktdHJ1bmsKKzMwOTc0IDQwMTVhMjdhMWQxM2YyYzc0ZDYzYzIyY2YxZWJhMTk0Njk2YWVjMmEgbGVnYWN5LXRydW5rCiszMDk3NSBhMjMwZDEyMDBiYzM1YjNkMjY2NWFmZDNhOTljYjE2OGQwNWI3NGU2IGxlZ2FjeS10cnVuaworMzA5NzYgN2ZiNWU4YTU0MWFiOGZjZTczYWQ2NTlmNGU2ODIxMWMwZTg2OTUyNiBsZWdhY3ktdHJ1bmsKKzMwOTc3IDM1MDlhZDA3ZDE1NmFjYjZlNTY4MmIzYTFjNDRmMWIxZmEzMDkxNjkgbGVnYWN5LXRydW5rCiszMDk3OCA5ZmUzMjE1NGQyODkwMmVlNjVmN2Y5MDA5ZjQ0NTRjMGZmYzMwOGU4IGxlZ2FjeS10cnVuaworMzA5NzkgYjJjZTljNjM3YTJiYzYwMmM4MjkwNDcyNTk2NjVlMTVhZWM3NDEyZSBsZWdhY3ktdHJ1bmsKKzMwOTgwIDExNWVlNDA1MThhODRkY2FkZWJiMWI4ZWUwOGNjYWNkNGFhN2ZlMjcgbGVnYWN5LXRydW5rCiszMDk4MSA2MmM2Njg5M2MyZGJhMmE0NTAzZDQ2NGExYTkzYWY4ZWI2YTY4MDFiIGxlZ2FjeS10cnVuaworMzA5ODIgNGMwM2VmMDZjM2ZmNzA0ZmExZDBiOGMyOGIzNmFkNzUwMjA1MWY1MSBsZWdhY3ktdHJ1bmsKKzMwOTgzIGVhNDgwNDA2Y2M2NTYyMWNmMGVlNjJkNTQ3ZTY0MzhiMzVjZDZhZmEgbGVnYWN5LXRydW5rCiszMDk4NCAwNTU0YjdjNWY2ZDdkMjY5MjAzOWMwMGYyNTJmMTFiYTQyYjJmMmRmIGxlZ2FjeS10cnVuaworMzA5ODUgODgzYWYyOGI5YTBkMDY2MGVmYmIyZjk4NzExYzlhYjljOTQzOTg4MyBsZWdhY3ktdHJ1bmsKKzMwOTg2IDI2YTc5MjAwNzY2NTI1Yjk1MmU2YWZiYjQ3ZDgwZGY0NDk5MjYxMWQgbGVnYWN5LXRydW5rCiszMDk4NyAyZWU5NzQyYWFkZDg5MjE0N2U1NTQzMDIyYzAyYmUyNmYxMzNiNGNjIGxlZ2FjeS10cnVuaworMzA5ODggZWQwZDRhZTZjNmNlNDA5MTg4YzA1ZjFiNmMyYmQ4OTEyMThjMmIzOCBsZWdhY3ktdHJ1bmsKKzMwOTg5IDhkY2U3YTVlNWZjY2QyN2VjNTBkYjIwMTVkNDI0ODJjZjEzOTg3NjAgbGVnYWN5LXRydW5rCiszMDk5MCA3NjRkZjJmZGM5YzYzNjc1ZWM1MGE2ZDJlMDcyYzFlZTg3NzA1OGIwIGxlZ2FjeS10cnVuaworMzA5OTEgZjQ5MTFmN2FhZDAyNTM4NTI0MDZiY2YwMjBmMzQwYjQyY2U0MDkxYSBsZWdhY3ktdHJ1bmsKKzMwOTkyIDZmZmFmY2VmOThmYjM3ZmQ1ZjQyMTU3OTZlNmU4Y2EyMjYyMDc1ZWUgbGVnYWN5LXRydW5rCiszMDk5MyA1Yzc1NDhiZjM3N2IyMjg4YzZmMzg1OGVkMDBiODNlYTA4NGQyYjI5IGxlZ2FjeS10cnVuaworMzA5OTQgMTdkODdjNWJhNmU0YjcxNTIwMDcyZTNkNzU2MjZjYWM4MThkMmIwNCBsZWdhY3ktdHJ1bmsKKzMwOTk1IDA1ZjdlMWM2NWQ3ZTgzODNiNjMxN2Q5MjVjMTg4NTAxMTRmZmNiNjYgbGVnYWN5LXRydW5rCiszMDk5NiBmNGU4YTZkNGFhN2MzN2UxYmY2NDRkNTBiOTliYmJlZGI4YzJjYTUzIGJzZGRiLWJzZGRiMy1zY2hpem8tYnJhbmNoCiszMDk5NyBmOGQyOGU4MmM0Y2M5OWEzYmUxMDJhNTRhZTllNjg4ZDE2Njg5Y2FiIGJzZGRiLWJzZGRiMy1zY2hpem8tYnJhbmNoCiszMDk5OCBkZTQwNjE1ODRjODM5MTU3MjI1ZmQ4Yzk0MTNlNjdlZWYxNDMyZDk3IGxlZ2FjeS10cnVuaworMzA5OTkgZmNjZDllOTQzMjExYWQ2M2IzZTY2NjcxM2UxYmUwYjY0NjViOWFiNSBic2RkYi1ic2RkYjMtc2NoaXpvLWJyYW5jaAorMzEwMDAgYjc5YzFhZmZmMTEyODM1MWE4ODIzMDI4NzhjM2QzMzc0NWJjYmYxZCBic2RkYi1ic2RkYjMtc2NoaXpvLWJyYW5jaAorMzEwMDEgMTU0YmFjMGIyNmE1NGVjMTkwOTI2YzdjOGJiNTU0YjZhNmYzYjczYiBsZWdhY3ktdHJ1bmsKKzMxMDAyIDMxMDE0ZmJlMjBkYmIwODgzMDE0MWU2YTc0ZDc0NDU2NzAyZDk5ZTQgYnNkZGItYnNkZGIzLXNjaGl6by1icmFuY2gKKzMxMDAzIDM4YzdjMmQ0Y2Q1YWNmNDM1ZTNhNTY0NDAzMTliZDgyYzI1OTQ2ZDcgbGVnYWN5LXRydW5rCiszMTAwNCA5MjRhZGU4MDEwNGIxNzM5NjY2YWQ1MTcxNDNjMDljOTA0NjM1ZDE3IGxlZ2FjeS10cnVuaworMzEwMDUgYmE5MzEwZmVmNDlkZDgyOTM4ZGVmODc4YWQ1YjEwY2M3YTI3MTU0OCBsZWdhY3ktdHJ1bmsKKzMxMDA2IDZlODllODBlNmEyNjdjNTE2NDY3ZGIyYWY1YjgwMWFkMGUyY2I1NzEgbGVnYWN5LXRydW5rCiszMTAwNyA3MTJiMDFkNTJlOGNkMmIzZjk1YmE4ZWU5NDRhM2IyNGZhY2Q4OTQzIGxlZ2FjeS10cnVuaworMzEwMDggMTRiMTc1OGRmZGRlZGFjZGEwNWI4NTZmMjg1NDkxNGYwMjgwZTA2YiBsZWdhY3ktdHJ1bmsKKzMxMDA5IDI5ZmQ5ZmRhZjUyYTkwNWE3NTc0NzlmODc5ZTExNzViYjk4ZTE0ODYgbGVnYWN5LXRydW5rCiszMTAxMCBlZTBlNTE1NDA3ZmQ5NzlkZTMxOGIxZjVhOTdmMjRiYzAyMjY1NTE4IGxlZ2FjeS10cnVuaworMzEwMTEgN2M4ZGZkM2Y0YWU5MDZlM2FhMTA3N2UyNzBjMGQzMDFjNzJiNGU5YiBsZWdhY3ktdHJ1bmsKKzMxMDEyIGY5Mjg0YjU3YjQyMjlhZWQ4NmM5MWY0NmZjYmNiYjk1ZjhmOTZlYTEgbGVnYWN5LXRydW5rCiszMTAxMyA1YmE3OTM0YTdiYTAyMTg0YzUyZTNkNTA1N2EyYWU1MzE5N2I4ODRmIGxlZ2FjeS10cnVuaworMzEwMTQgMzZmNzFmZWY1YjEwOGZjODAzMjMwYmZhMzEwZmVmZGJkZDE1ODlmZSByZWxlYXNlMjItbWFpbnQKKzMxMDE1IGU5NTc4NzQ3ZjQzZGZlNjZiNzA2NTQ0OWJmZTZkMmU4YTdmMTZjZjkgbGVnYWN5LXRydW5rCiszMTAxNiAwOTA0ZDg3OGI4ZjE4Nzc3ZGFmNzY1NzkxN2Q2NGI2YzRhZjYyZjUxIGxlZ2FjeS10cnVuaworMzEwMTcgZTljZDIyODEwNGExMzBiZmQ2MTE4NGUyM2EyMWZmYjI5MzgzMDc1NiBsZWdhY3ktdHJ1bmsKKzMxMDE4IDNiYzcxZDIzNGEyOWU5ODk5Mjk4ZTliNmIzYmI1MjJjNDVjYjBlY2YgbGVnYWN5LXRydW5rCiszMTAxOSBiODNmYThmYTEyMWU4NGQ4MzNlNjBhNTlmZmZiZGJlZThiNmU1ZGVjIGxlZ2FjeS10cnVuaworMzEwMjAgNDI0N2U2NDBlMmE2ZWIyYTU4Yzc5ZDAwYmFiYjU4ODU5MWRlMWE2ZSBsZWdhY3ktdHJ1bmsKKzMxMDIxIGE4OWMwNzdlNjQ4YTE4ZmNkMmU0NmI0MmU4NDc2YWZmMDNlYjE5MDEgbGVnYWN5LXRydW5rCiszMTAyMiA3YjdkM2I5MDYzNjMwZTRhZmZkMTRmNDA3NTQ5MzEwMThlZjYwZDhlIGxlZ2FjeS10cnVuaworMzEwMjMgMWYxNmFiZmFmNjNlOWYwZWU0ODhhODllY2U2OTNiN2ZiZTBiOTA4YiBsZWdhY3ktdHJ1bmsKKzMxMDI0IGFkYmMzZmU4YzgxY2MzYTNhMGE5NTFiZThhNDlmZTNjOTgyZDE5ZDEgbGVnYWN5LXRydW5rCiszMTAyNSA1ZTQzNTVkODBkZDE1OTczNDBmYTc2YjE3MDMxZjhlZDBkNTMwOWE5IGxlZ2FjeS10cnVuaworMzEwMjYgZTkwNWIyMmUzOTJiYTU4ZmVmOTM1ZWI2N2JiM2U2MWFiMDk4OWFkNSBsZWdhY3ktdHJ1bmsKKzMxMDI3IGQ4NzUwZTBkM2ZiODg4ODM2YWI3ODM4YTgwNjVlZDdkMmEwYzYyOWEgbGVnYWN5LXRydW5rCiszMTAyOCA0YzM1YTY2ZmNlNGRmMGVkOTVlYjkzOTA0NDdhZmJkYjI1M2E5ZTEzIGxlZ2FjeS10cnVuaworMzEwMjkgYWUzMWZjYjdiNThlNGNjZDg4MTEyMWYwOWYyOWIwMzA0ZjRmZDI3MSBsZWdhY3ktdHJ1bmsKKzMxMDMwIDA5MGE1MGNiMjY5MDBlMDg5ZTQ1MjdmMzQxYWM2YmEzYWJkM2RmMzEgbGVnYWN5LXRydW5rCiszMTAzMSBlNDJlMzAyNWJhZTNiNDlhNTg3NzI1OWQ5Zjc0YTg0MTE2ZmNhNGRlIGxlZ2FjeS10cnVuaworMzEwMzIgNjIwNTM5MTY1ZTUzMDhhYzlhODQ4MGEyZWU3ZGUxMDg4MzY0YWYzMyBsZWdhY3ktdHJ1bmsKKzMxMDMzIDBkZDhkOGE3NjAxNWVmMGRiYjk2YmVmZDkyZWQ3ZmZiZGY1ODYyNjAgbGVnYWN5LXRydW5rCiszMTAzNCBmZTQwZmNmNDllZTU2NmRmYjVmYzI5MTg5MTcwZDE1NjZjMDE2ZTI5IGxlZ2FjeS10cnVuaworMzEwMzUgYjQ4MGE0ZjcwN2Y2MTc4YjIwNjI2ODAxZmVkMDU2YTM0ZTNmMTczNCBsZWdhY3ktdHJ1bmsKKzMxMDM2IGQ5ZDU3ZjVmOThjZGE3MjJiNzg0YWZmOWRlODhjMGVmY2FmMzI4NTcgbGVnYWN5LXRydW5rCiszMTAzNyAxNDI3NmU0M2VjZTYwNDc5ZGFjNjY3MjE0MDJlNDFkOWM5Zjg1NTA3IGxlZ2FjeS10cnVuaworMzEwMzggNDRmNDY1NjgzOTI3YjNjZmM2ZGMzYzNhNmYwMzRhNDBkOTk2MGU1YiBsZWdhY3ktdHJ1bmsKKzMxMDM5IDIwYzU4MWMyM2JjZTMzMzY4NjUyNDM0NzQ5MGQ0OTJkYTU0Y2Y5MWQgbGVnYWN5LXRydW5rCiszMTA0MCAwZGUxNDI1MmQyNmNlNmRkM2MxNDExZmE3YWNhMjAxZTVjODE0Njk5IGxlZ2FjeS10cnVuaworMzEwNDEgYTJkOTZlN2Q5MWExYTlmOWViMDkxNDczNzc1OGY0MzVlNDM5MWZmOSBsZWdhY3ktdHJ1bmsKKzMxMDQyIGIxZDFmZTdmYjUxNGIxNzNhODA4Y2E1ZGI5NjlmNWI0MGVkMjY1MDggbGVnYWN5LXRydW5rCiszMTA0MyBkNjJiZDI0MDcyOTE5YWIwNDUzZTQ3ZmZjYWMyMmNlNDNkMjkzMzQ2IGxlZ2FjeS10cnVuaworMzEwNDQgMGU2ZGNlMWVjMjMxY2Q0N2M0MzBkMmYxZjViMjljNGFmMmU3ZWQyNiBsZWdhY3ktdHJ1bmsKKzMxMDQ1IDVmMzI5NDJhMjI1YWRhOWVhNWI5NWFkZjgwYmZkYjc1YjAwOTlhOGMgbGVnYWN5LXRydW5rCiszMTA0NiA1MWFiYjVlODYyMjYyNTU1ZmNlNTI4ZDNhNDI5ZWE3NDQzMDdiN2M2IGxlZ2FjeS10cnVuaworMzEwNDcgYjJiNTc0MTE4ZmZkYTNmZGY3NGQ2YTJmYmUyYTlmYzg3Njk5OGFhYSBsZWdhY3ktdHJ1bmsKKzMxMDQ4IDgxYTJkMTg4ZWExZjlmNmEzM2ZhOGI0OTVlZTA3OWNjZTUwYjBmZWYgbGVnYWN5LXRydW5rCiszMTA0OSA2Nzg2ZTg2YjhmZjBhZDBiYTI1NzM4MmJkM2ZhYWE1YzhiZjJjZTRjIGxlZ2FjeS10cnVuaworMzEwNTAgMTdiZmQ1ZGJjMGYxNmRjODVjMTZiMjA4OGFjYzQyODA3ZDY5MzIzNSBsZWdhY3ktdHJ1bmsKKzMxMDUxIDBmOWViODQxM2I2MWI0ZTYyNTFlNDlmMDc3NjI1OTQ3YmNiMjJhMmEgbGVnYWN5LXRydW5rCiszMTA1MiBiMTczYTJhMjMwODI1YTQxZmFiMWRhZjhkMGM1NDhlM2I0ZjJiOTc3IGxlZ2FjeS10cnVuaworMzEwNTMgZDVmNDdlMTQ2NWQ2NmRlNTAzMjgyOWFiYmUyNGUzNTBlNzcyZDAxOCBsZWdhY3ktdHJ1bmsKKzMxMDU0IDBiYjE1NGZhODA0N2M4ZjBmYzgwM2JlY2FmNmEzOTVkMTQxYmU2ZmYgbGVnYWN5LXRydW5rCiszMTA1NSBkZGVlOGMxNTgzMDFjNjgzY2ZiOThlNTdmOTZmZDI2OWVmYzkwNTUyIGxlZ2FjeS10cnVuaworMzEwNTYgMmUxOGRiY2Q5ZTA0Y2FiZDY0N2VkYzMyYjlhMGNhNzg4YzNjMmI0ZSBsZWdhY3ktdHJ1bmsKKzMxMDU3IDY4OTI1N2NhNGQwOTJiNmQ3OWQ4NTIwMzQ5YjcwZDVkZjEyMTlkNGEgbGVnYWN5LXRydW5rCiszMTA1OCA2OTZjNDJkYTc4NzUzMzE4MjExMzBlMDg5ZWI0NTE0MmJjN2Y2MDczIGxlZ2FjeS10cnVuaworMzEwNTkgNTc2NWQ1MjRkZTcxZTJhY2RiOWVkYmIwYTNlNTAyZmVkNDU1NmRiYiBsZWdhY3ktdHJ1bmsKKzMxMDYwIGQxMTIyM2RhYWY2MWQzYzUxM2JlY2FhMGFmMTlmOTMyOWQ3M2E2YmUgbGVnYWN5LXRydW5rCiszMTA2MSAwMmYxMzhjNjM5YTA4M2ExMzc0ZTA3NDQ2NmZkN2Q3MjA4OGNmNjZlIGxlZ2FjeS10cnVuaworMzEwNjIgODQyZDZhMjQ0OTdhZTgzYTUzNjkyODFiNWViYWQzYWIwYmFjN2FkMiBsZWdhY3ktdHJ1bmsKKzMxMDYzIDk5MDk5ZGViNjAyNjQwYmI5NTZmNDMxMjY5MmUzOTM2ZGM1YmFiMzcgbGVnYWN5LXRydW5rCiszMTA2NCA3MmIzOGQ1ZmU2MWY5YWZlZWQyYTJjNmZkNGQxNjBlNWE4NTRjYWE4IGxlZ2FjeS10cnVuaworMzEwNjUgY2JjODYwMjhkOWYzYmFiNzBhZDgyNDk3NWIzMWFjYzAwODljZmFkOSBsZWdhY3ktdHJ1bmsKKzMxMDY2IGZkYzUyYjExOTcwOTBlMTMyOTBmOTg0MzhlNTU4MzU2MmE2NDgyMjEgbGVnYWN5LXRydW5rCiszMTA2NyA4Nzk0M2ZhZjRmZDIxNmE2MTAyZTA3ZDQ5OTU0MWM4YWJjNTExOGU2IGxlZ2FjeS10cnVuaworMzEwNjggOTdiMjgxNzA2MzRjY2YxOTJjOWFlZjU2YjU4MDg5Yjk4NjQ2MTI3NCBsZWdhY3ktdHJ1bmsKKzMxMDY5IDJhZGQwMDhiMWI3ZDA3NWQzMzAyNzc0YmE5OWY1NWZlMmZiMjI2OWQgbGVnYWN5LXRydW5rCiszMTA3MCA4OGNlZWVlZDcwYmQxNTFkNWVjMDkwMTExMzliYmVjOWFjMzg0YzlhIGxlZ2FjeS10cnVuaworMzEwNzEgMGM4ODEwMzczYTFhNzcyODY0OTBjOTYxYmI1NDVjZjQwMTQxZDVkZCBsZWdhY3ktdHJ1bmsKKzMxMDcyIGVkMmQyM2QyZmQ0MTJiOWY3ZTc2NWYyNjZhMTcwOWUwNWQwYzkyZWUgbGVnYWN5LXRydW5rCiszMTA3MyBjNDdkZTg4YWU4NWQ3ZTU0N2EyZmQ5MTZjNTM5ZGI1ZmYyMzkxM2MyIGxlZ2FjeS10cnVuaworMzEwNzQgZjk4MjJiMThjZjkxOWM1NmNiYzlmZWE2NWNiNTgzMzk5MWNkOWIzOSBsZWdhY3ktdHJ1bmsKKzMxMDc1IGJkNjNmMjhjZTdhOGJmZGExMDAwNWMzMDc0NzgxYmJiOWZiNDUxNmEgbGVnYWN5LXRydW5rCiszMTA3NiBjZTc0OGFmYmQ2ZWZkMmQ0YTczNDE0YjYyMTkyNzdmZDViM2RkZWQzIGxlZ2FjeS10cnVuaworMzEwNzcgYzQyNWY2NmRiNDU4MjI1MDNkOWVjOWQ0NGUyNDU3Nzc5NmIxYmU0YyByZWxlYXNlMjItbWFpbnQKKzMxMDc4IDdmY2RlZWIxNmVjMGQ2NGViYzJmYzg5Y2RhYjYwNzdkNGQ2MTAyZWUgbGVnYWN5LXRydW5rCiszMTA3OSAzMTgwNzg4MGY1OTk2NTkxNGNjMDFiMWZjZjU1MmZlYTgxY2FhMDBmIGxlZ2FjeS10cnVuaworMzEwODAgZDNhZjFlNzkzMjQzODkyYmRiYzJhMjBhNWIzYTFmNDU4NzUxYjZmYSBsZWdhY3ktdHJ1bmsKKzMxMDgxIDUwYzczNDI1MGUwNTI5YjY2YjU1ZGMyOTdlMGM0YWZlYjVmMjg1ODUgbGVnYWN5LXRydW5rCiszMTA4MiA2NTk3YzA5YjFlNmRjOWQwMGQxZjM1MjhlMjc2OThjMzE2ODAwOTVhIGxlZ2FjeS10cnVuaworMzEwODMgM2FlMGEyZjg3YWEwNmM3NGQ2OWFiNzBmNzlmMDg0MmFlZDYzMzMxZSBsZWdhY3ktdHJ1bmsKKzMxMDg0IGMyNjdmMjg3MjRkZGNjZGViYzUzMTg4ZWRhNWRhOWUwY2E3MjA1YjkgbGVnYWN5LXRydW5rCiszMTA4NSAyNGUzNGFiYzYyOTUwMDk3MzA2NTBhNTBlMTY3YzU2OTIwNjUwYTQwIGxlZ2FjeS10cnVuaworMzEwODYgNWVlZmVjOTRhNzg0ODU0MmI5YTA2ZThjNWYyMWMxZThkZGI4YjcwMSBsZWdhY3ktdHJ1bmsKKzMxMDg3IDhkODM1NzhkYmE4MTQxZDQ2ZmZmZTEwMjZhYWQzNWUxNDY4NWE4NDQgbGVnYWN5LXRydW5rCiszMTA4OCBmYWFiZDk4NjdmYjhkYzQ5OTQwZDM4YzIyOTZkYTdhNmMwYWJiYmViIGxlZ2FjeS10cnVuaworMzEwODkgNGFhNGU2YjNlY2E3MjNmNDM0OWU3NDZmN2I2NjMwZDU2MTcxYTNlMiBsZWdhY3ktdHJ1bmsKKzMxMDkwIDNjODkwNDlmZTYyOGQzNGRhMWVhYTFlNDlhYTY1MDgxMmU1ZGM1YjIgbGVnYWN5LXRydW5rCiszMTA5MSBkNDJkODNlNTY4NmMzYjk2YmVkZWU0ZDNiYzg1ZGM4ODE0OWQ1ODdlIGxlZ2FjeS10cnVuaworMzEwOTIgYWIxNDNhZWQ0OWI5MDZmYjgzMzYwMDAzZDJlNmQ3NmU5YTQ4OGY4MiBsZWdhY3ktdHJ1bmsKKzMxMDkzIDI1Njc4OWFhYWNkNjVjMDMyMzJhYzJmMWUxNDQwMzhkYWMyOWM3ZjUgbGVnYWN5LXRydW5rCiszMTA5NCA2MjBiYjM1NTFiYjY3NDdhNjYwYjRkZWZhZGRlM2YyMDQ1NTI3MTRlIGxlZ2FjeS10cnVuaworMzEwOTUgODc2M2E4ZjZjMGQ1YmVmMmU4MDAyNWMwMDQ5MTJhYjdjNTZiNDgyMCBsZWdhY3ktdHJ1bmsKKzMxMDk2IGMwNzViYTJhYmY3YWJhNmY2ZmRkMzM4MGY3Y2Y1MjNlNTI2MWQ0ZGYgbGVnYWN5LXRydW5rCiszMTA5NyBmMzNlNjQ0ODQ2MjA4MWM3NGNiZGUxYmIxODY5YmNjYmI4YmJjNDQ1IGxlZ2FjeS10cnVuaworMzEwOTggNzZmYThjNzlhODlkMGE2OTBiYzM1ZGU5ZTlkYjc5MjkyZGI3ZTQwOCBsZWdhY3ktdHJ1bmsKKzMxMDk5IGJhNTdjM2RhZjZlOWEzOWQ2ZWIwMmQyNjIwNTY5ZjMzYjMyOWVmMDMgbGVnYWN5LXRydW5rCiszMTEwMCBiZDhlNjIyMmUxNmEzMmEzYWY0MzI2YjAxMDkzMDM3YTJjY2Q2YWViIGxlZ2FjeS10cnVuaworMzExMDEgZjIzNWYxMzVmM2Y4YTI3ODYyOTNhNzY5MzkwMWJhMDQ5Y2Y3ZTA3NyBsZWdhY3ktdHJ1bmsKKzMxMTAyIDY3NGYzZWVjZmZjNTA2OWU3MWNjN2FhYWIyZjgzNmRjMmIxNTg2OGIgbGVnYWN5LXRydW5rCiszMTEwMyAwMTkwODcyZWJjZjNkNzc0ODQwMTYzZmM2NjQ5ZTA2NDBkNTNiODY3IGxlZ2FjeS10cnVuaworMzExMDQgM2I5ZmI1N2ZhYzM0YTI1ZDQ5OGE0ZDU1YjEzY2M0YzIzM2E0NGQzYSBsZWdhY3ktdHJ1bmsKKzMxMTA1IDE2MDg1MDdiY2MzZmY4NDdhZjU2MWI5NmJiNjJmMjEzZjQxOTQ5OTUgbGVnYWN5LXRydW5rCiszMTEwNiA5YmMxYzg0YjIzZTY2MjM2OTMyODMyNjY5OWNkNjBmNzhiMWU4OTdhIGxlZ2FjeS10cnVuaworMzExMDcgMmYyMjdmZjExZjVlM2FlYzE2NGE5NTliMzQ0YWQ0YzVjN2JlMjgyMyBsZWdhY3ktdHJ1bmsKKzMxMTA4IDZmZmI1YzhlNjUzOGVlODViOGEyZTQyMjQwYTNiNzliZGMyNTlmZWUgbGVnYWN5LXRydW5rCiszMTEwOSBmNDdhZjJjZGI5ODNiNDFmNWVhY2JiZWJmMzEzNzI2Njg1Mzk2NjU3IGxlZ2FjeS10cnVuaworMzExMTAgMmQ3YzBjYmM4M2NmM2Y0OWI5YTAwYWExMTUzYjQzM2NhMzc4MjA5MSBsZWdhY3ktdHJ1bmsKKzMxMTExIGQxZWRhYWE5MzhmYmU3NDg1MmZmNTU1MmFmNDUzYzljYTRkZTZlMTcgbGVnYWN5LXRydW5rCiszMTExMiBhMmRiNDM3ZDMxNGI0ODkzN2JhMGJjZTc4OWYwNTU1NWMyNzE2NDIwIGxlZ2FjeS10cnVuaworMzExMTMgNjU2MzVjNzIxMzVlMWFjYzljNjczMzViZGZlNWM3NzZiN2QzMTQwZiBsZWdhY3ktdHJ1bmsKKzMxMTE0IGEwNTgxNDE4NGU4YzZlNTA2MWNmMGJmMzJlMDIxNGQ4NTdhZDljMTIgbGVnYWN5LXRydW5rCiszMTExNSA5ODE5N2ViZTVjY2I3ZGVmNzhlN2I0NDc3OWJmZjkxNjI2NGMzMTAyIGxlZ2FjeS10cnVuaworMzExMTYgNzI4MzE0MGQ0MzE5ODZiMjQzZGFhNzAyYThmM2I5OGE4ZmNmMzMyNiBsZWdhY3ktdHJ1bmsKKzMxMTE3IDNlYjEwYTE0YmEwMGQ5NmIzNDA0NjRjMmVkY2ZiM2I4OWQxNTVmMDkgbGVnYWN5LXRydW5rCiszMTExOCBlM2ZhODM3N2YzMGM1ODBhNTBiNGI5YWVlZGM2NmZkMDVhY2I5M2NjIGxlZ2FjeS10cnVuaworMzExMTkgOTMyMTA1NjRiYjQ2MDc5ZjBkNjJlMTU0NjM1ZjRlNGJlN2MwZGE1ZSBsZWdhY3ktdHJ1bmsKKzMxMTIwIGQ2YjY1ZTM4NTVhMjUwMGQ4ZDE1OWUzYjRkNDM2ZWZiZjgyMTJkOTUgbGVnYWN5LXRydW5rCiszMTEyMSA3OGU0M2IzNmU3ODQ0ZWI4ZDQ1OWU4Yjk0MmM2YzM5YzliMDQ0ZTU0IGxlZ2FjeS10cnVuaworMzExMjIgNTdiZGY0YmFjNDM1YTdlNjZlY2Q1ZmNjMTdmOWU2NjkwN2Y0YjkyNyBsZWdhY3ktdHJ1bmsKKzMxMTIzIGU1ZDE4MTEyMDMwMzQ5MTE1ZWIyNmRkNzMxMGI0NDNjNTA2NmM0NjYgbGVnYWN5LXRydW5rCiszMTEyNCA5MTVkMzI3YTIxNGE5YWZhOWI2ZTg0MDFmOWUxNmVlY2VjZDZlNGUzIGxlZ2FjeS10cnVuaworMzExMjUgNzIyMjhhMjVkYWFhMjU5MjM0OTA5MTFlNjA4OTYzYTcyNjk2OWU5YyBsZWdhY3ktdHJ1bmsKKzMxMTI2IDhlNjBlYzg4ZWNiODRkOTI1MzBkODM0NjQyYTM4OTY5NWZlZThiNmUgbGVnYWN5LXRydW5rCiszMTEyNyBhMzVkZmNhOTMzMThkMWY5ZTgzYzE3ODZjNWM1OTNmZDk3YTJmYTJjIGxlZ2FjeS10cnVuaworMzExMjggZDE1OGQxMGVmNGFlYjAyN2I3NDRmNTZhYWU1ZDNkYWFhZWE0OWEzYiBsZWdhY3ktdHJ1bmsKKzMxMTI5IDMxM2U5NDRhMmM4ODYyMzZhNmUxOTdhZmIxYzVhNzVjNjNmOTQ3MDkgbGVnYWN5LXRydW5rCiszMTEzMCA5YTNiODQ0M2Q1YTYxNjE1ZmZkOWRlM2Y1ZjM4NzA1MzkzMTg5NDc5IGxlZ2FjeS10cnVuaworMzExMzEgYzQyMTRjMjBiMjFkYzAyMGE4MDdmNjBiMTIzZDQyNDk5NDA4ZTFmMyBsZWdhY3ktdHJ1bmsKKzMxMTMyIDgyYThjYTNjOTI4YzBhZGUzM2Q5N2IyMTFiMDBkMzBlYjg1OTZlMmMgcmVsZWFzZTIyLW1haW50CiszMTEzMyAxZmE0NDQxNDk4NTg5ZDUwMTg1NzNmMmE1MDI3ZDJlYzQ0YzYwNzQ4IHJlbGVhc2UyMi1tYWludAorMzExMzQgNDJiNjE3ZmQ5YzY5MjNkNzU3MjI4MmI5YzE3ZGIxNjhlZmRjMWVjYyByZWxlYXNlMjItbWFpbnQKKzMxMTM1IDIyNTUxZTFkMmM2ZTcwZWQ0ZDQ4YmQzYmU4NTkxZWJkZTY0MmEwMjggcmVsZWFzZTIyLW1haW50CiszMTEzNiBjY2ZhY2FlYzA5Njg5MTllYmJmZThiZDk5OTNiMDY2MGUxYmRjNzc2IHJlbGVhc2UyMi1tYWludAorMzExMzcgYmViMjAwOGEzYzMyOTVkN2U1YmYwYTJhYTQ4OTVjMmE1NTVmODdlYyByZWxlYXNlMjItbWFpbnQKKzMxMTM4IGM5Y2NjOWQwYmE5OWE4OGRiZTllYTQ1ZDkxMWFjNGZjNTk0NjU4NGIgcmVsZWFzZTIyLW1haW50CiszMTEzOSAxZDhjODYyMzRkOWMyYmRmMDY0MTAyODgwOGZiNTk0M2YwYjQ5ODZkIHJlbGVhc2UyMi1tYWludAorMzExNDAgMDYwMjA3OGJkY2UxMjNiMDJiMDI5ZmU0OGM2Y2FlNDNlODRlMjk0YSByZWxlYXNlMjItbWFpbnQKKzMxMTQxIDA3MjlmODM5M2IxNjAzZjdlN2UyNDVkNDM4ZmU4MWJiZmYxYzNkOTIgcmVsZWFzZTIyLW1haW50CiszMTE0MiA2NDdjMjkxNDdkNWQyN2VlODRiYjQzYTFmNjc0OGY4YjYzZWIxMGU4IHJlbGVhc2UyMi1tYWludAorMzExNDMgODM3MDFmYWIzMmZlMTE3NTg5NThmNWQ3N2E3YTIxYTI1OTU1ZTllMiByZWxlYXNlMjItbWFpbnQKKzMxMTQ0IDQ1YWQ3N2E0M2Q4N2Y2OWJhZjQwMmIwMDVhOTI4M2NmOGUwODBjNTYgbGVnYWN5LXRydW5rCiszMTE0NSAyYTgxYzFhODgzY2JiNWMzZWNhMjAxMWY0N2IxM2QzZjIwZGIwNmY0IGxlZ2FjeS10cnVuaworMzExNDYgOWNkYzIzM2I3MjI0YjAzN2JkY2Q3Njc0YjYwODBiOWIxOTRjZjhjYyBsZWdhY3ktdHJ1bmsKKzMxMTQ3IDc0ZDk2MDRlOTM1MzE2ZDdhMTY3ZDNmNTc5MzIyMWVlZTE0YTc1OTQgbGVnYWN5LXRydW5rCiszMTE0OCA1NThkMGYzYjYyNTQ4YmY0MzYwZjgzNWNjYjI4YjA4NTNjNDQ3ZTE0IGxlZ2FjeS10cnVuaworMzExNDkgYmJkOGFiYWEwZjMzNTEyODIzZjZjY2I1YjJkZmVlOTM5ZWMxMzczYiBsZWdhY3ktdHJ1bmsKKzMxMTUwIDE5ZDBjOTk5NTU1ZTkxY2JmNzcxMTNhNjc4ZTM4NjJiZjg5NzY2MTMgbGVnYWN5LXRydW5rCiszMTE1MSA2NWZkYmQ3ODFjYTk5YWYxOTlkOGU1ZTkxMjU5OTg1ODA4NTEyYmJmIGxlZ2FjeS10cnVuaworMzExNTIgYTI0NTI4MzE4YmU5NmNiYTNmYjIwMjE1NDQ0ZmVmMTJmMTlhMWZkYiBsZWdhY3ktdHJ1bmsKKzMxMTUzIDgyMDEwMzhiYmYzMGJkNWJkMWU0MTJlYzRiNzBmOGZhOTU4ZGI1ZTUgbGVnYWN5LXRydW5rCiszMTE1NCBlYWFlZjUxNmE2ODUzZGU3MjQ4NDcyYzZmZTZiNDFhY2ZiMDkxZmQ2IGxlZ2FjeS10cnVuaworMzExNTUgNDU5MDYyMjNlZmIyMzZhMTFkMGMyZjM2NDI3ZjAxMjc4YmZhNGZmNSBsZWdhY3ktdHJ1bmsKKzMxMTU2IDRjOWQwMmM1NjU3YjM1YWJlODcwOWRhMDUwZDFjYWJlMzgyNDAxMWMgbGVnYWN5LXRydW5rCiszMTE1NyBhZmM5YTA5NWEyZDU2ZjhmNzg5ZTg0YmYwMzM0YTRlMmNlNzAzMzRjIGxlZ2FjeS10cnVuaworMzExNTggZjdiMzgyNmQwMTNhMWRlZGIyMTNiMzAyZGQ1OTU4N2ViZTllODMwNyBsZWdhY3ktdHJ1bmsKKzMxMTU5IDY1NjdmNDgyOWU3ZWM0ZmYxYTViZmQzZjBhNmI2M2U2ZDdiZGYwMGUgbGVnYWN5LXRydW5rCiszMTE2MCA3YmY3ZGFjNGRjNDk2MTRiOTIwMzZkZTI3MzIyYTE2OGJkMTRkMGM1IGxlZ2FjeS10cnVuaworMzExNjEgNjQwZTUyZGVlMWEwM2QyYTIyNTg3MWIwNjUxNDZlYTQ4NjI5NzNjOCBsZWdhY3ktdHJ1bmsKKzMxMTYyIDQ4MDMzMDE3Yzc4ZjIwMThjYWQyMjU0YmJmZjQzMjhjNjY3YWM0YWUgbGVnYWN5LXRydW5rCiszMTE2MyBjNDBjYjliZmM4ZTdjM2RmMTY1ODliZGUyYmViZmM5ZTdiNzE5ZjBiIGxlZ2FjeS10cnVuaworMzExNjQgZTRlMjZmZTI4NmMwYjg5YzJiYTYxYjkxMmVjMmU0ZWVhYzRkMGFlZiBsZWdhY3ktdHJ1bmsKKzMxMTY1IDk3NGYxOTZhYmI4N2JlY2NlYjg2ZTRkNGIzOWFhZWIwMzc3MzliZTggbGVnYWN5LXRydW5rCiszMTE2NiA2MDE1NDljNjQwMzljODRiYmU4MWU0NjA0OTdiYjk3ZTFmMzU4YTZiIGxlZ2FjeS10cnVuaworMzExNjcgMmNkNGUwZGZmM2E0MzI3NjBhZTk0MjFhZjgyMGVlMTlmYWJlMjljNyBsZWdhY3ktdHJ1bmsKKzMxMTY4IDYyMDVkYTM4M2U0Y2I0MWI2ODUwNjk5OGIzYTIzMDE4ZGUzNGNkY2YgbGVnYWN5LXRydW5rCiszMTE2OSAwMDQyNmM3ZjE0N2QyMDFhNDMyNTZkYWVmODdkMzM0NzM0MDQ5MWY4IGxlZ2FjeS10cnVuaworMzExNzAgZGQ3M2ExMjE4ZjY5YTg5NjRhMGQyYmE1NGNmNTVhODNjYmM1Zjg4MiBsZWdhY3ktdHJ1bmsKKzMxMTcxIDRkMDRmNDVmZjhhMWU2YzU4ZTcwNWVjOWI1ZGRjMTVlYzMxZWZhYmUgbGVnYWN5LXRydW5rCiszMTE3MiA5MzRhMmI0OTdkMWRkMmFkZTUzMzA4ZTk0ODIyNjEwOTU2OThkNTMwIGxlZ2FjeS10cnVuaworMzExNzMgOGExNDdhNDFjM2Y3ZmFlMGJjZjUzMzJlMjZlN2NmNmZiOGMwZDY1MCBsZWdhY3ktdHJ1bmsKKzMxMTc0IGI2NmFjYmUyOTU3NWM0NWQ1YWVmYTY5YWIzNzA1OWQ5OWJhZmE0NzcgbGVnYWN5LXRydW5rCiszMTE3NSBlOTk2MTVkZTc2NDc2M2M5MGUyM2U0MGIxYjA2ODkwODQxNjg4Mjg3IGxlZ2FjeS10cnVuaworMzExNzYgNTJjZTU3Yjc4YzcxYTg2MDEyZjgyZTFmYWVlODI2OWMxYWJlNDM3NCBsZWdhY3ktdHJ1bmsKKzMxMTc3IGRiNzg0ZDI5ZjQ4MWUwNWJiN2UyM2JjNTVlOGI5NjZkNDJhNWYyMjYgbGVnYWN5LXRydW5rCiszMTE3OCBmNjE5ODYxNDA1MDMwYWFhODJlZTU0ZmE0ZjBiZTc4MWUzNmI5ODhmIGxlZ2FjeS10cnVuaworMzExNzkgZjI2MDM0M2VjY2YxMzIyY2I5MzA0YWQ0NGJkMjIyMGMxY2RiMTg3YiBsZWdhY3ktdHJ1bmsKKzMxMTgwIDU5YjRlYmMyOWQ1MzE3YTZiN2ZjMWI2MGQzOWMzY2EzNzFiMGRiN2EgbGVnYWN5LXRydW5rCiszMTE4MSBlZDkxYmY2MDFiMmRlOThhZjA4NGRjOTc3MmM2ZWY1ODk5NGQ3NzI0IGxlZ2FjeS10cnVuaworMzExODIgMTA2YTQ0YTRiOTc1ZGI0ZjFiMDg2YWY0NWNkNDdjZTUyYjZhYTVkNCBsZWdhY3ktdHJ1bmsKKzMxMTgzIGE5ZGQyMTdhOWJiMTAxZTA4YjEyMzI0ZDgzMjM2NjU5NjRiZDAyODQgbGVnYWN5LXRydW5rCiszMTE4NCBlMTFlOTc2ZmVlNzgxMmFiNDExOGM1YmZiYWQzMmUzNDgwN2Q1OTIwIGxlZ2FjeS10cnVuaworMzExODUgYmEzZWFmZjQ5YjdhZTA4OWE4OGZjMDEyODZmMWRhNDFlNjUxNmZmMCBsZWdhY3ktdHJ1bmsKKzMxMTg2IDY3MzE1MDI2ZDZkMzU5OWI2NmNhNTkxNDczMWViYWM4NTIzNjRhZjMgbGVnYWN5LXRydW5rCiszMTE4NyBiNTk1YzQ3MzVmY2NjNmZkMDAzYjNhODc4ZTg4YTQxNTA1OTY5ZDQxIGxlZ2FjeS10cnVuaworMzExODggMGJiYmNhY2MwNWZiOWU3ZThlZTg0NzBkZGM2MzM1ZGNjZDk4ZjY3YiBsZWdhY3ktdHJ1bmsKKzMxMTg5IDZhMTM5NDY2MDI3MDc0MTcwMjU2NmVkODc2YzUyYTI3ZWRkNjhhYmUgbGVnYWN5LXRydW5rCiszMTE5MCAzNTI3OGFhYWU3NzVjZjk3MWMyMGVhZjJjNTUwNDA3NjNiNTU3YTEyIGxlZ2FjeS10cnVuaworMzExOTEgM2E1MjhhYTIyMmI2YzlkNmRmZTIxM2JiZTZjNzFiNTg1OGQ4OGU4MSBsZWdhY3ktdHJ1bmsKKzMxMTkyIGRmMzYzZDFiMzg0Mjg4NTZmYjRiNTQ5MjM4MmZmM2RkNjljODdhNTkgbGVnYWN5LXRydW5rCiszMTE5MyA2NTJkZjQ1NDk3MDg1NTJhMzA2ZmY3MmJlNzRiYjU4NjY3ZTE3YjcwIGxlZ2FjeS10cnVuaworMzExOTQgZDVlYjEyYmNjZDFlOWY1NTQ1YTBkNDY0MDBkM2I0ZDk4NDQxMTg4NiBsZWdhY3ktdHJ1bmsKKzMxMTk1IDVkNzg4OGZiZWEwMDQ4NGI3NTAwMWM1ZTUzZDg1ZTM0MjJjNDI5YzUgbGVnYWN5LXRydW5rCiszMTE5NiBmNjJlYzI0MDVlOWZjYjU1ZWYxZGRkMjA4YzU0ZjU0OTM5Yjc1ODRhIGxlZ2FjeS10cnVuaworMzExOTcgOGU1ZGU0MzUyOWI3NTczY2ZiNDUwYmU4NDIzYmNiY2U0MTYyMzg5MiBsZWdhY3ktdHJ1bmsKKzMxMTk4IDNlOThkMmUyZDg0N2YxNmM0M2MyMTUzZTA3YzIwYzI2NGQ1MTA3NzIgbGVnYWN5LXRydW5rCiszMTE5OSAyMDMzMGUxMzIxMWVhZGZmZTdiNWI0NjcxNWRiMTcyZmRkNGEyZDU2IGxlZ2FjeS10cnVuaworMzEyMDAgM2IwYjM2Y2RkOWNkOTllNzRhZTA1M2E2M2FmNTZlZjVmYjZhNGY2MyByZWxlYXNlMjItbWFpbnQKKzMxMjAxIGM4OTQzZjg3YzY4Yjk5ZjJmMTY1ZmZiZTIwN2QxNmMxMzhiZjJlMDUgbGVnYWN5LXRydW5rCiszMTIwMiA5NjA4MDNmOWY2OTg5OTRmYTNkMGFhZjQ3MDg5MzY3MWQ3YmI5ZmE0IGxlZ2FjeS10cnVuaworMzEyMDMgY2UzZmFhYjA2ZGU3NTNhNmE5MTQzOTU1N2Y3NzgxMDE4OGIxMDBkNCBsZWdhY3ktdHJ1bmsKKzMxMjA0IDhmODQ0OGZiNThkNmY4OTYwNzUyYTM1Mzk2ZWY3YTY4OWI1N2RkYTggbGVnYWN5LXRydW5rCiszMTIwNSA5NWYzYTFjZDAwZTE2MGQ4NWY0ZTg3Mzg4ZWY3NDNkZWExYTA1ZTI1IGxlZ2FjeS10cnVuaworMzEyMDYgNTE5OWY3ZWE2NzQ2ZjM5ODMzNWE3OTNlOTk4YjkwODY4OTcxZmZlOSBsZWdhY3ktdHJ1bmsKKzMxMjA3IDI2MTkxNWE2YzY4NTJjOTg0ZmJjZjNiNzA3MDNhNjJlMDNhNmQzODQgbGVnYWN5LXRydW5rCiszMTIwOCBkNjk4YzU2MjNkYTA2ZjUxZWM1OTdkZGM3MDBkODM1ZTYyYjI2YmIyIGxlZ2FjeS10cnVuaworMzEyMDkgYjE5YWFhZWI2ZDY0MjAzMTYzYWQ5Y2Y5MGRlNjNmMGJkNGYwMTg1MSBsZWdhY3ktdHJ1bmsKKzMxMjEwIGU1NDU0ZmUxYWFmZDBkY2Y5ZjJlYTY4YmFlZjk2YTNiOGRiZGJkNGEgbGVnYWN5LXRydW5rCiszMTIxMSA3NGFhYmQ0NDE5ZDQwZDY1YmM3ZmZiZWVkNGQ0MzlhMjZhYTY3Y2E0IGxlZ2FjeS10cnVuaworMzEyMTIgZWQxZDRlNzk3MTA5NWJmY2M0YTFlYzkzMTM0MjYzY2FhZWM3NjE0ZiBsZWdhY3ktdHJ1bmsKKzMxMjEzIDk2ZmQwMDRhNThiMGQzMmZlZWFkOGY2MjU5YzA5YjY0OTM0YzNkOWEgbGVnYWN5LXRydW5rCiszMTIxNCA5ZTQ3ZjllZDQ5ZjY0NjIyY2I3ODdmZjE5ZjQ3MjZjZGQyZDQ2YTRmIGxlZ2FjeS10cnVuaworMzEyMTUgMzU5OWY2NTkzZmU5MGMwYzk5YWFkNjgzZjYwOWM0OTBlMWZiM2E1MCBsZWdhY3ktdHJ1bmsKKzMxMjE2IDIwYjgwM2NmMjE5ZDA5ODRmZThhNmE5MTNlM2I1ZjcwNmU2MDZhNGUgbGVnYWN5LXRydW5rCiszMTIxNyA0YzdiMWI3ZDdmMzExMTY3ODY2OTBlMTg3YzZiZDNiMDM0NmZlZDRmIGxlZ2FjeS10cnVuaworMzEyMTggMGVjMzg5Njg4NmU2OTZhNzg5ZjBmZmI5MzMwZDM2MmExZWU0ZGNiYiBsZWdhY3ktdHJ1bmsKKzMxMjE5IDhmMzc4MzVjZjRhNDExYjQyZjAxY2RlYmMyZmZiMzI0ZDA4OTIzNDcgbGVnYWN5LXRydW5rCiszMTIyMCA5YWI5NzFjZDE5NjU3MjRhZjBjYTg4MzM1NmU4NDhhYWVkOTA1NzQxIGxlZ2FjeS10cnVuaworMzEyMjEgNjNkNjM0ZWQ5NDVjYzAxZTg4NzA0ZWVlZDY3ZDI1ZmFmMGIxMmFiNyBsZWdhY3ktdHJ1bmsKKzMxMjIyIGFjNDUzYmIzNzBhMmU5YzcxYmE4ODMwNDlmZTdiYmQ0MTg0NWFmYTQgbGVnYWN5LXRydW5rCiszMTIyMyA3YzRkZGEwYzE0NWYwNDAxYjU1ZTBhMWE2YzQ3MTZkN2ZiOGQxMmNlIGxlZ2FjeS10cnVuaworMzEyMjQgMWEzMDBmNDc1MzMyMDVjMDg2NjVkODQxMDBiNzNhMGE0ZmM2ZDNjZSBsZWdhY3ktdHJ1bmsKKzMxMjI1IGViMjg3ODk0MDkwNTg2MDRlNDdjYmI2ZTFiZDYyZmM3OWQ4YmMxNDIgbGVnYWN5LXRydW5rCiszMTIyNiA0MzE0M2Q0ZGQ2YjFkNTEzYjEyZTg4YWIyY2JhMGExMjkxMjg1ZWMzIGxlZ2FjeS10cnVuaworMzEyMjcgMTg2MTMzNWU3OGFhMTE2YzdkMzk4MDI0ZmQ0Y2Y2MGUzZDc0NDhkNCBsZWdhY3ktdHJ1bmsKKzMxMjI4IDBmY2E2NWEwOWYwNjI4MjhjNWU1OWE4MTY4OTMzOTYxOGJjNzdjZTIgbGVnYWN5LXRydW5rCiszMTIyOSA2MTRhYmJhNWI3NjI0ZmMzNTdmODg1NzY2MDlkYzkyYjEyYjRhOGZiIGxlZ2FjeS10cnVuaworMzEyMzAgMzc5OTlmNjkyNGI0ZTU1MzI4ODJmZWI5ZTBjZGVhYzM2Y2YxZWIzZCBsZWdhY3ktdHJ1bmsKKzMxMjMxIDg0ZjJjNDM4YzNmNTJiYTE4ZWYzMmY5M2Y4YmVmNGFlYjNlNjRhMDggbGVnYWN5LXRydW5rCiszMTIzMiAwNDI4ZDU5MDY5YTk4NDEyN2RmNjdiMmU3OTFmMGE5NjA0OTMzYzU0IGxlZ2FjeS10cnVuaworMzEyMzMgYzhjNzgxNmQzYTJkYTZlMzA5NjQ0Y2JlMDFmNzQzYjU5YmQ5OWU4OCBsZWdhY3ktdHJ1bmsKKzMxMjM0IDBmNjczMWQxMjZkZWIxOGMzN2VkNzY5YWYwNWM0NjM1YTRmOTViNzcgbGVnYWN5LXRydW5rCiszMTIzNSA1MzdiZmNlMmI3MzAzZjFhZjFkNjA4N2E1MTI2YzdjZmE4NmZmNmMwIGxlZ2FjeS10cnVuaworMzEyMzYgZTBmYTUyMDY3ZGJlZmI4MjczZjdiMmI4ZjE5Y2NhZTQzZjYzNjI5MSBsZWdhY3ktdHJ1bmsKKzMxMjM3IGY4N2I2ZDE2YmFlODVhNzlmZmUxNTBhYzE2MmJmZmNkMTM3YjBmNGUgbGVnYWN5LXRydW5rCiszMTIzOCA5YzNjOTkzZTliOWNmMjMzNGFkMjNkZWE3MzNkZjEwOTk4NDBlMTY1IGxlZ2FjeS10cnVuaworMzEyMzkgZTRmZTE2OGUzNWYxNDNmYmNhNTJlZTBjOTQxZTAyZWQ5OWFhNjMyMSBsZWdhY3ktdHJ1bmsKKzMxMjQwIDAwMWNmNzRkYWM1MDFhOWU2NTNkMzM1NzIwYzdiYWIzODdkZWJhZWIgbGVnYWN5LXRydW5rCiszMTI0MSAxNjg1NmM5NTE0ZTA1YTg4NDZkNGRkNjU0NTZlYTk3Y2FhN2U1OGM3IGxlZ2FjeS10cnVuaworMzEyNDIgYWFkZTRiYzEyNWY4ZmYyOTI0ZTRmMzU1OWIxYzY4NDJjMmZlZGE5YiBsZWdhY3ktdHJ1bmsKKzMxMjQzIDc2Mzc2ZTVhZjM4OGQwMTkyZWE5NGJhMGQzNmIzYjdjODJmNDNhZDcgbGVnYWN5LXRydW5rCiszMTI0NCBlM2I1ZjMyMWVlYmIwM2Y0YmVlNTA1MmU4NTExNjZhMmViNjdjMTg2IGxlZ2FjeS10cnVuaworMzEyNDUgNTkzNWI4MjQzZDc0ZTRmZjE4ZGQyNTQ3OWYwYTlhZjQ3NmI3MTAwNSBsZWdhY3ktdHJ1bmsKKzMxMjQ2IDQxMzEzZDIwZDFkZGUyNjhhYmUzOGNmM2VkMzUyMzk3MTE4ZGFlNjEgbGVnYWN5LXRydW5rCiszMTI0NyA1MjJlZGQ1OTFkMmNmMTM3NWJhNDI3NWQwZTM5NTE5OTNmOGUyMjBmIGxlZ2FjeS10cnVuaworMzEyNDggNDc0Y2JiZGYwMGNlN2Q2NDQ3OGU4MDUwOWFlYTcwYTg3M2E1OGI3OCBsZWdhY3ktdHJ1bmsKKzMxMjQ5IDIxMjgzYjZlYTdmMWE2ZGZiNzA4NjVmMmIxZmYxMjZhMDllNDgyMTggbGVnYWN5LXRydW5rCiszMTI1MCAwNDM4NGY0MjkwYmFmNmVmYmM4ZTE5MWRjMmMxOWQyNDJjMDc0MjQ3IGxlZ2FjeS10cnVuaworMzEyNTEgY2FkMTE4NWVlZWY3YzE2OGFlYTFhMjljNTBiNzdkODE3YTkxMWNlOSBsZWdhY3ktdHJ1bmsKKzMxMjUyIDcyNjcyMTRmMDc4NTZiY2U3NDcxODYyYzVmN2YwODBlZjEyMzZiY2IgbGVnYWN5LXRydW5rCiszMTI1MyAzOTgyZjExNzY3OWVmYjgzNjhiOTgyZTYyYjc3Nzk1NjM5ZTgxYjcwIGxlZ2FjeS10cnVuaworMzEyNTQgZjJmMDZiNmVjZGQ3MWJkNzVmNDRhMjRlYzJmOGU5MmMxOTQ0YmJiYyBsZWdhY3ktdHJ1bmsKKzMxMjU1IDVlMzE1MjlmZGQ0ZmFmOTg2MWZkMmYxMzlmNGRhYzU3MDhjMDZlZjcgbGVnYWN5LXRydW5rCiszMTI1NiBkNTAyMTg3YjJiMDZlMDBhN2Y1YjdiM2VhMDZiMTg3NTllNzFjOWFiIGxlZ2FjeS10cnVuaworMzEyNTcgOGQ5MmFmMTQ0YzE2ZWM3ODc3MDM3YWEzOGNhZTQyMTI0NmE3MzdjYiBsZWdhY3ktdHJ1bmsKKzMxMjU4IDAzY2ZjNjM3YzM5MzU4ODJmMjNjODg3ZmYwMzQxZWJjMDE1OGY4OTYgbGVnYWN5LXRydW5rCiszMTI1OSBiNDY2YzVmYjRkOGVhYmNhM2FlZTAzYzNiMDBkZjdjYjA5ZDZjOGRhIGxlZ2FjeS10cnVuaworMzEyNjAgYzFlY2RkZTMyZjg2M2M0OGRjODA0M2M1ZjcxNjMwYTFjMTdjMGNlMCBsZWdhY3ktdHJ1bmsKKzMxMjYxIGZhOWY5ZTU3ZTk4Zjg2MDhjMjRhZWU5MzZlNDM5ZDdhOGM0MGFjZTUgbGVnYWN5LXRydW5rCiszMTI2MiBlNWUyNDJjZjQ2YjFjNGM3N2E1MjcwNDJiYTIwZTQwYzc3YjE5MjRhIGxlZ2FjeS10cnVuaworMzEyNjMgN2IyY2Q4MDBjMjI5NmQ0MmVjYTQyZjRkNTQxYzdjYTYxMjBkMjMxMCBsZWdhY3ktdHJ1bmsKKzMxMjY0IDMyZmI5NGE2YTRmZTliZWNjZTMyZWQ5MTZhMjE5OTUwNWViYWEwMGMgbGVnYWN5LXRydW5rCiszMTI2NSBkYjQxNmJkMThkNGY3OWYyZjhlZjAwMTFjMzUyOGQ2MmFlZWVjODUwIGxlZ2FjeS10cnVuaworMzEyNjYgNDM2N2Y4MDVkYjA5YzNmNjYwNjZjMDI3YjVlOTY4ZTA5ODQwODkzMiBsZWdhY3ktdHJ1bmsKKzMxMjY3IGQ4Yzc2NWMwOWQ4YzFhOGVhNjZiOThjNGUzYTE3NmE3ZTU4YTY1ZjEgbGVnYWN5LXRydW5rCiszMTI2OCBjZTM0MGZiNGI2MTQ5NTEyYjdmZGJiY2VmMjVjMzliYTczZDRhMGMyIGxlZ2FjeS10cnVuaworMzEyNjkgNGI5YjhkZjU0ZGU5YWQ4NTU0MjI0ZWFjZjY0NjdjYTNlODFjNTJhNiBsZWdhY3ktdHJ1bmsKKzMxMjcwIGRmNzQxMjdlMmM5ZmQxNTIxNTg5Mjk0NTJjY2EzODhhYTJiYTg5MGQgbGVnYWN5LXRydW5rCiszMTI3MSA5NTAzNjg1ZmI0ZTg4MDg5MjUyNjFlOGVlNmQ2MjcwMzhhYmZmZmI5IGxlZ2FjeS10cnVuaworMzEyNzIgYjMzMWU1ZTVjYzRhYmYzNTVkZWVlN2RlMDk3NTAwOTM1NDk3MWVmNyBsZWdhY3ktdHJ1bmsKKzMxMjczIGFiZjlhOTEyY2ZjZTljNWJiODBhNzk0ODBmYmYwZWQxYWEyYmI5MmMgbGVnYWN5LXRydW5rCiszMTI3NCBjNDk2MzgzMDVhMjhiMGQyODA2ZjJhNDc0YTkxYmQyZGY5ZjRiYzg3IGxlZ2FjeS10cnVuaworMzEyNzUgODUzNTkyMTcwOTFjYWFjMmJmYjRiYTQyYmFhNzY2MDk2MWQ4MTI3MSByZWxlYXNlMjItbWFpbnQKKzMxMjc2IDk0MWRlNzkxYjE3YWViMzI3ZGYwZDJjM2E2ODY0NGQ1NjVkOGNkMjAgbGVnYWN5LXRydW5rCiszMTI3NyA1OWFlNDFlMDRmZmJlN2ZjN2I4NTY0ZTQwNzg1ZDIyYTI3ZjNlNjQ1IGxlZ2FjeS10cnVuaworMzEyNzggOWY5NDAwOWIxYWUwY2U3OGFlMjRiMTZkMjRhMmZiNmFhN2Q4NzBkOSBsZWdhY3ktdHJ1bmsKKzMxMjc5IDQ3YTY5MTVkMWMzNmI0YjM5NjNmYzkzNDdmZDkzMzZkNjdkM2RmN2MgbGVnYWN5LXRydW5rCiszMTI4MCBjN2NmMWI1ZDQ3MWI3ZTdmM2UyZWZlNDQ0NzBhM2RlMWI1Njk4ZTgzIGxlZ2FjeS10cnVuaworMzEyODEgNzg1MGZhN2ZiNmYxYTE0OWE4OTcxYjMyZmY3NGRkNWQ5MDU4MGUzZCByZWxlYXNlMjItbWFpbnQKKzMxMjgyIDMyOWEwMDc3N2UzMjBjYWU3ZWE4OGEzNDBiZjQ2ODZjNGMxN2IxYzAgcmVsZWFzZTIyLW1haW50CiszMTI4MyA2YjE3ODlhYzJmOTU4MTNlMTI4NTkzNDJlOTkzYmMxOGI2Y2M0ZDA4IGxlZ2FjeS10cnVuaworMzEyODQgOThjMzRjYzFjZjQwMGI2NGU0OGFmMmNiNDQ0OWUyMmZjYzNiYjY5YyBsZWdhY3ktdHJ1bmsKKzMxMjg1IDAzOTU1MTJjZTFiNWFiODljMWM2Njc2NzAwY2QyNDVmMDVmZWQ0MTUgbGVnYWN5LXRydW5rCiszMTI4NiAzOGQwNTA1NjE5NWM5YzE4N2U3ODZkMDdlZDk2ZjBkZGVkN2Q2OTY5IHJlbGVhc2UyMi1tYWludAorMzEyODcgYTRiZGU5MTUxMThjNjA1OTM0ZWNhYjBhYTUwZDNhYWEyNDZlMWM4NSBsZWdhY3ktdHJ1bmsKKzMxMjg4IDU5NDgyMzE3MTY2ZTZhNzczMjQ3M2FmZTIxYzZjOTMxYmFmMWExMTYgbGVnYWN5LXRydW5rCiszMTI4OSBjODE0OGQ3ZjBjOTg2ZTBmMGRlOGY2MmQwOTYwNzEzZTM1N2RjOGI4IHJlbGVhc2UyMi1tYWludAorMzEyOTAgYThhNjQ3ZTE5MjdiNTZlOWQ2NzcyNDZjNWZiZTViZTU0MjNiYzU0YSBsZWdhY3ktdHJ1bmsKKzMxMjkxIGY0Y2RiYTgzYmU1NjAyOGU2NWNmYWM5MzcwZGFhOTNlZmFmY2FkOWYgbGVnYWN5LXRydW5rCiszMTI5MiBmYzg4MTc0YzBjMGFkZGUzNmNhNjM4NjE5NDFhY2I0Y2RmYjIxODZhIGxlZ2FjeS10cnVuaworMzEyOTMgYTAzNmE1MTk3NjEwYzdjOTI5ZDBjOTA0ZjhlMjBjMmQ5ZjM3MzM3OSBsZWdhY3ktdHJ1bmsKKzMxMjk0IDdiNTA0M2MwZmY0NzY4Njc4NjAyZWM5MmYzOWQ2ZjczN2NmOGQ0ZjMgbGVnYWN5LXRydW5rCiszMTI5NSBjNWFkMGEyNDg5YjgyNzVkMGEyZDRkMDM4MzEzYzNkYTNlNWJlNmJhIGxlZ2FjeS10cnVuaworMzEyOTYgODJjYmYxMTc4ZTRmNGYyYTY2MDBmZDQ5ZTI5ZGJlMjlmMGZhY2FjNSBsZWdhY3ktdHJ1bmsKKzMxMjk3IDJkNTViZTNhOGVjMzRlY2IxOTEzMmQ0YmFiZjEwMTYxNGZiYmY3NmQgbGVnYWN5LXRydW5rCiszMTI5OCBkYzVlMWQ5MTgwNTU4MTM0ZDI4NmZiNzQ4ODJkODRlMjE5ZmE2NTE3IGxlZ2FjeS10cnVuaworMzEyOTkgMmMzODlhMDQ0OGE0ZmIwOGM2NDUyNmM3Y2EzYjhlYWQ0Nzc1MmVhMSBsZWdhY3ktdHJ1bmsKKzMxMzAwIDlmNzEzYzdiN2ZkOTEwMGU1NjUzODVjMDYzZmU3MTJmOTYzYjViOTkgbGVnYWN5LXRydW5rCiszMTMwMSAzNTY2Yjg0ZTY2YjllNzU2YjIzMDZhZGU2MjYwMmIxYzAyMzgyMjc4IGxlZ2FjeS10cnVuaworMzEzMDIgMjRlOGM3ZTUyMWY1OThlNWQwZWQ2NzAxYTQ5YzIwNDU4YjExZGYyOCBsZWdhY3ktdHJ1bmsKKzMxMzAzIGJmYzUyNDM3OTMwNzExODQxNjQ1ZWY3MmQwMzhhZTgxYTMxNTQ3OTYgbGVnYWN5LXRydW5rCiszMTMwNCBjMTg0MjI3MTZmZjI2Yjg4MTA1MjcyZTllYTg5Mjg1ZTAxMjIzNmVjIGxlZ2FjeS10cnVuaworMzEzMDUgOGJmZjNkMDk0NGJhNzY5ZmJmMjdiNGNhZWFkZjhiODQxN2ZmZTM4ZiBsZWdhY3ktdHJ1bmsKKzMxMzA2IDVmNjkzMWI4MzUyZTQxZjBlMWJiMzU1YmZiZmE0NzZmYTI0YTk1MzkgbGVnYWN5LXRydW5rCiszMTMwNyAxZGM2MzY2NTQzZDQ4NWU3NjRhZjU5YTUwM2FmMzAxOTg0YzQyZjc0IHJlbGVhc2UyMi1tYWludAorMzEzMDggZmM1YTYwYTYxZTMyZjUzZWRjMDg4ODMyMjA1YjlkZTdhZWQ4MDY1MiBsZWdhY3ktdHJ1bmsKKzMxMzA5IGRkMTEzMDI1M2YxMDNiOTZkNmFiZGZhZGQxZTIyODdlNDM1NjAyYzUgbGVnYWN5LXRydW5rCiszMTMxMCBjYzAxZmI2NTRjZTNmNTVjYjZkZTNlMTk0YzkzOTBkYzU3YmU5ODJkIGxlZ2FjeS10cnVuaworMzEzMTEgOTA0ZjBlNzY5ODIwOTA1ZWJjNzY1YzIwNGE3ZjUyZmIyMzgyMDRlZiBsZWdhY3ktdHJ1bmsKKzMxMzEyIGViY2FlZDc5NDhlODBlMWNjOTdmNmJmNTJhYjBjNWU4N2RmNjBjZDEgbGVnYWN5LXRydW5rCiszMTMxMyAyMTAwMTgyZjc0ZTM4YWM1NWY0MGI0NDMzN2ZmZGY3NzE3MzZjOTllIGxlZ2FjeS10cnVuaworMzEzMTQgYzIwZmVjYjVjYzljNTZlMzdmZTY3Zjg4OTc4ZjkzNTJhMWY3YmNhYyBsZWdhY3ktdHJ1bmsKKzMxMzE1IGYzNDQ0NmZhMjE2ZTVmY2MxMzcyYTQ1YWNmNTkyNjA1ZGI1ZDhmN2MgbGVnYWN5LXRydW5rCiszMTMxNiAwYmRmZDY1YmIxMjI1OTMxMDljOTc2YjEwYTZhMzAyNmE5MTc5YWVmIGxlZ2FjeS10cnVuaworMzEzMTcgMzliMWJhYzg5MzY1ZjgyMGNkMzkzODJmNGI5NzczM2RhODQ0MjMzMSBsZWdhY3ktdHJ1bmsKKzMxMzE4IGYyYjQzMTM2NGY2ZmNiZjBmYTQyMjMyY2QxOTRkZTI0MjgzMDlmZDIgbGVnYWN5LXRydW5rCiszMTMxOSBiNjUwYTU0YTc2ZmRhZGFlYjdlMTUzMWU0ZjJlMmYyOGU2MTQ0YmMzIGxlZ2FjeS10cnVuaworMzEzMjAgOWE2MDU0YzZkNDZmYWI2ZGIzYmZmMmY5OWRhNzhlNjE3NzdhYjEzOCBsZWdhY3ktdHJ1bmsKKzMxMzIxIGI1NmYwMGVjODA4MzEyNzg3YmUyMmUyZjhhYzUwNDczNTU5NDllZTQgbGVnYWN5LXRydW5rCiszMTMyMiBmMDQwOWQ3NTRiOTM3N2VmYmNiOWZlNWRjMTZlODE1NDRlY2EwMzdhIGxlZ2FjeS10cnVuaworMzEzMjMgZDJiMDFjOWRmZjE2ODM1YjllYWY4MTk5YmRmYTBlZmM5YmY4MDkwMiBsZWdhY3ktdHJ1bmsKKzMxMzI0IDIwNDJlMjA1MWQ5Nzg0NzU2Mzc1Nzk5ZTdhNmNkYjNlMTUyYTI4ZDggbGVnYWN5LXRydW5rCiszMTMyNSAwNDAwYmE3OGE4OTc5YTRmODg5ODA5NmVkNDM4YTc2YWIzOTM4MWU2IGxlZ2FjeS10cnVuaworMzEzMjYgNjE5NzNkNWY2ZTI1M2M4OTdiODk3NjEwNTBkNzc1ZGI0Y2IxZTlhZCBsZWdhY3ktdHJ1bmsKKzMxMzI3IGU2MjA5OWM2NWEzYzNjMWUzNDk0MDE3YmUxZWFmMmFiODVmMGIyNjcgbGVnYWN5LXRydW5rCiszMTMyOCBiMDUzOWE0NTA5MTcyNTBjYzZmNWUxZmIyYjVmNjI3NzZlOTc3MmYzIGxlZ2FjeS10cnVuaworMzEzMjkgMzYxMTk3NmNiMTc0YTVmOTUzNDlkYjVhNzZjMTlmZmRkNjM3MjY3MCBsZWdhY3ktdHJ1bmsKKzMxMzMwIDBjN2U4YzNmNjQyZjYxNWE1NzJhNmNhNDQ1NjIxMDhiZDNiZWRiODAgbGVnYWN5LXRydW5rCiszMTMzMSAzNzJlMzQ4M2QzMjc1NDI4MWM2MTc1MGFiMGVjNmZmOTcwMjhkOWVmIGxlZ2FjeS10cnVuaworMzEzMzIgYzdkZjIyNWU0ZTRhNTc1MThkM2YwNjcxMzc5MzBjODAwM2E4MjU2MiBsZWdhY3ktdHJ1bmsKKzMxMzMzIDhkMWIyNzJjOWU3MWMyNDI5NGRiYzc2ZTc3ODM5N2M4OTk5MDY2ZTUgbGVnYWN5LXRydW5rCiszMTMzNCA5ZWM0N2U2NTExN2QzOWRhYTM0MzRmNjliNmI3ZmIwNWQ1ZDgwZTY5IHJlbGVhc2UyMi1tYWludAorMzEzMzUgZTg4NzhjOGY1NGRmNWQ1ZTExYmE3YmQ1MDdkNjNjNzA4MjA2MDQzNiBsZWdhY3ktdHJ1bmsKKzMxMzM2IGI5NWI5YWJiOWJmMzllNTcxZTczNmUzMTZlMDU1Zjg1OWRjYWU5NDQgbGVnYWN5LXRydW5rCiszMTMzNyBkMmU3ZjQ2OGYyMjRlODEyZWQ1M2ZlZjk3ZGViYTI3MTI4NjY0NjUzIGxlZ2FjeS10cnVuaworMzEzMzggOGQ2ZWUxNTg2NmIyMTZkNDFhYjlmMDBiNzYxODJiZThjNDE5MWY4MiBsZWdhY3ktdHJ1bmsKKzMxMzM5IDU2NjNlMGM4MTg2MDJmMTg0MGZiZTUwNTZmYzk0ZDBjMWZmOWQ4YWUgbGVnYWN5LXRydW5rCiszMTM0MCA0MjM5NmE3ODZmNTkzMzJkYzI0ZGQ0NzY1NmJiOTNmYjlkMTFlNmU0IGxlZ2FjeS10cnVuaworMzEzNDEgY2QwNWFmNzAxZTVkNjViYjcwMjFkYmZjYjVlMjVmOWJjYmUwZWUwOCBsZWdhY3ktdHJ1bmsKKzMxMzQyIGY2Yzk1ZjkxMzhhZDM3MmQ5MTI4NjMwNDdiOTliZTFmMjFjYzlkZjcgbGVnYWN5LXRydW5rCiszMTM0MyA0OGRjNGE1OWE1MGVmODZlMWEwMzBkNDM2NTkyZjUzYjgzOWM2MzM5IGxlZ2FjeS10cnVuaworMzEzNDQgY2IxZWVhZWI3NGEwNjYwNzg5M2FlZWU4ZDQ2MzhkNzMwYTU3ZjMwMyBsZWdhY3ktdHJ1bmsKKzMxMzQ1IGZhZmZiMTFmNTRlOGQwYTRmODc5NWM0MjlkNjExMmI1OGQwNDA0ZGUgcmVsZWFzZTIyLW1haW50CiszMTM0NiBiZjA4M2UzNTE4NWY1NDMwY2MxYmU1ZGVlMzI3Yjk2MTQzOTI3ODBiIGxlZ2FjeS10cnVuaworMzEzNDcgNTlmYmFlMzNhMGY5ZDdlNWRlN2IyMGJjMjk1ZWY5MzhmYWM4ZmRlYyBsZWdhY3ktdHJ1bmsKKzMxMzQ4IGVlMTBkN2U3ZjgxOGNjNDNiZmQ3YmM3Y2I0MzQ3YmZjZjUzYjlkZjggbGVnYWN5LXRydW5rCiszMTM0OSBmYmM0NWJlYWYwMzQ0Y2ZkZGNkMzNlNTdjMWE4NjFiNTQzYzk4MTlmIGxlZ2FjeS10cnVuaworMzEzNTAgYjgwNGVlNWJlYjQ5MjM5ZGU4MDMzMmE5MzExZjFiMjZmMTQwM2RkNSBsZWdhY3ktdHJ1bmsKKzMxMzUxIDE5YWMxMmFjODA0MTUzNTNjOGZjMmZkYjBiODNhYjIxMWEwYmNjYzggbGVnYWN5LXRydW5rCiszMTM1MiA2NTFkMTEyM2VkNmUzNzIyYTNhYWZmMDJhOWU5YzI0MDFjOTYxN2QxIGxlZ2FjeS10cnVuaworMzEzNTMgYmRlYWNmN2IxNWM5NjZiYjUxNDE3NWIxODAwNzFhMGY0ZWU5Zjc0YiBsZWdhY3ktdHJ1bmsKKzMxMzU0IDAxMWY3MzQyNThkYjliYmViNDcyMGMxNWM0YWViYjc2ZGMyZjg2MWQgbGVnYWN5LXRydW5rCiszMTM1NSA3ZGZmY2M0OThjNDU4MzFiNmNiYjQzNzA0YTZmZThiOTNlNjhmN2UxIGxlZ2FjeS10cnVuaworMzEzNTYgYzM3N2M1NmVkZmM4ZDM2YjA3N2NkMzUwYjczZWFlYzE3OTY3YjNmNSBsZWdhY3ktdHJ1bmsKKzMxMzU3IDZiYTk0MGNkOTllZjk4MzFjNjIwNWE4NjY3MTY5MjMzYjU2ZTgwNmEgcmVsZWFzZTIyLW1haW50CiszMTM1OCA0YTAyY2E2YmRiNmY0ZjdjY2M5YzdhMjQ3NzM5Y2U5N2RhZTZiMDRkIGxlZ2FjeS10cnVuaworMzEzNTkgYmY5Y2EwODZiOGFhNjI3MDQyYTI3OGRiYTc1NDNiNDliZWNhMDdkOCBsZWdhY3ktdHJ1bmsKKzMxMzYwIDZiNTY5NjU0MWJhNGVmNGE5M2U1ODI4NGY4YjAzNjE5N2M5MGY0NzIgbGVnYWN5LXRydW5rCiszMTM2MSA3ZjE3MWY5ZGI4YWZlNDg0MDVmMDhjNDJhZDAzNTc1YTk5MjMxNWJhIGxlZ2FjeS10cnVuaworMzEzNjIgNTIzZWZkNzczMjYxYTY3MmFhOWZiYmFiZWJmNWM4M2Y2ZTg1MzZhNSBsZWdhY3ktdHJ1bmsKKzMxMzYzIDk0YmQxMWIxMWRmN2Q1ZmRiMDc1MThhYTY5Mjk3N2ExMDk5NTJkZDIgbGVnYWN5LXRydW5rCiszMTM2NCA1ZDJkMjRhNzM4MjU5MmQwMTNmZDlmYTI1NzNhZjA1YmVjZGEyNjgzIGxlZ2FjeS10cnVuaworMzEzNjUgMjIxZWFmNzgxNGY0NGI2MjkwNjBiYjJiZGIxYTMyYmNhNDhlNjAzNCBsZWdhY3ktdHJ1bmsKKzMxMzY2IDEwMjU5MTIyYmY1ZjJkMTM5YWU2Nzc0OTdjOTc1MTk2MGRmMmI5M2MgbGVnYWN5LXRydW5rCiszMTM2NyBiNTE5NzBiYTIxODA2MzMwOTQ1Mjk2MmJkNmFhYzVjNWE5ZGNhMDFjIGxlZ2FjeS10cnVuaworMzEzNjggNTAxNzNlYTFmZDQ0MDcxNmE5MDAyODU2ZDk5MTRkNDc3ZjBkZDc0NiBsZWdhY3ktdHJ1bmsKKzMxMzY5IDE1YjAzMTc0ODExNmMzNjhjNWJkYjMwYzM2N2MxNzBjOWM4ZTI4MDIgbGVnYWN5LXRydW5rCiszMTM3MCAzMTYwZDMwNDE1MjE5NGNlMDg3ZDhjMjEyOTY5ZWI0MDM5MGYyNTkyIGxlZ2FjeS10cnVuaworMzEzNzEgMWMxMjk5YmMzM2Q2MDcyNzZjYjMyNDlmNjQ4MWJmMWNjNDg4OTc2OSBsZWdhY3ktdHJ1bmsKKzMxMzcyIDIzZjZiMGQwMWJjNmFkNDM0Y2I2MDk4ZDllNWRlMzJhNmRjYTZlYWEgbGVnYWN5LXRydW5rCiszMTM3MyBlNGRiZjBmMDA5NWJlODZjZjM1MWY3NGJhMWRkNjRlNzY2OWNhMzJjIGxlZ2FjeS10cnVuaworMzEzNzQgZGFhNDQ5NWNmNjFhYjE0YzQ1ODYzY2FjODJmOTQ2ODIzMGI5ZmYxOSBsZWdhY3ktdHJ1bmsKKzMxMzc1IGU5ZDcxMDJmODI3ODBmZmJlMDIyOTRhMWM0ODk2MmIxYzYxOWE4MTAgbGVnYWN5LXRydW5rCiszMTM3NiBlMGRhNDU3N2FhYTYyNDE1OTY3YjU2ZDI0ODM4NGE4YzM2ZmVlNmU1IGxlZ2FjeS10cnVuaworMzEzNzcgY2IyYzNmYmJhNzJlZTc2YmZlZTE2YzUwNWNkYzliYjhmNzllNjgxZCBsZWdhY3ktdHJ1bmsKKzMxMzc4IDNlYjAzNzZlOTNlODQyMDY1MGI0MzMwY2I0MzRkZTk1ZjFkMmIyYzkgcmVsZWFzZTIyLW1haW50CiszMTM3OSBjNWRkMDc3ZGUwZmM2NDZhN2UxN2RkMzI3MTkzMjk4Njk3YTIzMjRmIGxlZ2FjeS10cnVuaworMzEzODAgN2EyMGJiZGJmZjM2ODJmN2Y2NjUzZDViOTcwMjc1MTM4NTQxOTMyNSBsZWdhY3ktdHJ1bmsKKzMxMzgxIDRiNzVhMGI3Njg1NzE5YmY4YjNlMTMyNDRmOTdkYTU5YzkwMjZmODEgbGVnYWN5LXRydW5rCiszMTM4MiA1NjIwYjA3ODYyNzExOWI2OWI2ZDAzNGY4NzVjNTJmOTVlYzMyY2QyIGxlZ2FjeS10cnVuaworMzEzODMgODFhZmNhNzQ3Y2FhNWMxODZlZDAxODc5ZTYyMDc5YjgyMzVmOTY5MiBsZWdhY3ktdHJ1bmsKKzMxMzg0IDAxNjBmZmNiMTllMzM3YmYxM2I4MjljNTI3MTFiZWZkMmFkMzJmZWMgbGVnYWN5LXRydW5rCiszMTM4NSBjZDEwZmE3MjFhNTEyYWM4YjM4MmUwYjdlM2MzMzc3NGU2YjQwZTQ0IGxlZ2FjeS10cnVuaworMzEzODYgYTg3ODA0NzlkNGUwOTc3YzIyOGViN2Y4Yzc4MjY5NTY5ZThlZWFkZiBsZWdhY3ktdHJ1bmsKKzMxMzg3IDk0NTNkOGNkZDAxZThmN2MwOGI1MDUzNmFjYjA4OWZjYjZkM2YxODIgbGVnYWN5LXRydW5rCiszMTM4OCBlN2NkMDg2MWMyNzNiNTYyNjRjYjdjYTI1ZTdlY2MzZDYzMmNkYzRlIGxlZ2FjeS10cnVuaworMzEzODkgMzg3NDYzMzdhZTZlMDhlMTUzODZjNTQ2MzJmZjliMzgzNmVhM2QyMCBsZWdhY3ktdHJ1bmsKKzMxMzkwIGY4NDQwYmI4ZWRlNWQxOWY0OWZjMmY2ZmVhYzVlYWZmOTIzYjc4MmQgbGVnYWN5LXRydW5rCiszMTM5MSA4M2JiNmM5ZGQ3OGMwYzYzYmM1MTFkOTQwOTA2ZGFlYTEzZjlmNTA1IGxlZ2FjeS10cnVuaworMzEzOTIgZDE5NjYxZTE5OGY3NDcyYjYwMzYwZWRlYjQ1ZmU4YmU3Mzc5MmUzZCBsZWdhY3ktdHJ1bmsKKzMxMzkzIGI0ZWIzNDM3MmJkYjVlNzEyYzdiNjQ4ZjAzOGNhZDIwZmVkNmI3NGEgbGVnYWN5LXRydW5rCiszMTM5NCA2NTQ5NDQ2OWFkM2VlZmRlMjRkYmM2MmNmZDIyMmI3NWY2NTc0NTY5IGxlZ2FjeS10cnVuaworMzEzOTUgYmJiYmEwZWU2MWZiNmYyZjYwODQ2NjM4NGFhOWJhZTgzOTlmZDZjMCBsZWdhY3ktdHJ1bmsKKzMxMzk2IGU2Y2Y5NTU3ZGU0MmE4OTljOWY5YWI1NDc2ZGYzNzMyZmMwZGU4OWEgcmVsZWFzZTIyLW1haW50CiszMTM5NyBhNTIxMzdiODhlYjNjZjY0ZDliNjVmZDEwY2I1Y2NkOWMzZTdhYTU1IGxlZ2FjeS10cnVuaworMzEzOTggODcwY2YxNGFkZDJhZGJjNzA2YTQ5ZDQ3YjM1N2FlZmUwZDlhN2ZjZiBsZWdhY3ktdHJ1bmsKKzMxMzk5IGE5Yzk2YmI0Njk1M2JkZThiMTRkN2QzMjhjNTYyZWQ5MGE5MGVjOTAgbGVnYWN5LXRydW5rCiszMTQwMCAxMDBmYjY4NGNmM2U1ZjUzNDNjYTBiMDRiNjQxY2NmNTMwZWU2ZTJmIGxlZ2FjeS10cnVuaworMzE0MDEgMTFlNjEyM2RlNmZlZDZmZjkwNjVmYWVkOWI3MGE0ODlhY2ZmZmFhMiBsZWdhY3ktdHJ1bmsKKzMxNDAyIDg4YTQyYTdjMjM4YTY0ZTc5MDI1ZWNjZGY0ZTU4YTE4MThlYzQ3YWUgbGVnYWN5LXRydW5rCiszMTQwMyA2YWY3ODBlMDg2MmQwMDljNjgwYWUwODk0MDQ1ZDY5OWM1OTEzMjA3IGxlZ2FjeS10cnVuaworMzE0MDQgYWJkZWViODE4YTlhMDdjNDEzNTYwZTE1MzljNDYzOGY2YjliM2JhYyBsZWdhY3ktdHJ1bmsKKzMxNDA1IDg3ODllOTgyMmFhNGM5NzFkZjFmOGVhYzYzYTEyN2Y0MzYxMTlhY2YgbGVnYWN5LXRydW5rCiszMTQwNiA4YTZjNDU5MTBlYzkwOGQ1NzgzNjQ5NmJkMTNhN2M4OGU4ZTdjY2U2IHJlbGVhc2UyMS1tYWludAorMzE0MDcgYmU3NjgzYTZmNTIxYzVhNmQwMjgzYzVmNzRmMTM2NDU3YTJlYjRhMSBsZWdhY3ktdHJ1bmsKKzMxNDA4IDg4NGZiNTU4ZjJiOTFkMGJkMDIxNjdmYTNhYWRiNjZjYWNjODc3MGUgbGVnYWN5LXRydW5rCiszMTQwOSA1ZmVkMTE0MmZkMzRiOTA2NmE0NmYxMzc3OTkxNjc4MTQxZjRiOWJjIGxlZ2FjeS10cnVuaworMzE0MTAgMTQ4ZDhjMGI5NjQ3MjMzOWE1YjI4NzkxYWY0OGRlYzg2YjgyMzA2MSBsZWdhY3ktdHJ1bmsKKzMxNDExIDQ2NjU5Njc1ZDdmNzkyMDljZmRlNDYwZjU1YWE5MTIyZWMwMmM1YWQgbGVnYWN5LXRydW5rCiszMTQxMiA1MjBhOGMwYzlhMjVlYzhiNzFkMzdhNDVjZDA5MDJmZDY2NDFlZjYxIGxlZ2FjeS10cnVuaworMzE0MTMgMjA5NGUxOTlmZDU1NjMxZjBjNjJmMTAwN2M1MTg2NDM0ZTUyM2Q5ZSBsZWdhY3ktdHJ1bmsKKzMxNDE0IGVhY2Y5Nzc1OTAzOGMzNTkyZDgwY2U4Y2RiMDMzNDBmYTU2NjdlYzIgbGVnYWN5LXRydW5rCiszMTQxNSAyMDZjNWUzYjViZTc1YjE5Y2VlY2ZmZWRhNjliZmQyZDliYjQxY2UyIGxlZ2FjeS10cnVuaworMzE0MTYgY2VkZjllZmE2OGY4MTRmMzhhMzEyNzk1NWEzNzI5ZDMwOTU0MTQ3MyBsZWdhY3ktdHJ1bmsKKzMxNDE3IDMxZTg1ODFiY2YyNTkzNzhlOTVhZjI2ODlmNDA1MmU3NDk4Y2M4MjcgbGVnYWN5LXRydW5rCiszMTQxOCA1N2QwYmFkNzNjOGU1YTI0YmNmMTU0MWVhMGYyNjBiMjJlMWYwNDI0IHJlbGVhc2UyMi1tYWludAorMzE0MTkgZTdkNTlkYjY4MzlhNzE5YWE1Zjc0YWViNDlhZDlmZTQyMDJjODRjZCBsZWdhY3ktdHJ1bmsKKzMxNDIwIDVhZWUxYzI3MjkzOGQ1MDUwM2IwODRlYzRkMzgyZWQ1MzMwNGI4YzEgcmVsZWFzZTIyLW1haW50CiszMTQyMSBkOGIwNjAxMmIzODE1ZjJhOWNmMGI0ZTg3NzQwNGQ5ZGU4OWJmNDA1IGxlZ2FjeS10cnVuaworMzE0MjIgYTc1OTA1N2VjZjFiMzIwNTcwNTA4YzZmOTliYTdlNWU5MWJmY2JiNyBsZWdhY3ktdHJ1bmsKKzMxNDIzIDY2ZmEyNDc3N2YwYWVmZDhjNGQ3OGNlOTA0M2EzZWNiMTFiYjVkODAgbGVnYWN5LXRydW5rCiszMTQyNCA3NDI4YzEyZjUwM2Y2ZDk2OWNmZDFjMjhiMzllMzk4ZDE0M2YyYTM2IGxlZ2FjeS10cnVuaworMzE0MjUgNGUzMWU0MDg2ODQ5OGE4YmFiOWM0YThlODE1ZTg5MzhjOGU5NzhkMyBsZWdhY3ktdHJ1bmsKKzMxNDI2IGNmMWVmY2E4MmIxODM3ZmIwYzNiNTk3ODAxZTNjY2UwMDNmNTJmZDQgbGVnYWN5LXRydW5rCiszMTQyNyBjMTYzZjk1YjMwMGM2NDlmOTA1NzE4YWFiODY4OTZjYTdjYTY2NWQ0IGxlZ2FjeS10cnVuaworMzE0MjggZDBmNGYzY2Q0ZmU0MWM4NTc1MmVhOWYwMjg1OTg3NGFiM2Y0NTFlMCBsZWdhY3ktdHJ1bmsKKzMxNDI5IDE5N2Q2NGRjMDRkYzI0NmY0ODcwYTQ4NGZmNDE5NzUxYTI3NWNmYzcgbGVnYWN5LXRydW5rCiszMTQzMCA1NWFkZjA4YTIxM2EyZDg0NjFmMTdmN2EyYmZiZGMxMTYzNzc1MjI4IGxlZ2FjeS10cnVuaworMzE0MzEgODFiMmJjYmZlMzliYjYwMDgzYmRkODdmMTg0OTIxOTZjZWEyNTE1ZSBsZWdhY3ktdHJ1bmsKKzMxNDMyIGU1ODIwYTE1MGQ4N2ZlODQzNGVjODBlZGQ0MGI4MzRmYzQ3MDVmZGMgbGVnYWN5LXRydW5rCiszMTQzMyA5YmRhY2NkOGE5MDhjMjMwMjE1MDA2MDIyYzk2ODk0MzcyM2Q4M2YxIGxlZ2FjeS10cnVuaworMzE0MzQgMjMzZWQ2Y2M4ZTE0YTcyNGVjNmY5N2M3YzhlOWQ3OGUzMDE1YWRhOCBsZWdhY3ktdHJ1bmsKKzMxNDM1IGE2ODJjZWM2Yjg4MGE0OTc0NzkxY2QwMGZlMGYxMmE2ZmE3MWQ3NDMgbGVnYWN5LXRydW5rCiszMTQzNiAzZTE2OWQyOTQzOTViODFkNGE4MDhmMDczMGVmOTZmMjU5MzIzMmM2IGxlZ2FjeS10cnVuaworMzE0MzcgMTc0NzQ5ZjViMzJmYWExODYzM2I2NjQ3ODgyZGUzZDJkY2Q3NGFjNSBhc3QtYnJhbmNoCiszMTQzOCA0N2I4Y2FiYWI3YjEwM2ZlY2I1OTRkOGNjN2QzYmY5N2EzZTkyMTMzIGxlZ2FjeS10cnVuaworMzE0MzkgOWI0MjMyMGYxZTBmYjA0ODc5YWMwZmM1Njg2ODg2ZjNiOGUzMDgzZCBsZWdhY3ktdHJ1bmsKKzMxNDQwIGIwZGNhOTJjMjk5YTVlOTYzZTRhMWViMzBiYTRkNTJjYjA5NmNlM2QgbGVnYWN5LXRydW5rCiszMTQ0MSA5NWI3NTA0NDZiYjk5ZDRhZDFhMDNmYzMxMTMxMjAxZGZjMmZmMDJmIGxlZ2FjeS10cnVuaworMzE0NDIgYzVlYmFjYmJhMGJlYzA1OTMxYTg3NjdhODZlZjNiOTIyMGYzOWI1ZSBsZWdhY3ktdHJ1bmsKKzMxNDQzIGNkYjFhYmMxYjQwOTI5YjgwMWExOTA0OTJiZGZhYzY4YzJmNTZlZjMgbGVnYWN5LXRydW5rCiszMTQ0NCBjN2Q3ZjM1MGU5NmM0NWE5NjhhNWY0YTg3MDk5MWI1ODQ3NzVmN2E2IGxlZ2FjeS10cnVuaworMzE0NDUgYTZkZmFiZjNiOTJiZDdhMzU1ZTg1YTEwNzA4MGYyMDY4N2FjOThmMCBsZWdhY3ktdHJ1bmsKKzMxNDQ2IDkzZDQ0ODcwZThiNThhMWVjZDEyM2Q2YWE5YmQ5Yzk0Y2U5MThkMjAgbGVnYWN5LXRydW5rCiszMTQ0NyBjMzQ2ZDA5NTc5MWQ3ODg4NTdkNjBmNGE1ZDgxOWYwZjI5NGYzMmE5IGxlZ2FjeS10cnVuaworMzE0NDggYmUzNzFmZmM0Y2QwN2ExYWU1MTEzYTdlYzU1MDVkOGZiOWRiMGU5NiBsZWdhY3ktdHJ1bmsKKzMxNDQ5IDRiNWMyZTAyNWM1ZWY1Zjg5MmRmN2VkOGRiYjRhNDMyYWY0NDdiNTkgbGVnYWN5LXRydW5rCiszMTQ1MCA4ZTc0MzJjZGY3ZDhmYzY1NGFjYmM5YTQxNjBmODExNjA3NjE1MTcwIGxlZ2FjeS10cnVuaworMzE0NTEgMjc1OWIwNDhkYTliNmY0MDlkYzE5YzA0M2MzZmQ4NDNiYjU5MDM1NCByZWxlYXNlMjItbWFpbnQKKzMxNDUyIGVmYzQ2NTgxMGUxZWRhYzlmZjExYWE4MjljOWUyYmMyZTU4MzA5OWUgbGVnYWN5LXRydW5rCiszMTQ1MyBlYzEwNTJlZjczYmE4OWM0NzNhNDdhZDMyOTM2YjlmYzA0YWQ3YmQyIGxlZ2FjeS10cnVuaworMzE0NTQgMzAxOGYzMWY2ODMwOTIzYjkwOGNmY2NlZjE4NTM2NjY1NWMzNTVlMyBsZWdhY3ktdHJ1bmsKKzMxNDU1IDJjNGFiMWRhNmViNDdlYTE4Y2E2NGY2ZGI4ODE2MjcxMWFjOTkwZjAgbGVnYWN5LXRydW5rCiszMTQ1NiBiZWRhY2E5ODUzZjkwNGNiM2I5YjQ4MTM3OGZkNDZjYzkzNGI0MGJkIGxlZ2FjeS10cnVuaworMzE0NTcgODRkMzA5YjY3NmZhN2I3NzEyOGI0OWEyY2EwMDNkMWUxZDIwMjc0NSBsZWdhY3ktdHJ1bmsKKzMxNDU4IGUzMWIzOTkzMGEzMTI4MzRlY2RiYzg3MzVmZDUwNDJmNzFmZDZiNGEgbGVnYWN5LXRydW5rCiszMTQ1OSAzZGEzMTc3OGVjZDcyNGY4YTE0MGZlNzc0NmQ0NDNkMWY1YTNhMjIyIGxlZ2FjeS10cnVuaworMzE0NjAgODUwYzBkYTEwMWI2M2ViYmViYzQ2YTJjZTg3NGQ0ZTg3MWVlM2ZiYiBsZWdhY3ktdHJ1bmsKKzMxNDYxIDJkNTAwNDliZDIxZGY3Y2FhMTFlYzJiMWQ1MDUzOWQ3OTk2ZTljY2MgbGVnYWN5LXRydW5rCiszMTQ2MiA3MGUyOWVmOWZhNjJmMDFkNGYzYjNmNzkyZTc1YzQwZWI1Nzk5YjE3IGFzdC1icmFuY2gKKzMxNDYzIGFjNjgzYWM2NzU5YWZjZmY1NDM4NGE0NzE3OTJjZmEwMzA3M2YwYTEgbGVnYWN5LXRydW5rCiszMTQ2NCA0NGYzZTMxNTkyOWI5ZTRkOWZkZjMzZGY5YWE5ZmMzN2QyMmRmYWQyIGxlZ2FjeS10cnVuaworMzE0NjUgZjY3YWI2YjY2NDU0MGI0MmQ3MGFhZDBmNGZlYTE3MDFiZmFkMjYwZCBsZWdhY3ktdHJ1bmsKKzMxNDY2IDg2YjUwNmRiZWExODAzMmZmMWNjMTBlNThjZjgwYTUwODg1MDRiY2EgbGVnYWN5LXRydW5rCiszMTQ2NyAxYWZhZmVkOWZhNzc1NWJjMzg2NTQzZGU3MDhlZjgyOTdkZjMzYTFhIGxlZ2FjeS10cnVuaworMzE0NjggOGMyMTFjY2RlMmI0YjRkOGM1NWJlMzY0YTRmNjBhZmQ3ZmE5NzIyZCBsZWdhY3ktdHJ1bmsKKzMxNDY5IGM5NDAxYTM2YmFlNzE0ZjBjZDVmMTQxY2QxN2Y0NjczMjZlYTU4N2UgbGVnYWN5LXRydW5rCiszMTQ3MCA4YzZjNzk3NzI3YTkzNWZiMDU3OTUzMWNlYzM5MGRmZjVjOTVhYTliIGxlZ2FjeS10cnVuaworMzE0NzEgMWJkNDg1NzE3NTY0NjI2MGI5YTQ1MTdhNzcyNjEwMTZiMDQzNThlMCBsZWdhY3ktdHJ1bmsKKzMxNDcyIDE0NDUxZGQzYWNiMDRkMWFkZDgxMWFjMTZkNGMwNjZiZGFmMmNmZjYgbGVnYWN5LXRydW5rCiszMTQ3MyA5MjU1ZmJkZTQzZjM2MmQxYzA0ZjM0ZGU0NjNlYjdhNzJmMGYxMDk0IGxlZ2FjeS10cnVuaworMzE0NzQgM2IzMGY2NjM2MmJlMDA1ODc5NDRhZTk2OWM2OTJiMGZhYzFlMjY1NCBsZWdhY3ktdHJ1bmsKKzMxNDc1IGE2OTYyZjUyZjIzOTgxYTRjMTg5Yzk0M2IzOGY4NDBiOThhMDE3OGUgbGVnYWN5LXRydW5rCiszMTQ3NiBiNTU2MGFlNGQ5NzFkZTA1NTMzMmViNzRjZjBmY2UwYjZmOTE0ZDhlIGxlZ2FjeS10cnVuaworMzE0NzcgZGFlNzlkNzgzMjA1Nzk2MDZjNWZkY2MzYjIzYzI1OWE0YzVjMjI3NiBsZWdhY3ktdHJ1bmsKKzMxNDc4IDBmMDE4ZGY5NzRkYmI5YzgxMTM5ODg1ZmYxZTAxNWM1YmNkYmE3NjggbGVnYWN5LXRydW5rCiszMTQ3OSBkYjFkNDU4NGE1ZTFjMTE1Y2IwODJhMjVmYzkxN2NlNDg2N2Q3OTU3IGxlZ2FjeS10cnVuaworMzE0ODAgYjRlZWIwYmJkZDQ4YjhjYjQ1YjdkMTQzZjFkMjdjN2RlM2ZhYTczYSBsZWdhY3ktdHJ1bmsKKzMxNDgxIDQ3YTc2NGU0M2U5MDE4NTNiZmU4ZjM0NjA0NmIzYTU4YmRlMGRlZTggbGVnYWN5LXRydW5rCiszMTQ4MiBiNTQwZTYwOGJiOGE2YmNiMTg0NjBjZTYxNWQ2NjQ3NmFmN2ExMjI0IGxlZ2FjeS10cnVuaworMzE0ODMgYWE4OGFlZjNhYjBlZWE4NDAzNzMzMWNhZDhiNzI2NzM3YmVhOGQ0MCBsZWdhY3ktdHJ1bmsKKzMxNDg0IDFlNzZhZTNjMTE1NGQ2ZWYxYWZiY2EyNjg3MmExYjMwZWY2OTgxYTUgbGVnYWN5LXRydW5rCiszMTQ4NSBmMzEwODk0MTA3Y2IxOTUzYTFiZDVhNzc5YmVlNmRiNTI3YmZhOTZiIGxlZ2FjeS10cnVuaworMzE0ODYgZjMzMTBkY2VmM2Y4YjVlMDg5ZjY3YzQzZmE3NDcxZTcwMmJhZGIxNiBsZWdhY3ktdHJ1bmsKKzMxNDg3IDcwZTE5NmFmNDc2ZDQ4ZWVjMzUxZmY2MTBiMDM1ZjJiOTBmOTQ1OWQgbGVnYWN5LXRydW5rCiszMTQ4OCA5MWZjOTYzN2U1NmEwOWMyMDMwZDU1MWNmZmVlZjAzNjIxMTAxMGJlIGxlZ2FjeS10cnVuaworMzE0ODkgZTA3YjIxZWEzYzQ1ZGRmNDQ5MzBlZmU5MWEwODE2MjhkNzM2MDFkNCBsZWdhY3ktdHJ1bmsKKzMxNDkwIGNjNGFkOWFmYTIxZDMzODgwZWUyZDIyMzJjY2VmNWJiMTZlZDRiNWMgbGVnYWN5LXRydW5rCiszMTQ5MSBjYjNmMTg5MDhjZWJlZTA1YjljOTE4NDIwMGY5MGVlNTY0MWE1ZjEwIGxlZ2FjeS10cnVuaworMzE0OTIgYWMxMDcyOWYwOTMyZDA5YWI5NzhiOTNkMzM3ODAxZmVlZDUzMGNhNyBsZWdhY3ktdHJ1bmsKKzMxNDkzIGUyNzM0MmE2NDE3MzdmN2UwMDQ2ODE3ZjFlNzJkYzk0YWQwYmY5OGMgbGVnYWN5LXRydW5rCiszMTQ5NCAyMjY0NjM0NDU2OTcyMDNhMjc1MDM1YmQwNmIzMjk2ZThjYzA4ODZlIGxlZ2FjeS10cnVuaworMzE0OTUgM2JhYWJkMDI3Y2M0ZDQxMjBlOGUxMjcwYjc1MDAzMmZlNjMzYTc4ZSBsZWdhY3ktdHJ1bmsKKzMxNDk2IDhkY2M1MjBkM2EyOTY3YTJiYmM1NjE2MWY2YjJjNmQyNWM4ZGNhOTEgbGVnYWN5LXRydW5rCiszMTQ5NyBiMjhkNGZkZTllOWZiOGYzYzhiOTBjZTkzZDg4NzkzNTRiZjJlMGM4IGxlZ2FjeS10cnVuaworMzE0OTggNDMzN2E4OTlmZDEzMjQ3ZjMyNDIxZTQxMzkxMmI1NmQxYTVlM2MyZiByZWxlYXNlMjItbWFpbnQKKzMxNDk5IDQ3Yzk0MjEzNThkZDA0N2QyOWMzMzIwNzUzOGIwYzg2NjUxZjE0NWEgcmVsZWFzZTIyLW1haW50CiszMTUwMCA0Yzg1ZGUyNDdlZWRiOTdmNDRjOTQ5ZmY4ZDM4NmM2NGUyMGVjMGFjIGxlZ2FjeS10cnVuaworMzE1MDEgZTBhOGMzMTE1MDA1ZTFjMzM5ZTkzNmE2OTAwYTI3YWNkNzVkZTNlYiBsZWdhY3ktdHJ1bmsKKzMxNTAyIDJlMGFhNjhkNDM0ZmNjNDA2YWRhOWZmNWEzOThhNzg2NTJhZGIwYTggbGVnYWN5LXRydW5rCiszMTUwMyA1M2M4MDI5MjcyMDJlODQyNzUzODQ0NmE0NTc5MzFlZTUzZDUwMjQwIGxlZ2FjeS10cnVuaworMzE1MDQgOGZjOTFmNTBiODYxNTA2NWQ2ZmNjZWU4ZmU4MzE4ZGZiN2Q4OTkzOCBsZWdhY3ktdHJ1bmsKKzMxNTA1IGQwZDI5ZGYyYjYzOTAwNTNkNWIzZGI0OTU5OTcwMzUyNTI0ZWE1YWUgbGVnYWN5LXRydW5rCiszMTUwNiBjYzk1YmI3ODcwZGM1NDdjMGNjOGU4MzVmZDc0MThlNjdmNzkxYTM1IGxlZ2FjeS10cnVuaworMzE1MDcgZDVlYTJiNjdiNWY0NDNmM2M2NTc1ZmNiZGZjOGE2MDI3NDc0ZWJhMSBsZWdhY3ktdHJ1bmsKKzMxNTA4IDBmZTMyMWU3OGFkMzFhMWJhYWJkOTY1ZDU1NzkxNjE3Mjg3YTYzNDAgbGVnYWN5LXRydW5rCiszMTUwOSA0Yjk5YTcwMWRlZmUwZWI3MGI2MzE5ODgxMGE3NjA0MjUxYmNiMGM0IGxlZ2FjeS10cnVuaworMzE1MTAgOTYzMjdlYzc2ZDllMDJiODQzMTE1OGQyNDYxYzE4Y2MzZTRmZDhhZiBsZWdhY3ktdHJ1bmsKKzMxNTExIGUwMWQ1ZGJiNjZhNDU5MDExZTE0Y2ZjODJiNDcwMzBjMzkyNzYwOWUgbGVnYWN5LXRydW5rCiszMTUxMiBlYjJhOTg0ZDM3NDczZWNkZTczNWQyNWJiZTk2NjhhYjYzMjRhMWJhIGxlZ2FjeS10cnVuaworMzE1MTMgMzg3YTQxMjJjYmQxZTY2YzJkYmNjNWNlNTMxOWViNmUzYjZiYzI0YyBsZWdhY3ktdHJ1bmsKKzMxNTE0IDllMGYyMjQyMjc3YmZjMWZjNDAyZjE0NjAyYjRhNjc3YWRmMTEwYWUgcjIzYTItYnJhbmNoCiszMTUxNiBjZWY3Yzk1ZTc0OGMxY2M2OGU5NGI5YWNiMzI1NDlkZmE5MzkyZmNhIHIyM2EyLWJyYW5jaAorMzE1MTcgNzY1MDE5NzU4ZTk1MTAyYTJiYWExY2IyMmEwMmJjNGQ4OWI5OTE2NCByMjNhMi1icmFuY2gKKzMxNTE3IDcyMWI2ZjE4MWZjYjlhOTQyMGJjYTg4ZDdjMGY1Zjg1NDc0ODIzYzEgcjIzYTItYnJhbmNoCiszMTUxOSBjNGI5MTlmYTBiZTNlYjk0ZjczYzc0OGI2OGRhYTViZGRmOTZmNTlmIGxlZ2FjeS10cnVuaworMzE1MjAgNDgwOWZiMGU4NjYwMTg4NGY4ZjNlMGNjNzU4NmM4NGJkNTdlMGJkMiBsZWdhY3ktdHJ1bmsKKzMxNTIxIGY1OTg3MDk3NjE0Njg2MGJhYmM1ZDM2NDg2NWU2ZDdkY2ZiZjE0NDggbGVnYWN5LXRydW5rCiszMTUyMiA2NTg2MDIxMjRkZjUyODIzYTY1OTJhNmQ2NThkYWVmNTA2YTFhYjdlIGxlZ2FjeS10cnVuaworMzE1MjMgMmM3NTE5MzZmNjk3NjdhN2FmNDM0OWQxZGNmZjcyNTNkYWU5ZWU3ZiBsZWdhY3ktdHJ1bmsKKzMxNTI0IGIyNmY1NzU4NDE0YTBmMTM1MDhmMGJhNDlhZWIzZTcyOWI1NzMyOTAgbGVnYWN5LXRydW5rCiszMTUyNSBlN2IyNmMzZjM1NmY1N2QzNTljNTUwOTNmNjkyZjhhNDY3NzQyNjFlIGxlZ2FjeS10cnVuaworMzE1MjYgMGIzZGIwZWRiMTUxZWMwMDdmY2QzZmI1MjRiZmQ3NjRjZjQ4MjI2YSBsZWdhY3ktdHJ1bmsKKzMxNTI3IDUzNjdjZDBlZWM0NzdjNzU5MGEzMGQyMGVlMTY5YWU0MDNmOTc3YWQgbGVnYWN5LXRydW5rCiszMTUyOCA0NDg5OTE4YTRjY2RiOTAzNjAyNGNjODNiMjc2YjhhOTk5YjA1YzhlIGxlZ2FjeS10cnVuaworMzE1MjkgYmVlYTRmMjFjOWYwNTdjM2IxMzlmZjk2ODBmNTgxNjI2MWIwZTgzOCBsZWdhY3ktdHJ1bmsKKzMxNTMwIGUyNjdlZDEwMGQ4NWZjYWFjOTU2YzA5MDI5OGYxMWI4MTMxOWM3M2IgbGVnYWN5LXRydW5rCiszMTUzMSBlMTFhMTc4YmI0NTNmYTQ0NzZkMTRhNWRkYjE2NjY2NDFkYzdjZDc0IGxlZ2FjeS10cnVuaworMzE1MzIgMTA3ZDk4ODkwMWEwZjkzYzQ2OGFjOTEwNTA3NjYwMTAxMjI4NzAzYyBsZWdhY3ktdHJ1bmsKKzMxNTMzIDllMzhmODE3MDkyZmVmMDkyYWRmN2FjNDczNGRhNmMwNzExOGZkNjkgbGVnYWN5LXRydW5rCiszMTUzNCBlMjdmNThhNTA3MzcwNDgyOWM3ZDliMTI3YTc5YTUzYTdhMjI5YjZkIGxlZ2FjeS10cnVuaworMzE1MzUgOGY3MDYwMmZiZWJiM2MzY2UxNzcxYTA0ZjkwZDAyMDQ2Mzg2OWMwYyBsZWdhY3ktdHJ1bmsKKzMxNTM2IDFkOTJjMTViZDBlNzI1ODkxMzdkY2Q2NGRlMDRiNDkzODlmNjFlNjkgcmVsZWFzZTIyLW1haW50CiszMTUzNyA3MzllY2ZiNWYxNWU4ODljMGZmMTE4YzhlMmVhMDRiMTg0ZjMyOTUyIHJlbGVhc2UyMi1tYWludAorMzE1MzggNzdiZWY2YWE0OGU1NWZiMGQ4NmE4YjE4ZDQzMzYyMjIwMzFhY2EzZiByZWxlYXNlMjItbWFpbnQKKzMxNTM5IDE2YjI1MDMyMjE3ZmY1MTAxMzZhOWNmZmJjNzI5MWMzMmRiNWNkNDIgbGVnYWN5LXRydW5rCiszMTU0MCBkOTJkOWI2YThhN2QzYzI2ODdiYjUxZWYwMjdiNGI1Yzk5NWE0MDdkIHJlbGVhc2UyMi1tYWludAorMzE1NDEgZWI1ZTI5NjE3MzEwOWQwY2NmMDk4ZmZhYjlmMTViNTA2OWRhZTU1NiByZWxlYXNlMjItbWFpbnQKKzMxNTQyIDVjZjA5MjFmNGI5NjI2MjVlOWRhZTJmMWExY2FmYzk1Y2M0YjU1NWEgcmVsZWFzZTIyLW1haW50CiszMTU0MyAyZGY5MjA0OWQ5MjUwMTdiYmI4NjAxNTJhY2Y3YWI3Njg0NGM2YjE2IHJlbGVhc2UyMi1tYWludAorMzE1NDQgYTRmOWQ5MWEzMjFhNzlkZjQ4Yjc1Nzk1NWQyNmQyMTQzMGY2YWEyZCByZWxlYXNlMjItbWFpbnQKKzMxNTQ1IGZlMTBlY2U4YmE2OGM0YWVmYTQ4ZDEzMzczNTc2MDdlM2FmOWUxN2QgbGVnYWN5LXRydW5rCiszMTU0NiA3YWEyMTYzODg5YWNmODdmMDY1NDkxYWRhODE1MDM5NDNlNWUyYTQ5IGxlZ2FjeS10cnVuaworMzE1NDcgMGViOTQ4MzY0OTkwZmI5OTE1MjRkYjQ2N2Y5NTFkMDY0YjM0ZTBmNCBsZWdhY3ktdHJ1bmsKKzMxNTQ4IGZhY2ZmNTIyZTc0NDJjZTAxZmE4Y2IzODBiNjUyYzVmZDEzOGNkMzcgbGVnYWN5LXRydW5rCiszMTU0OSA3MjlhMWMyZWM0ZThlMGZkYTJkZTUzYTNmZDdiYTE0MmFkZWRmNWNlIGxlZ2FjeS10cnVuaworMzE1NTAgNjEyODgzZWFmNTBjNmU3MWNhMTg3MDA4ZTZmNTFlOTlmOGViNzE1ZSBsZWdhY3ktdHJ1bmsKKzMxNTUxIDc5YWQ2MTU2ZDZjNDI0NDY1ODE3YzViYmU2ZjQ5NjhmNGIxYTQ2MzUgbGVnYWN5LXRydW5rCiszMTU1MiAwNTZmZmE1NTQ1MTdhNzg4Nzc3ZGVlYmQxN2IyMjQzMzdlNWViOTFlIHIyM2EyLWJyYW5jaAorMzE1NTMgYThjMGFmODIyODg4NDZlOGE5NWVhZmU2OGIwMDJmNDZlMzJmMWE3OSByMjNhMi1icmFuY2gKKzMxNTU0IGEyZTk3MDU4OGU1YmI2ODgwMmVhY2Y5OTI4MDAyOTA4YjNhZTUxZGMgcjIzYTItYnJhbmNoCiszMTU1NSBiY2UzZGYwNzVmMzc4MDkzYjI4MGY0ZjBmMzJiNTg0MWUwMzI4ZTFlIHIyM2EyLWJyYW5jaAorMzE1NTYgM2JiY2MzYmJhNTYwYzhiNDY3M2YzMWY4YWZkMWY4NmJmMmNkYTU2NCByMjNhMi1icmFuY2gKKzMxNTU3IGI4NDk0ODJjNzBjNmQ5ZjBiNTUwMmNjMmFlYTAyOTk1YmE5M2NmMjQgbGVnYWN5LXRydW5rCiszMTU1OCBmYWM3NjIyODNhYmNjYWYxMDI2ZmZjYzAwY2QwYmI3NTdmMDk4NjgyIHIyM2EyLWJyYW5jaAorMzE1NTkgMWU5MDc0NjJlODNhZGJjZjU0ZGJhNzU0ZWY0NDAxMGU2MGU4ZjlmYyBsZWdhY3ktdHJ1bmsKKzMxNTYwIDc4YzljNGEwMThjZDFhMDM4YjdmYWU1OTQzNGRjMTJhZjJhMWFiMzIgbGVnYWN5LXRydW5rCiszMTU2MSAzMmEwYzJmNDIyZjE4ZGU5MTY0ZTAzMDExZTYxMzc5OGEwOGEzZjNjIGxlZ2FjeS10cnVuaworMzE1NjIgMjFhNTBjMzA4ZGI0NTkyZWQwZjhmZDVmYTA5NDRjYWU0NGJmMzczOCBsZWdhY3ktdHJ1bmsKKzMxNTYzIDVkZmFmZjk4MDkxMDAxZGQ2ZjI1YWIyMGNjNzM0MWY1MGRlYjE5NDYgbGVnYWN5LXRydW5rCiszMTU2NCA4NzJjNmYyMDI4ZmM0YjdmMzZmZmZmNWMzNWNkNWVkNmY1OGQ0YjMyIGxlZ2FjeS10cnVuaworMzE1NjUgODA4NDM3YjgzYjE1MTg2NmFkMjNiMDk4ZTViNWQ1OTMwYzUwNDM2YyBsZWdhY3ktdHJ1bmsKKzMxNTY2IDYxZmE2YjU1YzFkZTJkNjVhNGU2MzMyZDFhODk4ZWUwNWNjYTFjYTUgbGVnYWN5LXRydW5rCiszMTU2NyBlNjNmMWVjY2QyNTBkYWQzOWE1ZWI5MTg4YTkwYjgzYTVlZDNkZGExIGxlZ2FjeS10cnVuaworMzE1NjggOTA2NDU5NjE0YjVlNzEyYjUxOGM5MTYyOWU4NTNmZTFkMGZiYzlmMCBsZWdhY3ktdHJ1bmsKKzMxNTY5IDQzYTllY2JkOTYwN2NhMzNkMTg3Mjc5MTZhODNhOTM1ZDA1ZjRkNGIgbGVnYWN5LXRydW5rCiszMTU3MCBhYmQ1N2M1MzU4YmQ3YTBlYTAzMTAyZTk4MDI5MDMwMDRhNzM5ZTIxIGxlZ2FjeS10cnVuaworMzE1NzEgNmUyMGIwNDllZDZmNmM0NWM4MTk1ODNiMTE4ZWUwNzAzZmQxMmU1NyBsZWdhY3ktdHJ1bmsKKzMxNTcyIDI1ZmQyOGM4YmI2YmFlOWE4MWUzMzZmMmViNTJkNTI1N2MwYTRiZGQgbGVnYWN5LXRydW5rCiszMTU3MyA5MDRhOGI4MjJkYWZiZmJjNmVmYTI0NTg1NjlmMzZmZTE0YmY3NzEzIGxlZ2FjeS10cnVuaworMzE1NzQgNTNiZWYyMGY4NGNjZDJlOTIzOTkzYmNmNWNhMWYyYTJmZGE1ZmRkMiBsZWdhY3ktdHJ1bmsKKzMxNTc1IDFjMmM5N2QzNDU2Mzg0ZTcyYjlmMWIxNDBkOWU1MGZlM2VhOWRhY2IgbGVnYWN5LXRydW5rCiszMTU3NiA5MTYyNGE0NzUzN2M3MDFkNThlODRmY2M4NzkzMDJhMDBiMTRlZjAwIGxlZ2FjeS10cnVuaworMzE1NzcgZjM0ZmNkNjNhZTI4ZTA4MzU3NzI2Y2Y4ZmU3ZmYyOTFjYjUwOGMwMyBsZWdhY3ktdHJ1bmsKKzMxNTc4IDUzZmZhYjVkYjAxNWRkN2FjNmFiOGE4YWQ2NTdmN2RjNTdkMGJjYjAgcmVsZWFzZTIyLW1haW50CiszMTU3OSBiZTA5ZDMyNjg3ZDhjNWVmNTc5ZDU5ZDBjMTJjNDRjYmQ4MGE0YjBhIHJlbGVhc2UyMi1tYWludAorMzE1ODAgM2RkYjA5MmFjZWE4YjhhZTUzM2UyOGJhMmQ1NmUzNzQ3MWNkMjNjYSBsZWdhY3ktdHJ1bmsKKzMxNTgxIDRmNmM2MzMwODA2MzM3ZDUwYjI4NGNmMzhiY2Q4ZTYxYjdkMTQyYWMgbGVnYWN5LXRydW5rCiszMTU4MiBkOGI5ZDdjMDQxNDY1NDNlNzFhYmQ1ZmNiMGZkYWM3OGIzMTU0YzNkIGxlZ2FjeS10cnVuaworMzE1ODMgMWI2NTM4YWEwOTU5MWUxZTliNDI2MDhiN2VhNmE2ZGUwZDk0MDg0MSBsZWdhY3ktdHJ1bmsKKzMxNTg0IDRlYTM3OGE3MWY5NjZhOGJkOGYwMmQ2NmMzNTgyOGNjOGJkNWIwYWQgcmVsZWFzZTIyLW1haW50CiszMTU4NSBkYjkyYzc3YjA1ZTI2YjVjZTM5MDVjN2IyMjNiNTZhNDkyYTA2MDRkIGxlZ2FjeS10cnVuaworMzE1ODYgNDg2YTBmNTE2ZGIwM2QxN2M3MDg3ZmE0NWI5ZWE0Mzg0YzJlNjg5MyBsZWdhY3ktdHJ1bmsKKzMxNTg3IDc4NGVkNjA1YjUxMzBiYWE2ZjQzZmIwYmEyYWY0NGFhMmNkNDM3ZmIgbGVnYWN5LXRydW5rCiszMTU4OCA3ODAyZDhjMWFkYWM4NDBiMjA0MjgyODcxZTU3ZTMyOGNlOGRlMjhiIGxlZ2FjeS10cnVuaworMzE1ODkgMmU4ZjA1MzE5MTliYjJmMTQ0MWMyZWE3N2Q1YzQ4MzFlZjUxNzgyMCBsZWdhY3ktdHJ1bmsKKzMxNTkwIDE5MmJkNmUxMzVhYWRhNThmNTc1YzM3Mzc4NWQ3ZTRlMjhlNGJjODkgbGVnYWN5LXRydW5rCiszMTU5MSBiMzhjZWJjNzZkODI1MWY1YTI5ZGJjMzAxOWEyZWJlYzBkZWMzNWVkIGxlZ2FjeS10cnVuaworMzE1OTIgNWFiYzVkMDg4MTRmOTY4YTNhY2RiNGMzZTM3NTVhNTBlODhjYmM0ZiBsZWdhY3ktdHJ1bmsKKzMxNTkzIDgyM2Q1YjFmMzJlMTJlYjU5OTU1MzNhYTU2ZTA0N2YyZThiOWNjNDEgbGVnYWN5LXRydW5rCiszMTU5NCAwYTg5YjQwNmM3MzJmMWY2YTIzOGMyYTE5ODU5YmE4YmU0NWRjYTc0IGxlZ2FjeS10cnVuaworMzE1OTUgNDk4ZGIxYmNkNjY0ODk0Y2FkM2FiY2MzN2NjODM0NTU1MzViZmJkNyBsZWdhY3ktdHJ1bmsKKzMxNTk2IGNhNWIwY2Q3YTUyNTA0OTVjZGIwYWRjZDQzNmUxODZmNmFmYzkzMzQgbGVnYWN5LXRydW5rCiszMTU5NyA0MDEzNDA3MGU2YTZhMGRkYmIxZjdlYTc4ODQ5ZjhmZTdhZTNmN2FhIGxlZ2FjeS10cnVuaworMzE1OTggYThjODdhMGJlYjk4MDM2MTA5MTVjZDA2NjEzYjAzMDc2YjBmODMxZiBsZWdhY3ktdHJ1bmsKKzMxNTk5IDFhMGMyMzFjNmIwY2FlODA0Mjk0MjZmMTg5OWEwYzE4NmY2Zjc5OTMgbGVnYWN5LXRydW5rCiszMTYwMCA3MjNjNTQ1NzMwN2Q5Mzg1YWIyYWFiZWUxOTBlOTQwMTY3ZmY5MjIyIGxlZ2FjeS10cnVuaworMzE2MDEgN2Y5MGI1YjcwMDFlZDFmZDg4Zjk4M2RiNWYwMzViODE1ZjJjYzBiYSByZWxlYXNlMjItbWFpbnQKKzMxNjAyIGZiNzljYzI2MzBjMWVlNDI0MmJiNzIxOWMwNThkN2I4YmYyNGQxODYgcmVsZWFzZTIyLW1haW50CiszMTYwMyBmOGZjNWUxNGJmZTg3YTVjZjVkZDc1YzJkMTYzMWU0YzcwNDg4NTJiIGxlZ2FjeS10cnVuaworMzE2MDQgYzc1NjYxNDQ0NjU1Mzg4MzI1ZDIwMTM1Y2RiZDc2MjVlNjJmYjExMCBsZWdhY3ktdHJ1bmsKKzMxNjA1IGMzNjY1ZGY2NmQ2ZDViMmM4ZGE5Yjk2NWJiMWNjMDI5MTJlMWM5MTkgbGVnYWN5LXRydW5rCiszMTYwNiAzMjQ4OTZiN2Y0ZTFlMjU5MThhZjFhOGU5OTM1MzQ0NjFlY2NhOTc4IGxlZ2FjeS10cnVuaworMzE2MDcgYzYxZWYxODNjZTJmMTU2NDVjNGE0MDBhYzAxZmE2NWE5YTljODYyMiBsZWdhY3ktdHJ1bmsKKzMxNjA4IGQ2NzMwNTkwNTI2YzMxNGM1YWUwZjZmOGJhNmE3MWUzNjQ3YTExM2YgbGVnYWN5LXRydW5rCiszMTYwOSA5ZDI5N2QzZGUzNmY1ODYxYTVkYjc2N2U5Y2E3NDBlYmJlMTU3ZDc1IGxlZ2FjeS10cnVuaworMzE2MTAgZjcyYzM4M2JjYzQ1ZDRmODg0NGYzMDNjNDQ2MTk0NjVhYTE1ZWNmYyBsZWdhY3ktdHJ1bmsKKzMxNjExIDg2ZDgzODRkODgxMDJmZTI4ODcyMzAxNzU2NGIxMzc2YTJiNmM1ZTYgbGVnYWN5LXRydW5rCiszMTYxMiA4NjY5NjRjODViOGUyNmQ4Mzk1YzQxNzc2OWVhNGU1MjVjY2YzODMyIGxlZ2FjeS10cnVuaworMzE2MTMgNWIzZDU5Yjk3OGEyZDY5ZjE2NmUzZDk3MmFhYjMyMWQyZGRjOWJjNSBsZWdhY3ktdHJ1bmsKKzMxNjE0IGE4YTY0MzY0YTcxMWQ0MTlkNmE4YmE1ZjZiZTg1ZGVkZWExYmZmOTUgbGVnYWN5LXRydW5rCiszMTYxNSAwNDU1Y2Y4OWIxMjM5OGEwZTY4YzNlNjUzZGM0MDg5MTA5YmZmNTk1IGxlZ2FjeS10cnVuaworMzE2MTYgYjA0NjI1Y2VhMDYxM2FhZDZkYTY4MGEzZmY3YjhkZjA5MmE2MWU4YiBsZWdhY3ktdHJ1bmsKKzMxNjE3IDdmZGNjNGNmYzc1OTE3NTU0ZTlhZDc3MzExNjdkZmMyZWM3OGI5ZjMgbGVnYWN5LXRydW5rCiszMTYxOCAwMGRlZDYyZDI2NzhhNDM1ZmQ0MGQ2YmNkMDA0MWI4YmQwOTZhNjhiIGxlZ2FjeS10cnVuaworMzE2MTkgZmNiMzliMGE2ZTMwNmM4MDU4Y2ZlNzQ1ZmEwMWZkZWRkZGI5ZGY3MiBsZWdhY3ktdHJ1bmsKKzMxNjIwIGJiNmJkNTQ5ZjkyYTc5NjRlYjk2OWFmZTA0Y2FhNTA5ZmUwMjQ1N2IgbGVnYWN5LXRydW5rCiszMTYyMSBiOGNiOTBmYzM1MjNkMzY4NDlhNGEwOTg4MGJkOTY5MTU1N2Y4ZTZkIGxlZ2FjeS10cnVuaworMzE2MjIgMGM4OWRjNjI1NGJlOGQ4NzRlZjEwYjNjOWZmMThlNDhjYzY0MTY3ZSBsZWdhY3ktdHJ1bmsKKzMxNjIzIGNmOWQ5MTI4MzQ1YzNmMWI0OWFkZmNkZjZlZTljYjI3ZTgyOTc1ZmUgbGVnYWN5LXRydW5rCiszMTYyNCBhNTg3NDQ1M2JmMTdjNjYwOGU1OTJkN2ZiYTgyZjdiM2Q5NDQ4NzFjIHJlbGVhc2UyMi1tYWludAorMzE2MjUgMjk5NjVkMGQ0NjUwNTlkMzA4NzRlNmY3ODBjNTQ4NGFlMTI2Y2M0MyBsZWdhY3ktdHJ1bmsKKzMxNjI2IDQ0YmExNTcyNTE4ZjcwMjlkYTU0YjBjYTM2M2I5MTY3YzdlZWMxMTcgbGVnYWN5LXRydW5rCiszMTYyNyBmNDJmYmM3YzdkOGU5YWMyZTA1ZmQ0MmU3NDIwMDIxYmQwNmFmYzA1IGxlZ2FjeS10cnVuaworMzE2MjggMjQ3NDM4MTUyN2JiYzljNDJhMjBkNWU5NDlkNzUyMjNkNGEwNzcwNyBsZWdhY3ktdHJ1bmsKKzMxNjI5IDQ2NTQwNWExNTljMWY0Mjc3ZjZhNGU2ZDQ2NzRjODExMzc5NTgzMTkgbGVnYWN5LXRydW5rCiszMTYzMCBkOWU5Yzk2NGI2YTQ2ZTUwZGFmZjM0OTM2YTViOWUwNzNlYjIzNzZmIGxlZ2FjeS10cnVuaworMzE2MzEgMTRmNjVkNjYxMDg0OGU1YmM5NTZiNDc2OGQ0OWM4Yzg4ZGNkNTY2MyBsZWdhY3ktdHJ1bmsKKzMxNjMyIDNjNWE4ODE0NDcwYzljNGJmYWI3NWVjNzBkMzU2MDIzZjRkODRkZTMgbGVnYWN5LXRydW5rCiszMTYzMyAwNGE5M2I3YmRjZTQ5NjExNWIxMDc4Yjk3ZjI5MmNjM2Q5NGU3NDFjIGxlZ2FjeS10cnVuaworMzE2MzQgMTJiYWI4N2EzZGQyMzQ1Y2U5YTQzYTAyMzQwZmI5YjkzM2E1MDg1MiBsZWdhY3ktdHJ1bmsKKzMxNjM1IDg5OWYyZDIxMGEzNGQ4NTQwZTZhM2ZmNGRjNmU0NmQ0ZTk2NTEzOTUgbGVnYWN5LXRydW5rCiszMTYzNiBkNWFhYTY3YzA5NmFmMzU2OTJlM2JkYzk0MmFlZmViYTgwYWU4YmMzIGxlZ2FjeS10cnVuaworMzE2MzcgNzQ4ZjJlNWI4MjkzODgyZjdmY2JiMjE4OWEyODlmYzJiYzk0MmIyMyBsZWdhY3ktdHJ1bmsKKzMxNjM4IDMxMDA4NDMzYzc0ZmFkZjhiZmE5YjlkMTZlY2I2MDRlNTdiMmM1NTkgbGVnYWN5LXRydW5rCiszMTYzOSBkNTBkMWZmNDJiNWFjZThkNTU2MTZmMTIwOWFhNjUxZTczZWRiOWVhIGxlZ2FjeS10cnVuaworMzE2NDAgMmQ1OWNhMjlmMzg0ZDc5MmIzYTgxNmI5ZTVhNWUyMjJjZmI2ZWQ3NSBsZWdhY3ktdHJ1bmsKKzMxNjQxIDdlNjQ5MTM4MzEyYjNmZjRkZDgyZGIxY2Q0ZjVkZjY1Yzc0MzRkYWIgbGVnYWN5LXRydW5rCiszMTY0MiA1NGIzNWRhOTg3OWU5ODgwNWNmZTEzYjU0ZGMzNjNiYWI2Y2EyMGJmIGxlZ2FjeS10cnVuaworMzE2NDMgYWIyNzE4M2M4OTI3ZjY1MDk2NTE0OTliNTRmMzliYjQ3MjdiMzRjMSBsZWdhY3ktdHJ1bmsKKzMxNjQ0IGY0ZTcyYTFhOWYxM2U4NmMyNjJlZjQ1M2M1NTIwMjc1NTE1N2ExZTIgbGVnYWN5LXRydW5rCiszMTY0NSA1ZTVlZWZhMjVmM2FkMWJmNTk2OGQwYzQyNzIxYjg3MGY4MmFmNWY5IGxlZ2FjeS10cnVuaworMzE2NDYgYmY4NjZhYjM5ZGZmMmE1Nzg3NDZiNzEzODg0NWJmNDEyN2Y0NTkyMiBsZWdhY3ktdHJ1bmsKKzMxNjQ3IDJmM2NkM2Y1NDBhZDFhYTUwZDhjZWUzMWIwYjE4OWYyMGU2ZmU4NDIgbGVnYWN5LXRydW5rCiszMTY0OCBkOWI0ODdiOTAzNGE0OTNmNjc0OWM3Y2EyODY0MjY5NjI4ZDJjYTg4IGxlZ2FjeS10cnVuaworMzE2NDkgMTU3NzNlNzU4ZmM3M2FiYzQ5NTc0YzlkOGRkOWU0MGNmNTc0Mzg0MSBsZWdhY3ktdHJ1bmsKKzMxNjUwIDk4ZDEwNzEzNjJmMDQwZDQzOGU1N2FiNWE4ZTczZmJlMzkwMWVmZDUgbGVnYWN5LXRydW5rCiszMTY1MSBkZDZhNjI1NzhiYzg2NDA2NDRmOWJhMTQ3MWJjNDFhNmIxZmEzZDcyIGxlZ2FjeS10cnVuaworMzE2NTIgZDM2ZGQ0MWU4OTBmMmJhMTk2YzM4MGUxNzZlZTQ2ZjgxZGYyNGJmOCBsZWdhY3ktdHJ1bmsKKzMxNjUzIDdhMmY2ODMzOTVlNzI4MmM4YjMzZGZlMjc2YTg2MGRkZDk0MGQ5NjggbGVnYWN5LXRydW5rCiszMTY1NCAyYzhjMmM2YjJhYjc5YjFlNGYyNjIwODk3OWEwZjUzY2I4YWQyNzFhIGxlZ2FjeS10cnVuaworMzE2NTUgNjI4ODhhN2VkZjBiNTU0ZjNjZGQyMDUxODZkOTc2ZWJhOGQ3YTVhZCBsZWdhY3ktdHJ1bmsKKzMxNjU2IDE0NDYzZjQ3ODI0MDIyNjhhYWQzNjZiM2U5MTc0NTkwMDIzOGRhYzEgbGVnYWN5LXRydW5rCiszMTY1NyAyZmM1MmJlNzc5OTkxMzRkNzBmMjU2ZjUyN2Y4MmZmNWQ0ZDdkMmMzIGxlZ2FjeS10cnVuaworMzE2NTggOTM3OGY2ZTU1MWFlNzIxNmExZDBiZjUwZTJhODBlNTJjMjMyYjYxZiBsZWdhY3ktdHJ1bmsKKzMxNjU5IDliNGVlZDRiYjNlMmU0YTE4MzM5YzUyOTg4N2U2MTc2MWM0YTQ0MjIgbGVnYWN5LXRydW5rCiszMTY2MCA0ZjRmMmExNTQ0Nzg0OTU1YWUzMThhMmZjYmNiNTZlNzNlYmQ4ZjExIHJlbGVhc2UyMi1tYWludAorMzE2NjEgODY5Njk1Y2JhMmNkMzdlNjNhZDVkNGNiOTJjYTU1YWFlNThiNDVkZiBsZWdhY3ktdHJ1bmsKKzMxNjYyIGQyNDU2NGU3ZTk5OWNkZGNjOWFhM2QyNTc0ODRlYzA1NTg2NTdjZmIgbGVnYWN5LXRydW5rCiszMTY2MyBjMjRhMjNiMWYxOThhZjBiNTM1NzE5Y2JhN2E2ODY4MmZmNmNlNTdkIGxlZ2FjeS10cnVuaworMzE2NjQgMzljYjkxN2I1ZjdhYjRiYWU5MjQyYjYwYWUxODgxMmZjYjE2YzkwYiBsZWdhY3ktdHJ1bmsKKzMxNjY1IGYxOTgxZWU5ODIyM2NlNWFiMjUwZTcwMDYzYTgwNDhkMGQzMGYwMzUgcmVsZWFzZTIyLW1haW50CiszMTY2NiA4OGU1OGUzZDU4MDc3M2U3MDRlMTYxOTVkYjYxZmRiOTYyYTNlNDkxIGxlZ2FjeS10cnVuaworMzE2NjcgZjQ2OWE2ZDA3N2YxZTk1MDhlN2I0NGVkZGQ1YTRiZGE3NWQ4OGY1MSBsZWdhY3ktdHJ1bmsKKzMxNjY4IDRjY2NlZjliNGQ1NDU3NTdiZTJhMzE0MzU2ZjhjNTk3ZWVhOTBkMjcgbGVnYWN5LXRydW5rCiszMTY2OSA1ZjkyMzE2NTMxOWQ1Y2I2OGM5NTliODYzNjhmZWJmZGZkNzM3NjFkIGxlZ2FjeS10cnVuaworMzE2NzAgODc5MTM1MjlmMjQ4MDk4ZjllNTQ3ZDJiNmI1OTM3NzI4ZWEwYjllZCBsZWdhY3ktdHJ1bmsKKzMxNjcxIGEyNGFhYmNmNWVhMjgxODZiODVkNmEzYzE2MDg5M2UzYTZiMjY1NzQgbGVnYWN5LXRydW5rCiszMTY3MiBiMDA5YzNlZjI3YjUxYzUzNzliMDNiNzM5MzgxYWEzN2YwMDkzNzQ5IGxlZ2FjeS10cnVuaworMzE2NzMgNTBlYThkZWQyOWQwMTdmMzcyNTM5ZDhjNTM5MDc1MzQ3M2E1NTNhYSBsZWdhY3ktdHJ1bmsKKzMxNjc0IDA0N2I1ZDAwMGFhYTUxNjRkZDc4YmU1ZDExNjA2Nzc3ODY1YWZlODQgZm9sZGluZy1yZWltcGwtYnJhbmNoCiszMTY3NSAxZDY2MjM0MmUxOWE2NGIzNjk5YzRiZDc3ZTA5YThhNzcxMTJjNzlhIGZvbGRpbmctcmVpbXBsLWJyYW5jaAorMzE2NzYgOTdiOTdlNTcxOTBjZmY3Mzk5OGZkMTllMjNhOWY0ODQ2NmVhOTU4YSBsZWdhY3ktdHJ1bmsKKzMxNjc3IGY5ZjMwMTBmYzg2Zjc2YTkxYmMyZjU0MDE5OTg0YmEzYzVkMWU1ZDQgZm9sZGluZy1yZWltcGwtYnJhbmNoCiszMTY3OCA5Y2E0YTY3Yjk5NzM2ZmJlYTA3ZDhhMDk2MjQ0MGYwOTNiMzU4OGJhIGxlZ2FjeS10cnVuaworMzE2NzkgY2RlNDQ0MTg0MzM2ZmJkYzdiNjU2YTUwY2MzMjk3Zjc0N2UzZmM3NiBsZWdhY3ktdHJ1bmsKKzMxNjgwIGI1MzQ1NWE1MWI3ODA5NWY1M2QwNzY2ZTZjZjAwNjY4MGQ5ZDAzODggbGVnYWN5LXRydW5rCiszMTY4MSA2NTVhMDg1NTdhNDNlYzE2MjRhYjY1YjIyMjY2YzE3MDhiNjQ2MzhlIGxlZ2FjeS10cnVuaworMzE2ODIgNzg5YjI0ZDY1ZDQyMDQ1Nzc4Njc4YmJmODdmNDQ2M2Y0ZTI2OGVlNyBsZWdhY3ktdHJ1bmsKKzMxNjgzIGViMTVkZTZhNGE0Y2QwNmQyMGViYTA4ZmE3MzAyMGE0MTg5MTc3MTcgbGVnYWN5LXRydW5rCiszMTY4NCBiMjBhMzY4NWQyM2UxZDFhNmUzNWNmNDFlZjViYmNmYzU4YTI0MjVkIGxlZ2FjeS10cnVuaworMzE2ODUgZjlkYjlkYzQ1NmFiNTcwMzgxN2NlNzRkNGEzMjI5N2IwNjdmN2NiYiBsZWdhY3ktdHJ1bmsKKzMxNjg2IDdkMDRiZDg5NzY2MTg3NDVhMDFjOGZmNGY0MzI3M2QzYTA1ZDA0YzUgZm9sZGluZy1yZWltcGwtYnJhbmNoCiszMTY4NyA0MWE5YTA3MmM2ODE3NmFmNmNjOGQ1MjBlZGQ5Nzc5NzlhOWE1OTIxIGZvbGRpbmctcmVpbXBsLWJyYW5jaAorMzE2ODggMmNjMTlhMzI1ZDY2NzY0MGU5MzI5Y2ZkNGE3MzhjNzJiYmRiYjQ2MCBmb2xkaW5nLXJlaW1wbC1icmFuY2gKKzMxNjg5IGRiZjNlYmVjYTdiMWRhNjJlNjIyOTU2ZTU1MjkyMDZlNjIzODY2MjMgZm9sZGluZy1yZWltcGwtYnJhbmNoCiszMTY5MCAzNzc5NjFkNzY2MTA1ZmVlMzdmNDA4MjEyNzgwZTJkZGQ4N2QxZmI3IGZvbGRpbmctcmVpbXBsLWJyYW5jaAorMzE2OTEgMzk5MmNhNzAwZTY1ODAzMTM0ZjY2MWM2ODcyN2JhOTY3MjFkNTk2NiBmb2xkaW5nLXJlaW1wbC1icmFuY2gKKzMxNjkyIGEzY2YwN2JhYzM3MzY5ZjJhNjVkNTI2NTU4NjgyMDNjYzM1Zjk0MjEgbGVnYWN5LXRydW5rCiszMTY5MyA1MjRlNWY5Zjg1ZTZhZjAzMzdjYTNiODk1NmM1OGYwZDM2Y2I0ZjdmIGxlZ2FjeS10cnVuaworMzE2OTQgODg4OTY1NGMwZGQ1ZDA5OWYwNTg1OGYwNWQ4OWIxYzU4ODYwOTRhMCBsZWdhY3ktdHJ1bmsKKzMxNjk1IDg0M2Q1Yzc4OTUyYTgyMmVhMDE5MjdmMDJiNWFiMDA0M2ZjNWU1ZTYgbGVnYWN5LXRydW5rCiszMTY5NiA4OThjZTRlOTZmNTkyYjBjNWIwNjVjMTU2NGMwOWQ0NTFiNzE1MzBmIGxlZ2FjeS10cnVuaworMzE2OTcgZjliNzAyYzUyZGFlYTI5OTYyY2UwMzkyYTM3NWEwNmUwNWQxNDNiMyBsZWdhY3ktdHJ1bmsKKzMxNjk4IDI4MTVjMWE5ZjczNTgzNGJlNzYxMmIwNmJjMjY5YTFjYzQwZTc5ZDUgbGVnYWN5LXRydW5rCiszMTY5OSA5ZTczN2Q2M2YzODAxZTc0ZGJlZGYzMGMyNTJkZmFjYzM1MDZjYzMwIGxlZ2FjeS10cnVuaworMzE3MDAgNDRjMzEyMzY3NDNhMDc4MTUyMTBkMDRhZTEwNTk3YTU3YmY0YjNhZCBmb2xkaW5nLXJlaW1wbC1icmFuY2gKKzMxNzAxIDI5NDc0NTliMDc4OTIzMjkzZDc2OGJhZDA3MDliYWViMmYzOGJmNDYgZm9sZGluZy1yZWltcGwtYnJhbmNoCiszMTcwMiA5MDJmY2ZkNWQ2NWQwOThhZThhYjAxMTA5N2EzOTkwZWVhNzUwODNiIGZvbGRpbmctcmVpbXBsLWJyYW5jaAorMzE3MDMgNzZkMDYxOGYzZmUwZDg3OTJiODQyZTc1NTQzMjM2MTEyZTZlMTQzZiBmb2xkaW5nLXJlaW1wbC1icmFuY2gKKzMxNzA0IGE4MzYxYmNhMWM1Y2M3N2U0NmExMTFkYjRjZDBkOGM3ODJjOThlYzcgZm9sZGluZy1yZWltcGwtYnJhbmNoCiszMTcwNSA1YzBkYjQxZDM4ZjkzNjA5YjgzMjZmYWRlYTEyYmM0YmI5MGU2MmZjIGZvbGRpbmctcmVpbXBsLWJyYW5jaAorMzE3MDYgOTVhYmYzZmMyYjJkMzM0NGM0NzE1ZjY3ZDY4YjBjODM2NDAwOThjNyBsZWdhY3ktdHJ1bmsKKzMxNzA3IDEyZDRkZjcxYmRhYTM1ZGY0MmVlNjQ0NzFlZGI1NmY2YjFiYTgxYTEgbGVnYWN5LXRydW5rCiszMTcwOCBiZGE0OTBmYzI2OTFlYjk4Nzc0ZGJmOTRkOGRiZDU1NjEzNmYwMTRkIGxlZ2FjeS10cnVuaworMzE3MDkgMGQ4NTUyNDA4ZmNkZTE4YTc1ZGJiMDYyY2QyNzNlNjg0OGNhZTk1NSBsZWdhY3ktdHJ1bmsKKzMxNzEwIGU5ZmMyYzE0MTYwODllYjg3MDE5Zjc5MzA3YjYxZjE3N2UzYmM2MTIgbGVnYWN5LXRydW5rCiszMTcxMSA2ZDc4YzZiZjMxZjdkMmM4ZmNmYWMxNzcyNjRmNTlkMjMwY2MyNjZmIGxlZ2FjeS10cnVuaworMzE3MTIgMTc4ZDE5Y2ZmMTYzODEzMmZjNzMwM2ZkYjNhZjdiMzdkNDEyMjg0MyBsZWdhY3ktdHJ1bmsKKzMxNzEzIDNmZTcyYTk5NDEwM2IzNWNkM2QzZTE5ZTkzNmU1OTNiNjE0MWIzMzMgbGVnYWN5LXRydW5rCiszMTcxNCA4YTcxMzAxYWZjMmRhNjAyYjY3OTRjY2MxOGFkZmY4NDg5ZGIwZWFkIGxlZ2FjeS10cnVuaworMzE3MTUgNDNjN2Q4YTA4NGZiYzM5ZDllMmU1ZWM3NWFhMDM5OWEyODZlZmYxMSByZWxlYXNlMjItbWFpbnQKKzMxNzE2IGU0MDU5MjljMjIzZTU3Y2IyZDhhNGIzZmQyYzY3ZTAyYmNiOGQ2MGUgbGVnYWN5LXRydW5rCiszMTcxNyAyOWQ4MDM0MGZkNDE0Zjg0MzM2MzBjNzBlZDViODBiOTY5MjNhMWUyIGxlZ2FjeS10cnVuaworMzE3MTggMDFhZWQ3MmUzMDllNTJjMWRiZTYwYmMwZGQ3Y2M0NzI0Yzk4YTgyMCBsZWdhY3ktdHJ1bmsKKzMxNzE5IGJhMWJkNmY2ZTZlZGM1NjA4ZGM2NjEyNTVlODc0ZWFkZDYyNzg5OWIgbGVnYWN5LXRydW5rCiszMTcyMCBhYzk2NWE1MDJkMWI3N2M1ZGE2Yjk4MWRkZDBhZTJmNDE2M2QwNWI5IGxlZ2FjeS10cnVuaworMzE3MjEgYWI4NWM3NTZjNWRmM2M2MWJjNjMzNDQ4MDRlMmFmMjNiMDdkZGFlYyBsZWdhY3ktdHJ1bmsKKzMxNzIyIDg5MTM3YmUyNWU3YWQ3ZWU0ZmEwZDBjODhjMGE0ZGI5MDY3Nzc5NDAgcmVsZWFzZTIyLW1haW50CiszMTcyMyA4NzcwNGY4OWVhM2Y1Y2YzOWExNWE4Mzk0OWNkMWQ1YzNjYjhiMmUzIGxlZ2FjeS10cnVuaworMzE3MjQgMzdjZGUwNzhiOTMzMmJkMjkyOGZkZTk0Zjk2MThiMDUyMzczZGM1OCBsZWdhY3ktdHJ1bmsKKzMxNzI1IDMwMzBkNjdmYjRhNTY2OTdkNTQ0M2Y4NDE3YWRmNDRlNWUzZWE2OGUgbGVnYWN5LXRydW5rCiszMTcyNiBiYzJkMDcyMzA5MzRkNGNlZWVmZjFiYTFkZjNmZjhhZjM4NWE0MzMzIGxlZ2FjeS10cnVuaworMzE3MjcgY2UzNzYwZThlNjQwNmE3NzViMjQwNGZhMjJmMGYzNTMwODk1NWE2OSBsZWdhY3ktdHJ1bmsKKzMxNzI4IDI0ZmUwMjM5MDFiMDdiNWJiYzJhNDJlMDk5ZmM3NjVlMzk5NTFjNzMgbGVnYWN5LXRydW5rCiszMTcyOSBhNmNkOWQ2ZDVjYTNhNDkwYzNkMDE3NjM0YzVlYTYzZTljMmZlOTRlIGxlZ2FjeS10cnVuaworMzE3MzAgNTc3NmZkMTg4ZjIwNTQ1ODY4MmMzZTE2NmE3MmFiN2Q2MDZlMzEyNyBsZWdhY3ktdHJ1bmsKKzMxNzMxIDNmOTBkMjFkZWJlOTZlMTgyMjU5NDI0MGEyYzNmOWUxZjMyNTJkMzIgbGVnYWN5LXRydW5rCiszMTczMiAzOTVlYjU2MWVjZTEzNjc2YzBmMmVkMDhmZmFkNjk0OTg0NWE5MzdiIGxlZ2FjeS10cnVuaworMzE3MzMgNDhhNTExM2RmZWY5ODEyYjYyZWQ1Zjc3MGZmZjU3MjAzODM3MDQwYyBsZWdhY3ktdHJ1bmsKKzMxNzM0IDU5Y2EzMjAwYjZlNTAzNGUyM2UwYWYyNDEyMjkxMWE3NDJkNjhmYjAgbGVnYWN5LXRydW5rCiszMTczNSAwYThlODYzMmM2MzE4YjhjNWYwZjQzODU5OTMyODBmZDc4NTc0N2I0IGxlZ2FjeS10cnVuaworMzE3MzYgMDRkZjk2NWQ2NzViN2Q3ZDNjYjA3MzdiNWVlYmYyNzhmODZjNDhlMiBsZWdhY3ktdHJ1bmsKKzMxNzM3IDU4NTIzNTJkOTUyMjJiYWU2OTBhN2MwZjUwOGJlMjI4MWM2MDc4MDYgbGVnYWN5LXRydW5rCiszMTczOCBjZDIxYmU4MmY1MGJiY2JiZTc4ZmU2MzU2MzZkNDBkZGRkOTAxYTFhIGxlZ2FjeS10cnVuaworMzE3MzkgYTFiOGU2NTRkNWZlMTVmOTlmM2M5OTJmNDcyNTk4NjBiMWQwMzQxNyBsZWdhY3ktdHJ1bmsKKzMxNzQwIDkyZjFkMDJlMjhmMGE5YTRmNTljNzUyM2MwNzU0NTlmMDY3NzFhNTkgbGVnYWN5LXRydW5rCiszMTc0MSA3MzZhZDczZGY1YjQ4ZWZmYzY3ZTA2MDg2MTZiODI2ODEyNWVhZmIwIGxlZ2FjeS10cnVuaworMzE3NDIgNDZhODFiZDhjYTBjZDAzMTE0ZDZjNzg3ZmFiZjZkYTJmNDZiNjg1MiBsZWdhY3ktdHJ1bmsKKzMxNzQzIDI5ZGRkYzAxYjVlYzM3NjlkZjM0Yzk1M2ZjMTg3YmI3ZTgwNzFkMGMgbGVnYWN5LXRydW5rCiszMTc0NCA4ZTYwNzE4NTY4OWE0ZDZhYWEyZTAwZDI3NjYwZmFkYzBiNDM2M2M1IGxlZ2FjeS10cnVuaworMzE3NDUgMTdlNmU4MTRkMDk0ZTlkYjNmYjdhN2ViYTQzNGJjZTE5NmZhYmY3ZiBsZWdhY3ktdHJ1bmsKKzMxNzQ2IGU0OGZiNWZiZmRmNGRhN2JhZTJlZmJhODZhOGJiOTE4YWUwODJmYmUgbGVnYWN5LXRydW5rCiszMTc0NyAxNDlhNTc3MmRkMGM0NjJiNjQ0ZDQ4NDY2NTg2MGZjMWQ3NGYyYTQzIGxlZ2FjeS10cnVuaworMzE3NDggZmNiYzgyNGI2ZTM4MDk0YzdmZDU0YjRiNzVlM2VjMjk1MmJmMjU0NiBsZWdhY3ktdHJ1bmsKKzMxNzQ5IDAyN2RjMjEzYzU3ZTcyZGFlM2M2YTQyYjk4YzAwZTZiMTViZWViNzMgbGVnYWN5LXRydW5rCiszMTc1MCA1Y2E2NTBhOTAwNWZhNGIyYzg3MDRjNzNmYmQ1MjgxZTdjNzUyOGQ2IGxlZ2FjeS10cnVuaworMzE3NTEgOGYwMDhiN2NiOTdiM2M0MjQ5MzQ4ZWNmNmZmNDdlN2FkODU4OGE0ZSBsZWdhY3ktdHJ1bmsKKzMxNzUyIDJhYmQ4YTVhZjZkZGIxMThiYTg2ZjQ4YWUyNjc4M2NjZTAwNjE4YTcgbGVnYWN5LXRydW5rCiszMTc1MyBiN2MyOWRjOGFmYTBmMzA1YjkxNjAyMWI0ZjUyZmRhNGVlNmUyOTZkIGxlZ2FjeS10cnVuaworMzE3NTQgZWZlMjQ5ZDA2OWJhNDFiODA1NzljNmFhMDkyMDliZjg0NTlmNDVhNiBsZWdhY3ktdHJ1bmsKKzMxNzU1IDgxNDE1MDQ4YjJhZWYwMDEwNDUxZjRlM2FiMjA3NTY0Yjg2NzBjMzcgbGVnYWN5LXRydW5rCiszMTc1NiA4YjdkOWViNDk3NThjNTYxMmI4M2E0NTEyYTY3OWIxOWYzMmY3NzJjIGxlZ2FjeS10cnVuaworMzE3NTcgMDc0OTc4Nzk5NGRiZjM4M2ZmNzRjNTY2ZjYwMTU2NTViZTQwZDRhOCBsZWdhY3ktdHJ1bmsKKzMxNzU4IGY1N2QzMGQ1MDY0OGVkODAwZmI3OTMxYmM3YTgwNjQ1YTc5OGYyMzggcmVsZWFzZTIyLW1haW50CiszMTc1OSBhN2YwMTMwMmIxNmQyYjE0N2U1NTQ0OGE3ZDU0OGY5NWUzYzM4ZGRjIGxlZ2FjeS10cnVuaworMzE3NjAgMGFiNDU0NTkzYjUzYTE1ZjVhY2M3MzM3MWVhMjNmZWYxMWZiMmVhYyBsZWdhY3ktdHJ1bmsKKzMxNzYxIDA1NTc1YjdlNjcxNDA4NDNlYjBlMTUyMDUwNzhmNDEyNGY5YjljMjcgbGVnYWN5LXRydW5rCiszMTc2MiBhMzgyMjYzZGYwMWQ1YTI3ZjMwZDY3YzQ0MTQ3MjM0NDVmZDhjN2Q4IGxlZ2FjeS10cnVuaworMzE3NjMgYmFkOTE1NjQ1ZmEyMmRmZTk2NWZkMWMzNzM4NDFhNjJhNGM2MTQ1MyBsZWdhY3ktdHJ1bmsKKzMxNzY0IDc3MTk2MWU0NTMxNGYwMmMxYzEwZDQ0ZmI4NDk5Njg0YjE2OWViNmIgbGVnYWN5LXRydW5rCiszMTc2NSA0MzkxMDFkNDcwNWJiMDVlYmMxZjdjMTQ3ZWIxMGM0ZmJlZGY3ODgzIGxlZ2FjeS10cnVuaworMzE3NjYgMmMzZWY0NjM1OWVmNDYwNWNiNTc4YjkzYWE4NTJiOGQ2ZGVmN2M2MSBsZWdhY3ktdHJ1bmsKKzMxNzY3IGZiOGY3NmRmNjRmZjQwNTU1ZDNkYTU1MmI1ZjMxZTU1MzY2MWY1MTYgbGVnYWN5LXRydW5rCiszMTc2OCA5MmUzYjYxMWRjOWY5MjA3MjBiNzJiNjBhZGNkODc0MDE3NDBjYjMxIGxlZ2FjeS10cnVuaworMzE3NjkgMDA4YTI2YzM1M2FmOTcwOTRjY2M4MWY2YjdhZjgxOThkZmY2OTJhOCBsZWdhY3ktdHJ1bmsKKzMxNzcwIGMwM2JlMjJmZGQyNGMxZTU3ZDIzMTQ0NTE2NTUzNWU0YWI4N2QzMTcgbGVnYWN5LXRydW5rCiszMTc3MSBkNGIyNjJmYmQwNGEyMDdlNjVmY2U2ZGFiY2YwYjgwYWQwYTE3NDgzIGxlZ2FjeS10cnVuaworMzE3NzIgZjJiZDBmNGQ4NTc1MGI4Y2VlNDNjNjk1ODQ0YmJiZmE2NWZjMGQ3NSBsZWdhY3ktdHJ1bmsKKzMxNzczIGIzYzE1ODdiMmI4ZTMyMmNkNzI3MTRjMmRlODAxZDY1MjBmZjRkYjMgbGVnYWN5LXRydW5rCiszMTc3NCA3M2IwZGMyOGM5MWE3YWU4YzA1NGE3MzViZjRiYjM5NDEwMzA1ZDUyIGxlZ2FjeS10cnVuaworMzE3NzUgOTA3MDQwNGYyNGZhZDU4NzRmZWUwY2Y2ZDE2NmVjZmM4MjYwOTIxNiBsZWdhY3ktdHJ1bmsKKzMxNzc2IDdjOGU4ODA3YWVkMjljNmYyZGZlZDkzYzJhNGNkMmZjZmI4MWI1ZWQgbGVnYWN5LXRydW5rCiszMTc3NyA5OTdkNDgxZWE0MDkxMGExNGM0Y2QyZmEzOTVkNWQyMDllMDFmOWE5IGxlZ2FjeS10cnVuaworMzE3NzggZGM5NDc1ZWM3OTg1NWNjOTA4ODk2Y2M2Y2Y5ZDYzOTI4N2M4YjVlNyBsZWdhY3ktdHJ1bmsKKzMxNzc5IGVjYTY5N2UwNmEwN2NjMjk0YjE2ZTVhNzViN2JiMzlhYmFkNWRmN2EgbGVnYWN5LXRydW5rCiszMTc4MCA3MzNhZWJiNTdmYjAwOWMwY2EzMDQzNzNlNTJlZTJjZmE4ZDkzZTdkIGxlZ2FjeS10cnVuaworMzE3ODEgYTJkNzliOTNiNTBhMGE5M2ViYjdkZWEwNDMzYmJiNTlkZDE1Mjg5NSBsZWdhY3ktdHJ1bmsKKzMxNzgyIDI3YWRkZWEzM2UwY2FkNDhhYTcxYTQ5NDMyMjkxZmZmNjkwYTBhMjkgbGVnYWN5LXRydW5rCiszMTc4MyBjZGVhNWIxYjgyODBjZjllZjkxNjE2ZDc3MjNhYjllNzgwNzAyNjgyIGxlZ2FjeS10cnVuaworMzE3ODQgNDMwNjZmNjdjNWRiYTc0MTcwMDhmNTkzOGYyMzZiYzQ0ODk2ODQ0ZSBsZWdhY3ktdHJ1bmsKKzMxNzg1IGI4NGU2YjRlMThjODU5OWNmZDM5NzUxODRmZmU4MWIyOWFjYzA0NGQgbGVnYWN5LXRydW5rCiszMTc4NiA2ZTQ5YmEzZjYwYmU1NTYwMDllNTZlM2M4NWExMTY3ZDY3YzNmMGYxIGxlZ2FjeS10cnVuaworMzE3ODcgYTJlNjhhZGRlOGIwZjRjYTA5NDhiMDQ5Y2YzZTNlODY4MGZmNzNjMyBsZWdhY3ktdHJ1bmsKKzMxNzg4IDRjYWZhNTE0MTAxMjUyZDU5MTdkOTE2MDY0MGM4M2ZlNDViMjE2NjUgbGVnYWN5LXRydW5rCiszMTc4OSA0N2NiODVjZGQ1ZjMxZGU4YjVmZjdlMWUzYTk3YjUyODc4YTBjYzQ4IGxlZ2FjeS10cnVuaworMzE3OTAgZDQ0ZjljYzI3MjkwNTU1NTMyZTFmZWVlODIzY2JhMTJlM2Y5YzVkOCBsZWdhY3ktdHJ1bmsKKzMxNzkxIDI3MWJhYTg4NDI0YmUyOWE4ODNhNTIxOWRkYjc5MzMxYWFhY2FhNzEgbGVnYWN5LXRydW5rCiszMTc5MiA2MjczYTE1OGZiMGFjZDcxYzc1Yjc4MThlMmU4MTI2ZjYyMzExMDliIGxlZ2FjeS10cnVuaworMzE3OTMgYjVkNmMzOGViMTYzNmZlNjM5MDgwMzJjNzFhZGNjN2ZjM2NiYjYwZiBsZWdhY3ktdHJ1bmsKKzMxNzk0IDQ4YTYxYTRiNzNhMTBiZTE1ODAwMGJhOWM0ZmEwNjczMWZkOThhZDIgbGVnYWN5LXRydW5rCiszMTc5NSAzMGZhMWY2MWIyMzFhN2VkNmI4M2I0YTgwYWViNmNlMmViMzYxMzYyIGxlZ2FjeS10cnVuaworMzE3OTYgOGYyM2QzOWE5YTMzODdhNjI4N2RiYzg4NmIzNDYxMWJmNDg2OGFhMCBsZWdhY3ktdHJ1bmsKKzMxNzk3IGVhNzAwMzJhMjRiMTAyNDIxZmRjMzMyNGFiMzMxYWZjZjIwNjQ0NTggbGVnYWN5LXRydW5rCiszMTc5OCAwMDg5MmFmZmI2MGFlODRmNjBkOGNkOWY3NDUzMzZkNzFhMzY4NGY3IGxlZ2FjeS10cnVuaworMzE3OTkgZmUxZDU3MWMzZjgwM2UzNzNmMDk5ZDZlZGNlMDMwZWU2ZDQwMzVjMCBsZWdhY3ktdHJ1bmsKKzMxODAwIGYxM2FkYzAwYzE2NTIwMzQ3YTkwZDBhOGI2MmM5NjUyZjUyODhmNTcgbGVnYWN5LXRydW5rCiszMTgwMSAwNTc0MzI2Yzc4YmJhZTQ2YjdlZmQ4NzZlYzc3NTQyNjNhMzBhMGZiIGxlZ2FjeS10cnVuaworMzE4MDIgNTg1NTkxNWIwMGY1ZTUxNDcxMzBkYjE5MDdkOGY0ZjkyYmE0M2UzMSBsZWdhY3ktdHJ1bmsKKzMxODAzIDVjM2FjYmYyMmEyNmY2NzJmYjBkODE0NzY5YjFmM2E5YjYwYjlmOTcgbGVnYWN5LXRydW5rCiszMTgwNCA2MjY5ZWFhZGQ0MWVmNGJiM2I4YjMwMzkzNmZjMzNkMTQzNDk5OWExIGxlZ2FjeS10cnVuaworMzE4MDUgZjk1ZGZiMzNkNzYyOTNjODA4OTExNGU5YTY3MThmNzNiM2ZhNjJjZSBsZWdhY3ktdHJ1bmsKKzMxODA2IGE1OWQ4ZTRjYjkwMzg2N2JmMWU3MDIwMDIwMWVjZTM5ZjViOGFkNjkgbGVnYWN5LXRydW5rCiszMTgwNyA0ZjY3OWFhNjIzYzJmNmMyNTYzZDRmZGRmMDc4OTc0MTUwNTYxZWJlIGxlZ2FjeS10cnVuaworMzE4MDggNGI2ZDdjNzU2OThhYzdiZjMxZjY3NGMwNDY4MDU4NGNjMmExM2E5YyBsZWdhY3ktdHJ1bmsKKzMxODA5IDZlZThkNWEzMGNiYzIyMjRhMWQ0MTJiYzU4ZGJkNzI2MzdiYmU1YTUgbGVnYWN5LXRydW5rCiszMTgxMCAzNjU1ZTkxYjNkZWFjZmYyY2ZjMWE1ZTQ1NzYzMzE0MTQ3ZGZkOGY5IGxlZ2FjeS10cnVuaworMzE4MTEgNGIxZmVmMzdhYzdiZDdhYThjMWI3NWZmNjg5ZGZiMTcxZjllZWY4YSBsZWdhY3ktdHJ1bmsKKzMxODEyIGQ3NjMwMTg1ODk0MWM5MGI4ZTc2ZDk4ZTgyYWIyMjJkN2M3MWVkYzUgbGVnYWN5LXRydW5rCiszMTgxMyBiMjQ2Y2EwMzNlM2VlN2Q4NDI1ZGFmM2M2MTY0ZmQ1ZGFkZDk4NWNiIGxlZ2FjeS10cnVuaworMzE4MTQgMDNkM2ZhM2UxZDRlNWNhNGZjNTc1NWViYTJhMjViMDJlNDEzNzUyMyBsZWdhY3ktdHJ1bmsKKzMxODE1IGZhMThkZjc0NmVjNTI1ZDc3MjZhNWJjYjVhZTVlMDE1YzVjYmFmNzkgbGVnYWN5LXRydW5rCiszMTgxNiA1YzQ2Yzk1ODdhMmZhMzE3OGVmMWMwYmVmNzM2MGNkODkzZjNlNDk3IGxlZ2FjeS10cnVuaworMzE4MTcgOTI3YTk4MzNmODNiNzlhZTFiYTk4NzJiZmNhOGZhM2FlMTJhMTkyNiBsZWdhY3ktdHJ1bmsKKzMxODE4IDZjMDY2N2FjOTM5ZWRkM2Y1YzA2ZmM3YTJjOWMyM2ZhMDdkOWIxZjggbGVnYWN5LXRydW5rCiszMTgxOSA5MmI5MzAxMzAwYzM5NjgwNWVhMWZkNDI5NjFiYTdkZjJjMTE5Mjk0IGxlZ2FjeS10cnVuaworMzE4MjAgMjc1MWM1ZWY5OGJlNmNjOTc5MzNkMDg0YWQ4ZmVlZTdkNGViNmQxOSBsZWdhY3ktdHJ1bmsKKzMxODIxIGE0ZTdlZGM2OTA1NGQ1MDNiZjIzMGFiZTY4NTQ3MGJlMDk5MWJiODQgbGVnYWN5LXRydW5rCiszMTgyMiAxNTY5MTFkYmEzMDZjMTI3ODMyYzdkNzljNGZlNzJmOGJlOGY1OGVlIGxlZ2FjeS10cnVuaworMzE4MjMgYmVhM2QxZmRhM2RjYjAyMTEyMWY3YmY2YmRkY2VlZWQ3NWJhYTQ0OSBsZWdhY3ktdHJ1bmsKKzMxODI0IGI3OGQ4YmI1ZWJkNzE0NzRkYTc5OWQwODU3YjZlZmRlMDA3MjI4MTQgbGVnYWN5LXRydW5rCiszMTgyNSBlMjhiNDhmYzkwMGJmZGFhZDMzMTIxZjFiZThiZTg0ZjhkNzNlOWIzIGxlZ2FjeS10cnVuaworMzE4MjYgZmM5MjlkNzFhNDUwZjQzOGQ4ODIzYzNjMTRlODRhZDM5ZDhjMGQyNCBsZWdhY3ktdHJ1bmsKKzMxODI3IDY1YjcyMjY3MzgyOTA5NzM3ZGIzZjU2MzA5OGZkN2Y4ZmRkNmVlYmQgbGVnYWN5LXRydW5rCiszMTgyOCBmZDliODgyYmUwNzk3NWJmZmQ1YmIyNzQ5OGU0NDdmMDEyM2NkZGQzIGxlZ2FjeS10cnVuaworMzE4MjkgN2YwYmZiZWM5ODdmYTBkZjI3ZWVkMDZhMGEwY2ZkZDlhMWNmMTVlOSBsZWdhY3ktdHJ1bmsKKzMxODMwIDMzNjU2NjRiODI5NDJiYWM2NjVjOTczMTIwM2UxYmRjOWQ2ZTAxYTggbGVnYWN5LXRydW5rCiszMTgzMSA0YzY0NGE2MGMzMGQ5Mzg1NWRmMWE4YmQ0MDNkYzFmZWM3ZmE3OWJhIGxlZ2FjeS10cnVuaworMzE4MzIgYjEzNTZkYmFhYjlhMmI5NmVmYjZhODExODI4MTZjOGQwMWMzNmU1NSBsZWdhY3ktdHJ1bmsKKzMxODMzIGZiYWUyMGEyZTExNmRlZWY3YWYwOTQ0ZDRlNGU1ZDYxMWY4MDM2YjcgbGVnYWN5LXRydW5rCiszMTgzNCAxMDI4ZGM2ODA3YTVmOTgwNWNiYTliNjI3MGMxM2FiMDFkOWMyYmRjIGxlZ2FjeS10cnVuaworMzE4MzUgNDU5YzQyOTFmNzU5NjMwZDdhMTVlOTMzNzQ2ZWNmODUwMWI1NzVjZSBsZWdhY3ktdHJ1bmsKKzMxODM2IDZhMmQ5YWU0MzBiZWE2YzFmMzUyMDgxODY1YTYyNGIyMDZhNmY2OTQgbGVnYWN5LXRydW5rCiszMTgzNyBhMjk1N2ZmY2I1OTg2NWQyZjYwNzc0ZTBkNGY4YmU2ZTVlMWIwODYzIGxlZ2FjeS10cnVuaworMzE4MzggZWY1MjVjOTliNGVlZDY2ODUwY2QzYzZkNDg0MmEzNGZiZTc0NjhhYSBsZWdhY3ktdHJ1bmsKKzMxODM5IDUxYzc0Yjc5NWU5ZTk0OTRjMDlmZDc3MTZmZDAwNmQzY2FkYzY1OWYgbGVnYWN5LXRydW5rCiszMTg0MCAxNjJlZDJhOWNjMGM4YTI3ZTY4MzYzMTNlOWZhNWZjMTAwZTAxNWZjIGxlZ2FjeS10cnVuaworMzE4NDEgN2ZjM2U2NGQxNDI0MTUzMmNlNjNkMjgzZGZkNjMzOGExMWNhYzNkNCBsZWdhY3ktdHJ1bmsKKzMxODQyIDczODE0Y2I1ODI3ZjhjNWQyMzRiMzc5NDI4ZmU3ODkyOGUyOGFhYmQgbGVnYWN5LXRydW5rCiszMTg0MyA4ZDEwZjY4ZDdjM2IwYWYyOTFjMTViODFlNTI2NjY4ZDA2YzY4ZjJhIGxlZ2FjeS10cnVuaworMzE4NDUgYThkMjRiOTdjODEzYjIwZGRjNGE2MzY0ZmNiZDZkZmMyMjhlY2MyNiBsZWdhY3ktdHJ1bmsKKzMxODQ2IGI5NzJiZTgwNjQ3N2YxMzFhZWNhZDFhOTY2ZWVkNWI3MTE1ZDI3ZjUgbGVnYWN5LXRydW5rCiszMTg0NyBjOWZjMzVkMGEzZWJhYmYwZDRjMDE0ODVhYjRhMjc1MjNiMjIxNjlkIGxlZ2FjeS10cnVuaworMzE4NDggMjI4OTdjYTEwMjg4ZGQxYzJkNTY2YTE1OTdlYTk5NTY1YjU1NzRhMCBsZWdhY3ktdHJ1bmsKKzMxODQ5IDVhNGM3ZTZmMDA4ZTIxMmYzZjA2MGNjNTQ4YjdlMWVlMDRjOGU2NDYgcmVsZWFzZTIyLW1haW50CiszMTg1MCBlNDA1Mjc3Njk4NjRjYjI5ZDY5MWJiMWNlMzliMjc4MDNjZGQ5MWJiIHJlbGVhc2UyMi1tYWludAorMzE4NTEgMTcxZjE4NjJkZWE5NTczNTRlNDFjMWY2ODkzYzk0ODBiODJmNGVkNyByZWxlYXNlMjItbWFpbnQKKzMxODUyIDY1ZGQ5NjEyYTc0ODA4MDE2MTEwN2I2NDQ3YmZkNTVjZDkzODIzM2QgbGVnYWN5LXRydW5rCiszMTg1NCAwYmExN2U5M2YxMzlmNTc0ZmUzYTViMzAyMzJkNzUzODVjZWE4NmQ2IGxlZ2FjeS10cnVuaworMzE4NTUgNzY1NGMyNGRlY2M0ZWRiOWM0NDJiZTc5ZGMxODk5MDE1YTQ2OGRlYSBsZWdhY3ktdHJ1bmsKKzMxODU2IDJjMjJiNWMwOWE1OGRjNjE5M2UyYTc0ZTdhMDNkNzEzYzViZWM4OTIgbGVnYWN5LXRydW5rCiszMTg1NyBhYmZlNGIzODAzMDVlZDhjMmE5MTdiZTA5M2NhMjMzYjliMjI0ZWQ1IGxlZ2FjeS10cnVuaworMzE4NTggMTQzMTZkZjFjMjk4YjcxNjUzZGM3NTRiNTFkMDg0MDI2YjI3MmNlMCBsZWdhY3ktdHJ1bmsKKzMxODU5IDk2MDJjNjY0ZWQ3YTJjYmU2ODFmMjAxOWVkYWRiNjc1OTc3NjEyYTEgbGVnYWN5LXRydW5rCiszMTg2MCA3MzQzNGZhOWQyODUyYjc5Yzk5OWQyNzg3YzRjZTFhMzliYmY2ZmMwIGxlZ2FjeS10cnVuaworMzE4NjEgOGMwODI5MzZkYWFmZGFlZTMyMzk1N2FjZDlkZWM1ZjZjYWRhOGIzOCBsZWdhY3ktdHJ1bmsKKzMxODYyIDQ3MDUwNGVmNTc4YjIwNTM2Njg1OGFhNDdhMDIwOWQ5YWE2NGExZmYgbGVnYWN5LXRydW5rCiszMTg2MyBiMTRkNjc0MWY0OTY1MWI4NmY2MjAwMDFlZDNiNjYwMGZiOTM1OWMzIGxlZ2FjeS10cnVuaworMzE4NjQgNzAyZTU0N2YzMWUwZDUyNWRmNTU0Y2IzZWEwNDU4N2YwODAxOTcwYiBsZWdhY3ktdHJ1bmsKKzMxODY1IDIyNmM1YmRkMTYwYjk1YWU3YzcwZmRiODFhZmE5ODYzNDUyMDY4Y2EgbGVnYWN5LXRydW5rCiszMTg2NiAwMGJkYTU2ZjU0MzMwNjNjZmJlYzFhNTU3MTIwM2YzYmE3MmI4ZDMzIGxlZ2FjeS10cnVuaworMzE4NjcgOWMzNTcyYTU1NzVmOTk3MzIyNGQ5MDUxYmE4NzQ0ZmZjYjJkMmVlZCBsZWdhY3ktdHJ1bmsKKzMxODY4IDVjOWRjZGM3ZmU4ZDY5YjNiMmY0YzNlN2ExZGExOGFmN2JkMzg0NGMgbGVnYWN5LXRydW5rCiszMTg2OSA0ZjQ3ZGYyMDQxNWM3MWViOTkwOTYxZGNlNjE0ZmYzMzZmMzY4MzIxIGxlZ2FjeS10cnVuaworMzE4NzAgMjQ4OWQyMjIyOGRiYmM5N2RkMTAxYTE4ZGI2YzdiMWYwNmE5YjgxZiBsZWdhY3ktdHJ1bmsKKzMxODcxIGVmNTVmMjIzMmExMGQ3MzFiZGVhZTA3ZWZkYzQ4Yzg2MGZmYWJhYzAgbGVnYWN5LXRydW5rCiszMTg3MiA5MGY3ZmJjYjM3MDY5NTdlZjc2OThkODY0ODBiNGMwMjNkYWIyZjAzIHJlbGVhc2UyMi1tYWludAorMzE4NzMgOTE4OGNiOGUxOTFiNDg4Y2E1MzBiZGZjNTBlMzBlNTdmNzk1NDA5ZSBsZWdhY3ktdHJ1bmsKKzMxODc0IDkyNzhiMWM4MGE2N2YwY2ZjZWFkMjk1ZDRjYjQ5NTcyMjY1MzhlZmMgbGVnYWN5LXRydW5rCiszMTg3NSAzZTE5ZTNiNzJkOWIxYjk3NmRjYzQ3MTY1NTMwMDI5NTBjZWExOGJmIGxlZ2FjeS10cnVuaworMzE4NzYgMDIzZDNiNTBlNTk3OTc0ZWIzZDQxYzJhN2JhZDNkNGNlNjMzMmI3ZiBsZWdhY3ktdHJ1bmsKKzMxODc3IGJjMzcwYjg3NTNmMTI2MGEwZjRkNjY5YjE2YmI0ZGY1YzEzYmYxNjQgcmVsZWFzZTIyLW1haW50CiszMTg3OCAzNjBhNTc4MDU2NzZkZDIzYWI5YTY0MGVhZjg0ODg0ZGYyOGQxMGY5IGxlZ2FjeS10cnVuaworMzE4NzkgZmQ1ZWY3MDAzNDY5YTYzMTg2NDU4Y2ExN2UxYWJhMmNhYzRiZWVmNiBsZWdhY3ktdHJ1bmsKKzMxODgwIDkyZGFmOGIwNmFiYzE4NjJmNWVmZTY4YzUxMDc4ZTA0NmYyZTlhOWIgbGVnYWN5LXRydW5rCiszMTg4MSA5ZWJjNjFiOWU4YmRiYTY1YTM5MTUyZWM1MjU1NTIxNTAzMWU3N2QyIGxlZ2FjeS10cnVuaworMzE4ODIgNjdiMjJmYTRhOGZlNWY0NjRlZmJmY2JiY2Q5MzRiZWZjZGE2ZmUwNCBsZWdhY3ktdHJ1bmsKKzMxODgzIDRlMjIxMzY4YWY3MDdiNGIxNTNhYmY3YTg2ZmU3OWZkMDQwZjA1YjAgbGVnYWN5LXRydW5rCiszMTg4NCA4NTA2MjZkNDc1NzQ5ZDQ2ZGVlYjc0NjU4YmEyZmM4OTRjNGQ3ZjY5IGxlZ2FjeS10cnVuaworMzE4ODUgMzM1OGRmYjFiMThiNDIyZTBhOWJlYzg0MDE2ZDcwYmRjYzI2NjIyZSBsZWdhY3ktdHJ1bmsKKzMxODg2IDE4NThiY2I2MTcwNjgyYzNiNzdlM2I0ZThiODcxMmJiOTk3YTUyODYgbGVnYWN5LXRydW5rCiszMTg4NyBjZGQ1ZDBjZmE2ZGNlMzU4ZDkyNmI5ZWU4MzYxYzBlYjFiZTc0Y2E3IGxlZ2FjeS10cnVuaworMzE4ODggNjJkZjE3ZTUwMWRjNjgzYTM2MjQ4ODlmMGU1ZDUyODA2NzllMDA3MCByZWxlYXNlMjItbWFpbnQKKzMxODg5IDAyY2UyMjgzMGFiOTYwOTc5YTAyNjg1ZDAyMGM2ZTg5ZmViY2I2NzEgbGVnYWN5LXRydW5rCiszMTg5MCBiOTFhODFkNjgwNjgwZTAxZmQ2MTQxNzNhYjE1NWZmNmM2NzkyMTcyIGxlZ2FjeS10cnVuaworMzE4OTEgMjkxYjlkODY2ZWNmMmE5YzhkN2YzZWZkZGI3OTg1OWNiODFkMGJjMiByZWxlYXNlMjItbWFpbnQKKzMxODkyIGVlYzNmZDE2NGE3ZGI4ZGQ0YzdmZTg4YzE5ZTIyNDBkZmU3NDMxZDAgcmVsZWFzZTIyLW1haW50CiszMTg5MyA5ZjI4N2U1ZWIwMzc3NTI0OWVlMWQ0OGEyMzk5N2I0MTIzZGVkZDg5IGxlZ2FjeS10cnVuaworMzE4OTQgNzAwMDNiMGNiODM3OTUyMGQ2ODAyNDFjZmU4MDY5NTE0OWYzZTYyZSBsZWdhY3ktdHJ1bmsKKzMxODk1IGI1NmQxMGVkMzNjNWU4NWFmMmVlZGYzY2E1YTAwYmExOTUyYjQxNjkgbGVnYWN5LXRydW5rCiszMTg5NiA5MGYxN2MzNzRmNTkyNzI4ZTg5ZTQ5OWEwNjY0N2MzMjRkNDIwZTliIGxlZ2FjeS10cnVuaworMzE4OTcgMzQzNGQxYjkyMDZhNWJkOGRlOTc0YzFhNTAwYmE3Zjk1ODQ0N2Q4MyByZWxlYXNlMjItbWFpbnQKKzMxODk4IGNjMzVlZDJiMjZhOGIyYjUwNDMzNTQ0YzMwZDMyNmM1MmZlNTUyMzEgbGVnYWN5LXRydW5rCiszMTg5OSA1Y2YxZjJmMzBkYmQ2Y2M0MDY1YjM0ZDVlNTljNmZkYzViYjZmN2FmIGxlZ2FjeS10cnVuaworMzE5MDAgNzk3OTA5NDkyYzM4NjcyMDQ0MzdkMWJlNWFiMWM5ZmNjNGRmNjM4ZCBsZWdhY3ktdHJ1bmsKKzMxOTAxIDI2ODA4YWM3ZWU1MWFlOTkyYTlhMGE3ZWY3YmRlNzQwMzM2ZjM1ZDAgbGVnYWN5LXRydW5rCiszMTkwMiA5ODBkNmUwMTEyY2UxZTQ2NDNkNGRkMWFjMmM5N2ZjZmM1YjdmODRlIGxlZ2FjeS10cnVuaworMzE5MDMgNjFiMGZmOThkOTVkZDM4MWUxY2Q3M2RhOWYzMDQ5MmJjNGQ2ZTY4NyBsZWdhY3ktdHJ1bmsKKzMxOTA0IDE0MzkxNTc3NmNiYzJmZjMxNzYyZTNhNTc5MjRhMDEzMjVmNTQ3OWUgbGVnYWN5LXRydW5rCiszMTkwNSBmNWM5N2I2NWY5ZTg1Njg1NzljYjkzMjU5Yjc0NDE3YWUxNzhjNDVkIGxlZ2FjeS10cnVuaworMzE5MDYgMWZjMWEzMDVlMzk5OWE0NDEwODMwY2Q0N2UyMDVhNmNiNDkxYjM0YiBsZWdhY3ktdHJ1bmsKKzMxOTA3IGI3MzQwYjA5NTU1ZDMwYmU4YmQzNGRmNWVlZWU4MjBiNTA2Yjk0MjkgbGVnYWN5LXRydW5rCiszMTkwOCAzMDk2ODk5Zjc3NGZlYWM5MjgzYWE5YjY1OGMzZTM5N2YxYjExMWQ0IGxlZ2FjeS10cnVuaworMzE5MDkgZTM2ZmY0OTJjYmIxNjIzYzBkZDdjMTYzMDhiZDI3NTRkZjNhOGVjYiBsZWdhY3ktdHJ1bmsKKzMxOTEwIGQ1NzQyMTYyMzQ0OWI3YWIwOTJhOWVmMTBiYzI0YTliMzI3MTc1ZjEgbGVnYWN5LXRydW5rCiszMTkxMSA0NTA1NGJmNTkyZTVlMDNlZDYxNzEzZjViY2QyMzM2NGNhNTFlZTVlIGxlZ2FjeS10cnVuaworMzE5MTIgZGQ4M2E5YTUzZGJmYjkxZjg5NTM5MTUxZTg2ZTliYjI0NDI0MThmMSBsZWdhY3ktdHJ1bmsKKzMxOTEzIGQzNGJjYjNjYjIxNmVhOTY5NjkzYWZiN2M2ZTFjODhiMzVkZDlmM2UgbGVnYWN5LXRydW5rCiszMTkxNCBlZGRmNTlmNWNjNTg0MTQ3N2RlNjIyMmU4ZTcxYjQ1ZDJkYTBlNzAzIGxlZ2FjeS10cnVuaworMzE5MTUgM2ZmYmJiNGY0OGRhNjMzZjJlYTQzNzIzYWIyNWUxMzNmNTQ5MDgyMSBsZWdhY3ktdHJ1bmsKKzMxOTE2IDhkN2ZmZTRjYWFkOWFjYWM4NDFjNThlOGQyZDMxYWFkZDU0OWEyYTAgbGVnYWN5LXRydW5rCiszMTkxNyAzNGUyMmNkZmFhZDI0NjM4NTM4MDQ4MTc2ODEyM2E5MjgzODFhOWYxIGxlZ2FjeS10cnVuaworMzE5MTggYzdjZWI5NTYwZWIwZTFiYWExOTdmZWMwMGNiMjJmODk1OWEwMzgyNiBsZWdhY3ktdHJ1bmsKKzMxOTE5IDcyMjQ3ZWUyMjY1Mzc0Y2M1NWI5MGM4ODI1ZjkxOTBjYzZjYmRlNjYgbGVnYWN5LXRydW5rCiszMTkyMCA2ZmRkY2RkMTFmNDlmYWRjMGM3OGFlNDkwMmY1OGYxYTgwYmNiYjU3IGxlZ2FjeS10cnVuaworMzE5MjEgMzFhNTExZjc0YjI4MTZiMTBiY2I4MWY5M2QzYjI4MTY4YjRlNGVlMyBsZWdhY3ktdHJ1bmsKKzMxOTIyIGJhYjJiMjg2M2E2ZTA0YzAzOGY0MzNkZmI1MzA1MWZiNWNjNzE2NWYgbGVnYWN5LXRydW5rCiszMTkyMyA4ZTI0NzNhZDdjMGNiYWIzZjZjYjAwZDliZjYxM2FkN2IxNGZkNDYzIGxlZ2FjeS10cnVuaworMzE5MjQgYzk3YzEwNGMyZDI0OTZjOGIxZDE1ZDVjNzMzZjk2YmM4OTMwYzkxYiBsZWdhY3ktdHJ1bmsKKzMxOTI1IDlhYWM4NzBmMDNhMjk5MDJjMWY4M2JiMTVkODcwNjJkZmEwMGE3YWQgbGVnYWN5LXRydW5rCiszMTkyNiBkZTAxMzI3NjU4NGFlYmVlNDljNjcwYzc3YmQ0MDA1ZTVmNGFjNjUzIGxlZ2FjeS10cnVuaworMzE5MjcgZmY3OGMzYzNlYmM0NjZkMDI5MGY5MWFhOWE5NWQwNTYxMmI4YjhiNSBsZWdhY3ktdHJ1bmsKKzMxOTI4IGViNDgyNzhjMmUxMDI1Y2IwODY3MzViN2I2NmNkNDAyODE4OTcwYWQgbGVnYWN5LXRydW5rCiszMTkyOSA3Zjk4MWRkN2ZhOGQyZGNhNDVjOTk1NzM4M2ZkYmQ5YzAzMzMzODYxIGxlZ2FjeS10cnVuaworMzE5MzAgZmJhZTY0NTUxM2Q3NDczNGYxYmJiNTdiODI4MDU5ZDUzYjRhNGU4YiBsZWdhY3ktdHJ1bmsKKzMxOTMxIDc3MDg5MmQ3OGYyYmI3OTg2YTFlMjc1NzE0MzQzNzFhYTNmMDU2YzcgbGVnYWN5LXRydW5rCiszMTkzMyA0NTg1NGZjNzA3ZDY0OTk0MmI2ODEwMjBiMWFkNGZiZDQ4YjNjZDE0IHJlbGVhc2UyMi1tYWludAorMzE5MzQgMzA3NDhjMTVhNDgxYWY3NzE2MzFmZmMzYjQ1YTA3ODMxNTlmMGJmMCBsZWdhY3ktdHJ1bmsKKzMxOTM1IGUzMzNkNzY1ZjQxZWUxZjM5NWFhMzk5NzFiYWM0NDMwZDBhZDg4NDMgcmVsZWFzZTIyLW1haW50CiszMTkzNiBkODc3ZmZhNGY3ZjIyYWM1ZmU2ZWU0OWExNDU1YTM0MmM2NTAwNzI5IGxlZ2FjeS10cnVuaworMzE5MzcgY2U0YjkyOGM4MzQwYTEyMjhhYTkwNDc5NmU3ZDVkNTVjNThkN2FlZSBsZWdhY3ktdHJ1bmsKKzMxOTM4IDc5NWQ2MTQ0ZDJlZTRjZDg0MzAzOWY1NTBlN2IxMWJhN2UzMGI2OTUgbGVnYWN5LXRydW5rCiszMTkzOSA3ZGEyZWUzYTljNDNiM2I5ZjI0MzgyYWRjYzIyZDM0YjliNGE1OTVhIGxlZ2FjeS10cnVuaworMzE5NDAgY2E0M2FiYjA3NjM4Njg3OTMwZDdmMGY4MTQ1MGVlYzcyZGM2ZTg4OSBsZWdhY3ktdHJ1bmsKKzMxOTQxIGUwZWJmYTJmYjkzNjlkYmM4Yzc0NjQyMWYxZmFiMzM0MzZmMmY5ZjIgcmVsZWFzZTIyLW1haW50CiszMTk0MiBmNmJmNzgxNzMxZDQyNTY0ZGI4ZTZjZDczN2VmODNkOWVhMDUxYzU4IGxlZ2FjeS10cnVuaworMzE5NDMgZjk5Y2Y5YmZiYmFmNWJlZWZmM2M2MjlhNzFjMzg5ZDQxOTJlNjhhNSBsZWdhY3ktdHJ1bmsKKzMxOTQ0IGI4NzIyOTc0MDZhYTljOWZiODZlYzE2NGM2Y2ZkOGU3YjU3MzcxMjkgbGVnYWN5LXRydW5rCiszMTk0NSBiMjM0MzQyMTFkMDFkZDgwMGYyMWZkOTE2M2ViOWY2MTk3ZWRlOWQ3IGxlZ2FjeS10cnVuaworMzE5NDYgOTQ2MDFkOGZhNTFkYjY4ZDhiNDJmOWFiMjQ4NDVkNTdkZTBlNzdhMCBsZWdhY3ktdHJ1bmsKKzMxOTQ3IDk4M2U5MjkxYTdiNDYxZTJhZDY2YTQwNzU3NjEwZDhjY2ZjY2M0ZDcgbGVnYWN5LXRydW5rCiszMTk0OCBmODEyMzljMTJjNjBmODA2MjIzMTllNmFlNTg1OGU2YjE2ZWM1ZWU0IGxlZ2FjeS10cnVuaworMzE5NDkgNGVkZTU3YTQyYzYyMGIyZDFlMDBlNTRiZjYzMjlkMzUxOWM3MzI1NSBsZWdhY3ktdHJ1bmsKKzMxOTUwIDMzMzE5NDU4ZmU5OTViZWRiZTVmMjg2ZTc5MzkyYzkwNjY4NzJkNjkgbGVnYWN5LXRydW5rCiszMTk1MSAwNzYxN2QwOTA0YTYzZjM2MTdlYjE5YWI0ZWQ0YTViZWJmZjg3YjY5IGxlZ2FjeS10cnVuaworMzE5NTIgNWVlMjlmMTM2NGYzMzU3ODE1ZjI4YzI0YmExZDY4OWU1N2FjMDc5MiBsZWdhY3ktdHJ1bmsKKzMxOTUzIDE2YWE3MmE4YzI4MWVmMjBhNTFkYjdhOGNiM2YwNGQyOGMzMTdkNjEgbGVnYWN5LXRydW5rCiszMTk1NCBiYzkwNzZiMDE2OTQ5OGFhNTNiMzc0NDc2ZjA4NTU0Yzc0MGZjZWZmIHJlbGVhc2UyMi1tYWludAorMzE5NTUgMWUwZTY3OTQ3MTc1OGI1OWYwNjU3ZTRmNjVmNGFjYzVmYzI3Zjk4YyByZWxlYXNlMjItbWFpbnQKKzMxOTU2IGQ1NjI4MmMyOGExZWZjZGY1ZWNjZDAxMTkzNDU0MGExMDJkNDRkZGMgbGVnYWN5LXRydW5rCiszMTk1NyA0ZjAzOGQzYTg4NzhjYmY3NDk1YjcyNGE1MWRlYWJiMjU3NDA1MjI2IGxlZ2FjeS10cnVuaworMzE5NTggYTIxMTBjYjE2NWYxMTFiZmZlOTQ1YjQ0YzMxNzJmNTE3MDA3YzhmMCBsZWdhY3ktdHJ1bmsKKzMxOTU5IDY2NDIxMmE2ZTI4M2UyYTJiYjgxMzRhMTI1ZDViYzdiOWNmMzhkNTMgbGVnYWN5LXRydW5rCiszMTk2MCBlZTk0YTk4Y2YzOTZjMDQ0NWEzOGJhOTc2ZjZhYWU3MjA5YTRjNWZkIGxlZ2FjeS10cnVuaworMzE5NjEgYzZjMmYyNmRmNjViMDRlY2RkZjcxNzIyZmU3ZjU4ZTU2Y2ZlNjIxNSBsZWdhY3ktdHJ1bmsKKzMxOTYyIDVmNTM2NGFjNGFkYmM0N2MwZGM4MTQ5NGZkMmZhNmJkZmM1NTU0N2QgbGVnYWN5LXRydW5rCiszMTk2MyBmMDBjZDY5M2Q0ZTAyZDMyN2ExNmE0NzUwNmU1M2NjYmI1ZjQyYjY3IGFzdC1icmFuY2gKKzMxOTY0IGU1MzA0M2JkYjhmMjNhZDRkOTE4ZDhhZDMzOGVhYWUwYTEyNmI5OTggYXN0LWJyYW5jaAorMzE5NjUgY2I4ZDQyN2FmZDIxMTU3MmNkNmM4MTdjZmM0YWQwNWZkYzIzNjk3MiBhc3QtYnJhbmNoCiszMTk2NiBmYTM1YzhiNDViMjQ1NmQ1MzJhNGYwMGIxOTZiY2M0ZjA2NDhkODBjIGFzdC1icmFuY2gKKzMxOTY3IGQxZDYwYzJlMGFlOTkzYTZjMThhMDllNjE0ZDM3OTMyYzdhMjk3MWEgYXN0LWJyYW5jaAorMzE5NjggMzA1YzE3NTExYTg2OWM5NmU3MjNiMDk0ODE2YzhkNjM5ZTVkNTdkMCBhc3QtYnJhbmNoCiszMTk2OSA1NWQwZTk5OGJjNDZjNDc1MGViZTY4Yjg4N2U4NGJmNGQyOGIzYzJiIGFzdC1icmFuY2gKKzMxOTcwIDczNjVmMTMwZjE1ODNkYTZmYzRiNzk4MDE3MmNkODJkODY1MTM3N2EgYXN0LWJyYW5jaAorMzE5NzEgOTA3M2Y4ZmY3MjU2MmFjNzk3MWE4MzFlOTg4ZmQ0Y2UwMjRjNjNjNyBhc3QtYnJhbmNoCiszMTk3MiA2M2VkODUyOTA0MTMzNjA5ODg5ODBlZjMzNmY3YmIwNGVlMzgyMzQxIGxlZ2FjeS10cnVuaworMzE5NzMgNWVmNjEzMmYzY2FiYzlkZGUxYTgwYzIwNWY0NDcxZjRiNDBiYTUxYyBjYWNoZS1hdHRyLWJyYW5jaAorMzE5NzUgZWM4MDNjYzU3MTg1MTdlMjY1OThlNTNhZTBmMWE3YThlN2RlOTQzNyBhc3QtYnJhbmNoCiszMTk3NiA1YjE1MmFhYzgxM2Q3ZGIwYmUwZWZhNWY5MmNkNTQwYTUwZjZhZWQxIGFzdC1icmFuY2gKKzMxOTc3IDhmZmZhNmQxNTQ0YTg0MzVlNDAwYTE4Y2IzNTE5ZTkyMTEyYzg3ZGMgYXN0LWJyYW5jaAorMzE5NzggZGNkYzQ1MTc0MGZhYjRiOTU0MjI5OWQxYjI5ZmE3OTE5ZWZlMjgwMyBsZWdhY3ktdHJ1bmsKKzMxOTc5IGYzNjJjOWFlZGYxMzRhNWFhNDU2OTk2MjgyNThkOWQzNTUxNWEwNTAgYXN0LWJyYW5jaAorMzE5ODAgNzM2N2EzODRhNzQ1NTU4YTcwNzAwMjYxNjkwOTdhMGU4ZmE2MmVhZCBhc3QtYnJhbmNoCiszMTk4MSAxMWQ4MjdkOTM5MDQyOWI4YjE2NmY0Yjc5ZTQyZGNhMDY1NGRkNGU5IGFzdC1icmFuY2gKKzMxOTgyIDYzM2E0YmJkNzk3ZTE3ZWU4OWU2NDFjZmJhOGQ1MDI2Y2Y5NWI3YTMgYXN0LWJyYW5jaAorMzE5ODMgNzU2Zjk4N2MzNTkwMTNiOTY2MWMzN2IzMDk2OTEzNWQ3ZDViZGY1NCBhc3QtYnJhbmNoCiszMTk4NCAzNTBlYTI2ZTdmZDk1ZTllODEzYTJiNDllNmQ2YTc5NjQyNjczNDIxIGFzdC1icmFuY2gKKzMxOTg1IDIzMGNjYjllNTAwMGVhMzJhODhmNGMxODIzNmIyYmEyOGExYjRkZWIgYXN0LWJyYW5jaAorMzE5ODYgMDdmM2ZhNjM5ZDhlYzZkNWU2NGUzZDkxZTg0ZmM2NTI3ZDk4MWI3ZSBhc3QtYnJhbmNoCiszMTk4NyBiMDlkYjBiOTZhNzZiYzI4YmU2NWQwZWNkOGM0NWY3MmI3NGY4NzdkIGxlZ2FjeS10cnVuaworMzE5ODggMmRhMTRmYzllNzJiY2FjOGI4N2Q2Y2VkNmVhOTYwNDY4ZTQzMTY3OSBhc3QtYnJhbmNoCiszMTk4OSBjMjViYjkxM2EyMzYzYmY2OTcyZTI3ZWVhZDNjYzU5MjIxMWFkMWQyIGFzdC1icmFuY2gKKzMxOTkwIDhlNjdiZWY0MjlhNDA4ZGQwODlhYjk0M2JlMDBiZWNmMjA4MTk1YjEgYXN0LWJyYW5jaAorMzE5OTEgMjVhM2NjMzc2NTcyYTY3OTBiZmUzZTBlZDMxZjIyOTVmMDg3NzNlZCBhc3QtYnJhbmNoCiszMTk5MiA5MDlmYmUyNDNmOTAyNjY3Yzk0MzBiYWY1MTM4ZDg2NmQ0MjVmZjA2IGFzdC1icmFuY2gKKzMxOTkzIDZlYTIwYjg2YWM4ZGNmNjQ4YjdkOWM0MmNkYjNmZjhhMzk2MTI5MTAgYXN0LWJyYW5jaAorMzE5OTQgZjZhMTE5MjAxNDZlYjU4M2NhZmYxOTZiMTBjY2U1MzI5NDQ4MjU2MCBhc3QtYnJhbmNoCiszMTk5NSA0YmNkYTYzZTEwNTQxYzU3NjFjY2ZiNDkxNTFlMTdmMWFhZjlhOTRkIGNhY2hlLWF0dHItYnJhbmNoCiszMTk5NiBmODRlMWY0ZDQzOGViMDhlNzU3ZTBhM2RlZWIxN2NhMTY1ZGIxZGY1IGFzdC1icmFuY2gKKzMxOTk3IDQ0OTYyMDIxOTU5ZjI4ZDEyMzQ2NjNmZjczYTNlNmIxM2Y4YjAwNTQgYXN0LWJyYW5jaAorMzE5OTggNjNhYzNkNjNiOWZlN2FkYTk0MGNjNGY2MTgwZDg3YzQ4OWFhMWY1NiBhc3QtYnJhbmNoCiszMTk5OSAxM2U1NjdhZjk0ZDhhOWMyMzM3MjRjZDEyNzE2YmNkMGNiZDJkMjYxIGNhY2hlLWF0dHItYnJhbmNoCiszMjAwMCBiYzc2NTdhYzQ2YmJlN2VhZjhhOGE0MmZlNjI3ZjNkMWI1NjdkN2RjIGFzdC1icmFuY2gKKzMyMDAxIDQxYjFmMjJmY2IwMTc1NmUzMDFjNjA4NTcxYmNmZjAzYjczNDJiYjMgYXN0LWJyYW5jaAorMzIwMDIgMTQ1NjYyMTgwMGQ0NTk2NTU0YTBjNTI3MGFkZGI4NTAwMGQwODJmOSBhc3QtYnJhbmNoCiszMjAwMyA4ZThhOTExM2ZhMmQ4NWQyNzQwYTYwZWNkMWY5NmQ1MzhlNmY3ZGJhIGFzdC1icmFuY2gKKzMyMDA0IDM2NGJmZTc5NDc4ZjRjYjU2ZDc2ZWM1ZTI0YmRkMzZhNWE0NzRhMDQgY2FjaGUtYXR0ci1icmFuY2gKKzMyMDA1IGFmMTc2NDg4N2FhMjNjNTljZTBmOTBkZTYwZGMxMDhkYzhiNDkzYzUgYXN0LWJyYW5jaAorMzIwMDYgM2VmZDgzNGQwZmM1MmJmMWFlMTgwYzZhNzEwNTRiMjVjNzdjY2IwYyBjYWNoZS1hdHRyLWJyYW5jaAorMzIwMDcgNzMzNzI5MjYxYzQxYTIyNjYwNTQxMGFlMjNhMTVjN2Q5Yjc5MDA3MSBsZWdhY3ktdHJ1bmsKKzMyMDA4IGIwY2NjNWI1ZjdlMmYyZTg0ZjdhNDQ0NWFmZTQ5ZmJkNjBlZDdjYzggY2FjaGUtYXR0ci1icmFuY2gKKzMyMDA5IDYzMmE2Y2FlMGJlNmYxNjRjZTA4ZGI5ZmRiMWYyYzllODIzMWRhZmIgbGVnYWN5LXRydW5rCiszMjAxMCBhYzcyMWVkNjE5MTQ0ZmJjYmRjYjlmMWZkYjUxZmFmYzg2MGI2MzA2IGxlZ2FjeS10cnVuaworMzIwMTEgZTA2YzU0MGRjMmUyZjEzYWE3NWJiOWU3NzIwMmYxN2E3MmQ3MDc4OSBsZWdhY3ktdHJ1bmsKKzMyMDEyIGZlYTI5MjkyYjkzMWI2NzY5Nzc3YTczODNmY2MwZWYwYTEzMGM0MjAgbGVnYWN5LXRydW5rCiszMjAxMyBmM2Q0Y2MyOTk2ZDJjODYxODNiZjMwNTU4OTI3MzdjN2JmZGY2MzVkIGxlZ2FjeS10cnVuaworMzIwMTQgZjUyOWRlY2Q4MjFmZWZmNDhiNGJkMzcyN2IxODM2MDU0NzA3M2NlZiBsZWdhY3ktdHJ1bmsKKzMyMDE1IGVkM2M3MDA4ZjkwZThjNWU0NGYyNzFiOWJhNjIwOTk3ZjNkNmY1MmUgbGVnYWN5LXRydW5rCiszMjAxNiAwY2Y0ZTMyNDAzODA3ZTBjOWYwNjU3ODYwNWY1MTFjNDBhZDY4ZGQwIGxlZ2FjeS10cnVuaworMzIwMTcgNTQ5NmI4NjFjODlhYjkyNzY3MzE1MDVlYjY4YzFmMzA5M2EzMjgyZCBsZWdhY3ktdHJ1bmsKKzMyMDE4IDcwYmQ4ZDhjODc3YmMzZDMwNTIyNDIwZGE4OTc2MjdmNDM3NGMzN2MgbGVnYWN5LXRydW5rCiszMjAxOSAwYzgwMmVlYTU2MTU3OGE5MjhjNjU1MTUxMjFkNDI1MDA5OGFhOWQzIGFzdC1icmFuY2gKKzMyMDIwIGI2ZTYyY2JiZGYzZGVkMjhhNTNmMDQxYTM3ZGI2MjAwNzZmNTkwNzggYXN0LWJyYW5jaAorMzIwMjEgYjQ1MWE5ZTZkOTQwOTBmYWY0MDE2NTY5ZDU0ZDlkNTk2NWU3MzAzZSBhc3QtYnJhbmNoCiszMjAyMiAzMzkyOGE1MWYyZjExMmJmMzhiM2NmZDJjMjQ1NzYzNTZlMTFiYmU4IGFzdC1icmFuY2gKKzMyMDIzIDFhMmZkMTA5ZjZiNjk2MTk0NzExYzFlODQyOWM1MmExNDExZmQyNTEgbGVnYWN5LXRydW5rCiszMjAyNCBiNTc1NDZiMzNjYjEzNjdmMDU0NjMxYTE0ZDEzYTQyZjA5ODc5MDIxIGFzdC1icmFuY2gKKzMyMDI1IGVjNjIyMWU5Yjc5YWNjNDZmMmEyZmMzYjM3YzljYWRiZmNmZDI5MTEgbGVnYWN5LXRydW5rCiszMjAyNiBhOTM1MTI3MDM4NWFhMDRhMWMwMjY3YTJlYTMwOGRlY2I5M2U3MmIxIGxlZ2FjeS10cnVuaworMzIwMjcgMzBkMWM4NDhkMmIwMTY4NThmZjA4ZDI2ZTNhMTRjMmQwYzExZmYwNCBsZWdhY3ktdHJ1bmsKKzMyMDI4IGQ2NTUzZDA4MjdhYjk2OGM3OTA4ZDM1YjFkZDMxZWJmZWUyNTdhNDMgYXN0LWJyYW5jaAorMzIwMjkgODRiMTYzNTIzY2Q0ZGExY2Q4NzI5YTBhMjAyNDUzZTkwZGYwZDk4MCBhc3QtYnJhbmNoCiszMjAzMCAxNTJiYWY0ZTM1NTU1MWU3MWFiYzU0OTJhNTgwZDQ3OTI4MDA5OTJkIGxlZ2FjeS10cnVuaworMzIwMzEgNzIxZTllNGVlYzFlZjA4ZTExMjcwZGRlMDFhZTEyOTM4YTYxZjc4ZiBsZWdhY3ktdHJ1bmsKKzMyMDMyIGZhNzk1ZjRlNmRjNzc0YmQ2MzQ5Y2VlMWJkZmZjNTI3YTgyM2E2ZGEgYXN0LWJyYW5jaAorMzIwMzMgZTVjMDA4OTU1MzgxMTEyNmNkNTI0MzE0ZjA0N2NlZWZjZTMwMWFlOSBsZWdhY3ktdHJ1bmsKKzMyMDM0IGE4ZWM3M2QxM2QwMzNjNWFmZGFmMWZkYWVlNTA5MjdmNThlYmE4NGYgYXN0LWJyYW5jaAorMzIwMzUgYmI4NWJlODM3NmI4ZWJiOTA3Yzk2M2I5MzRkZDEyODk2OTlmNTMyZSBhc3QtYnJhbmNoCiszMjAzNiA4YWRlOTBhZjYxNGMzOGMyZGVlZDM4MDlkZjMyNDFlZmZlN2QwNWYzIGxlZ2FjeS10cnVuaworMzIwMzcgMmVkN2MxYzQ1N2I5M2ZmZjdiYjQ3OGFiNjEwMWJmMGZhODU0OTZjNCBsZWdhY3ktdHJ1bmsKKzMyMDM4IDZjNjQ2MTZkMTdlZGJjOWJmNjc2M2NhMjFjYTI3ZWY0OTBiY2NjZmIgbGVnYWN5LXRydW5rCiszMjAzOSA5ZDNhMjVlOTkwNzViMDMzMTRhNTJjOTk3ZmZjYzU5ZDVjYmRlNTFmIGxlZ2FjeS10cnVuaworMzIwNDAgMWIxZDk5ZGRhMmExZDY0MWFkMWZlYWQ1MmI4M2QwYzYxMTUxN2QxOCByZWxlYXNlMjItbWFpbnQKKzMyMDQxIDQ0NTljZGNiZjUzODQyN2ViYmE1OTBlMmE2YmI3MmE1OWU5OTdhZWYgbGVnYWN5LXRydW5rCiszMjA0MiBjYjMzMmQ0NDkxNzE2ZTIzODcwNmZiMGIzYzJmZTcxNWRkMWQ3MDVlIGxlZ2FjeS10cnVuaworMzIwNDMgY2Q1NTg4NzYyNGIzMjVmOTFlNGQzYWU1NjJjNGY5NDNjNjE4YmM0MyBsZWdhY3ktdHJ1bmsKKzMyMDQ0IDIxMTQzNDg2Y2U0MGIzNzc3NzY4NGI5MTAwMTBmNzQzMDEyYWE5YzggbGVnYWN5LXRydW5rCiszMjA0NSAwNDE4MmU1YTYwYjExMjJjMjA3NjNmNDNiNjUyNzFlNWQ3NDg5NzFjIGxlZ2FjeS10cnVuaworMzIwNDYgMmUyMDY5MmRkMjg2ODEzNmZlOTUzMTQ0MTE2NTFjYTYzMGFjY2EzOCBsZWdhY3ktdHJ1bmsKKzMyMDQ3IGVlMWM3MDkwNTBiMjQ5NDYwNTdiMGJlZmRkMzk1YTdkMWViYzkxMGUgbGVnYWN5LXRydW5rCiszMjA0OCA2MzA0MDlmNDFjYzNmNTlhZmJlYTgzM2JlNjE4YjYyMDU4MWUyMDY1IHJlbGVhc2UyMi1tYWludAorMzIwNDkgODcxZGE3MDNlNGMwYTVjMjdjMWEyZGNmMTFiODRmOGIzNzliMjYwNiBsZWdhY3ktdHJ1bmsKKzMyMDUwIDVkZGJjOTc5YzY1NTk1MTgzMDhhNjM1YzM2NzA1NTFhOGRhNjk0ZDkgYXN0LWJyYW5jaAorMzIwNTEgZDcwMDFmYWRmZWZjMzc3NWViNDI1ZDg0YTAwYmRmMDllMTk1NjE2YiBsZWdhY3ktdHJ1bmsKKzMyMDUyIGQ5M2E4NDVjZTVjMDkwM2ZkZDFjMWYyZTE5YmUxMDJhMzFjNGE5YjMgbGVnYWN5LXRydW5rCiszMjA1MyA5MzRkYmViNDBiMzE3MTU3NWY3ZGExZDMxYWRhYmUyY2JjOGI2ZjdhIHJlbGVhc2UyMi1tYWludAorMzIwNTQgZjI1ODBjMmU3NGRkNzk2NjhlM2E3YjM5YWQ2MWMxZGQ3NGQ1MzkwNyBsZWdhY3ktdHJ1bmsKKzMyMDU1IDAwOTJiNjlmN2Y5OWFhNGFkYTRlZjAxMGM4YmYzOGUxMzYzYTExM2QgbGVnYWN5LXRydW5rCiszMjA1NiAxNjFiOGJkOGEyMjZmY2Y5ZGE1OGU5MGE4ZjNlYzU1MjQ4Nzk3Mjg2IGxlZ2FjeS10cnVuaworMzIwNTcgMjQwNTM3MWJlMzRjOTY2OGU1MjBlZjMwZGE1ZmMwYjgyOGMxYTdiNyBsZWdhY3ktdHJ1bmsKKzMyMDU4IDNmYzU3NjQyNzNkOTZmMGFhMzhmNDQxZWEzNzc1NzVjMjZmNTczYmUgbGVnYWN5LXRydW5rCiszMjA1OSA1MDBmNTQ1YTI0ZjA3ZjdmMTcyYjY0YmIzZDNmMDA0ZDc3YWVkZTgyIGxlZ2FjeS10cnVuaworMzIwNjAgZjBhZDhmYTg4ZDdjY2VmMmQ0NGMzMDZiNGY5MWE2MzQwY2M2ZTY2OSBsZWdhY3ktdHJ1bmsKKzMyMDYxIDBhM2NlMzA2YjExYTVkNGE5ZjgxYzdmY2JkNDAyYTlkNmJhYTQxZGMgbGVnYWN5LXRydW5rCiszMjA2MiAxNTdjODcyZTY4OTJiOWIzZDZlNTY1ZjBmOWQ2MmNlMTk2MDRjYTE5IGxlZ2FjeS10cnVuaworMzIwNjMgMzdlYjg5MjlmMGNiNDAzMGYyYTIyYzg1ZTZiYTU1ODA2OTVlNWQxMyBsZWdhY3ktdHJ1bmsKKzMyMDY0IDU2ZDliYmJhZTZmODEwY2UwMTE5OTgwOTI2NjliODBjMGQxYzAwYTcgbGVnYWN5LXRydW5rCiszMjA2NSAwNTQ0MzQzMGQ3ZWQzZGQ0ZDZmYTZjMjMxMDUyMDYwY2M2YzM4NzE0IHJlbGVhc2UyMi1tYWludAorMzIwNjYgZGY5YjdjZWUxMzM5NTE2YmI4NTdmZWNiYjA2OWM5YTk0ZWIxNzVkNCBsZWdhY3ktdHJ1bmsKKzMyMDY3IGYzMDc4NjU0YTVjMDJmZGY4OWI1ZGE2MWE5OGY5ZThmNDAzZjNjYTggbGVnYWN5LXRydW5rCiszMjA2OCAyMzVkNTQzZTBiODQ5NzExMzVmNGUxMzk0ZmMwNzFlYzI2NDA0MjM1IHJlbGVhc2UyMi1tYWludAorMzIwNjkgN2EzZjcyOTgzYTdlZDU3N2VmYzJjMTA0ODc0ZTkyMzJlZmY3NmQ2OSBsZWdhY3ktdHJ1bmsKKzMyMDcwIDgwNDQ3M2NmNzEyMTU0NDA1MDRmMDFkMDhjYjAxODIzNDVhMTQ5MTEgcmVsZWFzZTIyLW1haW50CiszMjA3MSBkOGY5OGRjNmU3ZTA0YTE3ZWVkYzBiY2Q3ZTVlMTU3ZmNlYjkyZjA5IGxlZ2FjeS10cnVuaworMzIwNzIgMDc2Yzg2N2I5MTZlMjMwNmE0M2EyZjM0MTQxODg0ZTI1ZmFlZjk4NiBsZWdhY3ktdHJ1bmsKKzMyMDczIGRmNjViMDIxN2RkN2YwOGU2ODFlZDlmMjkzNjdiN2YwMDRkOTA4NzAgbGVnYWN5LXRydW5rCiszMjA3NSBhZjA1Zjg4Yjk2NDEzNTk2NWFlZjRjNDQ0ZWQ5YzBiYmQzMDMzYTdkIGxlZ2FjeS10cnVuaworMzIwNzYgYThkNjU3NmI5NWFmYWNiMWQxNTMyYTZlNDE1MTllOTAwY2JiMzBkYiByZWxlYXNlMjItbWFpbnQKKzMyMDc3IDljNjIwOTI1MzYxNWZmNDBiYWNlNDM5YTQ3OGQ0NmNkYWI4ZjcxZTkgYXN0LWJyYW5jaAorMzIwNzggNWZiZDg4MDFmYTI2MjVlYjJhODk0MjkyOTczOThhMzNkMmIzY2ZiMiBsZWdhY3ktdHJ1bmsKKzMyMDc5IDE1OTJlYTM2YTcwMjMyN2U1YjZiNjM1NmQyNTI2YmE5N2EzNjYxNzEgbGVnYWN5LXRydW5rCiszMjA4MCBhZDQyY2JlYTIyNThhNzcyMjk0YTVmYjgxY2Y5YmVlNmE4YjZiN2MwIGxlZ2FjeS10cnVuaworMzIwODEgYzdmMTBhOTAwZDYzMjg4ODNhOTJhZTVhZTg5NDc1ZjBjNjllNTYxYyBhc3QtYnJhbmNoCiszMjA4MiBiODcwOTVmYmIwNTE2OGQxY2UyZTE3MDYyOThhZDU2ZGUwYTVjZmQyIGxlZ2FjeS10cnVuaworMzIwODMgZmM4NDE1MzUxODBjOTg0YmNkODZlNTFiZDE4MGM1MmRlMjk3ZjJhMSBsZWdhY3ktdHJ1bmsKKzMyMDg0IDcxNDBhNjIzNmMzYTg4Yzk4MmE0MmIxZmY1ZTFmZTQ0MGQ2MWRlZTAgbGVnYWN5LXRydW5rCiszMjA4NSA3NTFkN2NlOWI0YjIzYTg0YzhkN2MxNGJmNGI4YWY5NjE2OTdjNGFhIGxlZ2FjeS10cnVuaworMzIwODYgYjY2YTJlNDFkYTNlZTk5MTVmZjVkZjY0NWI0YzczODE1NWNlYjE5ZSByZWxlYXNlMjItbWFpbnQKKzMyMDg3IDA0YzFiYTUxZWZkYmNiYmM5OWY1MzJiMjg4ZDQ5Y2Y4ZTdiYWNmMDkgbGVnYWN5LXRydW5rCiszMjA4OCA4NTJhYWU4NGM5ODEzNzNlMDJhYzRlZjVkODcwYmFiYjhiY2I3N2U2IGxlZ2FjeS10cnVuaworMzIwODkgMGY1NThlZWRlNmM1NzdhNThjYzEzOWI1YmNmZDNlMmZkZTE0ZmZiYyBsZWdhY3ktdHJ1bmsKKzMyMDkwIDUwNWU4YzBmYTkyZmUyY2EyYzJiNzY0ODc4YjI1ODJlMzA0ZjQ2NzcgbGVnYWN5LXRydW5rCiszMjA5MSBiYmI3NDhmNjgxNGQ2NDBhNjQ5ZGYzNTQ0MWFlM2FiZWIyMzE1ZWJkIGxlZ2FjeS10cnVuaworMzIwOTIgZjNhZGQ0MTY2MjhkYzc0MTQzNmZhNWNmNDc0MTllZDgwYTg1ZTA3YSByZWxlYXNlMjItbWFpbnQKKzMyMDkzIGIxZmJiODNlNTEzOTE0OWU5Yjc2NTk1MmFjNDU5NTVmZTVkODY3NDQgcmVsZWFzZTIyLW1haW50CiszMjA5NCA4ODAyZGUwZGE1MzM5MTE2MGZkM2UzNWQ3Yjk1MjM3NDIyNTE5MTJkIGxlZ2FjeS10cnVuaworMzIwOTUgZTEzYTdlMWZkYjllNWI3YzI4YzEyY2YyN2QyYmJlOTM5NTExOTYyYSBsZWdhY3ktdHJ1bmsKKzMyMDk2IDg2YTRjZWE3MDk3M2FiZWI0NzMyODYzNTU1YzQ0OGU0ZjQ0NjBlZDcgbGVnYWN5LXRydW5rCiszMjA5NyAxMmRhZDIwODFlMmU4MjNmZTkyMTk1NjQ0NWY4MWUwOTkzM2U3YmU3IGFzdC1icmFuY2gKKzMyMDk4IDRhZWJhY2M3ODY3YmIxZTBmYWFjZjIyMDMxYzhlODMwOGJiYWVkMDcgYXN0LWJyYW5jaAorMzIwOTkgZjExNTQ0NzNkYWM4YTcwZGY0MzVmYWZlYWY4NzA3Zjk3ZDQzZWQ0MyByZWxlYXNlMjItbWFpbnQKKzMyMTAwIGFmZDVjMmU0YjRhZjZkYzFlY2UwODIwNWM0YjYzMWIyN2RmODA2MTggcmVsZWFzZTIyLW1haW50CiszMjEwMSAyODdkYWE2YTdmNGYyMjBkZTgxMDhmOGY1NjA3NGUyZTM4MTJkNGEwIHJlbGVhc2UyMi1tYWludAorMzIxMDIgOGVmZTk0NDU0OTViMGI3NmQ0MDZhNWFhNWNlYzk0NWRjZGY3YjY2NCByZWxlYXNlMjItbWFpbnQKKzMyMTAzIDU1NTBmNWE5ZDcwY2E3NjIwMmVkMzA3NzJhZjBlM2Y1YjA1OWMxODcgbGVnYWN5LXRydW5rCiszMjEwNCBhOGU1ZWMwNzA0MzNmNWFjYTJiYmRlNzg5MWYzMzQ1ZjM1NWUxNzVhIGxlZ2FjeS10cnVuaworMzIxMDUgMzYyMjJkMzgyM2YxMjk4NjAzNDEwNjY1NjRjZmYxMWQ3ZDYzZjk1MiByZWxlYXNlMjItbWFpbnQKKzMyMTA2IDk3M2Y5ZDM1Y2YxZDBmMTUyNGQ3MzRlYjVkNzlhMjczYTVjMjAyZWQgbGVnYWN5LXRydW5rCiszMjEwNyBhYjJhNTQzZTg1NWJjOTg4ZWJiYjJjOTNiNTIzYjM2MzY5ZjkwNzQ3IGxlZ2FjeS10cnVuaworMzIxMDggZjM4Y2E5ZTFiNjgzYmY3YThiNmI4NGNiNWRjNTk5MjQ4NzYxN2MyOSBhc3QtYnJhbmNoCiszMjEwOSAwYzQzMzVmMTBjNjdhMmQzYTc4MzlmN2I0YjAyYjIyN2EyZWJlNmZmIGFzdC1icmFuY2gKKzMyMTEwIDQzMDhlOGE2YzQ4MGRlMDBiZTJmNjA4OTVkODMzMDI4ZGI4OGY2MGEgYXN0LWJyYW5jaAorMzIxMTEgZGM4OTBhNGMwNTI4MDU1ZWQzMWZiMDIzYjNjM2Q1MDUwZGNjYThlMCBsZWdhY3ktdHJ1bmsKKzMyMTEyIGI4NWEyMDU2MzFhNDVjMDM4YTVmZGEzMzJmOGViZDllN2E1Y2M5MDIgbGVnYWN5LXRydW5rCiszMjExMyBmMzExYjVkMjFlZjU2NGIxMGRiODVhM2RiNjhkODdlMGNkNTcwYWIxIGxlZ2FjeS10cnVuaworMzIxMTQgNGY4ZjE3YWYzNDg3YmFiMTRiMDBiNDZiOTc4N2JiYWMzYzRmM2Q1MiBhc3QtYnJhbmNoCiszMjExNSA3MzhlMzc4ZmEwY2MxNzE4YzEwZmFmMWM2OGRjNDhhODI2YzI3MWYzIGxlZ2FjeS10cnVuaworMzIxMTYgMzJiZWE0MWZlZjY4ZDA0OGEyNmNjYmFjYTU5NDk2YzNhYjVhYjg0YyBsZWdhY3ktdHJ1bmsKKzMyMTE3IGQ3ZDdhZjVmMzIzMWYwMTJkNThmNTNkNDcwYzRhNmJhZDZiZThiY2MgbGVnYWN5LXRydW5rCiszMjExOCA0OTIwMjhlNDcyNmYxNTc1NTAzYWU1YTNjNThlNzljMThhNDVjYmFhIGFzdC1icmFuY2gKKzMyMTE5IDgxYmNjMGY1N2Q1NzBmYmRmNWYwY2RiMjM2MDI3MTk5NTkzMzg5MmIgYXN0LWJyYW5jaAorMzIxMjAgY2ViN2JiNzkxMzUzMzY2MzAwNWZlM2Q2ZWRiNzk4YzRiZGRiN2ZkMyBhc3QtYnJhbmNoCiszMjEyMSBlZDIxZDhiMzdlMzNkNTVmNWY4ZWEzOTA1MjM0M2FlMTZmNjUzNDM1IGxlZ2FjeS10cnVuaworMzIxMjIgM2Q4YzEyMTRhMWM3OWJhNzgxNDBiM2Y3NGFkNDI4YTI1ZTY2ZGQ1MiBhc3QtYnJhbmNoCiszMjEyMyBlZDczZDY1ODcyNWFhNzhkYTZmY2VkZjNkMDBhN2Y5NjEwYmRjOTZiIGFzdC1icmFuY2gKKzMyMTI0IDQwZDk2NTliNTZjOTQ2YzU3MTUxZWQ1YjIwZmEyY2ViMGI0NDMyNWEgbGVnYWN5LXRydW5rCiszMjEyNSAzZTM5OWE4NjE4ZGIzNWI0N2JkNTFiODJhYmMyN2QxMjQ0OGNkMjBkIGxlZ2FjeS10cnVuaworMzIxMjYgNDJkZmEwODkxYjMzMjY2MTE3MDhkMjczNTk1NmNhZTkwZTM4NTY2OCByZWxlYXNlMjItbWFpbnQKKzMyMTI3IGNiYTBhZWVlMGQ2NTE1MzFiOWFhNTU1ZjRjOGIwM2EwOTM4NDUzNTYgbGVnYWN5LXRydW5rCiszMjEyOCAwMGE1NmZiZWE2OWZiMGE3MGFiNzBlNjE0ZDQ0MDQ4Mzg2MjIyMWM0IHJlbGVhc2UyMi1tYWludAorMzIxMjkgMGZjZjlhZTI1Y2ZlYmU3M2MxMGI4MTIxMGU4OTI4ZTljMzE0YzVkZSByZWxlYXNlMjItbWFpbnQKKzMyMTMwIDRiNmUyMGYwYmE0Y2RhNTM5YzYzYzkwMDE4ZWZmZjc3MmJhNmQ4OGMgcmVsZWFzZTIyLW1haW50CiszMjEzMSBjYjVkYjU1NjFjZGNhOWQzNGQyYjA2NjQ2Mjc1YjA2YTNjZDhlOGU0IGxlZ2FjeS10cnVuaworMzIxMzIgODQ5ZGZlYTE4MmNhMzc3MzM5ZGRiZWM0ZDliMTQ0NmI0NjAzNWU1MCBsZWdhY3ktdHJ1bmsKKzMyMTMzIDExN2FjZTg1MjFhMWQyOTY3YWQxZTM2YzIxYWM5ODlhYTZkNzExNTggbGVnYWN5LXRydW5rCiszMjEzNCBhMDUwM2JkYjBjMjQyY2Q4OGRmM2YyNmU2N2IwMzYwMGVlZDFmNzYzIGxlZ2FjeS10cnVuaworMzIxMzUgODIzM2EwMjk0YzQxZTNkZTAwNTc0NGMwZGRhMTYxMDhmOWMxMDY4MiBsZWdhY3ktdHJ1bmsKKzMyMTM2IDM3NWZkYjgyYTNjYWUzMjhhNTgyNzI3ZjQ4M2RlZmJkMzJhN2JlNTEgbGVnYWN5LXRydW5rCiszMjEzNyAwZGUwZGVkMTk5NjhlYzQ3MjIxODdmNmQ5NzJjY2FjMDY2NWEyNDMxIGxlZ2FjeS10cnVuaworMzIxMzggYWNmMzU5NmZjYzI4ZDUwNGZmYjgxNTdhMTdlYzA0ODM2NjA0MTE5MiBsZWdhY3ktdHJ1bmsKKzMyMTM5IDE3NGNlNGNkZWM0NzI2ZDkxMTg0YzdjN2ZkODljNDMwMGU0MzY4NDMgbGVnYWN5LXRydW5rCiszMjE0MCA5MGM3N2I4YWYxYTQ5NzQ0NjBmMjZmYjJiMzdkNzVkY2NkNTRhYmIyIGxlZ2FjeS10cnVuaworMzIxNDEgOTQwMDUwNGNiMGIyNjFlMDMzZWRkZjI4OGMyNjE5MmNmZGQ1MWMzMSBsZWdhY3ktdHJ1bmsKKzMyMTQyIDRjNTk2ZGQ2MGMyMmQzMGQ0ZGViZjg2NzRlMTQ0YTkzNGI0ZGEzODggbGVnYWN5LXRydW5rCiszMjE0MyA3OGY4NDZmYjU3MGEwNjMyYTc2ZTdiZTI4ZDUwMjliY2ZiMzk4NDNlIGxlZ2FjeS10cnVuaworMzIxNDQgMzY4YmViZTMyNzQzMzkwMWM2NjdlZmVmMWI1ODU1OTM3MWM2NzcyMCBsZWdhY3ktdHJ1bmsKKzMyMTQ1IDI1ZTc0Njc4NzFjNTg3MmI5YjcxY2Y4NDdjOWMzNTJiNTY1NWEzZDggbGVnYWN5LXRydW5rCiszMjE0NiAyYTMwOTVhNDE1YjEwYmExMDM1NzM0ODFhNzFhNGIwNDM3MjYzMmZmIGxlZ2FjeS10cnVuaworMzIxNDcgNjY1M2E1NjAwMmVmOWQ4MzE2ZGI4YTNmYTRkNjA0OTAxNDliZDBhMyBsZWdhY3ktdHJ1bmsKKzMyMTQ4IDk2NGJkOTdhYzFmNWJkM2Q5NTM3ZWIwNDM5NjA0MTg5MjQyM2Q3ZDYgbGVnYWN5LXRydW5rCiszMjE0OSA0ODdkZjI5NGQzMjgxMGM4ZWFmMTUwZjJmNWY3N2JmZWRkMjIwNjZjIGxlZ2FjeS10cnVuaworMzIxNTAgYzAxZmRjM2E5MTgwNDJkOTQxZWQ1ZWM3MGQ2ZWI0N2ZiODdkYTQ2MSBsZWdhY3ktdHJ1bmsKKzMyMTUxIDRmZjYxMWIxNjQ4NDkzM2YwMjM0ZmQwOGM2MWY5YTI3YzE0OWQ3MGQgbGVnYWN5LXRydW5rCiszMjE1MiA5MmQwMWYxMDJjYTA5OTNlYjE0NGI1YjdjMzY3NzAxNGM4ZDNjMTNjIHJlbGVhc2UyMi1tYWludAorMzIxNTMgYjViM2U2ZjNmMzE3ZWQ4ZDQzOTZhNzdhNDUxOGFkMWMxZjJjZTNlZiBsZWdhY3ktdHJ1bmsKKzMyMTU0IDViNTQ2MmFlMzE0ZGRkMzU3M2UyNzRiMmNkZWVhMDA5ODMwNmU2ZTQgbGVnYWN5LXRydW5rCiszMjE1NSA1ZmE4MzQ0ZDZlNmYwMWQ1MmFjMDk0NjJmZjlhOTZlODMyMjc0ZjM2IHJlbGVhc2UyMi1tYWludAorMzIxNTYgOGJmMDg0YzRhZDlmNzRiOGEzNTEwNDIyZWY1M2Y3YmRjNmYyY2ZhNSByZWxlYXNlMjItbWFpbnQKKzMyMTU3IGJhNzE2MjI0OTc0ZTk3NjlmODdjMjk2YjIyMzAzYjIwNDQ3MDllZmYgcmVsZWFzZTIyLW1haW50CiszMjE1OCAxNjM5ZjYzNWQ5ODNiOWZjNDcwYTc3MzQ5ZWY4OTQ5ZTBmNzYyMzA5IGxlZ2FjeS10cnVuaworMzIxNTkgODc4MzY2YjBlOTdhYzcxNWEyYWMzNTA4YjVlODI3NWQ2NzhjMmIyZSBsZWdhY3ktdHJ1bmsKKzMyMTYwIGYyMTNlZTZjZTU1ZWU4ZmEzYzE0YjY1OTBlZmU4NmU1ODIyOGY5MmUgbGVnYWN5LXRydW5rCiszMjE2MSBiOTA2NGVhMDU5M2VhMWQ3MzQ3MmJmNjZmZGFjMTA5ZGQ4NDlhMGYyIGxlZ2FjeS10cnVuaworMzIxNjIgYWUwYWViMGQ2MzFiYzVjNWNhM2YwZmUzNTIxM2M1MjliMzY3YzUwOCBsZWdhY3ktdHJ1bmsKKzMyMTYzIDQ2OWZiNmNlOTY5MzUxZmIzMDc2ZmY4M2E4NTkwYmYxYjg5NzM5MjMgcmVsZWFzZTIyLW1haW50CiszMjE2NCBjN2JiMjU0YWI4OTBlMWI5NTI0Y2U0Yjc1Yzk4YmZjOGE1NWM0ZDU3IGxlZ2FjeS10cnVuaworMzIxNjUgNzExMDNkZjlkNjRiMDdkYzNjMTA3NWMxOTliNTk2NmE0MTdmYmJiMyBsZWdhY3ktdHJ1bmsKKzMyMTY2IGJiZWQ3ZTEyYjg0MjJjMDkxZWVlMjE3NDk1N2EzNmYzM2U3ZDBhMWQgbGVnYWN5LXRydW5rCiszMjE2NyA4OTg0ZGYyZGMyN2IyNzBkOGMyOTAzMzE1NzMwODVlMjlhZGZjYTgyIGxlZ2FjeS10cnVuaworMzIxNjggYjYxYTllMjFhNjZkY2E1OWZlMThhY2RmZTg4OTJmMDZlY2MwZDBkNSBsZWdhY3ktdHJ1bmsKKzMyMTY5IDM0NDgzNzY5MDc4YjMzMzcwYWRmZGY3ODIwZGI3M2ZlMTc2NDJiZTYgbGVnYWN5LXRydW5rCiszMjE3MCBlOTMwYmViZWM4YzBmNWRkM2M0MGY5MGNmM2IzNWM5NjFiNDA3OTEzIGxlZ2FjeS10cnVuaworMzIxNzEgZWU4ODUzY2M4Y2ExZjY5YTg5NzM4NmE5Y2ZiNjFjMThlZjQ2YTc3YyBsZWdhY3ktdHJ1bmsKKzMyMTcyIDAxN2QyZTNlYTJhZTRiYTZkZDQyNzVmNTI1NTI2ZWJlOTEyNWE2MjcgbGVnYWN5LXRydW5rCiszMjE3MyBmZDQzNGJlYjVmNTYwNzliMzQ5ZDMyMmY3YzkwNzYzZjNmMDJjNmU0IGxlZ2FjeS10cnVuaworMzIxNzQgNmFhMWMwODI2YTM5YmU2ODM0NDI5OWYxZGQwN2ZjZmU2MjUyNTQwZiBsZWdhY3ktdHJ1bmsKKzMyMTc1IGQxMGRiYjk0YzllZTFiZmY5YzE0ZTZjNWYwODc4MTU3MzEyZjY1OTQgbGVnYWN5LXRydW5rCiszMjE3NiAyZDRjMWU0ZTViMzZiNTQ0OTkyMTY2NTZiNjVmNzMzMDJiYTkyNDI1IHJlbGVhc2UyMi1tYWludAorMzIxNzcgZGI0Nzk5Y2EyMDIxYmNmNTVkOTI3YWZlMzQ4MjM0MjNkNDdiOGRkNiBsZWdhY3ktdHJ1bmsKKzMyMTc4IDlhY2RjNmM0NDE2YWM1MjI4ODI1NzhlZjg0ZjIzYjEwZWRlNTY1YTAgbGVnYWN5LXRydW5rCiszMjE3OSBiMzdiMjk4MjA4NmJjMzMzMTE4OTYyMjEzYWExNjYxMzhkZDBiMDQzIGxlZ2FjeS10cnVuaworMzIxODAgNjJlODgzZTJkNTE3MTFmMDA4ZjEzOTgzZTBlMTQ5YmM5MjhmOWNmZiBsZWdhY3ktdHJ1bmsKKzMyMTgxIGU2YmYwOGRhZGQ1YzIxNzYwNWVlOWRmY2IxNDEzZmUxMWIwOWZlM2YgcmVsZWFzZTIyLW1haW50CiszMjE4MiBiNDQ4N2EzYjVmMWExZDFiZjM0NDIwZjlhZGQzNGFjZjVlZjk3NzU4IHJlbGVhc2UyMi1tYWludAorMzIxODMgNzgzOTVlNWI0NzgyY2MzNDkyODg0ZmMzZTljNTVkMDk3NzVkZjFiMyBsZWdhY3ktdHJ1bmsKKzMyMTg0IGJhMmQ4OTIxYThkYTAxOWI4ZjIwMzIyNzIyZmI2ZWY0NmY1Y2E4MzEgbGVnYWN5LXRydW5rCiszMjE4NSA4NGFjYmEyMjc5NTQyNGNmZGU1YzE0MzgzZDMyMDkzNTg0YmVlODNlIGxlZ2FjeS10cnVuaworMzIxODYgYWZmMDgwZjJlZmI0ODY4YmY4YWE2NzYzZjY0OTdiZGYzZDMyZjZmYSBsZWdhY3ktdHJ1bmsKKzMyMTg3IGU5MmMyNWQ0MjhiODdmMDIyYmRkYzFiYTBkMzE3ODhlZDY0ZDU0ZTIgbGVnYWN5LXRydW5rCiszMjE4OCAyMWY3Y2ZmMTc5MGZkYzhkNTllNTFjN2MzYjhhNzllN2UxYWIwYTYwIGxlZ2FjeS10cnVuaworMzIxODkgY2Q1MDExMjE3MTViMDY4YTM1OGMyYzA1MmYxMTdjOWFhOTA2NGY1MyBsZWdhY3ktdHJ1bmsKKzMyMTkwIDdhNjI4MTQ5M2QyYzY3MTA0N2MxZGZkNTU4NTBiNGJjNzA5NDBjMTAgbGVnYWN5LXRydW5rCiszMjE5MSBmMjFjZDA3OWQxMDgzNWY0MTQxNDNjZGU0MWY4OTVhMTA1MGFkYjhiIGxlZ2FjeS10cnVuaworMzIxOTIgNmU3ZWZkNmMyNTEwYTJiMmQxY2QxYjVmYjdiMGVhMzA2NWMxYzg4ZSBsZWdhY3ktdHJ1bmsKKzMyMTkzIDlkZGM0OThiNzAxM2I4NmU3MWI4OGFiNjAwMzkyZmI5NTE4ODAzZDUgbGVnYWN5LXRydW5rCiszMjE5NCBiYzg5MjNmZGQ4M2I1ODhmYmFjZGY1NGQyYTgzYzkyYjljZTdiNWIxIGxlZ2FjeS10cnVuaworMzIxOTUgZDA4ZDdiNGJlNTMyMDEzMjEyZmZiYjAwYTVlNzk5ZGMwYmRkZjU1YSBsZWdhY3ktdHJ1bmsKKzMyMTk2IDc1MTEzNzU5MjUyYzc4OGMxNjI3NzI5ZjczNTZjNThhM2UyNDc4ZjUgbGVnYWN5LXRydW5rCiszMjE5NyBiZmM3YTlmYTM0ZDZkYjIzNGU4OTE4MjMxMDljYjQxNzA1ZGQxMTk5IGxlZ2FjeS10cnVuaworMzIxOTggNWZiZGNhZWY5ZGRhYTIzMjVhNzQ1NGU1OTM0NmVmYjJjMjEyMjI0OSBsZWdhY3ktdHJ1bmsKKzMyMTk5IGZhZWI3MDhiYWNjNDIxNjY3ZjYwYTNhNGY2NzA1Y2I5MTEyMDcyNzIgcmVsZWFzZTIyLW1haW50CiszMjIwMCBkYTc0YmRkOTM0NDFiZDQwMjQ2YjljZDk2MTY0YmQ5NDE0YjZlYTQ2IGxlZ2FjeS10cnVuaworMzIyMDEgYmUyZWNhZmIxNWFkMGVhMDI2ZmE5NmJjMjFhY2Y1YzFkNTMzZDYxOSBsZWdhY3ktdHJ1bmsKKzMyMjAyIDIxNWYxZjQ4NTFhNDYzOWFlY2Y2NDIxOTdlNzNkZmNlYWY3N2UyNDIgbGVnYWN5LXRydW5rCiszMjIwMyAxYmQ1MGMyODIwM2ZjZjI3ZTMwZGJjNWQzZTAzYTg1MzliNTJiNDc3IGxlZ2FjeS10cnVuaworMzIyMDQgZjMwMWVhZWRkZTg1OGJkYTdkMDAyYzg4ZmU1NjljZmRlYjJkODEzMCBsZWdhY3ktdHJ1bmsKKzMyMjA1IDhiNDk0NDVjMGEwZTAzOTBiZjA1YmIxMzY5OTQxNGQ5YzFhZDYwNjkgbGVnYWN5LXRydW5rCiszMjIwNiA5ODEwMzJlNjQ3MzYyZjA4MWE4OTFkOTExY2E0NzQ4NmJjMTkzY2JhIGxlZ2FjeS10cnVuaworMzIyMDcgYTVjNWRhNTQ2YzI5MjhjN2RmMTU4NjgyMzljYTBkMWVkMTJjNjcxMSBsZWdhY3ktdHJ1bmsKKzMyMjA4IGMyYWQ2MmY0ZWE5YjMwYjVhZTAzZTdhMzFjNWEwOGM4YjBjMGJjYTIgcmVsZWFzZTIyLW1haW50CiszMjIwOSAwM2JiMGM0MDhkNTczMThjYTViZThlOWY5NTJmYzkxNWUzMWE0MjcyIGxlZ2FjeS10cnVuaworMzIyMTAgYTBjMDAyMDUwNTI2NWE4ZTM4OTdkZDYyNDRjNjJkOWRiNWYxYTFhOSBsZWdhY3ktdHJ1bmsKKzMyMjExIGMzNmJkMWM4MzZiOGM4MGNkZjZkODc5OTlhYjIwMDRiYmY2NjRjZTYgbGVnYWN5LXRydW5rCiszMjIxMiAwZDI2OGM2ZWYwMGFjZGU2YTAxODBmMGQ4ZmU2YjMyNDEzMzNiNWVjIGxlZ2FjeS10cnVuaworMzIyMTMgOTRhOTg2NWFhMWM2NDQxOWMzYmI0OWM4M2JkMGExNTNiZWM4NWUwNSBsZWdhY3ktdHJ1bmsKKzMyMjE0IDhjOTMwNzViOWNiNTUxMGJhOTNhOTE4MzIzZTA1Y2Y0MWQ4MzgzYWEgbGVnYWN5LXRydW5rCiszMjIxNSAwMmM4N2YzNDhlZGIyMmY4ZTVjMTIzZjQ4ZTJmOWNiODFiMzNlODFhIGxlZ2FjeS10cnVuaworMzIyMTYgYTU3ZWU3YjJhODc5ZGUwMmJiNTU3ZWQ4ZGQ1Y2EyYTM0MzFiYzg1YyBsZWdhY3ktdHJ1bmsKKzMyMjE3IDk1YjZkZDA0ZGE4ZmRjMWQ4ZGFkODY1NzYzNmM2YTdiZDJjMjEwYmIgbGVnYWN5LXRydW5rCiszMjIxOCA4ODNhNjk0Nzk1ZjU3MDNjYjQxZWNmYjVjYTkyZjYwMGJiZWRjMjc4IGxlZ2FjeS10cnVuaworMzIyMTkgZWYwNWY5ODFiYzRiOGRhYjFiYmQ4OWJhYTUxY2Y0NTI2ZWE4OGM1ZCBsZWdhY3ktdHJ1bmsKKzMyMjIwIDZmMTNhZGRlMWI1MWJiNDkyOTQ2YWFlMGRhMjZjYzIzNGYzMzcwYTcgbGVnYWN5LXRydW5rCiszMjIyMSBkZTUwOTM0ZTExNDViZjZkOTBiNjU5NTlmNmNlMTg2ZjJlMDUyOTBkIGxlZ2FjeS10cnVuaworMzIyMjIgMjJhZmRlMjZiM2QxNjZhYzBmMjZhNmE0NTlmZmZjNmYyZjNlMmZjMSBsZWdhY3ktdHJ1bmsKKzMyMjIzIDlmZWRlNzAwM2M2NWY2ZjZlMWIxOTU3ODU4Njk0NzJlZWI5ODc0MDkgbGVnYWN5LXRydW5rCiszMjIyNCBkMmQyMzJlMjQyN2JmNzRlZWZmZGM1NGIyYzdmMWNlYzkzYmFlOTNhIGxlZ2FjeS10cnVuaworMzIyMjUgM2NmMjZiOWY5NmY3ZTY0NjQwODcyMGIzYWRkNWMwZGQzM2FhZDZjYyBsZWdhY3ktdHJ1bmsKKzMyMjI2IDExNjYwZjQzNjFmOGEzNjg5NzU5YWNhYTU2MDFjZmY4Y2MwNDM2ZjkgbGVnYWN5LXRydW5rCiszMjIyNyAxYWVhZDBjODQ1MDc3ZTA4MDc1NDcyMmFmMjkwMjg3Y2Q3MjIzZmQzIGxlZ2FjeS10cnVuaworMzIyMjggNThkYjVmYmQ5YzI4MmE0OTc1ZDc0NWFlYTBmNzA2ZTc4YjY2OTBjNyBsZWdhY3ktdHJ1bmsKKzMyMjI5IDIwZWU2OGNiMGJjNDdjNjczZDBlOTkyZjI0N2I0NTc4ODIwNzQ2YTAgbGVnYWN5LXRydW5rCiszMjIzMCA3ZmUzM2MxNTQxZGZmYWY4MWE5M2Y5ZjI2ZDEwYjcxZWEyZmEwMjJmIGxlZ2FjeS10cnVuaworMzIyMzEgZWVlNDk2OWFkYmFlMGQxNjQyZmExYTJjNDQ2YzUwNzNlZDZiNzZmZCBsZWdhY3ktdHJ1bmsKKzMyMjMyIDk0NDE2OTRhNzBjN2VkMzk4MzY2MDc2NDJkZjQzM2NhMmRhZTQ3NGYgbGVnYWN5LXRydW5rCiszMjIzMyA0MzZkODEyZjJiOTRiN2RhYjdhYWQyYzk3MDUzMTdkMWVhYmVmY2UzIGxlZ2FjeS10cnVuaworMzIyMzQgZjNiMjRhMmY2ZjRkYTg2YTkyNzBlOWFhNGI1MTRhMzU2MTAyMmY1MyBsZWdhY3ktdHJ1bmsKKzMyMjM1IDgzMjIwNzdkMjM0Y2ZhYjgwYWU5ODZjMzY2MTAzNTE2Mzk3YzM0OGUgbGVnYWN5LXRydW5rCiszMjIzNiA2OTUyMzczZThmZTVjODcyZTYzNzkxNDgwMjYyMjk4ZWMyMzhiNWZhIGxlZ2FjeS10cnVuaworMzIyMzcgNjdkMzZmNGRmZWExMjRhZTg1YzBjMTBkMjhiODMzODMzYWI3MmIyZCBsZWdhY3ktdHJ1bmsKKzMyMjM4IGM3MWI5YmExZjA0YzE0ODI5ZmE5NjU0ZDlkZDUzZDBiYjM3OWQxZWIgbGVnYWN5LXRydW5rCiszMjIzOSAwNzkyY2FhNjM3MWM5ZDFkMjVkMDRiYjBjNzU3NTgxNjI0M2NjZmVlIGxlZ2FjeS10cnVuaworMzIyNDAgYjE2NzE1NTBjN2UxZGM3ODI4MTcyYmIwYjQ2MmE2OTFjNzY3OGViMSBsZWdhY3ktdHJ1bmsKKzMyMjQxIDRjNjU4NTI1M2U2ZjEzMjRkMjEzYWY0YjlmYTQ2ZDFmODQ5ZTE0YzAgbGVnYWN5LXRydW5rCiszMjI0MiBiNGI4ZmUyYTYzMmMzYmNiNDUyYmMwNDBkYThkMjM4Y2E4NzM4YTllIGxlZ2FjeS10cnVuaworMzIyNDMgNGYwYjdhY2ZmYzdkNGM0YzdlYjQyZDNjMGIwOGNjYTI5ZjU3YjU5YSBsZWdhY3ktdHJ1bmsKKzMyMjQ0IGQ1MzU3YWFkZTRiNzMwNjQ3MGNhZjg0ZmEwZjFlYjI5MmYwZGQyYWMgbGVnYWN5LXRydW5rCiszMjI0NSA5ZmRmYTczNjU3OGQ3MzZkNzA4YTQ3NGU1M2M2NWRjOGYwN2FlNTk0IGxlZ2FjeS10cnVuaworMzIyNDYgZWI1NTE4OGYxNjNhY2VlN2EzYzlhZTc5MTJlOTMzMGUyNjQyZGQzNyBsZWdhY3ktdHJ1bmsKKzMyMjQ3IGRkZDkwNmVmZmQ5YzNiNjVkMGUxM2M5ZDg1NWZjNTM2M2MxM2NlMmIgbGVnYWN5LXRydW5rCiszMjI0OCA4MjRkYzI4ZjkyMmQyOTljMTc2YmI3MzY5MjcyNjQzMjNmZDc1ZWU4IGxlZ2FjeS10cnVuaworMzIyNDkgNmMwMDA0NjkwOTQxOGI3MjFiY2FkNDExZjk4YjkxZTdhNGUyYzYxMCBsZWdhY3ktdHJ1bmsKKzMyMjUwIDgxZTViZjYyM2VjZjc1OGJjMjVjNjJjYmIxZWJkNGVjMTIwZGVkOTIgbGVnYWN5LXRydW5rCiszMjI1MSBlODBmMThhNDljYzlhYzhlMzExZjQxZDhkNjA3MTMxNGZiMDQ3OTllIGxlZ2FjeS10cnVuaworMzIyNTIgMDdkOGUwZWFiM2FmNDlkNThlMzIwMmI5ZTgyNjk0ZTE5OTg1YmUwYyBsZWdhY3ktdHJ1bmsKKzMyMjUzIDJjZmQ5MTZkZDMxMjQ5ZGYyZDQ1NThhZTNiOWJkM2U5M2JhZmNkMTMgbGVnYWN5LXRydW5rCiszMjI1NCAzYzM5MTk1ZGFiOWE0MGVmMzE5MDhmNjRkMGZlODRkZGUzOGFhM2IwIGxlZ2FjeS10cnVuaworMzIyNTUgM2Q5M2MzMDM5Yzg3MWNjZTkxOTc4ZmZjN2I0OGU2NzMxZGFkZDc3YiBsZWdhY3ktdHJ1bmsKKzMyMjU2IDhhYjc1MmRiNDc3NWQ1NTNmNzMxYWZkM2QwMzEyMDlkZGI3ZjgwNTEgbGVnYWN5LXRydW5rCiszMjI1NyBmYTgyZjg2ZWFhMDk5NDBhNjZjZTM5MzRiODU2NzU1NjRiM2Y1Nzk3IGxlZ2FjeS10cnVuaworMzIyNTggMzM5MmYzOGJkMTE0YjhlMTU5YTIxZTIwMmRmMDBjNGY0Y2VjMGViNCBsZWdhY3ktdHJ1bmsKKzMyMjU5IDk0N2MyOTM3YzA5ZTIyMTNlMTU1YjAzNWZkYjk0M2JhZjA5YTFkMmMgbGVnYWN5LXRydW5rCiszMjI2MCBhMjZiNmIyNzVmYjcyZDk4OTdjZTFjOTk3OWIyMTBlNmY1YmYxODVlIGxlZ2FjeS10cnVuaworMzIyNjEgMzZlOWJhNDA1NDkyNTlmM2VlMWU3NGUyZjQ1ODNkODY4YmNmZGU1MyBsZWdhY3ktdHJ1bmsKKzMyMjYyIGM2MjllZDhhOWRiYjNhODRjYzM1ZmU5YzNkYWIyN2E0ZmY1YzllZTIgcmVsZWFzZTIyLW1haW50CiszMjI2MyAxMWY3ZjExODA3MmI2NGZmMDFmZjIzNjI0MjkxNjllZGM0NWFlZWExIGxlZ2FjeS10cnVuaworMzIyNjQgYWNmYTBmZjhjNWE0MDE2YjU5ZWYwNTYxZDJiOWE0YzE2MWU3MmY0MSBsZWdhY3ktdHJ1bmsKKzMyMjY1IDliZTQxMDM4MDdmNWM3NDVmZjliMjUwNjRmYzZmMmY3NjhjNGQxYjkgbGVnYWN5LXRydW5rCiszMjI2NiBiZTBkNGVjNmJmNWE5YjgwZTkxY2E1M2ZiM2QyNzNhZmM2NmJjMDhmIGxlZ2FjeS10cnVuaworMzIyNjcgNDgyNGFhYjEyNTQ5YmIwYzM3Y2E4MDJhMzNlMWM3MDAxNzgwMWZlNiBsZWdhY3ktdHJ1bmsKKzMyMjY4IGE4ZTY0MGI0NzdmNjZkNWI2MTUyMmJkNzljOWM1ODA3MjBmNGE0MDQgbGVnYWN5LXRydW5rCiszMjI2OSBjZmVjZTE4MjJlOTQyMzcxZjdmOTliNGIyM2QyZjY2NjVlZDEyMzhhIGxlZ2FjeS10cnVuaworMzIyNzAgY2EyNDgyMDEyYjNjNjAwZjg2NWQzYWY5Zjg5NDE4ZWRlYjhmMmZmZiBsZWdhY3ktdHJ1bmsKKzMyMjcxIDhlNTQxYjA3OGVkYjUwOWI2Y2RlZjBjMjA3NjEwZGM0OTgzYzI5YmQgbGVnYWN5LXRydW5rCiszMjI3MiBiOTc0NWNkNzkxYmZkZGE3ODAwNmYwYmQ3YjIzZTNjODY0ODMzNzkwIGxlZ2FjeS10cnVuaworMzIyNzMgMTkzYjhhZWMwMGNlMWJlMmYwM2FhOTY5OWE1ZDZmNjUxNmNmNzkzMCBsZWdhY3ktdHJ1bmsKKzMyMjc0IDlkNGUxMzg0OTRmYjMxMmNlMjhhODUyNGU5MWIwNWQyNjRmOGQzODcgbGVnYWN5LXRydW5rCiszMjI3NSAwZTg0MTZiZTIwOGUwZWI2MDRjZmZmZTdjYjU3MGY2MzZiM2MwM2QxIGxlZ2FjeS10cnVuaworMzIyNzYgMDRiMTcyODQzMjkyOTgxMjE0OGNiMWM2OGQ4NWRlODc2ZTU5MDgxZiBsZWdhY3ktdHJ1bmsKKzMyMjc3IGQ4YThmNzQ0YTNlNTA4YjVlMTMwNzM3NjI2ZmM0NTY0ZDk1NjVhYjIgbGVnYWN5LXRydW5rCiszMjI3OCA3ZmRhMDlmNzUxYWQ1YjFjOWI0NzhmOTNkNzBiMzY3Njc3MWQ2ODNkIGxlZ2FjeS10cnVuaworMzIyNzkgMjhhMjk3NTUxNGNkNjFkNDM2MDBjODUzZWZjOGQ3OTJmNmRhM2JjNSBsZWdhY3ktdHJ1bmsKKzMyMjgwIDU2MDA2ZDk3YmNlZjBiZTUwYzdiYmY4YTJiYjY1ZDM2OTA4ZDBlYTQgbGVnYWN5LXRydW5rCiszMjI4MSAxZTkwMDQ1NTNlMWQ5MDViNDEwOWNkNzM2Njk5ZmRiYjhkNWJkNTE4IGxlZ2FjeS10cnVuaworMzIyODIgMTZmNDdiZDQzMWM0ODc5MmNlY2U3NTRiMGMwZDRkYTA5MzRjZjFkYSBsZWdhY3ktdHJ1bmsKKzMyMjgzIDJmYWU1Zjc2MzFlZjRhYWU3YTBjMWJkYWI2YzQ1MzcyNTJiZDZkOTEgZ2V0YXJnc19tYXNrX21vZHMKKzMyMjg0IDRkMjI1OWNiNzdhMGUxY2Q3ZDg1NGRkMGQ1MGQ1ODJlZTczZjJiNzggbGVnYWN5LXRydW5rCiszMjI4NSA3ZmExNGYyMGFlYTQyMjMyYjY0YTZhZTA2NDI0MTcwNTEyYzdhNjUwIGxlZ2FjeS10cnVuaworMzIyODYgODgzNjUyOWU5ZTY2NzBhNTVmNzQ1NzE3ZWMyOWE1NjU1YTQzZTYxMiBsZWdhY3ktdHJ1bmsKKzMyMjg3IGVlMTY1ZmUxYjQyZjYzNGM2Yzk2MGIxZjI2ZTU2MjFhOWY1MjZjNTAgbGVnYWN5LXRydW5rCiszMjI4OCA1ZjFlZjE4ODJiMjUxODhlZTA2ZTJhODRiZWNjODdhZDg4OWRjYjQyIGxlZ2FjeS10cnVuaworMzIyODkgN2U2NjVjMTYwNTgzZmI2NjM3OGQzZWM1ZjlmODQ0MDYzNzcyZWQ5ZiBsZWdhY3ktdHJ1bmsKKzMyMjkwIGVlNmRmMmM2NjhlYWNjZGQ5YzAzYTJkMjQ2NzdhZTcwMTQyZTA2N2YgbGVnYWN5LXRydW5rCiszMjI5MSAxMmQ0NDA5ZTU5ZTMwM2EzOTc4ZjVkMGI0MzNhN2U4ZDY3NTY3OTQ2IHJlbGVhc2UyMi1tYWludAorMzIyOTIgZTMzZmVkYjU4MWY0YjA3YTlmODQ1N2U4MDE4ODk4OWJjMjY4OGUxYyBsZWdhY3ktdHJ1bmsKKzMyMjkzIDIzOTQyOWRjMDI5ZmM4ZDU1N2FjNjgwY2M4MjQyM2I1YzJjY2QxZWMgbGVnYWN5LXRydW5rCiszMjI5NCBhOTM4YjEzZTAyOTExMjM4MmFmNDA1ZjhkYTJiMjFmYzIwN2U0YmQ1IGxlZ2FjeS10cnVuaworMzIyOTUgNWJmZGJjMGZkMTcyMmE4NDMzYzM5MzhkZmZkNDM3NTA0YjI5ZTdjNSBsZWdhY3ktdHJ1bmsKKzMyMjk2IDA0NmJjOWQ3ZmIwZTQzM2M0NWYxNzc3MjY3NDcxNmZmZTIyYTE0MWYgbGVnYWN5LXRydW5rCiszMjI5NyAwZDhkNGM4ZGM2OGJiODg5YmU0ZDNhNWNlZjZmMTc2ZWYyNTM5YmE1IGxlZ2FjeS10cnVuaworMzIyOTggYzU1NWNkMDJiMGY5NjNjZTA0MWU2ZGNjMmZlZTY0NTQ1NjViN2YxMyBsZWdhY3ktdHJ1bmsKKzMyMjk5IDE5MjU0MTM0MzFhNmVjMjhmYzg2YTlmNjc5OWNkNjgyYWMzMmUxZmEgZ2V0YXJnc19tYXNrX21vZHMKKzMyMzAwIGZkYTJmN2Q3ODNjMjRhZjNhYWMzNTM5MTUwODUyY2I3Y2RiMWM3MDIgZ2V0YXJnc19tYXNrX21vZHMKKzMyMzAxIGQ0MWQ4ZGU5NzY4ZjM3ZjE3MWU3M2EwN2FlNTdiNDY1YjE3ZGI5ZWQgbGVnYWN5LXRydW5rCiszMjMwMiAyYTIzZmM4MzcyMGZhMTI2NGMzYzVkYTU2YTMyNjMzMDMyNTdlODUzIGxlZ2FjeS10cnVuaworMzIzMDMgYzFiYTUwNzkwYzgzODQ4NWJiZGJkM2U4NWZiMWYzOTVkYzVhMGUxMyBsZWdhY3ktdHJ1bmsKKzMyMzA0IDllYjY5NjRiNGI2Yzk4OGQ4NmVjZTRhZDEzNzdlNjVjMjgzMDRiYmIgcmVsZWFzZTIyLW1haW50CiszMjMwNSAxNTU2YTM4ZDUyNzgxNTQxZDk5YTQwNzBiNDJmYjk0M2MzYzg5MWVmIGxlZ2FjeS10cnVuaworMzIzMDYgNWZmMWYyZjlmYzM0OTNmM2JhY2EyMzU3ZDU0NjdhOWZiNTJlOWRlZCBsZWdhY3ktdHJ1bmsKKzMyMzA3IDE4MTUxNjZlODA5Nzg3NWUyNmMyNjQzY2E3ZTkzYTQ2MmQ0MGViMTMgbGVnYWN5LXRydW5rCiszMjMwOCAzMWNiOGUwMjYwZGI1MTAyYjBhYjUwNmM0YWVlMzljOWQxMjQyOGFlIGxlZ2FjeS10cnVuaworMzIzMDkgYWIwYzA2N2ZlMjg2ZmJkMzAzYWNlYzE2ODgzNzQyNzRiNTg5NjYyNyBsZWdhY3ktdHJ1bmsKKzMyMzEwIDI3NjM1MmJmY2I0MmI0MWFhZTk2NjE0ZmFiM2RlMzIxNjFjZTNmODIgbGVnYWN5LXRydW5rCiszMjMxMSBjYTY0YzFiZTIzMGJhY2U0YTNiZTJiMTAzYzkzMDQwOGIyMTIxODdjIGxlZ2FjeS10cnVuaworMzIzMTIgY2Y0NWFkM2NhNGI3NWRkY2RiYzUxMmQ3MmI5M2IzZmMwZDU0MTRiMCBsZWdhY3ktdHJ1bmsKKzMyMzEzIDQ2MmE0YzMxMThiYmMwNjgyOWNhZjFkMGMyOGFmY2Y0YTM2NzE0ZGQgbGVnYWN5LXRydW5rCiszMjMxNCA4YmQzNGRkNThhOTJhYTMzNDczZjlmOTdlYjI3NGNiN2NiMTY2YjM3IGxlZ2FjeS10cnVuaworMzIzMTUgYzViZDhhODQ1MjIzOWYzNmJlMjMxOGE2MzQ0YzU2ZDc4NTk5NzdhMiBsZWdhY3ktdHJ1bmsKKzMyMzE2IDcwZDZmOGIwZmM2OTQ1ZTcxZjQ0MzhjZTA3YjRhOTFjYTEzMGMzMTggbGVnYWN5LXRydW5rCiszMjMxNyA0MGQyODdjM2Q5MDYyMGE3NzY1MzAxNTg4OWRlZDViYmI4NDY0ZDZhIGxlZ2FjeS10cnVuaworMzIzMTggZDBhZTYyMGFmYmQ0ZDQxYjhhNjVmMTI1MDUyYWM5MGUyNGU3ZDZmNSByZWxlYXNlMjItbWFpbnQKKzMyMzE5IGVkNWVjZDYzYzFjZjliN2Y0ZjI5OWM4MTJiODY4ZGU4NWEwZTczMGQgbGVnYWN5LXRydW5rCiszMjMyMCA5NjQyZmI0Y2RhMmZlNGFmNTZlMGI4Yzk4YzhkZjVjNTUzMjI2MjIzIHJlbGVhc2UyMi1tYWludAorMzIzMjEgYzk5MjVmYTI5ZWEzN2U1NTg4NDg2ZDk3NTI2NTlkYmRjY2ZhM2Q0NiBsZWdhY3ktdHJ1bmsKKzMyMzIyIDA2ZDEzN2E0MjdlOTYxMWQzZmIyNjBhMjEzZGY0MThmY2FlOWM3N2UgbGVnYWN5LXRydW5rCiszMjMyMyA3OTIyZDVmNDM4NTQzYTU3NjVkZTY0ZjgwMjI5Y2UzMTcxZDIwMzQ3IGxlZ2FjeS10cnVuaworMzIzMjQgYTQxNTRkZDU5MzlhYTZiYjNhMTEyODkzOWU5MDc0ZDZiMTM4M2QxNSBsZWdhY3ktdHJ1bmsKKzMyMzI1IGQ2YWZlMTk2ZWY4MjA4M2ZmMjIyNjIwYzlhYTU5NWVmY2M1MzlmYjMgbGVnYWN5LXRydW5rCiszMjMyNiA2NThiMTBjNWJhMmEzZDZiZTE2N2YyZjRkN2ExMWUzYTdiNjE2NjBkIGxlZ2FjeS10cnVuaworMzIzMjcgMDE4MTcwYTRhMmQ3YWMyNTBhZWRmMDc3ZmI5NjhlNmFjOTY4Yzg3ZSBsZWdhY3ktdHJ1bmsKKzMyMzI4IGFlZjAxYTA3NmVmOTY3YWU3OTNjNGQ2M2M3MjQ0MGI1MTMyZGMxM2QgbGVnYWN5LXRydW5rCiszMjMyOSA5Nzg5MDEzNGM5YzQ0MzkzYmIzNmEzODI3YzA3YjU1NmFiMjA1Mzk2IGxlZ2FjeS10cnVuaworMzIzMzAgNDFmNDU4YjhkYTIwYTMzNGVlYzY3ODE4ZWRkOTg2ODI3OWE1ZTQ0NiBsZWdhY3ktdHJ1bmsKKzMyMzMxIDQyZGU1MGUxOTJkZjViOWU0ODA2MzNhMjNjODY5OGZmZmNjMDA5ZjUgbGVnYWN5LXRydW5rCiszMjMzMiBkNmUxM2QxMjEwYzZiNTg1MGZhMTUxODFkNDBkYjliODA4OTVmMDY5IGxlZ2FjeS10cnVuaworMzIzMzMgMmNlMzlhN2JlNzlkOWE1YjE3ZThkY2Q3ZDA4NzEyYmY3NGFhODJiNSBsZWdhY3ktdHJ1bmsKKzMyMzM0IGZhNzg3NGVjNmE3MWVlOGM5OWMzMjJjMmI4NGRhMTEwYzJhNTA2YzAgbGVnYWN5LXRydW5rCiszMjMzNSBiZTE0OTcwYTk5NTUyMmZlZGFhODlmYmM0NzVmYjE0NzgyNWQwYjVkIGxlZ2FjeS10cnVuaworMzIzMzYgNTI5MzBiZTlkZmVhNWE1NWI0Y2Q4MjFiMDRhZThhNjNmNzg2ZGRkZCBsZWdhY3ktdHJ1bmsKKzMyMzM3IGRlNzY5MDUyNzU4NDNlNzlhNjRiYTUxNTcyZTk1YmE3MGE4Y2EzNzcgbGVnYWN5LXRydW5rCiszMjMzOCBlZGNmZGIyYTg1MmU5YWYzZWQ5ZjdhZTk1NTIyNDc1OGE0ZTkwMGI0IGxlZ2FjeS10cnVuaworMzIzMzkgMjlmM2IyMzc1MDQ5ZWYwNjgyN2U1M2IxYzMwZDU3N2ZlNjEzMTUzOSBsZWdhY3ktdHJ1bmsKKzMyMzQwIDE0OWJkMGVmOTRmYjg0ZGU5YmNhMmEwMDA1ZGI2Yzc0YTdlMmQ2YWIgbGVnYWN5LXRydW5rCiszMjM0MSA4MjBkOTU3MGVkZWJjM2MyYmQ4ZmZkMDVkOTQxNGQ4MGU0YTkxZmUxIGxlZ2FjeS10cnVuaworMzIzNDIgZDMxMjdiNjcxZDM2YzM4ZDhkN2JjZDRiZDU4Y2VkNTRmNGVlYzc3MSBsZWdhY3ktdHJ1bmsKKzMyMzQzIGQwOGQxNWE3MDI5NTBiNTdhZDJiNWRjYzdmZDJhYzkyMjVmNjMwYTEgbGVnYWN5LXRydW5rCiszMjM0NCBlYzJhMGYxNWMxNGNkMTlkNDQ5NDNjY2ZmYTliODJhNzlmZGM2NzFhIGxlZ2FjeS10cnVuaworMzIzNDUgMWQ4ZTg0ZDk2ZGRlYzZkZjE3MDZkODhhM2I1ODdjOGJkODcwZWE4ZCBsZWdhY3ktdHJ1bmsKKzMyMzQ2IGFiNGZiZjhlYmFiM2IwYjU4MDZhNmI0MWRkY2MyODkyYTk0YmZjZGYgbGVnYWN5LXRydW5rCiszMjM0NyAxM2QwYTNjNGU0NjU3NWJjNzJkZWYzOGM0NDk3NDVjODU0MTY3ZjdkIGxlZ2FjeS10cnVuaworMzIzNDggMTZlZjViOWJjNzg5Y2I5YTM4NTQwZDUxMjFlYzI4MjRkNDBkNDczNiBsZWdhY3ktdHJ1bmsKKzMyMzQ5IDVlNmZmYTY1NTQ2MjM0Y2IyOGExNWE2NGRjZDgzMTBiMzMzNmU0NDMgbGVnYWN5LXRydW5rCiszMjM1MCAwM2FmNDZkMWFjMjg0MDU2NzU1MWRjZDhhMTIyZGMzMGIzMzQ1OTAxIGxlZ2FjeS10cnVuaworMzIzNTEgNDY0OWYzMThmY2IwMmRhZmJlZTJmNjE5OTQ3M2YwODFhNjk1NGZjYSBsZWdhY3ktdHJ1bmsKKzMyMzUyIDgxNjBiYzc4YzkzYWIxYTYyMmViODc1ZjlhMjA0NzM0ZDIxMGE1ZGYgbGVnYWN5LXRydW5rCiszMjM1MyA4OTIwNWY1YmI0NDBiZmNhYjVkZjBmOWJjMmE0MTgwNWM5MDA2YzAwIGxlZ2FjeS10cnVuaworMzIzNTQgOWVhMGNjZGRiZWFkMzY5NGZmMzIwOGQ4YjcyMTUyNWZkZGExYzJlZCBsZWdhY3ktdHJ1bmsKKzMyMzU1IGRlNmQxZTdlOTgyNTcyNDJkY2U0NDIxMmRhNTdlY2FkNjQxYjQ0ZmUgbGVnYWN5LXRydW5rCiszMjM1NiBhYzhkYmJlNjI0MzJiOTRmM2Q2MDA2ZTk4Yjk4YzFhMmVjYTA5NTBiIGxlZ2FjeS10cnVuaworMzIzNTcgMDUxYTRmMTJjYzQ2MjU3MTc4NTNkODM1YzMxMGZjNTE0OWIzNmJhMyBsZWdhY3ktdHJ1bmsKKzMyMzU4IGY5NjhlOTNlM2NlMDE4NzE3Njk4YWQxNGM0MjZjZDEzNWQwNjgzYWMgbGVnYWN5LXRydW5rCiszMjM1OSAzMWNiZDQ2ZjBjN2Q2OGRiMGVjMzk3MDRjODMzZGZiOGNkYmQxZjU0IGxlZ2FjeS10cnVuaworMzIzNjAgYWM1ODYwOGNkMjNjZTg2ZTViYmM1MzI1ZDYzNTE5OTYzMmUzYWMxOSBsZWdhY3ktdHJ1bmsKKzMyMzYxIDg2ZjQ5MzNmYTQyOTVlMWVkZDNiMDBmNjA1YjMxY2JhYzMzNDUxOTYgbGVnYWN5LXRydW5rCiszMjM2MiBiYTkwOTIzNmViMTNiMTA4ZTA1MjJmNjZlODA4YWMyZTQ0YmY4OGZiIGxlZ2FjeS10cnVuaworMzIzNjMgNDNkMzJmNGY4OTEzODQ3NDg5ZjM2MDBlZmNmY2RlMjVlMWFhYmQ0YiBsZWdhY3ktdHJ1bmsKKzMyMzY0IDVjODg2ZTAzYjQzZTQxY2I3MWY2NGYyZDZjYjA2MGJjZWY0MWZmY2EgbGVnYWN5LXRydW5rCiszMjM2NSA3YmJhM2UyYmU1NGU3ZWFhNTAwMmY2OTAzYmYwNzA0NjAyNmJiYzdhIGxlZ2FjeS10cnVuaworMzIzNjYgYWE2MzRhZGI0MWE5MDBhZDhjOTc2MDFlNDIwY2Y0OTVhZGI0OTBlZiBsZWdhY3ktdHJ1bmsKKzMyMzY3IGQ3OTI1NDRhYjExMWY0NDJjOTZlZDRiMGExNzdiY2M0OTU1MmIzNzAgbGVnYWN5LXRydW5rCiszMjM2OCA1MmYzZDkwYzE3ZTgzZGU1MzQ1NGQ4ODE1MjY2OWJhYTc3YmM2YjY0IGxlZ2FjeS10cnVuaworMzIzNjkgY2VjOWQxM2M0M2ZmN2RiODJhYjgwZDYzMGFjYjM2YzU4NGQyOWZkZCBsZWdhY3ktdHJ1bmsKKzMyMzcwIGQzMjk3ZTI5ODIxMWI4YzdiYTUxNmY2OTMzM2MwMGQyOWM1OWQzYjYgbGVnYWN5LXRydW5rCiszMjM3MSA2NmNjZWI3NTYyYjU2YTkzNGZmNjBlYTFlZjMxMmYzZDRjNDFiNTc3IGxlZ2FjeS10cnVuaworMzIzNzIgYmQ2NzhlNjVmNzg0MzIwZjQzYmMzZGMyYmU4ODk4YzZmNGFkMjk3ZSBsZWdhY3ktdHJ1bmsKKzMyMzczIDZlMmU1OTg1Mzc1YzYyNDdlYzZiZTA1ZGE0MDA0NGY5MzdkM2NjYzkgbGVnYWN5LXRydW5rCiszMjM3NCAwMTRjZmFhN2E3ODRmYmEwYTI2MmZkMzQzYjQyMTNhOWFlMGUwYzhjIGxlZ2FjeS10cnVuaworMzIzNzUgMWY5NjA0OWE3OWQ0Y2Y5ZjI5Mjk5MDMwMzdkOGIxNzFlODQ0OWUxNiBsZWdhY3ktdHJ1bmsKKzMyMzc2IGMwYTI2YzVhNzkzNjQ3MGUxOWMyYjc1NDM3MzIzNTg0OTM4ZWQ1MDAgbGVnYWN5LXRydW5rCiszMjM3NyA1NjNiYWEzZTQyOGY2OTQ2NWJjNGQxODk5MTQzMzA4YTNkMjNiN2U5IHJlbGVhc2UyMi1tYWludAorMzIzNzggYjQ5ZmYwNGMxOGRlN2VkMGU0ZDdlZjU5ZGQzYjI5N2RiNDQxZTdmMyBsZWdhY3ktdHJ1bmsKKzMyMzc5IDg5ZGMzMjY3NDU1NGVlZDAwNTYzNjEzMzQ0YTI3ZWRlYzJkNjRhYmIgbGVnYWN5LXRydW5rCiszMjM4MCA3NTY1MTJmYmI1Mjc4ZDI1MWQ0NWIyOTk3MjQyZjhkZDJjMGI3YjMzIGxlZ2FjeS10cnVuaworMzIzODEgYTFkN2NjZDk1YTVlODNkNjE0ODk4MGNhYThjYjhhMzRkMDNkODZiOCByZWxlYXNlMjItbWFpbnQKKzMyMzgyIDBhZDc0NTNhOWY4Mjc3NTAzMDZlZmU3M2JkMjBhNjgxOGVhZjQyMzkgbGVnYWN5LXRydW5rCiszMjM4MyAwODVmNjgwMDljYWQ4MThjZWI0ZDMzMTM3MGUyNTk3OGQxMmVkMWFiIGxlZ2FjeS10cnVuaworMzIzODQgOWM3YWQxZTQ1NTk2MGNjZTc0NjIzN2FiYzNhZmZhYmZlNzcwMDk4MSByZWxlYXNlMjItbWFpbnQKKzMyMzg1IGRkMDIyZDQyM2I4YTA4ODZkZWY2MTM0NjcxOGE3MDM5ZWZkZDI2Y2QgbGVnYWN5LXRydW5rCiszMjM4NiAwNzE3MjQyMjk1YjExY2IzN2ZhYTA4YWIxZDJiY2E3NjdjZjYwNmI5IGxlZ2FjeS10cnVuaworMzIzODcgOTllODJkYmFmMGNjZDgyOTg3NzY0YWQ3YWRjYmM5MDU0MTMxMTZjOCBsZWdhY3ktdHJ1bmsKKzMyMzg4IDdmMjM2NjdkM2NmYzRhZGRiNDIxNzM3MjIwYzg1ZDcxODBiZGVjODIgcmVsZWFzZTIyLW1haW50CiszMjM4OSAzZGYwY2YxNmRlZmMyMjhmN2MzODJkZWNiYjI3MjNiYzgwZDJhMGYxIGxlZ2FjeS10cnVuaworMzIzOTAgMjJkMTc3NjgyYWUxNGZmMTdmYTE2ZjZmNmYxMjY1N2ZiZjJlMjM0MCBsZWdhY3ktdHJ1bmsKKzMyMzkxIDE3MWRiZGRmMGEwMjE2NzBiNTM4Y2Y1MzQ1NTkyNDY1MmQyNjUzYmEgbGVnYWN5LXRydW5rCiszMjM5MiA2NTAzYWQ4ZGNhODgxN2RjMTA0YWNlOGJjNTg5MTcwN2IxODZhOTBjIGxlZ2FjeS10cnVuaworMzIzOTMgNjM0OGI4NWJjYjlkZTgwYjU4ODZlMWI0N2UwNjNlYTQ1ZjY0ZDIxMiBsZWdhY3ktdHJ1bmsKKzMyMzk0IDljMGFkNjk0ZTNlMjBhM2YyNmZlZjBhM2M4YjQyMjEzODA3MDg5NWQgbGVnYWN5LXRydW5rCiszMjM5NSAyYzc0NDdlZmMyYThkMGUxNmUwZmQ0NmUzOGJkZDU0ZWRkNGZmOWQ5IGxlZ2FjeS10cnVuaworMzIzOTYgNzUzODJkMTAyNzQ5Y2NlOTQwZGQzMGIzNDE3MDMzNWU0MzU4OWMxYSBsZWdhY3ktdHJ1bmsKKzMyMzk3IDYwZWFjYmVhNzE5OTJjMTY3MWU2MTM5MWE4NmNlOGQwNDg0OGVhZjIgbGVnYWN5LXRydW5rCiszMjM5OCA5Yjc5NjA1MTcxZWJkNGY1NTY4ODI5MTc0YTkzYThhZjY5YmYyZjNmIHJlbGVhc2UyMi1tYWludAorMzIzOTkgOTQ2NmI2ZTI0ODMzMmU1YTI2YmE5OThhZDBkYTA1YWM4Zjg2YjU0YyBsZWdhY3ktdHJ1bmsKKzMyNDAwIDAwYjg5NDcyNjIwZDdlNGJhODg0ZWE5NWMyM2Q0MTJjNmIzMDdlNGQgbGVnYWN5LXRydW5rCiszMjQwMSAyOWI2YTQ4ZjRjNDUwY2ZmYTc3NDgwN2JiYTBlZmYwZmQwNTEyNThlIGxlZ2FjeS10cnVuaworMzI0MDIgMGVhNTk5MWY2ZWRiYzRjMjczY2U1OGQ2NTEzN2FmNDE3N2RlNjI4MCBsZWdhY3ktdHJ1bmsKKzMyNDAzIGUwNmYyYmY1NmI0MDY4Mzc0YzkyZmIzMjc4NmQyNjVjM2Y1NjhmOGYgbGVnYWN5LXRydW5rCiszMjQwNCBjOWJlZTExZWFhOGI5ZTVjOWMyYmNiM2QwZDIxNWFkMzlkYWZhODgwIGxlZ2FjeS10cnVuaworMzI0MDUgYmM0MjMxZWIyNzU4NDE2ZjY1MzE0MGVkOWRkNmYwYWYwNjU5NjhkNiBsZWdhY3ktdHJ1bmsKKzMyNDA2IDIxMWMwMmZiNjU3MGFmZTFjMmVkMDQwOWE5OWFiMTE4MjhkMTc5OTUgbGVnYWN5LXRydW5rCiszMjQwNyAzZWJiNGJjZWJkZDdlZDY0NzA2MTk2MmQyOTA2ZjU4YzA5MzA4NzgzIGxlZ2FjeS10cnVuaworMzI0MDggMGQ1MzAyOWI3OTQ5N2E2MWQ4NzFkYmFhMDYyMTEzMjIzMDFmODhiNiByZWxlYXNlMjItbWFpbnQKKzMyNDA5IDcwOGFlYTgyYWRlODcwYWIyYjNmMjJmZWE3ZjAzNGYwYWFjNGI1NjAgbGVnYWN5LXRydW5rCiszMjQxMCA1MWVkOWY1ZTM2YTE4Yzc3MjQ2M2Q1MGVhMzZiYzM3ZDBjYjViZjMzIGxlZ2FjeS10cnVuaworMzI0MTEgNzg3ZDY2NWUxY2RjNzMwM2NiYTllM2UyOTJkNzg2NWU2NDlkMTE4MiBsZWdhY3ktdHJ1bmsKKzMyNDEyIDM5NWYyYjk5Yzc1MmY5MDZhN2MzNTJmMjg0YjE2M2UwOWU3ZWE1MWYgbGVnYWN5LXRydW5rCiszMjQxMyAyYzViZjA5N2RhZjg1NWEwZGFlZTllMWNhN2RhMDhjNjEyMTI4M2FlIGxlZ2FjeS10cnVuaworMzI0MTQgNzQ5ODE5ZjhiMmFkY2E3M2Y1ZGVjZWJlZGYyYTFjNTJkZWRiMTMwZiBsZWdhY3ktdHJ1bmsKKzMyNDE1IDYzZWIwYzk4N2RlN2RiNDAyOTEyMWJjOTdiMGIxYWUzNWZiZDUxZjkgbGVnYWN5LXRydW5rCiszMjQxNiA4YTZlNGM5MmJkN2YyYmQxMjdlMjMxNDE5Mjg4NDVmZTc2MWVkYjJiIGxlZ2FjeS10cnVuaworMzI0MTcgNjgxNjcxOWY0MzljNTlmZDcyNmU1OTIxMWU5NDA1ZTExMmRmOTczMCBsZWdhY3ktdHJ1bmsKKzMyNDE4IDU1ODY4OWI2ZDdmMGViNTJlZjFmNjFhYmI1MzZhZDA4ODYwMGY1ODUgbGVnYWN5LXRydW5rCiszMjQxOSAwMTVkODkxZjM4NzNkYzAzNDg0NzJkOWIwMTAwY2ViYTA5MzVkYzk4IGxlZ2FjeS10cnVuaworMzI0MjAgMjRkMmEwNWY0MWNjYTE4MDJhN2FmOGFjYWJmODAyOTE1Y2I2ZTY1NiBsZWdhY3ktdHJ1bmsKKzMyNDIxIDY0ZDdiODc2NzIyZmQ4Nzk0NjE2ZjEwN2FmYzlkYTU3NTA0MGQyMmEgbGVnYWN5LXRydW5rCiszMjQyMiA4MDk0YzBkYjk1ZjhiNmE5NDg2ODM2MGEyY2YyNTk5ZmVkZjRiMjExIGxlZ2FjeS10cnVuaworMzI0MjMgODAzYmNhMjI0YzhmYTdkMjE3MjA4MDIyNzM4NDBjMTUxZGNiZDdmNiBsZWdhY3ktdHJ1bmsKKzMyNDI1IGE3NmEzNjgzMDEyYmMzN2M0MDAwMmQxNTBiMjgwYzEyYWUyMDgwMzcgYXN0LWJyYW5jaAorMzI0MjYgMDVlNTczODhjYjhmZGNlZThjOGE5OTc0MzM4NGRlYjMzMjFjNjU2ZCBsZWdhY3ktdHJ1bmsKKzMyNDI3IDcyNWIyODFjY2VhZDM4YmY3MTIxNjNiNjJkMWQ0ZjI1Nzk5ZTYyYjIgbGVnYWN5LXRydW5rCiszMjQyOCBmODc0YTRkMjljYTQxNzhlYjUxMjkzMGFlOGZlOGFjMTA0OWQ1MmFmIGxlZ2FjeS10cnVuaworMzI0MjkgMjE2MzNlOWRmOGNjNDZjODY0NTEyMTg0MjJkODQ4ODFmMzRiOTJiOCBsZWdhY3ktdHJ1bmsKKzMyNDMwIDExMjU0MDE2MGI2NTJlNmFjMjJiN2U5ZGMxMGExMmI3MzY4ODdiOGEgbGVnYWN5LXRydW5rCiszMjQzMSA0NmQyNmFmYThiOTU2M2ZkMTI1YWRiMzcyMjA3OWQ4MjhkZTJmMTU5IGxlZ2FjeS10cnVuaworMzI0MzIgNzJkYjc1NzVmOTcwMDBjOTdiMjY5YTFhYzZkZjcwOWZlZGVlMGI5YyBsZWdhY3ktdHJ1bmsKKzMyNDMzIGE5YjU2Yzc4ZTBkNjRlY2RlNDM0YzlhYzMzODM4NTgyY2NhYzliNjEgbGVnYWN5LXRydW5rCiszMjQzNCAyNWM4Y2VlNDQ1N2U2YWQwYWZmMjEyODdlMDAwNzEzMmVhMGUxMmU1IGxlZ2FjeS10cnVuaworMzI0MzUgYzM0Y2Y5Y2U5NTJmOWZhMjgyYmE2NjE4YTZmZmZiNjIyODZmNmFlZiBsZWdhY3ktdHJ1bmsKKzMyNDM2IDBjOTUwZTMzMjNlZTRlZTYzNzA2MmI5ZWFhZmE1MGVjM2NmYTA2YzEgbGVnYWN5LXRydW5rCiszMjQzNyBjYTRiZGFmNWM3NTc1ODU5ZWFlM2ViNDk5YzViOWVlNjgzNGQ2MDg4IGxlZ2FjeS10cnVuaworMzI0MzggMTAyZjllMzU4ZjUyMTM4ZWNmNGM0MTQwNjc0NzU4Y2RmMTcwMzdlNiBsZWdhY3ktdHJ1bmsKKzMyNDM5IGMwYTFlZmUxMDI4NDczY2NiZjFmZDI1ZDhjODIzM2YzOTUxMGIzZWIgbGVnYWN5LXRydW5rCiszMjQ0MCAyYmEyMGZjOWY0OTUzYzA4YmE5NWFiNDc3NmI4ZmZkODA5NzBlZDY4IGxlZ2FjeS10cnVuaworMzI0NDEgMjhhMDk3NjdhMjRmZmE3OTFjNjcxM2U0MjM1ZWUyNWJmZmFlYTkzYSBsZWdhY3ktdHJ1bmsKKzMyNDQyIGE1ZTFiMTY2MmVjMDExOTFlZDM5N2IwZjliYzllNTI0YzZkNzA3MzMgbGVnYWN5LXRydW5rCiszMjQ0MyAyYWY5M2ZkZmY2MDg4OGU1NDc2ZDU4ZWY0OTY1YTU2OGVhNzJiMWNkIGxlZ2FjeS10cnVuaworMzI0NDQgMTEzYzMxODg4NzU1NjE0NjZkMTFlYzM1ZTExNDczOWFhN2M3ZjBjMyBsZWdhY3ktdHJ1bmsKKzMyNDQ1IGVkNzRhYzIxYzEzMzIyMGZjMmM2NGU0Njc1MGEzYzMyMGEyZTk1ZGMgcmVsZWFzZTIyLW1haW50CiszMjQ0NiBiMzE2MjkzMzU2MzU1ZWZmNzY1NGZkNGRhMWZjYTNiZjJmMTdmMGUxIHJlbGVhc2UyMi1tYWludAorMzI0NDcgNzNkY2U4OTNlYjRiMzgwMjhkM2JlYjZiMzI4NDA0OTQwMzY2OThmMiByZWxlYXNlMjItbWFpbnQKKzMyNDQ4IDZiZDI4YWJkMzFhN2YwZDNlNmE5MmQwZjc2YTZhOWU4ZjgzYzU5MzYgcmVsZWFzZTIyLW1haW50CiszMjQ0OSA5MTEzMGE0Y2MxY2UwZWY0NmQyOWNmODQyYzNiNmY0MDlkMzA2NzQ2IHJlbGVhc2UyMi1tYWludAorMzI0NTAgNTdlNjE1ODg1NzFiMjBiMTJiMDA1MmM2ZWNlOTY4NDMwZjljOWIzMSBsZWdhY3ktdHJ1bmsKKzMyNDUxIDA0NWJkMTRmNzQ2ODI1YjIwNDhlZDZlZjQ1YTQ3N2ZmZTM1YWFkMmEgbGVnYWN5LXRydW5rCiszMjQ1MiA2MGU3MjIzODRkNjJjNmY4MDY3ZDJkZjIxYTZkMDNhZTgxNWMwOTNmIGxlZ2FjeS10cnVuaworMzI0NTMgNjRjYjY1N2IwMzM4NDQ0ZDJlMzhlZjdkYjk3MTQyNTlhZGVhOGNjZiBsZWdhY3ktdHJ1bmsKKzMyNDU0IGRlZjA5ZWMwYmMzMTcyYzU0Zjc1YjEyOWEyMTUxMzgxZjhkNjliZWMgbGVnYWN5LXRydW5rCiszMjQ1NSA3Mjk2Y2QzZjQ1YzdmNDczZGU3YjJhNWQ5NmNlMjhhNDNhYzQ2ZmQ5IGxlZ2FjeS10cnVuaworMzI0NTYgMGNkOGQ1NzBjNTkxMTM5YmM0YWM2MWUxM2MwY2I3NmQyNjAxZThhYyBsZWdhY3ktdHJ1bmsKKzMyNDU3IDJmYWQ1NDgzOTFkZWQ2ZWQ0YmQwMWE2MDg3ODc3YzliZDhiOTU2NmMgbGVnYWN5LXRydW5rCiszMjQ1OCA5Yzc4NWFiMWVmZjAzYTI3MTE4OGRmM2M5YzBjNWI0NzkyODAyNjBiIGxlZ2FjeS10cnVuaworMzI0NTkgZGM0ZTQ3ZTZmMDAyMzVkYmJiNjQwMjQyYTc5YjI0NWIwMWY1MmYxNSBsZWdhY3ktdHJ1bmsKKzMyNDYwIGIzN2FmMjFiNzdiZTMxNWM4MjBkN2UxZGU5Y2E2Y2FiOWMwNjRlMzIgbGVnYWN5LXRydW5rCiszMjQ2MSBlMDZhYWQ5MGMwYWUyNGQ5OGZkYmIxOGIyZjkyOTIxOWE3MTgxMWUxIGxlZ2FjeS10cnVuaworMzI0NjIgMWM1YWQ5MzYwMzhlZjI2YzI5ZDYwZjU2NTNjOTQ0MWJlN2M1MWVmNSBsZWdhY3ktdHJ1bmsKKzMyNDYzIDcwMTJjYTY0YmM3NDk1YzczYmQwN2EzOWM2ZDUyMWU3ZDk2YWViMjUgbGVnYWN5LXRydW5rCiszMjQ2NCBlNGE1ZjM4ZmYwMDg5YmYwYzJiNmVmYjA4ZmY4N2U3YzQxNjYxZTg2IGxlZ2FjeS10cnVuaworMzI0NjUgZmExNTlmZWYyNzMwMDRkZjVhZjZkMTE0ODFmNDI3YjlhYjRlNGU4NCBsZWdhY3ktdHJ1bmsKKzMyNDY2IDQ1YzRhMmYxNTdiMzhlYmJjZjYyMjVhNDkzZGFlNjc0YTE1OWViZWYgbGVnYWN5LXRydW5rCiszMjQ2NyA5OGUzMWNmZDI2ZGMyNjFiYjRmZjIwMGU0NWY5MGJmNjU4ZWRkZDcyIGxlZ2FjeS10cnVuaworMzI0NjggZDgyMjM4ODA4MmJhZDQ3MTQ5NjJjNjUwMDlhYjY0YzljZWQ1Yzc5YiBsZWdhY3ktdHJ1bmsKKzMyNDY5IGMyYTA1ZTA3ODVmMTQ4ZmFlOTc3Nzk4MmZjNWE5NTY4OTQ3ZTBlZjcgbGVnYWN5LXRydW5rCiszMjQ3MCAyN2FmMzdkZDVhMGJmNTIxODQ1YTgzMmI0YzdiMDU2MjIzNWU2YThkIGxlZ2FjeS10cnVuaworMzI0NzEgMzlkODJkMDM4ODc4OTQxYWMxMjgwZjIwZjZmODVlMjc1Nzg1NjcxNSByZWxlYXNlMjItbWFpbnQKKzMyNDcyIDQ5MGFmMDBmYjE4MzBjMzU0YjM2ODg5NzNmNjhhMzA0YzRiZmJlNGMgbGVnYWN5LXRydW5rCiszMjQ3MyBlZjA3OWRlZmQyY2MxMWY1YTI4ODliZjgzNzk0MjhmNDgxMzBjOTBlIGxlZ2FjeS10cnVuaworMzI0NzQgZWU4MTVhNmIxMWUyMDJiZWIyNjU1Mjg4ZGY1ODYzYWNlNjkwNmI3YSBsZWdhY3ktdHJ1bmsKKzMyNDc1IDg2NTExYjk2ZDk4MGM3Y2NjZTY4MDYxY2U5NWY1YTEyMTJlYWVkMmYgbGVnYWN5LXRydW5rCiszMjQ3NiBjZDgyMjUzZjIwYjcwYzM2NzlhN2ZjMmI2MmMwYWVkYTY5NWU4ZjE1IGxlZ2FjeS10cnVuaworMzI0NzcgZmViMzU5NTRiMDM4NjhkMTJkYzFlMWI1ZDU2YWQ5Yzg5OTNiM2JiZSBsZWdhY3ktdHJ1bmsKKzMyNDc4IDRjNTNiNjk0YWZhNjk4MjQ4MmZmNjI2NWMyN2JmOGQwNTcwMzdlZTggbGVnYWN5LXRydW5rCiszMjQ3OSBmMzUxZmFiNzM4OTdkZGRiOGIzYjgyYzU5NTY4NjhhZDYzY2JkZjlhIGxlZ2FjeS10cnVuaworMzI0ODAgMWJlZjNlY2EyMGNlMDk5MWYzMDM0ZjE3ZjJkZTYwNTI2YjJkNTFjMCBsZWdhY3ktdHJ1bmsKKzMyNDgxIGFlMTdmYzgxOTMwOGIzYWI2NmY3MWI0ZjZlOTMyMjAxNjM2NjdkYzggbGVnYWN5LXRydW5rCiszMjQ4MyA3MzZiYmRlY2FhMWRmOWQ0YmY4YjYxZGU0NWQwM2M5MGE5MjU5ODg3IGxlZ2FjeS10cnVuaworMzI0ODQgNTQ1ZmFlYzc5MGM0NzMyNjBjNjUyYmFhM2JjYmExMTFiOWNlZjEzNCByMjNiMS1icmFuY2gKKzMyNDg2IDVjY2I1NTM2ZmVmZWJiYjY0YTMyOTE3NTZhNTYzOGJjMjc5YjJiNmUgcjIzYjEtYnJhbmNoCiszMjQ4NyA1Y2RiNzI4MGMzMjY2ZDk1NDhjY2Q4YTZiM2Q0MDZhMjFmMzhjOWNhIHIyM2IxLWJyYW5jaAorMzI0ODcgNWZjNjBlMGI4ODM2ODAyMDdjZmIxMDA4NjVjNDJjYTNhMmIxNjYzNyByMjNiMS1icmFuY2gKKzMyNDg5IDU3NmZhMTdmZjA3Y2MxNzNkMmIyNzdlNDVlNGE0ZGVhYjQ2YWJkMmIgcmVsZWFzZTIyLW1haW50CiszMjQ5MCAxNzFlY2ZmZjI2NTc5Yjc1OWY4OGI5ZWFjNWExNWUzNTM3ZGFkNjliIGxlZ2FjeS10cnVuaworMzI0OTEgYmRjZjM3YmU5MDRkYmQyZTM1M2YxYzdmYWVmMzE2MmJhNjFhMDI4MSBsZWdhY3ktdHJ1bmsKKzMyNDkyIDMwMzBkOTRhOWMwNTkwYmU0MTcyMGI5YzdjYWVkMTUyMTRlN2M4M2UgbGVnYWN5LXRydW5rCiszMjQ5MyBiNjJkODc4MTY5NzY5NTQxMmQ2ODZlZDAwNDNmZmQ3MWVkMWE0MTRmIGxlZ2FjeS10cnVuaworMzI0OTQgOThmNWJmYjE5Yzg2OGIzNjNmZDQwMDRmMzMyZmViODQ2YzVjOTRlZSByZWxlYXNlMjItbWFpbnQKKzMyNDk1IDY4YzYxODZkYzFhMTFiYjQxMmVlMDNhZWI5ZDFlYmFkZDdjM2JmMTcgbGVnYWN5LXRydW5rCiszMjQ5NiBiNjdmNWMzOTVhNjg4ZTU5MDU4MzY4MDQ4OTJmZGIzNmU2Y2U2MjQ4IGxlZ2FjeS10cnVuaworMzI0OTcgMTAzZmFhMGMyZTFlNmY2ZmI0YjQ3YjdlZDI0NTQyNTBhMDBhNzEyMiBsZWdhY3ktdHJ1bmsKKzMyNDk4IGRiOTg0NTkwN2U4YmVkMDM5NjQ2NWEzYmQ3M2JjZTZlMmVmNzg2MTUgcmVsZWFzZTIyLW1haW50CiszMjQ5OSA2NDIzMGVlOGVlYTU5NWJlMmU0MDRlM2UzMWRiOWMzY2RiNGUwZjJhIGxlZ2FjeS10cnVuaworMzI1MDAgZjUwZDBkMGYyOWEyZDBiNTI3YTVhMjhmMTM3YWI0ZDNiYjdlMWY0MSBsZWdhY3ktdHJ1bmsKKzMyNTAxIDZkODUyZWJmZjM2ZmY2M2I3OTg2ZTY4ZTIzYTZiMDY5OWM1YTk2MTAgbGVnYWN5LXRydW5rCiszMjUwMiAxNjM3NDA1MmNiNWRiM2M4YzZjMjQyNGI2NTNiNzViMzMyYWIyZWE0IGxlZ2FjeS10cnVuaworMzI1MDMgNTNmZjIzYmIzMjQ4ZmI4NDcyODA3MDBiZGE2N2NjZTU0ODA3NzIxOSBsZWdhY3ktdHJ1bmsKKzMyNTA0IDc0M2FlOWNiM2E4M2RiZmYyMzEwMWM0NjhhNWUxMWQ5MWI4YmI1MmIgbGVnYWN5LXRydW5rCiszMjUwNSAxYTBiN2ZjNDYyNWI4ODAzZTMzODNiZDMwOWE2ZjM2NzA5ZjQyNGYxIGxlZ2FjeS10cnVuaworMzI1MDYgM2E4YjhhZWRlMTAwZDhjOGVkYTlkNjU4YThlYzEyODljZjZiYzQ2NyBsZWdhY3ktdHJ1bmsKKzMyNTA3IGE1MzUyOTA5NWU5NTQwOTQzODRmNzNhN2NlNmY1OTc0Mzg5NmExOGIgbGVnYWN5LXRydW5rCiszMjUwOCA1ZjNlOGJjYzhjN2ViY2E2NGJjZjAxNmU2ZDNiN2I3MzljMGVlMjA5IGFzdC1icmFuY2gKKzMyNTA5IGIxYmM5ZTE3MWM2MmU4MjlhZWNjYWY4MDA5OGFjODk3MTk5MzdmODAgcjIzYjEtYnJhbmNoCiszMjUxMCAxZDk3ZjUyYmM4NGZiMGRiYjk1MzNkM2ExNDQ3ZWUwMDU0YzM2NWRlIGFzdC1icmFuY2gKKzMyNTExIDcxZTE5MWI4M2QwNDY1YmNkMTcxNDY3N2M3OGNkZTkwMTdlOTg0ZDcgYXN0LWJyYW5jaAorMzI1MTIgYjg0NjEyMTgyOWJkYjAwN2NmNTQ3NzkyOWY3ZmUzOWRmZGM3Y2U0NyBhc3QtYnJhbmNoCiszMjUxMyBhNjEzMzBhM2Q1OWMyMWNkNjI0OTU3N2YxNjRmMWQwZTQwOTgxMzFhIGxlZ2FjeS10cnVuaworMzI1MTQgZjU1YjU1M2EwYjM0OTk5ZjYwNTA2YTg4ODAxNGI1MWJjMTZlOGIwOCBsZWdhY3ktdHJ1bmsKKzMyNTE1IDYzOTJlODQzNzU4ODgxMzEyMDczNTU4YjZhM2UyZTk2NmI5ZDBkYjIgbGVnYWN5LXRydW5rCiszMjUxNiBjNmQ2YWQ4NjJhOGMzMzExM2VlNzRiMmMzYTQwYjA1ODk5MjExMjcyIGFzdC1icmFuY2gKKzMyNTE3IDY1ZjcyMGZhNjIwMGZkYWZmNDBhZDI5ODAzMTg0MzAzZDI2NjA3YmYgbGVnYWN5LXRydW5rCiszMjUxOCAyNDAwNzFhMmI0NjZlNGYyYTMzZDgyZTkzNDQ5YjdjMzgwNzg1ODc5IGxlZ2FjeS10cnVuaworMzI1MTkgODVmMGU2MDk1NGNhN2IwMDA3NjY2OGMxZmMzNDY2ODVkYzY3ZDVlMyByZWxlYXNlMjItbWFpbnQKKzMyNTIwIDllYjViZTkzNzk5MGE4OTJlNWE3M2FhYjYxOGE2MjFmNTA3OThkMzggbGVnYWN5LXRydW5rCiszMjUyMSAwZjBmNjIzNGYyZmY0ZWZkY2M3M2YzY2E2MzE3ODBhOWIzN2M4ZjdjIGxlZ2FjeS10cnVuaworMzI1MjEgNjdjZTRlZTRhMjlkMWU3Y2UzNTdlZjhkMWMwMGM2OWQ1NTdjMTBiMiBpZGxlZm9yay1tZXJnZS1icmFuY2gKKzMyNTIyIGUyZDI5NTY5OTk2ZDgwZDYwNWRhNjZlMTdiZDQyOTQxZTAzZTFjOTcgbGVnYWN5LXRydW5rCiszMjUyMyAyMzE4YTllMTZhYjBhOWRjOTg4ZGZmZmU3MTU4M2FhM2ZjY2Q3NDczIGlkbGVmb3JrLW1lcmdlLWJyYW5jaAorMzI1MjQgNzVjMWNlZDkzYmI1MmMyYWJjYTA2YmZkMTIxMWU0NzQyODFlMzQzNSBsZWdhY3ktdHJ1bmsKKzMyNTI1IDZjNDE3NTUyZjQ3MzVjMDhjOGRiNTY2MTM0MmVlYWIzYmJjYmRhMDEgaWRsZWZvcmstbWVyZ2UtYnJhbmNoCiszMjUyNiA2ZTk4NjIwNjZlMjk2ZWM4NDg2OGNhN2EwMjAzZDA0NjkzN2Y1YzNiIHIyM2IxLWJyYW5jaAorMzI1MjcgOTk4ODFiNmVhOWY3ZDk4MGIxNDE3NThmMmIwYjg2OWRhNjYzNDg2NCByMjNiMS1icmFuY2gKKzMyNTI4IGEzNDE5NzZmZjQ3NmQ4ZDRjZDExZGEzYmI0MjEwNzUzODVkZWYwMGUgcjIzYjEtYnJhbmNoCiszMjUyOSBiMThkMmYyZGIxOGQwOTBjNjE5MGIzMzMyZTAxNTBhMWE3ZDQzZGQzIHJlbGVhc2UyMi1tYWludAorMzI1MzAgODllMzVjZGJlY2NjMGNmMTkyY2NmOWIyYzhkMGFlZGM2NDA3MTFmZSBsZWdhY3ktdHJ1bmsKKzMyNTMxIDY4NzMzNzliOGQ4YzVhMDcxNTI1YWM1ZTM1Yzg4MzIyNzIzZjBkMmYgcmVsZWFzZTIyLW1haW50CiszMjUzMiBlYTc3NzI3MzJkYTE5YzMxNDdmYmUwZTg5MWRhYWNmMWRlYzNlZDgzIGxlZ2FjeS10cnVuaworMzI1MzMgNDk0ODZjNTQ0YWNkZDU2MTcyYWRkNDZlOGNkMjdiMjA5NGU2YjBkMiBsZWdhY3ktdHJ1bmsKKzMyNTM0IDY3MWU0ZTJlZWM0YmE3M2U4NGE4NTg3Yzg4MmNkMGUxNjhiYWNhMzAgbGVnYWN5LXRydW5rCiszMjUzNSBhZjUzNzI5ZDNjZGQ2NDExOTUyMjU0NzA2Mzk3MDAzMmZjNWFlOTBjIGxlZ2FjeS10cnVuaworMzI1MzYgZTRlYWJlNWIzZGExM2Q0ZmFhM2QyNzFjM2EwMzhlNWFiOWRlN2YyNiBsZWdhY3ktdHJ1bmsKKzMyNTM3IGQzMTY0YTMwNDU5OGIxNGYxNGRhOTNiYTFkYTRhZmU4MGY3ZTU2NTUgbGVnYWN5LXRydW5rCiszMjUzOCA5NmI2Y2M1ZDQwOGI4NGQyNWYxZWYyNjAxYWQ0ZmZlMjAxYWY3NDQ3IGxlZ2FjeS10cnVuaworMzI1MzkgMzlmNGI5N2NlODI4MTlkYzJmMTEwM2EwNWE0N2RkMmQ0M2RmODgxNiBsZWdhY3ktdHJ1bmsKKzMyNTQwIGQ1ZTI5MWYwYWUzOTU1Y2FhN2Q3MDAxYjczMDE4ZWU2OTgyZjU1YzMgbGVnYWN5LXRydW5rCiszMjU0MSAzNWM5MGQ5Y2MzMTM1NzUwNmE4ZDg2NzYyNzZhN2RjNzg0YmI0MDllIGxlZ2FjeS10cnVuaworMzI1NDIgZDMwYTZhNTc0OTc5YzhiNmYxNjVhY2QyYzU4YWFkZTlhMjM1ZTRkZiByMjNiMS1icmFuY2gKKzMyNTQzIGJjMTM1ZDdiN2RmMTZmYjdhYzFkYTA2MDViMGZlOGYzYjE3NDIzOTcgcjIzYjEtYnJhbmNoCiszMjU0NCBlZGRjYjc5MGVkOGQ4YmQ1MWYxOTA3NjY2OWMwYzYzNDIzNjY1NmQ4IGxlZ2FjeS10cnVuaworMzI1NDUgMmQwNjljMTZjOGIyZDE5MTI4NTc3NzY5NDEwNGM0NWI1M2Q5N2EzNSByMjNiMS1icmFuY2gKKzMyNTQ3IGQxY2RlM2RhZjlhOWU2MTY2N2VmNzZmYzk4NGQ4OGY0MjMzOTU3NDYgbGVnYWN5LXRydW5rCiszMjU0OCBmNDIzODAzNjAwMGM0NTU2YzQzOWJkYzE4OTQ3MjYyODEwNzYyNThkIGxlZ2FjeS10cnVuaworMzI1NDkgYjlhMzA3M2Y5MzkyOGMxYjgwMTEyNGJmNDdiNmU4MzU1ODQwZTNlNSBsZWdhY3ktdHJ1bmsKKzMyNTUwIDgxZDM3M2U1ODk4MzhjMzM5ZTAzMmU2ZWMxNzExZDhlYzE2Nzc2ODUgbGVnYWN5LXRydW5rCiszMjU1MSAyMzdmOTdjNzE2OTFiZjNmODQwZjZmY2QyNGNlZTVlNGViODY4NjVhIGxlZ2FjeS10cnVuaworMzI1NTIgMDgxZWY3YjZiZTA0Mzc2ODM3ZmIyNDVhMjcyMmU3ZGI4NzQxYWI5NiBsZWdhY3ktdHJ1bmsKKzMyNTUzIDBlMzVjMTU5NzQxYjU3MWRlNTMxMDZiNWRmNWFlNzA4NzYzNmNlOGMgbGVnYWN5LXRydW5rCiszMjU1NCBhYWIwZGJlM2MwMDgxZmJkODRhOWRmZWRkNmNiMjgxYmE2ODA2MjdiIGxlZ2FjeS10cnVuaworMzI1NTUgMDM5YWIzMWUxMDM0Nzc5NmI0YjgwNjhjYWFjNGYyMjAyYzRhY2E4MSBsZWdhY3ktdHJ1bmsKKzMyNTU2IDQ1MjhjYzBlZGI2ZGE1NGY5NjMwMzMxZjg3ZjllODRmZTVlMzEyZDggbGVnYWN5LXRydW5rCiszMjU1NyAxZDFhODVmMGU1ZTk5OTg1N2MxMDNmNzI4OWYzZGM0OTlkMTIzNzIzIGxlZ2FjeS10cnVuaworMzI1NTggZmE1OTUwZmJlNzM2NzRkNmUwMGM1ZmExOTdlZTNiNzYwNjYxNTNlOCBsZWdhY3ktdHJ1bmsKKzMyNTU5IDFlYWMxYTM1YjM3MDQyOWU2YmY2YTZhMWQzN2VkMmZlYjQyN2U0MDMgbGVnYWN5LXRydW5rCiszMjU2MCBlNGU3MmZhNGM5MTQxMmYzNjI2ODI2ZTMwZTFkZDg3NWUzYTc0NzY4IGxlZ2FjeS10cnVuaworMzI1NjEgY2U5ZTJhZThkNTlkNjY0MTZhZWU5YTNlNTI2YmYzZDc0YmU5OWU5ZiByZWxlYXNlMjItbWFpbnQKKzMyNTYyIDA2YWJmYzljNjhlNzcyN2VmYzBjNzhlNjc3YmY1MWZlYTlhN2ZkMjggbGVnYWN5LXRydW5rCiszMjU2MyA2YTUxZDExZmIxZTkxNWY3NmFkNDhhNDI0YzljM2Y3ZTNhMzEyNzE1IHJlbGVhc2UyMi1tYWludAorMzI1NjQgOTZlZWU3ZDA0ZDg4NDA3ZDczOTY2NmU4NGQ5Y2EzY2IxZWQzYWQwNiBsZWdhY3ktdHJ1bmsKKzMyNTY1IDRlZjEwOGY4MTgxZjMwYzU0ZTU5Mjg2OWYzM2M3OGU4NjVkYTIxODIgbGVnYWN5LXRydW5rCiszMjU2NiBiMDRjMDc0NTg2YWE0MjY2MzRhZTRjMzFkYTRiOTM0MjRmOWEyM2U0IGxlZ2FjeS10cnVuaworMzI1NjcgMzM0NzU2NjE4MjNkMzczZDY1Y2E5MzUxN2MyN2E1N2Q2MmZkYmFjYyBsZWdhY3ktdHJ1bmsKKzMyNTY4IGZhMDA2MzkyODUxODE3YzMwOGZhMjYyZjdmNjE2NDExOTIzNTk0ZmUgbGVnYWN5LXRydW5rCiszMjU2OSAzOWFkNzYxNDMyODhiYTJhYWRjMjljMzU0Y2NlY2IyYmQ0MTY1ODY3IGxlZ2FjeS10cnVuaworMzI1NzAgMTc0MWFmNDhmZDlmM2U2OWZhMzU1OTI4M2NkZTY3ZTZjYTkyMWE3YSBsZWdhY3ktdHJ1bmsKKzMyNTcxIDkyODcyNzg5MTZlM2M1ZjFmMWU3ZDhkM2VhMmY0ZTVjNTU3MTk4ZjggbGVnYWN5LXRydW5rCiszMjU3MiBmMmM3NGNmZWEwNTEyNDc0YWRiMjM2MzhmODhlNTJlNDUzN2NlNDc5IGxlZ2FjeS10cnVuaworMzI1NzMgMDBmYzEzOGQ4NTU2NTg3NzQ5YmI3YTUyNjU4MWY5NGJiN2Y0NzkwNSBsZWdhY3ktdHJ1bmsKKzMyNTc0IDg4OGEzMTE4ZTBkNDIyODhhZWIxNzMyZDVmM2YxN2IyZmQ0ZjllOWQgbGVnYWN5LXRydW5rCiszMjU3NSAxMTQ5NTBlZTlhYTczM2VlMmMwMWZmYzNlYzg4MGI0NTk4NjNkOTE2IGxlZ2FjeS10cnVuaworMzI1NzYgODM1MzMwMTZjMjg5NzE2NWNiNGY3YTY2YWNjMGQ2NjI2YjFiNGE0OSBsZWdhY3ktdHJ1bmsKKzMyNTc3IGIzYjI4NDQzNmMyNGEyMGEzODI5Zjk3MGI2NjdkMzQ0MGY1NTM3YmMgbGVnYWN5LXRydW5rCiszMjU3OCBhNzY5ZTA3OWJiMTJmZjgzZWM5N2VmMzgwNzEzMTE3MzY3N2VkZGNiIGxlZ2FjeS10cnVuaworMzI1NzkgNzgzZGRkZTM3OTJiNjY5NDg2NGU5NDRhZTZkYjE4NGVlOTNmNTY0MiBsZWdhY3ktdHJ1bmsKKzMyNTgwIDBhMTgwZWUyNDczYmQ5OWVjNGNkNmZiZTRhYmYzYTVkOGRiNjNjNzkgbGVnYWN5LXRydW5rCiszMjU4MSBjNzk4ZDI4ZGVlNDZiMTlkMTYxMjYwZTdiNDE0MzBhNDYzZTcwZjg4IGxlZ2FjeS10cnVuaworMzI1ODIgOTJhMWU1ODVhYmY3NjNhYzM1MTY0MmFhMmRiY2JjNmY1MmM1YTc1NyBsZWdhY3ktdHJ1bmsKKzMyNTgzIDE4MDgyYjJkMmViZGYxNWIzZmQzYjlmYjU0N2Q4MDNiZDg3MzM2MzYgbGVnYWN5LXRydW5rCiszMjU4NCBhNDBiNTY3MWE1NjM5MjFkMjlkMDU3ZGZiN2EyMGQ0NWNhZjdmZTJkIGxlZ2FjeS10cnVuaworMzI1ODUgNmEzMTE3ZGY1ZTEzMTI1OWFlNDJmOWUyODAwYTExMTJiOTYwMzNjNiBsZWdhY3ktdHJ1bmsKKzMyNTg2IGQ5MTgyMWQ5ZDQ3MDk2NzJjMGJjNjk1NTFjZjQ0MzRhZTBiMDk2MGQgbGVnYWN5LXRydW5rCiszMjU4NyA5OWNmMzM2OGQ2ODdlYTg5ZTdmYTY3M2M4NDUxNzY2NDUwMDllYTU1IGxlZ2FjeS10cnVuaworMzI1ODggYTExNGVlNzQyNjdjNzMxMzBiNTg3MGQ5NjJiNTI2NjlhZWNhNmNlNSBsZWdhY3ktdHJ1bmsKKzMyNTg5IDJlZWU5NjU1ZDcxYjBmODk2ZDZiYWM5YmVlNzhiMjA3MzYwOTczODkgbGVnYWN5LXRydW5rCiszMjU5MCBjNWYxOGRiMWM5NjYxZDU4MDcyNTMzNjk5NTc4YjJmYmM0ZGZmODVkIGxlZ2FjeS10cnVuaworMzI1OTEgNWQ0ZDRlYmZkMzE3MWU3NTM1Yzk0MTg3Yzg1YzdhODg3YzdjYWQwYiBsZWdhY3ktdHJ1bmsKKzMyNTkyIDQ3NTZmYTUzODU2MDZmYjEyMmY1ZTlhN2QxNjdkOWRmM2Y1NTdmMTkgbGVnYWN5LXRydW5rCiszMjU5MyBmYTA1NzgyNGM5YjRiNDI3ZDA5NGEzOWU1NDgxNjBjYTc0NGViNDJhIGxlZ2FjeS10cnVuaworMzI1OTQgMDVkYTc3MjZjMDI3ZTQ3ZjExMDliMTdjOWI3ZWQ1NGM4MzhlZTBiOCBsZWdhY3ktdHJ1bmsKKzMyNTk1IDM5MzQyOWE2ZmExNmQxZDkwNDg1N2ViNWRhNjA5NjRlNjFhNGViMjAgbGVnYWN5LXRydW5rCiszMjU5NiBlMDU5YThiMTFiOWVjY2IxMDA3MmY3Njk5ZTRlYTQ5ZGVhMzVjMjZiIGxlZ2FjeS10cnVuaworMzI1OTcgZmFmMmNiNTA3MGI0YzhkMTNiN2FjNTlhNWY5OGNmNzQxNmJmMmY0YyBsZWdhY3ktdHJ1bmsKKzMyNTk4IDAwMWE5MDU1NTc4MDhhMTVlODQzOWI1ODNjMWZlYzY5ODlhZTcyZjkgbGVnYWN5LXRydW5rCiszMjU5OSBkYmRlYjczNGZmOTc5OWRhODE2YzU5MzZjNWM0MzZjNDMxZmRhYzExIGxlZ2FjeS10cnVuaworMzI2MDAgOGRmODk3ZjE0ZmI4NjAyNmYzNDQ3OWIyZTA5NjljODBmNGJjNGRiZCBsZWdhY3ktdHJ1bmsKKzMyNjAxIDMzNTk4ZThlNDliMjBiYTRiNWE3OTlkMmExYmMyODIwMmI5ODM4ODIgbGVnYWN5LXRydW5rCiszMjYwMiBhYzQ4N2E3ZjdmMmM3NzA5NzU3OGJlZDFjOGI4OWZjYzdjM2E1NDYwIGxlZ2FjeS10cnVuaworMzI2MDMgM2E5ZjVmMGM1MTJlYjQ5ODBlYzFhYzgwOWZhZjY2NzRhZmVkNTZiMCBsZWdhY3ktdHJ1bmsKKzMyNjA0IDE5NjQwMTJmNmZiMGQyM2JmOGQ3YmEzOTliYjVlODU3NGEyNjFjMjAgbGVnYWN5LXRydW5rCiszMjYwNSA2YzRhMDRjZTk2NWMyNThmM2E5YmIwZjk0ZDkxZWMwY2FkN2I5NWVjIGxlZ2FjeS10cnVuaworMzI2MDYgMDk0MjJjMzAxODI2NWI4NWE4MGYwMDg5M2UxNmEyN2Q1ZTM2YzlhNCBsZWdhY3ktdHJ1bmsKKzMyNjA3IDlkNWE3NTkxNjk3MTA5NTgwYzU4ZGVmNjJjOTE3ZTA3ZTY1MWUxNWMgbGVnYWN5LXRydW5rCiszMjYwOCAxNzYzZDlkM2ZkOWRmZWVjZDZkNmUyN2JkYjU2N2ZhMTRjODZiZTljIGxlZ2FjeS10cnVuaworMzI2MDkgOWI0ZmY0YmYwMzNiODE2NDc4MjZhZWU5ZmNiMTdjN2UxMjU2Y2Y1YSByZWxlYXNlMjItbWFpbnQKKzMyNjEwIGJhZWEzMThiZTQ5OWNkZmM0OWI1NTdhZGQxMWNlODM5OGI5NDMyZDEgbGVnYWN5LXRydW5rCiszMjYxMSAyNWIyMjE4ZGEwOWI1OWY5NmI4OTZlZTZiNDEwYTY4YTI4MDAxMTk3IGxlZ2FjeS10cnVuaworMzI2MTIgMzVhNGQ3NGI1YjhlZDk5YmQxNzA1MWYwOTdkYjE5MjNjNjYxNmI5ZCBsZWdhY3ktdHJ1bmsKKzMyNjEzIDZjYTk0YWViMjkyYWM0Nzc5YTMwZjc2YmJhZGMzNWU2MDc5MmE4NjkgbGVnYWN5LXRydW5rCiszMjYxNCBhYzI5MDE1ZmY2YTgxZWYwNDE4ZGExOTZkODU5ZGI0ZjkzODBjOWY5IGxlZ2FjeS10cnVuaworMzI2MTUgMTg5ZmRhZThmNDkyYmY2Y2VkM2Q1YWUwYjE0YTMyYzI5ZjRhNjUxMyBsZWdhY3ktdHJ1bmsKKzMyNjE2IDI1ZTY2MGU3MGRjZDA2MWU5OTgyYjAzNzhhYmYzNmYwMzY3YzBhYTIgbGVnYWN5LXRydW5rCiszMjYxNyAyZTk5NTZkMDFkZTMzMmY3ZDEyZjIxODRlYjBlOTFhNjU0NzAyMzZjIGxlZ2FjeS10cnVuaworMzI2MTggNGJhNzYzYmM1YTU2MGRjNTdkZDE4MGIyZDc1ZDU2ZTk2YjU3Yjc4MiBsZWdhY3ktdHJ1bmsKKzMyNjE5IDM1MGVlMzFhYWIwYzAyNDI0NzNkNTBhYzkwZmUzM2ZhZmUwNGFmZWMgbGVnYWN5LXRydW5rCiszMjYyMCA5OTU5ZDhmYTRkZGYwZjhjMDQwOTYwZWYxMGFjY2U2Y2M5YWFlMGVkIGxlZ2FjeS10cnVuaworMzI2MjEgYjE3NGQwOTI3ZjBlMjU3OTQ5YzljMTNiZmY3ZjQzNWMyYzA0NTM3YiBsZWdhY3ktdHJ1bmsKKzMyNjIyIGM5YzZiYTc5NTJhODIyN2FhOGQzYjJiOTI1OWJkYWJkZWFlYzk2MmUgbGVnYWN5LXRydW5rCiszMjYyMyA5ZjkwMjJjMjEwNTYyMzQ5ZjQ3MDE4NzUxODkzNjVlNjdiNjQ0MWUwIGxlZ2FjeS10cnVuaworMzI2MjQgNjViZjY5ZjdjMTQ4OWQ4ODQ4YWIyNDZiZTNiYzVhZDI2NGRhYWViYiBsZWdhY3ktdHJ1bmsKKzMyNjI1IGM5MjQxMmQ2MzRiMTBiMzAwMjg4N2Y0MjM1MGM4ODRhM2YyZTAyODYgcmVsZWFzZTIyLW1haW50CiszMjYyNiA2OGYwNDJmYWZiN2RkMDliZGZjMjZmYjM0NmZlNDY0Y2M1ZTBlMGQ2IGxlZ2FjeS10cnVuaworMzI2MjcgYmIxNzcwOWEzN2EzYWMwNzQ5ZWMxMmE0MTAxNzQwMWNiMjFiMWIyZiByZWxlYXNlMjItbWFpbnQKKzMyNjI4IDNlODhjZmYwNTgyMmYyYzFiNThhNWNjMDc0OGZiY2Y5OGI5MWUzZjEgbGVnYWN5LXRydW5rCiszMjYyOSA0YmY4NjUxOGQ5YWU1MDE4MjA3MGY1ZWNmMDA4ODAzZTU3Y2M1NDQyIGxlZ2FjeS10cnVuaworMzI2MzAgNGMxMzkxNjg2NDhjNmFkZTNjMzAxYWE4ODljMjk2OTczMzQzMGU0ZSBsZWdhY3ktdHJ1bmsKKzMyNjMxIDgzZmUwZjVjOTM1OTdjYzZjMTZhNTZhMDMyMWU4MjZmYzU2MWJkNTEgbGVnYWN5LXRydW5rCiszMjYzMiBjZmNjNDVmMTg1MTVhMGRhN2VlZGFhOTNiYjY2ZTdmMGQ1MjJlZDQwIGxlZ2FjeS10cnVuaworMzI2MzMgNTg5MmMxZTUxNWI0ZGE5ZTEwNzQ5NTc5NTQzNjZmNDY0NjQ4YTEwNSBsZWdhY3ktdHJ1bmsKKzMyNjM0IDgxNWZmMGFiMjRlNzI4YzFjYjZkYzAwOTNkYmMxMzM3M2MyYzkxMDggbGVnYWN5LXRydW5rCiszMjYzNSAzMTJmMTE4NmFhMzk0NTgxYjViMTQ1MDE3NDVhMmQwNDFmODM1MzU4IGxlZ2FjeS10cnVuaworMzI2MzYgYTVkZDU3NDdjZGZlMjY4ZDRhNTZjNWYxYmY2MTkzZTkxZTk4ZTQ5NyBsZWdhY3ktdHJ1bmsKKzMyNjM3IDE3YmZhNzg2MDc1YWRjYjMwMTA4ODZlNGMwNDI4MWU1YjQ3YTgzY2IgbGVnYWN5LXRydW5rCiszMjYzOCBiNTRhODRkMjljMDAwMTZkZWE4YmZmMjAzNThjOTU4MWJjZDMwOGQ0IGxlZ2FjeS10cnVuaworMzI2MzkgNDEzODhlODQyNjFiMjQyYTYyYmZkMDUwNGE4MTIxZDMzMDljZWM1YyBsZWdhY3ktdHJ1bmsKKzMyNjQwIDIyMmMzZDJmZTQzMWIxMzcyYmM5NzAwOWYyNzhkNjNkYTEwNzgwNjUgbGVnYWN5LXRydW5rCiszMjY0MSA4MmZlM2E5YWMzNzFkNDM0NmFjZjZlZmVhZjY0N2RiYzczNjQ1MmEyIGxlZ2FjeS10cnVuaworMzI2NDIgNjFkM2Y4ZTY2ZDhmYzA2MDA4ZGQ3OTU0MGViMjVhMzg0YWVlMTE4ZCBsZWdhY3ktdHJ1bmsKKzMyNjQzIDQ5M2ZkN2U1MjIwNmExYWU1YTA0NDEwN2MxNjQ1NTA1NDk4OGFjNWQgbGVnYWN5LXRydW5rCiszMjY0NCBjZTZjM2NjNDIyYWI1MTYyODQ2YWJkYjRmZmViMjY0ZjIxN2U0YTlhIGxlZ2FjeS10cnVuaworMzI2NDUgYjM3MDJiNjgzZjJhZDJiZTZiMjBhYzdjZWEyZTE3Njk3Y2M1NGUxNiBsZWdhY3ktdHJ1bmsKKzMyNjQ2IGYxZmNhYzRjYWJhZDg2ZmNhOTEwMGMwNzMxYTFjOWU3OTAyNzNmODQgbGVnYWN5LXRydW5rCiszMjY0NyBkNTQ2MTBmNGYyNjFkY2I5ZTE2OTQ2YWZjOTFiNWE4Mjg1ZDM5YzIyIGxlZ2FjeS10cnVuaworMzI2NDggNmIwN2YzNjljZjAzZGFkODQyNmNmNWQ3YjAyMzM3MjAxMGZmMTk2NSBsZWdhY3ktdHJ1bmsKKzMyNjQ5IDM4MGE5YTVhZmFhMGJkYjJmNWY2OGNhZDk5NzAyYTRkNmExNDhjMDIgbGVnYWN5LXRydW5rCiszMjY1MCBlZDRiMDk4YzdiY2ExZDk4YWY1YmY2NmE0YTk1ZGJmMDY0Y2RmZDRmIGxlZ2FjeS10cnVuaworMzI2NTEgNmZjYTZlMDdjMmZhOWE2ZjVhNmEzMzkxYjg4YTliNTYzOTRiMDdjYyBsZWdhY3ktdHJ1bmsKKzMyNjUyIGUxMDdjOTIxYjhmMzMxMTYyMWFmNjVkNzMxZGEyYTVjOGFiMzAwZjMgbGVnYWN5LXRydW5rCiszMjY1MyA1MDk1Mzc4Mzk0MjQ2YWZmYjAyNzRhN2YyN2JkYzBmNzljNjM0ZTQ2IGxlZ2FjeS10cnVuaworMzI2NTQgNmM0MGI3M2M3MDQ1N2VmYmNlMTY4ZjljZDU3MzA4MThmNzUwMThjOCBsZWdhY3ktdHJ1bmsKKzMyNjU1IDUwODQxODk4Y2MxOWMwYWMzNTdkNTAxZjIwNjE0NzQ3ZWRkYTFiOWIgbGVnYWN5LXRydW5rCiszMjY1NiAwMTNkOTVjMzQ2ZDIzNTU0MzJlOGQxN2M2ZjU2M2MwNjM2YTM1NTNhIGxlZ2FjeS10cnVuaworMzI2NTcgYTA3ZGVmMGRjNzg1MWVhNDhjNWIxNmQ0YTkyZmNlODc3N2U0OWNiOCBsZWdhY3ktdHJ1bmsKKzMyNjU4IDMwNTVjOWJkZmY1ZjUxMTlhNjAyOGRkYzZjZGI3NjMwNmNlMjJkZjggbGVnYWN5LXRydW5rCiszMjY1OSBmOWU2ZjlmYjhkZjBjNWYyMDUyNDBkZGFiYzE3ZDdhN2Q4ZDJmMTNkIGxlZ2FjeS10cnVuaworMzI2NjAgYTNiMjYxMGI1MDQxYTkyYWFlN2QyNTFjZDVmYWZlY2RhOGIwY2M0NyBsZWdhY3ktdHJ1bmsKKzMyNjYxIGMyN2E2NGIzODc2MjdmMWJiZGRhNDMyZmQ1ZTYxNGNmMTMxZjQzYzUgbGVnYWN5LXRydW5rCiszMjY2MiBkMmFmYTAwYzIwZTNjNGZlNzI1MjBmYTRmN2E5ODcxNjc0N2EwZjRkIGxlZ2FjeS10cnVuaworMzI2NjMgOWI3MTY0Y2MwYzkyNjZlZDZlMjFjNWQzN2YxMTIyZTVlMjg5YzYyMSBsZWdhY3ktdHJ1bmsKKzMyNjY0IDA0NjEzMTYxYTMyYjZiYWZmYWMwNmYxNzNlZDA2NmM3OGMxYWU5ZjEgbGVnYWN5LXRydW5rCiszMjY2NSBlNjk2ODg4NmE5N2RhMTkwZjg1ZDEyOWIxZmNiYTkwZTk0Njg5OTYyIHJlbGVhc2UyMi1tYWludAorMzI2NjYgMTU3YTI5ZTE5ZWI5ZWM3OGMyNWEzMDlkMzVlNWM2YjMwNmMwMzdjNCBsZWdhY3ktdHJ1bmsKKzMyNjY3IDA2N2E5ODIzMjlhY2MzMzg2YTgwN2IzNjA3MmRhMTIzNjc3MmYxMzAgbGVnYWN5LXRydW5rCiszMjY2OCBlZWVkYWM0OWU4NmIzODhmYjIzYzE1MTM1NzE3MTZkNzRhNTc1N2UyIHJlbGVhc2UyMi1tYWludAorMzI2NjkgMTA5ODEwYTFhZGE4NjA2ZjI4MDMwYjNjZDc0MzlkM2NkNzg3ZWFlMCBsZWdhY3ktdHJ1bmsKKzMyNjcwIGQ0ZjY1NDRmNzlhY2U0NDFkYTdlYjc0N2RjNjdhMzMxYzliMzg2NTIgbGVnYWN5LXRydW5rCiszMjY3MSAxM2Q4ZjI5NzM3ZTVkZTI2ODI3NjZiZGJlZmE1ZmYyMTdjNTQyYzg2IGxlZ2FjeS10cnVuaworMzI2NzIgZGMzZjNmMzAzOGE4Y2ZhOTRmMThhZTJhZmE1Mjc3MTM5ZGJlMWVlNCBsZWdhY3ktdHJ1bmsKKzMyNjczIDA4OWYyNDIxZWIxOGEwYmFhODI0ZTg5NzI4YjBmYWNhNGYwMTM1NWYgbGVnYWN5LXRydW5rCiszMjY3NCAyZjY1MmE1OWViYjAxZjgyZGYzMWVlNzc1MjFjMWNhOTUxNDcyMmViIGxlZ2FjeS10cnVuaworMzI2NzUgMmY3NDNkZThjNWUyYTJiZjczYzdkMTQwYTI2ODFkOGNhNzg2YzMzYSBsZWdhY3ktdHJ1bmsKKzMyNjc2IGNiODMyYzJjZDU0ZDRhYTc5NzczNmE1YWI1ODYyMzFjYjY3Zjk5MmIgbGVnYWN5LXRydW5rCiszMjY3NyAzZjcwZDc1Y2QyOGRhY2JjNGM2MzQ4NDY4OTE5ZmU3MmVhM2UzZGZlIGxlZ2FjeS10cnVuaworMzI2NzggNGRlMDJmMThhNDFiNDJlYmFlY2I3NjRmZTQyMDIwNWJhMTc2NDc4MCBsZWdhY3ktdHJ1bmsKKzMyNjc5IDU3NGI5NTUxY2ZjOWU2MTlmYmUxNTMzNDQwMmZlYWUwMDM3M2JlZWYgbGVnYWN5LXRydW5rCiszMjY4MCA2YmJhNDhkMWNlM2JiMDY5N2I4ZWQ3ZDBlOGMzNjhmMWNjYWQ2M2M2IGxlZ2FjeS10cnVuaworMzI2ODEgMWMyZTYwM2ZlZTAyMzBlZDc1ZjY4Yjc4NzZhY2JlMmQ1M2I3ZDYyOSBsZWdhY3ktdHJ1bmsKKzMyNjgyIDRhZWFjYWRlNjYwMDliMTg2ZmI3MTliM2IwZmJlNDMwYjVhNTVlNTYgbGVnYWN5LXRydW5rCiszMjY4NCBkNWU0ODczNjJkM2FkZDQ5NjUwNTZkZGYyMmMwNmZkZDY5NTVjYjI4IHJlbGVhc2UyMi1tYWludAorMzI2ODUgZmIxMTdkN2Y1OTUwYzY0YjRlY2MwMjU3OGVmNTcwMDk4ZGZmMWU3YSBsZWdhY3ktdHJ1bmsKKzMyNjg2IDNmMjE0YzI2NGY2M2Q1YmM0MDA2NDcyM2Y1NDE2YTVmZmFlMGI3MjEgbGVnYWN5LXRydW5rCiszMjY4NyAxM2RiNWI3ZGUwZGRlNzUyM2VhMTVhNDA2NzczZjU2OGNlMDFhZjY4IGxlZ2FjeS10cnVuaworMzI2ODggNjU2NDkzNTM0Y2M3NzY2YWE2MWY2OTcyMzY0MjZjNzNmYWJiYmE3MyBsZWdhY3ktdHJ1bmsKKzMyNjg5IGUxZDVjYThhYjdkYzgyYzcyNjM5ODIxMTkzOGEyN2I3MmI1ZWI2ZjQgbGVnYWN5LXRydW5rCiszMjY5MCBjY2Y3ZTEzOGExMjZkZDMwZmNmMmM2MGY2MmEzN2ZhNjAwNzUxYmJhIGxlZ2FjeS10cnVuaworMzI2OTEgZGI5MDg0M2IwMGZjZGI4MzQyOGQ5NDllMzdiMGIzYTQwZGQ0OTMxMSBsZWdhY3ktdHJ1bmsKKzMyNjkyIGQzYzFhMDNhNTEzMDg5MDRmMzUzODliMmI3YzRmNzBmMTNiYzM2NjkgbGVnYWN5LXRydW5rCiszMjY5MyA1OWIxYjNlMmEyM2I1ZTk0YzAyN2FkOThmNzIxNGVkNTMyNzcwMjFiIGxlZ2FjeS10cnVuaworMzI2OTQgZWZmODZjZjhmM2JiM2U3ZWRiZTBiNDhjYjkyMzI5MGM4MzIxNjRlYSBsZWdhY3ktdHJ1bmsKKzMyNjk1IDgxMDg4ZGYwYjFkZjM2NDBlODliNGQ1Y2Q5NjQ1ZjNiZDgyZjlmZDEgbGVnYWN5LXRydW5rCiszMjY5NiAwNTU5ODc3YWRhNWNmMzA5YTYwM2RjZDk0NjU4NWYyOGMzOWYxMDI0IGxlZ2FjeS10cnVuaworMzI2OTcgOGU3OWRjMzczMWJmZmMyNmI5Y2E4ZGEzNmEwMzM1MzUzZjlmYTlhMiBsZWdhY3ktdHJ1bmsKKzMyNjk4IDQzMDAyMjMzY2MyY2RhMDE0M2Q5NGE2MzE4N2ZiYzE5NGE2MjYzYTQgbGVnYWN5LXRydW5rCiszMjY5OSBkZTU2NGE4NzMzZDIyNzUzZmU4MzA5MmQyYmVkZDdkNDRlMmZkNDQyIGxlZ2FjeS10cnVuaworMzI3MDAgNThjOGUyODQ1MWE5NzdlMGZhNGE2NzEwYzNhMzUyYjRjMjlmNGE4MCBsZWdhY3ktdHJ1bmsKKzMyNzAxIGQwNmFkYjVhM2NjOTZkZmZlM2JiOTBhOTk2NzliYmE0ZDdmZDc1NmIgbGVnYWN5LXRydW5rCiszMjcwMiA1NGYxZmZhMzc0MjllYWM3YTUwMTk4YzE1OWZjYWU5ZDk3N2Q3YmNlIGxlZ2FjeS10cnVuaworMzI3MDMgMDY0NDE5NzczOTU2YjcwOThiZDRjMzk3MzE4YzI3ZGFhN2FlYWI2MSBsZWdhY3ktdHJ1bmsKKzMyNzA0IGYyNzhiMjdlZjEwNWQzNGVmNDQ2YTQwZGZhMGJhY2Q2MzUxODI0ZTkgbGVnYWN5LXRydW5rCiszMjcwNSA3NzUwYjg0NjJhOGZjNDA4NmY3Zjk3ZTNmOGQ1NGU1NzA3N2ExMmRmIGxlZ2FjeS10cnVuaworMzI3MDYgMTQzZmZmOGQyMTg5OWQwOTNmZmM4NjJlMjhiYWE3MjEyYmRkZjcxYSBsZWdhY3ktdHJ1bmsKKzMyNzA3IGNmZmI1MTdmNGUxNWY5ZDZjODUwYzdjZTRkZjY2ODVmYjI0ODM5OGMgbGVnYWN5LXRydW5rCiszMjcwOCAyYjBjMGJkYTVjY2E3YjZlYTczNTMxNWVkZjBlZGZlM2VlY2I2YzcwIGxlZ2FjeS10cnVuaworMzI3MDkgNmRjODJkY2Y1NTg5MjYwMmQyNGZiODNkNzdhYmRkM2U1M2I1NzJiZiBsZWdhY3ktdHJ1bmsKKzMyNzEwIDQ1YmZhNmQ1OTFmN2NhNGE1MmFkNDk3MDBiMDI2OWMxNjdjMThjOTIgbGVnYWN5LXRydW5rCiszMjcxMSBiYWU2N2U0MTRhMTNhNDJmMDlkZWZjNjc1M2NmYTBlMDNjMzMwNGIwIHJlbGVhc2UyMi1tYWludAorMzI3MTIgZTA5Mzk5ZTNiMmMwOTBkZjQ5ZWMzYmRhNjRjNDUwMTRkYWJjN2Q5NiBsZWdhY3ktdHJ1bmsKKzMyNzEzIDkyZWJkM2RhZjUwNzJlZjMxYWI1ZGI1ZmQ2Nzk2ZDk4OGUzOGMzMjggbGVnYWN5LXRydW5rCiszMjcxNCA5ODM1YjQxMTMzYWMwNmU2OTY4YWUyNWQ4YWU0ZmRiZTk0MWY2YjJjIGxlZ2FjeS10cnVuaworMzI3MTUgMWJhYmJiNDkxOWE3ZjE3ZDJmZGJlOWFmNzAzYWE2NDUwMjY5OGZjMyBsZWdhY3ktdHJ1bmsKKzMyNzE2IGMwMTlhYTgyN2Y4NjA1Njk3NmQyOTEwMGVlMDAyODFmN2YyZDkzODMgbGVnYWN5LXRydW5rCiszMjcxNyBhYjdkYzUzOGY2ZjcyZDI4YTIxYjkyZWVjMDQ2YzU1ODczYjBiMWE0IGxlZ2FjeS10cnVuaworMzI3MTggOGU5MmYyZTJiZGE5ZjViMGMwZmIwYjhlMDUwZWEzMjk1Njk4ZWQ4YyBsZWdhY3ktdHJ1bmsKKzMyNzE5IGJmMTYzNGIwMjNkNWFlY2ViODQ4ZDlhNzE3YTIzOGU4YmE5YWI4NDcgbGVnYWN5LXRydW5rCiszMjcyMCA5MDM0MmYzOTU3MjFkZjY0ZTE5MGM2ZWQ4MWY5NTZmNWNkNGY1MTk5IGxlZ2FjeS10cnVuaworMzI3MjEgMDQwNjVjNGExYzZiNWFmZTUzOThhMDlhOTEzZTAzNjdiZWU5NzA0OSBsZWdhY3ktdHJ1bmsKKzMyNzIyIDFjODQ4ZTlmNjE2NjIzMWMwN2VjZGFmODUxNDBjYzMyODAzZjk2N2EgbGVnYWN5LXRydW5rCiszMjcyMyA1NjQ4OTcwYzY2NWYxN2YzOGQ4OGVlMjhiNTMyZWIzZmQ3Yzk5Y2Q0IGxlZ2FjeS10cnVuaworMzI3MjQgYjEwYTdmYWNjMWU4ODZkZTg0MjMyOWMxYmMzYTYzZmUxNGZiY2FkNyBsZWdhY3ktdHJ1bmsKKzMyNzI1IDg1ZjFhOTRhZjM3NDIyNmY0OTQ0MDk0MGU2MGY1Y2NiYjRiN2U2YTcgbGVnYWN5LXRydW5rCiszMjcyNiBjZDQ4OTAzZTQxYmVmY2RlMTYxNjY3ZjZhYjNmMTcwODNjZDZkYjU2IGxlZ2FjeS10cnVuaworMzI3MjcgYzRlOGM2NzIxZTQ1NjY1M2FkMTdjYjhhZDZiYmVkMDBkYjBlZjEyZSBsZWdhY3ktdHJ1bmsKKzMyNzI4IDk4OGIzZTgwNzA0MzZkZTIzYjU2NzY2OWNmODQ4NzA2NTJjZGNlODYgbGVnYWN5LXRydW5rCiszMjcyOSAzNWEwOWRjODA4NGM5ZDBhZWY5MjI5MTRhNTMxMTIwYmYwMzk5MzMxIGxlZ2FjeS10cnVuaworMzI3MzAgYWQ4NGZlNThlYzJmOGFkNzdiNjQ0YTkxOGM5M2E0YTk2NTJkZDljMyBsZWdhY3ktdHJ1bmsKKzMyNzMxIDc1NGM0MWJjYzgxYTJjODEzYWNlNTgwYTJlY2FlMmNlZWQ0ODg1OGIgbGVnYWN5LXRydW5rCiszMjczMiA3OGVmYmFkNTNkZDg2Yjc3YmEzOWY3OGE5NzhhZDViNTNlOTIzMDMyIGxlZ2FjeS10cnVuaworMzI3MzMgZjU3NzUxZmZkNmU3OGFiZWNjZmRhM2U2NWEwNTU4YzIwNDY0MjE1YiBsZWdhY3ktdHJ1bmsKKzMyNzM0IDQzN2JjZDUyY2MwNDVjZjYzNjYwY2JkYThmMDk1NzA2NTNiY2YzODYgbGVnYWN5LXRydW5rCiszMjczNSBmZjEzNmZlZjcyMzFjNDdmNDRmMDIxZTVkMGI2YzVlMjEzOWQ0YmJkIGxlZ2FjeS10cnVuaworMzI3MzYgNTQwYTc3MjAyOGQyNmE1MzljNGNiYzNkMGUzN2FkZGE1ZjkyMmM0YSByZWxlYXNlMjItbWFpbnQKKzMyNzM3IDcwN2U1Zjg5YzIxMWIwZDVlZjFlZmFiNmFhNWZiYmZkNjI1MjJhNDcgbGVnYWN5LXRydW5rCiszMjczOCBjZTFkN2UxMGY0OWU5ZDBjYTY2MzJhZTJmY2IyYTMwYzQ4ZjkwYjlmIGxlZ2FjeS10cnVuaworMzI3MzkgNWEwYmI2ZWFhNzc2MTg4MGE5ZDExYTQ5ODY1MTQ2YjE2YTUwOTg4YyBsZWdhY3ktdHJ1bmsKKzMyNzQwIDQzMmFkZDg0ZTA2MmRjYTk3YmNiZTcwMWI5YWU5ZTVmYWVjODFhYmMgbGVnYWN5LXRydW5rCiszMjc0MSA1MjZmMzdmYjM4MGQ4NjQ3MDRmNDVhMjhmYjBlODE2NGFjMjhlYzUxIGxlZ2FjeS10cnVuaworMzI3NDIgNGIyZTA1YzE3NTRlNmQzMzRiNzBiMjFiMTY5Mzc4NThhMTFkNGQ2NSByZWxlYXNlMjItbWFpbnQKKzMyNzQzIGE1NzFhOWQ2MjU3YTJhZDFhZDA1N2UxMzU0YmYzMWUzNjJiNmYyY2YgbGVnYWN5LXRydW5rCiszMjc0NCA1YmY5NjE4NmRiMzFjNTM5ODJlNDI4Mjk0MmE5ZTkyMWUxZDU1NjYzIGxlZ2FjeS10cnVuaworMzI3NDUgMjIwNjAwMDRiOTRhZWVmYTA4YTU5NTk2ZTExZjIwYWNkYWQxY2ExMyBsZWdhY3ktdHJ1bmsKKzMyNzQ2IDRhZTNjMmQ5ODg5MGJkODk3NDYxZGNiODdiNThmYTAwYzg2NzY5NDQgbGVnYWN5LXRydW5rCiszMjc0NyBhMWQ1NjMxOWVmMGViMzg0MDczMTNlMzQwOGIyMjhhMTY3ZTZjNDg4IGxlZ2FjeS10cnVuaworMzI3NDggMjJiODkwZDE1N2Y3ZGIxYjY2ZmMzYjViNzlmOGY3Nzc1YjNhNjAzYiBsZWdhY3ktdHJ1bmsKKzMyNzQ5IGM1ZTk2NTVlYmVkNzJiOTBlZDUyZmI3ZDRiYjY4ODI4OWMzZGM5OWUgbGVnYWN5LXRydW5rCiszMjc1MCAzY2Q1YWVjNTllZDIzZGE1ZWM2NGQ0MDE3NjE4ZmVhNzhhYjJiZTZkIGxlZ2FjeS10cnVuaworMzI3NTEgZThiNTcwOTA1MmUyNWEyZDAxMGZiZWQ1MDViMzlkYWYyZWM1MTA3ZCBsZWdhY3ktdHJ1bmsKKzMyNzUyIDI0ODA5NmE0NTczMmMxYTA1MTUzNTczMGY0NGUxMDkxNTRhODQzYmEgbGVnYWN5LXRydW5rCiszMjc1MyA1Y2U2Mjk2NDIxNTU5ZTFkNjJiMGVhYzhkYmIyYmRhOWEwNmE4NmVmIGxlZ2FjeS10cnVuaworMzI3NTQgMzRkNjNiOGMyNzViYjljMzA0MDdkNTVmZGI5YzdiOWEwM2ZlYmE2YyBsZWdhY3ktdHJ1bmsKKzMyNzU1IDMyZTcwYWQ3OWY2NmQwY2Y4N2I0OGZiMjM1NTA1YmIyMWY2NWQ3ZDUgbGVnYWN5LXRydW5rCiszMjc1NiA3YTFhZTQ3NWUwZGFkNWZmYTliOGU2ZDRmOTk0ZmFiZDY0Y2I3YjQ4IGxlZ2FjeS10cnVuaworMzI3NTcgNjRhOWUxYmUzMjUxM2Q1ODlmYTQwMThkNTQ2M2YxMTM0MTY4ODU1YiBsZWdhY3ktdHJ1bmsKKzMyNzU4IGE1ZTk5ZTdlN2ZmMDMzZGI4NWM1ZWNjYjVjYzgxMjRhMmQxMzZmNDQgbGVnYWN5LXRydW5rCiszMjc1OSAxOWM0MTQxODZiOWU1MDViMTcyNWY4MDdhMTFlMGZhYTcxNGY5MWU4IGxlZ2FjeS10cnVuaworMzI3NjAgOTFkZTNhMDkyNGEyOThhZDk1MjhiNGYzNTRhZDI4OTY4NWUwMWNmNSBsZWdhY3ktdHJ1bmsKKzMyNzYxIDkzYzkyZjIwYjZiZmI2ZGQwMjU2MzA1ZmMzMmNlODA4Nzk1MGU2NWEgbGVnYWN5LXRydW5rCiszMjc2MiBjYjAwMjU0NTE0ODJiYzM2N2JhZTNhOWUwMGU4MDhlNDE1MWY5ZjE4IGxlZ2FjeS10cnVuaworMzI3NjMgYzA2YmY2YjJiMTlkOTAyY2Y4YWI5ZWZhZWUxYzJiYWU5MWFiNzg3NyBsZWdhY3ktdHJ1bmsKKzMyNzY0IGQ2YmE4MTlhMmY5MDEzYjU4YWViODUxZmU3YzFhOTkyNGI0NGZlMGYgbGVnYWN5LXRydW5rCiszMjc2NSBmNGQ0MDZhY2YxY2EwYmQ1NGRiOGQ3OGYzYmVjY2E3NDNhOGVkNjE5IGxlZ2FjeS10cnVuaworMzI3NjYgODU0MDYwNDVmMDE0ZGQ5ZGRlMjg1ZTU4NzIyYzIzNjg3ZmE0MDdkOSBsZWdhY3ktdHJ1bmsKKzMyNzY3IDUyMzcyZGMxOTBmY2ZiZmEwNzVlNzU0NTJjYWMzYzBlNjU4ODhjNmMgbGVnYWN5LXRydW5rCiszMjc2OCA0YjAyMjAyNjBmNjJlMWY0YjY0OTQwYTljZWU1YzI4NjQ1MTk0NGZmIGxlZ2FjeS10cnVuaworMzI3NjkgNGY4N2E4NGU5YmViYjI5ZmIwZGQ4NzZmZDc5YzU0YmMwMDNlMDdjYyBsZWdhY3ktdHJ1bmsKKzMyNzcwIDI0Nzg2YzMxMzBjYTg3NmRjNGE1OWNlZGNhODk2OTgzZjU5ODVhYjcgbGVnYWN5LXRydW5rCiszMjc3MSA2YWMwYTY3MmIwODIxM2ZlZTcwODU4OTc0MGI2MThmZmZlOTQxZDg2IGxlZ2FjeS10cnVuaworMzI3NzIgZDdhYzFhNjQwZDhmOWMwMGNhNjIyMjRkZmJlYTg2MzVjYzAxN2VlOCBsZWdhY3ktdHJ1bmsKKzMyNzczIDc4NzVmY2FhZTdhMzcxMmYxZTRiZmY4ZTM3OGViZGY3MWYxOGI5Y2UgbGVnYWN5LXRydW5rCiszMjc3NCBhZGRkNDM3YmU3NDkyMTYyN2RjYTk4OTM2NWE2NzIzNjMxNjAxOThjIGxlZ2FjeS10cnVuaworMzI3NzUgMjlmMTk0NjBmMDY3ODU1YzZkYWQ3NGE1MmU4MGQ5Mjg0OWVmMDhkNiBsZWdhY3ktdHJ1bmsKKzMyNzc2IGM3ZGZkYTk5M2IyZmFlZGEzMmMwNzllYjE2OTJlYWM0NGI3NDllNWUgbGVnYWN5LXRydW5rCiszMjc3NyBjZmY2YjhmNDIyZDE3YTY2MGNhMjE3NWQxNzFkYjhhOTJmYzkxOWI5IGxlZ2FjeS10cnVuaworMzI3NzggN2Y1OWRjZThmOGMwZDQyNDkxMzFhMDI4ZGI5N2RiZjI0MzRiY2ZlNCBsZWdhY3ktdHJ1bmsKKzMyNzc5IDkyZTUzYzhlN2E3MjQzYjIxNDNmYTg3YWNkZWUzMTcwYmEzYWFjNzkgbGVnYWN5LXRydW5rCiszMjc4MCA2ZDkzMzMwNzc2MWMwMTU1OWY5YzBhNDIwYjZiOGEwNmUxZDIxODdmIGxlZ2FjeS10cnVuaworMzI3ODEgZTY2OTFjZTkxYjlmZDllNTk4OTdmNGRlZDI1YWYxYzA0ZGQwMDYwNSByZWxlYXNlMjItbWFpbnQKKzMyNzgyIDUyYWViYzE0MDA2ODdkMzQ2NjhhZmZlOWM0NzY1ODk1ZDg4MjYxNGMgbGVnYWN5LXRydW5rCiszMjc4MyBjZjMzODYzM2IwNzQ2YzBhZWJjZmEwMTU2YjBhNzg3ZDA5OTYxYTgzIGxlZ2FjeS10cnVuaworMzI3ODQgNGNiZjc3ZWRlZWQ1Mjc5MmIxMTczMzFiMzNkMDVmNGRjMDU1ZjhkNCBsZWdhY3ktdHJ1bmsKKzMyNzg1IDk4NzZiMThlZGNhYjQwNjA4YWFhZTY3YjNjMjQzOTVkZGE5YzVmNzggbGVnYWN5LXRydW5rCiszMjc4NiA2NmFhMTA1YzhkMTc5OGIxOTdiM2M3NjIyZDZhOWFjOWU3ZDJiZTI0IGxlZ2FjeS10cnVuaworMzI3ODcgNjBlNzNjNTA1Y2YyYzFjMjliNjE3ZTU2YzJlMTg0Zjc5NjdkMDExNyBsZWdhY3ktdHJ1bmsKKzMyNzg4IDUzZGQ4YzQyNjNmZDMxZGZhOTllMmU2YTU1MWQ3NTk4MTI1NDBkYmIgbGVnYWN5LXRydW5rCiszMjc4OSAyYzM1OTJkMTJkNjk0ZTNhYjgzNTE5NmEyMTVkMjEyMWVkMzMyNmJkIGxlZ2FjeS10cnVuaworMzI3OTAgYzFlODNiOGQ1YjcwZmVkZTUyYjU3MzIxYjk5ODMyZGY5NjU1YWZkOSBsZWdhY3ktdHJ1bmsKKzMyNzkxIGU5ZjlhMTk2ZmRlZmU0ZjcyZTg3NjBiYWIwNDE5NjBmNDYyNDdkZTYgcmVsZWFzZTIyLW1haW50CiszMjc5MiBjMzEwZjlkZGZkY2JkYjFhN2I1NTNiMWYyODA5M2U1YzI5YTM5NDM4IGxlZ2FjeS10cnVuaworMzI3OTMgYWUwNGE3M2JmOGZjMWJlNzEzMDU5NzAwYzAxNGYxZDg2MDY4YmUxMSBsZWdhY3ktdHJ1bmsKKzMyNzk0IGU1N2UyMmFhNTZhNDg2NzcwMzVkNGMwNTgyMjQ1YjRhMzRhZDg2YTEgbGVnYWN5LXRydW5rCiszMjc5NSBmOTM1MTJmMWUyMGZmMTZlNTVjNDM4YmE1OTBjNmEzOGY4YjI0OTlkIGxlZ2FjeS10cnVuaworMzI3OTYgNWRhMTk4NDgwYjZhNzZmZTM4YTFhNjZhNjFhM2QwMjc5NWRlYmJlNSBsZWdhY3ktdHJ1bmsKKzMyNzk3IDQzMzJmMjA1MzNmY2RmM2VhOTRmMjYwYzdiM2M4MDA0Mzc5YWNkYTIgbGVnYWN5LXRydW5rCiszMjc5OCA2OTMxNTVjZGFlMDNmODIxMGI0OTg1ZDg5M2E0NzEyMDVkODA5YTU0IHJlbGVhc2UyMi1tYWludAorMzI3OTkgZTZlMTAwZWZiYzdkMzFlYTQxYTQxYjQwN2JiZmRhMTNmMWNmNmI2YyBsZWdhY3ktdHJ1bmsKKzMyODAwIDJiZjI4OTA0YThlY2FhNTMwYTE1NzMyYzJmMTMyZDM5NmY0MzZhYmMgbGVnYWN5LXRydW5rCiszMjgwMSBiNjE5MWNhOGVkODA3MTU5MmJiYzhlMzJlMDQxZDc3MWJmMmJlZTIzIGxlZ2FjeS10cnVuaworMzI4MDIgYmM1MjE2ODk2M2IzMjFkMGNlOGFiZTEzNTViNzllMDU1ZTY0ZThmZiBsZWdhY3ktdHJ1bmsKKzMyODAzIGVmM2VmODhlMzYxNGY2YTEyNzBiYzNjMDg0OTI3NmQ3ZGQxZGJlMGMgbGVnYWN5LXRydW5rCiszMjgwNCA2YzMwYmIzZTMzMjU3N2M0M2U4NWRhYzVkYmUxNjY2NDZmMDM4MjE3IHJlbGVhc2UyMi1tYWludAorMzI4MDUgOGJlOWEzMTZlYjlkZTE2NWM1NDI4ZjdjMWFhZDY1NjkyNzk5OGM5NiBsZWdhY3ktdHJ1bmsKKzMyODA2IDI5ODJlNjE4MjU2NjFlZjFiOWI5NmMxMGI5MmNhMWRhNmY1MGQwZWYgbGVnYWN5LXRydW5rCiszMjgwNyAxNjcyMWQ3M2FkMjkzYmQ5MjcxZmU2YmE2ODYxNTcwMjExNmE1NWE5IGxlZ2FjeS10cnVuaworMzI4MDggNWU2ZDBkY2YxNTVmODczNGU4ZTBmMjRhMjdlYTYxMjEzMmJlNGU0ZiBsZWdhY3ktdHJ1bmsKKzMyODA5IDQ2ZmMzZjhlOWVlZTMzOWM1ZmM4MjM3M2YwMmZmNTkxN2MyMDBjZDMgbGVnYWN5LXRydW5rCiszMjgxMCA5ZDhkZTU2NWU1ZGVhY2RjN2M1MzU5YWVlOTEyYzkwYjQyYjdjMWExIGxlZ2FjeS10cnVuaworMzI4MTEgN2YwMDc0ZWU4YWI5OTUzMjk3ODE3OTJmOWNmNDkzMjhjZjQyYWYwMSBsZWdhY3ktdHJ1bmsKKzMyODEyIDAwMWQzYzdlOTYzNzBjNjVjYTgzZGRhYTdjZjAxYWFmYWNiM2Q1YTQgbGVnYWN5LXRydW5rCiszMjgxMyA1MzJkZTE5MzMyYTQ3OTMxMDc3OWIzOTg4ZmI5ZjVlNDlkZjBjMDk5IGxlZ2FjeS10cnVuaworMzI4MTQgNGMxZDFiMzU5ZjA2NjljOGE1ZmM1MTgwYmQ5MjEwZDQ0MTA3ZWIzYSBsZWdhY3ktdHJ1bmsKKzMyODE1IDFkNGVjNTJiMzE2YzBiODBkMmE3MjVmYTNmOGUwZWFmNjhhMmI2NTMgbGVnYWN5LXRydW5rCiszMjgxNiAzODRiZGEzNDM3MjVhMGRlZDBkY2RmMjgwMTdkNDZkYWNmOGNmZWI0IGxlZ2FjeS10cnVuaworMzI4MTcgMmJiNWNlZWY5YWMzYzJkMjIxNDdmYmJiMDdiYjFjNjg0MmE2YzA5ZiBsZWdhY3ktdHJ1bmsKKzMyODE4IDRkOTAxN2VmN2I1ZjMxMTA4OTljOWQ0NGEzYjRmMTYzZjEwNmRlNzIgbGVnYWN5LXRydW5rCiszMjgxOSAzZjlhYTZmMWFlZjA4YzRkMjJlNjIxODJmNjU5OTg4ODljN2U2ZjRmIGxlZ2FjeS10cnVuaworMzI4MjAgODliNGU4ZTJjMjMwY2JlODVmMDY0NDFkNGJkMGE2YjA3ZDQ1MWNmMyByZWxlYXNlMjItbWFpbnQKKzMyODIxIDY0M2YzYWM0MzBiZTg3ZGM0ZTEwYjk0NDczOThmYWMzNmExNTY1ODMgcmVsZWFzZTIyLW1haW50CiszMjgyMiA2NTQ1ZTc0OTg2MzVlYzIxOWRiMGIwZjY4ZTA3YWZjNmRhMmU1ODFkIGxlZ2FjeS10cnVuaworMzI4MjMgNDM0ZWYxNzRmNDc4NjIzODI5YjY5OTNhMDU3YTg3NzUwMTA0NDI3MCBsZWdhY3ktdHJ1bmsKKzMyODI0IGYwYjY3NzMxZTU0NWI1Yjk0NDczYzRhZDM3YzNiMmQyNGJhMTgwYzcgbGVnYWN5LXRydW5rCiszMjgyNSA5Y2YwOWY5MmIxOThiZWRjZWY4NDI3YWEwOGZjN2M3MTEwMDNkZjMzIGxlZ2FjeS10cnVuaworMzI4MjYgOWFlMTdiMzc3OWJiYjAyZDBmMjRhOWI0YjkzZjJmYmUwYzQyMTM0YSBsZWdhY3ktdHJ1bmsKKzMyODI3IDQyMWZmZDdjNTdhZmVlYTczODAyM2FkYzE1MmFlMTI4ZmMyNzI3MDAgbGVnYWN5LXRydW5rCiszMjgyOCBlZmU1ZGQ2MGNlZTg4YWJmN2NmNTg2ZGNhMmI0MWVhMDhkOWEyMGU5IHJlbGVhc2UyMi1tYWludAorMzI4MjkgNDVmN2RlN2YxMDUyYzhiMDFjZjZhZGNlMzQwMjAyZDg2MWY3MzYwYyByZWxlYXNlMjItbWFpbnQKKzMyODMwIDU3MGE3YjhhYTE1NDIxNjU2NWM3MmVmMzU3OWI1MTgyNmM2NGExYWMgcmVsZWFzZTIyLW1haW50CiszMjgzMSA0ZjUzMWNkZjI0MmU4YWMyZjkxZWNiOWU3M2RhZjA4MzQzNmFkYzUyIGxlZ2FjeS10cnVuaworMzI4MzIgMWRjN2MwYTAyMGQzZDdlMzViNzJhMTFiMDQ4ZWRmYTQ3NDg3NGJmZCBsZWdhY3ktdHJ1bmsKKzMyODMzIDZlOTVhZGQ5MmM5OWJhYjhmM2MwZmQ3MjExODc0MGQwMmJlNzNjMWEgbGVnYWN5LXRydW5rCiszMjgzNCA0NjMwMGI5YWYwMmI5NGRhZGNlNTIxNGJkOWU2ZDI3YWQ0ZDJmNmY4IGxlZ2FjeS10cnVuaworMzI4MzUgZjQ3NWJlYzMxNjk1NTE0NDVjN2ViNWQ4ZTQwOTY0M2JiZWIwMzlkNSByZWxlYXNlMjItbWFpbnQKKzMyODM2IDA1NGQ5YmMwZDg2MDhhYjczNDRkMDZhZDYwMWFkNzE2YzBkYTk1ZTggcmVsZWFzZTIyLW1haW50CiszMjgzNyBmMzljMjcxYTlhOGU2YzIyOGE0MTA5NDA0MmQ0NGM0ZGJiMWFkZWI4IGxlZ2FjeS10cnVuaworMzI4MzggOWFhMDZjYmQ5Y2MxYTMwN2M0YzljOTJkYzlmMzAxNjhjNjU2NTdkYyBsZWdhY3ktdHJ1bmsKKzMyODM5IGM3ZjZmNzM3NDNiMDhiNDhiMzNmYTQ3YzRhODc5ZGFiMDI3NTlhY2QgcmVsZWFzZTIyLW1haW50CiszMjg0MCAyYWFhMzllZGM1MTFlN2QzMDBiYTIxMzQ2Mzc3ZGMxODhkM2UxN2JmIGxlZ2FjeS10cnVuaworMzI4NDEgODk2YmJkMDgwNmU4ZjNmMjBiYmQ1NzgxYjcyZmYyYWZmMzlkYTIzYyBsZWdhY3ktdHJ1bmsKKzMyODQyIGJlZTNkMWExYjlhOWEzY2IxNTViNzY2MTU4MjhjYjUxZTY4YmY4MjMgbGVnYWN5LXRydW5rCiszMjg0MyA0YjFjMTUwZDA3ZDhjNWIwNDFiYjM1ZDVhZGI3MTAzYWY4YTQ2YzExIGxlZ2FjeS10cnVuaworMzI4NDQgMjI3YzY2NDZjYzZiYjViMWEyYjRiZWIxNWIxZWI4ZDZiMWU3YmUzMyBsZWdhY3ktdHJ1bmsKKzMyODQ1IDEyOTdkNDA1MTU1YmQzNmQxNTdlNmExZGNjYTdiOTcxMTkzZGU1ZjIgbGVnYWN5LXRydW5rCiszMjg0NiA5YjI0MjUwNmQ2ZGM3ZDQ3ZjNkYjhkNjc1YmU3MzI3NjM0MzJkZDlhIGxlZ2FjeS10cnVuaworMzI4NDcgZDY2NWM2Yjk4Y2QyNDFiYTY3ZGFhYTYyYWZhNWI1MzdkNzU5MTczOSByZWxlYXNlMjItbWFpbnQKKzMyODQ4IDgxMjk2YTgwYTE1ZjJlMjA1YjdjOWQzN2I3YjRlMGUzNDM3MTUwOTcgcmVsZWFzZTIyLW1haW50CiszMjg0OSA2ZDZiZGEyNTQ5YjZiZDQ2MGQ1YjM0ZjBlNGVmYjI1Yjg5NDY5MDAyIHJlbGVhc2UyMi1tYWludAorMzI4NTAgYTkyMTBiZWMzYjVhZjkyNzQ5MTY2NzI0ZmNjMTMwODkzYWNiZjQ1OCByZWxlYXNlMjItbWFpbnQKKzMyODUxIDBhOTdhZGM2YTQ3ZWIyNDVjYzlhN2VjMjJiNGUyOTQ3NzNmYWZhMzIgcmVsZWFzZTIyLW1haW50CiszMjg1MiBiOTc2MmYwMDNmMzA4ZDE3NTI3MzFhZTNmYmJlZjMwZjFjZjFmOTdmIGxlZ2FjeS10cnVuaworMzI4NTMgY2QxYzgyNmM5OGEyYmZiY2U0YWFlZGI1YjFmMDA5Y2IzYmRiMDc1ZCBsZWdhY3ktdHJ1bmsKKzMyODU0IDM2MWZhZDYzMzMyZGQyNDkwNWQyMjgzOWYwZmI2NjJjZGRkZDlmNjkgcmVsZWFzZTIyLW1haW50CiszMjg1NSA3NTRmZDM0YWQ5Nzg0ZTJjNzdlNzE2NzliNWM0NjZmZTNmOTIwYTZjIGxlZ2FjeS10cnVuaworMzI4NTYgZjZlOTFjYTU2YTQ5OGM3ZjYwYjU5ZmQ3ODIwYzIxY2RjYjg4MTcxYiBsZWdhY3ktdHJ1bmsKKzMyODU3IDMxNWE3NDcyNzdiZmU3NmQ1ODM5NTM3OGU5ZTEwNGI1OWFhMGI0NzYgbGVnYWN5LXRydW5rCiszMjg1OCBiMWY2NDM2OTBhODg3Y2UyMWVkZTY4YjJmMmU5YzE3NGJiYWZmMTU2IGxlZ2FjeS10cnVuaworMzI4NTkgNTZmZmNhMDJjODI0M2IzNTFmZTc0MjQzMmYxOTVkNjhmZWU2NzM5NiBsZWdhY3ktdHJ1bmsKKzMyODYwIGU3MDk0MzkzMzczOWVmY2E2OTA2NGUxZWQyYjAwODI1MGQ5ZmI0NmIgcmVsZWFzZTIyLW1haW50CiszMjg2MSA1ZWNjNDhhZDY2MzQwMDBlN2VkNjNjNDA1YjFmNWI2ZmMwMzYzZTYxIHJlbGVhc2UyMi1tYWludAorMzI4NjIgZmY5YmEzZDFlMjgwY2M2MjE3M2M0OGFlMmU2YmJlZGM0MWFkZDY3NiBsZWdhY3ktdHJ1bmsKKzMyODYzIGRhMmM1ZDlkZDYwZTA3ZTMzMzQzODI4MzJlYTc3MWM2MjE4MGMwZDEgcmVsZWFzZTIyLW1haW50CiszMjg2NCAzNWIyNzY5YjAyYjYzNDA5OTg2NTIxNzIyMTQ5YmIwMjQ5M2M5ODRmIHJlbGVhc2UyMi1tYWludAorMzI4NjUgZTVhZmYwNjAzN2I3OTRlNmVlYTg2N2IxYWQzZWQxNzhkOTU5YzA2NSByZWxlYXNlMjItbWFpbnQKKzMyODY2IGQ5Y2Y1MzZjNTM0MGNlZGRlN2Y1N2U3ZmVmNDJhZGFlY2VhZjI1ODkgbGVnYWN5LXRydW5rCiszMjg2NyA1ODRkYzQ2Y2EwNjZkYTAzODNjMmRkZTY0ODgwZTIwMTgwNThhOGJmIGxlZ2FjeS10cnVuaworMzI4NjggNjQ2MjIxNmZlM2E4N2FiYzBhZDU5NTE5NmFlMmJjOTNkZTE2ODM2ZSByZWxlYXNlMjItbWFpbnQKKzMyODY5IDRiYWM0ZDBkM2UzZWQxYjI4ODc3Yjc5NTM2Y2MwZjUzYzdkYmY4Y2QgcmVsZWFzZTIyLW1haW50CiszMjg3MCA2OTk3NDY2MzMyNDZjNzI5NmU1MjJkNmVkYzA0NDMyZmI3ZTNjMjY1IGxlZ2FjeS10cnVuaworMzI4NzEgZjA1YmFlNDEyYjcxYjI0NTcwN2YwMzcxMjFlMWE3MWM5YTFjNjJhNyByZWxlYXNlMjItbWFpbnQKKzMyODcyIDk4NTY3MDY1MDY0YjdiYjU5N2IyMzEwOGQwOGMyMGM2NmZlNmUyNDkgcmVsZWFzZTIyLW1haW50CiszMjg3MyAwNTIzZjA5YmIzNDg2NzU2YjdlZTllMzIwYjQ4MjE1NjU2NjliZWVjIGxlZ2FjeS10cnVuaworMzI4NzQgODU2MGIxNDZmNDFmMWQwN2MyNjcyNDIzNDk5MWI2NTUyMGYxODc5YSByZWxlYXNlMjItbWFpbnQKKzMyODc1IGYxNTYyNmM3NjQxODY3MzllNzE0ZGI5ZDExYWY2MmVkMzFkOTY4OTkgbGVnYWN5LXRydW5rCiszMjg3NiAyN2VjMTQ3MWRjYjZhOTJmMmExMTkxMTVhNTg2MDY1ZmFjNjM2ZjJjIHJlbGVhc2UyMi1tYWludAorMzI4NzcgZWEyOTU4YmQ0MjcxZmYxNjYzNjJmZWE5ZDVmOGQ2MGM3MzVhYTgwMSBsZWdhY3ktdHJ1bmsKKzMyODc4IDg1OGQ1NjhlYmY3NjMxMTA3YTFlZDE4YjQwYjNiMTBiZmE1YmUxZGEgbGVnYWN5LXRydW5rCiszMjg3OSBmM2YzMDY0NTdiNDMwZWExOWQ3ZGU3OTQ2YjdiN2JiODUxNDUwZjA5IGxlZ2FjeS10cnVuaworMzI4ODAgM2FhZjI0Yjk0OWRmYjYyMDkxNWM2OTA1M2M4ZDY3Y2M3ZGM1MTM1OCByZWxlYXNlMjItbWFpbnQKKzMyODgxIDA1MmM2MjYzZGYyNjlhMjY0YzIxODRmZDgzOGNiNmRhNDNlMjYzOTEgbGVnYWN5LXRydW5rCiszMjg4MiAxMDhhMTAwNmE5MDUzYTRmYzM2YzExMjA1YmU2ODE1MzYxNzA1ZGFjIHJlbGVhc2UyMi1tYWludAorMzI4ODMgZjdkZmFlYWE0YWI5ODhhNTQ2YWVlMmE4ZGIxYWZlZWIzN2Y5NjdkMCByZWxlYXNlMjItbWFpbnQKKzMyODg0IGJkODIxNjFiNjFlNTU2OTQ2YjI0OGEyMDkzNmNhNzU5YzZjZTZlNzEgbGVnYWN5LXRydW5rCiszMjg4NSA2N2Q1NjBkNjA4Y2VkNzZhZmUxZTFiNDU3MmRiZTIzNmQ5NmE2YTJkIHJlbGVhc2UyMi1tYWludAorMzI4ODYgODU2YzgxZjcxMjEzZGEyM2U5NjA0ZmJjOGVmOWZhZTkxZDliNzAyMCByZWxlYXNlMjItbWFpbnQKKzMyODg3IGVhZjkwZTg1MGQxMmU5ZmYxMDdiNWZiMmQ0NTQzNGY3OWY3ZmJlMjAgcmVsZWFzZTIyLW1haW50CiszMjg4OCAzNzdhMjlmNmQ2ODc5M2Q2ODdiMTk3ZWY3ZTMyYmQxODM2NDcwMjNmIHJlbGVhc2UyMi1tYWludAorMzI4ODkgZjNkMWVkMTQxMTg4MmQ1OGUxYzk5MjkxNTcyMDA5NTg3NjgxNmFkMSByZWxlYXNlMjItbWFpbnQKKzMyODg5IGFjNzdiOTEzNDI1MzRkMDliMWU0MzJlMWRjM2I3MGRiYmVjM2E5MTkgcmVsZWFzZTIyLW1haW50CiszMjg5MSAwNjg1MjlhOTA5OTI2ZDRmNjAzY2YwYjZkNmEwZDRhMzM0NGFkZGZmIGxlZ2FjeS10cnVuaworMzI4OTIgNzUyZmM1ZWExNmI5YmQxM2ZiMTY0MDFkMjYyMGFmNTU5OTA5MzViYyBsZWdhY3ktdHJ1bmsKKzMyODkzIDM1ZDcwMGQ5MDE1ZTA1ODg4Y2IwY2Q5YjY3NmI4NGFiYjZlNWY2ZjkgbGVnYWN5LXRydW5rCiszMjg5NCBlNzIxMDI1Y2NhMDkzOWZhNjVlMmMzNmRjMjY0MDRmZjQwZGZlNjlmIGxlZ2FjeS10cnVuaworMzI4OTUgMzg3ZDdjMjIxNmExNjliNmM2NmQ4NGY4ZTQxYjIzNDhjZmE2MzBjYSByZWxlYXNlMjItbWFpbnQKKzMyODk2IGQ3MmFkMDdjNzM5ZWEyYzhlMzU2MDFmOTc2MmY5MzJjNWU5NzY1MmIgbGVnYWN5LXRydW5rCiszMjg5NyA2NDIyN2Y4ZGU3ZGFjMTA1ODQwNDQ1NmNkZmU0Y2UxMTNmNDUxNmYyIGxlZ2FjeS10cnVuaworMzI4OTggMjNhZDhiNWQ3YjRhMGVmMzY4OTc0ZDMwNmUxNmU5ZTRmMDViNDhkNiBsZWdhY3ktdHJ1bmsKKzMyODk5IGNhMGM4MTM3ZGU4NDQ1NWVhZmUxOTI0ODUzMjE2NjdkNzFiMGNkZGEgbGVnYWN5LXRydW5rCiszMjkwMCAzOWI4NzE2Nzg0Njc1M2QyMjU1MDMxMGU4ZTViOTg3ZGRlMjZjMDA2IGxlZ2FjeS10cnVuaworMzI5MDEgMWMzMmQ0MjA3NDA0YTg2NDQ1ZjE5MGUwNDRmMTcxYjc1OWY1NmI4NSByZWxlYXNlMjItbWFpbnQKKzMyOTAyIDJmNDI4NzVkOTM3ZjI0ZDU0ZDc5OWFmNzczMjlkMzE3ZTFhY2RjY2QgbGVnYWN5LXRydW5rCiszMjkwMyA4OTNhZTUyNjY3NzY1M2YzMGEzNWVkYWViNTczNDQ1OGJlMDE1MzhjIGxlZ2FjeS10cnVuaworMzI5MDQgMzQ2MDlmYTM1YjExYzE3ZmI1M2E1MzQ5ZjIyMGUwNDA5ZmJmNzg5OCBsZWdhY3ktdHJ1bmsKKzMyOTA1IDNhOGIxZDE2YjdjNmNkY2RiNTUyYWQxNGRjZmVhYzcwODY1ZWIzZjEgbGVnYWN5LXRydW5rCiszMjkwNiAwYjc2Njc5YmYzZjk4Yjc3NDFjZmE4ZTg2NTJkNjk1NzU2NjM0MmY4IGxlZ2FjeS10cnVuaworMzI5MDcgYjRjOTJlOTgwM2E2MjEyMzRkYjZlYjQ5YzZmMjRkYzczZjZiMjA2YSBsZWdhY3ktdHJ1bmsKKzMyOTA4IGJlNzBiODQ3N2Y0M2QwOGE2ODI3OTgxOGFmOGEwYjY4ZjRmZTZlZTYgbGVnYWN5LXRydW5rCiszMjkwOSAzNjg5YjAwNTVjMmRiMjI5NmE5ZTlhOTk3YWMyYTUwNTE5MmRjZmYzIGxlZ2FjeS10cnVuaworMzI5MTAgYjkwOWZkZjBlZGY4ZGRlMGM2NzgyODU3NzA5YTJjMDMyN2YxZDVlYSBsZWdhY3ktdHJ1bmsKKzMyOTExIGRlYTM4MTE2YzM3MzUyNmRjNDY2ZTFjNzI5ODYxNTA3MWRiN2NhNjYgbGVnYWN5LXRydW5rCiszMjkxMiAxOGMwMjA0NjM5NjVkMDI5ZGY3YzEwM2ZlMzBkNGM4ZGY0OWQ2OTc2IGxlZ2FjeS10cnVuaworMzI5MTMgZjFlNTY3NDg1MTk0NDhiYzljMDRjMjAyYTRmM2JjZjY2MjljZmFjZiBsZWdhY3ktdHJ1bmsKKzMyOTE0IDE2MWYwNWY0NjgwZDlkM2Q4Mjc3NWZjOWM5MWExMmYwNDY3ZThmNjcgbGVnYWN5LXRydW5rCiszMjkxNSAzNGY0MmUzNDUwYjRkNjJjMzk1MmU5NjhlZWZiODhmYWU5MmIyYjZiIGxlZ2FjeS10cnVuaworMzI5MTYgN2VhNTUwZWNmNDNkNzRlZDQzM2I1Mjk4ZGFkNTJiY2MwMmZkNWI1YiBsZWdhY3ktdHJ1bmsKKzMyOTE3IDQ1YzZiZTM1NzMzZmRkNmFmOGJjYWQ1Yzc2OTllNzBhMTM4YWE3YmMgbGVnYWN5LXRydW5rCiszMjkxOCBhOWQ3NzhiZDk2NTM2ODgzM2YyOTdjZGNmZDhhYWM2OWYxMDdjNjQ5IGxlZ2FjeS10cnVuaworMzI5MTkgNzRkYTRkMmVhYWQzNjc5YmVlNzVhNDc2NWIxNDAwMGIxMTI5ZGVmZCBsZWdhY3ktdHJ1bmsKKzMyOTIwIGQyM2U5MzIwZDM1MDAyZDY4YTk4NWFmMTEzMjE4MDBlNDUxNWI0ODYgbGVnYWN5LXRydW5rCiszMjkyMSAzYzRkOTVhNGNlMTc3ZTdiYmQ5ZDgwMDZkODU3NTdhNjNkN2VlMDRmIGxlZ2FjeS10cnVuaworMzI5MjIgNzg4N2ZlM2E5YThmZjZhOWE3YWQ4MjE5NDBmNTZmNTY1ZTNiZDY0OCBsZWdhY3ktdHJ1bmsKKzMyOTIzIGM1NjMzOGUwODdjYWNhZjhjMDQxZjZiZDBiMDFlMmEyMGUzNTQ0MTEgbGVnYWN5LXRydW5rCiszMjkyNCAwODYzMDkxOWJmNTJiMmVjOTM0YzEwOTZlZTExODRiNmIxYjQwOTdiIGxlZ2FjeS10cnVuaworMzI5MjUgOGY3M2RmMDk5OTY3MzQwMmEzYmMwMGMxZThlYjg2MzdkNmMwZmQ1ZCBsZWdhY3ktdHJ1bmsKKzMyOTI2IGI3Y2QxZmYwMDE5YjlhZGVkYzMyOTZhMjY1ODhmM2U2MzJlOWY0NjYgbGVnYWN5LXRydW5rCiszMjkyNyA4OTc4MTIzMThmZjQxZDQ5NzAyZDg1NzhjMDA4ODdkMmQ3MzdkMzAzIGxlZ2FjeS10cnVuaworMzI5MjggZGY4MGE1YjY5NTdiNWVlNWE3MjYzY2JjZjY4YjM0MTIyNzIyYTEyMyBsZWdhY3ktdHJ1bmsKKzMyOTI5IGEwNDNhZjYwOGU5NGNjNzMxMTI3OTg1OTVhM2EzOWNmY2Y4MDE5MmQgbGVnYWN5LXRydW5rCiszMjkzMCBmZWM3ZjMzYjY5N2MxODVhNjhlODQyMWNmYjJmN2I1YjVlYTgzMWZmIGxlZ2FjeS10cnVuaworMzI5MzEgNjY3MzA1M2VkYWQzZjNkOThlYjMxMjkwYTA4NDNiYTQwY2Y2OTgwYSByZWxlYXNlMjItbWFpbnQKKzMyOTMyIGNmYmE3NmY3NzY0MzU4ZmYyNDkxZDUxMzU1NzJiZDUwZDNiNGIzNWMgbGVnYWN5LXRydW5rCiszMjkzMyBiMzcyYjkwM2QxMGU3YWRkMzI5M2E5NzdjMGU5MTg3MzU0ODRkZjNhIGxlZ2FjeS10cnVuaworMzI5MzQgOGYyYzVjZjYxNzYzOTA2YzMyZmM4ZDY4ZGVlYTZiZDcwZDUxOWJkYSBsZWdhY3ktdHJ1bmsKKzMyOTM1IDQ5OTJjNjBkNDIyYjI4ZDFmZWI2YjMzYWJiOGY1YWNkMTY2NTU0YTUgbGVnYWN5LXRydW5rCiszMjkzNiBjMzI1ZThmMjBkNmU5NDA5NWYzMGUwN2E1MDgwZWE1MjMxNGJjN2M5IGxlZ2FjeS10cnVuaworMzI5MzcgN2YxMzBhNDM3MGM5ZTM0YzY1ZmU5ZTE2YWVkM2VmZmQxYThjOWQxYSBsZWdhY3ktdHJ1bmsKKzMyOTM4IDhlZWIxZGY2OWYzNTc1MTc0M2FlMDdhMTRlODcwNjgyOTY0ODBkNjcgbGVnYWN5LXRydW5rCiszMjkzOSA5NDlmNDE4MjlmMzZmNGY3ZDNmYWY3ZDk0YzUzMjZmYTQ4ODgyNDIyIGxlZ2FjeS10cnVuaworMzI5NDAgYTVjOGVjYTU0YWViMDFmMzMwNmU5YmRlZDgyMTc1ZmE1ODI3ZDhiZCBsZWdhY3ktdHJ1bmsKKzMyOTQxIGRlNDFmM2NkNjQ3NDQ1MjE0ZmNmM2ZiYjc5OTJjMzFiOTZmYTM4ZDMgbGVnYWN5LXRydW5rCiszMjk0MiAwNDM3Y2Y0YjllZWMxZTJmMDIzMzQyYzlhZTZlN2IzY2I0ZWQxYTdlIGxlZ2FjeS10cnVuaworMzI5NDMgODExYWQ1ZjJmNzAxNGMxMWZlY2E1N2IyYzk3MzkwNWMyN2RiYzc0MCBsZWdhY3ktdHJ1bmsKKzMyOTQ0IGI1YmFkZDNhOGQ0ZjM5MThmYzhhYzVlMDMwNjg5NTJmOGJhNzk4N2IgbGVnYWN5LXRydW5rCiszMjk0NSA3MDYyNmM1NzNlZDcxZGQ5YjZjMWNlMjVkZjdmNDQ1ZmUzMGQxNTE4IGxlZ2FjeS10cnVuaworMzI5NDYgMjE0NTFmNzYwNTk2MzFjY2E5NWYyZTVmN2FkOWQ5YTdiODU4NzIzZCBsZWdhY3ktdHJ1bmsKKzMyOTQ3IGU4YzRjMTVmNDU5ZTM1ZWMwYzg4YzU1YjY1MmY0Y2U3MTQzMmRhMjkgbGVnYWN5LXRydW5rCiszMjk0OCBiZDM0OTk5OWNiMDgyODg5OGQ4MGViMWRjYjVkZGVlYjhhMGQ2MjVkIHJlbGVhc2UyMi1tYWludAorMzI5NDkgZDQ2NDU5ZDgyYTc5Mjc4ZTU5Mzg0NmFmOTIyMDY3ZDJjZjFlNzI2NiBsZWdhY3ktdHJ1bmsKKzMyOTUwIDdmN2EwNzgwNDZmYjVjMTBiZjMxNzcyNzUzNDc0OTA0NzJkMTYzYjUgbGVnYWN5LXRydW5rCiszMjk1MSBjMWU4MGYyZjFjNDcxYTIzY2Q3NjZiNjE2M2U3NzkzZmM1ODYyZTNjIGxlZ2FjeS10cnVuaworMzI5NTIgYjU0NzhkMWRkNjdlZGQ5ZDY2ZThhZDBlOWQ5ZjY0Y2JkYzJiNzAyZSBsZWdhY3ktdHJ1bmsKKzMyOTUzIDBiZWIxYTY1MTQ0MzU4MDJkMDMxMzRjYTA3YjUwYWIwOTMyNzA1N2UgbGVnYWN5LXRydW5rCiszMjk1NCA3MzI4MzY2NjYwMDAzMjNmZWY1MjM3NzUyMWE2NmRlMTY5MjViYjE0IGxlZ2FjeS10cnVuaworMzI5NTUgOThhZmZkYmM0MTZjNDEwOTk0ZDU1OGQ1MDY2NzcxYjdlNWMwZDVjMyBsZWdhY3ktdHJ1bmsKKzMyOTU2IDA4YTFjYmRkMDM2N2ZkMDFiMjczOGNlM2VjNWJlNWEwNzY4ODcyZjEgbGVnYWN5LXRydW5rCiszMjk1NyBlM2FlZmViYTQxMTYwOWEyMmM3NWY5MzcwMTVhNGIxZWFjYzhlZWNjIGxlZ2FjeS10cnVuaworMzI5NTggOThkODE1OTllY2E3NGVjMzNlYmZkYWJmZWQ5N2UzMGVmYjI4NzQxNSBsZWdhY3ktdHJ1bmsKKzMyOTU5IGMzYTAyMDc0Y2JlZTliNmFlODM4Nzk4MDYyOTViMDg2MDc3ZjdiY2EgcmVsZWFzZTIyLW1haW50CiszMjk2MCBlNmY4ZTI2ODdjNmZkNTc1MjRlYTZkNWQ4YmE2OWMxMTUzMjkzYTIwIGxlZ2FjeS10cnVuaworMzI5NjEgNjQ2OGYwZTFmNGE4NWJiZWRiZjRjNTM5NTJjYmZlN2IyYWViMWZmYiByZWxlYXNlMjItbWFpbnQKKzMyOTYyIGFkMWU2N2FjNTY3Yjg3Mjk5NGNiYTllNmM4YzRhMGRhOTM1MTJjMzYgbGVnYWN5LXRydW5rCiszMjk2MyA0NjI5NGVkZGJhNTUxM2JiYjU0MTViMzJhZTg3ODE1NTNiOGI0MTQwIGxlZ2FjeS10cnVuaworMzI5NjQgNjcxZTljM2FmNGYzODVmYjg4ZWRlN2U2NjdjZTFiZDY0ZTc1NWU3MiByZWxlYXNlMjItbWFpbnQKKzMyOTY1IGVkNzA3NzlmNjQwMjFjOTBlZmJmYzAzODc1MjJhNWNlMjIyNTFjZGIgbGVnYWN5LXRydW5rCiszMjk2NiBiMTc5MmE2MThlNmRiY2JlMTFlNDA3NjNkYWVkMmViZDhlZjAxMTM5IHJlbGVhc2UyMi1tYWludAorMzI5NjcgZGJjZTU1NmNmYzk2ZTkwNzA5ZjQ0NjM0MDc0NDYyODAxMzhkYjJlNSByZWxlYXNlMjItbWFpbnQKKzMyOTY4IDUxY2U2OWJkZjQxODZlODIwMTQ3OTQxZGU0NzEyOTI1YTUwNGNjNDMgcmVsZWFzZTIyLW1haW50CiszMjk2OSBjMjkxY2EyOTQ5ZTkyNjQxZTZjZmFlMmM1ZDY4ZjA3Y2ZjYmU4MGZkIHJlbGVhc2UyMi1tYWludAorMzI5NzAgMjcyYzc1YjFkMjJlYmIwNWZjN2JlMmIwNTc3ZWEwODk0NmVkYmQ3MCByZWxlYXNlMjItbWFpbnQKKzMyOTcxIGY0NGZiZjc0ZWI2MWRjMjhjMTdmZjg0NTAzMzUyNjlhZmI4ODZkMDcgcmVsZWFzZTIyLW1haW50CiszMjk3MiBmN2Y0NmQ2NzNjNjFjNzJjYzhjZDA5M2MwMTdmZTBmZmQ3NGYyZTIwIHJlbGVhc2UyMi1tYWludAorMzI5NzMgNjVmN2VmZDM1ZjExOTAxYzcwZjVjOTdiMmE5ZmRkNzNmM2EwMDNhNSByZWxlYXNlMjItbWFpbnQKKzMyOTc0IGIzMWM4NGJhMWYzMTQ0ZjUwNDc1NjVhZjQzNzExYmQzYTBhNmM0MmMgcmVsZWFzZTIyLW1haW50CiszMjk3NSA3NzQ2MjY5Yjk1MWNkZDYyY2Y2OTA4YmNhNGIxMjc1ODA1ZjdlMTAzIGxlZ2FjeS10cnVuaworMzI5NzcgYmYyZGMwZDE3MTQ4ODI3ZDYwYTZmZDJjNjlmZjViYmRmNDgzNmJjZiBsZWdhY3ktdHJ1bmsKKzMyOTc4IDEyZjllYTMyZjIzYTUyOTcwYmI0NTllZjI2Njk5YTczYmRlMzBmZTggcmVsZWFzZTIyLW1haW50CiszMjk3OSAwMDhjZDEwMTI2OWRmNjgyOTY4MDRmMzE3NGJjOTUyYzcwYjRjMDIwIGxlZ2FjeS10cnVuaworMzI5ODAgN2JlYzYyODk5OGZlOWU3NTcyNjdlNTZhYmRlM2RiYTY4MDY1ZmU4YyBsZWdhY3ktdHJ1bmsKKzMyOTgxIGU5NTBhYmMzMjkyMjdhYjY4MDA1NzQ3MTAwZGNlYTY3NTA5MDQyNjQgbGVnYWN5LXRydW5rCiszMjk4MiAzNjgyYWEyNzE0MWI0NDIyY2U2YWVmOWVmZTljOWJmNzQ2OWU0NGM1IGxlZ2FjeS10cnVuaworMzI5ODMgODcwMGExYzcwMTZiMTBmMDk4OGQ5YmFmMzY0MWFmYmRkY2Q4NzUyZSBsZWdhY3ktdHJ1bmsKKzMyOTg0IDYzYWI1MGVjNGE0NjYxNWFmMGQ0Njk1NzE2ZmM4OGEyYWM0NjUzZGEgcmVsZWFzZTIyLW1haW50CiszMjk4NSBlNDU4M2QxNjZjYmNkNzk4NmJhMWI0ZTJhMjEwODEyOGUxOWVjMDgyIHJlbGVhc2UyMi1tYWludAorMzI5ODYgMjlhYjFjOTIzZjc1NzEwYTJiOTRkZjM4MWE3YTIzMDc0ZTBmYzJhNyBsZWdhY3ktdHJ1bmsKKzMyOTg3IDQ3YzcyNWEzMmIwZWMxMGY4YWFlN2U3MDdjMWE2N2Y5YTQzYmQ1YmEgcmVsZWFzZTIyLW1haW50CiszMjk4OCBjMDAxYmIwMDA1NTgwZDJhNTY5YWIyZTcyZWRhMjI3YTZkNWZjMDdkIHJlbGVhc2UyMi1tYWludAorMzI5ODkgODNhMmU3MTMzYjAxMDU1M2I1NDc1NjA1N2NjNzgzMTE4M2RjYTVhMiByZWxlYXNlMjItbWFpbnQKKzMyOTkwIDg5MGNkN2EyMjIzZWZiOTY4ODQ2MmJlZTRiNGNkNjhiZmJmNTlmNzUgcmVsZWFzZTIyLW1haW50CiszMjk5MCBmNGYxMzRhZDQ2YWJkMGJjOTczZDNmNjA5NGVhNTZlNjJhYzVjNDkyIHJlbGVhc2UyMi1tYWludAorMzI5OTIgZjk0OTU4MTVjMThmMzE5ZDk2MjlkZjRiNzQ1NjI1OWQ2NDZiN2UwMyBsZWdhY3ktdHJ1bmsKKzMyOTkzIGY0MDliMzNjMjljZTQ5MjAwZTMxOTgxNzNjMzc1MjUwMzUzNDE3MDQgcmVsZWFzZTIyLW1haW50CiszMjk5NCBmYzI4NmUyODU1NmY3ZDg2ZGZmOGZmYmMyMDVmYjM3ZWU4NWUzNzIxIGxlZ2FjeS10cnVuaworMzI5OTUgYzY5YWQ5MjI3YWZkNGY5MzFiNzRjYTU2NjAyZmVlZWQyMTdkZmM5YSBsZWdhY3ktdHJ1bmsKKzMyOTk2IDZhYmNiNjkwYjQ3YjU0YTdhOGI1ODViYjIxNGM5NGEwN2M4MzU1ZjEgbGVnYWN5LXRydW5rCiszMjk5NyBkODljMDgzN2Y4ZjQxODMxNTVkMjU0NWZkNTVkODAyNjRlZThiNGMxIGxlZ2FjeS10cnVuaworMzI5OTggZTRmNzBlNjAyNTk4ZDQ4YmEyYjQyOWQ1NzViZWRmMjMwMmI3YjdiYiBsZWdhY3ktdHJ1bmsKKzMyOTk5IDk3ZmQxZjQ5ZjAyNmFhNTA0YzVjYWY3YTA4Njc5Y2U2NjllMzEwOGYgbGVnYWN5LXRydW5rCiszMzAwMCBiMzQ1NWM0YzE3OTg4Nzc4ZDc4Y2E1Yjk4Y2I4ZDZjOTU5NDhlYTEzIGxlZ2FjeS10cnVuaworMzMwMDEgNzU0OTRhZWE0N2NhNzI2NTQ5MWVhMjQxN2EzYzA4MjlkYWViNTQ4MyBsZWdhY3ktdHJ1bmsKKzMzMDAyIDQ1ODVhYjBkYTAwMzc3YmFmMGU5Y2EwZmVjZWIwZmUzNmQ1NTAzYWUgbGVnYWN5LXRydW5rCiszMzAwMyBmNTg5MTQ1OWI4MTNlZTI0NGU1ZDUzZmE2YjA4OTNkYTQ5YTA0ZDhiIGxlZ2FjeS10cnVuaworMzMwMDQgMmY3MzFjNTdjZGM2OGY1OTQwZDAzZjk5MDhjOGJjOTQ4NmNlNGE3YSBsZWdhY3ktdHJ1bmsKKzMzMDA1IDI3YmQ0Y2QwMmJiODdlMzc3MTUzYjNlZTI0NzBjZjAzMjAxOTA0YzggbGVnYWN5LXRydW5rCiszMzAwNiBmYjg0ZTBlYWJhZDRlNGIzZDE2ODAzNDNiNWM2ZGEyOTgwMTdlYzcwIGxlZ2FjeS10cnVuaworMzMwMDcgMWFlOGI2NzQwOTA2NTIwNjVjZGQ4YWVlOTE0MGJjY2E0MDUzYzk2NCBsZWdhY3ktdHJ1bmsKKzMzMDA4IGIxMzk1MDE0NzE0YWQ3ZjA2Y2UyZmFkZTYxZDhlZjRhMTU5ZmViYTcgbGVnYWN5LXRydW5rCiszMzAwOSBiNTJlMGFkMzA1ODU4ODBlOTI2NjZhMjQ3NzBmMzdkYWQ0NmFiYmI5IGxlZ2FjeS10cnVuaworMzMwMTEgNTNkOWI0ZWVjNGNlMGEyODRmYmM1MGZkMjUyZTNhYjU1NjJlYzdhMCBsZWdhY3ktdHJ1bmsKKzMzMDEyIGEzNjkzMzYyMjRkZGE0OTUzOWExZGNkNjQ1OTdkODEyNGM1ZDU2YTcgbGVnYWN5LXRydW5rCiszMzAxMyAyMDg5NGRiYzdmNmE4YTU3MTI0NDI1M2FlYTE3MTU4MTgzZjQ2ZjI3IGxlZ2FjeS10cnVuaworMzMwMTQgYjFlYjJhNDc1NmJjYzMyOTNlOTFiZjI3MWNhOTU5NzUwZmFiYjQ0ZCBsZWdhY3ktdHJ1bmsKKzMzMDE1IGVkOTQ5YjgyZjk1ZDljOGE0YjE5NzRhNDQwMGNjMTgxZTEwMzY2NjYgbGVnYWN5LXRydW5rCiszMzAxNiAzZjEwYTI5ZTBlNmExYWUwMDVjNWYyMDVmMDk1YzM4MzkyZTU2OWQ3IGxlZ2FjeS10cnVuaworMzMwMTcgZmRhYzliNGQzNzE3MjUxMzI5OTc0OGFmYTNiNzk0MzJmN2U0M2YzYyBsZWdhY3ktdHJ1bmsKKzMzMDE4IGY4MmI2ZDJiNzNmMTExMzcwYThjODRkMjkzYTg4M2Q5OTJjMzYwZmMgbGVnYWN5LXRydW5rCiszMzAxOSBjNjYxMDBjMDllYTExNjI3ZDQ5MDA5ZjI1MjEwMjk1NzY1MWE0ZGE2IGxlZ2FjeS10cnVuaworMzMwMjAgZTBmMDcxYjQ3NmZkMTZmZGRkN2FiODVhYjkzZGE2Mzg2ZmQ3YTFhNiBsZWdhY3ktdHJ1bmsKKzMzMDIxIDcyY2U3Y2MwM2YyN2ZkMjYyMmVlNzI0ZmYxNzBhYzIxNTVmZjIxNjUgbGVnYWN5LXRydW5rCiszMzAyMiAyNjE2ZmU1ZWVlZTE3OGQzNjNjNDI1MDIzZWRjZDYxZDFmODJhZDM2IGxlZ2FjeS10cnVuaworMzMwMjMgY2EyMGMzY2JjOTU2ZWEzMjNiYjk4ZGM5MDc5OWNjZTkyNTY4M2ZjYSBsZWdhY3ktdHJ1bmsKKzMzMDI0IDEyMTkwMjFjNDg2NWFlODA3ZjMzMTQwYTA1YjU0YTI2OGYzNWZmODQgbGVnYWN5LXRydW5rCiszMzAyNSA1OGMxYWQ0MTdlZTdjYWVkNDI4YWEyMjI2ODY1NDk4ZjA4YjgxNWI1IGxlZ2FjeS10cnVuaworMzMwMjYgYzAxZWRjMzVmZmQ2NzZiYTRhNjZiMGQxZGMwYjVkOTUyZTgxZDA0YSBsZWdhY3ktdHJ1bmsKKzMzMDI3IDhjNmQ0ZGE1Y2NkM2Y4OWQ1ZTU3ZWIxOTI2OTBiZDhmYWZmYjk5ZjAgbGVnYWN5LXRydW5rCiszMzAyOCAyMGUxYWQzYWU4YmIwY2ExYTIzZmYwNjUzOGVmY2E0NjE5MzNlMWIzIGxlZ2FjeS10cnVuaworMzMwMjkgOWU3ZDIyOTMwZGFhMTJmMjdhNTdjMmMwYjA2NGQyZjU5NTI1MjY3OCByZWxlYXNlMjItbWFpbnQKKzMzMDMwIDIzZjYxMDFjYzg3ZWYxNTEzYTk0Mjk3NWNkYmExZTM0ZmI3OGVhNGYgbGVnYWN5LXRydW5rCiszMzAzMSAyZTJkZDYxNDM5NDM5NzdlZDdlNzM0MDUwNjA5ZjkzOGZhMmVjYWU0IHJlbGVhc2UyMi1tYWludAorMzMwMzIgNDA4MWI0OTBkNTRjYWNmMjEwMWYyNzFlYTc2MmU3OTYxNTg4ZWIyYyByZWxlYXNlMjItbWFpbnQKKzMzMDMzIGMwNTU5NzkzMDBmMTc4MDUyMjcxMDY2YWM0YmZmZTIzY2NiOGIwZDQgbGVnYWN5LXRydW5rCiszMzAzNCAyNGU3NGQ2ODc5ODAwYmJiYjMzM2UwNzlhZjQ3NWE3ODNhZGMwNjYwIGxlZ2FjeS10cnVuaworMzMwMzUgMzQ3ZTdiNmRmZDUzYWQ5ZDcxNzc4ZmYxNGYyOTljZGEyOGMwMTE2NSBsZWdhY3ktdHJ1bmsKKzMzMDM2IDI0ZmZmMzJlZDA2NWMzM2RhZTAzOWM1OWY3OTgxNGJjYjBlNjZjODIgbGVnYWN5LXRydW5rCiszMzAzNyAxNWYxZGM1YjdkZGMxY2Y2MTRiNmIyZDViMDA0ZGIyN2NmMWJhMmNkIGxlZ2FjeS10cnVuaworMzMwMzggNTg1ZTMwM2E5NDkxMzUwYzgwNjkwOGNhNDJlNzY3ZWMyNmE0MGJhMiBsZWdhY3ktdHJ1bmsKKzMzMDM5IDBkNTg4ZmFkYzFmODJmZmFmNTVlNTU1MjUxNTIzNzQzYTU1YjJhNzAgbGVnYWN5LXRydW5rCiszMzA0MCAyZDM5ZWMwZTU1YWE1ZmE0ZGJjM2MyMzg3NmE4OTdjOWU2MDgxM2FiIGxlZ2FjeS10cnVuaworMzMwNDEgYmFlNmNlNmQxZTVhMzdkMjZkYzEwYTY3M2VjYTU4OTYwMWZkZmQxNiBsZWdhY3ktdHJ1bmsKKzMzMDQyIGNkNWVjYzViMzhlYjg1OTdmNjYzNjE1NDA2Nzc3M2I2ZmE5NWQwMTMgbGVnYWN5LXRydW5rCiszMzA0MyBlZmYzMzMzNGNhNjczN2QyMDYxNzQxOWZhNTAwMWQxNGVmMGQ0OGIwIGxlZ2FjeS10cnVuaworMzMwNDQgZGI0NmNlZGFmN2NlMjBiMjE0NDA5MTNhNDc1NmM3OGFjMTQ2YzU1ZiBsZWdhY3ktdHJ1bmsKKzMzMDQ2IDg1NzQyOGNiNDE4YzdjOGUzZmE2OTE5NGEzNmM3N2YwMmUxNTg1NmQgbGVnYWN5LXRydW5rCiszMzA0NyA2NTQ5MDg4NDdlZWY4YmY2MGRhNjU2ZmRjMGYwNDNkYzcyZTdiMDkwIGxlZ2FjeS10cnVuaworMzMwNDggM2IyZTJiMTQ2ODFjMDJlMGJiMjMzOWMxMzdiM2M2MGE3ZDIwYmI5YiBsZWdhY3ktdHJ1bmsKKzMzMDQ5IDllMWY4ZmM1ZTcxZDMzNDcyMmI2MTM3N2Y3MzAwZGViNTQ1NmI3N2YgbGVnYWN5LXRydW5rCiszMzA1MCAyNmUwN2E2ODQ4OTBjYmNjOTc0YmY2NjhhMmQ4MWEyOWJlZmRkMWQ4IGxlZ2FjeS10cnVuaworMzMwNTEgY2UyNWI0ZDc0NmVhMTAwNjdlMGNhMzVmYzVjMWE3ZWEzNDZiN2JjMyBsZWdhY3ktdHJ1bmsKKzMzMDUyIDkyZmZlNTAyMTEyODE5ZjMzYzY3MTFiMWNlMzkxZmJjN2UzMjY2OGUgbGVnYWN5LXRydW5rCiszMzA1MyBmYTYwNGFmMGNkYmZiNjMxYmY0YjE0ZmZmODVlNmUzNzI1YzI1ZjVkIGxlZ2FjeS10cnVuaworMzMwNTQgNjFlOTY2YzllY2U4ZDkwOGRhZmM1YzAzMjRlYTUxZDA1NjFkZGU4ZCBsZWdhY3ktdHJ1bmsKKzMzMDU1IGU2YjBhNDA2ZGMzMWVmNDJlZmZkODYxZTc1Y2JmOGRmZTVmNzY3ODggbGVnYWN5LXRydW5rCiszMzA1NiA1MjU3NjY4MTdlYjY4YjYyZGFlMTAwYzRhZjc2YmM1MWMwOGM2NWZmIGxlZ2FjeS10cnVuaworMzMwNTcgYjBhN2VhYzZjNjUxMTAxYjdmYjcwMzU5N2Q5N2RhYWUxYTU1NzY3MiBsZWdhY3ktdHJ1bmsKKzMzMDU4IDgzMjM2ZjU4ZTY4MTIxZTM2NTJlZTliMWY1YTJkODI1MjRkZmExZWMgYW50aG9ueS1wYXJzZXItYnJhbmNoCiszMzA2MCBjZjBiYWFmMTZlMGQ3ZjUyMWRlYjAwZTFmOTVjZGRkZmI0NDA0MjA1IGxlZ2FjeS10cnVuaworMzMwNjEgYTJkNGM2NGY1YjhiMzE0YjUzZTRhZGEwNjdiOTZhNzVkZWZiN2M2ZCBsZWdhY3ktdHJ1bmsKKzMzMDYyIGQxYThjNzMyMzU5ZTdkOTQxMmIyMGFkY2M5NGY3MjMxNDlmZTcyODMgcmVsZWFzZTIyLW1haW50CiszMzA2MyA4YzVhNjg1M2EwMmFkYjgxYmQ2N2VhOGEwOGY0YzI2ZjUxNzJiOGQ3IGxlZ2FjeS10cnVuaworMzMwNjQgYmVmZmM3MzY2NmZkMjBjYTM4YjYzZDRhM2I0NjEyNGNmM2VjY2I2MSBsZWdhY3ktdHJ1bmsKKzMzMDY1IDNiNTRkZmYxMzMxMDFlZTI5Yjk0OGJhMDgxN2M5NDZlZGQ0ZWViNDAgbGVnYWN5LXRydW5rCiszMzA2NiA5YmI2ZjNjNWIwNGEzZWY4Y2VjMTRmMGUzMGY3NzRhYTJhZWY4YThiIGxlZ2FjeS10cnVuaworMzMwNjcgMzFiMmNiYTY0YjM5OWJmNTkzMTcyM2UxNjYzOTFiY2MyNzgzMTU1YyBsZWdhY3ktdHJ1bmsKKzMzMDY4IDI5NzYwMDU2ODg0YTllNzE1MjFlYWU1MGZkYzZhMzZiMWIzMjllMzUgbGVnYWN5LXRydW5rCiszMzA2OSBmMmRmOWM5ZjBmY2I2MDliNmU5Njg0Njk5ODIwMjYwYzBhYjZjM2FiIGxlZ2FjeS10cnVuaworMzMwNzAgYmFjMmMwZTdjMjBhMTIyMjUwMDBhZTY5OWRkN2ZhOGMyZjdhMWNhNyBsZWdhY3ktdHJ1bmsKKzMzMDcxIDM1NmJiNTljNTQ4NmIyZTVlYjJiMWY1YTJhMjllZGViNjZiOTU4MGMgbGVnYWN5LXRydW5rCiszMzA3MiA2NDM4NjQ2NGY3MTY5MTE3N2U5YTQyZDcxYmE0NDg5YTFlYWNlMWFhIGxlZ2FjeS10cnVuaworMzMwNzMgMGE0MGM2ODdhZjVlYzk2ODAwODAzMmU3NGRlMmIxNTQwMzI2YTgwMyBsZWdhY3ktdHJ1bmsKKzMzMDc0IDg4OTUxYTVmZDJhOWVlYzAzZjQ3MTU5YWMxNzhiNTBiNDRmNjA4NGYgbGVnYWN5LXRydW5rCiszMzA3NSBhYjFkODVmOTg0ODU2ODc1NTBiMTI2YzQzZjI1YjE4Yjc3MDE3YzI4IGxlZ2FjeS10cnVuaworMzMwNzYgOWUxZDc4MDlhOTk4MTZhZDlhMDc5NTI4NjYwMDlhNmJkMjJiOGUxNyBsZWdhY3ktdHJ1bmsKKzMzMDc3IDE5ZjRmNDhiYjAyYTdlNmUwMTRjM2QzZjI5ZmFkNTE0YjIzNjJmMzYgbGVnYWN5LXRydW5rCiszMzA3OCA1YThmZDViM2U0YzQwNTEwYjA1NzgwYWNkMzlmNWU2MWJhODc4NTA3IGxlZ2FjeS10cnVuaworMzMwNzkgZjg3ZmNkMDg3MGJmMmM5ODZkZDFkODA1MzAyMWUzNDNkMjQ0YjcwMCBsZWdhY3ktdHJ1bmsKKzMzMDgwIDJiYTVlYzZiM2NkYTJmYjBlN2VkYTU0Nzk2NDBiYTNlNzA3NjY1NDUgbGVnYWN5LXRydW5rCiszMzA4MSBjZjhhZTNiMGRjZGM5NzBhYTg5NGUyZmQwZGQwMTYwMDZjMTI2N2FmIGxlZ2FjeS10cnVuaworMzMwODIgN2M0OTgzMWQyM2M1OWIwN2I2NjM2MGQ3NDc4MzI5MDgyZDlkN2ZjYyBsZWdhY3ktdHJ1bmsKKzMzMDgzIGZjMzkyZGFiZTJlMzBmMGVhOGU5MGViM2MyZDJhODA4NjUzOGJkMDYgbGVnYWN5LXRydW5rCiszMzA4NCBiNmMyNzFiYTAzZTE4MTQ0MzY1YTM4NzIxZjZmMzZlYTAwYzM5NGNlIGFudGhvbnktcGFyc2VyLWJyYW5jaAorMzMwODUgMDg5ZmJlM2ExMTRlZjliZWM2NGFiNTlkNmQ3NzA1M2QyZGJiNjAwYyBhbnRob255LXBhcnNlci1icmFuY2gKKzMzMDg2IDBkNjFhMjdjMzg5NjllMDY4NDZhZTljZmE5MWIyYzEyZTdmNWI0ZWEgYW50aG9ueS1wYXJzZXItYnJhbmNoCiszMzA4NyBmZmQwMmJhYWIyNTkzMjBlNzMyNmMwOTc2Mzc5MWI3ZjY3N2M5NDNiIGxlZ2FjeS10cnVuaworMzMwODggNzBkNjI1ZmY1NjJiNWQ2OWMzNTliNzRjNGMyZDQ2ZDNiYjJkZWQzZSBhbnRob255LXBhcnNlci1icmFuY2gKKzMzMDg5IDkyM2U2ZmI4NTVmZjRmN2EzNzMyYjNhZTQ0MGMxYjM1NWJiY2IxNTUgbGVnYWN5LXRydW5rCiszMzA5MCBlZGNmZWY5NDRlMmY0MDZjODI3YWIxMTZmODBmYjRhNjQzYmU5NWQwIGxlZ2FjeS10cnVuaworMzMwOTEgNWM1NmJmM2NiMjA1NTA4NTI5Mjk4NGIyZTI4ODU5YTExN2VkZmI3MyByZWxlYXNlMjItbWFpbnQKKzMzMDkyIGM0ODFjNjg2Mjc1YTc4NWE1OTMwNDVmMGRhMDk5NWM1YTg2YzZhNjAgbGVnYWN5LXRydW5rCiszMzA5MyBiODBhMjIyNTBlNGYxMWE0YjQ3YjVhMDFjZDI4MGM4NTVkYjVjYzU0IGxlZ2FjeS10cnVuaworMzMwOTQgZWZlZDY4OTczYTNiZWYzNDA4MjI3MzYwNWIyY2RjN2RjZGI3Y2JhMyBsZWdhY3ktdHJ1bmsKKzMzMDk1IGUyZjI0MTBjMDk2ZTAzZjNkNDIwZjdhMDMwN2RkYWU1ZThhZWMyNmQgbGVnYWN5LXRydW5rCiszMzA5NiAxOTMzOTdjNDRhZTUxNjRmMmVjMDc4M2YzZTA0MDk1ZWRkZGEzODQ0IGxlZ2FjeS10cnVuaworMzMwOTcgZTY5ZTU0NTUyZDEwOGRiNjc0NDQ3YmRmZjg4MzlkOTdlMmM1YTZjMiBsZWdhY3ktdHJ1bmsKKzMzMDk4IDBiYTdjMTAxNjQ4YWM4MjgzNDBjOGU0ZTczNTRmYmI4NTgxZmU1ZGYgbGVnYWN5LXRydW5rCiszMzA5OSBmYTQ4YTkwZWRhMTI1YWViMmU4NDhiMWUwOTZhM2ZlNmYxMGY3Yzk0IHJlbGVhc2UyMi1tYWludAorMzMxMDAgMTc5ZDU0NTJiYjlkOWY2MTE0YTQzMDhkZmFkNzNhODFmODcyZDY4NiBsZWdhY3ktdHJ1bmsKKzMzMTAxIGI0MDkwMmI0MjI5MGRiNjk0ZWZlMzNiYzIzNjYzMDZlNjEwOWNmN2UgbGVnYWN5LXRydW5rCiszMzEwMiA3YjcwMDQzOTNiNWIyNmYyNTNlNmYxYzFlMTU3ZWVhNDVjYjE3YzA0IGxlZ2FjeS10cnVuaworMzMxMDMgNTJiYWFlYzdlNWNmMDg5ZjM1MTY1NjhkNjE1OGIyYWY4ZDY1YWQyZCBsZWdhY3ktdHJ1bmsKKzMzMTA0IDE3NDMxYmE4Y2M0YmZhZGEzMjY4NGFhZWY0NzE2MjVjYTU3MTVmMTkgbGVnYWN5LXRydW5rCiszMzEwNSA2ZmVjYzk5YWZhNjlmZmQ0ODBhMjkyZTYyMGQ1MDFlZTZlNzU0NzNmIGxlZ2FjeS10cnVuaworMzMxMDYgYmIxOTEzNGUwYTRkMGI5ZTQ0MzMyYmQ4NWVhOTdjMzBkNDNkYWVmMyBsZWdhY3ktdHJ1bmsKKzMzMTA3IDhkMTYwMDk1ZWI2NjgzZTNjMjJhNTg5NzYzOWZkZDY3NzMwN2Q4NDIgbGVnYWN5LXRydW5rCiszMzEwOCBlNWQwMzM2MDU3MWQ5N2NhZmRlZDQyM2NjODY4YTllNjJlMDYzMzRhIGxlZ2FjeS10cnVuaworMzMxMDkgZTk5NTNiMzk5ZDU1M2Q1Y2M4ZGYwYWU5YTc5MDc0MmY0MmMzMjEzNiBsZWdhY3ktdHJ1bmsKKzMzMTEwIDJjYjk2OWZmZTFiZjI4ZTU0YjA5ZmNjNjQ3N2E1YmVmNjVhYmY5MjYgbGVnYWN5LXRydW5rCiszMzExMSA1Yzc2Mjc1Mjc4MmMyOTM4MjhkMDkxMmNkNTRmY2M0NzA1MzllNGMyIGxlZ2FjeS10cnVuaworMzMxMTIgMmQ2OWE3MDdjNDkyOTg1NDkyYTMxZjNiNTc3NTNiOWIyZDI1NWE3NSBsZWdhY3ktdHJ1bmsKKzMzMTEzIDU2MzQzODE2YjU4OTdmOGFmNzAyZjI1YTBkMTU4MGU4Njk2ZDMyNTUgbGVnYWN5LXRydW5rCiszMzExNCAwNTA1OGQ4MTM0NDE4ZDQ4ODU4NDUzZTExNGJmMDliNGRmY2MyODk2IGxlZ2FjeS10cnVuaworMzMxMTUgMzAxNmExOWUzMjBlNjQ1MTcwNmY5ZTBmNTdjMmM0MWI3OTQyZDNkMiBsZWdhY3ktdHJ1bmsKKzMzMTE2IGVmYWQ1OWYzOTU2NGJjZDk0ODE3OTcxN2NiZGY4NmIwYjZmZDhkMWMgbGVnYWN5LXRydW5rCiszMzExNyA5YjcyNTU4YTFlYjlmNDBiYjJjMGE0YmUxNzE5ODFhYTc2NWEzMTg4IGxlZ2FjeS10cnVuaworMzMxMTggNmQxNjBlZTM3MTk2NTU5ZTNkYzYyMzdhNzc3NzU0NjE1MzBjZTM4YiByZWxlYXNlMjItbWFpbnQKKzMzMTE5IDFmMzM0MTk4ZTZkNzYzYzZjMGFiNzhkODA4MmFhNDc5ZGE2NzFkMzMgbGVnYWN5LXRydW5rCiszMzEyMCBiODIyYzJhOGUwOGY0MzA1ZmVhNGE2N2YyYTVhZGRkNWJkNWVjMjkyIHJlbGVhc2UyMi1tYWludAorMzMxMjEgOGJlZDU1MjAzNTU5ZjhkZDVjNWFjMzkxYjc2YWM3ZjI0MWI3OWVkOCBsZWdhY3ktdHJ1bmsKKzMzMTIyIDIxYmZjYjdjOTc2ZGI1ZTQzYzg3NzBjYjU2MWY1MmFmNWRhMzlhNWQgcmVsZWFzZTIyLW1haW50CiszMzEyMyA5ODgzY2Y4ZmYyMTdjOWVkODgyNTNkYzRlNDFhMTJkYjdiYTI5ZGFmIGxlZ2FjeS10cnVuaworMzMxMjQgOGIxNzY2YzhhZDNiYWI0ZTljYjE1MGYyNDBiODI4ZDc2YmY5MThlZiBsZWdhY3ktdHJ1bmsKKzMzMTI1IDA2MmUzNDJjY2ZmNThiNjI5NTM1NGNkYmYxMGYxZDQ1YTI0M2IwMDEgcmVsZWFzZTIyLW1haW50CiszMzEyNiA3NGEyOGYyZTk0Y2Y5ZTI5MmVlZWQ4MTA4NWY5NTY1NTVmYjVmNmVjIGxlZ2FjeS10cnVuaworMzMxMjcgMmNiODkzMGNlMjI1OTkyNmFlNGE3OWE3YjljZDNiOWNmZGE5NjIyZSBsZWdhY3ktdHJ1bmsKKzMzMTI4IDFlMmU1NDgyMTc4NWY5YTRlYmVkNmVmODdmYjQ0ZDg1ZDdjMmM5NzMgbGVnYWN5LXRydW5rCiszMzEyOSAzNTIzYmE5MjQ1MGNlNjQxNjA2Yzg5N2QyZDhjZTRkMDllODEyM2U2IGxlZ2FjeS10cnVuaworMzMxMzAgMDQxNWFmNjM0MTIyNThiZTFhYTQ1ZDY5MWRjNjU2MzZjZDhhMjM1YSByZWxlYXNlMjItbWFpbnQKKzMzMTMxIDVjNWI1ODc0NjQ4NjZkZDNkNzMzN2NiOTVhMTNmYjRlOWJjYTUyNmMgcmVsZWFzZTIxLW1haW50CiszMzEzMiAwY2YxZWM1OGUyMjBiYTY4NjJhMTQ5OWI1Njc4YTc0YjU0YmVmMDVlIGxlZ2FjeS10cnVuaworMzMxMzMgYTcyMWIwOTRmN2JjMmRiZmQ3MTEyNTU2YmU2MGZlNTQ0MWEwNTRkNSBsZWdhY3ktdHJ1bmsKKzMzMTM0IDRmMDc2ZmMwMTk1YWMyNjI0YWVhNDc4ZjhiYTU2MmRmNDQzZDMxYmQgbGVnYWN5LXRydW5rCiszMzEzNSAxYWI5OTc4MTIzYmVjZWExNDVmMDkwZmExZmEwYTExYjQxNjJjZDNhIGxlZ2FjeS10cnVuaworMzMxMzYgMTRhMTU0NzEyOWZiZjVlYmIyMjhiYzgyOWJmMDBhMGYxOTJmMzJiMyBsZWdhY3ktdHJ1bmsKKzMzMTM3IDMzMWFmNDVkZmEwZGMwMTc4ZDhhZjNjYTI1MWE3N2Y5MTg5MDEzOTAgbGVnYWN5LXRydW5rCiszMzEzOCA0ODc0NjE0Y2M3YTM1NzAzOTJkM2VjOWZhZmQ3ZTY2Y2QyZjY5OTU1IGxlZ2FjeS10cnVuaworMzMxMzkgNTEwNjBiMTY5YjMyMzdhNDE3ODA2MWY5Y2FjMWZlMzcwMzEwOGQ4NSBsZWdhY3ktdHJ1bmsKKzMzMTQwIDg5MmRmYzllNzI1NjdmZGI3NzlmOTcyMmUwYTQxMDQ0MGQ4NDhhY2UgbGVnYWN5LXRydW5rCiszMzE0MSBkZWI5NzE1YmM4YWU3YzAwZTZjNDYyZTkzOTUyNjBlMTFhM2NlNWVhIGxlZ2FjeS10cnVuaworMzMxNDIgODM0Y2QxMjE4ZjFiNGQyNDU4NWU4MDAwMzk5ZDNiYmVmNTZjOWZjZCBsZWdhY3ktdHJ1bmsKKzMzMTQzIDA4NmJkOWU3ZDI0NDJhMGJhNmMzNWVhZDQ3M2Q2ODZiZGJlMzE4ZWIgbGVnYWN5LXRydW5rCiszMzE0NCAwNmYyOGFkZWE2ZDJjMDkxYWM4ODdmM2I3ZWYxOTQ2ZDJkYjY1NjMwIGxlZ2FjeS10cnVuaworMzMxNDUgYmRmZjk2NWQyNjAzMjk5YWM2NjFlYzMzNDMyOGU4MDlhZDczMTdkYiBsZWdhY3ktdHJ1bmsKKzMzMTQ2IDIzZTdiMjU3N2E0Njg4MDViZjYyNjBjYjFmYTY1NDY0YjA4OTllMGQgbGVnYWN5LXRydW5rCiszMzE0NyAzMTMzYjUwZTk5ZjMyNjVmOTkzNTk0MWU0NGQyOGIzYTVjYjljYWVkIGxlZ2FjeS10cnVuaworMzMxNDggODdhMjUzYWFhMGQ1MjEzN2NkNzUxMzZhNjVjNDc2MzMzNzcwYzQ0ZSBsZWdhY3ktdHJ1bmsKKzMzMTQ5IDgxZTcwZjEyZDYyZmM4NDc3OWI1MmQyNTZjM2Q4N2JmYjU4OWExMTkgbGVnYWN5LXRydW5rCiszMzE1MCAxMzg2Zjg2YzUwOTVmNDc1OTQ2MzRlYWZhMTQ4MWNiNTAwMWQ3ZjU2IGxlZ2FjeS10cnVuaworMzMxNTEgNTE0M2NmZTdjYzc1Y2MwNDRmMDlmNTBkZjBjMThiMmZkODM5OTI4NCBsZWdhY3ktdHJ1bmsKKzMzMTUyIDYwZGFiYTkzNzc1YzUyMzYwMzY1OWQ1NjViMzNiY2I0MzViMWI2ZjUgbGVnYWN5LXRydW5rCiszMzE1MyA5NzE4ZGY4NDlkYTkyMTAyZGI1ZDA2ODRlNjkzZjI2ZTIyNjFjNzVhIGxlZ2FjeS10cnVuaworMzMxNTQgMDg5MDQ2NjAxMjcwNjU5MjllOWI0MmFiM2QyNWM4NmQ2MGEzMzAwNiBsZWdhY3ktdHJ1bmsKKzMzMTU1IDUyMjA0NzQ2NjBjZTgxZDI2ODg0OGNiNzhiZTZkMTJmMTg0OGZiODcgbGVnYWN5LXRydW5rCiszMzE1NiBhYmMyYTIwZGMzYTMzNGMyY2Y0YTg1YzJjYWRkYmEyZWQyNzJmNTllIGxlZ2FjeS10cnVuaworMzMxNTcgNDBjNWYxYzA4ZWM4YWFiMGQxZjhjYWUwNTIwYWY2ODMxOTdkMjQ2MSBsZWdhY3ktdHJ1bmsKKzMzMTU4IDEwMDcwOGViOGM4MmQyYzc4N2I5ZDc1ZTdkM2I4OTk0OGE5NGRmNjAgbGVnYWN5LXRydW5rCiszMzE1OSA5NGY5MTA3ZDlhNjNhOWQ5YTJlOTIyNTczMzAwNWFiNDcyODVhNzI3IGxlZ2FjeS10cnVuaworMzMxNjAgNjUzMWM3NmI2MDRkY2FmZTJjMjU0Y2I0YzU1ZjE4YjkzZGJlZGRiNyBsZWdhY3ktdHJ1bmsKKzMzMTYxIDE0MDJmMjY1ZTQ4ZjYxM2JhZjllYjM3NGM1MDQ0MGQwMTBiYjE5Y2UgbGVnYWN5LXRydW5rCiszMzE2MiBkMGQ0ZDY5NmFiMjRlOGQ2MjgzZTk1YzMyYTE0NzY3NjllMzViOWQ3IGxlZ2FjeS10cnVuaworMzMxNjMgYWE4NGVkZTFjMzY0ZWJkY2Y1MmVmMzY1NmJlZTE5NDM5MjRkMzA1MiBsZWdhY3ktdHJ1bmsKKzMzMTY0IDZjNmIzMjFkMWQxMGVmZDFmMDQwZDUxNTFhY2Y3MDAzODdlNmZlYmMgbGVnYWN5LXRydW5rCiszMzE2NSA3MWMwNmJjNWE3M2VhMWI2ZTY1MzkyNmRiMTI2OTU1NzQ0MTQzOTQwIGxlZ2FjeS10cnVuaworMzMxNjYgN2UzMzYzYTc2NjFkMjU1MWNjNjVlNjhkM2QyNDFiYzk0OTQzODgwOCBsZWdhY3ktdHJ1bmsKKzMzMTY3IGQ3MmIzZjBhNTdhOWRkMmM3NDA0ODRiY2VkZTJhOGZkODNkZGM2MDggcmVsZWFzZTIyLW1haW50CiszMzE2OCA1ZjAxZDUxNThkMWY4NmUyMzNjZGIzMDQ5Y2ZhZjMzYjNiYmY0YzljIHJlbGVhc2UyMi1tYWludAorMzMxNjkgZGI0MzEyOTQ3NDk0MGQ4MDQ3OWJmMDFlOTExYjc5NDlhZGFiYWUyMCBsZWdhY3ktdHJ1bmsKKzMzMTcwIDExNTE4YjZjZTVlYzAzZDM5ZjUxYmM4NjZiY2JmZTE2NmFhNDE0NmQgbGVnYWN5LXRydW5rCiszMzE3MSA1MzU1NDY4OGU1YTIyZThmYTI1MGVhZDUzY2JiZGYyMmZlOTY0M2I0IGxlZ2FjeS10cnVuaworMzMxNzIgMjllZWU1YzFkZDQyZmM4YTQxMDM4MDFjMjgyNTMwZmFiYTM3ZWI3OSBsZWdhY3ktdHJ1bmsKKzMzMTczIDAxZTkyNTM3MWQ3Yzk0MDg4Y2E4MTg5MjNlMWQxZmRlMDEwNjRmZGMgbGVnYWN5LXRydW5rCiszMzE3NCBkMWFjZjg5ZDFjNDlhNmQ2MDExNWZlZjM0ZmE0ODhiNjAzMGRiZmFjIGxlZ2FjeS10cnVuaworMzMxNzUgNjQ0NGVhM2RjODNjNDRlMTU4MjE4NDcyNjliMTBmNGJmNjQ2NWRiZiBsZWdhY3ktdHJ1bmsKKzMzMTc2IGU1NGUyZGU0NmJjM2Q1ODczN2Y0ZjczYmM5MjE4OWQ1MGYyNDJiZWEgbGVnYWN5LXRydW5rCiszMzE3NyBjYTllMzU5OGNjZmI1ZWM4MWIzZmRiYzlmOWYyNjRkYTYzMmU1MDEwIGxlZ2FjeS10cnVuaworMzMxNzggMjMxYTM1MTBlMjQ2ZmUwYzk0M2U1NmFiMDRjYWU4ODc2NWY4NjdmMSBsZWdhY3ktdHJ1bmsKKzMzMTc5IGQ3NjFmZjU1YjNiZWY0MWZlNTJmYTNlOTVhNjdjOGIxOWMxNmQ4MDggbGVnYWN5LXRydW5rCiszMzE4MCA5NGFjMWQ0MmE0MjA0ZjJkMGI4NmNiNDhhNDhjYzA0ODgxYjM1YTJhIGxlZ2FjeS10cnVuaworMzMxODEgMDVmYjUxZDA3YWRhZjViZjMxNGE4Nzg1ZWM4NTBhMmUwNDI5Zjk4OCBsZWdhY3ktdHJ1bmsKKzMzMTgyIGM2ZWI1NjllNGI3OTMwOWI4NTBhOGM4YjI1MjBiYzk0ZTIwOGNiNmEgbGVnYWN5LXRydW5rCiszMzE4MyA1ZDExZmRmYTdjMDA4NDc1MDA1NDIxYjNjMWQ0NTBjMDAwNGJiNzJjIGxlZ2FjeS10cnVuaworMzMxODQgYjc0ZTBjYzIxY2IwNDRmYWJjYTU1ZTJhODg1ZWQ5YjRmYmY5YmQ2OCBsZWdhY3ktdHJ1bmsKKzMzMTg1IDcwZTY0OWZhM2ZjZDEzOTE2YThhYjI1NGNlYTYwNWNhZTc3MGVlZmQgbGVnYWN5LXRydW5rCiszMzE4NiA4N2YzMGZjZmFkNDg4ODFhMjNhMzdiYzYxYmY3NzEwMzk3OTUyZTQyIGxlZ2FjeS10cnVuaworMzMxODcgYjFhYTFkNDM5Y2JhMzU1ZWVkOTAyZTFlMmYxNjdkMDQ1OTFkNTU1YiBsZWdhY3ktdHJ1bmsKKzMzMTg4IGZiMzMyYTA5NDliNzRmNTYzMTVmNzQzNjczNjkzYTYyN2JiYmYwOGUgcmVsZWFzZTIyLW1haW50CiszMzE4OSBmNmQ1MDNkZTQ1YmRlMGY5ZjFhNDM4OGNiMzg1MDJiNjQ3NWUzMDBkIGxlZ2FjeS10cnVuaworMzMxOTAgZjY3ZTRjNWFlYTkzN2RjMzgxNDQwODQ0OGI1NzZlODNkMmQzNjA1NiBsZWdhY3ktdHJ1bmsKKzMzMTkxIDdhZWU2ZWY1OTZkZGJkZTYzODNhOTY1ZDUxODYzYTUwZTQ5ZWQ0NWMgbGVnYWN5LXRydW5rCiszMzE5MiBmNDhiYjk0ZjMyODk1ODMyODcyNmU4MzhkY2MyNGI4NTRmZmRjOTFlIGxlZ2FjeS10cnVuaworMzMxOTMgZjE3NWY3NzliZTg5MGI3ZjlmMWQwYjA4YTUxMGI3OWMxNWI2MDE3NCBsZWdhY3ktdHJ1bmsKKzMzMTk0IGVhNzdkNDNlMjAzZDFmNTZmNTBjMTViOTRlZmUxMTIyMzdmYzkyOWMgbGVnYWN5LXRydW5rCiszMzE5NSAyZmJkMjU2YTFkYjI1NjI2YmJmZjQxZGE2YzkwZjg2OTgwY2UwYjEwIGxlZ2FjeS10cnVuaworMzMxOTYgMGI1MzIyYjg1M2QyZjc1MWI2MDMxMGJkNmIyMTA1MGZhNGRkMzhlYiBsZWdhY3ktdHJ1bmsKKzMzMTk3IDhiMDMwMGU3ZjFkY2IxOTkwMTljNjlmMzhiMGYwNmRiZDExZGQyZWQgcmVsZWFzZTIyLW1haW50CiszMzE5OCBjNjQ2ODdjZDViMzcxZDIzMjM4MzkyM2Y3YjA4ZjU1NDY4YTNmNmQ3IGxlZ2FjeS10cnVuaworMzMxOTkgMzRjMDQwZGRmOWU4ZWFkMjQ0NWEyMWQ3YjJiZDBhOTE1ZjU3ZTg0ZCBsZWdhY3ktdHJ1bmsKKzMzMjAwIGNkNjJiMzM1OWU5NTYwZTVmODc0NTE1ODQyNmNjMGUzZGQ0ODNiMzggbGVnYWN5LXRydW5rCiszMzIwMSBkYzZjMjFkYzg2ODRlMDYzOTdjYzAxNmQyMmM3MDU3ZTg0OWFmOGY3IGxlZ2FjeS10cnVuaworMzMyMDIgZmFmYjZlYjBmOTdlOGU0YzY5NDIzNTMzMGUzYmRlYmYwOTdlYTYzNSBsZWdhY3ktdHJ1bmsKKzMzMjAzIGMzYmM3ZWQ5ZDMxNTk5ZTBlMGY5YmQzODg0ZTZlNjRiZGRlY2ExYjYgbGVnYWN5LXRydW5rCiszMzIwNCAyZDQwMjdlZmJjMTJlMjJmZGEyNzg1ZWFjM2NiM2U4MDYwYWYxMWFhIGxlZ2FjeS10cnVuaworMzMyMDUgNjliYzdjYTVjYzFhOGY1MDFmOTM2ODJhMDBmOTA4YzIxYmU1NjljMSBsZWdhY3ktdHJ1bmsKKzMzMjA2IGUyMjgzMzZhYWYwOGQ3YzM1N2EzZDA2NmY4YWEyYzk3MGFiZjU2YTggcmVsZWFzZTIyLW1haW50CiszMzIwNyA5MTk3Mjg1YTM5MzM1ZTA0YjJlNDQ0Y2U0OWIzMjhhM2YzYjQwNGYwIGxlZ2FjeS10cnVuaworMzMyMDggMzI1OTJmMWE2ZjIyYjQ5OWEyMTJjNjg2OGZjMzk5Zjg4MDY1NDY4OSBsZWdhY3ktdHJ1bmsKKzMzMjA5IDZmZTAyMzY5MGQ3ZjEwZDNjYzUwNmJiYTVmMTZiYjM3NzAwODU5ZTAgbGVnYWN5LXRydW5rCiszMzIxMCA5NDRmNjAyYjc4ZmU0ODg5YTEyNGMyYWYzYmVjMDg5ZDllMDI3MjBjIGxlZ2FjeS10cnVuaworMzMyMTEgODc4MGE0OWQ4ZWYyYzE0M2ZiNjU4MTJjNTE0MzEzNWZjNTI2NWQyMSBsZWdhY3ktdHJ1bmsKKzMzMjEyIDdjN2Y0MDQ1YmEzNjcxYTAyMDkwNjRkZjY5ZTVmZjI1NWY0ZjI3ZWQgbGVnYWN5LXRydW5rCiszMzIxMyA0ZDFmYTljNWNiMmNmMjVkOTBjY2E3MTYyM2JmYjc3ZTk3YzZhMDY1IGxlZ2FjeS10cnVuaworMzMyMTQgZTk3M2RlZDhhOTJhODgyODVlMDI5MTAwMmJiZjE4YjJjNjhlYzU1YiByZWxlYXNlMjItbWFpbnQKKzMzMjE1IDUyMDAyODc4ODliZDJhNDEwNGVlMzhiMjdkMWQ1M2NkMTMxMjhlYjQgbGVnYWN5LXRydW5rCiszMzIxNiA2YTVlOTVjNjdkMzIxYzEwNTg5ZDkzZDllMmQwMjY0ODY2ZTQyODU4IGxlZ2FjeS10cnVuaworMzMyMTcgMWE0OTg2OTIyMzU3NzIwM2UyNDM1YmRiNGYwZDA3MDI2YWRjMTY4MCByZWxlYXNlMjItbWFpbnQKKzMzMjE4IDRiODZkY2FjMjIwMTA3NmQ2Mzk2ZWUwZjIwZjFhODAxNDViNDM5MDEgcmVsZWFzZTIyLW1haW50CiszMzIxOSBkZTNkNDllMGY2NDkxM2MwMzg5MWEwZTFiNjdhYjQxZDUxNGUyMWE4IGxlZ2FjeS10cnVuaworMzMyMjAgNDI3MjMyMmI5MmU1ZTllODI1NjZkMjIyZGM2Njg1OWE2MDJiYzg2NyBsZWdhY3ktdHJ1bmsKKzMzMjIxIGU1ZDNiMWQ4OWM0MDE4MDBkMDRkN2FkNDA1ZmNmYTI5ZmYzYWFhMjcgbGVnYWN5LXRydW5rCiszMzIyMiA5NThiNDBkODBiMzMxODMwZDAzM2JhY2MyYWEwMGEwY2RlODQzN2MwIGxlZ2FjeS10cnVuaworMzMyMjMgYTI5NjIxNGQyZWJiYTMxNzBkMTkxODA4Y2E4M2VmY2UxMTMzNWQ5NyBsZWdhY3ktdHJ1bmsKKzMzMjI0IDcxZDNkYTExNTgzOGYzMzFhZTBmNGI1OGRjOGI5NzlmOTcwZGNjYjEgbGVnYWN5LXRydW5rCiszMzIyNSA0NDhjMTQ0MTk2NGZkNjBlOWJkYzU3ZDg4OTRkYzEzZDcxNWI2NWE2IGxlZ2FjeS10cnVuaworMzMyMjYgNzU2NDY4MzA3ZTYxNzlmZTg0ZjFkOGQzNDU3MDlkMjVkYjU2MTJmZCBsZWdhY3ktdHJ1bmsKKzMzMjI3IDkxMjU5YWUzNWUyOTk0NjcyMzk5MWNhNjk4NmIzM2Q4MTk5NDc0MmUgbGVnYWN5LXRydW5rCiszMzIyOCA4ZTkyY2MwNGI2NGIwMDA0YzIyYWY3NDAyNWFiYjFkNDg5ODIyYjc3IGxlZ2FjeS10cnVuaworMzMyMjkgZDE1ZTJiN2Q5OTFjYzkwYjE1NTRiYzg2NGRiMjdiN2YxM2Q5Y2Y3OCBsZWdhY3ktdHJ1bmsKKzMzMjMwIGVkNDVhOTk1MTMxMjY4YjI0Y2UwYzcxN2NkMzk0N2RmY2JkNDhkNDggbGVnYWN5LXRydW5rCiszMzIzMSBhZDAyYTM4YTk2ZWE5ZWRlYTFlMjcyZmRkMzdhNDZjZWM3MzM3MTg2IGxlZ2FjeS10cnVuaworMzMyMzIgZjI2ZDEzMjM2Y2U4NGE4MDllYzI3YjY1MWNmNzEwM2MyY2UxNmM1OCBsZWdhY3ktdHJ1bmsKKzMzMjMzIDFhYTkwNTdjMzhiNGVkN2E4YjUyNWExY2FhMDExM2FjYzcyMTZiMWIgbGVnYWN5LXRydW5rCiszMzIzNCBlZWQ3NDMwYjdhZjE0YTdmNTllM2M1ZTU0OTg0ZDdhYjM4MDE2OGI5IGxlZ2FjeS10cnVuaworMzMyMzUgNWM4NzM3YmQ0Y2U2ZDRmYmE1MjUxM2RlNmY1ZmIzY2QxYTEyNGRhYiBsZWdhY3ktdHJ1bmsKKzMzMjM2IGUyZjc4MzQ4ODAyNDhkNGMzMjVmYmMzODlkZTg5ZGI4ZTI4MTllYjAgbGVnYWN5LXRydW5rCiszMzIzNyBjZGM3NWRlMmY1YzFhNjRmM2FkZmYwYjQ3YTNmMDgyZDgwYmNmNDZiIGxlZ2FjeS10cnVuaworMzMyMzggYjhiNTdiZGJmY2VkZjRjOGYxNDYwNDAyNDMxNWYwOTkwYzk0NjQyYyBsZWdhY3ktdHJ1bmsKKzMzMjM5IGY5M2I5MTllNTcyOTBlZDI2ZDUyNzIxYTJjMmY2ZTFkYzQ4OWM0MjEgbGVnYWN5LXRydW5rCiszMzI0MCAxNjllMDFlYzM1OTY1OWZjZTNhNjNhNDEwZTQ0MGE2NWUzN2Q0NGJlIHJlbGVhc2UyMi1tYWludAorMzMyNDEgNTYyM2Y5ZTJiNTU1ZjBlOTcwMDZjYThhMGMyMWVjZDQ0NjZlMjYwOSByZWxlYXNlMjItbWFpbnQKKzMzMjQyIDYwY2U3M2VhOWM5MmYzNDJmNTUyZjY3NTVlY2UxNGFkMGVjNmExZGIgbGVnYWN5LXRydW5rCiszMzI0MyBhOWE5M2ZjNTBiOGQ4YWU3ODc4YjYxYzVkZGYxMDVhMmZmYzQwNjM2IGxlZ2FjeS10cnVuaworMzMyNDQgMzEyZmI3NmI3M2NjN2M3NGQxOTE2ZGZhNzIzZTVlMzYyNTRmMmNmMSBsZWdhY3ktdHJ1bmsKKzMzMjQ1IGVlMTRlNWIwNmVkMTM2YjEyMzgzZGFiNjFkMTYyOWViYmFjNzc3OWMgbGVnYWN5LXRydW5rCiszMzI0NiA3ZmU0ZTlmMTY2MzQ3YjY0MWZhNGRlZDZkM2NkZDRkNmNkMjE0NWY4IGxlZ2FjeS10cnVuaworMzMyNDcgZGEwMjQ4ZmNmYzUyNTFiY2Q3MTBjYWIxNTE3ZDIwNzhjMjA0ODU1YiBsZWdhY3ktdHJ1bmsKKzMzMjQ4IDlkZjFmM2Q4OWU2MDBjNDE4N2UzM2Q5NTE0YjYzOGMxMTQxMjIzM2YgbGVnYWN5LXRydW5rCiszMzI0OSA4YjE2MzM3MDM3MmRkYWQwZTAzNDA2NDg4ZDA1YjBjNTk5MWJhNmM4IGxlZ2FjeS10cnVuaworMzMyNTAgN2Y3OWVhZDcxMmY1OGQ0NzFkZjdhNDQzMDY3MzUwOTcxMjM0MzRmOCBsZWdhY3ktdHJ1bmsKKzMzMjUxIDk5NjVlYmNkZDE3MmY5MmY0MTA4ZjM1MzBhNWE1OTBmNGQ4YWNhNjAgbGVnYWN5LXRydW5rCiszMzI1MiBiNzhkNjNkYWUwMzA3NmU5Y2RhN2Q1ZjdmNjM0YWQ5NTNlZDBjZjgyIGxlZ2FjeS10cnVuaworMzMyNTMgODgwN2U5MDFjNTI2Y2I0NGJiOWE2NjBlMzY5NzhhY2QyYzc2MzE3YSBsZWdhY3ktdHJ1bmsKKzMzMjU0IDRhM2VmMzgwNzhlNTUxNTdkMzdlZDRiOTI4MDg1NDg0OTA3ZjE2YTUgbGVnYWN5LXRydW5rCiszMzI1NSA5YTMwNDRlNTc4MWVhYWM1ODg0YzZiY2NiZTE4ZTYyMmEwM2ZhOTM2IGxlZ2FjeS10cnVuaworMzMyNTYgYTQwY2YxZDBhODg3ZmRmYjdjNmUzMjliM2Q3MTJiN2ZmZmM0YjRmZSBsZWdhY3ktdHJ1bmsKKzMzMjU3IGVhYTA2MmZkZDQ2YWIwMjY1NjE2Yzg0MDU0ZDgzOWIyYTFlZThiYjYgbGVnYWN5LXRydW5rCiszMzI1OCA4OTExY2E4ODk4MWFmODYyZTYzZTRhYWFlOWNiMjRjYTdjNWI3YThlIGxlZ2FjeS10cnVuaworMzMyNTkgYjM1ZmY5YjU5MTQ5MzFjMzg4ODBkOTI3MDlmNGU2OTUyMmZlYzQzYSBsZWdhY3ktdHJ1bmsKKzMzMjYwIDQ2NmI1NzllMDA4ODIyNjJiZmIxMmEyYWUzMTE1OGEzMTliYTRlNzggbGVnYWN5LXRydW5rCiszMzI2MSAyMDFjZWFmOTU5NzUxZjQ0MmEzYTYwOWI3NjViZmQyZmZjMjA1ZTg3IGxlZ2FjeS10cnVuaworMzMyNjIgMmIxM2I1OGFlM2E4ZTc2MzdhZjg0M2NjZjcyNDg1NTA5MjY2OWU1NyBsZWdhY3ktdHJ1bmsKKzMzMjYzIGVhMzg0YjFkMGQxM2RiYjY3N2NjMTk2ZjQ2MjE0YzAxZTI1ODIzOWUgbGVnYWN5LXRydW5rCiszMzI2NCA3YjUxOWVhNzUwMWFhYmYyOGFiM2E5MWU4MTU4MWZlNDI5YzUxOTVjIGxlZ2FjeS10cnVuaworMzMyNjUgY2FhOGMxMjBlMmNiMmIyOTZkNjA3Y2ZlM2RiZDA5Yzk5M2RjODhiYyBsZWdhY3ktdHJ1bmsKKzMzMjY2IGZlYThkZWUyNzMzMmZmY2Y1MmY1OTVlMWZlOWQ4NDEyNjIzYjNiNzYgbGVnYWN5LXRydW5rCiszMzI2NyA4YTI5MTZjNDMzZDk0ZmRiMmM5NDc3MzY5NWQ1YWE0OTg2MWE0MTE4IGxlZ2FjeS10cnVuaworMzMyNjggZTQzMTI2YzQ3MGE3NmVhOWZiZDNiOTJlN2U4Yjc4YWY2MzFmZjc5NSBsZWdhY3ktdHJ1bmsKKzMzMjY5IDJkMTZjM2VmZTE0N2U3YmQ0NGI3ZDc4ZjRmZmNkM2Y0ZjVhOTg2YTcgbGVnYWN5LXRydW5rCiszMzI3MCA2MGI1M2RiMTRhYTNjYzQxYTJjZWVjODQ3Yzg1MGZiZjVmOGMyZDQ3IGxlZ2FjeS10cnVuaworMzMyNzEgYmU2MjAwMDdlYzFmNTI2NTIwMTg2MDFiZmJlMmY1ODA1NDE1NmE2NSBsZWdhY3ktdHJ1bmsKKzMzMjcyIDAxNjlhY2RmMmI1YmMyNjk3ZTE3YWUwMmQyNjU2ZmNkYzg1NjNhZWQgbGVnYWN5LXRydW5rCiszMzI3MyBjZDNmOWIxNzBjMzdmY2JjMTkyYTdjMGU1MDk4ZWViNjIyZGVhMDNjIHJlbGVhc2UyMi1tYWludAorMzMyNzQgY2FjODU1Mzg3YjU2N2I2OTY3MGFjOGRiZTY4OTc2M2I4ZjYzMGViYiBsZWdhY3ktdHJ1bmsKKzMzMjc1IDg2MzQyZmE4OTIwZGFmZTMwYmYxZDNmOTk1YmQ2MTQwNzkxZGVlNjEgbGVnYWN5LXRydW5rCiszMzI3NiAwYmRiNGFjZWQ2ZTIwZDg2NmNjMzVmODdmN2NjYzg0NTE1MjFkNTljIGxlZ2FjeS10cnVuaworMzMyNzcgY2QwOTNhOTkyMzhkNzIzNjQ3ZDkyZTI0YzdkNTU5ZjIzNmEzYjQ4YSByZWxlYXNlMjItbWFpbnQKKzMzMjc4IDQ0ODFjNWJkYTE5NjZhZDg2MGExNjllMzAwMWNlNjk3MDA5OWM0NjkgbGVnYWN5LXRydW5rCiszMzI3OSAxYmE5MGQ1MTQ5N2JhNjg1NzAwZDhmMDA0ZGZlZjA5ZjQ0MWRiMDFlIHJlbGVhc2UyMi1tYWludAorMzMyODAgYmFkY2QxNThkODFjYTIzZjYxNzlhNDk2Y2QxMTczZTIxMmVkZDFjZSBsZWdhY3ktdHJ1bmsKKzMzMjgxIDU4MjUxZTBhOGI3ODdiY2UzYjM0ZjVmNWZiYzA5YmIzODRkZjAwZWIgbGVnYWN5LXRydW5rCiszMzI4MiBmODA2OWY3ZWRkNGEyOWJmNmM1MDRjZGZkYzRhOTU0OTAxNGZiYjU1IGxlZ2FjeS10cnVuaworMzMyODMgNzdlZGEwZmIwZTE0OWQ0NzIwMGUyYjg0ODFlOThiYjJkMWEzZjY4NiBsZWdhY3ktdHJ1bmsKKzMzMjg0IGRlZDlhYmNiOTE3NGFhNzc0ZDJhNzU1MmQ0MWVjZDFlNTk5YTMyMDIgbGVnYWN5LXRydW5rCiszMzI4NSA3ZDMwNTg1YTU5MzQwNTUxNWY1MTRjNDgzNWU0ZWU4NjhkYWQxOTAwIHJlbGVhc2UyMi1tYWludAorMzMyODYgODUzZTZhMmI5MDY4ZWU2NDMyMTQzMTcxMTMwNGQ1ZmZhZTlkM2IxYSBsZWdhY3ktdHJ1bmsKKzMzMjg3IGE0NjQwMjBmMTVkNjc1Mzg4N2Y2MmE3NGIxYzA5OWQ2Nzg5ODQwZGYgbGVnYWN5LXRydW5rCiszMzI4OCA3ZDQxNzg1ZmI2MGM2ZTQ4MjdlZDZiYTVjZmU0YjVkNzdjZTQyYjVjIGxlZ2FjeS10cnVuaworMzMyODkgYmExMmQyYjRiMzFkZGJiNmFkNDkyMzI0ZmJhMTg1ZTg2YjFmZmU4ZSBsZWdhY3ktdHJ1bmsKKzMzMjkwIGUxZmEwN2JmODU0ODg4NWIwOTI5OTQ0ZWUwY2RkZDY5NDNmZDgxM2IgbGVnYWN5LXRydW5rCiszMzI5MSBiYzEyMTVmN2RiYTM4NmI1ZGJmNGRmMWEyMDk5YjNhNzQ0MTgwYjNlIGxlZ2FjeS10cnVuaworMzMyOTIgYTRkNmJjNzFmMDkxYzI3YzllNGFlOTJiNzFiZmY5Y2VmNzBkZTM4YyBsZWdhY3ktdHJ1bmsKKzMzMjkzIDQxMGIzYzIyMjIxMTRjOTg1YjczYWFlMTI2M2JmYzA4N2RjNDQyOGEgbGVnYWN5LXRydW5rCiszMzI5NCBmODgzZGIyNWQzNDQ0YmRlYWEzM2VjMDM5ZGZiMGU5YzAyYjMwN2JiIGxlZ2FjeS10cnVuaworMzMyOTUgNjc2YWE2MjgzMGQwZTk5NTJiYWQwZWE3MTUxOTkzMGEzMWU3ODQyMiBsZWdhY3ktdHJ1bmsKKzMzMjk2IDUzMDRiZmYyNWUxODM0YTYyNzY5ZmNhZjc3YzFiYWM1M2JmYzExMGEgbGVnYWN5LXRydW5rCiszMzI5NyA2YWE5NzJhMjFhYzRjMTcyZDY1MmQ1NmY4Y2VkOTY0N2NiMmY5ZmE4IGxlZ2FjeS10cnVuaworMzMyOTggMWVjZGI5NGExODUyMmY4OWVmN2NhMTAxZTY3ODExOWUyMmMyNmQ3YSBsZWdhY3ktdHJ1bmsKKzMzMjk5IDlkZTgyZGJjM2JkMDJiN2JiZTg3YjkxZjMzOGIxMDZmNjRmNWRhNDYgbGVnYWN5LXRydW5rCiszMzMwMCA5NzNiMWUyZTI3MjYzODE1ZDI4YmRlODBlYzAwZjhhOGJhM2Q4NTY4IGxlZ2FjeS10cnVuaworMzMzMDEgNWQ3ZTZlODI4MjE4N2Y1ZDM0MTdhM2MyNGMxZGU4N2ZjNDRlMjM1OCBsZWdhY3ktdHJ1bmsKKzMzMzAyIDdkNWE5YzFhMDE5NzA4NDYwYzFhNmVmZDNlZTZmNDVhZTUwNjFiM2MgbGVnYWN5LXRydW5rCiszMzMwMyBhZDJkY2E1Y2ZlODFhNzcwN2U4NjA4MTA5ZThhMzZjMzc3NGY0MmQ5IGxlZ2FjeS10cnVuaworMzMzMDQgNDkwOWFhNjQ0MDVmYjFjMjA2ZjBkNzRlNWQyMjI3Mjg2MGZkNTcwMiBsZWdhY3ktdHJ1bmsKKzMzMzA1IDU4ZjE0MWQxY2NjYTI5OTVjMTM5MjIxOGJmZGQ0N2I1Nzc2OTg4MmYgbGVnYWN5LXRydW5rCiszMzMwNiBmYTk3MjkzNTMzYTkxZjRkYzY5Mjg2YmRhNjkzNThkZmVlMTdkMzE5IGxlZ2FjeS10cnVuaworMzMzMDcgYTYzZWE3YzQ3NWNjNWUyODAxZDAxZjhkYmU3ZWRmODlkZjFlYmU1ZSBsZWdhY3ktdHJ1bmsKKzMzMzA4IDYxZjk4ZWQ0YjZiNThkM2JmY2MyNmY4NGQ4ODdiZjA2NWYxMzUwOTggbGVnYWN5LXRydW5rCiszMzMwOSAwNTA5YTc2NTIxNjdmNDhhZjNmZWExNWRkM2Q1OGZjNjQ1YzQxZDY0IGxlZ2FjeS10cnVuaworMzMzMTAgZDY2OGE4MzM2Nzc0NzgxY2Q3ZmEwNmZlOWQ5MmQzOWNjY2QxNTRjYyBsZWdhY3ktdHJ1bmsKKzMzMzExIDQ2MmRlOTMzMzI1MWNhODAxNDA0NzE2YmQ2NDQxMDI5MmZkNWM3MGMgbGVnYWN5LXRydW5rCiszMzMxMiA4YmQyNTgwZTAxNTU1MjFkZGUzNDc2MzEzYzE2Mjk5OGEyYzViYzliIGxlZ2FjeS10cnVuaworMzMzMTMgMzg4MTg4M2I5NDBlYzBlNDMwYjQ4NjM0MjExNWFkYWY1NjYxNGJiMSBsZWdhY3ktdHJ1bmsKKzMzMzE0IDBhMzc1MWRmNDE5NTJiNTRmOTA2NDljOTAxNjg2ZmQ5OGFlMmQ5YzIgbGVnYWN5LXRydW5rCiszMzMxNSA2MDQ1NDJlNTkxZmE2ODFjNjQ4ODc5YmI2Yzc0NmY2ZmU3N2NkMGZiIGxlZ2FjeS10cnVuaworMzMzMTYgMTZlZWQyZTk4ZmQ5MzU0NjhkYWQyY2E2MThjOWQwMjI2NjBhNTMzOSBsZWdhY3ktdHJ1bmsKKzMzMzE3IDY2YjZkMWNlNDJmZTYxZTIwMzk0OTM2YmFlYzljN2JmOWRhMGQ3NjUgbGVnYWN5LXRydW5rCiszMzMxOCBmOWI4ZDRiZjA4ZmI5YWQ4YTk4NjE4MGUxMTA4ODJkYjRmMzdjN2ZkIGxlZ2FjeS10cnVuaworMzMzMTkgNTgyODg3YmE3YTY4ZGQ3Y2Q0MjZmY2M5OGQ4N2Q3YmE5ZmVlODQ5OCBsZWdhY3ktdHJ1bmsKKzMzMzIwIDViMTA1YTk1MDMzNDhmYjJlZGFlYjViNDAyMmQwYzczMmM5NmFjNTAgbGVnYWN5LXRydW5rCiszMzMyMSA5NTUxY2RhZjZlN2UxYTg4NDIyM2FiZDZmZjM1N2UxNzZlMDExOTUxIGxlZ2FjeS10cnVuaworMzMzMjIgNjk2MTk1NDJhOTE2ZTM0M2QyYjM3MDE0MWYwMjcwMmMxNDc5ODFhNCBsZWdhY3ktdHJ1bmsKKzMzMzIzIDlhNGJjZmRkYmZhMTJmMTU0NTNiYzJiNzVmOTZhNWNjNWRmZjA2YzEgbGVnYWN5LXRydW5rCiszMzMyNCA3OTMwM2RlOWEwNWE2ZWYzYzg5MzJlNmU2NTIxMThkY2Q3ZmIzY2MwIGxlZ2FjeS10cnVuaworMzMzMjUgMTMwOGQ3ZWM5OTUzNTA5OWUzZWJmZmY1ZTAxZDQwNjY4ODBhMDllNiBsZWdhY3ktdHJ1bmsKKzMzMzI2IGNiOTNiODYyNTMyZjQ5MDMxYzJkMjYyN2E1NTA4YWQzMDNlNjVjNzAgbGVnYWN5LXRydW5rCiszMzMyNyAzY2IxODIxMjUyMWQzNDg5YjA1ZmM1ZGE4NDEwZmE1MjcwNmRlMGIwIGxlZ2FjeS10cnVuaworMzMzMjggZDc2MjZiODBkZTk1MTY5NGFmNjQ0ZWVhZmYyMTM4ZWI5MGFjMjJhYSBsZWdhY3ktdHJ1bmsKKzMzMzI5IDcxMGMwOWY0YzA1YTIzZjRlMzI0YTZhNzc3OGJiMjRmNTk1ZDNkNjggbGVnYWN5LXRydW5rCiszMzMzMCBiYTc1YWY3YWIxMzZmMzFhOWQ4YmM4ZGJkZjZlMmE0ZjUzMmYwN2YxIGxlZ2FjeS10cnVuaworMzMzMzEgMzZhMTc5MDRhM2VkMDA2MGU0YTFjYzk3ZmQ3OGFlODhmOGQ5NTA3NiBsZWdhY3ktdHJ1bmsKKzMzMzMyIDk2ZWNhYWI0Y2JhNjgxMzhjNWM1Nzg5MDVlOTc1NjFhOWQxZThjYzAgbGVnYWN5LXRydW5rCiszMzMzMyBiZTk5ZjU5NzA2ODg5MGNiZmNlMjdjMDNlOTJkNzRjZTBkNDU2MDQwIHJlbGVhc2UyMi1tYWludAorMzMzMzQgNjZkYzA1MDEwNDdkNGMyNjA5N2FjNjZiYmM4OTVhNThlMDRjZWQxOSBsZWdhY3ktdHJ1bmsKKzMzMzM1IDRmZjgzYzBiNDVlOTI1MjJiMThjZDU5ZmQ1MDIyMjE1Nzc3NWZkODggbGVnYWN5LXRydW5rCiszMzMzNiA1MTM5N2VkZDJiZDRkNWQzNmE4NTczMjU5ODIzYWM1NTc4ZWNlYjEzIGxlZ2FjeS10cnVuaworMzMzMzcgZjA4MTE0N2MwYzhhZmFiNTQ4NGRkMzhjZTc3ZjU1OGE2OGIyNWNlNSBsZWdhY3ktdHJ1bmsKKzMzMzM4IDI2OTJiMWM5MmU4ZDkxYTM2MmM1MjA5YzJlNDE3ZjkzMjMyNTA3NDMgbGVnYWN5LXRydW5rCiszMzMzOSAwNTJiZmNiYWJiN2I5ZDkyZjFhYzk2Y2UzNWYyZDdhYjdmNjRkNzk1IGxlZ2FjeS10cnVuaworMzMzNDAgMzY0MDI3YTgxNWI4Y2YyNTMxZTI1YzI5MTg3NTExNGQ5YWFiMzFiYiBsZWdhY3ktdHJ1bmsKKzMzMzQxIDI4MGZiZTVmNGUxNmVjYzZjZWI2NTNiZWRhNTVjZmZiYmQyNjdkZjYgbGVnYWN5LXRydW5rCiszMzM0MiBkMGYxNTk3N2YzN2Y0NzUyYzVhODc2MWM0Njk5NjZiM2QyYTkzODBiIGxlZ2FjeS10cnVuaworMzMzNDMgNGUxYTQ3ZjUyMDRjYmU0MTk4NjU0ZTMzNTE1NTJjNjhhOTBhYjMwYSBsZWdhY3ktdHJ1bmsKKzMzMzQ0IGMxNDlkZDRjZmQ2NmRmMWFmMWE3OTMzMDExOGRiYWFkOThiOTU2MTggbGVnYWN5LXRydW5rCiszMzM0NSA5MjA3Nzc2NDBkMjg5OGQ3NzBkOTdjYzdmZmFiZjMzODEzYzhiMTM5IGxlZ2FjeS10cnVuaworMzMzNDYgZDM4ODBjMjM3NjI3ZmFjNWM1N2U0ZDU3NzRiYWQ4MDFmMGI4ZWI5ZSBsZWdhY3ktdHJ1bmsKKzMzMzQ3IDZkOWVkNTRhNDgyMTkwYzczNTJiYzBkMWNlMTk2MDMzYmJmNTNjYTggbGVnYWN5LXRydW5rCiszMzM0OCBlYjBiNjdlM2MwNGVjNTY3YTI5YTdlNzQxNTcxNDc3OGEzZDllOWFiIGxlZ2FjeS10cnVuaworMzMzNDkgMzcxMDkyY2U1YzJiYzMzY2Q1ZjgzMDk3YjhjOTRkZjNkMjdmZDQzNCBsZWdhY3ktdHJ1bmsKKzMzMzUwIGM1YmIzMWU0NWM2Njg3NmIwMDg0NTYzMzhhNWIxNzUyMTk1ZTQwMWUgbGVnYWN5LXRydW5rCiszMzM1MSA5ZmU2N2Y3ZjM0NTlhYjU2Nzk4YTViZWE3ZTRiN2EwYTFjNzlkNTgxIGxlZ2FjeS10cnVuaworMzMzNTIgN2EyNzY2YzlhN2I1OGM4NzY4ZjNiNDkyOTc3NDE4MDFhNzQxNTk4NiByMjNiMi1icmFuY2gKKzMzMzU0IGY0ZTJlNWE1ZWM2MjJiMTE3YjhiNmM4YjE2OTQ3MDg3NzY2YTc1M2EgbGVnYWN5LXRydW5rCiszMzM1NSAyNWI5ZmQ2ZDhlMzAwYjQwNDU1Mjk1YWIxZjZjZDg0OTBjMzFhNWIzIHIyM2IyLWJyYW5jaAorMzMzNTYgNzJkY2M2M2Y0ZGVhNmI2ZjBlMWY1NTVkNmZiMzJkZjFiYTU4YzQ5NyBsZWdhY3ktdHJ1bmsKKzMzMzU3IDg0MmQ5ZTMwZGI5YzM3MjZmMDhjNDM5YTBiN2M0NjZkN2UxNTY2ZjYgcjIzYjItYnJhbmNoCiszMzM1OCBlZjdhMWQyODU3NzE0OTQ3YjY1NDNiNmIyNTVkZmQ3YmJiYzhkZTUyIHIyM2IyLWJyYW5jaAorMzMzNTkgZjRmMTFlZDNhZTQ0MDllNzZiZmQ2MjA0ZWFmZjEyYjllMzk1NDg0NSByMjNiMi1icmFuY2gKKzMzMzU5IGRjMWIxYzdhNmI5ZTY0ZjdhMjExZWE5ZThhN2RhNDgzYzJiYmExNjcgcjIzYjItYnJhbmNoCiszMzM2MSA1MzdjOGIxYWVmN2ZhYzg4NjZlNmRiYmJlNDNkY2IyNzMzNmY0MmQyIGxlZ2FjeS10cnVuaworMzMzNjIgYzRmOWZmMjkxMjI5YmM4ODQ2YjE1YzY2NDI2Mzk0ZGI0NWQyZDE5YyBsZWdhY3ktdHJ1bmsKKzMzMzYzIGQ3MTY0ZmJlYzdjZTE0MDM5MWJiYTY4ZWZjMDI4OTYzMmUwNTk3YmYgbGVnYWN5LXRydW5rCiszMzM2NCAyNmJhNzFhYTViMjE1NTU2YTczZjU2YjVhZmM2YmU3YWI4YjFkODU5IGxlZ2FjeS10cnVuaworMzMzNjUgZDBkYzk1NjQ2N2JmMWI2Y2M2Zjk0YjBlMDkwYTZhOGIxNDQ3ZTkzMiBsZWdhY3ktdHJ1bmsKKzMzMzY2IDNlZDJjOWE3Njk2NTY4MzM1MmVlZWQxNjZmZTYwZjEyZjk1MzgyOWQgbGVnYWN5LXRydW5rCiszMzM2NyAxZDc2Mzg2MmQxYTFkNzAyZDkwMTM2MmQ3OWQ3ZjEwYzc3MWViZGM5IGxlZ2FjeS10cnVuaworMzMzNjggZjFjMjc5ZDcwMGE2ZDZmMGNmZTc2MTM4ZjM0NjA2OTkwYzJlZjhjNCBsZWdhY3ktdHJ1bmsKKzMzMzY5IDhkYmM0ZWM1NzIwZGJkNWYzZDk5YzVhNTY0NmJhY2ZjNGI3N2U2MGYgbGVnYWN5LXRydW5rCiszMzM3MCA2NDgzZWVhZWFkODJjMGViY2ZlMjZkYjU2MjQ4ZDc0MDM3MDU0MzUwIGxlZ2FjeS10cnVuaworMzMzNzEgN2I2ZmE3YmIyNGYwNjQ2ODRmMzgwNTMwZDU0NDZlYzdiZDQ0NTE4YSBsZWdhY3ktdHJ1bmsKKzMzMzcyIDhmZjA0MGU5ZDU2Njk1MTJhMmM3ZTI5Nzc1ZjFkOTdhYzRiNTEwMmYgcmVsZWFzZTIyLW1haW50CiszMzM3MyBkNjc3NDI0YzljYTcxMDU5MzE3MjRhMjdlNzc3M2U2MDM3MTA5YTczIGxlZ2FjeS10cnVuaworMzMzNzQgODkxZTU1MDJlYzllM2IxMThkYjgyMmVlNjgxYmQzODBlYTJiMzExNyBsZWdhY3ktdHJ1bmsKKzMzMzc1IDE1MzY5NDFiNTQ3ZjA2ZDNjOGIyN2U3ZGU4NzFiYzVmOTY4YmY1YTQgbGVnYWN5LXRydW5rCiszMzM3NiBhNGZlYWQwZTI0ZjhhZWZjYmI5NDQ3YzFkM2ZlMTljZDc5ZmYxOGRkIGxlZ2FjeS10cnVuaworMzMzNzcgNzYyZTJhMjk3YWI5N2EyMWJkN2U1YjYwZGVkNzNjMDg1MGMxOTQwNCBsZWdhY3ktdHJ1bmsKKzMzMzc4IGUzODE2NGFhNWJlNTEzYjdkYjhiMThjYjczMmVmYzFiYjczNjkzYTMgbGVnYWN5LXRydW5rCiszMzM3OSAxZjM1NDdkNDkzOWZkYzg2ZTcyYTgyOGUyNTNiNjUxYTlkZmE2Mzk2IHJlbGVhc2UyMi1tYWludAorMzMzODAgNGQyNjU0N2ViZmMzODg0YzYzNGIyYzk3YTRjNTdkYTg5ZjU4N2FjYSBsZWdhY3ktdHJ1bmsKKzMzMzgxIGQ4ZDE5NzU1MWExZWRiZWVmZWFlMmQ4ZTVhNDMzZjIxMzg0OGIwMjEgYXN0LWJyYW5jaAorMzMzODIgYjc1MjhkYWU3NjU2N2IxZjVmMTE2ZmE2OWRmNjIxMDY2YTM4NDIwMyBhc3QtYnJhbmNoCiszMzM4MyA1ODEzMmM4MTNkN2JlOTQ1ZWE3NmQ4YWY4YTdlODkyMThjYjUxOGYzIGxlZ2FjeS10cnVuaworMzMzODQgOGVkMmVkNzc4Njk0MTY1MmUyOGM0NzE1ODVmMzhkOGI1ODhlM2ZlMCBsZWdhY3ktdHJ1bmsKKzMzMzg1IDI5MmU4NDQ2NmU3ODE5NWQ0ZjU2MzdjNzNmYjJmNWUzNzQzNTdmYTcgbGVnYWN5LXRydW5rCiszMzM4NiBiZjA2MzRjYzBmMTc1MDhmZThjYzdiZWM3OWRmYTk4OTNmMGJlM2M1IGxlZ2FjeS10cnVuaworMzMzODcgZTk1MzFlZTVmMTg4OWY5OGQxNTQyMjhhYjFiZTJlZmNhOGNlMDVhYSBsZWdhY3ktdHJ1bmsKKzMzMzg4IDlkMzNkZDJjY2ZlNmE2ZTk3NmZmMTFlNDM2NWVlNTE0NTdjNTk0YWIgbGVnYWN5LXRydW5rCiszMzM4OSAyYTVlNmNlM2YzYTE1NzUyMGE1YzQwYjA1MDYyODVlMzEyYjQ1ODhlIGxlZ2FjeS10cnVuaworMzMzOTAgNzI0ZjJlZDc5ZGE5YjNkMzZkYmU0NmU4OTM1MTQzZDg4NDZhMjEzNyBsZWdhY3ktdHJ1bmsKKzMzMzkxIGZhNGNmODc4YzUzODQ0OGM4ODA2NjliZDI5NWZjMThiOTk4ZDdjOGYgbGVnYWN5LXRydW5rCiszMzM5MiAwNTJmZTk2Njg0ZWFiNmQ4NmQ5NjJmNTQ3ZDg5ZTk5YjMxZGNiMjRlIGxlZ2FjeS10cnVuaworMzMzOTMgMDllNDJmNzlmODMwYmRmMjQ5ZDI4MzgzYzRkYzVhYmQ0Y2MxMmM5NSByZWxlYXNlMjItbWFpbnQKKzMzMzk0IGE0NGQyNjdmMDE2MjlmYTRjMzMwOTQzODYxZjA2ZGI0MjAzYjYwMWMgbGVnYWN5LXRydW5rCiszMzM5NSBjZGIyMTdhOGViMDQ0NWRjOTgzN2JkZGMyOWQyYWM2OGJjZjUzYjNlIGxlZ2FjeS10cnVuaworMzMzOTYgM2I3YjRmZDVmN2NhZDU2YmU3ZjBhYTFhZDFlNTI5YzE2NGFmYTMwMSBsZWdhY3ktdHJ1bmsKKzMzMzk3IDdkMGFmNDU2MWVlZDFkZTA2ZDUzNzQyN2UwZjhkNzEwODI1ZmNjNmIgbGVnYWN5LXRydW5rCiszMzM5OCA4NWU1MmVjODU2Mjk5NzY3MGMxOWM1YThkOGU2NTEzZTExNWY5YWM2IGxlZ2FjeS10cnVuaworMzMzOTkgOTYyZjQ0M2FlMWQ5MWIzODQ0ZjdhYzVjNGYyZDVmZTI5N2FkMDk4NyBsZWdhY3ktdHJ1bmsKKzMzNDAwIDRjOTBhNjMxZDYzMmVkZmU0ZTYxMDAxZDg5ZDJiMzc1Njg0ODc4MTAgbGVnYWN5LXRydW5rCiszMzQwMSAzNzIxNmUxYzY3NDcyNGUwZDA1ZjRhZDAzMWIzMGU4NDIxNTIxY2Y2IGxlZ2FjeS10cnVuaworMzM0MDIgMGUxMzFlMjk0NjYyNWU3NWNmNzgyZDBmY2Q2MzEyOWE1NDVhZWQ2MSByZWxlYXNlMjItbWFpbnQKKzMzNDAzIDQ1MmUzM2EwOGQ1NTcwYTA2ZjhmM2Y4ZThkZjk0ZDRlNjYxNThkNmIgcmVsZWFzZTIyLW1haW50CiszMzQwNCAxMjQ3Zjg0YWE2YTZjMDNjOTE1ODViNDBlNThhMTVmMTM2NzJlMTM4IGxlZ2FjeS10cnVuaworMzM0MDUgMzliZTViMjYyNzkyYzk4MDBkZGRmYzFmNTgyZGM0NjllMjdjYmVhZSByZWxlYXNlMjItbWFpbnQKKzMzNDA2IGY0MzI5NmNiYzk4NTAxMzRlNGFiZmMxMGU0MDA1ZTc2NmFmMWU3ZDkgbGVnYWN5LXRydW5rCiszMzQwNyBlODUwY2M1MWMyOGZkODhmN2Y1Zjk0NDZhMmUwODBhMzkwNzg4MDI2IGxlZ2FjeS10cnVuaworMzM0MDggNjVlNTJjMjQ3NWNlNTEzNTk0ZWQ5YmI2Y2M0NWY3MmQ3OGY0YWQ1YSBsZWdhY3ktdHJ1bmsKKzMzNDA5IGE1ZTczMzZjMDA4ZDM4YWRiODllMjE3ZGQ3YmExNDIzMGZhOTQ0NGYgbGVnYWN5LXRydW5rCiszMzQxMCBkNWYyN2U2N2UxYWFlOGNjY2NlNjE5MTkxOGJjNmZhYWVhZTIzYjVkIGxlZ2FjeS10cnVuaworMzM0MTEgM2FkODk4YjhmODEzYWM1NWYxNTMxYjg0ZjBlODQ3MWM4ZmE1NDlmZiBsZWdhY3ktdHJ1bmsKKzMzNDEyIDRjOWVmMmE2Mjg2NGQ1YWI4OTFmYTc2NGY4YjdlNjAzMjczZWU0NWUgbGVnYWN5LXRydW5rCiszMzQxMyA4Y2E5Y2UzNmEyMDZmZmQxYTg0M2I3NGY4ZDA4MGRiNDg0ZjFlMzA1IGxlZ2FjeS10cnVuaworMzM0MTQgNjg4MzViZjEwMWVjYjEzY2M5NTc0ZWZjZDg4ZDk5NmU2ZGZjMWIwMiBsZWdhY3ktdHJ1bmsKKzMzNDE1IGI5YzQwZmRhNjA5ZGJmNzY2YmNiY2VkMDhjYzZkMzk0Y2Q2OTkxMGEgbGVnYWN5LXRydW5rCiszMzQxNiA0ZjkyOTNjYTJkZTYxMmIwMzUxYTU5ZmE3MmJhODdjN2JiN2YyZDRmIGxlZ2FjeS10cnVuaworMzM0MTcgMzJmOTZiYWMyMTEzY2YxZDY4YmZhNDBjODUxMDNiM2NkYzhiYTI2MCBsZWdhY3ktdHJ1bmsKKzMzNDE4IDYxZmI5OTZlYmE2ZTBlYjAwYjU5M2JhMmIzMGYyZWUzODViMTJmOGQgbGVnYWN5LXRydW5rCiszMzQxOSBlYjgyOGM2NGZjYzdiYWVjYTAwN2VmZmU4ZGZmOTI0NGMxNjY4MzYzIGxlZ2FjeS10cnVuaworMzM0MjAgNWFmODkwMzdjZWJhMDgxNWY3MDllZDNhMzBhNTc3MTIzNWZiMWU2NCBsZWdhY3ktdHJ1bmsKKzMzNDIxIGFjOWExZjBhMzNkYzhlZTdhODBjOTVmNzM0MTYzYWY4NWM3MjUzOTIgbGVnYWN5LXRydW5rCiszMzQyMiBiODY0NDZmMDM1MGZmMDE4ZDg3ODIwYjExMDIyNzJkODQxMjg2YzIyIGxlZ2FjeS10cnVuaworMzM0MjMgYjU4MjFlMTc2NDUzODAxMmI1MTE4OTU2YmM5Y2Q3NGNlOWZjMTZkYiBsZWdhY3ktdHJ1bmsKKzMzNDI0IDlhNDQyZjRhNjQ0M2RkMWQ2MTQ1MmI4YjkyZWMzMjJmYzY1NjY1M2EgbGVnYWN5LXRydW5rCiszMzQyNSBiNDRkZWVlYzVjNWVjOGZjMmIwNzIzY2VlOTdjM2IwNjhhMzU2Yzk0IGxlZ2FjeS10cnVuaworMzM0MjYgMDc1YjI5YWQ5N2MzMjFkNTdkNjM1N2IwMmQ3MWY2NDE1NjkyNDI1MSBsZWdhY3ktdHJ1bmsKKzMzNDI3IDU5ZGE1YjU3YzYxYmFjZDIyOWVkN2M1MWM1NDliMjQ2Y2VlNzQwNmMgbGVnYWN5LXRydW5rCiszMzQyOCAzYzFmNzgzNDBiNjVlODYyZjAwNjNlYjgyY2I3MTUxYjAzZDYxNmU1IGxlZ2FjeS10cnVuaworMzM0MjkgYjQ5M2E3ZTc1ZDk3N2ZhMmEyYTQzY2IwMWVkZTM1NmU5MGU3NTEyMiBsZWdhY3ktdHJ1bmsKKzMzNDMwIDA1OTFmZDk1NmI5ZDI4NTdiYjIyMWRmNDBlYzRhZjJjYzMwYWUxODIgbGVnYWN5LXRydW5rCiszMzQzMSA0ZWM4ODBjNTNlMmEzMDdkZTBjMTZkY2I0Y2Y1NTk4ZDM2ODljZGM5IGxlZ2FjeS10cnVuaworMzM0MzIgOWViNmRjZWQxNmU2YmUwNzc2NTg4NTdjMDQwYjFlZGNjZGQ1Y2FjYSBsZWdhY3ktdHJ1bmsKKzMzNDMzIDc4YzUxMDlmZmFkYTA2MzE5Yjc5MDkzMzcyMmZhZTYwZTRmYTU0MGUgbGVnYWN5LXRydW5rCiszMzQzNCAwMDU3NjVhNTZlYzM5YjIyNjAyYTYzZjE4ODcyNjQ4MGQ3M2E5ZjAxIGxlZ2FjeS10cnVuaworMzM0MzUgYjg0Y2MzYzc4MDhmODIzOTdmOWE3YTk5YzRlOTkzNWU0NDA5OWJhMiByZWxlYXNlMjItbWFpbnQKKzMzNDM2IGZlNWViMTc4MDBmOWMzMWI0N2Q0NTViZTNkY2U2MjJjMTA5NzQ0NmUgbGVnYWN5LXRydW5rCiszMzQzNyBlOWU1ODMyZDcwNmZmMWEwOTMwODUwMWQyY2QxMTAzM2ZhNGVkZjJkIGxlZ2FjeS10cnVuaworMzM0MzggN2E0NzhkMTNmMjdkYTMzNjljNmU5YjZmNjZlNjQ5NzFjNGIyYTdhMyBsZWdhY3ktdHJ1bmsKKzMzNDM5IDc3NzBiNzg4MTM0NmQyZTVmZjI3NzU5Y2QwMTZiMTY1Zjk5ODNmYjMgbGVnYWN5LXRydW5rCiszMzQ0MCBlZGE1ZDAxNWUxMWMxODYzNzc4ZjM4YzlkODIyMzUyYzNjNTE2NjNjIGxlZ2FjeS10cnVuaworMzM0NDEgMjhjZmE1NDZmMWVjNzY0ZGUyMzEwNjY2N2ViYzhlNTJhZTNhZGUwYiBsZWdhY3ktdHJ1bmsKKzMzNDQyIDA3MDM0NWFkOGQ3MWNjYmFhZDI3ZWFiNGU4ODhiN2M1MzQ1MmVmMTUgbGVnYWN5LXRydW5rCiszMzQ0MyAzMmVmZTU0ZDBlOGZmZDE4ZjAzNzFkNGYwYjFiYTRkMzhhMjFmOTJlIGxlZ2FjeS10cnVuaworMzM0NDQgZGRjMjQ3NDA0ZGFiM2VmMGY5NTY2ZjFhY2VhM2MxZTYyMTdiZmRjYSBsZWdhY3ktdHJ1bmsKKzMzNDQ1IDhlMjdlNWNkZTU5YWVkMTkzZDc4MTNiMzc0NmFkNzdhYzVmNTU2MDQgcmVsZWFzZTIyLW1haW50CiszMzQ0NiA5Mzk2MTM0Njg0Y2Y1OWM5MzQwZmFlZTFmYWIyYjIyY2YzNzJhYjM2IGxlZ2FjeS10cnVuaworMzM0NDcgZTZmOWY2YjVkOGQ3ZTcxMDEzYmJlNjdlOTFhMzQ1MjVjYWI4NmZhYiBsZWdhY3ktdHJ1bmsKKzMzNDQ4IGY3MzNiYWM3OGY4N2U0ZWZlODU0MzAwMTIzNGIxNGZiYzYzZmQ3OTEgcmVsZWFzZTIyLW1haW50CiszMzQ0OSA3MDU2Y2M1YzgxNjdmYzJlNGEzMzNmZDhkYzQzNmZlNDIzYzBkZTZhIGxlZ2FjeS10cnVuaworMzM0NTAgY2U5ODgzOTRjNzU0NzhmZGUxYTdiN2U5Mzk1YjYzZTE4MTY2Mzc3OCBsZWdhY3ktdHJ1bmsKKzMzNDUxIDJmY2RlMzJhOGE1Nzk5ZTU4NDM4NzZiMGU5NzhkOWRjYWY0NzQ3YWQgbGVnYWN5LXRydW5rCiszMzQ1MiBkYzZhNDY3MzE4NjA2Zjk4NTg2ZGE5Nzc1OWZjMTk5ZTZmNjhjMGQ2IHJlbGVhc2UyMi1tYWludAorMzM0NTMgZDdhZmNkYzY5ZWQ0OTFjY2I1NzVlNmI2MWE3OGFhMjliODEzNGFiNiBsZWdhY3ktdHJ1bmsKKzMzNDU0IGM3M2ZhZjVkZTFiZDNkMTQzYmZhZGFjNTI2Y2ViY2U5MGI0ODVkN2IgbGVnYWN5LXRydW5rCiszMzQ1NSA0NjZhNTQwY2MyMjlmYWIyOTg0Y2E0Nzk5ZjdjNTdjOGU5NzY1MDRkIGxlZ2FjeS10cnVuaworMzM0NTYgNGZjNTZjYWU0ZWI4YzE2NWRjMjAyNzQ3MzFkY2JiMWQ4ZTc1ODM1NyBsZWdhY3ktdHJ1bmsKKzMzNDU3IDMxZDkyMzU0ZjcyZjA5ZGViOWM2N2YwOWQxODE2NjY2MzY4NmI5YWUgbGVnYWN5LXRydW5rCiszMzQ1OCBjOGZiNGFmOTZkZTBlNWJlZTIwZDA5YzUwMTg4MDI2M2FmYWZhZGNlIGxlZ2FjeS10cnVuaworMzM0NTkgNGJhZmZlMTRjODg3NGExMmQ5M2FmMjg5ZTAyOWFjZWFkNzczODg4YSBsZWdhY3ktdHJ1bmsKKzMzNDYwIDJlODRmZGI0ZmUzMGQ3YjlmZDg0YzMyYzhiNTU0MzBlYzZiNzI5YTIgYXN0LWJyYW5jaAorMzM0NjEgOTAzNWZlNzY4Njg5ZDg5ZTJhMDVhZDA3N2Y3MzhiNDdiMWMxZGVkNyBsZWdhY3ktdHJ1bmsKKzMzNDYyIGRlZmExZDgyNWIwOGNkNjI0YmYwYjFmZDk2YWZkZGNlNjA5ZjU0MjMgbGVnYWN5LXRydW5rCiszMzQ2MyAxMDM3ZmVhY2I1NGZjOTk4YWM4NzI2Y2MxODYxMTA4NGFjYzM5ZmRmIGxlZ2FjeS10cnVuaworMzM0NjQgYzcwMDYzYzNhZWViOGRmNzQ1ZmEyZWRmNzgzYWU0YjU0YmVmZDQ5YiBsZWdhY3ktdHJ1bmsKKzMzNDY1IGNmYWVkZGU1MGJkNjQzMjY4ZWM3Y2YwYmEwZmU1OGM3MWVkYmYyYWEgbGVnYWN5LXRydW5rCiszMzQ2NyBlNmE3OGRkNDI1YzhlMGFhZjkwMzczMDkxNjU1MjkzYmQyOWUwZWQ2IGxlZ2FjeS10cnVuaworMzM0NjggOTRlNWQxYjhmNjk2OTg5Nzc3ZGE1ZWUyY2Y3ZTA4MWZiYTU3YTgwMyBsZWdhY3ktdHJ1bmsKKzMzNDY5IGQ3ZTFhMWJkNDg4MGI3NjFhNzAxYmY1NmY4NzI1YTI5NGFhNDI5MTMgbGVnYWN5LXRydW5rCiszMzQ3MCBjNDQ5NjYzZmEyN2RlMzliYTc2ZmE4OTc4NWM4MTRlYzk4M2M2MmM4IGxlZ2FjeS10cnVuaworMzM0NzEgYmJjMzZlMGUxMGExNTc5MjkwODFkMTM5NDcyMWNkN2M5MzI3ZTcwYiBsZWdhY3ktdHJ1bmsKKzMzNDcyIDU3YjkzYzk0ODMwYTM0ZTIwYWJmMTcwYWFkMWJkZjZjZjY4MGI1YzEgbGVnYWN5LXRydW5rCiszMzQ3MyBlNWI5OWU2MDU5MjYxNWQyY2QwMTIwMDA3Yzk3ZDU2ZmI0ZTI5OTg0IGxlZ2FjeS10cnVuaworMzM0NzQgMTI3MmY3OTU0N2JhOTE2MTE5ZDg2YzY5MTY1MjU2MmFhNzM0ZTBhZiBsZWdhY3ktdHJ1bmsKKzMzNDc1IGJhYjg5ZTQwNmYzMGUyNDViOWQ3YTI5MTQyZDRmNzc1NTY0NDVkYjggbGVnYWN5LXRydW5rCiszMzQ3NiBkMjgzYjE3MzNjMGQ3YTU3N2NkNmYyYjliN2I0Y2ZiMGY0N2QwM2FlIGxlZ2FjeS10cnVuaworMzM0NzcgYWMwZmMwODkzYWFjZjMzNzUzOWRjNzk3NjRmOTdmZjE2ZmU2ZWE1NSBsZWdhY3ktdHJ1bmsKKzMzNDc4IDBkZjExYjJiZmNhNTE4YWE2YTVmZjlmY2JlZGMxMzkzODk1N2I3MGQgbGVnYWN5LXRydW5rCiszMzQ3OSAzMjgwMzU1MzI5ZGQzOWJiNDkyMDA0NTY5NzU1MjgwMWVlMWIyNWU3IGxlZ2FjeS10cnVuaworMzM0ODAgNWIyMWM3MDAzOTc0NWU2NDkyMjM2Y2I2ZDAwYjk5NTkwMjVjYjViNyBsZWdhY3ktdHJ1bmsKKzMzNDgxIGM5YzZlMmM5ZWM5NzVjODViNDhlNDFmMDYxMGZjZjVkODM1M2ZkM2UgbGVnYWN5LXRydW5rCiszMzQ4MiAyYjE3YWQ2Njg2NjZlNWU4Y2E2MGE4MzIxYzAwNmM0YjhhNTJjM2M4IGxlZ2FjeS10cnVuaworMzM0ODMgOTkxNmI1OTI2MWQ3NjMzNWFkZDhhZTgzMzZmYzNlMjExNTBkODE1NyBsZWdhY3ktdHJ1bmsKKzMzNDg0IGUwMmE1ZDE4NDlmOGQ4N2NiYjc4MTk1ZmZkZjc4ZDA3Mjg3MjljNDIgbGVnYWN5LXRydW5rCiszMzQ4NSA2NDQzYTBmZWU3ZTEwMTQzMDNjMmIwMGFkYjJiMjQwZTMyNDMyZTcwIGxlZ2FjeS10cnVuaworMzM0ODYgM2I0MWM2MzNkNzY5NmI5NmY1NDZhMjg5NGQxNWZmZjNlYjlkMGI0NSBsZWdhY3ktdHJ1bmsKKzMzNDg3IDdiZTI0Y2M2YzI4ZDdiYTU1YzhiM2NmMGNjNDAxMDU1YTI2MjM2ODQgbGVnYWN5LXRydW5rCiszMzQ4OCBjYjNjZTdjZWMyNjEyZjE5M2Y2ZWJmOGI4YzA0Mzc4NGRkNmQzNGM0IGxlZ2FjeS10cnVuaworMzM0ODkgNDgzN2JmMjE2YWU1ZjUwZDcwMGUzOTI5MTdhM2M0ZDRhNjc1Zjg1ZCBsZWdhY3ktdHJ1bmsKKzMzNDkwIGVkNDMxNTViMWQzYzkwNzk2NTVlOGFkZmUzNjY1ODk0MTNhMTEzNTcgbGVnYWN5LXRydW5rCiszMzQ5MSBkNGZmYjA0OTBhYzI3ZGQ0YjE5ZTJmNDNlMDRiOTdmZjkxYjNhOTFlIGxlZ2FjeS10cnVuaworMzM0OTIgMDcxNTAxODI0YmJkOGQ5MzA3NDU1ZTc4MWNmODEzMzQ3M2UwNDBlNCByZWxlYXNlMjItbWFpbnQKKzMzNDkzIDg1OWNiZDdjOWI0ODE0MGYyNTk3ZDgyZjcwMDc2ZGEwN2I0MmI2YmEgbGVnYWN5LXRydW5rCiszMzQ5NCAxZGMxNTg2NTJlNWIzNzNhNDJmZmU1YTY2NjE4ZWM4MDcwOTllZjRiIGxlZ2FjeS10cnVuaworMzM0OTUgZTFhNmJmNDU2NWNkZTRlNDdmYzZiMjE2MWZkNzA2NzUyZmEyMzZmMCBsZWdhY3ktdHJ1bmsKKzMzNDk2IDQ1NjkxMmFkYTY5ZmY5MWRmY2QxYmY5YzZhZmI1MjViOTg1MDVjNDAgbGVnYWN5LXRydW5rCiszMzQ5NyBiYTVmMGI4MDgxOTI3YjQ2MjI4OTBmNDQ5NmI2ZDcxYzg5YzU0MTU4IGxlZ2FjeS10cnVuaworMzM0OTggMzdiYzIzYzZjZjZjOTIyMTJlNGJmYTVmNGQ1YmJiNWU2MTNhZjVjZSByZWxlYXNlMjItbWFpbnQKKzMzNDk5IGEzNzEwNmFjN2M4Y2MwMTdlOTBmMDkxYjI4ODk1MzZjNTM1MzIyZWQgbGVnYWN5LXRydW5rCiszMzUwMCBlNmVkYjA0MGE3N2Q0YWNlOTgxMTYyZjI0ODg1YmE0NmVlNDBkMjY0IHJlbGVhc2UyMi1tYWludAorMzM1MDEgMmVjMmY2MjA4N2NiOGViYmMyMjRkYmQ3ZmI5YzczMzVmODZlMjA0YiBsZWdhY3ktdHJ1bmsKKzMzNTAyIDVlODFkOTJiZjY3ZGIwMDZmNGE2NjY3ZmQzNjY4MGRjZTdlMTU4YmQgbGVnYWN5LXRydW5rCiszMzUwMyAwOWRhOWU1NjU1NWQ4MGNjMmU1OGExMzI3NjA1NmE4NzVkMmQzZDE5IGxlZ2FjeS10cnVuaworMzM1MDQgNDAyOWE3MjZmYWE2NTUwMzY4MmZlOGZiZjJjMjVkZmU5MWUxZTkxNiBsZWdhY3ktdHJ1bmsKKzMzNTA1IDkyZjFlZWFlYjQxZDc1MTkzMjczMWQxZTU5ZmZjNDJlZTg3ODA1ZGQgbGVnYWN5LXRydW5rCiszMzUwNiBiOTgyN2MwNTQ2MGYzOGY4YzE5YTIyOGQ2NDAyYmNjZjJlYjQ5OGNlIGxlZ2FjeS10cnVuaworMzM1MDcgZDQ1ZDMxN2ZkYTM1MWFkYjU0NmU0YWU3MWJiYWFlZTBiYjVkYzdhMiBsZWdhY3ktdHJ1bmsKKzMzNTA4IDc3OGIyMTUyMGRiOGI5NGVhZjE5YzI3MTkxZmYxZmFkYTlmYjVkZWQgbGVnYWN5LXRydW5rCiszMzUwOSA4ZDQ1YTRjZWE5MzQzN2U3YzU0MTQ0ZGIxYmEwOGQ0ZDJlMWQ3YmYzIGxlZ2FjeS10cnVuaworMzM1MTAgZTU3YTliYmVlYzViMjc3Y2RmMWQwMjZjMTRjY2U4NDE5OGViMzNjMiBsZWdhY3ktdHJ1bmsKKzMzNTExIDY0MTk0ZTc3NWIwYmMyOGMyNzUwZTA2N2FhN2VmNDRlNjBlNjYyNWEgbGVnYWN5LXRydW5rCiszMzUxMiBmZTc5YTVhYjM5MmI4NTkwNWE4Mzg0YjNhZDhkMDJiYjlkMTZkZDFmIGxlZ2FjeS10cnVuaworMzM1MTMgMmQ1YmVjZDkwMGVlYjU2NjZhMjg3MGYzOWQxZjk3MTQ4NDZkZTRhMyByZWxlYXNlMjItbWFpbnQKKzMzNTE0IDA2Y2NhMzI3YmFjZGZhYjc1NTJiMTBiM2JkNzBmOWUwMmNhY2M3NzcgbGVnYWN5LXRydW5rCiszMzUxNSBkZDhjYTA4M2VhNjY3ODgwMjQxNzU1OWQxN2EzOWMyZmEzYTE3MDVmIGxlZ2FjeS10cnVuaworMzM1MTYgMDE0Y2MzNjJhYTkxMjM2MGFiYTZjOTY5NjdjNjM3ZDdkYmExMTRiNSBsZWdhY3ktdHJ1bmsKKzMzNTE3IGU2ODY3NjUyMzY3NzRjNTNjNTZmODg5MGUyNGQ4NWY5MTg1MjNjZGYgbGVnYWN5LXRydW5rCiszMzUxOCA3ZmJhMzNmZjIxMzU4YTMwNWJjOGZkMjAxMGE2YWEyZTliY2NlZjE1IHJlbGVhc2UyMi1tYWludAorMzM1MTkgYjg1ZjhiYjVjMzc1NGM2OGE3MTE2ZTFkM2MxZDE2MWFhZTc4NDdkYiByZWxlYXNlMjItbWFpbnQKKzMzNTIwIDU3YWRmODI3ZDRjN2FkNjQ3NDFjYjQxZjhiYzdhNWU0Mjg4Njc5YTMgbGVnYWN5LXRydW5rCiszMzUyMSAyYmI1MjNhZDliNzY1Yjg5NmJlZTM2ZmM3ZGY5ODAyMTM3Mjk4ZTJkIGxlZ2FjeS10cnVuaworMzM1MjIgNzA1MmMzZTVhZjAyNmZiZmFlYmZjNzI1M2RhODlkZGU1MzYxNzZiYiBsZWdhY3ktdHJ1bmsKKzMzNTIzIDQyZTgyNjNkMzlhYzY2MWY3NTViZjkzODMzZTg4YjhjY2NmZGM3ZWIgbGVnYWN5LXRydW5rCiszMzUyNCA0NWRjMzM0MzMzMjM1NmRkMzk4ZTE3ZTk0NmRiYWUxZDEyNDAyODM3IGxlZ2FjeS10cnVuaworMzM1MjUgY2RhYjI1ZDJmODQyOTJlOGI5ZmRmYzUwYTE1NzhjMWM4NGI5NGM0OSBsZWdhY3ktdHJ1bmsKKzMzNTI2IDg0ODM1ODQ2ZWVhYjExNGQxOWQzMDgzM2NmNDQyMWUxMjhiMTk5ZGUgbGVnYWN5LXRydW5rCiszMzUyNyA5YzU3ZWI1MzM3YjcyMTgwNGY0ODcwMTk5ODVjMDBlYzdlNDU2MjJhIGxlZ2FjeS10cnVuaworMzM1MjggOGViMWNhZTFhNzdiZDk1N2JhNjFmZjA5YjQzMDFkNzQzMWI4Y2NhOSBsZWdhY3ktdHJ1bmsKKzMzNTI5IDQyMWQ4MDVjMTFmMzNlMzMyNDliNDk1NTg5OGE5MDExNTg0YTZjMzcgbGVnYWN5LXRydW5rCiszMzUzMCBiZjAwYjU2YzE0YTk4MmViMTFkNDM1Yjc5ODNhYjFkZGQ3NzMxNzlmIGxlZ2FjeS10cnVuaworMzM1MzEgNTc3N2M4MzRmNTVjZTkyYzRiNTdlZmNiMWY4YjgyYWU3MzIzNGFjYyByZWxlYXNlMjItbWFpbnQKKzMzNTMyIDU2YzAxYzQ1MDkyYzA5MjgyZDQyZTVlYWEzZWJjNTAyNzJlNjhlNjYgbGVnYWN5LXRydW5rCiszMzUzMyBjZDBiY2FhMGJkODFmZTQwMTViNDE1YjlmMTgzOGZmMGM5NmRjNTc2IGxlZ2FjeS10cnVuaworMzM1MzQgMWJhZTc4YzgzYmU5NGJlYzI2MWI4ODMxYWU5MTIwYmYyMTU5YjA4ZSBsZWdhY3ktdHJ1bmsKKzMzNTM1IDFjM2I4MTU4NzYwYzNkMDIzZTEwMWQyYzcxZjFmYzEwOWM5NzUxNjcgbGVnYWN5LXRydW5rCiszMzUzNiBmMzM5ZjI5YjA2Y2JiNzkyNTI1ZGVmZGY5MzUyMTM3ZmFiM2RmZDJkIGxlZ2FjeS10cnVuaworMzM1MzcgOThjNTliYmRkOGVjNDc5NDJmMjlmZmU3Y2FhZDZkN2QzZjk2ODI0NCBsZWdhY3ktdHJ1bmsKKzMzNTM4IDg0YmNjYmVhYjVmYWM1ODEyZjE4NWYzY2U5ZjdmZjdlZWZjNzRhYTMgbGVnYWN5LXRydW5rCiszMzUzOSBiNzY2MTUyYzc5MDQ1YzVjOWI4NTM5ZTM0OGNhZDQ2OTI4MTljMTBjIGxlZ2FjeS10cnVuaworMzM1NDAgYjQ0ZWI1MTkzMWQwZjEzNDQ1OTc0YjA5YzFhMmI0Mzg4YWE5OTliYiByZWxlYXNlMjItbWFpbnQKKzMzNTQxIDE5OWNkNzhkNmQ3OGQzNmE2ZWYwZmJhMjMyYzdiZWE4M2Y0MTRhZGYgbGVnYWN5LXRydW5rCiszMzU0MiA2MDRkOTM4MjNlYzFkMDEyODk3MDEyNWVkZDg5NGQ4ODEzYmZhZjVlIGxlZ2FjeS10cnVuaworMzM1NDMgMzQ0MmU3Y2RhY2U4NmUzOWM2NTlkN2RlZDllNDQ3OWUzMjg5MmQwNCBsZWdhY3ktdHJ1bmsKKzMzNTQ0IDAzMDIyN2RlODA1MThhYWM3YWVhOWQ1ODU0MmMwM2Q1YTc3ZjEyODQgbGVnYWN5LXRydW5rCiszMzU0NSA5NTQ3MTdlNmZkYjUwYjQ1ZGI4N2QxY2ViMWU0MzFmN2M1MDQyOGY4IGxlZ2FjeS10cnVuaworMzM1NDYgMWE0MmIxMjhjNTgxNGE4YWYzODliZWNkNzA1ZGY1ZTIxN2Q4NmY3MCBsZWdhY3ktdHJ1bmsKKzMzNTQ3IGZlZTE3NzZlNjFjNzA1NjExNGE5NzAzMzMyZGJkZTdkNmE2YWI1NWYgbGVnYWN5LXRydW5rCiszMzU0OCA0NzUwMTE4NGI1NDM1ZjdlMDYwMTJiMGIwMTk3NjdiOTY4MDAyZjQwIGxlZ2FjeS10cnVuaworMzM1NDkgNjJmMzA2M2ExYTBmODc2YmI3NjJmNzkxOWQ1MTQxYjc2MDAzZWYzMyBsZWdhY3ktdHJ1bmsKKzMzNTUwIGEwYTcyMzFjNmZlMGUzNGY0YzMwMzBiNGFjZjFiZTY5ZmY4NzUwMzUgbGVnYWN5LXRydW5rCiszMzU1MSA3MmNiYzQxY2NjMmYzODBlMzY1MmFjNzUwZjc3ZWRkMTYxZmIxMTI0IGxlZ2FjeS10cnVuaworMzM1NTIgMmM1MTk0YmFhOTk0NGY5YWM1ZTRiMDRjNWQ3ZTdmOWI2NzJkY2VhMCBsZWdhY3ktdHJ1bmsKKzMzNTUzIGVkODcwOWIxYTNlZmIxM2E3Y2M0ZjY2NDc1Zjg2MjhlNjc2YzZmY2UgbGVnYWN5LXRydW5rCiszMzU1NCAzZjIxNGIzOWI0ZGY5NTQ5N2Y0MTEzNjE2MDEwMWNjZWJhMTNkZDRhIGxlZ2FjeS10cnVuaworMzM1NTUgMTk1MTFhNDkwZTdjMDUxMTM1MTUwOTdkM2JjMWRkMjUyNDBiYzdhYSBsZWdhY3ktdHJ1bmsKKzMzNTU2IDkyYTVmZTU3ODM4MDM4ZmRhMGU2Zjc5ZmY5ZGM1ZGUzMGZlZjdiY2IgbGVnYWN5LXRydW5rCiszMzU1NyBkMzdkMTU5MGUxYTdkMWExZjkxZDZmMzhjZmI5ZGEyODVmZTA1Y2I4IGxlZ2FjeS10cnVuaworMzM1NTggODhiOTNlMDdhMWY4MGFmN2MyNThiOWZhODk1MDJhMDcyNzI3ODViNiBsZWdhY3ktdHJ1bmsKKzMzNTU5IGY4OWQ1NDU1MDVjNzE1NDU0YmM4NTk1YjFmZGZjNjkwZjI5Mjk3NTYgbGVnYWN5LXRydW5rCiszMzU2MCBiNjhmYjRhNDNkMGZlY2RiOTRkZmVhNGYzNGZkNGE4NDBhNzQ2ODc5IGxlZ2FjeS10cnVuaworMzM1NjEgMjJiY2EyODIzNjg1Njg2MWIwZTllMmVhZTcwNmNmZmRmODI3OTZhYiBsZWdhY3ktdHJ1bmsKKzMzNTYyIDRlMDVjNTU1MTRlMWQ2MzE2MWYzNTdlMDQ3OTIxZWRlZTkzNzU5N2MgbGVnYWN5LXRydW5rCiszMzU2MyBlMmI0MDMxMjc1N2VlMTFmZjAyYjI5ZGE5MTFiMDJiZGMwNjg4Y2Y2IGxlZ2FjeS10cnVuaworMzM1NjQgZGE3ZWFlNDRmNDg3YjRiY2EyOTViYzRkNGQwYjM3YjU2YjU5OGExYyBsZWdhY3ktdHJ1bmsKKzMzNTY1IDljYTI5MTg2NWY5YzFmMmEwMjdlMmZkNTU5NTFlYzM0NmI1NDhjNzggbGVnYWN5LXRydW5rCiszMzU2NiA3OWVjN2UzMDJkNTM1Nzc2YjY5ZDBmNTA2ZWI4NjkyZGMxN2IxMDcyIGxlZ2FjeS10cnVuaworMzM1NjcgZTlkZGRmZDJhNjJmMGNlYTI1Y2M3OTJlNWVjZGMzMjViNmE2ZGRiNSBsZWdhY3ktdHJ1bmsKKzMzNTY4IGFjODRmMTc5YmI4NDEzMzljOWEyZjg2YjVjNTJiYWY2NmNkYWUwOGQgbGVnYWN5LXRydW5rCiszMzU2OSA5OTRiNmJlNDhlMjg3OWFmNjg2N2ZkMWYyY2I3MjBkMDM2N2ZmODFmIGxlZ2FjeS10cnVuaworMzM1NzAgYjQ3YTcyNzRjZTVjMTU4MzhhNWM2YjA0OWJiNjVhNzc2NWNjNmIxNiBsZWdhY3ktdHJ1bmsKKzMzNTcxIGRiYWUwNWMyOWU5Mzg1NDRiOTg2MmRjNzMyNjczMWUyODgzMWJlZmMgbGVnYWN5LXRydW5rCiszMzU3MiBkMWFhNTc1MWZiY2ZkYmEzYzFmZWFkOTBjYmIxY2UzOWMwYmYyODEzIGxlZ2FjeS10cnVuaworMzM1NzMgNDM0YjZjZGE0ZmE1YWY3MDE3Y2I2YzUwOWE1OWVmNzZjZWFiYmI5NSBsZWdhY3ktdHJ1bmsKKzMzNTc0IDlkZWFjMWFhNDIxZGI2OWZhNTVlNDM4N2VlNjRlY2FjM2YyZWRmZjYgbGVnYWN5LXRydW5rCiszMzU3NSBhMjMxMDZkZmM5NGQzZWJmNmZkYzM3ZjZjYzYzZTI4NTQ0NWI3MDBkIGxlZ2FjeS10cnVuaworMzM1NzYgOWY2MGMzZWU5ODVhMmFlMTBmZWQ5Y2I5N2RmNWMxNDhhMDdlZGY0ZiBsZWdhY3ktdHJ1bmsKKzMzNTc3IDgwZWQ0ZDk3ZjFiYWVhMGRlOTk1OGRmN2ExYjk2ZjFkZDg4Yzk0YjggbGVnYWN5LXRydW5rCiszMzU3OCA3MTYzOTVjMTk1ODZlMmExMDY2OTJjMjU5Mjc4ZGE3ZDExZWIxNDZjIGxlZ2FjeS10cnVuaworMzM1NzkgOGIxNTVlNGExMGEyNWQyYjg3MTYxMDcwYTc0YjE1ZTgzMjVjYmNhYiBsZWdhY3ktdHJ1bmsKKzMzNTgwIDFlMmUxYzc5MzE2ZTEyZmJkNWZhYzQwYmYxYTM3Y2YxNjYzNmI1N2IgbGVnYWN5LXRydW5rCiszMzU4MSA1YTk0NGFjODUyNWMxZjYxZDVkYWEzZmVlY2M5MDUwOTFiZGI3ZThmIGxlZ2FjeS10cnVuaworMzM1ODIgNDUxYjdlODM5M2ZjNDFlYjE0M2ZlYTIzNDlmMWQzODQyMjVjNjU5MyBsZWdhY3ktdHJ1bmsKKzMzNTgzIGQ1OWU1OGJhYzM5MjM3NTBiMTQzZDkyNDU3YTk5MGM5MWIwMTliNGEgbGVnYWN5LXRydW5rCiszMzU4NCAwZTIyMTViODIyNmQyYWUzYWJhNjNmMDdhODYyZDExZGJiOThkOWQ1IGxlZ2FjeS10cnVuaworMzM1ODUgNGU2MTNkZGYyYTFiZDE2NTZjNGVmNzRkZGJiMmExMGNkMjM1MzA2MSBsZWdhY3ktdHJ1bmsKKzMzNTg2IDQxNmQ5NDU4ZWU5N2NiM2YyZTNhMWMzMDQzNjM4NTRjMzk1ODliOGEgbGVnYWN5LXRydW5rCiszMzU4NyA1Mjc2MDc1MWM2MWVlNzJjZTkwYTFmZTM4Yzg5YjExYjYwMGJmMzFiIGxlZ2FjeS10cnVuaworMzM1ODggZjc3M2I1NjhiMmU3M2Q4MjllYTE5MmMyMTAzNTU5MjdiMjYyZjZiNiBsZWdhY3ktdHJ1bmsKKzMzNTg5IGZjZjY2ODBiNmE2ZmI3NzFjOGI1OThhY2FjNjg1NjcxOTlmM2NjOTkgbGVnYWN5LXRydW5rCiszMzU5MCBkZjllYTc0OTQwOWEzZWU0NTNjNGY3MTM0NTBkMzczNDUzM2QyNTExIGxlZ2FjeS10cnVuaworMzM1OTEgNTY0YTQ5ZWVhNDE0ZTEwMDkzMTY5NDZhZWZjMjkyNDE0ZGRhMGY2OCBsZWdhY3ktdHJ1bmsKKzMzNTkyIGVjOWYxODYxNTQ4NTZhOTBhZjU5MDQ0ZmJlY2EyOTA3MDhkYzEzOTcgbGVnYWN5LXRydW5rCiszMzU5MyA3YjE2Y2Y3MGViZDg5ZTQyNGQ1YTI0MmNiZTllOGMzNTJmMjgyYWFmIGxlZ2FjeS10cnVuaworMzM1OTQgMGIzNDIyYjYyMTE5MTE5NmMzM2U3NmE3NmJkYzI5Yjk4ZjQ5YTBjMiBsZWdhY3ktdHJ1bmsKKzMzNTk1IDJhNDBjYTA2YTIyYzg4ZDkyZjc3MTViZGMwODJmOWFmNzg0MjMwODAgbGVnYWN5LXRydW5rCiszMzU5NiA5NmJhYjdjODJlMmNmYzk2YzEwMDY5MDM5MDQ0MmI4YTA5ZTY2MjhhIGxlZ2FjeS10cnVuaworMzM1OTcgYzg2YjEzNTRhYzZmNmY3NGRhMzAwYWM4ZDhjNTNjZjA0ZTY4ZGNlNCBsZWdhY3ktdHJ1bmsKKzMzNTk4IDFiYzI1NTkyMjlkYjFkZmYzNzllNjg2NjAyMGMxZTY4NTNmZmJkZTAgbGVnYWN5LXRydW5rCiszMzU5OSA3ZmQyMGFlNDQxNDJmMGM5ZGYwNWFmMDMyZDdkZjA0OWNlNzViYjBjIGxlZ2FjeS10cnVuaworMzM2MDAgOGRlYzBmYjE0Mjg1NGYzNmI1ZDIyY2VjMjYwY2YxNzM0MzNiYTgzNiBsZWdhY3ktdHJ1bmsKKzMzNjAxIGE3M2MyOGRlZWY2ZGZmZTczNDkzNjA1ZmFmMGI1NzViMmUzNzFlMmYgbGVnYWN5LXRydW5rCiszMzYwMiA4NmM0NzZhNDI1YTdkYzUyNzM2YjI4OGI2M2U5ODZmYWM4NDExNzIyIGxlZ2FjeS10cnVuaworMzM2MDMgMDhkMjYzNmI4ZTU4NDQzZDE3NTBmNjc4YThkMWViNjg4ZDQ4YTU0NiBsZWdhY3ktdHJ1bmsKKzMzNjA0IDI1ODAwYTcyNDAxMWZiMjU0NDU2M2EzNTZhNmU4MWFjYzhlNmIyNDAgbGVnYWN5LXRydW5rCiszMzYwNSBjZmFkNTQyODNlMDAwNDc2NDEyNDQ1MmQwMTg0MTIwNzZkNjk1MTgzIGxlZ2FjeS10cnVuaworMzM2MDYgNzIyZDdjN2E3N2UyYjQ3ZjNhYTg5NTlkNmNhODI3ODZiMjlmNTZmMSBsZWdhY3ktdHJ1bmsKKzMzNjA3IDYwZTNkMjk5ZmM4Njc4ZjQ0MjYxNjgwMDY1ZWYyYjllYjkxNWQ1Y2EgbGVnYWN5LXRydW5rCiszMzYwOCBiYjhjYzcyOTE1ZjU2ODkyYzNiNTMxMzNkYWYwN2FmMTkxNWM2YjI5IGxlZ2FjeS10cnVuaworMzM2MDkgZWU3ZTIyM2RiY2FjZjA2OWNiNzdlNTBhNTZkODM5MWFkYmY3NjcxOSBsZWdhY3ktdHJ1bmsKKzMzNjEwIGI4NDY0NWMzMTk1ZTQ4NGQ2NzI2Y2E1Yjk3NTkxNDVhNjQ3ZDE3NTYgbGVnYWN5LXRydW5rCiszMzYxMSA0ZDQ0MTdkZjYzZjRlODA4YmYzMjA5NTNhOGQ0ZjM1Zjc2ODYwMWFkIGxlZ2FjeS10cnVuaworMzM2MTIgMDMxNTNmZDJkM2YyMTRjMWE3YTAyYzIwNzkxNDEyMGJjZTU2NGZlYSByZWxlYXNlMjItbWFpbnQKKzMzNjEzIDYyOGRjZjkwYmY5ZTJlMjAxZDIyYzM2ZGFiZjg1NmE0OTNhYjQ5NzMgbGVnYWN5LXRydW5rCiszMzYxNCA0MDdjMGRlYzJmNGFkYzkyYzYxZWE4MjQ0MDc1YThjYjFlNjA3MTYwIGxlZ2FjeS10cnVuaworMzM2MTUgMjlhNjNjNWNmYmFmYjk0NDE1YjJlOGFmODRkMDE0OTlhZTQ5N2Q2OCBsZWdhY3ktdHJ1bmsKKzMzNjE2IGRhMGM5MGM2YWZkMDFmY2I2ZmY4YjczYWZkYTU4ZGI4OTRlZjEyZTEgbGVnYWN5LXRydW5rCiszMzYxNyA5MDEzZDNjMWQ2NTUwNjRjODAwYTc5NjM1N2ZkZWM3MGIyZDM2NTAwIGxlZ2FjeS10cnVuaworMzM2MTcgZDA1NGMyOTY0N2Y5MGJjY2I4MzQ1YmQ3NzliY2ExZWVjZjJkZDdmMiBsZWdhY3ktdHJ1bmsKKzMzNjIwIDhhMjkzNDQ5ODI5ZDdiYWQwODJiZThiMDViYzZkNjdmZDQxZGFhNDcgbGVnYWN5LXRydW5rCiszMzYyMSBkYTM1OTI5NjJhN2FmMDc5OTc5YmI0MGIyOWFiNmI1ZDc4ZDllMzc0IGxlZ2FjeS10cnVuaworMzM2MjIgMTA4YWE5NjQ4NTczMjEwNThhNDJmZjY2MjI4MTM5YjlkYjgyZjY1ZiBsZWdhY3ktdHJ1bmsKKzMzNjIzIDlhNmY1YjM3ZTgxZDJkOWE4MjUxZDNiODNiMmQyMDc0MTNlYTA0NWEgbGVnYWN5LXRydW5rCiszMzYyNCBjZThiMTM4ZjQ0NzNhZGFkZDBiNmExNjRkNTJhNDAzMDZhMmU1MTM3IHIyM2MxLWJyYW5jaAorMzM2MjUgMzM3ZDQ0MDEwOTA3Mzc4ZTRmZGI3OGE0YjY1NjE5OWZkNjYxOTRmNiByMjNjMS1icmFuY2gKKzMzNjI2IGFkMDk2ODdhYWFhMGE3NTUyNjg1ZjI3NGZjNjAzZGEwZGJmZTdhMjQgbGVnYWN5LXRydW5rCiszMzYyNyAyYjhhNTY0ZTFmZDNkMDI2YTEyNDY4NjA5ODYzMjJiYmJlMTBlMWI4IGxlZ2FjeS10cnVuaworMzM2MjggYTljODk5NzM5ZjQ4MjJiYjZkOGI5YTliMjY4ZGMzNjRhZTUzOWE2NCBsZWdhY3ktdHJ1bmsKKzMzNjI5IDFjYmM2Yjc4MzZkY2I4YTZmMTllMjJiY2M1OTExYTQ1ODc3NDE0ZDUgbGVnYWN5LXRydW5rCiszMzYzMCAzMjI1ZjFkNDI4ODM1YTI3NTVhNjU0ZTg3MDZmNTFiZmRhMDE2ZDRkIHIyM2MxLWJyYW5jaAorMzM2MzEgMmM0ODNmN2JlYTRiY2Y4NjcxNTQ3MjM0MjgxZjYzOGZiYWRkNTEwMCBsZWdhY3ktdHJ1bmsKKzMzNjMyIGJhZjIyNDEwNzBiZmQ3MTdhMjM2YzMzMWY3ZTQyY2QwODNmNWM0ODcgbGVnYWN5LXRydW5rCiszMzYzMyAwOWM0NTk4NTEyNjQxNDZlYjMyN2M4NmJhNzRkYzVkY2Q0OTk5MmQyIGxlZ2FjeS10cnVuaworMzM2MzQgNWZhZWU3Y2RjNWFhYjI0NzY2Yjk3Y2JlYjNhMTcyZGFkMGExZDkwNyBsZWdhY3ktdHJ1bmsKKzMzNjM1IGNlYTdmOGFmOGUwYmI4MmU0ZDlhOTRiZTM0MmNhM2EwNDkzNmU1NDYgbGVnYWN5LXRydW5rCiszMzYzNiA0YmZjZmVkNjRlY2I5NjhjOTgyODVkYmFjYTg2MzBiMzliMjg3NzBlIGxlZ2FjeS10cnVuaworMzM2MzcgNGMxNDNjZWVmNDE5YzY3MmQwYzAyNjhjMDNkMzdiMjYzZjcxZGQyNiBsZWdhY3ktdHJ1bmsKKzMzNjM4IGE1NTBhZjcxMWFiYTRhMjJiNDZhZjMxNzhmYmI0M2JhZmNmZTkxMDYgbGVnYWN5LXRydW5rCiszMzYzOSA5NTBiMjUwMGExNDIyMjE0YWNkM2MwNTUwMDUwNmFmOTE2Yjc5NjQ3IGxlZ2FjeS10cnVuaworMzM2NDAgNjY4ZGQzMzZlMzA2ZjE1YmI4ZTBhOGFiY2NlMmYyMDBiNThmMGFhNiBsZWdhY3ktdHJ1bmsKKzMzNjQxIGM0MmE3MzE3Yzg4N2FiYjdiOWYzODYwMTIzMjExNzBlMzNkOGU5ZDQgbGVnYWN5LXRydW5rCiszMzY0MiAzMTdmMWVlMjRmMTg0OWI3OGU3MGM3NDQ1ZGI5YjlhZDdlYjQ5YWIwIGxlZ2FjeS10cnVuaworMzM2NDMgNGNmMmJmZmZhNTY0MTBmOGU4MjEwMTIwMmNiZTljMmY2MzU0ZGVhNCBsZWdhY3ktdHJ1bmsKKzMzNjQ0IGZlNDk5YmM3MzgxZmI5MDNiZmRmZWVlMzJhZDY0ZGQ1OTcwMTk5NTcgbGVnYWN5LXRydW5rCiszMzY0NSBhNGFiZTE3YTVmZWI5MWY0NjIyNGU4YTk2OGFkNTBhMzc0N2JkZGE4IGxlZ2FjeS10cnVuaworMzM2NDYgMTNjNzVmYTc4MGM4YzIyMjIyMjVhNTBkMjIyNzRiZmZhZWIwMzQ5YiBsZWdhY3ktdHJ1bmsKKzMzNjQ3IDMwM2Y1ZmRhMWEyODQwYmEwMmY4OTk3MmRhYmUyY2UyZDI3ZGFkZTggaW5kZXhpbmctY2xlYW51cC1icmFuY2gKKzMzNjQ4IGE3N2FhYWIwMTQ2ZGU2OTZlNmQ2NmU5OTNiNWM2NGVjNTlhNWRkZjQgaW5kZXhpbmctY2xlYW51cC1icmFuY2gKKzMzNjQ5IDVhZGRjY2EzZjQzMzM0ODJmYWUzNDRmZjQ4YWRkNWZhYmRkMjdiZjkgbGVnYWN5LXRydW5rCiszMzY1MCBlMzM5YWQyNTBhZjBmNDFmYzM0YjhhNjRjZDliODM1NmUxMDE4YTAwIGxlZ2FjeS10cnVuaworMzM2NTEgODJlZTFmYWUzODE5NGI4MTA5OTA3MjM3MDdiYmVmNTFhYzk5ZjM2ZSBsZWdhY3ktdHJ1bmsKKzMzNjUyIGE0MDhhYzU1MjdjMzQ1Nzg3MjhmNWYzMTMwODBjOTdlMzMyMWQyYzggbGVnYWN5LXRydW5rCiszMzY1MyBiOWQwYTBlZTIyMDZhNzJhOWE5NTc3MDNkNmRmZDY5NzAyOWM3Zjg4IGxlZ2FjeS10cnVuaworMzM2NTQgZDM3ZjEzMTk5ZDk1Mjk3YjQxMTE0NmQzNjc3MmEyOWFiOTE0NWFhYiBsZWdhY3ktdHJ1bmsKKzMzNjU1IDYxNDlmMGEwYjhmNTg0MjIyODk3YjYxZDM1YjlkMjk4YmMwN2QxOWYgYXN0LWJyYW5jaAorMzM2NTYgMjFlZGNlMDkxMDY5ZjlhY2QyZGNhMmE4OTE5M2I2NGIwN2FmYzQ4YyBsZWdhY3ktdHJ1bmsKKzMzNjU3IDJjMWU3M2IyZmNhMTEwN2I3MTc0MTE2MGY5ZWQxNTJhOWE0ZTMxMzYgbGVnYWN5LXRydW5rCiszMzY1OCAxMTg4MDliMWVmMjA2MTI5YjYyMGRlYTJhMzZjNzdjMWIyNmU2MzQ0IGxlZ2FjeS10cnVuaworMzM2NTkgMjczOTVjODQ0ZTIzYjdhZDQwYWFjNWZkODViNGE2NTZlYmZmYmRmYiBsZWdhY3ktdHJ1bmsKKzMzNjYwIDY1NDlkMmU0MDhmMGM2M2JmYzY2ZTg0MDk2YjAyMGE1ODIxNDkzMGQgbGVnYWN5LXRydW5rCiszMzY2MSA1YWQ0Mzk2MzJkZTU0YWMxOWUzYmJmMGJiZjczN2QzMWEwNmNmM2MyIGxlZ2FjeS10cnVuaworMzM2NjIgMTdjZTEyMzY5NDc3YTdjODZkYzg2N2ZiYzBmMjBiNzk2NDQ5MmIwMSBsZWdhY3ktdHJ1bmsKKzMzNjYzIDIxMTg3MDk3ODU0YzkwZTUyMmIwMTRlODQ5NjUyMGI5ZWY4MTM0ODAgbGVnYWN5LXRydW5rCiszMzY2NCAxYmQ2ZTYyZmIwNmY3NzkzN2NkYWY3NGQ2YjIxMWMxOWQ4YmViZmMwIGxlZ2FjeS10cnVuaworMzM2NjUgN2JhNDJjOTYyOTRjYzY5M2MwODRlOTk2MzNiNGJhYTFjN2ZlYmFiNCByZWxlYXNlMjItbWFpbnQKKzMzNjY2IGYyNzA4ZWY2MDE2OWIxOTJkOWUwNjZkM2NmNmEyNjRmZTRkMDAyZWYgbGVnYWN5LXRydW5rCiszMzY2NyAyZGEwNWI1YjVjNjUwNTVhMzY3MTZjM2M3MWE2MjU4ZjhjN2Q0NWUwIGxlZ2FjeS10cnVuaworMzM2NjggMjlmMDdhZGMzMDE5ZDA3NWM5YjMyYTg1M2RiMTQ2ZDE0YzZlYjRiMSBsZWdhY3ktdHJ1bmsKKzMzNjY5IDhmMzA2ZDNkNmQ1NmVkOGRlMzc0MjZkNGQxYWIxZDQzODgzMmM1NjYgcmVsZWFzZTIyLW1haW50CiszMzY3MCAwMDA5YTAzODMyMjI1YTY3NWM5MDUzOTA3YTAxMzM4Mjk0MjRmZWU1IHJlbGVhc2UyMi1tYWludAorMzM2NzEgYjU5NDk1OTFkOWQ1NzRlMDQ1ZTIxZDA1ODFjMjJjZGFhMDA4NDcwNyByZWxlYXNlMjItbWFpbnQKKzMzNjcyIDg2ZTQ3MjVhOWRiZDRiOTU0ZGY4ZDQyOWVmNzIwYTljMjcxYzVmMDkgaW5kZXhpbmctY2xlYW51cC1icmFuY2gKKzMzNjczIGIzM2M2MGZjY2U3NGY5ZGYwZDFmNjAxNWI0Y2RkNTkzNWUxMjgzM2MgbGVnYWN5LXRydW5rCiszMzY3NCAzNWNjZmMxNDBjYWMwYzJmM2NhZDllYjY4MTNhYTQ3NjlhYmM4YzFjIGxlZ2FjeS10cnVuaworMzM2NzUgNzMwYWJmY2YyNjEwZTljNzFjYjAwNTViMjliZTYzNDFjMmY1NTFiMiBsZWdhY3ktdHJ1bmsKKzMzNjc2IDY3M2JjZWQ5OTE4MGZkNWFjNzUyNTRlOWEyNjllMGIyNmNkZjg3NTUgbGVnYWN5LXRydW5rCiszMzY3NyBhYTQ0ZTA2ODg4OTZhMDQ1Mzg1Mjk4YTNmYTU4MGM3ZjlkMWU4ZGQxIGxlZ2FjeS10cnVuaworMzM2NzggMDJlNWI0YjY3YTY2MzAzYzQ5YTk3ZDk2YWYwYThjNjk2YmQzYmZhNSBsZWdhY3ktdHJ1bmsKKzMzNjc5IDA5NTQ2OWM3YWJlNzI3MDIwMDJjYmMzZWJiZmE0NzkyZTc1YzkyN2MgbGVnYWN5LXRydW5rCiszMzY3OSBmY2U1YzllOWFiYzcyMjM5NGNiMmU5MDliN2UyYTM5MDgwZDQ0NDhlIGxlZ2FjeS10cnVuaworMzM2ODEgZTFiYjEyNjJmMGJjMTQ2MjNkNjQ2YjAwY2I1NDc1YmQwMTk4ODEwMCBpbmRleGluZy1jbGVhbnVwLWJyYW5jaAorMzM2ODIgODNlMDZmZTEyNGExOTNhNTM0ZTQ0ODg5OWI1YjU5NzU1NTA0ZTRkZCBsZWdhY3ktdHJ1bmsKKzMzNjgzIDUzYjc2MGIwMjdiNzcxMmIwNjdkMjRlYmMwM2Q1MTdlZGY4MTBjYWUgYXN0LWJyYW5jaAorMzM2ODQgOTZmYThmMGI5ZWViYTdmY2QyYWYwNTFjOTRiZjdhMjRlODg1ZGNiMCBhc3QtYnJhbmNoCiszMzY4NSBjZmJiN2I4MjY5MmQ3MGYwOTcxZTM3ZGY1NzUwN2UzMDA1MjczYTg5IGFzdC1icmFuY2gKKzMzNjg2IGY4MmViMTYwNDQwYmRhNDllYzIyODk0ZmY3YzU5Mjk2ZTgxZWM4ZTAgbGVnYWN5LXRydW5rCiszMzY4NyA1MmRkNTQ4ZDNiZTlhOTdhZDc3OWJiMTY1MWNiYTRjNDE2NjY0MmQ2IGxlZ2FjeS10cnVuaworMzM2ODggM2FkZGE4MWEwZTBiZDA1MjRhN2NiYjFhNDkzOTk0OWI3OGRmOTQzZiBsZWdhY3ktdHJ1bmsKKzMzNjg5IDM1ZGVhMTBkY2RjNDVlODVjMWFlNDk3MjJmN2IyNTU0NWEwMTdjMDAgbGVnYWN5LXRydW5rCiszMzY5MCAxZmJhYTA1YjM1YzFiZjBlYzE1YjU5ZTExNjRhMWY0Y2JmY2Q0ZjYwIHJlbGVhc2UyMi1tYWludAorMzM2OTEgOGNkOTRkMTE3Zjg3Nzg5MjdjNDRiMjlhZWZhMGZlMWRiNDQ4MmM5YSBsZWdhY3ktdHJ1bmsKKzMzNjkyIDM3Y2NmMWJjNTRlMDQ0ZmJkYzZiMjQ0NWJlNTk5MDFiYjhkNGE4NjAgbGVnYWN5LXRydW5rCiszMzY5MyAxNWZjODNjNTA1ZTMxNDk3MDI2YjBhOWY1NzZmMDc4YWY0OWNkZTg3IGxlZ2FjeS10cnVuaworMzM2OTQgY2ZhOWYwNDljMjA0YzY4YWEyZjIyMjRkYzQ4OTkwOTllNzMxOTA0YiBsZWdhY3ktdHJ1bmsKKzMzNjk1IDRiNTcwMjMwNmM1ODFiM2VmNmJjZGJkY2VlYTVlODlmZjdiZGFmNDIgbGVnYWN5LXRydW5rCiszMzY5NiBlZmExYmI2NTZiMmI2ZTUxOWE3MjNiYzU2Mjg0NWQxMDE5YTRjOTM4IGxlZ2FjeS10cnVuaworMzM2OTcgYTEzMTUyYjI1ZmU4ZGY5M2QwYTE2MWZjNTNkZTYzNDNkOWNkNmVkYyBsZWdhY3ktdHJ1bmsKKzMzNjk4IGRlN2Q5YTJiNWZhYzMwODMyNDA2ZmVjZDgwY2YyNjlhMzdlMzg1OGMgbGVnYWN5LXRydW5rCiszMzY5OSBlZThiYWNjNmYwNjhkNjE3NGIzYmMzMDY4MzI0ZGEwOWViMzI1M2U5IGxlZ2FjeS10cnVuaworMzM3MDAgMjkwOTQwMTYzOTdkNjI2MGQ0ZWY5NGQ2MTFkOGY3OGFkYWZlMGMyOCBsZWdhY3ktdHJ1bmsKKzMzNzAxIDY3NGNmNWEyNDE0N2ViYjY4MzNjYTI3NWQzMzM5ZjYzZDBlZjFiMzcgbGVnYWN5LXRydW5rCiszMzcwMiAxMmE3ZjIxNTY0ODE1NDE3Y2Q4YzY0YjBlODBhNDFhYzZkYzQwZDNmIHJlbGVhc2UyMi1tYWludAorMzM3MDMgNzRhNWNlNDlhOTJmYzgzMmFkNDQwNTgwODM0MmM0MGY5N2Q2ZGYwZiByZWxlYXNlMjItbWFpbnQKKzMzNzA0IDBkNzlkYzg1NGFjNDY5MGVkNDE1YzgwYzU4MmExN2FhNGUzNTk4MDIgbGVnYWN5LXRydW5rCiszMzcwNSBhNjIxNTNkOWM4ZDY1MTcyNTFkZGE3YWEyZmI5YTA1NzY5NzZiNDMyIHJlbGVhc2UyMy1icmFuY2gKKzMzNzA3IDIxYjgxMzk5YjYyODQyMGE2OGM4NmI5ODAyNWJjYmU2N2M1NzUxMGYgcmVsZWFzZTIzLWJyYW5jaAorMzM3MDggYTUyMDM2MTRjYWE5NmQ2YjljYzJlNGUzMWYxZTk1MDIwZGQ3NTRkMiByZWxlYXNlMjMtYnJhbmNoCiszMzcwOCAxOGVkYzdkNTdkZmZiNTZiZTgzNzRmMzVlNDdmMzkzMjlmNWU5ZDMxIHJlbGVhc2UyMy1icmFuY2gKKzMzNzEwIGVjZDg1NzMyMDRjZDI0YjFmZjFmODRiNzdkYTgyMTBiODVmNDU4MTYgcmVsZWFzZTIzLWJyYW5jaAorMzM3MTEgNDNiMGE0MDRkNGEwMWNjMTc5OGU0MTM1NTg1NTlmZWU4MGFhMmZlMSByZWxlYXNlMjMtYnJhbmNoCiszMzcxMiBjM2U2OWYzNzZmMjliMTkxMTQzNDE0ZTJlZDAyOTkwNGIzNzlkZWM2IGxlZ2FjeS10cnVuaworMzM3MTMgM2ZlODJkNTdkMGQxN2YxZDhkMzk1ZWI1MmIwMDQzODFhMzM5NTZmZiBsZWdhY3ktdHJ1bmsKKzMzNzE0IDFkNjNlMTUzOTg5ZjAzNTQ2YWU4YjJhZDBkNzBiMmQzYjdiYjMyNDcgbGVnYWN5LXRydW5rCiszMzcxNSBiN2UyZDczODBjYjIwOTdjNzFhNGFlMmMwOGZlNmM3NjFlYTYzMmNkIGxlZ2FjeS10cnVuaworMzM3MTYgNzAyYWE2ZWIxMWY5YjNkMGQzN2U0ZWY0YjhlMTJhMzM3ODM3ZTg3MiBsZWdhY3ktdHJ1bmsKKzMzNzE5IGI4MmVhMGIwN2IwYWI4YjViNDM3MmQ0N2Q5MjM4ZWUxZmY4ZTU2YzIgcmVsZWFzZTIzLWJyYW5jaAorMzM3MjAgYzM0MGIyN2Q3MzliMTEyZmE1NjA3ODllYzU1MWQ0YWQ3ODIxM2ViYyByZWxlYXNlMjMtYnJhbmNoCiszMzcyMSAwMjUyOWZiMTg4MTVhMDg4Y2I5MTU5NmI5Y2FiMTE2MmJlY2Q4YmVkIHJlbGVhc2UyMy1icmFuY2gKKzMzNzIyIGU1OWEzNmExODA1ZWQ2Y2JlYTQwOGM5YTY5ZmRjNWZkYTY2ZDQzZjYgbGVnYWN5LXRydW5rCiszMzcyMyBlNGVlOTg2YWYxYTA3ZjdkNDhlMjVmMGI1M2JlMjMyOTU3MmM0ZTY3IGxlZ2FjeS10cnVuaworMzM3MjQgZTE0ODI5NmQ4YTkzODhlZmVkOTA3OTMyOTVmMTc1MjYxYmUxMDg0MSByZWxlYXNlMjMtYnJhbmNoCiszMzcyNSAxODczMWQyNGUzZDEwMzc3MWIyYjVkY2UwZjIwODIwZTFjZDVmODhhIGxlZ2FjeS10cnVuaworMzM3MjYgMmYwM2Y4Mzk4NGIwNzFjOTAwMTNjODU0OGViZjcyMDdmOWQ4OGUyNiBsZWdhY3ktdHJ1bmsKKzMzNzI3IDY3ODRhMjQxNjMzMTUwYTk4NTkwZDkxNzg1YTdjMTJjMWQ4NzFkODUgbGVnYWN5LXRydW5rCiszMzcyOCBlNjIxYTk3YmZhMTZiMWRkZjVmMGYzMGEyM2ZjNDlmZGY1ZmU3NWY5IGxlZ2FjeS10cnVuaworMzM3MjkgZTIxM2NmZTE3YTYyNGQzYTYwODFiOGMyN2YzMjNlMmQ4YjdjYzEyZCBsZWdhY3ktdHJ1bmsKKzMzNzMwIGQ3MjU0N2M5MTVkNWE2NGVmNWNiNGQwOGNjNjYwYmFiZWUwYzNjYzAgbGVnYWN5LXRydW5rCiszMzczMSA2NzcwMzg4NzNhMjJiOTRkZWQ0OGQzNjE2N2RlZTVlYTdhZTZkOGUzIGxlZ2FjeS10cnVuaworMzM3MzIgMDhmMzhkYWZjOThhNzA2NGM0YjZlNzBjNTNiN2ZmMmJhNzA5MmNjNyByZWxlYXNlMjMtYnJhbmNoCiszMzczMyA4ZDhjZGVlMzQ0YWQ1NjY3ODZkMzE0ZDc0MDBmMjM5YzZjMmY5ZjVlIHJlbGVhc2UyMy1icmFuY2gKKzMzNzM0IDllMGQzOWEyZDM3ZTQ5ZGVjM2ExYjYyNjIxZTQyNzI3ZGQ0MDgxN2UgcmVsZWFzZTIzLWJyYW5jaAorMzM3MzUgMDQwNjg3NWNhN2ZkM2I2MTNjZTYxNjEzZjUxYWUzZjMyY2Y2NzdiYSByZWxlYXNlMjMtYnJhbmNoCiszMzczNiA2ZjZkZTc2MWVmOWI3YWRiOGNiNTFjMzY1MDNmMjM2MzM2MmQ4MmVlIHJlbGVhc2UyMy1icmFuY2gKKzMzNzM3IDI0ZTczNzk4ZWQwNGU0ZWQ3YWYxZTA1NmUzMjY5YmQ5OWQyYWYyM2IgcmVsZWFzZTIzLWJyYW5jaAorMzM3MzggNzA1OGRjZjczM2Q0NjZjMDAyYWJhZDI0YTE0ZjBkMWFhODkwMTVkYSBsZWdhY3ktdHJ1bmsKKzMzNzM5IDQzYzk3NzFlMGJlMTBhYTUwZDg2NjJlNzIxY2FhNzhkMjFkZWM4MzIgbGVnYWN5LXRydW5rCiszMzc0MCBjZTE4NTAzNGIzODA3ZGQ4MzVmZmQ5ZDBhZGEwODA5NGU2ODY0NjgxIGxlZ2FjeS10cnVuaworMzM3NDEgNjljOGUzOWY2ZWU2YzU2YTI2ZWNjMmE1M2RlYjZlNjA5OWQ4ZmI1MiBsZWdhY3ktdHJ1bmsKKzMzNzQyIDA1MDRiYThlZmJiNmNkZDExZjFhNDdjYWYwYjQyNGZjYTQzMzI5NWMgbGVnYWN5LXRydW5rCiszMzc0MyAwYzYyMTgwMTQwOWFmMjg2MmJiYWQxYjE5YWE3YmM4MzlkOWUwMjMxIGxlZ2FjeS10cnVuaworMzM3NDQgZDhjOGZlMGM3M2VkZWVkODNkMzZkYzZjOGJhMjU0YjNjMTAyYmJkOSBsZWdhY3ktdHJ1bmsKKzMzNzQ1IDY0M2ZmYjdkYjE4ZmQwNWY5ZmUyNzhiNzEyMTk4MjIxNTA1YzhhYmYgbGVnYWN5LXRydW5rCiszMzc0NiBkMDk5NDRjZWUzYTRmZTRlZDE0MWRlYzQzMWNmNjE1MzBkNGMxNDIwIGxlZ2FjeS10cnVuaworMzM3NDcgNTI2YzEyYWIzNmFmMzk4MmY3MDRiZjI1MmU3ZDhhNjQ2MmI0ZTVhYiByZWxlYXNlMjMtYnJhbmNoCiszMzc0OSBkNzM4YTA3YTI5M2EzNWY0MDMzYmM3OWRjNDliOWUzODBjYmE3NjVkIHJlbGVhc2UyMy1tYWludAorMzM3NTAgYzlhMDA1OTBiOTAxZGRkYmU2NmFjOTE3NmI4NTIyYjM0ZjdmY2Q3MyByZWxlYXNlMjMtbWFpbnQKKzMzNzUxIDgwMTRmYjgwZDE0NDUzOWI3NGRmMzI4ZGNlYTFkMTZkMTgzNWJmMjMgcmVsZWFzZTIzLW1haW50CiszMzc1MiBkYjlkNjMwMjM3YTY1NzY1ODIzYzc1ZWU5ZjYzYThlYjU4ZTllZjFmIHJlbGVhc2UyMy1tYWludAorMzM3NTMgZDhlNTJiY2UyY2Y5MDNiNDdhY2FjNDQwNDAxYjcxMGU5NWM0NDZhYiBsZWdhY3ktdHJ1bmsKKzMzNzU0IDVhMmE5MWI5NzgxMGExY2IzNDNjOWU0Y2VkMjg3YTljNDBiMWQ4MjggbGVnYWN5LXRydW5rCiszMzc1NSAyY2ZhY2E2MmE5OTA3M2RhYzA0ZDBhZjFkY2U4ZDU2NDgzMjNiOTQ3IGxlZ2FjeS10cnVuaworMzM3NTYgYWU4NDg1ODY3ZDMwNzExYWI5OGE3ZDQ3MDBkNWY1YWIzMzdmZGQ4MiBsZWdhY3ktdHJ1bmsKKzMzNzU3IDQ5NGIwN2E1ZTJlNTdjYmMyMzg4M2Q1NWFmOGQ5ZDEzYzhhZGM2OTAgbGVnYWN5LXRydW5rCiszMzc1OCA3ODAxYjEzYzUyYzk0NjEyYzc0MjYyOTBkYTZjYmJlYTE3YjRiZDk2IGxlZ2FjeS10cnVuaworMzM3NTkgMGNmYzZjYWJjZTg4NGE1MzBjY2ViNThkYjg3YTFjMzMyZDFiZWJlOCBsZWdhY3ktdHJ1bmsKKzMzNzYwIGEwMzAwZWE2MzhkZGI0MTMwMTkwOTY3ZjIxODBmYTE2ZTc1YTJhZjYgcmVsZWFzZTIzLW1haW50CiszMzc2MSBiMjRlOWQ3MWZhM2NkYmM3YzkxMGVlNzgwNjdhMTQwNmQ2YWQyZjBjIGxlZ2FjeS10cnVuaworMzM3NjIgMWQ1YmU2OTgxZDU3ZWRkODcyYzRjNTMzZTQ5NmExOWY4MGQ1ZTRiNCByZWxlYXNlMjMtbWFpbnQKKzMzNzYzIGU0NzdiNTk5OTI0ZGE4M2Y1NTczODBhNjQ1MDAxOTg1MDk5Nzk4M2EgbGVnYWN5LXRydW5rCiszMzc2NCBhYWIxMDg5ZjBmODVkZWViYmQ1NDVmOWNjMjNmNGY0YTIwMjk4YzY2IHJlbGVhc2UyMy1tYWludAorMzM3NjUgNGFkZmQ3NjQ2NmJjNmMwNmU0ODRiNTJmZTRhMjM4NmJkYjgyNzZlZCByZWxlYXNlMjMtbWFpbnQKKzMzNzY2IDIwMDE2NWQxMWE5NDYyMmFjZWJiMDIxZjk2MzU4NGE4MTY5NDM0NDYgbGVnYWN5LXRydW5rCiszMzc2NyBmMjYxOWJkNjgzZGIzZGIxYmI3OGIwZjA1NTYxNmI3ZmY3ZWUxNGVlIHJlbGVhc2UyMy1tYWludAorMzM3NjggMzU0YzdlZTQzOGJmNGVhMDE3NGY5M2E3Mjk2YzdlZGEwZTAxNzY3MiBsZWdhY3ktdHJ1bmsKKzMzNzY5IDdhZWExYjVjZGViYmEyZjc2ZmZjOGIzOGY4N2QxMTYwZDc3NWIwYWQgcmVsZWFzZTIzLW1haW50CiszMzc3MCA1ODlkNTU0NWFmNDExNjMwMjY0NDA3MWE4N2QxNDAzYzE4YmI3ZDc4IGxlZ2FjeS10cnVuaworMzM3NzEgMGU2NDI0MDgwMGRkMTNjNzFkOWQ0N2FjNWE1MDM0ZDEzMzFiOGQ1NiByZWxlYXNlMjItbWFpbnQKKzMzNzcyIDk4ZTZhYzFkODM3OTcxOTYzZjQ1MThlMmEzODliZjcxOWE4YjNmOGIgbGVnYWN5LXRydW5rCiszMzc3MyBhZTAyNDJlMzQ1OWVlYWE5NTIzZjNlNzQ2NzM5MWJkMDhkNDE4Yzc1IGxlZ2FjeS10cnVuaworMzM3NzQgOWJkNWMwNTJiMzA4Yjc4YTcyZWEyOTc2YWVkMDdjZmJlNzNhNDM3YyBsZWdhY3ktdHJ1bmsKKzMzNzc1IDE3MTgxNGY1ZGNjNjMyMTBiNjIxYTQzYjRhN2Y5NWQzZDkxMTQzNWQgbGVnYWN5LXRydW5rCiszMzc3NiBhYjEwYzBjMjVjMDMwNGFkNGEzOTgxMDMzMGRhOTc2MzZkNDNiMzE5IGxlZ2FjeS10cnVuaworMzM3NzcgMDYxZDg2ZmMxMWJiMzgzNGRiNTk3ZTcyNzc1MzQ0YmFkY2E3YTI3OSBsZWdhY3ktdHJ1bmsKKzMzNzc4IDczNWVjMDg2OTQ5MjNmZWI2MDYxY2FmYTBlMTBlNzc4M2U1YTVkYWUgbGVnYWN5LXRydW5rCiszMzc3OSA3YmQ0MDIwNTA5NGNjNDgyM2JhZjNiOTU0NGFiODQwMzA2OTg0ODMwIHJlbGVhc2UyMy1tYWludAorMzM3ODAgMzZjMjc3MzgxZDc4YjNiYjYzNzcwNWRmNTEwMzFhYjM3ZmViZGRkMyByZWxlYXNlMjMtbWFpbnQKKzMzNzgxIDhjYzgwMDAyZmI5MDM3MDhjZTQxNTQwYzhhOGY4Mjg5MTQ5YzkxYmUgbGVnYWN5LXRydW5rCiszMzc4MiAyYjE0Yzk4MjdkOWNkNzNiYTY3N2UzNTdkYTE3ZWZkMGQzMzA5NTczIHJlbGVhc2UyMy1tYWludAorMzM3ODMgNWIxZGRjNGI0OWI5YmIxZjk2MmFjMzNlZmU3M2FjMTUwMjZhZGQ1NSByZWxlYXNlMjMtbWFpbnQKKzMzNzg0IDhiN2UzN2I1ZjFlZTQ1MWQyNDkxOGE5M2E1ZWYwZjZmZGNjNDAwNGIgcmVsZWFzZTIzLW1haW50CiszMzc4NSA3NjJlMWIyMDg4ZTUxODhkZmVlNjMwNjk5NDliYjc5ODNhZWIyMWM1IHJlbGVhc2UyMy1tYWludAorMzM3ODYgNTlmZjc3YjBhYzcyNGFiMTJhNTZlNjU2Yzg4NjcwMzdiZDM0ZGU5YyByZWxlYXNlMjMtbWFpbnQKKzMzNzg3IDhmOTNiMDliMmJiNWYzNGMyNDUxMGNjZmNlZDc5Y2Y2N2Q4NTgyNjQgcmVsZWFzZTIzLW1haW50CiszMzc4OCA3ZjU0ODkxODRkOTQzMzBhYmViNGYzNjA2Mzc3Y2VmNjUzYjU4YmUzIGxlZ2FjeS10cnVuaworMzM3ODkgNjIxNmU3NGI4OGVmYmUzNjg1OWQ5OWEzYTY0MmY5NGNkNDY2Y2E4NSByZWxlYXNlMjMtbWFpbnQKKzMzNzkwIDFjNDUxOTRkMTI0ZDg5NTI0ZjRiNmNkODkwMGE5Y2M0MGRjMDgxNjMgbGVnYWN5LXRydW5rCiszMzc5MSBiMDc2ZjY5YzVkYWMzMTJjODZjOGJhNWJiZWVjMDIxMTdiODU5NzU3IHJlbGVhc2UyMy1icmFuY2gKKzMzNzkyIGQwNWQwZWQ0NjVkODAxNjVkZWFkMThmZjlmOTE4ZWMyYzU5MDhjZTggbGVnYWN5LXRydW5rCiszMzc5MyBkYmRlM2RkMzEwNjg1MmVmZDIxZjM4YjcyODliNDMzOGUzMTRmYzc0IHJlbGVhc2UyMy1tYWludAorMzM3OTQgOGViYjliMzU3NmQxM2M5ZDAzNDc0ZDI1MWE4MmUxMWVhYTg5YjQ5NiByZWxlYXNlMjMtYnJhbmNoCiszMzc5NSA1M2MyZmYxZDgxZDE2OThhZDA5YjNiNWYzNGE0YzQ3YWM4NDZlODkyIHJlbGVhc2UyMy1tYWludAorMzM3OTYgYmZjYzk4ZGU3ZmNjMjUwNDhiODk5ZDU4YzM0OGEwNTBiNTFiZjg2MCByZWxlYXNlMjMtbWFpbnQKKzMzNzk3IDQwZjVmMGI0NGNjNDQ3Zjc4ZTYwMjMwMWVhN2NhMjM0MDM3NGU0NzggcmVsZWFzZTIzLW1haW50CiszMzc5OCBiYTQ4ZTU3MWE0ZDVjZTlmNjM0MWY1Yzc5ZmJkODQxMWQ3MDZhMzQ3IGxlZ2FjeS10cnVuaworMzM3OTkgNWM4YjJhNjY2NmMzNmZjNjMyZDJmZmUwZTQ1ZDBhY2VkOGNkNmZmYiBsZWdhY3ktdHJ1bmsKKzMzODAwIGFmZGU0MDJlM2E1NWE5OWIyNTdjOWQyYmZjNjhiZjljYTA5YzdjYjUgcmVsZWFzZTIzLW1haW50CiszMzgwMSBkNGNjZTU1MzQ3OGE4MTBkMDRhOTIzNTJjZWQ4ZGFmZTNjNjAyYzA2IGxlZ2FjeS10cnVuaworMzM4MDIgMGFjNDM5NmIxODk0YTBlMjlkOGMwYjFjZDU5MGE0ZDFlNmNlZmJjNCBsZWdhY3ktdHJ1bmsKKzMzODAzIDc0ZWY4YjhlMDA2MTc0YTUzYzBiNWE2NDVjODkxMzBkOTZjMWUyYjIgcmVsZWFzZTIzLW1haW50CiszMzgwNCBlM2M5YjQ4ZGU2MGFlMjc0MDY4YjY4NDhkMDIzYjZkZmQxNDA0MzhlIGxlZ2FjeS10cnVuaworMzM4MDUgMDYwMTZkNWQ4MWQ3ZDRlMWQ0ODBhMzgwMGE1Nzg3OGQ0OTNjMDA5MiBsZWdhY3ktdHJ1bmsKKzMzODA2IDFjNGQxOWI5YmFhYzY1M2ZmMGMzYWI5ZDc1Yjg1OTgwMjExNWQ2Y2MgcmVsZWFzZTIzLW1haW50CiszMzgwNyBkNjM3OTYyMGZiMDhkMTRhNzA2ZDM3NTZlNzIzNmFjYWNjYmZmYjIxIGxlZ2FjeS10cnVuaworMzM4MDggM2RjOGYyYjQyNDhjMmI4M2VkM2E0NGNmYjlkYmY1NmFmOWIyOTc3YSByZWxlYXNlMjMtbWFpbnQKKzMzODA5IDA5YTJjZGVhYjhjMGFlODNlMjlhMDY3NmY3Y2IzMTU5NTYwMDYzZWQgbGVnYWN5LXRydW5rCiszMzgxMCA1MzBlMjNiZjllMTkzZWVhY2Y4OGZkY2NjOGVlYzY1NDAxNzQwNzYzIGxlZ2FjeS10cnVuaworMzM4MTEgOTAwMzI3MDk1YjA1MTQwM2ZhNmE4ODQwMjRhYjcxZTc5ODE1YTdiNSByZWxlYXNlMjMtbWFpbnQKKzMzODEyIDUyODQzN2EzZjVmN2E3NWMxOTEwODhhNzk3YmNhMmJlZjQwZjMwMzMgbGVnYWN5LXRydW5rCiszMzgxMyA2NjVmOGE2ZjQzN2RiNDZiY2U4MzdmNzQxZGM2OTI4MDAwZGI4OTFiIHJlbGVhc2UyMy1tYWludAorMzM4MTQgNDM1M2YwNDQyMmUzMjFmZDEyNGIxZWMwMmMyYzZjZDg3N2NhNDQ1YiBsZWdhY3ktdHJ1bmsKKzMzODE1IDI2NTA3OTg4MzY2ODczOGY2ZGY0YzY3NWY2ZWRiNWI5NWY0OTQ3YjYgbGVnYWN5LXRydW5rCiszMzgxNiA2MTZhOGMwY2M5MTcwNmFiZTA0MTU3N2NhOTU2N2IyNzRkYjVmNTJiIHJlbGVhc2UyMy1tYWludAorMzM4MTcgYTg4ZTZkZmJmZDZkMzRmMTA3YmQzNjBmYjVmY2VlN2ViZTY0NWY1NCBsZWdhY3ktdHJ1bmsKKzMzODE4IGZiMmFiY2EyZDJkNTU5YzYxZDZkODgyYmNlMTdhZWI1ZDQzMzg0MDMgcmVsZWFzZTIzLW1haW50CiszMzgxOSA5MmQ2ODA4M2EwZmQ2N2JmYWJlZmNlNzQ0YTk5NDc1NWY2Yjk2NDFiIGxlZ2FjeS10cnVuaworMzM4MTkgOGU2M2M1YTMzZjQ3MGY3YzM2M2UzOGE3YzE2MmQyNDllZGNiMmJiNiByZWxlYXNlMjMtbWFpbnQKKzMzODIwIDQ2MTAzMGU2YmQ2NzZjNWI3ZDk5N2JjNzE2YjQ0YTgyOWZkOWIzOTEgcmVsZWFzZTIzLW1haW50CiszMzgyMSA2N2E5MWY3NTBjNjMxMmNjNGY3ODkzM2FhMjM1YjAzMDRlZmJiN2M1IHJlbGVhc2UyMy1tYWludAorMzM4MjIgOWY2ZTJkZWUxODkyZjczYjkyMDZlYWEyYzZjNTY1MWE2Y2MyOWQyMyBsZWdhY3ktdHJ1bmsKKzMzODIzIDdiOTA2NTcxZGM2OGI0ZjAzYTA2NDExYTQyNDk5MzI5NDkzODdjNmQgcmVsZWFzZTIzLW1haW50CiszMzgyNCBmZTA1N2JlYTg4NTY2OWNkNWQwZWM5YTA1MWNiZjBiN2E1NDE3YWQzIHJlbGVhc2UyMy1tYWludAorMzM4MjUgNDBhYTRhMTBmNDliNmE1YmZmMjAzY2I0MWVjMTQ5ODk1ZTYxZTcyMiBsZWdhY3ktdHJ1bmsKKzMzODI2IDM3NzllYjQ4M2U2YmQ1ZGE0M2YyMTNjOWE1MmUzNDMyMWI1ZTc3NDcgbGVnYWN5LXRydW5rCiszMzgyNyA3MjBmNDRjNmQxMWMyZDE0ZjA1ZGNlYTU0ZWVjNjdkNDUyMjE5ZWExIHJlbGVhc2UyMy1tYWludAorMzM4MjggMTljMGY4MTdjYjQ3NTc1YzA2NWU0NzQ1NTM2ZTI4MWJmOGM5MjYxYyBsZWdhY3ktdHJ1bmsKKzMzODI5IDk5OGIwNjczMGM5ZmIwZTU5Y2QxODUyYTRiOTJhZjM3ZDYxN2U5ZTQgcmVsZWFzZTIzLW1haW50CiszMzgzMCAyMTA2NzZlYzlkNWYxN2VlNjRmZjNhZDczODg4ZTY1ZmZhNjZjMDU1IGxlZ2FjeS10cnVuaworMzM4MzEgMTU5OGZiZTY5M2Y5OWM4NTI2NTMyMGUxMjI4M2E4ZGIzY2VkZmUyNCByZWxlYXNlMjMtbWFpbnQKKzMzODMyIDI5MDMyZjM3ZGM4ZjgyN2YzNTk1ZTE4MmVjNjY2OGE4OWE3M2Y0NDMgbGVnYWN5LXRydW5rCiszMzgzMyA0YjQ2ZDU0NDlkNDk5NTcyMmJjNDc3NDNhNDllZTQ4NmVlZTU2ZGMzIGxlZ2FjeS10cnVuaworMzM4MzQgNjg0MmNlYjM5YTE0NDE2ZDRlYzc3MGQ1OTA0OTI1M2FjYWM4MjhkZSBsZWdhY3ktdHJ1bmsKKzMzODM1IDJjNmY5MmNkZGJhZDlhOWEyZmE0NThmYjU2ZmZiNTIxYzg5ODM3N2YgbGVnYWN5LXRydW5rCiszMzgzNiA1M2Y5MDY5ZmM2NTBlZWFjZmJkOGZmNWVlNjVmZmY5YTNhYmRiMmUyIGxlZ2FjeS10cnVuaworMzM4MzcgYjg2MjNiMmM5YmNlNmFiOTZmMzJkOTBmNmM0N2VlMTkwNTliNzgyOCBsZWdhY3ktdHJ1bmsKKzMzODM4IDgyYTFkM2YyMTBhZGYwOGEwYjY2MTBmYjc2ZGU3M2VjOWI4ODhiMTQgbGVnYWN5LXRydW5rCiszMzgzOSBjMzNkMzY4OWVkNWI2Y2EwYjAzOTIwNTkwNmZkZjdjM2RmOTI2YTAyIGxlZ2FjeS10cnVuaworMzM4NDAgZGUyOGQ5OTI4ODU1NTZkYWU4MTRlZjkzZDZmYTYxMjM1NTRjN2RiMyBsZWdhY3ktdHJ1bmsKKzMzODQxIDVkMGM4N2I5NTcwZDNhY2I3YjE5YjNlMDViYTFiNjk4NmNhNDVlMjkgcmVsZWFzZTIzLW1haW50CiszMzg0MiA1MjNjM2Q2MWRiZGRlNzM0YTBmNTZkYmRiOTRhMDgwMzJiMjMwMDE3IGxlZ2FjeS10cnVuaworMzM4NDIgMzA0YjVhMzY1NTc2MTE0MjE4YjhiYzNkYWZmODZkMTNhMjQ5MDZlMyByZWxlYXNlMjMtbWFpbnQKKzMzODQzIDE4YjY3YWU5Y2Y0NTgyNDM2NzYzYTU4ZDhkYTU5MDRlNmVjMzVmZDIgbGVnYWN5LXRydW5rCiszMzg0NCBkZjY1NDg2MWNjZjZhMTA5ZjQxMzUyYzM2MDRlNmY0Zjg5NWM3ZTAyIGxlZ2FjeS10cnVuaworMzM4NDUgZjc0NmQ1NjkwYWQ2ZDgzOWRmNWI0YTc3MzYxZWQyYTFmYmE4MDFhOCBsZWdhY3ktdHJ1bmsKKzMzODQ2IGFhNWNiOGUzYjllYTViN2Q0ZDAxZTVmMThkMTNhOWZmYzBkYjBlYTEgcmVsZWFzZTIzLW1haW50CiszMzg0NyBmMzY1NGM1YWRhOTQ0OGNhMTUxNDU5MTNiNWFjYmRhMTFmMjU5YjJjIGxlZ2FjeS10cnVuaworMzM4NDggNDZiY2FiMmI3NGU5MjQ4NDliZTZjMWU2ZDI5ZTMwODhjYzY0NjQ0MyBsZWdhY3ktdHJ1bmsKKzMzODQ5IDQ1MDVhMGI5NzI0Y2YxN2QwNTQ4N2ZiZWM3MTYxYWIxNWNjZGY3YzQgcmVsZWFzZTIzLWJyYW5jaAorMzM4NTAgMDU2NzNiMTZiZGI4YzFlOWE5MjkyMzljM2JmMDVmN2JlNTAyZDc5ZiBsZWdhY3ktdHJ1bmsKKzMzODUxIGY0YjRiZjdlODdkN2UwYmU1ZTRmZTRhZWJmZGEwZmIzODZmNmYyNjggcmVsZWFzZTIzLW1haW50CiszMzg1MiBkOWYwMjdkYzY3NmRkOWNkNTUxYzZhMGFhNDE4ZmU2MzQ4MWY3MzQyIGxlZ2FjeS10cnVuaworMzM4NTMgN2NjMGEzMzk0NmEzMDQxNmY0OGU1ODI5MmNlZTY0Njk1MDRkMmYyZiBsZWdhY3ktdHJ1bmsKKzMzODU0IGYwZGZiYzE0MTQ4MzM2YjhmYzZjMDg3ZDc0YWZkZWRlYjI4ZjAyNTYgcmVsZWFzZTIzLW1haW50CiszMzg1NSA1OTBkOGNjYWJhYzdiZDBjMDUyNWQ1ODU4YTdjYWE2NzNkMTE0M2QyIGxlZ2FjeS10cnVuaworMzM4NTYgNmQ3NGYwMDZmODRhY2U4NGM2OWE5MDE4MzZkZmM1Zjg1NmI2ZTcyMiByZWxlYXNlMjMtbWFpbnQKKzMzODU3IDU5YmFkN2VmZmYwMjE2OTQ3MDJjODRiMzI0YjgzMTk5YzhjN2RjNzUgbGVnYWN5LXRydW5rCiszMzg1OCA1Njg2Y2EyOTdmNTVmNGY5Mjc5Y2M3ZDQ2MDNiZTNmOGFkNmY0YTRiIHJlbGVhc2UyMy1tYWludAorMzM4NTkgOWY1M2U1M2YzODgwMjNhMTA0MzhkMTI5ZWQyYTI2MWQzOWMxZjUzNCBsZWdhY3ktdHJ1bmsKKzMzODYwIDA4MTNiMzM2MTBjYzM1YzM5Yzg1MTNmZjdhYzgxOTEyMmI0YWIzOWEgbGVnYWN5LXRydW5rCiszMzg2MSBlMzczNjMwYmZlYWI3NjQwZWJmMTU4MzUxOTliNTZlZTE0OTNjMTYxIHJlbGVhc2UyMy1tYWludAorMzM4NjIgYTQ5YzFiNzYxMDZjZTRhYzhhZjU0Y2Q2MmUwZWEzZWJkYWQzMjIxYiBsZWdhY3ktdHJ1bmsKKzMzODYzIGUzMjgxYjBkZjZhNDFjNTk2NWE4YjQxNzVmMDQ1N2YxOGVkNGFlYTQgbGVnYWN5LXRydW5rCiszMzg2NCBiNjk4MjA5Yjk4Mjc4ODM1NGQzMGQ0YTAwZjI3YzcyYzllMmQ5MGU2IGxlZ2FjeS10cnVuaworMzM4NjUgOWI4OTE2NjMxZWI2OWVjMzJlNWM5YzQyMDU1MmI2ZWY5YTlkNmRlYSByZWxlYXNlMjMtbWFpbnQKKzMzODY2IDQ0NjA5NzlkZWViZjVlYzY1NTMyNjJkNzJiZWFmNzg2ODE1NzQ2MmIgbGVnYWN5LXRydW5rCiszMzg2NyA5NDFkNDlhNjVmMDZmMTIxZmM2YTMyNjJmNmI2ZWI2Zjc4YjI4YzM2IGxlZ2FjeS10cnVuaworMzM4NjggMzMyOWIwNThkYjIwMTJlYzZkYzk3YjBkNWQ1YTIyMmE4OGQ3OWJlNiBsZWdhY3ktdHJ1bmsKKzMzODY5IDU0NjE3ZWQyZDgzMDg3MDIyOTY2ZmY0MTNjMTdjNGYyZDg2YWNhNmIgcmVsZWFzZTIzLW1haW50CiszMzg3MCA0NDM1MzNkMDg3ODNkYzc4ZDZmNzQ4NzY0NWUxMjAxOTkyZGI5ZjE3IGxlZ2FjeS10cnVuaworMzM4NzEgMjliMWQwNzYzNzkwYWY3MGM2YTQ1NzhkMjFmMmEwZDQ5ZDI1ZTdhZSByZWxlYXNlMjMtbWFpbnQKKzMzODcyIDdjYjRhZDU5MzJlNjI2ZGZlNWQ3OGNhNDRiOGQzNjQ1ODlmNTU5NmEgbGVnYWN5LXRydW5rCiszMzg3MyA0NzA4ZmEwODYxMjFmMjNkMjc0Nzg4YmU4ZTk5YmRlNmU4ZWUyZjBlIHJlbGVhc2UyMy1tYWludAorMzM4NzQgZWYyMTY4MWE5YzdmYjYwOTkyODc4M2VlODk5NTg2Nzc4MWI0MDAzMSByZWxlYXNlMjMtbWFpbnQKKzMzODc1IGRjNDI0OWRkOWUzNTNhODIyNWRlZjEyYWRjNzExMjQwZGRmM2U0MDIgbGVnYWN5LXRydW5rCiszMzg3NiA4ZTJlZjI3ZjY4OGI1Mzk2MDYyZjY5MDIwMDExMzc2ODk2ZWJlNGRlIHJlbGVhc2UyMS1tYWludAorMzM4NzcgMmQyNzRkYTA5Mjc0NzY5ZjBiMTJkM2QxNDIxYWI3MjYxN2RhZDBmNiBsZWdhY3ktdHJ1bmsKKzMzODc4IDk0MmNlZWJlOTY3MWFmODY1NDNjOGI1N2NhOTQ2MDFjZTJhZTNkM2IgcmVsZWFzZTIzLW1haW50CiszMzg3OSAzZGRhNTNjMzEyYTVhYWIyM2NkMDk0ZTYzNWMzMmI1OTE1NGU5ZDkzIGxlZ2FjeS10cnVuaworMzM4ODAgYTMzMmRjYzc5MDJiOTYwYWEwMjZhOWJjMzgyN2MzYzA0YTI1NmI2OCBsZWdhY3ktdHJ1bmsKKzMzODgxIDk0MTQ4ODZmNWM3YWRjNjE5OTQ5OWU3YzhiNTdkN2E4MGNlOGRhMTEgbGVnYWN5LXRydW5rCiszMzg4MiAyYTk0MWZmMGExMzY2NWUwMmZlYTE2ODc0MTQwMGFiMTViZmZjNTRjIGxlZ2FjeS10cnVuaworMzM4ODMgYjU1ZDRhM2Y0MWU4NmUzOTg3NTA0NGI0YTk0YjViMWQ2NWJlNWQ0YiByZWxlYXNlMjMtbWFpbnQKKzMzODg0IDNkYjUwZDMxMzQwZDkzYzE4YjM1NTYyNDRkMzM3MjkyMDFkNTkxNzMgbGVnYWN5LXRydW5rCiszMzg4NSA0ZmYzODU3MmQwMzZlNGZhM2ZhMmY0YzdhYTU5YjU2ODA4YWVkNmMwIGxlZ2FjeS10cnVuaworMzM4ODYgNzFkZmQxZTFmMmVjY2QyMThjYjg1NjIxODFkODk2NmE0MjA0NzlmZiByZWxlYXNlMjMtbWFpbnQKKzMzODg3IDYwYWFlOGExZTIzNzI2YTQ1M2E0ZWY4MWFmODUyMjUzOTQzMzc0NGQgcmVsZWFzZTIzLW1haW50CiszMzg4OCA5NDY2NTI5MWFiMWJkMzMxZGQyNzNkZDBmNDVhMWIzZDhlNGIwODViIGxlZ2FjeS10cnVuaworMzM4ODkgY2NiNDBkYThjNDEyYzYwMTg3MzU4ODYwMjgwN2Y3NTU5N2VkNDk4MSByZWxlYXNlMjMtbWFpbnQKKzMzODkwIDdiYzc3MjUyN2U0NGRiOGM5MDNkYWJjZjgxODM5OGU3MzdiNTI5ZTQgbGVnYWN5LXRydW5rCiszMzg5MSBhZjU1MzViMGUwMDllNjY4MzBiMDBhOWY4ZDM0OGI2MjgzNTc2NWFlIHJlbGVhc2UyMy1tYWludAorMzM4OTIgM2VhNTJiYzc0ZDE3MWYzYmU4Y2U4ZDljMGEzMjk0MWQ1ZWQxYjFlZSBsZWdhY3ktdHJ1bmsKKzMzODkzIGQyNzljNDBiZDdiMzZiY2UzMTA4ZTJhNzdhNjdiMzBmODE2YTE1N2QgbGVnYWN5LXRydW5rCiszMzg5NCBhNTVmZWVhM2Y5MjFkYjVhMTBjMDRjOGFlMTNkN2ViODVmMjAwMzRlIGxlZ2FjeS10cnVuaworMzM4OTUgZmQ4MjRkNTc0YThmZGQxMDA1NDc4YTgxMjRjYzYwZDNmMmUzODM5NSBsZWdhY3ktdHJ1bmsKKzMzODk2IDEzMWM1NGYyMDJmZDg0NDYyNDNiNTdkMmYzNWZhZDM3OGY3YTdiNTcgbGVnYWN5LXRydW5rCiszMzg5NyAwZmE5OWQzMWZiNDgxMjBlNDYxY2FhNGNlNGUxYzU1NThmMDE3NDVmIGxlZ2FjeS10cnVuaworMzM4OTggYzEwYTFjZGNlNjJiNTFiNzlhNGY0ZjkzODRiNmVmMTAxNzkzZGJkMiBsZWdhY3ktdHJ1bmsKKzMzODk5IDlhNWQ2ZWI4MWNmYWFmMzc2YmQwNDUzOWRjNWQ5ZjI0Y2I1NWFmZGMgcmVsZWFzZTIzLW1haW50CiszMzkwMCAzYjkwNzRhZDcyM2U0YmYyYTU2OTdjZjdmMjUzMmExMWMyZjA5NDlhIHJlbGVhc2UyMy1tYWludAorMzM5MDEgMzllOTI4ZDAwYjY0Mzk4Yzc3YjQ4ODc5ODk2ZDBkODUyMGE1NTU2ZCByZWxlYXNlMjItbWFpbnQKKzMzOTAyIGQ3ODc3OTE4N2M3ZGYwNDkzNzM4ZGFiZDNlMDI2MDBjMWIzNTQyNTMgcmVsZWFzZTIzLW1haW50CiszMzkwMiBlZjFmMjk3M2ZhZDgwOTA4MjQzMzEzYmQ1NmZmZTlmNWYwN2FlOGEwIHJlbGVhc2UyMi1tYWludAorMzM5MDMgNWM1NGE3OGYxZDUxNTJiMTVkYzEwYTc0M2Y3ZGU3OWZjZTRhNGIyNyByZWxlYXNlMjItbWFpbnQKKzMzOTA0IGJjNjllMGRmZDJhMDM0NDk3YjU2ZWNkMDM5MDdmY2IwZmY4ZDViNzMgbGVnYWN5LXRydW5rCiszMzkwNSA2Njk1Njg4OTkzMDlmZGI4OGM4ODQ1ZTZkMzFjYjJlYzBkOTk3ZjE1IGxlZ2FjeS10cnVuaworMzM5MDYgMjUxZmEwN2ZjNWQxZjVmMmMwMDBmNzJhMzFlZjQ2M2Y3YWU5MzE3MSByZWxlYXNlMjMtbWFpbnQKKzMzOTA3IDRjMGFmMjJhOGYzZDEyNmRiN2E4ZWQ0N2UyNjU5Zjk4ODUyZWE5N2YgbGVnYWN5LXRydW5rCiszMzkwOCA0MWI2YTUzNjdlZTU2NDZiOGVkNmFiNTY1MDU2NTZjNjQ2N2YxOTY2IGxlZ2FjeS10cnVuaworMzM5MDkgZGMwMWNlMmY4NTU4MmRjMjQ1NDllMWM1OTA4ZmUzMTYyMmZkNmU5YyByZWxlYXNlMjMtbWFpbnQKKzMzOTEwIDc1NmI2NWM3OWY0MDAyNDVjMWRiM2Q5YTJhMTk4NzlkNTg0NmM0MmUgcmVsZWFzZTIzLW1haW50CiszMzkxMSAwYWFjMDc2NjM0NDhlMzAwZDViMDgzODJhZjk2ZTMyODU2YmNhYWIzIGxlZ2FjeS10cnVuaworMzM5MTIgZjhlYmFkZTJlNzI0ZGM2MWZjMmI2ZjczYjc4Nzg3MDgxZjczYzZmOSByZWxlYXNlMjMtbWFpbnQKKzMzOTEzIGQyZTRjOTRlZmJhYWIzMTBkMGM0ODc3ZWRhOTU5NTc1NjhmNzVjYTcgbGVnYWN5LXRydW5rCiszMzkxNCBhYzg2YjA3MTdhZDE5NDYzZGUzNzk0NzhkZjIwNTMzMTc4MTNmNGZlIGxlZ2FjeS10cnVuaworMzM5MTUgMGZlNjBmYTYxN2Q4ZGM3MDQxZDc1ZmE5OTgyZWUxYTdlZmQ0OGJjOCByZWxlYXNlMjMtbWFpbnQKKzMzOTE2IDJkYjhjNjNlNjljZDY0ZjJiOWEyZDBkNzk1MzljOTVhMTZjYWQ0OTcgbGVnYWN5LXRydW5rCiszMzkxNyA2YzFlNDdkNTRhN2EzMDFkODNlM2I3Y2U4OWU1MjkxM2IzYWU1MTQzIGxlZ2FjeS10cnVuaworMzM5MTggYTM4MDYxMGVlYjVhYzc5NWRhMzk5ZTI5YTk2MDRhNjdhYjQwZjY0MiByZWxlYXNlMjMtbWFpbnQKKzMzOTE5IGQxNWQ0NGQ5ZDZmNWNkZDVkOGExYmY4N2ExODE2MzljMDFiYjBjOGIgcmVsZWFzZTIzLW1haW50CiszMzkyMCA1ZTkzYTRmNmQ5YTk5ZmEyM2EyNTkzNDY2YjQ5MGNhMDJiMzMyNWU0IGxlZ2FjeS10cnVuaworMzM5MjEgYjUxOTAzNTAwNmM3MTk4MGMwNTM2NTMxM2ZmOTczOWJmYzU1NzgxNyBhc3QtYnJhbmNoCiszMzkyMiBlNGZmMGRiM2IwODg2ZDAzZGY0N2RiODFiNjViZTZmMzEwNDNjNTNhIGFzdC1icmFuY2gKKzMzOTIzIGFjMGRiMDM0ZGQxNGJkN2YwZDQ1MDQ3MzU2MTQ2M2NiOWMxMmVkYzIgbGVnYWN5LXRydW5rCiszMzkyNCA4NDgxYzliYWY3ODVkNWQyZDcwMjI5NWVmMWYzY2UwN2M5MjJiOGMxIHJlbGVhc2UyMy1tYWludAorMzM5MjUgN2FiMWE0MWYxNmRhYjE1MzAwMzZjMTI2N2E2NGU3ZjEwZmNjMDJlMCBsZWdhY3ktdHJ1bmsKKzMzOTI2IDIxZDNiMDZkZjc5M2NiMWFjNjg1OTFjNmI2NWZiNmRiMDU2YThkYzIgcmVsZWFzZTIzLW1haW50CiszMzkyNyA4Mjg3ZjUyMmJlYTE3ODRjZGQ1MzFhNmYzZjI1YjFmNWI3YjYxODY1IGxlZ2FjeS10cnVuaworMzM5MjggZGY4Y2JkZTVjNTg4Mjk4YjVmY2U5YjA1NzNmMDgwOWVkOTMyZTQ5ZCByZWxlYXNlMjMtbWFpbnQKKzMzOTI5IDA1NmYxNmE3YWJiMDM0OTY5OTU2NzIyMjNiNmFlMzRiYTY3Y2IwYzUgcmVsZWFzZTIyLW1haW50CiszMzkzMCA0MDAwY2M2ZGE5MjUyMjA3YWI4OWZkYjlmODU4NGYyZmM1ZDM1MzA3IHJlbGVhc2UyMy1tYWludAorMzM5MzEgYTVmNjA2ZjljYTA1NzFhMjRlZTNmMDgxZGRlYzkwMzY0YjI1YzlmMSBsZWdhY3ktdHJ1bmsKKzMzOTMyIGMwNmRmZmI2YTk4MjI5MTQxZjM0MjBkZTQxZDMyMGJmNDFkNDU4YWIgbGVnYWN5LXRydW5rCiszMzkzMyBlODE3MzU0MjM5M2ZjNDczNWUxNjFlZmYyN2EwOTU5NGJiN2E0MWFmIHJlbGVhc2UyMy1tYWludAorMzM5MzQgMjQzNDFjYjIxZmQ1Y2IxOGYzZjNlN2NkZTVhM2FmMDNmMDIyZTZlNiBsZWdhY3ktdHJ1bmsKKzMzOTM1IDgwNjE3OTQwMGYzNTRlZGJjMWVjMzMzZjljZWI2OGM4YzQxNDA5ZGUgbGVnYWN5LXRydW5rCiszMzkzNiBjMzBlZDEzZDM1ODIwOWEzYjg0YjIxMDgyMmY3YTcxZmJiNGZhYTM2IGxlZ2FjeS10cnVuaworMzM5MzcgYTBmNTNhMDY5NDcwMzUzYWE1ODI0MWNjZTQ5ZDExMGZiNGQyNjlmYyBsZWdhY3ktdHJ1bmsKKzMzOTM4IDEwOWQ2M2Y3MDM3YzkzYTNmZGQxMWFiYWJiMGQ3OTkyZDQxYzlhZWIgcmVsZWFzZTIzLW1haW50CiszMzkzOSA0OTY5NjhmMzY0OWU4YzEzODQ0OGJmMTMxMTdkYWE5NzUzOTdkYzcxIGxlZ2FjeS10cnVuaworMzM5NDAgZGQ0NTFhNjNmODllNTlhMTYxODczOTBiYjczY2E0ZWQ3ZTVhMjI5YyBsZWdhY3ktdHJ1bmsKKzMzOTQxIGI5NDBhYjlhMmFiZjQ0ZjNlOTk4NDU0Y2UzNzRmYTAyNzJjNTViMjMgcmVsZWFzZTIzLWJyYW5jaAorMzM5NDIgZGZiZDI4MTEyZTA5N2NkYTY1YmIyMjAwNzBjZTI0NmIzMGMxODgyZiBsZWdhY3ktdHJ1bmsKKzMzOTQzIGQ4Yjc2ODc4MDRiMjM3ZDg2NjMwYTE0N2E4YmNjM2FkM2QxN2NlOGYgcmVsZWFzZTIzLWJyYW5jaAorMzM5NDQgYzQ3ZjVhYzhiMDZkZDNkZGVhNmRlNTczMTEwODA3NWJkOTdlZmU2MiBsZWdhY3ktdHJ1bmsKKzMzOTQ1IDNkNGE1NTAzZTQ2ZDkxMmMzODczYTAyOTkxMzY3MTJiYzA1YTM2MWQgbGVnYWN5LXRydW5rCiszMzk0NiA3ZjM0NjUyZDcxNjEyYWVjZWFkODM2NWMyODcyNjhmMmZlYzI5Zjk1IGxlZ2FjeS10cnVuaworMzM5NDcgYzQ1MzU4OTM1ZWQzZmZmOGZhMDllMTdhZWE3MzQzNGIxODJlMWNlYiBsZWdhY3ktdHJ1bmsKKzMzOTQ4IDQyMTQ3MTRhYmFjYmYyMzk0ZjZiZGY3YzFhZjI4ZjdjYzU5MDA1ZTIgcmVsZWFzZTIzLW1haW50CiszMzk0OSBhNTcwYmI5ZjEzM2Y3MDkyODRmY2Y1YWM5ZTNjZDZlNDgxMDA0Zjk4IGxlZ2FjeS10cnVuaworMzM5NTAgZTgzNTc1YmIyOWRhOTA2ODVmMDg4YzFjNjcyY2I3ZmMyYzY2MGZlMSByZWxlYXNlMjMtbWFpbnQKKzMzOTUxIGYxZWEzMTExMjdjZjE1OTc5MGI5ODliZTA1OGU3MDZhNTE3YTg5ZTAgbGVnYWN5LXRydW5rCiszMzk1MiAzZmIzNzQ3Y2UzMDRjMTkxNzNlMDAxNTAyMzY5ZjQ5OTUyZmQ2Y2I1IHJlbGVhc2UyMy1tYWludAorMzM5NTMgN2Y2NjBmYTI4OGFhYmZlOTkzMTRhODA3MjJhZDZhNjdiNzlkNmRmOCByZWxlYXNlMjMtbWFpbnQKKzMzOTU0IDUzYTMyMmM2ZGU1MjJhOTA5MDQ5YzQ0YjAwYjAxMmFjMDUyM2MwNzEgbGVnYWN5LXRydW5rCiszMzk1NSA5ZTNkNTFiZWM1M2EyN2U5NmFkOWZhYmVkZGFjODE4NDc5ZGNmYTVmIGxlZ2FjeS10cnVuaworMzM5NTYgNDk3NjU5NDUwNTM0OGVhNDk2NGJjY2NjNDUzNjU5OTA5M2FiOTEzYyByZWxlYXNlMjMtbWFpbnQKKzMzOTU3IDk3ZjNkNjY1NThmYjhlYTcxNGE3YmMxN2EyMWQ4NzdmYzNiMDMyZGYgcmVsZWFzZTIzLW1haW50CiszMzk1OCA5NTY5NWNjNDVjZGQyZWFkNWRjYzYyMjU4MmIwMmU5ZGUyMGRhMWIzIGxlZ2FjeS10cnVuaworMzM5NTkgOTk1MWI2ZTlhM2VhNTdiZTRiODNmNTMzY2I5ODJlMTZhN2NmYjFmYiBsZWdhY3ktdHJ1bmsKKzMzOTYwIGJmMmFhN2RlNDM3ZDM0NmFlOTg2MDliNzAxNjA0OTM3YWMzZDIyZjAgcmVsZWFzZTIzLW1haW50CiszMzk2MSA4MzBjMGNkOGZkYjIyMDIyMWZkZWEwZDkyZjQyMGM3ZjcwYzcxOTkxIGxlZ2FjeS10cnVuaworMzM5NjIgMGRmYWZhYTEwNDAxYzE1Yzk0YjI2NTYzYTFiNzJkNzI0YjMwYTNiMSByZWxlYXNlMjMtbWFpbnQKKzMzOTYzIDY2NjU0YWM2OTYyMmYxYjE5OGRhYWY0MmZjN2Y2ODE0YjUyM2QwNDAgbGVnYWN5LXRydW5rCiszMzk2NCAzYTUwZjgzNjlhZDU2NGUzNjhjMmU3MTgyYzgzYjEyMjVmNDEyYzc1IHJlbGVhc2UyMy1tYWludAorMzM5NjUgNzE4ZTE0ODg4NzFkNDAzMTUxYzA1NDBkMmJjNzljZTZkMzExZmNhNSBsZWdhY3ktdHJ1bmsKKzMzOTY2IGY5NjI0Zjk0MDYxYTdlNTBlNmUyY2E3YWQ1MzQ4OGYwYmJhMDU4ODMgcmVsZWFzZTIzLW1haW50CiszMzk2NyBkYTFiMTkxYjBhNmEyZDk1MDkzYTRlMjJlMjYyYTM3MDI5MDA5MGYxIGxlZ2FjeS10cnVuaworMzM5NjggYTU1ZWI1NGE1NmQwYmM1N2NkZmUzZjY3OGI3NTU3YTk3ODliNzAyNCByZWxlYXNlMjMtbWFpbnQKKzMzOTY5IDM3YTQ1MDJmMTYxMDc0ZjZkNmY1ZWJlMWY4YjliZjQ1ZDZjNGU3ZDEgbGVnYWN5LXRydW5rCiszMzk3MCA5ZGM1ZTcxNTk2ZjdmYzEzMjAyNmUwYjkxYzlhYThkZjE2ZWYyMzA3IHJlbGVhc2UyMy1tYWludAorMzM5NzEgZWJiODNmMjY2ZmE0ZjJkNDhjNzYyMmRiM2IyN2Y2OWE4MTAzNjUwMiBsZWdhY3ktdHJ1bmsKKzMzOTcyIDI3MDA1MmY2ZjBlMWVlMGYwZTcxZmQ5ZjY0ZDRjMTMxZDEyOTQ0NzIgcmVsZWFzZTIzLW1haW50CiszMzk3MyA3YjU3NzM3N2Q1NDZmZTY3NzNlMjRmOTYyNGJiNzgxMGI2MjUxNTNiIGxlZ2FjeS10cnVuaworMzM5NzQgOTQ4ZmQzNGViMDUwOTZjMDM4MjAxZjNlNDE3YjI2OGRiYTk0MGJlNCByZWxlYXNlMjMtbWFpbnQKKzMzOTc1IDExNGQ2OTNhNWI4OTNlZjM1ODlkYjNhNDA2ZmM1OTEzMjQ5MDUzMDIgcmVsZWFzZTIzLW1haW50CiszMzk3NiA1MTc0NDI3OTQ1OGZiMDA0OWE0NTJlOWY2YjA1MWU1N2MxNGY0ZTJkIGxlZ2FjeS10cnVuaworMzM5NzcgNTc5NTFiYTVlOWIxMDc5OWRkMDQ5MTM4Y2FkOWJjMmIyZTIyMjYxZCBsZWdhY3ktdHJ1bmsKKzMzOTc3IDBjMTNiYTUzNTkxODJmMmE0NjlhYjFlMDEwZmI4Zjg2NmVkYmJiOGIgcmVsZWFzZTIzLW1haW50CiszMzk3OCA0MzZkNTc3MmI4N2ZmZjllODIzZDg4MDEzMThlZjQ4NDkwZWY4OThiIGxlZ2FjeS10cnVuaworMzM5NzkgMGYyNmFmN2MzYjUyYjFlYzk2MWY4YmNjZmZiNWVmZGIzNGRkMmZlYiBsZWdhY3ktdHJ1bmsKKzMzOTc5IDVjMGE3MDRlMWJlNGQ3ZWRkMjNlM2MwNDdjNGFhZDEzYzBjNTcwMWYgcmVsZWFzZTIzLW1haW50CiszMzk4MCBhNDA1MWFkNzY2NmU1ZDVmM2VmYzc5NjNlNzQyZTlmMWE4ZGYwOWY1IGxlZ2FjeS10cnVuaworMzM5ODEgODkzNzVhMTNhMThjOGFlOTdjZDE4NGQ0YTg0YTczOGVhYjNlMzQ4OCByZWxlYXNlMjMtbWFpbnQKKzMzOTgyIDI0NGI1NWM5MGUwZjMwNjZlMmQzMzg5MzJiMjAyYWNlYjlmZWFkMDQgbGVnYWN5LXRydW5rCiszMzk4MyA3ZDIzMjk4MWQzZTM4YzQ2ZjA5M2I3Njg1YmY5MjM1ZWQxZWJjNDQ5IHJlbGVhc2UyMy1tYWludAorMzM5ODQgZmY4MDVhMTQ3YjZhOTE4OTg4ZjM1NDA0ZTYzOTMwODUwOTE2NTcwOCBsZWdhY3ktdHJ1bmsKKzMzOTg1IGIxNzdjOTZlZTM1MDNiYTg5YTJjYmE4YzNhMmZmY2E3MDI2ZGUyM2UgcmVsZWFzZTIzLW1haW50CiszMzk4NiA2NmJhMGUwZWMyMDI2OThlMDMzZmNjZGMxNzE4ZWNjMTRjY2E2MzBhIGxlZ2FjeS10cnVuaworMzM5ODcgYTc0YjQ2M2JmNzZkYTdmMzFjOGZiZmY5NTQ3YzAwZTIxMTk1Yzk0OSBsZWdhY3ktdHJ1bmsKKzMzOTg4IDg0OTg4ZTdiYzdiN2JiYTk1NGMyZWQ3ZmZmNTgwODU4NzMyOGUyOGMgcmVsZWFzZTIzLW1haW50CiszMzk4OSA3MTdjYzJjOWZkNjBlYzc5MDA5ZjllNTdmMmQyMzY3NGQ1OWU3NTExIGxlZ2FjeS10cnVuaworMzM5ODkgNWVkNDBmMmY2NWZiNWFkZWQ4MjY3NDUwNTAxYjRmY2NkZGIwOTk5MSByZWxlYXNlMjMtbWFpbnQKKzMzOTkwIDlhMGFhMWRiZjM1MTQ3MGMxOTJkNDVjYTVkMGUzMDk5OWRkZDAyNjkgbGVnYWN5LXRydW5rCiszMzk5MSA2MzEwMGNjM2YxNWFmNDBhZmE3MTJhMWQ0NjQ3NDUzYjNjZjVlNWNkIHJlbGVhc2UyMy1tYWludAorMzM5OTIgY2MyZDllYTRlYmQ1MGZjNjQ4ZmQ1YWM0ZTVjYTZjZDlhMjdhNWQ0MiByZWxlYXNlMjMtbWFpbnQKKzMzOTkzIGRmMDA5M2E1OTg1YzNjYjE4ZTFiZmI4ZjI1NDRlYjdkNWUzNGZmMDggcmVsZWFzZTIzLW1haW50CiszMzk5NCAyMjUwMmY3OTViNDljODM3NmU2MTcxODg4NTI4NDBiYWZjZTE4N2UzIGxlZ2FjeS10cnVuaworMzM5OTUgNGE1OTEyMmE2NjQ2YTFjYjA2MGMyN2QyZGIyNjBjODIwZTVjMWE1ZCByZWxlYXNlMjMtbWFpbnQKKzMzOTk2IDFkNmQ2ZmI3ZjEwYjc3YmNlYjFjMjVhMmM2ODI3OTk0NzYxODhlOTMgbGVnYWN5LXRydW5rCiszMzk5NyA4MDkxYmQ5MmVlMDE1YmM2MGRjOWZlYjA3MGU0NzRkNTA3ZDYxN2Q0IHJlbGVhc2UyMy1tYWludAorMzM5OTggNGI0YjU4MWIzYjJjODMxNDRkZjcyYzg5MGM3Mzg3ZDE5MzI5MzkwOCBsZWdhY3ktdHJ1bmsKKzMzOTk5IDI2ZDNmNWI4N2FkM2RmYWU3ODdkYzg4ODIwZTUwZTZmM2U2NWViM2UgcmVsZWFzZTIzLWJyYW5jaAorMzQwMDAgMjkwNTY0NmEyYWYzNzU3YjA5MTYzZjZjODAwMTVlMGM4YTcxNjEyYyBsZWdhY3ktdHJ1bmsKKzM0MDAxIDc5YjFhOWVjNTIyMzEwMTJlMmE0ZjY3M2FmNzczZjg2Njk1MDAyZDcgbGVnYWN5LXRydW5rCiszNDAwMiA2NDZmMGYxMWM1MTliNTZhMzEzNzhlNjM2YTVkYWVlMTJkMzUyNmYxIGxlZ2FjeS10cnVuaworMzQwMDMgMTE1ZmFjOWQ5MDQ1NmI5YjU4NTk1ZjlkZGVhNGQyY2Q3OGY5NmFmNyBsZWdhY3ktdHJ1bmsKKzM0MDA0IDUyZjRmMmE4Y2NlNzlkYTM3Y2Q4YThjMDhkZjgxNDMzZDMxMmE5NTQgcmVsZWFzZTIzLW1haW50CiszNDAwNSA1NWE0YTQxNzI3M2VkMTIwNzdjMjQ2NzBhZjI3N2I0MTM0MjMyNmI3IHJlbGVhc2UyMy1tYWludAorMzQwMDYgZGRlNTk0ZjcwZDZjZTRjMWRhOGQ3NzJhNDQ2YmQ4NjUyMzA5OGZiMCBsZWdhY3ktdHJ1bmsKKzM0MDA3IGJmYzk3NGRlZjQ3NDAxYzEzMTk2MTY2ODhjM2VkMWYyYzdkODMzYTMgbGVnYWN5LXRydW5rCiszNDAwOCA3MDBjMGNhNDI5ZWZjZDQ5NGVhMzViYzY1NGYxZmI5MzhmOGFmNDA4IGxlZ2FjeS10cnVuaworMzQwMDkgNmRkOWM3YzVhYTEzZDQzZmI0ZTAzZDcwZGYyYzA1ODVkYmQyYzdmMCByZWxlYXNlMjItbWFpbnQKKzM0MDEwIGRhNDM0YjUzNzY2NDkyODRiZmIxMzExOTdmODM4YjE1Mjk4MjgzMGIgcmVsZWFzZTIyLW1haW50CiszNDAxMSA3N2RhOWY4NzNhNGZlNDE3MTdkYzY4NDc2N2U4MTAzNWQ0ZDAwYTgwIHJlbGVhc2UyMi1tYWludAorMzQwMTIgZjQyOTU1NTllYTgzNmFiNTcxYjNmNGVkOGVjNDM3ODA4NDZmZTBkZCByZWxlYXNlMjMtbWFpbnQKKzM0MDEzIGNiMjgxNTM4MzczY2FkMTYyMTZhMDUzNDA2MjJlMDE2YjVjMzQ5NDggcmVsZWFzZTIzLW1haW50CiszNDAxNCAyNGM2MmY1M2ExYzkyOTE0YWIwNDgwZWI3MGY4ZGY3YThmYWU0YzUxIHJlbGVhc2UyMy1tYWludAorMzQwMTUgNDFmZjJjMTNlYTRhOThhNzllNzg5MTVmYjQ2MjEwNWU4MjljOGE5MiBsZWdhY3ktdHJ1bmsKKzM0MDE2IDE3OTNiNjVhNjIzMGZlNDZhYmIzM2NiMDE3YjkzNjQxNTkyYzY1YzggcmVsZWFzZTIzLW1haW50CiszNDAxNyBjMTZjNTUzODYwYzJkZWZiNDg3MzkxZWFlNWQ1ODY2ZmEzM2FiZWQyIGxlZ2FjeS10cnVuaworMzQwMTggZmVkNjUwMTE4OGRhNDI3ZGE2ZWZmZjI2YzQ5ZWNhZDk4NWZhMjNhNCByZWxlYXNlMjMtbWFpbnQKKzM0MDE5IDc0YmMzNDkzY2UwMzUyYmZiNzhkNmIwMzFhMzE4MGNjZDM4ZDg5NjMgbGVnYWN5LXRydW5rCiszNDAyMCBmMDAzZTQ4ZjU2MmRkNDVhY2NiNGQ2OTRlMThiYmFiN2FlMzJmNGE1IGxlZ2FjeS10cnVuaworMzQwMjEgN2UzYTFkM2M5MGY1MzBhZTAzNDNlMWY5ZTVhNzQ4NDNiZmM2NDlkOCBsZWdhY3ktdHJ1bmsKKzM0MDIyIDY3OTBjZjc4NWY4YzVjM2VhYjEzNGMwZjU4MTQxMTlmMWUyOTc4ZTggcmVsZWFzZTIzLW1haW50CiszNDAyMyAzM2RkMTJiMmViZTZkNjY3MDYyMDAwOWNhYWY2ZGYxOGFkZWZiOWM4IGxlZ2FjeS10cnVuaworMzQwMjQgMTNhOTE0ZTBjNWMxNDRjNjc5NTNlNmI3YTliZmJjZTY4YWExZDZlMSByZWxlYXNlMjMtbWFpbnQKKzM0MDI1IDE5NjExZDEwMWQyMzEyOWExZmIxOTY4YmZlM2NhZDU2MWEzNDhlYWMgbGVnYWN5LXRydW5rCiszNDAyNiBjMjUwN2ZlMmU2OWUxMTg4MDI2ZDc5MDQ3NjA4NGJmMTdhMWEyNGY3IHJlbGVhc2UyMy1tYWludAorMzQwMjcgNzcwZmU4M2JmODlmNjU2ZDlmNmI5OWI5N2NlMWY2YjBmZWY1Nzc2OCBsZWdhY3ktdHJ1bmsKKzM0MDI4IDE2YzU5MmQzMTZjMmE5NGQwY2YxMDIyYmM4YjU1ZTA5MTdhYTI1OTQgcmVsZWFzZTIzLW1haW50CiszNDAyOSA1MjFkMDI2YTgwNDhjOTNlZmQzZjQ0ZDc4NzliYmU1YjljMDM4ZTYwIGxlZ2FjeS10cnVuaworMzQwMzAgMjE0ZGY2MmJjZjEzYThmOWYwMzQzOTczMjBhY2UxODNiMjFjMDk0NCByZWxlYXNlMjMtbWFpbnQKKzM0MDMxIDk2M2M2ODBlZDliMjBiNjJmZGNjYzU4Y2ZjODY2MjQ0OGU1ZGU1ODQgbGVnYWN5LXRydW5rCiszNDAzMiAwYmVhOWQzODkyOWRjMzk0NDgyZjNmMDM4MTljZjhhZmZjN2ZlOGFiIGxlZ2FjeS10cnVuaworMzQwMzMgMDYwNzVmMWJkOTQ1YjY1MzYwNTIwYzVhZDY5NmQxYWVmM2Y5Mzk3YyBsZWdhY3ktdHJ1bmsKKzM0MDM0IGQ1YTZiNjM2N2JiMWMxZjY0OTRmNWRjZGVkZTI1NTVlNzgzODVjMTAgbGVnYWN5LXRydW5rCiszNDAzNSBhNjQwYmZlZWI5YjU2MzUyOTdiZjQ2ODk2M2I2MWI0ZWUwNTIyMDdmIGxlZ2FjeS10cnVuaworMzQwMzYgNzhiYWI4ZmM4ZWQ1Y2ZmMjA2Y2ViYjNlNzEzN2JiMjQ4YjYzN2MyYyBsZWdhY3ktdHJ1bmsKKzM0MDM3IDJhODI5MTRiMDhjNWUwZTI2ZDA3NGUxMmUyNDUwNDE2NmJkODY5YjQgbGVnYWN5LXRydW5rCiszNDAzOCA3ZGNjNDU0YTcwYzNiMDc3ZTUzYjMyNWIxZDdlY2I0NTBiMTQ3MGE0IGxlZ2FjeS10cnVuaworMzQwMzkgMmVjOTJmZWJjZDFhOGY2ZDg0MzgxNDhkMjRlYTEyMjRlYTFlMmFhYSBsZWdhY3ktdHJ1bmsKKzM0MDQwIDE2Y2U3ZTk0N2EzNDQyYjE1MmQyZGIwY2Q2YTBiZjIxNjI0MDMwZGEgbGVnYWN5LXRydW5rCiszNDA0MSA2Yjg0ODAyYzk1MjQyNGNlYjA0ZmEzZTc5ZTBmM2QxNzVjODJmYzFmIGxlZ2FjeS10cnVuaworMzQwNDIgYjUzMzIyNGYxMzczZjczNTc3MDhjYjk1YTc4ZmUzYWJmYTZlN2RmMiByZWxlYXNlMjMtbWFpbnQKKzM0MDQzIDNhZmJjMzM5NzU2YTZiN2JlNjdmOWRkN2Y1NjcxYmE5ZDg5YWU0M2EgbGVnYWN5LXRydW5rCiszNDA0NCAzODdhOWUxODQwNzRhYWY4YjVmMTFkZWUwYzUzNWEzZjI4MTIwMDE4IGxlZ2FjeS10cnVuaworMzQwNDUgYzQyOTQ0ZWE5NzQzZTY3YmZmNGEyMzBiYmQ4Njk2YzBhMmE1ZjM3MSBsZWdhY3ktdHJ1bmsKKzM0MDQ2IDU2MjA4OWE4Njc4ZjI4MDI2MzA5YWYzNDNkYWYzMzAxMGI2YTQ5N2UgbGVnYWN5LXRydW5rCiszNDA0NyAwNWE4NTA5Y2ZiM2NiMTk1YTgwMzJmODcwZGQxZDU1Yjc5YWFmMDc4IHJlbGVhc2UyMy1tYWludAorMzQwNDggNjNkZjc0MzA1ZDdiZjRiOTMwNmIzZjFhNjdiNDIwNWZlNTNjYzc2OSByZWxlYXNlMjMtbWFpbnQKKzM0MDQ5IGExMWUxY2IzMDY0NDU2ODNjZDUyNmEzZjBhZmU2ZmU4MzgyY2EyYTAgbGVnYWN5LXRydW5rCiszNDA1MCA4ZWQwY2U2MmI4MmYxOTVkMTM5OTE4Y2ZhY2U0NTYwNWJlMWU2MDBkIGxlZ2FjeS10cnVuaworMzQwNTEgZDVkYWJkMTUxNzUzYTU0MDAwYjE2ZWFkNDM2ZDJiN2EyNjlkZDI3ZCByZWxlYXNlMjMtbWFpbnQKKzM0MDUyIDIwNWNjOTE4ZjFhY2E4ZWZiNTdlN2JhOWMyYmFlNGI4NjBiMTU3ZjYgcmVsZWFzZTIyLW1haW50CiszNDA1MyBkNTllY2EyZWZhNmEwZDQ0ZWQ3YTdjNDY1OWZkYzQ0NDIxYmNiZDhkIGxlZ2FjeS10cnVuaworMzQwNTQgMDA0NTNhMDUwOGRmZTc2N2I1ZjU1NjliNTZhYzA0OWQwYzQ4NmMxZiBsZWdhY3ktdHJ1bmsKKzM0MDU1IGFhZjZiNmE4NTEwYmVhMGJlNzg3ODRkZGZlMjc5YmI2ZTJjMTdlYWEgbGVnYWN5LXRydW5rCiszNDA1NiBmNmZjNmQwY2YxZTVhZTczYjg2NDU5MWIzOWE0YjQyNDA2ODJiNDQyIGxlZ2FjeS10cnVuaworMzQwNTcgODA0ZDFjZDFiMDZkZWI0NGM0YTQ5YjFhOTQ1OGM1OGRlNTMyYWVkOCByZWxlYXNlMjMtbWFpbnQKKzM0MDU4IGQ2MTUzNjAzNDcyZTNjMmQ1MmMxOGNkMDJhMDk4Y2I4NThkNDg3ZWQgbGVnYWN5LXRydW5rCiszNDA1OSBmODZkODYzNjg3YzYwNjM1MTQyNjY0MDI3YThhM2NlMTdjOGI1NmI0IHJlbGVhc2UyMy1tYWludAorMzQwNjAgMDg5MWQyMmFkZjRmNGI4YzUwOTdjY2RlMDVmNDA4ZmNiY2M0OTU3ZCBsZWdhY3ktdHJ1bmsKKzM0MDYxIDFkZTFkYTNlZTNlODdkZDJiYmUwNTYyMWNmMjRjMDYyOWJlZWE0NTIgcmVsZWFzZTIzLW1haW50CiszNDA2MiA4YjlhOGM0ZGUyOGU2YjViNzQ5ODEzYmJlMjY2MWI1M2YzNTMxOGRjIGxlZ2FjeS10cnVuaworMzQwNjMgMDZlYWVmN2QwMmYyMWUzNDQxZThmMjQwMTIzZDg2OWRkYTkxZWFlNCByZWxlYXNlMjMtbWFpbnQKKzM0MDY0IGU1YmQ1MGM3ZTE5MzM2YjQ0YTMwMzM2ZDQ1Y2M2MzI0OWUxMDNkMDEgbGVnYWN5LXRydW5rCiszNDA2NSA3NTA0ODEyZmRiN2ViMWM5ZTIyOTRiZmUxZGU4YjcxNTg2ZGIwMTM2IGxlZ2FjeS10cnVuaworMzQwNjYgZjE0ZTI1MTM2OWIyZDVjODhjZTdkMWU2M2Q4MjJjMTNmYTY4MzVlOSByZWxlYXNlMjMtbWFpbnQKKzM0MDY3IDg1ZTY0MjU0M2RkYWE2YzI5OTdiNDE0NjFiM2JhMGE1ZjAzODcwZmQgbGVnYWN5LXRydW5rCiszNDA2OCA0NDU0NzM2YzZhODJlYTYzYjRjMTliYjRhMjI1MThkOTUwMWViNjhjIHJlbGVhc2UyMy1tYWludAorMzQwNjkgYmU5NTgyNzM0YjU2YWUxZjFhNjEzNDNlNmJiZTFiNzgzMzBjYjJiOCBsZWdhY3ktdHJ1bmsKKzM0MDcwIDM4ZTg3NTM1MzRiNzk3NDAwMDM2OGE5MGZjNGExMWM1ZTJkNzM2ZjggbGVnYWN5LXRydW5rCiszNDA3MSAyMWIyYTIxNTkwNDZkYmNmZmU1ZTIyY2YwNDZkMjVhMTMxNDAzMmM1IHJlbGVhc2UyMy1tYWludAorMzQwNzIgOGRjOTRiZDliODNhZTA2NDVkY2FmNGQ3MmEzYjdhNTdhNGRjYTNjZSByZWxlYXNlMjMtbWFpbnQKKzM0MDczIDgwYTRiOGY2YWUwZTUyYzQ2MTIwOTlkNWNmMThhYjNlYWVmNTViNjAgbGVnYWN5LXRydW5rCiszNDA3NCA0NmJkYjY2YWRjZGI3NjIwMjlkYmM2NzUxMjliNTE2ZWNhYWUyNzQ2IGxlZ2FjeS10cnVuaworMzQwNzUgMDVlOGI1MDNjZDQxNGUyYjM2YTdmMTQwMTlmM2Q5MWM2ODc2NGZiYyBsZWdhY3ktdHJ1bmsKKzM0MDc2IDRhZThiNjVjYWJhODg4OWVkNjlhMWExZWNkYWQyMjI1MDc2YWEzOTYgcmVsZWFzZTIzLW1haW50CiszNDA3NyBjM2IyY2Q2ZWYyN2Y4OGQ5OWQxYmZlMGExY2E3MWU4NDYwNDk4MWE3IHJlbGVhc2UyMy1tYWludAorMzQwNzggZTRjYzIzMmVkNTgzMGRiMjVlMmJjOWZkMDFlODM1OWNlY2VlMjMwYSBsZWdhY3ktdHJ1bmsKKzM0MDc5IDNiNzkzY2Y3NDhjNTY5MDU3OGJlMjk4ZGM5MDUyN2MyZWVkMTM2NTcgcmVsZWFzZTIzLW1haW50CiszNDA4MCBkYzUxYWJjM2YxNzQ2ZDUxOGI5MDFlNTQ3NGViZWZiZmI4NzEwZjc3IHJlbGVhc2UyMy1tYWludAorMzQwODEgZGIzMWQyNWIxMzdhNDMzNjg1ZDYyZGRiZDVkZjljZDY3MWFhOGFlNCByZWxlYXNlMjMtbWFpbnQKKzM0MDgyIGNmN2ZhZDlkNmZjYzM0YTg4NzVkYmIzN2FhMTllYzM5NWZkZTg1ZDUgbGVnYWN5LXRydW5rCiszNDA4MiBkMDVhZjE1NjJjNjRmMTk4MTZiMjZkOTU4ZGI5ZjRjOGYwZDQyMjA3IHJlbGVhc2UyMy1tYWludAorMzQwODMgNGFhODRhOGIxZmU0OTdkNzI0NTZjYzY0OWZkNjgxMzQ2ZTY0NmFhNiBsZWdhY3ktdHJ1bmsKKzM0MDg0IDNlZGNjZTBlZmM1NGI4YzI1NDZhN2I0YzFjMjBmNTU3MGFlYzVjZTkgcmVsZWFzZTIzLW1haW50CiszNDA4NSA1MTU1YjM4NTAyZDQ4MzFhM2VkNTE2ZjEzMWZkYzgxNWM1NDA1M2RkIGxlZ2FjeS10cnVuaworMzQwODYgMzVmOTI0OTY1MGU2YjVjOWQ3OWI4ZjM5ZDgyYmFmMWU2YzFhNjVjZiByZWxlYXNlMjMtbWFpbnQKKzM0MDg3IDBjMzY4ZWMwY2NjYjQ0ZGU2NWNkN2NjOGNjMjI3MjlkMTZhYTkyNmQgcmVsZWFzZTIzLW1haW50CiszNDA4OCBhY2NjMjUxY2RjNGE5ZWMwYWM2ZjI4MDUyNjFhMTY1M2ZkMDNkNDE5IGxlZ2FjeS10cnVuaworMzQwODkgYTUyYTA3NGU4YWU1ZGIxNTRmOWVjMDBkYTUzOTFjZGIwYmJlN2Q3NCBsZWdhY3ktdHJ1bmsKKzM0MDkwIDE5ODdiODU1Y2QzYTBjM2UyMTU4MmZlNzRkMTZmMTM4ZmJkNDVkM2IgcmVsZWFzZTIzLW1haW50CiszNDA5MSBmZTFjZDM3OTVhN2E5M2FlNmVhZDdkMDI2MmM0ZDE1ZTRhMDFlNDY2IGxlZ2FjeS10cnVuaworMzQwOTIgOTkzZTNjYTM0NjU2MGMxZTFiZTI4MzJjMjk5YjVlYTkzMDFkODhiNCByZWxlYXNlMjMtbWFpbnQKKzM0MDkzIGYxNWExMWNmODUzMTYzY2VlYTFjYjU0ZjIwYWE3NDAyYWZjODk0ZDkgbGVnYWN5LXRydW5rCiszNDA5NCAyODBiMGExZTMxZTM2NDFjNDlmNGY5NzQyYTNmNDExMjgxYWVkNzg1IHJlbGVhc2UyMy1tYWludAorMzQwOTUgMWU4NmYyZjcxMmYyMTkzZjg2MTIwZDZmMDIwOGU2M2NhMDMzZmI5MyBsZWdhY3ktdHJ1bmsKKzM0MDk2IDU4ZmZiNmI5ZjZjNTcyZTUxN2I5NzQ0NGFkOGVjNWY5MjY3Mjg4ZjYgbGVnYWN5LXRydW5rCiszNDA5NyBjOTcyZDllNDMxNjg4ZTQ0NjMxNTZjZmNjNDQ4OGM4OGIwMjg2OTIxIHJlbGVhc2UyMy1tYWludAorMzQwOTggNmE5MTAxNDcxYWQzNzFiODExZTdjNzNhM2NkYTA2NThmYWQ1YjY4NSBsZWdhY3ktdHJ1bmsKKzM0MDk5IGFhNzg3ZTM2MTJiYmM2ZmE1ZjcyOTRiZjBhMjg4NWI2ZmQ0Njc1MjUgcmVsZWFzZTIzLW1haW50CiszNDEwMCAwMDM5OTI4YTBmODQzOWJiM2ViMGQxNDAzN2I2NDliNjE4NTc4MmEyIGxlZ2FjeS10cnVuaworMzQxMDEgZTM4ZWM0Y2I4N2U5YzE2NDI3YmY1M2UzMzg4MmE4MzdlN2VlNWM4ZSByZWxlYXNlMjMtbWFpbnQKKzM0MTAyIGQwMzliMWJiMWVhOTdmNTIxMWQ5NjBmZDI2N2E0YmQ3MDNmNDJhZDUgbGVnYWN5LXRydW5rCiszNDEwMyA2MjE1M2U4MjU2NGJhMzEzZDdjNjkzNDNiZTU3NWFkNDNhNDAxYjQ0IHJlbGVhc2UyMy1tYWludAorMzQxMDQgZTQ0YTM1OWM4OThlMGMxNTAzMDc5MTZhNGI4YjdiOTk0Y2U5MDc4MSBsZWdhY3ktdHJ1bmsKKzM0MTA1IDEwYmE2NTY3ODUyZmQwNjhmZjcwMGZjNWU0MzAwYWFlNzkxMmQyMWYgbGVnYWN5LXRydW5rCiszNDEwNiA5NGYyNTI4MzNlMTMxNGYwZTk2NTI1NGMxMjFkNjVlMTAxZmY1MzYzIHJlbGVhc2UyMy1tYWludAorMzQxMDcgZmQxNjAxODQwN2U3ZTUzNDQ0NzlkODcxOWRkNjYzYmU0ZmRmYjZkOSBsZWdhY3ktdHJ1bmsKKzM0MTA4IDk2NzU2OTQ4ZDFjOTI0OTRiOTAyNjg0NjVjNDEyNDYwN2FiODFhNjYgcmVsZWFzZTIzLW1haW50CiszNDEwOSAxMWMzMjA5NWMzMDU2MWMxMDQxZDMyNTExYWE1M2Y0OWZhOTdhNTUxIGxlZ2FjeS10cnVuaworMzQxMTAgYTQzMGJlNjgzYTdhZDMzYjViNWQyMDk5N2MyYThiY2NkN2MyYTRkMSBsZWdhY3ktdHJ1bmsKKzM0MTExIGE2ODc3ZmZkOTU4MmQ4YWUwMzM0NDc3NWYxNmJlNDMwMzMwZjI3Y2UgbGVnYWN5LXRydW5rCiszNDExMiA1NGFiMTk1NWQyNDJlMzQ5ZDc4MjEzNzYzZGI3YmNjNjY2YjcyYjdmIGxlZ2FjeS10cnVuaworMzQxMTMgZGQ5OGYyOWNmYzk4NjMzMGQyOWJhMjc3Y2YwZmZlNzg2Mzc5M2ZjYSBsZWdhY3ktdHJ1bmsKKzM0MTE0IDc3NzNlYTdiMWM2NzQ5MWQ4NTNlZGE0M2JkMzljMTI3ZGY5NGVhMDQgcmVsZWFzZTIzLW1haW50CiszNDExNSBiODczN2EzMTA1MGNhM2NjNWQwYmMzNzM0YjY0NWMwYWE1NDY2MDk2IGxlZ2FjeS10cnVuaworMzQxMTYgNjJhZTIxOTE0NGM0ZjYyY2U1YWZiZWMwMTFkNmY5ZTUzZWMxNDY1YiBsZWdhY3ktdHJ1bmsKKzM0MTE3IDA0NTE3NGY2YTc5ZGIzM2JiMTA3NDM0YTYxNWYzYTcyZDc2YTU3MWUgbGVnYWN5LXRydW5rCiszNDExOCA0MWJiYmI0ODk3NjRjOGM2ZjdkYjM5ZTIyODE3Y2UxY2YyZmI2NmUwIGxlZ2FjeS10cnVuaworMzQxMTkgMzRiZDVjMTk4Y2FmODcyNDkwNjhkZjI5MjkyZDQ4NDgwZTk3MTU0MCBsZWdhY3ktdHJ1bmsKKzM0MTIwIDY4ZTFmODYwNTZiYzM0OWI3ZWNjM2I4MjU0MmVkODdjYmFkMmZkNTEgbGVnYWN5LXRydW5rCiszNDEyMSA1M2YxYzMyZWU2OWQ3NWMyNmY1NGIzMWVhMWU1OGMzNmNmODM3NzFiIGxlZ2FjeS10cnVuaworMzQxMjIgZTE3YzQ0Yzc5YjAzZTcxOTg3NTEwYzFhNTIxNDdkYWU3ZDIzYmY4OCByZWxlYXNlMjMtbWFpbnQKKzM0MTIzIDM3ZjBlMGIxNDAwMzg1NWI5MGEwYWJiZTdmZmEyMjc3YzFjZjc2ODQgbGVnYWN5LXRydW5rCiszNDEyNCAyMGQ5Nzg4NWU1Yzg5MzRkNDlkMDRjZTNkM2YzOGEyM2FkYzIwYzAyIGxlZ2FjeS10cnVuaworMzQxMjUgMjM5MjFiYzgxMjRiYmM1YzA2NzkyNGUwNmMyMDJhZGMxZTYxYzhmMyByZWxlYXNlMjMtbWFpbnQKKzM0MTI2IGM2OGViNGQ0Yjc4NzllMjA0ODJkMzMxYWNjZDJiZDQ3NDA4MjgzM2UgbGVnYWN5LXRydW5rCiszNDEyNyBmNDRkOGFkZGQzZTg2YTFlZTA3MmRjZDlkYWUxODFkYjM2OTVjODMyIGxlZ2FjeS10cnVuaworMzQxMjggMTNlYzhjNDc5ZmYxMDNiNDliMzcwMjExMzQzMTMxYTg5YjhkMzEwMyBsZWdhY3ktdHJ1bmsKKzM0MTI5IDM5YmU5OWM2NzdkNWUyNzg1MjYxNTEzOWZhMjE0MTlkNzE3Mjk1NjkgcmVsZWFzZTIzLW1haW50CiszNDEzMCA0ZDIwNGZjM2FkMzJmMGEzODRkZDZjMmJjOWZkMTBlNjMxNDQ4MjNiIGxlZ2FjeS10cnVuaworMzQxMzEgNzQzM2U3YzllMmNhNDUzMzVjMWZiNjU2NDIxYjFmOWQ0OTZmOWE0NyBsZWdhY3ktdHJ1bmsKKzM0MTMyIDQ2MjdjMTY4NDlhZWRjOWI1NWJlMDVmZWRiZjcwMWNlMzRmMDNkMmIgYXN0LWJyYW5jaAorMzQxMzMgYTI3NGI5MDM1ZDFlYWUyMzkwYThkNzJmOWI1OWQ0MDg5MTM0N2U5ZiBhc3QtYnJhbmNoCiszNDEzNCAxZWRiNTQ3MzgwOWU2YjhmNGU2MjEwNWRjZmM1ZTY2ZWM1OTFmNDk3IGFzdC1icmFuY2gKKzM0MTM1IDk1YWI1NWQxNDI1NmY2ODAyOTIwNjBhNzU4ZDkyYjA5MzA1M2JlN2UgbGVnYWN5LXRydW5rCiszNDEzNiBkODY0ZjMxNjhjYWNmY2I1ZDBiYTY2YWJmNmM1Nzc1ZmE0ODllNzE1IGxlZ2FjeS10cnVuaworMzQxMzcgMmY1ODIyZDBmOGUxNWMwYmJhNWQ1YzkwM2YwZTcwYzc2MTM3ZDRmOSByZWxlYXNlMjMtYnJhbmNoCiszNDEzOCA3OTkxOWM1NTBkZmVkZGFlNzg1MDkxN2JkYjUxOTM4OGFiMzRjYzk4IHJlbGVhc2UyMy1tYWludAorMzQxMzkgMGExNTBlYThjYmVhMjhmNGNiODBjMzVlN2Y0YjI1M2M4YTAyYWZkMyBsZWdhY3ktdHJ1bmsKKzM0MTQwIGMyYzEwZjFlYjhlMmI3NGJiYzg0Y2E0NzZkMTAwZTE5MzRiN2ZmMjcgbGVnYWN5LXRydW5rCiszNDE0MSBjOWNjMzUyNDkzMjJkNzhmMTEzMzU2YjI3ZDQ0MWY1OGU4ZThkYzk1IGxlZ2FjeS10cnVuaworMzQxNDIgYThmMDRjYmY2NTljYjAyNmNjMmI4MWMzZTRjZDBiNGEyYWM0YWYxMSBsZWdhY3ktdHJ1bmsKKzM0MTQzIGNkMGMzZjkxNmIzNGNjZjI2OWU1NmQyZThjNDZlZDI0MTM3NDhjNjEgbGVnYWN5LXRydW5rCiszNDE0NCBlODE0N2Y4NDFhNGFiMmRhM2U3ZGIxYzZlMDk4YjE2NzFmNmVlMDYyIGxlZ2FjeS10cnVuaworMzQxNDUgYzlmOWViMTNlYWM5MzA1ZWJhMTM0ZDgxMWQ4NDU2MGVkYjY4ZjJmMSByZWxlYXNlMjMtbWFpbnQKKzM0MTQ2IDE3MjU0NzBkMGQ0M2NhYjJjOGQxNzAwZmEwY2Y5ODlmYTE3YTA5YTUgbGVnYWN5LXRydW5rCiszNDE0NyBlZDhiM2MwMjgxNzRiMDUyNmJhYTNiZmRiYTNmNTJjYjcxM2U4ZGEyIHJlbGVhc2UyMy1tYWludAorMzQxNDggNmJmYjgyYmZiYjU2Y2RkZmMzMWEyMjFkMzE4ZjExNGUxMGJjOTM2NCByZWxlYXNlMjMtbWFpbnQKKzM0MTQ5IDQxYzJlMTcyM2NkZGQ3YWMxN2M3ZGRhZDA2ZjBmNDM2ODg4NjJmNTQgbGVnYWN5LXRydW5rCiszNDE1MCBlZjRhNzFmNWFmMjIzOGViYjZhYjQ4Y2MwOWQ5YTVkMmZiMWM4MzA3IHJlbGVhc2UyMy1tYWludAorMzQxNTEgMzBlNDk1ZWZlOTBhMzY1ZDIwNTMyNGFmYjY5YjQ1YTUxNWQyZmI5NSBsZWdhY3ktdHJ1bmsKKzM0MTUyIDc4NGUzOGFiZWQ4MjAzMTZlYjA4NjMxNmY2M2YwZDJmNzAyNTE4ZjYgcmVsZWFzZTIzLW1haW50CiszNDE1MyA3NmU5OThhZWU2NDQ2NTg1ZjE4YTM0ZjRiNzBkODE3ODk1ZGFhMGZjIGxlZ2FjeS10cnVuaworMzQxNTQgNTliMGE0OGE1NjQ0NTA3YjNjNjkzYThiZjc0ZDk2MDI5OTZiNjk1OCByZWxlYXNlMjMtbWFpbnQKKzM0MTU1IGY4OWFiNzk4NTNhNzBjMzllMTlmNTNmM2U5ZjU4ODM5NGUyNzkzYzQgbGVnYWN5LXRydW5rCiszNDE1NiAwYjBhZDdkMWRkZDZhOTg1MzBmNGM4YTRjOGMxZGU0N2YzYzU4NzViIGxlZ2FjeS10cnVuaworMzQxNTcgNzJiZmM3ODZhNGY4OTJkNTEzZjMwNWYwN2YwMTYxOGE0MWM0Y2JjOSByZWxlYXNlMjMtbWFpbnQKKzM0MTU4IGE4YTFiZWY0MDdlYjI2Y2M4YmU0YjMxNGM5ZjVjNWE2Yjc1YjQzOWUgcmVsZWFzZTIzLW1haW50CiszNDE1OSA2NjIyMzNlNjZkMjgyZWNhMDdmNzZiZjE2MmViYTk3MWI2NDMxMDQ4IHJlbGVhc2UyMi1tYWludAorMzQxNjAgN2NiNjc0NWJlNTI1YzBhODRlYzBiMTliMTQ0NDZhMDAzNDI0M2JjMyBsZWdhY3ktdHJ1bmsKKzM0MTYxIDJhNDk3MDljMGQ1NjNlNGJkYzI0NjU1MDgxYTE0MTdlNzYyMjg2NTIgbGVnYWN5LXRydW5rCiszNDE2MiA4MzRiYjlhMTU0MTliMGY2MWQ5MWI3ZjczZTlkZjFiMzNmZTNlNGMwIHJlbGVhc2UyMy1tYWludAorMzQxNjMgYjM5Y2I5MjEyZjVjODhjYzIzZTg0OWEyZTc1YjkxMDAzNGIxNjkzYSBsZWdhY3ktdHJ1bmsKKzM0MTY0IGJhMWUwM2NkMmY0MGZhMTJjMzE5ZWZhYzc0NWQ0OGY4MjljM2RjZWIgcmVsZWFzZTIzLW1haW50CiszNDE2NSBhODVhNzAxMmRkZGE3M2NlZjVkMGZkNmZmMjU1ZmNhMzc3MTUzNTBhIHJlbGVhc2UyMy1tYWludAorMzQxNjYgMGNhZDkwOTRlMjNlOWNiNzEyNzkwZWFlOTI2MmZlNTg3YzUzZTMyMiByZWxlYXNlMjMtbWFpbnQKKzM0MTY3IGJiYTdlMWUwZjFjNzUzYTgyMjAwZGQwM2UwZDRmYjEyZGYyMWY3ZTEgbGVnYWN5LXRydW5rCiszNDE2OCA5MWZmNzI3MDNlZDM1YWFkZjY1ZDRkYWE5ZjQxNzcwYzdjYjAwYWFhIHJlbGVhc2UyMy1tYWludAorMzQxNjkgOTIzM2FkMGVhYTk4NDZhYWI3ZTU4ODY1NWVjMmIwZmU3MDdhYmU0YyBsZWdhY3ktdHJ1bmsKKzM0MTcwIDYxZGJhMGFhOWUzNzRkZjIyOTUwZmFkNDkzMTI3YmVhMTM4OGU4YmUgbGVnYWN5LXRydW5rCiszNDE3MSAxZDYzMTA2ZTdkZmE0ODgzYzFjMGE0ZjgwMWEzNTNiNmYzMTk2Mjc3IHJlbGVhc2UyMy1tYWludAorMzQxNzIgZDVjNDViOGRhYTUyYmMxOGZkMDk1ZDcyZGI3ZWI5NTczYWRhNWI0NyBsZWdhY3ktdHJ1bmsKKzM0MTczIDhkMjFmYjJlMjZiMDY5Mzk3MzQ5YjgzMDkxNDI4MTVmYTk2MmI2MjggcmVsZWFzZTIzLW1haW50CiszNDE3NCA2NWJhYzU5YTM5MjgwNjhlN2Y5Mzg1YjdkZDI5YzljM2QzNmMzOTcwIGxlZ2FjeS10cnVuaworMzQxNzUgY2I3MjM2OTkyMGFjYWMxNmIxNDMxYWQ0MjU5YzMwOTgxMDBmY2NlNCByZWxlYXNlMjMtbWFpbnQKKzM0MTc2IGQ3ZjEzYTQ5ZTVlZjY4YTJiNTQ4YWQzNjA5ZGU4NWQwYmM5MmE3Y2MgbGVnYWN5LXRydW5rCiszNDE3NyA1ZjkyZDY2MDdiOWYwYmEyNDU2OThkNTZkNjI1ZWFiNjE2NjQ4ZmUyIHJlbGVhc2UyMy1tYWludAorMzQxNzggMWE4MTc2OTRlY2JkN2U0OWZjOTE1YTVlYmE5ZGQ1NmMxOWY5YmI0ZCBsZWdhY3ktdHJ1bmsKKzM0MTc5IDUxOGNjYzA2NGNiOWYzMmI2YTYxZjQ5YzYyZDAwZWIyM2M2MmE3MDQgbGVnYWN5LXRydW5rCiszNDE4MCBhMzdiMjM3MTRkM2RkZGI1OTZlMWVmYzE1ZTE5MzU0NGRmYWUzMmU3IHJlbGVhc2UyMy1tYWludAorMzQxODEgNTU4NTdhZWJjMjRmMjNmMmYyZTBlODg1MmQ0NGVkMjA0OWY2ZDczMCBsZWdhY3ktdHJ1bmsKKzM0MTgyIDFlMWU2ODVkNjllZjc4YmRiOTkxNzY3MDk4MWVhN2ZmYTJmZGQ0YmMgbGVnYWN5LXRydW5rCiszNDE4MyA5NGQ4MjkzNjc0NzM3MDNiMThkOWRhYTU0YjAzZDAzZWEwNTMxZmY1IGxlZ2FjeS10cnVuaworMzQxODQgMDg0NDA4ZmVlOTYxNGU1NDgzZWZlZjBlNmY1OTJlNWMwYTAzNzY4MiBsZWdhY3ktdHJ1bmsKKzM0MTg1IDQyNWJmMDdlYTcwYjhjMmQxZTZhMWJhOTFmYzliYjNiMjUxMmUwZjkgbGVnYWN5LXRydW5rCiszNDE4NiA4ZGQwN2Y3ZDA5M2I3YTAwNTJmYTczZGQ2MjUxM2I3MGMxOTM4NTBjIGxlZ2FjeS10cnVuaworMzQxODggMTg1YzVmNmI2MTU3ODQwYjA1NDFhYzAxYjI3ODVlNzZiNWMzOTVlNSBsZWdhY3ktdHJ1bmsKKzM0MTkwIGRiYTZlZjMwNGFhNDQwODgwNmYyYWRhMzA4YjdmZDliMjI0ZDk4MjUgYXN0LWJyYW5jaAorMzQxOTEgNzZkOWQxOGVmM2U0OTVhYjBiMGY2ZTM4MmMyMWQ5OTc0ZDQ0OWM0MCByZWxlYXNlMjMtbWFpbnQKKzM0MTkyIDA3ZTY0MGM0MDE2ZGZlMzhkMjI1YWE0MmJkODY4ZWMwOTFkODYxNWQgcmVsZWFzZTIzLW1haW50CiszNDE5MyBiMjkxOWE0YzU1OGM2ZjQwOGEyM2NiNmEzYTlmNmU1NGIxMDZiYmExIGxlZ2FjeS10cnVuaworMzQxOTQgMmYzZjU2ZjEyODBmY2VjZGFjMDlmYzEzMTVmOGQ5MWQxMDY3Y2I3OCByZWxlYXNlMjMtbWFpbnQKKzM0MTk1IDlkZjliZDQzMGMzNmQyYzgzOGMxNmNhNWEwODE2ZjdiZjZiY2RkNjcgcmVsZWFzZTIzLW1haW50CiszNDE5NiA3N2FjNDU1ODBjNDA4ZDU4NjJmNDZmZmIwZTJhZTZjNzY1ZTQ1YjRkIHJlbGVhc2UyMy1tYWludAorMzQxOTcgNTFlODVlOGJmYTQ3MzJhYzk4MDY2OWIzMTRkYjI2MjdkNjNhODljNyBsZWdhY3ktdHJ1bmsKKzM0MTk4IGM0OGEyY2M5Mzc4MGY0MWE3N2FhZmNlYjdhMGE4MTE2MzQ3MDMwNzkgbGVnYWN5LXRydW5rCiszNDE5OSAxYTc5MmYzNmI2OWUzNmE0YzViZWZhNjFhMjM3ZmJmNWJlODBiN2E1IHJlbGVhc2UyMy1tYWludAorMzQyMDAgMDIyNTdmNmE2ODJhNzgzMTdlZjQ2Zjk1ZmYxM2JkNmNlMTQ1Yzg4OSBsZWdhY3ktdHJ1bmsKKzM0MjAxIDFiYzZlZjFmNmJkYjQ3OTFhOTg0NTFmM2U4YmEyN2E1ZTI5M2JiNzUgcmVsZWFzZTIzLW1haW50CiszNDIwMiBkN2JmMTIzMmE4NmQxNDRkNGJhMTcwYjUwN2I2ZDJiMGY4MTk0ZmVlIHJlbGVhc2UyMy1tYWludAorMzQyMDMgYjBjM2Q5ODZmNjNmNzU4MzUzMTBkNjdkYjkzMTk0YzNhODEzODRkNyBsZWdhY3ktdHJ1bmsKKzM0MjA0IGE3YzRhYTgxZWI4NWMwMTBhN2I4NTlkMzczMzMxMTBhMTZiNTA3YzggcmVsZWFzZTIzLW1haW50CiszNDIwNSA3Njk3OWFmYzc4NWJkNjNkMDA2NjFiZmQ1ZGMxMmViMDNkYjZlOTdkIHJlbGVhc2UyMi1tYWludAorMzQyMDYgYWQyNTNjMDZiYWYxZDRhZjJhMzIxMzk3Y2Q2NDc2Y2YyNDEzYmZkMiByZWxlYXNlMjMtbWFpbnQKKzM0MjA3IDA5NjdjYjkwNTM0Y2M2YTdlZTE4NjNiODgwZTBhMzBjNDNlMDQ3YTEgbGVnYWN5LXRydW5rCiszNDIwOCBlMmI5ZDQzNmY4ZjdhZjljYWJmMTBkYTY5ZWUwNjQzZGU4YmY0ZjA1IHJlbGVhc2UyMy1tYWludAorMzQyMDkgM2YyODk2NGY4ZWNjYzk0MDEzZTg2OGQyMzBjNzFlZTVjZDI4ZTJkYiBsZWdhY3ktdHJ1bmsKKzM0MjEwIDg3MTc3NmQzODIxM2E5MDY3YzZkOWJhZjg5MThlYWRiYzE3ZDM4OWYgbGVnYWN5LXRydW5rCiszNDIxMSAxNzc2NTg3ODVmZWI4ZDI2MzE1YTkxZGNlODk3YzZiOTU4ZTI1MjA3IGxlZ2FjeS10cnVuaworMzQyMTIgODM2MGM3NGQwNTNiYWQ1YmJlMDMzOWZjM2NiOWU0MWM4OGNhNjUzNiByZWxlYXNlMjMtbWFpbnQKKzM0MjEzIDVjNWFkYjU0NDNjY2U4OTgxNGJkZTBlZDczMDM4MGNlZDM1NjUxMzggcmVsZWFzZTIzLW1haW50CiszNDIxNCBkNmY0ZGQ1YTUwMDZiOWYxMzY2NzY1NGQzOTM4NTVmN2FkMTI5ZmJhIHJlbGVhc2UyMy1tYWludAorMzQyMTUgMzM5Yzg4MDRmODA0YThlZTQ1MWViODViYjJjMzMzNzdlODM1YjNkNSBsZWdhY3ktdHJ1bmsKKzM0MjE2IDU4ZjAxY2MwZjMwMGFiMThmMTQ4MWVjNDA2NmNmMzc5YzIzZDY0ZTkgbGVnYWN5LXRydW5rCiszNDIxNyA1OGY5NmEwMGQzOGRjMDAyYWRlODE4OGU0ZjRlZTY0MGFmYmUwZjBjIHJlbGVhc2UyMy1tYWludAorMzQyMTggMjU0YmQzZTg5MWY2ZDk1OTFjOTFlMGY4YmIxOTgzMTA0ZjY1MDJjMiBsZWdhY3ktdHJ1bmsKKzM0MjE5IDBlZDFlYWNlMmE2MGJhZWE3NGRjZDVlMTZiZDM5ZGNjY2U2Yzk5MTIgcmVsZWFzZTIzLW1haW50CiszNDIyMCBmNGEwMWM0MDVhNDRiNjE3MDVhMTNjZjc1OTZlNWU5YmRmMjI5NTcxIHJlbGVhc2UyMy1tYWludAorMzQyMjEgY2U4ZDFmOTUxZTE5MmZlYzhmNDY3ZTM1MDRhYmQ0NjU1NzQ5Y2QzNSBsZWdhY3ktdHJ1bmsKKzM0MjIyIGQ3NTU5MmY2ZTJmN2NmZTBlYmQ4NzkzMDE0MzI0MjE1MTk2NTcxODIgbGVnYWN5LXRydW5rCiszNDIyMyA5NTRiNjA5Yjg0Y2QwOTk2ZmI0ZmQzZmI0ZTgwN2RhNzViZjM3MjkwIHJlbGVhc2UyMy1tYWludAorMzQyMjQgNzc0YTlmMjFlZGI5N2Q0NDhlNmE1NTlhNjM1MjY3MTFhOWRhOTA0MSByZWxlYXNlMjMtbWFpbnQKKzM0MjI1IGU5NzIzMGU1YzFjYTkwZjc3Y2EyNzUyNjhjZWZmNDhhZjkyNzQ5MWEgcmVsZWFzZTIzLW1haW50CiszNDIyNiA5MzFlODg4OTkxYmFiNzQxMTA4YjBmODZmOThhMDE2YTgxOWQ3OGJlIGxlZ2FjeS10cnVuaworMzQyMjcgZjNjZTE5ZDk2MWRkYTZlNTNmZTQ3N2I2MDg4NTA1MDY1M2I4YWEyNyByZWxlYXNlMjMtbWFpbnQKKzM0MjI4IDUzODNkNTYyYTM4ZDgxYmUyZThmYmE0MGU3ZTUzZDk5MTQxNDE5ZDQgbGVnYWN5LXRydW5rCiszNDIyOSA2ZTFmN2RiZWNkODRkNTNiNDlmZDgwNDM3YjAzNTBkY2VkOTZhZDMxIHJlbGVhc2UyMy1tYWludAorMzQyMzAgYzk3MDA4ZWU3MTY2MDc0YjA0OTk4MmQ4OTNkNjJkZDdkYTA5MGE4ZSByZWxlYXNlMjMtbWFpbnQKKzM0MjMxIGIyNzI4Yzg3ZGY5ZmJmMjMzNDc4YTNmNzU2ODk2OTBlNjljYWRjMWYgcmVsZWFzZTIzLW1haW50CiszNDIzMiAyNmNjNTg2NWE4MzY2MzNiZjNmMGZmYzNmN2MzNTk0MTg5ZDY0NWVkIHJlbGVhc2UyMy1tYWludAorMzQyMzMgYTFiOTY1ZTFiYmU5ZDhmNGQ4NmI0ZTlkOGMxN2IzNTg1MzRlY2IxMyByZWxlYXNlMjMtbWFpbnQKKzM0MjM0IDgxNmQ0ODY3ZjIxMDY1ZTFiMzkyYThhOTg2OGQxN2Y0ZmQwMDQ0ODYgcmVsZWFzZTIzLW1haW50CiszNDIzNSA3ZTYwZDgyNzMwZmQ4YWQ0MTYzNzE5YzYyNWRjOWFkZmJmOTYwOGY5IGxlZ2FjeS10cnVuaworMzQyMzYgMDE4MmNlYzUwOGFhYjRmZjllODE5YTJkNzdlMTQwNTA2ZjE0ODI1OCBsZWdhY3ktdHJ1bmsKKzM0MjM3IGRiNjNjYjBmYzdkYTE3OWE0YTMyYTI0YmMyYTRlN2ZhMTAxMGZiNmQgbGVnYWN5LXRydW5rCiszNDIzOCA5YzJlYjQxNTEzMGYzNGQzZmU1ZWQ3NDdmNzUzMmYxZDIyODUyNDcwIHJlbGVhc2UyMy1tYWludAorMzQyMzkgNzM4OWZmNTc3ODczOTBiMzQ3MzIxMWQ3ZmQ1NjkwYTE4YmU0MjAzZCByZWxlYXNlMjMtbWFpbnQKKzM0MjQwIGI5MmIzN2IwMWZmYjE2MDgzMzRlZDlhZTI2YzMyMDA1Y2M1NzA4ZDIgcmVsZWFzZTIzLW1haW50CiszNDI0MSBlNWJhY2I5NTk3ZjdiNDRhYTdkYzBkMmQ0MjBhOTU4ZGI2NzRjYzI1IGxlZ2FjeS10cnVuaworMzQyNDIgZmJhZDNlZmE0MGJiZGNmNmQ0Yjk2YTM5ZTA1MmQ2MTZjYTRhYjA3MiBsZWdhY3ktdHJ1bmsKKzM0MjQzIDYyYzZhZmUzN2QxMjNhYTNhODRhMDE3YzkwYmY3Nzc5ZDIxNTNmY2UgbGVnYWN5LXRydW5rCiszNDI0NCA5MjllNTQ4MTc0YzVmYWU5M2JjOTBmNTBiNjIxYTBmYWJhZGUxOTdiIHJlbGVhc2UyMy1tYWludAorMzQyNDUgZGJlODM5MWVkMDZmMjM5YjQzOWQ1Y2UxMmIyYmJiOTcwNDdhODA3OCByZWxlYXNlMjMtbWFpbnQKKzM0MjQ1IGZhNjVmNjUyN2ZlMTM0YWE5N2UwM2UxYjJhZjM2NWQ0NDNiNjdkYzcgcmVsZWFzZTIzLW1haW50CiszNDI0NyBkYTliNzQwN2U1NmMyYWFlOWQyNDY2YzBjNGE2NWQwMGJhOWU0YWU4IGxlZ2FjeS10cnVuaworMzQyNDggYTE1YjFjM2MyMzZhNGIyNGM5NjkyODUwZTBhNDUzZDU1MzU4ZTYxMSBsZWdhY3ktdHJ1bmsKKzM0MjQ5IDcxNzAyNGRiYmJhYzdkODdjZGM0ODIzYzYwZDk5Y2E4YTYxNzc0MTQgbGVnYWN5LXRydW5rCiszNDI1MCAyYTE2NWRkZjIyMmRjNDI5Yjc1OGUyNzcxMjU2MDc0ODI2OGRlOTY3IGxlZ2FjeS10cnVuaworMzQyNTEgNTI5MGE0OTM2MTcwZGM4OGZjMzhmOGY3MzYyYTJhNGM1ODNlMDIwMSBsZWdhY3ktdHJ1bmsKKzM0MjUyIGJiODI1MTFkMTkwNmEyNzk4YjIwNThkNTkyZjZiNmU4OGEwMTUxZWQgbGVnYWN5LXRydW5rCiszNDI1MyA2OTNkMTdkZmI4ZmQ0OGQ1MjI2NGFiZDk4MDU2NzQ4N2RiODk2NWE5IGxlZ2FjeS10cnVuaworMzQyNTQgNTYzOTA4OTFkOTg4Yzg3NTllYTEwYzkwNGQzMTQ1NzFlMTgyMGJkOCBsZWdhY3ktdHJ1bmsKKzM0MjU1IDljZDRmNGFlN2E0YzJiOGNkY2UzYWE2NGE3YzE0NzcwZjlmNjZjNmUgbGVnYWN5LXRydW5rCiszNDI1NiA1ZWM0MjMzZWRjZWRjNDcyNTVhNGQxMWM3ZjBkODY2MjJlZmJiMjA1IGxlZ2FjeS10cnVuaworMzQyNTcgNzAzNzgyZDkwMTYxM2M2MDhhYTY5NTIzYzJiZjVlNTcwOWIyYzgzYiBsZWdhY3ktdHJ1bmsKKzM0MjU4IDVkMmJhNDM3ZTFiZDNiMzRhZDU3NWNhNzNlODlmZGJlM2MxZjkwNmEgcmVsZWFzZTIzLW1haW50CiszNDI1OSBlMmY1MGE3Y2M0OTRmOTA3NDkyODFmMzNiMzhjZWJiZGQ2ZWYzNTgzIGxlZ2FjeS10cnVuaworMzQyNjAgMmNlOWY4OWM0YmJjOWI1N2I0Zjk3ZDc2NzJhYWY5MTRjOTkxOGMwMSByZWxlYXNlMjItbWFpbnQKKzM0MjYxIGRkZTI3NmE4OGM4OGEwZDRiYTI1NjkzMTQ3OTdkY2VhYjRjODZjMGIgbGVnYWN5LXRydW5rCiszNDI2MiAzNjFiNTBhMGQyN2ZhZDdiNGNmZWNmZmI4NmYyMWVlNTY5YzY2OWY5IHJlbGVhc2UyMy1tYWludAorMzQyNjMgMzMyYmZmMjc1YjIxOGM0ZThkMWQ3ODNhZDIyZjM3M2E0MTNlOGQ4YSByZWxlYXNlMjMtbWFpbnQKKzM0MjY0IGFkMThmNWI4ZDZmNGM2MWIyYWE3Nzg2YzU0NzVmMjE0ODVhNDNlZmEgcmVsZWFzZTIzLW1haW50CiszNDI2NSA4YzlmNDhiYTUwZmExNjUxMjg2ZDg2ZDcxNzA1YTM2OTM5MmEzZGI0IHJlbGVhc2UyMy1tYWludAorMzQyNjYgMDQ1NzA0OWYyNWUwYTBhMTc3YzNlNTE2MDA0M2Y4YzU3N2JiNDE0OCBsZWdhY3ktdHJ1bmsKKzM0MjY3IGI3YTIxMzVmYzE1NmFhNjFhNzEwMmU2MDYxOWNhOTQ1Y2E3Y2RlMmIgbGVnYWN5LXRydW5rCiszNDI2OCAwMzJiOTI1ODg4NWI3MTgyOTNlNGM3ZWIzOWM0MDdiMzRkZWRiMGMyIHJlbGVhc2UyMy1tYWludAorMzQyNjkgYTU2NzFhZWNmMzkwMTNjNmM2OTA1MDRjNzQ4NTZhOTZhNjJhMDdlOCBsZWdhY3ktdHJ1bmsKKzM0MjcwIGE1NjZjNDliNzBmYWY5ZjY3NGI0N2YyNGYxM2Q0ZTQ5OGYwMTg3NmEgcmVsZWFzZTIzLW1haW50CiszNDI3MSA4NTI5ZWFjNTA2NWQyMTY5N2ZlN2Y3NWEyYjE5MTBiMzRhZmE3MTc4IGxlZ2FjeS10cnVuaworMzQyNzIgZDk2ZTdmODJkMzk5OTk5NGJhOGU1NmE0NDA4NTQ1NjEwMDQ0NjE5MCByZWxlYXNlMjMtbWFpbnQKKzM0MjczIGUxYmFhMjQ5YjNmMjNkOTIyNDllNWJjYjQwZGZlZGYwNDMzOGNkZTUgcmVsZWFzZTIzLW1haW50CiszNDI3NCA2ZjMzNDNkZTY1YjIyYzczMTZhNzZjNjY2ODc2YzBmYzhmZjAzOWIxIHJlbGVhc2UyMy1tYWludAorMzQyNzUgMTJkYTM0ZWY4ODU0ZmIxMzRkZjFmODg3NjdhZjM3YmJmODk2MTUyOCBsZWdhY3ktdHJ1bmsKKzM0Mjc2IDdmNDhlODk0MzllMGJlZGMzM2NhNmE5MTc1MmQ1MzY0Mjg2Y2NiNGUgbGVnYWN5LXRydW5rCiszNDI3NyBkZDQ0ODU5NDNmMjNmNDg1YWE4MDcwZjg5Y2E3ZmQ5NzA5YTM4ZmI2IHJlbGVhc2UyMy1tYWludAorMzQyNzggOTRiNGZjZTdhOTk4YjIzODJiZDkyNmExYzNiZWE3ZWU1MmZjZjFjZCByZWxlYXNlMjMtbWFpbnQKKzM0Mjc5IDZjMDQwMmRhZmIxOGNjNThhYjdlOTliZmIxODUyNDg3NzYzMWRjYWQgcmVsZWFzZTIzLW1haW50CiszNDI4MCA2M2FlMWI5MWE4Njg1NWFkZGM0YWVmNDU5MjI4NDBjMjQ5MDdjYTkxIGxlZ2FjeS10cnVuaworMzQyODEgMDM1Yzk3ODNhNGRkYmFmYTE3NGU2MDdkMjU0Yjc2OGY3NjBhYzk0YSByZWxlYXNlMjMtbWFpbnQKKzM0MjgyIDg1NDA3MTJkNmUyZDMxNzVjODFhOTExZDA3ZTY2MmI5YWFmOWYyMjEgbGVnYWN5LXRydW5rCiszNDI4MyBlMThjMTBjYTc0MDgyODY4ZGFlZjYyZWFiMzJhYzhiNWNjMzEzMWRkIHJlbGVhc2UyMy1tYWludAorMzQyODQgNTliODUxYjZhZDMzYTU3ZjUxMDU2YzczMTZiNzBmNzMyZTBkMjk2ZSBsZWdhY3ktdHJ1bmsKKzM0Mjg1IGE1M2VhYmUwMjcyOTg0N2NhZTQ4Yjg0NWNmZjhlODAzZTJlNzhhYTUgcmVsZWFzZTIzLW1haW50CiszNDI4NiA3YmM1MWJlNzVmZWJmZDcyMjdlODJhOTA3NjM0NDZiMmYxODhhYTZhIGxlZ2FjeS10cnVuaworMzQyODcgM2QxYWUxYzg2ZmQzOTM2NzE3NTRlMzI4ZTBjYTczMDkzYzNiNDc0OSByZWxlYXNlMjMtbWFpbnQKKzM0Mjg4IGU2Y2VhNzdhYmVlMzZmZjFlZjE5NzE0NDhjNGUxNjE5ZWUyZjhhMTQgbGVnYWN5LXRydW5rCiszNDI4OSAwNjE2NGM2ZGM1MDlmMTRjM2RhOWM0MDE1ZWFlZjQwNjc2Zjg2MzE3IGxlZ2FjeS10cnVuaworMzQyOTAgYmQ0YzRiNmUwOWExNzI0NDc2YjFiMTliZWQxZWNjZTU0YTI0MmE1MCBsZWdhY3ktdHJ1bmsKKzM0MjkxIDBjOWFhN2U1NTQxNTdjNThjZDgxZjZjZGQyNGQxZTA1OWQyMmU5MDQgcmVsZWFzZTIzLW1haW50CiszNDI5MiBmYzdlZjRmZGUyN2ExZWRmZGZjMDdkNTQ1NjZkZjUxNzVkNGU1OTg3IHJlbGVhc2UyMy1tYWludAorMzQyOTMgYjk1Nzk3NmNkOGU3ZGI0NjA1ZjVkYzAyZjRmNWQzMDI4MjdiZGM1OCByZWxlYXNlMjMtbWFpbnQKKzM0Mjk0IDU4Yjk4Zjk4OGEwODE5YTBkMzE1NWJiYTdkODhkZjg0Y2I0Mjk2YTUgcmVsZWFzZTIzLW1haW50CiszNDI5NSAzZWY4N2EwYmJiYWQwNTI2MjI0MDIyYWM1ZGZhNTI4NzQwOWNkMjU2IGxlZ2FjeS10cnVuaworMzQyOTYgYWIzZTc3MGMzYTk5YmZiNzcxNzIxMDI3NzIyYzNlODRjOGVmZmExMSBsZWdhY3ktdHJ1bmsKKzM0Mjk3IDk4YTZiNjAxNTIyOTk2MzJlODQ4MWUzYjkzY2Y3YWI2ZDJlOGI1MTggbGVnYWN5LXRydW5rCiszNDI5OCBkMzRiNmY5MmRkMzI1ZDZiZGM2ZWI4ZWU3NjEwZmJkYzIzOTZkYTI4IGxlZ2FjeS10cnVuaworMzQyOTkgZGFmOGM5MzI3ODZkMjk4NGY1ZTkyOTc1MjQ0OWJkNDFlYmEwODZmZCBsZWdhY3ktdHJ1bmsKKzM0MzAwIDM0MTc1ZTk0MDgxY2E5NmFlZjhjMjJkNWNlYThmNDQ2YjZlOWM1N2QgbGVnYWN5LXRydW5rCiszNDMwMSBjOTUxZjljMzA2ZjMyNGY3N2M4NDQxMWYxYzYzNTFiM2FlNzc2MjNkIHJlbGVhc2UyMy1tYWludAorMzQzMDIgY2RkYjdjOGRiMzY3OTE1MTNlOTk3YmIyN2UzZWE4OTZiNWMwY2U5NCBsZWdhY3ktdHJ1bmsKKzM0MzAzIDY3Y2QzZTdkMGVhY2Q4OWM4NTFkMjlhNjRiYjJiYWJlMmQ3NThlY2IgbGVnYWN5LXRydW5rCiszNDMwNCBiNmMwZjkwOGJlYjgwOWYxYzdkNWRhMGUyMjA0N2JhODc1ZmZmNmFjIGxlZ2FjeS10cnVuaworMzQzMDUgNzQxZjc5ZjEwMTJhMGViNDMzNDk1ZDJiNmE0Mjk0ZGMxZDkwZjFlMSByZWxlYXNlMjMtbWFpbnQKKzM0MzA2IDIwNzEyNGY2YThkN2IyZDRjMTUzNTI2ZTVhNTU3OTI4OTY4YTdhMzcgcmVsZWFzZTIzLW1haW50CiszNDMwNyBmZDU0MDIyMGZmYzRmMDgwMWVmNjliZDQ0MjhmODZlZjFkZDIyYmY3IHJlbGVhc2UyMy1tYWludAorMzQzMDggM2UxYmY3NTEwNjQxMTBkZTMxOGFhYWU1NWJmMTUyOGFjODYxOTY4ZSByZWxlYXNlMjMtbWFpbnQKKzM0MzA5IGM4NzZhYzRkMDMzNzE5NWY4Y2FjN2QzN2U0ZjRiODdhZWQyNjA1ZDYgbGVnYWN5LXRydW5rCiszNDMxMCA2M2M2NDA4OGZmNDk4MDA1NjU3MjE0ZTFjNDYyNmE1YjM0YTIzZTc2IGxlZ2FjeS10cnVuaworMzQzMTEgMDAyOGVmNDVhNTBlYTU1YWNhN2NiZDNlYTc3Yjg5MDhkYjhjZTdjMyByZWxlYXNlMjMtbWFpbnQKKzM0MzEyIDZkNzUzODMyNzQzNDJmMDAzNWYwZTNmODgzNDQ5NDUwMmE0NWJhODggcmVsZWFzZTIzLW1haW50CiszNDMxMiA3ZDczNjJhNzEyNTNiZmY0ZmMxYjBjODI1YzE0NTY5Nzc4ZGI4YzM2IHJlbGVhc2UyMy1tYWludAorMzQzMTQgMWI5YzNhOGM0OWRiNjhiZmVjOGFhNjU2NjFjMDU0NzFiMDM2YzM3YyByZWxlYXNlMjMtbWFpbnQKKzM0MzE1IDBjNmZlNThhZjdkMTI0Nzk3MjM4NjMxMTFjZWFiMWJiZWNlNTE2ZDAgbGVnYWN5LXRydW5rCiszNDMxNiA2Zjk3ODJjYzI3NTBkMjg2ZWU5YzY2ZjBhMDQ4YmE4YzA5NWM1YmJiIHJlbGVhc2UyMy1tYWludAorMzQzMTcgNmNmZDk3ZDdmZTk4ZDc4MjYyMzM1YWM2MjE2MjhjMTQxMWJmYmIwYyByZWxlYXNlMjMtbWFpbnQKKzM0MzE4IGZiZjZlZTU3NjlkNDJhMGRmODNlOGE5NDQ2MzhkYmYyOThiMmQ2MTMgbGVnYWN5LXRydW5rCiszNDMxOSBkM2ZiNzViYzYzNTZlOWNkNTUxMGEzZmMzZmJkZmRmMDcyZGJkZmM1IGxlZ2FjeS10cnVuaworMzQzMjAgZGU4NTUyZjBhY2M1NzY0M2RkNjFjMjg5MWRjNDMyY2QxNTA3NjAyMCBsZWdhY3ktdHJ1bmsKKzM0MzIxIGJiZTYzYTg3OTY5ZmRiZjY2MTdmNTcxZjVhM2IzYTY2ODZkZGUyNjcgcmVsZWFzZTIzLW1haW50CiszNDMyMiBjOTgzMDIyMjUyOTIwZDM0OTMwYzBmOWQ5ZTRkODdmZDQ5YjQ5NGQ0IHJlbGVhc2UyMy1tYWludAorMzQzMjMgODI3MDBhN2U5ZmE0YjQwZGUyMDg1Y2EyNzU2NGQyMTFmZGZmOTU1ZSByZWxlYXNlMjMtbWFpbnQKKzM0MzI0IGE2NzNkODVmNWFkMGE1NWE1ZDkwODUzYzliZDQ1ZmVlZTY0NWRiOWEgbGVnYWN5LXRydW5rCiszNDMyNSA2NmZkODI3ZmUxZDg0YmE2ODM5YmQ0NDE3NDk1ZmEwOWYwYWRiYWU3IHJlbGVhc2UyMy1tYWludAorMzQzMjYgOWU2MTY0MTk4YzQ1NzIzYjM1NzdhNmIwMzFkYjlhNmJmODFlMWM2MiBsZWdhY3ktdHJ1bmsKKzM0MzI3IGM3M2YxNjIyNWE3MWFkZjAxMGMyMjYxNjMxN2RiOGI5ODJkMzBkNDcgbGVnYWN5LXRydW5rCiszNDMyOCA3YmQ2YzZiNTNmODcxNzBhZWFjMDNiZDdiM2RmNmRlMDQwZjg2ZWE2IGxlZ2FjeS10cnVuaworMzQzMjkgYjFjNTY5NmFkNDc1ODU4NDRhMmE4NWY5YzM0NmQwYjA5NjVkYTVkYiByZWxlYXNlMjMtbWFpbnQKKzM0MzMwIDI3OTU5YTAyZDM5ZGU5YzFhMmU4Y2U4ZmU3ZWU1YTZlZDQ4ZWZhZmUgcmVsZWFzZTIzLW1haW50CiszNDMzMSAxMDc5YmU1ODdiYWEwNzk2MmMzNDEzZTM5ZDg4OTAwNDhkNjE2NmM4IHJlbGVhc2UyMy1tYWludAorMzQzMzIgZDQ3Y2M2ZjcxZjMyYTMyYzE2N2FjOTYyNmE0ZWI3OTU2MGU4NTNiOCBsZWdhY3ktdHJ1bmsKKzM0MzMzIGI3ZDAxZWZmZTg5OTUwYTgzNDJmNmZmYTdiMzk2YzkyZjcxZTZiZGMgbGVnYWN5LXRydW5rCiszNDMzNCA4NDczMWVlYTZkYjkwZmUyOWNmOGZkYjNmYzk5YzljYWI5MTQzOTNlIHJlbGVhc2UyMy1tYWludAorMzQzMzUgZjI5ZjEwOGFiNDllZWI1ZGEyZjM1MmRhNDZkMzk2YmJkMjc0ODI4MCByZWxlYXNlMjMtbWFpbnQKKzM0MzM2IDVmZjI0ZDVkOWU5MjJiMDJlYjg4MTExNWI5MjE5N2ExMmY5NjBjY2QgbGVnYWN5LXRydW5rCiszNDMzNyBlNzNmM2EwMzI3NjM2YWQ4ZDY2YzgyMzVlOWU0M2JlNjdlZjBiYzcxIHJlbGVhc2UyMy1tYWludAorMzQzMzggNTczYTQwYmVjMDcwNDJhNjYxNTYzZmMyZmFhM2UxOWM0YTA0OGEyNCBsZWdhY3ktdHJ1bmsKKzM0MzM5IGY0ZGVlMDE1YmY4NGMyYzZjMzIwNzU4YmU0M2YzZDRhMWYxZmU0YWUgcmVsZWFzZTIzLW1haW50CiszNDMzOSBiZTI1MzNmYjEwYTU4N2M4ZGE4OWIxOGM1ZjM4MWY0NzhkNzIwNTkzIHJlbGVhc2UyMy1tYWludAorMzQzNDEgZTVlNjA4OTJjM2UzNTdlNWU3NDNjYjY0ZWM3MGMzNDU5NjI1ZDdjNCBsZWdhY3ktdHJ1bmsKKzM0MzQyIDE4ZTIzOWYyMzAyOWQ4MGU4NzMxNDlhMTkxM2ViNDk3ZWIzMzdlZjYgbGVnYWN5LXRydW5rCiszNDM0MyBjNGUzYTZjYWNmY2FiZmFlYmFjZDhlZmE3M2VlYjhmOWU5N2ZmYWZkIHJlbGVhc2UyMy1tYWludAorMzQzNDQgMmVmOGQ2MmRjYzA5MTA2MTBkY2ZmYTk0MjczODMwMTc5ZjlkMTM1OCByZWxlYXNlMjMtbWFpbnQKKzM0MzQ1IDkyMDA3MTJkMzFlNzkwZWMxOWM5NjRjOTYxYTg2MWZlMzA1ZTY3MGEgbGVnYWN5LXRydW5rCiszNDM0NiA4MTdiNmUwZjQ4ZDFiYTg3NDMzMzkzYzM4NWU2NDMzYjk5MTRjNThlIGxlZ2FjeS10cnVuaworMzQzNDcgZjlkZmRjYjg5N2JiNjY0YTQxYThmMzc0N2E1ZmJkYTRkMzk0ZTdlNCBsZWdhY3ktdHJ1bmsKKzM0MzQ4IGMxYTY3MmVlMTUzMDM1MmVhMTYwMDU5YTMzNTgxMjllYWZjMThjNjAgbGVnYWN5LXRydW5rCiszNDM0OSA3ZmQ1NTNmYjQzMTUwMzdjNmExMWFmOTA5YmM0ZTc3ZjNiMjE4NWE3IGxlZ2FjeS10cnVuaworMzQzNTAgMDQ3MWM2N2Y2MWJkNzk3NjUxMTU4YmFmZTI1MjRmYThjYzgwM2VjMCByZWxlYXNlMjMtbWFpbnQKKzM0MzUxIDBkNDAxNzg0NjIxYjRmNDk4NTIzNTA4YmI1Nzg3NGQ3ZTkzZDdmNGIgbGVnYWN5LXRydW5rCiszNDM1MiBhMzAxNWJiYTM5OTliZGMwM2YzMTdmM2YxMjNmNTUwY2VhNmU2OTBhIHJlbGVhc2UyMy1tYWludAorMzQzNTMgMzllNjM1ZGEyMzI2YTU3ZWU4MGQ0YmZhOTFmYTM4MjhjYzlhODY1NiBsZWdhY3ktdHJ1bmsKKzM0MzU0IDVlYTBmZDI2YmQzNjQ2MmRkNjViYTU0N2Y4NzkxOGVmODRkMjViZjMgbGVnYWN5LXRydW5rCiszNDM1NSAxNTQzYTg0MGZjN2YzYTBhY2M4YTliZWZiNmE4NjFmNzU3NGNiNjQwIGxlZ2FjeS10cnVuaworMzQzNTYgNzE3NTdjZWEyNTdmMzY5ZjBkMTJhMDNmMzQ0Yjc4ZWQ1OWY4MWY5MSByZWxlYXNlMjMtbWFpbnQKKzM0MzU3IDA0NDc5OGQ4YmJmYzdiNDg0NWNhMDMwY2EwNThlNzNiMDM3ZTcwMTEgcmVsZWFzZTIzLW1haW50CiszNDM1OCA4NjMwZGQ4YjVjYjQ2NzMxZWRhN2M3ZDNlYWE1ZmRlMzQ4YjVmYzgxIHJlbGVhc2UyMy1tYWludAorMzQzNTkgMjA1YTI5M2YzZGUwODAyZTcwZGNkMmZkNGZmYWMyNjRkZDRjN2Q3YiBsZWdhY3ktdHJ1bmsKKzM0MzYwIGQwYjhjODNjMmE2YjY5ZDIwNGYzM2QyNTYyOTU1OTdjZmJkYTRhOWYgcmVsZWFzZTIzLW1haW50CiszNDM2MSBhNmZiNjgyMjgxNGFhYWY2MWM2ODA2YTgyMmU1ZjY0NmVhNjZhZjFkIGxlZ2FjeS10cnVuaworMzQzNjIgMWVhZGU3N2VhOWVhNzlmYWMxY2Y0NWUwZGMxMjRiY2I2Yzc2Mzk0ZSByZWxlYXNlMjMtbWFpbnQKKzM0MzYzIGQ3OWJiMjlmZjk2Y2MwOTQ3NjM5YWExYmQ2MDA2ZDk0Y2RlOTJkYjkgbGVnYWN5LXRydW5rCiszNDM2NCA4ODQxZDM0YTJjMzdlYjk4OTI5ZDMzZDU4NmVkNGFkYWNiODU5ZWM3IGxlZ2FjeS10cnVuaworMzQzNjUgY2EwMzAzMjA5NjNmNWZkNTAxMjc3NGFiOGZmZjExN2FlYjBkYzQxYyBsZWdhY3ktdHJ1bmsKKzM0MzY2IDZmZGVlM2Y5ZWNlM2FiN2NmOTZiYWI2NjRmNWRkMzZmY2MyN2NmYjQgcmVsZWFzZTIzLW1haW50CiszNDM2NyBhZDYzMDZkMzVjZTNhMTk1ZDY5ZjYxODE4NTBhNzI3N2IzYzcxNTI2IHJlbGVhc2UyMy1tYWludAorMzQzNjggM2I0N2Q2MDU3MTUxN2VjMjA3YWM2NWIxNzY3MzNkMjc5YTQ2MjI3ZiBsZWdhY3ktdHJ1bmsKKzM0MzY5IDA1NWE4MDg4MWU5NmQ5MzZmMTQ0NTMwNGIyMzljZWVjOGNkMTBiZjggbGVnYWN5LXRydW5rCiszNDM3MCAwZTBiYTkyOTU1MGMwM2M3YTFjZjE0ODlkMDMwMWViMjUwNTMzYTA5IHJlbGVhc2UyMy1tYWludAorMzQzNzEgODE0MWVlYWQxOTA3M2Y0YWE5MTQxOTcwYWI3YmNiYmEwMzViZWY2YiBsZWdhY3ktdHJ1bmsKKzM0MzcyIDE0NGJjOGZkOTExZWU5NGNkMDA5ZWZmOGYyYjcxMDRkOWE1MTJkMTEgbGVnYWN5LXRydW5rCiszNDM3MyBmMDBhMzJlYzQxMzkzMDA0YzUzZGU5NWM0ZGI0OGY5ZWJhOWY5ZDEzIHJlbGVhc2UyMy1tYWludAorMzQzNzQgYWNlZjRlMTZjZWFlNDgzMGE2YjdhZDA0YTI4YjZhNDgxZjVlOTk5ZSBsZWdhY3ktdHJ1bmsKKzM0Mzc1IDM2OTkyY2E5MThhMzQ5MzNjNzEzOGIwZWFhYWM4YjBmZTk3YjI5MTEgbGVnYWN5LXRydW5rCiszNDM3NiBiYjNjZTZhZWU2OTNlY2M0ZWJiNDE1MmFiYzFiODgzMDY3MmI0NjdhIGxlZ2FjeS10cnVuaworMzQzNzcgNmVmMjQ1MTM2MDM4OWFmOTc3NzBmOGU3ZTBkMzY3ZTJkZWUzOGZhZSByZWxlYXNlMjMtbWFpbnQKKzM0Mzc4IDVjMDE3NGUyZTE0ZjQ1MWY1Zjg2MDc4OWYxMzVkOTk5M2RiMWM3ZGUgbGVnYWN5LXRydW5rCiszNDM3OSAyOTg4ODhlMzk1Y2UwYzA1ZjM3NGZiY2M0YzEwMmE4ZTIwNTVlYjQyIGxlZ2FjeS10cnVuaworMzQzODAgNDc3NmEwNWU2MzBiNWZjMzhmMDFlOGQ5ODNjM2I3ZjNkNDg3NDQ0ZCByZWxlYXNlMjMtbWFpbnQKKzM0MzgxIDU4ZmU2NGY3ZmIxOTNhZWI4ZjIwMGEzMTk2NDFjM2Y5MTkxNTdkMzcgbGVnYWN5LXRydW5rCiszNDM4MiA0MDA2NzQ5NTgwMjVlOWU0ODE2NDgwYmZiYzQ2MmQ3MDllYWNkMDhiIGxlZ2FjeS10cnVuaworMzQzODMgMDYyYzI1NWI1N2E4ZTIyZTk3MzYyNWY5MWRkODczMDQzZTI5NWY5YSBsZWdhY3ktdHJ1bmsKKzM0Mzg0IGQ1YzMyMzFiYTViYWE0MTYzMjAzOWM4Y2ZhNzQ5ZDkyYjE0MjI4MTcgbGVnYWN5LXRydW5rCiszNDM4NSA3ZjYxMzRmOGJkMDZmZDNmYzY4MjhjZGVkZTJlZDk3YWM5NDI3ZTM1IGxlZ2FjeS10cnVuaworMzQzODYgYWRjNjAwMTU2NzBhZThjMjNkYjNlM2UxOGU5NDBlMzk1NzUzNTE1MSBsZWdhY3ktdHJ1bmsKKzM0Mzg3IDQxYjdkMWYwNTAwZjBlNGMxNTA0ZTJkNmY5OWUxMzI5N2IwMmM2ZjQgbGVnYWN5LXRydW5rCiszNDM4OCA2MDQ4MzBmMWNhYTY1NTI2Y2E4OWQxOGFiODBjZTJiZDlkYjY0MjU3IHJlbGVhc2UyMy1tYWludAorMzQzODkgYTc0MjgyMWQ5ZTc1ZGM3YWVhYWQ4ZjA2N2RlMzgzZjY3OWNhZmFkZCBsZWdhY3ktdHJ1bmsKKzM0MzkwIGZjZTgwYWQ4MzQ3NzA5ZjFjMWE2N2RkMWI0YTZjYzY1ZTNhOTMwYjcgbGVnYWN5LXRydW5rCiszNDM5MSBmZGYwYTk3YmFiNjAwZDU5NWRiMGMwOTI2MTA2NWE2MDk5NjQ3YWQ3IGxlZ2FjeS10cnVuaworMzQzOTIgY2YwMmMxN2Q3ZjQ0OWJjNWYyYThhNGJmODU0OTBkNTk3NjM5ZWE2NSBsZWdhY3ktdHJ1bmsKKzM0MzkzIDgzN2VhMTg2MzdiYzE5MGZlNTk3ODZmNzI2OTNlYmUwZTgxN2Q2ZWYgbGVnYWN5LXRydW5rCiszNDM5NCA0YTBjODllNWUwNTY3N2JlNzhkNDNmNzNhMWZkODg5YTliOGVjY2U1IGxlZ2FjeS10cnVuaworMzQzOTUgYzIyNmY4NGQ3YTY2ZTJhYTgxNjY1ZTMwZWM2ZGMwMmY5OTFiYzMyZiBsZWdhY3ktdHJ1bmsKKzM0Mzk2IDk2OTFjYzY0NDE2MDA3YmRkZGMxNzdiZDFiZWE2ODI0ZDdkNzBhNjUgbGVnYWN5LXRydW5rCiszNDM5NyA0NzNmNGUyOTU5YTgwNDNkOWJjYmQ3NDQzZWNiYzMxNGMxOTY1YmVhIGxlZ2FjeS10cnVuaworMzQzOTggM2I1OWZhNWQyNWIxM2I1YzY1ZTA5NjA3OTQ5YWMwNmFmOTA4NmRkNiBsZWdhY3ktdHJ1bmsKKzM0Mzk5IDBkZGVjYWY4Yjc1Y2JlY2EwMDY2MDA0ZGYxYzNkYzMxZTUxYWJkZjIgbGVnYWN5LXRydW5rCiszNDQwMCA2YzM4NDA2YzNmYWQ4NDEyOGU1ZmJiNzU3NTJhOGVjODdhNDVjYjFhIHJlbGVhc2UyMy1tYWludAorMzQ0MDEgMDA2MDE1Nzg0NGQ4N2JlMmFjZTdlOTUzMjZkNzUyMDA3YTBhMjliZSBsZWdhY3ktdHJ1bmsKKzM0NDAyIDhlYTgzMjYwM2U0ZmViMTdlMTllODM4MDVkNzdhY2FhNDQ0ODk0N2MgcmVsZWFzZTIzLW1haW50CiszNDQwMyBiNDkxYmJmMTdkZGU4YTE4NDU2ZTM0Y2MyYjdmYzRmZjAyOTI0ZjE2IGxlZ2FjeS10cnVuaworMzQ0MDQgNTAxYTc5MzQ2Nzg0YWU2MjZhOGI0ZjBjZDA0OThkZWEwN2NhMTU4YSByZWxlYXNlMjMtbWFpbnQKKzM0NDA1IGZkMDUyYzRmODg0ZjQ0MzBjMjgzODAyMmVhNWJjZDg5OTVhYjFlNTIgbGVnYWN5LXRydW5rCiszNDQwNiAwNGY0MThhZjY4MGQwN2Y0YjQwZTQ5NjFhZjQxYjBkOGZhMzA2Y2NjIHJlbGVhc2UyMy1tYWludAorMzQ0MDcgYTNlODY2NjVmMjQ1YWM1ZDdlNWViZmI3MjJiZGViZmJkYzE1YzhmNiBsZWdhY3ktdHJ1bmsKKzM0NDA4IDQzODhiYmFkMGJjMzdhZTk0OGMyM2EwYmE0ZTMxZTI0N2E2NjI3ZDMgbGVnYWN5LXRydW5rCiszNDQwOSA1YTFkM2JjNmNjMTgwMmUwMDgzNTU3NmFmMDdkNTcxMjUwZDVhYmQ1IGxlZ2FjeS10cnVuaworMzQ0MTAgMmNiNGYzMjE3OThjZDZmMDQxOGM0MTE5ZTEyNTlmN2E2NDYwZGQ3OSByZWxlYXNlMjMtbWFpbnQKKzM0NDExIDM0MjliMWQzOGI0MDBjNjBlMGI4NTBmMDE4ZDZkMTkzNGQyNDRhMzYgcmVsZWFzZTIzLW1haW50CiszNDQxMiBmMWMzMGJmYjBjYzEyNjE3ZTJlZTBhMzQxYjlmYjc0NWU5ZWFmOTY2IGFzdC1icmFuY2gKKzM0NDEzIDc5ODk3ZWQ1M2YwMzZmMTc5NTE1YjU1MzQwZDRhNTczNjhhOTMzN2QgYXN0LWJyYW5jaAorMzQ0MTQgMTM0NWMyM2EwNTkxNjA1MDNiYjUzYmI4ZmE5NDY1Yzc0ZGNlYzZhMiBsZWdhY3ktdHJ1bmsKKzM0NDE1IDNlM2ZkNTZjZTU5NThjZDQ3ZWU2MGU2N2E4MmUyMDY3OWVmZDMzMTYgbGVnYWN5LXRydW5rCiszNDQxNiBlZmVkNDg5ZGY1NDU5YTgwMWIwY2I5OTM1MzRlNDg4N2JkYTgwZGE2IGxlZ2FjeS10cnVuaworMzQ0MTcgNTIwMWY2NmM5MmVmM2NkZWViMmEzNzhjM2M1MmRiY2Y0MjhlM2E3YSByZWxlYXNlMjMtbWFpbnQKKzM0NDE4IGMzZGZkYjYwYjk4OGY4Mzg5Yzk2YmEzZTJmMGJiMDkxMzM1NjU4MWYgbGVnYWN5LXRydW5rCiszNDQxOSBjOGI4ODIxZTg3MmQxYzhlOTE3Njk4ZDdlOGUzMmRjODhiOGU2ZDk4IHJlbGVhc2UyMy1tYWludAorMzQ0MjAgODI4MmFhMWY5MzQzN2M2NjZjMzBkMWM0NmZiZThkZjM0NDZmZjI2MSBsZWdhY3ktdHJ1bmsKKzM0NDIxIDA0YmNmZGNmMjkwYTE1MDljYzc1YzgzNmI4OWJiYjA2YTE4ZTY5YmIgcmVsZWFzZTIzLW1haW50CiszNDQyMiAzZmYwMzQ0NmYzNjJhZWVmYzlmYTkwNzBlNmM4ODgwMWQyNWFiZDRiIGxlZ2FjeS10cnVuaworMzQ0MjMgYmUwY2EyNmFkNTc0MGVjNjQzN2E3MDYzYjc1MGQ2YWVkYzk3ZDcyMCByZWxlYXNlMjMtbWFpbnQKKzM0NDI0IDllMjFlNTZiZjVmM2NlMThmYzFmZDZjNzE4MWJiMzU2MzBkNzNjMTMgbGVnYWN5LXRydW5rCiszNDQyNSAzYTk5Mjk0YzhlNWI1ZTM4ZDFhMTc0MDE5ZmU2MGMxZjU2NDBlMWE2IGxlZ2FjeS10cnVuaworMzQ0MjYgMWQ1ZDcyNDM2ZjJhN2M0MmJhMzg4Y2E2ODI2MDc4NzVmZTllMDkxZSBsZWdhY3ktdHJ1bmsKKzM0NDI3IGEyMzRkYWYxOTgxMGFiM2E4NzljODZmMzZiZGNlODBiOGI0NDI0MmQgcmVsZWFzZTIzLW1haW50CiszNDQyOCA2ODc3Zjc5N2NmMzYxNTFhMWI0MzJlYmMwMTBjMzQ2NjRjYjZhNDRjIHJlbGVhc2UyMy1tYWludAorMzQ0MjkgYTY2MzQzMDlkNzBlZTZlYmFjOTkzNjQwZTk2OWI0ZjM1MDViODYzMCBsZWdhY3ktdHJ1bmsKKzM0NDMwIDljN2UwMjI3YzgzNTY4ZjNkODBjNTQzMmNkNjYzMGNkNmJkNGM0MTYgbGVnYWN5LXRydW5rCiszNDQzMSBiMTFkOTczYWJlY2FjYmJkYzBjZDg1Mzc0OTYyYjdlN2M4ZDhiMzQ2IHJlbGVhc2UyMy1tYWludAorMzQ0MzIgYzEyZDRmMTg1M2JjMDAyYjNkNjMwNzkyMmIzN2JmMDlkMTUxY2E5NSBsZWdhY3ktdHJ1bmsKKzM0NDMzIDA3YTBhMDcyNjY0OTk0NjcxMGU5YWM1ZGNkMWZmYmEzMWFmMWFhZmQgbGVnYWN5LXRydW5rCiszNDQzNCAxMmU1NDkyOTVmN2Y1ZGZmYzI0MTljNTgyYjg1ZTE3ZTdkOWVmNjViIHJlbGVhc2UyMy1tYWludAorMzQ0MzUgYTI4YTgzMDAzMWE5YWIzMjJlZjk1YTFjYmM0OTQwZjExMzY0ODRiNCBsZWdhY3ktdHJ1bmsKKzM0NDM2IDdkZmRmOWU4ZDk1ZDM3MDExMDg3N2E2ZjdjZmE4YjNkNzk3NDNkNWIgbGVnYWN5LXRydW5rCiszNDQzNyAyYmM3OWIzYTk1M2RmZDg3ZWE0OGE0MDg4YWQxN2YzNTJkZGE0MTc2IGxlZ2FjeS10cnVuaworMzQ0MzggZjgwZDgzNzc4NDBmMmVkNTEzMGUyMjk5ZDY2Y2IwZjYyZjU2ZmVjMiBsZWdhY3ktdHJ1bmsKKzM0NDM5IDY1MWZjOGQ5OGQ5OWI1MGY3ZDlhYWVkN2I1Y2E3YjZjY2VhM2I1Y2EgbGVnYWN5LXRydW5rCiszNDQ0MCA2ZjE1ZTczYjU5ZjJlM2EwM2YzMTc4NzQ1MzU1Y2Y3ZWQyNjhmNTk0IHJlbGVhc2UyMy1tYWludAorMzQ0NDEgOTVkZjYwMGFiOWJkZWI1MWMxMDE4OWIzYTFmYWE3YTE4MGE1OThkMCBsZWdhY3ktdHJ1bmsKKzM0NDQyIGU4N2Q2ZDc2ZTM2NTc1YzEyOTUwZDdiZDdhNjJkY2I3MDhkNmI4NzUgcmVsZWFzZTIzLW1haW50CiszNDQ0MyAxMDI0YzViZjdmZWU5MTI5NDE1OTE5MmNjZTNjMWE3ZWYyYTkyY2IyIHJlbGVhc2UyMy1tYWludAorMzQ0NDQgYWQ1ODIyOTc3MTUyZmU3MzYyMDQ1ZGI3Njk0MzlkMDgzZDg0M2RiYSBsZWdhY3ktdHJ1bmsKKzM0NDQ1IDk3N2VmYWE4NjM0ZTYxZjRiOWU4NjI1MWI5NzNjMTg0ODZkMmJjOGMgbGVnYWN5LXRydW5rCiszNDQ0NiBiMTA4YzQ0MmEzNzQ0MTU0YjE3ZGU4Yzc2MjdjYWU3OWMyNmY2MmJkIGxlZ2FjeS10cnVuaworMzQ0NDcgMGVhNDEwNDhiMmQ0NzUyNTg4ODAyZTc5OGE0NjcwYTFkYzgwZTJmOCBsZWdhY3ktdHJ1bmsKKzM0NDQ4IGYwZGEwY2FkNWNkNTFmNDdmZmEzY2ZhNTI2NmYzNzNhODM5NDk2ZmUgbGVnYWN5LXRydW5rCiszNDQ0OSA0NGY5ODAwMjE4MWZiMjkwNjkzMmY4N2JhY2VmMTM1ZjRmMTg3MzQyIGxlZ2FjeS10cnVuaworMzQ0NTAgOTQ1NWRlZmYxYzdjMGVmOWUwMmVlMzRjNzhlNWQzYjVlMWM3Y2FkNiBsZWdhY3ktdHJ1bmsKKzM0NDUxIDkxNmY3ODJlZDZkNTBjNmJmOTAyOGVmODVlMjM5Nzc5NjlkYzUxMDkgcmVsZWFzZTIzLW1haW50CiszNDQ1MiA0MjQ0NTE3MjkyOGYxZmFmNTFhY2ExNWM4YTQ0NWZlNmMzZmVjMjE1IGxlZ2FjeS10cnVuaworMzQ0NTMgMGU4MDc3Y2IzZGQ1YTE2N2JmNzI4NWFmMzI1MmYzYTI5MWMzMWYxZSByZWxlYXNlMjMtbWFpbnQKKzM0NDU0IDM4YjBiN2Q0MTkzNmIxN2ZmZjJmMDk0YTA0NWU1N2RkM2UwOWFhOGUgbGVnYWN5LXRydW5rCiszNDQ1NSA5MDNiMzFkNzcyMWExZDU2YzAwYzczOTBjMzE0N2ExNzI1MTY0MTU0IGxlZ2FjeS10cnVuaworMzQ0NTYgMzhiOTRjMDViODViOTJlNzZjMTljZDZmMTE2MTNlZTQwZTU5MmU2MCBsZWdhY3ktdHJ1bmsKKzM0NDU3IDQ5NGQ1Y2YwYmJlM2UyMTEzNjQyMzUyZTNiZDY1YmE5ZDI0NWUxNWUgbGVnYWN5LXRydW5rCiszNDQ1OCBiYzhmMjJjNTM0MmNhMzdjZTRmMmZkYmYxODkxM2MwNjM4NTkxMzMwIGxlZ2FjeS10cnVuaworMzQ0NTkgYTgxMGJhYjg1ZmJjNGQwYTRhZWRiZTI0Y2I2Mzg2MjA1MjE0ZTU1NSBsZWdhY3ktdHJ1bmsKKzM0NDYwIGY4NzQyNDNlZTM5YmEyNmU3MWM4MzFlMmY1ZWQ4YWQyOWMxNDA4NTIgcmVsZWFzZTIzLW1haW50CiszNDQ2MSAwMDEyMDliODE4YTY3YzkxOTFkMGM4NTY1MjA1MDEyNjdmNzJjMGQ3IGxlZ2FjeS10cnVuaworMzQ0NjIgZGJlNzg4MjIzY2U5NjhlZjVlYzk2ZmUzYTY4MDIyZGU5ZGQ2YjU4OSByZWxlYXNlMjMtbWFpbnQKKzM0NDYzIDBjNjJjMWFjOTY4NGRiMzE3ODU3OGE1M2VlOTQ3YWU0NTZjNjI0ODMgcmVsZWFzZTIzLW1haW50CiszNDQ2NCA3N2Q1MzA4YmVkYWUxMTQ0YjQ5YzdiOWViZWZlMGM3Y2EzZGU4YTQ0IHJlbGVhc2UyMy1tYWludAorMzQ0NjUgNjI0OGRkNWQxOTJhODA1ZGNiOTY0YjU5MmYzODA3NDA5ZDc3ZDFmNSByZWxlYXNlMjMtbWFpbnQKKzM0NDY2IGZhZTM0MzU3NjFhZjlmNTg5ZGViOTQ4MGU2MTY4OWNiZTk4NzcyYzkgcmVsZWFzZTIzLW1haW50CiszNDQ2NyAxZDkyZWNkZjJiYjE0Y2Q5MTRjYzYwY2Y2OGNhZmIzZGQzYzliNDYyIGxlZ2FjeS10cnVuaworMzQ0NjggNmZkZGU5NmE3MjIyN2EyYzZlNTgwOGRhNzZkMTQxYTY2ZGI5NTExZSByZWxlYXNlMjMtbWFpbnQKKzM0NDY5IGQ3NzBkYzI2NDIxMmRlN2NlNTZiOWExYmIwYjIyZTBhMTFiYmUzODIgbGVnYWN5LXRydW5rCiszNDQ3MCA2OTE0YjVlMjA3NmYyMjRiNzdkYTVjMmM1OWY1Mjc1NmRlYmRkYWY3IGxlZ2FjeS10cnVuaworMzQ0NzEgOGIyZWFkZmI4ZjBjZGRjMzJiZGRhOTk2ODdiZTQ2NmZmZjAwZjJjNyBsZWdhY3ktdHJ1bmsKKzM0NDcyIDRkNzllODQ5MGM3NmU2ZTY5NDhjYjlmNzk0OGIwNmUwMDI0OWZjMmUgbGVnYWN5LXRydW5rCiszNDQ3MyBiNjkwMmMwYTc1NzgyZWRiY2U5NzVlZGEyMmYxYTBlOTg4ZWI4MDNmIGxlZ2FjeS10cnVuaworMzQ0NzQgZTBlYzY0NGY1YjM2YzQ1ZTNhNWNmZTllZDBjOTNhNDFjN2Y0NGM0OSBsZWdhY3ktdHJ1bmsKKzM0NDc1IDI2YmMwMTk0NGFlOGVjOWU0NDFkZTMzYjI5NWEwZmY4N2I3NWYxMmQgcmVsZWFzZTIzLW1haW50CiszNDQ3NiBmNzcyZDM0MDNjYTdkMjQ4NDJmMzI5ZTBkNDNiZjRiYTcwNmZhZDQ5IGxlZ2FjeS10cnVuaworMzQ0NzcgYTA1NDVlMzJkYWU3ODg0MTNhYTdkYWZhMWFmZTg3MDcxYjg3NzhhOSByZWxlYXNlMjMtbWFpbnQKKzM0NDc4IDBmZTMwNzEwZGE4MDYwYjA4ZmY2MzlhMDVlNGY0OTUxNzgzZjU5ZTcgbGVnYWN5LXRydW5rCiszNDQ3OSA4ZmJiMDYyM2I4NTc4ZDk2OWJiMzg5ZjdhNjVmOGMwYWM4NDY2ZjYyIGxlZ2FjeS10cnVuaworMzQ0ODAgNDhiOWNjNTE3NDJiOWJmM2U5N2M0MmIzOWY2OTkwOTMwY2ZkODM2ZiBsZWdhY3ktdHJ1bmsKKzM0NDgxIGI5NDhlNzc1YTc5ZWUwYmM0MjViNmZlNjc1MTg0NmIxNzI1ZjYyMTggbGVnYWN5LXRydW5rCiszNDQ4MiBmZTNmNTU5MjMwNWRjZjRmNjFmNDMwY2EyZGE5MmYwYTc5ZWJiZjExIGxlZ2FjeS10cnVuaworMzQ0ODMgOTgyZTNlNDBiZjFlNTg2NDk0Njk0N2ZlZDYyZDg0NjljMjFhNDdmMCByZWxlYXNlMjMtbWFpbnQKKzM0NDg0IDc5MGVkNWM1OTljM2Y0MmZhZGJmNGEyMDExZjM4MWNlNTAwZGNkMjIgbGVnYWN5LXRydW5rCiszNDQ4NSAyNzk3MzY5OTBhMTRiZTM0ZTdlZjcxYTczNDkwZjNmNmIzODNkMGQ4IGxlZ2FjeS10cnVuaworMzQ0ODYgMmJjOTVkNDlmYzdhNjBmOTlmZmIyYzlkYWJhY2JjMDJjYjljYWQwYyByZWxlYXNlMjMtbWFpbnQKKzM0NDg3IGUwODQxYjVjZjJmZDFjMWJlOGQwMjBiNmI1YTQ2MWM0YzJiMWRiMGQgbGVnYWN5LXRydW5rCiszNDQ4OCBhNjg3OWQxNzMzZDdiYzJkMzQ3MmI4OTBhODRjMjI1NjRkYWFiZjM0IGxlZ2FjeS10cnVuaworMzQ0ODkgODk3YWZjYWNiYTAwNzJkN2FhMTc3OWM0MzUxMWU0NWUyYmIxYzJlMSBsZWdhY3ktdHJ1bmsKKzM0NDkwIDk1ZmQ1NTU0NWNhYzI2OTg0MTZlNmYxZmMxYzRkZjMwZmViYmI3N2IgbGVnYWN5LXRydW5rCiszNDQ5MSAyZDk4NzEwZjI3MmVjZTZiZDA2YzZmYjFjMTE4ZDk0NWRmOGJjNTU5IGxlZ2FjeS10cnVuaworMzQ0OTIgMDYyODU3ZjY5MjdmNzkzYjFmMjRjODY0N2E5ZjU4MzVjNzZjZDg1NiByZWxlYXNlMjMtbWFpbnQKKzM0NDkzIGRmOWQ4ZjdlNGM5YzM1MzAwODA3MjA0N2QxYTU3MjA4ZDFmZGI5NTkgbGVnYWN5LXRydW5rCiszNDQ5NCA2NWJiZmRhMjQ2YzkzMDhjNWZhNDEyNzVjMjM2ODE2MjhkYWRjM2M3IHJlbGVhc2UyMy1tYWludAorMzQ0OTUgM2UzZDUzOTYzYzg4ODFiMDdjOTI5NzZmOWJhNWU0NmU3YWJiMjMxOCBsZWdhY3ktdHJ1bmsKKzM0NDk2IGVlZTA3ZjMwZWYwNjhjMTBjOTNiYTMwYWMzMWNmMTFiNzhlNmFiNzkgbGVnYWN5LXRydW5rCiszNDQ5NyBmMmU2MWQ5OTA5NWU3MzE2ZjRmM2IyMTE5Y2UwZjhiMTFjNGJlMjNmIHJlbGVhc2UyMy1tYWludAorMzQ0OTggNzQ3NDdmNjJmMjg2YTg2MWJhMWVjNWQ1YjdmNzQ5N2U0Zjk4OGE3YyBsZWdhY3ktdHJ1bmsKKzM0NDk5IGY1MWRjOTAyNmU0ZGY5YmVlY2ViMDU4ZWU1Yjk4ODcxYzViZDU4MjUgbGVnYWN5LXRydW5rCiszNDUwMCA0ODMzYTljZDM3N2VmMWZhZDFiYTYwNzY2ODZlZThkNDZkNzA1MGMyIHJlbGVhc2UyMy1tYWludAorMzQ1MDEgMzcyODVhMDM0NmMxNGNlYWMyOWE2NTFjYzA1NzU5ZTM2YTc5NWU1YyBsZWdhY3ktdHJ1bmsKKzM0NTAyIGQ5OTZlMmRjYmQzYTdlNTdmZWE3YWI1MmQ1NTJhOTAzYmEyNDAzZmMgbGVnYWN5LXRydW5rCiszNDUwMyAyMjVkODQ4YTVmOTY4Yzg4ZDk2Y2Y3NzVhODEwZGNjZDlmMDNlZDRjIGxlZ2FjeS10cnVuaworMzQ1MDQgZWEwNTg1MDQxMDRjZDcyNmQwOGMwZTdhOGFiZmVjMWU4MzExZjllZSBsZWdhY3ktdHJ1bmsKKzM0NTA1IGMyYWU5MWE4N2E0OGFjNjU5OTNhYTQ1ZGM5NjJlYWFiMThjMDEwNWYgbGVnYWN5LXRydW5rCiszNDUwNiA4NGZmMTNiY2M3NTAyZjBiMDcxZjg2YTVhZGFlMjBhZThlNmVmNjMzIGxlZ2FjeS10cnVuaworMzQ1MDcgYTYwMDhiNzBjOTM5MzRiNzhlNTc1NGZjYzJiNmJhZDRjNDkyYzcyZiByZWxlYXNlMjMtbWFpbnQKKzM0NTA4IDRjOWE2N2NmMjgzM2E5ZmVmMTcxZDI3NGRlN2ExNTZhNmZlNDc4MzIgbGVnYWN5LXRydW5rCiszNDUwOSA3YmJlZTk5NDIyYTAyZWM3N2Y3NTliMWM1MTY1ZTFlMTBiOTEwNTQ4IHJlbGVhc2UyMy1tYWludAorMzQ1MTAgYWM5ODVkNzc2NjUwMTcxMDkwZWZjNjY2YThkZTcyZWM3ZjIwYzI1OSBsZWdhY3ktdHJ1bmsKKzM0NTExIDQxMzliNDVhY2ZlZDAxN2NlNzU2MWU3ZDY2MzVhYjk5Y2EzN2M1N2QgbGVnYWN5LXRydW5rCiszNDUxMiA5ZGE1MzcxNjdiNzQ5N2JmZjNmNWUyZGUwNjM5NzcyNDI4MWYxNzczIHJlbGVhc2UyMy1tYWludAorMzQ1MTMgOGViODk4ODE0ZmI5MTc0NDljZWRjYjQ3ODE1MjNkMWMxODQ2MjI1MCBsZWdhY3ktdHJ1bmsKKzM0NTE0IDdlOTMxNDkyNmRiZTJjYzViNTg2ZjU1MmNmYjE5YzJkYzRmNDAyMDQgbGVnYWN5LXRydW5rCiszNDUxNSA3ZWRlNzcyZjAzZDNiYzFiNzQ2OTRjYTNlOTc0NmRkMWIwYjAyNTc2IGxlZ2FjeS10cnVuaworMzQ1MTYgMDM0YWU0OWY5YjdhZWFmOTEzMGU1NzNlNzZjNjM3NTc5MjFjMGM0ZSByZWxlYXNlMjMtbWFpbnQKKzM0NTE3IGFmNDQzZDgyMGE1MDY3NzJjN2E5MGMyY2E5NDdjOWM1ZjU1NWY1YTYgbGVnYWN5LXRydW5rCiszNDUxOCBjNDJjNDAwMzQ1MzZjYzljMjZmMTIwNWNmZWQ0OGQ2Nzk5ODY1MzNhIGxlZ2FjeS10cnVuaworMzQ1MTkgYjRiOTQ1YzVkYTRkNzQ1YTNlNTEwYmEwYmRmYjBiOGI0Nzg1OWMxOCBsZWdhY3ktdHJ1bmsKKzM0NTIwIGFlY2JiYTAyOTRiYjUwNjM3OGViNGJlODBiODgwNGExZGFiMWZmZjggbGVnYWN5LXRydW5rCiszNDUyMSBhYzhjNzcxNmE4NWRhZmJmMmI2NzhjZWYzNjM4MGJlNjBmOGRiZDQ0IGxlZ2FjeS10cnVuaworMzQ1MjIgNmE4N2VkNjM5NjdjMjU5Zjg0MDdkZWMyMGNiZjgxMWY5ZmU4ZjFlZiBsZWdhY3ktdHJ1bmsKKzM0NTIzIDYzMTExOGI5YWVjNjJhZGM0Njk2ZmM0N2VhODg4Njc5NWRmNjJmMDEgbGVnYWN5LXRydW5rCiszNDUyNCA3YmE0M2VmZDBjZWIzMmE0OTg2N2VkNjY4ZThmNTg4ZGJhOTlkMTRkIHJlbGVhc2UyMy1tYWludAorMzQ1MjUgODMyZjNhOTg5MDU4YTZmYzRmODg4NDdlYjQ0OTQ5MDE2MDgxYjJhOSBsZWdhY3ktdHJ1bmsKKzM0NTI2IDhkYjY0YWJmODU2ZjhjNDRhNzVlYjU5OTFhN2ViZWRkMGNlNmQ2ZjkgcmVsZWFzZTIzLW1haW50CiszNDUyNyAyY2JhMGRlNzBkZjYyYmViODVjNjg3MDZhMzJlMzk4ZWE5OGY2ZjUyIGxlZ2FjeS10cnVuaworMzQ1MjggMWZiZmU5ZGMwYmE4YjkyYWMxY2VjOGY5MGE5MmVmYTFlYjJjYjhjNiBsZWdhY3ktdHJ1bmsKKzM0NTI5IDc4NjNlYmNmZjEyMWYxNTc2Mzg5Y2JhYTg4NDA2MjQ1YWNlMTc3NzUgbGVnYWN5LXRydW5rCiszNDUzMCBhMGQyOTc4NTYyZDVlMTJmOTUyM2UxYTNlNzNmODM0Njc1OGYyMjM4IGxlZ2FjeS10cnVuaworMzQ1MzEgNTY1Mjg0OWZiZTI5NjAyMTFlNDUzMDY5N2EyNTAwZGQ2NmEyYTJhMSByZWxlYXNlMjItbWFpbnQKKzM0NTMyIGM4MDQxYjBlZWIzY2IzMmI2NTg3ODljN2Y4MWI4NDBkNWI0NDliZDkgcmVsZWFzZTIzLW1haW50CiszNDUzMyAwN2U3YTAyMDYxZDg3YzU3NGU0MDE2OTQ4ZWMwZjBlMTQ2MGRiN2ViIGxlZ2FjeS10cnVuaworMzQ1MzQgMTUxMDI0NGJlYjVlMGU2ODNlZGQxZDM5NGY5OWY0NmVmZjkwN2UzNiBsZWdhY3ktdHJ1bmsKKzM0NTM1IDQ0ZTlhYmQwN2ViMzFlMjczNmNmMDk4MDVmMzE3MzVkNTZkYzU1NzcgcmVsZWFzZTIzLW1haW50CiszNDUzNiA5ZDhhY2RiNThmOWMzODg5MmYwMTc2ZmQ1MmM5ZWRjMjBmOGY0YzU4IGxlZ2FjeS10cnVuaworMzQ1MzcgNTI4Y2MwZmRkYTQxY2QxZjNjYjkwNDUyNDVlZmFiMGJiMTBmYTc1NSByZWxlYXNlMjMtbWFpbnQKKzM0NTM4IGVjMWE0YTI5ZDI1ZGE0NTg4YzEzMTBiZjQyMWE1N2Y2MjM0NjFiNzggbGVnYWN5LXRydW5rCiszNDUzOSA4Y2Q2OTFiNzM4NDUyNzJjZGEyMTBiZjhhZTZkMjJjZGY2ZTVlOWE3IGxlZ2FjeS10cnVuaworMzQ1NDAgOThjODU3NmI4ZGE3ZDI0MDAyZDgwNzYwMDA1ZWZjMzE2ZWIwM2RmOSBsZWdhY3ktdHJ1bmsKKzM0NTQxIDY0MjJhMzk1MDA0MDFiZjc3ZDk5ODBlMWQ5MmEwYzcwMmEyYjA4M2QgcmVsZWFzZTIyLW1haW50CiszNDU0MiBkMTUzM2NhNzhkOGNjYTg1YzFjZWY4ZmM4YTc4NTBjZTZhOGVjNzdmIHJlbGVhc2UyMy1tYWludAorMzQ1NDMgZmFjOGM2M2M3ODM4MWFiNmYwNGRhZjczZjZiMGYzN2ZhNWJkYjZhYyBsZWdhY3ktdHJ1bmsKKzM0NTQ0IGI1ZjY0YmU1YjIxZmRjZWU3ZDZlODg4OGE2YjhhNDYzNjQwZmM0YjYgcmVsZWFzZTIzLW1haW50CiszNDU0NSBlNTlhYjcwOGJiYjBjYThiY2ZiN2RhZDk0NmNlNjcxMjdmYWE4YjMwIGxlZ2FjeS10cnVuaworMzQ1NDYgOTgzM2FhNWJkZjM4N2M4M2NiYWUxNzQyMjliMDhkYWEwNzIyMjJmZiBsZWdhY3ktdHJ1bmsKKzM0NTQ3IGNiYmUzZjhiZGVmNmYyODNhZThiMDM4NDAwZjQ4MDFiZWM2NTc2NGEgcmVsZWFzZTIzLW1haW50CiszNDU0OCA4MjdkMDFkZjYxYTcxNmE4YzMzZDEwZTMxMTE3ZDI5N2I2NTMwMTAzIHJlbGVhc2UyMy1tYWludAorMzQ1NDkgODlkYzA2OWFhZDJjNzkzNzdhN2MxMDBlZTE0NGM0YzE0N2Y3NmYyNiByZWxlYXNlMjMtbWFpbnQKKzM0NTUwIDNjZDkyMDZkZmI3OTI5MDY0NDVmOWQ4NDQ1YTczZDhmZjA3ZTU2OGQgcmVsZWFzZTIzLW1haW50CiszNDU1MSBkNmMwOWE5ZDcyNDFkNmU2MDVkZGQwMjNhMzQ4ZDRlNmVmMzQ0ZDA3IHJlbGVhc2UyMy1tYWludAorMzQ1NTIgNTYyMTQzYzFjN2FlZGFkZjU4NDBiMDFhZGQyMzM0OGEyNTQwYmMzYiBsZWdhY3ktdHJ1bmsKKzM0NTUzIDUyMmEzZDdlMGE5NjIyOWRjYWFlYjI0YTA3YzIyMDFiYWMyYmE1NWIgbGVnYWN5LXRydW5rCiszNDU1NCBlNjc2Yzk1ZTQ4NDQ4NzBlNWU1YTVlNjhmNzk4NWQ5Y2JmNWNkMDk3IGxlZ2FjeS10cnVuaworMzQ1NTUgMTliYjFiMmZiMjMzOGRmMWQwNzY5YjlkYTg2NThhODA5NjgxODUxMyBsZWdhY3ktdHJ1bmsKKzM0NTU2IGZlZWM0NGYxOWVjYzc4ZGNiODkyMGExYzZmNTBiYTgwMDgzNThiNmMgbGVnYWN5LXRydW5rCiszNDU1NyBmZWY2ZmRlYzUyOTI1MjNmMGM4OGQ5MDI3YmI5ODg3OGQ5YTBmNTBhIHJlbGVhc2UyMy1tYWludAorMzQ1NTggYTk5NzYxNGIzNWRjOTc1YzM4NTZjZWIyYjRkNDYzMzcyNjU3NmU0ZCByZWxlYXNlMjMtbWFpbnQKKzM0NTU5IGZlOWE1YTJkZDJjMTUxNGRlNjIzY2VmZTIyNzA4NzNjNWRkYzQ0ZGEgcmVsZWFzZTIzLW1haW50CiszNDU2MCAwOGMwMmEyNjVkYmQwZGQ5YTE1MTBlMDA2MThlMDQzZTM2N2IzM2Q2IHJlbGVhc2UyMy1tYWludAorMzQ1NjEgNGU1NmZiYTk4ZjFlNDUwOGI2ZmUyNmI2MDI0MzlkYmYxOGI3Y2UyMCByZWxlYXNlMjMtbWFpbnQKKzM0NTYyIDU3Zjc0M2ZhMzIwN2UwOWE1NjMwOGZlN2M2NzYyYTBiYWI4OTM4NGYgcmVsZWFzZTIzLW1haW50CiszNDU2MyAzYmU0M2FmOTkyYTZkNzJiOWM2ZGNmY2FlMTFiOGY1NmRkZWJjZGQwIHJlbGVhc2UyMy1tYWludAorMzQ1NjQgZTVkMjIxZjhkNDEwYjM3MWRkYzYxODM5ZGQ5NWViNGI0MmMwYmVlMCByZWxlYXNlMjMtbWFpbnQKKzM0NTY1IDkzMWE1OGYyN2ViYjA4NWZlMzllOTM3N2NlODQ2YjVkZDFjYjYzYmMgbGVnYWN5LXRydW5rCiszNDU2NiAyNjI4MjNhMTJjYTc1MzMyODA1ZTNkOTQyMGM1OTk0NWFkMGNjY2E0IGxlZ2FjeS10cnVuaworMzQ1NjcgZWQwNThiZGFkMmFkZjZlMmQ3MzY2MmI5OGY1ODE4ODU4YTIzYThhZSBsZWdhY3ktdHJ1bmsKKzM0NTY4IGRjYWU2MmQzNTg4NDkzNDcyZjU1MWM2ZTJhOWE0OTkxY2JhNWQ0NzEgcmVsZWFzZTIzLWJyYW5jaAorMzQ1NjkgMDgwZGYwZWRiMGE0YmNhYzQxNzg3ODg2NTg1YzlkOTQ5NmU0MWJjMyByZWxlYXNlMjMtbWFpbnQKKzM0NTcwIGFmNzMxODQ2ZmY3MjgyN2MzMDVhNjhlMTE1ZTEwNDUwMDQ5ZWU1ZTQgcmVsZWFzZTIzLW1haW50CiszNDU3MSA4YTc1ZjliYTliYWJiMTAwYTljMDI2YzZjZGVkMjcxNzhiM2M3MDFiIGxlZ2FjeS10cnVuaworMzQ1NzIgNGUxOWEyZmYzNzZhMDVmOWQ0NDViZmI2YjRhNmIwNmNiOWM1YWEwNCByZWxlYXNlMjMtbWFpbnQKKzM0NTczIGFkZTk3YjYwNTM1MjQ1Zjc3NmVmMmVhMTU5YzQ1YmU4YjYzNTA3MjYgcmVsZWFzZTIzLW1haW50CiszNDU3NCA3MTM1YzdjYTk4NDJiMGRjZjBhZTEyMDFkOGUxZGEyZjU0ZDUyNzQwIHJlbGVhc2UyMy1tYWludAorMzQ1NzUgNzc2YTc3MTUwNjIwYzI5M2VlOGJlM2NhZDBjZTNiNzU1MzM1NTBkNCByZWxlYXNlMjMtbWFpbnQKKzM0NTc2IGMzMWVhZGI2OTc3OTE0ZWU0ODlmYTQwOGYwNzdhNjQzMzNhMWVjZWYgcmVsZWFzZTIzLW1haW50CiszNDU3NyA5ZjVkZDMwMmJkOTE1MzM4ZmU4NjY4OTU3N2I5NTllMWMyZTcyZjA4IHJlbGVhc2UyMy1tYWludAorMzQ1NzggODIwZDFkMDQzZDNhY2NmNGY2MmExMzhlOTAzN2ZlZDdjNTgxZmZiYiByZWxlYXNlMjMtbWFpbnQKKzM0NTc5IGM4OWZkN2VhZjg3NTQ3Njg4MjUxMDg4ZGNiZWFjMjcxZDFiY2Q4NjcgbGVnYWN5LXRydW5rCiszNDU4MCBkNDVmODk4MWZkZWE5MWZjOGUyMjllN2EyODA3NDkyMTI2ZjQ2ZGJhIGxlZ2FjeS10cnVuaworMzQ1ODEgMDcwYzg5ZWRhODBiZGI1NDM1Y2M3ZTIwZDA1ZjVmYzVhZTFiMGEzNCByZWxlYXNlMjMtbWFpbnQKKzM0NTgyIDY3NjA2ZjljMmQxMTNkZGUxNzczYjg0ZTYwYTVjNTQzOGUzZjgwNDIgcmVsZWFzZTIzLW1haW50CiszNDU4MyA0MWM0ZTE0M2U2ZTZlMThlNDEzMWExZWQ4OTU4YWM0NDgxYTUzZTcxIGxlZ2FjeS10cnVuaworMzQ1ODQgZmU1Y2VhNTFhM2ZmZmZmMDI5YzI2NTZjODJhNmZkNGQ3ZGE5MDc0YSByZWxlYXNlMjMtbWFpbnQKKzM0NTg1IDA0Y2E0ZDFmNzUxZjJhOGEwMjUyZWIxNmM5MjVlM2Q2YTVmYjA3NTQgbGVnYWN5LXRydW5rCiszNDU4NiBkYTUwNTZhM2IxNTI4NDFjZDE2NTk2MDgwZDRkNDcwYzQzZTg3ZWI0IHJlbGVhc2UyMy1tYWludAorMzQ1ODcgMGFjYjk1YWQxOWRjODY3ZmJjNTlmNWJlYzkyMjBiZWM1YzA4ZTNmZSBsZWdhY3ktdHJ1bmsKKzM0NTg4IGU0NjhiMjQ1MWQ1NGIwNTEzMzI3ZTNiNDlmNjE0YzZlYzdmZWViMjkgbGVnYWN5LXRydW5rCiszNDU4OSA5ZDdiN2VlMDQ0NzBlMTllMGFhNjBiMmY3MDM0NTdkNzlkMGEyMDRlIGxlZ2FjeS10cnVuaworMzQ1OTAgZTcwOTFkNTc1NGFlYzAxNTRlYjhlOTQ1YTQyNTQ2YjBkYjAyNjg3NyByZWxlYXNlMjMtbWFpbnQKKzM0NTkxIDFkYjBkZTRjODQ1NDMyM2JmYjA4NzU1NmUwY2MzODIxZmU4ZjdkMmEgcmVsZWFzZTIyLW1haW50CiszNDU5MiA2ODJkMWI2N2M3YjU1MjQ3ODcyNTEzYWYxOWM2N2IxZTJkY2Q3ZWQ3IGxlZ2FjeS10cnVuaworMzQ1OTMgMmFjZDI4YmQ0ZDBmMWZlNjE0ZTMxMGYyNmY3YWM0MzkxMjhmN2Y4OSBsZWdhY3ktdHJ1bmsKKzM0NTk0IGUyYTlhN2ZlZjE4YTMzZjgwZDRhZTcxYzk3MTBlMWEyZWMwODk2YjYgbGVnYWN5LXRydW5rCiszNDU5NSAzZmE5NTM4YWM0OTY3MjdkMDIwZjBlOTMzMGI4OTA5ZTE3YzlkOTEwIGxlZ2FjeS10cnVuaworMzQ1OTYgZjAxNjEzMjdhOTAyNjc4NDEwZDlmOTEwYjBlMjRhYjE2M2Q1ZmQ5MiByZWxlYXNlMjMtbWFpbnQKKzM0NTk3IDRlZDQwYjNmODgwMjM1ZTc1Y2FmOTdhMGUwYWY5ZDY1OGY5Y2U5N2QgbGVnYWN5LXRydW5rCiszNDU5OCBkMzM4OTgzZDA3MTk0N2Q2OTE3Y2U5YmU0N2FhZjljYTNiNDc1M2NiIGxlZ2FjeS10cnVuaworMzQ1OTkgMmU0OTc4NDBjNDU4ODBkNWQwMjIzZjFmNDY3MzRjYTdhYjQyZGZmMSBsZWdhY3ktdHJ1bmsKKzM0NjAwIDcyZDcwZGNjNGFmMmM3ZjczMjA1NTdiYTA2MWIyZTFmMGE4OWE5ZDkgbGVnYWN5LXRydW5rCiszNDYwMSAyZjBlNjBkNDIzM2E2NjViZTJmMDFmYTUxMDRjYjBkMTRiZTdlZjg1IGxlZ2FjeS10cnVuaworMzQ2MDIgY2JkOTNjZjMyZWZmZWFlOWQ3NjNkNGE2OTJlZTVlZWFhNTlmODhmMCBsZWdhY3ktdHJ1bmsKKzM0NjAzIGU2MTQwODNhYjIwYzhmMWQyY2MzOTlhMTEyMjk5ZTUyYzZkMTUzODQgbGVnYWN5LXRydW5rCiszNDYwNCBlNDhjNjFmYTJmOTgzZTFlMGQyNjZkMmE4YTJlMmNhN2JiNTBiNWYzIGxlZ2FjeS10cnVuaworMzQ2MDUgM2FlODI5MjhiMTEzMWNiYjEwNWFmM2FlODk5OTAyMzdhYzkwMzJhYiBsZWdhY3ktdHJ1bmsKKzM0NjA2IDdkYjc3OGNiN2UwOGE0NDhkM2VhZjdmODM0NDZlYzY4MGI4ZDExMWUgbGVnYWN5LXRydW5rCiszNDYwNyBjZWVjNjlkMjQwZjAxOWViYjc3YjBhZWUyMGY4MTYwODdlZjhmZDBiIGxlZ2FjeS10cnVuaworMzQ2MDggMTk5N2ExNGY2YjA4OGUxYTY1MWUxZmRiOGMzY2FjN2Y1ZjFiZmMzNiBsZWdhY3ktdHJ1bmsKKzM0NjA5IDg5ZWNmYTI1NDUyODNiMTdmZjE5NzBhYmFhZmQ1NWYyZWNiMjQyOWEgbGVnYWN5LXRydW5rCiszNDYxMCBmMDhhNWU5NWMzN2NmM2RiNzI2ZDliZGRhOWIwYmI2NzFlOTYxYzI0IGxlZ2FjeS10cnVuaworMzQ2MTEgMWU2ODYzZGRkODRiOWU4M2U3YjNhMTc1NzFjZWI0ZTZlZTk5YzkzZSBsZWdhY3ktdHJ1bmsKKzM0NjEyIDU0MzcxMzkxOTQ5OWU2NjEzMWQzNGQ5NzY4ZTJmYmRkZTQxNjAxZTIgbGVnYWN5LXRydW5rCiszNDYxMyAyZWQzNjgzMzg1M2FhY2JiNGVmOWRhY2M0MjJlOGEzOTdlNGQzMWE5IHJlbGVhc2UyMy1tYWludAorMzQ2MTQgYTBhOGYxNTQwMWRiMGZiMTM3NGM5YjJiYTIyZWI3NWJkZDg2NmNkNSBsZWdhY3ktdHJ1bmsKKzM0NjE1IGM1ZTUyMDhjZGJiNzIwZTAzODI1MTNmZjZjN2I2ZjVlNzQzYWViZDggbGVnYWN5LXRydW5rCiszNDYxNiAzN2M3NzYzZmE4M2RmYTY0M2YzZTdjYzNhMzcwNDM4YjIyMTRiNjI2IGxlZ2FjeS10cnVuaworMzQ2MTcgOTYxNzBmNzVlM2U5ZmVmZDgyYTM1ZWQ1MGY1NjZiNjM2YmJiNWQ3MyBsZWdhY3ktdHJ1bmsKKzM0NjE4IDMwOTZmYWIyYTE5YzA1NGI1OTRiYzJiNTY4OTMzMGQxMmUxOWE1NTggbGVnYWN5LXRydW5rCiszNDYxOSA4NWYzODM2NTE4ZmU1ZDE2Njk3ZmQxZjNmODdiOTQ1ZmU2YmU3Nzg0IGxlZ2FjeS10cnVuaworMzQ2MjAgNjAzNzA0MGEyY2NlNDcxMjRjNTUzZDEzYWZjOWNkZjcxYzM1YmY1MCByZWxlYXNlMjMtbWFpbnQKKzM0NjIxIGIxMzYzNTNhZGRlNmE2Y2ZhNWY4MjY2YWIwYzY0YTc5NWE3NDQ3YzkgbGVnYWN5LXRydW5rCiszNDYyMiA1MTBiZDdlZWE5MjVmZTEwZmM3OTJkNmZlZDliYjViMWU1ZWJkNTIxIGxlZ2FjeS10cnVuaworMzQ2MjMgZDI2MTgzOWVjZjg3Y2Y4M2UyMGU0Zjk3NjMxNzliMGI2MTYzNGE1YSBsZWdhY3ktdHJ1bmsKKzM0NjI0IDM5ZmE3YjhmY2MwNzdhY2E3MTRmMjgwMzhiMmJjN2Y1NmFhMDY0YjQgbGVnYWN5LXRydW5rCiszNDYyNSAzZDliMzZkNmFiODk4YjJhYTA5MTVkYTUxMWUyYWYzZjEwMDNmMWJjIGxlZ2FjeS10cnVuaworMzQ2MjYgY2Q3NjI0YjAyNWEwZmU4MmUyZTM2YmYyYzdjNTU1YzdmZmU3N2FlYiByZWxlYXNlMjMtbWFpbnQKKzM0NjI3IGUzZWJkNzQwZDFlZmI0ODY4YmZmZDE4M2M3NTNhNDBjOTcyMGQyMWYgcmVsZWFzZTIzLW1haW50CiszNDYyOCBhMjlhNTg1YjAzZDk2MGYzMTE0YTliN2U0ODAyYTBmM2Q5ZTJhMzQ4IGxlZ2FjeS10cnVuaworMzQ2MjkgNDMyMGNjYTRlZDg0MzgzNzcyMDk4NGE5Y2I2YTFjOTVjNGI5Yjk3ZCBsZWdhY3ktdHJ1bmsKKzM0NjMwIGQ0MzJmODJiOTg2ZmJmMWI0N2QxOGIxYmI4ZjUzNTkxMDhmNjQwNzYgbGVnYWN5LXRydW5rCiszNDYzMSA1NjdmYTA2NDllODM1ZTgxY2M0ZWI2OWY5ODM0NjY5NWVhMThiZWEzIHJlbGVhc2UyMy1tYWludAorMzQ2MzIgZjY0OGM3ZjFlOGI4NTk4YjMwMjJhODI4MDZlNTEwNmI1MGEwMmFkNSBsZWdhY3ktdHJ1bmsKKzM0NjMzIDgwODE2NDNjMzczZmZiYWUyMTU2OGUwOGJmNjdjNzg1ZWUyYjMzNzEgbGVnYWN5LXRydW5rCiszNDYzNCA4MTczM2M3YTk1YzhkZGU2MTFmMDcwZDEzYmM2YzI2ZmQyZDliZjQ1IHJlbGVhc2UyMy1tYWludAorMzQ2MzUgMTJjMjJkNmIxZWMwNjhiMDNiY2E2N2I3M2RiZWYyYzBkNWFkMjQyMyBsZWdhY3ktdHJ1bmsKKzM0NjM2IDhhYTkyMzdmNmRkNmFhMTA4ZTQ5YmM3OGViN2Q2ZjUxOTIyOTI3Y2IgbGVnYWN5LXRydW5rCiszNDYzNyBhMTgxOThmNDk0ZjQ0NzhkZGUyMWI4MzM4ZTdhOTFiNjEwZjUwYzU0IHJlbGVhc2UyMy1tYWludAorMzQ2MzggMzIxM2FhYTgyYzdiNzk2YjNjOWZiMWMzMzZhYzJlYjIxNDE4MWFiOSByZWxlYXNlMjMtbWFpbnQKKzM0NjM5IDA0NjhmOWRkYzA2OWQ2ZmYwZjNmYTc2OTYzNWQzMTVlNmUwNDhkODggbGVnYWN5LXRydW5rCiszNDY0MCBhMGVjYWUzMzMyYThiNmIxYmQzMTA4MWVhMjU5YTAwMzhhMDJkMzY2IGxlZ2FjeS10cnVuaworMzQ2NDEgN2E2YjFjOWZiODllNTQwZWRjZTZjODQyZGEwZDkzZjM2NTM3Yzk4MCByZWxlYXNlMjMtbWFpbnQKKzM0NjQyIDg3YzA0MjJjZGU3MDhjMzY4ZWEyNjY0OTA2NjMxODdjZWE0NGQzMDUgcmVsZWFzZTIzLW1haW50CiszNDY0MyA1MjY2ODI0NTZhOGQ1YTY5MTdmMTE2NGQwMjE3YWY5ODliODQ4YzBkIGxlZ2FjeS10cnVuaworMzQ2NDQgOTY1NGU1ZjI0NzNlNGY5NDk3MDIxMjBlOWNiN2QzMDA3NjMxYjg0MCBsZWdhY3ktdHJ1bmsKKzM0NjQ1IDVjNGNmZjhmYTZlY2Y5MWM0ZDQ5OTBlN2M2MjZhZGVjNzIwMzg1NTkgbGVnYWN5LXRydW5rCiszNDY0NiBjMDBiNWYxNzk2MzNjZWJlZGUwODhhMDk0M2IyZWM0MzI5ZjhlY2IzIHJlbGVhc2UyMy1tYWludAorMzQ2NDcgNTRmZjY4ZTk3M2VlYmFlMGQ5OTBlMWJlNTMwNmIzNzRiMGY0ODQyZiBsZWdhY3ktdHJ1bmsKKzM0NjQ4IDI4NzIwMGFmOTQ2ZmI3YmQ1MTczMzg4OWE4OTU4YzZhYjBjMTViZTggbGVnYWN5LXRydW5rCiszNDY0OSBmYTZlOGQ0Zjg4YzY3ODI4MmU3MTZkZTBkNTk0MzlmNjI1MjBmMjQ1IGxlZ2FjeS10cnVuaworMzQ2NTAgN2Y2OTVjNTk4Mjg3M2I5MWVjN2U1ZDRiNWE3YjhkMmQzODQzY2MzZSBsZWdhY3ktdHJ1bmsKKzM0NjUxIDE5ZmY5NzI0MzRiM2QyNjFiZmMzYzMzYzhkM2ZiMWI3OTMyZDAwOWIgbGVnYWN5LXRydW5rCiszNDY1MiA0ZWZmY2JmODBiNDVjNmU0MGY0NTE3ODBkZTQxY2E5NDRhMmMwMDYzIGxlZ2FjeS10cnVuaworMzQ2NTMgNWQyYjBlOTA2MmQ1MzM3ZDA2OTc5YjIyMTMyM2I2MzEyZDhjNTM3NiBsZWdhY3ktdHJ1bmsKKzM0NjU0IDg5NDFmMmVlOTA5NDlmMDNlMTE0NTkyYjRjMTI5YzYzZTE5OTUyNDAgcmVsZWFzZTIzLW1haW50CiszNDY1NSA1MWViZjU0NzRmM2RjOTg0ZjFjYzhjYTliMDk1OWZkOWQxN2JiNjFkIGxlZ2FjeS10cnVuaworMzQ2NTYgODEzYTZkOWM1ODg4MjkwN2E4OTkxZjcyMDVjYTMzZGQxYjM5YzQxNSByZWxlYXNlMjMtbWFpbnQKKzM0NjU3IGIyNDk5NWE5NjY0YmQ1NDg0MGFmZjM4OTRjYzFmNWY4ODM5MzI0OWUgbGVnYWN5LXRydW5rCiszNDY1OCBiZjEzMTk1ODFkYzQ3OWY5Y2JhMGEyMDE3ZDZiZmQ4ZjYyYjcyMmRhIHJlbGVhc2UyMy1tYWludAorMzQ2NTkgY2I3ZDVlMjNkYmM3N2YxMDQxNDFmNjBmMDU4NmQ5YzUwNGI0ZDFkMyBsZWdhY3ktdHJ1bmsKKzM0NjYwIDcwMTg4MGQyNjZlY2NiNDgxMzA0Y2JiZTQ2N2Q2ZDc4NDU1ZDJiNWEgbGVnYWN5LXRydW5rCiszNDY2MSA2Y2EwZGJkNmNjYzk4YTE5NmVlYmY3YTlkMjZjYjUzMzdlNzFlYTgyIGxlZ2FjeS10cnVuaworMzQ2NjIgNjI1MTdjYzRjNGU3OTIwMzAxZjI4NWYxOTcxYjA5ZDI1YzY5OWMzZiByZWxlYXNlMjMtbWFpbnQKKzM0NjYzIDdiZTQ1ZjdhNzE4ZjM1Njk0NDEzNGIzMGVlYzdiYzcwMGEzZGY3OGUgbGVnYWN5LXRydW5rCiszNDY2NCBmNzI5YzRkNTMwNDhhYzIyNDMyNzI1ZWU5ZDQzZjE4Mzk2MTY5OTcyIHJlbGVhc2UyMy1tYWludAorMzQ2NjUgNWY0OWZjMjMxYjRjODg1ZjEwNTA1MTFlNjM2MGVhODlkODVhNjY3ZSBsZWdhY3ktdHJ1bmsKKzM0NjY2IDIzMzgyYTEzNGQ1YWI2MWE4MGQ1OGQ4YmU5NGNkYTgwZGQxMWUxMmEgcmVsZWFzZTIzLW1haW50CiszNDY2NyAxZGEzOWE3NWVkMzg0YThhMTNkYTQ5Mzk5NzM3NWRhMzUxNDNlMmJhIHJlbGVhc2UyMy1tYWludAorMzQ2NjggMzhlNzJmNGYzZGY1ZTk4MTBlZWZmZTg1ZmYzZjJhMjY2ODU5ZmUzYSBsZWdhY3ktdHJ1bmsKKzM0NjY5IDExNjM2ZTc5ODdiNjM3ZmVjMWJiNmExNGRiOTZlMDk4NDhlNDhiNTYgbGVnYWN5LXRydW5rCiszNDY3MCA0NWY3MDcyOGRiYWM0ODA4MGU0YWUwNTk4MTRlNDhiMjA4YTFhNmZlIGxlZ2FjeS10cnVuaworMzQ2NzEgMzMxMzU3MWM2NTc0M2E5ZWM0M2NiOTZiMmM4NGUxMTM1MGM2ZTRmOCBsZWdhY3ktdHJ1bmsKKzM0NjcyIDhmYTNjNTg2OWY1MWE3YjVlZGI4ZWZjMTUzZTY5ZThlZmNlODI1MGQgbGVnYWN5LXRydW5rCiszNDY3MyAwN2QzYzg2NjhmOGI0NzFjOGFhZTFhMmU2MDliNGUzNDg2NmY4MzdjIGxlZ2FjeS10cnVuaworMzQ2NzQgNTNkMjgxMzM5NWY0ZWY4MDY5ZTQ0ZDgxODc0MzhjZTIwNzFmM2Q2NyByZWxlYXNlMjMtbWFpbnQKKzM0Njc1IDdhYWE0MGJjMmIxN2M5NGRmMmMwNTdlZGYzODEzYTEyN2RhMjMwNGYgbGVnYWN5LXRydW5rCiszNDY3NiA0NmI5ZmRkMjdlYzIxZmJmYTdkYWJhZDMwYTcyNmJmYmZjNzAwNDQxIGxlZ2FjeS10cnVuaworMzQ2NzcgMTkwNGQ4YjAzOGI2NjhkOWU5OGRiNmJkYmQ3NDBkZTE0NmEwZDgyOCBsZWdhY3ktdHJ1bmsKKzM0Njc4IDhhZmVjZDM2ZmI4ZTM1MTU3NzAzZDQ0OTBjMTNiOWQ0MTM4YjBjMjQgbGVnYWN5LXRydW5rCiszNDY3OSAzMTdmY2M1YTE4NGQ0OGI4OTQ5NTVhZWQ1ZThkYWVjMDEwMjQxYmQ1IGxlZ2FjeS10cnVuaworMzQ2ODAgMjIxMDdjNWExNzZlMzEzMzhkYjg3MjYzNjZiNWQ3NTk0MzZmN2I2MiBsZWdhY3ktdHJ1bmsKKzM0NjgxIGYxOTYyNWYzYzE5OGVlZjRhMDI0MzFlZGZlZmMxNjI0NmMzY2M1YWEgbGVnYWN5LXRydW5rCiszNDY4MiA1YmNlOTU4OWVmMGIwMzZhOTcyMThiNzhjMjVjYzgxNDcwZDZmMGJiIGxlZ2FjeS10cnVuaworMzQ2ODMgNGVkYWJjMjk3NmY3M2ZjNTEzMjhiMjU0N2NlZjEzMjcwMTc1MDA2YyBsZWdhY3ktdHJ1bmsKKzM0Njg0IGRkNmE1MTBhZTBkOWMwOTk0NDM0NzBiMTdjMTRiZDY5NGQ3ZmFkNjggbGVnYWN5LXRydW5rCiszNDY4NSAzYzFjODFkNjQyZTA4NzdlYzkwMDU0OWExOWQwZDcyZDVjZTQ4MDE2IGxlZ2FjeS10cnVuaworMzQ2ODYgYjZjMTM5NTQ0YzE2ZDZhYjdhMjQxMjU4ZGMxNTRhZGIwNDY3ZjA4YSBsZWdhY3ktdHJ1bmsKKzM0Njg3IGU0ZjllNzRiYTU2ZGM4NTdjY2FmNjg5NDNkOTIzNThiNGFlY2FkMDEgbGVnYWN5LXRydW5rCiszNDY4OCAxNmM2ODJlM2U1N2Y5ZWYyODAyMzNjMjEyNmQyMDRmZDU3OGZkYTAyIGxlZ2FjeS10cnVuaworMzQ2ODkgNGIyYzllMTRiNDQ2YjY0NmRlOTBiZThhNjMzZTBlMjhiOWI0ZTM0MCBsZWdhY3ktdHJ1bmsKKzM0NjkwIGNlOTZiZGM2ZmJiOGQ0MDk2Y2MyYmRkMjBlZTk3NDFiNjRmYjQwOTkgbGVnYWN5LXRydW5rCiszNDY5MSA1M2U0YjdmZTA5NjljMTQ2OTMyZmRjOTAzZTIyNjdiN2VmY2ViN2M2IGxlZ2FjeS10cnVuaworMzQ2OTIgZDEyZjA3YzFjM2EwNzA3MzA4MTE5MDM5ODI1ZDgyNzE5MmQ1NjkxOSBsZWdhY3ktdHJ1bmsKKzM0NjkzIDRjZTMwZDlhMWUwNDE5YmRmOTNkOWE5NmVkN2M3MmMyNDA1MzdiZTcgbGVnYWN5LXRydW5rCiszNDY5NCBlYWQ0YzYxMjE5ZDBmMGMxNzYxYTI3Yzc2MjA3NjU2ODM5ODI0YTgwIGxlZ2FjeS10cnVuaworMzQ2OTUgN2ZlMjAxODAxYzE0OTlmODg1MTU4ZDg2OTc1NDRjYTI2OTczZWU3MCBsZWdhY3ktdHJ1bmsKKzM0Njk2IDRjODE2MDA4OGIzNDc1NGFlNzJhYWJhMzkyZTNlM2Y0MWM1M2QyYzYgbGVnYWN5LXRydW5rCiszNDY5NyA4NmZkZjhmZTdmMTcyMGQxMDYxNWI1ZWJjNWM1MWRiZDIwYWU3MWMwIGxlZ2FjeS10cnVuaworMzQ2OTggODkwZjNjMmMxMTgzMDA1OTdiNmI3MjU2ODRiZDYzYjI3Y2EwMTZjOSBsZWdhY3ktdHJ1bmsKKzM0Njk5IGViMDQyNjVmYjY1Yjg2YjY2NmE0ZmRhMjU0MjJjNzZiMjc1MTZkMmQgbGVnYWN5LXRydW5rCiszNDcwMCBlNTQzYjNmMGQ5MDYwMmUyNjVlMmFjYzRiZjhiMWE2NTIzMmFhZjUwIGxlZ2FjeS10cnVuaworMzQ3MDEgMzM0ZWRjZDFlNWFjNjEyNTJmMzAwZThkODFhZTVkNjBmMDJjZjI3MyBsZWdhY3ktdHJ1bmsKKzM0NzAyIDgzMGU1ZmZjNmQyNWM3MDRmOGVkYTBiOTg0ZWNhNTlkMTg2M2JiZjQgbGVnYWN5LXRydW5rCiszNDcwMyBmZGM4YTg4YTlhNWE0MzQ0ZTRhYmY1ZDA4ZWQ5MTY4MDU3ZDNkOWM4IHJlbGVhc2UyMy1tYWludAorMzQ3MDQgOTYwMDFhNzBjNTA1N2YwYjZmOTE1MTU4ODU1ZWE0Mjc1MjNmYTcwYiBsZWdhY3ktdHJ1bmsKKzM0NzA1IGQ5OWUwMjI5NjZjOTQzOGM1ODhmYzY4Mjg2MGQ4Y2NhNGI2ZmE1YzggbGVnYWN5LXRydW5rCiszNDcwNiBjYWExYTQ4ZGE0Y2NkZmNmMGI2ZDEwZjNlNjMzZmFmOWI2ZTFmNDRiIGxlZ2FjeS10cnVuaworMzQ3MDcgNGY2MzgyZDI4MDlkZjRhZThjMjM2M2Y3MjM0YzA2YTcyYmI2MThmNyBsZWdhY3ktdHJ1bmsKKzM0NzA4IDgzMjZmNjQyNDRjMjVhYmZjN2VhNWMxMGZiYzA0ODMwYzhhODIxNzUgcmVsZWFzZTIzLW1haW50CiszNDcwOSAxNGQzMjE0NjZhMDY5MmYxNDljM2M1YWYzNmYzZWMwMDFjMDNlNmJkIHJlbGVhc2UyMy1tYWludAorMzQ3MTAgZDQwMTc5MDE3NjM5NWQ1OWVhNTQwNmIzOGRkOGEwYTYyNzQwOWU4OSBsZWdhY3ktdHJ1bmsKKzM0NzExIDUyZGU1ODA4N2IyZjNhNDVlY2JjZmQ1MzE1MTE1NDkyYjdmYWQyODkgbGVnYWN5LXRydW5rCiszNDcxMiA2MzJiMjIzY2I4ZTgzODc4OGM5MzQxMzdkZDU3OTM5MjdhZmIyNDcwIGxlZ2FjeS10cnVuaworMzQ3MTMgZDQ4MjZlMDk3YTNmZWJmMjg0YjhmMjlhNWJlYmQwOTFiYWQ3MzI1NiBsZWdhY3ktdHJ1bmsKKzM0NzE0IDlmYzUzNDFmYTY5NTZhODMzYmNiYTI3NDgyYzg4NjU1NjZkMTk5NGUgcmVsZWFzZTIzLW1haW50CiszNDcxNSBlMGE3NWE3NTcwYjQwMjg5ZjhjNTRmMzgyZjAxYjBhNzM4MDRmOGQwIGxlZ2FjeS10cnVuaworMzQ3MTYgMThkZjIwM2I4ZTk4NTQ4MmE0ZWI3ZjMwZTljNmVhMTllM2FhZmY3MiBsZWdhY3ktdHJ1bmsKKzM0NzE3IDRkYTk5ZjczYTFkZjg0ZDEyMzYyYThkMjdmZmZjMDhhMDYyYTM4ZTUgcmVsZWFzZTIzLW1haW50CiszNDcxOCAyMmJlZDJmZGZmZWE2Yjk2NTg0YTMyZDk2NzQ2ZGZiYzBlNjcxYjA1IHJlbGVhc2UyMy1tYWludAorMzQ3MTkgZDkwMTU4ZGYzOWM0NTMxMmZkZmUwYWI1MDhkNzZlNmQ4NzJlNDE3YyByZWxlYXNlMjMtbWFpbnQKKzM0NzIwIDYyMmE3NmJjMDIzNzY5MzliMGFhNzg3OTFlODcyYmI5NWQwMmJjZDQgbGVnYWN5LXRydW5rCiszNDcyMSAyNzg5NzZiMTlkY2NhNmY4NDczYzg0Y2ZiM2M1MjQ2MGQ2ODNhNTgxIGxlZ2FjeS10cnVuaworMzQ3MjIgNWI3N2JjNGQyNWIxYjlkZjU5ZjdmOTBjMGM3N2I5NTM3ODhjYWJiYiBsZWdhY3ktdHJ1bmsKKzM0NzIzIDQ2OTZjNGI3Zjc5MmIyYTdhZmYzYTI4NjRkNTE0YTM3YjY5ZTg5Y2YgcmVsZWFzZTIzLW1haW50CiszNDcyNCAxZmQ4MTg5NGNiOTczZjJmZTQyNWJmYmE0ZDA2ZWVjODRiMzcyODNjIGxlZ2FjeS10cnVuaworMzQ3MjUgNzUzZDcyYmQyMTRiMmM1ZDJmODg2YjE2NTI3MzE0NDQ3ODUzZmI3YyByZWxlYXNlMjMtbWFpbnQKKzM0NzI2IDQyMjRkODA3OTExYzRhMDlmMDJlY2ExYTI0ZGRkOTg3NmYxMzQ5YjEgbGVnYWN5LXRydW5rCiszNDcyNyA3MGYzMmYwZDhlY2YwNjU5YjVmMWRjYWQ5NGE3ODVmZThjNzFmODc4IGxlZ2FjeS10cnVuaworMzQ3MjggMmRkYjFjYmExOGQ2NDM5NmQyN2E0ODk1Njk5YTg4ZjNlZGYxYWUwYyBsZWdhY3ktdHJ1bmsKKzM0NzI5IDk2MjhiYjU0YTllMDc0Y2EyMmEyODU2ODIxMmUwN2NmZTdhOTMxNTMgcmVsZWFzZTIzLW1haW50CiszNDczMCA0NmRlM2RiOWE1ZGI1MzQ0YjBkMWFiMDUwODMzODEzZDdjNjRiZDQ5IGxlZ2FjeS10cnVuaworMzQ3MzEgMzJjMmM3OTljOTI0OGUzYTNkNjBhNWExYmQ4NzkzMDQwZTY3OGVkNSBhc3QtYnJhbmNoCiszNDczMiAyNzBkNTllMzQ2ZTZhZjg5NDk3YWFhODFhMTBlZTIyMzdkMWI0MmU2IGxlZ2FjeS10cnVuaworMzQ3MzMgYzQxMWE3NjJkNWRkNmEyZWE2ZjZhZWNkZmU4ZmNmNDdjMDllNGY5NyBsZWdhY3ktdHJ1bmsKKzM0NzM0IDhkNDEzNTc4ZWIxYWMwYThlNjM5NzFkZTkwMmQ2MWYwN2FiMjJhY2MgbGVnYWN5LXRydW5rCiszNDczNSBhNGI5MTNmOTM3Y2RjOTE3YWMxM2Q2MjY5ZGYxMDljOTYwYTEyNjY5IGxlZ2FjeS10cnVuaworMzQ3MzYgMTdhYTUzMDJlMDhiMjE3ZDA3NTFlNTQ0NjdhZGNiNWM2NTE5NTc4MSByZWxlYXNlMjMtbWFpbnQKKzM0NzM3IGJjYzc4NzNjNzA3ZTUyZWFmZTE1Zjg2ZTVkNjEwMTcyOTFlMjg3ZGUgbGVnYWN5LXRydW5rCiszNDczOCBiMmZkN2FmMTcxODY5MDZmMzNlNGRiODFmNGRkYjQ2MmZlYzA1NmJhIGxlZ2FjeS10cnVuaworMzQ3MzkgZDJlYWE1M2NlYWJlZTJhM2NjY2M3ZGVkMDFjNjkzN2FkZTA1OTNlNiBsZWdhY3ktdHJ1bmsKKzM0NzQwIDIxYTEwYzM2MDBiNWM0ZDQ3OTI0Yjk4Y2E4MGU1NmJkZjM3N2U5ZWEgbGVnYWN5LXRydW5rCiszNDc0MSA4NDVmMTliMTQ1YThmYTBmMmNkNGYwZjM1OTRhZjZlMWU3Y2M4YmE3IGxlZ2FjeS10cnVuaworMzQ3NDIgODVjYWJlN2IyMTZiN2JkMDU1MzFhNzQ3MjQyMjhlMjdkYTZkODIxYyBsZWdhY3ktdHJ1bmsKKzM0NzQzIDBhYzQwOWRmZjM5MDkxNTlhOTcyNjYyMzk1MjM2ZmZmOTZmZjQ5YjMgbGVnYWN5LXRydW5rCiszNDc0NCAyYjZhMTBlMDY3MjczOGJlYTJkNjM0ZmNhZmQ5ZjBhYjJkMjVhMWE3IGxlZ2FjeS10cnVuaworMzQ3NDUgMDI0YjQ3OTlhNDFkNTI1MTc0NTVjZTg1ZmVjODkyNGRkNDY5Y2IwMCBsZWdhY3ktdHJ1bmsKKzM0NzQ2IGJmMDM4OTg2Y2I4ZmRmMTI2ZmFkZjUzNTZlMDgxYzdmYmMyZjE0YTcgbGVnYWN5LXRydW5rCiszNDc0NyBmOTY3NTg5ZGY3NTEyNWE3ODk4NmVmOWNkZDUxNGFiZDdjNzQ3MDU1IHJlbGVhc2UyMy1tYWludAorMzQ3NDggY2UwNzExOGVlNWQyNzdkY2QzNWZkZTYzYjMwOTIwYzQ3OWNhNjE5NCBsZWdhY3ktdHJ1bmsKKzM0NzQ5IDdjNTVlYmVjNDhmNTc3YTVkYmJhODBjNWQ1NmJkNjBlYjNiNTQ2N2EgcmVsZWFzZTIzLW1haW50CiszNDc1MCBkYTE1NzhjZmFlMTgyZTU0YmIyNjZiOTBmMjA1ZjUxNDZjMzcyY2JiIHJlbGVhc2UyMy1tYWludAorMzQ3NTEgNmQzZTBlNmQ3YmU2MTU5OTg0MTI1ZDg1YjU2YjE2Y2UzMzUyZWMwMSBsZWdhY3ktdHJ1bmsKKzM0NzUyIDRiNmM3ZTVjYjg4OWIzM2Q4MTFlYzQwM2VlODQzOGQwMTNlZTljZDMgbGVnYWN5LXRydW5rCiszNDc1MyAyYzNhNzVjNTQ4MzM0OWI4NGNmMzQwODM4YWI4YzNlYjY0M2E5ODkyIGxlZ2FjeS10cnVuaworMzQ3NTQgZmFkY2ExNzE2NGMwNmM2MjI0M2IzMmU4ZTAzN2FlNmE4NmVkYjc5YiByZWxlYXNlMjMtbWFpbnQKKzM0NzU1IDQ0YWIyNDJjOWI4Y2Y1YWVmNWM4M2Q4MzQ4ZDY5NjAzOTc1NDNlZjEgbGVnYWN5LXRydW5rCiszNDc1NiAyZDY5MGE5NWU0ZmQxZTAxZWE0ODFhOTZmZDhmNmE5ZmI1NzFiNTg3IHJlbGVhc2UyMy1tYWludAorMzQ3NTcgZjcxYTIxNjc5NDM2YTUxMGNjYzQ2NTI5ODg1NWJiZmVkOGM5OTcxNiByZWxlYXNlMjMtbWFpbnQKKzM0NzU4IDZjZjA5YmUwNDkxZGU4NmJlODMzNjdmMDNlZjc1ODdmZjA5Yzc4M2MgbGVnYWN5LXRydW5rCiszNDc1OSA0MDA5YjM5OTI2MTZhMGQ2MGMzNThhMDI1ZDQ4NWM4MTAzMTFjNDBlIHJlbGVhc2UyMy1tYWludAorMzQ3NjAgNmYwMTcwMGMxODA4OThkZWMzZWQxMzdkNjA0ZjFhNzBjZmRlMmI5NSBsZWdhY3ktdHJ1bmsKKzM0NzYxIDljODQ2YzNkZjZmM2UwMjRlMGVhYWI0ZGRhNWI5YTM4OGJiZWRmNGEgbGVnYWN5LXRydW5rCiszNDc2MiA3M2Q1MjEzMzA1ZDM3NmQ1MDQ5Yzg0OGQ1OGIzN2MzMTBlZmUxZmI1IGxlZ2FjeS10cnVuaworMzQ3NjMgNmRjMTllNDgzNDdhMGI3OGYyNmI0NDc2YjI2ZjkyOGM2ZDdiY2YwOCByZWxlYXNlMjMtbWFpbnQKKzM0NzY0IGRkNTcwN2Y3MTUyNmFjZTk0YmE4NTU4YmExYTBiYWYwOWJlOGI1ZTIgbGVnYWN5LXRydW5rCiszNDc2NSAwZmY2OTI1OWIwMDVmNDczZjRmNzk1NmIyMGVkNDA3YzUxNWVlMmMxIHJlbGVhc2UyMy1tYWludAorMzQ3NjYgZmQ4N2NlMTgxOWZhMzc4YjIyNWRiMWExNzZiNDBhOThmZDRiZTBjMiBsZWdhY3ktdHJ1bmsKKzM0NzY3IGQ1MGUyNmYyMGYxMDg0ZjlmZGYxZjUyNmMxOWMxYjA5NzA5MTQxNTUgcmVsZWFzZTIzLW1haW50CiszNDc2OCBmNWVhYjYyODMyODY2NGZhODMwMzRiN2E2MDU3N2E5ZGZmMmZhMGYwIHJlbGVhc2UyMy1tYWludAorMzQ3NjkgMzU0OGYyMzQ4MzFlMDk5ZjE5MDUxMWI3ODI4NjlmNjFkZDM5MDYzNiBsZWdhY3ktdHJ1bmsKKzM0NzcwIGQzYWUzMjRmNmM4OTVmYTBiZmE5MGJiYzIwNDQ4MGU3MDkyNDgzZTMgbGVnYWN5LXRydW5rCiszNDc3MSA0NTZlMjc0Zjg2MDI2MjY2YzA2MWZkNjk0MmZmZjRiYzE4NzJlMTg5IGxlZ2FjeS10cnVuaworMzQ3NzIgNWRlYTczZGM5NjhiODQyN2RmOWUwZTdiMTkyYjZjMDU4M2I0YjYxNiBsZWdhY3ktdHJ1bmsKKzM0NzczIDNkMWYwZGY3NWE4MGM2Y2I1ZmQyYjBmMzhhZTMxNDU5N2E4M2MxOTUgbGVnYWN5LXRydW5rCiszNDc3NCAzODMzOGM5NzBmN2QwNzk5ZDM3OWVlNjExMWE0OTI4MDEzZjViMWIyIHJlbGVhc2UyMy1tYWludAorMzQ3NzUgMjUxNzE3NTY2ZTkxMmY4YmZhZmUyNWIyYTYzMDk5YmY5NDNkYWEyZiBsZWdhY3ktdHJ1bmsKKzM0Nzc2IGY2OTU4OTE3OWM1NTljMDU4ZjFlZTU5NmU1MGNmMTczYjFmOTQ1NzEgbGVnYWN5LXRydW5rCiszNDc3NyBiZjdkZjQ4MDEyY2IyYTY4MTNkZWQ0MTMyMTJkYWIxMDgxZTgyZWNhIHJlbGVhc2UyMy1tYWludAorMzQ3NzggNGUxMTI1MDU2NGNiZDNmMDYzNWE0Yzk0MDk0ZmUwMTRiNDc0MzFhNiBhc3QtYnJhbmNoCiszNDc3OSBkNmM3ZTU1OTYyNDdlYjA4OWI0MzMxZjhmZWYwNjc4NWUyYTMxOGUwIHJlbGVhc2UyMy1tYWludAorMzQ3ODAgNGEzNjFiYmI1Mjc4Y2E1N2UyYjNjOGI3N2ExYzg0MzZlMGEyNzc5NCBhc3QtYnJhbmNoCiszNDc4MSBmMGExOTdkZDIxMmQ1Mzk0NDJiYzdhNjAwNmMwNmNkY2U2ODcwOGNlIGFzdC1icmFuY2gKKzM0NzgyIGYxNDMzZDNjNjQ0N2Q3N2M2Njk2M2FlOWYyZWZhYmI4MTVhMzc1NTIgYXN0LWJyYW5jaAorMzQ3ODMgYjBiY2NiOWZiNzBhOGIzYTVjNjNmOGRkZmQxMWM1MzdlMTE3YzIzMyBhc3QtYnJhbmNoCiszNDc4NCA2NGRkZGEyNTU5NTI0YWQ4MTNhYzEzNmIzYTI5YzVlYmRlMDdiNDA3IGxlZ2FjeS10cnVuaworMzQ3ODUgNGUzMWMyNjFhNjY4OTVjNGQ0MDY2YjkxMTA2ZDM2YTI4YmQ3NWZmNiBsZWdhY3ktdHJ1bmsKKzM0Nzg2IDBhYzk4ODc4Y2MzMmI1Yzg3YzdhMjI5OTVhMDcyN2IzMzE0NWRiYmUgbGVnYWN5LXRydW5rCiszNDc4NyBlMDVmZTE3NzU1MjA2NGUzMTk4NjFkMDc4NjA2YTVjNmFjOTgxMzdkIGxlZ2FjeS10cnVuaworMzQ3ODggZWI1MDlmYzQ3ZjA3NTA4NjhhZjljZDYxMTA1NDJkZDE4Y2M1MTJkMyBsZWdhY3ktdHJ1bmsKKzM0Nzg5IDQxZjRjZTZjNGU1MDRlMzI0MWQyYzJkYTYyNzFlZWY5ZTlhZmU0ODkgbGVnYWN5LXRydW5rCiszNDc5MCBhMTAyZGE5MTY0MGUzNDZhOWY5ZGZjODJmNTliNzkwMDQzMmQzY2E0IGxlZ2FjeS10cnVuaworMzQ3OTEgMGVjNGQzZWJkNDMzN2YxZDhlNzk4ZjBlOWY3MzQzYWY5MjkzM2E4NSBsZWdhY3ktdHJ1bmsKKzM0NzkyIDkzMTRiZTBiYmI2NDAxOWI4ZDk3YmM1OTRlNjgxMDZiY2ZjMDZjZDggcmVsZWFzZTIzLW1haW50CiszNDc5MyA1YTA2NThjMDA4NzlhYTM1ZjMzYzhhNDE4OGIzZDRjNWEyOTM1YjNhIHJlbGVhc2UyMy1tYWludAorMzQ3OTQgNzgzNjk0ZDRkNGNmMGNmZGRiZDI0NWJlMzBiOGQ1N2FhODdiNWFjOSByZWxlYXNlMjMtbWFpbnQKKzM0Nzk1IGQ0NTE0Y2UxNGI5NjdmN2Q5Njc5OGEzMWY1OGUyNWNiNjYzYTZlMTkgcmVsZWFzZTIzLW1haW50CiszNDc5NiBkYTE0ZDgwNmU4OWM3NTJmNmE3Mjk0YTNlNGE2OWJiMDc0ZWM0NjcwIHJlbGVhc2UyMy1tYWludAorMzQ3OTcgZGUyODU1YjNmNDEzNmJmMWNhMGI3N2IwMjg4NWI3ZDU0YzhiYTFlOSBsZWdhY3ktdHJ1bmsKKzM0Nzk4IDQ4Njk1YzgzOWQ5OGIzYTI3MmM2MDkzMTA0OTVlYTExZTYyYTg0NmEgcmVsZWFzZTIzLW1haW50CiszNDc5OSA1YjUxNWNjOTBiNWE0M2VmZTQyZjQ2MzEyYjZiYWUxMGVmMDA5M2M0IGxlZ2FjeS10cnVuaworMzQ4MDAgYTUyZDc0OTQ4ZGQ0ZjRlM2ZiOGVmMTEyYmJmNTQyZWNkMWRmMjQ5YiByZWxlYXNlMjMtbWFpbnQKKzM0ODAxIDJhNmZjNGQyNjFmOGU2OGRhYjk0OGE3ZDY2NWZkYTUyZDRmYWM4ODEgbGVnYWN5LXRydW5rCiszNDgwMiAyYmE5YTg2OTY1NjAyZDhlMDU0ZTBmMmQxYzg0NDJmYTJkYzMwYmIyIGxlZ2FjeS10cnVuaworMzQ4MDMgNjIyOTkxY2MxZTNjNThiNTFjNTUyMWEzMmE4MTljZDllMWJlYWQ4OSBsZWdhY3ktdHJ1bmsKKzM0ODA0IDM2MDYyZDY0NWZiYjk1NjM1ZWJlYjUwMTU4MjdmMmFlNmQ3Y2ZkN2IgbGVnYWN5LXRydW5rCiszNDgwNSA2ZWI0NzNkNjgwNDI0YzU0NDg2ZjljMTNmZTM3ODM0ZjZmMzQ5ZDM5IHJlbGVhc2UyMy1tYWludAorMzQ4MDYgMWYwOTgxOWY1MDhiMjVkNDU0Y2I3ZmVmYWExODMwYjNkYTNjNzM1NyBsZWdhY3ktdHJ1bmsKKzM0ODA3IGQwMGYwMTIwNzgzN2I2NzIyNWY0ZTlhYmI4Mjk4OGVhODQyNGM4ODIgcmVsZWFzZTIzLW1haW50CiszNDgwOCBlMzAyNWZlNzBkOGJkMDRmNzIyZTczNzkyZjg4YzRkZDZkZWY3OGY3IGxlZ2FjeS10cnVuaworMzQ4MDkgYTJmNmM2YTY3ZjI0MTQwOTljYzcwMTkzYmI2MDM4Zjc1YjYwNzZmMiBsZWdhY3ktdHJ1bmsKKzM0ODEwIGIyNGQ2YTcxYjAxZjEyNjU5OGYwNmVmMDQ3ODIyMTBiOWU2NjMzYjUgbGVnYWN5LXRydW5rCiszNDgxMSA4ZGQxNTkyNzk1NzZhNTc0N2UzZjJjZTdkNTdkODFiOGVkOTllYWFhIGxlZ2FjeS10cnVuaworMzQ4MTIgODcwNjE1YmZhZWRmYjllNGIyZTljM2ZkNTk0NmJjOWJmOGM4Y2U0ZiBsZWdhY3ktdHJ1bmsKKzM0ODEzIDJmNzk2Yzc1OTZlY2EyM2YxOGMxOTRkOGE2YzEwN2Q5M2Y2Y2FkYmMgbGVnYWN5LXRydW5rCiszNDgxNCAwYTdmMWE1M2M3NzNiNGFjMWY1YzhkNTJiMjM3NWExZTU0NDg4OGQzIGxlZ2FjeS10cnVuaworMzQ4MTUgMzg2MWViNDY3YzI5ZTA3YmE2YjM2Njk3NjBkZGY3MmNiMzNiNDQ4YyBsZWdhY3ktdHJ1bmsKKzM0ODE2IGRlMzkxZTlkNzBlYTE2N2YxZTgxYmE1N2EwYWIzYzY4Njc3MzFhZDAgbGVnYWN5LXRydW5rCiszNDgxNyBmMmU3NjQ2Zjc3NjMxNjFiYmRkZGYyNzZkNzQ3ZjU2ZmY2ZjRmMzEwIGxlZ2FjeS10cnVuaworMzQ4MTggOWNhOWQzMThhZjc4YjdkNWY4M2Y5NTYzN2VhMTlkOWJiMmRkNjIyNyBsZWdhY3ktdHJ1bmsKKzM0ODE5IDMwMzgyYWIwNmNkMWMyYzBiOTA0MjYzZDBmNDA0NDBjN2ExZjg2NjggcmVsZWFzZTIzLW1haW50CiszNDgyMCBkMzVmODc5OWNmMTIyMjA1ZGY1Zjg0NjZhM2ViMzIwNjJiNzg2Y2I2IGxlZ2FjeS10cnVuaworMzQ4MjEgMDNmNDNkNjE5ZmY0YjhhNTUwYTZkMWVjMzM4NmFhNWY3YjhiODI5NyBsZWdhY3ktdHJ1bmsKKzM0ODIyIGJkZjYwYmVhNDE3N2E3ODA0MmMwZjA5MjMxODM4YzQ0YzJkYzdhOTMgcmVsZWFzZTIzLW1haW50CiszNDgyMyA3NTkyMTRmMWVjNjkxMDcxNDFmOWEwMDQyNDk2ZmM2MmRlYjVjNzU4IHJlbGVhc2UyMy1tYWludAorMzQ4MjQgMTEzZWFmZTg4NDhmZjU4NzE0MWMzN2EyYjVhZGYxMDdjNDJlMWVmZiByZWxlYXNlMjMtbWFpbnQKKzM0ODI1IDYxYjcwZWI4ZDE2MGIzMTk1MTgwNGYzYjVjNjQ2NWM2OTRlOTgwNTggcmVsZWFzZTIzLW1haW50CiszNDgyNiA4NmNmMmI4MTBmM2EyYmU3N2I0MDg4ZTFhOTY3M2ExZjA2ZDFmNmM2IGxlZ2FjeS10cnVuaworMzQ4MjcgYzIzYTg2MjE1ZDlmN2UxNzUwZjliNWFlNGRlZDRlODYwMDdiZWUyMiByZWxlYXNlMjMtbWFpbnQKKzM0ODI4IDIwMTRmOWM2MzZmYmU3NTZhOTQ0YWUzN2Q4MDRiNDFhMDZhNjQ3OGEgcmVsZWFzZTIzLW1haW50CiszNDgyOSAwYTYzZDRkMDE1Y2Y5NTBmMTg4ZmJjZGY5MWJhNTU0NTdkNDY4YWNjIHJlbGVhc2UyMy1tYWludAorMzQ4MzAgOTE1YWEwZTY5NDg1OTg5ZTc3ZTk0NjA4OTRiMGM3MzdjZGFkNmZlNyByZWxlYXNlMjMtbWFpbnQKKzM0ODMxIGEwOTZkN2I4ZWM4YTI5ZTEyMDM2YTU4ZTU3MmI2NmM3Nzk0ZDRhMWQgcmVsZWFzZTIzLW1haW50CiszNDgzMiA5NzJlN2ZhMWQ1OTg2YTViMTc3MTY2ZDNhMTVhODkxZGU2ZTlkYWE5IHJlbGVhc2UyMy1tYWludAorMzQ4MzMgNDVjYjI4NGI4NGQzYWIyNjVhYTZmMjQ0N2E5ZTdmYWM2ZDU0YmEyMCByZWxlYXNlMjMtbWFpbnQKKzM0ODM0IGQ3NjMwY2U3YWE5ZmQ1YjEyMzVhNjUyZjM5OWNhN2Y5M2YwYTVhZDAgbGVnYWN5LXRydW5rCiszNDgzNSA5ZDYyNjY4OGNhN2JjZWIwNjJiYWYxYzRjYWUxYjlhMTRmNjUxNjVlIHJlbGVhc2UyMy1tYWludAorMzQ4MzYgNzQwM2UzOGEyZjEwN2M5YTlhODI0ZWU2NzdjMGFhNzkzNDUzYzVjYSByZWxlYXNlMjMtbWFpbnQKKzM0ODM2IGQyMWQ0YmEyZjk3MzQ2N2QzMDc5NGEzZDJhYzQ5MzY1ODE4MGU1MDMgcmVsZWFzZTIzLW1haW50CiszNDgzOCA1NjYzNTE5Y2YwNmZmNDNmZDI0MmU0YzVmNWIzOTc1NGI2NGZhNzkyIHJlbGVhc2UyMy1tYWludAorMzQ4MzkgZTk2ZTM5Y2QyZDE0MmIxZmMzYjU4OTgxODg1NWMwOTRkZDhmMjU5YiBsZWdhY3ktdHJ1bmsKKzM0ODQwIGJhODg2YWUzMjJlYzE2OWZkZmQzZjFkYmQ0NGMwOWJiZTlkMjNhZjMgcmVsZWFzZTIzLW1haW50CiszNDg0MSA2MGU1ZDhiN2U5NjRlNmNhOTE0YmNmZTRiOGViZTA2MDI3ZDc2NDgxIGxlZ2FjeS10cnVuaworMzQ4NDIgODM1Yjc5ZWFjODEyY2U5MDhmM2I2MGZkZmEzNDhiNjE4Mzg5YmJkZCByZWxlYXNlMjMtbWFpbnQKKzM0ODQzIDhlODBmNTUxYjBlOTY4MWM0NWJjZjg1YzhiYjhkODgzMWE4ZTBiYTkgcmVsZWFzZTIzLW1haW50CiszNDg0NCAzOGJlY2NmNGEwYmJmNzc3MGYwZWQ1YjhiOWU0NTliYzgxN2EzZWVhIHJlbGVhc2UyMy1tYWludAorMzQ4NDUgYjc3ZmQ0NjllZTM1NDFmYThmN2JmOWQ4MGEwY2FiNWIxYTE1Y2RjNSByZWxlYXNlMjMtbWFpbnQKKzM0ODQ2IDY5ZGU1YWVlMWZiYjUxMGQxZDU2ZTRlYTFmYTBhZDE5NWY5ZDNjYjMgbGVnYWN5LXRydW5rCiszNDg0NyA3YzhkYzY0MDQyM2E1MTQ4ZTE3YjM0MTM3YTc2NWM0MTM2ZDY4ZDM1IHJlbGVhc2UyMy1tYWludAorMzQ4NDggNTM1MmE2ZWJhZDlhYzQwMDljMzBiYzlmZTg0NzFjYzIyMWFhYWIyNiBsZWdhY3ktdHJ1bmsKKzM0ODQ5IDE3ZTZlOTgyOWM3ZTUwYmYxNjI3Mjk5ZTc4MDM4NzIxNGQ1YTAwNDQgcmVsZWFzZTIzLW1haW50CiszNDg1MCBmMTA4ZGI1OWViNzZhMjZiN2ExNWE5NDI3NmMxMDdlNDA4ZTI5Yjg3IHJlbGVhc2UyMy1tYWludAorMzQ4NTEgYjAyOGZkNTQxOTQxOThhOWUzMTIzNDUzZGZiNWQyMTdjZGE4ZGIwNiByZWxlYXNlMjMtbWFpbnQKKzM0ODUyIDkzOTVjZDkyZDJjZDdlNWI2OTk2ZmMzYmFiNjk0NmQ0NWY3NmI0NWQgbGVnYWN5LXRydW5rCiszNDg1MyBiZTllZjliOTJkNjEzOGMwYjcwZmM3ZDAxOTQzMmU2YzM5YzlkOWU5IGxlZ2FjeS10cnVuaworMzQ4NTQgMjFhZWI5ODMyYzFkMzI4MDQyYzRmZjZjZDJkYTExN2M5M2U5ZTY4OCBsZWdhY3ktdHJ1bmsKKzM0ODU1IDQxNWVmNTUyMWE4YWZkODUyOThmMDM1YmJmNmIxNmMyZTAxNTc4NDIgbGVnYWN5LXRydW5rCiszNDg1NiBjOTUzZmRiNTFjZGQ3ZWY4ODEzYWIyMGI5NThkNWVkMGM3MGYwNjkwIGxlZ2FjeS10cnVuaworMzQ4NTcgYzZmMTY1MDRjOGMyZjVhZGU5NjM3OTA5N2UxYTljNjU3ZTg4OTQzMCBsZWdhY3ktdHJ1bmsKKzM0ODU4IDc1YjYzZTVmMDNmMjEyMTYyNTFiNDFkZDhjNDczZTQ5YzFkNThmOGQgbGVnYWN5LXRydW5rCiszNDg1OSA4OWQyNmUwM2M2NTMwMmIwMTVlYTM1MTg0YmZiMjM5ZDk0NjFhZTUwIGxlZ2FjeS10cnVuaworMzQ4NjAgZmRlNzRmYWRmNzgwYzlhODEzOWJjYzFmZWVmM2M2ODNjMmIxYmRkOCBsZWdhY3ktdHJ1bmsKKzM0ODYxIDdhYWQyNGNhZGRiNWQwYThmOTU5NmRkMmQ5MjM3NWNhZjIyMTc3NDAgbGVnYWN5LXRydW5rCiszNDg2MiA1MDg4YTgyMzQxMTdlY2RlMmM2NDQzMTJmM2JjNzcyOGVkMTc2MDJhIGxlZ2FjeS10cnVuaworMzQ4NjMgZWIxMjdlNDAxYzY0NDlkMzcwMTMwMWRkZmUxMWEyMTY1YWY3OWI0ZCBsZWdhY3ktdHJ1bmsKKzM0ODY0IDk3ZWJkMWIyZjQ2ODU1N2QwM2IzYWRhMjY4NDFlOTQ5N2VkNjU3NzIgbGVnYWN5LXRydW5rCiszNDg2NSBlOWYzYjgyMmNlMDJlYzk4NmNkZjUyOTQyMjA0NGNmYTVhNTQyOWMxIHJlbGVhc2UyMy1tYWludAorMzQ4NjYgOWU3NTA3NTMwMTBhZDgyY2JiYjZkMzJkMDFlYmQ3ZmE5MjAwMTkzNyByZWxlYXNlMjMtbWFpbnQKKzM0ODY3IDA1MmU0YzU3MjI2MTVlMWY0OTkzZjRiNTQzZTdkZDI1MDZmZDRjYTQgcmVsZWFzZTIzLW1haW50CiszNDg2OCAwMTcwNDg1NjU5MzZiODMyYWI1YzQ5MTZiZjdmMmNjMWM0MmM2OThhIHJlbGVhc2UyMy1tYWludAorMzQ4NjkgZDM2MjI3M2Q0NjhiZDEzZTgxMzViN2Y5N2QxZjc5MDZiYTk2ZGFmMCBsZWdhY3ktdHJ1bmsKKzM0ODcwIDllZDc1MjU1OTQ3NzdlZTRmZDU0MDNkZmM0N2I5Mjk2Nzc3ZjhiMjAgbGVnYWN5LXRydW5rCiszNDg3MSAzODFhZTMyNmVlNjU1NWU3NGRmNzQ0N2ZiMGI5NzI5ODkyNWRiMjJjIHJlbGVhc2UyMy1tYWludAorMzQ4NzIgZGNmNWJlMGYwYTFmOWFhMDU4MzQ5NTVmZDE4NWEwMjk2NjliYzZmNiByZWxlYXNlMjMtbWFpbnQKKzM0ODczIDg1MThjNDY4MTc3MWY3MDQwNDJmYjg4MzlkNjUwYTYyNjY2MjYyMTYgbGVnYWN5LXRydW5rCiszNDg3NCA5NGMxYmQ3YTU1YWVmNTQ0OGZjNjk1ZjI4YzUzZjFlNTY4MGQ3Mzg0IHJlbGVhc2UyMy1tYWludAorMzQ4NzUgNjBiYzExZTMwMDY4MmJhNGFkMDkxZTRkNGE0OTA0YzJiM2U4OTEyNCBsZWdhY3ktdHJ1bmsKKzM0ODc2IDYxNGFkNTM4OGM5ZGUwMDAzOGE1NDE3MzlhMWRkYTU5NjA0ZmFmMjAgbGVnYWN5LXRydW5rCiszNDg3NyBkMWQyOGNjYTQyYzE5N2YxZWI3N2M5MDU1YWQyYTdjMjM3YzFiNzEyIHJlbGVhc2UyMy1tYWludAorMzQ4NzggMWRkYzg2YjU4MDQwMDYyYmM1Y2Q5ZjdjYWRlMGJhYWUxYjRjYThiMiBsZWdhY3ktdHJ1bmsKKzM0ODc5IDI2ZWZhOGE1MzkyNTk0M2IzZmJiZmJiNDM0MGI5Yzc5MGJiOGE3MDggbGVnYWN5LXRydW5rCiszNDg4MCA5NGRmZjRhMDJjYTMwNjc3YjZjZDAzOGRmNTMzZWI1ZDhmMjFmOGRmIGxlZ2FjeS10cnVuaworMzQ4ODEgOWY4YzA1NTg3MjEzZTFkODg1MTVjMGY1YTNmNTMwMTVhYzA1NTgyMiByZWxlYXNlMjMtbWFpbnQKKzM0ODgyIDRlYjVmMGNhYjA5ZTRhZDFlNjVjOWQxNzFkNDNiNzUwMzBhZGY4NzkgbGVnYWN5LXRydW5rCiszNDg4MyBlMWYxZmI3NDQ1MWI5YzBkMDE2NjYxMWVlNjg2NWQ5MTRmZjM0MzQzIGxlZ2FjeS10cnVuaworMzQ4ODQgMmEwNzgyY2MxNTFmODQwNDE3Y2YxNTkyYjg3NjliN2Y2ZWZlNDg1YSBsZWdhY3ktdHJ1bmsKKzM0ODg1IDRhMTJkOTFhZjhjM2Y5NWYxNDg3ODk2YWEzMDdiMTE0NGYzYjEyMTMgbGVnYWN5LXRydW5rCiszNDg4NiBjNzI3YWQwMDNmZGJhY2QyYmU4ZjRkYzQwYTM5Njk2MWRkYjc4NzE4IGxlZ2FjeS10cnVuaworMzQ4ODcgMDM2NzM3NzMzMDg0NDdkYzkzNmRlNjk5ZTVlOGJiYTIzNThkOWVlZSBsZWdhY3ktdHJ1bmsKKzM0ODg4IGFhYjM2MTJmMmMzNTJiMGExYTQ5MDgxZTBiMjZiYTBjOTAzZTYwZTggbGVnYWN5LXRydW5rCiszNDg4OSA4ODVkYmYxNTc4YmNiMDZiYzVhZTEyM2FkMjZmZTAyNmU2MzFkOWQ4IGxlZ2FjeS10cnVuaworMzQ4OTAgMDYzYjdkMjI1ZThhYjg0NzZiNmQyN2YzNzgzYTRiYjUwZDVkM2U5OCBsZWdhY3ktdHJ1bmsKKzM0ODkxIDQ1Y2FiZTljZDljOTI2MWYyNzdmYjc4OGYxODYwZmM3NzVlZWZiMTcgbGVnYWN5LXRydW5rCiszNDg5MiA0ODcwMmYxOWNjZmIzZWIwYmY1NGI3ZDZkOWFlM2RiMzMyOTEzZGE1IGxlZ2FjeS10cnVuaworMzQ4OTMgNGNjMTY2MTViMDcyNDVmYTQ3MTVlODA2NzNjNDdlNzg5OWIyMTUzOSByZWxlYXNlMjMtbWFpbnQKKzM0ODk0IGMyMmVlYzgwNzIyNDc0MmQzYjEzODM3OGNjY2MzOGFlYmM4NDUwYjQgbGVnYWN5LXRydW5rCiszNDg5NSBjYThhNjk5NjlmMDM4ZjUwNjE2MjA1YjlhZTUzODMyMzU1NTljZDU0IGxlZ2FjeS10cnVuaworMzQ4OTYgZTRmYjYxNjQxNThjNzg0ZDkzZGM3OGUzMjQ1MjYyYTc2MmViZDUyZiBsZWdhY3ktdHJ1bmsKKzM0ODk3IGM5YmJjOTY3YWM5ZjYwOWY5MWQ2ODc1NzZmN2I2YWUzMWViNDVkZWMgbGVnYWN5LXRydW5rCiszNDg5OCA4OGU4MGEwNDMyOGEzODQ3Y2UwZmE5NWQ1Yjk4YzZlNjIzMzEyMjc2IGxlZ2FjeS10cnVuaworMzQ4OTkgNWNjMWE0MDBhMDJjMzExYTRmMWM1OTg5NzhjZGY1ZjNlYWYzN2MzNCBsZWdhY3ktdHJ1bmsKKzM0OTAwIDM4MTE0MGU3ZTlkNzcxNWNmZTcxZmY3YjQ5ZjUxN2NmYmQ3ZTQyMzUgbGVnYWN5LXRydW5rCiszNDkwMSBlZWFhMzY2MDY3MWNiNmFkNjk2YzAzYmJjMzhiMjhjMzk1MWU4YTVlIGxlZ2FjeS10cnVuaworMzQ5MDIgMWJiYzIwODVmMjEzYjBiYTY0MTI4NWI5ZjFhNmE1NWQxNmZhMzBkZiBsZWdhY3ktdHJ1bmsKKzM0OTAzIDIxYTI3YzIxYTJjNTdhZTNiNjcwZjFmNzkxNTRkOTY4NmM5ZDUwNDkgbGVnYWN5LXRydW5rCiszNDkwNCA0OTQyYTBiNjNjOGNjZjFmYzVkMTFlN2NiYzk3YjZjMTdjMGNlNjIwIGxlZ2FjeS10cnVuaworMzQ5MDUgZTVkOTdhYjcxMGEyMjVkM2U0Y2YxNmI4Y2ZmOWUzY2RlNzBjOTY1ZiBsZWdhY3ktdHJ1bmsKKzM0OTA2IGM5OTYyMGNkOWM2NTUyOTU5ZGZjZDg2NDk1OWYwYzQ4NDUzOTU3NWYgbGVnYWN5LXRydW5rCiszNDkwNyAxMGM0Y2MzNTJkMTNhNWJlNDgyNjA4ZjNlMTU5ZmJlN2NkMjJkMTI3IGxlZ2FjeS10cnVuaworMzQ5MDggNDdlYWEzOGIyOWNiZjY1NTc5ZTBiYzllNzk2NTEzOWI1MGVmOGE2OCBsZWdhY3ktdHJ1bmsKKzM0OTA5IDc0YzE1NDcwOGIwY2ExOWNhZGY3NjVjMDUxMTg4M2I2NWJjOWM2MDMgbGVnYWN5LXRydW5rCiszNDkxMCBmMjg5ODIwNjBiMjBjMDg2M2EwNTQ5ZmU0ZjE1YTJlODc5OTg1M2I4IGxlZ2FjeS10cnVuaworMzQ5MTEgZjJlMGQ2MzBjZjM5ZmU3NGJiNzVlMmZlMmU0ZWNkNmExMzZmNTM1MCBsZWdhY3ktdHJ1bmsKKzM0OTEyIGIyYTBjZDJlOWQ1NTExMjhkM2RiOGFmYjNkNTVjYTFjMDZlYjJkODggbGVnYWN5LXRydW5rCiszNDkxMyBjODVhOWVjNTc5NmNkMDljOTZhYjYxZjUzY2FhNTIxODYwZGI0ZGEzIGxlZ2FjeS10cnVuaworMzQ5MTQgMjkyYWQxMzVjZWYxNDYyMGFiNGI4ZjUwOGNjMGNhMjYyNmY3OWI3NyBsZWdhY3ktdHJ1bmsKKzM0OTE1IGU0NjgyYWY3YWVhOWVjNTJkMzIyOTg2ZTJmZjlmODM0YmYwYTM2OWQgbGVnYWN5LXRydW5rCiszNDkxNiAyMmYwOWFiMGJhZTk0NmJiYWViYmU5Mzg5MmMzNGY2MTZmM2E3M2E1IGxlZ2FjeS10cnVuaworMzQ5MTcgMWFkMGRmODdlZDZjMmU1MDA4ODI1NDA1MDM1OWNhZjIwN2NkMzQ3MCByZWxlYXNlMjMtbWFpbnQKKzM0OTE4IDdhNmQwODE0YjU2MWVkMWFkZmVmZTE5ODdjOWNkMDRjNjdiZjgyODYgcmVsZWFzZTIzLW1haW50CiszNDkxOSAyMjliYjlmMmU5NmYzZmUxNWExMWE1MWUzYmU0NTVhYTU0N2NhNzFhIHJlbGVhc2UyMy1tYWludAorMzQ5MjAgZDZjZWEyMjhmYjI1OWJhOTIzNTIwYmJmMzQyOTNiNjlkYmJlZmRlMSByZWxlYXNlMjMtbWFpbnQKKzM0OTIxIDY4NDU2OTczNTNhMzE1MjVhOGEwMjUxODBlZTgxNjRmMjUzYWE2MTAgcmVsZWFzZTIzLW1haW50CiszNDkyMiBkOTgxMTc1OWU3ZGViZGUwMWEyYTE4NGZjMThiOTZmZjVkNjFlMDcxIGxlZ2FjeS10cnVuaworMzQ5MjMgNTA0OTQzYzg5MTkzZGEwZGMxM2ZjMDdmNjYwZGJkZjk4MWY0NTI5ZiBsZWdhY3ktdHJ1bmsKKzM0OTI0IDYzY2M5ZmNkMjg1ZTRiM2ZhNTQxMDljZjNiNGE5NmMwYzcyOTU1YmEgbGVnYWN5LXRydW5rCiszNDkyNSBlNTA2NThiM2RmMGU3MTJiNGY5Njc5NzEzMzhiODdkN2RjNzdlODI3IGxlZ2FjeS10cnVuaworMzQ5MjYgMDJlYmUzNDU2NTk1MzE4MTNjYmQ2OTY4ZGQyZjhlZTA2ZTU5MGUyZSBsZWdhY3ktdHJ1bmsKKzM0OTI3IGJmYTAzNjlkNjc2MGIyMjhiNDM5YWEyODE1Y2E1YTMwYmMwNTI5ZDggbGVnYWN5LXRydW5rCiszNDkyOCBkZDc4OTA3MmQ5NDkwMzBlNTZkNTMyN2M1NTZlZWQwYzhiZWJiMGY1IHJlbGVhc2UyMy1tYWludAorMzQ5MjkgY2JiZmQ0MTI3ZTI0NzU0ZTZjNTdmYzJjZjc2NjVlZGExMGY2YWQxMiBsZWdhY3ktdHJ1bmsKKzM0OTMwIDM3NzFmZjk5ZDVmMjhhZDAxMmEyMjAyZTczODdlOTJkMzRmYWQ2ZGEgbGVnYWN5LXRydW5rCiszNDkzMSBmMzg4ZTgzZjhlNDMzOGUxNzVmMjc1M2VjOGVlNWM5MTAzZmQ3ZDkyIGxlZ2FjeS10cnVuaworMzQ5MzIgOTQ5M2RkMjIyZmJiOWIwODZiMDNlOTg5YmJiNWFhNjA1NDczYjEzZiBsZWdhY3ktdHJ1bmsKKzM0OTMzIDVlOTc3NTdkODdlNzMwMzdmMDc2MmMzZDFhODM4NmIwYTlmNmViYzAgbGVnYWN5LXRydW5rCiszNDkzNCBjMDZiNTcwYWRmMTIyYmJlOGMyMTA4NWUxNjE5OTdjYzM2MjRkMTczIGxlZ2FjeS10cnVuaworMzQ5MzUgNGQwNzU2YTEzZjZiOWU0YzhlZGI3MWI2MjdkZWE0YTM5N2E0MWRlNSBsZWdhY3ktdHJ1bmsKKzM0OTM2IDViMDM1ZTZlNDRkYzY4YWVhY2RkNmUxZDA2OTg1MjI4NzFhNzBiN2UgbGVnYWN5LXRydW5rCiszNDkzNyAzNjA3ZjIzMzUyYjk4NTk4YjY1ODBiZTBkNmQyOTQ3YmVlNDE4OWI4IGxlZ2FjeS10cnVuaworMzQ5MzggZGVmMjc1Mjc3MjgwNjFhNDE5ZDBlODk4YTdjNzlhODhjNzQzNDg1NCByZWxlYXNlMjMtbWFpbnQKKzM0OTM5IDg5NzY3YzE4YzYxNjA4YjZlYjlkZjRmYmMwMjNmOTFiOWIwN2U1ZTQgcmVsZWFzZTIzLW1haW50CiszNDk0MCA4OGUwMDAyMWFjZmY2ZWI4YmNmZWJhMDgxYWIzNjA2M2JjOTM1YTIwIGxlZ2FjeS10cnVuaworMzQ5NDEgOTcwNjJkMzY1OGZlN2M3MDc5MmJjMjRhZmZiZjg3YzY2NDU2MTI4OSBsZWdhY3ktdHJ1bmsKKzM0OTQyIDBmNzA5Y2VhNDNjNzE2ZjE4OThlNjViOTMyOTc2MWJiMWI0ODkzZjMgcmVsZWFzZTIzLW1haW50CiszNDk0MyBlYTNjNmY2ZTQ2NzkxYzZmYjJlNzk2ZDcyYzBmYjBiMTZlMDZmODY3IHJlbGVhc2UyMy1tYWludAorMzQ5NDQgZWRlNTE4YjBiOWRhNzlmODU0MmU4ZWVhYWFmYzNlODJkMTRmZDRlNSByZWxlYXNlMjMtbWFpbnQKKzM0OTQ1IGMyOTY3Y2U3YzAxZTQ1MjY4NDYyYTA1ZTc5ZWYzMDQwZjJlOGU0Y2QgcmVsZWFzZTIzLW1haW50CiszNDk0NiA5NTVjYjk2OTc3NjdmZTI5OTUxN2U1ZjE3ODRmNTVmNGUzMzU0NTU4IGxlZ2FjeS10cnVuaworMzQ5NDcgMWE5ODhhMDZiZDMzNmI3NjU2NmUwNmQ5NDFmNDgzMGQ0Y2Q1ZmZjZSByZWxlYXNlMjMtbWFpbnQKKzM0OTQ4IGI4MGEzYjgyZGNmOWUyZTQyN2Q1ZmQ4NDMwMzlkZGQxZmU4Njk2NTYgcmVsZWFzZTIzLW1haW50CiszNDk0OSAzOTUwODJkYzIxOTQyOTg5MWRkNzE2NDU4ZmFkMThjYzg1MWYyY2MxIGxlZ2FjeS10cnVuaworMzQ5NTAgNjQxNjZlYWY2MjEyNGIwMTBjY2ZlOTI0ZmJmYzllNTA2YmNjYTIzMiByZWxlYXNlMjMtbWFpbnQKKzM0OTUxIGE1OTIyYjlkMDM3OWEwNzY4NTA0M2MyMTM5M2YwOGVlMDRmNGJiYjMgbGVnYWN5LXRydW5rCiszNDk1MiAzODg1NWZkYTQyOGE2OGQ2MTI5NzQyMjJiYTQ1N2E2ZDcxYTI4ZDk0IGxlZ2FjeS10cnVuaworMzQ5NTMgMmIwYzc4NWFiMzBhNmUyMjdkOWQwNTYwYWY0OWFkNmIyMzU5ZDkyMSByZWxlYXNlMjMtbWFpbnQKKzM0OTU0IDY3YjlkZTYyZWNiODY5Mjc3MDFjMWZjMzMzMDcwOTk3OWRkOWE1MWYgcmVsZWFzZTIzLW1haW50CiszNDk1NSA5YTNhMTZiODJkY2JiZTRhMGJhODI2MmE1ZTZlYTBhZDNmYjVjMTMxIHJlbGVhc2UyMy1tYWludAorMzQ5NTYgZmI3NTllMjgxYTJmMjMwMDg1MjQxZDRhZWIzNjQ3YjMzOGY4OGRkYSByZWxlYXNlMjMtbWFpbnQKKzM0OTU3IGQwOTllZDkzMjk5M2Y5M2Q5MTg1YTE2NTJhNjA0YWU4ZTlkNjkxNWIgcmVsZWFzZTIzLW1haW50CiszNDk1OCA1ZGM1NzU3YjExOGFiZjNjY2Y2N2E1NzliYmVmN2JmMGVlYTViMWIyIHJlbGVhc2UyMy1tYWludAorMzQ5NTkgYjIyMGI1OTBlMmVhOGVhNzQwY2M3YmY5ZjMxY2JhN2Q1MmFiMDVlMSBsZWdhY3ktdHJ1bmsKKzM0OTYwIGFjYmM3NTYzYThlN2VkZjczNWM2ZjQ2ODMwOGY0NzFjNGQ2MDI2NzggbGVnYWN5LXRydW5rCiszNDk2MSBhNmYzNGZiYTkzNzA2OTg3YzdhYTkwYmU3N2FjMDRhMDQ0ZDU5MWUzIGxlZ2FjeS10cnVuaworMzQ5NjIgNGVkZjIwMGE4MTE4NWE0N2ZiNzQ2MWY0M2VjOWJjNDM2N2FlNzZiYiBsZWdhY3ktdHJ1bmsKKzM0OTYzIGYwYWUzMTNhMmFjODY0NzJkNDRiMDg2NGI4ZDFhNThhN2E1M2IwZmUgcmVsZWFzZTIzLW1haW50CiszNDk2NCAzYzRjMDg3NDk0ZTBjYjg4NDE5MDQyODIwNjlhOGIyZmU2NGUxNjM0IHJlbGVhc2UyMy1tYWludAorMzQ5NjQgYThmMTI4NmYyMTcxMjljZGI1M2UzMjBlZTEyNWQyYzJjODBlMTM3NyByZWxlYXNlMjMtbWFpbnQKKzM0OTY2IDI4ZWIwMDQ2Y2U4YTc2M2E4ZDNhZGRlZmIzZGFmM2I0YWZjMTc0ZmMgbGVnYWN5LXRydW5rCiszNDk2NyBkZjhlODc5YzhkNzZkNTBjZWRkZjEyY2JjMWRlNzc2OGIyOWNmNGJkIHJlbGVhc2UyMy1tYWludAorMzQ5NjggOWM2YTUxZDg3OTMwMjk0NDY2ZmVhODY2ZWMyMzljY2IzZjBiZDY4OSByZWxlYXNlMjMtbWFpbnQKKzM0OTY5IDFjYjg3ZGFkMjYzZDc3ZGQ0MGMyY2U0ZTk4NjRjZGQ5MTk1ZDljZGMgbGVnYWN5LXRydW5rCiszNDk3MCA4ZWEzYTgyZjkxM2Y2Y2EzYzA5Mjc1YjRiNWY5NDM1OGE1MTA1M2ZhIGxlZ2FjeS10cnVuaworMzQ5NzEgY2UxNjViZThjNmI4OTg2YmQxZjEyNWUxZjRkMjhkYjdlYzFlMmU2OSBsZWdhY3ktdHJ1bmsKKzM0OTcyIDM1M2ExNjAzM2Y2YTRlZDY5NTg5MGU1MTk2ZTk1YzI3MWI5MWQyNzcgbGVnYWN5LXRydW5rCiszNDk3MyAzNTM5M2E5MmFjZDFkMzcxMTM0MjMyMTU1MWFkNzg0MmVlZmIzNmQ1IGxlZ2FjeS10cnVuaworMzQ5NzQgZGZkMDExNGNmOWVjZTdjNjIwZDQxMmY3NjYzNWRhZDI3M2JmY2I1MyBsZWdhY3ktdHJ1bmsKKzM0OTc1IGUxMThlNGU4ZTIyNDhlNGQ2NWIzZDczYmU1OGE5MWU1NzQyYTY2ZTggbGVnYWN5LXRydW5rCiszNDk3NiA4OTIxMTZhODg2ZTAwNTFhOGQzMmFmYzNhMjMzMmQ2YTAzYTRiOTJjIGxlZ2FjeS10cnVuaworMzQ5NzcgYzE0MDIxNzZlMWE2NTViMjM1ZjA1YzlkMDMzMTVmYTA5NDE5Mzk1NiBsZWdhY3ktdHJ1bmsKKzM0OTc4IGY2MDY0ZjhjMTQ2MDRlM2NiZjc4MzNlOTExNTZjOTMwYTM4NTAxYWMgbGVnYWN5LXRydW5rCiszNDk3OSBhODA3NzI2ZGY0YjdmOTU0ZGRlZGIxZjNhZjY2NmZiNWE1ZjQxY2U0IGxlZ2FjeS10cnVuaworMzQ5ODAgNTUyYTUzNTVkOGE4ZjYzNWQxN2EyODY1N2ViNzM3M2VmMWU2ZjU0NyByZWxlYXNlMjMtbWFpbnQKKzM0OTgxIDcwNmM5NmUxNTFhMDg5ZjI0OGYwZjI3Y2ZlNmRlZWFjOTAzMjQ3NTkgbGVnYWN5LXRydW5rCiszNDk4MiAyYThmNWViOGQ4M2UxMzAyZDU0YzVhYmYzNjZhM2ZlMDJiMWQwZmY1IGxlZ2FjeS10cnVuaworMzQ5ODMgYmU4ODJhOWEzZDViNTIyMGRkY2UwMjNhYjAxMTMwNDcwZmVhNTc1YyBsZWdhY3ktdHJ1bmsKKzM0OTg0IDkxYjU5ZjJmZWU3YzFmMTE2ZWEzNjRlYzZkMTJkZTcyMjYzNWQyZTYgbGVnYWN5LXRydW5rCiszNDk4NSA0NzEyOTE1MmNiNzAxMGE3Y2I2Njc1NDcwZTQ5MTEwNTFlMTI3N2QzIGxlZ2FjeS10cnVuaworMzQ5ODYgZWU1MzI4MDU0NmNlN2QzMzQ5ZjkzMTY4NGJlMzFkY2E0NTk0ZDczNyBsZWdhY3ktdHJ1bmsKKzM0OTg3IDFlMTZjYjhiMDIyMTllNjM2OWFkOGFjY2ZiNTM0YzQ3NDIxZmMzNTUgcmVsZWFzZTIyLW1haW50CiszNDk4OCBjYzdmMjlhYzJlOTgxNjQxZmE2ODc5YTA4MTc0ZWY3ZjljMDk0NTI3IGxlZ2FjeS10cnVuaworMzQ5ODkgOTA1NjBhOWNmM2U4YjlhMWY3MGY1MjNlYzUzNmFkMjg5NDU5OWQ2YSBsZWdhY3ktdHJ1bmsKKzM0OTkwIDBiZTkyNWQxNmUyOTNmZGZmMWQzYmRiMjY3OWY2NDdkMTU2YTY5YjQgbGVnYWN5LXRydW5rCiszNDk5MSA1M2FlMWMzZDRhN2MxODU2NWE5ODQ0NDQyZGQyN2ZjZWE0OTkwMDAzIGxlZ2FjeS10cnVuaworMzQ5OTIgMGZmYjYyNmQ3ODg4MWZlNDI0MTk3NjkyNTBmZWVjYTlhOTk0N2JhNCBsZWdhY3ktdHJ1bmsKKzM0OTkzIGE4ZTNiYjIzZjVhOGI3YzYyMGM1YjdlYTJiMWZjMmMzMjYxOTE3ZGYgbGVnYWN5LXRydW5rCiszNDk5NCBlMjZmZGE5ZGU2N2YyODk0NDg0MWYyMDYwZmJkNjJjYmNkYmIyNmI1IGxlZ2FjeS10cnVuaworMzQ5OTUgN2FiMDgwYmJkNjBhNjg1YzMxN2ZmN2Y3OTQxYTU0YTZhMWFkZDFkZSBhc3QtYnJhbmNoCiszNDk5NiA1NWQ0MmFhZWIwZWVmODY2MzU5Njk1MDM1NzVjOWRjY2JlOWE5YTcwIGFzdC1icmFuY2gKKzM0OTk3IDdjYzExMTI3MjczZTdlOTRjNzRiYTc5OGM2MTQ4OTVlMjZkZDQ1Y2EgYXN0LWJyYW5jaAorMzQ5OTggZWE2YjE5YTEwYTAxNjQwMjc4N2RiMDFhMDRjODM1ZjU1MTdjNmU4MCBsZWdhY3ktdHJ1bmsKKzM0OTk5IDI5YzFiN2I2ZmQ3ZTU3OTI1NzhlYmY5MjI1YWIzODU4MTczOWU0N2EgcmVsZWFzZTIzLW1haW50CiszNTAwMCAyNTUxOWQ2Yzk3Yjg2ZTczNjhmNTgwMmY4NTk1NzQ1MDEyYWU2MzFmIGxlZ2FjeS10cnVuaworMzUwMDEgODAyZDkzN2Y1OTZhYmViMDRiMzJlOTFmYzdlZmExZTE1NjZiZGJjOCBhc3QtYnJhbmNoCiszNTAwMiAxYWUyNjc5OTRmYTAzNTBhYTU4NjVjNTJhZjAxNGY3MTM3NzJmNmYzIGFzdC1icmFuY2gKKzM1MDAzIDZhMTE2OTVmZTY5OGViMmM4NDRhMjY3MWE2Yjc3ZTgyMGU1OWM1NjggYXN0LWJyYW5jaAorMzUwMDQgMDkwODE2YmQ4YmFjMDAxZDY1MmJjOWQ3YTljNDM2NGM0MzNmYjhiZCBhc3QtYnJhbmNoCiszNTAwNSAyNGQzNGFiNGVmNzU0OWMyYTdjMTUyNmEyZjJlNTMxZDU4YmVlNzQ0IGxlZ2FjeS10cnVuaworMzUwMDYgOGMxM2FiNjliYTRmMTQ3YTVjZGVmMDRkNWZkZjdjNjFhZTNiZmZmMCBsZWdhY3ktdHJ1bmsKKzM1MDA3IDFkYzI2NTllZDlmYzM5Y2NlZTQ5ZThiNDU4ZDY3MDJmMzU5OTYyZDkgbGVnYWN5LXRydW5rCiszNTAwOCA2YzNjM2I3NzFhYmNmYzllN2JkZmNkOGUyNTExYWNjZDQxYWYyNDY2IGxlZ2FjeS10cnVuaworMzUwMDkgMzFhMjgwOTAyNGY1MjFiNGE2NDA3ZDUxYzAyYTM3MWU1YmNiNjY1NCBsZWdhY3ktdHJ1bmsKKzM1MDEwIDU3NTUzMTU3YzE5NjZjMjc5YmQyM2ExMWQyOTg2MWI3OTEwYzIyYzkgbGVnYWN5LXRydW5rCiszNTAxMSAzMTU4ZGMxNTMyZmExNzNjZTFhMmMwOWU0NDc2YzM1NmRmMjk4MDZlIGxlZ2FjeS10cnVuaworMzUwMTIgYjg3ZDE5OThlZjAwMDRkM2U1NGQ2YjY5NTkyMzRlMmViMDQ0NjVkMiBsZWdhY3ktdHJ1bmsKKzM1MDEzIDhiNjJmNDE5NGE3ZTc5MzY5ODkwYmM1NjVlNGNmNGVlZmQ5Njk2MjQgbGVnYWN5LXRydW5rCiszNTAxNCBkNmQxZWZkY2M1ZmRkNDRiMjcwYTJkODU2M2IwYzY2Mzk4ZjZlNjU5IGxlZ2FjeS10cnVuaworMzUwMTUgMTM5YTZiNmMxNTBhNTlmYjg3ZjRkM2ExMmZmMmJmNzc3ZTM5ZTQ4NyBsZWdhY3ktdHJ1bmsKKzM1MDE2IDczNjY4NzVhM2NkNzA3Y2ZhZGY0ZjIxZDNkMjA1ZTQ4ZDQ0Nzk5YmIgbGVnYWN5LXRydW5rCiszNTAxNyAzODk0NjU0YjQ4NDhlMTc1NmUyMjFhODBhN2U4ZDY0OWE3MGRiYTc0IGxlZ2FjeS10cnVuaworMzUwMTggMWMwZTRhNTI2NzNhYTU4MzhkMmE3MjE3N2I0ZGU5N2EwMzFkZjA0OCBsZWdhY3ktdHJ1bmsKKzM1MDE5IGZkNGNiYmVhY2U3OWVjYzQxZWRkMzFiMzMxNmIyYTU3OTM1Nzc3ODkgbGVnYWN5LXRydW5rCiszNTAyMCAyY2Q5NjYyOWZlOGQxNDgwZDIxMzg3MDI1ZmM3ZmY2MjhhODliOTRjIGxlZ2FjeS10cnVuaworMzUwMjEgZWM0YTk5ZDE0Y2E0NjA0ZDI0MmY3NTk2NTM0MzRlN2NlNmIzODc0NSBsZWdhY3ktdHJ1bmsKKzM1MDIyIDg2OGNhY2UyMjE5ZmY3MmY4ZWU1Y2E2NmI5ZmVkMDBiYTVkNTQ1ZGMgbGVnYWN5LXRydW5rCiszNTAyMyA4ZTcwODkyYTlmMjVjYjc0MGIyYzg1MjRjZTIzNTAzNjAzZGY5YTVhIGxlZ2FjeS10cnVuaworMzUwMjQgYzg1NGExZjJkMTliODE0MjI3NGUwZGE3OGEwODBiNjhiOGNjZWU1YyBsZWdhY3ktdHJ1bmsKKzM1MDI1IDJjMWJhMjQxYjNjMDdhMjhjMDQ1NjUzMzcwN2Y5YWZiODU3NjM1ZTMgbGVnYWN5LXRydW5rCiszNTAyNiAyOGQwMGIxYTg0NDc2MDY0MGU1OGJkZGI3MjA3YmEyNTk4NGRhMWFjIGxlZ2FjeS10cnVuaworMzUwMjcgMjg0ZGIyYTVmNjIwYjA4NWZmMWE0MzE4YzhlMzIxMjIxZDk4MmYzYSBsZWdhY3ktdHJ1bmsKKzM1MDI4IDI2ZWNhNzA4YjZkZDY3NTI0MGYyMTgxNTkyMTg1YTAxOGU5ZjM3MWYgbGVnYWN5LXRydW5rCiszNTAyOSBhZDNmYWY1MmUxOWU0MDNhZGViMTAwMDJhMTBlMjNlMGIyOGE3ZDRkIGxlZ2FjeS10cnVuaworMzUwMzAgN2VhMDY3ZDc0OWEwMDY2MDRiNDMwY2UxOTU4M2I0MmI2MjhlOGMzZiBsZWdhY3ktdHJ1bmsKKzM1MDMxIGJmODQwMmE1NmZhNDI3YjI1NTFmMzEzZGUwMjMzYzM2MWJkYTM3NjEgbGVnYWN5LXRydW5rCiszNTAzMiA3NGMwNzNiYTZjM2IyYTQyMDEwYWY5ZjIxMDY5MzJhMGE4MDU0YTExIGFzdC1icmFuY2gKKzM1MDMzIGU0MDFjMGYyOWY1MGQ4OGJlNDBkNDI4Nzg5NzVmYTRiYTIxMDhhZTIgbGVnYWN5LXRydW5rCiszNTAzNCAzOGIyM2U2ZDRjNGI5NjRmZWNmNjZmNjI4OTUyZDU0OWI4Mzk2Mjc4IGFzdC1icmFuY2gKKzM1MDM1IGUzNDc0ZWQ4MGE1ZWY3YTAwNTNlZWMwMDcxZGQzMzUzMGEzNjMxNDAgbGVnYWN5LXRydW5rCiszNTAzNiA2ZDQxODgwMWYxNDJkZmYxOTMxZWU0YTQ1MmFkMjY4NjYzZDIzMWM0IHJlbGVhc2UyMy1tYWludAorMzUwMzcgNzQ0MzIzYjc2OGYwZDRhZTk5MTM1ZjA4YjhiNTQ2NWI2NWI2ZGFmNyBsZWdhY3ktdHJ1bmsKKzM1MDM4IGM1M2RhZjM1YmJjY2MwYTk1YWMzN2EzZDQ3MGJmNDk4YTQzMDVjYjAgbGVnYWN5LXRydW5rCiszNTAzOSA4NzM3YmI0NGUyMmZhOGRiZjYzZGM3YjZjYzFhNzhkYTc5Zjc1N2UxIHJlbGVhc2UyMy1tYWludAorMzUwNDAgMDYxZWZmYWJhZmNiZDdmNDUxNDI1YzM5ZjI5YTQzMjZjNWZiMTkyMyBsZWdhY3ktdHJ1bmsKKzM1MDQxIGRjZDc0M2U3OWNlMzU2ZWQ3MDk0YjQxOTUyODAyZWNhYTlmYmY5OWMgbGVnYWN5LXRydW5rCiszNTA0MiAzMzY4YTRkMjVmMTc3ZGVlNjE4ZTc0YzU4MTUzNjgwMjk4YzVmN2QyIHJlbGVhc2UyMy1tYWludAorMzUwNDMgNTgzZDVhYTgxMDFjZTNhODc1MGI2OTQwYzY2OGMxZWE0ODU5YzliZiBsZWdhY3ktdHJ1bmsKKzM1MDQ0IDVlYjllMjVlNjNmZDVlZDg2NDBhZWMxNTk0YTViYTljMGMxN2YwMDAgbGVnYWN5LXRydW5rCiszNTA0NSAwZWE4ZWJlYjZhYTJiOGE1OGU2OGVkNDAxMzA4ODJjYzAzYzUyNWFiIGxlZ2FjeS10cnVuaworMzUwNDYgODA5OTc4YzMwNGJlNGI5NmM2ODczMWJiNmJjMmJkNjY1MjgwYzZiYyBsZWdhY3ktdHJ1bmsKKzM1MDQ3IGZmZjFlODVkMTk1YzE3NTUwYjNlNTQxNDRhMGUwYzRjNjAyN2Q2NTcgbGVnYWN5LXRydW5rCiszNTA0OCBjZDdiNzBhNGM0NDAyMTBhMDUwNmVmMDVlNjc3MDExNDU0N2JiYmU0IGxlZ2FjeS10cnVuaworMzUwNDkgYTUzMTkwYjM4NzI3Yjc3MDY0MDAzODI2MWFjMTE1ZjVlZTdiYTVmNyBsZWdhY3ktdHJ1bmsKKzM1MDUwIGI2NzRhYjU4MDhiYWZmYjI2MDdhYjljYWVlODk0ZTYxY2MzOWQ3MDIgbGVnYWN5LXRydW5rCiszNTA1MSAwOTlhNGEyZjFmNzdjYWY5YmU5ZWJmYmU1NDFmOTFkM2NjYTY1YTcwIGxlZ2FjeS10cnVuaworMzUwNTIgMzMyOTQyMDZkNTM5ZjU5ZjJiMTU2NDY0YjFkN2I3ZThkMWNhMzhkNCBsZWdhY3ktdHJ1bmsKKzM1MDUzIGNhNDM3NDY2MjYzMjQ3NWJlN2NjMmMzOTRlZDAyYmQxNDE0ODI4OWMgbGVnYWN5LXRydW5rCiszNTA1NCBlZDY4OWQwYzYzYzEzYjFiNGFiNDA4MWY4MWYyYTNiYTZlNmMyMWUyIGxlZ2FjeS10cnVuaworMzUwNTUgOTY3MjIzNzdkNDEyYzIxNDU1NmFiNGY3N2QwNjk5NGRmYTdhOGViMyBsZWdhY3ktdHJ1bmsKKzM1MDU2IGM2NzAxZDg0YTNmYTFiM2Y3ZTBmZjRhNDM0ZjYwMzcwM2E3ZmMxZGEgbGVnYWN5LXRydW5rCiszNTA1NyBhZjk0NmRiNjdhZmM0NGQ0YmE2YWUyNWQ2MGNmYjE0MzcyYzYxNjdjIGxlZ2FjeS10cnVuaworMzUwNTggYjQ1MzJjMjQ2YTNhMGVjNDEzY2NmZmY4ODg4ZjYzZDM5ZjgxYzYzMiBsZWdhY3ktdHJ1bmsKKzM1MDU5IDNjYzBkOGZkNGUyYjY4MWFjYzgxODNmNjM1Y2EyNjAyN2U0NDVmYzAgbGVnYWN5LXRydW5rCiszNTA2MCA4YzcwOTA5MDhjZWNmZjY5MDI0ZjVlZTUyOGYyODgzNTA2YWI1YjkxIGxlZ2FjeS10cnVuaworMzUwNjEgNDc3ZjBhMjUyMTUwZDc1YjNlNTE3YjFhOGJlZGZkYzNkODRmNTZiMyBsZWdhY3ktdHJ1bmsKKzM1MDYyIGE2YmMxMzFhYjYxODhjODdjNTYyZTk2MjQ2Mjg1ZTkyN2U1ZjE5ZWEgbGVnYWN5LXRydW5rCiszNTA2MyBiNjdjYTNmNjg4Zjc4YmEyMDIyMDFjMmU2MzgxOTA4NmZlNzE0NDdhIGxlZ2FjeS10cnVuaworMzUwNjQgMzg1MTQ4ODJhNWM0YzQ1ZDBkMDRmZWUxOGU4ZmY3ZDRhMjY2ODljYSBsZWdhY3ktdHJ1bmsKKzM1MDY1IGY2NjkzOWYzODUyMzVkNjY0YjY4NTk5ODc2YmM0ZDZkZjM5MTNiN2MgbGVnYWN5LXRydW5rCiszNTA2NiAwYmFhMjY2MGE1NjhiZjFmNzBiYjkzYjhhMWJlYmQ2OWVlNzQ0MjlmIGxlZ2FjeS10cnVuaworMzUwNjcgNDE2YTVkMjVjYmE2OGQyYTE3NjdjNjY2NDg5MGZlMGVjMDY2NzY0MiBsZWdhY3ktdHJ1bmsKKzM1MDY4IDc2ZWQ4YTc4ODM5MTg1NzM3YTE0MzQwMGU4YjU4NTk3MDk2OTA2ZjcgbGVnYWN5LXRydW5rCiszNTA2OSA0NzI3YzgxZGI5NDk5MDg3ZWZiOTY3ZjMwZTZhNTg1NmZiYmYyNzRlIGxlZ2FjeS10cnVuaworMzUwNzAgNmVhNWNjZjA2NWJlMDQyYWM2M2VkZjA2NTY1ZThkMGRhNGY2N2E0ZCBsZWdhY3ktdHJ1bmsKKzM1MDcxIDRhYzZhMDIyMWY3ZDRiODdkYzk3ODk5NDVmNzliZjNlZjYyZDEyMjMgbGVnYWN5LXRydW5rCiszNTA3MiAwNTQyM2MzMjYxZDQxNWY1ODY3MTQwY2ExNDY1ZTkxM2NhZWJhZjYxIHJlbGVhc2UyMy1tYWludAorMzUwNzMgZThkZmYxMWU5MzU4Nzk2NWRmNDk5NDRjODhkZTVhYjNiNmEwNDBlNyBsZWdhY3ktdHJ1bmsKKzM1MDc0IDQ5MTVmYmVjNjA4ZjRmMDM1NWRjMTg2NGFlYmU4YzA2MjhkMDI3YWYgbGVnYWN5LXRydW5rCiszNTA3NSBmZDY0OTdjZjcyMjhlODI2OThkYjQ4ZDQ3ZWE3MTgzZjA1MGEyNDI0IGxlZ2FjeS10cnVuaworMzUwNzYgMGMxZDIwNjJkZWUzNTM5MTQ0YWNiODdiMmMyY2ExOWE4ZWI2OTdmMSBsZWdhY3ktdHJ1bmsKKzM1MDc3IGEwYWUyZDlkZTY5MTExZDA2MDdmZGNjYWFjZGNhNGQxMTBjN2JjNzcgbGVnYWN5LXRydW5rCiszNTA3OCBiYjNjM2M5OGNjMWJhYmExMjkwNjMzNzM1YWE2Njk2ZTUyYTNiZDFiIGxlZ2FjeS10cnVuaworMzUwNzkgZjBlMmE4NTM2NzU5ZmRjMTIwZTQzNGU3NjFlNjljYmUyMjdkODE1YyBsZWdhY3ktdHJ1bmsKKzM1MDgwIGEwYjE3NzMyODM1YTIwYjI0OGFjODVlZmNhOTQ5MWFhNTc3OWY3MDUgbGVnYWN5LXRydW5rCiszNTA4MSBhMzQwYzUwZTkyNGEzNzRjYTE4MzFiYmQ5MGFjZTYxMTY1ZDIyMDQ0IGxlZ2FjeS10cnVuaworMzUwODIgNTU0MTJhNDNkMmQzZTFjNDIxMDZhMGU5NzRjMzgyNTc2ODMyMmNiNiBsZWdhY3ktdHJ1bmsKKzM1MDgzIGVhYTFhNGI3NDMyODdiYmNmYjZjNDhhNzUyZTIzNTg2ZGVlODFiMjIgbGVnYWN5LXRydW5rCiszNTA4NCBhMzJhYTc5MDYyNTE0OTVjNDFiMjg0MmVlOWE2MmNlMGFlZDk1NDUyIGxlZ2FjeS10cnVuaworMzUwODUgZWZlMDc1Mjg5NzkzNTBlZjVhMDdlMDUzMGYyMTBhMDU1ODQ3ZWE2MiBsZWdhY3ktdHJ1bmsKKzM1MDg2IGVkMjAyNTlhMWVhNTU3ZGRhNTE4ZDZjZDI5MGUxZmQyNTAzYzFjMTAgbGVnYWN5LXRydW5rCiszNTA4NyA3OTZjOTlmMGZhMmM2MmNjNzkxZWMzNGIwY2E4ZTFhZjFjZmJmODkxIGxlZ2FjeS10cnVuaworMzUwODggZDhjMmRiNzgyYmRmNWZmMzUyMTFhMDE1NTc4YzgzNTFmMzc4ZWIyNyBsZWdhY3ktdHJ1bmsKKzM1MDg5IDkxNDBlY2UzZGIwMzYzMzkyMzg2Mjg4ZWVjOTk2MGJhYTc1NGRhOGMgbGVnYWN5LXRydW5rCiszNTA5MCBjMDg4NTg0ZjU1MzM5ZTlhYTRhNTRmYWM2YjBmYWM0ZDM2Njg1ZDg2IGxlZ2FjeS10cnVuaworMzUwOTEgNTg2YTQ5YzJjNjQxZTUzOGU1NDdmMDIyOWEzYTQ4MGI0MDQ0MGEzMiByZWxlYXNlMjMtbWFpbnQKKzM1MDkyIDE3Y2EzNDczMDNkM2YxM2UyYzFjYTNkNTVmYTgyM2M4NDQwMjQ3NjYgbGVnYWN5LXRydW5rCiszNTA5MyAwZjM5NGY0MzlhZDZhMDRmNjMxMTdjNTc1ZDU2M2EzNjlmNmRiYzk2IGxlZ2FjeS10cnVuaworMzUwOTQgZWM3NWZmOGM3NzIxMjE5ZDNjNDJhYWVhZDhmZmE4YWJmZTc5OTkwZiByZWxlYXNlMjMtbWFpbnQKKzM1MDk1IGYxNjY5MTFmNzc4Yjg1NzFjZDEzMWUwYWFlNWRhZmIyYTgxYzQyNDIgcmVsZWFzZTIzLW1haW50CiszNTA5NiBmN2EwNWFiNTBkM2I0ZTIyNjcyMGFlNmRiNTJhMDI4ZjljZDBhNmZiIGxlZ2FjeS10cnVuaworMzUwOTcgYjJhODIwZTMyOWE5MGEzM2U1NmM4N2U2YjQ2ZTdlZGZmNTdlNGRkYyBsZWdhY3ktdHJ1bmsKKzM1MDk4IDU3YmFjYjExOWE5NzY4MjVhMmRhYWQxOGEzZDA4MjIzYThkMWM1ZGMgbGVnYWN5LXRydW5rCiszNTA5OSA5OTg5MWI4ODhjZmQyOWU5ZjBlYjUwMTg2YzM4ODc3Yjc4ZTljZTAxIGxlZ2FjeS10cnVuaworMzUxMDAgMWRmNWI2YTFkYmY2YTU0MDE0MmMxZTM2MTM0ZWIwYmI4NDc4NWJmYyBsZWdhY3ktdHJ1bmsKKzM1MTAxIGIzZDY1MzI2Y2E2NmI0NTZkYTljMDlmN2IwYzM1YTMyMmQ4N2RmNGMgbGVnYWN5LXRydW5rCiszNTEwMiBiZjM2YzExNjMzMzA3ZmQxOTZjYjI5ZjhkNjZlODAzMGUzNTcyY2Q1IGxlZ2FjeS10cnVuaworMzUxMDMgNmE4YjEyMmFlYjJmZjdhNDZiMjAxOTI0Mzk1ZGZhZTU3YzczZGFhMiByZWxlYXNlMjMtYnJhbmNoCiszNTEwNCBhNjI4NGU5ZjMwYTJlNmViMjk5ZTFiMTIxN2Q1MDMwOWRiYTIxNjIwIGxlZ2FjeS10cnVuaworMzUxMDUgZjg0ZDJiYzY4MzFkNDg2NmY5YWY0NWZhY2U4ZGY3ODAwY2MwMGEwMiBsZWdhY3ktdHJ1bmsKKzM1MTA3IDRlNDBlZmYxYWQxODZlYTI4OWM4YmQ4NmQ5MzEzOTViNDc1ZmM2NTYgbGVnYWN5LXRydW5rCiszNTEwOCBkMzI1OGY0M2Q0ODRiZjFlMjY0ZDJlNTRkODU5YzhjN2E5M2Y1Nzg0IGxlZ2FjeS10cnVuaworMzUxMDkgNjMxY2UyM2Y4OGQ2YWU1OTdlZWVkYmM3ZWY3NWFkMmExYTNhMzE1YiBsZWdhY3ktdHJ1bmsKKzM1MTEwIGYzOGJkMzkzZTk1NDc1YjMyOWUyYjU5NzBlNzFjMDRkMDJhZmY0YjIgbGVnYWN5LXRydW5rCiszNTExMSA5ZGE5NGU1NjlkNDhiYmY4MDk5OTk1ZTVkNjdlMWQzNmMxNTc1MDAzIGxlZ2FjeS10cnVuaworMzUxMTIgZmM1NzIwMGY3MGYyNGRlZTRhMWU5YTk2NmNhMmQwNmIyNjdlNzEwNyBsZWdhY3ktdHJ1bmsKKzM1MTEzIDY0YWU4MzIxMzFlMTQwNzRjYzFmNzU3YjdkMTQxNTVlN2E2ZThlNzQgbGVnYWN5LXRydW5rCiszNTExNCA0MDU1Mzc1ZGMwNWVhMjE5OGQyZWFiYzQwMjdkODM3MjIzOWE2N2VlIGxlZ2FjeS10cnVuaworMzUxMTUgNjdhMWVlYWQ3MmJhYjRiYjg3Y2Q1Y2QzYmNhOWU5MGRjZDY0YmNiNCBsZWdhY3ktdHJ1bmsKKzM1MTE2IGUyMGZjMWI4MDIwNTFhMDIwMTJkY2Q0YzBhMGY4MTExZGM3MzQ2OWYgbGVnYWN5LXRydW5rCiszNTExNyA0NmFkMjFiNWJkMzM0YzQ5NjM3NGUzNWM4NzlmN2RiOWRhMGJjMTM2IGxlZ2FjeS10cnVuaworMzUxMTggMGFhNjQ0MWM3ZmU2ZDhiZmU5ZmVjNGI2ZTY4ZDk4MDhmZjU4MTg3MSBsZWdhY3ktdHJ1bmsKKzM1MTE5IDViYmVjOGYxYmY2ZDY1MGNlZmZjZGZjNmU1NDEwMGU4MzVlYzdlYTEgbGVnYWN5LXRydW5rCiszNTEyMCBjYjkyMzFlZjNiYjkzZWFlMzFkZjNlYjQwMDUwMjA1Zjg2OTEwZTUzIGxlZ2FjeS10cnVuaworMzUxMjEgODg3Y2UzOWY5NWYyYWU5ODE4ZmRjNTlmOWRhZjdiOTYzYjkwZTNiYiBsZWdhY3ktdHJ1bmsKKzM1MTIyIDQwNjdiZjQ4MTU0ZDM3NGIxOTA0NzNlMGYwMGJjOWQ5ZTgyZWY3ZGIgbGVnYWN5LXRydW5rCiszNTEyMyBlYzBjOTA2MjEwYmZhMzIwNTM5NmNhMzNlMWFhNWU4ODAyNWRjNjIxIGxlZ2FjeS10cnVuaworMzUxMjQgYWNhMWNlMWI0YjYxNDQyMDJkNmNjZjU5ZDY5MTQ4YjZlMmU0YzE4MCBsZWdhY3ktdHJ1bmsKKzM1MTI1IDkxNjlkNzllZDMwNDhlMDgxMTcyOGVkMDJkYTMxOGU5NDk1NDllNzAgbGVnYWN5LXRydW5rCiszNTEyNiBjZWY2MTNkOTA0OTU3Y2ZiZWQ4ZjQ5OGIwZDRiZmU2YTVmMGQ5NzJjIGxlZ2FjeS10cnVuaworMzUxMjcgYzliZWQyMDA1MDBlNGY3NzA0ZWEwNGQ5NjgwZWQzM2RhODcyY2QwZCBsZWdhY3ktdHJ1bmsKKzM1MTI4IGM4N2E3ZTgxM2E5OWY2M2RlZmVlN2M3Yjg3NTRmNGFlMTljMzhhODAgbGVnYWN5LXRydW5rCiszNTEyOSAzOGRjZWMyZjdiMDM0NDRhNTAzMzhkZjk1YjE2M2Q5MmFmYjY4ZTY2IGxlZ2FjeS10cnVuaworMzUxMzAgM2FhMjBhODJkZTg2N2Y2MDU1MTM0ZWIwMDUyYzc5MjM1YzMwMzM1YiBsZWdhY3ktdHJ1bmsKKzM1MTMxIDQwZDcyNTA3N2RjYjBkNDhmOWRkMTRiNDkwMDQyYzg1MWE3NTQ1ZjEgbGVnYWN5LXRydW5rCiszNTEzMiBiOTA1N2E2NzYzZDdkMDEzYzhiNDY4ZTdlYWQ5ZjRjYzgzMjk5NjU0IGxlZ2FjeS10cnVuaworMzUxMzMgYjNkN2ViYzEzZDdkNWVlZTBlNThmNzhlMjIzOTZhNGI5NWJlNGY2NiBsZWdhY3ktdHJ1bmsKKzM1MTM0IDBmY2U1YjE3M2E3NDAyZWViMGU2NjAzYmJkMzc5Yzk0MTc0OTYwOGUgbGVnYWN5LXRydW5rCiszNTEzNSAyNWE4MDE2NGNjN2FmZWY0YWFlZTRhNGQyYmNmMjI3ODlkYmFmMjEzIGxlZ2FjeS10cnVuaworMzUxMzYgODk3ZGU5MjA4MTk5Yjk2ZGQ2YjExY2QzMDE1NWRiNDgxMWE2Y2ZmYiBsZWdhY3ktdHJ1bmsKKzM1MTM3IDEyY2MzMzY4MjhlOWIyNzE5NTZmNThiYWVkOWUxZTE1NmU2ZTY4YzQgbGVnYWN5LXRydW5rCiszNTEzOCA5MDA1ZjI2NjJhNzBlYWIyMmNhNTA5M2Q2ZWQ1MDI5N2U0ZmMyZjZlIGxlZ2FjeS10cnVuaworMzUxMzkgNzQwN2EyNDZkYmUwMmY4MGM5MTg2ZWYwODA5NDRiZTFhYTg5OTk3ZSByZWxlYXNlMjMtbWFpbnQKKzM1MTQwIGZmOWE1NDk1M2MwYmZlYTc3ZTUyZDA0MzkwNTFlNDk1MDUyM2M5OWMgcmVsZWFzZTIzLW1haW50CiszNTE0MSA2OWEzNjVlNDdhYzBhMjA5NjVjODA1NzQ3ZDJlMWY3ODIyNzVjOGZiIGxlZ2FjeS10cnVuaworMzUxNDIgMWRjNTQyMjVhNGMyMjg5OWE2OTY1OTQyNjQxNjRiNWUzM2Y2NzU0OCBsZWdhY3ktdHJ1bmsKKzM1MTQzIGU3MTI0ZTI2OTI1ZjY0YjVkYjMxYWM0OTJmZjkxZTNkYmMxYTY1N2MgbGVnYWN5LXRydW5rCiszNTE0NCA2OTAxMDVmZWE1OWQzOGZlYjM0MDMxYTliYTY5NGQ0Yjk4YTFlOTIyIHJlbGVhc2UyMy1tYWludAorMzUxNDUgNmUzNzU4ZWQxZWY0MTJhOTJlMTZkMTVmYmZlNjA2MGIyOWZiYTk5ZiBsZWdhY3ktdHJ1bmsKKzM1MTQ2IGJiYzk0NGUxZmVjY2I2MTFhOTQ3YmM4OWNkOGJlMWYxZWEwNjg0MjYgcmVsZWFzZTIzLW1haW50CiszNTE0NyAyNjZmMjI2ZjQ3MWQwNDY1MjU5ODcwYjkzOGRlYzA4M2JlMDIyNjJlIGxlZ2FjeS10cnVuaworMzUxNDggZWM4YTQ2ODViMzYwNjY2ODcxZWVlZDc4Zjc1ODVlYjU2MWQ4MWQ5MiBsZWdhY3ktdHJ1bmsKKzM1MTQ5IDE0ZGVhNmY4YjBjMzQ0ZmVhNWM5MWU3NjdmODY3N2MzMjAwMGE4NzMgbGVnYWN5LXRydW5rCiszNTE1MCBjMzgwZGMyOTMwNGFlMWIzMWI4ODM5NTM5Y2JjYWY3ZGJmYjE3Yjk5IGxlZ2FjeS10cnVuaworMzUxNTEgZjdmNDJmM2MzZmI0NzU3ZWI0NjE5MGViNWU0YjdiNTI5MTc0ZjhiOSBhc3QtYnJhbmNoCiszNTE1MiBhMTUxMTUyOTBlMTNiMjhmYzhhNjM0MTgwYWM1YmZiYTdkMjRlMDM2IHJlbGVhc2UyMy1tYWludAorMzUxNTMgN2ZjYjM1NTUyZDUzYTM0YTA4N2FjMmMzYjIxNWJlODM0YjYwYmUzZCBhc3QtYnJhbmNoCiszNTE1NCAwMzgwODc4ZjNkYjU0OTMxNDlhZTRjNzI5MWE1YTE1YzczMzgxMDgxIGFzdC1icmFuY2gKKzM1MTU1IDYwM2E5ZWFhNzRlMTU1ZDhkZmE2OWIzNTdlMTBlNTBjZTlkY2M4MzIgbGVnYWN5LXRydW5rCiszNTE1NiBhYzRhN2JhNTQ3OTI5MDRhZDgyN2YyZTk4NjczZjljZjgwOWZmNDEwIGxlZ2FjeS10cnVuaworMzUxNTcgYjFkYzVlMTE0OGVhMzRlZmE1Y2Y3YjdhOGZiMmU2ZTRlZmQ1ZWNmZiBsZWdhY3ktdHJ1bmsKKzM1MTU4IGJlNTZmYzQ4NWUyNzBkNmUyNDZmZWVkODE3OWZmMjMxOGM1ZmMzZTEgbGVnYWN5LXRydW5rCiszNTE1OSA3YmU1NTM4MDU5NDkzZTYzZmE4ZDE2ZDU1OWI3ZGJmOGVhNzY2MWYyIGFzdC1icmFuY2gKKzM1MTYwIDU2MWZlN2Y2NjUxNWUwOWY5MDEyMTAyNGNhNjBlOGI4NzkwZjk3YzcgYXN0LWJyYW5jaAorMzUxNjEgYzRkM2U3YTFmZjg2OWYwZmE2NWViZDBiMGNjYTljZWFhYTMzNjZlZiBhc3QtYnJhbmNoCiszNTE2MiA2MWEyMGRmNGIwZWY1ZmQ3OTNmYTk4YTBjOTUwMjE4MzA4MzQ2M2Q0IGFzdC1icmFuY2gKKzM1MTYzIGI4MTQ4MGY3Y2ZmZTYxOWE5NDE3ZTdkZjA4ZmIzM2Q5Y2QyODRmMTMgbGVnYWN5LXRydW5rCiszNTE2NCAxODYzMTljZmY0YjIyNGU0MDM3Mzg1ZDVmNWY2ZTA4ZGZmMDgxYzBkIGFzdC1icmFuY2gKKzM1MTY1IDdjODhhMDY5YTE0MzlhMDllM2Y1ZGVmMjc3ODY0ODk0ZTZiODY1NGMgYXN0LWJyYW5jaAorMzUxNjYgOGI2MDg0ODQ4ZGExODlhMGM2NzliZmY0NDA5YzQyNGYwZTQ0OTBjMyBsZWdhY3ktdHJ1bmsKKzM1MTY3IDY2YTQyMzBmOTQ1YjE0OGViM2M3MzVlMGQ0ZDc2MWFjOTliOTU0NjYgbGVnYWN5LXRydW5rCiszNTE2OCA4ZjQ3MjgxZmVhN2JlYTRjOTU1ZjgxMTQ4NWJiZjAzYmQwNmMyOTQwIHJlbGVhc2UyMy1tYWludAorMzUxNjkgNDYyMjQ2OTBhMzY1NWE0M2RkYjlhZjM0YWQ2YTRmNjIxMzAzY2YxNyBsZWdhY3ktdHJ1bmsKKzM1MTcwIGYyZmQ0ZTVkZGYxOTVhYzIzMzVkMDI1MzgzM2QzYTZlYTdiNDU5ZGIgbGVnYWN5LXRydW5rCiszNTE3MSBlNGQ3M2VlOGQ0ZTE2YmE0YzRhODE5NjZiNjAzYTdhZjcxOTMyOGEzIGxlZ2FjeS10cnVuaworMzUxNzIgOGQwNmMxOTJmMGU2ZDNlYzlkNzBiYWEwOWQwYjQ2NWYxMjM0Yzk0ZSBsZWdhY3ktdHJ1bmsKKzM1MTczIGFkYjZkZmZkOGRkNTMxNGI0NTMxNDYxNTgwNzQ1NTliYjYyYzUyN2UgbGVnYWN5LXRydW5rCiszNTE3NCAxZWJkMDYyNmQxNzYxMDgzMjliNzAxNTcyNGZiODdmZDIyZWY4NGRiIGxlZ2FjeS10cnVuaworMzUxNzUgMjg4MGNlYjgxMTlkYzFiNTI1ZTM1MDUzZDk3MzE4ZTMwZGVmNWI3ZSBsZWdhY3ktdHJ1bmsKKzM1MTc2IGU4Yjk2YjJiZmE3YjIwZmNkODE3NzQ3YTEzMjgzN2NjZGJjOGRhMWQgYXN0LWJyYW5jaAorMzUxNzcgOGY4YmJhMGE3NWI0Y2QwODI2YTVhNTc4M2UzOTMyNjFlNGRkNGNhYSBsZWdhY3ktdHJ1bmsKKzM1MTc4IDRlN2NjNTBiMzBhMTY0MzhmNzE0YjRiMzZkYWNiNmVmYWI0YTRhYjkgYXN0LWJyYW5jaAorMzUxNzkgNTAxZGFhY2NiZmUwY2I2NGNiYTBhOTRjM2ZjZGEwZjAwYzBjNDRmNyBhc3QtYnJhbmNoCiszNTE4MCBkNjY3ZTMzZTAyNTIzZmI3YjBkOWRiMzEyMDhkMDZmMWZiODVhM2ZlIGFzdC1icmFuY2gKKzM1MTgxIDY1Nzc4MzUyMDY2YmY5NGYwODg4MGVhZmNhNzRjOGYzMTgxOWU4YmIgbGVnYWN5LXRydW5rCiszNTE4MiAzNzQ2OTc0NzhiNWFjMDJlNjBhYmI1ODNhOGVkNmYwNTI0ZmQ4ODc1IGxlZ2FjeS10cnVuaworMzUxODMgZjc2ZmViNzNhMGU0NzE2OWEzNjE1YjkyOGQ2MGQwNmQ5MDhkZGM2NCBhc3QtYnJhbmNoCiszNTE4NCA2MzA4YWRmMTcyZjQ4MDM1MDcyNGVmYTA3NTZmYjFjMzlkYzRiYjAwIGFzdC1icmFuY2gKKzM1MTg1IDk1MjUxNzc5OGNiNWQzMDM2NmY0OTUzYjExMjZmMGViNzc5MDM2ZGYgbGVnYWN5LXRydW5rCiszNTE4NiA2M2ZhNjBmMmQ2MWNhODM2YjVlMmQwOTU5ZGVkMWMwMDI4MTk0YWVkIGxlZ2FjeS10cnVuaworMzUxODcgNGE5ZTU2MzY4YzY5MDRjMzkyNTFjODJiYTcwMWViODAwMDNmNmZjZSBsZWdhY3ktdHJ1bmsKKzM1MTg4IDNjNTdhMWMzYTg3YWVmMTM4ODU2NGY5MDU5Y2I0YTg3ZjE2MjNjNzggbGVnYWN5LXRydW5rCiszNTE4OSAzYzI2NzdjNGEyYmYzNjllODFmYjZmYWY4YjEzZGM2NGQyNDQ0ZmIyIGxlZ2FjeS10cnVuaworMzUxOTAgMTZiMzE1ZGYxM2NlNDhmN2IzYWNiZDVjY2Q2ZWViZTBlZjg0YzUzMiBsZWdhY3ktdHJ1bmsKKzM1MTkxIDQ5MzcwNzY5MjY3MTk0Yjc2OTE5OTg1NGE3ZjVkODE2ZjFkYWY4ZTIgbGVnYWN5LXRydW5rCiszNTE5MiBhMmZlMWEzNTgwMGEwNmQ0NzdkMjUwYzI0MzYzZDk4MDBmYWM3MWFkIGxlZ2FjeS10cnVuaworMzUxOTMgYWZiNGM5NzI2ZDFhNDVhMjMxZDRmY2VkOWQ1NzczZGIxNWRmZTI5MyBsZWdhY3ktdHJ1bmsKKzM1MTk0IGEyODI4MDFiMDZiNjQ4ZGYwYzhjYzQ2MDEyMjg1YTdhYmZmYmM2OWUgbGVnYWN5LXRydW5rCiszNTE5NSAxMjE5ZjExNjJkMWQxYTk1ODk3MTM0ZjVlNjQ5NjUxZGJmZTJlOGYwIGxlZ2FjeS10cnVuaworMzUxOTYgOTdiY2YyZTg4Y2ViODkxNmFjOGM1MDM4OTg4NzI5ZWNiMzkwNWNkZSBsZWdhY3ktdHJ1bmsKKzM1MTk3IDE2ZDI2OTg2NmE0ZGFmN2JiMmJlYTMxZjIxNWUxZjZmODk3MWI2MDQgbGVnYWN5LXRydW5rCiszNTE5OCBkZmMxODE5YjRlYjQ3MzJmOWExNDg3NjU1YTI4MzQ1OGQxYzMwYTAyIGxlZ2FjeS10cnVuaworMzUxOTkgYjRiYzgzZjJmZDA0ZDlkMjExYmY3MmI4MWIwMDgyZjdkNzg1OGIzYSByZWxlYXNlMjMtbWFpbnQKKzM1MjAwIDkyNTY1Y2NjZTkyYjgwY2FkN2EzNWZjNDc2ZTMwZmI5Nzg5MGQ3YTEgcmVsZWFzZTIzLW1haW50CiszNTIwMSA2NmE1NTBlOWIyZmI3NWMyZTIxMjM2MWVlMDk4NGU5OGZkYzUwYjhlIHJlbGVhc2UyMy1tYWludAorMzUyMDIgYmI3MTQ2ZDExN2ZiZDM5MGJhNDhhMjFhZmM3MDc1ZmFlMTc2NGVlOCBsZWdhY3ktdHJ1bmsKKzM1MjAzIDNjYzNjYjc5MDQzZjcyMTgwMGJmYmIxMzcyMmQ3YWJjMTE5N2MwMTggcmVsZWFzZTIzLW1haW50CiszNTIwNCBkNDE2NWQxMmY3M2MxOWY5NjUxZWI5YWVhOGZjNzhmNTRiOWQyZDk1IGxlZ2FjeS10cnVuaworMzUyMDUgMzdkNTAxYjllMmQ1YmIwZjgyNGI2YTc1YzhlOWYzYjY4NGJmMTBiYSBsZWdhY3ktdHJ1bmsKKzM1MjA2IDU2NjczN2JmYWVjOTUwNTRiZGY0NWYyMjA2OTI3NjQ3ZTY5ZTgxODAgcmVsZWFzZTIzLW1haW50CiszNTIwNyA4YWU4OGRiNzg0M2MxZjBjMGE2ZTE4YTAyYjgwODNlY2I5MmY1YjA5IGxlZ2FjeS10cnVuaworMzUyMDggYzU4MjRjOGM2YmE3MjI3NTc3Y2EyZTk1OTEzNDBlYmIyM2Q0OTZmNSByZWxlYXNlMjMtbWFpbnQKKzM1MjA5IDAzMmNiMTdhYzJkNmNiZmI3ZmZlNGQzNjUyMTliNzk1YzRiNDBlYTQgbGVnYWN5LXRydW5rCiszNTIxMCBjYzEwYjAxMGY0MGJhMWU0ZTI1OTRlZmM0NWY1YzViNzdlYTM3MGRiIGxlZ2FjeS10cnVuaworMzUyMTEgNDIwMDNjODYwMGY0ZDNlMzdkMTdmZjQ4NzA1YmY4YzBmYTZjYTViZSBsZWdhY3ktdHJ1bmsKKzM1MjEyIGQ1YzA0NzgwN2M2OTdiMzQxY2NjMzUxNTcwM2Q0ODEzZjdjMDk2MDIgbGVnYWN5LXRydW5rCiszNTIxMyBhNTc3NDEwZTVhNjBmZGU3MDQyYmZlNzI5NTBhZGY2MzQ5MGIzNDk3IHJlbGVhc2UyMy1tYWludAorMzUyMTQgYWFiZDliNTRlNDY5ZWY4ODEwMWM1NWU4NzJmYTI0ZmRiZDk4OTc4OCBsZWdhY3ktdHJ1bmsKKzM1MjE1IDg1ZjQ5MzJkOGZmZDk5NzAwNTU3NDNiZDE2MWU0YTg0ZTFlZWM2ODUgbGVnYWN5LXRydW5rCiszNTIxNiBmMDRjY2MyODg1NDJiNmRiNjIzODVmNTY2MWJhNjE2NDg1ODI2ODNhIGxlZ2FjeS10cnVuaworMzUyMTcgNDRkNDQzOGVkNTdhNWE2ZThjZTAzOTRiNDU4MWZkZGRmZDZjZTk1NCBsZWdhY3ktdHJ1bmsKKzM1MjE4IGRlMmVkODAwZmE1MGZhNTU2NzMzYzllMDI1ZDMzMWZhMWI1M2VhYjUgbGVnYWN5LXRydW5rCiszNTIxOSA4NDk1YjAyN2JjZTM2NjA5OTI1NGEyN2IxYmQ4ZDI0NTU1YmI4MGJjIGxlZ2FjeS10cnVuaworMzUyMjAgNjZlNDNmMjUwNDZkYTVlNzA1M2JjMGM2OWIwMGI0ZjhkMTk4NjQ5YiBsZWdhY3ktdHJ1bmsKKzM1MjIxIDFkYzk2ZDg3OTc0ZWI2ODhiMjBlMTJkYmI0MTc5NTcwMjU4MmJiMjYgbGVnYWN5LXRydW5rCiszNTIyMiAxNzRkY2YxNzFkZjUyYzNmNTMyNDFhMDUzYmY1YjBiMmI0ODFkYTc0IGxlZ2FjeS10cnVuaworMzUyMjMgN2IzNGQ4NDljMjI5MDA2NWQwOTNjYWU5ODNkN2JjNzAyNGVlOTY4MCBsZWdhY3ktdHJ1bmsKKzM1MjI0IDNjZTRmZmFjMjdhYjQ0YzJhMTllMGE1ZTMxYmMyZDg3ZTYwNGVlOTggbGVnYWN5LXRydW5rCiszNTIyNSAzMDhjMTkzZjUxZTMxNzg1NmNiMWJhZDQyYjZlZDBhNGY0NGUxOGYyIGxlZ2FjeS10cnVuaworMzUyMjYgMjViMzA0MzlmZTIyOWYwMDI2ZTRkN2Q2MzIzZTZlZmMxMDE4ODE1NiBsZWdhY3ktdHJ1bmsKKzM1MjI3IGJhOWFhZGRlYjk1Njg0N2FkMDY0ZWMzNmMyNDY4ZGJkMGFlYTNkNzEgbGVnYWN5LXRydW5rCiszNTIyOCBmMzBhYWFjMDAxOTVlODc2NTMyZjM1M2EyZWUxZDkzZDhmNTE0NTJhIGxlZ2FjeS10cnVuaworMzUyMjkgNTczYjA4OWZhYjcxZDNlNjI1YmU5MWM4MjYzMjMzZGZlMzhhNGM4NSBsZWdhY3ktdHJ1bmsKKzM1MjMwIDkxYWY2NWI5MzJkNjIyODg3YmRiMGQ2YTFkMDQ4Mjg5Y2VhMTM1NGIgbGVnYWN5LXRydW5rCiszNTIzMSBkNWI0YzQ0Yzc2Y2UwNmE4NGNkNTJkY2RjMmUyZTJlN2E0M2E3Y2I0IGxlZ2FjeS10cnVuaworMzUyMzIgZDk4NGIzYmQxY2ViMWEwZDJhY2FjYmQwYzczNDE4ODE1NmM0MzZhMiByZWxlYXNlMjMtbWFpbnQKKzM1MjMzIDY1ZDI4ZmZmMTE3MmUxNWY3N2Y4NDU3ZmFhNzRmZWNkNzFmNTZkYTQgbGVnYWN5LXRydW5rCiszNTIzNCA1M2RmZjYwZjU1MDg5YmFjM2ZkYmRkNzI3ZGQ2ZWI0NTg4NTQ2YTkyIHJlbGVhc2UyMy1tYWludAorMzUyMzUgZTE3OGViNDNlZmRkZWU5YjliMzFkMzJhZTIwMmRlMWY4ZTdhMjExNSBsZWdhY3ktdHJ1bmsKKzM1MjM2IDcyNzEyMGZiMDM2NTJkYzI4MTFhNjViZGE1YmU2ZGViZTljYTFhMDYgcmVsZWFzZTIzLW1haW50CiszNTIzNyBmNTdmNWNlMjJjOGRjOGQyMTM1Yjk3OThkNzliN2FmYzRhOTgyMjA0IGxlZ2FjeS10cnVuaworMzUyMzggMDhlYzRkYjUwNjRlYjZhMjVkNGU4MmIyNWJkNzY5YmM3ODMzNTg4NyBsZWdhY3ktdHJ1bmsKKzM1MjM5IDg5ZjkwNzBkYzFiYzBiYzEwOTI5MWIzMzVlNjNjMzYzNzU1YTVhZTcgcmVsZWFzZTIzLW1haW50CiszNTI0MCBmZDJkNjRhZjI2NDBhYjYxM2M4MTBhYjMzMTBkNzNiZDZiZDI3MTMyIGxlZ2FjeS10cnVuaworMzUyNDEgZGI0ZGE5M2YwYmEwZWU0YmUwZTE3YTFiMmVkNTQ4NDQwZTRhZWZkNCByZWxlYXNlMjMtbWFpbnQKKzM1MjQyIDhlMjE4Y2M4ZWRhYjJiZGRmZTE5M2QwM2I5ZWI4MTUyODkzNDNhMDkgbGVnYWN5LXRydW5rCiszNTI0MyBmZWFiZTJmZjBlMWUwOWQyYTNkMmViYzczMGYzOGIyNzBhN2U3ZTU1IHJlbGVhc2UyMy1tYWludAorMzUyNDQgNmE4ZThhMTNjNzQ1NWZjZjdhOTA1MDM1Y2I1NmMwZGMzYjkzYTE5YyByZWxlYXNlMjMtbWFpbnQKKzM1MjQ1IDRjMTJkM2IwMTY2ZmNiMDIxMzljYTc3MjQxMzEyYTVjOTBlZWYwMTUgcmVsZWFzZTIzLW1haW50CiszNTI0NiBmZWY5ZjJhNDFjMzRjMDM3NjBmNmYzZGQzNzlhM2ZjMGVjYTcwY2ViIGxlZ2FjeS10cnVuaworMzUyNDcgMmI3ZTA4ZGNhY2IxNGM5Njc4MzMxZWI4MWZhMTQ3YWI2Y2QzZDI3YyBsZWdhY3ktdHJ1bmsKKzM1MjQ4IDUxYzNkNDUyYWYyZjJjZmI4YTQwNGQ4NzMxODI0MWE0NzA4ZDI5NWIgbGVnYWN5LXRydW5rCiszNTI0OSA3NWRjZjI2NjZkNTQ0NjA5MzhiNTdkMWE3NDg1YTcyM2Q2MjQ2OTM1IGxlZ2FjeS10cnVuaworMzUyNTAgNWQ5YTNkNzZjOTRlNjAzNjJmZTRhNTIwMTRiOTE0YzM2NGI4ZjAwMiBhc3QtYnJhbmNoCiszNTI1MSA4ZjA2MzIwMDk4ZGQ2MDQxM2EzMGM2MTNhOGE5MmFmN2QyZWNjNGI5IHJlbGVhc2UyMy1tYWludAorMzUyNTIgMTRmODYwYjAzYmUyNzNhYTljYWMyNWYxYTEyNjNkYmNlNjRmMTAwMCBsZWdhY3ktdHJ1bmsKKzM1MjUzIDU5NTM4ZDNiN2NkMmQ1ZDNkMmUxM2I1MjY0NmY3Y2M4ZWY5YjFmMjQgbGVnYWN5LXRydW5rCiszNTI1NCBlYjQ4YjI1MDNmMjAxZDQ0YjRhZGU2NGZjNmQzYTIwODRlYjVhOTY5IGxlZ2FjeS10cnVuaworMzUyNTUgMmFiYzUyYzNkNGMyZmNlYWMzNjVhMWQ4OTU2ZThmZGZlODliZGEyMCBsZWdhY3ktdHJ1bmsKKzM1MjU2IDFmNWY2Y2NhMmYyMTBkMTA4YzdmZDE4ODE5YWQ4ZTRiNmVhNzMwM2UgbGVnYWN5LXRydW5rCiszNTI1NyBlYjY5ZWVjYWI0YzdiNmMwYTE0NDE1MWI5MDYyMzA3YWQxMzk1YmE3IHJlbGVhc2UyMy1tYWludAorMzUyNTggMzU0MTI5MTQzODA5NGNmY2ViMGNkNjc0OGQ5NzQ1OGJlMzliYTU3YSBsZWdhY3ktdHJ1bmsKKzM1MjU5IDcxODY0ODIwNDAyZDY1NjlkZTRlYzdkYzc3ZDYyMWEyODNlOGU1ZWUgbGVnYWN5LXRydW5rCiszNTI2MCBjZTU4ZDFjYzZmNDA1ZjMzMTkxNDhmYjcwNjM5NzQxZDJkYmJjMWFmIGFzdC1icmFuY2gKKzM1MjYwIGNkYzY2MjkyZTU1ZDM2OWU3NGI0YjMyMjZiY2RkODI3MWNlNzA4YTMgcmVsZWFzZTIzLW1haW50CiszNTI2MSAyMjE5OWVmNjRmZmEwNDUyYWZmMmI2OWFmNzk5ZWFjNzk0NmVmYjM0IGFzdC1icmFuY2gKKzM1MjYyIDEwNmZhOTRiNDJkZTBjOTA1YTBmZmM0YjAwNWJjNWIyODJiMWEyODIgbGVnYWN5LXRydW5rCiszNTI2MyA1YTQ1YjVjMjM3MWU4ODUxNTRjYjc4MTkxYzQ0MTM5MThhYjQ0OGYxIHJlbGVhc2UyMy1tYWludAorMzUyNjQgZWFlZWE1ODdmOTBhMjk1NTZmZDMyNDFlMDJiNjQxYmZiMDJjZWJkNiByZWxlYXNlMjMtbWFpbnQKKzM1MjY1IDViZWRiYTU1YmEwMzdmZTJjMmYzOGI1YWJkMDRjZDZhNzJiZDYwOGMgbGVnYWN5LXRydW5rCiszNTI2NiA1NDUyMjlkZmQ5MDk4NTg3ZDQzYjM0MWE3ZWNhYTgwYTFiMDI2ZmY1IGxlZ2FjeS10cnVuaworMzUyNjcgNzFhMjk0YmQ3OTUwOWNkNDIwOTc3OTdlMzlkNjAyNmVmOTAzMDU4MSBsZWdhY3ktdHJ1bmsKKzM1MjY4IDliM2RhZWNhYWYyNTQ0ZDljMWUwZjBjNTg1YzM1ODkwYzYzMWE2OTkgamltLW1vZHVsYXRvcgorMzUyNjkgMTU2MDBhMjM3NDkyYTNmZGQ1MTZhMDk5NzIxNWYzZDYwYzY1ODBjZSBsZWdhY3ktdHJ1bmsKKzM1MjcwIGVlNDRiZThlMTlmY2M5NGEyNjJmMTQzMTdhNzZkMjA2Yzk2MWIyNTAgbGVnYWN5LXRydW5rCiszNTI3MSAyZTYyZmM5NzhkOGFlOTdjM2VjNTYyNTBkZmUxZmZkZWFhMDAyMzVhIGxlZ2FjeS10cnVuaworMzUyNzIgYmQwYWNjNDI4MjllZmU0Mzk3YWM4MmRhNDdmYzI4NTJkOGNlYThlOSBsZWdhY3ktdHJ1bmsKKzM1MjczIDU4ZDVlZGU1ZjRjZTJkOTc4N2M0NTA1M2MyODRiNTcxYzdmMWYwYTYgbGVnYWN5LXRydW5rCiszNTI3NCA2YjdiMmM2MmFiMTI2MDg4NDFmMjU5MGVlOWViMzEzMjMyMDcyZWQ2IGxlZ2FjeS10cnVuaworMzUyNzUgMjM5NDQzOTMzMzI0YjAyM2Y3Y2UxOWQ2ZmM5ZGJlNGU5NjhlMGM1YiBsZWdhY3ktdHJ1bmsKKzM1Mjc2IDc2YzgxMzg5NGVlNmYzMDU1NWVlZTlmNWM1NjliOTA3OTFkYzA1NDEgbGVnYWN5LXRydW5rCiszNTI3NyAzZDkyN2UxYzc4Yzg4NGQxNjdjNmYyYzI0YTU1MjRiZjVlYmJkN2Y4IGxlZ2FjeS10cnVuaworMzUyNzggNGVmNTY4YzY1M2Q5YzZiY2Q4ZGFmNjA3NGVjOWI5ODZiZTE0MDY0MyBsZWdhY3ktdHJ1bmsKKzM1Mjc5IGNlMDEwNmRmNmE2YTYzMjVlMzRhOWZkMWU4YjNlZjJhMjk1Njk3ODYgbGVnYWN5LXRydW5rCiszNTI4MCAyN2JmMDViMmE0ZjllM2I2NGRhMmEyM2NjYTcxYzQwYWY2NDNiMTY3IGxlZ2FjeS10cnVuaworMzUyODEgMTIzM2JkOTVkYTFhOTNmOWUyZmNlZWRjMWZhZjRhNDViYWRhZDlmNCBsZWdhY3ktdHJ1bmsKKzM1MjgyIGJmYjQwYTAzY2MwYzAxZmRjODBhZTFhOWQ4Nzk4ZjQ1NWUxZTZiMWUgbGVnYWN5LXRydW5rCiszNTI4MyA5NWEzMmM3ODY3MmRiM2UyY2JmODA5NzIxNjE4ZmFhMGU4NGRmN2NlIGFzdC1icmFuY2gKKzM1Mjg0IDM1NDk1ZDM2ZWM5NTdhYzY0MDNmYTMwMzBiNzA4YTg1NThmYTcxOTUgYXN0LWJyYW5jaAorMzUyODUgOGQ0OWMyOWU5YWMxZTgxYTExN2U0NWI5YmQ5YzYwODFkZmY3MWI2YyBhc3QtYnJhbmNoCiszNTI4NiAzYmE0ZWE4ZmNlM2U1MDFmMzExZmFlZmMwMDYxZjM1MTRmZGFmNjI2IGFzdC1icmFuY2gKKzM1Mjg3IGZhOTgxMzUwOTc2Y2JlZWU1ZTZjODg5YWEwNjU3YjM4ODg3YTJmMjMgYXN0LWJyYW5jaAorMzUyODggMjVhMzVkOGY0MDgzN2MwM2JmZjUxMTg2ZGUxMzEzODQ1MDVlYWUyMCBsZWdhY3ktdHJ1bmsKKzM1Mjg5IDc4MzYyYWFhNDkxZGZmZTdhMmVjYTdhMWU5Nzg3ZTgyZDhjMDdhZGIgbGVnYWN5LXRydW5rCiszNTI5MCA0MjdlOGJhYTcwNTc0YmUyZTE5YTAyYWZhYTQ1YjM0ZWFiYWMxOWM5IHJlbGVhc2UyMy1tYWludAorMzUyOTEgMzVjMGFjOGUwODcxMzVmNWM1NTk2ZDY2MDkyM2QyNmJjMGMzYmY4ZCByZWxlYXNlMjMtbWFpbnQKKzM1MjkyIDVlZWVkNTFlODJjNGRiMWMyZmEyNWVmMWEwM2Q2OTkzMTM1ZTczMWYgbGVnYWN5LXRydW5rCiszNTI5MyBmNmQ4Y2ZlN2MwMDA5OTZkMjI5NWQ0NGVkZTZlYjhkMzMzNjk3MDJkIHJlbGVhc2UyMy1tYWludAorMzUyOTQgN2MwNTJiZTQwMTY5M2I2ZTM3MmNjMTVhODliMmMxOGFkNTAzMmNmMSBsZWdhY3ktdHJ1bmsKKzM1Mjk1IDY0YzA4ZGI4ZGNlNDQ2MGVhMGJkNzQ4YWUxMzRjOWEyNDM3ODY3NjUgcmVsZWFzZTIzLW1haW50CiszNTI5NiA3OWJjNTZiZjkyMjA3NDdmN2U5OWI2MGNjYzY0Y2QwNDhkMWFmMDJmIGxlZ2FjeS10cnVuaworMzUyOTcgYjBjNmY3YzVhZGU2NWE0ZjQ1ZTUwN2E4MzI1MDhjYzgwZGEyZTk5OSBsZWdhY3ktdHJ1bmsKKzM1Mjk4IDlmNDVhMmQzNjY2ZGU3ZGRhZDQxYjBkNzhjZDNhOTY5ODk2YzZhMDUgcmVsZWFzZTIzLW1haW50CiszNTI5OSAwYTMzNGIyMjZmM2EzMTFkN2IzMTg3MjRjMmI1Zjk5Zjk4YjczYTRlIGFzdC1icmFuY2gKKzM1MzAwIGVjNjIzMmVkOTExNTI1YmU0NDRhNzRlZGRkNWQ5YzAyM2E2OGIxYWYgbGVnYWN5LXRydW5rCiszNTMwMSBkOThkMDI1NWJiMGZmZDhlNGUwMzdjNzUxYmNjNzJmOTkwMmI5MzlmIGFzdC1icmFuY2gKKzM1MzAyIGFiMzM5ZDgwYzljOWFmN2RiOTE2YzZjOGY4OGM2ZWUwYjU2Y2M5ODMgbGVnYWN5LXRydW5rCiszNTMwMyBhNTQ1N2I2MjAyMjY1OGE5ZWY4ZDg5MTZiYWEyYTNhZjFjZTNjZmQ3IGxlZ2FjeS10cnVuaworMzUzMDQgNzJlOTcwYzBhY2NjMTIyNWQ4NDU2ZjMwYzgxYWUxZGJjMGYxOGQzOSBsZWdhY3ktdHJ1bmsKKzM1MzA1IDM5MTAxMTg0MGEwM2Y3NjczODZkMDc0MzVhNTZkOTUyYzViYTViYTUgbGVnYWN5LXRydW5rCiszNTMwNiAyYzhhNDMwNjNkODJjOGRjZGJmNTMxM2VjMTRjNjAzYTIzOGM3NDlhIGxlZ2FjeS10cnVuaworMzUzMDcgNDcwZjk1YWQ2NzUwN2RiNGY1Y2I0YzM5NDA3MjUyYTNlOTgyYzc0OCBsZWdhY3ktdHJ1bmsKKzM1MzA4IDk3ZWJlNDAxNGVkYzljZTA5YTdmOWFlMWE3MDljNDQ0NjU0Zjk5OTggbGVnYWN5LXRydW5rCiszNTMwOSAzZGE2YzJhZGFkMzQzY2M2MDkwZDUyN2ViMTk2MDI3ZTU4MTg1MWJmIGxlZ2FjeS10cnVuaworMzUzMTAgYmRmMDA2ZGVlNjk4NmI4MDVlZmNiOWM4MDFiNTdkZmY4ODQ4NmIyNiBsZWdhY3ktdHJ1bmsKKzM1MzExIGExNTdjYzIwZjFiN2RiNWU3ZmFhZTZmZGVkN2IyZjEwMGFiNDg0OTYgbGVnYWN5LXRydW5rCiszNTMxMiAyMjYzMjUwZDdiMmZkMzAyNTY3YTRkNTFjZjhiYjQ0MmVkMjQyNzJjIHJlbGVhc2UyMy1tYWludAorMzUzMTMgYTZkOGQ1YWNlNmE3OGQ1NWM3NzkwY2Y4NGJiY2IwZDg1OGMzOWVkZSBsZWdhY3ktdHJ1bmsKKzM1MzE0IDM4MjgzMzlhZGY4NjdjYWU2ZjFiZTI2ODNjNWZjYjRhZjQxYmRjYjQgbGVnYWN5LXRydW5rCiszNTMxNSAxMTlkMDE4MmJkNWU0MzM2NGMwOTQ0MmZjZDhiZDQ4YzMwNmI0OTBmIGxlZ2FjeS10cnVuaworMzUzMTYgYzMwM2VjMDE5Y2IyYzhkMTA0MzAxYTYwNzczODI1NzE3NGEwNmEyMiBsZWdhY3ktdHJ1bmsKKzM1MzE3IDljYWM5ZDBiMTllMzEzMWU4NTgwMDU4ZWUzZWFlNWVjNjA5MWMyYTEgbGVnYWN5LXRydW5rCiszNTMxOCBjYzc5NDMxODlhNWJjYWMxM2MwMjdkNmQwY2QwYTkyZDFlOWU2NzQ1IHJlbGVhc2UyMy1tYWludAorMzUzMTkgYzc1YTRlZGQxZTUyN2YwNmQ0Y2IwYjk2MmJmZjYwNWE2MGYwNzI2ZiByZWxlYXNlMjMtbWFpbnQKKzM1MzIwIGYxZTBhN2M0OGYzNjAzMzlkYjgzNzQzYWVlOWY5ZjFjZTM3MmFkMTAgcmVsZWFzZTIzLW1haW50CiszNTMyMSA2ZGQzOGU0NTg2ZmZmZDhhNjc1YzA0NGMxODEzNTg3M2IzZTYxN2Q4IGxlZ2FjeS10cnVuaworMzUzMjIgZjQ1N2YxOGY1OTIyMTM5ZmE3MjU3MWIwMDdmZWE0MzMxOGE0OWZjMyBsZWdhY3ktdHJ1bmsKKzM1MzIzIDQ3NWJmNGU3OTIwZWRmY2M2OTg0M2ViOTAwYTRiMzM0M2FhMzVmZmEgbGVnYWN5LXRydW5rCiszNTMyNCA3YTc2MWNhZDc1MTNkMzdkOWFhMzA2MmI5ZmRiYmZmYzhkZWVjNDAzIGxlZ2FjeS10cnVuaworMzUzMjUgOTExYjMyMTVkMGRjNDZkMGIwNDM4MDU4ZWQwZGIzZjFkOTdiN2ZmYiBsZWdhY3ktdHJ1bmsKKzM1MzI2IDFjMDY2MzcxNmRiMzU3ZGI0Mjc5YThmMDI2MjNiZWY5MGIzZTA3YjEgbGVnYWN5LXRydW5rCiszNTMyNyA4YTM5YTk4Yzg3ODAyNGMzZGYxYWViMzBjZDA3MDdlNjQxNGJiOTE5IGxlZ2FjeS10cnVuaworMzUzMjggNDYzMmZjYzU1NDRhMTQ2Y2NkNDNjODFjZmYwY2JmNmViZWQ2ZjhlYiBsZWdhY3ktdHJ1bmsKKzM1MzI5IDgzNTAyZTMxZTA2ZTE5ZDA1ZThhYWI2OWIwMTk3MWVhNGQ3N2IyOTcgbGVnYWN5LXRydW5rCiszNTMzMCA3ZTRlMzEzN2IyNTI3YTI5ZmYxZGM3MjlhMDZhNjk0ZWZlM2I1OTZkIGxlZ2FjeS10cnVuaworMzUzMzEgNzhmNzU4YWJjNzlmMjllMzNhNjVkYjEzYTNjNDAwYWZhMTcwYjIwNiBsZWdhY3ktdHJ1bmsKKzM1MzMyIDhlYzNhYTg3OWVlZWEwZmY5MDM0N2EwYTMxMzA0NDZmODdiMDg1OWIgcmVsZWFzZTIyLW1haW50CiszNTMzMyAzYzliNGZjM2VmMTQ3YzA5OWNjMjBkNzA2NGNjODAxM2NjMmJkOTM1IHJlbGVhc2UyMy1tYWludAorMzUzMzQgYzM3YzQwN2ZhZjUyZWQ5MmMxMmZkNzRkOWI3NjNjOGUxYmIyYjYxOCBsZWdhY3ktdHJ1bmsKKzM1MzM1IDE5YjZmZWMyZTUyZDI4YjI0MGNiNWU0MTBkZDYxODJmNWUyOGVkYTQgbGVnYWN5LXRydW5rCiszNTMzNiA2NTBlZjAwOWUwOGMxOTZmYTQ2YmQ3Mjc0ZDEzZWVjODUyNGU1ZjQ2IGxlZ2FjeS10cnVuaworMzUzMzcgNjg4MjI4YWIwNWFlYjU3NDI1MTBjMWJkZjc5ZjMyZWM2YzdhODUyNSBsZWdhY3ktdHJ1bmsKKzM1MzM4IDgxODNkZDFhNGZlNmJiY2YyZmU5NjRlOTA4ZDRlMmYyNGYzMTg4MzEgbGVnYWN5LXRydW5rCiszNTMzOSBhOWZkNDc2NDRjMGY3OThjZTVjMjNjODY0MjA3MzExMTQ5NTRkNjkxIHJlbGVhc2UyMy1tYWludAorMzUzNDAgZjJkOTRmZjE1YWM4ZjQyNzlmMTljZjNhOGNjNGYxYjliZDRiMmJhNyBsZWdhY3ktdHJ1bmsKKzM1MzQxIDVlNzQ1NWZiOGRiNmI1ZmU0YWI1ZjVmZGEyZmRiZjRhNTUwMGViM2YgbGVnYWN5LXRydW5rCiszNTM0MiAyMjIxZjk2MDE4MGRmNzJlYTQ4ZmZmYjQxMGIyMjhjNDBhOWVhMjc1IHJlbGVhc2UyMy1tYWludAorMzUzNDMgMGIxMzc2MTgyMGIwYzFkODg5OGVlNWNjYmRiMmU2MThkZmI5OTZjZCBsZWdhY3ktdHJ1bmsKKzM1MzQ0IDdhYmY0MjQ3OTg4MGU1ZjU5NWFmNmVhM2Q3YjcyNWJiODkyMTZiYWEgbGVnYWN5LXRydW5rCiszNTM0NSAyYzYxMjNkOTI1ZmVlOTZmZWQ1MDM3YzJmY2M1ZTE0MTM1MmZjNDk2IGxlZ2FjeS10cnVuaworMzUzNDYgNTQ2ODVkOWZmYjg3NmJhNGJmOTdhMmY4OGZhOTEzYjBjZDdhYTQ4ZCBsZWdhY3ktdHJ1bmsKKzM1MzQ3IDRiMmQ2ZDEzMDA2MTk5OWE5OWRhZDhmZmNkZjIwMzIyZGIwNDkzOTMgbGVnYWN5LXRydW5rCiszNTM0OCA2OWFjNjcyYjQ5YjNlYzdhZWQzM2RiNmRmNThlOTYxMjU4OGY1ZTU5IHJlbGVhc2UyMy1tYWludAorMzUzNDkgY2EzYzk5OGFmYTU1NWZkMzNkZGM1NTFiMGRkNjRhZmRhMGQ4M2Q1YyBsZWdhY3ktdHJ1bmsKKzM1MzUwIGM3MjNiMGMxYTdlMWRiNGFlY2EyOGU1M2MyMDBmNDRiZDUxNTc2ZTAgbGVnYWN5LXRydW5rCiszNTM1MSAyNmE4MGYwYWY5ZjNhZTc1YTIyZDA2MDcxMDY2NTZkZTFmMzM3YzliIGxlZ2FjeS10cnVuaworMzUzNTIgYzY3NTNkYjljNmFmOGUyZWQwNGZiMDY5MDk1NzQyNDNhN2JmMzRmNCBsZWdhY3ktdHJ1bmsKKzM1MzUzIDcwNmQ2ZDExZWUzNjM4MTkzZWE2Y2IzZTI5MzlhZjk1NjQ1N2IwMmQgbGVnYWN5LXRydW5rCiszNTM1NCAxMjM3MThkMGRjMDllNDg4NTM3ZGM3YjIyYjU1MmVlMTA0ZWZlZGM5IGxlZ2FjeS10cnVuaworMzUzNTUgNjVjNTAyYjYwYjRkMTljMTIyNzE4ZDAxYTRjNGNhZGQwM2I3NGIyZSBsZWdhY3ktdHJ1bmsKKzM1MzU2IGFmMjVjY2M3NWZlYWNiOWU2NGI3NjgyNmExOWM3OGRiODU5NjJmYWIgbGVnYWN5LXRydW5rCiszNTM1NyAwNWUxYzI3YzBhNzRkODFiNTBjNDI2ZTUwOTI2Y2QzMjlhNzkzMDZmIGxlZ2FjeS10cnVuaworMzUzNTggY2Q4N2ZmNmVhODE0MGVmM2UyMWQ3Zjk4NDc3YmNhNjdhYTRhMjMyMiBsZWdhY3ktdHJ1bmsKKzM1MzU5IGYxZDBmYTY5OGI3MzdiOGMzNjIyYWY1MDliOWRhNDYyNWI1MWFhMDYgbGVnYWN5LXRydW5rCiszNTM2MCBkN2ZmMDUxMzdjZWEzZGY1NjUyMzNiMjNhMTEyYWE5NWI0Y2M1NGI0IGxlZ2FjeS10cnVuaworMzUzNjEgZjNjYjRjYWQ1ODVlNjY5NDk4ZjcwY2QyMDFmYWQ2NzAxM2FhMDUzZCByZWxlYXNlMjMtbWFpbnQKKzM1MzYyIDA2ZDgyNGY1ZjJjOThmZjU1ZmJmOGQyMjAzZGFkZTU2YTNjMzY5MjkgcmVsZWFzZTIzLW1haW50CiszNTM2MyAxNTU1M2ExYjdhMTdhMTAyNzQxMDE0Y2Y3NzIzMGI0OTIyMWU2N2Q0IGxlZ2FjeS10cnVuaworMzUzNjQgMDcxZWUwZmY3NDY3ODk2OGMyY2M4ODY1MzAzZTk5NGYzMGQ4YmNkOCBsZWdhY3ktdHJ1bmsKKzM1MzY1IDJmZWQzMzFkZTAxNGE0YzJjZjllNjcwM2Q5MDFkMGI4NzU2NDUzNDUgbGVnYWN5LXRydW5rCiszNTM2NiBmZDIxMDNhZTZmMjlhMWUwNmIzZmY4Y2Y1NDhhZGI2NGZjYTJkNGEyIGxlZ2FjeS10cnVuaworMzUzNjcgOGVjZWU4ZjQ3MTA4YzhiNWE3NWNkZWRjZGMyZDc2NWYwNjFjZGViZCBsZWdhY3ktdHJ1bmsKKzM1MzY4IGFlOGRiZjUwMDE3MmExYWMxYjkzNTRiMThlMTk1MGNjZTE3MGM0MmMgbGVnYWN5LXRydW5rCiszNTM2OSA4MGJkMmI4NWVkOGExZTk5NzlhOGU2OWE0M2U3ZWU2OGJiZjVjZDc5IHJlbGVhc2UyMy1tYWludAorMzUzNzAgZGZkYmMwMDU4ZDg1OTBlMjE4NTljYTAzNjc2NWFhNGViZmQ3ZWY5NiBsZWdhY3ktdHJ1bmsKKzM1MzcxIDA5NzlmYTA2MmRlYmZlN2Q2YzVmMDU0YzI4N2NiYjJmYmFiNDNlZjggbGVnYWN5LXRydW5rCiszNTM3MiAyNDhiZWI5OWEzMDRjOTNlYmE0NjQwZGRhODI4ZTAzYjMwZTQ2MzBjIGxlZ2FjeS10cnVuaworMzUzNzMgNDZkZjA4ZWIwODM5ZTljZjU2YTgwZjA4NzBjOWE2MTkxMjdiNTIwYyBsZWdhY3ktdHJ1bmsKKzM1Mzc0IGMyZGY4YTVjMzU3ZTAwZTYwMWQzYmUwYWMxNDUwNjUzNmZkZjMxMGMgbGVnYWN5LXRydW5rCiszNTM3NSA3MzlhYjlkZTJhMWJhYWQ1ZmUxMWI4NzgwYjNhNmVhY2EyMTEyYzIwIGxlZ2FjeS10cnVuaworMzUzNzYgNWIzODk4ZDliYTU5NzdhYzY4MDRiY2JiOGNmMWNhYWFjMDFiYTU5ZSBsZWdhY3ktdHJ1bmsKKzM1Mzc3IGViYmE1NTgyZGMwZGI1MzYxZjRiNDJjMDMwZWY0ZTI1MjYzOGExZGIgbGVnYWN5LXRydW5rCiszNTM3OCBiYzAwNjY4MmFjYjIxYTFlMWVkY2UxYzAxMjhmNWM1MDVhOGQxM2Q3IGxlZ2FjeS10cnVuaworMzUzNzkgOGY2MDIxN2E3NTQ3NTk5ZGEyMGE1ZjI0MGVhN2MzZjViNTE1Y2Q4ZSBsZWdhY3ktdHJ1bmsKKzM1MzgwIDQ3ODkwYzM5NWViYWEyMGU0YmUxY2I3Zjc1NGM0ZmI0Y2JjYmY0NWMgbGVnYWN5LXRydW5rCiszNTM4MSA2MzVlZWJjNDczYjA2NWM3NTRjOGZjZTQzZDdhMzIzNmE0MzAxMWU1IGxlZ2FjeS10cnVuaworMzUzODIgNzA4MGEwMjEwY2YxODdmMjA5YzIzMzNiMzZjNTg5M2IzYTA1NDE2MSBsZWdhY3ktdHJ1bmsKKzM1MzgzIGQzNGU3ZWFmNGNkNmE3NDdlODM2ZmVkNjFjYTkwYWFlNjhjMDNjNWYgbGVnYWN5LXRydW5rCiszNTM4NCBiNzk1NDMzZTBiZDkxOTQxZDhkN2MwYTkxNmFkMTFiOTNhM2VkOWM5IGxlZ2FjeS10cnVuaworMzUzODUgMWIwMmM3N2NkY2ZlMTM1YzBjMzI3ODI0ZmY4OWZjZTIyOWM2MTI4YiBsZWdhY3ktdHJ1bmsKKzM1Mzg2IDE1NDNhZmFiMWI2NzJiMTI0N2IxYmU4NjA1YjE4NzQ3YTE5ZDkyYzcgbGVnYWN5LXRydW5rCiszNTM4NyA3ZTRkZDkzZjRiMjcxMzEyNjYwNjE5NDBhNGE4ODhkNGQxZWE0ZDM2IGxlZ2FjeS10cnVuaworMzUzODggNzJlMzhiZDk0ZTU2OThmNmUzMDlhZjMyMDIwOWYyMzlkMzc5MTMwYyBsZWdhY3ktdHJ1bmsKKzM1Mzg5IDMxNTc3YzI4MTVkZTUxZDk3YTI4NDZlZjc0OTMxZGY1NzhhZTViMzUgbGVnYWN5LXRydW5rCiszNTM5MCBiNGU0ZGJkMjRmZTc3ZmM0ZTJlYjZhOGE2Y2YyYzA5OGM5MGY1NzM0IGxlZ2FjeS10cnVuaworMzUzOTEgMjI4ZDI2NGM1ZmJiZDlkOGFiMTUzNjQ1N2ZhMjg5ZGJkMmNkNzc5YSBsZWdhY3ktdHJ1bmsKKzM1MzkyIGRkNjllM2Y1MjI1YmFmZTUwODk4MWFjMmRkNmRmMWI5ZWY1ZjJhYTEgbGVnYWN5LXRydW5rCiszNTM5MyA1YmQ0NTU2MzhjN2E4YTQ5ZDRkZjMyOWE4YTJjNGExNzM5MGYzMGJkIGxlZ2FjeS10cnVuaworMzUzOTQgZWM2YmEwM2JhOTYyN2RlYjhmMzQ2YTA2NGMwMWNjNGZjN2VmOGY4MiBsZWdhY3ktdHJ1bmsKKzM1Mzk1IDA0ZWIyZWJiNDZlMjdhMWYyNmZiODc3MDVlZjlhODQ3ZDlmOTAyNjIgbGVnYWN5LXRydW5rCiszNTM5NiA5NWJmYjY1M2ZmZmJhMDEyMDg5YTIzZWQ0YThmMzU5ZTk2ODkyYzY3IGxlZ2FjeS10cnVuaworMzUzOTcgMTI1M2Y2ZTIwY2RlZTA1YjRkNmQ3N2Y1MmM3Nzg5NDhiODFjZGM2YSBsZWdhY3ktdHJ1bmsKKzM1Mzk4IDBkNTNlY2YyMmQ5MTUyM2RhNTAzNjRmYzNiZTMxZTNhNmU4NjRmYTYgbGVnYWN5LXRydW5rCiszNTM5OSAwNDcxNDgwODljMzVkNTllN2FjYmFmYmM1MWFmNzMyOGM3NzE5Y2I4IGxlZ2FjeS10cnVuaworMzU0MDAgNDJmODgyMDY4NmM5ZWJhN2Q5OWE5MGRiODQzYjBkMWJhMGE4NDAwMCBsZWdhY3ktdHJ1bmsKKzM1NDAxIGVlYTY3NGJmN2I1OWE4NmFlMjE1OTZmODk5MzM1OTIzZDRmNGQ0ZjggbGVnYWN5LXRydW5rCiszNTQwMiAzMGUzMDViZmRkZGJkYzQ4OGQ3NzUxYmNlNTYxZjhhZDA2NTJmYTQ0IGxlZ2FjeS10cnVuaworMzU0MDMgYTBmYjI3YjQ0ZDc4MzgzYTM4YmZmN2IyMmYyMDM4YzViY2I1NzM5ZiBsZWdhY3ktdHJ1bmsKKzM1NDA0IGRmMDY0NzljNmU3Y2QxMWQyZDQ3MTdkNmZjNjBiM2JkYTFkMDMxZTUgbGVnYWN5LXRydW5rCiszNTQwNSA1NzYwYjRkZDNhMjI0ZTQ3N2UxZjFhZTU2YTVmZmM1NDY5M2JmMDNhIGxlZ2FjeS10cnVuaworMzU0MDYgODNiMDM4MmUwZDM2MjVhYTlkNzRiMDc0NjM5NzRiZWVhMTVjODExMiBsZWdhY3ktdHJ1bmsKKzM1NDA3IGQxMGM3NzhhZjE2N2EwZjNjZWY1ZmUwNTRkMzc4YTAyMDczMDY0YWMgbGVnYWN5LXRydW5rCiszNTQwOCA3Njk0NDA4NGU3NTZhMTZiOGQ1ODFjOTA0ZTE2NGZmOGY4NmU0NWY5IGxlZ2FjeS10cnVuaworMzU0MDkgMjQzNjQyYmJkMDNmMzVlNDVlMWM2YThlMzk3NGVkMzEzNDA3MTFjYiBsZWdhY3ktdHJ1bmsKKzM1NDEwIGJlNzgyZDA3YzUxOGQyOGIyNTgxNmZhODQwNmFiZGRlYjUxOTRlMmEgbGVnYWN5LXRydW5rCiszNTQxMSAzNWNiODExNGI0NWMyNWIwZTkzYTIyNDBjNzk0MmY2NDNhYmYwZjQyIGxlZ2FjeS10cnVuaworMzU0MTIgZWYwNmMyMTI0Y2IwNmUxZjUwOTNkNTNjZGNkMzc2MGZhNzI1ZTljNSBsZWdhY3ktdHJ1bmsKKzM1NDEzIGYyNjAwNDQ4ZTg1Yzk1MDY1NzdjNjA3NWIwMDkyMWE4ZjkyZGFmZDEgcmVsZWFzZTIzLW1haW50CiszNTQxNCA3ZmZmZGI5NGExNzJkYTQ1ZDIxYzFlNmQ2ZjhmNTgyNTkwNWIwNmRjIGxlZ2FjeS10cnVuaworMzU0MTUgZjI2ZDgyODZhNDNlOWU0NWM0ZmYwYTkyMGZmOTcwMzRhZWJhMmYxNSBsZWdhY3ktdHJ1bmsKKzM1NDE2IDAzNjkzYWY0NmFmYmNlYmU2NmU4OTkwOWY2OTBhNjA0N2UzZjU3ZDIgbGVnYWN5LXRydW5rCiszNTQxNyAyNmNmMjU4NmYyZmQyOTllMjA3NjlkMDg0ZTM0OGFjNTQ3YTBhMTY2IGxlZ2FjeS10cnVuaworMzU0MTggYjg5OTJlNzgxODQwYTA4NWEzNDJjNTA1MTMyOGZhNjg1ZGY1MDQ3YSBsZWdhY3ktdHJ1bmsKKzM1NDE5IDIwNmQ4NTc1ZjY0NDE5ZmE2NmQzOTZhMThiMzk2MTc1OWJmMWMyNDcgbGVnYWN5LXRydW5rCiszNTQyMCAzNWY1NmUwODcyN2Y5NTk1MzNjOTZiNTNjY2MwNTRmOTAwMzJkMjljIGxlZ2FjeS10cnVuaworMzU0MjEgMTUyYWRhZjc2NWViMmYwNWYwNTIxODkwM2FlNjgyMWQ0ZjMyYjhmNSBsZWdhY3ktdHJ1bmsKKzM1NDIyIDg4ZTljMDQ0NGQ0ZGRhN2VjNzg2M2IyNzJjNTg3MDhkYjc2YWI3YWMgbGVnYWN5LXRydW5rCiszNTQyMyAzZjY5M2E3NzI2OTRlMjMxMTk3MDhmODRkZTg0MjY4ODc4Y2FiZjlhIGxlZ2FjeS10cnVuaworMzU0MjQgYmE5ODk5NmI0ZDUwYTgxY2JiNjBlNTllY2ViMTU4NDhkOWU1YmM3YiBsZWdhY3ktdHJ1bmsKKzM1NDI1IDlhNGM0OWM1YWMwM2NhOGIwZWQxNzExZTQxNWIyZTNkYjUxODk5MmQgbGVnYWN5LXRydW5rCiszNTQyNiBhZTYwMzdhM2FkY2U5OTU1NmM1MjAzNWVkZGVjOGVmZDhjN2VjZGFiIGxlZ2FjeS10cnVuaworMzU0MjcgYTM4MzBhZTI5NGFlNjgzZGIyMWM0MWE0N2ZlNzQ4NGRjNTRkMjZjMCByZWxlYXNlMjMtbWFpbnQKKzM1NDI4IGFlNmZkYTk2MGQzOWJjMzA0OWRhMDU0MDI5YjI5ZDFlY2Q0NzAwMmUgbGVnYWN5LXRydW5rCiszNTQyOSA2MDZmMDQ3M2E5NjY4N2Y0ODlmNWZjM2MzODAyMTQ5NTM0NGU0MTYzIGxlZ2FjeS10cnVuaworMzU0MzAgNmJjY2E0NzkxODQ5OWI1ZGVmMTA4ODRiYzhjMWFhY2U0MTViYTQyYSBsZWdhY3ktdHJ1bmsKKzM1NDMxIDA4YzNiNDkwNTk2MWRmNjAzMmRiNjQ0ZDdhOTEzNTgyMzA3NzdiNDkgbGVnYWN5LXRydW5rCiszNTQzMiBhNmJjZjRkZjFhODU3NmRiYTlkZGVkNTdlNWU5MDFhMTU0N2U2OTg1IHJlbGVhc2UyMy1tYWludAorMzU0MzMgNTMwYTBkZTM1MTdhYWYwZTk4Mzc4M2U5YTc1YWI1OTE5MTVmNDUyOCBsZWdhY3ktdHJ1bmsKKzM1NDM0IDI4MzBkOGUxYWYxODVhNTlkYzkyMzU4ODFiZjY5YWZhMjQ1MDBiZGQgbGVnYWN5LXRydW5rCiszNTQzNSBmNzM3NGUzYjI3OWE4OGM3MzIyMWYwMGRjOTk0NWRiMTBiZGM3NzdlIGxlZ2FjeS10cnVuaworMzU0MzYgMmJmYzg4NjZlYTk5Mzg2OGVjMjI5ZjcxNGI1MTQzYjQ0MGVmZDE5MyBsZWdhY3ktdHJ1bmsKKzM1NDM3IDdiYjAzMDA2NmVhNGI2NTA5NzMxMTRlZWRlOGE0OGRjNjY2NTMwZDAgbGVnYWN5LXRydW5rCiszNTQzOCBjMGE1NDJhMWZjMWM4YjliN2JjYTBhZTY1ZDUwNzcxNzRhMmE5Y2U4IGxlZ2FjeS10cnVuaworMzU0MzkgZGE3OGI5NmI2YWFiZWIwM2U1OGY5YWMyMzVmOWFiNjBhMzg4N2U4NyBsZWdhY3ktdHJ1bmsKKzM1NDQwIGJiM2JjY2IzYjc3ZDVhYTAwMGY1MTE2MjhjMzZhNTI3YWE3MDgyM2IgbGVnYWN5LXRydW5rCiszNTQ0MSBjZTgzYWIwN2VhMDczMDg4NjRmNjFkOWRjMGY4ZjNkM2UzZjNkOTJiIGxlZ2FjeS10cnVuaworMzU0NDIgNmI3NTA2MDQ2NGY0NDYyN2Y3N2Q5ODU5ZWU5NTc5M2FjYTY2NmI4ZCBsZWdhY3ktdHJ1bmsKKzM1NDQzIGMzMjM4MWY0ZGM2ZjJlNTQ0N2Q1NmRiMmQwYjM1MzQ3YzNjOWQ5NGUgbGVnYWN5LXRydW5rCiszNTQ0NCAwMTZmMDA2ZDcxY2MzZmJjMGZlNGVmZTM5M2Q2NTk4OWE2MTllMGMxIGxlZ2FjeS10cnVuaworMzU0NDUgYWFmZTVmZWY1OGJhYjdjMTIzYjNkZDk3Njk0NzFiZjc5Nzc5ZDUzMiBsZWdhY3ktdHJ1bmsKKzM1NDQ2IDgyMzI3OWFlNDNlYjEwYWY5NmYwNDQ1ZDlmZGZkZWU1NjA3NzEwYzYgbGVnYWN5LXRydW5rCiszNTQ0NyBhODg1ZTRkNjRhZDBiODk5NDcyMDkyMTlmN2EwNDk5YTkyNjc5NzIzIGxlZ2FjeS10cnVuaworMzU0NDggY2U3MGYxNDQ2ZjM5OWUxMmU3MjJiOThhMDIyN2U5NzNlNzVhMDdhZCBsZWdhY3ktdHJ1bmsKKzM1NDQ5IDBmYjUwNjZmYzJhN2ZkNDY4ZjBlNWI1YTk3MDhlZjE3MTI4MGY0N2QgbGVnYWN5LXRydW5rCiszNTQ1MCAxMmJmMzdhNTgwMTVhZjkzNjliODlhNzdiZGNiMzRlMjI3NTY5MmE2IGxlZ2FjeS10cnVuaworMzU0NTEgNWU4YzZmMzhlMTViNWFjZTE1Y2E1Nzk3MDBkMWY4YWE0YTdmY2QxYSBsZWdhY3ktdHJ1bmsKKzM1NDUyIGY3YmZkOGY5MWMyYjkwYzc0MjMxY2ZjMmQzNTNmMGIxMmU0ZWU3MDAgcmVsZWFzZTIzLW1haW50CiszNTQ1MyA2ZDhhMTQxNDgxNTliMWJkNjJhMjIxNjNiNzYyMWIzMDE2NTQzNDkyIGxlZ2FjeS10cnVuaworMzU0NTQgYWQ1YzYwODUwMjNlMjQ5MzEzOWUxNmMxMDFkOWEzN2E0NzNkODJiYSBsZWdhY3ktdHJ1bmsKKzM1NDU1IDMzMmQzZmZhZGYyODdlYjI0YTRlY2ZjY2QxMDkyMThjNDdmMDVkNjAgbGVnYWN5LXRydW5rCiszNTQ1NiA1MDc0MjJlYWE3NjM1OTNlN2I5NTk5MGNjOGUzODBlMWQ3YzljM2IyIGxlZ2FjeS10cnVuaworMzU0NTcgOTJkNDAyMjA5ZTkwZjk3N2VmMzViOGYyN2NlMjk0N2YwMzUyZGUwMiByZWxlYXNlMjMtbWFpbnQKKzM1NDU4IGQwODc3MjY0MTdlYThhMTNlZDUzOWU1YzQxYTdmMWUyMjJmMWE2MzQgYXN0LWJyYW5jaAorMzU0NTkgMDNiMGZkMWNkNzIyNTg0YWFiN2I2ZDk2OWRmNzI2ZTRkMzYwYmNlOCBsZWdhY3ktdHJ1bmsKKzM1NDYwIDZiZjg3OTg1YWExZTk4ZTBhODRlMWI3NjVlZWRjZTRjYTY4YjI3NDkgbGVnYWN5LXRydW5rCiszNTQ2MSA1ZTYzYzJlOWI3OTI1MzEzNzAyMmFkYWRhMjY4M2U1NGE5NzBmNjE5IGFzdC1icmFuY2gKKzM1NDYyIGNlYjZhYWRkYWJjYzVkOWE2ZjQxZGJjNWIyZjFhYzc2OWIyYjhlZGMgbGVnYWN5LXRydW5rCiszNTQ2MyA1YjIyNDdiOTUzMjNjMzI3ZDUwYjNhYTg0ZmI3NjJmZDhhZTVjZjE4IHJlbGVhc2UyMy1tYWludAorMzU0NjQgMzZhMmQwZThhOTkzMzUwNDlkMjYyOTczYWMzMWNiMmEzMjA0N2Q1MSBsZWdhY3ktdHJ1bmsKKzM1NDY1IDkzZmI0MDgxZDEwN2ZiNGU5OWI1MjU4MjE4M2NmYjI2MTlkN2Q1MmUgYXN0LWJyYW5jaAorMzU0NjYgZmZhZTJmMWZkZDQ2YzhjNmQxODk5ZTEzYzVlOTNiNTc2MzUyMjZlYSBsZWdhY3ktdHJ1bmsKKzM1NDY3IDQ5MGViNjRiYzVjOTdiYjViMDhhNjJhZmQzYjU1N2IzMmRhOGZkNTcgbGVnYWN5LXRydW5rCiszNTQ2OCAxNzllMDQzMDdlY2QzZGE4YWYyMWU0MTIyM2Y4YjBkYjMxYjJlNzE1IGxlZ2FjeS10cnVuaworMzU0NjkgY2VhYWRiZDdmMTlhN2UyNmY0NWVhODUxYjE3YjJlNTY5MWNlZTM2YiBsZWdhY3ktdHJ1bmsKKzM1NDcwIGQ5NDhkZWU2ZjRhMWJlZDliZTE5NTg1ODk4ZTMxOWIxZDNkNjdlMDggbGVnYWN5LXRydW5rCiszNTQ3MSAwYjAwODZkNTNiOGU4Nzk1NzYxNmM0OWFiMDQ2ODE1ZWYzZmNjYjI3IGxlZ2FjeS10cnVuaworMzU0NzIgYzRlYmY3Y2ExYmRkMDFmZGQ2ZjUwYTUwZjM0MzVjYTJhYjllM2U0NyByZWxlYXNlMjMtbWFpbnQKKzM1NDczIDY1YjBjN2I1NjFkYWY0MmY2N2NmMTU0NTk3NjY4NDk1YjkyMGQ3ZjQgcmVsZWFzZTIzLW1haW50CiszNTQ3NCA1MmJhMWEyMmNjMmUxYjBmODIyMjllZTU0ZGY4YzhiZGNmNDU0ODM5IGFzdC1icmFuY2gKKzM1NDc1IGNkNDc2NmIwNjM3ZWExZDIyYjJmNmIwNTFmODYyMTZiOWFiYWM1NDAgbGVnYWN5LXRydW5rCiszNTQ3NiBkNjNjNTYyZWJiZTU3NDJkMzkxNmNjN2ZhMTBkYzE0ZGZlMjE3N2Q4IGxlZ2FjeS10cnVuaworMzU0NzcgOTEyNjBmYjNjODE0NzYzNzcxZWFmZjQ0YmM3ZjgwOTcyMzc3YTE2ZCBsZWdhY3ktdHJ1bmsKKzM1NDc4IGNjN2E5ZmU4MGIxYjc1NjBmNzc2OGY1YzM2ZTFkZTY2ODQyNWQ0ZDMgbGVnYWN5LXRydW5rCiszNTQ3OSA4MjBiYjgxOGQ2OTg0YzU5YjZiMjdjMmIzODUwNzZhY2JkYjc4NjJiIGxlZ2FjeS10cnVuaworMzU0ODAgNjYwZmMyNDJhNzY2OWIwNmJjZWVjODM4NzFhNmM5Y2IyMDQ0ZmUxNiByZWxlYXNlMjMtbWFpbnQKKzM1NDgxIGZkMjZmMjllN2VhYjhmMmZlMWE0MWQ1N2I5NmVlYTBlOWY2N2YwZjEgbGVnYWN5LXRydW5rCiszNTQ4MiAwNDIwZDNjZmU0YTRhYWZkYzEzZDhmYmFkM2Y1Mzg5YWUxNGE0NzJhIGxlZ2FjeS10cnVuaworMzU0ODMgOGVhNDVjZmUxN2ZjNjAzOGZiZDBhZmIyNDNlZmVlMTE3MjhlNWRiYiByZWxlYXNlMjMtbWFpbnQKKzM1NDg0IGM4Mzc5NTMyNDA0Mjc0MmM2M2NmY2QzODhjNDYyYmUyMDMyNmY2MTIgbGVnYWN5LXRydW5rCiszNTQ4NSBmYWZmZDk1NzJkOGQzMjM5YTAyNTE4ZjY1MzM1NTI2MGZlZTVjM2I0IHJlbGVhc2UyMy1tYWludAorMzU0ODYgYzc1ODc2NDMyZmM2YjVhYjZkZjExMzYwN2FlYjYzNWUyNTlhNmZlZSBhc3QtYnJhbmNoCiszNTQ4NyAyODQ2Njk0MDliZWI0NmFiZDFjNWFkYmQzNjk1NzMyOGM4MzM5NTk1IHJlbGVhc2UyMy1tYWludAorMzU0ODggZDY5ZmIzNWYxZWFlYTQzOGE3NWNkODJjYTk3OGViNmQ5NDBkMjBkNCBsZWdhY3ktdHJ1bmsKKzM1NDg5IDdhNDM0ZjQ5M2MzZWE4Yjg5ZWRjOTRlM2NlNjFiYWZiZWY4MDhmMTQgbGVnYWN5LXRydW5rCiszNTQ5MCA2Mzg2NTYxMWVkMmZlMzUyNDUwMmNmMDU3YjhkYWQzNmYyODM2YjU3IHJlbGVhc2UyMy1tYWludAorMzU0OTEgMjZkMGZkMDNkNWIzMGVkYWY2OTEzYWNhMTkyYjk2MWQ2ZDQ0MjA2MSBsZWdhY3ktdHJ1bmsKKzM1NDkyIGM0ZDlhOTZiZTJkZGNhNDUzNWI0MzdlOTcxM2ZlZWRkNDMxYWU1MDIgbGVnYWN5LXRydW5rCiszNTQ5MyA2NTA5MzU0ZTc4NzY5ZGI5YTJhNzZlMzM3ZTk2NjRjODdlNzgxZWEwIGxlZ2FjeS10cnVuaworMzU0OTQgMWVjM2Q2OTg0YjBmMTA4Nzc2MjhlMmRhNzYyYTYzOGE4MTg5M2EyZSBsZWdhY3ktdHJ1bmsKKzM1NDk1IGI5Njc2MjdhMmY0ZmU5YzlhZDU0ZmJkMDQwNmIwMzMyNzhlYTMwMzcgbGVnYWN5LXRydW5rCiszNTQ5NiBjZTY4ZDdjMDYyOWNjMzgxNjcwZWFiYTE3NmFmZGVlOWU1Yzg4ZmJlIGxlZ2FjeS10cnVuaworMzU0OTcgZTgzMTI0MDJjODEzZDhlOGQzMDgyMTZiZWZhOTk5ZDg2ZTQ3M2EzYyBsZWdhY3ktdHJ1bmsKKzM1NDk4IGMwMjM1MDFjMzhkNzgzZTlhMzQwZWZiM2E3YzkyMDYxNzEwYTRjZmUgbGVnYWN5LXRydW5rCiszNTQ5OSA5MjBhZDQ0NjVhYWVhNWEzNTQxNWZiYWY5ZmI3OWY5MzJjN2RmMjBmIGFzdC1icmFuY2gKKzM1NTAwIGQ4OTgyMzJkY2RkYmJhODA1ODIyZmJkM2NkMDE0MDgzNzdjODE2ZjQgbGVnYWN5LXRydW5rCiszNTUwMSBlZTBiYTAwYjI3N2NkZDIzODU5MzVjNjZhYWYyMGY0ZDhjNDNlZDc0IGxlZ2FjeS10cnVuaworMzU1MDIgNmZjYmY2YWM2OTlhODkwMjk2ODlhMTc4ZTBhY2UzM2M1MjI1YjBiOSBsZWdhY3ktdHJ1bmsKKzM1NTAzIDU3OTY1YjJkYjIwYzZkYWQ5Yzk3OTA2MjhmM2U2OWU3NzQ5ODAzOWUgbGVnYWN5LXRydW5rCiszNTUwNCAwN2EyYjRjNWQ1MDM0MTc3MmZiYzJhZWU1ZTNjMjg4NmY4Mjk0MTMyIGFzdC1icmFuY2gKKzM1NTA1IGRiYThkYjQxMmUzNTQ5OTZiMTgzODUwZGMzNWU2ODQyYWIyMTVlODAgbGVnYWN5LXRydW5rCiszNTUwNiA0OWVjMGQ4ZjA4ZWNkM2Y3MDU3NDFlMjEwYmZmZmIxMGVlZTdhMzhjIGxlZ2FjeS10cnVuaworMzU1MDcgYWUwMGQyZDEyN2QxZDBhN2Q3OTVlNmI0OWNlMmQ5Mjk2ZTdmMWM1ZCBsZWdhY3ktdHJ1bmsKKzM1NTA4IDFmODA2Y2JlMmNlMDQ4MWM3N2VhYTM1ODNiODhiMjdkM2Q0MzFmZDggcmVsZWFzZTIzLWJyYW5jaAorMzU1MDkgNGViNDU4YzM5NDFkNWU4NWU3MzM1MDZmZTEyZDE3ZTNiNzE0MTE5YiBsZWdhY3ktdHJ1bmsKKzM1NTEwIDMxMDFjMDBmNzU0N2YwMWVjZTQ5YWQ0ZTI4ODFhYWNiMDllN2E0MDkgYXN0LWJyYW5jaAorMzU1MTEgYzA2MWYyNWY3NGUwY2RlYmE3ZjI2ZWJmNzA1MzU5OWViOWFiN2FiMCBsZWdhY3ktdHJ1bmsKKzM1NTEyIDkwNzQ1MGU0YmM2NzU3ZGExYTRhN2JkODg0NDZjZmE2MmFmZWE2YzAgbGVnYWN5LXRydW5rCiszNTUxMyAzNDc1ZTQ1Njg0NzEwOTU4ODg3YWI4MzRhNmU3Y2YwMTRkYWE3YjIzIGxlZ2FjeS10cnVuaworMzU1MTQgOGJmMTYzZDA2ZDI5YWY4YWVlOWNmYWU3NTdmY2ViZmQyYmI0NGVkZCBsZWdhY3ktdHJ1bmsKKzM1NTE1IDdiNmM4MjI5Nzk5YmFlOWJmMWJiYmE2YmM1NTg1YmNjYjY5YWQ0YTEgYXN0LWJyYW5jaAorMzU1MTYgNjcxYWRlZTZhM2UzYjExZGQ3ZWNhMmI0Zjg2ZDNjOTc5MGNiZTEzZCBsZWdhY3ktdHJ1bmsKKzM1NTE3IGY1NGNkYjAxYTFhZDVkZjQ0ZjA5YWQxODkzMzEzZWZkNmZiOWQxZjMgYXN0LWJyYW5jaAorMzU1MTggMTRmOGM5MzNmODhjMDk5YzAwNjk2NjExOGY3YjkyMjRhMWUyYTRmNyBsZWdhY3ktdHJ1bmsKKzM1NTE5IGZlNTU0MWFhZTJkOGY4NzRmNzEzY2I3NjIzMzc4MWE5ZjRlNjQzNWMgbGVnYWN5LXRydW5rCiszNTUyMCAxZDNlNDhjY2FkNTczYTU0MWMzMWUzZDc5YmI0MjM2NWE3MDU3NzJkIGxlZ2FjeS10cnVuaworMzU1MjEgNDUxNDRjZGI3Nzk0YTRhNjVjOTdhMzYzODMxYjdkODQ0MDNmZTdkYyByZWxlYXNlMjMtbWFpbnQKKzM1NTIyIGVmMTgwODU2ZGY3NjE5MThmZDhiZGRmMGNjN2NmNjA1N2U4MTRhNGIgbGVnYWN5LXRydW5rCiszNTUyMyBjMmIwMWFhNDkwZTE0N2I1YjczY2JjYjhjZDM4MjE2NjNiOGU0MjhlIGxlZ2FjeS10cnVuaworMzU1MjQgMmViMzE3NWZjNTliNzJmMmNlOWFjY2NlNmZjODhlOGU4ZGI3YzI5NyBsZWdhY3ktdHJ1bmsKKzM1NTI1IDhhNzE0ZmVjZDA1OWJkZDgzN2Q4N2E2Mzg1ZjkwZDIzMGY0MWU3NTYgbGVnYWN5LXRydW5rCiszNTUyNiBhNWJkOGI0ZjNlNTVmMTMyOTUzNjYxOGE1MGY2NzEwZTc2OWFiZjA4IGFzdC1icmFuY2gKKzM1NTI3IDU1NWRjODQ2MjI2ZGQyODYxMzIyNTY5ZGI2OTRiOWJiNGVlMGNjOWYgYXN0LWJyYW5jaAorMzU1MjggYjM5ZmRjOWM4MDdlNjViMzI4OTM3NDM3MDdhNmQ5MzQ3NWZhZjcxZiBsZWdhY3ktdHJ1bmsKKzM1NTI5IDE0MDc0ODQ4MzYxMjBiNTMzNGZmODFkMDAxMmRjZWM3M2Q5YmFhZTcgYXN0LWJyYW5jaAorMzU1MzAgYTczN2Y3YTBmMmI4YmFkYTRkMzhmMGI3ODIxZDE2OGY3MGIyNzBkZSBsZWdhY3ktdHJ1bmsKKzM1NTMxIDE2YmY0ODRiMzg2NDk0NzQ4MzFlNjBkYjZjY2Q1YTMzMzE3ODVmMjQgbGVnYWN5LXRydW5rCiszNTUzMiAzZTQ5ZWIzMjQ3MGJiNzg3YWFjZDRjYjZhZDVlMTQ0MTRjNWMwNzcyIGxlZ2FjeS10cnVuaworMzU1MzMgYmU1ZDJhMDdiYzI2OWJhZGIxNGE3YzdmNDZjYjc1MDU2ZWUxYjVhNyBsZWdhY3ktdHJ1bmsKKzM1NTM0IDk1MzZiMjk3ZDgzYzJkNzhlOGQ2MzE0NjM4NzliMDRhZDQyNzEwMDQgbGVnYWN5LXRydW5rCiszNTUzNSBmNGE0YWM3MzMxZWM5MWU4NGQ4ZmQ0ZTliNjYzZjg1NDcxZTAyNWZkIGxlZ2FjeS10cnVuaworMzU1MzYgNjQyNmIzN2JiMmEwZmRhODIzMmU3YzZjMWE0ZTA2Y2FlZTAxYjFiZSBsZWdhY3ktdHJ1bmsKKzM1NTM3IDM0NzNkZWEzYWE0YzA1MDg3NzdhNjc5YjM4YWNjNDM0M2VmOWMyOGUgbGVnYWN5LXRydW5rCiszNTUzOCA1ZTkxNmQ0NmEzZmI2OTI2MjAzZDJkMWUxOTUwNzdmZGZhOGVkOGI0IGxlZ2FjeS10cnVuaworMzU1MzkgMjRlMDcwZTk1YmY4YTFkMTUzNzNlNDJkNDVlMzZlOGVmZTg1N2Q0NCBsZWdhY3ktdHJ1bmsKKzM1NTQwIDc1YTkxZmQ4YjUwY2ZiMDY4MWNkNGUzZjAyNDhmZmJlNTExZDMxOTIgbGVnYWN5LXRydW5rCiszNTU0MSAxMjAxOTI1MTYwMzM5MmMzMDNhODRhZDNkNDQzOTNmMmQ0OTFiOWE1IGxlZ2FjeS10cnVuaworMzU1NDIgOTgxN2RlZTVkOWRmMDg1YzQyYzFjNmFjNjgwMGM0MDk5YmZjZjhjNyBsZWdhY3ktdHJ1bmsKKzM1NTQzIDdmNDY0ZGQ2ODBhYWMwOGU0YWRiYjdlYTJjYmY3NWE3MzhkOGYyOWYgbGVnYWN5LXRydW5rCiszNTU0NCBlZjU5MWU3YzM0ZmQ4ZTA5ZjU1ZmRkZGFlZmVmNjFlOGI4YjFlYWNjIGxlZ2FjeS10cnVuaworMzU1NDUgNzYwNTNhMWRkNDUyNDRkYzFhYThkMzZkZTJjNzhiOTNmYWY3MWEwOSBsZWdhY3ktdHJ1bmsKKzM1NTQ2IGZiNTU3YWM1YmI5YTI1YjE0NTVhOTlhMDNmNTAwNjA5MDA2ZDI5OWUgcmVsZWFzZTIzLW1haW50CiszNTU0NyA5ZDg0Y2VkNjRkMTBjOWFlNjhlZTU2ZWQ0NDM5ZjNiODBiMGYyNGFiIHJlbGVhc2UyMy1tYWludAorMzU1NDggMTY0Y2UxYmNhYjZlMWUzMjBmYmFmMDFjYWQ4YTUwZDcyOWZlOWYzMCByZWxlYXNlMjMtbWFpbnQKKzM1NTQ5IDMzZDQ4ZGY5YTkzNzgzNDU0Nzc4YWNkOWRlNGUwNmU1YTI1ZmMzNWIgbGVnYWN5LXRydW5rCiszNTU1MCAyOWJlNzI5YjMyYzNmZTk0MTY3OWFkZGQ3MjUzZjIyZDEzZGU2Y2QwIGxlZ2FjeS10cnVuaworMzU1NTEgY2M0N2MxZWFmODBhYjcyMzkwOWVmNDZhZTMxNzdhMzUyMWVhNzk4YSBsZWdhY3ktdHJ1bmsKKzM1NTUyIGM0YmFlMDg5YmZjOGYxMTViYTkzYjU0ZTU4YTQ0YmNiMmYzNjYzZjMgbGVnYWN5LXRydW5rCiszNTU1MyBlYzM3Y2IxYzBlZDg4ODdjZTRjN2JlYTFmOTg3MTkyNmM3YzI4ZWY5IHJlbGVhc2UyMy1tYWludAorMzU1NTQgZDQ0OGNjMjYxZjY5ZjRiMDgyNzVlYzBkZTcwOWVkMGQyZWRmMDdiZSBsZWdhY3ktdHJ1bmsKKzM1NTU1IGNlMWUwYjQ5NGNhNzAyNGMyNzM4ODlhZjMyNjc1MGQwNWE5OTI2YTcgbGVnYWN5LXRydW5rCiszNTU1NiA2YTE1MDU2MTMzNTg0YmVlMzU4ZDZhMzUxNDcwMWE0YjcyY2Y3ZTVhIGxlZ2FjeS10cnVuaworMzU1NTcgMjNlNWNjMzRhOTgxMmU0MzRjZDAzMDNjYzdiOGQ4ODk0MWVlOWJmMSBsZWdhY3ktdHJ1bmsKKzM1NTU4IDgzNWI2OTBkN2VkM2E1MDcyZDllNGY1YjU0ZjAxNDRlMTE1ZGE5ODUgbGVnYWN5LXRydW5rCiszNTU1OSBkYzViZDg0MjJkNTI2YWNiYmQyN2VhMzgxNDI2MjIxNWQwZjUzZDI3IGxlZ2FjeS10cnVuaworMzU1NjAgYTRlYWVlZDQwOThiNGQ4MzA2NjIwYWI4NmZkYTQ2ZDk3NGY4YTFmNiBsZWdhY3ktdHJ1bmsKKzM1NTYxIGZlOTQzMzVmMzhlMjQ5NzRkMTc3OWI1MjAzNjBkZDJiMGVmMDM3YmYgbGVnYWN5LXRydW5rCiszNTU2MiAyMDI0YjRlNmUzOGRhODM1MjU5MWI5YmUxNmZhODNkZjcwNmMzMWI1IGxlZ2FjeS10cnVuaworMzU1NjMgYmVmYjFlYTZjODhlYjJiZDgxMDJiYjE5OTU2NTAzZGMxNjg4N2JjNSBsZWdhY3ktdHJ1bmsKKzM1NTY0IDI5ZGE4YmRmZWI0ZTMxOTJiM2I5YTU5NWE0NzQ2MWUxNDM5ZjRhMTEgbGVnYWN5LXRydW5rCiszNTU2NSA4NTg2OTdkYjFlNGJlZGM3ZmYwOGQ2MjQyYTUxNDJiMGUxMzJlYWZlIGxlZ2FjeS10cnVuaworMzU1NjYgNTJjMTcyMjg5YWRkMWEzYTM4NzEwZDI0MDEwYmY4MjEyNDI2MjZmNiBsZWdhY3ktdHJ1bmsKKzM1NTY3IDRjZTA5OGYwMDVmMDAyZjdjNDNiYWIwZmZjYTYyZDlmNmE3MzQ5MDMgcmVsZWFzZTIzLW1haW50CiszNTU2OCBmMWQ0NDI5NWViZjdkOWU5MTU1OGU3YmM5ZDU1MDhkMWE2NWU1MzRkIGxlZ2FjeS10cnVuaworMzU1NjkgYmYzNzQyOWY2ZDlmMDUxM2NiMjVmM2YxMGFjOTMwMTkxMDk5ZThjZSBsZWdhY3ktdHJ1bmsKKzM1NTcwIDFjMTE3ZGJiMmRlZjRmOTNhNjBiOTMyYjcxNTc5ODUzZTRlNzE4OWMgbGVnYWN5LXRydW5rCiszNTU3MSA4NDZiM2VlN2UxMDZmMTIyZjhkN2UzYzE3ODY3YWI5M2M4NTQwMGQ0IGxlZ2FjeS10cnVuaworMzU1NzIgYzc2NjA2ZjM3MmQxMzRiOTdjYmY3NWNkMjhjODQwNjU4MzJiZmQ3ZiBsZWdhY3ktdHJ1bmsKKzM1NTczIGU2Mzc5YmRhOTFkNzk2OGFlMmE5NjBmYjAxYWJhMjk5YTEzM2NlNWUgbGVnYWN5LXRydW5rCiszNTU3NCAzN2RjOGM4MGNhN2VkOTIxZmU5MjgzMTQ0MmJhYjg0YjI4NGU2MDE4IGxlZ2FjeS10cnVuaworMzU1NzUgMjc3YjVhMmYwOGY1YzlmNDA5MWRhMjBlMjA2N2E4ZmMxNTFhMjdjZSByZWxlYXNlMjMtbWFpbnQKKzM1NTc2IDU5ZmUwOTgyNDM2M2IwZTRmYWJmY2E2MGNhNGQwNWU1YWNlZmRiOWQgbGVnYWN5LXRydW5rCiszNTU3NyBjMDUxZGM2YWIzNzQzODdiYTI2MWJlNmRmMTViYWZiYzliMzQ4MmFhIHJlbGVhc2UyMy1tYWludAorMzU1NzggMDI2MWUzODAxMWY2ZGU0MmE0NzY5NWRjN2Q5NWQwMzQzZGM1Y2Y4MyBsZWdhY3ktdHJ1bmsKKzM1NTc5IGNlYmRhMjNhYWFkYmM2OTEzMzcwMmIwYTUxMzFjMDEwYzNhNTNjMmQgbGVnYWN5LXRydW5rCiszNTU4MCAwNzgwMzI0NDRlY2M4OWMzMGNhZWI0NmVhYWYyNmIyMDM2NGI0NTNmIGxlZ2FjeS10cnVuaworMzU1ODEgYmM2ZWM5NWY1NzkyM2Q3Zjk0ZjQ1ZDA1YTE2ZmE5NWYyZGU5MGQ2MSBsZWdhY3ktdHJ1bmsKKzM1NTgyIDZjNjkxMGZkMDEzYTYyNjU1MWU4NDU3OGZlODhiY2ZhZjYxMWVmOGQgbGVnYWN5LXRydW5rCiszNTU4MyBmOTgyMTVkYWEzNWZjMjU3MDU0ZDA1ZTE3OTQ4OTgxODc4Nzk2MDdiIGxlZ2FjeS10cnVuaworMzU1ODQgN2ExMjA0MDA4ODhhZWY2YTgyN2UyYmFjNWJlMjY4NWVlNzQzNDliMCBsZWdhY3ktdHJ1bmsKKzM1NTg1IDFiZTU0OTlmMzc4ZTk5NzAwYmIxOThiZjY5NWQzMWI5NmUyODYyOWQgbGVnYWN5LXRydW5rCiszNTU4NiA0ZGI5NTg3MjkxOGViOTI4OWYxM2M3OGIyMThjMDM5MTkyMDdkNzk5IGxlZ2FjeS10cnVuaworMzU1ODcgODE4NGM2Nzc3MTNmZDYxZTAxMDU1MDkyOTE3MjlmYzEwZWUwNTNkYyBsZWdhY3ktdHJ1bmsKKzM1NTg4IDlhMTFhMjM2MTU0NzQ1ZGYzMWE5YTU4MjExMDg0NGU1ODYzNmViOWEgbGVnYWN5LXRydW5rCiszNTU4OSA0YjA5MzBiNTY1NjVmZDIwZmUyOWQ3NzY1MTRlNTI3NjhlYzU1NGY5IGxlZ2FjeS10cnVuaworMzU1OTAgNzVlMmY3NThlYzVhMDZiNmRhM2EwZGY1MTMzNzFhZDI2ZjFmOTNjMCBsZWdhY3ktdHJ1bmsKKzM1NTkxIDk0ODk5NmY2OTlkMmUyOTJhZDNkMjBhYzMxNTkwNGFiNGNmYmMxNzYgcmVsZWFzZTIzLW1haW50CiszNTU5MiA2YjE4NThkMTJmOGNhOWViYjJlNWY3MTgxNGE3NWQ4MGMyODA4ZTU0IGxlZ2FjeS10cnVuaworMzU1OTMgMTY4ZGFjZmJlZTY1YWE3YzlmY2JhMTUxYzdjZmRmYzAxYjI2YTU2NCBsZWdhY3ktdHJ1bmsKKzM1NTk0IDgxNzBhYWRjOWVjYTc0ZWRmODNlNTI1ZGI1M2EwN2FlZTlkMmM4NGQgcmVsZWFzZTIzLW1haW50CiszNTU5NSBiMDgyYjRkNDgxYzI1NjJkZGQzMWMzYzgyNDA0Yjc4OTM4OTM1MmMzIGxlZ2FjeS10cnVuaworMzU1OTYgYTRhYTdkNjFlNGFmMTk2ZWY2MGI0MDlmODZhZWNhMWRkMTlhNGNlMCBsZWdhY3ktdHJ1bmsKKzM1NTk3IGEyZTgwZmE3MzU5YjU1MDAwODBkNzcxYzJiYjk3MmY4MmI5OWY3Y2EgbGVnYWN5LXRydW5rCiszNTU5OCAzMzFkZThiOWQxZWQ1NWM0NWZiYTM5ZWY1Nzk1OGEwNzQ4MjAyYzg5IGxlZ2FjeS10cnVuaworMzU1OTkgMzRkNWViMWU1MDdkYzI3YWYxYjZjNjk3ZTYzZDlkNDFlNjBmNTcwYyBsZWdhY3ktdHJ1bmsKKzM1NjAwIGQwNzg4MzkxYzEzYmNmMjMwNTcyYjc4OGY1ZmZmYjBlYTE0Yjk5YzYgYXN0LWJyYW5jaAorMzU2MDEgYWFkYTkxYzVkNmQ5YzcyNTZjYWNiNjM2YWI3ZGNmMzQyYTQzZmFjNyBhc3QtYnJhbmNoCiszNTYwMiAyMjkwODUzYWI0MGE2MmQ3OTUwNDU4MmZlMzMyNGZjNGEyMGJkYTIzIHJlbGVhc2UyMy1tYWludAorMzU2MDMgNTkzMjQ2OWRjYjM1OTMzMjc3Y2VhYzc1OWIxMDU5ZDMzNGZlODc4ZSBsZWdhY3ktdHJ1bmsKKzM1NjA0IDNlZjU4ODg0YmRkNTIxYTE2ZWRiNTRjOTJhY2JlMjJlYWUyMTU4MTcgYXN0LWJyYW5jaAorMzU2MDUgZjRlNWY5YzJlMmIzYjkwYzdjOTMwMDM1Y2U0YTNjZDM4OTFiMjVlZSBsZWdhY3ktdHJ1bmsKKzM1NjA2IGE3NmFkODNhNDEzZjBlMTIxNTBiZDQxMzc0ZjgyZWY3MWY4YjgwMWYgbGVnYWN5LXRydW5rCiszNTYwNyA5YjE3ZjNjYzIzZWRjZWY2YzI0YmE5NDQ0ODk0YTk4OGQ4YTc2MWZmIGxlZ2FjeS10cnVuaworMzU2MDggZTI2MWUwYzJjNzJkNzVmZDM3MTNmYTg0YTFiMzhkZTNkYzllNDZhNSBsZWdhY3ktdHJ1bmsKKzM1NjA5IDY0ZTJmN2VjNTU3NmIzYTU4NDJmYWY0NTc5YWU0NmFlZTE2OWNhNGIgbGVnYWN5LXRydW5rCiszNTYxMCBhOTEwYjgyMmIxMmNiM2ZjNGZjZTE5NjM3OTI5NTc4ZmU4NDRjYjg3IGxlZ2FjeS10cnVuaworMzU2MTEgNzM5MTI4YzY3YzMwZWY4ZDk4N2U3OWY2MWNlNDFlZmJjZGQ4MzdlYSBsZWdhY3ktdHJ1bmsKKzM1NjEyIDQzMzY0MmY5M2Q1OWRiYWQ0YzhhMmZiYTRjMTcwNGRmZTc2NDNiNGIgbGVnYWN5LXRydW5rCiszNTYxMyBlNDJjYmFmZjgwMjdkOTFmYWFiOWNkZmI1MWI0NGY4NjY3YjZhYzkzIGxlZ2FjeS10cnVuaworMzU2MTQgODExMTc5MjNhZThmMGM0NWMxZWE3ZTIzNmI5ODM4MDllNmYzYzU1OSBsZWdhY3ktdHJ1bmsKKzM1NjE1IDY3N2MwYmYwNTczNWU4YzE4NjNmZWQyNGQ5ZTEwNWYzYmYwZDI2YzggcmVsZWFzZTIzLW1haW50CiszNTYxNiA0YzA2ZjRmYWVkODc3YmFiMTliM2NkYjU3OTRjNmJkZGM5MjRjZDMwIHJlbGVhc2UyMy1tYWludAorMzU2MTcgZDIwY2I2MzU3ZjVlYTE2MWIzNWExMDQyNGM0MjUxMTdhMmUwYmYzZCBsZWdhY3ktdHJ1bmsKKzM1NjE4IGIxZWEyZjNmNDY3ZWY3ODU2MmRmZDc2ZDE4MWY4ZTZiMGI5ODFmNGYgbGVnYWN5LXRydW5rCiszNTYxOSBmYWE3MTRkZDg2ZDNmMTA1ZDNhOGMwYmFlMmFhMTZiZjAyNjFmNWI1IHJlbGVhc2UyMy1tYWludAorMzU2MjAgZjRjMWMzZTYyN2RmOGZlODY2MzFlMjQyOWNlYzExMzQ5ODAxNDMxZiByZWxlYXNlMjMtbWFpbnQKKzM1NjIxIDgxNGNjOWY4M2ZhYWI4ZGUyNTllNjU0Y2Y4YTNmOWRkMjQ0NDYxY2IgbGVnYWN5LXRydW5rCiszNTYyMiA2NGNjMTYzZWVhZjEyMTM1MTM2ZDcyMmEwY2E1YTc3MzdlODZlNzI3IGxlZ2FjeS10cnVuaworMzU2MjMgOTI1NTI0NjcxNDVlYTdkOGYyNmI0ODk3YTAyZGIyZmU2YzIwNTY1YSBsZWdhY3ktdHJ1bmsKKzM1NjI0IGM1N2NmYTgzMjhkNDNhYTk5Y2U2ODAzNDM0YzUzMTQ1Njg3Yjg1MzkgcmVsZWFzZTIzLW1haW50CiszNTYyNSBjNGM3ZjBmMzlmZTliODM3MWU4NjUyY2YxMjg2NjU0MjcwMWYwNzk1IHJlbGVhc2UyMy1tYWludAorMzU2MjYgOGQzODJhYjk5YmRiYTllOWQyZWI1YzY3NmQ0MTY4OWM0Y2QzNWFkNCBsZWdhY3ktdHJ1bmsKKzM1NjI3IDY5NmY0YmE5ZGRmN2IxNmQ0ZDllYThhNzllNGE3MDk1ZGM4YzM4Y2YgbGVnYWN5LXRydW5rCiszNTYyOCBhZGI0MmE3MTE2OTYwNGQzNjA5YWMyZmJkYjY0Y2Y4Y2QxYzcyNTBiIGxlZ2FjeS10cnVuaworMzU2MjkgMmNmZTE0Mjc1YTA0NDA4YjYzZjBkNjI5OGUwZGM3YzgzZDg5ODdlZiByZWxlYXNlMjMtbWFpbnQKKzM1NjMwIDNhZDQyYjdkNDY2MGFjM2MxOTUyMTUzMjc2ZDU3M2Y0ZGNhOTgzZjAgcmVsZWFzZTIzLW1haW50CiszNTYzMSBmOGIyOGU0YWM0MzVhOTc3ODk0ZTAyMzdhNGZmZGVkNjRhOGE1MjZkIHJlbGVhc2UyMy1tYWludAorMzU2MzIgNWY2MGIyMjYwMTllOWYzYjQxM2FmMGVmODBmZGJjMmFhOThhYTE0YyBsZWdhY3ktdHJ1bmsKKzM1NjMzIDhiY2IxMjFjNTQxMTFiZmJhMTczNjMyNWQ1MjU1NTExYjNlYWY5MDAgcmVsZWFzZTIzLW1haW50CiszNTYzNCAwNTk4OWI0ZDZjZTgxNTdkNmYyNTJlYmMyNGFiYjY1OWU3ODkzOTg0IHJlbGVhc2UyMy1tYWludAorMzU2MzUgMGQ4ZWUyOGJmNmYwM2ZmY2NhYTQwZmVjMjhmNTkzM2NjYmI5YzZhYiBsZWdhY3ktdHJ1bmsKKzM1NjM2IDU3NjVkNjU2ZTBlZmQ4N2QxY2MyNzg3NjQ2Nzg5MzNlZDlmMzI2OTMgcmVsZWFzZTIzLW1haW50CiszNTYzNyA1MDEyOGZmMTk5NjU4YjE0NzY5ZWNhYzBjNDhlZmJiZjhmOGMxZmJlIGxlZ2FjeS10cnVuaworMzU2MzggZDA0ZDc4NmFiNDU4MTM3OTUxMGRmYTVmNmNjOTYyYWM1OWUzNGZlMSBsZWdhY3ktdHJ1bmsKKzM1NjM5IGRiZDNmYzIxNGI2NjZhMzY4M2EwY2Q5ZmU0ODRjNTNjNzdlYThmNjYgbGVnYWN5LXRydW5rCiszNTY0MCAwMDcxZDZlYjgwYTFmYTIwOTM5ZTg2ODk1OTcxNWIwNDg3YWViNTljIHJlbGVhc2UyMy1tYWludAorMzU2NDEgYTQwZDc5ZmUyYTY5ZTJhZmVjNTM3MzM2OTYxYjhmYzc3NmU4ZDNiNyBsZWdhY3ktdHJ1bmsKKzM1NjQyIGI0ZWM5Mjk5NTYwZDgwODliMjQwNTU3ZDY3ZjQwNjE3YjU2ZTJmYjAgcmVsZWFzZTIzLW1haW50CiszNTY0MyA1NTIwNDRiNTA1OGQwMThkMjJkMjA3NDNlNmNiZjFiMWQ3MzlkZWIxIGxlZ2FjeS10cnVuaworMzU2NDQgNTFhYWNlZWFhYmUxMWVhZmU3NGQ2MmNiMzQyN2M3Yjg0NmY3MGI4MCBsZWdhY3ktdHJ1bmsKKzM1NjQ1IDE1NjAzN2JlMzU1ZDk4NDYwNzY2ZDBmMDNkYWQ4YmFhZmNiYmMzYTUgcmVsZWFzZTIzLW1haW50CiszNTY0NiA1YTM2ZTRkNWFhOGYwZDQwNTg1ZjQ1ZGViNDAzY2U5MDhhYmU0ZmQ2IHJlbGVhc2UyMy1tYWludAorMzU2NDcgYzdmOWZjYTk0NmQxNmI3MDRjMjNiNjAyODUzNmViOTM2ZmJkZmQwMyBsZWdhY3ktdHJ1bmsKKzM1NjQ4IDAyMGRjNWRmZDVjNWQ4OGRkMGY0NTcyNjk1ZGM0Y2ZjOGM0MDUyY2UgbGVnYWN5LXRydW5rCiszNTY0OSA5ZjVmZTZiMjNlNTkyMGU1NzlkM2E2YmFjYzNkZGQwMWViYTdkNDhmIGxlZ2FjeS10cnVuaworMzU2NTAgMjI3Y2I3NDAyYzZlOWJmNjdhMDBhMDIzNTc1NDY4NzIwMWZlNWFjNCBsZWdhY3ktdHJ1bmsKKzM1NjUxIGM4OGQ0NjEwZjI4M2NiNmQxNjJiOTU4M2NmNDdmZmQwZDJlMTRjZmMgbGVnYWN5LXRydW5rCiszNTY1MiAxZmIyMzEzYWMzY2VlNThmZTdkMzk1MmUyMWE3YjY3OWU3MzUyNDJkIGxlZ2FjeS10cnVuaworMzU2NTMgYzkwNmJiMmExODI0NTUxZmM4OWZjMTRmYzg2N2UxMWY0NmRmMmI1MyBsZWdhY3ktdHJ1bmsKKzM1NjU0IGEyZmIxNjc4NDFlODM4YzI2YmQ0Nzc5Y2ZlZDkxNjFjOWU0ZWNjNDggbGVnYWN5LXRydW5rCiszNTY1NSAyNmVlMWIzZWIzNDUxYTcwYjQ3NjQyY2RmMTJlZGY0ZmZlODQ5NTM0IGxlZ2FjeS10cnVuaworMzU2NTYgMWEzYTQ4Y2JiMTYyOGQ0MzQwYWJkNWIyZTgzYWY2MWUxZDdiZmNkMCBsZWdhY3ktdHJ1bmsKKzM1NjU3IDRjNmZkZWI4ZTJlMDIxN2YzNTZiZjFhZTBhZDk0YzVjZjc0MzYxMDcgbGVnYWN5LXRydW5rCiszNTY1OCBmMzViNGFjYzU5NGY5MGE5ZjYyOThiYTQ1ZDE4MTVlMmY1NzVmMzc5IGxlZ2FjeS10cnVuaworMzU2NTkgNjk5NzA2NTNlY2JmYWM5NGNlNzU4MTVlY2FiMjM1N2I4YzU1ZTU0ZSBsZWdhY3ktdHJ1bmsKKzM1NjYwIGY5Y2Q3OTkyNmZmNzc4ODFhMjEzYzkwOTVjMDkwYjRkMWI1OWMyM2YgbGVnYWN5LXRydW5rCiszNTY2MSA5ODY1OTRjM2U0ZDlkYzEwMzQ2MmNlYzUyM2NmZDYxMzRiMjY3ODIwIHJlbGVhc2UyMy1tYWludAorMzU2NjIgOGMyNjQyMGQxZjIzNTNhMDNjY2NiZTMzNmU3MmM4YmFhYjU5MDVkZSByZWxlYXNlMjMtbWFpbnQKKzM1NjYzIDdiODE3MTE5YmI2NjBiNTMxYTMzMzNiN2JkYzU2MjZlOWY4ZjAzMjkgYXN0LWJyYW5jaAorMzU2NjQgYzY4MWQ5NWNmNzllYzUwYzViODU5MzQ1ZmUwYzExZmY3YmM1YTZiYSBhc3QtYnJhbmNoCiszNTY2NSBjMzcwYWFlOTgyMzIxNjM2ZGI5Y2NlYWRhYjUyMjQ2ZDAxYjRjY2NlIGFzdC1icmFuY2gKKzM1NjY2IGI0Njg0MjM0YmYwNzAxZjA4YTc0OWIxYWQyYzM3YzAxNjM1Y2E3YzEgbGVnYWN5LXRydW5rCiszNTY2NyAyZTUyYzIwZGVhNGY2MWRhOGRhZjBhMjdlYmRhMjg3NjgwZWE1YWQ0IGxlZ2FjeS10cnVuaworMzU2NjggZGQ5M2EzMmFjMzNlZmYzY2I4NmQyNzY3OTk2ODUwNGRiMDRjMjYxMiBsZWdhY3ktdHJ1bmsKKzM1NjY5IGRmYzhjNWY2Njk1OTU4MjE0NGRhYjZlZDljYzE2YTUyZTljM2NhOTIgcmVsZWFzZTIzLW1haW50CiszNTY3MCA4NDhiY2UyMjE1ZDM1YjZkZmZhOWQ4NWZhMTJjYTY2NDc2MjgwN2E5IGxlZ2FjeS10cnVuaworMzU2NzEgYzcwYmIzMjIyN2NiM2JmZTZhMGU4MzNmZGJlOTdmZjQxM2U2M2YzNiBsZWdhY3ktdHJ1bmsKKzM1NjcyIDA4MTk3MmFlMmY4NDQyMWZkNjRhMzIwNmE0NDI2NjQ0ZTY5MGQ0NzkgbGVnYWN5LXRydW5rCiszNTY3MyAyNDEwODllNDM3ZTAyOWU5Y2EwZjIwZTM5OTA3Y2RhMDgwMjllZWNlIGxlZ2FjeS10cnVuaworMzU2NzQgMzEwZGQ5OGVhMDY0NjE5Y2I5ODgzZDgwZTljMWNmMGI2ZGNjNDExZCBsZWdhY3ktdHJ1bmsKKzM1Njc1IGM1NmVhNjBjYjNiZjc3NjNkOTViM2RmMGMwYTAyOWM3OTExYjMwNDIgbGVnYWN5LXRydW5rCiszNTY3NiBjYTJmYjVjZjJmZDU3NWM3MjliZTEyNTJhNjQ2ODM1YmJiM2E2MzBlIGxlZ2FjeS10cnVuaworMzU2NzcgMjc5NGY2MjdlYmFhMDAxNWY4ODc0Mzg5ODVkMjRhZWEwZGY5NzQxMyBsZWdhY3ktdHJ1bmsKKzM1Njc4IDY0ZmNmZjEyMWY3YjVkZWRjNjc3ZTA3OGYyYzQ1Y2RhNDVhNzY2MjEgcmVsZWFzZTIzLW1haW50CiszNTY3OSA2ZTU0YzU5Mjg1M2M2NGM3N2VhODVlNDYwNmNkNWQwNmNmMGQzNWNlIHJlbGVhc2UyMy1tYWludAorMzU2ODAgMDI2NWJmOTkxMmVhMjkxMGQ1ODMxZTcxZmJiMWRlMGI2NTMxMzMyNCBsZWdhY3ktdHJ1bmsKKzM1NjgxIDM1NTQ3MzUzNGM3MDY4MTBmNjc0NjY4MDlkMjNiMDhkYzQ2OTNjZmEgbGVnYWN5LXRydW5rCiszNTY4MiBjNDg4OGE4ZmNmNzA2MWI2NDZhMWY2NGU2MjEwMmRmMTRlZjg2MzA2IGxlZ2FjeS10cnVuaworMzU2ODMgZTk3NTE4YzY2YWNjMDgxNTZkNzJmMzdlNzU5ZDNjNjg4MWZiZjVkZCBsZWdhY3ktdHJ1bmsKKzM1Njg0IDg5NzVkZWZiZjNhOGIwYWI0YWVmMTEzZDhmMTJiNWQ4ODA1ZjVkNzEgbGVnYWN5LXRydW5rCiszNTY4NSBlNzYwOTJkNDkwMmNkNDRkY2Q2ZmM3NTEzNWJhMjIwZjIxNmI2MTE5IGxlZ2FjeS10cnVuaworMzU2ODYgZjM5YzU2ZjhjY2MyYmU0ODY0NWFmOWRlNDAzNjBiNmZhNTZjZDNiMCBsZWdhY3ktdHJ1bmsKKzM1Njg3IDg4ZDYyNWQ5MjhhY2RiYTA3ZTA1ZWJjZmYzNzM1OTc1ZjIxNjJkOGQgbGVnYWN5LXRydW5rCiszNTY4OCAwNTg4MjFkOGFlZmRjNTBjZDQ3ZjliZGM3ZDMzNzE1MmY0NWUzOTBjIGxlZ2FjeS10cnVuaworMzU2ODkgNmIyMzY5OTQ2ODRhZjkyOWM0NjAwMTNlNjIxZThmNDIzZjJjNzU1MiBsZWdhY3ktdHJ1bmsKKzM1NjkwIGNlYzc0MGY5MmZhNDIyNTAwMzU1MDc5NjdmNmUxNjYxZTVkZTA1ZWQgYXN0LWJyYW5jaAorMzU2OTEgYjMzZGRiNDhiN2UwNGUxNTZkODIxZTRjYTUxMWJiNjE5Nzk2OWYzNCBhc3QtYnJhbmNoCiszNTY5MiBlYjZmNThjM2Q5NzI1ZjA1MGQzZGFmYzA0YWJlYjFjNmM2MjBhNGE1IGFzdC1icmFuY2gKKzM1NjkzIDE2ZTc1M2ZmMzFiMjI2OGM4NTU2NjNiYmI2MGY4MDNhOGZhNzZiMGYgYXN0LWJyYW5jaAorMzU2OTQgNGE1NDMzMDZkZmZhMTY4ZjBjNWE4NDFmZWU2NDZkNWZkMDdkYjUwYiBhc3QtYnJhbmNoCiszNTY5NSBmN2Y0MTNjNjU0ZjRmYzNiNGU3NDc2NzdjNDg1MjgwYjkwMmY4N2MzIGFzdC1icmFuY2gKKzM1Njk2IDU1Y2E5N2U3YmQwZmEzNmQwN2IxMmE3YzgyNWRlMzg2ZjQxODVlN2EgYXN0LWJyYW5jaAorMzU2OTcgYjI0MmI0ZDdlMTc3NDI4YjAzNTBmNDJjMjJjNmYwYzAzMzgzMjcxZCBhc3QtYnJhbmNoCiszNTY5OCBlMTE0MGU2MDFlNzIyODRlN2Q3MWFmZmFjMDhjYzM3OGFiOGI4MzcyIGFzdC1icmFuY2gKKzM1Njk5IDczNDg2ZmY2YjU1MmYzODg3ZDg4ODg2NjdlYTc3OTRhYzEyMGYzNzIgbGVnYWN5LXRydW5rCiszNTcwMCA5ZGY1MTg1ZmM1Y2FiZTFhNzc0YzlmMDJlOTA4YmU1NGQxN2NlODZmIHJlbGVhc2UyMy1tYWludAorMzU3MDEgYTU4NmY3NTJiMmJkY2NlZjVmMmQxMDU0ZTA3OTFmMzEyY2YxZjAyNCByZWxlYXNlMjMtbWFpbnQKKzM1NzAyIDcwMzg5NzdjZWE4ZGU2MTMyMWFiNjliZmJjNDViYzRhZGVkYzZjYmIgbGVnYWN5LXRydW5rCiszNTcwMyAwOGEzOTFmZGU2OGRhZjM3NWM4NmU4ZjNkODc3MTU1NmViMjIyMGQwIHJlbGVhc2UyMy1tYWludAorMzU3MDQgNTZmZWQwOWQwMWYzN2VkNDM3MmVlZDgyYTgxZWM4MmQyZmM0ZjA3ZiByZWxlYXNlMjMtbWFpbnQKKzM1NzA1IDRiYzYyMGY0N2ZiNDJlZWUwZjU5ZGIwNWVjODljODJmMDU5YmU2NTYgbGVnYWN5LXRydW5rCiszNTcwNiA4MTYxOWRjYmZhZTdiNTU2NDY2YmM1MmVhYjhkNjY3NDgyNGQxNDFjIGxlZ2FjeS10cnVuaworMzU3MDcgM2M3OTY0MTNmMDVlNzI5ZGUzNDAzNjRhMDJlZmNjOWYzMzEwODhhYiBsZWdhY3ktdHJ1bmsKKzM1NzA4IDM5YzM2NTI2ZDFiMDgyMjNlNThjZWFjYmU0YjY5YWEyMWRlNzA5MjkgbGVnYWN5LXRydW5rCiszNTcwOSBkMDNiNTRlNjBhNjc2YjFmN2QyZWNkZGNlNDFkMmYyNmE2YWVlNmU4IHJlbGVhc2UyMy1tYWludAorMzU3MTAgNGRiMGM4NGY1YzZhMzU5YWNmOTAyNGI2NzUwODJiZTk3Mzg5M2RkMiBsZWdhY3ktdHJ1bmsKKzM1NzExIDNjNjE4YzY5MzllMzM0Mjc3MmUwYTUzZWE3MWQ0OGQ0MmY4NjMzZDggbGVnYWN5LXRydW5rCiszNTcxMiBmYmNiY2RhMTRiOTJlYzMyMzUxOWVkMzY5M2I1MGZkYjIzNzkzNDM1IGxlZ2FjeS10cnVuaworMzU3MTMgMjJhNTUwMjhhNzhkM2VhODA2NTM5NDM5ZGIyN2UyMzZiMDUxNzBkNSByZWxlYXNlMjMtbWFpbnQKKzM1NzE0IDUxODRkNjljMjRkY2I5YzYyMTA3ZDQ0YWQyY2U0ZGQzNGEyMThiOTYgcmVsZWFzZTIzLW1haW50CiszNTcxNSAwOTgwMGJhMmE2NTM0OGEzM2JjZjEwNzYxMDA3MmE2NDZlYWMzNWY3IHJlbGVhc2UyMy1tYWludAorMzU3MTYgOTM5MTdkZDhhODdjMjEwY2ZjNDlkOWVkODE4MTE5MDliN2Y2NGI1NSBsZWdhY3ktdHJ1bmsKKzM1NzE3IDYwODAyOGYzODhjNWM0OWM3Nzc3OGVjMmFiM2VmZDc3NGE1NDEwODggcmVsZWFzZTIzLW1haW50CiszNTcxOCA4ODZkNjZmNTExMDVjNDczNjlkN2NiODA3MzNjMzkwODA0YjZiZDU4IHJlbGVhc2UyMy1tYWludAorMzU3MTkgZjhjMGFjNWJlZjAyOGNjMTVjZWNhYTUzNWVjM2NkOWY5MTM1NWRlOCBsZWdhY3ktdHJ1bmsKKzM1NzIwIDYzYjY4Y2IyYjQ0MmY0ZTY2NGZmYTU4ZDU5ODY5Nzk0MWFlMjQ4OTMgbGVnYWN5LXRydW5rCiszNTcyMSAxZjI5MzRhMzE4Yjc4MWJhNTlmNDQxOTJjZGRkMjcwMjM1Yzk5MzI1IGxlZ2FjeS10cnVuaworMzU3MjIgMTBiYTI0MTYyMzkxMTBlOGFmN2IwNDU0ZDgwOTBkMzlhZjI5ODliMSBsZWdhY3ktdHJ1bmsKKzM1NzIzIGZkYWJiNjgwOGQ1MmZiZmEyNTRiMGUxODIxZGE2MmFmNzM3OTk5MmIgcmVsZWFzZTIzLW1haW50CiszNTcyNCAwMWVhMDNlN2IyNjVmOGI3OGY1OTc4ZWJjOTBhOGI0Mzk0MDNhMzIyIGxlZ2FjeS10cnVuaworMzU3MjUgMDFlMzE2NDg5ZDY3OTkyMjQzNjYwZDFkODBlN2JjYTNiZjY4YjFlYiByZWxlYXNlMjMtbWFpbnQKKzM1NzI2IDY2MzY4MTE4YTE5YmMwMzU4YjNhOTFmZGQ4ZDI5ODM3YzgzNzdjMDcgYXN0LWJyYW5jaAorMzU3MjcgZjFmZDFhZTQyMTM2YTAyM2U0ZjM0N2VhYmQ1OTM3MGVkYmU4OTI1MCBhc3QtYnJhbmNoCiszNTcyOCBjOTIxNDM4MjY2NWY0Y2Y5YjNiYjdlNmFjZWY1MzNkOGRlMDdiYzY5IGFzdC1icmFuY2gKKzM1NzI5IDA2MDE0ZjcxZjE2MzZhOWNmMDQ1NGU3M2VmYTY0OTA2OTc4MGM3NTYgYXN0LWJyYW5jaAorMzU3MzAgNzY3M2JmZjc0MTIyOGI4MzQ5NWRkNzUxMjUzZmYxNjEwOTdkYWNhYyBhc3QtYnJhbmNoCiszNTczMSA0YzM0YWM5ZGE5M2Q0MjQ2NTk3YmRkMWNlMWJhZjg2OThmNGY5N2RhIGFzdC1icmFuY2gKKzM1NzMyIDdjN2EyOTgxNDU1Y2E4YjNiY2I3NTg4NzIzMGIxNGM3YmIwOTExYTEgYXN0LWJyYW5jaAorMzU3MzMgZmY1YTMxYTcxZDlhNmIwZWNjNTU4MzIwZjczNzRmYmJjNzRkYTM0MyBsZWdhY3ktdHJ1bmsKKzM1NzM0IGZmMjU4YzY3MWQzY2NkNTEyZDFhOTIyOWQyOTkwMjkwNDY3NTFhM2QgYXN0LWJyYW5jaAorMzU3MzUgZGI4YzQ1YjllODE4NmVjMmU1MmUzN2RmZWZmNjdiNmZhNDc0MTk4MiBsZWdhY3ktdHJ1bmsKKzM1NzM2IDlkMTYzM2U2YzQyZWI5ZDM4YWFmNWI5MDExZGZlZWMxZWNiY2M4OWIgbGVnYWN5LXRydW5rCiszNTczNyAwNTk3NDBkNTJhZTVjNGU4ZjNkOWM0ZDJlZTY0NWZhZTA2ZDcyMGM5IGxlZ2FjeS10cnVuaworMzU3MzggMzIwMzU0Yjc2NmU3MmQzMDRkYzMwNjI5ZGEzYmIzMzRiNzA4ODNjZSBsZWdhY3ktdHJ1bmsKKzM1NzM5IDEyNmQ4MTU1NDZkMzM3OWZiMzYyYWNiZTczODI1OWM3NDk5ODdjMTggcmVsZWFzZTIzLW1haW50CiszNTc0MCAyMjhlYTc1NzcwZTNkZTgzMmE0MTdkOGY2MTQ3YzRjZDRkNzBmYjZiIGxlZ2FjeS10cnVuaworMzU3NDEgMzBlYTBiMzUyZmMwMmZkYjJkMzEwODhhYWUwN2VhM2FlMjNiNjc2NSBhc3QtYnJhbmNoCiszNTc0MiAzYjQ0MDMzNjA3NzVmMDQyMjMzMzJlMWNlZjMzMzlmMmU0ZjZmZDU0IGFzdC1icmFuY2gKKzM1NzQzIGFiNDllNmZkNzc0NjUwMGUwYTJhZDk3ZGE0OGI4OGZhMjAzNzQzYWUgYXN0LWJyYW5jaAorMzU3NDQgMjBiNWU5YTZlZjZiMGE1YTdhYmUyZTE3NDJlMTQ0Y2M2NDE4YzE0YSBhc3QtYnJhbmNoCiszNTc0NSAyODIyZWQ5NTYzMDlmZThkOTVkZjA4ZTMzM2I3MTc1N2FiNzM1ZGY4IGFzdC1icmFuY2gKKzM1NzQ2IGFhYjc3NmQ0MWI0ZjUxODRhYzQ1ZGM1YmRjZGViNmE3Njc4Y2VkZjMgYXN0LWJyYW5jaAorMzU3NDcgYjYxZTVmOTNlYmUwYTEzMzQwMDg4ZjFlZDY4MTY0YjliZjdiODYwOCBhc3QtYnJhbmNoCiszNTc0OCBjZTc2YTlkNmU2NTMwOGYwMDRhMmU3ZGMxYzE4ZjUzZGQwNTM0ZDg3IGFzdC1icmFuY2gKKzM1NzQ5IDA2MTEwOGE4OTUxNmYxMWY0NWE1ZDJmYmQ5MjVhMWQ4YmYxZGIzMTQgYXN0LWJyYW5jaAorMzU3NTAgMjQ0OGY2ODRjZTllOWM0ZTliZjZiYTdlMmQzMDQxZmMwNzdlOGIxYSBhc3QtYnJhbmNoCiszNTc1MSA0ZjBhMWU3YWQ2OWNhMTU5YzdjZmUyZmQ4YzM0YTQ1NjNlMGY5NWFhIGxlZ2FjeS10cnVuaworMzU3NTIgOGYxY2U3YjBlNDIzZTMyOTYwOWMwYTNjY2I4NGM4MGU0OGY2NmI2MSByZWxlYXNlMjMtbWFpbnQKKzM1NzUzIDY5YzFhYjZiMjYwMjE0MWIwYTdjYTQ1YTQxMzZlYjFmNDQ4YWY3NzQgYXN0LWJyYW5jaAorMzU3NTQgNTRhZTlkZTM4ZjBjMmRkYzAwMjdkNGE0YTYwNmQ2MzE2MGIzNGY1YiBhc3QtYnJhbmNoCiszNTc1NSAwMjA0NDNhMTBjMjAyNThkMzgwNjFiN2YyNTI3OThkNTczZDQ4NWM3IGFzdC1icmFuY2gKKzM1NzU2IGJiMjU1Zjg1NTk5OWU5ZjYwZTUzZmRhN2VjNDA0NTY4ZWIyYzk1ZWIgYXN0LWJyYW5jaAorMzU3NTcgMTgyMjk1MzgxZjE0N2VmZDgzNTk1MmU2MTU1YjZjNTg0MGY3NmQ1YyBhc3QtYnJhbmNoCiszNTc1OCA1NDY1YTJjYjBhZWE3ZTc3M2E2ZGQ1ODZhNjA4YTc2NzdlNzI2ZTMwIGxlZ2FjeS10cnVuaworMzU3NTkgMGM2Njc2MTI0MzA4OWE0M2I5ODQ1MTI0NjgzNjVkYzhmMTU1Yzk2ZiBhc3QtYnJhbmNoCiszNTc2MCA3NjVmZTE2ZjY2NWI4OGQzMWRkMzQ5ZDM5NGEyZjBhOWUyNzhhODAwIGxlZ2FjeS10cnVuaworMzU3NjEgNGJlOGUwMTBiZGI5ZTljMDJjZTJiNzY1NzcwMjMyYWY3YjU4OTlkOCBhc3QtYnJhbmNoCiszNTc2MiAyMDBiZjc5YzAxNTk2MDlkM2M3NWJhZDU2YTQ5MTVkNzk3ZGJiZmNiIGFzdC1icmFuY2gKKzM1NzYzIDU2ZjliMzFhYzY5ZmE0MGY5MmU1NjNkYzY0NDE5YWQxNmJmMzFhNjggYXN0LWJyYW5jaAorMzU3NjQgMzQwZTQ5ZTAxNTc2NjQ3Yjc5MzlmYjUwOGYzMDU1ODcxZmNhNjYwMiBhc3QtYnJhbmNoCiszNTc2NSAwYWVjYzA3ZTM1ZDlmYzYyNWVhNTg4MDA3MjgwZWY0N2JmYzc1YjdhIGFzdC1icmFuY2gKKzM1NzY3IGY5NTBlZjMwOWQ3NTEyZjVlY2FiNGU4MDk3MWYzOWI4NDM4YzVmOTUgbGVnYWN5LXRydW5rCiszNTc2OCAzODM4Y2RlZTFhMjAxYjNjMmU1OWJmMmFiNmMwODdhMTQxNDc4N2IzIGxlZ2FjeS10cnVuaworMzU3NjkgNjE2N2U3OGExN2E4MjZhODM4ZjU0NGI5ZmNkODk2MWUzMDJhY2I3ZSBsZWdhY3ktdHJ1bmsKKzM1NzcwIDBlOWUwYzUzNDlhMGRlZWIwZTE0YjljZTllYThiYTJhMzk0ZTcyZjMgbGVnYWN5LXRydW5rCiszNTc3MSA5MGUwODk0YWVjNWJlZDM4ZDMzMmMxOGU3NDkzMDIzZjI5ZDQwODVkIHJlbGVhc2UyMy1tYWludAorMzU3NzIgNTgzMTc4NTE4YmQwY2QzMDdlODFhNmRiNjFhZDQzODg2ZDczMTUyNSBsZWdhY3ktdHJ1bmsKKzM1NzczIGNmYWZhZWE5M2Q5MDk1ZGM0YTlmN2E3NWU5NmM0NDVhNzU0YmUxODQgcmVsZWFzZTIzLW1haW50CiszNTc3NCBlYTllZTliNzQ2NzI5Y2I1NDRlYzQ2NDExMzZkYzE0YWM0MzJmMGM0IGxlZ2FjeS10cnVuaworMzU3NzUgZjJjZWExNmExZjM4MmQ0Yjk3MzNkOTBmOTgyMDNkMDFmNDVmOGQxOCBsZWdhY3ktdHJ1bmsKKzM1Nzc2IDQ3ZWQ3YmNkZjA4NjQ2YjRjZmJkOTNkMzIwODdhMmViZjhlYjJjZjYgcmVsZWFzZTIzLW1haW50CiszNTc3NyAzMzg1NzdhZmRhYjZkOGJkMTIyMzg2MDhmNTU3ZDViOTg5OTIwNzNlIGxlZ2FjeS10cnVuaworMzU3NzggMWNhM2E2MmEwMDlhZDRjNWRkM2Q0Y2JlMjY4YmNhMTI1YjkzYjhhZiBsZWdhY3ktdHJ1bmsKKzM1Nzc5IGY5ZmFmNTU3MTcyMDJkMzNjNGVhODI0NTNlOWZhODBiNTZiYTAwM2YgbGVnYWN5LXRydW5rCiszNTc4MCBmYWE3ZWViMTE4Y2Y0N2FkYTVlOGJkOTQyNjA1NmEzMDBhNjgwNjE4IGxlZ2FjeS10cnVuaworMzU3ODEgYTQ4ZTYwOGJhNjA1ZmExYmU3NDQ5Mzg5ZDhiY2VmOWVkZDZjMGIwZSByZWxlYXNlMjMtbWFpbnQKKzM1NzgyIDVjYTEwM2MzN2Q1ZTBiZGQ4MGI2ZDY0YzVjNzQ1MjdhODhkM2MyN2UgcmVsZWFzZTIzLW1haW50CiszNTc4MyA1YWI4MTJjZDBkYjc1NjIyNjU0ODA1ZDcyNjMyNjU3M2ZmOGFkYjk1IGxlZ2FjeS10cnVuaworMzU3ODQgZWYzNGRlYzAwNGNkZGY3OWM3ODI1YWI1MTY3YjQxMDNhMzcwNDFkNiBsZWdhY3ktdHJ1bmsKKzM1Nzg1IDIwNGI3YmNlYWQ0Yzk4ZWZiY2VlOGUxNzY2NjI2ZTNkMTc4MTljODUgbGVnYWN5LXRydW5rCiszNTc4NiAzZDA0NmQwNjNhODRhOWJhMDEzNDE2Njg4OTIzNzMzODljODc3OGM1IGxlZ2FjeS10cnVuaworMzU3ODcgMjI3NmRlODkxZmUyZWY0ZGNmZGFkY2IxNmI2NDM0ZmRjNzk1NzdjYSByZWxlYXNlMjMtbWFpbnQKKzM1Nzg4IDBjNzZhOWU1YzgzODJjM2JkNjNhMmEwM2ZiOWMxNjMzMGQyOWM1MGQgbGVnYWN5LXRydW5rCiszNTc4OSA1YzM1YjNjYTViYTkzZDk2YTdiNmE0ZTM4NTJkZWJiMjI0YjljOTVmIGxlZ2FjeS10cnVuaworMzU3OTAgMGU5ZmRiNzZhYzg1NWY5YjNjYmRhOTA3ZmM1ZDVjZjRhZDEyOTM3ZSBsZWdhY3ktdHJ1bmsKKzM1NzkxIDUxZTFiNmRjZmY2MWU5MjJjNzNhN2I1OWYwOTY1ZDZjODhjYTljZTkgcmVsZWFzZTIzLW1haW50CiszNTc5MiA3YTc0OTlmYmM0NTI5OTY2MTQ0YTUyZWJjNGVhNmMxYjgyMWMzNmRiIHJlbGVhc2UyMy1tYWludAorMzU3OTMgNmMxMmEzYmFkN2Q1MzlhZjk1ZGVjZGFiMjcxN2M5NDhiM2UyMzZkMSBsZWdhY3ktdHJ1bmsKKzM1Nzk0IDYzMGU0ZmJjZGVhMjY1ZTdlODAyZDNkNGMzMzYwNTcwNmM1Njc5YjEgcmVsZWFzZTIzLW1haW50CiszNTc5NSBjNWE1NTI1NzgzNDRmNWNhN2Y0NDlkZWRhNzNjNjUyMzllZWFlMjU5IGxlZ2FjeS10cnVuaworMzU3OTYgOWIyYjdkM2I0MmYzYTYxZGM5MGI2NmRiMWEyZjdiNmQ5YmRlZTU4YyBsZWdhY3ktdHJ1bmsKKzM1Nzk3IDY4N2IwYzgyNTRmYWE0NWQyOWQ2OGYyMWFjMzM4OTVmMTA0MDI4YjcgcmVsZWFzZTIzLW1haW50CiszNTc5OCA2NjY3YTFkOGFmYjEwNDhkMGFlYTQ0Y2QzZDkwZGEwYzY5Yjc4Mjc1IGxlZ2FjeS10cnVuaworMzU3OTkgYTQ2MjY0YjkxYTUxOGY5NTRlZWRjYzFkY2RhMjUxYTE0Y2FhYWQzNyBsZWdhY3ktdHJ1bmsKKzM1ODAwIGI2MWZlODI4YjczODg2ZjI2ZmJmYzdlYzVmYTdlZWQ2OGQzZGJhZTQgcmVsZWFzZTIzLW1haW50CiszNTgwMSA1MWE1ZmI2MDkzNGQ3NTIzNzVjMjdmYmFlMmY5NzA0NzE5NzE1ODY4IGxlZ2FjeS10cnVuaworMzU4MDIgMjIyOTA4ZGZiZjU4YmU5ODAzNzQ1MzBhYWNmZDA1MWZhNjU1ZmFmYiBsZWdhY3ktdHJ1bmsKKzM1ODAzIDg2MTVmMjc4ZGE1ZjM1NjgxYmY2YjJlNmI1YTU5ZjM3MWVkMDkxOTMgbGVnYWN5LXRydW5rCiszNTgwNCA5ZjhiZmQ1NDI1MWY3NDQyODk5YTExMjlhOTA4YWIwNjEwMzg5NzhmIGxlZ2FjeS10cnVuaworMzU4MDUgOGIyYTQyOWFmNDJmZjE2NDE1Y2Y2YTU4YWYzMTc0YzFlNTBlNzcwNyByZWxlYXNlMjMtbWFpbnQKKzM1ODA2IGFiNjgwYzRhY2QzNWFmODEzZDAyY2VjNjU3NDkyNjNiYTZkMjFhYjggcmVsZWFzZTIzLW1haW50CiszNTgwNyA1ZWI3YThlMmYzNDUzOTgxNmFiYTQ2NjA3MTI4ZTM2ZDY2MmU0MGMzIGxlZ2FjeS10cnVuaworMzU4MDggYjlmMDkxOTY1MjZlYWI0MDA0ODA5MGZjODhlM2Y2MDc5ODYwM2I2MSByZWxlYXNlMjMtbWFpbnQKKzM1ODA5IGNiYmFjZGE4NDQ4MGFlMmJkODVkMWM2MTI2YmU3NjNjOWY3MTE4OTkgbGVnYWN5LXRydW5rCiszNTgxMCBhMTQyZTRlOTdmMTMxYTBkOThmNjZmN2I4MTIwMGI0OTY1ZWMwODUyIGxlZ2FjeS10cnVuaworMzU4MTEgZThhMzFhYjdhODc0OGU2MTQ2MGZiYWU3NDYyZWRmYTdkNTJmNzNhMiByZWxlYXNlMjMtbWFpbnQKKzM1ODEyIDRkZWU1ODMxNWNjNDFmYjA0ZDdiNTcxMWU5ZWRmN2JlODk4ZjhjYjkgbGVnYWN5LXRydW5rCiszNTgxMyA2NDZjYjAxNDY5NDJlMWY1N2QwM2FiYTczNmQ1NWMzYmZhNTdhMWY3IHJlbGVhc2UyMy1tYWludAorMzU4MTQgODJiYzY5OTYxMDIyZGM5Y2M5YzJjYmNlZDMzZjhkZjJjYWZmOTVjYiBsZWdhY3ktdHJ1bmsKKzM1ODE1IGY3OTNhMDQ2ZWQ5ODE0MjZlYTI2MzJkNjEwMDc3ODYxMDZiNmZmZWUgbGVnYWN5LXRydW5rCiszNTgxNiBlYmZhNWNkOGNiYTRkMjNlNWNjODQxYjE4Zjk3NzljODRhNjVmNTUzIGxlZ2FjeS10cnVuaworMzU4MTcgMjY4MzlmMzJlNzBkMDcxYmJmZDBiZjViOWMyYjA2YjFlYTMwYzY5ZiByZWxlYXNlMjMtbWFpbnQKKzM1ODE4IDY0MDg0ZjliYWJhMWVjMDQ2Y2Y4Yjk4NjliNDdiOTRkZmFlNzFmZmEgbGVnYWN5LXRydW5rCiszNTgxOSA0ZWI1NzRiMTIyNWZhYWI3ZjQ0ODlhMzdlMTQ0MWIyYjYyODYwYzU5IHJlbGVhc2UyMy1tYWludAorMzU4MjAgMmNjNzE0OTc3NDc5MzQxNmUwN2ZiOWQ4NWJlZWQ0YzYxODBhMjA3OCBsZWdhY3ktdHJ1bmsKKzM1ODIxIDk4NGIyODk5OTJjMDY5M2MzNWQ3YzFiNGYyOTBmNTQ4MWUyM2MwZGYgcmVsZWFzZTIzLW1haW50CiszNTgyMiBjMjQ5MzA1YmZjYWM4YTU0ZWMzNjdlNzM0YzA4Yzk1YjY5Y2NmMDUxIGxlZ2FjeS10cnVuaworMzU4MjMgZTRmNTJlMmUzODAwMGI0NjQ1YzUxNzAyN2U2NDBkN2I5MjAwODU4YiBsZWdhY3ktdHJ1bmsKKzM1ODI0IGVjMDlhNzE4NDljYzYzYWRiMjZhNmZiNjE1NmUwN2RkMzc0MGFkMzUgcmVsZWFzZTIzLW1haW50CiszNTgyNSBlMmEwZWY4N2Q0ZDQwZGM0NGRkZDQ4ZmM0NmM1NmVkMGIyMTJlMTRiIGxlZ2FjeS10cnVuaworMzU4MjYgMTRmN2Y5Yjg5ZGE5YzVkZDNmZWZjMDQwNjQ1NzhmN2I0YjYyMTZiNyByZWxlYXNlMjMtbWFpbnQKKzM1ODI3IDZlMDc4Zjc2MTNhZDdhYzExYzI0ZjY4NjU4ODk4ZWQ3ZTBjMDkxZjYgbGVnYWN5LXRydW5rCiszNTgyOCA0MmUyYjVhZmE3MTU3MzUzY2Q3MjZlZThiNGNmNWZmMzA2NTQ2ODFlIGxlZ2FjeS10cnVuaworMzU4MjkgNTQ0ZjIxNzIzNjNkMjFmN2U0ODYyOWI2ZjQ4ZGJlOTkxYTY3NDQ2NyBsZWdhY3ktdHJ1bmsKKzM1ODMwIDUwNzA4YjhmMGQyODc4MmY3MTY5ZDEwMTI5MjRiODQxNTg2MThlMTYgcmVsZWFzZTIzLW1haW50CiszNTgzMSBhMjliYWMwYWU5MDViOTRhYmZhYmEwMWQwMTQwNDdhODFjNTQ0Mjk2IHJlbGVhc2UyMy1tYWludAorMzU4MzIgMjZlMDkwY2NiYjY0YzM3ZDBiNzE5YmMyMjQ1NDlmOGMzZTc0YzhhMyByZWxlYXNlMjMtbWFpbnQKKzM1ODMzIDU4MmRjYTAyZTYwZjY1N2E5MDUxODYzOGI5ZWRlZjcwZjEyZWI1NmYgbGVnYWN5LXRydW5rCiszNTgzNCAyZDdiMGNhMGMyNmM5NjAzNjYzNzkxZjEyOGUzOTE2YjQxMjFmN2NlIGxlZ2FjeS10cnVuaworMzU4MzUgZTkwMjY5ZmMxOTM2NWIxMmFjNzVkZmNhN2NkMDRhZDAzNjM4NGYzZSBsZWdhY3ktdHJ1bmsKKzM1ODM2IDM3MTIxYzhiNjkxZGEwOGEwYmZlYTVlMzU2M2I5NGQ2MTU0YTFlNmEgbGVnYWN5LXRydW5rCiszNTgzNyA5OGE4MDc4ODgzNWMwNjYwZTZiYzRlODU1MDc3ZTZiOWIxNDgxYjRjIGxlZ2FjeS10cnVuaworMzU4MzggNGM4MjU1OGIxNWZiM2I2NDA5ZjMxNjI2N2Y4ZjIzNzI0MjIyMTQ1ZSBsZWdhY3ktdHJ1bmsKKzM1ODM5IGExYjM3NGZmMDE4NDE2NGE0OTg1NTUxMDk0YzUwNzk4NmI1YjVhMjUgbGVnYWN5LXRydW5rCiszNTg0MCBjMTNiYjdmNGJjZDE4OGE3MGUzYmZmZjZhZDk5ZmM4YWQ5MWU1YzY2IGxlZ2FjeS10cnVuaworMzU4NDEgNjM1ZWYxMTA2NThlZjhkM2M4OTc1MGQ1ODc2NGI2ZjA1NGFmNDBiMyBsZWdhY3ktdHJ1bmsKKzM1ODQyIGRiNmE2ZDM5MWE5OThmNTJlMzI1YWE4ZTVhNzY0ZDk2NjUwZjQxZWEgbGVnYWN5LXRydW5rCiszNTg0MyBiNTU5NGQ3Mjc5ZGY2OWUzNWJkMWE3ZTQ0NTZmYjViY2U5Y2MzN2U2IGxlZ2FjeS10cnVuaworMzU4NDQgZjQzNzZmNzY3NGEyMjJlODZmZTU5NzUyM2M5NWFiY2NiYmM0ZWVkMyBsZWdhY3ktdHJ1bmsKKzM1ODQ1IGI5YzY1OGFjMGUyMGNkNmI2YmY1NGQwN2ZiY2ZkMGQxOTcxZDgzY2YgbGVnYWN5LXRydW5rCiszNTg0NiA2OTZkOTJlZmYwMjJmZTRmODU5OGRmZjVhMGExYjJmOTdhODY2N2FiIGxlZ2FjeS10cnVuaworMzU4NDcgMzNmNmExNWRiZjZjZjAxZDhhMzc4ODY1MzNlZWEyMmRlMzMxYzU3ZiByZWxlYXNlMjMtbWFpbnQKKzM1ODQ4IDAwZWVhMjgxMzVmOGZiNzFiMWE4MDBmNjlhM2UwYmM4NTM2ZDExMWMgcmVsZWFzZTIzLW1haW50CiszNTg0OSAzODMxMDk0MzNhOTcyODRmNzA0MTA2NGMzN2MzMzZiYWI4ZjJhMmIwIHJlbGVhc2UyMy1tYWludAorMzU4NTAgYmEzMTIxNmUzN2M4ZjIxYTU3MmM2YmJjMGUyOWViYzhiYTNkNGFlNiBsZWdhY3ktdHJ1bmsKKzM1ODUxIDBiMzNlMzczN2I0Y2JkN2MzNzY3ZTlkN2M0ZDNlN2I1ODBkODQwN2YgbGVnYWN5LXRydW5rCiszNTg1MiBkY2JlMDQyYjg5MmRmNWJiYTlmNTUzYjJhNzc2NmM1NDg1YTY2NjMwIHJlbGVhc2UyMy1tYWludAorMzU4NTMgMjJiMDgwMmFiYTc0MzdmMjZlYWQ2MTA3ZGMwNTVkZGZlODA4NjNmMiBsZWdhY3ktdHJ1bmsKKzM1ODU0IDkxZjc2Y2Y0MDczYTJhZTk0ZTk1OGE1YmNjOGU5OWMyYWFhMDBiMzcgbGVnYWN5LXRydW5rCiszNTg1NSAzNTg2YTc4MDFiZGFmMzZjNDg1YjY0NWNkYjY2OGVmMDcyOGRmYjY4IGxlZ2FjeS10cnVuaworMzU4NTYgYzM2ZWEwNzk0OTIwMWU3NTE3MDhiYWM0MGE4N2YwOWUzMjE5MDc0MCBsZWdhY3ktdHJ1bmsKKzM1ODU3IGQ4MDNhZmNlOGFjNGU3ZjhmM2EyYWNlMWViOTNmNjljMjUzMjhjNDUgcmVsZWFzZTIzLW1haW50CiszNTg1OCAxMzZlZmJiMTExN2RlYmIzYTA0MzgzYjk5ODFlODc4NjY1OWIyOTNjIGxlZ2FjeS10cnVuaworMzU4NTkgOTU1ZTIwNmU1M2RjMzVlMDQ5YzVhZDUwNDUxM2E3NTQ3ZDk2N2I2OSBsZWdhY3ktdHJ1bmsKKzM1ODYwIDZkYjQ4YzViZGIyN2FiZWViNmMxZjI0ZDkzMWU2NjgzMjMyN2NhNzAgcmVsZWFzZTIzLW1haW50CiszNTg2MSA1MGQ4YTI3MjE0ZTZmODUzOGExZGIyZjMxNDlmMTVkNmUxNmE2Njg4IGxlZ2FjeS10cnVuaworMzU4NjIgNjZlZGUwMzg3ZjM2NzQyODRhMzZjNGEwYzRiZmFiYmQ2MDc5MTQzZiByZWxlYXNlMjMtbWFpbnQKKzM1ODYzIDlmNmQ0NWYzYzAyM2Q1NzE5ZmM2NDQzZjExMDcwYWQ5ZGRhYWM1ZjIgbGVnYWN5LXRydW5rCiszNTg2NCBjMzhhMzlkMzg0ODliMTI2NGIyMmE4NWFiN2YwNjdiYWE4MmZkNTkxIGxlZ2FjeS10cnVuaworMzU4NjUgNWEyMjQ2NWZkYTI0ZjlkNmY5YWJkYjAxODQyMDFjYzVlYjY5NDUxMSByZWxlYXNlMjMtbWFpbnQKKzM1ODY2IGU4NTM1NWNmMTc1YWFlMDg1MWQxYjBhZjM4M2ZiN2NlNjAwNTZmM2EgbGVnYWN5LXRydW5rCiszNTg2NyBkMDliYWZiOTc2OWY3ZTVjNzgzMGYxM2I4YzE0ZDAxYThiMjA2NjUxIHJlbGVhc2UyMy1tYWludAorMzU4NjggOGZlMWEyNjYyYWFhNTM4ODAwZmNjODk3MDQ1NjRhZjFiMzU4MWZlYiByZWxlYXNlMjMtbWFpbnQKKzM1ODY5IGM3OWNjMDQwM2FjZmVmMzlkNGIwNmRmODE5NjhjYWZkZjRiZDQ3YjcgbGVnYWN5LXRydW5rCiszNTg3MCBjNjgwMDgwZjkwMGMxNmM2MDIwODM2YjNhZWU5ZDBmNWJjMjllMjM2IGxlZ2FjeS10cnVuaworMzU4NzEgZTliY2U4MzdjMWMzOGM5ZGRiNWU2OTBiYjBkNTVkZGU2ZWYxMTA3OCByZWxlYXNlMjMtbWFpbnQKKzM1ODcyIDg2MDFjNzg1YzY4M2RlYTIyYzU4Y2M3ODQ4ZDM4N2M0MmM1M2I4MDIgcmVsZWFzZTIzLW1haW50CiszNTg3MyBjZjM5MmI5MzZhMmU0OTQyMjIwYWU3ZGJjZWQyMWNjZDAwMTgyOWRkIGxlZ2FjeS10cnVuaworMzU4NzQgMTdiZjk1ZWQ3NTYyYzk4MTA2YTYwMWNlMDkzYjNhYTIyODVlZDhiOSByZWxlYXNlMjMtbWFpbnQKKzM1ODc1IDE1MzhhOGNmYjBkZGE1NGE0MjRmMjMxZTRjMWQ1MTQ0Yzk0MTM2NWIgbGVnYWN5LXRydW5rCiszNTg3NiA1M2FiZDlhZDE5MDk4ZjkzZTU3NzUzMGM1OGQxODE2NzhjYzQxZTZiIHJlbGVhc2UyMy1tYWludAorMzU4NzcgZjYzZGQyOTlhNjBiMjczNTlhYTljNzMzNjFlMjBmYWZjOGFlOWQxOSByZWxlYXNlMjMtbWFpbnQKKzM1ODc4IDdhZmViODM2ZjY2YzU2ZmU3NmYwOTFhZTkyM2NiYzFmOTQ4ZGY5ZmYgbGVnYWN5LXRydW5rCiszNTg3OSBhMzhjZDYzZDE3YTc0ZTRlYjM1YTMzNzdkN2MxODA5ZDNmMjgxMzVlIHJlbGVhc2UyMy1tYWludAorMzU4ODAgNjc1OGI2MzBhY2I3ZWY4NjE0NDhlMGIxNTFjZTQ2ZmIzMDEzMzViNiBsZWdhY3ktdHJ1bmsKKzM1ODgxIDY5NDMzZmMxYzgxNmNiMjJhMTZmZTk2MzFjN2I1MWM5MWNmNDhkZWEgbGVnYWN5LXRydW5rCiszNTg4MiA0NjlkY2IwYWQ3MzhiZDRkMDIwODliYjc4YzU0NjA2ZjRkZTdmMThmIGxlZ2FjeS10cnVuaworMzU4ODMgNjFiMjZiOTVlYjMzZWNjNDc0OTI5MDYzY2NmMWUyODdkNjFjZjY2ZiBsZWdhY3ktdHJ1bmsKKzM1ODg0IDEyMWFhYTRiYTkyMzU4ZmVjMTkwNWUxZTRkZmIxZmRkMmRkMzdlZWUgbGVnYWN5LXRydW5rCiszNTg4NSAxYzIzODFkNzk3YzBmNzU4ZGFjODVmMWJjOThlN2EyNGY4NTRmZDYxIGxlZ2FjeS10cnVuaworMzU4ODYgMjdkYTg3YzkzMThmNTMzNGQyZjU4MzkzM2Q3Y2I0OTZlYmFmNGZkMSBsZWdhY3ktdHJ1bmsKKzM1ODg3IDAyZjc2OWQ3ZTRhOGUxNzRkNTc4NGVmN2UwOWFiNmYxOGUxYjJkZjMgbGVnYWN5LXRydW5rCiszNTg4OCAyNGM0NjAwMTQxNmUxYTA1MjQ3OGE5ZWQyYjA0OWExMDVkZTQwOGQ5IHJlbGVhc2UyMy1tYWludAorMzU4ODkgYjMxOWRiMzg2OWQ4MjJhNjIyYzJkOWQ0YjgxYWY3ZjY5NWU5ZjM5ZiBsZWdhY3ktdHJ1bmsKKzM1ODkwIDYzMGEwOTE1YTMxMDFiZWM3YTA4NTQ0MWMxYTJkNmJlM2UyY2ExY2EgcmVsZWFzZTIzLW1haW50CiszNTg5MSBjNzAxMDc2MGU4YWQxOWFiZmVkMGNlYzA2ZDU3MjA5NWIxYzQ1Y2ZiIGxlZ2FjeS10cnVuaworMzU4OTIgYWIwYzhkZGIyYzkyNTI4ZjQ0MWEwOWUyM2JhNjA3ZjBjN2ZkZThiYiBsZWdhY3ktdHJ1bmsKKzM1ODkzIGQ2NTg5Yzg4ZDIzYjdhNWNjNjg0M2VlNDc1MGUyNTMxM2ZmNzYyYjcgbGVnYWN5LXRydW5rCiszNTg5NCAzMThiZjY5OGU0MjViNWRkZDc5MDM1ZTQ5ODE3ZjIwYTc0ZWM2ZjY3IHJlbGVhc2UyMy1tYWludAorMzU4OTUgNjA2YWFlOTVmMTI4OTIyZjhlZjE4NWY1YTJhZTQwYzJhOWQ5MGJkZSByZWxlYXNlMjMtbWFpbnQKKzM1ODk2IDY1N2ZiMmE1MGU4ZWQzMzcwNGVmMmQ2ZTI3NGZhYjYyOTFkMGEyM2QgbGVnYWN5LXRydW5rCiszNTg5NyA1MmUxNDBjYTE0NmM1ZWNlNTI3YjUyMTk3MzliZjliMzg0YmNjODA0IHJlbGVhc2UyMy1tYWludAorMzU4OTggNDViYTJjNjljMzFmZGRiNzJjYWNiMDE5YjA2NmNmYmU5MjkwN2VhNyByZWxlYXNlMjMtbWFpbnQKKzM1ODk5IDVlMTdkMDUzM2FkMzY0MTk3ZTczNGIyNGJkMzhiOGE1ZDhiZGRhNjYgcmVsZWFzZTIzLW1haW50CiszNTkwMCAwMmY4OWQxMmYwMzZmNmE4MzIxZGQyYWZmN2JlMWY3OGE5M2RjZTYxIHJlbGVhc2UyMy1tYWludAorMzU5MDEgMjA2NTNjOTAzZDFjYWZkYTJkMDEyYTc1MmUyZjMyODVlMjY3NjA0YiByZWxlYXNlMjMtbWFpbnQKKzM1OTAyIGY3OGQ5MzhkN2JiMDgwNGE3NmI4YTA0YjZhOTZmNmQ5ZjkxNjdjNmQgbGVnYWN5LXRydW5rCiszNTkwMyAyNDU4MzVlZDhkZThkZjM3NzM4M2QxYjg2NWQ5YjNhOTNhNWI1N2Y2IGxlZ2FjeS10cnVuaworMzU5MDQgN2FmYjEzYzJkNTI2ZjQ4MzczZWRiYjkzNjcxOGIxYjM0MTMzOGNlNSBsZWdhY3ktdHJ1bmsKKzM1OTA1IDA1OTMxNThkMTRmMmQ1ZDEyNTNiYzhiZGYwNjFmMmVmNjU4Y2VkYTEgcmVsZWFzZTIzLW1haW50CiszNTkwNiBhY2UzZjEzYzE4MzZmNzkwYmE2ZjUyYTY3NzIxY2Y5MzJlMDk5NWI5IHJlbGVhc2UyMy1tYWludAorMzU5MDggNTJmZTkzYjY1NmNmNTkzZDQ5OTY2MzA2ZTJmNjY1NzUwYzg0N2I2MiBsZWdhY3ktdHJ1bmsKKzM1OTA5IGE0YjUyNmI1MGMxMjIwZTkxZjg4NDQxOGY0NTIwMWM5ZDU0OWVkYjQgcmVsZWFzZTIzLW1haW50CiszNTkwOSAzNjM5ODYxZDAyNjQ2YWYxZGEzMTIzYzI1NTYwYzRkYjNkN2VkYmNlIHJlbGVhc2UyMy1tYWludAorMzU5MTEgZWU3ZmNkZTU2MzZlYTE3MGY4MDgzNDI0NDlhYWI3YjUwNjNjZWFhMSByZWxlYXNlMjMtbWFpbnQKKzM1OTEyIDlmZTQ1Nzk3YzA5N2Y0Mzg4MDYwZmFjMWMzYjc5ZjA0ZmM5ZjlkMDYgbGVnYWN5LXRydW5rCiszNTkxMyAyODJkYmQ5YjFlZDZiN2E2OTI1MTYzOTVlYWY3ZGJlMmYwZjcwZjE4IHJlbGVhc2UyMy1tYWludAorMzU5MTQgNjc3MjM5MTA4M2M5Yjc1MWU0M2NkNDU0NGJkN2Q4Y2ViZDZlNDhiZiBsZWdhY3ktdHJ1bmsKKzM1OTE1IGQ2ZGVhZThiZjc5YmIwNTJhYmRiM2FhMTMwODMzMjIxM2JmMjM5NTYgbGVnYWN5LXRydW5rCiszNTkxNiAwMDk0OWJjNjdlNDliZGU4ZmJjMWVhOWY2NjdlNDM1MjgwZmQyNmQ1IGxlZ2FjeS10cnVuaworMzU5MTcgOGJkMzJjNTE1NDVlM2RmODE0YjE0MzVjZWJmZjlmZGE1M2RkYjU3MCBsZWdhY3ktdHJ1bmsKKzM1OTE4IDNlZGY4ZGI2ZjhiZmQ5NTk3ZmVkMTAyOTAwOTUwOWU4M2IxZGFiNjUgbGVnYWN5LXRydW5rCiszNTkxOSA5ZDU4NDdiOGYzMDExYjZmYjEyZTI1MTJjZDY3MjYzMzliMThlMDZjIGxlZ2FjeS10cnVuaworMzU5MjAgZDNjYTZiZGNiZjNjNDYzNzY3M2U5ODc0OGZhYzQ0MGI5ZGFmZmJlOCByZWxlYXNlMjMtbWFpbnQKKzM1OTIxIDE2Mzg2Y2JjYWI5OWMxYWMxN2JmYjU2OGJiOTdhODBhNmQ3OGFiNTMgcmVsZWFzZTIzLW1haW50CiszNTkyMiAyZDM0NTg1YzNiOTk0N2U2NDhkZWEzODExOGEzMTc4ODEyOTIwNjc5IHJlbGVhc2UyMy1tYWludAorMzU5MjMgMzc1MzhhMzZiNmUyYjJhYzgwY2UwZTQwMzNkOWU3NzZiNmMzZmNmMyByZWxlYXNlMjMtbWFpbnQKKzM1OTI1IGI1MjU1NTUyYWE2ZGE0OWZiNjNmODNjYWZlNDQ3NmFkM2UxNGEzNzMgbGVnYWN5LXRydW5rCiszNTkyNiA5NmI2MjY5OWIyMThmOWRmOWRkZTAwNjNlODgxMjgwOGExODg3ODYxIGxlZ2FjeS10cnVuaworMzU5MjcgNjY3MmY3MzA5M2RhMzMzYzg2YzFmNGEwZmE5ZWUyNmI5YmFlODU1MCByZWxlYXNlMjMtbWFpbnQKKzM1OTI4IDdlM2EyYzI3NGIzNjgzZmYyNjk5NjBkNmIzODczYTUwYzg0MDEzMjUgbGVnYWN5LXRydW5rCiszNTkyOSA0YTdmN2U4MDE2ZmMyNmI1ZDU4NDM1ZDM2YmY3YjIwMzkwYjU4NTNmIHJlbGVhc2UyMy1tYWludAorMzU5MzAgOTRiNDg0NWU0ZGE4YzQ5NjRlNmEyNDZjYTVkODc5NDUwY2U4MTJiZSBsZWdhY3ktdHJ1bmsKKzM1OTMxIDMwMGQ1ZDQ2MjM4NzIxNWUyMDI5ZTdmYTI3ZDY5Yzg0YjVkMTI4MzUgbGVnYWN5LXRydW5rCiszNTkzMiAzYWUwMWExMTA4MDEyMmZhNDdjNTVjZTE2MzJiOTBmNGEwMjM5YTAzIHJlbGVhc2UyMy1tYWludAorMzU5MzMgZmE3NTNjMTZjNjMzM2JmM2Y5OTJlNDNmYzJlZTVhNzUzMDM1YTFhNiBsZWdhY3ktdHJ1bmsKKzM1OTM0IDFkMTM1NzQ5MDZlZmNjNzE5YzAwMWFhYmEzNGI1OWRhY2ExODYzNzAgbGVnYWN5LXRydW5rCiszNTkzNSA3MDAyM2FmMjA4NWFiNTBlYzMyMzljODRmZjk2NTI5Y2Y1OGZkZGFmIGxlZ2FjeS10cnVuaworMzU5MzYgODRkZmE5YTY3ZGExNDYxODMyMzFhMDk3MDcwNzIwZGI0ZWFjOGJiYiBsZWdhY3ktdHJ1bmsKKzM1OTM3IGI2ZTRiZjMzNmRiOGEyNDc3MTU0YTcwZDk0Nzg5MWVlOGQyODcwYzkgbGVnYWN5LXRydW5rCiszNTkzOCAyOWE1OWY2NjJkZDEwNDkxMmVlZTNlMmE0M2VjMDVjMzJmMDM1OTU3IGxlZ2FjeS10cnVuaworMzU5MzkgMGRhNDRlYTA5OWY1NjhlMWVlNDE4Y2Q1MmJmOTIyMjdlY2IzNDBhYyBsZWdhY3ktdHJ1bmsKKzM1OTQwIGRkMWU1NWRlYWY1MmY4ZGIzYjliMzM0M2Y5MmRkMDBkM2YzZDQxMTEgbGVnYWN5LXRydW5rCiszNTk0MSBjMjVhOGMwNGRlM2U2MTUwOTQ2MGYwYzE4ZWQ1ZjkzZDQzMTZmNTRiIHJlbGVhc2UyMy1tYWludAorMzU5NDIgMzAyZDM5OWNmZDM3ZWViMWI5N2RiYmM4MTllNjYxZDMzMTc4MzJjMSBsZWdhY3ktdHJ1bmsKKzM1OTQzIDk1NTc3YjYzNWJiNDE5MjgyMmUzNDg5NTY5N2I5OTc1MmIxYTQ5YTYgcmVsZWFzZTIzLW1haW50CiszNTk0NCA1ZjRmMmY1MzZmOTYxYWIyMDBkZmU3MzJlNGQyOGU4YzQyMGQxYzgwIGxlZ2FjeS10cnVuaworMzU5NDUgZDFhOTg3NGMwOWI2OTRkYWMwYmM4N2ZiMGFiMDY1ZTFmNjkyNjZhZiByZWxlYXNlMjMtbWFpbnQKKzM1OTQ2IGI5ZWRkMzQxOGEzMWQ5MTY0OGQzZWFmYTRlN2NhZjQ2ZjJjMmUxNGYgbGVnYWN5LXRydW5rCiszNTk0NyBiMTY2NGE4MDM0OGFkYWY4YWQxYjBlZjAwYWNlN2VhMThhMDk2ZWI2IGxlZ2FjeS10cnVuaworMzU5NDggYmRhMDY2Yzk2ZTRmMWEyMzhkM2IxZmJkZmViY2EwNjE3M2QzNTI4YSBsZWdhY3ktdHJ1bmsKKzM1OTQ5IGI1ZTQwZjVkMDAwYjZhNzMwYjBkMTA1ZjBlZDQ3NDA1MjE0OTk1ZmEgbGVnYWN5LXRydW5rCiszNTk1MCBhZmY2OWY4MGY5OTgyNTQ5MzRmZTk1MGJkZDliNjVjZDcxYTgzMjJjIGxlZ2FjeS10cnVuaworMzU5NTEgYjVhMWUzNjczZTViZTE1OTE0NmM1MTUwZTkzZDRmY2EzNGRhNzVkMCBsZWdhY3ktdHJ1bmsKKzM1OTUyIDllNGQxNDViYjVjYzQ2NDE0NGY2OTQ1ZDUxMzVlMDExMTFlZDUyYmEgbGVnYWN5LXRydW5rCiszNTk1MyAyNzdkNDgzZjU5Njg5NjJkYjFkY2JhNmFkYTg0ZGVhYTkyYjk3YjQ5IGxlZ2FjeS10cnVuaworMzU5NTQgYjU4ZDMwZjExNmUyYTgyNGNlMzc2NzA0YWE3MzM2NDMzMjM3MTcyMiBsZWdhY3ktdHJ1bmsKKzM1OTU1IDMxYmRiZWM4ZjI4MmMwNmIxZjJiM2Q5YmJlOGQxNDg1N2ZkNmIzZTEgbGVnYWN5LXRydW5rCiszNTk1NiA0ZTViOTc4ZTZiNzgwMzZkMTFkNjE3MWZkNjVjYTYyM2FhM2U1ZDlhIGxlZ2FjeS10cnVuaworMzU5NTcgYzFjZmM1ZTQ4MzRkMTkzZTc1YTI1MGNiMmRhZTlmZmU2NDQ5Y2ZjZiBsZWdhY3ktdHJ1bmsKKzM1OTU4IGUwODAzNDA3ZTM3NzRlNzNjMTU2YmU5OTU5NGNiNzM2NTczNWQ0MWIgbGVnYWN5LXRydW5rCiszNTk1OSBjMzk1MjdlMjgwMTBmYzFlZjcxYjg3MTJmZmZmMTVlNzM1N2MwNGYyIGxlZ2FjeS10cnVuaworMzU5NjAgYjA1NmJiYjRlZGY5OTRkYjA3YjM2NjQ2YThmNmJlMzQ5ZWNlMjVkOCBsZWdhY3ktdHJ1bmsKKzM1OTYxIDg5OWExZjg4Y2M1ZjI0MmU4Y2M0YzgwOWU0NGYxYTM5NzM5MWY1MWMgbGVnYWN5LXRydW5rCiszNTk2MiAzMDRhMzdjMmNiNDI1N2I2ZWQzZTE3YmJkOTA5ZmQzMjcxMGU4MWJhIGxlZ2FjeS10cnVuaworMzU5NjMgYWEyMzMwNmEzZjI2OTk2YTFlYTdjMTkzOWU5YWU1ZjAzYTBlMjQ5OSByZWxlYXNlMjMtbWFpbnQKKzM1OTY0IGNlM2MyNzc3YjIyMmZmNTlhYjdjMTAwZDgwNjYxMTE2YTI1OTk4ZDAgcmVsZWFzZTIzLW1haW50CiszNTk2NSAzN2NhYzA2OGYwM2ZkNDZlMDFkZTlmODZhNzhmMDVmZDQzMDE5ZTg2IHJlbGVhc2UyMy1tYWludAorMzU5NjYgNTlhYTUzNDU4YTkzYjYyNGIwZGQ2YzU0YzYxZjk4MmIwY2Y5YjBjYiByZWxlYXNlMjMtbWFpbnQKKzM1OTY3IGExMDRhYTU0OWEwMjJhMDZlMjM5YjIxODdmZWRkNzBkODc4YTcxYzMgcmVsZWFzZTIzLW1haW50CiszNTk2OCA1Y2IyNGRiOGZjOTViMzU5YzYyMjVhY2U5MWIwYzI2MmNkMzc0MzRmIGxlZ2FjeS10cnVuaworMzU5NjkgYmFlZGY1ZmZiMjZiNGQyYjUwNjM1MWYyNzBlZjIyMDgxNWE5N2IyOSBsZWdhY3ktdHJ1bmsKKzM1OTcwIDA5MmFjMTNhNGM0MGEyZmEyZDExMjUwNzE1ODg1YzI2MDkxM2FiYjggbGVnYWN5LXRydW5rCiszNTk3MSA2NWY5YWQ5YmM4MjlkYzhiNThlZmViODU1ZWE1NDc5Njk1ZTlmMjhiIGxlZ2FjeS10cnVuaworMzU5NzIgMGFmYTgxZGI0Y2I3ZDI0ZmYyZDk5YWY5M2VkNTc5Mjc1YThmOTBiMSByZWxlYXNlMjMtbWFpbnQKKzM1OTczIDI2Njg4NGIwNDhiZDEyN2NkMzk0MGEwYTlmZjhkZWY4M2M1MTMxMmEgcmVsZWFzZTIzLW1haW50CiszNTk3MyBhNzRmOTA4MWM2OTcwODc4Y2FiZTE1MWY5Njk2MTc1ODc5MTU0MDBjIHJlbGVhc2UyMy1tYWludAorMzU5NzUgODUzNjU5OGNmMDRkNjM2OWQzNWQxZTZjZDRkMmMxZTAyODAxZWNlYiBsZWdhY3ktdHJ1bmsKKzM1OTc2IGVmYjg0ZWQ3Mzc3ZGRkNmMzOTVkNGYwYzAxNzVmNzM1MzVjNzRhYjMgbGVnYWN5LXRydW5rCiszNTk3NyA1NmE0ZWMwNjY2MjFkYTM5MDQwYzI3NzcwZWMwMTc5NWYxOGNmYTE3IGxlZ2FjeS10cnVuaworMzU5NzggMjg2MmJmOWVmOTEzZWYwNWIzOTIzOThiMjc3ZGI1NjFlYTQ2NDU1OCBsZWdhY3ktdHJ1bmsKKzM1OTc5IDY3OWU1YzhlZmZhZTIxMTJjYThhNDgzNzYwODdiZTNlYjFjNmVhOWMgbGVnYWN5LXRydW5rCiszNTk4MCAyYzE2OWNhNWZhNjliODQ5YWQzZGZlNDUxMWIxNmZkMTU3NGE4NWZhIGxlZ2FjeS10cnVuaworMzU5ODEgYWVjOWM5OGE0N2QyZTk1MzY2MjRmODdlMmQ4YmUxNzU0YmY0MDYwZSBsZWdhY3ktdHJ1bmsKKzM1OTgyIGM2NTg1NWM1ZDU2YjFkMTQ3MWI2ZmRjZGYyOWY5NTQ1OGYxZmQyMjIgbGVnYWN5LXRydW5rCiszNTk4MyBlNTMxNjIyNTJmYmU1Mzc4YTUwZTZlZWE1YTcyODc2NDQ3NDhjYTJlIGxlZ2FjeS10cnVuaworMzU5ODQgZmFkNTJmZmQ4ODkyNDNiYTFkMGM1YTFkYTM3NDY5Y2UxY2ZlMGQzMiBsZWdhY3ktdHJ1bmsKKzM1OTg1IDE4ZDZhOGY5OTgyMzg2MTRhZThmNTg2ZmYwYTI2MTJjYzUwZmM0N2UgbGVnYWN5LXRydW5rCiszNTk4NiA0NDgyOGNjMTM2ZTBjMGJkNWRmMmU1NGNmZTI1MTA3ZjAyMWU5MTkxIGxlZ2FjeS10cnVuaworMzU5ODcgZjlkNTRlOWIzMGJjODE5ZjY1MzFlZTFkMTE3YjgzODFkNWM1MzI4ZCBsZWdhY3ktdHJ1bmsKKzM1OTg4IGQwODdhOTVlODAzMjMxOTAyYjI4YzEwZTBlMjBiNGEyZTczZGRiZjUgcmVsZWFzZTIzLW1haW50CiszNTk4OSA2MGVmMWRiMTBjZWZiYjA4MjExNjY0YjgwYzI5NGQyNzUwNjk1NjY2IGxlZ2FjeS10cnVuaworMzU5OTAgZjhmZmEzZTZjNGYyZGQ4ZDAwNzQzNzRlYTMxYTU1OGY1ZDFjOWQ1ZSBsZWdhY3ktdHJ1bmsKKzM1OTkxIGFjYTQ0NWE2YmViNzkxYTdhNTMyZmE2YTZmMzMwNzRjOTFkNDZmOTMgbGVnYWN5LXRydW5rCiszNTk5MiA5N2I5MDhhOTk3MWE2NGYwZDFjYjEzZDFlZWVmNzBkMTg4OTVjMjM5IGxlZ2FjeS10cnVuaworMzU5OTMgNzQ3YjJkYzgyNDRmZWEzMWRiMzkxNzk3ZDY5YTY2YTE4ODZkYzk2OSBsZWdhY3ktdHJ1bmsKKzM1OTk0IGM3OWJlZmIzYzMxNGQ1ZjVhZTFjMjdkYTYzMjgxMzhhNjI1MmQ2ZTIgcmVsZWFzZTIzLW1haW50CiszNTk5NSBlMmI4MWYyYzhhNzBkYTI1ZTc5YTIzMDEzNDkzOGYwNDgwN2I0ODU2IHJlbGVhc2UyMy1tYWludAorMzU5OTYgOGVlNWE1NmI4MDMxMmJjY2EyZDViZjFiMzQ0YTcyNTQyZmQ2YmU1OSBsZWdhY3ktdHJ1bmsKKzM1OTk3IGViYTZiYWVlYTRlYWFmODliOThhODJlMTcwNGI3OTE5NDUyMWZkMzQgbGVnYWN5LXRydW5rCiszNTk5OCBkMzYxYzEzNWZhNzRlOGQ4ZmY1MzBkNWJhZjQ4MGI2NDk5ODBiZDI1IGxlZ2FjeS10cnVuaworMzU5OTkgMDQxZjg5Yzk4YzM1YmVlOTAxZTM4ZmM0ZTA2Y2IwNmI2Zjc3NTFkMiBsZWdhY3ktdHJ1bmsKKzM2MDAwIDI3NWE3N2Y5YTUwMDY2NDM0MTQ1Y2RkOGViN2Y5Y2RhZjU2MjZiYmYgbGVnYWN5LXRydW5rCiszNjAwMSA1OWJiM2IxZDYwNTlkMzI2MDM4NGQ1NGNhNTY2NGJkY2VlYTNlYjE3IGxlZ2FjeS10cnVuaworMzYwMDIgZjNkMDU2OGM5NDMyZjBiYWFlOGY0YzFlNTZhOGM5MjBhZDdiNWY2MCByZWxlYXNlMjMtbWFpbnQKKzM2MDAzIDIyNjYyNTg5YzRlMjA5ODljMmYwMGQ1ODNmYmJhZmQyZDNhYjQyMTcgbGVnYWN5LXRydW5rCiszNjAwNCBhNzk5YjBkMWM1Njg3ZTg2OTlkNjdmZmRlMzg0ZjQzYjNkYmE1ZWJmIGxlZ2FjeS10cnVuaworMzYwMDUgZjE1OWIxNWYxZjVjYmFmZWY4OTlmYzViNDNkMWM4ZGYxMzk5ZWM1ZiByZWxlYXNlMjMtbWFpbnQKKzM2MDA2IDdjNDYxYWVlNzQxYmVhMWI2NTZjOWYxNTkyMzVjNTg0MWQ4YjQwOTMgbGVnYWN5LXRydW5rCiszNjAwNyBhYTM5ZmFjMmE5ZmRmOWZhN2EwZTRmOGMxM2YwYWIzNmIwNDI4ZjM2IHJlbGVhc2UyMy1tYWludAorMzYwMDggZGY5YmQxMjc3MzBhZGM5ZTgyYjY3OGNiYTkyNjgwM2UwMmNlZTViMyBsZWdhY3ktdHJ1bmsKKzM2MDA5IDczMGEwM2Y1ZDhiNGRlMmQyMDRkZjcxNDFiY2E2NTRkY2YzMWU4OGYgcmVsZWFzZTIzLW1haW50CiszNjAxMCBjN2Q5YmU3M2M3ZGRiMzM1YTg1ZjQ5Mzk5OGFiMGJiZGEzZWNmMzEyIGxlZ2FjeS10cnVuaworMzYwMTEgMTg1ZjVkNmEzYTg4YTlhMTNhNTdmYjIyM2MyYWM1NWE4ZTQ0OGIwNyBsZWdhY3ktdHJ1bmsKKzM2MDEyIDAzYzg5NTgzOTk3OWMzZGNmYTMxMmZkMjk1ZmYwMjRkOTc3NWNlMTQgcmVsZWFzZTIzLW1haW50CiszNjAxMyBhYjVjMDgyNTdhZDdiNGU3NzljNWQyMmE1NDhjNmM5NDAxY2ZiYmQ1IGxlZ2FjeS10cnVuaworMzYwMTQgYjNjOTgxZWU5YWU5NTU4MWZhNjYwMmU0ZjYzZmQwM2RmMzYzZDc1MSByZWxlYXNlMjMtbWFpbnQKKzM2MDE1IGQzYWFkMzc3YTVhOTBkOWZmMGJhOGMxMzVhOTA0MzFhNGUyYTRiYmIgbGVnYWN5LXRydW5rCiszNjAxNiA4ODA3MWQyMDhiMzRhYTRlYzQzMmJkYTQzZTIwZGYwYzUzZjQzNzZkIGxlZ2FjeS10cnVuaworMzYwMTcgYWI1MTlkZTE3NmJiOTQ4ZjQ1NWM5MTAyZWQwMGYxN2RkN2Q3MDY3ZiBsZWdhY3ktdHJ1bmsKKzM2MDE4IDNhODRlMjNiMDQyZjQ1ZTA1Yzc4YzgzMmI2YWUyYmRkNTRkMGRkNWEgbGVnYWN5LXRydW5rCiszNjAxOSA2ZjI2NWYyY2NiMzNjYWI3ZTNmMzNlMjcxNjQ0YmFkZTYxMzY0YzkyIGxlZ2FjeS10cnVuaworMzYwMjAgNjgyMjAyNmQzYzNiNDE5YThiZGQxMzc2NzYxOTcwYTZkMDhhMTA5MSBsZWdhY3ktdHJ1bmsKKzM2MDIxIDIyZmRhZTdiYmExYWY3MDUxMTIyZjkzY2JhY2M0NzJlZWNhYTk5MzYgbGVnYWN5LXRydW5rCiszNjAyMiBlNjIxZTJhMWFiMzEwMmQzZDczMjAyMTBjYzQ0OTBiNTdiYzFjMWFkIGxlZ2FjeS10cnVuaworMzYwMjMgZTViMDQ3NzY1Mjg1YjM3Mjg1YjczNTY4ODExNDM4MGVjODM0NjdlNiBsZWdhY3ktdHJ1bmsKKzM2MDI0IGFiZDRiNzk1NTFkMmVhOTFmYTliYTkxOGYxNGI2YjdhYWYyZDFkMjAgbGVnYWN5LXRydW5rCiszNjAyNSA5YTM5MDFiZjYyMjJmOTkxOWMyMDZhNmM5OTdlNzgyZTVjMjAxNmM0IGxlZ2FjeS10cnVuaworMzYwMjYgNmZmZGRhNGNjMjIyMTViYzM2YmExZjhiOGFmYTE0YjA2MDE1ZGU3YSBsZWdhY3ktdHJ1bmsKKzM2MDI3IDVkOTQyYmVkZDI4ZjkzYjZiM2IyMjlmMGNmMWQxZDY3NWI1NDY1ZmYgbGVnYWN5LXRydW5rCiszNjAyOCBiOWQzYWEzY2RlOGE1YzFhNDAzN2JjMjYzYjJlZTY3Y2VlODczNjBjIHJlbGVhc2UyMy1tYWludAorMzYwMjkgMzc3MWVhOWE5M2FhZGE3MmVkMDA5ZTRmNmRhOTJmNjFiZTMzYjA5OSByZWxlYXNlMjMtbWFpbnQKKzM2MDMwIDg0ZThmZTkxMjQ0MGQ0YjFiOTc0YmY0NGJiZjc1NjY1Mzk3NDRmMGEgcmVsZWFzZTIzLW1haW50CiszNjAzMSBlYjQxYTQ4OWNjMmY3OGQxZDQxMjI3Y2ZkZmExOWUyY2VlMWE5Y2Q2IGxlZ2FjeS10cnVuaworMzYwMzIgMDEwNTdlNGYwYTYyZDBkMWZlZGU2YzJlYzI5Y2YwMTQ5ZjhlN2M5MSBsZWdhY3ktdHJ1bmsKKzM2MDMzIGViMGY4NzI2OGQ3MGFlMWIyODc2NjAzNjcyYWYyOTExOWM1NmNhNDggbGVnYWN5LXRydW5rCiszNjAzNCA3MGRlZTJiMTkzZjdkNTMxMTY1NjQ1YWQ2ZGNmNDljZTI2MGFhYjNlIGxlZ2FjeS10cnVuaworMzYwMzUgNjQ3OGViNmFlM2MwMWU4NDY5MWQ5NTRhOTQxMTljZDIxYjZmZTQ3NCBsZWdhY3ktdHJ1bmsKKzM2MDM2IGIwMGIyNmNiYzMwM2FmZTFhMWY3MmFiNjkzZjJjNDliMTBlYWNhZWYgcmVsZWFzZTIzLW1haW50CiszNjAzNyBjMDg2MzY2NDc5YjFlMDBiNmQxMGVlYzFmZTU4ODkxYzE4NTYyMmY4IGxlZ2FjeS10cnVuaworMzYwMzggOTFlYWUxZTkyNTc4MWI1NGMyMzVkMmQzNDFkNDUzOTc4YzIwOTBmMiBsZWdhY3ktdHJ1bmsKKzM2MDM5IGZkZjc1ZWVmNmE1YzMzYThmZjJhYzdiYWFmNGViMDRlMzY1MmIwOTAgbGVnYWN5LXRydW5rCiszNjA0MCAyY2M3ZmY0MmI5YTNkMTE2MjgzOTY5ZmQ2YzUwZTJmYTU4ZjEyNWI2IGxlZ2FjeS10cnVuaworMzYwNDEgM2MyMTU4ODc2MTk0YTFhY2NhMmMyZDYyNmQ5NWRkYTdkMTU5YTRkNCByZWxlYXNlMjMtbWFpbnQKKzM2MDQyIGVkMjI4ZThhMTM5ZmI5MDg5N2NiMWY5ZDc4ZDM3Yjc5OTZkYjM5ZjUgbGVnYWN5LXRydW5rCiszNjA0MyBlZmNhNTFlZjc4OWRhZjVhNGNhMGRmZWY0MTVjMzQ5NWIyOTcwZTM1IGxlZ2FjeS10cnVuaworMzYwNDQgYjEwODdlMWQ0NDc5NjNhY2ViOTk3MzE0NmU4N2FjYWMyMGRlN2Q5NyByZWxlYXNlMjMtbWFpbnQKKzM2MDQ1IGZmNjhkNmE1YTQ0MWY2YmQyZjU5NTMzNTdjNDMzNzk1ZjAyMzUzNTIgbGVnYWN5LXRydW5rCiszNjA0NiAxOTU0YjdlZGJmZTcwMDAzNmViNmY1NDNmMWQxMzdhMWJjYzgxOGI5IGxlZ2FjeS10cnVuaworMzYwNDcgOTk0MjQ2MDRkMzZhMzc3ZDI5MWRkMTE3OTg3Yjg2NmU0YTk1MjMwYSBsZWdhY3ktdHJ1bmsKKzM2MDQ4IGI3OTFmNjU1NGQyOGYyZWVhY2QyZDFmMDNkNTA2ZWM5ZWU5YzNjOGIgbGVnYWN5LXRydW5rCiszNjA0OSAzYmZlMmY0MmI4ZjkzODNkNjA1YWZhNTRlYTg1YmVlOThmN2YzNzI0IHJlbGVhc2UyMy1tYWludAorMzYwNTAgMjc5NjdmYmJhNDhmMzFkNGE4MjU0Yjg2MDAwMjFkZmFmNjc0ZTdkYSBsZWdhY3ktdHJ1bmsKKzM2MDUxIDZmYzg4MjdjNDAzYzE2MzQxOGIwZWI0ODgzYzMyMjFlOThjOWMxN2YgcmVsZWFzZTIzLW1haW50CiszNjA1MiA1MjVhYmM2NmJjYzI4YzBmYjk0MzJjOWJlOGIzNDc5N2Y0YTY0OGIyIGxlZ2FjeS10cnVuaworMzYwNTMgMDkwMTJjNmIyMDY4MDVjM2YzNWM0Nzk4ZDlhY2ZmNDA2YzVhYmYxZiBsZWdhY3ktdHJ1bmsKKzM2MDU0IGVkMzc0NmRhZDcwNWEyYjk2NmU1M2JhZWIxYTc1NmNmZjFkODdiNDEgbGVnYWN5LXRydW5rCiszNjA1NSA2YzI4YWQ4MDQ3ZjJkZmJhOTE4ZWUzZTRjNWVlNDcyZWFkYmJiYjNiIHJlbGVhc2UyMy1tYWludAorMzYwNTYgOGM0MDc5MDYxNzA4NThjNWU3NWFkYjk1NWQxYmNiNjE0MDVlOTRmNiBsZWdhY3ktdHJ1bmsKKzM2MDU3IGQyNDRiNTNlY2ZiZWJlMGM1ZTZlNzBlY2I5ZDNiOTc3ODBhYzA1MzcgcmVsZWFzZTIzLW1haW50CiszNjA1OCA5Njg5ZGEwMDExOTdmYTllZWU4YjRiYzVkOTdkMTFhMTk2YzFiZTQyIGxlZ2FjeS10cnVuaworMzYwNTkgZThiNGY1NGY3ZDE5ZWM2NzY4OGI4MDIwNDdmZjcwNDc3NGQ2NzIwNCBsZWdhY3ktdHJ1bmsKKzM2MDYwIDMwMGRiODFlMmU0YWNiZWMyMjFjYTNjMzgwMTA4ZDk3ZTFhYzMxZjggbGVnYWN5LXRydW5rCiszNjA2MSBhNmUwNDg0NzI4MGEyNmRlYTVlNjk4OTQzZTg0Zjk4YmI4OWY4NjkzIGxlZ2FjeS10cnVuaworMzYwNjIgYjkzNDVjMzU1ZjA0YjcxOTc3MzRlMzBlOTI2ZjExNmU0OWU3MjA2MyBsZWdhY3ktdHJ1bmsKKzM2MDYzIDBiZGI0OWE1YThmYTYzMzY1MmM0MDk0ZGI4YjQzNzMwMTIwY2RhNWUgbGVnYWN5LXRydW5rCiszNjA2NCA2OTQ1MjhlODVhMDRkMWZiYTYzZTVlZmY2YWExZTNmNWIzNTc2MzQzIGxlZ2FjeS10cnVuaworMzYwNjUgYzhhMjJiNWNmNThhNThiYWEyYTY4NTQ5NzI1NDJlNGRmYzY0NzIwOCBsZWdhY3ktdHJ1bmsKKzM2MDY2IDNkNjQyNGMwMzg4ODJlZDU5NjJlMjE2YTgxMmJjZGYwNDFhNWIyN2MgcmVsZWFzZTIzLW1haW50CiszNjA2NyA3MGNmZTA2NWVhYzU5MjY0NmEyYWViYmEzMjViM2RjMjI4NjA5M2M0IGxlZ2FjeS10cnVuaworMzYwNjggYTk4ZjUwZTUwYmVmYTFlNTJiMDUzMDFlZmQzNGE4M2M3ZDJmZjc5NyBsZWdhY3ktdHJ1bmsKKzM2MDY5IGRmNDk0M2QyNGNiNmRkZGU0NzcyMDY2Y2NmMzhiYmZjOTA4YWExZDUgbGVnYWN5LXRydW5rCiszNjA3MCA3NDA5YzBjMzcwZTIxMzI1OGRmODNjNjVkMGFkODllZmMyNjk4NjMyIGxlZ2FjeS10cnVuaworMzYwNzEgZWZjYTM1M2U3ZmQ2NzVmNzExNzhhZDhjMTE2YWQyZjk4MThjNzlhNiByZWxlYXNlMjMtbWFpbnQKKzM2MDcyIDI5Zjg3OTMyYzdjNzhiY2EzNjdiYjc1N2E5NTQ1YTU5NDNiYjc2Y2UgcmVsZWFzZTIzLW1haW50CiszNjA3MyBhNzJiYzQyNTczMzY1MWViNjE0OTVlZTM1ZWNmMjRiMmZmN2JjOGUwIGxlZ2FjeS10cnVuaworMzYwNzQgZWM2ZjlhMTkwODMxOTMxY2ZhZGQ1NTczOTY0ZDgzODEwMDlkNDVkYSBsZWdhY3ktdHJ1bmsKKzM2MDc1IDEwYTAxY2UzZWEwYWUwMWRjMzU1ZjI3ZWZlMTFjZmIyOTI3NjcxYTcgcmVsZWFzZTIzLW1haW50CiszNjA3NiAzNjM0NDE4YTg1OGU4MjczYjRhMDBhZjc1OWZkMzhhMzkyNDU3YzdkIGxlZ2FjeS10cnVuaworMzYwNzcgMmY1ZjM4ZjRiYzJiOTAwODliOTU2NzM5YWYxODZkMTA5YzUxNjhkMSBsZWdhY3ktdHJ1bmsKKzM2MDc4IDhjMDM5NGFlYzZkY2Q0MGZkYzNlODEzYWE4YWVmMDU1ZDY2NWM0YjcgbGVnYWN5LXRydW5rCiszNjA3OSAzZGZlODFhYzBlN2NkMGRmNGUyMzNmYmQxNGIxYTZiYjdjMzljYmI2IGxlZ2FjeS10cnVuaworMzYwODAgYTgwZWUyMDA0ZTZjYTQ5MmIwYjlhMmVlOGU0YzkzOTQ5N2QwOTY1MiBsZWdhY3ktdHJ1bmsKKzM2MDgxIGNkYWQwMDViYzAzMDc3NWZlZjdiYWM2NzNjMzkyZDY1Njk0MzZjZTggbGVnYWN5LXRydW5rCiszNjA4MiBjYjk1N2U2NWY0NDQ5Yjg2OThiNDk0MGRlZGI2YTYyMDdiMGU0YzIyIHJlbGVhc2UyMy1tYWludAorMzYwODMgMzY3OThmMWM4ZTlhMWE2NmZkZDc3ODA1ZWY5NzZjMWExNDg4MzBmOCBsZWdhY3ktdHJ1bmsKKzM2MDg0IGI5YzllN2U4YmU3ZDU0ZmI4MWEyMTk1YmE4ODA3NWY1MmNlMjU3MzIgbGVnYWN5LXRydW5rCiszNjA4NSBhYzRkNDIwY2M3OTllNWQyNjZhN2Y0NmE3ZGY1YTc1ZDczNzJmYTgyIHJlbGVhc2UyMy1tYWludAorMzYwODYgYmRmMjM4Nzk4OTQ5OWVkZjA2NzQ5NmQ5MGNlMGZkY2M4MDAwNmEwMSBsZWdhY3ktdHJ1bmsKKzM2MDg3IGE4OWNjNTM1YjRjNTc1NWFhYzg2YmIxZWE0NzUwYTRkNDRjZjBkZGUgbGVnYWN5LXRydW5rCiszNjA4OCBlZWFhN2ZiMmYxNmY3YTBlZDNmYTMyYmVkZjQxYTMzZGJhMGIyZDdmIHJlbGVhc2UyMy1tYWludAorMzYwODkgOGU1OTU4YzkzYzg4MjE1ZDQ1ODc5MmE2YWY1OGUyYTgzZWZkNDMwMSBsZWdhY3ktdHJ1bmsKKzM2MDkwIDhlYWI3NjU1NjAxZmVkMTIxMDAwZGMwZWM0NGFmYzYwYmFiYjEyMjQgbGVnYWN5LXRydW5rCiszNjA5MSA0MmJiMWRjZGYxNmU0MWJkMzMyZTAxZDA3MjZkZjM2MzU3ZDU5YzE1IHJlbGVhc2UyMy1tYWludAorMzYwOTIgNDdkNjRjYjAxODIwNWViZWQ0MWJjOWEyYzVmMjNlYTk2MDgyYWU3YyBsZWdhY3ktdHJ1bmsKKzM2MDkzIDAxNGIwZDg0NDIyZjdiNjMxZTAwM2YyNzlkMDQwMzg5ZTNjZjZiZWUgbGVnYWN5LXRydW5rCiszNjA5NCA5NTI4N2NkZGJjMWVjYTU2Yzk2Y2U3ODAwMWIyZDk5OGU3NzMyYTE0IGxlZ2FjeS10cnVuaworMzYwOTUgNjFhZjQ3MjEzZmU2Njc0YzgzNjI2NzE5OGRhNmZlNDM0YzJjMDM1MyBsZWdhY3ktdHJ1bmsKKzM2MDk2IDFlZWFhNTA5M2ZjMDQxMTE2MDQwMmE3ZDAwYjQxNTQwYjUxZTRkODggbGVnYWN5LXRydW5rCiszNjA5NyBhZGI1OWQ4OWIwOTkxNjA1NjNhNDg3M2RkOTVjYTk1OWIwNWYxNjI2IHJlbGVhc2UyMy1tYWludAorMzYwOTggN2U3MjczYzhkMjFlYjdiNjc3MzczNmRhMDNiZGJkNDk3MDViYWZlMyByZWxlYXNlMjMtbWFpbnQKKzM2MDk5IGMyYmMyNDhkM2U5YzcwYjU2NWJmNjMwZDI4Njg5NDg5NTFjZWIzNjMgbGVnYWN5LXRydW5rCiszNjEwMCBjMGQxMjYxZGE4NDhkNjFlZGM3MWRkODg2YWQ2Zjg2YjJjNTI2NTE0IGxlZ2FjeS10cnVuaworMzYxMDEgY2JmYTA0Mjg1NTI5MGEyMzgxYzEwMWNmYjJmYmIyZDEyMzYwZGYxZCBsZWdhY3ktdHJ1bmsKKzM2MTAyIGI2MGZjNWVmZjE1NTk0ZDc3NTA0ZDBmZTMwZDczOWVjYzVhYjZmMTkgbGVnYWN5LXRydW5rCiszNjEwMyBmZDUyYjY4MDc5MjQ4Y2IxOTkwNzgzOWU2MTI4NzdkYjNiMDUwOWVjIGxlZ2FjeS10cnVuaworMzYxMDQgNmRiZmVlMmRlZDg5NTZlNmY3OTU2M2ZlZDliYTY1NTM5NGYwZWY4NiBsZWdhY3ktdHJ1bmsKKzM2MTA1IDk0Yjg0MWFkZjQ4NWJjOThhYWU4ZGE0ZjQ0ZDZlZTNmOTg2YzdlYmEgbGVnYWN5LXRydW5rCiszNjEwNiA5MTM4OGM4NDViMTY5NWZlNDYzMGI2NTM4MjU2NGE1MzA3YTgxN2JjIGxlZ2FjeS10cnVuaworMzYxMDcgODgyY2YxMTM3MmEzZTRiZGU0NjY0NTNlNjU5NWQxNGExNmYzODU2MSByZWxlYXNlMjMtbWFpbnQKKzM2MTA4IDg1NGEyNDE3ZDM1ZWI1MThhZGFlYzY2ZTUxMDRlNDRmZGQ0Y2I3ZDggbGVnYWN5LXRydW5rCiszNjEwOSBhMDE4YWUzODZmOTllMWE0OWQxNzRjMTVmNjNiZDFjYzM4NjhjOGRhIGxlZ2FjeS10cnVuaworMzYxMTAgNWM3OWI0ZjEzYjI2ZjgyOTAwZGE5ZWYxODM2NzRmNjlmZmVjZTU3NyBsZWdhY3ktdHJ1bmsKKzM2MTExIDcxYjNkMmJiZTYzYmZhNzg1NDc2OTJiZmU3OGQ4OWRlYTgzOWUyNWIgbGVnYWN5LXRydW5rCiszNjExMiA0MGM1MjRjMWMwZmVmZWE2N2VkZGZlOGU0ZDU3ZDQzZGEwYWE2NjA4IGxlZ2FjeS10cnVuaworMzYxMTMgZTEzNDVjZTI3NWY3OWQ4MzQ3Mjg4NWViZmEyMzlhZDM1NWI0MjY0YiBsZWdhY3ktdHJ1bmsKKzM2MTE0IDZkN2QwMGJmMWFhZTU5NmVmNjY5NWFiMjA1MWZkMmM3NDhkN2NjYmUgcmVsZWFzZTIzLW1haW50CiszNjExNSA4MmZlNjgzMmU1MDVkZWIyNGE3N2I0ZWE0NWJhYjdkZWQyNGRlZDJiIGxlZ2FjeS10cnVuaworMzYxMTYgOGFjZjQyNDFlZTk0ZjVjYzExZjJiZjY2MGRlZjdkNmM2ZDU3MmM1MSBsZWdhY3ktdHJ1bmsKKzM2MTE3IGFhMGM4NGQxZjA2Nzc4NjhmYzdiZDVkZDE5NWYyNmMyOTU5MzYwNDcgcmVsZWFzZTIzLW1haW50CiszNjExOCBjZjg0ZGJjNmE4ODFjN2IzMWMyN2I2MjE3OTkwYjMwNzQwMDdhZjA0IGxlZ2FjeS10cnVuaworMzYxMTkgMjlkNzYxYzUxMDNlNzdiNTExMmJiODBmOGRlMWIzNzk4MWQyOWFlMSBsZWdhY3ktdHJ1bmsKKzM2MTIwIDkyZjU5N2EwNTU4MTVlZTNlYWVjM2EzOWUyNDQyOWYyNjY5ZDgwNzYgcmVsZWFzZTIzLW1haW50CiszNjEyMSBjODRmZDZiZTVhMTRmNDQzNjFhZGZhNGQwYzAzYjMyMjU4ZDFiMDRmIGxlZ2FjeS10cnVuaworMzYxMjIgNDFjNTlkODBiYmM1ZjZmYmNiYjJjMmIzOGJjNmNhNWJhN2MyNzI3YSBsZWdhY3ktdHJ1bmsKKzM2MTIzIGUxOTZiODIzZTZjNWJhZDFmYWFhZWEwODdjOTliZjhlZjNmYzEzOGEgbGVnYWN5LXRydW5rCiszNjEyNCBhMGQ4YjE0NTY4MTkzMTY2Yzg2YTRiMzZkNzg2Mzk2M2I2MDQ5NjhhIGxlZ2FjeS10cnVuaworMzYxMjUgMTZhY2M2MWQzM2MwMmQ2Y2M4NjFlNjM3MjEwYjMwOTJlNmJiNWZjNCBsZWdhY3ktdHJ1bmsKKzM2MTI2IDEzNjU2ZDU4ZDQ1MDE0MDU5NGNmN2RhNzg5NThkYjA4NjliMTJmZTAgbGVnYWN5LXRydW5rCiszNjEyNyBjZWRjOTU0NTk2MzZkNTMyZDc1ZTA1MWFlZTA0MWU1OTEwZWE0ZjFkIGxlZ2FjeS10cnVuaworMzYxMjggZWM4OGYyNzhhMWFkNDk5MDllODg2YjE2MWZmMGJjOGQ3NjU4OGEzNiBsZWdhY3ktdHJ1bmsKKzM2MTI5IDMyMTk3Mzc1MTI4ZTIyNjU4OGMyMzJkMjdmZjVmNDJjZTlkNjU2MTggbGVnYWN5LXRydW5rCiszNjEzMCBmYzZhNzM5MDVlNmYzOGM5ZDQ3YTI5ZWExNTg1ODMxOGM3ZTZmZWNlIGxlZ2FjeS10cnVuaworMzYxMzEgMTkxODg4N2QzODdiMDEwNGUzZjNjM2IzYTc5MzU2ZTk0OTc1YTk1YyByZWxlYXNlMjMtbWFpbnQKKzM2MTMyIGJjZDIxYWJhYTViNGYxNWI4NzhiMTI5N2MyMTcyMDJhN2U5NGFkMjQgcmVsZWFzZTIzLW1haW50CiszNjEzMyA0MzAxZWNiZWIzYWRmYTQxMzZjMDk4MzRjOGY0MTczNGJjZmQ3MTYzIHJlbGVhc2UyMy1tYWludAorMzYxMzQgZmM0NzYyZWJiZTJjZjY3MzQ3MmQ2YmE5YWZkNDA1YjQyYjUzNzdmMyByZWxlYXNlMjMtbWFpbnQKKzM2MTM1IDQzOWU3MWE0ZTU1NDY4NTRjNTRjZjg5Y2I1ZDNhYTJjNzVlYWI4NTAgbGVnYWN5LXRydW5rCiszNjEzNiA0OWU3NDEzY2Q5MWMwZTU4ODYzOWYyNmNlNDg1NTg3MDI1ZWMzZTBhIGxlZ2FjeS10cnVuaworMzYxMzcgOWU1YWY0NWNlZmNiNWY0MTJhYzE2OTdmYzAxNDhjNDIwN2Q4ODBjMyBsZWdhY3ktdHJ1bmsKKzM2MTM4IGQ2OWM4MDY4ZWFlNjFjZWQ4ZTcxNGM1MDNhNzc0MTRkMDA5NDRiMTEgbGVnYWN5LXRydW5rCiszNjEzOSA0MThhMGM2YmRjN2Q0YTBlZGZhNDJkM2IzY2ZkYTk1Yjk4OWQyNTY3IGxlZ2FjeS10cnVuaworMzYxNDAgYjlkZTZiNjY1MjczNmQ2MDE1Y2I3OGFjNzQwMDE4YWRkZTc3NThmZiBsZWdhY3ktdHJ1bmsKKzM2MTQxIDg3MzAyYWMwNzI1NTI0MzUxOTJhNDhiMGJmNWVlMzc0NWZiOTQ1NjIgbGVnYWN5LXRydW5rCiszNjE0MiBiMGY0NTRmNTU4ZTVlYjJmYTZkYzZmMDg0MWY0NTA5YjVjNTEyNmRiIGxlZ2FjeS10cnVuaworMzYxNDMgNTBmM2E1NTBiNGZlNmFlZjMzZmQyYTc3Y2MwMGU1NzNlZjk5OTRhYiBsZWdhY3ktdHJ1bmsKKzM2MTQ0IGMxZmJiYzNlZWQzOWU1ZmVjNjY5NzM1ZmI5ZjNlMjBmMmYzYzQ4ZGQgbGVnYWN5LXRydW5rCiszNjE0NSBiMDU0Y2ZmN2JiODZkNmYxMjdjMDZlMzQwOGQ1MjBjY2MyODg2YzhlIHJlbGVhc2UyMy1tYWludAorMzYxNDYgY2YyOGY0YTZlNjc2MThhNWE3N2ZjZjNmOGM1YzUyM2RmYTY1MTY5YiBsZWdhY3ktdHJ1bmsKKzM2MTQ3IDdhMTk4ZDljOTI2MTJkMjQ0MzU2M2Q1ZDMxYmY1NTIzYWJkZWI5NWYgbGVnYWN5LXRydW5rCiszNjE0OCAzMTUyYjc0N2EyZTQ2MTFiMzNmZmYyNWJkNTE2NWJiYWVkMTdlNzQxIGxlZ2FjeS10cnVuaworMzYxNDkgZjQ5NDcxOTUzNjg5YTNiZjhiNGY2NDZlODUxNDM0NGQ1ZmE2MzQwOSBsZWdhY3ktdHJ1bmsKKzM2MTUwIDZmZWFkNWVhNGJiYTIzNzI2MmYwYjA4NGUxZjZmYWExZTBjODY3MmMgbGVnYWN5LXRydW5rCiszNjE1MSA1NDEzMjdjYjhmOGJmNmI1NTcxNTRjMjhhMjM3NDI1ZDJjZDJjYThiIGxlZ2FjeS10cnVuaworMzYxNTIgMjI1M2E4YzJlYTYyZGM1ZDNmZmU1NzZlODE3NmVkZTYwZWJjYjg1YSBsZWdhY3ktdHJ1bmsKKzM2MTUzIGYwZWI3Nzc4YTE4MzA4M2YwZmVkYThmZjMyNmNjNjE1OTc4YzY1MDMgbGVnYWN5LXRydW5rCiszNjE1NCA2M2U5ZTVhMjE2MGI1ZGM5YmJhZmI5ODM3NGEwMTZkNDg0NDcwYzU0IGxlZ2FjeS10cnVuaworMzYxNTUgNDQ0ZmE1ZDUwYzE0ZDIwZTBhOGUyYmQ3YTZlNTQxMjBjNjExYzcwMyByZWxlYXNlMjMtbWFpbnQKKzM2MTU2IGM3ZGNiMDk3NDVkMzViNDliYmVhYjkxNTdhYmI2ZGQ1NDBjYmM2NDQgbGVnYWN5LXRydW5rCiszNjE1NyA2ZTRmZTU1NjBkODFkNDhhYzQxYzNiMGM4YmQyOTFhOGNhMDFlNDQwIGxlZ2FjeS10cnVuaworMzYxNTggYmM5YWU0NGIyY2U0MWZjM2RiNWY5MjJlZjI5M2JhMzYzZjNjMTdlNiBsZWdhY3ktdHJ1bmsKKzM2MTU5IGE2MjdkOTQ5MzE0OTUzMzk5OWQxZjQ1ZTNhYmFiY2ExNGI5NDFlMDUgbGVnYWN5LXRydW5rCiszNjE2MCA0MDhhNDBlNjUyNDdjZDBhNzcyZTRmOTkzYjU1NjdlMmZkOTg0MWVmIGxlZ2FjeS10cnVuaworMzYxNjEgYzdkYTY5OTBjNGVkOWI4ODdlMzQ3OWMzM2NiNmRmMjYzN2MyYTc4YSBsZWdhY3ktdHJ1bmsKKzM2MTYyIDVkMjcyNjljOWUzM2M2YTI4ZDgzM2ZkNmJiMWYwNjQ3ZjM3NWI2YjYgbGVnYWN5LXRydW5rCiszNjE2MyBjOWRiNzkzY2FhODBhMjU0OTQ4ZGE3OWFkNjE1YjA1YzhlODEzMWVjIGxlZ2FjeS10cnVuaworMzYxNjQgNTRiMjU3ZTU1Zjk5MTUwMTU1OTQ4ZGQzZGZmYmQ0MWY1ODEwY2M0NiBsZWdhY3ktdHJ1bmsKKzM2MTY1IDc0ODEyOWU2ZTEwODJmMzNkZjFlNzhhNWNiNjFmMThjMTM4M2NmN2YgbGVnYWN5LXRydW5rCiszNjE2NiA4YjJkZjlhMDdjZDcwNGRkNmZmNmM3OTU5ZGU3OWQxOTZlOTg4NjljIGxlZ2FjeS10cnVuaworMzYxNjcgMDQxMzAwNWZjMGIyY2NiYjFiY2U4OTg2NzE5ODgxNGY4NjJjMmQ1YyBsZWdhY3ktdHJ1bmsKKzM2MTY4IGU5NTBiZmUxODU2ZTIwZjQyNzEwMzAyOTFkYjU5MGFhOTY3NGQyN2IgbGVnYWN5LXRydW5rCiszNjE2OSA5ZDg2NTViNDc1ZGI0OGQwNDhjM2YxYTllNmFiMmIyMDhkOGFiZDBmIGxlZ2FjeS10cnVuaworMzYxNzAgNDRlOGU4NGYxMjgwODI1MmQ0ZTlhNTE0NjZmMjljM2E3NDBjNmVhYiBsZWdhY3ktdHJ1bmsKKzM2MTcxIDExYzMxYTk4ZGZkNjkwYTg1OTQ1Yjk3ZmRlNjgwMjNiMGM5NGY1MjkgbGVnYWN5LXRydW5rCiszNjE3MiAxM2NlNDQ3ODQ1YmNiZDQ3YmZlYmVkOGJkNmUwMGFiZTI3OTU3N2E0IGxlZ2FjeS10cnVuaworMzYxNzMgMzQ4ZGI3N2EwN2U5MThjOGM1NmI4ZjViMTcwN2VhOWE4NTkwODRkNSBsZWdhY3ktdHJ1bmsKKzM2MTc0IDQwYWNiNjhhZDIyNDc3M2I5Zjg1N2JhMjBhNmM3YWQyM2VmZGQ4N2QgbGVnYWN5LXRydW5rCiszNjE3NSA1ODFhOGExMjhlMTFjYTE1MzY5YTFkMTc2MjFiNTAwNWU5MjliMjM4IGxlZ2FjeS10cnVuaworMzYxNzYgMTJmMjRjYjI3MzgzYzk3MWI3YzAyNjdmMTViNDExMmU3MDA1ZDVjMiBsZWdhY3ktdHJ1bmsKKzM2MTc3IDYxMTgwYzMxZDRiZGIzZWFhNTA1NWRkNDE1ZTM4ZTZhYzMxMWIyM2UgbGVnYWN5LXRydW5rCiszNjE3OCBhNDZiZGU5ZTBjNzRiYjc2MWRjZTY4NDU0Nzk4ZTIyNjgzOWI1YTNlIGxlZ2FjeS10cnVuaworMzYxNzkgNmFiNWUwNTI2YTMyYWJkNDAxNzNlNDUzNzk0YTM4ZTM0YWFkMGE0NCBsZWdhY3ktdHJ1bmsKKzM2MTgwIGU1YmM5NDdjNDRjYWViYzAyOTE3NGJjOGUyYzhjZjA3MWIxZTM5ODkgbGVnYWN5LXRydW5rCiszNjE4MSA4NmY1OTYyZmQ5YjdlYzZjYjc4NDAyZmE3NjA3NDM5MGI2OWMwZDMwIGxlZ2FjeS10cnVuaworMzYxODIgNTViYTUxYmVmMGE4MWEwNDI5NGVlMmUyNjBhMDBmMTcwM2Q3NDNiNiBsZWdhY3ktdHJ1bmsKKzM2MTgzIGE3ZDZmYzE3ZjI1NzU1Mjc2Mjk0NWJjMjUwZWRmYjg3MjhiYzA5M2MgbGVnYWN5LXRydW5rCiszNjE4NCBiOGZjZTIyNThjMjAwNmEzMzliZDJhOTM3MmMyZjFiYWQzYjY2YzhiIGxlZ2FjeS10cnVuaworMzYxODUgZjRhNDgxMGY5ODJlZDVlODU0YWM2M2VkNTYyNTIwM2U1NGY1NGU0ZCBsZWdhY3ktdHJ1bmsKKzM2MTg2IDMzMWU1ZDhiMjk2Zjc2YTNkZGE4OTFmMmU1YWExZGI3NDI2NmMwZmUgbGVnYWN5LXRydW5rCiszNjE4NyA1MDkwNzJjM2ZhMjZiOTJhMjUxZTVmNTQ3YjNiMDI5MzBkMmJmMGZhIGxlZ2FjeS10cnVuaworMzYxODggMWZkM2FhNGJjMTIzYWQxMzE5ZTk3ODM0Yjc0NjQ4ZjNhMDYxY2E4MSBsZWdhY3ktdHJ1bmsKKzM2MTg5IGI5OWE1NTI3MzhiZmFlMzc5MzIzYTI4OGQ3OWM5NTYxNTI3YjVmYWMgcmVsZWFzZTIzLW1haW50CiszNjE5MCAzOTExNzNjNjhiYjNjOTA3N2RmY2FiMmFhNjQ2YmY2ZDljOGU4NTZiIGxlZ2FjeS10cnVuaworMzYxOTEgOTYzZDIzNTU3MDIwZjIyMjk5NTE0MzFjYTU4YjYwZTgyMDcxNDIzOCBsZWdhY3ktdHJ1bmsKKzM2MTkyIDExOTgyZGE5ODc5MmM0NzY3ZjE0ZWNjZjY2MTAzZjUxNzYwMWZiNTAgbGVnYWN5LXRydW5rCiszNjE5MyBlNDNkYTRmOTk5NDE1NjdjM2FiOTA1MGNkODc5ZGNmMzBmMDM5ZTI0IGxlZ2FjeS10cnVuaworMzYxOTQgMGFmNDE1NDNjOWI2NWY3MWYwZGFjODc4NTZlYTk1M2JlOGFjZmFhNCBsZWdhY3ktdHJ1bmsKKzM2MTk1IGY1MzlhOWI5NGY3OTQ1NzQ0NGNiOWJkMWRjYmRkMmRiYjJiNTk5NzAgbGVnYWN5LXRydW5rCiszNjE5NiA2Mzg0MDc4ZTdlZGY5NzZiZWYzYjE0YTlmYTczNTVhYmJjMWZjNDk2IGxlZ2FjeS10cnVuaworMzYxOTcgNDM0ZDNmMmNiODMyODI4ZTFlYWJmYzE4ZjEyYTY4MzAwMTE4OTZlNiBsZWdhY3ktdHJ1bmsKKzM2MTk4IGY3M2E2M2RkMzI4ODU2NzY2ZWExMjZjMTUzM2Q2NTgyZWZlMDkyNWQgbGVnYWN5LXRydW5rCiszNjE5OSBhOWE0YjBkZjUxMmFkNGY5NGRhN2ZkYjY2ZGI2MDRhZTY5ODc5ZGZjIGxlZ2FjeS10cnVuaworMzYyMDAgNWJmYzc1NDNkN2VmYTBmZDAwZTM1NmUwOWI4NzRjOGE1N2VjOWRmYyBsZWdhY3ktdHJ1bmsKKzM2MjAxIGM2YWIwZjg4ODk1YTVjNThlYTUwNjM2YjBlMTJlYjgzOGUyZDk2YTggbGVnYWN5LXRydW5rCiszNjIwMiA3NjMyNzczNzgxMTRjM2QwNWFmZWE0NTJmOWJhNzlmODBlNGZmM2Y2IHJlbGVhc2UyMy1tYWludAorMzYyMDMgY2RlMmZlYWI3ZmUwYWI3MGQyMWM4YjUxNTUzMGFlNmM1ZDc1OGYwNSBsZWdhY3ktdHJ1bmsKKzM2MjA0IDI3ZTcxMmM4ZTFhMzY0OWU1NWE3Yzc2NjlkZTRiODAwNzc3ZjdmOTAgbGVnYWN5LXRydW5rCiszNjIwNSBlYzY0YTZiZTMyZjcxN2RiZGU3ZjMyMmU4NzNlMTg5Y2NkM2UzMjk3IGxlZ2FjeS10cnVuaworMzYyMDYgZDBhNmNlYjg0NjQ2NDcwNmQ2M2FlMDFlNTI2Mjk1NGYwMzIwYTUwYyBsZWdhY3ktdHJ1bmsKKzM2MjA3IDY4NmU1ZDM4YmU0MjFhYmNkODI4NTc4YTU0MjczNWViZjI0NTc0ZmYgbGVnYWN5LXRydW5rCiszNjIwOCAwODE5NTA4YWFlM2FjM2UxNWM3NjU5NjdhMmQ4ODNmMmM4NDI5N2M3IHJlbGVhc2UyMy1tYWludAorMzYyMDkgNWNmNTA3YjY0ZjMxYTBkMDIzZGNjMTNjZGEyM2Y4YzIyZWM2NzM4NCBsZWdhY3ktdHJ1bmsKKzM2MjEwIGY5NTY5NTI2ZThkNDBkMWIxNjgwYzYwNjY4NzRjZGZlMWIxN2ZhMmUgbGVnYWN5LXRydW5rCiszNjIxMSA0YzcxYmNmYWNkZTJmMmEzZTM4MTJjMTZkZjA0ZWNiYzg1Mzg2MGI0IGxlZ2FjeS10cnVuaworMzYyMTIgNmZjMDI5MTVmNjM3YjAyNDRkMjBhNjQ1YzFjZjZiZDlmODYxZjc1NSBsZWdhY3ktdHJ1bmsKKzM2MjEzIDk4ZTQ2MzI3MjEyMDBiMDgwNzc3ZGRiNjg4NjYzODJjZWQ2MGYyZGMgcmVsZWFzZTIzLW1haW50CiszNjIxNCBlNWRmOGM4ZmFhMDk5YmQzMjRhYjlmMTM0M2UwYjE3NThjZmU0NjQ4IGxlZ2FjeS10cnVuaworMzYyMTUgMWQ1ODRjYTU2YjMwNDk1ZjEzOTE2NjY4Zjk2ZWEwMWMzNjc1ZjM3ZCBsZWdhY3ktdHJ1bmsKKzM2MjE2IDZiYzZhYmJhODY1OWVhYTQ5YTI4YzgyYmQyNWJhODUzOGI3MDE3YjkgbGVnYWN5LXRydW5rCiszNjIxNyAyZjc2ZTcyYWQxOTBjYjU5Mzk0YWIxYWU1Yjc2MGEyMDEzMjg1MGFjIGxlZ2FjeS10cnVuaworMzYyMTggNzU4NjFkOGM1ODcxNWEyZGJmMDRlNGIxOGFmYjE1YzI0MDFhNjFlMyBsZWdhY3ktdHJ1bmsKKzM2MjE5IDAxNGQ4N2M3MzIxMDJhN2YxMTY2ODE4OGQxZGMzN2Q2NmNmMGRkOGYgbGVnYWN5LXRydW5rCiszNjIyMCA0NzIwMjNkMGExMGQ2NDI4N2UyNmI5Y2Q2MTI1YTI2MjRkNzNlNTQwIGxlZ2FjeS10cnVuaworMzYyMjEgNmNlNjdmN2IwNDMwYThmZWRjOTA5MDZmYjE0NjE4YzZiMWQ1ZGIxYyBsZWdhY3ktdHJ1bmsKKzM2MjIyIGNkNDdmNjIyMWQ4ZDFmNTYxODI2MGU4YzhiNjU5MTAxYWVhMDFiZWEgbGVnYWN5LXRydW5rCiszNjIyMyAxYzJiYWFlMTQ4MjgyMzk3NzljNjkyNzNjYjBiNjBlNjE3NjgzMmFkIGxlZ2FjeS10cnVuaworMzYyMjQgOGNjZDhlYzYzY2MyMGMyYjRhMjBmOTg5MGNiMjNmOTY4NmE2OTMwNCBsZWdhY3ktdHJ1bmsKKzM2MjI1IDc1ZTVkMWU4YjYxNzFhMmE5ZjdkMmE2ZGU4Y2M3ZDdhMDhjZGNmYjcgbGVnYWN5LXRydW5rCiszNjIyNiA3YjZlZDM1YzU4NTBlNmY1NzAwNWU5OTczNDQ3YWMxZmZhY2ZjZWQ4IGxlZ2FjeS10cnVuaworMzYyMjYgZDk5YjViZWQwMDc4ODRiMjVmMTI3NmUyYmFmYjlhZDA2MWYyYTk1OSByZWxlYXNlMjMtbWFpbnQKKzM2MjI3IGFhZjkyOTVlZDQ1YjAwNmVjNzBjYTFkYzIzZjk1Njk0ZWFmN2Y2OTYgbGVnYWN5LXRydW5rCiszNjIyOCBlMGE3YzQ2MTMxMWIzZGNhZjZmYTM1NmNhOGRlYTEzNDExNDg1NGYxIGxlZ2FjeS10cnVuaworMzYyMjkgNzc5MTNiZTI5NGI5MjExNDY3YjQ1ODM3ZWRhZmMyYmVlYTI2MWE2ZSBsZWdhY3ktdHJ1bmsKKzM2MjMwIDg0NDQ4NDljOTQ0OGVkZWFiNjQ0ZGY1NDRkNmFjM2FiMzM1Mjc5MTAgbGVnYWN5LXRydW5rCiszNjIzMSA4MTAxZThkMjRmMDUyOGM0MTEzMDBhNjQ1NzM2ZDU3YjcwZTNiZWY0IHJlbGVhc2UyMy1tYWludAorMzYyMzIgMzkzYzE1YzBjNWE0OGY2NWViNGExY2U0NTYzNzQ5ZWZlMDkxN2QxOCBsZWdhY3ktdHJ1bmsKKzM2MjMzIGQ3MTEwYmI2YzEzZGM0MzlmNGFmM2VlMmU2YWJmOWIxOWUyNDkyZDIgbGVnYWN5LXRydW5rCiszNjIzNCBmY2ZiMmQ0MjIwYjBlNTczZTMyN2VkODU3MzBkMGI2ODkzNzFiZjA5IGxlZ2FjeS10cnVuaworMzYyMzUgYjFlNzFiMzkyNzk5YWE1NzE0ZDQ3ZTA2ODA2ZjU2NmJiOGMyNmUyNSBsZWdhY3ktdHJ1bmsKKzM2MjM2IDk1MGNmNjljNjliNjFkYzNlN2ZiM2Q2Y2I1ZWVhZjAwNjE3ZDZjYzcgbGVnYWN5LXRydW5rCiszNjIzNyAyN2UyMmY2YmQzYWU3NzJmZWE0ZmU3OTI0MWI3Y2RhYTI5MWMyYWE0IGxlZ2FjeS10cnVuaworMzYyMzggMjU1YTcxZjJkMjE1YThmNzBjMWQ1ZGI3YTc5ZmEyYjdjMGZkZDk5MCBsZWdhY3ktdHJ1bmsKKzM2MjM5IDg0ZTViNTg1ZDIwMWI4ODRhOTVmYzBhNGIyYTlkMjBlYmU1ZGIwM2MgbGVnYWN5LXRydW5rCiszNjI0MCBhNGJjMmZmZDhlNzE2YTkxNDc4NGU3ZDFkOGM1M2FhN2E2Y2EyNGIyIGxlZ2FjeS10cnVuaworMzYyNDEgNDg1ZDJlZjQzNDE5ZDE5MDAxNzBhZWJiZWE5ZDZiNjgyYzVjYjkxNyBsZWdhY3ktdHJ1bmsKKzM2MjQyIDNkZjM2ZTJlNWRkYzExNDlhZjhlYjUyZTIwYmMyMjVkODA2MjM2ZDQgbGVnYWN5LXRydW5rCiszNjI0MyA2NDUzNGZiM2FmY2Q5NDAwYmMzMGNmNzQyMWZlZjgzZTM5MjhkYzMxIGxlZ2FjeS10cnVuaworMzYyNDQgM2RkYzdhMjMxNzZiNjI4MzFkNDBhODM2NGY1ZmI3NzJmYjRmYWNlOCBsZWdhY3ktdHJ1bmsKKzM2MjQ1IGUzNzExODNkMGUxOTBjZTdlMGU3MjRiZjFhZDU4ODc0ZWYwNTkxNzggbGVnYWN5LXRydW5rCiszNjI0NiBmOGQ2MWVkMmYwZDNhMGUxODM2ZTc2NGE2MTU5YzVjMjUzODU4YWRjIGxlZ2FjeS10cnVuaworMzYyNDcgOTE1YjBlODMzYjViZmQyYmEyNWY1MzkyZWE1YTQyYTY2NmQ0ZGIzZCBsZWdhY3ktdHJ1bmsKKzM2MjQ4IDFjNjlmOTA5YzVhNjEzNzhkYTI3ZjAyNjFlNDJiYjAxMzc0NjliZjkgbGVnYWN5LXRydW5rCiszNjI0OSBkOGFiZjU4MmY4OTMwNmVhZTczZTQzZjFhYzQzMzliZjlkZGY1NzcyIGxlZ2FjeS10cnVuaworMzYyNTAgNDhjYTI3YWRhODFlNjVmZDc1NWQwOWFlMjc2YzRhNTAyZjNkNTlmMSBsZWdhY3ktdHJ1bmsKKzM2MjUxIGM3ZDJiMjRlZWZmOTlkNjA2NTE4ZGFiMjlhNjc2MzkwMTk0MTVhYTAgbGVnYWN5LXRydW5rCiszNjI1MiAyMGFkYjdjZTFiMDg1ZjQyMWIyZTNlY2I2OTM5NGEzYjI0OGFjMjY4IGxlZ2FjeS10cnVuaworMzYyNTMgZGE3YzNjNjFkNDBlMDA1MGZiMGFkYWIwZWVlNDIzZWNhZDhiMjMzOCBsZWdhY3ktdHJ1bmsKKzM2MjU0IDVlYzc4ZTJkYzRiZWM5NmVkZTc4MjM4YjU2OTU3ZGUxZWMwM2Q0NDggbGVnYWN5LXRydW5rCiszNjI1NSBmZjZiOTdjZGQ4NjRmNGY1MGJmY2QzMWRlY2IwZmUwM2NkNTIzYjEyIGxlZ2FjeS10cnVuaworMzYyNTYgM2E3ZTM0ZGM2YWUyNmRlOGIxZmQ4YTFmY2FhNmZmMzQ1M2VmYTk5YyByZWxlYXNlMjMtbWFpbnQKKzM2MjU3IGY0N2NlMjMwNGNiYjIzNTkwMzE1MjRhOGI3NWY3YThhNzcxYTQyYzcgbGVnYWN5LXRydW5rCiszNjI1OCAzOGY4ODM0MDNlOWY4Y2I3N2FmMjRlOTBkNDRhNTFlYjNmNjM0YzdkIGxlZ2FjeS10cnVuaworMzYyNTkgNzMzM2JlMDkyZWVjMGNlOTM1ZDg0MDcyMDViMTc2NTU5NTVjMjI3NiBsZWdhY3ktdHJ1bmsKKzM2MjYwIGVlMzg4OTZlMGQyNDE3M2UwNWRiYWJiMGM1NzVjYzhiNjcxYmM0YzQgbGVnYWN5LXRydW5rCiszNjI2MSA1M2YyNzRmMDJmNjk4MDU5ZGNmM2FhODBmZTI2MGQxZDk4MzczYTA2IGxlZ2FjeS10cnVuaworMzYyNjIgMWVkYzA2ODcyMTNmZTNmZGM0MTgzNWI2OWRmNGZmNWIwYWM4MTZmYSBsZWdhY3ktdHJ1bmsKKzM2MjYzIGIxOGY0ODBjMzdhMDc2ODEzY2RlMjZmMTk2ZmNmYzlkNDFlYTIwZTMgbGVnYWN5LXRydW5rCiszNjI2NCBjNTYxNjhmYWJmOGUzM2VkOWIyOWViYzc0MWUwNjM2MmNiYzJkMzNmIGxlZ2FjeS10cnVuaworMzYyNjUgNWFkY2E1ODE0OWZmNDlkZjA1ZTczY2QxYWRiZjQ1ZjNmYTM1ZjRkYSBsZWdhY3ktdHJ1bmsKKzM2MjY2IDQ2NGM4MDhkMGRjZGEzOGJiODJhMDZlMmY2YjkzZGIyYjU2NjZhZDggbGVnYWN5LXRydW5rCiszNjI2NyA3ZGI0YzU4NmUxZDZjZTI3ZjY3Nzg0ZTdiMTU2OTFjODlmNGUwY2E2IGxlZ2FjeS10cnVuaworMzYyNjggMjU2YjQ5NmFmNGM0YTA3NWQ2NmY4YzE0YzJmNDJkYjQxMDY3OGQ3MCBsZWdhY3ktdHJ1bmsKKzM2MjY5IGJiMDBlMTJlNzc0MTYwNTc3YTlmMmVlOGQwNTI5Y2JhMmJlZmIxNjMgbGVnYWN5LXRydW5rCiszNjI3MCAwZTI4ZmQ2ZmVhMDBjMmJmYzMyYzE5YjAzNGIwNTExMzgzNzc2MjkxIGxlZ2FjeS10cnVuaworMzYyNzEgZDJjMWM3YWU3Y2Y0MzIzNjViY2VjYTcxMjhiNDE4NTliY2E3MWUxOCBsZWdhY3ktdHJ1bmsKKzM2MjcyIDY3ZmJjMjNkY2ZkZDRiOTI2ZmYyMjQ5ZmZmYjQxODI2MGZlM2M2NzEgbGVnYWN5LXRydW5rCiszNjI3MyAwZjU2ZWFkOTY4MTc2NTUyYjk4MDc5YmMxZDVhNWQ0ZGE1MmMxODI2IGxlZ2FjeS10cnVuaworMzYyNzQgNzMxNTRhYjg1NjNhNWMxMTYwNTZmODFiYjFlN2ZmYTFhMTI1NDExYiBsZWdhY3ktdHJ1bmsKKzM2Mjc1IGQ1MDBmNzJmYjFhY2YxYjkzOGM3MmU0OTI2Y2FmY2ZiZWRkYmY1ZDMgbGVnYWN5LXRydW5rCiszNjI3NiA1MDA2OGIxN2Y0MWVhYTFhYjRmYzk5ODhkOWFiZDRmYzlkNDE2MzVmIGxlZ2FjeS10cnVuaworMzYyNzcgNmMxNjYxMmZiMTE4MzgxNTgwZGFmYTEwZjFlMGYwNjM1ODBlZjFkMSBsZWdhY3ktdHJ1bmsKKzM2Mjc4IGI3M2FiMzA5YWRhN2ZiMmI3YTRmMWUzN2I5YzY4ZmZmOWVmOWE4NmIgbGVnYWN5LXRydW5rCiszNjI3OSA2YjFlYTVjMDdmZjczZWVjNWRiZDM2MGM0NGJmODIwYWY0MGM0MGFlIGxlZ2FjeS10cnVuaworMzYyODAgYzQyM2UwMThhMjllMDNlZjI3NjZhNzkzNGU5ODA1ZTZiMzM3MmNiNCBsZWdhY3ktdHJ1bmsKKzM2MjgxIGUzZjgyZGY1NGM4OGUwODM1YmNiN2NjZGQ0OGU0NmU3ZjkxZDExNzYgbGVnYWN5LXRydW5rCiszNjI4MiAxYjlkYTVmZTkwNTM5NGJlYTJmNTE3YzVkZDVjNmQ1MTA2MmE4MGRhIGxlZ2FjeS10cnVuaworMzYyODMgZDRhNTkyMzBlOTNhOTZhNzFhYjU3ZDI5ZTczMTQyMmJmMDg4NDI5MyBsZWdhY3ktdHJ1bmsKKzM2Mjg0IDc1N2FiMjAwZDQ3YTZiYTdkZjBkZjA2NDRjMDlhOTgyYzRhMzM2OGQgcmVsZWFzZTIzLW1haW50CiszNjI4NSBiNTc0M2U0NDczMDkxMjBjY2MxZjBhZWYyNDQ0MDhiZjk5ZTY1ZGZiIGxlZ2FjeS10cnVuaworMzYyODYgM2M1MDM2YjNlOGU2NzViMzg4NzliMjIwYjJiYzEzNzU3Zjk2ZGQ5NyByZWxlYXNlMjMtbWFpbnQKKzM2Mjg3IGRmMTNmZmI4ZjQ5ODYzN2VkMDZhYTM0YWQyNGE0NzdjNDdmMmRiZmUgcmVsZWFzZTIzLW1haW50CiszNjI4OCAxODkxNmNlNDFjMjYwZjJiZTFhOGMyM2ZmYjA0OTA5MzRhYTQ4YTEzIHJlbGVhc2UyMy1tYWludAorMzYyODkgYjg3MTBlNmQ4ZDc4MGRmOTdjYjNkYjFmMzBhM2Q1NGIzZjIzYmZlOSBsZWdhY3ktdHJ1bmsKKzM2MjkwIDA1ZjEyYmMxZTViMzAyMjM1ZGViOGJlMDA2NmYzY2NkYjA3YTMxOTUgbGVnYWN5LXRydW5rCiszNjI5MSAyZmZjZDgzNjgxN2VhYmM1MDc5NDE2YjcyZGNmZDczNzJmNDQ3MWQ1IGxlZ2FjeS10cnVuaworMzYyOTIgNDM4M2RiNzdiMTlhOWI4MDI1ODg3NDdhYzYxYWNhNzdmMDYzYmEwZCBsZWdhY3ktdHJ1bmsKKzM2MjkzIDE0YjQxNTVkOGIwYTQ1MjEyNGZmN2NmZTc1ZWExNzJiMDM3YjNiZGMgbGVnYWN5LXRydW5rCiszNjI5NCA5ZThmN2RmNGE2ZmU3NjAxMTZkYjE4YTI0M2Y0YjY0OTkwN2JlYjA2IGxlZ2FjeS10cnVuaworMzYyOTUgNzk2Y2NiOTA4MmVmMzU2YzM0OTc4MzQ0YWY2NTY2NWM5YWJiOTdjZCBsZWdhY3ktdHJ1bmsKKzM2Mjk2IGZhNzhhYzU2ODMwOTk4NDQ4YmFlY2QyZTNkNzczYzNjYjYzNjI5MmIgbGVnYWN5LXRydW5rCiszNjI5NyBiYzU4NmRiOTk0NWEwZWMwNGY0OWE3Y2ZlZTJjM2U1YTc0NzQ1MGI5IGxlZ2FjeS10cnVuaworMzYyOTggNTBlODQ0YTRlZWQ5MGY2OGZmZTBlMWZhNDRjNjIyMzYwNmI0MjU1NSBsZWdhY3ktdHJ1bmsKKzM2Mjk5IGZlODBmNzcyYmZhMTI5MjBiYTFmNDZjZjkxMmEyMjE5MjdlZjg4MjQgbGVnYWN5LXRydW5rCiszNjMwMCA3N2RmMWNiNDE1MzMyZTI3NmE5NDczZDE3NzM3MjJjMmE2Nzg4NTAzIGxlZ2FjeS10cnVuaworMzYzMDEgYjgzNWQ1YzYxZDg2NDlmNDRiZmVhYjE0ZGFiNDgyNGE5YjVkNjE0NyBsZWdhY3ktdHJ1bmsKKzM2MzAyIGVjY2QwZmJlMGNkNWMyOGMxMzkyNDJjZTVlMmNkODhmMzQzMmMzNmIgbGVnYWN5LXRydW5rCiszNjMwMyBjNmFjZjI2MWQ2MTQ3OWQxODY4M2MwMWRhNDMwZmI2YzQzOTIxYzRmIHJlbGVhc2UyMy1tYWludAorMzYzMDQgZjNjYjk1Y2Q0MTNmNDlmNDQ0ODU3OTAwMjljNGI5YWRhOTQ3N2FiOSBsZWdhY3ktdHJ1bmsKKzM2MzA1IDAwMmFjNjI1OWMyY2I5ZDIyZmVhM2ZhMDk4MTI5MjY3ODFjMzQ0NGYgbGVnYWN5LXRydW5rCiszNjMwNiA5MWNjZTdiYmEzNzI2OTY0ODU5NWNkMDIwZTg1ZDA5MWYwZjgzNzVhIGxlZ2FjeS10cnVuaworMzYzMDcgZmEyM2E5YjE4OTY3NjE3NmI3MDgzYWYzNTFiY2E2MGZkZjU0YjkxZCBsZWdhY3ktdHJ1bmsKKzM2MzA4IDM5MjNkYzkwZWI4ZWJmNzBhMDUzODNhMWU0OGQ5OThkODY0ZDkwNjMgbGVnYWN5LXRydW5rCiszNjMwOSBhYjBhMmI3NGRkZmQ5NjllYTFmODY0NzgwMGEyZDRhMzEzZDQ3YmZjIGxlZ2FjeS10cnVuaworMzYzMTAgNzlkZjRmODdkNjdlN2FhZmEwZTM3Zjg4M2FhNTRiZDFhMjFmMWRkYSBsZWdhY3ktdHJ1bmsKKzM2MzExIGRiNTAzYTI2M2I0MzNjYmFiOGZjNGM3ZmUyMTBjMDI0YTNlMzA0ZTYgbGVnYWN5LXRydW5rCiszNjMxMiA5OWZkZjgwNzA2YWRhZTZlM2ExYmNhMDc1MDc4NmIyN2ZlN2ExOWNlIGxlZ2FjeS10cnVuaworMzYzMTMgMjAyYWUwNTc4ZWJlYjE1Y2U5OGZkMjQ4YjQ5ODRlZjE1NThlMDNhYyByZWxlYXNlMjMtbWFpbnQKKzM2MzE0IGY1NjUwM2E4ZGJhM2M0MWQwNDZmOWExY2YyMThkYmZkZjVjMjA3NzcgbGVnYWN5LXRydW5rCiszNjMxNSA2Y2ExMjJmMjczNmFiODllMTUxZmIzN2JiZmJkYWVjMDY5ZTRmMTllIGxlZ2FjeS10cnVuaworMzYzMTYgOWM4NzUxOGZhZjZiNmM0ZTc0YWM1ODA0NTU1YjRjNmQxOWU1ZDQyYiBsZWdhY3ktdHJ1bmsKKzM2MzE3IDA1NGVkZTAxZTNkMzA1N2UwNzk0YWEwMTlhNjlhZDFjN2FjZjg0N2MgbGVnYWN5LXRydW5rCiszNjMxOCA1MWViNjdhODU2OGVhMWI1ZTdmMjBjZGY0MWI2ZGFmNDUxMjVlNjIwIGxlZ2FjeS10cnVuaworMzYzMTkgNmZlMmQyNDEwMDhhODI5Yzg2OWFjMzU2YTZhYzNmMTQzMDdhNWU2ZSBsZWdhY3ktdHJ1bmsKKzM2MzIwIGZiYmQ2NzI3NDAxYjYxNjJjMzhiMWFjNWI1ZTdmMTU2ZjkxZGYyZGQgbGVnYWN5LXRydW5rCiszNjMyMSAwZGI2M2E3NjVhNzcwMWU5ZWM3OGY1ZmU4ZjEyMWJjMDUwMTFjMDhiIGxlZ2FjeS10cnVuaworMzYzMjIgZjA0ZjA4MWZmMjMxMTA5ZTExNTRlZjc4MjZlNWUyYjhhODViMTAwNiBsZWdhY3ktdHJ1bmsKKzM2MzIzIDg3NDAxNjU4ZWI0NTcyOTY5OGNkMDhjNDE5OWQ5NzM5Zjc0Yjk3MTQgbGVnYWN5LXRydW5rCiszNjMyNCBjNGVlZmZlYTE5NjAzOGIxN2VlNmU3NzRkMTkzMzM2ZTgwNDhiZjllIGxlZ2FjeS10cnVuaworMzYzMjUgMTkxNzk2YjdhMDU0NTZkNTQ0ZmIyZjA1YTI5NDI0ZjdkNGNiMmFiNyBsZWdhY3ktdHJ1bmsKKzM2MzI2IGY1ZjA0Y2UyNTE2MzU3NjE2ODQ2YWQyMDcyZDIzMGYxN2E5MGIyZWEgbGVnYWN5LXRydW5rCiszNjMyNyA2ODJmNzQwODg2MDI4ZmRlZDFmOTNmY2MzOWYwNDU1OTMyMDg1M2IyIGxlZ2FjeS10cnVuaworMzYzMjggOGU3NjhjM2FmMDE1ZDcxMjk1NzQ1N2IzNDkwMTRhYzI0ZGIzNGYwNiBsZWdhY3ktdHJ1bmsKKzM2MzI5IDNkNjg5ZTcxNWRiMjQ0YTkyNTQ2M2Y1MzZiNGU2Njc4ZDVhODljMmYgbGVnYWN5LXRydW5rCiszNjMzMCA2MWY5MDM0YTEwZjcxZjFkZTlhNjBhYjI4NDM5MjFhOTM3MjM5N2U1IHJlbGVhc2UyMy1tYWludAorMzYzMzEgOGU3YzkxZGU5NDkxOTYxNzIxMDM3OTg3NTlmMmU2Y2VmNzY3NGEyMSBsZWdhY3ktdHJ1bmsKKzM2MzMyIGM0ZWQxNGZhYjEyYTM2Yjc1ZDZkMjEyODM1ZTYyNmNhMTJlMTY1ZDIgbGVnYWN5LXRydW5rCiszNjMzMyBlYzkyOGVkMDFhY2M1NWUyNjkxMGIxNDZjMjdhZjVjYzg3ZWIxOGE0IGxlZ2FjeS10cnVuaworMzYzMzQgYjYxYzQxZDE5Nzc4NzA4OGQ1NDY1ZDhkYjAxNzc0NzA1YzQyNzUxYSBsZWdhY3ktdHJ1bmsKKzM2MzM1IDMyOWVlNDgzMGIwNDEyMTRjYWI5NWZiMGM0ZjhhMGVjZGZhYzM0YzggbGVnYWN5LXRydW5rCiszNjMzNiA0NTQ5ZTc1YTYyNDM0ZTQ4MmIyNTAzMWU2OGFmMjQyZTNiYTQzZGIxIGxlZ2FjeS10cnVuaworMzYzMzcgNWU0MWNiZWMwNDY1M2ZmNTFjMTUzNmQzZjFjNzZhNzc3OWU2M2VlOSBsZWdhY3ktdHJ1bmsKKzM2MzM4IGY1OGNjMzM0ZDE1YzQ2MmM1NjVkNmE4MzM1NzU5MDhmZWNmYzRmM2MgbGVnYWN5LXRydW5rCiszNjMzOSAxMGU3NWVhNTk2MDU0ODMzYWE3ZDk2NjM4NmRiMjg5MTQwNWRkNzM2IHJlbGVhc2UyMy1tYWludAorMzYzNDAgNGJmOGZiMTE4OTRmNGI4MWZhZjc0ZGIwMzYzNTVkYzMxYzgzNGY2ZCBsZWdhY3ktdHJ1bmsKKzM2MzQxIDczN2U4OTJhMmMyY2Y2ODYwNThiYTExYTg4ZWJkMzFhMWY0YWQ5MjIgbGVnYWN5LXRydW5rCiszNjM0MiBjYWZkMTM0ZmMxY2Q0NGI2OTljZTQyYzg4MDZjNDBkODNhYWM3YzU3IGxlZ2FjeS10cnVuaworMzYzNDMgZGE2M2UyZDZlYjhhM2QxZjBlYjM1MmViNGE1OWFlOTZmM2ZhY2IwNCBsZWdhY3ktdHJ1bmsKKzM2MzQ0IDk4N2UzNmFmYjg3OWQyNjY3NzUxZWJhYzI0NDhkZjdiYzRkZDIzZWIgcmVsZWFzZTIzLW1haW50CiszNjM0NSBlYzVkMGU4NzM5NjQxODUyYzgxYzAwN2NiMmRmYzhlOTcxMGU1ZTc4IGxlZ2FjeS10cnVuaworMzYzNDYgNzhiZDI1YjQyZDQ2MzE0MmM4NDBkMDFmMGNjYWMzZWEzYTE2YTllNSBsZWdhY3ktdHJ1bmsKKzM2MzQ3IDBkYTY2MGUwNWU2OTBkY2ExMDhiZjY4MWRiMmNjOTI2N2U4YjU4YWMgbGVnYWN5LXRydW5rCiszNjM0OCA2NzUzOWNmY2YwOWZlOGI1MzRhZTQwZWJkOWZhNmZkMzAxZTZhNGYwIGxlZ2FjeS10cnVuaworMzYzNDkgMjQ3NmE4MzM0Mjg2YjdhMGJmZTEwYWNjY2MzOWU3ZTMyMWYzMTExNSBsZWdhY3ktdHJ1bmsKKzM2MzUwIDI0NTFjOTU3MmVkZjVjMDA5NTIyY2U3MDc0NjJmZmZiOTNhODlkY2IgbGVnYWN5LXRydW5rCiszNjM1MSA4N2QxOTZlMWMyZDAxZDU4ZjA4N2JlYmRiNDQ1NGFkMDdjZjY1MTVkIGxlZ2FjeS10cnVuaworMzYzNTIgOTI4MjBlYTVhZThjYmUxM2RhMGIwMjNlN2FiNmJkMGFiNDdlNzJmZCBsZWdhY3ktdHJ1bmsKKzM2MzUzIDIwMTk4NmQ2ZDlkNjM1MGNmYjJhNjU4Y2RjNmMzOTcyYmRlYzdjNmIgbGVnYWN5LXRydW5rCiszNjM1NCAxNjM0ZjYwMTE4ODg1OTk1OWExNzhhZDc3N2U1OWUzNmNiNGNlOTU4IGxlZ2FjeS10cnVuaworMzYzNTUgMzI0NTVkYjk3MTM1NzZjMjk3ZWI4Y2VjZTViZDMwZTc1NTc4ZjU3MyBsZWdhY3ktdHJ1bmsKKzM2MzU2IDQzYjgwOTgxNWM3ZDc1OWMxY2VkOWM3NjdjYjRjZTczNzEzZTJkYjcgbGVnYWN5LXRydW5rCiszNjM1NyA3ZmQ2Zjg3ZTVkMWZjZWJhMTU4ZmUxZGNmNTQ3YjA5NjViMDMxNDk1IGxlZ2FjeS10cnVuaworMzYzNTggNGZhYjRhNWNjZTJmNWQ0NDBlNGVlNTA1YTk2M2ViYjkyNmMzMTZiZiBsZWdhY3ktdHJ1bmsKKzM2MzYwIDdlNDRmM2E4YjU2ODdjZmE2MTJlMmM0NWM4MTg1MGJjZDc0MTU1MDkgbGVnYWN5LXRydW5rCiszNjM2MSA3YWQ2ODU4N2M5YWNiNjI1MzQ1YWZlNzc4MjBiMzliMTczMzAwMDA4IGxlZ2FjeS10cnVuaworMzYzNjIgNzc1OTcwNGU3ODcyOTI1MWE5NTRkZjcwZDlhNTE1MGM1MTEwNGE0NSBsZWdhY3ktdHJ1bmsKKzM2MzYzIGVjOGU0ZWQyYjE1N2NjOWNiNzMyNTcwMDFkODE3MjJkMjFjNTRlZmYgbGVnYWN5LXRydW5rCiszNjM2NCBjNGQ1NGM0YmE1NTQzZWE4MmNmNTc0NGIxNDU5OWVhNWU1ODk2OWY1IGxlZ2FjeS10cnVuaworMzYzNjUgNDY5M2ZhMTllMjJiZGNhMmJhOTYzNTY0MDhjZjVkODQ3MmRlNWY0OSBsZWdhY3ktdHJ1bmsKKzM2MzY2IGQxZmI0YmQ0ODkzNjA3M2MyODQyYjA3ZTdlODZjNDQyMjk5MGY1ZTAgbGVnYWN5LXRydW5rCiszNjM2NyBkNDI3NDlkYjkzMzkyNTJjYTM3MDc4NjA4ZGY2ODhlYWE5MjczODA3IGxlZ2FjeS10cnVuaworMzYzNjggOTI4OGQ1MjRkNzU3OTk3MjI1YWJhOTY5M2VhNDkzZTVjODBhYjgwYyBsZWdhY3ktdHJ1bmsKKzM2MzY4IDkyY2E2NThmZDQyMDA5NWI2Mjg0YzljZTZlOTA4MmE4MDI4NWVjOWMgbGVnYWN5LXRydW5rCiszNjM3MCBiZTFhMTJkMGI4OTVkMjUxNjkyMDI1YWIzOTQ4ZDdhYTc5YjY0NTVlIGxlZ2FjeS10cnVuaworMzYzNzEgZjNmMTFkODYzYTAyZjYxM2FmN2Q1NzNmNTZkNGIxMjdlMmM4Yzc2NyBsZWdhY3ktdHJ1bmsKKzM2MzcyIGY0NmQ0OWUyZTBmMGIxOGZkOTMyNTlmNjc2YjU1Yzg1NTRkOTcyMTEgbGVnYWN5LXRydW5rCiszNjM3MyAzNzA2YTM3MDRhZWFjMDJhNTJkODY0YTEzNWU0MTNhZDRjMWJjOWY4IGxlZ2FjeS10cnVuaworMzYzNzQgYzA5OWFhNzY3OTUyZDk4YTZkN2EyNjgxZDUzMDE4N2IzNDMwZjExMyBsZWdhY3ktdHJ1bmsKKzM2Mzc1IDc0YzNiNzEzZTM1YTZhZmQ1NTg0N2E3YmVjYzU1NDc1MmU2ZTFkNDcgbGVnYWN5LXRydW5rCiszNjM3NiBkOTA5YTBkZGQxOTMyZGUwZmJiZTIxOTQ0Yjc5ZmYyN2EzYzc5MjIxIGxlZ2FjeS10cnVuaworMzYzNzcgZWMyODU2M2IwNTJlOGZkNmI5ZjRhNzQxNjczMjI0NjNkODQzMWY0ZSBsZWdhY3ktdHJ1bmsKKzM2Mzc4IDAyOWRmZmI2M2Y0YmYxY2FjYjc5NzExM2ViMzAzNDhlZTg4YTMyMDcgbGVnYWN5LXRydW5rCiszNjM3OSA3ZjRiNjZkYzQzNzYyZGE4Y2VmZjc4ZmI2OTE5YTQ1OTc3MzFiNWRmIGxlZ2FjeS10cnVuaworMzYzODAgZWMxYjU2YjQzYWYwNDY1ZDRiZTM3YTU4ZjI2ZWNlNzE0ZjRhMWI0ZSBsZWdhY3ktdHJ1bmsKKzM2MzgxIGU0Yjk2YzNhM2UxMjI5ZGFhNzgzY2ZjZjlkOTMwZWEyNjI2MDUxYjAgbGVnYWN5LXRydW5rCiszNjM4MiA2ZjM1MWIxYmNmNTM0YzhjYWFiMDI0YTFhODQxOWZlMmZkNTI4ZTE0IGxlZ2FjeS10cnVuaworMzYzODMgYTE2MGI5NjY5ZGIxZTMyMGNlMmNhM2ZmZGRhN2VhN2NjZTRjZWI5OSBsZWdhY3ktdHJ1bmsKKzM2Mzg0IDY5YmIyNDFiMDU2Yzk2ZjE1MjQyM2FhY2ViZTQ0ZTUxOTYzYzk1NDUgbGVnYWN5LXRydW5rCiszNjM4NSBjZjEzOGM1NWQ0MWJlNmJjNmVkY2YyYzk3NDNmMzU3ZmE3MzAxZjM1IGxlZ2FjeS10cnVuaworMzYzODYgMTExODY4M2NkNGQxY2Y1YzA1ZjZjN2UwZDBhMTE0NjNmOTZlZjlhNyBsZWdhY3ktdHJ1bmsKKzM2Mzg3IDNhYWRmYzNmYzRlNmZkYjgwN2ZjNmFhNWI3MGNkNTNjMzQ5ZmFkZDQgbGVnYWN5LXRydW5rCiszNjM4OCAwMDY0ZjU1YmFmYTdjOTY4NzMzODk4YjI0ZDkzZGNkNDAwZmRjMDA4IGxlZ2FjeS10cnVuaworMzYzODkgODQ0ZDk5Yzg4OGJiYTE0ZjY1MzA4YjMxNmNkZTY1YmFjNDExM2VhNyBsZWdhY3ktdHJ1bmsKKzM2MzkwIDVjMjVjYTZmZmFmOWU1OTU1NmVhNjc0YWU2YzMwODU1ZTMzNTUzNDMgbGVnYWN5LXRydW5rCiszNjM5MSA3MGIxNTA0ZTE3ZmZjZjZhMGQ5OTcwOWNmZGIzYzMzZDkwNjFmMGQzIGxlZ2FjeS10cnVuaworMzYzOTIgYmVjMGM3NjE4NjI1NDFlNTg5NjVjMDY4NmY1M2M1M2EzMzQ1N2M2YiBsZWdhY3ktdHJ1bmsKKzM2MzkzIDhlYTJjYjFlYzU5ODhkOWEzMTJjMTY0YmE2YjIyMzgyYjRhYjVhNDYgbGVnYWN5LXRydW5rCiszNjM5NCAxNTNjNTE3YmM2ZTk2ZTc0ZmMyMTMxMzBkZDg5OTc5ODc0NzQ5Y2Y0IGxlZ2FjeS10cnVuaworMzYzOTUgMjI4MzIzODk1MjcxZTA0NmU2NzVjMDQ0YzJjMzllZTJmZThjMDYwOCBsZWdhY3ktdHJ1bmsKKzM2Mzk2IDUxMWZmYzYyYjI5OGE3ZjExYjM2MWYxNTM0YWIwOTU2MTUyNmM0N2YgbGVnYWN5LXRydW5rCiszNjM5NyA4M2NiYzAyNWJmYzc0ZTRlMThhODg3MTExODFiODc2YzQ5MzQ2NjAxIGxlZ2FjeS10cnVuaworMzYzOTggZmVmNzkxMWE1NzA1Y2FlZjcwNTkzOGEzNzlmZTE4ZTFmMzFkZjIyZCBsZWdhY3ktdHJ1bmsKKzM2Mzk5IDIxZmQ2ZTYyY2QyNzZiMjcyNzkyNjA3NDc4OTFhOTljNDhmZWIxZTYgbGVnYWN5LXRydW5rCiszNjQwMCA0OTJkYzhiOGU1OGVjMTVlNzE2N2FhMjY3ZGY2Yzk0MzQ5MGY0ZTIwIGxlZ2FjeS10cnVuaworMzY0MDEgMjMwMzk3YmM3ZTMyMDQ2Y2FiNWIwN2Q4NWY0NTQxZDA0ZmMwYzU2ZCBsZWdhY3ktdHJ1bmsKKzM2NDAyIDBkZDQ3M2E4ZTUzYzA5MjI3YTFlOWQ5MTE2YmMxOTllZTNjODVkZGIgbGVnYWN5LXRydW5rCiszNjQwMyA0ZDJmNGEzOWVjNWVkMjc0OTA0YzE3Mjc5ZDMwZmE5ZDNjMjU2MTFiIHJlbGVhc2UyMy1icmFuY2gKKzM2NDA0IDczNjJlMzcyYzg5NzBkMTYzMGY4MmNkYTM1NDZmZDM1YmE2Mzg1Y2MgbGVnYWN5LXRydW5rCiszNjQwNSBmMmYwYzVmZDliNmM5ZDNmMzFmYzE3ZDNlN2JiZTRiMTczYjgxMWZlIGxlZ2FjeS10cnVuaworMzY0MDYgYTY0YmFlNWMzM2I3ZTc2YTA4NDYxYWZlOGQyMjgzYjVjODM4MWU0MiByZWxlYXNlMjMtYnJhbmNoCiszNjQwNyBkZTMyNmQ3ZTc0ZThiODM3OTk4NTExMzhkNzRhMWU2NWFiNzA1ODE2IGxlZ2FjeS10cnVuaworMzY0MDggYTAzYmNhMTY1NGQwYTJmZjgwMzdjZTI5OTM0MmVkZmMxZTIwZmU1ZiBsZWdhY3ktdHJ1bmsKKzM2NDA5IDY3YTg0YTMzZDBmOGMzNDNjMGYyZTAwNTkyZDQ2OWFmYWRiZDYyNjQgbGVnYWN5LXRydW5rCiszNjQxMCA0YmU0YzYzNjczZWIxNWM5MzFiZGFjM2FiNTA0YTcxOTFlZDQwYmY5IGxlZ2FjeS10cnVuaworMzY0MTEgM2U5MjU5NTlmYTAxYWNlZGM2ODc3MzgxNjdkZmVmMzdmMDEwYzQyNSBsZWdhY3ktdHJ1bmsKKzM2NDEyIGM3OGZjZGQwMjQ2NDQ2ZGYxMzM0NWM0ODFkMmYyZWY2Yzg0ODM2ODYgbGVnYWN5LXRydW5rCiszNjQxMyBmM2Y0NzY1ZWZlNjY4MzM4ZTIzZDNjMzUyYTUxY2VjZTk1ZTljMmMwIGxlZ2FjeS10cnVuaworMzY0MTQgNWIyNWM2NDQ2YWViMzNmNzM2NDRkYzlkNGMxZTJiNDg0NTgyMmQwZSBsZWdhY3ktdHJ1bmsKKzM2NDE1IDZkN2FiMGNhZDcyZGUxNmNmYzFkNzkyZjMyNDQ1MGYwNTg4NzJlODkgcmVsZWFzZTIzLW1haW50CiszNjQxNiBmZGI5Mzc3NTEzZTQyYjI5OTU1NGNmZDQyODg1NGE4NTNkYjYxY2Y1IGxlZ2FjeS10cnVuaworMzY0MTcgZjZiNDVkMWNiMGEyYmY2N2IxMWFiNmY2NjE1NmE2MDdmZjNkY2QxOCBsZWdhY3ktdHJ1bmsKKzM2NDE4IGI1MjdjYjFiMmI5ZWI0YWQ5NDY2Yzk4NjY1OTI3ZTUwZjk2YmYwYTIgbGVnYWN5LXRydW5rCiszNjQxOSAxYzVlZDgxZmZhMjM1ZGI4OTBmMjcxODhjMTk5ODI5NjNlNGM4Y2IzIHJlbGVhc2UyMy1tYWludAorMzY0MjAgYzE2YjAzYmExYzIyYmU0MDQzZjQwNTlhYmQ3MTNkZmQxNzYwY2RiYiByZWxlYXNlMjMtbWFpbnQKKzM2NDIxIDkwZDVjZWU3ZTY2ZTQ3YTk0OTgwNmQyZWFhNDk3OGI5NGFmYmY1MDggbGVnYWN5LXRydW5rCiszNjQyMiA1OThhNWNlNjMzMjJmYWUzYWNlNmI0OGUwMTk3ODI2MWE1YWI1MmU1IGxlZ2FjeS10cnVuaworMzY0MjMgNTA3NDVkOTlmYmYxNjA4OGQzZDEyZGZhNmYyNzg3NTI2OWI0MTEyMCBsZWdhY3ktdHJ1bmsKKzM2NDI0IDVlMWY1NWVjMTdkNmM3MTBhMjAzNzZmMzY4NTlhMmYzZjRiOTIwMWMgbGVnYWN5LXRydW5rCiszNjQyNSBhYjk3OWZmOGIwMmFlY2E1NDc5OGFjYzE2NmE1OWM0MTQ1OGE1MTFiIGxlZ2FjeS10cnVuaworMzY0MjYgNzk5YmNkZmYyY2RjMDU2MWI2Mjg2NTUxMmYzODIyOTNjNTg3MWQ5ZCBsZWdhY3ktdHJ1bmsKKzM2NDI3IDA4ZDkwNDYwYWI0ZDYyNDg3MGJhN2FmYWIwY2YyOTQzODdmYmU4YzAgbGVnYWN5LXRydW5rCiszNjQyOCA1N2QyMWM1ZTBlYjhhZjBiMmJhMzU2MjMyNDRjM2Y1NjRlMzc5YzAxIGxlZ2FjeS10cnVuaworMzY0MjkgY2MxZjc0ZDE5ZmNiYjdjYjE5MTZhOGU0NGU2MTVkNGE3ZWMwYjdiOCBsZWdhY3ktdHJ1bmsKKzM2NDMwIGM0MzE2ZGYyZmVkNDY4ODVjMjMzYzVkZDJjOGVhNDE4OTNjZmJkYjIgbGVnYWN5LXRydW5rCiszNjQzMSA2ZTljMTgyOTU4ZjkxNzBmYjI5ZWIzZTk3Mjc2YmUyMjg5YTQ5NjMyIHJlbGVhc2UyMy1tYWludAorMzY0MzIgMmIxMGUyYjVlODFlZjIzZTZhNTdmNzJmOWRlZmY1MWVmZGU1MDc1YiBsZWdhY3ktdHJ1bmsKKzM2NDMzIDRmMjQ4M2FiYjYyM2FmNjQwOGQ4NWRkZWJhNTYxYjk5NjNjNzZhNzIgbGVnYWN5LXRydW5rCiszNjQzNCA4YjMyODhmNjA3ZTFmODI0MDcwY2Q1NzA4OGIxYTNlZGU2M2VhYmM5IGxlZ2FjeS10cnVuaworMzY0MzUgNTU0NmM3YWUyNGY3MGQ3ZjVjZGQ4Nzc0Y2FiMDk1OWM5NDBmMzE5OSBsZWdhY3ktdHJ1bmsKKzM2NDM2IDMxYjY1ZDgzNzFhZjhkMjZhZWYwZTE4NDI5Nzg3MzcxZjhjYTczMTkgbGVnYWN5LXRydW5rCiszNjQzNyBmMDgxZjNhNTY4ZmE4ODdlMTViZmFkZmFmM2FkNTkyZTQzMTVhNGFlIGxlZ2FjeS10cnVuaworMzY0MzggMDllYWVlNzI5NzNjNTBlYmVlYzhmZmEwODNiZmJkZmIzNjk0YmIwZCBsZWdhY3ktdHJ1bmsKKzM2NDM5IGM1MzhhNzY0NGZmYTZjYjc4Y2VkM2NiNmUzODQ1MDliMDI1YThiZTAgbGVnYWN5LXRydW5rCiszNjQ0MCBlNmY3ZWY3MDczYzY3OTYyMGQ5OThkYmUwNGE2NjFmYWQzM2VjMzY4IGxlZ2FjeS10cnVuaworMzY0NDEgYWZiNDAzMzgzZjVkMDdhMmZkN2VhNmY4ZTc1NTM4MzA5NGNlNDU1MSBsZWdhY3ktdHJ1bmsKKzM2NDQyIGY2MDNlNWU5NmE0ZjdjODA5NGNkZWZhZTY3OTNhM2ZjMmRiMTZlOTYgbGVnYWN5LXRydW5rCiszNjQ0MyAyZmQ2OTI0MDcyOWFhZTUzZjlkMzRjNDhhNzdmZDA3MWE4NmNiY2UyIGxlZ2FjeS10cnVuaworMzY0NDQgNmFiYTZkMDc1ODk5YTYxODdkODNmNjc3NDEzMjNmNTQ1MzhkMjFiZCBsZWdhY3ktdHJ1bmsKKzM2NDQ1IDE0NDYwOTVhOTcxYWI4YTM1NmY1ZTZjYzhlYmE2MmZiMGI0MTliY2QgcmVsZWFzZTIzLW1haW50CiszNjQ0NiBmODZiZmMwM2U3NjM2NTQ2NjQyYWVjOWUyOWQwNjczNjNiZjA0Mjc4IGxlZ2FjeS10cnVuaworMzY0NDcgNzMwMTZiZDAxYTcxNGFmYWM0Y2E5MDQzZmUzZGFiNjhjMGIxM2VkMSBsZWdhY3ktdHJ1bmsKKzM2NDQ4IGQ0MmVmYzJiNDVlOTVjNjhmYjQ2MTMxYzMzMWUxZjFkOTc1ZTNhMjggbGVnYWN5LXRydW5rCiszNjQ0OSBmOWFkNWQyMDJlOGVmNDQyMzExNzVhZWEwNTc4ZmY3MTBiNjVlZmQ2IGxlZ2FjeS10cnVuaworMzY0NTAgNDU3ZmQ0MWM5NjFkMmZmOGEzMTY3ZTc3YWU0NDk5N2I5ZDhmMjFiYSBsZWdhY3ktdHJ1bmsKKzM2NDUxIDUxMzk4OTJhZGU2MjFjZDhjNjc3NjBhYzRmY2VlMDUwYzU5Y2NiZGEgbGVnYWN5LXRydW5rCiszNjQ1MiA2MTczZDk3YjgyOWU2ZTRjMTJkMjk1ZTA0MTdhNTRiNjhkZDNmZDdhIGxlZ2FjeS10cnVuaworMzY0NTMgMDU5ZGFlMDY1ODViZWZiZWFlZTI5OTNhM2M5OWQzMjYwMzUxNDYyNCBsZWdhY3ktdHJ1bmsKKzM2NDU0IGNlMzM5NjdhNGFiMGYzMzYzOGU1MTFhYTZiZWFjNmRjZjEyMDY5NDkgbGVnYWN5LXRydW5rCiszNjQ1NSBjZjBjOWUxNWY2ZjRkNjQ4NGZlZDRhOTEwOWQ3MzUxOTJkZGY3ODZlIHJlbGVhc2UyMy1tYWludAorMzY0NTYgYzk4NjlhMThlNjIxMzJkM2Y4YTUzZjM3ZmJiMThmNTk0MzNmMWUzNSBsZWdhY3ktdHJ1bmsKKzM2NDU3IGFiMThlZjgzZjVhNjJhYzRhNjFmZDE4NWM3OTE5YmJkYWNkNzZlOGIgbGVnYWN5LXRydW5rCiszNjQ1OCA5YjVjNjM4MDJiZjllMmFiNjg2NDVjMjVmYTM1YjM0NDIzZWUyN2I4IGxlZ2FjeS10cnVuaworMzY0NTkgNmYzNmUwMmIxZjY5N2QwY2MzNDY2Y2QzNGViZmUxOTZkNzI5MWViNyBsZWdhY3ktdHJ1bmsKKzM2NDYwIDk5YWM1MzBlOGIzZjU3YjQyZjgxNWM0OGM3ZmY4ZWUxMWEwMDY3ZjkgbGVnYWN5LXRydW5rCiszNjQ2MSBlZjIzOTQwMTRkMjQ1ZTUxYTQzMjM4M2VmZjAyNDdiOTFjNmVjNWE3IGxlZ2FjeS10cnVuaworMzY0NjIgMmRiZjU5NmUwNTI0ZTk1OTEwMGYzM2E4MmFhZjlhYzhmMzMyZWYxMSBsZWdhY3ktdHJ1bmsKKzM2NDYzIGZkZTQzMjdjZDQ3MjRkNGEwODY5OWRkNjA2ZWQ4ODdlN2Q1MTllOTcgamltLW1vZHVsYXRvcgorMzY0NjQgZGExODIxMGUzMTFjMmMyMGUyYzI0NTgwZWVmOGNlMzFkOTZjMDI4OCBsZWdhY3ktdHJ1bmsKKzM2NDY1IGQ4ZjMxN2NhODBiZDMwY2JmNmM3ZmQyYzY2MDNjNmZjMGQ3NmNkNzEgcmVsZWFzZTIzLW1haW50CiszNjQ2NiBkYjk5NDg0OWNkZjNmYzQxMzZmMTU2ZmE0NjE2MDk0OTUyNmM3ODFmIGxlZ2FjeS10cnVuaworMzY0NjcgY2YwYmFlZmU4ZDQwMTMwYTMyODc4ZTZjZWI5YWNmNjJkNTkzMTM0NyBsZWdhY3ktdHJ1bmsKKzM2NDY4IGZiYjkwMWQ2Mjk3YjU1ZGMzZTNlNzkzNzYzMmQ0M2VmZDI5ZGVlNzAgbGVnYWN5LXRydW5rCiszNjQ2OSBmZjU5YWQ1ODU2OGUxZjVjYTM1NWM3YTlkM2RjZjQxZGRmY2RjZDM1IGxlZ2FjeS10cnVuaworMzY0NzAgZTg5OTA2MGIxZjA1MWVmMTRiYWQ2MDk5OTYyMWNlMWIxYWViN2ZjOCBsZWdhY3ktdHJ1bmsKKzM2NDcxIGRjMzJlMGE4YTBlZGIxNWYyY2ZjMjgzNWI2NTAyOTg4MDI1YjczYmQgcmVsZWFzZTIzLW1haW50CiszNjQ3MiA5YmMyZWVjMTQ3OGI2YmE1NWYwYjA3ZTY4OTEyZTg1ZmVlNTMyODEwIGxlZ2FjeS10cnVuaworMzY0NzMgOWMzNDg1MjZhNjk5NDA3YmNmMzExMzQ1NThhODI5MWFhZThhM2EzNCBsZWdhY3ktdHJ1bmsKKzM2NDc0IDZjMWM1OTU3ZmVkNWY5ZTBmZGM5ODJiNjczNWZkMDJjOTFmMWU1ZmYgcmVsZWFzZTIzLW1haW50CiszNjQ3NSAzYzJkOWU3YWM1YTFmOTlmODhjY2EwYzViODI4NTVhMWE4ZmE2YWNkIGxlZ2FjeS10cnVuaworMzY0NzYgN2JkMDRhNGQyOGI5MzFmMTg5YTYzOTRlZGQ5MGM1ODViNGJiNDM0NSBsZWdhY3ktdHJ1bmsKKzM2NDc3IDkyOTQ0NGNhMjJkOGY2ZGZlYzllZGVhMzk5YzhlN2NlZmVlMmNiY2EgcmVsZWFzZTIzLW1haW50CiszNjQ3OCBmNzI1YTE5MTBkMGQwNzczM2I3ZDUxNmIzNTVjNzlmZGRhNzU4OWYzIGxlZ2FjeS10cnVuaworMzY0NzkgNDYzYmY1ZWJmOGEzM2FiNDMzM2Y0NGQ5NzY2NzdmNjkzYzRhNzEyZiByZWxlYXNlMjMtbWFpbnQKKzM2NDgwIDM5MTkzNzU3MTA2NWFlMTI2NGFhNWE0OGNiZjg3OTYzODVjNzJkOTggbGVnYWN5LXRydW5rCiszNjQ4MSBiZTE0MjdjYjA0MDZmNjI5ZjczYTE0NGUxMjQzMWI4ZTFjYTE4NzUzIGxlZ2FjeS10cnVuaworMzY0ODIgM2NjYTI4YWIzODU0NDIxNThiMGM5MmRmZjVhMmZhYWYzZTJjNTViOCByZWxlYXNlMjMtbWFpbnQKKzM2NDgzIGNhMmFhNDNiYTM4YjdhZWYyMzczMTRlYTZlZTJjZjExNWE1OTkxMTggcmVsZWFzZTIzLW1haW50CiszNjQ4NCA1ODg0M2YxODZlODBmZGVmZTQ5MWEzNDlhYzk1ZjQ3YzRiN2VkYjdjIHJlbGVhc2UyMy1tYWludAorMzY0ODUgYzEzMWM3ODhhMDZmYWM4MTg1MzNkZDdiYWMzNjgxZWJlZmNkMjc4YyByZWxlYXNlMjMtbWFpbnQKKzM2NDg2IGU0ZDlkODQwY2U2ZTU1OWNjM2VlNWMzZjVjZTFjZjVkZThmZWQ2MDggbGVnYWN5LXRydW5rCiszNjQ4NyA2YzVmMDFlYzJmNzViNmUxNDc5ZjQ1MTUxYTRiMTE0ZDhiYjNkZGI4IGxlZ2FjeS10cnVuaworMzY0ODggOGJkNjdiYWQxNDNjZGM1NjJkZTYwZDk2ODVlOTdjMTMxZjU3NzljYyByZWxlYXNlMjMtbWFpbnQKKzM2NDg5IDNlYjZkMjUzNjBhMzdhMDIyOWI5ZmQ1MDEwMWMxNDRlZjY0MDA3MTUgbGVnYWN5LXRydW5rCiszNjQ5MCBjMTNkOTExYWUwNWJjMGYzNjVhOTcwMDMxODk2MjgwZmU4Y2M0NmMwIGxlZ2FjeS10cnVuaworMzY0OTEgOTQxYzIzOWNiNmQyOTY4YzAzMjA4YjdmMDQ4MDc1OWQxYzg1MjRhNCBsZWdhY3ktdHJ1bmsKKzM2NDkyIDU5NDk5NmNhZmYxMGQxM2I2NmQxMjcyZGJlODQxNmJhOGQ1M2NjN2EgbGVnYWN5LXRydW5rCiszNjQ5MyAyNzJhYjVhNTRiOWViYzljNjFlZDFhNzJmYzg1MTU5NjA1NDFjODJkIGxlZ2FjeS10cnVuaworMzY0OTQgYTFhOTc3NmZhYjUzZWEyZjY0MDI0ZWM5NjEwYzA1YjRmOTBiZGZhZCBsZWdhY3ktdHJ1bmsKKzM2NDk1IDUyYmVhZmQ5MzZjODBlNThlNTMzZmU3NmIzNDQ2M2Y1OGFiYTA1M2IgbGVnYWN5LXRydW5rCiszNjQ5NiBkMmU2NmVhYTVmNzRlODFlNzg4OWM5MTFiYmRjZThiOWY0NDEyZWM0IGxlZ2FjeS10cnVuaworMzY0OTcgOTc3NjhkODczOTRhNDQxMDcyNTczZGMyYzM1NzZjZmI4ZDY3MDcwNCBsZWdhY3ktdHJ1bmsKKzM2NDk4IDM0Nzk2MTBmYjI4OGQ5OTkyYmM4NGI4NDhiY2RkOGI3ZjAyNTY0OGYgbGVnYWN5LXRydW5rCiszNjQ5OSA5NDk0NzNmYTQ4Mjg1ZTVjODZiZjJiYzQyYTc5YjczZDc4YjIxYTY1IGxlZ2FjeS10cnVuaworMzY1MDAgODhmNTQwNTc2MWFmNzYzNGM3MTQxMTRjMTVjYWJlZGRjNTM1ZmVkNiBsZWdhY3ktdHJ1bmsKKzM2NTAxIDY4N2QyZWNmYTY0ODVlOGI3NThiMmZhMTllZDUxNDkzMDNiYWI2OTkgbGVnYWN5LXRydW5rCiszNjUwMiBjYWRhMmU5YjY4NWM4OWU5Yjg3MGY2ODdlYjE5YTY1ZjcwMTNmMTg4IGxlZ2FjeS10cnVuaworMzY1MDMgNTU4MWQ2OGIzYWU5ZTcyMzg0ZGY1MWFmZjY5MjUwMjJmMWQ0MDI3ZCBsZWdhY3ktdHJ1bmsKKzM2NTA0IGQzZDQyNjQ4M2Q3MTA0M2IzYjU5N2ZjYTVmMDc4NTBmZmU2MWE5ZjUgbGVnYWN5LXRydW5rCiszNjUwNSAxMDRhN2ZjMDZiZGZhMmE0ZGVkNGQ1ZTc5OTBlMjhkODAwZjg4ZDEyIGxlZ2FjeS10cnVuaworMzY1MDYgYmM0ZGQzMWM3M2ZkZjRmODU2ODVlMTQ5ZGRjNjg2ZWZlODBlZTk1NCBsZWdhY3ktdHJ1bmsKKzM2NTA3IDhmY2YyMDUyZDE2ZTIwNjIyOTJhODdkMGM4YTk2YzU2NzYzYTc5ZWMgbGVnYWN5LXRydW5rCiszNjUwOCBkNjRkY2ZiNDk1YjJiNzE1ZmRkMTZjYzNmZGVhMjA2NThjNzZkMGI3IGxlZ2FjeS10cnVuaworMzY1MDkgMzVkNDBmZjY5ZWI2MjY0ZTliOTFlODYyMDYzNDdjM2ZiYjYyOTRjZiBsZWdhY3ktdHJ1bmsKKzM2NTEwIDlhM2I0MjE5YmNiZWRlYmE0OWM1MWJmZjc5OWNmOWJiYTA1MzY2YjAgbGVnYWN5LXRydW5rCiszNjUxMSBmYWU0NjA3OTRkM2QzOWY2MGE5NDBjZDk3OGU3NWNlZTVkZDdiMjhhIGxlZ2FjeS10cnVuaworMzY1MTIgMTM5OWRjNjE2NzIwZjRiMDNiM2NkYzIyYWNkNjE5M2ZiY2VhM2EwNSByZWxlYXNlMjMtbWFpbnQKKzM2NTEzIDU3N2E5ZTRjODJmYjcxZTI2YmVjOWU5MjJhNDg4ZjNjYmY3OTU5Y2EgbGVnYWN5LXRydW5rCiszNjUxNCAyYmY4NjlkMzFmMGNlNjE1ZTdjMzM4NWNjMDgzZDYxNWY0YWUwMjM2IGxlZ2FjeS10cnVuaworMzY1MTUgNWZiNzhhMmQ5NGYwYWRlMGQ5YTUyYWE1NzNhMmRjZjNjYWZmNjRiMiBsZWdhY3ktdHJ1bmsKKzM2NTE2IDIxMWRiNjdjY2QwOWVkOTQzNGU3ZjA5MmVmZjJhNmQ3NzdlOTRjNWQgcmVsZWFzZTIzLW1haW50CiszNjUxNyA3ODBhMzM3ODc0NThlY2UyMTNiMzY2N2NiODdkODEwOWVlYTE5NmE5IGxlZ2FjeS10cnVuaworMzY1MTggM2MzODJkOTBmMzAyZDNlNTYyOGZmNzYzMWRmN2ZiOWM0ZWI1MDNiYiBsZWdhY3ktdHJ1bmsKKzM2NTE5IGZmMjY3MTRiZjg2ZGM0YzIyYjRlMTU4YzE2NzM1YjY2MTRjOTg4MGYgbGVnYWN5LXRydW5rCiszNjUyMCBiZTZmMmUxYTc4Yjc2M2MyNmJiMTJkMzViOTczYzY5NjJhNTQ5MzY3IGxlZ2FjeS10cnVuaworMzY1MjEgNDliYWFkN2IwMzJlMGIwYzRkYWJmZGZhZTQ0MDY0YWI0NGE2MzFlOCBsZWdhY3ktdHJ1bmsKKzM2NTIyIDc3NDJmODVhMzcyMzhlMmM1ZWIwYmMwOGQyY2M0MzBlYzFiNjUxNjkgbGVnYWN5LXRydW5rCiszNjUyMyBkYzJmZTc3ZGQxNjdlZGM4NjUxZjUzMDI0YTA1MjY3YWY3OGM0MThmIGxlZ2FjeS10cnVuaworMzY1MjQgMDcyOWQxZGI1MTE4MzgwZGQwNzAzMjA4YzI2ZTY5OGRmNGZmYzRkYSBsZWdhY3ktdHJ1bmsKKzM2NTI1IGVkMzY2MjFiMTI2YTFlNzk4NTQ0ZDNkMmFhMTUxMTBiNGRmZDBlZTQgbGVnYWN5LXRydW5rCiszNjUyNiBkZjRlNmNjNjY2MWQwNDU4ODk5NDljNzBlZTU3YzcwYzQzZDNlYTU3IHJlbGVhc2UyMy1tYWludAorMzY1MjcgNGJlMjgwOTNlNDgwZWFjMTVhYzM0OTc0MjdiOTc3MmUzYTlhNTkwYiByZWxlYXNlMjMtbWFpbnQKKzM2NTI4IGFiMGIyYTU4ODhmOWU3MGQxMWY2YjdjOWYwYzc1N2I1OTU4N2M3MTcgbGVnYWN5LXRydW5rCiszNjUyOSA1MDY5ZjViZDY2ZjNmNmQ2YjcwZmQxMTM0NjE5ZDZmMGI2MTRkMWRhIHJlbGVhc2UyMy1tYWludAorMzY1MzAgZDFlZjg2Zjg3ODVmOTNkZjQ4Y2RhMDZmZDQ2MTFiYmE4ZjNmYWVjMCByZWxlYXNlMjMtbWFpbnQKKzM2NTMxIGYwODUyOTg3OWRiMWFkM2Q1Y2E0NTdlZmRjNmJjOTQxODA3YWQ5NGMgbGVnYWN5LXRydW5rCiszNjUzMiBhYmUwNGU3N2E0YjBmZDdhN2U4Nzg2ZmQyNDJmN2QzZjMzZGM2OGVlIGxlZ2FjeS10cnVuaworMzY1MzMgODQ2YWNlNTczODljOTJhOWRkN2U0Zjg4MDZkMTMxZWJhMDMxYTIzMSBsZWdhY3ktdHJ1bmsKKzM2NTM0IGRmODhmYWRiYTJmNTZjYmZlNDQxOTIyZTc4OTQ5MzNjMTljZTBkZmUgbGVnYWN5LXRydW5rCiszNjUzNSBjN2M5YjY4ZGRkYTI5YzU2MWRjODI4MzcwN2ZiOWFjYzIyNzIwNmJhIGxlZ2FjeS10cnVuaworMzY1MzYgMjU1YWUyM2M3OGZiNjE5M2JmYzVmNTM4YzZmNmMyMzc5NzliZTNlOCBsZWdhY3ktdHJ1bmsKKzM2NTM3IDM4YWQ5YzZlNzE3YzhiMGI4YmM5NzJmNjFmMzM4MmYyYTA4NzUzN2EgbGVnYWN5LXRydW5rCiszNjUzOCAxNzQwNjU0M2YxNWIyN2U4YWJjYjk4ZTNmMzcwOWFmYmUwZTZjODNhIGxlZ2FjeS10cnVuaworMzY1MzkgNWIwYzg3ZGU2ZDA1MDk2ZWQ0MTgxMDRjNmI3YzZkYzc3NTQ2MGUxMyBsZWdhY3ktdHJ1bmsKKzM2NTQwIGY3OWNmMTNhOWE3ZDEwYTgzMmFiZTAyMjY1ZDdlMTE1NTVkY2M0YzIgbGVnYWN5LXRydW5rCiszNjU0MSAwZTg5MGFjMWMwZjI2NWY0NDdmMjdmZjM3ZmNmMDMyZjgzOGJiZTk2IGxlZ2FjeS10cnVuaworMzY1NDIgMWJkMzM4M2JhZDk4NTAzNjQ4MDM2NWJlZDMzOTFmZjk2NjcyNDc0MCBsZWdhY3ktdHJ1bmsKKzM2NTQzIDEwOTU1MGY1YTgyOTYzMGE4ZWZmMjEwODJjMGUwZWJmMGYwODJlM2EgbGVnYWN5LXRydW5rCiszNjU0NCBjYmIyNWZkYTk1YTU4MGYyYzY3ZjRhYTliZDQ0MDc4ODgyZTZiNDZjIGxlZ2FjeS10cnVuaworMzY1NDUgZDA5ZGE3MTQxM2NhMDRmY2I2Y2YzM2ZhY2ZhMjNjNWE0MGFmZWJkZSBsZWdhY3ktdHJ1bmsKKzM2NTQ2IDRkNDNiMGFiYzIyYThiNjFmZTJhYzUwY2VhZTk5NmZjZTdhNjM0OTIgbGVnYWN5LXRydW5rCiszNjU0NyBlZmNhNTViYmJhMGFiMTJhMDRmOTc2ZDQ2OTYzOWI1MDUwMmMzNzJmIGxlZ2FjeS10cnVuaworMzY1NDggNmFjZDcwNzBlZDY2ZjdhZDY1MzEwZGIwMWEyZjhjYmFhOGY3YzNhNiBsZWdhY3ktdHJ1bmsKKzM2NTQ5IDc1NTljN2ViNDc4MDI3NDM0OTg2MjY5NjhjNjNiODQ0MWE1NjBjMTUgbGVnYWN5LXRydW5rCiszNjU1MCBlNGNjNzg4ODRmYzQyNmMyNmQyMTkyYjIxNjU1OWY0NWEyNjllMDU5IGxlZ2FjeS10cnVuaworMzY1NTEgNjlkYWRjMmNhMTRkZmNiZjYyYWUxYTE2YmUyOTAzZmIwMzgwNWMyYyBsZWdhY3ktdHJ1bmsKKzM2NTUyIDgxNzg0ZjY2Njc4OWI5MDI0Zjg3NmU1MWNiOTlmZGQ4NmM1YzU1N2QgbGVnYWN5LXRydW5rCiszNjU1MyBlMTM1ZTgyY2Y2ZTQ4OTE2ZjZiOWQ0NjVjYTljYTU3YmZmZmFmZTA4IGxlZ2FjeS10cnVuaworMzY1NTQgMDdiNDhlYWYyYjAxZWJjNDhjNGZhNDA3YjZiNjM3MWU4NTMzYzZjOCBsZWdhY3ktdHJ1bmsKKzM2NTU1IGJlYmNiNzlmMzdjYmM5NDk4Mzk3NjQxM2QwNDQ5MmZhY2E4NzM3MzEgbGVnYWN5LXRydW5rCiszNjU1NiBkYzNmMDRhZmVmNzU3MGI2ODMxZTBhYzQ1MjQ0NDQzZTUyYzk2MjQ4IGxlZ2FjeS10cnVuaworMzY1NTcgOTc3ZjI2N2IwMGY5M2VjNjI5MTlkNzZhNTEzYjNmMTMzYzQxOTA1NSBsZWdhY3ktdHJ1bmsKKzM2NTU4IGIxZDE0MmQ3MTQ4Mjg5OTg3MDQ2MDZkYWZmZGYxNjVjN2Q0N2U5MGQgbGVnYWN5LXRydW5rCiszNjU1OSAyYmM2NmYxZGY3Y2M3YzgyM2ZkYTNlZTY0YjJjY2UyMGVhNzdlODlhIGxlZ2FjeS10cnVuaworMzY1NjAgYzNhMDk2YmZiZDZiZTkzOTU5OTBlNzkwOGM1Zjg4N2MzNTM3YTg2NyBsZWdhY3ktdHJ1bmsKKzM2NTYxIDI4MjkyN2Y3YmRlMjQyZGE3Y2MzOTU5YTMzZmU4ZmI1NjRhODAzM2UgbGVnYWN5LXRydW5rCiszNjU2MiA4YmRkNzk0YTQxOTdlODk3MTEzNjExMWJhMWVjMWI5M2ZjYTUxNGY5IGxlZ2FjeS10cnVuaworMzY1NjMgYzFiZDFjOGU2NGI0NTc0ODU5YzkxZTNiMzdmOTczOGJkNzY3ZjdkOCBsZWdhY3ktdHJ1bmsKKzM2NTY0IGI2ZjEyNTJiNjgxYzUxY2MwODNjNGZmNzM2OWQwNDc1YTc1NjA4MjAgbGVnYWN5LXRydW5rCiszNjU2NSBmOTcwOTlmOWZmMWMzMWY4NDlmYTdhNWRmNTkxMjczNjA4Mjk0MjJjIGxlZ2FjeS10cnVuaworMzY1NjYgMzM3N2E3MjM3M2ZiZjg1ZDU2NThjOTY2ZmMwNjIwNzUxNjBmMTQwNiBsZWdhY3ktdHJ1bmsKKzM2NTY3IDRlMDdlYWNiMWJkZmQ4ZDc1NGEzODUxMDg5OGJjZDdmYzgwMzNkYTEgbGVnYWN5LXRydW5rCiszNjU2OCBkMTQzNmMyOGRjYTMyZWUyZTY3NzczNTIxOWVlYTQxNDY2ZmFhYmFiIGxlZ2FjeS10cnVuaworMzY1NjkgZGIxYTI3YjZkNzc1MGVjMjc2Yjk3M2JkMWQ5Y2Q5YjY4MDY0MzVjNyBsZWdhY3ktdHJ1bmsKKzM2NTcwIGMxODI0ZDY4ZDEwZWFjNDNjOTgzYzE5ZjgxN2ZiYzExOTE2ZjU0MzAgbGVnYWN5LXRydW5rCiszNjU3MSBlNDU3NTUxOWVjMjYyM2EwZmQ1NTkzOTc3YjlmZTFjMTJkYzM2MTZiIGxlZ2FjeS10cnVuaworMzY1NzIgMDVjYTIyMzJlZmNiZGJkMzk2ODk5YzZmODk3MzU5MThkZWI2YWQ1YSByZWxlYXNlMjMtbWFpbnQKKzM2NTczIGI3OTUxZTFmNWRkZjI5YjBiNDQwMzA0M2E0MzU5OGZmNjE2MTAxMzIgbGVnYWN5LXRydW5rCiszNjU3NCA1ZDlmNzJkMDg0M2VlYTlkOGVjZTNjYmRiY2U3YjZlMTAwZTQzZmMzIGxlZ2FjeS10cnVuaworMzY1NzUgOTVlYjZlMThhNTQyNzNkMzVjZjg5NjljYjNhZmFkNTQ2NDNlYjIzNyBsZWdhY3ktdHJ1bmsKKzM2NTc2IGRiZDNhMDRlYjBjNjQ4OTU4NzM2ZjQwODk2YTM3MjYxMDI1YTMzODAgbGVnYWN5LXRydW5rCiszNjU3NyBiNTQ1OWJmNDgyNjI0YmExZWYyZDU0YjhiY2ZjMmYyM2YyMzZjYjVjIGxlZ2FjeS10cnVuaworMzY1NzggOTM4ZGMzMmRkYmM0MWYxNDU4ZDJkNmI3NDVjMzY2MGY2MWNmMTY0NSBsZWdhY3ktdHJ1bmsKKzM2NTc5IDI1NzU2M2RjYjQ0MjM0NGZhYWY5ODdjYzgyM2M0YWI5ZTRlODA3MjIgbGVnYWN5LXRydW5rCiszNjU4MCBkYjI2YjNkYmU4MDI3Y2M5YjA1MGVjMzRjNmNjOGE1ZTE3OGI1M2UxIGxlZ2FjeS10cnVuaworMzY1ODEgMjZjYjA1ODkwN2YyMWI3ODE2NGE5YjIyOTQwYmVkMmI3NmE1OGQ5OCBsZWdhY3ktdHJ1bmsKKzM2NTgyIDg1OWVhODYxMmViMGRjNTI4YjRhMTRkMTdmMGIyM2YwYjNkYzI5MzcgbGVnYWN5LXRydW5rCiszNjU4MyBkMTc3N2Y1MTkyM2JiNjE4MTU0MGFjMWYxZTZiNzIyOWM1ZDc5ZjM1IGxlZ2FjeS10cnVuaworMzY1ODQgZGNjNWMyZDU4ZjMyNWZmYmM4MTFiZjIwN2EyMTdhMzVjNWY3YWE4ZiByZWxlYXNlMjMtbWFpbnQKKzM2NTg1IDYxYmU5MDRhMWQ0ZTM1NTNkN2EyZDcxZDI5MDViMjkzYmM1ZjczYjIgbGVnYWN5LXRydW5rCiszNjU4NiA3NmFkODE0YmM2N2M5NGVlZmZiOTc4MDZlOTUzZjhhYTE2MGQwMWE4IGxlZ2FjeS10cnVuaworMzY1ODcgOGFkNWExNjIwMDkyZTRkMGVlNjE1NDNlZjMwNThmN2U0N2MxMTVhMiBsZWdhY3ktdHJ1bmsKKzM2NTg4IGVjYjBjOTdmMWU0MjYwZGFhNzI3YTcxMWYzZmY0Y2QyOGU5MTYyZTAgbGVnYWN5LXRydW5rCiszNjU4OSA1MGVjZTNkNGZmMzcyMjg3OGIyMDZlNTIzYTEyZGE1Mzc4OWEyMTc1IGxlZ2FjeS10cnVuaworMzY1OTAgZDE1NTE3ZjJhYmU4YmNmMjhhNTkwNzRiYTUzOWNjYmYwNTVjMjdjYiBsZWdhY3ktdHJ1bmsKKzM2NTkxIGE5MWU3YTQ1ZjE0MjQxZjY5NmVmOTE1MDRhMGZmYWU1ZThlOWViYmUgbGVnYWN5LXRydW5rCiszNjU5MiBmZmE4YWIwMDgxZjIxM2M0OTU3NDc4ZjFiMDA0MGI4MjExMzk2MDI0IGxlZ2FjeS10cnVuaworMzY1OTMgOTgzYTkxYjUwZjZlNzg3NTAyNTIwNWI2MGFkNTQyOTQzOTIzMDEzMiBsZWdhY3ktdHJ1bmsKKzM2NTk0IGEzYjFkNmM5OWU0NjIxYmU0ZjdkNDk0NzQxM2IyZGZjY2I1NWU2ODIgbGVnYWN5LXRydW5rCiszNjU5NSA2MmY4NDNmY2I4MjM3OTdiY2M5YTU5YWExY2Y2M2Y0ZjhlZDc5NzNlIGxlZ2FjeS10cnVuaworMzY1OTYgMmVjNDUxMjMwYjhlYmNiMzI2NTY1YWE5MjRlOGZlMmU3ZWM3MGVhOSBsZWdhY3ktdHJ1bmsKKzM2NTk3IGIzMDFlNWRlZTkzOGMyMzhhMDEwZDgyNDJiMWJlZjZjZGRiNTI3OTMgbGVnYWN5LXRydW5rCiszNjU5OCA4YTkxY2Q3ZDdlODI1NGRkNWMxZDI3NTUyYTcwNDQ1MDI5NDAyNzFjIGxlZ2FjeS10cnVuaworMzY1OTkgODI2MDY5YjcyNWRiMjY5ZWExY2RjNDRmNGE2OWFhNzMzYjI1NGFmNSBsZWdhY3ktdHJ1bmsKKzM2NjAwIDY4NzVjZjA4ODJlMDEyM2NiNjQ2MmFiN2JlMGRjZDMxNDcwNGRkZjIgcmVsZWFzZTIzLW1haW50CiszNjYwMSAxM2QyMDMyMjc4N2Q1YTMyYWIwMTc3MThjM2VmM2YxYmIzOGE0YjU5IGxlZ2FjeS10cnVuaworMzY2MDIgN2FmNjk1YmM1NDgwOTI2NWFhMjhjODE0YzUzMzU1MGNiMmI4YzUyOSBsZWdhY3ktdHJ1bmsKKzM2NjAzIDMxOTM4YTQ2M2YyODdlOGY2NzQ2NDQ2ZGViYjNmMmQ3Y2FiODZhODUgcmVsZWFzZTIzLW1haW50CiszNjYwNCA1MTdlMDBhZjEzYTFhNzgzMTE1MmQxOTE1MjA2ZDVmNjgwNDIwY2MyIHJlbGVhc2UyMy1tYWludAorMzY2MDUgY2FhZWYzMDJmMWUzM2M1OTQzM2Y5OGY4NDJkNjI4MGZhYjkwZDFkNiBsZWdhY3ktdHJ1bmsKKzM2NjA2IDc5MTdmZDJjNDI5ODM4MWYyZTI0MTEzNTE1OTU0N2Y1OTJkMDJmYzggbGVnYWN5LXRydW5rCiszNjYwNyBkNmU3M2U1Mjg4MGU0Nzc5N2VjY2E3ZmVkMzNjOGJkMjI1YjQzMmEzIGxlZ2FjeS10cnVuaworMzY2MDggZTZiODQ3YjA3NTUzZjNjZWU2NjhhY2EzMzZjZjZhNDNlYTM2OTYwMSBsZWdhY3ktdHJ1bmsKKzM2NjA5IDAzNGIzYjkyYzVlMDMxMzkwNGMwNmExZTNmYjc3MjUyYmRiZjVkZGEgcmVsZWFzZTIzLW1haW50CiszNjYxMCA0ZjRiNzk1NjI4N2NhYjY4OTNhNjdjNDljNDE1MDUyMjA3NjlhYjZjIGxlZ2FjeS10cnVuaworMzY2MTEgODA3ZmJlOGQzNTg0MDEzZTY1MDczMDJiZWQ5ZDg3ODdjMzQ4OGM3MSByZWxlYXNlMjMtbWFpbnQKKzM2NjEyIDAwODkyNDIwZTBkZjVlMDg2NWNlZGE3NjBmM2E5YjM3Y2UzYjM3ZmYgbGVnYWN5LXRydW5rCiszNjYxMyA2ZGY5MzIyZDZhYjgyMzc4OWY4YjMxZWM3ZTYyNTRkY2QzNDdjZTM1IGxlZ2FjeS10cnVuaworMzY2MTQgYTk0MGI2YzA3ZTU3NzVlYmEzYmVkNzQxOWY5YTA2YTEwNmQxNWNiNyBsZWdhY3ktdHJ1bmsKKzM2NjE1IDU1ZjczYzgyZTMwNGJiODlkYzhlNjQ5MWZlMGY1ODQ3ZDBkNzY3NDYgcmVsZWFzZTIzLW1haW50CiszNjYxNiA3MzA0NTE0M2JlNjNlOGNmZmJjNmZlMGRkN2M5ZDE1MTU1OWQ5ZjE3IGxlZ2FjeS10cnVuaworMzY2MTcgMWUyMTg3ZjUwNjMxNzE1N2MzNjA5M2YzNzFkZWRmZjUyODJjOGU5NyBsZWdhY3ktdHJ1bmsKKzM2NjE4IDBmOWMzOWIzZTVmMDJmNDg1NTRmOTI3YWQ0YzVhZjEwOWRkZTcwNDcgbGVnYWN5LXRydW5rCiszNjYxOSA0NmUwNDMxYzk3MDFjYWMwYmEzMGZmOGRhMTlkYWQ0MTY4NTgyMTg1IGxlZ2FjeS10cnVuaworMzY2MjAgZmE0OWMxZTJkMmMxMDcwY2U5NjRjMzRiOThmNWY0Mjk1MjgyMGQ4MCBsZWdhY3ktdHJ1bmsKKzM2NjIxIGVhNTRmZGI4NjUzMGVjZTU0ZDRhZDk0MzExM2E2YjNiNGE5NTA1NDQgbGVnYWN5LXRydW5rCiszNjYyMiA5MjY3YWViNzI5ODVkMDUyNGJlYmFlZDlkY2QxMjUyNjJmYzI1M2RhIGxlZ2FjeS10cnVuaworMzY2MjMgZWFhOGEzN2UxZTg1MGNlNjY2ZmI0YjQ3NTViYzMyZjZiZTJhYjU5MSBsZWdhY3ktdHJ1bmsKKzM2NjI0IGZlNDE0NWJhMzliZmZiYTYxNzgyMzdhZjViNTg0NmYyNjg5MDY0ODkgcmVsZWFzZTIzLW1haW50CiszNjYyNSAxNmRlNGY5MGVmNDQ2OGNiNmY5ZTczOWYzYjc3NjFkNTJhNGM5NjMxIGxlZ2FjeS10cnVuaworMzY2MjYgZDMwZDUxYjJlZmUwMTJhOGZkNWMxMTg2ZDg3MTkyY2E5Y2ZmNDUxMiBsZWdhY3ktdHJ1bmsKKzM2NjI3IGRhYzI4MTM2ZDU5YjBhYzU3Yjk2MWE0NzVmMTM4YjM4MjAyNzM3YWEgbGVnYWN5LXRydW5rCiszNjYyOCBjZGFkNjI1MzMwOTRmMGNhMWI3NDU3YjQ3Nzg0ZGU0N2M1NWE4MjU2IGxlZ2FjeS10cnVuaworMzY2MjkgYjhiYzU5NTc4YTQ3NTYzMDg3OWM1ZDkwODEwMjE1ZDE1YzBlZDdlYyBsZWdhY3ktdHJ1bmsKKzM2NjMwIDNlMDQyMzM4NTJkNGZhZGZkYzAwODI0MDFiMjg5NWY5YjE2ZGZiMWYgbGVnYWN5LXRydW5rCiszNjYzMSA0YTUxY2RjZjg2MTUzMzY2OGIwZWZjYmI4OWY2MjM3Zjg5MzgwMDkzIGxlZ2FjeS10cnVuaworMzY2MzIgZWRiYWY2MTAyMjdiOWYzMTYyNDVlOWZkMmRjNGY1YzU5YjVjNDY3YiBsZWdhY3ktdHJ1bmsKKzM2NjMzIGIyODc5YTcyYjM0NjYxZTkwYjIyNzNmOTAzMTY5Njk2YmVhYWY5NTYgbGVnYWN5LXRydW5rCiszNjYzNCA2MjNhZTEyOTMwZWExNmFkNjk0OGMxZDM4NTdjZGRiMDQyZWMwMmI3IGxlZ2FjeS10cnVuaworMzY2MzUgNmU3OWRlYTg1MTg5YWZhOTQ0ZjcyMjU1OWVmNzEwYmRhNWEyODM4MSBsZWdhY3ktdHJ1bmsKKzM2NjM2IGQ1Yzk3ZDY5ZGZjN2MxNzFjNWYwMjk4YzcwODFjOTgzMjI4MmY4ODggbGVnYWN5LXRydW5rCiszNjYzNyA5NTgyZmEyZTVlMGRhMmEwNmZlMTgwZTgwMzVhNGY4OWFjMzY2YTMxIGxlZ2FjeS10cnVuaworMzY2MzggZjYxNmQ2NTM1OTkzMzA2M2M5NGNkODQ5N2QzNWVhMWRmNTMwODQ3YiByZWxlYXNlMjMtbWFpbnQKKzM2NjM5IGVlN2I4NDEwMTE2MDRmNDk5ZjE0ODA2MzJhMTQ4MDQ5ZTVmMzQyOTMgbGVnYWN5LXRydW5rCiszNjY0MCBkMmFkYmE0NzgxZDViMDc5OGFlNjg0MWViZDIyNGZkMjJkZjdjOGVkIHJlbGVhc2UyMy1tYWludAorMzY2NDEgYmY2ODZlZjkyY2IwYmQyNDJlNjI3YjhjMzRjZDQ3Y2E3ZjkzNmU3YyBsZWdhY3ktdHJ1bmsKKzM2NjQyIGJmNmEyMDY5MDgwYzZiMWY2Y2I3ZTI2M2NiNzk2MzExMTg4M2ZkYjIgbGVnYWN5LXRydW5rCiszNjY0MyBkMWNjZDJmNDVkYTM0MTc1Yzg5ZmVmZDFiNmI4NDZjODYwNzgxYWNhIHJlbGVhc2UyMy1tYWludAorMzY2NDQgODBhY2FiOWMzYzE3NjE3N2U4Y2Q1NWU4MTM3MTk3OTQ4MGMxMDBlMiByZWxlYXNlMjMtbWFpbnQKKzM2NjQ1IGIzNThkMmY0NGE3NDAyZGM0NzA5YjQ0OWUzMjllMmUwYjBlNjBlZDggcmVsZWFzZTIzLW1haW50CiszNjY0NiAzODM1ZGZmMmVmZGI1YWQwMmI4OWVhNGRiOGMzYmRjNDA4MzgyY2Q5IGxlZ2FjeS10cnVuaworMzY2NDcgZmJiMmQzNGY3NWEzYmY3MDEyNWYyMWQ3NTNlMTc5YjAyNmYwMWIwNCByZWxlYXNlMjMtbWFpbnQKKzM2NjQ4IDcxNjMzZDM3ZTk4ZTkyY2Y5NjU5YmFhOTAxOGJmZWJhNDY4NWI4ZDAgcmVsZWFzZTIzLW1haW50CiszNjY0OSBjNmM1OGI2MWY2YjVhOGYwMzRhNjAxMWRjNmU5MGE5NjUyMmQ5MjdmIGxlZ2FjeS10cnVuaworMzY2NTAgZDk1NjgyMDg5NTA1MGI0OTU5Y2EyOGRlMjIwMGY5MDI4ZjVlNTIwNCBsZWdhY3ktdHJ1bmsKKzM2NjUxIDM3YTc1YjJiNGMyOTQwNzE3NTk2Njg5YjEwOWRlNDMzNGIyMjU1NzUgbGVnYWN5LXRydW5rCiszNjY1MiAwN2E1N2Q4OWIxZTBkZmU4YzllNzNiZmMxMWM3NWFmMTlmNjY5ZDE2IGxlZ2FjeS10cnVuaworMzY2NTMgY2JkNGFlNzQ4OTBkM2MxMDRlZDZiMjM1Y2ZjMTcxYTA2Njg2MGVlZCBsZWdhY3ktdHJ1bmsKKzM2NjU0IDA2MGRlNTA0ZWJiZWFmYzA3NjgzYmJhODA0YTE2OTFjOWY4YzBkNzEgbGVnYWN5LXRydW5rCiszNjY1NSA0MzUzZmZjNDM3ZjE5ZmQ4ODE0NWRkZWQ4MzU4MDhjZjc5MjBjMzQxIGxlZ2FjeS10cnVuaworMzY2NTYgZmE0YzcwNjNhNzM2YTVjOWUzNDI4ZTk4ODc1MGY2ODFhNDlmZjU2OCBsZWdhY3ktdHJ1bmsKKzM2NjU3IGRhYzlkMDY2NGZjMzkzMzQ1MDg1NzUwMjk4Yzk0ODlhYWVkOWM2NGQgbGVnYWN5LXRydW5rCiszNjY1OCA3MTgzMDUxMTJmOWZkNjExYzA5MDQwOTE2NWRiZGExNjFjM2I2OGQ4IGxlZ2FjeS10cnVuaworMzY2NTkgYjU4Y2Y2YjVmYzkxNDM4MGQ1MGQyZWJjNjFlMzRhNjNjYjAyZmRjOSBsZWdhY3ktdHJ1bmsKKzM2NjYwIDFkZDNjYzkyN2QzNzdmNWU5MzlmM2Q1NWU4Zjc0MjE0YTNjM2ZjMzEgbGVnYWN5LXRydW5rCiszNjY2MSA3MGU4ZjYzNGE1ODkwMjliZjhkZTY1MWI4OWEwYWZmMjdkZGQ3MmZhIGxlZ2FjeS10cnVuaworMzY2NjIgMjRkZDFkMDdhZmRiYzA2ODlmMjQ0YjI5YzE1OGJhOTlmY2ZmYjUyZiBsZWdhY3ktdHJ1bmsKKzM2NjYzIDdiNDRjMjc4Mjc5M2U5YzYzNDk2M2U0NGJmMjEwN2VhN2MzNWQxNjggbGVnYWN5LXRydW5rCiszNjY2NCAyMTMxOGQ3Njk1ZjljZDNmNTYyYzc3Zjk4MzRlYzYwNmUxODNkYzhmIGxlZ2FjeS10cnVuaworMzY2NjUgMDg1NmQ5OGUyYTY4M2RhNmIzZjc1ZjMzNjg4NzFiZjIxODQyOGNhYiBsZWdhY3ktdHJ1bmsKKzM2NjY2IGQ1Yjc2YTE2NzMyM2FhMTUzMGI5Zjk2NGM3ZDI4OTI5OTk1ZjYzZGYgbGVnYWN5LXRydW5rCiszNjY2NyBkYWIzZjA4NjY4ZGYyM2FlMzU2ZWVjMDkzMDE4OTQyMWQyMWRkMjI1IGxlZ2FjeS10cnVuaworMzY2NjggYTRmMThjODk4NjVmYjhkMGQyYWIyYjgyZWU5ZjE4N2E2NmZhMTgxMiBsZWdhY3ktdHJ1bmsKKzM2NjY5IGRiMjEwODFmNWJjMWIxNjE4ODEyMWJkYTlhMGUwZjM4NDg3NGQ5YzYgbGVnYWN5LXRydW5rCiszNjY3MCA4NjU1MTMxMTJmN2EwZTc5MThmYzMzMDE1ZDEzZjE3NTkyNTllMjJlIHJlbGVhc2UyMy1tYWludAorMzY2NzEgNWU0ODBhNWM2NDdkYTczNDQ5YmYzZTk4MmZhMmY1ZTIwZjJhYmE3NiBsZWdhY3ktdHJ1bmsKKzM2NjcyIGUzYTM1ZmJjZThlYzIyMTc2ZDM4OTMyODU2M2UzMDQyZDExZWZkZGEgbGVnYWN5LXRydW5rCiszNjY3MyBlN2NjNzQxNTJjNTUyOTdjM2NhOWY4ZDZkY2ZmMTk4ZTIwNGU4NDlmIHJlbGVhc2UyMy1tYWludAorMzY2NzQgMDllNjMzYzUyNzMwNzlhZDljNDVhYzU1YzFkMjhjZThkNTZhMTRlMiBsZWdhY3ktdHJ1bmsKKzM2Njc1IDA1MmE0M2FhMzVlY2Y3MmVkMjI4ODUxY2FkMjBiYzVkN2FmMTMxNDMgbGVnYWN5LXRydW5rCiszNjY3NiAwZjk0ZjQ4ODZiZjU1YThhNTUwZjFiMDY5NThmMDFhMDViNThiNjYyIGxlZ2FjeS10cnVuaworMzY2NzcgMTY4MjIwMWYwNWIyYTg0NTBlNjViYjY5M2IzM2U2MzVkZGMwZmY1ZCBsZWdhY3ktdHJ1bmsKKzM2Njc4IGRjYjI0MWM4OWY0Mjk3MmM3MTIwYWRiMDU1NzcyYTE1ODY2YjMxZjQgbGVnYWN5LXRydW5rCiszNjY3OSA5NmQ5OTE0NzdhODI5Y2E3N2QxMmQ5YzgzNWNlMDI5MDJmYWQ3ZDVmIGxlZ2FjeS10cnVuaworMzY2ODAgMDZhNjNjMzVkZjllM2M2NWNkYjJhZTg4NjYwNWFiMzU4ZjBkZjQ1ZCBsZWdhY3ktdHJ1bmsKKzM2NjgxIDcyNGZiMjZlYTA1ZjI0YzlhMjNjODdhY2QzYWM0ZWE4NjI2MjdiNTggbGVnYWN5LXRydW5rCiszNjY4MiBmYTA1MjZjMzBkYTgwNWY4MTBmN2U4NzA4MzU1ZTdlZGJhOGIyZDQ3IGxlZ2FjeS10cnVuaworMzY2ODMgNDVmMzIyMmI4NGVlMGVlMzFmMjdiMmJjZDI2MTY4NWEzMWJjOTU4OCBsZWdhY3ktdHJ1bmsKKzM2Njg0IDQ4ZWFlMjBkNzBjNThiODZjNGUzZjA3M2MwZWVmOWQwMWRjYjE4MTEgbGVnYWN5LXRydW5rCiszNjY4NSBmYzM2ODdhNjI3YjQzNDNjMDllOTUwZDYxOTUzOTJhYmE1MzU3ZGRmIGxlZ2FjeS10cnVuaworMzY2ODYgOWEwMGI2NWFlY2RjYzg0MzdlMjMwNzA1YmJlZTQ1MDE5MDgwMGJiZiBsZWdhY3ktdHJ1bmsKKzM2Njg3IDZlYTMyYjBlOTUwN2ZhMjZmMWZkNWMyYjhiMjE1ODA0M2E5M2E5YmUgbGVnYWN5LXRydW5rCiszNjY4OCA2MGE3MDhiZjM1MWFlMTFlOTc5MmNiMTEyOTU2MDNkNDQ1OTM3NjdlIHJlbGVhc2UyMy1tYWludAorMzY2ODkgYzU3MDEwZGIxMjNlZWFjMTg3Y2I0YmU3YzBlMzBhYTQ5OWUzNzM1YSBsZWdhY3ktdHJ1bmsKKzM2NjkwIGE1M2I1Y2VmYTYwZDdkMDUyNGY4NDAzYTJmMWU2MjlhM2IwYjMzZGQgbGVnYWN5LXRydW5rCiszNjY5MSA4ZDI1ODM1Zjg4YWU0NDUwZTlkMzI5YmQ4ZDE4YjFmMDlmMzY1YWIyIGxlZ2FjeS10cnVuaworMzY2OTIgYmQ0NmU2ZjgwNjIzYmY5ZDIyOTY4NDU1ZGMyZDA5NTQ0MzkzNWUwYiBsZWdhY3ktdHJ1bmsKKzM2NjkzIGNhNmVmYzU0YjE5ZmY3MTljZjM2ODIwMTRjOGY3YmRlYTE5MmUzOTYgbGVnYWN5LXRydW5rCiszNjY5NCAxOTU2NTUyOTllZDM2NDg3NGFkNjE1NjNkMmY0MWNhZDg4MzBjMTZhIGxlZ2FjeS10cnVuaworMzY2OTUgNmJlODk0MDE0YThjM2JmZDZmNjE3ZDkxNmUzNTRjNjhkYjRlNzczZiBsZWdhY3ktdHJ1bmsKKzM2Njk2IGQwMTMzOTNjN2Q5ODJmNGE2YzI0YjYzMTMxNGJjMDQ3Nzk5MDljZjUgbGVnYWN5LXRydW5rCiszNjY5NyBlZjA4ZjQ4YjYzYTFjZTU0ZTFiM2Y0NzNkMWUyZTY2NjIwOGVkYjM2IGxlZ2FjeS10cnVuaworMzY2OTggNjJjNTNiOGU0YWViMzFiNmYwNDE3MTk2NWYzMTJlMWVmNmRlZmRkZiBsZWdhY3ktdHJ1bmsKKzM2Njk5IGIzOTBjZDkxYzc2YjExZjU4NjJmNTRlM2VjMGExMWRiYzQ0Zjg1OGIgbGVnYWN5LXRydW5rCiszNjcwMCAwMThjNDMwNDViNTNlNjM4ZWM4OWM3OTk5NTU1YzAyMjAyYmY3NDg5IGxlZ2FjeS10cnVuaworMzY3MDEgMjkyOWZjNTRiNDlhNWQ0N2I4NWJiNGZhYjVkODQ4Y2Q3MjcyYTJhZCBsZWdhY3ktdHJ1bmsKKzM2NzAyIGNhMWFlYjhhYjM4MDJjYjI3Y2E4Y2EyZDk4ZDJkNDdmMzMyYTQyOTQgbGVnYWN5LXRydW5rCiszNjcwMyBkM2Q2MDlkNjU3ZmQyNjlmZGM3Nzk1MmYxNjdhODJkY2Q0MGZhYTVmIGxlZ2FjeS10cnVuaworMzY3MDQgNTEwZTllMmIwODE3NDYxMTBlOTYyZDBhOTRjNjQ3YzQ3ODczNmM0MCBsZWdhY3ktdHJ1bmsKKzM2NzA1IDI2YjMwNjg5NGI5ZWI0NjEwYzlmNDg5NDFhODM5OWI3ODBmYTQ2NTUgbGVnYWN5LXRydW5rCiszNjcwNiAzMzFlNjBkOGNlNmRhMTliMTY4ODQ5NDE4Nzc2ZmVhMDk0MDc4N2VjIGxlZ2FjeS10cnVuaworMzY3MDcgZTI4Yjg3MzNhNjZkN2RlYWVhNThjNTBhNzY3MDMxODQ1Y2JhZWE4NiBsZWdhY3ktdHJ1bmsKKzM2NzA4IDg4YTFkODZkNDQyZTgxMTRiOTc3NDcxM2ViZjRkYjhkYmNhOTAzYTggbGVnYWN5LXRydW5rCiszNjcwOSAyYWE3YWVmNGU0MDMzYzM0MGM5Zjk4N2UwMTIyZWIzYzUzNjk4MzgxIGxlZ2FjeS10cnVuaworMzY3MTAgYjMyM2JkYmFjN2U0NzcyYjhhYzc2ZjYyNzM1ZmE1N2I1YmQ4NGUzMiBsZWdhY3ktdHJ1bmsKKzM2NzExIDFiZTQwMzNmODQ5ODA4OTFkNGViMWU3ZmMxYzY0MjMxNzJhODI2ODEgbGVnYWN5LXRydW5rCiszNjcxMiBjN2UwM2NmODMzM2U1YTNhOGNjZmU5YTBlZTg1OTQ2NzYzMzA3ZTAxIGxlZ2FjeS10cnVuaworMzY3MTMgMjA5NWNiNTk4MTg4MzRlYjllYjQ2MDMzNzNiYmNjMGM3MTBhZmNhYiBsZWdhY3ktdHJ1bmsKKzM2NzE0IGI4YzJhYTJiZTE5YTMxNDQxYjI1NTUyZjhlZDJlNTE5ZjA5MTY5YTQgbGVnYWN5LXRydW5rCiszNjcxNSBhOWIyNWMyMzA3MzI3MjlmMmNmYmI5MzJiZDk5MTVjM2ZhNTRkODg0IGxlZ2FjeS10cnVuaworMzY3MTYgNjg1YTk0OGIzYmM5Y2I1ZDU5NGQ2Y2ViMjg4Mjg4YzNlZDU0ZDhhNCBsZWdhY3ktdHJ1bmsKKzM2NzE3IDUxZDdhMTIyNDRhZjMxMzgxZmVkNzVkOTQxNDI4MWYwOTA1OWNjZTMgbGVnYWN5LXRydW5rCiszNjcxOCBkMDQ5YTFmZTI2NzYzZmFkNzA2YTQ0MzEyM2VmNzE0MTYxZmZiZTAwIGxlZ2FjeS10cnVuaworMzY3MTkgNjNhZDZmNjkyNWM1NjhkNGZhYWY5M2E5ZTlkOWI2YmNmMjk0MjVkMyBsZWdhY3ktdHJ1bmsKKzM2NzIwIGE3NTgxNWUzMTU0NTEyNjRhYmNkZDliMmMzNWMxZTVmYWI4NDFjZGYgbGVnYWN5LXRydW5rCiszNjcyMSAwZGM4ZmZhYWMwMzY0NTNlNjlmZTNiMDVjZWQ4YTg3NWExYTczZGY3IGxlZ2FjeS10cnVuaworMzY3MjIgZGFlYzJkMzExZGVmM2EwMzMzMDA3OGRhMmJlOWUxOGFhYjAwZTgxOCBsZWdhY3ktdHJ1bmsKKzM2NzIzIDg0ZWZhMDA1NDE5YWFlMjdjZTgxMjZjYjA1OTQwZGVkMzc0YjIyMDAgbGVnYWN5LXRydW5rCiszNjcyNCBiOGUxMGFjYjRlZmI2MjIyNjBlZGU3ODlkODhkNTFlYzA5MjMyMjU2IHRpbS1kb2N0ZXN0LWJyYW5jaAorMzY3MjUgYWM3M2Y2NjYyZTExN2MyYTQ0ZmRmZjdmNzY4OWYyZTZlZjc5N2JmNCBsZWdhY3ktdHJ1bmsKKzM2NzI2IDMwZDg2ZTM1NmJmMjRmNzE0YjEwZmRjZTNlNjk1MzkxN2IzMTg0MjkgbGVnYWN5LXRydW5rCiszNjcyNyA3OWM0ZTgyZWU5OTdjOGY0MTAwZDkzZmI4NWU0MDk3YjA0NWEwODJhIHJlbGVhc2UyMy1tYWludAorMzY3MjggMzNiOGNlNjYyMDJlYzkxOTdiY2JmZjBhY2YyZGFlMTc3NjQ0NzEwZCBsZWdhY3ktdHJ1bmsKKzM2NzI5IDkxNDZlMmVhM2JkNTBjZDU2MWQyMmNlMzUxZjhiYzQ4ZjBjNjZmYTMgbGVnYWN5LXRydW5rCiszNjczMCBmNDEyZmEyYjNmZGVmN2M5M2RkZDNhZjU3ODMyZWE0NTNmZGQ5ZjY1IGxlZ2FjeS10cnVuaworMzY3MzEgZDRkZDdiODJjYzc1YmI2YjViOWE1NThkM2NhODM0NjRjNjk4OGUwZSBsZWdhY3ktdHJ1bmsKKzM2NzMyIDY1ZjExYThkN2M4YjM5ZTc0MTJlMjJlODAyMDhkYzBiMTAwOGFjY2YgdGltLWRvY3Rlc3QtYnJhbmNoCiszNjczMyBlMjI1NzRiZTg3NjQ5YTQ3ZjVhZWE2NGFkYmRhNmU2MTdjZmU1MDg3IHRpbS1kb2N0ZXN0LWJyYW5jaAorMzY3MzQgNGNjZTAwMDQ3Zjk3NDk4MDZmMzM1ZWRkMjA1M2VmZTRkY2NmMjRmYiBsZWdhY3ktdHJ1bmsKKzM2NzM1IGQ2NzRkNzhkOGRhNjY0MmZlMTgzZGNiNzc4NzIyMmY2Y2VkNTRhMjIgdGltLWRvY3Rlc3QtYnJhbmNoCiszNjczNiA2ZDE2YjA3YWRkYzNhNmQzZjQyMDFmOGUyMTQ1ZTljNjlmNWUwNjU1IHRpbS1kb2N0ZXN0LWJyYW5jaAorMzY3MzcgNTQ2NzE3MzZhMjllNGU3NGQwY2Q0MDhhZDQ2OTFkYWFmOTcwYzhiYyB0aW0tZG9jdGVzdC1icmFuY2gKKzM2NzM4IGY1M2I5MDFjOGFmZThiZjIxNWRlNDc3NzYxZjJiZTk2NGVjYzJjYTYgbGVnYWN5LXRydW5rCiszNjczOSA2NTMxOTYwN2JlZDhhMTg2YWFkMjY5N2ExNmYyYWFiMWE0NGRkZjQ1IGxlZ2FjeS10cnVuaworMzY3NDAgNjZjNTU2ZjA5MTYzN2QxOWVhY2MxZjcyMmU1OTM1YTNiZmE5Njc0ZSBsZWdhY3ktdHJ1bmsKKzM2NzQxIDE1MzM3MTljNjEzODM5ZTQyYTdlOTVkNDg5NTM3Njk0OWRkMjRhOTAgbGVnYWN5LXRydW5rCiszNjc0MiAzMjlkNDkwNmMzM2ZjN2QzODgyMzkyZjcxOTBjNTY2Njc1MjZhZThjIGxlZ2FjeS10cnVuaworMzY3NDMgODkxNTlhMTI2OGNjZGU1YzFlYjZhNGUyOTllZmY2YjZiY2RmYzQyZiBsZWdhY3ktdHJ1bmsKKzM2NzQ0IGNhYzVjOGYzZTk5MGYyZTc5NmZmYzY3ZWJlZGE4OWQ1MjBmZmUxYjggcmVsZWFzZTIzLW1haW50CiszNjc0NSBhOTg1NmU3M2UzMmQ0MmQxN2Q0NWY2OTk5ZmVjZjYwYzg5YTlhODc0IGxlZ2FjeS10cnVuaworMzY3NDYgZmY3NzcyNzU1NWFlNTEwNDI5ZTA1YjZjYTRiOWFkMDg5YzI0YjY3YyBsZWdhY3ktdHJ1bmsKKzM2NzQ3IDQxZmFjYzNjY2RkMzM5Yzk0Y2UyYmU2YjhmMTg3NTRiYmEzYjc3ZWEgbGVnYWN5LXRydW5rCiszNjc0OCA3ZTc0NTdhNjliNGQ4MWRkZWViOGQwNDAzMjg5ODM0ZWFmYjVjYjQ1IGxlZ2FjeS10cnVuaworMzY3NDkgMjViNjY5ZjRiNTZjZjYyYzNiMGMzZjY0MGJjNjczZmRmZTBiNDZkNiBsZWdhY3ktdHJ1bmsKKzM2NzUwIGJkYTk4MzA0ZGViNWQ5NGY4NTI1MDliOWRkNjk0NWM2YzhlYmJkYmUgbGVnYWN5LXRydW5rCiszNjc1MSAzODI0ZmEyOWJlNDljYzFjMWI3OGRjMzM2NTM3MzI5MjFjNTY0OTA3IGxlZ2FjeS10cnVuaworMzY3NTIgNjkzNzAyNTMxMTViYTc3YmQ3ZTY0OTA0NjdiOGEyZWM0OWRmODJhNiBsZWdhY3ktdHJ1bmsKKzM2NzUzIGYxYmJmMTQ3ODEwYjI5NDYzNWE2ZjBhM2NlOWNiMDNmYTQyNDUzMmQgbGVnYWN5LXRydW5rCiszNjc1NCA5MzY3MTJiMzFiZWRjOGEzMjU1MjUzNzliNGQ4ZWIzYTkzOGU0NzFjIGxlZ2FjeS10cnVuaworMzY3NTUgNjYzYWQzNDk1MzRiMDA4NGQ3YmRkYzA4ZTlhYmJlZjMzOTkzODYxMiBsZWdhY3ktdHJ1bmsKKzM2NzU2IDVmNThmY2Q3YWNjZjYyMjE0ZjMxNGRiY2Q4NWU5MjE5MTQxMmJiOTYgbGVnYWN5LXRydW5rCiszNjc1NyBjMzFkOGYzOGZkN2Y2ZjFmZDRhZDRiZjAwZDQ0YzY3Yjg0MTIyOGU2IHJlbGVhc2UyMy1tYWludAorMzY3NTggY2U0ODhhYTA0ZjI0ZWEzNjhkZGY5YzExYTQwMDZmOWUzMzhmNDA4ZiBsZWdhY3ktdHJ1bmsKKzM2NzU5IDhhYzRmYWEyODJlMGI5Y2YyOTE0NGY2NzdiMjVhYzdhZDE3NTQyMTggbGVnYWN5LXRydW5rCiszNjc2MCA1YzIxNDlmMzZjM2VhYjZjYTA1NTFjM2U1MTA5MTBjMDBiNmQxMmFmIGxlZ2FjeS10cnVuaworMzY3NjEgZWM3MWFlM2JjMmRkYWY1ZWU4ODNjYzE5N2UwMjgwMzEyZDAxMGNlNSByZWxlYXNlMjMtbWFpbnQKKzM2NzYyIGJkM2RkNmIzZmY5NzI2ODgyODZmZjUxNWRkMDM3YjBiODZkNThjMTUgbGVnYWN5LXRydW5rCiszNjc2MyA0NWExNzBjNGNhNTZjZWQyNmZmY2ZhNDc5N2Q1YzRhNTFkMmQ0NGM1IGxlZ2FjeS10cnVuaworMzY3NjQgOTFmYTgwYTY3ODExYmNkZTUwZWI5MDA2YzFkMDU5OThiMDRiOTAzZSBsZWdhY3ktdHJ1bmsKKzM2NzY1IDJjMmY1Y2ZlZmE2MDU2ODNlZjdkMTQ2YWFiYTgyMmQ0ODJhYmE2ZTIgdGltLWRvY3Rlc3QtYnJhbmNoCiszNjc2NiBkZmRlMDg1MjI4ZWVhNTBiNDZmYWQ2NTdkNWViNjhjZGU3ZmU0ODE5IGxlZ2FjeS10cnVuaworMzY3NjcgZjA3MWE1NTNhYWU1OGE0NTNmNjYzOTQ2OTZkNjM3ZjUwZjhjOTNiYyB0aW0tZG9jdGVzdC1icmFuY2gKKzM2NzY4IDQ3M2NiMGVmODJkMjQzNDZmYzUxMWM4NDkwMWUyMjZhYWRjZDFmZDAgbGVnYWN5LXRydW5rCiszNjc2OSAyNjYzYjRmNTM1YjdjYzU4YTVhM2NkYjQxOGFhNzFjNTViZTUwNjFiIHRpbS1kb2N0ZXN0LWJyYW5jaAorMzY3NzAgNjUxMTg4YTY2MzhkYzNmYzQ3ZTFiMTI2ZjcwZGI0OWUxMDZiZTVkZSBsZWdhY3ktdHJ1bmsKKzM2NzcxIDhjZTM0NGY2Yzk1NGVlYzhjZjExMDhlOWQ1Y2RjYTIxNTk2OTExYjMgbGVnYWN5LXRydW5rCiszNjc3MiA1YWE4NTA5N2NiMmNkY2M5NmE4NGY0ZDRhZTQxZDQ4N2UxMDYxZDQ1IHRpbS1kb2N0ZXN0LWJyYW5jaAorMzY3NzMgNTgyZWI1MWI4NDkyMTQ1MDZiMDFmY2QzMGM4MTk1NGFkY2Q2MmMxNyBsZWdhY3ktdHJ1bmsKKzM2Nzc0IDIyZGVkMzA5NjQ4YmNiYTMzOTMyNTQ3Yzk5MjBiMjc3ZTlmY2QzYmQgbGVnYWN5LXRydW5rCiszNjc3NSA2NmRjMjExYmY1MDcyMWFkMDFmNzEzZWZlZGMwNTg5YjhhZThhNzYyIGxlZ2FjeS10cnVuaworMzY3NzYgODRiNDc1Nzk5OTE4MmUwZmNjOWE1MTFlMjQ2YmZmYzMzN2EyYmNkNyB0aW0tZG9jdGVzdC1icmFuY2gKKzM2Nzc3IDYzZGY0Y2I0OTJhMTZjNmFmYTlmZDU3M2Q5MzNmYmIwZDIwODE5NmIgbGVnYWN5LXRydW5rCiszNjc3OCA5ZmI1MTM4ZjU4ZGQ4MWI5MThkMjZlMzM0Y2YzZjJhYTQ1MzNhZjcyIGxlZ2FjeS10cnVuaworMzY3NzkgZjYzZDQ1ZmQzZmNlNzQ0ODk0OTJmZjIxODBmNjg1MjBjMDZmZjU1ZiB0aW0tZG9jdGVzdC1icmFuY2gKKzM2NzgwIGUwMjc5MjExMjI4ODlhZThkYmZiOGY4Yzg2NmEzMGRkNmVlZmE5OGIgcmVsZWFzZTIzLW1haW50CiszNjc4MSA5ZjhhN2JhMjEwNTVlYmUwZGEwZDYwMzM2OThiMzUwNzUwZjUwM2U0IHRpbS1kb2N0ZXN0LWJyYW5jaAorMzY3ODIgOGIzOTBkZjdhZjg3MzczMmQ5Y2Q2NWY4ZmJhMDZmNWJkMDk5M2RjZSB0aW0tZG9jdGVzdC1icmFuY2gKKzM2NzgzIGU0ZmVlZGIyMDVmMmQ2YjhmZDAwNjRmNjMwODEwN2UyOWJmZmYyNTYgdGltLWRvY3Rlc3QtYnJhbmNoCiszNjc4NCAzMTQ0MjJhMjhlM2ZiODU4YjVmNWU5NjM4Y2NlMzAxZDUxNzJiZTc5IHRpbS1kb2N0ZXN0LWJyYW5jaAorMzY3ODUgZDc0MWNiMzc3ZjgyOTVmZjEwNjMwZWRmODEyNGQwOWYwNDVkOGE4MCB0aW0tZG9jdGVzdC1icmFuY2gKKzM2Nzg2IGZjZDY5MGM4YjJjYTZkODQ1NWUzMjkxMzc4YzZjNzdjNTRjZTZiZmYgdGltLWRvY3Rlc3QtYnJhbmNoCiszNjc4NyBjYWZkN2U0ZTc3YWQwNzgyYjNlMDBhODY0NjgwOGVmNWIwMzE5ZDk3IHRpbS1kb2N0ZXN0LWJyYW5jaAorMzY3ODggZmJiNTQyOGViZjQxMDllNmFhNzhjMjUwNTdlYjJkYzFmMGE0YWFmNCBsZWdhY3ktdHJ1bmsKKzM2Nzg5IGRiMzhjMWU4Mzk2NTJkMWVmNTlhNTYxZGYwOTQ1ZWUxMDM3N2U4NDQgbGVnYWN5LXRydW5rCiszNjc5MCBiNjM5Y2I0NWIxNzMxM2RlZjIwYzcxNzE4NWM4OTI4OTk5YWE2MTUzIGxlZ2FjeS10cnVuaworMzY3OTEgOTUzY2U1YWYxMGEzMWIyOTM1ZDMzOWE5OTQ0NDdmODIwMDMxZTkwNCBsZWdhY3ktdHJ1bmsKKzM2NzkyIDllYmQ0MDU2ODNjZDg1NzI0MTVmOTJiOTlhYjc1ZWVjZjExY2MyMzkgbGVnYWN5LXRydW5rCiszNjc5MyBhZGZlN2QzOWEwNDlkNmEzYzkzYjQyZmY5ZmI5MjY5NTc4MmRhZWU3IGxlZ2FjeS10cnVuaworMzY3OTQgMDI0ZmYwYWI0NTg4MDMzNTVhM2QzNjc2YzA3NTQxOWFmM2VhMTA0MyBsZWdhY3ktdHJ1bmsKKzM2Nzk1IGI1NjQ4MWE5MDUxOWU1YTIwYTE4ZDUzM2FhM2ZhMjUzMTRlZDYyNGIgbGVnYWN5LXRydW5rCiszNjc5NiA5NzFlNTE0MTM0NDdjMmU4YmQzYzZhYzViMTY3MGUyZjY0YWRkZGUxIGxlZ2FjeS10cnVuaworMzY3OTcgMmJjYmYzZmI3MDIxZWZiNjQzMDVkYTc0Y2FhYmNmZjcwYjY5NDYzNiBsZWdhY3ktdHJ1bmsKKzM2Nzk4IGUyZmVhMjJlMGM1MTNkNjFiYzk4YTU2OTEzMTljNDAyM2RhM2QzYTMgbGVnYWN5LXRydW5rCiszNjc5OSAwNzFkMzM4MTc1M2I2MGQyMjc2NmQxN2ZiODcyOGE1NDk5NjAyZmQ2IGxlZ2FjeS10cnVuaworMzY4MDAgYTlkNTkxOTdiMTYzMWRkNGEzYmVhMGVlMDY4YWFlMGFiOTc4Y2JjOCBsZWdhY3ktdHJ1bmsKKzM2ODAxIDE1NmFjNmRlOTYyNWM0N2RmMTViYjExMjRkMjBkNDRlNWVlMzY2NjcgdGltLWRvY3Rlc3QtYnJhbmNoCiszNjgwMiAwYmYwZjRiZWExNDQxNjg5YjgxYTM0MTNjNGM2OGEwOTAxMjNlMGUyIHRpbS1kb2N0ZXN0LWJyYW5jaAorMzY4MDQgZTljNjQxNGRiZGI2MTUzNzM1Mzk5OGU4Njc2NzA1N2ZlMTU0ZDdmZCBsZWdhY3ktdHJ1bmsKKzM2ODA1IDJiYzMzMjYxNmNkNmY5ZmUxYWM3NDJmMjUyMWE5ODEwNWE2ODdkYzcgbGVnYWN5LXRydW5rCiszNjgwNiA3YWFhODUyZmE4NTZmYTMzODQ1MjZjNTM0M2Q1ZTBmZmQ2NmI5MDkwIGxlZ2FjeS10cnVuaworMzY4MDcgNWU4ZTMwOWMwYmIwNjk3M2Q5N2JiYTYxOGU2MDcwODFjYzY1NGIwZSBsZWdhY3ktdHJ1bmsKKzM2ODA4IDM0MWI3YWRiYTk0NDdhMThiY2UzODUxZGY0M2UyZmQwNmYwY2E1ZGEgbGVnYWN5LXRydW5rCiszNjgwOSA5ZjY2MjU5YWVjZTMxNjVjYzJjNzBlMGEzMzU0NDIzYmM0MGRiZTBlIGxlZ2FjeS10cnVuaworMzY4MTAgOWFjNjQzNTQ0NjI5YjA0OTc3YjdhOWMwOGE4N2JhZTkzN2ViZTdkZiBsZWdhY3ktdHJ1bmsKKzM2ODExIGVhMzM4YmFhYjg1OTlkNzE1N2YwMmY0MGRiZmIwY2Q4YWZmYmM1NDEgbGVnYWN5LXRydW5rCiszNjgxMiA5ODIxZTM4OGI1OWQ5M2YzOTZiNzM3N2ZkN2VlZjU4ZTlmOTQ0OGVlIGxlZ2FjeS10cnVuaworMzY4MTMgZmZhYTE3NWQwYWEzMzdmODg0Mjg0NzQ3MWFjYmRhNTllY2ViMjRhOCBsZWdhY3ktdHJ1bmsKKzM2ODEzIDA1NWZjNjk1NWYzYzY1MjJiZmViN2VkNGM2NzFjOTdkNWJhYWFhYzIgbGVnYWN5LXRydW5rCiszNjgxNSBlNmQwMDkyNzZjNTQ3OTYxYTQzMGI5OGJiYTEzNGJiZDQ4OGExOTY4IGxlZ2FjeS10cnVuaworMzY4MTYgM2U5MDljNTRlMzBjOTFkZDI3N2JlNzVkZTE5ZTk3YzRmM2U3OTY3NiBsZWdhY3ktdHJ1bmsKKzM2ODE3IGNlYjFjM2YxYWM4YWJiNDYxYzUwZWRkOTk4MTcxNTRjZmVlNWYwMDggbGVnYWN5LXRydW5rCiszNjgxOCA1ZjRiZmJlMjZhNGRjNDY0ZWZkNmYxMzAxZmJhZmEwZmQ2NTQ2ZDMxIHRpbS1kb2N0ZXN0LWJyYW5jaAorMzY4MTkgODQ0MTBhMGQ2ZWE5NDEzNDAxZWE1OTZiNGMzZWZmZmVlZWU1YzEzYiB0aW0tZG9jdGVzdC1icmFuY2gKKzM2ODIwIGVhODc1NTNlMjU2MDlmOGFmYjA2ODMxYWY2MDM0NjAwNjRhZmYxMjMgdGltLWRvY3Rlc3QtYnJhbmNoCiszNjgyMSBiZDQxMzY2N2FjMTZiNjdkZDJkMzM5NTU0NzdlOThmZmNjMzI2MDk0IHRpbS1kb2N0ZXN0LWJyYW5jaAorMzY4MjIgMmU2N2MyNzA4NjcwOGIxMWJhODhmNjIxMzc1ZGNjODQwNDc0OGM4MiB0aW0tZG9jdGVzdC1icmFuY2gKKzM2ODIzIGI2ODkwZWE1ZmRlMGY2ZTA1MjljZmE3MmQ3NjI4YjBhOWI1OGNjNTEgdGltLWRvY3Rlc3QtYnJhbmNoCiszNjgyNCA3OTYwMDY1OGJlNjg5MmE5MDU3M2NlYjcxN2I5NmQ3ZjFmYTk2Y2E2IHRpbS1kb2N0ZXN0LWJyYW5jaAorMzY4MjUgYmU1ODRjZGE1NDdkNjQyYzg5YmQ5Y2Y1YTU3NTFjNGU4YzIzNmMyZiBsZWdhY3ktdHJ1bmsKKzM2ODI2IGY3ZDUwZTkxYmVmMzllZGQ0YTJlNmUyYzVlNDc5NjU4YTkzM2U5ZjEgdGltLWRvY3Rlc3QtYnJhbmNoCiszNjgyNyAxOTc1MTdkODA5OWU0N2UwMDA1NDNiNTQ5YWVkZGRlYjU3MDU1Y2ZjIGxlZ2FjeS10cnVuaworMzY4MjggNGM5ZWZiM2E2YmIzZjYwYzQyMGE4NTUzN2M5M2E5NjUzYzkyZDhkNCB0aW0tZG9jdGVzdC1icmFuY2gKKzM2ODI5IGMyNmE0ZmQ2OTc0NGFkYzRjY2VmZWM3MWRkMTk3YWVlMzBiNWQ4MTAgdGltLWRvY3Rlc3QtYnJhbmNoCiszNjgzMCBmYjZmZmQyOTBjZmIzOWQyMWFmZjFkNzIwODJkZjZjYzNmZmNlMWU5IGxlZ2FjeS10cnVuaworMzY4MzEgYWFjZGQwZWNhMWViNTYyZTM2NWRhNTI1ZmFiZjA0Y2UyYWY4YjEwMiB0aW0tZG9jdGVzdC1icmFuY2gKKzM2ODMyIDliMTg4MTU4MTgxZjdmMTM2NzU0NWRkMjg1NmFmOTVjNTJhMTMzYjcgbGVnYWN5LXRydW5rCiszNjgzMyA0ZjAxODk0YWI0NThkYzc3YWJlMTY5MzU0OTc4ZjQxYmIyNDIwZTYyIGxlZ2FjeS10cnVuaworMzY4MzQgNDBjM2E1MWNiNzFjZDM1NDc2MTIxOGZhNTFkMWMyMGViY2QxYWNkMiBsZWdhY3ktdHJ1bmsKKzM2ODM1IDM2MDA0MGQzZDRmYWQ4MjE3YzExNjc4ZjdmZjg1NmVhMWQ5Y2VhNmQgdGltLWRvY3Rlc3QtYnJhbmNoCiszNjgzNiA1Y2FiMzM2MTgyOTMwMDRiNWM1NTJkOWVkMDY4NzljZThiMTc5MmY0IHRpbS1kb2N0ZXN0LWJyYW5jaAorMzY4MzggNjc4ZDQwZmNlMGIxNGE5OWU3NjMwZjUxMWI4Y2UwN2NhMzA5MTdhZSByZWxlYXNlMjMtbWFpbnQKKzM2ODM5IDVjYzU1ZDM2YmIxZGNmOWIwODVkM2M1YTllYjFiMDViNzA2YjJiN2YgbGVnYWN5LXRydW5rCiszNjg0MCBlODllZjBiZmExZmY4Y2Q0YjEwYTQyZTgxNDJhMWEyNzcwZWJjOWU3IGxlZ2FjeS10cnVuaworMzY4NDEgNTBjMTIyYmM3YWFjYTM4ODJjNzQ3ZjhlNTVkNzI5OGVhNjA2ODY2NCBsZWdhY3ktdHJ1bmsKKzM2ODQyIGFlODc3MmQxNWE1ZmE3MTYwYTM2NjAyOWU3YzBhMTk0ZTVmNWQyN2YgbGVnYWN5LXRydW5rCiszNjg0MyA3MjZkYjU4NTQ3NDYxNGYxMTQwMDE0ZTQ4YjYyZjZjZDM4Zjg3Y2RmIGxlZ2FjeS10cnVuaworMzY4NDQgNGIzZjhkZDkyNjlhZTA3MTkyYTliNzQ2YjU0YTJmYjQyMjI0MTY1NyBsZWdhY3ktdHJ1bmsKKzM2ODQ1IGY1MTk4OTZjZjVkY2JkZTM5ZDU0Mzc2MTc4ODkzOGE3YTEzZDJmYmIgbGVnYWN5LXRydW5rCiszNjg0NiA2MWMwMTcxNTc3NTY4MzQ0NWZhZGRiZmExZTNkYmVhZmFkMjM2OGU2IGxlZ2FjeS10cnVuaworMzY4NDcgOGY4NzQ0MGM2ZTgwY2QxMmVmOWE3OGIzNjE2NWIyZmMxM2M3M2YxYSBsZWdhY3ktdHJ1bmsKKzM2ODQ4IGE4YTQ4NjMzOWQ4MDY0NmY1YzRkM2QyZjdmNWQwNTljMTM3MjA1YjkgbGVnYWN5LXRydW5rCiszNjg0OSAyZWEwOTY2MmEyZDQwYjVjYzEzMTI3Yjk3ZGE4Mjk2Njg5YTYxYWI0IGxlZ2FjeS10cnVuaworMzY4NTAgNDQ0NTAxMjljZTM1NmU1ZjBlOWRlOTk2MzVhMDZiZmQ0OWQ3MmFlNyBsZWdhY3ktdHJ1bmsKKzM2ODUxIGM5YWU5NWQ3N2E0MjdmOThmNDgxZmNhNWE5ZThjZmU4NWY0YzE0OTQgbGVnYWN5LXRydW5rCiszNjg1MiBiMzRhOGRjM2NjYWVjZjJjNTg3MWY0NGE4OWY2NzM0OWExZTM2OTJlIGxlZ2FjeS10cnVuaworMzY4NTMgNGUyYzY2MDIxYmYzODBkMjQzMjYyNjM3YWJkMDI1MDM0YjI3MTRkMCBsZWdhY3ktdHJ1bmsKKzM2ODU0IDQzZmJmMjlkZDgzYTk3OGM4MTRiYzRkZTBhYTZmZmIxMjYyZTgwYmMgcmVsZWFzZTIzLWJyYW5jaAorMzY4NTUgMjUyYzY1NDY5MTE0Njk1YzZhZmY3ZjQ5YWZjYTA1Y2Q1YmRkNWU1MCBsZWdhY3ktdHJ1bmsKKzM2ODU2IDFhYTQwYTA4OTgyZmE1NWVmZjIwOGFkNjJhNzkwMDU5MmMzYTgyMjMgbGVnYWN5LXRydW5rCiszNjg1NyAzMDAyNTk2NTMyNGE1ODFlMDcxYzE3ZTRlYzVkMGNhZDcxODkzZDBiIGxlZ2FjeS10cnVuaworMzY4NTggMzA5YmViZWRmYzk3YTFjYzIzMWNiMjdjODZmZDZlM2Q5YzRmYzU2OSBsZWdhY3ktdHJ1bmsKKzM2ODU5IDJjMTE2ZTdmZjE2MzZiZTBjYWYzYzBkN2Y4N2ViYWE0MmM5YzFiYzYgbGVnYWN5LXRydW5rCiszNjg2MCA0NDFhYjNhZDZkMDFhMGNiNjJjNjM4ODgwNTg3ZGNjOTMyOWQwODNlIGxlZ2FjeS10cnVuaworMzY4NjEgNGJmNjg1NGRiNjU2ZWQ5ODBjMzM1ZmRmZThkMzc4ZmFhNTY3ZDM4MSBsZWdhY3ktdHJ1bmsKKzM2ODYyIDRmZDU5NjUxZmUzZjlhNjI2YzllYWJlMjE4NTZlMmVjODc5NWU2NjcgbGVnYWN5LXRydW5rCiszNjg2MyAzOTZkMDExZjgzNDhiYTY3YTEyYjU5ZTU0MmZlMTBhYTBjZGI3OThkIGxlZ2FjeS10cnVuaworMzY4NjQgYjVkY2ZlN2E0MTU5NjBhYjBmYjNjMzJlMDVlZjc5ODkyN2JkZWY5OCBsZWdhY3ktdHJ1bmsKKzM2ODY1IDg2N2ZlZjJiNTA2MGFjODIwMWM5MTZkOGJiOWYwZTYzM2RhYmE3NjQgbGVnYWN5LXRydW5rCiszNjg2NiBmYTNkMDFmMGZjNDQyMTUyZDUyYjQwNmY3OWVjN2YxNDBiNDQ1MmNlIGxlZ2FjeS10cnVuaworMzY4NjcgOGQ3MDdkNDljYjliYzdmOGJkNmQ5NzYwYTQzZGNhN2VjZTk1NDBiMCBsZWdhY3ktdHJ1bmsKKzM2ODY4IDlmYjJlMzBmMjZiZWU1ZWUxZTg1NjE2NmZhZGIyODYzNGNiOGU0ODMgbGVnYWN5LXRydW5rCiszNjg2OSAzNjdjZTUxNmFkMDU0YmQ4ZWU3MjgwNGFiMGY0YTgwYTQwNjY0ZDkxIGxlZ2FjeS10cnVuaworMzY4NzAgNDhjYjRlZDQ5NGE2NTgxMDIxMmEzOTU1NzE5ZGMyNmQzOTM3YjAyMiBsZWdhY3ktdHJ1bmsKKzM2ODcxIDhmNmQyMDVkNTMxYmM5N2VjY2MwZGYyZTFjODMxOWUxZmEwOWQ1Y2EgbGVnYWN5LXRydW5rCiszNjg3MiBmZjE3NjI0YjI2NDI5MjYxOWYyNDBkMmY4MjEzYjg5YTVjZDc3MTFlIGxlZ2FjeS10cnVuaworMzY4NzMgYjBlMGE1Mzg3MGI2ZjlmODA5NzAyN2Y0MTRmNzIyNjU1YWZkZDJlYiBsZWdhY3ktdHJ1bmsKKzM2ODc0IDhjYThmZWJjMGEwZDc1MDA5MGM0M2I5ZTMzNmVkM2MxMTdjNGVlNTYgbGVnYWN5LXRydW5rCiszNjg3NSAwYmViNzU2OTY1ZGY5Y2Q0NjU3Y2QyZTkzZTBjZTMwYTA5MWQzMTUxIGxlZ2FjeS10cnVuaworMzY4NzYgZTViOWU4NzJhN2QzYmEyODU0MjY5ODFlZDExYWQzMGM1NjZhNWQ2NCByZWxlYXNlMjMtYnJhbmNoCiszNjg3NyA2YWEzMWQ3NWM0Zjk5MGQ5NWI4ZTZkNWNjZTZjYTJmN2Q0OGM1N2E3IGxlZ2FjeS10cnVuaworMzY4NzggNWM5NDBmOThlNDY1NTljOTIyZWI4YTE1ZWJiY2RmMjBkMTFkZGNjZCBsZWdhY3ktdHJ1bmsKKzM2ODc5IGFiOTNhZmY0YzkwYTg0YmYwYzAxNTMwOTk0NDVlMmZiNDMwMDQ1ZjggbGVnYWN5LXRydW5rCiszNjg4MCAxZjM1OGE2YjRiYzMzNmU1NzA0NTE0YjI4MjdlYTE4NTliYjVkMmYzIHJlbGVhc2UyMy1icmFuY2gKKzM2ODgxIDIwNGQyOWFjYmEyODAxMDEwYWZmYTdmMzhiZDYxYTNhZGE4ZjIxNjMgbGVnYWN5LXRydW5rCiszNjg4MiA1MjE4YmZmNTY0NDk0ZjZmMTBhNWIyYWQyMzE2Mjk0YzVhZDI0NTA5IGxlZ2FjeS10cnVuaworMzY4ODMgYWQ4MTgzMzhmOGMzMzA2NTY5Y2JjNjM2NjkyNGZkNjcxNzNmMWMxNyBsZWdhY3ktdHJ1bmsKKzM2ODg0IDUzMGMwMmI4M2VlYTVhZDE2NWI2YzhjODQwNjYwMmYxYWM2MTNjYjMgbGVnYWN5LXRydW5rCiszNjg4NSAyYzkzZmNlZWU0MmQxM2RhZjA1NGU2NmY3NDBmYjA2NjA4NWM4ZmEzIGxlZ2FjeS10cnVuaworMzY4ODYgNGY1ODhmNTdhOTNiMDM1YWQwM2I4ZDA0NjA4MzlmZWRjYjdmYTU4NyBsZWdhY3ktdHJ1bmsKKzM2ODg3IDg4OTdlNzdjZDc5YTg0MWJmZTc3NWM1NzFjMTZkMjBjNTUwOGFmZmYgbGVnYWN5LXRydW5rCiszNjg4OCA5NDY0NDE1YTFmODk0OTkxOTkyNTdkOTA3OTQwNTMzMjY5YmIzNzhlIGxlZ2FjeS10cnVuaworMzY4ODkgNDliODA4MzIwM2U2YmJjMWY5Nzk2MTFjODE3MzRjM2RmZTE1YjhiYSBsZWdhY3ktdHJ1bmsKKzM2ODkwIDlkZGZhNzRjYjI1MGY0OTZmODE0MzJhYTc1ZDlmNDk1NDAzNzBlNDkgbGVnYWN5LXRydW5rCiszNjg5MSA4NTAwMmNmNGUyM2JmNTBkOGE4MWVkNTdhOTU2YTNmZTE1NjM2Y2FjIGxlZ2FjeS10cnVuaworMzY4OTIgMmU3Yjc4MDMyNzAyYzdiNmJhNmQ1NjdlZDE4N2VlZjc4MTE5MjhjOCBsZWdhY3ktdHJ1bmsKKzM2ODkzIDg2MDdhYzJmODFjODM5MjBkZDQyYTQ5ZDA3Y2MyMjRlNGYzYjM3OTcgbGVnYWN5LXRydW5rCiszNjg5NCAyNjc1MmRmOTM5MTM5MDMzZmFiNmMzODczYjBjNDllNWY2ZGI3NTJjIGxlZ2FjeS10cnVuaworMzY4OTUgMTY2MGE2OGZhNmE0MDdhNzNkYzdjYWM3OTE2YzliYzFlZWIzZDJkMCBsZWdhY3ktdHJ1bmsKKzM2ODk2IDdjM2Q1Njk1MjJjNDkyYWVmN2UzOTkzYjU1NDk4NTkxOGUxMmI2N2IgbGVnYWN5LXRydW5rCiszNjg5NyBiNjY5YTYwOTdiYTg5YzgyNmQ0MGIwM2FjNjFlODExYmNhNDM0ODQ3IGxlZ2FjeS10cnVuaworMzY4OTggZWUzYWFhNzkxODQyOTJkODAyZjViZGU5NzUxMTc2ZmM1NjA4NjEzZiBsZWdhY3ktdHJ1bmsKKzM2ODk5IGY2YjJmMTkyZTAzYjUzZmIzMzhiMTU0NjI5NGNhMjkzYTE1Y2FmMjAgcmVsZWFzZTIzLWJyYW5jaAorMzY5MDAgY2UyYTE5NjIwM2M1ZWNlOTI3YmVjZjA0ZTI5MThlOGU1NzU0NzlmMiBsZWdhY3ktdHJ1bmsKKzM2OTAxIDIzM2MyMjM4NThmNzdiYmFjNTJkZGI1ODU5MWNiNTc0NGQ1ZjI1NWEgbGVnYWN5LXRydW5rCiszNjkwMiBmZWUyMDM4YjhmYTlkYzgyYjA2NmQyM2UzYjAzMzQ0N2YzMzNiMjZmIGxlZ2FjeS10cnVuaworMzY5MDMgNDIwNDg4NDA4ZTBlM2Q2NDMzYzdkMDk1MzQzNDI4MWU0NTIyODQzNSBsZWdhY3ktdHJ1bmsKKzM2OTA0IDVhNGQ3N2I2ZWZhNjVlYThhZTE4Njc3YWIyNjM1Mjc3Mjk3ZWYwM2IgbGVnYWN5LXRydW5rCiszNjkwNSAzMDQ1ZjRmMzRlZjI0N2JkNTQzOGYyMGEwYTFhNWIxNDA3YTkxNTVlIGxlZ2FjeS10cnVuaworMzY5MDYgMTdmYzg4YTFiODczNTc4NGM0MmNjM2RkZDMwYjQ0NWJmOWU0OWY5MSBsZWdhY3ktdHJ1bmsKKzM2OTA3IDFkYmQwZjM0NWE3ODg2MGM0OWE2Mjc4MzY2N2YzNDg2NjJlMWM2NjQgbGVnYWN5LXRydW5rCiszNjkwOCAyNzQ5MzM0ZDcxYTQ3MTQzZTAxNTU3NzU3OTIwZTdmOWFlZDhiNjgzIGxlZ2FjeS10cnVuaworMzY5MDkgMTYzNjIxNTE3Yjk4MjU0Y2E4NTU4ZWM5OWVjNjM0NmVkNzNlMGRhOCBsZWdhY3ktdHJ1bmsKKzM2OTEwIDY3ZDI1MjE3YmM3ZjBjNDc0MjFjM2NhZmE1ODI5YjMwMjkxYmJhYjkgbGVnYWN5LXRydW5rCiszNjkxMSBjODFlZDA3OTU3NmYyYTVlN2U3MWM0NTdiMWFlODI5ZWNlZWQ5N2IzIGxlZ2FjeS10cnVuaworMzY5MTIgYzM0ODdlZjNhNjljNGQyOGEwMWRhNWUxZDcwNmYzYzFjZTJhZTc2MCBsZWdhY3ktdHJ1bmsKKzM2OTEzIGQwZWIwOThiZTI2NDhmMjU3NzZiYWM5Y2U3MWM4YzUwMTIyNzA4NTggbGVnYWN5LXRydW5rCiszNjkxNCBjNDc4YTcxYzIzODQwNDJiODJjN2I3N2JmY2M0NDRhYjc5NTgyZmMwIGxlZ2FjeS10cnVuaworMzY5MTUgNDU1NjY3MTQ2ZDRiOTllY2I1YzQ1YzQ4ZTNlYTFhMjJiMWIzYjNjYyBsZWdhY3ktdHJ1bmsKKzM2OTE2IDk4NTM3NWFjYTk3MDczMTBmMDc1NDYyNWZlZTFjZDRlOGI5M2E3M2YgbGVnYWN5LXRydW5rCiszNjkxNyAxYWYzYWQ0OWQwNmZlMGUyMjExYjM2ZjNjMTAwZmU3NWE0N2JiNzFjIGxlZ2FjeS10cnVuaworMzY5MTggMjdhZGEyNTUwOWZmMjYyNjhjZjE4NWI5MTViYzc3MjZkM2Q5ODBmZiBsZWdhY3ktdHJ1bmsKKzM2OTE5IGZiZWEyYmUzNTU2MjhiZTIzZjQ0YTZjNzJkN2MwNWQwMWQ2MzIzYmQgbGVnYWN5LXRydW5rCiszNjkyMCAyOWZhOWQ2YWZlYTAxZmQ4ZmFhNzBiNWFlNTBlNDJlOWNmYjNjNGM1IGxlZ2FjeS10cnVuaworMzY5MjEgZjBhNmVmM2E4NzRlZjhkYzVhOGRjOTNmMzMwNThmYjUzZjk2NTk1NSBsZWdhY3ktdHJ1bmsKKzM2OTIyIDVlNjlmN2M4MGVmNDI3MzM0Mzg1ZjY1MTJlZDRjNzY5YzlhYTllMWEgbGVnYWN5LXRydW5rCiszNjkyMyA2ZjM4ZTNiNjRlZjQ3MjZlZmU5ZDRlYzVjNjBmYzE1OTA5YzBmZGViIGxlZ2FjeS10cnVuaworMzY5MjQgMzFjY2VhOWU5OGE3NDZmYTBiYTkxYTk3OTFmMjQ3ZGYxODQyZjk4MCBsZWdhY3ktdHJ1bmsKKzM2OTI1IGVlNDNjYTRhMmMyMzhlNDFlNzMyMzMwY2RkOTQ2Yjk0YzFkMWZjNDEgbGVnYWN5LXRydW5rCiszNjkyNiA3NjRkMjhmYzNkMzY5OGVhOGZiZmMwMTM5YTU3ZmFhNmY0YjJmN2YyIGxlZ2FjeS10cnVuaworMzY5MjcgOTBkYTcwOTg2NDA3MjM5NzRjOGFiODhjMGVjOWViOTExMWExZTc2NCBsZWdhY3ktdHJ1bmsKKzM2OTI4IDAzMDQzYjI4OGIyODc1ODYwMDJlMDdkODFiNTlkMDY3ZmMzYmNjODUgbGVnYWN5LXRydW5rCiszNjkyOSA0NTMyOWQ5ZmRiOGQ1NDU0NzFlNDBhNzExODM3Zjg2Yzk5MjdhNDc0IGxlZ2FjeS10cnVuaworMzY5MzAgY2RhMDQ1NWJkMGEwMzE4OTAwNjk5NDJmZGI4NzQwYmQxMjkzNDgxOSBsZWdhY3ktdHJ1bmsKKzM2OTMxIDJhOGMzNzU4YzRhMTkwNmJlMzFkYTNhZWQ5MjUzZjdmYzE5MTkyYmQgbGVnYWN5LXRydW5rCiszNjkzMiA0NTFkZDQ5ZGY1MzEwOWNkNjJhYmJkOTFhYmIwY2QxNjZiMzRmMGI0IGxlZ2FjeS10cnVuaworMzY5MzMgODIxYzU1N2NhNjEyNGI1ZmIyMDU3ZGMzNmYzYjg5ZjhmOWZmYWNlZiBsZWdhY3ktdHJ1bmsKKzM2OTM0IDRlNmY0ZTllYzliM2QzYTU2NmRhZTg5NGNmNDA3MDNlNDEzYjBiZjMgbGVnYWN5LXRydW5rCiszNjkzNSAwNGQ5ZmRlMTEzMzA5NDhlMmEzZDBjYjdiZTBlNTY3MTYyZTE0ZTdjIGxlZ2FjeS10cnVuaworMzY5MzYgNGRkMTgxNWI0NGVmYWFmOTg1NjdlNTNkYzU3Zjc2ZDRiZTIxNDVjMCBsZWdhY3ktdHJ1bmsKKzM2OTM3IGJmY2M0ZTM5ZmM0NTJiMzUzMjY2NzYzNDZhYzgxMWQxZTdkMzc0NWQgbGVnYWN5LXRydW5rCiszNjkzOCA5ODFmZmY3MzYzYjkyZThlNzRkZjE3OTU0YWYyMjE2OWRjYjAxZDgwIGxlZ2FjeS10cnVuaworMzY5MzkgMDFjYzVlM2Y2Mzc1MjIxYTFiN2M5NzQyMjBhYjNkYmU4ZDM2MWY4YSBsZWdhY3ktdHJ1bmsKKzM2OTQwIDgzNmU3NzI2NmY5Nzc5MTMxNDExMGYzYjQ3MGE3N2ZlZTRhM2UwMjIgbGVnYWN5LXRydW5rCiszNjk0MSA3NDNhYmFjOWY5ZmUzM2VjYmNlZDk3MzljMTVjMGZmOWQ3ZDdmZjMxIGxlZ2FjeS10cnVuaworMzY5NDIgZDA3NWNiYTg1MWZkODZmZDk2MDk2Mzc5YTI3ODY4YzYzMzdkMTZlMSBsZWdhY3ktdHJ1bmsKKzM2OTQzIDA1OGU4NTFlNzkzZWFmYmIxMTQ4MmI5NThhYzMxOGQ2MWRkNzAyMGYgbGVnYWN5LXRydW5rCiszNjk0NCBhNzkyODcyNmRkOGY1YmQ0NGU4NGU5YjQ1ZWMzZDA2Zjc2ZjJkOTJjIGxlZ2FjeS10cnVuaworMzY5NDUgNWVhZTRjZTEwNWZjZjRjNTY0OWY5N2RiOWRmMGFiOGVmMzQ0MmY4ZSBsZWdhY3ktdHJ1bmsKKzM2OTQ2IDI0MGVhZmFlM2VhNzRkYTczNTRhOWY1ZTJkZmRjMThkOGNjYjM5MWUgbGVnYWN5LXRydW5rCiszNjk0NyA1ZjMzNTA3Y2I1NTk4MjM3MWVmYTM5MjJlMjhhZjg2MzNhNjdkZThjIHJlbGVhc2UyMy1tYWludAorMzY5NDggYWJlY2JkNjZhNjI4MGM3ZDk5Y2RlM2NhNTE5MzdiOGM1MTY4ZGYyMSBsZWdhY3ktdHJ1bmsKKzM2OTQ5IDQ0NDU3Y2I4Zjk3MDE0OTcyZDkzM2M0OTQwODI4NTRlNzU1ODkwOGEgbGVnYWN5LXRydW5rCiszNjk1MCBhZmQ1NDEyNmU5YTE5MGZhMDQwYWY0ZjRjZWQ2NmFiNTQxNDM1NjY2IGxlZ2FjeS10cnVuaworMzY5NTEgNTM0N2RhMzFmMDc2YzZjZjI3ZDQ0MDFjMGFhY2U5ZWU5MjAwNjYyMSBsZWdhY3ktdHJ1bmsKKzM2OTUyIDk5MzdkMGU2M2NhMzI1ZjQ3ZDBiM2NlMGE2M2UxYjljZTMxY2Q3YzYgbGVnYWN5LXRydW5rCiszNjk1MyA0ZmQxODUwNWZjMzVmZGQ3YjMyZmM2M2U3ZDE3ZjlkZDcyYzFiNzAyIGxlZ2FjeS10cnVuaworMzY5NTQgNGIwYTBmYzFiYWVhMzFkZjkzZWUyNTZkNTBkMTc1YjNlMGY5ZmUwOSBsZWdhY3ktdHJ1bmsKKzM2OTU1IDQ4MTAwYTAxYWM3YzA1M2E0MTc1YTg2MWVkNjdiYTY5M2UyNDI0YTEgcmVsZWFzZTIzLW1haW50CiszNjk1NiBkZmMyNWUxYjk2MDU4MzQ4YzlkMjQ0MzViZTQ3MTZiMTVjNmQ3ZThlIGxlZ2FjeS10cnVuaworMzY5NTcgMjBlOTBlNTA3OTdkZThmNWQwNjRhYzdhMmU5MjNkN2Q4YTAxODNlZSByZWxlYXNlMjMtbWFpbnQKKzM2OTU4IGIxNjZhZTJmNzczMjE0MzdlOGZkNTM2Zjk1YjczMjNiMmRmNjc5MmEgcmVsZWFzZTIzLW1haW50CiszNjk1OSBkZGQyNGQ3MmFkNmFhYzU2OWY4MTA2Nzc4ZTc0NWFiMWRiOTgyMDhlIGxlZ2FjeS10cnVuaworMzY5NjAgMDFhMzg1NWE0YjAzZTgyOTdjZGU5MzQwOWIxMGU5MTQ4MmFjODQ2NyByZWxlYXNlMjMtbWFpbnQKKzM2OTYxIGM3MGMzM2Y2OWE0NGM5NDYzMDc1YWQ2YzQ1OGViY2Q1ZDQyMjNhMzIgbGVnYWN5LXRydW5rCiszNjk2MiAzYjVkMzdmN2NiNWFkMWU3N2ZmMjAwOGM2ZGJkMjhlMzE0ODBkNDAxIGxlZ2FjeS10cnVuaworMzY5NjMgY2UwMTZkMGVjNzAxNTUzNGEyNTBkYzQ4NTIxMGRmMTdlMjc5YzMyYyBsZWdhY3ktdHJ1bmsKKzM2OTY0IDM1Njg4NzQxMGJkZTc0Yjk5ODc1MWYxMzMzNzYyMDE5MTQzMDdiOTEgbGVnYWN5LXRydW5rCiszNjk2NSA4MWVmZWMwZTlkMjkzNmJlODZjYzJjZjBjMzI5NTVhY2JjZjhmMDk3IGxlZ2FjeS10cnVuaworMzY5NjYgZjI3OTM1YjQ2OTg1YWM2MWUwYmQ1NjkzMDAzMzcxNGU3MjYyZmViYyBsZWdhY3ktdHJ1bmsKKzM2OTY3IDZiOGU0OTk2ODdkNjI1ODZlYTc1YjdhYzI2OGRlNDg5NGM0NDVjNjggbGVnYWN5LXRydW5rCiszNjk2OCBmNDU1YmJlN2VhN2UyYjE2ZDQ3OTYxNTExZTZiNjQwNTUwNzBjNjA2IGxlZ2FjeS10cnVuaworMzY5NjkgZTVmNmMzZjUwODQ2NjUzY2EyOTNiNGJjYTcyMWZkOTEyNmYzMWUzZCBsZWdhY3ktdHJ1bmsKKzM2OTcwIGJhYmQxMWVlY2Q4ODNhY2ViY2FlMjc0MTc0YzUzNGFjYzllNTU4NTQgbGVnYWN5LXRydW5rCiszNjk3MSBjOWFjOWJlOTVhZjllMmU4YTliOGIwZjU2Nzk1NWYyNmI1ODA5MTJlIGxlZ2FjeS10cnVuaworMzY5NzIgZGRjMDMwNGMxNTFmZTRmNmVlMTFkZTIxZjNhZmQ2NTBiNTJhMTE1YiBsZWdhY3ktdHJ1bmsKKzM2OTczIDQ1MGY1ZTIxZWFjOGRjMjRhMGRjYTI2OWI5ZjU2Nzc3MDRmYzU5ZDEgbGVnYWN5LXRydW5rCiszNjk3NCAwYTBjMjQ3ZjA1ODQ0NTZlMTUxNzQzOTJjZmUzYzg4MmRlZTFiNjhlIGxlZ2FjeS10cnVuaworMzY5NzUgN2RlN2MxOTEwYWM5Y2E0MGU5ZWQ0YTMwMGIxNGU0MWIxNWNhNDhhYSBsZWdhY3ktdHJ1bmsKKzM2OTc2IGE3N2MwMzcyYTFkN2I1MmNkMWMzYjU1NDgyMzIzZWIwZTdjODcxMWMgbGVnYWN5LXRydW5rCiszNjk3NyAyOGU4NzdmZjc0Y2Y3MDY3MzM2Mzg5ZTlhNzhiZjIzZmM2N2UyNmMxIGxlZ2FjeS10cnVuaworMzY5NzggZTRhNzNlZmE0ZDIzNGJlZmUzYzIyMmJhNTU1MjhhYjZmYzg4MWFjYyBsZWdhY3ktdHJ1bmsKKzM2OTc5IGRmZDM4MDNlZTBjMTgxM2Q4YTcwZmJiYjY0MDk0YWJhNTE1N2Y1ZmMgbGVnYWN5LXRydW5rCiszNjk4MCAzYTRlNzNhNWU0MzQ3ZjFkMTVhYTE3NTRmYzhkYzk4Y2MyNmUzMGU1IGxlZ2FjeS10cnVuaworMzY5ODEgYmY2OWZjM2JkMDY3ZTRlNWVjYzFjMjhmMDdhZTdhYzdhNjE0NGUyMSBsZWdhY3ktdHJ1bmsKKzM2OTgyIGY2YWM0MTdiNWViMDhiNzNmMWMwMzgyMDU0MmM5ZTAxYTNlM2RlMzcgbGVnYWN5LXRydW5rCiszNjk4MyAxY2Y5ZGUzYTg1MDNhNDM5Nzg1NzhiMGFkOGU5NjEwMjdmZjViMzE0IGxlZ2FjeS10cnVuaworMzY5ODQgZDdmY2RmOTc3NmM0ZGZhNGI3ZDIzYmZiNjI2ZWI5ZWU3MmZmZGM1ZSBsZWdhY3ktdHJ1bmsKKzM2OTg1IDkyMGY1ZjY0ZjJmMGZjODAzOGEyN2Q0ZTJkYThjMTk2YmJhMzk0NDEgbGVnYWN5LXRydW5rCiszNjk4NiAwMTQwNzg1YmVmZGIzNmQwYzFiMDQyZTYzNGVlZTRhNTU4MjkxNTRlIGxlZ2FjeS10cnVuaworMzY5ODcgNmMxNmFiNDIxNGFmOGU4ZTUwYTgwMzM3MGQ5YmQ0ZmM4ZjJiMTdkNyBsZWdhY3ktdHJ1bmsKKzM2OTg4IGRjNjQ3ZGY1MzkyMTdhNTk1Y2VjYjE5MDUzOWNmZDYyY2I4OTcyYTMgbGVnYWN5LXRydW5rCiszNjk4OSAzYTdmODJlNjBjYjIyOTI0Mjg1MDI3MTRhYjA3N2Y4MjFmOWNkYzcyIGxlZ2FjeS10cnVuaworMzY5OTAgY2NkMDJiZDM0NGIzOGIwZTllMjYyNDIzNzc2OGVhMTJiMjhiMTdlZSBsZWdhY3ktdHJ1bmsKKzM2OTkxIGVkZGIzN2Q3MDJiNWUwNTIyMzYwNmVlMWZjNDI4NTU4M2VjZmY3ZDkgbGVnYWN5LXRydW5rCiszNjk5MiBjMjM4NDYwMWEyNDExMTdkMWU3N2ZkNTQ4MmYzZjQwNDBiYTg0MTQ5IGxlZ2FjeS10cnVuaworMzY5OTMgYWU5YjQ3YThkNjQ4NDg1NmYwYzhkZTEzMGM0NDdiMWY0MjM1ZWE2ZiBsZWdhY3ktdHJ1bmsKKzM2OTk0IDhhMjgyNzk3ODk1ZjNmMTI1ZDM1OTVlZDU0ODM0ZjE5YmE2MDBjODcgbGVnYWN5LXRydW5rCiszNjk5NSA4NDZiYTI5NzJkN2MxYmRkNGM0ZGE2Mzg1MjEyNDUwMzRmYTZjODA4IGxlZ2FjeS10cnVuaworMzY5OTYgZTQ5OTJlOTMwY2IyZTU5NjE4MDFhNDQxOTA0NjFiZGVjZGQ4MjI3YiBsZWdhY3ktdHJ1bmsKKzM2OTk3IDNkYjlhOTMyNzc1ZTYwYTZhZjdkYzI3M2Q0NmM1Y2VmZjIyMGI4OGUgbGVnYWN5LXRydW5rCiszNjk5OCBmYzE2MzdmYzQ1ODg5ZmJjOTJkNzUyMzYzMDYzYjFiMzU2NmJmYjY5IGxlZ2FjeS10cnVuaworMzY5OTkgNzM3NWFlNWY5ZGM0ZDVmNTllZGYwOTc0N2U1YzUxYjRhMjZlYWVmMyBsZWdhY3ktdHJ1bmsKKzM3MDAwIDFkOTgzNTA4MmJlNWFlY2E2YTVmN2VjMjY2MDA3NTljMjRhNGM1ZjIgbGVnYWN5LXRydW5rCiszNzAwMSBhZDI2OGE4NDA4ZjRmNmJlYjU3MmJlZDMwZjU5MmFiZjVkZWJmNWMwIGxlZ2FjeS10cnVuaworMzcwMDIgYTM1ZTRkMzVkMTQyNTEyY2QyOGQ2Mjg1MTQ0ZjQ2MTRmMGE5YmE5YSByZWxlYXNlMjMtbWFpbnQKKzM3MDAzIDNiZWI1NGY5ZDJiYmU4ODI3ZmVhNzZjZDRkYWI2NjY5ZTRkYTRiYzcgbGVnYWN5LXRydW5rCiszNzAwNCAyODkzZGM5YjRlZjRkYWQwNDUyOTVmMTU2ODg1YTZlYjM3MzJkMjBjIGxlZ2FjeS10cnVuaworMzcwMDUgMjJmYTk2YzQxM2FlYzNhMTU4NzhhNjZlMGM0ZDQwMDUxOTM0YzlkNiBsZWdhY3ktdHJ1bmsKKzM3MDA2IDk1MWNjZDhmMzQyODg2ZWJiNjBhYzgyYjE4MDg5YTI0MmJkNTRiNDMgbGVnYWN5LXRydW5rCiszNzAwNyA4Nzc5YzhjNGQxODFhZjQ3NTJjYjkxZDgxNWI3MjAwNDk0MTkwNGYwIGxlZ2FjeS10cnVuaworMzcwMDggOWM4NDFjYWEwZTgxNGFlNmY0OTY1ZGI1Yzk0ZDk4MmQ1ZmJjZDRjNCBsZWdhY3ktdHJ1bmsKKzM3MDA5IDI4YTIwNWVjYjRkZDgwNTY0NzYyMzM0NjE3ZjFmZmJmYmQwZGJkMWIgbGVnYWN5LXRydW5rCiszNzAxMCA4ZTg3YTY4MzQ5NDJlNGVmYTc2MTJiMTljNTlhMmQ5MWVhOWQzMTk0IGxlZ2FjeS10cnVuaworMzcwMTEgOGMwYjA4YjI0NzdiZmQzYTg1MWM2NWJiMzc5NDhlZGQ5OTk4ODUyYyByZWxlYXNlMjMtbWFpbnQKKzM3MDEyIDYxMmRlMjY4ZWQ0YmUwYmUzM2I1NDkzZTM5NjllYTlhMDJmNTU2MmUgcmVsZWFzZTIzLW1haW50CiszNzAxMyBmZDkyZWE4YjViNTFiZDFhNjQ2ZWU0OTczODkxZTRiOGM2MWY3Y2FmIHJlbGVhc2UyMy1tYWludAorMzcwMTQgN2FhZTA2YjFmMWRkY2IzNjc5YjQxNzViMWQ4M2EzMjIxM2JhNThlYSBsZWdhY3ktdHJ1bmsKKzM3MDE1IGZmOWQ1YTcyZDU0YjcyMDgwMGY4OGM1NDg4ZTcwMGQyYWRlZTQ0NTEgbGVnYWN5LXRydW5rCiszNzAxNiBiNTVkYmNjZWNjNzE1MDY2NjAxZGVjM2FlZDEzMTExMzkzNGE1ZTFjIGxlZ2FjeS10cnVuaworMzcwMTcgNGI1YjZlODYxZmNmNmViM2I5ODEyNmFmYjdjOGY5NmNiM2JhY2IxZSBsZWdhY3ktdHJ1bmsKKzM3MDE4IDkzMzU0OGZlN2I5N2IwYTJiNjM3MWFlZTdjZjI3M2Q5MjNhMjA1ZTcgbGVnYWN5LXRydW5rCiszNzAxOSBhMzYyMDE2ZTk1MGQ1MGM1MmM4ZjllNDQ3ODJmMWRmOTI5ZTExZjYwIGxlZ2FjeS10cnVuaworMzcwMjAgMmI4YmRiMDY5ZTBhZWJkZDZmYzA5MzUyZTg3MWZlMGE3OGE1MTU0OSBsZWdhY3ktdHJ1bmsKKzM3MDIxIGIyZjQyN2RiMjI4YjE0NmY1MjFlOGVkYWY1ODQ5YTI5M2UyODg3NTIgbGVnYWN5LXRydW5rCiszNzAyMiAzZjlkMjFlYzUwNGI0ZmJmZGE3MGZkMTQ5MDA2YzY3M2I1YWQ4NmZjIGxlZ2FjeS10cnVuaworMzcwMjMgYTA1OTMwMWE0Y2RlM2Q0MTFlYmYyZDY3ODNhMjIyNGYwOWFiZGI3NiBsZWdhY3ktdHJ1bmsKKzM3MDI0IGFlNGNiMjk0NzQwMGViMmFmMzljM2JlOTRjZDRkYjJmYzVhZTc5MjAgbGVnYWN5LXRydW5rCiszNzAyNSBiZmIyOTFmODU4NzE1YTc3ZWUwYTI3ZTVhMmQ4MWI0OTgwYzQ3MzEwIGxlZ2FjeS10cnVuaworMzcwMjYgMjA4ZmU3MTljNzQ5YjUxZWIyN2Y4OGIzYjljMGZmNWZiYTAwMzA4NyBsZWdhY3ktdHJ1bmsKKzM3MDI3IDZmMDliNTIwYzAxYzU5MGZjOGExMDMwZDc3ODcyNzRmYjJiN2IxYjUgbGVnYWN5LXRydW5rCiszNzAyOCAxZDZlZWZiY2JiMzc0N2UwZDJiOTA5YmQ3MGVjMDc5M2NhNmUyMTllIGxlZ2FjeS10cnVuaworMzcwMjkgMzU3YjI0YzM0NmJiMGQ2NjhlYWY2ZTU2ZGUxMDRmOTRlZjc0OWUyMCBsZWdhY3ktdHJ1bmsKKzM3MDMwIDJlOGQyYmRkMzNkZWNkYjY4ZTg0Yjk1OGUzZjU3MDdiMDk5NjhmM2IgbGVnYWN5LXRydW5rCiszNzAzMSA5NmJmNDAyNDg4YzcwYTYxNTMwZDRmM2E4M2M1YmY4NTFjMjNiYjJhIGxlZ2FjeS10cnVuaworMzcwMzIgYmVkNDVhNmI5OTNiYTk0YWIzZjE3OTlkY2Q4ODYwNzYzZWZmOWVlYyBsZWdhY3ktdHJ1bmsKKzM3MDMzIDU3NzhmNjMzMTMzNGNlMzZjM2Q4ZmVlMmRjMzJlZWIzNWQ3YjkzNjIgbGVnYWN5LXRydW5rCiszNzAzNCBhNTc2OWU4ZjFjNmZkZTc1MmJlMDg0NWIwZTgwNmI3NDdkYzkzMDY1IGxlZ2FjeS10cnVuaworMzcwMzUgNGNkNzdkZTU1MWU3NDViMWFlMTBjZTAwNjZmYmMyODVhNjNlZDY1NyBsZWdhY3ktdHJ1bmsKKzM3MDM2IDFmOTUyMjIzOGM4NjMyMTdiMTVhNDljZjZmMDkyYWNkYzVhZWI1OGQgbGVnYWN5LXRydW5rCiszNzAzNyBlMDVlOWQwNTgzMGQwOTFjM2Y4Zjk0MzFmM2NhNDdmNmM5M2UyZjkyIGxlZ2FjeS10cnVuaworMzcwMzggZjZmYTY0OWZjNGFmNzRkM2ZkM2EzNjc1ZDJmMjBmMWNhODJlY2Q0OSBsZWdhY3ktdHJ1bmsKKzM3MDM5IGE2YzgwMTcwZmM1MzgyZjkzOTI4MTIyOGI2OGM0MDk5YjY5ZDVmY2YgcmVsZWFzZTIzLW1haW50CiszNzA0MCA0NTM2YjAzMTUxNTc3Yjk1NGVmY2ExMTBjMjdhY2E4MWMzMjAxMTM0IGxlZ2FjeS10cnVuaworMzcwNDEgMTc5NzNmMmUzZTBlODk3Yzc0OWRiYjI5MWM5ZTU2NDNmMTljODdkNyBsZWdhY3ktdHJ1bmsKKzM3MDQyIDY2NjU1N2MyOTI0ZGZjZmIxNmQyYjVhYzRhM2Y0YTEzMTJhYzNhYTEgcmVsZWFzZTIzLW1haW50CiszNzA0MyBhMjUxNGUyZDFjNzRlMDZkOTdiNmY3NTcxNWEwMjcyMzIzMDFmZDk0IGxlZ2FjeS10cnVuaworMzcwNDQgYWFkMTE4NjQzNTk4OGIyYWI5Y2I2ZGU4ZTk5MGY4YzYwMzFiNzRmMiBsZWdhY3ktdHJ1bmsKKzM3MDQ1IDBkMTYyN2M0NDc2OTBjYWZkM2JiZTA2ZTMxZDg3MWEzZWUyNTFlODcgbGVnYWN5LXRydW5rCiszNzA0NiAyOTY1YWU5NGEyM2ZlMzQxY2I3YzBkOTVlODJlN2NmNWE3NTVlNDE2IGxlZ2FjeS10cnVuaworMzcwNDcgNDQwMWRlYTcyNGYwYWZjMTY1MjZhZmUwMTFjNjQ1NzZhZWI1MDc3ZCBsZWdhY3ktdHJ1bmsKKzM3MDQ4IDhlOTE3YjllNzBlN2Q3YzgxZTNkOTI1Y2Y4ZDUzMTAxYTlkYTNlNDAgbGVnYWN5LXRydW5rCiszNzA0OSBmZWI1MjQ3YmEwYzgwYjIyNjgyZTU4YTcyYTg3ZTI3YTM3YTYyZjI5IGxlZ2FjeS10cnVuaworMzcwNTAgNGM3OGZjYjYwZGYzMDkxYzE4ODA0NjVjZDc0NjE2MGM2MjE5Nzc3ZiBsZWdhY3ktdHJ1bmsKKzM3MDUxIDM1YmI2MmFjNTVmZWRhNGMyYzU3ZTNmZWUyNjI0MzM1MDVjNTYyYWQgbGVnYWN5LXRydW5rCiszNzA1MiAwZmVjY2YxOWIxNmQ1YzRjMGRhNDE4MzZjNzNmMzQyYWQ5ZTRkZmQ5IGxlZ2FjeS10cnVuaworMzcwNTMgZGU4MDRlZGY4YmNkNTdlZTlkMDNlMjRjMTUyMmE5MzI4NDEwM2EwMSBsZWdhY3ktdHJ1bmsKKzM3MDU0IGIwZjI2ODFiY2Y3ZmE3NDBkZDE1Y2RjYjc1YWViOTIxYjRmZGQwYjkgbGVnYWN5LXRydW5rCiszNzA1NSBlZGI4NTNlZDZjNzhiMzUwNTI2NjkzOGMxYmRkYTJmNDcyMWIxMTJlIGxlZ2FjeS10cnVuaworMzcwNTYgYmJlNjg0NzRlNTIyMGQ3NmY5ZDNjZDUzNzk3MjA1NmZlNWNhODUzMiBsZWdhY3ktdHJ1bmsKKzM3MDU3IGQyODgzYzQyYzIwNGMwNGYyNDY3ZmVmODdkODkwMTJlY2U3ZDBkMTggbGVnYWN5LXRydW5rCiszNzA1OCAwOTZkZTQ1ODI3YzdiNjc0YmZlZmU2ZTM1MjdjYjAyN2QwMzk3NTZlIGxlZ2FjeS10cnVuaworMzcwNTkgN2Y1N2IzYzdlYmJmZmNiNWU4ZThkZTQxM2JhM2VlZmFlYTAwOGU4ZiBsZWdhY3ktdHJ1bmsKKzM3MDYwIDkzNGE1ZGI5Yjk1YjYxMjI5ZmQ4ZmE3YWI4YjJiNGRhMGI2YjliYTEgbGVnYWN5LXRydW5rCiszNzA2MSA3ZGE5MjAxYmM4YjUzMmM2ZGMzNjk5N2EyNjY3MjE1ZGE1ZTM4OGNjIGxlZ2FjeS10cnVuaworMzcwNjIgMDE3MjI3ZTQ3YzNkZWYzMWI4YzAxODE2NmQ4ZjJhY2Y3ZjMyY2FlOSBsZWdhY3ktdHJ1bmsKKzM3MDYzIGVhNDg3NGUwMjFlODBlYWNlNjRmODEyZmRlYTg3NTM5ZmIxYzQ0NTIgbGVnYWN5LXRydW5rCiszNzA2NCAyNjU2MzIwNDY2MGNiY2I4ZTI0NDQ5M2Q3OWJmMDJjZGVmMGQzMGM3IGxlZ2FjeS10cnVuaworMzcwNjUgMzQ3ZDcxYzBlMDE4ZGQxNzkxNTA1MzRhMzdiMDgzZjdjMDM5MzNjMyBsZWdhY3ktdHJ1bmsKKzM3MDY2IDFkMGY0YzAzNTdkMDA0ZjI5ZWZiMTViNjVhODZmZWU4YjQxMThhNmUgbGVnYWN5LXRydW5rCiszNzA2NyBlYWIyMWZiZjlhNzBmOTcwZGQ5ZDBiMWQwNjQ4MzhmZDgwMTQ5YTEwIGxlZ2FjeS10cnVuaworMzcwNjggYzE4YWNhN2U4MWNiNWY3Nzc2OGVhOWM0YjRlOGYxZjY1NTIxMWMwNSBsZWdhY3ktdHJ1bmsKKzM3MDY5IDkwNTY5YWUzZTNmM2YxY2RlMTBkN2FmZDU3ZDg3YWZjMzlmNDI1YTEgbGVnYWN5LXRydW5rCiszNzA3MCA2OTcwMDY4N2UzMGY1MTVhNjQ0YTQyYzA5YTE3MGI2YjE0MTFkZDY3IGxlZ2FjeS10cnVuaworMzcwNzEgYmVkNjJmMzk5ZGFjMGJmNTQ3MWUyNjg5ZWNjMzI4ZWEzZmU5OTg3NyByZWxlYXNlMjMtbWFpbnQKKzM3MDcyIDA0ODY0YzM5YjAwNjMzM2YzMmFjMjQ5ZWExOGUyNzYzODViOTkzNTQgbGVnYWN5LXRydW5rCiszNzA3MyAzNGE4ZDc1ZWRkMmIwM2E1MWE3YjE0MTgxMTg3NDE0ZjZjYjFiNDRhIGxlZ2FjeS10cnVuaworMzcwNzQgMTZkZmYzMGU2NmVjMGU1ZDhjOGI3NzhkYWNkZDBlZTdhZTMwYjA3NyBsZWdhY3ktdHJ1bmsKKzM3MDc1IGM5Yjk5MzA4YjBlOGNiZjkwZjU4NmYwMmM4Y2ExOTE0NTQ2MjI0NDEgbGVnYWN5LXRydW5rCiszNzA3NiA5NDIzMGY2YjVlYmU1MmY2MzJkMTI3MzJkZjU0ZWFkNzA4YjA4YThlIGxlZ2FjeS10cnVuaworMzcwNzcgZGIxYmFmYTliNjU2MTM2Yjg3Y2U3YmMxMzA0MDUxOTM3NDI2ODkzMiBsZWdhY3ktdHJ1bmsKKzM3MDc4IGQ5NzY1ZWI1OWVkZDc4NTVjYjY2NGNkM2MyNDM3MjVhMGYyYTA3YTQgbGVnYWN5LXRydW5rCiszNzA3OSA4ZDc3MTM0YWFiODJmNDA4ZTI2YjhlYTc4MDk2NGVlMzI2Zjk3NDg3IGxlZ2FjeS10cnVuaworMzcwODAgNmI3NDNjYmM0MTcxMGU2MjY0ZThjZmNiNDI0Y2JmOTE1YmYzMzBmZSBsZWdhY3ktdHJ1bmsKKzM3MDgxIDgyNTJlOTg5Y2JiMTViZjQ3NmI3YWE1MmYyZjA1NDRjZmFjYjE4ZTcgbGVnYWN5LXRydW5rCiszNzA4MiAwNjZjNzg5MGNkNjE1NTMwYWFhZDNhYTE5ODU5NWMyM2IxMDYxZGY4IGxlZ2FjeS10cnVuaworMzcwODMgZDg2MWFhODc0NTI1NTg4N2UxYTYzYTgxYzk1ZmNjY2JiNzBmZmU4MiBsZWdhY3ktdHJ1bmsKKzM3MDg0IDMyMzVlNzM5YmRhMTJlZjE4OTc3YzA4Y2JiMTg1MTAzODJmODQyZjMgbGVnYWN5LXRydW5rCiszNzA4NSBhY2Q5YmYyZTNiY2Y1MTU5YmZmZWQ3OTkyNzk0NWZiYmUxZjk1OGYxIGxlZ2FjeS10cnVuaworMzcwODYgZTYzMDRkNjZkOTQ1YjU2OTc5ZDM4N2I4OWE2MTQzNmNiOTk4ZGFiMyByZWxlYXNlMjMtbWFpbnQKKzM3MDg3IDhhYmQzMjJhMDEzYWI2OGNkY2FhNmRlMzEwNGI5M2VhZGIzZjc1MDMgbGVnYWN5LXRydW5rCiszNzA4OCA4NDkzMTA4MGUwNWNjM2Y5OTk4Yjc1NGJjODkyMWVlOTkxNzc4NjEzIGxlZ2FjeS10cnVuaworMzcwODkgNTdhNjZkNzAwYzdjZmJhYTY2YTNiNDdjZGM2ZWRhMmEzYjYwOTg4OSBsZWdhY3ktdHJ1bmsKKzM3MDkwIDBhOGQzOWFjYTk4YzVmZWNjZGY3YzkxNzYxZTc0MDQ3ZjA4MGU0YTEgcmVsZWFzZTIzLW1haW50CiszNzA5MSBhMWNmNGEyOWFjMzAwNzA4N2VhODk4ZmU5OTYyNTZmMTEzODIzMDNkIGxlZ2FjeS10cnVuaworMzcwOTIgNDBiNWFlZTIwYjgzMTcyZWQzNGI0MWE4MTZmYmE3Y2E2MjliMjI5MSBsZWdhY3ktdHJ1bmsKKzM3MDkzIDdmZWMwNjYyY2Y0YWEyZGRmZTRkYjdmYTBhNTQ5OGRhZTdjMDE3NDcgbGVnYWN5LXRydW5rCiszNzA5NCA5YzU3MGFmNTM1NmU3ZTFiNzZkOTFhYWU0MDNiYzAzY2U2MzhhN2NmIGxlZ2FjeS10cnVuaworMzcwOTUgZGVhOThlZWQ4Y2YwYzhhZmYzNjI4NDExN2M1ODMyNDdmODkzZGJhOCBsZWdhY3ktdHJ1bmsKKzM3MDk2IDY5OTc2Y2Y1OTE0OTVmZTg0YWVjYTllNWJmNTY1MjE0ZWZkODQwNDUgbGVnYWN5LXRydW5rCiszNzA5NyA3N2QzNjQyZWI4N2JlN2E4NzM5NmYxNDEzMWJiMjc1OGI3MzA2MzdiIGxlZ2FjeS10cnVuaworMzcwOTggYWIzNDk4MGZmYTE2OTBhOTUzYmYzMjEwZTNiYTczYWY1NWFkZGFjOCBsZWdhY3ktdHJ1bmsKKzM3MDk5IGY5ZjRiMTlkZDc1NWQ5MDFhYjE5NTc2Nzk1NTk3MWNmM2IxNWM0MWIgcmVsZWFzZTIzLW1haW50CiszNzEwMCAyMmI2M2VkMmQ1YjIyNzNmYmU5ZWEwY2IwOTgwNGU3NTg3MWZkMWU4IGxlZ2FjeS10cnVuaworMzcxMDEgMmUwOTY2ZGJkNjc4YjI4ZWE4NWQ5ZjM4ODE4OWQ5MTE5YTM4YTBlYiBsZWdhY3ktdHJ1bmsKKzM3MTAyIGY5OGU1OWYyZjg5ZDA5MWU0MGFlZjU2ZGM0YjYzNTA5ODM2MDczZmQgbGVnYWN5LXRydW5rCiszNzEwMyBmYjk4NjkwNDRiYmE5ZjcyMTc4OWFjZWNmZWRmZThjN2NmMDY0NjQwIGxlZ2FjeS10cnVuaworMzcxMDQgNzE0Mjc5MTU3OTZlZGMxYzMzNTI4ODllMGNiZTVlOGFhNTg5MDlkYiBsZWdhY3ktdHJ1bmsKKzM3MTA1IDJjYWE2ZjE5YTJlNjZjZWNlOGRiMWJiMGE4YWEyOTFiNDQ3NDUzZjggbGVnYWN5LXRydW5rCiszNzEwNiA1NjE3MDIzNTBlMDk4MDdiM2M1MjhjZjliYTAyOTkwYWJiZjU1ODA5IGxlZ2FjeS10cnVuaworMzcxMDcgY2QyYTk1Y2ZjN2ViNDhhYWY1ZmZhNDNmYjM0MDdlZDE3MDU2MDg3ZSBsZWdhY3ktdHJ1bmsKKzM3MTA4IDM5NWJiMzc0NmQxZDRlMDY2NDc4MjU4Zjc1MGI0MGMyNTAyODJiN2EgbGVnYWN5LXRydW5rCiszNzEwOSA4NGFjYzc3YzA2Yjg4OGE4NmZhNDkxYTAwMmVlMTVjYTU0MTA5MDdhIGxlZ2FjeS10cnVuaworMzcxMTAgMDM0NDAyNzIwMjhjNzk3MzRiOTgxZjJlNTFiMmFmNTcwMWY4MTY0MyBsZWdhY3ktdHJ1bmsKKzM3MTExIDk4ZGIwOWZkNDQzY2Y2N2I1YWViM2U2YTA4YzJjM2EyYTdkZmI1MmUgbGVnYWN5LXRydW5rCiszNzExMiAxZjliOWMyMjZiNDNlZDIwY2I2MWU2ZDIxYWVhNmNiOTY2ZThiY2QzIGxlZ2FjeS10cnVuaworMzcxMTMgYzY1NDMzNGRjOTYxOGVlMDVjZmYyNTgzNzMxYjFkMDVlNjVmNmEwOSBsZWdhY3ktdHJ1bmsKKzM3MTE0IDEyZWY1NmY4OGE5MGJlNTM2OGMyNWM1MzczMzczOGFlNzRmMDdiY2YgbGVnYWN5LXRydW5rCiszNzExNSA5NTc0NGE0MjA4YTI3MGMwNWI5Yzk1NDhjMTExNjU5YmIwZDgzMjNhIGxlZ2FjeS10cnVuaworMzcxMTYgMzc3YzUxOGQ4NDgzNDM5NzZiOTI5NDc5MDEzMmY2M2EzOGYxYzZmMiByZWxlYXNlMjMtbWFpbnQKKzM3MTE3IDhkZDM1ZjVjNzkyODJhNzIyYjY5NTg0ZTE4ZjA2ZjM5NzIwMjQxNzAgcmVsZWFzZTIzLW1haW50CiszNzExOCBiNGNiNDk4MjlkM2VlZWRiMGY0YjFjMjc3MDY4NGVkNWQ4ZjVkODBjIGxlZ2FjeS10cnVuaworMzcxMTkgM2ZiZDJkMWNhNWJiNjBkM2E2NzA5YjE3ZWI5YzFhZjA2NmE4MWQzMyBsZWdhY3ktdHJ1bmsKKzM3MTIwIDY2NDFkMDU0MjU5MjdmMmFmYTZjMTAwZTBmNDI4ZTM1NTIxYzliMWQgbGVnYWN5LXRydW5rCiszNzEyMSAxMWE0ZmJjODhhODAwYzVlMWEzNDhiN2Y1ZmQ0OTYxYjYyM2IzNTRhIGxlZ2FjeS10cnVuaworMzcxMjIgOTkzZmQ4YWNjOTBmMjg0NzMzYTA4OGE1ZGEwZDhkYTM0YWM1ZTZlYiBsZWdhY3ktdHJ1bmsKKzM3MTIzIGI2M2IzMDgyMWVmNDc4ZDkwZWI4YWFlNzA3NDIzZTNiMzI4N2MwN2UgbGVnYWN5LXRydW5rCiszNzEyNCA5NjVlOTZlMTUyOTkwNTYzN2U3YmQ1ZjJmMTdiOWI4MzRjMjczOWMyIGxlZ2FjeS10cnVuaworMzcxMjUgMWNmN2Q3MjI1YTk5NjM4N2M3MDY1NjgxODE0NWZjMTUyMmNjOWU5NyBsZWdhY3ktdHJ1bmsKKzM3MTI2IDdhMWZiMzE2ZTY1NTIyZDE2Yzc2NzRhN2ZiZjJmODA1Y2UyYmJhM2EgcmVsZWFzZTIzLW1haW50CiszNzEyNyA4Y2Q1Nzc5NmE5Y2Y4MTBiYmVkOGUxNzU0MWZlMTQzYjA2OGQwNTA2IGxlZ2FjeS10cnVuaworMzcxMjggZjEwNzJhMzBiYjU4MTA4ZThkNzc2ZTdmYTEwY2QzZDNkYjc3ZmZhNiByZWxlYXNlMjMtbWFpbnQKKzM3MTI5IGIwNDUwNzAxNzJjYjJmNzU5ZTM1Y2E0M2QzY2EzZjVmMWY1OTFhOTkgbGVnYWN5LXRydW5rCiszNzEzMCA0ZTllY2JmNDdiNmJhOTdjOGI3NWMyYWUxZTM1NGQwN2NkODE4M2M5IGxlZ2FjeS10cnVuaworMzcxMzEgZDY3NWUzZTBmZTc5NjhlYzE3MDY0NDg4MzMyZmNiZWFkNzMxMzEzZSBsZWdhY3ktdHJ1bmsKKzM3MTMyIGE0N2YzZDJmZmQyMjE1NGZmNzhkZjk1ZmI2MjhmOGJkMDYzZDJjODAgbGVnYWN5LXRydW5rCiszNzEzMyAwZWQ0ZmQ3YTBlMmUwZjUwM2YyZGVjYjczZGNjYzQyNGI3NzVkZTZmIGxlZ2FjeS10cnVuaworMzcxMzQgMzAxNjQ3MWFlNTQ4OWJiZjk4NzljMWQ3M2NlYzJmYjBjMDNjMjZlNCBsZWdhY3ktdHJ1bmsKKzM3MTM1IDNkYmRiZDU3MmQ5NDEyOTI3ZTg4MzY1MjAzMTBlMDY2MTM1ZWQ5MTMgbGVnYWN5LXRydW5rCiszNzEzNiBiYWM5OTdiNzliMTkyNWQ2Yjg5MmQzZjhiNGNmOTgwYjgzMjdlNWYxIGxlZ2FjeS10cnVuaworMzcxMzcgNGNhOWZhMjM1M2JmYTQzYjM4NmVkYmVkMmJkOTQ4MDRmNWJlMzAyNSBsZWdhY3ktdHJ1bmsKKzM3MTM4IDI3Mjc3MThlOWU4ZjQyNjRmYjZkMTdhMTdkZjE5OGUyYmExY2YzZDAgbGVnYWN5LXRydW5rCiszNzEzOSBhMTJkOTg0YmQ5NjJkOTUyZGNhMDdmYTY0YjQ5YjNkYjlkNDk0YjBlIGxlZ2FjeS10cnVuaworMzcxNDAgOGQxYjRjZDhhMTI0NTRlZjZjYWEwYTljNTAxY2Q1ZTVlMmVjZGI1ZCBsZWdhY3ktdHJ1bmsKKzM3MTQxIDBjNzM0OTMyYzZmNDFlZDJkNTBmZTNjMDY3YzIwYjdkYjdkMjdhNDUgbGVnYWN5LXRydW5rCiszNzE0MiAyYjEzNjQ0MTAzNWM4MzNlZTRiYjI1Y2FhNzhjMmMwMWVjNzhkYjljIGxlZ2FjeS10cnVuaworMzcxNDMgYjI1Y2IyMDQ1ZGFjYjA5N2RkMTEzZWU4YWRkN2MxMTBhZTY3OTZhNyBsZWdhY3ktdHJ1bmsKKzM3MTQ0IDgyNmFkODk2YTdhNWMzNWJhMDRiNTM3MjdjNTJiYTdkMTFmMjZkNTMgbGVnYWN5LXRydW5rCiszNzE0NSA0YWZmMWZiY2U3NTI0ZjFjNDhmOGQxMmIxNzFiMGY5NzRmZjcxMzJmIGxlZ2FjeS10cnVuaworMzcxNDYgZWZmNzY2ZTI5YzU1MjVhMDcwNWYyYmRlNmM1ZGJlN2U5OTJlNjI0MCBsZWdhY3ktdHJ1bmsKKzM3MTQ3IDI3NDdkYmQ1OTM4YjU2ZjhkOTc1MDBlZWRmNDZhMDFiYTc2OTVmZjUgbGVnYWN5LXRydW5rCiszNzE0OCAzNDVmYWM2NmRhYTliMTczZGZlZDJkOGEzOTFhYmMxNWM1NTc0ODk0IGxlZ2FjeS10cnVuaworMzcxNDkgZWU3MDNhMDk0ZGZiZGYxMDBhOWRiZDljMzUwMzdkY2U2OTMyZjNlNCBsZWdhY3ktdHJ1bmsKKzM3MTUwIGU1ODZjYmVjZGViYTYyOTAzM2Q3ODVkMDE1MzM1MTU0Njc5NDZiMWQgbGVnYWN5LXRydW5rCiszNzE1MSA0NDkxNDFhYTAxMWM5YTQzNjEzN2RjOTk5ODMxN2JiOTUxMjk1OTA3IGxlZ2FjeS10cnVuaworMzcxNTIgOGFhZDUyOTZmZWM5NjAzNDcwOTVlMWM0NzVmODA0Y2YyMGY0Njc4OSBsZWdhY3ktdHJ1bmsKKzM3MTUzIGZmODhkYTQwMDc3ODU4OWMzMjkzODJiOWVmZmRlZjJlMTc2YzlmMmUgbGVnYWN5LXRydW5rCiszNzE1NCA4ZDI3NjU1MWNlYTk3MmEwYjdlMWMxNzQyNmE2NDIzMzhlNjUxZjg0IGxlZ2FjeS10cnVuaworMzcxNTUgNGIwMGFlMWVmZGQ4NmRjMzkzNDUzNDkwNGY1Y2YyNjQ5OGU4MDA4OSBsZWdhY3ktdHJ1bmsKKzM3MTU2IDhhNGMzMDU0YTM2Yzk0NmY0ODEzOGRjNmFlOGI1ZjNkZWI3YmFjMzUgbGVnYWN5LXRydW5rCiszNzE1NyA1ZmFiNGY0M2I5NGY3MzcxYjVjMDBkYTk2YmM3ZTg4NjQ0YWJhMjA4IGxlZ2FjeS10cnVuaworMzcxNTggNjdmYmJlYjFlMjE4MWUwMDJlNDEwYTg0YmI5OGY4OTFmMjU1ZTk5MSBsZWdhY3ktdHJ1bmsKKzM3MTU5IGUwN2E2MjM0YjczYjFmNDc3NTgwZmJjYjI3ZGEyNTE1OGM2MDJmMDMgbGVnYWN5LXRydW5rCiszNzE2MCAzZTI1ZDZlM2RhMTk0ODViOWZmOGIwNDkxZTgyNzE5ZTNhNjc3N2FkIGxlZ2FjeS10cnVuaworMzcxNjEgOTZkNTM4NDg4YWVlYWMzYmZlNjYzOWE3OTQxNGI2NzA3NDFmOWRlOCBsZWdhY3ktdHJ1bmsKKzM3MTYyIGEzN2FlN2RiYTgxNGI3M2ZhNTMwMTg2N2E1YzQ2ZWJiZjcyNDMyOTcgbGVnYWN5LXRydW5rCiszNzE2MyBiMjkxMGU0NzlmMDdiMTEwMzE0MzRiMTE1NDQ2NzJjYmJmZTAzZDJmIGxlZ2FjeS10cnVuaworMzcxNjQgNzdkZTM4NTM0ZDI2MzI4NzY0NjNkNWJlYWE5Nzk2Mzg5MDMzMDk3YSBsZWdhY3ktdHJ1bmsKKzM3MTY1IGIxYzI2ZTg5YzQ2NGQ2YTg5YzY3YmFjZWVlMTU5OGU1OTRjYTAwZTMgbGVnYWN5LXRydW5rCiszNzE2NiBlMTliMDA5NzVkNWU4NjJmMGFlYzk4MTVmMjUzNmMzNTk5N2VjMzk3IGxlZ2FjeS10cnVuaworMzcxNjcgNTIxYjg3OTVkZjliZTQ4ODEwMDJhMTc3OWJhM2U1NTA2MWJjYjg3MyBsZWdhY3ktdHJ1bmsKKzM3MTY4IDRiMzI0ODljMzRhN2ExMWQ1YmNhODk1YTY2ZjE3NDQ3NTA4MmZlZDMgbGVnYWN5LXRydW5rCiszNzE2OSA3OGI1NzhjNDY3NzBlNTBlNjAyOGZjYmJlN2Y1NDI2NzJjOTgwNjVkIGxlZ2FjeS10cnVuaworMzcxNzAgN2Y2MTcwMjU1NjVlODBmMDc1NTVlZTkzNzc3MmNjNmFkNzRiMzZhMiBsZWdhY3ktdHJ1bmsKKzM3MTcxIGNkMTU2NDIzMDk0NzhlZDVlMGRhNmQzNTI0Njk1ZDM4MTNmNTI4YTUgbGVnYWN5LXRydW5rCiszNzE3MiBmMjgwNzJlNjRmODE3Njc0M2RjMDM4YmMzYWQ0YmU1MTJiOTFkMGZlIGxlZ2FjeS10cnVuaworMzcxNzMgNTk4MDUwMDE3YjVlNDAxZDAyMDIxMGExYWE0MGUzYjUzODc5OGQ1MSBsZWdhY3ktdHJ1bmsKKzM3MTc0IDg1Nzk4NTlmMTk4Yzc4YWMxNDNlZTY3Y2NjZjkyYTc2OWQ5ZWI1MjUgbGVnYWN5LXRydW5rCiszNzE3NSA1OWJkMTIxZWVlYjcxYzc1Y2VmOGEzYzg4NTNmNzg4ZjI1MDg3MmE5IGxlZ2FjeS10cnVuaworMzcxNzYgYmYwZWY1ZmM0OWYxZTg3NzJhN2ZjZDNkNWY5OTE5NWEwZmQyMzM4ZiBsZWdhY3ktdHJ1bmsKKzM3MTc3IDU0MmE1ZWZhNDg4M2JhMjY2OGQ1YTA0NDQ3ZjQwN2IzNDYyMzQyMTYgbGVnYWN5LXRydW5rCiszNzE3OCAyZjUyZGYxNzM5NTI5NWI2NDI2MzAzOGEwYmM3OGU5MWYwZjdhZmUxIGxlZ2FjeS10cnVuaworMzcxNzkgOTZiYjQ2NjkxZTg2MDYzMmQyMzM5NGIzYmJjYjM4MDA1YTA2NDNkNSBsZWdhY3ktdHJ1bmsKKzM3MTgwIDBiMTgxYmYyMzBjOTNmNjYxN2JiNTAzZmI0YjA1YjE3ODc1NWVkNzQgbGVnYWN5LXRydW5rCiszNzE4MSBjZjBlYTE5ODY5YWY1ZWE2NDk3ZDM1ODhhOGQzYWFiNGJjMTQ2YjU3IGxlZ2FjeS10cnVuaworMzcxODIgYjU3NjEyZjYxYmEzZjNlZGUxYTkyZTI3NWJmMDcyNWQxNWVmMzA0YSBsZWdhY3ktdHJ1bmsKKzM3MTgzIDZkM2JkZDE5YmVlYjM5OTQ2YmM2OTA4MjgyNzhhYzM3NTZjMmI5Y2IgbGVnYWN5LXRydW5rCiszNzE4NCBkNWIwOTc2MDhjOWRlY2FjNWQyMDgzYzhkNjdmODEyYmQwMDM5ZjZiIGxlZ2FjeS10cnVuaworMzcxODUgM2VlNWRlYzBjYTA3Y2NjMzVmZTEyZDE5NTQwYWM2YTNhOGJiODU4NCByZWxlYXNlMjMtbWFpbnQKKzM3MTg2IDFiYTc0NjlhM2I0OWI0ZDBkNGYyZmYxZDcyMWU3YTJhOWI3OGIxM2UgbGVnYWN5LXRydW5rCiszNzE4NyAwMGI4OWFiNDRjZmQ3Y2Y0MGVmMGU0MWE0ZDEwNGQ5ZWQzMTQxNmQ2IGxlZ2FjeS10cnVuaworMzcxODggYTI1YWY2OGQ3MWZjNmQ0ZDc0N2IxMDJhZjExNGM0ZjI5NGViNzVmOCBsZWdhY3ktdHJ1bmsKKzM3MTg5IDE3NjhhZmY5Mjg2NGQ2OGM4YmRlOTc4NWRlYzZjMzIyMTMwOWU5YzMgbGVnYWN5LXRydW5rCiszNzE5MCA3ODdmZmY1MWJmMmFhZDI4MzNhNjNlZTlmNzc4MzYwNjJhMjcwNDM2IGxlZ2FjeS10cnVuaworMzcxOTEgNTQ1MmQ0ZWNkZGQwYzQ3ZmZkYjMyNTA0ZWRjMzg3NDEwMWFhMWZjMCBsZWdhY3ktdHJ1bmsKKzM3MTkyIGZlZTU5MmZiNTY0MzZkOTI5MTk5ODgxY2Q4MDkzNzVhODY2MTgwODQgbGVnYWN5LXRydW5rCiszNzE5MyA5N2ZjYTczNWM4ZGE2ZjlkYjFhOGU3OGZmMmE5NTZlOTMxY2ZhM2QyIGxlZ2FjeS10cnVuaworMzcxOTQgMjA4ODE1MDVjMTQyNzM5MGQ3ZGZhYTc1OTc3NzdhMDI1YjJhODNkZiBsZWdhY3ktdHJ1bmsKKzM3MTk1IGQ1MzhlY2YwYmM2OTg0YWRjZWZiODE3MTQ2NjQ2MDcwMWIyZTcyMjEgbGVnYWN5LXRydW5rCiszNzE5NiAwNjIxNzdkZTg2ODU4YTdlMGZhZTk1YzIxMDlkZjVhZmE1ODBhNTlkIGxlZ2FjeS10cnVuaworMzcxOTcgZmMwYjQ1NzU1NzQzMjc2NTExODU3YWVkM2U1MDlhN2UzMjQ1ZTUwZCBsZWdhY3ktdHJ1bmsKKzM3MTk4IDA0MjQ1ZWY1Mzk0OWMxYmQzMTExNjZkNDlkOWUyZWMxYmMzOWQ3MjEgbGVnYWN5LXRydW5rCiszNzE5OSA1MDVjOTA2Mzg1MGU0YzQzYjBhZjQxNjc3NzE5ZTNiNjQ3M2ZkYmVkIGxlZ2FjeS10cnVuaworMzcyMDAgODRmYmFhYTIwMzU4YTcwZWYxMmUzMjY3MDI0YzRhNGRjYTY3NWJlMSBsZWdhY3ktdHJ1bmsKKzM3MjAxIDA1YzEyNWM5ODc2NzIwNzViNTY5YTNmZDI2NDJkZTE1NjhiNTljNTQgbGVnYWN5LXRydW5rCiszNzIwMiAwMGU2MTk4NTFhNTY5NzQ4YWQ0N2JhMjYwMzZjNDUyNzcyNDNkM2Q2IGxlZ2FjeS10cnVuaworMzcyMDMgYjdhY2I5NzBmNTM2NTEzZDNlNGYxMjMxOGRiZDBhNmVjZTBlMjJjMSBsZWdhY3ktdHJ1bmsKKzM3MjA0IGYzMDk5M2QwNTg5MDhlYjBiN2FlM2UxOWE3OWY1Yjk1OGJkMGRjY2UgbGVnYWN5LXRydW5rCiszNzIwNSA2OGU2OGVkNDZmMGU5YWY3NDJiYTAzMWRmNGVkYWNlNDIyOGUwNTAyIGxlZ2FjeS10cnVuaworMzcyMDYgZDllMDM5MzhhMzMzYmRiOTU0MmRmNTMyNWQ3ODE5YzkzN2Q2M2UwMSBsZWdhY3ktdHJ1bmsKKzM3MjA3IGQ1YzM0ZGJjMzYxODJmOWZlNTRmYTlkMGJiMjNjYmRlODZkZGJjMGIgbGVnYWN5LXRydW5rCiszNzIwOCAwYTc5ZDdhOTA0MGM3NjlhZmM1ZWI5MzQ0ZDBjMGVlYjk5MTg2OWFmIGxlZ2FjeS10cnVuaworMzcyMDkgZTViNGZlOTdmNzRkMTU4NmIxOTA1ZjY1ZWFjOGU3NTcwNjBiZWEwZSBsZWdhY3ktdHJ1bmsKKzM3MjEwIDFhNTRmY2Y0OGZlNGU2NDRmZTE4YWIxYTU2N2I0MmQ0ODc4MDQ1MmUgbGVnYWN5LXRydW5rCiszNzIxMSBkYWQ4Mjc3OTQ3NDVjYmNjZDQxMWNlODQ4MGY1NTIzNDg5NGZjZjcxIGxlZ2FjeS10cnVuaworMzcyMTIgYWRjNjZkMzE0Yzc4ZWQxNmRlYTExZTQ0NWU4YWJhMzM2NmI1MjUwNiBsZWdhY3ktdHJ1bmsKKzM3MjEzIGRkYmExNTRjMGUwMDBhYzQ1NmIwZTczZTU1OTg4YzQ3NWZiYTk4OWIgbGVnYWN5LXRydW5rCiszNzIxNCBjNDRmMDgzNDY1ZjljNWFlZTFhYTNjNjIwNjhlZmZhYzc1MGQ2ZTVhIGxlZ2FjeS10cnVuaworMzcyMTUgY2ZhNzJhOGRlMTQzOTkwY2FhZWJhZWFjZDQyNmQ5YWUzZThlMzUzMCBsZWdhY3ktdHJ1bmsKKzM3MjE2IDEyOGQ1Mjg0NTdkYTU2NWY5NmQ5ZGNmMWY2NDRhNGIzMzY1ZWIxY2MgbGVnYWN5LXRydW5rCiszNzIxNyBmNzQ3NGQzMWJhM2ZhOWJmMGM1MDc5OTQ0NmY5YmYyNzE5YmY0ZDZjIGxlZ2FjeS10cnVuaworMzcyMTggMjNkZjZjZjI5NjUwZDQ1YWFlMWM2YjYyYTdmOWVlNTViYjJiODJkNCBsZWdhY3ktdHJ1bmsKKzM3MjE5IDk5OWQzMWNhOGExOWY3ZGUwNzE2YjNmN2I4M2JiMzBlMDUxNzc2MGIgbGVnYWN5LXRydW5rCiszNzIyMCBlNTYxOTJlOWZkN2U3ZTQ5M2ZiMDAyNWE2YmUxZTJlN2UxNmY5ZjhjIGxlZ2FjeS10cnVuaworMzcyMjEgMWRmYzk3ZTJhY2RmZTRlZDA3MGY5YTI4Y2RmZDM3NzUxYzFhMjRlMiBsZWdhY3ktdHJ1bmsKKzM3MjIyIDk2MDQwMjUwNjk0MDcyYmI5N2Q4MGVjNDg5YjJhYTkyOTViMGQwMjcgbGVnYWN5LXRydW5rCiszNzIyMyBjOWE4MmU5YjdiNGQxODUxNmVhMmNjMGQyNGU4YzVjOWNjYjRiZjM0IGxlZ2FjeS10cnVuaworMzcyMjQgYTZlYWMzZmU1NDJmOTMwYzhlNjEzMTU5M2I0ZjNlY2FiMGNlN2JmYyBsZWdhY3ktdHJ1bmsKKzM3MjI1IDAzYmUwNmJjYTE2MGZiYzljOWI1OGE4MzEzYmUxNTM0NjI5NGNkOTMgbGVnYWN5LXRydW5rCiszNzIyNiAyNjhjNWY4M2ZiODc3YWE0MTcwM2ViM2JlZDU4ODhiOGU0ODRhMjM5IGxlZ2FjeS10cnVuaworMzcyMjcgMjZlNDIxMTg2NWVkN2IzOTBmNGU5NDExMjg5YTZmZmQ1NjZlNzNjYiByZWxlYXNlMjMtbWFpbnQKKzM3MjI4IDBmNTNiYTE1OWU1NGUyMWVmNTU3YzA0Njg0YzhlNjZmZWY3NDZmMDQgbGVnYWN5LXRydW5rCiszNzIyOSBiMTBiN2I3YWZjMDBkOWIwOGNlODMzOTNiZDQyMDRhMDU2OTQ1MzRhIGxlZ2FjeS10cnVuaworMzcyMzAgMzU0MGUxMDUyNWExYWVjNjdiYjE2MDNiZjg4YTFjNTg4N2JiMTcyMiBsZWdhY3ktdHJ1bmsKKzM3MjMxIGQwYzAxZTBmZTI0OTY3NTdkY2I2ZmYwYjg1YWVlMWMzYzk4N2JkM2UgbGVnYWN5LXRydW5rCiszNzIzMiBkNDEyNTZhNmYyY2VjY2VjZDIwMzE0YmIzNDRkZDUzMTJmNjc3NDkzIGxlZ2FjeS10cnVuaworMzcyMzMgNWYwYzdmNWNhNmY5ZjExOTQxMTFiODc5NzU4MzczMzJiMmFjYjI4MCBsZWdhY3ktdHJ1bmsKKzM3MjM0IGFmNjUwMDRmNjIyZmEwZDg4ZWNhMDMzN2ZhZDcwNjI1YTA2MTNjMTkgbGVnYWN5LXRydW5rCiszNzIzNSBhZDQzZGYxOTc4NGM1ZTQ0ZDE3NGUxMzc5YWY2Yzc2ZGEwM2U5ZTE3IGxlZ2FjeS10cnVuaworMzcyMzYgYjIwZDQ1NTU4NjUzNmQzNDJjZjdhMmU3MTU2ODQwZjc5ZjViNGY3NSBsZWdhY3ktdHJ1bmsKKzM3MjM3IDc2YTliZGEzMDI4ZTg2ZGE0OGFhZmM1NTgwMzg1OWMyYTkwZjI1ZDYgbGVnYWN5LXRydW5rCiszNzIzOCBhZGEyYTY2Yjg2YTRhMTdiODUxYzFlZDA0YTU5NjEzYjM0YTllMTAzIGxlZ2FjeS10cnVuaworMzcyMzkgMTI0NjQyMjIwM2U4Nzg2NTJjNTAwZGE5MGI0MWU2NDlkYTQzNzZlYyBsZWdhY3ktdHJ1bmsKKzM3MjQwIDk0NjVmZTY3ODIyMjY2NDNkNmM1N2VkNTE1YjJjNWQ5N2VmZTc2NzEgbGVnYWN5LXRydW5rCiszNzI0MSBhZWUyZWU3NDVmMmM1ZDk4ZDg2YzA2MjczZTY5YmJmOTczMTMxYWRlIGxlZ2FjeS10cnVuaworMzcyNDIgNzU1MWM3MjVmZTk2YTAxYTI0MDY5Mjg2ZDJjOWNlODZmOWRmZmE0MyBsZWdhY3ktdHJ1bmsKKzM3MjQzIGZiNjE0MDMxODBhODVjNDc2OTBhNWRiNTQ5NzQ3OWYwNjAzMzA0ZTIgbGVnYWN5LXRydW5rCiszNzI0NCBiZmZkNDk0MzU0ZWU3MDJhMWI2OTk0MzMzNmY5NDIyZTQ0NjQ2MWNhIGxlZ2FjeS10cnVuaworMzcyNDUgZjAwNTNhNmEyYmVkZGRiOTk2M2Q5N2Q5YzY0NGEwZWJiZDk1ZjQ0MSBsZWdhY3ktdHJ1bmsKKzM3MjQ2IDNlMDYyODk3ZDJlN2E5MTA3MzQ2MmQzY2MwOTc2YWVjYjY4ZjE2ZTIgbGVnYWN5LXRydW5rCiszNzI0NyBkZjQ3NzBiN2NhZWZiNDdiOTk5ODE0YzFiYmY3YzlhYWZiYWZhZGM1IGxlZ2FjeS10cnVuaworMzcyNDggNDM4NTJjOTYzMTYwNDE0OTI3MWQ0NDc0NDk2NDE5ZmJiMzljYjNjMCBsZWdhY3ktdHJ1bmsKKzM3MjQ5IDlmMmRkZGU5M2E2Mzk1ZDYyZGM3MjNkNWNmYzYyMDg1YWM2M2E2YzYgbGVnYWN5LXRydW5rCiszNzI1MCBjMmM0OWVlNzI3ZDBkZDM0NzdiODhkOWFkMDViNGQ5OTg3MTQwZTRlIGxlZ2FjeS10cnVuaworMzcyNTEgOTQzYzIyYTdjNzAxYjI3MzBiYjVlYTllMjZjYThhYzY1ZGUzYzE4YSBsZWdhY3ktdHJ1bmsKKzM3MjUyIDExMDA2MDU4NzBmZWI4YzdhOGMxMjRjMDE4NzgxNGEwMzg1OWVmMDggbGVnYWN5LXRydW5rCiszNzI1MyBjOTE2OGU3OWVmNGNjMmRiMmVkMWY4MGZkN2FmMDE5OGFiMzYyNzcwIGxlZ2FjeS10cnVuaworMzcyNTQgZDExM2M2MTM1NjdhOWU1MmMwN2M0ODlkYjY4ZjNjNjA1MDUwMzYyMyBsZWdhY3ktdHJ1bmsKKzM3MjU1IDIyODExNDBkMjBjNzVjM2UyZDA4NzdmYWMzZTdlYTQ2ODY5MTRlOWQgcmVsZWFzZTIzLW1haW50CiszNzI1NiBmODNjNWE4NTc5Zjg0OGI3YTA1OWMzNWIxNjZiMTZlNDQxYzFiYzUyIGxlZ2FjeS10cnVuaworMzcyNTcgZWI5YjM4MDI1M2M5OWQyMDM1YmZhZjAyNTlmMTU5MTA3ZDdmZWM1ZSBsZWdhY3ktdHJ1bmsKKzM3MjU3IDE4NmI3MjU1MGU1MzUzM2VmNjE3NWY2NDExZjkzMmMxMjk4MTkzZDcgbGVnYWN5LXRydW5rCiszNzI1OSBiMTRmN2VlMjVkNTBhOTM0ZmQ1MmNmMTViOThhZGU2Nzg2ZDliODBkIGxlZ2FjeS10cnVuaworMzcyNjAgNTM0NjkzYmIwMTBiYzJmOWJlNjdjMGQxMDJiMzFlNzVjZmY2MTgyYSBsZWdhY3ktdHJ1bmsKKzM3MjYxIDk4YzgwMTdlODUzNWI5MjdlZTFjNmFiMzk2YWQ4MmFkZDAyMGZkNDIgbGVnYWN5LXRydW5rCiszNzI2MiBkMWY4YzYzMmI2MDVhNWZiNjBhMGM0YzdlNzgzMTk1NDkwMzA5ODY1IGxlZ2FjeS10cnVuaworMzcyNjMgM2ZhNzljYzlkYTVkYTI5MGUxMDQyNzQ0YWE5N2U1NDY0OTY1YWU0ZiBsZWdhY3ktdHJ1bmsKKzM3MjY0IGI5OTQ1MzM1ZGEyNzJjMjg2MzFkZTViOWYwYjNiNTU5MjNjMGRjOWQgbGVnYWN5LXRydW5rCiszNzI2NSA0NzQ1Zjg0N2NmYTE0NTE0NTUxZDgyOGUzNGI2MzNhN2E2Y2ZjMTNiIGxlZ2FjeS10cnVuaworMzcyNjYgZGYxY2Q0MDcyMTc3ZGQyZTU2ZmVhMTE0ZjEzOTA3ODI4NmRhMjk0YyByZWxlYXNlMjMtbWFpbnQKKzM3MjY3IDVlZDU2NDkzZjBiMDE2MDM1M2IyYzU3YTQ3ZWZlOTc2YmQ0NzA1ZjMgbGVnYWN5LXRydW5rCiszNzI2OCA5N2MyMDdkYjkwYTFkMDdkYjY5ZWJiODRmNTkyYjQwNGUwMDFmYTBiIGxlZ2FjeS10cnVuaworMzcyNjkgMjFjNzkzNDBkZWQ1ZGUwMDM4ZWJiNzhkYjMwY2IwZjE5ZDk4NzdiZiBsZWdhY3ktdHJ1bmsKKzM3MjcwIDQ4M2MwYjRiNjMzMjhmMjllNzllNzk1YmM4ZTk4MTgzMWJkYjcxNDUgbGVnYWN5LXRydW5rCiszNzI3MSA2ZmYxYTViY2RmMjJkNDMwNGU1OWVlMTNmNTBjMTkxYmJjYTY1MzhiIGxlZ2FjeS10cnVuaworMzcyNzIgMDc4NDU1NjgyODc1NzJlMDhmZmE2NzA4YTdhNWE0Y2MwNDJkN2Y2NiBsZWdhY3ktdHJ1bmsKKzM3MjczIDhlMjNiZDNkNWIxYTcwZmFhZWMwODNhN2VkZmVkZmYwOTIxZjk0ODggbGVnYWN5LXRydW5rCiszNzI3NCBmYzJjZTU4MDIxNmM4ZGNlZWRhZTgwYWQ3YTJjZTI3ZDJmNDVmMDM1IGxlZ2FjeS10cnVuaworMzcyNzUgMTM2YjM4ODU2OWEwYzQ2MGM2Mzg4OTJhYWVjOTIwNzkyZDZmOWFiZCBsZWdhY3ktdHJ1bmsKKzM3Mjc2IGMwOTMxOGIwMDkwZDZiOTdiNTViMjA0YzI2OThkNGExNDQwZjNjOTggbGVnYWN5LXRydW5rCiszNzI3NyBlMWFiMmMxMmNkNWVmMjVmMGQxODlkMGMwYjYwMThiNzY1MGQ0NWYzIGxlZ2FjeS10cnVuaworMzcyNzggODM4MWQwNzNhZDM4NmIzMTNjNDgxNDRlMmFlOGFlODMyMGYwZmFjNiBsZWdhY3ktdHJ1bmsKKzM3Mjc5IGRjOTdmNTgxZjIzMzQxMTY0MzQ4ZTRhYjNkZjA2NTI5YjczMDA4MTMgbGVnYWN5LXRydW5rCiszNzI4MCA1YjZmYmE2NDU0YTA5YWE4NzBjZWI4OGUzNmVhZjMwNTM4MTBkZTZlIHJlbGVhc2UyMy1tYWludAorMzcyODEgYWQwMGY3YzBhZDA3NDI2ZWQzMjJiMDdiYWUyMzFkNTY4MDQzOWFmYSByZWxlYXNlMjMtbWFpbnQKKzM3MjgyIDc2N2EzOGRjYjMwMDk0NDZmZWVmM2JmY2M1NGU4ZDY4OWEyZjYyMzAgbGVnYWN5LXRydW5rCiszNzI4MyBkOWEzM2VjYmM3ZjI4YWFhYjA3MTY3YTliMjFhNTkxYThkZTUyYTBhIGxlZ2FjeS10cnVuaworMzcyODQgMzBlMjczODQxYmFlMGIzOGQwNjhlMmJiMGZlNWNkZThjNTU2NjQyNiBsZWdhY3ktdHJ1bmsKKzM3Mjg1IGI2ZTg3NWFhNTA4YmY4MjAxZDc1M2YzNTg1YjkzMzE3NGVlNzJjYjQgbGVnYWN5LXRydW5rCiszNzI4NiA3MTA4M2ExNzI1Y2JlNzg3Y2JlNWIyMGM4NDQ1NTg4Mzc5MGMzZjY5IGxlZ2FjeS10cnVuaworMzcyODcgYjVmNjExODMxN2QwZDAxNWRhNTkxZGE3NDQ3OGU5NzEzMjc1OWM5ZCBsZWdhY3ktdHJ1bmsKKzM3Mjg4IDY5MzI5NDNkZTZiMWY1OWJmNzY1Zjk2NWQ3Zjc4YWNjZDk1NTAwMjEgbGVnYWN5LXRydW5rCiszNzI4OSAzYWZiNjdkOTc0MmI3ZGNmNjI0NWYxNzFhMTk0YmY3ZTRlM2M5NzhiIGxlZ2FjeS10cnVuaworMzcyOTAgYWI2MmY3NmNhOGUyY2MzODY1ZmNlZmJlZmViZjk2OTViNmQ1ZTk5NiBsZWdhY3ktdHJ1bmsKKzM3MjkxIDg0ODBiNzJhYTYyNGRhMzM4ODIzNTc0YTMzMTNiOGViYTYzODBlOTkgbGVnYWN5LXRydW5rCiszNzI5MiA1NzQ3OGExM2ZiZjY0NGQ1MDNkYTY2YjI5MTExZGIyZjk2MGMyOWIzIGxlZ2FjeS10cnVuaworMzcyOTMgMjEzODNmYjFhOGYyOTFjY2I5N2QxMzI5NzFmNzQ3YWM3YmFlMmQwNyBsZWdhY3ktdHJ1bmsKKzM3Mjk0IDk2ZDNlZmI5NDBjZjM0M2MyMWIzOTU4MjA0Y2YyODZiODc3MDgxZDcgbGVnYWN5LXRydW5rCiszNzI5NSBjZDA3MGZmYzg5MmQxNDAwMjlkZDYyYjUxYzAzNThkMjUxYTg4MDBmIGxlZ2FjeS10cnVuaworMzcyOTYgNGI3MDhmYTBhNjBhYjVkMTcyYjg3YjUxM2Y2M2EyNTBlZTUxMTkyMiBsZWdhY3ktdHJ1bmsKKzM3Mjk3IDA2YWJkY2Q1N2ZhOGQzOWMwOGNkMzc5OWNjYjdmM2M0MWQyMzY0NDcgbGVnYWN5LXRydW5rCiszNzI5OCA2ODUzOGUxMjRlZTBhOWIzZmU2MzE4ZjZiMGQ2YzUxNDE4NzI0Zjk0IGxlZ2FjeS10cnVuaworMzcyOTkgMzA2OTdmNDQ2Mjg2ZDA5MWU5OWVmZjg4Y2ViMjQwNWU5YTg2YzNjNCBsZWdhY3ktdHJ1bmsKKzM3MzAwIDg5N2EzNjNmMGU4NmZhYTdjMDVmYmVjOTAwMTUwODBlOTlkZWVjZWEgbGVnYWN5LXRydW5rCiszNzMwMSBmYWMyYTUzOTA2ZjE3MDUwNjVhOWZkMDg2MzE3YWRjMWI4YzlhNTg3IGxlZ2FjeS10cnVuaworMzczMDIgYTI0MzI5Njc4NmNlNzg0MDEyMGU1Mzc3M2QxNDRlYjVhNjQxOGM2YyBsZWdhY3ktdHJ1bmsKKzM3MzAzIDYyOTIwMGQ4ODBlYTI4YmFjZGMxNzVkZjIxNmFhZmI1OTFlYjQ3ZWQgbGVnYWN5LXRydW5rCiszNzMwNCA1YjMxYjRjM2I3YmFjNWQ0MWMwYTEzMGE5NTUzNzAxNjVjMzllNTlmIGxlZ2FjeS10cnVuaworMzczMDUgZTQ0ODlkNTZmMTA5MDIwNzQ3MjhjNWJmNGYwOGYxOWEyOTQ1OThjNSBsZWdhY3ktdHJ1bmsKKzM3MzA2IDRkYWE3YzcyNWE3OThlZWNhODc4ODMyYzZmYTI2YzQ1NTJmZTlkMDAgbGVnYWN5LXRydW5rCiszNzMwNyBmMjRhN2ZhMzhmNGY5MWJlZmI3OGVlNGY0ODk0ZGVmYjBjMjMwZWJiIGxlZ2FjeS10cnVuaworMzczMDggN2JmNDNiZTgyOWY3ZTdhNGRlNDQ5YmVhZWQ4MTdmZDllNmJmYTcyYyBsZWdhY3ktdHJ1bmsKKzM3MzA5IGNhZGNiZjk2MmExZmQ2N2E0MmMxNmFkNzNjNDc1OWM3ZjJjNzRmYTYgbGVnYWN5LXRydW5rCiszNzMxMCA2ODhkOTgxYzYyMzRiMTM0NTVhNjY5YThmZmU1NDVkMzQ2Njc4ZjBmIGxlZ2FjeS10cnVuaworMzczMTEgNjRkNGU3OTZiM2RmMTI2ZTY0MzNmMjhhMDU2NWZmNWU2OGIxMTdiZCBsZWdhY3ktdHJ1bmsKKzM3MzEyIDU1NzBmYWUxZjAxY2QwNTNhMmQ3MWNiZWRjZDc3YzdlMTllNmU5NzEgbGVnYWN5LXRydW5rCiszNzMxMyAzMjQ2OTNlZjMyMGE1ODc2NDViMTI1ODhhYjNjYTJhMWExMTU4YjdlIGxlZ2FjeS10cnVuaworMzczMTQgODE2MThhN2Q0OTBlNzFkODE5ZDRmYjhlMGZlOTY3N2U5YjQ1OTQ2ZSBsZWdhY3ktdHJ1bmsKKzM3MzE1IDI1ZmI5ZTVmNWY0NTMzMzMwN2FiOWVhNDU0NWMzODczYWY0YzEwZWMgbGVnYWN5LXRydW5rCiszNzMxNiBlODMwOTNhYmM5NThkMDRmYzVlMzkzOTU1MzQxZjJkNWU0ZjJkZWJlIHJlbGVhc2UyMy1tYWludAorMzczMTcgN2E3NTE2ZTZmZWIyZjVmMTNhYjZlZjg5NzA1MTVmOGIyMjI0NzI4NyByZWxlYXNlMjItbWFpbnQKKzM3MzE4IDNkYWE2NjMzZjAxN2VmNDdmNjhmYjAwOGNkMDVkMTVmM2QwNmU3MzMgbGVnYWN5LXRydW5rCiszNzMxOSA5ZTNjNTJjYTNhMDRkM2YxMjFmMmIzZmRjYjc0M2VhNTM1NGI2NGYzIGxlZ2FjeS10cnVuaworMzczMjAgNDg3MjgwY2Y3MWI5NWQwMjE5YTgzNTU1OWE0MDNkYzhjODNjYjE4YiBsZWdhY3ktdHJ1bmsKKzM3MzIxIDAxNmQ3MDE2YzZjNjNkNTA1ZjkxOTA4NDU1MTJlODgzMjM0YWEzZDkgbGVnYWN5LXRydW5rCiszNzMyMiA5MWM4N2NlYTc3NjcxMTYwZGE5MDMzZDc2M2M5YTFkYTZmNmUxNzA2IGxlZ2FjeS10cnVuaworMzczMjMgOTQ5N2M1ODEyNmJlNDAwYWZhYTdkMjdmZGE5YTZkZDYxYmE3NWJmMSBsZWdhY3ktdHJ1bmsKKzM3MzI0IGRjZTYyNDkzM2MzODdlYzMzYjljZmYzN2VmNDY1OWZlMjY4NmE0YzYgbGVnYWN5LXRydW5rCiszNzMyNSBjODgyNWE3NGU0MjFmMWZiM2VjOWFjYWQwZDM4M2Q1NWU2OWJjMDgwIGxlZ2FjeS10cnVuaworMzczMjYgNTg3NjYzNmNhOGM2Y2NmYjE0MDI0NTM1YTgyMjVmYjgwYjdlZDZhOSBsZWdhY3ktdHJ1bmsKKzM3MzI3IDI4ZWY1ZmUwYjhiNWRlMzE4OTg0NDRhODcyZGRlMTFiNTYwZWJkOTYgbGVnYWN5LXRydW5rCiszNzMyOCBkOGEyNjFhNzcwMjgzYjAzMTRhZDc4ZWNkODBkNGI5M2IzODYxMjdiIGxlZ2FjeS10cnVuaworMzczMjkgZWI1MTcyOGVkMTFmMGUzMDhmZjA1NWNjN2I5MjFlNWI5NWVjZmM5NSBsZWdhY3ktdHJ1bmsKKzM3MzMwIDQ3N2NkMGY2MjJiOWVkYWViMWQxNGU3Mjg5ZTIxOGMzODJmNGU0ODEgbGVnYWN5LXRydW5rCiszNzMzMSBlMjNjYTk0ZWQ4ZWRiMWYxZDczMTM4YmIwMGRjYjExODRhMGJhM2Q5IGxlZ2FjeS10cnVuaworMzczMzIgYTA0NTE1YTk4ODMxNTkyZTIwOGU1NjdlZDZiZjExMmMxMTRiYmIyMCBsZWdhY3ktdHJ1bmsKKzM3MzMzIDkyNWNmOWIzMjg1YmZiOGEzOTE3Yzk3NmZmZWI3MGUyOGVjNzYyMTAgbGVnYWN5LXRydW5rCiszNzMzNCA3NDczYTE5NWQyMjMxMjIzODIwZDQ5MzBiMmI3ZDQ0NGMyYzk4MDYzIGxlZ2FjeS10cnVuaworMzczMzUgNDFkYmVlNWVkMjk1ODZjYjk4NDNmMGMxMGQ4ZWM0NzA5NmQ5MzQ1ZCBsZWdhY3ktdHJ1bmsKKzM3MzM2IDM2NzY3ZmUyNDI1MmIxNGRhMTRjMDUzMTlhNTMzMDQxNzJjNWJmNzkgbGVnYWN5LXRydW5rCiszNzMzNyAzZjg2ZjJiYjliNTZlODQ3M2M0ODIwNDIzZDIyNWZlNWJlNjY5OTVjIGxlZ2FjeS10cnVuaworMzczMzggN2ZkMjJlY2RjOWRiMDkwMzUwZDI0ZDg3NjlhMGYyNjA2NTg3ZTYwOSBsZWdhY3ktdHJ1bmsKKzM3MzM5IDRkMTY3ODViYTVkYzFjNGJmZDdiMWE1MjEzNTVjZDIzNmU3MGNhNzggbGVnYWN5LXRydW5rCiszNzM0MCBlODA4Y2QzMWZiZGM2YTA5ZWExZjMxZmYxMWI3ZTY1MzRiMWM0Zjk2IGxlZ2FjeS10cnVuaworMzczNDEgYTIyMDA3MzUzNmQ2OWE3NTJlN2FkYTgyNWMzM2VkNDk2MDFhMWViYiBsZWdhY3ktdHJ1bmsKKzM3MzQyIDFiM2FjNjc0YTU3Y2JmZmIzM2RjNjY4OTc4MjFhOWYxMjA5YTdhYWMgbGVnYWN5LXRydW5rCiszNzM0MyBiODdlYWE0NmM5Y2JmMWRlNTU3NmEwMWQ3N2VlNjRkMTcwZTJmZmJmIGxlZ2FjeS10cnVuaworMzczNDQgNTM3M2E1YWViODAwMjJiM2VkMzBlYjMwODI4MzY0ODE1YmNhN2JiNSBsZWdhY3ktdHJ1bmsKKzM3MzQ1IGVhY2RjMjk2MDZkODE0NDkyZTc4M2JiZDY5ZTE3YjhmOGU1NGRlY2QgbGVnYWN5LXRydW5rCiszNzM0NiAyNjIzNjY4YzVmZjViNGQ2MDg2ZmFmOGJmNzIzOThjOTBmMmU4NjkyIGxlZ2FjeS10cnVuaworMzczNDcgYzkzZDJiZWM2OGJlYzQ4YzVkYTYyMjdkZWIwOWFiZjQ3NzA2MDZmYyBsZWdhY3ktdHJ1bmsKKzM3MzQ4IDE4YzdjMTdjY2Y4NjMxNTc1NGZmZjY5ZGQ4NzZkMDY4ZWUxMGI3MjAgbGVnYWN5LXRydW5rCiszNzM0OSA4MjNkNjQ1YjMyYmZlM2YzNmY0Yzk2NzBlNzgxZTRjYTFiYzIyMGFhIGxlZ2FjeS10cnVuaworMzczNTAgNTNjMTM1N2M5YzYzZDU0ZTgyYmJiNTBmYzQ5ZjkwMzRmMjJmYjExOSBsZWdhY3ktdHJ1bmsKKzM3MzUxIGNmYjJmNWUwOTc0MDkzNjY3NzI0ZmY2NTM4MWRiMDhjNDYwMTg0ZWIgbGVnYWN5LXRydW5rCiszNzM1MiA3MWVkNGIzNWZkYzQ4ODc2ZDFhYmU5MTM5YzhlODZlNzFlOTlmNDAwIGxlZ2FjeS10cnVuaworMzczNTMgNGNiMTAxNjUyNWI3ZGVmNWJkNjY5ZjcyMGJhY2FiNWVkYjgwZmU3MCBsZWdhY3ktdHJ1bmsKKzM3MzU0IDczODViYTI2ODBlYjcxYmY3OWZjNTg1YzI5MTFjNTU2ZWM5M2UyMzIgbGVnYWN5LXRydW5rCiszNzM1NSAwYzI5OWNhYmY0ZjA2Yzg0N2RhNTI0M2I2NGViMmI1MDI3MGMxN2RiIGxlZ2FjeS10cnVuaworMzczNTYgMjk0ZDM3MGU0M2QxNGRkOTE1NGJjN2VlMjkxYjlkYjQ0ZDU4Nzg0YSBsZWdhY3ktdHJ1bmsKKzM3MzU3IDQzMzYwNmU5NTQ2YzM1YjhlNmI4M2U4NmM2ODk4ZjFjMjRkODVlNzggbGVnYWN5LXRydW5rCiszNzM1OCBkOTg0Y2I3ZTIzNTIzNmZhN2ZmNmU2MDYyODUzMGEwMWQ1NGE0ZjI0IGxlZ2FjeS10cnVuaworMzczNTkgMmQ2ZTE4NTQwODJlOTQ4NTQwMDk0MDNjZDU2MTliZTA3Zjk4Y2JmMiBsZWdhY3ktdHJ1bmsKKzM3MzYwIDllMmI5NGEzYjVkY2MwZjE4ZmI5M2Q1ZGQwZmI0NDVkOTgxNmJkMzUgbGVnYWN5LXRydW5rCiszNzM2MSBjM2FiNmY0MGI2ZThiYjJhYTMzMTg2NDQ4MTk1ZWExOWRmYjIyN2U3IGxlZ2FjeS10cnVuaworMzczNjIgYWJiZGJiYTU2YThiNzNkMDM1Zjg0MGI1Yzc3MzY5M2Y1NjEwM2Q3YiBsZWdhY3ktdHJ1bmsKKzM3MzYzIGE0ZDM2NzNiY2Q2NjQ3MzA2OGIyZWVhNDYzNDcxOTJmYjBmMGRmMTYgbGVnYWN5LXRydW5rCiszNzM2NCBkYTFkYTMzMWY2NGVmOGVkYmY5NWJlNzFhMzU5NGQ2NmY2YzM5ZDZhIHJlbGVhc2UyMy1tYWludAorMzczNjUgYWY5YmVkZDVhOGU3MjEwNjdlMjY0ZmNiYTI3NGUwZDlhODhmYmM0ZCBsZWdhY3ktdHJ1bmsKKzM3MzY2IGE3MGIzZWUyZTMwYjg5ZjU5YjA4ODMwOGI1YjRhYWE0YzAxMmE1MDAgbGVnYWN5LXRydW5rCiszNzM2NyA0NWM1NzQyYzFlMTNjYTRiM2ViNGZjYTk4MWMzZDYwZDlmNDBjMWZlIGxlZ2FjeS10cnVuaworMzczNjggNzhjMWMwMzc3OTYzN2ZjNjQwNjJkYmZkMjAzZmI5NjdkN2ZlMGI0NiBsZWdhY3ktdHJ1bmsKKzM3MzY5IGNjMGFlMDM3NDNiOGUyZGEzOTI0NTA4ZjA1MmY5OWEzOGRiMWM4MTggbGVnYWN5LXRydW5rCiszNzM3MCA0YjgxOThhNzQ4NzMxMmI4OTUzNGJmZWJmOWQ4NTQwYTVhMWUxNTgxIGxlZ2FjeS10cnVuaworMzczNzEgNzI1YzQ0NDIxYTQyZjU5Yjc5ZTM4MjZiMmEwM2Y0ZGZjODhkZDUxZiBsZWdhY3ktdHJ1bmsKKzM3MzcyIDk0ZjUwMGViZjYwYTQ1ZjZlNThjZDExNWU0ZDlkODAxN2ZjYjZkZmUgbGVnYWN5LXRydW5rCiszNzM3MyAxZjU0MGJmOWE5YjQwMjdiZDgyY2NkNjIwMDVlNWQ0ZGUwZDRhMzUwIHJlbGVhc2UyMy1tYWludAorMzczNzQgMzIyMTg0ZWY3NjIyZDY3ZjNhMjEwOGQyN2QwMmM0OWY3NGI3MzEyYSByZWxlYXNlMjMtbWFpbnQKKzM3Mzc1IDAzZWRiNjNhZTA3MThmNGY1YWFiMDlkM2Y1OGY5YzE1MzRlNzliMmQgbGVnYWN5LXRydW5rCiszNzM3NiAxMWQ0NTAwYmU2ZmE0MThlNTlmMDJiNWE1Y2NjNGMwYTMyMGMwMjZmIGxlZ2FjeS10cnVuaworMzczNzcgZjQ2NDA4MTVlNWJiNTAwYWQzMzc4MTU3YzUxNzQ0ODc5N2ZmMDhlMiByZWxlYXNlMjMtbWFpbnQKKzM3Mzc4IDZiM2RhNDdiZGRkNjhhNDQ1YTE3MjdkZDQ3NTNiMjk4MmQwYzY3MDQgbGVnYWN5LXRydW5rCiszNzM3OSBhNzcyNTdlNTQ5OTZhYWY1ZWMyZTAxMmE4YWRlYmU5YzY4NzBjMzk5IGxlZ2FjeS10cnVuaworMzczODAgZTllNjVlZjk0NmVjYWQyNmQ3ODc3MGJlY2EyNmVkZTgwNmNlNWI4NSBsZWdhY3ktdHJ1bmsKKzM3MzgxIDMwMTI2NWI4MGM0MTQ0MmNiZTI4YjBmMDZjMTNlNTQ2NDFhMDQwMWEgbGVnYWN5LXRydW5rCiszNzM4MiBkNTI5NjE1OWYxMWNmNGRhNTBmNDVmM2U2MWEzNmIxNzkzYzg4OGM2IGxlZ2FjeS10cnVuaworMzczODMgMTM5YTQwMTJiZWFkYWZjOTM4M2UwNTkyMjY1MTlhNmI3NDY4YjRiZCBsZWdhY3ktdHJ1bmsKKzM3Mzg0IDNlMTdhZWQyMzI0YzMxN2MwMWRmZTgwMmFmNGUxNWJjNDdmYWZhZTkgbGVnYWN5LXRydW5rCiszNzM4NSA1NWVjYTdjZDM1MzFkYzZhMjhkNjQ3OGY0OTczYmJlODczZWMwMTcyIGxlZ2FjeS10cnVuaworMzczODYgMDZmMjgyMzhkZjMxMTU5YzI2YThjYTRlNTU4MGFhMDAxN2U4M2IxMiBsZWdhY3ktdHJ1bmsKKzM3Mzg3IGQ4MzY3MGYyNGQ1Y2MyYzNiNGE0MjgxOWZiOTQ2NTJmODllNzNlYTAgbGVnYWN5LXRydW5rCiszNzM4OCAzMGQ0MjhmOTkyZjlhOTcwYTFhNWJhMWMyNjBjNmNlODk0NjE5YzQ5IGxlZ2FjeS10cnVuaworMzczODkgZDNkNmQ0MjAwOWE4YzQ3YTU4OTkyYjU4YzFjNjE3OGNhMGZiNWZkNSBsZWdhY3ktdHJ1bmsKKzM3MzkwIDE3NWVlZTA5Y2I5ODE4MGFiODk5YWE4MGNkYTRmNjExNDhlMTNjMGIgbGVnYWN5LXRydW5rCiszNzM5MSAxODA5YWJkMzkzNDI2Mzc4MDA0ZDkxMzQ3MjA1YzJmYzk1ZDFjNmI4IGxlZ2FjeS10cnVuaworMzczOTIgYTNmYjVlYmNhMzBkNzFkNjNmYTZjNzk0NWEwZTU1NGYzNTI3Y2NmZiBsZWdhY3ktdHJ1bmsKKzM3MzkzIDI1ZTA3YzQ0ZTVkMDViMThlZDgwZGRlMDhjYTQ1ODMzMWI5NDQ5ZjQgbGVnYWN5LXRydW5rCiszNzM5NCA4ZjY0YTg0ZmE4ZTZiZWY3MmNhOGZlYmZlYmVkNGY1NWFjZTNmZTIwIGxlZ2FjeS10cnVuaworMzczOTUgNWFjOGFmZDhkOTA0MDY1Njk4ZjFkODVmMDhiMWI0MWRlZWViZDliZSBsZWdhY3ktdHJ1bmsKKzM3Mzk2IDY5NWU1YmIwODM4MjM5M2Q5MzU1MDcxNzIyM2JhMGZjM2FlN2QyMWIgbGVnYWN5LXRydW5rCiszNzM5NyBlN2ZhN2I1Yzk0NDFjMzlkMjhjY2U1ZGNmZTU0YTNmOGVmMTIxYjhhIGxlZ2FjeS10cnVuaworMzczOTggZmUyNDJmNjlhOWQzMjgyMmFmM2UwMzVlMmVmNDIyZTliY2YwNWQzNiByZWxlYXNlMjMtbWFpbnQKKzM3Mzk5IGVjZDY1NGRhYWVjOWYwMGIyYTQ5MGMyN2I4ODEyZDRmMjU1ZDFkNTAgbGVnYWN5LXRydW5rCiszNzQwMCA5MmRjYTk4Y2Q0MzQzMTRmNWY0OTJjMmE5ZWMyMGUzMjU1NDVhMDJlIGxlZ2FjeS10cnVuaworMzc0MDEgNTI2NDI3ZTg4M2U4MjQxY2NlMTlmN2M0N2EyNzhiZmE4ZTJjMGNhYSBsZWdhY3ktdHJ1bmsKKzM3NDAyIGJkMTNhNDc4ZThkNjFkZmRkMzk3YmYwYjlhMTcxYzUyN2ZjOWJmMzggbGVnYWN5LXRydW5rCiszNzQwMyAyYjQ5YjRhODVkOWViNGE0Y2ZhOWYyOWMyMWQ2NDljMzgzOTQ1NjcxIGxlZ2FjeS10cnVuaworMzc0MDQgZjY3ODliN2VhYjRlMzBiY2NiODUxYzQyZWIzYzg5YjU1ODA0OTllNyBsZWdhY3ktdHJ1bmsKKzM3NDA1IDc4MWFlZjk3NDQ2Mzg4YjM4ZmY0M2Q0NzQxMDI3OGU5NmJkOGRjZjggbGVnYWN5LXRydW5rCiszNzQwNiBkNzRkZGNmZjA3MjQ0Nzc2NjU0ZTIzYTBjOTFmY2M0ZGJmOWNjOGI2IGxlZ2FjeS10cnVuaworMzc0MDcgYTNkNzhkNmJjYTUxOTI0MjM3YzJkNDljYzc3NDE2YzU5ZjNlYTc4ZCByZWxlYXNlMjMtbWFpbnQKKzM3NDA4IGQ2MDcxYTA1YmE4NGFmOWJmNzgwM2NiNjNhYWRiYjQwMjJlMmZjZTIgbGVnYWN5LXRydW5rCiszNzQwOSA2ZDA1NWEyNzViNGJkMzk1YTMwNmY2NDIzNzAyZWY3ZDk2MThhN2FlIGxlZ2FjeS10cnVuaworMzc0MTAgYmY2ODczMTY1MDc5ODZiZDIzYjM0NzY2MzdhMGE2MTdkMDRjN2FhNiBsZWdhY3ktdHJ1bmsKKzM3NDExIDcwMjM2N2RhMmM3MmJmNDJlNWZhMzkzODA4MzU2Nzk4ZjVjN2NmMDQgbGVnYWN5LXRydW5rCiszNzQxMiBkMzc2ZmU4NjJiMTg4NTRkNzJkYjg0MDVlMTQyNTBhZDBiMWIzZDFjIGxlZ2FjeS10cnVuaworMzc0MTMgZWNhZjBlOGZhNzM3OWU5MWRjMzg3MGYzNzUzYjc4YjljZjkyY2RmOCBsZWdhY3ktdHJ1bmsKKzM3NDE0IDY2YjU2ZDU2ZTY4MGQ0YjA1NWQ4NWY2YjYzZTNmOThjMDc3Mzc0NGMgbGVnYWN5LXRydW5rCiszNzQxNSA3ZDdhYzQwNGM4MDQ5ZjkzMjAyYzk4ZmQ3OWMwYTdkYzFiMDAwMjNiIGxlZ2FjeS10cnVuaworMzc0MTYgYmY5ZjkxN2VlNGY5ZjE0MDBkMWY1NWQyZDA0YjAzOTFiNzVkZTVmYyBsZWdhY3ktdHJ1bmsKKzM3NDE3IGE2ZGMxNzZjNWQxMjkyMDIyYjE3MThjODkwMTMwMzgzYWQ2MzY1ZWQgbGVnYWN5LXRydW5rCiszNzQxOCBhNTc3MTNmZGVkMjNiMzViYmQ0ZGY0ZjY2MTMzMmQ1MzAxNjQ0ZDI5IGxlZ2FjeS10cnVuaworMzc0MTkgMTVhN2NjMDBjNWExNDFkN2I5ODA3N2Q2MjIwZDEwZGY2ODc1NTU3MyBsZWdhY3ktdHJ1bmsKKzM3NDIwIGZkOTM0Nzc4ZjRiNDUxZWQwZWYyOWIyMDYwNTQwNjM5ZDNmZjdlYWYgbGVnYWN5LXRydW5rCiszNzQyMSBlMTJjYTVjZGY3NDEwNWRkNTE0ZjBhMzk5YmFhYmU0YjEyY2IwYzg3IGxlZ2FjeS10cnVuaworMzc0MjIgZjJhMmNlZDFmZDVkY2IwM2QxNmIyNDZiZGQ2MjNiNDc5NTA0NzBjOSBsZWdhY3ktdHJ1bmsKKzM3NDIzIGJlOGNmZjRhMWVjYWRjNzI1NDQzM2M4NDYzZThiNGM0Mzc4ZjI2ZTMgbGVnYWN5LXRydW5rCiszNzQyNCA5N2NiOWVlYTIxMmUyMzdiYWRkNjllNTYzNjI2NmE0MDFlODNhZjFjIGxlZ2FjeS10cnVuaworMzc0MjUgYTc2MTI2MDAzOTkyNTE5ZTM2MDdiM2FiNDNmNjBjZTRkNzJhN2MxMSBsZWdhY3ktdHJ1bmsKKzM3NDI2IGMzOWY4M2ZkZDRkMDMyM2QwNzRlYzhjOGU5NTJjODg3ZGNlZjhhOTUgbGVnYWN5LXRydW5rCiszNzQyNyA4YzZmYzg3NzEyNjA0MjExMWY0MmQ0ODBiYmEwYjg4ZDhkN2JjYWY1IGxlZ2FjeS10cnVuaworMzc0MjggNTk4NDFjODE5ZjRjOTc1ZDAzMWZjZTRlYzA5MTAwMzkxNmY2MWU5YiBsZWdhY3ktdHJ1bmsKKzM3NDI5IGYyNDZkNzQ2NGI1YzhhNDMxNmE5NTE0Y2U5ODQ2MTVlN2VhM2E1ZjAgbGVnYWN5LXRydW5rCiszNzQzMCA5NjkyYWYwMWMxYTgzNWFjMDQ1YTRkMjQ0MWIzZDU1MTQ1ZTA5YTI1IGxlZ2FjeS10cnVuaworMzc0MzEgYzRlYWM2ZTkwMTYxNGI2NzI3YWVhYzZmNDA4ODA1NWU0ZGYzYzc1NSBsZWdhY3ktdHJ1bmsKKzM3NDMyIDg1ZGEwODhlN2E4YmZkOGY3ZTFjZjYwZmZkOWUyMmE3NzQ0YzJlNDIgbGVnYWN5LXRydW5rCiszNzQzMyAzYmQ5M2I4MTQwMzE5NzdiYTMzODU2NzhiZjQ3YzQ1NzU4ZjBlMDU2IGxlZ2FjeS10cnVuaworMzc0MzQgYzM3ZTIwNzRhOGM1NDg1OWU2NzUyNzdmMDdjYWFhZDQxZTc3ZjVhZCBsZWdhY3ktdHJ1bmsKKzM3NDM1IGE1NjgyYmM3M2UwNGY2MDc2YzU3Njk4NGRiMjY0OTdjNjU4MjBhNjIgbGVnYWN5LXRydW5rCiszNzQzNiA5ODZhNWI1NjlhZGVkZmRmODdhNDExZTQ2NzQzNmViNzMzNDk2M2Q4IGxlZ2FjeS10cnVuaworMzc0MzcgNTBiNmY5NGEzOGE3NzY3MzZmZmIzMWRkZmQ2Mjk5ODBhNGNmMTcxMyBsZWdhY3ktdHJ1bmsKKzM3NDM4IGU0NzhlYmUxY2IzMTZjODRkODM0YTQwYjE0MWYwN2FkMWU1MjM5OGYgbGVnYWN5LXRydW5rCiszNzQzOSBmMjc1ODRkMTEzYWYzZTM4MDQyM2VlYmFkNDFmNGYyZTZlYTQ3MzRmIGxlZ2FjeS10cnVuaworMzc0NDAgYzI4ZmZiZmIwYWU5MDkyOTI1YzUwZmI0YTU2NDBmYzVlY2M5YjAxYSBsZWdhY3ktdHJ1bmsKKzM3NDQxIDMxYmM1ZjBmNGNmY2M5ZmJjZTRmMDQ5YmFhMWM0NWVkOGVkODk2YmIgbGVnYWN5LXRydW5rCiszNzQ0MiAzMjVhODhjNmVlN2Q1Y2Q3NjdmYzkwZmUxMGRiOWRlNDk0Mzg1MmYzIGxlZ2FjeS10cnVuaworMzc0NDMgOGE1Yzg3ZjY4NWNkZTljYTE0NzNjOTBkZGIxMmYyNjMyMjJlNTNiNSBsZWdhY3ktdHJ1bmsKKzM3NDQ0IDc3NjYwZWFlZjI0ZGM0YTFjYWY1Mzk3NmU1YzU2NjE1MTE3OWUzZTggbGVnYWN5LXRydW5rCiszNzQ0NSA2MTNhNTUzMzg1NGEwZDQxYjM2YjRhYmQ1OGU0M2I3NTUzMjkxMGJhIGxlZ2FjeS10cnVuaworMzc0NDYgODA4NDI4YzU2MDk2ODc2NDMyMTA3NTg0YmUwNGMzYzZmZGFhNDRmZiBsZWdhY3ktdHJ1bmsKKzM3NDQ3IDFiNmIxMDQyY2Y0NTY5NTY1NThkMGU2YzgyODY4ZTFkNzY0ZDU3NTcgbGVnYWN5LXRydW5rCiszNzQ0OCAyYmMyMzUzMjYzMTYwYTQ4YTA1MmE4YTc2YTVkNGJjYjc3OWQxYTZmIGxlZ2FjeS10cnVuaworMzc0NDkgZGJkYzQ1NTY0ZDI0MDM4YTkwNTc3MGZhMjU1OWM0NTgzOTk0ZGJjMyByZWxlYXNlMjMtbWFpbnQKKzM3NDUwIDc5MTljYWRlYjkxZGQ3ZjRhZmE5M2ExMjRmYTU3Yjk3OWJiZjMwZDggcmVsZWFzZTIzLW1haW50CiszNzQ1MSAxNDA4MWVhNjU2YjJjMGExN2MwMDFhNjdlZWEzNjM0NTExMGJhMThiIGxlZ2FjeS10cnVuaworMzc0NTIgNjhkMTFlNDM5YTBiNWE0MzFiZWY4YTg1YTc1YjM5MDJjMGIwYWUwNCBsZWdhY3ktdHJ1bmsKKzM3NDUzIDIzMDM2YzdhZjY4NzZlZTIxOTgzYTg5ZmEyNTdhMDg2NjRlZDNhNWEgbGVnYWN5LXRydW5rCiszNzQ1NCA4ZjRiZWQ5NzBmZjk1MTQ1NmJiNGZjYWQzMjM4MTFjNWRiNzI0OTUxIGxlZ2FjeS10cnVuaworMzc0NTUgMDc3OTU0ZDQxYzUzMjViM2RkM2M5OTY1NzJiMDU4NzFjNGJjODgzZSBsZWdhY3ktdHJ1bmsKKzM3NDU2IDJmNjQxOWQwMDdhOWNiODY0MDM3ODIyNTk2ZTdlZTE4YTQwMGI1M2YgbGVnYWN5LXRydW5rCiszNzQ1NyBiNDg0NzRiYWQ3NmZjZTljOTEzYTZiZTEyYTBhYjdiNTg4NDM0ZTMwIGxlZ2FjeS10cnVuaworMzc0NTggZTkzNzBiY2YwMmFkYmYzYjI2MzU2YTYzNTIxYWI0MzI0YjEyNzQ1NyBsZWdhY3ktdHJ1bmsKKzM3NDU5IGE3ODk1YWVmMWVlODAxZDg4N2FjYTI0NzM3ZGNiNWZjZjdlM2E0NzUgbGVnYWN5LXRydW5rCiszNzQ2MCAwYzMyZjAxY2NkOTk3ZThmNDU1ZmJmZmU0YTFlNGUyMzU2MGFlYTU0IGxlZ2FjeS10cnVuaworMzc0NjEgMzU1YjE1ZTRhNGRhMjMyOWJiOGZmNjhkOTQ1Y2Q5ZjY4YjZiZmJhZCBsZWdhY3ktdHJ1bmsKKzM3NDYyIGNmMWFhYTdlNDAwNTVkOWM4NWQxZDdhZGY1YmFlMGYyNWJkMjU0NmMgbGVnYWN5LXRydW5rCiszNzQ2MyAzMmRmMWQwNWNiMmQ5NjM4NTU4NjBhM2RkY2VlMzk2YTFlMTNmNzNkIGxlZ2FjeS10cnVuaworMzc0NjQgNGI1NDE2YjE4NDY2NGZlYThkZTkyZjY3OWUzMzIwNDYyMWEzZTM1YiBsZWdhY3ktdHJ1bmsKKzM3NDY1IDc1MTE1ODVmMmU2YTQ2YTZjODliZTVhMmUzZDdmYjkxMTQzMDhhMjAgbGVnYWN5LXRydW5rCiszNzQ2NiA3ZDY2NzllZTM5ZjkwYmI2NmI4MTY2NmE3OTFkMDQ0OTU0M2Y3YmIzIGxlZ2FjeS10cnVuaworMzc0NjcgZmMzZTg5NjQzODg4OTAyZWNjYWQyYjJhMjIzNTM2YjdhNjFmZWFkNCBsZWdhY3ktdHJ1bmsKKzM3NDY4IDY0MTE1MmZiN2Q4ODI5NmQyYmEzZGUzYTgxY2UxNmUyNTAyODM4NWIgbGVnYWN5LXRydW5rCiszNzQ2OSBiMzQwOGE4NWM4OWM5ZDM5MjljMDBiMWE5M2ZiMGQxMDUxYzMzOWJhIGxlZ2FjeS10cnVuaworMzc0NzAgNGQ3YjBkMjA2YmM3M2FkZWI2NWVhMDMzOTUxOTAzNzY1ZWQyNzhmYiBsZWdhY3ktdHJ1bmsKKzM3NDcxIDU0YzMzZDA5NWU3ZTQ5YmNkZmUyNDgwNGU0Nzc1YjM0ZGQxMGM0NDMgbGVnYWN5LXRydW5rCiszNzQ3MiBkYjZmMjFlZTYxMzU5NzI1NDE2Zjk2M2ViMWRhMzI4N2MxNTliODI5IGxlZ2FjeS10cnVuaworMzc0NzMgMDg0OTg4YzIwYjc1Y2U1ZDE5MmE0NGNjZjgyMzc1ZjY4NTU5ZjJhOCBsZWdhY3ktdHJ1bmsKKzM3NDc0IGI4OTIyYTM2ZjA4MzgzZjk4YzAzN2QwMjQzZGFiNWQyMTZmZjYxOGUgbGVnYWN5LXRydW5rCiszNzQ3NSBjN2MzOWI3OWU1YjdlOGE1YWYzN2I2ZjVhZDQ1MDlkODM4ZGViNGY3IGxlZ2FjeS10cnVuaworMzc0NzYgNGVlNDhlMmVmYjY4Nzk3NDVhMTM4OWYxMzVmYzI2NThjZmE0NTg5NiBsZWdhY3ktdHJ1bmsKKzM3NDc3IDc2NjRlOGJhZTE5ZTIxYjU0OTdhMjYzZjAyNGRiOTMyYjFhNDA4NDAgbGVnYWN5LXRydW5rCiszNzQ3OCA4MzEzMTlmMTAwZDBhOWYwZGMyMzIxYWNmMzYyMjc0MmRlMWM5YTM3IGxlZ2FjeS10cnVuaworMzc0NzkgYjExZjkxNjJlZDBkZDU0NzkzNGVmZmEzMzM5M2QzOTg5NDU2OGZiYiBsZWdhY3ktdHJ1bmsKKzM3NDgwIDMxYjA4NjcwZWJkZGI1MDFhZjA0ODc4NWNjZTdmY2FkZjk0ZGI0OGYgbGVnYWN5LXRydW5rCiszNzQ4MSAyYjljMTk4NzJiMDE3NjBmYTVkZWEzOTRhNDU5NmExOTljNmMyNjEwIHJlbGVhc2UyMy1tYWludAorMzc0ODIgOGUyMGVlMmVjYzBjOWU2ZTAwNmFjZTNhMmI1MGY5MDE5NmVlNWRhOSBsZWdhY3ktdHJ1bmsKKzM3NDgzIGU2MzE4MDVjNzFiMDcyZjYwZDU5NDk5MWJlMTJmMDRiNjJlNWQyMGIgbGVnYWN5LXRydW5rCiszNzQ4NCAyN2FhMGUxMTkzMzBhMzdlYjVhZDc2NDdmZjdkMjBkNDcwZWExMjk3IGxlZ2FjeS10cnVuaworMzc0ODUgMzRiMDcwMDhhYTc4YmU3OTk0MjFjMmY5MTIxYTdiN2E0MTQ2MjhjNCBsZWdhY3ktdHJ1bmsKKzM3NDg2IDYzZmMwNTIyYTk1YjUzNTVmOTFlYzk5OTQ0MTIwZmE4MzhkMWZkODQgbGVnYWN5LXRydW5rCiszNzQ4NyA4ZTlkY2ZlMTRkODE2MmU0ZGE1MDljYzg3ODY5ODYwNGE3NTkxYjBkIGxlZ2FjeS10cnVuaworMzc0ODggNTczMGY3N2UzN2U0MWI2MzQxYjlmNmU5YTM3ZTU3YTJjMTc3ZjE5MCBsZWdhY3ktdHJ1bmsKKzM3NDg5IGYwNzRkYjBjMTRhODUzZjkwMzJlNmFjMDkxN2Y0NzJkMjg0MWE3ZmMgbGVnYWN5LXRydW5rCiszNzQ5MCBjZDU4YTliNGJhNjYzODY0Mzc2NGQ3NDQyYTAwMjk4MWFkNTUyNDRlIGxlZ2FjeS10cnVuaworMzc0OTEgMGFlMGJlZjEwMDE0ZTVmYjg1MjcxYjdiMjYyNGI5MWU5OGRkMWQ5MyBsZWdhY3ktdHJ1bmsKKzM3NDkyIDgzYTNlMmQxOTE0YTkwYTRkMzAzN2VjMWI0NzI2MDYzZWU3OWY5MmMgbGVnYWN5LXRydW5rCiszNzQ5MyBjODRkYmU3MTdkNDljZDg2NGViZmY0N2E4YWRkYzFhNTVmYmY2MTQ0IGxlZ2FjeS10cnVuaworMzc0OTQgMGYwZGRiNGNiMDQzNzM0NDgwMWUzZTJhNTk1YjI2NmQ2YjdlY2YwOSBsZWdhY3ktdHJ1bmsKKzM3NDk1IDY1NWY3NGVhMGYzMWY1NjFhMGU4NWMyZWY0Y2EyNmNmY2M3ZWM5MWIgbGVnYWN5LXRydW5rCiszNzQ5NiAyMzQ0NGNiZGVhNTU1MGE0YTUwZTE0ZjkzZjM2NGYyODllZGYzMjEyIGxlZ2FjeS10cnVuaworMzc0OTcgMjc5ZjAxZTcxMDcxYmY1NjM1MzU3MzgwODM2NjMxZmFmYjI4YWE3YiBsZWdhY3ktdHJ1bmsKKzM3NDk4IDZiZDRhMTA1NjcxNmI3NzJhNDczOTQ4MWMyNDVkOWFjYjZiYjhhNGUgbGVnYWN5LXRydW5rCiszNzQ5OSA4MzZlOTJjYzVjNGZiZGI2YTlhYjBiYjc2MDdlOGYyNDNmMzdkODExIGxlZ2FjeS10cnVuaworMzc1MDAgZTVkZTY5OGVjZDRiNGUwNTlkNWViZWJlOTdhMTFkNGViMmYwMGYyMCBsZWdhY3ktdHJ1bmsKKzM3NTAxIDZmNGJjYjNiZDIwMmU0MzBmYzc0ODgxMzkyMjgyZjJmMjBmMGE3OGQgbGVnYWN5LXRydW5rCiszNzUwMiA1ZTE5ZmQzNjQyZjA3M2UyZDM0OThmYjJlMTM2ZjlhZDJkYjAxZDRmIGxlZ2FjeS10cnVuaworMzc1MDMgNDAzNTBmYmU2NjVkZmYxYjJkYThjNmFmMGRkNTM4ZGQ5MzFjY2RhMSBsZWdhY3ktdHJ1bmsKKzM3NTA0IDMwY2IyMDBkNDE4Y2RmZWVhODU2OWM1MTE3NjY5MzQ0N2E0NGVhYWUgbGVnYWN5LXRydW5rCiszNzUwNSBjZDcwZjFhYzNjMjVkNjg2MGE5NmUzYjdmYjQ5OTExMTExMTYwZDQzIGxlZ2FjeS10cnVuaworMzc1MDYgNGZiOGM4OWY2NmEwYjk3NjI1YTZiMDBlNDg0ZGZhYmYxZjgzYzlmMCBsZWdhY3ktdHJ1bmsKKzM3NTA3IDkxNjM0ZjNiYTIxM2E1MmI5MDMwYTRlZDUyZmQwZThhZDI5OGUzNzMgbGVnYWN5LXRydW5rCiszNzUwOCAwMGMzNmUxYmM1MGJjNmIyYzg3NmZhODAyZWRjOGU2MGRlMGRkMTg1IGxlZ2FjeS10cnVuaworMzc1MDkgMGM0ZjA5NTg2M2I5ZWQyYWI3YzIzOTlmYmViMmFiMDdjMjc4YjlhNSBsZWdhY3ktdHJ1bmsKKzM3NTEwIDNkOGQ3ODIxNzU5OTlkOWQ1ODIyYjI1YWQxNmQ3NTNlNjNhMTExOTggbGVnYWN5LXRydW5rCiszNzUxMSA1YTI5MmEwM2VhNDE2NzczNzAzMTA4NDc0NzhmZGNhZWJjNGMwYjQ5IGxlZ2FjeS10cnVuaworMzc1MTIgN2M1MGNkZTFlNGZkMDVlNDg4NGQzNzMxYWQ3YmEzOTVkYzI5YzM0ZSBsZWdhY3ktdHJ1bmsKKzM3NTEzIDc0NTBiYjkzYzM5NWNiMDY0YTE5YzM3OWI0NmQ4MzczNmRjM2ZkMDggbGVnYWN5LXRydW5rCiszNzUxNCA0ODZlOWM0MGNmYjkzZmU0ZjA2MDIyZTA5ODAwOTdiMTAyZDdkN2U4IGxlZ2FjeS10cnVuaworMzc1MTUgOTQ2NjEyZjY0YTgzMmU0NjdhNTFlMTk0ZDM4NWMwYTdkZjZlOWQ5MyBsZWdhY3ktdHJ1bmsKKzM3NTE2IGM1OTFmYTFkNDM1ZGYwNzU4NzRiMWJmZjdiNDZlN2RlMjkxODlmYTAgbGVnYWN5LXRydW5rCiszNzUxNyA3ZTQyYThlYmIzZWZmMTE3Y2JiYTc3OTZjOGIxZTJkZGQ3YzQ4Njg0IGxlZ2FjeS10cnVuaworMzc1MTggYzgxOTI1YjYxM2RhYjA2MzYxNjI1NjQ5MWI4MWQzYzU1OTVkMjFiZiBsZWdhY3ktdHJ1bmsKKzM3NTE5IGMwOTdhYmRiNTU2NjNlM2U0Y2JmYTdlODkwMWIwZDVmYzgyMjAwMzMgbGVnYWN5LXRydW5rCiszNzUyMCAwYjdlMzE4ZWYwOTI2NTU4YWNiYzhhYjU4ZTE1MjU4M2FkZTZmNTA4IGxlZ2FjeS10cnVuaworMzc1MjEgNDViMTk4OGUyNjkyNGZiYWNiMzE4YzVhNWZhNWJmMjkwZjcwNmJhOSBsZWdhY3ktdHJ1bmsKKzM3NTIyIGNlODEzYTU3ZDQ0ZDNhYWU4OGM0OTBkYTZjY2I5NWViMGVkMmJmZWIgbGVnYWN5LXRydW5rCiszNzUyMyA5MTg5OTQ2ODM4ZWVjY2Q5ZDViYzZhNDRmNTA0NGFjOWY1MjU1ZTdiIGxlZ2FjeS10cnVuaworMzc1MjQgMGJmZDM1YTc2YTQ0ZjgxMmNjYTZkZTZkZmNlYTk2ZWUyNjc0Y2FkMSBsZWdhY3ktdHJ1bmsKKzM3NTI1IDYzYTAzODliZDVmY2E5OTYwNTY4ZDNmNWMxMTc0NzNjM2YzNTQ3NDAgbGVnYWN5LXRydW5rCiszNzUyNiBjYzQ2ODQwNTFjNDYzMzUzMDUwM2FmMjU2MjBmMGJlYzIxOWQwMTNkIGxlZ2FjeS10cnVuaworMzc1MjcgNTQxMjA5NmQwZjk1ZGUwOGM5MjZjYzNjNmIyNWI0ZGJmNGE5OWQ5ZCBsZWdhY3ktdHJ1bmsKKzM3NTI4IGUxMjk3NmU5OGY2MTNmNDMwZjBiYjgwYjEwYzQwMTJiYzlmZDEzYjAgbGVnYWN5LXRydW5rCiszNzUyOSA1ZGVmNjZmMmM5YWJlZTVmMDhlYWEyODQ0Njc0ZWZmMDQ5NGY3YjRkIGxlZ2FjeS10cnVuaworMzc1MzAgYWI1ODhjZTllNzFmYmZlMGMyMzc4NTY1MGRhYmFjZWQ2NWUwNmE1NiBsZWdhY3ktdHJ1bmsKKzM3NTMxIDExOGI2ZjY5ZTNmMTUzYjc4NzllMzRhYzZkY2RiMGI1MGEyNzAzZDYgbGVnYWN5LXRydW5rCiszNzUzMiBlY2YxZTg1MzQwNmI3Y2QyZWRhNjkzMzI2MmQxMmM4ODllZGI1ZmI5IGxlZ2FjeS10cnVuaworMzc1MzMgNjBiZjJhZmQ3MzEyMjU0NmVmYWYxYTdhNjllZDAwNGZlMGI5NWIxOCBsZWdhY3ktdHJ1bmsKKzM3NTM0IDg5ZmFhY2Q5ZWM3Njk1NTIzMWE2ODM1ZWM1MTQwY2Q1NTA5ZjVkMjEgbGVnYWN5LXRydW5rCiszNzUzNSAyMmVlOTE2NDNiM2YzNGI5NDdkMDE0OTBmMmFkZmU2ZDQ1OWE5MTJlIHJlbGVhc2UyMy1tYWludAorMzc1MzYgYjBmM2E2OTNiODU0YjdmZjgyNjYxZTY2MWM2MTk4YzgyODc5NWUwMyBsZWdhY3ktdHJ1bmsKKzM3NTM3IGQ4ZTc0YTBiNDY3NzVkYjY4NGE4OTNlYTg3YTY1ZmJlM2VkM2NjMGMgbGVnYWN5LXRydW5rCiszNzUzOCBkOTlkZTY1ZjU0MjU4MjdiYjVjYjc2OTE5MmY2M2Q4NTI3YjYwNmQxIGxlZ2FjeS10cnVuaworMzc1MzkgYmE4ZTE4NTRhODRiYWFjZjk0ZWExNjg2MmZiYTEzZWQ0ZTA5ZGJjZSByZWxlYXNlMjMtbWFpbnQKKzM3NTQwIDVhZTNhMWM4MGUzZmU3NTg5Y2NhMTBmYTkyOGIzOWVlMTY3ODIzODQgbGVnYWN5LXRydW5rCiszNzU0MSAyNjJlMWNmNDFkMzRiYzc1ZjljZTg3YmY0YzRjODZjNjA0ODI0NjBlIGxlZ2FjeS10cnVuaworMzc1NDIgYjMxYTUxMjA2Nzc0ODU4MjNjNmU0MTRkN2EwOTFkNjRjYWI4MjIyZiBsZWdhY3ktdHJ1bmsKKzM3NTQzIDU1ZmJhODg5MzBiYzdiODE2NjlkMDE1Mjk0MmExMzEwZTQwNGNkYjggbGVnYWN5LXRydW5rCiszNzU0NCBiY2FmYjY4YWQ5ODU4ODAwYTUyNjI3ZmM5MTBlNjM2NTJjNzZlMTQ4IGxlZ2FjeS10cnVuaworMzc1NDUgNDc4NGJmYzk5YTQxYmUwMzUwN2RmZmY5OGJmYjJiNGI1YWNkODkxZCBsZWdhY3ktdHJ1bmsKKzM3NTQ2IDM3YzY1YTZiMmVmN2Y0ODEyZGUxMTFmN2I0Y2U3ODkxYjhhOWM5NjAgbGVnYWN5LXRydW5rCiszNzU0NyBmZGEzNmFmMjI2ZmIyYmQ5NDdmODE2MDE3Y2U1ODFhNjUyNzNjYTYxIGxlZ2FjeS10cnVuaworMzc1NDggM2U2ZjU2ZTgxMDRhMmJkYzNkYTJjNjEzZjdkMmRmZTUzZDEwM2Q5OSBsZWdhY3ktdHJ1bmsKKzM3NTQ5IDlhMzg2MjVmYTJiMDhkNDZlNTRhYzdmNjM5NjQ5Y2YxMmEwMzU4NzggbGVnYWN5LXRydW5rCiszNzU1MCAxNzAxZGFlNjQ3NGUxNDgyZjA2NTIxMzkxZTRiMWNiYmNhNWI1NDE3IGxlZ2FjeS10cnVuaworMzc1NTEgNjgzYTJmOGY3NzFkYzcxOGRjNzU3YmIyNDVhOTI5YTRkMzMyNjBmZCBsZWdhY3ktdHJ1bmsKKzM3NTUyIGFmMzAwNDAzZWRiODIwZjRkMTFhYmUyZjYzZDQwMjY4ODA0ZWM1YjUgbGVnYWN5LXRydW5rCiszNzU1MyBhNWM4OGYyZTg2YTNmNDY3ZjczZGNmOWMzZTZlMjM4YmNkNDk5NTU0IGxlZ2FjeS10cnVuaworMzc1NTQgMzYxN2QxZWUyNzk3ZmJlNjJlNGZiODZjMjMzYzNmZTU3OGYxZWMzYiBsZWdhY3ktdHJ1bmsKKzM3NTU1IGQ4ZmZmNzA2YTljMjVjZWY4MTQ0M2YyMmNlZmQ3M2NmZTVkMjViMDUgbGVnYWN5LXRydW5rCiszNzU1NiBiYTliY2YyMTQxYTIzMjliNTc3ODMzMDI3ZDM0OTk3YzRkMWU0MDhkIHJlbGVhc2UyMy1tYWludAorMzc1NTcgOTYyZmEzZTIzMjE1YmU4ZjFiMjg0OTgxMWExMGRjMjg5NzRlMmM0MCBsZWdhY3ktdHJ1bmsKKzM3NTU4IGJhOWZkYzQ0Yzc3ODI1NjZjMzU3NjI0Yzc2ODY5NzI5NzdhZDM4MTcgcmVsZWFzZTIzLW1haW50CiszNzU1OSA5MjRiYjJhYWQ0ZjQ4MWI4YjE0YTAyODllODU1ODY3ZWY1ODUyNDdiIGxlZ2FjeS10cnVuaworMzc1NjAgZGMzYTY3NjdlOTYwODQyN2ZhNzcxMzEyMDZkOTlkZTJlY2I3NjY4ZSBsZWdhY3ktdHJ1bmsKKzM3NTYxIGFhYzRjYzY2MThiNTRiYjhlYmNiNjcwNmU2NTI0Y2RmNmJjMTE5ZTEgbGVnYWN5LXRydW5rCiszNzU2MiAwOTBmZmNiODNmMGFhZTQ2ZGRiMWJkY2JlM2QwYWQ3N2ZhMWQ2YWU4IGxlZ2FjeS10cnVuaworMzc1NjMgMGMyNmRiMzgxNjczZTI0MDU3MzJmYWViMzBhMDU0MGFiMDg1YzJkYiBsZWdhY3ktdHJ1bmsKKzM3NTY0IDY2MzI3NDE5ZWIwMDQ0YmZkYzUzNDg2ZDNiNDI1OGQyNmZhYTM3ODIgcmVsZWFzZTIzLW1haW50CiszNzU2NSAwOGI3Njc0NzA2NjNlMzU2OTA4MjMzNDU4MTFhNjdmYjUzMDg2NmQ1IGxlZ2FjeS10cnVuaworMzc1NjYgMzI3MWVhNjBiODJkYzMyMWNkYjA3YWQ2ZTVkMTBhYTVkYjYxNzQyMCByZWxlYXNlMjMtbWFpbnQKKzM3NTY3IDU0ZTY1MjdmMzE1MDg5ODEwYzY2OWE0MTFhMWVhM2I0NDczYjQ5ZWEgcmVsZWFzZTIzLW1haW50CiszNzU2OCAyOTViZDhjNTVhNzg4YzMwM2YxN2ZiYmVlYmI5ZGY1OWEwOTI5NzQxIGxlZ2FjeS10cnVuaworMzc1NjkgODkxMDQyYzk0YWVkMDFmNDRmZWIxMjI3MjUwYzEzNzk2YjY3MjFjNSBsZWdhY3ktdHJ1bmsKKzM3NTcwIDQ5ODFiYTU0ZjQzZDgxODEyMTYyODMzOTQwZTg5ZmM1NzdhYjE3NmYgbGVnYWN5LXRydW5rCiszNzU3MSA3NDJmZGFjM2Q1YWUyZmY0MzVlYjBkMWUyNWRiZWMzNzAxMTdlN2Y4IGxlZ2FjeS10cnVuaworMzc1NzIgNDAxM2YwYTUzODM1MTBmODEyNDdjMmI0ZWJmZDE5YWI3OWY2MjBmYyBsZWdhY3ktdHJ1bmsKKzM3NTczIGU3YzdiM2FmNjE2NDY4YTMwMmM3ZjZjYmMxYjU1OWQ3NThjN2QzY2UgbGVnYWN5LXRydW5rCiszNzU3NCA0NjE0NDRkZTdiMWZkMGExMzJjMDU0N2MwNTcwZmZiZTQ5NmVlNTg4IGxlZ2FjeS10cnVuaworMzc1NzUgNjY0YjE4YWE2ZmMxMjRiMjU1ZjBiMDk1NjA5YzlhODY5MWRlMWMxZCBsZWdhY3ktdHJ1bmsKKzM3NTc2IGJhYTI2NTNmN2E3NmQ5NGI4Mzg5MDE0MmM4NGFhMjUxOTFmNTUzMzkgbGVnYWN5LXRydW5rCiszNzU3NyA1MTdlNGVjMGRmODljYzUyOTljYzU2NGViODdkZTZhMDgyNDQ0MjVmIGxlZ2FjeS10cnVuaworMzc1NzggNjM1ZGQ4YTllYmQ5M2MxMjExOGJhMTBhM2ZhNzhjMzcyNmM0YWFkZSBsZWdhY3ktdHJ1bmsKKzM3NTc5IGE0NmI3NmViOTA1M2M4M2QzZjg3YTI4MmZjZDhjMmU3MzUxOGYwYjIgbGVnYWN5LXRydW5rCiszNzU4MCBjNTUyNDQ2YjdiYjJmNGI5ZWYzN2I5ODJiZDE3NjhjMGVjM2RiMjAxIGxlZ2FjeS10cnVuaworMzc1ODEgZjhjYjhmMGFjOGYxM2EzNTM3OTM2NGNlNzIxMmNiYmQwYjY3ZDZhYyBsZWdhY3ktdHJ1bmsKKzM3NTgyIGU2ZjFhZTEzYmU4NGRmMmY2ZDczYmUyNmUyZGIwMDUwNjIwM2EwY2EgbGVnYWN5LXRydW5rCiszNzU4MyBmMjM0YmUxNzI4MDAwZTljZTIzNjRiYjE3MTBkMzFjMDRiMmY3M2E3IGxlZ2FjeS10cnVuaworMzc1ODQgYzJhZTQ4MmZmNDJkNjNkZWJiNGYyOTMwNWU0NGU3ZWM3ZmY4ZGRkYyBsZWdhY3ktdHJ1bmsKKzM3NTg1IDJjNzliNTBhZmJhYjVlM2Q4MzUwZjFiMTJkZTc2ZGY1YmMxNjIxYmYgbGVnYWN5LXRydW5rCiszNzU4NiA3NGE1N2U2Njg0ZjM5MWNkMzM2OGY5MGU0NWRjM2UzMzNkZDNjZjI4IGxlZ2FjeS10cnVuaworMzc1ODcgNzY2NDE4MjRjZjA1MzU3YmZiNzRjYzIxMDY3ZDE0ZGQ3OGUxY2EyNSBsZWdhY3ktdHJ1bmsKKzM3NTg4IGM3ZmUyMjc3ZDE3MWQ0ZmE4YTViNzBkYWMyM2U2ZGIzZWQyY2JiNjkgbGVnYWN5LXRydW5rCiszNzU4OSBjOWIxZjI2OTRlOThhYWZkZjkzYTRjMjlhMDc0OTFkMzQxNmFlZDQ2IGxlZ2FjeS10cnVuaworMzc1OTAgYWNjMTkxYjcxNGI5OTczNTdlOWMzODRkMTlkNTJmY2VlMzk0MjRhZiBsZWdhY3ktdHJ1bmsKKzM3NTkxIDAyMzZiNjUzMGM0NjMxYzNlMGQzMzUzMWE0MDkwOGE2YjVhYjE1ZDcgbGVnYWN5LXRydW5rCiszNzU5MiBhMDFiZTM1MGVkNjE1ODFiNDI3M2I2MzIwYTYyZjJkZDRlMGZhZjE3IGxlZ2FjeS10cnVuaworMzc1OTMgMGQ2ZDU2YjIxNjRiN2NlOGM5MDBiMjgyNzU0NzY0ZWZhMGU3OThlMCBsZWdhY3ktdHJ1bmsKKzM3NTk0IDQ0Y2RhYzliZjc4NTllYjc3Y2U2YWQ2ODM0ZDIwM2QzZDVmNGY1MWIgbGVnYWN5LXRydW5rCiszNzU5NSA1M2M0NjhkMDk1NWJhYTA4ZDFlOWRiZWViZjZjM2EzZTRlMzM3MzFlIGxlZ2FjeS10cnVuaworMzc1OTYgZDk0MDRkYjI5YmM2NTc3YmQ0MDlhOTk1YjNlNzcwZDllNjdkZDExMCBsZWdhY3ktdHJ1bmsKKzM3NTk3IDM5YTEzZTM5ZDI0ZWI5ZGUwZjBiZjIwNzljMTQxZTkzOTgzM2IyYTQgbGVnYWN5LXRydW5rCiszNzU5OCBlYjNkNjAzMGQ5NTAxMDcwZGM5MjcyMGI4MmU1Y2IzZTRkODFmNGIyIGxlZ2FjeS10cnVuaworMzc1OTkgMTM4M2M0NjkyYWY3NGRjYTc4Nzg1NmVkMWY1OWE1OTdmYzIzZTI0MSBsZWdhY3ktdHJ1bmsKKzM3NjAwIGE4MDQyODBlMzRmOTBmZTIxNGUwN2FkNmM0MDMyNzVmNDUwZDc5NDggbGVnYWN5LXRydW5rCiszNzYwMSBlNGY3ZDNiMGM1ZDRmZTQ3ZmRiMjdiY2YzN2E4N2UwYWNmNTM0NjIyIGxlZ2FjeS10cnVuaworMzc2MDIgYTRmNzQ3ZTcyMTM4MWNmN2RmZTc2MzRmMWE5MTRkMTU3ZTE2MDBhOCBsZWdhY3ktdHJ1bmsKKzM3NjAzIDc2MzU1MzYzMTAxYjBhMTE1NTAxODc1YTA0Nzk4NDQwNDU1MDVjOTMgbGVnYWN5LXRydW5rCiszNzYwNCA0NGUxNzZjY2EzMzcyMWFkOGQ4M2Y1MDczYmYxNzQ0YmZhODVhNjYwIGxlZ2FjeS10cnVuaworMzc2MDUgZDFmMGM3MDc5YjgyODc5YTU1OTM5NzY2ZThiYTVhOWMwNzY1YmM4NyBsZWdhY3ktdHJ1bmsKKzM3NjA2IDE3OWU0MmVhMmU5Yzk3MTk4ODE3MTI4NjE2ODA5MzMzY2M0MDAyNGYgbGVnYWN5LXRydW5rCiszNzYwNyA0NjgzOTgzZTg0YjM1NWQxYWUwNDM5MjM5NWRkMmQxMDZjZDUzNzY2IGxlZ2FjeS10cnVuaworMzc2MDggOTljYWJhODE0NTY1NGNhMzk1YzM0ZjU3ZDUzZmIyMmEwY2EyMTg4MiBsZWdhY3ktdHJ1bmsKKzM3NjA5IDc0Y2ViNmZjYjQzMjdkZDhjODVlMTAwZDg4OGIzNmQ1ZjlkZWZiMzUgbGVnYWN5LXRydW5rCiszNzYxMCBhMjdiMDI3MTcxMWJkMDViYjAzNWVlZjJiYjk0MThlNTcwN2ViZGY4IGxlZ2FjeS10cnVuaworMzc2MTEgYjBlYzRjOWQ1OTViMDBiMjY2YmQxYTkzOWU3Y2JmNzIwMGQ5Yjg5MyBsZWdhY3ktdHJ1bmsKKzM3NjEyIGI4NmM3YzQ3NzRlZGZkODMyZWI2OGZjOTQ5ODdlMThjZGIxODFkOGEgbGVnYWN5LXRydW5rCiszNzYxMyAyY2MxMDdjOTY0NmUyYmRiMDNmMmQwYTI1YmQ5NzlmNmU0ZWUzNDVhIGxlZ2FjeS10cnVuaworMzc2MTQgZWM5OTNiNzI2NjA1NzI4OGRlOTUzYjc5NDkyNjM4MDE0NzE2NjFjNiBsZWdhY3ktdHJ1bmsKKzM3NjE1IGFhMmQ2MDYwNDk1YTA3YmI0ZjM3YWRhOGVhYzk3NDhjMTM0MTBmNTkgbGVnYWN5LXRydW5rCiszNzYxNiBkZGMyZDZlNTQ3YzE1Mzk0ZjgzZGVlNjA0YmJmYTE1ZGE0NmM5NjgwIGxlZ2FjeS10cnVuaworMzc2MTcgOTJlMDViNjM0OTk3ODY5MDZiNDFkNWE1M2EyN2Y1ZjdiZTNhNTkyZSBsZWdhY3ktdHJ1bmsKKzM3NjE4IDEwYjI1NDE0NjI4Y2RiODJjODBkMjYwZjE5M2U2M2ExNzMxNDM4OTAgbGVnYWN5LXRydW5rCiszNzYxOSA0ZjhkYjU1Y2UxMjRhMmVhN2Y4YmMxMDM0MjU3ODc4MzFjMWY5NDExIGxlZ2FjeS10cnVuaworMzc2MjAgMTk3Nzc1MmNmODA3YmM3ODlkOTAwYjkzZmMxNjgyZTViYjEzZWExYiBsZWdhY3ktdHJ1bmsKKzM3NjIxIDhhNTA2MWJjZDQxNzlmODI0ODAwODVjMDE2ZDQ2ZjRlYTRiNWY4ZGIgbGVnYWN5LXRydW5rCiszNzYyMiBmYjI3M2E4M2M3NWZkOTI1NzE5Nzg5MDVhZjU4YzgwMjRlZDQ5YTE1IGxlZ2FjeS10cnVuaworMzc2MjMgMTFkMDFmYzY1MGRjMDUyYWZkNDljNzQ0Yzk1MGU5MzU1ZTk3ZWE5NiBsZWdhY3ktdHJ1bmsKKzM3NjI0IDQ2MjE3ZDA1YTQ3NjZhNDYxYmY0MmM4ODBhYThhZDEwNzBhYzIzMjEgbGVnYWN5LXRydW5rCiszNzYyNSBkMTIyODEyN2QyOTQyNWY2NDRlYzc5MTQzYjIyNjA2YmJlZmFjMmE4IGxlZ2FjeS10cnVuaworMzc2MjYgMjZmZDAwYjM2OGYxZDQ1MmU3NGI2NDFlNjZjYTE2MmQ1ODQ0OTA4ZSBsZWdhY3ktdHJ1bmsKKzM3NjI3IDE2NmJkMzM5ZDNiZmQ2MTljNGQ3MDU1YWQ4NjEyNDAxZWY4MzgwYTYgbGVnYWN5LXRydW5rCiszNzYyOCAyNmJlZGY2M2U0YTg5YzUzZjhmOGZiMzVlZTE5NmQ0YmM5NDA5ZmRjIGxlZ2FjeS10cnVuaworMzc2MjkgYjMwOGUxNWJkN2ZiYTkyNWYxNzc3MzExNmY5ODVkYjJjMGNiMTI5NyBsZWdhY3ktdHJ1bmsKKzM3NjMwIDE5MDdhZDU0ZDM1MWNlNzdmYTgyMmE1ZTNhYTMyMDcxYmY3Y2IxZGYgbGVnYWN5LXRydW5rCiszNzYzMSA1NTQ4MmU5ZGViNjYzODM2NGMyMDMyYjBiMWVlYzg4MTY0ZDFhYWFjIGxlZ2FjeS10cnVuaworMzc2MzEgNTNjZmYwNDI4Mzg1NWFkZjg4ZWQwYzBmZDM2OTg4MjdjYTg0MzYzNyBsZWdhY3ktdHJ1bmsKKzM3NjMzIDcyYzUxMzFkNGM0YWYwZGIzN2FiNDE1Mjg3OGI1OGRlMDAwZWI2MWQgbGVnYWN5LXRydW5rCiszNzYzNCBjNmFhYzAzNDc0YzVlMjM4Mjg2YWNkYjQyZjE0ZGVkYzdkZWQxZjk0IGxlZ2FjeS10cnVuaworMzc2MzUgODhiZjQ4YzA2OWY5YzM2MjQ5NWJkNGY2YTY1ZDI2M2ZlYzZiMjA4NSBsZWdhY3ktdHJ1bmsKKzM3NjM2IGJhNzVmZGE5MjIwYzJhMTU0ZDY2NTJlMzAwYmY1ZmRlY2E3MmQ3ZWMgbGVnYWN5LXRydW5rCiszNzYzNyBhYjA5ZGFhYzU2OTFiNzhjNDliYjQ0NzI1MmUyMjBkZTY2NTczMmRiIGxlZ2FjeS10cnVuaworMzc2MzggZmJhY2JiMjYyNzg5NDk4MTllMGI2OGM1MDUwYzBiM2UwYTlhMzNkOCBsZWdhY3ktdHJ1bmsKKzM3NjM5IGUxNWMxNWE0ZmJlODgxNTExMTlhZTMzYmQxNWM0MzM0YjNkNDY5Y2MgbGVnYWN5LXRydW5rCiszNzY0MCBjNWQ5NTFhMGUwYzNlOTBhNjI1ZTU3MmU2OGI0ZDEzYTk2OTliMDg0IGxlZ2FjeS10cnVuaworMzc2NDEgZTRiN2M5MjNlZDVmMjczN2Y2NjE1NmE4OGY2NjAxZTE0YzY1NTdiNSBsZWdhY3ktdHJ1bmsKKzM3NjQyIGYxYzA0OGU3NDNlMmQ4MDYwYWE4OTQwZjMyYTY4YTExYWRiOGMxODQgcmVsZWFzZTIzLW1haW50CiszNzY0MyBjNjZlNmM5ZmZjMmRiZDNkMDE5YTc0ZDNiMWJmNjhhMDgxMTU0ZmFiIGxlZ2FjeS10cnVuaworMzc2NDQgNDY4OGQyYTI3M2Q5MGI4NmZiY2MzMDIzZTc3OGVhOWYzNjFhMGVhNSBsZWdhY3ktdHJ1bmsKKzM3NjQ1IGQ5ZDNiNDc1Y2ViMjU4NjYzYjEzMTIxZDc0NzllN2VlYWQ1NjI2MzAgcmVsZWFzZTIzLW1haW50CiszNzY0NiBhNTJkZTkxMWIyODQ4MTQ3MTgyMTY5Y2JmYzMyMmM2ZjUyZjkwMTAwIGxlZ2FjeS10cnVuaworMzc2NDcgM2ZkZDk2ZjBjZTg2NmM1YWY2OTIxZjM2ODQ4MTU4ZmFmYzBiZjNhNiBsZWdhY3ktdHJ1bmsKKzM3NjQ4IGYxNzVjOTgzODM3MzZkNTg3ZjQzNjE3NzYwYjYxMjU0YTljM2E1NGMgbGVnYWN5LXRydW5rCiszNzY0OSA4MTdjMjQxYmZmZmY4ZGY0ZjExODhmYmE2MzJkNGNmOGIyOWQxNTY2IGxlZ2FjeS10cnVuaworMzc2NTAgYmQxODg4ZTkyOTlmNzM1Y2U3MTE5NjQ5Yzk4YzdhZDRmOWZjZjFiNyBsZWdhY3ktdHJ1bmsKKzM3NjUxIGI4Nzc4Y2Y3ZDBlMzczODcxZmVmMDM5OTcyNjQ5MjczYTc3ODc4NDAgcmVsZWFzZTIzLW1haW50CiszNzY1MiAzMzQyYmMyMzAwYzNhYzJlNmNjYTVlN2Y3MmI3YTY1MDc5MmMwYjU2IGxlZ2FjeS10cnVuaworMzc2NTMgOGQ4YjM5MjM0ZGU5ZTZmMGJlOTc4MjcyY2ZmNTIzYWE0MTdmNmM3YiBsZWdhY3ktdHJ1bmsKKzM3NjU0IDgzYTAxOTEyODk5ZjYwNDYwMGFkYWU3YWZmMTEzNjI4Y2I4OGI2MjggbGVnYWN5LXRydW5rCiszNzY1NSA2ZGZmZGMzM2ZjNmM1YzAxZjAxY2M5NmVmN2E1YWJhODM0NjBiNzI0IGxlZ2FjeS10cnVuaworMzc2NTYgZDA2M2U0ZGU1Njc2MDBlYTZjN2I3ZWFkODhiMzdiZjEzZDQ4ODg2MSByZWxlYXNlMjMtbWFpbnQKKzM3NjU3IDIyM2Q4MjI2MDQ1MmFhYzI1Yzg1ODgwNzEyMWE0MWVlMGQ0NTA0MzAgbGVnYWN5LXRydW5rCiszNzY1OCBhMjI0M2Q2NmQ0MGJkYTFlMzE5ODVjNjkzY2Q4YzlmNDAwMDY1ZjIyIGxlZ2FjeS10cnVuaworMzc2NTkgNjljOTY4ODFhYWFkYjQ4NDgyZDAyOTQ5NTljM2ZhNDU4MmM1MGQ5ZCByZWxlYXNlMjMtbWFpbnQKKzM3NjYwIDY4MTliYTAyMzY2NzZmZTAzYzYyYjAxMDVlOGUxZWFmZWNiNmY0ZWIgbGVnYWN5LXRydW5rCiszNzY2MSBhZWI2ZmYzMDg4NDhjODc1ZDVlNGEzYjUyMzMwZDcwMjZiMzNlMmU1IGxlZ2FjeS10cnVuaworMzc2NjIgNGZlZGM1MjlhZDMyZGI5NTcwNDRjMWZlODFjNjVhMjMzNTQ3NDQ1NiByZWxlYXNlMjMtbWFpbnQKKzM3NjYzIGIxYTllYTZlOGFlMjBhMzNhYzBlNmNjZWMzYzA0N2YyOGY3Njc4YjkgbGVnYWN5LXRydW5rCiszNzY2NCAxOTlkYWNlMDI0YmEwNDRkNDUwZGRmMzhiZWY2ZDc5YWZmNTE3MmIzIGxlZ2FjeS10cnVuaworMzc2NjUgZDQ4NWU3OGE0M2Q2NTg0YmJiOTI4ZTM2MTY0ZDQyZDRlZWZlOWJjZSByZWxlYXNlMjMtbWFpbnQKKzM3NjY2IDVjODYyNDk2YTlmNmFhODMxZGE5Zjg3ZTgyYTk2MTBhZmRiNTkxNDggbGVnYWN5LXRydW5rCiszNzY2NyBkMmU5NTk0MDQ4MjY5MmI4ZThiYTYxNzIzYzI3YWY3ODU4ZTI0MzRlIGxlZ2FjeS10cnVuaworMzc2NjggZTljYmUwYWRiMjhhZTdmYTdhYzIzMTg5YWZlYjhjMmVmMzIzNDEyNyBsZWdhY3ktdHJ1bmsKKzM3NjY5IGE5ZTYwNTE0MDA3NDc3ZjIwY2Y0ODgyNzZkZDE1ODZkMTQyOTNmOGIgbGVnYWN5LXRydW5rCiszNzY3MCBhM2RmZDgwMTUzM2I2MTg0MWVkNzFjOGJhOWE5MTRmYWJjNDdhOTNhIGxlZ2FjeS10cnVuaworMzc2NzEgNDdiMzg0NTE5Nzc1NzU2MDZkZTJkYmRkYTU3NTY1YzEzNWM2OGI3YiBsZWdhY3ktdHJ1bmsKKzM3NjcyIDU5ZTBmZjBjZDNkNGM5MWUyYmZjZDM5ZWE2MGY2ODY1ZWM5MGNhYjQgbGVnYWN5LXRydW5rCiszNzY3MyBkNDQzNTA1ZTdlZWMxOGI5NDY3YjQ5MmRmNmQ1MmJhMjUwZWU1ODRjIGxlZ2FjeS10cnVuaworMzc2NzQgM2ZmMjUyNzE1ZDkzYjA0ZWZlZDZmNTJlYTFhMjg4MzEwYTEyN2NmMiBsZWdhY3ktdHJ1bmsKKzM3Njc1IDFjNjc2ZTg5MWIzZjlhODM3MmExM2Y2ZjMyNjljYTFkMzA2MTVlMmEgcmVsZWFzZTIzLW1haW50CiszNzY3NiBhZDkwODg4YjE3YmMwMjM0NTg5MWUxZWY2ZDJhNmE5ZmE2N2Q4ZGU1IHJlbGVhc2UyMy1tYWludAorMzc2NzcgZjU0ODY4ODU1YjFjY2RhYTJhNzgxNTBiZmZjNmI5N2Q4MGRjYzIwNCBsZWdhY3ktdHJ1bmsKKzM3Njc4IDgyMTQyYTI0ZTg0NWMzM2JkOWNmMDEwNDE5YWVlZmRlMzg2NmFiMGEgbGVnYWN5LXRydW5rCiszNzY3OSAwYWZiMjUzMGU5ODZhYTA2ZGQ2MGZiMzcwMmY0NTc0MjMxNTQyOTI5IGxlZ2FjeS10cnVuaworMzc2ODAgYjBmMGM1N2IxZTA1NTcwMjBiMjJhMTkwMGM1ZDJkMmMwMmUzYmVhMCBsZWdhY3ktdHJ1bmsKKzM3NjgxIGVkMDQxZTBlNDUxZWYxMWNiZTkxODgyZTkwNDc4ZmI3NmYyNWZhMzEgbGVnYWN5LXRydW5rCiszNzY4MiBiM2EzMGUyODQyYjk2NzViZDNlY2EzOWYxYTQ3MDZkNDgyM2RlYThjIHJlbGVhc2UyMy1tYWludAorMzc2ODMgOGQzOGYyZjIxNTFjY2E1YWEyMTk4MDBlYTVjMGUyNmE5NjllODBhOSBsZWdhY3ktdHJ1bmsKKzM3Njg0IDJhMTUzMThjNDAzOGMzMDQ3ZGM5YzFjOGEyYWE0OTNjZTIxZDM2YTIgbGVnYWN5LXRydW5rCiszNzY4NSBmMTQzMjlhNzg5ODE5MTIxNTA1NmUzZjU5ZGU4YzIzYjg4ZGU5YzQyIGxlZ2FjeS10cnVuaworMzc2ODYgYmYxOGNhY2EwNzMwNDM3MTcwNGRkYTI2YTU1M2RmNmYzMWNhYjM4MyBsZWdhY3ktdHJ1bmsKKzM3Njg3IGRiODcxMGYxMzY1MDg4ZWJkMDBmOWJjMmNlMWM2ZWQyNTNhZGQ1YTggbGVnYWN5LXRydW5rCiszNzY4OCAyOWI5NDViYzBhMTdmMWM5YTliMWE2ZGQ4Y2I2MjFhZjZlYmJkMTlhIGxlZ2FjeS10cnVuaworMzc2ODkgYWVkMjUyNmRhMWZjN2VkOTM0M2Q2NGM5YzgzYTZlMzRiOTg2ODcyMyBsZWdhY3ktdHJ1bmsKKzM3NjkwIDI4ZWYwYTNmNTdmNmNkNzg0OGE3NmZiMmZhOTYzMWI2ZDM0MDYyY2MgbGVnYWN5LXRydW5rCiszNzY5MSBkOTM4YjllZDMyZmZlY2FlOGM0MDQ5NDVjM2NlNjJiODliYjRhZDliIGxlZ2FjeS10cnVuaworMzc2OTIgMTdkODY2MWU3ZDEzYWFlNDZjYzQwYzVjOTE4NDI2NDE1MzgyOGI2NSBsZWdhY3ktdHJ1bmsKKzM3NjkzIDZjNDE2OTUyODRmNmZmN2M5NDk3NzRmNTYxNTRkMTRkYmYwYzI0N2UgbGVnYWN5LXRydW5rCiszNzY5NCAzMTcxMDFjZmZiNzI5MzQ1NTI3YmRmYjM4MTNiMGRkM2UyNmJkMGU5IGxlZ2FjeS10cnVuaworMzc2OTUgOWZmYzM0NDg5MWE2MjZlZGFhMjYwMWZjYWU0MDU5YjY0MWIzMWYxOSBsZWdhY3ktdHJ1bmsKKzM3Njk2IDYyN2Y3N2UzY2ViNjUxYmExZDBhYWQ2MGM0ZjU2Yjk4Y2I2OTA1NTggcmVsZWFzZTIzLW1haW50CiszNzY5NyAxMDUxMmNlYmEzMGM1NWNlNjRkNWEyNmE3ZDkwZjllMGRiNjQ4MTAyIGxlZ2FjeS10cnVuaworMzc2OTggZWYxNDllYTU5NGE0YzBmNGE4MTM4ZmQ0Yjk5ZjhhN2ZmMTE4MzZjYSBsZWdhY3ktdHJ1bmsKKzM3Njk5IDk5MWQzNDkwZjY5OGViMmFmOGQzODA1NjI1MzJkNzI3YTUxZTI5NmUgbGVnYWN5LXRydW5rCiszNzcwMCBkYzhlY2Y3MjQ0ODhjMjZmNzVkOTAyM2JmNGFlMjY1NTEzNmY0NWNhIGxlZ2FjeS10cnVuaworMzc3MDEgYmQ1NTgyMTFiYTU1MmM3MTQ5YTgzNmM4ZDZmMmJiOTg4Y2NhZWIwMCBsZWdhY3ktdHJ1bmsKKzM3NzAyIGZkY2UzZDM5YmVjMTRkNGQ0NzA0MDE1NTJlN2FjNjY3NjYwY2JmMmMgbGVnYWN5LXRydW5rCiszNzcwMyA0ZGQ5N2MzN2MyY2MyYzMzNzhmMmM5MTZhMzdjZDFmZWE3YWQ4OTljIGxlZ2FjeS10cnVuaworMzc3MDQgNmZjMTAzMDZiZjMxMmJhYzk5M2M3NTIxZjY1MzcxYzkyYzVjMTA3MiBsZWdhY3ktdHJ1bmsKKzM3NzA1IDEwNWJmZTE3NjliNzk2YzQyN2Y1ZTJmZGM2YTMwMDM3Y2RmNzBlNGYgbGVnYWN5LXRydW5rCiszNzcwNiA5OTNiMTI4ZDRlMjk0YTUxNzA5MzU0ZmJiMDBmYjRkMmQxMzhmMTJiIGxlZ2FjeS10cnVuaworMzc3MDcgYWM0ZmE5NDJmOTJlNzhhNmNiZGRkNmE4ZDdkYmZkODRkNzNlMDEyOCBsZWdhY3ktdHJ1bmsKKzM3NzA4IGVkMTM5MzcwNzlkZjE3Y2FjMjZjOTcwNjcyYmE0MmVjYTIzYWYzZDAgbGVnYWN5LXRydW5rCiszNzcwOSAwMzJmMzQyZWZjZDI0ZjI0YzY2Y2U2YmZiMGVjMTM4MDc3YTQ1ZWRhIGxlZ2FjeS10cnVuaworMzc3MTAgNzliY2FkMTRlOTZhYWE3NzU4OTZkNGZlNDQ4NDc1MzNiZDhlOTI3NiBsZWdhY3ktdHJ1bmsKKzM3NzExIDU1MTA5OTVlYTI2ZmI1ZDk0OGEwNGRmOTYxOWY3MDVjN2RkZWNiNGQgbGVnYWN5LXRydW5rCiszNzcxMiAzMzk4YzVjZThiN2EwOTYwNzRlNGYxYjkxODAwNGY4YTA4ZTY1MzI4IGxlZ2FjeS10cnVuaworMzc3MTMgZDgzOTk4YTcyMWEwYTJlZjFlNDM3ZjNkNmQ4YTA0OTFiMWFhNzIzMyBsZWdhY3ktdHJ1bmsKKzM3NzE0IDI2MjU1MzdhNmRmYWRkNTM2MDhjYzc4MzI5OGZmOWM1MzhjNDljZTkgbGVnYWN5LXRydW5rCiszNzcxNSAyZWUwMzAxYjQ4M2NlMmE4NGY3ZTM5Yjk4ZGJhZGM3ZmIyYmEzZWY5IGxlZ2FjeS10cnVuaworMzc3MTYgOTQzODYyYjJiNGRmZTU2ZTU4ZGM1MmU2ZWIwZDA4NTQxZDlkN2EwYyBsZWdhY3ktdHJ1bmsKKzM3NzE3IGQ0MWFjMTFlOWM2MDRhNjU5NmMzY2YxNGUzZGI4MzM0M2U4ZDExOTIgbGVnYWN5LXRydW5rCiszNzcxOCBlZWMzMTdlZTVjMzViOGY4NzIxMjVhMzFmNTBiNTRjMTU4ZjJiOWQ5IHJlbGVhc2UyMy1tYWludAorMzc3MTkgMWNkMTlkYWFhOWQ0MmZhYjcyMjMyMGE4ZDlhZmNjMzJlOTI5YjBiNCBsZWdhY3ktdHJ1bmsKKzM3NzIwIDYwYzYwZGM3NWM3NzI2NGI5ZTJjMmY1ZjRiZDZjNjFmZTNjZmIxYTggbGVnYWN5LXRydW5rCiszNzcyMSA2ZGEwNzg3M2EwZWUzNzU0OTVkYjliODVmZDI5N2JhZGIzYTE4MGNhIGxlZ2FjeS10cnVuaworMzc3MjIgMGRkYWU4YjBmYjE5YTM4MzIzYjQyYmM1Yjg0NjNjZGYxOWFkOGRiMyBsZWdhY3ktdHJ1bmsKKzM3NzIzIDMwNzMyNDM0MTA3YjZjZmU2ZDkyOGI0NDAwZDMyMmU3MjA3Y2FiODAgbGVnYWN5LXRydW5rCiszNzcyNCAzNDY3Mjg4MDg5YTFlMjU4NjNlNWQzZDc0NDFhNTZmNDNjNGU1M2IyIGxlZ2FjeS10cnVuaworMzc3MjUgNGEzZWFhMWFhM2FmZDJmNWI5NGNlMmVkMGIyZTlkYjdkYWMyMGVjNyBsZWdhY3ktdHJ1bmsKKzM3NzI2IGZhY2I1YTJmNGI1M2U5N2QzMTJkYjMxOTA5OWViNzlkNDkxNTEzYWMgbGVnYWN5LXRydW5rCiszNzcyNyBiNTg1YmNjZmIyNTA1NDNhNjZiYjhlZjRlNDVkMTBhMzM0MTA3ZWRkIHJlbGVhc2UyMy1tYWludAorMzc3MjggNmI2MWFmMDgzNDkzMzEzYjUzOGU1MTU0ZDI3NmYxZjU4NzY3NTU3YiBsZWdhY3ktdHJ1bmsKKzM3NzI5IGYxOTY3MTZlYTBkYjQ1ZDYzNzY3ZjJkM2I3N2VjYTQxZmMxMzgyNGUgbGVnYWN5LXRydW5rCiszNzczMCAyNjMyZjQzNDA5ZjQ5NjVhY2ViNzEyNTMwOTk1ZTRkNDQyMGNlZWNiIGxlZ2FjeS10cnVuaworMzc3MzEgMDdkOTRhMTYyY2Y4OTUxZWZhZGY2ODM1MTQ4YjM2NzM4ZTc3MjBmZiBsZWdhY3ktdHJ1bmsKKzM3NzMyIDMwOGU4ZWYyZDNlZGY1ZjU1MWJmYjEyMTk4YTI1YjUwNWI5ZTNmN2UgcmVsZWFzZTIzLW1haW50CiszNzczMyAyMjNkMjBhZmM4YjVlMWViOGM5M2ZhNmExZGExOTk4YzM0MThmY2U5IGxlZ2FjeS10cnVuaworMzc3MzQgODBjYTFhOGIyMzIxNjJlMDlkN2Q1MjY2M2E1MjE2YWVkYjUyMTdhYiBsZWdhY3ktdHJ1bmsKKzM3NzM1IDVhZmE1Mjc3ZmNkOTc5M2FlMGJmMWM4YzE2OWY3YWQzMDYwZmNmNWIgbGVnYWN5LXRydW5rCiszNzczNiAxODBkYzgyOWVmZmY4MTc1MWVmYjgxMmNmMGRhMDRiYWZiZjVmMDhiIGxlZ2FjeS10cnVuaworMzc3MzcgYmYyZDAzZGZjMzhlMjhmMWM0YzQ5MWY5NzkzMGIyMmI5MjlkNTMzNyByZWxlYXNlMjMtbWFpbnQKKzM3NzM4IDBkYzNmOTcwNTU3NzA3M2FjMDUwZDllMGUxMDEzOWZjMzQ3NDQ3NTYgbGVnYWN5LXRydW5rCiszNzczOSAyNGZjM2VhYTE5ZTBiNWRkOWFjZjc5ZGQ5ZDQ4N2NkMmJmMGYxN2E4IGxlZ2FjeS10cnVuaworMzc3NDAgNjMzY2FkZWJmNjhkNGRkOGNmMGM5MTlmZjUyMTQzNzZiZWJjOGM0OSBsZWdhY3ktdHJ1bmsKKzM3NzQxIGE4Yzk3OWNjNGZhNjU4ZDgyNmQyMTA0OGZkNzgxYTUyMGIwM2IyNmIgbGVnYWN5LXRydW5rCiszNzc0MiBlZjUwMzBiYzVmNjcxYzRiMDQ4MWM4OGNiYTkxMzE1ODQ5Y2FkYjZlIGxlZ2FjeS10cnVuaworMzc3NDMgNjg3MzYyZmE0NzFjM2MwOTMxNzA1NjZmNTllNDliM2Y2YjNmZGMxMiBsZWdhY3ktdHJ1bmsKKzM3NzQ0IDhhMDljODJlNDI2MTBiMGQ0OTZmZDMxODU3OTRmZDdmYjM0ODU4ZTggbGVnYWN5LXRydW5rCiszNzc0NSBiYzA0MjFiOTY1N2EwMDU4YWE5NTBjYWNlOGMzYjA1ZTc1ODViYWQ1IGxlZ2FjeS10cnVuaworMzc3NDYgYTZmOTdlMGU2MzE4OTY0YzI2YzhmYmFlMGQ0MDU2YzEzYTUzNWVjMCBsZWdhY3ktdHJ1bmsKKzM3NzQ3IDVlY2EyNDhmNjM5ZTQyZjQwNzJjOWM3ZGY5YWJmOWNkM2Y0ZDNmNzEgcmVsZWFzZTIzLW1haW50CiszNzc0OCBjMTllODExMTIwNTkzMTZhNjgyNDNkNzBkMzhmMDJiMDI3NzVlMzk0IGxlZ2FjeS10cnVuaworMzc3NDkgYTU3NmNmMWFjNmEwNGU3ODJmN2E3MTI3MzMyYjVhYzg4NmYxOGQ2NyByZWxlYXNlMjMtbWFpbnQKKzM3NzUwIDk3Njg2MjRmMDM1ZmEyMzhmZTk1NTNmN2M2MzVjNDAzZTQ1MjUzNTggbGVnYWN5LXRydW5rCiszNzc1MCAwY2IxYmE5MjI0MWJhMjk1NzU1MDU4MjhlZWUyNDFjZDEyNmQ0NjkzIHJlbGVhc2UyMy1tYWludAorMzc3NTEgMGQ2ZGJlYmQ4YjRhMmQwNDMzOThhMjRjMTllMDE2ODVmNzJlOTY0NyBsZWdhY3ktdHJ1bmsKKzM3NzUyIDUzYWEwMTkzNzBkYjUwYTNlMDI5YzU3NDUyMTJiYjUxMDY5ZTE0ZTggbGVnYWN5LXRydW5rCiszNzc1MyBjMzA4YzZiYTAwMmY1YjViMjQ4OTcxNDgwOGI0MzQzZmZhNTg4ZmEwIGxlZ2FjeS10cnVuaworMzc3NTQgZmViNDAxN2NiYWQ0MmE3NDVjMjViMWM3NzNkYzRhNjYxMWU4Nzc2ZSBsZWdhY3ktdHJ1bmsKKzM3NzU1IDc4NmQzYjhiOWJlZWRiYWM0NGNmYjhiNDRmMzVlYTE0ZTFlYTIyMGQgbGVnYWN5LXRydW5rCiszNzc1NSA3ZTM4N2E5ZGNjNzk5NTRhNzc2OTVhZGVmOGI1OTNkYTM1YmUxMjE0IGxlZ2FjeS10cnVuaworMzc3NTcgODVkYjAxNmU4ZGFjNjNlZTk1OWFlZDQ1NWU5MTg2YjNmMDgyZTE1NSBsZWdhY3ktdHJ1bmsKKzM3NzU4IGQ3ODNkNTE3MTgxMTllNDEwNjhjMzg5NmM1YmM5NWU4NmU5YWNjOTAgcmVsZWFzZTIzLW1haW50CiszNzc1OSA3MTBiN2U4ZDJmZjJhNjBiODY1NzNlOTNlYjMwZWIwNjk3YTZlOGUwIGxlZ2FjeS10cnVuaworMzc3NjAgZGZiN2IwN2RjZGVkZDAwOTJhNWJjYWNmNjIwZWQ2YjMxZDJkMmZjZCBsZWdhY3ktdHJ1bmsKKzM3NzYxIGE1MTI5ZDZhYjFjYzZhNTM4NWU5NjIxZjhkN2I3ZjRjMjRiOTBjYzYgbGVnYWN5LXRydW5rCiszNzc2MiBlYjk3OWMzZjE0YmE5NjNkOTU0MmUzMzkwZmFmZTI3OGY5YjA5NjQ5IGxlZ2FjeS10cnVuaworMzc3NjMgNWNjMzgzNDAxMjk0ZmI0YzU0YTNkNzI3NGNmNTUwY2ZlOGUyYzIzOSBsZWdhY3ktdHJ1bmsKKzM3NzY0IGFiNmIxMDhhOGNlYzg5YTIwZGIwNTc3YzQ0NjM5YjBiOGE3MTgwNmQgbGVnYWN5LXRydW5rCiszNzc2NSAyMDg3MzI5NWU5MTYwNzU3NGViNGYxMDY3YzU5OWNiMDhhNWZlNjI5IGxlZ2FjeS10cnVuaworMzc3NjYgMTljMmRjY2ZhZjY1M2Q5Njc3YWRlNzhlMWNiNmFiNWQ5NmQ4NjkyNCByZWxlYXNlMjMtbWFpbnQKKzM3NzY3IDEzMjg5YTc0NDJjMzdmNWI0OWNkNTYyOGM5ODY1MWU5NjY1MTllMmQgcmVsZWFzZTIzLW1haW50CiszNzc2OCAzNjAyNGZhM2JmNGY0ZWE0MTkzZWM2ZDI5YWZmYjc2Y2NkYTlmNmNiIGxlZ2FjeS10cnVuaworMzc3NjkgOGY4Yzg5YmJlNDM5ZDBlMTg0ZTRlZTFkZDhkYWUwN2E1OTFlNDhiMSBsZWdhY3ktdHJ1bmsKKzM3NzcwIDVlZDFkOTdiNDlhMTI0NTlhMGI2YmNhNzBkYmU5MGZjOGY5YmQxMTQgbGVnYWN5LXRydW5rCiszNzc3MSA3ZWQ4OTliNjExODI4MDZjOWIxNmQxNmQwNjcwOWE2MmUyOWY4ZmI5IGxlZ2FjeS10cnVuaworMzc3NzIgMmZhODcyNzg0ZWI2MjAxYjIxZWE3M2JmNmM5MWRhZjBhYjVhNmIyNSBsZWdhY3ktdHJ1bmsKKzM3NzczIGIzZmZhNjRmZjRjNjQ3MDIzYTI1Mzc5MmExNWY1MDJkZDRjMTc3ZGIgbGVnYWN5LXRydW5rCiszNzc3NCA5OWI5MjAxODYzNjcxYjhkNjkwZWUyNjUwZmQxNzUwMDY3OTQwMTA0IGxlZ2FjeS10cnVuaworMzc3NzUgOWE4NjI0MjVhOThhMTQ2Y2FkNjlhMTI5MzU1M2UyOTJmMjg0YjlhOCByZWxlYXNlMjMtbWFpbnQKKzM3Nzc2IDljZTU3NjQwMTlhZWYwNDQ2MTcwZDEzNGExMjEwNTllY2QzYTVjYzEgcmVsZWFzZTIzLW1haW50CiszNzc3NyBlYTZlZjQwZGM5MjIwZjQ3NTdjNGJmMGNlMTUwZDFlZDllNzgwMDJiIGxlZ2FjeS10cnVuaworMzc3NzggN2U4OGMwNDM3ZWNjNjIwZWE3YWUzYjg4MTFmN2I2N2Q0NjdlNzU1MyBsZWdhY3ktdHJ1bmsKKzM3Nzc5IDAyMDE2ZDVhNGRjNmE4MzU2OWRiYmIxODI2YzJlNmJlZjhiZWM1NGMgbGVnYWN5LXRydW5rCiszNzc4MCAyNTcxNGUwZmM4OWRiMTNjZGQ3YmM4ODBiN2MzMWQzNzY4NjMxYTQ2IGxlZ2FjeS10cnVuaworMzc3ODEgOGU5MWE3ZWFhN2I3OTk1YjY1NmUxYTM2YzA3Y2Y1ODBkYzBhNjBlNSBsZWdhY3ktdHJ1bmsKKzM3NzgyIDg2OTg2NTNlMDVmYzEwOTFiNTkxMDIyOGI3MjZkMjM2NGM1ZTcyMGQgbGVnYWN5LXRydW5rCiszNzc4MyBkODJmYTkzMmI0MWJjMDM5MTY1ODExNmJjM2U5N2I4YzUzYTkzY2YzIGxlZ2FjeS10cnVuaworMzc3ODQgN2ZkNGQzNTBmZjgyNjJiOGQ1ODUwOTdkZDc5NTZhMWIwYmFiYmQxNSBsZWdhY3ktdHJ1bmsKKzM3Nzg1IDkxNzNiOWUwYWI3NzM0OTcwNDBlYmJiNzQyMzA3MjkxYzFhMzVjNWEgbGVnYWN5LXRydW5rCiszNzc4NiAwMThkY2M3ZWY4ODdkZWJjN2E3OGZkOWRjYzZmZTkyOWZmOGFmZWVmIGxlZ2FjeS10cnVuaworMzc3ODcgNjYyYzE1NTEwNmU0MjVjMTA1ZjllZjJmOWY4YjBmNjg0OTJjNGZhMSBsZWdhY3ktdHJ1bmsKKzM3Nzg4IGU0NDA0MDQ2ZTU1MmY4NmQ3NWExZGJmMWRlNmY2YWNlZjlhMzlmYWYgbGVnYWN5LXRydW5rCiszNzc4OSA4MzkwZjkzOWRjYzFmM2NiODMwODI4YWY5ZmU0MTM3NTM1ZWRhZTFjIGxlZ2FjeS10cnVuaworMzc3OTAgODI5ZWUzMjVhMThlNTM4N2ZmNzg5MzdiMmMzNGMzODlmOGM3NGZmNCBsZWdhY3ktdHJ1bmsKKzM3NzkxIDBkNGVjYzMxY2ZkODNkYjVkNGFkNmM0NzhmYzE5YWY0NmMyOWU0NzkgbGVnYWN5LXRydW5rCiszNzc5MiA2NjIyM2E5ZWJlNDg2MzU5YzFmNTc3YjhlODZlZGFiZjJlNDM4MTNjIGxlZ2FjeS10cnVuaworMzc3OTMgNGZhMWRmM2IwNjJmNDk3YTIzYzQ4YjQxMTZiNThmNDY5ZDU3YTgyOCBsZWdhY3ktdHJ1bmsKKzM3Nzk0IDU0OGYzOGE1NjY2OWUyMmY3Y2RiMzgzYjExZWFkOGIxY2IxZTIzM2UgbGVnYWN5LXRydW5rCiszNzc5NSA1OWM0M2ZkOGJhNzNmMDc4OGQxYWRmNjcxMzc1MjdlZTlmZTBmZGYyIGxlZ2FjeS10cnVuaworMzc3OTYgZWIyMzE1NDRjMWFkNWU2MDUwYjk3YTAyZGY5NmQ4YjQ2Zjg3MTE3OCBsZWdhY3ktdHJ1bmsKKzM3Nzk3IDBhZTI4YzNhOGQyNDA2ODM4ZjI4NjMzZmMyNDZiOTFiZGIxYzQyNjYgbGVnYWN5LXRydW5rCiszNzc5OCBhYjczMjE3NzMwZGIyMzJlM2UwOWQyNmE3OWY4ODVkOWU0MjliOWY3IGxlZ2FjeS10cnVuaworMzc3OTkgZTRlMjNlM2E3ODQ0YmNlZWYwZWNhM2UxM2Y1Njk4NzlkNDU1YTNhMyBsZWdhY3ktdHJ1bmsKKzM3ODAwIDRkZTM1NGM3OGE3ZWZiYzA0ODViZGQ4YTI1ZGMxODIyZjM4NmRiOGQgbGVnYWN5LXRydW5rCiszNzgwMSA4MWNiZjAzMTU0OWExZjllMGIxMDlkMjMyMjM1ZDY5YzZlMTkzZjlmIGxlZ2FjeS10cnVuaworMzc4MDIgNWZiYmU4MjMzYjc2MzMzNmJhMWVhMWM4ODBlOGNhNjY3MjFiZjRiYyBsZWdhY3ktdHJ1bmsKKzM3ODAzIGRmZDA3YjdiZTQwNzJmNzkzM2YxMWFmMTUxMzlmMjg2ZDUyZWU4NWEgbGVnYWN5LXRydW5rCiszNzgwNCA0NjNhMDNhNWNhMjI4M2U2YWI5MDNlMDMzMDIwYjMzMTkyZTQ0ZTVmIGxlZ2FjeS10cnVuaworMzc4MDUgODJkMDI1NjQxMjNkZmMyYzUxNjgyNjNmMjEzMDM2OTBhN2I1Mjg0MSBsZWdhY3ktdHJ1bmsKKzM3ODA2IDM1OWViYzU2MDkzZTdlYjJmNDQ5NWNmNDJmNzQ0NWIxZDhhYzQ4NTMgbGVnYWN5LXRydW5rCiszNzgwNyA5NjE3OWMwOTZkNjVhZGNhM2E5NjQwMDdjMTkxNTU3MzI3ZmRjMmZlIGxlZ2FjeS10cnVuaworMzc4MDggOTA0NzcxYmVmM2Y0N2ZkYmQxZjkyNzEzYjBkODVlZDhjNWNlMTc4ZSBsZWdhY3ktdHJ1bmsKKzM3ODA5IGFmZWUzYzMzYWU2ZDhjNzU1OTBhODE0ZTIwNzFlODRmNzRiY2Q3ZWIgbGVnYWN5LXRydW5rCiszNzgxMCA4YjJhMmY3YzEzYjgwZGM3NDRhYjg2MTViZTM5NzEyZGM5ZmVkMmZhIGxlZ2FjeS10cnVuaworMzc4MTEgZjJjZTE1YjAyYmEzZmViYmRmZWMyMTgwOTNiYTA2ODYwZDRiNjBjOSBsZWdhY3ktdHJ1bmsKKzM3ODEyIGI5ODE5YjlhMGRhZDU0MjExN2VlZTRlZDY3MDYwMzU0MmRhMzA4ZmYgbGVnYWN5LXRydW5rCiszNzgxMyA2MzNiZTQzYmVkMTdkMDM3YmZjOWEzNmI1ZGUzMDU2M2I1YWNhYTM1IHJlbGVhc2UyMy1tYWludAorMzc4MTQgZWIzNDRlMDNjYzcxMjU2MmVlMTI4MmVmNjBjNDMwNDM5MzRmYTExNyBsZWdhY3ktdHJ1bmsKKzM3ODE1IGI0ZjBhZDgxNTljNzM0ZGY5MWI5MDU5Mjg2MjQ1N2IzNjhmMDYxODkgbGVnYWN5LXRydW5rCiszNzgxNiBlMWYxNDAyNjA5NDc4YWY3ODY0NGI1MzA3MGUyZTUyNDhlZjY3MWVmIGxlZ2FjeS10cnVuaworMzc4MTcgMGZlOGExNmEzMzZhZWE4YTQ2ODFiMGRjMmJhZGQ5N2I2OTA5OTFhOSBsZWdhY3ktdHJ1bmsKKzM3ODE4IDc3YjFjMTUxNzRiNDRkYmYxMjExNzY1ZDc1ZTI2ZmRhNDczMDNlM2IgbGVnYWN5LXRydW5rCiszNzgxOSA5NDJmODc0M2FkZjAyNzhiNzg4MmUwZTdlNzBhNzNkZmM1ZDdiYjBjIGxlZ2FjeS10cnVuaworMzc4MjAgNGY3NDU2ZDAzY2I5ZGU2MjM5ODUwYTY5ZTY5ZDY0ZDVmN2Y4ZTZiZSBsZWdhY3ktdHJ1bmsKKzM3ODIxIGM4NzFlZjk2NjU1YzhkMzhiZGM5NDQzMjlkMDQ5MjUzYmFkMjRmODggbGVnYWN5LXRydW5rCiszNzgyMiBkYzgwNDc2Yjc4MmI3OTBlY2RhNDI3NjA4M2JhZmFiZTBmZWQzOTE1IGxlZ2FjeS10cnVuaworMzc4MjMgY2FkZDNlOGQzNDlmMDlkM2ViYjkyMWU0YjJhMGE3NTRiNjA5MjJjNCBsZWdhY3ktdHJ1bmsKKzM3ODI0IDk1OGRjOGI3YTgyNmExODA1Zjk1YWY1ZmYwZWYzY2MyODAyYjU3NDEgbGVnYWN5LXRydW5rCiszNzgyNSA0Mzc1MDA2ZTVmMDc5ZjcyYjZjOWM5NWIzOGY0NGMzMjIwZDQ3MzRjIGxlZ2FjeS10cnVuaworMzc4MjYgZmJmMzA2NDZjZDEzNjQxZmI3OTliNThmMzNlNDdkYmI1NDY2ZGJjZSBsZWdhY3ktdHJ1bmsKKzM3ODI3IGE5MWU5MmI5ODJhY2FmZjAzOGI3ZDU4MDEwOWNjZTY3MmRmN2ExNDYgbGVnYWN5LXRydW5rCiszNzgyOCA4OTNkNDY1NzY3MzdhYmJhOGNjYzNjZDU2NGIwYzM0ZDA2YWU2ZTdmIGxlZ2FjeS10cnVuaworMzc4MjkgMDZlZTUzYTc2ZjAxNzNhYzA0MGNiOTQyNWEyM2ExMGM1NTBlN2IzOSBsZWdhY3ktdHJ1bmsKKzM3ODMwIDliZDk4M2NmYmU4MWJjODY1YjRmOWRhOTk0Mzc0MmM2YjI1MDMxM2UgbGVnYWN5LXRydW5rCiszNzgzMSAwNzM5ZjM2YWQ1NDQxOWE0MTMxNGVkMGRiZjU0ZTdjODk3NTg5ZTJjIGxlZ2FjeS10cnVuaworMzc4MzIgZmVmZjRlNGYzNDVjYTVlMzM2ZjdiMDBlYzgwOTE3ZDQ1OTQ3ZTI3ZCBsZWdhY3ktdHJ1bmsKKzM3ODMzIDAyMzgwMTMzMjM5NTVlYjRiYTJhNDEyNTA3OWY3ZjQzOWU2ZGEzYjcgbGVnYWN5LXRydW5rCiszNzgzNCAyM2IxMDNhYmI4ZjdmYTdhNzk2ZmUzODk1MDE4NjE3YzFmMDg4ZmI5IHJlbGVhc2UyMy1tYWludAorMzc4MzUgNTNiM2Y1M2Q3YTBkMzJhOWY1NTBiOTkzYjJiNzJmYTA0MDZlNWRkYyBsZWdhY3ktdHJ1bmsKKzM3ODM2IDRjYjdiOTIzNjgxZTQ3YWViNmUzZTUxYmY0NDlkZmU5ZWRiNTcwNDQgbGVnYWN5LXRydW5rCiszNzgzNyBkMjU2MTVlZjVkOGY2MDU5NTE2MDNhNmQ1Y2ZmYjIwOTg5M2IxYjYwIGxlZ2FjeS10cnVuaworMzc4MzggMjIxM2NkYjNjYWU3OTNjYjBkZDZlYWQyOGYyNGQ5OGJhYzgwZjE3YyBsZWdhY3ktdHJ1bmsKKzM3ODM5IDQzOTQ0NjM1MTBmYjJkYjllMDlkOGQ0YjdkNjg0ZDQ1MGUwZWY1NjQgbGVnYWN5LXRydW5rCiszNzg0MCBkY2RhMDZjYjA3OGEzZWY5Njk4N2JlMjRhNTg4NGI4MDQ1MGNkY2VmIGxlZ2FjeS10cnVuaworMzc4NDEgMzNhODQ2Yjc3N2E4OTFhOTNiYzNlYjNjZWFmN2YyZDA5NjM3NWE2MiBsZWdhY3ktdHJ1bmsKKzM3ODQyIGY5MjYxNmY4YzMzYzc0NTExMTk4Mjg4YzA1ZTFhMjkyMmQ2ZDhiZTYgbGVnYWN5LXRydW5rCiszNzg0MyA0MDA1Zjc5ZDI4MWFkMGRmMjlmZDgzMjk4YmQ0MTQ5NzJlZWQxZDIzIGxlZ2FjeS10cnVuaworMzc4NDQgZWMyOTk1NWI4NTQzNWJmODE2MDI4MzFkOTdkOGFiMGFiNDhhZWRmOCBsZWdhY3ktdHJ1bmsKKzM3ODQ1IDQ2OGExMGViYmNkNTAxYTA4NGZmZmY0YzNkMjhiMGJmMmNhMjc5NzEgbGVnYWN5LXRydW5rCiszNzg0NiA2NTI1ZTAyOGFmYjNjOWM3MjZlODQ5ODQ5ZTBmYTYxMmY0OTAwOWMzIGxlZ2FjeS10cnVuaworMzc4NDcgNzAxMGE5OWI1ZTYxMjQxNzZlY2U0MjE2ODhhZWQ5MDg1OTViYmY3MyBsZWdhY3ktdHJ1bmsKKzM3ODQ4IDMyZWQyODYxYzk3ZjE4ZGRjNzdjNThmYTVjYTZiYjE3YTg2NjY2YjEgbGVnYWN5LXRydW5rCiszNzg0OSA0OWI2ZTk2NmU1N2YwODg0NmUyN2Y2MmYyMjIzYTZkN2UyMjVkMDk2IGxlZ2FjeS10cnVuaworMzc4NTAgNDg5NjU2ZGJkZjVhN2YzMTEzZjhjZmYwMmQ1MmRiODJlMjZlN2U2NiBsZWdhY3ktdHJ1bmsKKzM3ODUxIGEwNTA4NWE2M2RlYzgzNjRiMTc0ZTliMjgzYzFlMmY5ZDhhOTQ5MzQgbGVnYWN5LXRydW5rCiszNzg1MiA0ZjJiYmQ0NzFhMjFjNTgxMzhkMGNhNjFhMTI0YmUyNGM3YzBiNTU4IGxlZ2FjeS10cnVuaworMzc4NTMgNzEzNzI0NDk1ODJkMzI2ODU2NDczYWQ2MDc2ZWM1NmYxYjJjNjRhOCBsZWdhY3ktdHJ1bmsKKzM3ODU0IGYxM2NlMGJiNjA2YzAyZDk0NDg1MjQzMzI5MzJhM2FlMGFmMmIxNzQgbGVnYWN5LXRydW5rCiszNzg1NSBhOGRlMjE5NWVmZDY2YmRkODQwZmQ2YzAyNGM1Njg4MGU4ZTAzYjFlIGxlZ2FjeS10cnVuaworMzc4NTYgNjc3MWUxODQwYmJjYmYwM2MxODdiMDI5MzgwMzI4YzExNTlmOWZiYSBsZWdhY3ktdHJ1bmsKKzM3ODU3IGI0YWRiMTAyMTEwMzBhYjI1MDhjNWNhMjkwYmUxNjM2ZDFmZTU4MjIgbGVnYWN5LXRydW5rCiszNzg1OCBiODcxYjk0ZjA3YjZkNmYzZmFhYzk2YzE0ZWY0YmY0NWY4MjU1ZDZkIGxlZ2FjeS10cnVuaworMzc4NTkgMzY1NjM4ZGNlNWYzNDM2MDI5ZjI5MTEwZDA0MGM3YmVkZTFjZWY1ZCBsZWdhY3ktdHJ1bmsKKzM3ODYwIGUwMWExN2JjZGYyOGVlODdjY2JmOTZhZDZjM2IyYzFjY2IyY2EzYTEgbGVnYWN5LXRydW5rCiszNzg2MSBmNTMxMTMwM2EzNTcwMDJkNjFmNjFmZDBjMmYwYzlhNjliMGE0ZDRkIGxlZ2FjeS10cnVuaworMzc4NjIgYjQ4Y2E5NmViNDQwOGRjY2RmYzUwNjlhZDhiNjhmOWJiYTc5Y2VhZiBsZWdhY3ktdHJ1bmsKKzM3ODYzIDlhMTMwOWE5MGI1ZGY2ZDBlNGZmMDUyNGI1M2NkYTk2ODM1YTc5ZWMgbGVnYWN5LXRydW5rCiszNzg2NCBiYWUxOTE5Zjg1NDgxZGJmNjBmMDliYWRmNDU0NGNkZjU4MTg5MGNkIGxlZ2FjeS10cnVuaworMzc4NjUgYTAwY2Q2NzAzNDFiYTdmZWNmODk4MzVkNjkxNDc1YWEyODIwNzdkYyBsZWdhY3ktdHJ1bmsKKzM3ODY2IGVhOTU3ZDliMzY5Y2Q4ZGRjMzcwZmNlMzI2OGUxYjg5Y2M1Y2VkNjUgbGVnYWN5LXRydW5rCiszNzg2NyAzMWU0ZGExNjY0YjdlZjYwNTY3YTE1ODA0NTgxYjA0MGU1NjI2Y2M4IGxlZ2FjeS10cnVuaworMzc4NjggZDViYTRmMzA1MGI1ODcwZTI5ZWE1N2MxYjZhMmUwOWE0M2VmM2Y0OCBsZWdhY3ktdHJ1bmsKKzM3ODY5IDc4NzM4YTg5YjIyMzExZGI3MTI1ZjIyN2IwZmFjZGUxMGQyZjE5NjMgbGVnYWN5LXRydW5rCiszNzg2OSBmZjgwZDhiYmVmNmUxMzQyNmM4YTg1ZDdmOWQ4MzdiOGY4Zjg5ODM0IGxlZ2FjeS10cnVuaworMzc4NzEgMjA5NTUwMjU2YTc0NDE2MDFmYWJiMTdiY2E5MzI2ZGE0MmQ4MTUzYyBsZWdhY3ktdHJ1bmsKKzM3ODcyIGVmN2EwMmIxOGVjY2EzOTk4NzA2YWE0NmE3MTIwMjdhODlhYzk1NWMgbGVnYWN5LXRydW5rCiszNzg3MyA4MjA0YTRkMjAxMmNiNzJkZjQyY2FmYjRlMDRjODA5ZTZmODhhNGQ0IGxlZ2FjeS10cnVuaworMzc4NzQgNzE5MzBkN2IzYjhhMjRmMjQ3Nzg4Y2YxYjM3NmY3MjgxYjBhZGEwYiBsZWdhY3ktdHJ1bmsKKzM3ODc1IDk2ZjYyYzY3OThlODFiMTExM2YzZTMzYmYwYzliOTI1ODMwN2MzYmQgbGVnYWN5LXRydW5rCiszNzg3NiA5YjBjNWJmNDcwMGMwODQzMGU1NDc1YzFlYzlkZmZjZDhiM2Y2ZmU1IGxlZ2FjeS10cnVuaworMzc4NzcgOGRhYTVhNDQ4NDAzYTlmZDU4ZTYwYzg4NjU4YzU4MDYxOGUwNWNkZCBsZWdhY3ktdHJ1bmsKKzM3ODc4IDJiOWMyZWQ1YTc2YmZmN2UzYWIwMzBiNDM1OWZlZmI5MWFlZDVjYzEgbGVnYWN5LXRydW5rCiszNzg3OSAyNjRlNDViYWFjZDUzMzFjMTg0NWE1YTIyNjMzOTlhMjA4ZjA5MTQzIGxlZ2FjeS10cnVuaworMzc4ODAgZTk1OTlkOWQ5MWM2ZTcwN2MyMmIxYmNiODA0NWYyY2JiNTRjMzYxZSBsZWdhY3ktdHJ1bmsKKzM3ODgxIDZiZDgwMjFmNzQxY2I4OTgxZTZjYzAwNDk4NDU1ZGIxY2YyMzc0MTcgbGVnYWN5LXRydW5rCiszNzg4MiBiZGQxNGFiNmM1Y2YxNWJmZTdjMTkwZGIxYjU3NGUzMmI3OGQwYzZkIGxlZ2FjeS10cnVuaworMzc4ODMgYmUzNzBhYmIwMjBmOWM5NzViZGE1NmZhYjk0Mjk4MTU3ZjNiYzQ4OCBsZWdhY3ktdHJ1bmsKKzM3ODg0IGMxMGFkYmFkNDRmYWI5OGMyN2YyMjNiYjFhY2EzY2IzM2YwOGMxNmQgbGVnYWN5LXRydW5rCiszNzg4NSAxNTc2ZTg0NWM1N2JkYWRlYzc3ZDQ1MzhmM2EzNjQ1OWQwNzg1MjAwIGxlZ2FjeS10cnVuaworMzc4ODYgYThmZjZlZDg1NmU4OTNiNDdmMzQ3NGQ0NzI1ODkyZTk2MzhiMTU3NyBsZWdhY3ktdHJ1bmsKKzM3ODg3IGMxNDgzZjBlODAwZDAyZThlYzAxMDkwNjAwNDlhYmI2OTA5OTZmNjEgbGVnYWN5LXRydW5rCiszNzg4OCA3Zjk1ZmU5OGQ4MjE2ZDIxNjhlODRjM2RiOGM3YjZjOThmZDE5MTgzIGxlZ2FjeS10cnVuaworMzc4ODkgNzEzNThmNjU3NWI2YWZlMGVmZDE1MzRjNzU3ZTUzMGVhMjg4ZTBmZSBsZWdhY3ktdHJ1bmsKKzM3ODkwIDdlOTliMDY4MGFkZjExMzIxMmRiOGNjODdlMjhlY2JlODFlMDU4NGQgbGVnYWN5LXRydW5rCiszNzg5MSA4ZGE1N2MyOGI5MTBmNTEzODI5MWI4ODc0Mzk3ZWNiMDZhZWQ3NjRjIGxlZ2FjeS10cnVuaworMzc4OTIgODFhMWY3NTRkMzJjZDIwOGY3MzUwMWViYWU0MzBlOGRkZmEwNDYzNCBsZWdhY3ktdHJ1bmsKKzM3ODkzIGM4OGQxODQxODA1M2I1NGIzNDUwMzBkY2FkMmFkNmJkMGUzZjQyODkgbGVnYWN5LXRydW5rCiszNzg5NCA1YmUzMWEyMDdkODZkN2Y0ZWMxNWIxZDQ3Yzc0ODgwNGU5YzgxYjg1IGxlZ2FjeS10cnVuaworMzc4OTUgN2E1YTU2YTE3Mzc3NTkyNmU5ZDNiZTM1ZTg3NWI1NjY0YmI1MjFjZCBsZWdhY3ktdHJ1bmsKKzM3ODk2IDE2MzQwOWE2MDFiZWY0MWNiZDc4OTIzYjA2M2RiM2UxNGM5N2I2OWMgbGVnYWN5LXRydW5rCiszNzg5NyAyYzgzYjYyMmEzZWU2OGM1YTk5ZDI2Zjk0Zjk3ZDI2YmY5MGJjMzViIGxlZ2FjeS10cnVuaworMzc4OTggYzljNzc5NDA2MGIwZTZlZGI5MzE3ZDAyOGRiYTQwMDc0ZDBhMWE5OCBsZWdhY3ktdHJ1bmsKKzM3ODk5IDdlOTU1ZTk4N2Q2OWNhN2Q3MjMwYjUyOTUwZjJiYjJiOWZjZWFkMDUgbGVnYWN5LXRydW5rCiszNzkwMCBkMzNiM2EyYjA5NGNiODNjOGM5ZDA4ZGE2NmM0ZDcyYTExYmE1YzVhIGxlZ2FjeS10cnVuaworMzc5MDEgZDA3MTZhYjAzZDlkZGM0NTA3Yjg3MTE0NzMzNDIyOWY2YzZiMDNmMyBsZWdhY3ktdHJ1bmsKKzM3OTAyIDZhODA2ZmRhNjY4ZDZjNWY0YWUyMzkwODg4OTNjOGY0ODMyZGFiYTQgbGVnYWN5LXRydW5rCiszNzkwMyAyODMwZTZjYjQxNTc2NWIxNTNlNjNiZWE3ZjEzZDZhYTMzZWM4ZTViIGxlZ2FjeS10cnVuaworMzc5MDQgZmJlYTcxNDgwMmIzZGE5NjIwYTUxMTA2ZDBlZmIzNTY5NDBhZjNmNyBsZWdhY3ktdHJ1bmsKKzM3OTA1IDdhMTI5MDQ0MzhkNmNhNzk3MTA3MWU1MmVhNWQzNGJmZDZkODVlOGEgbGVnYWN5LXRydW5rCiszNzkwNSBmMzFlMThkMzEzYzdhNGZjNjY5MTRiMmQyN2UxMzBhMGY3MmMwYjY5IGxlZ2FjeS10cnVuaworMzc5MDcgNzE2MzA3ZjdlNjE3YzQxODUxM2FmMGI5Y2ExMWJkYWRhNzgwOTViMSBsZWdhY3ktdHJ1bmsKKzM3OTA5IDYzYWZjMmQxYjBkYTM3MjJlMzA1OGZmZjYyMjk2ZTBhODA0NjAxODIgbGVnYWN5LXRydW5rCiszNzkxMCBjZjNmOGJlZTdmN2FiMTJhOTNiZTQ3MjQzYTY1MmEzZTgwNWMxMWQ2IHJlbGVhc2UyNC1tYWludAorMzc5MTEgMmVjZGM4M2ZhODZjZDJiOTNiMTFlNTBlMDNkMTg3MmJkZjg5NTc4ZSByZWxlYXNlMjQtbWFpbnQKKzM3OTEyIDM4NDMyYWQxMWMyYTQyMjZhZTZmMzI4ZjUzOTVmMGFiM2M2ZTZmZmMgbGVnYWN5LXRydW5rCiszNzkxMyBhZWQxZmVkMzdhZDU4NjU2NzNmY2EwNjljNWMzYzhmYWUyZjc3OWU1IGxlZ2FjeS10cnVuaworMzc5MTQgZmQxYmU0OTRjMzFiNjNlNjExMDE1ZDVhZTRiNTFkN2M0MzQxYTk5MiBsZWdhY3ktdHJ1bmsKKzM3OTE1IDhjZWNiOGRjNDNhMzgwN2JjZjNhZTk1NjU1OWI0ODM0ODRmZjZkODcgcmVsZWFzZTI0LW1haW50CiszNzkxNiA3OWQyYWUwYTYyZWZlYjc0MGQ2NGZkZjIwNGViNmUyNTA0ZWM3ZDVlIGxlZ2FjeS10cnVuaworMzc5MTcgYTZlMjUxZGU1ZTQxYmRkODJkODU2N2Y3NTE1NjNlYjY5ZDZkNGQ1YiByZWxlYXNlMjQtbWFpbnQKKzM3OTE4IDcwMjZkMDM4NTA4MTE3MjBiYWNkNWI2YWYwMjVjZDkzZjYzMmNiMDggbGVnYWN5LXRydW5rCiszNzkxOSAxYzRkYmU0YTA2YmQwNTQ5YzBiNDM1OWM0OTE1MjI1N2RjYmFkMDFjIHJlbGVhc2UyNC1tYWludAorMzc5MjAgMjE3ZDc0MTA0OWMwZDYyNmY0N2FhNTMyNzFhZDdmYjdkNTY2Njc5ZiBsZWdhY3ktdHJ1bmsKKzM3OTIxIGM4NzI2MWNlN2FjOTMyNzU0YzZlOWU3ZTdmM2E0YmQ1MTU2NmI0ZTQgbGVnYWN5LXRydW5rCiszNzkyMiA4ZWFmODA4ZmQ5ODBjMTA3ZWQ0NDc4ZGZiYjljZjk1OTBhN2VlZGM2IGxlZ2FjeS10cnVuaworMzc5MjMgZTQzNTMyYjg0OGQ3NWQ4MDNhZWVkNmViNDdkMzQ2ZmE3ODc4MWM3NyBsZWdhY3ktdHJ1bmsKKzM3OTI0IDdlNjQ4MmFiOTQ1NWRhMTc3NzUzNGUyMGM0MTk3YjViZjYwMTVlOGEgbGVnYWN5LXRydW5rCiszNzkyNSA2YmZiMGFiODgzZjIwZjc2YmNmNDNlMjAzZDdmNjYwZDU0OWI5OTFlIGxlZ2FjeS10cnVuaworMzc5MjYgZGE5NjdmYjdhN2ZiNGY0M2ExNThhOWQ5NDgzYTliYTc2OTc5YTYyYiBsZWdhY3ktdHJ1bmsKKzM3OTI3IDE3MmI0N2ZmMmU0YmIzODBiZWY3YWFlZWJlMjRmMjZkYjE0YjhhOTAgcmVsZWFzZTI0LW1haW50CiszNzkyOCBjZWMzMWVkZWE0MTRmZWY0ZTkyMDdlYmFmY2U1NmE2NTcxZjQ4YWRiIGxlZ2FjeS10cnVuaworMzc5MjkgNGUyNTRmMDI4Yjc2ZmMxYmFjNGNkOGM4MGFjYmFkZDc0NmQ4OTc0NyByZWxlYXNlMjMtbWFpbnQKKzM3OTMwIDMzZjc0OGU1ZDE0MjFjODAzNTcyMTgxODhjYWU1ZWYyYThkYWEzMmQgbGVnYWN5LXRydW5rCiszNzkzMSA4YzgwMjJiODFmMDIwYTZlY2JjZjFlMzkwMGQwOTMwNTQ1OTBmNTdlIGxlZ2FjeS10cnVuaworMzc5MzIgYWJlM2VlNWZjNmMzN2RhMGM4NmUzYzM4MjZiZDJiMjljMzE4ZmY5OSBsZWdhY3ktdHJ1bmsKKzM3OTMzIGYxOGE0ZDkzNzE0MmEwNTJlODBjZDc2NWU1NTI0ZWEwMTE0NzI1YmQgbGVnYWN5LXRydW5rCiszNzkzNCA4YmY3NjViNDgwYjgwZjlhMGJkMGFlMDkxYjc5YjQ0NDk1MzlmYzI2IGxlZ2FjeS10cnVuaworMzc5MzUgNTBlMGMzNDVkNDliM2JiN2JmMDk3MjQzMDhmY2M0ODYxYjRhZThlOSBsZWdhY3ktdHJ1bmsKKzM3OTM2IDRjODEwNmMzNThjZTBiOGQ4YTYzZTAyMzI0OGU0YWE1MDZiNjNmMDUgbGVnYWN5LXRydW5rCiszNzkzNyAxNTdmYWU3Njk1MzZlNjMzYTY0YmY2OTFjNDFlYjE5MjhhYTViODA3IHJlbGVhc2UyNC1tYWludAorMzc5MzggNjExNTYxY2NlNzQwZmZjOGY4N2ZjYzlkMmViMGI5MTkzZTk1YmRmMSBsZWdhY3ktdHJ1bmsKKzM3OTM5IGZiZjZlMDRkZWY2OTAyNGMyNDQ0OTE5NWFlNTMxMDliMjc5ZDViOTMgbGVnYWN5LXRydW5rCiszNzk0MCA0M2MwMGYwZTYzMDU1NTc3ZTcwODUzNDA0ZDA0NDJmNGNiOTBlMWE3IGxlZ2FjeS10cnVuaworMzc5NDEgZjczMjgwOTY4MzIyNzkwODFiODhhNzBlZTM2NjAyMjRjMzY0NWU2ZSBsZWdhY3ktdHJ1bmsKKzM3OTQyIDRiNjAxYmQzNDZhNGY0M2IxMzhjM2U4YmQ5ZmRiODQwYjc1OTZlMTMgcmVsZWFzZTI0LW1haW50CiszNzk0MyBjNGIxM2ZhMThhMTAzZGExN2Y4NThiMzY1NDZmYzgyNWM4YTAwOGJjIGxlZ2FjeS10cnVuaworMzc5NDQgNjA5YmNkYWUxMDhhNjU3ODMxYjI1Mjk3ZWVmOTA5MmY0YTQyN2VlYSBsZWdhY3ktdHJ1bmsKKzM3OTQ1IDIzOTk2MzJmZDllMGUyN2Y3MGE4OGY5NGM5OTllZTI3M2I2MDUyNGEgcmVsZWFzZTI0LW1haW50CiszNzk0NiBkMmYyNmVhYWNlMmMxZjMyMDExNWEyM2ExNjI2ZjI1ZGVjZjIwMWViIGxlZ2FjeS10cnVuaworMzc5NDcgZDYyMDNmYmRhMjUxN2QzODk0MjY4ZmI3ZGI5YmMxZjcyNjJkM2U3OCBsZWdhY3ktdHJ1bmsKKzM3OTQ4IDZlMGRiMDdmYmY5MTg1ZDkxYzBlODQ3MjEzMWNjMjMwOTI1MzUyZTQgcmVsZWFzZTI0LW1haW50CiszNzk0OSBjYzljZTY4MzdlYTliNzNlYzQ4MDM2YmMxZWVkNzFjYzUzNDk1MzViIGxlZ2FjeS10cnVuaworMzc5NTAgOTVkMjc2ZDRmOWU0NjU3OTZhZWRhYjRkYzFkMTUwNTIxYWQ4N2Y0MyBsZWdhY3ktdHJ1bmsKKzM3OTUxIDYyNGU5NjM1YzNhZDExZDcyOWM1Mjg2MGFkZDMxZTIzMGM2NzliMmMgbGVnYWN5LXRydW5rCiszNzk1MiBmMDJjZDBkNGEyYTA1YTdjOTQ2OWM4NmMyNjQ4NzgyOTBiZDFkOWY0IGxlZ2FjeS10cnVuaworMzc5NTMgZWRjMjBkNTM5YTE4MTVkNTgzOTRkODNmZTg1YWNhMThjNzY1MGRhNyBsZWdhY3ktdHJ1bmsKKzM3OTU0IDE3NWY2MTI1NTQ5Y2FkNzFiOGFiNTJhMTRkMDY1ZGMxM2ZjNGFlZmIgbGVnYWN5LXRydW5rCiszNzk1NSAwZWMzNDQ2NjNmNmE5ZWNmODhiMzJiOTdjZGQxMDY2ZjU0ZTY4NDY4IGxlZ2FjeS10cnVuaworMzc5NTYgOGNkMzE3NmZkNmYwMzBiNjA0MjFhZDA0OGVmYWQ1YzEzMjIyNDFlNyBsZWdhY3ktdHJ1bmsKKzM3OTU3IDhmOTI5NTEzOTkzYzkxZGZjNjQ2YWVlMDc3MmUwZTczYzhlZmNhOGQgbGVnYWN5LXRydW5rCiszNzk1OCAyNGYwZGE5MjAwMTA0NGU4MjQ5YjM0OTdiMGMwN2Q4NjRkYzFkYzEyIGxlZ2FjeS10cnVuaworMzc5NTkgNTE3MmMyOGMwYjNjOGM5ODI1MDdkNjEyMTJlMmE1MjE5OTAyOTk3MiByZWxlYXNlMjQtbWFpbnQKKzM3OTYwIGNmNTU1ZWM2OThlYmNlNGZkNmRjY2M2M2JiYWE1MTU4MjM3MGU3YzQgbGVnYWN5LXRydW5rCiszNzk2MSA1M2M2YTk1OWY5Y2ZkNWVkOGYwM2FkYmM1NjIyZDI4MjM1ZjVhMWYyIGxlZ2FjeS10cnVuaworMzc5NjIgMGRmZTYwOGVlY2ZhYzIwY2Y2OTliYjg0YWQ2OTdiNzlkNDNiMjZlOSByZWxlYXNlMjQtbWFpbnQKKzM3OTYzIGI5NjZhYWRlNTQ4Y2Y4YjEzYTcwZTQ2MDVlMTkwMzc4ZTg1YTdiN2UgbGVnYWN5LXRydW5rCiszNzk2NCA4ZmQ3NjZiYjc2YzllNDhlMTAyZDU0NGQxZDI4OWVhMGUyOWE5ZGEwIGxlZ2FjeS10cnVuaworMzc5NjUgZjQwOWQ0YzZkYzYwNDFlYjU0ZjRhY2IzM2M5ZjE2MDVmM2Q2NmM4YyBsZWdhY3ktdHJ1bmsKKzM3OTY2IGNkZGQwMTZhZTA2YWNmZTljYzM5NGMzMDM4ODg0NTQ3NjgyNGFjZDcgbGVnYWN5LXRydW5rCiszNzk2NyAwZjU2YTY2NTVlYmZhMjgzMDFhNmYyMDEzZjVjMDRmZjYyNjZlMzAyIGxlZ2FjeS10cnVuaworMzc5NjggZWY2ZDFlNWViNGQzMjllM2Y5MmNkNmYxZmRiNTI4ZjFlMDYwNTJiMyBsZWdhY3ktdHJ1bmsKKzM3OTY5IDI1NTcxZWE1ZWNhNjJmMDg1YjhhMDE3NzI1ZjA0ZDAxYWMwODQ4OWYgcmVsZWFzZTI0LW1haW50CiszNzk3MCA2OTg5MDkyY2Q5NmQ1Y2Q5MzMxNDkwNjViM2Q1YTRlMTE3ZmRkNTVlIHJlbGVhc2UyNC1tYWludAorMzc5NzEgNDIxYTVkZjUwOGI4NzcwM2YyN2VhOGVjNmI4OGYzZjQ5ZWM4NGUxNyByZWxlYXNlMjMtbWFpbnQKKzM3OTcyIDFkMWQ2Mzc3YWNiMTIzZDE4YzgyYzE2OWE3MzM3NzA4NWFjZTMzMzggbGVnYWN5LXRydW5rCiszNzk3MyA5NTc0MjljNDZiYmY4ZDc1MGU3NmE4YzkwZjc4YWUwNTZiMWEyYjgzIGxlZ2FjeS10cnVuaworMzc5NzQgMDVmOGE0ZmVjMzU2Mjk0NmZhZmZlNTUzZGE1OTYzNWE2NWU4NzU0OCByZWxlYXNlMjQtbWFpbnQKKzM3OTc1IDczYjA5YzJiNzg4YjhhMjIxMmQ0ZTI2NWZlZThhYjk5ZmY5NTVmYmIgbGVnYWN5LXRydW5rCiszNzk3NiAxZDA0OTM2YTY0NTZhMDRhOWZmMTBjMjU5NTVhOWM4MGFlZTRhM2EyIGxlZ2FjeS10cnVuaworMzc5NzcgOWMxZWIzM2ZlMTEwYmNjZDNkOWU0OTQxMTE2ODZmMmIyNjk5ZWFlOSBsZWdhY3ktdHJ1bmsKKzM3OTc4IDk2NzIxYTAzYWUzMDAyNGQ2ZWYxYmI4MTVlMTJkZTI3NzFmYWNhZmMgcmVsZWFzZTI0LW1haW50CiszNzk3OSBhYjhiMGI3MzE3MTdhNTgwMzBjYjgxYTkzOWE1ODNlY2RmNzhiZjZmIHJlbGVhc2UyMy1tYWludAorMzc5ODAgZjBmYzZiZWZiMDYwN2EzMWE3OGEyNmE5NTQzNmRlMzU4M2UzMjM1MiBsZWdhY3ktdHJ1bmsKKzM3OTgxIGNjYzUwZTBiNDY2ZDRlY2Q4ZDIwMGM0YWUwYzEwNjQxMmQ5OGQ4MWEgcmVsZWFzZTI0LW1haW50CiszNzk4MiA0OTc5YTQ0MzQ1NDM0MDk2ZjA5MGVmNGUyYWVhYzgwMzk5ODY4ODM1IGxlZ2FjeS10cnVuaworMzc5ODMgNjBkNDgyZThmODQ1MDE3YzBhZDU1YTk3Y2Q4MTc1MzYxZDQwMGEzZSBsZWdhY3ktdHJ1bmsKKzM3OTg0IDE1MzFiMjVlYmRjZDNiZjM2MDc2ZDRmNjY1MTU3YjdhMmY3ODc4YmYgcmVsZWFzZTI0LW1haW50CiszNzk4NSBlNDZmOThlNzNlNTI3MmFjMDgxNmZmYjc0NzViOTNjYTgwMGU1ZTFhIGxlZ2FjeS10cnVuaworMzc5ODYgZmVkNWE3MzQ0NjVkMzY0Zjc3NTA1ZTdhOGUwNmY5NTc5OGVmN2Y5YyByZWxlYXNlMjMtbWFpbnQKKzM3OTg3IDRlOGZiMTJmODM3ODcyMmFiYTA2ODlhYWQ2Y2Y4ZmQ2NmMxZjE5MzEgbGVnYWN5LXRydW5rCiszNzk4OCA0ZTM4ZWNkMTkxMmU0YTY1NjBhMzJhNDNiZWExOTNmYjk5ODQ3ODNmIGxlZ2FjeS10cnVuaworMzc5ODkgMWE5MzhmNDU2MDUzODUxMTAyYzc4M2E5Y2Q5NWRiNWZiMmJkYzhmYSBsZWdhY3ktdHJ1bmsKKzM3OTkwIDc5MDY2ZWEzOGM1MDMxM2QyMWRiNDYwNjU4ZjM1MDZlZDlhNjI4OTQgbGVnYWN5LXRydW5rCiszNzk5MSA0ZGNkNzhmM2I1ZDFiYTE2YjllMzFkZDA5MDkxNzQyOGE2OWY5NjUxIGxlZ2FjeS10cnVuaworMzc5OTIgNzEwYjBiMGUwN2VlZDcyYTI0MDc3NDMxNDYyNTM1ODA0ZGMxZGVhMSBsZWdhY3ktdHJ1bmsKKzM3OTkzIDAxNWI4OTJjOThlZTI0NjZhOGI0M2RjMmFkNzgyMjAyODAyMmEzNTQgbGVnYWN5LXRydW5rCiszNzk5NCBjZTRiZmJkOWExNmNkNTg4YTBiN2ZlOGRlYjM0MTcwNGFhYTUzMDc1IGxlZ2FjeS10cnVuaworMzc5OTUgNTkxMmI0MTgxNTg0NjE5ZTdjNWM3YTlkYWY1YTA4NmU3ODA0ZDA2MiBsZWdhY3ktdHJ1bmsKKzM3OTk2IGE4NTdjMjVhMzdiOTY4ZjVmYTFiNTY2NjVmNWU4N2NkNmJjYzk1YjkgbGVnYWN5LXRydW5rCiszNzk5NyAwYTZkZDNmMmFiYzdkMzhjOWZhNzMwMzU3NGUzODZiYTAwMGM2YjI5IHJlbGVhc2UyNC1tYWludAorMzc5OTggYWZlOTBlOWU0YjQ4NGQ4NzlhYmYyMzc0MzdiMWE4NDhhNGZhZWQ3OCByZWxlYXNlMjQtbWFpbnQKKzM3OTk5IDQ5MjY1Mzg1Nzc4MmZlNjNhY2FiZmY3YjFmMzZjNzc3YWE3N2VjMjIgbGVnYWN5LXRydW5rCiszODAwMCAyMWFiZWNlYWFiYWQ2ZDYxYjljYTVhMDg5Mzg0YjBiOTc4OTBkYjBkIGxlZ2FjeS10cnVuaworMzgwMDEgZjA1ZGQxODE2YzFmN2NkZjVhNDY4ZWQxODEzMDhkMzkxMDUwNGJiZSBsZWdhY3ktdHJ1bmsKKzM4MDAyIGQwYTA5Yzc5NzQwOTY0ZTIwZjE5NzIyZWY2ODM2NjdjYzY3YTc3YzMgcmVsZWFzZTI0LW1haW50CiszODAwMyBkYjhmNjk5ZmY3ODI1ZjdmMTdmNWRkNmZkYTcxY2IwMDYyMmFkMzdlIGxlZ2FjeS10cnVuaworMzgwMDQgYjEzMmJhOTI1OWFiMTRmNWE0ZWU3ZTkzNTU0Njk3NWMwMDdkNzE1NSByZWxlYXNlMjQtbWFpbnQKKzM4MDA1IDcxZDcxMGUzMzZkZmNhYjk5NTY1MjYyYjUyMmZjNzA0M2IzMTE2YTggcmVsZWFzZTIzLW1haW50CiszODAwNiBiZWRiMzQwZjEyZjk3MGEwMjgwMzRkMjFmODY5NjRkMmQ4MWY1MzMwIGxlZ2FjeS10cnVuaworMzgwMDcgNzUyZmE4NmYwNmQyNWMzMDM1OGZkNDQyZjkwZjI5MmUyZmFiNWMxMSBsZWdhY3ktdHJ1bmsKKzM4MDA4IGMyZWJhMDRlMzA0MTUxMDgzYmZhZTlkMzg0ODQ5ZGQ0ZjRlNmM1N2MgcmVsZWFzZTI0LW1haW50CiszODAwOSA3NWYzYTUxYTRlMzNkYjY1ZmQ5M2NmNTQyZWVmNmQ3YTg3MmEzZGNmIHJlbGVhc2UyNC1tYWludAorMzgwMTAgMTY4MDNiMDM5NjRlNGQ1MmE1NjYwZGNiNmVhOTUwZjc5OTg2Mjc3NyByZWxlYXNlMjMtbWFpbnQKKzM4MDExIDY1NzRjNTE1ZTAzNTY2YmE4YjYzNzkzYTM5NTYxZWVjYmQxMjZjZDQgcmVsZWFzZTIzLW1haW50CiszODAxMiBiZTQ1MGEzMzVlOTY5NmUzZGIxZGZmYTY5MGQzNzM2OTJjZTMzZWYxIGxlZ2FjeS10cnVuaworMzgwMTMgYTY1OWIwY2VjYjkyZjdkZTM2ODE4NGE3NjBhMDc4YTlkYjgyYTk4MiBsZWdhY3ktdHJ1bmsKKzM4MDE0IGU2OTJlNzdjYWQ1ZDVhNDNkNWNlNzliOTFiZmQ1ODUxZjhlMjhiYTEgcmVsZWFzZTI0LW1haW50CiszODAxNSBkZTQ3MDFmYzE3NmY5ZTQwMDhmNTAzNmY0MmYxNGRiMTJkZTYyYzY1IGxlZ2FjeS10cnVuaworMzgwMTYgYmJkYWFjYzQ0ZjZmNGEwYjNmOWNlODNhMzVmZGZlMTZiYWJhODg1OSBsZWdhY3ktdHJ1bmsKKzM4MDE3IGE4Njg2NmJhYzM2NmI4ZDhhY2Q0NTljYTg1ZTBjNDA5ZmRmM2MzYWEgcmVsZWFzZTI0LW1haW50CiszODAxOCA1MWIwZDE4ZGE0NDdiNzM1MzEzMTc3YWRmY2MzMjBkZDIxYzU1M2RmIGxlZ2FjeS10cnVuaworMzgwMTkgYzI5NGIxMTMyM2QxN2E0N2QyMzFmNjhmNTFjOGNhOGUyMzk1NGQ4MCBsZWdhY3ktdHJ1bmsKKzM4MDIwIDI1ODU2MGFkYzQzYjMxYjVlZjgwZTUyOWUxZTFhYTQzN2ZmMTBlNDggbGVnYWN5LXRydW5rCiszODAyMSBmMWVkYjQ3Y2U0ZmFiNDZiOWQ4ZWMwNDE4NmM3MzFhZGRiZmYzNDYwIGxlZ2FjeS10cnVuaworMzgwMjIgMzYyNmRiNDMzMTA0ZTA3MWQzMzkxZWY0ZmE0NDIxZDAwM2ZkZGU1MCBsZWdhY3ktdHJ1bmsKKzM4MDIzIDBmMDA3MjdhMjdiMzBiZTk5MjA3MWU1YmRiYWEyMWRmMDYwMzAwZjMgbGVnYWN5LXRydW5rCiszODAyNCA2OTYxMWM3Y2QyM2JkZjQ3YzQwNjY1MDBlYWYxYzRmYjhhZDcxNWZjIHJlbGVhc2UyNC1tYWludAorMzgwMjUgY2EyY2ExYWViMDgwNTNiNjk3ZjJjZGRmN2Y4NDg5NjkyYWE0OTVhZiByZWxlYXNlMjQtbWFpbnQKKzM4MDI2IDhiMTE0NGJhNzM0ZWZhZTFmZmJjNTQwZmNhY2RlYjdlNjUwZjgyZWYgcmVsZWFzZTI0LW1haW50CiszODAyNyBjYjU0ZjExNTNiOTM1NGU5ODJlZTliZjQyYTBiMDY5M2U5NjQyYWExIGxlZ2FjeS10cnVuaworMzgwMjggNWVhMDI1YzQyMWQ3YmI4Nzc3ZDUzMjYxMDFkOTY3ZDIxMzAwM2I2ZCBsZWdhY3ktdHJ1bmsKKzM4MDI5IGMyMGY1YjM4ZmEyMDk2NGFkNzJkZjVjYmUxOGNlYWM2MDgzNGY2YjcgcmVsZWFzZTI0LW1haW50CiszODAzMCBlNTM2OTNhMDJjZjA1NWQwZGY5MjYyNmZhNmVjODkyNzY0YTI0NzZjIGxlZ2FjeS10cnVuaworMzgwMzEgZmRlY2JhMjZmYzg3ZGJmZWQ5ZWY0NTIyNDMyNzFmNDZiZDUzMzEyNSByZWxlYXNlMjQtbWFpbnQKKzM4MDMyIGIzYWZjMDFjMDVhMDVhNTZhM2I0NjBkYWJlY2EwOTRiODJkYTZmYzUgbGVnYWN5LXRydW5rCiszODAzMyBkYjliNjQ5MzlkNDVjNzI4ZWRjNDRkOWFjYmM3MGJmMzAzNDA3NWRlIHJlbGVhc2UyNC1tYWludAorMzgwMzQgODBmMDFmZGJlZGViYzQ5OGIyOTdiMjE5ZGYzMGU3OGM0MmJlMThjNSBsZWdhY3ktdHJ1bmsKKzM4MDM2IDZjMDJmZjkwMmY4MjBkNjJkODUzNGI1MzBiMGMxYWYwNzI3Y2E4YTMgcmVsZWFzZTI0LW1haW50CiszODAzNyAxMzAyMWQzNTEzNTg2M2Q1Y2YxNjdkY2M3OGRjZDVlOTIzNmI3MTBjIGxlZ2FjeS10cnVuaworMzgwMzggMjE0NGEzNTJhYTM3ZmMwYjFjYTc3MTMwMWI1NmZmMWEyYzI5OWI1OSBsZWdhY3ktdHJ1bmsKKzM4MDM5IDMwYjk3YzFiYjEyZGRmMzJmOWVhYjQzZDZmN2E5YjlmMDYwNGYzOWMgbGVnYWN5LXRydW5rCiszODA0MCA5YzNhNjRjMjgxZTFiMzVhMDFmYTNmMGFjODI1YzMzNzk0MThkOTUyIGxlZ2FjeS10cnVuaworMzgwNDEgMDViYzhhY2FmMGJiNGM2YmMyMWU5ODJjMzFkMmIwNjJhYjZlZDk3NSBsZWdhY3ktdHJ1bmsKKzM4MDQyIGU4OWIxYTI0MGZmN2VkMTUyYjU3YTU4MjkwZjRmNzc1ZGQzMmI2ODUgcmVsZWFzZTI0LW1haW50CiszODA0MyBjMTM5YTQ5OTdkOWYxNGM0Mzg4ZjFiMzBjMzZmMWE5MDdhZDU3NDhjIHJlbGVhc2UyNC1tYWludAorMzgwNDQgOGZkYWE5N2E4YWMzNDM1ZWVlYTZjNGRlYWEwN2IyNDA4NjQwYmZhNSByZWxlYXNlMjMtbWFpbnQKKzM4MDQ1IDExZGIyOGU5MjA5ZmVkM2UzMTUwMWUxOTRhNGZhM2E2MGFjMGJmNWQgcmVsZWFzZTI0LW1haW50CiszODA0NiAwZWZjYzE2ZjVhMGQxNjU4YWU4YzU4NmZmYWYyMzNmZTJlOGE2NGZlIGxlZ2FjeS10cnVuaworMzgwNDcgNDcxNGFmZjRiZjc1Mjg3ZmYzMWFhZjQzOTg5MDY1NDBiNjE0NDg0ZCBsZWdhY3ktdHJ1bmsKKzM4MDQ4IDllODE5NWUyMWRhNjllYjJjMjNlODBjMGNmNjQ5NmE1OGJhM2FkMjMgbGVnYWN5LXRydW5rCiszODA0OSAzNmNmOTRmNTc0MTUxZjRiZGIzNWJiMTM2Zjk2NTBkYTRmYjJiOTIzIHJlbGVhc2UyNC1tYWludAorMzgwNTAgNmY0YTZlOWFkNmYzM2FiYmZhMmEzNTk4YTE2ZmJhNWMxMzA3NjhjZSByZWxlYXNlMjQtbWFpbnQKKzM4MDUxIDUyMWJlYzYwZWIzMDJmY2JjMzUyMDA1MDkwNjRmMDVlZjAyZjU3YTggbGVnYWN5LXRydW5rCiszODA1MiAwNDcwZDc1NDE3ZmYxNTVhNzQzMDQ4ZTdmMjE5M2M0N2NhMDdiMzU0IGxlZ2FjeS10cnVuaworMzgwNTMgZDA0NzAxZTU5ODcyODQ3OTc3ZWQxYzZhNzhlMzlhNzQ1NGI4OTlhMCByZWxlYXNlMjQtbWFpbnQKKzM4MDU0IDQ0ZWJmOThhNTg2ODIwM2QzNmI0ZWY1NzQyNzgzNDA1ZDgyZjhhZTYgcmVsZWFzZTIzLW1haW50CiszODA1NSBhNGJkNWQyMWM4YjI2Y2IyYWYxYjEzMjVmMDU5YzRlMmMzZTgzM2E0IGxlZ2FjeS10cnVuaworMzgwNTYgY2Q0ZGQ2ZGQ5NzIxYmRhNzBlMmIwMTc4MDE5NDI4N2ViZGYxMzk2ZSByZWxlYXNlMjQtbWFpbnQKKzM4MDU3IDk4ZDc5YjQ2OWU3NGQzMWZkNzJmODA2ZTkyZTU3ODE5ODMyOTM4YTggbGVnYWN5LXRydW5rCiszODA1OCAxMjg1Y2ExMzQ1ZDVjMzEzMWRiNzQ3MzExMmQ3Njg1NTA2NDE0MzcwIHJlbGVhc2UyNC1tYWludAorMzgwNTkgYTIzNDI4NGY5ZTA2MDJmMWM1ZDRkYjBlY2U1ZmY5M2U5ZWQ4N2RlNiBsZWdhY3ktdHJ1bmsKKzM4MDYwIDQ2ZmEwZTIwY2JjZmU0MDg2Zjg3NmVmNzNiMjVhZGZkNGE5MjAwMTQgcmVsZWFzZTI0LW1haW50CiszODA2MSAxOTkwZjdlYzBkOWFkMGIwYTc5MjEzMDIxNWQyZTU5NmMzYmM0NTk0IHJlbGVhc2UyNC1tYWludAorMzgwNjIgZGFiZDQzYmYwZGRkZmVlZDVmZTg5ZGZjM2VmNzA1MmVlZDhhMjc3YSByZWxlYXNlMjMtbWFpbnQKKzM4MDYzIGJlOTc2ZGRmMGZmNzA3MjFjZTQwYTM0MTc0ZWI2MDAxYWRiZDllNWUgcmVsZWFzZTIzLW1haW50CiszODA2NCBkNDcwMmU2N2UxMTk3ZmIyOTNjOTAxODkwN2Q0NGI1NzNlOTg5MzIzIHJlbGVhc2UyMy1tYWludAorMzgwNjUgN2ZiNjdhZTkzMTI4ZTE5NTE2NTc5NWY0MjBmZDkxYjIwYmM1MmYyZSBsZWdhY3ktdHJ1bmsKKzM4MDY2IGEwYzdkZjUyYmE0MTU3MzFhOTJkNjY0NTZkODgzM2E5MjZiM2QwMGUgcmVsZWFzZTI0LW1haW50CiszODA2NyA5Y2I4YzY4N2YzZDY3ZmZhN2JiNmM1OGU4ZDIyMzhiMWQzZDEyOGYyIGxlZ2FjeS10cnVuaworMzgwNjggMzA4ZWZkNzI2OGMyNmNlYWExZWU3ZmE5NmVhOTk1OGJkNzdhZGViNyByZWxlYXNlMjQtbWFpbnQKKzM4MDY5IDdkNWQ2YmRjNGY5NzlkNWE4NWE4MDY4MzEzZDgxMGFmNjAyMTdhY2YgbGVnYWN5LXRydW5rCiszODA3MCBlYTM0MDAwNmMxZjMwYjg2ZTExODI3ZjYwYTk4M2RjMjU5Y2IzYjVmIHJlbGVhc2UyNC1tYWludAorMzgwNzEgODZhNjBkNGZhODdhMzU2YWNiNjc0MGRlMGZlN2I1MGMzYTZjYWYxMiBsZWdhY3ktdHJ1bmsKKzM4MDcyIDE5Mjg2OTk0Zjc0ZjMyYTMxNjA4MWFmZWRlNTY2NWE3M2Q5ZTEwN2IgcmVsZWFzZTI0LW1haW50CiszODA3MyA3YzQxM2QzYTQwYTUyYmEwY2UyYWNhM2FiNTdkOTc3MDhlZjYwNWVmIGxlZ2FjeS10cnVuaworMzgwNzQgMDJmY2I1ZWI4NGNiNmExZmJjNmZmNjg2MThlMWU1MGQzNWY2N2M1NCByZWxlYXNlMjQtbWFpbnQKKzM4MDc1IDAzNGM2MTFiMmU4NDRlMGNlNWFlY2M2ZTBlNDY1YWU3MTczYmU3NGIgbGVnYWN5LXRydW5rCiszODA3NiA5ODY1NGJmYTgwZWE1ZGRiMjQzMzg5MzUwNzUxM2E0OTg0MjkwN2E5IHJlbGVhc2UyNC1tYWludAorMzgwNzcgMWU4YjAzM2Y5MWRjM2JhYTk5Zjk4YmY2NGIyY2JjNWZlZWI3MzcyOSBsZWdhY3ktdHJ1bmsKKzM4MDc4IGE2YmEyOGQxZDgwNmFhODMxNDg1MzJiMGQxYWI1YWM5ZTJhNmMzZmMgbGVnYWN5LXRydW5rCiszODA3OSBhYmUzMTQ1ZGRlNGU3Y2Y2ODdmOWMyMTdmMDI3YmZkY2FkNDRhN2ExIHJlbGVhc2UyNC1tYWludAorMzgwODAgYjY2MTk0MjNjMTk2MTAxOTUyMDE4ZjgzMmI1ZjNkNjY3N2FmODlmYiBsZWdhY3ktdHJ1bmsKKzM4MDgxIGMxYjQ0MGVhY2JiMTgwYmZkOWRkOTQ0YTFhODM2ZTY1Y2Q3MmQzYjEgbGVnYWN5LXRydW5rCiszODA4MiA5OWUzZGRiM2E3NGFhZDc5ZmMxZmMzODI3YzBiZWVhNjkyOTU2MWNjIHJlbGVhc2UyNC1tYWludAorMzgwODMgOGQ2MDA3N2U5OTUxNDkwYThlMjg0ZTU4MDliZjA2ZmZkNDkwZjM0ZiByZWxlYXNlMjQtbWFpbnQKKzM4MDg0IDY3MTkzNjkwODNjMWViOTIxOWU0NjgyZmRlZjNkZGI5MDE4OTEwNWEgbGVnYWN5LXRydW5rCiszODA4NSA5ZGM5NmFjOTQzNDIzODJkZGNmYjI0NTRiMTA2MDFmZDBkMjEyODliIHJlbGVhc2UyNC1tYWludAorMzgwODYgMmFhOTZlZTNmY2I1YzkwYjcyZDI1MDAyNDEyOTQzMzhlZjJmNmViYiBsZWdhY3ktdHJ1bmsKKzM4MDg3IDRhMGMxZTUxN2U2YmIwZjU4ZmQ3MzM5YjhkYzU2NjBmZTBlMDM5ZDQgcmVsZWFzZTI0LW1haW50CiszODA4OCAzOTExNzI2YWVjYjkwMDFlNzE5NWQ3YzY1Zjg1NTExOWRiMGYwY2VkIHJlbGVhc2UyNC1tYWludAorMzgwODkgNjQyZGIxZmIzNDgxYjMzZGFkMDY5NzY1NzU1MGU4NDc5ZDU0NTljNSByZWxlYXNlMjQtbWFpbnQKKzM4MDkwIGJiZGMxZDczMTBmNDk3YTc4YjUzMTZiMmU0ODhiYTQ2YjViNWNhMzQgbGVnYWN5LXRydW5rCiszODA5MSBlYzE5MjVmMDdlYzk3ZTAyYzNkMTc2YjgzYjMxZjdiNzQ1MTY1ZmViIGxlZ2FjeS10cnVuaworMzgwOTIgZTIwODhhZTBkNjdmZDY2N2ZmYjNiNDJhNjMzYTBiYWZhMGU1NTY4OSBsZWdhY3ktdHJ1bmsKKzM4MDkzIDU3YjIzZTU3NWZmYzYzMGMyOWM0NGZmMDJhMmM0MjhkY2VkNWQ4NmMgcmVsZWFzZTIzLW1haW50CiszODA5NCA5NWJiZTk5MWZjYzMzMTlmOGY5OTY2NGQxNjA1OTA1NGIxY2YyZGE1IHJlbGVhc2UyMy1tYWludAorMzgwOTUgY2ZkYmZhNTRkYzZhNzAxY2I1OTAwZTMzZjdjOGM5NjhlMTZiOGJlYyByZWxlYXNlMjMtbWFpbnQKKzM4MDk2IGE3ZmZkYzA5ZjAwMjY3ZDc2NDhmNGJjY2RhNjBhNzdkZTlkMzg1NDQgcmVsZWFzZTIzLW1haW50CiszODA5NyA2OTQ2NzBmNjUyNTFkNWNmODBmZDEzM2RkNzUzMTVhYTRhOTcyZWUwIHJlbGVhc2UyMy1tYWludAorMzgwOTggOTNiMWIwYmViYTU5ZjkwMzYyNDdhNjU3NjBjMWMyMTVlODZkMGI2YSByZWxlYXNlMjQtbWFpbnQKKzM4MDk5IGFiMWExN2M2MzNhZWJlOTcwNGE0OTllY2Q4ZjU4N2ZhMmEwNWE1ZTEgcmVsZWFzZTI0LW1haW50CiszODEwMCBhNGQ4NjllY2VmMzM4YmViMzJlZjIyMWNkYzQ3ZTFhYWU3YmExN2I5IHJlbGVhc2UyNC1tYWludAorMzgxMDEgYzBjYzY2MDFkZGFkYTJlYTUyMGU1MWFlNWQyMjFmNmMyMjQ2NDBjYiByZWxlYXNlMjQtbWFpbnQKKzM4MTAyIDkwY2QyNGExZWUxMjQ5NjEwMjRjYmVmM2U2MWUxMGNhNGVlZjg1NTYgcmVsZWFzZTI0LW1haW50CiszODEwMyBhZWEyMjM3YjM4OGZmNzJmZTk2OGZjMTEzZWQ3Mzg4NGI1MzFiYWYzIGxlZ2FjeS10cnVuaworMzgxMDQgMjkyMDY5MWY2M2YwNjg3Y2JjNTAwYWMzMjAyNTM4NTJmZjJiYTBmOCBsZWdhY3ktdHJ1bmsKKzM4MTA1IDkxNDUzNGY2ZWY2MTI2YTQ2MmYzZjZjZTVhODFhODcxYjc1ZmE1MDMgbGVnYWN5LXRydW5rCiszODEwNiBhMTVmYTA1OWY5ZjAzMDA3ZDE3MzU2ZTU1ZjQwMGU4MzJhNWI2YzA5IHJlbGVhc2UyMy1tYWludAorMzgxMDcgYzllNWQxZDFlODg3Y2MwM2FjNWZlODgwOWMxNDg5ODMwMzE1ZjJmNSByZWxlYXNlMjQtbWFpbnQKKzM4MTA4IGRmMGMyZjNhY2M3Yzk2MWIwOTcwNDllYjRhODA4OTMxZTBiMjM3ZGQgcmVsZWFzZTIzLW1haW50CiszODEwOSBiMDQ0NzM1YzkyN2IxMDQyNjEyNzg2N2ExNTE4MDI4NDA3ZWI0ZWEwIGxlZ2FjeS10cnVuaworMzgxMTAgNDYzNTM1NjhlNDBkOTlkM2NlYjUzMWY3MTJiNmYyODhlNWM3NWQyZSBsZWdhY3ktdHJ1bmsKKzM4MTExIDk5ZWJlYzJiZTAzMTI5MjFmODM2YmJjNWE4NzMyNTkxNzI5Mjg2OTQgbGVnYWN5LXRydW5rCiszODExMiBhYWJhMWNlNGIzY2EwNWZkOTIwZDZjZDcyZjYyNGQ5NWRjZGFmOTk0IHJlbGVhc2UyNC1tYWludAorMzgxMTMgODZjM2E3YzZiMDBhMWFiMjgwMmIyNTU1OWFkMTJkOTJkYjE1MmY4YSBsZWdhY3ktdHJ1bmsKKzM4MTE0IGY1NGUxNDAwMGQ2YmQwZTJhZjFhM2NjOWI1ZjJjMTkzODU5ZTQzM2QgbGVnYWN5LXRydW5rCiszODExNSBlODJkMTgzMjU4ZjljMTA2NGE4ZmU1ZDM2NzMxMWVmNzM0N2Q1ZmZhIHJlbGVhc2UyNC1tYWludAorMzgxMTYgNTc5OGFhNjU0ZWM2NDBkOGRhOTk1MzEzMTYzYmMwODRmYjRhNzYxNyByZWxlYXNlMjMtbWFpbnQKKzM4MTE3IDI4ODkxZGMyNTU4MGNhYWM4N2IwYzBjMmFiMGZmMjkzOTI2OWI4MWIgbGVnYWN5LXRydW5rCiszODExOCA1ODQwMjNkYWM0MDY5MTViNTY4NzJkMWM4OGEzNWE3YWUyOGIxMjQ5IHJlbGVhc2UyNC1tYWludAorMzgxMTkgNGVjMDA2Y2EyYjkxYmVhN2U1MmQxODI0NWEzZDAxNWIxNTNhZDdlNCByZWxlYXNlMjQtbWFpbnQKKzM4MTIwIGU4MTE1MjE1MjQzM2ZiMThhZGQ0ZTlhZDAyOTdkNzBhZDg4MDc3MzcgbGVnYWN5LXRydW5rCiszODEyMSBjNzAyMzkwYThlMTIyMmU5NzkwMDdlMWNhNTNhOWQ2NDg0YzRlODk5IGxlZ2FjeS10cnVuaworMzgxMjIgMGQ5MTYzZGE2MWEzYmIwMDM1NDk3YmQwMDBhYzNjNmQ5MDU1ZDhiNCBsZWdhY3ktdHJ1bmsKKzM4MTIzIDY0NjE5NWI1OTIwNTc3ZDRmNWI2MmVjNThmZWFiMmRlZGU4YTI1NDQgbGVnYWN5LXRydW5rCiszODEyNCA3NGE5MWU0NTU5Y2E1YjI1MzIwMzUzNTViOGQ4MGNjNjg0Mzk2ZjlkIGxlZ2FjeS10cnVuaworMzgxMjUgMzIxYmMyZDQ5YTVhMmUxMGZlYzRlNDNkYzBkYmU4NTBjMTg4MjkyNSBsZWdhY3ktdHJ1bmsKKzM4MTI2IDU4NmE3NmY5NmIwOWRkNGYyNGJjMzllNzg3NDAzOGRmZjY0ZWRjYWYgbGVnYWN5LXRydW5rCiszODEyNyA1ODk4MWZlOTBiZWZhNGU3MDA4NDc4YzlmMmQ4ZDYyMjRiMDIwOWM4IHJlbGVhc2UyMy1tYWludAorMzgxMjggMTkxNGM0ZGI0YjI4NjBjOTY1NjNlNTBiOGE4YjhkZDczNDBlMzIxNyBsZWdhY3ktdHJ1bmsKKzM4MTI5IGIyZWNkYTRkZDcwZmRmNjhjMDUwYmVkOGFjZmQ4YjIyZDllODZlYjMgcmVsZWFzZTI0LW1haW50CiszODEzMCBhZjAxMzM2ZmYxOWRiMzA2ODI5NmE4YTY4MzJiNjI5YmFmNmZjMDQ2IHJlbGVhc2UyMy1tYWludAorMzgxMzEgMDQ0MjcxNzRjZjZhYjEzZjdlZjliZjhhMTc1MTIyMTRiNzkzYWYzYyByZWxlYXNlMjMtbWFpbnQKKzM4MTMyIDA1NWRkN2Y5MGIxZWE4YjZlZTZjZjg1NWJlYjhjNWZmZDVkMGNjZWQgbGVnYWN5LXRydW5rCiszODEzMyBhOWEwMzM2ODI5YmEwNDAzZWM3YzEzZmJhOGMwNWQzMmM1ZjU1ZDZmIGxlZ2FjeS10cnVuaworMzgxMzQgMDAwNmIyZGQzN2MyMzY5MWQ2MjFlYjRiMzA1MzM0ZDlmMzY3ODhiYSByZWxlYXNlMjMtbWFpbnQKKzM4MTM1IDAwNTYyZGFiZmQ0ZjM3YjgzMDg3YzY1YjQ1Mzc5MzNjNGU2YmUyOGEgcmVsZWFzZTI0LW1haW50CiszODEzNiA0YWNmN2FiZTU4MjU3N2VlNmVlYWQ3MThkYzc5Njg2MmZmZDRiMjg0IGxlZ2FjeS10cnVuaworMzgxMzcgYTEzZDk0NGNhNzZjOTc2NGVjMWViMWRiNGVlYjEwN2NkNTIzMzQ5YSBsZWdhY3ktdHJ1bmsKKzM4MTM4IDIxZGQ1MjRiZTAzNmFjYTRmZmJhZGJiNmM4NWU5NTU1ZThkYjkyNGUgcmVsZWFzZTI0LW1haW50CiszODEzOSA3MmNkOTNmNDYzYjVhZDE5YTBiNDcwOTYwODFhOWRhNTc4NTU2ZmQzIGxlZ2FjeS10cnVuaworMzgxNDAgOTM3NzJiNzE2ZTNmOTE3OGNjNmRjN2MwNDM2YTYxM2JlNzEwOThlZiByZWxlYXNlMjQtbWFpbnQKKzM4MTQxIGQ4ZWM0YWZhMWZmYjBhZjJmYzA5MTQ4YjU5Nzk0ZDdiOTdkZTAyMGEgcmVsZWFzZTI0LW1haW50CiszODE0MiBlOWNlZGU5MWQzYzMyZjZjZDFiZWU0NzI5OWJmZWU4OTRkNmE5MjA5IGxlZ2FjeS10cnVuaworMzgxNDMgYWZkOWI4MmU2OGYxZjhkYTU0NjE1YzNiYmZiZWMxNzE2OGYwYjgyNyByZWxlYXNlMjQtbWFpbnQKKzM4MTQ0IGIzYWY3YzZkYjFjNjBkZGQ3MTczNWJiMDM4NjQ1MjAyMWRhNWRjZWEgbGVnYWN5LXRydW5rCiszODE0NSBiYThjM2VhYTQzYTU5NzI2YmI0MTcyZDlhYjU0YzVjOTVmMjQxMGM1IGxlZ2FjeS10cnVuaworMzgxNDYgYjJjOTk4MTk4MzA0OWM3ODIxZWFkYWNmNDUzMTEyYmI2ZmZlN2NkYiByZWxlYXNlMjQtbWFpbnQKKzM4MTQ3IGVhYjE3NGQwZWQwMzFhZDVjZjU0NGRmNzVlZWQ2M2I1ZWU5NTJhOWMgcmVsZWFzZTIzLW1haW50CiszODE0OCBhOGE0YWZlMThiNjEzNGEzMDM0MzU3ZWY3MzMyMmY5OGUzM2M0NTQwIGxlZ2FjeS10cnVuaworMzgxNDkgZTIyMWQ5OTU0NjI2ODk1YWU1MDA4YjNiOWRmMGNlZmEwNTc5NDk4ZCByZWxlYXNlMjQtbWFpbnQKKzM4MTUwIGY3NWFjODZiY2VmNDRlZjRmODBmNDU3Njk5ZWFlYzRjOWU3YTQ4NWYgcmVsZWFzZTIzLW1haW50CiszODE1MSA1N2JmZWI1M2YyZmEzNGIyMjNmZDdlNTUwMDM4MTcxNDA2Y2Y1NmY5IGxlZ2FjeS10cnVuaworMzgxNTIgM2VjNTRjNWY3MDgxNDhjYjI2MmRkMjFjOGEzNTFkYTUzZDc0MjViMiByZWxlYXNlMjQtbWFpbnQKKzM4MTUzIDVkYzI3NGUxNTgyMjc2NmJiY2IxMzZlZTliZDY5MjI0MzU0Y2IwZjQgbGVnYWN5LXRydW5rCiszODE1NCAxODEwZGZkNjE1YWU3ZGZkOGFmMTdmOThkOTU3OWQ4YWUxNjk3ZmU0IHJlbGVhc2UyNC1tYWludAorMzgxNTUgNzYyMjkwOTY1MWM1M2Q3OGJjOWY3YWVjMmFmYzY4NzYxMWU3N2Q2ZiByZWxlYXNlMjMtbWFpbnQKKzM4MTU2IDUzNjhkMmI3ZDY2YTBhNTdlOWZhYWFiMTlhN2I1NjgzZjQzYjRlMGYgcmVsZWFzZTI0LW1haW50CiszODE1NyA0ZDM4M2I5OThiYjQ4ZjQ3Njk0MjBhMWU3NzU2MWMxZGIzYTc3NDc5IGxlZ2FjeS10cnVuaworMzgxNTggY2Q1MTc3MDFmZDkzYzk0NDhjNTgyMzcxNDI3YWE4NGYwNTcxNThhNiBsZWdhY3ktdHJ1bmsKKzM4MTU5IDNlOWE0ZDUzMWU1NjNkZDk0ZDgzNmFiOTQ4MTM4M2QwNDA1NjljNGIgbGVnYWN5LXRydW5rCiszODE2MCA0MDcyNWYzMDRlMThkNzNkOTQ4YWUxYTBlZTkwNTA0ZDZhM2EzNDRjIGxlZ2FjeS10cnVuaworMzgxNjEgNjdmMjE5MGUxZjZkOWI2NTA1NTE5MDEyYWE5OTA0MzIwNWFhM2RiNiByZWxlYXNlMjQtbWFpbnQKKzM4MTYzIDU2ZTYxMDMyN2I4MTZjNWJlN2I5ZGY5NGRkNzE2YTBhYzU5YmVmNTAgbGVnYWN5LXRydW5rCiszODE2NCBkYzlkMGE5ZWRlODg2NGQzYmI2NzkzNmRiNGU3MTRhZDk3YWIwYzEwIHJlbGVhc2UyNC1tYWludAorMzgxNjUgZGYzODBlMTk2YzRiNWFhMzQ0NWEwNjcxZDIzMjgzZWY5NTE5NmY0NiBsZWdhY3ktdHJ1bmsKKzM4MTY2IDFkNjI1ZGFlZDU5NDQyODIzNjliODVlYjgwZTUxMjlhNjMyZGFmOWEgcmVsZWFzZTI0LW1haW50CiszODE2NyAxZjdjZjg1MjFiYjU4ODZiNWEwZjgyNDIzYjRkYzQwZjJjM2E0OTdhIHJlbGVhc2UyNC1tYWludAorMzgxNjggOTk4ZmIxZTFjOGU5YTZkMjNjYTJlNjYzMmIzM2VlNWNkN2NiNjk0MyBsZWdhY3ktdHJ1bmsKKzM4MTY5IGNiMzBjZmNiMzllNzQ0NTcyYTQyODdjZmJiM2UzZjBhODQyYzZlOTUgbGVnYWN5LXRydW5rCiszODE3MCA5OTEwNDFmNzY0NDc4YzkwNWFlZmIzOTMwZTczOTZiODQzMzIwNmIwIGxlZ2FjeS10cnVuaworMzgxNzEgMGMzMjYzMjdlNzIyMzkxYjZjNjRjYzM1YzViZjcxZTQ3Y2ZiMGRkZiBsZWdhY3ktdHJ1bmsKKzM4MTcyIGYxYzM1ZGE2NGQ1NTRkM2Q2YTVjMDU0YTgxNDQ0MzEyYWY4MTk4ODggbGVnYWN5LXRydW5rCiszODE3MyBmMDBiYzI3M2FlNzBkMWU5ZGJhZTFjYzRkNDlkMWE0MGQzNjA2ODVmIHJlbGVhc2UyMy1tYWludAorMzgxNzQgZThiZjYyMDgzYWM0NDQ2ZjMyNmYxOTM0OWNmMWMwZmM1Y2I2NGEwMiByZWxlYXNlMjMtbWFpbnQKKzM4MTc1IDYwYTRiMDY0YTI0ODBhNzA5N2M2ZDJkMjZhYWY1NzUxNTQzNmQxNGQgcmVsZWFzZTIzLW1haW50CiszODE3NiBiYmNkODEyN2IzMjY4Mjk0NjViYjQ0YWIwZTNkYmNlOTgyMDc1MWU5IHJlbGVhc2UyMy1tYWludAorMzgxNzcgNjEyN2MwODlhMDZjOWUyMmI1ZTRjZGU3OTAxYTNjZDdhMzQwNmRkNyBsZWdhY3ktdHJ1bmsKKzM4MTc4IDc5YWRlMmRkZDMwNjg4MWQxNDRhMjUxNWQ3NWM2NDk0NjdjNTY1NGUgbGVnYWN5LXRydW5rCiszODE3OSA3MjQxN2ZhMjFjN2ZjZDc1ZTk1YjdhOWI1ZjUwNTQ2ZTM1ZTllZjA4IGxlZ2FjeS10cnVuaworMzgxODAgMzIxNjNhOGMzYjY5ZDM4NzBiNWZkZjQ0M2NmYzJiNjdjOTg0NjFmYiByZWxlYXNlMjMtbWFpbnQKKzM4MTgxIGU1OGNlMDQwNjZjZDgyMmEwY2RlYTRiMzJlZTYxNWY3NDJjN2M4MGQgcmVsZWFzZTI0LW1haW50CiszODE4MiBhNmM4MWFkMWY0NGNiNzQzMGJjZmEwNjQ5ZDkzMDJhZTg2Mjk0ZmMwIHJlbGVhc2UyMy1tYWludAorMzgxODMgYWQ4ZjllNzVmNjFkMjQyMDhmNTRlZWYzZTgyNzk4NWE0NjhjNDI3NiBsZWdhY3ktdHJ1bmsKKzM4MTg0IDJiYmM4YjRiNWI5Mzc1YzIzNGI4NWJhMzUxMGI4MGU1ZTU4YjExMGEgcmVsZWFzZTI0LW1haW50CiszODE4NSAwOTc0Mzc2MzQ5Njg5YmIyNjE2NThmMjJjYmVjNTdjZGQ2MzhhNDJhIHJlbGVhc2UyMy1tYWludAorMzgxODYgZjFhZTQxZThhYmYzODkxZTk2YTY3NmJlYzk1ODg4NGRjMjdiZGIyOCByZWxlYXNlMjMtbWFpbnQKKzM4MTg3IGI2NDdlZGQzYjk2YjgxZjVjNWNkNzc0YWExZmQ3YjgyNjcyYmY4YWIgcmVsZWFzZTIzLW1haW50CiszODE4OCA0MWNhN2I3NjhiNGZmNGVmZTU4NGY3ZTQ0ODc2OWI3NWExZDg5OGNiIGxlZ2FjeS10cnVuaworMzgxODkgM2E5NTBmMWFmYzU1ZmYzNzZiNzhiY2M1ZGU2ZjcxZjFlZTMxMGE0MSByZWxlYXNlMjQtbWFpbnQKKzM4MTkwIDlkZDg3YmE2MTc5NTUwMWEwNzk0Njc1NTViMzk0YzEzMjRjNjIxNGYgcmVsZWFzZTIzLW1haW50CiszODE5MSBlZTgwOGUwOGRkNmZiODk5NTVjMDU0ZGE2NjU2MTVlNmFlZmMyODQ0IGxlZ2FjeS10cnVuaworMzgxOTIgMDY2NDNmMDcxMzM1MDkzMDQ5YmZhYTI5ZWYyNDI3NDgxNGQyZmE5NiBsZWdhY3ktdHJ1bmsKKzM4MTkzIDRlNWYwNmM0Zjk1NzljYmM3YmJkNTZmNGM0MTVmYzg5MjcyYzg4YjcgbGVnYWN5LXRydW5rCiszODE5NCBmZmU3NTQyZjhmMWY3YTc4NDU0N2JjMTYzNzI0MGY2YjllZGY1ZWE2IGxlZ2FjeS10cnVuaworMzgxOTUgOWNhZjljZDU0NTNkOWU5NjI1NjFlNWQyN2JkMjU1MWEzZTFhYWQ2NSBsZWdhY3ktdHJ1bmsKKzM4MTk3IDQ0NjExZTU0OTllN2MyN2U3NmVkNjIyMThjMzQxMDY1NGNkN2JkMTggcmVsZWFzZTI0LW1haW50CiszODE5OCAzZmM4ZWNlOWQyYjgwYTQwMGFhZjA4OGIwMTMyZjJlOWJiZGEyMzZhIGxlZ2FjeS10cnVuaworMzgxOTkgYTYyYjNiNGZmNTJjYjkxODk3OTA1NDI0YWMxMGQ5N2M2YjU3YmVlMiByZWxlYXNlMjQtbWFpbnQKKzM4MjAwIGFlYzU5NjY1MDI5MjM0NDI2Y2YwMjM0ZjY4ZmI3MTA0ZmY2MDkxYjcgcmVsZWFzZTI0LW1haW50CiszODIwMSBkOTI2YjhhNWVmNmUzNGEyNDNmYzBlZjQyNTZiYTQwYzNlYzcwZDYwIHJlbGVhc2UyNC1tYWludAorMzgyMDIgODRmNDNkM2ExNTM1NGEyNDQ4NTRjYzRmYmRiYTlkNWUzMDVjYzE5YSBsZWdhY3ktdHJ1bmsKKzM4MjAzIGU2YmYyZTcyOTQxZWUwZWVmMzUxYjA3NTBmMWRhY2NjM2I4OTRlYjkgcmVsZWFzZTI0LW1haW50CiszODIwNCBlMTVjYjYyYjNmZmJkZTBiMjdhMGQxMjRmMzlhM2ZmMTc0ZjM4ODdlIGxlZ2FjeS10cnVuaworMzgyMDUgYmEyNGEwMzI0YTAzM2FlY2QzN2Q2MDY3NzVlZWI2MjZkYmExZDkxMiBsZWdhY3ktdHJ1bmsKKzM4MjA2IGRmOTVhNDE1MTVjNDE0NGNhYWM1YWM5ODAyOTUxMGEwODU1N2IzZGUgcmVsZWFzZTI0LW1haW50CiszODIwNyBiZTQ5MjllNTE3OWJjMGIzMjliMTE0OWQ0MDJjZTFiYzJlMTk0OWNhIGxlZ2FjeS10cnVuaworMzgyMDggZjgwYmI4YWZmNDE5MmZjZDIyNDQzZDZjNWE0MTU4OTE0Y2Q0Yzk4MSBsZWdhY3ktdHJ1bmsKKzM4MjA5IDhmOGY1NjBjZWM5N2VjNWJiYjhkMTg0MTA5ZjI1MDVjMmM3MDFkZTUgYXN0LWJyYW5jaAorMzgyMTAgMjA4MGM4YzQ3NzI5NzdkODk4NWJmMzZiNTk2MGEwMDkxNWQ2NDU1MiBhc3QtYnJhbmNoCiszODIxMiBmNDJhN2MzMzVhNWI5YWIwMGMwMzQyMTNhZWMyMTYwODQzYTM5YTkwIGxlZ2FjeS10cnVuaworMzgyMTMgODI0M2U1MWEyMmRlZWZlNjUyNGMzYjAzZjVkOWFlOGFhNDAwYjk3NyBsZWdhY3ktdHJ1bmsKKzM4MjE0IGEwYzBjZDNlODFmZDQ3N2I4Y2Y1ZTBlMDc2YTUxNjU4MjdhNjMwNGIgbGVnYWN5LXRydW5rCiszODIxNSBiYWViMDlmNjBjODI4MjY1YWVkMGQ1YzNhODM4ZmVlMWE2ZWU5ZDE3IGxlZ2FjeS10cnVuaworMzgyMTYgM2ZlZTdjOTExNmM5MWZkOTUwYmM2ZjY2MzA1YTUwNzdmNjVlYzk3YiByZWxlYXNlMjMtbWFpbnQKKzM4MjE3IDI2Y2NjZjNlODQ4Mjk2MjZmNWIwMjFiNzVkYWVjZDM1YTk5MTU1OWQgcmVsZWFzZTI0LW1haW50CiszODIxOCBhOGVjZDRhOTY4MjU2OTUxZjk5MGM0N2NjMDRiZWM2MDBlOTEzN2I5IGxlZ2FjeS10cnVuaworMzgyMTkgNjNmMzQ0NWYyZjU5NzM1MDc3OGM4ZDc0NGQwNzdhZWYwMWI5YmJjOSByZWxlYXNlMjQtbWFpbnQKKzM4MjIwIDU2ZTBjYzQzN2I4YjUwNWYyMmE0Y2Y0NjIwOGFhYTEzOWRjMGRmZTEgcmVsZWFzZTI0LW1haW50CiszODIyMSA2ODAwNjAwMjc5ZWQ2M2UxYzVmZWFhNWRkYTZjZWNkY2NlNzVmNmE3IGxlZ2FjeS10cnVuaworMzgyMjIgZjI2M2Y5NDNlZjdiMjBhYTBmNzVlNGNhNGYxYjVjMTk2YWMwMTg1MCByZWxlYXNlMjQtbWFpbnQKKzM4MjIzIGExMjNmYjRkNDViZjRhNjdkNDUwMjUzMmU3NjRkODUxMDM5M2ZhY2UgcmVsZWFzZTIzLW1haW50CiszODIyNCBjYTdmNDMxNWIyMTI2ZjdjNjRmMjM1MzIzMTRkZmU0MmEyZTIzMjY4IHJlbGVhc2UyNC1tYWludAorMzgyMjUgZTUxYTgyMTYyODQ2NGYyNWNiYWI2N2I0YTA5NjU4YjczMDUwMTVlMCBsZWdhY3ktdHJ1bmsKKzM4MjI2IGIyZDM4NzkwMDRjZDA2ZGMzMTViNWRlZjIwN2E2NTgxNmFmYmE2NmMgcmVsZWFzZTIzLW1haW50CiszODIyNyBiN2JjYmUzOThiYWE2ODlhZGYyODQ1YjdkMjQwOGMwODAxNWQyODQwIHJlbGVhc2UyNC1tYWludAorMzgyMjggYjFhODQyMzNkODU1N2QzZTIxOWZkZDA2YTUyZTdlYzNiY2UzNTExMSBsZWdhY3ktdHJ1bmsKKzM4MjI5IGYwZGI5YjE4NmYzZGRjMGUxYzcxZGIwY2E5NzE3YmIwZGYwMmQ0NDcgYXN0LWJyYW5jaAorMzgyMzAgZDgxYjYxNzNmMDUwYmY5OGNkMjgxNjQyYTE1ZWQyNmY1Y2NmMTA0ZCBsZWdhY3ktdHJ1bmsKKzM4MjMxIDIzMzY2ODg5YzZiOTRjMmFiYjdiNWQ3OGEwNTA3ZjM0ZjllM2ZlMGIgbGVnYWN5LXRydW5rCiszODIzMiA4NjE4MTY4ZGNhMjcwNTQ1YmI1ZWFmYjAwZGFkZTNjN2UxOGQ0MTNiIGxlZ2FjeS10cnVuaworMzgyMzMgY2MyN2IyNDk3NTVkZTZlZWRhNTA1NmRhZTMwOWM1NTA3OTgyYzU0YyBsZWdhY3ktdHJ1bmsKKzM4MjM0IDM1ZjMxNzkwYzZmOTZiYWZhOTE2ODU1MDE3MDUxNmVkNjFiYjY0OWUgbGVnYWN5LXRydW5rCiszODIzNSAxOWU2MWEyYTU2MzIwYzY1MDYxZjQ0NjU4OWIxYzg3MjI5NTgxMDQ4IGxlZ2FjeS10cnVuaworMzgyMzYgYWEyNDZiOWY2MTg0ZmI5YThmZWZkZDFiOWIwMjMxOTBjYjZjMjZiMyBsZWdhY3ktdHJ1bmsKKzM4MjM3IGIyMmViZmM0ODhmMzAyNGYwZDM4MWRjYmMzNTJkYThjMzFiMjQ1NTcgbGVnYWN5LXRydW5rCiszODIzOCA1Y2Q0ZmZmYWY5MTA1YWY4MzQ2NmE4ZDkxMzI5Mzk0N2I5MjUzNjcwIGxlZ2FjeS10cnVuaworMzgyMzkgZGJiZTgzYzMyOTRhM2UzMWIwYTA5N2Q3NjdkZjFiNWM2YWRjMWM0OCBsZWdhY3ktdHJ1bmsKKzM4MjQwIGZmNzNlMTVhM2ZiOTIzYTE5OTJhNjc0NjA5YzVhODQ0MGE0ZTJmYWMgbGVnYWN5LXRydW5rCiszODI0MSBjZTIzMjA3MmVhZTY0OTNiZDE3NGZjNDU2YWNkMjQwNDA3NzY1NDdkIGxlZ2FjeS10cnVuaworMzgyNDIgOGE4ZDg0NDc2N2I2NjYyZjA1NTcyMmFlOTk5M2VkYjE2NGVkMmYzYSBsZWdhY3ktdHJ1bmsKKzM4MjQzIGNkYWExNjg2OTYwODU1ZGRkODg3NWE2M2U1OTIyYzIwODQwZjBlZGUgbGVnYWN5LXRydW5rCiszODI0NCBiODk4ODEzNDgzNzUzNWQ5MTJlYzFhNzVhYzMzMjMwNWViNDNjNWM4IGxlZ2FjeS10cnVuaworMzgyNDUgOWUzMGQ5ZTJiNDMzNjM5MjU1NzY2YTdiNTkxYzY2NmY3ODA5OWM5OSByZWxlYXNlMjQtbWFpbnQKKzM4MjQ2IGM1OTc1NDMzYWE2ODc3ZjlkODI0YmZjYTUzN2VlZDlhMWJhMmQwYjUgbGVnYWN5LXRydW5rCiszODI0NyAyYjQ4NTk3NGI0NzE1YmM2MjZhYmU4M2EzZjM3OWVmZjJkZmY3MjJmIGxlZ2FjeS10cnVuaworMzgyNDggYTk0ZGEyYzZhNjI2ZTRkMzRkOWI2OTE1ZjhlY2FlZGY0MmJhYTZjYiByZWxlYXNlMjQtbWFpbnQKKzM4MjQ5IGEwYmM0NDE5NjYzYzMxMDVlYTE0MzhmMjFhNjUzMzE3MTc0NDc3M2UgbGVnYWN5LXRydW5rCiszODI1MCAyODdlNzFmNDRkNzk2OThkMjY1MzU5MDFkMGRkNmYwMTMwZjgxNTZiIHJlbGVhc2UyNC1tYWludAorMzgyNTEgMWFlYTgxNTUxYTIyMmY2YmZiMjI5ZmQ1ZGRmZDdiNjRjNTBlOTA0NiBhc3QtYnJhbmNoCiszODI1MiBiYTZlMTcyNzFjNjI4OTE2OTExMjE1ZGUwNzU3NjNlMWJjYzBmNzZjIGxlZ2FjeS10cnVuaworMzgyNTMgNGJkMTgwZDE3MWNjMDM0NDg1NzEwZWYzZTQ5Y2RkZDQxNTkzZTNmYiBsZWdhY3ktdHJ1bmsKKzM4MjU0IGEzMTY4MWE2Y2Y4ODcyODc4M2ZmMDA0OWI2MTk5MjAyZjNlZGViYzcgbGVnYWN5LXRydW5rCiszODI1NSAxOGNmZjNlZDc0ZDNkOTZkZjljZjA5NmFhYmE2YzlhMGUzYzdlOWYzIHJlbGVhc2UyNC1tYWludAorMzgyNTYgYTIxNjAwM2NlZjA0NDAyZDgwZTE1NWRhZjVhMzAwNzBkYjdmNGEyNiBsZWdhY3ktdHJ1bmsKKzM4MjU3IDM1MzNlM2NiN2I5N2E1N2U5MzIzOTVmZDRhNGM1NzE2MTAwMTg1ODQgbGVnYWN5LXRydW5rCiszODI1OCA5MWQ1NWEzMDM4MmNiYjA4MTQ3OWYyMzg2NDVlYmU0MDQ4Nzc4YmZhIGxlZ2FjeS10cnVuaworMzgyNTkgZjI1ZGNkN2YzZTQ4ODBjMDQ4N2IxODAwMjE1MmRkMjdmY2E1ZjhmOSByZWxlYXNlMjQtbWFpbnQKKzM4MjYwIDU5OGQxNmZhMDJjMTk5MTIxNDhjNGQzMmU3Zjk5NTcxMGRhNmE1OGEgbGVnYWN5LXRydW5rCiszODI2MSA3MzkxZTE4YjBhN2NkZGVmNjQ0NzQ5NmFiYzdlMzM1MWU1MGIwMTRjIGxlZ2FjeS10cnVuaworMzgyNjIgMjhmODQ5Mzg0NjhkZWExZTUzYzFhM2Y0MGIzM2JjODc5MjNmZjMzYyBsZWdhY3ktdHJ1bmsKKzM4MjYzIDBhMTYwOGE1ZWIwNWFlZTQ5YTQ4Mzk1NzA0M2E2MmY4YTIxNDA1MWMgbGVnYWN5LXRydW5rCiszODI2NCBlMmMxMDk3ZDdlOGZiMGJlNTE3ODMzZDM5ZWJjN2JjYWEwYjlmZGFhIGxlZ2FjeS10cnVuaworMzgyNjUgYjZlYzFiM2I5ZmNlNzljNzdkZjE3MjY3NTg1NmZlZTY2N2YwNGEyOCBsZWdhY3ktdHJ1bmsKKzM4MjY2IGI0ODBhYmFmMWY2ZjZlNmFiN2QyYTUzYTIxNzZjZmRhOTU2ZDVjODUgbGVnYWN5LXRydW5rCiszODI2NyA2YzAyYmIzZmNjYTY3OTA5ODA5ODJlMGYxZDA5ZDEzZTY1NWE5MGQ1IGxlZ2FjeS10cnVuaworMzgyNjggNzA1OWZiOGI5ZWIzOTM0ZTVlZjUxNzA2ZDdjY2FjMzVkMDA1YzM4OCBsZWdhY3ktdHJ1bmsKKzM4MjY5IGM0ZGI5OTJmODQwZjMwNGVkY2E2MGEyNzMyYzkyNDI5NGYzYTZmNGYgcmVsZWFzZTIzLW1haW50CiszODI3MCA0NWEzMjBmMzhjNDg5MDFmMzViYzRjZmUyMTM1NWZlNWU3ZGJjNDgyIGxlZ2FjeS10cnVuaworMzgyNzEgZDc5Njg2MjFkMjhkMmU3Y2QxOTVhZThjMTMyMmNlMTAzYTAzMzIyNCByZWxlYXNlMjQtbWFpbnQKKzM4MjcyIDhiYjQ2ZmRjZThmZDM4NDQxZWE3YzI0NTUyOGQ2NjJhOTU2NjM0ODkgbGVnYWN5LXRydW5rCiszODI3MyBhOTlmNWFkMjllYWM2NGEyYmYwNDdiYWJmOWRhNDVkMjg5ZmI2NDMwIHJlbGVhc2UyNC1tYWludAorMzgyNzQgOGVjYThkOTgwMjYwZGVkMjVhMmNjZTE4ODdiMWNlMzVjYmNlMThlNyBsZWdhY3ktdHJ1bmsKKzM4Mjc1IDEzYTg1ODA2YmE0OGM5NzkzMzEwYTcyODQ3ZmQzNGI4MTZjMzk0NzMgbGVnYWN5LXRydW5rCiszODI3NiBhODU5OWM3ODgyMThkODg4NTIyN2FlMzlmZjVjODljOWM5YzkzYjlkIGxlZ2FjeS10cnVuaworMzgyNzcgNDI4MmY4ODJiMjg1OTU2ZTNiZWFkN2IxMGIzYzRiZGJkNjg4NTE2YiBsZWdhY3ktdHJ1bmsKKzM4Mjc4IGI5Mzg0NWNlNDQ1NDk1ZTNiNDg1Y2I2YjM5YWVkNWYxODNiNzAxMTAgbGVnYWN5LXRydW5rCiszODI3OSBjODhhYjI5MmJmMDUyOGFhOTVhNjcxMmQwZjEyNTlhMDIxMjg1ZDQxIGxlZ2FjeS10cnVuaworMzgyODAgNzJmZDM3M2NkMGY5NWExYzJmNmVkNDVjNmExOTcwYTY5ZjIyMGZjZSBsZWdhY3ktdHJ1bmsKKzM4MjgxIDFkODY2YzAyYThjYWIyMDViYjFhNDAyYmE5NzcwYWU0NWVhNGE5NDMgbGVnYWN5LXRydW5rCiszODI4MiBhNzBkZDg3NjdiMDcxYjM0MjY2ZGRiYjA2MmU1YzYzMjJmNGY4ODhlIGxlZ2FjeS10cnVuaworMzgyODMgMDJmMzk4ZmJiMGYwNmQxN2M0NWIzYWIwNmU0MjhiYzhjMTU4ZTA3MyBsZWdhY3ktdHJ1bmsKKzM4Mjg0IGIzMmFlMGVlY2RlZTcxYWQwZmM0Yjc4NDllY2JlNzJmNDlkZmU3NDYgbGVnYWN5LXRydW5rCiszODI4NSA4ZjU3MzBhM2JjNGFiZjcyN2U5NDM3MzQ2Njk0NWQ2OTgyMDY2M2Q4IGxlZ2FjeS10cnVuaworMzgyODYgMzQ3MzkyYzhlYjhiMzZjNTNjYjVlZWEyMGIyMTEzNjZkYzMzNjMzMyBsZWdhY3ktdHJ1bmsKKzM4Mjg3IDhmYzAzMGM1YzcwYWJlMjkxOTEyNDU0NjRmYzg4ZTNhOWI5M2VlZDAgcmVsZWFzZTI0LW1haW50CiszODI4OCA1NjNjYmY0ZDZiZTQ2NTY1ZjQ1ZjA0MDViZWQ4M2UyMWQ3NWUwOTQ5IGxlZ2FjeS10cnVuaworMzgyODkgZmU3YTE1NDdmMmZhZWE0NDhmZWFiZTZlNTE2YzNiZTQ2NzNhZDExZSBsZWdhY3ktdHJ1bmsKKzM4MjkwIGZhNjVlMzQyNWE0YzVhZDZkMWEwZWQ2MDcxZDRlMWMwNTg5MDVhMjUgbGVnYWN5LXRydW5rCiszODI5MSA2NTJiODVkMzVhNzVkZGExMGUyZDMzMWE1NzZlOTNhMGY3MzcwN2VkIGxlZ2FjeS10cnVuaworMzgyOTIgMjY5YTJjMTRiYzU3MDg0ZDM2ZDgzY2JkMWNlYzk4MzJhYmZmZWQxMiBsZWdhY3ktdHJ1bmsKKzM4MjkzIDMzMTZhYTU0MGU2OGM4MDcyODQxOTFlZTk2MmZmMWI2MmQ0NDk3N2MgbGVnYWN5LXRydW5rCiszODI5NCAxMzkzNDM0M2E1M2I4MzI2MzI0MjcxNThiZTVhYzhhNDYwZGVjNWU4IGxlZ2FjeS10cnVuaworMzgyOTUgNTQ0OWI3ZjgwNmZiN2RmMmMyMmVmMzgwMWVlYzE1N2RhNDFmZTNhMSBsZWdhY3ktdHJ1bmsKKzM4Mjk2IDViZDJiM2U0ZmRjYzRmNTcxMzA5MjBjYmU1MDU1MzBjYmY2MjBlZTIgbGVnYWN5LXRydW5rCiszODI5NyA4NDM2YTI5NTU5MWI2OGNhODBhOTA0MWY2ZjY0ZDQ5ZmVhNWQ5YTZhIGxlZ2FjeS10cnVuaworMzgyOTggNGI4ZmE4YjBhZjkxNmVlNWQwNDJmMmFlMmFiN2ZiY2YzZmYwMWQ3MiBsZWdhY3ktdHJ1bmsKKzM4Mjk5IGRjMDljYzliMmVlNmM3OGQyODRkNTNlYTUzM2UwZTAxZjc5MjNhMGEgYXN0LWJyYW5jaAorMzgzMDAgNjg5YzIzMzg1ZTRmOWRkMTIzZDc5MmM3MTEzNzdiYTliNzBhZGEwOSBhc3QtYnJhbmNoCiszODMwMSA0YWYzYmZmZTU2MjAzYWVkMjJjY2UxNDU4Y2I0OGQxMjU4NzhiOThmIGxlZ2FjeS10cnVuaworMzgzMDIgNzI4ZWRlZmIxZTE3MzU2ZThmN2Q2MmJjMDdhNjViYzI2Y2RlNmI4YiBsZWdhY3ktdHJ1bmsKKzM4MzAzIGUxMzA1ODk0YmYwOTZhOGM5Yzk2ZWNhYjc5ODNlMDg0MjQzOTI1NTcgYXN0LWJyYW5jaAorMzgzMDQgNDkwMTdkOWVmNmM5ODZiNjg3MzhmNGYxZTgxYzZhYTg4YWYyMDIzZiBhc3QtYnJhbmNoCiszODMwNSA0Yjc0ZmYwNzk2NTJiZjVkYjAyOTFhOTdmN2YzMzE2MjIzOTg1ZjcwIGxlZ2FjeS10cnVuaworMzgzMDYgNjliNjhmOTFjYzc3NjY5MGNiNjMyM2I0OWU0MzAwYjgxMGNhMTQ1NiBsZWdhY3ktdHJ1bmsKKzM4MzA3IGY1NjQ2MzQ5NGJmZDk0ZWU1YTdkMDk3MDNlZDljMThlNjY5ZTUxNTMgcmVsZWFzZTI0LW1haW50CiszODMwOCAwMzk4MDdlMWU0ZDEyODJiOTcxZjkxOGZhNzExNGUyYWMxYTBiY2E1IHJlbGVhc2UyNC1tYWludAorMzgzMDkgZTFhN2ViODMyY2I1MWFiZjhiN2RmNTJiNWZmZjAyNzBmMGQ1MjIxYiByZWxlYXNlMjMtbWFpbnQKKzM4MzEwIDRhYTU1NGIwMGNiMGI1NTZkMDI4M2MxMzk4MDRiNTg3ODE4OGVjZDMgcmVsZWFzZTIzLW1haW50CiszODMxMSAyMjQ2YWI5MjJlYjQ4ZTQwMDAzN2FmMTg0N2IyOWIwM2ZkOWQyMzUxIHJlbGVhc2UyMy1tYWludAorMzgzMTIgOTU1ZGEwODBiMGNmMzY4MGNiOWQ5N2I2NzI2MTdkOTE1MjViM2VhMyByZWxlYXNlMjMtbWFpbnQKKzM4MzEzIDdkOTk5ODFiMmVjZTMyZWQ3YTg3MjBjY2M2OWQ5MGNkYTg3MWY0NzMgcmVsZWFzZTIzLW1haW50CiszODMxNCA2ZmRiYzRlODMzZTIwZmY5NDY3MjY5NmZjZjgzZjBlYTM0YmY2YTVjIHJlbGVhc2UyMy1tYWludAorMzgzMTUgNzc1YTcyYjlkNTJjZGM3NjhhMjllODUxMWFmZTliYjk5YTJmNmM3MCBsZWdhY3ktdHJ1bmsKKzM4MzE2IGVkNGRjMDVlYTRiOGMxMjZhYTcwN2FiMGUzNjkxOTg4OGI3Y2I2NTkgbGVnYWN5LXRydW5rCiszODMxNyAxOGY2Y2ViZTQ3YWFhZTczNTk5ZDJlM2VjYTljNDYxZWIzYWFiMDFhIGxlZ2FjeS10cnVuaworMzgzMTggNjgzNzE5ZTA0MjE4MTgyYjAyZWQ2YTNjZDg0MGE3N2M3MGI1YzUzZiBsZWdhY3ktdHJ1bmsKKzM4MzE5IGNkNmI1NGJhMjcyZmI0Nzc0YmY3ZDlkYzRiOTRmNzBmYmIxOTM3ZDYgbGVnYWN5LXRydW5rCiszODMyMCBkOTNiNjhhOTlmOTZlMzgxNTY0MmZlMzY0MTNiZWZlZTQyZDhmOTY3IHJlbGVhc2UyMy1tYWludAorMzgzMjEgNmNmMzk5YWFmYzY2OGU0NDI2M2MwYzExYzI3Yjg0MTZmMzk4N2RiMSBsZWdhY3ktdHJ1bmsKKzM4MzIyIDIxZGQ3MzNlYjExOGMzYmFmZTc5Zjg3OGNmNjBjYzdjNzdkZjRjMzEgcmVsZWFzZTI0LW1haW50CiszODMyMyA4YzBlM2MwYTIzM2NhYzNhYzQ3ZjBhNTczYWI0ZjFjZThkMTY4OWIwIHJlbGVhc2UyMy1tYWludAorMzgzMjQgYTA2M2YwZDZkYjI4MGU0ZTQ1ZmRiOWE0OGM2NjYzNDIxNDUyMDk5NiBsZWdhY3ktdHJ1bmsKKzM4MzI1IGFmNjMwZWIyNmQ1OWI3ZjFjZDk0OGNmYjYxZGU4MThkMmQ1YzJkMWUgcmVsZWFzZTI0LW1haW50CiszODMyNiAyOTMxZjY1MDRhZjVjM2Q2MGFlMmJlYTZiY2MwYzVjNmUyMTJkZWRiIHJlbGVhc2UyMy1tYWludAorMzgzMjcgMmVlZTkwZWYzMmFiYzcyNzVhN2Q2Njg1OGE2N2ZmMjQ3ZTJjOGM1OSByZWxlYXNlMjMtbWFpbnQKKzM4MzI4IGFkMTI2MDU0YWRlNTc1MDBjOWU0Nzk5ODNmNjZmMDFkZTAzN2QzYmUgcmVsZWFzZTI0LW1haW50CiszODMyOSA2NzBkZTMwMWI4ODdmMTAxYmFmOTQ1ZTIzODQyZDIyOWZhNjBkZDFmIGxlZ2FjeS10cnVuaworMzgzMzAgNTk1MjNlYjM1YzFkNzEyNmMwMTdmMWQyNDQ4ZmM0ZDkyM2NjY2UzNyBsZWdhY3ktdHJ1bmsKKzM4MzMxIGEwOTNhZWJmMWI0MGU3ZDExNmM3ZGYzNDg2ZWI3YzczMWUzZjZiYzQgcmVsZWFzZTI0LW1haW50CiszODMzMiA2NjA1ZTEyYmMxNmQ3MTNlMzc5MjYwMjMxMGRkOTQxNDFlMTQyOTI0IHJlbGVhc2UyMy1tYWludAorMzgzMzMgNTFhMGYwYWQ0NmFjMGQ5YzMxN2M1ZjgyOWFlYTVlZWU3ODQ3ZWRhNCBsZWdhY3ktdHJ1bmsKKzM4MzM0IDcwYTA0NDk3NTVlMjYxZGI4M2JmY2JiODk1YmQ3ZDhhZjRjNDY5YWYgcmVsZWFzZTIzLW1haW50CiszODMzNSAxZjVjMjM1MTYwNWExNTdkY2UxYzliODcyMDJiNjRmOTYyMjQyZTZkIGFzdC1icmFuY2gKKzM4MzM2IDMyOThhZTZmMzY2NTg3YzA1NzhlMzE4NTE5YzQxNGY5NTEyMTRlNzggYXN0LWJyYW5jaAorMzgzMzcgOGI2NTQ4ZjVmMjc5ZGQ5NGEwZDhlYWE2MzU1YTEyNTk0ZTk3ODZhMiByZWxlYXNlMjMtbWFpbnQKKzM4MzM4IGNjM2JkNGU0ZDlmMGE1NjMxNTNlMWI0Y2JhNDc3OWU3MDE0NTMwZTcgcmVsZWFzZTI0LW1haW50CiszODMzOSAwMTMzYjAyMjYyNmViMmNiNDVmZTY3YjZiYWVlNTdiMDIxMTJjMDljIHJlbGVhc2UyNC1tYWludAorMzgzNDAgZDVkZGQwNmQ1NWZjOWRhM2YxZjRhMDQ4N2ZjMDJmM2FkZTVmOWY0MiByZWxlYXNlMjMtbWFpbnQKKzM4MzQxIDlkNzYzOTM3YTI1YjRiNDhhZjQ4MDBjMjZjYWRiNGEyOWIwZDhhYWMgcmVsZWFzZTI0LW1haW50CiszODM0MiBmZjUzZDE0NzE3YzUyODEzNWE0NTQ0NDY3ZWQ1NDNmZGY5YTlkZjM5IHJlbGVhc2UyMy1tYWludAorMzgzNDMgN2RmMDc3ZjQ3MDU2OTBkMjVjZDdhNTdkZDE4ZjkwODY4Yzg4ZGQwNSBsZWdhY3ktdHJ1bmsKKzM4MzQ0IGQ1Y2U4OGViZGJiZDBkNzUwMTk4YzQ0N2RkMDBjYzVjYmFmZWJlZTkgcmVsZWFzZTIzLW1haW50CiszODM0NSA4M2M5NzViNGEyYzM3MjJhMDZkMmI1OTMzOTgyMmU2YzgzNTMwZTUwIHJlbGVhc2UyNC1tYWludAorMzgzNDYgYzQ0MTMzMDdhMmYzMTBiY2I3Njc1ZTI2YTU3MjE5MmIxYWIzYTFlYyBsZWdhY3ktdHJ1bmsKKzM4MzQ3IGY3MzhkNjRjODI3ZDMwODcxODA2ZmI3MDQ2MjMzNDBmYWQ5YjM2NTYgcmVsZWFzZTI0LW1haW50CiszODM0OCA2M2ZjZDY3ZTMzMjlhYjNjMTIwNmUzZDFjMDJkMzg1MmVhMjY0NTIyIHJlbGVhc2UyNC1tYWludAorMzgzNDkgMmIyNThmMGNiYzMxY2I5NWQxZjEyY2FiMDkxODc0NDFiZGU4YzRjZCBsZWdhY3ktdHJ1bmsKKzM4MzUwIDBmNDFmZTNmYWRmNDVlMWY4OWNiNGIwMmEwZDc3NjE0OGMwOGYxODkgcmVsZWFzZTI0LW1haW50CiszODM1MSBmMjQ2ZTQ0ODU2MzdhOTRlNDQxMDgwZTY1YjU5NWRkNzk3MGMyODZiIHJlbGVhc2UyMy1tYWludAorMzgzNTIgN2Y1MjQxN2U1MzBiMzRkYjI5MDY5YmMyOGEyNTRlOWNiMWQzMzIyOCBsZWdhY3ktdHJ1bmsKKzM4MzUzIDIzNjlkZmUyZGFkNDY5ZWE1YzlkMGYyODk3MjkxOWEzZGEzYzBkMzEgcmVsZWFzZTI0LW1haW50CiszODM1NCA5NzI0MTc0MjYyMjQ3YTNhYWU3MDcwZGQ1ZGQ0MTY5ZjIxYjZhY2JjIHJlbGVhc2UyMy1tYWludAorMzgzNTUgYjc0NTU5NWQ0MWQxZjE2MzQxODAwZGJkMGVjNDNmYmQ2NDQ5OGIxNSByZWxlYXNlMjQtbWFpbnQKKzM4MzU2IGUzZDc0ODMwZWQyZmE3ZDVmM2JjNjJjOTc5MDgyODEzNzhkMDI1NGEgcmVsZWFzZTIzLW1haW50CiszODM1NyBiOWJjNDliNTNmNGQ2MjVkNWM5NDNlNjZjMWY5NTcyYWRlZDM2ZDQ0IGxlZ2FjeS10cnVuaworMzgzNTggMzZhYmRkNDc4ZTA3NDFmMjQwYjQ5OWQ2NzkyMjk4YjMyYzc2OTk2NyBsZWdhY3ktdHJ1bmsKKzM4MzU5IDljNjJlN2Q2OTBhNTJhYTk4NWQwYmJiNmY3ODg3NjFkNGY5NWVhODIgbGVnYWN5LXRydW5rCiszODM2MCBlODUyY2Y2YWI1YjU1MjE3YTk4NTI5NWYwNmM4YWIzOTAzMGU2NjIyIGxlZ2FjeS10cnVuaworMzgzNjEgNGExZmVmZGZjNzkzMDQ2MzMzMWY4M2VmNzg2NTg0ZDMyZmFjMTdiOCByZWxlYXNlMjQtbWFpbnQKKzM4MzYyIDhjOWUzZWQ1OTRmZWQyYzg2NjE5YzI5YWVmNTQ5ZTBhYzM5ODE1YTcgcmVsZWFzZTIzLW1haW50CiszODM2MyBiYjA2NTRjZjVlNTIwNWUzNzM4ZGYzZGNlY2Q2NjFjOTEzYmRjZDQ3IGxlZ2FjeS10cnVuaworMzgzNjQgNGQyOWViM2EzZGRiZjJjMzNhMGUzY2M0MTY2YWQ4NzVmMmVlNmVjNiBsZWdhY3ktdHJ1bmsKKzM4MzY1IDQxZjI5ZTI2ZjY4ZjQ0ODA4ZDM3ZTYyYjJjMTU1NDNhY2JjYTQ4NGEgbGVnYWN5LXRydW5rCiszODM2NiA0MjA5ZWMxNzA2YWJhMTc1N2M0MWFmYzIzYjcxYTg2OTZjZDE2N2RiIGxlZ2FjeS10cnVuaworMzgzNjcgYTcyZWU2M2M2Yzg0OTAyMTZjOTcyY2NlYWNlYTI4OTUzNGM5OTViNSBhc3QtYnJhbmNoCiszODM2OCBmYzU4MGZmMDBmNmY1NzBjOWRjMWU3MGZiN2I3YmFjYmZiNTlmNzM5IGFzdC1icmFuY2gKKzM4MzY5IDZiMWM3YjE4ZjU5ZDg3YjU4MWNiMjM3NDdlZmNiNDVjYThjZjFkMzAgcmVsZWFzZTIzLW1haW50CiszODM3MCA2ZTcwMzNjNzRjNzBiN2MwOGU5ZGM0NmUzMWU1ZjhmZDk1YzA2NDg0IGxlZ2FjeS10cnVuaworMzgzNzEgNjgwMjBiZDFiOWUyZTJlYzkzMTRmM2I3ZDc5NTJkNzQ5ZTM4ZTRjMSByZWxlYXNlMjQtbWFpbnQKKzM4MzcyIDZiNmU2Yjk4MmFjODU3YmY3NWJhN2FjYzA0Njg0MzVjMGZlYWY5NWIgcmVsZWFzZTIzLW1haW50CiszODM3MyAwOGUzY2E4ZmIwNzFmNTlhN2MwMmM3MTBlOTdmMTk2OGVlNThlOTFlIGxlZ2FjeS10cnVuaworMzgzNzQgNGRhNDYyNThiZmY4Y2VjOTYxZjE2NmMyNjdlNjJkYjc2YzI2ZDBjNyByZWxlYXNlMjQtbWFpbnQKKzM4Mzc1IGM5MzM3YzlkMmYyYTk0NjYxZDFlMGFjMDgyZDdhN2VlMmMzYjBkNTkgcmVsZWFzZTIzLW1haW50CiszODM3NiA4ZjYwOWVhYWMzZjAwMmEzMGMwNWZkZDE0MGE0NDRlNDJkN2E5OGIxIHJlbGVhc2UyMy1tYWludAorMzgzNzcgNTE2Y2EwYjkyOTcxYjcwMzllZGI1ZjYwNDIzMzNlMmI4MDVmZGJjYiByZWxlYXNlMjMtbWFpbnQKKzM4Mzc4IGFiYjNjMWFkMDBhN2JiNTFjM2NlZjU1NTc0M2UwN2Y3ZmI4YjA2MTggcmVsZWFzZTIzLW1haW50CiszODM3OSBhZTczMjg2ODk3YTM0YTM5ZTAxYTlmMTYzMzI4ZTIyNzJmYThmOTI5IHJlbGVhc2UyMy1tYWludAorMzgzODAgYzE2NDFlZWRhN2M5Mjg1NTA3MjY5YWNiZmViMWNhNDY4ZWQ3ZjFmNyByZWxlYXNlMjMtbWFpbnQKKzM4MzgxIDQ0MGMyNWJkOTlkZjg1YzQ5NGE5NjFjZTRiYWRmMmE2MDgzZjQ2MWIgcmVsZWFzZTIzLW1haW50CiszODM4MiA4NzIyNGYyYzVlMTAwMDJkYTRkMGRiZDQzYmQ2NDkyMWZlN2NhODI4IHJlbGVhc2UyMy1tYWludAorMzgzODMgYzRmNzZlZDJlYWZhM2Y3YTViN2RmZDhiMjkyYTNiZjk3MTc4ZTk2MCByZWxlYXNlMjMtbWFpbnQKKzM4Mzg0IGU5NDlkNDYzNTcyY2U2NjExYzMxNzM0NDYzNjNlOGY2NmRjYjRlOGEgcmVsZWFzZTIzLW1haW50CiszODM4NCAyNjM5YjEwZGFhOTg1YjIwYjNjYWJlYzQ1MTY5ZDUyM2NhYzI5ZDY4IHJlbGVhc2UyMy1tYWludAorMzgzODYgYmRhOTMzODczNzU4ZTU0ZTNjZDY4OTM3NDI1MWFkM2YzMWQ4NWJhMSBsZWdhY3ktdHJ1bmsKKzM4Mzg3IDE4YmEwODVjYzhiYmJmNWZlYWQzYjhjNTZkNWE2YmExMzI4YTQxMDQgbGVnYWN5LXRydW5rCiszODM4OCAxMzE3NmVkNTJlNjVjNDg0ZGJjZjRmODFmYjhlNzg0NWYzYTMxZmZlIHJlbGVhc2UyNC1tYWludAorMzgzODkgNmYyZGQwODFmZTA1MTI2NjgyMDYxMDJiZmRiZDgyMDFiM2I0ZjIxZCByZWxlYXNlMjMtbWFpbnQKKzM4MzkwIDFjMzQ5MDYwYWMwOGYzNzBiYTZjMjE0YzIzNTA3MTk0ZWRiZjA0ZmIgbGVnYWN5LXRydW5rCiszODM5MSA5MTAzODgwMWViNDVmYzMyYmFiYzg0MzRiMGE0ZjM3NTNhN2JjYWIzIHJlbGVhc2UyNC1tYWludAorMzgzOTIgY2I3ODk2ZDc3ZGU1MjJmMjRiOTFjNzA1YmVkZmU4MjBiY2UzMGM0YSBsZWdhY3ktdHJ1bmsKKzM4MzkzIDkyNWQ1NGRmOTJiZTk1MGJkNWVkYjdlNjdiNWI1Njk0NDUxZjAyY2MgcmVsZWFzZTI0LW1haW50CiszODM5NCA1NDgxMzRiYTI3OWZlYzI5NDAzZWM3ODRmZjZhMjcyN2VlMmY5NTViIHJlbGVhc2UyMy1tYWludAorMzgzOTUgZTMwNzRlOTRmYjc1NWUwZDEwYWZmZWMzMjUyYTMzYTVmYWIzNjYwZSBsZWdhY3ktdHJ1bmsKKzM4Mzk2IDY1ODUxMjc3NDQ2ODE1MTUxMjFiYjIxZmIzYTNhYmJlNWMxMzE5ZDggbGVnYWN5LXRydW5rCiszODM5NyA5YjRlMzE4ZDZjNzI2NzRlZGJhOWUxNzZkOTU5ZjIzZjFjMWY1Y2QyIHJlbGVhc2UyNC1tYWludAorMzgzOTggNmM5MGNiNzY2ZTZiYTQwZTIzZWQyNGEzY2E5M2E5ZmJkODVjNjE5MCBsZWdhY3ktdHJ1bmsKKzM4Mzk5IDg4YzI5ZTUxYjAyOWExOGMyOTJkMjg0ODhlY2I2YmI3ZmFhNmQ2YmIgcmVsZWFzZTI0LW1haW50CiszODQwMCA1ZmQ1MDY1MTYzNjE0ZGRmYjJiMjBkNWIzNmM4MTNhYWU1ZjVhZTA2IGxlZ2FjeS10cnVuaworMzg0MDEgODA0YzU2NzM2NDNlNmVmNTAzOGVlZjJjMjk3N2Y2OGYwNTQyNGQ5ZiBsZWdhY3ktdHJ1bmsKKzM4NDAyIGE0MjI1Y2RjMjA0N2ZkMGQ2MmE3OGJjNzIyZmViZDgyYTE5ZWU0ZmMgbGVnYWN5LXRydW5rCiszODQwMyBmNDMwNzE4ZjhiNDMwZTU1NTE5NTA1MmUzNjFjZWNjZmI1NTZhMDA1IGxlZ2FjeS10cnVuaworMzg0MDQgZjAxMzQyMzJiZDg0ZGIzMzI4N2IxY2RhZGI3ZGUyYzJiZTBiNmVkNCBsZWdhY3ktdHJ1bmsKKzM4NDA1IDBiZTE3MjU5YWFjODg2YzVjNWQ0YjgzNzI4ZDNmMGUxZDE0ZDQ4MmUgcmVsZWFzZTIyLW1haW50CiszODQwNiA3Mzc2NDlhNmM5MzVjOWYwYjA4ZjU2Y2M5MWIxYjA1M2RhMjAzOTlkIHJlbGVhc2UyMy1tYWludAorMzg0MDcgYjg0NmRkMWI5NzUxMGFlOTIzYmFmZjhjMDg2NzFjNDAzYzVkNmFjYyByZWxlYXNlMjQtbWFpbnQKKzM4NDA4IDFjMDcyNjE1ZTViODZlMzZkZmM5NDRiYTc0MzEwY2MwOThlZTA4NjMgbGVnYWN5LXRydW5rCiszODQwOSBjZDc0MzIxZWNkYzQ3YTcxMzE1OGI2NWVmYmQwYzI4MGQzOWJjYjQ4IHJlbGVhc2UyMy1tYWludAorMzg0MTAgNjllZDdlOTEyYjNkMjk3MDE2MWU4NzM4NTdiMGU5YjQ1ZGU2YjRlYyByZWxlYXNlMjQtbWFpbnQKKzM4NDExIGNjZjYyNzJlZWRmNDg0YzU3NDk2OGExNjIyMDY4ZDFkYjVkZGQ5MjggbGVnYWN5LXRydW5rCiszODQxMiAxYjc4ZmMyOTZmYzg5NTg4OWE5ZGYyYjE3ZTE4ZDdmZDZmNzk5OTU1IHJlbGVhc2UyNC1tYWludAorMzg0MTMgYzY4YmU4NjU5MDc1YmJjOTliYTg4NWU3NTdmNjFmNzFlOTY3Zjc5NSBsZWdhY3ktdHJ1bmsKKzM4NDE0IDNkMDBiNjQyNTUwNTdlY2M5OTU3MDhhMDAzNDRmNzE4Y2JkMzZlZjQgbGVnYWN5LXRydW5rCiszODQxNSAzZDk5YWRlZmJmM2MwNTBkNTY1MThjYTkxNGJiZTZmNzBlMmU0N2M0IHJlbGVhc2UyNC1tYWludAorMzg0MTYgMzIwYzc2NDNmOGU5ZWY5OTM0YzQwNjhiZTNiMTNlNDVlMTg1MzFmZSByZWxlYXNlMjQtbWFpbnQKKzM4NDE3IDQxNzRmOTc4ZTU2NDczMmQ0ZWE3ZTlhNmI4MDk1MGRjOWJlYzBmNDQgbGVnYWN5LXRydW5rCiszODQxOCAzN2IyZjExYzFhMDA1ZjcxZGNlOTI1N2M3NTZlYTYzZjJmMTY2Mzg5IGxlZ2FjeS10cnVuaworMzg0MTkgODI1OWZmM2VlNDkzNjEyN2ExMDdjN2E0NTQ2MWEyMmQzNDQxMzEzZSBsZWdhY3ktdHJ1bmsKKzM4NDIwIGNhOTE3OTljZWNiYTAxMzRiYzM5ZjhkMjUzNDI4OTNhMmNiZTk1NmUgbGVnYWN5LXRydW5rCiszODQyMSA5ZWU5OWEzNTU2OGQwMWZhOGJhZjYyYTNmMGUyZDY4ZjA1MDI0NjZlIGxlZ2FjeS10cnVuaworMzg0MjIgNDY1NzI0NDI1MzcwMDllMzc4MzRmMTUxYTg0NzUzZTBlNjFlM2E4OSByZWxlYXNlMjQtbWFpbnQKKzM4NDIzIDdlNTEwM2I0YjI4OWQ3YWJhODliMmVmZTk1NTUxYmYwMjMyMzQ1YmYgbGVnYWN5LXRydW5rCiszODQyNCBmMjQxMTdhMzYyOGFhZGU2MDNiMDE4YzZiNjE1MzBlNDc2NmEwZmIyIGxlZ2FjeS10cnVuaworMzg0MjUgOWQ2NmZiYTc4NDQ0ZjFiMjE3ZjY2NDEyNWRkMTA3NDAzM2IxMTQwNyBsZWdhY3ktdHJ1bmsKKzM4NDI2IDdjOGYzMzc4ZjZmNjFhZWU5YTc0YTc0NTFlMTZhNWUzYTczNWFlMWQgcmVsZWFzZTIzLW1haW50CiszODQyNyA4MzViNjQ1YTE2OGY3NGMwMWE2NTg3ODc2MTJjYjI0MDhmNmZkMmY1IGxlZ2FjeS10cnVuaworMzg0MjggMWMyOTQzZjk1NDY4NjM5NjAzYmEwYWZmMzJjM2UyYjY3MWQ0YjM4MCByZWxlYXNlMjMtbWFpbnQKKzM4NDI5IDYzMTRlOTRkMGQzNWQ5N2JhMmRiODNhNTczMzMyYTM2Njc2YjUyZDEgcmVsZWFzZTIzLW1haW50CiszODQzMCA2ODU4YzI0ODQwMTA4MjEzMTAyYjBhZWI2MGI5MDk5OTQ4NzQzMWM0IHJlbGVhc2UyNC1tYWludAorMzg0MzEgMDI4ZjkyZTQ0YjQ4MTQ3ZmJmMzQ1NzY0OTcxNjBmYzdmY2E5ZmZjMSBsZWdhY3ktdHJ1bmsKKzM4NDMyIGEyNGU3MGY0Njg0YjFkMGJmNjliOTAxMjVlODljMjU1ZmY3YTVjMmIgbGVnYWN5LXRydW5rCiszODQzMyBjZDA0ZjJkMThhNmZjY2Y5MTgyNDBmODgwYmEzMDU4Yzg4Y2Y2OTBhIGxlZ2FjeS10cnVuaworMzg0MzQgYzg3OGJkMDFiODFhMTYzNDdmNjZhNjBjNjQ5ZDcwOWQ0M2IxNTBlZCBsZWdhY3ktdHJ1bmsKKzM4NDM1IDkzZjI2NjVlYWQ1ZTJkY2RlYzFhMDY5ZGI3YjE1ODVjZWUzZTViNmIgcmVsZWFzZTIzLW1haW50CiszODQzNiA2YTI0NDBkMDVmNTBjMzI3MmU2NzNmODIwNzY0ZjVjZDJiMWU2N2FjIHJlbGVhc2UyMy1tYWludAorMzg0MzcgM2MxNDRhM2M5MTFhN2JlMWJiNDlhMzQyOGRmYWMxZjAzYzA2NmI3MyByZWxlYXNlMjMtbWFpbnQKKzM4NDM4IGU2MWFhODYyMTViY2E3OTc4M2ZjMTIxZTk4MjExYjllY2QxMzhiNGMgcmVsZWFzZTIzLW1haW50CiszODQzOSBiYjdmMzZhYzlmM2E4Nzg4OTcxZTZlMmU2MGY4M2VkYmU5NzNiMjRhIHJlbGVhc2UyNC1tYWludAorMzg0NDAgMjllNmJkNzA4ZmU3NWQzNjQwZjJhMzY0ZTNkMTdkNDI4OTliNGJkZSBsZWdhY3ktdHJ1bmsKKzM4NDQxIDQwNDBhYTIxNmI4YWIxNmZjMDljYzQ4ZDBmNmMzM2FkYzdhN2Q3OTQgbGVnYWN5LXRydW5rCiszODQ0MiA3YTEyNzdmYWQwNGU5MjY1N2ZjOTc4Mzg0OWUyMGIzYjU2MDAwODhhIGxlZ2FjeS10cnVuaworMzg0NDMgZjc3OTY2ZGE2ZGU1ZGJjMmM4MDE3ZmM3ODdiYjg1MzYwN2U5ZjVlMyByZWxlYXNlMjMtbWFpbnQKKzM4NDQ0IDg5MWMzMWRhZGE0ZWI5MjUxMWJiZmYxZmVjNzc4MGUzZjMxZTI3YjcgcmVsZWFzZTIzLW1haW50CiszODQ0NSA3MDViN2ZiOTAwNTZjYWVmYzZiNGRlNmEwMjI2MTE4ZGJjZjMwNTlmIHJlbGVhc2UyMy1tYWludAorMzg0NDYgMzdiNmRkMzg4NTZkZGUzODg0MjE4OWVhM2M1ZjkwMmU5N2Y0NjNhNSByZWxlYXNlMjMtbWFpbnQKKzM4NDQ2IGQyMjg1MDk0MjQxNzJmOTc3ZWRhZDRmNzg2MGE5Yzc0N2NkNjU1YzggcmVsZWFzZTIzLW1haW50CiszODQ0OCBmZjNjYTY1NmMyODFkZWJmZDM2MGYzN2QwMjAyZjUzZDEzMWM0Yzg4IHJlbGVhc2UyNC1tYWludAorMzg0NDkgODliOGNjZjE0YzBjMDE1ZWU5YzY3OTczNDQ2ZDU4NjFiOWFkODBjMyBsZWdhY3ktdHJ1bmsKKzM4NDUwIDljNjZhYjU0YzFlY2ZmOWViZGVlNjAxNTczYjUzMWU3M2YzZjlmOWYgbGVnYWN5LXRydW5rCiszODQ1MSBlNjdiNTg3ZmVkNzc5YzIxMTMzOGYxODU5ZjJlMDM5ODIxZjJjOWFmIGxlZ2FjeS10cnVuaworMzg0NTIgM2MxNzJjODI2ZWVkMzY0ZDNjOWYyYzk4MjQ4N2FhNGQwYzkxNmY3ZSBsZWdhY3ktdHJ1bmsKKzM4NDUzIDE5MzI3ZGI3NWQxYzkyZTM2YzM2MWJkMTE5MmIxZWY1NDU3NTk5YWYgcmVsZWFzZTI0LW1haW50CiszODQ1NCAzNjllOGU3MWVhMzM5MTY3OGFhZGMwODRlMjY4OGExNDRmZGJjZGY2IGxlZ2FjeS10cnVuaworMzg0NTUgNDU0NWExNTRmYWMxNTgzYmU0MWJjNzk4ODgyYmMwZTJiYjYxMTJmNCBsZWdhY3ktdHJ1bmsKKzM4NDU2IDNmZGZiY2I0MDEzMGNlM2E1NDNkNWU5N2NjMDllNDYwNzAxYTQ5YTAgbGVnYWN5LXRydW5rCiszODQ1NyA3N2ZhMzBlN2YxMmIwNmQzNmM2OGUwZWMzNTA4ODU3YzY2MzM5OTdjIHJlbGVhc2UyNC1tYWludAorMzg0NTggNjA3YzQ4YjVlZmQ3MjYxNTUwYWJkMjE5ZjkxZWE5YjZiNzIwZjRmNCBsZWdhY3ktdHJ1bmsKKzM4NDU5IDVjMjYwODUwNDk2N2EyYTE3ODRjM2M2ZDE0MzNlYmNjOGRkMzU0MDMgbGVnYWN5LXRydW5rCiszODQ2MCBjYTdjMThlZjhiZGMxMDJjYjY0ODQ1MjU4YzE2MzBmMGZiZjcyNmI1IGxlZ2FjeS10cnVuaworMzg0NjEgY2I0N2Q2MjJhYTFlMmZjMTE5ZmNhZGNiNDlkYjMxOTJlYTIzYWM4ZCByZWxlYXNlMjQtbWFpbnQKKzM4NDYyIDBhNmU3NzlkMzQ3ZDZmMTc1ZTI5ZGNjYzA3Y2M2MTA3MWZkMGM5ODUgbGVnYWN5LXRydW5rCiszODQ2MyA4NmFiM2E3NWZmMDg2Yjk2ZTRkN2ZhYjFjY2EyNmM2MTUwYTRiYzc0IHJlbGVhc2UyNC1tYWludAorMzg0NjQgYjk0ZjIyNDczODhlOTJiZDBlOWExNzM3ZWUwMDBjYWZjNDdlMTMzNSBsZWdhY3ktdHJ1bmsKKzM4NDY1IDlmMTgzYTI1OGJlZDBlZTlmNjJiM2E0MDUzZjI2MDgyYjc3NDQ2ZDggbGVnYWN5LXRydW5rCiszODQ2NiA3ZTdlODZmNDUyNTVhOTU5NDgyMGZhZGU2YmY3OWRkNGZlZDRmNzk3IHJlbGVhc2UyNC1tYWludAorMzg0NjcgZTllYzJjZTM0MGZkYzQ0MjBkMzYxZjUzODJlYmJmYzE1MTA5M2JkNyBsZWdhY3ktdHJ1bmsKKzM4NDY4IDcwY2IwYzNmZTRhNzQ3NWUyZjllOTcyNGU0Y2IzNDlhZmVjZGRhMGQgbGVnYWN5LXRydW5rCiszODQ2OSBhODk5ZDY5MGYyNjQwNzRmZWI1YTBiZTNlNGVmMjBlN2QyYmRhNTAwIGxlZ2FjeS10cnVuaworMzg0NzAgZmYzZGVmNzdiMTI5NWYzMzI2OThjNmEyMzgxYTBiYjE5YWZjYzYxMSBsZWdhY3ktdHJ1bmsKKzM4NDcxIDFhZTJjM2I2NmU1N2EzNDYzN2Y5ZTQ4M2FlYjc0MTI2YjZmNzJhMDMgbGVnYWN5LXRydW5rCiszODQ3MiBmYTUyZjFmZmMxNjExNTU3NTA2OTMxMDg5NWMwZDI1ZGY5Yzg2YzZmIGxlZ2FjeS10cnVuaworMzg0NzMgMzc2YTcxZjg5NzliYTFkNTYzYzhkOWFjODU2MWJmYTAzMjE2YjdlNCBsZWdhY3ktdHJ1bmsKKzM4NDc0IDMyYjg5NjA2ZjBjZGExN2FlNjRlY2NhNjQ1ZTFlM2IxNDdmNzY0ZmUgcmVsZWFzZTI0LW1haW50CiszODQ3NSA3ZjdjM2RmYmE5ODU2MjBjNmM0OTAwMTc3ZTEyOWQ0NzJhZTM5MDA4IHJlbGVhc2UyNC1tYWludAorMzg0NzYgMWE5ODk4M2U1OTYzMGRjYzBhZWU4MDM5MGNjYzMxNjk0ZTFhYzlmMiBsZWdhY3ktdHJ1bmsKKzM4NDc3IDdmYmE1Y2NjOTYxZTE0YWQ4ZjEzYjMwZWFlNzU2OTI1MmJjZjQ2YjAgbGVnYWN5LXRydW5rCiszODQ3OCA2NzkzN2EzODUyZmU0NDgyZWQzNmM5Y2VjMDg5YzJmODczZDljZGMwIHJlbGVhc2UyNC1tYWludAorMzg0NzkgNWU3YWRlZDMyNTFlZDJiZWQ5YWY1ZGYzZWZlMzU2NDNiMzEyNjYzOSBsZWdhY3ktdHJ1bmsKKzM4NDgwIGQ4MDRhNTBhMjBhYjUyNzllNzA4ZWNjMjhmMjJlNjIwYjA4NjA5NTcgbGVnYWN5LXRydW5rCiszODQ4MSA4MDk4YzdjMjcwOTcxZTJkMmEzMjBiNWJiNjk5MGU5ZjA1ZmY5ODBjIHJlbGVhc2UyNC1tYWludAorMzg0ODIgMjRhMzMzNzQxY2VjOTlhMDljOWU4ZTY3NDU3MmM2ODBlNTFiOGM1NiByZWxlYXNlMjQtbWFpbnQKKzM4NDgzIDdkYWUxYTgxY2VkODM4MDVmMjg2OGRmYjY0N2ZmZmQxZGUzMThmMGYgbGVnYWN5LXRydW5rCiszODQ4NCA3NzcwM2VkNTQzYTEwZjJkMWFhYTJjYjg4Mzg5NWJjYjAzMWVjYWRlIGxlZ2FjeS10cnVuaworMzg0ODUgZDQzOWM3NDhiNDU0NTFjZGI0NzYyNzM4YWQ5MGFkZjc5YTI3YmQzYyByZWxlYXNlMjQtbWFpbnQKKzM4NDg2IDhiNGRkMmMxYzJhMDYzZjAzYjcwMGE3NDg4ZTRmOTdmZDA3OWZlOTAgbGVnYWN5LXRydW5rCiszODQ4NyA0YjEyMDdjYjAxZWE2NmZjYzcyNGZiNjU3Y2U2Y2Y1YjAzMzZiNmQ0IGxlZ2FjeS10cnVuaworMzg0ODggODEzMDMwZTRkN2IwYTFkYWNkZTQyMWE0NjM5ZTZiMmRkOGNkZjZiNSByZWxlYXNlMjQtbWFpbnQKKzM4NDg5IGM2MGZkZThiMDEwNmIwOTg5MmM1NDQyNGRiNmVhZmZjMzdhMWI3ZDkgbGVnYWN5LXRydW5rCiszODQ5MCA3YzU3MzI2NTJhMjNjYmQ3MWU5YmY2ZGNhOGI1Y2U1NzMwMDlkM2VhIGxlZ2FjeS10cnVuaworMzg0OTEgNjE4Y2YyNGMzMjlmOTlmZDViMDE3YmIzYjA3Y2EzMWFiYjNjOWE4NyBsZWdhY3ktdHJ1bmsKKzM4NDkyIDA3Y2YxYTE2NDBkYTQxMjM0OWRmNDcwNzdjOGIxMjUzYmMyMzEzZTkgbGVnYWN5LXRydW5rCiszODQ5MyBhNGQxMzk3NGY2ZWI3YzRkZjkwMTA0MTAyMDI1YjRlM2I0MGRiZWE3IGxlZ2FjeS10cnVuaworMzg0OTQgYWM2ZGZjNjdjNzdmZjZkMWQ4YWNhNjFjMTM5ZjZhYmM2ZjE4ZDk0MCBsZWdhY3ktdHJ1bmsKKzM4NDk1IGEzNmM1ZmQzMGUyMTI3YWUxMmRkNTM5ZjY2OTQ3ODdlOTNhMWYwZTEgcmVsZWFzZTI0LW1haW50CiszODQ5NiA5ZjAyMjc2ZDU0Y2I0ZWMzMmVjMzlhNTI4MjE0Yjk5OTVmMjM2MGM2IGxlZ2FjeS10cnVuaworMzg0OTcgMDM4NmNjMWVlOTY0ZTRkNDg3ODQyN2VlM2FhZmM3ODdjZjJlMWUwNSBhc3QtYnJhbmNoCiszODQ5OCBlMGY0ZWI2NGQwMDM5MWUzYzQ2YjVmMjg5MDU4YjI5ZmYyZmNhY2VjIGFzdC1icmFuY2gKKzM4NDk5IDI2NzZlMDVjMDFmMjFhYTg1Y2UxY2JlNWM3ZDVlYjdlZGQwODg1ZDYgcmVsZWFzZTI0LW1haW50CiszODUwMCBjOTlhZTg2MzVmM2I1NGRiODgzOTA0ZDNhYmNkNzMwZjEyOGI4YmY2IGxlZ2FjeS10cnVuaworMzg1MDEgMGRkMTQ2ZmVkOWRkYTNjZTNmYjlhY2Y5NTFlZDgzMTIxNjUxMzU5OCBsZWdhY3ktdHJ1bmsKKzM4NTAyIDU1NmY2ZjEwNTZhOGY2ZDVkMDNhMjhlYmZmNGJjMzNmOTc0NTNlN2IgbGVnYWN5LXRydW5rCiszODUwMyAxZWRlYTRjMmIwMTFiNTNhZmJiYjUzYzkzYzQwMjAyOWIzMjljYzQ3IGxlZ2FjeS10cnVuaworMzg1MDQgNTE2YmI4ZmQ3NWI0YmQ1Nzk4MWFjZjFhNzdmY2NlMzMxNzhiYjBmZCBsZWdhY3ktdHJ1bmsKKzM4NTA1IDc2YzlhYjg1ZjVhODg3NDUyNDY3ZmIyMTUzMmU0Y2QxMWZmMmZhMzMgbGVnYWN5LXRydW5rCiszODUwNiA1ZmRlMTdiMzU0NzI1NGJhYmE2NDk5OWQyMTAxOWU2NDI5OWNlNWUxIGxlZ2FjeS10cnVuaworMzg1MDcgYzVhNDk4YzEwNzIzNTk4YjliNGYxOTc0YzZhZWZjZTlhMTZlNTlkOSBsZWdhY3ktdHJ1bmsKKzM4NTA4IGZjYWNmOWQ0YjhmMGZhZWI3NTYyZjk2Y2U4NjhiMTgxNTg0ZjU3M2MgbGVnYWN5LXRydW5rCiszODUwOSBkMjU5OTg0OTYyMDY1ZmU1OGI4NzZmNDU1ODIwZWRkZDBjMDQ2MzVjIGxlZ2FjeS10cnVuaworMzg1MTAgM2U3YTIwYzI5N2E2MGU2ZTdkZGU1MDFiYWZjOWY5ZTQyZTNkYjcyYSByZWxlYXNlMjQtbWFpbnQKKzM4NTExIDA4MGQ4Y2ZlZDlkNGE3YTU0ZDVjY2JlZWM3ZTBhYzU2MDJiMmJlMWMgbGVnYWN5LXRydW5rCiszODUxMiA2NjA0MTliZGI0YWVmOWJiNWRlMjg1Yzc2NWFlNmRlZTE0MmYwYzk3IGxlZ2FjeS10cnVuaworMzg1MTMgNDE2YjUzNGU5Y2M5NjhlZmZlYmNhZjE3NTViZTllM2NmZTM4MmY1ZCBsZWdhY3ktdHJ1bmsKKzM4NTE0IDc3YjU3MDg3ZmU0NWRiMjQ3MTc4ZjBlMjM1ZTQyNmY3ZTRkMjhmOTEgbGVnYWN5LXRydW5rCiszODUxNSA0MzI5YTFhMDA0NjlkMTYzY2E1ODRiN2UwODAzMTE3YjNlMjBkZjU5IGFzdC1icmFuY2gKKzM4NTE2IDg5Y2YyNWUzNjc5YWU5OWE0OTAyYmFjMDUwMTViZWI4NjI3NzdiNzAgYXN0LWJyYW5jaAorMzg1MTcgZDFiMzVhZjI5MjYzMGI2MDk3Y2Y2YjNiYTIwMzA1ZGMxZWRkZWJjMCBsZWdhY3ktdHJ1bmsKKzM4NTE4IGEyYjdjYjczZDliMWQ3MGViYjQ4MzUzZDY0Y2NlY2M4MjM1N2Q5NTQgcmVsZWFzZTI0LW1haW50CiszODUxOSA1ZjI2Mjk4ODExYjcxNDJhNmY3MzA4Njc4ZDZkNzJiZmY4NmMxNDU1IGxlZ2FjeS10cnVuaworMzg1MjAgM2QwYmIzYjA1ZDM5ZjBiZDE0ZDlmOGM2OWUxNzc1MTg0MWQ0NzRiZiBsZWdhY3ktdHJ1bmsKKzM4NTIxIDExNzZmMWJiNGUxYWVhMmZmNTE4MjcyMGM0NmFiYmY2MGMxZjFhYzEgbGVnYWN5LXRydW5rCiszODUyMiA0YTBjMjAyZWU3ODlhMzczZjY0N2RkMDA5MzQ4NjRlZTI5NzliMjc3IGxlZ2FjeS10cnVuaworMzg1MjMgZDNjZTdhOTQ2MTZlOTE3Y2ZlZGJlMDAzNmI0ZjEwZmIxY2I4MDZmOSBsZWdhY3ktdHJ1bmsKKzM4NTI0IDYzNmQ2ZDQzM2I2MjYzN2FlZDRlZmIxOGIzMDcxYmQ0MzEyZDc2MjQgbGVnYWN5LXRydW5rCiszODUyNSBmZDZkMzU5Y2EyNjYyMjFiN2FlZjlhNjMyNjZkZjVhZWVmMjIzNzJlIGxlZ2FjeS10cnVuaworMzg1MjYgYjVhMjVjNTZhODUyM2Q3Zjk0OGFiMDY2OTNmOTZjOTEwYzg1YTE2OSByZWxlYXNlMjQtbWFpbnQKKzM4NTI3IDYwNTBhZTg0MmM4ZjFjODhiOWFhYTIzNTYyNWVjNGQ4M2Q5ZDViYzUgbGVnYWN5LXRydW5rCiszODUyOCBjNTA1Y2JiMjZjZWRjZDA1MGY0NmQwYjdlNTFiNWI0MGZiYzQ1OTUxIHJlbGVhc2UyNC1tYWludAorMzg1MjkgZmEzY2RkNGY5Y2QwMTdhN2VlZDk3ZTE1N2YyNGM4ZDdlNjc5YTk4ZSBsZWdhY3ktdHJ1bmsKKzM4NTMwIGI0MzE1ZTY3ZWRmNTEwYjkyZjZiYjIzZTk5NTRhMjM2YTRjM2M2NDggbGVnYWN5LXRydW5rCiszODUzMSBhOWYxNjFlMzZiZjkwNDFlZTBkYTg2OWUxOWY1YThlNTQ1YjFlNTQ5IGxlZ2FjeS10cnVuaworMzg1MzIgZDQ4ZmEwYWZkY2JhZmQ1MGUxNDMzOTIxYjU3ZGM4MjllYzZlZDQ0MyBsZWdhY3ktdHJ1bmsKKzM4NTMzIDEzYTk1MGEzNjI0YmNhYTJiNGQyMGIwZDRkNGQ5ZjU5NjZmMmQzZmYgbGVnYWN5LXRydW5rCiszODUzNCAxMWZjZGJiMjc5ZGU5MmFlZmFkODkzZjZkNjIxNzEyZjk4N2JiN2JjIGxlZ2FjeS10cnVuaworMzg1MzUgZDk5MjdhNjVmNWY5MmUyNzZkOTIyODZlNmM0M2Q5MzFjMTExNmRkOCByZWxlYXNlMjQtbWFpbnQKKzM4NTM2IGNhYzMxYjRiNWU3OGQ0ZDI1Nzg5ZGEzNTA1MzgxZTBkYWRmODNmNDggbGVnYWN5LXRydW5rCiszODUzNyA4NjFiZTljZDA0ZDdlY2Q0OGZjM2VjNDBjZjdlNGNlYWU4NDY1MDkwIHJlbGVhc2UyNC1tYWludAorMzg1MzggNGFhZmIxYzlhNzBkOTAwZTg3MWVlZTMxMzQwNzc1NzFiMTVjZjg3YSBsZWdhY3ktdHJ1bmsKKzM4NTM5IGU0OGI1YTYxZDgwYmQ2ZWJkNTVmYThkMWZmYmZiOTdiNjJiYzJlMWYgcmVsZWFzZTI0LW1haW50CiszODU0MCBhNmQyMzE1MTA5YTRmMmFjOWFiZjZkYjg0NTE3YmNhOTMyMjU3OTBlIGxlZ2FjeS10cnVuaworMzg1NDEgMmZkOWI4NWJhNjVmZGVmY2Q1ZjJmZjBkOGQwY2ZkNTFjZjRlYWMxOCByZWxlYXNlMjQtbWFpbnQKKzM4NTQyIGU2NDIyNTI1YzI0MDMxODk1Y2Q0OTExYTc5OTBlYTk4ZWQwYjQwYmIgbGVnYWN5LXRydW5rCiszODU0MyA3NTU2NDUzMGY1MGMxZWZiNDA1ZGZiOTI3NjY4Y2ZhZTY3OTJmZTAyIHJlbGVhc2UyNC1tYWludAorMzg1NDQgOTE4YmM2ZDU2ZDI2ZjY2MTI1ZmY1NGY2OTI0YTUxY2M3MTc5YzNmNiBsZWdhY3ktdHJ1bmsKKzM4NTQ1IDlmYTc2OGE5OGM1Y2EzNjFiODA4YzI2MmNiYTZmMGU4NzIxZmM5MTggbGVnYWN5LXRydW5rCiszODU0NiBiNDA1ODYxMjliYjA4NzJiNWUwYzA0YmMxMTc0NWUyNzkwMDZlZTY5IGxlZ2FjeS10cnVuaworMzg1NDcgOWQ2MDg0MTljZGY4ZDUzNmNlZTk0NTVkMjFhZjNhM2VlOTQ5ZTU0YSBsZWdhY3ktdHJ1bmsKKzM4NTQ4IDM3ODU2MTBmZjc2MzAxZjRkZjk5YjYxZGNlZWY4NjE2YThmMGJlZWIgbGVnYWN5LXRydW5rCiszODU0OSA0NjMwMGIxYWEyZjY4MjVmZGZjNDEyZDM3MDk4N2E2NjNlYzhhMWY4IHJlbGVhc2UyNC1tYWludAorMzg1NTAgNDgxMmY2YTdmNzM1NTY4M2IyMmI2MmFjNzNhYjBjYTVjODE3MThlYyBsZWdhY3ktdHJ1bmsKKzM4NTUxIDhjMzU2M2QwOGM2MjNkZWE4Y2JmYzc5YzI5NThhNzgyZmI5ODY3OWMgbGVnYWN5LXRydW5rCiszODU1MiA5YjNhMmM0MzAyYWFjMDZlMDllOWFlODU2ZmE0MmUzMjFmZTcxYWUwIHJlbGVhc2UyNC1tYWludAorMzg1NTMgMGQ0MTA4ZDNhM2E4Yjc3ZGZmNThlMTM1MWIwYjE2YzM0ZmQ1NzBlMCByZWxlYXNlMjQtbWFpbnQKKzM4NTU0IDRjNjZjMTdjNGIyODA5YjM0NGU1YzdmNGVkMjk0NzA0MTZkNTg0NTggbGVnYWN5LXRydW5rCiszODU1NSBkYjdhODMxMGIxOWE5NGQ2MTdhOTVhZjBmZTQ3NTE5MTQ2ZmZhZGIzIGxlZ2FjeS10cnVuaworMzg1NTYgMDg1YmMyN2Y5MmI3NTE5YWYzMzZhODNkNjM0MzMxZjY4MDg2ZmQzMyBsZWdhY3ktdHJ1bmsKKzM4NTU3IDAwZTQ3ZWIxMzZiMmMwOTUxNTFiY2IyNTc0ZDM3MTExZjMwZWZmZmUgbGVnYWN5LXRydW5rCiszODU1OCA3YTFhOGVjNmRjNTM0NGMwZDAyM2IwMzg3YTY3YTJkOWU2ZmI4ZjM0IHJlbGVhc2UyNC1tYWludAorMzg1NTkgOGYwNDU2NDI1NzE1ODE1MTAxZDkwMTQ2NTAyMDhjNmI0MjIyMTU1YSBsZWdhY3ktdHJ1bmsKKzM4NTYwIDRhYmYyMWJlMTdkMzU0MTk1YzA5YTM3MzMwOTEzZWE3YTM3MDcxZGYgcmVsZWFzZTI0LW1haW50CiszODU2MSBlOWZmYWQ2ZDg4MjI4ZWM4M2RkNzllZTRkMGQ5ZTEzOTMyMWRiMmMyIGxlZ2FjeS10cnVuaworMzg1NjIgNTFhZmI2ZTc3NDc0MDhlNmZlOTcwZTA3N2YxYWIxZWQ3N2I4YjIyMSBsZWdhY3ktdHJ1bmsKKzM4NTYzIDgxOTgyNTg0YzYxYmM1NjI0NmY1OWU2YjYyNWY3NmFhOTE1NWE4YzkgcmVsZWFzZTI0LW1haW50CiszODU2NCA0ODEzOTc2ODNlYWNlZjBlOWIzYTgxYTg1MGRmZjQ5NjMwOGYyZGRiIGxlZ2FjeS10cnVuaworMzg1NjUgZWQ2ZWMwMDBhMTM4ODk3ZTVjMTdlNjViN2M1ODU0M2NkNDc4ODVlMiByZWxlYXNlMjQtbWFpbnQKKzM4NTY2IDkwMzA0NWE3MGMzZWI2MDQ1YmQ4ZjBhZWJjYzZmYzBjNWUyODZhM2YgcmVsZWFzZTI0LW1haW50CiszODU2NyAwYzQwODAzZTVlNGQ0MDhlMmM3ZjE3MmZiYTFjNjJmY2U5ZThmYzA4IGxlZ2FjeS10cnVuaworMzg1NjggZjg3YThkMGRmMTI1MmJiOTE1NDhlMWQ0YmIxZWMwYmQ2OWJjMzY5NiByZWxlYXNlMjQtbWFpbnQKKzM4NTY5IDQ5ZDdiYjJlOTZkMmY1Y2JjY2VhMWU3NDMyNzMwZTk0M2UzMGVlN2YgbGVnYWN5LXRydW5rCiszODU3MCBhZTA2MWZjNjMxOGRjZTA3MjlmM2Q5NWY0MjczNTM3OWVjMTg0MmUxIGxlZ2FjeS10cnVuaworMzg1NzEgZWFjMDFjYmNhYWRhOWJiZDdiZmQ1NTAzYzJjMDU0MTY5ZDM0MGVhZSByZWxlYXNlMjQtbWFpbnQKKzM4NTcyIDFhYzI0ZTkxODNlNTE3N2Q2MDgyYTc2Y2U1ZjNmYTgyN2YwYjliYWEgbGVnYWN5LXRydW5rCiszODU3MyA0ZWE5ZGUwMWQzMTE1NmRhNzI3N2YyYWE3OGY2ZjkxMDkxY2M1NmUxIHJlbGVhc2UyNC1tYWludAorMzg1NzQgYzJiNTkxZDdmMjllZmRmOWYzYmNlNTYwZjFjZjE0ZTZmOGI0MmQyZiByZWxlYXNlMjQtbWFpbnQKKzM4NTc1IDA3MjVmMGQ1YTVjNzU4OGFmMDk1NTBkNGQ3MDVlMzQ4ODI5ODgxNmQgbGVnYWN5LXRydW5rCiszODU3NiA4MTdlMjI1MDZmYThmOWM5NmNlNWNlOWI4YzkzZWU1MDNiZWQwN2VlIGxlZ2FjeS10cnVuaworMzg1NzcgNjA0ZmY5ODkxNWVjODE4NTQ2YjJkYWNlYmYwMWYyNjMwNmQyMzQyMSBsZWdhY3ktdHJ1bmsKKzM4NTc4IDlmMDc4ZDc2NjgwNDQ0Nzc0MjQ3MjU2NDRhOWMxY2NhYmYyZmMyYTUgbGVnYWN5LXRydW5rCiszODU3OSBjMDUxNzhmNDFkYjM5MDc4NWIzMjcxM2Q5MzY2NmFjNzVjMGI5NDc5IGxlZ2FjeS10cnVuaworMzg1ODAgYTBkM2Y3NzM1NDNkYjI4MWE3NjQ2NDg3ZTkxY2QzMjdmODVlNDcxOSBsZWdhY3ktdHJ1bmsKKzM4NTgxIDc5MzAyZTUwOTEwZWVjZTIwZjIxNDA2NTBiNDIyZjNlNjljOGFhMGIgbGVnYWN5LXRydW5rCiszODU4MiBhOTFhNDhjOWRlMDBjOWFiYTlmMmE2NmFlYmJkODMyNTg2MGMyYTExIHJlbGVhc2UyNC1tYWludAorMzg1ODMgNDFhOWNhODY2MDM4MjAzNjQ0YmFmYWE2NDIwOGExMTkxNTE2MzZmOSByZWxlYXNlMjQtbWFpbnQKKzM4NTg0IDg0ODU5YjRhNjJjNmVjZGU1NjY1MTgwMWNmNTQyNjU5ODlkZDM2MTQgbGVnYWN5LXRydW5rCiszODU4NSA1ZDBkNzZkN2IzMWZkODgyZTFiMWUyN2UwMmJkYTg0ZGFhMGU4MDYwIHJlbGVhc2UyNC1tYWludAorMzg1ODYgMTMwOWY2OWI0ZGJiZGU4YjdjNTcwNjUxMzE5ZDQ3YTU0Njg5ZWI5ZSBsZWdhY3ktdHJ1bmsKKzM4NTg3IDdkZTc2ZjM0YjNkYTJmMDk2ODVhMWY0ZjkxZGQ4ZTU3ZTJiNzNhYjUgbGVnYWN5LXRydW5rCiszODU4OCBmNGRhNDZiOTQ1NzA4OTIyMzViMTA2M2VmODllM2I4NGM5MjEzMmY0IGFzdC1icmFuY2gKKzM4NTg5IDk1YjY2ZDlkYjJlZTY1OWEwYzJhMjk5ZDNjNDE0YTU2MmU5NjAwY2EgYXN0LWJyYW5jaAorMzg1OTAgMzA5OGVmZTQyYTBmMjA4NmM0NDA1ODQ3OTQzOWU1NDA2ODZiNWYwOCBsZWdhY3ktdHJ1bmsKKzM4NTkxIDdkMmM4ZGFhNDAzYjYxOWNmZjcwYzhmNTcwYzY4YzM5MDUwMWUwZjUgbGVnYWN5LXRydW5rCiszODU5MiBkNjg3YThhMDlhNzJkNzRkNjQ4ZDRiODkwY2U2N2JhYTdhMTYxNTg3IGxlZ2FjeS10cnVuaworMzg1OTMgMGQ0NGQ5MDcxZTk3ZmJjMTA2MzljYTY0NWY0ZjMzN2IxZTFlY2E5OSByZWxlYXNlMjQtbWFpbnQKKzM4NTk0IGYxZmE3YmIyYmY5OTkwZjQwY2EwOWJhYmRlNzM0OGEzYjA5NDE2ODEgcmVsZWFzZTI0LW1haW50CiszODU5NSA2OTdiOWVlYzU1ZGE4MmM0ZDdhMGIzZDZkOTY1NTY2YWJlMmQ5YTQzIGxlZ2FjeS10cnVuaworMzg1OTYgZDU0NDlmMWY4NDBlY2Q0ZTI2NTJkZDI2MjRlODliMzRmOGQ1MGJlMSByZWxlYXNlMjQtbWFpbnQKKzM4NTk3IGYyOTAxMjE4MWNmMDE3YjhmYmE1ZmI4ZTc5YWEyYTI1ZjI0NzMwMmYgbGVnYWN5LXRydW5rCiszODU5OCBlNWQxOTAzMWEyOTVkNzdiZDg2MDBhNDUyOWVmYTg1NmM0M2Y5NTM2IHJlbGVhc2UyNC1tYWludAorMzg1OTkgNmI2ODc1ZWRmNjA3ZTMyYjU4OGNmZWRlZGUwODFjZmJlMmNlMDQ4OCByZWxlYXNlMjQtbWFpbnQKKzM4NjAwIDg0NzEzZDRiMTlhZjEzNmU0YTRhM2Y1NmMwNWY4MDc1MmU2OGI1ZTAgbGVnYWN5LXRydW5rCiszODYwMSA0NGYxNDhiZmM2Yjg4MTc1YWI2NzA0M2U2NmVmY2U5ZmNmNWYyYjkwIHJlbGVhc2UyNC1tYWludAorMzg2MDIgZGRjMjI3NmMyNDdlNjg2ZjhmMWEwODQ4MWJlY2ZhNmZhYmYzY2MwYSBsZWdhY3ktdHJ1bmsKKzM4NjAzIDUxNmYxNTUyMTU5ODRkYjNiNmE0OTRjNDg3ZWMxM2I1MWQxNWQ2MjUgbGVnYWN5LXRydW5rCiszODYwNCBiNTQzM2QzYzZkYzg4NDc2ZjIyODA5ZmJhYzQ4ZDQzMTU1YzkzNWUxIHJlbGVhc2UyNC1tYWludAorMzg2MDUgMjFlNjU3N2ZmMDc0ZTExNmRmNmE3MzIzMmU4ZGE5YjYzYmRlNjE4MSBsZWdhY3ktdHJ1bmsKKzM4NjA2IGIxMjJmZDkzYTViNTE2ZTAxOTBkZmIzNjJlN2QwMDU5MzMwZDBlOTcgcmVsZWFzZTI0LW1haW50CiszODYwNyAxNmNlZjA5YTgzNDJkYWNjYWZjYjg1ODE5YTJkYmZlMTcxNDE0OTNiIHJlbGVhc2UyNC1tYWludAorMzg2MDggOTkwNmU0ZGEwODZmZGNjZjQ0YzdlZmU1Mzk1NjQ1M2EzZDJjM2M2NyBsZWdhY3ktdHJ1bmsKKzM4NjA5IDUyYjY1MWE5NzUwZDVkYjM0Y2EwMjFlYTRjM2FlN2M2NDYxNTY5MDkgcmVsZWFzZTI0LW1haW50CiszODYxMCA0MzAzNTY4MzlkMjg1OTFlNjIyZmE4MjZmZTM2ZDg2MGFiODM3OGVjIGxlZ2FjeS10cnVuaworMzg2MTEgMmM3MzM2N2Y1NGVlZWM4OTYyNjM1YTBkMTY2NDAwNGYzMTgwMWJlMSBsZWdhY3ktdHJ1bmsKKzM4NjEyIDAzNDkyNTdlMWVkNTJlMWY3OTJmODYwNTcyYTkxOGJmNzYzNjg3MDUgcmVsZWFzZTI0LW1haW50CiszODYxMyBiMTQyN2NmZjJmODMyMTFiNzBhY2EzMmMxNDk4YTUzYzg5NDVmM2M4IHJlbGVhc2UyNC1tYWludAorMzg2MTQgY2ZhZTRiMTIwNmY4YWM5ZDUwYjBiNGY3NjJlNjc1NDEyMzBkYTU0MyByZWxlYXNlMjQtbWFpbnQKKzM4NjE0IDExOTVmOWJhMzQzOTA5N2NjNWI1YTM2N2UzYWUxYjQzZjE1N2IyNjQgcmVsZWFzZTI0LW1haW50CiszODYxNiAwYmUwNWViYTExNmQ4MTg0ZDg2ZWExYzMyOTg4MzMxZTY0YmViYTI0IGxlZ2FjeS10cnVuaworMzg2MTcgZWEwMjRhNGIyOWI2ZDExMTJmNmI5MTdmZGZkZjI1ZGZjNTgwMzY5ZCByZWxlYXNlMjQtbWFpbnQKKzM4NjE4IDFhZmVmY2YxNGYwNjM4YzNhNTU5MzY5MTNkZDFlNjk2ZGY0NjRkYjUgbGVnYWN5LXRydW5rCiszODYxOSBlODMzMDlkNDNhODJlOTlhNzUwMWI0OTg3YjI2MDMyMDdjNDkwMzMxIGxlZ2FjeS10cnVuaworMzg2MjAgZDM1NWRhMWQ3YzhmZDE5YmIyMDdkYjJjYWEzYzc4MDYyZjc0ODI5MCBsZWdhY3ktdHJ1bmsKKzM4NjIxIDY1ZThhYWNiMGU5NGIxNjIzOWNlZDgyYjQyMTEzMDM2YzM5OGJmZWYgbGVnYWN5LXRydW5rCiszODYyMiA4MWI1YTEzZmEzOGEyNDkwMjczZGE2NjExYzBjMGRlZGJlZThiNWIxIGxlZ2FjeS10cnVuaworMzg2MjMgOGQ4YmE2Njc4MGVkNzc4NTAyY2UzOGI2Njc0YWVlM2ZiMTA0N2FhMSByZWxlYXNlMjQtbWFpbnQKKzM4NjI0IDQ1M2Q4OWVhYjczOTM2ZmI5MTVmOTg5NTc5YzRhYjJiMmMzZjJhZjcgbGVnYWN5LXRydW5rCiszODYyNSAwYzgyYTdlZjk1NTRkYWQ5ZmFjODc5Mjg4ZTBhNzdlNzI1OWU2M2YyIHJlbGVhc2UyNC1tYWludAorMzg2MjYgM2JiNzU5NDk4NzY3ZDY5MGZlNmYyYzI5Y2JiZGNjMjM4MjVlMTUzOCBsZWdhY3ktdHJ1bmsKKzM4NjI3IGZkZjJmOGZhZDhkNDU3MzYzODZjYTM4NTY5YzAwN2M4MmJhOTYzMDYgcmVsZWFzZTI0LW1haW50CiszODYyOCA2ZjliMzZmYzExMWM5YWZkYWQ0MmY5ODVjMzEzOGZjMmY4MmZhOTgyIHJlbGVhc2UyNC1tYWludAorMzg2MjkgYjhkOTA1Y2E5ZTk5OTk2NmQ2NzdhZTY0NTQ3NjRhZmJhM2E2MDYyNSBsZWdhY3ktdHJ1bmsKKzM4NjMwIDNkOTdlYjNiN2NlY2FmZjQ2ZmRlZTI2OTAwNWY2N2VkYTQ4YzhlNjMgbGVnYWN5LXRydW5rCiszODYzMSA3MmI5ZWI3NDIyNjMwN2JmMmFiYjZjMDM5ZDJiNjlhMmRhNmQwMDI0IGxlZ2FjeS10cnVuaworMzg2MzIgM2ZhMzQ3NTk1NDg3MjBiNmY5NjI2ZmMzYTk3OWUwYTU0Nzk3ZWExYiBsZWdhY3ktdHJ1bmsKKzM4NjMzIDUxODBjZmNjODdiZmU3MjY0MGU1Mjg2ZDAzYjEzZGNkNjcwMTIzMDEgcmVsZWFzZTI0LW1haW50CiszODYzNCBkZmEwOTdjY2JjNDlkYTQ1MzcwNjExNWViN2E5M2Q0MzI2MjJkYjgxIHJlbGVhc2UyNC1tYWludAorMzg2MzUgMjE4YTc2Mjc1OTMyZWQ2OGQyYTY3OTc4ZjI4ODQyZjliZjk2NzYxNCBsZWdhY3ktdHJ1bmsKKzM4NjM2IDY3OWMxNjExNTYxMzFjOWQ0NTcyYTA3NjcxMDE4NGQ3NDU3NGU4MmQgbGVnYWN5LXRydW5rCiszODYzNyA5NjI4MDBlZTMwZWY1ZjQyYTMyNWVhNjJiZTYwM2NjNGY1MGQ1MzFmIHJlbGVhc2UyNC1tYWludAorMzg2MzggMDRiYWE2NDRmZjAwMzM5MWRlYmZkYzJhNjdhMDI3ZGJhNDI5NWFlMSBsZWdhY3ktdHJ1bmsKKzM4NjM5IDExYjQzNTBiNTg3OTJkYTlmNzgxNzY1NjBjNTNjMzZjOTAwNjk2YjAgcmVsZWFzZTI0LW1haW50CiszODY0MCBlNTI3ODMzMWQ5YTkwNThmYWRhN2E0YjRhMTA2YzJjM2VjYzVkODcyIGxlZ2FjeS10cnVuaworMzg2NDEgNmYzN2QxMTYwMjYxMDk5MjgzNDdhNzBiNmRmNzkyMDA3MTUzMGJjOCByZWxlYXNlMjQtbWFpbnQKKzM4NjQyIDdmN2NiZGIyYzYxMTM3ZGFjYzRiYjZlZmY2YzQ4MTgxMWU0MjljNzkgcmVsZWFzZTI0LW1haW50CiszODY0MyA1Zjg5M2E0Y2RlNmZkOGQ2ZGRlOGIzMzgyODc3MTM3NzMyYWIxMzU3IGxlZ2FjeS10cnVuaworMzg2NDQgNTA1MDllZTk2MzY0YzdlODYyYjZjMDM3ZWJmZTQyOGUyMzVlYWNmOCBsZWdhY3ktdHJ1bmsKKzM4NjQ1IDMxM2VkMjgxN2Q2ODA5ZTMzZDQ0N2I5YzA4ODdhMTU4ZTczZjZmMmMgbGVnYWN5LXRydW5rCiszODY0NiA0ZGI1ZWE5NTc3YmFiZGM3Y2I4NGJkOTRjYzg3NWY1ZTA4ZDlmNTZmIHJlbGVhc2UyNC1tYWludAorMzg2NDcgMDc3NDUxNjZmNTcxM2JhNTZjMWI4YWU4MTJiOWFmNGZiYzYzODg4ZSBsZWdhY3ktdHJ1bmsKKzM4NjQ4IGZjYjUwNzQxNGM0MTQ4ZjQxYmVhMWU5YmQ5MDY4YTZlMDJkNzdmMDMgcmVsZWFzZTI0LW1haW50CiszODY0OSAyM2NhMjYzMDY1N2M0ODUwOWMzNWI2YjM4NDVhNmIwNGI0MGI2NzI3IGxlZ2FjeS10cnVuaworMzg2NTAgNmE2NDk4MTYxMjRhN2NlNDVhNWExM2M2OTg5N2FjNDE5NWMxNGE3NSByZWxlYXNlMjQtbWFpbnQKKzM4NjUxIGJjMTU5Mjk2ZDI1MzU2OTZkMDQwODUxYWQzOGI4ZTRjMDI5ZjZlZGYgYXN0LWJyYW5jaAorMzg2NTIgNTExZTdhOTNhMWU5ZjEwNWU2NDIyY2FhOTM1NTI4NWI2ODVmM2E4OSByZWxlYXNlMjQtbWFpbnQKKzM4NjUzIDg0ZWI1ZTE4NTU0NzYxNjZiZjI5ZWM3ZDBmYjlmYzk4MDFmYWY3YjAgcmVsZWFzZTI0LW1haW50CiszODY1MyAzMzNjZjMwMzU0M2I2ODBlYzVlM2ZkZjdlOGM5NjYxZjk0ODhhNTBlIHJlbGVhc2UyNC1tYWludAorMzg2NTUgYmViMWNiNzg1ZTFkNTQwNmNiMDM1ZjUyZDUyYjRhMzRlY2M2N2Q4MSBsZWdhY3ktdHJ1bmsKKzM4NjU2IDdkNzQwNGE2YTVlYTNkMjQzNzcxNmNlZjE5Y2I5YTE2YmM2MjQzZjIgcmVsZWFzZTI0LW1haW50CiszODY1NyA3MTllYjEwMmVhNDQ4ODRmZmI5OTYyY2VlNDVhMGI1YjUwMTk5N2YxIGxlZ2FjeS10cnVuaworMzg2NTggZmIzOWY0ZWVhZWE0NzYyNzVjMDE4NGE3MDcwNWQ4YzBhZGMzZDc3OCBsZWdhY3ktdHJ1bmsKKzM4NjU5IDJlZTU3NWI5YjYwZTVkMmE5NTBhYWQzZDQ0Yjc4YWI2ZmQ1Yjk5MTIgbGVnYWN5LXRydW5rCiszODY2MCBmZGU1YTFjNmE0OTdlNTQ1NmQ2Y2Y3NTVmMTM5MzRhODAxYzlhYjYzIGxlZ2FjeS10cnVuaworMzg2NjEgOWQ4MGU2MzAwNGNkYzZjNTE5NzhiMjJhYmNmMDI5ZWMzNWQ5MTZiMiByZWxlYXNlMjQtbWFpbnQKKzM4NjYyIGEzMDVmZWRjYTFiZmZmNTM0YjZiNjc2NThkZDgyMjQ3MjkyNmNlMTEgcmVsZWFzZTI0LW1haW50CiszODY2MyAwNGZhMTMyYzkwMjNkZWMwNGFlODFjYzM2OTA2MDdkNjRkY2VkYTUxIHJlbGVhc2UyNC1tYWludAorMzg2NjQgMzM2ZmVhNDA2ZmNmMDZiODhmM2ZmZWFiNzE1M2ZjNzUxYzJlMTRiZCByZWxlYXNlMjQtbWFpbnQKKzM4NjY1IDRiY2UyZTUwOTYxZTFjYjgwZGRmYjkyZjhhNzJkMWJlNDE0ZWY2MmIgbGVnYWN5LXRydW5rCiszODY2NiA5OTdiMjU1ZTFjY2M4OGJlZjkxODBjYWI5MDQ4NzMyNzc2OTcxNTQ3IHJlbGVhc2UyNC1tYWludAorMzg2NjcgNzYzMDBjNWZiY2VjOGY1ODc4ZjVmMmIzYjcxMjZlYmJhZmNhMzYwOSBsZWdhY3ktdHJ1bmsKKzM4NjY4IGZkZWU4N2I3MDM3YTNiNjAwM2VjODJlMjBkMGJiYTJlMWNlZThlZGUgbGVnYWN5LXRydW5rCiszODY2OSAwYTZhNGNjZjVjY2Y5ZmRkMGE5YjYzN2U5ODk0ZDQzZjAzYWVkNmI2IGxlZ2FjeS10cnVuaworMzg2NzAgMjNlM2RmYzBjNjQ3YThmNTBlYjZhYzE5NDVlMmU1NWU5MmY3YzMwZCBsZWdhY3ktdHJ1bmsKKzM4NjcxIDJiMzhlZDY2YzY3ZmY3NjllMGY0NGQ2ZDJkOTQ0YjNkZTk2NWY1NGIgbGVnYWN5LXRydW5rCiszODY3MiBkYzZmMzE1ZjFmN2YxNWY5NmI5NWQzNGU5OTlmNTBhYzNhYjU1MDA1IGxlZ2FjeS10cnVuaworMzg2NzMgMTNjMWMzMzE2YzZmZGVlNDJhNGRlYWRlNmU0NGQ5MTU1NTk3YmEzNiBhc3QtYnJhbmNoCiszODY3NCBjZjQzMDJjMjFlMDAzZGI4YTczY2Y3MWUzMjI2ZTNlZjdjMjM2M2U3IGFzdC1icmFuY2gKKzM4Njc1IDZkMWVlOWRiMTU0M2VmMjQwMDZjN2QyZjcyZGM2ZDQ4NWU0YjA3ZTggYXN0LWJyYW5jaAorMzg2NzYgOWY0NTRhZjE3ZjdhMzhmYjcyNjUwMDY5MTMwZDlkMTM0YTliOTAzOCBsZWdhY3ktdHJ1bmsKKzM4Njc3IDNlMmVlMjE5NzI3ZDEwMGQ2MmNmYjEzNzQxMGI1MDQ3ZjlhZjFkNzEgbGVnYWN5LXRydW5rCiszODY3OCBiMTRjOGU2MzEwZTcxMmU3NTZkYzIzNjQ5NzUyYTI1MmZjN2M0YmUwIGxlZ2FjeS10cnVuaworMzg2NzkgOWFlYTlmOGJkYjJjNDc4MWQ5YjQ1ZDU2YzY0NDdmYzJmNzMzYjQ5MiBhc3QtYnJhbmNoCiszODY4MCAxMDdlMWU4YzhmYzdlNWEwZDE0M2JiNDIzNGZmMzE1ZmUwYmI4N2Y3IGxlZ2FjeS10cnVuaworMzg2ODEgMjNiM2U3OTA2ZTBmNjM4ZmE4ZjkyY2JjMjQxMmM1NjZkZTFkYTI4ZiByZWxlYXNlMjQtbWFpbnQKKzM4NjgyIGMwNmM5MGJlYTdkYjA3MDM5ZmUyZDZjOWNhYjJlNDAxOTA5YmRkZjUgcmVsZWFzZTIzLW1haW50CiszODY4MyBiYmI2MGUyNjljZThkYzUwODdjYmI4ZTQzZGZjZTY3MTBjNDc5MGU5IGxlZ2FjeS10cnVuaworMzg2ODQgM2RhMjFmZGMyZWU3MjIzNTVmMDYyN2RmZWU4YWUyMGVmZGIyMzA4NyBsZWdhY3ktdHJ1bmsKKzM4Njg1IGYzZjk5YWNhZTU5ZmY4NzBmYTFkMDQzYTRjYzJiMDM3MTNkYjRmMTYgbGVnYWN5LXRydW5rCiszODY4NiA0YzEzYjAxNDZiM2Y2YmI0MjQ2OTM1YTc1M2I2Mjg1MDkzODM1NzI3IGxlZ2FjeS10cnVuaworMzg2ODcgNmQyMDAwYmFmM2RlOWFhZWI0NjhkMWFmZTFiNjc0ZTA5MGM5YWZkNiBsZWdhY3ktdHJ1bmsKKzM4Njg4IGYxM2YyY2JkZjRkZTI5YTVhNjk5OWNhMDBiMzdjNmM2ZjJiY2U0ZDAgbGVnYWN5LXRydW5rCiszODY4OSAwODUyZDE5NmI1OTA0M2VmZDkxYTNjNGU0MjhmMjE0MTRhYmJiMzQ5IGxlZ2FjeS10cnVuaworMzg2OTAgNzkzMzUzMWQwMmI0NjIxNDIzMjBiNTNhZGRlYjMyOTJhYWFlZWQ3NCBsZWdhY3ktdHJ1bmsKKzM4NjkxIDY5ZTEwZTYzNTdiZDc2ZjZjZjU5YWE2ZTc1MjhkOTNkMTVlMjZlMGQgbGVnYWN5LXRydW5rCiszODY5MiBjZWJmYmFiMDE3YTZlNjMzNTAyOTM2M2RlZTRjMjQ1MWI5MmFlNjY5IGxlZ2FjeS10cnVuaworMzg2OTMgNzE4YjBiNWE2NDE5ZjhlNWE4MDFkMzliNjVhYjFjZTQyMDMxNWNkNSBsZWdhY3ktdHJ1bmsKKzM4Njk0IDk5YzE2ZTQ0ZTVkNDZmNzQ2YzU4NjY3OGRkMDU4OGQwNzY0YzFjYTUgbGVnYWN5LXRydW5rCiszODY5NSBkNTVkZWFlNDMxMGRjMjNkMWE3OTgxMmZkMDVjMjJiMDFhMmRiNmFiIGxlZ2FjeS10cnVuaworMzg2OTYgOGYyMWVjMzI3NGYxYzQ2OWJiMTZmODNlMDFiNmY5NWUxNzdiMzQ4NyBhc3QtYnJhbmNoCiszODY5NyBiOGZmOWJjMDIzZTY3NTljN2ZhZjc0ZGQ1YmU1M2FkMTI0MTQ5NmYyIGxlZ2FjeS10cnVuaworMzg2OTggNGI5ZGY0ODU2ZjM3YTYzMDY1NzdiZTU2NjBlOTA0NTY0NTAzNDViOSBsZWdhY3ktdHJ1bmsKKzM4Njk5IDIzODBmOWQxZWJhYjk1ZWQ0YjBhNDljZTgyOWRhZmIwODY5ZDRlZjQgbGVnYWN5LXRydW5rCiszODcwMCA1NTQ3ZjkwMzAxMDk4MzQ1ZDJmOTk1NWUxYmFkMTI3MTEyOWZmYzhjIGFzdC1icmFuY2gKKzM4NzAxIDkxNTIzY2FlZTE4MzkwNWU2NDZkMDZmOWZiNDlkMGQ0MWUyZjgzYTEgYXN0LWJyYW5jaAorMzg3MDIgZTBmNTE5ODUzYTlmMjgwODYxMGY5M2MwZTA4YWE3NjdkYmRlMmY0NiBhc3QtYnJhbmNoCiszODcwMyA1N2M2YTZhODAyYTA4MzE2N2NlYmIyMWQyZjYyZWU1YmM5ZTkyYmJjIGxlZ2FjeS10cnVuaworMzg3MDQgM2M3YjE5Njg5NDc5ZDhhYzVkNDIxYWZmMjExODFmOTRkYTFmZjIwNiBsZWdhY3ktdHJ1bmsKKzM4NzA1IDhmYzhlN2E2MDcxYzUwNDE2OTAzYzg1MjYzYTU1YWFmZWExMzA3MTcgbGVnYWN5LXRydW5rCiszODcwNiA0OWUzMGM2YzkxYzhjZTVhZmJmYWViMmZjNDM3YTM0ZWJiNzAwMzYzIGxlZ2FjeS10cnVuaworMzg3MDcgYjAxNjIzNmRmYmQ5ZGQwMmNiZTRjYzNlNDU0NDU0MTI4NDZmMThjMCBsZWdhY3ktdHJ1bmsKKzM4NzA4IDI2ZjMyNzJkOWUxMTJlYTFlYWFjMzBkNjNiNDI4Yzc2NDUwNDhjMTQgcmVsZWFzZTI0LW1haW50CiszODcwOSBhNDEyNjM4OTUwYTEzYWQzNDBkYTk3YTY0YmJhNzAxMDM5OTk4NmI3IGxlZ2FjeS10cnVuaworMzg3MTAgNzIxZTYwZjQ1NGYzYzg5MDY1NGM5OWM3ZDMwMzUyN2Y3OGM5NzcyYSByZWxlYXNlMjQtbWFpbnQKKzM4NzExIDI5NTZkZjhlMGE0MDQ1YzBmZjEzYzZkZWE0MmQyYWZiZGNhYzE3NzAgbGVnYWN5LXRydW5rCiszODcxMiAwN2E0ZThkOGViNjkyMjEyZDkwZGQ0MDMyNGU5MTFiMDk4MDE3OTllIGxlZ2FjeS10cnVuaworMzg3MTMgNGVhYWIzODU2NmM5NGZmODQ5ZjQwMGI5Y2Q2OGExNzQ5YWJkN2ViZCBsZWdhY3ktdHJ1bmsKKzM4NzE0IDAxYmEzYjQwNDMxZjI5ZmVkNjI5ZTdhMjEwMTg1MDYyZmE0MDE4YzQgYXN0LWJyYW5jaAorMzg3MTUgZjFjNjMwMzMyMWQ3MGJjMzVlZjVkZjdkYWRjNjVjMjdlYzA1Yjg1OCBhc3QtYnJhbmNoCiszODcxNiBkNjlmZGU0MGM3MTljOTVjNmQ1MDU4NGIwNjA3YTk3MmM4MWJjZWY5IGFzdC1icmFuY2gKKzM4NzE3IDc2MTFkZjIxYTU5MDA5ZDUzNDBjMTcxNmJhNDEyNTc5OWFiYTlmYzkgYXN0LWJyYW5jaAorMzg3MTggOTNjYWE3ZGVjZWUzNjA2NTA5MzQxY2JjMzFhYzVhZTQwYzZlZDIwZiBhc3QtYnJhbmNoCiszODcxOSBhYjgxYzgzYTlhYzZjY2FhYWM0ZTI3ZWQxNmQ4MzZhOGYzZmEyNjZiIHJlbGVhc2UyNC1tYWludAorMzg3MjAgNjUzY2MwOWZkOTMxMDE2MjMxOGRhYWQ5NjUwMWJlMGI3OGFlYjk5NiBsZWdhY3ktdHJ1bmsKKzM4NzIxIDQ3YzU4MDNhYWI0NTgxYjk4NzdhMTBmYmRiODllYWIzOGUzNGQ0ZTMgbGVnYWN5LXRydW5rCiszODcyMiBlYzg3YTExNjQwZDAwMmJjMjZmMGUwYTRjNDRjMTc0OGYyNzdkODYxIHJlbGVhc2UyNC1tYWludAorMzg3MjMgZjkyZDg0NWY4NzAzMzM0ZDg4ZmExNThiZTBkN2JkYmYyOWIwMWIzYiBsZWdhY3ktdHJ1bmsKKzM4NzI0IGE1MGZmZTY1OTExYjBkNDk4ODBhNmExMDU4ZWYwNTgzNWU5ZGQyOGMgcmVsZWFzZTI0LW1haW50CiszODcyNSAwMGZmZGJmY2Q1YTkyNzg2OTJlZTZlNzExNTJkNTU2YmZhMGUyYTk2IGxlZ2FjeS10cnVuaworMzg3MjYgNWNhZjgwZjU1Yzg2MzhkOGY5NTUwNzQ3ZGFhNjY0NWFhYTgxOTdhMSByZWxlYXNlMjQtbWFpbnQKKzM4NzI3IDk4NWRkN2YwNjQyMDgxZWE5NGEzNGY5OTRlOWFkZDlmMmYxZDMwMDIgcmVsZWFzZTI0LW1haW50CiszODcyOCA0ZjA4MzhiNjhiYmJmMWRlMjlkNzY2YjNkZTM2MjVjMjk2OTFhYzVlIGxlZ2FjeS10cnVuaworMzg3MjkgYjcyZGY4YWVlNTZkYThmOWNkMjc2ZTg2Y2RiMDNlZTlhZGQwZjA5YSBsZWdhY3ktdHJ1bmsKKzM4NzMwIDI4ODkyZTY1MTJiYTZiOWI3MzE5NzYwNmYzZjJkOGY0ZDk4MjM4ZjcgcmVsZWFzZTI0LW1haW50CiszODczMSAzM2E5ZTQwYTU4ZDUyYTAyMGMyYjUyODY4MDc5NDg5NTMyNTgzYTg1IHJlbGVhc2UyNC1tYWludAorMzg3MzIgYWQyZGQ4ODQxMzdmZjU3MDM4ZDRlMDUzNjljMTI4MDE2YWI2YzE3NiByZWxlYXNlMjQtbWFpbnQKKzM4NzMzIGJiYTAzOWYyZTA1MjliMTZhM2VkNTYyOGIxMmJjYjE1Y2NjZjgyYWQgcmVsZWFzZTI0LW1haW50CiszODczNCA3Y2ZkYTk4OTg4NjM5NjgzMWY1MmUzYTU4MjUwYjRlYWZkOGNhYjg2IGxlZ2FjeS10cnVuaworMzg3MzUgM2JjZGQ0NDZhMTNiOWNiNzlkMjhjNmU3ZThkNGQzYjJjOGJhOTg2OCBsZWdhY3ktdHJ1bmsKKzM4NzM2IDMwNmY3ZDRkYjVlZmNjYWYxNzg0ZTdmYzMyZDQzZDhjZGJjNzVmYjcgcmVsZWFzZTI0LW1haW50CiszODczNyBhNmM1ODYyNjZkZWE1OGZiYzE1YTIxMjVkOGRlYjdkZWJiZDQxYjk0IGxlZ2FjeS10cnVuaworMzg3MzggN2UyZDhlMTdjZjE0YTQxMWIxZTU2MDU0OGQ3ODBkY2VmMmRmMzhjNiBsZWdhY3ktdHJ1bmsKKzM4NzM5IDMwYjAyYzdlZjhiYTY3MDJlYmZhNmU2YjIxNjliNWQzY2Q1Mzg1ZTkgcmVsZWFzZTI0LW1haW50CiszODczOSBmOTA1NGQyMzU4NzAwMjlhZmEzM2VmOTQ1YmNhN2VjZTk5NjE2YzEwIHJlbGVhc2UyNC1tYWludAorMzg3NDEgZjMxNDIzYzQ5NWQ2N2YwMjQzZTEzNGE1Yzc1OTkyZTU4YWYzZjNkOSBsZWdhY3ktdHJ1bmsKKzM4NzQyIGRlMTIxODk5ZDAyMTYxNjM0MGJmODY3NDA5N2I1N2NkMWEzZGU3MzAgbGVnYWN5LXRydW5rCiszODc0MyA1ZGRhMWY5ZTYyYTczNmNmYjVkMGJiMDEwYTQwNWMxMGJkZDNiZmMzIGxlZ2FjeS10cnVuaworMzg3NDQgMDY1OGU2ZWZmYWM3MDQ4ZjFlOTUxZTc2ZGJiOTFjMjA3ODJmYWZkMSBsZWdhY3ktdHJ1bmsKKzM4NzQ1IGNkMmMwNDRmNjk5ZDdjOGNjZWY1MTE2YzgxNGFhYjFiYmIxN2U2YTQgbGVnYWN5LXRydW5rCiszODc0NiAxM2Q1Y2FhMWU5ZDAyYWE5OTk3MDNlMjhkMzM3NWJlOGM2MDA5NjU4IGxlZ2FjeS10cnVuaworMzg3NDcgNTFiYThjZThkOTJhZmRmMDNiNjhhODExMDJkY2ZmYzJhYjI3NWI0MiByZWxlYXNlMjQtbWFpbnQKKzM4NzQ4IDU4ZjNmMGQwNDVmNTQ1YWRiOWFjM2Y2MDhlZmI3NjQxYWE0MzRlNDUgbGVnYWN5LXRydW5rCiszODc0OSA4NDQ1MzA1MDg0NzU2N2Y4MDE3Mjk4MzVmMWJmNWIzMDAxODdjZjM0IHJlbGVhc2UyNC1tYWludAorMzg3NTAgYWVmNzEzZGU3YTIzYzY0NTExODhjZWRhOTA0NmJjOWU3NDlhYmJmMyByZWxlYXNlMjQtbWFpbnQKKzM4NzUxIGVhZDVlNzNhYmI1M2M5OGYzYzY4YTlkM2I2M2Q1N2M5NmIzN2ZkNGEgcmVsZWFzZTI0LW1haW50CiszODc1MiA2M2M1ZDZjZTA3NjM0ZDY2MmUxNGU4NzdkMmJiZDVkZmI2Mjc0ZDk4IGxlZ2FjeS10cnVuaworMzg3NTMgN2UxYTMxMzNmZmYyZWE1OTJmMzI4MTk5N2E2ODI1MThmMzkwZTg4YiByZWxlYXNlMjQtbWFpbnQKKzM4NzU0IDZhZmYyMjYwMGUxNWFhMzY2YWY4ZTZhOTEwMDExYzBlYjYzZmIxZDUgcmVsZWFzZTI0LW1haW50CiszODc1NSAxMWZkMjYzN2U1YmI3NDRlM2ZkZGZkNDBhNGRhZGJhMmRhMjM3ZGNjIHJlbGVhc2UyNC1tYWludAorMzg3NTYgZWI2YzI5MTViYWRkMzVjMzQ4ZWI3MWE3ZGRjM2NlZDU5MGNmNTczOSByZWxlYXNlMjQtbWFpbnQKKzM4NzU3IGE5NTExYzE1MTI0YmU1YTU4MDMyZWJlZmMxN2RiNTBhYWFhYjBhMDkgcmVsZWFzZTI0LW1haW50CiszODc1OCAyZWEzZDY5MTUyMDQxMDNkOTljYTBkZDA1NzVhMDNlODEzNGYyZTk0IGxlZ2FjeS10cnVuaworMzg3NTkgMzkzNmNkN2YxNmYyNTVmMTFjOWMyNDM4OWFmZDc0MzlkYzNhYzEzYiBsZWdhY3ktdHJ1bmsKKzM4NzYwIGI4NWU4MTA0NjBlZmM1YjQyNzcxYTc1ODVlNzVjYjg3NDQzMTJiYTIgcmVsZWFzZTI0LW1haW50CiszODc2MSBmZTUzMWI1ZGNmZDYwOTJiMTQ0NDAwNDM4ZjNhNGVkYTdiNTlmYzIxIGFzdC1icmFuY2gKKzM4NzYyIDgwY2M0NGVhYmRlZTI1OWEwMDc1MDE4YzI2YTYzZGQ1ZmJhZWI3Y2EgYXN0LWJyYW5jaAorMzg3NjMgNmIyMWRjOTQzOGFkNWMxZWY5OTk2MjdmOGY4ZTU0MmU5YzZhZmZkNyBhc3QtYnJhbmNoCiszODc2NCBjYTRkOGI0ZmJiMDVkYjMxMDY5YTZlODA3NWExMjcxMTk5YzhjMTU5IGFzdC1icmFuY2gKKzM4NzY1IDVjMWViYjVhZTUyMTQzOTY4MTQzODM5YWY3ZGY5MTNjOTQ2YjAzYTQgYXN0LWJyYW5jaAorMzg3NjYgNWU4YzhjYjExZTViZGMyZjNmYjcxY2M3NmFiYTBmMTQ2NzJhNjhkYyBsZWdhY3ktdHJ1bmsKKzM4NzY3IGFiNTgyMmY3NTE1YTVmZWM1NzJmMDMyY2U5OTFiMzIzNmNiMjJhZGIgcmVsZWFzZTI0LW1haW50CiszODc2OCA3MWZkN2VlNGI3ZjUwYmM5MzNmNzExNDA4MWFmOTMyZGU4OGFiZDJlIGxlZ2FjeS10cnVuaworMzg3NjkgMzRjZGZjNWRkN2VhMzRlNTc2NmQ4ODk4ZTI0ZTAxYjFhODE3M2MyNSBsZWdhY3ktdHJ1bmsKKzM4NzcwIGI0OWQzOTExMWM0ODZjZWQ4MzkxYzc5Y2EzNWYyODVhZWM4ZTE2ZTcgbGVnYWN5LXRydW5rCiszODc3MSA1NTM1Y2UwZmY3ZjlmNmY1ZGU5ODAxNDI2OGUwMGI1NzVmODgwZjAyIGxlZ2FjeS10cnVuaworMzg3NzIgZGE0NjA4NDFiNjNjYjgzZDYxN2JhZGY4OGZiZGIxMmQ4ZGFkYWM5ZiByZWxlYXNlMjQtbWFpbnQKKzM4NzczIGJjOWZiYzIzY2Q0YTU5OTE4ZGIxMjcxYjA4NjRkNDBiNGRkOTU2YTMgbGVnYWN5LXRydW5rCiszODc3NCBiNjQ5OTczZDA5NjJlYjA3YjU4OWJlZjM0MjVmYWU2M2ZkZDk5NDM1IGxlZ2FjeS10cnVuaworMzg3NzUgNmRkMmQxMzZlODQ2NjFjMDc4MzhkNDIzMzkzNDE0MDVlOWIyYzQ1NSBsZWdhY3ktdHJ1bmsKKzM4Nzc2IGU3NjJmZWE3OGNiMjM2M2JlMTYzNWVlNzQ2ZmVhMmY4YzkxNGU1NGIgbGVnYWN5LXRydW5rCiszODc3NyAwMTQzZDk5MGQ2MGNjNjAxMjBlNDZiNGExMTMwN2E5NzNjYmM2YzBjIGxlZ2FjeS10cnVuaworMzg3NzggMThkYzkxNTgxNjBkNWI3ODc5NDdhMzBjNzYwNThmNjYwMzNlMTdhMyBsZWdhY3ktdHJ1bmsKKzM4Nzc5IDVhNTIyMjI1YzRkYjM1OWZiN2Q1ODM4NWUzNGRjMmMzMzYwOWRjMTcgcmVsZWFzZTI0LW1haW50CiszODc4MCAyMGIzYzcyMzUwMmFkNGIzOWYzODM4MWI4ZTQ0YzBiZWNiMWQ4Y2RkIGxlZ2FjeS10cnVuaworMzg3ODEgYzJhOWMzYTE4NDc3NmZjNjE0MjY1NmU1MDBiMjNjZTcyM2NmYTJkNyByZWxlYXNlMjQtbWFpbnQKKzM4NzgyIDlhN2Y0NmM0Mjc3MzE0Zjc0ZDU5ZjZiYzEyNGRmYTQ3YjY5NWQ5MWMgbGVnYWN5LXRydW5rCiszODc4MyBiOTk2NzQ3YzA4YjY4OTE1MDIwNjU0MWRiNTJjODM5YTFlMWJiNDliIHJlbGVhc2UyNC1tYWludAorMzg3ODQgYWY1ZDQ4MDE0YjNlNjM2NTg2YTg2NmM1ZDUxODA3YjE3YTEyZjcyZSBsZWdhY3ktdHJ1bmsKKzM4Nzg1IDViYzkxYmIyNDRiMTkwMmZmNDMxZjcxNWNiZmI2YjdmNDBiNjQzNjQgbGVnYWN5LXRydW5rCiszODc4NiA2NGJjNWE5MjJmNTc5MWI0Yjg3NWNlYzBkYWU3YjE4NTdhNzU3NzQ2IGxlZ2FjeS10cnVuaworMzg3ODcgMTQzY2RhNWE5MzQ4MWZkZjA3MzJlZjRjYzYwMTg0ZjY5NGYwMjU1ZSBsZWdhY3ktdHJ1bmsKKzM4Nzg4IDAzNjEzMDk3YjljYjM0NTQxMGY1NDdmNDYwYjA1NTZiNjM3MDAwYmUgbGVnYWN5LXRydW5rCiszODc4OSA3OTIwMWY4MjBlZDA0YTkwZGFhY2RjYWQ0NjE2ZjVhZjA5ZDhlMmIyIGxlZ2FjeS10cnVuaworMzg3OTAgYWQ2YWEyZWVjYjU2OWIxNDUyNjNlZTlkMTBiYjNhOTRjZjI4M2ZiYyBsZWdhY3ktdHJ1bmsKKzM4NzkxIDA3NmE3YzdmZTI4YjgxMGI1MDAwMDU5ZWQ4MGMzZDNiOTMzZjk1ZTggbGVnYWN5LXRydW5rCiszODc5MiA3YzI3ODBjOWU1MWJkZjMzYTVlYjFhOWJmODM1NDZlNTA3YjIzMTNkIGxlZ2FjeS10cnVuaworMzg3OTMgODYyZWJiNjIxMzU1MTA5MjU4YWI5NDk0ZWU3MTc5MTQyNzJkZDZhNiBsZWdhY3ktdHJ1bmsKKzM4Nzk0IDllNjU5Y2I3MjdlYTY4YzlhNTQzOWU4Yzc5NjY3NTE1ZDkyYjIwMDggbGVnYWN5LXRydW5rCiszODc5NSA0NDQ2OGVmYjUyNWVkNTc4NmRiOTg4MjdkMjFkOWFlNjc0YzkxYTkxIGxlZ2FjeS10cnVuaworMzg3OTYgNDhjNzFmZjM4NTc4MmNjMjI3MjUzZTJkMGNlODVjMGI0M2U2ZGEzYiBsZWdhY3ktdHJ1bmsKKzM4Nzk3IDE5MjRhMDdmN2YyM2FmN2U5YmM5Y2IxNTEwNDU3Zjc5MDZhMzhjMWYgbGVnYWN5LXRydW5rCiszODc5OCA0MzNkNzM3OGRmYzJmYzIzMTAwZjBhNmU5MWIxYTNiN2E5MGMxNDk5IGxlZ2FjeS10cnVuaworMzg3OTkgNjFlYzhiNzk1NjQxYzRkMmVhNTQzMmYzY2JjYTI3ZWRjMTgxN2Q3NiBsZWdhY3ktdHJ1bmsKKzM4ODAwIDNiYzI4ZjYzNTE3YTRkMDNjMzQ2MDVjMDMwMzVkZmViMWU2MWY1ZWQgcmVsZWFzZTI0LW1haW50CiszODgwMSBkNTIwNzRkODk0ZGYyOTI5NDg3NjkwZGFjMjYyNjFlMzQ0NmE2MDgyIGxlZ2FjeS10cnVuaworMzg4MDIgZmFkMWU4ZTA5NDU2ZDBkNTFlZWNjNDk1NmU0MDQxNTVlN2Q1YTNmNSBsZWdhY3ktdHJ1bmsKKzM4ODAzIGZiY2IxZGE0ODBkZDRiMWFmMmIxN2Q3NzFlZDdhNTE5NzVjNWUxNzUgcmVsZWFzZTI0LW1haW50CiszODgwNCAxYWM5MTRkM2JkYzM5NDhkMzQ1ZTU2YmI3OGM5OTRjZDI1ZGNlYWJkIGxlZ2FjeS10cnVuaworMzg4MDUgZGFkMmI2MjA0OTc0NTU1OWVmOGQ2ODAxYmM1ZjhhMzMxNGFlODI3NCByZWxlYXNlMjQtbWFpbnQKKzM4ODA2IDM0ZjliMmFkYWUyYzZiZmI5NTlhZGFlMzg0YTY4N2EwMmMyODdjZTMgbGVnYWN5LXRydW5rCiszODgwNyAzOGI2NTQ4MzY5ZmFlODVjMmU5OGYwNzVjZjIwOWI3ZDdiNGNjZjdiIGxlZ2FjeS10cnVuaworMzg4MDggY2QzYjk1MjcwOGFmMGY5YWJlODgwOWI2OTQ5NDA4Y2QwY2FhMGYwYyBhc3QtYnJhbmNoCiszODgwOSA0ZTYyOWViZDBlM2U1N2IwZjc5NzQ3ZDA5NmZkMjNiZmU0NDk4MDcwIGxlZ2FjeS10cnVuaworMzg4MTAgMDIwZWQ2NzFhYTYyMTVlYTkxMTYyZmU1NjcxZjRkYTdmMmQ5MWUyNiByZWxlYXNlMjQtbWFpbnQKKzM4ODExIGQ3YTIxMTdmY2E0MjUzNTBlMjg4ZTE1MTY3MTM2NTQwMmJmYjRkYWIgYXN0LWJyYW5jaAorMzg4MTIgYzYwNzI5YTU3OTMyNWY0MzFmZDQzNWRiMmZhMDQyZmI2MjI3NTJiYyBhc3QtYnJhbmNoCiszODgxMyA4ZTZjZDUwMGM4ZmI1YTU0MDgwN2JmNzMzNDMyZTA0NzM4NThiY2YyIGxlZ2FjeS10cnVuaworMzg4MTQgZmM0NDJjMmViMGNmNmRiZDhhZGExZGIxNWUxN2JmZGQ4NjdlMzVhOCBsZWdhY3ktdHJ1bmsKKzM4ODE1IDk4NmQ0NmM0ZmFlYjIyOTA5OGM3NjI4ZTkwYzBlNzhhNjMzZjcwOWEgYXN0LWJyYW5jaAorMzg4MTYgYzhhZmRkOTI3MTVjMzI3NzUxNDM3N2UzMmYxMGQ3ZDQ1MTk0MjAxNSBhc3QtYnJhbmNoCiszODgxNyA2MDgzMGFkNjI3NWUyYzgwMGU2Njc3YTQ0N2ViYjk2OWE4MWJmMjJmIHJlbGVhc2UyNC1tYWludAorMzg4MTggYTk5ZWUyNTBlMTBjMWM1NjMzYjhjOWQwNzM3YjczMjQxMzI0MjI4ZSBhc3QtYnJhbmNoCiszODgxOSAzMGYzN2MwZTE1OTI1NmM5YzgzNjYxY2ZjNTM5ZDExNzAyYmI2NGZkIGFzdC1icmFuY2gKKzM4ODIwIGE5NmI1MDE0OThhODA4ZjAyMmNlYjgzZjBhNmE2MDJlOTNkNTIwYzcgYXN0LWJyYW5jaAorMzg4MjEgNWM2MGNiYjY1MzMwY2ZhYTU3OGIwNTQ0ZTljMWQzMThkZDFkNGI0ZiBsZWdhY3ktdHJ1bmsKKzM4ODIyIDcyNjdmYzQwYWRhYzE1M2I3ODNlMzczNzIwYjFiODM4ODg3YzRmOGMgbGVnYWN5LXRydW5rCiszODgyMyBkNDM1ZDIxNGE1OTI0MTQ1MjA3Y2Q1YjQxMjI1MjFjZWEyZWQ0NmE4IHJlbGVhc2UyNC1tYWludAorMzg4MjQgODc3MTlhZTkyODhjZWRiYjk5ODNlZGU1MWJjYzY1MWJkMTRkM2Q4NCBsZWdhY3ktdHJ1bmsKKzM4ODI1IDBmMzA2MWY0OWE5ZTg5YWI2OGY4MGNhOGE5ODE5NDljZjk0NTkwMDUgbGVnYWN5LXRydW5rCiszODgyNiBhZjU5MGY2MjJjMGJjM2JlNmZlMjkyMTMyZWIyNjQ5NDk0MWM3ODZmIGFzdC1icmFuY2gKKzM4ODI3IGQ0ZmZjNzcxZTlmZjk2ODhkYzQxNjI0ZDUwNjU5NmU0NDRkYmRlOTIgYXN0LWJyYW5jaAorMzg4MjggYjQ3N2M0ZDdhMjBjMWE2ODIwYzE3Y2I5MjgzNGIwZTYwMWJiOTg1ZiByZWxlYXNlMjQtbWFpbnQKKzM4ODI5IGM0ZWExN2NmNTIxMTE1NjQzZjFlM2Q5MjY0Y2ZhZGFiMTY5OWE1ZTYgcmVsZWFzZTI0LW1haW50CiszODgzMCA4YjAzYjA5MTQxZDI4NzE3MWYxZTk2M2YwNmQ2N2NkODcxNjJjMjg4IGxlZ2FjeS10cnVuaworMzg4MzEgYTEzMDk2Yjg1OThiOWE2N2RiNTM2MDIyNjcwNThiN2VlOGE2ODdkYyBsZWdhY3ktdHJ1bmsKKzM4ODMyIDZiZGMzNDI2ZDQxMTNmMTI1ZTBiY2E0OWUwMTExODc0ZTU1YTJmODEgcmVsZWFzZTI0LW1haW50CiszODgzMyBmOWUzMWRiNmM3MDM2MDM2ZWE1YmMzNmY0NDE3OTQwYjk0M2Y1MmM4IGFzdC1icmFuY2gKKzM4ODM0IGZiYjJmM2JiOGNjY2QxNWY0MWU4OTYwYzY5ZDFiY2FlOWQ1NjljMTkgYXN0LWJyYW5jaAorMzg4MzUgMjgwNGFhMDQzOGNjOGQzNmZjM2RlMWM4OWQyMGY5ZTFhNTNmMzA5MCBsZWdhY3ktdHJ1bmsKKzM4ODM2IGFlMjVkNDVmODk4NzYzNTRiZjg0MzI1NmZlMzdmYjZlZDczMWU5NWMgbGVnYWN5LXRydW5rCiszODgzNyA2N2E4OWI0M2RjYzcyM2E1NWI4ZjMzNmI2M2NjNGMxMWJlMDcyYzM5IGxlZ2FjeS10cnVuaworMzg4MzggNGM4ZTUyNDNjYTQyNTMxZTQzOGY5YjFlMDkwMjQ1ZWU5NzBhODMzMyBsZWdhY3ktdHJ1bmsKKzM4ODM5IGQzNGJkZWQzMTlhYWU1Y2ZmZjQwYjlhY2IzY2Y5ZWFkNWI3ZDMxOGUgbGVnYWN5LXRydW5rCiszODg0MCBiYzEyM2I5Y2VmN2ZhOTY5YzdiMDIyOWExZjFlMjNhYjY0YmEzZTYyIGxlZ2FjeS10cnVuaworMzg4NDEgYzY2YTdmYmUxNmNmOWU1MWM5YjExMDQ5MDMyYzU2NDkwMGRhYTVjMiBsZWdhY3ktdHJ1bmsKKzM4ODQyIDEzMzFjNzc5OTY0MDkzNjJkZGM3YTY5NDYxNDgwMGU5YjAxZWI0N2EgbGVnYWN5LXRydW5rCiszODg0MyA3ZjcyMTA5ZGZiNGZhZmM3OGUyMTEzYTJkMjY0YWQ5MjVlODgzMThmIHJlbGVhc2UyNC1tYWludAorMzg4NDQgZDA1NWY5NGQwOTM2YTY5MGYyMWYxZDZlYTc1MTM2ZDc2MjEyYTU5OCByZWxlYXNlMjMtbWFpbnQKKzM4ODQ1IDk4NTdkYWEyMjgwN2I3MzliYjA1YTllZGM1NmNjMmU2MmQ5M2Y3MjUgcmVsZWFzZTI0LW1haW50CiszODg0NiAzNTgxODQwYzgyZTcwMWI0YjQxZGEzOTBjNTllZmY0NDI3MGVjYzgzIGFzdC1icmFuY2gKKzM4ODQ3IDA4ZTIwZTljNzZmYmYzZWUzN2Q4YWExODMxYzFiNWJiNmVkYjY5MTkgbGVnYWN5LXRydW5rCiszODg0OCAyOTRkYWJjYjM3OWI1MWJlN2NjNDFhYzIzMWUwYjEyNzI1ZWJlMjJmIGxlZ2FjeS10cnVuaworMzg4NDkgOWExYjFlMWFlNjUzZmM5NTYzMTM0NzMyMmFiNGY3YjU5YzM0NTU3ZCBsZWdhY3ktdHJ1bmsKKzM4ODUwIDQ5YzZkY2VkMDhjMjFmNDQzYjZhNTQxNDFlZGYxYWYxNjZiMzcwOTYgYXN0LWJyYW5jaAorMzg4NTEgYzFhOGMyZDdlNTI4YmRiNzk3MGY1MmQ1ODA0OGFjOTI1ZTVjN2VjNCBsZWdhY3ktdHJ1bmsKKzM4ODUyIGFhZWFiMjQ5Yzg2YWQzMjdlZjEyNzJjMzBmZjdiMDU0ODY5OGQxNTcgcmVsZWFzZTI0LW1haW50CiszODg1MyBlYzk3ZTRjMzcwNTYzYWY5N2QyNjQ4ODQ0NjY5NWYzOTZlNjA4NDY4IGxlZ2FjeS10cnVuaworMzg4NTQgNWNjYzg3NzdjZWEyNzE1Nzk2ZTMzZDI2YzYxMWFiOGY2NDE0MTFiZSByZWxlYXNlMjQtbWFpbnQKKzM4ODU1IGE1MTg1YWMxZTRlYzZjYWZjN2QyZTU0ODI4ZTc1MjYzMDNjM2FmMTkgYXN0LWJyYW5jaAorMzg4NTYgMTBhZjE2NTgzYjc1NTU4OWNjMGY0NjI0Zjc0YjI5YjQwMzBiMGQ2ZiBsZWdhY3ktdHJ1bmsKKzM4ODU3IGRhYmE4NWVmNjU0YTQ5YWJjYWIwYTE0NzZkYjIyMzRmMzQ3NGU2YzkgcmVsZWFzZTI0LW1haW50CiszODg1OCBjMGI0ZGU3NDFiMzgzZGZjMzg1ZGE4NTYzZGMxYjZiNzlhNjEwMWIzIHJlbGVhc2UyMy1tYWludAorMzg4NjAgYTEyOTNlZTZlMWRiOWE5NGM4ZmFlOTJlMjFlNmFiNWJjNjM4NGFhZSBsZWdhY3ktdHJ1bmsKKzM4ODYxIDNjNjc5ZDAwODc5ZWJiMWI1MTNiMThlZjZhZWIxNDEyY2Q0MjBmNzcgbGVnYWN5LXRydW5rCiszODg2MiA0NzVmOGFkY2IwMzI5NDBlNmY2NmU0MDdkMTVjZWVjNDI3ODE0NzdiIHJlbGVhc2UyNC1tYWludAorMzg4NjMgNzI4N2I0MTE0NWFlMzc2YTBmY2VhNzAxMjIxNzYwNWFlYjcwNjc2NyBsZWdhY3ktdHJ1bmsKKzM4ODY0IDJjNzQ5OGMyYWU3MDdmZGEzNzJjZDc0NGRkNWYyZmRhOWU4ZDg2MmUgbGVnYWN5LXRydW5rCiszODg2NSA3NGMxMmMxZjM2OTI5NDYxOTM1ODQzODRlYjczYjIzOGY3YmJmOWY1IGxlZ2FjeS10cnVuaworMzg4NjYgOWZlNzgwMWZjOWE0YTIxODkzYTljYTQ2ZTMyMjdlNDRlZTE1YTNlOSBsZWdhY3ktdHJ1bmsKKzM4ODY3IGExNzAwMWY4ZTFiNGViNDExZDQxY2EyZWE1YzQxOTJiZGMxMjlmYzkgbGVnYWN5LXRydW5rCiszODg2OCA5YzkxNzJiZTFmNjk3NWViYjViNDI0MjQ2YTE3YjRlOTQxZjA0MTYwIHJlbGVhc2UyNC1tYWludAorMzg4NjkgZTRlMGNmZjE2YmM3ZTk3Yjk3NDJlN2NjM2ZmNTg4OGNkYzFmOTk0NiBsZWdhY3ktdHJ1bmsKKzM4ODcwIDc1ZjUxOTYxMDk3YjlkOTc1OGQwNDE4Mzk1Njc4NTI2MDhiNDRmYjggbGVnYWN5LXRydW5rCiszODg3MSAxZTdhNmE1YzM2MTQzZTRjZjY5ZTk2N2I2M2JkZTNjM2NjM2RjNDhiIHJlbGVhc2UyNC1tYWludAorMzg4NzIgYjExNjMzOWRkZjI3ODVmMzQxMTcwZjhiZDk1ZTM3OWZiMGJhOGFiNyBsZWdhY3ktdHJ1bmsKKzM4ODczIDM2NThhN2UxMWMxNDhkODNjMDhhYjgzZjA5YTNiNWVjMGVkNzA3OTUgcmVsZWFzZTI0LW1haW50CiszODg3NCBhZTVmMjc0NDZmODE5MjQ3NTNkZGRlMWJiMmE0MTAzYmZmNmY4NjA0IGxlZ2FjeS10cnVuaworMzg4NzUgZjMzMDA3ODY0MjQzZjA5NjA2Njg5MTYwNzhlODAwYzRjYTUwNTZjNiByZWxlYXNlMjQtbWFpbnQKKzM4ODc2IDkzMzljOTlhMjk4MjgxMDdhN2FjOTNlZmE4MmY0Y2RjYWMwYjU0ZTAgbGVnYWN5LXRydW5rCiszODg3NyA0MDQwODg1MDNhNzgwMjk2YTExZDJkMTIxMDczMzQ5MDI5MWNmZmE3IGxlZ2FjeS10cnVuaworMzg4NzggMzc2N2NkYWE2NzI4MjQ4Y2FlZWExNmU5NGQyMzY4NTRkYTcxZmU0YyBsZWdhY3ktdHJ1bmsKKzM4ODc5IGM5MWU1ZTMxYzVmZjFjMmFmYmIwYzdmNzU4MzZkMDcwOTY1YWVhMjYgbGVnYWN5LXRydW5rCiszODg4MCA2YmEyOTNiNzExNWI3OWVkMjFlOWM3NjAzODE1OWJkNmUwNzIxNzJhIGxlZ2FjeS10cnVuaworMzg4ODEgODBmYjI4OTFiMzNiZmNiMTEzYjBjNDMzODI1OTcyOTVkNzU1NjdkNiBsZWdhY3ktdHJ1bmsKKzM4ODgyIDRhMzNjNThjMzE5YzA4Yjg2MTgzYTVlYTkyMThjODA0Zjc5M2IzOTggbGVnYWN5LXRydW5rCiszODg4MyAwNDc0MzRhY2I1YTkxOWQzNjQwNjFhNjY4OTM3N2UyNjY3MzlkZTNiIGxlZ2FjeS10cnVuaworMzg4ODQgNTBiZWQ2NzhlZGRhMmQ3ZjIwODJiNmM4MzY1NTdhYTIwYTVhMTJhMSBsZWdhY3ktdHJ1bmsKKzM4ODg1IDFlYTgwNzc2OTMyOTJkMDE3MGUzNjVhYzllYmI3MDNkNzgwZjFmZTcgcmVsZWFzZTI0LW1haW50CiszODg4NiBmNmFmOTQzMDFlYmMyNzUxOTNkYmUwNDljY2JhYjJhMzRhOTBkZGU2IGxlZ2FjeS10cnVuaworMzg4ODcgMTQ1YzAzYTg1ZWE4Mzg3MjUxZTBjMDk1MzM4N2EzOGRiNmVmNDJkOSByZWxlYXNlMjQtbWFpbnQKKzM4ODg4IDkzNjI5NzcwYTkzZjQ2NzlkNGQ2YTdiOTQ4MjMyYjZkMjY3NjNjOTYgbGVnYWN5LXRydW5rCiszODg4OSA4NmY0YjE4MTdjYWE2OWM2YWEwYzU0MTQzOWNiNmU0NmIwNjYxYTM2IGxlZ2FjeS10cnVuaworMzg4OTAgNjcyZTVmNjUxNzJjMmYxNjlhMWJkNDg2NDFlM2M0NzliYzZlYjgzOSByZWxlYXNlMjQtbWFpbnQKKzM4ODkxIGQ0NTE1NTQ3OTk3NjY2YzBhZjhlY2YyYmUwODNjNGUwYzZjZjRmYjcgcmVsZWFzZTI0LW1haW50CiszODg5MiAwOTA1ODEyZGY0YTVmMTQ5MjVkNTExN2Q0MmIyOTdjMmViMTZlMjQ2IGxlZ2FjeS10cnVuaworMzg4OTMgMWRkOGEwZDY0NDMyMWNiZDAzZTU4YWY0OTY3N2Y1MjA4MWJkY2FlYyBsZWdhY3ktdHJ1bmsKKzM4ODk0IDkxNjUxNjk4MTI2MTA2MWZlMDY1MmVjNDZkNjYxZTVmZTNiYzIxNjQgbGVnYWN5LXRydW5rCiszODg5NSAzOGQwNGVkMDI4ZDFlZjVhZmY1MzExM2EzMjNhYzhlMDc4ZWRmYzkxIGxlZ2FjeS10cnVuaworMzg4OTYgNWU1MTFkZGVmNDhiMmRiNWQ2YjkwZDNiYzA5OTg1ODdlMWNkNWM4NSByZWxlYXNlMjQtbWFpbnQKKzM4ODk3IDE4NzNlOGFmNWE4YWMyMTU0ZDUyYWYwNTgzNzVmNmZjNzY0YTE1YjggbGVnYWN5LXRydW5rCiszODg5OCAzY2FiYTgwNzIwNGJiYzg4MGJmYjVmMTY1ZTRkNjllYjNkOWYxOGM4IGxlZ2FjeS10cnVuaworMzg4OTkgMGIwMWVlODZjY2ZkODhmYmY5ZmY1NTIxMGVhYTIwZmJmZmQ2MjIzZCBsZWdhY3ktdHJ1bmsKKzM4OTAwIGEyOTFhZDlhYTZhMTBjMDE4MWE4YTgxNWIzOTY3NzAyMGQ3MWNmN2MgcmVsZWFzZTI0LW1haW50CiszODkwMSA5YTA3ZjZkNDgxNmFiMWNkYjE4ZjNjMTUyYzQyODk2MzdhOTVkNDNiIHJlbGVhc2UyMy1tYWludAorMzg5MDIgMTg0ZjEwZTExNmZmZjk0MzU1MWU1ZWY1YWZiMjc5MjQ5YjNjMDQ1NiBsZWdhY3ktdHJ1bmsKKzM4OTAzIGVmOTMwY2FlNjNhOGUyMWJlNTJkOTliMjc0YWFhMjAwNTZmZGRkZDIgbGVnYWN5LXRydW5rCiszODkwNCA2NmUwNDE0Y2RmYTZhYjA4OGMyOWU1NzA2NmZlY2FhZmIxNDRhOGNiIHJlbGVhc2UyNC1tYWludAorMzg5MDUgMTY5OWRjNTFhNWI1NzY5YzY1OTg1ZWRkN2E4ZTAwNDFlYjJiYTc5MyBsZWdhY3ktdHJ1bmsKKzM4OTA2IGIxNDFkNTdjNGZjYTk2YzAxODU0YTRkOTdiNmE3ZWU3NjdjYzM0NzIgcmVsZWFzZTI0LW1haW50CiszODkwNyA5ODU0NDcyYjkyMWJhNDdiMTdhOTY2Mzk1ODg0YzFhMTQwMzdjODU4IGxlZ2FjeS10cnVuaworMzg5MDggZWYxODQ1NjJlOGUwM2RlOTYxYjE4NzZhYmE4ZTliZjYyMDJhMmU0NiBsZWdhY3ktdHJ1bmsKKzM4OTA5IGMwOTU4ODhmYzU0M2M4MGM5NTBjMDMwZGNmOTEwZmIzZDI0OWY5ZDcgcmVsZWFzZTI0LW1haW50CiszODkxMCBiMzE3MzZmNjI1YmE3ZjljNzUyODBkNTE1MzFiODY3MTMwZDU0NWU2IGFzdC1icmFuY2gKKzM4OTExIDAyZjEzZTAwZTJlZDEzMDM1ODhlYThkNzllN2ZiZjlkM2MxMzNmYmEgYXN0LWJyYW5jaAorMzg5MTIgOGIwNWE0NzMyY2YzNjFhMzg3NTNlMDlhMDRkZGY5YmE3MjA0MTk2ZiBsZWdhY3ktdHJ1bmsKKzM4OTEzIDAwY2QzNTBjZjdiZjBjNjJkM2ZlMmVkMWMwZWNjNmJiZDZjYmUyZjkgbGVnYWN5LXRydW5rCiszODkxNCBjMGVhZDI5MThjZjc0NTQwMjQxY2ZjYzFjOWRlMzQ2NWE5NGNlOGMxIGxlZ2FjeS10cnVuaworMzg5MTUgZjcxM2U4YWJmMTRlM2NhNjIzZjkyYzk4ODZkNGZlOGRjNTdjZmY0MCBsZWdhY3ktdHJ1bmsKKzM4OTE2IGEyYjIyMjc3NzNlN2ZlOTRiNzM4NDMyNmMyM2Q5OWEzYzJkMWI1MjEgcmVsZWFzZTI0LW1haW50CiszODkxNyBiNDIzYjQyN2UxN2U4ZDYxYjFlYWY2MGQxMzhmNDE1NDRiNWEyMGU5IGxlZ2FjeS10cnVuaworMzg5MTggN2JjYWJiYjZiNGI3ZWY0M2RhZGI4YTMzMTYzZDc2ZDdmZDA5MmZmNCByZWxlYXNlMjQtbWFpbnQKKzM4OTE5IGUzYWM1ZjBhZDNlM2FjYjllZDJjYzhlZDE2MTM5MDkzZjgyZjZhNWYgbGVnYWN5LXRydW5rCiszODkyMCAyMTI1MWUyMjFlNTYyZjBkY2VjMmMxOTg1OWUzYjljMGQ0MWRhYjkxIHJlbGVhc2UyNC1tYWludAorMzg5MjEgMjVhMGUxZmFhOGE1ZWQ4ZjA5MWZjZjFhMGU2YTExYmU0YzI2Mzk3NCBsZWdhY3ktdHJ1bmsKKzM4OTIyIGZjZDJjMzg0Nzg2OTlmMjMxY2M4ZWZiNjQxMzIwZjViYjdkYTYwOGYgbGVnYWN5LXRydW5rCiszODkyMyAxY2RjMDMzNGQ4NzdjNzFhYmZmMTJmZDRkNjdmZTk5OWYxNDBmMmFiIGxlZ2FjeS10cnVuaworMzg5MjQgMTdhYTI4OTYyYjg1ZGFhMzkzYjFmY2JhYjcwN2UzNjE5MDZjNDk5MSBsZWdhY3ktdHJ1bmsKKzM4OTI1IDFjYTdhZTQ4YTkzMTUxYjQ1ZWZjNWVmNjNlY2RiNGE3YTc2MzY2ODUgcmVsZWFzZTI0LW1haW50CiszODkyNiA1MmZlZDJkMDY0MWE1YmQ4ZWZhNGQ3OGE1MDZkNzYyOGYxMDJiNzhmIHJlbGVhc2UyNC1tYWludAorMzg5MjcgODg4MGQ5MWNkYjA5MzgzYTRmZmYzMjAxNzk3NzQzYWNjYTIxYjA0ZSBsZWdhY3ktdHJ1bmsKKzM4OTI4IDc4ZDBhNTU4YjA5MzgzNGU4NjdkMzA2MmYxNWMyZTRkMDk1ZWVmN2MgcmVsZWFzZTI0LW1haW50CiszODkyOSA2NWM5NWFkNjcyYWU4ZmQ1N2RlMzQ0MDI3YTY2YmY1ZjVmNzYzYTBkIGxlZ2FjeS10cnVuaworMzg5MzAgZGU3NmIzNDNkOWM4MmIyYjZhNzJlOGUwYmJkOGNlNjJiNWM3ZWIxZSByZWxlYXNlMjQtbWFpbnQKKzM4OTMxIDQ0ZTNmMjFmMDUyNTkwZGRmYWJjMTI5MDlhZjUxODhhNGNkODlkOGMgbGVnYWN5LXRydW5rCiszODkzMiAxZmI3NjhlYmQ5MGUyYjJjNmY1ZDY1YjE1YTkwZDRjYWJlNDBhZmRiIGxlZ2FjeS10cnVuaworMzg5MzMgOGU5NjgyZmQ1N2Y4ZWE2OTBjYTQ3MDBlOGEzNWRmYzE0ZWFiMjI5NiBsZWdhY3ktdHJ1bmsKKzM4OTM0IGI3NGExYTUxMjkxNzhhNjFmMzI0NDg1N2JmMWMzNzQwNGJlMDFhMzIgcmVsZWFzZTI0LW1haW50CiszODkzNSBlMzk0ZjdlOGEwYzE1Zjg3MDRiMjdjZDcxMDg0NzY3ODQ1NTY0NzUwIHJlbGVhc2UyNC1tYWludAorMzg5MzYgNGEwMmE0MzE3NjU1NWJhY2EzMDQ1ZDU1NTJhNmZjNzBhZWMyMjhkNCBsZWdhY3ktdHJ1bmsKKzM4OTM3IDI3NTg0MzYzMDUyMjg2ZTE4Yzg3NjAzMmJmZDBmMmVlYjEzOTMyMjkgbGVnYWN5LXRydW5rCiszODkzOCA5MGZjYTA4MTQ1ZDExNDk3ZTY1YTBmNjYxODRiZDQyNjJmNjJiZGYzIGFzdC1icmFuY2gKKzM4OTM5IDYyZWFjOGQ5NTNjZjFhMGYwNjE5NTU5Mzg3MDdmMThkNTQ4YzU1YzcgYXN0LWJyYW5jaAorMzg5NDAgYmFjODk4ZDM5YjUzOGYxMjgyZjU1YmNhMTc0OWQ4OGIwYmY5NDM4MSBsZWdhY3ktdHJ1bmsKKzM4OTQxIGIzOGMyYWE2NmVlN2IzZTRhNzQ5ZmRlMjA0NTFjZjk0OGUwYjQ0MDkgbGVnYWN5LXRydW5rCiszODk0MiA3NWZkOWE1MTU0YzQ2MWUxZDg3ZGViZWI2ZDc2MTY5NGU1MDNkOWU5IGxlZ2FjeS10cnVuaworMzg5NDMgNDBmN2UxZGExYmRmZTU1MmU1NmY4NzQzNTAyNTYzNmQ5ZDJkMTEzMSByZWxlYXNlMjQtbWFpbnQKKzM4OTQ0IGJhNDcyN2RhMDdlNTRlYmE0ZmE4ZTJmMjQ4Y2RhNjAwNDUwN2VlNzIgcmVsZWFzZTI0LW1haW50CiszODk0NSBjYjJiZTQ0MjlhNGNmZDNhYzhjMTk1MjRlNjE5ZGQ2ZDRhMzdiYzZiIGxlZ2FjeS10cnVuaworMzg5NDYgZWE1YzIyODBmOTE1NzQyMzdmM2Q0MWFhMTg4ZmUwMmI1Yjk3MDI2MyBsZWdhY3ktdHJ1bmsKKzM4OTQ3IDBkZjA1ZWFhMWUwOTZlZWNiZDAyMTI3ZjFlNjViNTkzNDczODQxM2QgbGVnYWN5LXRydW5rCiszODk0OCBhYzU2ZDE3YmMzZDE3MGNiMWJmNmVlOWE1YjBmMWU4NzE5OTg0YzRlIHJlbGVhc2UyNC1tYWludAorMzg5NDkgZmNmMDEwYzM3MGNiY2ViNzdjMzVmYWE0OGI3NjFmNDI1MTI4YjIwOCBsZWdhY3ktdHJ1bmsKKzM4OTUwIDVhMWEzMWQ5ZTM3ZTNjMTM5ZGU5N2I5YmFlNGFlODE4ZTQ3MTU2ZDMgbGVnYWN5LXRydW5rCiszODk1MSAyMTViNzg4NWUxMDg1NGM1MTk5Nzc2NmMxZTNhY2FmYjdhNzkyNGRkIGxlZ2FjeS10cnVuaworMzg5NTIgMzI5YjI4YTg1OTQ3NGEzNTA3ZmEzZjI1MWJjYTI1NmQ5OTgwZDg4OSBsZWdhY3ktdHJ1bmsKKzM4OTUzIGUwMzcxNDgwNDg0NWI5MjllOGNjZTVmMDAwYTYxZDRlNTI4MjEwYmUgbGVnYWN5LXRydW5rCiszODk1NCA4YmZlYmNmMDYzNjM3MDE0NTExZTFlNGMwZjc5Yzc4MGY3MDcxMGEwIGxlZ2FjeS10cnVuaworMzg5NTUgYTQ5Yjg4ZTUwMzA1OThmOTQzMjM0OTVmNGNlZGYxYTZhOWZkNzMwOSBsZWdhY3ktdHJ1bmsKKzM4OTU2IGI3M2YxMzBjN2I4NDA1OGU2N2EzNTI0NGU2YjQ0ZjgwZGJhZjVkMWIgbGVnYWN5LXRydW5rCiszODk1NyBkNGRhYWJhYmFhNDVhNWZkZjc0NWRmMGZkZmZjODJiODcxNzM1OTk5IGxlZ2FjeS10cnVuaworMzg5NTggMjlkM2RlZjNhNTZhYjVhMmRjNDBhODgzNWZlNzAzYjU1MzJlYTc4ZiBsZWdhY3ktdHJ1bmsKKzM4OTU5IGYzYjAyMjIyYTgwYTIwNDMyMmVkNzc4MWRhOGYyMWYxMmY5MjAxNTUgbGVnYWN5LXRydW5rCiszODk2MCBjNTU4OTk4NjNiOWM3OWU5YzA2MjI3OTkwNDFiOTc0MWYzMjE4MjMxIGxlZ2FjeS10cnVuaworMzg5NjEgMTlhNTA5MWYyNjU4MDY0MDY1MDc4ZTA1OGNmYjJkZTU0ZWYxY2UzOSByZWxlYXNlMjQtbWFpbnQKKzM4OTYyIDU1NTQ1MTFiMzcyNTQ5MTFhNjg2NDE2MjFhMTUzZjE0Mzg1OGQxZmYgbGVnYWN5LXRydW5rCiszODk2MyAwODc3MzVmODY3MDFjMTlkNDMwMWFjMDkwN2M5MjAzMDYzNzY4NTMzIHJlbGVhc2UyNC1tYWludAorMzg5NjQgZDYwNDdlNTVmN2FkM2Q2Y2UxZmNkY2NjOTJhYTkyMTEyZjc2NWQ4NCBsZWdhY3ktdHJ1bmsKKzM4OTY1IDNiNDFiZDg3ODkxOGQwMzA5OGYzNDFhYWUyZDcxZjk1ODk1ZWZjYWYgcmVsZWFzZTI0LW1haW50CiszODk2NiAxNDkwZjgxMWY5M2E5NGE1NjExMDllNjZiMGUwODI2YWUzZDZmY2I1IGxlZ2FjeS10cnVuaworMzg5NjcgNzNmMjRmNWM0ZTNmOTMyNThmMGEzZGZmMmYwMDBhYThkMWQwOTVjZCBsZWdhY3ktdHJ1bmsKKzM4OTY4IGMwNWU0NWU4NzI0ZTJmZTRhMmFkNDA1Njc2ZTU1MzgzM2NjNTU1NjIgcmVsZWFzZTI0LW1haW50CiszODk2OSA1NTU0NWUwMjMxOTlmYzA2YTUwMTZjZjNlMjk0YjkwNzY0NDQ1MGZiIGxlZ2FjeS10cnVuaworMzg5NzAgNTYwODg3NDk3MjFhOGFkN2I3YTg3ZTdjOWNlMjk3MzVhYWZkNjNjOSByZWxlYXNlMjQtbWFpbnQKKzM4OTcxIGQ0MzBiMjk2NDFiYTQwYmU0ZjNmN2QxNzZjNzEzMTVjMmY4OGVhMjMgbGVnYWN5LXRydW5rCiszODk3MiA2NjI0ODhkNDE4N2RiNjg4YTI1MjUwZmVhOGI3M2U2ODA3ZjFlMjczIHJlbGVhc2UyNC1tYWludAorMzg5NzMgODIzNzNkMjUyNWVlMGJkYmE0OTk0ZDNjNTUwZmI4MDdlODllMzQyMyBsZWdhY3ktdHJ1bmsKKzM4OTc0IDVmNzYzZjllNTBmOTM3MGRlODNiOGI3YjJkNmQ5MjEyMGI5MmM2OGUgYXN0LWJyYW5jaAorMzg5NzUgZjIzMDA3ZjkyMTdiMTM1ZTEwZWJjOGU0MDc0ZGI5MWQxZDExYmYyNiBhc3QtYnJhbmNoCiszODk3NiA4YWU4ZTY0Y2E5YmQ0ZDg3NTRjOWVmYjk5MTc0M2Y3NThiNTE4MDkzIGxlZ2FjeS10cnVuaworMzg5NzcgZTc5NzkzYThlZWVhYjVjOTg1MmY1Y2M2Y2M1OGFlMGI0ZDJlNDE2YiBsZWdhY3ktdHJ1bmsKKzM4OTc4IDRmZGE0MDYzY2M4Y2MyYzdjZTVmZTlkMjczY2EwMzFlNzIxZjcyNmYgcmVsZWFzZTI0LW1haW50CiszODk3OSBlYzRjMTZmZTczODRjZWQ1NjVhOWJjYmNlZjhiY2ZhYjY2MmY3MjdiIGxlZ2FjeS10cnVuaworMzg5ODAgNWU0NWRjYmY3Y2ZmZDA0YzNlMmZmNDMxYWE0Mjc1MWNiOGI3NDcyYiBsZWdhY3ktdHJ1bmsKKzM4OTgxIDc0OGM4ZTJkNDBlZWMwNWNkNWZlMTlhYzI4OTg3NzFmNjcyNmViYzggbGVnYWN5LXRydW5rCiszODk4MiBjYTVlZjdlZTNmNDE3YWMzMTFjY2YxMDk0OWJmNDcxZmE4NGZhYTMzIGxlZ2FjeS10cnVuaworMzg5ODMgZWU5OWRiMDZjMGViY2ZkODZhYzVkYjkzYzY2MmI0ZTNiMTAxNjNkMSByZWxlYXNlMjQtbWFpbnQKKzM4OTg0IGM1NTUxMGRhZWJkMjUyZDQxN2I0YWE2YjYwMGE3ZjAyZmQwMmMwOTQgbGVnYWN5LXRydW5rCiszODk4NSA4MDc2NDI0ZDQ1NWQwZWIzN2I3MWUyNDNiNGE3YWZkYzlkYzFmODBjIGxlZ2FjeS10cnVuaworMzg5ODYgMDc4ZGE0NzRiMzAyMTMzYTMxYzlmODJkN2NlOWYzYTkwNmZhZDJkOCBsZWdhY3ktdHJ1bmsKKzM4OTg3IDJlYjU2OWI2Y2UyMzRhODZkNjliZmRkYTQwZTFkOTEyNDZiYjhmMzEgbGVnYWN5LXRydW5rCiszODk4OCA5MjRlMDI4MmI1N2U5ODM1ZWM2YTExZjg3ZmU0ODBmMWNiYjFlYjE3IGxlZ2FjeS10cnVuaworMzg5ODkgOTJjZDk1MWNjNGIxOGQ4YjJhM2M4OTM5NGRhNGI4ZjNlYjJlMDdlMyByZWxlYXNlMjQtbWFpbnQKKzM4OTkwIDg1MTQ1OGZmZmQzNDIxMGY2MjBlYjM4MGUxMWM2YWEzMzM0OTZhM2MgbGVnYWN5LXRydW5rCiszODk5MSAxNzNlOTBlMGQyZTMxZDdkOGI0MDY2NjAwNDZjNDY2MzU3N2VhZmQ1IGxlZ2FjeS10cnVuaworMzg5OTIgYWExYzUzNjY2MDdkNmY1YTk0ZTlkMzI3YWZkYWJkNGExY2JmMjVjMCBsZWdhY3ktdHJ1bmsKKzM4OTkzIGEyYjUwNDVkZjRmODU2ODBiZjBmZDZkMDAzODM4MGJjZThmOGU1OTUgcmVsZWFzZTI0LW1haW50CiszODk5NCA3NGE4NDU4YjIyNzYwMmY5YjRkNTVmOGQ1MGFhY2E5YWZlZDllOTUxIHJlbGVhc2UyNC1tYWludAorMzg5OTUgYWJlNWE1ZTM5Y2NjN2RhZDIzZmRlYTg5Yzc2N2JmOWJlNDc5OTVlOSBsZWdhY3ktdHJ1bmsKKzM4OTk2IDkxYjhjZGJmZDdiNDY1OTQwMWY5YWYxNzQ4YWY0MTc2YmY2ZjViYTggcmVsZWFzZTI0LW1haW50CiszODk5NyAxMzMyZjJlNzA1YjIxNmVkMWY0NWViOWIyMzdjNmEyYjA5YTc4Y2UzIGxlZ2FjeS10cnVuaworMzg5OTggODM1YWIwNjk4NGE5YzhkOGY2NWExYzEyNzQ1M2FkZTFmM2M4NDE0NyBsZWdhY3ktdHJ1bmsKKzM4OTk5IDVmYjIxNjMyMzFkMzM1ZDU5YzE1YWY2NDViNzFjMGFkNGUzYjZkMDEgbGVnYWN5LXRydW5rCiszOTAwMCBkYjE2NzZmZGI1YjkxYzA2NDAwYzM3MjRhODJhNmMyNDM3MGJkNDUzIGxlZ2FjeS10cnVuaworMzkwMDEgZjg5Y2JlNjlkYjYzZmEyNWJhYzhhZWE2ODZkYjJhZjY3MzMwN2M2OSByZWxlYXNlMjQtbWFpbnQKKzM5MDAyIDUxZmUyNDEzODQ4NmU5NTRjYzI2YmI5NDU2M2UwYjM1ZTljOGM4MzcgbGVnYWN5LXRydW5rCiszOTAwMyBjNDI1Y2RjOGFlOGE3Y2E4ODZjMWE4NGQyNGE1NTU4OGVhOGEyNGNkIHJlbGVhc2UyNC1tYWludAorMzkwMDQgNGY1ZDI2ZjVlM2U2NDUyZmQyMTUzMzNmNDQ5YWU5NTczYTkwM2RhZCBsZWdhY3ktdHJ1bmsKKzM5MDA1IDQ2NjZiNDU3NGM5Y2I1ODNmZmE2NTAzYzIzOTNhNDhhODM1ZmRkYjUgbGVnYWN5LXRydW5rCiszOTAwNiA2OTY0NTgyNDBhNjVlYzRjMzdkODA1NmVjODI4MTkzYjg5YTNiOTY0IHJlbGVhc2UyNC1tYWludAorMzkwMDcgMGE5YTQxMGJmNzRjYmIwMzhiNTQ2ZDc5ZWRmODJiOGM4YzMwOWE1NyBsZWdhY3ktdHJ1bmsKKzM5MDA4IDJiNTE4NmI1OTViMWFkZGRkYTdmMDUyMmU5MmIwNDVhZTg0MTU3MDIgbGVnYWN5LXRydW5rCiszOTAwOSAyN2FhNWVlYzU0MDA0ZDdjMzIzZTY1NzYyZDkzMzg1NGI5ZjhmNzA1IGxlZ2FjeS10cnVuaworMzkwMTAgZDFiYWMyMGMwYjlmNGUxMmJmYzE4ODBmNDI4ZWI1NTAxZWY3MzBhYiBsZWdhY3ktdHJ1bmsKKzM5MDExIGFiZTk2ODYzMjVjMzhiYTA4MzZiMzM3NWUyMmNlMGM1YWU3MWNjYjUgcmVsZWFzZTI0LW1haW50CiszOTAxMiAyMDE1ZDE2ZDI2NDcwNDZiNTJmYmZmMDVlNzZjNGY2MjhiYTkxZjk4IGxlZ2FjeS10cnVuaworMzkwMTMgYzZiN2ZhZGYwYWRhZTI3ZmVjNTU2YTBhNDMxZjIxMWE2YmE0NTJiYSBsZWdhY3ktdHJ1bmsKKzM5MDE0IDE3Y2NhYzY5NTQxMzQwMDBhYzk5MzlmNDhmZGI5NGQ3ZjFlZTUzYzAgbGVnYWN5LXRydW5rCiszOTAxNSA0YTVmMTgxYWMzMjQwOGFkMWZlYWY2YmI5NmIzNTg2NTRjNmU1ODk1IHJlbGVhc2UyNC1tYWludAorMzkwMTYgYTUzNTg3Mjk1ZjIwNTk2NTk2MjAzZWQxZjliZWY4MTBlYmVlMDEwNiBsZWdhY3ktdHJ1bmsKKzM5MDE3IDMyMzhhZTZkMmIzMDQyMzMzOWYzNzEzOTQ4MGM2ZDMxYTNmYjZlZGMgcmVsZWFzZTI0LW1haW50CiszOTAxOCA0Mzg0ZTU4NzkxMjYxNDE5OWMxMzkzZDJhNzQ0ZDc1OTc1NWNjNTkyIGxlZ2FjeS10cnVuaworMzkwMTkgNjhiY2U2OGM4ZjkzMjc4ZmY1YmRlZGMyYzVhMGZiOTA1MThjNjQ1NiByZWxlYXNlMjQtbWFpbnQKKzM5MDIwIGIyYmQwNWMwMWEzNTFjZjgzYjJiMTFiMTc3ZjQ0MDE1NTUxYWM2MzggbGVnYWN5LXRydW5rCiszOTAyMSA5ODE3OWM4MjgxY2RiNjEzMjYwYWM0ZDJiMzdkMWI4MmM0OTg2OWQzIHJlbGVhc2UyNC1tYWludAorMzkwMjIgODM0MWNlZmRlY2FjZThjMzJhYWZlOTkyYjIxOGQwZjNhNDE2ZWQyZiBsZWdhY3ktdHJ1bmsKKzM5MDIzIGYwYWUxMTk0ZGI2OWVhNWU1ZTE3YTNkODFjZDYwYTVmYzhlMjc1ZjEgcmVsZWFzZTI0LW1haW50CiszOTAyNCA4NjBkN2Y5M2U2YjRjOWFlYTQ1YjNkMjBkMDFlOTAyMTRlNjAyMGVhIGxlZ2FjeS10cnVuaworMzkwMjUgNTZhYzQzZDlkNjI1OGIxYTYwNmE1OTEwZjlmN2M2N2UzMzdkZTg0MSBsZWdhY3ktdHJ1bmsKKzM5MDI2IDE3MTRjMjQ5OTI4ZWY4YTBkNWE2Njk4NTBlMzc5YjlmZDIwNGIwYTQgbGVnYWN5LXRydW5rCiszOTAyNyAyZDA2OTNiOWYwYmQ4Yzc5NGQ0OWZhMzA1ZDBiNDk3MmVkYzg3OTkyIGxlZ2FjeS10cnVuaworMzkwMjggZjU1ODlmYzNkOTc3MTQ4M2IzZGFmODI2OWY3ZjAyOGQwNTNkMDQ2ZSBsZWdhY3ktdHJ1bmsKKzM5MDI5IGFjZjY4ZjY3Yjk3NWM3NTFhY2JiYzYwYWJkNWQ5Y2FiYjUyNDMzYWQgcmVsZWFzZTI0LW1haW50CiszOTAzMCAyMzRiMjJhMmFjZjNiNzk2MmVhYTA0NzRiN2MyZTdlNTcwMDU3Y2IxIGxlZ2FjeS10cnVuaworMzkwMzEgMmU5ZTY0MmE1OGNlZDFmODliNGU0ZDg3ODRhOGE5MjgwMTdiODk4YiBsZWdhY3ktdHJ1bmsKKzM5MDMyIDRjMjM3NjIwMTExNWQ1YWFiOTI0MjMwYzk4ZDhmZDNiNzQzMzg5OGEgbGVnYWN5LXRydW5rCiszOTAzMyA1MjJjOWE0OTA0NDEzYzk4OTM1ZTFkMjc3MzIzZTE1YmIzZmI1ZjAwIHJlbGVhc2UyNC1tYWludAorMzkwMzQgMDlhOTEwY2I2YzhmZjAzYjgxNTdiMjg5NzlkZDA3YzZkZDkyMjJkMCByZWxlYXNlMjQtbWFpbnQKKzM5MDM1IDk3M2FhNGVlMTYxNTJhZGEzNzY2MmFjNmQwZjZiZTUyNWVjMzk5MDcgbGVnYWN5LXRydW5rCiszOTAzNiBiNmQyYTlkMWE5MzNhN2MwZjhiMzUzZjM0MjEyNzQwYzMyYzMzOTQ1IGxlZ2FjeS10cnVuaworMzkwMzcgZjNkMzE1MWY4NDE3OWYxZmZiNmVkZjFmNTIxZTA1MWY1MGY5MDQ4NSByZWxlYXNlMjQtbWFpbnQKKzM5MDM4IGFiODNhYjI3YzgzN2I2NDFjMGEzOWM0YjBlMjFiOGU1YzMzZWRmOGEgbGVnYWN5LXRydW5rCiszOTAzOSA1ODYzMjA5MmUwMjMyNzBjOWFmMzQxYmU0M2JiNzRjMTFiZGM2NmUzIGxlZ2FjeS10cnVuaworMzkwNDAgYWRmMTg5ZWI0ZjU4YThlNTk3MzdmZmYwNmU4MmM5NDExZmMwNjU1MCBsZWdhY3ktdHJ1bmsKKzM5MDQxIDU4NTA1OWRlMmI0MDRhZGZjOWE5YjlkMjY0N2Y2NmJiYThiMjc4NGQgbGVnYWN5LXRydW5rCiszOTA0MiBiZmM5MWQ0YWY2NDUzMmEwZTFkYTg1NzI2NmYwZjUwZTY1MTNhNTBhIGxlZ2FjeS10cnVuaworMzkwNDMgMmZiMGM3NmQwMjUxYTFhNzAyNjU4ODJmZDgxMTE1NzZmNTgzZDk5NiBsZWdhY3ktdHJ1bmsKKzM5MDQ0IDdlYTJiZTJjMGUxZGUwZjdhYzhiY2U4NjAwY2JkMmIxNDQ3MWVjYjYgbGVnYWN5LXRydW5rCiszOTA0NSAyZDgzMzEyM2IxMTkwNjM4Yjg4Y2NkZjkyMDJiZDg5Nzc4NWVkMjhmIGxlZ2FjeS10cnVuaworMzkwNDYgMDQ4Njg5NTlmMWZlNjgzMmNjOTk0OWEzY2JiNWUzYTMzNTdhN2JmYyBsZWdhY3ktdHJ1bmsKKzM5MDQ3IGRhNzcyMDA3ZDM0ZDgwNTlkOTYyM2IyNjI0ZThiYTYwM2E3ZDhmNjIgcmVsZWFzZTI0LW1haW50CiszOTA0OCAwZWM3MTE1MmM3ZTJiZTEwMWUxNTkyZGE3YzZmOTMxZjhhNDFiMDBlIGxlZ2FjeS10cnVuaworMzkwNDkgMmVlNjNmZjQ1OTcwZmRlMzM3MDIyODA5Y2I5MDQ4ZmU1MDE5ZmE1NyBsZWdhY3ktdHJ1bmsKKzM5MDUwIDUzNGY4ZWE1NzM3N2VhODkzMWQ1YjI5N2I2YzdjYjVlNzQ5ZDMwNTggbGVnYWN5LXRydW5rCiszOTA1MSBkYjJjZjc1OTk0OGFmMjUxMmI1YzIwM2IwYzZmZTY0YTVkOTRkYjlmIGxlZ2FjeS10cnVuaworMzkwNTIgY2RlYzk3OGI5MTZjZTI1YjcxNTMwYWZmMjA1YzhkODNmOGM2NThiMyBsZWdhY3ktdHJ1bmsKKzM5MDUzIDcwNjgxMjY3YTc0YTlhNjM3NjE1MzE1NWQ3ODdiNTljY2U1YzA4NzggbGVnYWN5LXRydW5rCiszOTA1NCAzZTBkZDYyZWUzMWJmN2NkODY0NDVmY2YzOTk4ZjM2YzY2OGZlMGM2IGxlZ2FjeS10cnVuaworMzkwNTUgMDA4N2FmMDk1M2Y0ZGM1ZGE5ZTI3NWRlYjIxNWUzOWJkZDEyYzQyNiByZWxlYXNlMjQtbWFpbnQKKzM5MDU2IDVkMzNkODNlOGRlYzhhOTRhMGQ5Y2EzOWU2ZjNkNzJlNjhhMWIyNDUgbGVnYWN5LXRydW5rCiszOTA1NyA2ZTkzNDQyZTI2ZGQwM2Y0OWI2NTViY2NkYzY5NjUyNzFmNDhiYWI2IGxlZ2FjeS10cnVuaworMzkwNTggMDEyYTBhZGEwZDA1ZmU4MmY0YTMxYTgyNzE1Njg1ZWE2OThjYTlkZiByZWxlYXNlMjQtbWFpbnQKKzM5MDU5IDJjYjYyODYwMDA1ZjYwMGE0MDlhZGJhZjAwMGM3MTU3NGMzZjYxY2MgbGVnYWN5LXRydW5rCiszOTA2MCA4NmU5ZjYxNjk3ZDhhZmRmNDE1NzUyMTRkZTRlNzJhYzVhYTkyMmE0IHJlbGVhc2UyNC1tYWludAorMzkwNjEgNzdkZTIxY2NkMjEwZTRhMmQyNjliM2YyZjRhNjllMjZkZGI4NGQ2NiBsZWdhY3ktdHJ1bmsKKzM5MDYyIGRjNjhkZTcwMzc2YjQwN2U5YWU3MTA0NzE3YjZhZWRhYmI3Y2FlZjIgcmVsZWFzZTI0LW1haW50CiszOTA2MyAzOWJiOGE0MGEyYzg1ZTVkOGFlMGIyNGRhMGMwODcyMjU2OTg0MGIzIGxlZ2FjeS10cnVuaworMzkwNjQgODI5ZjY2ZDU2MTQwYzI5ZjNmMDRkZDJlYzlhODg2NDM0ZDM3NGYwNCByZWxlYXNlMjQtbWFpbnQKKzM5MDY1IDNkZDhkNDFlYzM1MDMwMjA4MDQwMmE2ZGNhNjk4N2Y0ZWFiMzkzZGQgbGVnYWN5LXRydW5rCiszOTA2NiAzM2E0ZDdlNWM4MmYyYmNiZTRkNWQ0NWJlY2M2MjBmNTNmMzY5MjczIHJlbGVhc2UyNC1tYWludAorMzkwNjcgYmJiODRiNTg1NmZjZTRkZWNiNWYyZmVjYWU2OTA1NTEzOWVmY2I1OCBsZWdhY3ktdHJ1bmsKKzM5MDY4IGZiMmY1YWE0ZDVhYjAxZjVmNTZkY2RiNDhmNzgzOTU0MjY4NjM0ZjcgcmVsZWFzZTI0LW1haW50CiszOTA2OSA4ZGJiNzMxYmFhNjBmMDY1NGFiYzRkODhhNjMxYjZlMGM0YjgwYWFhIGxlZ2FjeS10cnVuaworMzkwNzAgZDYwYTUwYTkwZmQxNTBlZTgyMzUzYzZmYmFiZDdmMWRhYTdlMDEwYyByZWxlYXNlMjQtbWFpbnQKKzM5MDcxIDMyNTNkYmQ3MmI2MGFjZGFmODYyYzU3YTc2MDIzYjZhY2Q4MTk3OGUgbGVnYWN5LXRydW5rCiszOTA3MiBlNWY2MmUwNDljNmZkOTIxMGI0ODBjNDQ4OGI4YTU5NDA2NzA0YmE0IGxlZ2FjeS10cnVuaworMzkwNzMgOTEwYjVkYjQ2MjNlMzFlYTA1MDFlYmZlMWMzODIxMjZkMjI3NDFmNSBsZWdhY3ktdHJ1bmsKKzM5MDc0IDk5MzA5ODAyZDQ5MDQ4ZWZjZmU2ODhkZjRkODdiZmRkYjhmZTJlNDEgcmVsZWFzZTI0LW1haW50CiszOTA3NSAyOTg1ZmM2MzA5YTg0YTllNmNiMmQ5YTEzYjQ5MDNmMmJmMDk5MTc3IGxlZ2FjeS10cnVuaworMzkwNzYgZjg0MGY0NDcwMzI1MTlkMTE1NDVjY2FmZDc4YmQ0ZGJmOTRjNTJjMSBsZWdhY3ktdHJ1bmsKKzM5MDc3IGI4NDEzOGQ5OGNmYTAzZmQ5MDE1MDM2MWU4ZTNhZjJjNGNmYjc4NjggbGVnYWN5LXRydW5rCiszOTA3OCA3MjhhMGRlODgzOTVjMjMwZjY2YTQyYTk5ZjUwNDRiM2I2OTI5NjBlIHJlbGVhc2UyNC1tYWludAorMzkwNzkgMDZjNzYyNzIyODkyYjhjY2QyYmY1MDU1MmQ4YmUwZDA2YmVjMmJhMSBsZWdhY3ktdHJ1bmsKKzM5MDgwIDRkMWRhNjM2MTJlYjVjOWRlODc0NGY1YjdmOGM0MjZkYjgwNGM5NDkgcmVsZWFzZTI0LW1haW50CiszOTA4MSBhMzFhNzcwYmI3Nzg1ODc0ZTQ0NzExODM3YTBlM2EwYjVjMGMyYTUzIGxlZ2FjeS10cnVuaworMzkwODIgZjU0NzNhNzYyYjUwMTZiNjJhYTUzYzg2ZmIyNGNiODExNjk3MzAyNCByZWxlYXNlMjQtbWFpbnQKKzM5MDgzIDNjNmFlZDNmM2EzMTAyYmJiMWMzMmJkZmUyNzMyY2FiY2QzOTM1MjEgbGVnYWN5LXRydW5rCiszOTA4NCA4MWNhMzVhZDkxOTllODgxNDgyZDFhZjk5OWVmYmYxZjgzNTg0MWUzIGxlZ2FjeS10cnVuaworMzkwODUgZGFlYmZkZTBlMWNmMWM0M2U4YWNiNjFkMWIyNmZkYjQ3ZDJjM2FjNyByZWxlYXNlMjQtbWFpbnQKKzM5MDg2IGM4MmI3NDZjNDI4ZjhiM2JiNDdhODVmYzRmMDI1MjNjN2IzNTU4NzggbGVnYWN5LXRydW5rCiszOTA4NyBmN2MwODhhOGI1ZDNjODE5ZDM5Mjk3OTI3Mzc5ZmQ5ODQyYmY0ODAxIHJlbGVhc2UyNC1tYWludAorMzkwODggYjMzYTcyNjQ0NTRmMDYwMTllYjcxOTdkOWFiZmYzMDNmN2Y1MTJjMiBsZWdhY3ktdHJ1bmsKKzM5MDg5IGM1NzQyODJkNTBiZmVlNDBjM2I0ZWUxNzE3NTQ0NDljOTA4ZGJmZmMgcmVsZWFzZTI0LW1haW50CiszOTA5MCA5OGY5NmYwN2Q1NDk4ODUzODEzYTAzOWE2NGFjMGQxYTZhMThhYWU4IGxlZ2FjeS10cnVuaworMzkwOTEgOWE4MTJlYjhhMGFiMjg2ZTZjNmIzMzBmZGEyNGMwYmI5ZjkyZDliMCByZWxlYXNlMjQtbWFpbnQKKzM5MDkyIDczOTAzMmJlOTZkNWQ5MDVmZDM4YjAxNWY1NDc1ZmJlYmIyZjg1NDggbGVnYWN5LXRydW5rCiszOTA5MyA2YWQzZjg2MDM0NmU5OTNhMmUyNzNhM2RjMjg5NzcxMmNhNjhlMGI5IHJlbGVhc2UyNC1tYWludAorMzkwOTQgMDIxYTRhYmY3ZjI3NGIzMjQ1MzY0YzliNzQxODQ0ODMwM2QzNTM4NyBsZWdhY3ktdHJ1bmsKKzM5MDk1IDFhNzBjYmY3NTljYWU1MjA3YTJkMmE3OWM0MTk1ZTRkYmFiZjdjNTQgbGVnYWN5LXRydW5rCiszOTA5NiBkNTc0MjhlODU4ZmMwZDA0ZmNmMDNhMTVjNzkxOGJiMTE5ZDIyMjdhIHJlbGVhc2UyNC1tYWludAorMzkwOTcgZWFmYTEzYmVlZjI2NDZkYzNhNWE0NjFhMmQ5MWRjYThhNjEwM2MwYyBsZWdhY3ktdHJ1bmsKKzM5MDk4IGQ2YTE4YTMzYmQ2MjU2ZjcyMjNmYTM5ZDM0NzI4ZDI3YjU0NzI4NjIgbGVnYWN5LXRydW5rCiszOTA5OSA3OTkwNDU1ZTZhZTBhMGQ2ZDNhYTE2MDkzYjM5Yjk1YWFiM2I3MGYzIHJlbGVhc2UyNC1tYWludAorMzkxMDAgOWU0OTI3M2ExMzM0Mzk2YTA3ZjIzYjlmNzg3MWY1MmViMGUwOGY4MCBsZWdhY3ktdHJ1bmsKKzM5MTAxIDEyMjg3ZWZhODc3N2Y3MjJhN2E1MjIxYWVhZDQ3OGMyYWI4ZDBlZDIgcmVsZWFzZTI0LW1haW50CiszOTEwMiAwZmMyOTAwMjY5MzlhNmMwZDgzMDdkOTE1ZDRmYzNlNTkzMWI1MzQzIGxlZ2FjeS10cnVuaworMzkxMDMgOGZjNWQ2YmMzNWZmZGUyMjNkZDk4NWExNTM4OTg3MDY2OTQwODllOCBsZWdhY3ktdHJ1bmsKKzM5MTA0IDI3YTcxODIyMWU3MmU3ODRmNDFhMTYxODc2ZmVjZjI5NjIxOWVlYjIgbGVnYWN5LXRydW5rCiszOTEwNSBjZjdhODQ5Y2U2MWZhNjA1Zjk0MWRhZGM0MTEwMTcxYzRhOWJkNDZlIGxlZ2FjeS10cnVuaworMzkxMDYgNjk1MjgzY2JlNDNmYzkwYzM3ODU1NDdlMmNlOTljOWVjNDM5MzY2YyBsZWdhY3ktdHJ1bmsKKzM5MTA3IDE2ZGZlMTUyYjllNmRhNWY0MjNkYzIwZmM1NDM3MDdlNWRmNzAxZGYgbGVnYWN5LXRydW5rCiszOTEwOCAzMGIxMzQwMWM5MTI1NjQwODgzNDU4OTcxZThkNDM0MjQ1NTY3ZjMxIHJlbGVhc2UyNC1tYWludAorMzkxMDkgOWU0YmYyOWU2YzJmY2QzYThhZTQ3ZjYyYjQ5YWQ0MGI3NGU3ZDU3NyBsZWdhY3ktdHJ1bmsKKzM5MTEwIGQ3YzViZDU5Njk4ZDA2ODhmMDkwMTg3YTNjYzNkM2NjMzQ4Njg4MTMgbGVnYWN5LXRydW5rCiszOTExMSBlNmIwNzViZDc4NTVhZjU0YTU2NWRjMzFhNTljNDA3YjgwMzEwZmJhIGxlZ2FjeS10cnVuaworMzkxMTIgYjA1Y2MxMmEyMTc5ZjI5NDE3MzY1NDQxYjBkNGRjMWExZjZkOTNmMiByZWxlYXNlMjQtbWFpbnQKKzM5MTEzIGEyMDQzYWZmZDU0MzMwMjExNDViOTc5YmNjZjQ4NTM5OTU2M2I4NDkgbGVnYWN5LXRydW5rCiszOTExNCA1ZDk3N2Q3Y2MzMzU2OTcxNGRmMDczNTJhYzA1ZDViYjAwMjcwM2VmIHJlbGVhc2UyNC1tYWludAorMzkxMTUgMTgxODRkODJkYWVhYTE5YWI0ODg3NTg4MTA0YzhmZjk0OTMwZWVlNyBsZWdhY3ktdHJ1bmsKKzM5MTE2IDlkMWU0NjExMWQ5YTcwODI1ZGI0YzBiOTZjZGJiNTdlODdmYWYxOTYgcmVsZWFzZTI0LW1haW50CiszOTExNyBmOGYxNWU2YWVmM2E0YWE5MzgzMDFkZGY1MzNlNWQ4MTdmM2JmNDE5IGxlZ2FjeS10cnVuaworMzkxMTggOGY3ZTQ3YTBhYWNhYjZjODA1MjlhMGQ4NDdjOWE0ZDA4ODBlYTBjNCByZWxlYXNlMjQtbWFpbnQKKzM5MTE5IDY4MjY2ODAzYzAxMzRkNDM5OGIzOTU0MDRjZjAzMjhhYWEyNjQwMzkgbGVnYWN5LXRydW5rCiszOTEyMCBkMDdlOWMzN2JlYTA5ZTFiODBiMGM0NzYzZjRhYjQ0MDAzMjExODU3IHJlbGVhc2UyNC1tYWludAorMzkxMjEgMjEwY2EzODNhYmU3NjIwZDc4ZjQyMjM1ZDdmYTU5MDdjYWI1ZmUxZSBsZWdhY3ktdHJ1bmsKKzM5MTIyIDc4MDRiYmIyNjQ5MjhlZGMwNGYwZDI1Y2NiYWI3MTNjNjg3YjYyYTEgcmVsZWFzZTI0LW1haW50CiszOTEyMyA0NzQxODUwMjk0MmE4NWFiNmEzMTk1ZWJhODBlNjExNDY5YWVlYjIyIGxlZ2FjeS10cnVuaworMzkxMjQgMmY5Y2ZlY2EyNzk5NmNkZmZhMmM3MWUyNDUxMjM5ZDYzZmIxODI4MiByZWxlYXNlMjQtbWFpbnQKKzM5MTI1IGNkODc5Y2E4NDYyNDQ4NmRjMWRhNDg1NzAzZWY0NmYzNWJjNmZlN2IgbGVnYWN5LXRydW5rCiszOTEyNiA3MjZjOWJjNDljMDQ4YWFmMjFmZjkwMDliNmFiOTliZDNlZTBkM2JiIGxlZ2FjeS10cnVuaworMzkxMjcgNWRmMWM2OTJiYjQxNjY2NDRlYmMwZWQ5MTc3NmZiN2JmZWJjOTIyMSBsZWdhY3ktdHJ1bmsKKzM5MTI4IGUwMjA4N2FjNDc5MjY4MDE5NmYxOTI1MWY2YWQ2OGY3MmQ3OWEwZjIgbGVnYWN5LXRydW5rCiszOTEyOSAzMzQwNTM2NDM2ZjVhMGUyODI1NTA0MWE4ZDYzZmQ3Y2Y5ZjI0MzEzIHJlbGVhc2UyNC1tYWludAorMzkxMzAgYzU4ODg0MTM0MTJiOTRlYmNmYzA2ZTFjZTIzOGRiODk3NjZkZDU1NiBsZWdhY3ktdHJ1bmsKKzM5MTMxIGY5NGQ1YmZhZDA3OGY4MWJjMjU0ODY1MTQzOTQzNTVhM2E1ZWEyNDAgcmVsZWFzZTI0LW1haW50CiszOTEzMiBlMjYzNmQxMDhkN2QwOWE2NWQ4ZTk5NmZhYWQwMzEzMWVjYmY5YmE3IGxlZ2FjeS10cnVuaworMzkxMzMgODk3MTA4MDViYzNkZWZlODYyNGZlZjEyYWM1ZWQyNGUyYzQ3YWI4MiBsZWdhY3ktdHJ1bmsKKzM5MTM0IGQ2Yzg3NjFkN2YzMTQ3NWUwMWQ1ZDcxNWQ2MjllZmRjN2JkZGE5ZTYgbGVnYWN5LXRydW5rCiszOTEzNSA2NjZjMGVkNGZiOWQ0ODBlZWNjYjJjYmYxZTgzNTMzYTRlM2RmYTEwIGxlZ2FjeS10cnVuaworMzkxMzYgODU3ODcxYzcxYzNiYjkwNzZiMGIzOWUzN2RlZTYxMGVjM2RhZDNjMCBsZWdhY3ktdHJ1bmsKKzM5MTM3IGM4NTcwNzBlOTdlOGQxZTNhNzU0NDk0OGI4ZGZiNjdkODFjOTQzZTQgbGVnYWN5LXRydW5rCiszOTEzOCBiM2NiNjQyODlkMmJlMjQ3NjgwZmMyYjFhZDNmZTYwYTE4ZGQ4NGU4IGFzdC1icmFuY2gKKzM5MTM5IDI3NjBhMmQ5OTIzOGYxMjFjMTk0MmYwNzcxYjE4ZmIyNzkyMzU5YTkgYXN0LWJyYW5jaAorMzkxNDAgNWIyM2E1ZGNjNmEzZmYyYjZmODhlNmVhMDliMjRlZDY0MmJlMzcwMiBsZWdhY3ktdHJ1bmsKKzM5MTQxIGZkY2RlNTlkZmExYmQ4OWYyNmZmMTNjYjVhM2QwZDE2YTZiYjM1NmMgbGVnYWN5LXRydW5rCiszOTE0MiA3M2U2Y2I1ZjQwMzllNmMwZGE1OTVlODNlZDI5OWE3ZjU2NzVhNjQwIGxlZ2FjeS10cnVuaworMzkxNDMgM2I1ZjU0NjZmMTA1ZWFhYzJjN2MzOTViZDUxMjQ2YjJiOWFlZjFiNyBsZWdhY3ktdHJ1bmsKKzM5MTQ0IDczNDkyNWI0NmJhN2U0N2RmN2I4ZWE4N2E1ZTc2ZWEyYzU5MTg0N2EgcmVsZWFzZTI0LW1haW50CiszOTE0NSA5MjQxMjE4OTkyYzFlMDY3MTZiM2ZmODExYWI0MGUzZTIxNWMxYzdkIHJlbGVhc2UyNC1tYWludAorMzkxNDYgYjg2MzkyZjU1YjU5N2VmNDMzNzYwMTdjOTgwYTIxZDY0NDBkYWE1ZSBsZWdhY3ktdHJ1bmsKKzM5MTQ3IGI4YzkwNzZkMTc0ZTkyYzUzZGEwMWU4MjYxNDg5MTEyYjg0ZTI2MzEgbGVnYWN5LXRydW5rCiszOTE0OCA1OGQ1YTZjN2I2MjkwZmMwMDg4Y2UxOTY4NGNjNzkzYzNlMTA5YjM3IHJlbGVhc2UyNC1tYWludAorMzkxNDkgNGJmOTllZjA2ZDM4ZGIzNjYxNzBhYTRkMDdmOWMxNzk1ZDM5NzY2ZiBsZWdhY3ktdHJ1bmsKKzM5MTUwIDMxZDk1NWFiMjIzMmVjOWVmNjFjYTYyN2IwZjc0NDkxZWRlZmJmZTkgbGVnYWN5LXRydW5rCiszOTE1MSA5YzE4OGZmNjMxMzE5NzZjMjhkNGZkODc3NWNiNDAzODkyMzQ0NWMzIGFzdC1icmFuY2gKKzM5MTUyIDgxMjdhNTVhNTdjYjdiZDc4MGE1NGQxNDExNGQxODc3YmMzYjY0N2UgYXN0LWJyYW5jaAorMzkxNTMgOWVjZjAzZGZkNWQ2MTc3YjIzZDYwZmUyYzdkMDVhN2RhZDY1ZmMwYyBhc3QtYnJhbmNoCiszOTE1NCBkMjU2NTZhYjNlMWQwM2FlODBiYzM1OWE2MzEzYjBkNTcwMzRhZGY4IGFzdC1icmFuY2gKKzM5MTU1IGFhMmYyZmFlZjdkMjkxZGE3ZGMwNDc2ZjZiY2U3ZThkYWIyY2MzM2UgYXN0LWJyYW5jaAorMzkxNTYgOGQwZDM5NWMyMTFlZDc5NmE5MmFhMWUwM2Q5NDU4N2MzYzNiZDBkNyByZWxlYXNlMjQtbWFpbnQKKzM5MTU3IGUwNTk4OTgzZjBhNWY2MjM5Nzg3MDlhODZiYTIxNjI1MjVlMDc4NDggbGVnYWN5LXRydW5rCiszOTE1OCBlMWY3ZmNhNzg0ZjNhNmZhMzQ1MjI3Y2MyMTk2NTZjMWI2NDgyNjQzIHJlbGVhc2UyNC1tYWludAorMzkxNTkgZGRkNzhlYTM1MTljNTFhY2JhYWI4NDczYWI1OGU0MTczOTdkMjQzYSBsZWdhY3ktdHJ1bmsKKzM5MTYwIDk1NWQ0YmFkZGJmYzg2NTlhMjg3ZDZlMTg3MThjODY3ZmJjYjQ5MmQgbGVnYWN5LXRydW5rCiszOTE2MSAyMTRjOTZlNTQ5MDUwYmFjM2FhOWEwYmY2OGE2ZWRmMzI0ODdhYzQ3IHJlbGVhc2UyNC1tYWludAorMzkxNjIgYjY3MDBiM2RlNjk1NWQ1MWQyYjYwOWQ0ZWYzNDFmZmE2MTNlMDIwMSBsZWdhY3ktdHJ1bmsKKzM5MTYzIGRiNzY4MzEyOTlkMDAwODVmOWRhZDcyNGQzMjJjMTFiYTc0MGIzMTUgcmVsZWFzZTI0LW1haW50CiszOTE2NCAzNTU5MmJhZDM0NWJkZWQ3YTQ5Yzk5YWE5NTMwMDhjMDU3YmFjYmI5IGxlZ2FjeS10cnVuaworMzkxNjUgNzYzZTg1YjEwN2I0MGRiYmE5NTY1MWNjNWRhNDIwZTY0ZTgzODUxOCBsZWdhY3ktdHJ1bmsKKzM5MTY2IDU3YTRkMjc0NjYzMjM4NDZkOTczYTVmYTBhODA3NmNjZWZkMDgxZjIgcmVsZWFzZTI0LW1haW50CiszOTE2NyA4NDdlNThkZGI3ZDllZTZmOGQ4YzcyYmViMmVkNTExYzBhN2ZiZTFiIGxlZ2FjeS10cnVuaworMzkxNjggYWNlN2Q4MzYwODNmZTc0MTAxNzNlNjNjZTA4YmY0NjAxYWI1ZjAwNiBsZWdhY3ktdHJ1bmsKKzM5MTY5IGY5YzVhZTY5YzE2ZWUyYjVhMWQyOGRkMDNiNjcyMDFiZGZlYTFlYjIgbGVnYWN5LXRydW5rCiszOTE3MCBkMGM2OTY1YjUyNWVjYmFlZTg3YjBlYjNlMTZiN2Y3NTdkNDk3ZjkyIGxlZ2FjeS10cnVuaworMzkxNzEgYzA4OGVjYTkwYTYzNTA5MjE0YWNjNDk4MmM4NmE5ZTJmYjEyMTMyOSBsZWdhY3ktdHJ1bmsKKzM5MTcyIDUyNmZhYWFiMDBlYjk1MTlkZmU3ZjBkOWY5OGVjZWNiYzRlYmJjYzIgbGVnYWN5LXRydW5rCiszOTE3MyAxZmRiY2EzNTE0OTg5ZDgxN2QyZmQ0OTJkMGQ0YTIzY2YyYmM1ZDQ4IGFzdC1icmFuY2gKKzM5MTc0IGEwYzMxYjcwYmQxODBmNzhmNjgzODVhMmVlNzE2MTVjYWQyZmY2M2QgYXN0LWJyYW5jaAorMzkxNzUgMDllODhmZDdkNTVhNjhhMWYxMGRhNGFlNzU1YzQwN2I5Y2U5Mzc4YSBsZWdhY3ktdHJ1bmsKKzM5MTc2IGI3MzVlYjQyNjdlOGY5NGNhZDkwMTBkMTMzZjcyNmM0NDEyOGJjNGEgcmVsZWFzZTI0LW1haW50CiszOTE3NyA3YjY0MzZkMjM0NGQxZjQ1ZmI2Y2YzZmNlNzA4OGJmMTliMTczNWNhIGxlZ2FjeS10cnVuaworMzkxNzggNzRjMzcxNzY2MTIxYzgxNjNlMDU5NjRhY2YxOTZiYzBhYWVlNjQxYiByZWxlYXNlMjQtbWFpbnQKKzM5MTc5IGNkNTk1YTY5ZGNhNWNhMmQ5NDg2NmEyMTgwNWI5NmMxMGJiNTdhZmYgbGVnYWN5LXRydW5rCiszOTE4MCA5MTlmMmQxMzE5ODJiOGIxNWRlOWYwNDUyMjg1YTQxZWMxNDc2M2EwIHJlbGVhc2UyNC1tYWludAorMzkxODEgNTU4MTYzY2I3MGE5NjgyZjM3Mzk3ZWZiZDBlYzIwOGE2MWFhMjRmYyByZWxlYXNlMjQtbWFpbnQKKzM5MTgyIDYyZjgxOTQ4MzI5MzliZTE0ZjJiZWRhN2FiNGQ3ZjIyYmUzNGJhNmYgbGVnYWN5LXRydW5rCiszOTE4MyAxOTQ5NzIyZjM3ODc0ZDIzNjc5MWU1NDQyMGU5YWUwNjc2ZjJjNWJiIGxlZ2FjeS10cnVuaworMzkxODQgODc1Njk3M2E2Yjk5MTI0YzljZDA5NWViYjE3MmMyNmQxMmZmNjAzMSByZWxlYXNlMjQtbWFpbnQKKzM5MTg1IGM2YjY5YzZkMDFhMzc3ZDRjOTM1NWM2MTJjZTYyMjRjZmJlODM0ZTggcmVsZWFzZTI0LW1haW50CiszOTE4NiA5NWE5ZmY0N2IxMWQwMzk5Mjk3OTkzOTE1ODZmMmZlNjNlZjJlMWJiIGxlZ2FjeS10cnVuaworMzkxODcgYTQ5OGRjYWFlOWQ3ODI2OWI0NDUwYWU4OGE1ZTlkZTJhOTY5YmNlZCBsZWdhY3ktdHJ1bmsKKzM5MTg4IDAyN2UwMDBkMWY2ZGYwZTA0MTEzZmFhMmNjYzQ0YzFjOTE1Mjc5OGEgcmVsZWFzZTI0LW1haW50CiszOTE4OSAzMmRlN2E4ZDg4NmNjZGY0YzU5ZWFmYzVlMmQxN2U2NTczZTMzNTRmIGxlZ2FjeS10cnVuaworMzkxOTAgMDdiMDFiMzM0MGY5YzI1NDI2YjljMjBiNDI3MGI4M2Y5YmY2ZTc1NyBhc3QtYnJhbmNoCiszOTE5MSAzYTZlZWYzMWU5NWFlMjU1MDdmYzMwMzEyMzEyZjQzYTEzNWE4NTQ2IGFzdC1icmFuY2gKKzM5MTkyIGQ2MWVmY2Q4N2M4ZTM4MzZjYzY1MWYyOGEzM2QxNzY1ZTY0ZDY3ZGYgbGVnYWN5LXRydW5rCiszOTE5MyBkNDc2ZTU4Y2M3ZTc0NWM5YzBiYTQ2MzkwMzY0ZjM5MzUzNTk2N2RlIHJlbGVhc2UyNC1tYWludAorMzkxOTQgOTJiMzdjNzFmOTM1ZWFiYzQ2MWMwNzBmMmI4MDJmOTQ4YzQzOTlkMSBsZWdhY3ktdHJ1bmsKKzM5MTk1IDc0ZjgyMDJkODMxNTAxMzdjOGMzOWVlMTEwYWQ5MWFlOTU0NGQzZjIgcmVsZWFzZTI0LW1haW50CiszOTE5NiBjNTJjZDFmZDk0ZmM1NGJiODRlZDI1NmRkMmRiZTMyZmMyYjhhZjViIGxlZ2FjeS10cnVuaworMzkxOTcgM2Y4NmY4Y2JhMDVlZDU2ODkwMjg3MWExNzc2ZDNkZTE2YWU3NGE5NCByZWxlYXNlMjQtbWFpbnQKKzM5MTk4IDdlMWMxZDZkZWExYzMxNjlhM2IwZTFhODRhZDM1OTY0ODBkY2ExYzEgbGVnYWN5LXRydW5rCiszOTE5OSA5NjhkOTQyMmFmNzg3ZmU2ZmYxYTdmMzMwMTQ2ODk1ZjgzYjY2YzE0IHJlbGVhc2UyNC1tYWludAorMzkyMDAgNzI4ZjgyYmViYzNlYmQ2NjNmMjM3MjE4ZDVmZDcyZDM5YTU1NDdmMyBsZWdhY3ktdHJ1bmsKKzM5MjAxIDg3OWM4NzZiYzU3YTM4OTgzNjNmNWE3MWJmOGQwNzE2MzE2YzVmZWIgcmVsZWFzZTI0LW1haW50CiszOTIwMiBiNDMxZWQ3YmNkYzIyNTBhZjE2ZDkwMzQ1MDY4ZmQ4NjRiMWIxM2M0IGxlZ2FjeS10cnVuaworMzkyMDMgODYwZTBmZDJmZWU4ZWY2OWI5NGFjYTFmMDcyNmRmNzA1MmFmOThlYyByZWxlYXNlMjQtbWFpbnQKKzM5MjA0IGFlZWMzOWZlZDhjNWMxNmY3NjVhYzM5NDI1ZDFmMjFmNjg3MjExZmEgbGVnYWN5LXRydW5rCiszOTIwNSBmYWFkMDk2ZGVjZjZhYjRkMWU0ZmFlYjEwZTM4Nzg0NjliMTc4M2ExIGxlZ2FjeS10cnVuaworMzkyMDYgOWY0MzY1NTEyMzI2MDI0MWUwMjY1YTM1NjZlN2Q2ZWJmNGFiNDAzNyByZWxlYXNlMjQtbWFpbnQKKzM5MjA3IDJiMTE3ZWIxODk0NGQyMjQ0OWNjYmMwOWI2MjdmOTM0ZDc0ZDYyOTggbGVnYWN5LXRydW5rCiszOTIwOCBlNzg5NzAzZmU0YmVlNGFhMjI1Njg3MmY4YWQ3YmI3ZWZmODU5MmNiIHJlbGVhc2UyNC1tYWludAorMzkyMDkgYTkxN2UyYzQ3NmY2NjE4ODEyZGM1OTMzZDE3YWQ0Mjk2NzI0NTQ1NSByZWxlYXNlMjQtbWFpbnQKKzM5MjEwIDFhYzJjM2ExYzNhYzNkMzlkNGQ3ZGRjZjBlYzAxNTY2MGI4OGE3NzUgbGVnYWN5LXRydW5rCiszOTIxMSA5ZDgzOGRkOTY3YjJiMjJhZmYxZjMzMTc5ZjRkNTVkZGJlN2U4NGQ0IHJlbGVhc2UyNC1tYWludAorMzkyMTIgYmU2YWIzZDg2YzI5MjVhZDhlZDA3ZTZiZDEwODYyYWQxNmI4MzljMCByZWxlYXNlMjQtbWFpbnQKKzM5MjEzIDUzYWI1MTYzYzFhYWExOTUzZWJiMWFkMWQxZTdkMTFiZjdhZDA2NjggcmVsZWFzZTI0LW1haW50CiszOTIxNCA0YWRiZDMzMWQzMzUyZWI1ZmFmZDcyZmNiNTg5ZTUxMmY0YjM1ZGIyIGxlZ2FjeS10cnVuaworMzkyMTUgNmViYzQyM2YyZDgxY2U5MGE0NDg5MGU2ZmJmNWEyOGRkY2E1MTVmNiBsZWdhY3ktdHJ1bmsKKzM5MjE2IDk3MDdiYTI3ODg5NDFhMDNlM2Q2OTJiZjRiM2I1ODYwMjZhODQ2MmEgcmVsZWFzZTI0LW1haW50CiszOTIxNyA1MmFjYmI4NTg0ZWFlYjQ2MWE3OTY5YTBlODBjN2Y4YTgyMzg5OTRjIGxlZ2FjeS10cnVuaworMzkyMTggY2E2NmExNmMzNzlkYzIxMDczOWMxMDJkNWMwNTc3MWIxMGVkZDZmMSByZWxlYXNlMjQtbWFpbnQKKzM5MjE5IDQyY2ZlNDYwM2MzMGMwMDE3MjkzNWM2Zjk5YzhjOWM1OWExMzdjYTAgbGVnYWN5LXRydW5rCiszOTIyMCBlZGYyNWMxYTRmNjA4YzRkYjM4OTU1ZTk3ZTYyZWUyNDJkZjg5OTc2IHJlbGVhc2UyNC1tYWludAorMzkyMjEgZjhlNjBhM2YzNDQwOWU5ZjgxZmJhY2M1Mjc2ZjU2NzkwZjU1ZmNhNyBsZWdhY3ktdHJ1bmsKKzM5MjIyIGM4YmQzYjUyMzBjNDI1Y2E0ODViZDg0NjVmYzk3YjllNGVhMzBhNGUgbGVnYWN5LXRydW5rCiszOTIyMyBiNGU1NzAzMzdiZjQ3N2UyMzZkN2QzZjZjYTI1YzkwMzk1MjU5YzUyIGFzdC1icmFuY2gKKzM5MjI0IDMxNDQ3YWRiMWIzNWVjMGJhMDkzNDgyOWFjZGE5YmNjMDQzNTMzZjYgYXN0LWJyYW5jaAorMzkyMjUgMTc3NGZlN2VjMGM3YzcwZDg1MDlhYzM2NWI4YjU0OTA3ODlhZjEyYSBsZWdhY3ktdHJ1bmsKKzM5MjI2IDg1YTM1Zjg3MDFiM2JiNjlhMTU3Y2QwZTI1MWY0NmYzMWRkMWVmYTAgYXN0LWJyYW5jaAorMzkyMjcgMjk4ZDNmYTRlYzM5ZGQxODAyZWY3OWMzYTM3Yjk0MmMzMDkxZGUzNCBsZWdhY3ktdHJ1bmsKKzM5MjI4IDJmZWVkZjg1MDc4OWQwNzUzZTJmMWRkNDBhYjkyYjViNjQxZWJiYWEgbGVnYWN5LXRydW5rCiszOTIyOSA2MzZlNWYxZGE3MzNkN2I3NDdiZGE5Yzc3M2Q0Njc1NGUxNzM3NWUyIGxlZ2FjeS10cnVuaworMzkyMzAgN2E1MGJkODJkZjI1ZjJiZTllM2ZhYWE4MjIyZTdkNzc1YjVmZmNmNSBsZWdhY3ktdHJ1bmsKKzM5MjMxIDM0OWEwZmQ1OThlMDc5ZDIxN2NlZGU5ZDJiODI2MzhiZGE2NjVkMGIgcmVsZWFzZTI0LW1haW50CiszOTIzMiBjNmMyNGZmMWUzZGE1OTI4YWMxZjgwYzIyODg1MTI3MmE0ODQwMTQ4IGxlZ2FjeS10cnVuaworMzkyMzMgMzVhNjk4MzAyYzYzYzViMWYwNjg1OWE3OGFkODcxYzk4MzhjNGIxNiBsZWdhY3ktdHJ1bmsKKzM5MjM0IDhmZmZiNGM5NTQ4N2VlMjM3MzA4N2I3MjM2OGY5OTBkMWI5YzM0M2UgbGVnYWN5LXRydW5rCiszOTIzNSAzZjFiNDhmOWZmMGRhOWYzNDdjZDAxMTU0NjE4YWM0ZThjOTUyMjQyIGxlZ2FjeS10cnVuaworMzkyMzYgZjMwZWJkYzNiZGRmNzliMWZjYmI2MzdmN2YyMWM4OGNlY2EwMWIxZCBsZWdhY3ktdHJ1bmsKKzM5MjM3IGQ5MTk2NGY1ZmUwZDZiY2IwZDJhZTQwMDI0ZTI3NGQwZTNhMmE3MWMgbGVnYWN5LXRydW5rCiszOTIzOCAyNmJmNmMyN2U5Y2VhNWVmNTM3ZTg2ZWVkYWZiMWM1OTYxZGUwNTAxIGxlZ2FjeS10cnVuaworMzkyMzkgYjJmZTVmOGZjZmRkYzg0YjFhMDM0YzQyNDViNzg0MmMzMjNhN2Y3MyBsZWdhY3ktdHJ1bmsKKzM5MjQwIDVhOTEzNGZlNTcwOTA2MGEyM2FhMjdiZTZhMjk1OGU1ZWU3OWJhOTMgbGVnYWN5LXRydW5rCiszOTI0MSAwOTkxMjhmZmFiZTYzMTlhMDA3ZmZkNDIyMjM3YjIxNDA2YzZkYjgzIGxlZ2FjeS10cnVuaworMzkyNDIgMzA4NjYyMGRiNDZiOTdmYzJkMDgyMDE3ZTdiZmNjZjc4NzI0NDljNiBsZWdhY3ktdHJ1bmsKKzM5MjQzIGI0OGYwYjJlMGRmNjA5NWRmNTljZjhkODkwM2JhNWJmYjZlOWRlYTkgbGVnYWN5LXRydW5rCiszOTI0NCBiMzYzYTI4ZWQyNGY5YjEwM2M1NGY5NGEwOTA3NDA4ZWVhNmQ1NTdlIHJlbGVhc2UyNC1tYWludAorMzkyNDUgYWJkZTIxN2M1ZDkwZDFhNjUxZTY1NGJhY2M4OWRlY2U5NmJiNmI0YiBsZWdhY3ktdHJ1bmsKKzM5MjQ2IDM3NjAwMjMzZGI3Njg4MWM4Zjg5OTc0ZWRmYmE4Y2Y4NGNmNTAzODUgbGVnYWN5LXRydW5rCiszOTI0NyA0NTVjM2I3NjVkYzNhOGYxYjkxYzhiMTk4ZTFjYjU3ZWYzMTdjMjcwIGxlZ2FjeS10cnVuaworMzkyNDggMjU5MGZhMGVjN2U4ODFiMjMwOGNhMGUxOTM0YzVhYzQ0YzJkZTk0YyByZWxlYXNlMjQtbWFpbnQKKzM5MjQ5IGQ1MzNmMDhhOWRmYWFjNzNmN2YzZGFmZTYxMzAwM2RmYzJlYTM1ZjYgbGVnYWN5LXRydW5rCiszOTI1MCA1ZmU5Y2VlY2ExMTE4ODE0YzQ0ZjRhNjZkZTFlYmIxMTg2Zjk1ZDYwIGxlZ2FjeS10cnVuaworMzkyNTEgZjM5OTZhYTc4Y2RlYTViNTk2ZjI5ZGExNjE2OTM2MGI2NTUwNzFkNyBsZWdhY3ktdHJ1bmsKKzM5MjUyIDU0MWJmYmIxMDAzMGJmZmFhY2NjZjI2MDRjOTUxNzY2MjlhOWUxZjMgbGVnYWN5LXRydW5rCiszOTI1MyA4YWE5YmQ4MDI4NmIyMjAxZTc1ZjFhMzczMjQxM2RjMTdmNGIzNDczIGxlZ2FjeS10cnVuaworMzkyNTQgYTY4OWEyMGY1OGY3NjNhZGEwMzJkYzdjOWRhY2ZkMzI1ZWY5ZjZjZSBsZWdhY3ktdHJ1bmsKKzM5MjU1IDFkODYxMWQ4NTU1YzVjYWZlMDBjOGRlZmEwNmZjMzE4YTkxYzYxZWYgcmVsZWFzZTI0LW1haW50CiszOTI1NiBhNmNiZmNkMGU2OTFiYTBiMWM1YTU3YzllNGUwY2I5OWY5OGQ2ZTY5IGxlZ2FjeS10cnVuaworMzkyNTcgY2UwOTk1ZTAxZDNjNzQ1NzQzY2VhNzZlYmE0OWJhYTQ2ZTljNDUwZSBsZWdhY3ktdHJ1bmsKKzM5MjU4IGZkMDA0NjE4NjFjOTA3MDY0NWUyNmI2OWZmOWY5MDJhMTg3NmNmMDIgbGVnYWN5LXRydW5rCiszOTI1OSAyNjEyZTk2YjE3YmJjNWJjYWFjNzJhZWExMGYxZGYyMWU2MDUzMmI0IGxlZ2FjeS10cnVuaworMzkyNjAgYmQ5YWYyNjBlOTI3OTQyYWY1ZTBkOTgwMjMyNzNhMzFlOGIzNjcxZiBsZWdhY3ktdHJ1bmsKKzM5MjYxIGZhOTVmZTkxY2RmNzYwYmUzZGIxMjA0MmM3YTc5ZGM1ZjEyNzE4MjUgbGVnYWN5LXRydW5rCiszOTI2MiBiZGNiMDFhOWI2MGM1NzlmNzE2YWIwNGI4ODQ0NjNiNzQ4YWQwN2YzIGxlZ2FjeS10cnVuaworMzkyNjMgYjkyYTg1YzNiZGM4MTZhYWY5Mjc3Y2U0ZGQ5ZjJkZTNiMjg1YjU4YSByZWxlYXNlMjQtbWFpbnQKKzM5MjY0IDNmYTU4ZTViZGRmYjI5YTVjMDQwZjIyZDA1ODY0MjNkMWUxMjA1NWUgbGVnYWN5LXRydW5rCiszOTI2NSAxN2UwNDQ0ZGQxMmRhZWZlMWNkZWNkODE4ZWRhNjlmNDIwYjNhOTkyIHJlbGVhc2UyNC1tYWludAorMzkyNjYgYWM5YzBlZTE5OWZjOTZlZWExZTRiYzNiMzIyMDhlMDgzNGYxZTAwYiBsZWdhY3ktdHJ1bmsKKzM5MjY3IDMwOTQ4NDNlN2I5MmNiMTAzYWUwZmJlMWIzYjQ2NDhkYmVmMmZjNDYgbGVnYWN5LXRydW5rCiszOTI2OCA2YWE3M2ExZjBjYmE4NDU0MDNjN2Y4MTY2OWY0NDRkMzI5NmQ1YzQzIGxlZ2FjeS10cnVuaworMzkyNjkgMGVmNjRhOTNmM2YyNWUwZDYzODFlODMzODMwMDhiN2NiNjlmY2M0YSBsZWdhY3ktdHJ1bmsKKzM5MjcwIDMwMGYzYWFmODUzZmI4ODhhNGRmYzQzZWZkYzYyOWQxYjY4MTJmMDcgbGVnYWN5LXRydW5rCiszOTI3MSAwNDRhNWNhMmNkYjgyY2RmNjdmZTdhNTZjMzQ2ZmRkOGIxODM1YjgwIHJlbGVhc2UyNC1tYWludAorMzkyNzIgZWYxMWNiYzA4ZGFiYTBmZGE0OTBjMTk2NzM4OWU4ZGQ1NWNkM2I5MyBsZWdhY3ktdHJ1bmsKKzM5MjczIGZkMDJiODRmYjJkYjIyOWJlOGQ3OGJjZTJkOWNkZDg2YzY0MWEwZjIgbGVnYWN5LXRydW5rCiszOTI3NCBkYzhhZTQ5OWVmY2YzOTM4Njk3MTQ4YTZmNDgzMzI1ZjExMTdkZTFkIHJlbGVhc2UyNC1tYWludAorMzkyNzUgNzI1NjcxZGI3NzlhNjgxODJiZDI2YzA3YzBmODg2ZWQ3NWI3NjhiMiBsZWdhY3ktdHJ1bmsKKzM5Mjc2IDliMjIyN2E2MGRhZWNkZjU5MmQ4ZDFlZmI0ZDA3MjFjNjgzNTE2YjMgbGVnYWN5LXRydW5rCiszOTI3NyA1MDNjMzY5NzU3OGY4YzllNDBkMmRlMjg0YTg5YzAzYmJmZWM2MjA5IHJlbGVhc2UyNC1tYWludAorMzkyNzggZGVmNDM0ZTJhODFhZmJkYzRiMDA0MmQ0Y2Q3OTlkODQzOTUwNzliZSBsZWdhY3ktdHJ1bmsKKzM5Mjc5IGQ2NTc1Y2QxYWI2N2ZjNjYzMmIwZTI1NWQ2NDQ5ZjkyNTBlMDk0ZTQgbGVnYWN5LXRydW5rCiszOTI4MCAwMjhlOTRhNmVmYzU2YTk4NzdiYjdmODAwMTc5NTM4NjcwYzMzNGNkIGxlZ2FjeS10cnVuaworMzkyODEgYjhjNWQyMjIyZWQ3NTgzYmRlMTA3NTMyOGExMjNiMWVkNDdmMWZhNSByZWxlYXNlMjQtbWFpbnQKKzM5MjgyIGY2YjQ2MmQyYTNhMzZjNTM2MzY3NDNlYmNiMWNiZDA1ODgwNGU3ZjIgbGVnYWN5LXRydW5rCiszOTI4MyAzYzNhNDVhOTY1NzcyMWYwY2ExMDY2MzU0Y2YxOTY1OTg2ZWM1MjM1IGxlZ2FjeS10cnVuaworMzkyODQgZGQ0MzU3YTVkYTdjYjdkNzA0Nzk3YmI5ZmIzM2E1ZjY3YTIzZjVjZCByZWxlYXNlMjQtbWFpbnQKKzM5Mjg1IGM1NDk5ZjI1Njc4NmIyODIxZjgyZjE3MzFlM2FiZDQ1Y2I0OTdmOWEgcmVsZWFzZTI0LW1haW50CiszOTI4NiA3MDBmMDgzNjkwOTI3ODU4MjBjOGUzNmQ4ZDIzZTVhNGMzNzI1YjEwIGxlZ2FjeS10cnVuaworMzkyODcgZGQyMzU3OTUzZmUzODcxNDg0ZDg4YjBjZjQ3NGM4NmU4NDAwZTk4ZCBsZWdhY3ktdHJ1bmsKKzM5Mjg4IDM5ODI1Y2EzNDY0NzNlZDU2ODA1NDY5NDVkMThiNzFjYmYxOWJkYTkgbGVnYWN5LXRydW5rCiszOTI4OSAyZjFiZjY0YjgzN2VmNWY0OWUxY2Y0NmUzNWU3ZDJmMjQzMWRjNWIxIGxlZ2FjeS10cnVuaworMzkyOTAgNmYxY2QyOGQ2Yjg3NTAxMmQwMzQwZTUwNjMyYWRmYTMzYmFkYWQwMCBsZWdhY3ktdHJ1bmsKKzM5MjkxIDcyOWJlOGNjMDA5OGJmNWUxN2VhNjNmMWMzYjVmMzJjMDJjOWU3MzQgbGVnYWN5LXRydW5rCiszOTI5MiBjMWQyMmQ0YzA4NjU1MjgwY2UzN2UzYjUxYTcwNDI2N2RjYWQzZGFlIGxlZ2FjeS10cnVuaworMzkyOTMgY2Q4ZDhlNjM0YWI4MDZlMDEwZTZiNzY5NmFkMGE4MTQ0NmIwMTJhZiBsZWdhY3ktdHJ1bmsKKzM5Mjk0IGU4ODA2MDk0ZDY0NDhkZmYwZGUxZjhiZDZkZjE5ZTAwNmU2ZmNhMDAgbGVnYWN5LXRydW5rCiszOTI5NSBkZTJkODRlMDQ0N2VlZWQ4NjFiNTRhOWY1ZTM1NjkxNGVkYTQ4NzIxIGxlZ2FjeS10cnVuaworMzkyOTYgNGZkMDM4NzM3ZTIxZDJhY2I4ZWYxMDA4ZjcxNzVmN2M1ZTg1YWZlZCByZWxlYXNlMjQtbWFpbnQKKzM5Mjk3IDNhMmZmZjY5MDU1OGRjMDQzYmUyYmUzNDMxMjNlMmVhN2RiY2I3ODEgbGVnYWN5LXRydW5rCiszOTI5OCA4Nzc5MTZkNjMyZTA3MDY5Yjg1Nzc1N2JlOGU1MDVlMWRiY2VmMTI2IGxlZ2FjeS10cnVuaworMzkyOTkgMjBiMThiN2Y4MzA5NTc4ZTBjNTAyOWMwNmE4MjlhOTQyMTI0MmQ5YSByZWxlYXNlMjQtbWFpbnQKKzM5MzAwIGM1YmY1Njg1MjY3YjhlOGRhNjkyOTYxMGI5YjQxOWNmMTc4Mzc4ODYgbGVnYWN5LXRydW5rCiszOTMwMSBkN2YzOWU2MjA4YmE5YWM4ODVhNDhhNmNjMGZiYzVlNTIwZDBlMjdjIGxlZ2FjeS10cnVuaworMzkzMDIgNjYwNTdkNTUwNjI4YWU3NjViYzcyMjlhZWE4OWY1NjNkYTNlMGQ5MiBsZWdhY3ktdHJ1bmsKKzM5MzAzIDUwMjgzYTQ0MTdkOTg4NzBmOGM5YmNmOWI5Njg1MWE5YTY5MTJlYmIgbGVnYWN5LXRydW5rCiszOTMwNCBmMjA2OTE5NTc1NzgxMTMzOGQxZTIwMzU3OGRkNDE1ZjUxNWZhMjU4IHJlbGVhc2UyNC1tYWludAorMzkzMDUgYWViODU4MGExYWY3NDg5ODg3MmNmMWVhZmUyY2FhYTFkMGVkNDk3ZSBsZWdhY3ktdHJ1bmsKKzM5MzA2IDhiMDdkNzMxYmU2MDNkZWQ0ODIzNDgxYjY1ZTE4OGIyMmQxZWMyZjMgcmVsZWFzZTI0LW1haW50CiszOTMwNyAzZWE4ZjU4YThjOGVjNjQzNGYwNGZhZWU4NjY3NWE4ZmVkOTE5YWZkIGxlZ2FjeS10cnVuaworMzkzMDggNGU1ODg3MjVjM2Q3NThlN2QxMWYzMjExZTkzZGUxMmI3MzM4MWFiYiByZWxlYXNlMjQtbWFpbnQKKzM5MzA5IGNkZTI3NzgyYTE2OTJhZDQxY2JkMTcxZjJhYTkyZjQ2YWIwMzhkNzcgbGVnYWN5LXRydW5rCiszOTMxMCBmNTcxM2UzMDM4MGM0MzZiYThkZTEyYThhNmY0ODUxZDY5NjM1MDg1IHJlbGVhc2UyNC1tYWludAorMzkzMTEgN2Y5YTQzMGI4Y2U3MWVjOTdhNzhkY2M3Mzc2NjQwZmNiMzU2OWM3OSBsZWdhY3ktdHJ1bmsKKzM5MzEyIGNlMTI0NTEyMjBiNDBhOTI3YjYyZmUzN2I0ZTI0YjMzYmNlYTEwZTQgcmVsZWFzZTI0LW1haW50CiszOTMxMyA3NmIyNzIyODA2YWJjNWQ3OTUzY2FkODllNTI3Y2I4Yjg0YWE5Njc2IGxlZ2FjeS10cnVuaworMzkzMTQgMDg0ZDQyZGY3YmFkNGU5NDAzOTdjNmNiYjNhNjk4MDliYmRkOWM5ZCByZWxlYXNlMjQtbWFpbnQKKzM5MzE1IDc5N2Q4MmVlYzYyNTIxYjZhNjhkZjlkMzZkOGIyOTI0YzZjMmE0YmUgbGVnYWN5LXRydW5rCiszOTMxNiA2MjQ5MThlMWMxYjJlZmVlOWU0YjdiZWUzMWRkYjgyMjEyZDExYjMzIGxlZ2FjeS10cnVuaworMzkzMTcgYTQ2NzMyNTcxZjJlOGYwNWVkY2Q1YmJhNzk2ZGY5MjVjOGVhNjQ1MSBhc3QtYnJhbmNoCiszOTMxOCBmODRjZjg1MzQ2NGFhYWE2N2IzMWIzZDE0YjNmNTlmYzRmMGZlN2QwIGFzdC1icmFuY2gKKzM5MzE5IDdjMTRjN2Q4YjM5NmZmNjExZGU5Nzk0MjNlZWYwNzU2MDJhNjc1NWQgYXN0LWJyYW5jaAorMzkzMjAgNDY4MDBmMmFkMzA4YTQ4ODg3YWVhNGUyYmVmYTY3ZDhkY2ZjZmZlZiBhc3QtYnJhbmNoCiszOTMyMSAwMDE0NTk2Yjg0MGM2Y2ZkYmU4ZDU2NmIzODA0NWYyODhiNWRjYWYzIGFzdC1icmFuY2gKKzM5MzIyIGI0NjNiYjQ4MjU5NDliZDQyNjEwYTVmZjM4ZjczYjZkOTBkZGNmOWYgYXN0LWJyYW5jaAorMzkzMjMgZTdlZDBlNmFlZDJmMjczOTQ0YzMxN2VlYjM2ZDE3Yjc2MGIyYjhlNiBsZWdhY3ktdHJ1bmsKKzM5MzI0IDQ0OGM2ZmJmZjY0MTMxMjJhNTdlNWNlMjA2YzBmM2IwMDNhMzYzODYgcmVsZWFzZTI0LW1haW50CiszOTMyNSA5MzMwMDgwYTNkNDE3NThlMjZhMzZmYzdjM2JiODVmNjUyM2FiYzUwIGxlZ2FjeS10cnVuaworMzkzMjYgOTI2MTY5ZmRlNWU2MzNmMWUyYmE4ODI3ZTY1Y2MzY2YwYjAzZTRjYyBhc3QtYnJhbmNoCiszOTMyNyBmZGViNGE4YmNiNGUyNTA5OWEwMzhhNzcwY2ZhODVhMDJlZTlmZDU5IGFzdC1icmFuY2gKKzM5MzI4IDQzMjExYmUwZGU0MTVmZGExYmQ3YzZhM2Y5YWQ5MDBlOWJlYTYxZjAgbGVnYWN5LXRydW5rCiszOTMyOSBkNjgyNzkwZDVkYjBlMjRhYjMzN2RiYzJmNzUzYmIxZjdmMmJiMjBkIHJlbGVhc2UyNC1tYWludAorMzkzMzAgMGYxYTIzMWMyYzdjYWI1ZDIxZGZmOTNiZjA3Y2U5OTJlNDk0YTY2ZiBsZWdhY3ktdHJ1bmsKKzM5MzMxIDc4NzQ3ODkyM2U4MmYyN2UzYmIwNTZiYzUzNDc5OGFjYTMyZGZhYzcgbGVnYWN5LXRydW5rCiszOTMzMiAwNGRkNWIwNmQzYzhlZDUzZGJlOThlOTYyNDRiZTc4NTMwNjMwZmJjIGxlZ2FjeS10cnVuaworMzkzMzMgMzRmZjdjYTRjZWY4NTI3ZTNiMWZiY2JjOTUwZjc0MjE2NTBkOWNiNCBsZWdhY3ktdHJ1bmsKKzM5MzM0IGE2ZTcwMDA0ZTk4NzBjZDg3ZWYzMWIyZGMwZTM0YzIwZGJhYjUyN2YgbGVnYWN5LXRydW5rCiszOTMzNSAzODgyNGI2ZTM2MDA3YzM2OTUxZmNkNTFmMzllZjRmNDM0ZWJmOTljIHJlbGVhc2UyNC1tYWludAorMzkzMzYgMGViMzg2ZWU5NDBlMzAzMjZjNDdiY2FhYmExNWI5MjFmMDhlNTAzYyBsZWdhY3ktdHJ1bmsKKzM5MzM3IDA3MTM3Mjg2NzczY2FmZjZlZjA3NTkwMzYzODkyYTg1N2FhNjI4OWQgcmVsZWFzZTI0LW1haW50CiszOTMzOCA0YWNkMzA3NjFiYzIxNzYzMDNiZjQyYzc0YmJiMjhlMDk2ZmNjNGY0IGxlZ2FjeS10cnVuaworMzkzMzkgNmIzN2VhYmUyYWM0MzdiZmQ0NDg0OWRmMGFkNWU5MDNlMDY0ZmFmNyBsZWdhY3ktdHJ1bmsKKzM5MzQwIDVmNDAwZmIyZGQ4YTY5YjdjZDY5YTMxODkxY2JiZTY0NDQ2MDg2MGMgcmVsZWFzZTI0LW1haW50CiszOTM0MSAzOTczZDYzZDI2Njc3YzA2NzQ2MTM2ZjFiMTUyNjU3MTM3ODExYTViIHJlbGVhc2UyNC1tYWludAorMzkzNDIgOTFkOTY4Yjc3NTc5YTVhMzY2MWJjNDZlMDFmZWE5YTZkNGI0OTVkOSBsZWdhY3ktdHJ1bmsKKzM5MzQzIDQzY2Y1OWU3YTYxNDVhYzcxOGZlOTUzODQzZjQyMGFjYzgzYTFkN2IgcmVsZWFzZTI0LW1haW50CiszOTM0NCA0ZGE2ZDRlMGMzZDU2MjhjMGNmMWRlZjVhZTM1MGNlZjZlYWRlMWU2IGxlZ2FjeS10cnVuaworMzkzNDUgMTJhOWJiMjRiNmQ5NjQ2NjA3NDk0ZDYyOGVjYTg5ZWMwZmFlZDhhYSBsZWdhY3ktdHJ1bmsKKzM5MzQ2IGJlZDkzZDA0MTZkZGU4MmEzNDk4ZTJkZTc3YzM5OTNlN2ZiODQzYTQgbGVnYWN5LXRydW5rCiszOTM0NyA3ZjE2Mjc3NjY2MjE2YzFlNzg3YjIwMTc3YmJjZGQwOTQ0YTc3NGIwIGFzdC1icmFuY2gKKzM5MzQ4IDAxZWZmNjA3OWY5MGI2ZmFhZmJhNzQ2NWRmNzg5MDZhYjFiMTE3YTAgYXN0LWJyYW5jaAorMzkzNDkgMTcwODQ3OWFkZTRkNWJhY2Q0MDJkZDYzMTJlMzRlODQ3NTE2YjcwOCBsZWdhY3ktdHJ1bmsKKzM5MzUwIGM5ZWIyNWZlMzljYmJlMDVkNWFkMmZkM2M4ZjUyYmQ0OWMyMDVjZDggbGVnYWN5LXRydW5rCiszOTM1MSA5ZTA1ZWEzYjFiZjNiODVmM2EyOTllNGQzNDJkNGZiMTk0NzE5NWQ5IHJlbGVhc2UyNC1tYWludAorMzkzNTIgNWM3Y2NhMjU0NzJkZWZmZWU0NmQ3NWNhOThjNzE1MmZmYTE1ZjgzYSBsZWdhY3ktdHJ1bmsKKzM5MzUzIDZjMDg2NWJlYWFiNzMxMjkyMDgwZmEyMmRlNGFhYmJhMDE3ZjU0MzMgcmVsZWFzZTI0LW1haW50CiszOTM1NCA4ODM3ZGRmYWFkNDVlYWY4MzgxN2FkODFhZDMxNzVhOWQ3YTYyZDI1IGxlZ2FjeS10cnVuaworMzkzNTUgZjk2Mjg3ZDFiNWY2Zjk4YmU3ODVjNGI4NzJjOTg1YjY0YmU3MjcwZCByZWxlYXNlMjQtbWFpbnQKKzM5MzU2IDYzNGNhNGQ4YTMwNmEyMjIyMTlkNmFlZWIyYTYyMjBmYjBjNjEyMWMgbGVnYWN5LXRydW5rCiszOTM1NyBiNzA5N2Q5MWYwNGQxZWJkNTZlNDdiMGU3ZDIwMWRhNTdlZmQ3YjQyIHJlbGVhc2UyNC1tYWludAorMzkzNTggNWIxYTJmYjg2NGE3NjI2YzE2NDdhMGI1MzE5NzYxZDlhY2NhODU2NiByZWxlYXNlMjQtbWFpbnQKKzM5MzU5IDNiYjkzMjgwMWI2NDUyZjg4Yjc5YmQyZWVjMjBmYzU5OTczZWVjNmQgbGVnYWN5LXRydW5rCiszOTM2MCAzNzQ1ZTNjNmEzZTEzNjAxNjg5Njg0MjVlNDlmMDU3ZTVlZWY1ZmUzIGxlZ2FjeS10cnVuaworMzkzNjEgZGRlMDU2YTY2NmRkZWY1MmFkMzIwMzJkYTM4ZTU5MWQzMjlhZjk5NSByZWxlYXNlMjQtbWFpbnQKKzM5MzYyIDNlZWM5MTAzOGZiY2E5ZjQzOWFhMmRhOTc0NjViOWY1NWY0MzEyN2EgcmVsZWFzZTI0LW1haW50CiszOTM2MyAwYTZkYmNiNGUwNTY2MjMwNWNhZDM4OGEzYWIzNTMyNGEwNmY2ZWI1IGxlZ2FjeS10cnVuaworMzkzNjQgNGQwNWY5ZTdlNmUyOTRhOWU0MTdkYTU3NjA2ZmJmMzMxMGY1MmJkZiBsZWdhY3ktdHJ1bmsKKzM5MzY1IDE1NmFiZGE0ZTQ1NzNhOGUyZjRmMWZhMDdhOTA2ZWQxMjUwODY3MWUgcmVsZWFzZTI0LW1haW50CiszOTM2NiBmZjJlNjZmYzBhMjkyOTA0ZGMwNGQzNzIwMmM4OGJkY2UwNWMxZDNhIGxlZ2FjeS10cnVuaworMzkzNjcgNDg5NmY4MzM0YmZmMjQ0NTMyNjhhNWNiNTg4MGJkYmE5ZjUxOWI0NSByZWxlYXNlMjQtbWFpbnQKKzM5MzY4IGU0OGZjZDRjMzU4ZDQ5N2MwN2Y2MDczYjZiNTU0YjljNDY3ZDAxNzggbGVnYWN5LXRydW5rCiszOTM2OSAzN2ZhN2I2ZGNhOWJiODliYWIyZDkxZWQxZDY1Y2YwMGY0MmFhNGQzIHJlbGVhc2UyNC1tYWludAorMzkzNzAgMmE2YjY5NDJhN2Y3Y2I2MDQwNjA1NmJmOTBjOWI0MjE0N2UzZWNlOCBsZWdhY3ktdHJ1bmsKKzM5MzcxIGM0ZTVlZDdhMmJhMzdkNjUxMDA0NDFiZjIwZWIzYTVhMWE1NGIwMTQgbGVnYWN5LXRydW5rCiszOTM3MiA4NWYwYTZlODM4MGI1ZGQ3OTJjZDU4NzEyNGI2NzBkMTk4MjNlMjI4IGxlZ2FjeS10cnVuaworMzkzNzMgNDgxNDYzYTViMjBjODk2ZmQ4ZjE3NzY2ZTQ4MjZiMDY5MWIyYmNkNCBsZWdhY3ktdHJ1bmsKKzM5Mzc0IGZlMzIzNWZjZGQ3NzI1MmVkYWU3YmExNDFjNTBjNzRlM2VlNThlMTAgcmVsZWFzZTI0LW1haW50CiszOTM3NSA3Y2FhYmM3NDk5NzU2N2VlYTI4MTRmNjk0MjJmMDQxNDZmYzc2Njk5IGxlZ2FjeS10cnVuaworMzkzNzYgZDVkZjUyMjJmZDZkNTQyYzlhZmI1Y2M2OGI1YTkxZDQyODdjYzAyMCBsZWdhY3ktdHJ1bmsKKzM5Mzc3IDE2NTIwZmNjMDYwOTUwY2IwZjZhM2VhNTgwNDE3OWUwMmJhZjA5ZTggbGVnYWN5LXRydW5rCiszOTM3OCA1NWUyNzU5ZDAyMTEzNzI0OWYxYWY0Y2M1NzQ2ODdjZjVhOWRjOTcxIHJlbGVhc2UyNC1tYWludAorMzkzNzkgMjQ1ZThmNGNiYTFkYjI0ODZhNGE0YmRlMzE0NGJjZTQ5Nzc3N2M4NiBsZWdhY3ktdHJ1bmsKKzM5MzgwIGUwYmQ2ZjMyNGZkNmExZDI5NWM3NTYwNjNkNjA4Yzg1ZDk3OGEwM2QgbGVnYWN5LXRydW5rCiszOTM4MSAxYjdjNGZiZWUwYjhiZTEwZjMwODgyMDdmOWFhZTJkZDU3NGI4MzA0IHJlbGVhc2UyNC1tYWludAorMzkzODIgYzFmMGYxNzA5MzZkNTU3MmI0YTZlNzVkZjQ2Nzc1OGJlMTBiZWQzZCBsZWdhY3ktdHJ1bmsKKzM5MzgzIDEzMGI2Y2U5YmJmM2RjMTI3NjA4NWRmMmZkMTQ2OGVmNTBhYTcxMjUgbGVnYWN5LXRydW5rCiszOTM4NCBlZGRjZTQwZWQxYjE2ZTE3ZDYyNzBhZmJmYjQ3ZDE5ZDE3ZmNlYmU1IHJlbGVhc2UyNC1tYWludAorMzkzODUgN2QzZThjMmFlMzM5MTMyZTg2Y2JhZGM5YTc0NGZmZGE5Yzc0M2JmZCBsZWdhY3ktdHJ1bmsKKzM5Mzg2IDlkMzQzYmM4MTg2MzgxNmI1YjYxZGE1N2IyZjE2NTNmNWM5Y2IxZjQgbGVnYWN5LXRydW5rCiszOTM4NyA0YTUwNzc4NzNjYmEwYmJhOTlmZjhiZWZjZjZiYWQ3NjM1OGFjYmI5IHJlbGVhc2UyNC1tYWludAorMzkzODggM2QwM2QyY2JlMWFkMTZkZTU5NGYxOTZkYTljZGI1ZjY3ZjIwZDhlYyBsZWdhY3ktdHJ1bmsKKzM5Mzg5IDY1MjM4YzlhN2E2NjAxMDgwZDA1YTY4NjA3NzA2MDJlZjYyMzc4NTkgbGVnYWN5LXRydW5rCiszOTM5MCAxNzA3Yzk0NWQ2YzI0ZGQwODc3OWQ2ZjNjZTgxOWFjNzJkNmE5MWQyIHJlbGVhc2UyNC1tYWludAorMzkzOTEgNTk1NDUxYzJjOGVjZGM5OWM0MDY4MTEzNzdmMTE1NWVlZGVkZGM3YiBsZWdhY3ktdHJ1bmsKKzM5MzkyIGExNzAxMjM0NWFmNmFhMjlmMGMwNWNjMDIwNWFlNDhjMDgwZWJlNmYgbGVnYWN5LXRydW5rCiszOTM5MyBkMGU4NjU3NmYwYjVkZjU3OTg5YzhhNjI5Y2NiYThmMmFlZTYzZjY1IHJlbGVhc2UyNC1tYWludAorMzkzOTQgNDQ2MTI1OTM0NzFjOTYwYjczNGYzOWUyZTY4NjZkYjlkY2UwNGM3ZSBsZWdhY3ktdHJ1bmsKKzM5Mzk1IGNiNDk5YWVlMzZlNzhhY2JmYTdlMmE4NWUyNjIzYjhlZGQxZTk5YzkgcmVsZWFzZTI0LW1haW50CiszOTM5NiA3YTBkMGI0Yzg3ZDA2NDUxMTU2MDk5MmFmODg0NWQ0YThjZWEyZWJmIGxlZ2FjeS10cnVuaworMzkzOTcgNTgyYzkwZGVkYTlkZmUzMDQyNWNhNmRhMDVhNjVkNWIyYzUzM2QxZCByZWxlYXNlMjQtbWFpbnQKKzM5Mzk4IDA5OTkyOTBjNjc1ODhhMTAyNWFjZmNhNzViNDExNjlhMTZlZDMyN2EgbGVnYWN5LXRydW5rCiszOTM5OSA1MzE2ODY4NTRmMDg2ZWEzNjBlZGViZDJlNWJiMjRiZDgyMjRjNDI1IHJlbGVhc2UyNC1tYWludAorMzk0MDAgMWZkZmQwMTMwZTI4MTkyMTM4ZWZlMGQzMjdjOTY3YjE2NmJkOTEzYiBsZWdhY3ktdHJ1bmsKKzM5NDAxIDk3Yzk3MTk0ZTY0YmI4NzIzZTYyODMwOWJkZjAxZTdjMTcxZjY2MTkgcmVsZWFzZTI0LW1haW50CiszOTQwMiAzNjUxNGI5NTAwMmFiMWQ1OTJmMDU2YmY5Njg4ZGFkZjgxYWNjMjA5IGxlZ2FjeS10cnVuaworMzk0MDMgNTlhNjNiMDlhNGMyNjllNTI2NzVhZTMzNTdhYjhlMzliMGI2YWU3OSByZWxlYXNlMjQtbWFpbnQKKzM5NDA0IDM4NTVhOTYwYTZhYTk2Y2E5ZWM4NTlmZTlhMTIxMDc5MWI2Mjg1OGEgbGVnYWN5LXRydW5rCiszOTQwNSA5YTgzNzM4MGMzYzVmMTI3YTE3OGRiNmQwNjIyZThiYzczMDAwYzA2IGxlZ2FjeS10cnVuaworMzk0MDYgOGEzZDdmOWYwMmNjMmZlMWQxNWYzNmUzZWQwNDNmZjQzYjMwMzM0NyByZWxlYXNlMjQtbWFpbnQKKzM5NDA3IGNmY2MyNjQxYTkxMDk4MGQzMmI4NzJlZDhiMzg5M2IyZmFlYmY4YzYgbGVnYWN5LXRydW5rCiszOTQwOCA5ZDQxYWZhNjNiNzk1MzEzM2U0NjRlZjAwNjJiNGYxMDk4NzViZmEwIHJlbGVhc2UyNC1tYWludAorMzk0MDkgMzhlNTg4ZDFkODg1M2I4YTQ5YmQzOWViNTYwZjZjNmU5Mzg2MmFhMSByZWxlYXNlMjQtbWFpbnQKKzM5NDEwIDA4NTI4ZmJkNDgwNDlmYmNlZGQ0Y2ViNmYzMWE2NTQ4ODc2ZTY4ZmQgcmVsZWFzZTI0LW1haW50CiszOTQxMSA5YmU5MmZlOGE3YTgxMDEyMGU1NTA0Y2QxOTBkNTY0ZWZiZTU4OTc2IGxlZ2FjeS10cnVuaworMzk0MTIgMDM1NDA5ZWYwOTAxMWY1NWI1NmRlZWIyZTk2NzBjNDM5N2FjZTVjZSBsZWdhY3ktdHJ1bmsKKzM5NDEzIDI1NmU3Mzg0ZjI0ZGJkMzMzY2IzNWQyYmI5YmJiOTAxNzE2ODEyNTYgbGVnYWN5LXRydW5rCiszOTQxNCAxMzEyOTQ2ZjMyYWI1Y2UxMTczYTVlMmFmMWI0Mjg2NGVjNmQxYmQwIHJlbGVhc2UyNC1tYWludAorMzk0MTUgYWRlZGE5ZmIzNDg1ZDY3NGM3MGNkMjAyNjdlZTA4YTA2NmRlYzZjMyBsZWdhY3ktdHJ1bmsKKzM5NDE2IDNlNWMwN2ZhYWIxMTEzOTliMjQwMmNlOWNlNWJjYjc3MWVhNmM1NjggbGVnYWN5LXRydW5rCiszOTQxNyA1MjMzZDE5ZmY4N2YyNzdmMWQyNjQ4NTQyZjVjNTE5OGVhM2VlNmRjIGFzdC1icmFuY2gKKzM5NDE4IDcyZDNhZDA4YjJjNjIwYmFhNjYwY2RiMWY0YTljNGNjYWNmYjM4M2QgYXN0LWJyYW5jaAorMzk0MTkgNjllYWI4NTE3NGZiYTNkODYyY2Y2MDZiOTI4YTU3NmI3ODk5NGRmYSBhc3QtYnJhbmNoCiszOTQyMCAzM2Y2NjJmNjc5NWYzM2ExZTE5Yzc5NDcwNmZiMDJkNmMzOGUyNjdkIGFzdC1icmFuY2gKKzM5NDIxIDcxM2NjZmY3MWZkZmU0YjcwMzIzM2VmMmZjZjYwNThlMzk2ODQyMjkgYXN0LWJyYW5jaAorMzk0MjIgODU5NjBjYTRmYzA4OWU5YTE2ZjRiYTkzYjY2MDUwOWNmOTEzYzM1ZCBsZWdhY3ktdHJ1bmsKKzM5NDIzIGRiYTFlMmRmZDhkZWE3ODQ1ZWJiOWNkNzJjZDM2NTgzNmFmZGQyNjcgcmVsZWFzZTI0LW1haW50CiszOTQyNCAyMDBlMmVmNGRiZGM2NDNjNDdmNDU0ZjY5MTEzNzVjZDNiNDI3MTI4IHJlbGVhc2UyNC1tYWludAorMzk0MjQgMGY0MDVhMWM1MzQwNTQ5NDI2NGY5N2I0ZGRlODJlZTFhNjg5MDRjMSBsZWdhY3ktdHJ1bmsKKzM5NDI1IGFhYTM2NDZmNDU2NzEyNmIwMGI0NDIxMmZkYjhjZDkyZDYyMTcyNWUgbGVnYWN5LXRydW5rCiszOTQyNiAwMjM0Yzg0YTdkOGRhODI2YTI1MTc0ZDgyMTY1OTZkMTliYzZmZmY5IGFzdC1icmFuY2gKKzM5NDI3IGU1MmVkODc4YzVlZTBhZGUyMDdjZDI5ZTk0ZjQ0NjMwYjQ2OGIxZjMgYXN0LWJyYW5jaAorMzk0MjggNDk2ZDI5YjBiYTViYmFmNjM5NmNiMjI5YzlhMTBkYTBiOTg2OTAwZiBsZWdhY3ktdHJ1bmsKKzM5NDI5IDExZTE1ZjdhYjk0MDZlZWM1YzYyYWQxYzQ2ZjJhNWEzMTU5MWQzZjUgcmVsZWFzZTI0LW1haW50CiszOTQzMCBkOTJmMGVkNmE3ZjJmOWQ3ZWViNWI3YzM1YjAzNTZlOGRjMmQyMDRjIGxlZ2FjeS10cnVuaworMzk0MzEgYTg0Y2RhYmI4YWYwNmRhYmQ5N2U5Mzk0OGExNGFmYjYzYzcyOWY1YyBsZWdhY3ktdHJ1bmsKKzM5NDMyIDg5ZThhNWVjM2RhMDU3N2I3MmIxNGRhNGMzZDI3Zjk4MGUxYTc4YzEgcmVsZWFzZTI0LW1haW50CiszOTQzMyA2NzYzYzkxZmNmZWY0MDk5ZTljNDZiZjVmZmMyZTQyZTk1NGZkNGIwIGxlZ2FjeS10cnVuaworMzk0MzQgYmFlZDhiN2RlYjU2ZDFjOTVhZDk0MGM1NWI5MDFjYzNlOTA3YWM5YyBsZWdhY3ktdHJ1bmsKKzM5NDM1IDliMjEwNDAxMWY3MDI2YTVjYzk2MWUwZjVlZTEyOGIxMmQ2MTEyYjQgcmVsZWFzZTI0LW1haW50CiszOTQzNiBiYjY3NzA3OWY4MjdjZTIwMTY1YWEwY2NmMzEwZGRjNmIzMGZhMGRlIGxlZ2FjeS10cnVuaworMzk0MzcgMGU4OTY0ZjUzNzMyYmRjOTIwYzZjZjEwZWUyOWE5YzFiYjljNWYzMyBhc3QtYnJhbmNoCiszOTQzOCA1MTZlZDYwYThmOWNhZjY3MGYzZDA5NzE4M2ZlZTQxNTA0NThlYmEzIGFzdC1icmFuY2gKKzM5NDM5IDYwNjFhYWE0NGViYzUzNWU0OWI2YjgzNzJiMzkxNDgxNDU0Y2NjNzYgYXN0LWJyYW5jaAorMzk0NDAgZDMzMmIyMTY4Y2IyNDcyNjlhNDZmYzZhNWZhYmFjZmQ3MzZhNDM1OCBhc3QtYnJhbmNoCiszOTQ0MSBjZDdkNmM2ZjJkYjIxNzU0ZTJiMjAzOTc3YjI0NTdlMjQ5ZWEzZWYzIGFzdC1icmFuY2gKKzM5NDQyIGUxNThmMWUxN2FiNGI3MTU5YWMxZmVmNjFhNTY4MjZmZjk1YjdjZmQgYXN0LWJyYW5jaAorMzk0NDMgMDZlZmVlYzc0ZDU5YTUyMTI0OTg4N2E4ZWI3ZDczZjUwMDJlZjExYSBhc3QtYnJhbmNoCiszOTQ0NCAzNDM4ZWViYTU4YzM4YThmZDM2NjM0Y2VkNjAzYjM1ZTRiZTY5ZTNlIGxlZ2FjeS10cnVuaworMzk0NDUgODFhMDZhOWExYWM0N2M0OTdiOWM4Yzg2MzE1MDQ3YTgzMDM2NGY1ZiBsZWdhY3ktdHJ1bmsKKzM5NDQ2IGFiM2RkYmJkMDg2MmM4ZjQzZWY3MTNjODRmMDcyNjhjYTlkNmZmNjUgbGVnYWN5LXRydW5rCiszOTQ0NyBiYmY4MTU3ZDAzOTg0ZTk2YTlhODY3ODg5ODgwNWZlYTI3MTk5MzU5IHJlbGVhc2UyNC1tYWludAorMzk0NDggNGZjN2E3ZWRjYjRiNmFmYmM5NDI0MTk2YTEzMDJkMGY1MTVkMDFhOCBsZWdhY3ktdHJ1bmsKKzM5NDQ5IDZiOGM1NTg3Nzc1NWM3ZmRlZTA1NDM0YTZlOTg5MWMxODZiYjVmMDQgcmVsZWFzZTI0LW1haW50CiszOTQ1MCAxYTNjZjk2YzhkNDY0YmQ1NDU0ODkyZDY0NzUwZTFmMWU2MjNhNmQxIHJlbGVhc2UyNC1tYWludAorMzk0NTEgYmNkOTgxMTIzNWQ0OTYyYmUwNGZiNmQ4NzU5OTU5OWM4ODc5N2JhMSBhc3QtYnJhbmNoCiszOTQ1MiBhMTU5NTg0ZGI2NWMxMzQxNTdkNTYxMjhiMGYwMzM3ODFiNTVhZThhIGFzdC1icmFuY2gKKzM5NDUzIGJhODQ0YmQ3YTMyYjZiYjY1MTA1MzFhNjNhYjBkYzAwMjkwOGQ2NjggYXN0LWJyYW5jaAorMzk0NTQgNDY4MWE4ZmE0NmQwNmVjZmM3YTRjNjc3NDRmZDM1ODBjY2RjNDU4ZiBsZWdhY3ktdHJ1bmsKKzM5NDU1IGNlNWI3NTMyNTIwYTg3ZDk0Njc0MDM5NjFmNmI5ODhiM2E0NDk3NDkgbGVnYWN5LXRydW5rCiszOTQ1NiAwZWFlNTIxOWYzYjgyNGQwZmU2MjdhMWQ3ZGE0NzM3YWJlNDg4ODQ1IGxlZ2FjeS10cnVuaworMzk0NTcgM2U2MjEyMTEzZTgyYTBkY2JiMDllOWUwOTU5NTcyMmY2NTUxNTA0MiByZWxlYXNlMjQtbWFpbnQKKzM5NDU4IGExODVkNjk2MzBiMzhhMjc4Y2M3NDY1MDMxMmNkMWJkYThiOGRlZWUgcmVsZWFzZTIzLW1haW50CiszOTQ1OSBjMzUzYzI3ODJhZTE1OTVkNWU0NzU0Nzk4MmQwNDQ5MjI3MzVhZmRkIHJlbGVhc2UyMy1tYWludAorMzk0NjAgOTdkYzhmMDZjNGZhYjdkOTU0YWI1M2Q2MjAwMDA0ZDkzNzBhNjMwNSByZWxlYXNlMjMtbWFpbnQKKzM5NDYxIDBiY2IzMDNiMzQxYjY2NGI5ZTE2NTRjNGQ1YThhYzVlMGMzZTE0ZmUgbGVnYWN5LXRydW5rCiszOTQ2MiAwZmU4MTE3Yjc2MWQ3NGFkMWEyZWY3MjA0OGZmNTFhYjM0Y2FjZDNlIGxlZ2FjeS10cnVuaworMzk0NjMgZmUwY2E2MDQ4MjY3MDI3NzIyY2IxNmQ4MTdhMzhmZDhhYjNjZjhjYiBhc3QtYnJhbmNoCiszOTQ2NCAwNzk1NmQ0YThlNGFiYmRkNzVjMWY2YWMzZjM4Y2VkN2Q1MWY1Zjg0IGFzdC1icmFuY2gKKzM5NDY1IDEyOWFiMjJjNGIxOWE5Y2E0ZDE5ZTdjZTI5NWU3OWJkNTNmMWM3OTcgYXN0LWJyYW5jaAorMzk0NjYgZjU0ZTUwYzUzYTcyZDM5YzZhZGQ3ZjYzYjliMzE1NzQ4ODY1MjUyMyBsZWdhY3ktdHJ1bmsKKzM5NDY3IGM4OTNjYWViMTEzNzA1NzljYTYzNjQ4MzhlMzFlMjE1ODg0M2EyNjEgbGVnYWN5LXRydW5rCiszOTQ2OCAyMmE0MDkzYjUxNTFjNjliODczOTVjZWMyNjlhYzA2ZjZmYWNjY2NjIGFzdC1icmFuY2gKKzM5NDY5IGRhZjMzOGVjZGNjYzZiZjYxMGEzZjY0NjgyYzczMGQ0NDYyNmUxMTQgYXN0LWJyYW5jaAorMzk0NzAgYjcyMDEwNGI3ZGI5MTY1YTAzOGE1NTM3OGIxZTdmNDUzZmZhZDI1YSBsZWdhY3ktdHJ1bmsKKzM5NDcxIGJhNDRlOWUyYjU1NDcyOWY3MjBjZGQ3Y2NjZWY5ZWEwMGNiMjM5YTMgcmVsZWFzZTI0LW1haW50CiszOTQ3MiA4ZmE4M2E5ZWJjNmVjY2VjZWJiOWQwOTVhMTU5MWFmNzBiZGU2NGM1IGxlZ2FjeS10cnVuaworMzk0NzMgZWQ2NWUwYWQyMjE1OTViNzgyOTY0NGY0Mjk1OWQ5M2ExZDRkYjU4ZiBsZWdhY3ktdHJ1bmsKKzM5NDc0IDc3MTg0N2NiZTNiNmNiNjg2MDI0NDdhZDA3YWZjMGJiOGExYzVlYTUgcmVsZWFzZTI0LW1haW50CiszOTQ3NSBmNjNlNjk2MGM1Y2ZiZTI2YjFiNTlhZjFhYTIyMTliZmE4ZWFlZGMyIGxlZ2FjeS10cnVuaworMzk0NzYgMGI3ZmE2ZjA1NTJhYmU5MDUxZWU0ZjRjMzNjZGNmNjQ3OWU2MTE3MiBsZWdhY3ktdHJ1bmsKKzM5NDc3IDI2YmEzZDRmNGZjNDE1NTdmZDI2ZTNkZmVjMmQzZjZhZmE4YzE5N2UgbGVnYWN5LXRydW5rCiszOTQ3OCBhNTc4MDAyYzhmNjU5OTIyMGQwYmFhMGI2MDM4OGJmYzdlYjhhY2U5IGxlZ2FjeS10cnVuaworMzk0NzkgMTVhODk3NWY3ZmE5M2Q1YTA2OGY3ZTJiZmI0YjI2NGE0N2IwOTU0NiByZWxlYXNlMjQtbWFpbnQKKzM5NDgwIDFmMmFmMjU5OTY4YjQ1NWQ0MGIzNWFkN2M0NTE0ZWNlNDM4Y2U3OTYgbGVnYWN5LXRydW5rCiszOTQ4MSAwYTI4ZDQ4NjM2Yzg2NDNmZGZjZmM4YjcyMDUxNzUxOTBjY2EzMzYwIHJlbGVhc2UyNC1tYWludAorMzk0ODIgNWQ1ODQ0M2Y0ODliNGZkMjkxMGE0MGYwMWRhMzU2YTViMTBiZjE3MCBsZWdhY3ktdHJ1bmsKKzM5NDgzIGU3ZmQ4NTU1MGJjMGI1OWI4Zjk2NmVhMmVmNWU5YWU0MzNlMjA5NDEgbGVnYWN5LXRydW5rCiszOTQ4NCA5NTE2YmE1NGI5ZGY0NDc1N2RlNDgyOGJiZmEyN2I0MDZiMDAwODYwIGxlZ2FjeS10cnVuaworMzk0ODUgNWRiMjczMTVlZGNmZmE1YTY4ZWI3YTE5Y2UxNWQ4M2Y0ZTgxNDc5NCBsZWdhY3ktdHJ1bmsKKzM5NDg2IDRhYmFmNjkyMzQzNzE5NGRiYzYzMjBhZjZhNTEyZWVmNDM0ZmVlYzIgcmVsZWFzZTI0LW1haW50CiszOTQ4NyBjZWFjMDI3Nzg1MjM0OWJlNjU4OWMxM2RhY2JiMGVlY2EwOTk1YzVhIHJlbGVhc2UyNC1tYWludAorMzk0ODggZGUxYzVkMTdmZGU2YzYzMGU5ZjUwYWFhNWY0NjFlZGVmMzA2MzllYyBsZWdhY3ktdHJ1bmsKKzM5NDg5IDQzNmJlMmM4OTE0MDJmNGRjZWQzZmQ5NjYyNzA1MWU5ZjQ5NTlkYjEgcmVsZWFzZTI0LW1haW50CiszOTQ5MCA3ZGQ0MzE3NTBiZDM2NWZkNWQzNzExZDQzNzA2M2U3NzUzYTFiMDgzIGxlZ2FjeS10cnVuaworMzk0OTEgZWNkNjFjOTJhZGYzMTYyZTYzMTAyNzNmZjhlZTM2NzcxOTM4MzA5NyByZWxlYXNlMjQtbWFpbnQKKzM5NDkyIDk1MjFlMzgwMzgwZjBlYTNlYzQzM2UyZmJiNWVmZDlhY2E1NjUyNmMgbGVnYWN5LXRydW5rCiszOTQ5MyA2YmRlNmNkMjM5NTRjNzEyNTczNTRhYjMyMzJhNzk4MWUwOGE5ZDBiIGxlZ2FjeS10cnVuaworMzk0OTQgMTdiMWRmZDNjYmJiZDMzZmVjMTY2YjllOTg0NzIxY2U2NDBlZjZmZiByZWxlYXNlMjQtbWFpbnQKKzM5NDk1IGNjOTQxNmVlNThlMTlmMjgyYWJkNGMxMWMyNTgxYTcyYzhjMTM0ODQgbGVnYWN5LXRydW5rCiszOTQ5NiBmNzM3OGU5N2I2NmEyNDc4N2NkNjdiN2RhNWZiZDVhMmQ5YjgwNGIwIHJlbGVhc2UyNC1tYWludAorMzk0OTcgZTczYWNjZjNlZGRiNGEzMmY5Y2M2NTE1MGE4YWZkMjQ2MDRkMzdiNyBsZWdhY3ktdHJ1bmsKKzM5NDk4IDMzNmI2NjRhMjIxMGU5MmQ5NGJlMWQ5NmIzMzM4YTFiNzBmNWE3YjkgbGVnYWN5LXRydW5rCiszOTQ5OSA1ODI0MTMwYjdhYzM1MGZmMjdkZGFkYTU5MGFhMTc0M2YzODE3NDExIGxlZ2FjeS10cnVuaworMzk1MDAgYTdjY2NjMzkxMjI4MDIyYTgyYjcyMTAzZjllYzQ2OGQ2MGVhNGU2OCBsZWdhY3ktdHJ1bmsKKzM5NTAxIGRjODUzODg0NWIwYzg5MGVhNzkyNzU0YjRmNTJkYjRjOTk0OTA3MmEgbGVnYWN5LXRydW5rCiszOTUwMiAzNjNlNmRkMDc5ZmNhYzM5N2YzZTlkMTM2YmIzNTNjYjI3ZTM0MDZjIGxlZ2FjeS10cnVuaworMzk1MDMgMzlkYmUzYmUzMjdhYWFmYzdiYTRjOTg0OGE4ZmE1MjUyODNkOGQzZCBsZWdhY3ktdHJ1bmsKKzM5NTA0IGQ1MDRhMzAyYmY1M2UzYTNkYWNiNGNlZDk0YzcxMDhlMGVjZjkxZTcgbGVnYWN5LXRydW5rCiszOTUwNSBmMTdlZDNiNjJhZGFiMTU2Njk0NzgzNzhiMGQwODFjY2FkNGQyOWYzIGxlZ2FjeS10cnVuaworMzk1MDYgZWE1M2U3ZDk4YjAwNmFhMjM5ZjkzMzQzMTczNTgyNWFmZGUzNTY5NyByZWxlYXNlMjQtbWFpbnQKKzM5NTA3IGZhNzM3NjVlOGVmNTFkODU3MzY5YWYxYzM3NTlmYzEwZDI4NGZhN2YgbGVnYWN5LXRydW5rCiszOTUwOCA0NmYwYTQ0ZjQ5ZTY0M2ZlN2NhMmMyYWQzNWU3NTBkZmU2OTA4Y2M2IGxlZ2FjeS10cnVuaworMzk1MDkgOTY2ZGVhYzE1YTg5MGRmNzNhMGU2ZTUwYmI1ODYyNzhiZjhjYjg0ZSBsZWdhY3ktdHJ1bmsKKzM5NTEwIDg3NTczOWQ3MmZjMWM3Yjk4NmVlNjA1ZGU1Yzc5NWI0MGUyYTFhYTggbGVnYWN5LXRydW5rCiszOTUxMSBjMGQ2YmFlMzViNGU3OGZhMjBmNzdmMzE2MzdkZjJhYjc1NGNkMGFkIHJlbGVhc2UyNC1tYWludAorMzk1MTIgZTQxZmRhOWYwZmQxMDMzY2YxOTFhOGFkZWZiNGIxMjdhMjAxNzE0OCBsZWdhY3ktdHJ1bmsKKzM5NTEzIDdkMGE1YWMyNDY2OWFiNmJlNDcwYWQ5OWFjNzFkYjhhMGExNGZmYTAgbGVnYWN5LXRydW5rCiszOTUxNCA4MTI1OTAwOWJhMmM4ZjAyNDExMWM3MzA4YmM3NzQ3NmU1NDcwODQ1IGxlZ2FjeS10cnVuaworMzk1MTUgMjUzNzhiZGIxYjNhMGRhOGNkZGNlZjQyMDgwN2NmOTRlMDZmOWUzOCByZWxlYXNlMjQtbWFpbnQKKzM5NTE2IGFjZmMwZTIyY2Q4ZmM1OGU2YjIyMjZhNjZkZTBkZWExMjc5YTJlYzIgbGVnYWN5LXRydW5rCiszOTUxNyA3NmUyOTVlYTUxNTJjOTg0NmYxZTA5NjczYWU0NzI3NzliNjY4YTY0IHJlbGVhc2UyNC1tYWludAorMzk1MTggMTFhMjY1MGU4NTY4ZGMwYTc1MWJkYTZiODRkN2QwNTZmMDEzMDI4YyByZWxlYXNlMjQtbWFpbnQKKzM5NTE5IGJiYmI3ZGRhMzJmM2VlMDg1OWI4NjIzM2JmNmYzN2Y1N2NiMjVhZDEgbGVnYWN5LXRydW5rCiszOTUyMCBkNzlhZjA2NTExNTUwNmZiZDMwODNlYjA4MzIzNDFmM2ViNTk1ZTA1IGxlZ2FjeS10cnVuaworMzk1MjEgYjE5Y2Y3M2M1NGE3ODAwMWQ2ZDZkNWExM2RmYjA1ZDk3YTcxYjJhMSByZWxlYXNlMjQtbWFpbnQKKzM5NTIyIDcyNGJiZDQ4OWFkNDcyN2U5MDUyYzY5YjU2MzQxYjJiNWIyY2QyYTkgbGVnYWN5LXRydW5rCiszOTUyMyA1N2Y2MzBhOWRlMjYxOTYxNmYyYjIwYWUxYzM1N2ZiNDNlMDEyODUyIHJlbGVhc2UyNC1tYWludAorMzk1MjQgOWI3ZDExN2ViNGJjOTZkY2NhNzRjNmM4Y2VlOGFiYzkxODQ5MTkyZSBsZWdhY3ktdHJ1bmsKKzM5NTI1IDExNzQ0ZjdiYjQ3YTgyZDc4YjM2OWY5YmUzN2U2ZjczMDBjMjllYWUgcmVsZWFzZTI0LW1haW50CiszOTUyNiA2OGFkNTJiMDQ0NWJkYjdmMjI4YWVjNzcxY2Y3ODM4YjUxMzMzOTQ3IGxlZ2FjeS10cnVuaworMzk1MjcgNDE0MTNmMjMzNDViNGY3NWUwNDU2NzE0ODBiODA5Y2QyYTNkOTZjYSByZWxlYXNlMjQtbWFpbnQKKzM5NTI4IDhhNmM5OWY4NjVlYmQzOWNmZTc5YzUwZWFkZjg0MTU5OTRmMWRiNWQgbGVnYWN5LXRydW5rCiszOTUyOSA4YWQ5YTJmYThlYjJhNjA3OGY5NmFmMzBjODNlMmM1NTlkYWIxZWVkIHJlbGVhc2UyNC1tYWludAorMzk1MzAgYmZiZTJjOWIxMjE1OThiNmU1YTNmYzE1ODI3ZjIwNDE0NDBlNzQxYyBsZWdhY3ktdHJ1bmsKKzM5NTMxIGYyMzVlOGVmMGQ1NjkwNGZlMjA0YWRhYmE3Mzc1ZGQ3MjcyYTYyZmMgcmVsZWFzZTI0LW1haW50CiszOTUzMiAwN2VhZjYwZjc1NjUwYjE3MGYzNWQzOWI5M2FlNWYxZGEyOWFkYmUwIGxlZ2FjeS10cnVuaworMzk1MzMgYjhkMWI0NTI5MjA3MTE2MzM2OGI1N2NjZTcxYjQwYzNlMzc5MzBlMSByZWxlYXNlMjQtbWFpbnQKKzM5NTM0IGFjODgwNDRjZGU0ODZiMDBhM2U0NzhkNzc4NWI3ZmQ3YWQzMmJkZjggbGVnYWN5LXRydW5rCiszOTUzNSBkZmFiZjBjN2YxYWRmZDE3YzQ1MjZjZjJiZDljYTNkY2I4MDJmYjg3IHJlbGVhc2UyNC1tYWludAorMzk1MzYgYzg2NTU4ODVlNDA2NWQzNTUzMzgzNDkwOTA5MTNmODVjYWZmZGYzNSByZWxlYXNlMjQtbWFpbnQKKzM5NTM3IDZkYmZiZWU1ODVjYzgzZmUzMzIzMjY0NmM2ZDc4YThjYTg0YmI1YmUgcmVsZWFzZTI0LW1haW50CiszOTUzOCAxNTJhZTcxOTNjOWE3N2VhMmJhMGM4N2M0Yzc0NzYwZDgwYmU2MDU5IHJlbGVhc2UyNC1tYWludAorMzk1MzkgZmEwODgxZmQ0OWI3YTk1MDVlMTc2OTY1Y2ZhN2E3Yzg2NDcwNDkyNiBsZWdhY3ktdHJ1bmsKKzM5NTQwIDhiYWQxYmZjMzMxOTkyYzhlMWYzNDllZDUyYmE5ZTE2NDVmOTliMTEgcmVsZWFzZTI0LW1haW50CiszOTU0MSAyNjkxY2JkYWU1OWJmMzU2MTdmMWEzMzY4MDUwNjNlZGZhZjRjMjdmIHJlbGVhc2UyNC1tYWludAorMzk1NDIgOTA5MzBkMmQwYzE5MTA3NmEyYTAyN2Q1OWRkN2YyN2VmMzM0OTViZiBsZWdhY3ktdHJ1bmsKKzM5NTQzIDM1YzQzNjc0MDgzYTlhMzQxMzNlN2EwZmEyNGYzMTIyNzQ0MWIxZDMgcmVsZWFzZTI0LW1haW50CiszOTU0NCAxYjI1ZmU4ODM0YWVmZDdlY2JlY2RiOTAwM2M0MjY4NDk3YjU5YWJjIGxlZ2FjeS10cnVuaworMzk1NDUgZmQ1MWNlOGQzNWFiNGZkNDJhZjVlZmY2MWQwMmRjYzI3MGI0NDNjMSByZWxlYXNlMjQtbWFpbnQKKzM5NTQ2IGNkMzEwMjdhNzE2N2EzNzU0OGYyODU2NzljNWM5NjdhMGJiZWFjNmUgbGVnYWN5LXRydW5rCiszOTU0NyBkM2FlNzkzMGNiOTM5NTMzZmNmZmQ0NGQxNjk1ZDkzNjJlZDBhNGM3IHJlbGVhc2UyNC1tYWludAorMzk1NDggNzNmZTIxNjNmMGIzMGQzM2EwMjZjOGJhNmQyNTI5MGVhNTI1OTA2MiByZWxlYXNlMjQtbWFpbnQKKzM5NTQ5IDVhNmM0ODNlZDY4OWY0MTA1ODc4NDI4ODIwN2ViOTkwZGEzMTA0NmMgcmVsZWFzZTI0LW1haW50CiszOTU1MCBjMjhkMGVkODZmZjA1OGI5ODEwMGU2Yjc3MTMwNGQ0MmQxMTUxNjk4IGxlZ2FjeS10cnVuaworMzk1NTEgOGVmNTAwYzQ1MDZjNzJiNzRiZjlmYTA1MDBhOTU5ZmRkM2Q1MGZmNSBsZWdhY3ktdHJ1bmsKKzM5NTUyIGY0YzJjNjFjYjU2MDk1OTUyOTk0MTI3MmUxODBkZTQ2MzI2MWUyNWMgcmVsZWFzZTI0LW1haW50CiszOTU1MyAzNzg1OWM2YWQ1YmI1ZjdlYmFkMTlhMTY5ZDk4ZGVhNDI2YzEyMTUyIGxlZ2FjeS10cnVuaworMzk1NTQgNTJjNjVkNzNmYjc0MDE5ZjZmOWFiNTQ3YzBmYjE4NTEwOWIyYjBiZiBsZWdhY3ktdHJ1bmsKKzM5NTU1IDA5OGVhMWUxOGU4ZDk3NjA0ZDhmNmYxOGQwYWY5ZGExYThhMzViOTAgcmVsZWFzZTI0LW1haW50CiszOTU1NiAwYWUzMDcyMTI3NTUwYWUyNGI3NDJmMWIzMmJjZDFjNDE1MmIxMmZiIHJlbGVhc2UyNC1tYWludAorMzk1NTcgMGRhMzk3NWZiMGJiZmNmNzgyZDhjMGY2N2U2NWU1MDJiMTA2YTc0NyByZWxlYXNlMjQtbWFpbnQKKzM5NTU4IGU2MTE5ZDU3N2NkMzVmZDhkNTM4NWU1MGNjMWZkYWJlNGNiZTQ3OTUgbGVnYWN5LXRydW5rCiszOTU1OSAwMmE4YzA2NDNmNWJjZTI2NmJlYWI3NTBhYjkxYzcwMzZlZjc4MTdjIGxlZ2FjeS10cnVuaworMzk1NjAgMWNmMTcwMzdhMmNhOGM3NTgxNzdjYjdkYWExNDFhMDM4YTQ2MTgyMyByZWxlYXNlMjQtbWFpbnQKKzM5NTYxIDVmMjc4NTcyMmNiYWQwMzk0MWEyMTY3NzE2N2M3OTZmNzNmM2ZlYTIgbGVnYWN5LXRydW5rCiszOTU2MiA0ODA2Y2IwMDlhOWNlNjIzY2VmOGMxYTExYWE5ODAxM2QzNDFhNjAyIHJlbGVhc2UyNC1tYWludAorMzk1NjMgOWEyZTIwMzE4YzlmNWZiZGI3OGE5MTk0NGFmMDg4ZDllZmNjZDNhZCByZWxlYXNlMjQtbWFpbnQKKzM5NTY0IDYyMDk5MmFhMGE5ZWY1ODNkMzZiZjkzYzRjMTE5Y2RjMjgyZWEwOTcgbGVnYWN5LXRydW5rCiszOTU2NSBiNjhiMTM1YjQ1NTI2MWQyODI5OTcwN2M2NmU1MzBjZjkwODc0OWQ2IHJlbGVhc2UyNC1tYWludAorMzk1NjYgYmNkMDVjZjJkNjFiYTgwY2U5YjU3NGI5Mzg3YTJkYjMyNTUzZjZlNyBsZWdhY3ktdHJ1bmsKKzM5NTY3IDhjY2FkNzMyMzE1Zjg5MmRiNTNiM2RiNTE5ZDc3ZThkMDA0ZTRhY2YgbGVnYWN5LXRydW5rCiszOTU2OCBhZmRhZGQ1NjkxOTcwNWMxZTE5MTk1MWYyYmQ0Y2I1NGEzYjcwNzE3IHJlbGVhc2UyNC1tYWludAorMzk1NjkgNWMwYzA2ZTIyNmVjMDZlYTY0ZjRhOTA2ZDM2OTFlNjA3MDgwOGE3YiBsZWdhY3ktdHJ1bmsKKzM5NTcwIDQwZGRmMzY2ZjVhMTUyZjZiZDIwZTk4MjA5MjE5MjliZDkyY2YzNDEgbGVnYWN5LXRydW5rCiszOTU3MSA5Yjk5NGM2N2U5MDljMDg2ZjAyNjE3MTFiOTliNjRhNzc0YjkxMDFmIGxlZ2FjeS10cnVuaworMzk1NzIgODczYTFiMmVmZGM3MzY1NzZkYTA0ODQ4MTRjZjY1NjA4OWMwMWNlZCBsZWdhY3ktdHJ1bmsKKzM5NTczIDJjMjgwZTQ2NjFkMGEwNjk0NDRjYTIxMDE0YjVhNGFkNTY2ZmY3YmEgcmVsZWFzZTI0LW1haW50CiszOTU3NCAzOWViNmEyMjFjZjMxMjQyMjFhMTRiMzhlNjNkNDk5MWNmMGNkOGZiIHJlbGVhc2UyNC1tYWludAorMzk1NzUgMjFiYzYyNjJlYjk5MjBhYzhjMmU1N2VhMWUzZjBiZmM3ZGU2YTBhOCByZWxlYXNlMjQtbWFpbnQKKzM5NTc2IDg5Y2YyZTNmZTcyOGE2OGY0YmM2NmZjYTljMGFmNzllMGUwODVhOWEgbGVnYWN5LXRydW5rCiszOTU3NyBmODZjZDI3Nzg2YWIzMTliNzM2NTUxMGI1NjA1MDNmNjY1YTBmYWE2IHJlbGVhc2UyNC1tYWludAorMzk1NzggNzc1NzFmNzFiM2U2N2IwYmYzZjVkODlhNDYzY2JlMzA1MDJiOTMwYSByZWxlYXNlMjQtbWFpbnQKKzM5NTc5IDVhOGJmOGU3ZDAxMDJjMGUwYjFlZmRkODFhZDAwYjcyMDcxZjIxYmUgbGVnYWN5LXRydW5rCiszOTU4MCBhNjcwYTVkZDFmYzZhYTkxN2JiNjJhZDQ1NjA0YzNmY2I2ODNmNDlhIGxlZ2FjeS10cnVuaworMzk1ODEgMjNkZGE5MmRlOTkzOGEyOGZmNTU1ZWM4MTM4Zjk0NDYwYjMxMjA1MSBsZWdhY3ktdHJ1bmsKKzM5NTgyIDFmMjM2ZTU5OGFlOTc2MzFkNGRiNDQ3MjMwMjUwMGZmMzM4NDFjM2IgbGVnYWN5LXRydW5rCiszOTU4MyBhZjNhMDY2MjVhNmU1OWMyZGJmOTJiNDBlYWJiNzRiYzJkNDU2ODFiIGxlZ2FjeS10cnVuaworMzk1ODQgMzVhOTllY2NhY2E2NzkzMjZmNWU1Yzk5MGIzYjlmNmE2OTRjZjliZCBsZWdhY3ktdHJ1bmsKKzM5NTg1IGVjYjc4ODYzYTRlZTdmMzE0MzJiNzlmY2MxNDM2MTQ5YzA1NTBkYzEgcmVsZWFzZTI0LW1haW50CiszOTU4NiA3YjJiOGRiOTgxMzYzMzUwN2NlNTk2NWRmMzg3ZDI0NTViN2UwNGIyIHJlbGVhc2UyNC1tYWludAorMzk1ODcgYzZkN2YxZmU5ZDFlYmU5MWE2YWJiOGYzMjVlMGI4Y2U1OTIwZDhmZiBsZWdhY3ktdHJ1bmsKKzM5NTg4IDkwYmI3MTEyMjI1N2MxMTIzY2VjODliNTUwOWI3YjkyODFlZmNmNDYgcmVsZWFzZTI0LW1haW50CiszOTU4OSA0ZDFiZDlkMGMwMDZkYjY2M2VjZTU3OWM4YTI0MGVlNmJhMzdiMDczIHJlbGVhc2UyNC1tYWludAorMzk1ODkgZDAyZDM4NzU1NGUyMDBiZWZjZWVjOTk5Yjc4OGY0NTkzYjQzNGI0OSByZWxlYXNlMjQtbWFpbnQKKzM5NTkxIDcwOTI3Yzc5OWEyMWUyNmIzYjVjZDBmNmZjMTA1Y2JhZjk3MWNkZjQgbGVnYWN5LXRydW5rCiszOTU5MiA4ZmZlZWRiNjA2ZDMzMGNkZDNhNGQxNmJhNjc2YTFhNmVhMzBiNGNjIHJlbGVhc2UyNC1tYWludAorMzk1OTMgNmYzZDIwOTU1NWViNTVmZjQ4ZjU1YTFkOTQ1ZDRlZmYwYWEyMWU0OCBsZWdhY3ktdHJ1bmsKKzM5NTk0IDcyNjYwYzA4NjZhMTlmMDAzNmU3MjA4MTc5OGJlYmI4ZjZlMWVmMWEgbGVnYWN5LXRydW5rCiszOTU5NSA3NzRiZjlhMzhiMmFiOTQ2NjZjNWZiNjU0ZGE0ZTI0ZTI0YTVjYTM2IGxlZ2FjeS10cnVuaworMzk1OTYgMTdhODJiYTQ1NDUyYWMxYjVhMTJkZTlkZGQ0MzNjZmE2MzlhMzc1ZCByZWxlYXNlMjQtbWFpbnQKKzM5NTk3IDM5OWM0MTE3NmJiNzlhMmYyNDg1YzlkNGEzODA3YThjMjA5NWQ0YTUgcmVsZWFzZTI0LW1haW50CiszOTU5OCBhOTU3NjVmNjkyODI1MWQ4NmYwZDEzNTdlYjQ2NjQxYWM0ODMzOTEyIGxlZ2FjeS10cnVuaworMzk1OTkgNGUwZDJhN2Y1ZjE1NDQxYmRjMTUyZmIxZTBjYTRlMDBhZmZjMDVmNyByZWxlYXNlMjQtbWFpbnQKKzM5NjAwIDc3N2IyOWQ5MTNhNjIyYTJlOTlmODNhN2VlYTIzZWFmYjBmNjcwOWEgcmVsZWFzZTI0LW1haW50CiszOTYwMSA0OTVlN2ZmYWQ3ZThjYzA2NDdiZmUyZGMzMDRlOTBjY2RlZmEzZmMwIGxlZ2FjeS10cnVuaworMzk2MDIgNjg3ZmFhOWNmNmViMDhjMTYyZWUzOTJmNTUwNGY0ODhiYzMyNjYzMCByZWxlYXNlMjQtbWFpbnQKKzM5NjAzIGMyNjBkM2I3ZDU4Mjk4MzA0MDNkMTVmYmQ1NGE3NDQ4OTYwNDhjODkgcmVsZWFzZTI0LW1haW50CiszOTYwNCAwM2NmZGNiYzRkMWYzYTM1M2RjMzg1MDdmYTQwYzJmZjczZDJhMGExIGxlZ2FjeS10cnVuaworMzk2MDUgNDVhYWE0MzZiOTQ1MTI2MDYzMTI0MjIwYmJkNTE4ZWM4ODgzN2NiZCBsZWdhY3ktdHJ1bmsKKzM5NjA2IDMwMjhlMzBhYTgzNTU5MDM1Y2VmMjcyYjQ3ZGJiMGI3ZGJiMDcxMDAgcmVsZWFzZTI0LW1haW50CiszOTYwNyAyN2UxNDI2YjdmMzFkNjQyZTQxMTRhMmZiZjYxM2Q4ZGY2NDg0ZjI0IGxlZ2FjeS10cnVuaworMzk2MDggZTIyMzM0YjFkYTY3ZmIyOTE2ZTY4NmQzYzRkZjljZTYzYjVjOTdmNyBsZWdhY3ktdHJ1bmsKKzM5NjA5IDdkZDRlNmNiOWQyNzUyODNlYzU4MGFiNzFjZmEzYzYxOWUxMGFmZWQgbGVnYWN5LXRydW5rCiszOTYxMCA2OGRiY2JmMDUxNmM1NzY1ODYyMDc5M2UyODQ2M2E3ODIyMDg5OTY1IHJlbGVhc2UyNC1tYWludAorMzk2MTEgZTMxNTY0YzdiZGJmN2EyNmIzZDgzMWFlODA4YWNmYWM1NjE3MTg2MCBsZWdhY3ktdHJ1bmsKKzM5NjEyIDFlN2I3NTUxOTRhNGRkYjc0OTVlNDA4MWNlYTY3N2E5ZjUxMzE0MzYgbGVnYWN5LXRydW5rCiszOTYxMyA0MDdhYzQ5OWE1YTM5MWY2NjBlNGNkNjVhM2RlM2U5ZjE5MmEyNTkyIGxlZ2FjeS10cnVuaworMzk2MTQgZTBhOWY2NmI3MDE0NjcxNmI2YzE3NGVmZmUxNjQzOGRmZGE5ZTQ3MiByZWxlYXNlMjQtbWFpbnQKKzM5NjE1IGFlNTM2ZTY2ZTg2ZjVmMDFjMThjZDQyNWUwMmRmZjY3ZGY3NzFjMzEgcmVsZWFzZTI0LW1haW50CiszOTYxNiBiNjQ2MzljZWEzZWQ4N2ZmZjRlYzBlNGE5MmI2ZTQzMTViYmI3Y2NkIGxlZ2FjeS10cnVuaworMzk2MTcgZjViZDdlYWQxNmM0NzIzNzFkNTVhYTE5YWUyNDAzNjhkOWVkMWY2ZCByZWxlYXNlMjQtbWFpbnQKKzM5NjE4IDRhZTdkYWFmMGE2NjExODg0NDlhYjgzZGZhOWEzNzZjZGFkOThhODEgcmVsZWFzZTI0LW1haW50CiszOTYxOCA4ZDM3Mjc2ZmRmMDc3ZDZkMjNkOTYzZDNmN2Y5NTM4MWQwMGYxOTI2IHJlbGVhc2UyNC1tYWludAorMzk2MjAgNmI0MmVlYjUyMTRkYThhMDMyMmQzMTYyZTUzZmVlMzE5MmI5N2NjNCBsZWdhY3ktdHJ1bmsKKzM5NjIxIDhmMmJmMTg2NzRjYmU5MzI4MjBmM2U5ZDQwZDJhMjgzYTFkYzliYmIgcmVsZWFzZTI0LW1haW50CiszOTYyMiBkMzNmNGZjODRkNGFmMmIxOWU2M2Y2MDMyMzVhOTE0OTc4YmVjYzkyIGxlZ2FjeS10cnVuaworMzk2MjMgYzM3ODNhMTJhMWJjMTlkM2QwZWIyODEyNDg3N2UyMWJlYzI4YTMyYSByZWxlYXNlMjQtbWFpbnQKKzM5NjI0IGNhODQ0NTE3Yzg0OTUyYzQ1NjQzMGJkNTViNjA0YjAzNzBmZWY1NzQgYXN0LWJyYW5jaAorMzk2MjUgNmEyMDgzMWQzNTdkNTdjZDYyNGJhYjkwZGUzNzMzZTUxZWI1MTMxMyBsZWdhY3ktdHJ1bmsKKzM5NjI2IDllZjI1Yzg5ZDBkNmMzMDY5Y2Q4MGFiOTU5N2MwYTI3MDBlMTYxNTcgcmVsZWFzZTI0LW1haW50CiszOTYyNyBiNWEwMTI4MmRhZGFmYzk5Y2NhNGVhNjExMjM0NDA1M2RiODY3ODFhIGxlZ2FjeS10cnVuaworMzk2MjggOGViNzVjMjhlZDk0MWM0MzJmNWQxM2RjMTUwZmMzN2NkYjU2MTA4MiByZWxlYXNlMjQtbWFpbnQKKzM5NjI5IGEyY2YyNTY0MmM4ZWNkZjk2YTg4NmY0MjNmZDg2MmFiNzM1MWI4ZWUgbGVnYWN5LXRydW5rCiszOTYzMCBjYmExMGM2ZDM0ZTM4NTkzZTY2ZDZhOTY4ZDUxZTBiODdiZTAxMGI4IHJlbGVhc2UyNC1tYWludAorMzk2MzEgYTgzZThkZjEzNDk4NjJhZjMxODRhNjIxOWRlNTQ3ZWZhN2ZlZjdmMCBsZWdhY3ktdHJ1bmsKKzM5NjMyIDFkNGQ4NWM3MzVlN2M0ZjhhMTllNjBlZGE2MmJjYjUxMTRmZDJjNjcgcmVsZWFzZTI0LW1haW50CiszOTYzMyA2ZDA0Y2IyY2RkNGFmY2NhZjU4OGM0ZWFlNGFhZDEyNGU1YmZlOTlmIHJlbGVhc2UyNC1tYWludAorMzk2MzQgODU2NTFlYjNkOWE5MGQxMjFhMGY0MmE1YjA0Yjc0MTJmMTUzNmUwZCBsZWdhY3ktdHJ1bmsKKzM5NjM1IDY3ODQ4Yzg3MTc2OGI1NTljM2YyMzRhOTRmOTZiYjRmZmMyZDg3ZDYgcmVsZWFzZTI0LW1haW50CiszOTYzNiA1NjExZGI0NTFhMzliYTJlZjdiOGE1MGJjMmFhMjQ1ODYwY2JiNWVmIGxlZ2FjeS10cnVuaworMzk2MzcgMGJlMDA3NzVhODBjNDUxYzA1MTYwMWE5YzQwNWQ3NjRhZmYzYzQzMSByZWxlYXNlMjQtbWFpbnQKKzM5NjM4IGRjNWQ3MDYyODNkNjJmZWJjNDU4N2FiZDliOWMyOTJiZTIyMDJmM2MgbGVnYWN5LXRydW5rCiszOTYzOSBiOGU1NzFlNmRlMmUzZTU3NjdlYjBlYWJkNjUwYTJiOTY1NGU3ZTYyIGxlZ2FjeS10cnVuaworMzk2NDAgZTQ1NGQ2YzFiM2MxZjNmYzNjMzE3MDBiODcwYmFjMzQzYzRlN2IxZCBhc3QtYnJhbmNoCiszOTY0MSA2MzBmZjU0NDBkZmM2ZTk0M2NkNDMxMzVjNmU4NWI3ZDk2OTI0Nzc3IGFzdC1icmFuY2gKKzM5NjQyIDc1MzQ1Nzg3OTQyNTU5MGE0MTM1OTYwODgwMzJhMWQ4YmY1ZjBjMTEgYXN0LWJyYW5jaAorMzk2NDMgNmMzZDBhMGMxOTU2MDA4N2I1NDM1M2QyNTQ2ZGFlNDFlYzhjYmQ4YyByZWxlYXNlMjQtbWFpbnQKKzM5NjQ0IDg0NTQxNzMxYjE2NmE2YzQ1NTNhYThjZmJjOWRmNzk3ZjAxZjk3MjggbGVnYWN5LXRydW5rCiszOTY0NSBmNmEyMDliNjk1MGNhYjczYWEwMjJiOTliNTdiMjUyY2NiZmE5NWY4IGxlZ2FjeS10cnVuaworMzk2NDYgY2VlZDMzZWFjNDM2MTY4MTJhMjY3MWVlYTY1ZDgzZWFmOGY5N2Y0NiBsZWdhY3ktdHJ1bmsKKzM5NjQ3IDVkNTIzNmVhZThiZDNkNjBkZjgwMzhjZjU5N2UwNjA2MzQ0MTVkNGIgbGVnYWN5LXRydW5rCiszOTY0OCA0MTJkMjFlMzBjMTMwZTIyNzZiOTg0NzA4OWE2MTc1NDhmZTg3Y2UzIHJlbGVhc2UyNC1tYWludAorMzk2NDkgNjEyYTEyMTc4ZTQ3YjcwODRjNmUxMDNkNTA5NWUwZjFlZjQ2OTEyZCBsZWdhY3ktdHJ1bmsKKzM5NjUwIGQxNDgxM2U3OGE1MDBmYjJiOTFhYzU0Y2U1Y2ExZDRkMzE5MDNkNjcgcmVsZWFzZTI0LW1haW50CiszOTY1MSA5ZDQzMzgxYzE4NGNiYmJjN2RhY2MyYTI2ZWQ1ZTAwODVhNDA5YTlhIHJlbGVhc2UyNC1tYWludAorMzk2NTIgZTFkZjQ4ZjI4NDdhZDhlOGRkZjYwMmI3ZjI5NDA5YTY4ZWM5YWY5YiByZWxlYXNlMjQtbWFpbnQKKzM5NjUzIGU5YmFlMmZlYmFjODAwZTAzYmNiY2ViN2I0ZTQ4YWFhM2QwOTcyNTAgbGVnYWN5LXRydW5rCiszOTY1NCBmMDk1MWZkYWVkMzdjMGFmMzM4NThkYTBhN2ZkNDA2ZWIxNDZhZDQ0IGxlZ2FjeS10cnVuaworMzk2NTUgMTcyZmNkOWMxOTUyNjE1YzgxZmQwY2E4MWQ4ZTEwZTU1NTA2ZmNkNSByZWxlYXNlMjQtbWFpbnQKKzM5NjU2IDhiZGQ4YzJjNmM0OTVmOGE2ZjU4YTQxZmQ1NGE2ZDYzMjE2ZDQ5YTcgbGVnYWN5LXRydW5rCiszOTY1NyAzZTBiYjdmNzVhYjc2NWE5YzhhNTdiOTAxMWI4MjE5YTdmNjE1YzA5IHJlbGVhc2UyNC1tYWludAorMzk2NTggZTQ2NmMwYTU1MGI4OGNiODdiYTQyYTUxYmIzN2JlY2RlMjg3YjE5NiBsZWdhY3ktdHJ1bmsKKzM5NjU5IDAyZmU1ZDQ5NmZjZTk5MjQ2YzYzYjUyMzBhMjcyZjJkZGRiZmI0ZWUgcmVsZWFzZTI0LW1haW50CiszOTY2MCA2OTA3ZTQ3MWJkYWNlNDAwZDIzMGEwOTRjNmY2MzA2NzZlNGEyNGU3IGxlZ2FjeS10cnVuaworMzk2NjEgM2JlODM1MzUwMDgyODYyYjVhZTY4ODNkZWI0MDBmMmRjYzNlMGViYSBsZWdhY3ktdHJ1bmsKKzM5NjYyIGY5ODc5MjM3ODk1NDE3YjdkZDg1MjgxMTliY2Y0ODY3ZDhhODVlNTggbGVnYWN5LXRydW5rCiszOTY2MyAyOTg1ZTQyZWIyZDJiMDkxY2FkMThhNjJmM2RmZWJiNGI5OTVmNDc0IHJlbGVhc2UyNC1tYWludAorMzk2NjQgMzMwYzIzMDc1MDU0MTkxMDZmNzE2NzM2ZTAxMjMxNTAwZmYxYmMyYyBsZWdhY3ktdHJ1bmsKKzM5NjY1IDJmZGE3YjE3NDc5NGQ5YzAwNzhlOWI2NTc1ZmUwOGZkNDFmYzk5ZDQgcmVsZWFzZTI0LW1haW50CiszOTY2NiA1NDhiYWQyMTU0MjlmMzlhZjkzNzM3ZWExOTViOTVkZGEwMmE4MmIzIGxlZ2FjeS10cnVuaworMzk2NjcgZTI5OTU1NjM2MTBmNzE3OTRlZWRjNWY5YWJjYWQwMjFjZTA4YjhiNSBsZWdhY3ktdHJ1bmsKKzM5NjY4IDdhN2U4NzliMmFhMWIyZTA1OTFlYjU0NGY5OGE0YzZiOGVmZmZiZmIgSURMRS1zeW50YXgtYnJhbmNoCiszOTY3MCBiNjFjZGQ0Zjg4OGJmOWY2MTI4ZjM2NjIyNTEzNThmMTExMzBkYjE0IGxlZ2FjeS10cnVuaworMzk2NzEgMDhhNTUxZTc1NjFjYzJiNDYzZGM3NzI1YWZhMjhiZDJmZWIzODRkMyBsZWdhY3ktdHJ1bmsKKzM5NjcyIDk1YzBkZDExYWZhNzhkMmE1ZmUxOGM2NDI1NjRiY2FiNzQ0ZjE1NDYgbGVnYWN5LXRydW5rCiszOTY3MyA1ODZiNDhlM2NiOThhMDMzYTNkNzMxMTIwYWJiMDE2ZWY4MGE0NjFjIHJlbGVhc2UyNC1tYWludAorMzk2NzQgOTIxYWZkMDhhNWRjYmQ0MjAxMjk4N2U4YjJiN2NkZTM5ZjBkODE5MiByZWxlYXNlMjQtbWFpbnQKKzM5Njc1IGQwYWY3YjA5OGE5OWQ2MmVlYjJlNjdmNjE3M2JjMjg3MDZiMDljNGIgbGVnYWN5LXRydW5rCiszOTY3NiA5MjM3MjNhOWM0M2NiOTZlODE4NTMyZTAzMmExOTU3MGY1MTVjYmNlIGxlZ2FjeS10cnVuaworMzk2NzcgMzU3MjI0OWMxZTc3MTAyOTQyODhkMWNkNTk5NjMyMzMzNmU0YTE3MyBsZWdhY3ktdHJ1bmsKKzM5Njc4IGQ0M2RmZTY5NWQwOGE0YTc0M2I2ZGUyNTE3NzlhMjM0OGE5NDc5N2QgcmVsZWFzZTI0LW1haW50CiszOTY3OSBlMTZiNmJkZjNmODk5YTdmNzZiODE3M2RiNWRiNzkzZDllNGE0ZTNkIGxlZ2FjeS10cnVuaworMzk2ODAgMjJhNzIwYjM1MzE0ZDAxMjk5YWRhZWE2YjJmYTA1MTFhM2IzMzJjMiBsZWdhY3ktdHJ1bmsKKzM5NjgxIGU3OGU4NGYxYTgyNDg3ZmNjNDUzZWMzZTQ0ZDFlYmNmYzViODI5YTkgYXN0LWJyYW5jaAorMzk2ODIgNzY2MzVhYjdiNzA3NGQ4NTYzNTFiYmI4N2QzNGRmOTdmYzE5ZWIwOCBsZWdhY3ktdHJ1bmsKKzM5NjgzIGE2NGJlMTM4ZjBmNmM0ODA2MGQ2NDNkZTg5NGY5MjgxNGJkZTUzMDUgcmVsZWFzZTI0LW1haW50CiszOTY4NCA2ZTA0YTU1N2FlMjBjZDZlZmMyZGNiNjgxOGM3YjE0NzA4OGUwY2RiIGFzdC1icmFuY2gKKzM5Njg1IDRlMzk4ODM3MzczYzlhZDZlMzc1MWY1OWQ4YTM0NzQwOTA1NzE3MGMgbGVnYWN5LXRydW5rCiszOTY4NiBhYWUzNzQzMGY1MjU5NjM0NzdhMGM1YWFjM2ExM2JmYTYwZDYzNGI0IGFzdC1icmFuY2gKKzM5Njg3IDg1NjdlYjIzZTY1ZGViNGYzYjEzNmJjMTk1N2VkMGRiM2M5M2M2MzIgYXN0LWJyYW5jaAorMzk2ODggMGU2OTA3OGNhZDkwMGZkMzdhMjU1M2I3ZTg3YjA5YjMzYWRhNDA4MSByZWxlYXNlMjQtbWFpbnQKKzM5Njg5IDU2ODVlYzU5ZjM1Yjg0MTMwMjFmMTQzZDhlODQ2Mzk2ZDFjZmU1NjAgbGVnYWN5LXRydW5rCiszOTY5MCBhYWIxZDVmZGY2NGRmNjU2ZWRmM2EyNWYzNjNlMmQxMjc4NzUyMDFmIGxlZ2FjeS10cnVuaworMzk2OTEgOGU4NmRiYWQ4YzcxNGU5ODhjOGEwOTIxYjhiMWY3ZmUxM2FhYTFiOCBsZWdhY3ktdHJ1bmsKKzM5NjkyIDU5YzRhNjU2NDJjNTY3YWQ4MGEzOGM1NTQ3ZDVhYzAyODQ3ODY5YTkgbGVnYWN5LXRydW5rCiszOTY5MyA2ZTcwZWQ2ZGZhZDY3NTc5NzA5YjIyMTk3YjdlMDk5MTBlNmY2YTRkIElETEUtc3ludGF4LWJyYW5jaAorMzk2OTQgZTllMzBkOTI4NzFlOWEyN2FhM2E2NzQ0NTAyYWFmNzJmNmFjMDg4OSBhc3QtYnJhbmNoCiszOTY5NSA3YjM1YzI5MDQwYzk5MmZhYmU5NDI0ZTM0N2VkZmRmY2VjMzFlMTY3IGxlZ2FjeS10cnVuaworMzk2OTYgN2I3ZWIzZTc2MjBkZjkxMDAxODhiM2I5Y2EzMThhNjYyMzA1MTM0NiByZWxlYXNlMjQtbWFpbnQKKzM5Njk3IDcyZmViZWU1OGU3YjllMzY4MDgwNWFiNmIxOWE0M2RlMmNlMjMyYTMgbGVnYWN5LXRydW5rCiszOTY5OCBjMzhlNGVjN2I3ZjExZDU2ZTNjY2EzNDM2YzYyYzA1NGE5MGFmMGFmIHJlbGVhc2UyNC1tYWludAorMzk2OTkgN2U3OTg5YjZhYzM2YzRiOTE1NTk3YThiY2VhZjQzZjBkM2MwYTAzYSBsZWdhY3ktdHJ1bmsKKzM5NzAwIDVhNjI2ODZmN2RmZGY2NGViNmMxM2VmMzNlYTJkYmUzNWVmZmY3YTQgcmVsZWFzZTI0LW1haW50CiszOTcwMSAzMDdiN2VlZTNlM2Q5MjIwNzNhNjZjN2JlNDhjOWU4ZWMzZWExNWFmIGFzdC1icmFuY2gKKzM5NzAyIGQ5NDdmYmVjMzVkM2YwNGYxNDhkZTRmMGFmNGZmODI2ZjkwNWJiM2EgcmVsZWFzZTI0LW1haW50CiszOTcwMyA3MjU5NWE2MTU1NzFiNDA2NzFlOTMzZDIzMzFlNzJjNmMxNzJmYjQxIGxlZ2FjeS10cnVuaworMzk3MDQgYzNkNjRiYzdmNjk2MjI4NmQ0YTQwYjA4Yzc1MzQzYmYzNTc3NDRmMiBhc3QtYnJhbmNoCiszOTcwNSA1N2Y2MmU1YTM5MjE2NjYwMGU0YzA3NmI2MDVmNzg5OWU2YWMxYjJmIGFzdC1icmFuY2gKKzM5NzA2IGM3YTdlM2QxYmZhNzBhNDIwOGRkMDk3ODFiYzU5MWE3MDkwNzMyNjUgYXN0LWJyYW5jaAorMzk3MDcgYWM3ZjU0MDcyNDZmNDBmZDNmYWQ0OGQ1MDY5ZWY1OTE2YWJhNWU2MyBhc3QtYnJhbmNoCiszOTcwOCBlZjdjZGRlYjMyN2NjOGM0Y2Q3MDU1NWQ0NTAxNGVjZDNiN2UzMzc5IGFzdC1icmFuY2gKKzM5NzA5IGIxMDgxYzQ5NWQ0NjczM2JiZmE3ZDJiY2EzYjEzMjA4MGRkYTQ3ZGQgYXN0LWJyYW5jaAorMzk3MTAgMTc0NWMyZWRjNTE0ZDkyMzJjZTU0Zjk1MWU5NzQyOGQwZWVhZmFmYSBsZWdhY3ktdHJ1bmsKKzM5NzExIGE0NDI5Yjc3ODdkNDRlNWI5YjJmODYxMjUxZTIwZDFjNmVlY2ZlZGQgcmVsZWFzZTI0LW1haW50CiszOTcxMiAyMzQyY2RiOTI2OTU2YjJkOGQ4ZGYzMDUzYzU3NWYwZTZjNDFmZWI4IGFzdC1icmFuY2gKKzM5NzEzIGVjZTVlYjZmMmI1YTMzZGQyOGE5MTY1ZGYyYjExNTY0ZGJjNjRmZTIgYXN0LWJyYW5jaAorMzk3MTQgM2JkNzQ4MjRhM2FjZDBhMWU0MDZiNTM5ZGNiZmJkYTM3YjA2ZWQ0OSBhc3QtYnJhbmNoCiszOTcxNSBkMjA0NGU1YTA2YzdlNjM4YTJjYTNhYjcwZjdkMDI1MWU5YjM0YmMyIGFzdC1icmFuY2gKKzM5NzE2IGE0YmVjN2I2YjY0MDViM2VhYWMyOGU0NWYyMTVlODRkYzkyYTUxYzMgYXN0LWJyYW5jaAorMzk3MTcgMzBlODhhMTc1ZmRjOTBjNzk3NTE4ZDY5ZGM5YzNlYmY2N2Q0Njk5NCBhc3QtYnJhbmNoCiszOTcxOCA1MjVkYWMwZDI4NWJmMmUyNDg4MDBjNTIzZGVjYmQyZDBkNjA2YTdlIElETEUtc3ludGF4LWJyYW5jaAorMzk3MTkgNzZiOTFhY2FkNWU4OGNjZjcyNGM0YWYxNDRlMzZlNDhiMWFjZTAzNyBhc3QtYnJhbmNoCiszOTcyMCBiYzdmNmRlYWIzNDBhZTc1NzM4NDYyZWU3Y2JhZGRhZjk0ZTliZWZkIGFzdC1icmFuY2gKKzM5NzIxIGRkMjkyNjFjYjQzODIwZWJkOWJlODYwYzVhNGU3NTMyOGJjY2NlNzggYXN0LWJyYW5jaAorMzk3MjIgOWViNDQxYTcwNzI0NmJkYTFlN2FmMWRiMzgxMDFlYTYxOTMwZjE1ZiBhc3QtYnJhbmNoCiszOTcyMyBjZGE4NzM1NzE4NWZiOTNjZjBhNzkzMGNjYzhjMTcxZjNiMmQ3ZDk1IGxlZ2FjeS10cnVuaworMzk3MjUgNTY2OTMwN2MxMzFjNTM4NDY2NTZhY2U5YTZmMjljMWExNjk5Njk0YiByZWxlYXNlMjQtbWFpbnQKKzM5NzI2IDQyZDNhNDQwMGQzODY2Y2E4NjQ1YzBmZGQ2NDYzZTIzZDhlZjdkMWEgYXN0LWJyYW5jaAorMzk3MjcgMjE2MTFmZjU1OGE1MDIzODNiNTY5ZWJhYjkyNGRiNWM5YTUwZjQ3MyBhc3QtYnJhbmNoCiszOTcyOCBhZTUzOWFmNGFmYzUwMWQ0Mzk2ZDEyZWY2MGNiNDQzOWI0NGRkMDA0IGxlZ2FjeS10cnVuaworMzk3MjkgNjBkZmUyZjU1YzBmNTNmYzY0OTE2OGE3NTFlZGYzZmY0OTliMTgxYSByZWxlYXNlMjQtbWFpbnQKKzM5NzMwIDY2NzkyYTJlZjNkYmQwNDNjYTRlOTZkMzc0MWI0N2FjNjRmNDM5NDUgYXN0LWJyYW5jaAorMzk3MzEgMDZhZDYzNDU2NDlmZGRiNmE0OGFhYjYyN2M4ZGRiMDVjYTk5ZTcyYyBhc3QtYnJhbmNoCiszOTczMiBkN2Y0MDcwOWUxNTg1NDBkYWZhNzU2MTgwOTEzYjRlZTVmNDkyZWYxIGFzdC1icmFuY2gKKzM5NzMzIGJiNWJhNTQzNTllNWJjZDM4MmY5OTg5NzIwMDc0YTUwYmE0ZDE0MjMgYXN0LWJyYW5jaAorMzk3MzQgNDk2ZWI1ZGVkNWU0NWIzZWM4MjRkMzMyZjI0ZGY5NGVjYzA5ZDlmOSBhc3QtYnJhbmNoCiszOTczNSBjOWZhODViNDA1M2I3NWI3OTI0OTQ2ODhjYjUzNjM5YzYyNjU4M2ZhIGxlZ2FjeS10cnVuaworMzk3MzYgZWIyYzA5ZDg3ODcwMTgzZjc5Zjc0NDllYjY0YzMzZWQ2YzhiMGQ4NiBsZWdhY3ktdHJ1bmsKKzM5NzM3IGZlMTAzNzNjZjhhMjcxZGRhYmQ3ZDU5ZmIxYjhlNGZmYTMzOTA5ZmQgYXN0LWJyYW5jaAorMzk3MzggODNmMjQ1ZjcyODMyZTM5MWY4ZmVhNGEyZDRkNzAyM2RhYTYzOThiMiBhc3QtYnJhbmNoCiszOTczOSA1MzY1OTBjMzIzMTE4NTJhMzNhMTg4ZmNkNzFlZDZkY2M4ZDZjOWMyIGxlZ2FjeS10cnVuaworMzk3NDAgNTc0N2NlZDM1NDI0YTZmMTA2NWEyMDk3MmQyMjFlYjdiYjEwYzgwNiBhc3QtYnJhbmNoCiszOTc0MSBjYjVjYzQ4YjVjMjk1YWYwODJhOTc3NTA0N2ZlNWZlNGVjOTdlMmM3IGFzdC1icmFuY2gKKzM5NzQyIGJjN2NhMTYzMzRiYWI1NGFkODgxMWJiMDA1OTg3MWRlNTlkY2NkZDggYXN0LWJyYW5jaAorMzk3NDMgOWVkNDNlNjM3YWU3YjVhZWQ1YjFhZGM4ZGNmOWI4ZmNmN2IxMTNiNyBsZWdhY3ktdHJ1bmsKKzM5NzQ0IDY5MTNhYmI3MDQ3YWVmZjE4YTgyMGIzMzMzOGUxMDVkYjlhYmM2YjIgbGVnYWN5LXRydW5rCiszOTc0NSA4YmVjMTIwZGJiMTZhNjc5NDRlYjNkZWZiNGE2NjIzOTQzZmQ5MTE0IGxlZ2FjeS10cnVuaworMzk3NDYgMGI4MjY4ZTBkNzBlNzc4Mjk5YWEyZjJmOWM4ODRjNDc4YWJhMWY2ZSByZWxlYXNlMjQtbWFpbnQKKzM5NzQ3IDRmMjg0M2RmYTIzYzc5YWMyN2E4ZWE2MDIzNWE4MTRlMGQyZTg4ZDggbGVnYWN5LXRydW5rCiszOTc0OCBkMTIwMWZhZTA2YTg1MDA3M2UxNTNhM2U3Y2ViNTY5MThhMDM1NTJiIGxlZ2FjeS10cnVuaworMzk3NDkgZGZiOGZjMzc3YjU4ZTY4ZGU2MGQ3OGRhMjk3YjBlNzc0NGQxMmU5OSByZWxlYXNlMjQtbWFpbnQKKzM5NzUwIGVhNjgwOGJhMTYzN2JjMjc4N2FmYmUzZDAyZjVlNmQ1OTIzM2FmZmQgbGVnYWN5LXRydW5rCiszOTc1MSA3ZWQ4NzA1MGUxNjk3NDY2YzIyMTRkNThlZGNmMzBlMzVlMmFhMjI5IHJlbGVhc2UyNC1tYWludAorMzk3NTIgNTM5MGRkYzc3ZWI4NjZkZmYzNzJkMWFlYTJkMmI1MWJlNzRiMzI5YSBsZWdhY3ktdHJ1bmsKKzM5NzUzIGUwMThmY2UxNGYxMDA2NTQxZTEwYjg0MTMxNDljYjA5MjBkMzhkYmQgbGVnYWN5LXRydW5rCiszOTc1NSBkMDM5OTM3OWQwY2IyNjRjMzgyMzEzMDMwYzM0MzI3NWU0M2FkNmNhIGxlZ2FjeS10cnVuaworMzk3NTYgYjMyYTM5MDkxYWVkY2I2YjA2OWNmMGNkZGU2ZTkzMDRjZGMwMWNmNyByZWxlYXNlMjQtbWFpbnQKKzM5NzU3IDM3MTYwNTE4MzBjMmNjNWFiMGQ1YzFjODIyOWUwNTA1MWQ0ZGM5ZjcgbGVnYWN5LXRydW5rCiszOTc1OCAxYzRkMTkyZjE1NjhkZjhjYWUyZDM1MTQxYTcyOTI0NzU2NGEzY2ZlIGxlZ2FjeS10cnVuaworMzk3NTkgMDViNzE1ODIyYmE1OTZlMjc1NTU1NWM1MTVjOGQzNzJjMDgwNDNmMCBsZWdhY3ktdHJ1bmsKKzM5NzYwIGU3ODE1NDk1YmIyNzliMTkyZWMxNGRlNTNhY2Q5YWE5OWQzZTU4NWMgbGVnYWN5LXRydW5rCiszOTc2MSA0MDdjM2RhY2JkN2MzMDVmYzY3NDIzMDI4NmEyN2JhYjIzOWUxZGNhIGxlZ2FjeS10cnVuaworMzk3NjIgNzE4ZTlkZTIyZWE3MjVlMjViNDBmYjU3ODViYWVkZTMwZGJlYzFiNSBsZWdhY3ktdHJ1bmsKKzM5NzYzIGZkY2I1OGNiZmY0ZGYwZDZkMDIxNzZmZWU5ZDVmZDIwODQxNjA2MTIgbGVnYWN5LXRydW5rCiszOTc2NCAyNWJhMmYzMzEzYzkxY2M0ZTc5ZjY3NzNiZWIyYjU3ODk0YzI2YTc0IGxlZ2FjeS10cnVuaworMzk3NjUgMTc4MjhhMDBhNDU0NGZhM2ZiNDIwNjViYjUxZDYwYmU4ZjU2NTEzZiBsZWdhY3ktdHJ1bmsKKzM5NzY2IGE3YTQ5M2RiNjIzMTNkMDMzYmRiYzRjNjVhODg3N2YzNGI5NTZlZGQgcmVsZWFzZTI0LW1haW50CiszOTc2NyBlNTYxNDQ3MDQ4MDhkN2NlNmMzMDVjMGI0ZjA1MTRlMWViYmRiYTUxIGxlZ2FjeS10cnVuaworMzk3NjggNDc0OTZlN2RiZjJmY2QzMDYwYzc5MDFhMTIzZmM2MWIxYzI3NjJmZSBsZWdhY3ktdHJ1bmsKKzM5NzY5IDgxZWJkNmUxNzdhM2Y4YTkwNDM1N2Q4YzA3MGE3MDdhM2I4MzAwNGUgbGVnYWN5LXRydW5rCiszOTc3MCAxNDQwOWI4MjA5MzNmYzc3YmQ1Y2FiOWIxMWEzYWVmMjVhMTY1NjdlIGxlZ2FjeS10cnVuaworMzk3NzEgYzI4YzFhMzdiODZhZTE4MDA4MTk2MzA5OTI2NDY4NWFkZDU0Yzg2NSBsZWdhY3ktdHJ1bmsKKzM5NzcyIGI3MmIzZTUxN2E0ZGU3YTI0ZGU5YjIzM2U3ZjVjNjU5YjU0NzQwZTYgbGVnYWN5LXRydW5rCiszOTc3MyBlYjE1Y2RkNGEyZjEwMDE3OTIwNzRjYTA3ODkwMjY5ODk0NTJmZjgyIGxlZ2FjeS10cnVuaworMzk3NzQgZTBlMzIwZjM2YzkzNjNmNmQ1ZjhiZmM0MDczZGQ2YzUyNzk0NGY5OSBsZWdhY3ktdHJ1bmsKKzM5Nzc1IGQ5MWVkNzEwN2ZkMmRhMDNkMzU2YWNiYzUyNDNhNjhkMGI1MDU4NTEgbGVnYWN5LXRydW5rCiszOTc3NiA3OWM1YjgxN2ZlZGMxMTU3OTMwYjkwZTAxZjIzZmI5NjA2Y2EzNWNlIGxlZ2FjeS10cnVuaworMzk3NzcgN2E1YWMyMDMxNTRhYWEyZDc1NzVhMWJkOTI1ZDg4NDNkN2U2ZTIwMiBsZWdhY3ktdHJ1bmsKKzM5Nzc4IDNmNjMzNDFkOTMxMmY2OTIyMWQ2NjcwZDVjZmU1OTNkOTcxNDdhYTkgbGVnYWN5LXRydW5rCiszOTc3OSA1MjhlMDM4ODM5YTJhYWU3ZDNkZWEyZTU3YjhmNDU0ZTc2YTk4ZTAyIGxlZ2FjeS10cnVuaworMzk3ODAgNGFhZjUwNmE3ZDA5OTJiOGMxNTRhNTBhYjU2NDM4ZDNmZGYyZjFlNyBsZWdhY3ktdHJ1bmsKKzM5NzgxIGYzNzYyMjFiYmI3NmMxZDI3MmU0MjM4NDBjMzQ4YTFjNWMyM2RiYjkgbGVnYWN5LXRydW5rCiszOTc4MiAzNGVmOWYxMzhjMzAzYjc2MmFkODY4MmEwYmE0ODUwYjA1YjkzMzZlIGxlZ2FjeS10cnVuaworMzk3ODMgN2VlNjg4MGNiMTZmMjg1MmUwN2YwZGY1MTNkNzJkNGUyZTE3NWVkYSBsZWdhY3ktdHJ1bmsKKzM5Nzg0IDU3NmI5YTljZTU3OTdjZjdjNjcyYTk3NDU2ZDY5MjFkYTEwMmRhOTQgbGVnYWN5LXRydW5rCiszOTc4NSA3ZDA2NTQzNWU4NmMxYjg4MmNmZmFiMGNmNGRjOTBjZjg3Mjc3ZjM4IGxlZ2FjeS10cnVuaworMzk3ODYgOWE3YzJkMWU1NmRlMzFkYWVhMjBmYTM0OWIyMWVkMDA0OWRlY2QyOSByZWxlYXNlMjQtbWFpbnQKKzM5Nzg3IDA0NGQ4ZTBmNjVmMmZiOWUzNjExNTdhZDFiMzgyNTMxNzFjMjVmZDMgbGVnYWN5LXRydW5rCiszOTc4OCBmNjRmYjI4NGVkMTU0ZDQ4NzI5NWE4OTBjYTVmMjgyNDgyMjI0M2ZjIGxlZ2FjeS10cnVuaworMzk3ODkgMGFlZjM1MTIyM2RhZWQ5ODRjMzg1ZDI1OGQ2YTZlZjk1Y2Q3NjRiZiBsZWdhY3ktdHJ1bmsKKzM5NzkwIDY2YjkwNzVkMTQyYjhlYzUzYjQ2YTM0ZmVkOThkNzZhNDdjMTZhM2EgbGVnYWN5LXRydW5rCiszOTc5MSAxNDRiNTI1MzU0MzRmZDM1ZTE4ZDc5ODFjNzFkOGU2M2IyZTM5MTQ5IGxlZ2FjeS10cnVuaworMzk3OTIgODkzYmU5NGM4ODkxODJhOTA5MWI3OTIwYWRiNGUzZDFkMzc3MjQ3ZSBsZWdhY3ktdHJ1bmsKKzM5NzkzIGVmZTYwNzMwYTFlZWFiNmQyNjIyYTBmMmE4NWQ2NmZiZGNmN2Y5YjYgbGVnYWN5LXRydW5rCiszOTc5NCA5NWQwYTg1N2FlNTFmYTE1YTU5ZWMwMTljZWY5ODAzM2YzMmJhNzU0IGxlZ2FjeS10cnVuaworMzk3OTUgMTlkNzk2YmQ3NDBmNGEwOTc0OTY2MjFjMmE4MzkxMGE1NzJhMDA4MCBsZWdhY3ktdHJ1bmsKKzM5Nzk2IDcyY2IwNDFjY2RlM2FjN2JlYjI5NmQ0OWJmYzIwM2E1ZTQzYWY3ZDEgbGVnYWN5LXRydW5rCiszOTc5NyAzMWQzNmRkNTk1OWNlOWQ5ZTYyNGJmYTIyYWUyZDUwZDZkMmViYTUzIGxlZ2FjeS10cnVuaworMzk3OTggYWFlNDExMzUyZmJkNmE0YzMwYjk3NDVhNzIzYmY3ODY4YmMwZmFkNSBsZWdhY3ktdHJ1bmsKKzM5Nzk5IGIxYTBlMWEyYjI4ZmFjYmJlZWE3YmI3OTg2ZDA4ZDA5NTQ5NTMxNzEgbGVnYWN5LXRydW5rCiszOTgwMCBjNmRiZjg4ZTRiMTRiODZkMDIxNmY0Yzc3NWM1MjQ4ZTNmNDNkNTE0IGxlZ2FjeS10cnVuaworMzk4MDEgZGNhNzBmNGVjNzdiNjc0Mjk0ODAzMDY5ZmFiNTBiNzFmNzgwMDc5NCBsZWdhY3ktdHJ1bmsKKzM5ODAyIGEwYmIwZmQ1ZTE0M2E5Yzg0ODY5MDA4YTIxNzQwNTg0MTM4NDNiMTIgbGVnYWN5LXRydW5rCiszOTgwMyAxNjYxZTczYzA3YWJhMzk5OTk4ZDgzMGI1Nzg3OTc1NGJjYmYxMDIwIGxlZ2FjeS10cnVuaworMzk4MDQgZGI5ZTJkZWE0YzExM2Q2YmU5ZmJjNzE4MGEwZjk4MmI4OTI5NTA4MiByZWxlYXNlMjQtbWFpbnQKKzM5ODA1IDE5YTM3YTlmNGVmOTRiMjZjMTY3MDI5NGVkYjc3NTFlYmJhOWJlYWIgbGVnYWN5LXRydW5rCiszOTgwNiBmN2IwY2JlYTkwNWI1YjM0OGQxMGI3Mjc5NTJkMmFmM2NjOTBlZTNjIGxlZ2FjeS10cnVuaworMzk4MDcgMWFjOWVkMWI1YTAzYzE5MzUzZDc2YmI3ZDg3ZDRiYjRiMWZmOWI2NyBsZWdhY3ktdHJ1bmsKKzM5ODA4IGI4YjEzYjFmZmU3NTcxYjRhZjVmNWJjOGI3OWFmMTNkMDI4MjNlMmUgbGVnYWN5LXRydW5rCiszOTgwOSA5MTRlYzBhZmE1MWMyMTViMTA4Nzk4OGIyM2M5Mjc3YjQ1OWIzNDRkIGxlZ2FjeS10cnVuaworMzk4MTAgMzlmMzYzMGE3MTI0ZDkwZjdiNTc5ZjQ5NjI0NjYyYjM4ZjU0Yzc5YSBsZWdhY3ktdHJ1bmsKKzM5ODExIGRiYzk4OGJlYTU1ZDZmNmM1MTQ1NjUxZGI2YzU5N2JhZGRkNmE4MjEgbGVnYWN5LXRydW5rCiszOTgxMiBmZDYzMDA0MmFhZDQzZGVjZjUwYWY2NDIyNGI2YTA3ZDEzNGMwYmUxIGxlZ2FjeS10cnVuaworMzk4MTMgMzc3ODA4M2ZlMmM4NjJjNDBkOTNlZDIzYzY3MTFiMzQyMzE2YzBlZSBsZWdhY3ktdHJ1bmsKKzM5ODE0IDg1N2Y2OGZiYTI3NTQ0ZGFjYTMyOGIwOWQzY2NkYjY3YzNhNzFlMmYgbGVnYWN5LXRydW5rCiszOTgxNSA4NDJjYWEyNDU5MTdkODg1Y2Q5YzM2MGYxMGM4ZGQxMzgwMjc4OWFkIGxlZ2FjeS10cnVuaworMzk4MTYgNGJmNjQ1OWM4ZTNiYjk2NDMzMjZkNWFiOWQ2MTcyNDM4N2ZiOTM0YiBsZWdhY3ktdHJ1bmsKKzM5ODE3IGUxN2EzMDdiMTIxNjk0MDkwNWRiM2YxY2MzMzI5MGE3ZDA5NmJiMDIgbGVnYWN5LXRydW5rCiszOTgxOCA4ZGFlZmU4NDk5NDkzNGRlM2U2NTg0ZmNmZjMwNTM4ZDA1ZjMxYzhmIGxlZ2FjeS10cnVuaworNDEzMzggMTkzMzA1YzlkYmRiMzU0OWFkNTk2M2Y1ZjgyZGE3NDdhNjJjNTU0YSBsZWdhY3ktdHJ1bmsKKzQxMzQwIDc2YTZlOTA4NjI0ZDdjNWNkYjdlNzdmNzdhYmM3ZmU2NGNkNjdkOTUgbGVnYWN5LXRydW5rCis0MTM0MSA1MmY2NTg5ODg3NGE2ODg4NWIzMjdiN2Y3ZDg2NGM2OWMzZGY1MmM2IHJlbGVhc2UyNC1tYWludAorNDEzNDIgNDRmZTE1NzI1NWJjNGNkOGEwNWY3ZjA2MDBjOGZlMjc4ZjJlMDNhYyBsZWdhY3ktdHJ1bmsKKzQxMzQ2IGRmYjExMzllZGM1NWExYjBmN2YyNzJlZDc3MzVjZjU0YTQwMDQ2ZGYgbGVnYWN5LXRydW5rCis0MTM0NyBjMmE5OGJhMzcxYzhhOTBjMGJkYzFhNDJjNzI3Mzk5MjI4ODI3OWFlIGxlZ2FjeS10cnVuaworNDEzNTIgODg1MjMwMTc0MTRjMTg3M2RjZjNjMmMxNTgxNTlmOWRjNjZmYmYxOSBsZWdhY3ktdHJ1bmsKKzQxMzUzIDM5YjFlNzRiYTE3YzU1NDcxODk2ZTFhNDQwNDUxMjY5ODYyMGNlODIgbGVnYWN5LXRydW5rCis0MTM1NCA5YjBkZDFmNTNhZTIxODZkOWYyOGVmMjA4NWRhMmQ2YmMwMmNhNzMyIHJlbGVhc2UyNC1tYWludAorNDEzNTQgYWJiZmU5MTc4NzMxOWI3Zjk0NTQzZjQwZWE3YmExNWQ5OWFkNmUwYiBsZWdhY3ktdHJ1bmsKKzQxMzU1IDJlMjVlOTgzMjNhN2Y2NTFmYTkyNWM1NDA3NGNkYTkyMDg4YmU1ZDYgbGVnYWN5LXRydW5rCis0MTM1NiAxM2RlZWM1MjgxZWZjYjIwYTVkNDI0MzAwYWE0OGEwZTQxNjRjNjNiIHJlbGVhc2UyNC1tYWludAorNDEzNTcgZWI5YTM5YzFhNzhiYjczZWRmM2YxZTNkOTRmNGEwNTFjY2VlODFlNSBsZWdhY3ktdHJ1bmsKKzQxMzU4IGEwMDBmMzIyZGQwNWRiZmFiYzVkNjYxZjM1NWVlNzY5MzI1YjE1ZmIgbGVnYWN5LXRydW5rCis0MTM1OSBlZDI0N2Y2ZTZmMDc1NGRmODBjY2U1OTNjOWUxODdkNTY4ZjI2ZTEwIHJlbGVhc2UyNC1tYWludAorNDEzNjAgMjBiYjdmZjE2OTUyNzdiY2NkYTZlNTAzYWYxNjQyMzA3NTI3ODU3YyBsZWdhY3ktdHJ1bmsKKzQxMzYxIGE0OTdlMTBiMjNlNDcwY2M3NmIzNmYyN2VlNzA0YWU1MDg4MmNjMmMgcmVsZWFzZTI0LW1haW50Cis0MTM2NiA2OTAzNGEwOGU1YTNhMzRmOWY5ZTcyYTg0YTc3NDA3NzY0ZGM2MGE5IGxlZ2FjeS10cnVuaworNDEzNjcgYjY1MmY1MzUyMDFkNmZjZGY3NGIwODg5MzRlMzA0NDI0ODIwMjczNyBsZWdhY3ktdHJ1bmsKKzQxMzY4IDZjZDExMDc0M2JkMjA4OWYwZDY1M2FhOTZmMjlkNGQ1N2FkM2FjYWIgcmVsZWFzZTI0LW1haW50Cis0MTM2OSA4YjAyZDhhNWU3MDdmMjZmMDI0MmY5NjdjM2ZmMTUwNWQxYWVjZjVmIGxlZ2FjeS10cnVuaworNDEzNzAgZjllNTBmZjk2ZmY4NWViZjc2YjRjZDZhYzhiMzY3MTIxZDVlMDZlMyByZWxlYXNlMjQtbWFpbnQKKzQxMzcxIGNjMTdhNTgyNTE4YWVmZDQyYTMzNzYwZTk1OGZkMDM0MTc2MGRiMjcgbGVnYWN5LXRydW5rCis0MTM3MiAwZWNiZmZiYWRjMDA1NjgyM2U1OTNmMjE3YWZmMzUyNGZkODQyNWNjIGxlZ2FjeS10cnVuaworNDEzNzMgYWIzZDFlNmEwMjM3MjcwZTJiMDE1Mjc2YjIzN2Q5ZjMyMjRlOGJhZiBsZWdhY3ktdHJ1bmsKKzQxMzc0IGJmZmFlMmY4MTJmNzRhZWQ3NWIwMjBhMjNjZmIyYTQ4ZDViZGEzOTIgbGVnYWN5LXRydW5rCis0MTM3NSBmM2NhZjgwYmQ2NmQyMWJhODI5NGEwNjQ5MzI0MzRjOWIxMjUwYzhkIHJlbGVhc2UyNC1tYWludAorNDEzNzYgMDI5YjZjNWYyNThlNWFiNDZiZTJkMjA3OTk5NjczNjhjMzAyNjllYSBsZWdhY3ktdHJ1bmsKKzQxMzg1IDY0NmJhNzYxMTVhY2I0MzUwY2MzMGY1ZWM1YTBkNzhhZDY3YWRhNTQgcmVsZWFzZTI0LW1haW50Cis0MTM4NiA3YmY0ODQwMGYyNGE4ZTdkOTE0NGNmMmU2ZGRmY2MxMTcwODEyMDUxIGxlZ2FjeS10cnVuaworNDEzODcgOWIxZWZiMGVkNjM1OTJkZTEyZDViZWZjNjc0NWI2MjlhYzE1ZGI3ZSByZWxlYXNlMjQtbWFpbnQKKzQxMzg4IDQxOGE2MWVhZDExYjg1ZGViY2UzZmE1MWEyZGNmMjRmMmFhMDllMjEgbGVnYWN5LXRydW5rCis0MTM4OSAyMGFhMWQ1YjNiMDgzMjdlYTY0M2EyZTc5MzE4M2IxM2I2MjBlZTE4IGxlZ2FjeS10cnVuaworNDEzOTAgZmQwODkxODM5NGY5YzNiMTExOTJmNjU4ZmE0NmJlZjE2NjA2NGM5NiByZWxlYXNlMjQtbWFpbnQKKzQxMzk5IGE4NjQ5ODY5Y2I2MGJiZWEwOTVkZmY1NjQxYWNkZGRkNTk1ZTc1MjIgbGVnYWN5LXRydW5rCis0MTQwMCA0OWJhZjhiMDQ2ODEyNTVhZjQ1YzAxOTZlMTQwOTllNTdjNjQ1ZThkIGxlZ2FjeS10cnVuaworNDE0MDMgZGUwOTBiZjY3YTU5ODlkYmZmMjVkYWE1NWRlY2ExZWI4NWM1OGVhNCBsZWdhY3ktdHJ1bmsKKzQxNDA0IGVjZjlmNGVkMTA5ZTVjZDAwZGVhNjIyYjM0NDc3ODdlYzc2NzQ4NjMgbGVnYWN5LXRydW5rCis0MTQwNSA2ZTJiMjgyNDM0ZDQ5NTEwOTQ0ZmNkMTQyOTJjOTg0YmIxNzc5YmUyIGxlZ2FjeS10cnVuaworNDE0MDYgZjg1ZGMzMWYxZjNlNGZlMGY4NjQ4NWQzZGJjYmJhYWZmNWYzNGEyMiBsZWdhY3ktdHJ1bmsKKzQxNDA3IGQ4MTJlMzlhZTkwN2E3ZDU5OTFmODY1ZmVhNzAyYzkzNjYwYWRlNzMgbGVnYWN5LXRydW5rCis0MTQxMiBjYWVhMGNjMDlhNDJmOTFjOTE2NmM0Nzk3NmQ3YzFjMjE5ZmNhMjk5IGxlZ2FjeS10cnVuaworNDE0MTMgMWQxOTU3ZjU1NjI2NzkwZGVjOGVkMGMxY2I4MzFiN2IyMWQ0Zjc3YSByZWxlYXNlMjQtbWFpbnQKKzQxNDE0IGZhMWQ1Njk0NzMwMTMwN2ZhYTY3MDg2ZTQyOTNjYzMzZTBmYTNhNGIgbGVnYWN5LXRydW5rCis0MTQxNSBmMGUzMzU1MjM1YTVlNTI1YzgyZmVlNjcyZDYxYTUxOWUxZThlOTNiIHJlbGVhc2UyNC1tYWludAorNDE0MTYgNWY3MWE1MDI4OWEyNTU2YmFkN2NkYWQwNzk4YmJkZWY0OWZlOWY2OSBsZWdhY3ktdHJ1bmsKKzQxNDE3IGFlZjg1MjZmYzliYmE2ZjlkM2VjMGU5MjViY2IwNDhkNzM4NGI2MDkgcmVsZWFzZTI0LW1haW50Cis0MTQxOCBmNmQ4YjBkZTEzNGEyMDEzOGU0OTVmYjJkZTBmYjJkZDc3NTdkNDI2IGxlZ2FjeS10cnVuaworNDE0MTkgNDEzYzY4YjMxNDg3MWVhNDFhOTU1MzU4YmQ1ZDAxZTMwZmJjY2I2MiBsZWdhY3ktdHJ1bmsKKzQxNDIyIGVlM2UwZWUxZWRjYTdkMzQ4MmM5MTliMDcyOWI1MDBhZjc5NzgxZmEgbGVnYWN5LXRydW5rCis0MTQyMyAyYTkyZDVjZTBjMGQ4YzQ4ZjdjYTFkYzA1MTUyNjFkZjFlYmU3NTkxIGxlZ2FjeS10cnVuaworNDE0MjQgN2YzN2NjZjY5OGNmNWIwMTQ2MzJkNjhjMTZkYTlmMjYyYTMyMDA1YyByZWxlYXNlMjQtbWFpbnQKKzQxNDI1IDY4ODhkZGYxZWE5ZDUzZDQ0ZmFhNTkxNzRlZWUwMjE1OGQyM2JmM2UgSURMRS1zeW50YXgtYnJhbmNoCis0MTQyNiA0MjlmNTM3Y2Y2ZDZiN2U1OTI3OTZmMTQyNTE0MTJiYTNiZjFlN2UwIGxlZ2FjeS10cnVuaworNDE0MjcgNDQ2Mjg3MWE2ZGNlYzAxM2RiMjg3YmZlMDg1MDEwOGRjNjNkZmI5NyBsZWdhY3ktdHJ1bmsKKzQxNDI4IDg3ZTIyMTBlMDdmNDlhZDVkNTBlNWJlOWNmZDY0ZDIwZmRkMGUwODUgbGVnYWN5LXRydW5rCis0MTQyOSA2YTAxOGQ4YzU5YzkxZTA0NmNiNjcxZDQ2NTk4Mjk2Njg1OWU2MDNjIGxlZ2FjeS10cnVuaworNDE0MzAgNjAxNWRmMTM2YjAwZDFiY2NjNDEyY2RiZTIwODhiMWMwNDU1NmU0MyBsZWdhY3ktdHJ1bmsKKzQxNDMyIDliODg1YzkzNDE0NGI3MDU1ZTM2YmQ2MTdhMGUwYWM4ZTEyMDdkMTQgbGVnYWN5LXRydW5rCis0MTQzMyAzZTYzNGU0MWI2ZWMzYzc5NzAxYTJhY2YyYmIxNmJmYzM2ZDBiNjYwIGxlZ2FjeS10cnVuaworNDE0MzQgNjg2Nzk5NWExOGE3ZGE5MDBlNzlkMjIwNzY1ZmQxOGFhNWNmMjViYSBsZWdhY3ktdHJ1bmsKKzQxNDM1IDc5ZjJjZTMyMDE5MjVjOWQ2M2VjYjE2NDQ4ODc2ZjVkZmFiZWZhOWQgbGVnYWN5LXRydW5rCis0MTQzNiBkYmM5M2VlNTNlMmZlZmZjYmZiOWVlZTQxNTc3ODRiM2U5MzUwNmRiIGxlZ2FjeS10cnVuaworNDE0MzcgNjAwYmJiYTU2ZjliYWIzODJiZDgwNWM1NDA1Nzg1N2FhZWYwOTMzZiBsZWdhY3ktdHJ1bmsKKzQxNDM4IDlmNzNkYzA5NTNkMjAyMDRhNTQ5YzhjNzgxYTRjNDg4NGIyMjJjZWEgbGVnYWN5LXRydW5rCis0MTQ0MCBmNDg0MmY0MjcwMGJkYjdmNzNkYjg4YzdhZjYzM2IxMTdmNGE4OTNiIGxlZ2FjeS10cnVuaworNDE0NDEgMzdkYTk2OWFkMTE2YzViYTliNzM1NWMyM2YzYmRmZmEwNzBmZWYwOCBsZWdhY3ktdHJ1bmsKKzQxNDQyIDkwMDM4MzZhMDM2ZjEzMzUyYjViYWIxYjJlYzczNzJhMjBkOGUyNGQgbGVnYWN5LXRydW5rCis0MTQ0MyBmNTMxYzA1Y2QyNDA4NjZlNDYwZWVlY2RkMTAwMWI4NmVlZmRiZTU2IGxlZ2FjeS10cnVuaworNDE0NDQgOTQ3NjU2NjMwYjEyOGRmZThlZTIwN2M3NmQ2ZmY0NGEyMTU2YTFlMiBqaW0tZG9jdGVzdAorNDE0NDUgM2FjYjZiMzQxMDc1YzlhNmU4MzQ2MjZkZDc4OTFiMGJiOTRlN2FiMiBqaW0tZG9jdGVzdAorNDE0NDYgNGFjM2ZhMTU4OTI3OTAyMzA3ZWVjMmY5MDkzNDc2NjQxM2U0YmY3ZCBsZWdhY3ktdHJ1bmsKKzQxNDQ3IDU4M2NlOWMwYzY2NGViYmE5OGQyYjcxYTMwNTMzMjhiNTQ4ZDY2OTMgbGVnYWN5LXRydW5rCis0MTQ0OCA3NmVkN2ZkYzlkODViZGY1ODI5MTIyNGMwNTkyZGYyYzEwMjhiNmZhIGxlZ2FjeS10cnVuaworNDE0NDkgNDRkNjNlZWRmYWNhZjA0NzBmMzI1NDI2OWUxYTliMzVkYjhjMDRhYyBsZWdhY3ktdHJ1bmsKKzQxNDUwIDA4NmNhY2NmZmYwZTc2NmFjM2M3NTk4YzBlZTllMzQ1MWVjMjhhZGUgbGVnYWN5LXRydW5rCis0MTQ1MSBmMzM0ZWZlNzZmNmE1NDYyMDI1YmY5MjI5ZjJlMjE3MTJmZDg0NWI0IGxlZ2FjeS10cnVuaworNDE0NTIgNmQ4Y2U1NTcwY2I3MDIwY2RjYmMwMzA5NzFiNmQxODQ1MjU4YjRlZSBqaW0tZG9jdGVzdAorNDE0NTMgNDBmM2Q3OWIyMTI1MGE0MTVmNzk5ZDI0MTEyZmVmZGQyMWJjNDYzMSBsZWdhY3ktdHJ1bmsKKzQxNDU0IDk0YTQwOWRhNGJkNDBiNzMyNmY3MWFhNmQ4NjU0NTNmNTU2YTk1NWIgbGVnYWN5LXRydW5rCis0MTQ1NSAxZjlkNGFjMzUwMTAyODIzMTJiOWFmMzg4OTM5ZmU1MGVmYzM4ZWIxIGxlZ2FjeS10cnVuaworNDE0NTYgMGQxZTJlNzNjM2VjMDMzNzdhOTFlNmYxYzljNGZjNTYwNjc0NmYxOCBsZWdhY3ktdHJ1bmsKKzQxNDU3IDI5NDIwYmQzYjVjYmIxOGE0ZTg5MjA2NGM4MTAzZjBlZmJiMWEwMGIgbGVnYWN5LXRydW5rCis0MTQ2MSAzMjM2YjVmYjFmYjcwZjMwOTcyMzI5ZjlhYjZmNzE1Mzg4NTE0Njk0IGxlZ2FjeS10cnVuaworNDE0NjIgZTcxNjQ4M2NiM2Y5MTRjYjE5NmZhZDYyNmI0YzE2OGE1ZDRlN2NkNSBsZWdhY3ktdHJ1bmsKKzQxNDYzIDAzODY3ZmM2ZmQ4MDc4Y2MzYjRiNTY5YWMzNzJjMzBmOTVlNmZjYzMgcmVsZWFzZTI0LW1haW50Cis0MTQ2NCA1YjgyMTIwY2I0OWQ2MTIyZGQwYWE2ZTNiZmY0OGEyZjE2MTc5NmE3IGxlZ2FjeS10cnVuaworNDE0NjUgZjk5ZDZjYjg4ZjZmMjA4YmU5NjFmNjU4YWVjOTExMDI5NDc1ODJkOCByZWxlYXNlMjQtbWFpbnQKKzQxNDY2IDM5NTZkNjIwYWYwOWJhMDBkMDY3ZWQxMDFjMzM4OTBlOWI4ODFkYWMgbGVnYWN5LXRydW5rCis0MTQ2NyA0Nzg5ZTc1YTZmZTdkMDYyMDYyZDIyYTU5M2JkMjg4MjE1N2MwNjFiIHJlbGVhc2UyNC1tYWludAorNDE0NjggZTI0NzNjNGYyZWUwZDdmZDdlZGMyYmNlMTJkMTY3NjcxOWU2NTg2YyBsZWdhY3ktdHJ1bmsKKzQxNDc4IGY0MTRmZjI4NzgyM2I2MGZmMzI3MjIxZmU1NDUxZWExY2M5YTYyYTAgbGVnYWN5LXRydW5rCis0MTQ4MCA4ZmQ0NmI2NjBlNjY5NTBiNjliNmE0OWQ2ZTM1N2IxZjYxMDUxOGFlIGxlZ2FjeS10cnVuaworNDE0ODEgNzFlYTZiN2Y1OGNlMzhkMjI1MDUwOWE3YzU0YWRjN2ZjN2FlMWQwNyBsZWdhY3ktdHJ1bmsKKzQxNDg0IDgyNTY1NWJmZGYyMDY0NTAwZWFmMDYyZjdlZjI1YWRmZDE5NjRiOTAgbGVnYWN5LXRydW5rCis0MTQ4NSAwNDQ1NDJkNzA1YzJjYWVlZGE5ZmI1Nzc0ZmI0MTVlNGQzMWI3MzIwIGxlZ2FjeS10cnVuaworNDE0ODYgZmU0YzYyN2IyMDk2NWU5MDU5NjQzZWNmOWI5NzE3OGYyNjkwMzVhZSBsZWdhY3ktdHJ1bmsKKzQxNDg3IGU0YTVhODRlNWViYjEzOTczZGQzNTBmYjAxZWYyODM4MDFiZjQ1YTggcmVsZWFzZTI0LW1haW50Cis0MTQ4OCBjZTliYTAxZWI3ZWQ1ZmZkMTNiZTIxYTM1NzY3NGVjOGRhZjZkNzAyIGxlZ2FjeS10cnVuaworNDE0ODkgZDcyZGI4MmE3MGNkN2FkZWNjNmI1MDM0NTFjZDYwNDliZTM2Njg0OSBsZWdhY3ktdHJ1bmsKKzQxNDkwIGRmNTkyODU1OGE1N2I0MGZlY2Q2OTFiODZmYWY4ZmEyODMzNmFkMjEgcmVsZWFzZTI0LW1haW50Cis0MTQ5MSBlOWJlOWU2MTg4ZjRkNGUzMjZkN2MxNGVhYjRlNzJlMGU3Mzc1NzVkIGxlZ2FjeS10cnVuaworNDE0OTIgMmIwY2Y1MGU3N2VjOThhMTU0ZTc1ZjhmOTdjYzA4NDc1M2JiN2QxMSBsZWdhY3ktdHJ1bmsKKzQxNDkzIDlmZDBjZDM2MmFmZmM3MDkyZmQ2ZDE0ZTJjMWQ4ZTc3ZGQxM2ExMmYgbGVnYWN5LXRydW5rCis0MTQ5NCA4MDBmNDhhMTRhOGEzODExMmZhMTEwMzg2NzNjZDkxYzE1NGZjZWQ5IGxlZ2FjeS10cnVuaworNDE0OTUgYTZiZjdjYWVkMTM1NzA1NjRlMmM2ZTVlZWZjN2NjNmYwOGEwNDI4MyBsZWdhY3ktdHJ1bmsKKzQxNDk2IDFkZmQ1ZDYyZDc2NGVkZWM1YzcyYjI2ZjdmMWU1M2JiMGI4NWVlOWMgbGVnYWN5LXRydW5rCis0MTQ5NyBmOTM3Mzg3ZjRkZjEyMWY4ZjNkMWY5MGU4YmMwNzA4ZTY2ODk1YjhhIGxlZ2FjeS10cnVuaworNDE0OTggNGQxZDI3NzE3OGE1N2FkM2M1MzcyYjVkZmZjYzBjNmIyODA5MmE4MCBsZWdhY3ktdHJ1bmsKKzQxNDk5IDRlNWUxNmEzYmUwZDNjMzg4NWQ5Mjc5NWRlZDljMmM2NWUzNWNhNzIgbGVnYWN5LXRydW5rCis0MTUwMCAxMWExYmMzNTI5MTdhM2VkZjFhYWUyY2E1MmQwMTY3M2M1MjFjODIzIGxlZ2FjeS10cnVuaworNDE1MDEgOGZlYWVkMDdmY2NkNzE0NTI2YmJhODkzMDM1Y2ViYzY3NzdjMmQ1ZSByZWxlYXNlMjQtbWFpbnQKKzQxNTAyIGNmMTU3MTRjOWM4YWEzNTNmNmQ5MjM3NDM3YmRmZGNkOWY3NGM4NWYgbGVnYWN5LXRydW5rCis0MTUwMyA2OGIzOThhODVhMzg3NGJkNDJlNmU4YzgwZGMzMTY1YzZlNDBiYzBkIGxlZ2FjeS10cnVuaworNDE1MDQgMTJmMjIyYjYxN2I4OWY2Y2UxMDMzMmVjZjBhNTlhNTNlMzYxMTY3MCBsZWdhY3ktdHJ1bmsKKzQxNTA1IDNmZDk3ZGUwYTc5MDgzZTQ4ODExZWI1N2QyYTE2M2JmODcwMWE1MWYgbGVnYWN5LXRydW5rCis0MTUwNiBmMTNmYzBjOWE2YjNhNTY4NDZiYjVhMmUwZDE5MmUyMzRiYTU2YWY3IHJlbGVhc2UyNC1tYWludAorNDE1MDcgNTFmNGVlNGY5N2VhMWFiZjk3MmY4M2U5ZjQwMzg2ZGIyYmIyOGYyNCBsZWdhY3ktdHJ1bmsKKzQxNTA4IDFmYWEzMDY5OTNjMDVhZjUxODhkNTgyMWYxOGVmZjY2ZmY0Y2UzMmQgcmVsZWFzZTI0LW1haW50Cis0MTUwOSA5ZmM2YmY2NTVmOWNiMDI5NGI3ZDZjYWMwNWY4OGI1ZmU3NGM1YjgxIGxlZ2FjeS10cnVuaworNDE1MTAgZDRhNmQyNTkxY2Y1OGExMThmMDVhMDBmMTFjMmM0ZTdlMTcyOGFjYSByZWxlYXNlMjQtbWFpbnQKKzQxNTExIGUxMTMyMzE4OWM4NDkxMmUwZWUyNmU5MTMzMWM5Y2Q1MzI5MzZiYmYgbGVnYWN5LXRydW5rCis0MTUxMiA3NGU1NjFhN2U4MmNhZDdhZTM4ZDg1YzMyN2U3NmRjZmQ2OWQ2N2UwIGxlZ2FjeS10cnVuaworNDE1MTMgYzk0MjY4Mjc3ZGU5MzgzNjg1YmU4NjNjY2UwMThhMmE3NmRkNzExNyByZWxlYXNlMjQtbWFpbnQKKzQxNTE0IDFmNzc0NTI5MmU1MGVkODRkMzhlMjdiNmQ1MDc5OGMyMmUwY2I1NmQgbGVnYWN5LXRydW5rCis0MTUxNSBmMjYwNWY1YTZkNDZmODNhNzlkZWUwOWZiYjJhOGRkMDZjOWIwMGEwIHJlbGVhc2UyNC1tYWludAorNDE1MTcgYzJiYmE1ZjQ2YWI2ZWFlMTc3YTZlNDk4NTZjZjIxMjVlOGE2MmY4NiBsZWdhY3ktdHJ1bmsKKzQxNTE4IGZhYjM3MTM2ZGQ2ZGE1M2E4YTA5YTI5OTBhOTE1MWUzMDUxNjEyZDUgcmVsZWFzZTI0LW1haW50Cis0MTUxOSA5ZjY4NTJmZjNkMTkxZTQ4YTRjMTAxMWRjNGUyYjc0MWVmMjczMzZjIGxlZ2FjeS10cnVuaworNDE1MjAgMWUxYzNmNTUzMjhhMDg2MTQwNDdlMmI3MDEyMThiYzE1YWIwZGIyOSByZWxlYXNlMjQtbWFpbnQKKzQxNTIxIDcyZDVjNjBmYTQ1ZDllZGMzOTViZDliN2Q4MWE4MDI4MmM0MDkyYzYgbGVnYWN5LXRydW5rCis0MTUyMiA5ZTYzMGNjMWQzMDkwYjllYzIwZTVmZDc3YjBlYmEwYTI5NDAzZDdhIHJlbGVhc2UyNC1tYWludAorNDE1MjMgY2YyYjRjOGFkMWFkNGU0NmY2ZjJlNmZhNWM2NzhhZjZhOGFlMjE3ZCBsZWdhY3ktdHJ1bmsKKzQxNTI0IGI3YzZjNDYxYTgwODE4MGIwYmJmYjcxNDEyMzUwOTIwNjBjMTc5NzUgbGVnYWN5LXRydW5rCis0MTUyNSBlMGRkZWE4ODFmNGFiZjcxYzRlY2E0ZTgxMzM3MGIyMDliZjliMGJiIHJlbGVhc2UyNC1tYWludAorNDE1MjYgMWZkZWJiZDYwZDdkZGRhMGVlMGNhM2M3Y2YzYWIzZDQ5ZWU4NWMwYiBsZWdhY3ktdHJ1bmsKKzQxNTI3IDdjODgwMGI4MWM1MGM5ZjY1OWFjZDc0MWE4OGZlYWFkNDhiNDc5MWMgbGVnYWN5LXRydW5rCis0MTUyOCAyMTUwYWY4NGExODVlOTA4ZDVlYzU4ZmE0YTViYjU3Y2RjNGNlZDU2IHJlbGVhc2UyNC1tYWludAorNDE1MjkgZTZkMzFjYmYyZWQzOGM1YzFjMjljNmY1NTAyYjQyOWIzZTAwYTkxMCBsZWdhY3ktdHJ1bmsKKzQxNTMwIGJiODBiOGYzOTNlZmYxZDJlMTlkZGMxOWU0MGY1ZjUyMDAxMDdkYmMgbGVnYWN5LXRydW5rCis0MTUzMSA3OTM3NGViNmRiNTE2Y2NhOWE4NGJkZjk2YjQ3YTE3ODU4ODhmZDE3IGxlZ2FjeS10cnVuaworNDE1MzIgY2IxZmYyYTg1ZTNkZGQyMjgxNTg2NDk5MmIxZTcxNzlmMTdmNGM5OSBsZWdhY3ktdHJ1bmsKKzQxNTMzIDAzM2JiNGRiNWFlOGMxYTYyNGI4YjFlMzgxZDFiNmJhZWRiMzZkMTEgbGVnYWN5LXRydW5rCis0MTUzNCA2ZDZjN2NkNDUyOTg5ZTU4MThhMGJhMGViYzdhN2EzMDYxZGZmNzU0IGxlZ2FjeS10cnVuaworNDE1MzUgNWM4ZGM1ZDIxOGQ4ZDcwZjJmMDNjODk4MDM3NjA5ZDExM2ZjNzk0YyBsZWdhY3ktdHJ1bmsKKzQxNTM2IGI0NmRjNmQxMDk4Njc1NDMxZGEwYWZkMTJjY2U5ODA3NWUyMmY4ZDYgbGVnYWN5LXRydW5rCis0MTUzNyBlODBhMWFmNjc2MjNmMGY1NzI5YzFjZGFjM2E3MWZhN2EwNmVlZmM5IGxlZ2FjeS10cnVuaworNDE1MzggYjJlYjE1ODljMjJiNTEzN2VlMTMxZGZhMjgwN2Y3ZmQ1MjJhOTZjYSBsZWdhY3ktdHJ1bmsKKzQxNTM5IDQ1NzJmYjRkZmJiM2YwZmI2YWQ0NTczMjk2ZDc4Y2I2NTg3OTllZTcgbGVnYWN5LXRydW5rCis0MTU0MCBlZjYwOGI1OGJmZDhhZDVjMTNkOTVlY2FlYWE1MmQ1OTcwZmUzNzk3IGxlZ2FjeS10cnVuaworNDE1NDEgZjgwNTYzMjhmMDFhMTYzZGNkMGU1Mzc2NmQyYWNhZDYwYmY5ODEzZSBsZWdhY3ktdHJ1bmsKKzQxNTQyIGI5YzY4MmVkOTEwY2RjNjJiMzc2OTRjZTA3NDBlNzcyNDc0MjFlOWMgcmVsZWFzZTI0LW1haW50Cis0MTU0MyA5MDc5NzIzMzIwOGVmZTBmYTE2NThmNTcwODU3YzY1NzA2OTM5Y2E1IGxlZ2FjeS10cnVuaworNDE1NDQgNDgzNTNjZjUxMzQwM2ExZGM2MTI2YjM0NWYzY2FlN2YwZjU3ODJiZCByZWxlYXNlMjQtbWFpbnQKKzQxNTQ1IGQ3ZjYzZWRlNDk1ZTg1ZTI1NTFlYjcxYWQ1OTQzYzIyNGJlMDU2YjEgbGVnYWN5LXRydW5rCis0MTU0NiBkN2Y1MmZjNDIyNDU4YTE2NTk3YWJkZDJhZGUxOWM3ODhjMGIzZjcyIHJlbGVhc2UyNC1tYWludAorNDE1NDcgZDlkOGIyZTJlNjBhZGYwNmVlMDhjMzhlMjBjNzE1ZTY2Yjg4NDM5MCByZWxlYXNlMjQtbWFpbnQKKzQxNTQ4IDc1YTc5Y2M0Y2Y3YjY5MDZjNTIwM2JiYmVlOGU4MTQ0OWVhMjFjOGYgbGVnYWN5LXRydW5rCis0MTU0OSA5ZmM3ZGZlODZmOTY2MzYwNWJlOGY2NTBmZmZmMzE0M2Q5MGM5OTNmIHJlbGVhc2UyNC1tYWludAorNDE1NTEgMWQ4ZWZmZGU4MmYxYjQzZWY1YzhlNTk2MTU3ZGY2MjQ5NjliNmIyNSBsZWdhY3ktdHJ1bmsKKzQxNTUyIGZjYTczMzc3MTBmZDdiMzQxN2U0NzQzNjdlY2Y4NTBiZWQ1NWRiYTkgbGVnYWN5LXRydW5rCis0MTU1MyA2NTg0NDRiYWViYTM3ZWZjOGU0OTVhZjdiMWEyMzE0ZGQ1YzE1YmIzIGxlZ2FjeS10cnVuaworNDE1NTQgNzI1NTVhOTY3ZDZhODVjYjM3Y2MxZjEzZjFiMmIxNjljMzU1NWJhOCBsZWdhY3ktdHJ1bmsKKzQxNTU1IDczZWJkYzYyYmY4ZjBkMWM5MTNiMTY0ZjMxMGExMzBlNmZiZTA3ZjAgbGVnYWN5LXRydW5rCis0MTU1NiA0ZDA2MTYyYWQyMDljODJhNWRiY2U0NmJiNGUxNWFmOTFmZDRlN2ZlIHJlbGVhc2UyNC1tYWludAorNDE1NTkgZDE3MmNiYTk2NGI3ODFiYTNlN2ViNDYwZThmNzllZTg1NTUzOTkxMCBsZWdhY3ktdHJ1bmsKKzQxNTYwIDlkOWU0ZWU0ZGE4OWZlZmM0YTY3MGI5MzQwMGFkMDc0MzZiZmE3ZDEgbGVnYWN5LXRydW5rCis0MTU2MSA5YzQ3NjVlOWRjOTI3MjM2NTI1NTM1ZDVkYTZkYjBlMjRlYTZmYjk3IGxlZ2FjeS10cnVuaworNDE1NjIgZjk5NzIxMzgzNmJiMjkwZDYxZDRkMWY5YTM4ZjdiZmRkYzM3Yzc3YiBsZWdhY3ktdHJ1bmsKKzQxNTYzIGExYjZlNjc4NGNhNTgwZTVhMzA0YTU2MzE2ZDVjZTI4Y2RhNTJlNDQgbGVnYWN5LXRydW5rCis0MTU2NCAxNWNjNjAxNjc5NWUwMzQ2NmNlODE1YjQwMWQzNjg1YmEzNzZmNDAwIGxlZ2FjeS10cnVuaworNDE1NjUgNzRlOWZlMDY4YzRkZDIxODQzZjRjZjE1ZTFjM2RjNmE0OTUwNzkwYyByZWxlYXNlMjQtbWFpbnQKKzQxNTY2IDRlYWE3MmJhMTlhMmU3MjdiZDMwYjUyZDQ5ZDcwYzM4MjllMTBhZjUgcmVsZWFzZTI0LW1haW50Cis0MTU2NyBhMTdjY2ZjMzcyZTk5YTk4NDA0ZmViMzQzMzUwMWUwYTg3MWU1NDJjIGFzdC1vYmplY3RzCis0MTU2OCBlNjc1ZmQyOTViNGI5ZTI2NTEzMWM0NGFiMzkzZmM3MjgwOGY1MTNmIGFzdC1vYmplY3RzCis0MTU2OSBjY2Q4YTBkMjg5NTA5NjZkODUzZjU4NjJhNjRlNjc1YmZlZDY5NDIzIGFzdC1vYmplY3RzCis0MTU3MCA1YjBmNWQ5NzYzMjU4ZjlhZjg3ZmQxNjc5NTJmMWRiOWJiNmMyOTg5IGxlZ2FjeS10cnVuaworNDE1NzEgYTVkOGYwNWJhZjk4Y2YyYzUwZDhmZjU3MzZmM2E3NGU5NzRlNTBjYiBhc3Qtb2JqZWN0cworNDE1NzQgOTZhNGU4MDY0MjVlNDE4NTVlNzVjZjUzMzJjY2M0YWJlMWE1MDc1MyBsZWdhY3ktdHJ1bmsKKzQxNTc1IDQ2NTAxNDkwMjUyZGI3YWFhMzFkYzhjYTc5OGM5ODE5MTg3NDAwMzIgYXN0LW9iamVjdHMKKzQxNTc2IGViNjZlYWU5YzJjOGMzNDIwNDIwMWYzY2IzYTUzYmRiZmIyYzNjMWQgYXN0LW9iamVjdHMKKzQxNTc3IDg1MDdkNTgyNTM1NGFmNzk1YmI1YjVmZTZhMDQ2OTFiNjgzOGQzNTQgYXN0LW9iamVjdHMKKzQxNTc4IDljMDQ5MDk5N2U2NjIwMGNlMzhjZmU5MDA3NDA5ZDg2NGFkMjhjODggYXN0LW9iamVjdHMKKzQxNTc5IGFiZmVhYjczYzhmMTljY2VmNzJlODQ0MGE1MWRlNzcyNzcwNGJlMDIgbGVnYWN5LXRydW5rCis0MTU4MCA4MDU2M2RjMTM0ODc1ZjBmYWFmYzg5NjU1NGU5ZGUxY2U1YTQ5NDI4IHJlbGVhc2UyNC1tYWludAorNDE1ODEgNmY0NjEwZjY5MmUwZWFiODU1YmJlODNlMmRhNDNhNzNmYzQwMDNhMSBhc3Qtb2JqZWN0cworNDE1ODMgN2FhYTA5ZjFhMDQ3MjQzMzFjM2Y1ZjU1YTQ0MjRiM2IxZTM3ODIxMSBhc3Qtb2JqZWN0cworNDE1ODQgYzU5M2YzMzY0M2RkZjUwYmVkNTBjYjFlZTZlMDc4NTNiYjQ1OWZjMiBhc3Qtb2JqZWN0cworNDE1ODUgODFjOTQ0YzNkMTNhMDU4ZjVmZjVjN2VjZWM3MWU2NDAyMDJmOThlOSBsZWdhY3ktdHJ1bmsKKzQxNTg2IDE5MWI1OTkwOWRlZDhkNDAzOGMzN2E2MzFhZThlZThkMDY4YWY0MzggbGVnYWN5LXRydW5rCis0MTU4NyBlNzJiYzVkYWZlMTZlYmVlZTlhZmI1NWUxM2Q1ZTdlYmMwMDg5MDBkIGxlZ2FjeS10cnVuaworNDE1ODggNWQ5NmE1MzZiYmYzZTY1ZDIzZGE4MDJmMzk5Njc1NGFiNjU1NWQ4NyBsZWdhY3ktdHJ1bmsKKzQxNTg5IGFkMGYwMzg1YzZmMzk4ZmM0ZGFlYjlhMjBhZjA0ZmUzNDExODUzNmEgbGVnYWN5LXRydW5rCis0MTU5MCBjZjMxYjJjOGU4NTQ2MGYwZDQ4NDlkZWQwZDA3NDQ4ZWM4ZjhhZDQ5IGxlZ2FjeS10cnVuaworNDE1OTEgMDNhZTBiOGViNmNiZmI0YjFjYmFlZjU0ODQyMDg0ZjdhMmFkODg3OCBsZWdhY3ktdHJ1bmsKKzQxNTkyIGUyNmRjMzM0ODkwOWJmNzAwNTI3NTQ4NmU2OWQ3Y2I3ODY3YzM3YTUgbGVnYWN5LXRydW5rCis0MTU5MyAxNmUwM2NmYjlhMDIyYWUxZDM5M2I2ZWI3Y2EzOTNmZWEwZWNmOGE5IGFzdC1vYmplY3RzCis0MTU5NCA3NWQ1MzZiMjQ3ZWFhOWMxOGJiYTUwMmYyMzVlMzUyMGFkOTEzMzY0IGxlZ2FjeS10cnVuaworNDE1OTUgYTA4N2U3YmY1MGYxZGUzNzg0NDAxYWVkMDQ2MDFhNDI1ZGE5YmRhZCBhc3Qtb2JqZWN0cworNDE1OTYgNTA5OTU2YTU0ZjM3NjE3NjE4NmQ2Mzc2M2I3ODY3ZmEwZmIxMGYwNiBhc3Qtb2JqZWN0cworNDE1OTcgM2E0MjE0YmZiNmU0NGIwMDVlZTEyYmQ4MTVmZjU3NTE2ZmYxY2E0ZSBsZWdhY3ktdHJ1bmsKKzQxNTk4IDUyMjUxMjI0Y2I5OTVlMWJkNzg5NmVkOTgwODU4NjQwMDlmMTMyZTYgYXN0LWFyZW5hCis0MTU5OSA1YmE5MjBlZWYwMTYwNDM4MTM5MDU3YWM3OTY2ZDA0NDNiNDAyNGNkIGxlZ2FjeS10cnVuaworNDE2MDEgOGVkYTFhNThhNDkwMzcwYTI2ZjIyNDlmZWRlNGE1NzIyNTE5ZmQyZCBsZWdhY3ktdHJ1bmsKKzQxNjAyIGYwMjBhN2FkZTZiNWQ1ZWVjN2RiNDgzY2ZlNDUwY2RkNDJiNjFlMGEgbGVnYWN5LXRydW5rCis0MTYwMyAxZTEyODdiNmY2NTI2ZjU5Y2IzZjFkMDk0MGE3OTIxNjMzMTY3MzQ2IGxlZ2FjeS10cnVuaworNDE2MDQgY2IzYWU3Y2VhMTA2NjYyNDljM2YyYTAzMWVmNGZiYjJhM2VkYzBkNyBhc3QtYXJlbmEKKzQxNjA1IDVkMDMxYmQyMjMwN2JjYjQ1ODZjYWNhOTVlMDdmMmZhMTc1YzM1ZjAgYXN0LWFyZW5hCis0MTYwNiAzYzIxZDViZDE1YmU2M2ZmNWZkZDNkNDhkZjYzZTg2NTkwMjQxYzZhIGFzdC1hcmVuYQorNDE2MDcgYzg5NzA3ZGFhMDExNDQ5YzQxNTlhM2I1ZmNlYTJjNTBmMjI2YzA4MSBsZWdhY3ktdHJ1bmsKKzQxNjA4IDAxYmQxNDZkYzUyMDdmN2Q3YzE3YmUyMmMzNGM3YWNiZWJiYzYzNDQgYXN0LW9iamVjdHMKKzQxNjA5IGM4MDA5YmQ2MTE0ZmE2NWIwODZiZWM4ZDE4Yzg2MGY5NzFjNjFjNGEgYXN0LWFyZW5hCis0MTYxMCBlZTU1NDMwZTVjZmU3NzhkY2NhNjY3MzZjMDdjNTI3ZjE0MWM1MDA4IGFzdC1hcmVuYQorNDE2MTEgNTUxZDU4YjNkMGNkM2M3NmM1MzBmYWZkZDU4NjM4NjMwMzU2NmU5YSBhc3QtYXJlbmEKKzQxNjEyIGFhNWQ4ZTRhMDBhOGE0ODYzODY0NWQ4NTQ0MGE4YzhlNjU3MjdhMWQgYXN0LWFyZW5hCis0MTYxMyBjMWU2NzhlN2JiMTI4MzliYmEzOGYxZTg3NGVlMjFjZTQzZjViNGI4IGFzdC1hcmVuYQorNDE2MTQgYTI5ZGM1OGE5OWYzODk0ZWE0OWUzZGUzOTViYzQyYjRlZWI1ZmU2YiBhc3QtYXJlbmEKKzQxNjE4IDExZWU5ODJmOGM4ZDBlNDYwZjRmMWE0ZDBkYWZmYWNjYWY5ZmRhMzMgbGVnYWN5LXRydW5rCis0MTYxOSBkNDdhYmY5NzU4YzlmZWFlNzU5N2M2ZmM0YjgyZWU5YTllYjYyZWYwIGFzdC1hcmVuYQorNDE2MjAgYzYyOTgxMjUwMzllNGRmYjEzODdiYjA5MTFlYWIwOTdmMmVhOWQxYiBhc3Qtb2JqZWN0cworNDE2MjEgYzBjMTJhYTc1N2U3MDlmMDljNzZiZDMxNzYyMzA3NzdmMmE1ZTJmZCBsZWdhY3ktdHJ1bmsKKzQxNjIyIGFiZTFiMzMyZWFhMDBmNzA3NDA5MzJjMWY2OTg2MGM2YTYzN2E5YzQgYXN0LW9iamVjdHMKKzQxNjIzIGMyMzZlYjZkOTkzNDUyNzVmOWQ0ZmRhZWFmMzc2ZTBhYTlkZGNiNjMgYXN0LWFyZW5hCis0MTYyNCAxZTY5ZTYzYWUzYTA4YjQ5Zjk4ZWI3NWYwMTNhOTM4YWQ5YWJkNWZjIGFzdC1hcmVuYQorNDE2MjUgYWI4YWI5YmU2ZjRiNDdjYTBiYjFhZTY5YTk4MTBjNDNiNGFlOThlMiBhc3Qtb2JqZWN0cworNDE2MjYgYTI5Yzg5YjRlOGM2MzA5NWM3MmMxNGUyNWVlODE5Mzk5OTBhZWQzNyBsZWdhY3ktdHJ1bmsKKzQxNjI3IDhhZDMxOWYzYTkzNWVjNWQ0YWZhMGYxYzVlMjhmOWNlODY4MDJkNjAgYXN0LWFyZW5hCis0MTYyOCA1MWUzYTgzOGFlYmU3NDAxZGM4NjI4YzgyMTY2YzAwMmQ5Y2YyMDJlIGFzdC1hcmVuYQorNDE2MjkgYWI0MzFiMzI0YTRiZDQzOTk3MzIyZmFmOWFkM2I1NjM4MTc1MjJmOCBsZWdhY3ktdHJ1bmsKKzQxNjMxIGI3N2VkY2VlODg4Y2EzNDUxYTcwNWJiZjM0MWQwOThkMmQzZjA1ZmIgbGVnYWN5LXRydW5rCis0MTYzMiBkYmNjODkxMmEyNGRlYzQ0ZDZlY2EzZDA5MDI5ZDdjMzhjYWE2ZDcxIGxlZ2FjeS10cnVuaworNDE2MzYgNjQ5YzM0MTgwYTBmNTBlMDA1NTA0YmRmOTRlMDQyZmM4YWM3MDE2YSBsZWdhY3ktdHJ1bmsKKzQxNjM3IDk2ZDFmYTM2OTY0ZDRlMTFhMDI3M2I0OWU0ZjA2ZGMxMmZiOTU3YzQgbGVnYWN5LXRydW5rCis0MTYzOCA5NTQxMzY5YjBkY2FmMDQ4ZjFiZDk4NmEyOGM5NmZmZWVlMzdmODA4IGxlZ2FjeS10cnVuaworNDE2NDEgY2MzMjYxNTk3MTM2YzYyNTZmOTFjYTc2MzBkZGM2YzkzMjkwN2YzZCBsZWdhY3ktdHJ1bmsKKzQxNjQyIDYzMjE2NjlmMmY0ZDEwYzZiY2U1YmUzNWU5MWMxN2Q5OTIzNTUxNjAgbGVnYWN5LXRydW5rCis0MTY0MyAwZWI2ZWY5MmM1NmUyNTc5NmIzYjI5Y2RjYzE5MDQ4ZDEzY2ViM2I5IGxlZ2FjeS10cnVuaworNDE2NDQgNTJmMWQ1N2YyMzdkYmJkYzVkODM3NDRkZjZkMTNmNDY0YmRhNjEzMSBsZWdhY3ktdHJ1bmsKKzQxNjQ2IGU0YjYyMWUxZWRhNjYyMjA1NjUwZGRjMTE0NmY1YWE1MTU0NTUyY2QgbGVnYWN5LXRydW5rCis0MTY0NyAzMmU3ZmU5YzIzYjkxY2IyZjUxMTg4ZmI4Mjg1MWI4N2FhNmI3MjY2IHJlbGVhc2UyNC1tYWludAorNDE2NDcgZjZlNzM0YjFmMjYxYzU0NmQ4MGU5ODQ5MDM4MDU0YmYwOTdmZjg0ZSBsZWdhY3ktdHJ1bmsKKzQxNjUxIDZmNTAyZDM1ZmM3NzViZTY3YjgzMWQ0ZGIzZTVhNTk5NDFhMTA4NjEgbGVnYWN5LXRydW5rCis0MTY1MiAxMDIxNDBjM2EzNjE0ZGIzZTkzMjVhYjAyMTI0NTcxNGUxZGRkMTZmIGxlZ2FjeS10cnVuaworNDE2NTUgYTVhZDc2YTc4ZjRiMjlhOGFhN2Y3NDdkZGI2ZjE2YTgyZGNlMzhmZCBsZWdhY3ktdHJ1bmsKKzQxNjU3IDUyMmUwMDczZDljOWU4YmI3NTE3YmZjNjljMmViM2JjM2JkOWYyNDUgbGVnYWN5LXRydW5rCis0MTY1OCBmOTQ0MTg3MTVlNTUzMTI5OWYzYWI3Y2NkYzIxNWMwYTJjMzBjYjM3IGxlZ2FjeS10cnVuaworNDE2NTkgMDdmZGI0ZDJiOGY2MjMzN2QzOTM2NGE1NjkzNTk2ZjRmMWFkMTA0ZiBsZWdhY3ktdHJ1bmsKKzQxNjYwIDA3Y2U5Mzg4NTdlMWJhMmYxODVjNThkM2EyZGVhOTc2MWUxMjc3YzAgbGVnYWN5LXRydW5rCis0MTY2MSAxNjQ3MGI3MjJmMjA5YzAxMjU0M2U4YTkwMGVkOWJkNzE0NjY0ZDkwIGxlZ2FjeS10cnVuaworNDE2NjIgNDAzNjc4NzRmODYxNmFjNzA0NTdhODMzZjFkZWJkYmQyYzNiOTRmMiBsZWdhY3ktdHJ1bmsKKzQxNjYzIDM3N2RmMzliY2RhMWYyNmZkMzNmN2JmNzc3YjNiYzI0MzMxNjA0MGIgbGVnYWN5LXRydW5rCis0MTY2NCBlZDM0N2M0MzZkNTg5NjZjYmZkODRmZWJjMTQwYzUzMDkzYWNlZmJjIGxlZ2FjeS10cnVuaworNDE2NjUgYzI1M2U5OTNkZjhhY2U4MjE2MWViMmRkNzMyOWVjZGEwN2M3NmQ2YSBsZWdhY3ktdHJ1bmsKKzQxNjY2IDY4ODE3MzE1Yjc0Y2E5NjlhNGM3NmU1MzBkNjc3YjE4MmM1ZTYwMzAgbGVnYWN5LXRydW5rCis0MTY2NyBiZmQ2YTZmYzcwZWFmNTNkNmMxMGJlMGNiNDEyZWQ0YmE0YWJmYmY2IGxlZ2FjeS10cnVuaworNDE2NjggY2Y4ODYzNmNkZjRiZTk5ZDZiZWU5Y2ViMjU0ZTlmMjhkMzNjMzRkYSBsZWdhY3ktdHJ1bmsKKzQxNjY5IGExNGE3ZjYxNGE5NmRhNGJiOWJmNDYwNDU5MjhlOWEwNzhhZmI4YTggbGVnYWN5LXRydW5rCis0MTY3MSBiZWM5ZmFjOWY3N2M3MzAzNDFkYWI2Nzg4ZGRiZGQ3ZWY4NmE4Zjk2IGxlZ2FjeS10cnVuaworNDE2NzIgMjdkZjJmYmUyNzA2NjRjYTIyODVmZGQ3MmFlMzAwMWQ2ZDI5OTU1ZSBsZWdhY3ktdHJ1bmsKKzQxNjc0IGRiMWMwYWFiYzQwNWEwMmVhNTVhZGNiZWFjNjZhYzE3YWM5NDlhZjQgbGVnYWN5LXRydW5rCis0MTY3NyBlMDFkODUyNGI2ZjY0MmNiYjM5MDk0MWFkNDczZmQ1ODBiYzNiYWViIGxlZ2FjeS10cnVuaworNDE2ODIgY2Q4YjViMzFlMDJhYTRiYjhhYzk3ZmNmOTY3N2FjNmQxNDc1NzJhMCBsZWdhY3ktdHJ1bmsKKzQxNjgzIDkzMDFhN2MwMzEyYWMwM2I3Njk1MzliMDI5MzNlNzkzMzJjMzM5OTEgbGVnYWN5LXRydW5rCis0MTY4NCAzNWZlOTAzMjVmNWI3YTIyY2ZhNGIxMjQyMzZhYzAwNTljNjkwZjU2IGxlZ2FjeS10cnVuaworNDE2ODcgZjBhNTMzMGYyYjNlMTFiMWY1NzBjZmU0YWJjNGQ0MzUzZjg1MDk2NCBsZWdhY3ktdHJ1bmsKKzQxNjg4IDYzNWUwZDkwOTY0NWVmNjVhMzEzMmEzODBjYWYzMzlmN2E5NTlmNDggbGVnYWN5LXRydW5rCis0MTY5MSA2ZDdkMWE5OTZhMDIzYThkYTM1ZWZkOTlhYTYxNmM0YWJhZTE0NjNjIGxlZ2FjeS10cnVuaworNDE2OTUgMjQ5ZmZlMTNjYWY4YTU0YzZmZDZiYzAwZGJjOTNjODQ5NDQyNmYzZCBsZWdhY3ktdHJ1bmsKKzQxNjk2IGZkZjBhYzM2ZWI3NDYxMmZhNDY4YjMxZTU4NDk3ZmM2ZDQzOGZiNTggbGVnYWN5LXRydW5rCis0MTcwMCA0YmZjZDVkY2QwYmZhMjUwYTU5OTAzNTIyYjM2ZDJiNTFmYzA4Yzc0IGxlZ2FjeS10cnVuaworNDE3MDIgNzU0OGQ3NjU2ZDg5ODY0YjNhZTBiM2YxZGZjZTlhZGZiZjBhMzZmMiBsZWdhY3ktdHJ1bmsKKzQxNzAzIGRlNjlhNTI0ZjRlZGJjNmMzYjEyNWU5ODg3ODQ0NTFjNTFhODQ2N2QgbGVnYWN5LXRydW5rCis0MTcwNCA2NGM2YWI1NjcxZTdkNzcyOTY5OGIwOTE4YjE3ZTY0YzQ4MTUyM2MyIHJlbGVhc2UyNC1tYWludAorNDE3MDUgZGUwYzJmZWE2NWMyMWJjOWFjYmVkMzhkOGEwMDFhN2U0MDUwYTI2OCBsZWdhY3ktdHJ1bmsKKzQxNzA2IGM2OTFmZDYzZWIzYzA5NWM2ZWQwYmI4OTY4OTQ2YWYzNThkOWQzZjkgcmVsZWFzZTI0LW1haW50Cis0MTcwNyAxOGQyN2M0NDQ3ZDExMzZjZGMzYjEzZTAwNmVhMzAzZGY2NmI2NWZiIGxlZ2FjeS10cnVuaworNDE3MDggYzExNTEzNjkzY2I5NzAzY2U2OWE2MTQyMTFmMTMyOWU5OWZkMWFmMiBsZWdhY3ktdHJ1bmsKKzQxNzEwIDk4NjUzZDlmOWNjMzljM2U1OTNiNDE0YmJlY2JiOGRhMTQzYzRjODMgbGVnYWN5LXRydW5rCis0MTcxMSA2NTJiZDVlNWI3NzgyZjg2YzA3YzNhMTUyMTM2NmVhMTA5ZmUwNzQ0IHJlbGVhc2UyNC1tYWludAorNDE3MTIgMThmMDlhYzYxOWU4OTJmMmU5ZDViMGM4MzUwNThlMjI5N2VkYjQxZSBsZWdhY3ktdHJ1bmsKKzQxNzEzIGE1NTgzMWQzMjkxNWEwNWY2MWExY2Y5ZWRhYzNhOGE5MTY4OTA3NTcgcmVsZWFzZTI0LW1haW50Cis0MTcxNCA0ZGIxN2EwMGJkY2QzNTMwN2YzNjg3MjAxMWQ1YmQzNWM2M2M0ZWQzIGxlZ2FjeS10cnVuaworNDE3MTUgZGVlMjUzYTMxMTZjNDU2ZjliODZjZDc3ODFlMjVkZDM1MTRiNTU1NiByZWxlYXNlMjQtbWFpbnQKKzQxNzIyIDRlYzYwMTExMDkwNjEzNzYxZTk5MGZlYjZlM2RjZDNjOGI3MTY1ZjggbGVnYWN5LXRydW5rCis0MTcyMyA2NTg2Y2Q5OTIwZTdlM2ZmNmIxY2UwNDlhNDU5NDNkMDFkNGY4ODdjIGxlZ2FjeS10cnVuaworNDE3MjQgOWI4OTdmYjdhYzZhMjIxNmQ2ODk4Y2VjMDhkZDNiNTEwNjc5MDM0MiBsZWdhY3ktdHJ1bmsKKzQxNzI1IGY4OTNkNDAzYTk4YzFmODE5YzAyMTZhNjNmNTI5MzkzYTFjNWZmYjAgbGVnYWN5LXRydW5rCis0MTcyNiBmYTA4YzY5N2EyNzU4ZGIzZmVjZmQwZDhmODkyMjBiYjVkMWE3NTEzIGxlZ2FjeS10cnVuaworNDE3MjcgYWRlNjc4Njg3ZDNiMzI4MDVjNDI2OTlmYThjZmEzYjIyMDY5ODcxNyBsZWdhY3ktdHJ1bmsKKzQxNzI4IDMyMWVmZDAzNzg1OWNjY2U4M2RlNjYzZDljMzY3YzJmZmJkZDJmMmUgcmVsZWFzZTI0LW1haW50Cis0MTcyOCBmMWFlMTE0NTdkMzRiYzNiMGM2N2Y3Y2MwMzQzZTg5ZWNkNTI5NmMxIGxlZ2FjeS10cnVuaworNDE3MjkgODc3YjVkNGNhMzY4MTcyMTM0ZmE3MGIyMTQ0ZjRiMGE3ZTlhYjM3OSBsZWdhY3ktdHJ1bmsKKzQxNzMwIDczMTAzMmQxMDE1OWZiYzBkNTI0MjQ1M2Q2ODI3NzllMTQ2N2Y1Nzkgc3NpemVfdAorNDE3MzEgMjc5MTljZjg0ZGMzZGRmMGNkYjMwZWMxMTM0Y2Q2YzdjOGE5MjJjMiBzc2l6ZV90Cis0MTczMiBjZWM5YzJjMTRlMjhkNDRmNDA2MDY1MjdjZTgxMTJhNGM2NzhjYWEwIGxlZ2FjeS10cnVuaworNDE3MzMgOWVjNWIxNjVmZWEwODE0YTI3YmFhOGI5NjVmMTUyOTEwOWQxMWEzZiByZWxlYXNlMjQtbWFpbnQKKzQxNzM0IDc5NjMxMGNiZmZlYjIzMjRlOTQ2ZmY1OWUyZWUyZTUxMjYyNjA2MjMgbGVnYWN5LXRydW5rCis0MTczNSA0YzE1YThlOTFhZTc0ZmVjNWJkMGFjNTMwZGM2NmZmMzFmMWZhOTM1IHJlbGVhc2UyNC1tYWludAorNDE3MzYgODFkNTk5NTk1MWZkNDEwY2E4NmRjM2Y3NGQ1MGRmMTYzNjVkMGRmNSBsZWdhY3ktdHJ1bmsKKzQxNzM3IDk4MDU2MTk1OGYxZDM5MzNmZDYyMTM1MWY5YWRkM2VkMjk5YzBjNDYgcmVsZWFzZTI0LW1haW50Cis0MTczOCBmYjZlNjRlYjg2YzAzOGYzMDJjZTI4ZjNkOWY2ZjcyYzk3ODkxMTZhIGxlZ2FjeS10cnVuaworNDE3MzkgZWEwODNlZmRjOTZjNzNhOTkyMDQzZWZlYzdkY2UyNzc3MWUzZDFkYyBsZWdhY3ktdHJ1bmsKKzQxNzQwIDcxOWJhMDJkMmUyY2E2M2QxNTEyMmI0NDZkYzNmMjkzZmZlZDRjNjMgbGVnYWN5LXRydW5rCis0MTc0MSA3YmZiMDk3Zjk1OTc2ZjRlYmM3NmEzNzk1Y2UzMDA3NTI1ZGYxODk4IGxlZ2FjeS10cnVuaworNDE3NDIgM2QxYmFmNzE3YzVhZjVkOWVmODkxODZmNTAzNzU5NGU3MjZiOWEwZiBsZWdhY3ktdHJ1bmsKKzQxNzQzIGQwMjE0YmIxZmQ1MTJiNjdmMWNlNGViYjBjZTIzZmMxZTExOTZmMjkgbGVnYWN5LXRydW5rCis0MTc0NCA5Njk3ZWVlYWYyNDY2MzJlYzQwOTNhNzc2YTg2YTcwMDYxMjc5YThlIGxlZ2FjeS10cnVuaworNDE3NDUgNDVmN2I3MzgzYTRlMjBhOTcxMGY1MmQ5Y2Q5NmU1ODM3MjZmNjU3NiBsZWdhY3ktdHJ1bmsKKzQxNzQ2IGRlMTZhODVjM2I0Y2YzOGUyZTU2YTc4ODM2ZmM3NTcxYmRkMjFmMjkgbGVnYWN5LXRydW5rCis0MTc0OCAxNWI1OGU0NWYxYTEzMTZhY2MxNWI3NGQxN2UzODAwZTlkZjdmMGU1IGxlZ2FjeS10cnVuaworNDE3NDkgZGEwYmFiNWRkNzQwODlmNzI3Yjg2ZmZjNzI5MjNkMWVlNzJmNzNkYyBsZWdhY3ktdHJ1bmsKKzQxNzUwIGY2N2M0YWIzMDRlY2VhODFhYThhNDM5NDNhZjVhMzI2NzMwODA5NTcgbGVnYWN5LXRydW5rCis0MTc1MSBhYTdkN2RmODUzZDU3MDU5MDY2ZDNkNWU1YTlmYTcxM2QzYTIyMzNjIGxlZ2FjeS10cnVuaworNDE3NTIgM2I5MDI1OGZlYzlmNmIyZTZiM2M5ODM5NDBiY2EwMTQ4NGQ2ZDc1NyBsZWdhY3ktdHJ1bmsKKzQxNzUzIDFmZjQ3OTBiNzYwNTAxOGM2NDFmY2NjNDU5NjkyMTQ3YTUzZDAxNTIgbGVnYWN5LXRydW5rCis0MTc1NCA4ZWJlMzRlYjNlYjc0ODAyYTQ5ZjJkNzcxMGY3ZTRkNjQ0YTY0ZDQxIGxlZ2FjeS10cnVuaworNDE3NTUgMTA0NDBiY2ZhMDYxNzE5YzdiN2U5ZWZmNzVkMjFlNzQ3MDE5ZWUyZSBsZWdhY3ktdHJ1bmsKKzQxNzU2IDE5ZDk2YzJkN2RmNTRlMjlmMGVmNTg0MzEzYWViMWJkZTlhMTFmNTAgbGVnYWN5LXRydW5rCis0MTc1NyAzZjM1OGFmYmIzZDNmMzdhZjIwMzIzYzZhNzA3ODRjMTNiN2UwMmM4IGxlZ2FjeS10cnVuaworNDE3NTggNGNiZjJhMDEwZDk0NWI2YmNkOTU1ZmEwNTE4N2MyNTc5OTcwZWIwMCBhc3Qtb2JqZWN0cworNDE3NTkgZTNlY2E2NWFlMTQ0ZjVkYzg0MGI4NDY1NDZkZDRkZTY1OTkxMDY5YSBsZWdhY3ktdHJ1bmsKKzQxNzYwIDMwMWZiMGE5OTM3MTQ0ZWM5N2IzMjNhNWI4ZjQ1M2ViOGI1YmU3NTUgbGVnYWN5LXRydW5rCis0MTc2MiBmYTY5ZjBmYTM2ZmVmOWIyZTljNmE2MjE3Y2U0ZDEzMzRjNGIzZDExIGxlZ2FjeS10cnVuaworNDE3NjMgZTE0ZjQ3OTY0NzQ4MWU0ZmQ5YzUxODM2MTYyZjI5OGM3MzI3NmE5ZCBsZWdhY3ktdHJ1bmsKKzQxNzY0IDQ5YTA0OTNmMjQ1ZTNmYjg0ZTU1ZGYxOWUxOWEyZTkwNzMzZmJkYTAgbGVnYWN5LXRydW5rCis0MTc2NSBhOWQ0ZmI4NjA3ZDI5ZmU5ZjAwMDhkNDdlZWRjZGNjNzRlOTc0YTM4IGxlZ2FjeS10cnVuaworNDE3NjYgZWMzNDUyODQwYjk2NmU2ZDhkZTJkM2NmYmZhNGJjNzBmNzBhYzIwYSBzc2l6ZV90Cis0MTc2NyA0YWEwMTg3OWE4ZjVhOWJjZTgzMzkxNTEzOTJmNTcyMWQ1YjdjNDdmIGxlZ2FjeS10cnVuaworNDE3NjggOGNiNjg2ZGQ2ZTY0NThmZjQ5ZTZmODNlZTU0ODdiOWM1OTlmMTNkYiBsZWdhY3ktdHJ1bmsKKzQxNzY5IDdjNGQ1YjM4YzU1ZTY2MmE2NDEwODg2NGEzNGI5ZTRlNmIwOTk3NzUgbGVnYWN5LXRydW5rCis0MTc3MCBiNzBiM2U1YjNjZDFjOTZiNzI5OWJiYjRhZjA2YTJjMmQzNGNiZTk5IGxlZ2FjeS10cnVuaworNDE3NzEgYjhiMzc4MmIyZGMwNzViZTI3OTQ2YmE1YmQwNjc0ZGZjNzM4Nzk2YSBsZWdhY3ktdHJ1bmsKKzQxNzcyIGU5MGU3ZDllOTg5MTA5YTEwMTk3OTAyY2IyMzg1ZDdmMDcxNGVhMjIgbGVnYWN5LXRydW5rCis0MTc3MyAzNTU5NjMwN2U3ODYwMjFiMTBiNGMyZmZhMTdiNDk1YTQwYWNkZTAyIHNzaXplX3QKKzQxNzc0IDk2M2Q3NDljOTc3NjQwYzE5ZWM0ZTcyZmE4OWExMjc2ZDQ1YmIwMjEgc3NpemVfdAorNDE3NzUgNWE4NzY0NGEzOTAwMGY1NWMxNjk4NjZiMmU3ZTY0MzRlMjUwYjFmNCBzc2l6ZV90Cis0MTc3OCA4ZGQzNWRkNmIwZTg5Y2NlNTkyYzcxMWU3YjI5MTIxMmNiZWFkODgzIHNzaXplX3QKKzQxNzc5IDNiYTIzMGM3N2Q0MDAwMzEwM2M5ZTEzZGMwNTg2YzM1NGEyNTFhNTIgc3NpemVfdAorNDE3ODEgMTZlM2VlYjg1MjA2ZmRhMmYwYmQxYmFiYjc3N2E3ZmE2YjM4MmVmMCBzc2l6ZV90Cis0MTc4MiA0ZDFmM2VjNGVhZDU5NjhhNzJlNWNkOTRlNmM1MTU5ZWQ3N2VhOWY0IHNzaXplX3QKKzQxNzgzIGQ2ZWExNTMwZGEzMDA0MzU1YjYzN2UzYTg4MzhmMzE3NmFkZDI5ZmIgc3NpemVfdAorNDE3ODQgNDJhY2YzM2FhM2M4YTI4ZjBlNDgwM2MwZDMxNmVhNThkN2UyMjIxOSBzc2l6ZV90Cis0MTc4NSAwOGU4MGEyYmY0MGNmODU1ZDNmM2Y3ZTlmYTUwZGJiMDExMTFjOWFlIGxlZ2FjeS10cnVuaworNDE3ODYgOTg4ZmRmMDI1MmI3OTRkNzA2Y2Q1YTAyMjA3M2ViYzI5MDk3MWRjZSBzc2l6ZV90Cis0MTc4NyA2MTcwNmU1ODFlZjljYTQ0OTkxNGM3M2I5ZjI5NDY1OTY5ZjljMzY5IGxlZ2FjeS10cnVuaworNDE3ODggZjJmYTQwZTg4MzYzMGI2M2VjZTNlNDk1YTU0YWI2NjFlNjUyY2RlNCByZWxlYXNlMjQtbWFpbnQKKzQxNzg5IDkxM2E4MGY0NThlNjg3NDc5YTZiODhkNTI5Yzc3NjhkYzJkM2YzOWIgbGVnYWN5LXRydW5rCis0MTc5MCBjODA4OTdiYjUwNTNjZWVkODc4ZjMxYWI2M2UzNDBlN2MwMjNjN2I5IHJlbGVhc2UyNC1tYWludAorNDE3OTEgMmE1ZTYwMDlhNDQ1MjcwMzIxNWM4NDVkZjEwNGM3MjkxNTAyNTZhZSBsZWdhY3ktdHJ1bmsKKzQxNzkyIDUwZmE1OGEyNGU2MGY0MTcwZTc3OTU5NmJiNTVlOTZkODBjMWZlZDQgcmVsZWFzZTI0LW1haW50Cis0MTc5MyAwY2YzMjQ4ZTI3ZTY1OGE2ZWE0ODEyOWMwYTI0NjU0YjQ2ZGUyNTgxIGxlZ2FjeS10cnVuaworNDE3OTQgM2VkNWE0YWNiZTdjYjNiOWNiZmZhN2YyYWRlYmZiYzkxNGVjMTIxZCBsZWdhY3ktdHJ1bmsKKzQxNzk1IGE5M2JlNTE5ZjllYzQwNzI0YzdhMGJiMTgxNGMwOTc4MTZkMjNhZTAgbGVnYWN5LXRydW5rCis0MTc5NiA3ZWNjNDBkMjA1ODY0MWZjN2NiMzMxZmJlNmM4ZTM1ODYxOTM3MTkxIGxlZ2FjeS10cnVuaworNDE3OTcgNzRiZWRmZDBiZDZiMmZmY2ExZWFhMzI5M2ExNGFkYWZjZGY5YzZiZiBsZWdhY3ktdHJ1bmsKKzQxNzk4IDVjZTQ3MTAzZjg0Nzk0OWUzNTlkMjFhNTAxNjY2NmZjNDk3MDFkZTEgbGVnYWN5LXRydW5rCis0MTc5OSAzYTM5NDMxYTU0YTUzYWI3NjMzY2I4YTkyMjkxYWQ3MjA5OWIyMDU4IGxlZ2FjeS10cnVuaworNDE4MDAgMzRhNTE1NGU2MTFjYzEwNjk3MDdiOGE3ODgwOTU1OTUzNzhkNmY1MSByZWxlYXNlMjQtbWFpbnQKKzQxODAxIGYwMTEyNTNkM2M0NzBkMzM5MWUwZWM3MDMwNzgyNDllZmIwOTk3ZDQgbGVnYWN5LXRydW5rCis0MTgwMiA2MzBkMDFmZWNmZWM2NDFlNGZjYWMwNGEyYzc4ODNhOGQyYjZiZmRkIGxlZ2FjeS10cnVuaworNDE4MDMgNTZkZGYzYWExMmIxMWNjYmFhM2NlZTlkOTE1ZGMzMTJiYWNjMzBlNCBsZWdhY3ktdHJ1bmsKKzQxODA0IDk4ZTI1OTVkNzM3ZjAxYzMzOTliMmEyNmRlNzAyODc4YzJjMjAzZTUgbGVnYWN5LXRydW5rCis0MTgwNSBlOWExMGY3NGNmODhhYzdlMzdjMjhlMDk3OGE0ZjFkMTRkNGFjZGU3IGxlZ2FjeS10cnVuaworNDE4MDYgMDNkYmVjMGQ5NTA0NmUxYTFmOTEzNmNhMmM1ODdkZmEzZjQ5ZDg2YiBsZWdhY3ktdHJ1bmsKKzQxODA3IDc2NzQxZTczYmI2NDk3OGM5NjdhODBmYzI4YWMwMDJhM2MyNDNkYWIgbGVnYWN5LXRydW5rCis0MTgwOCA3ZDZhYjlmMzk5OTZjY2ZhMjk3MGFiMGZhZjg0MWE1ZTM5MzAzZjUzIGxlZ2FjeS10cnVuaworNDE4MDkgMDQ0ZDM1Y2EzNDI0N2I2ZTc5MjFkOGUyYWRiN2Q4YTM3NWUzZGZmZiBsZWdhY3ktdHJ1bmsKKzQxODEwIDZjYjU3MzliNzFjZTBiODRjY2UxNzE5MTNmZmM3MzdiYzc1NzQxMTUgbGVnYWN5LXRydW5rCis0MTgxMSA0M2JjN2NhMmQ5ZGZiODc5YmJlMDM0YWM4NjY3Zjk2N2FkNzQ4NTNmIGxlZ2FjeS10cnVuaworNDE4MTIgNjg2MzA2YTY3ZTliMjQ2MjVmYWY1MGZjYzk4MjE2ZTBjYzFjY2IzMyBsZWdhY3ktdHJ1bmsKKzQxODEzIGNhZGM3NzhhZWM3OTZmMjM1NDQ3YzQ1NTU3ZDFmY2YyZjVkODkxNjggbGVnYWN5LXRydW5rCis0MTgxNCA2ZjA2MzhlN2JkMjM2ODhhNDg2YzA1ZTkzMDBlMGY4MDlkMTU5OWZjIGxlZ2FjeS10cnVuaworNDE4MTYgNTM2ZjI0ZTE2YWYyNDY4MDIxOTdiYWVlZjNiMTM0Njg1ODcxYzlhZSBsZWdhY3ktdHJ1bmsKKzQxODE3IDE2Mjc3NzE4Y2ViOWFlNjYzMWYyOTc1NTdmNWM4MTk5YmJkYzVhYWQgcmVsZWFzZTI0LW1haW50Cis0MTgxOCAyM2ViODY3N2JkYWQxMzhmZjZkZWQ3YjM4OTYxOGMzNzMzZTg5OThmIGxlZ2FjeS10cnVuaworNDE4MTkgNzZkNTExOTcyNjE2Mjc3ODhhZDQ0YzYzZmViMWI2NDI0OTJjMTg1MiByZWxlYXNlMjQtbWFpbnQKKzQxODIwIGU0MzE2ZGExOWNmYzFkOTRhZThiNmZkNTUyYzY1NWI3OTE4OWFhZWUgbGVnYWN5LXRydW5rCis0MTgyMSAyMTQzMzcxYmI5MWZjMjM3ZTNmOWQ1Yzk3YzRhNTM5MDJkNjIwYjUwIHJlbGVhc2UyNC1tYWludAorNDE4MjIgMTU2ZGY3N2Y5OTJlYmVmZGY2ZTg4ZTFlZGU0YWQxMmVjMDM2ZTNkYSBsZWdhY3ktdHJ1bmsKKzQxODIzIDU5YTg5YjU4OGMzMDk2YTM2YmU2OTBmNGYxOGJkYmM3M2Q1YjQ2YTkgcmVsZWFzZTI0LW1haW50Cis0MTgyNCBlMDZkZjVlMTNkYjlkYjcxNzM3ZWNkNzkzMzQwYTYxZDZiOWNkZjNjIGxlZ2FjeS10cnVuaworNDE4MjUgNzMwZjg0YzJmZGRiNWIxMTY0OWQ4NzlhYWE0MGI2YTZlYzJhZGRmNCByZWxlYXNlMjQtbWFpbnQKKzQxODI2IDQ5ZDYzZjM3N2ZlNzJkNzE5NWYxOTIyYmJjZWQzYWVhOWQ5YzhiOTMgbGVnYWN5LXRydW5rCis0MTgyNyAxNGYwMDJjZDAzNzFiNGE4N2UyZmFmOTg3MzAzNDg5ZjE0ODYyZDcyIGxlZ2FjeS10cnVuaworNDE4MjggYzg4NmNiMTZhMTU2NDY1NjhkMjJiNmJhZDY5NGRmMTJiZjhkOTQ4OCByZWxlYXNlMjQtbWFpbnQKKzQxODI5IGYzOWJkYmY0YjBjMWI3ZmI0YTk5OGZhN2RiOWVlYmJjNWFiZjM1YWQgbGVnYWN5LXRydW5rCis0MTgzMCBhNmFlMTAyYTZlMTE5ZWYzMTdjNjRkNzdjZjAyZjYyYWFlNmE3NDc4IHJlbGVhc2UyNC1tYWludAorNDE4MzEgYjU0MGI2MDc2ZmQ5OTE1ZWQ4ZDhhZTNlNjI1MDg0YjUzNTViNGVkYiByZWxlYXNlMjQtbWFpbnQKKzQxODMyIDdjYzIxNWYwYzA5YjNiZjFlYzI3ZDQxNmJhMDJkM2FiNjRlMGJkYzEgbGVnYWN5LXRydW5rCis0MTgzMyAyMzM5NzVkYTI0N2UyMmFlNjhjMGY3ZDkzZjY0NDNlMTgzZTljYTE4IHJlbGVhc2UyNC1tYWludAorNDE4MzQgOGU0MzhiZjc2Y2JiZjI1MDYyYTU1NGFjODU3OWRjNjk2Njg2ZDYxNCBsZWdhY3ktdHJ1bmsKKzQxODM1IDEwMWI2MWE5ZWVkMmU1MThjOGMzYTVmMDliM2FjODYwZDMzYWVmNjggcmVsZWFzZTI0LW1haW50Cis0MTgzNiA4MmE1MmE0NjRhYTI1NmNiYWI3N2U2NWRmN2I0OTM5NTE4ZDRiMjQ3IGxlZ2FjeS10cnVuaworNDE4MzcgNzRkMTZlYjJjYWJkZDJlYTQzZDNiMTcxMTExMWU2NDBlNGI2NWRlOSByZWxlYXNlMjQtbWFpbnQKKzQxODM4IDIyZGJmNTgxOGIwYjI5NGU0MWY0NzQ1OWU5MDA3Y2QxMGMxNmZlYmMgbGVnYWN5LXRydW5rCis0MTgzOSA4NTBmN2QxZTRjYTI3NjQ1ZjMwOTViNjhhM2U2NWJjMTU4NDc1MzM5IHJlbGVhc2UyNC1tYWludAorNDE4NDAgYWE3MDcwNDE1MDVkODk5YzMzNDI4NzcxMWFjYzliYmY1ZDQxMGM3ZiBsZWdhY3ktdHJ1bmsKKzQxODQxIGU0NGE4MzNlY2E0MzM1ZDg1MTIyYTI2NjdmM2NhZDdjMmM2NmIwOTcgbGVnYWN5LXRydW5rCis0MTg0MiAyZWI3OGY1ZDE0NTAwZTQ2NTJmM2JjZDU3MzhjNmNmM2U0NGQ0Y2JhIGxlZ2FjeS10cnVuaworNDE4NDMgNzNkYTU5MWY5YmRiZGQ1Y2U5NzgwNzI2MTVhYWE3YTFkZjdiMDE0MiBsZWdhY3ktdHJ1bmsKKzQxODQ0IGY5MjgxMjgzYjEwOWE0OWJkNDI3YmY2NzcyMWJkYmQwOWFhNWM4NzMgbGVnYWN5LXRydW5rCis0MTg0NSAwNDJlYjNkMWNlM2YzMzhhZTYxZTM1ZjNjNWViZjc0ZGE1MGE1MmVmIGxlZ2FjeS10cnVuaworNDE4NDYgOTYzYTk4ZDhmZTJlNGQyY2ZmMjdkNjg3MjU0MzRlNzI0MTNkN2VkMSBsZWdhY3ktdHJ1bmsKKzQxODQ3IGZlOWJkMjFmMjdmMjI4OWQ1MGVlMjYxNDM3MTc0NTVkNDhjYTUzODcgbGVnYWN5LXRydW5rCis0MTg0OCBjNzFjYTFjZDM2M2I3NWYzNDhlYTc2NGJmZjRiNzNhNDFiOWQ1YTZlIGxlZ2FjeS10cnVuaworNDE4NDkgOTZlYjJhNWNmYmVmNjIzZWVmZDBiNjExYWRmMzg3MTVjODM5Nzk2YiBsZWdhY3ktdHJ1bmsKKzQxODUwIDM0NTFiMTA5YTI0YzU2M2U5MWFjOTgwODRhZWM4MmY1MjM3MDg2NTAgc3NpemVfdAorNDE4NTEgMjk4ZmMzMjY5MzEwYmU5ZDdhMTc5N2U5NWQ2ZmE1NWIyNWYyYzc1YiBzc2l6ZV90Cis0MTg1MiAyNjEwN2M1ZDA1N2MxZmY4Yzg5MWU3NDU0ODZhMDM3OGY3MDhiNThiIGxlZ2FjeS10cnVuaworNDE4NTMgZjQ1MDc3NzRkNGU0MWZmZTRlZTk1NDBhMTAyNGU0MDIwYjgxMzMxNSByZWxlYXNlMjQtbWFpbnQKKzQxODU0IGQ5OTNhM2VlODkxZWQ4MmE0MWM1MzdkNmZmNDgwOGJiZmFkNjY5OGYgbGVnYWN5LXRydW5rCis0MTg1NSBjZmQxZTFmNGZkZGRiMTI3Njk3NWZiOGZkMjlmZDYyMmViMjc1ZTlhIHJlbGVhc2UyNC1tYWludAorNDE4NTggMWU1OTViNmM5MjRlMTcwOGY1YmIyY2YwYmZjOWYyNmIxOTFiZmU3ZiBsZWdhY3ktdHJ1bmsKKzQxODU5IGJiNTFkNmM2YTNlMDNhMzkzZWM4MzY2ZTA0NmRjMDMzYTBkNTViMDkgbGVnYWN5LXRydW5rCis0MTg2MCA1MDg4NmQ0MmI0NDRlNDBkN2U5MzYzYzFhYjYyYTI0MDI5MTI5MDcyIGxlZ2FjeS10cnVuaworNDE4NjEgMTQ3YzM1ZjQzNWEwYjVhZDA4MTcyMDhjNmZhZWQ2NjU1N2Q5M2YxYSByZWxlYXNlMjQtbWFpbnQKKzQxODYyIDZmMjUwMjlkZTlkYjQzNjg0NzE5NTI5OTZmOThiNzFkYjRmNmMyMmIgbGVnYWN5LXRydW5rCis0MTg2MyA4MzRkZDY2NGFlZmNhOWZlMzUzMmYwOTE1MDJkY2I1NDNmNDY1ZmI1IHJlbGVhc2UyNC1tYWludAorNDE4NjQgOGEyYWI1ZjUxOTMyZmVhM2ExMjJhNmUzODkyZGFhOTY2N2E1MzQwMiBsZWdhY3ktdHJ1bmsKKzQxODY1IDY1MjQyOWM0ZjJhNDkyZjczY2U1YTg5YTQwNDgxZmE4ZmM3ODJlNjAgbGVnYWN5LXRydW5rCis0MTg2NiAyNjZiYmRmOTFiYjUzZTcyYjIyZmM1ZGU5N2VmZDM2ZjkwOGM2ZGEwIGxlZ2FjeS10cnVuaworNDE4NjcgMDBkZjA1ZmE4MTYxNGFlNjA5MjFkZjQzMTM5MGIyYmIyYTdhOGNkYSByZWxlYXNlMjQtbWFpbnQKKzQxODY4IDA5ZWQ2YzliZGJkOWEyOTVjNWMyYzhlMDA5M2FjMDc2YWI4ZTFkYjggc3NpemVfdAorNDE4NjkgYzE4NTA0Y2VmMmJhNjVhYzMyNTEzNTIxMzlmNDM5MWY0YjczMWYwZSBzc2l6ZV90Cis0MTg3MCBjM2FkYzc3ZWIyODkxZTIwNGYyYmNlZDdlZjMxNDBmZGUyZmYyNDdmIHNzaXplX3QKKzQxODcxIGY1NDQzYmRmOWIwZGY4YzE5M2ZhYTc2YWNmZjhiNjU0NmExMGZhZjIgc3NpemVfdAorNDE4NzIgMTI0ODRiNjU5ZmE4NjdhODQ0ODMzYTI2Y2VjMjY4ZjQyOTI5M2I5MSBzc2l6ZV90Cis0MTg3MyA0NmZmNWM1ODZkODYzOTcxMGViMzNkMWEzMmI2MjlhNjk4MzYwN2Y1IHNzaXplX3QKKzQxODc0IGEyMjdlZjI2YTE4ZGJkNDJkODkyYjcwNDY1ZDQ4Y2VhOGQwMmM5ZWYgc3NpemVfdAorNDE4NzUgNTBhNDc1MjFiNDBmNDMwZTVlYmVhNDdiOGM5ODNjMjIwYTUxNzZmMiBzc2l6ZV90Cis0MTg3NiBjODhhODMwZDgzMWMxYmYzNzI2MGY0NTEwNTBhOTdlYzZkOGFlM2FiIHNzaXplX3QKKzQxODc3IDI5MjQzNWE3MzJlOGMyNDlmOTFlOWNiZmIzYTMwYjRhZDIzMGM4NTkgbGVnYWN5LXRydW5rCis0MTg3OCBhZGU0NjM3MWYwNGIwNWM5YTBmNjYyMDM5NjMxYTc5YTA0NThkZGQ2IGxlZ2FjeS10cnVuaworNDE4NzkgNmRkNjI1NDJiNmU1ZGJmOGUxZjBkZTM0YzFhM2Y4MzlmNTBlYzViZSBzc2l6ZV90Cis0MTg4MCA4NWIyZDgwNGFjMGFiYzc4OTk0Nzk5NmNmYzU0M2Y5OTM1ZGRjMWQ5IGxlZ2FjeS10cnVuaworNDE4ODEgYjkwODY1NDQzODJlMjIwODIzNWY3NDljZTE3MWU4ZTI4NDQyZjcyOSBsZWdhY3ktdHJ1bmsKKzQxODgyIGYzMjFiZTM0Yjg1ZDVmNTU4NDdlZjNiNTA5OTc3MjhhOWNkODNiYmUgcmVsZWFzZTI0LW1haW50Cis0MTg4MyAwM2EwYjE4YTc1YmY1ZGRjODA0ZGYyOWVmODA0MzViOTQzNTFhNTU0IGxlZ2FjeS10cnVuaworNDE4ODQgYTgxMWViYTMwZmE0ZGYzYWZiNzcwMjgxZWQ4OTFkZTg4ZjE3NmFmZCBsZWdhY3ktdHJ1bmsKKzQxODg1IDliOWNlZDRkNzkyMWY2Y2ExMzVlNDI0MGRkMzhkMTk4M2ZkMTgyYjggbGVnYWN5LXRydW5rCis0MTg4NiAzZjYyZDMxZDU5ODVhYjI4ZDE2ZjAxNjBmYTBiYTg4MTM3NjdjM2M1IGxlZ2FjeS10cnVuaworNDE4ODcgNDMxZDZlODdiOWZlMGJmNGJhNGNlZDlhYjM2NmNlMWVjMDY2OTc0NiBsZWdhY3ktdHJ1bmsKKzQxODg4IGIyNjQ4Y2EyMzFlODAyNTMyZDQwMjYwYWU1MzViOTNkNGJiYzQyY2UgbGVnYWN5LXRydW5rCis0MTg4OSA3OTcwZTAyZmM4NDdiODUxNjBiN2U2ZmVmOWY5NmZkMzkzNmJlMTVkIGxlZ2FjeS10cnVuaworNDE4OTAgYzgyOTc1ZTkxZTk5ODVjOWZkZjUxM2FmNjgyYjQ0MzJlYTk1YzQ2NiBsZWdhY3ktdHJ1bmsKKzQxODkxIGJmN2VlZjUwNzJiNjkxNjkzYjM2MWMyZGZiNzY5MzIyNDBmMjViMzkgcmVsZWFzZTI0LW1haW50Cis0MTg5NCA4MWZhNDdkMmQ0NzdiZDliZjhlNjk0ODE1OWE1OTg1MTg3N2E0ZmU2IGxlZ2FjeS10cnVuaworNDE4OTUgZWU5ODRmZTk4MWI0ZWZiYTllM2IyOTFiMDVkMmE2ZTYyMTNkNzk3OCBsZWdhY3ktdHJ1bmsKKzQxODk2IGY4MGVlMTQyNzI3YTg2MmQyZGVhOWI1NzVjZGRjYzVjZmQzOWU1ZGMgbGVnYWN5LXRydW5rCis0MTg5NyBkZWU5MmVjYjhhMTEzY2YyOGI1MjU5NjQwYmNmMzQxNTJkOGQ0NzYzIGxlZ2FjeS10cnVuaworNDE4OTggYWE0NTY0NDkyNjYwM2IwNGM1MTUyZTc3ZTZmMjQ2Njc4ZDcxNzc5YyBsZWdhY3ktdHJ1bmsKKzQxODk5IDc5ZTcwZmE4YzIxMmZlYzcwMjBlYTJlY2EzMTI1ZTEwNzZiMTczZjggc3NpemVfdAorNDE5MDAgY2VlZmNhY2U2ZjI0OTlkYjUwMTQzNjYyZmRlODZmYjBiYzUyM2FjYSBzc2l6ZV90Cis0MTkwMiA2YzgxNDVmZTQ5NWVkYzkwNThjOGMxNDdlZWExMTk2YzAzYWFkNWVhIHNzaXplX3QKKzQxOTAzIGVmMmQ3YjlmZGU3Y2Y5ZTRkOTVhYzFhMjBmZWMwYWEyOGZhOWNlNGIgc3NpemVfdAorNDE5MDQgNjkxZWU1MjRmMDI3NTRhOWJkZDI3OGIxNTllZWYxNTMyYzg4YTQ5YyBzc2l6ZV90Cis0MTkwNSA3NjU0ZGEzNmZlOWNjYTg2OWUwM2QxYTE2MDUzMDYzZmUzMzY3YThmIHNzaXplX3QKKzQxOTA2IGYwNjEzM2JjYzA1ZTY2N2IwNTM1YzkwOTE3N2QxNmE4NzUyNDQ3MmIgc3NpemVfdAorNDE5MDcgNTJhNzRhMzIzNjgyMDY3N2NlMTEyNzU5ZjMxODQ2NWE3MThmMDk5YyBsZWdhY3ktdHJ1bmsKKzQxOTEwIDYxNDk0ODNmN2EzZDU1NDNjOGM1ZDc3MzAxZGU3ZTU2NjQ4ZjkyMzcgbGVnYWN5LXRydW5rCis0MTkxMiBlY2ZlZDFmNzQ3OGNjZGI4NzkyMTI0MmU5NzkyOGFhZDkxNTUyNDcyIHJlbGVhc2UyNC1tYWludAorNDE5MTMgOTIwOGE3OWY1NjgzY2RiYjQ5NThjOTI3NTk5YzZhNTczMWQ0MmFmOSBsZWdhY3ktdHJ1bmsKKzQxOTE1IDAzNjA4ZDY2ZTU5ZjBjNTQ0MDAxYmZkOGU3ZWI4ZjVjZWJjM2RhZTIgbGVnYWN5LXRydW5rCis0MTkxNiAwYjEwZTg1NWRhZGY2NDgyMGUzNmExZWI2ZWRlMWFhMjBjNmUzZmQ3IHJlbGVhc2UyNC1tYWludAorNDE5MTcgZWE2Y2QxYmU5ODM3YjUyODk1MzRiYzUxN2M2MWQwMTBkNWM4ODg2YSBsZWdhY3ktdHJ1bmsKKzQxOTE4IDI2YmU4YjFkMTg1MzAxN2RjNDg1ZDliZjM1MzkzZjYyYWNmZTQ0ZTcgcmVsZWFzZTI0LW1haW50Cis0MTkxOSA5MmVmNTZjOTdjZGY0MjEwZWQ2M2U2YzRhZTAxMDJhYjdmZWQzZDZhIGxlZ2FjeS10cnVuaworNDE5MjAgYjM0ODIxNjRhMTAwMzgxNDViMThlN2ZmMGYxYmM1ODkzZWU4ZTFhZSBsZWdhY3ktdHJ1bmsKKzQxOTIxIDQ0ZjA3NjBlMjRhMTY5ZWRhYjgzZjQ0NWUyYjc5ZmJjZjcwYWRmNDcgcmVsZWFzZTI0LW1haW50Cis0MTkyMiAzOGIwZmU1MWIwYjRmOTk1ZTVjOWQ1ZmQ0ZTgwYmJjYzcwZGUyOTQ4IHJlbGVhc2UyNC1tYWludAorNDE5MjMgNDRjZmNhNjEzNmM2MzgyYTZlOWFiYmE5MzBiMWNjMTIwOTliMTA3MyBsZWdhY3ktdHJ1bmsKKzQxOTI0IDAzMjkyNGU3NWMyNGJhMDBkYmYxNjFiZjhiYzZiNjY5OWQxYWIzZWIgbGVnYWN5LXRydW5rCis0MTkyNSAwMWNiZWQ1ZTg3MzEwNzBiMTdmMzQ4OGY1ZDUwYzVhYTdjMDI5YThkIGxlZ2FjeS10cnVuaworNDE5MjYgODc5MWU4YzQ0OGIzMWUzMDA3NGMzMTc3ODI3ODkzMDBjMWI1MGI0NyByZWxlYXNlMjQtbWFpbnQKKzQxOTI5IDgyNWEwNDE4MTNmYmVlMDc4YTNiZmYzZjExM2RlZjNhNGVhZTkyNzQgbGVnYWN5LXRydW5rCis0MTkzMCAyMTUzMWUzOTIxMTZhMDYxZmVhMzE4NTU4OWQ0NTZmY2UzYmUxMTcwIGxlZ2FjeS10cnVuaworNDE5MzEgMDNhNTc0MWNmZWE5ZjYwYWJlZjNjY2U3ZmJhYjNmYmFlNzJiOTgyNiBsZWdhY3ktdHJ1bmsKKzQxOTMyIDgzMzY0NzYzYzdiMmM2YTgzOTIxMTI1NTM5YzU5OWI3NTM4MGMzNDEgbGVnYWN5LXRydW5rCis0MTkzMyA2ZDc0M2U1YmFmMTQ3YWU0YjUxYzQyYjkyYmYyNDYwOWJmZjI0MWNmIGxlZ2FjeS10cnVuaworNDE5MzQgY2VlMDU5ODBmMWZkMWM1MjNmMzQyMzcxNjVmZjk4ODQyYTIzYzE5NyBsZWdhY3ktdHJ1bmsKKzQxOTM1IDliODg4NWM5ZTU1MWMzOWNhNDM4OTgwYTcyNDNmMGY2ZDE4NDM2MDMgbGVnYWN5LXRydW5rCis0MTkzNiBjOWRhMDhkNDgyYzM2YWZmYTk5MTY1YjJjZTU0NTdmNDdiZTg2NjBiIGxlZ2FjeS10cnVuaworNDE5MzcgMjQxMDc4ZWU2ZTg3YWU4NjNlM2ViMTE0ZmRlMTVmMzM3ODQ4YzQ1OSByZWxlYXNlMjQtbWFpbnQKKzQxOTM4IDY1ZGYyNTY3NGQxYWVmNzJkMjE3MTY3MjMyNmQ4NDQwMmI5MjA2YTQgcmVsZWFzZTI0LW1haW50Cis0MTkzOSA3N2I0YWFhZDY5MDNlYmI4ZmRlMWNlOTRiNDMxZmYzNDJmNTMzMWIyIGxlZ2FjeS10cnVuaworNDE5NDAgZjcyM2UxOWZhM2I3MWEyMGIyMWZkZTc0MDJmOWViNTg4YmJkYWZmMCBsZWdhY3ktdHJ1bmsKKzQxOTQzIGIxMzljOTk5NjY1ZDk5NzkyNjg5ZmMzYjJjY2VjZTA0YTQyNDUyZDUgc3NpemVfdAorNDE5NDQgMTIyMDU4ZGZiYTc2OGE5M2Q5MmZkYmExOWE4NTljNTk4NzU0MWQzZiByZWxlYXNlMjQtbWFpbnQKKzQxOTQ1IDZlMTc5NjhkNGRlOTJiMTYzMmE4M2ZmODYyNWYzODJmMjQ0MmQyZDcgbGVnYWN5LXRydW5rCis0MTk0NiBhMWIxZTQ1MWQ4MmU4NWU3OTRmYWNmOTJlNzJhZDFiZjMzZjc2OWY3IGxlZ2FjeS10cnVuaworNDE5NDcgNGM4YTc0YTIwMjI3ODM0ODNjOGMyYjczOGE0YzliY2IyMGUzMDRjYiBsZWdhY3ktdHJ1bmsKKzQxOTQ4IGNmNjllMzE5MTIxODI4YjRhNzUyYWJkODFmZmI5YmMzMjVjNmFiMDEgbGVnYWN5LXRydW5rCis0MTk0OSAxNjg1ZGNkMmY5Mjk5M2NmNTFlNWUzM2M5ZWZjMDI0M2ZmNzNhZTZkIGxlZ2FjeS10cnVuaworNDE5NTAgNTZhZDlmMjc1YmVjMTkzZDI5NjNjMGJhMjI1NmEwYTU4MzI2NzY4MCBsZWdhY3ktdHJ1bmsKKzQxOTUxIGJiNmZhNGEzMWYxNTI5NzYwMzllM2I2N2UxYTM4N2FjMDg2ZGI2MWUgbGVnYWN5LXRydW5rCis0MTk1MiAwMjZhZTFiOGE3ZTNiYTA1ZTE0Y2FiMTBlMGYxZmY2YmNhMTNiZGI5IGxlZ2FjeS10cnVuaworNDE5NTMgZTdjOTZjMWQxNDRiYTc0Mjg1NDM4ZTEzNzYxY2U1ZWU4MGQyYTZmNCBsZWdhY3ktdHJ1bmsKKzQxOTU0IGU4ZGVjNzhjZmEyZTNlNmY0ZjMyOGNmMTJjNGY3NzRkZGM0ZWYxN2EgbGVnYWN5LXRydW5rCis0MTk1NSBkZWQ0YTQ5N2ViNzZmYjg3YmRlYzgyZWM5MmI5OWE1MWQ4ZmM1NGIwIGxlZ2FjeS10cnVuaworNDE5NTYgZDNmNGM0NjdlNDM5YTI1Nzg1M2VlNWUyODk4MjlkYTA5MjNlMzE4MiBsZWdhY3ktdHJ1bmsKKzQxOTU3IGE3N2U1YjA0NmE1MDg3NjMzOGU4YzE3N2VlN2ZkMGFhMzJmZDU5ZTMgbGVnYWN5LXRydW5rCis0MTk1OCBiOWRkNDgxYjM5NzJkZDY0MDEzYjVjYjZjYzllZWFjMWNlODQ5Njk1IGxlZ2FjeS10cnVuaworNDE5NTkgZTk0ZWU1OWEyZDQ2MWQ5NTA0YWM3ZmU5MTFjM2VlYjkyNzM3Y2U5YSBsZWdhY3ktdHJ1bmsKKzQxOTYwIDlmNjZiZGQ1YTA2MTIzOTI0MWM4N2YwNWY2MzljYTgyZWUxYzY1NWIgbGVnYWN5LXRydW5rCis0MTk2MSBlY2Q0MjM3MThhMzI3ZGY1NmQ5OTYzYjhmM2U4YzE2NWM3NWYyOGVlIGxlZ2FjeS10cnVuaworNDE5NjIgOGFiNzhmYjRkMTdlZDRhYzE5ZTZkN2U5NTg1OWMxZjMwMDg0YmU1OSBsZWdhY3ktdHJ1bmsKKzQxOTYzIDBmOGM1NTQ2ZDNiZjQ0Yjc1NGYzZTBmZDhhZDAyNzRkZDllMGZkYzIgbGVnYWN5LXRydW5rCis0MTk2NCA5MmUyNDY4YmRiNGE2YTQwMzE3Y2RlYmUzOGU1NzM3ODY4OWQ0ZGZhIGxlZ2FjeS10cnVuaworNDE5NjUgMDBiZGMwOGE1MDdkZWM5ZGEwYzZkZTYzYTExNGNjNGYzNWZlNjNjNyBzc2l6ZV90Cis0MTk2NiBhZjdkNDg0MjA4ZTkyNzFhNGNiYWJlNDU4MjVlNjYzYjc5NjYxZTU3IGxlZ2FjeS10cnVuaworNDE5NjcgZDIyMjRjOGQ0NTQ5MjYyNTQ5M2M5NjI3YTkyY2Y4YzA1MTc2ZDllMiBzc2l6ZV90Cis0MTk2OCA1NTdlOWI2ZWU3ZTExZTZmN2VhNWVhMDQyN2JmYjA0N2IwZTU0NzRlIGxlZ2FjeS10cnVuaworNDE5NjkgMGY1MTg5NjA3MjY0MGFlMTE2NzkyYjE0NjBmZmNiYjNkOTFjN2VmZiBsZWdhY3ktdHJ1bmsKKzQxOTcwIDYwYTVhMWFhMTY4MmI2NzBlMjNlN2ZkZDA5YmJkOTNjMzFlZDY2NTkgc3NpemVfdAorNDE5NzEgYTlhYmRiMTRjZjNiNzhhNDdhOWViYzM0Y2ViNmJhMWMxZmJjN2U1MiBzc2l6ZV90Cis0MTk3MiBhMjY0MzI1M2FjNzk2Mjk0YjNjNjhkOTE5ZDk0ZThmZjZmMTQxZmMzIHNzaXplX3QKKzQxOTczIDA5NjhmMDYyZjM1MDY5ODhiODg2YTRmOWMxYjUyZTRjMjY3ZjFlMzAgbGVnYWN5LXRydW5rCis0MTk3NCBlNzg4MGY0ZjUzYTQwZDMxM2M3YTA0N2Q1MDQyNTIzMzYyMjRhOGI5IGxlZ2FjeS10cnVuaworNDE5NzUgZDNlNjhjYjczOWZiMjU3NWZhNTlhNGNkNDhiMzhlMTVhMWFmNTIxNyBsZWdhY3ktdHJ1bmsKKzQxOTc2IDU5MWRmNTRkMmQzMGYxNGUwNjEyNDVjNjc5ODU0YTQ1Mjg4MGVkYTkgcmVsZWFzZTI0LW1haW50Cis0MTk3NyAzYmE5ZmY3OWJiMjliOTQ3ZWI5N2U4Zjk5MzUwOTFkODUzZDE2ZmU1IGxlZ2FjeS10cnVuaworNDE5NzggODExZDY0NGQxOTE3Njc3MTA1NDc2MWEyN2RmYWU4MTUwZDcxNmJkMCBsZWdhY3ktdHJ1bmsKKzQxOTc5IDRhYzliOGZjZDYzZWE4ZDg1MzEyNjk5NDQ5MzU0ZTJkZWQ3YWQ1OWEgbGVnYWN5LXRydW5rCis0MTk4MSBmMDllNjA5MWE3NjI5ZWVmZmI3NjE2NWIwNzk4YjMwZTNkMjMyMzE0IGxlZ2FjeS10cnVuaworNDE5ODIgOGRmMTk0Mjk0YzkwZGM0YTExZGY5MGJiNWQyZWUzMjI1OTU4NWI0ZiBsZWdhY3ktdHJ1bmsKKzQxOTgzIGQ0MzRiM2M3MzkwMTYwZjM1MjIwOTQzZDVjNDNlZDg2ZGVhY2U4YmEgcmVsZWFzZTI0LW1haW50Cis0MTk4NCAyN2JkYzFlMjdlZWRiN2VjNDU5YmNiOWUzYjA0MzRjOGVmZDZlYjlmIGxlZ2FjeS10cnVuaworNDE5ODUgYzNiNDJiN2JkNmQ5ZGFhZGM0YTk3Njg2ZmViZDg0N2VjYmQ4MDY0ZiByZWxlYXNlMjQtbWFpbnQKKzQxOTg2IDNjMTU5NzZmZjYxODcyYjViOTAyYmMyYmQzZWJlZGFhMDZhMjM4NjQgbGVnYWN5LXRydW5rCis0MTk4NyA2Y2Y3ZDA0ZGNjMWY1N2U2NzMzN2QxNjA5ZWY3ZTZlNTQxMGNlZmJmIGxlZ2FjeS10cnVuaworNDE5ODggMDljMjFhNmJlNjA0MTg0NzhjN2JjOTlkZmMxNWM2MzAzNDE1YjI5OCBsZWdhY3ktdHJ1bmsKKzQxOTg5IDlmNmVkYzg3NDU0MWNkMjljMjQ0MmU0OTExNDBiOWI2MGVhOTZiYzMgbGVnYWN5LXRydW5rCis0MTk5MCAyNmU3OGIxOTZjMTcyNzhhODYwOWYzZWVhMDZmMDgyMzI4NjRkYmVjIGxlZ2FjeS10cnVuaworNDE5OTEgY2FkNTkxZDkyMWVjYjAyZDQwMWRkOTMzOTM0NzYyYjQ3OWYwMzgxYyBsZWdhY3ktdHJ1bmsKKzQxOTk2IDMwM2RlYTg0NzYzOTA0ZmI4NTRjY2M4YjhlNmY3NzE0ZTFmNWFiZDUgbGVnYWN5LXRydW5rCis0MTk5NyA3NmExYzIwZTgzMGU1NWMwMjFhMjVkMzdiOGZhOGFhMDMyMDRiY2Y0IHJlbGVhc2UyNC1tYWludAorNDE5OTggM2MwMzBlZGZmOTg1YTZiYzk5OWJmM2Y3MmM3NzZhYTMyNmI3M2FkYSBsZWdhY3ktdHJ1bmsKKzQxOTk5IDlkZjM5Yzk2MGJmMWM2ODBiYjM0ZjE3ZmNmYmVlNjAzYmU5OGY2YmUgcmVsZWFzZTI0LW1haW50Cis0MjAwMCA3OTBmOGQ5ZTQ5ODg5ODExNjgwMmE3MmZlNzUwNGZiZjJiMDFmOTJkIGxlZ2FjeS10cnVuaworNDIwMDMgNDFlZjI5MTBkZDQ5OGIwZjg0ZThmNGNiYTNhODFlM2RkM2E1NTg5OCBsZWdhY3ktdHJ1bmsKKzQyMDA0IDM1ZGY2ZGQ4MDkxMTBjN2I0ZWRhMzIxZmI3N2M4N2JhYmFlMWIzMmEgbGVnYWN5LXRydW5rCis0MjAwNyAwZDUzMzUzODdiYTczMmM4NGRmOGU1OWExNjMyYzUxZmNmOWY4ODc0IGxlZ2FjeS10cnVuaworNDIwMDggNDc1YjY0NWUxMmY1ZWMwNThjMzI4MGJmNDAyNTg2YWQ1NGM2ZTEzYSByZWxlYXNlMjQtbWFpbnQKKzQyMDA5IDg3NDdiZjRiOTU0MjJjYjIzY2YwNTUxMjE1MWM4MjI0ZGYzMzhiODQgbGVnYWN5LXRydW5rCis0MjAxMCAyMWUxNzhiOTMwMzBkMWJmYTJiYWM2M2M5ZGMwYjA3NGFjMjM1YTQ1IGxlZ2FjeS10cnVuaworNDIwMTEgODRiYTI5OWUyYjVmZWY0MTFiMGE3MWZiODE2ZWQ1NDcyNjA2Y2MzZiBsZWdhY3ktdHJ1bmsKKzQyMDEyIGQwMTA0MzY0ZjZkMWM4NDA4Mjc3MTg0ZWJiZGIwYTMyYjIzZTk1MGQgbGVnYWN5LXRydW5rCis0MjAxOSA1ZDgxNjkyOGEyMjQ1ZTE3NDUzMWVkNzNkYWM3MDY1NjA1ZWNlODRiIGxlZ2FjeS10cnVuaworNDIwMjAgZTFmZDdiZDI4OTViMDdkNDhmZmUzYWY5MDRhMGQ2NTkxMTZlMzBlNiByZWxlYXNlMjQtbWFpbnQKKzQyMDIxIDE5MmU4Mzg5NGU4OThjYWM0MDM2NDg1ZGMwNmQ3ODEzZGFlNzQxMmMgc3NpemVfdAorNDIwMjIgOGI4ZjFhNTE0NjhhZDI0ODExMmE2NWQ0Y2ZmN2Q5NjUwNGMwZDNiNyBzc2l6ZV90Cis0MjAyMyAwZmU3NWEwNDZjMDA1NDgwZjI0YjA5YjViNGFkNGU2MTdlYjkwZGI1IHNzaXplX3QKKzQyMDI0IDRmOTUwN2JlNTg1NzliNDJjZDI5NjcwYTU2YjFjNTA3OTNiNDgwNjQgc3NpemVfdAorNDIwMjUgNjYyYzYzOTU0ZGYyOTRiNzQ4NDQwMDE2NjhlZDZkNDdmNGQ1OTRkYSBzc2l6ZV90Cis0MjAyNiBmZDFiMTJkM2FiYjY5YzM5YWZjODkxYzdiMzE4MTE0ODhlZTZkOTg1IGxlZ2FjeS10cnVuaworNDIwMjggNTI3Nzc3MGJjOWQxYmE2YWJiN2I0ODBhMDViNDQ0OWIwYTE1N2I5MCBsZWdhY3ktdHJ1bmsKKzQyMDI5IGFiMTMwZDU2NjkzMTllOGVhODNlNmQwYzc1ZTAwZjBkMGZmOTVlNzYgcmVsZWFzZTI0LW1haW50Cis0MjAzMCA1ZTJhNThjODY3ZjcyYzM3MWJmYmJjYjVmNjZiNDkwNjAyOWJkNWRhIGxlZ2FjeS10cnVuaworNDIwMzEgZGEwOTk1Y2ExZjMwN2U3ODdjMjRmODFjYzA5ZDY2NTExZmI2MmVhZSByZWxlYXNlMjQtbWFpbnQKKzQyMDQxIDc4YTY5NzU5NTQ3ZWJlODAxM2ZlZDAwZTkzZmY2ZTkxNzc0NmQ1NjYgcmVsZWFzZTI0LW1haW50Cis0MjA0MiAyMWQzMGY4ZTQxZmZkZTY3OGNjNDQwZTIyYTlhMWI5ZGJhOTA0ZTM1IHJlbGVhc2UyNC1tYWludAorNDIwNDMgZTYwOWZlYTkyZDFlMThhNWZlZTFmYWVlYjA0Y2FhOTQxNDM3YjNmZSBsZWdhY3ktdHJ1bmsKKzQyMDQ0IDBiMjMxYzA1YTdlZGFjMTY2ZDQ3YjQyN2M5YjBkYTEwM2M2ZTMyYTkgbGVnYWN5LXRydW5rCis0MjA0NSA4Njk3Nzc2YmI0MjAzN2MyMzI1MzE1ODQ3ZGI1ZDdlY2QyNWUxYjI3IGxlZ2FjeS10cnVuaworNDIwNDYgYWU0NDgwOTM1MDE2MGU1ODMzMjkxNjY1MzJhOGVlMWVhN2NkYTljMiBsZWdhY3ktdHJ1bmsKKzQyMDQ4IGMxMjgwMDAyMTM5Njk5MzFkNWRhMTRkZjVlNzI0ODA1M2ZkMjkzYWMgbGVnYWN5LXRydW5rCis0MjA0OSBjOWVhNTU3MGRhYzdlNmMxZjRjMGY5NDE5ZmExZWI4ZWViMmQwZWZmIGxlZ2FjeS10cnVuaworNDIwNTIgN2NhNTFjYjcwYzJlMjRkYTYyOWY5OWYyMzhiZTAyYjNhZDYyYzM4MCBsZWdhY3ktdHJ1bmsKKzQyMDUzIGI5NGVlOTJhNmQ2YjVlYjU5ZTg0YzhlNDk5NDhlYjNmYzZlZTA0OTMgbGVnYWN5LXRydW5rCis0MjA1NCAwN2ZiZDM0ZjFmNmVkMTMxYWZjYjQ2ZTQ2ZjJjZjMxNzM4ZmY5M2E3IHJlbGVhc2UyNC1tYWludAorNDIwNTUgZWYxZDhkNmFjNmJlZmI2ZTQ4N2FlNDE5MGYxN2UzMjYzNTM3MTIyOCBsZWdhY3ktdHJ1bmsKKzQyMDU2IGVmM2I0MzU3OGE1ZmZhNzcxNDM3M2I1ZjBlOWEyZTljZjcxOGVkNGIgbGVnYWN5LXRydW5rCis0MjA1NyBhMjEyNTNmYjA4Yzk3MmQwMDYxYTI0NWI3MWFiMWJjNWE3NzFhZTY0IGxlZ2FjeS10cnVuaworNDIwNTggZTcwMzNkZmZkNjBjYWU4MzQ5NTYxNzY3YzMwZGZlMzIzZTA3ZTBlMSBsZWdhY3ktdHJ1bmsKKzQyMDU5IGM3Y2ZlYTFlYmIzMjM0MTllMjlhZmRjYjFkZWQ3NWRiNWIyYzRlY2MgbGVnYWN5LXRydW5rCis0MjA2MCA2ZDJiZTNiNzZmMmUyODM2NTczNDU3NGRjYzYzYWZjY2JjMWVkNGUwIGxlZ2FjeS10cnVuaworNDIwNjIgOWVlYWEzM2Y5NjQwNjMzYzYxNjI4YmQ3YWRmNTk5NmU1MGM2Y2NjNCBsZWdhY3ktdHJ1bmsKKzQyMDYzIGIwZDdkMjhjZDc0NjFmMmYxYzM0ZDM1NjkwYzEyOGRmYWUwM2Q4YzkgbGVnYWN5LXRydW5rCis0MjA2NCAzODhlYmM2ZTNkZTExNzk3MzMxNTA3ZDIyOTJiOGFiMTExNjRlMTNiIGxlZ2FjeS10cnVuaworNDIwNjUgZThmYzYwYzRmYWFkN2UzYTc3ZTJmODY5ZmFmMzgwMmYzZTZlNDFlYiByZWxlYXNlMjQtbWFpbnQKKzQyMDY2IDQwNWFiMGRjOWNiYzM5MTNmODg0OWU5MDMxNTI1MWViYzBmYmRlYTIgbGVnYWN5LXRydW5rCis0MjA2NyA0M2IxNmVlZmYyMjZiMmVlZGNjZDQzNTAyOTJjNmRmZTFhYzgyMWE2IHJlbGVhc2UyNC1tYWludAorNDIwNjggMmFmYmFhZTZiODhlMGJhY2QyZjAyN2RmOTA3NGFmM2MzZTBjZjRkNCBsZWdhY3ktdHJ1bmsKKzQyMDY5IDJjODYzMGI2YmMzNTk5NThiMmEwN2U2NTdmM2M4YzU0NjQ1MDBkMWUgbGVnYWN5LXRydW5rCis0MjA3MCAwMjk0ZTY2NjI3NDlhZDRjNTNlZWFhOWZmN2ZhMDRkNGRkYTI2OTJjIHJlbGVhc2UyNC1tYWludAorNDIwNzIgYmVjZWI4ZTY2YjBiYTA0YWQwZDMwOWMxNGJkNjg5NzYzZTM0ZWVlNiBsZWdhY3ktdHJ1bmsKKzQyMDczIDJmN2I1NDAyMmIzYjFlZTNjNmNkNDNkN2E4YTUzYTA1NDkyNjAwYWUgbGVnYWN5LXRydW5rCis0MjA3NCA0ZGJhNjFlNDkwMzdmZWJjOTA4Njc1NWViNjRmMmQ1NzlkNjAyZTNkIGxlZ2FjeS10cnVuaworNDIwNzUgMjBmMjFkYzczOTZmMjNkZTljN2YwYjEwOTI3Y2I3NzYzYTc2NzYzOSByZWxlYXNlMjMtbWFpbnQKKzQyMDc2IDM3MDljZTM3ZmUxYzRmMWVkNmExZGFjNTNmNjUxNzI4ZjNmNGM5OGUgbGVnYWN5LXRydW5rCis0MjA3NyA2NWZlOWFjZWQwMDJiYzhhNTBjNjkxZGQ4Zjk5YmE2NDU4NmFkMGM3IHJlbGVhc2UyNC1tYWludAorNDIwNzggYmMxODNiNWY4YmMxOWRlZmU3MWZlM2E4NGFhOTVkNDhjNWI1Y2NiNyByZWxlYXNlMjMtbWFpbnQKKzQyMDc5IGUzNjQ4YmE5MThlZTQwMDgwNWVjZDNmNDZkNjM5MjllMzQxOTRmNjUgbGVnYWN5LXRydW5rCis0MjA4MCAyYWU0MTZhYWNiODg3NzU3ZGQ5NGU5NTc3MzZhZjYyMDhlNjRmNzg0IGxlZ2FjeS10cnVuaworNDIwODEgN2JiNjRhY2VhZGQ3YzhjNjkzY2YzYjE5NDkyOWFiMjVjNWZlYjQyYSByZWxlYXNlMjQtbWFpbnQKKzQyMDgyIGM0YzkzYmRlMTg1YzdmZjQ0NTFiMDI4MTA4MmU4ZDBiMTBiYzQ1MmUgcmVsZWFzZTI0LW1haW50Cis0MjA4MyAxZWY1MDYzYTBjNmQ5NTRlZjNmZWMyOGVmMWQ1N2FmZWNiZGQ3NmUyIGxlZ2FjeS10cnVuaworNDIwODQgZjYyZDdkMmM1MGRlZWQzNGY4YjZlNDMwNTVkNGYxNTExYWUwNDUwOCByZWxlYXNlMjQtbWFpbnQKKzQyMDg1IDQ5NjZhMzYxZjkzNjQyNDY1ZmJkN2RhMmNlNThiMWZiZWJiMmJmMWYgc3NpemVfdAorNDIwODkgODViNWEyY2RiYWMxMDdiZmYxNzQwNWY0NzI4ZjgyMmEzNmM4OGY0NSBsZWdhY3ktdHJ1bmsKKzQyMDkwIGFlMDdiMGU3ZDcwYTg5YTA3N2MwNDUwMDM5NTZhYWQ3NDI4YTZhY2MgbGVnYWN5LXRydW5rCis0MjA5MSBjNTgzMjE0ZDRjNTEwOTRjOGE0NmQ5N2Q5YzFjODQxNWMyNWVkMzRjIGxlZ2FjeS10cnVuaworNDIwOTIgZDc5ZjA0MzI4NGJkNTA2ZmNhOGYwYzNjN2ZlNjQ5YWZiYjM3ZTEwMSBsZWdhY3ktdHJ1bmsKKzQyMDkzIDFhZjdmNzE5ZWQyOGYyNzc3NWIxYWFjOTlhODU4ZDAxOGFhYjIyNzkgbGVnYWN5LXRydW5rCis0MjA5NCAzZWYxMzgwZmQ4M2MyZWI1Nzc5MmZhMGRkYzFmMTFjY2EyYjlmYTIyIGxlZ2FjeS10cnVuaworNDIwOTUgMmUxNTFiYzgyMGY3MTg0MDk4ZTFhN2ZmOTczOTRhY2NkZDcyZmY0YiBsZWdhY3ktdHJ1bmsKKzQyMDk2IDIxMmJjMjM2MzJhYjVkNDc0OTNjZDE1ZmRhMzEyYTliOWYzMWViYTYgbGVnYWN5LXRydW5rCis0MjA5NyAyZDNhMWMzYzkzMDU2OTEzYjJiYzYwZmYzNWIyMjJjZTg4ZGFiMGY4IGxlZ2FjeS10cnVuaworNDIwOTggNjg3NGYyNjkzZWI4YTBlZWY5ZDY4Y2VjZWJlMTM4YTk5MTZjZDk1NiBsZWdhY3ktdHJ1bmsKKzQyMDk5IGE1MzAxNzYxODU4NjVlZjllYmIwNDIyOWYxZjEyYzYxMDBmNjdkZDIgcmVsZWFzZTI0LW1haW50Cis0MjEwMCBiNTg3NjEwZTIwNjlhNGQ5YzRiNjc5YWU5NGViNGNlNzU0MWMxNzMxIGxlZ2FjeS10cnVuaworNDIxMDEgMWQ3NjQ2MzhhYmRkODAzMTc2YTA1YzEzMjM3YjU0YWNhZTVhYTMyOSByZWxlYXNlMjQtbWFpbnQKKzQyMTAyIGVhNmE0NmQ4YzUxZWMwYWJjOTRmMmJmZTRmYTJjNTQyY2JkN2ZhMDIgbGVnYWN5LXRydW5rCis0MjEwMyA5OGZhYWMxZGY1YmJlZGY1ZWIwZmY1ZjI3MDQxNTQxOTQ2OTg1NGQ0IHJlbGVhc2UyNC1tYWludAorNDIxMDQgMDcwYmI0MjFhMzAzYmNlMjAwMjczNDE5YjBmMTJhODI0ZGFiOWI1YSBsZWdhY3ktdHJ1bmsKKzQyMTA1IDkyOGRlNGEzYmU2ZjU0OWExMGI4MDRjNjgzOWM2ODk1YjAyMWM1OGEgcmVsZWFzZTI0LW1haW50Cis0MjEwNiA1ZThhZjI0MjM1NzUwNjM0MWI3MjIzZDg5NmVkM2Y5NGU0NmE2YTc0IGxlZ2FjeS10cnVuaworNDIxMDcgZmRhOTEyZmU4YjlhZGM0MDc4YjE2ZDJhN2ZiNmJhZTczODU2ODQyOSByZWxlYXNlMjQtbWFpbnQKKzQyMTA4IDc2YWJhM2ZhNGUyZjgxN2I1ZTUzMWYzMzk3ZGQ4ZGQxNTAxMTM5YWUgbGVnYWN5LXRydW5rCis0MjEwOSAxN2YwOTk0NzllNmI3M2RjZWU1ZDY3MjU2MGM3ZTcyYjk4NzgyODUxIHJlbGVhc2UyNC1tYWludAorNDIxMTAgNGJjZjVmZTU0ZDgzNDBhYWQ3NGNlM2IyNWNjNjAzZGIyYzQyYjlkOSBsZWdhY3ktdHJ1bmsKKzQyMTExIDllYWUzMmJkZjgwMWI2NzAxYmM3YjlmOGU5ZDhkMjMwMzUwOTlmY2MgcmVsZWFzZTI0LW1haW50Cis0MjExMiBhYTdhYzkwODdhMWMzMDYzMmFiZmQ3OTUwMjA4NjQ3NTAxYWI2NzFlIGxlZ2FjeS10cnVuaworNDIxMTMgYzJiMTQ5NzMxMGQxMDE1OWJjM2M1MzQ4NWVhNzBhOTRjYTFlMTM1MyByZWxlYXNlMjQtbWFpbnQKKzQyMTE0IGFlZDMyY2UzNWI4MmRmZmFkN2U1YjI5Y2E2YmIyZTEzM2E4MDZkY2MgbGVnYWN5LXRydW5rCis0MjExNSBkNDhmNGE0YTMwNmY1OTNlZjBhMTE0ZGMxNWMzNjBlMTcwMDVlNTEzIGxlZ2FjeS10cnVuaworNDIxMTYgNTgyNTFjOTkwNGUxODkyNzA0NDZlNjMzNWVhMzBiMjU1ZGE3YTc5NCByZWxlYXNlMjQtbWFpbnQKKzQyMTE3IGViNGE0N2I4MTk0MjRjY2YzNjk4MTFjZDZiMzIyYWE4MGE2YjdkNTAgbGVnYWN5LXRydW5rCis0MjExOCBiMGE5YThkMTRhYjIyMjQ0YzBhYjA0YTNjNTMwOGVhMmJiMGZmODEzIGxlZ2FjeS10cnVuaworNDIxMTkgMzE1ZjQ0MDdhYjEyZDU3N2UwMDdlOGE3YzczYzZhNzBiYjgyNGE1NiBsZWdhY3ktdHJ1bmsKKzQyMTIwIGY4ZmNjYWU2YTBmNWRjODI4N2YwNmVhNzc2NTJhYzRlMGIyZGJiYjUgbGVnYWN5LXRydW5rCis0MjEyMSA2ZTEyNzA3MzcxYTEzMGVlZDQyZGIxMjAyMDBlOGU2ZjZlNjEyODVkIGxlZ2FjeS10cnVuaworNDIxMjIgMThhMmQ3NWEzYzY5NjQ0ZjcxM2MyNTU5YmMzZTk5NTg3ZjViMTFiZSByZWxlYXNlMjQtbWFpbnQKKzQyMTIzIDNhOTJlNTY1NDc0ODVhZDg4ZGZkNmI4ZGNiMWU0YWM3NWE5MDRhYTMgcmVsZWFzZTI0LW1haW50Cis0MjEyNCBiYTE2MDQ2NGE4YzZjMTljYTEzMzk4ZGNmZTZjZTljNzhiMDVjMGZjIHJlbGVhc2UyNC1tYWludAorNDIxMjUgMDRhOTZjYzg4NTgzZWMzYzIxZjkwZjNhZjRjN2QxZDMwZmIzMWUxNyBsZWdhY3ktdHJ1bmsKKzQyMTI2IDI0NDU2MzM4MDI2YzA0ZjJkNWRmODIwM2FjZWQ1MjQ1ODllOWYyZDcgcmVsZWFzZTI0LW1haW50Cis0MjEyNyAxZThmNDY3M2U0NDc0NzNiYWM0YzRlMTQxZDlmNjY4MjZjZDY3YWI0IGxlZ2FjeS10cnVuaworNDIxMjggYjA1YzRjYTg1OTQzNGRiNzYxZmYzY2Y1MDEwYzlkN2VlODk3MmQwZSByZWxlYXNlMjQtbWFpbnQKKzQyMTI5IDQ3NDZmYWIzNDAxMjQ0ZmZiZjRiZjhjYzZjYmIzNzRmZDQ2MDk1YWIgbGVnYWN5LXRydW5rCis0MjEzMCBhYzAyZjY1NWIzMWUzODA4ZTJmYWE3N2I5ZmVkYzUyYmRhYTc3MjE4IHJlbGVhc2UyNC1tYWludAorNDIxMzEgY2E2YzgwMGFkNWEwMmMxMTliYjBjM2EzOWRkNzBhZWY2Y2ExM2I2NSBsZWdhY3ktdHJ1bmsKKzQyMTMyIDZmY2I1NDA1MDc0ZTdhNWU1ODQ5ZGJmNGEwZjM3ZjdlNzYzNzIzMmIgbGVnYWN5LXRydW5rCis0MjEzMyA5Nzg4NWFkZjczYjU0NzFhYzdkYTNhNDMyZjNkZjgxZDAyY2NmN2FhIGxlZ2FjeS10cnVuaworNDIxMzQgNzg3MDJhNTAyOGE0MWY4NWFiODBmNGVjNzBjMWQ1ZjgxYTUwMmQ0MCBsZWdhY3ktdHJ1bmsKKzQyMTM2IDlmN2NlMjg0NmMzMDk1OWM1NDVkOTExNDZmODE3NDk1NTNhOTMzZDggbGVnYWN5LXRydW5rCis0MjEzNyA2MWI4ZTNlM2Q2NDE4M2FjYzI4MDY0NGViNjQ5OTFjNjRiZDRiOWM0IGxlZ2FjeS10cnVuaworNDIxMzggMjgwNjUwNzkyZWY3MmI3Y2VlOGI5Mzg5ODNiMWFmMDc0YWUwM2I4NCByZWxlYXNlMjQtbWFpbnQKKzQyMTM5IGY5NDk5MWQ1ZGQyMDY5Y2JkYWJmZjlkNDg1OWFmMDVkYjQzNDQ2ZmMgcmVsZWFzZTI0LW1haW50Cis0MjE0MCBmZGYxYmU5Y2ZlZGYyYjMwMTk2MDMyZDkzMzNmOWE1NzRmMzM2OTczIGxlZ2FjeS10cnVuaworNDIxNDEgMDBlZTIxNzE1MzdmNzVkZTdhNzA5NThmYjc5ODU0N2U0ZDk0NTM2NiByZWxlYXNlMjQtbWFpbnQKKzQyMTQyIGYwMTU0M2UxNWY4NWE0OTkxZTMyMDExZDFhMmI1YTEzZTQxYzE2NWUgbGVnYWN5LXRydW5rCis0MjE0MyA0MzE1YzUzZjUxYmNhNjA0MjlkYTU2ZGIzZTViMzE2MzdkMDY0YTQ5IHJlbGVhc2UyNC1tYWludAorNDIxNDQgNGQyYTA5YTY0ODVkM2U5Yzk4Y2I5YTFhNmY2NTk3NWYxMzEyODJkMyBsZWdhY3ktdHJ1bmsKKzQyMTQ1IDNiNjNiYzkwNGQ5MmU3YjViNTI1MDQzZTA2NjE5MmQ3MGRkOTAwNTAgcmVsZWFzZTI0LW1haW50Cis0MjE0NiA0ZjExYjIzZTM2MWY0NTRkOWU5YTllYjc3YTk0ZTRhNjY0OTg0OGZiIGxlZ2FjeS10cnVuaworNDIxNDcgNDQ2Y2I1ZmMzZDI4MGJmN2ZjNDZmMmQ2ZGFkMmM4MTI2MDI5ODVjOCByZWxlYXNlMjQtbWFpbnQKKzQyMTQ5IGExN2I3MzgyNmY5NzgzYTgwMTY4ZTU0NzhlN2IzNGM0NDUwZDg3ZjIgbGVnYWN5LXRydW5rCis0MjE1MCBjODNjMDIyYTM0OTFlYjE2ZmUxYWZmNWE3OGU0MWVjZTY5NzMzZGMwIHJlbGVhc2UyNC1tYWludAorNDIxNTEgODE0MGYwMDBlOWQ0NTllZjM0ZjMyOWQzNWI1OWYwY2MyYzBjZWMxYSBsZWdhY3ktdHJ1bmsKKzQyMTUyIDYwNGZlODdhZDQ3YzdjMGMxOTI0ZWIzOWY5ZGFhN2NhODU4MmUwZTcgbGVnYWN5LXRydW5rCis0MjE1MyA5OWQ0OTFmYWE2NWMyYjlkZjdlMTQ4ODA5NzFhNmQxMTA2NTJiY2YxIGxlZ2FjeS10cnVuaworNDIxNTQgN2IzZDkxNWI2ZTlkMDAxMjNlOGZjN2U1Y2Y4YWQ0NzJhMjY0ZmI2YSBsZWdhY3ktdHJ1bmsKKzQyMTU1IDRmOTBjN2MwNTM2NGY0MjRiNjNkNjJkNGQxMmIxM2ZjZDI3MTY4MmMgbGVnYWN5LXRydW5rCis0MjE1OCA4MzhiNWY1OTI0ZWUxNzE0MTQ2N2U5MTg4MTVhM2Q1M2UwZGUzODEzIGxlZ2FjeS10cnVuaworNDIxNTkgM2I0YjQ0NTRmZTg2NjRiYzRiZWFmMTVjYzhlMWMxOTczZTgzMDYzYiBsZWdhY3ktdHJ1bmsKKzQyMTYwIDVlZTQ2YmJlZDFmOWZlMDQ2OWUxNmUyZGQ0NDNmNGNkNjVlNjE5MDggbGVnYWN5LXRydW5rCis0MjE2MSA1YzQ4N2NiNjMyOTUwNzhkYjNmMzM5ZWFlM2M2NzBlNmI2ZDgyN2E2IGxlZ2FjeS10cnVuaworNDIxNjIgN2YwNTk3NGM4YjgwMzE3ZjI4NzA2OTIxOGUyMDAwZTEwYTdjNTBjOSBsZWdhY3ktdHJ1bmsKKzQyMTYzIDAwMDZhZTEwYjdmMGM5MmM5MWEzZTA5MDI3NGMyYThmYTQwMjUwMzkgcmVsZWFzZTI0LW1haW50Cis0MjE2NCA3OGJkNzhhMWNlNzRiNDYxZjI1OGI1NmI1NTRiNWZiZmUwN2NiNzE2IGxlZ2FjeS10cnVuaworNDIxNjUgMjAxMmM1NDhjZTY5OGNiZjQwYmI5ZTQ1YzZhODM4MTBhZDBhNzE5YyByZWxlYXNlMjQtbWFpbnQKKzQyMTY2IDMxMTRlYjA2MGQwYWVkMmVhNzg2NWUyZjNiNDJkMThlYTk5OGZlNjMgbGVnYWN5LXRydW5rCis0MjE2NyA3NGE1OTg5NjRjOTYyOGQwYTQ3ZjljZGRlNGE4ZTQ0MmI2NTJhODE2IGxlZ2FjeS10cnVuaworNDIxNjggYTI5Y2MyM2JiODljNGM1Zjc3YmVlMjBjMzA5NGI5ODc1NmVjZTM4ZiByZWxlYXNlMjQtbWFpbnQKKzQyMTY5IDAzNzJlMjVlNDMwZWNjNTcyZjJmOGE5MmY2OWU4MWI4NWE0MjI4NWMgbGVnYWN5LXRydW5rCis0MjE3MCBhNTBmNTYzNWE0OTQ5Yzk1NmZlN2NmYjBhYjEyZjc4NmI0MmMwMjNhIHJlbGVhc2UyNC1tYWludAorNDIxNzEgZDY4ZjczZjk2ZjMxZjcyZTM0NDM5YzVmYmY0ZjhiOTU5NzZmZmQ0NiBsZWdhY3ktdHJ1bmsKKzQyMTcyIDZhYjgyYzQ3MDYzMzhmMWU0NjViMmI1YTFiYjk4MGYyZmI1NDU0NjQgbGVnYWN5LXRydW5rCis0MjE3MyAwNTVmY2RjNjUyZGQ0MzU2Y2ZhOGM0ODUwZmM3NmIwYzRkMDI5MmUzIGxlZ2FjeS10cnVuaworNDIxNzQgMWI5ZWI5NjMyYzg5YjhhMDk0YjMxYmEwNzE5ZGFiNGNjNDIwN2YxMiBsZWdhY3ktdHJ1bmsKKzQyMTc1IGJmYjI0N2Q3YmMzZjcyNTJmMzM5OTE4OTFmNDNkNGM4NjVjOTk3OWEgbGVnYWN5LXRydW5rCis0MjE3NiBkNTczNGRjMDdkNGFiZDk5NWUxZTk1ZGZiYzQ1MWE3MGFkNmY0MDU3IGxlZ2FjeS10cnVuaworNDIxNzcgNTEyMzQ1MzY5MGU1MWExODg4NmZlYTFlZDUxNDQ4MzNlZDNhZDdiNCBsZWdhY3ktdHJ1bmsKKzQyMTc4IGQ2MmRhMzZhYWUxNTUxMjVhY2ZhYzNhYzk1YTlkNzc3ZmY2MmVhZjkgcmVsZWFzZTI0LW1haW50Cis0MjE3OSBlN2YxOWVkMWVhMmRjMGNhMWJjMjAwMDlkNDNmYzdkN2NiMmJjMTM4IGxlZ2FjeS10cnVuaworNDIxODAgYzAxZDIyNzJlNmMzYTZmYjQ5NzRmOGU1ZTJlNDhiNGJmODNiMGI3MCByZWxlYXNlMjQtbWFpbnQKKzQyMTgxIDNkZjYzNDYxYjExNmQzNzlkN2VlODYzN2MwYzM3MjczZTEyMjEzOTYgbGVnYWN5LXRydW5rCis0MjE4MiBlMDI4OWZiYTZmZjFlYTkzOTFiNmNhMzc0ZmI2MDBjZmQ0NjM5YjRkIHJlbGVhc2UyNC1tYWludAorNDIxODMgMDQwZDdmYjRlYjU2ODQ3YWRkZTEwZDhiZjNiNmEzYmE2NmQ5ZDM2YiByZWxlYXNlMjQtbWFpbnQKKzQyMTg0IGU5NzgxOGJjMjkxOTQ0YWY2ZDA5ZTFkNjdiMmIwNGQ3YjdiOGIzYzUgcmVsZWFzZTI0LW1haW50Cis0MjE4NSAxMzU5NjA1ZjM3MTNmYjU5MjM5ZWZmYzBmYTI1MzdiMWQxOTI3NTczIGxlZ2FjeS10cnVuaworNDIxODcgYWY2ODRkNzNmM2E2NzNkZjk3MzFhNzMxMGViMDZmZWNhOGM4OWFjYSByZWxlYXNlMjQtbWFpbnQKKzQyMTg4IGMzYjY3MjhkODg2Yjg3N2NiZDQxZmE0MGRjMmZlNjhmMmY2YTM0MjggcmVsZWFzZTI0LW1haW50Cis0MjE4OSBjZGU2ZWEwOTFhYWFmY2U0NWUzMTUyYjk0YzliYTUzYWVhNTI4ZDk2IGxlZ2FjeS10cnVuaworNDIxOTIgMDYwMjg4N2RhZGY1ZjU3NDFmMzU1NDc2ZDZiMDE4MTkwMWQ1NjZkZSBsZWdhY3ktdHJ1bmsKKzQyMTkzIGYwYWRhNmYwZjY3ODk5MjkzYTljNDIxOTc0MTEyNGU0MDkyYTExYzcgbGVnYWN5LXRydW5rCis0MjE5NCBhNjI1ZTg4NzY0MDcwMzgxOGUyM2YzMDM2MGZlNTQ2N2UzYjgzMDczIGxlZ2FjeS10cnVuaworNDIxOTcgOTUwZTNlMzg0M2JiZjAwNDc3YzMxZTJlNDQ5NmIwZjYwMmJkZjUzYiBsZWdhY3ktdHJ1bmsKKzQyMTk4IDAwMDRhOWQwNGQwMzY2NTcxNDZhMmUyMWY0ZjVhYjM4ZDY5NDQxZTEgcmVsZWFzZTI0LW1haW50Cis0MjE5OSAyMjg5OTUwMjExN2ZlNjg5MWY2OTIxYzdhYzEwOTA5ODg2MWFhNDIyIGxlZ2FjeS10cnVuaworNDIyMDAgZmMxMmNjYTczYzM1ZDBiY2QxNmZiZDgwYzk0YzcxYjQxZDdiNjhhZCBsZWdhY3ktdHJ1bmsKKzQyMjAxIDI5YmZiYjU4OGQ5M2Y4ODc3MTdhYjYxZTExM2UxMGZlZTcyM2QwNGIgbGVnYWN5LXRydW5rCis0MjIwMiAyM2ZlNDdlOTMzN2Q4ZjljNjg0MTJhMWE2NWY0ZjUyZDNiMjcwOWYyIGxlZ2FjeS10cnVuaworNDIyMDMgYmZhMjI3MjY3ZjQ4MTRlODJlOWZiYWNlYTlhMzIxZTZhMTFhZmM5NCBsZWdhY3ktdHJ1bmsKKzQyMjA0IDBmMmQ4MjAwM2EwZmI3NGQ0ZDJhZTQ5YjcxYjM1N2JlZjI5OTU3ZTggbGVnYWN5LXRydW5rCis0MjIwNSAyODBkNjAxOWNmNDI2YzBhMDM2NjEyOGNkYTc2YjM0YTg3MTI5YmY1IGxlZ2FjeS10cnVuaworNDIyMDYgMzhhOTRlNThhNjk1NmM2YWE5NzA4YzhlZjdlMjgzYzA1MzExNTA3NiBsZWdhY3ktdHJ1bmsKKzQyMjEyIDE2YmZlOTM4NjA2OGNmYmUxOGEzNWVlOWMyOTkyZTYxY2ViOWI2ZjggbGVnYWN5LXRydW5rCis0MjIyMSA4MTk0MmZjOWEyMGQxNjY5ZTg3MjY5ZmE2YTZiZjI2ODE5NGRmOTU0IGxlZ2FjeS10cnVuaworNDIyMjYgZDY4MGZhNTI1NTEyMjZjNDBmMjU0YzliNGY2YjEyODhmNzUxYzYwMCBsZWdhY3ktdHJ1bmsKKzQyMjI3IDZhOGQ1ZTA1NGU5NzFkM2RiNGRmMGE5Y2NjMmY5ZGJhOWM5ZDc0NzMgcmVsZWFzZTIzLW1haW50Cis0MjIyOCBmMjM2NjEwOGJjYjI4MWM2ZDZjZjZiOWViMzQzZjkzZjczM2MzZmMwIGxlZ2FjeS10cnVuaworNDIyMjkgYmQ0NGM3YzA5NzdmNTc2NzI5MTY1ZjdhNTQwZjEwNGUyMWRiZDcxMiByZWxlYXNlMjQtbWFpbnQKKzQyMjMwIDI2ZTBmNjhkZTg2ZTZiYWIxMDAwOGEzMzM0ZTVmZjZkYjE3Yzg4ZTggbGVnYWN5LXRydW5rCis0MjIzMiA2NTVmYTIyNjA2Nzk4NDYzZjNmZjE1M2EwYWQ5YzdjNzk3MTNkODgwIGxlZ2FjeS10cnVuaworNDIyMzMgZTY2MjI4NTgwZWEyNjQ4NDhhOGNmYTM0NDdkMzY4ZTAyYjQyMjc5YiByZWxlYXNlMjQtbWFpbnQKKzQyMjM1IDk0ZDI3ZTAxODMzZGE0NzliZGY4ZWY1OGI2ZTIxN2QxN2UzYmM5ZDQgbGVnYWN5LXRydW5rCis0MjIzNiBjYjBkYmFlNzJhOGU3NjFiMTk4OTRjOTI5YjE3MTgwYzhmNjhiMWQyIHJlbGVhc2UyNC1tYWludAorNDIyMzcgNWUyYWNmNzQ0MWJkNjliY2ZjZGU1YmIxZTRiMzcyMDU3YjAxYjY2YSBsZWdhY3ktdHJ1bmsKKzQyMjM4IGRjMzI0NjMwMTVmMWJjZDg0MjZlYTBhMzJiNDU4YWRlNWJkMDdjMDYgbGVnYWN5LXRydW5rCis0MjIzOSA4ZTIzYTdjY2Y2MTVkMTk0YmM0Y2IzM2I2MGEzZDMyNmRkOTdiMGJkIHJlbGVhc2UyNC1tYWludAorNDIyNDAgOWE0ZmY2ZDZlNzI0NjQxM2M4N2ExZTVlYmIxNzliZWFjYTYyNjYzMCByZWxlYXNlMjMtbWFpbnQKKzQyMjQxIGEwN2ZiMmVmNTJhZTc1OTljNmFmNDNjODYyNTliZjYxNzEyNmViYWQgYXN0LW9iamVjdHMKKzQyMjQyIGQxZWYyM2ExNjc2MGMyMzEzNGI4OWQ1NmExM2Q0YTQyNmQ4NTRjYWQgbGVnYWN5LXRydW5rCis0MjI0MyBhMzA0NmQ0M2ViNTJmMmYxY2FmYzhiOTllNTZiNDhjNmU0NTVjZTNiIGxlZ2FjeS10cnVuaworNDIyNDQgMDJmMDc0NGE5Y2QwMmRkODAxMzY4MDQ1Mjg2YzVhZjMyYmI3ZjkwMyBsZWdhY3ktdHJ1bmsKKzQyMjQ1IDNlZGIxYmNkNDM0ZDRkYTFiOWNiMzljYjJmMWZhN2YyMjViZjIwNTkgcmVsZWFzZTI0LW1haW50Cis0MjI0NiAzODhhNTgzZTdhNjM0NGQ1ZTBkZTVhMDllMjNjM2M2Y2VhNDJiOTE5IGxlZ2FjeS10cnVuaworNDIyNTAgNGVkMzBlYWEwMjU2MTI1YTQyMTBjMGIyNTNhMGI1MmMxYTNjMmQ4OSBsZWdhY3ktdHJ1bmsKKzQyMjUxIGMxOTMyODNlNjNiY2I3NjEyNTNhZDlhODgzNWFlMjFmZTc0NzU2ZWQgbGVnYWN5LXRydW5rCis0MjI1MiA4NDA0YzllZmRjMzVlYmZmNzAxNWQ1NTJlNjhjN2VlZWY3N2M1ZDQxIGxlZ2FjeS10cnVuaworNDIyNTMgNzc4OWNjNTU3ZTFlZmE1NGMwOGVhOWQzNmEzMGJkMTY4YjQ4NTE2MyBsZWdhY3ktdHJ1bmsKKzQyMjU0IGFmNjdiNjI2NWFmNmFlMGJkZmQ1YWVmYzM2OWQ2ZWFlODI1MTk0NTkgcmVsZWFzZTI0LW1haW50Cis0MjI1NSAwMDJmOWI4ZmVjMjFlNzBiNmVmZDUwMTBhNWM5ZDJmNDg4OTY5MjViIGxlZ2FjeS10cnVuaworNDIyNTcgMGEyYTRmMTQxMTBiOTRhODQxZGNlZGMxYTBhYTlkZjRmZjBhZTNiNyBsZWdhY3ktdHJ1bmsKKzQyMjU4IDUxZjc2MDI4ODEwNDUyOWFhN2QwNDVmODVmNjk1ZGVjZDM1YjFmZDEgbGVnYWN5LXRydW5rCis0MjI2MSBmMzhiNjM1MjYzZDNhMWZmZjZhZWQ0ZDcwNDFkNzk3YjFhODE2NGI1IGxlZ2FjeS10cnVuaworNDIyNjggY2Q0NDU5ZDA4ZWUyMzY4ZTZjZThkMGUyYjc2YmIyMDI2MDI5NGQzZiBsZWdhY3ktdHJ1bmsKKzQyMjY5IDNhYmYzMzI2NDE0NjMzNjFkOGY5YjhlZjBhMmNjNWE5YWM3MWYyZDcgbGVnYWN5LXRydW5rCis0MjI3MCBlYTU0ZWFmOTIwMTYwMzE4ODVkYmNmYjU3YTFlYTFjMTJlMzNlYzllIHJlbGVhc2UyMy1tYWludAorNDIyNzEgZDU5NjE5YTM3MWMyMTc5YzMyMGZlN2Q2ZDYwNTU3YmFiZGFjMmI0NiBsZWdhY3ktdHJ1bmsKKzQyMjcyIGZkYWNmNzJkNDk3NjMwMmM5MmI0NTUxOWRhNDU5NDU2YmEwMjNjOTcgcmVsZWFzZTI0LW1haW50Cis0MjI3MyA1NTI0NjRkODFlMWIyMTY5NjFlYTJhNzZhZWU1ODE1YjkyYTViZDRjIGxlZ2FjeS10cnVuaworNDIyNzkgODQxNmZiMzIwNDAzOTE5YTZkZDA2NmYwMjg2ZDk1YmU4YzJhYjVkZiByZWxlYXNlMjMtbWFpbnQKKzQyMjgwIDM5N2Y2MzlmN2U2YjhhZmQwYjgzMjA2YTBjOGZkOWQxODAzNjMxYmIgcmVsZWFzZTI0LW1haW50Cis0MjI4NCA0YzJkNmViOGQ1ZTljM2M2MjdlYWE4ZjliZTVhZjM5NDc0YzY2Y2Q1IGxlZ2FjeS10cnVuaworNDIyOTAgODlmMWRhMTM0MmNhNDdkZjhhYmJkYTMwMDk0NzM1NWRhMTlmN2VlZCBsZWdhY3ktdHJ1bmsKKzQyMjkxIDNjZjhhOWVkNDQ2YjNlNGIxMDU5MTE1OTRkMTMxMjViMjVmZjNmYzIgbGVnYWN5LXRydW5rCis0MjI5MiA5M2VmYTU5YjMyOTdjZmZhYzdmOTA2ZWU5YTkzOTEzNzdlYzUwZDE1IGxlZ2FjeS10cnVuaworNDIyOTMgMDVlMzE0ZWUyNmY3NzA4ODVkZDc3OTY2NzM4NjllNjY5MDNmOTA2OCBsZWdhY3ktdHJ1bmsKKzQyMzAzIDE2NTM4OWIxNGQ2YmE3MTliY2MxNTE5ZmU0MTc0ZjUwZjUwM2M0ZDYgbGVnYWN5LXRydW5rCis0MjMwNCA4MWY0NGQxMmJlZjdhMThlMzhmNjZlNTkxNGQwMzM1ZjhjYjkzN2FhIGxlZ2FjeS10cnVuaworNDIzMDcgN2IxOWE1MzNjZTliYWQ5NWRmODU3YjNjYTRhZGQ4YWNlNzljMGRiZiBsZWdhY3ktdHJ1bmsKKzQyMzExIDBjNWFlODkyNDEwNGVlNjQxN2RiMGQ0NWMwNWI3NTE4ZmRhZThiZjggbGVnYWN5LXRydW5rCis0MjMxMyAxYzNiMTVkZjY3YTI5MzlmZjMwMWRiOGRmMGM3ZTZhYTE3NjczZDQyIGxlZ2FjeS10cnVuaworNDIzMTQgYzA3M2RmZmJlNzBlYzk1YzIzYmI0MGU0MGUwOGIwYTk5OWM0M2EzYyBsZWdhY3ktdHJ1bmsKKzQyMzE4IGQyMTg3NWQzNTkyYjY0OTc0YjI2YjBhMDAxZWMxNDNmNGM3ZTMxYzggbGVnYWN5LXRydW5rCis0MjMxOSBlMmQ0NjA4ZjVjMWQ2ZDBmOGY0NTVlZjg0N2E4ZWUwYTc3OTI1OTk5IHJlbGVhc2UyNC1tYWludAorNDIzMjAgZDQ5NmMwNzY0YWQ2MTRhN2U1OGRhOTgzYjc3YzRmZGMxZWM4NmVmZCBsZWdhY3ktdHJ1bmsKKzQyMzIxIGFlMWRhNTEyNDM4MjRhOGQ3Y2EzN2VjNzAyNzczZmZhNzhmZGIzYTUgcmVsZWFzZTI0LW1haW50Cis0MjMyMiA2YzZiNDI5YTcwMzBjNjUwMDlkOGZkZjE4ZjdjZTYxZTlkZTAxNGNhIHJlbGVhc2UyNC1tYWludAorNDIzMjMgNTEyOTc4MzFiNWY4OTA5ZWUzNjRmNGI4MmE5N2NhMWZiNjI1YjQ2YSBsZWdhY3ktdHJ1bmsKKzQyMzI1IGI0OGEwNDcyOWNjNDk4YjBiZDNlOGRhMzNmODZhZDUzOGVlMzE4YWIgbGVnYWN5LXRydW5rCis0MjMyNiAyMGY3NWQ1ZTc5ZTk1M2JlNDZmYTE1ZjJiYmNhNDIwOWE2MTI0NmU4IGxlZ2FjeS10cnVuaworNDIzMjggYzAwNzBkNzZjMGRiM2UwNTUzMWUyYTk3OTYyZjZjMDdkMzJhNGFjMiBzc2l6ZV90Cis0MjMzMCAzNmVhZTNmYzM3M2Q1MDEwNTJhZDRmMmYxY2FjMDkzYTJkOTkzODczIHNzaXplX3QKKzQyMzMyIDcxNTMwOTIxY2U5M2IzZTM3ZTViZDRiYTk5ZGQ4NmE3MjU3YTllOTcgc3NpemVfdAorNDIzMzQgMmEzMjMxZmU3MmUyOThhZDlmOTkxM2ZkOTdjZGNmYmE3ZWY1ODMyYiBzc2l6ZV90Cis0MjMzNSA5OWRmZGNjNmQ2MTNkZGU0NGI4OWE4MTQ2YzM5ZTYyY2QwNzkxNjIwIGxlZ2FjeS10cnVuaworNDIzMzggYzQ2ZGUxZTViOWEwMzIwMTgwODVjYWQ2ZjQ2ZDVjMDFmZTc0YmQwMSBzc2l6ZV90Cis0MjMzOSA2NWFlNzMwYjYyMzE0M2E5YjVjZTJhMWJmMTUzOTJjNzdiZTljOGNiIHJlbGVhc2UyNC1tYWludAorNDIzNDIgMDdiYThhYWUzZGM2NzFhODYxOTAxOTIwYmEyZDRlZWVlYzQ2ZTc4YiBsZWdhY3ktdHJ1bmsKKzQyMzQzIGEyYjZkZGFiNjZkNzhhMGI4OTlmYjg3OTQ4N2RjYjdmODYxMjU5OGQgcmVsZWFzZTI0LW1haW50Cis0MjM0NCBlNDcxZjFkZjJkMDMxZjEwNjY4ODI5OTg4YWYxOGE1MmQ0MmMxMDc0IGxlZ2FjeS10cnVuaworNDIzNTQgNzRiMjUzM2I1OWI4YmViNDdkYWIyNzU1NGNhN2MxMmM0ZDZmZTNlNCBsZWdhY3ktdHJ1bmsKKzQyMzU1IGM3YWI0MTdjNTliYzhiMDNkODY2OTViNGMyYjg4N2U3NTFhMDMxMWUgcmVsZWFzZTI0LW1haW50Cis0MjM1NiBhY2Q3MDJlMzA2ZmI0MTRiOWRhZThiNjAxMmJhNmUyNzZmNjk1ZDU0IGxlZ2FjeS10cnVuaworNDIzNTcgNTc0YzI1ZmU2MDI4NDUyMGVkMjUzZTMzNGMyNzU5Zjg5Y2UyM2M5OSBsZWdhY3ktdHJ1bmsKKzQyMzYyIDM0NDc1NDQ5N2NiM2Y1ODhlNjU4NzU4MTI0NTZkYjBhMTkwNWRmN2IgbGVnYWN5LXRydW5rCis0MjM2NSAyMjA0OTdlMDg5Y2U4ZGViNWIwYzk2MzdmMTEzMWU0MDdjMzczNGVlIGxlZ2FjeS10cnVuaworNDIzNjggZGIyZmNhOWVhMjY0MDYyODE4NmUzNjFkMGE1NTMyOGVhMzc2MzMwYSBsZWdhY3ktdHJ1bmsKKzQyMzcxIGMwYzM2YmJkNWUwYzE5NDM3NjhiMGIzOTkzYjZjNTE5NGFjZGUyMTkgcmVsZWFzZTI0LW1haW50Cis0MjM3MiAxN2VjMTdkZDJhYjNkN2ZjNDY2NDEyNGZiNDcxOGQzM2ViMGVmY2JmIGFzdC1vYmplY3RzCis0MjM3NiA5NjY4NWYxMTI3MDk0NDQ0NTJkNDEwNDQzN2Y2ZmQ2OGQ3NGNlMWJjIGxlZ2FjeS10cnVuaworNDIzNzcgMzVkZThiY2NmZDBlZDcyOGI5OWJjNDFhY2ZiNWUyMjI5ZTUwODM0NiBsZWdhY3ktdHJ1bmsKKzQyMzc4IDk4ZjdiNzQzZDkxYjAzNWJlZjI1YTQ5NjZkOTEzMDQ1ZGU1ZDJmNDEgcmVsZWFzZTI0LW1haW50Cis0MjM3OSBjMDM0Y2RkNzk2MGNlYzYxNDRlYTJiZjY1YTQ0ZGVmMGY4MTk4OWJlIGFzdC1vYmplY3RzCis0MjM4MCAzNjI1YzhiMTQzZDljY2NkNTkyOGNmOTBjZmUxYmNhYTcwYWY4ZmI5IHNzaXplX3QKKzQyMzgyIDdmZGM2MzliYzViNGQzYzA5MmNiM2ZkN2Q4N2Y3M2RiM2Q0N2JhMjcgbGVnYWN5LXRydW5rCis0MjM4NCBiOGU3M2MyZDFmMTdiMjc1MGM2NTM3MWYyNzcyNTk5ZDgzNTE3Y2E2IGxlZ2FjeS10cnVuaworNDIzODUgNzk5OGQ4NTY0OWM5ZTAwMGIzN2JjMGQxZjAxNmRmNDY2M2M3NjhmZSBsZWdhY3ktdHJ1bmsKKzQyMzg4IGRhOTNmOWYyZDZlOGE4MWZkZGJkNTNhMGE5NTE2NmZlOWQzYTc5YjYgbGVnYWN5LXRydW5rCis0MjM4OSA1ODI1YzZhY2UyOGI2MGViNTdhNWQ1NDI1NTkzY2VmM2JlMWMwNjJhIGxlZ2FjeS10cnVuaworNDIzOTAgNzc1ZGVmYmE0ZWU3NGI1NjFiZjQzOGRmZDcxZTQyYmMzNDE4Y2RmNyBsZWdhY3ktdHJ1bmsKKzQyMzk0IDc2N2FkYzA5ODQxNjFiZjYzMzA1MjQzNjBhYjMwN2M2YjUyNTE3OWUgbGVnYWN5LXRydW5rCis0MjM5NSA3MzIyZGNjYmEyMjQyOGE0MmFjODk5ZDUwZWQ5NGU4ZDk1ZjI0MTYyIGxlZ2FjeS10cnVuaworNDI0MDAgMTNlOThlMzY5YWJkOWY4NmFlYzc0YmIzNGMzM2MxNWM4NzhhNzM2YiBsZWdhY3ktdHJ1bmsKKzQyNDAxIDBmMzg5NGJiMmFkYWFjOGE5YTVhNTZkYzEwNGNhMDFkZTY5ZmMzZGQgbGVnYWN5LXRydW5rCis0MjQwMyAxNTk2ZmY1Yzc5YjUwMmUxYjNjNGM4ZjJjMzg1MjhiNWVhMmJiYWMzIGxlZ2FjeS10cnVuaworNDI0MDQgMzM1MGY4NWM4ODlmZDgwYmQzZmJlYmE3OGY5NTEyZDAyZDFjNjJlNyByZWxlYXNlMjQtbWFpbnQKKzQyNDA1IDQ0NWMwYWE4MTFjYTcwZGQ5ZDdiODA3ODI2YzQ2YTFjNjI1NGMzZDYgbGVnYWN5LXRydW5rCis0MjQwNiA5MTRmNWIwZGE1NGVlMWY0MDIzMTNlNTkxMTM0MTU4NDkxNDA0OGIyIGxlZ2FjeS10cnVuaworNDI0MDcgN2M5Y2ZkM2I1ZDBmYTZmMWQ0NGU1Y2YzNGMxYzg1OWZmYjllZWE0YyBsZWdhY3ktdHJ1bmsKKzQyNDA5IDdkYzFmZTc3NzEzZjJkMjBjYzk0MTU1ZmI5MTlmOGYwMmFjMTBhNzAgbGVnYWN5LXRydW5rCis0MjQxMCA5MTMzMWE4ODcxOGUwMmJlMjExYjQ5NzM0MTJmY2U4ZmI2OGU3NmI3IGxlZ2FjeS10cnVuaworNDI0MTEgOWYzZjg3ZTkyMGE2ZDFlMTk1NTc3MTkxYTFiNTE5YzliMWQ2OTVlNiBsZWdhY3ktdHJ1bmsKKzQyNDEyIGQ2ZDQxNWRmMGRmMGFhYzJhMWNhN2YzMWI0OTU4Zjk2NDNlMDE4NzEgbGVnYWN5LXRydW5rCis0MjQxMyAyNjQ3MGNkZWVhM2Q2ZmJlY2EwYzMzN2RkNWU3Y2YxNDhjNTczMjk5IGxlZ2FjeS10cnVuaworNDI0MTQgMzBhZWYzY2UyYjI2YzA5MTljYWY3Y2Y2YmJhZmFmYWRiYTU5NDRkNCBsZWdhY3ktdHJ1bmsKKzQyNDE1IDI3OTE2NzZiMzgyNTkwMDc2MzBkOTc3YjE0NDZhOTQ2MmJmMzYwNTcgbGVnYWN5LXRydW5rCis0MjQxNiA2NzJjMzBiZjk1ZTY5YTdkZTE4YzFkNzdiYzViZjNkNTc5MjY2ZDFkIGxlZ2FjeS10cnVuaworNDI0MTcgNGM4NjA2MTkxYzBjZjMyMmU5ZTc4NTE3ODQwMDlkN2YyZTJkNzIyMCBsZWdhY3ktdHJ1bmsKKzQyNDE4IDIyOTdiMjcwZmNmNjhkOTYwZmYyMWNhMDU0OTZlNDMwMDE3MjI0ZDggbGVnYWN5LXRydW5rCis0MjQxOSAwMGY5YzZlMTUwYmEyNTg3YzY4ZjMyZjFjZTg1Njc3MWQ3ZWZiOGZjIGxlZ2FjeS10cnVuaworNDI0MjAgOWRmNjFiOTZhYTQyNjRiZDk0MjU5OTNhYzJiOGU3OGEzNjBlMTlhNyBsZWdhY3ktdHJ1bmsKKzQyNDIxIDc2Y2U4ODBkY2U0OWUxMTEzZGU2ZTMwZjUyNjY3NzFiOTdjZGY4NGIgbGVnYWN5LXRydW5rCis0MjQyMiA0NDJjMGZiM2M0ZWQxMTE4ZDhiMWQyYjVmMGRkY2NlYmFmNTdlMGRhIGxlZ2FjeS10cnVuaworNDI0MjMgOTJhZmY5NzQxN2M0NmExYWFhMDZkNjMwOTJkMWYzYjM2YzZjYzcwMiBsZWdhY3ktdHJ1bmsKKzQyNDI0IDcxZTZmNmI0MTVhNGMyNjMyOTRkMmMyNDA3ZGY4NmZjNDlhOGRmMzggbGVnYWN5LXRydW5rCis0MjQyNSAwYzA5NmJlMjcwMDAzZGFjYWEzZTVjNjg2MTdhMDQyNTFlOTNiNjc1IGxlZ2FjeS10cnVuaworNDI0MjYgZWQwN2MxYTVlMjRjNjI3NjM5YTJlMTAxZWM3Nzg0Yjg5OTVmNGQ2OCBsZWdhY3ktdHJ1bmsKKzQyNDI3IDg2MjQ5M2NlYWU0YjMyMzc4ZDNhMzBjNTI2MGFlM2Y1NmZkY2MwMDUgbGVnYWN5LXRydW5rCis0MjQyOCAyNmNhYzM3MWQ3YjZlZjlhZmI5MWQ2YWE1ODFjYjJlNjc1YmI2ZGY1IGxlZ2FjeS10cnVuaworNDI0MjkgYzA2ZWUwYzkxMjA5NTdhNzcyNjFiYWY5NzdjNzhiMzJhNDU4ZjM1NCBsZWdhY3ktdHJ1bmsKKzQyNDMwIGZkYWJkZjE0ODMzNjIwNWVlNTYyZWQ0MGE1YWI5ZDkzNmEwMTQ5ZGMgbGVnYWN5LXRydW5rCis0MjQzMSAzMTY5MzhiNGY4ZDAwMjgzYzliYTFiYzM2MjY1MzZmMmU0ZjYwYmQ2IGxlZ2FjeS10cnVuaworNDI0MzIgMGQ0ODkxMjg0NDFhZjZiOTc2YzgzOWNlNDE4YTI4OWU1ZWJmNzE5ZSBsZWdhY3ktdHJ1bmsKKzQyNDMzIDdkYjNjYjllODM5ZmFlMzVhZDI4NzJjYzA2Nzg1ZTNlN2Q3YWJiNDUgbGVnYWN5LXRydW5rCis0MjQzNCBmN2YwZDJhNWIyMGI4MjVmMjcwZjZhZGJkMGU4ZWJiMzY4NzRmYzBiIGxlZ2FjeS10cnVuaworNDI0MzUgOTdjODFkYzAzZGRkYmU3NjNmOGNiMDFlMmFiMjg3MWY3MDBjNzY3YyBhc3Qtb2JqZWN0cworNDI0MzYgMDU2ZTViNDYwNmRhNDMzMWE3ZDdmOTZlOWJhMmU5YmIzNjJiMWM4YiByZWxlYXNlMjQtbWFpbnQKKzQyNDM3IDM2MzI1Y2FlZmY5YzY1YjE0YjFjNTQ2OGU2MGQwYjlkNmU4MDRkZTEgbGVnYWN5LXRydW5rCis0MjQzOCAyM2UyM2UxNWU3ZTdjMTQwMWJkYTE3MjI2ODUwYTJjOWY0NjQ0NzllIGxlZ2FjeS10cnVuaworNDI0MzkgMTIzMmU4N2NiODE2MDc5OTRjMzg4ZGRhZGVkNmZlNjEyMDI0ZTRkMSBsZWdhY3ktdHJ1bmsKKzQyNDQwIDViZDAyZGEwMzdiZmMzY2Y2M2IxNjJkZjI5OWNhNmRhOTJkYzNmODkgcmVsZWFzZTI0LW1haW50Cis0MjQ0MSBjOTE4NzkxMmI1OWU5OTE3ZjM0MGQyMWQ3YjMwZDAwMjQzNjUxMzc3IGxlZ2FjeS10cnVuaworNDI0NDIgNjkzZGE4Njc4OTQ2YjY1NjMxOTMxOTdjMjdhMjViMGMyZWMzMTEwMyBsZWdhY3ktdHJ1bmsKKzQyNDQzIGFkM2M0YjJjMTczMDA5NDJjYjVmZGI5MDM4ZmFmZGNlYmNjNDI4MGIgcmVsZWFzZTI0LW1haW50Cis0MjQ0NCBiY2UzZjM1NmNkN2I5ZDFiMjM4YjNmNmU1ZjMzM2E1NjA2YWFmYWVmIGxlZ2FjeS10cnVuaworNDI0NDUgYTlmOWRiOWZhOTc0YWM4MjQ2OGU3MzMwZWU4NDg5Nzk0MmFkMDI1NSBsZWdhY3ktdHJ1bmsKKzQyNDQ2IGM1NjUwZGJmOTM2ZWMwYzExNjFjMjIzMmY0MTkxYWU2MDQ4NTY0NzEgbGVnYWN5LXRydW5rCis0MjQ0NyA1YjM5NjE0ODE3YTNlOWMzNTMyNjM1NGM0MDE4YTk5NjUyZDVmMTIxIHJlbGVhc2UyNC1tYWludAorNDI0NDggYmM0N2YxYTZhY2I5OWU1YmE1NjU3MGE0YWZiNmMzNDU1YzAzNjUyZCBsZWdhY3ktdHJ1bmsKKzQyNDUwIDQ2NjhkZjQ1MDY3MmMyZWZiOTkzMDVjMmM5ZTQwNDhmZDRlNmQwMTIgbGVnYWN5LXRydW5rCis0MjQ1MSAxNTc2ZjliZWI1MDNiYzQ4ZWNkYTlhMjBlY2VjMTNlYTliMGU3MzUwIGxlZ2FjeS10cnVuaworNDI0NTMgNzg3ZmViYWUzMGRiZjNjNmEzZTQ4NGMyOWVmZGIyYjdhN2ZkMDE0NyBsZWdhY3ktdHJ1bmsKKzQyNDU0IGQzNjg1ZjliN2I3MWI5NzU3YWU5MDdlY2I5ZGFkNzk2N2FiNmFhOTAgbGVnYWN5LXRydW5rCis0MjQ1NSAwOTIzMDM1N2Y5Mjc5MTE4Nzc4ZTE0NDA2ZDJiMWQ5OTdhYWY4NjI0IGxlZ2FjeS10cnVuaworNDI0NTYgOWE4Mzk2ZjQ2MGFmZmNiZGI5MjA5NWM2MjU4N2ZmOTdjMzA2OTYxMCBsZWdhY3ktdHJ1bmsKKzQyNDU3IDZiZjc4ZDJiNTNiNDM1ZmNlZmZkYjYxMWU0NTUyNzZmOTM4M2JjY2QgbGVnYWN5LXRydW5rCis0MjQ1OCBhMTIzMjYwMjI2MmNiZmFkMTU1ZDkyYzdlYjYzMjJkZDc0MWE5MWJkIGxlZ2FjeS10cnVuaworNDI0NTkgYjkzODFhNTYyM2UyYmU3NmNhMWI2YTBkNjEyNmQxOWFkNmU2Nzg0ZCBsZWdhY3ktdHJ1bmsKKzQyNDYwIDhkZTU4MjQ2ZmVmOGUwYzRmMTliMGU0OGRkODZlMGYyOGZhMDk3YzggbGVnYWN5LXRydW5rCis0MjQ2MSA5NDE3ODZlNjNhYzhlNmE1Yzc1YWYzYjU2ZDg2MDYyMGRmYjBlM2Q3IGxlZ2FjeS10cnVuaworNDI0NjIgMGVmN2NmNTIyMmIwOGFkN2MxOGMxYjY0OTZmYjhlYjZjNmNmZjZlYiBsZWdhY3ktdHJ1bmsKKzQyNDY0IDlkMjlkYWVjYjlmYWFlOGFmNGI0YWZlMjI0OGI4MmVjNmRiNmIzOWQgbGVnYWN5LXRydW5rCis0MjQ2NSA1Y2UzMmE1YmQyNDBhNzQ5MmMwNjdiOGVjNTU4YzkyOTVlMTg2ZGI0IHJlbGVhc2UyNC1tYWludAorNDI0NjYgMjM4NmMxMDVhODk0MzY0MTMyYzZhNmI4M2E0ZTRiMDY2MjJhMmY1ZiBsZWdhY3ktdHJ1bmsKKzQyNDY3IDNlMWQ4ZDNiNGI2ZWQ4OTMyMjIwZTU1MzU5NmFjOTliM2UyMWQwMDkgcmVsZWFzZTI0LW1haW50Cis0MjQ2OCAxODQ1ODcxMWViZWQ4NmM1YmMyNDhlNDBlNjhlMzMzNTdkMjkyY2RlIGxlZ2FjeS10cnVuaworNDI0NjkgOGI0Y2IyMjViNDk3NTc4ODg5YzIwNjZiMTNkYWEwY2FkZTQxY2I3MCByZWxlYXNlMjQtbWFpbnQKKzQyNDcwIDU5YjUzMmFiMzM3NjkyMzIwYWVkZjUyMTMyMGJmNWYxOTJjMTdmOWUgbGVnYWN5LXRydW5rCis0MjQ3MSA1NzI5YjRiYzliOGQzOTY5YTllNDM2ZTY0YjQ1Y2MwOTk5YmJjNWFlIGxlZ2FjeS10cnVuaworNDI0NzIgYjYwYzUwYjE2MTI2YjVkY2U3MDc2ZWE4MzdiM2EyNGJmODY0ZTBhZiByZWxlYXNlMjQtbWFpbnQKKzQyNDczIDMzYWRjNWRkMmJmMjE5OGI3NmU3YmY0NzI0MDhjYzNmZjNiY2I5ZDMgbGVnYWN5LXRydW5rCis0MjQ3NCA5MjAwNDkxM2I0MTIyMDYzYWI4YmZmNWM2YTI3MGExYjA0ZDZjOTUwIGxlZ2FjeS10cnVuaworNDI0NzUgODFmZmRlZWExZDA2NjAxZmNmNGI5YmY3NDVjODRiMTZhM2U5OWEyZCBsZWdhY3ktdHJ1bmsKKzQyNDc2IDAyYTBlYjFhMmIyMWJiOTQ5YzExYzc4ZjcyZDY0YTBjY2I4YTRkMjQgbGVnYWN5LXRydW5rCis0MjQ3NyA4ZTEzMjM2MjQzZGQzNGNmZWQzOWE2MDQ4MmIyZGJhYjAwYzA2M2FhIGxlZ2FjeS10cnVuaworNDI0NzggZGM2ZGVjMTU2ODY5ODJkNTkzMjViYzQwNDhhZjU2NDg3M2IwNDMyMSByZWxlYXNlMjQtbWFpbnQKKzQyNDc5IGE2NDUwZjk4OGFhNDQ1NzJlOGZjMzhhYzg5ODUwMTUwMDBlMTBhMTEgbGVnYWN5LXRydW5rCis0MjQ4MCAwZjFmYzhlZmI3MGI1ODJhYzEyNGUxNmYwYzRlNmYyOTY0Njc0YmM3IGxlZ2FjeS10cnVuaworNDI0ODEgOTg5YWEyODVlZGI5YmRkZjU3NDE3ZWIwMDVlMjk0MzY3MzZiZWFkMyBsZWdhY3ktdHJ1bmsKKzQyNDgzIDE4ZjI3MmY1MzY5OTEyOGE1YjIwOWY1MDczN2NlYmIyZWFkZmMxNGUgbGVnYWN5LXRydW5rCis0MjQ4NCAyNDc1ZmU5NTc4MmQwMDU2NWVmOTQ4OTJjZGFkYTQ1YTI4OTdmNjVhIGxlZ2FjeS10cnVuaworNDI0ODUgODJiYmQ1ZGUwMmYxYzg4Njk4YjdiNDNkZDU1NDY3NjExYjI3OGVjZCBsZWdhY3ktdHJ1bmsKKzQyNDg3IGM2YmQwMWM3YTU2OGM1MDZjZTA5MzUyMDIzYjQyMzk5MmE5NTI1MzkgbGVnYWN5LXRydW5rCis0MjQ4OCAyMTBjZmU5ZDMwNzc0MTI4NmYxYmZkZjkxMzFiOTMwMTlkMThkOWI2IHJlbGVhc2UyNC1tYWludAorNDI0ODkgMGQ1ZjgwNzdiZDI0MTk1YTA4YmMxNTUzODdhNGU0NDM0MGMzMTZlMSBsZWdhY3ktdHJ1bmsKKzQyNDkwIGExYjMwZmNkOWUyOGViODQ1ZjFjYTM0YjZlZDFhZmZlNjg1OWM0YTUgcmVsZWFzZTI0LW1haW50Cis0MjQ5MSAwNWVlMDZiN2I1NDczNzAwZGRhYzU3OWY4ZmI5ODFlNzRiMDJmZWFlIHJlbGVhc2UyNC1tYWludAorNDI0OTIgYmQ3ZjJkOGU4ZGVhYmJlMDQyNWQzZDQxNGEwZmNhYjgzNDViZGU4YSBsZWdhY3ktdHJ1bmsKKzQyNDkzIDc4MTY1NGJlNTVlZjBjOGRlM2E1OTgzYjE5Y2ZkZTEwODEyNGY0NGYgbGVnYWN5LXRydW5rCis0MjQ5NCBjNmZiYTQ1NjIyN2I5NzNmZDI1YzZhYTBkYWNmMzljM2IxMDA4YzVhIGxlZ2FjeS10cnVuaworNDI0OTUgZTU3Mzc3ZjBhMTY3ZjE0NmQzYzJlYzIzNTM4YWZkYWFhODJhOGM3YyBsZWdhY3ktdHJ1bmsKKzQyNDk2IDM4ZjRiMDk4ZWE2OTBjOTVjN2Y2MzA1NjY0ZGIwMTI5YWYzYWI1NDQgbGVnYWN5LXRydW5rCis0MjQ5NyA5ZDk3YzgzMzhkNGMyNGMzMDIxYTViNjIzNTczZjQ2MTQzZDllZGI4IGxlZ2FjeS10cnVuaworNDI0OTggYzU4ZTc5YjJjYTA1ZWI5NDQ2YTM3Y2NkMTMxOGU2MjFmNjMwNTZkNyBsZWdhY3ktdHJ1bmsKKzQyNDk5IGU4YTQ5ZWI4NTE5YzM1NjU5YjgxMjhkMDhjZjE4ZWJiZTVjYjRkMGIgbGVnYWN5LXRydW5rCis0MjUwMCAyYzE4NzBhYmI2Y2U1NmRkNWNjZjIzYWY5N2E4NTY3ZmRmMDQ0ZDRmIGxlZ2FjeS10cnVuaworNDI1MDEgOWMwZmQ1ODY0NzVjMTcwNjQ0MjcwOGZhOGVmYjc2MWZiZWZmOTA5MiBsZWdhY3ktdHJ1bmsKKzQyNTAyIDk0NmNmNmQ1OGZkMTE1OTU3NzM3YzdiMGRlYzNhYWYzMzQ4OTI5ODAgbGVnYWN5LXRydW5rCis0MjUwMyBmZTRhZTBjNDE3YzdiMjk2NjZkYTZhNjUyNGRjMTNiY2Q3NzE1ZmI0IGxlZ2FjeS10cnVuaworNDI1MDQgY2FiMzZhYWVlMmUzZDU3YTUyOTE1Zjg4YjllZTQ1ZjczNWUwYThiYiBsZWdhY3ktdHJ1bmsKKzQyNTA1IGY2ZDZlNTIyMDgyM2UxNmE0ZjYwYTU5MzBlMTZhMGMxNWFmYzJjZDggbGVnYWN5LXRydW5rCis0MjUwNiAxYTk4Nzk4YTRiMWRhNzIxOWM1MzQ4OTExNDA0OWQwNGU0NDJmMjkxIGxlZ2FjeS10cnVuaworNDI1MDcgM2E1ZjcxZDZiYmVlOTQxMTFlNzg1NzA0YzAyMGJlZTkwMzA1ZTBiMiBsZWdhY3ktdHJ1bmsKKzQyNTA4IDQ2ZWM5NDhjYmRlOGY3OTY5ZjI3NzhjNzQ2ODY2ZTdmZjZkMjUxMGUgbGVnYWN5LXRydW5rCis0MjUwOSAwNjcxZjNjNDYyZDUwMDY4ZTRkZjI4OWI0Mjc0ODRlNjk0N2U5MzQ5IGxlZ2FjeS10cnVuaworNDI1MTAgNGQ3NjUzZTVjYjNiY2FhYWEyOTZlMWEwMzY0MGNkMzJmMzViMWU1NCByZWxlYXNlMjQtbWFpbnQKKzQyNTExIDk1MjNhOTQxNWUxODEwZTEyZDY5ZjMyZDA4NWE0YzhiNDgyOTA0M2QgcmVsZWFzZTI0LW1haW50Cis0MjUxMiBkY2Y2MjExM2MyZTMyYzFjNTEzZTliNzZlZTQwMzRhZDRkYWQ2MzA5IGxlZ2FjeS10cnVuaworNDI1MTMgN2QyOTJjYmM3MTNhYjBmZTk5ZTkwNjJkYjllMjEyOWZlMTg2NTEwMSBsZWdhY3ktdHJ1bmsKKzQyNTE0IDM2MWM2NThhNTVlNmUzMWEzMGFlYWZkYTI2ZGY4ZWJjYTQ5MTJjOTEgcmVsZWFzZTI0LW1haW50Cis0MjUxNSBjMzZlMzdhMThmMWEzOTY5NGIyNTFlOTNiNWVmMDg5YjQ0OGM0MmMwIGxlZ2FjeS10cnVuaworNDI1MTYgYTlkNmIxYWVjMDk2M2I0Y2NkOGUzY2E5YzI0YjZmOTRkYmE0NTZiZSBsZWdhY3ktdHJ1bmsKKzQyNTE3IDZkM2JhMDA0ZDVlNTk3MWIwZTQ2OGQ1OWM2ZmJjOGVlMTE0YTcwOTIgcmVsZWFzZTI0LW1haW50Cis0MjUxOCBiNzY2ZWQwM2Q0MjU2YTZlZjRmN2Q0OWQyYzFjNDAyNGFhNzliY2NiIGxlZ2FjeS10cnVuaworNDI1MTkgYzZmZGU4YTNiOWRmOGEwNWViYTY2YjEyYWRkYzM0NzQ3YzE4ZDA0MSBsZWdhY3ktdHJ1bmsKKzQyNTIwIDRiNGVhMzhkYTk4ZWQzMTk4NDY2MzBiOWZmMWFmMWY3MTliOGUzMDUgbGVnYWN5LXRydW5rCis0MjUyMSBkMDA4MDc1MDU3M2I2M2NkYzc3NmY5M2UwY2QyYzYzMjk2MWIyYmIwIHJlbGVhc2UyNC1tYWludAorNDI1MjIgZDExMmRhNzk2NGQ2MjlhMmEyODU5MmE2MjJjNmIyMzk4NWRhYzFiMSBsZWdhY3ktdHJ1bmsKKzQyNTIzIGZmOWFmZWIwNWIzNDI2NzRkYTc4YmQyNDk1YzI2ZmFhZjM5YTUzOTkgcmVsZWFzZTI0LW1haW50Cis0MjUyNCBiZGRjMTNkNTdiODgyZDJmZWUyYjMwYjUzMzNkOGEwYzQ1OGZiNTY3IGxlZ2FjeS10cnVuaworNDI1MjUgMWUzOTY4ZmNhYzY4MTllZTQ2NTAxYzExNzYxOWNmYWFiNDNiYjkzNCBsZWdhY3ktdHJ1bmsKKzQyNTI2IDhhNmZhZWQwYWYwNGI1Yzk3MzE1MjkwMWQyYjRkOTk5ZTc0MzY3NzEgcmVsZWFzZTI0LW1haW50Cis0MjUyNyBkNGUxNzYyYjhlMTUzNDBmZmNhMWU5N2Y1ZGY3MTJkNDllMmY1OTYwIGxlZ2FjeS10cnVuaworNDI1MjggMjg0MTNjMDgyYzA4NzYyZTBiNThhNTE4NTViNjAzOGExZThkMDFjOCByZWxlYXNlMjQtbWFpbnQKKzQyNTI5IGViMDk3NzkzMmUyZGU4NjVlZjUyYjc0ZTdkZTU3YzBhOGIyYzUzNGIgbGVnYWN5LXRydW5rCis0MjUzMSA0OWQ5YzEyMDM1N2FkMTAxNWY5YjFmYjVlMWVmY2MzZWU3NDNmMjc5IGxlZ2FjeS10cnVuaworNDI1MzIgNGQ5ODhkZGE2NDc4NjQ0YjkxZDYxZjNkYTNjOWFiYjIyNTk5NmVhYiBsZWdhY3ktdHJ1bmsKKzQyNTM2IDIwYzhmYTFlMDY2ODM4ZjA1OWFkZGRkNThiOWE5ZmU0NjExYmNmYWYgbGVnYWN5LXRydW5rCis0MjUzNyA5OGY2YjU5YTZlMGEwOWRhNmI2Zjc4NjFjNDRlZjhmYjEwMmIyNjRiIHJlbGVhc2UyNC1tYWludAorNDI1MzggMTQ1ZDVmYzlhNmE1MWEyNjQzZjVkZTEyMWI1YTA4MGU3MGIyMGUxZCBsZWdhY3ktdHJ1bmsKKzQyNTM5IDRlNTBhYTdiYjFiNTJkMWMxM2UwMzU1NDVlYWYyYjZhZGFjZmU1MWMgbGVnYWN5LXRydW5rCis0MjU0MCBkMGViY2I0ZjYwMzEzOWIzNDAzOWE1ZTJlZGQzZTEwNTJjMDhhZTY1IGxlZ2FjeS10cnVuaworNDI1NDEgNjljMGJlYzExMDBhYzgzYzc5ODM4NWExYjUxODJiMjI3YTAzNzg2ZSBsZWdhY3ktdHJ1bmsKKzQyNTQzIDVmMmNiNDQ1ZTFjNTQ5ZWRkOWQ1YzJlNmI3ZjJiNmQzZDA5YzEwNDcgbGVnYWN5LXRydW5rCis0MjU0NCBlMGMyYWJkNTgxYzViMGI1NWU0MjZjZmY5YjQwOGU0MWViZjM4NDliIGxlZ2FjeS10cnVuaworNDI1NDUgMzZhZTNkOTI5ODMyZDRmZjhjYWU3M2M2OTQ2YmY1NGFkZDljYzU4YiBsZWdhY3ktdHJ1bmsKKzQyNTQ2IDJjOGRjMzU4MWI3MGYyZDExYTQ0ZWM0OWE0ZjIxMzQyOWMwZmM3ZGQgbGVnYWN5LXRydW5rCis0MjU1MCAwOWQxOTM3ZjJkYTg5NWZlOGRjNDBjNTdkZmNhYjYyMzIxNTUzMWQ3IGxlZ2FjeS10cnVuaworNDI1NTEgODFmMWIwZGRjOGExNmYxYWEzZTYyZTBhZmNhY2MwY2JkNjA1YTQ1MSBsZWdhY3ktdHJ1bmsKKzQyNTUyIDVhODM2OTg2MjA2ZGQzOTBkYWE2YTE1NGUwZTg4MzdiMDdhM2I4YmEgbGVnYWN5LXRydW5rCis0MjU1MyAyMTYyMjE2MTM5Yjk1Njk1NDMyZTE3NDg3OWFmYjg5OTg1NDZiYTY0IGxlZ2FjeS10cnVuaworNDI1NTkgOTExYzdmYTQ5NWIyNDA0NzA2ZjhhYTQ1Y2NjZTBhOWExNGY4YWFhMCB0aW0tb2JtYWxsb2MKKzQyNTYwIDE0M2MzNDhmZjcxNzY5ZDYwYjBkYWY0YmVmMjA3NDE5ZmUzMzI1ZTUgdGltLW9ibWFsbG9jCis0MjU2MSA0MTI3NjE0Zjc1MmExZjQzNmM5OWVjNzlhYTg0YWM2OTU2MjdjYjBhIGxlZ2FjeS10cnVuaworNDI1NjIgOTU4MDA4NzViZDEyNTk0YjMwNDgyYzlmOGIzMjA3OWFkYzY5ZjE2YSBsZWdhY3ktdHJ1bmsKKzQyNTYzIGUxYzNmZmU5MjZjMTE1NjJkYWNjNDc2ODA4YzAzNDljZTQwZGE4Y2QgbGVnYWN5LXRydW5rCis0MjU2NCA1ZDgyODcwM2M2YTE3MzJhZGQ0NDIwMWQzZjNlNDJkODcwNTJiNDgyIGxlZ2FjeS10cnVuaworNDI1NjggNjI1NjRkYzdiZDcyNjJkMTAxMDg0MWMxNTBlYjA2NmJhNzA3M2JjZiBsZWdhY3ktdHJ1bmsKKzQyNTY5IDhkYjk4NWI0MDg2ZTE4Y2VlNzNkNmM5MTc0MGUwMzUwYjM5ZjJhMTcgbGVnYWN5LXRydW5rCis0MjU3MCAyZmRhNGQxNTBjM2RiNDZmNjQ3MDI5YmI3MTc1MDFlZDVhMThhNWEzIGxlZ2FjeS10cnVuaworNDI1NzEgNmI0MjkyMGFjY2M5MjY0ZjdjYWJmZjVjMzg2MTcyYzIyNGYzNDVlNyBsZWdhY3ktdHJ1bmsKKzQyNTcyIGM2NTA2NDQyZGZlMDE1MjJlZDhiZGMxODZiM2E5MTMxYWVlMDE4ZjMgcmVsZWFzZTI0LW1haW50Cis0MjU3MyA5MmNlOGJiOGIxMmE3ZWI1ZjRhOTMyZDZhNDNiZGY5ZTJlZDhlNDg2IGxlZ2FjeS10cnVuaworNDI1NzQgYzk5NmExMjIzNGMyNTljMGZjYTBmMzUyODhhYzlhNGE0MDVkYzk0NCBsZWdhY3ktdHJ1bmsKKzQyNTc1IDM5MjRhZmNmOTVlN2ZkOWI1MTNjMWM1NzBjYjcyMTVlNTcyYWM5MTMgYXN0LW9iamVjdHMKKzQyNTc2IGM5ZmJiMDY3YzJhNmM5MGUzMGFiOTE3YzFjODYwZmUyMjU0ODllYTUgbGVnYWN5LXRydW5rCis0MjU3OCBiYjQ4MTE1ZTZkYWIzMzUzMDk2YzJhMzc2NDIxMGJlNGU5ZTM0ZDYzIGxlZ2FjeS10cnVuaworNDI1NzkgM2MwYjI2MTEzZGY2ZWQ1YjM2YTYwNjQ5ZDJmZDMxMjYyZTg2ODFhNyBsZWdhY3ktdHJ1bmsKKzQyNTgxIDcxMGNiZGQ0NzhhODUxYjM0MGFjZjRlZjM4MTBlOTcwZWNkNWM2MzMgbGVnYWN5LXRydW5rCis0MjU4MiAyYWI5MjcwZWYxOWFlYWY3ZjBlYThmNDhjNDUxMDY2YjI2ZDU0NDQ0IGxlZ2FjeS10cnVuaworNDI1ODMgNTc4OGUwYTY4OWUyNTc3ZThhNWUzMDZmNDg4ZDZkMDhiNjNiYzc0NiBsZWdhY3ktdHJ1bmsKKzQyNTg0IDdiZmJmYjJlZjRlMjE0NWE1OTM0MzgzYmRkZTg2MDIxMDFkNTAwYTkgbGVnYWN5LXRydW5rCis0MjU4NSA1OGE4NDUxZmY3OTU4N2UzZTc4YjI1NDYwYjVkMGJlZmUwZDQ3MTk0IGxlZ2FjeS10cnVuaworNDI1ODYgNjE2NTkyNzQzMWQ2YTY4NTUwOGZkZTQwODZlNjcxZTVjYWNkODJkMiBsZWdhY3ktdHJ1bmsKKzQyNTg3IGRiNTcxZjljYWQ2Zjg3YmYwZDkwZDMxNmJkYTMzMmIyMDc0MGY4YjIgbGVnYWN5LXRydW5rCis0MjU4OCA4NDEwZjA2YWQzNmUxODg1OTU4OTQ5ZDE5NzU4ZGY0NzYwODY3YmJmIGxlZ2FjeS10cnVuaworNDI1ODkgOTUwNGY3YWMzNjY5YzI4MWNlMjE0ZTE4NzlkYTZmYzBlNTk1OWRiMyBsZWdhY3ktdHJ1bmsKKzQyNTkwIDI5NmNkYTliM2UyZjgwOWY0NTg4ODhhM2RlOTc5NDNhZDMxYjkzYTAgbGVnYWN5LXRydW5rCis0MjU5MSA1ODQ2MzdkODMxZTNmY2JlY2RhZWQyNDgzZTJlMGVlZmYwYjI2Nzk3IGxlZ2FjeS10cnVuaworNDI1OTIgNmMwYjZjMWNkMWY0NjlkNTk0OTQzYTI1NWM0MDJlZWRhOGU3MGI1OSBsZWdhY3ktdHJ1bmsKKzQyNTkzIDJkZGVhNTUzNWYwODY0OWU1NjVjYjc0MjIwOGQ0ZTc3YjEyZDUyOWEgbGVnYWN5LXRydW5rCis0MjU5NSA3ODBiN2FmZTYxNzg1YWY3YzE0N2E5YjcxODViMDI0ZmM1NjFhYjM4IGxlZ2FjeS10cnVuaworNDI1OTYgZGJhNjQ5NDczNWQwMmE1NTM5MmU1Y2VhMTY5MDI4NDQxNzBkMjdkYiBsZWdhY3ktdHJ1bmsKKzQyNTk3IDY3Yzc0ZWZhZDhjMjNmN2ZjYTQ3ZjQ4NzQ4MmUwMDRjZmRiMGMwMWYgbGVnYWN5LXRydW5rCis0MjU5OCA1MjMwYzRjMjllYmIyNzg2NDNlN2VjMjA2NzYyNGVkODJlYTgxZmZjIGxlZ2FjeS10cnVuaworNDI1OTkgYWM0OTg5NTNjZTU3OGZhYTkwMjcyMjNjN2UyMzI1ZWZiNGYyYzM0YyBsZWdhY3ktdHJ1bmsKKzQyNjAwIGUxMzkxOTEwYjAyNjUyZDgzNGUxMTg0NjAzOTRjNjBlOGU5Yjc1YWMgbGVnYWN5LXRydW5rCis0MjYwMiA1NGViNWIxZmIzNjMyZWM4YmFjM2NjNGUxNDQ0NmY0OWU0OWZhNzc1IGxlZ2FjeS10cnVuaworNDI2MDMgZTlmMGRiNDI5ZjJiYmFlM2JlMTY1MGY3YWNmMjJlOGZiZGMxYjE0ZiBsZWdhY3ktdHJ1bmsKKzQyNjA2IDUyY2JjNDQ3ZTFjOWZiZWU3YWY1MDJmZDJjZTc2MGQ0NWQ2NGExMDQgbGVnYWN5LXRydW5rCis0MjYwNyBkYTJhMTA0OTIxNWQ2MzE4YmYzZjdmMjFkMjE0OGQ0ODI1M2JjNzc5IGxlZ2FjeS10cnVuaworNDI2MDkgMGJlYmViMzkzMDQ1NDMzZDBhZmM0MTUyOTA4MDgxZTcyYjZmOGEwMSBsZWdhY3ktdHJ1bmsKKzQyNjEwIGI4NzNlYzY3ODU2MDUxMzZjM2M2NGU0Mzk1ZGE5ZTQ4MDM1MTI3NmIgcmVsZWFzZTI0LW1haW50Cis0MjYxMSA4NjExZjM5Y2Q4MmJmYzJhZjNkNDhjMTlkMTQzZTY0YmYxMmU0NDQ2IGxlZ2FjeS10cnVuaworNDI2MTMgN2QwZjEyMzQwYzllNGY1OGI2MWMwNjhlOTFjOWE0MGUwNDY5ZWM4OCByZWxlYXNlMjQtbWFpbnQKKzQyNjE0IGUwZmVhZGM3YWZmYjcyYmY4MWNkNWExYWQxODU0NTgxNjI2Zjk3YzMgcmVsZWFzZTI0LW1haW50Cis0MjYxNiAxMTQ4NGE3MmQ5NjZmZDg4ZWJmZjlhNzdlYjRjZTZhZWVkMTAzMmVmIGxlZ2FjeS10cnVuaworNDI2MTcgYWNhYTc5ZTczMTMzM2U1MmQwYTBlNTQyZDA0YmM1YjZkMWZiM2Y1YSBsZWdhY3ktdHJ1bmsKKzQyNjE4IGRkM2U1YTk0NTk2MmMxZWM5ZDgxMTU2MmRjZTY0ZWNmNzZmMDNhOGMgbGVnYWN5LXRydW5rCis0MjYxOSAzMDE3MTA1MzVkMTUwMjc0ODFjMGNiY2RkMDdkOGIxYWE0NzMzYzMxIGxlZ2FjeS10cnVuaworNDI2MjAgMTgwZGJmY2YzYmVkMDY1MDU5ODU2MzI3OTQ0MzA3MmM2NzEzZTdiOCBsZWdhY3ktdHJ1bmsKKzQyNjIyIDAxNTFhMDIzNzRhODJlMjUzYTM1ZjU0MjJlOGNhYjgyMTA1MjVkYzIgdGltLW9ibWFsbG9jCis0MjYyMyBkZmFiMjJhZTQ4ZTM2N2Y0MDkzOWUzNTEwMzI0ZTFiNmQwYzBkZWI4IGxlZ2FjeS10cnVuaworNDI2MjQgYjZkMmY2ZmQzZTExNmI5YjlmZTk1YmM5ODJhYzc2M2MzNTlmZjEwMyBsZWdhY3ktdHJ1bmsKKzQyNjI1IDdiNThmYmRlNWU1ZGZjMWJkZDM5ODEwYzY3NWVkNDBhYzQwMWQzZjUgdGltLW9ibWFsbG9jCis0MjYyNiBlMGE3NzAxMGQwMzNiYzkzMjJhNzdjZGQwZWUyNWJhN2QyNzE1ODI1IGxlZ2FjeS10cnVuaworNDI2MjcgNzhkZTVmNmIyZjY3YjNlODUzOTM4OGI3N2NhZTBlMzI0ZWE3ODQxYSBsZWdhY3ktdHJ1bmsKKzQyNjI4IDMwNTY3YmU5MGM4NTEzMTFlOTJhZDEwMGJjMTkwY2RmYzQ4ZWE5YmEgbGVnYWN5LXRydW5rCis0MjYyOSBhYTA0MDQxMGZiOWEyZGY5OWQwYTM4M2IzOGRiNmY3ZWI1NDU2ODJkIHJlbGVhc2UyNC1tYWludAorNDI2MzAgMmEyZDQ2ZDE5MjlhNDA2YWZlNjViMTNlM2Q3YWMzOGMyMzYwZWQ0MCBsZWdhY3ktdHJ1bmsKKzQyNjMxIGUzMjQ4ZjFmYzU0ZGI3MThhOTQyMzg0Mjc5YmY0OGQ1NmJlNTI1ZjkgbGVnYWN5LXRydW5rCis0MjYzMiAzNWRiYmMxYWI0NDg3ZGZmODc2NDk4NzgxZjM4ODljNDJhOTM0MzkyIGxlZ2FjeS10cnVuaworNDI2MzMgYzNlMjg0MDk2ODZjYmUyYzNhNjc5MDBlYmIwZGI3ODFkZjVjZWVjMyB0aW0tb2JtYWxsb2MKKzQyNjM0IDY2NDVkYjA5NDk0M2RkMmI0NDRmYzFlMDFkNDgxODc2NzgzYjgzZjIgdGltLW9ibWFsbG9jCis0MjYzNSA5ZjNlNThkYmVhNjMxYmM2NjUzNTk0MDc1M2E1Mjg4OTY4ZDYyNTIxIGxlZ2FjeS10cnVuaworNDI2MzYgM2Q2OGYzNTJjMmZmMDFmMjA3ZDZhOTFjY2Y0YzcwYzBiNzM2Y2M5ZiBsZWdhY3ktdHJ1bmsKKzQyNjM3IDhmZjI4ZmNmODcyZTBhOWI5NWM2YzlhYWIwNWEwNzc0M2NmNjhhMTEgbGVnYWN5LXRydW5rCis0MjYzOCBiNmIxYzQ0ZDkxMTA1Mjg1M2M3Y2RmMWY3NDNlODNlN2JkZGZmNTQ0IGxlZ2FjeS10cnVuaworNDI2MzkgY2Q4NDdlNzI2ODM3MmU0ZTdlYmJkYjA0MWYwMTlkNjBjZGEyNzliOSBsZWdhY3ktdHJ1bmsKKzQyNjQwIDgxYmUxNWI4NDI0NDUzOTgyNmFlZjFlNmJiYmMzNjcwMDQ4MTY3YjggbGVnYWN5LXRydW5rCis0MjY0MSBiZWE5NDc1NDQ0MWIxYTcwYjcxM2ZlZWVlYzgxZTZjNmVlOTllNDI3IGxlZ2FjeS10cnVuaworNDI2NDIgMjU4OTkwMjQyODk4ZTZjNjAzZTczNjRmYTU4MTRjNzI4YTg0YmY0NyB0aW0tb2JtYWxsb2MKKzQyNjQzIDNjMDdiNmM1Y2Y3ODhiN2JkMGM4ZmVhOGE5OTRhNGM2YzkxNTA4MDMgbGVnYWN5LXRydW5rCis0MjY0NCBmMTUzMDJkOGIyZGU1OWYxYTE0MTI0MWRlYTgwM2NiMmRlZGExZGI3IGxlZ2FjeS10cnVuaworNDI2NDkgNWMzNmMyMjJlN2NhNTMxMGU1Y2M4YjhkYjI4M2JkNjY5ZDFlMjRkNCBsZWdhY3ktdHJ1bmsKKzQyNjUwIDk3ZWU3YjUzMzY2NDgxNzgwYjZmMzMxNTUwZDY2NGFjODYzZjY2ODIgbGVnYWN5LXRydW5rCis0MjY1MyBjMzQ0NWIxY2YxYmYxZWQwNGRiZDFjMmRmNWE4MTUxYjQxMDJkMTc5IGxlZ2FjeS10cnVuaworNDI2NTQgNDI5MmI0MjY4M2M1ZmNjNzU1NDMzOGJiZmQ4NDdiYjUzZTkxYWM1MiBsZWdhY3ktdHJ1bmsKKzQyNjU1IDcxZDg3MzA1NGQyOWVkYmQyMjAzMmM4YzkxNWNmMGVlY2JiOGI1YzMgbGVnYWN5LXRydW5rCis0MjY1NiBhZTM5ZmNlMGY5YTE2ZWMwYTU4OGQ3MTg5OWRkNDZiNzdkNTE0NjEwIGxlZ2FjeS10cnVuaworNDI2NTcgNDVlNmY5MDE5MDJjYTU4NTdlZWU5MWFiYTA0OGRmN2RkNTYwMTg2NCBsZWdhY3ktdHJ1bmsKKzQyNjU4IDY2ZmM1YjI2Mjg2OGJlZTdkMjMxYzc1OTg0NmMxZmVkM2NkNWVkZWMgdGltLW9ibWFsbG9jCis0MjY1OSA5NDJhZTI1Y2IzOTE1MDQwOTEwMmQ0ZDY2NmUzNzMxNDg5NWE0MmQxIGxlZ2FjeS10cnVuaworNDI2NjAgNDAyZGUwZmVmMTE2ZDhlN2MxNGMwMmM1NmRkZTBjZmViNWY3NGI1ZCB0aW0tb2JtYWxsb2MKKzQyNjYxIDExNTk2MDY0MGYyNWRlNWIwMWQyMjliMzIyYjc5ZTc1ZjhiMjBhYTYgbGVnYWN5LXRydW5rCis0MjY2MiBmN2I0NzI2YWRhNmM1MDljMDM5ZjY3NjJmZTBhYTFhYjMxNmIzYmYyIGxlZ2FjeS10cnVuaworNDI2NjMgYzQwYTMzY2E2NWI5MTYzYjlkODJkYzkzZWI5YjE3MmYzNmMzYmJlZSBsZWdhY3ktdHJ1bmsKKzQyNjY0IGU1ODBjOGIwZGNlYWI0MGViZjI5Zjg1ODY5YTQ2NWM0OGUwYzZhZmYgbGVnYWN5LXRydW5rCis0MjY2NSA1ZjM4MjJjMmU3MzEwNGJiZTRmOWQ3Y2EwODFiYjBiMzAzODUyNDNhIGxlZ2FjeS10cnVuaworNDI2NjYgOTkwNjZiZWExN2Y4ZjAzMmU4MDc4ZDVhZDc4YzZhY2ViNzRmYzBkNCBsZWdhY3ktdHJ1bmsKKzQyNjY3IGJiZjE2ZmQwMjRkZjdiY2ViYzBmNmZlODgyYjdjYzhjZjk3NjBiNTYgbGVnYWN5LXRydW5rCis0MjY2OCBjMDY2MTNlNTNmYWRmMzc0OWI4OTFlOGZjZmQ0YWNmY2U4ZTI5YzQ2IGxlZ2FjeS10cnVuaworNDI2NjkgZjJhODk1ZDMzYTVjYWU5MTNmNmVkYzgzYTA1MTVhMGI5NzU4MTI1NyBsZWdhY3ktdHJ1bmsKKzQyNjcxIGQ2Y2JjNzFiODAxMDkwOTlkMmQzNjc4YmJhNmU4ZTkyYTYzMmIyOGIgbGVnYWN5LXRydW5rCis0MjY3MiA4NzcwNjQzOGRjM2M0MWJhMjdjN2RjOTRkZDEzNTYyMjExNzdmMTBkIGxlZ2FjeS10cnVuaworNDI2NzMgZmQ1NDk3YjY0MjA5YzI0MTE3YTQ3Yzg2ZTNlODc5NThmZGQ5OGM5YyBsZWdhY3ktdHJ1bmsKKzQyNjc1IDhhMmE1ZjcxYjhiM2Q3ZTI3MDA2YTEyMDQ3NDAyNGM5OWYzOTliOGQgbGVnYWN5LXRydW5rCis0MjY3NiA2NTgzYzg2ODgxN2FhYTRjOWI5Y2UzN2MzNWRjMTNlZmI3ZTEyZWQ1IGxlZ2FjeS10cnVuaworNDI2NzcgNGE0ZTBjNThkNDM3ZTg3ZjBjMzE1OTk5NWNkN2ViNThlMGE4MDNkNSBsZWdhY3ktdHJ1bmsKKzQyNjc4IDQxNzgxNTA2MjMzNzhhMWU5MTUyNWNhY2M0ZDlhYTc3NjI1NGNjYjAgbGVnYWN5LXRydW5rCis0MjY4NSBiYmNlOGVjMmZmODFkMGRjZjk4MzcxNjFmMTY4ZmJlMjA0NzVkZWFkIGxlZ2FjeS10cnVuaworNDI2ODcgOGI2ODUxMzgyZTI3NTM1OGZhOGIyOGM1MmVmN2ZlYzc5MjJiYzQ0NiB0aW0tb2JtYWxsb2MKKzQyNjg4IGZhOTJmZTE1MjUxYTA1MTA4NTdiMjAyOWU2ZmQyYjc1YzE5NTk2NjIgbGVnYWN5LXRydW5rCis0MjY4OSA0M2I5ZDVmMDkwMWJlNjYyODQ0NWY1YWE1MzA4YzczY2Q5YTA4MGNlIHRpbS1vYm1hbGxvYworNDI2OTAgNDNjNzA0NjBjY2Q1OTBkMGI1OTQ4ZjQ1OGRiYjRjODFhZGZjMzFmOSBsZWdhY3ktdHJ1bmsKKzQyNjkxIDc5NmQxNTBlNDVhOTRiZmYxMjA1ODc0MjAyMzM0OTdiN2M3MGI3ZGUgbGVnYWN5LXRydW5rCis0MjY5MiBhM2U0YmQ0NzVhZDdmNzQ4NTg0MGUxM2E0ODMyZmI0ZGQyMjlhMTIwIGxlZ2FjeS10cnVuaworNDI2OTMgYzA5ODJiODE1NWM2MmQzZmY0NWE4MjFmZDZhZDMxNWI1NzIzYmUwZiBsZWdhY3ktdHJ1bmsKKzQyNjk0IDY1OGY4ZmYyYTQ0MmQwMTgxNTZlNTU4MWFjYjE5Nzc4YzZmMGU0NjMgbGVnYWN5LXRydW5rCis0MjY5NSAzMTA1MWE3MGIyOTcyZDhmMmNlNDBlNDg5Y2VkZWE5NDk0NjQwMGRiIHRpbS1vYm1hbGxvYworNDI2OTYgZGJmOWNjNmMzNmViZDcxY2JiZDkyMzM3ZmMyM2JlYjY5Yjg4MzE3MCBsZWdhY3ktdHJ1bmsKKzQyNjk4IGEyMTM4ZGZiNTk2NTI2NDk0NTUyNmUwMTJjN2Y1ZTI4MWVjMjk3ZjcgbGVnYWN5LXRydW5rCis0MjY5OSAzZmZjMWUxZDJmNTc2ZjY0ZjZkNzE4MWE2MzM2NTMyNmUwYWNlZmYwIGxlZ2FjeS10cnVuaworNDI3MDIgOTIyNTM5ZGJkYzRlNWQ5Yzg2YzUwZjUzOGJmMDMzZmI3ZDc2MzFkMSB0aW0tb2JtYWxsb2MKKzQyNzAzIGU4MjFiOTM2ZjNmYTc1NmExNzY4Y2U2M2ZhNDVhY2JlMGI4OWM4NjAgdGltLW9ibWFsbG9jCis0MjcwNCA4ZGY1NTAxNGM4ZmIwY2QyNzE0YTMzZGEzYjQxYjA4MzNhZWViYmE5IHRpbS1vYm1hbGxvYworNDI3MDUgZWY1MjQ2Y2U4ZmU2NTYwMGYwZGZhNWFhOWFmNGFlYWZmNDYxOGJlMiBsZWdhY3ktdHJ1bmsKKzQyNzA2IGRiYTc3MDkyZDQ2ZWJhZjJiYjhmMjQyYmMyYWQwM2Q4NzdiNGY1NzkgbGVnYWN5LXRydW5rCis0MjcwNyAwZjcyODRjNDkxYTMxN2JkN2ZmNjQ5ZTc2Y2VhYmY4MTE1MGE3NjJiIHRpbS1vYm1hbGxvYworNDI3MDggYzI5NDJjZGQ4OGIzMjUwN2Y1NWEzOTQ0NGJiOGQ4MDE5OGYyNjA2NiBsZWdhY3ktdHJ1bmsKKzQyNzA5IDBiNWU5YWNlMmU4N2IzODY4MjUwZjNkZDM1MTQzODVjOWEyZTNkMjIgbGVnYWN5LXRydW5rCis0MjcxMCA5MmJhNzI0ODRmZjM4NDUyNDhlZTk5N2IxNjlmZDNhNmUwNjUwNTdlIGxlZ2FjeS10cnVuaworNDI3MTEgOGUwNGRlMjQ4MGU0OWVhODQ2NzZjMThhYjNmZDY1ZjdhYzY0ZDlhMiBsZWdhY3ktdHJ1bmsKKzQyNzEyIDdiNjZiMmRjYzVlOTZhNjRhMThkZjIxZDEzYmE5ZjJhZjExYjQ4ZDUgbGVnYWN5LXRydW5rCis0MjcxMyAxZTgzZjE4MmI1ZjlhZjgxMWQ0NzQ4ZWQ5MWFlYWZkMzZiNDUxMzE0IGxlZ2FjeS10cnVuaworNDI3MTUgMmYxOWI5ODFhYzI0N2MzMjNkMDQwNDE5ZWI2MTdjZjMyZWE3YTVlMCBsZWdhY3ktdHJ1bmsKKzQyNzE2IDMyZTJiOGJkYTUzNWI4YTY4NzE1ZDE3MjU0MzdmMzlhMzYyZmViZTAgbGVnYWN5LXRydW5rCis0MjcxNyBkMGNhNjMwMmRkM2M5OGNjZjA3MWQ4M2M2MWJiYjdjN2Q4MzRkY2UzIGxlZ2FjeS10cnVuaworNDI3MTkgYzQxMzhhZDFlMDlhMGUzOWM3ODIzMDRlZDJkYzllODBiZDZlMWZhMiBsZWdhY3ktdHJ1bmsKKzQyNzIwIDNlMTkyNzFlZmM0NmU2OTI2MzhjYmQzNjFkN2UxMGVhNTJhMTQ2NTEgbGVnYWN5LXRydW5rCis0MjcyMSA4M2I4NjBhY2ZlOTVlNmYwMTdjY2Q2MjAyOTNmNzU0MzgwM2U0NjlhIGxlZ2FjeS10cnVuaworNDI3MjIgYTM2NmRmYzcwMzVmZDE5MjBjMWFhMDNiMjdmMzU0N2FmMTllNDhkYSBsZWdhY3ktdHJ1bmsKKzQyNzIzIDNkZDkyZDk3YTY3ZmY4MjFkZjJlMzc4MTliM2NkODZlOTI4YmFhNzQgbGVnYWN5LXRydW5rCis0MjcyNCAyMmM1MTYzMmI0NTlkNzcwMmU0YWM4NTYxNWFmYTJmYjA2NjJiNzIwIGxlZ2FjeS10cnVuaworNDI3MjUgNWU0NjNhZTcwNzA3NmRkMjg3MDhkNzY3ZDNlZjJiMmMzNGI0NDg2ZCBsZWdhY3ktdHJ1bmsKKzQyNzI3IDk1YTkyYjJiNTNlZTQ5YWM2Mzc4NmVlYTczMWJkMmM4YTU5Mjk4M2EgbGVnYWN5LXRydW5rCis0MjcyOCAwNjc0Nzk2YjY5NmNjNWEyMDYwY2JhMjMzOTZiZjNkMzk3MjNhNjExIGxlZ2FjeS10cnVuaworNDI3MjkgMWRhYTE5OWI3ODRiZTRhNjNmNTBjODA1ZjZhYjQzYTljNjc5NmVkZiBsZWdhY3ktdHJ1bmsKKzQyNzMwIGUzNjRiYzc2YmRjOGQ0NjNmNjRmYjcyM2I2YzAzNTAwMTRkYzc4NzUgbGVnYWN5LXRydW5rCis0MjczMSBkNmMzMGNlMzg2OGIxM2Q3YzlkZGQzMzdlOTY1OWZmYWU3YjJkMDMxIGxlZ2FjeS10cnVuaworNDI3MzIgYWIxYjUzZDU0OTAxYThkYTcxNjdmZWEyNGNmOTA5NzhjYzZlNDY1YiBsZWdhY3ktdHJ1bmsKKzQyNzM0IDYyMzc2MzQ1N2E0ZThmNzU3MDE2MzQ4YjFiNDY1NTUzOGU5NjUyNDIgbGVnYWN5LXRydW5rCis0MjczNSA0Y2M5NWZjZTY1ZGE3NjM5Njc5ZmU1YWJhOWE3MjM5MjI0MmFlZTY1IHRpbS1vYm1hbGxvYworNDI3MzcgZjhmZmE3Y2JmOTYwNWRlNThjYzRjZjc4N2U3N2E1ZGY1MmE0OThlOSBsZWdhY3ktdHJ1bmsKKzQyNzM4IGFmOWY5YjU5M2E1MzZkNzI4ZDJjNDc4ZGU2NmYwNTg2Y2Q1MDE0NDggbGVnYWN5LXRydW5rCis0MjczOSA2NGZmM2IyMjVkNDg1MTYxNTRkNDUxY2ZlZThjNGYwNGQ3M2QyMGVhIGxlZ2FjeS10cnVuaworNDI3NDAgMzU2MTJhMTMxYWM2MjQ4MTQ5OTgyNWRkYWMyMTAxYjlkMmFmODNhNCBsZWdhY3ktdHJ1bmsKKzQyNzQxIGE1NDk0ODE4MGEzZGUyMjllNWUxY2Y4MzVhYzAzYzViY2JkNmJlMGYgcmVsZWFzZTI0LW1haW50Cis0Mjc0MiAxYWVhM2FlY2E1MzVhNjMwY2FkNjM0ZDg0NWIyNDZiZWNjNWJkZjVlIGxlZ2FjeS10cnVuaworNDI3NDMgMTIxMWE2OGIyOGRkMzcxNzc5ZGM0MmE1ODMyNmM0N2FmMmU0ZDNkMCBsZWdhY3ktdHJ1bmsKKzQyNzQ0IGNkN2QyOTE5MTc4Yzc1NzYzNzc3ZTA5NTNiZTExOWRlNTNjNzRlYTcgbGVnYWN5LXRydW5rCis0Mjc0NSBhN2IzNjMyZDBlMDUxNTI1YmY1ODcxZmY2ZjY4NDFiZDIyMTg2ZjBkIGxlZ2FjeS10cnVuaworNDI3NDYgYTAwYTllZWY2MDYzYWNlOTk3ZmQzZTM3OGNmNWM1OWY5ZWEwNmRlNSB0aW0tb2JtYWxsb2MKKzQyNzQ3IDM3Njc5MmJmYjU3ZWY5YjgzNDBmNGJhNDdmOWYzMjVlMmY1YTJkMTIgbGVnYWN5LXRydW5rCis0Mjc0OCAyNWY4ZTZkZGU0YTNiMDk2YjA1YWIzMDczNmExZGM2MzQ2MTU2YWJiIGxlZ2FjeS10cnVuaworNDI3NDkgMmI2NTkyNjhhNzNhYTNlNjg0NTE2ODllZjQyMGQ3ZTk2YWVkMmUxZCBsZWdhY3ktdHJ1bmsKKzQyNzUwIDk2NWJiNGE1NDA5NjYzMmJmMTQ0MWRhZGM4MTM2OTYwMDg3NTRiNjcgbGVnYWN5LXRydW5rCis0Mjc1MSBkODUzYmMwNjg0N2U2NmRhNGE1ZGE3ZDJmNjA0ZmZhNWQ2MTFlZDljIGxlZ2FjeS10cnVuaworNDI3NTIgNmUyODVjNjllZmMwNWI3ZjhiZGJiMDk5MGFlYTdiMGM5M2JmOGQ1NiBsZWdhY3ktdHJ1bmsKKzQyNzUzIDU3MzIyY2IyY2ExMTE3YjdmMGQyYjRjMGRkNTQ2MDFlMGJiZDJmYWEgbGVnYWN5LXRydW5rCis0Mjc1NCAwY2M1OGRiZDg3ZmViZTE4MjBhYjM2NDlkNTM2MjFiZGJmMzk2NTU0IGxlZ2FjeS10cnVuaworNDI3NTUgYzNjNWQwNmZhYTAxZWNkMWY2N2JlYTUxNWEzZjJiNjhhYjQ1ZDY1ZiB0aW0tb2JtYWxsb2MKKzQyNzU2IGY2NjZiYzlmNjE3ZDg3MDJjNDU4MjI4ZmM2NDJhZmY4MjEzYjFlNjIgbGVnYWN5LXRydW5rCis0Mjc1NyAwOWQxNzQzMGY0YzI1YWM0OTQyYWRmNmIxNjM3MWFhNzI1ZjBhMGIxIHRpbS1vYm1hbGxvYworNDI3NTggMGUyY2Q5NGM1M2E5OGEwODQzZmVmN2JmYjIxYmQxMTk1ZmQ0NzI2YyBsZWdhY3ktdHJ1bmsKKzQyNzU5IDQ4YTI4YjM1ZGQ2NDU1NjVlYTJjMjRhMzRhNGNkMzUwZWMyM2E0YjQgbGVnYWN5LXRydW5rCis0Mjc2MCAwMmQ5YjQ3NjlhODhlODZlZGVjMmE4MzEwN2JkN2Y3OGEzOWEyNTE0IHRpbS1vYm1hbGxvYworNDI3NjEgNjA0YTEyNmY4M2MyMTRmNDA5NWQxOTU4ZDYwZmEyYTE2NjI5ZDc5MiBsZWdhY3ktdHJ1bmsKKzQyNzYzIDY4ODc5NTg3M2ZmMWNlYTE0MDhmNGYyYmY4YWQyNDMyOTg2NjVhNGEgbGVnYWN5LXRydW5rCis0Mjc2NSAxZThjYjQ3YmVhYWE0OGRmODU2ZjdkZmJjNjczZjM0ODQ2YjVjODMyIGxlZ2FjeS10cnVuaworNDI3NjYgZGY4NDNiMDdmNWZlMGE4YzMyNGU0MTA1MjZiZDYyM2NjOGUxODQwMyBsZWdhY3ktdHJ1bmsKKzQyNzY5IDg5ZDY5ZDkyMTJhMmRjYjkwZmM4NGYyYTAwZTVjZDdhMGM2ZjgyODkgbGVnYWN5LXRydW5rCis0Mjc3MCAwNDc0NzFjYjllNGQ5N2I1NzM4NzNjNzBhNDgwYWMwZDg3OWU4M2JiIGxlZ2FjeS10cnVuaworNDI3NzEgNzI4NWMzN2Q3NjMzZTRkZTNkYjU3YjRkOWY4ZDUyMTM0YzJiMzU0MyBsZWdhY3ktdHJ1bmsKKzQyNzcyIDhkZGNhYWEwOGZkZGVkM2YxZjgxZTJlNWNiNTZkNGNlY2ZkNzdjZTMgbGVnYWN5LXRydW5rCis0Mjc3MyA0MjQ4N2Q4Y2YzMzgwMDhmODE0NzMxZWMzZGQzYmNhYjM3MmIxMWI5IGxlZ2FjeS10cnVuaworNDI3NzQgMDRkMThiY2Y3NTE5ZjgyZGFhZTU5ZDhlZDJiZjkyZDgzNjdlODY1MCBsZWdhY3ktdHJ1bmsKKzQyNzc1IDUxNWVmN2RkMTZiZDk3ZDY3MjVlNjdjMjQ2NGZlYzUwNGFjNTM1MjMgbGVnYWN5LXRydW5rCis0Mjc3NiA4OGRmZDMyODFmNzFkN2NhZDUxNjgwNzk2Y2RiYzgwODRlNTYzZmZmIHRpbS1vYm1hbGxvYworNDI3NzcgYmQwNjQxZDYyNDYyNTM3ZWQ0OWVmM2U4Nzg4Mzg4NzU0MTFkZjA5NiBsZWdhY3ktdHJ1bmsKKzQyNzc4IDhlYWY5NTMxYTJkZWQyOTZkMDFiNjQ1ODdkYjU5ZWNhNzkwN2NhZjkgbGVnYWN5LXRydW5rCis0Mjc3OSA2NTgyYTQ0OTBkMWFhYjE1YzVhYzRlNzY3MzBiZDBiMzcwMGQzZWVhIHRpbS1vYm1hbGxvYworNDI3ODAgYzU1MmYyMjc1NzgyY2Y2MmI4YWI0Y2M4MTg3ZjE3YmI1NGM2Mzg2NCBsZWdhY3ktdHJ1bmsKKzQyNzgyIGUwMWYxN2MyN2VmMzBjOWY0YzgzNzMzNjI2MzE1NzA1YjE0NGMwMzggdGltLW9ibWFsbG9jCis0Mjc4NCBhMDBiZDNjZGI3Mjg3YWFmYjM2YzRiYjQ4NWVjMGM4YWZmZTZkMjQwIGxlZ2FjeS10cnVuaworNDI3ODUgZDVlNWE1ZDlmZTdjMDI1NDdmMTk4ZDlmMzkzZDIzODFmZmU4Y2M2ZSB0aW0tb2JtYWxsb2MKKzQyNzg3IDcwOTlmNmU2ODE4M2VjYTY0OWY4MTAwYzM5YWYxYzJmMDNjM2Q1MzIgbGVnYWN5LXRydW5rCis0Mjc5NCBkZTQ4MTZkMzQ0ZWVhNDg1OGU2ZjRjNzIyZDNhM2ViNGFhMDE0YzgwIGxlZ2FjeS10cnVuaworNDI3OTcgYjFhM2MyMjM4Zjk3ZTFhNjU1MmY5NWQwNDhlNTM0NjcyZmY5OWJhZCBsZWdhY3ktdHJ1bmsKKzQyNzk4IDJjMmRmZmUwNzBkZjI4MzYxMjg0MDhjZmIyMmI1NzRjODVjOTY5MDkgbGVnYWN5LXRydW5rCis0Mjc5OSBlZjg3NzlkNDU1ZWM1Y2M5NjRlOWFiN2E1ZGM1Yzc2NjdjYjljM2U5IGxlZ2FjeS10cnVuaworNDI4MDAgYWJhNzNiNDY4MDNjNzc5MGIxYmM5NWIyNDk2MTQ5MjA5YjUyMmYxOCBsZWdhY3ktdHJ1bmsKKzQyODAxIDFkMDU1ZWJkODMyMjlmYTc3MGJiZDZkNjFhMTNkOTg1MGE2MTRiNDIgbGVnYWN5LXRydW5rCis0MjgwMiA1NDc1NGYwZDI1YzcyZjdhNWYxYTllZjk1YTViNDZjZGQxMzJkN2ZmIGxlZ2FjeS10cnVuaworNDI4MDUgN2EzMGRjMmFmMzI5Mzg1ODEwNWQ0NTE2OTY4NTc2MDkyMzA0YjJlYSBsZWdhY3ktdHJ1bmsKKzQyODA2IDZiN2NhM2IyMDFmM2VmZGZhY2Q4N2VjN2VlZTc0Y2MyYTM3M2ViNDAgbGVnYWN5LXRydW5rCis0MjgwNyA0ZjJhZjU2ZDhlYmU0ZDAyN2UxMzMzZGE5OWUwM2ExZTY1MzJjZjBkIGxlZ2FjeS10cnVuaworNDI4MDggYmMwNzk3YjA2YTk5ZWJjNmVhNjc1YjUxNzA4MzJiZGViN2M1ODZlMCBsZWdhY3ktdHJ1bmsKKzQyODEwIGQzOGFiNWNhZDk0NWIzNTRjMzFmMTAxMTQwMzRiNjVmMGEwODAyMDggbGVnYWN5LXRydW5rCis0MjgxMSBiYjVlMzA0NjdmZTRkMTc2MmU1MDgxODM5NTVlZDhhNzM0MTUyYTgyIGxlZ2FjeS10cnVuaworNDI4MTIgYzFjNDYyMTBiNGI3ZTQwZWNjNWY1MzczNzY1MTQyNjljMjgxZGJmOCBsZWdhY3ktdHJ1bmsKKzQyODEzIDEyYmNkMTZjMzFhZGU2ZmQ0NTNjYTk0NDA2Y2IzZmJhNmY0YzEwYmQgbGVnYWN5LXRydW5rCis0MjgxNCBkMDJiNGNmZWZhMGEwYmU2MGNkZWZiMDcyMDM2NGE4YTA4NTNhYjgwIGxlZ2FjeS10cnVuaworNDI4MTUgN2E2YjE3NGRkZWYyZjE4ZTMwZDdlZmM3OTQ1NDVjMzFkOGZhOWIwOCBsZWdhY3ktdHJ1bmsKKzQyODE2IDA3ZjMzMGFkMWI0NzVlMmFiNzU2YmM3MzIwMGYyYWIyNDBkZjk0OTUgbGVnYWN5LXRydW5rCis0MjgxOCA5YjlkODM5MWI2NzFjYzVmMGU1NjUwYjI5M2FlNGI4MDAyOTQ4OGQ4IGxlZ2FjeS10cnVuaworNDI4MjAgZGI2MTMxYzVhZTVhYmYyMDhmZGUxYjM4NGY5ZWE3MGM1YzAxZTBhZSBsZWdhY3ktdHJ1bmsKKzQyODIxIGIyNDE2ZmFiMTNmZTZkM2ZkM2Q1N2UzYTM0YTFiYWUyYTIwMzM5YzUgcmVsZWFzZTI0LW1haW50Cis0MjgyNSAxZjU4NDE2NGUwMTMxNzYxYTVhYzJjMWFlZjE1MWQ3ZjMyMWY1ZGM4IGxlZ2FjeS10cnVuaworNDI4MjYgNjUzZDg1ODVmMDgwYTAxNzk2MTc5YmY1NGY4NjA4MjEyNWNhODcxZSBsZWdhY3ktdHJ1bmsKKzQyODMwIDc0NzAxZTRmY2RhZDBmOTQ4NTkyMDVhMTExMTQzYjcyZWYxZmY2NTkgbGVnYWN5LXRydW5rCis0MjgzMSBiYWM2YmQzNDNhMTI0N2I4MDc1YjIxYzI3ZGY3NTVjNmY2YzMxZmYxIGxlZ2FjeS10cnVuaworNDI4MzMgM2M1MTlhNjEyYmRiN2VjYTI0MzIxMzcxOTY4NDJkNzdlNzJmM2U5ZiBsZWdhY3ktdHJ1bmsKKzQyODM0IDllODE3ODhiMGQ0YjU5MTJkMzJmOWEwNTk2NzczNzI0NGZmNTIwOTYgbGVnYWN5LXRydW5rCis0MjgzNSAwYjc4MDk2NjA0NTZmNzkyMmQwNjMwNjcxNWI2NzVkNTkxNWRlOTY5IGxlZ2FjeS10cnVuaworNDI4MzYgOTEwOWIxYTBkMjY1ZTFhZWZjNmZiMjgzZDY3ZWY4MjhkY2E5OGUwMyBsZWdhY3ktdHJ1bmsKKzQyODM3IDAxYmM4ZWUzZDJmZjg0NmM0ZjdhMzNhNjE5ZTBiMjg2YjViMjVkMWEgbGVnYWN5LXRydW5rCis0MjgzOCAzYTNhZWQ0OWIyNDU2ZTkxN2Q4YjY2MjA2MzhkNjI1MTc5ZjhiZTNlIGxlZ2FjeS10cnVuaworNDI4MzkgZGVkYzJjOTRkMTEyNjI0NDE4NTYyY2VkMDNjMDRjOWJjNTFiNmY3ZCBsZWdhY3ktdHJ1bmsKKzQyODQwIDdjMWFjYThlM2Q3ZDdhNWFiOTI1NWJmMzFlNDk1NGI1ZTVkNTJkN2EgbGVnYWN5LXRydW5rCis0Mjg0MiBiMTkyOWU4ZDE1Zjk5OTk0NGE1MmE3Y2FmNjc5NDFlN2I0NWVjMTdjIGxlZ2FjeS10cnVuaworNDI4NDMgZDNkMGRkOTJjNzMxYWI3ZTBhYzQ3YmYyYWQ0MWE3ZTUyNGVkYzk2MiBsZWdhY3ktdHJ1bmsKKzQyODQ0IGE5NjliZDE1Nzg4ZjUxNDA1MTc3Zjk0MzJiYWY2MTM1YmNkNzJjMzUgbGVnYWN5LXRydW5rCis0Mjg0NSAxODQ4ZDc1YmJkYjM4YmQ1YzQ0YmQyNzYwMDBlOWVjMWU0OTExMmViIGxlZ2FjeS10cnVuaworNDI4NDYgNDI4NGIzMzI0Y2UyZTRiNjQxZDBhMjc4YzQ3MzQ2ZDliMGNmOWM5OSBsZWdhY3ktdHJ1bmsKKzQyODQ3IDM5MWY3NGM5YzI2MzY4MDk3MDM2ZmM0ZGQ0MDkwNDVjMzMyY2FhYTcgbGVnYWN5LXRydW5rCis0Mjg0OCBhZGJhYTllYmE5NzU0M2Q3YTExZDNlOTU2NTdlM2MxZGViMDg5MzRhIGxlZ2FjeS10cnVuaworNDI4NDkgNGNjZWY0Nzg4MWY3OWQ5MzhmOTEyNTk4ODE4OTI4YTA0OTNlZDEwZiBsZWdhY3ktdHJ1bmsKKzQyODUwIDJkMWRmMjRlMzNkZjcxMGU0ZDM2N2M4ODJmMWM2N2IwN2E2ZTFkMDkgbGVnYWN5LXRydW5rCis0Mjg1MSAzYjY3NWFjOWE5MjU0ZTEyMDVkMDI1MDQ2NzczNzIwNTk4YmM0ODk4IGxlZ2FjeS10cnVuaworNDI4NTIgOGNkMTUyNzQ2Mzk4Nzk3ZDg2ZDBlNzZhYTA2NjA3MjgzNzI5ZGFhNiBsZWdhY3ktdHJ1bmsKKzQyODU5IDZhYWFkYmFiMzUzMDE1NWVjMTlkODFjZGEzYmRhYmIzMDYxZmM2ZjEgcmVsZWFzZTI0LW1haW50Cis0Mjg2OCBmODBjYTcxM2JiNGJlYTM1MzkzOTBjMjExMzc1NjdhZWJlZDAxOWM1IGxlZ2FjeS10cnVuaworNDI4NzAgOWIxM2RhNjQ3YTVlYmI1NTJiYjg3ZjA4YTU5ZTAzYzZjZDkzNjE4YSBsZWdhY3ktdHJ1bmsKKzQyODcxIDhlMGYwZmIxNGQzNThiN2JmYzI1YWNiYWZmZmYzYzNlNGE1NjUxMWYgbGVnYWN5LXRydW5rCis0Mjg3MiAyMDRjMzA3YjAxY2U1N2VjMzdmZWIxYmZmM2RkYzYzMmVlNmFmZDNmIGxlZ2FjeS10cnVuaworNDI4NzMgZmUwNzM2Y2NiYTc1NTE4MDcyMzQ2MzczYjlmMzJjNTg3MTk4OWU0ZSByZWxlYXNlMjQtbWFpbnQKKzQyODc0IGNkNzJlYjU1ZDVmOGQ4Y2NhNzFiOTBiNDUyNGM0YTY1MDU5NjgzZWIgbGVnYWN5LXRydW5rCis0Mjg3NSA3ZmFjNWQ3OWQwNDNiZmFlOTcxMTFmMDU3NGJjOWE3MGIwZGI0YzJiIGxlZ2FjeS10cnVuaworNDI4NzYgNGY2MjhlY2MzMGNiMmViNGUyM2U5NDVlYzAyNWMyN2M5NzAwMWQ2YiBsZWdhY3ktdHJ1bmsKKzQyODc3IDhlYmY3OTk3YzZjZDU2ZTgzYzgzZDZmMzBlNDg1YTcwZTUzY2M1NDYgbGVnYWN5LXRydW5rCis0Mjg3OCA4OTUwNzRlNWVkM2FiODBhNDYzYjEwZTZiYTk4Y2QwNjU4ZmFmMWEyIGxlZ2FjeS10cnVuaworNDI4NzkgMWUwNDNhMTI1YmU2ODNmNWI0MTA0Nzg4MzU0NzFjN2JlODdlNjNjMyBsZWdhY3ktdHJ1bmsKKzQyODgwIDJkMjRmM2EzN2ExYjM1ZjUzNDNlMGEwMTExNjg1ZDEzYmVjYTYzNmYgbGVnYWN5LXRydW5rCis0Mjg4MSAxZTE5MTM5MmVjNWM2MTgyZWM2NmNjZTE2MzkzNjI4Yzg1MDBhNTczIGxlZ2FjeS10cnVuaworNDI4ODIgMTVkMzMyOTU2MTVmNmYwYTQ0YTlmZjg3ODA3MzEzZjBhNzkxOTBjMCByZWxlYXNlMjQtbWFpbnQKKzQyODgzIDllYjI0ZjkyYTc4NGJmMGNlYTY2Y2MyYmNjNjZjMWVkZWYyYTRmMGUgbGVnYWN5LXRydW5rCis0Mjg4NCBhNzM1ZGY1NTJmMDJkOWZhMTk5NjMyYjI0NDA0ODZlMDllYjU2Yjk0IGxlZ2FjeS10cnVuaworNDI4ODUgZTYyNzY3ZTY0ZGU4MTk2YzUyMTJmODRiZmMxOWY5ZjEyOGEyYzI1NCBsZWdhY3ktdHJ1bmsKKzQyODg2IGM5MTIxNTY0MmRjZDQ1ZGUwMGUyN2NkNzNmMWU1M2I5NDgzZjgyYWMgcmVsZWFzZTI0LW1haW50Cis0Mjg4NyA0NTU2NzJhOGY4Nzc2MWM3MGViNjRiMDNmODhkMDhmOGMwOGQ4MTE0IGxlZ2FjeS10cnVuaworNDI4ODggMjU3YWQ4OWQ5MmRmODQ1MjIzNmI4ZmVkNjdlYjgwYWU0MjU2YjBmYSBsZWdhY3ktdHJ1bmsKKzQyODg5IGIxNmU1MDQ0MTNjM2I4MzQ2YzU4YTE1ZmI4ZjE1YTMxOGM4NDBhNGYgcmVsZWFzZTI0LW1haW50Cis0Mjg5MCA3OGM5YWNiYjQ2M2MzM2FmM2FkNTZiOTY4NDEwMDY0MTUxNTliMTdhIGxlZ2FjeS10cnVuaworNDI4OTEgOWJiNTkwYTBiN2ZiMDRhNjU2MGM3M2UzN2VlMmM4YjMxYjZjYWRkOSBsZWdhY3ktdHJ1bmsKKzQyODkyIDY4YTA5NDNkYmJlNTMzZGIyOGNiMjZiN2NmZDE3MTVhZGZiNzhjNDEgcmVsZWFzZTI0LW1haW50Cis0Mjg5MyBjYTRiYmNiYmQwZDU5NTBmMTAxMWJjOTFkNjYwZGQ2MTZkMDIxOGViIGxlZ2FjeS10cnVuaworNDI4OTQgZTlhN2EyNzg0ZTE3ZWZiYmEyMzA4ZTFhY2FkNjY3ZmNiYmVmZDI4MyBsZWdhY3ktdHJ1bmsKKzQyODk1IGFjY2ZiMTU2ZjljYzY0MWVhZjRjMjNhMzllZTc0YTEyY2Q5MjVlMjMgcmVsZWFzZTI0LW1haW50Cis0Mjg5NiA4ZDQxZGRjMzFlNjFlNjNiMjJlMTI3ZjJhNWJlZGRkODgxNjQ2ZmIxIGxlZ2FjeS10cnVuaworNDI4OTcgYjIyYzQ4ZmU2MmE0YjI4NjQzOGRhNzQ0YTJhMzU1MjgyMmZlYmUyNiByZWxlYXNlMjQtbWFpbnQKKzQyODk4IDQ3MDZiN2ExMjU2YzI5Yzc0OTdlOTRiODZiN2I3NDk1MzcxOTNjMmUgbGVnYWN5LXRydW5rCis0Mjg5OSA2YTljNzE2NWIxN2JkYjdiODUxMzZlMWVlMTMxNThkYWMyODA2NDdmIGxlZ2FjeS10cnVuaworNDI5MDAgYjE3ZGE1ZTBhNjk3YTBmZmQxOTFkNWY4MGU4MTZlNjQ5MTg2YTQ5MyBsZWdhY3ktdHJ1bmsKKzQyOTAyIGNkZTc1NzMzNTQ5MjlmYmI5NjVlNTBiZjM2MjE3NGUxMTAwNDY4YjMgbGVnYWN5LXRydW5rCis0MjkwMyBkYjU2ZjU3MGIwY2ExMjA1ZjNlNDRiZWYwY2RjMWNhYzMzMDZlOGEyIGxlZ2FjeS10cnVuaworNDI5MDQgZDM0MmIwZGM0OTM0MTRmYjIzNGM1OTkyMjM4MjkxMjRlOWJmMzczMSBsZWdhY3ktdHJ1bmsKKzQyOTA1IDEzYjk4ZDBhN2JhYThiNmVmYmUyZDNmMWJkZTMwMTQxYWZhODQyOTQgbGVnYWN5LXRydW5rCis0MjkwNiA3Y2Y1ZDliYTVmOTdlYWEzYTQ4NjdhMDNiOWNiZjI5NDBiN2U5ZGZhIGxlZ2FjeS10cnVuaworNDI5MDcgYjQ4YmE3Y2Y0NTc2ZWI1Y2EyODk5MmU4Mjg4MDgwNDE3MjMxNDdlYSBsZWdhY3ktdHJ1bmsKKzQyOTA4IGY2YjdlMGMzODRkYTlmZGRjMzBmNTAyMDk5ODhjZDg3NDY2MTViNzUgbGVnYWN5LXRydW5rCis0MjkxMCBhOTY5N2RlNWUxOGJmZjQyMDEzYmUwNDg4OGJhODlmMzMwNDVjNzNlIGxlZ2FjeS10cnVuaworNDI5MTEgNjMyYTRkYWE4ZDRhZmUxNTM3M2QzM2MzMmNkOTM5ZmU5NDJkZjE5OSByZWxlYXNlMjQtbWFpbnQKKzQyOTEyIDRiMzQ3YzY1NDYzNWY2YTVlNTJmYzJlYmQxMzA3OWY3ZDNmNDMzNmQgbGVnYWN5LXRydW5rCis0MjkxMyA1NTJkZDVmZGI5ZDg0ZmM3ODExNWY0YmJlZDJjNTM0MGQwZjdhYjIyIHJlbGVhc2UyNC1tYWludAorNDI5MTQgZmQ3MzU1OTZmNjljMWNiYzM4MDZjZTA4Mzk5N2IxMzk1NGY3ZWI4MyBsZWdhY3ktdHJ1bmsKKzQyOTE2IDQzNWY3ZjNjOGI2ZGE0NzVlYWU1ZDQ2OWUyY2Q5NjIzMjMzMjFlOGEgbGVnYWN5LXRydW5rCis0MjkxOCA2ZjJlZGE0OTVkOWRlNmI2OGYxODUyZTBlYjQ0NjAzNGIzNzgxNTMwIGxlZ2FjeS10cnVuaworNDI5MTkgMjc5MDVlYmFkZGFiNWRkYWM1ZmUwMjk1NTFhNGU2N2M3NTQ1YmRmZSBsZWdhY3ktdHJ1bmsKKzQyOTIwIDAwMjNjMGNmOGZlYmMwYjlhZjNjMTI1MTY1MDE0MjAxN2ViOWU5NzkgbGVnYWN5LXRydW5rCis0MjkyMSA5MjI3YWUzZGI3ZWQxZTJhNGFmNDNiMmM3YzI4NzE3MjFiZjMxNjFmIGxlZ2FjeS10cnVuaworNDI5MjMgMTJiMDgxMjNlY2JjY2Q4MmUxODY0OGM5ODBlNTBiYjA1ZGQ4YzIyMSBsZWdhY3ktdHJ1bmsKKzQyOTI0IDRkZWRjMDVhZDZiNDc2NGFhNTJiZDUwNDQ5ODdlZTQ0ZGVkMWI3ZTIgcmVsZWFzZTI0LW1haW50Cis0MjkyNSAyMTAzM2JiN2VjYmUxOWExMTRlNzVlMzZhNzUxYjJmY2ZlYzMwNDkxIGxlZ2FjeS10cnVuaworNDI5MjYgNTZhNGNmMmIwMmZkZGNmZGQ3NjZmMzVjNzYyYWQzZTYwMWYwOTZmMyBsZWdhY3ktdHJ1bmsKKzQyOTI3IGNhMjlkZGE1NjNiN2E0NmE0ZmNlMzI3YzU4ZWIzMTQyYTFjMmExZmUgbGVnYWN5LXRydW5rCis0MjkyOCA5MDJlZjFkYzI5NzliNmNiZjgyODE3ZTM1YTM4MGQ0YTcxOGQ3NDBhIGxlZ2FjeS10cnVuaworNDI5MjkgNjllYjZkMWI5OWY1NmQ2YTY0NDk1MmNkMDgyNzZhYWI1YzVkZjQ3NSBsZWdhY3ktdHJ1bmsKKzQyOTMwIDNlMmI1NzQ3MDM4ZmZmZDQ2NTdmMzRjOTk3MGIzYmQxZDQ3N2M3NDMgbGVnYWN5LXRydW5rCis0MjkzMSAwYmY1MzYzOTAxNGE5NGJiM2UwODNmZDQxOTliOTAzMzQ0MDI2OGMwIGxlZ2FjeS10cnVuaworNDI5MzIgOTFhOWUyZTMxZTkzMGQ0NjE2ZWJmMDdiMmU5MzNhYTViNTdjMjc3YiBsZWdhY3ktdHJ1bmsKKzQyOTM0IGI0ZTg5ZDI5YmVhOGM0NWNmMmJhYWFjYzlkMWYxMGI4ZGMyZTEzNzQgbGVnYWN5LXRydW5rCis0MjkzNiBiMjE4NGQ5MTBhMDBmODE2OTYzNjQyOGRlNjkyNDIxMDAyMGM4MTkwIGxlZ2FjeS10cnVuaworNDI5MzcgMGUzNmU3YzY2YjhlOGE1YTNmZTI5ZmIxMDlhMDNkYzc5NGZhOGRkYyBsZWdhY3ktdHJ1bmsKKzQyOTM4IGYxZWFhZTdmOTYyZDNmN2ExYWFkMzEyOTRhYzU1MmEwMTI1MzExNTcgbGVnYWN5LXRydW5rCis0MjkzOSAxOGY5MTFkZGUzZTI0MDBkZGViMGJkZDAyZWNjZWVhZmNjNGJkODY1IGxlZ2FjeS10cnVuaworNDI5NDAgNTAyYTY4ODg3NzgzOTk5YmFmNTg0ODQxMDM1MGE4YzIwZDNlODNjZCBsZWdhY3ktdHJ1bmsKKzQyOTQxIGQ0MGI0OGRmODNlNzk0ZDlhMmMwNDAwYTk1ODUwMWZmMGIzMGNiMGEgbGVnYWN5LXRydW5rCis0Mjk0NCA2ZTliMzY4Nzg5ZGYwY2U1NjYzZTMxYTUyMzkzZmQyZGZlYzI2OTE4IGxlZ2FjeS10cnVuaworNDI5NDUgMzY1MmI1MTI4YjcwN2RlODMzMTE0MGI2ZWQ3MjNhMzE2ZDhiYmM4YiBsZWdhY3ktdHJ1bmsKKzQyOTQ2IDc5ZDViN2Y3N2FjNDU5NGYzMzdlNjQ0YzBmYzhmYTkzMTBjNWY3ODggbGVnYWN5LXRydW5rCis0Mjk0NyA5N2QzODc5N2I4YmMwOTdhYjNmMGEzYjczMWJlMWUwOWFkOTI1YzgwIGxlZ2FjeS10cnVuaworNDI5NDggZDNkMmY5ZmZkYzA2NTQwYzZiOWVhYTgzODZhNzFhOTE5YTVjODQwOCBsZWdhY3ktdHJ1bmsKKzQyOTQ5IDgwNTgwMDE4MWUwZTE5ZmU2Y2EyY2MwMWNiYTg5ZTdiZWY2YzFkZmYgbGVnYWN5LXRydW5rCis0Mjk1MCA0OGUwYTVlMzk0MDNiYTFmZjBlNDdjM2RjNzExZjk1NzY4YjUxZmI1IGxlZ2FjeS10cnVuaworNDI5NTEgN2MxN2U5MjIxZjk0MWY2YTFjZGQ0MDcxZGNlY2ZhMmJkZDYyMzAxZSBsZWdhY3ktdHJ1bmsKKzQyOTUyIGZjMTBmZjMyMmRmMWI3OTNlZDg1ZmM4MjQyNWE1YjM0OTJkMzhmZjYgbGVnYWN5LXRydW5rCis0Mjk1NCAzMjY2YTAyMGEwZGFiN2YwYTcyOTRiYWU5ODFmNmU0NGI4YWZhMjFmIGxlZ2FjeS10cnVuaworNDI5NTUgMTFmOGI1YjhjZTIwMTg3ODY5YTllOTdhMmJhMDc3NmVmNzVmZDRjNyBsZWdhY3ktdHJ1bmsKKzQyOTU2IGZhYjQ0YzVjOGRmNDJiOTUzMTFlNzU3ZTMwNWY3OTExYjhlNWQ3MDUgbGVnYWN5LXRydW5rCis0Mjk1NyAyYTkwNTZmNGMxNjQ3NjYzNDY2MDkxNjI3YzJkNmZkZDE0ZWRjMGUzIGxlZ2FjeS10cnVuaworNDI5NTggZGI0NjUwNDkzYzJiOGUzOTJjOTkyYWM1MjMyNDRmZGY2ZTFiZGY0NyBsZWdhY3ktdHJ1bmsKKzQyOTU5IGFlNTlmY2VkMmUxNDJkNGFiZmQyMmM3YjE5NzQ3MjM1ZWIzYjc3OTAgbGVnYWN5LXRydW5rCis0Mjk2MCBlYmViYTczNTM4OTQ3ZGYzMjcwMGY4MzdjODVkNDVjMjAxODMxOWVlIGxlZ2FjeS10cnVuaworNDI5NjEgZjEyMGY3NDBhYmU0MWU2NzdhNjFhZjM4MDk3ZmM1Y2ZlZTgzYmNiZCByZWxlYXNlMjQtbWFpbnQKKzQyOTYyIDA2ZTNmNjI3YWQ5OTU4OTg5YjU2ZWQ4OWEwZGNlZDY1M2FhNDYxYmEgcmVsZWFzZTI0LW1haW50Cis0Mjk2MyBlMjU2YjUzMDJiNTVjMzg0NzFlM2MyNTczM2M5NzFmYmUwMDkyYjhjIGxlZ2FjeS10cnVuaworNDI5NjQgZGY0M2MwNGQyNTU0NWVkNGJiZGU1YzAzZGU5NGQyOWNiNDFiMDdkNSBsZWdhY3ktdHJ1bmsKKzQyOTY2IDFkZDY1MjA0YzA5ZmU3ZDc5MWY2MTlmZWI1YjU0Y2FkMTE2NzA5NjkgcmVsZWFzZTI0LW1haW50Cis0Mjk2NyAwM2VmOTg3MDQzY2UwMGU5MDQ0OTBmY2Y5ZjY0MjkyODc0NDE4ZDhmIGxlZ2FjeS10cnVuaworNDI5NjggZTQ0NjVkMjczN2M0ZTc1ZGQ2ZTQxYzA2MTM1YTZlNGVhYWVkYzdmZCBsZWdhY3ktdHJ1bmsKKzQyOTY5IDY3MTg3N2QyMmExY2M4ODI4ZjI3M2RmMjJiMWM0YzEwZTYyMzYxYzQgbGVnYWN5LXRydW5rCis0Mjk3MCA0Yjg2N2U2NTRhOGE0Y2MwNzMxZWJjMzVmYWYxZjUzNTg1NTE5NmFhIGxlZ2FjeS10cnVuaworNDI5NzEgZjA2MTI1YTlkNDA2MzU3MTVkOTY4NTJlM2JmMzljZDg1MzMzNmVlMCBsZWdhY3ktdHJ1bmsKKzQyOTcyIDczNTFhYWI4N2U2ZGUwZmIzYmVjN2U0ZDllYjg1ZGY3MGZhNWMwOTcgbGVnYWN5LXRydW5rCis0Mjk3MyAwZjE5YTZmYzk3NTYwN2E2MGE0MDI2ZGY4YjNiOTNjMDExZjMzZTAzIGxlZ2FjeS10cnVuaworNDI5NzQgZmRiMDVjOGFkNTMzM2EzOTE3ODA3ZTU4NmVmNDRhNWE4M2FkMmJkYyBsZWdhY3ktdHJ1bmsKKzQyOTc1IDQwMjU2YjU0Yzc5MDYwYjYwNGQ2MDNkYzEyM2IwYTg3NzY4YjY5NzEgcmVsZWFzZTI0LW1haW50Cis0Mjk3NiA2OTEzZWJhNzhkNDA3OTEwYzJmZTZlOWQ5MWYyODc5MTdhYmVmNjFjIHJlbGVhc2UyNC1tYWludAorNDI5NzcgYzc3ZWNlNjY3MDlkMTdlNTc0OTU1MmUyMTgyMDkzMjM0M2E1M2M2MyBsZWdhY3ktdHJ1bmsKKzQyOTc4IGFiMDAzMTljMzc0NDg2MTA1NGNiMTBiOWVmYmEyYWZjNzkxZjBlNmQgcmVsZWFzZTI0LW1haW50Cis0Mjk3OSA5N2ZlZDYxOGI1ZTcyM2E0ZmEzYWNlNDM2OWIxOWUwY2VkODU5M2Y0IHJlbGVhc2UyNC1tYWludAorNDI5ODAgMWE4NDY1YmFmMDdkZDRmNzI5YWJlMjRmZWQ3NTg2NTc0YWJmZDU4MiBsZWdhY3ktdHJ1bmsKKzQyOTgxIGM5ZTQ5MTM4ZjY1OWIxZTE0OTkwN2MyYWU1MjY0ODM2YmIwYjM1MjMgcmVsZWFzZTI0LW1haW50Cis0Mjk4MiBkYjVlNzIwYjBjZWY5ZTI4ZmJjYzIzZTdmYzI0NzVhMGQyZmNhZTQ2IGxlZ2FjeS10cnVuaworNDI5ODQgOTU4NDI1MDA3ZWE2YThhNjkzNWQ2YTQ1ODgzZmQxMzIzNGY2N2U3NyBsZWdhY3ktdHJ1bmsKKzQyOTg1IDNiZTI0MjVkNzc0MDBkODg3MjdlNDk4NjcxY2YzMWI5OGEzMDUwYWYgcmVsZWFzZTI0LW1haW50Cis0Mjk4NiBjYjk4NGE4YjExMzQyZjBiZTE2MWViNDhkZDkzN2EyOTZmZmM5NDFjIHJlbGVhc2UyNC1tYWludAorNDI5ODcgNDMwOWIzZmI1YjQzNWVlYTkwMjFhMTE1OWM0MjhlMDA5YTQ3NTRjNyByZWxlYXNlMjQtbWFpbnQKKzQyOTg4IDMyYjg2OGE0OTY1OTMwOWM5NTkzMTljMjBiZjg5OTU1YTkzNmY4OGYgbGVnYWN5LXRydW5rCis0Mjk4OSAzYWQ0MmY5OWE2ZGJiN2ZkYzA0N2UwYzkwNjViNTEzNmJiOTY5N2VjIGxlZ2FjeS10cnVuaworNDI5OTEgZGRhNDI0MWY5YWJjN2VhMWVkZDI5Zjg3NWI1YTEyZWIyMTRlOWI2MiByZWxlYXNlMjQtbWFpbnQKKzQyOTkyIDNkN2FkZjg4NzRhYzU4YjgzODZmY2Y5M2FiZGY3NTNmOTA3ODFkMDggbGVnYWN5LXRydW5rCis0Mjk5MyA4MjkyZTNlNmVjZmVhOTdhZDI5ZTE3ZmNjMDAwMzZiMWNhMDBhMzYwIGxlZ2FjeS10cnVuaworNDI5OTQgN2ViMmMwZjBkMGZkNjY1MTI2ZDFhNWUyOGRmNWE3Y2I0YTViYzE3MyBsZWdhY3ktdHJ1bmsKKzQyOTk4IDlhMDg3MjQxMTBkMGJlYjk2ZGI4MWMzMjk2YjY4NjYyMGEwY2YzZWUgbGVnYWN5LXRydW5rCis0MzAwMCAzMjEwM2M1ZGJlZmFjM2UyYmNkYmZkNDY5MjgwOTJiMDczMGZhMTRmIHJlbGVhc2UyNC1tYWludAorNDMwMDEgYThmZDkxY2QzMTdhY2JiODkxMDhjZTQ2NTcyNzUxMDMxNThlNjVlNCByZWxlYXNlMjQtbWFpbnQKKzQzMDAyIDE1YTQ1ODE3MWViMDA4OTA2MzVhOTExZGE2NGM2MmRkOWVjMDYyMjUgbGVnYWN5LXRydW5rCis0MzAwMyAwYzA0MDgzNTJlZTY5Y2FmZWRjYWE0NjVjZmExYzAyN2UzZTNmNmJlIGxlZ2FjeS10cnVuaworNDMwMDkgMDM1Y2M4NDE0N2ZiMDRlNDg5ZmEwN2FkOTJiMWFlY2M0NjQxOWJmMiBsZWdhY3ktdHJ1bmsKKzQzMDEwIDg1MTg4ZTViNDkxMmY1NGI3MTAwNDhiYmM2MDIwOTkyN2Y1OTliMTIgbGVnYWN5LXRydW5rCis0MzAxMSBiNWExMzU3MDU5MmRkYzk0NzA3YzZjOGYyYWJiYTVkODEyYzkxOGMwIGxlZ2FjeS10cnVuaworNDMwMTIgNmIxYjMyYTg1ZjQ3NjAxZDhmYzk2YTk3ODAzYTA5ZWQ2NGQxM2U2MyBsZWdhY3ktdHJ1bmsKKzQzMDEzIDI5ZTZlN2ExMDdkZTM5MjA1YzU0MGEyODY3YzRjMjZjODY4Nzk4ZDQgbGVnYWN5LXRydW5rCis0MzAxNCBiZGFmY2EyMTkyZDM3ZWIxZjFhZjMwMDk1Zjg1NTViZTM5YjRkYWQ5IGxlZ2FjeS10cnVuaworNDMwMTUgOGMxYmY3OTk5NTJjZjFkMDM0NWIwNzJiYzBkYjQyYjNhZGI3NzMyMyByZWxlYXNlMjQtbWFpbnQKKzQzMDIyIDk1NDY5ZTk3ZmQ5MDAwYWIyOGM3MGY5OTY0YjcyNzlmZTFiMjAxOGEgbGVnYWN5LXRydW5rCis0MzAyMyA0ODA4ZWU2MmIxNTZhNjE5YTU5YzJhODI1NDg2NTEyYTE5YmRlYWJiIHJlbGVhc2UyNC1tYWludAorNDMwMjQgYjNjMzY0MGQ5MmY4NGExMmUwNWUyOTg0NTgxNTVjMDcwZjM0NjEzMyByZWxlYXNlMjQtbWFpbnQKKzQzMDI1IGM4ZmZjOTEzZDAxNDMwNTdjNzUwMzNjZmNlMTIzYzAyNGI1YzY3NTMgbGVnYWN5LXRydW5rCis0MzAyNiBmZjMwMjQyNTlkOTFkNzJiYWU3YTdjM2M3Y2VkZTIyMzIyMGU4OTNiIGxlZ2FjeS10cnVuaworNDMwMjcgZTJhYjc1NWFlNjg1ODBlMGMwMjMzOGI1ODkxOGViOTEwM2JlN2YxZiBsZWdhY3ktdHJ1bmsKKzQzMDI4IDIyZmZmMWYzYzc4YWU1NDUxODgxZDA3MTk2NWEzMjNhOTM5NmNlY2MgbGVnYWN5LXRydW5rCis0MzAyOSBjZGU1OGNkMDdlN2Q4NTA0M2JlZTVmMzJiNjhjOGU0NzgyNzJiZDZkIGxlZ2FjeS10cnVuaworNDMwMzAgNGE4OTZmYzEyMzg0MjcyNDE5MzliZjgwZGQ0MGJjMGZhMDQyZDRiZCBwM3lrCis0MzAzMSA1NzBjNjE2YWNmMGMxNGVjN2E4ZWYyNzQzN2UxNDM2ZjNiMjliYzIwIGxlZ2FjeS10cnVuaworNDMwMzMgMzc1Y2UxYzA0ZTY2YjU5YjFmNzEzZDVhNTQzNmQ0ZDRjZTViMDg3MyBsZWdhY3ktdHJ1bmsKKzQzMDM1IDQ5YzZlYjY4ODkwNmIxZGRkYWJmNTc4ZjA4MTI5ZTY3MjlkNjE1MWYgcDN5aworNDMwMzcgYWJhODE0YWE0YzZhN2JkODJkMWEzM2YwYzRjMDhlMWM4MTE5ZGZmNSBsZWdhY3ktdHJ1bmsKKzQzMDM4IDY5Y2JlMGZiN2E2ZDIwNGIwMTlmMmJjMzI2NzMzNGU5MTIzNGIxODEgcmVsZWFzZTI0LW1haW50Cis0MzAzOSA4ZThkMGUwM2YwNzZhMjQyYzJiNDA3Y2Y3OTVkMWU1MzBlODNmYTg1IGxlZ2FjeS10cnVuaworNDMwNDAgMjUxZjkyMWNjODFkY2MxZDlhNTVmMjVmYjFjNjQxZmY2MDZiYjIxYyBsZWdhY3ktdHJ1bmsKKzQzMDQxIDVmYjU0ZWQ4NTQzYmIwNzNiYmY4OTM0ZDMwNWZkODg2MWI0NWUxM2EgbGVnYWN5LXRydW5rCis0MzA0MiBkOTY5ZTMzOWFjMWU1MzdmZmM2NDVjMGJiZDI4MTVhOTBiNmIxMWQwIGxlZ2FjeS10cnVuaworNDMwNDMgZjkxNDYzMGY0MTljMWM0ZTY4MTIyZmI2ZGM3Y2E1NzRlZDI0YTI1NyBsZWdhY3ktdHJ1bmsKKzQzMDQ1IDdmYTRjMjlkNzAzMDE1YTc5ODE3OWUyZDgxYmY5NjBjOWExMDk5ODIgbGVnYWN5LXRydW5rCis0MzA0NiA5ZDNhMmNkZTBkYmQzMGY5YzcwNWUxMDgzMzZmNjNkN2I0YjAyMjE1IGxlZ2FjeS10cnVuaworNDMwNDcgNDUxZGEzYTUyOTEzMTZkYTFlODg3NTlmNjJhYTQ5OTVlZGViYjUwMCBsZWdhY3ktdHJ1bmsKKzQzMDQ4IDE3OTA4NDg5OWQ5NjliMzc5NTU2ZGZlNjBjZWNkMzI3MDczM2Q2MDMgbGVnYWN5LXRydW5rCis0MzA0OSA4NmYxMzMwMWMzZGI0MTRjZmFkY2E0NTliZTFjYzAzZTdjODk3NjVmIGxlZ2FjeS10cnVuaworNDMwNTAgNTVlNGY0NzY1NzYzZWNmNjYyMGFjM2NiOWQ3MjliMmY1ZWM5NWQzNSBsZWdhY3ktdHJ1bmsKKzQzMDUxIDViMzhkYzU1MWY4NmY4YzViZWIyMzNhMDcwYzRlZThjYmZlMDkxY2MgbGVnYWN5LXRydW5rCis0MzA1MiA0ZjQ0NDEyZTlmNmMxMjdjYjVhMjAwZGUxN2U4YmI4OWQ3MjVmNGExIGxlZ2FjeS10cnVuaworNDMwNTMgM2JmMjMwNjFkODZjZDk0MzVmNTZjNDk0MmMzMzhiMDNmYTdlMmE2NSBsZWdhY3ktdHJ1bmsKKzQzMDU0IDY3MzhmN2IyODJmNjVjNWM5MWMwNWM0MjViZmYwOTRhMWYyNDgwOWMgbGVnYWN5LXRydW5rCis0MzA1NSAzNTRlMjJmM2RhYzZmMzIyZGFjODQ2Zjg2OWQyZTZiMzU3M2Q3ZjE5IGxlZ2FjeS10cnVuaworNDMwNTcgMWRkZjBkODFkNmM1OTBjY2RjYjMzNTIwN2ZlM2E0ODc3MzBjNGNhNyBsZWdhY3ktdHJ1bmsKKzQzMDU4IDYxNGQ4MGRmZmMxZjg4ZTIwMGZjOTcwNmE4ZTc3YjE5ZmZmYTRlZTggdGltLW9ibWFsbG9jCis0MzA1OSA2ODU4NDliZDkwNWM0YWIzZDNiYzYyNTIwMzUwMzQwYWJhOTMyNTEzIGxlZ2FjeS10cnVuaworNDMwNjEgOTc4N2Y4MzBkMDI1YjU4NWM0YWM3NDRlOGNjNzM4NzI3NzBlZjk4NCBsZWdhY3ktdHJ1bmsKKzQzMDYyIDYyNDA5YTFiYzRkYjMyZTRmZTBjOTRmZTkwZmZmNjJiMGRiMGY0ZTcgcmVsZWFzZTI0LW1haW50Cis0MzA2MyBhYjE3ZGE2ODQyNmJhODU0MjQwYTBlOWY5MTUyODVkMzNmN2VhOGM0IGxlZ2FjeS10cnVuaworNDMwNjQgNWQyYWI0ODIzZjNjYzdmZTJmN2E3MmZkZTE3YmYwOTg2Zjc0ZDQ1ZCByZWxlYXNlMjQtbWFpbnQKKzQzMDY1IGYwYjBhYTM1N2Q0OWU0MzQ5YWY1YjQ1ZDlhZDdmMGQ1ZTk1ZWVhM2YgcDN5aworNDMwNjYgMjUwMDdjMTU1NjY4ZGQ3NGUzZDEyY2Q2MmZmZTk0NDgwMWJhZGM3MSBwM3lrCis0MzA2NyA1NjBhYzFiYTk5Mjc0ZmJlZDk4N2RhMmZjNjAzZWIxNjJlZDRiODMxIGxlZ2FjeS10cnVuaworNDMwNjggNGFlMGJiZmM2ODY2ZTE5NTQ3Nzc5OGFmNzNhNzE2NGJhZDI0ZjMxMSBsZWdhY3ktdHJ1bmsKKzQzMDY5IGQ2ODM0NGQ5MzJjNDU4Zjg3Njc5MTFhNTI4ZTBhNDUwMDZjNTY3OGMgbGVnYWN5LXRydW5rCis0MzA3MCA4NWVhZjBjYTY0ZjJlNGZmNmMzZDY0YjMxMDc2YWRhY2VlNjgxOWZiIGxlZ2FjeS10cnVuaworNDMwNzEgN2RhZDgzY2E3MDJkYjJiMDlkZmUyN2MyOTE3ZDZjMTE2N2UyMjQyOSBsZWdhY3ktdHJ1bmsKKzQzMDcyIDQ5MjBiZDQ5MmQ5ODZiNWFhZDAyYTFlZDZkNjg1Mjk5ZGI4N2E2YzIgbGVnYWN5LXRydW5rCis0MzA3MyA0NzI3ZjI2MGY2ZjhkOTY5MzVlMGRjOWM3NWNmNDU5NmIwMGMzNjAzIGxlZ2FjeS10cnVuaworNDMwNzUgMGY2YjRjZWVhNTgwNTM4YzgzODY0YTA2MzI3ZjZjMjJkZjRmN2NhZiBsZWdhY3ktdHJ1bmsKKzQzMDc2IDQ5NTM0NGZlZDI1NWI1YWI4ZDFiMzNhYmE5ZWExOGY3MzAyZTVkY2EgbGVnYWN5LXRydW5rCis0MzA3NyBmNzBjMDM2NDg5ZWM0MzE3ODA4YTg0MTI0ZDA4NDU0OGViNWQ5OTExIGxlZ2FjeS10cnVuaworNDMwNzggMDM4OTRhN2EzMmVjZDNmZmY0Mzk3ZmEzZGEwYzIyMWQ0ZDFmZTM5YSBsZWdhY3ktdHJ1bmsKKzQzMDc5IGEyYTYwNDkzMWZmNjgwNDdmYzYwNmNhMjg4MDgwMWRhMmFjMTkxOTIgbGVnYWN5LXRydW5rCis0MzA4MCAzMDIwM2UyYjk3ZDczMmQ1ZGZmNjA5NWI5YmU4YTYxYjc0MWQ1Y2JmIHJlbGVhc2UyNC1tYWludAorNDMwODEgOTJiZTJlMTE3MDMzMTk1OGM1NWRiYjAyZmYwOGEyOTk4NmY5OTQxOSBsZWdhY3ktdHJ1bmsKKzQzMDgyIDgyZjcwMGZjNGRlMjBkZTU4YjdlZGJiY2VjNmU0M2RhMmE2ZGM3NzIgcmVsZWFzZTI0LW1haW50Cis0MzA4MyBhMjUzOTU4YmZhNGM0MmIzMDJkZGRlNGM4OWE2NWY3ZDM0ZTJiMDEyIGxlZ2FjeS10cnVuaworNDMwODQgZTcyMWQ2OGRiZjZmMTI4MzdkOGM2ZWRiN2I1ZmYzNmQyZTg0MzhhNCBsZWdhY3ktdHJ1bmsKKzQzMDg1IDNiMzA3MjBmYTU3YTExNGIyZjBhMDgyY2Q0YTE0Mjk2N2M3NWIyYTIgbGVnYWN5LXRydW5rCis0MzA4NiBjMGFlYjEwNjU0YjJmNjY5Y2UzZTNhMWUyZDBmMWI1MzAyMmRhNTJiIGxlZ2FjeS10cnVuaworNDMwODcgZmZmNGVlY2RlZjQ1ZjY0MThkZTQ5ZDgxZWMwZGUxYzcxMWRmN2RkNSBsZWdhY3ktdHJ1bmsKKzQzMDg4IGJjZTVjN2FlNjU5YTUyNTIzZWMwNmJhMDc3NTA2ODZkMjVlODk2MWIgbGVnYWN5LXRydW5rCis0MzA4OSBjNDQ5OTQ0MDY4ZDIyOGY2ZTM0NDc5NjNjNGUxYjNkOTM0ZThmN2VlIGxlZ2FjeS10cnVuaworNDMwOTAgYmZiNzRhNDIwYWM4ZWIzNTE1MmQwNzYyZDk1MzdkNDBiNDBmN2FjYyBsZWdhY3ktdHJ1bmsKKzQzMDkxIGU0MTVmMWE4NzRiMTA5ZWZiNDcyMDNmNTcwY2E1OWYyNGU3YjEyMGMgbGVnYWN5LXRydW5rCis0MzA5MiBhOWMzYzkzODI0NjUzZTA2ODkyMWY3MGJjMzgxNWZmYjc1NjNiNjQwIGxlZ2FjeS10cnVuaworNDMwOTMgNTNjODA2ZjdhMjUwODZjMjQzZjdlOTdjOWVkMmZhNGIzYWVlNWNkOSBsZWdhY3ktdHJ1bmsKKzQzMDk0IGJkMzcxNTM1M2EwOWI1NjI2Njc5NDUyYjQ0MDMwMTk2ZTcxZDk3ZjYgcDN5aworNDMwOTUgN2FkYTE2YTE0OTY4Njc0NjIzMTQzZDJkMDgxMTY1OTA1MjZjZWQ3YyBwM3lrCis0MzA5NiBjZDE4MThlZTdlYTlhOGNlODM5YmYxYjc2MTAxZmRiZmNhYjdhNWM0IHAzeWsKKzQzMDk3IGZmMzgxYjM4OGNmZjQyYzk3NTQ0ODdmNmZlYTZmYTY2YmI2YzIxN2QgcDN5aworNDMwOTggMDgxYjRmMGU4MWI3YmFhNjgwMjU0YTMwYjcyYzQ1NDUxZDcxYjc4ZCBwM3lrCis0MzA5OSAzMzQyYjNiNTg2MzA0MDUzYTc2YTBmNjNkZDk1MGU1MTJiNmNlYWVjIHAzeWsKKzQzMTAwIDNlMWVlNmUxNmM4MWY5MTJmNjkxYzI0NGFmMTQ2NmEwZGI1MTdiOWEgbGVnYWN5LXRydW5rCis0MzEwMSBjMDQ4YTA5ZDA2ZmY4Njc0ZTA1MDk0OTRhNWU1ODZhYWNlMjczYzA0IHAzeWsKKzQzMTAyIDExODM5Nzc2YzY2YzMyNDM2NmE3N2MyMDg5MWNkMWZjMDA2MDc4NmEgcDN5aworNDMxMDMgNDA1MTFiZjU5Mjk3OTgzZTQ5Njc0YmVmOWEyNzExZWRmYjg2OTkwZSBwM3lrCis0MzEwNCBhMDE2NzJhOTZkNDcyNzA0NjM2NjBiZjU1NzA5Zjg1ZjlkOTY1ODUzIHAzeWsKKzQzMTA1IGNlMjY3ZjY4MDY1ZTIyMDkyZjE3OGVjMTc2MzY0YTdmYzMyYWM0NGMgcDN5aworNDMxMDYgOWVmM2ZhYzVkMmMwYTJhOTQ5NjIyZTU0Zjk5MzEwZTA5MGIwMTA0ZSBwM3lrCis0MzEwNyBlYTViNjZhZjYyNDVhNDA5ZTJjMjNkNzY2MjE1Zjg3ZDRlODM1MDlmIHAzeWsKKzQzMTA4IGZkYzA1YjE2NzIzNmU3NTcyMTdkYzU4ZDE1OTNlNzBkMWZjOGE1ZGQgbGVnYWN5LXRydW5rCis0MzEwOSA1YWVjZWRjOThhZjY1NTllMDQ1MzlhYzU5MzU0MWU3ZTBlNDU0ZTJlIHAzeWsKKzQzMTEwIGY3ZmQxMWE3NWE2YTRkY2I4YTIzYjBmNjBiM2NiNDc2YmQzMmIxMTQgcDN5aworNDMxMTEgYzJjMTI4MTRmODU0YWJmMGUwODBhMTE1ZmJhYTQ1ODA4ZmI3YzY2MyBwM3lrCis0MzExMiAyYjA0YjljN2I1OGViMmQwMDZlNWI3NjExOWUzNWY1MWQzMTgzNjJhIGxlZ2FjeS10cnVuaworNDMxMTMgZjAyYTAzMjU0YjkxZTc3Y2E3NDAyYzU4ZjU3NzMxODBmMDRiNzUwNiBsZWdhY3ktdHJ1bmsKKzQzMTE1IDIwM2MwNmZiYjA3NTQ0NzQzYzJkNmRkNGFkZGNiNTM1MjQxYTkzMmYgbGVnYWN5LXRydW5rCis0MzExNiBkN2QxMmQ3ZmNjMzkyZjk3OTZhYzdmOGRlOTc5MzgwYjg1NTQxMGQwIGxlZ2FjeS10cnVuaworNDMxMTcgMjMwNDVmMWUzOWYyZjkxYzhmZDFmYTQ1M2UzNDAxODJlZDM4NjRiMyBsZWdhY3ktdHJ1bmsKKzQzMTE4IDY0YzgzZTBmNjgzZTU2NmFjNmRlMDA5NmUyYjYyNGNkZjZlMjNiYmUgbGVnYWN5LXRydW5rCis0MzEyMSBiMDFjODBkODgyNjdmZTUwYWZiYjM0Njc0YmNmM2NiMzcwYzVmOTgxIGxlZ2FjeS10cnVuaworNDMxMjMgNGM4MDRhYjg3ZWFkYWMwYWFjNjAyNGY2YmNiM2M2NDNiNTJhZmVkMyBsZWdhY3ktdHJ1bmsKKzQzMTI0IDFmNDU0OTg2NWFhZGJlNTU0YWVkNDI1OTVhZWQ4YWVkMWIyNTZhNDIgbGVnYWN5LXRydW5rCis0MzEyNSBlNDNkNWQyY2E1MGFiY2ViZjRjNjdlZjZhZjgwNjQ3M2E3MzEyMDVjIHJlbGVhc2UyNC1tYWludAorNDMxMjYgZGQ0OTg0N2E2MGQzMDBkMTc2MGYxNjA3YzUwNDRkYTI2NTFkZTcyZCBsZWdhY3ktdHJ1bmsKKzQzMTI4IGIzM2Q5MTY2ODY5NjE1Y2YyOTc0ZGM4N2U4OTJiNjk5MTg1NmNjNjMgbGVnYWN5LXRydW5rCis0MzEyOSA5OTQ5MzFiNmI4NzU0ODkyOWJjMzYxMmNkOGM2NTVkMjY1MTJkNjBkIGxlZ2FjeS10cnVuaworNDMxMzAgNDNjMzkzYjJmZTlmYTQ3OWQwN2RiNGI3OWNlZDAxZWE1NThjMzU0ZCByZWxlYXNlMjQtbWFpbnQKKzQzMTMxIDgxZDBlOTMyMDhkOWU4MTA1ZDI3MGRjNjY0MmRlZDRhNjJmMTVjY2UgbGVnYWN5LXRydW5rCis0MzEzMiBkMTM0MzBhOGJkMmNlMjU5ZWU5NTI4NWUzZDhhODVhYmE2NTBiODhjIGxlZ2FjeS10cnVuaworNDMxMzMgYjU1ZjUzMDQxOTY1MzU5NjQ0Y2FiZGM5ZmJiYzUyMzg0MDg1ZDRlYSBsZWdhY3ktdHJ1bmsKKzQzMTM0IDY4NWUyMTIzODY0ZDNmNmFmMDRiODY3Y2M5MDY5YTkyMzE4NTU4NjUgbGVnYWN5LXRydW5rCis0MzEzNSAzODQwMGI2NjI0MDQ3NWEyOTU5ZDIxMGIyZTBmMDUyMDI2YjE0M2M3IGxlZ2FjeS10cnVuaworNDMxMzYgM2Y5MGE5M2ZmNWQwZWE5MTg4MjRjNTFmMDgwYWM2N2NlZDNhMWVlNCBsZWdhY3ktdHJ1bmsKKzQzMTM3IDkyY2I0YTdmYzU1NGVmZmE2OTE2YjcxYWJkMjI1YTZkYjlmNGZlYTUgbGVnYWN5LXRydW5rCis0MzEzOCA2NzcxZjBlMDhiNjBhMjM2ZjIxNmU2NjdmZWI0MTMwYjEwOGY5ZDgwIGxlZ2FjeS10cnVuaworNDMxMzkgOTI5NTJhYzhlODkxMWYwNjdmNTZiZWJjNDlhY2VkOGQ5NTc0Y2FmZSBsZWdhY3ktdHJ1bmsKKzQzMTQwIGJiNDkxZTU1ZmI0YzI0MzNhNTFjY2I0ZTFlZWZmNTYwNzg5NDRmMWQgbGVnYWN5LXRydW5rCis0MzE0MiA4NDM5MjhjNmIyNGNkZGY2ZGI4YzI1ODdjZDI3OWNmZDgzOGFjZjAzIGxlZ2FjeS10cnVuaworNDMxNDMgNmMzZWMzNzM2YzUxNGRmN2FjMWRkMDgwMWY1NzRhMDhiOWE5YjkwNiBsZWdhY3ktdHJ1bmsKKzQzMTQ0IDk5MTBmZjY5YWY5NzNiZTMzOWMyYTc1Nzk4YjBiMGUzNDViMWFlYWIgcmVsZWFzZTI0LW1haW50Cis0MzE0NSAzYjdiMjk1Y2NhOTAyYmY3MTBmZmI3MzNkZWRkZTUwNzFhNmM5YjY3IGxlZ2FjeS10cnVuaworNDMxNDYgYzAxMWFmNGEyYjAxZmQyNTE3ZWVlOGUzZDJhMjNlNjVhOTJkZTk1NSBsZWdhY3ktdHJ1bmsKKzQzMTQ3IDA3YWI1NTc2MjViOWNlZWZlZmM3YWU2NDM4ZDVhMzk2ZWE1OTdmN2EgbGVnYWN5LXRydW5rCis0MzE0OCAyMzM1N2I4OGMwM2VhZmE2YmUyOTg1ZGRmNTU2Y2UxNTA1ZTM1YWQ3IGxlZ2FjeS10cnVuaworNDMxNDkgMWQzMDgxY2IzZWE2NzM1YmIyY2U2Y2E4YTk1N2JlZmJhMTY0NzM3YSByZWxlYXNlMjQtbWFpbnQKKzQzMTUwIDdjMjJiNWFhMzQzODcxZGI5NGQ1ZWU2MzFmNGUwYWYzYTc3NjRkYmMgcmVsZWFzZTI0LW1haW50Cis0MzE1MSA4ZDQyZjY2MWZlYzgwMjllMWEyMGMzNDNkYmJkN2IxOGE3YzY5OTBmIGxlZ2FjeS10cnVuaworNDMxNTIgNzc1Y2Q2OWY4YTIzN2RhZmVkYjk0NzI5ZTZhMTJmNjU4OTA3OTNhNSBwM3lrCis0MzE1MyA2YjUxNmYzMjFkODUyNGNiYmVlMTRkMWU2NjE3OTg0MmM4ZjliMWI5IGxlZ2FjeS10cnVuaworNDMxNTQgYjMxYjdlYzVhNmI0Mzk0MGNiOGU5MDEwYmJlOWMzMmE1ODg4ZTgxZiBsZWdhY3ktdHJ1bmsKKzQzMTU1IDNkYWJkOWJiNDk2ZTlhNjhjZDZjZDk0Yjc2MjI5NzNmYzc2NjQwNWEgbGVnYWN5LXRydW5rCis0MzE1NiBiNGQwZjhkOTUxNzlhNDZiY2NiNDlkODBkZDU2MTNkMDVhZTBjMjRkIHJlbGVhc2UyNC1tYWludAorNDMxNTcgZGU4ZjVkMWNkZjRkOTU4MjRhZWQzYjBlMzNkNzhkNzJmM2I5YjUwNiBsZWdhY3ktdHJ1bmsKKzQzMTU4IGQ2MmIxMzQ4ODk0M2Q3OGM5YzhkODE3MzIyOTMyMzJhODRiNzkwNDcgbGVnYWN5LXRydW5rCis0MzE1OSA4NTJkZTMzZWQ0MjdkNmE0MzBmNjFjZDg5ZDM2MjJkOWEzOTA1YThhIGxlZ2FjeS10cnVuaworNDMxNjAgMmRjNjNjZGIwOWNmMGRhODNiZjE0OWZmMzUwNzBhMmQ0MzMzNzI5OCBsZWdhY3ktdHJ1bmsKKzQzMTYxIGRiOTg2YmUyYzAwYzVkMDNhNWRlNTQ1YWU2MzFlZDgyYzA1Y2JkNzggbGVnYWN5LXRydW5rCis0MzE2MiBlODBmZGIzYTBmNDBhOTYzOWI0ODFmYWY4ZjY4ZmQyMWFiYWY0MmMyIGxlZ2FjeS10cnVuaworNDMxNjMgNzllNGRiZTRiZGM2YTYzODgwNGM2ZjU1Y2Q5NGJiMzJiZTdkNzZmZiBsZWdhY3ktdHJ1bmsKKzQzMTY0IGEwNmM5ZmQyNTEyMDhjYWQyZGVhZGJiNTllOTQ1YzBkODNiZGU4YjkgbGVnYWN5LXRydW5rCis0MzE2NSBkODYwMzExZjhhOTcxZTcyYTllYjMzMjUyOGZmZTM5NGNkZGM2MDU4IGxlZ2FjeS10cnVuaworNDMxNjYgMzYwNTIxOGQwM2ZhMDQzN2FlNGYzYjMzZWRhMTFhNWQxNTJiYWZiMSBsZWdhY3ktdHJ1bmsKKzQzMTY3IGRlMmI5NDJmMzdmOTQ4ZTBjYzZhZjZkYjRiZTliOTFiM2RkZjUxOWYgbGVnYWN5LXRydW5rCis0MzE2OCA1YTc3NTBkYjA5Nzc4ZTAyMjdmZWExZWYyMWI4YWE5ZjA2ZDRmZWEzIGxlZ2FjeS10cnVuaworNDMxNjkgYTBhYzc3MjU5Yjk5Y2U3ZmM2OWEwMjdmZGNmNjM4MjJlMjcxYzUyNCBsZWdhY3ktdHJ1bmsKKzQzMTcxIGQ4NTkyMjc2YjEzNzQ1YTkxYjhiMzRkMzQ4MWQ2ZDI3NDI1YjY2NGMgcmVsZWFzZTI0LW1haW50Cis0MzE3MiA0OTA3ZmI4NzljZDljN2E2Mzg4YWEzNzliZjc2NzgyMDU2YTA3ZGVkIHJlbGVhc2UyNC1tYWludAorNDMxNzMgNjQxMmVkNjk3NWRlZWU4ZmE4ZDk5ZWVhYjU1OGYzOWYxYzM2YWQ1NCBsZWdhY3ktdHJ1bmsKKzQzMTc0IDg3ZWQxZjNkMjcyZTRlYzMyMDBmMGY5NThlZjI3NTE1OWU5ZjJjMzIgbGVnYWN5LXRydW5rCis0MzE3NSA4MmFlYjU0YjBiYWFiM2YxZDY4MWE3MDdjMzM0MmJmMDA1YjUyY2NkIGxlZ2FjeS10cnVuaworNDMxNzYgMTM2YjQ1N2I1NDNhYjY1Nzk2YmI2ZmE2NDFlMWIzZGQxYzA5NGZiOSBsZWdhY3ktdHJ1bmsKKzQzMTgxIGY3OTkzZGM2YmYyNjRmOGJiMzA5NDg4MWQ3ZjAzZTViMmVlMTBkN2MgbGVnYWN5LXRydW5rCis0MzE4MiBkYjMxN2U0MzU3YWQ1NGU2Yzc3MGNlMmY2NzVjZjc3Njc2NzlhYTIwIGxlZ2FjeS10cnVuaworNDMxODQgZGIyOTdiOTQ0MmU0MGNhNTY2NTdhZjEyNWNjMDI0ODM1YTNjNzYxMSBsZWdhY3ktdHJ1bmsKKzQzMTkxIGU3M2IzNWQ4MTYxN2JlYjFkZDI4MDEyNDljODY2YWRhODA2MmRlNmIgbGVnYWN5LXRydW5rCis0MzE5NCA4ZGM0NGU5ZDVjOTM5YjgyZDYyNDExZjRjMjFjZTRkMzVkZGE2NmY0IHAzeWsKKzQzMTk1IGE5YzFlNTJhZGRmMjhiYmFkODAxYzk0Zjc0NzE3MDY3ZjIyYmY1NGQgcDN5aworNDMxOTYgMjUxZWNlYzA0ZjFiZmZkNjM1YjU3MGYxZDZlOGQ4M2ZmZDY4YjgzOCBsZWdhY3ktdHJ1bmsKKzQzMTk3IGUzNDUwNmU0NGU2NzY4MmI3ZDMzMjMzNTBkZTU0ZmM4YTc0ZjYzYzAgcDN5aworNDMxOTggNTJkZDQ1ZGIxZTg1MDQ3YWJiY2MwZTU2Zjc4OGUyYWJlODEyMTMxMyBwM3lrCis0MzE5OSBiYWY2NWRjNjM5YzE0ZmUwZTM5NTJmN2I1MDRjZTdhZjAwOTM2YjVlIHAzeWsKKzQzMjAwIDA4Y2Y4YjllYzIwODcyMzdiNGIyMzE4Nzg2NGEwOTE3YmY5MDI5ODAgbGVnYWN5LXRydW5rCis0MzIwMyAyZjRhNGY5NmFjZDFlNmY0ODI5YzE4ODMyODQ2Nzk4NGQ2YzhjZGU1IHAzeWsKKzQzMjA0IGFhMDM5ZGU4OTFjOTg3ZmU2ZmUwNDVlNTk4OTM1ZmE0OTMxYjk1YTcgbGVnYWN5LXRydW5rCis0MzIwNSAwYmI3NzAwNTkzZjc1YTIxZTdhN2M1NmE1NzgxYjk2YmZmNzAwMjAxIHAzeWsKKzQzMjA2IDZlOTI5MjM4ZTNhYzQ3YjE4MjlmMzE1OTBlZmVlYjEwMjdlNTJiNzUgbGVnYWN5LXRydW5rCis0MzIwNyBjOWVlMzJiNzkzZTc4ODQ2ZWQyYzY0NjhkMmIyNzM5ZDJkY2ZkNTk3IGxlZ2FjeS10cnVuaworNDMyMDggZTcyZDFjN2M4NTU0ODkwOWMyZmNmZTlmZGQxZmM4MmI1OTliNmM3YyBwM3lrCis0MzIwOSAzZjgyNDE0MWVlYjk5ZWJkODM0YWRkMzExNzJlYTFhNGU3YzljZWU1IGxlZ2FjeS10cnVuaworNDMyMTAgN2RhZGQzZmM1ZWZhYzZiYjBjOWRhOTkxMDNmMTk4NDhjNTc3YjZmZiBsZWdhY3ktdHJ1bmsKKzQzMjExIDcxYzU2OTRlMzQyM2IyNDVmMjRjODI1NTgwZTc4NWJjMjJjZWZmYjYgbGVnYWN5LXRydW5rCis0MzIxMyA2MTc3NDMxMTQ2MDBiYjRmM2JiYzliOTE2OTRmNWYyODdlMDkxZjRkIHJlbGVhc2UyNC1tYWludAorNDMyMTUgNzY3ZTZiZTU4OWEwNDBkYmU1NDZkNzZhZTYwOTQwZmQ1YjU0MWY3MCBsZWdhY3ktdHJ1bmsKKzQzMjE2IGRiYWYwYmNlOGQ0NjAyZDIwYTU1MWFkNDE2YTRmYjE1NDE1ZmE1OWUgcDN5aworNDMyMTcgN2VhYzIzYzhlNGU5ODkzZTA3NGZlNTk2MjZhMTQwMGFjNzliYjMzOCBsZWdhY3ktdHJ1bmsKKzQzMjE4IDRlZjk5Njk1ZjdiYmJlZWQ5OTViM2Q4MzFjMWUxYWQ5NTEzYzRhYzEgcDN5aworNDMyMTkgNzA0OWRjMGM2MjFhM2QyYjAyYjMyMWM4NTU2Nzc0YWQ4NDY1YjIzNCBsZWdhY3ktdHJ1bmsKKzQzMjIwIDUyMTdjNzAzYTk0ZjhhYmVhNTE4ZGNhMzU2MWFjMDg3MGE1ZmJiODMgcDN5aworNDMyMjEgOTFkZDRkNDRkM2JjNzBkYTZmNTc0ZjhhZDRjMjkxZmZlY2JjZGNkZiBwM3lrCis0MzIyMiBkNzUxM2YzOGIyMmY5OWViZDQ4NDU5Zjk0MjU1ZWQzNGIyMDc4OTNlIHAzeWsKKzQzMjI0IDY5MWRkMDU5MTY5MTcxN2M3ZjZjNWYyNzljODM4YzNmYTBiMDNiZGMgbGVnYWN5LXRydW5rCis0MzIyNSAwMDU3ODYyYTNiZGJkYWY2MWVhODhkYTIxOGIzOTYxZjI0YmY5YWE3IGxlZ2FjeS10cnVuaworNDMyMjYgMmQ5MmFiN2Y1ZTg5ZTBkOGJiZjRhMjk5NmY5OWZkNzgzMWExNDBmNSBsZWdhY3ktdHJ1bmsKKzQzMjI3IDRkODA2MDcwMzNmYjMxNWRlNTZmMDIyNzJiNDFjZDBhNDJhNmQ4ZDIgcmVsZWFzZTI0LW1haW50Cis0MzIyOCAxMGNjZTNmNjUxNzAyOWFhYTk3MWNmNGI1MjVjMDcwYTBhOGFlYWZkIGxlZ2FjeS10cnVuaworNDMyMjkgMzU0NTgxMTIzOWI0MGJhMzlkZTQ3YjMxMTVmNmMxMzA5Nzc5NTdiMSByZWxlYXNlMjQtbWFpbnQKKzQzMjMwIDE2Yjg4NTliMDc2MDVhYjZkMWY5YmQxZDUwMDg2YzVmZWU3MWQxOTUgcmVsZWFzZTI0LW1haW50Cis0MzIzMSA5YWQwZTUxNzUyN2ZmNDFiNzczNzE3YWE0MDMzMzkxNjE1YzkwYzE5IHJlbGVhc2UyNC1tYWludAorNDMyMzIgODE0OWQwYTQyNGE1NWUwMDU1MGUxOTI2M2ZjYzAyOTQ2OTYxMjkzNSByZWxlYXNlMjQtbWFpbnQKKzQzMjMzIDFhZjI0NWZhYzkwYTZiNmZhZWY4OGFmZjAwNGQ5NTM0MzBkMjRhZTMgcmVsZWFzZTI0LW1haW50Cis0MzIzNCBjMWU3MDJkMjhjZjI4N2ZjNjRhZjZhM2ZmNDFjZTg3OTE5YmI0MmUwIHJlbGVhc2UyNC1tYWludAorNDMyMzUgYTk1MDQ1MGVmNGViOTI4NzI2NGFmZjE4YzljN2E5MDNkMDQ2ZDliYiByZWxlYXNlMjQtbWFpbnQKKzQzMjM2IGQxMTcwZTlhYTc4OWIzYTRhZDAxNTNkZGEyZDA3M2MyY2U0ZGIzNWUgcmVsZWFzZTI0LW1haW50Cis0MzIzNyA3YzViZTdjMGZkZmRiYmMwYWMxZDkxYzA3MDM4YmM4MTQxMmRhNDEyIHJlbGVhc2UyNC1tYWludAorNDMyMzggM2UwOWM4NTY2ZGYxYWZkNzBhNTU0ZGIwNjA1MmJmMzU3MTQ3NGQ4MyByZWxlYXNlMjQtbWFpbnQKKzQzMjQyIGIyZTZkNmFhODZkMWMxYjMyMmFjMzUwNGY5MjBjY2NiMzQ1OWRiZTUgbGVnYWN5LXRydW5rCis0MzI0MyBiNGQ5MmVmMmYzMzgwZGVkYjI5ZTMwZmZmNDI4MDMyMDFhZmJkNmQ0IGxlZ2FjeS10cnVuaworNDMyNDQgMGM2MDI5MzhlZDhlODc5NzgzYTFkNjQyNWI5NGMzZWQ2NGVkMDlhNyBsZWdhY3ktdHJ1bmsKKzQzMjQ1IDJiN2VjZTc4ZTI5MzE0Nzc3NzY0Mzg2NWY3M2MxN2E3ZTZhYzBiZjMgbGVnYWN5LXRydW5rCis0MzI0NiA0NWRkOTM4YjdmZWIyMGZkOTA4Y2NkZjAwMmI2MTZkOTBkZTgwZGM2IGxlZ2FjeS10cnVuaworNDMyNDcgMDI3YzZmY2VlZTBkYWY5ODBlM2U0ZTgzNjI1NDI3MzljZjRhNWUyNiBsZWdhY3ktdHJ1bmsKKzQzMjQ4IDQxZDcwNTc4NTc4YTM4MTE2MGY0OGY5YjJmMjIzZjA4Y2UwNDgwMTQgbGVnYWN5LXRydW5rCis0MzI0OSA0Zjk3YjZhMjI5Y2UwMzE1ZjQzOTIzYWE1MmVhZGE3MGJlYzE0NzRkIGxlZ2FjeS10cnVuaworNDMyNTUgMDY2YzljZTQ4YzMwMDJiZWVkNGUzYjZmZmU2ZTU5MDM3YWVjNjM2OSBsZWdhY3ktdHJ1bmsKKzQzMjU2IDI5ZGY0ZmUxMjhhMGFiZWFiZjAxNzA2Zjk0ZGUwZTQyZDUwN2IxYzcgbGVnYWN5LXRydW5rCis0MzI2MCA3MmE3MjBkZDY0ZmI0YjcwOWZmNjQxNWVjMjMwNDRmNDE3MDliNzJhIHJlbGVhc2UyNC1tYWludAorNDMyNjEgMWVkN2I4ZGM3NzdhY2ZkNWY2ZWY1M2JmYWRmNDk5M2ZiYjQ5YmQxZiBsZWdhY3ktdHJ1bmsKKzQzMjYyIDk3MzU3ZmUzNDIyMjdiZDliZWEwZTA3OGE5ZmZkY2ViZTc5ZGYyMzEgcmVsZWFzZTI0LW1haW50Cis0MzI2MyA3ZTNiZjg0OTJjMDNhNjk2NWZlZjU1MmU2ZmU1MjdhY2RkMDUwNzU3IGxlZ2FjeS10cnVuaworNDMyNjkgYTE4YWEzZmJkZDRhYjBkODFlNzI1MjY5MTNmZjgyNzIyZDkwOGNjZiBsZWdhY3ktdHJ1bmsKKzQzMjcwIGZiNDgxZTBmNTc4NmU1MWVlM2UxZTI2NTVhMTYzMzU0OThhOWM5OTAgcmVsZWFzZTI0LW1haW50Cis0MzI3MSBhOGRlMGI5NjAwMjc1YmM0NjgzMDQ5MTEzNGE1NTc5YTU5NGExYzU2IHAzeWsKKzQzMjcyIDIzMWQ2MDRkZWQ4NDZlMGE0MWI0YzNjMTFiZGZlMzE2OTFjNjRjOTYgcDN5aworNDMyNzMgNTIwZTU1YmQ3NmQ2YzIzYzliZTYxOTMzOGMwY2M4OTQ4MmJiZTkyOSBwM3lrCis0MzI3NCA2NGFlMzJiMDc4Mjk5YTI0MGI2MWYzMjY0YjcwNjZmMmU1NThmMGJjIGxlZ2FjeS10cnVuaworNDMyNzUgY2FhOWFmZjA4NWE2NjYzZDIzZDkwNGE5OTMyMDBjZjFmNGVkODhjMSBwM3lrCis0MzI3NiBmOWYwNDExNWZiYjVmNTAwM2RiMWMwNDkyNzBhZDNlNmNjNGFmMDcxIHAzeWsKKzQzMjc3IGIyYTA1ZWE3ZWFjMWFkMmRjNTY0ODRkZTc4N2RmMmU5OWNmMDRmMWQgbGVnYWN5LXRydW5rCis0MzI3OCA4NjhhYjJhNjVjNzMwZWViNDk2MGZjMzQzNjIyYzRkMDJiOTFlMmNkIHAzeWsKKzQzMjc5IDY2OGE1YmE3N2RjNmYzZGNlNzU4YzI3N2M4NDY4NWExOGVhMjg1Y2UgcDN5aworNDMyODAgMzVjYzVlMTgwYWEzZTY2NGU3YzdjYjM0ZjljZTk2YmE0NjFhOGYyZCBwM3lrCis0MzI4MSA2M2M2MWRiNTUzYTg2OTZkYzNkMzE4Yjg0YjYxNTMxZGY3OTJmZThhIHAzeWsKKzQzMjgyIDc2MGZmYjBmYmEzNzM3ZDRlZWIwZTRmMWQzMmYyMzYxOGI5ZGExZDIgbGVnYWN5LXRydW5rCis0MzI4MyBiODU2N2I4NGM1MzEzN2Y0NzZhYTQxMDFhZTYyODU1OGY3MmNkYTgxIHAzeWsKKzQzMjg0IDBhZDM4N2ZiNjMxNDMyM2NiNWRmNTkzZWYzNWE0NmZiYzU5NTY3N2UgcDN5aworNDMyODUgNGJmZThhZmU4ZjY1ZWQxMzNlMTIxMzMzMzk1MTEzYmQ4MDVlOWM5MyBwM3lrCis0MzI4NiA1OTNlOGZiOWEzY2FmZTVjNDc3Y2Q1NjM3YTFkYzI3YTc1NzI0NTczIGxlZ2FjeS10cnVuaworNDMyODcgN2YzMjJlZjY4NDM4N2RhMWE3OWY0ZGI4OTUwZTkwYjNlYTVmZmY4MSBsZWdhY3ktdHJ1bmsKKzQzMjg4IGUzOGZmMjExOTFkZTUxZTk1MjZlZmE4NWE5NDIzODYxNWZmYjYzN2MgcDN5aworNDMyODkgMjQzNjMzMDFhMjk5YzUxMDdlZmU1ZWFiMDM2OTQzYzNhN2M1ZDVkNyBsZWdhY3ktdHJ1bmsKKzQzMjkyIGMxYTZiYTdlY2IyMzRhOTVlMDhjYTQ3ZjQyMDIwMzRiYWFjNDZlZmIgbGVnYWN5LXRydW5rCis0MzI5NCA2NDMxN2M3MWVkNmQzOTM2MWUwNzM2NTEzM2VjZWMzNjRlZWMzNGE3IGxlZ2FjeS10cnVuaworNDMyOTggYmVkM2Y1MmYwZGM2M2Y3ZjJhMGNhMGEyNDc5NThjNDFiOWE0YTkzYiBsZWdhY3ktdHJ1bmsKKzQzMjk5IDFiNzJkMGU0ZjRhYTBhZGE5ZjM5ZmQ4ZDY5YmNkNWQ2OTQ2MDI5NDUgbGVnYWN5LXRydW5rCis0MzMwMCA4YWIwMWE5YzE0MGI3MDJhMjk3ZmEyZjRlZDk0NTY5ODMyMjA5ZmE4IGxlZ2FjeS10cnVuaworNDMzMDEgMzk1YWQwZDU0MjNkNjBhNDFjZDYyYzBjZGI4YTRiMDY2NzJlY2M2YiBsZWdhY3ktdHJ1bmsKKzQzMzAyIGY1Y2QzMDkxZDk5ZjlhY2YxMWU3Y2JhZGUzOTYzZDIzZTlhYTlkNzkgbGVnYWN5LXRydW5rCis0MzMwNCBiMzljM2Q3YTVhZDQ1MGNkYjE2YWJlYjEzOTkzNjYxZWI0ZjMxZGI3IGxlZ2FjeS10cnVuaworNDMzMDUgNjQyNWE0M2JmM2M2ZTllZjU4ZmIzNjZhYWVmNzEzYTc1Mzk3YTc2OSBsZWdhY3ktdHJ1bmsKKzQzMzA2IDQ5NjIyZDY1YzI5ZDJhZjE3ODBmNjViOTY0YzA0MGNhMjM0ZTg0YWMgbGVnYWN5LXRydW5rCis0MzMwOCA1MWRmOTk0ODg1ZTk3OGYzNjRhNDZlNWY2OTVhMDA3MmY0M2NlMTYzIGxlZ2FjeS10cnVuaworNDMzMDkgOTZlNGQ1MzEyOGM5ZTczZTg1ODMxYTFmMDNkOTY1MmNjOWQ5YTkyOCBsZWdhY3ktdHJ1bmsKKzQzMzEwIGE4MmVlMzI5OGUxYWQyYjY0MjhlMGY3NzQ2MjI4ZjJkN2I3OTFlMjkgbGVnYWN5LXRydW5rCis0MzMxMSBjODQ0MzA1YWE4ZWQxZjIyZTA4MGM1ZTllYjE5MWYyOTJlNjcwYzFiIGxlZ2FjeS10cnVuaworNDMzMTIgNjljMzU4YmY2YTM0NTZkNTM4Y2RhMzEwMzIwYWIyNDE2YjY1N2YxZiBsZWdhY3ktdHJ1bmsKKzQzMzEzIDJjMWZlNzYxZjAxOTQxOTk4MGIyZTUwNGViNGZhOTA2YTEzYzVmMDEgcmVsZWFzZTI0LW1haW50Cis0MzMxNCAwNmQ3NjEzYTM1MjMxOWMyOTU2ZjQ4NTcyMDM2MGYxMDRhOGE4YjAzIGxlZ2FjeS10cnVuaworNDMzMTUgNTE1MTE4YzBlMzM4YjgzY2E1OTkyZWU4Njk2MGJlMTVjMGY5YzgxNiBsZWdhY3ktdHJ1bmsKKzQzMzE2IGIzNDQ0MDQxOWI2NzllN2UxMTM3ZTBlYWExMDU5OGRiMDliNmJlMjkgbGVnYWN5LXRydW5rCis0MzMxNyAzMGZhYmI4N2ZiY2MzMGZmZGYxN2RkNjQ4ODEzY2M2NzU5MzkzNWIxIHJlbGVhc2UyNC1tYWludAorNDMzMTggNTRhYTVhYThmMmNiMjZhN2RhOTNhYjJhNGNjNWQ3OTI0ZDE4NGQzNSBsZWdhY3ktdHJ1bmsKKzQzMzE5IDQ2MTc2ZmZjOGJmNWRkY2RmYzFjZmZkMWU1NGU5YmI1YTQ0NzQwYjEgcmVsZWFzZTI0LW1haW50Cis0MzMyMCBlMjM0ZmY4YmVhYTIwMjFiMmUxMmY0OWU3NzU0Mzk0MmY0ODVhMzg2IGxlZ2FjeS10cnVuaworNDMzMjEgZDdhNmVjOWRlODg3NTU4MTNkOWUyNWZjNTQyMjhiYjAyMzZjODgyZCBsZWdhY3ktdHJ1bmsKKzQzMzIyIDViYmY3MjI3YWQ2ZTliOTNjMzEyNTk3M2ViZWY3OGZhNTc3Nzk0MzUgbGVnYWN5LXRydW5rCis0MzMyMyBmMTk4OTBhODZjNDMzMmM1ZWQzNmQ0NTI3ZTA4OWRhNzA3ZmI3NWJiIHJlbGVhc2UyNC1tYWludAorNDMzMjQgNDE2MzQ4NzQ4NDYwNDQ4OWFhMGY0MWZkMmExNjM2N2U4OGFkMmJmMiBsZWdhY3ktdHJ1bmsKKzQzMzI1IGMwODE4ZjIxZjY1YTJkYWJhZmNkOTUwZGJhOWEwZWVhZWM5NmM3MTQgbGVnYWN5LXRydW5rCis0MzMyNiA5MjM4ZjA0ZWVhYTZjZTg1NDQ5NTliYWI3MGJlMmM1Yzc1ZDY4MmNkIGxlZ2FjeS10cnVuaworNDMzMjcgOGFkZGMzMTNhYjBmYzcyMDMyYTc0MTdmOTY5ZWM5OGJkYTVhNzFjOSBsZWdhY3ktdHJ1bmsKKzQzMzI4IDc5OWI0MGM0YTJjNjFiYTlhMTU5MDFlNzg5NGU0NmU4NTA1MDJmNzcgbGVnYWN5LXRydW5rCis0MzMyOSA4ZDU3ZDI1ZTY1NDg3OWM4NjlkZDlmZWNlOTA5ZDI3NGFhMDU3MjcyIGxlZ2FjeS10cnVuaworNDMzMzAgOGY3YzAzYWNhZGRkYmM3NjI5MjE5YzdhNjkwN2U2MmE4YzYzMTVhMiBsZWdhY3ktdHJ1bmsKKzQzMzMxIDZlMWE4OTljYWM4ZWU2ZGQyM2ZhYjY2YTVlNWUzNTJlZDllZDIxMmYgbGVnYWN5LXRydW5rCis0MzMzMiBhNGQyZjdiODQ3YjFlODI4OTU4MmZjMjQ0ODRiNzNkZTU4OWZlZDVlIGxlZ2FjeS10cnVuaworNDMzMzMgOTRmNTRlYzYyZDE0MzhiMDQzMDc2Mzk3ZWI5YmRmMGU3YjM1MzU5MSBsZWdhY3ktdHJ1bmsKKzQzMzM3IGU1Y2ZkNGEzZTY1YzYxNzJhYmU5MTI2NjcyMjEwMWQ5NzcxZmIwZDcgbGVnYWN5LXRydW5rCis0MzMzOCAwMDk4ZTcyNjRlYWFjNTRhM2VmYWY4ZTJiZTM4MjEzNmJkZWMyMjhmIGxlZ2FjeS10cnVuaworNDMzMzkgMzRmMjBhYjQ0Y2VmZDQ5MDlhYTBmZTI1YjUzY2YyOGZjZWFiMzgyOSBsZWdhY3ktdHJ1bmsKKzQzMzQxIDlkOGIzM2FmZjYwYzEwMGU1NTI5ZmEwNWI1YjYyY2RmZjkyYjE1NDIgbGVnYWN5LXRydW5rCis0MzM0MiBiMDUyMjQ3YjE4MDlmZmVjNTczYjkyOTY4MDdkMjA0NjhkZjY5NWE0IGxlZ2FjeS10cnVuaworNDMzNDMgZWUzNmMxNmQ4ZDJiYjE1ZTlkNDNjZDBhOGE5MTRlMmIyODFiYzM1MyBsZWdhY3ktdHJ1bmsKKzQzMzQ0IGMwNDFiMzYyYmIwNGQ4Y2YxNzUzYzQ3YmJiMjZhZGU0MTZkYTg2NTggbGVnYWN5LXRydW5rCis0MzM0NSBkYzE4MzVmYjllN2MzYjI4YTVhY2M2MTk3ZTZlNzY2MmE1NGIwOGQ0IGxlZ2FjeS10cnVuaworNDMzNDYgNDM0NTJmMWZlYTY5MzRiOTQzODI5OWVmNjQ3ZDI4ZGE4MDZlOWIzYyBsZWdhY3ktdHJ1bmsKKzQzMzQ3IDM3M2Y3ZmUwZTczM2Y0YmFiZDEwNDQ2ODMwYmI3MWJjYjcxMThhMjggcmVsZWFzZTI0LW1haW50Cis0MzM0OCAyMjM0NWQxZTY4NTI3MDNkN2Y0NWVlODI1YWI5OWNmOGQ4YzgwNTRiIGxlZ2FjeS10cnVuaworNDMzNDkgMjYxMTE2ZjY4ODljMmM0YzdhOTRkYWFlZWFjNjNhZjM4Zjk3MzA1NiBsZWdhY3ktdHJ1bmsKKzQzMzU0IDNiNjFlNGFhN2VkZTFhN2FjMGIyOWYwZmEzMjI1ZWQyOGVlNGVkYTkgbGVnYWN5LXRydW5rCis0MzM1NSA2ZWI5YjE2ZDZlMjE1ODYzZDIzYWE5YmIxZDkwNzY5YjEzMDU5ZTgxIGxlZ2FjeS10cnVuaworNDMzNTYgNDFhMmQ3OGQ0M2M2OTdjY2MwMjg1MzFmZWI3NDVmNjc4NDBiZmQ3OSBsZWdhY3ktdHJ1bmsKKzQzMzU3IDA0OTAwNGQ3OWZlZmIxODAyYjZlNWM4MjhjNTgxYmYxNGQwMGFjYzYgbGVnYWN5LXRydW5rCis0MzM1OCAwMGU5ZDU5YzIzYjRlMzlhMjU1MjI5NWMzMDVjYTI2ODBiZGFhMTY3IGxlZ2FjeS10cnVuaworNDMzNTkgMzUyMGY5NzE0ZThjMTA0MmQxOGE1YmM2MGMxOWY3OTdlMzBjMmRiNyBsZWdhY3ktdHJ1bmsKKzQzMzYwIGM4Zjg3ZjA4ZmUwYmRkZjA4ZDFkMjU0MTFhZGVkZjBlNTFhMTcxNWMgcmVsZWFzZTI0LW1haW50Cis0MzM2MSBjMTFmZTJlMjk4NGQ5YjM3NTg5ODhjNGEyN2MxOWRkZDBhNjVjYjRkIGxlZ2FjeS10cnVuaworNDMzNjIgNTJkZWJiYzNjYzA4YTJlYTM3MGViMmQ0OWVmOTc4NzA0YzAyODhhYSByZWxlYXNlMjQtbWFpbnQKKzQzMzYzIDkzMzQ0ZGE3NmFjZDBlNWY0MTBhMjNmZjdmYmYxOGM3NDM1N2IzYzUgbGVnYWN5LXRydW5rCis0MzM2NCBhNzgxOGMyODc0OWY0YWE3MjZlZjJhODJkNzViMTdhOTUxMjY3Y2VlIGxlZ2FjeS10cnVuaworNDMzNjUgZjRjYTAzYjg3MTYwYmU2ZGRkNGQ4MTI4ZGZlMTc2NDI2MTM3OWUyNCBsZWdhY3ktdHJ1bmsKKzQzMzY2IDk0ZjE2MTNiODdkNWIyYmFmMDlhOTkyMjdhZTJiODM5ZDZmYTZlYjkgbGVnYWN5LXRydW5rCis0MzM2NyAwMzRjMGNmNTAwN2IyODQyNGZlYjYxMjk1YmY5YzRkYTY3MzM0MTdmIGxlZ2FjeS10cnVuaworNDMzNjggN2I1MjQ4MGMxMmM2MmJlZmM2NWY2ZDllMzk2ZTI5Yzg1YjRhZDk5ZCBsZWdhY3ktdHJ1bmsKKzQzMzY5IGFmMjRlYjNiYmZjZWI3ZGVlNzFjYTA0NzhjMDAyNjVlZmY3MmM5MzYgbGVnYWN5LXRydW5rCis0MzM3MyBlMTJlNDkzYjUyNDQ0NTRhZjgyZTdhNjA5YzI0YzRhOWQxM2RjYzlmIGxlZ2FjeS10cnVuaworNDMzNzQgYmM1MTYxZjI5MmI3NzEzMDE5MzhhOTU2ZTVmOWY0NWM3ZWE2NTA4OSByZWxlYXNlMjQtbWFpbnQKKzQzMzc1IDVhM2YyMjgwODdhZmRlM2FiMzY5ZjA1MzEyNGM3MzJlN2E3ZmNkYWUgbGVnYWN5LXRydW5rCis0MzM3NiBiNzU0NDBjYmZkMzRmMTVlOWY1YzU4ZTE0Y2VjMmJkNzEyOGY1ZTJkIHJlbGVhc2UyNC1tYWludAorNDMzNzcgNjE0NjFlZWJkNThmN2UzYmM0MGNiODFhN2UwYjZmMDczZjE4NGM1NyByZWxlYXNlMjQtbWFpbnQKKzQzMzc4IGEyODQ3YmIzMjhjMGU2ZTJlNTNhYmE5MWQyNDA1YWEyMzlkOTRiYjIgcmVsZWFzZTI0LW1haW50Cis0MzM3OSA1ZDYyNWY1ODlmMmE3Y2M3Zjg5NDFlZWFkZTljYTc1YjI2YTZmOTBiIGxlZ2FjeS10cnVuaworNDMzODAgZDhkZTc1MDAyOTFkZDQ1NzYxYzFmYTMxNmY0ODEzZjMzOGM2NzUyNCByZWxlYXNlMjQtbWFpbnQKKzQzMzgyIGE3ODM0ODQ0ZGNmNjEwMTY4Y2FkZWUzM2RhMzJlZmUzNDRiMjkxZmEgbGVnYWN5LXRydW5rCis0MzM4MyBiYWRhYTdlOTFkOWE3ZTcwZGFlNjMzMTQzMWE4Zjg3NDM4YTRmMWExIGxlZ2FjeS10cnVuaworNDMzODQgYTAzYzk1NWZmZWQxMGZmZWIzNjE0ZDhjOWU0YjVmMmI2ZTg1NWYzMyByZWxlYXNlMjQtbWFpbnQKKzQzMzg1IDgwYzRmYzAzZmY5YjdkNjhiZmVmNjNkMWI4MzQyNTQ5YTQxZTlmODYgbGVnYWN5LXRydW5rCis0MzM4NiBkY2Q0NTliMDM2NzA2Yzc0NzI0YmYyZDQzYjlhNzQyYTM0ZGU3NGNiIGxlZ2FjeS10cnVuaworNDMzODcgYjk0MjYwOTNkN2VhNjdhZDE5OWNlOWMxOTQzMzFmZjFmNmEyZTY3YiByZWxlYXNlMjQtbWFpbnQKKzQzMzg5IDYzYzQ0MjI2NjcwNTZiNmMxYzExYWU2ZDZlOTdhNDk3NzFmNDBhMDUgcmVsZWFzZTI0LW1haW50Cis0MzM5MCA4Y2NhMjQ5MjYyNmNlNDA4Y2Q1NjcxMTA4MTFjMDY5MmZkMWQzN2RkIHJlbGVhc2UyNC1tYWludAorNDMzOTEgNzYyZTViOGQxODlkYWVhMDdkZjE0ZTk3NzBhYjVlODlkYWRlYjllMCBsZWdhY3ktdHJ1bmsKKzQzMzkzIGVmZDE0MWNiZjZjYjM3Njk0MDEwODYwNDIwYTRiNDI0MTRjMjQ1YTMgbGVnYWN5LXRydW5rCis0MzM5NCBiYjFiNDg1MTYxMzE3ZmVjMGEyYjI3MDkwZDBmZDEwNzUyMGEzNDA0IGxlZ2FjeS10cnVuaworNDMzOTUgNGUxYWZmMGUyMGQxOGZiNzQ4MjgwY2EzZGE3ZmZhNzdkMTJkNDgyZSBsZWdhY3ktdHJ1bmsKKzQzMzk2IGNjYmRjZmM0MGM4MWM0NjhiODJkNzUwNDY3M2EyMjBmYTZhMDExNGYgbGVnYWN5LXRydW5rCis0MzM5NyBlZTRhNjBjNzEzNTcxMjdmN2U1ODE0NjI3YWJiZTlmN2QxOTBlODMxIGxlZ2FjeS10cnVuaworNDMzOTkgOWM2OTM3ODUxNmFiMGZiYjU4ODJiNzhlOTkzMWUxOTA3YzljNzViMyBsZWdhY3ktdHJ1bmsKKzQzNDAwIDUyMDMzNzZmMTU4OTJjYmRlOTRmYTAxZTg5Zjc3Zjg2YTI1Y2QzNjIgbGVnYWN5LXRydW5rCis0MzQwNCBlZjgwNTlmODdmZDJmOTJlYmQ0MTEzNzgxMTY3NzY1ODg4MzJlMmM3IGxlZ2FjeS10cnVuaworNDM0MDUgYTE1N2Y1YTY5ZDM1YzYwOTA4ZWEwNjNmOWE3YjA5ZGVhNjkyNzQxNyBsZWdhY3ktdHJ1bmsKKzQzNDA3IGFiM2VmYmNhNWM5MjA5ODQxODY4NzQwZTk3NjcxODliOTQ4OGIxMDYgbGVnYWN5LXRydW5rCis0MzQwOCBlNDk0NTVlOTRiZWUyODhmMDk0Zjc5MzQ5MjgyNGUzNWRhMGQ3ZmJkIGxlZ2FjeS10cnVuaworNDM0MDkgMWY2MWFhNDZmZWU1YjNkMzAyMjgwMTQ1NGU5OWIxMTQ3N2EwOTZhMCBsZWdhY3ktdHJ1bmsKKzQzNDEwIDQzN2QyNzZjNzMyYzdiZGE3OTM1ZGE4MDYyOGNlZDNmN2Y1NjU2ZjMgbGVnYWN5LXRydW5rCis0MzQxMSA4OTE0MmNhZGNmYjllNzQ3NjkxMzhjZTU3OWVjN2U0Nzk0NTllZjgxIGxlZ2FjeS10cnVuaworNDM0MTQgOTNiYTE1NjE5ZjVhYWM5Mjc4ZWY0ZjQ4MjkyMDBjZWYzMWFhNjFiZiByZWxlYXNlMjQtbWFpbnQKKzQzNDIwIDYwYmUzZjM5YTcyYmRmODU4YTE4MDg0YzE5NzVkZTQ3NjMzYjU1ZDIgcmVsZWFzZTI0LW1haW50Cis0MzQyMSAxY2EwMTJjZTQyN2UzMzY0YWM1MGViNjFmNTc0N2UyZmVkNWNhZGFiIGxlZ2FjeS10cnVuaworNDM0MzUgYjg1YWQyMTY2YzAxYmU3YWQwZWUyMGU0YzM0NDJhNjNlNTFkMGE5NyBsZWdhY3ktdHJ1bmsKKzQzNDM2IGI4ZDFhNDVhMzA1NzMyOTYzOGVmYjQyYmI4MzJiMTFiNjE0OTZjNTEgbGVnYWN5LXRydW5rCis0MzQzNyA4MWQ2MTE5ZGJjNjZiNTdkYWE5MzNjMDQwYTAyOThkZmQwMTMzODYwIHJlbGVhc2UyNC1tYWludAorNDM0MzggZWZiMDlkYmFhNDBlNjdkYjk5NjJkNGFkZDVjMGQ3OTA2MTVkMDUzOSBsZWdhY3ktdHJ1bmsKKzQzNDM5IGFjY2UwNDBlMGExYWFiYjBjYmY0MDAyMGM3ZWFhYTUyN2Q3MGRlOWEgbGVnYWN5LXRydW5rCis0MzQ0MSA0NGU2ZmM4ZDAyZTFjMWZjOGY3OTIwZjBjODExNzA5YzRjODgyZTIwIGxlZ2FjeS10cnVuaworNDM0NDMgMjQzNDdlNDY1NmE0ZmQyNWQzYjFlZjIwNDgzYzgyZjdhM2E4Y2JiNiBzcWxpdGUtaW50ZWdyYXRpb24KKzQzNDQ0IGU5ZTgwOThmNjU3MjQ4ZTYxYjNhODI0YTE4MDFjZjkwNjY4MjUxMDggbGVnYWN5LXRydW5rCis0MzQ0NSBmMjg0ZTg1NGZlNzJlYzQ3YzMwYTU2OGQ0MGY4ZDVkZDljNDU4MWUzIGxlZ2FjeS10cnVuaworNDM0NDYgZTE1NmM1ODE0ZmNjYmM1MDY1YWU0M2UxM2M4Y2Q0ZjJiMGViNjAyMCBzcWxpdGUtaW50ZWdyYXRpb24KKzQzNDQ3IDA4YmYxMTIyYzE0NDBmMjc1YjNhY2QwZjliZWY0NDMxNTVjZGJhYTcgc3FsaXRlLWludGVncmF0aW9uCis0MzQ0OCBmYjdiNTJjNDExNmMzNjNmZjkxMjIyN2EzM2Y2NmVkMTBhMjliODM5IGxlZ2FjeS10cnVuaworNDM0NDkgMTMzZDRiYjYxYmFiMmYzYTExMzkwZjA0NDRkZDNjMzAzZmYzNWUwMSBzcWxpdGUtaW50ZWdyYXRpb24KKzQzNDUwIDk1NWE4NmY4YTE0MGMwMjY4MGQxOTBkZjRhMmQ1YTFlOWY1NGMzY2Igc3FsaXRlLWludGVncmF0aW9uCis0MzQ1MSA3OGNhYzIwZjk2NDJkNzJkNjEwYzJjNGFkZDZmYjAzMTY2YmFkZDliIHNxbGl0ZS1pbnRlZ3JhdGlvbgorNDM0NTIgNjkxODc3OTlhOWY2YmU3ZGY4MGY2MmM1YjVlOWNjOTIxN2ZiYjY4MyBsZWdhY3ktdHJ1bmsKKzQzNDUzIDc5YTBmMDgwZjg5OGMyNTRiY2E5OTliOWQzYzMzNzNkMWM4OWY0YmEgbGVnYWN5LXRydW5rCis0MzQ1NCA1ZTFiNmY1NTM3NjMxM2M1YWM1YmE4YTI1ZTQxMmJjNjA4NzdjNjZiIGxlZ2FjeS10cnVuaworNDM0NTUgODQ5NjdhMTk2MmNiYjJhNWM3NDI3YTNlYTQ0YTdmNTMyNTNjZDI1NyBzcWxpdGUtaW50ZWdyYXRpb24KKzQzNDU2IGNlNTZjNWUzY2IyMDUwZWFlZDBhYWY0NTFlODJiMWNmODhlYzg2NTUgbGVnYWN5LXRydW5rCis0MzQ1NyBlNThhNzFhODU1MGU3YzkzN2I2MjBhZGMzODhjZGE1YzcxYzJmZTRlIGxlZ2FjeS10cnVuaworNDM0NTggYWFhMDRiZmFmYzU4NTVhMWZkNWY0NDczMzQ1YWRkY2E2MTYyYzA0MiBsZWdhY3ktdHJ1bmsKKzQzNDU5IDIzNWY2MzVhYzQ1YTA0ODcwYmRhODg4MDkyZGQ0NjgxMTdkMmRiN2EgcDN5aworNDM0NjAgMzYxOTBkN2ZkOGFiMmVhYWM5OGE2NDVjMzEwMTJmM2Y2NDA3ZmE1MCBsZWdhY3ktdHJ1bmsKKzQzNDYxIDA4OTlhODA0YTU5NGNjZjkyOGJiZTY5MmU1OTgzMWU3ZmU5Y2VlNWQgbGVnYWN5LXRydW5rCis0MzQ2MiA2MTQ1MmJkMTI1ZTVlMTA2YWQ5NDZhMTgyNTkyZTMzZjQwZGZmODM5IGxlZ2FjeS10cnVuaworNDM0NjMgMjI4ZTI1YzkzYTk3OTNiNjg5NWNjNDM2YzM0ZWQyMTk2MmM3YTZkMCBsZWdhY3ktdHJ1bmsKKzQzNDY0IGM3MmJjODQ3MGY2YzllYjgyNGY3YzkwNTk4NjRhMTI5Yzc2MDI2NTUgbGVnYWN5LXRydW5rCis0MzQ2NSAxOTA1OWRmNDVjZmU5MDJmMGUwOTA5ODYxZDFkMzk2MTk1MGNlNTRiIGxlZ2FjeS10cnVuaworNDM0NjYgMDQ5NjA2OTMzMzI4ZTg5MDgyMWUxMzMyOTBiYzk5NzRkNTM1NzA0NiBsZWdhY3ktdHJ1bmsKKzQzNDY3IGY1ZTc5MmE5M2M0MzFhNGRiMGZmZjU1NTY4YjhiODAyZWUxMDk5MmUgbGVnYWN5LXRydW5rCis0MzQ2OCA5OGY1YzkxOGEyNGFjYjkzMWUxZjc3YmViZjMwODQzOTA2ZjQ0NTY5IGxlZ2FjeS10cnVuaworNDM0NjkgMjAyZmU0YWFmY2JiMmMwODIzMGNhOTk2YmJjMzFhNGVlN2VlMGMxMiBsZWdhY3ktdHJ1bmsKKzQzNDcwIGQxOTkzZWU4YWM0MTFkMWZjMTIxNzZkYjQyOGNkMDJhMGZhZThkNWEgbGVnYWN5LXRydW5rCis0MzQ3MSBjYjI2NDVhNTU0ZDg4MmFmN2EyYjdhZmQyY2JlMTI3M2U1ODg4YzFlIHNxbGl0ZS1pbnRlZ3JhdGlvbgorNDM0NzIgMGQzZTVhYzA3MmIyYTE3YjQ5ZTM3MzAyNTA1OTBhY2E4Mzc2M2RhOSBsZWdhY3ktdHJ1bmsKKzQzNDczIDMyZTc2NzY5OTAwMTRiZDFhOTU0MTM5NzU1N2MxY2E0YWZiNjIwYzYgbGVnYWN5LXRydW5rCis0MzQ3NCAxNjRmOTVlOGUwY2NiNTA2OGRlY2QyMGQ1YWNlYTAwYWFmZjdlZGMzIGxlZ2FjeS10cnVuaworNDM0NzYgYzQ5ODhhYzU4OTk5NzkwZTUxZmY0M2FlYTY0Njg2N2IxMDljMjc4OCBsZWdhY3ktdHJ1bmsKKzQzNDc3IGQ2NWE5YzljOGE3YTJlYTM3MTczNDZhNGM0ZjFhY2YwM2I2ZWNjZjEgbGVnYWN5LXRydW5rCis0MzQ3OCA1OTkxMmI0ODEyZTZhZDg1ZWU0YzY3NTFjYmVlNzMyZTBhNjY4NTg2IHJlbGVhc2UyNC1tYWludAorNDM0NzkgZmI3ZDg5NWE4ODk3ZjUzZTM2ZTg4NGIzYzRjOTQ4NzU2M2JkZDlmOSBsZWdhY3ktdHJ1bmsKKzQzNDgwIDg2NmRhN2YzMGU1Njg2MGE2MTE4NmM4MGE2ZTE1Y2ExYjk4ZTRlMTAgbGVnYWN5LXRydW5rCis0MzQ4MSA2NzE5MmRhM2U2OWM5ODViYjEyNzJkYTkzMmQ3ZGU2MDczMDMzZmFkIGxlZ2FjeS10cnVuaworNDM0ODIgYzc3MTE1ZGRkYmUxNmRmNTJmYmY2ODIyNDlkZmEyYTNiYzViNTU4OCBsZWdhY3ktdHJ1bmsKKzQzNDgzIGFhYzAwNWU4YmI4MDA3OTAzZWQyZTUwZTcxZjU5ZmI5ODlkNTYwMDYgbGVnYWN5LXRydW5rCis0MzQ4NCBiODBiNWY4NGFlNTRmMmQ0NTIzMTVjZjY4OGJlNDE3NzRjMDdjYjNlIGxlZ2FjeS10cnVuaworNDM0ODUgYTdlYzc4ZjhkMDg2NmU2ODgyZjg4ZDU4ZjAzYmY4MDBmMWE2Y2M5NCBsZWdhY3ktdHJ1bmsKKzQzNDg2IGE0OTUwZWE1NTZiNTM0MzliOTU4MTcyYWJmOWI5MTZiMDcwYzQ2ZTQgbGVnYWN5LXRydW5rCis0MzQ4NyA3NWY5ZWIwMTEyMjZlMWYzZWY3YWUxYzU2YWE2MGE2MTFmZjA5MGFlIGxlZ2FjeS10cnVuaworNDM0ODggNmM2YjIwMDQ0M2UzNmM3YjQ0ZTA5MTYxY2RjN2IyODU1ZTU2MTUxMCBsZWdhY3ktdHJ1bmsKKzQzNDg5IGM5YTYyNzM3NzViNTAzYzQxZjZkYmM2ZDVmN2M0YzQwMjc4MzhlYzYgbGVnYWN5LXRydW5rCis0MzQ5MCBkYTc3MDY1OWY3N2I4NDJmMTJhZTRmNmUwZjhlYjJjNDZlNjcwYjZkIGxlZ2FjeS10cnVuaworNDM0OTEgNmZlZjk1NzcxMmI5MDZjZjNjZDI0NjBmOTE0MDZiZmVhMDJkNmNjZCBsZWdhY3ktdHJ1bmsKKzQzNDkyIGE2MWQzYWZkZmM0YjQ5M2M5ODMwNGQ3N2Y0NmYxYjkyNWZhMmFjZWYgcmVsZWFzZTI0LW1haW50Cis0MzQ5MyBmMzMwMDQ4ZDhiZGY4MjAyNDE0YTMzNjRjYWQyNGYxOTUxMjBlNmVlIGxlZ2FjeS10cnVuaworNDM0OTQgZDYxMGZjZGI4OWY3ZWJiMWJmODA5ZjUyMjIwYTViY2I2YWY5OTk5YSByZWxlYXNlMjQtbWFpbnQKKzQzNDk1IGZlM2I5M2MyMjQ4MTRmMzYwZWI2MGIzNWIxMGQxYzk4YjZkMmM4ZjEgbGVnYWN5LXRydW5rCis0MzQ5NiBjNmNmMTFhY2I0MWZiMzBiZTg0NGYzN2U0YTUzYWY5Y2NhZDBhMjQ2IGxlZ2FjeS10cnVuaworNDM0OTcgZTYwYzhiOWIyYjRmM2VkZWQ1YzkwYzAzMWVhZjMwZTFlZTFiYjdlMCBsZWdhY3ktdHJ1bmsKKzQzNDk4IGNjMzVkM2E4NzlhZDQ5NGNlMzE1OGZjMmJiNjU0ZGFmMTIyYWJiNDUgbGVnYWN5LXRydW5rCis0MzQ5OSAzODUwYTQ0MzQ4M2ExZmEyY2ZjZGMwNWNjOGUzZjQ1MTY2OTgyYzJjIGxlZ2FjeS10cnVuaworNDM1MDAgMzcwNDA0NTliZjJlNDFhODQ1MDgxYWY3OWJmYTFiYzg2MzdlMzFkOCByZWxlYXNlMjQtbWFpbnQKKzQzNTAxIGEyNGNiZjk0YmI4ZTBjZDQ1ODM1Mjg2YzJlNDczOWVhYWY1Mzg1NzcgbGVnYWN5LXRydW5rCis0MzUwMiBiZjY2NGExNjBmYzBhZGM3NDNjZGViOGNkOGE5NGU5OTQ0ZmZiZDVlIHJlbGVhc2UyNC1tYWludAorNDM1MDMgMjkxNGU3YjRkMjVhNDAwNzBmYjVhODBlM2Y4YWY5Y2Y4NjM3ZTJhOSBsZWdhY3ktdHJ1bmsKKzQzNTA0IDQzNmIwM2ZmYThhMjQ4ZmQ2MjYxMWNjZGQ5NmVjMTQ0YzE5ZTQ0NTIgbGVnYWN5LXRydW5rCis0MzUwNSA0YThlZjcwZGUyMTJlNDJjMmNlYTE5ZmI2NjY4NmMyYzMwMmU3ZWJlIHJlbGVhc2UyNC1tYWludAorNDM1MDYgMDE2ZDNkMjNmZjUyZGM0ZGJmMGM0MTM0NDVhZjBiMTcyMmRjN2U5MCBsZWdhY3ktdHJ1bmsKKzQzNTA3IGE3ZjhiMGJlNTk3ZTU3Mzg0ZjFlZjFmMWE5MzIxNTIxY2M0ZmJiMmYgcmVsZWFzZTI0LW1haW50Cis0MzUwOCA0N2ZiYmE4NDlhNmM4MTk3MzA4OGE0Zjk0YmIxOWRhNTc1MWJlMjBhIGxlZ2FjeS10cnVuaworNDM1MDkgODY3MGEyNzAxYTBmOTZmMmI4NmQ1OTVhYTI2MTVhNGJiOTgwY2Y1MyByZWxlYXNlMjQtbWFpbnQKKzQzNTEwIGZhYjY3MmMzZGRlNjU4NzQzMjU5N2NjZTA5Zjg1ZmVkZjNhMGU0ODQgbGVnYWN5LXRydW5rCis0MzUxMSA0NjJjOWQyYTA3YmIzN2NhMjg2Y2IyYzQ2ZjQ1MjkxZjA0ZWVmMDU3IHJlbGVhc2UyNC1tYWludAorNDM1MTIgOTgyNTE3ODAyMzZkN2Y0NGFiNGIwMjlhMDBjMzI4Yjc3M2VkMTFkOSBsZWdhY3ktdHJ1bmsKKzQzNTEzIGYwNWJkOThkOTM1ZDU2ZjVlYzE4YjU1NWEwNTY4M2FjMTQ5YjVmYzIgcmVsZWFzZTI0LW1haW50Cis0MzUxNCBlNTQ2Mjc0ZDY1MDNlYTIyMTM0NTgwYjU3NjgwN2IxYjNmYjI0OTU0IGxlZ2FjeS10cnVuaworNDM1MTUgNTkxODVmZmE4NjFkYTBmMTYwZTNhOWMyNjBkZjI1ZjQ1YzE3NTJmNCBsZWdhY3ktdHJ1bmsKKzQzNTE2IGI0N2Q4MjE5ZWNkNjFmZGFmOTA2Nzg3NjBlODMzMjIwZmRkMzQ1MzUgbGVnYWN5LXRydW5rCis0MzUxNyAzNWNmOTEyOTc2OTNlZjA0ZmZmNmE0NGQ1MjA0OTY2OGZiMjdkMzIyIHJlbGVhc2UyNC1tYWludAorNDM1MTggYjgyM2Y1ZmU5ODBjYzM5ZjBiODQ1MTIxMTE0ZmNlZjgyNDkxMDBmYiBsZWdhY3ktdHJ1bmsKKzQzNTE5IGE1MzNkNWI1ZGI4NDAxNGU3Mzg1YTJiMzIxOTQ3MzJiNWNmODM3ODEgcmVsZWFzZTI0LW1haW50Cis0MzUyMCAwNTkxNGU4ZGVkNzNlZGI5OWVhYTM0ZmFjZDIzMzRmNTAzYjg5NzJlIGxlZ2FjeS10cnVuaworNDM1MjEgODU4YWU5NTRmMDU1ODc2NDczMzc5Zjk4NzZhODYyOGQ2ZmIyYmMxYSBsZWdhY3ktdHJ1bmsKKzQzNTIyIDg3MGQ1NmEzYTIwYmU0ODVhNmNmMmMwN2FkMWY3NGQwMDU3NzFhNjYgcmVsZWFzZTI0LW1haW50Cis0MzUyMyA0OTIwNDQwMzRhODdiYmI0ZWE0NWQ5NWM3YmFiYzI2ZjUzOGZmZWEwIGxlZ2FjeS10cnVuaworNDM1MjQgNDIzMTJlNWYxMWZkMTE1YjMwODIyNTFiZTFjNTIyMzU5ZGM3MTJmMiByZWxlYXNlMjQtbWFpbnQKKzQzNTI1IGY2NDgxMmIyYjVjMWNiNGQxOTY5MmNhODI2YTMyNTQ4MDc1MGJiZjcgbGVnYWN5LXRydW5rCis0MzUyNiBiMDY4YWVlMWRmYjViMzU2MjRlMDE4Y2UxMmVkODQ0YTNhZWNhZmYwIHJlbGVhc2UyNC1tYWludAorNDM1MjcgNmYwODYzYmVkY2VhMzJkMWNmMzNkZDRhODJjN2E4ZmNlNmMxZmEwYiBsZWdhY3ktdHJ1bmsKKzQzNTI4IGIwOTgxZjBjMThmZWI2ZWMzZTdmNjFlNjI3NDU0YzAxZWY2MTg4ZmIgcmVsZWFzZTI0LW1haW50Cis0MzUyOSA4ZDA1NzlkMmI2NjI3OTJhM2U5MDVkMDNhNjMxYjM3NTBlYWYxYjliIGxlZ2FjeS10cnVuaworNDM1MzAgODIzYzQ4ZDY4NzFlYzc5M2FmM2FiNTg0YjIwMmFiNWY5OTFkNGJiNiByZWxlYXNlMjQtbWFpbnQKKzQzNTMxIDJjY2U5YmNkYzlmNjQ1OTViYTUxY2E4ZWZhODcyZTNlNjkzMzExZDIgbGVnYWN5LXRydW5rCis0MzUzMiA1ZjM1N2U2MGNkZGVhNTljZjE1MWRiMDkyNzI3MWU2YzM1ZDg0NjFmIGxlZ2FjeS10cnVuaworNDM1MzMgOTFlOWZiNWNmZTE0MjU1YjM5NjM4ZGU3N2RmMWIwZjQyZTNhOGMzNyBsZWdhY3ktdHJ1bmsKKzQzNTM0IDgzOTg4MzU0YjY0ZDlhODhiZmFlYzMwNDYxYzU5ZDc0Y2RkOWQ2MWYgbGVnYWN5LXRydW5rCis0MzUzNSBiNzMxNzRhZjI2YTliNWQ3ZWE5M2YwZmJmODgyZjAyZmY4MTNkZTk3IHJlbGVhc2UyNC1tYWludAorNDM1MzYgZmFiNDY5MzYxYmJjMGU0Yjk5OGI1ZGUxMmIxZDBkNjUwZGExMGNkYyBsZWdhY3ktdHJ1bmsKKzQzNTM3IGFjZTY3ZTNiY2E2ODMyZTE0YmE0ZWFjNWE1ZGRiYjBiYWE3NzRlZmQgcmVsZWFzZTI0LW1haW50Cis0MzUzOCAzYTgxZGNlYWE5YThiZTQxM2E3ZWY3ZThjMzMxYjMyNzc1MmI1ZTU1IGxlZ2FjeS10cnVuaworNDM1MzkgNGFiOGVjOWU1OWRmYWYzNDkxYzM0MDUxNTRmZmU1YzFhYjg4MDRjNCBsZWdhY3ktdHJ1bmsKKzQzNTQwIDBlNGIzY2FkODlmZTZjMjI2ZjBhYjM1Njc2YzIxMThiOTQ4MTU1NTIgbGVnYWN5LXRydW5rCis0MzU0MiAzZDRhM2Y0ZmM5OGU4YjFmYWVhNDNlMWYwNjdjZTZmYzEwODE0Y2MyIGxlZ2FjeS10cnVuaworNDM1NDMgNWUxY2YyMWQ0YWIyMzE5MGVhNTNkYTU5ZmE2MTcyYTZiNDQwMTUyNiBsZWdhY3ktdHJ1bmsKKzQzNTQ0IDRiNjVhYjQxYzc3MTdmZDVlYWQzNDYwZDgxZjYyMmUzNTdiNGNiNDYgbGVnYWN5LXRydW5rCis0MzU0NSBmZTk3YzAwMTZkNGIxM2ZmYjc1N2Y4ZDkyY2U0MWI1NDE1ZDg3ZDZmIGxlZ2FjeS10cnVuaworNDM1NDYgYTZiY2U3YWViZTA1YmNmZDNhMTEzYTY1MDM3OWE2MmJkOWRiNGI4YSBsZWdhY3ktdHJ1bmsKKzQzNTQ3IDRhMjA2ZmNlNWZlN2E4NDI4ZDlhYjNkNDM3MGI1YzJlM2M4YTcwMDYgbGVnYWN5LXRydW5rCis0MzU0OCA1YTZjN2Q2ZGVmMGM5Y2U1NWMwZTY4NWRkZTc5MmZhNTEzODNkMDA5IGxlZ2FjeS10cnVuaworNDM1NDkgM2FhMGE0ODI3ODg4YjI0NDRlOTBmMTFiY2Y3YmE2OWQwZDUwMjBmZSBsZWdhY3ktdHJ1bmsKKzQzNTUwIDgwNjhjMjJjMzcyNGU2Y2ZlMzQwODQ5ZjRlNzI2OTZkN2Q1NDhiNmMgbGVnYWN5LXRydW5rCis0MzU1MSA1M2VmNmMzNzcyNzFkZjhkYzhkYjNhNTQ4ZTAzNGNiN2UxMDJmMTM5IHJlbGVhc2UyNC1tYWludAorNDM1NTIgZjRkODhjZmFlYzYwYWM1MjBlNzZkMjJhNTI0MDgyMTU5ZDY1ZTFjMiBsZWdhY3ktdHJ1bmsKKzQzNTUzIDQ4Mzc3MjJhNjBmMDNkOTY1NmZhOGUwNDc0ZTcwNjdlYWU2ZmY5OTIgbGVnYWN5LXRydW5rCis0MzU1NCBjZjEwZjI0NDM1NDJmNmQyYmU0ZTZkOTc0NWM0Y2U3ZTc4NWZjNjllIGxlZ2FjeS10cnVuaworNDM1NTUgMmNmM2I1YzQ1MWQ3NDViMzU1YzNiMmNhNmJhMTgyMWVkYWI3Mjg1NyBsZWdhY3ktdHJ1bmsKKzQzNTU2IDI2MGVlMzkxZjkwOGYyM2UyZWU2OTcwNjI3NGM5YzMxNWFjZWM4NDkgbGVnYWN5LXRydW5rCis0MzU1NyBhMDY2ODVmMDg4ODY3ZmE3YmFjN2I4N2JjYzgzMDM1NjQzYmVjZTU4IGxlZ2FjeS10cnVuaworNDM1NTggZTk1NTI4NGNkNjk0MDJkYWIyNTg3NzYzZWMxZjBmZTIxZjM3MWUwZiBsZWdhY3ktdHJ1bmsKKzQzNTU5IDg1YjI2ZjRmYTJhNTA0ZmRiNTM0YzlhNTEyNjg2OWViMDJiNzYzOWMgbGVnYWN5LXRydW5rCis0MzU2MCAyODM0Y2NmNTUyZjM3ZjY3Y2U3YWFkYmU4NjI5ZjdjZTQ0OGZhNDI3IGxlZ2FjeS10cnVuaworNDM1NjEgYTYwYTk0NDNlOGRhZDllMmZkMDg4NjRjZjhiYWVhZGJiMmEyNDk4OCBsZWdhY3ktdHJ1bmsKKzQzNTYyIDljMmE0NjJkNjZiYjczYWFjOGE4NDJkNjFhZTk1MzA4MmRkNGM4NjYgbGVnYWN5LXRydW5rCis0MzU2MyA0MDIwY2Y2YzM4M2UwNjA2ZTY4NWE0OTVjYmIwZjAyYjk1ODIxOTJlIGxlZ2FjeS10cnVuaworNDM1NjQgZWE5YTAzYjhiOWY2YjFlZTYwY2YzNWY1MjE0ZTA2M2E2YjA0MjJiMSBsZWdhY3ktdHJ1bmsKKzQzNTY1IGRmYzMzZWM3ZjczYTg1ZmVhYjA4MjkwOGNhMWE4MDc5YWZmODhjMjMgbGVnYWN5LXRydW5rCis0MzU2NiA3ODI2MDQ5YWNiNGIxZDNhYzExMmM4YjVmN2IwYzIyMzhmNWNhZWRkIGxlZ2FjeS10cnVuaworNDM1NjcgNTAxZmRhNTExYjBhYmQ0ZDdkYWQ3ZjZmMjM0ZjkyZjY0OTRhNGJiNyBsZWdhY3ktdHJ1bmsKKzQzNTY4IDA5YjhlNWExMjE0NmNjOThmOTk3MzM4ZmM4YjQ1YTMwMzA4OTE5M2QgbGVnYWN5LXRydW5rCis0MzU2OSA1NDZiNjMxOTI0MDA2MmU5ZTY0YTdiYWMyYzkxOGQ3MmQ2MmYwMjI5IGxlZ2FjeS10cnVuaworNDM1NzAgMTAwNDBkMTg3YzIxMDRmNThmYmJkNGI0NmZkMzUyMGE4YTFlZGEzMiByZWxlYXNlMjQtbWFpbnQKKzQzNTcyIGNlYTU0YzlkOTIxZDU3YTk4ZTQ5NGUzYjNmMWY0YmVkYjQ3Njc0YmYgbGVnYWN5LXRydW5rCis0MzU3NCBlODJhYTgwNDE4MjFhMzU5MzMwNTFhNzE1YzJkZjA4MWE1ZWZlMmMxIGxlZ2FjeS10cnVuaworNDM1NzUgYTM0ODE4NzExMzJjZTY1NWMxNDQ3NDIyNTVjN2ZkODRkMjdiZDdlMCBsZWdhY3ktdHJ1bmsKKzQzNTc4IDc5ODZhNWIxMzFlZDJjMDdkNDk4MjE3MWEyMDA3M2MxZmVmZmY5ZWIgbGVnYWN5LXRydW5rCis0MzU3OSBlOTU2ZTE2ZTc0NDRmYjI0YmM4ZmQxNDI2N2RkYTZhZWE1M2U1YjRkIGxlZ2FjeS10cnVuaworNDM1ODEgNTdiMWZmMTM4OTk1ZTg3MDE5YTU1ZDVkYzUzZDRlN2JmZjIwNjQ0NSBsZWdhY3ktdHJ1bmsKKzQzNTgyIDNlZWE2NWJiODk2ZWRjMDYzZjI3YWJmMDU0ODY3OTllZmI3NDVhOGYgbGVnYWN5LXRydW5rCis0MzU4MyA1MTMzYjViMGI0YTg0NThkZDVlODU5NzUwYmE0NTE3NmRmZjlmMTU5IGxlZ2FjeS10cnVuaworNDM1ODQgZTE0MjU1ZGY3ZmQxNjFlODgwYjQ1N2FhZmQ2ZjliOTAwOWE5Y2NjNSBsZWdhY3ktdHJ1bmsKKzQzNTg1IDkyYTE3YTI4MjFlMDRlMTY5YmFjMTQ1OTgyMjEwOGRjMDBkODEwZDYgcmVsZWFzZTI0LW1haW50Cis0MzU4NiBlYjY5ZDJlMzEzNGNlYjBhNTNkNDZmMmI5NzJlN2E2MmExOGE1MDY0IGxlZ2FjeS10cnVuaworNDM1ODcgZTgxNGFkOTcwZmM2YTkxNjVkMDVmNDEzOGEzMjRmZmYxOTJiZDQzNCBsZWdhY3ktdHJ1bmsKKzQzNTg4IGZiYzYyZGI5N2U0MzljNWJmZjE1MjE1ZGI2ODI4NGI0NGVjN2E2NWQgbGVnYWN5LXRydW5rCis0MzU4OSBhOGNkOTA1ZmQ5NmNkM2VhZDJlZTNiNGI1MzdkNTUyY2M4OWM4ODJiIGxlZ2FjeS10cnVuaworNDM1OTAgNzk2YWNkZTcwMTk1NDExZjEzMDZjMWYxMWVhMThlMTJkYTM1MTRiYSBsZWdhY3ktdHJ1bmsKKzQzNTkxIGJkYmUwN2Q5NmI4ZWY0ZGIzNWNhMWE0N2IxMWMzY2YzOTVmNjQyYWEgbGVnYWN5LXRydW5rCis0MzU5MiAwMWZkMDkzYjg3OGNjNzcwMjNmNDVhNmQyMzM5MmMxMDk3MmEwZjJmIGxlZ2FjeS10cnVuaworNDM1OTMgYmJlMWNkYzkyNjA1MWFkODI4YzgwNDVlMzBjMDNkYmViYWVhMmU2YSBsZWdhY3ktdHJ1bmsKKzQzNTk0IDExNTQyOGJiMWQzZjY0NWJlOGY4ODc4MGRlYzU5NTZlYTZmZjUyMjcgbGVnYWN5LXRydW5rCis0MzU5NSA1Y2M2ZDcxNTM3YTMxYTk1ZjNkMzkwYjFhNjczN2RkMDQ0ZmQyYmE2IGxlZ2FjeS10cnVuaworNDM1OTYgNmQ1MGZkMzY0Y2Y1Y2I1OTZkM2YwZDQyZTdjNTY5MTc4NTE4NWJkOSBsZWdhY3ktdHJ1bmsKKzQzNTk3IGU0NTdiMjRmOThjNTFmNzNmODA2OWVmMWI0ZjI5Mjg3M2FiYzdmOGIgcmVsZWFzZTI0LW1haW50Cis0MzU5OCAzNWM0YjA5MzNhOGI3ZTU5ZDE2NGJiYjQzYTVkM2U3YTY1MTk2N2IwIHJlbGVhc2UyNC1tYWludAorNDM1OTkgZjVhZDNjN2VjMmNiZjQ1M2JmZTViOGEyMjliOTVmMzhjNjNhZDMxZCByZWxlYXNlMjQtbWFpbnQKKzQzNjAwIGJjOWQ1M2MwMGRhZDZjMzYzMDEwNDc4ZGQzMDQxNjAyZDVhMWIzMTUgbGVnYWN5LXRydW5rCis0MzYwMSBlMmIzYTdkOWFjYTkxOGFkNWM1MjYyNzIyNWY5ZjZmNzVhYjk1YjczIHJlbGVhc2UyNC1tYWludAorNDM2MDQgMTA0OWU5YWViMzg1MDlmZWVlMWRhNTNiYTBkMWJlZGM0ODJiMWU2OSBsZWdhY3ktdHJ1bmsKKzQzNjA2IGEzODMwMzc3ZTFhNzk2MjE5YzEyNGJmZGNmMjkwYmUzMzAxMjUxY2IgbGVnYWN5LXRydW5rCis0MzYwNyAyY2QxZTViMTVlMDUwZGUzYmQ2ZTRhM2NhN2MzNjViMmE2ZTYzM2FkIGxlZ2FjeS10cnVuaworNDM2MDggMjlhMDZhMmYzZjJkOGYyNTgzN2M2NzgwNWQxMGUwZjI5ZGQ5NDA2NCBsZWdhY3ktdHJ1bmsKKzQzNjA5IDYwYmVkNjQxYjZkMDMzMDA0NDUzZjhiNzY5NDJjZWQ0MTBmMzljMjUgbGVnYWN5LXRydW5rCis0MzYxMCA1YWEzY2VmNGE4YTdiNDkyMmFjODNiOWE0NTNkNWFhZjA3YjgxMmRkIGxlZ2FjeS10cnVuaworNDM2MTEgNmRiZWE5MTFlODgxMGE0YTI1MzI1YTY2YTgwNGZhZDljNjFkZWZiNyBsZWdhY3ktdHJ1bmsKKzQzNjEyIDBmM2I3YWZhMTg3YWU2NmJkYzE3NjBkMGZlZWRiYmRhYzgyMzZkOGYgcmVsZWFzZTI0LW1haW50Cis0MzYxMyA0OWRiZWRmYjFkNzQ4MzBlNmExNTU5OTE3MzZkOWYzM2MxYTRlOTRiIGxlZ2FjeS10cnVuaworNDM2MTQgMTZhNjRlMzk0NjAyMmZiOGIzMWY2YWM1MjQyYWJhYWVlOWNlOWUyYSBsZWdhY3ktdHJ1bmsKKzQzNjE1IGVmZjZjNTM0ODNmZjM5YTMyNjQ2M2Q0NzA5OWQ2MzNmNjIzZWMyMjYgbGVnYWN5LXRydW5rCis0MzYxNiAwN2U0NGZkMDZjZjc2MzllNzg1MTk1MmNjN2U5NzJkZmZhNjc4Y2RlIGxlZ2FjeS10cnVuaworNDM2MTcgMmY1N2RhOTIxYWVmN2MxZWE2Nzk5Yzc5OWE3MmU1NGFjNTc4YjVjYyBsZWdhY3ktdHJ1bmsKKzQzNjE4IGRjY2U4MWI3ZTY0ZDAzYzg1NTQxOWMyMjA3ZjQxZjdjOWY3YzE0ZmUgcmVsZWFzZTI0LW1haW50Cis0MzYyMCBkMjcwNThjNDA5ZGYzYzY5NWNkYzUwNzM5OTczMGQ2ZGNlZDA1ODk0IGxlZ2FjeS10cnVuaworNDM2MjIgYzFjZWYxZDJkY2NmNGI5ODQxZjZkMGU0NDg3MDdjN2EzNWYyNWFmNSBsZWdhY3ktdHJ1bmsKKzQzNjIzIGQyNjk3YzUyY2NhZTU5YjkyYjAwYjczYWVlYWEwNjJiYmI5MDE1M2UgbGVnYWN5LXRydW5rCis0MzYyNCA2YWIxNWZjODVjMmQwYzY4Yzc3Y2M2OTVmODdjZDI2YmNkZTliN2ZjIGxlZ2FjeS10cnVuaworNDM2MjYgYjYwMzMwNzI5MmZjNzRhZTg2YWY2YTU1OGVlMTA0MzdhZGM4YTNjNSBsZWdhY3ktdHJ1bmsKKzQzNjI3IGFkZDAwNzg3MGJiZGFkMzkwOTIxZDkyMGE2NGQzZDJhMjU4MjY3OTAgbGVnYWN5LXRydW5rCis0MzYyOCBkMzQ1MTY1ODgyNzJhZWUxYzgzYjk4ZTRkYjU0M2JmYTg5ZmNkYTc5IGxlZ2FjeS10cnVuaworNDM2MjkgMmMzOGVlNGJkZDhhYjI5NWU0OTlhYjUzMzc0NGIyZWNjY2MxY2RjMyBsZWdhY3ktdHJ1bmsKKzQzNjMwIGMxMTViM2FlMWMxODc5YTNiMDBiZWQwZTU3YmI3YWVjOTcxMDRhNmYgbGVnYWN5LXRydW5rCis0MzYzMSAxZjEwOWE0OTUzYzY5YTIzOTE2OTExNDRmNjY4YjExZWI3ZjkwZWZlIGxlZ2FjeS10cnVuaworNDM2MzIgMDRhZmIzNjUwODQ3NjBlYWNlYTZkZDhhZGNmYTI4MjdmYTA0ZmI2NCBsZWdhY3ktdHJ1bmsKKzQzNjMzIGExN2I1Mjk0ZTk5M2NhOTZmYzEwMWNlNWI5OGRmOTljOTIyMTMwNDcgbGVnYWN5LXRydW5rCis0MzYzNCA5ZWNiY2U1NWE0NTQ2NWQ4YTA0YmJlNGRlOTQwN2Y5MjcyNmViNzdiIGxlZ2FjeS10cnVuaworNDM2MzUgOGVmZGVmMmVjZjNiMTk1ODVkMTI1YmJkMDMyMjZkNjQwOTFmNzliMSBsZWdhY3ktdHJ1bmsKKzQzNjM2IGY4ZmMzMGMwZmM3YzM0NTIxOTNhMWY4YzNmM2IxZTliOGE4NmI3NzkgbGVnYWN5LXRydW5rCis0MzYzOCAyMGZmYzJjYTAzZTBjYTUxYmFmODk2NjBkOGZiOWMzZTY5NjYyMDExIGxlZ2FjeS10cnVuaworNDM2MzkgNjI1NjdiYmU3ZDg4ZGE1OGIwMTRlOTAzOWMwY2JlYzQ3M2U3ZjgwNSBsZWdhY3ktdHJ1bmsKKzQzNjQwIDU4YjhkMjk4MjE0NGY4OGQzNjVjYjQ5OTJkYjlhYWZhOTQ0NjM2NjAgbGVnYWN5LXRydW5rCis0MzY0MSBlNjU4MjkwNWVlYmE2YjU2YmM3ZjI1YTNhZGI4NjQxNDg4OGFiNzI4IGxlZ2FjeS10cnVuaworNDM2NDIgOTAzZTMxNjIwOTllMjkwZjg4YjFiZTUxNzE4OGUxY2M5ZTgwM2ZkZCBsZWdhY3ktdHJ1bmsKKzQzNjQ0IDg1MmYxYzFhODliNGQzNGU2MTc5ODcxNDgxNjJkYjdhOTJkMDBkMzEgbGVnYWN5LXRydW5rCis0MzY0NSBlNzA5ZTYyODg2ZTYwMzk0NTIzOTUyMDUwMzU5MTNkZmFhMjU3YmQxIGxlZ2FjeS10cnVuaworNDM2NDYgZDZlY2JhNTk2ZTFlNjg5MWQwNGE2YTFiZDhlNjc5ZjM5YWU3YjBkZiBsZWdhY3ktdHJ1bmsKKzQzNjQ3IDI5NjM5MmM3MTA2OTBlNjBkZDE0ZDNkNGViYjExM2MzN2Q1ZjkzNjEgbGVnYWN5LXRydW5rCis0MzY0OCA0YTk5OWM2ZTAwYzAyZmRhNWFlMDEzNTVlNThjNWQyNmQ4OTY3ZjM2IGxlZ2FjeS10cnVuaworNDM2NDkgYTk4MmIwMmJlYzBiZjE4NDUwNjJiZjU4NWE0ZmQxYTZhMWE1MTVhNiBsZWdhY3ktdHJ1bmsKKzQzNjUwIDEwNWE4ZGQwMTg1MTY2NTNiZDAxNWY2NjZiNzgzYWFlM2M3OTA2ODQgbGVnYWN5LXRydW5rCis0MzY1MSA4OTZmOWZlYWQxN2U3MjBlYzRhMjFkZTNhYzIxNDUxOGRhODQ4NDVmIGxlZ2FjeS10cnVuaworNDM2NTMgYTBmMmMzOGQ4NWY0NTNhYzk2ZTU5NmVmZjI3ZTBjMDQxMzMwYzliNSBsZWdhY3ktdHJ1bmsKKzQzNjU5IDM5NWIxZjVjOTc1MTQ5M2NhZTcxYjRlODQxNDBjYWRmMTkyOTQ2NjggbGVnYWN5LXRydW5rCis0MzY2MCA0Yjc2MWE2MzM5OWM0MjdiYjc4YjUzZDJmODc2MmYyYzg0N2ZhNDA4IGxlZ2FjeS10cnVuaworNDM2NjEgNjlmNzk1MTc3NjFkMTJhNjNlZWYwNmRkZGVkNzkxMDBhMWY1MWExZiBsZWdhY3ktdHJ1bmsKKzQzNjYyIGRiZjViMmYyYTQyOTE2ODcwMTc0Mjc2ZDFhOGM2NWYwMzY0MzE0NWEgbGVnYWN5LXRydW5rCis0MzY2MyA2NTMzMzhhYTY5ZjJkN2RjMGQxNmJmNzFmZWU2OThjMjIyYjFlOTIyIHJlbGVhc2UyNC1tYWludAorNDM2NjUgMDk5OTA2NjEyMjZkYmFhNWMzMGRlMTRjOTQ3ZGI0ZDYwMTA1YWRlMyBsZWdhY3ktdHJ1bmsKKzQzNjY2IGVkNmZlNzI5MTA4Mzk5OGU1NmMzNTlmZjY3MjE5NGMwNzEwZTQzMmIgbGVnYWN5LXRydW5rCis0MzY2NyA5NzZjMDEwOTFiMzg1ZGVkOTA0NTJlMWJmNWY1ODQ4MjUzNWFlOGEzIGxlZ2FjeS10cnVuaworNDM2NjggZDM5NjlhZWJhNzc3ZDEwMDZjZGY5OWRiNDYwYThkYzhhNDBlMzg3MiBsZWdhY3ktdHJ1bmsKKzQzNjY5IDQ4OThmMTk2YTI0ZGViY2VkNWI0ODU4NzU2MDg3NDVhMzgzYWE0ZDQgbGVnYWN5LXRydW5rCis0MzY3MCAzZDRmMzUzYzNkNGZiMjY5NDk2MmIyNTY0ZDc5ZWQ5NzdiMjBiMmFlIGxlZ2FjeS10cnVuaworNDM2NzEgNDhkMTJkZWYzMmIzYzhjZWI5OTQ0N2YwMGY3ZmFiYjZkZTdhM2U3ZiBsZWdhY3ktdHJ1bmsKKzQzNjc1IDk3YmMzNDhkYmM1ZGYyZDlkODYxOTBjYWEzNDE5NjYxMDllNGViYzIgbGVnYWN5LXRydW5rCis0MzY3OCA1ZWM4ODgzYTJlZjlhMTY0MmI2YzA3ZmNiZDc2OGY0MDdkNzE1NGY3IGxlZ2FjeS10cnVuaworNDM2NzkgZjY2MzVmMzA0Njk1ZTY2YmY1OTU5MzhkZjc3M2MyMDllZDljNGRiMCBsZWdhY3ktdHJ1bmsKKzQzNjgwIDQ4Y2RlMmY4ZDUwZTFmMTM5MzIxZDQ0Y2YzZmY3NzhiZmNhNDdmZjggcmVsZWFzZTI0LW1haW50Cis0MzY4MSAzNjliYjVmNjdlZjY4NTdkMzE1MGI0MGIzYjU3YWVhODNhMjIwOGI5IGxlZ2FjeS10cnVuaworNDM2ODIgOTYwYmY2YWE4NTRkZDY2NWNjZmFiOWRiMzg4YThiMTEwZTYwODZmMSBsZWdhY3ktdHJ1bmsKKzQzNjg0IGZjOGM5MGE0NGU2OGI3OTMyNzliM2Y1MGRmYzMzYjdkMWNjNmJkYzIgbGVnYWN5LXRydW5rCis0MzY4NSAxZGFmNGY3YjMwMjE2YTExZGJiMjFjMTY5Y2UyYTYxM2RkZmZkM2FlIHJlbGVhc2UyNC1tYWludAorNDM2ODYgNWIxMTlmMjU2Y2RlNWViMTFhNmRmMmEyMWJmNmEwZjViNGViZjU2NyBsZWdhY3ktdHJ1bmsKKzQzNjg3IGQ1Y2I3NzIzMjJiZjY3YzMzMzRjMzEwNThlMzhlMDUxM2Y5MTE1MTEgcmVsZWFzZTI0LW1haW50Cis0MzY4OCAzZjA5NWM1NWMyZDliMWQ0ZDdjMTdlMTdhZTQ5MTgzOGIwMTQwYTRiIGxlZ2FjeS10cnVuaworNDM2ODkgNDI4NDg3OWExOGVhZDg2M2VmZjRjZDcxMjg3MzAyNzM0ODVlM2E2NSByZWxlYXNlMjQtbWFpbnQKKzQzNjkwIGFkNGY3NTUwZDhhNDA2MjU4YWU4YzZiOWNkZDBiMTk1ODI4ZTY0MTIgbGVnYWN5LXRydW5rCis0MzY5MSBkMWRkYTExNDhmMTA5NjliOGUxMjVmMTQ3YTQwMDBmYTcyMjhmMzdlIGxlZ2FjeS10cnVuaworNDM2OTIgZDAzMjAxZjJmOWMyNGE1OTNiODk4ODY0ZjM4NjRjYzk5MmVkNzJkOSBsZWdhY3ktdHJ1bmsKKzQzNjkzIDJiMGE1ZWVjMDI4YjA3ZGZjZGFhMGI2YzA3ZTg3ZGMyMTQyNDgyY2QgbGVnYWN5LXRydW5rCis0MzY5NCBjMTZiNzUyZWU5M2JjMmFkYTYxZjUxZTMzNzIyOGViN2Y0ZWU2MTQzIGxlZ2FjeS10cnVuaworNDM2OTUgN2NkM2JmMjM5OWU2MjBhNjM0MmJmYmViYTkyMGVkNDBmZjkzZjBlOCBsZWdhY3ktdHJ1bmsKKzQzNjk2IGNlNGFmNTQxNmQ3NjVlYjVmYTg5N2RmZTE4YTVlNGMzY2Y4NWMwODggbGVnYWN5LXRydW5rCis0MzY5NyA3OWQzYzRhZDkzMTA5Yjc5OWE5YjlmZTEwZjAxZTFmZThhMmZkZmU3IGxlZ2FjeS10cnVuaworNDM2OTggZmY3MTg3ZGNhMmYxYWY0MTFhM2UzZTAzMzY5NDk1NzYyNTE1YzRmNyBsZWdhY3ktdHJ1bmsKKzQzNjk5IDIxMTQxMDM3YTEyMzNiZDk0ZWUyOGJkMDQwZDNmZmVjMzJjODcwYWQgbGVnYWN5LXRydW5rCis0MzcwMCA3YzQwNDhlYzBjNjg4YzVlNTZhNDQ5ZGEwNmU3NTQ3NDk3YzFhODUzIHJlbGVhc2UyNC1tYWludAorNDM3MDEgNTU1NmNlOTlmMjBjNDg0NmY3OGQ1NmFhNzM1NGFhNDc3MTk3ZWQ0NiBsZWdhY3ktdHJ1bmsKKzQzNzAyIDBhMDE0ODg0MDE3Y2RjYzYzZTFlNTMzYTA1MDQwYzM4MWFjNGY1NjggcmVsZWFzZTI0LW1haW50Cis0MzcwNCAwMTg0NWEyNDdjOGIxNTVlNmE2NjAzMDRmZWNkZWI5YzgyZmVhMjllIGxlZ2FjeS10cnVuaworNDM3MDUgOGM3ODI4OGQwZGJiYjE0YjgxZjEwODg0NGYzNmVmYjY4YzhlOTZjNiByZWxlYXNlMjQtbWFpbnQKKzQzNzA3IGI0M2RiODdhOTc1MjM5N2ViMTVmNWI4NTUwNTQ3MWE3MWFmZjhhMzkgbGVnYWN5LXRydW5rCis0MzcwOCAwYWUxZmFmNDExZmZmMjI0MTVhYzhlZTRkOTYxYjMzMmUxMmM1NjMxIGxlZ2FjeS10cnVuaworNDM3MDkgMGE0NWNiMzBiNjRlMGJlYzA5M2E2ZDc4OTFmOWY1OGFmZmMyM2Y5YiBsZWdhY3ktdHJ1bmsKKzQzNzE0IGE5ZGY5YjBiYTQxNjVlNGM4YTVlMGVmMTk1YjNjOWQxYjg1ZjBlYjYgbGVnYWN5LXRydW5rCis0MzcxNSAzYzdlYTUwNTE4YmUyMjE1Y2MzYjEyMTk2ZmJmOWQ4OGYxZDA3YjhkIGxlZ2FjeS10cnVuaworNDM3MTYgZDIyY2IxNGRhNjcxNDNlNzgwOGE4MjI2MTIzYjYwMDU4NWE1MWM4NyBsZWdhY3ktdHJ1bmsKKzQzNzE3IDE1ODNkM2ZkZGRjZDc2YTgwMjliOGVjM2M4ZGJiZDY2ZjlmODJiZDEgbGVnYWN5LXRydW5rCis0MzcxOCBhOTQ3MGViNjM3ZjE5NDg4MDc3MWM4MDE1NGMxM2VhY2M5ZDljY2E0IGxlZ2FjeS10cnVuaworNDM3MTkgODY5ZjNjOWQ3NDAxNDAwZWUxMGM0YTk1YmY1Y2JmM2Q0OGJhMGM5NSBsZWdhY3ktdHJ1bmsKKzQzNzIwIGY4YzRhYTU0MTNkYmEwZjZkOGMyMzdhYmI1MDE5ZDVhYWIwZDdhMDIgbGVnYWN5LXRydW5rCis0MzcyMSA5YmVkMzBkZjdhNGFlYTk0ODM2ZTk2ZWM1NWNkOTkzMDAyNDk5Y2YyIGxlZ2FjeS10cnVuaworNDM3MjIgNWJjMmI0ZTNmZmMxNjQ1ZjJiZTNjYTFkY2ZhZGNhYzY0YTkxYWRhYSBsZWdhY3ktdHJ1bmsKKzQzNzI5IDkwMDZmOTIyM2Q4MGI1YzQ2ZDZlNTRhY2U0NmYxNzEyY2M0YzI1MmYgbGVnYWN5LXRydW5rCis0MzczMCAxNDlmZTY4NGU0MDE2MDk2YmQ2YTUyZDFmNzdiZTgzYjVmZGMxZWVjIHJlbGVhc2UyNC1tYWludAorNDM3MzEgYjM2NjZjNWRkZDhhMGE4YmM4Y2IyZWU1OGIzZTQ0M2I2OGExNDZhMiBsZWdhY3ktdHJ1bmsKKzQzNzMyIDcwNzMxMjUyZGEzNDY5MzA2NTQ2M2NjNGMwZGY4N2FlMDYwOTdmODUgcmVsZWFzZTI0LW1haW50Cis0MzczNCBjMTdjNTIxOTMxNjllZTQ0Yzc1MjIxZjM5MmY3MDMwZTA0MzExMGE5IGxlZ2FjeS10cnVuaworNDM3MzUgYTdkNjg4ZWJlM2UxYTIwMzI4Zjk0NGVhODVlNmNlYWNjYTUyM2U2MCByZWxlYXNlMjQtbWFpbnQKKzQzNzM2IDQzMTYxM2JjOTM1ZTk1YTM2OGZlMTJlZTBlN2NiYTIzMjcyMWMwNTYgcmVsZWFzZTI0LW1haW50Cis0MzczNyA3MDkyNjYyNmM2YTBhMzQwMDBlNDRmMmFlNmNkYzMyOGZmNzllOWMxIHN0ZGxpYi1jbGVhbnVwCis0MzczOCBiYThmMjc2NGFhNGFjMDkwMDFmZTg5OTMxOGJmNDA0MTc2ZmI4NTY0IHN0ZGxpYi1jbGVhbnVwCis0MzczOSBhOGQ0OTI4MjkyZDhiMmIyMjhhYjBlNWEyYTk1OGIyYThkMjAwOGZiIGxlZ2FjeS10cnVuaworNDM3NDAgZWRjNmEwY2M4NDY2YmU2MWVmNGUxODgxMTE1ZTFkYTI4ZTA0MjkxOSBsZWdhY3ktdHJ1bmsKKzQzNzQxIDQ4MzExNDAxYTIwZWEzNjZhNWUxNWZiYTc1M2IwZDkwYWRhNzdlNzcgbGVnYWN5LXRydW5rCis0Mzc0MiBmMWM0NDA2YmY0ODFlYWQyMzQ1OWEyYTdlYjNhMjU4ZmFiMTZkMGIwIGxlZ2FjeS10cnVuaworNDM3NDMgYjA1MjhlOGM2Yjc4NDRkOTUzNjdlMjdiZDcxNjNlZjQyM2U5Yjk4OSBsZWdhY3ktdHJ1bmsKKzQzNzQ0IDAzNDJjNWYwZjRmZjY1YzM2ZjJmODVkYjBkZjY3MjU3MDkxYjM5NjUgbGVnYWN5LXRydW5rCis0Mzc0NiAwNDZlNmUzNDgzODE3Njk1NDI3YjI0ZDgzOTBkN2Y4MGI4NmY2ZDNjIGxlZ2FjeS10cnVuaworNDM3NDcgMmNkZjUyN2I1OGY2YTI5YWJiZjYxNjMyMTkzZGZmYzE0YmJjNDYxMCByZWxlYXNlMjQtbWFpbnQKKzQzNzQ4IDM5NTk4MTBiYzU0OTEzMjY5MmMzZjQzYTJkNGEzY2Q0N2MxM2YxYjYgbGVnYWN5LXRydW5rCis0NTIyMSAzNmJjYjgzZWNiYWQ1M2ViNjNlMjNkYTQzNDA0OTk0YzhmMDk2MDE0IGxlZ2FjeS10cnVuaworNDUyMjMgMjMxZTQyZDAzNjJlZDI2N2QzYjM1MzI1ODRhNmY3NDk1OTg5YWI0YSBsZWdhY3ktdHJ1bmsKKzQ1MjI0IDliZGE1YmE0MTY3N2NmNmIzMTQwM2Q1ZWI0Zjk1ODlkYjU4MGY4ZTggbGVnYWN5LXRydW5rCis0NTIyNSA2YWU0YWRlZmM1NzNiOGViMDZjOWRhYTU1OGU0OWVkODliNzZkODM0IGxlZ2FjeS10cnVuaworNDUyMjYgMjg2YzgxNjg5ODI2Y2FiYjE1NzcyZjJhMTkyMWE4NjUwODQ0MWE0NiBsZWdhY3ktdHJ1bmsKKzQ1MjI3IGE3OGJjMGJiMzQ1OTYyZTY5MDI5Y2UzYzA5OTA4ODhiMTRhZGNhNzkgbGVnYWN5LXRydW5rCis0NTIyOSBlYjBiOTkyN2ZmZmQwMjUyNzZhOTZkZGMyNDBhYWUyODQ4YThjNDhlIGxlZ2FjeS10cnVuaworNDUyMzIgYmQzNzU3Nzc5MzJkOTFhM2ZiMDA5NDkyYjIwOGZkZGFmOTdlYTcwOSBsZWdhY3ktdHJ1bmsKKzQ1MjMzIDBmMmU4NmQwOGQ4YWZmMjJmMDkyOWM3ZDk5MTdiNmQ5MGQyMTVlOWEgbGVnYWN5LXRydW5rCis0NTIzNCA0MjAyM2Y1YjdkNmQxZGQ3M2IxZTQ5MWU3Zjk3MzIxZDhhMjhkZmI3IGxlZ2FjeS10cnVuaworNDUyMzUgYzc4MmNmNmI1MTZlNDJlODc3MTRhOWQ3YzVmZjY1NDdiZjNhMDdkOCBsZWdhY3ktdHJ1bmsKKzQ1MjM2IDgwOTRjYzBjOThkN2E2NDJjYTM5YWE3MDlkMGNiODg0NTk3YTRkMzQgbGVnYWN5LXRydW5rCis0NTIzNyAzMzQyM2I4NDU1NTQwOTZiMjAyMWEzZTFmZjhhODRjMDhjNDAwZDdjIGxlZ2FjeS10cnVuaworNDUyMzggM2Q2MDE1MTM5MmMyMjU3ZDZiNmE1NzlkYTI5OWY3MDE2ZjNjZmZkYSBsZWdhY3ktdHJ1bmsKKzQ1MjM5IDIxM2M0MTk4ZmUyM2Q5YmQ1ODU4NWU2MWYzOGM0NzI3NzFhNjRjY2MgbGVnYWN5LXRydW5rCis0NTI0MCBiNzQ0MGFiNWNkNzA2ZjQ5MGZhYzg3MDQ3YjNmMjdiYjk5OWFhYTg2IGxlZ2FjeS10cnVuaworNDUyNDEgNWIzNTFkZDdkMDgxNWRlMGUyMThiNjdmOGU1ZDBjOWJlZmVmMzhlMCBsZWdhY3ktdHJ1bmsKKzQ1MjQyIDBiYzNmNzRhNGE0NzE4NDE5ZWIyY2U5NjBmYWQyZWU3Y2RiYjFhMjAgbGVnYWN5LXRydW5rCis0NTI0MyAyZTIzNGY0ZmQ3NjM5OTA3MzZkZTZkNDlkNDM2MjA5ODA3ZjRhNzZjIGxlZ2FjeS10cnVuaworNDUyNDUgZjZhMWY1NWQzZTVjZTZiYjkzZGM4OGU1ODhiMTdlODQzNjI2ZWNhNyBsZWdhY3ktdHJ1bmsKKzQ1MjQ2IGRkMDg1YzEzYzQ5YTc1ZTg0YmY3NTZhYmU0ZGIwZTZkYTJjNjYxNGUgbGVnYWN5LXRydW5rCis0NTI0NyBkYzlhMzZjOGI0NzMwYWJjOGY5MzVmZWRhNmE2MzEzNGI0ZDQxZDNjIGxlZ2FjeS10cnVuaworNDUyNDggZDExMzY2ZjdlMWU3YTU4NjkyMTI2MGEwYTVmY2FiOWQzOTFjNThjMCBsZWdhY3ktdHJ1bmsKKzQ1MjQ5IDdjYjZhMzA0NDYwZmMwMGFiMGI5NDhkNjk4NmUyYjdjNzVhN2I0NDggbGVnYWN5LXRydW5rCis0NTI1MCBlMjljZGY4Njc4ZmU5OGUyZGYwZGUxNzBlMzdiOWM1YmNjMjI5ODZmIGxlZ2FjeS10cnVuaworNDUyNTEgMDBiZjhmMDBlYzYzMjc1NzE4NmM1OTIwYWE1OTNkY2JlOGUxNTM2MiBsZWdhY3ktdHJ1bmsKKzQ1MjUyIDA3MjA1MDYxNWZjMGMxNjZjYjdkNTBkNzY0Y2U3OTNmZTdjNTZiYmMgbGVnYWN5LXRydW5rCis0NTI1MyBiMTEyZDhjNzk4OGMzMTdjMGRmYTliNjk2MjUwMGViMWJkYTM4MTg2IGxlZ2FjeS10cnVuaworNDUyNTQgMGFmN2YxODA4N2ExZmZmYWY0Mjc4YWMzNmI1MGNlMTE3NzM0MDI1NiBsZWdhY3ktdHJ1bmsKKzQ1MjU1IDFhM2U3OTlkMDYzNDFiNDEzOTUxMmEwMTA2OTVjNmFiMTMzNDcwYWEgbGVnYWN5LXRydW5rCis0NTI1NiAzYjRmZGM3NWJlMTJjZTcxYWE0ZTExOTViYzY4MDdjOWQ2NTI2ZmYxIGxlZ2FjeS10cnVuaworNDUyNTcgMjkyODU0YzQzYjk5YjlmMzU5MWFjZjNjZWYyZDdmYThhN2E2MGEyYSBsZWdhY3ktdHJ1bmsKKzQ1MjU4IDFjZWQ3OWYwODA1MDljNDQ0ZGQ1MTQxMTU0N2I3MTMxMzE4MDlhMjcgbGVnYWN5LXRydW5rCis0NTI1OSBhODQxNmFkMWE1YzU5YzM0MDc3M2U1YTc4NTM3ZjFiYjA2YzdkMGE4IGxlZ2FjeS10cnVuaworNDUyNjAgMTNkZDMwOTc0YWQ2OTEyZTlkMTg2OTAxOWJiZWQ3YzNkNjBiZjIyZCByZWxlYXNlMjQtbWFpbnQKKzQ1MjYxIGFlZWU4NWI2YTVkZDg4YWQxZWM4MTUyM2RmZWEyZGFhZGI5NGUxNjAgbGVnYWN5LXRydW5rCis0NTI2MiBmNzdkYmMwZjk4ZTM0MzUyMWZiZDg0NjMzZWQwZmRjN2Q3OGQ5NjYwIGxlZ2FjeS10cnVuaworNDUyNjMgYWRkZTlkZTEwMjg3YWQ0NWQ5NzJiNTg2Y2Q3YzY0M2M3ZTk2ZDVlYyByZWxlYXNlMjQtbWFpbnQKKzQ1MjY0IDkyNDUwNGIwMDE5NjQ5MDQxZmQ1M2VmMjc0MjljODBkN2Q5ZGUwZmUgbGVnYWN5LXRydW5rCis0NTI2NSBhZWQxYzNjMzViODM2M2U4MzU4N2U5MTAxMzJhMWMxZGYzMWE1Y2M2IGxlZ2FjeS10cnVuaworNDUyNjYgNmRkMGQ4YjRiYWM1NzRjZTRkMDY4NTI5ZGE5ZGIxNGE5MjJlMDc3OCBsZWdhY3ktdHJ1bmsKKzQ1MjY3IDA1OTFkMDMyMmYwNGMyNGRhNWZiOGI3MzE4YzI3ZWRjZGZiODE1YTAgbGVnYWN5LXRydW5rCis0NTI2OSAxYjA3ODQ5M2Q1MzgyYjgzZjUzMzM2N2ZjMmFjNWJlZDlhN2U0Y2Y3IGxlZ2FjeS10cnVuaworNDUyNzAgMmIyZTljMzg4ZmJiZTIyNTU2Yzk4ZWY5NzA3ZDAzMTZmYmU2OWE0MSBsZWdhY3ktdHJ1bmsKKzQ1MjcxIDU2ZTAwYzliNTAxMTczNDY0OTIwYjRjZjVlN2JmZjRjMWI2MjZmNjAgbGVnYWN5LXRydW5rCis0NTI3MiA0NGZiMDNhNmE1MjQ5NzA4N2UwZWQyYjY2Y2I4NzMwOTZjMDI2ZmI5IGxlZ2FjeS10cnVuaworNDUyNzMgYzRjNWVlYjA3NzM5YWI0MTA1NTM3NmVhZTU3ZTM3NDY3MWYzNDA1YSBsZWdhY3ktdHJ1bmsKKzQ1Mjc0IGY3NmI1ZDk4NzMxNGQ3NDQ3NTgwZjU1ZTdhZTllYWVhZTBlODU5NWIgbGVnYWN5LXRydW5rCis0NTI3NSBjYTk1YWQ1YjBmYmM2MWY5ZWQxMTVlZTYwMDg2ZGEyNzI3ZTdhMzg3IGxlZ2FjeS10cnVuaworNDUyNzYgMzhhY2I5MTgyNGZjYzU3MzU0ZjNjN2JmYjVkYzhmODVkMzY2M2YxNiBsZWdhY3ktdHJ1bmsKKzQ1Mjc3IGM3MzJmNjZjOTEzZmQzNjJiYWJhMWM1YjFhNGMwNWQ4MjY0MjgxMjYgbGVnYWN5LXRydW5rCis0NTI3OCBlMDcwYzMxNmViNDU1OWE4ZmU4OTkzNGUwM2M2Yjc1NjA2Yjc1ZDI0IGxlZ2FjeS10cnVuaworNDUyNzkgZjQ0OGQwMDc1NjkxZjk1MmQ3Y2Q0YmY4YjA5MGFjZmU0Y2MwOWRkMCBsZWdhY3ktdHJ1bmsKKzQ1MjgwIDQ4MGE1NjI1ZTI4NjkyMDE3NDQ3MDIxNDVkMjY1ZTQ5OTk4YjBhZjYgbGVnYWN5LXRydW5rCis0NTI4MSBiNzRkM2FkYmY4ODg1ZWZiZGEyNGZlOTI4ZDMxYzE2Y2Q5OTdlYmI5IGxlZ2FjeS10cnVuaworNDUyODIgZTYwYjMxNjQ3YTZiMzFkMDdhMTc1MTU5NjU3OWUzYWRmNmQ4NTY0MiBsZWdhY3ktdHJ1bmsKKzQ1MjgzIDdlZDBmMDAzYmE2MzEzNmExNTg4MjAzMTg3YmQ2MWUzMWU4Y2NiMDQgbGVnYWN5LXRydW5rCis0NTI4NCA3YWZhYTc1MmM3NzIwOGUzM2Y3ZDBkNWY3NjU5NjBhNmE4ODM4YzhkIGxlZ2FjeS10cnVuaworNDUyODUgY2QxOTVlMDczZGQ0NjVkMGY1YTAwZmJlMmI4ODYxMDY0NmVlNDVlYyBsZWdhY3ktdHJ1bmsKKzQ1Mjg2IDBjYTUxMTJlM2UxMjlhM2QwODQ1MDhkMGU1N2E3N2U0ZGM0MmNkMGYgbGVnYWN5LXRydW5rCis0NTI4NyA3MmNlYjFiMzBkNGJiYzIyYWVlZGM1NTcwMjM3NDM3M2YxNzRiODg5IGxlZ2FjeS10cnVuaworNDUyODggMTlkOTliMzE1NTVjZWJjZjBlOGNmNDYwZWEzZjY3ZDg4YTQ1NTVjMCBsZWdhY3ktdHJ1bmsKKzQ1Mjg5IDFlOWQ3ZTY2YzFiY2ZhNmJhY2NmZGYyNTg1MTA0ODFhZDBjYjBlZDcgbGVnYWN5LXRydW5rCis0NTI5MCA4OTY4YjEyNDJmMTg5OTRiMzlkMzExNGE1YmY1MWI2NWFiMTljOWNiIGxlZ2FjeS10cnVuaworNDUyOTEgNmZiYzExYTAzYmNjMmEzYjY4NDk3ZmM1MDIyOThkN2ZlZWExMWI1ZSBsZWdhY3ktdHJ1bmsKKzQ1MjkyIGYxOWFkZGQ2OWFkOTM5ZjIwYTQ1MzQyYjdkY2I3ZWZiYzI4OTUwNDEgbGVnYWN5LXRydW5rCis0NTI5MyBiNDNhOTcwMjY0NzkwM2Y1MjQ1OTJkODNkZjlhZTRmNTFkMjg4MDhkIGxlZ2FjeS10cnVuaworNDUyOTQgMTU3MTc5ZDJhNGMzNTIyZTJmNDc3NzYxYTU5YWEzODA0NzAxNmJmMSBsZWdhY3ktdHJ1bmsKKzQ1Mjk2IDhhMTg4MDM2YjcxM2I0YWNmODAxYTllODZkN2MxNDIzZTY4ZDRmN2MgbGVnYWN5LXRydW5rCis0NTI5NyAyZmQ2YWQ1ODIyMDMyZmJhOGFlNmQ1MmQwMDhhYTU3OTM5OTlhMzFiIGxlZ2FjeS10cnVuaworNDUyOTggZTgwOGUyYWY5MWY2MzQ5YmQzZGZjZjFiYjcwNmFjNDc1M2UxZWEyMyBsZWdhY3ktdHJ1bmsKKzQ1Mjk5IGM4YTA5ZmQ0ZjEwZGE3ZWUxMDNiZDE5YjNiYmZmYjE5Njk2N2Q5ZjkgbGVnYWN5LXRydW5rCis0NTMwMCBjMjZmNWUyMDZkZTc5ZDU0ODljNDUxOGQ0ZGRkZmIwOTZhZmI5NjBiIGxlZ2FjeS10cnVuaworNDUzMDEgYTUzOTJiYjA3NDQwMjljZjE1YjE3MTc0NmUzMTczMjFkZTdiMzExYSByZWxlYXNlMjQtbWFpbnQKKzQ1MzAyIDBkZDMyYTZiMjk2NGUyMzQyMTA4MWMzNzk2ZTIzZTVmZGI0NmUyZWMgbGVnYWN5LXRydW5rCis0NTMwMyAyODkxMTZhNTJiYjFlOGU2N2ExZDcyMjUzNDE4MWVjNGUxMmI1ZjFlIGxlZ2FjeS10cnVuaworNDUzMDQgMWUxMmVjNDlkZjliNGRiOTg0MzA0NDg0ODdjMGQyYjUxZDcwNjY1OSByZWxlYXNlMjQtbWFpbnQKKzQ1MzA1IDM5OWE5YTcyMDk1ZjkzMGEyMzIzYTY2ODNlNzdhZjhlMzlmZWRiMWYgbGVnYWN5LXRydW5rCis0NTMwNiAxN2Y4YWRjYzczZWQ4NmI4ZjU4YzJkN2RiYTYzMDMwODVjYTJkNTlhIGxlZ2FjeS10cnVuaworNDUzMDcgYWYwNTZiNjNjZTUzNjA0MzBjMTAxZjgxZjU4N2U1YzA2NjE3ZmIwNSBsZWdhY3ktdHJ1bmsKKzQ1MzA4IDg4MzFmZDgyMmI2MDVkZGFiZWI4Yzg0NDNiMDQyMWZiM2JlODI3MTAgbGVnYWN5LXRydW5rCis0NTMwOSA3NjljNjI2MTM1NWU5MzlhMmJlMDZjMzBhMjk2N2I2NGE1NDYwNDUxIGxlZ2FjeS10cnVuaworNDUzMTAgMmU4YWI3OTdjZWFmOWQ3NDhkODVjZWQyYWE1ZGNiN2Q0NjRhNDRiYyBsZWdhY3ktdHJ1bmsKKzQ1MzExIDlhNmEwMzc1ZWYyMjk1ZWFmOTFkMjAzNDZhYWMyMjhhZDI3NTdlZGMgcmVsZWFzZTI0LW1haW50Cis0NTMxMiA2NWVjYjgzZWE3ZGRmZDIzMmVlODBlMWI0OTQ0OWMzZWM0YTc1NWNhIGxlZ2FjeS10cnVuaworNDUzMTMgYmM0ZmJiYjJkYjMwMDlmMGFiN2MwZmEwODlmNjcwOWQ1MjUwZGFiYiByZWxlYXNlMjQtbWFpbnQKKzQ1MzE0IGZlZDI5N2MyMDYyZDkyOGEwMDQ2NTA5OWI3MWRlNTYzM2I5MTIzNmMgbGVnYWN5LXRydW5rCis0NTMxNSAzNmUxNzYyZWFkODZiODBiMGFjZjk2ZDdiMjg1NjQyMjI2OTg4ZGI4IGxlZ2FjeS10cnVuaworNDUzMTYgMjJmMmM5MmExZGE3Zjk2NWZhZmNjZWY2NjJjYjY2NmIwZTljZGNhOCBsZWdhY3ktdHJ1bmsKKzQ1MzE3IGFkNDg2ZTQ4NzVjNmUxODNiNTBmMzFkNzc0YmQxODZmMTRmM2U2ZjYgbGVnYWN5LXRydW5rCis0NTMxOCBjNmUxMWY4MDRkMDBmNzYzZjQwMTVmODgyYTM1ZTM1OWFjYzc1OTNiIGxlZ2FjeS10cnVuaworNDUzMTkgMmMwNjU4OGFlNjllNjI4MmVmZmRlNWM2NjMwZWE2OTllNGY2Y2M2ZiBsZWdhY3ktdHJ1bmsKKzQ1MzIwIDQyMmNkZDI0YWY0NmM0NzRlNDM5NzRlMjY3NzY0MTQzZDEyOTYyOGMgcmVsZWFzZTI0LW1haW50Cis0NTMyMSAxMGU0N2YyN2VhMzlmYTA3Njg2YjBkNjBiNjVhMDljZDE4NDI3N2VjIGxlZ2FjeS10cnVuaworNDUzMjIgNDU1MWRhODQ3NjUxYWNjMjYxYTMzYmYyY2ZlZTdlYTU4MTAwNGEwMCByZWxlYXNlMjQtbWFpbnQKKzQ1MzI0IDIxZmNjODZlNDgyMDgyYmVjNmJkOGQzZDE5ZDUzMTVjMDI1NDA2MjggbGVnYWN5LXRydW5rCis0NTMyNSA4Yzk5OGM3NjAxOTEwZWQ0ZWNhNTNlOGEwMzIwZWJiOGEwYThkMWM2IGxlZ2FjeS10cnVuaworNDUzMjYgNzRkMDQ4MzhjZDExMjc0ZmE2MTUzODAyMDhiYzM2YmE3Yzg4N2QwYSByZWxlYXNlMjQtbWFpbnQKKzQ1MzI3IGI1Zjg5OWMxODdkNGM1Y2U3YTE3ZGExNjlkOWE1YjMwNTU5OTQ3ZjYgbGVnYWN5LXRydW5rCis0NTMyOCAxMjU2NzE4OWVmMjU3MWZkZmE5NjJkZjM4NWIyYTI3MTQ2YTE2ZjkyIGxlZ2FjeS10cnVuaworNDUzMjkgZGVjMjU5ZTRkODkxNmM2NWQwMDA1YWUyNDBmMDM3OGNhYzViN2UyOCBsZWdhY3ktdHJ1bmsKKzQ1MzMwIDJmM2YyZTMyZGZkOWQ3NmU3MTk4NjNlZTE1YmViMDExOTkxYWJjZDYgbGVnYWN5LXRydW5rCis0NTMzMSA3ZGYwYzQ0ZjM5ODYyMzY5OGRjZjMwZmI4ZTczNzA0MWM3OWU4NjFkIGxlZ2FjeS10cnVuaworNDUzMzIgYjYzMTlhNjk5ZGFiYTFkNTllZTk2MDJiOTQ5MDBhMzI0MDhkNTA1NyBsZWdhY3ktdHJ1bmsKKzQ1MzMzIDJjMDg0ZDgxYzk1MTQwMWRkMDllMDNlYWQ4MjFmMmY1YmYyZGZjMzkgbGVnYWN5LXRydW5rCis0NTMzNCAwNTRhY2VkZjNjMGQ5MGMxNDQxOWI5ZGUwMTQ4MGExOGQ0NGJiOTJiIGxlZ2FjeS10cnVuaworNDUzMzUgZjQ1YmMyNDFlMjAwMGIyZWEyYzdlMzYxNjFjYTIxNTRlZTcxNWVkOSBsZWdhY3ktdHJ1bmsKKzQ1MzM2IGIxYzZhMzg2NGIxZThjMTY5MDhlYTczMGM5ZGZhY2QwMzIyZTc0OGQgbGVnYWN5LXRydW5rCis0NTMzNyAwNjc4Y2U5ZmI2YjJiMTExMGZiNmI2NjkzZTIzOTZhYjE1YzY1ZjBlIGxlZ2FjeS10cnVuaworNDUzMzggYTg0MGU5YmFmZjk2Y2M5NzI1NmRhYzJlNWY0ZDAxZDI2NjFmZjY4MSBsZWdhY3ktdHJ1bmsKKzQ1MzM5IGQxM2RlZDkxNjVlYzQ0MTQxZjA4MGExNjkxOTU0MDA2YjJlM2I0ZmEgbGVnYWN5LXRydW5rCis0NTM0MCA2NjY3NmE4ZWNiNTJjZTRjMDMyMGQwNWNlNDg2ODZiZjMyYWRkZmMyIHJlbGVhc2UyNC1tYWludAorNDUzNDEgNWE5ZmNkNjc2YjNmZTllZDEwODcxZGNlYmUxZjIzM2ZlOTE3YjFkMCBsZWdhY3ktdHJ1bmsKKzQ1MzQyIGIxNzI0ZTkyNmUwN2M0Njk1ZjRkMGU1NWI0ZDk4OGY0Y2MwMDQ2YmEgbGVnYWN5LXRydW5rCis0NTM0MyA0MzQyZTQ0MWIxMWNjYjU1MDI4YTViM2NmMjAwMDczYzJmM2ViNjM3IGxlZ2FjeS10cnVuaworNDUzNDQgYjkzYzA1OTYwYTE1ZmFiNmM3Zjg2YWNmZmZlZjI0NTgyYzM1YjM0OCBsZWdhY3ktdHJ1bmsKKzQ1MzQ1IDM2YmZlNDZjNWM2YTYzY2JhOTFmNjMzZDkwYzFkMzNkYjBjNzg4YzMgbGVnYWN5LXRydW5rCis0NTM0NiAzZjk3MzlkZTY2MDMzMzUzYzM4NDVjMjc4MWIxM2I4NGFmNDE4MTI2IGxlZ2FjeS10cnVuaworNDUzNDcgMGEyOGYxNTc4NzVlMmMxMTQ0Zjg5MjE2YjYxM2MzNGNlOTUyOTBmMiBsZWdhY3ktdHJ1bmsKKzQ1MzQ4IDYwNjgxOGMzM2U1MGZlNjcyMzA4MzBkZDc1NWI0ODRkZWZmZmY4MDIgbGVnYWN5LXRydW5rCis0NTM0OSBhNDIzMWFhMzIwMWFlMWEzOTRlZTY0M2M1YTQ3YzdjMTk0ZjY4NGNhIGxlZ2FjeS10cnVuaworNDUzNTAgODZkYjZkZjI0MTc0NDhkYWFjMGE0MmZiNWQ4Yjg2ZWEwMDA5OWIzZiBsZWdhY3ktdHJ1bmsKKzQ1MzUxIDNhMzllZDU5N2I2OGFhZjc2MDMwMDhiM2Q0ODYyYmU4OTNhYWZiMWMgbGVnYWN5LXRydW5rCis0NTM1MiBlNzk1ZDZjODZhNWVkZTk4NDFhMGFhYTRjZjk3M2FjYzFlODc5ZTRiIGxlZ2FjeS10cnVuaworNDUzNTMgMzBkNmI5ZWFmMDJkYjhlMjlmM2ZhZjYzZWE5YjI5Y2RjMjM1ZWFjMSBsZWdhY3ktdHJ1bmsKKzQ1MzU0IDU4NjQwOTgzZmQ2NmM2OWU3OWJlOTMxMzcyNWU1N2U5NzU2NzVlZDUgbGVnYWN5LXRydW5rCis0NTM1NSBmZTg4ZTAxZmY2ZGU4YjQ5MjdiZDg3MmU5OTFlZWRkZjJhOWMxZGQwIGxlZ2FjeS10cnVuaworNDUzNTYgMjNlZGYyOTBiNjc2ZjIwYjhkNTUwMDc4OGViOWFkMmE5NzcwN2RkNiBsZWdhY3ktdHJ1bmsKKzQ1MzU3IDVhNGI5NjQxMjMyZjg1ZmZjNTA4OTliMTcwOTRhM2U3MzY2NmI2N2UgcmVsZWFzZTI0LW1haW50Cis0NTM1OCA0MTMzZTg0MWYwY2I5MWRkMTg1MjRmNGVmN2ExYTVlMzlhZjg5MGViIGxlZ2FjeS10cnVuaworNDUzNTkgMzk5YjExOWMwNThhMWI5NmNlNDI2YmViNDllYWIwNDE2MjM0Y2JiOSBsZWdhY3ktdHJ1bmsKKzQ1MzYwIDVlNzJiMGM3NDEwMGQ3NTBkM2E5ZGU5ZjA1ODk1MTcwZDUzYWIyNDQgbGVnYWN5LXRydW5rCis0NTM2MSA5NTNlYjNkYzE4ZTU0MzFmMTA0NjU3MjM5ZWI5OTczYTc1MzZmNTY5IGxlZ2FjeS10cnVuaworNDUzNjIgOTk3NTEyODllYTAzYmFkMzVmNTk5ZTgxNWVhYmEwNjg3ODU4NzFhNyBsZWdhY3ktdHJ1bmsKKzQ1MzYzIGIzNTBlOWQ3OTFlNmUyZWY3MzBlZjI3N2VlNDcyOTkzNjRiNzVkZTkgbGVnYWN5LXRydW5rCis0NTM2NCAxYjViMTZjZGJlMGUxYTBiY2JiMzc0MjZkNjJmY2M1MzQ5Y2Q2MzYzIGxlZ2FjeS10cnVuaworNDUzNjcgNzUxZjdjNzliNWZkMTQ1OTQyNThjNWMwMTNkNjYzYmU1NTU5NjE2ZSBsZWdhY3ktdHJ1bmsKKzQ1MzY4IGVhYzgzZmVlYjExZjZjOGNiNDIyODBhZTk4MDViZWMyODE3YjBiMWIgbGVnYWN5LXRydW5rCis0NTM2OSA0ZDdiMjIzN2ZhMDdmMzcxZjg5ZmU5NTkwNzVmNjBmNjNlYjFmOTk0IHJlbGVhc2UyNC1tYWludAorNDUzNzAgMzA4ZTJlOGVkNjc2NjFhMjJjODliOWExNDU5ZTJjMjk5YzM2ZWNhYiBsZWdhY3ktdHJ1bmsKKzQ1MzcxIDkxYWVjNDc0NjIxODVkZTQzNzQyOGEzMmUzNGNiYzkxODA0ZTkwZTcgbGVnYWN5LXRydW5rCis0NTM3MiBhYzc5ZTkwMzdlMDZjZjM2ZDJmOTNkYmI2OTQzNzBkZTFhZTUxNGFjIGxlZ2FjeS10cnVuaworNDUzNzMgNzIwNDc0OGMyOTIxNWQ4Y2Y0ZDY1YmJkNjc4NTM4MWU3NTViMmRhNSBsZWdhY3ktdHJ1bmsKKzQ1Mzc0IDdlZTQwNjhlMmM2MmEyNTBlMmE5ZWVjMmJmOThiYjA5MjNkZDZkMGEgbGVnYWN5LXRydW5rCis0NTM3NSAyNTRjY2NiN2VmMTc2OTlkOWM4MzE2MDBiY2E4N2U5YzdjZGJhNDkxIGxlZ2FjeS10cnVuaworNDUzNzYgZTA1N2FmMmRmZmNlYzMxOGUwN2UxYzAxMTM3MDk2MWJmNjMwZjcyOCBsZWdhY3ktdHJ1bmsKKzQ1Mzc3IGZiY2RmN2MwY2M3NGQzMTM1Y2JlM2U0ODVkMjhjZGU3NzE1NGE2YzQgbGVnYWN5LXRydW5rCis0NTM3OCAwYTBkODlkNzEwYTRkZjE1YmU2MmM1ZmRlZDExODllMDUwMWFhMTMzIGxlZ2FjeS10cnVuaworNDUzNzkgOWIyMmQ4YjdiY2FhYzQzMzU2MTgwZTYwZjZkOTc1MmEyNmY0OTk4YyBsZWdhY3ktdHJ1bmsKKzQ1MzgwIGVlNTczNDk3NDRmMzcxMWFiM2RlMGUwYzZmYWVjMmQ4OTYzOWM5MmMgbGVnYWN5LXRydW5rCis0NTM4MSBiYjNmOTA3NmQwNzljNWY0NDNlZWMxZDU3MmMwODYyOWU2Y2NmMTE1IHAzeWsKKzQ1MzgyIDkxNTBlMjYwYzQxNzRhNzU5OTQwODNhZDVlNWFmYTQ2ZWQ1ODY3NGYgbGVnYWN5LXRydW5rCis0NTM4NCBkNzFmMjZlNjQ0ODllYjFmN2VkMzk0ZmE4N2FmYzVhZGUwMjM1NjBlIGxlZ2FjeS10cnVuaworNDUzODUgNzg2ZDAzNTZkZTUxM2EyZmIzNGYxZTAyNDg5NzBhZWRmYTcxMDU3YSBsZWdhY3ktdHJ1bmsKKzQ1Mzg2IDIzMGZmZjZlMDYxOGQyNDFiMWVjMjc2YjY4ZWU3ZjcyMzBiOGVhMGYgbGVnYWN5LXRydW5rCis0NTM4NyAzN2E4ZWI3NGM1MDQ2NTEzNmM1NTQ2YTk5YWRmYzZmOTNkOGU3YTgxIGxlZ2FjeS10cnVuaworNDUzODggY2NiM2FmNDliY2IzMDFjNzI1ZmE4NTkxYTM1MWIyNjE5ZWRkMmViYyBsZWdhY3ktdHJ1bmsKKzQ1Mzg5IDIzM2IxMGVjZmNlZjY2MmVlYjlmMWNhOTRhNTJiYzIyNjdlNTcxZDQgbGVnYWN5LXRydW5rCis0NTM5MCA5YmVmMWRlYmNiYWE3Zjc3Njk1MzI0YTI5MTVlMjIyYmIzYTk5YzY5IGxlZ2FjeS10cnVuaworNDUzOTEgOTFkMTZhODdjYmU4ZWE3NmU3MjgyNWI5N2YwM2RiOGYzZGNhYzEzZiBsZWdhY3ktdHJ1bmsKKzQ1MzkyIGVjOTg2YWFiZTFmZGVmMjcxMDNhZmE1MTc4M2E5ZDllZmI3NmExMTAgbGVnYWN5LXRydW5rCis0NTM5MyBhZmU1NmI5YjY2NGIyNDE3NzZjNTQ1MzhlYmFlMmY4ZDFjMDUwOTA3IGxlZ2FjeS10cnVuaworNDUzOTQgMWQ1YTRjODIwNjFlNjhkYTNjZDFkOGQ4MjkxMzkyYTg4NzI5NTdiMCBsZWdhY3ktdHJ1bmsKKzQ1Mzk1IGQ3ZGMwMDg1ZGQ4NWM4YzQ2NDUwMDczM2FiM2M5ODBmOTIyYTBlNDggbGVnYWN5LXRydW5rCis0NTM5NiBhZjQ3ZGE1ZTljZTE0ZGI0YWNlMjIwYWI5ZmRhMDhlMDQ4YWUzMDk4IGxlZ2FjeS10cnVuaworNDU0MDEgY2Y3MWMzODE0YjBiMzE3N2M5YzAyOTA5NDFhYzJiOWJiZWEwMDY0YSBsZWdhY3ktdHJ1bmsKKzQ1NDAyIDEzNjZiZmEwODRlZTcxNzFhNGYwMjc4MWJiZTk3OWJhODlkZGU1YzUgbGVnYWN5LXRydW5rCis0NTQwNiA4NTZiZWUxNTAwYmJjZGVhYzAxNjZhNjMwOWUzN2YzODE3YWYwN2Y2IGxlZ2FjeS10cnVuaworNDU0MDcgNjQ0MWY2ZmE2NTcxYTdkMmJhMjY1MGYzZjM0ZTZlOTEzODBlYzM2MyBsZWdhY3ktdHJ1bmsKKzQ1NDA4IGI5NDBhYzRmOTU1ODZhYmMwYTc4NGFhMzVhNDJjOWVlYWUyZDZlOWYgbGVnYWN5LXRydW5rCis0NTQwOSAzMTkyOWRhMGIwNWFmYTEyOTU0NjE3ZTQxMGUzODVlNjZiZjQ4ZTUzIGxlZ2FjeS10cnVuaworNDU0MTAgNmU5YWI4N2M2MDhjZDkwNTUzN2E5ZmNiMDdkZDUyMTk2OTY2MDI2NiBsZWdhY3ktdHJ1bmsKKzQ1NDExIDI3YTYzOWM0NDcxYTRlMDA3M2I2MDlkMGY2ZmU5MWVlNjVjMzMxMzYgbGVnYWN5LXRydW5rCis0NTQxMiA2MmM5MDM4YTU3OGE4YTkyMjdlNzJjMGJlMTEyYzc5YTQyMWM0MmYzIGxlZ2FjeS10cnVuaworNDU0MTMgNTg4Zjk3YjI0YmY5ZTFmZjY1NjcwNGFkNDM5ZDI1MjNmZjY1ZDM5MCBsZWdhY3ktdHJ1bmsKKzQ1NDE0IGM2ZGY1ZTc5NTQyMzAzOWMzODQ4ZWFiYzU3OTExMjY2MTViMGNiYTAgbGVnYWN5LXRydW5rCis0NTQxNyA1MzA0MDU5ZTdkZTNiMWIzM2IyNDAyZmQ5MDkxMjJkZDljZGE4ZGYzIGxlZ2FjeS10cnVuaworNDU0MTggOWIxNmU4MTYxZGY3NzdkMTAxODZlYjk4NjM1ODg1Y2JhMmMyMDA1MiByZWxlYXNlMjQtbWFpbnQKKzQ1NDE5IGJmYzQ4YWQ4MWU4MDRjYjI1ZDY1OTMyOTQ2NzIwZjU4ODVjNzJkODYgbGVnYWN5LXRydW5rCis0NTQyMCA5ZjgyMTAzMjU0ZmE0ZWJlYzUxNzhjNDBhYmVhMDM2MGExMzM1MzI2IHJlbGVhc2UyNC1tYWludAorNDU0MjEgNGM2ZDQ2OThhMTE1ZGM3Nzc0NTAyZWYxYTUyNzI1OTRkODAyYmJmYSBsZWdhY3ktdHJ1bmsKKzQ1NDIyIDA1YWYzOWE5MDc1NDM1ZGZiMWZiYTQ2NmE5MDljMGYzYzkzMGQ1MGYgcDN5aworNDU0MjMgYjAyNzBjNjgwNDJlZDQ3ODRhY2VjN2FlMDFmMTA4NjY3Yjg0OTE2YSBwM3lrCis0NTQyNCAwYTEzYTk2NTg1YzNkMzY3NjI5MDYyZGViZWRhMjBjNzIyNGY3ODc3IHAzeWsKKzQ1NDI1IDRjYzM0YWYwMTlkMmMyNjNiNzYwZmExZTg3OTU2MmI2ZjQ3NTE1MTMgcDN5aworNDU0MjYgZmIyYWZmMTg2MmU0NmYxOGQyY2NiYjAyYWRlNTU1NTZiYzg1ZTZjZiBwM3lrCis0NTQyNyA4ZGFhZTdiYTA3OGE1NTQ1M2FiYzQ4MDg1MTFiODU4MzUzMzUxM2IxIHAzeWsKKzQ1NDI4IGE2N2YyMTU4ZDYxYjFhZWFmZjliYzM3OGE1N2E3NTllZTM2NjIyYjcgcDN5aworNDU0MjkgYzQ3Y2NjY2EwYmY0Mzg2Zjg1ZTA2ZDg1NDUwMDRjMzliZmU0YWVlZiBwM3lrCis0NTQzMCA3Y2FlNjIyZWRjYzk3OGQ0MWQzMThjM2I5NzMyYmE2MGNkMDgyOWQ0IHAzeWsKKzQ1NDMxIGE1Yzk3N2U2ZjVkYTE0OGJlNzgzNmM5ZDhmNWQ1YzAwYmRiZDg0MWMgcDN5aworNDU0MzIgMzUzZmUwNmRhYjViMzcyNWM3YTUwNGZjNWVjYTNjYmRkNzZjNDI0YyBsZWdhY3ktdHJ1bmsKKzQ1NDMzIDYzNmNhODBhOGNiZWRjNzA1YmU2YzQ3ZmQwMTU4ZDE4OTNmZTI5ZWQgbGVnYWN5LXRydW5rCis0NTQzNCBhNTkwMmUwZWMwN2M4YmE4NjllOWI3NzVjNzk0YzUxMGQ1ODE4MTI5IGxlZ2FjeS10cnVuaworNDU0MzUgZDE1NDc0MjZhYjYxMDZlY2FkMmQzYmIwZWYzNjBmNDdmNmM3NDRhOSBsZWdhY3ktdHJ1bmsKKzQ1NDM2IDI0MDA5ODkzNWNkNWViZDE4ZGRhMzBkMWZmNDlkOGUyYjhkMWVlYzcgbGVnYWN5LXRydW5rCis0NTQzNyA2MzE0NWMwNmRlZWViNDgzZjM0YmY5MjgxYzA5YzRhMWQ2YTZkMGVhIGxlZ2FjeS10cnVuaworNDU0MzggMWQwMjM3NGY0YzdlMWE1YTQ2MjIxYzA2ZDFlODY3NTFkOTlmNzQ4MCBsZWdhY3ktdHJ1bmsKKzQ1NDM5IDdmNzI3OTFmMGFlYzMyZjY5MDQ3ODdhNzJiOTczYTc3OWI3ZDY2MjcgbGVnYWN5LXRydW5rCis0NTQ0MCBhYmY4MjQ2MWU2YjRkZjUxZjUxMTdmMTI1MzYzMTg1MmYxNmM4NWEzIGxlZ2FjeS10cnVuaworNDU0NDEgOWUzODJmMmY0MzlkOTc3NTIzMDY2ZTZmNWFkN2E4MTBiN2ZjZDExYyBsZWdhY3ktdHJ1bmsKKzQ1NDQyIGI3MzczYmMzYjA5ZjMzOTJiYmEzMjYyZDEyY2VmNzBhNWU3MTQ0NDYgbGVnYWN5LXRydW5rCis0NTQ0MyA3YjJlNDM2YTRhMjExYzJlNTdiZjRhODRiZTIxZjFhNWNhY2FjOWI5IGxlZ2FjeS10cnVuaworNDU0NDQgZTEzODhhYmE5ODk2MjNjYTAxNmM2NzlmNGI0YzZhNmM3NWYzNGY2ZCBsZWdhY3ktdHJ1bmsKKzQ1NDQ1IDliNzhkYzA3YjE3MGNjNjY1MDU5NDk2MDE0ZGYxMDM2MDIzMTRkZjcgbGVnYWN5LXRydW5rCis0NTQ0NiAzNTNiNTk2NTFlNDUwZTE0MjYyNDA5NDE0MGU0YTQ0MzMyZjQyNDJmIGxlZ2FjeS10cnVuaworNDU0NDcgOWViNGRjMWNjODNlN2E2MzEyNGFiOGNjODJjOGZjYjAzOTM3MjNlNiBsZWdhY3ktdHJ1bmsKKzQ1NDQ4IDgzM2YzODRlYmQ0MWI2MzAyZjJiNzFkZDM3NmQ2MjgwZjg2NGM1OTEgbGVnYWN5LXRydW5rCis0NTQ0OSBhMzljYzg0ZmYxODU2YzdhY2M1YmM3ODFjNjc4NjJiNzBjNzAzZmZkIGxlZ2FjeS10cnVuaworNDU0NTAgYjdhMzk3MmU5OTE1NzI3ZTk3M2E4NDY4NGYyMGNjYWQ1ZTRkYTM5NSBsZWdhY3ktdHJ1bmsKKzQ1NDUxIDk2YWRkYWEyNTg2OTcwYjA4MDk4ZjhkZWE1ZDIyNzNlMDc2NWYwN2QgbGVnYWN5LXRydW5rCis0NTQ1MiAwYTU0YzE1YWExNDNjNGQ2MDAyMDgxMzZkMDFlNzc2Yjk4NjdhNjU4IGxlZ2FjeS10cnVuaworNDU0NTMgZjFjOTg1M2RmMGY3ZDRhZTZhNGRiNDk3YzJlYmFhZjdiYmQwMGY2YSBsZWdhY3ktdHJ1bmsKKzQ1NDU0IDdjYzMxNTE2ZjgyNThmZjE2Mjg4MDEwN2RkYmQzYWM2ZWE3NDcxZjkgbGVnYWN5LXRydW5rCis0NTQ1NSAzOGQxN2Q1MWVhOTVkNDQ4NzUwNDFiODljMDUwMTY3ZjJjNzUxNjBiIGxlZ2FjeS10cnVuaworNDU0NTYgMDFlNTFmNWRiODgxYjg1YmExZTdhYzlkZDEzNjU5MTM4NDU5ZWFjNCBsZWdhY3ktdHJ1bmsKKzQ1NDU3IDMxZGNjMzExMTEzM2JlNzAxOGRjMDRmMmQyMWY3YThhYjYxYmNjZDcgbGVnYWN5LXRydW5rCis0NTQ1OCAwODRkMTg4ZTdkYmVmN2FlZDY5OWFiMjdiMGM3MDhmYjY5Nzk2NWJlIGxlZ2FjeS10cnVuaworNDU0NTkgYjkwYTdjNjAyMWJjYzQyMzgyZGE2ODhmNGY1YWQwYjQ0MjY4MzE0NyBsZWdhY3ktdHJ1bmsKKzQ1NDYwIDYwNGM5YmNiMzA2YzZkMjZiZDMxYjIyYjk2Njc5ZjIwOGFjZDBiMmIgbGVnYWN5LXRydW5rCis0NTQ2MSA1YmI2ZTU0Zjk0MDhmNjE3NmM5MDU5ZDdmM2I5ZDZlZGI2OWQyNTFjIGxlZ2FjeS10cnVuaworNDU0NjIgZDhiMjNiYTRhMjc0ZWNmNGVkNzZkZGM1OGVmMDAzOTE0MmYyYmE3OCBsZWdhY3ktdHJ1bmsKKzQ1NDY1IGIwMDQ0YmI0ZGYyYWVkY2ZiZjMxMWRmNTk5MWQ5Y2RiNWQ1MmJhYjcgbGVnYWN5LXRydW5rCis0NTQ2NiBkNGFlNWEyNjE1Nzg4MmUxZDEwZjc5YTQyNjZkOWY1ZjkxOWIwNWQ4IHJlbGVhc2UyNC1tYWludAorNDU0NjcgYmUyMzhjYjI2ZDMyNWUzNTgzMmQ3ZTllMWFlNTBkY2MxODUzYTQ3MiBsZWdhY3ktdHJ1bmsKKzQ1NDY4IDdiYmI5YjVmN2FkY2ZkOGUxOTk0NDY1NTQxYjc4NDc4ZjhlNjJjMzkgbGVnYWN5LXRydW5rCis0NTQ2OSBiOTViNWMzM2NiM2E1MzMxYmVhN2M1YWM1ZjdlMzE5MzAwYTVkYWMzIGxlZ2FjeS10cnVuaworNDU0NzAgMzAwYmYxYzRkZWVkZTdjMWQzZWFmN2M3NWZlOTJmMzU4OGRhZjYxOSBsZWdhY3ktdHJ1bmsKKzQ1NDcxIGRkZjhjOTE0NWYxMzYzZTgyZjhjNDNjN2IwYTA5ZmJkZDNhOTBhZTggbGVnYWN5LXRydW5rCis0NTQ3MiBiNWZjZWYxNTgxMzNhOTc2ZjYxZmFiZTY1MmYzODMxYjU0NmQzZjkyIGxlZ2FjeS10cnVuaworNDU0NzMgZTIzOWQ3NDVjNjQ3NDAzNzYwMGNhMTQ4M2RhMmM2NWYxYzhhN2Q1MyBsZWdhY3ktdHJ1bmsKKzQ1NDc0IDJjNzZmNzFiMjIzZGU3NWE4OGNhZjlmY2U2NzEyZTJmMmQ5MjUzMzYgbGVnYWN5LXRydW5rCis0NTQ3NSA1YzQ1MzMwMmQ1ZjZhMGVjNDIxNDlhYTY2ZTdjNWQ0ZTQyMThjYzBhIGxlZ2FjeS10cnVuaworNDU0NzYgZWMwMGI3OThhYjU2OWVhZTg0N2ViNmY2YWM4N2YxNzhiMGQ1OGViYSBsZWdhY3ktdHJ1bmsKKzQ1NDc3IDMzNTIyMzQyMjE5OWNlNDMzMjg2ODgwNmYyYTgyZmRkMDExNWI4MzMgbGVnYWN5LXRydW5rCis0NTQ3OCBkZGE3Y2M4OGMwNWFhYmMwNjFiOWI5NWZjODE5YWJmNDE1ODMxMWRkIGxlZ2FjeS10cnVuaworNDU0NzkgYzA0MTM2YTgwNjJhMWRiZDUyNWY4M2I2YWVhNjFiZGM3MGM4YjI4YiBsZWdhY3ktdHJ1bmsKKzQ1NDgwIDM4NGU5MTIwMjU3OGY5MTcwNWRkMTBhOTgzMmVjMzQyZjQ3MjlmNmMgbGVnYWN5LXRydW5rCis0NTQ4MSBlODE5Yjg2YTE1MDZhMDM3MzUxM2UzMjZiMmMyOTJhZmY5MTk4OWIzIGxlZ2FjeS10cnVuaworNDU0ODIgYzk0ZDc3MDUwODVhNTQ1YzNmODFkNzZhNTVlOGZiMmFjYThkODU0MSBsZWdhY3ktdHJ1bmsKKzQ1NDgzIDE5YzFiYWMxNWJkZWExNDg3MzBkNDljYmEzMDU0YmM5NzNkNWEwNDAgbGVnYWN5LXRydW5rCis0NTQ4NCBiMzc0MTQwZTQ2N2QyZTlhM2ZhMWIyNTllNzg1YWNmYWY0MTk0ZDc1IGxlZ2FjeS10cnVuaworNDU0ODUgZjc5OTFjZTQzMWU1MmVmNjcwN2E1ZTljYjVhYjAyOWY1MGRjZjYyNyBwM3lrCis0NTQ4NiA2ZjM1ZjdiZTM2YzNkNDVmNzkzODEzNmVlNzc0MjE5NDUxOWQ2OGEwIGxlZ2FjeS10cnVuaworNDU0ODcgODFiZjRkMzc4YjllNjc5ZDcwNDNiNmIzN2ZiOGEyYWQyYWMwZDc3ZCBsZWdhY3ktdHJ1bmsKKzQ1NDg4IDcwMmQ1OTdmMmY2ODljMmNmZDRhOWJlZjgwNzE3YzExZjc3OTMwYmIgbGVnYWN5LXRydW5rCis0NTQ4OSBmMTE3YTVmZGU0ZTU5YmRhZWNhMjBlNDgyMGQ0YmRlNDdkYTAxNWQxIGxlZ2FjeS10cnVuaworNDU0OTAgNGQ4MjA5M2UyZTE5NzgzNjcxNjZkMmUzODg3MzA3MmE4OTI2NDg1YSBsZWdhY3ktdHJ1bmsKKzQ1NDkxIGZiYmMwYmVmZmZmNzc4ZmE5YTM4YThiOTA2YWE5OGVmOTRiYjQwOGYgbGVnYWN5LXRydW5rCis0NTQ5MiAxOWQyNDc3YzEyODMxNjhiODEzNTFjOWU5NTk2MGRiMzhmNTI1ODA2IGxlZ2FjeS10cnVuaworNDU0OTMgNmNmZTQ4ZTY3MmM0ZTA4Yjg0YWY0NzlmOWQwNTNjNzRiNjIzYWIyMiBsZWdhY3ktdHJ1bmsKKzQ1NDk0IGVmZTc0OTIyNWJhZTJjNjUyZjgxOThjNTU4ODBiZjA3YWMzNWRmNDggbGVnYWN5LXRydW5rCis0NTQ5NSBkZjllY2FjYjBiZjY3YzBhNTM4NDJjYTQ2ZmQ2ZWJmOGJiN2FjMmZkIGxlZ2FjeS10cnVuaworNDU0OTYgNWY0NTdmNDI2ZDkxNmMxOTlkYWJmMWNiNTIyZGIzNjc5ZWExZTk0MiBsZWdhY3ktdHJ1bmsKKzQ1NDk3IGNjYzBiNTQxMjc5OWVhOTExYTkzNmQ3YTkzNjQ4MzdjMDYyYjY4NWMgbGVnYWN5LXRydW5rCis0NTQ5OCAwODZkODQzNGM3ZjdkYzI0ODgyOTZkMGM4NzA0MWQzNDFkYWExNTBhIGxlZ2FjeS10cnVuaworNDU0OTkgNTk5N2Q3Y2VkMTdkN2RmZjM3OGZiMzIxMmY4MTY3YzhmMDJkZmZlMSByZWxlYXNlMjQtbWFpbnQKKzQ1NTAwIDZkOGUzZTY1OTQ3ZjJhMjU5YmMxZTBkOTZjYzZjYmQ2ZjUzZGU3ZjYgcDN5aworNDU1MDEgOTI3NDg3OWYwNDg0MjhiOGNlNjg1NjkyYjFlMTMxZGFjYzY5NzAzOCBwM3lrCis0NTUwMiA4NTY5NWRlNjA0OWUwMTNkMDRhZjlkZTNiMTFlNTk4ZjdjMWEzNGEwIGxlZ2FjeS10cnVuaworNDU1MDMgODYyNWU0YTVjZTRkMGJkYTQ1MjE3ODkxNDdiYWM2MDRjMTc0ZjIyNCBsZWdhY3ktdHJ1bmsKKzQ1NTA0IDIwY2IxM2JkZjFmMDA5ZDVlOWNmN2Q2MmE3ZDcwODEyMTMwNjY0NDIgbGVnYWN5LXRydW5rCis0NTUwNSBhY2I2MTgzNmY3ZmFhZDlkMTM2YzhkMDQxZjE2MDIwZjMxOTVlODcxIGxlZ2FjeS10cnVuaworNDU1MDYgY2M5MTkyNTA1YjQwNWJjOWM3MjI2ZmRiZDI1NmFmNWVjMjc1M2ZiMiBsZWdhY3ktdHJ1bmsKKzQ1NTA3IDJlMzI3NmRjMjMxZjc2MDVlM2RiMzNkMTQzZTJlZDUwYzhlNDU5YmYgbGVnYWN5LXRydW5rCis0NTUwOCA2MWFjMWUzMjJkYTc2ZDk3ZWUzMDdkMTQ5ZTdmYjIyMDY2NTAwZGVmIGxlZ2FjeS10cnVuaworNDU1MDkgNmViODZhNzFmNWM4MTY3M2NhZDI3ZmYyOTViZjk4NTQ1M2RlNGQ2NSBsZWdhY3ktdHJ1bmsKKzQ1NTEwIDMxMzU2NDgwMjZjNGFlZDUyMWYyZGRkNGZiYTNjN2JhMmY3YzdjYzIgbGVnYWN5LXRydW5rCis0NTUxMSAzZWRlMTc1ZWFkMzdhODk5NmQ1NGQyOTAyZDRjYmUwZWU5Y2ZiMzBhIGxlZ2FjeS10cnVuaworNDU1MTIgYTVlODc5ODdjYWU2M2VhOGMwYjQxM2I3Y2YxOTAzZDZkZTA1M2Y0MiBsZWdhY3ktdHJ1bmsKKzQ1NTEzIGUyNTRiOTIyYzRmMzRlZjBkMWI5ZDQwMzYwZjNiZmU0MWNjODA2MWMgbGVnYWN5LXRydW5rCis0NTUxNiBmYzU4OTc0MThmMzFiZDRkNjZkYmRhNmZlN2RlODJkODYwZGM5ZDNjIGxlZ2FjeS10cnVuaworNDU1MTggZjU4MzFmZjdjZmJkMmJhZjQ4ZjY0NzQ4YTA3MTIwYTAyZjg3OGViOCByZWxlYXNlMjQtbWFpbnQKKzQ1NTIwIDQ1NzdiMjQzYjk4MTM3OGRmY2EzMjQxMDhlNDgwZDdmZDJlNzhmZWMgbGVnYWN5LXRydW5rCis0NTUyMyBiZTJhN2VjNDYyZmU0MTc5ZjJkNDMxMzNlZGJkOTNjMmY1NzRjMGY4IGxlZ2FjeS10cnVuaworNDU1MjUgZjA0ODExNmFhZGUwNTc4Y2QyY2Q4N2U4OGFjYzI1OGUyZGUzODA2ZCBsZWdhY3ktdHJ1bmsKKzQ1NTI2IGU4OTJiNTQ0MjgzNTA4YWVkNTQ2ZDFhZTI5YzVmMWI2NjJlNTRmNGEgbGVnYWN5LXRydW5rCis0NTUyNyBkODJkY2VkNmYxZmE3NDA3YTNlYTEzMWI2MzQ4MWU4NDk5Nzc3NTYxIGxlZ2FjeS10cnVuaworNDU1MjggMTc0MDYyZjdjMWJlMDA2OGE5YmY1NzhiOGE1YjMyODEyYjJmNjBmYyBsZWdhY3ktdHJ1bmsKKzQ1NTI5IGVlOTBhYjI2MDg2YWE0MzUzOTg2ZGJiYjc3YWYyNDdmZDE5YjMyNzYgbGVnYWN5LXRydW5rCis0NTUzMCAzMWIwY2RhMTFhNmQ2ZWM5MjE3YTI2NWUwZmNjODU1MzBjOTU5MWY5IGxlZ2FjeS10cnVuaworNDU1MzEgZDQ4ODI0NGRmMjg4NGIxNDVkZjM4MDJhOGEyNDhiYmZlNWFmZWVmYSBsZWdhY3ktdHJ1bmsKKzQ1NTMyIDYzODY0NDQ1OGZjNzUyOWM2YjM4OWY3ZWJjN2RlYmVmNTU2ZTI0MDggbGVnYWN5LXRydW5rCis0NTUzMyAxN2NjY2E1OTBhZTkzNzc1ZTgwYjAwYjYxY2NlYzc5YzhiNGZlMGE2IGxlZ2FjeS10cnVuaworNDU1MzQgY2M0ODk4NWMzMjY2YzQ4ZDEzNzNmNTVhMTY4Y2UzNTdlODkwMDAzMyBsZWdhY3ktdHJ1bmsKKzQ1NTM1IDkxM2QzNzkwZmQ5OWU5MWZhOTUxYjMyMDA0Y2Y4OGU4MjQ2MzNiYjcgbGVnYWN5LXRydW5rCis0NTUzNyBlMGE2MDMxZGY3YzBlZGRmMzUxZTZkN2IyNjkxN2IwOTk3NjQ3ZjE2IGxlZ2FjeS10cnVuaworNDU1MzkgMGMwMTIyYmQwZWEzMWQ2YzRlNjlmMzhmOTEzYzExZWQxM2JlMDJhMiBsZWdhY3ktdHJ1bmsKKzQ1NTQwIDI0MGZlNDk1ZDE4NjcwYTIyMmJjMjYzYmZlNWE3OTdjYWU5ZjFhZDYgcmVsZWFzZTI0LW1haW50Cis0NTU0MSA0ODhmYmI0Y2E4ZTUxNGQ2ZmYwY2Q4YTQ5M2FlODgzYzA0NzBhM2I3IGxlZ2FjeS10cnVuaworNDU1NDIgODcyNWI5MDdhY2JiZmVkZmRmZjJkNDliM2FhZjE0MjcwYmVhYmEzZCBsZWdhY3ktdHJ1bmsKKzQ1NTQzIDM1ZjI3YmJkOWFkOGEyZGY1Zjc3MzcyYmM1OTIzNDJmMTE1NzJkOTcgbGVnYWN5LXRydW5rCis0NTU0NSBkNjRiYWRhYzZjZjMxMjY1YzlhZTY1NzRmYjE4NmQ1Yzk3OWY5YWFhIGxlZ2FjeS10cnVuaworNDU1NDYgMTJhYjIwY2Q3YzI3M2ExYzFjMzM2ZWNkOTFlMmEzM2VhZDRiMzI3NCBsZWdhY3ktdHJ1bmsKKzQ1NTQ3IGRkNDE1NmMzNjcwM2ZhY2Q3MjZkZmI3NDFmMTRlM2RlMWM3MDBiZTAgbGVnYWN5LXRydW5rCis0NTU0OCA0MWYxM2I1NmRjMzJiY2U4NDk2ZjcxNTAxNzA1ODQyZjkzZjllOTlmIGxlZ2FjeS10cnVuaworNDU1NTAgZWJlNTljZDE4MjczMDJkZWNlODBjMDk3MDhlZTY0N2YyOTgzODEyNiBwM3lrCis0NTU1MSAxOTA0NWM1ZjBiYTJkYWM2Mzg1ODQ1YWFhODI3OTExYzZjZGJlOGMwIGxlZ2FjeS10cnVuaworNDU1NTMgODBlMDAzNDk2NDdkMGQzNjE2YjEwNjBlNzM0YWUxYmY0ZGZjZTc1NyBsZWdhY3ktdHJ1bmsKKzQ1NTYwIDI5MjU3ZWY2YWJlYjdlMDFkMTM4YmUxYjA5ZjIzNWY5MjEzNjc2NjEgbGVnYWN5LXRydW5rCis0NTU2MiBiN2Q0NzFlMTIwNDI3NmFmMjhlNGNlMjg4MTYwZTA4YjU5OWRmN2I3IGxlZ2FjeS10cnVuaworNDU1NjMgZGM4ZWZkNzBhYjU2ODY4MTBmMWE2Njk1NzUxN2Y0MzFiYTRmZGZmNSBsZWdhY3ktdHJ1bmsKKzQ1NTY0IGFjZDhmYmE2MTk0MzBmODFiZWQwYWY4NGE2MmI0ZDFlMzE2Y2M2OTUgbGVnYWN5LXRydW5rCis0NTU2NiBhNGQ1Y2VmYzJkZTQwODUxYzgwNzIyYjhlYjMwNTY5MTQ0MDk0ZWVkIGxlZ2FjeS10cnVuaworNDU1NjcgNzRmNDU5YTI4OWJlOWRkMGIyZjg4NDBjNTI3NzkwZDY3ZmZmMDlkNiBsZWdhY3ktdHJ1bmsKKzQ1NTY4IDU2NGVjOTczNjVmOWQ5ZmFjZGMzNGYyMjVmN2QzN2VhYTdkZDVhYjAgbGVnYWN5LXRydW5rCis0NTU3MyBkNGFlOWMwMzI1YjFhNzlmZDkzOWUyNmY0NDNjMmQ3MTBmYzAxZThkIGxlZ2FjeS10cnVuaworNDU1NzQgZTk2ZDFjYWQ0NjgyMDVhMzdjN2MwYmJiM2JiMjMzMzE4NTkzNmI1ZiBsZWdhY3ktdHJ1bmsKKzQ1NTc1IDQ3YWM1MjRkYjhhN2M4M2U4ZGU0YTg5YTE0MWYyMDlmMzVhN2Y0OTUgbGVnYWN5LXRydW5rCis0NTU3NiA0NzdiZjkzMGYzZTdmNGVkMTFlNWFiYmI0ZDAwYTlkZjlkZGIyMTRiIGxlZ2FjeS10cnVuaworNDU1NzkgNzVlNzA2YzM2Yzg2NGExNDdmNmUzNGNhYjYyMzI2YWQ0ZDBmMzJkZiBsZWdhY3ktdHJ1bmsKKzQ1NTgwIGQzZTVjOTU2NTgxY2UyZWNlODA2NzRkZDZiMTE3NmQwZDA5MmViNDEgbGVnYWN5LXRydW5rCis0NTU4MSBiMGYzN2Y5ZmM2M2ZmOWI2NzA0ZjNlOGQ4YzBkODkwZGEzYjAzMGYxIGxlZ2FjeS10cnVuaworNDU1ODIgNGM4OTQ1NTJiOTY4MGY1NWI5YzVhMzdlZDJiN2I2NWVhMDkyMGM3MiBsZWdhY3ktdHJ1bmsKKzQ1NTgzIDJmYjE2YTYyOTQxNTc4ZGIwNzg3ZjFmZGE2NTg4NTA5ZDMwNjA2NTIgcDN5aworNDU1ODcgYWMxMjdjZDg2NmEzMTJmMmEzYmM3MWEzMTg5NGMyZTJlMzMzNjRmOSBsZWdhY3ktdHJ1bmsKKzQ1NTg4IGM0MzQxZTZjNmEwM2RlNGI4ZWRjZmQzOWE1OGJkYmU5OGY5MzJlODggcDN5aworNDU1ODkgYTQ3MTE3ZmEzY2E4OGM0NjBiNWVmMjkyMzBiNzBjYTZlZTVmNzc1ZSBwM3lrCis0NTU5MCBiMGY4ODE0M2RjNWM5NTAzMzViMzhlZjIwNTM2YTNmODgxNjA5NzU0IGxlZ2FjeS10cnVuaworNDU1OTEgZDM1ZGI4NGNhMDcyY2Y0OWFlMjNmOTc1MzE0OTRjYmQ2NGU4MTllOSBsZWdhY3ktdHJ1bmsKKzQ1NTkyIGI5YWFkNmE3NDQ1MmRjNWI3MTBlYjVhZWJlMzhjNTM5MzUzOGM4NmEgcDN5aworNDU1OTMgYTRjNzBmMzk2OGJlN2Q5ZjgwYTYzYTJiMjY4ZTM3NTU4MzEyMzU0NSBwM3lrCis0NTU5NCA4ZGY2MDc5NjMzNTU4ZTQyZTE5NzQxMDcxM2FmMDIwYjM3NWYyNzczIHAzeWsKKzQ1NTk1IDZhNDVmMjZlYTYxOWU1NzA2OTAzNzBmZjg1NThlYWRlYzg1ZjAyZmQgcDN5aworNDU1OTYgYjY4ZDIxMzY0OTE2NzEzYjUzY2JmNjc1ZjIxNTM3NjM4ODgwYjIxNCBsZWdhY3ktdHJ1bmsKKzQ1NTk3IGY3MzE4NTllOWIzYjkxMjY0YjMxMmE4MmMzMTI4ZDY2YTQyZDhmZmMgcDN5aworNDU1OTggOTZhYTVjZTg2NDQ1ODA3YmU0NzNmZTkzMzUwNTliMWVmNWJjZDBjNyBsZWdhY3ktdHJ1bmsKKzQ1NTk5IDcwMmQ4NWQ5NDE4YTc0NTYwM2FmYTg1MDBjMDQzNjkwYmY2MzYxY2UgcDN5aworNDU2MDAgYjI3MjRhMTJkZGNlNGZmYzZmMzkyNjU5NjI3MmMyMmZiNGY3ZmRiMiBwM3lrCis0NTYwMSA3MjI0NTE1OTI5OWUwMTUzYWZlMmJjMTk3ZDc3ZjExYjUyYzg4ZjNlIHAzeWsKKzQ1NjAyIGI0OTg0M2EzYTFkZjRhNGJmNTJkMjI1N2VhMDA5NDQ5OTNlZThlOTUgbGVnYWN5LXRydW5rCis0NTYwMyA5YmI2ZTM1YzFjYzQxOGI4MjViNDU3OTgxNmI4ZDIwYzNkMTYxMDY1IHJlbGVhc2UyNC1tYWludAorNDU2MDQgYzI4Zjc0YmVkODNiZjg0YmRhMGY2YzRjODA5MGM2OGI1YTM5M2E3OCBsZWdhY3ktdHJ1bmsKKzQ1NjA1IDMwMWM0ZWRlNDlkZDZlNjMzZjI5ZGQ3YWZlNTEwMjE5MGUyOGVkNWEgbGVnYWN5LXRydW5rCis0NTYwNiA1YmM5MTVmZWVkMTQwYTFmYjgxY2FhMDdjZWZjM2E4NjVmMjg0YWY1IGxlZ2FjeS10cnVuaworNDU2MDcgODEwMjU1N2FmZGYxNzY2ZTE0ZmIxOTljN2JjYTljMzM1NGE2MjUyYyByZWxlYXNlMjQtbWFpbnQKKzQ1NjA4IDc0OWFkMmEzNjkzZjIyYmU3ZDAwMzViMmJjYjhmZjExMmRlNDE4M2EgbGVnYWN5LXRydW5rCis0NTYwOSBkNjJjOWY2NDY2MzgxZTY3ZDlhMGM1MDg1MTYyNDE2OTJlMDZhNWRjIGxlZ2FjeS10cnVuaworNDU2MTAgYmQ3ODUzMzk0YzdhYTVmYTI5NmEwYTEyMmNlOWFiNDY5MGRhNjI0YyBsZWdhY3ktdHJ1bmsKKzQ1NjExIGQxOGEyYzg2NjYwOTVhMzdlZWY4ZGQ2Zjg4ZTMxYzU0MjhiYWJmOGIgcDN5aworNDU2MTIgNzNkOGU4OTc3N2UzMzAyNzdlYTQ4M2FmNDA3NDlkNzNkMTQ3ZDAxNyBsZWdhY3ktdHJ1bmsKKzQ1NjEzIDkxYTA5ODFlYzRjMmMxMDUzZTk2ODNjMzhkMjk0MWRlNDJhYTU0NWUgcDN5aworNDU2MTQgZjllY2ExMzNjZjg4NjljYzU4MjNkN2U3NWZmZjhmNmJhMDUwMDBlMiBsZWdhY3ktdHJ1bmsKKzQ1NjE1IGEzMTIwMmM5NDg1ZGFjZWI2ZDNkZjQxNDJlNGZiYTcyOTIwM2JlZWQgcDN5aworNDU2MTcgNzgxNDBiZTUzMTViYzdmZmE0MGZiOWVjNmY0YWU0NTlhMzkxNTg3MSBwM3lrCis0NTYxOCAzN2MyOGE2YWQ1MDExYzg3ZTdmZTRiOGI3N2NiMmM4ZDA4Mzg5ZDZlIGxlZ2FjeS10cnVuaworNDU2MTkgNTBlMGJkMmU0NTg4MTZhMjBlZmRlNjU5YmE4YjhlMWU1YWZmMmRhMSBwM3lrCis0NTYyMCBmZDZmMTkwZTI2YThjMTE5ZTgwNjQ4YzY0YmFkMTIxNTE5MmY1NzFmIGxlZ2FjeS10cnVuaworNDU2MjEgNTI1NTEyMjFhMTMyZDU1MTc5MmI5YmRhNjMwYmU5ZjM3YzI1ZjkyMiBsZWdhY3ktdHJ1bmsKKzQ1NjIyIDU2MDg5ZmFiYTA1NmEwYzA3YmVlMTUxNTVhY2Q5NDAyYjA0N2ZjZDEgbGVnYWN5LXRydW5rCis0NTYyMyAwNmRjZGVkZmM5OGZhN2ZlZDQ2NThmYTczN2E0YWM5MzZhOTc0YTQ1IHAzeWsKKzQ1NjI0IGMyYWU2ZGIzMDU3MmIzODRlNjc1MDM3YTAyNjE5YTYyMzg0ZjFhYjUgbGVnYWN5LXRydW5rCis0NTYyNSBmZDI5YWQwYmVmNzA4Mzk1YzRmNzk5NjQ2N2JjYzcxYzIzNzI0OTU4IGxlZ2FjeS10cnVuaworNDU2MzAgMGUwZTMxNWI0MjAyMzU3Y2UzYzU0ZjBkYmIzMDg4NWU5MjczMmRjZSBsZWdhY3ktdHJ1bmsKKzQ1NjMxIGM3ZWY5MmI5MDQ1YzY4OGEzN2E0NGM2NjY0NDQ3YTVkNzY2N2EzYzAgbGVnYWN5LXRydW5rCis0NTYzMiA3MjA0ZmJhYzU3OWNjOGFjNDVhMmQzMGJjNGQ3NWQzMzllODRkZjg3IHJlbGVhc2UyNC1tYWludAorNDU2MzMgNmM2MzRjNmQ3N2RkOGQzYTAwMThkYThhMGIzYWZiY2E0ZjU4NTAxMSByZWxlYXNlMjQtbWFpbnQKKzQ1NjM0IDNmMTQzMWE5ZWRjYjcxZTk2OTZlYmViMzlmOTE0NGE1NTE3ZTJjZmIgbGVnYWN5LXRydW5rCis0NTYzNiA2MjhmNDFhOGIxY2UwMzgzODBkZDRiMGY5ZjFmYmEwMWU3MThiMmE0IGxlZ2FjeS10cnVuaworNDU2MzcgNTRmMTU1MzY5YTljMTI5YzMxY2Y5NzNiMDZhMDZlMGM2ZTM1ZjM3MCByZWxlYXNlMjQtbWFpbnQKKzQ1NjM4IGZhNmI0OWJhOWFlOWI1MThmYmYxNzU4MjkzMTNmNTI1MDE3MjRlMmQgbGVnYWN5LXRydW5rCis0NTYzOSBjZTJlYzhjODM1ZTkzNWU5MDk3MjkwNTU1MWFhN2U1ZGQ0ODFhMDM3IGxlZ2FjeS10cnVuaworNDU2NDAgZGU0YTVmNTVlMjFkZTEzYTZlZTQ4MWIwMGU4YmI4N2QwZGNjNWUyNCBsZWdhY3ktdHJ1bmsKKzQ1NjQxIGZiMTgzN2U4OGU3MmI2M2I1YmYzNGU0ZjJmZGI3YjBlMjUzMjllMWEgbGVnYWN5LXRydW5rCis0NTY0MiAxMGYyNDFmYzk1OTM5ZjljOWQ3YzhiMmQxYzJhZGMxZTgxNmQ0NzcxIGxlZ2FjeS10cnVuaworNDU2NDMgYWI0ZTY1YzgwOWU2ZmYzMDBlNmI0OWE5OGNiMzZhM2FlODE1ZGI5YyBsZWdhY3ktdHJ1bmsKKzQ1NjQ0IGNlNTU4NWFmYzIwZjkyMTRkNDc4YzIwOTU5ZTRiZDA2YTVjNmRjNTYgbGVnYWN5LXRydW5rCis0NTY0NSA1ZjllYTc2ZTIwNzI0NDQ0ZTRkMDY1NmJhNGY0Zjk1ODRlZThlYjcyIGxlZ2FjeS10cnVuaworNDU2NDYgZjQ5YTJkZGE4ZTc0NTY4NmQ0NTc0MzVjNWY0ODg5ODdiZWI5NzYyZiByZWxlYXNlMjQtbWFpbnQKKzQ1NjQ3IDgzNGZkOWIzY2VlZWMyMDIwOGM3MTA4NGEwYTcwNjFhY2JjZDYzYzYgbGVnYWN5LXRydW5rCis0NTY0OCA5MDQ4ZDc2YmYwMWU2ZGY0OWQ5OTRjYjFiMDFiNGIwMzg3OTI5M2Q0IGxlZ2FjeS10cnVuaworNDU2NDkgN2RlMjg0OTU4ODgzNjA1MTZmMDI5NzliOGI5MWRiZWM1NDA0YjY1ZCBsZWdhY3ktdHJ1bmsKKzQ1NjUwIGZkODA4ZWU2OGViOTg1NWVlMTliMTM0YTYwYjU0ZTYxNzAyNjgxNGIgcDN5aworNDU2NTIgYTdmMzc2NWVhNDY0MjliNGY5MmRjYmM1ZTg4MDQ0OTlkNmJmMzJjNSBwM3lrCis0NTY1MyBhZTZmNTA2MDBjNDZiM2JmNTc3NGU3ZTYzOGY5ZDdmNTI2ZmRlMjFiIHAzeWsKKzQ1NjU0IDg4ZGE4NDc3NjExOTI5MWRiOGY0MzIzZDRkMjU5YjAzMzRmNzRmY2MgbGVnYWN5LXRydW5rCis0NTY1NiBlMTI1MmNlYTQzOWM2NWViODVkMGVmZWJlMTY0NGRlMjQxNDg0MjA2IHAzeWsKKzQ1NjU3IGQwZTRjZWQ0ODdiMzY3ZTQyNGU1MmU2ZWVlZjcyMWVkOTZjN2RmNmYgcmVsZWFzZTI0LW1haW50Cis0NTY1OCBhMGFhOTExYmU5NmEzMWVhYzE1YzQ5N2JjOTA1OWZhZmFhOWNiNjIxIGxlZ2FjeS10cnVuaworNDU2NTkgYmNmNzE1YTk4Nzc0YjA0ZDg3YTIxOTNjODcxYzk1MDRkYjZkZmZlYyByZWxlYXNlMjQtbWFpbnQKKzQ1NjYwIGVhNjc2MjhkZGFlNTY1NTFmMzAwZGZiMzkyNTIyYTY5ZjBjY2M5NGYgbGVnYWN5LXRydW5rCis0NTY2MSBlM2E4YThkZTM1NWUzZmI5NmE5YTA5YzQ0ZTcwZTgzYTU0Njk4ZDc3IGxlZ2FjeS10cnVuaworNDU2NjIgNzk5NTlhZjBmOWUwZjMxZTY4MjlkNmViMmM5OGRkZjU4OGI1MzkzMSBsZWdhY3ktdHJ1bmsKKzQ1NjYzIDk3N2U3YTdlMTU1YWQ0Mzk0NmMxNjYxYzQ5YjdmZTg0NDRjNmNhOTYgbGVnYWN5LXRydW5rCis0NTY2NCA3ZGE0YWY5NWViYWRhMTJkN2NmZDdmYmUyZWI3N2NiOWZkMGE4MjQ5IGxlZ2FjeS10cnVuaworNDU2NjYgN2JiYjA3MTEzYjI5ZmQxYmFjOGE3YjU3NjdmZWUzZTkxM2JhNjlhYyBsZWdhY3ktdHJ1bmsKKzQ1NjY3IDIyMmI0N2Q2N2Q0MzJiNDE4ODM3ZjA2Nzg4ODFmMWRhM2E2NjkyOGEgbGVnYWN5LXRydW5rCis0NTY2OCBkNmIxZTJiMzA4N2YzODQwM2QyNDA1NTU0NTc0MjdmM2VmMzRlZWNlIGxlZ2FjeS10cnVuaworNDU2NjkgYzI1ZGQ3NWUwNjY3OWVlZjFhOWFmMjhkYTNkMTlmNGZlMDEyM2Y0NCBsZWdhY3ktdHJ1bmsKKzQ1NjcwIDk5MTA2NjU3NjQzNDdhNDU2MTM0MGI1ZGZkYTRmMzE0MTFlNWExYzAgbGVnYWN5LXRydW5rCis0NTY3MSA1MDliNTMxNzE5NTRhODJkZTY0NGU5OGE4Nzk4NjNkZWUxN2RkMWY2IGxlZ2FjeS10cnVuaworNDU2NzIgMmZkNDc3YjYxNGUzZjYyZWI4ZjAzZjc5YjFmNjVhNWEwMzY0ZGVkNSBsZWdhY3ktdHJ1bmsKKzQ1NjczIDg0NzcxMGU1ZDdlMTY2MWNmYmNmOWNkODZhZjMzZjBjYzEwYTg2NjYgbGVnYWN5LXRydW5rCis0NTY3NCAxYjE5MjAzN2I2MmYxZmI5NTY5ZTliMWRkNGViNmUwZWU5NGI2ZGM5IGxlZ2FjeS10cnVuaworNDU2NzUgNThkMTBkN2QwYWExMWNlYzgzYjc5MjllN2Q3ZGJiNjYyNDg3OTZiNCBsZWdhY3ktdHJ1bmsKKzQ1Njc2IGI2ZDEwZGQzZjk5Nzk1ZDYxMDk3Y2EwZGEwZTIzMTUwNjJmOWI3MDcgbGVnYWN5LXRydW5rCis0NTY3NyA2ZjRlZGQ5MTRjNTg2YTE2MWYzZjk0MTY1MzUxMTI0MjZlMDY2ZjQwIGxlZ2FjeS10cnVuaworNDU2NzggNzE2N2MxYzBlMDEzMTcwNWZjZDg1NTY1ZDc4NjI0YjRhZjU3MjYzYSByZWxlYXNlMjQtbWFpbnQKKzQ1Njc5IDljMDQxYzg4ZWI2NzgzNzg1ZDQzMzc2ZmYzNGU2NzRmOTMwMjY0MzggbGVnYWN5LXRydW5rCis0NTY4MSBkNjBmYmM1NGMwZDRkZmViMmE4MjY1N2QwMTc1NTJkNjE0NzMzN2RjIGxlZ2FjeS10cnVuaworNDU2ODIgOWFjYjU1NTI4NjgwMzk5ZTY4MjBlY2YxYjFhODI4OGIyYjI2OTlmZCBsZWdhY3ktdHJ1bmsKKzQ1NjgzIGFkYjEwYWZkYTU1YjRlZGEzNDBiNjRmZmJkZWNkZWU0Yjg5Y2RjYTkgbGVnYWN5LXRydW5rCis0NTY4NSA5N2U1OWQyZTYzZGY2Mzc3NTMxYzI4MTg1NjViODUxNGE1NWVmMmYwIGxlZ2FjeS10cnVuaworNDU2ODYgZGFkOWIzM2U3OGU1M2Q5MWJhZGE2MjgzNGNlNGU5ZTkyN2E0ZTUyYyBsZWdhY3ktdHJ1bmsKKzQ1Njg3IGM3OGQzMDZhYWNjZjkxMjUxNTNiZGNmN2RiZDE3NTY3NjNhZTAxNjQgbGVnYWN5LXRydW5rCis0NTY4OCAyZjRkMTdiY2M5NzUxYTljNGZjZWJhMjljNGQxZWY0ZmU0ZWYyN2I4IGxlZ2FjeS10cnVuaworNDU2ODkgZTBiN2UzNGI1OTcxMzMxYmE2NTUxZmVjNDIyMTI5MmZmNDNkMGE0ZSBwM3lrCis0NTY5MCA4YjBmMDczNWIyNDZlZTE1NjNlODIzMDE2NGNjYTEzNDJiNzQ0NzlkIGxlZ2FjeS10cnVuaworNDU2OTEgN2UyZDVkMzc0ZTNhMmY0NWFjZTkyNjA0Y2FkNmM2MWMzZWM4ZWJhZCBJRExFLXN5bnRheC1icmFuY2gKKzQ1NjkzIDkyZjIxOGE2YjIwYjg0NGQzNWEzMGNlNmQ3YTgxN2U0NWU3YmEwZmUgcDN5aworNDU2OTcgNjEyMjhlNTU3OTFmM2VmNzAwNzA2YzE0MWE2ZDNkODkxODIxODRjZSBsZWdhY3ktdHJ1bmsKKzQ1Njk4IGFjZDVlNTU1OWUzYzI3OGNkN2ViYjc4NzE4MjgwMTMzMmQyMTVmOTEgbGVnYWN5LXRydW5rCis0NTY5OSAzMDE1NTIwZDY3ZmYxYmJhYmZlZWIxZWRkYmE1ZGUyMGUwNmIzNDZlIHJlbGVhc2UyNC1tYWludAorNDU3MDAgODk1YjdkYWJhMmQ2MDg0YWMwNDU0OGY4ZmI0MjAxYjJkOGJhNWRhOCBsZWdhY3ktdHJ1bmsKKzQ1NzAxIDAwZGQxZGFlNzg4YjdkMTE4MmMyYjljNGM5MDA1MzEyZTUxYjU5ZWIgbGVnYWN5LXRydW5rCis0NTcwMiBmMzNlNGVkNTUwYjhhNGY3MTI4NTc4Y2U2NDQyZGZmMWNkNzBjMTkxIGxlZ2FjeS10cnVuaworNDU3MDMgNDQ5ZDRiYTNjZDQ0MjQ3YWIwZDdjMTk3YjI2OWUxMGY1Y2NjNzQyNCBsZWdhY3ktdHJ1bmsKKzQ1NzA0IDE0Y2IyZWVjYzZmODk0NGQyZWFhMjcyYWJkZjBhN2U5NzczZDY3OTAgbGVnYWN5LXRydW5rCis0NTcwNiBhZjQ0ZGIyYTk1MjNhMDUzYWUzZTJkYWFlNDUxMDBjYzczMjVmYTZhIGxlZ2FjeS10cnVuaworNDU3MDcgNmMxMjQyNzZhMWYwY2FmY2RmNGRhNWE1ZDViZTZiN2NlZWY4MjAyYiBsZWdhY3ktdHJ1bmsKKzQ1NzA4IDQ1Zjg0OTI5YjJhZWI4NjUyNDk1OGI5OTFjNjhmZmQzYjFlY2MzZWUgbGVnYWN5LXRydW5rCis0NTcwOSA4ZTE0MTQ4Mzg2ZWMwNGU5NjBkMjAyNzY5NDljNTdjNjQzNGE0ZjBlIHJlbGVhc2UyNC1tYWludAorNDU3MTAgYTg2OGMyMThhMjEzMWI2YjY2ZmUzNTVmYjcxY2Y5YTc1MWI4N2FkNSBsZWdhY3ktdHJ1bmsKKzQ1NzExIDg4NjNmZWQ2YzhkNzE5ZDlhMGY4MTQ3MWU2NjVlNGQwMDM5M2Q2OWUgbGVnYWN5LXRydW5rCis0NTcxMiAxODQzNzEwZjMyZTgzMjEzNjdhODQ1NTYxZDg1MTVjYWRjNjNiNDlmIGxlZ2FjeS10cnVuaworNDU3MTMgZTVmZWIwNTFjMzJmZGMzZWE2NGEwMzU3ZGI0YmRjMWUwMDExZjJiNiBsZWdhY3ktdHJ1bmsKKzQ1NzE0IDcwNGI4MDUyOTY2NGJhNGU5ODk3Yzk0MWQxODhkZTU2ZTQ3ZDA1NTggbGVnYWN5LXRydW5rCis0NTcxNSBiNTM1YzE5MWE0NGIwODIwODIxYTNjN2VkYTg1ZGFjMmZhY2U2ODY3IGxlZ2FjeS10cnVuaworNDU3MTYgNzgzY2FiNjkzMzQ3N2M0MWM3NDQxYjA3YWE0NjAwNzcxOWJiZjIzMyByZWxlYXNlMjQtbWFpbnQKKzQ1NzE3IDY4YTdjMDE1YTU0NzQ3ODQwMWI5OGQxZDA2YWNkNDVjZjJiZWQzMzcgbGVnYWN5LXRydW5rCis0NTcxOCAyNjljNjJjN2Y2NmE1MzMzNWZiMWJjNzdkYzM1YjUwOTYxOWVmMGQ4IGxlZ2FjeS10cnVuaworNDU3MjEgZDhkOTAwZDBlYjhhNDY4NGNmZTczODY1ZWUzNTY1NWQ3NGZjNzU3OSBsZWdhY3ktdHJ1bmsKKzQ1NzIyIDA5YzQyNWE1YWEzYWYzY2VjMTlkZDJhODg1OWFmMGU1ZTI0YjY0ZjkgbGVnYWN5LXRydW5rCis0NTcyMyBkNWU2ZTQ5YTM4NzkwYWVhYTE3ZDQwZGMzZjJjMTVmNWFiYmU3NzA3IGxlZ2FjeS10cnVuaworNDU3MjQgMDZjMDU5YjkyZDBiYWM3N2MzZDEwYWQwZTNkMmEzNTgyMzdlNWE4MyBsZWdhY3ktdHJ1bmsKKzQ1NzI1IDg4MzllYTkzYjZkNzA0Mjk0NzkyN2I1NTY5ZGNlYzAyYTU2YWY2YzQgbGVnYWN5LXRydW5rCis0NTcyNyBmODFjZDdlOWQwMDFmMDgwOWNiNWE3YTY1Y2JhZDk4Y2RmMGYxYTU5IGxlZ2FjeS10cnVuaworNDU3MjggNTU2NDRmMGE0MDFiYjkzNWY1ZjlkMWIzYmJiNzk5MTg1YjliMjliNyBsZWdhY3ktdHJ1bmsKKzQ1NzI5IDE2NDk3MDRhMjIxYTFhNjExNzU2YTE3NDVkY2UyMGY0OGY5NGI4ZTMgbGVnYWN5LXRydW5rCis0NTczMCA4ZGMyYTRkOGEyMmUwMDY2Zjc2NDkwY2M0MmIxZDExYzIyYzFhYTE0IGxlZ2FjeS10cnVuaworNDU3MzEgMzU4NjYyZTJmMjczYTJkYmE5MDYwYjRiMGJmMTIzNzRlNjJlY2VlNSBsZWdhY3ktdHJ1bmsKKzQ1NzMyIGZlZDZlMzdhZDAzZDEwNTJlN2I4ODYxYmEyMTRlYTU4ZTQwODQ1NmEgbGVnYWN5LXRydW5rCis0NTczMyA5Y2MxMmJiMGI3MGE4NjYzNGI4N2ZiNTgxNGVjM2U0MmFlODhkYTcxIGxlZ2FjeS10cnVuaworNDU3MzQgMjJiYjVjNjM4NjJlYzYyMmE5NmYxNjkyNzQ4ZjNkYWFmMjIwYWE3NCBsZWdhY3ktdHJ1bmsKKzQ1NzM1IDdjMjIyY2U1MWJkN2ZlMGNmMjU1YThkMjk0ZmNiOTg0NDJlYTY3NGIgbGVnYWN5LXRydW5rCis0NTczNyA4NWM5Y2E1ZTAzNWFkZmY4MmY3ZjczYTRjZTNjYjA2NDM4Nzc1NjBmIGxlZ2FjeS10cnVuaworNDU3MzggYWMwNjg0NTNhNzhhODEyNjFkY2M4Y2Y3ZmYxNjg5ZDNmNmJjZGQ4NSBsZWdhY3ktdHJ1bmsKKzQ1NzM5IDk0ZDllMGRlNGU0OWUzMjBlMDk4NDIyYjYwMWEyN2I1MWIyMDMyMDMgbGVnYWN5LXRydW5rCis0NTc0MCAwZTgwOWI3YTg0ZjE3OGY4NDlmN2U3ZmJjNWM1MGM4NGI2NDhmYzVhIGxlZ2FjeS10cnVuaworNDU3NDEgMjZkMDc3MGYyYjdlZTI4OWEzOWEzYjU1ZGNlYzFjMWVlNjU4NDljNSBsZWdhY3ktdHJ1bmsKKzQ1NzQyIDUwODU2Nzg1NzMyMDVlNWU0MGJlN2ZkODA4MGQ2OTE4NjRlMDExZWEgbGVnYWN5LXRydW5rCis0NTc0OSAwOTkyN2YyZjc0NzhlNjNjZGI0YWI1ODA4YTUwZTUzMTBiNGZiYTRmIGxlZ2FjeS10cnVuaworNDU3NTAgOTIzMzUzMmVjOGIzNTEzNTgyZGViMjIxY2Y4MmQ5Zjk0Y2IwNTdlYSBsZWdhY3ktdHJ1bmsKKzQ1NzUxIGNkOWVkMjczYTY4Nzk2MzNhMmVlOGZhNjAyMDQ1ZDZmM2NkZWJjNGUgbGVnYWN5LXRydW5rCis0NTc1MiAxZTFiNTM2YzY4YjY1NjA1ZTMxMWM3NDk0YTg0MDJkNjU2NDc3OWE5IHJlbGVhc2UyNC1tYWludAorNDU3NTMgZGZiZDU3ZjRhNzExMmY5MmY3NDQ2NWM5OWQ1ZjM3Y2ZmMzJjNzk2MyBsZWdhY3ktdHJ1bmsKKzQ1NzU0IGE4NGE2MjFlYzVjMjRiOWM3Mjc1YWRkYTQzNDlkZDlhYzk4ZjZlYzggbGVnYWN5LXRydW5rCis0NTc1NSAwOTEzNDc3YmQyNGVhNDBiNDQ5OGYwNzhiZjM4ZjJlYzNmODBmM2I5IHJlbGVhc2UyNC1tYWludAorNDU3NTYgNzdmZWEwNmViYzEwYTBiNzI5NGExOGEyN2E5MjM1ZThlMGU5NWVkYSBsZWdhY3ktdHJ1bmsKKzQ1NzU3IDc4OGQ4NjY1ZmY1OGM1NDRjYzk2M2Y3ZjEyMzg1ZDJhYWQzYjViYzcgbGVnYWN5LXRydW5rCis0NTc1OCA0ZGEwZjc2MjEzMjVjMjY3YTA3ODEwZDVjZWM0MjAyNWYwYWZhM2ExIGxlZ2FjeS10cnVuaworNDU3NjYgYWY5NTJiYzdmZWIyNjE1OWE2ZWVlZGE4MGJiZGJhNTFhNGE5NDM3NSBsZWdhY3ktdHJ1bmsKKzQ1NzY3IDk0MGNlNWE3NmM1ZmY4NWFiZmY3ODQzYzgwNTM5NmFlYjUwOGQwMWUgbGVnYWN5LXRydW5rCis0NTc2OCBkNTUxNGE3ZWFhNGNjZWNlZjgyYmM3OGM5NjE5ZjlmMTVjOTRhODU5IGxlZ2FjeS10cnVuaworNDU3NjkgMGI4ZTc4MmI4NDg0Yjg4ZGQzY2VlMjE4ZjRjYmY3NGMyZTY3N2M1NiBwM3lrCis0NTc3MCBiNWU3ZDViM2M0NDJlNzlkYjEyODRhYmIzNTk5YWVjMmNiMTZkYjVhIGxlZ2FjeS10cnVuaworNDU3NzEgMzg0NWY3MGUwYmFmZGEwNGFmYThjYTBiODNiNjhiZDkwMmIyMzRiNCBsZWdhY3ktdHJ1bmsKKzQ1NzczIGJiNmM1YzIwMGEzZjAzYmZjOTJkY2RiNmJjY2EwMGYwOGRjM2Y3YTYgbGVnYWN5LXRydW5rCis0NTc3NCBiNWU3MTgzYWQxMTIyNWY5MzI2MTQxZTlkNTc2YjllNTNlNjRmNWZmIGxlZ2FjeS10cnVuaworNDU3NzUgMzUxOGU5NGFhNjYzNzIxOTRlNTdjZTBlZGFmZjI0OTdlNDVmM2U3OSBsZWdhY3ktdHJ1bmsKKzQ1Nzc2IDE5YWQzZDM1ZmFjNGE4NGE1ZjIyOTVjZmRmNGIwZWM0MmVjODBjMWUgbGVnYWN5LXRydW5rCis0NTc3NyA4YmM0YTdlNWZlZjg0ZjcxOGJhM2E1YmJkNzBjZjc0MmJhMTExMmVkIGxlZ2FjeS10cnVuaworNDU3NzggNjFjN2VjOTk1YWRmNTdlMTgzOGEzYWVkM2QyN2FkZjZkZjE5NzM5ZSBsZWdhY3ktdHJ1bmsKKzQ1Nzc5IGU5YTcwYjE0Njg1NzhkOGU0NjA1MTVlMGY0OGQwMTgzYTc2NDU3YjUgcmVsZWFzZTI0LW1haW50Cis0NTc4MCAzNGQ2OTZjMWVlYmM2OGMxNGFlZWJhMTRkZjZlNjRlZmMyNDhmMDc4IGxlZ2FjeS10cnVuaworNDU3ODEgOGU1YjY0YTdiMzNmMmExZTM4YTZkYjBlMTljNTA4YzdhZDhhZmU1NyBsZWdhY3ktdHJ1bmsKKzQ1NzgyIDM5ZWI1YjUyMjUyMzljZGVjNTAwZGYxOWMwYTgzMDA0OThlOGFiZTggcmVsZWFzZTI0LW1haW50Cis0NTc4MyBjMTI0NzE2OWYzYTE2NmQ4YjA1Y2ZjMzc4YWMxYWY1Y2MxYzRjZGZmIGxlZ2FjeS10cnVuaworNDU3ODQgZGUyZWU4ZGVkY2U4OTlhYzIyZDg2OGE4ZmM2NzkxNDhlYWVhZWRiYSByZWxlYXNlMjQtbWFpbnQKKzQ1Nzg1IDU2NWJmZmRlOGJmMTgzMDY0OGZmMzIyNmY1NDg3MjcwNTc4YzExOWYgbGVnYWN5LXRydW5rCis0NTc4NiA0NzNmMzdkZTEzYTEzN2Y0MWY3NDQ0YThjMmEwMTVmYTQzZDg5YjlhIGxlZ2FjeS10cnVuaworNDU3ODcgMjU0NmM0NzczNGEwMTVmOGY5NWM2NzVlN2VhNTA5NjY3Yjc1ODRkMiByZWxlYXNlMjQtbWFpbnQKKzQ1Nzg4IDhiZGJlZDY3YWRmNzg2ZTg1OTdmYTJmZDAyYzRjMGZiNjQ0Nzg3MTIgbGVnYWN5LXRydW5rCis0NTc5MiAzODllOTIyYTY0N2MxMTAyZjVmMWZmMjZhNmQzMWIxMzFhODI4NjRhIGxlZ2FjeS10cnVuaworNDU3OTMgODc0ZDc3ZWVmY2U0MzFjMGQ4MDllZmUzOWQxMDUxMTRmODk2MWI0MSByZWxlYXNlMjQtbWFpbnQKKzQ1Nzk2IGYyNzQyYWNhMmFkMDdmNDQyNGI0Y2JlOWM3ZWIzMzYzMDFiMzkzOWMgbGVnYWN5LXRydW5rCis0NTc5OSBmMDgwOTQ4M2I0ZDA1ZjFiN2YyZjBjYTJlZTRiZmY1NzA0N2EzYmMyIHJlbGVhc2UyNC1tYWludAorNDU4MDAgMzZjN2E0NDIyZTMwNzU5NDVlODE2MGU1ZDI5M2MxYzc0Mzc5NjE0NyBsZWdhY3ktdHJ1bmsKKzQ1ODAxIDU3Mzk4ZWI5NzhjMjU0ZTY3MGE3MDJjOThkYWNkZGQ5ZmQ5M2U4MTIgbGVnYWN5LXRydW5rCis0NTgwMiA4NDY5ZDNkOGQ0ZWRiNzQ2Zjk5NWY0ZjU2ZTFhMGRjMjZlMTQwNmQ1IGxlZ2FjeS10cnVuaworNDU4MDMgODg3M2QzMGExNDBmODQ0MGI3OTZiNzgyNGM4MTFlNzc5MzVmM2RkZSBsZWdhY3ktdHJ1bmsKKzQ1ODA4IDVjMjI3N2EyOTRlYTQ1ZTNiNGMwZjIxYjBlMWU4YzYwMTMyOGQwMTMgbGVnYWN5LXRydW5rCis0NTgwOSA1MWI2ZjhlMDQyZGZiZjliZjU5ZjM5ZGMxZWQ2ZmJmOWEzMTY1M2RhIGxlZ2FjeS10cnVuaworNDU4MTAgM2Y1MWZmZDVkOGJmNzdhYTkyZmJlYjA0OGQ4MzViODk2NjI0ZTMwOCBsZWdhY3ktdHJ1bmsKKzQ1ODExIGY2MjZkNTJmYWJmMDQ0YzNhZDg5MDNiMDc2MTllMjYxMGFkMDFkOWQgbGVnYWN5LXRydW5rCis0NTgxMiA0NjVmNWIzYTAyMzQ4NGEzMzU4Y2VkNGEzZDg1ZWQ0MWVmOWNjMjY5IHAzeWsKKzQ1ODEzIGFjYWYyNzYzOWE0MTFiZmJjZjBhNGY1Mjk5NzM2Zjk2NTNkZmM3MGYgcDN5aworNDU4MTQgNjE0YzkyMTcwN2Y5NTRhNmYyNGE4NWQ5NDFmZmRhYTcwMDQ2YWZkZSBsZWdhY3ktdHJ1bmsKKzQ1ODE1IDJhMjg5MTU2MTZkNTAxYmFhNWM1OTFmMzhiZWIwZTM3MDc2NDAwOTkgbGVnYWN5LXRydW5rCis0NTgxNyAzMmExODdmM2Q1YmE5MzZhY2MzZjAxYzM4OTUyYTI1MmQ3YjQ5MGQ1IGxlZ2FjeS10cnVuaworNDU4MTkgZTRlODQ4MjE0ZDIzODUxYmQzZWI0ZWNmYmMzNTg3NGNmYzE5MmZiZSBsZWdhY3ktdHJ1bmsKKzQ1ODIwIGFiNTNhMzc4ZWRhOGY5YjM3MzNhZGYyMWRkNTYwN2NkNzU2NmRlYzYgcmVsZWFzZTI0LW1haW50Cis0NTgyMSBmY2M2MTgzNWM2YWM4ZTZmMzk4NThjNDMzODg3YzU1NDhjZTc4Y2JiIGxlZ2FjeS10cnVuaworNDU4MjIgNjlmMDQ1N2MxN2JiMTgwODU3ODU2YmJjZTRjZDAxYTkzZjg2YjMxZSBsZWdhY3ktdHJ1bmsKKzQ1ODI0IDhmN2FiYzJiYTdkMGEyMmQ1ZjMwMmEzMzc2NmEzZTgzNmNlMTJlZjYgbGVnYWN5LXRydW5rCis0NTgyNSA5YWJlYWI5NmFmNTcyMzZkM2FmZGRiMTdhMzdlMGE2NDE5NmJhM2JhIGxlZ2FjeS10cnVuaworNDU4MjYgN2NjN2M3YTEzNjk3YmNmMDJiZmUyNTJjMGViMDVjNDc1N2RiY2NlYyBsZWdhY3ktdHJ1bmsKKzQ1ODI3IDgxZDkxZmY4MDAzYjk5NDNiMWMzNTdhMjYzOTBjMDdlYzAwN2ZhNTAgbGVnYWN5LXRydW5rCis0NTgyOCBmODk0MTA0NDgwMWNiZmIzZGY0MzI1MTdkOWZkYjkwOGE4MzQ1YjI0IGxlZ2FjeS10cnVuaworNDU4MjkgZmM3YjYxODFkMDllYWUzMTdkOTJkYzQzYTAwNDIyZmQzODVhNTM3ZSByZWxlYXNlMjQtbWFpbnQKKzQ1ODMwIGY2MmJkNTExOGM3OGNmMzQ1YjY4MzhiYzA1OTQyODQ3M2Q0MWIzMWYgbGVnYWN5LXRydW5rCis0NTgzMSAwNzM2YjI1YzU3YzU3NjgxM2NmMDNlMTcxMzMyZDU5ODRiMGQ3Y2ViIHJlbGVhc2UyMy1tYWludAorNDU4MzIgMTM1YjE3Nzg4M2MzNDI1YmVhNmViNGE1MWYxNTViZGIxZWYzOTBjYiBsZWdhY3ktdHJ1bmsKKzQ1ODMzIGI4NTA3ZGVkNGQxNWNjMzhhODg3MzVjY2Y2ODhmNTg2M2ZkMThiODcgbGVnYWN5LXRydW5rCis0NTgzNCBlZmVlYmM4NzcwZTVlNjIxYjFmNDI1ZDgxMGNjNTY1NmIyOGZhN2JlIHJlbGVhc2UyNC1tYWludAorNDU4MzYgY2E2YzkxNTMxYTk2Nzg3MDQwNTcxZDRjNDVmZmUzODAyOTdkZGQ3MyBsZWdhY3ktdHJ1bmsKKzQ1ODM3IGNmMTlhMTIzYTVkOWFjY2M2MjRmMTcwY2U1Mjc0YmVmOWY1ZmFiODIgbGVnYWN5LXRydW5rCis0NTgzOCA5Yjc1YWQyMzZmMDAwMDgwZDZhYzNiZDA4ZWEzZDQ0OTkyOGJjNzBkIGxlZ2FjeS10cnVuaworNDU4MzkgZDc2YjlhYTcyMjlmYzY5NjE4NjIzZGRkNGViMTAwYjhmMDNjY2UxZiBsZWdhY3ktdHJ1bmsKKzQ1ODQwIGVlOThlY2YwNTc3M2E3MDcxNzdkMzM1NTFmZmVjYjhmOGU0OTUyZmMgbGVnYWN5LXRydW5rCis0NTg0MSA2MzUxY2QwZjdjMjg1ZjkyNzlhZGQxYjU1ZGE2ZmQwNzI5NjcxMWYzIGxlZ2FjeS10cnVuaworNDU4NDIgZWQzMzVlNTJkMTcwNTQ5NGZjYTcwNzY0MzI2ODYxYWFiMDlmYWIxZCBsZWdhY3ktdHJ1bmsKKzQ1ODQzIDdiODNiNjhiZThhNjdhNDVhYWRmNjAyMGQ5MjE4MjFkNDcwZDQ0OTUgbGVnYWN5LXRydW5rCis0NTg0NCAxMjhjMDA2MWI1YmIyNmIyOWViZDUzNjA2M2Y2OWYzMjFhZTExODBmIGxlZ2FjeS10cnVuaworNDU4NTAgYzkyMDJmMWM1NmMyNzRlMzAxNzc3MmUyYjg1MTEyZDBjNGQwYThlOSBsZWdhY3ktdHJ1bmsKKzQ1ODUyIGIxY2JjNjA1YmVjOWNkZjlhNDZmMDNkZGU4N2MyMjM0OTVjYWY5MWIgbGVnYWN5LXRydW5rCis0NTg1MyA3MjhjMTZmMTYyNjcxZjM0MWI3OWMyYWU3NTE5NGY2MjVkZTI1NzIxIGxlZ2FjeS10cnVuaworNDU4NTQgYjhlYzY4OWNiMmZiY2M0ZjZhY2JkMWMwZDllMWM3NWM5MTZkY2Y3OSBsZWdhY3ktdHJ1bmsKKzQ1ODU1IGI3YjVmMGIzNGQyNWNjZGQ3YzFlMWExZmM4NjM3MzBhZDRhNGM3MWUgbGVnYWN5LXRydW5rCis0NTg1NiA5YTE3YjgyZWFmYzk0MTI3YTM3ZmFjOWZmMmNiMmRjYjJlZGJhOWM4IGxlZ2FjeS10cnVuaworNDU4NTggYmIzZTBjODg5NjMyNWE1MTMwMTFhMzcwNjAyMzEyMzQ4YzRlMWExNCBsZWdhY3ktdHJ1bmsKKzQ1ODYyIGE4MTJkMGZhZTc0YTQyOGExNzJlZTBmYWE1OWU5OGJiOWFjODA2NTMgbGVnYWN5LXRydW5rCis0NTg2MyBmZTI5Mzk4ZjQ4Yzk4ZGZlMGI4Yjc2ZmIzOWNmMTg5MzljM2U4MDVlIGxlZ2FjeS10cnVuaworNDU4NjQgYWM3MjkwMGUxOTE5YTFmZWJlY2E2NmZhY2E4ODM3M2QwYmE0NDgzZSBsZWdhY3ktdHJ1bmsKKzQ1ODY1IGI3MDZiMTAwYzhmYzBhMDM4NTEzZjEwNWY2ODYxODJiYTAxMTI2NzcgbGVnYWN5LXRydW5rCis0NTg2NiA4YWFmNTdiY2NiZjhiNTY4M2E4YWRmNzg2YjM1MzdhOTBlN2RhNjZlIGxlZ2FjeS10cnVuaworNDU4NjcgNjY4NzViOWM4OWY0NTQ1ZjU0OGRhMzBmMzc1NWUyMzQ5NDIzZWM0ZCBsZWdhY3ktdHJ1bmsKKzQ1ODY4IDY2ZjFiM2ViYWVlM2EyMTlmMjkxMzMyM2ZlNmU2ZjVmODdjYzkzODQgbGVnYWN5LXRydW5rCis0NTg2OSA2ZTBiMDUzYzZjZjdiMTc2YWI1ZTFiNmUyYjY1MTdjYzFiMTJjM2JlIGxlZ2FjeS10cnVuaworNDU4NzAgMGZhM2JhZDQ4OWRkNDc3ZmM4ZjM4OGEwMzNhOTRmZmZhYzQ2Yzg4MCBsZWdhY3ktdHJ1bmsKKzQ1ODcxIGJjNDhlNmIxZTY1NDU1YzdlZTkwMGM4MDc0NWMwMjAyOTkwYTYzMTIgbGVnYWN5LXRydW5rCis0NTg3MiA2YTE0NjliMzlkNzM3ODUzYmNkMDQxNDQ4ZThkZTVmNDc5YjNjN2ExIGxlZ2FjeS10cnVuaworNDU4NzMgZWIwMzU2MmRmNGE3OTY4NDdjYTNjY2YwNDZmOWQxNWI4ODBiNWRiZiBsZWdhY3ktdHJ1bmsKKzQ1ODc2IDU0NTdhYjlmODU5OTE3YjA0YjFiMzljZjU2ZmRjMWQzZDhkYzc0ZTIgbGVnYWN5LXRydW5rCis0NTg3NyBlNWQxMWRmYjJkMDhlYzZjMWY5NTNhODA3YmQxN2Y3NmU4YzE0ZWRlIGxlZ2FjeS10cnVuaworNDU4NzkgMjNkNGFjMzNhYzE2ZTc0YzIxZGVkOWQyYjk5NWNhNTBiMmRkNmM3NiBsZWdhY3ktdHJ1bmsKKzQ1ODgwIGMwNmE2MmYwNTg5ZmJhNGE4Mzg2NDdhYzI1NTE2ZTkwNWY1NDIxNjIgcmVsZWFzZTI0LW1haW50Cis0NTg4MSA0ZjcyYTQ5ZDcwYzgwNWMwZjk3MTc2ZTdiMjliZDNiZTk3ZGMxMDgyIGxlZ2FjeS10cnVuaworNDU4ODcgNmJjMWU4M2E5N2E2OWZiODk5YWE0ZGVhNDcwOWY0ODRlYzU0NDI1NiBsZWdhY3ktdHJ1bmsKKzQ1ODg4IGU5MmE4YjhlZWM3M2I4M2NiNTY1YmU5ZmE5NDIzNjI3YTc4YzgwMmIgbGVnYWN5LXRydW5rCis0NTg4OSBhMDZiNjlmOGMyNzZhODk0MWRiY2UyZWUyMWUzMGU2NDljZTJjNWI5IGxlZ2FjeS10cnVuaworNDU4OTAgODhiODlmOTZiOTdmZjA3OTc3ZjRjZmZjODZiYjU3MTg4MTMxY2M1NyBsZWdhY3ktdHJ1bmsKKzQ1ODkxIDhjMzgzZWY3ODE5ODQ5YThjOGIwYmNmYTFmYWY5YzFmYmY4NDUyZjAgbGVnYWN5LXRydW5rCis0NTg5MiAwMjUxOGNmMTdhNjZlYTc2MTdhN2MxM2RmZDM0OTZjYjhlZTEzNjJkIHJlbGVhc2UyNC1tYWludAorNDU4OTMgMjk0MjUwODZlOWFiNjI4YjMxOTI0Y2Y2Y2IzMjJmNWJkZjJmNjNlOSBsZWdhY3ktdHJ1bmsKKzQ1ODk0IDIyMGFkMjAzOTRkZjBiMzFhNGRlNTlmMTAyOTJiODI5YmFiMGZjNGIgbGVnYWN5LXRydW5rCis0NTg5NSA5MWE2NDM2ZjBhNTg0ZTEyZDRhNmJlMzg0ZWQ3YmRlODUwMDA1ZTdmIGxlZ2FjeS10cnVuaworNDU4OTYgY2UyYTdmYWRjMmIwNGUyMzg4ZTA4OTQ2NmZlMzAxOGM5ZTU2ZjdlMiByZWxlYXNlMjQtbWFpbnQKKzQ1ODk3IDBlN2QzNGFhZWE2MTMxZWQ5N2EwYzFiODY2YjJlNjE5N2VhOGM5NzEgbGVnYWN5LXRydW5rCis0NTg5OCBiZTQ5NjQ1ZTM5ODQxMGE2NmI5MmVmOWIxMjkwNTBhODQzZTViYzAzIGxlZ2FjeS10cnVuaworNDU4OTkgYjU4Zjc1MGQ1MjEwMWZlMzc3Nzk1MTc4MTljM2Q4ZGIyZjA0Y2I4MiBsZWdhY3ktdHJ1bmsKKzQ1OTAwIDc5YzhhMmE5ODhjYjM5NDQ3OWFhMmEwNjE1MmZiMDBjMjI3OWM3MDkgbGVnYWN5LXRydW5rCis0NTkwNSBhNmExMzU5YWFiODRkZjUzMWQ3ZDAzN2E3ODQyYTgxY2M4YWNlZDhiIHAzeWsKKzQ1OTA5IGJlMGNjYTcwY2NhYWRiMzExNTJlNTUyNWM3MWJiY2EwZThhNzg0NjAgcmVsZWFzZTI0LW1haW50Cis0NTkxMCA1N2JkN2M3ZDkxZTNhYmUwMjFhZTViMzA3YjZhMzYxMWZlOGQxZmJhIHAzeWsKKzQ1OTEzIDM2MTgxMjZjNjMwNGM3MWE4MzM4MTNlMWVmNDU4YjQ0ZDRmMzAwNDYgbGVnYWN5LXRydW5rCis0NTkxNCBjMDFjMzM3YWQ2MTg4ZWZlMDI1YTkxNjJkMTE4NDhlM2FkOWZlZjAyIGxlZ2FjeS10cnVuaworNDU5MTUgYTU5NmVkOTNjZjQyNjRiMjdkY2RmNDY2MjAzM2JlMTc1ZGQ3NWNmMSBsZWdhY3ktdHJ1bmsKKzQ1OTE2IDc0MWZiODNiNGVhYjQ3NjEyZDkwOGE3MDIxOTljYzFhYjlmYjg5YmIgbGVnYWN5LXRydW5rCis0NTkyMCBjMzM0MmQ4OGFlZmQ0Y2I2Nzk3YjkwZDc1ODNmNWIzYjljYWMzZGQwIGxlZ2FjeS10cnVuaworNDU5MjEgMmM1ZTc0YzY0NWUyOGM5OGRjNjU4YjNiZWNjZjhlMjljYzYwNTA4ZiByZWxlYXNlMjQtbWFpbnQKKzQ1OTI0IGMzYTM2ZDQ1NmRlYTBiZjMzYjQ5NTZiZTRhYTU1ODkwMTNmOTNiNGYgbGVnYWN5LXRydW5rCis0NTkyNSAwZDg3OWJmZjI1ZjY2YzcyMGQ3ZDhhNzk1OTFmYWVmNzdlZDk1OTY2IGxlZ2FjeS10cnVuaworNDU5MjYgOTBkZDU3ZmNkMjRlMTJiYWQzMWQ2MzA2YWEzZDk0NTY5OTBjYWRhNyBsZWdhY3ktdHJ1bmsKKzQ1OTMxIDRjMzkxOGYyMzAzYjVhOTViZjdkYTgwNjVlZDg4MmM3OGZkNGY4NDUgbGVnYWN5LXRydW5rCis0NTkzMiBlNzAzNTI3NTI0NWJhZTM2NmYwNTVlY2RhOTNkMjc1YzlmNDc3ODIxIGxlZ2FjeS10cnVuaworNDU5MzQgZDAxNzAyNzZjNWRlZDMwNGJkNDQzOGYwOTYwMmNjOGY0NGRiNDM4OSBsZWdhY3ktdHJ1bmsKKzQ1OTM2IGRkZjAwNjlmNjFmOTJkN2VkNWQ4YzZiNjFkNjRmNjhiN2VlYzY3NTMgbGVnYWN5LXRydW5rCis0NTkzOCA4MjI1YWVlOTE5MDQ5NTA5M2FkODU4NjI3M2VjYmU5N2VkZjYzMDZhIGxlZ2FjeS10cnVuaworNDU5MzkgNmQxZTI0MGM5MThjMTJmMDc0Y2M4YTQzMzA4MWVjNDRlZGZmOTQ2OSBsZWdhY3ktdHJ1bmsKKzQ1OTQwIGI0NDg1OWYwYjMwOGJjODQ5NjEzMmIwNDRmNzc5NDYyZTNjY2U2MDAgbGVnYWN5LXRydW5rCis0NTk0MSBlYjQ4NzljMDg1YWFhODdmMmI5Njc5MGYxNDgxNGFhNzJhZTJjYzA3IGxlZ2FjeS10cnVuaworNDU5NDMgY2UwYjQ3ZDNlNWQxMGM3MDI5NmFlZDk4NTE5YzMyNDgwOTgyN2U2ZiBsZWdhY3ktdHJ1bmsKKzQ1OTQ0IDA2MDZiOWMwOGFjMjRmMWRkYjc4NTdlNTJmYzNmNmU4Zjk3ZTM0NDkgbGVnYWN5LXRydW5rCis0NTk0NSBmM2E1ZTE1M2MzMjk0OWI4MTE3MTY4MmJmZWU0ODVhZDIyMGJjYjA0IHJlbGVhc2UyNC1tYWludAorNDU5NDYgNGM5OTIyZDhkY2RkMTA3ZmMxODk4N2E4NmE2ZWEzYzA5YTk4NTQ1ZiByZWxlYXNlMjQtbWFpbnQKKzQ1OTQ3IGYxZTI0NDUyZGJiYTdiMWFlZDQ2OWJmYTA1ZTU4YmE4ZDA1ZmQzNWUgbGVnYWN5LXRydW5rCis0NTk0OCA4ZGEwOGQ4NWZjYjFlNjkyZTEwMjc3MjAwMDdlYmYyNjc2NGZhM2Y4IGxlZ2FjeS10cnVuaworNDU5NDkgOTdkYjNkOWIxNDU4MDA5MWM0M2U1ODFiNGI3OGM1N2M2NzQzNTUxZiBsZWdhY3ktdHJ1bmsKKzQ1OTUwIDhjODZjYThmMjY4Mjg4MDFkNzQ0OTYzNzBjMzJhNTgxNDY3Yjg0NjAgbGVnYWN5LXRydW5rCis0NTk1MSBlZWExNzZlNjdmMjI4ODRjNTU2OTY5N2Q4MTBhMmViNWI2NjYyMGFjIHJlbGVhc2UyNC1tYWludAorNDU5NTIgMTQ1NzMzNmQ0MzJmZTQ1OWJlYThjMDU0YjlkMTY3OTAzMzZjZGIxYyBsZWdhY3ktdHJ1bmsKKzQ1OTUzIDQyNzI4Y2IxOGVhMjU2MGMxZGE2NWQ3NmZlNTIxNDMzYTY3NDJiNzIgcmVsZWFzZTI0LW1haW50Cis0NTk1NCBmNjFjODkyY2FkYWM5Nzc0MTU0YTRkNDlmZDYxYzk0OGI3MGY4MTllIGxlZ2FjeS10cnVuaworNDU5NTUgN2ZlNDlkYmNiYmRhYjFjOTU5OWU0ZTVkNjU2Mzk3YjgyMmJiMjc2ZSBsZWdhY3ktdHJ1bmsKKzQ1OTU2IGYyNmZjM2FlZWY5NmNiNDc4ZWI4ZmViZWRlNWE3MzAwNGVkOTljYmQgbGVnYWN5LXRydW5rCis0NTk1NyA2NzAxMzA5ZWZhNzY4NmU2MDI3MjJjZDM1MTc0MzdhZGUxMWY2YjQwIGxlZ2FjeS10cnVuaworNDU5NTggODZhMDUxZDIyNjRkMmEyOTA1ODJiNGVmMDhhMjVmNTg1ZWVjMTE5NCByZWxlYXNlMjQtbWFpbnQKKzQ1OTYwIDlkNGZjYzM5MDIzNmU0YWI1ZDgxMDA1ZDUyZGJlY2E3NGEyZDMyYWQgbGVnYWN5LXRydW5rCis0NTk2MyA5YTYzN2JmNGRmNDI3YWJhM2FmY2EwNzYyYzMyMzFlMGQwZTY5OGQ2IGxlZ2FjeS10cnVuaworNDU5NjQgZTJlZjYwZmVjM2RhZDkxYTZkZjFlNDUxNGIwMjBlNTdmNTBhNzFhMiBsZWdhY3ktdHJ1bmsKKzQ1OTY1IDQwODJkMWExMTkxN2MxMGYyMDkzZDgyYTQ3ODhkZGJiY2UzNGVhMTkgbGVnYWN5LXRydW5rCis0NTk2NiA4ZjQwOGFhMmE3ZWZhNDdmNGE1YjA3MDQ2ZDVhZjRlMTA4NWU5NTUzIHJlbGVhc2UyNC1tYWludAorNDU5NjcgMmE5YjQ1ZGMzMTE0MWQ5ZWJiNDE1OWY3OWVkMDYzMDllYmFlNGJmYiBsZWdhY3ktdHJ1bmsKKzQ1OTY4IGIyMWJlOWQyMzQxYTkwNzI5NzQ4NTNmZGVkOTU4MDRhM2FlYWExM2QgbGVnYWN5LXRydW5rCis0NTk2OSA3ZmM5M2Q5NTMwYmY2MGRmODUyODI2MDJkMzU0NDAwNDI2ZTBhMWQzIGxlZ2FjeS10cnVuaworNDU5NzAgYzRhYTU2ZDdhNWMxMDYzOTQzNjc1YjkzOGRlNGFhNjcyZDY2M2EwYyBsZWdhY3ktdHJ1bmsKKzQ1OTc0IDVlMzU0M2I3ODMzN2JhMzc2YjIxYTljYWI4YTYyY2IyN2M5NTcyYjcgbGVnYWN5LXRydW5rCis0NTk3NSBiZjM3MzUyMDY4NzFiZDI3ZTlkYTFjMzhhY2UwODZkYzU3MDBiOWQ1IGxlZ2FjeS10cnVuaworNDU5NzYgMDc5NTM3MmE4NGFiZmUwZGM2MjViYzBhN2RlYmQzOTc3M2MxZjJlMyBsZWdhY3ktdHJ1bmsKKzQ1OTc3IDc4OTBmNmI5MmMxNDljZjliMTk2NGFhOTFlMGEyNWFkMzdjMzM3YzkgbGVnYWN5LXRydW5rCis0NTk3OCA0ZGUzMTU1ZTE5MmJjOTkwOGY2ZmRkYzhjODNmNmJkMTcyYjllYjU2IGxlZ2FjeS10cnVuaworNDU5NzkgY2Y3OGY5YzQ3OTBlZTEyOTlhOTRjZDNkNTEzNzgzZjg4ZWVkYWJkYSByZWxlYXNlMjQtbWFpbnQKKzQ1OTgwIDU3NGZmYzRkN2JmNmJjNzc3NDA1YmYwNDRhZjVjZGY2YmQxZDI2NTYgbGVnYWN5LXRydW5rCis0NTk4MSBiYjYwOTI5OTU0MDk5MzUxMzZhMDJjOWQwZTlmYjgzZTgxN2UxZGFlIGxlZ2FjeS10cnVuaworNDU5ODIgYTc5N2VmYjRlN2Y4M2ZlZjIzNTMzYmI0YzA0Nzc1ZTY3NTMxYjMzOCBsZWdhY3ktdHJ1bmsKKzQ1OTg3IDg1YzgyODg3ODE4OGIzNWRiZGUwNGRhNTc0YTgyOTYwY2NjYzE3ZWMgbGVnYWN5LXRydW5rCis0NTk4OCA4YjYwMTdjOTM3YWMyN2YwMDg5M2FhMWU5OTRhOGU3ZjE2NmI4ZGFkIGxlZ2FjeS10cnVuaworNDU5ODkgNTI1NjI0ZTk0ZTc4YWU3NmRhOGU4NTMyYWEzOTcxYzJiNGRiYzhmNyByZWxlYXNlMjQtbWFpbnQKKzQ1OTkwIDMyNDcyZWE1ZjNjZGI2MDhmMzY3MDJkZmJiMmRlZGIwMGUxNTliMmMgbGVnYWN5LXRydW5rCis0NTk5MiAzODBkYWQzOTU1OTkxNGY5ZDU0NzZhZmRmZDJmODA4NDQ5MDlhZWZlIGxlZ2FjeS10cnVuaworNDU5OTMgZWJkNTczMjEwZTI1MDM4Y2U0NGMwNTA2OGUxNjk4NWZmNWQ2YmI3YSBsZWdhY3ktdHJ1bmsKKzQ1OTk0IDRiZGYyN2JkNzNkMjJhZDVlNzc0YjI2MjBhN2EzZWU4M2Y0YTA5ODEgbGVnYWN5LXRydW5rCis0NTk5NSBjZGY4ZjUzMzQ0MjY5ZTkyMDRkNjU5YWQ3NjdjMTRiODFhNDhlZDIwIGxlZ2FjeS10cnVuaworNDU5OTYgNjc2NDkyYTkzYzhhN2JmN2RlYzU3YjFmNmE5OWQyMzVmMDdiMTczMCBsZWdhY3ktdHJ1bmsKKzQ1OTk3IGVmODJjNWQwMTQ2MDdmYmI1OGZjMGMxMGE3OTVmOTU1Yjg2NDU3YmUgbGVnYWN5LXRydW5rCis0NTk5OCBmMjUyYzZhZTBjNDI2NDM2MjZjOTQ2MjVhNWU3MDYwNzU0NTEyY2VkIGxlZ2FjeS10cnVuaworNDU5OTkgMjliNzM2ZjA3M2EzNWMzZmI4ZTQwNDAyMTY3ZmFiNTNmZmEwZjRiNCBsZWdhY3ktdHJ1bmsKKzQ2MDAwIGFiNzA0Yjk5ZTE1MGNmMDM3NTllN2VhNmVmZWJjZGNkNjgwMzNiZmYgbGVnYWN5LXRydW5rCis0NjAwMSBkODM1NWNjY2ZmNGFjZmMyOTdjMjYwODJmMmNjZDNmNjIxODcyY2E3IGxlZ2FjeS10cnVuaworNDYwMDIgZmVhNWQyZmQ5YjhhNDgzYzcxMTk2OGM4YjcxMGYwNWEzOTg0OTE5ZiByZWxlYXNlMjQtbWFpbnQKKzQ2MDAzIGU3ZDMwZDc1ZGFlN2MyYmZiNDA4NTg4NDA4MjYzNmU3NGY4NDEwM2MgbGVnYWN5LXRydW5rCis0NjAwNSBhZDhiNzZlOTkyNjEwNTJiMTkxNmQzMDI3M2M2NzNlODk1MTUyZDI3IGxlZ2FjeS10cnVuaworNDYwMDcgY2ExMDUwN2E2YWZiZjNjYzdiNmZiYzMyNzFhM2JhZWU2MThjNTQzNiBsZWdhY3ktdHJ1bmsKKzQ2MDA5IDBhZTRiYjc0ZTc4MWE4MzRjM2E0ZDkyM2IyNjFlZDBlNjdiYzhhY2UgbGVnYWN5LXRydW5rCis0NjAxMCAzMzc5YWQ2NmIwZTA3M2E0NWZjNzUxZWFiNTU5YzNkMDc1YjFjMTM2IGxlZ2FjeS10cnVuaworNDYwMTEgM2I1Y2Q3YzY2ZGEwOTA5Nzg3NWJkZDk3MDk5YzhkMzA3ZjI1MTQyYSByZWxlYXNlMjQtbWFpbnQKKzQ2MDEyIGQ2ZDg3OWFmMzZkMzRhNWM3MGEyMWFhYTc2NTZlY2E1NTgyZTYxYmIgbGVnYWN5LXRydW5rCis0NjAxNSBmODM4NWQ2YzhmNWVlMTYwNDUxZTc5ZWY5OTNlYmU5MWJlNzA1ZGVjIGxlZ2FjeS10cnVuaworNDYwMTYgNmNmNDY2Mjc2M2ExYTI5M2M0NjQ0NmFkYmM3MDEwODhhMjAwYWI5OSBsZWdhY3ktdHJ1bmsKKzQ2MDE3IDM2NTYzYjEzY2U3OTJhNzJiYjBmODBhZTBkNTNhNzBjZmYzM2ZhNjkgbGVnYWN5LXRydW5rCis0NjAxOCBmOTEzNTA1MDA4MzQ2ZjQzZDE2ZGNhZTI5MDlmMmE5Y2MwZTVkMGI2IGxlZ2FjeS10cnVuaworNDYwMTkgZDZlYTdkNDNlYmZjMGFiYzc2MDI2NDVlNGUyOGJhMjljZmViMTIyYSBsZWdhY3ktdHJ1bmsKKzQ2MDIwIGFjNTA2ZTJkZjA0ZDUzOTZhNDk2N2U0ZTc4MzBhOWY1NWY0YmM4ODggbGVnYWN5LXRydW5rCis0NjAyMSAyMDRlYzM4M2I0NDVhYmYzOWJmNzUyZGFlZDQwYmIyNzgwNmRlYTI0IGxlZ2FjeS10cnVuaworNDYwMjIgMzAxODhjNTIzYmM1NThkYWQwNzdiMzVkY2QyOGJjN2E5NTEyNmEyNSBsZWdhY3ktdHJ1bmsKKzQ2MDIzIGFhZTJmZjMzZTI3YzM4NTQwZGFhNzRlNzFiMzkyY2RjNzBhZTExNTggbGVnYWN5LXRydW5rCis0NjAyNCBhYjFkYzdlMjNiZmU1MTM5ZTU2NDU3MWU5NjYwYjc2OWVhYWRmZDU2IGxlZ2FjeS10cnVuaworNDYwMjUgN2NhYTZkMzNhNGM2Nzk4ZDQ4MDYzNDFhMmE3NzBlYzFjYWZhYzQzMyBsZWdhY3ktdHJ1bmsKKzQ2MDI2IGJmYjc2YWU4MmM5MTIxYmUwODNhMzBhOGJiZTI1NTBiMDJhYzA1ZGIgbGVnYWN5LXRydW5rCis0NjAyNyBjMmUzYjVjMzZkZTQ1MmJkMGU0ZTc0NzJhZGEzMDQxN2E2MDdmMmYxIGxlZ2FjeS10cnVuaworNDYwMjggZmEzYzRlYTk5ZDk1Y2E2ZWRlZDFhN2Y4ZTUzOWM3OTUzODY3ODNiOCBsZWdhY3ktdHJ1bmsKKzQ2MDI5IDBiNDczMTA0OWI3MWNlODkwYmJiZWQzMzlhNzk3NmJiOTJkM2YxNDcgbGVnYWN5LXRydW5rCis0NjAzMCAwN2FiYzYyODQ4OTlkZmExZjBhMzU0MGY0MDIwZjY0ZDM0ZjE5NDEyIGxlZ2FjeS10cnVuaworNDYwMzIgYjczZjI0ZTIxYjBhYjY0YzViYjlkOGQ4ZjE3OGFiYWZiMDhhMGJiMyBsZWdhY3ktdHJ1bmsKKzQ2MDMzIGIyODZlZDQ1NDM5ZDY2MGJlMGM5MDA3NzAyYjIzNGM3ZWRkMjk1YzAgbGVnYWN5LXRydW5rCis0NjAzNCBiMzVjZGE1NWQ2MGM2YTE5NzA5NTdhOGFhYjc4Zjk2ODliNDZkYjBmIGxlZ2FjeS10cnVuaworNDYwMzUgNzNjN2FkNWU4N2RlYmE3OWY4NmRjODA0ZDEzNjE5OTY2ZTEzZDRiZSBsZWdhY3ktdHJ1bmsKKzQ2MDM2IDZmZWFhNDJlZmY2OWY0ZDUxZjEyZWIyZTdiMjg5Njk2YjBhYTA4ODAgbGVnYWN5LXRydW5rCis0NjAzNyA0MmQ2YmFiODgwNzlmZjYwZGUyMWIxNzc2MGJmZDQzOGRmZjhmYTU3IGxlZ2FjeS10cnVuaworNDYwMzggODFlMzg1YTY0MWVmOGIwNzAzYWVlYjg1ZjdmOWQ2ZjYwMmQ2ZjQ0NSBsZWdhY3ktdHJ1bmsKKzQ2MDM5IDRjYjlkYzBkYzNmOWViZDFiNTg2YmY2MGVkOTk1ZDIyNGE3OTdjYmUgbGVnYWN5LXRydW5rCis0NjA0MCBjNjRjZDI3MWFjZWE5YWZjNDU2ZDU3N2E1ZDE0YjBkNmE3ZjcxYTgxIGxlZ2FjeS10cnVuaworNDYwNDEgYzA3YTVjMjMwNGYzZmNmOTY5NzBjNzFkZGFmZjUwYWRiZDM3OTBkNyBsZWdhY3ktdHJ1bmsKKzQ2MDQ0IDIxOTU5NzJmNzM5MWQ0ZWM0MTZiYzhjZDVhNjQxZTdhMTdkYWE1ZGYgbGVnYWN5LXRydW5rCis0NjA0NSAyNmZiNTYzODgxYzkzZDk4YmI1YjQwZDVkNTZiMjhmMTdjODY1YWNhIGxlZ2FjeS10cnVuaworNDYwNDYgY2JmMmQ1NjJlMzIyOTI5MTA0MGNhYTIwYWM4MmM5MDlkYTdlMjFmYiBsZWdhY3ktdHJ1bmsKKzQ2MDQ3IGM0OTA3ZDk5MGRiNWQ3MGE4ZTNkYjc1ODUyMjNmZWFkYTljM2IwNDMgbGVnYWN5LXRydW5rCis0NjA1MCAyODUxMTU1NGRmZjFmZjRlYmQ1MjlhNjQwMjk4NDUzYWRiY2RjZWFkIGxlZ2FjeS10cnVuaworNDYwNTIgYjBiYTRlODIyOWY3NzUxOTY0NzE0ZDc2NWFiNDA0MGFlYTNiMmQyZiBsZWdhY3ktdHJ1bmsKKzQ2MDU0IGFjY2RmMTEyNGJhMmVkZjNiZTI2MzJkZjc4MDE5ZmIxYTg0NGE3ODggbGVnYWN5LXRydW5rCis0NjA1NSAxMDk0MzdjNGNhYzQ3NjA5NzM4ODg4MTI1NjVmZWFiMTE1OTdmZTg0IGxlZ2FjeS10cnVuaworNDYwNTYgZjk2MTIxNzdkMDhkMWJiMzMxOTRjYWE2OWVjZjZlMTVkZmU4MjRiZSByZWxlYXNlMjQtbWFpbnQKKzQ2MDU3IGNjMDU1NmFkYzJiMGNiZjExN2M0YzVkM2QwYjQ1NTYyM2E1NzJiZjMgbGVnYWN5LXRydW5rCis0NjA1OCAyZDE4MmZjZmFiNmI5ODA0MGRmYWYwZjBhOGJlZGQ2YjQzMzZmZGNlIGxlZ2FjeS10cnVuaworNDYwNTkgYjRiZGJkN2IxZjVlZTc2MjcyOGNhOGExMGUwMzgxY2RlZjZhZGMwMyBsZWdhY3ktdHJ1bmsKKzQ2MDYxIGNhMWYxYzIxODllNzRmYWQwZGJhYjQ1ZDE2ZDE5ODEwMTk1YmI0YzQgbGVnYWN5LXRydW5rCis0NjA2MiBhNjllZTViYWQ5YjIzYzZlYjg2OWViNWI2NDNjMWVlNjMxOGQyNjc3IGxlZ2FjeS10cnVuaworNDYwNjMgZGFlMGU0YzM5MGU3NzIxNDViZmVkNWI4ODg2MmI0ZThiNDE4MmI2YSBsZWdhY3ktdHJ1bmsKKzQ2MDY0IGFhNjIwODU2ZThhM2Y3NWNhNjdmZmU5ZDkzYmRkZDA1NjFiNTE2ZTMgbGVnYWN5LXRydW5rCis0NjA2NSA5NTkxMGJjNjVmNmI5OTFmNDdjN2VjYzg2NzI5ZDlkOWE3MzRkNjliIGxlZ2FjeS10cnVuaworNDYwNjggMTA1NWQ2MjZlZDU5NGQ2MzhmMDQzMzEyNTcxZGE5YWMxYWQ5NzU1NiByam9uZXMtZnVuY2NhbGwKKzQ2MDY5IDg4MmI2MTJhNWZlOWNiN2EzNWM3OGZlZjM0MTA2ZGQzMTRjNTA1YjkgcmpvbmVzLWZ1bmNjYWxsCis0NjA3MCAyN2M4MDA1ODE3M2U4YTdhZjFhMmM2Zjg0MDBkODNiMmE0MjFiZTcxIGxlZ2FjeS10cnVuaworNDYwNzEgZmI0ZjBmZDdlYmE0ZWJlMzU3NThmZGRlYjI1ZTQzMDdiYzFlOGY4MiBsZWdhY3ktdHJ1bmsKKzQ2MDcyIDUxMjQxY2M5NTg4M2VkZWQ1YzhkNzVkM2Q4OTljYTRjNDI3MjEyMDcgc3JlaWZzY2huZWlkZXItNjRpbnRzCis0NjA3MyA3ZTE2ZmNjZTM0YTEzNTM5NTFhOTVjNmViMjQ3YjZjYzYxNGNlMDYxIGxlZ2FjeS10cnVuaworNDYwNzUgZDcxMGMyZGJhM2U4ODBjOTIwY2ZlODlkMDFmOTAxMzU4OGM5YzMwOSBsZWdhY3ktdHJ1bmsKKzQ2MDc2IGZlYjAwZGY5MTkyMjA2YzQ0NGM0MmNiMjk0NWM2NWE4Zjg3N2UyNzggbGVnYWN5LXRydW5rCis0NjA3NyBjY2VkODNhOTE1Nzc4YWY3ZDIwYTMyYTE1ODdmMjAzMWU4ODQ2MGJiIHJqb25lcy1mdW5jY2FsbAorNDYwNzkgNjA0YWY4NjdjNjVmYjgxMjUyNDgzZWY1ZGFlNGFkMjRhYTQ4YWNlYSBsZWdhY3ktdHJ1bmsKKzQ2MDgwIGNkMzRhMDg4MzA1MzZlM2IxNDQ3YTE1MzlmOWVkMzBhNTk5M2QxYTIgcmpvbmVzLWZ1bmNjYWxsCis0NjA4MSBlYzU0YzZkZjkwNDAyYmZlZjFiYTYxMDE5NTUzNjk4MGUyZjMyZWEzIHJqb25lcy1mdW5jY2FsbAorNDYwODIgMDJhMGM2OTI4YzUwYTdjMWM2OTIxYjlkMGVkMjlhNGY0YmEyOGE1YiBzdGV2ZS1ub3RyYWNpbmcKKzQ2MDg0IDAzNzNhMDc0MDA0YzJlYTlhNTQ5ZjJlZWYxYWE2MmQ4NTBkNTE3YzYgbGVnYWN5LXRydW5rCis0NjA4NSA1ZWFmOGI5NTg3ZDg2OTk0MWM0OGFiZDExNGQ3MDMyZmE2YmI2MDU1IGxlZ2FjeS10cnVuaworNDYwODYgODcyMDQyYTNiMTM0M2M5YTUyMmNkZTJmOGU4NWJmOGUxNmVkNTMzNyByam9uZXMtZnVuY2NhbGwKKzQ2MDg4IGZiODE2ZGZjZDAzMTU0MzBlMmJmZmU3NDUwM2IwYmI4MDAyYzFmMmUgcmpvbmVzLWZ1bmNjYWxsCis0NjA4OSA0Y2VhYmI1NDE0ZDVmMmEyNDMzZjJhMzg3NjQ5YWM2OTNmNTRmZDJlIHJqb25lcy1mdW5jY2FsbAorNDYwOTAgOWEyOGJmYTZmNzg3YzQ2MzczYThjYmJiMDBlZTc0Mjk1MWI2ODQ0MSBibGFpcy1ieXRlYnVmCis0NjA5MyAwMDQ1NmZjYTM3YzQyNDRjZGVkZGIyMWI4NDU1M2JmM2U3ZTcyZWUzIHJqb25lcy1mdW5jY2FsbAorNDYwOTQgMGRlOWE3ODlkZTM5MDRlNWM2OThhMDlhZGNhZDZiMWUyZWFlN2NmOSBsZWdhY3ktdHJ1bmsKKzQ2MDk1IDBiYTcxMWE0OTZlNmIwMDE5ZDAzNDQ0N2QyZmQ5YWU0ZDlkMjZmYTAgbGVnYWN5LXRydW5rCis0NjA5NiBhNjM3Yzc4YmYxMTk1ZWZjN2I1ZjRhOTQ3YmYxZTBmYjE4OTQ0MGEyIGxlZ2FjeS10cnVuaworNDYwOTggNmE2YzU0OTJiOWFkMmVhZDlhZWE4ZTMwMjM3Nzc3YWNmNDU4NzA0NSBsZWdhY3ktdHJ1bmsKKzQ2MTAxIGVlMjEzOTkzNWExZDNhZjUyZDUwMDliNzQ3MTkyODY0MDIyMTZmYzIgbGVnYWN5LXRydW5rCis0NjEwMyA1YjU4NzE5MGY0YzY4NTc3YTMyNTI5NjNjODU3NmM0ZjQzZjhjMTY0IGxlZ2FjeS10cnVuaworNDYxMDQgMzA3OGZkYjdjZjNkZjU1YzczZjQzYWZiNTMyNzk1MjdhOTkxMTZmZCBsZWdhY3ktdHJ1bmsKKzQ2MTA4IGI3YWFmMjFjNDc1NjQwM2YwMTgyOGE3OWJmY2IyNmI3MmZhM2FiOTQgbGVnYWN5LXRydW5rCis0NjEwOSA3NmJlZGY5ZWQyMmZmMjRlM2Q1NDM3YzY0YmY1MGIwZTk3NjAwZGY4IGxlZ2FjeS10cnVuaworNDYxMTAgY2EzNDUyMWJiMTNjMzgzN2Q2NTFmY2E5MGMxZGYwYzRiY2UyOTIyMiBsZWdhY3ktdHJ1bmsKKzQ2MTEzIDc1YmRkNDRmODVkY2Q0YWRhODZjZWIwOWUyZjcyYzQ0NzdjZjBlZGIgbGVnYWN5LXRydW5rCis0NjExNSA5YTkwNzUzZjZiZmJiMjFhOWQ3YmYyMTNlYzk3YjVmMTc0NDQ3MTI1IC4uL2JpcHBvbGl0by1uZXdzdHJ1Y3QKKzQ2MTE3IDY2N2EyY2FlNzllNjI2OTY1MTZiOTEyMDMxNmYwZjNmYjk2ZDRjNzYgLi4vYmlwcG9saXRvLW5ld3N0cnVjdAorNDYxMTggNTgzMTdkZjRkMzBiYmNiNDJkYWIwMzcyODk1NTg2NWI0NGQ0OGVhMyBibGFpcy1ieXRlYnVmCis0NjEyMyA0YjBmZjc4OGU5ZmRhZTBhN2RiYjZlZGNkNTI1NTI4N2ZkNGYzMjVjIHJ1bmFyLWxvbmdzbGljZS1icmFuY2gKKzQ2MTI1IDBmMGYwNDZhMjlmYmE0OGRjN2Y3ZTgzYWEzOGI0Y2NlOWRhODg5YWEgcmpvbmVzLWZ1bmNjYWxsCis0NjEyNiBmZjUwYWUxM2RiOWU2OGRmZjYwYjUzZDg1MmExNzE5MzQwNWRhN2ZkIHJqb25lcy1mdW5jY2FsbAorNDYxMjcgZWFhZTY5OTBlMmQxOGQyYThkYjQ3ZDY2YWIwOWI2MTk3ZTQ5NzhhNSByam9uZXMtZnVuY2NhbGwKKzQ2MTI4IDRiZDI5OWQwMGU0YzZmMTczY2JmZjM1ZGVmOTM4MGY0OTM5NGU5ZTggbGVnYWN5LXRydW5rCis0NjEyOSBiZjVmYjZlNzUyN2MyZmZlODUxYTk5ZDUyMGRjZWJmMzU3MWFiYzg4IGxlZ2FjeS10cnVuaworNDYxMzAgNDk1YTM0ZTU0ZDYwYTUyNzg1MmQ4NzA0YTQ0YWZhZDM5MjBmYmFmMyBsZWdhY3ktdHJ1bmsKKzQ2MTMxIDllZmNjZjU2ZDRlNzFmNGQ0NzNlZjAyYjQ4M2JkZjFkM2Y0NWQ5YmUgbGVnYWN5LXRydW5rCis0NjEzMiBhZjQ2YzdlZDA1ZWI3OTFiMWU0MzY1Yjc4MDgyNDJlYmZiZTI2ODQ0IGxlZ2FjeS10cnVuaworNDYxMzMgOWZkZDQzNDIxNmVmODJlZGIyZWY3YTVmYTdjMjY3ZjhjZjFlYmRjMiBsZWdhY3ktdHJ1bmsKKzQ2MTM0IDg5NWRhNDI0ODBmMWMzNTczNzA4YWMxMjg4ZGRmNDZmOGMxZTQ1OWMgbGVnYWN5LXRydW5rCis0NjEzNiBjMWNlMGI4MzE2MzY3MDNkMTNkODEwN2VlNmQ0MDUzMWMwZTRmYWNjIGxlZ2FjeS10cnVuaworNDYxNDEgMjc4ODJhOGU0M2E5ZTg5YjEwMzNiMjJhMzczMTdhMDRhZWU5ZTk4ZCBsZWdhY3ktdHJ1bmsKKzQ2MTQyIDZiNzlmZmZiYmUxZjA0MzNkMWJkNWFjMTUwZTg0ZTY0NTkzNTViYTIgbGVnYWN5LXRydW5rCis0NjE0NCBlZmI3ZTg3MjRlZWZhNmNlNzYwNDdhYTk1YWY0NGRjY2YxZmQxNWY1IGxlZ2FjeS10cnVuaworNDYxNDggMzM2MzFiNmIwODAxNDc1OTZlNjIwNWY1M2ViOWE5OWE2ODQxYTg2YiBsZWdhY3ktdHJ1bmsKKzQ2MTQ5IDdkODJjZGVkOGFiMTUyZWIxOTU0OGZmOTk5ODkzNzY2MTg1MDY0M2UgbGVnYWN5LXRydW5rCis0NjE1MCA3NGM4MmViYzRlNDQ5OTFjYjVhNWFkNzBlYTk0NzVmMzUzZjQ1ZjRkIGxlZ2FjeS10cnVuaworNDYxNTEgY2Y1YTkwNTdlZDNhOTIwNGViODc1NmRiOWM0NGQyMzViYTcwYWYzOSBsZWdhY3ktdHJ1bmsKKzQ2MTUyIGUwN2RjMTM0OGRhZDlkNGM0NDdmMmYyMjAxZWQ0Yzk3ZjUyN2QyZmEgbGVnYWN5LXRydW5rCis0NjE1MyBiOGJlZjVhMDdkZjZjY2ZiNTIxMmRlN2ZiN2MxMTI3ZmVjMDkwOWU4IGxlZ2FjeS10cnVuaworNDYxNTUgMWRjNTY1N2YxNzQ1M2M3MGE3OGJlNmNhNzZlMjYzZjM0ZGNkODU1YyBsZWdhY3ktdHJ1bmsKKzQ2MTU2IDMxNGQ2NjZjN2FkYmQxZDdlYzI0OThiMzE2MGZkMDc4NjE4YzkzODkgbGVnYWN5LXRydW5rCis0NjE1NyBkZTlmMWExNDA2MTE5MzcyZGY5ZWYyM2E0MjNkOGI2MmEwODY5NWU3IGxlZ2FjeS10cnVuaworNDYxNTggOWFlNjliY2FiOWY3MjIxN2JiYzE0ZWE5ZjllNTM4MzgxZjM3NjEwOSBsZWdhY3ktdHJ1bmsKKzQ2MTU5IDA2OTFmM2ZiMzljYWExZDBkOWE0OGQ0ZWVlNGVhODdjMTVjNjgxNzggYmxhaXMtYnl0ZWJ1ZgorNDYxNjEgMmQ1NWU5NzkwMDM1OGJiN2I0NTMzZGQwOTY3NzVkNzZjOTdmNmVkNCBsZWdhY3ktdHJ1bmsKKzQ2MTYyIDM1N2I1NDAzZTgxYWQzYzlmNjM3MjMzNzY5ZTljYTdhNGY2MWFkZmEgYmxhaXMtYnl0ZWJ1ZgorNDYxNjQgMDQyZWQ2ZjgwODQ3Y2MwNGJiM2E0MDEwMzNhMzdmZmMzOWQzZGE5ZCBibGFpcy1ieXRlYnVmCis0NjE2NSBhNTg5Yjc0NDE1YzAyMmY2ZTE2ZTcwMTRkYzZmNjNhNWE1NDIwODEzIGJsYWlzLWJ5dGVidWYKKzQ2MTcwIDg5YjJjYTUxMjMwNzIzZTJhOGVhMzBkMTY0NDJhZTBhMDJjMTM2OTAgcmpvbmVzLXByZWFsbG9jCis0NjE3MSAwYTk1NGY0ZTNlMzZhMmFjYzk3NjdiZDBmZDIxMTA5NDNlYzEwNTQ0IHJqb25lcy1wcmVhbGxvYworNDYxNzMgNDNiMTQ3NGI1MTJiYmI0Y2YwMDhmYWRiOGZjM2ZhMTk5Y2QzY2U0YSBsZWdhY3ktdHJ1bmsKKzQ2MTc1IDZkYTMxYzQ5ZWIwYTY4NjM2MWUxYTU2NWNiODg4ZjM3NDViYTZjMGQgcmpvbmVzLXByZWFsbG9jCis0NjE3NiAyMjk5NWMxMDllZmQ2N2U1YzA2NmVjYTY5Y2YzY2EwZDQ4NGYzYWQxIHNyZWlmc2NobmVpZGVyLW5ld25ld2V4Y2VwdAorNDYxNzcgOGFkOWUxNDQ4OWZmZjFmMWI1NThlMWI4YzQ0NmFjODlmNDVjY2QyZiBibGFpcy1ieXRlYnVmCis0NjE4MiBiNWIyNTY5NjZmZTkyYjQxNWI3NGI3MDMzZDg4ODU0YjBmYmY0NjMyIGxlZ2FjeS10cnVuaworNDYxODQgYjgyNWU2MjI3MzY2NmU2ZDJiMTEzOGQ1OTgyZTA5Zjc4MzllMDMzNyBsZWdhY3ktdHJ1bmsKKzQ2MTg2IGMyNmI5ZmRiNjVmYjNiNTc2YjYzNWQ1MzE3YjJmOWE0MTU3Mzg2YTMgYmxhaXMtYnl0ZWJ1ZgorNDYxODkgMjYwZDVhNmNlMzBmNGUyNTY5YWI4MDE3YzM2ODc3NTcxMmQxZmFiZSBsZWdhY3ktdHJ1bmsKKzQ2MTkwIGZlZjQ5NmFkN2Y2Y2QyYmRjMWYyNWQ3YWMwNWI0Nzk5OWJmZDNlN2UgYmxhaXMtYnl0ZWJ1ZgorNDYxOTIgNTFkNmUyNzE4MjQzNjhlZWVhZjJiYmM2ODQ3NzM5M2NjZmYwZTQwOCBibGFpcy1ieXRlYnVmCis0NjE5MyBhYWNlMzE0OGY3ZWJhZjAyMjkyNmQzZDI3ODc4ZWFjMWM2YTA5MjQ1IHNyZWlmc2NobmVpZGVyLW5ld25ld2V4Y2VwdAorNDYxOTQgM2NmYWUzYTBlNjk1OTEwNzFkMTc0YjE0YzJiYWEyNzMxODlmMzUwYyBibGFpcy1ieXRlYnVmCis0NjE5NSBmN2E3NzQyYWVmODNiODU0MjMwNzRlYmUxOWVlMGNiZDExMWExYmE1IHNyZWlmc2NobmVpZGVyLW5ld25ld2V4Y2VwdAorNDYxOTcgNThkMjBmZWI2ZTAzOWJiYTZmMTYxODkzN2Y4ZTM4MGUwZWE3OTY0OCBzcmVpZnNjaG5laWRlci1uZXduZXdleGNlcHQKKzQ2MTk4IDY4NjBjMzZmN2RiNzUxNGY1Y2FkOWJlMzU1YjgyOGVkODY3Mjg4MzYgbGVnYWN5LXRydW5rCis0NjE5OSA5MWZlMWIwYWRiZjI2MTRmOWViMGJhOTc0ZjY4MWI0MjIxNTNkN2JmIHNyZWlmc2NobmVpZGVyLW5ld25ld2V4Y2VwdAorNDYyMDAgMzJiYTNhMGM2MDQwOTM4M2Q4ZGQzMzQ4NmIxOWVmNzE2MWMwZTA2NCBsZWdhY3ktdHJ1bmsKKzQ2MjAxIGIyNDkxZmQwYTRkYzZjNjdkYjRiMjlhYTVhZDlhZjIzMTQyYjg5YjkgbGVnYWN5LXRydW5rCis0NjIwMiAxYzVlZTk2MzFjNmI4Yjg5NjZiZTg1NzlkZTE1OWU2NWIwOWIyMzY1IGxlZ2FjeS10cnVuaworNDYyMDMgODhjYzdlNGYwMWZmNGQwZjU3ZjNjMmEwYWQxOThhOTZkN2NlNjNkYiBsZWdhY3ktdHJ1bmsKKzQ2MjA0IGJjZWE3NGIzNWQxZmVkZTBmNzkxN2MxNDNhM2NiZGE1NTFkY2FjMWUgbGVnYWN5LXRydW5rCis0NjIwNSA2NjMyMmZjYTkxYjQxYmJiYzMyNDNlYzBlYjNiMzdjMTA5ZjJhZGEzIGxlZ2FjeS10cnVuaworNDYyMDYgMDQzZTI5YTFlMzk4NWVjY2IwMTAxZmE2NTNkZTZkN2JhY2IxNGFkZiByZWxlYXNlMjQtbWFpbnQKKzQ2MjA3IDQ1Nzg4MTI4YTFiMTU0NDllYTZiMmZjYWJkODRiMDg3N2MxMmNlMTAgc3JlaWZzY2huZWlkZXItbmV3bmV3ZXhjZXB0Cis0NjIwOCA2OTgxOThjYWJiYzVhYjc3NzUxYjU5MDljMTM5ZmQyOGRmOTQ2YmZmIGxlZ2FjeS10cnVuaworNDYyMDkgOGM1MTQ2YzUxZTJkZjAwZThkMjc4ZDEwZjBiNGNmZDk4OGM0YzBiYyBsZWdhY3ktdHJ1bmsKKzQ2MjEwIDc1ZTFjZDIyYjU2YmRkYzRhZjBlODAwM2Y4NDJhMGFjNDJjZmMwMjAgbGVnYWN5LXRydW5rCis0NjIxMSAzZGU3MDY0ZGZhNTY0MTRhYzQ1Yzk4MDhjNTM1MDQ1ZmFmYmMyNmNlIGxlZ2FjeS10cnVuaworNDYyMTIgOWJiNGMxOWU1NjEzNGM2ODkxYjkwZThhZDQ4YWI3ZTA5NDU2OWI5NCBibGFpcy1ieXRlYnVmCis0NjIxNCBhZDFlMjQzOGNmYWE1YmY0NWU0OGM5OTQ5NmU4ZWIwNDQ2NTk0NTc3IGxlZ2FjeS10cnVuaworNDYyMTUgN2IzZDRhODFlOTRkZTVhYWFhYzU2ZGQ4M2M3NGVhMjc1ZmJiNTAzMyBibGFpcy1ieXRlYnVmCis0NjIxNiBlMTViMTRjN2ZhMTRkNWM0NDAwNTJhZjExMDVjYjE5MTgxYWVlOWNmIGxlZ2FjeS10cnVuaworNDYyMTcgNjg4ZjI1NzU3MTA0MzMxM2ZhMTBhZjgwOGNiMWViZTA4ZGZjZDE5ZSBsZWdhY3ktdHJ1bmsKKzQ2MjE5IDQxNzY4ZGUxN2VhZDkwOTJjNDU0YWRmOTkxMGY5ZDhkYmI4NTJhYzcgbGVnYWN5LXRydW5rCis0NjIyMCA0YzBjM2VjZmZjYWMyYjMyMTg0M2IxOTc4OTRmMzAxMzMyM2ZmMjJmIGxlZ2FjeS10cnVuaworNDYyMjEgYmE3MTNkMzFkMDBjNjY5OTIxYjM3MzNjZjRjOWVkMDUxMTIwOGFhYSBsZWdhY3ktdHJ1bmsKKzQ2MjIyIDI5Y2NkNzcxMDQxM2ZlZmQ5ZWE2OTA4MjBhYmI0ZWIwNDAzYjMyZWEgbGVnYWN5LXRydW5rCis0NjIyMyA5ODZiZWUxNmJiNDQ1MWNiMWQ4MjM1YWI3ZWI1ZWM3OGUzNTBiNzA3IGxlZ2FjeS10cnVuaworNDYyMjQgYWU2YmJmMmYyYTQxMmI2YzQxZDE1NDRjMjBlNDI0MzczZWQ3ZDQ5NSBsZWdhY3ktdHJ1bmsKKzQ2MjI2IDQxODA5NDA2YTM1ZWJhMDRmOTNhZmI0ZjQ1NGFjYzA1ZWM5ODQxMGEgbGVnYWN5LXRydW5rCis0NjIyNyBkY2NiY2JiZDY3MjA4YTA3ODIzMGVjYzhhODAzYThkOTQ5MDYxMWVhIGxlZ2FjeS10cnVuaworNDYyMjkgOWMwOGE3YmRiYzMxMGE3NzQ2MDg0NTk5ZjZkY2M1OGVjZTNhYzBmZCBsZWdhY3ktdHJ1bmsKKzQ2MjMwIDE3ZWFhOGI1N2UwNTJmNTE0NjVjYjMzMWZhYmZjM2M1YTMzN2U3MWMgbGVnYWN5LXRydW5rCis0NjIzMSAwNTQ5NmRlZWJhNjRiZTcwNDAxMGJjNjFmM2M4ZTVkZTJmZDBiNWFlIGxlZ2FjeS10cnVuaworNDYyMzIgNmZjMWRjMDg2NDU5NDAyNTk3Zjc4MzAxYjk5NGQwZDlmNWFiNzE0MSBzcmVpZnNjaG5laWRlci1uZXduZXdleGNlcHQKKzQ2MjMzIDNlNmQ3NzU1MmJlMzAyYmVhYzI1NjJkNGQ1Mjc5NzEyZTA0ZDY4ZjUgbGVnYWN5LXRydW5rCis0NjIzNCBjNWQ2MTk2NWNhZDQyMTlhOGY3YTAyY2UzYWIyZTNjYWNmN2Q4N2VhIGxlZ2FjeS10cnVuaworNDYyMzUgNWE2MzM2OTA1NmE3ZmU1ZmMzYzBiNWZmMGRlMTA4N2IxOTY1MDcxOCBsZWdhY3ktdHJ1bmsKKzQ2MjM2IGYyNzlkMDMxZjBjZWEzY2Y4YmM0ZjEwMThhZDlmYTlkMjVlOGQ4NjYgYmxhaXMtYnl0ZWJ1ZgorNDYyMzggNzRiZWIxODlmZDdlZTQ4NGNmYzJkMjMzOGFlYTI0OGFiZGJmNWViNiBsZWdhY3ktdHJ1bmsKKzQ2MjM5IDJhYTk0MDkzNTFkNjFmOTMxN2NlMTFkYTc3NTJlMDk2NWQ3MmRiM2IgbGVnYWN5LXRydW5rCis0NjI0MCA4NTBkNGY3NzE3YjhkZWEwZjliZGY1OTAwZTUwMjNjMTUwYWQ2Y2EyIGxlZ2FjeS10cnVuaworNDYyNDEgYzlkYzMwMGVlZTY4MmFjZTA1Zjc3YjQ4OGQ5MDM1MzY0NmVkZmZmMCBsZWdhY3ktdHJ1bmsKKzQ2MjQyIDA1MzI0YWE0NDRiZGUxYzBiNmYwZDI5OTRiYTNmZjUxODU1MThmODIgbGVnYWN5LXRydW5rCis0NjI0MyA0YThjOWY5YjY2ZTY4ZWM5NzA1YzIzZGJhNWFlYzBhNDlmYmQ3MGRhIGxlZ2FjeS10cnVuaworNDYyNDQgMWZkZjI5YTg4ZjBlZTBiMTNiMjg5MjFhNWZiZmIxNzUxYjVmMGNmMyBsZWdhY3ktdHJ1bmsKKzQ2MjQ1IDkxYzZjOTQ0OTBiMWM1NjQ0ZGFiNjhmODllNGM0MWNlNDMzOGU1NjcgbGVnYWN5LXRydW5rCis0NjI0NiAyZjE2ZTI3MTUyMjM1YjdmZjNjYjg3YjE1MTEzNTVmNzg1N2M1YTI3IGxlZ2FjeS10cnVuaworNDYyNDcgZWNmMmJmNDE4MmFkZjQ5MzNmMTJkMDY0Yzg1MWI4NmY1YTk3MDEwZCBzcmVpZnNjaG5laWRlci1uZXduZXdleGNlcHQKKzQ2MjQ4IDY4YTM0OGM5ODY4ZGI4YjM1ODYxNWJiNDA0NzFiYWNhMjVhNTAyMWMgbGVnYWN5LXRydW5rCis0NjI0OSBjMDA2YzI3MjExNmZmYWE2YTgzMjdhMzljNGEwM2ZkYjRhODI4YzA1IGxlZ2FjeS10cnVuaworNDYyNTEgYzM1MDhhOTQxNTY4MzY1OTZhMDNlOGE5MDkzMjY0Y2MxZGNkODhiYyBzcmVpZnNjaG5laWRlci1uZXduZXdleGNlcHQKKzQ2MjUyIGUxNmI0MTU3Njg2Y2I5YTQ4ODg1MmQ0NDgwZjIyNzUyNjE0ZjA5M2IgbGVnYWN5LXRydW5rCis0NjI1MyAzZDQ3N2QxNTg0MDFjNzFiMTM4NDNkNzA3ZmZhNmRiZGMxZmY3Nzc5IGxlZ2FjeS10cnVuaworNDYyNTQgZWEwYWQ0ZDRmZjhlZGYwYWNiOTg1MTllMmZlNWQzMGUxNWRlMmU4YSBsZWdhY3ktdHJ1bmsKKzQ2MjU1IGM3N2RhMjczNmZiMjY1ZDZhNDQ1N2FiMGMyY2U4ODUzNjg3NDE3NjQgbGVnYWN5LXRydW5rCis0NjI1NiAzNTg3ZWUzMTNiMDA2MTAyYWU2MTBhNTk3ZTg0ZTRlNzgyOTZhMGM1IGxlZ2FjeS10cnVuaworNDYyNTcgMDRmMzllY2JjNzNjNzZhNTVhZThjYzFlZjViNTNkZjViN2VmZDBjMyBsZWdhY3ktdHJ1bmsKKzQ2MjU4IGQzM2Q4YThiNTQ1ZWVlYjE1MGQxYjRjNTc4YzgwZTkzMmY0NGZiNDcgc3JlaWZzY2huZWlkZXItbmV3bmV3ZXhjZXB0Cis0NjI1OSA4YTU4YWE0MGRjYzA1ZDU4MDQxYTZiNGJlNmYzOGQxNjQxYjMwZTJmIGxlZ2FjeS10cnVuaworNDYyNjAgNTU2NjIwY2Q3YjFkZTNjMTE4NjUxNTJkNzU5ZGIwMGNlYTU0NTNkMCBzcmVpZnNjaG5laWRlci1uZXduZXdleGNlcHQKKzQ2MjYxIDlmODg0ZDM0YTBlY2Q0Yjk5ZTcyMjhkNTk4ZjViMjk1N2RhODQ2OTkgbGVnYWN5LXRydW5rCis0NjI2MiBlOWViNTI2YjcxMTE1ODBkMTgzZDhkZmQ3ZmNlZDhiMmJlNTZmYWRiIGxlZ2FjeS10cnVuaworNDYyNjMgY2VlYmU2Y2M0NTcwNGM4YzE4YmZhYTRkN2ExZDk4YTM4NWRlNDk3NSBsZWdhY3ktdHJ1bmsKKzQ2MjY0IGFiMDIyMTgxMTc3MTdiYjYxYjBhNzZjNGM1Yjg2NjFiYTA1MzMyYjUgbGVnYWN5LXRydW5rCis0NjI2NSAwODcyODcwMDk2NThlZWM3MDk5NTcyYWY1YjdlMjNkZjdkOWRiZGE4IGxlZ2FjeS10cnVuaworNDYyNjYgN2E2YWY0YTE0M2M2MmJjNWY2ZTRmZjg5MGM5OTcyMmU1ZTAwMzQ2NCBsZWdhY3ktdHJ1bmsKKzQ2MjY3IDhhOWNkOTk5NTM1ZDE3OTc0NjBjZTZjMDU2MGY4YjhjYzdhMjQzYTIgc3JlaWZzY2huZWlkZXItbmV3bmV3ZXhjZXB0Cis0NjI2OCBlYjIzN2EzN2VhMDJkZWIzMzBlMmZlNWUxZjQzNzI5NzJiMDg5MDc2IGxlZ2FjeS10cnVuaworNDYyNjkgZGRjMjAwYWZkZTFhODMxYjFjMmJkYTczZjZhMTM2YTUyNDczZTkxYSBzcmVpZnNjaG5laWRlci1uZXduZXdleGNlcHQKKzQ2MjcwIGQ2ZDU1M2I5ZDQ2OTc3ZmJkY2NlZDAxYWUyMTA0M2U1MWRmMDdjNzUgYmxhaXMtYnl0ZWJ1ZgorNDYyNzEgNDZkNzdiYjMyZmIwZGE4YjQxYTY1YzFiMjUwMWI0ZmExMWNlMTliYyBsZWdhY3ktdHJ1bmsKKzQ2MjcyIDVhMTQ3MzY1NTI3ZTUzODQ1YTBmN2FjMWEzY2Y2ZWU2OTgwOTBiYWIgbGVnYWN5LXRydW5rCis0NjI3MyBmOTMzMmFkNDI4N2E3ZjZkODYyNGQ5MDg3Y2IwMjE5MDFkNDczNWFjIGxlZ2FjeS10cnVuaworNDYyNzQgODJiNjgwODQ2ZGY4ODk3ZmY3MjhiY2U3ZDZlNjVkODAzZDQ5YjM4MyBsZWdhY3ktdHJ1bmsKKzQ2Mjc1IDgxYjY0MWRhNWM3OTUyYTdlMDQwNWY4M2I5NmU5YWYwMWExZTQwNzQgcmVsZWFzZTI0LW1haW50Cis0NjI3NiAxMDM1YTJiMzFlNmRmMjYxNmM5YTQyMDhlZWIxYWE5NGUwZmFkZjZkIHNyZWlmc2NobmVpZGVyLW5ld25ld2V4Y2VwdAorNDYyNzggOTU4ZjkxNjg0MjA5ZDAwYzMzZDdmZWZhNjhjZTQ2ZTlkMDNhOWNlZiBsZWdhY3ktdHJ1bmsKKzQ2MjgwIDE2NzBmZjcyNmU4ZmQ3ZDc0NzgyODYxNWYxMDA5YTI3NDUyNWM0NzUgbGVnYWN5LXRydW5rCis0NjI4MSAzMDkxYTc1ZWI1NjBjNTZkZTc3Zjg2OWZmZjdmZjE4MTkxNjk3MDJiIHNyZWlmc2NobmVpZGVyLW5ld25ld2V4Y2VwdAorNDYyODMgZGQ0MTczMWRlZTZkNGJkMmM4ZDA1YWI1NGU0NDQ1MTQ4ZDI1MmFjNSBzcmVpZnNjaG5laWRlci1uZXduZXdleGNlcHQKKzQ2Mjg0IDJmNGZiNjQxNGU4NzIwOGFiYzE4MzFkMzVhNjU2YjAyYjU3MTc4ZTUgYmxhaXMtYnl0ZWJ1ZgorNDYyODUgOGE5OWNkZWYwYzk0YWNiNTgxZjUzZWIyNWNjMjFmMTRiOTZmNTliOCBsZWdhY3ktdHJ1bmsKKzQ2Mjg2IGE2NTRkNjFkMzZkNTMxOTY3MWIxMGIwYjFlNTIxODkxYjE3OWNlNzQgbGVnYWN5LXRydW5rCis0NjI4NyA1MzgyYWFmM2EwZGFjNWZjZjJlNTg5ZDFmNDFmZmYwYjI5OTM2ZTZlIGxlZ2FjeS10cnVuaworNDYyODggYzhlNGIzYjM5Nzc0MzA1ZmFjOGE3YTUxMzk3NzZkOTdkOWEzZDVmZiBsZWdhY3ktdHJ1bmsKKzQ2Mjg5IDgzNWVhNTk4YTQwNjBiYTgxYjk4OGRjMTYzM2RlOTlkYzI5MjYyMGYgYmxhaXMtYnl0ZWJ1ZgorNDYyOTAgNjYxMGQ0YmU4ZmJkOTAyNTA1NDAzZDkyYzBiZmMzNjAwNzkzNjAzZSBsZWdhY3ktdHJ1bmsKKzQ2MjkxIGZlNjUzZTIyNDg4YzlhMGIwODMzMWQwNTRiOGYwZTk2MTBhNGIwNjEgbGVnYWN5LXRydW5rCis0NjI5MiA5MmIwZmM1NGQyMzAwZDA1OGQwMmJlNzA0ZTJiNzAyZmU5ZTcxNDgyIGxlZ2FjeS10cnVuaworNDYyOTMgNmQ4NjE1ZjlmMWNjYTk3ODM4NWI3OTYzOGJjODEyMzQ1YmZjMjI3NiBsZWdhY3ktdHJ1bmsKKzQ2Mjk0IDhkMjhlNjNlOGYyMTY2NDgzZjAwMmU1ZGY2NDk2YTg1YjFjZTk2ZmIgbGVnYWN5LXRydW5rCis0NjI5NSBhZDJlNGRlNDdkMDk2MzY1ZGFlZDdlMTRjZmJlZTRlMTdjMDg5YzgzIGxlZ2FjeS10cnVuaworNDYyOTYgMmY0NWFkNjZjZDM2NTA1OGIwMGRmZDIxZjY2ZDY0MDBiNzQ4ZTk0MiBibGFpcy1ieXRlYnVmCis0NjI5NyAzYmVmMjQwODZhY2U1MWRhMzJhMjFlNjU1ZmFlNTUyNWVmZGRmNzdmIGxlZ2FjeS10cnVuaworNDYyOTggYjdiNzYxNWVhNWY1ZjIwNzNmNGZjMTJmODIxMGY2ZTBlNzNkNGNlZSBsZWdhY3ktdHJ1bmsKKzQ2Mjk5IDlmN2IxYjdhZGYwMTBlMmZiZmRjNTc4ZjgxMjA4NzExNDFkMDRmMzcgbGVnYWN5LXRydW5rCis0NjMwMCAzNmNkNGE0YWI4ZjdlOGY3MmJhODAyMGNiNTdkMGE4MjVhOGExODU3IGxlZ2FjeS10cnVuaworNDYzMDEgYzA3YTk2ZjY5ODM5NjJiNGIyYTUxODVmMWIyNGE4ZmRmZTA5OTQ2ZSBzcmVpZnNjaG5laWRlci1uZXduZXdleGNlcHQKKzQ2MzAyIDk1NzcyN2YyZmYwOWYzOTM3MzcyNzE3NWQ5MmUzMThkMzg4Y2U0YzQgbGVnYWN5LXRydW5rCis0NjMwMyA5ODgzNzkwMTQ0NzczMDgyYjBjNWYxNWYxOTg3NWEwZDMzZjUyYjU3IHNyZWlmc2NobmVpZGVyLW5ld25ld2V4Y2VwdAorNDYzMDQgMzc4YmE2NzdiNTc5NzA3NmZkMzQ4NTBkZDI3MmRjYTU1YjkyOTI0MCBzcmVpZnNjaG5laWRlci1uZXduZXdleGNlcHQKKzQ2MzA1IDc4YzYwZTU5OWFmZGI3YmFkZjYxYTQ4NDNhOGM4MWU1NjVlMGI3MjAgbGVnYWN5LXRydW5rCis0NjMwNiAzMWI5Yzc4YTA3ZjM2OWZkMWRjMTBlZTc2ODgyYWJhMDJhZTFjYTMyIGJpcHBvbGl0by1uZXdzdHJ1Y3QKKzQ2MzA3IDA1YmJiZGRmY2UzZjdhMjdiMjUxNTM5ZGVkZDdhOTdkYzY0N2MzOWYgbGVnYWN5LXRydW5rCis0NjMwOCBiZTc0MTViMGEzMTg1MWEzYzkzYmJiY2YwNGJiYWI2MTIwMTVhMmM3IGxlZ2FjeS10cnVuaworNDYzMDkgZTNlZTNlYjE4Njc4ZGM2ZTgzN2YzYmVlNmI1OGRmYmUwYmM4NjU1YyBsZWdhY3ktdHJ1bmsKKzQ2MzEwIGQyZGY0YTM1OWUzNTJhZjc3YzBlMzgzMTc1ZmY1YmQ5ZDY3YWNjNDIgc3JlaWZzY2huZWlkZXItbmV3bmV3ZXhjZXB0Cis0NjMxMSBhNGVlNDU5ZmYyODhhNDJlODkyZWRkODBhOTM1NDNmNjA5ODUxOWRlIGJsYWlzLWJ5dGVidWYKKzQ2MzEzIDg4ZTlkODY3NzAwNjZlY2QwZmJiMWNhOTNmMGIwMTkyOTZhMWI2MmYgbGVnYWN5LXRydW5rCis0NjMxNCA0NTRiZGU3ZTQxNmU0OWJhN2JiMGU5N2JiN2RjYzBiMzJiNzNhYTJkIGxlZ2FjeS10cnVuaworNDYzMTUgODkwZjYxNjFjOThhNWE5MTU3ZjA4NDMxNWJhMjAwYmEyOTkyNDg0NSBzcmVpZnNjaG5laWRlci1uZXduZXdleGNlcHQKKzQ2MzE2IDY1MzNkOGFlMWZkOTUxMmVmMTdiOTRlYTg5MDFiNjAzZGMzOGE5MmEgbGVnYWN5LXRydW5rCis0NjMxNyBhMDQzYzVkNzFlYWExOGIzNmFmZWE1MGM3NzdhZjhhZTY1M2YyZDRiIHNyZWlmc2NobmVpZGVyLW5ld25ld2V4Y2VwdAorNDYzMTggNzZiMzAxYWM0YTVlNjM0MTg2Zjg0ZGVmZmQ0ZWUxZjRiODEyNTQwMyBzcmVpZnNjaG5laWRlci1uZXduZXdleGNlcHQKKzQ2MzE5IDhhMzhkYThlMTI4ZjdkYmM2NDA4OTNlNTQ0MmM5M2QzMDFlZDQ2NzAgcmVsZWFzZTI0LW1haW50Cis0NjMyMCA1MjEzYjYwNjUxOTc5NmU5MDBlNTViNzI4MWY2Y2M4NDM5MzQ3YmFjIGxlZ2FjeS10cnVuaworNDYzMjUgMWExMTMwNTA2OTBiNzQxZjMyNzZjNzFkZTkwNGUxZWM2YTJiOTk2YSBsZWdhY3ktdHJ1bmsKKzQ2MzI3IGMwMDgyNzA1ZjJmMjM0M2EyNDkyOTliNGU0MTAwYWRmNWFmZTI3NjggbGVnYWN5LXRydW5rCis0NjMyOCBmNzQzZTNjNmI5YmYxNmE4Njc3MGFlZWRiNTBhMTBkMTQ3NDg2NTA2IGxlZ2FjeS10cnVuaworNDYzMjkgMmVkNGI3NTdjMGNmMjYzZDg5ZWZlMjM3NTc4MDc0Mzg5NDE2NDcwNiBsZWdhY3ktdHJ1bmsKKzQ2MzMwIDc5YzhkY2MyNzdhNWYyNjNlM2JhY2Q4OWFlOTE5ZTFiOWE5NmFlM2YgbGVnYWN5LXRydW5rCis0NjMzMSAxM2UwZjcxYTcwZDU0NGU0YWE5YTQ3MTI2NDMwODBmMTQ0OWJhNjM4IGxlZ2FjeS10cnVuaworNDYzMzIgMDlkMmU5NjhkMDc0NzI5MzI5NWE2NzNhMDFkZThmZDVlYzY2ODViMiBzcmVpZnNjaG5laWRlci1uZXduZXdleGNlcHQKKzQ2MzMzIGZhOThiOGRmMGZlMjE3Njg0MTU0OGVmZDI3MzUxYWJkZGIyOGY0NGMgbGVnYWN5LXRydW5rCis0NjMzNSBhNGU0MzNjMTM2ZGE0M2IwMThkNzVhYjIxMmYzYTUyZmMyOGU0NWE0IGxlZ2FjeS10cnVuaworNDYzMzYgMzFkNDIxNTQ4MGM2OTk5NTkwN2JmN2M0Y2NjZTNiMDMyYzk5NzUyMSBzcmVpZnNjaG5laWRlci1uZXduZXdleGNlcHQKKzQ2MzM3IGQyYjM4YTYxZGU3MTM1MzRlOWEwMjgzMTllMjkzZmVmZjY3MzllNDggc3JlaWZzY2huZWlkZXItbmV3bmV3ZXhjZXB0Cis0NjM0MCBiZWY2YWFiNWY5YjNhM2QwMThhNTJhNTBjMjhhMzdlM2ZmNjNmZjUwIHNyZWlmc2NobmVpZGVyLW5ld25ld2V4Y2VwdAorNDYzNDEgYzBkYmZlYThjMGZiNWI5MDg0Njc3ZWIzMDQzN2I1YmUxYTQzNDQ2ZCBzcmVpZnNjaG5laWRlci1uZXduZXdleGNlcHQKKzQ2MzQyIGQxMDliMDgxZDQ0YmU1NDA2ODllMDE5YWZjN2I3OTIyYTIzZDRkN2Ygc3JlaWZzY2huZWlkZXItbmV3bmV3ZXhjZXB0Cis0NjM0MyBjMTRlMGM4OWE4YjBkMDdlNTgwYmU2YTRmMjAwYWEwOTU1Yjk4MWMyIGxlZ2FjeS10cnVuaworNDYzNDYgMmU3YTAwZWJjMzE5MjYwNTg1ZTkxZWE0MzhmNDk3ZmFjNThlMzQ5MCBzcmVpZnNjaG5laWRlci1uZXduZXdleGNlcHQKKzQ2MzQ3IDVlNGRjZTc4ZjIzZGE5YjMzMGNkYzcxMzJlNTI5MjhiNzRhYjBjNmIgc3JlaWZzY2huZWlkZXItbmV3bmV3ZXhjZXB0Cis0NjM0OCA2MjRiNGJiOTNkOTAyNmEyZjU4ZDIxODBkOGE3ZDAzNWYyZmNkNDZhIHNyZWlmc2NobmVpZGVyLW5ld25ld2V4Y2VwdAorNDYzNTAgNDNjODZmMzQ5ZDQ3ODRjN2Q2NDc3YjU4ZmVlYzE1YWVlZDhlOGQ5MSBzcmVpZnNjaG5laWRlci1uZXduZXdleGNlcHQKKzQ2MzUyIDRiZmVhYjIzMGUzODVkNjdkNDE0YjFkMTI5MTk0MmE3MjhjOGEzODQgbGVnYWN5LXRydW5rCis0NjM1NCAxYmEzZTQwZTg2NDk2YTI3MzZiZmFhOTM4YWE1ZWQ5M2M1NTAzZGE4IGxlZ2FjeS10cnVuaworNDYzNTUgNTJkMTM5OWUxYzZkOTFjN2FlMWM2ZjUzMGQwZjdhYTQ3NWRmZDNjMiBsZWdhY3ktdHJ1bmsKKzQ2MzU2IGExNjk0OGU5OTE1ZWNhNTZkODMwNDg5ZmQ1ZDk3MWQ2ZjQ5NzlhNGYgbGVnYWN5LXRydW5rCis0NjM1NyAwYjhiMjhmMGYzMDE0M2IxMDc1N2JkYTYzNTI4NDExYTcyNzk2NWJmIGxlZ2FjeS10cnVuaworNDYzNTggNzI5ZmY4MDA4YzllNTk4MzA3NGNlMTk1YmRhNGFiNDNiNjBjZGU5NCBsZWdhY3ktdHJ1bmsKKzQ2MzU5IGQzN2Q1YzU1MjFlMzg2NDZlYTU5YTdlZTQ2NmI3MzFkODkyM2U5ZWMgbGVnYWN5LXRydW5rCis0NjM2MCAyZTRhMjc0ZTMxMDhhZWIzNjIzMjZiOWNlZDI5ZDUwYTdlNjJmZTAyIGxlZ2FjeS10cnVuaworNDYzNjEgYTVmNTNmZWNmY2U2NmNiMTlkMTFiNjdhNGViNzAzOTQ2OTc4OWVmMCBzcmVpZnNjaG5laWRlci1uZXduZXdleGNlcHQKKzQ2MzYyIGIzMmY5YmIyZTA3NzI3ZmE2ZDA0OGU3ZDQzY2UxYmUzM2UzMzIzOTcgbGVnYWN5LXRydW5rCis0NjM2MyBmNzEwZWRjYWE2NzU4OTllYTRiN2JmOGE1ZDUwNGQ4YWE0Y2NmZTYwIGxlZ2FjeS10cnVuaworNDYzNjQgMDU3NDQ5MTdiN2MzOWIyMzg2ZDM0MzdiMzg4OGM0ZDE5MTFiNWUwMiBsZWdhY3ktdHJ1bmsKKzQ2MzY2IDk2NDE1MTA1YzI5ZTAxZWVhZTEwMDExZTU1MTA3MjRhN2RkMjMyMjYgbGVnYWN5LXRydW5rCis0NjM2NyAzODkwYTNjNzkyYjkwMzczZWUxNzhjZjI5MDYyZWQ3ZDU2NjgwYjNjIGxlZ2FjeS10cnVuaworNDYzNjggMzVmNDE3MzFiZWU5NGU0YmFhNDVhNDg5ZjgzMDk3MzE4ZDc0NmYxYSBsZWdhY3ktdHJ1bmsKKzQ2MzcwIDRkMGFiYjk5YzllNTQ4ZDNiOWMwZDc0MTUzY2M3YWFhZTcxYzM1YmQgbGVnYWN5LXRydW5rCis0NjM3MSAyZjcxZDFhNjkyYmY0YTBiYjE2MWEwMjFlYmY3OWRhNjNhYzFjMDU2IHNyZWlmc2NobmVpZGVyLW5ld25ld2V4Y2VwdAorNDYzNzIgZDIxODk2YjJkZDBhZDcxZWY3YjE1MjM4MzFhMzllMjNhMmIyNDA0ZiBsZWdhY3ktdHJ1bmsKKzQ2MzczIGQ4NWIzNjBhYTVmNmY4MWQ4YTQwYWU4ZDJkNzY1OWQ0YmQxMDNkOGUgbGVnYWN5LXRydW5rCis0NjM3NiAxYWIzMjYxN2RhZGRmNjY3YjkwNjRiMTE2ZGJjYTBlOGNhZTg0YzM4IHNyZWlmc2NobmVpZGVyLW5ld25ld2V4Y2VwdAorNDYzNzcgNzY4MDc5MDJhMmY1MDVlNTdkMGU1MjliMjZlMTM1OGE0OTRiMDFhNiBsZWdhY3ktdHJ1bmsKKzQ2Mzc4IDIzZjc4ZTViZDNlM2FlNWM3NDBmMDdiZjA4OThkZWE3MWUyMTBkZGUgc3JlaWZzY2huZWlkZXItbmV3bmV3ZXhjZXB0Cis0NjM3OSBmNzA2NTNjMWU2MzNiNjhhOWQ5NDI0OTIyMWRlODI4MjE3NmZjNThkIHNyZWlmc2NobmVpZGVyLW5ld25ld2V4Y2VwdAorNDYzODAgNzg3NzFkNjczYjRiNzMxMjYyNWQ1MjY5MGJlNDk0N2U2OGYwMzNiYSBsZWdhY3ktdHJ1bmsKKzQ2MzgxIDgxNmY4ZTYwMDk3YTlkYTdkN2QyNGQ4NDE4MmUyZGVmNDk0OTI4MTUgbGVnYWN5LXRydW5rCis0NjM4MiA0MWY4MzllODk1MzI1ZDM2MjgwZjMwM2ZhMWYwOTU4MTFhYjQ2ODJmIHRpbS1leGNfc2FuaXR5Cis0NjM4MyAwZjYxYzNjNjJiOGJmODE5MThkM2Q0NTNlZjYyMzM4Y2JiOGRjMGMwIHNyZWlmc2NobmVpZGVyLW5ld25ld2V4Y2VwdAorNDYzODQgY2ZjOWEwMDdlOGNlYjMwYTg1YmJmNWYyZTU3ODc1YTU5ODM3ZDNjNSB0aW0tZXhjX3Nhbml0eQorNDYzODcgYjIwZTdjYmRhNDA5MTJjODM0ZDc5Yjc1NWFhYjc4ODRkZjMwZWIxMiBsZWdhY3ktdHJ1bmsKKzQ2Mzg4IGQxNTNkMmY2Njg4NGZjMzAxODViYzIxYjNiNTg5NTAzNWM0M2NiMWIgbGVnYWN5LXRydW5rCis0NjM5MSA3MGMwZmZkMjFiZjBhNzMwMGUxOGJhOWViNTMyOGQzYWIxYzk3OTMzIGxlZ2FjeS10cnVuaworNDYzOTIgZGYwNGYxOTJhMmEyN2M0ZjAwOWJiY2RmNDAyNGYxYjkwZjU5MDQ5NyBsZWdhY3ktdHJ1bmsKKzQ2MzkzIGFjNDVlY2E4YzM1YzI0NmRiODY4NjEyNzE2NjBhNWI3YjI5MDk5ZDIgcDN5aworNDYzOTUgYjE4OTY2NTZmMjJlNDY5MDYzZjI5NDEzNzEwNmQ3MzBiNjdlNWE0YSBwM3lrCis0NjM5NyBkYmIxOTVjOWRkODhlMjU0NjYyOWFkZjYyZTAzYmNkY2U5OGU0OTk4IGxlZ2FjeS10cnVuaworNDYzOTggMzNjMzI4ODk2ZjUyN2ViNWYwYzc2NWNiZWU0ODcwMmI5ZjEwYjYxMiBsZWdhY3ktdHJ1bmsKKzQ2NDAwIGFkYzIxNGZjMWUxYzEzYzM5ODA2ZDM4MThmNTdmMzFiNjgxOTBkYjQgbGVnYWN5LXRydW5rCis0NjQwMSA1ZGRiZDIwNTAwZmM1MDQ5MWY3OGI4MTFlYTJiZjA3YTkwNTM5OTczIHNyZWlmc2NobmVpZGVyLW5ld25ld2V4Y2VwdAorNDY0MDMgNmIwM2E0N2ViNTRkZjdlZGFjY2ExZTExMzU2NDEwYmE5MDAyOTYzMyBsZWdhY3ktdHJ1bmsKKzQ2NDA0IDZkOTlkZjU1NjA2ZTI0ZDBmY2U2N2I3NmNlNmY0YzAxYmUzZDdlNmUgbGVnYWN5LXRydW5rCis0NjQwNSBlODNlMWFhYWIxYTNhZTA0NjEzZWRlYjY1NjA4OTIzYTQ2MWZiMzMyIHNyZWlmc2NobmVpZGVyLW5ld25ld2V4Y2VwdAorNDY0MDYgNTJmMmM5Zjc0ZjVhZDVhNzZiMmIxZjhhZDk2MmU0NWVmMmEwNzhjMSBsZWdhY3ktdHJ1bmsKKzQ2NDA3IDMxMjhjZmFkYTZiNGE3Y2Q4YWZlYjIzZjQ1OWM3NDFhNDMxODE1NjQgbGVnYWN5LXRydW5rCis0NjQwOCA0MDJmM2FjNDA1MmZmYWZkZDgxNGI4ZDRhNTZkZTRkZDlhZGZkMDY1IHNyZWlmc2NobmVpZGVyLW5ld25ld2V4Y2VwdAorNDY0MDkgOGY3YzdhZWFjM2E1ODNhM2I5MmZhOGVhZTQ3YmM4ODk4Yzg4NjY2ZSBsZWdhY3ktdHJ1bmsKKzQ2NDEwIDFkYjBkNzM3NDllZDllZGE1ZWRlMDBiNzY2ZWU5MTQxZmM2ZDM4NWEgc3JlaWZzY2huZWlkZXItbmV3bmV3ZXhjZXB0Cis0NjQxMSA1NjA3YWI2YzY3ZGZkYjBkYTZhZTlkNWEzNjUyM2JiNGYxYjU5OTZlIGxlZ2FjeS10cnVuaworNDY0MTIgZmE2NzViM2Q3NWNhODIyNWVkOTQ3MTY0ODU0YjQ1NzA0MWQ5NDhmOCByZWxlYXNlMjQtbWFpbnQKKzQ2NDE1IGU3YWY5N2UyNzhjNDRhNzEwZGI0MTllMDk3MDdiOGM5MzFhYWQ4ZDggbGVnYWN5LXRydW5rCis0NjQxNiA0Njk3ZDE5NThjY2IwNWJhNmQ5ZmQzMTQ2MTBkYTE1MzQ4ZWE3OGNiIGxlZ2FjeS10cnVuaworNDY0MTcgNjMxYjY2NDhmZGY0MWJlMmM0NTc1OTUzMjU3ZGQ4OTExNjg0NmZjZCBsZWdhY3ktdHJ1bmsKKzQ2NDE4IDJiZWUxNTBhMGY3NTIyOWExMGNiOTA3ZjliMjRlNWUzMDEyOGIzMjkgbGVnYWN5LXRydW5rCis0NjQxOSBmZWE2ZmI0NTU3MTEzYmM2MTE3MjYyYzkxZjNjZjM5YjhhZDY5ZjU1IHNyZWlmc2NobmVpZGVyLW5ld25ld2V4Y2VwdAorNDY0MjAgNGRjNjFkN2RiM2EyOWZmODZhY2RlNWYyZWNiMDk1NjU4YTQwMWQ2NCBzcmVpZnNjaG5laWRlci1uZXduZXdleGNlcHQKKzQ2NDIxIDhlMmRjM2U0MTgwMTFhNmUyNWQ3NjAyZGRhZWVjYzEwZDYwZTc3Y2YgbGVnYWN5LXRydW5rCis0NjQyMiAwZWViZDllZWI3MTdjYTMxMzNjN2UxY2Q0ZWRkZjRjNzA4YmNiNDNkIGxlZ2FjeS10cnVuaworNDY0MjMgY2U2MzhkNGI0ZmM4Y2RhZjBjNGI2M2ExNjQ4NTNhMjc2M2VmNmU1NiBsZWdhY3ktdHJ1bmsKKzQ2NDI0IDkwZWRhZjBkOTA2MjE4MjE4YmI5NGJmY2NkZGUzZTAwMWVkMWU5ZmUgbGVnYWN5LXRydW5rCis0NjQyNSBlMGU0M2U1NjE1MTJiYzk2MDQxMGI3YzdkMTI2ZDIxZWFhYjZmMDFhIGxlZ2FjeS10cnVuaworNDY0MjYgNzA4ZWFmMDg5NmJmNDU0NGQ0ZDU0MzUzODMyZjMzMDA3MWNhYTY1OCBsZWdhY3ktdHJ1bmsKKzQ2NDI5IDM4ZTlhZjM4ZjM4MWMyN2VjNjA3MGI1YzYyYTUzOWMzOGY0NmQzMjkgbGVnYWN5LXRydW5rCis0NjQzMCA0OTljZjdjMmY3NzczZWY5NmZlYTRiNDI0YjNjOTM0YmVjYzVkNTZkIGxlZ2FjeS10cnVuaworNDY0MzEgNDIwOWEzZDI5NWUzNDdlZWQ2ZmU1NDEwMjhhODlhMTNjM2M0MzExMSBsZWdhY3ktdHJ1bmsKKzQ2NDMyIGRmYmQ0NTdjYTY3YWM2YThmMDlkZjNjZGY1OTViZGQwZmM1NzRlOGQgbGVnYWN5LXRydW5rCis0NjQzMyA2OGUxYTAyYTViMjkxZDg5MzgxYmZmOGQ5NTA0ZTAzMTM1MGY2NGViIGxlZ2FjeS10cnVuaworNDY0MzQgMTBhNTk3M2UwYzlhNzM3NGYxYzFjOTEyN2E0NzAyMWQ3YmFiZmNkOSBzcmVpZnNjaG5laWRlci1uZXduZXdleGNlcHQKKzQ2NDM2IDNkODFmYWY0N2FmNzdkZDA5YWZkYmVkMGY0OWIyYzgyMzE1ZTAzYTkgbGVnYWN5LXRydW5rCis0NjQzOCBjYTY1N2UwYmQwOWMwMzc3OGYwMTZjMGQwY2NlNDdkNWNhNGQyZmM4IGxlZ2FjeS10cnVuaworNDY0MzkgOWYzMzc1ZTMzZGI5NWQwOGVjNGMyZDk3M2E2M2UxMjU0NDc0Zjc1MiBsZWdhY3ktdHJ1bmsKKzQ2NDQwIDk5ZDA2MWJjMzE0MzFkMWZmYTFjNjIxNDcwZmE1OWQwMTVkZGU0N2IgbGVnYWN5LXRydW5rCis0NjQ0MSA4YjRkMmE5MDc1YWY1YjBjM2YzYTA5YWFiZjM1MGQxZGMzNzQ1MjQzIHNyZWlmc2NobmVpZGVyLW5ld25ld2V4Y2VwdAorNDY0NDQgNTQ5Y2FkYTRlMzZjYzU3YTNlNWYyYWU0MTk5NjhjZjFlZjQ4ZDJiMSBsZWdhY3ktdHJ1bmsKKzQ2NDQ1IDNmZjNkMmYyMjAxMjI0NmZjMTgwNjc1MjJjZGUxNmE4ODlmNDJkYTIgc3JlaWZzY2huZWlkZXItbmV3bmV3ZXhjZXB0Cis0NjQ0NiAzMjg3OWQyNjEwOWQ5Njk2MDZkNzg3YTU1MTU1MzA4M2FhZmFjMTU3IHNyZWlmc2NobmVpZGVyLW5ld25ld2V4Y2VwdAorNDY0NDggMTZhMWNhZDBmOTQ5OTkyNTQ0YmY4YmNhNWM4YjY5MmVlOWE0OWFlNSBzcmVpZnNjaG5laWRlci1uZXduZXdleGNlcHQKKzQ2NDQ5IGNlM2UzYzYzZmU1YWRkZTMwZWQwZjc5NjNhY2QyZTNjNGVjNDNhZmMgc3JlaWZzY2huZWlkZXItbmV3bmV3ZXhjZXB0Cis0NjQ1MCAwMDM0MzM1MTFlNGRkODRhZmE0YzA0MWIyYWE3NjdlNzJlMGJmNzZjIGxlZ2FjeS10cnVuaworNDY0NTIgNzM0MjZlNzFmNjdhYjU3NjJhZjMwZDkwYmE1YTMxZGNlODEyY2M4NCBzcmVpZnNjaG5laWRlci1uZXduZXdleGNlcHQKKzQ2NDUzIGE1ZDVlNzNiMmVkYmI1ZmIzZWI5OTc5NzI1ZTEwMGJkZDE0NjAyYzAgc3JlaWZzY2huZWlkZXItbmV3bmV3ZXhjZXB0Cis0NjQ1NCA3OTVkMWNiMWRmMDEzY2RmMzQ1YTkyNmJhZjUwNjViZDAxNWEwYjE1IGxlZ2FjeS10cnVuaworNDY0NTYgNGMwODIzZjBhMGExNTc0ZWE4MmMxOWRlOWQ0YzFlMmExYTU2MDlmNSBsZWdhY3ktdHJ1bmsKKzQ2NDU3IGE1NmFhOGFiNDg5YjcwYzQ1YzUyNzMwNmU5NGRmMTQ1ZDY5MzM0N2UgbGVnYWN5LXRydW5rCis0NjQ1OCBjZWJhOGYyZWEyNGVlYmE1MDg3NWQ0NDNmNDZkZmI5NzFkNmQyOWY2IGxlZ2FjeS10cnVuaworNDY0NjAgY2NkYzBiYzExZGNmMmUyOGY2YzRiYzk2NDQwZGZmMTRmYTY0OTlmNiBsZWdhY3ktdHJ1bmsKKzQ2NDYxIDYwNjNlNGU2ZWUyMGUxN2Q5NDljMjE3ZTM3OTYyMzJmNjcyNjkyMzMgbGVnYWN5LXRydW5rCis0NjQ2MiAzMGU0ZWE0MjMzNjkwOWFiY2UwNjVkZDVjNDg2OTJjNWQ0Mzk3YWQ0IGxlZ2FjeS10cnVuaworNDY0NjMgNzgxYmQ5NGNlYmFkNTVlMjhmNzg4ZGM5MjI1NDNmMzZmZDk0NGY3OCBsZWdhY3ktdHJ1bmsKKzQ2NDY0IDA1MzA1ZDNhYTA0ZDFkYjY0MzgyZTgwYjg5NjU0NTVkZWE2NGY3ZDMgbGVnYWN5LXRydW5rCis0NjQ2NSA1MDZlZjkxMzAyMzhiNWViOWRhMmE3OTNhZGNkNmVkMTVlNjExNzY4IGxlZ2FjeS10cnVuaworNDY0NjggNWIwNzUzYjlkMTZhYzM4NzY4YzA2NWVlMGQ0MjQ4NWM1YjdiOTVmYyBsZWdhY3ktdHJ1bmsKKzQ2NDY5IDcyMzI3ZjhmNGE3OTZmZTU2YTQ3YjkwODQ4YjFiZWVhYzY3NGNmOWEgbGVnYWN5LXRydW5rCis0NjQ3MCA4MDM4ZTQxZjQ2Y2MwZDI0MzQxYjBiZmU4ODM2MjEyZDU5ZjVkYTU0IGxlZ2FjeS10cnVuaworNDY0NzIgZWFlNmRlMWI0MzgzODBhNTU3MDJmYjMwZjFmYmIwMWQxMGVkMDc3NCBsZWdhY3ktdHJ1bmsKKzQ2NDczIDA4YmYwODIyYzUwYTBkNzNmOWZmOTM1NmRjMmU0NDA0MjU0MmUxMDYgbGVnYWN5LXRydW5rCis0NjQ3NCA4ZGFlYjlhZjg0MjJjYmQ0N2MyOTI0MTIwNTgzOGI5YmQzNTQyNzk4IGxlZ2FjeS10cnVuaworNDY0NzUgOWE2NWZkNDI1NWEzN2NlYTcyZWQwMTM4MDUxMWUwOWUwNmM3ZDE0YSBsZWdhY3ktdHJ1bmsKKzQ2NDc3IDgwNzU0MGNmNzcxNGM5ODk0ZDI5YWIwNmRlZjgzMWIyODFlZmNiMTYgbGVnYWN5LXRydW5rCis0NjQ3OCBlOTU3MTU1YWU5YmRkYzIxY2E2NjYxZWEyNWMwMTFjYzQwYWY2NDRhIGxlZ2FjeS10cnVuaworNDY0ODIgMDM4YmI4ZDAwNThiMjUzOTU3MmYxOTU4MGQwZThjOWFhYzQzYzQyMiByZWxlYXNlMjQtbWFpbnQKKzQ2NDg4IDQ1NTZjMmM5MzBmNGIwMjVlNzlhYjFhMWVhYmQwNGFhZDFlMjIxMGUgbGVnYWN5LXRydW5rCis0NjQ4OSAzZGVkMDkwOGU5NTJmNjQ2ZDQwMGU5ZTU1YzZmOGM2OGNiNDFmNDViIGxlZ2FjeS10cnVuaworNDY0OTAgMGYyZjdhMGQ5YjdkZDIwMTViNGQ3MDRlMTNlZTE5MTVhMGRlYzEzNCBwM3lrCis0NjQ5MSAyOWFlNWUwZmMzNDgyOGI1ZTYzZjE4NGYzMDM4NDYxMTY2OGRiZWZkIHAzeWsKKzQ2NDk1IDYzMWMyMDdjMzY5MjNkMDIzZjg0Y2QwYTkyYjI4OWI2YjcwYmU2ZDAgbGVnYWN5LXRydW5rCis0NjQ5NyAxYTIzNzA2MTM5Y2EwZmMyNzg2ODk0ODMyNWUyZjQyMTUxYWJjYTQ4IGxlZ2FjeS10cnVuaworNDY0OTggM2ZlYzNjZTIwNDEzODRhZGViZDlkYzczZWVlNjMyOTY5OTI0NWMyNSBwM3lrCis0NjQ5OSA1NTE4MTRlNGI0NzExN2IzMmY2Mjc0YzFlMzkwOGM0NjRjZjgyMTQ0IGxlZ2FjeS10cnVuaworNDY1MDEgMjM2NzI1ZjY0YTM0MWZmZTkwMTI5YjA5NzkwM2ZlMTBhNTkzOTRiMSBsZWdhY3ktdHJ1bmsKKzQ2NTAyIDdmYTdjYjZkOGJlODFlMjkwYWEyYTZlOGQwMjRlMzhkNzQ4MjZkM2EgbGVnYWN5LXRydW5rCis0NjUwMyAwMjAzYThhZjc0YTc1YTlhYmY2MGRmZDY5ZGY4YWViMzI3YWYzOTE4IGxlZ2FjeS10cnVuaworNDY1MDQgNmJhNTY3OGJlN2YyNjM1NDQ2Yjk4NThmM2QzMmZjNmI4MWI3YWEwNSBsZWdhY3ktdHJ1bmsKKzQ2NTA1IGY3NmQzZTY4ZDFhYzM3YjAwYjFkOTViZGZiZDhiYWQzMzg0MDdkZmUgbGVnYWN5LXRydW5rCis0NjUwNiA1MTI1NWNjOGEwZGMwNGFiZTczMDVlNTRkYTNhMzBmNWZjNGMxMjRlIHJlbGVhc2UyNC1tYWludAorNDY1MDcgZTk4OWVlNWQ0MDRhYmU3NzYyMTRhYjA4MGUyNzYyMGJlZGMyN2YwZSBsZWdhY3ktdHJ1bmsKKzQ2NTA4IDMyMDRhYTllMmIyMjU5NmE5NjI0ODk5MDVhNzM1ZTg2ZmMyY2JjMzMgbGVnYWN5LXRydW5rCis0NjUwOSA3MTg2MWMzNzgwOTM3MTM2MWVkZDllYTE5ZDkxY2FlNmVlNmY3ZjkwIGxlZ2FjeS10cnVuaworNDY1MTAgNTkzYWNjZGRlMDBlZjMzM2QzZWJkNTliODg4MmFjYmU4NjUyZTU2ZCBsZWdhY3ktdHJ1bmsKKzQ2NTExIGYxN2QzNzkyMGY2YTFiZGZjZTA4NjA5MjdlMTdiODU3ZTYzOGJlYmIgbGVnYWN5LXRydW5rCis0NjUxMiA5NWZiMmNkMWQzYmFjZTQ3NWNkMjQxNTg0ZDFkMDA4YzgyNmUxNzlhIGxlZ2FjeS10cnVuaworNDY1MTMgZTBjZWE2MDU0MTdlNDVjNTUxZjI3NmFjNGQ5ZWU1M2Q2NzdkNzdlMiBsZWdhY3ktdHJ1bmsKKzQ2NTE0IDkyNjhjMzA3ODJjMGFmZjcxZjRmMzMwOWJhZjM1MDAwNWI1NTE2MTcgbGVnYWN5LXRydW5rCis0NjUxNSA5MzhjMGZjZDViY2NiNmM3M2NhYmM5YWQzZDZhMzM5MzMwNzRmZDRmIGxlZ2FjeS10cnVuaworNDY1MTYgZDYwYzdmNmMyYWEwMDRiZTNiYjk0MmIwZGEwYTMxODdhODM1NTVmOSBsZWdhY3ktdHJ1bmsKKzQ2NTE3IGJmMzI2NTgxYzc0MjIyNjJhOGE5ZjdiMDg3NDVlNjYxOGE0NGM2MDcgbGVnYWN5LXRydW5rCis0NjUxOCA5ZjMyODRjOTJlYjMwZjEwNzEwYzliNmI5MmM2ZDAwNzZjN2FlYWVhIGxlZ2FjeS10cnVuaworNDY1MTkgZDMzODMwNjM0OTFmNTk4M2NmYzFjNTlmMTYzOGVhMGRlNjIxZTAzMCBsZWdhY3ktdHJ1bmsKKzQ2NTIwIGFhMDY1ZjgyMDI1MjQ2YmExN2ViMjMyNTdjMGQwMTg2OTA3YjNmOGMgbGVnYWN5LXRydW5rCis0NjUyMiA1OGU5OWYyYTY0ZWNhMWRlMmE2YWFlNTg3NTdiMzE1YzcxNzI2NGIyIGxlZ2FjeS10cnVuaworNDY1MjMgNTUzMTk1NTk5M2VkNDE2NDA2ZDUyNDY2NDdkYTEyNjU1ZTdjYzk3NiBsZWdhY3ktdHJ1bmsKKzQ2NTI0IDliMDAxZWJlYWE1ZTQ4Njc3NzVkMTBkZmY0OTAzMWYzYjNjNDdiMTYgbGVnYWN5LXRydW5rCis0NjUyNSAzZDFhOTliMzlmY2EyNWFlYjYxNDFlNTc4NWY1MmI4YzczYzQ4MjcwIGxlZ2FjeS10cnVuaworNDY1MjYgNjc0M2E2YTA2ZjE1NmQxZGJmZTg5ZTc5NTNhZDgyNTNkMzM5OGU0MiBsZWdhY3ktdHJ1bmsKKzQ2NTI3IGZiNTZhMzk5MjYwNGJhODU5NzZjZGQxMTcxNjc4NGUwNzY2YjIyMTEgbGVnYWN5LXRydW5rCis0NjUyOCBmNjRiMTNhMDBmMzNiMjhjOGVmYWE1NThhMDMwY2E4MDc3MzM5MzM5IGxlZ2FjeS10cnVuaworNDY1MjkgZGNmOTJkZDc0MDhhM2YwYmQyYWY1NDQ5NDk4ODFhMzk1ZjY5NDUyOCBsZWdhY3ktdHJ1bmsKKzQ2NTMwIDhhYzYwM2U1NzBhMDU1OGY5YTI3NTcxNDU2ODI2MTg5NGE5MTcxYWIgbGVnYWN5LXRydW5rCis0NjUzMSA1YTEyYzBjNTE4M2U4OGEwNWZiOTAzNWNkODI4NmEzYzliMDJiODE1IGxlZ2FjeS10cnVuaworNDY1MzIgNDhhNmFmODdmM2U4NjJhOGIzMzc3MDgyMzVkMTQ2MjAyMmQ1ODkxNSBsZWdhY3ktdHJ1bmsKKzQ2NTMzIDNmZTNjY2RmMDE1NTUyMTYzYzRjOTFhMWU5NDZjYjExMTZiNmFiMGIgbGVnYWN5LXRydW5rCis0NjUzNCBhNTI5OGYzNzFiZTdjZDJhZDkxOTQyMjIzMDM1NTA1MDU4MGY4OWIxIGxlZ2FjeS10cnVuaworNDY1MzUgYzNmMmM2Njc2YjA2MWNhNzEyODliZGRjN2NlMDUyMzJhY2Q0Y2ZiOSBsZWdhY3ktdHJ1bmsKKzQ2NTM2IGQ1YmRmZDEyMDIzMjcwODI2N2FkZGM2NDZiZWUzNmEwZTdmYzgwZDMgbGVnYWN5LXRydW5rCis0NjUzNyA3ZDUxMGU0ZjNjOTg4NTA1ZDA2YmM1OTFjNTkwOThlMDU0YmIxMzYyIGxlZ2FjeS10cnVuaworNDY1MzkgNGU0ZTY1M2E4MGJmNGFmNjRhZjA5OWIxNmViMjk4Zjg1OGIxYTI3NyBsZWdhY3ktdHJ1bmsKKzQ2NTQwIDE3MzFmYmRmMDI5ZDIwOWU3NmZhOGI4NTI4ODY0M2ZlYWMyNmY1OGIgbGVnYWN5LXRydW5rCis0NjU0MSA2ZDc5YWNkYzgxMmQyMDEwZDBkMmNlZGYwZmZmZmFiYTczNDMxZjgzIGxlZ2FjeS10cnVuaworNDY1NDIgYTgyZmQ3YjA0NGRjN2E3ZDZkNWQ2OTFhODYxYTI2YmM4ZTJkMDIwNCBsZWdhY3ktdHJ1bmsKKzQ2NTQzIDhkZmJhMDg3ZGMwNzdhNjFmNTBmM2FmNmEyODM0Y2NhMjRkYzM0ZTIgbGVnYWN5LXRydW5rCis0NjU0NCA0OTRjYWI1NjNjMTE3YTEzOWJkYTEzODk0OTk2ZjI4Y2JlNTZkMjViIGxlZ2FjeS10cnVuaworNDY1NDUgOWY4NjJkOWY3Nzg1ZGRhNzUxMGUyMmFiY2QzYmM4OWY3ZDUxNGNkYiBsZWdhY3ktdHJ1bmsKKzQ2NTQ2IGVjNWRjOGE0OWVkZmI2NTc0MDFkYjVjMjExNjkzZDdjYTk0YjZlY2EgbGVnYWN5LXRydW5rCis0NjU0NyBjNDUwMWZlZmQzMjRmYjQzNjNjOTQ1NmY3ZmJmNzJkMmM5MDY4NDEzIGxlZ2FjeS10cnVuaworNDY1NDggNTEwNjgyYWM1ZTg5ZGQ1YjY1YmQ0N2I4YWM4ZTBlZmMyYzY0MzViMyBsZWdhY3ktdHJ1bmsKKzQ2NTQ5IDQ0MTcxMWNiZmUzNDE3MWRhNjc0MzZlZmYxODVjYTQ2MzExMDljYTIgbGVnYWN5LXRydW5rCis0NjU1MCA0Zjg1ODY5NDZjOGY1NjMyYTQ2NTc4M2U0YThmNjllYWMzOGZmMjA3IGxlZ2FjeS10cnVuaworNDY1NTEgMGFiYTYzZmY3ZjczZTM4NjgzZGE1NTVmYzhiNGJjZWZlY2U4MWM3OCBsZWdhY3ktdHJ1bmsKKzQ2NTUyIGQyMDA4YjMxZmQ2MmEyNGQ2YTRmZWUxNTY1YjM1NWVkMDRlMDIxNzYgbGVnYWN5LXRydW5rCis0NjU1MyA5OTU2NGU2MmFlYTkyZGUxNDA4OTJlMTc4MzJmZTIxN2E2M2VjYWIxIGxlZ2FjeS10cnVuaworNDY1NTQgZTExNThlMTk1MWRhNTBmNmVhZGY4ODI0YzRlZTcwNzdiMjQyYzk2ZCBsZWdhY3ktdHJ1bmsKKzQ2NTU1IDEzZmVkZDBkMGYyNmM2NjRlZDU5NjRlNGVhYTc1OGUzZDA0NTllODYgbGVnYWN5LXRydW5rCis0NjU1NiBjNzQ3YWQ1M2UwOWUwZjkyOTQ0YzU0NjM1OGM3ODU0MDRlZDc1N2U5IGxlZ2FjeS10cnVuaworNDY1NTcgMTY4ZWI2ZTE1YjhjN2M5NTFkZDEyMWQ5M2Y4ZDcxZGE5NmFlNjQ3NCBsZWdhY3ktdHJ1bmsKKzQ2NTU5IDdmMWYzNmIzYzlmOWFhYzM5MThlZDZlODZmM2UzYmYxZTg5MTRlOGYgbGVnYWN5LXRydW5rCis0NjU2MCBlY2Y3MTczZTc5ZmY1NjZmNGY5NThiYWRjMTg5ZTU3YjcwZjI4NjBlIGxlZ2FjeS10cnVuaworNDY1NjEgYmIwZDJiOTU1NDM5ZjMyZTQ4MTIzNzA3MDNmODhlNjFlMjI0NjcwMiBsZWdhY3ktdHJ1bmsKKzQ2NTYyIDJmZTMyMzNiZDQyNjEyZjRiMTczNGMxYWU5M2RlMjYxMGYxNTY1ODggbGVnYWN5LXRydW5rCis0NjU2OCBkMmFlNTgwODgwYjRiYmRkNjg1ZWM3ZDkwZjRkMzlmYmY5MjQ4Y2E2IGxlZ2FjeS10cnVuaworNDY1NjkgZjlkMTg0MGZhZDM0ODUyNTQwOTI1ZWY3YWY5YmU5ZjlmYWQ5NzE1YyBsZWdhY3ktdHJ1bmsKKzQ2NTcwIDYyOWViZjdkM2I1Y2FjYTU5ZGJmMGMxM2RjOWE5ZjlhZjY4Y2Y1NWYgcmVsZWFzZTI0LW1haW50Cis0NjU3MiAxYTU2ZGE4NmMxMWE4NzlmYTcxOTUwY2I0MmUyZWZmYTE4YzYzOTNlIGxlZ2FjeS10cnVuaworNDY1NzMgYmFkYzE3MzdkYzgwMTljZjJiMzAyZDUyMDAwNWYwMzU3MTJhMGVjNyBsZWdhY3ktdHJ1bmsKKzQ2NTc0IGYwZjI5MWZhOWI0NjkxODQxZWRlZWU1ZWU1MzgwMDBlZDhlMmNlZGMgbGVnYWN5LXRydW5rCis0NjU3NSAzZmQ4MDI3ODQ1ZjgwMmM5YTBkODgwOGFjNjZmNzRiZDY3MDg2ZDliIGxlZ2FjeS10cnVuaworNDY1NzYgZjUwZDNhNTFkNjQ2ZjMzYmVmZjViNDJiYmU2MDU4NmQ0YzQ0MDJlNSBsZWdhY3ktdHJ1bmsKKzQ2NTc3IGQyNWUyNzljN2VhOWIyNTdjZGM1YTFiMTJhM2Y3MzVkNDlhYjYzMGMgbGVnYWN5LXRydW5rCis0NjU3OCBmODMxZThiYzZiZDM3ODk5MzQ0NzU4YTg1ZjZlMDI3NzUwOTVjNTAwIGxlZ2FjeS10cnVuaworNDY1NzkgNWY0NDJmN2JmNDE5ZTRmYzNjMTIwOTgwMzA3ZDkxYjY2NWMzZTg5ZiBsZWdhY3ktdHJ1bmsKKzQ2NTgwIGUwOTk3ZmZhMzU3MjQ2OGI5ZWEwZWEwY2Y2MmIxNjgxN2NhMTExZjYgbGVnYWN5LXRydW5rCis0NjU4MSBhN2YyMjk1YTc4YWMxMzk1MGJmZmU4Nzg0YmY4NDkyZjBiMmNiYjE3IGxlZ2FjeS10cnVuaworNDY1ODIgNDQ3YTk0YjAzOWRlYjgwY2ExZGE5MzMzYmEzYWM4MTNiODcwYzkzOSBsZWdhY3ktdHJ1bmsKKzQ2NTg0IDQyOGU5Y2JiNDM0NjFlMGVlZmZmMmY3NDMwMDc1YTg0NzUyNjdmZWIgbGVnYWN5LXRydW5rCis0NjU4NSBkYjJkOGFhOWZlM2Q0MjA4Yjk5Mjg3ZjA1M2JmNDhkMTNmYWViM2Y0IGxlZ2FjeS10cnVuaworNDY1ODYgMzAzMWE3MTEwZGE5YTg3NTk3MzJmZjI2MDJmYzM5OTIyMzFhZjk0MSBsZWdhY3ktdHJ1bmsKKzQ2NTg3IGIxZWI0YTY3NDk5ODA1NGE2ZTc1MWExNmUzYTdlYWYzYmU3MmFjMGQgbGVnYWN5LXRydW5rCis0NjU4OCBjZjY3N2U5Nzg4NTJmYTZjZWJlYjA5M2E1MDRlNWQ0Yjg0OGI5MzBmIGxlZ2FjeS10cnVuaworNDY1ODkgMTc1Y2JkZjlhNWZiZDA2NTdmODUxNTg2MGVjNTEwODNiZTQwY2I4MyBsZWdhY3ktdHJ1bmsKKzQ2NTkwIDk5NWVjZDIzMWY3YzU5OGQ1YjQxNTEzMDNmZDMyNjRjOGQwNzI5MzYgbGVnYWN5LXRydW5rCis0NjU5MSBjNWQ1MDg3MmVmZjQ4MmE3MzdlNDkxNGIyYzYyODQxNjdiYTQ0MThkIGxlZ2FjeS10cnVuaworNDY1OTIgYjliMDM2ZjAyMjA3ZTI5YjIyMTUzNDg2NmQ3MGQyZWYyOWQ0ZmQ2YiBsZWdhY3ktdHJ1bmsKKzQ2NTk0IGQ3ZGQ1Mjg0MjdjMGQxNGFhNDNiMGY4ZmFkNTJlYjU1NTM4NmU5ZGUgbGVnYWN5LXRydW5rCis0NjU5OSBmMzdlNjdiZDQzOTMxODRhMWViYWFlZWM4ZDExYjIxOWQ1NTE3OTk5IGxlZ2FjeS10cnVuaworNDY2MDAgMjYzMmJkNTVjMjlmMjU0NGJkOTg3NDE2Y2YyY2Q3OWU2MzU4ZGIyNSBsZWdhY3ktdHJ1bmsKKzQ2NjAxIDc1ZDY4MTE1OTMyOWQ5OGYxNjU1ZGJlMGYyN2U1NjEwZDNmZThmOTQgbGVnYWN5LXRydW5rCis0NjYwMiA2OTdkZDg0OGUxZjEzNjM2ZTU1NDNmZGE1ZmM2MWQ1MDdhNDMzMjlkIGxlZ2FjeS10cnVuaworNDY2MDMgMjFlOGRkM2UzOTQ1NzdjNTgxNjZiNTE1MDEwMmUxMGFiZGZiYTM4OCBsZWdhY3ktdHJ1bmsKKzQ2NjA1IDJlYjhiZTBmODczMTI5NzE2MDc2ZDM2OTQ3ZWUwYWE1Mzk1ODUyMmEgbGVnYWN5LXRydW5rCis0NjYwNyBmOWMzMDFkYzVmYjc0YzhjMmUxOGE1ZGFmMjBkZDA4ZjgyNzQxZDA0IGxlZ2FjeS10cnVuaworNDY2MDggMzgzY2Q5NGMyYTY3ZDM3ZjJiYTFiMWMxNzI2NTBhOWNiNjg0MTc3NSBsZWdhY3ktdHJ1bmsKKzQ2NjA5IDZmOWI1MzZlOTZmNjYzNTNjMWZlOWU3NTUyMzhhOTAyM2UzZTljNTkgcmVsZWFzZTI0LW1haW50Cis0NjYxMCA5NjZlNzQ3MGZlMjM3MzMzYjRlMGVmMWQ1NGM3OTUyODA0MDlmN2Y4IGxlZ2FjeS10cnVuaworNDY2MTIgMmI1YTlkYzQ5MDVjOTM5YmQ0ZDNkNjQyZTBhNzcxMjNmMWJjNzVmNCBsZWdhY3ktdHJ1bmsKKzQ2NjEzIDY0YjkzNzlmYTgwZGIwODg0MTM1OWQxZWE0Mzg4YzYyZTIzNmE0ZGIgcmVsZWFzZTI0LW1haW50Cis0NjYxNCA0NjQyNjVjMWQwOGIxY2E2N2Q0NTZmODhlYzU3NGMwM2M3Mjg3ODFlIGxlZ2FjeS10cnVuaworNDY2MTUgMzQ3M2ZjZjBiY2VlODQ2MWY2ZjY2ZmQ2NjYwNWZkYmVkODdkNjc3NiByZWxlYXNlMjQtbWFpbnQKKzQ2NjE2IGFhYmMxMzYwMjQ0MGFmM2U2ZjhiNTBjY2VkMmM0YjVlOWRlMDMwNzMgbGVnYWN5LXRydW5rCis0NjYxNyA4NTU5OTNiMDlmZDkyMDgyYjQyYTdkNjU1NTY5MGYyYmU5NDBhYTNlIGxlZ2FjeS10cnVuaworNDY2MTggMzJmNzA2ZmQ0NTAzZTk4OTBlN2YxMWJjODQ0ODFjZjNiZDM3YjUzYyByZWxlYXNlMjQtbWFpbnQKKzQ2NjE5IDk3MDUyNmMxYTdlMmZmMzY0NGVmMmMyNDU2MzMyY2JmYTQ3MmEzYTggbGVnYWN5LXRydW5rCis0NjYyMCAxMjlhYjg0NmE3MWZhZmY2MTIzYzM1NWVkMDU2MmM3ZTMyZWYyOGNjIHJlbGVhc2UyNC1tYWludAorNDY2MjEgZDQxNDBmNzlmMWM3MDc5OGEzMDEyNDNmNjRhYTA2YWEyZDY1MWU0ZCBsZWdhY3ktdHJ1bmsKKzQ2NjIyIGY3ZDQyM2MwYmNkODZhM2IwM2JjOWI1OTY0NjAwMDJkMzMzYTQ2MDkgbGVnYWN5LXRydW5rCis0NjYyMyBmMGY1ZGNhMjk5OTA3YTQ4MjNjYjliOWZiYzA1NDkyZjMxNjYzMzdhIGxlZ2FjeS10cnVuaworNDY2MjQgMzQ3MTRlNDBkNDY1NmRmMDI3Njg2NjYxNGJkZWIwNmIyMzA4NGMwMSBsZWdhY3ktdHJ1bmsKKzQ2NjI1IGQxZmFjYTRmMGI4MDI2MTI1YjFmMWQyMjkxZjc1OTkyOTA5NGJlYWMgbGVnYWN5LXRydW5rCis0NjYyNiBhNDY1NDc3MWU1YjMwMTQ0Y2I4MThlODYwZDAzODQ4YjA1MGI2Zjk1IGxlZ2FjeS10cnVuaworNDY2MjcgYmVmMDIzNmQ3YmZhNmYxMzZlM2Y1NzhlZjU1MmQ1ZGMwODM3ZDhkNiBsZWdhY3ktdHJ1bmsKKzQ2NjI4IDRlYzk0MmNmOGM5MmVkNzZlNDE0YWE4M2MyNTY0YTM2NzE1NDkxNjggbGVnYWN5LXRydW5rCis0NjYyOSA4MDZmM2UxNDExOWQ3N2RjODNmZDc2MTYwYTQyMjQ4NTk0ZmVjNWU4IGxlZ2FjeS10cnVuaworNDY2MzAgNzIxYTdlYjIzZWJmOWMwOWRjYThiN2MzODMwMmFhNzExOGFmZTNkZSBsZWdhY3ktdHJ1bmsKKzQ2NjMxIDE2MzE4MjQ5YWEzMzI0NjM3MzIwYmUzNDVlNjE0MmYyN2QyZGQ1MTggbGVnYWN5LXRydW5rCis0NjYzMiAyNDhkMTA2Zjg5NTJlZmQ0ZmQ3MWJjN2I5NDY2NjdmNDhmZmEwOGVkIGxlZ2FjeS10cnVuaworNDY2MzMgMDdhY2Y2ZmE1YWEwZWRmZmVlYjFlMDFiNmU4YjFkZGZhZjU2MTc0OCBsZWdhY3ktdHJ1bmsKKzQ2NjM0IDNhYWRjNmRjNGIxYTY0MjA1NWFhZThjMDRkYTA3MWQ1MWZmMGFjOTkgbGVnYWN5LXRydW5rCis0NjYzNSA2Zjc0MDRmM2ZjNTc2NWIzN2QyYTUxMzczMjQzYzY4YzcwNDMzNTdiIGxlZ2FjeS10cnVuaworNDY2MzcgNTcyMmYxMTJkNWRhNTRiZDA1YjEwYjVkZWQ0YWUwZjdlMDgyZDZlNyBsZWdhY3ktdHJ1bmsKKzQ2NjM4IDgyMDcyYThmNTI2NzRmMDM1NGY2Mzg1NGY1YzBlZjY4OGU3MTQ3MTggbGVnYWN5LXRydW5rCis0NjYzOSAwN2U1MDNlODU4ZWZlMjdkNGIwODMxMjJmODNkY2M2YzBlMjE1ZjA5IGxlZ2FjeS10cnVuaworNDY2NDAgMGIyYjA3NmU1OTA4ZWEzYzEyMzRiYjc2NTM1Mzg1MjFiYTQ4NzJjYSBsZWdhY3ktdHJ1bmsKKzQ2NjQxIDE5NDMwY2RmZjJiZDZhYTkxZjI5OTkyY2VjMDhmMTQ2ZGJjMDA4NTkgbGVnYWN5LXRydW5rCis0NjY0MiBhMTE0MDAzYWEzZDNlYjA3MTMzNDQzYjFiYmFiYmY5NzFiMGYxMmU2IGxlZ2FjeS10cnVuaworNDY2NDMgNzIzOWExYTgwNDg3OTAwYTNiZjExZDZhZDgwMjY4N2Y3YTRiZDViYSBsZWdhY3ktdHJ1bmsKKzQ2NjQ0IDQ3MjJkMzdmYWExNDM3OGI5NGFkZTMwNjJiZDI4NTU5MWE2MjczYmMgbGVnYWN5LXRydW5rCis0NjY0NSBlMDBlNjhkZDFkZGZhODYxYTc5Zjc3NTI1ZGM0ZGYwYmI0MTE4Zjk4IGxlZ2FjeS10cnVuaworNDY2NDYgNWVjODk3M2RkMjIxMzkxYjlhYzU4Y2NiN2U4MDk3Yzk5NTA4NWI3MSBsZWdhY3ktdHJ1bmsKKzQ2NjQ3IGRiNzkyOTc3MjYzYWNlZTZmMDRkNThkMWE0NDMwNTg3MTQwZGFmYzQgbGVnYWN5LXRydW5rCis0NjY0OCA5ZTBiMDUwY2U0NmYwNWMwZTc3ZTM2NTk4ZDc1MGE4NDkwNTIyYjg1IGxlZ2FjeS10cnVuaworNDY2NDkgMjE5NjliNzFjMzZkMDcyMWNhZThhMzYyODQ3YTk3YzU3MTgxOGY3MyBsZWdhY3ktdHJ1bmsKKzQ2NjUwIDVkZmIyMWEzN2YxOWZhZjkwYjVlNTE1MGNkNjc3YWVhNTU0ZWFjYzkgbGVnYWN5LXRydW5rCis0NjY1MSA3ZDMxZDAzMWY4ZTEzMzUwOWFhMTE3ZmU0ZWU1YjIzMDljMWQzY2U4IGxlZ2FjeS10cnVuaworNDY2NTIgOTEzZTVlODRmYWRlNzZkNjRiM2I5OTgxMDhmZjUxM2U0MTRkYzQyNiByZWxlYXNlMjQtbWFpbnQKKzQ2NjU0IGYxNmQ0NGQzMDNjZjg0MDA5ZTQyOTA0ZjVmODUwYTBmOWNlMjA0YjMgbGVnYWN5LXRydW5rCis0NjY1NSBjNDU4N2E1ZjVlOTRlZTZjNmFjYzE4NTNiZWI0NGUxMWE5ZDliNjZlIGxlZ2FjeS10cnVuaworNDY2NTYgZDAwNzNjNmY2ZjU2ZTJkODE1MzUzMjA3ZjQwMWNkNGFjMTk1OTg2ZSBsZWdhY3ktdHJ1bmsKKzQ2NjU3IDFjMjNlOTVhODBhMmVmODk0YzQzOWQ3ZmJmZTY3ODZlZGVhYWY4YzMgbGVnYWN5LXRydW5rCis0NjY1OCBiMDBjYmIwOGUwY2MxMWJlZTBkZWFiNDU3YTlmYTRlM2E0ODM3YWFlIGxlZ2FjeS10cnVuaworNDY2NTkgNThkZTYxYmVkZGZjZWYzZmYyYTNlM2YxOWUwY2E2ZWRmODA5YWNmNSByZWxlYXNlMjQtbWFpbnQKKzQ2NjYwIGMwNWVmMDhlMWJhOTRkOWNhMTc5ODY5MzBiYmU0MDc5MmIwYzBkNTggbGVnYWN5LXRydW5rCis0NjY2MSAyMzc0NTYwNjJiODBmNzM2Y2I4NzIyMTMzMWM5MzUyYzRhMDk5NmZlIGxlZ2FjeS10cnVuaworNDY2NjIgY2IzZjUxMzhlY2I1NzgwYTRmZGI1YzBhY2ViNDhlODZmMTdkYTU0YiByZWxlYXNlMjQtbWFpbnQKKzQ2NjYzIGM5MDhhYWE5MWVhZTE3ODdjMzE1MzQ3YTU1ZTRmZDNhNTgxZjU3ZGIgbGVnYWN5LXRydW5rCis0NjY2NCAxYzlkODA3N2VjZmIyMWY5Y2ZkNzY3NDg3OTYyYTE1OWJkMGEyNjY3IGxlZ2FjeS10cnVuaworNDY2NjUgNWFkYmE3MDk2MDZiM2E2NGQyMmNhOWIyYjhkM2Y1MWVlNzg3Zjk0ZiBsZWdhY3ktdHJ1bmsKKzQ2NjY2IDk5MDY0N2UyYWJjNGIyNDUyYjI1ZTg3NzhkOTNkY2YzMDRmM2IzM2EgbGVnYWN5LXRydW5rCis0NjY2NyBhNGI1OGFiNjUyMDIzYzU4MTI5MDUzNDhjN2NjYTE2NDhhZDJiZmE5IGxlZ2FjeS10cnVuaworNDY2NjggZjNhNjc5OTg1ZTBkNTQ4ZGYzMDdhOTlhNzRhNDVmMWIwMjE3NzViNyBsZWdhY3ktdHJ1bmsKKzQ2NjY5IDMwNjA1YmY5NWVmOGI4YmU3YWIwN2MwNGJkMTQwMTVjODhlNjU2NDcgcmVsZWFzZTI0LW1haW50Cis0NjY3MSAwMmQ0NzU0MDVlM2I1ZjI5MGI2MDRhZjAzMzMxMTEwYTVkM2VmODFiIGxlZ2FjeS10cnVuaworNDY2NzIgNjY0OWI1MWUyNDVmOTI1ZGM3NzQxMTAxYzA5NzU1ODYyN2E5NmNjMyBsZWdhY3ktdHJ1bmsKKzQ2NjczIDIxNzdhZWNkOTFmY2JhYjNkYThkNzczMGE1YTYzYTNhMTk3NmNhNjEgbGVnYWN5LXRydW5rCis0NjY3NCAwODU1ZGExNGE4MjBjMGYxNmE1ZTdiY2I5MGE2ODUxNDQyOWFlYzEwIGxlZ2FjeS10cnVuaworNDY2NzUgOTYzOWNiMTNiOTQwNTMwZDEzOTBhN2VkNDYxZjcxMDQxN2UwMDg2NSBsZWdhY3ktdHJ1bmsKKzQ2Njc2IDY4N2FhY2Q2NGJlOTY2OTYxYWQ3NDcxMTgwMzYwYWUyZTJiZDc3OWMgbGVnYWN5LXRydW5rCis0NjY3NyAwZGNiOTIyOGNiM2ZkODU1MDI0MGQ5YWQ5NDQ3YjFkMTQwZWIwMjA3IGxlZ2FjeS10cnVuaworNDY2NzggNjU0ZjAzODNkYmNiMmUzY2NhZTk4MWMxMzgyYzU1NTE3MjFiNGNkYiByZWxlYXNlMjQtbWFpbnQKKzQ2Njc5IGM0YjQ0MjIyYTU5OTRiMDdhY2Q0ZTllNzY4ZWEzNjkxZGZkNmVjNTQgbGVnYWN5LXRydW5rCis0NjY4MCAxOGRlNTBiNThmYjFkNzhmZmNlNzYxMjE1MWE4N2U3NjFkOWUzMDBkIGxlZ2FjeS10cnVuaworNDY2ODEgZjAwNTE4YmI1YjQzMzU3NzVjMDZlMjY5YmQ1NGY2YzIyMzJlOGQyZiBsZWdhY3ktdHJ1bmsKKzQ2NjgyIDgwYTYyNzM0MGM5ZjIzZDc5ODA0N2ZlMzhjNWU4MWYzY2YwZjU3YmQgbGVnYWN5LXRydW5rCis0NjY4MyAxMWY2NjczMTU1NGRiYTc4MGU1MDUwNTQ3YWMxYzVhMGNjYTdkMjk5IHJlbGVhc2UyNC1tYWludAorNDY2ODQgYTYwYWRmMGNiMmZkNzRmYmM3ZDkyNGQzMzY4YzIzMGVmOWU1NTdmMSBsZWdhY3ktdHJ1bmsKKzQ2Njg1IDcwODFlOGQ1MzI5OGVmM2M0NDlmY2Q3YTkyNDMxZDZlYTQyMGI5NjcgcmVsZWFzZTI0LW1haW50Cis0NjY4NiA2YWU0MThlNGIzNmE5YTY3Y2NkZTcyM2JmZGEyMDk1ZmRiNDZlNjk1IGxlZ2FjeS10cnVuaworNDY2ODcgMWUzOGZmODFjOGE5NTJlZWJmN2NiYmYzNjcyNTc4NTJhOGMwM2VmMiBsZWdhY3ktdHJ1bmsKKzQ2Njg4IDgyOGMxMDZkNWVjYzlmZDc0Y2QxNmY4YmZkMWE5Mjg2YjE2ZGMyMGEgbGVnYWN5LXRydW5rCis0NjY4OSA1ZmJlZmI1YzhhMjNlNjljZDAyYTZlMzk5MzVjNTFjOWMyMzk4MWUxIGxlZ2FjeS10cnVuaworNDY2OTAgMGRjYjYyZDZkOTlhMjhhNDgwNzY2NGFhYjJjMzU4OWE1Njk1MDdhNyBsZWdhY3ktdHJ1bmsKKzQ2NjkxIDk4ZTgxYWY0MDAwN2VmZDE4ZWE2NjZlYzRkYTVkNTJhZDE2ZjRmNjcgbGVnYWN5LXRydW5rCis0NjY5MiAxYzAxNmY5Y2E1YTc0YWQxMzczNmNiNzAxM2RkY2ZkMmYxMzgyZWQ1IGFpbWFjaW50eXJlLXNmMTQ1NDQ4MQorNDY2OTMgMjgwYjhlYWVlMWMwMzRkZGEwNWFjMmQ4NzJiMDZhMjhjN2IwMmFkYyBsZWdhY3ktdHJ1bmsKKzQ2Njk0IGM5ODlmYWZmZjNkYzZjNTJkYmEyZjE0OGIyMzIxMTIxMTc0ZDk5YzEgbGVnYWN5LXRydW5rCis0NjY5NSAzMTFmNzUxYWNhN2EzMzJkODgxNWIwNWQxNDBmYjk0NmM3ODhjM2RjIGxlZ2FjeS10cnVuaworNDY2OTYgY2IzYjQzOWMyOWNjZmRhOWZlMDgxZjk1MTk3NmRiMWQ2MjQ4MWZkZSBsZWdhY3ktdHJ1bmsKKzQ2Njk3IDkzMWFkMDZiZWM1NjE5NjlkMTQ0ZTVhOTAzZWRkODhlYWYzNDhhYjMgbGVnYWN5LXRydW5rCis0NjY5OCA2MjVjMmQ5OGExZjgwNWQxNzkzN2MzNmE4MzlhNTU5ZWQzMDczMGU5IGxlZ2FjeS10cnVuaworNDY2OTkgN2JmYWZkZWZmZWUyNjA5NTZlYzI4YWZkZDNiZjE1MzZiYTdkMjgwMyBsZWdhY3ktdHJ1bmsKKzQ2NzAwIDFlOGI1OTM4OWUyZTEwYjY4MjY4ZTk5MzE4ZjE0YTdiOThhN2JkMzYgbGVnYWN5LXRydW5rCis0NjcwMSAxZTg1NjU3ZjA0NzQwZDYwYjY5N2RmMjJiNDJjZWZlY2ZjOTZlMjI5IGxlZ2FjeS10cnVuaworNDY3MDIgM2EzNmQ1ZjViMTBmZDMwNGU1MTZmOGM5ODg4NjU0YjIwZmIyYjc5MCBsZWdhY3ktdHJ1bmsKKzQ2NzA1IGVhOTk2NmM4ODY1NzQyZDI4MDQ2YTgzZjQxODc5ZGViMmYyYmNmNTEgbGVnYWN5LXRydW5rCis0NjcwNiAwY2QyMjczYmMzYjE3NTZjODhjM2Y2YjY5MjNjMThjZTk2YzU1NDQ3IGxlZ2FjeS10cnVuaworNDY3MDggZGVmYjJiOTkzNDM0ZmYxZjY2MTk3NWQ2Mjk4M2Y3ZGYwZjFjYTgxMSBsZWdhY3ktdHJ1bmsKKzQ2NzA5IGEyY2Y4NzFiNzgwMGU4ZGRjMzczYTk0MGViNmMzNTcwMWI2NTRlZGYgbGVnYWN5LXRydW5rCis0NjcxMCAzZmIzODM1MWRkMzljYjczZTVkMmJiM2I0Njc1ODhmMTM2Mzc1ZWFiIGxlZ2FjeS10cnVuaworNDY3MTYgMmFmNTc1N2RlN2IxZTlhZDY0N2E5OTJmMmU2YzczMzI0YzgyODZlZSBsZWdhY3ktdHJ1bmsKKzQ2NzE3IDFjYjJlY2U0YjllMWRlMGVhYmQzOWQ2YWU0MWEyMGZlNDkzNjEzZjggbGVnYWN5LXRydW5rCis0NjcxOCBhMzY2OGU5NGZjNmQ0ZDQ3NzJiNGMzNDAzNGJlNTE1M2EyMDA5ZjQ0IGxlZ2FjeS10cnVuaworNDY3MTkgMWI0N2QwMzBjM2ZhZTVjN2Y1YWIzYjA2YmRmNzZmYjMzYTJlNjlhMSBsZWdhY3ktdHJ1bmsKKzQ2NzIwIDc3MDRmMzc1NDFmNDIzMWZlYmQ2MDJjZTMxMzI5M2Y1NjIzNDBkMDkgbGVnYWN5LXRydW5rCis0NjcyMyA4NzJlOTkxZjliNzAxNTQwOWVmNTdhNzlmMjM1YjA3NzYyYzhhZjYyIGxlZ2FjeS10cnVuaworNDY3MjcgMTEwMGI1MmM1NWZkZmUzNjQ1YmYxMzllNTYwNGZjYWNlN2U3YTQ3MCBsZWdhY3ktdHJ1bmsKKzQ2NzI4IGEwNzYxY2ViODYzM2E4MWEzNGQ4NGY5MGZkM2M2YzZkOTJkZGM2YTUgbGVnYWN5LXRydW5rCis0NjcyOSAwYjRlYWM0MDUwYjgwMDI4YmYyZjU1YTBlYzE3OTA0MWJmM2ExMDE4IGxlZ2FjeS10cnVuaworNDY3MzAgZmMzYmNkNGU0NGI5NjRhZTcyODAyNjlkMmU5MTI4NDBmOTU2ZTNjMSBsZWdhY3ktdHJ1bmsKKzQ2NzMxIDBlN2JhZmIxYjgyZjljMWExOWQyN2I4ZWE3Zjc4YzhkMjZkNDgxY2QgbGVnYWN5LXRydW5rCis0NjczMiA3ZDMxYjY2OTJhYjc0ODAxZGViMzVjNjU2MTA0MjA3YWZhMDIxYmIyIHJlbGVhc2UyNC1tYWludAorNDY3MzUgZTNjMDhmMDY2ZWI4MGQ3ZTgxZWQxZDg5OTBkMDM4ZDEwNTU1OWYwMCBsZWdhY3ktdHJ1bmsKKzQ2NzM2IGZjYmY2M2M5YjRmNmZjZWRhNjI1MjU4N2JjMWVkZmVmMTIzYmZkNTkgbGVnYWN5LXRydW5rCis0NjczNyA0YjBhM2QwZDg1ODQxYjc1MGY3ZjMxNGI3ZTdkMzNkMGU5YzY5Yjc0IGxlZ2FjeS10cnVuaworNDY3MzggMWUwNzA0Y2Q5ZWU4MWFhYTU4ODBmNWE4ZGIwMjNmYTRjOGIwZTcxNyBsZWdhY3ktdHJ1bmsKKzQ2NzM5IDVjNThmZGE5NWFhNWEyYmZkNDIxYzdhMWVkNGNiY2U5OGM1NDM0ZDQgbGVnYWN5LXRydW5rCis0Njc0MCBmMjhmOWMxNWUyZDBmOGUwMjMxN2U4NzBlNjZjNjVkNjY5MDEzNWM3IGxlZ2FjeS10cnVuaworNDY3NDEgMzU4MWQxZGM0MjUzMzcyMjMwNTk2ZWM4NDlhNmJmMGU2MTI1ZDE3MyBsZWdhY3ktdHJ1bmsKKzQ2NzQyIDFkMjM5YzdlOGQ2MDc1YTMxODYwMThhYjZiNGZhNDBkZmRhZDFiMzIgcmVsZWFzZTI0LW1haW50Cis0Njc0MyA3MmM4ZjE4ZTAzMTE4M2RiZTlhN2ZjZTlmZTY2MDMxMTFkOTYwOTliIGxlZ2FjeS10cnVuaworNDY3NDQgNzYxOTIxNmJiYzE5NGMzNDMxZjgzNzA5YWFiOTZmOWE5YWZiYWJlYyByZWxlYXNlMjQtbWFpbnQKKzQ2NzQ1IGQzZDk2MWYzODhiZTJiMDNhZjY0YjE0OGM3M2YwMmY0NjczY2VhN2YgbGVnYWN5LXRydW5rCis0Njc0NiBlMmJhNWFlNGI4MTNkOWZkMmMyZDI2OGQ4YmFmNmMyNjg0MjU1ODUxIGxlZ2FjeS10cnVuaworNDY3NDcgZTBkMjk1ODYyMTJhMzc3ZWRkOTIyNzM2OGY0YzNjNmQ3MGNmMzIxNSByZWxlYXNlMjQtbWFpbnQKKzQ2NzQ4IGRlZTczZmE4MTEwZjNlYWQ0MzAwZjkxNjQ1ZjY1ZGI4YzhlM2U0NWUgbGVnYWN5LXRydW5rCis0Njc1MCAxOWZkNjE0MTk0MGQ1YjBhN2I0ZmIyYzQxMzg5MTJhYmIwMjgzZDk4IHAzeWsKKzQ2NzUxIDI0OTMwZTNiNjA2MTlhZWMzMTljZGYzM2IyY2Y0MGJjOTMxMTgyNmIgbGVnYWN5LXRydW5rCis0Njc1MiAzNjVjYTA0ZDA4NTY0YTA5ZDFjZWJhYWRhZTc0NWIwOGE0Nzc2YzY4IGxlZ2FjeS10cnVuaworNDY3NTMgMDk5OTdiMmY2M2EyYzNkYWIyZTZjZDdlYTljYmZiZmYxYmZhMWIyZiBwM3lrCis0Njc1NCBhMTljMjBjNWU1Yzc1NjYyMTU3YjExMDJlMzZjMDdkMWUyYzAxYWI5IHAzeWsKKzQ2NzU1IDZiYTdkNDY2Nzk4NjdiZjlkNGFiNmVlOThlMTU1ZmNkMDExN2NhZDUgbGVnYWN5LXRydW5rCis0Njc1NiAwZTMxOTY2NzQ1NWMzNWM2MjIyNDM1NWIzNzI5M2VkZTRlNTAyM2I4IHJlbGVhc2UyNC1tYWludAorNDY3NTcgNWJjNzI3MmI4MWU1NDdkZmNjZWEwYjBmZmI4MDM1MjA5N2NmNzU1NiBsZWdhY3ktdHJ1bmsKKzQ2NzU4IDkzNWFjMjJmMGIzZjAyNmU1M2Y4ZGJjN2NiMWJjOWQ2NTEzNzE2MmUgcmVsZWFzZTI0LW1haW50Cis0Njc2MCA1ZjE5NTQ0M2UwMGFhOTA5YzkwNWZkMTUxYzM5ZmNlNzhlZGQ4NDkyIGxlZ2FjeS10cnVuaworNDY3NjIgNGU3OThjYWEwODJlNWNkZDEyYTJkN2UxZjcyZmNlZTFiN2JjYzA1OSBsZWdhY3ktdHJ1bmsKKzQ2NzYzIGMyMDM4NDA1N2EwNmMyN2I3MzYyNTVhMGI4MmI4NGQxOWRhNTY1OTQgbGVnYWN5LXRydW5rCis0Njc2NCBjM2M1MmYxNTk5OTlhZTk0NjBhZmRkYjRkNjM3Y2MxMjIxZjkwZmE5IGxlZ2FjeS10cnVuaworNDY3NjUgZWNhNGZlMTMyOTQwYmQzYzUyYWE2ZGIxMTBlODllYjQyMzU2MTJjMyBsZWdhY3ktdHJ1bmsKKzQ2NzY2IDJlYTI2M2I2Mjg5NzJlNDUyNzNmZDlmZGViOGJlMWVlOTY2NWI2MjQgbGVnYWN5LXRydW5rCis0Njc2NyBkZWJjOGQ3ODNmODY5ZTVhOGM4YTcyOThmNzI0MGNhYzFjZjlhMjc3IGxlZ2FjeS10cnVuaworNDY3NjkgMGExYmFkMzJhYmZlMzlkOWEwZGMwYmIyNmNjNGM1MGY1NmViODBlMSBsZWdhY3ktdHJ1bmsKKzQ2NzczIDY3ZjQzMGQ5MmIzOGU1Y2E0NGMyMmM3NjNhNmY0MzE3ZjlhZmY4MzQgbGVnYWN5LXRydW5rCis0Njc3NiA0NjU5OWZjNDg2ZThmZGFhZjIxZjhiYjgzYjlhODhiNGRmMjA0ZjA1IHJlbGVhc2UyNC1tYWludAorNDY3NzcgYzU3MzIxYzg0MjI2YzkxNjc5NmE4ZWQ1YzA3ZWMzYjVlZDE2YjI2ZSByZWxlYXNlMjQtbWFpbnQKKzQ2Nzc4IDc3YjY1ODlmYWRiOTdkODVlMGM2NDVjODE1Yzk4OWYzNGU1NTY0YmYgbGVnYWN5LXRydW5rCis0Njc3OSA0ZWYxYzY4NWJjYmRjZTQ0NDNiMzI4YWUwN2M5Nzc3MDM5ZmYzMGY1IGxlZ2FjeS10cnVuaworNDY3ODMgMDVhNDljODk4NWZiMDlmNDc1YzdhMmE5ZjQzYjlkMTgzYTk2OTk3NiBsZWdhY3ktdHJ1bmsKKzQ2Nzg0IGFjMjVlZWU5MDI1NDE3NTEyMWJjZWExNTc2MzVlOWVkZjFmOTJkNzYgbGVnYWN5LXRydW5rCis0Njc4NSA3MmUzN2FkYTQxNzA3MmZiMWExMzAzMDhjZThlMzBlM2YwYjdhY2FjIGxlZ2FjeS10cnVuaworNDY3ODcgNzBhYWMyYjkzZTA5YTNhNDg5MDBiMjViZDNiYzhkNWJiZWNlYzIwZCBsZWdhY3ktdHJ1bmsKKzQ2NzkyIDZlOGQ5OTcxODE3MDBkNDFjMjIzMjZmY2QzNDk4MjhlNmMxY2I5ODcgbGVnYWN5LXRydW5rCis0Njc5NCAxMzVkMTU4NmIzNWQ1NGJhYzgxZDcxZmE0NmUyZDZhNzk4NDgyMzljIGxlZ2FjeS10cnVuaworNDY3OTUgMWNhZmJjZDdmNTVjY2NhOTFjNDA4NWIxZjVhNmVhNWFmOWFmMmFlNSBsZWdhY3ktdHJ1bmsKKzQ2Nzk4IDc2YWQxMThmZmUzYjVmODU2Mjg2NzU5ZjBlZGM3NTNkNDhlZjdiNDggbGVnYWN5LXRydW5rCis0Njc5OSA1YTc0MTkzNDI5ZjA2NGUxMjVkZTkzNjJjYzE4NjM2NDRkOGJhNDJhIGxlZ2FjeS10cnVuaworNDY4MDAgMDdmMjQxOTdiODdjZDcwZDIxMTY4YWYxYTExNGM1ZjM2Y2FjZmM0MCBsZWdhY3ktdHJ1bmsKKzQ2ODAxIDI2YTk3ZTViZGYyMTIxNTExMDNhN2I4MzBhNDUzN2VhMTc0NjkxYTEgbGVnYWN5LXRydW5rCis0NjgwMyBiMTI5YTUwMjcxYWRmZWM3OTIwNjIzNmNjMmVjNTM5NDRiZWZjZTU0IGxlZ2FjeS10cnVuaworNDY4MDQgMTgyOGFmNWRjYzk5NDRhMmY3ODU1YjdmY2IxNjg2NGI3OGIzYmE5ZCBsZWdhY3ktdHJ1bmsKKzQ2ODA1IGJhNmVlYmY3YzcxOWRmYjU4YTVlMzk1NGE4Y2U1YjI0YmZhMzg5MDkgbGVnYWN5LXRydW5rCis0NjgwNiAxNmM3OThlOGVhZTMyN2I4NWE0NjBjYmJhMWNlYmZiNDQxOTc2MzkwIGxlZ2FjeS10cnVuaworNDY4MDcgNDkzZmI1Nzc5MzJmMmQ4ODMxYTQzYjUzMTljNGVjOTdmMjhhMTdlOSByZWxlYXNlMjQtbWFpbnQKKzQ2ODA4IDQyZmU2ZGUyNDYwMmZkNDBmNDJlMzkzZWQxMzQ0MWNmNTQ5YTNlZTcgbGVnYWN5LXRydW5rCis0NjgwOSBhZDVkNDczNWJlZGM4NDZjNmFlZjIxYzEwMmVjZGJjY2NlYTVjMzIxIHJlbGVhc2UyNC1tYWludAorNDY4MTIgNjc0NTBkYjI2ZjgxNjdlNzhiYmMzZTA1MDk3MDgxNDdkNTU3Y2JlNSBsZWdhY3ktdHJ1bmsKKzQ2ODEzIGUxNWZhZmE0MTA3ZDIwZDZiMGQ0MTlkZmI3YmYzZGQ5YjJkZTg1YzMgcmVsZWFzZTI0LW1haW50Cis0NjgxNCAwOGIyNGM4OGQ1MTkwMTBmNTEzM2I4Mzk0Mzg3YzEyNzZlNDg0ZjVlIHJlbGVhc2UyNC1tYWludAorNDY4MTUgZTdkMDg0Y2Y2NWJiOWI0MDg0MGNlZTkzM2RhZjFiYmM1NTBiYTQzOCByZWxlYXNlMjQtbWFpbnQKKzQ2ODE2IDQ1NGFhMGVjMGViN2IzYTZjYjM0MWNjMjEwMzA0NmEzMjQzYWI2ZTEgcmVsZWFzZTI0LW1haW50Cis0NjgxNyA4MjMzMWYxMWExNTYwYmZlM2NlZjQxOTgxYmJhOTRhNGQ1ZmRlMGVjIGxlZ2FjeS10cnVuaworNDY4MTggZTJkMmRjNTA2NTI4Nzc5YmJkMjVkNjk1MDI0MWFkZDEzM2E3NjBhMCBsZWdhY3ktdHJ1bmsKKzQ2ODE5IDQyODA4NTI2NTExYzliYjQ5MjBiMWUxMDcyMjFmOGVhZDE3M2VmZjYgbGVnYWN5LXRydW5rCis0NjgyMCBiMjNlZWI4MDI3ODA1MjNiNjU0OTZlNGJiZjVlYTZjODI2MmIzZWE2IGxlZ2FjeS10cnVuaworNDY4MjEgMzEyNTA5OWIzNDk3MWMzMGM3Njk3ODNlZDM5MDBhNmU1MWNlYTIxNiBsZWdhY3ktdHJ1bmsKKzQ2ODIyIDJkZDE5NzAxNDYxMjJhZGVjZWM4NzY5MjZkMjQ4YjU1MjY1YWFlODEgcmVsZWFzZTI0LW1haW50Cis0NjgyNCBhYTVhMWJjYTI4ZGQ4OGNjYzJkZWMxNGI1OWU0M2E0ZDgxZTY3MGY4IGxlZ2FjeS10cnVuaworNDY4MjUgY2Q1ZjJjNWJhYjY1M2I1NTczNmU3NzNlYWUzODVhYjQzMmMyZjhkMSBsZWdhY3ktdHJ1bmsKKzQ2ODI2IDUzOGNmMTg4ZjhhNmNiYzIyMDhhNTIyNjJlYjlhYmRiOWYyNjA2NDEgbGVnYWN5LXRydW5rCis0NjgyNyBiYzA5MTE4MWI4NDEzOTU1MDdhNzc4MDIxZjQ1OTVmMWIxZTRiMjRjIGxlZ2FjeS10cnVuaworNDY4MjggMDE0MjUzNmI1MmI2NGIzYTgzNmE2Mjc4MDc3ZjZmMDViY2U0YmMxOSByZWxlYXNlMjQtbWFpbnQKKzQ2ODI5IGM1YWZkNDQwYTRkMDlkMGRlMGM3NzM3ZTUzNzFjZDJkMzVlNzJlN2IgcmVsZWFzZTI0LW1haW50Cis0NjgzMSA5MjQ0MGRlODY4ZTkzZmVmMTNiMzM4M2JlOWNjNTEwZTk3ZmI0ZGZjIGxlZ2FjeS10cnVuaworNDY4MzQgYTFkZDI1ZWMyZjViYzY2NTU4YzMzODlkYWI1NWIwYmYzMTJlNzk4NyBsZWdhY3ktdHJ1bmsKKzQ2ODM1IDczNjY1ZjZmZWMzMTVhZWNmMzBkY2Y3ZTMxYWY0NjhmZmE3ZDliNDUgbGVnYWN5LXRydW5rCis0NjgzNyA3YjMxOGU5NmY4MGFhOTQ4ZGFhNDBmMWNhMDcxZTk5ZTFiM2EyY2U4IGxlZ2FjeS10cnVuaworNDY4MzggYjhmMjI4NTFjMWZmMWU1OTkyNGM1ZTdiMjY1ODBiOTNhOTAyNjU1NiBsZWdhY3ktdHJ1bmsKKzQ2ODM5IDBiM2ZlMmI3MzRhMWRmZjE0MDY1NWYxM2MzMGM4M2RiNTUzNmU2NDcgbGVnYWN5LXRydW5rCis0Njg0MCBiZjRlNDg1YmVjZjM3NzYyMmIwZmMyYmFlOWUyZWJlZTdjMmNkMzBlIGxlZ2FjeS10cnVuaworNDY4NDEgMTk1YTBkM2VlY2Q0NWViNzQzYWIyMDRiZjhhMmU2MzA3YTFlNjM4NCByZWxlYXNlMjQtbWFpbnQKKzQ2ODQ0IDlkODQ3OGY3MzJkNWFkYzkxZjFjN2RjOGNiMjk5NDBlZmYxYjQ3N2MgbGVnYWN5LXRydW5rCis0Njg1MCA5YTk0NDY3NjczMmE3ZGIwZTQwYmI2NWM4ZGVmNjY1YzMzMjgyODljIGxlZ2FjeS10cnVuaworNDY4NTEgZTgwMDk3YmY3M2I2MGZhZDhlN2YxNDBmMzAzNjVkMTM1NjNhZWNjZiBsZWdhY3ktdHJ1bmsKKzQ2ODUyIGU2MTU3NTVjYTg3MjVmYjBiOWY4ZmNkNzE1Y2NkZDM5Y2I1NmViY2IgbGVnYWN5LXRydW5rCis0Njg1MyAwYThhMzkyZTFmYWVjZjMwZjgxMzUzZTgzMTcyNTBkMzkzOGI1NmQ3IGxlZ2FjeS10cnVuaworNDY4NTQgYWYxNzQyYTgwNDllYzc4ODZlODRkNTEwNWVlZjg5M2ZjMjBmNGIwZCBsZWdhY3ktdHJ1bmsKKzQ2ODU1IDUwMWVlMmEwNWZlYzRiOGZkMGRmNWI2YzI4OGVhYjcyYjM1ZDhlZTkgbGVnYWN5LXRydW5rCis0Njg1NiBhZGYyMDg5MmQ4Y2ZiYzBjZWZmZGM5N2JkYjE3N2YxYWFjOTkzYWJlIGxlZ2FjeS10cnVuaworNDY4NTcgNDkwMjZhZjlkMWQ3OWM0MWEwYTdhYTY0YjJmZWJkYmQxMzQ1M2ZhNCBsZWdhY3ktdHJ1bmsKKzQ2ODU4IGU4NDY0YWZlZjRhNDFhYTlhN2IyZjYxNWMwY2MzMWI4ODBkNzBjYmUgbGVnYWN5LXRydW5rCis0Njg1OSAxYjNiNmIxOTgyYWFjZDAzMTQ4ODhlZmZiODFiYmVkNWM2NTE2NzM2IGxlZ2FjeS10cnVuaworNDY4NjAgYWIyNTNjZDQ5N2QyMTM3NjczMDJiYmViNmEyNWY4OGEyYzAwMDRhOCBsZWdhY3ktdHJ1bmsKKzQ2ODYxIGZjNGFmZWU0MGMyYjNiODU4YTk1OTc0YmMzNDE3ODUxOTM3Mzc1YWEgbGVnYWN5LXRydW5rCis0Njg2MiBhNzg5MzkwZDhlYTdlZGRlN2QwNjM0ZTdjYWE4NDU1YWI3YTg5NGMwIGxlZ2FjeS10cnVuaworNDY4NjMgYjUwYWIyODhhZTI3ZmY0ODk1NzBiZTMxYjg2YTMzNjhjMzg5MWRmNyBsZWdhY3ktdHJ1bmsKKzQ2ODY0IGQ2N2RlZDdhMjkxNGU0Y2YzZjljMTVhMTgyNDcwYWI0MzFhZGUwZjYgbGVnYWN5LXRydW5rCis0Njg2NSBmY2ExZTQyNGQwMjM4Zjg5NTJiMDg4M2Y3ZWI5Yzc3NDQ1NGQ5OTBmIGxlZ2FjeS10cnVuaworNDY4NjYgY2JmMjcyZjQ3OWQxMDdiMzIzZWNhNDA2Mzk2MzJhMDk5ZDg4OTYyZCBsZWdhY3ktdHJ1bmsKKzQ2ODY3IDVhOTk0ZDI2YTNjZjg5NGJhOWExNmVhODg1ZmEwYjdmYzA1YTk5NjUgbGVnYWN5LXRydW5rCis0Njg2OCAwYWNjNTJkM2ZiZjFmNDM1YTNmYzNiZTdiMmJlZTE4N2I3OWY4YzhiIGxlZ2FjeS10cnVuaworNDY4NjkgZTZjODAwYTQ2M2IxMzEyOWQzYzcxODAyY2FhNWQ0MzdkMzE2MWZmOCBsZWdhY3ktdHJ1bmsKKzQ2ODcwIDhiYTk3Y2NiZjkzYTgzZjZlNmJmYTgwNjJlNWRiYmViYmU4NTYwNzIgbGVnYWN5LXRydW5rCis0Njg3MSA2NmNiY2NlNDIyNzhmMjJkMjE0YjY4YTZlYjJlZmVjNzU5ODkzYTVlIGxlZ2FjeS10cnVuaworNDY4NzIgMWZhNzhmZDFlOTMzOTE0NzRmYzg5NTMxNzA5NmU4NWUyZTQ0NzJkMSBsZWdhY3ktdHJ1bmsKKzQ2ODczIDYwZDc5YTJiYzk5N2U4Y2MwYzMzMDQwOGUzMTczMTJiM2I3Yzk5MTIgbGVnYWN5LXRydW5rCis0Njg3NCAxYTExYTRhNDlmYjg1YTNmOTZmNGUzNGYyNzBiZmIwZmRiMDc5NDVmIGxlZ2FjeS10cnVuaworNDY4NzUgM2VlZTdiZDlhMGQwNzJiNDNiZGM2ZWQ3MGM3Zjc1MGUyNDlhNmQzNCBsZWdhY3ktdHJ1bmsKKzQ2ODc2IDQxNTcwZjA5OWE0YzNlNjUxZjZiMmQ1N2Q3OWMwOWI2NzA3NjZjMWMgbGVnYWN5LXRydW5rCis0Njg3NyA5MmQ4Y2RjNGI5MGMwMmM0ZDE3NWZhNmE0NzBhNzM3OTg1MTI2NDA0IGxlZ2FjeS10cnVuaworNDY4NzggZjE0YWI3MGMzMjBlNDhmZDJiNTJlMzFmYzdhODdiYzI1MDcwNWU2ZiBsZWdhY3ktdHJ1bmsKKzQ2ODc5IDY5ZTg5YzI5MDQ0ZTJiZGQwZmI5Yjc1NTNiMGY5YjVmOTMyZmE3NzggbGVnYWN5LXRydW5rCis0Njg4MCA0N2Q4ZDE5Y2NhZGM3MDUyYmE4YzJiNTI0NjlhMDFlYzUzMDdiNGM5IGxlZ2FjeS10cnVuaworNDY4ODEgNzk5ODNjZjYzNGMwMjVhYjRhNWU3MWVlODdkN2M5OGYzNDgwZThiMCBsZWdhY3ktdHJ1bmsKKzQ2ODgyIDQ2ZjNlYjQ3NGM4NDJkMGIwMGFlOTI5MWNiMzU3Zjc2MTFlMjlhNGEgbGVnYWN5LXRydW5rCis0Njg4MyBhOTFlNzM5Y2UzMzMyNWZhNGFhZjEwMDI0ZmNkOGEzODg3M2QwOTZlIGxlZ2FjeS10cnVuaworNDY4ODQgMTg5MzA0YzlkMDdlYWRhNGNkNGMyMTkxNzJhYjVlZTU5MGMyZjQ5MCBsZWdhY3ktdHJ1bmsKKzQ2ODg1IDJhYjAzOTRlNmU0OWI0ZjM1M2I4NmIwM2NlZjk2M2Q1YTUzZTZlZDYgbGVnYWN5LXRydW5rCis0Njg4NiA2MThkMDg4ZDk2Njg5Y2Y3ZGRhZTc4M2UyYzRjOGY5Mzg0Y2JiY2NkIGxlZ2FjeS10cnVuaworNDY4ODcgMWRhODQ1NmViZDQ4NzE5YTRlYmQ3ODdlNGZiYjM1NjVjMzAzMDkxNSBsZWdhY3ktdHJ1bmsKKzQ2ODg4IGQ1NzcxYTM4OWI4ZWI3YTk4NTc4Y2Q4MDVlZGQzZTEyNjBmZDUzZDkgbGVnYWN5LXRydW5rCis0Njg4OSAxNzAzZWZkYTU3NzQyZDE4MWJlMDQ1ZjIwNzA4ZDY1ZDkyZGI5OWQxIGxlZ2FjeS10cnVuaworNDY4OTAgNTE3MzJlODFjNzk2MTQ2N2Y2ODMyZWI2ZmI4YzAzYTg3ZTNjZjM4ZiBsZWdhY3ktdHJ1bmsKKzQ2ODkxIDhmZTM3M2ZiMjFkNDMwYzRhNjRlYjQ1NGQwMWVjYmQyZGZiNWI5NDYgbGVnYWN5LXRydW5rCis0Njg5MiA5NzFhYmYzYWVjZjQxMTU4Y2M3MGMxZGI3OTNkMTQ1NGYxNWFkZTE4IGxlZ2FjeS10cnVuaworNDY4OTMgOTdiNjFkNmY2Yjc2ODE2MjA0N2E5YzY0ODYxYTE3YzUwYzUzMzgzNiBsZWdhY3ktdHJ1bmsKKzQ2ODk0IDRjNzRlYzgzMWE2YzNiZmVlM2Y4NDQ5M2ZjODBiYjliYjc2ZWI0MmQgbGVnYWN5LXRydW5rCis0Njg5OSAzODFhNzJhYjVmYjgzOTRhMmQzZWEyOGJkNzBjMTAwZDYzNmM3ZDFhIGxlZ2FjeS10cnVuaworNDY5MDEgYzg2MTg0NzNjZGM2ZTgxNmI2OWNiMGNhZTBjOGE1NDkyZDBkMzJkYiBsZWdhY3ktdHJ1bmsKKzQ2OTAyIDUxZjMzNDJiNzBkM2NmYTczOWVkMjBmZGY3ZDQ0NWUwYzIyYzY0MzIgbGVnYWN5LXRydW5rCis0NjkwMyA3NjVmYjFjY2MzZDg5NGRiZGIxYWRhOTFkM2ZlOTQzNjhiNjI2ZGM3IGxlZ2FjeS10cnVuaworNDY5MDUgOWI4NTA3Y2ZiZTk1MDEwNTlmMjc3MGZjZWQyOTVkMWM5YjdhN2JkYiBsZWdhY3ktdHJ1bmsKKzQ2OTA2IGE0NTUyZjA4ZDUzYjM0MjczZWY0Y2M0NDY1Nzk1OGU3NDU5M2YxODcgbGVnYWN5LXRydW5rCis0NjkwOCA5YzUyZWZjYWZmNjUxZGVlODU5MjEzN2Y5OWM3ZjNjNzM3NDU0Mjk1IGxlZ2FjeS10cnVuaworNDY5MDkgNzBiMTY2Y2ExYzQ5ZTIzNzg4NTUyMmU4MjRkODBmYTlkZThkNGY0ZCBsZWdhY3ktdHJ1bmsKKzQ2OTEwIDkxNGRhMTAzNmVlZDVkYjZiMDY4YTZjODA4ZWE4Y2ZjZDMyZTc1NmMgbGVnYWN5LXRydW5rCis0NjkxMSA5MzY0MjllMTBiODc5NmViNmJlYzMxYWZkMzA5NTBlMjQ5Mjk0YmIyIGxlZ2FjeS10cnVuaworNDY5MTIgZWEzNzIzYjJkNDZiZDE3ODA0Njg0YmJhZDI4ODExZTEwYmU2NzYwYiBsZWdhY3ktdHJ1bmsKKzQ2OTEzIDY0NTYwOTJjMTIzNWExNzAxYTc2NGE3Y2VkZjk2N2JkNDQyMWJiZmUgbGVnYWN5LXRydW5rCis0NjkxNCBlMWIxODQ3OWNlOTMwN2QzZjVmYTgxMjQ5MTBhNTNkNGQ4OGMzY2M5IGFpbWFjaW50eXJlLXNmMTQ1NDQ4MQorNDY5MTUgOTgxMjJkMjE3NmYxNDBhMWY1MDI3N2Y5MzI3ZjIyNjI1OTk1ZDdhMiBsZWdhY3ktdHJ1bmsKKzQ2OTE2IDVkYjFmYTZlOTY4MTgzNWY1MmQwY2M5NzRmODQxODVlOGRkMjk2MGYgYWltYWNpbnR5cmUtc2YxNDU0NDgxCis0NjkxNyA5OTIxMjZhMjllMGZkMzhkNGRmYzA0ZGQ3MTQxMGExMWZlMGExZDUxIGxlZ2FjeS10cnVuaworNDY5MTggNGU3NGRmOTU5NTE4YTRiNzM4M2M2ZWQ0ZWNjZDY2NmEyNGRmMTIzZiBhaW1hY2ludHlyZS1zZjE0NTQ0ODEKKzQ2OTE5IGY3ZDIzYmNhNTk5ZmViY2JkMWU0ZTE5YzEwMWZlODFmMWQzYjRlYzYgbGVnYWN5LXRydW5rCis0NjkyMCBhNzE0ZjJmMTNlMjVmMjI3MDRmMTdhYTE4MjQ0MGJlNTU0OWEyNzRlIGxlZ2FjeS10cnVuaworNDY5MjEgM2U5NmU1MDI1ZDlmN2FhZTRiMDRmMzY1Nzg2Y2M1NzZkYTUyMTlhZSBsZWdhY3ktdHJ1bmsKKzQ2OTIzIDZmMmYxOGY4NjM4NzQzZDQ5YWQ0N2QxMjkxZTQ2YTVlYTJhNWJjNTYgbGVnYWN5LXRydW5rCis0NjkyNCA2ZjMwNjExZjI4M2RjYmU3MmVmNzYwOTA2ZjcwNWYxODNiZWY0Nzk3IGxlZ2FjeS10cnVuaworNDY5MjUgNWQ2MjJlNDgzZmNjZmE2MmRmNTdiNDRjMzQ0OTNlMWMzMjU2ODk2OCBsZWdhY3ktdHJ1bmsKKzQ2OTI2IDUxMjUwNzY2ZDZmNWQyNTEzMjAyMDg2YjZmY2I5NGI4NTJjMWFlNzQgYWltYWNpbnR5cmUtc2YxNDU0NDgxCis0NjkyNyBiYjFmMDJlOTcxMWRhNWY1M2VhZDI3YjcyMjNmNWM0YWEwNGJhYTA0IGxlZ2FjeS10cnVuaworNDY5MjggMjE2NzEwNTEyM2U0NDc4YmFhYzc1M2MxNDk2NDdhYmQ5OWJiNDlhZiBsZWdhY3ktdHJ1bmsKKzQ2OTI5IDZlMGMwYzdjZjA2ODlhZDQ4MGNjNWVmZTE3MmE1ZmQyMGVhOWM0YjMgbGVnYWN5LXRydW5rCis0NjkzMCA3MGMyZWZhMDAwMDc4ZjI5YzRkY2VkMjVmMjY5OTUxYzUyYzhmMjNkIGxlZ2FjeS10cnVuaworNDY5MzEgYTI0OTBmNzkzMWQzMTEzOWViNWQ3ZGZlYjIwZjRjYTk5MWI0ODI3ZCBsZWdhY3ktdHJ1bmsKKzQ2OTMyIGJiNjg0YTBjMjJkOTYzNGEwY2YwYzM3NjFiMGY2ODlmOTZmMjk0NzYgbGVnYWN5LXRydW5rCis0NjkzMyA3NGJmNTczYmZmNGMzNWU3YTg1ZTI5ZTg1MTE4YWFjMjIyZGExYzI5IGxlZ2FjeS10cnVuaworNDY5MzQgMGE1Y2YyNTk0NWUyYjY3NWNkNTJkZGExOWMwOTRkM2YyYTVhYjgxYiByZWxlYXNlMjQtbWFpbnQKKzQ2OTM2IDNlNWZkMmI3MGU1YTcwZDVlNTcxMzk0ZmYxNTIxYzMxNGY3NjRkOWMgbGVnYWN5LXRydW5rCis0NjkzNyBlY2U4YTY3NTFkYjc0ODhiN2I4MDdmNmUzMTgxODcwNzk2N2UyZWUzIGxlZ2FjeS10cnVuaworNDY5MzggNmY3ZTY0YjcyYTU4NzllYTZjZGM4MDE1MjZmY2U3ZmUxMjhlN2Q1MyBsZWdhY3ktdHJ1bmsKKzQ2OTM5IDQ1NTg5MTZiODQxZjFjZmE3ODI5OTE5ZDczYzViMmQ1OGJkMGI3NGIgbGVnYWN5LXRydW5rCis0Njk0MCA2MmNmNmQ1OGJiNTNmYjZiZGVhYTA3MGE1NWJlNTRjNmU1MTdlNWI5IGxlZ2FjeS10cnVuaworNDY5NDEgNTc5NmFjZmJiNmRhMTY3ODRiZDgyMTE2NTBiZmMwNGE1YzkwZmUyNCBsZWdhY3ktdHJ1bmsKKzQ2OTQyIGI3YTM2MjBkM2RiYjc2NzA1ZDI5NzJmNjNhNDQ2Y2Y0MzFjOWI0ODMgbGVnYWN5LXRydW5rCis0Njk0MyA2ZDgwNzZkMzgwNTk3YTY2OWRmNGMxMmEyMWFjN2ZhZWE1ZmUzMGVkIGxlZ2FjeS10cnVuaworNDY5NDQgZDg1N2EzMjA3NWQ0YmVjMDcxMjk4M2MzYTNjMzljZGVkYmIxYzE4MyBsZWdhY3ktdHJ1bmsKKzQ2OTQ1IDU0OWM1NDc3MDBhZjg3MjVlNTA0ZWJkYzA5NWQxNTg1ZjdkZDE5NWUgbGVnYWN5LXRydW5rCis0Njk0NiAwNjlmZjNhNzA2OTQxMDRhNDNmMWM2MWY0OTFmYjZkYWNjMjRiM2VhIGxlZ2FjeS10cnVuaworNDY5NDcgYzk1OWRlNjRhOGRhMTg3ZTFlZTg3ZTE3NjM4MDBjOTc0NjUyOTA0ZSByZWxlYXNlMjQtbWFpbnQKKzQ2OTQ4IDQzNzdiMTdkZGIyY2ZlNTAzZGFiODJjNWU3NDhlM2NjMjY5YjZlNGQgbGVnYWN5LXRydW5rCis0Njk0OSAwNjkwNjI4NTkyOThjNTI0MmYxYzljNmI1OTY4NzM1MTQwNTU5NjYzIGxlZ2FjeS10cnVuaworNDY5NTAgYzUyMGVlY2UwMWIwMzk2ODRiNWM4MmI3YTdhNTljN2FlYzhkNGNiMyByZWxlYXNlMjQtbWFpbnQKKzQ2OTUxIGQ2ODc3ODM1NzkxZDdjNjQyYTNkZjA5MmE1Yzg2ZDk0Njc1ZTY3OTYgbGVnYWN5LXRydW5rCis0Njk1MiBiN2Y0YmE2MDFkZjk3YWY3Y2U1YzNhY2MzNWYyMjAwYWNmZDFiMDQ4IGxlZ2FjeS10cnVuaworNDY5NTMgOTE3YmVlYTU1NTk1ZDliYjA2NTBlMGNhOTc1ODRkYzY5ZDZhYmZmYyByZWxlYXNlMjQtbWFpbnQKKzQ2OTU0IDE2ZTA1YzYwNjI3NWViODhmZjVlODM3ZDhiOWI3YzhiNzcyNWFlOTkgbGVnYWN5LXRydW5rCis0Njk1NSBkMWFlYzdiNGRiYjg2OTNmNDM4OTJmZjdhNmFiMTgxMmUyNjFjNWY1IGxlZ2FjeS10cnVuaworNDY5NTYgMDNjMDVjYWI1ZjIxMjc3YTllMWIxOWJmN2NkYjQ4YTVlOGRjNmE0NSByZWxlYXNlMjQtbWFpbnQKKzQ2OTU3IDBmNzZhNTZkNTA2Y2MyMDBjOTQyZGI0OWFhZTEwMWFhYWMwMWRlMzcgbGVnYWN5LXRydW5rCis0Njk1OCAwY2YyZWIzY2M1MGE3M2I2ZTc0NjI0ODM2N2QxNjhkNmQwZTlkNDc1IGxlZ2FjeS10cnVuaworNDY5NTkgODY4MDg1M2U5ZWU0MDk3NjNmZTE4ZDBjMzFmMDhiNDI1ZThkYWVlYyBsZWdhY3ktdHJ1bmsKKzQ2OTYxIGQxNWRmMDJkYjFjYzEzZjdhYzQ0MThhNDhhMTNmOTRjN2E1MmIwZTEgbGVnYWN5LXRydW5rCis0Njk2MiBkN2JjNjQ3MGU4MzgzNWNiZGUwZjIyNzZmZGYzZDQyNDI4MTJjZGZhIGxlZ2FjeS10cnVuaworNDY5NjMgMzJhZGFhZDU5ZmIzN2Q3OWFiMzU5OTU0MjExODI1ZjE2YzA5N2NhMiBsZWdhY3ktdHJ1bmsKKzQ2OTY0IDBhOGI4NTFiMDM3NTIyOWViZWUwNjNkNjEzYzFjZTZjODE5ZmMwNzQgbGVnYWN5LXRydW5rCis0Njk2NSA3N2IwMWM5MzMzMDg4YWZhNmU0YzFkNDdjNDIxODMzMzgyNWMwODA3IGxlZ2FjeS10cnVuaworNDY5NjYgYTlmOWI1MDc1YmMwY2YwM2NlY2JlYzk1ZDM5MWQ1ZmJiY2Y1MWQ1YyBsZWdhY3ktdHJ1bmsKKzQ2OTY3IGZkNDEyYTAwYTA3ZGY0NTljMmFjMzQ5MDI0MjE5NTMwNDllYzIzODMgbGVnYWN5LXRydW5rCis0Njk2OCBkNGIxZjlhMzFjMjk2OTg1MDMzM2QyNWQ1ZTRmYjQ2MjViMDc2MTE1IGxlZ2FjeS10cnVuaworNDY5NjkgOTkzN2YwOWQ3NmUzYTBkZThhZGZiOTQ2NWMzYWNjYmUyNTg2NWJkZSBsZWdhY3ktdHJ1bmsKKzQ2OTcwIDc5M2YwMjY5OTNiYjI5ZDZjYzkxNTkyNjUzMjlmMjA2ZWQ2NzBiZWMgbGVnYWN5LXRydW5rCis0Njk3MSAzYjY1ZWVmYmFmNzZlM2RiZDBmYzdkYThhMmIxYzI3MDI5ODg3ZTRkIGxlZ2FjeS10cnVuaworNDY5NzIgMzRiNjk3MDQxMTkxYWU3MWUyNjg3YjQ2NWU3NTM0ZmFhZWI1NzRkNCBsZWdhY3ktdHJ1bmsKKzQ2OTc0IGM3N2JlNWM0MDYzYjMxZTRiODdiZDdmM2I2NjlhOGUyNWYzYjU1YTUgaG94d29ydGgtc3RkbGliX2xvZ2dpbmctc29jCis0Njk3NiA5OTM4Nzc3NGViMWRkYTExOGUyODdmNmIwMTE4ZWU1YTViNmE1Mzg2IGhveHdvcnRoLXN0ZGxpYl9sb2dnaW5nLXNvYworNDY5NzcgNTRkZjM1ZTljNjk4YTdmOGQ4NWJiMWVjYmZhMGEzYzcyYzU0Yjk1YSBob3h3b3J0aC1zdGRsaWJfbG9nZ2luZy1zb2MKKzQ2OTc4IDllNDgyODAwMGNmYTkyOGJhMTE5ZDBmNWRmMWZkYTNjMTY3ZDNlNDUgaG94d29ydGgtc3RkbGliX2xvZ2dpbmctc29jCis0Njk3OSA3ZGJiZTc4NmZkY2QyM2RmYTc5YjhhNWMwMzgwNWZlYzQ1NGNjNjliIGhveHdvcnRoLXN0ZGxpYl9sb2dnaW5nLXNvYworNDY5ODAgMzczMDQzYTFiZGZiYjg1MDFlOTQ1Y2Y5NDY2MTA1NjNiMDQ0Y2VhNCBob3h3b3J0aC1zdGRsaWJfbG9nZ2luZy1zb2MKKzQ2OTgxIDkyZWI2ZWQwM2MyZTFjYzg1MDEyMjg0ODU4ODRmMDg2N2E3YjBlN2UgbGVnYWN5LXRydW5rCis0Njk4MiBjYWNkNDdhNjFlNzk2ZGZiMzY3NDQxN2Q0MDI1Y2IzNzM5ZjEwMTRhIGxlZ2FjeS10cnVuaworNDY5ODMgMWY5NDdmMTM0MWQxOTQ3YjMyYWJkZjA5MmQxOGVjZWNhNDg2YmYwOSBsZWdhY3ktdHJ1bmsKKzQ2OTg0IDlhOWQ1NzgyZTQzNjdiOWEwMThkYzZmNDI5Mzc5ZTUwOWRlNTQwNmYgbGVnYWN5LXRydW5rCis0Njk4OSA5ZTgyN2ZkODMxZDc3Yzg0OGY3NjRhYWVjYmFmYjAwZWUwYjgzYWYxIGhveHdvcnRoLXN0ZGxpYl9sb2dnaW5nLXNvYworNDY5OTAgYjVlZmEyM2NjOTQ4OGQ3YWQzNjZhZmRiMDBmNjQ3MmRlZjYyOTZjZiBsZWdhY3ktdHJ1bmsKKzQ2OTkxIGU3NmI2ZjNhNDQxOTM5MzUwMjQzOTNkMDUxYmIzODEwYzdlOTJlZDEgbGVnYWN5LXRydW5rCis0Njk5MiA2YjRkYTRlZTcxNDZlYjkwNjZiYjllOGNjZGY4YjZmZGJhNzRjMjdmIGxlZ2FjeS10cnVuaworNDY5OTMgZTBjM2Y1YTQ0NDBmZDQzNDFiYzdkNDZlNDI1YTBlNTVkNzQyYjNhYSBsZWdhY3ktdHJ1bmsKKzQ2OTk1IDU1N2U2MjEyNmNiMWRjMjJlYjg1YjBlNTk2OTQxYTZlZGQwNjBlZTQgbGVnYWN5LXRydW5rCis0Njk5NiBiMmE0YmU0NzM3MjgyMzAwYzRmMGY1NTU3ZGY1NmU1ZjViOTNkYThiIGxlZ2FjeS10cnVuaworNDY5OTggOGE1MGQ4ZTkwMThjODQ3OTU3MDBhZWQ4ZDlhN2Q4YzI4MzkyZjJhMyBsZWdhY3ktdHJ1bmsKKzQ2OTk5IGY2ZGM1NWQzMmY3MDJjZTA5Y2U2NDhlNGJhMjhhMWIyZTI0YmNmZTggbGVnYWN5LXRydW5rCis0NzAwMCBhZmY2NjI5ZDFkMWM0MTFmZmY0NjQyY2ExZDE5Mjk5YjlmNGM4MzI4IGxlZ2FjeS10cnVuaworNDcwMDMgMDNjZjVkZDdjOTA2MTViZjg3ZmZkOGVkOTZlNzMyYThkZDI0NzA2OCBsZWdhY3ktdHJ1bmsKKzQ3MDA0IGEwYjA2MmZmMjkzOWM5MmViZTM3Y2ZiNWRhNzY4ZDc4YmNlNGJjMjkgcmVsZWFzZTI0LW1haW50Cis0NzAwNSBjNTAyNjcwMzkwODhlMDIwOTRkN2QyY2MzOTMzYWZjODAxZWNmMmZjIGxlZ2FjeS10cnVuaworNDcwMDYgMDI2NTBhNDdlZThiZTM5Mzg0MjY4ZmYzODNiMGVmOTk1MTM1NGMxMCByZWxlYXNlMjQtbWFpbnQKKzQ3MDA3IDk2ZTFiMGM4ZmY5YThkYTFhYTMzMzgyYzMxNzkzNTM0NTAxYzQ4YmYgbGVnYWN5LXRydW5rCis0NzAwOCAxMjU4ZTkzYmIxZDAwNTk0ZDRkMTAyYjdmNGMwMGQ3NzkyOTE4ZjhlIGxlZ2FjeS10cnVuaworNDcwMDkgNDg0ZDNkNWJhN2Y5YTVhYjAzMzAxZTRlMmJkNjVmZTA0NzY0ZWUzOSBsZWdhY3ktdHJ1bmsKKzQ3MDEwIGI5ZDE0NDBjMmRkMTYzMWQ0ZDA4NzYwN2NhOTQ3OWNlN2Q2OGQxY2UgbGVnYWN5LXRydW5rCis0NzAxMSA2YTdmMWYxMmVhYWY3ZDQ0ZThkM2M5MzM2ZTIzMWQxZjg0NDQ2YTAzIGxlZ2FjeS10cnVuaworNDcwMTIgNDExZDBhMzUzYTE1Yzg0ZmQ3ZTJiMGU1Y2ZhNjdjNjY2MjNjNmM5MSByZWxlYXNlMjQtbWFpbnQKKzQ3MDEzIDMwZDIzMzM4NTJkNTBmMDFkM2QzOGM5ZWUwNzg2MjZiMWI2OGY2NjggbGVnYWN5LXRydW5rCis0NzAxNCBhZDVhZGQ5ZTAzNjk2ZDNhYmRhZjE2YzAzMzFiZGY2NDUxMTU3Yzc3IGxlZ2FjeS10cnVuaworNDcwMTUgZjRiNDQxMjU2NDY3ODlmNTQ1OTEwOTE1ZDVkNWFmMDA4ODVlY2NmMSBsZWdhY3ktdHJ1bmsKKzQ3MDE2IDkzY2MzZmMyNTA5OTk5OWVhYTVlOGYyNjUyMjliZDI2MDM4OTkzZWMgbGVnYWN5LXRydW5rCis0NzAxNyBhM2M2MWM2NDhmYzgxOTRkYzc5NWJjNmMxNzliOGQ4Y2IyMDFiMzljIGxlZ2FjeS10cnVuaworNDcwMTggODA1ZjQxODgxZTI3MGUzODEyZjkxZDQ3MTllYjk2MDBjZDBiMzRjMSBsZWdhY3ktdHJ1bmsKKzQ3MDE5IDI4NDNiZjcwYTljZmQ0Zjk5ZTI2MzkzZmYzY2FhY2E2Njc3NmJlYmUgbGVnYWN5LXRydW5rCis0NzAyMCA2NzI5YzI3ZDAxZmU4ZGI5ZjE0NTJjYzhkNGYxNzBiZjRiN2ZiOThiIGxlZ2FjeS10cnVuaworNDcwMjEgMTE4YzY1MGUyYzliM2I0NGVkZDJjOGM2ZTg1MTA2MzM1Mjg4YzBhMiBsZWdhY3ktdHJ1bmsKKzQ3MDIyIDRhNzY2MDI0MDQzYWVlZTU5MmE2YzA5MzdkZTJkYjRiMTVhMGE2NzIgbGVnYWN5LXRydW5rCis0NzAyMyAwYjk1YTBhYWFhZWY5ODZhYjRlY2UzMTdjMTY3YTEyMmY4YTJjNjE1IGxlZ2FjeS10cnVuaworNDcwMjQgMGJmOWUzMDk5YzU3YmM3MzBmZGI2NWIxNmY1Yjk1YTU3ZTU2ZDViOCBsZWdhY3ktdHJ1bmsKKzQ3MDI1IGM2M2QyYjYyNjNiNThiNzIwNzEzN2I2NjQwMzViN2JmZTQ5YjkzYjQgbGVnYWN5LXRydW5rCis0NzAyNiA0ODMwZDYxNDdhYWYwOTk1MjRkN2M0YWJkMGJkYTY1OWY0MTEyZjZlIGxlZ2FjeS10cnVuaworNDcwMjcgYTc0NjIwNWY1OTc1OWM3MzI4ZDg5OGU3OGI4Y2RiZTk4MzQxYmMzMCBsZWdhY3ktdHJ1bmsKKzQ3MDI5IGYwODg1ZmUxNGQ0MmFlZWExZTc5Yjc0ODA2MTc3M2E1ZTI5YTU3MDcgbGVnYWN5LXRydW5rCis0NzAzMCA0MDhkMmE1OTZmOTkyMzQ1NmE3MmM2OTg4MDM2MGQ4NTljNzg0ODhhIGxlZ2FjeS10cnVuaworNDcwMzIgNWI5ODdkMjEyMzFiZmI2NTQ2NjIzNjAwYzM2NTQyMWE2ZDRmZWYwNSBsZWdhY3ktdHJ1bmsKKzQ3MDMzIGYxOWU4NzcyODFlNDkwMzcxMWYxNTc3ZmZlNjM2MDg2YzdjNzlkNzYgbGVnYWN5LXRydW5rCis0NzAzNCBkNDliMTk4ZjU0NWNkODJmYmY3MzVhMjI5NzljMzMyYjhhOTdlZWNiIGxlZ2FjeS10cnVuaworNDcwMzggNTIzNzVmMjAzMjQ0OGZlNDdiMDZlNTlhNjJjMjkwNTdiZThhYTBhOCBsZWdhY3ktdHJ1bmsKKzQ3MDM5IGY4NzE2Yjc2YTcxZWY3YTA3YTA3ZmQyODQ1ODVmYjFkMTg4Yzc0NzUgbGVnYWN5LXRydW5rCis0NzA0MCAzYWYzMzJmZmY1Mjc5YTdhZTU2NGM5ZmM0YWM5MzM4YmU2YjZlY2NiIGxlZ2FjeS10cnVuaworNDcwNDEgZmRjY2M2YjE0ZmFkNmVkYTU1OWJhYTI1Mzk2YzRhY2FmODc0YWI4MSBsZWdhY3ktdHJ1bmsKKzQ3MDQyIDI2ZTRiZjE5NWFlMjkyZmQ5ODk0MzFmMGYzMmFjNmQxNTljNDE0ZDIgbGVnYWN5LXRydW5rCis0NzA0MyBhM2JhMWEzN2I1Mzc0OGJmYTg0NDQ0YTBkYTljZDI1MWY2ZWU0YTA2IGxlZ2FjeS10cnVuaworNDcwNDQgODY4MTI2ZTNiY2Y2ZDAyYTU0ZmI4ODUxNDcyMWVhOGNhZTcxMjNhMCBsZWdhY3ktdHJ1bmsKKzQ3MDQ3IDRmZmZlNjc3ZjU1Mjk2Y2I3OWFiYmM0ZWMyYmEzODY3ZTg3ZGU2ODYgbGVnYWN5LXRydW5rCis0NzA0OSA3MDIzY2VkY2M1ZWQwNGE0NWI5OWNmN2Y4ZTVhM2ViMTdiMzI4MjNiIGxlZ2FjeS10cnVuaworNDcwNTMgMDUxY2MzOWE4MDA4NDMyN2RjMGFkY2JmZWE2OTkxZTJlZTQ1N2FiYiBsZWdhY3ktdHJ1bmsKKzQ3MDU0IDUzYjA0YzE5ZmU0MTZjY2E5MGQ4NjYyMjU3MDgwZjA5MDM3OGI4ZjcgbGVnYWN5LXRydW5rCis0NzA1NSA5YjBmOTQzMGNiY2JkYmI0OTY1YWM2MDI3MjNiYzQxZWYyYzA0MjgyIGxlZ2FjeS10cnVuaworNDcwNTYgMTQ5MWU1MmM4NTk3MGQyNTM4Yzg0MTdmMjllYzVlMGNhZmI1NjAxMCBsZWdhY3ktdHJ1bmsKKzQ3MDU3IGUzYWM3MzlkNDg4OTU1NWNmZDQ1ZThjOTZmYjY4ZDU5MjM0ZjI5NGIgbGVnYWN5LXRydW5rCis0NzA1OCBhNGRkNmIyMDliNjVhMmE2ZTg2YWZmMmFhMTliZjBiMDA0MTUzZTc4IGxlZ2FjeS10cnVuaworNDcwNTkgNjllZjIzZmNmNWY4M2YyYTFlNDAxMzhiOGZiNzZlNDRmY2MzMWRkMiBsZWdhY3ktdHJ1bmsKKzQ3MDYwIDE1MmVjMjJjNGU2OTVkYTExNmY4YjhlMWFiNTU2OTRkMTk0OTQzZWIgbGVnYWN5LXRydW5rCis0NzA2MSA1MDZjNzY4NDdlYzcxNjI1ZDZlMzQ5Y2VjMjU5ODE3ZjM5ZDIwNjE4IGxlZ2FjeS10cnVuaworNDcwNjIgM2NkZGU0NWE0NjhkNTliM2I3Yzk0ZjJjNGIzNjk5MzdlMGNhY2Q0NiByZWxlYXNlMjQtbWFpbnQKKzQ3MDY0IGNiNzIyNWU4NDgwNTZjYzA3ZjM1MTVkYTAyMjA5NzNlNTI5MDhiMjQgbGVnYWN5LXRydW5rCis0NzA2NSBhY2EzNmY3ZjNhZTg3Y2EwYTM3ODM4Y2UwNGI0ZTE5MGFlNTcwMDkxIGxlZ2FjeS10cnVuaworNDcwNjcgMDQxYWQwMDY4NTcwMTE2ZmNlYjQxZDNiMDQxMjE2MDBkNTczNDY1ZCBsZWdhY3ktdHJ1bmsKKzQ3MDY5IGViZWU1NTM5MzA4YWVlNzc5MjRhZDY1NThkOWIxMDNkMGExNmU5OTAgbGVnYWN5LXRydW5rCis0NzA3MCBhZWQ4MDk0NDMyMDUzZDE3NGYxZGE5MWE1Yzk5YjkzMDdiNWEzNTExIGxlZ2FjeS10cnVuaworNDcwNzEgMjExNGViNzNhZWI1MTcyN2FiYTQxYmVmOTlkZmJhZjk1MGVhYzE3ZSBsZWdhY3ktdHJ1bmsKKzQ3MDcyIDU4MDM0MDg0ZWY0NGFlNDVmMmI4MTdlZjQ5ZTUzYWE0ZWE3YTQ0NDYgbGVnYWN5LXRydW5rCis0NzA3MyA2NTM1M2M0ZGI4YzIxYjkzYzk1YWFjNTViM2YwOTdkNzU4NjZhYzhiIGxlZ2FjeS10cnVuaworNDcwNzQgYWZjNDc1ZDA1Njc4Njk1NDBmNjFjYTdkNmEzODUwMWQ2NGQ4MzJkNyBsZWdhY3ktdHJ1bmsKKzQ3MDc1IGFmY2I1ODJkOTJkODMwNDg0NzM1ZGM5NDk3ZDA2YjdjMDUzYTcyOTAgbGVnYWN5LXRydW5rCis0NzA3NiA3ODgxNmM1Y2ZmMDUwOGM0YTI4YjU4NWE2N2ZkZGZjZGNjMDBhMzk3IGxlZ2FjeS10cnVuaworNDcwNzcgYmNlYWE3NzIwY2M3MTFjZDUzZWVkZWI4M2E1YTU0ZjllYmFmYzIzNCBsZWdhY3ktdHJ1bmsKKzQ3MDc4IGQ4NDIyNDMyMGY4MjhhMGI2ZDI4MzkxZDQwNWMzNDdmNzlmMDA5NWEgcmVsZWFzZTI0LW1haW50Cis0NzA3OSA5YjQ2YTRmNTJkMGMwMzE1ZmY4NjI2ODQ3NDdhZGRjNGJjNzgwNzA4IGxlZ2FjeS10cnVuaworNDcwODAgMzIzZGE0NzZmMTdlZTE3ZjI4NTM5ZmUwNzIzMWYzODhiYjkzMDM4NiBsZWdhY3ktdHJ1bmsKKzQ3MDgxIGJhYjBiMWU2YzZkNDFjYmZlMmU0NmEzOGFkMDg2NzliODQ2YTQ2ZDQgcmVsZWFzZTI0LW1haW50Cis0NzA4NSA2NGQxZjY2YTIzOWE2MDljNDUyOWZhZjhmZjI5Yzk1ODA1NTFmMzgxIGxlZ2FjeS10cnVuaworNDcwODYgNmYwNDJmNWJmOTRkZTc4NDY5MmIzMzlhZGU5ODliYWQ1NjA1MDk0YyBsZWdhY3ktdHJ1bmsKKzQ3MDkxIGM3NTMyODU2ZmQxNzU5MjUyNWVhZjlkODhhMGU0YmYxMWYwNjgwNzYgbGVnYWN5LXRydW5rCis0NzA5MiAxMzQyZGZkNTI3MzM5MDA4ZWVlZDQwODNlODBhYmY2YjM5YWUxNDk1IGxlZ2FjeS10cnVuaworNDcwOTMgMDlkMTYwNmU3NTI0OWNjMDEyMGRmMTI1ODU5ODVhMDNmNGE2NWQ4YiBsZWdhY3ktdHJ1bmsKKzQ3MDk0IGFkNTk0OTE1MjcxMTZkM2EwMjI3YTZmZjU3ZDcxN2JkMWI1YjBlN2YgbGVnYWN5LXRydW5rCis0NzA5NyBiOWE2NGI3YTMyNjEyZGI2MjllOThlYjhkYWI4YWExNTUyYmNhNTQ2IGxlZ2FjeS10cnVuaworNDcwOTggYjgyYzQwZGMwOGQ4MmNkMDE0MDY2NWEzYmViMjUyYzNkNjczNWM2NSBsZWdhY3ktdHJ1bmsKKzQ3MDk5IDgxNjhkMDVmOWI0OWU2MGM0OWU2MzQ0Y2IzYzI5MGVhMDVhZWIxZDYgbGVnYWN5LXRydW5rCis0NzEwMCBmMmNjMTU2ZWI5MjhlM2ZkZmZmMzk5NzQwY2Y1NmNkODNhYWZlOWQ5IGxlZ2FjeS10cnVuaworNDcxMDEgNThmNDE5ZDhjNjQ2MWZiOTE3YjA2Y2NjOWMyMjcyOTdiNGU2ODc2OCBsZWdhY3ktdHJ1bmsKKzQ3MTAzIDM1Y2YwZjg3OTgzZWRlY2E4MDU5NmQ4MTFkYjVmM2IxZjM0MzI2NzAgbGVnYWN5LXRydW5rCis0NzEwNiBmMjY2MTNiZDQ4NGQ3ZGU3ZDUxNjQ2OGRmM2ZmM2IyNjllZTU3YzcxIGxlZ2FjeS10cnVuaworNDcxMTMgYjhiMjI1NTBhY2FjMDE0NTcyMGM1MzU1NmViMjY3YzRjYzc3OTk3ZCBsZWdhY3ktdHJ1bmsKKzQ3MTE0IDc0MTMxMzAyOWQ2M2Q5Njk0NDczYjI0ZTBmYTVkMDFlNGVmYTc4ZjIgbGVnYWN5LXRydW5rCis0NzExNSAyMjU0NzlhY2U5YTcwZDI3OWFkNzRmMjMyZTU3ZGUxN2FlZWQ5ODkyIGxlZ2FjeS10cnVuaworNDcxMTYgY2VlYThhOTg2NTg0NDc3YTMwYzk0NTk3Yzc2ZGViYTY4MWQ0M2UwZCBsZWdhY3ktdHJ1bmsKKzQ3MTE3IGNiODM5OTk2YTM4NmVkYTAxNzdiYzBiYThlYmI2OTg2MjE4ZjhjM2YgbGVnYWN5LXRydW5rCis0NzExOCA3MjFjZWM3ZjAxODU3NDc3ZjU2ZjM2MjAzZTBlYWVmODk5NDZlYjVlIGxlZ2FjeS10cnVuaworNDcxMTkgNGRlYTVmNDZlZTk4NTU0MjQ5ODBjNWE5NzJkNDNiYWM4YTUyZTJiZSByZWxlYXNlMjQtbWFpbnQKKzQ3MTIxIGRlNDEwMjUyYjlmZGEzYjhkNTgzMzhiYjUxMWVlM2Q3NjU0MzE4NTggbGVnYWN5LXRydW5rCis0NzEyMiA1MjI1MGVlYWY3OTFkNjY0M2RmMGIxMzczMjUwMmMwNGFlOGI0NTJkIHJlbGVhc2UyNC1tYWludAorNDcxMjMgMDYwMjc3MWI4YjQ5YjdjMzM0MGRkNGQwYmE0MzZkN2JkYzI5ZGQwOCBsZWdhY3ktdHJ1bmsKKzQ3MTI1IDA5NTU0NmRkYjJmMTZjNjQ3MzQ3Y2NmYzBmNmIzNjhhM2EzZTc2M2YgbGVnYWN5LXRydW5rCis0NzEyOCA3Yzg5OTBjY2NmOWIyYWQ5YmNmZDIwODI4ZTZmMDFiMzM2MTc0OGM2IGxlZ2FjeS10cnVuaworNDcxMzEgYWMzZDRiNzFiY2UyYjI2YzlmYTc5YmRkMzVhM2ZjNDMxYzdkMGY5MiBsZWdhY3ktdHJ1bmsKKzQ3MTMzIDNjZjIxOGU4YjQ0OTI1NzNiMjI4YjNlYTMxOTIyOTZhMzEwOGJiMjUgaG94d29ydGgtc3RkbGliX2xvZ2dpbmctc29jCis0NzEzNCAwMzg4YzdkY2U0ZDQyNjY2ZDFlZjUzMmNmYWRjZmIwMjkwNTczZWU2IGhveHdvcnRoLXN0ZGxpYl9sb2dnaW5nLXNvYworNDcxMzUgNGI0ZWQyMzAyZDFjZjU2ZWYxNjE5MzA1NDE1YmIwZGUyZDc4NzEyNCBob3h3b3J0aC1zdGRsaWJfbG9nZ2luZy1zb2MKKzQ3MTM2IDg1MWYzNzhhYjljZGM1Yjc1NjRjNDdkMmZkNzQzMDc1NjY5YTYxOWUgaG94d29ydGgtc3RkbGliX2xvZ2dpbmctc29jCis0NzEzNyBkNzQ5MDhlNzRkMzA3MjBmNWMxMGMzMzMyYjQzYjA3YmJkMDY1ZDZiIGxlZ2FjeS10cnVuaworNDcxMzkgNTZiZjU2ZjVjODIxNDc2ZDVkNjdjYjQyNzc5MGNmMWE2OTA5NWVlMiBsZWdhY3ktdHJ1bmsKKzQ3MTQwIGE0MjYzYzQyNDhjYjY3ZTdhZDNiZGM2M2JmNGM3MTdlYWFjZGM3OWUgcmVsZWFzZTI0LW1haW50Cis0NzE0MiA1YjgwNzk2NjBlYzQ1ZTRjOGIyNjBmY2VmYTY2ZmQ4YjUxMzEwM2NkIGxlZ2FjeS10cnVuaworNDcxNDMgNTgyNzBhNjkwZjQzYzVkMTkwMDlkZTIwNjA3MzdlZjY5NDNiZThhOSBsZWdhY3ktdHJ1bmsKKzQ3MTQ3IGY5OWZiZmJhODk4MzQ2MDFkNDQ3MDRjMWI5NGM2NjA5OTgxYmI2ODggbGVnYWN5LXRydW5rCis0NzE0OCAyZWU1YmRhOTIwYTI0NWFlMDgwMmFiNmUxODQxYzZmODgyMzZjZjQxIGxlZ2FjeS10cnVuaworNDcxNTEgMWVhYjVhZTNiMWZmYmFlZTcyZTU5ZmZkYjdlNWNmOGVlNDQ5MWE5ZiBsZWdhY3ktdHJ1bmsKKzQ3MTUzIGIzZWY3NDFlMjYxNzFhZmYxMWZjZTExYWZiOWMwZTg0YjM0NTQxMzggbGVnYWN5LXRydW5rCis0NzE1NCAzYzlkM2EzMTNkODFkZTUzOTE2ODQ3YjM0MjVjYzJmMGJhMWIzZTEwIGxlZ2FjeS10cnVuaworNDcxNTUgMTdmODJiZDY4ODc4NTMyZmIyOTkzNDE4MWI2ZjU0Y2RjZWZiZjc3YyByZWxlYXNlMjQtbWFpbnQKKzQ3MTU2IDI5ZTQzYzVlMTE4ZjdiMDkwMTQyM2ZmNjRlMjk3MmJkYTUzYTMzMzYgbGVnYWN5LXRydW5rCis0NzE1NyAxYjJkZjJlY2JjNjM2YTJjOGI3MjIzM2U4MjVhYzYwZWI3OWQ3Mzg5IHJlbGVhc2UyNC1tYWludAorNDcxNTggMGE4M2RjMzUyOWQxNWFmNDQ5MzRmNWIzNDgxYzBjYjhhMDMzZmM4YyBsZWdhY3ktdHJ1bmsKKzQ3MTU5IGY0OWNjMjkwNmNkMDBmNjA0Nzg2ZDJkNzBlZTJiYWFhODMzODUwNDggbGVnYWN5LXRydW5rCis0NzE2MSBjNmQwNGM5YzNjNGFlNzc0YzVhMjkwMDE2NDY5MzExY2VjZDY5MmE0IGxlZ2FjeS10cnVuaworNDcxNjIgOTliMTVjMjViODQwMTY5MzhhYTY5NWUyOWZmNWQ1ZTYzMWY5MmRiMSBsZWdhY3ktdHJ1bmsKKzQ3MTYzIDE1ZmU5ZGJjNWQzOWVmMTI4ZjlkODkzNWUwYWE4ZDQwMDJjODIyMDcgbGVnYWN5LXRydW5rCis0NzE2NCBkYTIyYjkwNWRmYmViZDllOWFjZDg4OGMzNTQxNmI4ZmZjODI5NDdiIGxlZ2FjeS10cnVuaworNDcxNjYgYTIxZTQyMGE1OTdjYzk1MDUxNzE4ODRmYTI0M2FjZjQ3ZjRiN2NkZCBsZWdhY3ktdHJ1bmsKKzQ3MTcwIGQ4NTcwODc2OWFiMWQ5NGJjZDJiNDA0NjhmODFhNjY2ZTllYjljNjkgbGVnYWN5LXRydW5rCis0NzE3MSAxMzkyNTYxZDVkZDdhZTNkZTJiNGJkNTUyMmQ0MDc4ODZiMjJmNmZiIGxlZ2FjeS10cnVuaworNDcxNzUgMjcyZjE5NWEyODRlN2UwMTRjYTk0MmZmYjE4NTg5NjJhZmZiNzEzYyBsZWdhY3ktdHJ1bmsKKzQ3MTc2IDQ4NTA1NmU1M2NkYjk5Y2YxNTY4ODczYjM4M2U2Y2RmNjY5M2Y1OGYgbGVnYWN5LXRydW5rCis0NzE3NyA2YjBjNjNhOTc1MTQ3YTk0ZjY5YjNhMDM4ODM4Yzk0ZTc1NTA0Yjc2IGxlZ2FjeS10cnVuaworNDcxODEgNWQyYzk4MmFiYmIzOWU3ODQyNjFmYzYxMDBlMWMyMmMyYTE1MGIyMSBsZWdhY3ktdHJ1bmsKKzQ3MTg4IGQ0ZGJmYmYzZjJiOTBjNWMyMzk5MGZhYjdhZmFmZWM1ZTNiZDY5MWQgbGVnYWN5LXRydW5rCis0NzE4OSBiNjY0YTkwOGJmZjM1MGVkMWI1NmI1NjBmNGYwNzJkMmExNWI3NDYwIGxlZ2FjeS10cnVuaworNDcxOTAgYzU0N2Y2ZTkxYzU4NGI5NDI2MjA1ZmI4NmEzMDFmZmU3N2Q2NDNlZSBsZWdhY3ktdHJ1bmsKKzQ3MTkxIGUwNzZlM2Q3NmY3NzEwYTAwMDFlMWUzOGNmNTYyZGM0MjU3YTY4OGMgbGVnYWN5LXRydW5rCis0NzE5NyA1ZGQ3MzYyNjhmZjQ0MDIzZGI2NjVjNmJhNzFjNDRjZDZkMThiMjA5IGxlZ2FjeS10cnVuaworNDcxOTggNjk3NWJkNDg4NGViYzJjODAwNGJkOTY4YmFkN2JmNDMwMDA3OTU3YSBsZWdhY3ktdHJ1bmsKKzQ3MjAzIDBmM2JhM2RlZjFhZDgwYWVkMWZjNGI1MWZmNDdkNTgzYTYzNmVhZTIgbGVnYWN5LXRydW5rCis0NzIwNCBjMDEyMzAwNzY4NTljMWZlNjZjZWFmZjMxNzAwODRmZTk4ODllOTk4IGxlZ2FjeS10cnVuaworNDcyMDUgODg5NGVlZmJiMGE0OWZjNWVhZjU0OWU1NTdkOWMxYWI1ZTIzZjNkZiBsZWdhY3ktdHJ1bmsKKzQ3MjA2IDYzODI0MWZmODdiZGRiYmJlMGUyMjA2NTI3NzA5YWU2Yjk1NzI3OTAgbGVnYWN5LXRydW5rCis0NzIwNyAyNzk3Mzk2MmZjOWZiNjJjZjhmNmNhYWYwNjliMjM4NzU2YTUwZGRlIGxlZ2FjeS10cnVuaworNDcyMDggYjE2MTRmNjc0YjMyNzA0MzViOThmZDgwYzNlZjMzZWMxMWU2MTQ5MyBsZWdhY3ktdHJ1bmsKKzQ3MjA5IGU2MWE5MzhmZTk5OGQ1Zjc5OTc0YjM3NjMxMmYwYmFhYzAyYWI4M2QgbGVnYWN5LXRydW5rCis0NzIxMCAyNTM3ZGVkYTM1MWZhODkxMmNlZmNmZGI5MmJmMjIwYTg0YjExNjRhIGxlZ2FjeS10cnVuaworNDcyMTEgYjk0NzBkNjdkOTZjMmUyNzAyZTgwOWQ0MWY4OGQ3NGE4NzA2YWYxMCBsZWdhY3ktdHJ1bmsKKzQ3MjEyIDBlOGE5NGJhMjEwNjZkYTY1ZGY5ZDY2MDhlN2U0OGJiYTYzOTM3MWEgbGVnYWN5LXRydW5rCis0NzIxMyBlOWQzOWM1ZmNjMjc0NjE0YmMyYjZlM2ViOTM0ZTk0ZWE3MzFkMDJkIGxlZ2FjeS10cnVuaworNDcyMTQgZjExNjU4MmY2NjIyNDI1ZTk4Y2NhOTllYmNiNzA5MjU3YzNlMmRhYyByZWxlYXNlMjQtbWFpbnQKKzQ3MjE1IDA5MzE1Njg5OWY3NWFiMmNiMDZkMDkwZGQ3OTg5NGI3NjQxZjNlMDUgbGVnYWN5LXRydW5rCis0NzIxNiAxNmJmMzY2NDgzMjMzYjA4ZGZiY2UzYjlmOTkyNjUyNTU1OTdkZjg2IHJlbGVhc2UyNC1tYWludAorNDcyMTcgODY3NWE2MDg0MjQwZjg1NTcxZDQwZTkwMzA1YzQzNTRhMDQzMTM0NCByZWxlYXNlMjQtbWFpbnQKKzQ3MjE4IGM1YmViY2JlNDUzOTFhM2NiYjJmOGI5MTFhM2VlNjQ4MDYyMTk1MjkgbGVnYWN5LXRydW5rCis0NzIxOSA4MTMwNGMwMTQ2M2EyZTliZDhhM2U3ZWY4NmExNTM0ODJhNDZkMDM0IGxlZ2FjeS10cnVuaworNDcyMjAgNjNhMzE5ZjA3MzNjYTA2NjZiNmYyMWEzM2I0MDBkNGZkY2Q5MDQ3NiBsZWdhY3ktdHJ1bmsKKzQ3MjIyIDAxZDRiMDY4NTA2NzYwNjgxMDllMmNkOWFlOTE5NmU1Mzc2MWUxMzAgcmVsZWFzZTI0LW1haW50Cis0NzIyMyA3NWJkYjFlYjA3NjY1OTVkYTMxNjkyM2JmMWNiNWI2OGRkOGUzOWQ4IGxlZ2FjeS10cnVuaworNDcyMjQgOWM5MjJlMzFiNmE1Yzg5MTA0YzQ2YjIwZjA3MGQ2OTNmMzJmM2JjYiBsZWdhY3ktdHJ1bmsKKzQ3MjM0IGM4MjM3NWQ1NjBiM2ZlOGEyOGEyNzdmOTE5ZTYwMTYyOTRkYTRkY2UgbGVnYWN5LXRydW5rCis0NzIzNiA0MWZjMjAzYTNlOTFmMTYxNWMxNGE2ZmIzODA4M2QwMThmNDc0OGFkIGxlZ2FjeS10cnVuaworNDcyMzcgMTg5ODlkMDlkNTg0ZTZjM2U4NGQ0MDVjNjY0MTFhYWU4ZGZiZWYxMyBsZWdhY3ktdHJ1bmsKKzQ3MjQxIDZkOWUyMmMzMzBlNGI3NjQwMzAwNDY5ZmYzOWM1OWY2M2FkNDUwZTUgbGVnYWN5LXRydW5rCis0NzI0MiAwYzRlNWEwYzE5MTRmN2IyMmRmYjBiMGUzY2ZkZjg1Njg1NzNhMzM2IHJlbGVhc2UyNC1tYWludAorNDcyNDQgZDllNzgzMTlhMTkyOTM4MTI2NzE0ZTZkN2IzN2QwMzJjYjQ0ZDA0ZiBsZWdhY3ktdHJ1bmsKKzQ3MjQ1IDc1NTA0NDcxM2U5N2NhMjQzYmE2ZGFiZWQ2ZTdhOGY5ZGY1ZTE3MjMgcmVsZWFzZTI0LW1haW50Cis0NzI0OCBiOTE1NWJiMjZiMjgxZThlMzMxMWQzNmM3YWRmNDBlNGFjYmExZmExIGJjYW5ub24tc2FuZGJveGluZworNDcyNDkgYjBiZDBiY2U5NDA2ZWRhNGIxMDMyNzQ5OGQ5NTRmYmI2YjEzZDMyZiBiY2Fubm9uLXNhbmRib3hpbmcKKzQ3MjUxIDllODIxNDM1YTYxMmQxZTk3MmIzNTk2ZTI0OGRlYmVhOTM2OTliNWEgbGVnYWN5LXRydW5rCis0NzI1MyA1MDBhZTk1MjE1MGI3NjY4ZTMwMDc2NTQ5ZWVkMDQwNDljMGMzMzhlIGxlZ2FjeS10cnVuaworNDcyNTQgODdlNWIwMTBiM2IwOWQ1YjViOWM1NGY3NGUzOTA4OGRiM2YwNDFjZSBob3h3b3J0aC1zdGRsaWJfbG9nZ2luZy1zb2MKKzQ3MjU1IDcxZWFkYzM1ZjE2MzcyNjExNjY5YThmNjRmOTk2M2Q1NDIwYWRkNGEgaG94d29ydGgtc3RkbGliX2xvZ2dpbmctc29jCis0NzI1NyA0MTU2MWIwMDE0YzhiNjgxNTY0OGU1MDQyMDgxZmE2OGQ2YWVlODNiIGxlZ2FjeS10cnVuaworNDcyNTggNDBmMDU4NjczMTcwYjhhNmE4YWRmMDNiNmFlNWMwN2NmMWFhNzBhYiBsZWdhY3ktdHJ1bmsKKzQ3MjU5IGI4NTFhZmNjMTY0OTY1NjcwM2E3MmQwZWZkNWMyZjlmYTY2OWJmY2EgbGVnYWN5LXRydW5rCis0NzI2MCBlM2NmZjYxYjc3Nzk2MWFmNDZmNDJlM2MxN2VmZjg0OGNjZTA4NGUxIGxlZ2FjeS10cnVuaworNDcyNjEgNGRkMWE5MzgzZTQ3N2ZjNjcyYzk1NDQzMzAxMjVhYzc0ODA1N2RlMSBsZWdhY3ktdHJ1bmsKKzQ3MjYyIGQ4Y2U5YmM0MDVlNDFiNjk1NDZhMTQ0ZDcxN2NkNWFhMDkwZWU1ZDAgbGVnYWN5LXRydW5rCis0NzI2MyA2OGM5ZThhNTUzNjgzYjJjMjM0OGNjZjI3OTk4NDhmOGZkYjMwZDY2IGxlZ2FjeS10cnVuaworNDcyNjQgMjA3M2YzMmNmNzFmYzdlYTQ0ODU2ZWI1Mjc4ZDcwOWNlZTA0YTkzYiBsZWdhY3ktdHJ1bmsKKzQ3MjY1IDY5N2QwNTQ4MDA1M2Q2ZmRlZmU2NDVlMDg5ZmNjMTQ2ZGIxY2E4MTAgbGVnYWN5LXRydW5rCis0NzI2NyBmNGUzM2IxMmJiNTdiMTAwYjM0YzJmOTI2OTA1MmY0MzIwOTUxMDRhIGxlZ2FjeS10cnVuaworNDcyNjggMzRhNjZlMmY4OTU5ODAyNWFkMWM3M2E0OWE0YWI4M2QxYmE1ZDU3MyBsZWdhY3ktdHJ1bmsKKzQ3MjY5IGY2OGU1MWE2NzNkZjczZjJiMWY0NzQ5ZTc0NmNmMzliYzA5OWYyNjIgbGVnYWN5LXRydW5rCis0NzI3MSAzNGNiOWE2Y2UxMmQ4N2Y2YWUwMzE2NjYxMDc1Yzg4YjA5MjY2MTEwIGxlZ2FjeS10cnVuaworNDcyNzIgMzc0YzIyOWQ5MGU4ZjM2NmU1OTU1OTg0YzQ1NjE1OTExZTk2NzY1ZiBsZWdhY3ktdHJ1bmsKKzQ3MjczIDVhNGFiMzgyMDU4YTVmMTBmMzRmZjI1MjBhNjA1NDNhMDQ3NTE0NjAgbGVnYWN5LXRydW5rCis0NzI3NCBlZWJjOTVmOTU4ZTQ4ZjM3N2RmZDk5NWNlNjNjYmFhNGEwNjc1NTVlIGxlZ2FjeS10cnVuaworNDcyNzUgMjM4ZTBiMjAzN2ZjMjQ4YWE3ZTYzZGU2ZWRhZTQxNWRjNDY2MzJhMiBsZWdhY3ktdHJ1bmsKKzQ3Mjc2IDM0NDI1MWNkOGQ3NjQ0MDljYzAzYzU5NjdmYjE1Zjc4YzI3ZDU0MjYgbGVnYWN5LXRydW5rCis0NzI3NyAzZmE3OTBiMGFhNjgxNWMxZTFkYWU4ZjIzMGFjODVkYWJlODE5OWQ4IGxlZ2FjeS10cnVuaworNDcyNzggZjkzZGJmY2M2NjNiMzMwNzNjODJiZWRiZmMzZTU4NWMxZDQwZTdlMSBsZWdhY3ktdHJ1bmsKKzQ3Mjc5IDU4Yzg4YTdjOTMyNjNjNDhiYmViMWVlZDNhMjIwM2MyMDUwMGJjNmIgbGVnYWN5LXRydW5rCis0NzI4MCA4ZmVmYTk5ZTg3YzBkMzg1NjQ0OGZjNzY3M2QyN2RlOGY4ZDEwNmZkIGxlZ2FjeS10cnVuaworNDcyODQgZWQ0MzI0M2M4ODYwNWVmYzhlMDlhZDQ0YWZjMWEyN2Y2NTY2NGJmNCBiY2Fubm9uLXNhbmRib3hpbmcKKzQ3Mjg1IDQ1MjQ3YjkzYTVkOWExMDE5MjA3YTFkZTIyMjkwZWQ2NWUwNjBjMTYgYmNhbm5vbi1zYW5kYm94aW5nCis0NzI4NyBiM2MwZTA3NTlhYzA5ODA0NDYwOTJlNDVlNzc4NGQzZjNiM2FkY2FkIGxlZ2FjeS10cnVuaworNDcyODkgZGE1OTgzNjE0ZmFjMjI4MTljYWVjMDk1YmZlMjM4ZjAxZjYzN2U1OCBsZWdhY3ktdHJ1bmsKKzUwNDc3IDEwOGRjMmYxZTdkYTMyY2YxYTFjN2U3ZWJmNWRkZmM0ZWE1ZTFjNjUgYmNhbm5vbi1zYW5kYm94aW5nCis1MDQ3OCBiYjMwNTAyNjMyNDQyMmFlN2FjNDVkYjNmZDA5ZTQyMmJlOWUxOTU1IGJjYW5ub24tc2FuZGJveGluZworNTA0NzkgYjhhOGVmYzAwYjFlMjVlMmY0YWQ5ZDdjZGM0NjVhMTNlZTY4MWEwNCBiY2Fubm9uLXNhbmRib3hpbmcKKzUwNDgwIDkwM2Y5ODY3NjU0YTE3YTM5NDc0Y2VhZTMyOTMxNjY3NWQ0MTQ0MzggYmNhbm5vbi1zYW5kYm94aW5nCis1MDQ4NiAzNWFmZTdjNDY3NzIwNmNkMzViYTM3YTIwODc1NzQ4M2UxNGUyMzg4IGJjYW5ub24tc2FuZGJveGluZworNTA0ODcgYjQyODEyYzc3NGQwYzk0OWIwYmE3N2NmNWMzZjYxODA3MDEzODJlYSBiY2Fubm9uLXNhbmRib3hpbmcKKzUwNDg5IDA2NmFhNDJjZTVmMjQwOTc4YzE2NTZmNWVjYjYwNjY5NWViODJhMDUgbGVnYWN5LXRydW5rCis1MDQ5MCBhYmIyYzc2YTVlMDUwY2Y4ZDA2YzI2MDczY2YyMjY1YjJmMDQyYmMyIGxlZ2FjeS10cnVuaworNTA0OTEgMWM1YmRiYzc1ODBjYTE4Y2U2OTkyYjE4YjcyYjQ2MjYwMmI3NzUzOSBsZWdhY3ktdHJ1bmsKKzUwNDkzIDlmNzBmNmJhN2I2OWNiZTZiYWRkMTFmZDI5MDczMjQ5Mzc1NmFhZjIgbGVnYWN5LXRydW5rCis1MDQ5NCBiYmM3OGYwMjEwMDdjMGYwNDIxOGQ5Y2EyNmMwYmE3OWJmMDY4MGI1IHRpbS1jdXJyZW50X2ZyYW1lcworNTA0OTUgNjRjY2Q3NDVlYTkyMGJlMWI5OTM4OTFlNDk2MzdkMWYzNTFjNDQ5NCBsZWdhY3ktdHJ1bmsKKzUwNDk3IDk1ZjllMDE4NDU1NTZmOTYxMjgxNjFkYTRlYWVmNjFiM2JmNTZhMmIgbGVnYWN5LXRydW5rCis1MDQ5OCAzZjU1NjFjNWQ5NTk1NWIxMzljYzY0ZWUyNzJmZTNmMDllMzk1MzM1IHRpbS1jdXJyZW50X2ZyYW1lcworNTA1MDAgY2EzZDlhNjcxMjZiZjhkOTE0YTc2NjFiN2RhMjAwMTExNmQwZDkyMCBsZWdhY3ktdHJ1bmsKKzUwNTAxIDhjYzk3ODQxMzBhMGU4M2QwNjI3N2U1OTdhZjBhNjQ4NjBlNzk2ZWYgbGVnYWN5LXRydW5rCis1MDUwMyBjMDJmYTE4N2UwZjQ5Y2IyZGNhN2E5YzQ0OGRiNTM2MThhNjZlNjkxIGxlZ2FjeS10cnVuaworNTA1MDQgYzY3YjIzMzk3ZjMwNjQ5YWZlNzU0ZTU3MzA3YzhkYWY3ODc2YzU2MiBsZWdhY3ktdHJ1bmsKKzUwNTA2IDBmZTA4YWVkYmQ4YzRmY2JkZmI2MGEzYzIzNTI0NjgwYzEyNDU5YzEgbGVnYWN5LXRydW5rCis1MDUwOSBjNTQ3NjQ1YWI3MzY0YzI5NDc1NjZhZGFlYjk3YjIzMDNkYjYxZjc3IGxlZ2FjeS10cnVuaworNTA1MTAgNTE0MjhjMzc4Y2MzZTI2ZjFmYjJkYzczZmNhYzg0YzMyNWE0Y2M2YyBsZWdhY3ktdHJ1bmsKKzUwNTExIDdlNDNkMDJlZTIxYTYxZWRmNmNlMzc0ZTQ1Y2I5NGZmNzE0NDQ4ZDIgbGVnYWN5LXRydW5rCis1MDUxMiBjMWY0YmY4ZmY3NDhjMDFmNmMyMzg1NzMwNThlOTI0Mzk3NjQ3M2E4IGxlZ2FjeS10cnVuaworNTA1MTMgMzVjNGZkYTQ3ZGZiZDhmNzMwODVmMTIxYjM5NDAwYjU5MTQxZWZiZSBsZWdhY3ktdHJ1bmsKKzUwNTE0IDAyNTk4YzU3Y2EwOWNjMGU4ZWE5MjQwYTIzNWIzZGYwODVmODc5OWEgbGVnYWN5LXRydW5rCis1MDUxNiBmMzczNjQ2Nzk1MDE4MjU1ODk5ZmJhZGI3N2U4MDY2NWIwOWM3MDFmIGxlZ2FjeS10cnVuaworNTA1MTcgYWU1NjQ1Yzc2ZDVlYTMzZWNiOGFlNTgxM2E2MTdlMzE1ZWZiMWZmZCBsZWdhY3ktdHJ1bmsKKzUwNTI2IGI5NzhhZmU3Y2FiNjZhZWNmZmRhN2M5ODczNzRlY2VjMGY2NzI0YjQgbGVnYWN5LXRydW5rCis1MDUyNyA4YWRkYzkxMzE3MWU4ODM0OGMzZjQ5Nzc5MTI0YmViZjQ2ZTEwYTdjIGhveHdvcnRoLXN0ZGxpYl9sb2dnaW5nLXNvYworNTA1MjggZjJhYzMxZmMzNjllNjJmZTc3ZmI1YjVjODkyNDcxMGVmYjQyYzBiNiBsZWdhY3ktdHJ1bmsKKzUwNTM3IDNiMzhhYjljNGIwMzY5NWEzMzE1ODUxYzlmYmM4ZmM3MjUwYzYwNGUgbGVnYWN5LXRydW5rCis1MDU0MCBjODQ5OTdlMWVjYzc2OTI1NDg5YmQzMDFkY2U2MzBkMDdjZWMzYmVjIGJjYW5ub24tc2FuZGJveGluZworNTA1NDEgYjZmZDQ5OWU0MzQzZmI3Nzc5MGNmZTRiNzM1MjdmMTMzOGIyZjIwNCBsZWdhY3ktdHJ1bmsKKzUwNTQyIGMzNjE5MTVkZjI5MTNjNjFhZjc5MGEwNjE3ZjJhMGU0NDE3Y2VkNDcgbGVnYWN5LXRydW5rCis1MDU0OCBmY2JmNDYyMTE5MDNhNGYyYTBkNzY0MDg2ODdlYmUxYThlNGY4MDY4IGJjYW5ub24tc2FuZGJveGluZworNTA1NDkgZTQwMjQ0ZjVmZWI5NGQwMTU0ZDNlMDNiMDNiODc5YzNiY2MxMTBlNiBiY2Fubm9uLXNhbmRib3hpbmcKKzUwNTUxIGZhNmNhM2Y1ZjIyNmU1ODBlYmJkZDY5ZTExYWZmOTliODVhMGViYzYgYmNhbm5vbi1zYW5kYm94aW5nCis1MDU1MyAxY2EwMTViZTcwYWUyMmY4NWFlZDcwZjhjOWVkNjhmMWUyN2I5ZWQ0IGxlZ2FjeS10cnVuaworNTA1NTggMmQ1N2U0YjA4Y2U2OGNmN2IxOGIzNmQ4ZjUxNmI3YTViOGRmZDdhNSBob3h3b3J0aC1zdGRsaWJfbG9nZ2luZy1zb2MKKzUwNTU5IGIyODY1MzYyMjA5MzgzMDJjY2UxNmViNTJjMGZjNjBjZDA3YjRiNTQgYmNhbm5vbi1zYW5kYm94aW5nCis1MDU2MCBlMzFlZGVlNWJjM2Y1NGUzNDI2NjIwMjk3ODliYzRlNWFjNjQxNzRkIGJjYW5ub24tc2FuZGJveGluZworNTA1NjQgMjE2YTk3YTJlZDM2ZjI1OWRhZWFmMmY5MTE1OTIwMzI0ZjEyYTc0NyBiY2Fubm9uLXNhbmRib3hpbmcKKzUwNTY1IGRhZWU4ZjhjMDM1Zjk2YWUxOWQwODMwZTcyYjEyYTEwMjNhNDIwOWMgYmNhbm5vbi1zYW5kYm94aW5nCis1MDU2NiBlM2Y2MDY2Y2U3NWY1ODJkOTRkMjI4MDc5YTBiNzUzMzc3MWFjMzdjIGJjYW5ub24tc2FuZGJveGluZworNTA1NjcgNTJhODczOGY1YWI0ZDFlNjgwMGQzM2RlMDEyN2NkNmY2MjZlNDg5NSBsZWdhY3ktdHJ1bmsKKzUwNTY4IDAzYjZmZTU3Y2Q2ZGY1YmIzNGNhMTlmNGI3NjBiOTQzMTg2Y2M4MDYgbGVnYWN5LXRydW5rCis1MDU2OSAwMGY5NzVlYWQzNDRhZmIyY2FkMTRhMmNlNTk1MTlkOThiMWM2YzVjIGxlZ2FjeS10cnVuaworNTA1NzUgZDY0NjNlOGVmOWM0N2QzMjczZDNlOTA1NWRhYWQxMTY5MzliMGQwZSBsZWdhY3ktdHJ1bmsKKzUwNTc2IGY1MGI5ZGE1ZTM2MTk1M2FkNDBiM2MyNDNhMGE2ZjRkNzQ4MGY5OGMgbGVnYWN5LXRydW5rCis1MDU3OSBhZTBjMzI4YWM1YmY5MWJmOGU2OGM1ZDk0MTIxZWRkODZiYzdmMzM1IGxlZ2FjeS10cnVuaworNTA1ODIgMjE0YjI4ZDdhOTk5MzM0ZDA0MWFjNzA3ZjBmZGU5OTYzYTU4MDZlNSBsZWdhY3ktdHJ1bmsKKzUwNTgzIDY1NTIyOTkyM2Q0MmY5ZjMzYjNjMzgyMTA0OTcwZWM3ZmJjY2Q4M2IgbGVnYWN5LXRydW5rCis1MDU4NSBjN2RkNjY5NmVjOGNiMTcwYTE3YzdhZTJjNzAyZDFiYWU4NWFmNWRjIGJjYW5ub24tc2FuZGJveGluZworNTA1ODYgNmY2OWFmYjc4NWQwYmY5YzVhMDAwN2Q1NzRjZGQ4OTE0YWUwNTI4ZiBiY2Fubm9uLXNhbmRib3hpbmcKKzUwNTk0IGU2ZjE2YjdhNTg0ZjIzNjZkMTFhNzhjN2YwZjdhNTMwNjRiZWNhMjkgYmNhbm5vbi1zYW5kYm94aW5nCis1MDU5NSA5MzNiZTNlMGFjNmNiMDU2ZWE2NGE1MDEyMjM1YmNiOWYwNWY2MmYyIGJjYW5ub24tc2FuZGJveGluZworNTA1OTYgNzE3YTc4ODdmZDdhNzZkNzE0YjhjMTJkNmFiOTA4ZGMxYjc3ZGJjYiBiY2Fubm9uLXNhbmRib3hpbmcKKzUwNTk3IDcxODJjMjc3NWMxZTQ1NDJjZDdkNDI2MjA1YzQ5ZDY1YjNkODBiYzUgbGVnYWN5LXRydW5rCis1MDU5OCBiMWJiMTc5YThhYjA1N2RiYzJkNzQ1ZGM5MDY2ODA2MjEzYjA2OWEyIGxlZ2FjeS10cnVuaworNTA1OTkgNDc2Y2Q4Mzc3N2YyYmE3MmVkYzdlZmVjYTI1NTZkNmI4ZGQ4NTNhMCBsZWdhY3ktdHJ1bmsKKzUwNjAwIDJjM2VjNzIwYWE3YmViMGRhNDAwMmI4NDdjYzVlZDdkYzc4MjU2NmMgbGVnYWN5LXRydW5rCis1MDYwMSBiMDk1ZTgzODhiMmU2NDUyNWRlMjgzNWM3MjJlYmJiZDJjNjE1OTVmIGxlZ2FjeS10cnVuaworNTA2MDQgMzZjNWQwODViODY5MjA3NDAzY2Y0MWU2MWI3YTIyZDRiNzFlYzdkOSBsZWdhY3ktdHJ1bmsKKzUwNjA3IGM0OGIzYTY4ZjY5NjJhNjk1YjI5YmQxNjJiMjQyODk5ZjYzYThkN2EgbGVnYWN5LXRydW5rCis1MDYxMCBiNTYyZmQ3OTUwMGQxZDM3MGY2OTdjZGU1MmRlNDA5N2E2YjY0ZThlIGhveHdvcnRoLXN0ZGxpYl9sb2dnaW5nLXNvYworNTA2MTEgMmYzMDUxNWNmNjZiOTZlOTFiYWExYzdiNDY5OWZjNDE0MzRlZjEzOCBiY2Fubm9uLXNhbmRib3hpbmcKKzUwNjE3IDg5MmI3YWMyNmQzYmI1OTAwODQyNWNmMzZlYTgyMzg3NjUyMjIxOWMgbGVnYWN5LXRydW5rCis1MDYxOSBlNGI2YTRmMmNlMTQzN2RhNjE0YjlkMjFlZGZmMDU4OWRiNWFhYWUxIGxlZ2FjeS10cnVuaworNTA2MjAgY2Q0NTljOTIwZjk5MGM5NDNmNjEwNjFlMmIyZjMwMTM0OGE0MWQwYSBsZWdhY3ktdHJ1bmsKKzUwNjIxIGE3NzY4ZmVmNTliMmNkMWViZDJiYzc5OGIxMzk3ZDdjNjRhYjE0OGUgYmNhbm5vbi1zYW5kYm94aW5nCis1MDYyMiBmYzY5ZmE2ZTU0Yzg2ZGMyZTE0ZDg0MDUxOGYzMTIzNTc1M2I5NzhiIGxlZ2FjeS10cnVuaworNTA2MjcgMThiOTc5NmI3YmE1OGM3NGVhYTMyMmU1OWY4OTNlMzAzMjFmN2FhNiBiY2Fubm9uLXNhbmRib3hpbmcKKzUwNjI5IGM4NzBlZTA2NmMxMjU0OGM4ZTk3YTM4MTE4ZGQ3NjEzZGVjOGFlZjUgbGVnYWN5LXRydW5rCis1MDYzMCBmNzFmMjg0MzYzMWZlY2ZiM2JhMDk1NDMxMjMyNmUzYmEwODU4NzlmIGxlZ2FjeS10cnVuaworNTA2MzEgMmE4NGI0NmFkNjRjYTY5ZmE0ZWRjZjVmZTBlNWFlMzAxMmI2ZjU1NCBsZWdhY3ktdHJ1bmsKKzUwNjMyIDE2ZjNjMDJlZGUwMjUzMWIxZGI3ODBkNGVlZmNhODQ1YmYyOGNiZDUgbGVnYWN5LXRydW5rCis1MDYzMyAwZGU1OGJjZTQ3ZWYzMmEzMGYxZWU3YzE5NGFlYzJhYWYwM2E1YTkwIGxlZ2FjeS10cnVuaworNTA2MzYgN2RmYzc3NmRkODFiY2VmNjgzMDAzNzYzODUyOTlmNDgxZjI0ZmNiOSBsZWdhY3ktdHJ1bmsKKzUwNjM4IDlmMmMzZGU3NDg1NmRkZDEzYmZhZTY4ODBiMDU3MWMwNDQxNWM2ODQgbGVnYWN5LXRydW5rCis1MDY0MCA4NWZmYzBiZmNjOTgyOWVhZjA2ZmZjNDBiZjdkNjlhYjEzZGRlYWZjIGxlZ2FjeS10cnVuaworNTA2NDMgYjYzMjU2MzQ5ZTc3OTAwNTFhYzcxNzc0NGEyYmY5N2EwZWJmOTM1ZSBsZWdhY3ktdHJ1bmsKKzUwNjQ3IDdmNDBlZjg3MTczMTExNDZmNzA0OTM3YjVlYjUzOWQ2NjJlNzI1ZmIgbGVnYWN5LXRydW5rCis1MDY1NSA2YjFlZDdiNzA0OGU1ZThiOTE4MGI5MTk5NzhlZDU4NDcyNzQ1ZWM3IGxlZ2FjeS10cnVuaworNTA2NTYgYmY0NzRmOWQ1MjI1ZTdlN2VhNjBjNDE5ZTQ0OWE4MTdhZTE4MTJlMCBiY2Fubm9uLXNhbmRib3hpbmcKKzUwNjU3IDVlY2YyMmE0ZTVkZmMyMDQ0NWQzNDdkYTA1NDBkNjc4YzRjZDVjM2MgaG94d29ydGgtc3RkbGliX2xvZ2dpbmctc29jCis1MDY2MCAwNTI5YTU4NTA2NGM0ZDc0ZDQ2NWJiMWRhY2RiNjg3MGE5MzA4YWRjIGJjYW5ub24tc2FuZGJveGluZworNTA2NjEgMTQ2NzFhODBhYmVmMDkwNzQyNmM5OGRlNmNjNzYyZGI2ZDBlNTVmMyBiY2Fubm9uLXNhbmRib3hpbmcKKzUwNjY0IDJhNzZlYzJmMGI3OWQwZDU0YTE5YzlhYjAzNjY1MjNhNDk3NWRhMmMgbGVnYWN5LXRydW5rCis1MDY2NSAwNjMxNjQxZmRlZmY0ZWU0NTBjMmZmNjRmNTExM2MzY2FiYzY4MDUzIHJlbGVhc2UyNC1tYWludAorNTA2NjcgMDA3MTUzNTNmODJjNTY3N2Y3ZjEzMDIwNTdjMDE3OTZkYjY4NjkwYyBsZWdhY3ktdHJ1bmsKKzUwNjcxIGMxMzZmZjRkNDI2ZGZiY2I3MzI3ZDRlMzU2MDk2MjkzZDA3OGRjNTIgbGVnYWN5LXRydW5rCis1MDY3MiA5MTBhOTQ4ZTAyOTBmMTgxNzE3OGE0OGY4ODdjMzRhZWQ0YmY1YWFlIHJlbGVhc2UyNC1tYWludAorNTA2NzMgNzU2ZDU3YWNkYTg1YmNiYTI4ZjIzMGU0NWQ3MTQ4ZjhjZmNjZWI5OSBsZWdhY3ktdHJ1bmsKKzUwNjc0IGJkYTkzYjQ1Y2E0MTNlYjNhNTExZDUzYmNlZWExZGVlNWNlMzdiNzcgbGVnYWN5LXRydW5rCis1MDY3NSAzZGRiNTk0ODNmMTAzMzVmMTY1MTY5YzY4YTI4MmFmOWMwYWM2MTQwIGxlZ2FjeS10cnVuaworNTA2NzYgYWVkYjg1ZWU0ZmVjMmVlYTcwYTk5MmM1NjVkNzIyNTU4OTJhYWJhMSBsZWdhY3ktdHJ1bmsKKzUwNjc3IDUwYjBiNTRmYjE3ZDdlM2ZiZTVhYmMwMmQxNTdkYWE0NWIyMzBiZjAgbGVnYWN5LXRydW5rCis1MDY3OCA3NzVmODViOThlNjU5ODM5NjM5MzRhMjhkNDVkOWZiMDJiNDE4NTEwIGxlZ2FjeS10cnVuaworNTA2NzkgOTBkNWQxZmVhNGYyYzExNTY3ODM5YWFlN2Y1ZjliNzJmZjIzZDk5MSBsZWdhY3ktdHJ1bmsKKzUwNjgwIDM1ZDUwZmJlMGI4ODk5ODBmZmIzNjVkZThlYTAzY2Y5NDUwM2FjZDggbGVnYWN5LXRydW5rCis1MDY4MSA5MzRiYTViZThmM2YwYzI3MTIyYWQxNzM1MjNjNzAyMmE5NWMwNjY3IGxlZ2FjeS10cnVuaworNTA2ODMgYTU1MTk3YmQ3MjAwZGUxMTMyM2RhZGI4Yzk1ZjE2ODQ4Zjc3YjU0YSBsZWdhY3ktdHJ1bmsKKzUwNjg0IDYwNjRjYjMwMTIwOWM4ZWM3MzdlN2ZiNTFiN2U4YmQ1NmQ2ZmQ3YmMgbGVnYWN5LXRydW5rCis1MDY4NSBhYTg1NzkxZjU5OTEzZjFhMTA2ZDdhOTgyYTEyYWMzYzI3MTc2YjNhIGxlZ2FjeS10cnVuaworNTA2ODYgZDJiZmNjMWFhYzNkNGZhZTllMjkzN2I4NzA4ZjI3ZTM2OTZkMDBjZCBsZWdhY3ktdHJ1bmsKKzUwNjg3IGJiMTcwNzI2NWRlN2UyNjgyNGJiNWMwMDg5ZTI3MGI4NDUxMTc0ODEgbGVnYWN5LXRydW5rCis1MDY4OCAwMDg5NDE1MjE4MDUwMmRjYTY0Yzc0NGQ1ZTA1MzFmZmEyMTU5NWYxIGxlZ2FjeS10cnVuaworNTA2ODkgNjU0YTViMjYyNzE3ZTI3ZjI5YzI0OTRmMWQwMWNlYzYwNjRhYTczNiBsZWdhY3ktdHJ1bmsKKzUwNjkwIDYyOGI4NTEwZmVmYmI5Nzg5ZGQ3MmYwOGIxNzQ2MDBkZDcxZjU2ZmYgbGVnYWN5LXRydW5rCis1MDY5MiBmZGEzY2JkNzRjNzE4ZWZjZTZmN2ZhZDQ2NWFiMTE3YTUxZTVhZTIzIGxlZ2FjeS10cnVuaworNTA2OTMgZmY1Mzk3MDdhMWVkMzQ3YmJkOTdiMDk1NDI3YWY3MzdjZTI2YzkzNSBsZWdhY3ktdHJ1bmsKKzUwNjk0IGU3ZDBhNzVlMzE0NTUzZjYwNTFmNWYxMmExNzRmZWQ4MDU4Njk2YjUgaG94d29ydGgtc3RkbGliX2xvZ2dpbmctc29jCis1MDY5NSAyNDRmYjUyNGRkZDQxYjU0NGJmNTc2YmJmODNjOTVlMWQyMzhmNWNkIGxlZ2FjeS10cnVuaworNTA2OTYgOTc5ZTM5MGUyYmI0YzU2NWQwNjhkM2ZjZTgxNjliZjI0MjEwN2VlOSBsZWdhY3ktdHJ1bmsKKzUwNjk3IDk3MDE2MzM4MThiNGJiMjAyNmJmNGQ3MmFmOGIzOTAwYjQxODNkMTEgbGVnYWN5LXRydW5rCis1MDcwNCA5NWZhOGZjOGEwNjVjMzcwNGU4MzhmNjk0ODM3Mjg1NDgzNmQ0YjJhIGxlZ2FjeS10cnVuaworNTA3MDYgYWNmZjFjMzRjY2EzYzM1ZjcxMDY3NWQzYWY5YjcxZDZjZjIzYmI2MSBsZWdhY3ktdHJ1bmsKKzUwNzA4IDg1YjIzOTY1ZWM0YzA2OTFiM2EyNTE1MzhjZjk5NTIzODc1NjBiZDUgbGVnYWN5LXRydW5rCis1MDcxMCAwOGYzNWFiZWNmOTgwZmRhNTRlNWNkOWM2YmFjMjJiZDU0NWQwZDA3IGJjYW5ub24tc2FuZGJveGluZworNTA3MTMgYzU3NTliNWE1N2YwYzY5MDkyOWE5OTcwYWI0NWZiZjA0ZjRmNmZlYiBsZWdhY3ktdHJ1bmsKKzUwNzE1IDFkN2RhODYwODAzMWJmZDJmMGM3NGEyZDA5YjZlYzhiOWViNTgwOTkgbGVnYWN5LXRydW5rCis1MDcxNiA1ZmY1YTU4M2IxMmU5YzY0ZDUwZmJjNTEzZTJmZmFmZTk0Njc3MDg2IGhveHdvcnRoLXN0ZGxpYl9sb2dnaW5nLXNvYworNTA3MTcgODRlOTE2NmI3MTA4ZjEwZDYyMjQ1MjM2MGJhZmU5YTFlMDYwMDNiMiBiY2Fubm9uLXNhbmRib3hpbmcKKzUwNzE4IDNjNWRiMmIzZjg5M2FkYTI3ZGZhYzVkMGM1ZmYwNGIwOWE2YTJiY2IgYmNhbm5vbi1zYW5kYm94aW5nCis1MDcxOSA1YzkwM2Y2NTA3MTk5ZTNkNjJlYjI4MGY3MDU2MDUwYTBhODgwZmI1IGxlZ2FjeS10cnVuaworNTA3MjAgOGZlNjc4NmY1MTQ0NWJhNGI0NjA3MWRiNjFjNjBiNGExM2RjODE2MCBsZWdhY3ktdHJ1bmsKKzUwNzIxIDVhYjc2ZmJmMjNmM2NmMjE3YmZmZGU3YTVhMTVjMTFlZDdhZTIzMTkgbGVnYWN5LXRydW5rCis1MDcyMyAyYTFmZWZiMTg3NjRjYTMyZDFmNjhiMTVjNTFkMGU4MGRlODllOTQ0IGJjYW5ub24tc2FuZGJveGluZworNTA3MjUgMTQwNTMxYjEyNGY4NWRmNTcyOTI3NDFlMjUwNDZiYzk1ODg1ZDdhYyBiY2Fubm9uLXNhbmRib3hpbmcKKzUwNzMwIGJlMTczNGNjNmRjMDJjNTc0ODk2YTE2MDI2YjU5MGNiNDhhYzIxNzcgYmNhbm5vbi1zYW5kYm94aW5nCis1MDczMSBhMzJmMjBlY2MwMjRiN2JjYjk3NTZjNzQwYzVhMWFkNTViYzZiYTRmIGxlZ2FjeS10cnVuaworNTA3MzcgNTk3NjliNTM0Nzg5ZTc1M2E1NDIwNmYwNWU5MThmMjFmNzEyZDE0MyBiY2Fubm9uLXNhbmRib3hpbmcKKzUwNzM4IGViNDQwZWM3NGExM2ViZjU1MzEzMmM3NjA0ZmRhYTdjMjVjNDI1YWYgYmNhbm5vbi1zYW5kYm94aW5nCis1MDczOSAwNjA3MGExMmE2YjAyYjU3MGRkZjc5NzhmN2Y1YWZlNDIxNzgxOWE3IGxlZ2FjeS10cnVuaworNTA3NDAgMzU3MmZhYTlhMjllMDc4YzMyMTdmNjlmMWNiODQwYjkyOGE0N2MxYyBsZWdhY3ktdHJ1bmsKKzUwNzQxIDdmMzgxNzMyNTFiYmM2YjAwNWVhMGFlNTM1N2MwNzE4ZmI3MWJhMTYgbGVnYWN5LXRydW5rCis1MDc0MiBhZjRhM2EwZDQ3Y2NmZTZmNmI3NDczNDVjNDc4YzA4OWI2ZjFlNzA1IGxlZ2FjeS10cnVuaworNTA3NDMgZjIwMzFmMTVkOTlkODEyOGFkZjFjYjNhNzBiYWI3MWI5N2MwZGVhMyBsZWdhY3ktdHJ1bmsKKzUwNzQ1IGJhYTU0MzM3YzNkOWU5NWZiYWQzNTk2MTU3MTJkNGE0MWJmYTUyNzggbGVnYWN5LXRydW5rCis1MDc0NiA3YzA5YjY2ZjA0YmQxNDkxYjAzNjdjOTc3MWE5NDIxOTk3ZmQ3ZDRkIGxlZ2FjeS10cnVuaworNTA3NTQgNDE3Y2RlZGUwNjg4MGYxZDU0OTgzM2Q2YmM0NzgxMjJkMTE5YjhlOSBsZWdhY3ktdHJ1bmsKKzUwNzU5IGQwYTk1NjU0ZjgwMzIxY2UyMzUzOWM5YWQyYmE4YzI3ZjM2NWNiYjYgbGVnYWN5LXRydW5rCis1MDc3MSAwNzllNDJlMGI4MjZhODkwY2YwZjAzNTRmNGJiMDFiYmUyNzZjN2RhIGxlZ2FjeS10cnVuaworNTA3NzIgZjFhMjc3N2U1YzhiM2Q2ODU0YzQxYzQxYjg2ZjhhNjM1NDQxZTgxMiBiY2Fubm9uLXNhbmRib3hpbmcKKzUwNzczIDEyZTk3M2JkZmVlZTI5OGY5MTI0YjA1MDFkYmViZmI4NzdmNmYxZGEgbGVnYWN5LXRydW5rCis1MDc3NCBlZTZhYjMzMTc1ODFiZjc4NDVkODRiNWE2ZTk3N2RiZjg5OTEwNTA4IGxlZ2FjeS10cnVuaworNTA3NzUgODMyZmNlNTBkYTkzNjJlYTQ0NDQzZmVjOWU2ZTI0OTVlNmEyMjdlMyBsZWdhY3ktdHJ1bmsKKzUwNzc2IDcxMzJmOThlZjA3YjMyZDk5NDQ5MzNmMmRiZTdmOGU3NDgwY2NjMTkgbGVnYWN5LXRydW5rCis1MDc3NyA3NWE3MTA2NjYyYTNmZDYyNzI5ZTNkMjIyMzg4ZGY1MzI2MjIwMWM5IGxlZ2FjeS10cnVuaworNTA3NzggMTgwNWU2ODRkYzkyNTcyOTc1NDI1N2Y2MGJlYjExZWZkN2U4ZTkwMyBsZWdhY3ktdHJ1bmsKKzUwNzc5IGJjNWQ4MzFmMWRkYTUwOWNiZjU2YmZmZWM1ZTczNjcwYWFhOWE4MjcgbGVnYWN5LXRydW5rCis1MDc4MCBjZGJiNDRjM2RlODcxNWExMGMwZGNkYThmMDhhOWJiZWM2OWYzZTg1IGxlZ2FjeS10cnVuaworNTA3ODEgMGUwYTk3Y2VkOGU5MWY5MmUyM2E4ZWFlZGRkMmU2ZTQ3OTgzYTNlZCBsZWdhY3ktdHJ1bmsKKzUwNzgyIGU5NzczZmMyN2U5YjM2YTU5NWRlNTEzZjc1YmUzZmRhZGYyMzc4NzAgbGVnYWN5LXRydW5rCis1MDc4MyA5NTdiZjMxMTkyNDc4NDA2MjI4NWYyZmJmOWJmNDZkODZlYzhmY2UxIGxlZ2FjeS10cnVuaworNTA3ODQgOWQxOGQ5NjhhNThiMzMxZmU3ZjIzNWU5NjE2YzAxMjg0Mzk2M2E3ZCBsZWdhY3ktdHJ1bmsKKzUwNzg1IGUzZGE1Zjg3ZmU2NDFkOGIzOTJlYWU3NTFmY2EwYWMzZmY2OWY1ZGYgbGVnYWN5LXRydW5rCis1MDc4NiA1NGJiNzIwNjMyYzQyZmQxODVhZGU4OTk5ZThjMGUyODgyM2U2YWJiIGxlZ2FjeS10cnVuaworNTA3ODcgMGE0YWQ4M2ZkNjU0OTIyNTNjMjg3MzQ5ODE1ZDYwYmU4YmRiNjBiMCBsZWdhY3ktdHJ1bmsKKzUwNzg4IDNhYzg1MDk0MzdkZmRiYzI0NTAwOTY4Y2E4ZDNkODE0OWNkZDc2ODUgcmVsZWFzZTI0LW1haW50Cis1MDc4OSBiNThmNzk1MmUzOGFlODkxZDJhMTAzNTRmOTYxMDMzOWY0YTMxN2EzIGxlZ2FjeS10cnVuaworNTA3OTAgNzg2NDNiZTNjZjQwYmIzYTlmNGQ0MzkzNTcyZWUwMjIzMmM2M2U5ZSByZWxlYXNlMjQtbWFpbnQKKzUwNzkxIGEzZmRhODQzMjM0ZTQ4ZDFjYTZjODJiMjVlNjNjYTRhNDRhOTkzY2EgbGVnYWN5LXRydW5rCis1MDc5MiBmODgxOWJkNGU0Mzc5NzcwNWRhY2UwMTE3ZTIyYzU2MmFiNDQ5OTliIHJlbGVhc2UyNC1tYWludAorNTA3OTMgNTM0MThjYmFkN2ZkNGMzNjJiOWU3NDhmYzlkNTY1YjEzNDhjMWMzZCByZWxlYXNlMjQtbWFpbnQKKzUwNzk0IGE0YzRiN2VhNzljMGE3NGYzNjkxMzE5OWI3NDY3ODNiMWUxMTc4ZGIgbGVnYWN5LXRydW5rCis1MDc5NSA4MzJkNWEzNDEzMGZhNTM2NDU3MDc0MGRlNzUxMDY5MGExYmMzYTViIGxlZ2FjeS10cnVuaworNTA3OTYgYTRmYzRlNzUyNjM0NjgyNTI3YjdmMGQxZmVlMjViYzMyOGJkNWIwNCBsZWdhY3ktdHJ1bmsKKzUwNzk3IDYzYWVhNjg4YjViYjI2ZGZjY2RjNDBlNTY1NzI4ZGIyYWVlYzczOGQgbGVnYWN5LXRydW5rCis1MDc5OCAxYjFmZDE4YjFhZGE1MzgzYzI1ZTU2MjRmODYxYmYwNTNkNTg2MTI4IHJlbGVhc2UyNC1tYWludAorNTA4MDAgMDJmYTEwMTVjYmNjNGM5MzRjODQwYTNmOWZkMmZlNjIwMDFlOTcyYyBsZWdhY3ktdHJ1bmsKKzUwODAyIGNhYWYzN2U0NWQ0N2Q0N2VjNDc4MzU4NmI5NjA2ZTk0MGU4ZDAxODggbGVnYWN5LXRydW5rCis1MDgwMyA4OWUwOTBmZWY5ODUzMDIxY2FiNjk5NmI3ZDg0NjRiZTE4ZGI0MTMxIGxlZ2FjeS10cnVuaworNTA4MDQgZWZkZTVlZTg4YzlmNzc3OWYwMWNlNWIzZmM2MzI4ZjE3MzQyZjkzNyBsZWdhY3ktdHJ1bmsKKzUwODA1IDBjMDBlMmY1MDllMDA3OTM0N2EzZGE1ZDNkOGM1MTRmYmU3MTg3MzQgbGVnYWN5LXRydW5rCis1MDgwNiA3Y2U3ZWQyZWNkOWNhZDM0ZjI2NzdjODQzMTc3NDVjY2MyZTJiNDhlIGhveHdvcnRoLXN0ZGxpYl9sb2dnaW5nLXNvYworNTA4MDcgZDcxZDQ2Njk3NGU1ODdiYjM2Mzk1N2EwOTljZmFjZWZmODc4NzFmNyBob3h3b3J0aC1zdGRsaWJfbG9nZ2luZy1zb2MKKzUwODA4IGVhZWRjY2MwMjgzZDc5MTBlNDlmZjJlNzk5YWZlOTMzODI1MWZiMjAgbGVnYWN5LXRydW5rCis1MDgwOSAwN2NlZTAxYTRmY2NjMzg3ZjBmYzFkOTI4ZmE1MGZhODFlZTdjZTExIGxlZ2FjeS10cnVuaworNTA4MTAgYTVmOGQxZDI1NWE5NzliYzcwZjRmNjhjMDc0MzliNmMzZWQyZDM4OSBsZWdhY3ktdHJ1bmsKKzUwODExIDk5YWE4NDIyNGYxODE5ZDU1MjcyNmFhOTExZWE4NTcwOTQ1NGY0N2QgbGVnYWN5LXRydW5rCis1MDgxNSA2M2E0NGM5MWE0ZDVlYmNlMzI1ZmMwZjgyMmMyZThmODJkZjEyZTI3IGxlZ2FjeS10cnVuaworNTA4MTYgNjIyODJmZGFhYzVhMGExMzU2NTk1MDJiZjNjMzRiODVmNzQ0MTZmOCBsZWdhY3ktdHJ1bmsKKzUwODE3IDc5MGE3ODJkOTgzY2M3NDQ2NDE4NTQwMjIzMGJjOGViMjE3OWRiOTcgbGVnYWN5LXRydW5rCis1MDgxOSA2NjIxZWRmZDI5NmFiOGRlMTcwZjE2MDk4ODE3MGM2NzA3ZjAyMjdhIGxlZ2FjeS10cnVuaworNTA4MjIgMmQ0YzlhY2NiOGZjYzEzYzQyODZmMTgwOWZmMjA3ZWUxYzNlOTIyNiByZWxlYXNlMjMtbWFpbnQKKzUwODI1IDgzN2Y1Njk1MGNlYThiNzQyYTQ2M2Q3NDY5ODYwMTYzNDkyZmViMmYgbGVnYWN5LXRydW5rCis1MDgyNiBmZjhlN2M0NmU0Mjk4MDFmMDU2ZDExZjBlMzE0YWM3ZTY2YzZmOTY4IGxlZ2FjeS10cnVuaworNTA4MjcgOTUzNzY3NTJlNjdjZjkzYmIxM2Y1NGNmZmIzODJhOTQ5OWRjMTdkZiBiY2Fubm9uLXNhbmRib3hpbmcKKzUwODI4IDkwM2ZkYzM4ZDU2NDVlNGMyZTAxODkyMDBmNWYwNTRjZDk2MTdhNzIgbGVnYWN5LXRydW5rCis1MDgyOSBmOTBmMzI4NjI3NTYxYzVkNjcxYTg0YWUzOGQxMjI2MTlkNmFmMzI0IGxlZ2FjeS10cnVuaworNTA4MzAgYjkxNTFjOGM3OWU4ZjUzZTlkMzM5ZDA1MDQxMDY3NTM2Y2YwMmQyZCBsZWdhY3ktdHJ1bmsKKzUwODMxIDVkMTE2MmU2YmMzN2Y0OGQ1ZjI4ZjliYWFlNGFlZjY2ZTkzYzMyM2EgbGVnYWN5LXRydW5rCis1MDgzMiA0MGU4Y2FlZjg0MGVmMjQ5YjU2NzBjZTA4MWJiMTg5YTRiZGE2YTZmIGxlZ2FjeS10cnVuaworNTA4MzMgMTQ5MDUyOWU3NGNlM2JhYjkyODNiODU1MzNiZDMzYzk2Y2MzYTA2ZCBsZWdhY3ktdHJ1bmsKKzUwODM0IGI1NWJmMmFkZmFlNWU5MTQzYWJiOGM5OWRjNDNkZjgzM2M4NjhlYzQgbGVnYWN5LXRydW5rCis1MDgzNiA1ZjMzMTIwNTRjZWRlNjFlODM1ZTQ4NDEzM2UzZTc5NTU0NGIwN2E4IHJlbGVhc2UyMy1tYWludAorNTA4MzkgY2ZiZjU3NTcyNDU3ZGMwMzVkMDhiMTRhNDc1YmMwMTk0YTIzMWUwOCBsZWdhY3ktdHJ1bmsKKzUwODQwIDZiMjAwYjhjNjNkMzMyNjZjM2NiM2ZiYzc0ZWI5OWU4ZDA5ZjhkYTEgbGVnYWN5LXRydW5rCis1MDg0MSA2ZDE4NGZiOGM1MzUwOThkOTlhMTUzYWZlYTY2ZmYyOTdmOTQ3YjU5IGxlZ2FjeS10cnVuaworNTA4NDIgN2RhNmY4MWFkNGQ1M2U1MjFhOTZjZjU3NTk0ODk2NGM0YjIyYTczNiBsZWdhY3ktdHJ1bmsKKzUwODQzIDE3ZDU2NzFmZmZjY2MzY2E5OGQ4YzZhYzcxYTFjMGUzMmYwNGM0MDYgbGVnYWN5LXRydW5rCis1MDg0NCA5YzZkYzZkMDliMDczNjIzZTMxZjg4MWEzNWYxYWUxYzgxMGNmYTQ2IGxlZ2FjeS10cnVuaworNTA4NDUgOWYzZjFlZGQ5YzM1MDYzOGQxOWQwM2Q5YmY1NTQ1MzEyNzU2M2U2YiBsZWdhY3ktdHJ1bmsKKzUwODQ2IDI2NzA2NTA3NmYwNTlkZWYwNDIwMTVlODVhZmQ0OWU1ZjUwNTg3ZWYgbGVnYWN5LXRydW5rCis1MDg0NyAyNzFiMmJiMmZjOTIzY2YwZGYwMzNhYjVhNTEwYTE1ZGE2YjA5NWM4IGxlZ2FjeS10cnVuaworNTA4NDggZjI5MmEyYjE0YmFmNDgxMmMzNDNhNzlkODk2MWNiYWI5NjUyNDQxNCBsZWdhY3ktdHJ1bmsKKzUwODQ5IGFjZjYwMDQ3MTM2OWY0M2Y0YjNmNzJiMzRlNDhiNDg3N2ZlNjlmYzEgcmVsZWFzZTI0LW1haW50Cis1MDg1MCBmMDhjNWJiYjgwNDIxY2QzNGJlN2IxYjgwZmIyMGVmNmJmY2I5YzM4IGxlZ2FjeS10cnVuaworNTA4NTEgYjgxNjQyZTUyMjg3ZjM2YmY2YTFlMGY5Y2FiMWIxZjUyYzlkNDljNyBsZWdhY3ktdHJ1bmsKKzUwODUyIDFlMDBlZjA3YmViMjcxOTg0ODIzYjhkMmYzNjE4MDRhY2U1ZDM5YzAgbGVnYWN5LXRydW5rCis1MDg1MyAxODVmNDI4M2EzYjljZDRiNjcwZDliMGFiZGYxZjJiYmNjNDE2MmUxIGhveHdvcnRoLXN0ZGxpYl9sb2dnaW5nLXNvYworNTA4NTQgMjljMmZlZTZjOTg0OGU4YTI3Nzg5ZDcxYTcwYmJkNTM0OGQxZTllMiBsZWdhY3ktdHJ1bmsKKzUwODU1IDQwYjQ0NmVkM2YxMjYyZDk2MmUyM2UxYWZjM2MxOWJiYjAwZWUzNDAgbGVnYWN5LXRydW5rCis1MDg1NiA1ZWU2ZDNkYTBlNjQ1NjQ4N2QxMDY4M2JmNzU2OTcxMTI1ODAwNGM3IGxlZ2FjeS10cnVuaworNTA4NTcgYmNlZmJjNWU2NzFhZmQ3YTE2ODQyNWNhZWFkMzJkMDhjZmE3ZWRlNiBsZWdhY3ktdHJ1bmsKKzUwODU4IDBiMGNjN2E0OTY4MmNjMGFmODFlZDRlNDAzZmUyM2Q2YmQxZGI1NzEgbGVnYWN5LXRydW5rCis1MDg1OSBkNzY1Nzc1ZWQ3OWY4NTYzYTE5OTU1Y2Y4ZTViMDVhYTg5NTdlZjg1IGxlZ2FjeS10cnVuaworNTA4NjAgOGNhMzA2OGVhMzQzYTI0YWU3M2FhYjBmNDE0MTBhNTEwOGNmNDMwZSBsZWdhY3ktdHJ1bmsKKzUwODYxIDAyNWMyN2I4MTJmNjhjNDI0YTY2ZWJiNjhiMTgxZGRiNDI5ODcwZWQgbGVnYWN5LXRydW5rCis1MDg2MiBiMDExYmVjZjhjODIyYzJiYjU2NTRjOTkxZDdhNzZkMjAwMWVkMjE4IGxlZ2FjeS10cnVuaworNTA4NjMgYzE4YTY2OTRhMDY2YzdlOTVkMTVjNjdhYWM1YjRmNjY2OWQwN2VjOCBsZWdhY3ktdHJ1bmsKKzUwODY0IDAwYWNlNmU0MDhiMDM3MWEwZjIyNTg4MTU3MDRjNjBmZjkyNGMyNTIgbGVnYWN5LXRydW5rCis1MDg2NSBhMTEwYTQ0NjIxODlhMjAwMDJiOGQ4ZDRmMDc0MmU2NTRhZjRjNzBhIGxlZ2FjeS10cnVuaworNTA4NjYgNjFjMGZlNDgzNzZhMTJkOGEzM2M1YjY0MzVlMWZjNWMxOTU0YmIyOCBsZWdhY3ktdHJ1bmsKKzUwODY3IDYwNTIyZGZlNjI1OTkwYjA0NWE0MGE0MTEwMDdkOTg5Y2UwMzA1OGYgbGVnYWN5LXRydW5rCis1MDg2OCA3MmE1MmU2ZmM2ZjEwZTUzZjUwYjZmMTIxZjIwNjQyNTMwNDQ4MTM3IGxlZ2FjeS10cnVuaworNTA4NjkgODc5YmQ3NTEwZmVhMDBkMjEyNjk3YmFlMjJjMzk3NWM4NmE4YmYwMSBsZWdhY3ktdHJ1bmsKKzUwODcwIDZiM2Q0YTBmMmFjNTkxNTc4MDc0ZDVmZDM3ODRlYjQyZTY4Nzc5NDQgbGVnYWN5LXRydW5rCis1MDg3MSBjNGE3NTQ2YTUwOWYxNzRjMzg4ZGU0MzQ1NmMzZWJjMDZkMGU4NmUyIHJlbGVhc2UyNC1tYWludAorNTA4NzIgY2U0ZGZmMmE5NTIzODAwY2I2NTA3MTQyZWIwOTljZmE2NDg2MmNkMSBsZWdhY3ktdHJ1bmsKKzUwODczIGVlYTY3NDIxMWQzMmJjMWQ1NjNlMDJkMmVmZGQ5OTNlMzk2Mjc0YjEgbGVnYWN5LXRydW5rCis1MDg3NCAwZDBkODJlNDBiOTI3ZTUzZGFiODYzZWY2MDRkYjJhNWM1NTE1ZDg5IGxlZ2FjeS10cnVuaworNTA4NzUgYzZkNGMwYWYyYTEyMjI2OWExOTEwZDRhYjFhNTMzYWIwZmZiZDZkMSBsZWdhY3ktdHJ1bmsKKzUwODc2IGFjMDFiNjM1OWI2MjE1ODhjZDhmYjNjNGY3MzFkM2FkNjk2YTgyMDggbGVnYWN5LXRydW5rCis1MDg3NyBiMGNkY2JjYzVmNDU3OGRiNjRlNGM3MTAzODA0YTZlNGRiODUxMWZlIHAzeWsKKzUwODc4IGE3NTMwMDM2ZjA1NWNiZDg0MjE4MDM5MTk2NmZhMTZhNjJmNjliMDkgbGVnYWN5LXRydW5rCis1MDg3OSBlMTlkYTliMDAyZGEzMWM2MmYxODgzYWRhMTJkNmE0NTNlZDk2ZWUzIGxlZ2FjeS10cnVuaworNTA4ODAgNmViMzc1N2MyYzk5MWQzNjg5ZWI1ODc0N2IzM2E2ODIxZGVmOTNmMiBsZWdhY3ktdHJ1bmsKKzUwODgxIDI4Y2RkNDNlMDU2OTAyY2ZmYjdjMGMwMmVjNmNlNjJjYzQ2MjdlZTUgbGVnYWN5LXRydW5rCis1MDg4MiAwNzgxNzJlZWFhZTUzZDYxNDEyMzA3NDA4NDg0YmE5ODFhMmJkMmUzIGxlZ2FjeS10cnVuaworNTA4ODMgMGIzZmQwNGNkZmI0ODg1YzczNjk1ZDQ2NzFlYWFhYTI2NjMwZGM3YSBsZWdhY3ktdHJ1bmsKKzUwODg0IDExMmYyMTg4MjEzYjI0Y2IyMzc3YTBkZTJlMGNhZmRmZTUyY2NiZmUgbGVnYWN5LXRydW5rCis1MDg4NSA0MGNlYmFmYWU1NmZmNjAzZjgxY2RkOWUwZTJlMjUyYTFmNzRjNmI3IGxlZ2FjeS10cnVuaworNTA4ODYgMzUwNDNmYmE3YWVkODAxY2RkYTUzYThkMjcwYjcyOGYzODAzMmZmNSByZWxlYXNlMjQtbWFpbnQKKzUwODg3IGNkOGYyMGQ0MDBjMWM2NWEzMzBkNzNlNGNmNDk3YmE0ZDYwYmQyYmEgbGVnYWN5LXRydW5rCis1MDg4OCBlZjFlN2YzZDlmOWQ4MmVjOWNkZGI3NTlkZDAzOGZhYWQzN2IyYWVlIGxlZ2FjeS10cnVuaworNTA4ODkgNjFjOGI0MTA0YWVmYWVhNTIxMWY2ZjljZjBjODU0MWU4N2VjNGVhOSBsZWdhY3ktdHJ1bmsKKzUwODkwIDc1NDMxYjBiZmIwZTcyMTNiMGIzNGIwOTYwZmVlMDkzYTYzNDE3N2YgcmVsZWFzZTI0LW1haW50Cis1MDg5MSBiOWYzNTNjMmMwMjNlNWI5ODYzMzJkNzg2OGVkNmFjYzMyMDUwOWFmIGJjYW5ub24tc2FuZGJveGluZworNTA4OTIgNjk3YWUzNjJlZDAyNDE1MmExMDg3ODNjNjM5NjdlYTAwMTE3ZDcxNCBiY2Fubm9uLXNhbmRib3hpbmcKKzUwODkzIDQyNzZkMGI0NjlhZmZmMjRmMmI3ZTI3MTAxZTA2ZThiNWY3MmJkYmMgcmVsZWFzZTI0LW1haW50Cis1MDg5NCAyNzdkN2FmNTVjNDk0NWE3ODBhYjM4NGQ3NmVmMjNhYmU3NDUzZjc5IHJlbGVhc2UyNC1tYWludAorNTA4OTUgNGE2YWRlOWNlNzgwZGI5MDU1N2EzNmExY2Q5YzA1Mjk2ZTU0ZTQzNSBsZWdhY3ktdHJ1bmsKKzUwODk2IDU1ODY1ZDdiYzZlYTQ5MTQ0NWFjYWE1MzExYmUxOTlhNThmMWVmYzcgbGVnYWN5LXRydW5rCis1MDg5NyBiZjE5ODRjMTNlMmY3OTg2NDQ2NDlkZmNjMDgwZTgxODAxYTBkNjEzIGxlZ2FjeS10cnVuaworNTA4OTggNmRhY2RjMWEwMDU0ZmE5MzY5YzczYTk1OGY1OTEyYTJlYmM4NjY5YiBsZWdhY3ktdHJ1bmsKKzUwODk5IDBlOWEyNjlhMjE4OTBiMTAwNWU4YjgwOTBkYzY3NmYxNzYwYTEyOGQgbGVnYWN5LXRydW5rCis1MDkwMCBkMTY2NGE1MDFkYTVjYmRlMGUwMDEwN2U4ZmZjOTk2MWU4YWJkYTM2IGxlZ2FjeS10cnVuaworNTA5MDEgMGRlOWQ3MTQ0NGY2Mjk2ZWI1ODQwMDcxNjE2MGExNDYzYTNlNWQ3NiBsZWdhY3ktdHJ1bmsKKzUwOTAyIGE5YjJmZDJkNGM5NjE3Y2E1NDM0MDk3M2U5MjI0NjFhNjYzZTQ4NzggbGVnYWN5LXRydW5rCis1MDkwMyBjODM0Y2I5NTYzN2FjZGIxN2QyM2RkMTZkNmFhYzMyZGE2YTBkNTRlIGxlZ2FjeS10cnVuaworNTA5MDQgYzNiYjRiMjNlYjliM2ZiYWNhMjYyYzlmODFlYzA5ZmNhZjY5MjA4ZSBsZWdhY3ktdHJ1bmsKKzUwOTA1IDQwNmMxZWZlN2JlZWQzNDY5ZjY5MWU2OWIxM2NjOWJjMzNkYjcwNTUgbGVnYWN5LXRydW5rCis1MDkwNyAwNGRmMGE5NzIxYjJjNzRjYmYzMDE0MjVjNjIxZWI5NTNmNDIzMmY3IGJjYW5ub24tc2FuZGJveGluZworNTA5MDggMWI1OTdjODAxNTcyMjJjNDMyOTEwOGQ0YzczNDhmZjQ3NDA0NGI5ZiBiY2Fubm9uLXNhbmRib3hpbmcKKzUwOTA5IDlmZGM2ODQxYzNlYjY5YzcyZWExN2ZiMzRhMDFjNTQzZjIzZmEwMWEgYmNhbm5vbi1zYW5kYm94aW5nCis1MDkxMCAzMDhiYTY0MzE3M2EwMDRmM2ZiY2I5ZGE0YTU2YmIyMzI4Mzc4NDNhIGJjYW5ub24tc2FuZGJveGluZworNTA5MTEgZWM1MTZiYWY4YTMwYzVkNTljMjVhMjFlMmQ4MmI2NDRhMzk2NTQ2MyByZWxlYXNlMjQtbWFpbnQKKzUwOTEyIGYzZDU0MDc1MWFkZTA3ZGQ5OGNhYjEwODYzZWNkMmZkYWI3MTE3MTUgbGVnYWN5LXRydW5rCis1MDkxMyBjNGFjNmVhNDk3YTEwNWVkMzU0NDNlNGU2YTI0Mjc2YzY5ZDkzYjk2IGxlZ2FjeS10cnVuaworNTA5MTQgODdjOWUzMzFkNWM4ZDYxMTJjODEzZGU4MWEzZGY2NGFiZDg1ZjI2NyBiY2Fubm9uLXNhbmRib3hpbmcKKzUwOTE1IDZiOTZkOGM5MjNiZWM1YjE1ZWE0ODUwYjEzMzcyOWI4MTVkNGJmODQgbGVnYWN5LXRydW5rCis1MDkxNiAzZjQ0ODViMjBlNzk5ZThjYWUyN2EwZjdhYTgyY2MyNzUwOTQ4OGE0IGxlZ2FjeS10cnVuaworNTA5MTcgNWU4NWVlZTMzNTgyOGQ4MzVkOGE4MDQ5NTQ3OTUzYmVkZDhlMGM4MSBsZWdhY3ktdHJ1bmsKKzUwOTE4IDEyY2ZhMWJjZjg0M2Q3NGJjYmUxM2U4NDI1MjcxZTNmNGIzZmQxMWYgbGVnYWN5LXRydW5rCis1MDkxOSA4YjljY2Q1ZDkzMWUwZjI0MzdiNWFmMzQzNDdlZTA0MGM2YjQ2MTk4IGJjYW5ub24tc2FuZGJveGluZworNTA5MjAgOTI1YWI0NzgyOTk0MjQ5NzA5NzNlMjk2ZmQyNjk1NDM5ZDllMmIyNCBiY2Fubm9uLXNhbmRib3hpbmcKKzUwOTIyIGE1NGFlMjU4M2I3MDEwMGNhMjA4ZmUxMTM1ZTZiNzgzN2U1MDBiZWEgbGVnYWN5LXRydW5rCis1MDkyMyBlNzk1ZTA1ZDZkNTY1YzYyYjkzMmEzN2MwMmI2NzI4NWYyODljMDA5IHJlbGVhc2UyNC1tYWludAorNTA5MjQgNmM4YmM3Y2Q3MmE2YzlmYzdmNDgxZTAzYzAzZmVlMGE2MWU5YTIzZCBsZWdhY3ktdHJ1bmsKKzUwOTI1IGZiNmJjY2ZmYmUzMTBhNGIwODgyNjBmZGMzMmRjNDcwY2M3YmFiZDkgbGVnYWN5LXRydW5rCis1MDkyNiBjZGI0Nzg3MjI2YWYzYjU1MzEwYWU4MDVhOTQ5Y2YzMThhMzA1MTE1IGxlZ2FjeS10cnVuaworNTA5MjcgZDQ1MzQ0MGIzM2M2ZTUxNzMzZjFkM2ZiMmJiYWEwMGZhNTU2YTk0MyBsZWdhY3ktdHJ1bmsKKzUwOTI4IDFmYWQ0ZjNlMzZiYTRmYjA0NDM5ZDQ2OWNmMWI1NDE4YTcxZTdjZWMgbGVnYWN5LXRydW5rCis1MDkyOSBhYjM0OTVkZjRjY2VjYmE2ZTFkNjI4ZmQ3YThjNzNmYTQwNzBlMDZlIHJlbGVhc2UyNC1tYWludAorNTA5MzAgYmQyNmExOTUzYzA1YmUyZWFmZDNhNmRlNTZkNjgzODA3OTRiYWY4NSBsZWdhY3ktdHJ1bmsKKzUwOTMxIGE5OTVjZmY4NDNiMzQwZTFmNWFiOGM5NzdkMjI0ZmFmYzBjYzhiMTMgbGVnYWN5LXRydW5rCis1MDkzMiAzZmVkN2ZiNmJjOTY0NDkzOWNkN2VmM2MwMTcyNjE2YTRhNTBlMjQ1IGxlZ2FjeS10cnVuaworNTA5MzMgNWYyMTU0M2MzM2RjNGVjYTdhZTNlYTI1MzFlNzQ2ZmJiMDkxZmQ5NiBsZWdhY3ktdHJ1bmsKKzUwOTM0IDJmM2Q4NzFiZjZlZjIyZjM5YTI1N2M2NjY5MzRiODczZTQ1Y2RjYzggbGVnYWN5LXRydW5rCis1MDkzNSA2ZmY3MmFkOTNhZDJiYTYxN2M1MTUxZjE0ZTFlMTg0Y2E1YjRjYjljIGxlZ2FjeS10cnVuaworNTA5MzYgMWM5NGY2NjIzNzc3OWI1NmJhYTk3MWUxNzFmZmQ1YTBlYmJkMTI4OCBsZWdhY3ktdHJ1bmsKKzUwOTM3IDZhODk5NWMyZThiYzk5MWQxOGNhY2MzNDA2MDIyMWYyNDM4NjBiMWYgbGVnYWN5LXRydW5rCis1MDkzOCAwNjkxZDkwMWQ4OWNiZjNiYWMwZDUzYmE1ODcxZmFmN2QyNDg2ZDIyIGxlZ2FjeS10cnVuaworNTA5MzkgMGFiYTZiMWY1YTAxYzNiZGY1ZGYxZGExMmI0M2JiNWRlMTc3YjNjMCBsZWdhY3ktdHJ1bmsKKzUwOTQwIDFhMjIyZjExMGFhYWY5OWRkMTIxODI1ODg1NjRlMTFlMTE1MjU5MTMgbGVnYWN5LXRydW5rCis1MDk0MSBjYjFlNDMyYjQ5MTlmMTA2NDQwNmE2OGM4ZWYxNjA4MzU4YmQ2NTI0IGxlZ2FjeS10cnVuaworNTA5NDIgNGRkNTJiYTUyZGU4M2VlMTNjMzNlZTc3NGVhMTJmZDQ3NjU1OWE2NSBsZWdhY3ktdHJ1bmsKKzUwOTQzIDNhMmQzZWRhM2UxNmU1ZDRkOTZkOGZhNWQ1NTdmNDEwN2JjYmNmMDEgbGVnYWN5LXRydW5rCis1MDk0NCAzNDk4M2MwYjI2YmMyOTI2NjI5ZTIxMjY3NGM4OGYyNjFmODQxMDdkIGxlZ2FjeS10cnVuaworNTA5NDUgODA2OWQ3M2FjYmRmOGI1ZTlkM2I4N2M2YWU5MjFhYjVmOGIwYjlkNyBsZWdhY3ktdHJ1bmsKKzUwOTQ3IDM1NTgzZjU1YzVhOGE1NWEwNjdhMWJlMWNmYjQwZWYxYWU0ZDI2NGYgbGVnYWN5LXRydW5rCis1MDk0OCA3MjgxNDI5YTAxZDY3ZDRiYjcwOTg2ZjJlNTc3MTk1ZDZiYzQzMmY0IGxlZ2FjeS10cnVuaworNTA5NDkgMzRjMjBkM2YyNTEwNjQwNzNkZmQ2ZWIzZDI5MDMyOWI3ODE0YTAxMiBsZWdhY3ktdHJ1bmsKKzUwOTUwIDg4ZGI2MDJmMjNhNmQxZTVkNDVhODQxMjQwM2MwYWU5YzU1Nzk1OTQgbGVnYWN5LXRydW5rCis1MDk1MSA0NWEzNTRmNzRkODBkNjU0MDlhMGRmMmE1YTJhNTkyYjZiZGI0NDZkIHJlbGVhc2UyNC1tYWludAorNTA5NTIgNGRiOWQ5NTMzYjE2M2QxNzljMDk5OWMwYjRiZTY3YjU3OTFmNmI1MyBsZWdhY3ktdHJ1bmsKKzUwOTUzIGQ4ODg4YzhiODcyYjEzYTczNzRkNDYzYTM2Njg4NzBkZGNjZmFmMTUgbGVnYWN5LXRydW5rCis1MDk1NCA2YTVmNzlhNGU2ODczM2UxMzZmMTI1NmMwYzFiOTExNzI1ZjhmZjU2IGxlZ2FjeS10cnVuaworNTA5NTUgNWFkNmUyYTcyYjJhYzJhMTQyMzk3ZjQyMzU5YzFlNWZjOWE4MTE5MCBsZWdhY3ktdHJ1bmsKKzUwOTU3IDZkMWY2NzNmMDU5MDdjNjgzYjcxOTQ2ZjcwYzFhYTBlNTI0NzQ0NTggbGVnYWN5LXRydW5rCis1MDk1OCA4MDU1MTJjZjE0ZWZjYTY1ZWQ4Y2JiZTBhYTBjOTJmYjEzZjFmOWU0IGxlZ2FjeS10cnVuaworNTA5NTkgNDQwN2U1MTkzYTRiMGM5MTcyODVmMjJmY2MwODQ3ZWM4ZTA2YzRjNCBsZWdhY3ktdHJ1bmsKKzUwOTYwIDRlM2FkNjVmNTVlOGVlMjdjZWEwMTIxYmJkYTk2NGVjYWQyYjNjNDUgbGVnYWN5LXRydW5rCis1MDk2MSBlZmJhZWM5Njc0ZGZkMWY5OThkMDY1NjM0MzIyYzdmMWFhZTg5ZTFhIGxlZ2FjeS10cnVuaworNTA5NjIgZGQ1MWU1NmI2Y2IwYTVkMjllODk3YmJjMjVhMDBlMzE2NDlkNDlkZSBsZWdhY3ktdHJ1bmsKKzUwOTYzIDE1MjNjMzhjZDUwNWZmMjE5MjJiNmY4YjQ3ZGUxZDNkNzAwZmYyNjkgbGVnYWN5LXRydW5rCis1MDk2NCAzODhiN2Q5MGJiODk2M2U5N2U0YmRjZWIxZTZkMTg3NGZiMmQ4ODNkIGxlZ2FjeS10cnVuaworNTA5NjUgZjY5ZDkxYTdjZjcxNDg5NGVkZDA0NmVlNTdlMzE0MjA2Y2EzYTc4NSBsZWdhY3ktdHJ1bmsKKzUwOTY2IDc3ZjM2NTNiZmMxNDgzZjc0MGIxMjBjNzc5YThlM2ZlM2FkYjYxYjggbGVnYWN5LXRydW5rCis1MDk2NyBhZWU5ZjBkNWZkMmIxNjcyNDUzYWRlZTlkZTUyMGI2M2M3M2I2Y2M4IGxlZ2FjeS10cnVuaworNTA5NjggYjc0NWIzZmQ2NmE2NDlhNWZhNTQwYmRmNDc5NzFjMjZhZjBhOTU5ZSBsZWdhY3ktdHJ1bmsKKzUwOTY5IDdkYzVmM2VkZTRjZGM2MmJmZWZiMWQ3MGJkMGJhZWJjZDk3NTgzNjQgbGVnYWN5LXRydW5rCis1MDk3MCAwNDFlYjYyMzFjZGMyNDE2ZDliOTVkMDY1YTgyZWNiMWExNDc1NTUyIGxlZ2FjeS10cnVuaworNTA5NzEgMWI0ZTVlYjIxMDQ5ZmI1ZTU5YTNiMjQ0NjhiYzhkYzg5NzAyMGE5OSBsZWdhY3ktdHJ1bmsKKzUwOTczIGNlYmVlMWY4NTIyMjE5MTFhZGIwYmIwOTU2YjE5NzU4ZDRmYWM2MmMgbGVnYWN5LXRydW5rCis1MDk3NCAxZWI5MjE1NjQxYTg4NDRlYTY0MmMxNDc3OGNkMzAzMDVkM2UzMmI5IGxlZ2FjeS10cnVuaworNTA5NzUgMjE2ODc3Yjg2YmMyODY1Zjc1YWYxYTM5NTNlYzk4OGNjNTIyOTU4NSByZWxlYXNlMjQtbWFpbnQKKzUwOTc3IDkzNzdjNjYwNDU0MmNlNmVhYmY1ZDBlNjJjZDQ0MzVkZTZkMWVjOWUgbGVnYWN5LXRydW5rCis1MDk3OCAzNjFlZjdjZWVmMjhkOWY2M2ViM2U1YzdlNTU3NTgzZjBhMTM1NDNkIGxlZ2FjeS10cnVuaworNTA5NzkgYmRlNThhNzhmYzcxMmUyYTk3MjVkNDc0NTgxYzE0YzliMzBhMWUzNyBsZWdhY3ktdHJ1bmsKKzUwOTgwIGQ5M2EwNDM0MGU2YmJhNTc0N2VmMGIyZmYwOTk4MDUxZTZmYzkxZTMgcmVsZWFzZTI0LW1haW50Cis1MDk4MSA2NWU3YjQyMjM0NDRmMzZjODY3ZDk3MDEyYzQwZTk0ZDRlMzJmMTMxIHJlbGVhc2UyNC1tYWludAorNTA5ODIgOWI5NTgwOTgyMDM1NWI2ZjFlNDg3NDcxYmNlMWViOTA0ZDc0MDcwYSBsZWdhY3ktdHJ1bmsKKzUwOTgzIGM5OGEyMzUyOTgzYTQ5NmQxNGE5OGQwOTkzMGU2NGUxZmY3MTUzZmIgcmVsZWFzZTI0LW1haW50Cis1MDk4NCAyOWM3NjM1ZDAxOTlhYzViZTJjOTc5OTQyZWUxMDJiMDljYjI0NmUxIGxlZ2FjeS10cnVuaworNTA5ODUgN2Y0NGQ2MzRmMzc3YmQ2ODliMzlkZDRmYjJhZmJmZThkZmUwOTJjOSBsZWdhY3ktdHJ1bmsKKzUwOTg2IDRhZWQ0MzY3YWRkMjdjZWViZmJkZDdkODUzZjJiMDI1MGMwNmE5OTIgbGVnYWN5LXRydW5rCis1MDk4NyBkMGU2MTcwNzA0ZGVlODUwOTYwMTRiMzM3ZWQwNDFkMzJjYjMxYWFmIGxlZ2FjeS10cnVuaworNTA5ODggYzg3YTM5NTFkZmM1MGFhMDcxOGJmZDhlMjBiMDljNjY5MWYxZDUwOSBsZWdhY3ktdHJ1bmsKKzUwOTg5IDRlZDVkNGM4ZTY1NDI0ZjRhODExYTA1N2FhNTc3MDFmMmQ5ZWUwYTMgbGVnYWN5LXRydW5rCis1MDk5MCAzOTVkMTVlODM3NGE3MGEwNmE0NmRjNDc4MzI4MGQzM2MwODUzZTJlIGxlZ2FjeS10cnVuaworNTA5OTEgYWVjNjY2OGM1OGQxZTFmODkwMmZlODVkNTIwNjcyMjFkOWM5ZWI1MiByZWxlYXNlMjQtbWFpbnQKKzUwOTkyIGNmMDQ2ZTIyZDdkZDU5YzRjYTMyZDI0NzM0M2Q2OGJkMTAxYTJmYmQgbGVnYWN5LXRydW5rCis1MDk5MyA5MzBiYjFlYjhkZDVkMWNhYzUyOTc0MTUzNDg4MTRiZjc0N2Q4NTIwIGxlZ2FjeS10cnVuaworNTA5OTQgM2RkNDEwMWNiN2U5Nzc5ZmZmNDQ1MjNjN2JhOWFkYTZjYzc1OWI4YyBsZWdhY3ktdHJ1bmsKKzUwOTk2IGY3ZjEwYThiOTZlZTdkNjAxNGY3NjQ4N2RkN2UwMzk1Y2U1MDM3ZjUgbGVnYWN5LXRydW5rCis1MDk5NyA3ZjA0NzkzZmUxMzVlNWU4ODQ5NTdhNTc0ZjQ1ZTI1YTMzODQyOTkxIGxlZ2FjeS10cnVuaworNTA5OTggOTEwMTUxNTI0ZjVlZWIwZDMxNTExM2NhZjVjYTAxMGU2OGFhYjM1YSBsZWdhY3ktdHJ1bmsKKzUwOTk5IDY2MjgxNDg4ZTkwMjNhODIyZDY5N2FmOTVhNzllZWMyZWQ3MDIzODEgbGVnYWN5LXRydW5rCis1MTAwMCBiNzliNjhiODJhNDQ1YzMzMTFlMjU5MjBjODc1NTc3ZDhmNDlkNTQxIGxlZ2FjeS10cnVuaworNTEwMDEgODZlODFkZWZjMjg1NmU2MDIwODEwZjU4ZWU3NzQyN2EwZGU4YmQ5ZiBsZWdhY3ktdHJ1bmsKKzUxMDAyIDNiNzg5NTdjNzc5MTk5ODRiMDEzYmI5NmRiODA1MzU4NTEzOGFjMWIgbGVnYWN5LXRydW5rCis1MTAwMyBmM2UwODkxNWI4N2I0NDM1NjFiM2MzM2IxNDFhNjU0Y2QxOGNhMWYzIGxlZ2FjeS10cnVuaworNTEwMDQgODZjMzYxOGE0OWMzZjNhNTkyNDU4ZjVlZTliODQ3M2NkMWU5OTg1ZSBsZWdhY3ktdHJ1bmsKKzUxMDA1IDQ5NjZiMTc5NjNiNDFlN2U3ZTYwNjFlNGRlZTZlNDVkMGNhYTA0OWEgbGVnYWN5LXRydW5rCis1MTAwNiAzZGU4YTU4YWUwYjllOGUxMmRlZTI0MTNhYjRiNmZkYjk1ZWYzZDI4IGxlZ2FjeS10cnVuaworNTEwMDcgMzkzOGU2ZWZhNzkzZDZiMzE3NmU2NWMwMzg3MzAyM2U0MzQ3YzgyMyBsZWdhY3ktdHJ1bmsKKzUxMDA4IDMxNWE2NmQyMjQ3YTc5MWQzYjBjZjQwYTczMjU0NDI1NDUwODE4MzMgbGVnYWN5LXRydW5rCis1MTAwOSBmZjIyM2I5NWYyMDdlMDlkMzNiYzUwOGQ2ZTI0ZTRkYTJmYzg4MDNlIGJjYW5ub24tc2FuZGJveGluZworNTEwMTAgOWQ3YzQ1ZDBkMWJmN2VjMzY5ZmU3ODNjMTQ3Yjk5YTJjMmFkMDI5NyBiY2Fubm9uLXNhbmRib3hpbmcKKzUxMDExIGVlMmQ0NmFjMmY2ZTdiNWI5ZjE2ZTQ3Nzc3NTlkOWY4OTNhMzYwNDYgYmNhbm5vbi1zYW5kYm94aW5nCis1MTAxMiAxYzBjMTI4MzhlNjI1M2VkZjE1MTE4ODA4MWQzMTIyOTZlYjNmZWY4IGJjYW5ub24tc2FuZGJveGluZworNTEwMTMgODJiNjc1N2ZmZmY0NzZiNTYxNDU3NWU2MmYyZTliNGI3NDI1OTFiNiBsZWdhY3ktdHJ1bmsKKzUxMDE4IDkxY2E2ZWVhZWI0YWNjNTY0ZTBmYWFjMzllYTEwYjI3MzNiNGU1YjEgbGVnYWN5LXRydW5rCis1MTAyMCBkMzlhZWU2Y2RkMzJjZmFiZDFjYmRlYTJiNjE3N2UyZjFkNmRiYjc4IGxlZ2FjeS10cnVuaworNTEwMjEgNTNkMDU1MmE3YThjNTA3MTUxM2JiMTA2NzVlOTIwOTZhYzQ2YTUwZiBsZWdhY3ktdHJ1bmsKKzUxMDIyIDI5MTVjMDcyOWYwYThjZTZkMzE4YjMxMzk1NmMxZjUyYzRiY2IwMGYgYmNhbm5vbi1zYW5kYm94aW5nCis1MTAyMyA3ZTAzMTgzZWI3YTUyYTFjOTRiMGRjNTc1NDc4ZmUwNTBkOGFkODA2IGxlZ2FjeS10cnVuaworNTEwMjUgMTU2N2MwMWNjYTczZjlmNjg0ZTNiZjY2MGZiOWE5YjM2NmU0YTUxOCBsZWdhY3ktdHJ1bmsKKzUxMDI2IDQ2Mzc3YjA1ZTE4MTU4OTE1YjY0Nzg1ZTFhMGU3OTZjZDZhODFkN2UgYmNhbm5vbi1zYW5kYm94aW5nCis1MTAyNyAyZjIyMWJkZDlmNDRiOGY4YzkxMzdjNzAyZTYxMzRiNTliZjQ5ODFjIGxlZ2FjeS10cnVuaworNTEwMjggMjMyZDE1NmJlYjgyZmM2YWQ0MmUyODkzMDhlMGU3NmFmZjU5NWMzNyBsZWdhY3ktdHJ1bmsKKzUxMDI5IGQyMGI5YTJkOGVlNzMwMjA0YmEyYWRhN2YxNGQ5ZGZmZGVhZWEzOTEgYmNhbm5vbi1zYW5kYm94aW5nCis1MTAzMCBjZDgyZWJmYzY2YWZkNDY0Zjc0ZWZlMjJiODNiYjJhZWE4NWRhN2EzIGJjYW5ub24tc2FuZGJveGluZworNTEwMzEgYmQ1MGE0MmI3ZGYwZDBhNmVkZjEyNTFiMjczODJhYmVlMjdlMzZlNyBsZWdhY3ktdHJ1bmsKKzUxMDMyIDRmMTVhYmIxMjBkYzUxNjMyMzg1YjBlZDAyMTAxYzIxMTJlM2NmYmUgbGVnYWN5LXRydW5rCis1MTAzMyA3ZDZiOTcxNTgxODA1YTc1MGJlZjRmNWI0NTkyNTk5MDZkYjQ1ZDAwIGxlZ2FjeS10cnVuaworNTEwMzQgZmEyZGFjMzkyNmZmYzE1OWRhMTM5NmQwYTgwODA1MGU0YjBlMDgzYiBsZWdhY3ktdHJ1bmsKKzUxMDM1IDU5NzYyZTc5NjI4MTJmYTc4NjRlZDk0MjFmZWQ1MmE3YmEyNWVjOWMgbGVnYWN5LXRydW5rCis1MTAzNiAxMmZmZWQ5MjdhM2Q0NWQxOTUwYWRjNTBiNjlmZmI2NjA0NWMxNWQ2IGxlZ2FjeS10cnVuaworNTEwMzcgMzQ0MzY0YjQ5MjA4NTY4ODY5MzZlMWVhNWY4ZjRmOTAzZmYxZDU0ZSBsZWdhY3ktdHJ1bmsKKzUxMDM4IDAwMzUwY2JlMGE5ZTk0ODdjYjZmNjU4MDVhZjVkODllYjU2ODIxYzEgbGVnYWN5LXRydW5rCis1MTAzOSA4NWZkY2RmY2E4NWMxY2JhMWI5N2JlYzZmZTJjZmY4ZjI1YTMyOGM2IGxlZ2FjeS10cnVuaworNTEwNDAgNWY5ZmEwYjg2M2FlZTgwZjk5MjNmZWY1ZTA4ZTE0M2U0NjdiYTI4YyBsZWdhY3ktdHJ1bmsKKzUxMDQxIDhiOTMxNzRkNTAxYTRjYjliNGUwZGQ4MDFjMzdhNDAwNjg3ODUwYzEgbGVnYWN5LXRydW5rCis1MTA0MyAxZWFkNDEyMjFiZDg4MGVjMTlhZDEyNTliMjlmM2EwNTZhNGQ3ZDJiIGxlZ2FjeS10cnVuaworNTEwNDUgY2UxMGUzY2M3YWViZTg5ZjI0Yjc0NzhhNTA4YjcwOGMzNjAxMTc5ZiBsZWdhY3ktdHJ1bmsKKzUxMDQ2IDgyZjU2MjA3NjUyZjY5Y2FiMmE5YzIzMDY1NTY3ZWM0MDcxZWM0ZDggbGVnYWN5LXRydW5rCis1MTA0OSBjMGFiYjE4Mjk5YjQ0MmUxMTYwZDJmOTU4YmNlMThmNjY4NTBjYWE5IGxlZ2FjeS10cnVuaworNTEwNjUgY2RjZjJiY2FkNjI0ZWE4YmFjNjM2NTYzZGZiODE5MzAwNDc0MGE3YSBiY2Fubm9uLXNhbmRib3hpbmcKKzUxMDY2IGMzODk4YTczYjM4NjA3ODc1MTM3ZjNmMzdkYTlkNzFiYmQ3Mjg4OGYgbGVnYWN5LXRydW5rCis1MTA3OSBlYzRmMzVkMmE2OTNjZTE5NTAyZjA2ZDZhYjRmNGM1YjVkMThmZWYzIGxlZ2FjeS10cnVuaworNTEwODAgYjkwYThiMDM5NWJkNDNmZDE5Mzg0MjQ1MWQwYzQ5NTczYjRkNzE2NiBsZWdhY3ktdHJ1bmsKKzUxMDgxIDhlZjNmOGNmOTBlMTIxYTBiNDBhMGUzZmI3YzMwODZiYzBhOTE0NDAgbGVnYWN5LXRydW5rCis1MTA4MiA3NWJmNzczNjdkYTMyMGIxMjU5Mzk4OWZlOTFlYmVjZjdlYmIyNGQ5IGxlZ2FjeS10cnVuaworNTEwODMgODI5NmZiOTZjYzE4NGY2NGEwMDdmYTQ1ZjU2ZjgwZWI3Nzk3MTgwZCByZWxlYXNlMjQtbWFpbnQKKzUxMDg0IDU1ZjgzMDE4MzUzMjZlNmNiYWJmZjJhOGY4Nzc3MzM5YzBhMjAxNTcgbGVnYWN5LXRydW5rCis1MTA4NSA4NDk3NGM2NzY5MDMxZDBmNTdhZmNlNTgxODdmNzI1YjdiODQ0MGFhIGxlZ2FjeS10cnVuaworNTEwODcgNzdjZjE4YjhiMWNlMTMzMDBkYzlkMWY4NzRjNThmMDQ3NzNlYjM0YyBsZWdhY3ktdHJ1bmsKKzUxMTA0IDEwMDRhMTZiMGYwOTFiYjc4M2YyODQxOTUxOTEyYjBmYmVmYTdjYTQgaG94d29ydGgtc3RkbGliX2xvZ2dpbmctc29jCis1MTEwOSBlYjIzZDA5NmQ2OTQ2ODk1MTk0NzZmNmFjY2NhOGFiNmQxMjAyM2ZlIGxlZ2FjeS10cnVuaworNTExMTAgYTljNzQyZDZjODg4ZWUzMzUzMWJhZGJmZWU5ZmQ0ZDczMTcxZjEyYyBsZWdhY3ktdHJ1bmsKKzUxMTExIDAyMzgxNjZmMDdiNzAzNWRjNjZhMjQwZjEyM2I2NzVkNmQ1M2FkMzMgbGVnYWN5LXRydW5rCis1MTExMiA0MDU4NWZiMzg3YmJhYTgyMzk5MDRhNjI3YTNhZjU0OWRlNWU4NmE1IGxlZ2FjeS10cnVuaworNTExMTMgNDY1YTA3OGQyY2E2YjdhMzZkODkxM2YzNDQ4MDMyNjI4NGY3ZmYzMiBsZWdhY3ktdHJ1bmsKKzUxMTE0IGFhMGNjNzU1MDc0ZWI4OTEwMWMzNmQ1YTUwMDRhN2MwNDY0MzZhN2IgbGVnYWN5LXRydW5rCis1MTExNSBlZmE4MDYzMzMwOWRhODc0NWMyM2RiY2M2Yzc2MzEzYmE0YzQ5NzEzIGxlZ2FjeS10cnVuaworNTExMTYgNjU2N2MzMmFiODgxNTUwZTBlMGMxNTIzYjJkMGJkZTU5ZDM0MjZlZCBsZWdhY3ktdHJ1bmsKKzUxMTE3IDk5OWE0OTE0ZDUzY2I0MWY3ZGRmZjM0MGJlOTBlZjYxNWM2YzMzZWYgcmVsZWFzZTI0LW1haW50Cis1MTExOCBmZjRiMTU3ODAzOTY4MzNmNWE5NGRlOWE0NDQwYzc0OTAwZWZlNzdiIGxlZ2FjeS10cnVuaworNTExMTkgOWNiNDU2NWU2MGNhYjQzMjExYWM0NWJiMGRlNTRiYTAyZDVhZjhiMCBsZWdhY3ktdHJ1bmsKKzUxMTIzIGZlNDRkY2JlMTNmMmMyNzdiYWJiMmE0OTYwZWRhMjBlODA2MjY1ZTEgbGVnYWN5LXRydW5rCis1MTEyNiAzYmZlZjNkYjMyYjM5MmE0ZjYwYjBmMWYzOWNmNWIyZDVhOGIxMzM1IGxlZ2FjeS10cnVuaworNTExMjcgNDA0MTVkZjViYTlkZTVlYjY3NGM3NGRmN2FhM2IyNmE0ZTQ4ZDg0YSByZWxlYXNlMjQtbWFpbnQKKzUxMTI4IGI5MGZlNGFlMzAwODM0NjJkNzlmZTI4NmVhZjRhYTlmM2JkYWI4YTAgbGVnYWN5LXRydW5rCis1MTEyOSA1MDA5ZGU1MDRmOTI0MDIxYTQwMzJlZDk2N2U4ZjRmZTY1ZTk4NWJhIGxlZ2FjeS10cnVuaworNTExMzAgMjE0ZTRhNDM4NGYxMmIxMmY0MmFhYmE0NTE4ZDA3Yzk1MjNhZTk4OSByZWxlYXNlMjQtbWFpbnQKKzUxMTMxIDJlNjMwYjJkNWI0NDYwZWQ5YTY2MmM4YTA4ZDMxMDkxODkwNGZlMTUgbGVnYWN5LXRydW5rCis1MTEzMiA3MmEzZjcyM2VmZDE2OTcyMDQ5NmI3YTIzNTM0YzVjZTNmNzBiMzk3IHJlbGVhc2UyNC1tYWludAorNTExMzMgZmMxMDFjYzM1NGE3OWZiNjUwZGE1YjE1OWIyODdhOTNiODBiMWY5YyBsZWdhY3ktdHJ1bmsKKzUxMTM0IGI3ZWFiMWMxOGU5ZDM3YmM3ZTM4M2ZlMTgyYjdkMTMxODhlNjkwMjUgbGVnYWN5LXRydW5rCis1MTEzNSA1OTQzMjk2YTUxODIxNWQ3MDAzNjdiNTIyY2FmZjFlMGIwM2U3NzMwIHJlbGVhc2UyNC1tYWludAorNTExMzYgYjUwMjY4ZjQ2ZmZmOWE3NjBmMzA1ZTkxNzRlZDg0ZGNiN2Q4ZDIwMiByZWxlYXNlMjQtbWFpbnQKKzUxMTM3IDMzNTA0NzRmMzQzM2M5OWQyZGUwYmY0MDEyZTBmN2UwZjY4MDQ3NzMgbGVnYWN5LXRydW5rCis1MTEzOCBmNWE3ZjRkZDkzZTBkODc1ZDhhNjM1YjQyYWU3NjVhOWQwNzg1MWRlIGxlZ2FjeS10cnVuaworNTExMzkgOTk3Nzg4ZGU4NjY3MzMwY2U5ZjIyYTE2ZTkwNzlmMWM0ZjAzZWE4MyBsZWdhY3ktdHJ1bmsKKzUxMTQwIDI0ODVlZjRjNWQ0OWQyYmUwOWI2MzMyZjZiZmY1Mjc3N2QzNjEwNjAgbGVnYWN5LXRydW5rCis1MTE0MSAwYmM2Y2ZiNmI1ZmIyMWFkMTU2OGNlYjgzNGRmYzRjMDJkZTQ5NDFhIHJlbGVhc2UyNC1tYWludAorNTExNDcgOWVkNTYwYjM1MTM5ODBkNGM2NDNjYmU1MzdkZDVlMDlkODkyODg1OSBsZWdhY3ktdHJ1bmsKKzUxMTQ4IDI5MGM1ODJhMjJkMDQzOTgyMzYxNjg1OGY3Yzk1ZWI5ZDc4NWM3MjUgbGVnYWN5LXRydW5rCis1MTE0OSBiNjdmNTIyZDc2ZDc4ZDgwMDI5ZTU1OGM3MzM2ZTkxZmY0OGU5Njg0IGxlZ2FjeS10cnVuaworNTExNTAgMTRjNzY5NDg5NTNkNWM1ZjdjNjRkMjBlMzFhNGEzNjJjOTcxYjYxMyBsZWdhY3ktdHJ1bmsKKzUxMTUxIDJmMDMxNjQ4ZTU4Nzg0NDk3ZWUyNWFhMjE5MTFiMDNlNmRjMmQxNzYgbGVnYWN5LXRydW5rCis1MTE1MiBkMTU0MjYwZjQ2ZThmN2Q3NzdkOWVkYTRkZjMzNTI0NWJlYzBhNjQyIHJlbGVhc2UyNC1tYWludAorNTExNTMgNTZjMGUyZjU5NmU3NmYxZDMwZjMzZjAxYmRjMzYyOTE4YzBjMGEyOCBsZWdhY3ktdHJ1bmsKKzUxMTU0IDhkYzZiZTNlMTFlMDBhN2M3NmUxZWI4NTUzODIyYWU5NjBiOGI0MGUgcmVsZWFzZTI0LW1haW50Cis1MTE1NSBkZTQ5N2M0MWU5YWRlZmM4YjZkNDRjZDExY2VlZjA1YTk2MzYxZmM3IGxlZ2FjeS10cnVuaworNTExNTYgNTY5MTYyNDI2OWE1YTYwNjc2ZmJhNWM1ZjY4NDAwYzE3ZjJkZmFkYiBsZWdhY3ktdHJ1bmsKKzUxMTU4IDlkMDg5YWE1OGUyZjRiNWNlNGNhZDljNGY1MWQzOTFjM2MyYWI2NWMgbGVnYWN5LXRydW5rCis1MTE1OSA4MDIyOTI3YzE3YTg0NjQ2ODVkZTUyZmI2NGFmMGIzMjM1NDViOTg0IHJlbGVhc2UyNC1tYWludAorNTExNjAgNWI5NjkyZjY2MjlmNDA3YWRlOTRjOWI3ODgzZWFmMGM4ZjA2MDFlZiBsZWdhY3ktdHJ1bmsKKzUxMTY4IDZmNzc1MThiNjM3ZGIzYjhmZjlmZTA5MWIzZWYzOWI1Nzk5NjA4NjMgbGVnYWN5LXRydW5rCis1MTE2OSBiOTViOWY0MTU3YTgyMjEzMzAxMjE4ZjU1ZDRmZGI3NjM1MDI5OGRlIGxlZ2FjeS10cnVuaworNTExNzAgNWMzZDQ5Mzg1ODE2ZDcwNmY3YTIyZDk3YTUwODg4YWZiOWFjZWJlNyBsZWdhY3ktdHJ1bmsKKzUxMTcxIDE5OTM4OGI0NmM4M2EwMGJlZDJmMThmZjZiMTBmZmMwYjk2NDJiZWYgbGVnYWN5LXRydW5rCis1MTE3MiA5YTgwODFjZjRhNzBkYWI0NmJhMGYxMDYzMTBjYzIxOTBjYmI5ZDM3IGxlZ2FjeS10cnVuaworNTExNzMgMGYzYWQ1YjkzNmE4NTcyYmZlN2MwN2Q4ZTM3NTM4NjczZjIyODc4NCBsZWdhY3ktdHJ1bmsKKzUxMTc4IDc0ZDIzY2QwNDQyMTA0ZmY5NzViODVlMWI3NGY1ZTRlYTIzZDZlMmIgbGVnYWN5LXRydW5rCis1MTE4MCA3ZDZiMmUwNGU0Mzk1NDA2MDBlOTg1OTBhMjgzMWFkODU5ZjI4ODEwIGxlZ2FjeS10cnVuaworNTExODEgZmVlZTY1ODIwMTFmMTc3NmE2ZTFkZTg5NWZiMzJiM2VlOTBkN2NhNSBsZWdhY3ktdHJ1bmsKKzUxMTgyIDkyMjJkMGRhYWIzYzZhZWRlYjAxYTk0NzUxNDcyNTI3Zjg2MTA1NGIgbGVnYWN5LXRydW5rCis1MTE4MyAxNTZiMjhmMGYyZDM1YWMwMGU4MmM2M2QyYTE0MDE4MmM5YzdlYzc2IGxlZ2FjeS10cnVuaworNTExODQgZGRlYTRkMzdjODNjYTQ1MWMzMDc5Y2FkODU1ZDA0ZTU4OWI4MzFlOSBsZWdhY3ktdHJ1bmsKKzUxMTg1IGI4ZTM3ZTAyNjhmMmNhYzA0MmQ5MmQxNjIwMTZhNDNjMTM4ZjQ4NjEgbGVnYWN5LXRydW5rCis1MTE4NiAyNmE2YmVkZDE3ZTIxZGIxMDY5NzM2ZGUzMjUyNTY2YzU2ZGUzY2NkIGxlZ2FjeS10cnVuaworNTExODcgM2MyYmY3OTUyNmJlODk4MTRjZDAyMTcxMDQwMzQxODc4YmJkM2Y1OCBsZWdhY3ktdHJ1bmsKKzUxMTg5IGQ4ZmE4MTBjZmQ1NGRmZDhmMjdlZWEzYmMyMmExNTE4ZDAzYjAxYzAgbGVnYWN5LXRydW5rCis1MTE5MCA5ZjA4NTE2YTRkMGM5ZTk5ZDdmNGJkNGU0NzkyMjEzZTIyYTg4M2ExIGxlZ2FjeS10cnVuaworNTExOTEgZWFkNDhhODIyMjk1YzgzZTFmMWU4MTQxYzc5YmJlYWFhYzI3MGM1YyBsZWdhY3ktdHJ1bmsKKzUxMTkyIGU1NWY2ZDcyMjQwNGZhOTJiMmE0M2M3MmZmMjEzMjdkN2E0NzE0YjIgbGVnYWN5LXRydW5rCis1MTE5NCA5YjMyNjBkODM1NTg3OTVkMWExZDMxZGI5NTg4MWI2MjY3ZWVjZWFkIGxlZ2FjeS10cnVuaworNTExOTUgZGU5ZTFhNWRjYTkzNjYxYTcwMTBlNzc2MDExODdiNzY5ZDk3M2I5OCBsZWdhY3ktdHJ1bmsKKzUxMTk2IDhlZDYyZGIxOTA1YzRkM2UzOGI3NWFmNzFiNWQ5MTM5NTNmMTc3ZmUgbGVnYWN5LXRydW5rCis1MTE5NyAyYWNhNGYwNDAwMTJjZWIwOGFjZjA1Y2U5YTdkYzJiMzg2NTIzNzM5IGxlZ2FjeS10cnVuaworNTExOTggYmUxMDdiMDRjMjUyNWI2YjgxMTJhMjFiYTY1NDEyZGYzMDAwMDUwOSBsZWdhY3ktdHJ1bmsKKzUxMTk5IDZhYWY1NWY0ZDdhM2I2ZDM1ZmQ5MTM3MDUzZDM5NWJhYTg0MjQ5NTEgbGVnYWN5LXRydW5rCis1MTIwMiA2YWI0YzM5ZmQ3YTM4M2ZkOWQ5NDJmY2Q4ZjliN2JlODg0NTg2MDdkIGxlZ2FjeS10cnVuaworNTEyMDQgODY0MTcyNTE1ZWU3NmEzYjQ1ZGYxNDhmNjY4MmU5YzM5MzAzYjhmNCByZWxlYXNlMjQtbWFpbnQKKzUxMjA1IDQ4ZmQzODg3MzQ2MzZkYTFhZDAyM2JlODg0YzM0NGFhYTYxM2MzNDIgbGVnYWN5LXRydW5rCis1MTIwNiAxMDg3ZGYwMGE2ZTg3YjkxZDY2Nzg3MjUyY2Q1YTZiZGUwMGVhYzAxIGxlZ2FjeS10cnVuaworNTEyMDcgZTc3ODc1N2QzMzMwNzIwMTQ1ZTc0ZmRjNWRiMDNlMmE5NWZhYTAwNSByZWxlYXNlMjQtbWFpbnQKKzUxMjA4IDc3OTBjZDBjYWJkMDRjOWQxMWQ3ZTg1NmZiMzY1ZTdjYzgwNGViOTQgcmVsZWFzZTI0LW1haW50Cis1MTIxMSA2NTRjMzgwY2Y4YjlmMDc5MTU2ZTMyMTExZDE2MmFkODAzYzg5MzE5IHAzeWsKKzUxMjEyIGY2OWJlM2M2YTJkNDYzNjQ5YmM1Njg0NjkyODgyOTQ4YTA2Yzk0NTYgbGVnYWN5LXRydW5rCis1MTIxNSBiOTk1ZTI3NjBkYTQ3MmMzYjU5MGQzNjkzYjhmZDY1NjkxNDczNGUyIGxlZ2FjeS10cnVuaworNTEyMTggZTExY2FhZDdlMDI5ZGM5MGI4YTdkM2I4Njk0YzgyZDk0NzUxZDgzNCBsZWdhY3ktdHJ1bmsKKzUxMjE5IDlmMzkwODgyYTJjM2E1MWUwODdkMWM5MTU4ZDkyMDg3ODk0YzZhZTAgbGVnYWN5LXRydW5rCis1MTIyMCA3MWIwYWM4MGExMzVlM2UyYmFjYTM2MTJiMjMxYjc2ZTY5Y2VjNzk2IGxlZ2FjeS10cnVuaworNTEyMjEgMjE3OWQ5ZjE0Mjc4MTczYmU5NWRhYjNkZTBiYWVjNzA1ZTdiN2I2MyBsZWdhY3ktdHJ1bmsKKzUxMjIyIDg0MmJkNjEzNGU5ZDIxYTAxM2RhN2Y1OTEzYzViNmU1NTg4MTJiZmMgbGVnYWN5LXRydW5rCis1MTIyMyBhODBkZjUzMzA2ZjBkY2ZmNzlkYzE4ZDE5NmFiZGI4ODYzOTdkZWM3IGxlZ2FjeS10cnVuaworNTEyMjQgNmQ1MzZkNDNjMWEwNjU0YzQ2NjQxOTkzNDBlYWUzYjUzZjAxYTcwZCBsZWdhY3ktdHJ1bmsKKzUxMjI1IDgxYzZiMGVkMzE4OGRkY2MyOWQyMWUwN2NmNjM2ZGY3NGYyMTZkMDggbGVnYWN5LXRydW5rCis1MTIyNiAyN2Y5YjRmZWUxNGY3YjY4MDhjN2FmMjZhMDRmYjJiZWQ5Y2Y2NzFhIGxlZ2FjeS10cnVuaworNTEyMjcgOWExMjg4ZDgyMDBmOGNiM2NlMjIwYTZmMmQ3OWQ4OGFhMmQyNzY0MiBsZWdhY3ktdHJ1bmsKKzUxMjI4IGVkNjU3NjVlYjY3OWI1MDMzMTY0ZjBiNGNiMTQyYWI5YTUyMDYzMDYgbGVnYWN5LXRydW5rCis1MTIyOSA2YThmMDE2NjBhM2IyZGU0ZjA4YmIyMmM1M2M2MzJiNzJiZTM0ODY5IGxlZ2FjeS10cnVuaworNTEyMzAgOGI5MWZmNjk4ZjRmZjJmM2RmNTU2YmU1MjFkMTIwMWJkNjRkOGM4YyBsZWdhY3ktdHJ1bmsKKzUxMjMxIGRlYjc0OGYzM2MxZGI1MmViMDg0ZjJiYWUzZWMzZDFjZGM0YjhkN2YgbGVnYWN5LXRydW5rCis1MTIzMiBjZTExYzZjMTkzOWRiNjg0ZjMwNjdlYTY0NGI2ZDQ3YmM5MWU0NWRhIGxlZ2FjeS10cnVuaworNTEyMzMgMTUxMDg2NmM5MjBlYjgyZTYyNzczYjViMDhiNzUxYzE4ODFjM2U1MyBsZWdhY3ktdHJ1bmsKKzUxMjM0IDJkYmFkNTNkZTJiMTI3MTdjMDc5MGJjNjQxYjAzNDdiYmZlZjFhNTEgbGVnYWN5LXRydW5rCis1MTIzNSA2OGJlZDUzNDg0NTQwMjNjY2ViYjQwMmY1YjM3MDVjZTgyOTM3YTFlIGxlZ2FjeS10cnVuaworNTEyMzYgNmNhZmRjODFjZmRlODY5OGU2YjgzZTY4MmZhMjRhMjY5OGY2MjFmOCBsZWdhY3ktdHJ1bmsKKzUxMjM4IDQ4ZjFkYmM1Nzg0NTA2MWZhYTUwYTVjMjMyZWM1M2FiMTY1MmUzNjQgbGVnYWN5LXRydW5rCis1MTI0MCBlY2U5N2NmZTYwODM3YjE3ODZlZGY5MzcyZjllMmQ5YzdmMmNhMTBjIGxlZ2FjeS10cnVuaworNTEyNDUgYzdmZjAyYzE1NTlmZDg2NmNjMDg3YWFjMDY1ODQ5YjFjY2EwM2ZiZiBsZWdhY3ktdHJ1bmsKKzUxMjQ2IDNiZTY2MjczMjNiOWQzYTA1ZWE3MGUxM2Q4ZjZjMWEyYTIyZTFkZWIgbGVnYWN5LXRydW5rCis1MTI0NyA1NzQ4MjE3NmUxMDExNjYzZTNmYzUwOTIzYzQ0YjM4OGRkOGJmOWI4IGxlZ2FjeS10cnVuaworNTEyNDggNzFiYWEwNjc2N2RkYzI5ZjdkNjkxMWZhOWM2ZTU0NWZlYTc2NzBiOSBsZWdhY3ktdHJ1bmsKKzUxMjUwIGRhZWRhYWNmN2UxMTBhM2NkMWEyMzY2ODkwMTQ5YjczMmIxYzFjY2MgbGVnYWN5LXRydW5rCis1MTI1MSA1MzFiMzY0YmJjMGUwZDgxNWNmZWVjMjJmMDllMjgxNjNjNDdkMThlIGxlZ2FjeS10cnVuaworNTEyNTIgODE1OGI0ZTBjN2I5YjVjM2I3ZDFiOTkwYTczNDlmZjg3ZDBkMWRmZSBsZWdhY3ktdHJ1bmsKKzUxMjUzIGJjNzRhZmI4ZTRlZjYxZDQ4YmQ4ZjE5ZGI1NjZmZDYyOWI4ZTcyNDEgbGVnYWN5LXRydW5rCis1MTI1NCAyNGQyY2MzMzAwMGNiMTg1ZjUxZWYzNWUzYWQ0ZDEzYzdmMDg5NjIwIGxlZ2FjeS10cnVuaworNTEyNTUgMjQ5YTU5YWNiNmVmY2YwMjA0ZjA5NjllNzZmNTY1NmQ0YjNkYjRjMSBsZWdhY3ktdHJ1bmsKKzUxMjU2IDcxMjMxYmM0ODYyMmUzNmRlZTM2MDExN2ZjMjEyNzk1ZDQwOTQzYmEgbGVnYWN5LXRydW5rCis1MTI1OCAwMzU2ZGQ5Y2MyNzQzOTYxODZjNTg1M2FkYmI3NmUxNzZhNDdmMGM0IGxlZ2FjeS10cnVuaworNTEyNTkgMzE3NjA1ZjJjZjZmOTllMWQxNmQ1YjA5ZDdmZWU2NGNhMjI1NDIxOSBsZWdhY3ktdHJ1bmsKKzUxMjYwIGQ1MjMxZWM2ZGFjMzk5ZDMzMGQzOWIyM2EyYmQ1Nzg4YjFkNjFmZDUgcmVsZWFzZTI0LW1haW50Cis1MTI2MSBlNzcwMWIwNWZkOWUyM2ZkMjQwNDc0ZGY5OTI1ZjcwNjcyMDY0YmZjIGxlZ2FjeS10cnVuaworNTEyNjIgZGY5NDc4YmUwNjI3OWEwNDdhMWRhM2E2NTU5NzZlNWFhZDI4MjQzZiBsZWdhY3ktdHJ1bmsKKzUxMjYzIDhjMTZjYmVmNzkzMjYzNTcwMjBlYWVlNmNkZjFmNjExMWIwMjExMTcgbGVnYWN5LXRydW5rCis1MTI2NCBhYjg1MzljMDdiMWIzYzZlOTI4M2I1ZThlNjc5MWVhMWZlNmUzYmM5IGxlZ2FjeS10cnVuaworNTEyNjUgYzBhNThhODU1YWMwZTM4MTM2YTU4OGU3NTE4NmQ5YzMwMDEzNDAxMSBsZWdhY3ktdHJ1bmsKKzUxMjY2IDQyMTgyNmM5NDEwNGYxM2FmZjc0YzkwN2QxNWU4Y2Q1NWYxZjMwOTMgbGVnYWN5LXRydW5rCis1MTI3NCBhNmE2ZGZmMTc5MzU2ZTI5ODFmYjU1MmYzOTJlNDQ0ZWM1Mzc0MTQxIGxlZ2FjeS10cnVuaworNTEyNzYgNjM1YjA5YjFmNTQyZTI5MTc1Mjk3NmUzZDk3ZjEyZWMwYmZlNjZmMiBsZWdhY3ktdHJ1bmsKKzUxMjc3IGE1NTM2OWUyM2YwNjk0YTVlNzkzM2UyMDAwZWFhM2ZiNmNlMTdkNjMgbGVnYWN5LXRydW5rCis1MTI3OCA0ZTViODNiYTdjMmE2YWY5Y2EwMWJjZjgzNTMyNTBjYjE1ZTY0NWY4IGxlZ2FjeS10cnVuaworNTEyNzkgNjRmYjY4ZGNhODk2NDhiNTlkMDE2MzcxODMxZWE4MjAzMjBiOTYzNiBsZWdhY3ktdHJ1bmsKKzUxMjgwIDIzMTJlMTc4YjM0ZDk3OTg4Y2ZkNmU1YmRkNjU4NGQ4OWM4M2UxYjAgbGVnYWN5LXRydW5rCis1MTI4MSAyNTRhMTg2OTM3YTliNDk5ZTk3MTgyZTM3YzdiZWNiNDdkNzkzY2NlIGxlZ2FjeS10cnVuaworNTEyODIgMTYwYjgzYzcxZDdhMGFjOTYwN2I4YzlhMDk2MzY2NDUzNTg3YWUyMSBsZWdhY3ktdHJ1bmsKKzUxMjgzIGE5NTA5MDI4MTAzMjEyMWEwMDJlNzZmNDFhNmJhNTdhZGI3MjJiYWYgbGVnYWN5LXRydW5rCis1MTI4NCAxNGVjOWNmZDk3NjAwZTI2MTQ2NjY0MTFmYzNhZDZiN2Y2NTYwNjc5IGxlZ2FjeS10cnVuaworNTEyODUgMzUyZmZlNzdiNzFkZDBlN2NhOGY2NjdhOWU2YTIwODZkYWEzYjA2MCBsZWdhY3ktdHJ1bmsKKzUxMjg2IGVhMWY4YTExYTcyYjlhMmEwMDBhMjU0NGY4N2MxMWY3YzZlMzQwMTUgcmVsZWFzZTI0LW1haW50Cis1MTI4NyA5ZDY0YmQ3NDgzMjBhZGI0MGM3ZTAzYmFiOTA0ZmMwODU0YWFmMDliIGxlZ2FjeS10cnVuaworNTEyODggY2Q2N2UxMTFlMWI4NWI3ZTE1ZWIxYmU0ZjU5ZDE5NDczMzk2YTFjNSByZWxlYXNlMjQtbWFpbnQKKzUxMjg5IDIwN2U0ODdmNDI1ZGZlNDFjNjE5OTA5ZTZhZDhkZjA5ZTE1NWU5MzcgbGVnYWN5LXRydW5rCis1MTI5MCBlOGM0NmNjOTlkZjVlZGQyYjUzMjMzYTg4MzE0MmY5OGY1ZDJlZTM3IGxlZ2FjeS10cnVuaworNTEyOTEgNzk5YmNmMGNjYmZkMzEzZmY1OTcyN2I2YWE5N2NlMGU2YWRjYmY3MCBsZWdhY3ktdHJ1bmsKKzUxMjkyIDE0OWRlNzI1Njg2NGNmOTIwMGQ5NzIzMmI2ZjIzZGM5ZDVkNzhkOTEgbGVnYWN5LXRydW5rCis1MTI5MyA4NDY3OGYwNzUwYjg0NDgwNDcwOGU0ZjBkNzRmZDIxZDVkZDRhOWM5IGxlZ2FjeS10cnVuaworNTEyOTUgZTkwZTdlNzY4Y2IzNTI3YWJmMjBiNGIxMTg3ZDQ4NjFmNzc0MWY0OCBsZWdhY3ktdHJ1bmsKKzUxMjk2IGU2ZmM0Zjk5YTYxYmUxOWFhYjdhM2ViYzFkOTJjMWJmMzE4ZWFlOWQgbGVnYWN5LXRydW5rCis1MTI5OCA0ZjkwYzFkNTMwZDk1YzljOTA2ODI5OGQwOWIyMWM4YTY4Y2U1ZWI3IGxlZ2FjeS10cnVuaworNTEzMDAgNjRiMzMwNjBlZjA5ZDVhNDcwZjQyNjcwYTUzNjcxMzAwNmM5ZDRjZCBsZWdhY3ktdHJ1bmsKKzUxMzAxIGJmNWJhZTFmMDBhZDQ4NWU0MzIwZTI5NTU4NDNhYTEwODY4MWJiMGIgYmNhbm5vbi1vYmpjYXAKKzUxMzAyIGJlOTBmYTdhYWNkYTc5Y2M3M2RkZGRmYzNhYmEyMDk4OWUyOTM3NWYgYmNhbm5vbi1vYmpjYXAKKzUxMzAzIDk1ZjY1NjY5MGEwMDA4ODljYjc0NDRiOGFjN2MzNDgwMTBmNzFhZTcgbGVnYWN5LXRydW5rCis1MTMwNCAyMDdlNzdjMTQzMzA2NGI2Y2NlMjcxZWEwNmE2NjQzODM5OTY2ZjFkIGxlZ2FjeS10cnVuaworNTEzMDUgOTA5N2VjZmViMzQ1MGMwM2I1YTBhNDg1ZjNiOWU3YzZhMDY3MjBmMSBsZWdhY3ktdHJ1bmsKKzUxMzA2IDZlN2IzZGQ1OGY5ODcxMDNiYzc1Y2YxNjQwMDk3ZTcyZTYzNDZhNGMgbGVnYWN5LXRydW5rCis1MTMwNyA5MTMzMDc2YzBiZjk3MWU5NmJlZGMyZTRlODk1OGRmOTNjYjkyNjZlIGxlZ2FjeS10cnVuaworNTEzMDggMmRmZTFjNjI0Mzk3YTRkYTE2MjY2OTQ1MjgwMWExYTY4OTkxZTkwOCBsZWdhY3ktdHJ1bmsKKzUxMzA5IDM3MWI5Y2QzYWYxNTYwMjk1ZDAzZGM1N2VlNDRlMjJjODVmYTZmYTEgbGVnYWN5LXRydW5rCis1MTMxMCA3OThiZWNhYjM5MDNjNGFjOWVlNDI5MDliYTc3OTg2NDc5MTlmODdkIGxlZ2FjeS10cnVuaworNTEzMTEgMjRjYWIyMjhiMDM5NmI3MDAyNWNiOTczOTQyNGQ3NjQzMDM0M2Q5ZCBsZWdhY3ktdHJ1bmsKKzUxMzEyIGI1MDczYjQ4YzkyNWYxYTk3NjMwMzYyM2I0N2UyNDJlZjczODEzNWEgbGVnYWN5LXRydW5rCis1MTMxMyBkYTRiZTA0MDhiNjI1NzI5NmE2ODc0ZGZlNWUxMmI1ZmYzNGExNzNkIGxlZ2FjeS10cnVuaworNTEzMTQgYTI3YmQ1MGViMGZkODdiMGNlMzkwNmJmYjRlNTkwNjI3ZDhmZGNiMSBsZWdhY3ktdHJ1bmsKKzUxMzE1IGM4Y2UzOTk0NWRmNWY4NzU3OWIwYjY5YzIzM2UwZGFkMGQ0M2RhNmEgbGVnYWN5LXRydW5rCis1MTMxNiBhNWQwZjlmYmNiZjRiODI0MjVkMDI1MGNkMDU5M2VmMWY3OWFmNTQ0IGxlZ2FjeS10cnVuaworNTEzMTcgZDIzYjY2N2YwNGRhMmJlMWU2YzE3NzZkZWFlYTIxNTRhYTU2NGNjMiBsZWdhY3ktdHJ1bmsKKzUxMzE4IDRiYjM0ZWI0ODczNjc0NzBkNGNmMjZkMmU5MjM3YWE1ZTliOWM1ZWUgbGVnYWN5LXRydW5rCis1MTMxOSAxMzU4NDA0ZDZkZDllZTk0NTJmY2MyOTQ4ZmMxYTliN2MzYWNhZGYzIGxlZ2FjeS10cnVuaworNTEzMjAgZmZlN2QzYWIzNWE4MzcwZDE2MzAwMzIyMjJjNDkwNDI3N2IyOTY4YSBsZWdhY3ktdHJ1bmsKKzUxMzIxIGZlODBiYjEwMmFiNmQ1MWUwZjk0ZWZlMDVlZTQ1MjEyODQxYTZmOGMgbGVnYWN5LXRydW5rCis1MTMyMiBkODIyMTg1NTQ4OTcxYWI3ZjgwODMzMzI2MTUzODc5MDNiNzdhZjUxIGxlZ2FjeS10cnVuaworNTEzMjQgZWRkODNmMTYyNDUzYWEzMDg4OGE2NTdlNDMyYmE2ZjI0MGZhNzk1OSBsZWdhY3ktdHJ1bmsKKzUxMzI4IGFhZmUxYWQ3M2VkNzQ5YmZmYTYzZmVhOGJiMmM3ZjVhMjI4ZjNmNDcgbGVnYWN5LXRydW5rCis1MTMyOSBkOTY2MGY1MWIwNTZiNzRmNzU0YmVkYTJkMTc1NDQ1OGZhNzMzNzhjIGxlZ2FjeS10cnVuaworNTEzMzAgYTZhZmUwZWRhNzExZDk5NmI3MjZhNTQ4YzA1NzkzZWM1NWI2ZThlYiBsZWdhY3ktdHJ1bmsKKzUxMzMzIDJkYzY0ZDU3MGU4ZDdhNDQ5OGFiODUwMTA4Yzg1NzA5YzI3NmRmOTMgcmVsZWFzZTI1LW1haW50Cis1MTMzNCBhMzU4YWYyMWE1NGE5YmQzOWY1MDZkNzI5MWRmMzQzODc5ZDE3YTgwIHJlbGVhc2UyNS1tYWludAorNTEzMzUgOGU4OGVjYmQ0MDhiZmM5Y2QwYmZkMzU2MWQ3NmRkZWZhNGY3ZmY0OCBwM3lrCis1MTMzNiA4ZjViOTk4MmJlYmEwNDhiNGJlNTZiMDZiODdkYmYxM2RmM2M2ODk4IHAzeWsKKzUxMzM3IGU0YTY0MjljMTIxNGVkZTkxMWNhYTU1ZjBkODA2MDA1ODQ2OWMwM2YgcDN5aworNTEzMzggODQxZTBjODZlMDBlNDIzZjgxNzA5MmUyZmY1Y2RhZmE0YjgxMDE0MSBwM3lrCis1MTMzOSBjYjY3M2VkNTA3YTc5NDAyNWJlYjRhMzdhZjg3ZGVmMTZkZDM4MGFjIHAzeWsKKzUxMzQwIGIyZmUzNmJhYzNhMTY0NGUyNWJkNWQ4NmE4ZDE0MTU3ZDU3MzJiYWUgcmVsZWFzZTI1LW1haW50Cis1MTM0MSAxYTY4OWJlMjczMjk3MzI0YzNmYTNkZDVkMGI4MDk5ZmE1MGNlOWU2IHJlbGVhc2UyNS1tYWludAorNTEzNDIgZWRiMTYyMTAwOTc5Yjg3OTI3YmRmZWQxNThjZWJiOTY0NGUwNTdiZSBsZWdhY3ktdHJ1bmsKKzUxMzQzIDliYzBiYzBhZDFiZmU2YzkwOTZlN2IxY2MyZjQ3OGNhOWEyMmM1ODMgcDN5aworNTEzNDQgMDEwMzQwMThlOGIyZjgwZDhmZDVjODI5ODhkMjM4MmFhM2RmYjMwYiBwM3lrCis1MTM0NSA0YWJiNDZkZDJiNjA3ZjllYWE5ZGFkNTY3NmVhYzg5Mzc2Njk0NDdkIHAzeWsKKzUxMzQ2IDFlZGRlMjM0OWY3ODQ2NmZiYzAwOWM0MTcyMzg2NzNjMjgyODdkZWIgcDN5aworNTEzNDcgZjY4MjY5ZWQ0NjFlNWQ2MjA5OGEzMjk1MTdmNTg5OGU5NTU2MGQ1NCBwM3lrCis1MTM0OCA2N2U0NTcwNGMwN2VhNWEwNGFmMGU3YjFiZGEwMmRkODE3ZGUxMzEzIHAzeWsKKzUxMzQ5IDMwMjJjZDVlMDEwMDQ0YzNiYWQxZDZiODAwMGEwMTUzYzYzZWI0ZWYgcDN5aworNTEzNTAgNWI2ZjgyMTAxYzQwNWIxNzU2ZGM4MDJmZjIyMTUzOTRiZWE4MGYxNiBwM3lrCis1MTM1MSBhOGJiMWFkN2ZjNmZhZGM5MTQ0ZjYxNzIyYzA4NjA2MTAxOGIzMmQ3IHAzeWsKKzUxMzUyIDBhMWY4N2E4NTViM2U2MTViN2M5ODIyYWVlMGMyNDcxMGRjNjYwZDEgcDN5aworNTEzNTMgZmEyNzU4NDU4NjZjOGE3ZDVlNWU5YjBmZTcyMzQ3NGE1MDU1ZDllOSByZWxlYXNlMjUtbWFpbnQKKzUxMzU0IGE4NzMyMGViZDBlNjY4OTY0YmU4YTc0NTM5NTMwZjg2YjQwMTdmYTYgbGVnYWN5LXRydW5rCis1MTM1NSAxZmY5M2JhNDA0NTA4ODM3MGRkZjA0ZDRmMjNlM2Y2M2M5OWFiMzY0IGxlZ2FjeS10cnVuaworNTEzNTYgMzFiOWE0YjQyNTI4ZWNmYTUxZmEyY2Q2YjUwZWI2MGFhYjhmNWM3MCBsZWdhY3ktdHJ1bmsKKzUxMzU3IGRmODdiNjA1NjdjZWI1MjRhYjlhMjMzNGU2OTBiM2RjZmUzZmViOGQgbGVnYWN5LXRydW5rCis1MTM1OCAwNDVlMjBmZjg5ZWJiNzA5MzIxNDEyN2M2NWQ3MzIzMDg0MGIwOTA5IGxlZ2FjeS10cnVuaworNTEzNTkgODliNzMwYjcxNDM0ZjljZWE0ODQ4YWJjODY2Y2M4ZTgzYzhjZDRmYiBsZWdhY3ktdHJ1bmsKKzUxMzYwIDIxMGM1YjU1NzVjYjVjYTAxZDFhMDJjOWI2OTRkY2JlYjZhYWFjNzQgbGVnYWN5LXRydW5rCis1MTM2MiBiNWQ0ZjNhNzNkZTA0ZjcwZTc1YTUzZGYxNzg0Yjg3ZTlkYTJlNTZiIGxlZ2FjeS10cnVuaworNTEzNjMgZjNkZWU2MjVmYzQ4M2E2M2RmZTVmNDdkNTM4ODM4MjIwMmNjYWJmMSByZWxlYXNlMjQtbWFpbnQKKzUxMzY0IDRjNmY3N2I1NjQ1MmQ2YTQ4Y2YyYWVjYjU5MDNjZmQ4NDdkZjZkNDAgbGVnYWN5LXRydW5rCis1MTM2NSBjYTc3ZGUzNWRiNjIwYTE3NTA3ZGQ3MzkwYzM5MThhYTg3NjI3YzQzIHJlbGVhc2UyNS1tYWludAorNTEzNjYgN2ZiNTZhYWY1MmJiY2VhNTVjMjNhNWY3MTkzMDE4ODUyZDM3OTM2ZSBsZWdhY3ktdHJ1bmsKKzUxMzY3IGI4N2ZlMTFmYjdlMjhhZTI5M2VmOGJkYTZlZjhkNzE1Mjg4N2U1MWIgbGVnYWN5LXRydW5rCis1MTM2OCAwYWQ3ZTg1YzhjMDRlOGE2N2Q3MTU2N2U2N2M5ZTdhMzQ5MzhmYjdlIGxlZ2FjeS10cnVuaworNTEzNjkgNzliYmZhMWRiZDFiYjBjNmExZmJhZmYwNzEyMGI1OTQ4NzIxMTI5NyByZWxlYXNlMjQtbWFpbnQKKzUxMzcwIDFhYzE0ZDQzZWM2NDQxZTZjYjIyMGIzMThmMjk4NjczOTgwODc4OWQgcmVsZWFzZTI1LW1haW50Cis1MTM3NiBjNGU3YjQwNzBmMDc1NDdmZGIxMzRkNWU2Y2I5NTNiMzI2OWNlOGFjIHJlbGVhc2UyNS1tYWludAorNTEzNzcgZTdhNWIyODdmMjdjMWE5ZWU5MDFkNTIxMTE4ODQ1NmEyNjg1ZTQwMiByZWxlYXNlMjQtbWFpbnQKKzUxMzc4IGNiYjQzNWM1YzIxYzY3MDNmMTk3MDM4ZTc0N2Y1MTQ4OTdkOWMzOGEgbGVnYWN5LXRydW5rCis1MTM3OSBkZTRlZjE3NzI3OGJmZjg1N2Y3MTE2M2Q0NzBlMWQ3ZjA1ODFiZTlkIGxlZ2FjeS10cnVuaworNTEzODggMjU1MWViNTY3MWE0MWQ4YTQ2YjY4MTNmZjE0ODkzYTk0MTkxOTg5OCBwM3lrCis1MTM5MCA2MzIzN2ZjZWZkOTllZTRmNjc1NzIyZDVjMjcxMDY1OWFhNWRkOGNiIHAzeWsKKzUxMzkxIGNmYjM4NDczY2ExMTk5ZDk4MzJiM2FlYmMyMzU0YWQ2MTE0YWFhMDggYmNhbm5vbi1vYmpjYXAKKzUxMzkyIDg0NTJkNWVlN2IwM2JjMmVjMDY0OTAwNjYwOGJkMTQ2YzA5NDU3NzQgYmNhbm5vbi1vYmpjYXAKKzUxMzkzIDRjNjc0YTA3YjIzYzM2MGZmOWIxODhjODFhZmFmZmVmYWI1YzllYjIgYmNhbm5vbi1vYmpjYXAKKzUxMzk0IGQyM2I3Y2IxNzAwYjUwZWRhYmQ0NWQwYWRlZjgzYWFmNDM2MjE1MDMgcDN5aworNTEzOTUgMGI1ZDhlYWUzZWNhMDYxYjdlYmRlNjJiYTNhODAzZDZiZjM4N2NlNyBwM3lrCis1MTM5NiBjNTU3ZDQ0NzRmMGY0ZjA3ZjliMGVjMmFlNzlkNTgyYzJkODY5NWU2IHAzeWsKKzUxMzk3IDNlYmY1NjA0ZjYzMjBlNWIxZWUyYTM2NDQyOTUzOTFkMWRjZGNiNmQgcmVsZWFzZTI1LW1haW50Cis1MTM5OCBiODhiNjlmOTdhY2MwMDYxYWFjZDNhNjhiMjA5NmRiMzZkNWQxMmVmIHJlbGVhc2UyNS1tYWludAorNTEzOTkgN2NiY2IyMmM4YjhiMmM4YTRiNjM2MGEwNWEyYjc0OTM0MDcwYTVlMCByZWxlYXNlMjUtbWFpbnQKKzUxNDAwIGE3NDVhMmJkNDhhZjBiOTRiMWZjY2VkMDQ1ZjQ4ZjAwNTY4YWJlOGMgbGVnYWN5LXRydW5rCis1MTQwMSAwYWY0ZmZhYmEwM2MzMmI0Y2E0YzA0ZmE5YzJlMzI0YzdkNDZhZTZkIGxlZ2FjeS10cnVuaworNTE0MDIgODdkMTUzZmZiYjk4YjVhODNiNWU2OGNmMjIwZTdiZDc2ZjIwYTUyMyBsZWdhY3ktdHJ1bmsKKzUxNDAzIGIwZTBhNWViOTA5ZjE5NzliYTExNDUwMThkYzk1M2I4ZDMxZDg2YjkgbGVnYWN5LXRydW5rCis1MTQwNCAyYzQwMjY3Njk5NDU0OTkwN2NmODFjNWYyMmQ4MmE0OWEzYjkzOGI2IGxlZ2FjeS10cnVuaworNTE0MDUgYmJlZjJlY2RlZTMzZWJiODE5MDMzMjA5NWY4ZGE5NDdkM2MwNjM0NyByZWxlYXNlMjQtbWFpbnQKKzUxNDA2IGJkZWU0NTg4OGI2NDBjOTU2MWVkM2I4ZTRlY2RjNmIwM2Y4ZDRmMjIgcDN5aworNTE0MDcgZDI0MGNlNTY5NmY5ZmU4Zjg1NjFhNTVmZjhkMTNkZDI4MTYyNjM5YSBwM3lrCis1MTQwOCAxMmM0MmZmOTk0MzdiZjcyYWRlNjc5MjY3MGJkMGI4ZWJkZTE4NzJiIHAzeWsKKzUxNDA5IDgyNzE3Yjg0ODg4ZTA0NmFhYjljZTMxMDkzZjQ1ZjA1ZjM0MzU0YTUgcDN5aworNTE0MTAgMGYxMzVhZmZhYmYyYzdhZjQxNjczNmMxYjEyNDg3YmFiZWQ0NDc5ZSBwM3lrCis1MTQxMiA1OTlhYmMzMWY3NzBhZDc1YTc2Y2Y3NmI5NzdlNTUyY2JlYWY5ZjFjIHAzeWsKKzUxNDEzIDk2MzQ5NmNiZjNkM2MwZjFjY2UzZjBmZmRlNjJmNDUwMDYxMDNhNmMgcDN5aworNTE0MTYgNDQ2MjJlYjU4YTI1YjZhZjA2MTg4MGZjYzA1N2ExZDQ1ODUxOWI3NSBsZWdhY3ktdHJ1bmsKKzUxNDE3IDViMmMxYjY1ZDM1ZWVhOThlMDRhNDE4ODNmZTAyMWIxMThkZmM0YWUgcmVsZWFzZTI1LW1haW50Cis1MTQxOCBjMzMxOTJlMmMyNWIxOTRmZGNiODcyYWE0MGQxZGYyYjhhYmE2NTRkIHAzeWsKKzUxNDE5IDE1NGYyNTZmZmY0Mjk5NWQ5ZGExM2Q3Njc0YjMzMWM0YWIyOGYxMjEgcDN5aworNTE0MjAgMjJjMmUyNWVkMGU0MGJlY2NjZDZkYTFmMDI5MThhMmExYWVjZTNjMCBwM3lrCis1MTQyOCA1ZTE0Mzk0NDc3MGI0MWNiMjRlZDJjMTlkOWU1NWUxOTY0MGEzODkzIGxlZ2FjeS10cnVuaworNTE0MjkgZWVkYTI3MDQxMzBlZjUwYjA3M2Q5ZThiNjA4NDQxZWJlZDg1MjFmNSBsZWdhY3ktdHJ1bmsKKzUxNDMwIDczYTMyOTFjNThkYzFlZWI0ZWM2NTM1ZjYyZmE0MGVjNmIwMjMyZTcgcDN5aworNTE0MzEgNDBiYmU2NjliMDg5ZWZhNzBkNmEzMWQ1YzE1NGQ0NTkzOWQ3Y2EyNCBwM3lrCis1MTQzMiA4ZGQ1N2M1M2NjZjZiMjkzYzM0ZGRmODFjZDMzODBjMDVlY2M4OWE4IGxlZ2FjeS10cnVuaworNTE0MzMgZGI0MmU4N2M5Nzc2ZjcwMjQ3M2FhNDNiNmU4ZDQ0ODRiYjkwN2Y1ZiBsZWdhY3ktdHJ1bmsKKzUxNDM0IDJmZmRlZTFjMzg4NDRhYjAxMmI2ZjkyM2Q0NTUyNGNlY2M3YmQ3N2EgbGVnYWN5LXRydW5rCis1MTQzNSA2ZjEwMjA3NDMwNzc0ZjEzODZjMDZkNjY3YjU1NGRlOTk1ZTgwODYxIHAzeWsKKzUxNDM2IDhkZDcxNTdkMmEyMmExOTEwMmU1NDNiYmJkNTI1OTYxYjFmYTVhYjcgcmVsZWFzZTI1LW1haW50Cis1MTQzNyBjZjQyYTQ0YzU0OWVkYTAxMzliYWQ0NWU5ZTIyZDUxODE4NGExMDIzIHJlbGVhc2UyNS1tYWludAorNTE0MzggMzY3NGYyMGFjNzgxZjY1N2M3ZmJlNmNlNDM0NDViN2ZiYzQ1MTRlNiBwM3lrCis1MTQzOSAxN2YxZGYxNTUzYzlhZTQyNWQyYWJjMzE1OTRjMjUxMzJmYTgwODAwIGxlZ2FjeS10cnVuaworNTE0NDAgNTExZGI3MWI1YzE0ODlhMzg1YWI2MWIyZDQ2N2NkMmMyOWMxNmRlNiBwM3lrCis1MTQ0MSA1MzkxNGQ1NDBhNjc4MDE4NmZjOTdhYzcxYmIyNmQyYzVhOGVjYzJmIHAzeWsKKzUxNDQzIDlkZWU4MWRjYjliNDE5YjljYTc3MWFhNDRlZGUyYjViNjBhOWMwN2MgbGVnYWN5LXRydW5rCis1MTQ0NCA3ODNjNWUyODAzZjk1ODBmYzgyNzZhMGFjYTczZTg4NDc1ODUyNjRmIHJlbGVhc2UyNS1tYWludAorNTE0NDUgYzQwZmU4NjU2M2ZjODgxY2VhOWUyMjFjMGVhYWUxYzE1ZWM5MDcxMyBwM3lrCis1MTQ0NiBlZDBkYjBkNmNhOTkzODFhMjg4N2M4ODM1MzQzNDhjMzkxNWIyOTc0IHAzeWsKKzUxNDQ3IGU2MWIyMmJmN2FiNDc3MjU3MGM5NzFhOGVmYTNlMzUzMzUzMzVhMmYgcDN5aworNTE0NDggMDJiYmVlYzI3MTRmMDQ5MWIwNTE1NTZkMTI2YzU4MDVlNjQwZTU3NyByZWxlYXNlMjUtbWFpbnQKKzUxNDQ5IDM5ODI0NzVjNTE0NGJiYzk5ZTE5ODJiNmNjY2E0ZGUyZjNjMDIwMDUgcDN5aworNTE0NTAgZThhNjViYmQ2YTI5MmM4NzQ4ZWIyMDQ1NjY1NjUzMzY3MjA0ZGU3MiBsZWdhY3ktdHJ1bmsKKzUxNDUxIDNjYmVkMTNjNDY0ZDljMWRlNGM1ZTQ0N2NkM2U5Njc5Y2FmOGUxMDAgcDN5aworNTE0NTIgZTdiMWEzZGIxZmUzY2RiYzc2MGU5ZGY1N2JkMWNjZmYwM2E1OTc5OCBpbnRfdW5pZmljYXRpb24KKzUxNDU0IGM2ZDlmYTgxZjIwZmRjZDAyYzM0M2FhNjIwMjRlMDE1ZDUxM2M2MjAgcDN5aworNTE0NTUgZjE4ZDc3OWM3Y2ViNjcyZWUzN2U3ODNmZDFmZWE0YWNlZGFkZWNlOCBwM3lrCis1MTQ1NiA1ZmRkZGRkNTE2Y2I3Y2MzY2E4YmRlNjM4NjNjZTQzOGZkZGYyZjZhIGxlZ2FjeS10cnVuaworNTE0NTcgYzhmZjQzODAyZjMxNGM3ZDZlOGQyOGJkMzkzN2Y0MGEzN2JiYTA4MiBwM3lrCis1MTQ1OSBlODZjMGIyOWI0YTI2YTQyZTRjZTY0NjlmMmNhM2U5YmZjYzMwOTVhIHAzeWsKKzUxNDYwIDcxOWM1ZGI3YmZhZDQ1YTdmYTkxN2QxNWJhNTYzMzFmYTA1NTM0OTQgcmVsZWFzZTI1LW1haW50Cis1MTQ2MSA5Y2M2YTU0OGRlYzQ5NDNlYzJkYzYyNjZiMDczMzNiYWI4NDI1NTBhIGxlZ2FjeS10cnVuaworNTE0NjYgMmY2YjQyYWVhZDk0ZjgxY2UyZTYwZTNmMmFjZWZlOGYzNGE5OGRiZSByZWxlYXNlMjQtbWFpbnQKKzUxNDcyIDhkNzFmOWE2YzFjM2EyZWFmMzI3ODEzYmFkZjIwZTk0YjA2YmE1ZDggcDN5aworNTE0NzMgZDY1ZTZkY2ZkY2I1N2ViZDAxMDkzOWZiZTE5OGE5YTRjYWQzMDFjYyBsZWdhY3ktdHJ1bmsKKzUxNDc0IDlmMjc4MDA5MDI2ZGIzODM0YjVlMmYwNjJkNDcwZmU3YTQ4NWYyYjYgcmVsZWFzZTI1LW1haW50Cis1MTQ3NiA1ZmY2OTZmMmE3YTVhYTI1Nzc3NjExNWQ0NjEzNzcyOTdlNzAzMjhkIGludF91bmlmaWNhdGlvbgorNTE0NzcgNDRkYTNkMjk3MTA3OWJiZjdiMTY5MTRjNDdhZGE4NTBkYjllNWM3YSBpbnRfdW5pZmljYXRpb24KKzUxNDc4IGQ5MTU4NWIyY2RjMTAwNzk3OGRiZmJiYjA1NDVhMWRjZTMzYmZmNjMgcDN5aworNTE0ODIgM2VhNTI3NTg3NDEzMWUwODJlMTIzNDdlZGIwNTkzOGY1ODJjZTM4YSBwM3lrLW5vc2xpY2UKKzUxNDg2IGYwZjQ5N2EwNTA0Y2NmNTI1ZjIyYmVmZDQ2ODAwOTYxOWVkYTY3Y2YgcDN5ay1ub3NsaWNlCis1MTQ4OSBmOGE5MGQxODI1Y2UwMDJiODExZDE1NGI0NGM3ZThmOTQxODg1ZTFhIGxlZ2FjeS10cnVuaworNTE0OTAgNTNkZjNlZmY5NGUzZTYxODJlZThhN2RiYThhZTg5M2RjNDY0Y2Q1YiBwM3lrLW5vc2xpY2UKKzUxNDkyIDE4NGY3YjE2ZDIwMzZmNmM0ZTQ1NmQ0OTE3OTI1MTkzOTIwZTE3YzEgaW50X3VuaWZpY2F0aW9uCis1MTQ5NCBhNWYzNDNmNzI0NzEzNWZhMTgzZTg1MmNhM2UyOTJkNzNjNTdlM2YwIHAzeWstbm9zbGljZQorNTE0OTUgY2U1ZTQ1ZTRjNWQwNjljZGEwZjQzM2QzOGVkMDk3ODg4ZTNkZTkyOCBpbnRfdW5pZmljYXRpb24KKzUxNDk3IGE1OWJiZmQ4MDhkOTcyNzA4NmExYTBhZGEzOGI4YWUyNmU1YTIxZjEgbGVnYWN5LXRydW5rCis1MTQ5OSBlNmUxYjQwMzgyN2U1ZTU3OTQ0ZWVkOGJkZjkzODBhNWYyM2UzMmE2IGhveHdvcnRoLXN0ZGxpYl9sb2dnaW5nLXNvYworNTE1MDAgODc4MmNjMGZiNWUwZmVjMGU4YWM3ZGZkOGZiZmNhZjE3YTNmZTY5MCBpbnRfdW5pZmljYXRpb24KKzUxNTA1IGFjN2YzOTNmZDI5YjM0MmYwMzYxOTAxMzlmY2JiYjU0ZDM3MjNmMDQgaW50X3VuaWZpY2F0aW9uCis1MTUwNiBkMTc0M2IwODI3MzQ3MTQ0YWZlMzg0NWRkMWNkYjJiZmEyZjQxOTQ3IGludF91bmlmaWNhdGlvbgorNTE1MDcgYmNjNDE0Mzc4ZjMyMDdjY2Q1MmQyNDhiNDMyOWY4YzUxYzNhNDk1YyBpbnRfdW5pZmljYXRpb24KKzUxNTA4IDZkNDM1ZGE4Yjc5YjMxODZhYzA0ZDYxN2U5ZGM1ZWQ5NGQ5ZDYwNDkgaW50X3VuaWZpY2F0aW9uCis1MTUwOSBmMjhiZTVkYjUwMDViYTkyYmQ4M2U0NmJhMzFmNWZlZmY0ZTY1MzI1IGludF91bmlmaWNhdGlvbgorNTE1MTEgMDUwZmI5YTA5N2NkN2NmMGNlMDgxMDhmYzQ2NDAxOGNmYTc4MTZlNCBpbnRfdW5pZmljYXRpb24KKzUxNTEzIDQ3MmNhNzAwNmY3MGYyYTNjYWU0YTA5NjJiZjM0NTliZDFhNTNkZWQgcDN5aworNTE1MTUgNDQ5YmEwZWZiNmJkMjc5MTFkOWE1YmJkZTk3NTNiMjI4MjVlMDg4YiBsZWdhY3ktdHJ1bmsKKzUxNTIyIGUyODAzMWFmZWZmNWYyZmE4YmJjNTYwYWU0ODJkMWEyOTUyZmNmMmMgaW50X3VuaWZpY2F0aW9uCis1MTUyNSBkNWZhNGFmZDY2MjBlNmU2N2UwMWM1NWI0MzA4Yjk4ZWZlZjY1NDdiIGxlZ2FjeS10cnVuaworNTE1MjYgNWNjZTAyODg3NGJjNzhlMTIzMGE5NGI0Mjc3N2Q1NGIzNDkxYjUzMSBsZWdhY3ktdHJ1bmsKKzUxNTI3IGY0NTQ1MTgxOTQ5MWI0NjVlY2E3NjE0ODk1ZjA4NTlmMzViMDhhNGEgbGVnYWN5LXRydW5rCis1MTUyOCBhYWE3NDVmYzdiNzY3ZTk3MTAxZTdlMDI4MTliZDcwYTY5MmM3OTdiIGludF91bmlmaWNhdGlvbgorNTE1MzAgOTgxMTgxZDJhNGZlMDc1NTdkM2U4NzI2MjMyOGUxOTBlNTEzZGQ4YiBsZWdhY3ktdHJ1bmsKKzUxNTMxIDNkZDYxZmZkMDQ5ZTE1N2UyNjI5NjQ0NmYzMmU1NTJlMWQyMDVlMmIgcDN5aworNTE1MzMgMTNkNWU1ZjBlOTkzYWM3YTY0YzM3YzkyM2Q0N2E0NGY5OGYyZDc4OSBwM3lrCis1MTUzNSA4YjllYzM0NGJlZDJlNTcwZmQ2ZTJhNDgyMmFjNWNmMTA2YTkxOTFkIHAzeWsKKzUxNTM2IGNlMjNkODY3MzJiMGI4OWFmMjA0OWZkYmFlYjA4OTg2NGMxNmE1ZTggcDN5aworNTE1MzcgZGNlZWE0MWY0YTZkYWVhMjEyODVkZTg4NzNkYjE4OTlkMjM1YWEyYSBwM3lrCis1MTUzOCBlZmUzZjJjMGRhNWU4ZWQ1MmI2MjU4ZGI4YmIzYjAxNWRkYTZjNmZlIHAzeWsKKzUxNTM5IDc0OTZmOTQ3NTRmZjBlYjE4MmQ2NmFmYjg0ZTYzYTI4ZDYwYjU0NDAgcDN5aworNTE1NDAgNjlmNjFmOTBjNGZjMDhhNTU2NDg4MDc2MGY5ZjBhNTg2ZmUyYzJmNyBwM3lrCis1MTU1NiAxYTBmNDQ3ZTYwYThhZmIzNjcyZWMwMDM2ZDMwZDg1Zjc0NDQ1NzNiIGludF91bmlmaWNhdGlvbgorNTE1NjEgMWNmNTI4NWM4YWI5NDdmNTg1YTVkM2RlZDI1NzRmMzNjZWZmMWQ4MiBwM3lrCis1MTU2MiA1MWNkYzM5OGUwYjA2M2U4NjVjODMwNTM4MzhhMmQ3NzYwMzgxYzJlIGludF91bmlmaWNhdGlvbgorNTE1NjMgMzE3ZGNjNTkwZmZkOGEyNmI2Nzg5YWE5MjhmYTQ3ZWVjY2E2Y2I3ZSBpbnRfdW5pZmljYXRpb24KKzUxNTY0IGU0ZGVlYTkzOGRlZjA4MmFmZGVkNzA4NmZhMzZiMmJkNWJjY2IzMWEgcDN5aworNTE1NjUgYTg4YmMzYmFkNjUxYjNhZmFiNjhlY2NkNDE3NWJkZTM0Y2Y1MDU3YyBsZWdhY3ktdHJ1bmsKKzUxNTY2IGFkYmZkOGQ1ODUxY2M2MmI1OGIwMTMyZWMyMzQ0Yzk1MWNhM2JlOGQgcmVsZWFzZTI0LW1haW50Cis1MTU2NyAyODBjNmRiMzFjNWEzZDIwMzJmMGE5M2U2Y2M1ZDlkNTYyMjZmYzIyIHAzeWsKKzUxNTY4IDkzNDhlYTYzYjAyZGZkZWMwMzcyZjljNmY2Y2RhNGFkYjY1MWVkN2EgcDN5ay1ub3NsaWNlCis1MTU2OSAwODAwNWJhNmNlYjkzMGRjNzM3ZjRmYjEyYTJlZjdkYmExZGEyMDBmIHAzeWsKKzUxNTcwIDUyM2U2Y2NlNDE4NzE1MGRkOWEyN2I0MWE1ZWY3ZjliNTcyNmFmZGIgcDN5ay1ub3NsaWNlCis1MTU3MSA3ZWQ1Y2U4OWYyNmFlN2M0OTVhZmFlNTdlNzg4MzYxOGEzZGE1MzQ3IHAzeWstbm9zbGljZQorNTE1NzIgZWJhZDU5YzcyMzNlM2E4MDVhNjlhYzM5M2Q0YzgxNzc1YmZiYmI5OSBwM3lrCis1MTU3MyA3YmM0MTkyYTUyNzhjNThiY2E5NWNmZWQ1NDBmM2EzNzc3NzA1YTYwIGludF91bmlmaWNhdGlvbgorNTE1NzQgODQzMzU3ODhkOWNiMjEyNjJiNzU3ZjQyMWYxMDEwNWRjYTRmYTEzMiBpbnRfdW5pZmljYXRpb24KKzUxNTc1IGU1ZWMxYWRiMDYxZjVhYjU4M2QyNjFhYTc2YzhlNzczYjFmOTNiNTggcDN5ay1ub3NsaWNlCis1MTU3NiBiZjQyYzgxZGI4MDZlZjIxMmYyNWEwYTkwZWRlYjUwYzhmNzRiMjUwIHAzeWstbm9zbGljZQorNTE1NzcgYTUwNDhjOGQ4ZjMzMzJhYjdkNDQ2YWNkYTgwMDhiOGM1MWEyNjE5NCBwM3lrCis1MTU3OCBhMjQzYTUwZGEyM2FlMmVmNTEwYjZjYmQwZTM5NWVlN2M1YWU0ZjM4IHAzeWsKKzUxNTc5IGY5ZTc1NjBmZTAwZDIxODk4OTYzNWYwNzVhNTYyMjlhYjM3YmM0ZTAgcDN5ay1ub3NsaWNlCis1MTU4MCA3NmE5YTUxMzFhYWVjOTYzNTRhOTI3YTY4YWQ5MzA4YWRhZjFlOTNlIGxlZ2FjeS10cnVuaworNTE1ODEgNDRhZjRiMzdkNWZmNDBhMmU3Y2NlZWRmMWE5NTRhMjM1N2RjNDQ4MyByZWxlYXNlMjUtbWFpbnQKKzUxNTgyIDI2ZDI5NWU3OWFlODcxNjMzNzE4ODRkMWFlNDdmZGFlNjIxZTMwYzcgcDN5aworNTE1ODMgZTY4NGY5N2FlM2ZhZmIxNDgwYTA4NTEyZGFjZmY1YzM5MGFmOTBmZiBwM3lrCis1MTU4NCBmMTZhNTgzYzViMDkwNDVkOGEyZDNiNDM0NzdkMzg5NjliMmYwMTMwIHAzeWsKKzUxNTg1IDRhMzhjZDFhMTYwNjFiMWYzZTIwNWNiZTZjYmE5NzFhYTk4YjhmNTcgcDN5aworNTE1ODcgZjUxZWRiY2Q1Y2MwMDA4YjAzM2ExMzUyNWVlOGM0YTUwY2Y3NTZhMiBwM3lrCis1MTU4OSA5MmNmMzk3NGQzMmZiY2VlNzYxOWEzYTAzYTViYjYxZDY2Yjc5M2NkIGxlZ2FjeS10cnVuaworNTE1OTAgZWRlYzc5NjJhZjI4N2U4YzBmYWU1NmVhYzE2NDllZDEyYzgzN2U5ZCBwM3lrCis1MTU5MSBlMDc2Y2NhNGQ5ZDdhMGM5Y2MzY2Y5YjRlZjUzNDUxNjhhM2Y0YWI4IHAzeWsKKzUxNTkyIGRiYjU5NTRmZGRjY2NiMDM5Nzc1MzdkZjRiNjA2NDk5YjE5ODEzYzYgcDN5aworNTE1OTMgZjA3OGU3ZTRiOWExNTA2MjIxMzlhY2Y2NzkyMWRjMTEyMDQzZjE4NyBwM3lrCis1MTU5NCBmZjY5M2E4NjFiNzA0ZmRlMTc1MGVjOWRkZjIxNzgzYWQ3OTE0NWZjIHAzeWsKKzUxNTk1IGY4MTE1ZjY4NmU0MDExYzY4YzE0MmEzZjc3MzA4MWFiYWNhMzZlMDMgcDN5aworNTE1OTYgNjkyN2FjYmZhMDFiNDdmYWJhODQ0MmMyMDBmMjc2ODUwODM1OGM0ZiBwM3lrCis1MTU5NyA0ZTVjOTRkMDM2NDkzZGY3MGNkMmY0NjkwMGJjNWVmYzg3NjllOTkwIHAzeWsKKzUxNTk4IGViMmY3MGZkYmYzMjQwYjk5ZDI2MDUwNmFlZTJhYWZhMzlkZjQwOGUgcDN5aworNTE1OTkgNzg1NjRlMjY5ZDIzMGIyZjUzNzc3ZTMzYmI3MjgxOTQ3ZTIzMzVkNyBwM3lrCis1MTYwMCBmODdhM2U2MTg1M2Q3MmIxZDEzMzk5MmY5OTFlMzk3YjMxYWFjOGU4IHAzeWsKKzUxNjA0IDNiZmM4YmI0ZTcyNmYwYTczNmM5YzUwMmNiOGE4YTM1YTkzZWM5NjkgbGVnYWN5LXRydW5rCis1MTYwNSBjYTJiMmNjMjMwN2U0NDEzZmEyYmZmNWI2YWFiMDkyNzM5MDdmYzc5IGxlZ2FjeS10cnVuaworNTE2MDYgZjQ5NzY1MGExNDkwNmYyNzYzOGRmYzMzMGRiMWFiMzA1ZTZkM2ZlYSBsZWdhY3ktdHJ1bmsKKzUxNjA4IDkxNmFlNjM2YTgzZTRiODAwMmMwNzI0YmM2OGFjNzRkODQzODYyZWMgbGVnYWN5LXRydW5rCis1MTYxNiBiYjA3MzgwNWZiYWJhMDExNTM3NzQ4NjkyN2MyNWQwMWNhMjlhNmVhIGhveHdvcnRoLXN0ZGxpYl9sb2dnaW5nLXNvYworNTE2MTcgOTA0OTU4MjE2ODEzMWQ5ODlmYTVjMmVjNjFlMzZhN2MwYjBiNzU3YiBsZWdhY3ktdHJ1bmsKKzUxNjE4IDU1NDI3NTkyNTRjMGIyODBjZGJmZTYwNTViNWExMzgyOTQ5MzAyMGUgbGVnYWN5LXRydW5rCis1MTYxOSAxYjczNWE5ZDIxMDcxMGRlNGI4YzRhYWIzNDAyMDk3NmNhZTlkNDc3IGxlZ2FjeS10cnVuaworNTE2MjAgYWNhNzA5ZjMzYTZhMTY4YjE5OTg2NDVkYzE3YjRmODhjMWZkNzg4NCBwM3lrCis1MTYyMSAzZDc3OThmZWFmYzU5OGY5ZWJiZDc2MTRiOTU5YzIxNThjNzRkOTdhIHAzeWsKKzUxNjIyIDZjMTg0ZmE1NTE3MGEyNjg2ZTE5MzIzMGU3YWVhNzRlNGQ5YWIwNjUgaG94d29ydGgtc3RkbGliX2xvZ2dpbmctc29jCis1MTYyMyBlYmViMzRhZGQ0YTYyY2RjZTY1ODhkMDQ5MWZjNjhhN2I3NDM4NDY0IHAzeWsKKzUxNjI0IGQwZWQ3ZGJhYWQ1NmUwYTBhZWE1MmZhYjY4OWZkOGJkNmRlYWNmMGIgbGVnYWN5LXRydW5rCis1MTYyNSAwY2I5ZTU3ZWM0MDY0NzhjN2RmM2I2ZTA1YWQ3NTcxYjIzNjQ0NjA0IHAzeWsKKzUxNjI2IGM0ZDhjMDU0NjE2YzAwOWQwYWMwMjc5NTNmODFlNTMyOWVkZTZhMTcgcDN5aworNTE2MjcgYzA5MzYzM2JlYmVjY2ZlMDRlOTQ4MzI1YjYxNjBjNGNmY2IxYzFkYyBwM3lrCis1MTYyOSA1NDBjOTU5MjcyOWU3NGQ4MmFkMzMxZjY3NDNlZDQ5NTE4YWMyYTcxIGhveHdvcnRoLXN0ZGxpYl9sb2dnaW5nLXNvYworNTE2MzEgZDBiODNjNDYzMGMwOTI0ZGY2NjEwNjM1NDNmM2M1NDc4YzhjMzVhYyBwM3lrCis1MTYzMiBkYTNhOWY0MDI4ODYwNjU4YWI3OWM2ZGUzNmIzMzY2Yjk5YTE0NzJiIHAzeWsKKzUxNjMzIDRmNzZmNjNhMzJmMzZiYWFmMTcxNzlhYTZjYmU5NGYyZmIxMmYzM2YgcDN5aworNTE2MzQgZDE0ZjEwYTRkOWQ0NjYwZGNlMTNjODc0YjU5YTYyMTM1MWQxNWVkZSBwM3lrCis1MTYzNSAwNWFjOWM0OTI4YTQ4ZjEyOTRjYjllZGZjOTgxMTZkNzE2NTBlYWU4IGJjYW5ub24tb2JqY2FwCis1MTYzNiA2ZTE5OGM2NTVlZWFhY2YzNTU5MDc1MTcyZGI0ODNmZjYyM2I5ZGRiIGJjYW5ub24tb2JqY2FwCis1MTYzNiA5MGE4ZWU2YzNhODY3NmNjNWI5NDNiMmIxZGViYzNjYTBmMTdiYWYxIGJjYW5ub24tc2FuZGJveGluZworNTE2MzcgYjU2M2IxMmU0YzAwMzYzOTJjNGRiODE1MjhlODkwYWM2ZDhiYmEzNSBiY2Fubm9uLW9iamNhcAorNTE2MzggZmVmMDJkYmE5YjVmMzI2ODcxZTYyNzU0NWJjODZmMWQyZTZjYjAzMCBiY2Fubm9uLW9iamNhcAorNTE2MzkgZWM0ODA1N2EzNGI2MDE4ZjU3YmJmNGY0OTc0NjUyMDM1NWYyOTczNCBwM3lrCis1MTY0MCAwN2ViODAyNjRmNjE1MTFkZWY1NzI4ZGY1YzZhNzU3ZWQ2OGQ5YmQ2IHAzeWsKKzUxNjQxIGY5NzQ4OTBjNmNkMmE3YzUyZDMwMDdkMWQ2Y2IzMTY4ZDRjZjExYWYgcDN5aworNTE2NDIgMjE4YjZlOTAwYThkNDQyNWJkOWQ5MmE1ODIwNWFlMzg4MzNjNzc2ZiBsZWdhY3ktdHJ1bmsKKzUxNjQzIDc1OTEyMjgxNTFkNzAyZWM1MzNiZmJhYmI4YTM4MzVlNmI5YjA5YTEgcDN5aworNTE2NDUgODkzYWRkNTU0NTQxOTY3MDgwMGViMTE3NmI4ZGI0YmNmZmQzNTAwNyBwM3lrCis1MTY0NiBhYTU5NDY2ZWJkOWMxNjE2MWM1MWMxMTQwMDQ3NDExZGY0MTMyMWY5IHAzeWsKKzUxNjQ3IDc1NGE3MjllOTdhZjVhYzY0ODVhNWZhNThlZTRhODliZGQ5ZDQyZjAgbGVnYWN5LXRydW5rCis1MTY0OCBmMGI4ZjcxMTg1ZjU1ZDZmZDhjYzU1ZTJhZTk5OTE3MDc5NDcxYTU2IHAzeWsKKzUxNjUwIDQxNjEwN2EzNTE4NTNkOGViMzNkNWZhNGZjOTYxNTMzOTViNzhiMGUgYmNhbm5vbi1vYmpjYXAKKzUxNjUxIDE2ZDQ4NmM3ZGE4MjQ1YzM1NjBmYzQzZTk5OWQ2YWViOWI1Y2YyNWEgYmNhbm5vbi1vYmpjYXAKKzUxNjUyIDhmNzMyMWFiOGY0MGY3Mzc3NjJhYzAzMjA1OGVlMzFjNThlMzcyMTMgYmNhbm5vbi1vYmpjYXAKKzUxNjUzIDRkMjNlOWExMjcxMDM4NTVkODMzNzliNDAxY2MxN2Y2MWRkZjNkZmYgYmNhbm5vbi1vYmpjYXAKKzUxNjU1IGYxMGZlZGJlNmMxMzk2MWI4ZmI2M2IwOTU2MTc1NDgwMDc1ZjA3Y2IgYmNhbm5vbi1vYmpjYXAKKzUxNjU2IDViMDJlYjVmNjVmMWJmZjZhNDVmMDg4NmRkNDQ4MThhN2ZjNTFjOGQgYmNhbm5vbi1vYmpjYXAKKzUxNjU3IDM1NTQ5NjJkOGIyMWQ3ZTU2NTY5NWFiODhkMzJjMGQzMTljMjYzM2EgYmNhbm5vbi1vYmpjYXAKKzUxNjYzIGU4NWQ1YjIwZWE2MGVkNDE4MTI2YmI3N2EwZDU3MGY4OTBkNWU1YjQgbGVnYWN5LXRydW5rCis1MTY2NCBhODM5NTdjOTFmZGI5YmI3NzE3MDcwZjliMDcyYjUxN2E3NjM1ZmE1IGxlZ2FjeS10cnVuaworNTE2NjUgMWYxNzA1NzA1ODllYTVmYjUwMzYwMzYzOTFiYjEzM2U5NDgwYzAyMiBsZWdhY3ktdHJ1bmsKKzUxNjY3IDYwYzExOTM0NzA5ZWM3NDI3ODRhM2YyYWQyMDBhY2UxYWZhODVhNjIgYmNhbm5vbi1vYmpjYXAKKzUxNjY4IGJjY2M5MTU4MDhkODAxZmZhYThhNTI4YmVmM2VjNWNlNDcwNWZlZGYgYmNhbm5vbi1vYmpjYXAKKzUxNjY5IGRkNTE0YTE3Nzg0OGFlNmU1MTVkZDY3NDE5MDE1NmNmMTI0YWNlMDAgbGVnYWN5LXRydW5rCis1MTY3MCA4OTE3NmU2NWFkZDJjOTg1YjAwMzVkOTJkNmIwZGE5YTVhYjdlN2RhIHAzeWsKKzUxNjcxIDcyMWMzOTRlYjBiYTMzZTk5ZDgwMjk1NzkwODZjY2EzNjllMDRlM2EgbGVnYWN5LXRydW5rCis1MTY3MiA1NjI2YjJlZThjZTRjYmM1YzQxMzhhNTk3Y2YwNmQxNDhjZWNmNjA5IGJjYW5ub24tb2JqY2FwCis1MTY3MyBhYTY0MWZiMTc2OThlZDMyNzc5MDM5MGZjZDM1ZjkxZjc5M2IxM2UzIGJjYW5ub24tb2JqY2FwCis1MTY3NCA4MjA4MWJhOWE1YzUwN2MwNDlhYjc2NDE4OGI1YTA5OTJjYzg3YzA1IGxlZ2FjeS10cnVuaworNTE2NzUgMTFmNzA1MzA1MWZmOWVhZGZjY2Y1ZDY2OTljNDA2N2EyMDZmMzgzMiByZWxlYXNlMjUtbWFpbnQKKzUxNjc2IDRhNzkwNmQ4ZGU4NjEwN2NhMTAwYzA2ZDczMjIyODFjZGU0ZjkzMjggbGVnYWN5LXRydW5rCis1MTY3NyA3MWVhMmJlN2Q5MTI2YThiY2FhZTNiZjY5NTk1MzE3YmYzYWM5MTViIGxlZ2FjeS10cnVuaworNTE2NzggMTg0YzFkYmY3MTk0ZTQwNDhhMWIyYjgxMTU4ZDVjZmIxYzEwYTgzZSByZWxlYXNlMjUtbWFpbnQKKzUxNjc5IGJhODM3NTQ1Y2MyZmFmMDc4YzNjOTg0N2ZiN2ZkYjk5YjUzODllYmUgYmNhbm5vbi1vYmpjYXAKKzUxNjgwIGE2NjZkNzVmM2RmZmMzOTM0ZTZjZTVkMjUzNGRiMmFjZWMyODQ0NjQgYmNhbm5vbi1vYmpjYXAKKzUxNjgxIGQxOTg2ZDM2OWZlZmI4ODliNzU4OGNjZWU5M2U2NzViYzk2M2M2YTggbGVnYWN5LXRydW5rCis1MTY4MiA4NDE4ZjFiOTA5MGU4N2VlYWE5ZDNlZmEzMTU1NzM5NDkzYWU0ZWZjIHJlbGVhc2UyNS1tYWludAorNTE2ODMgZTkwNWY3OGVhZmNhNTcyMWE2NjIxZWJmODNjOGFkMDNmMDU3NWM0NCBsZWdhY3ktdHJ1bmsKKzUxNjg0IDEzNTJhZDlhZmNjMGI4ZGYzZDIwYWEzYjI2ZGI5ZTMxNTc4MDIxNjMgbGVnYWN5LXRydW5rCis1MTY4NSAyZjA4NmQ1OGNhMTBmN2UxMTEzMWM3ZDhjOWNkMDYyNzFkMDMwOGYzIGxlZ2FjeS10cnVuaworNTE2ODYgOGZlMTY4NzAzMzQ4Yjc0YzlhYmJlMDlmNTY4YzU1ZjZmZjU2MWYyZCBsZWdhY3ktdHJ1bmsKKzUxNjg4IDc2OTNiNjk5M2RkYWYzZjgwMzAxN2Y4ODNjYmE2ZTg4NjQ3NGZmOWYgbGVnYWN5LXRydW5rCis1MTY5MCAzMTRjNGU3YTM2ZDNlZjNjNjNmOTk2ZGVhZTI4MTk5OWFlYmM1YTAyIGxlZ2FjeS10cnVuaworNTE2OTEgMWVjN2VmMGYzYjhkMDRmNGNiZDFkNDE0OWNhYWMzOWNmOTU0MTg4ZCBsZWdhY3ktdHJ1bmsKKzUxNjkyIDIxMTk3Y2JlZDUxZGFjODhmMzFkNDU3ZjU1YWM0NTRkYTg0NjVmZjAgcmVsZWFzZTI1LW1haW50Cis1MTY5MyBhYThmZWRmNmJiMjQ4ZWRkYjNmZDFmNzRjYzMzNTcyYWQ2YjQyMzljIGxlZ2FjeS10cnVuaworNTE2OTQgODgzMmI4YzJmYzQ5OWY0NzY0OTcxNDc3OWU5NDkxM2RmMTdjMDIwZiBsZWdhY3ktdHJ1bmsKKzUxNjk1IDRjZWM0NWJkNjY2Mzk4M2VlMmY3NmM0OTY2ZGVmOTE3YzZlN2Q0MDcgcmVsZWFzZTI1LW1haW50Cis1MTY5NiAwNjMzMGQwYjQ2NGFmMjUzMzVkNzExNmQ2ZDkzYmFmYWRmMzZlNGY0IHJlbGVhc2UyNS1tYWludAorNTE2OTcgY2I2NjQyZGVkNGU3NTgxMzJmNmQ1OTUwNTA3NjhmNmUzNDExNDA1ZiBsZWdhY3ktdHJ1bmsKKzUxNjk4IDEwMWUwNGE0ZjQwM2FhZTVjNWU3NDM3YzcxZTQyMTRkYWNhNzI2NmQgaG94d29ydGgtc3RkbGliX2xvZ2dpbmctc29jCis1MTcwMiBjNmZlZjk0NGFkOTVkZWFmZDJhZjA2ODA3ZTdjYzIxMmE3ZmVhOTI3IHJlbGVhc2UyNS1tYWludAorNTE3MDMgNTg5OTgwYzc4MDI1NDYwOGFkMzNhYjQ1NGY5YWU0YjcxMTc4ZDlhOCByZWxlYXNlMjUtbWFpbnQKKzUxNzA0IGNmYjc3ZmZmMDI0MDIxMDgyYWQ4MTFhZDIyNGFmNzE4ZGMxMjYxOGYgbGVnYWN5LXRydW5rCis1MTcxMCBhYmNhNGU2MjZjYjVmNmE4YjI2Mjk5NjA2Y2FhMzY3MjE2NTg3N2YxIHJlbGVhc2UyNS1tYWludAorNTE3MTEgZjVlNzhhZThlYzBjYjhlY2NmMWU4YzgzYTY0MDczZDFhZjJlMzkxZCByZWxlYXNlMjUtbWFpbnQKKzUxNzEyIDAwZDJjOTNiODhiZmVkNTdhZWFlMWEyNjE3Y2ExM2E3YmJhNjcwZDIgcmVsZWFzZTI1LW1haW50Cis1MTcxMyBjNmQ0NGE5NzQ5ZGI0ODZiNjY4Mjc4YmIzNzA1MDhkMzM5Zjc4ZTkyIHJlbGVhc2UyNS1tYWludAorNTE3MTQgOWNhMTlkYjE3ZmFmNzk1MDAzMTlmNWFiMDI1Y2I3NzI4OWFiNDc2MiByZWxlYXNlMjUtbWFpbnQKKzUxNzE1IDI0NGM3MzRmMWQ4ZDFkYjgwY2U3YWU2OTI4MGFhNDk0MTgzN2I5OGYgcmVsZWFzZTI0LW1haW50Cis1MTcxNiBlMWFhOWEyOWVkMTUxZmZiZGYxNmU0NDcwNmIzNjZiYWU2ZGIyZjk3IGxlZ2FjeS10cnVuaworNTE3MTcgOTk1NzQ2N2ZhZjQ3YzNjZTE2YzdhMWIzZjAxNzg5YzBjNzE3Y2Q4MyBsZWdhY3ktdHJ1bmsKKzUxNzE4IGQxYjQ5N2VjMTkwYTFhYjZjZTkzNGUzZjQxYmE4MzJlOTk4ODQzOGEgcmVsZWFzZTI1LW1haW50Cis1MTcxOSBiMzUxNDM4MmMzMjc0N2NjODE0MWU4MTcwZGQ0YTEzNjdkNDdiM2E1IGxlZ2FjeS10cnVuaworNTE3MjAgMDhjYTQ3NmY4YTM0MjRkYzI2M2E3ZTIyMmVhOGQ4ZDM0ZTcyMDE2OCBsZWdhY3ktdHJ1bmsKKzUxNzIxIDk3ZDNlYWI4Y2RhMmY5MjBiNTA0NzlhMGU1ODM0NjU3YjQ4NjJjNDUgbGVnYWN5LXRydW5rCis1MTcyMiA5ZDQ0NzkyMDYzYmJmZGU5YzYzZmI2OTlhOGY4NjFjODIyOGIyZTI2IHJlbGVhc2UyNS1tYWludAorNTE3MjMgNjI3YTIxY2NmMjRmYzQwM2M4Y2I3OWE2NDUzNTQ2Mjk3OThjMzZmNyByZWxlYXNlMjUtbWFpbnQKKzUxNzI0IDMwMGZlNTA2YTBhYTQyMGIwM2NiNmQyMmYwZDQwNDg4ZDcwY2VkNzkgbGVnYWN5LXRydW5rCis1MTcyNSA4MjYzOWMwNTVhNmZhODQ3NTNmNDJiZTQ1ZTUzMWUwNjI5NzQ2ZDI1IGxlZ2FjeS10cnVuaworNTE3MjcgMTU1Y2IxNTU3Yjk3NTBkNDkxMTFiMTBlMzE4OWU3OTAyMjg4NWRiZCByZWxlYXNlMjUtbWFpbnQKKzUxNzI4IDRjODVjZTcwNDI2ZTM5ZjRhYTE5MGQxNDUxOWM0YjFlYTgzZmNjMmEgbGVnYWN5LXRydW5rCis1MTcyOSA4ZGNiODgyZWMzZTFhYWM3ZDMzNmE0MGFhNjRlYzY2NTYxZmMzZGVjIGxlZ2FjeS10cnVuaworNTE3MzAgMzMwMGQ3NDkyZjFhMTNjYTYwNGJmYWEzZmUyOTdhNGYzMzM4ZDBmMyByZWxlYXNlMjUtbWFpbnQKKzUxNzMxIGM1OTFkOTk1NGZiMzkzMzBjMjEzNmIyMjY2MDkwODg0ZmE2NjBhMGIgbGVnYWN5LXRydW5rCis1MTczMiAzZDk2OGI1ZmNhZjliZWU3OGM2YzhmMGQ3MDYzZDkxYmQxNmUwMWM5IGxlZ2FjeS10cnVuaworNTE3MzQgNmE1MWNiODA2OGY1Y2VlZTVhMzAwMDU2ZDY4YmY3ODAwZGQzNzVjOCByZWxlYXNlMjUtbWFpbnQKKzUxNzM1IDVkNmU5NmEyZmU2ZTg2ZGQ1ZjhmNmExMjMyMzk5YTI2ZGQxNzk2YzcgcmVsZWFzZTI1LW1haW50Cis1MTczNiA5ZjBiM2Y5YzcwZGExYzcyMmZiOWJkNTQ5NmQ0OTg1OWY1ZjRmM2Q5IHJlbGVhc2UyNS1tYWludAorNTE3MzcgMTUxMDk3ODFmMDE2OGViZDg1MTNlNGVjOTE2YWUyN2RkZjIwY2YzYSBsZWdhY3ktdHJ1bmsKKzUxNzM4IGVlMGM3NTdjNDk5MGFiYWFiMjA0OWE5MzdjNjJkMGJkMWQxMjZjYjIgbGVnYWN5LXRydW5rCis1MTc0MCBkZWQ3YjY5MGMzMDYzYjBjN2IzOWM0MDQ3MzlmMGNkYWMzNjQ3ZWUyIGxlZ2FjeS10cnVuaworNTE3NDEgY2E5NWJkNTU5ZTcxNjdlZjE1MGNlNWI5NWMyYjc4YWNiZGU5NDc5ZiByZWxlYXNlMjUtbWFpbnQKKzUxNzQyIDZkN2E4YjVlYjU1MWZjNTE5NzEzNmFlODIyZDkyNGUzNzE2ZGUyMzcgbGVnYWN5LXRydW5rCis1MTc0MyA4ZmI1OTc3ODRmMTg1NTExMjVkNDNkOWMwZGJhMjEzZDc4YjMyM2ZlIHJlbGVhc2UyNS1tYWludAorNTE3NDQgNzFhYzc5NmEwMThjNjMxOTllYjY5MzZjMzRlMDUxMGM4MGY5MzdhOCBsZWdhY3ktdHJ1bmsKKzUxNzQ1IDdjNWUyOTM2MjgwM2IxZmYzYWI5ZGZjZTFmYTE0MmRkODU4ZTVmNGEgbGVnYWN5LXRydW5rCis1MTc0NiBlOGI2OGRmOTBiODRlZDVjYTVlNjJhMzBhZTJhMjkyMzM2ZGMxNDc4IHJlbGVhc2UyNS1tYWludAorNTE3NDggYTUyNDg5OTgwYjViNDkzYTVkODljOTlkNzNjMTI1YTI1NjYyYmVjZSBiY2Fubm9uLW9iamNhcAorNTE3NTEgZTQ2NmZmZmRjOWE5MWM1M2M2ZDg4NGVmYTBiZWVlN2M0Mzg4ZTU5OSBsZWdhY3ktdHJ1bmsKKzUxNzU1IDFjNDI1YTg5MGY2Y2NhMzE1NzlkYTBhZmY1NTU0ZTgyYjFmMDU4ZmQgYmNhbm5vbi1vYmpjYXAKKzUxNzU2IGM5Y2MyOWJlNzU1ODc4Y2I2YWI2MDAyODhmNmI3NDY2ODdjZWE0MjQgYmNhbm5vbi1vYmpjYXAKKzUxNzU3IDc2YjhhNzVkYmU2YTNkNzRlMzRiYmY0MDI5OGI0OTU3MGMzYjFkNjIgYmNhbm5vbi1vYmpjYXAKKzUxNzU4IDQ2N2M3MTZlMmY4MThiYjQwNzJhYmZmYjY1YzEzMTcyMWI0ZjliNzUgbGVnYWN5LXRydW5rCis1MTc1OSA4YTIwYzk0ZDlkOTllMjJiOTQxMzE1NTg5NzQxYmIxMTBhZjVlOTkzIHJlbGVhc2UyNS1tYWludAorNTE3NjAgMmE3MzBmYjZmMzRiNDMxYTc1YmM0Yjg3ZDM1MDFiMWE4YTU5MjNhMiBsZWdhY3ktdHJ1bmsKKzUxNzYxIDlkZWIwOGVmNGJhMWRmMzUwZTUwNjZiNGIxZjhlNzkwYmY4NGQ2OTEgcmVsZWFzZTI1LW1haW50Cis1MTc2MiA5OGNkN2IxNjY2ZmI0OGNmNTFmMWUyZDFmMGU2MmQwNWQ0NzgzNTA4IGxlZ2FjeS10cnVuaworNTE3NjMgNmRjYzY0ODc5MzQxMzgxYmIxM2U2NzUyZWMwZjMxODA1NWYzYTExOSByZWxlYXNlMjQtbWFpbnQKKzUxNzY0IGFlNWI4YThiOTExZTI5ZDljMGIzMzUxYjUyYzcwZjM2NjRkM2Q5MDMgcmVsZWFzZTI1LW1haW50Cis1MTc2NSAzMDdhMTFjMDg1YjQ2MTBkODZlZjkyMmQyM2UzN2YxYjg5NjExMDQxIGxlZ2FjeS10cnVuaworNTE3NjYgODM5NGQyZTliZmQ2N2FmNGViMDQzZjgyYWE5NmUyOGMxNmY5OWE0OCByZWxlYXNlMjUtbWFpbnQKKzUxNzY3IGI4ZmJkMzIyNzYwYTliYjE1YTBhMzNmMzBlMWFiNDFhMGUwZGFhNTEgbGVnYWN5LXRydW5rCis1MTc2OSBkNzE5ZmFiNzk2Njc4NzZjZDE0NTY1YTQyN2Q3Njk2MGZkMjhmNTljIHJlbGVhc2UyNS1tYWludAorNTE3NzAgY2I4ODNlN2UwYjdlMTcyY2Y3ZjE0NTFkZjA0ODljZjU3Y2M5YjI1YyBsZWdhY3ktdHJ1bmsKKzUxNzcxIGM5NGYzNzA1NGYxOTcwZjZmYzE2MmIxMjUxZWVmMjU0MDg1OGUyM2MgcDN5aworNTE3NzMgN2EwYWQxMTBlOTFlNzkxNjMxZGY4ODljMTJmNTVmMDc2Yjk4ZjNiZSBwM3lrCis1MTc3NCAzYjc1ZWRjYzRhNmY0ODdkZmM3Y2FlZTExZjdiZmM1Njc0ZTRmMjUxIHJlbGVhc2UyNS1tYWludAorNTE3ODUgZGNlMTdiNWJkMzg3Y2EzYmE3NzhlNWQxYjk3NjY0ZmQ0MThiZDQ0ZCBsZWdhY3ktdHJ1bmsKKzUxNzg2IDgxYjQ2N2ZlOTJlZTUwOTY0YzUyOGZkZWUwZjA5ZDM3NTk3MWU4YjYgcmVsZWFzZTI0LW1haW50Cis1MTc4NyA0YWE5ODQxNDFmZWZjZmI2N2I5ODU3NWU4MmQ2YjBkZTE5N2Q3NWJlIHJlbGVhc2UyNS1tYWludAorNTE3ODggMjUyN2E0ODM1MDk5MjkzYjlkOTAyYjY1NTg1Nzk3MWI5MWEyNTkzOCByZWxlYXNlMjUtbWFpbnQKKzUxNzg5IGNkM2I3ZjI1NjQ5ZDRmMzc5NGYwMDBiN2MwYzRmY2YxNDIwYTIxMTkgbGVnYWN5LXRydW5rCis1MTc5MiA1NmU3ZDY5NTI5ODUxNTVjYmZmNWYwZGVkNDU5NGJkY2EyODVlZTg1IHAzeWsKKzUxNzkzIDVlNTAyZGUwY2VkYWNmZDVlYWFmOTNlNjVjNzEwY2ZmMDg0ZmVjOTkgcmVsZWFzZTI1LW1haW50Cis1MTc5NCA2ZDQ3YzhiYzA1MTI3MWI0OTk0OTBlOWM3Zjc4MWQxZWRjNzBlYWMwIHJlbGVhc2UyNS1tYWludAorNTE3OTUgNmU2YmFmMWFmYjEyYzA1NjAyNmE4ZGQ3NmZkNzAzNjQyY2Q2NTQ2ZiBiY2Fubm9uLW9iamNhcAorNTE3OTYgOTQyMDQ1NDliNTE2MDkzZDczZDk1NTJkMzVkMDExNWU0YjQ3MDU0ZiBiY2Fubm9uLW9iamNhcAorNTE3OTcgMzYzZWY4MDRhMDk2ZjUxODliYmYyYzljYWE3OTZjNDRkMWIyZWVlOCBsZWdhY3ktdHJ1bmsKKzUxNzk4IGVmMGY0MmJmMmEwODUzNTBjOTM5M2IwMzA1ZjM2NGEyMzRhOTU4MjkgbGVnYWN5LXRydW5rCis1MTc5OSBjNjQzYjAzMWQ1MjZjODM1NzVkMWU3MzIzNDc4ZmMwMGYxYzVmZmViIGhveHdvcnRoLXN0ZGxpYl9sb2dnaW5nLXNvYworNTE4MDAgZTgzNzIyYWE3OGRkNDc1MzE0NzlkYzIzNWQ5YTM1YzlmNjIxNWY4NyByZWxlYXNlMjQtbWFpbnQKKzUxODAzIDM4YmE5NTI0NzgzYTFlYWJlOGY2NzdjMDA3ZjZjZTU3OTdjNGIwOTEgbGVnYWN5LXRydW5rCis1MTgwNCBjZjlkM2IzODI1MWY5MmFkNmJiMDZjMzQ3YWY3MjNkMWNlNjY0NDFmIHJlbGVhc2UyNS1tYWludAorNTE4MDUgMWVlYmI2NDczMTBmYjVlY2ZhY2M1ZGViNzVjNmQ1MWViZTE3MzkzNCBsZWdhY3ktdHJ1bmsKKzUxODExIDQwNTgwNDE5MmE2ODI4MjVkZjgzNzJlYWYzY2ZmN2M4YTMyZTdkZGQgcmVsZWFzZTI1LW1haW50Cis1MTgxMyBjM2EzNTNhMDcxNDY4YjU4YTcyMWY5ODM3YzkwMTUxYjA2OGNiZWE3IHJlbGVhc2UyNC1tYWludAorNTE4MTQgNDFjMWU1NDNiOWU5Njk3NjE0NWQ1MjI1ZGM4NTE1ZTdjMjJlZmU5YiBsZWdhY3ktdHJ1bmsKKzUxODE1IDRlODE5NzRmN2UxNDAzYzc0YTc0ZWY2NjljNTE5ZDRiZjllNTU3MGYgbGVnYWN5LXRydW5rCis1MTgxNiBkOTY3M2I2MmNlMzVkOWQwZDNiZjMwYTYyYmQwNGVmNzdjYzY1MThlIGxlZ2FjeS10cnVuaworNTE4MTggNDM0YWZjNzI4ZjZmNzRhZjkwNTAzMTRkYjEyMTg2ZTZlYTAzODM1NiBiY2Fubm9uLW9iamNhcAorNTE4MTkgYTA2NWI1NWUxZmIxZDA2ZjA2ZGQ1NWU3ZmZlOTMzODJkYzJkMjY5MSBsZWdhY3ktdHJ1bmsKKzUxODIwIGQ1YzZmZWEyNTJmMDQ4ODI2NWU3N2U4MmNmYTRmZTQxYTM4OGQ5NGYgbGVnYWN5LXRydW5rCis1MTgyMSBlYzZmZDljZWJkYTE4NTg3YjYwNmQ2NWExNmJmNDZkMWEwYjhmMTAwIGJjYW5ub24tb2JqY2FwCis1MTgyMiA3MDEwOGM2M2M2ZTUwZTgzN2Q2OWNkYTZmNjA3NDcwYTFjOTBkZGMzIGhveHdvcnRoLXN0ZGxpYl9sb2dnaW5nLXNvYworNTE4MjMgMzIzOWY5M2NmNGQyM2VkNjlmYzg4MTcyOTRjMjgyZTAxNzRlZmNhNCBob3h3b3J0aC1zdGRsaWJfbG9nZ2luZy1zb2MKKzUxODI0IDI2NTNmODMzNTg3NzkzODdkMWRkNDExZmY2NzYwNTllMWRhZjkyYzYgaG94d29ydGgtc3RkbGliX2xvZ2dpbmctc29jCis1MTgyNSA4OTFlMzMyY2QyZDZhMjY5YzBjYTJiMWQ0OTAzMDNjMmZjMWIxMTNmIHJlbGVhc2UyNS1tYWludAorNTE4MjYgMDI5OGNjNmMyOWNkNmVjZGFjZDU0ZWMyNGUxMTcwMDYxZThjM2ZhMCByZWxlYXNlMjUtbWFpbnQKKzUxODI3IGMwMzE0Yzg5MzZlNTExNmQzYmJiYjJmN2RhNWUwMGM2NjZiOWMxYmYgbGVnYWN5LXRydW5rCis1MTgyOCBkNGU1M2U3MGNkNzgyNzRkMDUzODYzYzhmNTZiYWE1NjBhMmI1ZTJkIGxlZ2FjeS10cnVuaworNTE4MjkgN2JlMzBjYmZjOWIyODNhYTM4OGUwNzRhMDhkZmZjYjQ3M2IyZmRkMSBsZWdhY3ktdHJ1bmsKKzUxODMwIDUyN2EzZDAwNTJjOTAxMTIxYjU4YmFhYjk2MDhlY2VjMzgxYmVkYjQgbGVnYWN5LXRydW5rCis1MTgzMSA2YTgzYjI3NDBmYzdjY2RhMDNkOTYxMGUzY2QwYjg5NDI5MzM5MWM5IHJlbGVhc2UyNS1tYWludAorNTE4MzIgNDA3MzVkNWY4YWNkYmU3Nzg4MWRmOWNlYmQyMTZmYTdhODU5ZWVhYyBsZWdhY3ktdHJ1bmsKKzUxODMzIGI1Mjc1ODgyYTNlMGQ0YjBjYzQzMTQ3YjMzM2ViMzg3NDI2YTkwNzggbGVnYWN5LXRydW5rCis1MTgzNCBhNGEyMTRiZGY4ZWFjMGVhMGU5YzM4ZDFhMmM4OTQ3NGFkNWM4YjQ3IHJlbGVhc2UyNS1tYWludAorNTE4MzUgNmY2ZTU1ZmQ5Yjc5MWMyYTdkY2FkODg1NjE3NTFlNzEyYWYzNTEwYiBsZWdhY3ktdHJ1bmsKKzUxODM2IDBlYjNmMGY1NGEyNjc0ZmVmNjgwYWI1MjkxYWRlMWI1ZmI5NmVhYjkgcmVsZWFzZTI1LW1haW50Cis1MTgzNyBjMmZkOTc4ZGYzOTIyNDI1ZjVmZTg3OTFkZDQ5ZGE1NWQwOTMzMDdmIGxlZ2FjeS10cnVuaworNTE4MzggOWU3ZGM2NDMyYTQ0NjViNjM1ZDc3MWU2ZTgyYTZlMThjYzcxMTRkNyByZWxlYXNlMjUtbWFpbnQKKzUxODQxIDgwNGQxNzFjMmNiNzE1NWM2OTMyMmU3YTk2ODc1MjI4YzExN2MwNmQgaW50X3VuaWZpY2F0aW9uCis1MTg0NyAwZmZlN2Y5MmFiMmZkZWZhMmY4ODVhMmQxOTliOGVlNjQ1OGI2ZmFkIHJlbGVhc2UyNS1tYWludAorNTE4NDggMzk4NmIzNmI4NDk1MjMzNDBkMzA5YzljMDg1Y2YwNjVhZDZjMmJkZSByZWxlYXNlMjUtbWFpbnQKKzUxODQ5IDVlZjA0MDZlNmQ1MjRjNmNjZjY3MWIyODQwOTI4ZDU3NTUzOWQ2OTQgcmVsZWFzZTI1LW1haW50Cis1MTg1MCBlNGU4ZjBhNGVkYTRmZTI4YmM3NTFhY2RkYWU5NmMxNTNhN2Q3YjE1IHJlbGVhc2UyNS1tYWludAorNTE4NTEgNTRkNGZkMDg4Mzg1YzdmZGMxZTQxZjY0MDZjZDU1NzRjZjIxZjJiMSByZWxlYXNlMjUtbWFpbnQKKzUxODUzIGQwNmIyYjQyZDEzODgxNmZlYjg5Mjc3NTA4NTkyOWE2ZWQzNTUxZjUgcmVsZWFzZTI0LW1haW50Cis1MTg1NCAxNWFkNmJhMmUxYTU0Mjc4MWJlYWJhMTI0MDNkZjdjYjc0MDFlMmE3IGxlZ2FjeS10cnVuaworNTE4NTUgNjZkMDM1NzAyOWI1NWFjNjE2OGY5YTMwMTgzOTk3ZTdmMjU3OGRhOSBsZWdhY3ktdHJ1bmsKKzUxODU2IGMwYTA3MWRmNDYyMWE1Nzk0ZDQ1YTkyZTRhNTk1MzZkN2NiM2U1NmQgbGVnYWN5LXRydW5rCis1MTg1NyAwZjdlZTk5MjViN2M0Mjk2MmI2MTU2NGJkMGQ0NDlhMzNjYTIzZmJiIHJlbGVhc2UyNS1tYWludAorNTE4NTggMGJhYzQwZTRkMGM2NDNhNzhjMThiNDZmY2IwZjQ4Yzc4NzFhZDFmZCBsZWdhY3ktdHJ1bmsKKzUxODU5IGM1YzlkYmVlYWZhNzZhMWRkNGJmMjZmMjI2MDFjYWQ2ZmRkMzcyNGMgcmVsZWFzZTI1LW1haW50Cis1MTg2MCBjYzNjYjNhODIzN2VhNTQ1ZGI5MTdkODRjNDlkOGEwYTVlMTc1Y2MxIHJlbGVhc2UyNS1tYWludAorNTE4NjEgN2Q0MGQzN2U0Y2MzNWQ2MTkxOTQwODJkOWY4MjM5MTRmYzIyZjdiNCByZWxlYXNlMjUtbWFpbnQKKzUxODYyIDI0OWZkYjU5ZGM1MmY5YjUzYTUyOTJhZGViMzM4MmQ1NjdiOTA5YWEgcmVsZWFzZTI1LW1haW50Cis1MTg2MyBkYzUwZDRhYzk1ZDkxZmMxODAwMTg3MDQwNDE3NTdlOWYyOWQzNTY4IGJjYW5ub24tb2JqY2FwCis1MTg2NCA5NWNmMzFlNjkzMzUwMWYyZDNmMjk2ZGJiMDdkMjY1MTEzMGIzZjhhIGJjYW5ub24tb2JqY2FwCis1MTg2NSA0MTc1MDFlZTNlODZmZmFjZWJkZjBlNmE4YjJkMWU5NzQ1OTRmNWNkIGxlZ2FjeS10cnVuaworNTE4NjYgZTU3ZDhhZTQ1NjY5ZjRkN2UyZDRjZTNkN2Y4YTYxZWVhZjJlMTZkOSBsZWdhY3ktdHJ1bmsKKzUxODY3IDU0YjgyYmQyNTY5M2U5ZDdmMmRmNjhhMzhmMTllZDUyOWQ5ZjhjODYgbGVnYWN5LXRydW5rCis1MTg2OCA1MDQ0ZDA2OWI1MzI5MmVlMDMwZDE2M2YxNjNmMGU4MmRmNjhmYWIwIGxlZ2FjeS10cnVuaworNTE4NzQgMTBlYjFmNmIzMDgwOTM0MjYyN2NhMTQ0ZTAwM2FiZmRmMjRjMzlhMyBiY2Fubm9uLW9iamNhcAorNTE4NzUgMGJjMzljMTMxOWRkYzAzN2FiMmFiNDA0NDlmZjNjZjgyOTJmY2FhZCBiY2Fubm9uLW9iamNhcAorNTE4NzYgMDdhNDRiZmY5NjdmNTgyNmMzNTEwODFkNmNlZGI3MTI5ZDEzMjM2YiByZWxlYXNlMjUtbWFpbnQKKzUxODc3IDc0ZTQyNGMxNzhmNDVjMjM5ZjE5NTlhZTQ1NmQ1MmFlNTc5NzU2MjcgbGVnYWN5LXRydW5rCis1MTg3OCAyYjA1ZWM1ZGY3Nzc3OTdkNDhlZDMxYmIwZDA1NjgzOGU1ZmU0ZTNkIGxlZ2FjeS10cnVuaworNTE4NzkgYTAyMzVkNDM1ZWQ0ZTcyZDQ5YzVhNTNmMmMxNTdmZjgyNzViMjVkMiBiY2Fubm9uLW9iamNhcAorNTE4ODAgNzUxNzljMmVjYWMxYzViMGYzNWM0Njc3MjE0MjliMDI5YTVmZGFiYiBiY2Fubm9uLW9iamNhcAorNTE4ODEgZGFkYTM0YjRkNmI2YTRlMmQ3YTg5ZjBhYzAzYzAwYzNjNzQ1YTIyNCBiY2Fubm9uLW9iamNhcAorNTE4ODIgMzRhYjA1Mjc0NWVjMmE3MGU0YTIxY2I3NjBmNWFhMDQ1M2FlOGYyNiBiY2Fubm9uLW9iamNhcAorNTE4ODMgMGVjZTI4Y2I1YjllNzNlOGNmMGY2NWUyM2VhM2EyNjk1NWJhZjgxNSBsZWdhY3ktdHJ1bmsKKzUxODg0IDg5OWQ0ZGMxMmMzNzhkYmUyNWI2ODljNDUxZWI1NDVmZDY4YzE0N2UgcmVsZWFzZTI1LW1haW50Cis1MTg4NSBiNjczM2EzNmVlY2RmNjU1NmE4MzhjMTdhNDNlN2VmNjI0ZDNmMTIyIGxlZ2FjeS10cnVuaworNTE4ODYgODczNzU5YjBiMTI2MTZhODA0ZTAxZTlmYWFmNDczZmJlZTJmNmZkZiByZWxlYXNlMjUtbWFpbnQKKzUxODg4IDRmMzZjNDE1OTZiMThkMGRmZjc5Y2NjMWQ0ZjFjNTkxYmI0ZjRhYzIgcmVsZWFzZTI1LW1haW50Cis1MTg4OSAyZTk5NWYyNDRkNmI2MmM5NDA5MDllYzAyMWM3N2JkYmRkOTI5N2FmIGxlZ2FjeS10cnVuaworNTE4OTAgMmEzNDk4ZDg3NDFiNDJjNTFhYTRiMzc5ZDQ2YTM0YTRhNjZlYTQzOCByZWxlYXNlMjUtbWFpbnQKKzUxODkxIGY5YzlmOGEwNWE4OTRiZDE0MDYyY2IwNDFkZDUwMmNkOTkwMTMzZTEgbGVnYWN5LXRydW5rCis1MTg5MiA4ZDNiNzY0MzU5OTIxYWNkNzMwMTJmODdjNzE0Y2I4NzJjNTEzNzU4IGJjYW5ub24tb2JqY2FwCis1MTg5NiAzMzBiZGEyNDA1ZWU2YzY4MjE4M2RjNWVhYTUzMTBiODg5MjMwNDAzIGJjYW5ub24tb2JqY2FwCis1MTg5NyAxNjYwZWFhMGNjMjY2MzMzMGMzMTM4YjJmY2IyYjFlZGJlMjI4ZTQ4IGxlZ2FjeS10cnVuaworNTE5MDEgZjVmNGQyZmRiNjJjMjlhZjk0NDAzYTIxYjczZjRiNGMxYTdlNDBiZSBiY2Fubm9uLW9iamNhcAorNTE5MDIgZDQzZDk0MjJiN2FjNzlmM2I2ZTFjZmZkZGJmY2I0MzEwNzUzYjk3MCByZWxlYXNlMjUtbWFpbnQKKzUxOTAzIGNlZGVhOWUyM2E5NTVjNzU1OWMyN2FkZTMyZWM0MGZkMDAwN2RlM2MgbGVnYWN5LXRydW5rCis1MTkwNCBiYjllOTE0ZWRlMDUxZmFiMDBiMjJjZjAyODhmZjRjZjcxNjY3NWYyIGxlZ2FjeS10cnVuaworNTE5MDUgNTkwYTk4YTcwYmY5ZDk0NWRhNmMxZjZjNGFkNTNkNDMwOGRhNWMwOCByZWxlYXNlMjUtbWFpbnQKKzUxOTA2IDZiMDFhOWM0NTVkYmQyNjVkZGVmYjdhNzU4YmJlMzUyYzNmNmM0NzMgcmVsZWFzZTI1LW1haW50Cis1MTkwNyA3Njc5NjJmODg4MzQ2MDlmOGU4OTQ4MjdlODhkZmI0NDIxMWExOTRhIHJlbGVhc2UyNS1tYWludAorNTE5MDggYzEwYTcxY2YxNmU0NzE0MjVlNmQ3NTY0ZTNmN2E2NDhmMTRiNzAyZSByZWxlYXNlMjUtbWFpbnQKKzUxOTA5IDdmNWY0NmI1NjYxMWMxNTNhZWM3YjA1M2MwMGYxZDg5MDNmYTFlZWQgYmNhbm5vbi1vYmpjYXAKKzUxOTEwIDIwMTQ3NDE1ZTk3ZjliMGNkOTUxYzFlZTVkNjhhZjI5YTIzODg4ZDMgYmNhbm5vbi1vYmpjYXAKKzUxOTExIGNlMjQ3NzhhNjQ5ZjFhZTUzZjVkMDA3NTgyMTQ0NWJhMjQ5MTViZjUgYmNhbm5vbi1vYmpjYXAKKzUxOTEyIDc3NTIzNzgwNzdhNTM3Y2IzY2QyYTRjMGZhOTc1MjdiYzcxMDYwMDggYmNhbm5vbi1vYmpjYXAKKzUxOTEzIGI0NDcwYTU0OTkzYTM4N2M1NzliZjY3OWIyM2ExYzU0NjdlZDlkMzQgbGVnYWN5LXRydW5rCis1MTkxNCA3ODM5NDFhMDBlOWUyOTUyMjkxYzA4Yzg0MjdlNjlhZWNiZjE3ZDZiIGJjYW5ub24tb2JqY2FwCis1MTkxNSBlNzBhN2I3MTk3YjY4NDFkNzgzNjcwODBiNmVmNjMwMWYwYWY1YWQzIGJjYW5ub24tb2JqY2FwCis1MTkxNiBiNmVlNGQzNTQxYzBhNTI4ODEyMWQyODhhZGZkMjNhOTgxMjM2NjgwIGJjYW5ub24tb2JqY2FwCis1MTkxNyAwOTRkYWU0OWFiZWJiMzRkYTM4YzNiMDY0M2JhODA3NmM3OWNiZjI4IGJjYW5ub24tb2JqY2FwCis1MTkxOCBlMDM2ZmM5YzY4MjcxNDc3Yzk2NWZhNjkyM2JiMmVlZTgxMmIzZjhhIHJlbGVhc2UyNS1tYWludAorNTE5MTkgYmM3NzJmYjUxMzkyOTVkMTU4YjcyNzQ1NDZmOGFkNmRjZmNiMDdkNiByZWxlYXNlMjQtbWFpbnQKKzUxOTIwIDcxYjgwMjQwYWMzZGRhZTQxOTJhMmM1MGExY2JjNTRkYjZjZGRmYmIgbGVnYWN5LXRydW5rCis1MTkyNiAwMTcxMTA4YWI1MTU1OGViMDZiN2FiNGU3M2QwNmY1MWM4MzM4M2Y1IGxlZ2FjeS10cnVuaworNTE5MjcgNDg4OGQyZDRkMjkyZWMzOGQ1ZTNlOTQzMTkxMzkzZTA3Y2YzMmNjNyBsZWdhY3ktdHJ1bmsKKzUxOTI4IDcxZTBmM2ZjNTdkYTc3OGY0ZmUwODQ5YjY0YTY1ZWFhNjExZGQ1ODUgbGVnYWN5LXRydW5rCis1MTkyOSBiMzAzZDJjMmM2YzU2NDM0M2EwMzY3ZTBmZjhhNmFjZTdhYzU5NzM4IGJjYW5ub24tb2JqY2FwCis1MTkzOSBlYTI0YTljOGVkYTI1OGI5M2FlZjU5MTNjMjg4M2RjNDM1NmRkMTJmIGJjYW5ub24tb2JqY2FwCis1MTk0MCAwMDMxZmMyZTA1ZTI4NmUyYmFmODkzN2U3YjMzYzcyYmVlOTdlMmVkIGJjYW5ub24tb2JqY2FwCis1MTk0MSAwMTUxYzA3YzUzZTUxMDYyNzMyYzAzN2UyNTY0NWJlMjNmMGRmN2E2IGJjYW5ub24tb2JqY2FwCis1MTk0MiBkZTQ5MjRkMDM5MDNmNzRjODU5ZmMyMzA3ZWJiMmRiM2JmZTRjOTA3IGJjYW5ub24tb2JqY2FwCis1MTk0MyAxZjQ4OTdmNWZiMmJlYmE2MTg4ZjRlMjM0ZTAyZjRiMGYyOGU3ZGExIGJjYW5ub24tb2JqY2FwCis1MTk0NCA0M2JhZjZiYjBmOGIwYjRlNzNkMGUwMmU4ZWJlMGZiM2VlZDQwNWIyIGJjYW5ub24tb2JqY2FwCis1MTk0NSA1NmYwZWM1MGQ3MzcxNzQ4Yzk4OWU2MWNkOWIyNmI1NzBlNTIzOWUzIGJjYW5ub24tb2JqY2FwCis1MTk0OSA5MzYyOTcwNDdjMTc5ZWQ4Nzc5ZmMyM2IxZTZiNDM2ZjMyNDZhMjVjIGxlZ2FjeS10cnVuaworNTE5NTAgNjk1MzBhYTIxYjhhNjQ5ZmY3NDcwYWUxNGY5ODFjM2NhZDNjMmE2NiBsZWdhY3ktdHJ1bmsKKzUxOTUxIDM1YmYxNmU3ZjExY2RlMTZjNDVkNmMwN2YzOGM1MzI5Y2FhODUyYWUgcmVsZWFzZTI1LW1haW50Cis1MTk1MiBlZmY4OGM2YWFhYzM3NDc2ZGNiZDljOTc3OGNhNjExZDg1MmE0NjkwIHJlbGVhc2UyNS1tYWludAorNTE5NTMgZGU0ODY2ZDQ0ZjEzNzc1YzVmZGEzMmQzZmI3MTljYjNiYjU3MzE1NCBsZWdhY3ktdHJ1bmsKKzUxOTU0IDdmNmI0ZmM2N2JiNmIzZjM5MTc5ZWI4MWI4NDBhMGExNTk5YjMxZDQgcmVsZWFzZTI1LW1haW50Cis1MTk1OCBkZjk4ZDk3MzEzOTBmMTQ3NjgxN2Y5NDQ5NDQ4NWY3YWRjMGEwZWJjIGJjYW5ub24tb2JqY2FwCis1MTk1OSAwODlkZGYxODc3Y2MwNzhkNjE0NjZkMTQyZGRhMTJkOTU0YTk3YWUwIGJjYW5ub24tb2JqY2FwCis1MTk3MSAyNGY5YTEzMDg0YjAxNzQ3NDQzOTJmZDhjMDdiYjYzYjc4OGE2ODVkIGxlZ2FjeS10cnVuaworNTE5NzIgYjhjYjcyMDEzNzljNjc5NTBkZTExYWVmZDNjMDMxMTExNDQzNDFjYiBsZWdhY3ktdHJ1bmsKKzUxOTczIGFlYTE5YzJhNDViZmM5NGFlMTYxNTc5M2JhNjBhYzk0OTBmMzRkMjQgdGhlbGxlcl9tb2R1bGVmaW5kZXIKKzUxOTc0IDI2NjE4NTI4ZmEzYjc2NGIwOGQ2NzgxYjNiODMzNTFiYTY2OWQ1MzEgdGhlbGxlcl9tb2R1bGVmaW5kZXIKKzUxOTc1IDk0YThjZDU4ODhlNzBiMDcwM2I1NmQ2NGIxYTExNDQxMzQzZDQzOGQgbGVnYWN5LXRydW5rCis1MTk3NiAwYjYzYzI4NTkzNGZhMDUwZmJmYjRhYjY3YjdmMmZiMTIyYmU5OWU3IHRoZWxsZXJfbW9kdWxlZmluZGVyCis1MTk3NyA2OWJlMDE1YTRiNTFjMDNkMjQ5MGE0OTU3NDNmM2Q4OGM5YWY1ZGY0IHRoZWxsZXJfbW9kdWxlZmluZGVyCis1MTk3OCBjNzgxYzk4MGM5YTBkZDg4MGI5MzFkZjFhNWM4ZmVjMDQyYjIzNjlkIHRoZWxsZXJfbW9kdWxlZmluZGVyCis1MTk3OSAwNzlmOWJlYjFkN2ZhMzU5MjJiMjg2ODBjY2RjYTY3NTFlYTAwYjYyIHRoZWxsZXJfbW9kdWxlZmluZGVyCis1MTk4MCA1ODcyYmFiZmY2Mzg0ZjQ2ZTUzZTUzOTk0ZDgxZGZlYmMyZDYyNzhmIHRoZWxsZXJfbW9kdWxlZmluZGVyCis1MTk4MSBlM2M1ZjNiNTkyNzFmMDJlYWYwYzM2YzkwODg3N2ZkZjYzZThkMjRjIHRoZWxsZXJfbW9kdWxlZmluZGVyCis1MTk4MiBlMjc0MzIyMjU4MWQyOGRiZTlmYThmYjFiZjdmMDQyMDAwZWI2ODFlIHRoZWxsZXJfbW9kdWxlZmluZGVyCis1MTk4MyA3NDM5N2IwMDk5MTQxZmNhZmQ5ZWMyMmNhZjdlZGU3OWY1ZWMzNjE1IHRoZWxsZXJfbW9kdWxlZmluZGVyCis1MTk4NCBiOTQyNzhlMWJjYjMxNDFhNTAyZDczNjM1ZDQzNzE4YTI5NjYzNDU3IHRoZWxsZXJfbW9kdWxlZmluZGVyCis1MTk4NiAwNGM5OThmZjI4YjdkNDFjZDMyOTc2NDcyMWU4NTYwZDRiNGJmODVmIGxlZ2FjeS10cnVuaworNTE5ODcgY2FiMDU2OTAzYjNkZDI2NDkyZjA2ZWE5MzI4ZmU1YTMzZjk0MGYzNyBsZWdhY3ktdHJ1bmsKKzUxOTg4IGMyMGJkNzRhYzlhNjdkZGViMjI3NWYwNDQxODA1YWJhNmVhYTI3NjUgcmVsZWFzZTI1LW1haW50Cis1MTk4OSA0NzllMzg5Y2I0NjJmOGRjYmE4ODVjZWJjOWEwMjY1ZWFhNzE4NjQ3IGxlZ2FjeS10cnVuaworNTE5OTAgN2Y2ZGRmNTU1YzEyMGJjOTM1YTgyOWU3NTBjZGYxMWRkMGZlMzMxOSBsZWdhY3ktdHJ1bmsKKzUxOTkxIGQ5OTc1MzMxNDQ1MzM1M2RkZWViOTk2ZmI3ZDA3NTcyMjk5ZGQ4MDAgbGVnYWN5LXRydW5rCis1MTk5MiBiNTI5MmY5Njc4NzdjYzM0OWExNDM1OTJhNTViY2YxNTNhMmY5MzZlIHJlbGVhc2UyNS1tYWludAorNTE5OTMgMjViY2RmM2NkMTk0MjFkNDM0NDdlNGVmNmIxODQ4OWNiMDY4ZGY5OSBsZWdhY3ktdHJ1bmsKKzUxOTk0IDM0NzhjMTYwMjA3Yjc5ZDZmOGMxODVlNDIzMGM2MmU4MjUwMjgyN2MgcmVsZWFzZTI1LW1haW50Cis1MTk5NSBlY2FhZmMzMmM1MDAwNjMxNDQ5YTYwMWI4NDg2MTQxYWJhZjYxODVhIGxlZ2FjeS10cnVuaworNTE5OTYgY2NkZGIyMjYxMWRjNmYwZDU2MDBjZWIxMTVjZWY5ZjAyNDBhODcyMiByZWxlYXNlMjUtbWFpbnQKKzUxOTk3IDYwM2NkZTVlZDFlYmM1N2Y2OTU5MTljMjc5YWEzODM0YjMyNjRlY2IgcmVsZWFzZTI1LW1haW50Cis1MTk5OCAzYzdmMTg4MWU4MmE5NmFlNDY1YmMwMmFmMmNlZTllYjJmNDRhMWE5IHJlbGVhc2UyNS1tYWludAorNTE5OTkgZGVjN2Q5OTNiNjhmMjQxNDlhZDg4ZjE5MjgyZWVjMmUxZWFiNTZiNCByZWxlYXNlMjUtbWFpbnQKKzUyMDAwIGY4YTdkZmJmODFkMDg5MjJiMTA1Zjc2ZGUzMDM1OGY2MDYzODAwNDcgbGVnYWN5LXRydW5rCis1MjAwNSA3OGM1YTAzOWZhM2E2NDIzY2UwODBkMDQ5YWI0OGEzNDA1MjI4ODQ1IGJjYW5ub24tb2JqY2FwCis1MjAxMCA3OGQ0ZTVlNDcwY2Y4MjQzYTljNjdhMDdjODVmYWVhYWI2YmVkYmQ3IGJjYW5ub24tb2JqY2FwCis1MjAxMSBiMDcyMjI4Yzk1YTIwNDA1MDEwN2VhMjI1OTg0ZDFjZDg1YWIxMGM2IGxlZ2FjeS10cnVuaworNTIwMTQgNzRkY2ZkMzZmN2M0YTM5YjI1NjVhOGEzZjJkMjY5ZDE5YjU2YzI1ZCBsZWdhY3ktdHJ1bmsKKzUyMDE1IGU2YTRlMDY3ODk5M2NlODZkMGRhN2E4YWZmMzA5ZDdhYTYwZTJmYjQgcmVsZWFzZTI0LW1haW50Cis1MjAxNiA5MzQ3YzJiNDUxYmFkOWIxZGEzZmJhMjdiYTY0NWIyYThmZjUxMzBiIHJlbGVhc2UyNC1tYWludAorNTIwMTcgNmZiNDZlODdkNWY5NGM2MGU1NDhmYzE0M2M1ODRhMDRkYTU0MWExYyByZWxlYXNlMjQtbWFpbnQKKzUyMDE4IDNiNzBkYTllZTM2ODc1OTMwMmU3ZGJjNTQ3YTc2OWU3MTU1MDIwMGYgbGVnYWN5LXRydW5rCis1MjAxOSBhNTIxNDJiYzE1OGY2NWQ1ZTM2N2NiNmI3MjQ3ZTdkMDA3NWU4MjgwIHJlbGVhc2UyNC1tYWludAorNTIwMjAgNjhhNTZhMTVkNzU1OTMzNmM2YTViZmU1ZjMxMGE3ZmExNDY0ZGRkZCByZWxlYXNlMjUtbWFpbnQKKzUyMDIxIDk0ZGZiYjlkYWM1NzhiMDM3ZGZiZDI4NGQ4MTI0NmQ2NzQ1M2NmYzIgcmVsZWFzZTI0LW1haW50Cis1MjAyMiBjNDlmMDJhNTBjYWRkNmY4MDFjYjVlMjdkOGVhYTNiZGNlYjY1ZjZhIGJjYW5ub24tb2JqY2FwCis1MjAyOCAxNjk2ZDg1YmEwNDM1NjQ1YTJhY2Y0NzU0MjRlZDg5Mjk1OGM4ZTE2IHJlbGVhc2UyNC1tYWludAorNTIwMjkgYWYzMTg2YzY0MDkyMDdjNThjZTdkMjUxNjE5MWNkOGQ1MWZhNjU4NCByZWxlYXNlMjQtbWFpbnQKKzUyMDMwIDg4NGQxY2I3MDIyMTViYjdkMDJkNjQ2NjcxYjg1MzE1MzE5NmY4YzUgcmVsZWFzZTI0LW1haW50Cis1MjAzMSAxMjg2OWFhZTlmNmQ5ZWRmYmU4YjY4YjQyMmYwMWIwNjY1ZmM4ZjQ1IGJjYW5ub24tb2JqY2FwCis1MjAzMiBmOTBiYTMwNmMyODdhNDhkYjAxMDM1OWQyY2FjOWQ5MWRiYjhkMzkzIGxlZ2FjeS10cnVuaworNTIwMzMgMzUwNzc3NWY0ZWQ0MWQ1NmEyYTdhODc4YWZlZDI4NjhmNzYzMWZlZCBiY2Fubm9uLW9iamNhcAorNTIwMzUgZmIyODllZTFjZDYwN2IzNzlhMDFlYWMyNjA4ZTk2OTNhNDllNGFlMCByZWxlYXNlMjQtbWFpbnQKKzUyMDM2IGFiNzllZDBmOTI4MTc1ZTE5MDc1MjIxYTY4YmQxOTYwM2JjY2VlZTUgcmVsZWFzZTI0LW1haW50Cis1MjAzNyBjYzE4ZmRhZDEwOGI3ZDcyMDA3OTdlYjA1ZTFjNTBjMzc5MDgxMTA2IHJlbGVhc2UyNC1tYWludAorNTIwNDAgNGYxMTc0NWM3ZTVmY2U4ODgxNDg2Y2M4ZmY2NDdmYzM1ZmM5YjgzNyByZWxlYXNlMjQtbWFpbnQKKzUyMDQxIGMxMWNhZTJiOWE3NWYyYTgxNDFkODdhMDE2NTAzODgwMTdkNDlhN2IgcmVsZWFzZTI0LW1haW50Cis1MjA0MiAyNjMyYzlhZjY0YWJiMjUyNzYxNGI0Y2ExNmFjYjg5MjhmNmZjNWM3IHJlbGVhc2UyNC1tYWludAorNTIwNDMgMTVkZGFiZTYzZDk1MmM2N2IzNTNhY2UzZDIyODM3ODMwZmJlNTZiNSByZWxlYXNlMjQtbWFpbnQKKzUyMDQ0IDFlNWYwYjA0NjZkOGRmMGRiYTljNGYwMDE2MTRlNWE2NTAzYjg4YjEgcmVsZWFzZTI0LW1haW50Cis1MjA0NSA5ZTBmYjk1NDc5MWVjOTM0OTJlY2E3YWUyMmZmOTM4Y2NiMTUzMjVjIHJlbGVhc2UyNC1tYWludAorNTIwNDggMDU4NjE3NDllYWNkMjExYWZiMmNmMTNhZDlkMGFkM2ZmODA3ZGZmMSBsZWdhY3ktdHJ1bmsKKzUyMDQ5IDAxYzAzYTcxMWIxNWNiMWVkMDFmZDNmMGQzMTRkMzAwNTNlNjZmOGUgcmVsZWFzZTI1LW1haW50Cis1MjA1MCA1MmNkYmU0Yjc2NDRkNzJhYTkyY2EwZmM2NTQ4Nzg2MTRjYzEzZDZlIHJlbGVhc2UyNS1tYWludAorNTIwNTEgMGVkZjM5OTk2MThhZTI4Y2Y5NjhhOWIwMGVkYjAyNzJjZjFiMTNhYiBsZWdhY3ktdHJ1bmsKKzUyMDUyIDFkYzIyY2MyMDEzMmYyYWMwNTk5NzdhNWM0YzdmYTJhOGMzMDg0ODIgcmVsZWFzZTI0LW1haW50Cis1MjA1MyBkZTc5ZjE4NzBhZThmMWQ4NmQxZjU4NTE4NjgxZDM0NmVmZTM1ZmVhIGxlZ2FjeS10cnVuaworNTIwNTQgNWRmZmEzNWNjNjQzMDJjMmMzZGRhM2FlMWZjZGJhYzhkNmZjODI5YiByZWxlYXNlMjQtbWFpbnQKKzUyMDU1IGQ4MzM4MDZjNzM1MWE1OTE3MjYyYzg4OTAwYzUyZmM4MWRjNjVhNjQgcmVsZWFzZTI1LW1haW50Cis1MjA1NiBjNDc3YTBlMmIwNjc5OWRhYWQ4OTQ1MmQ5ODFjNzVkY2M0OWMzOWQxIGxlZ2FjeS10cnVuaworNTIwNTcgMmM4MjRhOGExZmI4Y2Q1NmFhOGViNmZlZmY5Y2E1NmQzNTMxZmRhNiByZWxlYXNlMjUtbWFpbnQKKzUyMDU4IDQ5ZmJkZGZiMTIxNzAxZGRlZTE2NGFjNzUyYjEzMjEyODBmYmNmNjggbGVnYWN5LXRydW5rCis1MjA1OSAxM2NmMzQ0ZGU4Yzk4OTg0ZjM1ZjhkMzgxOWMxODE2ODQ0MTUxNGM1IHJlbGVhc2UyNC1tYWludAorNTIwNjAgNTI0NjBiMDkyYjVhNjZkNWEzNTkzYTE2ZjJlNGM3NjMxYjg5ZDhmNiByZWxlYXNlMjUtbWFpbnQKKzUyMDYxIGUxYWI0NjUzZWJjMDkzMjU5NmI2YjA2NDJjMmYwZTg5YjE5MmMxM2IgbGVnYWN5LXRydW5rCis1MjA2MiAzOTg2YmZlNTMxMDFkYjMxMjkyMjk0M2E2YzkzMTNmN2U5OTc0OWNmIHJlbGVhc2UyNS1tYWludAorNTIwNjMgZTdhNTgzNDFiMmU4Zjc1MzVkNzdjZDE0YzIyN2IyYTcxOGQzMzVlMSBsZWdhY3ktdHJ1bmsKKzUyMDY0IDFiZjUxZDJmNDY5ZDJkMmZhZjc4M2JjNjhmNTNjZWY5YmYyODQ2YjkgcmVsZWFzZTI1LW1haW50Cis1MjA2NSBiOWEyZWYxMzAyZDQ3Y2NkNTE1MGQ1OTNhMTljNjFlNWEwM2I2MjVkIGxlZ2FjeS10cnVuaworNTIwNjYgOTlkMWM5MzY3Njc5NGQyZDRiNTgzYjY0ODYyN2JhZTZiNGZjZTZiNiByZWxlYXNlMjQtbWFpbnQKKzUyMDY3IDMzMGRiY2FkYjkzMTcxZjYyMzdlYjE4ZDdhYTgxYjk5NzRkZWY0NmEgcmVsZWFzZTI1LW1haW50Cis1MjA2OCBmZmI5MDEzNzRhMzgyNTM5YTkwNjU3YTU0Yzg5Y2NkZTA4ZmYyY2Y1IGxlZ2FjeS10cnVuaworNTIwNjkgZDkxODI2YmFjNjU1NWNiMGE2MTQ2Yjc1NWM2NmNiNDVlM2M0Y2Y2OSBsZWdhY3ktdHJ1bmsKKzUyMDcwIDk1ZDI0NzNmNzc3MGNiMTBjNmY4OTM1YzAyMTE2Y2RiNzdkMTQzNmMgcmVsZWFzZTI0LW1haW50Cis1MjA3MSA5Y2FmNWE5ZGE1NTRkMGJhYjNiYTFhYzg0OTYyYzQ2YjA3NTRiZmMwIHJlbGVhc2UyNS1tYWludAorNTIwNzIgYjdhZTg5NzdkMDZlNDk3ZDZmZGFkZWFhMGM4NmQzMzZhZWRjZWFjZCBsZWdhY3ktdHJ1bmsKKzUyMDczIDliZTAzMjI2YTdiZjhkYTk5ZWRmMTc5MGFlNTU5ODYyMzJmZWJhMzIgcmVsZWFzZTI0LW1haW50Cis1MjA3NCBjZjU4ZmI4NDUwYmEzMDVkNGZjMDU5ZDkwOTVhNWVhYTAwMjk3Y2NlIHJlbGVhc2UyNS1tYWludAorNTIwNzUgNDBlMmZlZTAzYTk0OTIyNTA5OGJiODdkNGJmYjQyOGY3ZmNkY2ZiYSBsZWdhY3ktdHJ1bmsKKzUyMDc2IDUxMzBiNjhiNTRlOTRhOGIwOTIyM2FkOTUyY2FhMTcwNjUzZjBmMTAgcmVsZWFzZTI0LW1haW50Cis1MjA3NyBkZmQ4MDlkY2Y2ODAwMGZlNmE0YTY4MGEyNTBjMWY5ZWI5OGQyZWMyIHJlbGVhc2UyNS1tYWludAorNTIwNzggYzg5YTc1NmMwOTY1YTkwZDM1Y2E2MjFiMzBiN2Q0NTIxYTI2ZWU1NCBsZWdhY3ktdHJ1bmsKKzUyMDc5IDkwNzI4ZGZjMzNlODU4ODRkY2NlY2I4MzZlNWIwMTQ1ZWFlZjg0NzMgcmVsZWFzZTI1LW1haW50Cis1MjA4MCBkNzQzMzgxMTMxZDZjOWYxYjg5M2UxMzZhMTY4NGVlZTc3NjE4OWJiIGxlZ2FjeS10cnVuaworNTIwODEgYmY0N2RlNmQ5YzkxOGUyMDZjM2FiN2ZjZGVjZjQ1MWQ4NmZkMWIxOCByZWxlYXNlMjQtbWFpbnQKKzUyMDgzIDI1N2RhZjM5YjA4YzY4ZTYyZjRlNzBkNTUxMzhkMjI2OWE4MDhjMjEgbGVnYWN5LXRydW5rCis1MjA4NCA4OWU0YWViYmYzMWM0NjA5M2IzY2NhN2M4MTgyM2M4NzFkY2I2ZWM5IGxlZ2FjeS10cnVuaworNTIwODYgMDBhZjY5ODcwMjZhNmQ1YzFlMmQzZTE2NDVkZDFmNmE5N2IzOTBhNiBsZWdhY3ktdHJ1bmsKKzUyMDg3IDFkYTA0YzhlZThmZjAwMzA4ODcwNzhhOGJkYTY4ZTI0NWY2YWQ3ZWYgcmVsZWFzZTI1LW1haW50Cis1MjA4OCA5ZmNhYThlZThjMjJmZGIzZWQ2M2MzM2EzNjM3OTA4NTc2YmE1ZTEzIHJlbGVhc2UyNC1tYWludAorNTIwODkgMTY5N2QwZDRlZjMzN2E4ODIyYjU5MzUwYTdiYWEwMTVhZTA5NDdhNyBsZWdhY3ktdHJ1bmsKKzUyMDkwIDVjMzZlYzVmZDNjMjM2ZWI2YzA0NDBjZmJlNWZkNzhlOTlmODk4NDYgcmVsZWFzZTI1LW1haW50Cis1MjA5MSBjMGU3MWE0YjcxYzc0NmYwYjhiZGFiNTA1OGMxYjVhMjNlYmZmNDFmIHJlbGVhc2UyNC1tYWludAorNTIwOTIgY2RjMzY3YWIzYmJmY2IxMWZkZDRmNWNjY2MyZGVlODcxNGIxNjI1NyBwZXAzMDJfcGhhc2UyCis1MjA5MyBiMTQ0OWE3ZTE1ZWRlZWFkODU3ZjUzY2I4MGZmNWRlOTM2ZmZjZmRiIHBlcDMwMl9waGFzZTIKKzUyMDk0IGI0NTUzYjEyZTI1YmU5YWNmNjNiZGIxMWEzNmM3ZjkxZjMwZjdlMzAgcGVwMzAyX3BoYXNlMgorNTIwOTUgYjIyYmFhMTU0MTQ3NGY1MWZhMmNjZjUyYmMzMjI5ZDkyOWM5NmUyYiBwZXAzMDJfcGhhc2UyCis1MjA5NiA4NGFmYTM2NmVlZTdhMmIwNjU0MWU5ZGI4M2EwYTM0MThjNzEyMzExIHJlbGVhc2UyNC1tYWludAorNTIwOTcgNDVkYmNiMGU5ZmE5ZmQ0ZjkxODYzOTcwMjE0YTkwYjA2ZTA4ZjRlOCByZWxlYXNlMjQtbWFpbnQKKzUyMDk4IDgxODExOGMzYTM0MGRmYTEyN2EyZmVhM2NmZGFmZTMzNTI3MmMxNDYgcmVsZWFzZTI0LW1haW50Cis1MjA5OSA1ODBmNmE2OTUxNzIzOTc1YzVlYzgzMWY1NDZlOTFmMDBmNWU1NTRiIHJlbGVhc2UyNC1tYWludAorNTIxMDAgMmM4OWQ2MTZhOWVkMzdjMDFmMmJiNTY3ZTgwMDcwNTQ0YmVhNmEwYSBsZWdhY3ktdHJ1bmsKKzUyMTAxIDJlMWM0OTM5NWI5NjFmNjU1NTRmOWExYTZkNjc5Mjk1NGY3ZmY5MzYgbGVnYWN5LXRydW5rCis1MjEwMiA0ZGE0ZGU5NTQwMTJiNDlmMzU5YjQxYjllNTQ1N2JmNzdhYjg5NmVhIGxlZ2FjeS10cnVuaworNTIxMDMgZjAxOWU0Zjg2Mjg3N2FhN2IwYjk0MDk2MmJjYTlkYjMyZWQ2NzY3NSByZWxlYXNlMjQtbWFpbnQKKzUyMTA0IDI4YTk0YmY3ZjY3ZjNjNGIxYjJjOGZmMGRkZTNiMGZmNzIxMDViNGQgcmVsZWFzZTI0LW1haW50Cis1MjEwNSBkZTdjMGNiNWE4NzI5NWM2YTE0MDM2N2FmMGJiMmVhNGM0ZmQ5MTJkIHJlbGVhc2UyNC1tYWludAorNTIxMDYgYjMzMmUxYWM2NmNjZDdjNmVmN2YwZmU2NjNhMDdiY2RiZWRiMmNmZCByZWxlYXNlMjQtbWFpbnQKKzUyMTA3IDA2MjkxZWFkZGUyZGI1YTJlY2QzM2E0YjI3MTg0MWYzNWMzNmY0ZmIgcmVsZWFzZTI0LW1haW50Cis1MjEwOCA0NDNiODczZjllYjkwODU1ZWU0YzJmYjUyNzZlOWQ0M2VmOGJmYzBmIHJlbGVhc2UyNC1tYWludAorNTIxMDkgNWRkNmM5MGQ0MjIyY2I5ZTZkNzZhM2I2ZjhlNDJjNzg3N2E0MDRlZSByZWxlYXNlMjQtbWFpbnQKKzUyMTEwIDZiMWM0ZDdkM2EyNmMzMDU0NWZmZjAzZDQ5ZTVhZTVkYTM5NTU1OWEgcmVsZWFzZTI0LW1haW50Cis1MjExMSBiN2UzNGZiYzgwYWQ2OWJjZmZjZjhlMDEwOGZmODQ4YTJhNjJmMThhIHJlbGVhc2UyNC1tYWludAorNTIxMTIgNTJlOTk2NGVmOTIyZDc3MzA0OGZiYTgzZjI3Yzc1NjA4OTc0ZmY4NCByZWxlYXNlMjQtbWFpbnQKKzUyMTEzIDU0ZDE3N2VkZTg4Mzg4MDJkNjliMGU5ODFlYzYyOGZiNjQ5OTZiYzYgcmVsZWFzZTI0LW1haW50Cis1MjExNCA4YzgzZmQ3OWNlZTViZTMwNjQ2NzYyMTM0MTU1NDE5YjA1MDRiMTQxIHJlbGVhc2UyNC1tYWludAorNTIxMTUgZWYwOWUyNmVmMDk5YTQzOTE1YjA4YzllYTlhMDgzMWE5NDY4MDhmNSByZWxlYXNlMjQtbWFpbnQKKzUyMTE2IDJmMjM4YTJjZDE4OWRmYzM3ZDU3YjUzYTcwMGU0MDhiZDM1OGY3MWQgcmVsZWFzZTI0LW1haW50Cis1MjExNyAwYjZiMzYwZTkyMTc5NTEzMTE2ZGQ4ZTRlNGViNzRhYWQ4MTk0YmNmIHJlbGVhc2UyNC1tYWludAorNTIxMTggOWU3NjNiY2QxM2NiOWZlYmJjMzY3ODY1NGJhN2RjY2RlMjg2NGI0YiByZWxlYXNlMjQtbWFpbnQKKzUyMTE5IDBkMzViOWY5NGIxNTE2Y2YyZjVlZTI2ZTFjMWIxYTUwNjVlNjZjYTcgcmVsZWFzZTI0LW1haW50Cis1MjEyMCA5MTY3OTI4N2NiOTZjZjk4NmMwMjcyNDNiZDgwMTBlYWRlNTViY2M5IHJlbGVhc2UyNC1tYWludAorNTIxMjEgNDdhYjBjMjdkZDFmOTIyZjRmNjBkYjM3ZjA0YjVlNTdlOWQyMzc4YyBsZWdhY3ktdHJ1bmsKKzUyMTIyIDM2MGQwOTcxYTZlZWYxZDg3OGYwYTBkNTM0YTVkYTM1NWQxMzg2NGMgcGVwMzAyX3BoYXNlMgorNTIxMjMgOWUzNWI2MmVkNGQyZGY5NzU3MjU5MWM0ZDFjNWZhODU5Mjg2MjU5ZCBsZWdhY3ktdHJ1bmsKKzUyMTI0IGZkMTRiYjU4MzFjZGFjNGNjZGE1ZDdhOTQyYzAxMjRhN2ViOWRjNWYgcGVwMzAyX3BoYXNlMgorNTIxMjUgYWRhNTZiNTRkYjlhNzkzNGNhYWMwOTQzMjFhMzc3ZGZiMGJhNDUwMiBwZXAzMDJfcGhhc2UyCis1MjEyNiA2NjBjZDA3MjA4MGRmM2U4YjA0NTZkMDIxMGVkZjRhOTdlMGU0MzE3IHJlbGVhc2UyNS1tYWludAorNTIxMjcgNzliNjQ0YmYwMTE2NDdhNTMxZDNlZmQyYTYzZDU3ZTU4MzkwZDU1ZCByZWxlYXNlMjQtbWFpbnQKKzUyMTI4IGRiNmNhM2VhNTNlNWI2N2FlNDE4NDFlNTBlNzVjZjIwODM4NTUzYmEgbGVnYWN5LXRydW5rCis1MjEyOSBmNWQ3ZGU1MDMxYWE0ZTIyN2RkZWQyMjcxOTU4MzhmNjJmZTFmN2I2IGxlZ2FjeS10cnVuaworNTIxMzAgY2E4ODdkNTVjNTkyMTNkMzRkZTg3ODM0MzI4YWFmOTEzZDkyMDJiOSBsZWdhY3ktdHJ1bmsKKzUyMTMxIDhhMjg1M2JmOWVjYWQzYjE2NWZkZjk3Y2U4YWNkNzc0NTY3NDU1OTUgcmVsZWFzZTI1LW1haW50Cis1MjEzMiBlMDM5Y2Y2YjdkNDI5Y2U1OTA1YTdhMWE4MmM3NWEyMTAwZmQ0ZDU0IHJlbGVhc2UyNC1tYWludAorNTIxMzMgMWI2MWU4MjY2MGJhOWM5YzAxMjMyMmY0OWQ0NzI4MWUwNDU4OGZlZSByZWxlYXNlMjQtbWFpbnQKKzUyMTM0IDEwYmI3YWNiYmRjODM3ZTI5YTliMTFmMTM4N2E2YjFiMmNhMDQ1ZmIgcmVsZWFzZTI0LW1haW50Cis1MjEzNSAyYWRkNDRjMGRlNmM3ZGFhNjQ3ZTdkOGQyOTM2MWViNDllOGE2NTQ3IGxlZ2FjeS10cnVuaworNTIxMzYgYTliMWY0MDRlODhiNTljZTQ4MWYzYmY4Mjc2MzJmZjEwMzI2OGMxYSByZWxlYXNlMjQtbWFpbnQKKzUyMTM3IDBjOGU5ZjkyNzJkNWYzZTE0NDcxZjU1MGIwNDIwYjA4N2QyNjc0ZjQgcmVsZWFzZTI0LW1haW50Cis1MjEzNyAwYzM2NDEwYzM5ZThkZGJiODk1MTg1N2RjNGFkZjMzZjI5ZmRjMzVhIGxlZ2FjeS10cnVuaworNTIxMzcgNGViMjg2ZTkzMWE5NWRkZGIxOGQzZWNjNjlhYzk3MzI0NzVmNGYzZSByZWxlYXNlMjUtbWFpbnQKKzUyMTM4IDc5ODkzNWUxMjk1ZTdmYTMyNDEwOTgzMDhlNTc1MDJmNTE1YWVlZGYgcmVsZWFzZTI1LW1haW50Cis1MjEzOSA2YmE0MDJiNjAwNDE4YTU2ODQ1M2ZhYjllZWU3ZjNjYjhhYTE0MGE2IGxlZ2FjeS10cnVuaworNTIxNDIgYmZhYzIzMzg4YTIyNGU3OThiYzIxMWY1YTZmYjU2YTc5ZGQwMTY5OSByZWxlYXNlMjQtbWFpbnQKKzUyMTQzIGRmN2E1NDM1ZWNiYjVjZmZiNTYwYmYyMDkzMzA0YWU5ODU4NTM1MjAgcmVsZWFzZTI0LW1haW50Cis1MjE0NCA0MmFiZmIzOTEzMDBhMjUwNzY1N2E5ZjU1MjA5ZWNiNzUyMjFlMmU0IHJlbGVhc2UyNC1tYWludAorNTIxNDUgMDRlYzM5MTQxMGNiZTQ2ZWI5MmZkMDkwMzM1MzI0MGY3N2E3ODZiNyByZWxlYXNlMjQtbWFpbnQKKzUyMTQ2IDUyNzBiMWUzNjY0OGVmMDQyNzhhYWNkMzg2YWYxMzY2ODYxMWM1ODYgcmVsZWFzZTI0LW1haW50Cis1MjE0NyA0NDA0YTM5ODE0NzA2NDFkMzE3Yjg5OWE1NTk5MDkxOTM1ZjYyNjE1IGxlZ2FjeS10cnVuaworNTIxNDggOGFhYTNkOTFlZWZhN2YyOTZjZjJjN2MzZDc5MWJmYjdlMzYyNjY0MiBsZWdhY3ktdHJ1bmsKKzUyMTUyIGIxZTczNzdlY2YwNDQ2MDEwNDM3YzI0Y2JjZmQ2ZGQxNzBjMWY0ODggcmVsZWFzZTI0LW1haW50Cis1MjE1MyBlODhjNDI2N2FjZDFjNzkxNzRiZDBhNmExMzgyMzgzZjI2YzdlZjYyIHJlbGVhc2UyNC1tYWludAorNTIxNTkgYTRiYmZjYTQwYzdjZjc2ZjAxYjVkODI0YWQ2YjcwMDNhMmNlNjVlZiByZWxlYXNlMjQtbWFpbnQKKzUyMTYwIGY2YmJlOGQ2ZmEzMzAzNTVlMmZhNjFhN2RlODMyMjA1M2E1NGUyY2EgcmVsZWFzZTI0LW1haW50Cis1MjE2MSAxZjU4OGE5ODJjYzU2Yzc1ZWJiODBhZTA0ZDU4OTE0ZGQwOTA5YTZhIHJlbGVhc2UyNC1tYWludAorNTIxNjIgODAxN2IzZjIxZjYyZTZhMDRiNzk4ZDNhNjIyYmViYTQyNzQxZDMzYyByZWxlYXNlMjQtbWFpbnQKKzUyMTYzIGMyN2Q4Zjg5YWE4OTE1NTE5YzEwZmRhN2ZkNWI3MWE2MjFmMmJkMWIgcmVsZWFzZTI0LW1haW50Cis1MjE2NCA5ODE5Y2RkMmZjYjE1NjlhZGJhOTNmYzMyOGVkMDUwMjI3YjcyN2NhIHJlbGVhc2UyNS1tYWludAorNTIxNjUgYTlmZWUxZjYyZjE3NjA2NzY2NmMwOGY3YTZmYWE4OGVmNDA1NDUyNiByZWxlYXNlMjQtbWFpbnQKKzUyMTY2IGFiMTM1NzYzNzRiMWE5NWZmNzBkOWU5YTM4NWQwZWEyMmFmMGU1NjEgcmVsZWFzZTI0LW1haW50Cis1MjE2NyA1ZTI0NDk5NGU0MmU1MzQyNzVkZTI0YmJmMWE1Yjg0OTNkNWNhYjQ0IHJlbGVhc2UyNC1tYWludAorNTIxNjggNWQ5M2U1Y2NiMzFlNzRjNzgzNDM4ZGRjNzc5NDg4MTU1NzgzNTBiZiByZWxlYXNlMjQtbWFpbnQKKzUyMTcwIGNkNmNlNjY2ZWZmOTFiZmEyMTI2NTEyOTA0YjQ1MTk3YzRkODVhMDcgcmVsZWFzZTI0LW1haW50Cis1MjE3MSBlNjU4MzY4MTU3OTFjN2JmNmZmMDAxMjMxZjA0MDgxYzI0OGJjOWU3IHJlbGVhc2UyNC1tYWludAorNTIxNzMgM2I1N2VlY2RjNTA0YTEwMGI1ZmQzNGQxNmI0MjE4YTkwOTU1MGE2OCByZWxlYXNlMjQtbWFpbnQKKzUyMTc4IDJhNDZiNzZiZWI5ZWJkOWEyNTYyNDJlZGYwNmY3MzE3YTM1MjI0MjEgcmVsZWFzZTI0LW1haW50Cis1MjE4NiA0NjYzYWNlMjM0OTljZTY3YWYwYjRjYjU4MjlkZmNhZWI5OTZmZTNkIHJlbGVhc2UyNC1tYWludAorNTIxOTAgN2JiZmYyZTlhOWMyMTljNWY5MGVkNTFiNGNiYWIxMzEyYzA1ZmJhMiByZWxlYXNlMjQtbWFpbnQKKzUyMTkyIDViZWM0YTY3ZmYwZGE4OGRjZDQ3MzgyNzU0ZjgwODdiODY3OWViYjggcmVsZWFzZTI0LW1haW50Cis1MjE5MyA0NWFjOWNlMGJiMTU3MTZkYzFjZGU0NDE0OTk0YmUxOTAxOTkyOGEyIHJlbGVhc2UyNC1tYWludAorNTIxOTQgNmJiMzc1ZjU1OWNlNDY3NGMxY2U3YzM0MzAzYWFlOTY2NjM5MjQ5ZSByZWxlYXNlMjQtbWFpbnQKKzUyMTk2IGU4MWZmOWFmNjQxZGIyNWNiYzNjYTM5NWNiOWEwOTM0YWIzMTFmZTIgbGVnYWN5LXRydW5rCis1MjE5NyA2YjFkZGYzODdiZDE5NWU1OGJhMzI0M2NlYWIzZDY2NjYzNWIzMGRlIHBlcDMwMl9waGFzZTIKKzUyMTk4IDU0MzRlZDRmZTg2MjI2NzFlM2FiZGQ5NTRjMTU5NDk2OGIwMDlkZjQgcmVsZWFzZTI0LW1haW50Cis1MjE5OSA0NzEzZDk5MDBlOWU5Y2I3MTYwYWQxYTg3YWRhMTNkOGI4MzU5NWU3IHJlbGVhc2UyNS1tYWludAorNTIyMDAgNzc2NzRjMGY5MjE0MTA2OTc1NmZkODY4M2NkM2Y5NzI3M2Y0ZmZjOSBsZWdhY3ktdHJ1bmsKKzUyMjAxIDc4ZDdiZWEzYzEyMjBiYTI1YTdhMzk5M2U2MTA5M2I5OWZmMjA3NzMgcmVsZWFzZTI0LW1haW50Cis1MjIwMiBkZDU0YmQ2YTZiMWVjYTRjNWYzMDc2NjkyNmRhY2YzY2JjZGE2MzJjIHJlbGVhc2UyNC1tYWludAorNTIyMDMgMDc2YzIwY2E1ZDdiNmYzNTljM2Y5NTYxOWE1YzJjNGJlN2ZiOGVhMiByZWxlYXNlMjUtbWFpbnQKKzUyMjA0IDI2YzJmZjcyODAyN2ZmODkyZTNhZWYxMzZlNTZhZDJiMTk4NjFiY2YgbGVnYWN5LXRydW5rCis1MjIwOCA1YWVhOGIxZmQyNjI1NDBkODRmOGViMTdkOTQ4ZjFjMWJmOGY2YjI0IGxlZ2FjeS10cnVuaworNTIyMDkgMzU3MTQ3MDBjZjg3YzU0YjA0MzFhYjg1NDllY2JiMjVmYjVmNTRlNCByZWxlYXNlMjUtbWFpbnQKKzUyMjExIDBlOWZkYjE2NGQyMDYxMmQ2NWI4NjI4ZDViNTU1ZmQ3M2ViM2I1MjMgbGVnYWN5LXRydW5rCis1MjIxMiA5OTRhZDc1MGIwZTNiYzA1OGM1ODkzYjFiZDVmZjkxZDE3MmFjMzU3IGxlZ2FjeS10cnVuaworNTIyMTMgNWQ4Mzk5NGNkOGNkZjQwYTRiMzM1YTgzYWZhZGM2NWUxNDA1OGEzNSBsZWdhY3ktdHJ1bmsKKzUyMjE0IGQyNGVhYWVkYTc0OGM0MTZmNjcyNmRjYjgyYzg0ZDg0ODEzODM1OTYgcmVsZWFzZTI0LW1haW50Cis1MjIxNSA5MTE4ZWE3ODFmZDUyYWY0ZGE2NDk0NDE1MjA2NTAyNjFkNTZkZGRiIHJlbGVhc2UyNC1tYWludAorNTIyMTYgMmEwNWVlNGEyM2UwNzFkMWVkMjVmOGM4MDkxOTkwM2FkNjAyNjkyNSByZWxlYXNlMjQtbWFpbnQKKzUyMjE4IDdjMzQ5NDRkNGM4MGJlOTc1OGMwMGM2ZTJjNjYyMTVkZWRmZjBhNzggbGVnYWN5LXRydW5rCis1MjIxOSBhMmYyNmY5NDRiNjU3MTc5YWZlMzZkM2U2ZDZmZmU4YTI4MmI5MzQ0IHJlbGVhc2UyNS1tYWludAorNTIyMjAgZWQ4OGQ2YjdjMWY5NjY5MDNiZDkxZDlhOWVlN2UwMzkxYWIyMzI3YSByZWxlYXNlMjUtbWFpbnQKKzUyMjIxIDE2ZTI4OTJlMWUzYzJhMjY5MTVjMjYxOGU3MDVjODlhYmQ2NDJjOTkgbGVnYWN5LXRydW5rCis1MjIyMiA5ZTA0MzFmZDY3NGEyNGY5OGRiMWJjYWI3YWNiM2M2MWU5MDJmOGJhIHJlbGVhc2UyNS1tYWludAorNTIyMjMgMzQ3Nzk0MzkxY2U0MzQwYmI1YzIxYjFlODFjNjQ2MjJhZDVlZWZhOCBsZWdhY3ktdHJ1bmsKKzUyMjI0IGQzYzE5NDdkMTY2NjUzMWUxYmExYjk4MWY4MTI2YjNkNWIwMGFlYzYgcmVsZWFzZTI0LW1haW50Cis1MjIyNSA5M2UyYjMxMTJkNzllMTA5ZWM1YjY0MGEwZDQzMzUzNWIwZjEyNjVmIHJlbGVhc2UyNS1tYWludAorNTIyMjYgNjk5Y2M2YTVjODZlYjhhNTlhYjA1NjkxZDgwOTVhZWY1MWNlNWU2MCByZWxlYXNlMjQtbWFpbnQKKzUyMjI3IGI5ZDMzMDFlNWYxOTVlNjBkOTkzN2JhN2E5OWU0NWJjYzI0MWI0M2EgbGVnYWN5LXRydW5rCis1MjIyOCBkZWVlYTRkYTFmMzU0OWVmMzNhZGVjNjE5NjA0OWM3NGQ0NzRhODJiIHJlbGVhc2UyNS1tYWludAorNTIyMjkgMjA0NzRkOWU3NWUxNGJkYzIwNDQ2OWRhZDQwNmI4ZmUzOTc3OGQ2OSBsZWdhY3ktdHJ1bmsKKzUyMjMwIGY4MDVjY2NlMmY1NjRlMDUyZTY4NjhjMGJiNmUyNzQ2OTgyM2M3YTQgcmVsZWFzZTI1LW1haW50Cis1MjIzMSA2OTNmZjVkNzM0MTI1MWY5NjMxNmVkMTY1ZWI0ZWVmYzQ2ZDM1ZDg0IHJlbGVhc2UyNC1tYWludAorNTIyMzIgMGRjMjYxZDhjNTdmYTg0NTMxZjFkMjgzZTE5M2EwNGI0MTFmM2IyYSByZWxlYXNlMjQtbWFpbnQKKzUyMjMzIDgzOTY1OTc3ZjM0YTFhZTM5NDc1MDAyMGMzOTlkODgzNmQwN2RlZjQgbGVnYWN5LXRydW5rCis1MjIzNCA3Njg4OTRmMzNmMWMzNDdmNDQwNGRlOTVkYmYzYmVlMzYzMWFlY2UyIHJlbGVhc2UyNS1tYWludAorNTIyMzUgNzExN2Y2ZTVhYzgzOThkZTcxYmFmY2QyNTYzYzBiODMxZDYwZWU2OCByZWxlYXNlMjUtbWFpbnQKKzUyMjM2IDkxYmU5NjY0NjQwNzMyOGFhNzdmZDNjNDgwMmNiYzg4Yzk4MDBlNjEgbGVnYWN5LXRydW5rCis1MjIzNyAyMGRkMTNhZWUyMzM0OTEyMjkyMWFjYjIyZTdlMzQ0MmNiODQxYzY1IHJlbGVhc2UyNS1tYWludAorNTIyMzggYzMzOWExYTE2ZWM1YjY0MTU2ZDI2MGZjNjE5MGQzZDZkZjEzYmYzNiBsZWdhY3ktdHJ1bmsKKzUyMjM5IDQ3NTIyOGVkMjA1NGM3ODJjZTUyM2NkYTY2NDQ2OGM5NDUwNDMwM2MgcmVsZWFzZTI1LW1haW50Cis1MjI0MCAwYWNlM2M4MDYxMTQxMmRiODgwMWU3YTM0MDc4Y2IzNzkwYzY5MmE3IHJlbGVhc2UyNC1tYWludAorNTIyNDIgYWVlZTlmNWEwYjNlYzBlNWM1YjYyYmFkMzY0ZjgyODczYjBiMzNhNyBsZWdhY3ktdHJ1bmsKKzUyMjQzIGRlMmI2YTFjOWIzMTExMTU1MWM4NmUwZGI4YTgxYTcxNDBmZWQ2NGUgcmVsZWFzZTI1LW1haW50Cis1MjI0NCBhNjA0OTViMzZmMzhjYjJlYzRiNWIxMGI0ZThkNThiZjBlYjYxMmI1IHJlbGVhc2UyNC1tYWludAorNTIyNDUgYzM4NzdiNjQzMGI1ZDg5ZTJlMDliYzFhNGU4NzQ2MjExYjdmNjcxOSBsZWdhY3ktdHJ1bmsKKzUyMjQ2IGVkYTkzMWYzOThjMGQ1ZWZjYTBmNDhlZDI4YjdjMjRjNTdlMGMwYTcgcmVsZWFzZTI0LW1haW50Cis1MjI0NyBlZGUwNWQzNGM1MTgzZmUzMTZhNGViYzAwYzc0ODgwZjNkYTljM2MwIHJlbGVhc2UyNC1tYWludAorNTIyNDkgNGVlZmNlOGJjMmY3NDhhMzM3ZGE3ZmJjMDA3YmIyMjRhMTllMDhkNyByZWxlYXNlMjQtbWFpbnQKKzUyMjUxIDY2NWQ3Nzk4YTFiYzhhNjBiNjhiZGYzMmVlYTAzOTQyZWE0YzYzZWQgbGVnYWN5LXRydW5rCis1MjI1MiBiZjZhMDJhZGE0NDllNGEyYzk4MmU1MzYzNDYzODQ1ZTg4NjBhMGI3IHJlbGVhc2UyNS1tYWludAorNTIyNTMgMzgzNTY5NTFjMTlmOThhYTY0ZWU0NGU2N2MxNDVlYzc3MGIzMGNhNSByZWxlYXNlMjQtbWFpbnQKKzUyMjU0IDFlNGUwMTVjMDdjMDc0ZGU3ZGI0OTgwMzQ2ZDhkMTEyNTM5YjRhNjkgcmVsZWFzZTI1LW1haW50Cis1MjI1NSBmNDZiYWRjOGRjMjEzMzk4MmUzMjhlNDYwYzljMDgzYTIyNmEyYTIwIGxlZ2FjeS10cnVuaworNTIyNTYgZDMzZTQwMTFlMjAyOTQ3OWFhYTU3ZWNiMGJjMDlmZGU3N2M5Nzk4NCByZWxlYXNlMjQtbWFpbnQKKzUyMjU3IDI4ZGI2MTEwMTQ2MzZlZWExYzg4ZDBjZDNmYzJjZGIxNGM4ODQzMmQgbGVnYWN5LXRydW5rCis1MjI1OCA4Y2E5YTdiMTFhN2Q0MjYxYmEwYzJiOGU2YTNhYjA3ZDM2ZWEyM2U3IHJlbGVhc2UyNS1tYWludAorNTIyNTkgNTJiNjVmMjhiZTE3MTcyMDMxYzMzMDIzODU1MTM3ZThhNDhlYjVjNCByZWxlYXNlMjQtbWFpbnQKKzUyMjYwIGNlNTE1MDMyZmNlMzdhYTFiMGQ4NzY4ZDA3NzYyZDcxYjJlZTE1ZjAgcmVsZWFzZTI0LW1haW50Cis1MjI2NiAzMDkwOWUxY2FmNzljOGQ1NDQ2MmQ1ZDU5MzJhYTZhZmViYWY5MzE3IHJlbGVhc2UyNC1tYWludAorNTIyNjcgMGRhYzZkZTBmZTc4YWRmYmY5OGZkZWVhNDMxODBmZmU4ODM4YzZmNSByZWxlYXNlMjUtbWFpbnQKKzUyMjY4IDY2YjgzZDFiYTJmYzVmOTlmOTkyNTdhYTMzZjdkODA2M2M3ZjFlNDMgbGVnYWN5LXRydW5rCis1MjI2OSBiMmVkZDUxMjQxYWUyMjFhOTRjYjFkMTQ2NjZkMWY2ZjI5MzU3ZDE1IHJlbGVhc2UyNC1tYWludAorNTIyNzEgNTZiOTExZGNjMTg1YWM2MGZhZTliZTgzNGVkNTYzZWZiYmY4OWQwYiByZWxlYXNlMjQtbWFpbnQKKzUyMjcyIGY3ZmJkYzU2MmQ3YWRmNjg5N2EzZDY4YTdkMWI4YjQyM2IxODFmNDEgcmVsZWFzZTI0LW1haW50Cis1MjI3MyA1YmNhYjRjYTY2MDgwNDk3ZWJkN2NjY2M3N2Q5MmI4MGYyMzg3NTc1IHJlbGVhc2UyNC1tYWludAorNTIyNzQgOTg1MTI2ODczNzQwZGVmNTU3NzNiZGU1NDBjNmQyNjIzMWNjNDZhYyByZWxlYXNlMjQtbWFpbnQKKzUyMjc1IGExYzM4MWMwNWRkZWM0Njc3MDhlZjQ5ZDllZDJjMGRhOGRlZjU5N2QgcmVsZWFzZTI0LW1haW50Cis1MjI3NiBiYWFlZWE3MjJiMWM5N2NhMDMxNzllNWEwMmE0NzE3ZTcwMTdiYTJhIHJlbGVhc2UyNC1tYWludAorNTIyODIgYTA0NTRmMWY5N2M2Y2FiYjM2YzRmYWNjYzU4OTM4YzlkYmYwOTQ1YSByZWxlYXNlMjQtbWFpbnQKKzUyMjkzIGFjNjUwYWQ2YzgxN2JlMmE1NjY4N2FhMGM3OTNkMTFkOTM0MzgyNjkgbGVnYWN5LXRydW5rCis1MjI5NCA2OGI0ZDBkYWI0OWFkMWVlZDZiNjM4NmM4ZTYyMGRmNjk3MjhmMzQwIHJlbGVhc2UyNS1tYWludAorNTIyOTUgNzAxNDBjY2NkM2RhNzNiZGQ0MjYzOThjZmI1YTEwMDM4MTE4YjAzOCBsZWdhY3ktdHJ1bmsKKzUyMjk2IDY2NzBkZGE0YjI3ZDlmMmQxMjIwZWI0OTRlMmJkOGYxNmU4NGQwYzUgcmVsZWFzZTI1LW1haW50Cis1MjI5NyBkZWIxYTBiNWRiY2I4ZWFiN2Q4NDliZjIxNGQ1MTc2MTZiYWI0Y2UxIGxlZ2FjeS10cnVuaworNTIyOTggYzY4ZmFjMWViNmNiZTQ3OGI0YzY1ODM5MTZlNzFjNDE5MDkzZGJkNSByZWxlYXNlMjUtbWFpbnQKKzUyMjk5IGMwMjA4MTk1YTU1ODUwNzU2M2E4YmRmYzUzNzAyZDMzNDQwZDM3NDkgbGVnYWN5LXRydW5rCis1MjMwMCA3NjQwYTU3ODIyYTY3YWM2YWQ5NDE5MmNkZjRlN2IzNGU5ZjY3YzdmIHJlbGVhc2UyNS1tYWludAorNTIzMDEgNjQ3NTk4YzFhOWQ5MjQzYmM2ZmRiYTA2N2JlNDhhYTExNzMzMjQ2MiBsZWdhY3ktdHJ1bmsKKzUyMzAyIDZlNmMyMjBjMmZhNjIyYWMyNjhkZDRmODU3MTUyMzhiY2I1YzFmN2IgcmVsZWFzZTI1LW1haW50Cis1MjMwMyBkMjdlNzYzMjY4MTk4N2FlNTY5OWI1MWQ4N2MyNjA0YjI3MTQzODhkIGxlZ2FjeS10cnVuaworNTIzMDQgMTdmNDE3ODA5ZTIzOTgzYzAzZDY2NjJmYmNlNGM0OTZjY2IzZjc2MiByZWxlYXNlMjUtbWFpbnQKKzUyMzA1IDQxNTkzODZmOGRiZGZjMDU1NmQ2MzA3NmFlZjVlNmRhNDMxYTM3OWQgbGVnYWN5LXRydW5rCis1MjMwNiBhMGJmNzI4MWJkMjBiNjVhNTg0ZjRhNjI5OWNiZWNlMjU5NTZkODM0IHJlbGVhc2UyNS1tYWludAorNTIzMDcgMTBhYmZjYjY2ZTY3YmRlZmE3ZDdjNTcwOWQ5NTcwNjdmZTI0ZmUyNyBsZWdhY3ktdHJ1bmsKKzUyMzA4IGNkNWY3Y2QyMDk4ZWIzZjc0YWJlOGZiODRmZmE5MTBiMmYxMDZlYjYgcmVsZWFzZTI1LW1haW50Cis1MjMwOSBmNDQzMGJlYzMwMTNlMjhmOTExMTQ1ZGE1YWU2YzBkNjkxNzA4MWNkIGxlZ2FjeS10cnVuaworNTIzMTAgMWExYTU5ZjUwYjRhZTIyOGY5NjFjOWMyZGRmMzU2NWM5ZTc1MjEwMiByZWxlYXNlMjUtbWFpbnQKKzUyMzExIGEyNDgwMWRhOTJlZTBkNTJiNjEwMzBmYWQ3YTcwZTVlNmFmMWI4YjYgbGVnYWN5LXRydW5rCis1MjMxMiAxZThlOTAwZDlmNDlkMjdiNDBiMjViNjQzYTQzY2FiOTViOTY3YzliIHJlbGVhc2UyNS1tYWludAorNTIzMTMgN2ZhYmJjNGEwYzRlODZiNjY4MDNlODQ2MmQ3N2M0OTgxNzllNjFmOSBsZWdhY3ktdHJ1bmsKKzUyMzE0IDNjZmE4OGZiMGY0NTM5NzhjMGE2ZjIwYjAzYzI2NmY4Mjg0MzQxMmUgcmVsZWFzZTI1LW1haW50Cis1MjMxNSA2MzU0MzhiMjk2NzNmZDYxMWYyMjk5YmQ3Yzg2OWVmMjE0YmVkYjFmIGxlZ2FjeS10cnVuaworNTIzMTYgYzRjNGVlYzY0YzEzNjRiYzY4ODRhYzBiNTRhNmJmNzA4NjgzMTRlNiBsZWdhY3ktdHJ1bmsKKzUyMzE5IGM3N2Q5YTlmZTcwNDM2OTJmM2NjZTJjYWUxMjEyMTc5NGMxYWQ2OTkgdGhlbGxlcl9tb2R1bGVmaW5kZXIKKzUyMzIwIDhlNjg1YjIzODlkY2VlYWYzOTE0YTUxNDYwOTYxMzQ4NWI0YzZjZGIgdGhlbGxlcl9tb2R1bGVmaW5kZXIKKzUyMzI3IDM5Yjk5MWJhODc4Zjc5MDVjNjg0Mjg1NDUzMTY1ZGRmNmZlODFiZGQgbGVnYWN5LXRydW5rCis1MjMzMSAxMDlmOTBjMjY2ZmJjMjg3MzZjNDM1YTVkOTkwMzVlZjMwN2JhYmNhIGJjYW5ub24tb2JqY2FwCis1MjMzMiAzOTg1ZDdlMjA2N2RiNzVmMTcwZTA4OTE5OTRiMGZkNzA5NjNlNDBiIGxlZ2FjeS10cnVuaworNTIzMzMgYjYxYTkwZTc0N2U3YzkyOTAyNTI5ODNjNjU2YTQyNzJjNzlmN2YwNiBsZWdhY3ktdHJ1bmsKKzUyMzM0IDg0ZDNiNzJkYzMzOTJhNmQxMGRlY2Y5YmFjZTBiNWJiN2FjMTIxZjkgcmVsZWFzZTI1LW1haW50Cis1MjMzNSBiOTRiY2I3YWVkM2RkM2FhN2EwYzllN2EwMmRkODg4OWVmOGQyMDBlIGxlZ2FjeS10cnVuaworNTIzMzYgM2JjNGE5NDAxYTExNjE3YjU2NTc2MmZiZDAxMGZmNTMwMjhkNTVhYiBsZWdhY3ktdHJ1bmsKKzUyMzM3IGRhZTc0YTgwOTRkOTBhM2IwYzUyNjlmZTY2MWVhYTAwNWIyY2ZiYjggcmVsZWFzZTI1LW1haW50Cis1MjMzOCBiYjM1YzU1YmM0NjcwYmQwZGViMjk1NzZlMTljNmY4NWRkZjAyZjhkIGxlZ2FjeS10cnVuaworNTIzMzkgMGY1MDVlYzhiOTdhYTIxZTBmYWExNmQ0NDBmNDY5MGY3M2Q1MWUyNSBsZWdhY3ktdHJ1bmsKKzUyMzQwIDQ1ZWZlNDM1NmI2MWVkYTAzMDk2N2YxMTk5Nzg0YThmZjRjMDliOWMgcmVsZWFzZTI1LW1haW50Cis1MjM0MSBjMDA2ZDIyNzk0OGRlZWQ0OWRjODFlMTNiMDYzNTZhMmUwNjk4YzE4IGxlZ2FjeS10cnVuaworNTIzNDIgMDVjMGNkMjdhYmNhMDg2NjEzNDBjYTdjZTgwMzQzY2Y3YjliODYwMiBsZWdhY3ktdHJ1bmsKKzUyMzQzIGRlODhjMzYzZDYyMjM2Mjg2MzMyOGUyNmUyYmEzMmFkOGMyZDJhMjMgbGVnYWN5LXRydW5rCis1MjM0NCBhMjlkMTAwYzc4MTUzYzEwYTJhMjRhZTcwYmE4YTk1YWU4OTI2N2MxIGxlZ2FjeS10cnVuaworNTIzNDUgNTYxNWVhYzhhYTc5NzZmY2U2NjYyZDg4NDY2YzQzYWJmYzNjNDVlMiByZWxlYXNlMjUtbWFpbnQKKzUyMzQ2IDJhMWE1ZGMyNTVhZGM5MmI3MTE0ODY4MTU3NWExYWJjMWY0OTE2NjYgbGVnYWN5LXRydW5rCis1MjM0NyAxZTU1NWYwNDhlM2Q0YmJlMGI2MzBjOTQzMmM0MzY1ZWI2YjFlOTYyIHJlbGVhc2UyNS1tYWludAorNTIzNTQgZmE5NmJmZjkzYmNhZDAwYWQ3M2Q2OTI3NDhmODY4MzkwMzJlMWU1MCBsZWdhY3ktdHJ1bmsKKzUyMzU2IGJmOGRhZjRhNmU3MWExZWEyZTVkZTUxZmM2NDhkZjc1ZTVhYTg4NDEgbGVnYWN5LXRydW5rCis1MjM1NyA0NjljMmQ2YzgxNjViMjU2NzUzMzVhYTVlYTM5ZTg5MGMzOTcwYWFlIHJlbGVhc2UyNS1tYWludAorNTIzNTggODUwNTA4MzkxZDQ2YmRlNGUwMDE3MmE0OTQ5MWMxYWIyOTYwMGE4MyByZWxlYXNlMjQtbWFpbnQKKzUyMzU5IGUxY2IzMjY0NWY3N2UxZjk3ZWY5MTc3Y2MxMDExMWQ3MTgwZWE2MGUgcmVsZWFzZTI0LW1haW50Cis1MjM2MCA3YzdlYjE5MGIyNjYzMGZjNjJlNjRlODk1NTA5NTI2ZGI2YzNmMjU1IGxlZ2FjeS10cnVuaworNTIzNjEgYTY1MTFlODI5N2YwNDhjNTMyYTg3NDk1NmNlZGE1NWZmOTU4NmVjYSByZWxlYXNlMjUtbWFpbnQKKzUyMzYyIGZiNWRiMTJmMDI2NzYwMjE5YzhhYzYzNDQxNTJjNDYxNjlhNDUyMTMgcmVsZWFzZTI1LW1haW50Cis1MjM2MyAxNDUxM2RiMGQ2MmQ1MGZmMjJhMjM3NjFlMzNiOTM1ODc3ZmYyZWZhIGxlZ2FjeS10cnVuaworNTIzNjUgNTJmZTBlY2Y1NWMxYTE4MTA1ZmY1YzJkNzc5YTg3MWY3ZmNhZjU0OCBsZWdhY3ktdHJ1bmsKKzUyMzY3IDQwNTBmMjUzYTZmOGE1ZjAyNzkzODhjYjZlYTEwNzk5YjY3OWQzZDcgcmVsZWFzZTI1LW1haW50Cis1MjM3MiAzNDU1NTQyMmRjNDVmODhmNTI5M2ZiOWZiYTMxOWI1NTllODc2YWE5IGJjYW5ub24tb2JqY2FwCis1MjM3NyA0OThjZjRiMDlkOGFjMDNlNDVmM2EwZTI2YTczY2I5MTNmZTc2NzgwIGxlZ2FjeS10cnVuaworNTIzNzggNjYwOWYwMjA2NDlmMGQwY2Y2NTNlNjllOGExOTA2YTg2YTNjYTRkMyBsZWdhY3ktdHJ1bmsKKzUyMzc5IGExYTY3OTEwNTI4ODZjODkwYTBmMTE5YzUyNWMzZDI3MThmMjdjNGMgbGVnYWN5LXRydW5rCis1MjM4MCBiMWQ3MDhjMzNlYWI0MjkwMjYyZTk2ODUzY2ZiNDM0NWY5ZTA3MzBhIHJlbGVhc2UyNC1tYWludAorNTIzODEgZmIwYzZhNjdhOTM5ZThhMmVhMjc3OWY3OWUzMmMzYjc2ODljMzdlNCByZWxlYXNlMjUtbWFpbnQKKzUyMzgyIGVlNjZhMTVhOTAzMDIxY2EyNTA0YTMyMzI0ZDNkY2JjNDZlYThhOWIgcmVsZWFzZTI0LW1haW50Cis1MjM4MyA1OTJhYzkzNTMyZWZkZmE5YTQwZjQ3Yjk2YjFjMTIzMWQyZWFlMGU1IHJlbGVhc2UyNC1tYWludAorNTIzODQgMTA0MzRkMWI0MjY2MWI3MDAxODhjODJlZmMzNTA3MWY4MjRjYzFlNCByZWxlYXNlMjQtbWFpbnQKKzUyMzg3IDQxMGMxYzc4ZWQ1MWUxMmRjM2RlOTU3OTU5ZjZiNzk3MGMzNzk5NGEgbGVnYWN5LXRydW5rCis1MjM4OCBlMmRmMTM1NjM0OWYxNjhiYWViYjMzNWUyMWMxNTgzMzMwNDNkNGRmIGxlZ2FjeS10cnVuaworNTIzODkgMDUwOWFiMTRiMmQ5N2NlZWVmZTI1ZTk2NDMyZjRlMzczZWFhYjgyZSBsZWdhY3ktdHJ1bmsKKzUyMzkwIDE4YzEyZDM0MjE0MzgyZmFmOGM1ZmE1Y2IzYzYzNjQ5MDUzODQyYzYgbGVnYWN5LXRydW5rCis1MjM5MSAxOWRlMzE2NDkyZTczOGNlZWRlY2I4ZWM1ODA4NDc1MTM2ZGM2NmMwIHJlbGVhc2UyNS1tYWludAorNTIzOTQgM2I4NTMzMzQyOGY5ODZkZDZkOTFkNTdmMDdjZTUwNzIxYjAxODViNSByZWxlYXNlMjUtbWFpbnQKKzUyNDA1IDg2ZWE4OGM1MjA1YmY1MDQ1MWEzMjMwZjY3MzVkY2MyZjIzYzk2M2EgcmVsZWFzZTI1LW1haW50Cis1MjQxNCA4MjZlODY3NGExMWQ1ODk1N2ZiYWVhZGRlOGMwOTY0ZWVjMDdmMjMxIGxlZ2FjeS10cnVuaworNTI0MTUgYTBkOWZjZjZmMjE1M2Y1Mjk3YTE0YmUyZTE5N2RiOTVhMTcxOTg5ZCBsZWdhY3ktdHJ1bmsKKzUyNDE2IDM4NGVmODdmY2MyNTc5ZWE2ZDVlOWI3Nzg1MDJhMGM0ZmY4YzUxMjAgbGVnYWN5LXRydW5rCis1MjQxNyBjNTQ0MmI0MjRhODY5Mzg1ZTAzM2NlN2MyOGZlN2FhNjAyN2RmYTZjIHJlbGVhc2UyNS1tYWludAorNTI0MTggNTAzMGZiNGE0MDBmZWJiOWFjOGNkNDc5MmI4Njc2YjhlNTk4ZDk1NSBsZWdhY3ktdHJ1bmsKKzUyNDE5IGU5Yzg0NGM0ZDFhMWM5NTg3ZWZkNzZkOWUxMWI3YWQ3OTdhYWVmY2IgcmVsZWFzZTI1LW1haW50Cis1MjQyMCA3NDlkODU1ZWUzNTcxYWI3ZTU3YzJmNDkxOGQ1NTEwMjFjZmE2M2MxIGxlZ2FjeS10cnVuaworNTI0MjEgMTIzYzE0ZWQzMDhhMTUzODFkNDBiMDgzOWY1MzdkMDhlZWZlOGNiNiByZWxlYXNlMjUtbWFpbnQKKzUyNDIzIDRlY2YxNjYyNDQ5ODQ0ZTZlMGNkYzk5YjQ0ODE3Y2QzZDlkOTFjYjAgcmVsZWFzZTIzLW1haW50Cis1MjQyNCA4Y2QwYjcxMTNhNzFhMDU1MWUzODMwY2ZmZmZhNThhMDE4MTZhMDRmIHJlbGVhc2UyMy1tYWludAorNTI0MjUgYjIxNDI3ZmYyNjQ3NWY5YzdmNGE3MDFkYTMyNGU5NTFjMmIxNjJmZSByZWxlYXNlMjMtbWFpbnQKKzUyNDI2IGNkZDM0NzZkMWIwNmIzYjRlY2M4OWVkMzVkNWI0OGI2ZGZiNjAzYTYgcmVsZWFzZTIzLW1haW50Cis1MjQzMSBlODJlNjk2YzAzZGM4YWQ2MzZhNzMzMTc1MzMyZjI3YzVjN2M2N2I3IGxlZ2FjeS10cnVuaworNTI0MzIgMDUwMDQwY2JhMjZhNDVhODE5OThiZDc5NWEyYTZlMmQwMzM0ZjU2YSByZWxlYXNlMjUtbWFpbnQKKzUyNDQ2IDkxODY1OTgyOTZjYjA5ZTE1OTU1YTU3ZDE4OWEyNzFmOWQ3ZTg5ZWQgbGVnYWN5LXRydW5rCis1MjQ0NyA5NDczNjZlMTMxZmRhZTIwMTJkOGY5NmIyZDI5ZmY5NjFiNjI4Y2E1IHJlbGVhc2UyNS1tYWludAorNTI0NDggZDc4YTdhNjA1NjE5Mzk2OGU4ODU2Y2M4MjdkODNkMTEzOWY4ODRlNCByZWxlYXNlMjQtbWFpbnQKKzUyNDQ5IDE1ODZmYWIzYzg0OGI5NDQ3MjdlMWM0ZmRkOTdhZmIzOTYzYjY3ZTIgbGVnYWN5LXRydW5rCis1MjQ1MiAwYzFjYjkyZGFjOTdlZjM5ZTExNWY5YzU5Y2EzMzQ5MzllOGJjOGU4IGxlZ2FjeS10cnVuaworNTI0NTMgMGU4M2Y4YzVkNzBhZWMzNDczMWIwYjhlMWZjNWE3MGFjZmM2MjgyMiByZWxlYXNlMjUtbWFpbnQKKzUyNDU0IGMwZjU2ZjI0NjFmNTI5OGZiYzEzOTE0Zjc5ZWEzYzcxNDZmZjg3NjkgbGVnYWN5LXRydW5rCis1MjQ1NSA1ZGM0NzMxNjUwOGZiNGU4YmYyNmJkMDJmZGE1NWUwZWRhYTAxZTQ2IHJlbGVhc2UyNS1tYWludAorNTI0NTYgMDE1Zjg5YTczOTI5ZTRiYjNjZDJiNDdkZDAwMjFhMjJmMzU4NDRlYyBsZWdhY3ktdHJ1bmsKKzUyNDU3IDM0ZGNiYzc0NjI0M2U2N2MyMTZjYzljOWFhNDhhZWNiYjAwNjliMTggcmVsZWFzZTI1LW1haW50Cis1MjQ1OCBlNWNiNGNiNTY1NDFiOTdjYjAyN2VkYWEyZWJiNGRiYTM2YTczZTY0IGxlZ2FjeS10cnVuaworNTI0NTkgZDNkYmIzMjZmZmJhYzc5YTU3YzM5ZjZiNzVjYTk1NGU0ZjY0YjViMyBsZWdhY3ktdHJ1bmsKKzUyNDYwIGFkNGM5YmExZGI1N2ZkMWUwMmMwNGQ2Njk3OTFmYjk3ZTZiNWYzNTEgbGVnYWN5LXRydW5rCis1MjQ2MSA1YTEwNmI0YmNkZDI4ZjIzYWMzYmY5NDlmY2UxOTBlMDBhOTdlMTk2IGxlZ2FjeS10cnVuaworNTI0NjIgZTU3ODJlMmE0MTJiYTE4ZTMyYmI2OTZjNGNlOGIxMTUzNGNmMTc5YyBsZWdhY3ktdHJ1bmsKKzUyNDYzIDdhZjk0YTI3MjNlY2IxMzRmZmUwYjBkYmIwM2FlYTFhZTkyMzVmN2EgcmVsZWFzZTI1LW1haW50Cis1MjQ2NCAwZDUxNzZlMmJmZTRiNDRhOTFlNzRiMjM2MWQyZjM5MzM4NWMzMmEzIGxlZ2FjeS10cnVuaworNTI0NjUgZGRiMWRiNTY1NjA4OTNjNGI3YTU2MGU1OTAzNTVhOWU1Y2U2ZTEwYiByZWxlYXNlMjUtbWFpbnQKKzUyNDY2IGU4NjdiNTk1MDc5ZTkyN2U0ZjJjZWRmOWEwYmE0MmI1MTE3OTA1OWMgbGVnYWN5LXRydW5rCis1MjQ2NyBiNTZiNTYyZTNhN2I3YzgxZjEwZTE2OTZhZmFjZTE5ZDIwNTJmMmM2IHJlbGVhc2UyNS1tYWludAorNTI0NjggNzYyZGNhZDcyMGI1M2VhY2YxNGE3YzM3MDZmNzJlZTU5YzE1ZDBiZiByZWxlYXNlMjQtbWFpbnQKKzUyNDY5IGUyZTgwYTAxNjk0NTIyMDlhNmU0ZDIyYmM5Y2NhZDIwMDFlZDQ3YmIgbGVnYWN5LXRydW5rCis1MjQ3MCBjNWE2YWNlM2ZjN2ZkMjU0YjIzOGQ3YmMwYjRhMjI5OWM0MTJkMTk2IHJlbGVhc2UyNS1tYWludAorNTI0NzEgNThkYjk2OGQxNDQ4MmU3Yzk0NTViYjJiNzc2ZmYyZDZlMGQ3OTI1YSByZWxlYXNlMjQtbWFpbnQKKzUyNDcyIDZiOTFjMGRjZWE1OGE2NjZiNzkxMWNmOGRmMGM4N2MwZjc4NmQ0MGMgcmVsZWFzZTI0LW1haW50Cis1MjQ3MyA4ZjlhZDM1ODEzNmYwMzkxNDI5ZDQxYjVmYmFkMzY2YjYzMDBjMmI0IGxlZ2FjeS10cnVuaworNTI0NzQgMjljMDFlNjJjZTZiY2FlNjgxNjkwYzI2Y2QyYTUyZTNjYzE4MWNmZCByZWxlYXNlMjUtbWFpbnQKKzUyNDc1IDE5NTU1OWM1YmFjZGYwNmMyNjJmNjBkZmVmZjQxNzEzODdkOGFlNWEgcmVsZWFzZTI0LW1haW50Cis1MjQ3NiBlM2I5YzYzOTc3MjM0ODJjZDFhZWI5NjNkZDQzYmVmYmMyMDVlZmUyIGxlZ2FjeS10cnVuaworNTI0NzcgZjQ1YjJmMGM1NDJmYzNjMmI4YWVhNzVlOTY2ZTIyMGY1Zjk2MGNhNiByZWxlYXNlMjUtbWFpbnQKKzUyNDc4IDc3MGM3MThiYzk3ZTAyYTJiM2NiMjdlNGRiOWNkMzUwYWUxZGQ2M2EgbGVnYWN5LXRydW5rCis1MjQ3OSBiYjBkYjQ1ZjIwZWEyYmMzNzdmYjQ2ZWFiNTQ3NmRlMjVlMmYxZjIzIHJlbGVhc2UyNS1tYWludAorNTI0ODAgZmI5YTdiMjg4ZGNlMjk0MzU1NmUyNTU3M2QxMDdhMmE2YjA5MWNjNCBsZWdhY3ktdHJ1bmsKKzUyNDgxIDlkNjkxZDM3NTVkMGRlNGUxZWIxMjc0OWI5YzMxZjdkOWFmNjk3YWQgbGVnYWN5LXRydW5rCis1MjQ4MiBiOTExNjZlOGQzOGRiMGM3MWMzZWQzOWU2Y2Y5YzlhNDMzZTdmMzdhIHJlbGVhc2UyNS1tYWludAorNTI0ODMgOThlOTAwNDk5MDQzNDE1NDBjYjI5MDA0ZDlkM2U0OTk1NGRjYjZmYiBsZWdhY3ktdHJ1bmsKKzUyNDg0IDg2MjQ5MDlmNTAzMWY0MGQ5MjU1ZjdlNjc3ZjhkNzA5MTEyOWRmMTMgbGVnYWN5LXRydW5rCis1MjQ4NSA5ODhkOTVmZjFmZGI3MmFkMDU3YzgwN2Y4NzA2YTczOTBiNmYwYTFmIGxlZ2FjeS10cnVuaworNTI0ODYgMTg4NzFhMTBmZmMxZmE1NGZjYjIwOWY4MmE1OWYxNjVmMjIxODIxOCByZWxlYXNlMjUtbWFpbnQKKzUyNDg3IDQzYTgyNjQ2N2FkM2NlYWJmYjQxNDRhNzRhMDUyMDEzZTFiYzk1MGUgbGVnYWN5LXRydW5rCis1MjQ4OCA1ZDVmMTg0NDM2NjRkMTU3MjJkMmE3NmZkNDQ5MDEyZDRhOTE1ZTU5IGxlZ2FjeS10cnVuaworNTI0ODkgZGMxZTQzNjE3OTcyODIyZjI3ZDE3YmJjMjc3NzFhNWY0ZmFmNzdiZSByZWxlYXNlMjUtbWFpbnQKKzUyNDkwIGQwYmQ4YThhZmIwMTAzYzZjMTNjNTNjNWY1ZmI4MTk3YzRhMTA5MTQgcDN5aworNTI0OTEgMWNjZTA1MjZkOWIwYTUzZjRmZjk1NzEzZGRlMTUzZGM3MGRhZTJkYyBwM3lrCis1MjQ5MiAyMTkwOGM3MGQyNjRiY2Y5MzI3Mzg4MzljNDNmNGExM2Q2MGIzNzU2IGxlZ2FjeS10cnVuaworNTI0OTMgMTNiOGFkNjc5ZGVmYzc0MzRiMWJhMWM1ZTMzYTFmYjIzNDk4MDhmYyBsZWdhY3ktdHJ1bmsKKzUyNDk0IDUxMzM5ZDM5YTU5NmFmZjAyYWQxNWMzODg0NjdhYmQ3MWIzNjEwNTYgbGVnYWN5LXRydW5rCis1MjQ5NSA2OTcyOGE3ZDIzMTIzOWNlYzUxNTBlYjdiMTVkYmY2ZThjNzViNTEyIGxlZ2FjeS10cnVuaworNTI0OTYgN2QwYmRkNmUxYzQ2OGIyYjU2MWE2MzU1NDNiOGZlMmZhN2IzMTAxYyBsZWdhY3ktdHJ1bmsKKzUyNDk3IGMzODFmY2Y5ZDEwODFjNjU1ZDhjNjZlOTUyZjlmZmUyOTdmODkwZGMgbGVnYWN5LXRydW5rCis1MjQ5OCAyZDVhNWRlZGQ5NzU5NjgxZTllYjIzYjFiOTc1ZDQyODc5ZmY4MDFlIHJlbGVhc2UyNS1tYWludAorNTI1MDAgNGM1M2IyNDNjMzkyMmE0NTQzMTVjM2VlNTc2YzRmMjA3ZGVkZDEyOCBsZWdhY3ktdHJ1bmsKKzUyNTAxIGM1OGQxYjk2OTg0MzhlNmFjMGY4ZjRiZDAxNGJlMDVhNmE5NGUyNzYgbGVnYWN5LXRydW5rCis1MjUwMiA3OTYzMDRlZmEyNjhjMDVkMmUzZTk3Zjg4YzYyMDhkZDU3NmZjMzMxIGxlZ2FjeS10cnVuaworNTI1MDMgNjFlNGI1OWFkYTBjMjllZjkyNGQxMWE4NjJmMGVmNTYyMzMzYjExNCBsZWdhY3ktdHJ1bmsKKzUyNTA0IDM2MDg2MDVhNzRkNThlNTZlYThhMmE5ZTNiMTU4MmI1Nzg3N2NhYTcgbGVnYWN5LXRydW5rCis1MjUwNSBjNGU1ZTUzYmE3M2YzNThiOTg5NDAxY2YzNDczYmQ0MTZlZWYwNDc1IGxlZ2FjeS10cnVuaworNTI1MDYgMzIxYzA3NWY5NWNmZGFjN2QxZTE4YmIwNTFhZTM4MGZkYmJmMjI1YiBsZWdhY3ktdHJ1bmsKKzUyNTA3IGExODYzODMzYzRlNmY3MGFjODkyODY5OTY1OTgyMDdlNzljZDFmN2IgcmVsZWFzZTI1LW1haW50Cis1MjUwOCA0YzYxZjQwMGNlMzBkMGNiOWY4NTZjMGI4ZjE0MzRlOGVmZmFkNTE0IHJlbGVhc2UyNS1tYWludAorNTI1MDkgMzgwYTM1ZDc4YzYwODk2Yjg2OWYyNzBlOTBjZDE5MWQxYTBjNTRhOCByZWxlYXNlMjUtbWFpbnQKKzUyNTEwIDlhY2MxNzc1ZDU3MTRiYmZlMjE5MDNiMTRlZjU2ZmUyZTMzYzFhMzUgcmVsZWFzZTI1LW1haW50Cis1MjUxMSA2YTY0NjllMjk0ZTcyZmNhYmM5YTQwYTM1OGVhY2EwODdmMTVhZGE0IHJlbGVhc2UyNS1tYWludAorNTI1MTIgZDAyMGUyZjcwOGJlODI5ZjM1OTdjNDFlODg2MmMyOTRjMTkwM2Y4YyByZWxlYXNlMjUtbWFpbnQKKzUyNTEzIGRlMjYxZjc2M2I0Y2MwNDk1OTA0N2ZjYWU0YjlmNjAyZjU2MzFmYmIgbGVnYWN5LXRydW5rCis1MjUxNCA0ODFiYmE0MWY5ZjQ1MGUyNjVmMWE5MTcyYTBiNDZiNmQ0NDljMjM2IGxlZ2FjeS10cnVuaworNTI1MTUgZDIxZGQ4Y2JjNzE2MTY3YTA0MTZjODczNjk0YjM2NTJjY2M5ZGZlMiByZWxlYXNlMjUtbWFpbnQKKzUyNTE3IDdjNDA1ODY4MTIyNDk1NWRlNmFlYTJmYWJhNGExYWFmMjMzYzE5ZTQgbGVnYWN5LXRydW5rCis1MjUxOCBkMjQ1ZWZjN2VjODkwMDQ4YWVjNzFiZWM5Y2NmMTQyMTRkODNlYTVlIHJlbGVhc2UyNS1tYWludAorNTI1MTkgNmE4NjBjODFhYjdkMDgzOTgyNzhjN2NhNmQ2OTYzYmU0MzZkMWVjOSBsZWdhY3ktdHJ1bmsKKzUyNTIwIDRkODMzZmNhMzY3MDJjYmVhYzQ3MzYxNjAyMzQ4OGQ5MDdkMWU4NjQgbGVnYWN5LXRydW5rCis1MjUyMSAyYTFlYWU2YzBlYjg2MmE1YTg0ZGJlNTAwYjIwYmRjNTJhODRjMTdkIGxlZ2FjeS10cnVuaworNTI1MjIgYTcyZDk3MGMzODRiZDEzNTk0YzU2MzE1YjhhNWUyYWIzZWFlYTQ3OSBsZWdhY3ktdHJ1bmsKKzUyNTIzIDNkM2YxMjdkM2UwYzc5YmU4M2ZiNTBiMmNmZjM1MGY3MzBmZTBmN2MgcmVsZWFzZTI1LW1haW50Cis1MjUyNCBmZDhhNWY5MjVkNGQ1MTM5Y2UyNjIzNzIxMTNiZmRmMTMyMjVhNjkzIGxlZ2FjeS10cnVuaworNTI1MjUgZWQyMmNhOGY3OGZmMDNhNTMwYjBiZmQ1MDYzM2ZkYTRkYTkwZWRjZCByZWxlYXNlMjUtbWFpbnQKKzUyNTI2IGM3ZDc3OGRhMTYyYzkyMGZhYWVjMmIzZTEzZmI4OWVhMzU1MTMxMWIgbGVnYWN5LXRydW5rCis1MjUyNyA5NjYzMTAwYzk1Y2EyZDI2MTIxNzE1NGY3NDM2NGEwZTdjNzAxYWVhIGxlZ2FjeS10cnVuaworNTI1MjggN2M0NDE0NDcxNGY2OGY5MmE3YWI3NDIzM2Q0NDUxZjY5OWM0YjhkNSByZWxlYXNlMjUtbWFpbnQKKzUyNTI5IGUxNjgwMGFjMWVlYTE0MWYwZDIzZTQzYzMyMDNkNTMwNDBhZDgwOWMgbGVnYWN5LXRydW5rCis1MjUzMCA4MjY5NWU3MzY4MjNmMDI4NDZlY2VjMDUwN2NhMTg0MTE4OTJjN2I2IHJlbGVhc2UyNS1tYWludAorNTI1MzEgZjQ5Y2I2MDkwNDI4NzNiNjVkZjhlYjM1NzIxYzdjMzI0YWY4YTlmNiByZWxlYXNlMjUtbWFpbnQKKzUyNTMyIGRhNzljNGU5YTViYmZiNTc0YTJjZjAyZGM3MTAxZGJhMzg5MDMzMTEgbGVnYWN5LXRydW5rCis1MjUzMyA5MzY2N2E3ODViODM0NjYwZjNlNWVlMmQ1MGJlM2IxMjViNWJmODc2IHJlbGVhc2UyNS1tYWludAorNTI1MzQgYzY3NzRlYjNhMDY3MzY1ZmM5ODk2NDI0N2NjOThiOGMyZjk5MjY5NiBsZWdhY3ktdHJ1bmsKKzUyNTM1IDlhYjdhNzczNmNhMDVkMzUyYmE5OThkMjVlYjM0OWJjMGZhZTViN2YgbGVnYWN5LXRydW5rCis1MjUzNiBiZjc4YmU2M2YyMGQ1NmJlNGU4MDNiNzJjODQxMDA0ZmMzMmFkN2U1IHJlbGVhc2UyNS1tYWludAorNTI1MzcgZDlhOGQ0ZjFkNjUxNGM3ZmU5NDczNzY1MzFiMDc2YWM0MjJiYWRlZSBsZWdhY3ktdHJ1bmsKKzUyNTM4IGY1NmIyNTE2ODE0MmM5NDU0ZGQwODllOTc3NTljOGQwODE3N2E0MzQgbGVnYWN5LXRydW5rCis1MjUzOSA3Y2U4NzJiZjAwYTNmOWRhMTRjMDVkNTQ2YTE1NTc4MmZjODEyNGNiIGxlZ2FjeS10cnVuaworNTI1NDAgNDE0ZWMyNjJkNjA4ZTRkYWExY2QzOGQ1NDBjZGYxMDExNzFhOWYxYyBsZWdhY3ktdHJ1bmsKKzUyNTQxIDhkNmQzMTViMmFmM2I5NWZhYTY1ZDAyNjU3M2UzZDZjM2NhYmE1YmIgbGVnYWN5LXRydW5rCis1MjU0MiBjYTNkMWQzYzRkOGMyY2YzMmY0YTc3NzgxMTMzNzQyYjg2ZjNjZGVkIGxlZ2FjeS10cnVuaworNTI1NDMgYzM3MDdkYTgwYWVmMzllOTQ3YjhmZGIxZmQ5YjJmMDMzMDVhNjMxYSBsZWdhY3ktdHJ1bmsKKzUyNTQ0IDEwMDczMjhmOWRiNTE0ZWVjZDFiOTFlZjZiOGFhZmFlM2M0MWNkZGYgbGVnYWN5LXRydW5rCis1MjU0NSA3NTUwNjgxMGNiYmY0Y2MwNWFjZWM3OGZiZmU2MWIxYjliNTg1ZWQ4IGxlZ2FjeS10cnVuaworNTI1NDYgZmZjYzY5NmUxZGEzYzI0MjhjNmRlMTYwMDE0M2ZlZGM4NDM0MDYxOSBsZWdhY3ktdHJ1bmsKKzUyNTQ3IDBkMGFlODRkZDFiN2FlYWViODEwZjYwZGNmOTMxNGYxMTkwZjBjMDIgbGVnYWN5LXRydW5rCis1MjU0OCAxNzE1ZTZhMGFlZTlhZDBmZDc5ZmYwMTM0M2JmODE2ODkxODRkOTM2IGxlZ2FjeS10cnVuaworNTI1NDkgYzVhMmY0MzFjNjk4ZWYzMGY0OGZjMWZlNjQ5Y2U3YjRiZjZiOTU5OCBsZWdhY3ktdHJ1bmsKKzUyNTUwIGE4YTZlMmI4NGJiYWY2OGQ0N2I5MDU2YmI5NGI5YWQ3NTFlZWViMjIgbGVnYWN5LXRydW5rCis1MjU1MSBiODg1MGFlYzA0NjZmZmVkMzgyYzVmZWJmZjYxYmFkNDIzM2NjMTcyIHJlbGVhc2UyNS1tYWludAorNTI1NTIgYmM4ZmZjM2UzY2RiNGU5Y2Y1OWJiZDZkZmNhNTMwMTMxMjIzOWU4NiBsZWdhY3ktdHJ1bmsKKzUyNTU1IGI4MjA0MDY4NTJhMGE5Y2QwYmU0ZDkyYjNkYmY2M2U0ZTQzNGM4NjIgbGVnYWN5LXRydW5rCis1MjU1NiAzMzg0MGM0MDcyYjc0NzQyMWZkNzQ5MDc4ZjNlZjc5MDk1ZWI3MzNjIGxlZ2FjeS10cnVuaworNTI1NzIgMWFiY2ZlZmVhM2VlYTY5NzMxODJmMzFkMzZhOGI5NWZjN2JlNDhmNSByZWxlYXNlMjMtbWFpbnQKKzUyNTczIDNiNmZiNTQzOWMxMDYxYTk0MTQwMTI0NTA3NmMzMTViZWFmY2M3ODcgcmVsZWFzZTIzLW1haW50Cis1MjU3NCBiNjc1NTNjMTRmYmNhZTFlMjA0Yjc1NmRjNGNjOTJlMWQ0YWRjN2M0IHJlbGVhc2UyMy1tYWludAorNTI1ODggYTNiZTQwYzA3MjUwMzAzN2I2ZWZmZjVhMzFlZThmMTBiMzZkZTQyNCBsZWdhY3ktdHJ1bmsKKzUyNTg5IDg3MWIwNWQyNTJiZTBhYTExZGFmZTE4NzU0YWQxOGJjYjI2YjBkNjcgcmVsZWFzZTI1LW1haW50Cis1MjU5MiBhZTQxMWZlMWVlYzAxYjJhMjUyNzEyYjI0MTA5MWQzMThiNzQ5YmE5IGxlZ2FjeS10cnVuaworNTI1OTMgM2U0ZTBiZTQwZjUyMDkzODU3NmU3Njc2ZmYwNDU3ODMwYjY2YjM1MiByZWxlYXNlMjUtbWFpbnQKKzUyNTk4IGZmNjc4NjY5YWE2ZTEzMWVjZDJhZTg3ZjAyMzExNDhlZDBlNWE0NzUgbGVnYWN5LXRydW5rCis1MjYxOSA1MzBkN2ViMGM2YzQ4ZjFkNTBhZDU0NDBlNWRhMGUzNWU4MDg0MGFjIGxlZ2FjeS10cnVuaworNTI2MjAgNmRmNGE5MTQzZGRmODgwNGVlOTU4ZTM2N2Q1MzU3ZDQxN2I5N2QyNyByZWxlYXNlMjUtbWFpbnQKKzUyNjIxIGViYWYzNDdkNDJmYjE0ZDczYjg5YmI5ZDJhYTA3MTkxZmM3MmRjMjYgbGVnYWN5LXRydW5rCis1MjYyMiAwMDNkODNkYTk5MzI2MjUwMmIxODg3YzBiNzNlYjM2OGY4NGVkYTVkIHJlbGVhc2UyNS1tYWludAorNTI2MzAgMWYwNTVmY2I2Y2E2NjBiZDdhM2QwZDk4N2JjMTA1ODExNWM3ZGE1ZSBsZWdhY3ktdHJ1bmsKKzUyNjMxIGQ3ODVjMjlmNTM0MDM1YmUzMDJiMGJkMjU2MjM1ZjQ5MDk2ZTMwNmIgbGVnYWN5LXRydW5rCis1MjYzMiAxYTBmNDY4ODNlYTVmMGYxMjEyMTNmMzIzYzU1OGY2YjM3YjU5YjY1IHJlbGVhc2UyNS1tYWludAorNTI2NDQgY2JlMTMzZDcyZTM5NzJkNzFkMjNmZjBhNWU3YjQ4NTdhMGM1NWYzYyBsZWdhY3ktdHJ1bmsKKzUyNjQ1IDU1MzFmNDYyMzJiN2FmNGJhNDU1ZDhhN2FmNjQwMmY1ZTllNjQwNjAgcmVsZWFzZTI1LW1haW50Cis1MjY0NiAyNDQ5OGQ0MzEyNmNiODlkNzJlZjdkMzI2NzI1NWM5NWRkNzc2ZGJlIHJlbGVhc2UyNC1tYWludAorNTI2NDcgZWQyYWM4MDg0ZTA0ODUwZDVjMDE3YmUyNmU3MjE4ZjZhNmNlZjY5OSBsZWdhY3ktdHJ1bmsKKzUyNjUxIDFkZTVlNzM5ZjlmZjU5M2RlOTBhMjNlNjUxMzkzZTg4MWRkOTQxZTUgbGVnYWN5LXRydW5rCis1MjY1MyAzY2MyZWFmMGU1ODE0OTlkYmZmYjAzOTQ3YjliYmUwNmVlNzdiYmRlIGxlZ2FjeS10cnVuaworNTI2NTQgZjg4NjI5OTgyNzBmYmZiYTA4MDZlODgxOTZlODQzM2Q3Y2U5M2RmZiByZWxlYXNlMjUtbWFpbnQKKzUyNjU3IDk2MzNmNTM4Yzk4ZGE2ZWY1ZGMzNDhmMzNmMGNjMDZlMTgzNjY2ZmEgbGVnYWN5LXRydW5rCis1MjY1OCA4ZDY4YjIyNGE4ZjA1OGUzMTM2NGViZDEyZWY5ZmQ1N2E5ZTI5MTY5IHJlbGVhc2UyNS1tYWludAorNTI2NjIgNjFjZDhjODdjZmUyYzM3ZTRkMzU3N2NhZWY1N2MxYjBmMjkyNGVjOCBsZWdhY3ktdHJ1bmsKKzUyNjYzIDc4Yzc1YjNkM2QwYmIxNDIwMTZmNGE0NjQ5Njg1Y2NhNzhhOWNhN2YgcmVsZWFzZTI1LW1haW50Cis1MjY2NCBmYTkwMjlhNDFjZThhYjA5YzgzOTg4Y2RkZjkwZmE4ZGQyMWY2YWIyIGxlZ2FjeS10cnVuaworNTI2NjUgYmQxNjIzZDA0YmZjNDRlMTc5MTgyMGYxZWQ1NTI0ZjBkNGIxODZkNCBsZWdhY3ktdHJ1bmsKKzUyNjY2IDRmOGViYWNlYzVmMDUzNjI4YzhmMjRkMTgyNzIyNzc3M2MwOGY5ZTEgbGVnYWN5LXRydW5rCis1MjY2NyAwMmMzNjZiMmFhYzJjYWM2NWYzMDdmZGVmOGNlYTY4YWYzNTMxZjEzIHJlbGVhc2UyNS1tYWludAorNTI2NjggMGRlYTM3YmNiZWZmNGMwMGQyMWM3Y2MwMDMzZDU3MzIzMDA3OTkzMyBsZWdhY3ktdHJ1bmsKKzUyNjY5IDdiODUxMjA2ZDI0Y2UzNGMzNDk5ZWRlM2MyZjM1ZWUyODMxZTEzOGMgcmVsZWFzZTI1LW1haW50Cis1MjY3MSA3MGM3NTZhYTkyNzNjMjA4NjM3MWM5NTZmNzg0YTcwOTczMGVhMWM2IGxlZ2FjeS10cnVuaworNTI2NzIgMzU3Yzk5NTM3ZTg1MmRkMzM5YTJkYjA2MTlmMTlkMTU1ODRmOWRlZSBsZWdhY3ktdHJ1bmsKKzUyNjczIDU3Njc0MjEyYzM3Y2YyYzk1NjBlNmYyNGVkNWI1ODE4YmE2ODMwMzIgbGVnYWN5LXRydW5rCis1MjY3NCAyNGE1ZGM3Nzc5MzE2NjQ2ZTBkMjBiZjMxMjY1NmE3YjkyYjE5NWE0IGxlZ2FjeS10cnVuaworNTI2ODYgNTI2Yzk1ODRmMjUyNzg2NzI2NzZkMDc4NzU3NTc2NmY2MmU1ZTJjZiBsZWdhY3ktdHJ1bmsKKzUyNjg3IDAyNWIyNGEyNjEzMTRkMTBlYTFkZWViZTY1NmJhMGI3YWIzYzMzYTAgcmVsZWFzZTI1LW1haW50Cis1MjY4OCAwN2IyOWJjZmMwMTM1MjM2OTExZDMxNTcwNGJiNWJlMjE4NzMwNTI4IGxlZ2FjeS10cnVuaworNTI2OTAgNmQ5OTc2MmNkODE4ODFkN2RjYjQzZWU4N2VlYmUyMjlmMDc2ZTczNiBsZWdhY3ktdHJ1bmsKKzUyNjkxIDZjMDY3NzI3M2M1YWJiM2I1OGJlYzZkNTAxOTkyMzhjOGU1OGE5YTQgcmVsZWFzZTI1LW1haW50Cis1MjY5MiBhZDc5NmZlNDcyY2FlZmU0NzE4ZmRlZTVhMWZjY2NlODIwNjE4NzE1IGxlZ2FjeS10cnVuaworNTI2OTUgNzA1OWRmN2MxNWRmODIzMTZjMTg5ZDlhMzU2Nzk2OTQwZTYwYjdlZiBsZWdhY3ktdHJ1bmsKKzUyNjk2IGMzMGM1ODRjYzZhYTQ5NmIxYTk5NWUxMTg2ZGMyZThiYzVkZTQ0ZTcgcmVsZWFzZTI1LW1haW50Cis1MjcxMiA1NjFmZmE3NTdkZmI1YTRjMjI2MWFiNjUzZWEwMDA2ZGRjYjNhNDM5IGxlZ2FjeS10cnVuaworNTI3MTYgNTRmNjIyZGQzYjI2NjY0YTUyYTllMTI2MTIyYmJkYWI0NWM5MTc2YyBsZWdhY3ktdHJ1bmsKKzUyNzE4IDczMjQyNWUzYjkyNzRiNzNmNWY3N2UxZmU2NWUwNDNkY2MzMDM3NmQgcmVsZWFzZTI1LW1haW50Cis1MjcxOSBkNzVjYmUyYjk2MDE5YzkyMDkxYmJjMzc4NTFiZjdjZTgzN2UxNmZjIGxlZ2FjeS10cnVuaworNTI3MjAgMGU1ZjJkMDU0OGViNmM5NjZhNzIxNjhlZjA4OWUxMmUzOGU0NDg5NyByZWxlYXNlMjUtbWFpbnQKKzUyNzI1IDZmMjk3MDkyMmM0NGNkODRmY2M2MGM4NzRlM2I4OGQ2NjYyNDRlNjcgbGVnYWN5LXRydW5rCis1MjcyNiA2MTZhMjA4ZjRiODA1MTQwMWM4YWM0Y2I3MDZjYjE3MjMyZmIxYjczIHJlbGVhc2UyNS1tYWludAorNTI3MjcgMTBhOTc3NGJiM2UzNDdlMGVlN2QwZGRhNjkzZGVjY2M5N2I2OGI3OSByZWxlYXNlMjUtbWFpbnQKKzUyNzMxIDQ0NjBlYzI0ZGFjOTBmOWM5YWI2OWQwZDJkMGNmMmUwZTcwNWMwOWMgbGVnYWN5LXRydW5rCis1MjczMiAzNWNmMTMzYWM3ZjhmMDEzYWE4MWE3OWFhNzIzZWE4N2VkNDQ5NmY4IHJlbGVhc2UyNS1tYWludAorNTI3MzMgMmNmMThmMTI3NjYzYzc4MTYwMmU0OTQ4ZmI1M2IwNjQ0NWQ1NDI0ZCBsZWdhY3ktdHJ1bmsKKzUyNzM0IDYzMzgxMmU4Y2ExYjZhOWE1YWQyZjVlYzA0NmI0MTkxMDkzNDNmOGYgcmVsZWFzZTI1LW1haW50Cis1MjczNiA5MGQzNTU4MjliYmI3ODY4ODU4OTNlMWMwZWEwNjVjYzM5OGJmNzBlIGxlZ2FjeS10cnVuaworNTI3MzcgOWY3ZmM2OGEyMGFlZGRjZWU2YjljZTk1ZWUwNjc2ZTZkNDRjY2I3OCBsZWdhY3ktdHJ1bmsKKzUyNzM4IGJmNGQyMDQ3NmE4NjE0ZTlhMWJkYjM4ZTM1YTFlY2MyYTU5OWQ0NjggbGVnYWN5LXRydW5rCis1MjczOSBlY2JlOTFiNWU0NmE1MzVhODUzNTE5ODFkZDFjZDdlNDBiZGJhOTRlIGxlZ2FjeS10cnVuaworNTI3NDAgNTkxZGFhNTM2MmIyZDQ4YTI3MjEzNWRkZWVhMTUxZjU1OTNmYTk0OSByZWxlYXNlMjUtbWFpbnQKKzUyNzQxIGQ0OWUwZGU0MDE5ZDFmNTVlMDFjYzIwN2M4ZTE4ZWY2OWI5MDg1OTAgbGVnYWN5LXRydW5rCis1Mjc0MiBlZmYxMWU0MzVmNDEwM2E2ZTc1MTcxM2ZjZTY0YmYzYjY2NTYzN2E2IHJlbGVhc2UyNS1tYWludAorNTI3NTMgN2UwY2Y2ZTM2NTBjOGU5M2M0MTVjZTNhZmE4ODZiZTM0YmVkNDJjYyBsZWdhY3ktdHJ1bmsKKzUyNzU0IGY5MWI2ZDg1Y2FiNTYyMmNhNGViMTAyZGUwZWFiNmU2Zjg2ZWY0MTEgbGVnYWN5LXRydW5rCis1Mjc1NSBhMWMwYjUxNGNiNTM5YTA3ODM2OTUzODk2NjlmYzhkMjVhMzU2OGU2IHJlbGVhc2UyNS1tYWludAorNTI3NjIgYjgwYTM2ODg1M2M3NWE3NjBhNjYxOWY4ZjRlMDdiYzVmNjQxMWNmNSBsZWdhY3ktdHJ1bmsKKzUyNzYzIDhhMzY1ZmRjZGM0OGRjZWU1OTY4OWRiMjBkZTVjYjE1OTk3MTYxMjkgcmVsZWFzZTI1LW1haW50Cis1Mjc2NCBiYTU2M2FiN2E1N2FlMmQ4N2Y2ZWRhZDk3ZjA3ZGFkMWVhNTNiYjViIGxlZ2FjeS10cnVuaworNTI3NjUgMjUxNWVjNGI1YjMzNjU2NTFjNThiZjYxODg5MTYxNWE3OGNlOTU0YSBsZWdhY3ktdHJ1bmsKKzUyNzY2IGUyNmM1MTc4MDczNzUxY2JjNGMxYjI2ZDBlN2NkNDFlMzU4ZmZiMTcgcmVsZWFzZTI1LW1haW50Cis1Mjc3NiA3Y2VlOTQzNDk4MWEyYWE4ZmJlN2Q1MjRiMGU0NGZlNjNhNTdiNTZkIGxlZ2FjeS10cnVuaworNTI3NzggNGM2MmM4MjkwZDRmNTgyZjRhNGQzMjFjMDNkNTVkZjViNTRlNWI4ZiByZWxlYXNlMjUtbWFpbnQKKzUyNzgwIDg5ZjJlOGRhMGYwZjllZGQ2MWM4ZjUzNzliMzRjNzIzYThmYzc2ZTYgbGVnYWN5LXRydW5rCis1Mjc4MSBjMWFjOGJkZTVlMTc2ZDM0YThlMmJkZjlhM2JlOTlmYWJhYWMwN2Q2IHJlbGVhc2UyNS1tYWludAorNTI3ODIgNWMwOGRjYjdkMjgwOWY0NGNkNDNiNGJjZTMwYjExMzViMjJlNmM3YSBsZWdhY3ktdHJ1bmsKKzUyNzgzIDc4YzBlNzJmMTZkM2QwNzdmOTIyZTgwMTMzYTQ4OGMwZTI0MzFkY2IgcmVsZWFzZTI1LW1haW50Cis1Mjc4NCAzMjBkZmRlZTg5Njg5N2M1YzcyYzQ3YzM4ZDBiMTYwNDRlMWYyYWRhIGxlZ2FjeS10cnVuaworNTI3ODUgYTA0MDZlOTMzYTgxNzM3ZGI1YWQ2ZjhmODYyZmM0NGUwODIyODE2NyByZWxlYXNlMjUtbWFpbnQKKzUyNzg2IDVmYTVlZjU1OWEyZjEzYjhmM2EzNjZmZjQ4ODIyZmNiMTEzMTJhNTMgbGVnYWN5LXRydW5rCis1Mjc4NyBiODcxZTdiZDgzNTViMjkyMmRjOWI3MjM4MDBlODYzMWVjMWE1NDFjIGxlZ2FjeS10cnVuaworNTI3ODggMGZkYzJiODIxMWY5MmU1NjYxOWU2ZWJlMTdlMzg5ZWY1YTgxOTM0NSBsZWdhY3ktdHJ1bmsKKzUyNzg5IGJlMmY1YjJkNTNiM2JkMjYxYzY5MTczMmQyOGQwN2U5YWJhMGM4MGQgbGVnYWN5LXRydW5rCis1Mjc5MCA0MDE2NmU1MDExZjgxOTBhOGI5MDA3MThhZWZkYjUxOGM5NDZlZWEwIGxlZ2FjeS10cnVuaworNTI3OTEgOWZkMTM1NGRhNmRiNmIyYmU4NmI0N2ExOTU5YTUyODg2YzViYzViOSByZWxlYXNlMjItbWFpbnQKKzUyNzkyIDI3MTEzMzk4MWU2M2UxYmM3OGY4OWU3NzAxM2QxMDBhN2M3OTkxMmMgbGVnYWN5LXRydW5rCis1Mjc5NCA2NGUwYWM4Mzk2YTNkNmVlMjNlMGYzNTRlMDQ1Mjg4NTkwMmVjMjdkIGxlZ2FjeS10cnVuaworNTI3OTUgNjA2ZTFmMGU4N2JkYWQ2Y2QyNDM1OTVlMWJjYjE0MDg0MzZmYTM4MCBsZWdhY3ktdHJ1bmsKKzUyNzk2IDQyZWFlZDhkMmI0NTQyYWZmY2VmMDEwMzViN2EwMzk1Mjk5ODE2NzIgcmVsZWFzZTI1LW1haW50Cis1Mjc5NyBmM2E2MzE4NTc1NDQ3NWNkNTViMDg1NjliMThhZDU2ZTNmZmZlMjFkIHJlbGVhc2UyNC1tYWludAorNTI3OTggZDdhYzNiOGYyMTM5MjE5ZWY4ZDI2Njc3N2RhYjVmMThiZDQ2NWMzMyByZWxlYXNlMjMtbWFpbnQKKzUyNzk5IDhmZGE1Yzg2Y2MxNmNlYTg5MzExNGM1Y2YwNTdhZjg1NmFiMTg5N2QgcmVsZWFzZTIyLW1haW50Cis1MjgwMCBjZjBlNjg1NjI2MDRkOWEyYTM2NjNiZDMwZjJkM2NhMjczMzdlOTc4IGxlZ2FjeS10cnVuaworNTI4MDEgY2U0Y2NmODdmNTZlNDYzOTRlYmYwZjMzMjljZTY1ZTE0NzIzNzE1NCByZWxlYXNlMjUtbWFpbnQKKzUyODAyIGM3YThjYjA5NWM0ODUxZjgxOTBkZGMxNzQ3YjA1ZGMxZjk3Y2VkOTIgcmVsZWFzZTI0LW1haW50Cis1MjgwMyA5NWFlNzQxZTI4N2JhZjdiNzA5MWJhNWU2MWMyYmYwMGIyYTY1OWU3IHJlbGVhc2UyMy1tYWludAorNTI4MTEgOTljYjM4MzUxZmZjNDBiYmMzMDFmN2MzY2YxM2M1NWRiZWJkMzI2YiBsZWdhY3ktdHJ1bmsKKzUyODEyIGFiMTg4NWYzNDQzYTdkYWIzYThlNDk0ZGZiNGY4MTdhYmJlOWQ2YTcgcmVsZWFzZTI1LW1haW50Cis1MjgxMyBhMjdlZGUyY2E2MDY4YTUxNjhiNTYyZGM0ZjliNjVjMDdmMWNiMmUyIHJlbGVhc2UyNS1tYWludAorNTI4MTQgNjFiMDY5Yjg0ZDBhZmNjNTEwZDI1NzYyY2U2MzJkYzQzMTg4MzE3YyBsZWdhY3ktdHJ1bmsKKzUyODE1IGIwYzA4ZWYxYzMwMzA5MDdhNjZkODdiN2NkYmUyZTNjMDIzMGNiY2YgbGVnYWN5LXRydW5rCis1MjgxNiA2ZTFiOTAwN2JiZGM2MDQ4YjgyNGU2ZGM5YjIxNzdlZmViNTg0YTFlIHJlbGVhc2UyNS1tYWludAorNTI4MTcgZDE4M2Q4MTI0ODAzZDAyNzJlNWNkZGU0M2VhOGFmYTlkMGYwYTg5MCBsZWdhY3ktdHJ1bmsKKzUyODE4IGEwMzdmYThmODQ1OGUzMWYzMWYyYTcxNzkwZTM3Yjg3N2M4ZWRhZDEgcmVsZWFzZTI1LW1haW50Cis1MjgxOSAyNTlkMjY5MDA4NjE3Y2JjMTdkOTEwZjAwNGYwNDkxYWI3M2YwMGE5IHAzeWsKKzUyODIwIGQ3NWIwY2FhNjdkYjlkZTYxMjEwOTc4YmRiYWYxZTZhYTRlYmU0YzEgcDN5aworNTI4MjEgOTNkYmZjNjU0YjZhMjIyZmJkNTJhYjhmZjQzYmViNzkxMWZiZjYwMyBsZWdhY3ktdHJ1bmsKKzUyODIzIDdmMzNmMjRhN2M0MTY3YzgyNzlkNjhlZGNhNDJlYTliNmUzZDM5NDAgcDN5aworNTI4MjQgMjVjYzYxNjE0NzIwNjNiYWNjNmEzZmVkZDU5ZWFlMDJlNmIzNmQwMSByZWxlYXNlMjMtbWFpbnQKKzUyODI2IGEzZTBmMWUxMTA4Mjg4OGU5M2QwYzgyODVlYWZmMjU5NjhkODVkZWUgbGVnYWN5LXRydW5rCis1MjgyNyBiNmIwMjU5MzE0NTEzMzM3N2RlMjgzMWVhZDlhMGIwZThjZjk4YjgwIHJlbGVhc2UyNS1tYWludAorNTI4MzMgMjkxZTYzMzY4NjdiNjc0ZjBmODRmZDRjYzBmNDYzNjIxZGNjNjcxNSBsZWdhY3ktdHJ1bmsKKzUyODM0IGNkM2Q2Yjk4Y2FlYWQyNjZiOTAwMmM4Y2Q3NzE5NWM2ZDhlYmZkZTAgcmVsZWFzZTI1LW1haW50Cis1MjgzNSAwMDQ2MmNhNDg4NDU0ODBlOWNhODQyM2E0YmY3NWI3MDQ3YjIyZmM0IGxlZ2FjeS10cnVuaworNTI4MzkgZTcwNzBkNjdkYjhjN2M5ZmUzM2YwYzc4YjlmZDU2NDIwNGYzNWYwNSBsZWdhY3ktdHJ1bmsKKzUyODQwIDE5MzE0NmU0ZDI3NmMwNDRlZjdhYTIxYjNmNWVjNGQzYjc4ZWVjNDggbGVnYWN5LXRydW5rCis1Mjg0MSA5NmJlOWQ3NGFkMzY3NTA0MGQ2MDIxYzNlNzk2OTFkNWU1ZTI2NDQ2IGxlZ2FjeS10cnVuaworNTI4NDIgNTg2ZGQ4ZWVkYjc1ZmVmODc5YTZjZmI0ZmI1MDAyNmQ5MTQ0N2MzZSByZWxlYXNlMjUtbWFpbnQKKzUyODQzIDI1MDgzNWRjNTQ0YWE2MDAzZDIwMzY2MDc2YTI1MmUzZDY1MzJlYzMgbGVnYWN5LXRydW5rCis1Mjg0NCAyMGJlNDMxZTc1NDAxYWZkOWI3NmZmNDBhMWY4Y2FjZDViZmE3Mzg0IHJlbGVhc2UyNS1tYWludAorNTI4NDUgNDU0ZWZmMjcwNmQzYjhiYjI3MWRjY2UxNDdmNWU3OWE4MTQ5ZjAyYSBsZWdhY3ktdHJ1bmsKKzUyODQ2IGE1NWQ0NjVkNDBjZmQyNGRlNWQ1MmMxMDljYzI2N2YxYTZmZTg2NWQgcmVsZWFzZTI1LW1haW50Cis1Mjg1MCBlZjE1NDcwMTY3MDMzYzc0YWU1MDVkN2Q0MmEwZGZiNmQzZGQ5ZWFiIGxlZ2FjeS10cnVuaworNTI4NTEgYTEwMTUzMDJkN2U0ZDQyYTBhZjE2OTVjMDg2ZDJlZmE4MjdkMDhlZiByZWxlYXNlMjUtbWFpbnQKKzUyODUzIDg4MTMzNDE3ZGZkMDViNGUxNTZhNmJjZTcxNGQyYWYwMTljNWNhYjggcDN5aworNTI4NTUgNzhmYjc5OTBjNWFhNTk1YmZiYzRmMTdjYTgxZDhmZGMyOGE2MzRiOSBsZWdhY3ktdHJ1bmsKKzUyODU2IGExZmQ5M2I1ODkxMjEwODc4YWMzYjRhYzdlNGY5MDY2NDMzZTQ5M2YgcmVsZWFzZTI1LW1haW50Cis1Mjg1NyAwMmQ1MTNlODcxZmU5NTcyZDIyZjE2MjAyNjQ5ODk2ZTY4ZTMxODkxIHAzeWsKKzUyODYyIDRlMzY4ZTgyYzcwZDZhMWUzMTIwODQyZmJlMjQxYWIzMjk2NWMyZmMgbGVnYWN5LXRydW5rCis1Mjg2MyAzOWFkOTlkZDY3ZTRkZTVjZmE5YjMxNTgyOTQzMmQxMTI1MTQ1NDZiIHJlbGVhc2UyNC1tYWludAorNTI4NjMgOThhMWVjYTNhOTMwODNjY2YwMWY0NWQwOWEyNjA5NmJkZTQxMDZmOSByZWxlYXNlMjUtbWFpbnQKKzUyODcyIGZlZjViNzc0ODE4YmRjNGU2MjYyYTIzMDA0ZWEyZmRkM2I5MDQ1NWIgbGVnYWN5LXRydW5rCis1Mjg3NSAxZTNmNTAyMGJiNTU1OGYwMjc3NzlhM2UyMWE4NmJkMzUyNzFmMTRkIHAzeWsKKzUyODc3IDJlNTAxMWFjYjQxNGQ0YjI2Nzg4YzAzNTdhMDViMWFhNTRiNzBmNzIgcDN5aworNTI4NzggYjNlZDA1M2NjNmExZjJiMWYyYWNjMDFjYWU5NTM0ZWY3OTE5YmQ0MiBwM3lrCis1Mjg5MCBkODAwZDY3Mzc1NTY0MTQ0NGEyZmE2Y2M3OGJkODYyNTMzOTI5YTFmIGxlZ2FjeS10cnVuaworNTI4OTkgMGUyYTA3M2NiYmJmYTdjZjdkZmFhZjVkNGZkMTY3M2NhZWE0YjQ3NiByZWxlYXNlMjUtbWFpbnQKKzUyOTAwIGM3ZTdlNzE5NmE0Y2NmMzU1ZmFlOTEyZjFkOWU5MjQyNjY2NDJkMmUgbGVnYWN5LXRydW5rCis1MjkwNSAzYWIxMmQxYTE3ZDJlZTM0OGZkOGFiZjBlZGY1NTA2YTc3ZmNiMDFmIGxlZ2FjeS10cnVuaworNTI5MDYgYzQzNzg3ZTZkNzA2MWQ1N2ZkNzA4MTY0ZDBlZjAyZmMwMGQ5YTU2MiBsZWdhY3ktdHJ1bmsKKzUyOTA3IDI2YjcxM2ExOTUzNGYyOGU3ZGUyYWFiOWFlZGM2OWZlMTdjNWNmYjMgcmVsZWFzZTI1LW1haW50Cis1MjkwOCAzZWU5ZDFhMzZkNDY0MzA5Y2Y0Y2JjMTUyOGQ2NTE3MGY5YTc1OGUwIGxlZ2FjeS10cnVuaworNTI5MDkgYTAxNDY5MmNmYTY2OGRlZDFjMGJjYmE0MmJlOTMzYzdhZDExOWE1OSByZWxlYXNlMjUtbWFpbnQKKzUyOTEwIDczZjBmYzJmOGYyN2RjMDk3YWYxYTIyNGExODA0ZjVlMjI2MzBhNDAgbGVnYWN5LXRydW5rCis1MjkxNSBjMWE2ZDk0YjgwMjc3NjhmMjM2M2EwMWQ4NmExZGE0M2QzZjNjNjk2IGxlZ2FjeS10cnVuaworNTI5MTcgMGNhYzNlNTMxYzVhMTViMWEyOTM5NDBlMmRmOTE5NDUwZDcyODk3NyBsZWdhY3ktdHJ1bmsKKzUyOTE4IGYxYTZhYjM1NzRlZmRiZGQ2OTFlNmYxM2NjZDQ5ZTUwYzAwOWEwNjMgcmVsZWFzZTI1LW1haW50Cis1MjkzOCBlYjMwZDMwZjIyYTE4NTc5ZWZkMWYwNWFhNzUxMzIyZjdlMzdjNjc3IGxlZ2FjeS10cnVuaworNTI5MzkgOWZmMmI3NDU4YzcwZDBhYmM3OTcyNDIzYzM1NTVkZjM3M2UwNzQ1NCByZWxlYXNlMjUtbWFpbnQKKzUyOTQ1IDlmZTU4NTViMDVkZGE4ZjdkZWZkMjA2OTM5N2M0ZGM1YmZiZTRlYWIgbGVnYWN5LXRydW5rCis1Mjk1MSBkNTU3Njk3MTJmNzNkZjU4ODVjODJhMTc4YTZjNTY1ODg1ZDJiMTEyIGxlZ2FjeS10cnVuaworNTI5NTIgZWVmNzI1YTQwYTY2NzgxMTViMmU1OWFiMDUwYzNhMmFlYmU3YmIzYyByZWxlYXNlMjUtbWFpbnQKKzUyOTYyIGU1Y2U1YTA1MzQxMTY5NmJkMDY2YTgwNjFhMjI4NzNjM2QyODQzNWQgbGVnYWN5LXRydW5rCis1Mjk2MyA2ZTkxZmM4OGJmOTljZjg1MGUxZmU4ZmExYzIwNGFmYjRmMjA4OGUxIGxlZ2FjeS10cnVuaworNTI5NjQgNmIwMmZlMWIzODJmZGZjOTZlNGE0ZWE3OTUwMmE0ZGNiNGExN2IwYSBsZWdhY3ktdHJ1bmsKKzUyOTY2IGExNWJkODFlZmRiNjM2OTk2ZDMxNzRhZDY1MjJjNGE3MjgzZjI2N2EgbGVnYWN5LXRydW5rCis1Mjk2NyBmYTI4MGQ3YzdkNWVkMmI3MTE4YTIyMWE1YTc5NGYxNDlmYWNiYTMwIHJlbGVhc2UyNS1tYWludAorNTI5NjkgYWU5MmM4ZDBmMDhkNTk0YjUwOTRlNjllNTg2N2ZjZjU1NjI1ZWIzNCByZWxlYXNlMjUtbWFpbnQKKzUyOTcwIGNmODdjOGYzM2Y5ZjcyZjdmNGYyNGUyN2Q0Y2IzYzBiZTFhYzQ3MDMgbGVnYWN5LXRydW5rCis1Mjk3MSBiODdjNTYzOWJjM2I4MGE0OTBjMmJkMTE5MDRhMWM5MzdlNTdiN2Y0IHJlbGVhc2UyNS1tYWludAorNTI5NzIgOWQ0NzI1NTViOTBkN2ZhNDU1NDRhN2Q5ZTc2ZTM1NWFiYjkyOWEzOCBsZWdhY3ktdHJ1bmsKKzUyOTczIDY4ZWYwN2Q5YzgxZTFjMTU1MWEwMzkyZGY4Njc3MGU1NThhN2NkMGUgcmVsZWFzZTI1LW1haW50Cis1Mjk3NCBkOWI0ZWZjNGViZWZmZmM4Zjg1NzYyNzM5NmY5OTBiNTQ0YWQxYjYzIHJlbGVhc2UyNS1tYWludAorNTI5NzUgZDRlYjY3ZDFkOTMxOGU3ODZlZWQ0ZjI0MGVjNmUyZjViMGYwOTc3OSBsZWdhY3ktdHJ1bmsKKzUyOTc5IDQ0N2VmMGU3NDYyOTk3MTEzODkzMWNjZDVlZDVlNDA2NzQ0MzYxYWEgcmVsZWFzZTIyLW1haW50Cis1Mjk5NCAwYzUxYjAwNWMyMTQ0YTQ0OTY3OTcwMjRhM2MxMThlZjljMzRjNTExIGxlZ2FjeS10cnVuaworNTI5OTYgM2Q1YjMwNzcyODkyYWNhNmFmYTg0YTVlM2VlMjM1NjJlZTIwY2QwNCBsZWdhY3ktdHJ1bmsKKzUyOTk3IDA0ZmRmOWZmYjE4ODJlOWJjZmEwOGViY2ZjNTAwZjQ4NDFjYTZjOGMgcmVsZWFzZTI1LW1haW50Cis1Mjk5OCA2MTMwNzJiOGY4ZDA5YzNkNmFlYzcyOWM5YmRmODAwY2ViYzU4NjFlIGxlZ2FjeS10cnVuaworNTI5OTkgYTMxMWExMGJhMGJmZDZmMDZmNjdlMmRlMzRkNWJmYTJjYzVkMTYzZiByZWxlYXNlMjQtbWFpbnQKKzUzMDAwIDMxNWM1YTYzM2IwNWJmMjU0ZjNmYzY2YTQ2MmZiOGVjYzkzNzY4ZDggbGVnYWN5LXRydW5rCis1MzAwMSBiMzMzMmVjMjkzZjI2ZDliMGNiYjJhOTEyMTQ0ZDQ4MmQ4Nzk5ZTAxIHJlbGVhc2UyNC1tYWludAorNTMwMTIgODEwMDgxODEyOTk2ZDhmZTdlMjVkYmQzNWRhYjk4MDMzYzJlM2NhMiBsZWdhY3ktdHJ1bmsKKzUzMDE3IGNjOTkyZDc1ZDViM2M5OTJhOWVkMDkxZTExODkyYTExM2MxMzQ1ZTkgcDN5aworNTMwMTggNjQ4MjI2MWIxMDkyMTYwYTFmZjQ5OGVjNmRlYTAyZjQ3ODE1MGQzNyBwM3lrCis1MzAxOSA1MGNlNTZiMjRjYmUzMTM3MzFiOTdkZjhkZWVmNDZhYzAxMWNmNmRiIHAzeWsKKzUzMDIzIDFjYjdiM2FlNDE0ZDA1YzIwMThhMmE0NmZmYThmZDA3YmExYjVmYzEgbGVnYWN5LXRydW5rCis1MzAyNSA1NmU4OGJiYWQ5YTBlOGRiMTE1ZjdjNGYxN2UxY2Q1ZDg5Mzk5ZTdlIGxlZ2FjeS10cnVuaworNTMwMjYgNDgwNzg5YjMyOTRkYzViYmNmYjQwNWVjYWVlMmM4NGExZWI1YWFkNiBsZWdhY3ktdHJ1bmsKKzUzMDI5IGU0ZjJiOTJjNzU3Yzk1ZDY0ZGE0YWM4MzA3NWE2ODQ2NjAxMjg3MzcgbGVnYWN5LXRydW5rCis1MzAzMCBjZWVlZDAyODcyMTY4MjMyZmIwMGE0YTZlZDFhZDYxYmFkYmIyZDExIHJlbGVhc2UyNS1tYWludAorNTMwMzEgYTkxMGFiZTc4MTU5MGE1NTRiN2YxOTgzMDM5ZTA3M2ExNjVjYmE3MSBsZWdhY3ktdHJ1bmsKKzUzMDMyIDllMzk2OThhZmJhNTZjYTY5ZjQxNDY5NmJlYmEzYzYyODRkYTM1NzIgbGVnYWN5LXRydW5rCis1MzAzMyBlZTVlNDFkZWE5NDkyZWI1OTk2ZDBmNDlmZTI4MjYyY2RhYTQ4MzhmIHJlbGVhc2UyNS1tYWludAorNTMwMzggMGRkZDA1OTNkNDBiZWU5MjQwZmI4ZDM1NzkwMGMwMDA5ZjMyNTc3YyBwM3lrLW5vc2xpY2UKKzUzMDM5IGZhOTkzNDYyNjQxMDQ0MmMxYjI4MTAxYTU3NWIwNWNmMjAyMTI1OWUgcDN5ay1ub3NsaWNlCis1MzA0MCA0NjdiMzgxMThiMjlhMmI2YWU4ZTM5MTlmMGI0MDFlMjg4ZTk1MWYyIHAzeWstbm9zbGljZQorNTMwNDEgODMzODRhNjkyNWE0YzkyY2IxODNlNTU5YTgxNTFlZDE4MzlkMzgxYyBwM3lrLW5vc2xpY2UKKzUzMDQyIDU5N2ZlODk1YTk1ODM2MmY2ZWZjYWEwNjEyYmJkZGViODU3YjcwYmIgbGVnYWN5LXRydW5rCis1MzA0NCA0ZjdmNzJiYzM0MGE3ZTVkMzAxODkzODk1ZDRmNDdhOTAwYmI2NTFjIHAzeWstbm9zbGljZQorNTMwNDUgNzQ1NzNmZGU0ZjBjZTc3MWEwZmUxMDY2MzhlMDc0ODA1ZjM2ZmZkNCBwM3lrLW5vc2xpY2UKKzUzMDQ4IDBkNjRmMjllZjI3M2QyYzIzMzRiNzhmODE2ZjliMjA2NzhmNjE4YzkgbGVnYWN5LXRydW5rCis1MzA0OSA3ZDc5ZmQxODE2YTg0NWQ5NzA4ZmNkYTExYzkzN2Y3OTcwYWFiMGY3IHJlbGVhc2UyNS1tYWludAorNTMwNTAgODFjY2ZlZGMxYzk5ZTdkOGQwZjEwNWJmZmY5YjRjNTZhZmVmYmUyYiBsZWdhY3ktdHJ1bmsKKzUzMDUxIDhlM2YyYjAyMmY3Mjc3MWM3MGM1YjA2ZDY0NjBkNDcwOWQzNDNkYTQgbGVnYWN5LXRydW5rCis1MzA1MiAzOGFhMWEwMTAyMTllZWFjNDg2ZTM0NTJkOWFhY2RlZTIzNjhmN2JhIGxlZ2FjeS10cnVuaworNTMwNTMgNTZkYzcyYzFhMWY0M2RlZWFjNDI2MWU0ZjRlMzg2MWEyNTRmN2ExZCBsZWdhY3ktdHJ1bmsKKzUzMDU0IGNkZjYzNTEzYThjZGZmYzM0MzgyYjJkNWE4NTFiNzY0NGQ0MGEyZTcgcmVsZWFzZTI1LW1haW50Cis1MzA1NiBhZGQwM2E5ZDc3OGI4MjgxOWExYjI5OWEyZmZmODI4Y2I1MzliNjk5IHJlbGVhc2UyNS1tYWludAorNTMwNTcgZmUyYTNjOTY2YzhlYWYxYTc2ODQxNThhOTE1Zjc2MzZmNDZiNjY0NiBsZWdhY3ktdHJ1bmsKKzUzMDYzIGViM2IyMzlhNGQwNzgwNjE2NmYyODkyZDEzN2Y1NTZlMmIyMmYwNWMgbGVnYWN5LXRydW5rCis1MzA2NCA5NTQ4Y2EwZTY1NjBlY2Q0NDRlYmRhODQ5OGVkMzdhOTU4MzliZTE2IHAzeWsKKzUzMDY1IDIxNDgwZDg5YjQ3ZjEyZDBjZjUxOWFjZWZjMWYwNzFjNTM5NGY1NjQgbGVnYWN5LXRydW5rCis1MzA2NiBiMjdkNWQ5OGE1NTY3NmM2NTk2NDE1ZmZiNDBmNjRkNjY3MzM0YTRhIGxlZ2FjeS10cnVuaworNTMwNjcgMTdlNzRjZTJiYzM1ZTc5YjY1NGMyMTUyMWQ1YmQ5ZGM4NWNkOGQ2ZiBsZWdhY3ktdHJ1bmsKKzUzMDY4IGRjYzQwYjkzYmZiZWNiYTNiMDQ1ZDQ0YjcxMzhjZTdmZDEwYWNiMTMgbGVnYWN5LXRydW5rCis1MzA2OSAwYjA0Y2I3NTFjMWEyMjExM2RhMzY2OTkwZTNlNjc4MWVjY2Y3ZWIwIHJlbGVhc2UyNS1tYWludAorNTMwNzAgMTY0NGJhN2RjZTFmMDVkZTA2ZGE0OWQzMDlmOTY1MmExOTFhNmMyMSByZWxlYXNlMjUtbWFpbnQKKzUzMDcxIGY5ODM0MGUzNmMzMTE1ZWQ3NjNlMTU4N2M2ZDQ4ZmQwYzc0NTgxNjAgbGVnYWN5LXRydW5rCis1MzA3MiAzMGYwOTc3NmVkNTU2MDBhMGM0ODYzZDQ3MzRjMjA4MTI1ODEyYzhiIHJlbGVhc2UyNS1tYWludAorNTMwNzMgZmU2OThkMDc4Y2Y5N2U3NzY3YWExYjJjYTA0OTMzNmIxMTIwOWI5NiBsZWdhY3ktdHJ1bmsKKzUzMDc0IGE4ZmEyNmEzYTJjYTFjOWRhZjNkZDg5MmEwNGY2NjZlNjk2NGZjNGQgbGVnYWN5LXRydW5rCis1MzA3NSA2Zjg2NGE5MWM2MTJjOWVkNzI5ZjExMDZmOTQ1ZDc1ZjMxZTUyMGRiIHJlbGVhc2UyNS1tYWludAorNTMwODAgODU2NWUzZmVhOWI2MmEyYmMzODdmNzBkNmFjOTUyYTk3MDEwNjY5YiBwM3lrCis1MzA4NyBkNGZjYjU2NTYzMTYyYzI3NWNmNDg4ZjQ5MTlkZGJjYjllYjllYTdhIHAzeWsKKzUzMDg5IGYxYTRjZTFmZTViMTBiNWQyMDg2N2Y0ODYxODhmMzgyNDFlNDUzMTQgcDN5aworNTMwOTAgNTEzOTVjMGI1NDgyZjhjNDBmZmYwNzAxNWNiNmFhNzczMDhlMWE4MSBsZWdhY3ktdHJ1bmsKKzUzMDk5IDk2ZDUzM2VmYmU3ZGQ0YzdmMDdiNTRiNWI5N2M1ZTY5OGQ2ZDQ2Y2MgbGVnYWN5LXRydW5rCis1MzEwMCBmZTliNTY5OTA4OTQ0OGVjZjk3NWJjYzliMDBjNGFkMTBkNDQ5YjI4IHJlbGVhc2UyNS1tYWludAorNTMxMDEgMDM3ZjNjZWEyNjU1MDJjOTZmNjVlOTAzZWYzYTE3ZGNiOTc3OTRhYyByZWxlYXNlMjQtbWFpbnQKKzUzMTA2IDEyNTBmZTQyY2U1Yzc5MTI0MDc3OThiMzdhZGRmMWY4ZTNjNTNhM2YgbGVnYWN5LXRydW5rCis1MzExMCA4ZmIzMzUwMGUwNjcwYjg1OGQ1YTJmODU5NGIwM2U5ZGM3NTU4YWM4IGxlZ2FjeS10cnVuaworNTMxMTIgNzkwOWE0ZWU1NjZiMDU4MzQyYjE1MDRmYTUzYjcyMDNiZTU5NGZlMSBsZWdhY3ktdHJ1bmsKKzUzMTEzIDJkNWVkMjY3YTQwZmExYWNmZDI5OTlkYzFhMDQ4MzlhYjk5ZjgyZjAgbGVnYWN5LXRydW5rCis1MzExNCA4M2Y1ZTgwY2UxZjI5YzMxMWEwNzYwYjI0Y2Y3NjBlZWM0NWI5YzliIHJlbGVhc2UyNS1tYWludAorNTMxMTUgYTg1OTVkZWFkNTRhZDVkN2ZhOWJlYzczYzdiMzQ3MjhmNWM0NmJiNSBsZWdhY3ktdHJ1bmsKKzUzMTE2IDIyYTU3ZjRmZmJjZDNkNGVlOTUxYTgxNjE0NWQ1OGJkNmNmZWZmMjggcmVsZWFzZTI1LW1haW50Cis1MzExNyAzNWM0OGY2OWJhY2VjNzk1ODI3ZmY0ODE1YTZjMGUzZGMwMDMyOTRjIGxlZ2FjeS10cnVuaworNTMxMTggZDJmYTdkYWFhNTliZjMwODcwODlkMjA2NjNkZjA4ODQzZmE5MGY1NSByZWxlYXNlMjUtbWFpbnQKKzUzMTIwIDNkNjY2OWFkZWNlNGE2NDM3OGFiZTZmZWMzM2Q0NDBhMWYxZWVmN2YgbGVnYWN5LXRydW5rCis1MzEyNSBlOGUyM2VkNmI2N2YxMzRjYWQxYmZhNDNiM2RkN2E1MzhiNDIwZjcxIGxlZ2FjeS10cnVuaworNTMxMjYgZmI1ZTNmYzQyMjdiZTgyMmIzZTdmYWFmODk4YmZmOTBiZTFkNmEyMiByZWxlYXNlMjUtbWFpbnQKKzUzMTI5IDk0ZWJmNGEyZjczOGYwMTFlNTljYzFmNjYyNGI5YzMyY2RhNTNiMTIgbGVnYWN5LXRydW5rCis1MzEzMSBmOTRlMmIxOTUxODllZGM5NTY3M2Y4NTQxZWEwZDg0MjU3ZmM2NGRiIGxlZ2FjeS10cnVuaworNTMxMzIgMzdlNzFmZWFlYTNkMmZjMjA0YjkyYjdhMTZiYTVhYTZhNTQ4ODQ2OCByZWxlYXNlMjUtbWFpbnQKKzUzMTM3IDg4MTYyNWMxM2MyMDZjYjcyNTFkYWU5MmNiMzRlOTRkMzI5YjRhNTAgbGVnYWN5LXRydW5rCis1MzEzOSA2NjNjOWYxY2UzYWFiZjhkODRjMzU3NWI2NTNlMzBhNTM1NWFhMGYwIGxlZ2FjeS10cnVuaworNTMxNDAgMmM1MDRjNjJkNGQ4ZGQ1NDE4MDc1OTExNWI1Yjc1NTQ3NGVkZTVmZCByZWxlYXNlMjUtbWFpbnQKKzUzMTQxIDJmODRiNmU4MTkwMmE4NDE3NDA0ODYyOTE2ZTE3ZjAzNTA4OThlZTEgbGVnYWN5LXRydW5rCis1MzE0MiBmOTI2YmJjMmZkNjI5Mjc3ZTZhM2EzZDdmYzIwOTA2MmVhM2U5ZWJjIGxlZ2FjeS10cnVuaworNTMxNDUgNWM2NzQ4NGM0Y2Y1ZWUxNzJjNTcwNWY5MzczYzYzOTBmN2YzN2JhMiBsZWdhY3ktdHJ1bmsKKzUzMTQ2IDkyZjNlZjhmYTRhZmEwODA2NzY3ZGQxOWVjMjFlNjBlYTk0ODYyM2UgbGVnYWN5LXRydW5rCis1MzE0NyAwOWY0YjQ2MGJhZWI3ZTVmYjRjNzg0NDdiMWY5OGJiYTRmNzkxZjRjIGxlZ2FjeS10cnVuaworNTMxNDggZGVkOTlkYjcwY2E2NzhkZDA5YjNkZWNhY2Y4NjcyMzRlZjBhODBkOSByZWxlYXNlMjUtbWFpbnQKKzUzMTQ5IGU0YjBmZjQ0OTIxNWYyNWYyYWQ1NWRkNGNkM2QyNTMxNmFiYjFkZDIgbGVnYWN5LXRydW5rCis1MzE1MCAyODk4MTlmZGUzYWYwZWNmNDk2NDA4N2IwYjcyN2EwZGRkOGM1Njk4IGxlZ2FjeS10cnVuaworNTMxNTMgNWM3ZWE5MzQ2ZjEyNzQ1MTg4ZTkyNGY2MTk2NDJhOWVhOGJmMjlhZCBsZWdhY3ktdHJ1bmsKKzUzMTU0IGFjOGE5YTQxMjFkMTdhYTcxZGJhZjVhZWRhNzNiZDZiMTZmMzY2MmUgcmVsZWFzZTI1LW1haW50Cis1MzE1NSA2NzYzZTQ1YzdmN2QzNDgzNTQyZTQyYjQzYjc1YmU5YzZhYjg5MjY1IGxlZ2FjeS10cnVuaworNTMxNTYgZWY0YjhmY2QxNGQ3MmZlMzhiYzAwMjc5ODA5M2JhZjYwMWExNzdkYSByZWxlYXNlMjUtbWFpbnQKKzUzMTU5IDFlMWI5YzJlMmFmMGUzMjJkMzExOTAyMTEwOWM2MWNkZDk1NTA1NzUgbGVnYWN5LXRydW5rCis1MzE2MCAxMmFmNjc4OGQ5MTE1NTljOWNlZjRlODBjOWVlNDc4Y2MzYTU0ZjQ4IGxlZ2FjeS10cnVuaworNTMxNjEgZTg1Y2EzZmQ0YmQ2M2YzODBhMGFiMzFiOGViNDEyODQ2ZGFmODVlMCBsZWdhY3ktdHJ1bmsKKzUzMTYyIDI2NzZkODI4N2ExMWIwZTlhMmZkOTIxY2ZmNWY3OTk4NjU5OTZkY2UgcmVsZWFzZTI1LW1haW50Cis1MzE2NSA2ZjhjNmY4MzBiNTFjZTY1ZTI1ZDhmNTU0Y2ViYmQwOTQwNWY1ZWVlIGxlZ2FjeS10cnVuaworNTMxNjYgNGQ3N2EyYzZhYTU1MzM3M2E2NDA1YWQ4NjIzOTc3NTkxZTNiYWMzZSByZWxlYXNlMjUtbWFpbnQKKzUzMTY3IDE5NWY2ODlhZjVhZmY0YmNjMDY1ZmY1Zjc0ODhmNjVlYjNiMzQ2OTggcDN5aworNTMxNjggYmNlN2U0YTkyNmE5MWJhNWI0M2I2ZWFhMTA5YmI0NTVjOTA5OWY5MiBwM3lrCis1MzE3MCA1NGNkNDc3ODg4MTFjMDNjNWVkNTE0YWEwZDAxMDNkNDZhNGZlMTgxIHAzeWsKKzUzMTcxIDdhMzVkM2QxYWM1YTMwMWVmM2RjNTJmOTE0MDg0NGYwNDIyMDExYTUgcDN5aworNTMxODcgZDYzZmE5MGRmOWVhZDg0NDdjZWFkM2I3ZmU0MjNjMTFhYzE4MDFiNiByZWxlYXNlMjUtbWFpbnQKKzUzMTg4IGEzMjIyMDc1ZjVjNjZhMTNjYmNiZDU3NmMyNmI5ZTA1YTJiMzY1MDQgbGVnYWN5LXRydW5rCis1MzE4OSBiMTllZDU0M2Q2OTVhMDMwNWZhMDI4MTQ5NjQzOGU0MTljODY0NTQ4IHAzeWsKKzUzMTkwIGI5ZmNhOGZiMGZiMzUxOGYxOTE0NTNiZWE5NjY5Y2M1MDQ5ZjZjODYgcmVsZWFzZTI1LW1haW50Cis1MzE5NyA5NDM3NWQ4MTQ4N2RhODE4MGIwYmQ5ODNlMWQ3NmY0MjU3MmQxNjk1IHJlbGVhc2UyNS1tYWludAorNTMyMDAgYzFhNGRjNzFjZGQzNzYwMTIwNWZiNjY0ZDQ5YzQyMmUyNzYxY2IxOSBsZWdhY3ktdHJ1bmsKKzUzMjMyIGJlODI0MGNlNTJmZjdmMzliYTE2NjFmZGI3YWI5NjVlMzVlMDQ4ZGEgbGVnYWN5LXRydW5rCis1MzIzNSAyYjE5YjJhZGM1YzFiOGE4NzE0MDBlOTAxMGM0YjAyZThhODExMWMyIGxlZ2FjeS10cnVuaworNTMyMzYgN2ExMzgzOWM2MzVkYzU1Y2RlNDdlMjFmZTk5M2VkNjFkODdkNjNmOCByZWxlYXNlMjUtbWFpbnQKKzUzMjQzIDljYzc2MWI5ZTJhYzU2MGY0OGE0Y2M1ODkyNGU2OTFkM2VhYjZmM2YgcmVsZWFzZTI1LW1haW50Cis1MzI0NCBkYzdkNGU1ZDhiNDk3ZTJiMDFiYmQ4NmQyNzA5ZTMzOTgxOGE1NmUxIGxlZ2FjeS10cnVuaworNTMyNDkgNDIwM2Y4ZTZlODZhYjQwYmZmZDJjM2I4MzdhMmY0MGViNzhkM2MwYiBsZWdhY3ktdHJ1bmsKKzUzMjUwIGQ5NzQ5YzNlNjMyNmFlMTYyM2Y5ZDFkNGFlNGJmNDhjOTcxYTY0NWIgcmVsZWFzZTI1LW1haW50Cis1MzI1MiBmOWIyNzgyMDc5OGI3NDc0ZjM2Y2YzNDFhYjE3MjJhMTg2ZjU3MzIxIGxlZ2FjeS10cnVuaworNTMyNTMgNjlmZTY4M2VjZTU2NmM4NDIzMDc3YmYxNDJkNjM1Mjc1NzZjZjJhZSBsZWdhY3ktdHJ1bmsKKzUzMjU0IGFmYWJmZmQ1NjJlOTRjYmRlMjRlMTM5MWQ4ZjY4YWY0NzJlNDRkMzIgcmVsZWFzZTI1LW1haW50Cis1MzI1NSA0NWM3MzE1MmI0YWM1ODMxNDU1M2QxMDVjNjM0ZTY3YTg0NDAyY2ZiIGxlZ2FjeS10cnVuaworNTMyNTYgY2EyOTVjMjcwYjFjM2YyYzE1NWE5NTJhOWRjZGUyZTM3MWUzNGE1MiByZWxlYXNlMjUtbWFpbnQKKzUzMjU4IDQyNzRlZGZkY2U5ODE4ZTU0Njg0Y2RlMjBlN2I4MTdkYTRhNGZhODIgbGVnYWN5LXRydW5rCis1MzI1OSAzMGRhMDZiMjI1YWZhYzNiYjE4YzA4ZDE3NWQ5N2YzYTEzY2ExOWRhIHJlbGVhc2UyNS1tYWludAorNTMyNjAgOTZkNzZkMDlhNGU5YzIyNTJkZmE4OTdmZDZjYThmOWVhYzc0NGI3OSBsZWdhY3ktdHJ1bmsKKzUzMjYyIDdmNzY5OTZjN2JmNGI4ZWM3NGJmNDZhMDRkNDRkMGY1OTY1MTY5MGIgbGVnYWN5LXRydW5rCis1MzI2MyA5MDkzN2QzMTc0Y2JlNTY4NmNhOTFkZGU5MGM3MWY4MTVjOTlkNWFjIHJlbGVhc2UyNS1tYWludAorNTMyNjQgOTMzNGIwZGMzYTE3ZDkwZTI3ZWY0NTc5Nzg4OTcwMDQzNjRhNWNjZCBsZWdhY3ktdHJ1bmsKKzUzMjY5IDNhOGZkMzYzOGYyNjBhMWM1NWUxYTU3OGJhZWQ1YTJmM2E3NzNmNGMgcmVsZWFzZTI1LW1haW50Cis1MzI3MCA4NGFjZWE4ZTA3MmU2NmUzMWI0MGI3NWNlZTUwY2Y2ZjExZDc5OGJjIHJlbGVhc2UyNS1tYWludAorNTMyNzMgZjcwMjc5ZjAwZGZjODBjMGRmYjk4ODlmNmU4Mzc5NjE4MjFmZTY3NSByZWxlYXNlMjUtbWFpbnQKKzUzMjc1IDY4NDVlMGU2MjkwMGZjMjE5NTU5YjFhNzhhMjZjZmJiNGQyNzQ0MGMgcmVsZWFzZTI1LW1haW50Cis1MzI3OSAxNjdlN2JhNzQ3NTYxM2MyMjY4MGNhYjk2YmZhZmVkYmFjMDU3YjE0IGxlZ2FjeS10cnVuaworNTMyODUgMDdjNDcwMjAyMGRjOTJhZGU2NWIxZjFhMWZjOGVkZGYyYTkxYjNkOSBsZWdhY3ktdHJ1bmsKKzUzMjg2IDQxMDU1NzBkYTMwYWQyYjIxMDg5Y2QwMTVmMWM1ZGFiN2MyNDkzMWMgbGVnYWN5LXRydW5rCis1MzI4NyAxNTIwYmFhZjI3YmY3NGU5Nzk3OWQ3YWYwNzUyMTJmZTg0YWJmZjg1IHJlbGVhc2UyNS1tYWludAorNTMyODggNmJkNjVjYjViOTUyMDYyZTMwZWEyZTIzNmRjNTIxNTljMGI5YjBhMCBwM3lrCis1MzI4OSA5OTViN2ZjYzI5NmRmNTY4NGFjNzM5YTIxY2U2NGE0NTJiODcwNGIzIHAzeWsKKzUzMjkxIGNjOTQ5YzYwNTU3NGRhNzVkYzg1OTFiNzJmOWZlZjVmNGIxOGY5MWYgbGVnYWN5LXRydW5rCis1MzI5MyA3YTExYTNhYmU2NGMxZjZmN2M1YzIzNzdiYjhjZWVlNWIyNWVlMWViIGxlZ2FjeS10cnVuaworNTMyOTQgNDRjNjIyMGIxZGMzZmZhNjZkYWRmZGYyOTkwYzU4M2ZmZGQ4NDlmYiByZWxlYXNlMjUtbWFpbnQKKzUzMjk1IDk5MDkzYjUyN2MwMWNhM2ZmNTkwZWEyYzM5ODBkZmIxNWYyZmVjODEgbGVnYWN5LXRydW5rCis1MzI5NiAwMzU0N2E0Y2QzMGFmYTEwYTM4YmE4YzIyYTY4NTU2MmM4NWY4YTUwIHJlbGVhc2UyNS1tYWludAorNTMyOTcgOTQwZmY1Yzc3ZjNhOTEwN2VlY2IxNjgwYWQ3MmEzZmNiOTk0NmRlMSByZWxlYXNlMjUtbWFpbnQKKzUzMjk4IDhkYTZkZGE2NzlmOGIyYThlNWRkZjZiNWViMzliMjVjMDRmZTdkZjIgcmVsZWFzZTI1LW1haW50Cis1MzI5OSA0ZGM3OWUyODMyMDk0ZDUyYTgyNzNjODJmOGRiNTMzZDg5ZTU1YjMxIHJlbGVhc2UyNS1tYWludAorNTMzMDAgYmQ3ZTQxZGU5ODJmNjBlOWYyOTgwODgyNGNjM2Y1ZTVlNTc3NDY2NSBsZWdhY3ktdHJ1bmsKKzUzMzAxIDlhZmQyYzdmYWVkZTYzYTcxNzk1ZDMxYTY1N2U4ZTg0YmRjNjU3MWYgbGVnYWN5LXRydW5rCis1MzMwMiAxZWQzZWQ5YWYzNDhjZmJhNGNlNzkzMTc2ODZjODliYTQwZDYxM2JmIGxlZ2FjeS10cnVuaworNTMzMDMgZGU1MDQwMjRhNmU3N2I0NTliMDllYTQwNjg3YTA2OWQ1NjEzNjgzOCBsZWdhY3ktdHJ1bmsKKzUzMzA0IDkyZGQyYmI5NGNhOWM4NzkxNDA3ZWIyN2IwMjAzNGJmMTE3ZjY3NWYgbGVnYWN5LXRydW5rCis1MzMwNSA1ZDQzMTAyNWM5OTlhOTZlMGQyNzU3NjhhYzgxODE1N2EwYzA5ZTBlIGxlZ2FjeS10cnVuaworNTMzMDYgNjFkNjM0YTBiZDZhMjNkOTAzNzQxMzhjYTY3NGNiNzcxZTJlZmRiMSBsZWdhY3ktdHJ1bmsKKzUzMzE2IDBkOTJjYWEyZDBmNDJiMmMzOTJjZGRmYzkxNjFhODIzYTQ4ODRhZDIgbGVnYWN5LXRydW5rCis1MzMyMSA2ZGRiNjM2Zjk1YzAwOTQ0YzY4NjMwYWRhMmEyYjc4Y2VhNmNmMjVhIHJlbGVhc2UyNS1tYWludAorNTMzMjkgYjgxZjRlZTk0YjA0Y2I5NmFmNGQxOWNhZmEzMjI5MzI2NjZkNTFmNSBiY2Fubm9uLW9iamNhcAorNTMzMzEgNDlkYzdmYzY2YmVlMzgyYTA1NWMyODBmNzZlZjg0OWI1MGRiYTI1NyBiY2Fubm9uLW9iamNhcAorNTMzMzIgNjcyODdjYTRlMWU4NTNmY2RhNzIyZjNiOTkzOTZmMmQ0ZTg4OWY2ZCBwM3lrCis1MzMzMyBiYjFlZWE5Y2VkNzBkYWI3ODQ0ZjMzYjQ1ODFlMDViYjkxOGZjYTE5IGJjYW5ub24tb2JqY2FwCis1MzMzNCBmMzFmZWUyNjJiNTE0NWYwNDNjNWIzODMyMTg2MDk0MTI2OGJlYjA0IGJjYW5ub24tb2JqY2FwCis1MzMzNSA2OWJjODA2ZDk2NjE2NTNhMzZjMjk1NGUzYzc3Mzg5NzRjNWVlOTkyIHAzeWsKKzUzMzM2IDBiNzk3YTdiNTMxMzA0ZjI1MDkwZDk5NTM4YzYzZmE0NTJjNDViYTggcDN5aworNTMzNDAgNjY3YmQwMjdkODAwOThkNDcwYjljZTg4NTU3ZDVkNmQ0NDMxNzllMiBsZWdhY3ktdHJ1bmsKKzUzMzQxIGI0YmE3MjQ5YWJhNTY4MzExMDU2ZDlmMGRhM2I5MDE1MmVkN2FmMzYgbGVnYWN5LXRydW5rCis1MzM0MiA2YjE4YTA5NWMyZTdhYjdjM2UzM2EwNjZjOGE3NDU5MjViZWY0NGFkIHAzeWsKKzUzMzQ5IDRiYWI2NWZjY2E4ZTYzNjk5YjAyMjYyNDJkZmUwODIwMjQ1OWQ5ODggcDN5aworNTMzNTcgZmY3MWI4MmY2Yzk1NjA4M2IwY2QyOGNiMjJjNDg2OGZlZDM2OWQxNSByZWxlYXNlMjUtbWFpbnQKKzUzMzU4IDEzZmMxOTQyMDRjNGU3NGM2ZTQzYzY2YjVlNDE3ZTNjZDgwZjllMWYgbGVnYWN5LXRydW5rCis1MzM2MCA0NjhhZTNlMzkyYTJhMmI2NDgwZjRhZGY2YjQ3ODhkYWRiMWIxYzBjIHJlbGVhc2UyNS1tYWludAorNTMzNjEgOTA5NDZkNTQzNGFhMzJhNzc2N2JlN2M5OTU5NDUxMzQ5ZDNlMGEyZSBsZWdhY3ktdHJ1bmsKKzUzMzYyIDVmMTMwMjcxZjM4Njk1ZWY0OTk2NzJkNmNjNjM4ZWExYzRmNGIzM2QgbGVnYWN5LXRydW5rCis1MzM2MyA3ZTI1MDAyMjZjNDM2YzY1YTFkZDc5MzM2OGY4Yzg1YmVmMTMxYTk5IHAzeWstbm9zbGljZQorNTMzNjQgOGMzNjkzNDZhNGNjNTA4YzlkY2QzNzdjNjEyN2JmMDU0ZTJjYjVjOCBwM3lrLW5vc2xpY2UKKzUzMzY5IGUxZTQ0OTNmNmU4ZjI0N2FmMjU5YWUyNDE2NGNjOTFhY2ExYzgzZTQgcmVsZWFzZTI1LW1haW50Cis1MzM3MCA0NmZjNzU2MTVkYTUyMmJjODA4YzUzNGI1NmEwNGVjMjVhNDMzYmYyIGxlZ2FjeS10cnVuaworNTMzNzEgYjYwYjQyMDk3Yjc4YjZhY2E0ZGJlY2JkMWYzN2FhNTZlNThkNDk2MyByZWxlYXNlMjQtbWFpbnQKKzUzMzczIDgxM2RjYzgzZTQyYzI3ZGMwNmEzZTBkNDNiODQxMDc0YjU5NThjMmQgcmVsZWFzZTI0LW1haW50Cis1MzM3NCA0M2M3NWU1NDBlOTIyZmI2ZThmNzg2MDcyNGM4Y2YzZmQxN2JiYjcxIHJlbGVhc2UyNS1tYWludAorNTMzNzUgMjExMTlkYjVlMDk2NjUwZDQzYWM1NWM0ZTdlMTVmOTIxYzhiOTgyMCBsZWdhY3ktdHJ1bmsKKzUzMzgwIDI2ODU5OTAwZmE1ZGU3ZTVkYTZiMzVlOTFlYjEyMTgwZWNkODkwOTQgcmVsZWFzZTI1LW1haW50Cis1MzM4MSA3ZGEzZGJjODE0NWI4NGRiYWEyZTIzN2Q0MTljY2I4OGI1MTA2ZWU1IGxlZ2FjeS10cnVuaworNTMzODMgYmUxOTNhZjIyZjA0N2ViMGFmNzYzY2NkM2IzY2Q5ZTRiZmU2NWFkMSByZWxlYXNlMjQtbWFpbnQKKzUzMzg0IGUxOGFmMjhiNDlkYTlhNTkxMzZhZjNjMmE0NjUxYjEwMTU4YjIwYTUgcmVsZWFzZTI0LW1haW50Cis1MzM4NSA1M2MwYjA5YzQ4YzExZjRjYzA0YTFmM2ZhYjA3N2M0MGExOTdhNmUwIGJjYW5ub24tb2JqY2FwCis1MzM4NyAxYzRiYmU2M2ZkZmM0ODc3MjQzYWFhN2FhZmVlNzUzMjcxZGU1ZDMzIGJjYW5ub24tb2JqY2FwCis1MzM4OCA3ZDg4NjhjZmJhN2M1ZTlkZjQwZjZjYjQzMzljMzU2ZmJiYzUxNzFhIGxlZ2FjeS10cnVuaworNTMzODkgYTJlMTdiNzUxNWQzYTM2M2UyNTI3MDIwZGQzZDZiYjZkMjdlZmQ1MSBiY2Fubm9uLW9iamNhcAorNTMzOTAgNjg5OWI3NDBlOGVhZTZkZGQ3ZGNkZDg5OThiZWQyNTRjYjI4YTA0OCBsZWdhY3ktdHJ1bmsKKzUzMzkxIDc4Y2QzODRkM2ZjZjkwOWFjODUyZGUzODc2YTQ1MmU5NDRkMGZiZGMgYmNhbm5vbi1vYmpjYXAKKzUzMzkzIGM3YmQ4OTJjMDU2N2Q3MmQyMDdjM2UyNjVjNzMxMDlhZWQwN2RhYTggbGVnYWN5LXRydW5rCis1MzM5NCA2ZDE2ZWJjNzE1Njk1YzA5MDkxOWYwOTg1M2MzZTk5NTU2ZGM1MDVlIHJlbGVhc2UyNS1tYWludAorNTMzOTUgMTgwMmNmOTMyNTRiZjY2NDU0NWYwZmQxNGI1ZDA0ZDA1NmZlOGM5ZCByZWxlYXNlMjUtbWFpbnQKKzUzMzk2IDhiZjY4ZWNjNzY3NmFmMWZiZDM0YjhlZDNiMGJjNmFmN2NiNTYzOTAgcmVsZWFzZTI1LW1haW50Cis1MzM5NyAyYzU3MWY2Y2UyM2FiMjc2NjhjMmFlMTJkNGRiNjQyODc3YjRlZDZlIGxlZ2FjeS10cnVuaworNTM0MDEgZThhZGU4YTZlNWNiOWNhNGEyMTM1YTFmZWI2N2FmOWJkZDU5YzM4NSBsZWdhY3ktdHJ1bmsKKzUzNDAyIGNmOGFmNmI3NTk4YmM1MzU1ODlkNzVkNjk1YjFkY2I3MzMwMDIxZmIgbGVnYWN5LXRydW5rCis1MzQwMyBjYTUzN2U5YmE3YTdmMWE2MTA2OGY1MDVjNWYzM2U4NTYxYWU5MDgxIGxlZ2FjeS10cnVuaworNTM0MDYgYjMwM2ZiMzgzZmE0Njk0ODM3NTJlM2YzYWE2N2Y3YmVlYWQ4MGM5MSBsZWdhY3ktdHJ1bmsKKzUzNDA3IGYyN2I4ODk5YjYxMzUyMzJhN2EyYWU5ZDYzZTMxNDQxMWNhNmQ4MjkgbGVnYWN5LXRydW5rCis1MzQwOSBlZDdhY2YxODgxYTk0MGZjNjVjN2QyNTk1YzYxZjM1Y2ZkMjVkNDQ1IGxlZ2FjeS10cnVuaworNTM0MTAgMmE0NzZjOTRiZTIwMDQwNWE5MWU4MjUzOWUyZWRhZmFjM2QyMzcwMCBsZWdhY3ktdHJ1bmsKKzUzNDExIDY4YjQxYzJkNjY2MzFhYWM0YjQxNGIyY2E2YzYxZmVmZWUzNDdjYzYgbGVnYWN5LXRydW5rCis1MzQxMiAyZGY4MGU3MTZlNWM5ZDkyNjZmZmVkMGE5ZjIzYjhkZDZmNDdhNTE4IGxlZ2FjeS10cnVuaworNTM0MTMgMTQwOWUxZjI3M2I1MDg1MTM1NjJjODYzOTBlZDMzZTZiMDIxNWJhMSByZWxlYXNlMjUtbWFpbnQKKzUzNDE0IDczYjkzZGM1ZTQ0MGFjMDg4OTI2MzVkZTBlYTE5YzBjMzY3ZjE5Y2UgbGVnYWN5LXRydW5rCis1MzQxNSBmMzI4MzI5NDcxZGY1NzEzOTZhM2JhY2M5ZGFhZjNmMGMxMmZiNzVmIGxlZ2FjeS10cnVuaworNTM0MTYgY2ExYjQwY2M2Yjc0YzM1OTlhMjQ2Y2FlOTU0NDU3NWFhZmE4MzQzZSBsZWdhY3ktdHJ1bmsKKzUzNDE3IDQyNmYxZDM3M2NkZDY1NzgwZjg3Nzk4MTMyY2I0OWI5YzEzY2IwYTkgcDN5aworNTM0MTggNGViZjBiODA1Y2U4NGY3YTc5ZjAwY2I5ZDAxNjNlMmQ0ZTg2YTU3ZSBpbnRfdW5pZmljYXRpb24KKzUzNDIwIGI5ZDRjZWQyMzUwNjIxZjY2OGNmZjk0MmZjNDM1MDIzMGViZDlhODIgbGVnYWN5LXRydW5rCis1MzQyMSA0YWVlM2Y2NzJmNzdlMGZlYWYwMmNjZGFiZDAxZWVkOGI2MzIzNmRlIHAzeWsKKzUzNDIyIGRiZmQ4NmMzYzc5MTNhYTFjZDI0MjdmYWYxOTQ2YWViZjUxMTZhOGUgcDN5aworNTM0MjMgOTBjMzgyNzE2ODZiMTIxMzE0NDM1YjM4OWZjMmIxN2VjODk4YjM1ZiBsZWdhY3ktdHJ1bmsKKzUzNDI0IGEwMDRjM2IwMTljYTE1MzIyNTBjNTJjNWFmYWNlYjkwMGFlNDQ5OGYgcDN5aworNTM0MjUgM2Q3OWJjNmVkNmVjZTcyMjg5YTE2YmM4ZmEzODFhYzA5OTRlMDJjNiBsZWdhY3ktdHJ1bmsKKzUzNDMzIDk4ZDVmOTBjYjkwNWFmZWJjZmNmZDFjZDM3YmMxZTI3MzgxZmUxM2UgcDN5aworNTM0MzQgNmVmZTNhNGIxMGFjOThhZDJlMjU3ODkyODIyZmE5NTQxMjI5ZmNmMCBsZWdhY3ktdHJ1bmsKKzUzNDM4IGRiOGMxNzVkMTI4M2Q3ZmI3NjYyMDMwMDJhZDYwZjE3MDk2NDQwN2EgcDN5aworNTM0MzkgOGUyY2E1NDQ0OTAwMWVjYjIzYWU1YWE1MTg3NzRlMTBlZmZlNzFmZCBwM3lrCis1MzQ0MCBjZjk4MzQ1YjlkNmIwMjBhZjAwZTY3NzcwYjBmM2E3MTIzYmRlNjlkIGxlZ2FjeS10cnVuaworNTM0NDEgZjM3Njk2ZTY0NmZhYzVkNTM1NjNkMzk4Nzk4ZjRkODAyMGUzMzNhMyBsZWdhY3ktdHJ1bmsKKzUzNDQyIGNjNWMwNzFjODQyMzExZTgzZjZjZWEwODgzZjQ0OWI4ODc3ZjVlZjUgbGVnYWN5LXRydW5rCis1MzQ0MyA4NmNlMWRmNmE4OGU3MGMxYTM5MGEzM2EwOGRiN2RlNDI4OGMwNjI2IHAzeWsKKzUzNDQ0IDgyYjliNWIxMjI1NmU0NWUwY2E0OTFkMjRiZDZlYzVkYTljOTNlMWQgcDN5aworNTM0NDUgNmY1YjMzOTQ3Mjc0ZThiNGQzZmM1MWVjOTQ1M2EyZTIxZjI2NDdlNCBwM3lrCis1MzQ0NiAzNDI1MzJmNDUzNmU2MTg0ODlhYzUyODAwOTNmMzk3M2I1NTYyZDJiIHAzeWsKKzUzNDQ4IGQwMmQyOWM1MjMyYTFjYWJjYjI3MDAzNDdkODRkYTk4NjUxZDFlOGEgcDN5aworNTM0NTEgNDdmOWVmZGMwODU1YThkMTc2MWEwYTQyNDc5MzU3NjJmNDJjMzVjMyBwM3lrCis1MzQ1MiAxYzI2NTA1YzFkZTZlYjUwZWE4NjRhOTc3MDI4YmRmNjk1NzhhOTdjIHAzeWsKKzUzNDUzIDNmNzgyNzRmMmEzNDk0MzViNzQ1MmUyZDI0MmZiNjBhNTQ3MzY2ODIgcDN5aworNTM0NTQgNGE0YmM1Yzc2ZTQ1OTBiZGM4ZTVlN2FkYTJiYzM0ZjRlY2MwNjRjYiBsZWdhY3ktdHJ1bmsKKzUzNDU4IDliZTYyYzQ1ZjNhODc5NDBmMWIwY2RlM2IzYjc2ZGNkZGQ4YTkzNjUgbGVnYWN5LXRydW5rCis1MzQ1OSBlNWI2NDFlNzAwZjIzNTQ1YTM5NGMwYTgzODBmYzAxNzUyMDBjZmE4IGxlZ2FjeS10cnVuaworNTM0NjAgYTRjZGI5YzhhZjI1YmQ2N2EzOWIxNDkyYzM4YzFjM2MxYjI1YWVmNiBsZWdhY3ktdHJ1bmsKKzUzNDYyIDM3OWFmNDE4ZmMzNjc1MmRlOTVmNGFhMmJiN2JkZDU5NThiZTgxMTEgYmNhbm5vbi1vYmpjYXAKKzUzNDY0IDQ4ZDM4ZDc3NzAyNDk2MjllYjUxNTNiMzkwNjBmMTUxNWQyOTVmMjUgbGVnYWN5LXRydW5rCis1MzQ2NSAwM2E1ZjJiMDY4MjUzZmFlMDUzNDRhNGJkMmJjNGEzNmRiZGU1Y2ExIGxlZ2FjeS10cnVuaworNTM0NjYgNjY3ODJlNWI5OTJmNTdmNGI3MjFiMWM5NTY0YTk5YzU0NDhlZmExNyBsZWdhY3ktdHJ1bmsKKzUzNDY3IDRhOTdmM2JmYjU1Y2UxZTViZGNjZDkzY2Y1OWY3MDdmNWE5MDY4MTkgcmVsZWFzZTI1LW1haW50Cis1MzQ3MSBiNzMzOGYzYjFiMDIyNDVlYTRjZmM4NjkwZGMzNDYxZTA1ODhiM2Y1IHJlbGVhc2UyNS1tYWludAorNTM0NzIgMDkxZGY0MzYwMzhkNzQ1ZWE5ZDYyN2Y4ODIwMmIzMDg0MGY0ZDVjYiBsZWdhY3ktdHJ1bmsKKzUzNDczIDE5MWVhYWU1YTI5ZDJlYzNmNGE1ZjYzMjllZmI2NmM3ZDExZmU1NTIgcmVsZWFzZTI1LW1haW50Cis1MzQ3NCA0ZDg1N2RhN2U2YzRmNDEzMjg3NTQzZjk2NmU5NWYzYTNkYjkxMTA0IHJlbGVhc2UyNS1tYWludAorNTM0NzUgNzczMjliMTI3ZDQzNzRlNDE2ODYxOGYyZDRmMGIyNmZlZmUwZjczMiBsZWdhY3ktdHJ1bmsKKzUzNDc2IDk0Y2EwNmQ5NTkzMDZmODJjNWViMTMzODFjNGUzMGU2YzJiY2I0N2IgcmVsZWFzZTI1LW1haW50Cis1MzQ3NyA5MDE2MDQ5MGM2ZDQwNTJkM2I0NzUxOWQ3MzM1MzdlYzU5YjIxMTg0IGxlZ2FjeS10cnVuaworNTM0NzggMjIzZmYzNWRjZmZjMWIwNmFkNDBiZjA3NDU0NTY0MWRlOTI2MjM2YSByZWxlYXNlMjUtbWFpbnQKKzUzNDc5IGVlODdlZWY5NTdmMzU5MTM2MzI3NzAzNDA3ZTNhMTM5ZDE0MzAwZTUgYmNhbm5vbi1vYmpjYXAKKzUzNDgxIGNhNjA3ZDc0OGY2NGU2NjA0YzhhNWFlMDYwMmJmYmE0NWVjZGM5ZjYgbGVnYWN5LXRydW5rCis1MzQ4MiA5YmRmMzRiM2Y3MmViMGZlZTNjMmIxOWIzOWYyZDg4OWQ1ZDM2N2ZiIGxlZ2FjeS10cnVuaworNTM0ODMgM2YxZGZhZjI5M2ZhMWRhMGVmOWI5NDkwNzlmNjg4ZmY5ZjA1NTA0YSBsZWdhY3ktdHJ1bmsKKzUzNDg0IDBiYzQyYzE1NmU5ZjVlZmVlNzg5Yzk1MmE0ZDBlODg2ZjZlNDRlYTAgcmVsZWFzZTI1LW1haW50Cis1MzQ4NyA5ZmU5MmYxOGJiNmE0MmE3NDY5M2Q2YWU5ODA4M2M2MWE3YmQ0OGUwIHJlbGVhc2UyNS1tYWludAorNTM0ODggYjhhY2VjNGE0Yzg5Y2E2YmQzYWY4NTliN2Y2N2I0MjQxN2M5ZWI0YiBsZWdhY3ktdHJ1bmsKKzUzNDg5IGIwNTFkMTk3ZjdhNDkzN2ZjY2VmYzY3YWFlYjgwYzIxNmE0NTUyNzUgbGVnYWN5LXRydW5rCis1MzQ5MCAwNWE4OTg2ZDk1MjY3MzdjOTI0MjMyYzU3ZGM1MzJjYjgwNzRhY2Y3IHJlbGVhc2UyNS1tYWludAorNTM0OTYgNjgwZDE3YTZiMTVmMGEwNDI0YTAzZDYwNGQwZDQ1MjMxZWUxNmQyMiByZWxlYXNlMjUtbWFpbnQKKzUzNDk3IDM5YjNhNWEzYzY0NWI4OWI4MGY1ZjNiNWMwZDRhMzRkMWFlNGQ0ZGIgbGVnYWN5LXRydW5rCis1MzQ5OCA2MGQzMWExMmIxNTBkNTA5Y2ZkNzBiZjE5OGQwNmJjYWY2NWZlYmE4IHJlbGVhc2UyNS1tYWludAorNTM0OTkgMmY4MGFmNjc0MDc0YWZjMjUyNmFlMDAxYWFkOGM0YjVlNjM4NGJiYiBsZWdhY3ktdHJ1bmsKKzUzNTAxIDViZjRmMDU5MDNiMjBjNjBmNzhlYmM0NTA2NjBkMjc0NmNhN2FlYTAgcmVsZWFzZTI1LW1haW50Cis1MzUwMiA1OWNmODllNWYyMzdlZGFhNTE2MDg0MzEzMTMyMWY4Zjg0YWM4YzQyIHJlbGVhc2UyNS1tYWludAorNTM1MDMgN2IzOGY5OTU1YzY0NjU5NDAxNDc3NTcxYjcxYWY5Yjk5M2M1OGZhZiBsZWdhY3ktdHJ1bmsKKzUzNTA0IDEwYmZmZDE5YjUzNWE0NDhlNDgyZTI5ZWZmZWFmYzg1OWQyYjNmMTIgbGVnYWN5LXRydW5rCis1MzUwNSAzYWU0ZjkzMGJmMjdiNGNkYzBjNzdmZTE2YmRmNTA0MTZhODc5NjUyIGxlZ2FjeS10cnVuaworNTM1MDYgYWM0YzJmNWMzZmMwZTk5MzQzMzY0NjhiM2M5MDk5Mjc5Zjk4OWM5MiBsZWdhY3ktdHJ1bmsKKzUzNTA3IDVmOGE1NGM4MDRmZjZmMGRkMzJiMmMyNTgxOTJkYTkzYTlhNmVkNjQgbGVnYWN5LXRydW5rCis1MzUwOCAwYmZmY2E2NGNjYzRiYTA0ZTQxMzA4OGQwNzQwZWM4MmY0ODQ4MTE5IGxlZ2FjeS10cnVuaworNTM1MDkgNzdlMGY0NzE4YTdjYTYxNzc4N2U3MGZiM2E4ZjZmYmRlN2JhMDVjNiBsZWdhY3ktdHJ1bmsKKzUzNTEwIGM4NmRmMzExZTYyY2VjZTIxMDA2YmU2YmMzNjIwOWZhZWYyYjRiOGMgcmVsZWFzZTI1LW1haW50Cis1MzUxMSAyZmE2ZTgyYjFmMTdiN2FlZjg3NjEzNzk3MmE3M2I3YzJmZmRlNzc3IGxlZ2FjeS10cnVuaworNTM1MTIgNTczYTQ2MTc2MTc1Mzk1MmEwYjA1MmMyMTUwNDIzMDU0ZDA3NTQwYyByZWxlYXNlMjUtbWFpbnQKKzUzNTEzIDY2NmZhZjg5MTJlMDVmMzdmZTNhYjRkODEzZGEyNDkyMTQ1YmNkYWUgcmVsZWFzZTI1LW1haW50Cis1MzUxNSAxNjc5YTRhZGExNzEyYjBkODg5OWE1OGZkYWM5YWQwZmNmOTA0N2RmIHJlbGVhc2UyNS1tYWludAorNTM1MTYgM2I2YWM0ZjRiNDM3MjQwYmRmYTBmODUzNDBhZWNkYzU2YmJiMTgzOSByZWxlYXNlMjUtbWFpbnQKKzUzNTE3IGIyMzcxMWJlMmIzZTAzNDIxMzhmNDc0ZmYzMTY2NDg0ODg3MGZkNGYgbGVnYWN5LXRydW5rCis1MzUxOCBiYjRjMGJiYmEyNzJmOGQ3OGY3NTI2ZmQyNGM2MjA4MjgxNDAwOGI4IGxlZ2FjeS10cnVuaworNTM1MTkgYjE2YjRmOTc2ZTcwYWQ4N2Y2NjM5NzJjMmNhZmE0MDc5M2Y0NzhjMSBsZWdhY3ktdHJ1bmsKKzUzNTIwIGVjZTJhZjc2NDYyMWQwNTdlNDI1NjRhNGI0NGQzNDFiOTZlY2E1NDUgcmVsZWFzZTI1LW1haW50Cis1MzUyMSBkZTJiYmRlY2U4M2VkYWZkMmFlMWRhNDg5MThhNDMyNzM1ODZmMjA1IHJlbGVhc2UyNS1tYWludAorNTM1MjIgZDdiZTAzZWJmNDY2NzMxY2I3YmU2MWM0NzRjNjUxZTk1MWZmNDQ0ZiBsZWdhY3ktdHJ1bmsKKzUzNTIzIDlmMjM5M2U5ZWFjYWJmNDM4MDYzZmRhZjI4ZjJmNGYxNzg3OWU4MzIgcmVsZWFzZTI1LW1haW50Cis1MzUyNCAwODFjYTYwODBmZjE0NTMwNGU0ZDM0ZjExODkxOTk2NDM1MmNmNTE1IGxlZ2FjeS10cnVuaworNTM1MjUgMjliOGI2NWJhZTNmYWI1ZTBmNGI5NzBiZDk2YmZhM2JlMDMwZTIxMCByZWxlYXNlMjUtbWFpbnQKKzUzNTI2IDdmNDA2NWVmYTQ0ZWUyMzk2NTExMTUxNWY0YzMwNzJlMjVlMmEzM2EgbGVnYWN5LXRydW5rCis1MzUyNyA4NmFiMmYyMGEzMzMzOGRjMGEyZjAxMGFmMGM5MjkzMTRlYjY4ODNiIGxlZ2FjeS10cnVuaworNTM1MjggZDJlMmVkZDA3MDgyYzRmYmVkZTQ4YjI3YjJmZWIzYmU3NjVlMzhhNCBsZWdhY3ktdHJ1bmsKKzUzNTI5IGRhMzBhMjZkZmViMzljYjUwMWI1YjBjMjg1YWRlZGM1ZGRlN2JmYTUgcmVsZWFzZTI1LW1haW50Cis1MzUzMCA2ODYwYmE4OGQ2N2VhOWQzMGY3OWVlODFhMjkzODYzZjEyNzMyY2Q4IHJlbGVhc2UyNC1tYWludAorNTM1MzEgZGYyOTRiYzVjZTZlODI2OTg3NjUyMTY3YzEyZjM4OTU0MmJjZjU3ZiBsZWdhY3ktdHJ1bmsKKzUzNTMyIDBlOTVjNzc1MTJmNTRhMTBjMjljMDczODBiMDJhNzFmMDU0NjQ5MTYgcmVsZWFzZTI1LW1haW50Cis1MzUzMyAyOTMzMTFlNjNhNzMyZTIxZGE3ZWY2NjMwZmZmMjVkOTgwMDgwNDdmIHJlbGVhc2UyNS1tYWludAorNTM1MzQgMDMxNDRjNDg2NzgyYzFiMTNlMWJhNjA4NzhiNTlmNDhlMGZmMTYwMSByZWxlYXNlMjUtbWFpbnQKKzUzNTM1IGRiYmRmYzAzOGRjOTQ3Y2Q5MjQwYmMyOTc1ZjgyODI1ZTdmMjdjYWUgbGVnYWN5LXRydW5rCis1MzUzNiAzOGQ5NDRlZmU2MDBjNmM0ZWY2OTdlZmUzOTU4ZjQ1M2Y5MGI2MjZjIGxlZ2FjeS10cnVuaworNTM1NDMgNDgwN2E2YWJmOTA2MjRjOThiNzljNTUzYjEzYmMwNTAyZTM5YjZjYSBiY2Fubm9uLW9iamNhcAorNTM1NDUgMGQwOTZiMTQ2YjQ4NjhiMzI4YjU4MDAzYTc1NmVjMDNkYjJjMTE1ZiBsZWdhY3ktdHJ1bmsKKzUzNTQ2IDQxNThiYTdmNDZhMDM1YWE0MWNmMjI5MWRiZmI3NmY0Zjc3MTIwZTAgcmVsZWFzZTI1LW1haW50Cis1MzU1NiBhNWIyNjljZTA3OWRlZGM2YjBmZjRjOGI0MzE5NGUwNWUwOTAwOTlkIGxlZ2FjeS10cnVuaworNTM1NTggNjU2ZGQwMDk1ZjUyZWRjMThkZWU5NWQyM2Q2OWJhY2IxOWFhYmRjMiByZWxlYXNlMjUtbWFpbnQKKzUzNTYzIGU0MzgxNmRkYzRmMDVkMzE4ZDU0MDllNzJhY2E5ZGM3M2RjN2E5YTggbGVnYWN5LXRydW5rCis1MzU2NCAxNWRlY2EzOWUwZTZiYmM3OWNjNDgxNjA2M2RiY2UyMjAwYjIzZjJkIGxlZ2FjeS10cnVuaworNTM1NjkgNGZhOWM4MGZiMTdhYjg2YzE5ZDQ4ODRhMzU0ZmM1MjU5MjM5YjNlYiByZWxlYXNlMjUtbWFpbnQKKzUzNTcwIDExNjNmNTVkYWQ5NWY4MGNmN2YwNWVmMThiYjg2ZGU1N2YyZTdjNWQgbGVnYWN5LXRydW5rCis1MzU3MiAyYmJmMTdjMWM2OWNiOWQxYmRjY2ExNGRjMzg0NDcxMDFkNTA4MTY5IHJlbGVhc2UyNS1tYWludAorNTM1NzMgMTI4NTUwMDBlMTNiZGVhYjQ4ODdjNzQ0YzNlMTY1OTk1NTY3NTlhYyBsZWdhY3ktdHJ1bmsKKzUzNTc1IDIzNDNjNjhjYTFjODdhM2FmZjUwMjNhYjI3ZDgxYjBlOGNhYjU1MDcgbGVnYWN5LXRydW5rCis1MzU3NiAxNzUxY2EzZmVmZmU5NmI0NDhmNmUzNjJiNGQxNjJjYzlmYjdmMjk1IHJlbGVhc2UyNS1tYWludAorNTM1NzggYzlkN2I4NmY5Mzc3Y2IxOGJiZjEzNmZjYWJmOWNhY2VhZWUxMGFlMyBsZWdhY3ktdHJ1bmsKKzUzNTc5IDI0MzFmODJhNmExNzU2ZmE3NGFkMjJjZTNiNzIwMTdkYTRmYTFmZmIgbGVnYWN5LXRydW5rCis1MzU4MCBhZDkzNmUwYjZmY2ZkMWJiMmRiZjlhN2EzOTkwZjFjYTM3OTgzNzIyIHJlbGVhc2UyNS1tYWludAorNTM1OTAgMTc4MmI2MjJhYWM3MWI5YjBlM2FhZDkxM2E4ZjY1YzkxZGUwNmQ5OSBsZWdhY3ktdHJ1bmsKKzUzNTkxIDJkODIzOWFiZmE2MGZhZTNjMWJlNzVlYmMwZGJjNDRjOGUyZDViOGMgbGVnYWN5LXRydW5rCis1MzU5NCA1ZmM4MTljNmMxM2UyZWY5ZTdiZDVkNmU3MDYwZGY2Y2JmMGZhNWI4IGxlZ2FjeS10cnVuaworNTM1OTYgZDYwYWQ5MTRkODMzZWU5NmNkYmViMzRjZDVhY2M2YjRhY2QxMGM2MiBsZWdhY3ktdHJ1bmsKKzUzNTk3IGFiOWM4NjUxOTYyODFhZmEyYTc1NzdjZjY2NDllNzU3NzhlN2MyMDYgbGVnYWN5LXRydW5rCis1MzU5OCBmZmI5NTgwZjk2N2JhYTZjOTYyMjg1ZDVkODM2NmVmODE1ZTBhNzk0IHAzeWsKKzUzNTk5IGQ1YmFiYjMyNmE1MGQxMDNiMDE1NGJlYzRkNmMwYjI1MTA4MzA4ZmYgcDN5aworNTM2MDAgYTI2NDQyMjI4MDU4NTVjODE3ZGYxZDUzNmMyNDgyN2ZmMmM0MTY5YyBwM3lrCis1MzYwMSA1ZGFlMGQ3ZjY4M2FiMzc5NjkyZmQ0Y2I0NWE5MTkxZGQ5MmNlMjBkIGxlZ2FjeS10cnVuaworNTM2MDMgNGIxMDAxZGEzOTkyODZhODYzYWM2NTk5OTIyMTVlYWFiYTVkOTgxNCBsZWdhY3ktdHJ1bmsKKzUzNjA0IDBhY2EwMDM5Y2MxYjVlZDE1ZjEwYTlkZjQxZTI2NTg0N2QwMzc1NzggcmVsZWFzZTI1LW1haW50Cis1MzYwNSBiZDM3MzlhODcyNTk1YTA3MTZkOGY2MTc3N2MzMGZiNjlmZTg0YmE5IGxlZ2FjeS10cnVuaworNTM2MDYgMDM3YWJjYTgxN2I2MzgzYmRiNDhhNzc2MTM4NDQ2YTkyNTVlNDA4NiByZWxlYXNlMjUtbWFpbnQKKzUzNjA3IGMxNDdjNmJjNTc5ZjI4MThhZDEzMTMyZGEwODQxZWNkMzBhYWYzMWYgYmNhbm5vbi1vYmpjYXAKKzUzNjA4IDY3ZWM0YWZmYmQxNGMwZTRkODcxNWQ1YWFmMGRiMDYyMGM0NTNmZmMgYmNhbm5vbi1vYmpjYXAKKzUzNjA5IDBmMjBjM2JjNjI3MDZhMjJmYzFlYTExOTJkNmVhYmIwN2EwMmNhMTkgYmNhbm5vbi1vYmpjYXAKKzUzNjEwIDZlYmFkMmE2Yjk5MDc4NmFiNjEyM2JjOTZiNjE2NzMxNTE3YTJiYTIgcDN5aworNTM2MTMgNTgzODlkZWE2NTFjZDY5MzFlOGE0MWNhMzcxZWZlMWFhZWE3OGNlNCBiY2Fubm9uLW9iamNhcAorNTM2MTYgNzJjMGM2YWVjMWVkMTg1YzYzNmNlMTNmMDRhNWE3MDYzNWMyMjAxMiBiY2Fubm9uLW9iamNhcAorNTM2MTcgNTNhMzZkYjJjMzg3NjQwOThiZThmNjEwYWY2MDNiOTRhMDlkNGQ4YiByZWxlYXNlMjUtbWFpbnQKKzUzNjE4IDJhOGU5ZWZiNWQyMGMzYmM1ZGNjNzE5ZWUyNzE0ZTY4OWIwM2VhYzkgbGVnYWN5LXRydW5rCis1MzYyNCBhZDhjZGZiNjk4NzIxM2VkMGNkNmQ1ZDNkZTQ4ZjU3NWMyMDgwMjU4IGxlZ2FjeS10cnVuaworNTM2MjcgODQ4MDk2OGY0ZjRhMTRlOTI5MWFiNTAxNTU5OWQxOTE3ZjZhYTkxOSBwM3lrCis1MzYzNCBmMTcwMWJhMjQ1MmI0MGVhOGRiODljMjNiMmMzYTJjN2MzMzNhMzgxIHAzeWsKKzUzNjM1IGNjYWM2MzZiMTUyY2U2ODJmYjRmMjUyNTI1YmU0NWRhYmRmOGQ2ODMgbGVnYWN5LXRydW5rCis1MzY0MSA2ZDljYTkwZDhiZjc0OWQ5NWJkOTgwYWZkMTE3ZGQwMmNhNmJlZTU4IGxlZ2FjeS10cnVuaworNTM2NDQgMWFmOGZlZTMzMDEzYzBlNzYyYjI0MGE1ODQzNGVlOWUxNzJiYTMyYyBsZWdhY3ktdHJ1bmsKKzUzNjQ2IGQzZTg4NjMxZjkyYmI2YTA3YmE3MGU5NWQ5ZWMyM2ExZDA1Y2JiMWYgbGVnYWN5LXRydW5rCis1MzY0NyAyNjVjNTFiYTM5MTAyMzE0OWM2OWFkMDVjNTBhNThjNTYxNmQ2ZWUxIHJlbGVhc2UyNS1tYWludAorNTM2NDggMDlkY2FjYzhhMGJjMmExZTMwZmQ4NDdhMDM2N2Q3Y2FkNTg1NDY2OSBsZWdhY3ktdHJ1bmsKKzUzNjQ5IDA1MjhkNmY5NGViNmVlNjNmOGU0OGMwZDFhZjI3MDdiMzk4NzJmMTAgbGVnYWN5LXRydW5rCis1MzY1MCA2YzQxYjAxMjI3NDdhZjU5ZDUxZmU3OTRhYjBhNThkN2UxYjlkMjRkIGxlZ2FjeS10cnVuaworNTM2NTEgZDU5NGVjODU4ZmU5NzRkYzVkOTJjMTcwMTM2YjBmMjM2OTRkNmY0OSBwM3lrCis1MzY1MiBmODNkNmFhMzkwZjEwNmI5MmZiOGZmMmRmZTJkYTRlYjg4NThkOGRmIHAzeWsKKzUzNjUzIGM3NzkzMzQ1YTBjNTQ0YzI0ODI3Y2E1Y2JhMzY3ZDkyZGViNmFmZWUgbGVnYWN5LXRydW5rCis1MzY1NCA0OTliZjMwNDBhZjdiZjQ1M2JmZDMxZGUyM2U1OWIzYmQ1YWExYjQyIGxlZ2FjeS10cnVuaworNTM2NTUgNTZkYmRiN2I0MDRhMzliZTdhNWMyODMzYTY4MjlkM2RkMzk0ZWQwZCByZWxlYXNlMjUtbWFpbnQKKzUzNjU2IDA3ODc1NTQ5OGNmZTM1NTBiYjYwMTJkZWMwYjU2YTM1YTI3Nzk2ZjMgbGVnYWN5LXRydW5rCis1MzY1NyBkNTA5OTQ2OTNjOTI1NmZkMWUxYmNiZDcwZWVjZWFjODk1MWZlNDgzIHJlbGVhc2UyNS1tYWludAorNTM2NTggNDg3ZWYwZjkwM2UwMTU4NDE3Yzc4NWI5NGQxYzAzOThkY2E2OGM4YyBsZWdhY3ktdHJ1bmsKKzUzNjU5IDhlYjAzYjExODE2NDBmMTllNTQ5OWIyMmMyZDNlMjRmYmUyM2U0ZGYgcmVsZWFzZTI1LW1haW50Cis1MzY2MCAyOTAwYzc1NjQwNTVkNjJjMmRmODBhNjdiMjdmNzQ4NWY2MjY2ZWY3IGxlZ2FjeS10cnVuaworNTM2NjEgMzAyMjc3OGVlMGNjNmQzNmZiNTQ4NjcxNzM4N2RiM2QwYjEzZjQyNSByZWxlYXNlMjUtbWFpbnQKKzUzNjYyIGZmYWFhZTAyYzY2MjljYzU1Njg4ZWQ4ZTM2ZWUwMTUxNTk0MDdmZGQgbGVnYWN5LXRydW5rCis1MzY2MyBhMmQ3ZjRjMjllNWIwODkxM2RmZTdmYzk5NDM5OGJmZWQ1OGVlNDk0IHJlbGVhc2UyNS1tYWludAorNTM2NjQgYzk5NGMyNDVkOWFiNWNmOTY1NzA1NDg0NGNjMTAzODcwN2Q3ZTE1ZCBsZWdhY3ktdHJ1bmsKKzUzNjY1IGQ4ZmIwZjZhYWFkNDNjYjJmODIwMzg4YjIwM2NiOWIxZGFjZWMxN2IgcmVsZWFzZTI1LW1haW50Cis1MzY2NiAxYWQwNTY4NzM3ZjYxMDEzMjRhNTQ3NTJmZGExNzJiOWVkNzU2ZGJjIGxlZ2FjeS10cnVuaworNTM2NjcgNDdiYjI4MDNlYjFiZTM2OWRmMzhiOWNmNjgxYzQyN2FlZTExYTkwYyByZWxlYXNlMjUtbWFpbnQKKzUzNjY4IDFmNzFhMzJmOThkMjNiYzAzMDQxYWQ2ZWE3NjYwZmE4NzkwMTkxOGUgbGVnYWN5LXRydW5rCis1MzY2OSBhMDRjNzgxNTQ2ZWQyYTk3YjNmNWI2YmJjODUzZDBjM2IxMDBkODRkIHJlbGVhc2UyNS1tYWludAorNTM2NzAgOWY1ZWFlYTNjNzk1NDA5YmMzMzU4ZmFmYjRmOWVkYzZhOTExMDkxYyBsZWdhY3ktdHJ1bmsKKzUzNjcxIGU3NzZjODNhMGMxOWUyNzNlNzIwOGYxY2ZkMmE5NjFiMGE0NGZiOTAgbGVnYWN5LXRydW5rCis1MzY3MiA3MTU2Y2ZkYzM2NjdlM2JmZDA1MmQ0MThiZGEzNmY5MmI1OTkxYzdiIHJlbGVhc2UyNS1tYWludAorNTM2NzkgZjdlOTA3MWMzYTFmMDBlZDcxMjRmMWRlMGRlMGEyOGUxZGU2YzhmNyBsZWdhY3ktdHJ1bmsKKzUzNjg1IDc5M2UwMzIzZDRkNjViZmM4OWI0MGQ3ODE2MmNkNzcxYzU3NWExOGUgcDN5aworNTM2ODYgNGNkZjIxYTBkYmJjZTg5MWU3NWE5MjBkNGZhZjRjMGVjYmRkODMzMiBwM3lrCis1MzY4OCAxZDU0M2EzMjAzNDYxMDczMDVjNDkxM2Q4MjdkMTQ5ZjIwYTQzNDg3IHAzeWsKKzUzNjg5IGY2ZjM5MWQxZDA1MGZlMzZkMDAyOGZlYzJkY2UxMjJiZjMwYzQ0ZTkgbGVnYWN5LXRydW5rCis1MzY5MCA4M2VmZmY0ZDVhZTk0MjU4ZWM2OTJjZWJmYjE4MmJmY2VlZjcwYzViIHJlbGVhc2UyNS1tYWludAorNTM2OTEgNGQ5MTU2NDY0NjczNmRmNzEwNzgxOGEyOTlhZGNhYjU2YzQzOTgzZCBsZWdhY3ktdHJ1bmsKKzUzNjkyIGI3MDQyYmRmOTBhOWJhZTQxNGY0MTQxNThhNjEzNzgxZGU2OGRmZjUgcmVsZWFzZTI1LW1haW50Cis1MzY5MyA5ODQwNDFlNzQ0NmQzMWM2YTNiYTA0YjVjNTlhMDA4YzZlYWFkNTczIGxlZ2FjeS10cnVuaworNTM2OTQgZDJmZTg5M2E0ODQzNzI1NzA1OTcwM2QwNjE4ZTY4YjZmYTMzN2ZlZSByZWxlYXNlMjUtbWFpbnQKKzUzNjk3IDI2NmMxYjBmOWUxNmM2ODg2NjQ2YWIyOTM3ZTA0NDBiNjZlNmM0MTYgbGVnYWN5LXRydW5rCis1MzY5OCBiZTI5NTg3ODI1NmFhYmNmM2VlMDYzZGMwZWRiNmJlNTNkYTI5NTc3IHJlbGVhc2UyNS1tYWludAorNTM3MDEgMjI3NjBkNTNkNGRhNWQyODc3ZjgxNGZhMTlkZDYxYmY3MDA2YWJhNiBwM3lrCis1MzcwMiAwY2UxNGM0Y2ExMzM3ZDEwNjgzYTQ2OWE3N2FjNDNhYzg4YmU0YmRhIHAzeWsKKzUzNzAzIDY5MTdjNjc2YzkyZmJiNDljZDFiMTI1MjJkOTNhNzNhMzhmZDRlOWEgcDN5aworNTM3MDQgZTlhNjIzNGIyNmFmZDFlMDI1Mzk2MzI1NTIzYWNiYTNkMWEzZmFmMSBwM3lrCis1MzcwNSBlOGIyOTEzZjkyOTdmNDdmOTQyYzE1ZDNhOTNmMWRiMDA2NDEyMjlhIHAzeWsKKzUzNzA2IDhkOWEwZWM0ZDk3NjAwNzc2Mzk4ZTk5NmRkZDJkMjhkMGUwOTE2YmQgcDN5aworNTM3MDcgOWZkOTY0MDg4ZTA3MDVmNTJlODUwNTdlYTAyZWViMTc1Mzk2N2Q4NiBwM3lrCis1MzcwOCA4MWU0MDM0YWQ4ODM3NjEyMDI2ZmYxZWRkZjgxZWUzNTVmMTllNDYyIHAzeWsKKzUzNzA5IGMxNWNmZjJkZDE4ZjVjZWQ5NTliNDVmMTE3ZDNiMTQwOTIzMTMwOGEgcDN5aworNTM3MTAgYjdmODlkYjlhMWQwNWFhODY0NWE1NzhiYjY4YTdhNDNjYWNlZTg2YyBwM3lrCis1MzcxMSA0M2UzNjljYzAyYzU1ZjQ3M2Y2ZDRhNzU2ZjVmZmM4ZDQxODkzNzJlIHAzeWsKKzUzNzEyIGM0YmU0OTNkY2I2Zjk0YjU2YmI2YzVjZGJmZDcxMzI2ZTE3NjU3ODUgcDN5aworNTM3MTMgZmZkYzhkMzk4ZTQ5MTFiN2M0MWM4ZWNjYzc3MmE3ZjlkNWU2YmNjZSBwM3lrCis1MzcxNCA3MjI3N2UxOTY3YjJiNmRmY2UyMjQzY2Q3ZWU5MTJmNGJlMTFiN2QzIHAzeWsKKzUzNzE1IDA0ZjVjYmM3NDQyNDFkYmQ0NjRlNDkzZWViMGE4NWVkYWEwZTkzY2EgcDN5aworNTM3MTYgNjc1MjVlZmM5OWM1N2Y3YTk3NGI4ZTM0MGY4MjUxYTU4ZGZiZjMzMyBwM3lrCis1MzcxNyBhZThlZTllNWU4MTUwMzhmY2Y2MDhjMDQ5ZDk0MDUxOWY5MzBmZWY0IHAzeWsKKzUzNzE4IDU2MjJhMTNhZDhhYjExZDcwMTNlMTE2YmFhM2U2ZmYyMTViMmExZjUgcDN5aworNTM3MTkgZTI4MDBlOGRkOWM0ODRjNGE5ODk1ZmNiYTY5NThhZDJmN2JiOGQ0YiBwM3lrCis1MzcyMSA0MzVlZDY0MWEzMzNmODMzOTYzM2FlNzExMTEyOWZiZTFmM2Y4MmNiIHAzeWsKKzUzNzIzIGVhZWRmODRlYWJjZGY2ODM4ZGRkODQ5YWE0MTZjN2I4N2JmNzI5OWYgcDN5aworNTM3MjQgN2RhMmFlMWE0ZjcwOWQwZjE0ZDNhOWU1OGFkNmZkOGIyZTcxYTllYSBwM3lrCis1MzcyNyBmMjI5NjQ1ZDYwN2RkZTNlOTBmMTMzZDM0OGUwMjA5ZDZjZDk5ODE4IHAzeWsKKzUzNzMxIDM1M2MwMDlmNmM1Mzg1MjU0MGZhY2JhMGQzMWM2NTNlY2E3NmRjOTggbGVnYWN5LXRydW5rCis1MzczMiBmMzQwY2IwNDViZjkyZDBlNzc3MjM4NWE3MTk3ZTliMGFmMzdmMGE4IHAzeWsKKzUzNzM0IDRhMDFmNmUwMjAxNjg4NjQxZGY1YWY5Njk0ZDI5ODEwNDZlZGM1YzEgcDN5aworNTM3MzUgNWRiY2UyZWExMzNjM2MwMWU3NmIwYzZkM2E0OTQxNjk1YWJiYTkxYiBsZWdhY3ktdHJ1bmsKKzUzNzM2IDkwNTM2YmUwOTNmN2RhNWY5ZGU2NjM4YjFkNjUxMWRiMDNiNzdjY2IgcmVsZWFzZTI0LW1haW50Cis1MzczNyBmY2Y2OTAyZjIxMGVkM2IwNmI5NWJjNTIwNDUxZTc0OWJlYmNmZmQ4IHJlbGVhc2UyNS1tYWludAorNTM3MzggY2I4MTIzYWIyYTA2NWQ4YTA5MGQxNDIzY2ZhYTEyMTNjY2NlM2U0MiBwM3lrCis1MzczOSA1ZGU3NTQ3YTVhMjM3MTExMTM4NjYxMmE5YTlhMmZhNjIzYzA2NGVkIHAzeWsKKzUzNzQwIDNkMThkOGYzNjZiMTE4NGQ2MTliYTc0OTUwYTNkNzE1OGQ2NGQyNTkgcDN5aworNTM3NDEgMjlkNjU3NDFmNmM4OTZmMmUxYzE5M2UwMjBjZjdkZGI0MTI3MjliMSBsZWdhY3ktdHJ1bmsKKzUzNzQyIGE4NDQ2MGU1MzE2MDkzZDAwMzBmZWI4Yzc2MGFjMWMzYTk4ODU3MjQgcDN5aworNTM3NDMgNWVmNzBjNDlkODVhMjQzMzViNDNhZjQzYzNmMDliNmRmNjMxOTJhMyBwM3lrCis1Mzc0NiBlNjY4NWM4NDBlZTNjMTFhOTFlMGEzMzcyMWE1N2IxN2NmNTFmODM3IHAzeWsKKzUzNzQ3IDQyOWE0YmMzMWM4ZTM2NzBlNzAwMGZhNTQwOWM3ZTJiODBmNTQ3NTAgcDN5aworNTM3NDggZGNhOWJjODgzMDQwOTY1OGZiNzcyYTZkMGIzMDUzYzZkZDQzNDVkNSBwM3lrCis1Mzc0OSA1MDMzMGQxOGQxY2Q3MTQxYmFmYzJjOGE5OTgwYThiOGNhODgzZDc2IHAzeWsKKzUzNzUxIDE4MGQ0ZTg5OTY4MzkwNjlmY2E4ODE5Y2Y5ZjNjY2M1ZWEyZWEzZTEgbGVnYWN5LXRydW5rCis1Mzc1MiBlYzFlYmRmNTRlYWZkOWFiYjE0MjQxOGRjNjVjYmE0YTYyZGQzMDBhIGxlZ2FjeS10cnVuaworNTM3NTMgYmJlNmRlM2E5NzQ1MDA2ZjQxMjVhYWMzMjcyY2ViYzQzM2YzZTNlYyByZWxlYXNlMjUtbWFpbnQKKzUzNzU0IDcyNGUwYjYzYTc5YjVkNGIwY2IxNjdhYjhmOTYwZWM1MWU2YjM5MjggbGVnYWN5LXRydW5rCis1Mzc1NSA3YWQyOWU5OWVlYzg1NzI2MjBmY2YwOTg3MDNhYTU1ZDYwNGI5NzY1IHJlbGVhc2UyNS1tYWludAorNTM3NTcgMzJkNDZhYmFhOGFiYTRjNWU3YTljYTgyOTUyNTIzY2RjZDgxZDk2OCBsZWdhY3ktdHJ1bmsKKzUzNzU5IDlkMjUzY2QzOGI1YjY1YTNkNmM2NGM0OGY4Y2FmMzQ1ZTU1ZTQyNmIgcDN5aworNTM3NjAgMjhjNGQ5Yjc3NDBlZDAxMDM4NTczZWZhYzcwMWZlNzAxNzhjYjA0NSBiY2Fubm9uLXNhbmRib3hpbmcKKzUzNzYxIDM1YzBkMzhhY2RjZTA4MDJmM2JiZDA0N2Q2YzAwM2VjYzAwYzE0ODkgYmNhbm5vbi1vYmpjYXAKKzUzNzYyIGQ0YTZhNjdhMDBhMGJhMzViYzIxYjlhYzMyMDNlOWIwODU4MGIwYjQgcGVwMzAyX3BoYXNlMgorNTM3NjMgODFkNjhkZDg0YWEwNWNmOGQ1OGRmNTVhZjE3NDZkODFhOTk5ZmIxNCBsZWdhY3ktdHJ1bmsKKzUzNzY0IDFkYmE2MWMwNzcwMzRlMTY4N2ExZmY2MTVhYzJkYjdiYWYwODcyZWEgcmVsZWFzZTI1LW1haW50Cis1Mzc2NSBkYWYwNjM1MjdiOTcyMTRjOTVlMjczMjdkZGQ5OTJlYzA3ZTRkMDJlIGxlZ2FjeS10cnVuaworNTM3NjYgZDk0OTkzM2NkNmI0NmM3MmNmN2M0MDI5MTQxMmQyYzZlYjdhZjYxOSBsZWdhY3ktdHJ1bmsKKzUzNzY3IGJkMjRkMzgyNmNjODNkZjBjOWI1OGNkZGYxYzdlMmM0YzczMjYyZjQgbGVnYWN5LXRydW5rCis1Mzc2OCAxNzdhN2JlZTY0ZTllYjJkMzc3MmNlZmY4MWQxOWMyYzlhOWFlZGE0IHJlbGVhc2UyNS1tYWludAorNTM3NjkgM2JiZWM5MWM1YjhmZTY2ZWMzNGYwZjhmMWFiMDg4NGExNGE4OTMwZSBsZWdhY3ktdHJ1bmsKKzUzNzcwIDg4NWE3N2ZkNWMwMWM3ZGJmODNhMjlkNWRjYmU5OWY1OTZhMDkwNzEgcmVsZWFzZTI1LW1haW50Cis1Mzc3MSAzOTgzZWUwZjZmOTY0ZGJiMjI4ZjVlMWIxNTJkYmFkZTk4YWM1NTlkIGxlZ2FjeS10cnVuaworNTM3NzIgZDQ3NjhiZmY2NDNlYTgxM2Y2NmViNmQ3OTcyMTVkMmI1MmE1YTJlOCBsZWdhY3ktdHJ1bmsKKzUzNzczIGFiZmQ5NTE4NWFiOTkxOTM2OTQxZGFkYzQwZGFkZjVhZDIxZjZiYjQgcDN5aworNTM3NzQgOTBlMjJmZWE4MzYzNDQ1NjdkYzU1ZGU4YTlhOGEwZGFiN2NlODNjOSBsZWdhY3ktdHJ1bmsKKzUzNzc1IGRjNTY3ODliMjllOWE2M2I0ZjU3MDRmMGQ4MTQ1MTAzOTcxZjE4OWMgbGVnYWN5LXRydW5rCis1Mzc3NiBhNjU0NmMyNzM2OWE2YzRmMTMwZTZkZjEwZWM2N2ExNWJiZmRmMjMzIGxlZ2FjeS10cnVuaworNTM3NzcgMDk3MmMyMTc2YWY5YjlhOTBmOGZjYjBmYzRlYTVkYjQxYjJhZGFjNSByZWxlYXNlMjUtbWFpbnQKKzUzNzc4IGE2MjE4NGIwM2YwZjE1MDJkMGFiOGU3ZGVmOTJjOWI2NjZiZmE2ODIgbGVnYWN5LXRydW5rCis1Mzc3OSA3MzQ4MWUwNzc3NThhOTQxOTNmYjAxMWZlOTY2YWM1OTc4ZWVkYzkxIHAzeWsKKzUzNzgwIDUwMmRlMDc5YWIzYTIwNTIwMzM1MWEwZmY1MDJiOGQ4NDA5Njk2MDIgcDN5aworNTM3ODEgMWQ1M2VhMGZjMjNmMTVmNWQyYzYwNTc2ZTk2YzMwNWJjMGZhNzI2NyBwM3lrCis1Mzc4MiA0OGI2ZDAxNTM0MGFlNjk3ODhiNTk2OTM0ZjA0M2YzZjFmNTcyMjI3IGxlZ2FjeS10cnVuaworNTM3ODMgN2U0YjYzNWYxZDMxZGJhMGQ3ZWFlMWUxM2FiM2U4MGNjNGZhM2EyOSBsZWdhY3ktdHJ1bmsKKzUzNzg0IDk5YjBlMDRiMmViMWNhMDExZjhmYTgzYjMyZWM0NzgxM2Q1YzM2YjUgcmVsZWFzZTI1LW1haW50Cis1Mzc4NSAyYTI1MzI4ODNkODBmYjM3MmRiMmUzZWVhOGUyN2NlZTk2ZDc3N2Q2IGxlZ2FjeS10cnVuaworNTM3ODYgOTE0ZGQ1MDU5ZjM4ZjMyMjU1N2E4MjQ0M2NlMjhmNjFmNWNmMDJhMyByZWxlYXNlMjUtbWFpbnQKKzUzNzg3IDQ3NDk3N2NkNGQ5Yzg0NDE0MjhhOTE0M2QzN2VhYWEzNzE2MzA3NWIgbGVnYWN5LXRydW5rCis1Mzc4OCAyOWZiOGRiZDEwYjg1ZjRiMjlmNzk4OWQwNDVkOTYzMjdkM2I3OWFmIHJlbGVhc2UyNS1tYWludAorNTM4MDAgYmMyYmQwZjAxZDk1YjU0MzQ5NmZmYTE2YzViYmY2YTQyNTRhNThlMyBsZWdhY3ktdHJ1bmsKKzUzODAxIGI0YjMyNzg0MGZiMTUxMGU5N2M1NDA5NDA2MTQ2NjE0ZjU3NTNiZjAgbGVnYWN5LXRydW5rCis1MzgwOSBmNGY2OTVhNzU2NjRhZjNiYmYyZjc4NWQwNTMzZTNkNmNkY2U1ZDRiIGxlZ2FjeS10cnVuaworNTM4MTEgZDc5NWE1NWU5YmU0MWQ2ZDlkNTIwZDI3M2JmNjU2ZGZjMGRiMjY2OSByZWxlYXNlMjUtbWFpbnQKKzUzODEyIDczNmYzZDkwZTRlMjg0ODZmNzA3NWNjMDM4Mzc0MDY5OGQyYWQyNTMgcmVsZWFzZTI0LW1haW50Cis1MzgxNiA5ZTM1NjQ1YWY0MGY2ODJlY2MyZjkxZjY5ZTQwY2Q3MWRkNTg0NDA3IHJlbGVhc2UyNS1tYWludAorNTM4MTcgMzVhZTI4MjU3YTI4MDViNGE3MWU5ZWIxM2IxNzgwZjNlZDFmMDhlMCByZWxlYXNlMjUtbWFpbnQKKzUzODE4IGIwZjhlOWIwY2MxOTkyOGNjZjk3M2E1NTI4ZmZhNDNiNzc3N2ZmYWMgbGVnYWN5LXRydW5rCis1MzgxOSA4MWI1ZGY1Nzk4YzI3YTVhNGIwYzk4ZTFjZWYxOGVjZmZlNWViODk5IHJlbGVhc2UyNS1tYWludAorNTM4MjAgMzZkN2IzYjZlZTU5NmZlODE4ODE4MGU4OTJlNmZlZGZmMDZmZDQwNSBsZWdhY3ktdHJ1bmsKKzUzODIxIGQzODZiNDYwOTkzYjczYjg2ZmZkYWNjMDgyYzUyNTNlZWM0NTA1MmIgbGVnYWN5LXRydW5rCis1MzgyMiBkZjAyMDRjYTk3MzlmMTU3NWVmMDNhOWNiZDNkMjMwYTllNTZjOTZhIGxlZ2FjeS10cnVuaworNTM4MjMgMGNjNDUwYjg5ODM4OTE2ZDE1MjNiYjQ3Y2UwZTRiZjg1NTYxZWYyMCBsZWdhY3ktdHJ1bmsKKzUzODI0IGM5ZTQxM2IxZDU0MDZhMGE4YmY3Yjk0NDZjNGY3YmRiY2I0ZTM1NmEgbGVnYWN5LXRydW5rCis1MzgyNSA1NzdiZjIxYjJjODZkY2UwNWIwMDMxNDQ2OTlhYTE4YzI3MDFiMmNjIGxlZ2FjeS10cnVuaworNTM4MjYgNTNmZDE0NGEzZjFhYjNjYjlmMjU4MzAyYWI1Zjk4YTZiZTg1NDY3ZiBsZWdhY3ktdHJ1bmsKKzUzODI3IDY3MmI5MDc1NzY0NzEzZGE4ZDU2MGU3OThlYmEwYWIwMzc1NTlkOGIgbGVnYWN5LXRydW5rCis1MzgyOCBjMzRiZDY1ODllMWVlYmNkMzk3NTMxNzM2OWNjNzJkNmQ5Yzg3NGNiIHJlbGVhc2UyNS1tYWludAorNTM4MjkgZDVhMTVmODUzZGI3NGRlNzZjZTkyNmI1YjUzNTVmMTFiNWVlNjhhMiBsZWdhY3ktdHJ1bmsKKzUzODMwIDAxZDU0Yjg4YmY1ODZlM2I4ZDBiNGE2MzQ5ZTIyZDY3NDYxNTBiOWIgcmVsZWFzZTI1LW1haW50Cis1MzgzNyA2ZmEwZDY4MmUxZTU1MGFhMDFiM2QzM2MxYmQ3MjE2ZDI1MTk2OTFmIGxlZ2FjeS10cnVuaworNTM4MzggODEyODYxOWU5ODRkZTk4Y2Q2NzE0MDU0YThkMmE2NDc2ZDk5NTdlNiBsZWdhY3ktdHJ1bmsKKzUzODQxIDQzNzk3Mzg0MTE1ZTU5ODg4MWU2MTE2YTAzZGIwNzc0MzRkNzljMWYgcDN5aworNTM4NDMgNTVkZWIxZGE0Y2I4ZGUxNjM1MzEyZTRmZGQxZmM5NTExZWQ3NzgzOCBwM3lrCis1Mzg0NCBlNjhiNDhjMzlkOGFjYjUzZjNmMzE1Zjg3OWYxOGJhM2UzOTgzMWMyIHAzeWsKKzUzODQ1IDYwODgzZTYxNDI5OGYzMWE2Y2U2OWRmNDQ0Zjg4ZWM2NzYyNGE0NTEgcDN5aworNTM4NTIgM2ZiY2Q2ZTJiY2I3N2RkZDljZDA4MjQ4MjRhYzNhZGQ5OTNiMzFhOCBwM3lrCis1Mzg1MyAzNDI3YTk3MzQ1ZmNmZTc0OGNkNGM4OTFhNjM5NGJiYmU4ZGYxMmIyIHAzeWsKKzUzODU0IGMxNjRiMGI3NTk3MTYwZWY1MjI0ODgyMjEzY2JmNDQ2OTdlNzU3NWQgcDN5aworNTM4NTUgMTI0ODlhNWRmYjRhYjAyZWY2MzczZmIzZGFlOGExMGRiNTE1ZWNlYyBwM3lrCis1Mzg1NiA5MDk3NjVlYjM4MWJkZjViNzg0YmNhODljYzU3NjlhNDA2Nzk1ZjkwIHAzeWsKKzUzODU3IDI5OTg3MjQ0OTA1ZGZmZDQ0YmEzZTVhMDdmMzEyZmM4OTVhY2Y4ZDcgcDN5aworNTM4NTggYzUwZTI2MzMwMWRhYmI1MWYwYTc2Y2ZlMTRkNjk0N2Q4YjI1ZDUxNyBwM3lrCis1Mzg1OSAyMGUwOGE4NzkxNWE1NWFhODUyYmY2MjYzNTYxNjUwZTAzN2Q4ZjQ4IHAzeWsKKzUzODYxIGYzYTU5YWNjYTUxZmZlODcyNDA4N2M2OGQ0ZDE1MDA4MzAzODZhZjIgbGVnYWN5LXRydW5rCis1Mzg2NCBjOTNmOTJhN2Q5MjAyZTJhNTIwYjgxNDRmMDEyOWUzNTMyNTI4ZjJiIGxlZ2FjeS10cnVuaworNTM4NjYgMzJjNDg5N2I1ZDQ2YzAwZWVlY2VmMWJhZWM3ZGMyMWQwZDFiYjVjMSBwM3lrCis1Mzg2NyAzYmFjNDkyNThhNGE1ODBmOGQ5OTUwNTk0ZjU4Y2Y3ZjE5NWVlZTg5IHAzeWstbm9zbGljZQorNTM4NzIgMGVhMjRmNGYyNDY3YWZjNDkzZDEzNGY1NThhYTQ3MGNiZTgwNDdlOCBwM3lrCis1Mzg3MyBiZDE0MTllOTQ3NzNmMDhhMGJlZDYxMTQyNDBmYTNlMjM5YjE5YzQ3IHAzeWsKKzUzODc0IGIwNTc5MGQwNjZiNDc0NGU1MmQzYzcyZDkyOWJkZjE4N2NjMTYwZjQgcDN5aworNTM4NzUgNTgzZmU3NTNlNzIxMjk3OTEwMWI0ZWUzMmU4NWUwZDNkMTUzMTEwMSBwM3lrCis1Mzg5MiBiNThhNDM3NGFjMjFlNDViMWEwNjJmMGU3ZmZjMDBkMDMzZDg1Yjk5IHAzeWsKKzUzODk3IDQyZTc5YzU5MjEyZDIyZDI1MmEwNGY4NTViN2Y3OWIzMmIxNDAzNjkgcDN5aworNTM4OTggOTMwNDdlZTQ4NmRhNGEwOWY0ZGRhMmQzYzZhM2QzZDUyMTUyYTQ1YSBwM3lrCis1Mzg5OSAyZTRkYWMwNTljYzU0YjNhNDBlMjM3Y2RjYTU5OGUzODdhNTczNDMzIGxlZ2FjeS10cnVuaworNTM5MDAgNjVjZDFmMjgwZTYzYzBiNjZlMGU2ODdhMDA1NzY4ZjlhYWY4ZWJiZCBsZWdhY3ktdHJ1bmsKKzUzOTAxIDg4MmI5YzE0ODk1YzBjY2U1ZThlMzgwMWM5ZjNjOWZlYWE1MDM0YzEgbGVnYWN5LXRydW5rCis1MzkwMiAxOTFjNDhjYThiZjljMTI2ODE5NTQyOGI4Njc4ZWI4NjJmMzUzYzkxIGxlZ2FjeS10cnVuaworNTM5MDYgZTg1NDI3MTQ5NWRlMTA0NGNhZjZkYWFhMDk1OWYyNTczMTNkN2FiNyBwM3lrCis1MzkwNyA4MzA4OGFkODNhNmIwZjJkYTgzMmFjYmFkNWQ2MWZhMmE4NzQ0MzA5IHJlbGVhc2UyNS1tYWludAorNTM5MTAgMGM0MTBjNzg1MzFjZjMwMjMzYWE4MTc1OTc0Y2ZlMTZlZmQ1OTMzNyBsZWdhY3ktdHJ1bmsKKzUzOTExIGQwMWJkMzdiZjVjZTUyNjE4MGQwYWEzMWNhMzkyZjczNjk3OGI0N2QgbGVnYWN5LXRydW5rCis1MzkxMiBmMmYwYjQxZjI3MGRhZTRjNjk4ZjJjYWZhOGU0NTMwZjFmMzk4OTllIHAzeWsKKzUzOTEzIGVhYWVlNzg1ZWI4NmQ3OGYyNDJjZjQzY2UxODA0ZmE2ZDU2ODdiMDcgcDN5aworNTM5MTQgOTdjNzdiMWUzNGJmMjQzMTIyNTQzZTJlNDFhZjg1YzBjZTcyMDdhNiBwM3lrCis1MzkxNSBhOGMzYWFhYjAwZWEyMzI0YTZmMDE4MDY3ODZkNzFlNzhlMDI2MTZiIHAzeWsKKzUzOTE2IDE5YWZiMDMwMmEwNmViMWU2YWJjNzU1ZjI0ZjUzZGUyMmE3Yzc0ZGUgdHdvdXRlcnMtZGljdHZpZXdzLWJhY2twb3J0Cis1MzkxOSBkODQyZTM1ZjVhMzEwZTU0NmVlNTZhMDViZDEwNTYxZTVkYmNiNzBkIGxlZ2FjeS10cnVuaworNTM5MjAgMDcwYjlhMGI0YzA0MDQwN2YzN2JlMjllNGMzOTkzZmE1YjM2YWFhOSByZWxlYXNlMjUtbWFpbnQKKzUzOTIxIDEzZjM5MzFiOWZjNDY5Mjk0MmUzZWNlNjJkZDBmYjliNjkwNjcwOTcgcmVsZWFzZTI0LW1haW50Cis1MzkyMiBmNTc5MGY5NmFjZjNjMzlkZGNjN2QxZmMxN2FlZWEyY2U3ODk2MWY4IHAzeWsKKzUzOTI2IDViZDNhMjJiYTQ5NmIxYzQwOTJjMmQ0MmE0MDUwZGRmNGIxNGI1NDcgcDN5aworNTM5MjggMWI5NzJiN2UzNTJhZGYzMTA1MjkxNTEyNzBlZDE5YTk4OTFjOTVkNSBwM3lrCis1MzkyOSA0MGIxN2FmYzRhYTdiZjcxYjUwNGM5NDg3NjZmZmU0MGI4Mjg5NzY4IHAzeWsKKzUzOTMwIDBkMmRjMzYxMWUzYjM4MjZmZmQ5MzE1NjU0MDllMWMxOGJkZWIwMGIgcDN5aworNTM5MzEgNjEwYzdhY2M5OTgyOGU2MmUxZmQzN2ZiMGY2N2I4NmU0NTEyYTkzZiBwM3lrCis1MzkzMiBiZTQxZGE2NmNlMzdmNjQxZjViNjU2ZGZhOWU5ZjUyYjY5YjVmNWMxIHAzeWsKKzUzOTMzIDI1YTg0OTAwZTIwNTVjMTRjNzY2MGU0Y2U2MzViNTY0ODc0NWZmMTEgcDN5aworNTM5MzQgMDM4ODNhY2I2NTBiODA4YzY5ZGY0NjE5MjdmZGFjZDM1MGQxN2RjZSBwM3lrCis1MzkzNSA2MjE0NDNmYzAxYmJhMTU1OWQwOGJjYmJiNGZjNTYyYzI2M2JiNzU5IGxlZ2FjeS10cnVuaworNTM5MzYgOWQxYjBjMjk1ZWJiYzBmYzE3OGM2MmM0MWU5ZjYxYjEzMGQzNWM0OCByZWxlYXNlMjUtbWFpbnQKKzUzOTM3IDkzZjU4MjgwMzczMzA0ZGUyMTljOGEwNWM2NmZlMzkxMGI0Yjk4ODYgcDN5aworNTM5MzggN2JjN2Y3NDBmNjlmZGM5ZjkyZmQ1NDg4MjA3YTBmM2IzMDNmYTE0OSBwM3lrCis1MzkzOSBjMzQ1MWE3N2JmZDE2NGRmNWRmY2Q4MzcwZDUwOTg3ZDg5OTNmZDAyIHAzeWsKKzUzOTQyIDkwYzgwN2VlODc2N2IxYmI2NTA4MWI2YmFjYmJkMjY0OTE3ZDU2YWIgcDN5aworNTM5NDMgZWNlOGEzOWZhMjgyZWRjNjJlMTRmYjc2OWNiMTM4M2I2ZmQ3NDhmZCBsZWdhY3ktdHJ1bmsKKzUzOTQ1IDU1ZDdlOGZhNWVhOGQ0ZmE4ZTcxNzA3MzBkZjU1NmFiZDdkMWQ3YTIgcDN5aworNTM5NDYgYTI2MjliZTFiMWQwMTU5OTI3MTkyYTNjYWRlNTE1ZGRlNTIxODY5YSBwM3lrCis1Mzk0NyA4OWJhOTNjNzAxYzg4NDczOTZkODJmOTY1YzY3NWNhZDVhYjVlZDk5IGxlZ2FjeS10cnVuaworNTM5NDkgNDVhZmZhZTQ2NWU0MTE5MjkxODE0MmZlZmY3NDZmMjA0ZjUxZmZlMyBsZWdhY3ktdHJ1bmsKKzUzOTUxIDAzNzZmMTNhMWFmOTEzMDcwNDJkYzRhNWIyZjU4N2EzZWQ5YmIyZDMgbGVnYWN5LXRydW5rCis1Mzk1MiA2YWExYmU1ZGQwMDk4YjM1NzFmMzViYTcyMzk5NzI4MjRlMjdkMWRmIHAzeWsKKzUzOTUzIDJjMDNkNzA2ODM1ZTQ2MGJiZGM4ODgxMWM1NDBmOTEwNzgzNGIwMDIgdHdvdXRlcnMtZGljdHZpZXdzLWJhY2twb3J0Cis1Mzk1NCAwNDdlZTIzYzBmODc4ZTkzM2VjMjg0ODIxYWJmZmQ5NzNhNGQ5NDEzIGxlZ2FjeS10cnVuaworNTM5NTUgYzhjMDY3MzAyNjU5OWJjZDY0MGVmYWE5NTM2ZDRkMjkzNmQ2OTllMCBsZWdhY3ktdHJ1bmsKKzUzOTU2IDE4NTNjZjA2ZTM2YmEzMTJhYmQxMjNlOGMyZDE2OTg5OGI0NzdkMjggcDN5aworNTM5NTcgMmNhMTRkNmEzNjliNzI1YjEzZDQ5YjBhZTM3N2IzM2IyNTM0MjZkYiBwM3lrCis1Mzk1OCA4NjQ3MTkwZGI5NmNkMWFhOGI0M2IyNjRmMzFiNThiZDhiYzA0MmUzIHR3b3V0ZXJzLWRpY3R2aWV3cy1iYWNrcG9ydAorNTM5NTkgZmMyM2ZjODYzOWJhZjAwZGU1MWI0NDY1MTdmZWU5NmEyNDFkNzEwMiB0d291dGVycy1kaWN0dmlld3MtYmFja3BvcnQKKzUzOTYwIDRiOWQwZGFjNzljY2MwOWJjMWY3YjQ2MjEyYzcwMmYxNDAwNDM1YzMgcDN5aworNTM5NjEgYzc5ZTYyMzRmYjE5ZWY2YTM0Y2VhNWEyNTljZDBkZDZiZjZiMzRhMCBwM3lrCis1Mzk2MiBiYjczZDNhMDQ1N2U5NzdkODQ4OTYwYmRlZWMyZTc5NThjZWU2NjI3IHAzeWsKKzUzOTYzIDdmNzA3NGQ0ZjgyY2Y3MGNhMWQ3MDk4ZDNjZDIzODY3OTRmOTZmNTQgcDN5aworNTM5NjQgZDk3NmM5YTYzMTExNGE4ZmFiMWIwZjUxMTMzYmI0Y2ExMjA4MmQ0OSBwM3lrCis1Mzk2NSBiMDgyNmU4ZTQ1Yzc4ZWY1NDg4YmY4YTQ4YjljZWM4NzczNjE5YmU4IHAzeWsKKzUzOTY2IDMwOTNlYTliNDAyNDk3MjgxOWRjMDc3NDJlYzAwM2RiYzA2OGFiZTUgcDN5aworNTM5NjcgZTc1OWZkOGQ5NWFlN2JjY2M0NjI1OWUxZTA0ZDFhNWFmZDg0MzY0YiBwM3lrCis1Mzk2OCAxZTRlMjkyNDg2YjY4ODg5ODYyYTgwNDdjODAxMDk2NDAxMGJkYjM4IHR3b3V0ZXJzLWRpY3R2aWV3cy1iYWNrcG9ydAorNTM5NjkgZjNmMGM2OTdhYTViMTYzMmVkMmUwYzRhZjNkZDkwZGUyM2UzMzhjOSBsZWdhY3ktdHJ1bmsKKzUzOTcwIGVlMzYwMmM3YWUwNDE0NzRhOGM3NWRhZDA0ZGNiZDNkZmRhMDUwOWUgbGVnYWN5LXRydW5rCis1Mzk3MSA0MzA4MTFiZGJmZWY2NmJjOWE4NWVjOTRjY2I3YWI2OTk4OWFhY2RlIHJlbGVhc2UyNS1tYWludAorNTM5NzIgOTRjNGUzNmMzMTI0MmI4OWUwMjYwMTUwYjEyYWViMmMxZmQxMjEyNSBwM3lrCis1Mzk3MyBkYTczYjVhMGZkOTBhYmEzMmM0Y2IxZDA5MzRkZDA0YTNkNzI4ZDg5IHAzeWsKKzUzOTc0IDJjZTIyOWE3YmEzZjY5ZWM1NDdlNzlkYzQwYTViMmQ1N2Y1OGY0MDYgcmVsZWFzZTI1LW1haW50Cis1Mzk3NSBjODNhY2ZiMWE2MzJmNzk0NmYzNDZlNzIyZjcwZGU3OTFmM2MyMzQ2IGxlZ2FjeS10cnVuaworNTM5NzYgZmVkYjAzZWFjNmFkNmQxMTA0NTA0OGQyODk2YjFlN2ViMGFmNzQyZSBsZWdhY3ktdHJ1bmsKKzUzOTc3IGFhMTk1YTFhYTk1NTI4Yjg4NTMyMmRmZmFiYjRiZTMwNDE4YTM3MTEgdHdvdXRlcnMtZGljdHZpZXdzLWJhY2twb3J0Cis1Mzk3OCBlNWU5ODM3ZGE3MGI3ODYwMGE4MGE1MmU3NzI2ZmMyMzkyNGU3MWZmIHAzeWsKKzUzOTc5IDBlYTUyNTU4YmRmZWMyOWFmOWNkOWM5OGUwYzA1ZGIyYmQyNWEwMjIgcDN5aworNTM5ODEgNTQxYThiMWI1ZGE3NWQ5YWY1NDk0MzQ3MDRiMWFiNTYzYjcyMDc3MiBsZWdhY3ktdHJ1bmsKKzUzOTgyIGU2NmRkYjZlMzRlODQ0Njc3NjVhNzZkZTdjY2UzY2ViMzM0OWQ2NGMgcDN5aworNTM5ODMgNDE2MjkyYzgyNDljZThjOTA4MGM1NDExMWZhNzg4NDcwNWZhZWM4NSBwM3lrCis1Mzk4NCBjMjRlOTVkMTE3NTIwMWI1NzQ3MDQxNWFiYzNiMGUyYTBjYjQ3YWFkIHAzeWsKKzUzOTg1IGQ1NTQ2ZjA5ZjIwZTc2MzhiNzU4MjQ4ZTVkNTRmMWI4NzZlMmFhZDIgcDN5aworNTM5ODYgMzBlNWNiM2E1NWFjMzE0N2Q5ZTkyZWEzODhmNGY3OTQ1NjE2ZTc2NyBwM3lrCis1Mzk4NyAxNDBmMzUyNDAyN2YwZTBiNWE3MGNlMmZmMTU5NGYzMWJhMjQ2YzhkIHAzeWsKKzUzOTg5IGE5ZTZjNzNlMGZhNWIyMTMyYzE1MzFjMzFhYWVmNGNmZmU0ZDUyNmIgcDN5aworNTM5OTAgMmQ5ZDEwNzAyZWM0NGUyZmU0Y2Y4MTQ5YzZjNmYyNWE0MzRlZGMyMiBwM3lrCis1Mzk5MSA2YzBkMGJlODJiNDdiYWYyOWE1ODExODQxYzU4Yzg4MjcyOWFiZGVmIHAzeWsKKzUzOTkyIDExNzc3Yzg4N2Y3Y2UwMGU0YmQ3Y2VhZWM2MTM2OWZmOGI5N2U0NTUgcDN5aworNTM5OTMgYTJjOWViOWFiNjA5Njc0YjQ1MmYzZGJiNDk5OTFiMjY3NWMzNjE2ZCBsZWdhY3ktdHJ1bmsKKzUzOTk0IDBiNDc0NDZjYzQwODRhMDM4MGRiOTY3NzE4ZTQ3ZjcxZGU0MzU4ZTMgbGVnYWN5LXRydW5rCis1Mzk5NSA0NmY3NzFlMjY3YmM4MTU4MjhiNmVkMDZlMDIzY2Q1YzNkNGRjYWEyIHAzeWsKKzUzOTk2IDNjYWJiZmE0Mzk4NDA5M2IxM2Q3Y2M0YjNkZjk0ODk4YzUxMWU3NWEgbGVnYWN5LXRydW5rCis1Mzk5NyBkNjI4MDVhOTkzYzUwODgxOTgyZmY1MWVkMDE2ZTQxYjY5YWM1NmRjIGxlZ2FjeS10cnVuaworNTM5OTggNWVhZDMyMTMwZjY0NmU4YjJlNmFmY2UwZDk3YjMyMzVkNzYxMDFhZSBsZWdhY3ktdHJ1bmsKKzUzOTk5IDRhNGY2ZjAyNmYxYzU4ZjQ5OWFhY2E4MjY2ZWNmMTE3MmIyY2UxNzUgcDN5aworNTQwMDAgNjFmZWUxODUzY2E4OGYzODIwYmY3YTNjNjNmYmY0NWE3MjU2MWQyYiBwM3lrCis1NDAwMSA4MGU4NjFlN2ZhYmU4ODg1ODZlY2RhMjdmNjhjNDk5Y2M0ZjZjZTM4IHAzeWsKKzU0MDAyIGMzYjI4YmE5MThmODNlYmZmMmU0Y2U4MTE2NTRkYTdkNGIzZjIzMTcgcDN5aworNTQwMDMgMWY3OTBkYTc5ODQwOWQ5MWNlODljYmQwYjBkN2VmZWY0NzY5YThiNCBwM3lrCis1NDAwNCA0MzFiMzIzODU5M2VhY2JhYzY1YTU5ZjE0Y2NiNGQ5OWViODE1NzZmIHAzeWsKKzU0MDA4IDc2Mjk2NGY5OTg3MTA0N2JmMDIzOTE5NGNhNzI1NGQxZDMyZDQ2YTUgcDN5aworNTQwMDkgYzAzNDQ3MGUzYzBhZWI5MTY0NzQxMzcyYTU3MGQ5ZWIxNGMwNzc0MiBwM3lrCis1NDAxMCA4YmViNzU0MDJlNzRiZjU1NDdkNGZmNDk3YjdiOGRhMDBjZjhkODM5IHAzeWsKKzU0MDExIDkzMDMxZTcxNjVhYjAxMjlmYmJkOGExMDlmNmJlYWIwMzRlOGY0ZDUgcDN5a19ub19hcmdzX29uX2V4YworNTQwMTIgYmE5MmU5YWRlMzZmMTE3OGFkNDU2NDc1NjgzMzg3NTViNmIzMTNjMyBwM3lrX25vX2FyZ3Nfb25fZXhjCis1NDAxMyA2ZDkxZTc0ZmNmNTVlNTIwODZkOGFlM2ZmNGIyYzE4MjUxMDkyYmIxIHAzeWtfbm9fYXJnc19vbl9leGMKKzU0MDE1IDM0YTdjMjllNjVkMTYyYWYxYTcwODUwMTA4ZWI3NGNjMDY1ZGI5OTggcDN5a19ub19hcmdzX29uX2V4YworNTQwMTYgZTEwM2I5MzdkNzQ3NTEwZTRlZTMxMjBlYWZhM2NkNGRlODk2MjMxMyBsZWdhY3ktdHJ1bmsKKzU0MDE3IGExYWVlODEwYjczOTY4NjA2MGRmZjBkZWUyNzFiMmY5MzRhMGM0ZjAgcDN5a19ub19hcmdzX29uX2V4YworNTQwMTggOTUzM2ViMGU4N2NmZmNiZjUyZjJjYzZmMTBjMmJmZWJkMzRhODc0ZCBwM3lrX25vX2FyZ3Nfb25fZXhjCis1NDAxOSBmMjUyNDY4MDU4NTA3ZWM3ZDk0NGQ5ODQzNjgxODMwNWJiZWQwODk2IHAzeWtfbm9fYXJnc19vbl9leGMKKzU0MDIwIGJkMzU5MGI4Yzc4ZWU1OTFlMDQxZWM1ZWIzNjNjZGNlMjcyMzA5NzAgcDN5a19ub19hcmdzX29uX2V4YworNTQwMjIgOWRkODZlYWQ1MWMzNzc2Y2Q2YTRhYTFiYzY0YjE3YmFmMDFiZDY3OSBsZWdhY3ktdHJ1bmsKKzU0MDIzIDE2NTQ2MWFkMzhkYjhlMDVlMTgxNTJiYWZiOTA1ZTkwZTA3YzE1YjAgcDN5a19ub19hcmdzX29uX2V4YworNTQwMjQgODNiOGM3MGVmZDFlNWYxYmVhNTgzNDI3MjZhYzVjOGRiNzI0ZjRiZCBwM3lrX25vX2FyZ3Nfb25fZXhjCis1NDAyNSA5ZWI2MGEwNzI4NWE0N2VkMzQ3MjZiODdhM2JiNmUxZTdmMzc0MTAyIHAzeWtfbm9fYXJnc19vbl9leGMKKzU0MDI2IGE4Yzc5YjFlNjk2YWU3ZWQzMmIxODU0NWIzZTMyNTAwN2IxYmUzNGYgbGVnYWN5LXRydW5rCis1NDAyNyAxNjViYmVkMzM3OWQ2ZDNmNDViZTFlZGYyYWUxMmY1ODQ3Mjg2MTBmIHAzeWtfbm9fYXJnc19vbl9leGMKKzU0MDI4IDJjNmNkOThkYjBiOGYzZTNlNzdjMzZjMDlkN2YyMjY5YjYzN2Q3OGEgcDN5a19ub19hcmdzX29uX2V4YworNTQwMjkgYjM1Y2ZkOGI0OTEwNjE0ZDJiZGQ3MDAxM2VlMDgyYmM5ZTUxNTJmYiBwM3lrX25vX2FyZ3Nfb25fZXhjCis1NDAzMCBhYzBlYmFlNDU4NzIyMmRjYTIxZGQxNDc3ZWFmNGM5NDZhNjU3OTNiIHAzeWtfbm9fYXJnc19vbl9leGMKKzU0MDMxIDRjNTZmY2VmYjI4M2I3ZjZiYTQ1YjRlNWFmZTM5M2NiM2IwMzlhYmIgcDN5a19ub19hcmdzX29uX2V4YworNTQwMzMgNDA4N2MwZWM3MzNiYmE1NGU4MDEzNzI3ZWQ2NGYxNzNiOWE2MTc1ZiBsZWdhY3ktdHJ1bmsKKzU0MDM0IDAxZGRlY2I3NzgxNTQyNjM4MzRlOWIwMGIxY2RhMmFkNjQwOTBlNWUgcDN5a19ub19hcmdzX29uX2V4YworNTQwMzUgZTQ3NmE1YTc4YjI5MzdlNzY3MjEyMmYwMWFiNjY0NTVkYjBhOTNjZiBwM3lrCis1NDAzNiA1NmQ1MWY1OTQ4NjUzZGEyYTFlOTk3OWVmYzRiMTFlMmY2ZGFkMWY4IHAzeWtfbm9fYXJnc19vbl9leGMKKzU0MDM3IDdkN2YzMjJmMmNiNjc4NzI5MGJmNjczNTgzZjc4OTMxNWM3MmY0NTkgcDN5a19ub19hcmdzX29uX2V4YworNTQwMzggZTIyMDhkNGY1YTdmYzliODZiMzU1NmQ1M2JjYzg3MDIyNjk0ZjFiMCBwM3lrX25vX2FyZ3Nfb25fZXhjCis1NDAzOSA3NDcyZjdiN2Q5MDM0NDYxNjJiMWE2YjFlZDNkMjExNmVjODQ1ZmNlIHAzeWtfbm9fYXJnc19vbl9leGMKKzU0MDQwIDFkY2UyNTAyNTY3OTIxYjI1MmM5MzAwNGYzY2QyODVlZTVjZTFlOGIgcDN5a19ub19hcmdzX29uX2V4YworNTQwNDEgYmRiNTI3MjhiMDJlZjRhYjcyZDg5NzBmNDgzNDVjNWZjNzNiOWRmYyBwM3lrX25vX2FyZ3Nfb25fZXhjCis1NDA0MiA0NTU1OTYxYzVhMmY5NmFhOTNlODJiOTdhNDQ5YjM2MmRjZjU5NDhkIHAzeWtfbm9fYXJnc19vbl9leGMKKzU0MDQzIGUxNjI2OGMyNzNiYjI2NjRjNjA5OWVlYzUwMmJmYjVhNGE1NjA5ZWIgcDN5aworNTQwNDQgNGFlMDQ5MGUxYTBjMGYzNDlmNjc4MWMwNjQ1ZTIyOWQ0NmIxMWM3NSBwM3lrX25vX2FyZ3Nfb25fZXhjCis1NDA0NSBkZTJjOWY5YWVhMWVlNzZkNTlkM2UwZTUyYjdlZjNiY2YzYWFhNzkxIHAzeWtfbm9fYXJnc19vbl9leGMKKzU0MDQ2IDY5Y2E2NTdhNjRlN2VkYmYwNWViMmMzNDkwY2RmYTU1ZDI0YTE4NzcgcDN5a19ub19hcmdzX29uX2V4YworNTQwNDcgNGMxZTJjMzNmYWNkMDhjZWViNjcwZWM4YzQzNWM3OGI3NzdjZDFlMyBwM3lrX25vX2FyZ3Nfb25fZXhjCis1NDA0OCAwYzE0YjY2YWNhNzAyYjRkMWY5ZmVhZGZjM2E2MjI2NzA1Y2I2NGY1IHAzeWtfbm9fYXJnc19vbl9leGMKKzU0MDQ5IGVlNDYyMTdjODdhZjdhODczODE5YWEzZGNjNzMzMTI0Zjk2NTk4NTMgcDN5a19ub19hcmdzX29uX2V4YworNTQwNTAgMjdhMjE4NmY0NWNiNGIyMzcxNjNlNmU3NWIyOGQ5NGFlNjAxZDMxZSBwM3lrX25vX2FyZ3Nfb25fZXhjCis1NDA1MSA5MTg1YzcwYTE1ODVlOWE2ZmMwYzJkZmRlZjc2NTgxOTY2ZWFkOTAzIHAzeWtfbm9fYXJnc19vbl9leGMKKzU0MDUyIGQ5YjE1MzRlYzc5ZmU3NTA0M2MwMDgxOTY1MWE0OTUyNzE5MmM4YzggcDN5a19ub19hcmdzX29uX2V4YworNTQwNTMgYjQ2YzZkMjc2MjVlM2U2YzAzOTY5YzM2YjY0OTI1NWQwMjQ3ZjI4NiBsZWdhY3ktdHJ1bmsKKzU0MDU0IDUyZTQ1MzA3NzNjOTcwMWEwNmMxMWUxMTU3N2VkZTliYjFkZjI2MGQgbGVnYWN5LXRydW5rCis1NDA2MCBiZTQ0YmYyZGIzNTBlNGFhMmM0MjU2OTExZjMwMjE2MzU1ZWVlMTBlIHJlbGVhc2UyNS1tYWludAorNTQwNjEgODg4ODRlN2JhYzZkYzJhMjhmYTg4YjA4NjE0YWM3ZTYwNjIzMjQyMyBsZWdhY3ktdHJ1bmsKKzU0MDYyIDUyZTk1ZmIwODkwMTdkYWI4OWY3NjBjNWM1MWExYWRjOWNlNTQ1ODYgcDN5a19ub19hcmdzX29uX2V4YworNTQwNjUgMzJhNGU1ZWUyZDk4YzE0NTc5YmQ1MWY1MmU4NmFhYTAzNWM5ODIzNiBwM3lrX25vX2FyZ3Nfb25fZXhjCis1NDA4MCAxYzU4NjExYzUxZDBjYTZmYTU5ODJiNWExMjg4Y2FjZmFkMDczMDY3IGxlZ2FjeS10cnVuaworNTQwODUgYmU2OGRhNTYxZGNkNjc4NzBmOTY1YjE2NGM5YjI3YjY3YzI1ZmUxYSByZWxlYXNlMjUtbWFpbnQKKzU0MDg2IDRlMzQ4MTk2MWZiYmMyZWNlMTY1MDI1Y2JjYzA4OWIyMTYxMTBlZGMgbGVnYWN5LXRydW5rCis1NDA4OCA2OGE0ODdkMjFjMDY5YTc1YzMzZWM4NmM1ZmM2ZjM5MDJkNTc3N2FiIGxlZ2FjeS10cnVuaworNTQwODkgMzI0YTcxYTEwM2VjMmRmZWNjZDNhNTA5OWU4MDllYzIyZGRlNmQ5NCByZWxlYXNlMjUtbWFpbnQKKzU0MTE0IDJmMmI4OTM1YTgxZTI2MjAyNmJhMWY1MmJmMWRlODRkOGVhNjA2ZGQgbGVnYWN5LXRydW5rCis1NDExNSA2ZGVmODJiOGNmMjBhYTIyM2JhN2E1ZWFhOTljNGM4OTlkNGVjMWQzIHJlbGVhc2UyNS1tYWludAorNTQxMjQgZmU5YTlkMzlhMzUxN2ZlZjU4OTI0M2U3OWZhZTU3ZTk3MDE2ODI1NCBsZWdhY3ktdHJ1bmsKKzU0MTI1IDNiMWVmY2UzNThhMzYwMTI3MzBlZGMxNmI4ZGZiZmQ0ODcwMWQxMGQgbGVnYWN5LXRydW5rCis1NDEzNiAzNzIwNzBiYTZmZDMxZjRlMzg5YTkwY2NiM2NiMDYyZmQ4MTdjN2Y4IGxlZ2FjeS10cnVuaworNTQxMzggZTFiMDAwYmVkNDYyZjM4YmRkMGYwN2NlYTE3NWY1MzcyNmNkZGFkMSBsZWdhY3ktdHJ1bmsKKzU0MTM5IDZkMzQ1NGMzNzFkZDQzYWM5ZjMxYjRhMzM2ZjE0NDJkNDZkYmY5NDggbGVnYWN5LXRydW5rCis1NDE0MCA4OTFjMjhkNTM1Njk2OWIwNDkyNWFhYTZmNDViZTYxYTg1NjJlYzZiIHJlbGVhc2UyNS1tYWludAorNTQxNDkgMDgxYjRlOGI2ZjViODIxNjVjMzA1ZTI3ZDdkYjIzOGNjMTY4MWMyOCBsZWdhY3ktdHJ1bmsKKzU0MTUwIDYwNTg1NTMwZjMwYjhiY2RhMDU1YTcwYTE2ZTAzZDYwMWM2NTE2N2YgbGVnYWN5LXRydW5rCis1NDE1MSBlNDIyODAyMjAyYmUwYTIwNWUwNTBiMzQyOTg0MTA5MzJiYjMwMmVjIHJlbGVhc2UyNS1tYWludAorNTQxNTIgZjFlODhjMzUwMmQ5ZjFhYWY4MGM0NWNmZTk2ODhmYTZiOGFiYTY3YSBsZWdhY3ktdHJ1bmsKKzU0MTU0IDQ4MjU0NzM5MTU5ZmZhZWJiNjgyZGZiY2FiMThkMzA0YzE1ZWUxN2QgbGVnYWN5LXRydW5rCis1NDE1NSAzM2I0M2RlYmI5N2VlNzY3N2I2NjM2ZWQ1ZjEwZDZhZDA0ZTc1MDU2IHJlbGVhc2UyNS1tYWludAorNTQxNTYgNWMxOTZhYTZlY2Y0OGRiOWNkOWUzNWRjOGZlZjJiMDM4YjRlODEzNCBsZWdhY3ktdHJ1bmsKKzU0MTU3IGI2ZGNiNzc4MzM4NTdkOTlhOTQ2ZjVjYzNmZDc2NTBkZDQzNjk3MTkgcmVsZWFzZTI1LW1haW50Cis1NDE1OCAxMDgwZGU0OWM4MWU4ZGY1NjRjOGEwNDc4YmY2MDQ5MWQ3NTQxMjMwIHJlbGVhc2UyNS1tYWludAorNTQxNTkgNWMwOGU2NDYwZGM1NTRmODgyMTllYjE0ZDVjYzU4ZDlkYTI5YjIzZiBsZWdhY3ktdHJ1bmsKKzU0MTYwIGIwZjI2YTc4MTNjOTA5NmY0OWQ2NGRlYjUzM2QyZDg5ZDM3NTk2MWYgbGVnYWN5LXRydW5rCis1NDE2MSBmODNlNTgyMmU2NzI2YmU5ODkwNjc5NDFlMDdiODBmOWQ3YjJkMzhkIHJlbGVhc2UyNS1tYWludAorNTQxNjIgMDlkMDhmY2I4ZjdiOWQyMjI4NDlmYzc3MGM5ZWQ3NjY2ZDRmNjIyZiBsZWdhY3ktdHJ1bmsKKzU0MTYzIDJlZTM2NmEyZDJiODkxZjdiZmI3OWY2ZjM2NzNjYTBhYWI2Y2U1YTkgcmVsZWFzZTI1LW1haW50Cis1NDE2NCA0ZTgzNWRmMmI0YmE4OGNiOWFkMTg1Yzg5YzVhZjlhOTViNDUxMTljIGxlZ2FjeS10cnVuaworNTQxNjUgOTYzYzBlNDQyODMyMTE0YmFmZWI3YjIxYjYyMjIwMjY0ZDYyZTAyYyBsZWdhY3ktdHJ1bmsKKzU0MTY2IDA2OTkyZTZiMjA1YTQ0OTYxNGU2ZDhmNGIyNWNlODM0YTg0MDRjYzAgbGVnYWN5LXRydW5rCis1NDE2NyAzY2ZkYjgwYmM2OGU4NzRjZTZhYzM4MmE0NThhNmJiNTc0ZTIxMmIxIGxlZ2FjeS10cnVuaworNTQxNjggMWVhMTlmNzQ1MDRjYmM2MGExMjQ5ZWVjNGM2MzYzNjI2ZGNkMzRjOCByZWxlYXNlMjUtbWFpbnQKKzU0MTY5IGQ0NTc3MjE1NTM5ZGRkMzc0MTkwZTliNTYxMTUwZmE3NTQ2NjEwMDMgbGVnYWN5LXRydW5rCis1NDE3MCBhNmEwOTViZjY0NTg1ZDAxNDJmNDg1MjYyYjczNjNhMzA3MTY3ZjU0IGxlZ2FjeS10cnVuaworNTQxNzEgNjdjYzBlOTVlOGE1NzhmYjBhNDZlYzJiNjNhNjVmZjk1YzlmYWY1OSBsZWdhY3ktdHJ1bmsKKzU0MTcyIDQxZWQ5NGJlNmQ1Y2FhMGZiMTliNGZjYmU1ZTBjMmQ1MzFhMTQ4ZDEgcmVsZWFzZTI1LW1haW50Cis1NDE3MyA2YTU5OWFlZTdjYTQwYTEyNjEwMjgwYzJlYjI1M2YwNDNkMTFhMzJkIGxlZ2FjeS10cnVuaworNTQxNzQgNjE0YmNkMzdjNmYzYTRlZmQyZTU0NTE0NDkwYjM4YzFlZjA5MjRjMiByZWxlYXNlMjUtbWFpbnQKKzU0MTc1IDZjZDM2NmU2YmVlY2M1OGZiZTM4MmZkMzgxNzI5YzQzNjdmNjdmNTQgbGVnYWN5LXRydW5rCis1NDE3NiBlNjZjZmM3MjVlOGRiMGUxMGUxYjkyZDE2OWVmMmFmYjAyNDQxOGIzIHJlbGVhc2UyNS1tYWludAorNTQxNzcgNmQ4ZGNhZDEyZmQ5YmZiODRjMGUyZTVlZDk1NmZiZWEyMzU0NGMzYyBsZWdhY3ktdHJ1bmsKKzU0MTc4IDgyODBiN2M0MDU1NzYwMjI4ZDkzYjI3MmEyNzc4N2NkYjAwYTkzOGUgcmVsZWFzZTI1LW1haW50Cis1NDE3OSBlZmEwYTc2MTkxOGMyOGM3MmY1NjAyMDdhOGE5YTJmNjYzMmRjN2NhIHAzeWsKKzU0MTgwIDNhYzI0YzAxMTBlOTZmOGE1MWQyNDI1MjEyN2JlMjljYTUwNGQ1NTQgbGVnYWN5LXRydW5rCis1NDE4MSAxYzE0YjIzYjljMWJjZjY5NzFlYmQwNGE4YTcwZTg2ZWUwYmNhZGQxIHJlbGVhc2UyNS1tYWludAorNTQxODIgNzU3ZTkzYTQwOTZjNTI0YmE5ZTM4ODg1MWI1ZTZlMDFhOWZlMDY5NyBsZWdhY3ktdHJ1bmsKKzU0MTgzIDE2YzIxNWU0M2JhZDBhM2Y0MWUyZGEwMTY5YjZkN2JmMjdkYjNiYTQgcmVsZWFzZTI1LW1haW50Cis1NDE4OCA3MjhjNjBlODVlZmE1OTRmY2QzYjAxNTQ0YTE5MjRiZDY4NDcyNzJkIGxlZ2FjeS10cnVuaworNTQxODkgYzhlZDRhZWE2YzU4MzMwZDk2YTc2NDk1YTBlZTQwYWUwYTcyMTgwMCBsZWdhY3ktdHJ1bmsKKzU0MTkwIDIxMjMzYzJlNWQwOTM5OTQwNzRkYzhhYjc4ZmY3NGEyZmUzNTI4MGYgcDN5aworNTQxOTIgZjQ3OWI5Yzc0Yjc4MTk5NzkxZDY1NzcwNjU3NjUwYjUzNzM3MDI0YSBsZWdhY3ktdHJ1bmsKKzU0MTk0IDEyOWZmZmYyY2U2ZGM0NWYzNTIwNmVmMTNmZTVhMmU0ZDQwZjBkZDAgcDN5aworNTQxOTUgMjQyZGUxNmE2ZDQ0MmMwZDU2NzU5MDI1ZjZjMzcwNjEyNTg4ZGFlZSBsZWdhY3ktdHJ1bmsKKzU0MTk2IDFhMGM5MDc5MjhiNDAxMzQzYjY3MTY1NjJhZmM0M2Y3N2M2MmFjMjggcmVsZWFzZTI1LW1haW50Cis1NDE5NyA4NTBjMzJkYjI3ZTY0NDA2NTZmMjhmYTIzNDFkYzllMGQwN2NmMzMwIGxlZ2FjeS10cnVuaworNTQxOTggZTE5NjJhYjEyZmNlOWFiYTg5NDVmYTczZTZmOTczYWM0YzNkOWQ5ZCByZWxlYXNlMjUtbWFpbnQKKzU0MTk5IDdkYTIzYmY4OTQ5ZmM0YThlYjg4OTE1YmZiZTJhMTBkNjY0ZGMwYzIgbGVnYWN5LXRydW5rCis1NDIwMCA4MWU0ODZiMzAwNzg4NWMwNTcxOTQ1MWUzMjZhYTFkZTEzZmVkMGM5IHJlbGVhc2UyNS1tYWludAorNTQyMDEgYjA5MmIyYzgzYWI3ZTg1OTY3YjMzZjc2YTM1ZjUwNDEzNDVkZGM1NCBsZWdhY3ktdHJ1bmsKKzU0MjAyIDUxMDIzMzZjYTM0MzU0NGNkNjVjZjI1ZTM1Nzk3ZjRmZGFhMmMwNWMgbGVnYWN5LXRydW5rCis1NDIwMyA0MjNiMzY0ODQzY2RjMWNhZTAwMjVjZjg4OWYwYzgyOTE0YWFlOWE3IHJlbGVhc2UyNS1tYWludAorNTQyMDQgOThiYmM5M2JkNTViYTBhNjQ5ZjRiN2MwNmI4MWE3Nzc4YmQzMTk2NSBsZWdhY3ktdHJ1bmsKKzU0MjA2IDNiNTM4YWNmNzY5NGUxMzE4YmNhZjY0MTlhZjRhMTEwMmM2MTM5YmMgbGVnYWN5LXRydW5rCis1NDIwNyA0NmNmYWJiN2Q1NDQ2M2U2OWUyZGEzZmFiNmM3NTU1YWIxMTg1MWM1IGxlZ2FjeS10cnVuaworNTQyMDggZTQyYzYzZDdjMjMwYTg4MGQ3YTY3OTI3ZGNkNDg5ZjM1NDE3NDU5YSByZWxlYXNlMjUtbWFpbnQKKzU0MjA5IGJhYWJlZjZjMDBkNjhlMjc2NzU2YWQ4YzI4ZDUwNGQ2ZGU0ZDk3NjIgbGVnYWN5LXRydW5rCis1NDIxMSBiZmRiZDNlYzI3ZDg1YTVlZjQzNGI0NDY2ZmU0YWQxMzg1NDA2YWMzIHJlbGVhc2UyNS1tYWludAorNTQyMTMgNGEwZTIyOGMzNmU1N2Y3MjIxMzQ3ZWJlMzM0NWNhNDMyNWMwNjc1ZSBwM3lrCis1NDIxNCA2ZTFjZjRkMjhhZjM0ZWI1MmQ1YzhiNGI0YzA3NWM5MGRkNzhhOGUwIHAzeWsKKzU0MjE1IDE1NzI2MGVmNjc3Y2FkNGNkNGVlNjEwYzk0Njc4ZWJiOGZhNGExZjYgcDN5aworNTQyMTYgNjNhZjM3YzJkMGMwZWQyODliYTg1ZWJmMjBlYjY4ZmUzYjkwMGEwNiBwM3lrCis1NDIxOSA5MThlZGFiYWFhODRlNjI1YjgzOTkwNTg2MzllMGNkZDU5NDAxZDViIGxlZ2FjeS10cnVuaworNTQyMjAgYzFhOTdiMDgyMTNhOWRiNTM0Y2Y0OTEyZWIwMmI4ZDM2ZjhkZGM1NSBsZWdhY3ktdHJ1bmsKKzU0MjIxIDMyYWY5NTg4YTE4MmVmNDQ4YzA5ODk1NDhkZjcxNTJhNjU5MzBlNDggcmVsZWFzZTI1LW1haW50Cis1NDIyMiA4YWE3Y2I1MWQzNTg0ZjhmOTNiMmY5Y2IxNDhiMzZhZGFhNWI5ZDVhIGxlZ2FjeS10cnVuaworNTQyMjMgMmY1ZDg0ZGNiNjU1N2RhZDM1ZmQ3YTlhMjlkNTA3Y2QxMzdmODFlYyByZWxlYXNlMjUtbWFpbnQKKzU0MjI0IGQ5NDhhMmMwZmNmZGRkOTUxMjA4ZjBjMDU2NDM4MTA5NGFjYjhjNjYgcmVsZWFzZTI1LW1haW50Cis1NDIyNSA1NTY1OWU2NDI3N2JlNmNkNDA2NDQ5MDZkMGE4YWU0YWE5MDJkOWJkIGxlZ2FjeS10cnVuaworNTQyMjYgOWI1NmVhZDM1MzJjZDc4ZTljNjYyZTE5YWUxNDk3OGUwZGVhNDA1OCBwM3lrCis1NDIyNyAwYmI5NjlmMTUxMThhMzg4MGVjMWJlNzliYzMyODBiMDA3NDY2MGRhIGxlZ2FjeS10cnVuaworNTQyMjggODM0MDBkZjk3Mzc5YWUyZjU1NTczOGVjZTBiOWVjNDE3NjYzZmYxZiByZWxlYXNlMjUtbWFpbnQKKzU0MjI5IGE3YzhhNGQxYjk0MDdkMjliMDU4MGM4NDkwMDY4NTQ1ZWZkOWQyM2MgcmVsZWFzZTI1LW1haW50Cis1NDIzMCBmMmJhODEyZjcyMDA3NjBiNjViZmY3NWIzMWRiMDAzZDc0YjVjOGQxIGxlZ2FjeS10cnVuaworNTQyMzEgM2JlMjE3NWJiYjAwMDc0ZDI0M2M4NGJmOWM5ZGNmNTZmNjlhOWIxNyBwM3lrCis1NDIzMiBmZjBjNDZmYjE5NWEzNTZhOTJmMmQyZGM2NDQ5YzMyMWViNzBlMGM4IGxlZ2FjeS10cnVuaworNTQyMzMgYmUxZTJmNzQ1NjY5ZGMwOTVjNzU1NGM1MzZlYmI3ZmMxMTRlM2E0NiBsZWdhY3ktdHJ1bmsKKzU0MjM0IDljZmM5Y2JhNjc2OGIxNmZkNmQ1MmY5MzlhOTMwNDQ0YzIzNWRjNzMgbGVnYWN5LXRydW5rCis1NDIzNSAxYTBmNmExMjg3NGMyYWFjMzNmNzA2NDVjM2Q5MDZmZGMyM2JkOTk1IGxlZ2FjeS10cnVuaworNTQyMzYgZTgzMTA4NTVmY2M3YTY3NDRkODE1MDAwNTdjOTcyNWRiN2ZiZDE2MSByZWxlYXNlMjUtbWFpbnQKKzU0MjM3IGY3NTQ1N2Q3NTMyY2UwY2U3YjdkNTdkNDcwM2Q5YWMzNDU3MWY5N2MgbGVnYWN5LXRydW5rCis1NDIzOCA3ZjZkNTM5MGExMWFiMmRkNzVhMmY4MzZiN2FkNTY5YTNjYTVmMGFiIHJlbGVhc2UyNS1tYWludAorNTQyMzkgNzQ0NmFkNmNiNThiZGNiZmNlODE4OTMxZGEwYmFmYzZkY2QzYjU1YiBsZWdhY3ktdHJ1bmsKKzU0MjQwIDA5YmZjMGNkZmY5ZmVlM2JlNDg4ZGJlMWIyMDRjOTBkYjQ3N2MxZGQgbGVnYWN5LXRydW5rCis1NDI0MyAyODc3Nzk4NDNjNWQzOTk0YTIxZTVkMzJiMGUzZjhmYWRhNWU2NjU4IGxlZ2FjeS10cnVuaworNTQyNDQgMzcxN2IxNDgxZDFiOTU3Mzc5YWIyMWIwZmZiZDY5MjA5Yzk2MTU0MSBsZWdhY3ktdHJ1bmsKKzU0MjQ1IDFmZWU5ZjQyYjFmYWRkOTc1MTRhNzU5MTRkNDFhMDI0ZTI3NmM0MmQgbGVnYWN5LXRydW5rCis1NDI0NiBiMTMyNmFhMDRiMmMzZGEyNDU2OGE3Zjg2ZjhhNWRhNTI5MzZmMTQ1IHJlbGVhc2UyNS1tYWludAorNTQyNDcgNDdhYzFiZmVhMzA0N2M2Y2U4MGJmMTU3OTI0MzA0ZjE1YTcwYjVmOCBsZWdhY3ktdHJ1bmsKKzU0MjQ4IGZlZGQ2Y2NjNWU1YjRmODY0N2NiOGE0MmJhMDUwNTQ2YjUzZWM1ODIgbGVnYWN5LXRydW5rCis1NDI0OSA0YWE5MTg3YjUxNTljY2RlMzU4NjQxMDRlNWY2YjM1MDZjY2IzMTg1IHJlbGVhc2UyNS1tYWludAorNTQyNTAgMWFmMzhhZjMxNGYyNzI3M2Y4NDkyNjZkMjIzMjM1MDhlNTNhYjI2NyBsZWdhY3ktdHJ1bmsKKzU0MjUyIGJlMGQ0OTEzNGU0ZmEyZTg1ZjZmMDZjM2ZkMTU3MmM5NWViYzE2MzkgbGVnYWN5LXRydW5rCis1NDI1MyAxYmJkNjg4YTZkZTE2ZjU3Yzk5ZDY0ODM4YTJlNWE5ZjM0MzI2ZTgyIGxlZ2FjeS10cnVuaworNTQyNTQgMDAyMzdmNTE0ZjA2MjkyYTA0YjIxNzk3NzVhYmExZWEyZGZjZjZiZCBsZWdhY3ktdHJ1bmsKKzU0MjU1IDAxYzhmM2UzMzMyY2FhMThiOTJmOTUwZjViODc1ZDhmZmY1MTYwOTAgcmVsZWFzZTI1LW1haW50Cis1NDI1NiA3MTgwOWMwODlhMjYzOTVlOWU3MDEwZGUxN2I3NThjZDY3M2EzYjBjIGxlZ2FjeS10cnVuaworNTQyNTcgZDNhMzVmZTEzODM4YTIxOTY3YTc2MzU3ZGZhZmU3Nzc1MDI4NmMxZCBsZWdhY3ktdHJ1bmsKKzU0MjU4IDU5NzhlMDcyOTFmZTc2ODBkNWUwMDhlYjhjYWQ5YmU4MzNiZjNiNWUgcmVsZWFzZTI1LW1haW50Cis1NDI2MCBhM2YzMTEzMDRlYTYzMmViYjEyMTljNTRiOGY1NmFkNjI4MDE0YmIwIGxlZ2FjeS10cnVuaworNTQyNjEgMmI1MWIwNGIyNTQ1NGNhMTIyODMwMjk4ZTAyZDA2ZjJmNGVhMThjNCByZWxlYXNlMjUtbWFpbnQKKzU0MjYyIDEwMWExYWI1NzNkYjRlYjI0NzUxNTE5N2NjZWIxNGNmZmEyMGQ4MjAgbGVnYWN5LXRydW5rCis1NDI2NSBjZjQ1MjAyNzA3M2UyOGNjZTM2NWJjNjU5NjE2MmNlZDhlNzRlODBlIHAzeWsKKzU0MjY4IGYxMThhYWRjMTEyMDVjNzU0Y2Q2YWYyMjJmOTk2OTYxYmQwMTRhZDcgbGVnYWN5LXRydW5rCis1NDI2OSBjOWI0MGIwYWEzMDMyMDFkNzVmYThhZTAwZmE0NDk1ZGU5NWE3MzQ2IHJlbGVhc2UyNS1tYWludAorNTQyNzAgYThhZTJjMjljNjZhZTJkNjBkZGE2MDAwMGQ3NDk1NTZmOTAwNTgwYSBsZWdhY3ktdHJ1bmsKKzU0MjcxIDVhYjdkYzhlNzMxYTk3YWFlMjgxYzg0OTFiMTgxMmI1ZWYxYmY3YmMgbGVnYWN5LXRydW5rCis1NDI3MiBkNGVhMDY4YzM4MjA0ZDgwZDE1ZDJjOWJjNzE3ODlhZWRiZDdlZmNkIHJlbGVhc2UyNS1tYWludAorNTQyNzMgZDcwNDQ0NjViNzQzYmY1MTVhMDdjNDZkM2MzM2U2MGUzNDE2ODI3NyByZWxlYXNlMjUtbWFpbnQKKzU0Mjc0IDYwYTM1YzA3ZDMyZGYzNDFhNGViODlmNzc5OTI5NWUxZmI2YWZmNTMgbGVnYWN5LXRydW5rCis1NDI3NSA1YjZlMWMwMDhjYTMyM2RjNzE0NmFmMjNmNDc4M2U3MzM0NzI1ZDYxIHJlbGVhc2UyNS1tYWludAorNTQyNzggOWEwY2NkYmJjNTY4ZGNlODJiMDkzNWFlMTA2ZmUwYzFjNWU0YjJmYiBsZWdhY3ktdHJ1bmsKKzU0Mjc5IDcyYzViNTVjYWExZGIyZTM3M2Q0MDQyOWE0YzljODU3NmU1NWUyYzEgcmVsZWFzZTI1LW1haW50Cis1NDI4MCBkODUwYmY1NmZkZjZjYTJmZGQ4NGYwZjMzZWRjYWE0NDgzODVhMzVlIGxlZ2FjeS10cnVuaworNTQyODEgZGNlOTQwZDlhOGU5Y2RmMGQ2NTU4ZDMzODJkZTVlNmFjNTE2YjkyMiByZWxlYXNlMjUtbWFpbnQKKzU0MjgyIDQ3ZWRlNjVlMmVmZDhmZmViMTA5OGNlMzhhYmFmOTRjM2JkNzEwYWEgbGVnYWN5LXRydW5rCis1NDI4MyBhZGY2MTJmNzA2ZTRlOTA2NGJiZGU4ZTAyZWMxMmM3OTIxOTFiODJkIGxlZ2FjeS10cnVuaworNTQyODQgYTdkYWEwMjE4Y2YwYzA2M2E1ZWUzZDBjMDk2N2Q1MGIwNDRlZTQ1YiByZWxlYXNlMjUtbWFpbnQKKzU0Mjg1IDNlZTk1ZmRlN2NmYWU0MDQ5NDIzYWQxMjM0NmE3NmRiODVjMWE5MmYgbGVnYWN5LXRydW5rCis1NDI4NiAyMTEyMDFlNmIwNDVlZDJjNTExNWUwMDIxMzU5Y2JmZGMyMTU4ZjkwIHAzeWsKKzU0Mjg3IDcxN2JjMmE0ZWVlNzdiNmYyZGYwMGQyZmVkYzk4ZmJhY2QwYWU1ZDIgbGVnYWN5LXRydW5rCis1NDI4OCBhODdiY2MzN2JmMGZlYTc3YWQyOTljYTYxN2E5ZTVhMGI5NTc0M2M5IGxlZ2FjeS10cnVuaworNTQyOTAgNzEwMGM1OTE4MmZmMzE2ZGY4NzdhNDRiZTUxZDU2M2ZlZTk0YWRlNyBsZWdhY3ktdHJ1bmsKKzU0MjkxIDQ1Y2UzODhlYzU5YTVkMjNiZTBiMzhhMDAyYjRjMTEyMzJmODE3Y2MgbGVnYWN5LXRydW5rCis1NDI5MiAyY2I1ZmI3Y2QzNTdlNGI4MTJlMjkxYzY1MmY1NzZhNzJhNDJkMGJhIGxlZ2FjeS10cnVuaworNTQyOTMgNWJlM2QyMTc3MzQwNWRmNjdiN2I4NzE2MTFkNjg0ZDI1YmE0ZjcyOCByZWxlYXNlMjUtbWFpbnQKKzU0Mjk0IDY2ZjI2NWFjNGVjNGY5MGI1ZWIyNjgwYmI0ZmZhNzAwZDM0MmI1NTQgcmVsZWFzZTI1LW1haW50Cis1NDI5NSAxZTEyYmVkN2EyZmU1YTQ2YjI3MzZjZjU4OGM4Yzc1Y2U4YjdhNWQ3IGxlZ2FjeS10cnVuaworNTQyOTYgMDEzNTUxMjRjZTQwNTE1YmMxODFjMmRlMTNiMmEyN2JiZWM1YmQzNyBsZWdhY3ktdHJ1bmsKKzU0Mjk3IDkxYTgwZTUyZDg2M2VkNWIyYWNlNTJlNTU1YTZlMjdlNmU3MGQ3YzcgbGVnYWN5LXRydW5rCis1NDMxNSA5MWJkNzM4YTQyMDY3YTEzYWMzY2E1M2UyMjczOTZjYjU4MWI2YzYxIGxlZ2FjeS10cnVuaworNTQzMTYgODQ0NzhkZWI0YWQ5NmE5YWNkZTk4ZTdkMDhhNWIxZDU5Y2YwZjBiMyBsZWdhY3ktdHJ1bmsKKzU0MzE4IDQ3OWRjYmQ3OWI1N2YxNWVmOGEyZTYxYTRmY2VjM2IwMDE3ZjU4OWMgbGVnYWN5LXRydW5rCis1NDMxOSBmOWEyNmFhM2QwOWM0NGMyNmQ5NTJiYTc2MTQwYjZiNzZjNjcyOGJhIGxlZ2FjeS10cnVuaworNTQzMjEgOWRiM2UzMjVkZDg4ZDRiMTc3NGFiZjYzNDRjMzFjMzVhNmJmN2ExZCBsZWdhY3ktdHJ1bmsKKzU0MzIyIDcyODZkODMyYWQyNzI3MTQ1YWY0NDM5MDViOTIwNDY4NzVjMGNhMmIgbGVnYWN5LXRydW5rCis1NDMyMyBlMmNlZWRlMjBkOGMyOTQyNGM4ODZkNjUyMDUwNmNkN2IwMDFlYTk0IGxlZ2FjeS10cnVuaworNTQzMjQgMTZkN2RjZDdhNjljNDJmNzVkN2YzMTg4ZjQwYzdjMjY2ODBhYzljMCByZWxlYXNlMjUtbWFpbnQKKzU0MzI1IGJlZDU3ZGZmM2RiODZlNjhmMGZjOTQ0N2U4NjQ5MWVhNTk1YjIxMTggbGVnYWN5LXRydW5rCis1NDMyNiA3YTMzMWM3Zjk0MDRmY2QwMDFhYzM4MWY2OWI4NTI4YzUxOGI0NmU5IGxlZ2FjeS10cnVuaworNTQzMjcgYmJhZjZjOTM1NjYzNmZhNTM3YWRlMDUyNDg2YjZmZmM5ZGRjNWE5OSBsZWdhY3ktdHJ1bmsKKzU0MzI4IDhmYTRlOTgwYjU4OTlmYjliZDIxNTNhOGVmYTMzOWE1MjAxOGNhMTkgbGVnYWN5LXRydW5rCis1NDMyOSBiODk0MzdlM2JjOGViZDdkNmI3ZThhMmEzN2M1YzAyYjgzM2IzMTc0IGxlZ2FjeS10cnVuaworNTQzMzAgYWRlOGQxYzgxMDA5M2U1ODQ0ZjY4NTI2YjUyNDg5YWFlNTUxMWIxOSByZWxlYXNlMjUtbWFpbnQKKzU0MzMxIGIxM2U2MTI4ZWZhNzJhNGUyNjY3ZTBjZTI4OTdjYmEyNmMyMDk5YWMgbGVnYWN5LXRydW5rCis1NDMzMiBiNmMxMDM4NDUwNTRmMTg4ZDJhYjUxOTFiMWZmZTkzMWJmZjk4YThhIHJlbGVhc2UyNS1tYWludAorNTQzMzMgYzZmNDE1MjkwZjgwNmNiMDU1ZmY2YTliNmJiNTkyODUzMzhhNTcxMiBsZWdhY3ktdHJ1bmsKKzU0MzM0IDdkMzBkNjJhOTAxYWE4MWYxMjQwOWNmZDZjYWM5OTczYWViYTZkZDQgcmVsZWFzZTI1LW1haW50Cis1NDMzNSA1YTNhMWIwMjQxOGFmZDBjYjlmM2ExNGNjNjUzMzI5ZTIxZjU0MjM3IGxlZ2FjeS10cnVuaworNTQzMzYgYTRlMGM3OTAxNWQ4MmZlMjk4NWE5ZGY3ODJjNWFhNThlN2ZmYjk1YyBsZWdhY3ktdHJ1bmsKKzU0MzM3IDgxZTVjNWQxOTk4ODdjOTViMDI1NzBjNGUwNjUxMWY5ZGM2ZDZmMmMgcmVsZWFzZTI1LW1haW50Cis1NDMzOCBhMzQxOWM2YzBjZmVkZjZhZmIxNzQ4NmRkMGQ2MDM2YmQwMjRiMjM1IGxlZ2FjeS10cnVuaworNTQzMzkgNTNlZTI3OTUyODdiNDRjNmM5NmFkZGQ5NWE1MzE5MjgwODBiOWU4NyBsZWdhY3ktdHJ1bmsKKzU0MzQxIDFkODBkODRjNzc5MjQ5NzViY2IzOTNlZDJkZGQwYzYzY2M4Mjk1MGUgbGVnYWN5LXRydW5rCis1NDM0MiBiOTBkOGIyZTVlZDA3MTc0YzQ4ZWY2YWM4NGE5OGIzMTdkZWYzOWJlIHJlbGVhc2UyMy1tYWludAorNTQzNDMgMGMxMjJmZTgyN2Q3OGE0NmUyMjJmNDcwZWI4NGE1ZWY0ZGQwMGU4YiBsZWdhY3ktdHJ1bmsKKzU0MzQ0IDdiMzZhNjRkY2IwOGQwMjY2MjIyN2IyMzNkOWVlNDdjZDRlYzgwZDAgbGVnYWN5LXRydW5rCis1NDM0NSBhYzcxZGI5ZmFkYzg2YjlhZTE2OWZlNjlkMjBhMDU3ZWVjNjE1MTFkIGxlZ2FjeS10cnVuaworNTQzNDYgMjhiMDQwM2Y4YzkyYjcxZGMzYzQzNDcwYzMxOGU1OGQwMGI4OGFiMSBsZWdhY3ktdHJ1bmsKKzU0MzQ3IDkzZTY3ZDM2MmE4MWEyOWE5NzlmNjY2ODk0NDQ1MDY4ZGFkZDFjMjIgbGVnYWN5LXRydW5rCis1NDM0OCBkOTZlYmIyMGQzZTFmNjEwNWM5MzVjODFkOTI0ZWNkMjk0NjU3NDkxIGxlZ2FjeS10cnVuaworNTQzNTIgNGE3OWRkMTViYTU5ZjY1ZTM5MTg0NGFmMmQ5ODhlYTYxNjI1NDczMCBsZWdhY3ktdHJ1bmsKKzU0MzU3IDQ5M2NhZTcwNWY5MTg4YzNiYjcwOWM3Nzc1ZmQ5NjNmZTFlYjRjOTggbGVnYWN5LXRydW5rCis1NDM1OCA3ODY4NmM3YTIzYTdkNTAzZTgyMjZjNDliYTY3NWZmYzUwMzk4MTVjIGxlZ2FjeS10cnVuaworNTQzNTkgOTIyYjc3MDhhODBhZmUyMDk2ZDgwODlkNGNhYjUxOWMyMGJiMDA2NSBsZWdhY3ktdHJ1bmsKKzU0MzYwIDIyNmQ5ZmNmOWQ1OWNkYTQ3N2UyOTBkMDFiZDFiMWVkYjNkYjUwNmMgbGVnYWN5LXRydW5rCis1NDM2MSBkYmE1YTMzYTBlNzk5NTI4MTQwMjI5YjUzY2NkNjRjMGU2MWZjY2U0IGxlZ2FjeS10cnVuaworNTQzNjIgMjA5ZDY4OGYzY2E1ZWVjMmUxODYxMWExZTc1MjFjYWE5Y2I3OGQ5YiBsZWdhY3ktdHJ1bmsKKzU0MzYzIGVhZmJmYThhMmIzMDBjM2FiYTkxZDVlNmE0NTJlM2MxNzdlMDc3NDMgbGVnYWN5LXRydW5rCis1NDM2NCBmMWYxODY0NjAyNTBhMmY1MzA4ZWU0NjQwMGQwNjExMzU4YWM4MzFmIGxlZ2FjeS10cnVuaworNTQzNjUgY2EzMzhkNTYzYTdhZDE2ZmY4Y2QxYzliZTgzMGEwMGZlZWIyNTQzMSBsZWdhY3ktdHJ1bmsKKzU0MzY2IGQzMTEwMTNhMTYzOGE5NGNiMzZjYTExNjA1NmMxMzAzNmU4YTdiZDcgcmVsZWFzZTI1LW1haW50Cis1NDM2NyA1YTFhMGFhOWE0YmJhZTE5NzZhNDdjYjAxNThmMzBlMTYxYTE1ZTZhIGxlZ2FjeS10cnVuaworNTQzNjggODk0NjkxY2E0ODM1M2YwYzQxYjhhNWJlYTExNDEzMmQ0ZWY4ZDAxNiBsZWdhY3ktdHJ1bmsKKzU0MzY5IDFkY2RiYzI1ZGVhN2M2NTk4ZWNmYjQzZDQ3YTkxNDdhMzg3ZTg1NjQgcmVsZWFzZTI1LW1haW50Cis1NDM3MCA1MmE2OWEwNjQ2MzdhNTk5NTM3ZTRkMzUyYWMwOWEwODc3MjRmZDRjIHJlbGVhc2UyNS1tYWludAorNTQzNzEgZGUxZDA1YzU1YjZmZGYzY2VhMjI1ZWU3ODUxOTRiZDg4M2QwMzc3YiBsZWdhY3ktdHJ1bmsKKzU0MzcyIGZmOWQ4MWU3NmE3NmY3ZDU3ZTYyZTlkMmRiYTUzNGEwOWQ3ZDMxYmEgbGVnYWN5LXRydW5rCis1NDM3MyBiYzJhNWE1NGI1Y2FmM2Y0ZTFmMGY2ZGFhNjNlMDYxODQzMjk1ZTIzIGxlZ2FjeS10cnVuaworNTQzNzQgYjUwMDc2MWI0YjYyNmRjMWZiOTBjMzA4ZTA4Zjk3YWFhNTg2NDIyYSByZWxlYXNlMjUtbWFpbnQKKzU0Mzc1IDU2YjJiOTMzYmFhZTJjNDVkZmU1MjZmZTExYzYwYzUzN2ZiODdjMjIgcmVsZWFzZTI1LW1haW50Cis1NDM3NiBjMzAxYjViY2RmZGM1MTBkZmI5YThiMzU0NTJjODgwMjBhNWZlNjA5IGxlZ2FjeS10cnVuaworNTQzNzcgOTBlNTdlMmM3YTAzMzNlYjc4ZGRjMmM1MzY0NGI1YTc4MTQ4ZDY1ZCByZWxlYXNlMjUtbWFpbnQKKzU0Mzc4IDI5MDBlYzA0MDMxZDk0YzNhZjhkNmE4ODk5M2RmYmU2MmMxOTBhMzggbGVnYWN5LXRydW5rCis1NDM3OSBmYzVlMDQ1Y2VhZTQzOGQyMzg5MGQzZjY1NjlkZTI2MGI1NjBhYjg0IHJlbGVhc2UyNS1tYWludAorNTQzODMgNTE0YWVmZjYzYzlmZmI1NTExMDA5OTdkYjRiYmE2ZWYzZDBhZjc4YiByZWxlYXNlMjUtbWFpbnQKKzU0Mzg2IDYyODA1NTJjMTI5NzIzZTM3ZDdiMzg4YjRiNTgyNjYxYTE4YmVmM2MgbGVnYWN5LXRydW5rCis1NDM4NyA5OTQzYWVhNGYyZDFkZjIyYzdhNjBjZTMzYzlhYjlkY2RhNTM2NGZmIHJlbGVhc2UyNS1tYWludAorNTQzODkgYmJjZTJkOGZmNzNkNTRlMGY5Nzc5MGEyNmNlMzhhYWU0ZGE0NDI0OCBsZWdhY3ktdHJ1bmsKKzU0MzkwIDRlYjRjZmI2MjU0ZWJiN2I4ZjNmMGFjMjQ5YmQxM2Y3YTVkZDY0ZTggbGVnYWN5LXRydW5rCis1NDM5MSBkMTU1YWU2MzY3Mjg0OGVhYTE2YmUwNmRjNTcwMTNhNTI2YzZiN2RjIGxlZ2FjeS10cnVuaworNTQzOTIgMGE2YzUxMzVkMmRlZjQ5OGU4Mjk1ODcxMTM0OGMwOGNlYmU0MTc5ZiBsZWdhY3ktdHJ1bmsKKzU0MzkzIGZjNTI3ZWI5OGRjZTY4NTVjYTkzOTdmNjgxNGQzMTA1M2MyZjY0Y2QgcmVsZWFzZTI1LW1haW50Cis1NDM5NCAzNzZiNDIzNWRkNDQ0NDgxYjc4NjRmMzVkODY2YTJmYjYzNjNkYTVkIGxlZ2FjeS10cnVuaworNTQzOTUgNGFjYjQ1YzI5N2VkMWZiNmI4ZTI5ZDUzNmEwYTM1MDlhNzFjZjM2YyByZWxlYXNlMjUtbWFpbnQKKzU0Mzk2IDhkOTdkZWU2ZGY2NDQ0NDE2ZTNjYzU2ZjQ0NmZhMGUyYmY1YTFjZmMgcmVsZWFzZTI1LW1haW50Cis1NDM5NyA0MjE3ZjM4NTBmMGI4YTViNmU3MzYwMDU5YzYwZjdlMzZlNDYyNTZiIGxlZ2FjeS10cnVuaworNTQzOTggNTJjMzM5YzBjYjM4YmM2OWQ2NzgzZTVkYWVlNmE0OTY4ZjcwMWIwOCByZWxlYXNlMjUtbWFpbnQKKzU0NDAwIGEzNzdmOTQyZWUwYWRjMTg5ODVmOTRiOWU0ZWM3YjNlMzZmODIwYTggcDN5aworNTQ0MDEgYTMxMmMyNzZhNWU3OWJjZmIzNzBiNzQ5OTk5ODMyMjNiZGIzNzAyMSBwM3lrCis1NDQwNCBiNDNhNTJmNzE2OTZhMDY1M2IyOTUyNjc5OWJjN2FhN2MwYzZkZWYwIGxlZ2FjeS10cnVuaworNTQ0MDUgZDgzNTgwOWY0NWVjNDQ5MTRmNGJjZDEwODE5ZmY2ZWRiYzcxNjg1NiByZWxlYXNlMjUtbWFpbnQKKzU0NDA2IDAxOTUxZjZiODE5ZDEzZWFiMjNiNjdlNWFhMTQ2MzRkNmNmODBlMzQgbGVnYWN5LXRydW5rCis1NDQwNyA5NDIwNTk4NmFkNTMwOGE5NDNkZjE3ODNhNjIxMDNhN2NhNzM1M2Y0IGxlZ2FjeS10cnVuaworNTQ0MDggMjY5MGRlNGJlYWExM2RhNGFjZDk2ZjEwY2YxMjI3NzE2YWE5NGIyNCBsZWdhY3ktdHJ1bmsKKzU0NDA5IDY0NTA3MGI4Mzk0MjZiZjFmOTNiYzc1ODgyMGI1MjRmZDdmZDg5ZmIgbGVnYWN5LXRydW5rCis1NDQxMCBhNjk3OWFjOTUzM2ZhZTY2OTg3NmFjMmFkOWQxNDVlMTA3MzhhMTRlIHJlbGVhc2UyNS1tYWludAorNTQ0MTIgYzU3Y2Q1NDY2MTJkZDgzZTg3ZGVjMzE3YWM0NjgwOTk2YjY1OWE3YyBsZWdhY3ktdHJ1bmsKKzU0NDEzIDA2Y2Q2MGIwYmQxNjRjNzNlMjJhNWQ0OTM1MjllNzVmNDdkZWU2OTggbGVnYWN5LXRydW5rCis1NDQxNCBkMWJhODEzNDUyOGUyOGMwYmFiM2M0ZTQ5MzYzNWYzZmIwMjQyMjMxIGxlZ2FjeS10cnVuaworNTQ0MTUgNzJkYTQ4ZDk2MjU3ZmMzMGIwMzJhMmI0ZjVmOTE0NWJjMjExZDU4MCBsZWdhY3ktdHJ1bmsKKzU0NDE3IDhiYjU3MGFlNGM0NWM3MmU4ZWMyMmY5OWM2ODhlNzg3NmVlZTY0NjMgbGVnYWN5LXRydW5rCis1NDQxOCA3NTQ5YzRiM2FhMzZhMDFkMzhlZDA1NWZmZmVlYzUxM2JmMGM3ZTlhIGxlZ2FjeS10cnVuaworNTQ0MTkgZjNkNDI3NGQwNjNkMzBiY2M4MDk2MDIwNDUxMzM3ZDUyYzgxOGVmMCBsZWdhY3ktdHJ1bmsKKzU0NDIxIGViZTUyZGJjMzU1M2Y3ZWU2MDg5ZGMzY2NlYTgxYTU5ZWI3ZGYyNTkgbGVnYWN5LXRydW5rCis1NDQyMiA5MTI2ODY3OGQ1N2Y5NmQ1MTAwYzI2NDE1MTVkYmU5ZTdiZDZiZTQ0IHJlbGVhc2UyNS1tYWludAorNTQ0MjMgMTM3M2E4MzA4M2JiMjEzYTlmY2MzNmJhMTgxOGMwMTY2ZWZjOGUwNiBsZWdhY3ktdHJ1bmsKKzU0NDI0IGEyYWUyNGZmYTYwYTkwMzU1ODUxOGNiMGVkMjQ0MWViZDI5ZGNjOTEgcDN5aworNTQ0MjUgM2M3M2E4YTIwODM5NWZjOGY4OWE1MWEwOWY5NzI4Y2NhNmQ4Mzc4ZCBwM3lrCis1NDQyNiBlM2JhNjBkZTNkODQyZTFkNzRjMjEwNGIyNzYzZTY2ODM2OTk2ZjA2IGxlZ2FjeS10cnVuaworNTQ0MjcgMzQzYmUzOTZiYmQ3YzYxMjljNDYxMmY1OTdlNmMyNjhlZGVmMTVkNyByZWxlYXNlMjUtbWFpbnQKKzU0NDI4IDE5ZjdmZjQ0MzcxOGY3YTlkYTFhZWE5ZWRiZjAwYTEzNWY4NjA4ODMgcDN5aworNTQ0MzAgNWUyNGY2MzZhYzc1NzZlOGIzNWZkZDhkODc5M2JiMTU0YTFlZDA4MyBwM3lrCis1NDQzMiAwNzEwMTZjNzI5MzkyZTU1M2NhM2M5Zjg5ZDI0OGI5MzgwMDIxZWIwIGxlZ2FjeS10cnVuaworNTQ0MzMgMWY4NDM4OTBhNGU2MWI0NzE1ZDJjM2ExNGE1ZWMyYjE1ZGRjMDFlNCBwM3lrCis1NDQzNCBiMWExOGM3ZWQ1Y2E2NzlhZWE4OGYwNzQ1MTMxOGVjN2Q2NmFiYzU4IHAzeWsKKzU0NDM1IDE2ZmU5MzZmODliMTlhNTUxMTIzNDBlYzVkNGE4OGQwNzdiNzhlODAgcDN5aworNTQ0MzcgOGQ3OTlhOTljZjY4ZjRkNjhlNzNhNjNmZDE1YjlhMTYxYzE4YTE4NCBwM3lrCis1NDQzOCAwMzdmZTZhNDQ0ZDJmZTk4Mjc0ZWJhYWNlZTRjNzFkOTA1OWFmZDdkIHAzeWsKKzU0NDM5IDhkMDZjMTEyMWIzMzFhNTNmMjkyNjAzMGY0MDA2MGY5ZTc5Mjg1MzEgbGVnYWN5LXRydW5rCis1NDQ0MCA2YzhjMzNhNDNhMTU1NWI4MWVjZWM5MTEwZjVlZGYwZDI0OTU5MGJiIHAzeWsKKzU0NDQxIDlmMDdkNDEwYzU1NTQ2OTY3NDI1OWUyNmE3OGU0NTIxZGI1NTA3YWMgbGVnYWN5LXRydW5rCis1NDQ1MSBjN2MyNzU0ZmYyZDZkZGI5YTkwZjE4Mjc3MGU3YTNiOWIyMmVmYWVhIHAzeWsKKzU0NDUyIGY5OTczYTZlMWFmZTAxZTBmYjNiYzk3ZDdhNDBmYTAxZjdkMTc5ZWYgcDN5aworNTQ0NTYgOGQyOTc4MTQyNTkzMzg5ZmVhNDY3NjlhOThjY2I1Nzk2MGRiZjc5YSBsZWdhY3ktdHJ1bmsKKzU0NDU3IDIzNmFmMjE2MWViNjc4YWQ0NGRlNDFiZDFjNTlmMzljYzBiYzlhNTkgbGVnYWN5LXRydW5rCis1NDQ1OCA2MDE4MTk0YWZiYmRlMTNlMWZhM2QyNDg4OGQ3YzA0NzgxODFhZjY5IGxlZ2FjeS10cnVuaworNTQ0NTkgYzk5N2U5MDdjNGM2NzA2MGQ4MzgxYTc2YTkxMTUzNWRjZWU1N2RiYSBsZWdhY3ktdHJ1bmsKKzU0NDYwIDMwN2U1ZDQxNjRmM2EzYmIxMjE1MGI3MDdiYWYxOThjNmZkNjIyYzAgbGVnYWN5LXRydW5rCis1NDQ2MSA1YTc3MWI0YThiNzhjYzQzZDc1NjIwZjU5N2QyMmI3YTY3OTJjNDkyIGxlZ2FjeS10cnVuaworNTQ0NjIgNDU2NjljNDE0ZGI0NTU2NzU1MjQ2ZTk3MTBiYmVjNTU1NGY3MzMzZCBsZWdhY3ktdHJ1bmsKKzU0NDYzIGI4YjE3YTJmYWNlNWFhZjNjZDdmNzM5MGNiN2MzOGJlYmZkZmFmOWMgbGVnYWN5LXRydW5rCis1NDQ2NCBiNDNhMmRhODMyYTcwZDdhODljMmZiOWNhYTYzMTZjZjQ2ZjVkMDcyIHJlbGVhc2UyNS1tYWludAorNTQ0NjUgZWM2ZmIwOTEwMzliNDUzYzBjMGU5MjFmZWE0NmVjN2YxZjEwYmRjZCBsZWdhY3ktdHJ1bmsKKzU0NDY2IDUwYTZiMzNjOWQyYzVjMDcxMzFhMDljMWY4NzU3Y2E2NjZlOWIxMjMgcmVsZWFzZTI1LW1haW50Cis1NDQ2OCA5ZDBjMDU0MTE3MzQ4MzE0MDA5ZTU4OTgxNTQwMjFlODQ5NGU4M2JhIGxlZ2FjeS10cnVuaworNTQ0NjkgN2YyOWJlMWNlZmJhMTI1NjM0MDgxYzMxMGJkZTJhMDgzOTc0ZTU2YSBwM3lrCis1NDQ3MCBlMTJjNTA0ZTQ2NmI1YjZlOWYyYzg2MGJjNzA3MjBiYmUzYmI3NmVmIHAzeWsKKzU0NDcyIGYyOWYxYThiNzg2OTJkMWNmZjE5MzZlMGEwNDIwMjBhNjg1NTM4YmMgcDN5aworNTQ0NzggODgxMjcxODY2OWUxOTc5MjIxM2NlYTY4NjhmMzM0YzQ0ZTAzN2JhOSBwM3lrCis1NDQ3OSBiNzUyYTFlMDk0NGI0MzYwOGViMzgwMTk0ZWQ2ZmM2NDg2YzA2ZTViIGxlZ2FjeS10cnVuaworNTQ0ODAgOWNmMjJjNWVlZTNkN2ZhMDAwMTAyMjM4MGFmN2YzOWNjYTAxODYzYiBsZWdhY3ktdHJ1bmsKKzU0NDgxIDA4ZDE2MTgzYTljMTUwNTIyYWU2YWU3YzBmMTZhNWJjZjY1NDdmYjggcmVsZWFzZTI1LW1haW50Cis1NDQ4MiAxZGM0YzRjZTJkYjlmZjAyMGYyYjkyMDM5OWY0Njg3OGM4YWIxMjA0IGxlZ2FjeS10cnVuaworNTQ0ODMgZDE2YWJlNWM5MmRlYmY1NTUxNmU5MGFlNGY1OTNjYWY1OGEwYzk3ZiBsZWdhY3ktdHJ1bmsKKzU0NDg0IDg1MmM5ODk2ZmU5MjM2NTFhYWU4ZmQ1NjAwNDdmN2ZiYzEwYTM2MDMgcmVsZWFzZTI1LW1haW50Cis1NDQ4NSA0NTllMzZiMmVhNDUxZmNkZTIyMGZjMGZhMjYzYjZkNWZjODVlZDYxIGxlZ2FjeS10cnVuaworNTQ0ODYgNWI3MTE2MzJjYWUxMzJhYjhmZGMzZDVlNWI1MmJlNGJkZmE5Nzc3NyByZWxlYXNlMjUtbWFpbnQKKzU0NDg3IGNiNmViMTMyYWNjZjI2Njg5NGYwYjFkZjJhYmQ4ZTdjZWJhNjJjZDEgbGVnYWN5LXRydW5rCis1NDQ4OCA3MzkzYzcxMGQ0YmJiZWRkOWEyMDdlMmU2OTJlMTk0Mjc0MTBlNGNkIHJlbGVhc2UyNS1tYWludAorNTQ0ODkgZTU1YmZiMWFjMWU3Y2NhZGVhMDYzNmFkODkyOTc2YzFkNDYxNGNkYiBsZWdhY3ktdHJ1bmsKKzU0NDkwIDViZDk2NjM2MjBiYzk3OGExMjc5NzJhN2NlN2FiYzZmMTY0N2JiZGIgbGVnYWN5LXRydW5rCis1NDQ5MSBiMWU4YmZkZmU0Yjc5NWEwMmRlZTZjNzg1ZDE0ZDk0MDE0ZmM5ZWMwIGxlZ2FjeS10cnVuaworNTQ0OTIgY2NjNDQ3YTZkOTE2NDhmNzExNjIxMTVmNDVkMGFkNzc5OWFkZWNiMSBsZWdhY3ktdHJ1bmsKKzU0NDkzIGQyNWY3NzU3NDg2NjMxZTg0NGIxYTRmNTBlOTcyZTAxNGE5YjM5YTAgcDN5aworNTQ0OTUgMTVhN2UwYjdlNDI1NmI1YzkwZjhjMjI1OGFkZWQ2OWZjZGE1NzAxMyBsZWdhY3ktdHJ1bmsKKzU0NDk2IGY4ODlmNjVhNDg2MWJlYjVmYzAxOTE3Y2MyZDVhYTk1NjUzZDU0YTAgcmVsZWFzZTI1LW1haW50Cis1NDQ5NyA0MDhkZmM3ZTMwMTg0YzIxNWEwNjM4NGExZDU5ZjgxYzYzYzRiNDM1IHJlbGVhc2UyNS1tYWludAorNTQ1MDIgZDQyOGUyMWQ2ZWFmNTgwNjRlZjRjYWFmNzIzZDZmNzVjNjc5NmYxZiBwM3lrCis1NDUxMCBiZmM0ZTgwNDYxMDIzOGI4YjAwYzM5MmUzZGFjYjI3MzYzMTNmMmIzIHAzeWsKKzU0NTI0IGFjZjlhNTVjODg1ZDc5MTI3NjllNjljYzY4MmQ5MjMxMmJhOGVkMmIgbGVnYWN5LXRydW5rCis1NDUyNSA1MmUyZmNkNTNhZDMzOTY2M2VlYmRhZmZjYjEzOWJiNTgwM2YxODRjIHJlbGVhc2UyNS1tYWludAorNTQ1MzIgMTc1N2Y4MGI1ZmRiYWU0NzlkZGY2MDQzYjcwOTkzOTc1YjZiZjUyMyByZWxlYXNlMjUtbWFpbnQKKzU0NTMzIGFmYjFjNmNiMmM4ODQyMjkxNGU2OGFmYTAxYmQwZTg1Y2NkOWY5NGYgbGVnYWN5LXRydW5rCis1NDUzNyBmZTE4NDJiNDhiNjZmZmVjOGE2OTg2NDhmYWFlNzJmYTEwMjBmNDBhIHJlbGVhc2UyNS1tYWludAorNTQ1MzggNDJlYjViYjc3NjYxNTdhZjM1MGJhNTgwMjNhOGM0ZGZlOGYyNmQ4NyBsZWdhY3ktdHJ1bmsKKzU0NTM5IDhkZWJjZTJjNGZiMWI0ZTg3Mjk0YjVjNmEzNjU5MjRlNjY4ZWUzNjkgbGVnYWN5LXRydW5rCis1NDU0MCA1MWZiZjJhNzU1NDhiMWE2NDAwODc4MDc2YTA3NWZjMDE1NGU0MWU4IGxlZ2FjeS10cnVuaworNTQ1NDEgOGYxYzllOGVmYmJiZmQxOWY4ZjI5YmQxZDU1M2RkYzZiMzlmNDM4OCBsZWdhY3ktdHJ1bmsKKzU0NTQyIGQ4NzQ4NjczZmQ5ZjlhNWVhYTZiN2U3OTFlYmM2MTBlNWI1Yjc5YTEgcmVsZWFzZTI1LW1haW50Cis1NDU0MyAwMjU3NGY0ODViMTVjM2ViZDlmYzFkNjJiMGU5OTliYzZmNTlmYmZmIGxlZ2FjeS10cnVuaworNTQ1NDQgMGVhNTU5NWQ3NWRhZDhhM2EzMzUxYTEyMGNjOTVmMTI4ZTA5NzUxMyByZWxlYXNlMjUtbWFpbnQKKzU0NTQ1IDEyYzcwNTU4MDc0ZTdjZDBlYjMyOTczNWU0MWIxNWU3MmY1ZDA4NWYgbGVnYWN5LXRydW5rCis1NDU0NiBhNzNhYTBiODIxY2E1ODg0Y2IzZjA2MjVlMjQ4ZWZkMmNiOGNhYTM5IGxlZ2FjeS10cnVuaworNTQ1NDcgM2I1NmU3ZTg5NDcwMmUwZWMwZGMwMjVlMjVhNTQxNzljZTkzZWUyYyBsZWdhY3ktdHJ1bmsKKzU0NTUzIDc0ZDI5YjYzNTQxNmI4OWFiYzUwY2FjYmQwYTUwMmFiNzNhMDM3MmEgbGVnYWN5LXRydW5rCis1NDU1NCAzZmY2ZDNmYTgxMjI5YjkwZTYyYjM5ZmRjNjE4YzIxMjg5YTBlY2YxIHJlbGVhc2UyNS1tYWludAorNTQ1NTUgMTg5OTViZDhiYzhiM2FhNmI5NThjOGViM2RhODE5Y2UyNjYxZjNiZiBsZWdhY3ktdHJ1bmsKKzU0NTU2IDFjM2UwZDJjMzZkYzk3NjIzZjlhOGNjMWY1M2ZjZTdjY2NlMDY4OTQgbGVnYWN5LXRydW5rCis1NDU1NyBlZjcwY2Q0ZGJhNTBiNjU3NGFkMWE1YjcxMWRlMTU1ZWM0YTU1OTcyIHAzeWsKKzU0NTU5IDM4YTNkYTAyNmQ1ZTU3NDNkZTY3YTVlZDhiMzU5MjM0M2RjMDUwNTUgbGVnYWN5LXRydW5rCis1NDU2MCBlOTM4ZTllZjQzNGI4MmU2MWY4Yjg1Y2UwMzIyM2QyNzBhYjkwNDg0IHJlbGVhc2UyNS1tYWludAorNTQ1NjUgMzJmNzJlNTc2MThjYzE1YjJlZjYxMmNkNDhiODZjMWY2MzNmMjg4YiBsZWdhY3ktdHJ1bmsKKzU0NTY2IDhmYzYzOTZmMDc2YTVlY2JiMjFhNTNjNThmOWM4OTU3NmRhM2ZiZDMgbGVnYWN5LXRydW5rCis1NDU2NyA2NTBlZTE3OWYzY2VjMjBhN2JhZTZkZmYyMjQ0YTM4YTNhNWEyMzFiIGxlZ2FjeS10cnVuaworNTQ1NjggODI1OGYyNWQ0M2Q3OTY0OTAzNGU1ZjM2ZjVkNzFiYWJkYzEzOTBmZCBsZWdhY3ktdHJ1bmsKKzU0NTcwIDNjMDkxM2I2NWU4ZDZkNTVlN2Q2MTRmOWQ4ZDM5OWNkOTZhZGQ2YWMgbGVnYWN5LXRydW5rCis1NDU3MiBlYjI1YzhlMmI0YTFlYmUyNDZhMmU2NGFiZjYyM2IyOTRmMmYxMTJjIGxlZ2FjeS10cnVuaworNTQ1NzMgYTA3Zjk4Y2ZmYmRmZWY5NTEzNjI2NWUxZDY0ZWRlYWRiOGRhOWRkOSBsZWdhY3ktdHJ1bmsKKzU0NTgwIDJiZTEzMzAxM2I3MWNhYjI4M2VmNDA5M2Q3N2NhZDU0ZTg4MWYzNzIgbGVnYWN5LXRydW5rCis1NDU4MSA4YmU3NDRkNWM1NjczODkyMzU1YmNjZDBmNGQ4NDZlNGZhMjBmZDQwIGxlZ2FjeS10cnVuaworNTQ1ODIgMDNkNWRiODMyNWY0MTFhNmI3ODNhMGE2ZDk5YjNkZTc2ZTIzMjRjYiBsZWdhY3ktdHJ1bmsKKzU0NTgzIGEzMWIwYjE4Y2FjNjJkOGZlMzczNWY0NWMyMTdjMDc0YmNhZWFmYWIgcDN5aworNTQ1ODUgNjUzMjZhMzgxNWY3NjBhZTg4NzQxOTk5ZTQ3MGE4MmZkMmZmYmQzNCBsZWdhY3ktdHJ1bmsKKzU0NTg2IGU0ODkzZWU5YTg4NTc5NjQwMDU2ZjQwMjE0YzAxYWJhMWVjNmYwN2QgbGVnYWN5LXRydW5rCis1NDU4NyA1MDk1YWZlZTA4MGYxMDA5YTU4MjljOGFkNzQwN2U3M2FkYzI2Njg4IHAzeWsKKzU0NTg4IDgzNGRhNTJlYjJhNGViZTZmODBlMDU5ZDExM2FjZjFiMDQ4ZDMyOGEgcDN5aworNTQ1OTIgNDVhMjc2MWM5YjE2Y2UzYjNlNDdiM2U4ZDliZjhlOTJkMGEyZjI5ZSBwM3lrCis1NDU5NCBkMTQ0ZjgxNTc0YzA4NWRlMTViODI5MWMwYjAwYmY1YmNjZGFiNzIyIGxlZ2FjeS10cnVuaworNTQ1OTUgZDQxNmQ5NzE3MTgxNWJhNjI4ZTQ1NzExNWFhMjQzZDFmZDZiYjg1NSBhbWstbWFpbGJveAorNTQ1OTYgM2U2ZDAzMjE3YTAyYjA1OTlmNjdlM2EzOTY4YzRkNGNmNDM4MWNiOSBhbWstbWFpbGJveAorNTQ1OTcgNDZhZDIxOTM5NjhlZmE3YTI4ZmNjNThkMDZmYzczNjAwNDMzZGQ4NyBhbWstbWFpbGJveAorNTQ1OTggNzMwNTQ1ZjI0MDg2ZGQ5ODE5Mzc2NThmMWNkMTcwMGY3MmVhMDgxZCBhbWstbWFpbGJveAorNTQ1OTkgMmQyOTY2NTY3OWU2NzQ2NjAzNDY1MjQ1MzZhM2I0ZWQyMDUxY2IzZCBsZWdhY3ktdHJ1bmsKKzU0NjAwIGVmZGNlOGQ4ZGI5OTAwMjhhNDEyZGM3NzE4ZTg0NTMwYWJmMTE4YWIgcDN5aworNTQ2MDEgZjlkZmJiNWQzNWMyZjMyZTYyMGY0ZDQyOGE3YTFjZjVjYTY4MGM4MiBwM3lrCis1NDYwMiBiODk3Yjc3YTAwNGY3YTU4ZDg2NzIwZTkyNTIzMjE5YWVmMDNmNDUzIHAzeWsKKzU0NjAzIDM5ZTQzODZkNzFmNjUyNWFiNjU0MDc4MzczYTQ1NjdmYTI5ODBlZGYgbGVnYWN5LXRydW5rCis1NDYwNCBmNTdlOGUzMjU0NzVlYzUwNjYzOGIwNDY1MzBlOTM1NDk1ZGRjY2RmIGxlZ2FjeS10cnVuaworNTQ2MDUgNWE4Y2E5ZGQ4OWRiMzQ3Y2ZlMjg3ZmU1ZDkzZTA2ZjZmNzIxYTM2ZSBsZWdhY3ktdHJ1bmsKKzU0NjA2IGUzMzQ5ZDQxMjY4MWVlNmYwZjQxODJiMWVmZWNkMDViY2Q5NzJlZWQgbGVnYWN5LXRydW5rCis1NDYwNyBmYTIxODFiZDI3MDQ5YmQ4ZmEzYzkxMjQyNDRmOWRiYzhjNmJlYzU1IHJlbGVhc2UyNS1tYWludAorNTQ2MDggM2ZkOGYwNjU3N2ZmZjlhNTEwNzIwYTk4Y2UyYzI3NjA2NWEwMjMzMSBsZWdhY3ktdHJ1bmsKKzU0NjA5IDUxOWU3MmQ2MzBkMjA4NzM4OTZlNmU0ZDY3YTFhODcxNzBmNTA5NWYgcDN5aworNTQ2MTAgODhjMmFjNTkwNDQxYzJlNTNjYzYwNjc5NGNmNDgxMjcwNDJmMzkwZCBwM3lrCis1NDYxMyBjY2RjNWIzYjliMTE3YWM5ZGFiNGVkYTA4OWRmNGRhM2E3NmNjMTJjIGxlZ2FjeS10cnVuaworNTQ2MTQgMzc4YjJmNDdlODA4ZjcxMzExYTA2YWUxNGRmY2RiNGQ2OGY2OTFjYSBsZWdhY3ktdHJ1bmsKKzU0NjE1IDZmOWU2OTNkNzZhMTg0ODQ4YTRmYzJkOTY4NDQyZWJlNDg1YWZhYWYgbGVnYWN5LXRydW5rCis1NDYxNyA4ZTNjN2E1YWNiY2RmMDAxNDdmMjNiYTIwYjMyNGVhNjFiNzk1NzMwIGxlZ2FjeS10cnVuaworNTQ2MTggODNlMWIwNjExNzE0NmM2ZGY4N2IxYTBhMTFmM2E4NDMxYTlhNTUzYyBsZWdhY3ktdHJ1bmsKKzU0NjE5IDRlNjBlM2E2MGY1MDRjYjNjMWJkMzhiNjFkMDhiZjUwMTU3ZGE3MWIgbGVnYWN5LXRydW5rCis1NDYyMCBhNTA3NWE1MjczZGY3OGQ0YjE5Nzg0NDcyODFmMmVhY2U0MGM1ZDYyIGxlZ2FjeS10cnVuaworNTQ2MjEgY2RiMjU3OThjZjBiYTA1YTRkZDViYThlZjIwOWM3ZmIyNGJhOTJjNCBhbWstbWFpbGJveAorNTQ2MjIgNTg0MjdlMWU1MWJkYzYwNjg5ZmQ0OGQ3YTgxYjkzYzhiNWRlYmFjMSByZWxlYXNlMjUtbWFpbnQKKzU0NjIzIGRjNmU5Zjc5Y2M0YWZiZmM2ODA0YTZjYzA4ZDhlZDc5NjIwMDYxYmUgbGVnYWN5LXRydW5rCis1NDYyNCA1MDI2MzIzZDk5Mjg4MzM0NjM1ODk5MTU0N2RlZmJhNjY2NDI5ZGEzIGxlZ2FjeS10cnVuaworNTQ2MjUgNTVlY2MzYTQ1Njg2NjM4NzJhNzk1MzdhNmZiNWQ5ZDc3YzNhZDIxNSBsZWdhY3ktdHJ1bmsKKzU0NjI5IGMxZjY3ZTFlZWU1OGI2MTkzMTI3OTA2MTUzZThmYzk5ZjEyNDNlZTggbGVnYWN5LXRydW5rCis1NDYzMCAzOGE4NjExODFmZGQ1OGMzNWQ5ZTM4NDMxZjk0MGE5ZGMwN2QyM2JmIGxlZ2FjeS10cnVuaworNTQ2MzEgNDFkYjNmMzBhM2Y5ZjBkMWMxMWM2MTBkMmYxYWE1OGM3YjQxNjVlYyBsZWdhY3ktdHJ1bmsKKzU0NjMyIGRiOWVhZGMwNzgyNjQyMzYxYmY0NjM3ODNhOTY2OTdjNWNkMDVmMGYgbGVnYWN5LXRydW5rCis1NDYzMyBmODY1NTdlNTAzZjNhN2QxM2VhZmNhZGYwMDY2M2MxZjE1NThjNGViIGxlZ2FjeS10cnVuaworNTQ2MzQgOTM0Nzg3NDQxMDM4NzlhODViNDMxYjIzOTMyNDVhNjYyOTBhNjczMiBsZWdhY3ktdHJ1bmsKKzU0NjM1IGMyYmYzZDY0NmVmZmEyYjMyOTAwZjUzM2E5ZDc5YzQzOGFkYjY4YTEgcmVsZWFzZTI1LW1haW50Cis1NDYzNiAyY2U4ZTgwNTM5Y2Y3OTE2M2JkYWEwNjU1YTRkNWUwZGJjYjQ5NDU4IHJlbGVhc2UyNS1tYWludAorNTQ2MzcgZmM3ZmJjZjJhZTUxNzdhZmRmMjU3Y2RhNjNhZDQyODIyYThlZjhkMSBsZWdhY3ktdHJ1bmsKKzU0NjQxIGYyMTliYjdlNzRjOTIxNzJhOGE5YjM0MGJlNWU1NjdkMWZmZTI4OTUgcmVsZWFzZTI1LW1haW50Cis1NDY0NCA3ZGVlN2Y3ZDI5ZjA4YzllODAzN2JhMzBlMjcwZjRiZTRlZGI0OGEyIGxlZ2FjeS10cnVuaworNTQ2NDUgMjIxMTk0MjQ5ZmE4NmUzYzVkMTMxNmIxYjY5ODNlZTRkMzRmNGEyNCByZWxlYXNlMjUtbWFpbnQKKzU0NjQ2IGI1Yjc1MGNmODVjMjA5NTZlNmJlNmZjNzI1M2I4YTIwNzJmZjZmMjkgbGVnYWN5LXRydW5rCis1NDY0NyA2OTZhNjY2ZGZlNjE0MTY5ZTY1N2JmNDgwMjVlYTI5ZTk4Yzg4MDIxIGxlZ2FjeS10cnVuaworNTQ2NDkgZWE2ZjJjNWQyNzQ5MmYyYzU1YjU5NzczMDgyNTFhMTk2NmJjNGFmMyBsZWdhY3ktdHJ1bmsKKzU0NjUwIGU5NWQyYmNmZWI0NjMxZTYzMmEwM2Y0NDA1MDlkZWNlZmFmZTNhY2MgbGVnYWN5LXRydW5rCis1NDY1MSBhY2RiNGYzYzNkNjMyMmEzYTk3YjkwMTBhMmQzYzU3NTk5ODQ4MGM4IGxlZ2FjeS10cnVuaworNTQ2NTIgMWE1ZGEwNzhjNDM1ZjJmNzU1ODAwNWJkMDNmZTJjMzc5ODIyY2I4NiBsZWdhY3ktdHJ1bmsKKzU0NjUzIDkwYzRjM2YwNDIwNTZhZmJlZGJlNDQ2MGE5ZGM5MGU0MmM5Y2ZkNzYgbGVnYWN5LXRydW5rCis1NDY1NCAzNWJkYzYxYWM4ZWFkZTlmMmJmMDRlYjk0OTI1MzYyZTdhNzEyYzAxIGxlZ2FjeS10cnVuaworNTQ2NTUgNDdkMDVmMWFlYmRkZmJkYzJlMDBkYzg1ZTUyY2NkNTJhNzAxZjNiMSBsZWdhY3ktdHJ1bmsKKzU0NjU3IDgxZTU4ZjAxMDFkYjdhMTIxNGU5MTA1NTA3MmY4YWMyZmQxMDRiZjEgcmVsZWFzZTI1LW1haW50Cis1NDY1OCBmNzY0YTc1NTIxNjJlZmMzMDkzOGI3ZWQ4OGU1MWFjZGMzMWJjYTdhIGxlZ2FjeS10cnVuaworNTQ2NjAgMTJmZjIwOTQ4YTAyMjU3MzdjNTI0ZGRhNzIyNWZhYzM3MWIzNTc4MSBhbWstbWFpbGJveAorNTQ2NjEgNjc2MGYzOGU5ZWQ2NzYxYmRmNjhhYTkxMDA0ODhkYzBlY2E5NjEzMiBhbWstbWFpbGJveAorNTQ2NjIgNmEzZGQxYzRhN2RmMDE0MTU1NDFhZDkzYmNhOTZmNzNhYzI2YzMwZSByZWxlYXNlMjUtbWFpbnQKKzU0NjYzIDRhMDM4NjBhZTA4YjU3MDdkZWY4YzE2OGY3MWVmOWFlYTY5NjFkNDIgbGVnYWN5LXRydW5rCis1NDY2NCBlZjVkM2U1MzkzODQ3MjIwNWNlZWZlNDBhYmJjMWM0MDRhYzM1YmI3IGxlZ2FjeS10cnVuaworNTQ2NjUgOTliZjE0NTU1OGQzNWIyNTU5YzhlNzcyZTcxYjMyNzUxOTExNGMwMSByZWxlYXNlMjUtbWFpbnQKKzU0NjY2IDQ4ZDhkNWQzMTdhZWUzYWEyY2M2NjQ4ZWNkZTYxZDQwNjk1YTcxNDMgbGVnYWN5LXRydW5rCis1NDY2NyAzNDNlZWYzNDI3NzczYmUwOTAyMzIwZjNkYjkxMzU2ZWI1MWYyNWU4IHJlbGVhc2UyNS1tYWludAorNTQ2NjggZTY4NWJmYTZiNGVhYjg3NTAyNGQ0MjE3NWJkNTQwODNmOTBhNjZkMSBsZWdhY3ktdHJ1bmsKKzU0NjY5IGY3MWZlZWM3ZDU0Nzg5Zjk0YTNlZTk5ZGY5ZTM3OWZkNTQ2ZjU1NTggbGVnYWN5LXRydW5rCis1NDY3MCA4OTBiYjkwMDBjZTU1NTMzZmE2ZjU1NzMzZmI2MGFhZTJhODEwYjBiIHJlbGVhc2UyNS1tYWludAorNTQ2NzEgMjJhMTY3YzQ2NzhjMmE4NWVmN2JhNmRkOTg0OGM0NzhhN2VjM2QwMyBsZWdhY3ktdHJ1bmsKKzU0NjcyIDg1MTEyZGQ1MDA1OTVlZTIzM2RmNTMzNmNhNjIxOWJiYTQ2OTFkNjIgbGVnYWN5LXRydW5rCis1NDY3MyBjZmFjNjRhMDJhM2Q4M2UxNjM0NDRhMWRjY2UyNzM2M2EwOWU0NmVhIGxlZ2FjeS10cnVuaworNTQ2NzQgYzczODE4MDQ0NDdiYzNkNDE0YjBmOTMzYzQwYTRlNDYzNzk4NzRjNCBsZWdhY3ktdHJ1bmsKKzU0Njc1IGFjMjU1YTQyZWMwZTFhOTE0MzJmYWRjMWE5Y2RkN2ZkMzU5MzE2Y2MgbGVnYWN5LXRydW5rCis1NDY3NiBkNDFkMWJhMjA5Yzk0MmFlMDcxYTY3NTJiM2I0MTFjMjBiODMwYTQ0IGxlZ2FjeS10cnVuaworNTQ2NzcgY2I2Y2NlNGQ0MjMyYmY0MjhkMjQwZGNjNWVkZTdlZDE4MDE0NzVmZiBsZWdhY3ktdHJ1bmsKKzU0Njc4IGUxYWIyNWZkNWJhZDgxNDU1ZjRjOTRjODRiZTEzNDQzZDQ2YmI3YWQgbGVnYWN5LXRydW5rCis1NDY4MSBkZDdjNjliZDBjNTJhMTM1YjMxMzY3NDM1YTczOTJmMTg5YzQyMzEyIGxlZ2FjeS10cnVuaworNTQ2ODIgZTdmNzhhMzdhZTUwYjBiOWYyOTEzMzhiMWU4YzkxNTZhYzc4ZTAxMiBsZWdhY3ktdHJ1bmsKKzU0NjgzIGI3ZTM3OGU5ZDAyZDU1YzNlOGRiMmNkZjlkYmM4MzZhYTJiYjUxMmIgbGVnYWN5LXRydW5rCis1NDY4NCA1ODZhN2U4Nzc1MDBlMjBlZGRjMjZlNWE3ZmQ1Y2Y5NTAzZGFjNDA0IGxlZ2FjeS10cnVuaworNTQ2ODUgZDhjZDg4ZjkzMDk4MGRlMGY4NmVjYjA1MzRhNGMwMmFiOTI0MGJkOCBsZWdhY3ktdHJ1bmsKKzU0Njg2IGIwMDFiNjU0NzhmYWJlOTgzNjEwODA0YWQ4OTkzOTI1MTdmZmZmMjkgcmVsZWFzZTI1LW1haW50Cis1NDY4NyA0MzI1MDAxODI4NWMyYmIyMTk5MTgyY2MxNGExMGM2YWM4YzI4Y2M1IGxlZ2FjeS10cnVuaworNTQ2ODggNzEyYTE1ZWZjZjE5YjczNjkxMmQzZWFmMDBlYTNiZTY0YWZlZGMwOCBsZWdhY3ktdHJ1bmsKKzU0Njg5IDUxMmY1NmFmYTRhMDUxM2U3MGQ0MDYwNTBjYTg3MjNiYjVjODAxYjYgbGVnYWN5LXRydW5rCis1NDY5MCA0YzdlYmMzOTdkOTQ3YzcxMjZkNzZiZGJhMjBkN2VhM2M0NGYyMzNkIHJlbGVhc2UyNS1tYWludAorNTQ2OTEgODEyMDI3ZjFlZWE1MzVhM2EzMTkxZDdlMGVjZDlhZmFmMjdmMzhjMyByZWxlYXNlMjUtbWFpbnQKKzU0NjkyIDI4YWVjMTM1OGY1OTRlMTRiZjdiZTZkODZiMGRhYjUyNTE1ZmMyZDYgcmVsZWFzZTI1LW1haW50Cis1NDY5MyA0Nzc3YzQwMDdiNWIxOTQ0MjM5NTNkNDFiMWU1ZTZhZGFhYmE2YzVkIHJlbGVhc2UyNS1tYWludAorNTQ2OTQgODE3MGQ0NGRkOTA0ODhkZTAyNzhlNTExYzAzN2RiMzFiMjlkYzVhNiByZWxlYXNlMjUtbWFpbnQKKzU0Njk1IDgwZmY3NWZhMjc1NGViMGY4YjQ1YzA0NzJlNGJmMTE3ZDYxYzFjNDUgbGVnYWN5LXRydW5rCis1NDY5NyA5YTUwZTJiNmI2ODU3NDdmOGY5MDU3NTRjOTI3YzFiODViNmY5YTQyIGxlZ2FjeS10cnVuaworNTQ2OTggZWE2ZmJmNDA0YzM0ZDk2MzFiODMwNzRjYTQxNmNlZWFkN2JhOGVmYSBsZWdhY3ktdHJ1bmsKKzU0Njk5IDU4MWQxMjdlODIyYjcxOTQ2ZTE2NGVjODdiMWExNTY2OTFiZDM1ZWEgbGVnYWN5LXRydW5rCis1NDcwMSA5MTIwMjgxMjQxYjgyY2VjMTAxZWFkY2E1YTY5YjRjNDcxNTFjNTc2IHAzeWsKKzU0NzAyIGJhZDVmODMyODA5ZmMyOTQxOTEzZTQwZmMxOGQ5YjAyZWEwMGMwZWEgcDN5aworNTQ3MDMgNThkNDljYWU4ODdmMmY5YTNkZmJkNzYxMjQxOTE4ZGZhNTFjN2Q2NSBwM3lrCis1NDcwNCAzYjEzOTZiMDEyMzkzODIwMjkwZmMzMDUwOGUxM2UxNDhmNDlhZTE2IGxlZ2FjeS10cnVuaworNTQ3MDUgMjM0ODY5ZGQyNzg0ZWQwZjZmZmJiYWNiMmE1MDk5YWUzMjhmOTViZiBsZWdhY3ktdHJ1bmsKKzU0NzA2IDk0MDhkY2QzY2U4OGZkZjAyZjFiZjg3NDQxN2E3MWIyM2M5NzZmNjUgbGVnYWN5LXRydW5rCis1NDcwNyBjN2I4MzBjODZmNDJiYmQzODFjZmY2MmYxOTJjODU0NDI3MDBmOGI1IGxlZ2FjeS10cnVuaworNTQ3MDggMDIwZmQ2ZGU2NTI1ZGEzNGMwNmIwMWUyZWNmMTcxOTBmMmY4NTZmZCBwM3lrCis1NDcwOSBjNTY2MDA1NWI0MjVkZGJhYWQ2ZmE0Yjc5NDhlZDE3MGVjMDYyY2Y2IHAzeWsKKzU0NzEwIGQ4YjE0OTk0ZDg3MGI2OGU0ZDBiNzU5ZGYxMjM2YzhmODNiNWNhZjYgcDN5aworNTQ3MTEgODBmNWVlMjFlNTQ1NTg3ZGQ1MGJlZjNjZWYwYjMyODU4NGRjMzY3NyBsZWdhY3ktdHJ1bmsKKzU0NzEyIGNjMDBiY2U2YzU5ZDM3YTM3ODQ5MzA3NjVlMTg2MTgzNjBmNzMxMmYgbGVnYWN5LXRydW5rCis1NDcxNCBiOTEyNGMwZWYxN2EzMjE4ZGU0NzNjNDZiNzhlNjZjZGRkOThlYmFjIHAzeWsKKzU0NzE1IGFmNTExZDI0NDYzNjkzY2Y0NDBkMTFjODg2MzliYmFkZmNkOWY5MTEgcDN5aworNTQ3MTcgZTI5ZmE0YTFjYmQ5MzFiM2ZlYTcyNTM0MGVjNjc3ODIxMTdkOWE1ZCBwM3lrCis1NDcxOCBhNTcwN2JmNGY2ZDE0MzM5MmVmYjYxYzhjNDk4MDllYWMyNmE0OTlkIHAzeWsKKzU0NzE5IDMzOTAxNWQ5OGI3ODY0MjI1NzdhZmY0YjU1NTUzZDAwZTk1N2RkOTcgcDN5aworNTQ3MjAgNTIyYjNmMzVkMGViN2RiYjYzNzUzMmRhNzdmODVlMTZiZjVjMDU0OCBwM3lrCis1NDcyNiA0ZDUwZmFkOTU3NjgyMDYyZjQ0OTc1MTQwZGY5NGI2NmJlMGVmOWNjIGxlZ2FjeS10cnVuaworNTQ3MjcgNjU3M2VjMWU1ZGMwY2RmZjRhYjIwNmY3Yjk5NTg2MmFjM2ZlMWE3NiBsZWdhY3ktdHJ1bmsKKzU0NzI4IGY0MzkxYWJlNWIwMjM0NWYyMTU2YmM0MzU3ZTU5MzMxMmMwYTJmOTYgcDN5aworNTQ3MjkgODU0Mzk5Mjk3Zjk1N2U4NTI1MTJmYTU4ZTViNGI3YTg1ODlhYTllYSBsZWdhY3ktdHJ1bmsKKzU0NzMwIDY3ZjkwMGQyZjJlNjIxNGVjODExYzI1NzdmMDZlZmNmZTg5M2VjNTkgbGVnYWN5LXRydW5rCis1NDczMiBhZTRjZWQyOGE4MzkwMmJiMjFlOWYzMmU1MjY1NTc5OTUwNzk1MmM4IGxlZ2FjeS10cnVuaworNTQ3MzMgNGY3NzAxNjI1NGJjODRiZjUxZmUyNTA3YmFmZjJmNjUzNDVmNzkwMCBwM3lrCis1NDczNyBjOTBkNzVhNWUxOTExNGJjN2FhZWMyYTZjYWVmYjQ0YjU4NDM3MzNkIHAzeWsKKzU0NzM4IGQ0MTA4YWNhODc2NDI3YTlhYmE1ZWI5OWQzMmNjMzJjNDU3MDZmYjggcDN5aworNTQ3NDAgYmEzMWU3MTIxMGQ0NjlkMzM2MTc4NmY4NDczNmQ4MTczMzAwYzZkZiBwM3lrCis1NDc0MSBlN2Q5NzkxMDE0MzA4YTg3NTE5YTkzOWIzYjk1MGNiODgxYzViNjY2IGxlZ2FjeS10cnVuaworNTQ3NDIgN2M2OTcyZjM3ZmUzNTMyMGNjMWZiY2JjMmY1ODNiN2ZkNDUyMGI1OCBwM3lrCis1NDc0NCAwNDg2ZGVhYWFkZTNlNDBlODZhYTVlMzE4ZTYzMTYyYTA0ZjhhYThiIHAzeWsKKzU0NzQ1IDQ1NjFmNmRhM2I3ZDM5NDc4NjhmNTUxZmJjN2VkZWU5OGU2YzY4MTkgcDN5aworNTQ3NDYgNDAxMTBkMDZlODJhZTIzYjY3OTNlNmNkMjI5YzlhOTkxNzhiNDQ1OCBsZWdhY3ktdHJ1bmsKKzU0NzQ3IDE1ZjM0YWQ0NjgxYjg4NTQ1YTM3NmE1ZWVlNmYzNzZjMGU3ZGY4N2MgbGVnYWN5LXRydW5rCis1NDc0OCA3M2MwMTY2OTZhODJmODRiZWM3YzVkMDJmMmRjZTY4MDRjMDFiMzk3IGxlZ2FjeS10cnVuaworNTQ3NDkgMjZjYmNkNzlhMTUzMTAxNTY1MDNlNDk5YjI4MTgwN2IzYTNjMmU3OCByZWxlYXNlMjUtbWFpbnQKKzU0NzUwIDI4YmM3ZWQyNjU3NDczMDVhNTI2MTI0N2U1YTIwMDJmOWZmMTA1MTMgcDN5aworNTQ3NTQgOTgxYTMxZmYxOTY2ZGYzMjU5MzQ5ZDFlZDc2YjA1ZDFmY2UwYjdhYSBwM3lrCis1NDc1NSAwMGQ5ZjUwYmRjMzFhYTk0Y2IxNWEyNjcwMmM2ODFjNDIwNmRhNGM2IHAzeWsKKzU0NzU2IGYzOTA3OTNlNzVkZWMzZDk3YTgxZjAxYjYwMzIwMWYzN2Q2OWFmZmEgcDN5aworNTQ3NTcgNDZkMGY0MDU3NzA1YjA5N2U5YTE3MDg3MWZkMDFhNWI2MjExZGQwNiBsZWdhY3ktdHJ1bmsKKzU0NzYwIDBkZmEyYTU2NDA3NjBlNjg4ZjU0N2M0YTRjMGNhYzVjNGZmM2IwMWMgbGVnYWN5LXRydW5rCis1NDc2MSAzNjY3ZDFhOGM5MTZmMWEzZGM4MWE5MDNlMGNkYmY4MzI2YTY3YWJhIHAzeWsKKzU0NzYyIGEwMWNiM2RmMzhkZGYzNDc0MWIyNDgyZGE3M2Q5OTdlZGQyMTA4NGMgbGVnYWN5LXRydW5rCis1NDc2MyBjNGY0MDNmNDUwZWRhNjVlOWEyMTZjNzA5YTM5MmYwOTQwZTA0MGEyIGxlZ2FjeS10cnVuaworNTQ3NzIgY2VkYzhkN2QxYzdmZWI1MmIyNmZlYmVkOWVjYzc5YzI3NTU1NjE0MCBsZWdhY3ktdHJ1bmsKKzU0Nzc0IDg2YzQ2ZGM2YTc3NGFlOTc0NWE1MDQ4ZTQ0MjhmODBhZTE3N2YxMzEgcDN5aworNTQ3NzcgNjVjYjZiMWZhMzk1MWYzNDUwODBkMWM4MmFiNzM3Yjc5YTc0YjdmYyBwM3lrCis1NDc4NCBjMzRkNzA1Yjg4NGU0ZTlmMDczMzc5YjUxZmUwYWNhMmU1ZmVhNWM5IGxlZ2FjeS10cnVuaworNTQ3ODUgYzBjNDQwN2QzNTMxYzZiYWY1NGNjMDg1OTQ0ZGZlZWNjZjdiOTA2MyBsZWdhY3ktdHJ1bmsKKzU0Nzg2IDg0NDczMTRmNTAwYTk3Y2M1NWM0ZmQ4NDY5YWJmYWM5ZmQxMDMxYjUgbGVnYWN5LXRydW5rCis1NDc4NyA5NTNiZGVmZDgxZmY1NTZhZTYyMWQ3ZmY4NmQxMTgzMjkyNGQ1MjVkIHAzeWsKKzU0Nzg4IDM1Njk1ODdiZWYwNjVlYjkwM2NjYzhiMzYyMjdmZTI4ZDM3YTM2NjUgcDN5aworNTQ3OTcgNDU4YzhkYjJlOTQ2MTZhMmFmMzNjNDc3MDM3MTJjOWE4NjI5Zjg2MCBwM3lrCis1NDc5OCAwYTM4OWI0N2YxMjllOGY2ZDA2ZWJiOGQxMmRjZWYzODE4NjgxNGJlIHAzeWsKKzU0Nzk5IGQxYzNkZDE4NGUzODgyYjk5NDQyNzQzNmViZWFhNDgwOWVkMzZmZGUgcDN5aworNTQ4MDAgZTJkN2E0YzM5MzYwYThmMWMxMzdiMDhhNTFhNDZkZDk2NmJiZTAyOSBwM3lrCis1NDgwMSAzYzMzOWRlODAwMTA1NmI2ZDJhMDc0YTI0MDk4MzFhOGE2NzhlMTIyIHAzeWsKKzU0ODAyIDM1ZjlmZmM2YjUxMGY4ZjljNjZjNjYyY2ZiMjI4ZDZlZTAzNTIwNzUgcDN5aworNTQ4MDUgYjgyMmZiZDg1YWZlYjNiN2FiMjQ3NzQ3NjU5MGRjNDJiOTcyNzEyNCByZWxlYXNlMjUtbWFpbnQKKzU0ODA2IDVkZmQyZjRiYzgzNGI2ODMzM2M1ZjE5NmUwMTA4MjMzNTU1MTk0NTAgcDN5aworNTQ4MDcgNTM0ZTRjNzA3ZTkxZTZiZGE4Y2QzMjU4NTNmOTYxMDI1YjY5MGZlYiBsZWdhY3ktdHJ1bmsKKzU0ODA4IGJhYjljMzgxNzA5MjZiMzc2YjE1MDBiY2NlMDMzNWFiZTY5M2UyZDIgcDN5aworNTQ4MTIgMGQxZTQxNWVjMzZjY2QzNjllNDA2ZDFkYmJlOTcxNDQwNDIxZmI4YiBsZWdhY3ktdHJ1bmsKKzU0ODEzIDgyZjI3OTFiN2MwMjIxNjRhZjJkODIzYjg1YmMzZjQwNmMyMzQ0YTcgcmVsZWFzZTI1LW1haW50Cis1NDgxNCBlYTNjYTQ5NWYzMjExZDNiMWU4NWY2MDQwZGIyMmJmZGY4MzBiNGY2IGxlZ2FjeS10cnVuaworNTQ4MTUgZWQ4MjAyMzlmODc4NzYwNmNmYjg0MDhiOTRiNDI2NzA0MTMxNjNmYSByZWxlYXNlMjUtbWFpbnQKKzU0ODE2IDg0MjM3NzIwOTdjNzRhNmNjMGFkZWQ4N2ZmZTUzMmI0NmYzNGYzODMgbGVnYWN5LXRydW5rCis1NDgyNSA1ZjhhODdmYjRkZjMzMmQ5ZjliM2U3NGJlNGJiOWNlMTRlOWFlNTFhIGxlZ2FjeS10cnVuaworNTQ4MzUgMDYwYzc5ZjZkOTE5NjdmZWQzYzI3OTVjOGRhMDkxZTQ0ZTJmMjI4OCBwM3lrCis1NDgzNiBkNjdiNWQ5NTNiNDUyM2IyOGJiNjFjYzA2YTIzOTU2YjM4MTg5Y2NjIHJlbGVhc2UyNS1tYWludAorNTQ4MzcgYmM3NWM1MjNiOWQ4MTcxNjRlN2YxZDQ0ZWMzYWUzZTYxYWUwNzhlMyByZWxlYXNlMjUtbWFpbnQKKzU0ODM4IDU2MjNlMjMzZTljY2ZkNDdiZTM5Njc4ZTExNzc5M2EyNzIwYzFmMDYgcmVsZWFzZTI1LW1haW50Cis1NDgzOSA0NTc5YTI3NGZkNmUyYTU5ZWY2ZmI0M2MxYzk3OTlhNmRjMGU4YTBhIHJlbGVhc2UyNS1tYWludAorNTQ4NDAgMmZlOTFkMjAxYjA1MjJjMWMzMTc1NWFkMjZkZWI2ZDg3ZDVjMWQ3MyByZWxlYXNlMjUtbWFpbnQKKzU0ODQxIDMxYzkyODI4YWVmYjFiMjRlOTAwNTViMTQ5N2UwNmQ5ZWRmYmEyOWYgbGVnYWN5LXRydW5rCis1NDg0MiAzZTVmZGI5M2M5NWE3Y2MyZTlkNzYwMGM2ZDQxNTJiMzQ2N2U3NTZiIHAzeWsKKzU0ODQ0IGNjNzA3ZjFhZTBiNmVlZDNkMzI1NDI3NGNiNWZmYzUxM2U3MjE5ZmUgbGVnYWN5LXRydW5rCis1NDg0NSBhNDk4NTlmNDRjNDMwYzY1NDIwNmM3ZTVjYjQ4ZDAwNTU4NjUxMWM5IHAzeWsKKzU0ODQ2IGI1YTJlNzUzYjY4MjMxYjBkMWMzZDU2NGQ4NDJiOTVkODQwZDUzMDIgcDN5aworNTQ4NDkgZTAxMTY5NjYzNjVlMmI3ZjZkOThmYTQzNmI1MzVhZGZjMDU2ZGZmMyBsZWdhY3ktdHJ1bmsKKzU0ODUwIGMxY2ZkMGFmNWY1NzMyNzE0N2MzMzVkMjdlOWU5YmE4NDdhYmE3MWMgcDN5aworNTQ4NTEgMDkwOTcyYzIwYTQ3MmU5YjJkNWI5YzExMjZiNzE4ZTQ1MjdlMmVmZSBwM3lrCis1NDg1MiBhMzBhZjgzM2QzODliODI4ZGUzMzQ1YmY0MTczNjY5OGVkYjVmZTQwIHAzeWsKKzU0ODUzIDk2NTczOTVjMjVlNThiY2RlZTYxYmZkOTE5NTcwZjM0NzE2YzViNjcgcDN5aworNTQ4NTQgOTkwMjdjMmIzZmQyZGU0OWE5NjdlYmUwMDhkYTU0MjJjYTQ0OGRhNSBwM3lrCis1NDg1NSBiZWEwYTU1OTJkYjNmZGU5N2Y2OWRiMmZjYzE0NTIwZDU1ZGRiOTI5IHAzeWsKKzU0ODU2IGE1ZTQxMDYzOWUyNDg2MzU1ODA3MWNiZDhiYWM0YjQyYWQyMzExYzcgcDN5aworNTQ4NTcgNjFjMjhkNzc4ZTM3OTMyYjM4YWFhMGJkN2QzNDYwYjQxOGYzMzA5ZCByZWxlYXNlMjUtbWFpbnQKKzU0ODYzIDQ5MGQ4YzA5YWJjYjgxNDk1MGJlN2JiN2EyNWMzZmYyMDQ3YzdlYjUgcmVsZWFzZTI1LW1haW50Cis1NDg2NCA0ZTBlODRmOWQxNGUyYjVkMjg2NGIxYjNiMWUxNTJkMjBjMTJjMDVlIHJlbGVhc2UyNS1tYWludAorNTQ4NzMgYzMyYzRiM2RhOTNmZDRiZmY2NDE3ZDY2NDA5OGM0YWEwMGU4YWFlOSBsZWdhY3ktdHJ1bmsKKzU0ODc0IDU4NTI3YjliMjQyYzdkNGJkNTE5ODBkZDVhMTBhMTFhYjZlYmU5NzQgbGVnYWN5LXRydW5rCis1NDg3NSA1YTZkOTAzYWI3YjViYTRlZjBkMWQ5MWQyYzFiMGVkNmIxYWE0ODljIGxlZ2FjeS10cnVuaworNTQ4NzYgZGE0MDNkMmI4ODZhYjU4YmYwZGYxYzExZGM3MWRkYzNkYTU4OTdlNSBsZWdhY3ktdHJ1bmsKKzU0ODg0IDc2ZmQzYjk4ZDAwN2Y2YzQ4Y2FlOTE5YjM5YmRjMTNlODdjYzNlMGIgbGVnYWN5LXRydW5rCis1NDg4NSAxN2U0MzYzZWYyYjUzMGYxYWE5YTBiYzEyODQxOGVlNjNmN2M0NGUwIHJlbGVhc2UyNS1tYWludAorNTQ4ODYgMGY2NzVhNjI5NzcwYWExYzJmYmFkMDAyN2MyNTU5MDdmYjFhYzk4MSBkZWNpbWFsLWJyYW5jaAorNTQ4ODkgMDFlNmQ4NGUzODkyNDUyNDczMjM2ZjIzZWVhZWY3NGVlOTk5MzZhZSByZWxlYXNlMjUtbWFpbnQKKzU0ODkxIDE4Nzk1ZDQ5YjhkMmFjNDBiZGQzODg5MDM0N2I3NDAwYzRmNDU0ODkgZGVjaW1hbC1icmFuY2gKKzU0ODkyIGY0MzY2NGU4YTFmYTRjOWZkYzQ1MGQwNTcyNGU3MmQ5NGVjNDE4MWUgZGVjaW1hbC1icmFuY2gKKzU0ODkzIGJmYjZmMTMzMmZiNGUzM2Q1YzcyNGE2YmJlYWY1NDZhNTA5NjY0ZTQgZGVjaW1hbC1icmFuY2gKKzU0ODk3IGY3NzdkMWRkNGRjZGRhMjU3N2QyZmFmNDJkMTQ2ZmJjNGE5YzljYTIgYmNhbm5vbi1vYmpjYXAKKzU0ODk4IDZiNDY1Y2MwMjViM2Y3NWNiZmJjNmViN2Q0OTE2NTNkYzg4ZTYyMWEgYmNhbm5vbi1vYmpjYXAKKzU0ODk5IDg0YjVhY2VkNTM1NjEzODhmMzExNzM0OTNkOGI5MGQ1YjAzOTY1NzcgYmNhbm5vbi1vYmpjYXAKKzU0OTAwIGFmNzI2ZmI2ODFmYWFhZWI4ODE2NjI0YWM2MTVjZTdkNDk5YTI1ZWQgYmNhbm5vbi1vYmpjYXAKKzU0OTAxIDBiNzA4MzBlZDc0M2ZjY2FkOGVhZGEzNDA0NzllNjFjZTNiZjE1ZDQgYmNhbm5vbi1vYmpjYXAKKzU0OTAyIGJiNjBiOTUzOTgzOTQxZTkyMjY0YjI3ZTFiM2ZhMjU2NzRiZWFkNDIgcmVsZWFzZTI1LW1haW50Cis1NDkwMyA4Y2QwOTMyNzRkNTc4MTBkNmQxNjhhMzNkNzg2YTVkM2M4MmQ2ZDY2IHJlbGVhc2UyNS1tYWludAorNTQ5MDQgMWNjNmJmMjM0OWU0ZTFlMDNjZDA3NWQ2YjliODhjOTUyZjJmNTBiZiByZWxlYXNlMjUtbWFpbnQKKzU0OTA1IDlhOGMzZDlmNDA1YThhNWZjNjdkMTdmZmQzNzFmYjFhMzMyM2MzODIgcmVsZWFzZTI1LW1haW50Cis1NDkwNiA2YzZjOGE4YWZiMzgxZThhYTQ0NWQ4YmY3NzAwNDcxYWNjYzhjNTY5IHJlbGVhc2UyNS1tYWludAorNTQ5MDcgNWE0NjE5MjE0MDQzZDAxNjYzMmVlODQyZTA4ZDU4ODNjNjc5YTAyOCByZWxlYXNlMjUtbWFpbnQKKzU0OTA4IGFhM2M3YmE1M2Y5ZDJmNDY5NmUwZWYyMjBkZDMyMzAwNmE3N2Y4ZTMgcmVsZWFzZTI1LW1haW50Cis1NDkwOSAwYTZlNTM3YjhkOTZiMzY3YTk0NGY2NDFlZmYyOTZhOWM3NmNjNTAyIHJlbGVhc2UyNS1tYWludAorNTQ5MTAgMGM1MDE5YWZjNTViNWUyYWVjZDhkMWQ2N2I2OTI3OTBlMGIzYWZkOSBwM3lrCis1NDkxNyAxZTI4YzY4YjRlNDNmYjJmOTU2ZDg4MmIwMDM1ZGE0M2YzNGJjZDU2IHAzeWsKKzU0OTE4IDI4MDRlNDg4NjFiYTYyN2Y0ODhkZTU2NmRmMTNiOGY5YjhmNWZkNTkgbGVnYWN5LXRydW5rCis1NDkxOSA0NTYzOGIzN2I4MmM4MTM4ZTVkNjZmNWQ5YzUwMWQzNjEwMzJiMDVlIHJlbGVhc2UyNS1tYWludAorNTQ5MjAgM2NjYjRjMTQzZDNiOGIyNTNlZjAxNGVhY2UxZmJlMTEyYjc2OTMyZSBsZWdhY3ktdHJ1bmsKKzU0OTIyIDNjMjY3MDkyZjEzMWU1YWI3NmU1N2U1ZjViOTFhMjlkZDFhYmZlMGQgcmVsZWFzZTI1LW1haW50Cis1NDkyNCBmNTUyNmQyZWI2NTQ3YjFkOGNhYmNjYTM5YWRlMjlmZTE1OTJlYzhjIHJlbGVhc2UyNS1tYWludAorNTQ5MjUgNTVkNzYxYWNkY2JjZDQxMmQ5ZWYxNGFjZjE5NzliOTc1MzBmOGEyMSBwM3lrCis1NDkyNiAyNmRmNTY2ZjgwZjBkZDc4ZmM0NTBmY2NlZWJmMzEwNGQ1OWQwNTYxIHAzeWsKKzU0OTI3IDgxMGQzMzNhNzNhMTBkZGUwZjYwM2Y1ZmFmYjUyYWM1YWRhMGQwMGIgbGVnYWN5LXRydW5rCis1NDkyOSAzYzEyMDVjYTQ0MmI2YmM4NzYwY2Q4ZGQ2MjJkN2E4NTllNmE0YjRmIGxlZ2FjeS10cnVuaworNTQ5MzAgZmQwZmJmZmQ2ZDUwZjc4NWNmZDYwOTlmZGQ0MDA1N2E1ZmQ3MTQ2NiByZWxlYXNlMjUtbWFpbnQKKzU0OTMxIDA5ZGRiYWRlNjVmZWRhMzkwMmNkY2U3YWM2YjY2ZmJmMjkyNGUxNmYgbGVnYWN5LXRydW5rCis1NDkzMiA5MWYzMTIxNzZlYWYzNzhmMDc4NWE3ZjNhOTkzYWJmMDY3ZjM2NWIyIGxlZ2FjeS10cnVuaworNTQ5MzMgZjQ0NjE5MzhmNTBlMzViZTM4NjY0ZjhiMWU1NDQ1MmY2NTE3ZGI5MiByZWxlYXNlMjUtbWFpbnQKKzU0OTM0IDJmODc2YTVmZmEwZDNkNGYyYzVmYmViMGU2ZTM5ZDM4NTUwOWUwNmYgbGVnYWN5LXRydW5rCis1NDkzNSBkMzZhMzYxYzA1ZmQwMjdkM2I3ODEwNmI4YTUzYzQxMGU2MzFkOGQ5IHJlbGVhc2UyNS1tYWludAorNTQ5MzggZjU4YzBkMTFhNzVjMzE1Mzk2ZDgxMDhlOGM4MGM5ZDAyMWZiOTVjZSBsZWdhY3ktdHJ1bmsKKzU0OTM5IDhkNTAxOGQ3NTA4YTJhN2IzYTZiMTg3YTQ4OTNlZmJjNjVlODA4MTggbGVnYWN5LXRydW5rCis1NDk0MCBkMDVkOTg2NGI2M2M3OWVjNjFmYTM5NjZmZmYzYjdiNWVjNGY5ZjA1IHJlbGVhc2UyNS1tYWludAorNTQ5NDEgN2VhNTk0OTcxNGFkMTViODZlMDdlYjU3YmZlZmU5OTllMTM2ZDNkMiBsZWdhY3ktdHJ1bmsKKzU0OTQyIGFiZmE3MDU1YjhmMzA5YjI1MDVhNzI1MzdlZDcwODdiNWMxNWMyNWQgcmVsZWFzZTI1LW1haW50Cis1NDk0MyA3ZTk5YWY4NjljOTE3NmRiNDY4MWFiYjM1NGE4ZTFmMGJhOGI5ZGY3IHJlbGVhc2UyNS1tYWludAorNTQ5NDQgNTE5ZjIzMTM0NTNiNzFiZDgyNTFkZGVhZWJjOGNjZGY4MDRmNmVmMSBsZWdhY3ktdHJ1bmsKKzU0OTQ1IGI2ODI3MjQ0OWRmNGIwMzExYmQ3MGM5NGEyN2E0NzM1MzZhMzU1YjUgbGVnYWN5LXRydW5rCis1NDk0NyA3MDhjOGM1ZmMxNzMyMzZhY2QyOGMwOGQ5ZjQ1NzVlN2ExNGY3NmUyIGxlZ2FjeS10cnVuaworNTQ5NDggMWJiMWZhN2ZkMTc0MWIzN2IxZTc4OWEzNzM1ODQxNzc5ZGI1YjhkNiBsZWdhY3ktdHJ1bmsKKzU0OTQ5IDQ3YWViMjQ4ODJiZDc5ZDVhZmI4OWQ3ZTA3NjQ5ODQ1YWQ3NGIxZjQgbGVnYWN5LXRydW5rCis1NDk1MCAzZWU4NDk3NDZjMWJmNWI1MzAwYWExOWM5MjJlODIxNTY5M2U1Mjk2IHJlbGVhc2UyNS1tYWludAorNTQ5NTEgMzc5N2I5ODA5MmNlYTJkYThmZGE2OTJiZDAzZTgzNWY0YjJjYzYyYiBsZWdhY3ktdHJ1bmsKKzU0OTUyIGNhNDg5ODA0YWUyMDEwNjNkNDJlMjJjYjRmMDU1YjQ4NzkwNTVlMDEgcmVsZWFzZTI1LW1haW50Cis1NDk1MyA0YjlmYTgwOTJlODI3MTAzYmNkMWIxYjJmNWY5Njc2Y2VkNDBhODE5IGxlZ2FjeS10cnVuaworNTQ5NTQgN2RlZDc4N2U2MzExNmNjOWMyNmI2OTVjYWNjOTZlOTJjYTA0ZTJmOCByZWxlYXNlMjUtbWFpbnQKKzU0OTU2IDZjNGQ3Njc4YWY1ZTJkMTkzN2ZjOGZiMTY3ZjQxYTIxMDYxYzZlOTMgbGVnYWN5LXRydW5rCis1NDk1NyAxMDAyZjQyZTEwY2RmMmQyYmI1ZTgxZmI3Y2NkYzc5M2IxZjgzODJkIGxlZ2FjeS10cnVuaworNTQ5NTggNzFiNWMxZTJjMDljMjIxZjExMzMzN2VjODFjOGM4ODVlZWYyYWVkYyBsZWdhY3ktdHJ1bmsKKzU0OTU5IDAxOTkwNGM2NDcxN2M4Njg3MzhhOGRiYWQ3YmJlNzM5Mzg4NzJhYjIgbGVnYWN5LXRydW5rCis1NDk2MCAxZjFmYjgxODg4YWUyOGU1ZGI1ZDkzN2I5NzIzZTQ2YjIzYjExOTY3IGxlZ2FjeS10cnVuaworNTQ5NjEgNzYxY2UzOTQ2Yjg2ZWI4MzYzMTE1MGVlNGMwNzU4MDI5MTA3YWQ1ZCBsZWdhY3ktdHJ1bmsKKzU0OTYyIDNmNDNlYmZhOTJkY2YyM2Q1NjRiMDdhZmFjNTJkMDRmM2VhNjZmNWQgcmVsZWFzZTI1LW1haW50Cis1NDk2OSAwZjI5YTFhMDk3MmNkZmE0M2VjZDI0NWZjZTQ5NGU3NWYwMzk0NjIyIGxlZ2FjeS10cnVuaworNTQ5NzMgZTYxNmZhMTMwYzJmY2MzZDA1M2NiZTA3ZTk0NmQxOWI5ODQ1ZmVhMyBkZWNpbWFsLWJyYW5jaAorNTQ5NzQgMDczZDY4YzI5MDQ5MzgzYjBmYzNmNTY5NjEzNGI1MjkzZjk0OWQyZiBsZWdhY3ktdHJ1bmsKKzU0OTc5IGI2ZThhZGVjMDU0YzdkN2NjZDNiZWE2ZDI5OTQ2NDcxOGQwMTc3YjkgbGVnYWN5LXRydW5rCis1NDk4MCAwMGJmMTQ3NjAxZTQ4ZDE1ZmU5NDIxMDE5MmI1Y2Y5YzI5NjFlNmQxIHAzeWsKKzU0OTgxIGY3NjYzYzY3MzRiYmU0ZTQzMmFlYmY0YmRhOGZhZWY2ZTAwNTdlZmEgcmVsZWFzZTI1LW1haW50Cis1NDk4MiBkOWE0ODdjMmZhOTYxNjAxMDZkYThjNTk0ZjQzNzMxOTUzZDczNmQxIGxlZ2FjeS10cnVuaworNTQ5ODMgNjg3N2I3OGU4MTBkMDI0NTYyOWVlZmZiZGUwOTRmNTZmZGQxOWM4YSBsZWdhY3ktdHJ1bmsKKzU0OTg0IDg5MDVkZjYxNzYxM2UxYzBlOGJmMThkZmVjZDgzZjRmMTc1NTIwYTQgbGVnYWN5LXRydW5rCis1NDk4NSA3Y2MzMTAzMmUyMDYzZmUwNjEzODRmOGVjNWFmM2Y0NzBmMGM5NGM5IGxlZ2FjeS10cnVuaworNTQ5OTUgOTM4YzVhZThkYzMxNGJlMjk4OTNkYmUwYmUzY2U0MjIzMjM4NzZlNSBsZWdhY3ktdHJ1bmsKKzU1MDAxIDEyNjQ5YTczNGJlNjI4M2UwYWJhZGYwYzdkOTdlNDRhNDQwODk5OWYgcmVsZWFzZTI1LW1haW50Cis1NTAwMiBjYzlhZmVkZWQyM2ZjYTE2NzA0MDk2MTgwODQ5YWE1YzU0NjUzOGZiIGxlZ2FjeS10cnVuaworNTUwMDQgYWRmYWJjNTczNjFkMzdjOTk5OWZjMTVlNGJjZDVmYmUzY2I1YTdjYyBwM3lrCis1NTAwNSAwNjE0NWZiYzdhYjkzMTgzNDA0ZmVkNmY4YzYzYWU0MzI1ZjM3ODI0IHAzeWsKKzU1MDA3IDI3MDA4Njk5NGY0ODRlOTYxOTUzMGNiOTk0YTg3MmIxOTZjYmI5YTggcHkzay1zdHJ1bmkKKzU1MDA4IGE2YTQzNmFhZWZkYmVlZWUyODU4ZGU1MGI3ODE0M2FkNmNmMTFlYzEgcmVsZWFzZTI1LW1haW50Cis1NTAxMSA3NmUzNzVhYjc1MjU3NDA2MjY4MTU2YmZjMDYzMGEzYTJmYmQzZjUwIHJlbGVhc2UyNS1tYWludAorNTUwMTMgMjlhZTY2N2YzMjM5NDExNjQ3ODA2YzI3NjVhMTdkMmM1YTMyODk5OCBweTNrLXN0cnVuaQorNTUwMjEgYWQxZDU2YzA3NDIzMzk2ZjFiYjZlZDgzZjQ0Mjk4OWEwYmJmNGEyNyBsZWdhY3ktdHJ1bmsKKzU1MDIyIDUyMTE2MGM5YjM2OWQwNGE5Y2Y5OTk0NTY1ODNjNjE1MDI5MTQ5OWQgcmVsZWFzZTI1LW1haW50Cis1NTAyNCA0ZjgwMWE3NTg5MzZkNDQ2NjQ0MmIxNTEyYzRmMzM1OTA0Y2M4NjQ2IGxlZ2FjeS10cnVuaworNTUwMjUgNmE1NmFlZGJlMjgwOGEzYTZiOTgxMGExNjIxOTc4NzNkNWI5ZWYyMyBsZWdhY3ktdHJ1bmsKKzU1MDI2IDg3M2RmYjUyYzMzNDYwNmEwOWJjMjdlYWVjOTU0MmYwNWQ0ODMwNmIgcmVsZWFzZTI1LW1haW50Cis1NTAyNyA4MmU3OTk4M2NiMGMyOTk4NDg5ZDM4ZTY3MDg1ZjQ0OTQwMWRiZWNkIGxlZ2FjeS10cnVuaworNTUwMzYgYjg2YmQ3N2QzZDQwNDBlM2QxNWQ0NjNkMWE3MDBmZjg0MWIxMWFlYiBsZWdhY3ktdHJ1bmsKKzU1MDM3IGJjN2EwMzc5ZDNiMThlYjNiNDE3M2M0MWM2YTQxMmJmN2ZiYzEwYjMgcmVsZWFzZTI1LW1haW50Cis1NTAzOCA4NmEyMzJlYThiYTQ1ZGNlYmY0ZTNlMWE3YjM0Y2I2NDQzNjdlMjY2IGxlZ2FjeS10cnVuaworNTUwMzkgMDBmZTRiYjAyOTM2NGQ3YTFhZTFlZWNiNjFhMWJmYjllNDk2ZjEyNCByZWxlYXNlMjUtbWFpbnQKKzU1MDQxIDJiMmQ1N2Q2Y2M3ZWI4MDVlNTg1OTdhMzZiNzRiNzIxNjE5MjMyYTYgbGVnYWN5LXRydW5rCis1NTA0MiBkM2RmMzFkNDU0NTcxYmE4NWJiOGE2ZjU4NjZiNTYxN2Y2ZjYwOGUxIGxlZ2FjeS10cnVuaworNTUwNzAgMzc2OWE1MTk2MDM1YTMwNzUwODRjMzg5Yzc3M2MxNTA1ZjA4YTY0NiBsZWdhY3ktdHJ1bmsKKzU1MDcyIGU1MGQ4MmM0MThhNzJmZTQ1MWQ3ZmU4ODIxNzMxZWFjNDQ4MjJiYTcgcmVsZWFzZTI1LW1haW50Cis1NTA3MyBhM2JmNTVhMDNmNjZmN2JiMmM0MzNlMjM4NjJhY2MyNjRjMTk2Y2M1IHJlbGVhc2UyNS1tYWludAorNTUwNzQgMzllOTUzODA1MTg0OTM3ZDRhNmZmYjk2NjAxYTg2NjNiOTg5ZTNkMiByZWxlYXNlMjUtbWFpbnQKKzU1MDc3IGVhYjI5NWQ5M2M4ZTY1MDY5MzBjMjQxNjIwMTZjZTdkOTgyYmNhNzEgcDN5aworNTUwNzkgYmVhY2Y0MGI1OTYwN2E2MmJlOWI2N2M5OGUyYmEwOTUyY2E2ODZmOCBweTNrLXN0cnVuaQorNTUwODAgOTgwZmYwYjFiOTU3ODU1NGRmYjNhNDFhNDU0ZjU0ZjZjYTQzZTcwYSBsZWdhY3ktdHJ1bmsKKzU1MDgxIDNkNzJjMTA5MWU1YTM5YmFlZWI4YTgwODgzMGZhODNlMjUwYzFhOTEgcmVsZWFzZTI1LW1haW50Cis1NTA4MyBiYzZhMGZlMzIzNTE3ZWQ0ODI1ZTdlMmUyYWRhZjlmZTVlY2QzYjAwIGxlZ2FjeS10cnVuaworNTUwODYgZDcwNTY1NDU3ZWFiYjA0ZTgyODQxYTVlMTg3MGFmMGNiNDYyMzA2YSBiY2Fubm9uLW9iamNhcAorNTUwODcgN2E0ZjE3NGRmODQ0MTA5NGQzODYyOGNiYWVmMzk1ZGE5ZTE5NzBlYyBsZWdhY3ktdHJ1bmsKKzU1MDkwIGE2ODQ2N2NjMDZkM2I0YTA1MmZkMmViZTEzZTNkODNmOThhNTlmMGUgbGVnYWN5LXRydW5rCis1NTA5MiBlOWJlZjViNDIwMDE1NTRkYTA4OTBkNzkxM2M4NWU0MjA0NDYzNjhlIGxlZ2FjeS10cnVuaworNTUwOTMgMjVjYzFjZWU1ZTY5MDQxYWQwMGEyN2MyYjlhMzUxN2YyMWQyODllNSBsZWdhY3ktdHJ1bmsKKzU1MDk0IDdiNzRhMTk3NjA5Yjg2MjE4NjA3YThmNTlkNGI1NjZjNTAwYzRlZDIgbGVnYWN5LXRydW5rCis1NTA5NSBjMWY2Zjk4NDhiMTdjYzE4ZTc4YTE2NDg0YzU2NGNlM2EzOGNhNzYyIHJlbGVhc2UyNS1tYWludAorNTUwOTcgODI1ZDk2NjMzOGVhNzAwMDYxYjNmNWY4YmQwYjZlZjQ0OTMzNzkyZCBweTNrLXN0cnVuaQorNTUwOTkgMzY4ZmVkOWFmNzYxNzk5MTE1Nzc0NGEyYzczMDhlNjNiNmE3NGVmYiBweTNrLXN0cnVuaQorNTUxMDAgMTViODEwZTIxZmU5YTkwYjQxNGFhMzc5OWE2NDBjYTVkMTEzYjI2MyBweTNrLXN0cnVuaQorNTUxMDEgOWIwMWRmZDAzYzI5NDljMGM5NjRkMzY2MzA1MTVjNWNjYWJiZDJhYyBsZWdhY3ktdHJ1bmsKKzU1MTAyIDM3ZDgyYmVlN2ExNjE1Y2M1YWZkY2IzMjU0YmRlNDFhYTNjMDQ1OWIgbGVnYWN5LXRydW5rCis1NTEwMyAxYzE3MDViZjM2Yjg4YjdkNDFiNTgzMTMxMzY4MWJjYjRhMTUwMjViIGxlZ2FjeS10cnVuaworNTUxMDQgYTg1ZDcxNTAwOWVjYzFhODBlNTNjNWVhMzVkYmVmMmRkZTQxNTIzMyBweTNrLXN0cnVuaQorNTUxMDUgMWU1YTJhMmIxOGVlZGI4OWNjYTdlODMxZWE3MjY3NmJmYWE4NjQyYiBweTNrLXN0cnVuaQorNTUxMDYgZGM1YTE1NjdhZjk4NGQ1ZTZmY2M4OWNiYWJmYmYyMGE4ZDIyNTgwOCBweTNrLXN0cnVuaQorNTUxMDcgZjZmYTQ3MDhhNGRiNDcxMWY5YzQzNmU0MjBiMDUwNDcxYjYzYzBkNyBsZWdhY3ktdHJ1bmsKKzU1MTA4IDJjNTQ3NjNjNDUwNDIxZDBiZjNjYWI4YTJlZWNmNzhkYThiZjg0NjkgcHkzay1zdHJ1bmkKKzU1MTA5IGNmYjNlMDAyMWIzYmY4ZDMyYmZhZjc2MTdjMmQ4MGJiZTBmNjFjZGUgcHkzay1zdHJ1bmkKKzU1MTEwIGNiM2M5MjA2MmVjNDA1ZTlkODE4NzBlYmFkZjlmMjc5ZGZkOTBjNjggcHkzay1zdHJ1bmkKKzU1MTExIGNhNDQ4YzYwN2IxNDAxY2U4MGI3OGRjNWJkYmZiMjY4YTZlNWNhZWQgcHkzay1zdHJ1bmkKKzU1MTEyIGExNGZmMzcwYjYzZDkzMmI2YTU4MGM4NGRlNTdmZmUxNTg4OGM4OTMgcHkzay1zdHJ1bmkKKzU1MTEzIGFjMTZiZWNlMWU1ZmI3ZjVlNGYyMTFmNzAwZGQwMGI2NzVmYjQ2ZDkgcHkzay1zdHJ1bmkKKzU1MTE0IGIzOWFiY2JiYmJiYTRiNTQyYWI1ZTUyOTI1NjFjNWVlZDRkNTg3YjUgcHkzay1zdHJ1bmkKKzU1MTE1IDFkZTU0OTQ3MTcyMWMzOGEyMjg3YWQzYTk0YWEzNzJhNzY3NTM0MzEgbGVnYWN5LXRydW5rCis1NTExNiA0OTY4NmVkNTZlYzdmZTg3MTdmYmM4ZTI0ZTNjZmMzNWExNjhmNzRmIHB5M2stc3RydW5pCis1NTExNyA1YjhlZjk0YmI4MTBmZDAyN2Q3YzUwZGUxOThmZmIyMjEzYWEwYzcwIGxlZ2FjeS10cnVuaworNTUxMTggMTE2MjUwMmEwOWRhNzZiMWVkODQ5YTFiMDBhNjM5NGY0ZmJhMTAyYSBweTNrLXN0cnVuaQorNTUxMTkgYTNlMzAwMWIzNWJmMGExNWUyZWI1MWRkYWVkNzYxNDc1MGIyZjBjNiBweTNrLXN0cnVuaQorNTUxMjAgN2YzNmY5NmI2Yzc2NTg2ZjgzODIwNDRhOWQwNWUyOGUxOWQwYTdjNyBsZWdhY3ktdHJ1bmsKKzU1MTIxIDA1MmJmMGRlZTZiODU0NzA2NDgwMTgwZjMwM2YzN2FjZDhhMGU0MjAgbGVnYWN5LXRydW5rCis1NTEyMiA5MmVhZDg3YmY5ODQzYzQxZTcxYzc3NjkzYzllMjZiMDMyODEwZTNhIHB5M2stc3RydW5pCis1NTEyMyBlNzhlMWI2MTZjNzJmYzgyY2VmZjYxOTUyZTk3ZjhkYmY0OWVlMjA0IHB5M2stc3RydW5pCis1NTEyNCBhNzMyM2M3MmI1YzcxZjkwM2FjZDJlODk0OTRhMzU1MTc4Mjc1MTIyIGRlY2ltYWwtYnJhbmNoCis1NTEyNSBiZTkwMzliNTc0ZDk3Y2VjOWVmZjMyNmJhZTk4OTVkNDhkYTM4ZTk5IGRlY2ltYWwtYnJhbmNoCis1NTEyNyBjNDhmZTRkYzM0YTkxNDIzMDZmYTg1NjFkMGJhM2UxOGY3NDlhYzlmIHB5M2stc3RydW5pCis1NTEyOSAyMTMxZTAzNzIxZWZkYzlhNzcwOGIzZjMyNGVjYmM3YmRlMmJlOWRjIGxlZ2FjeS10cnVuaworNTUxMzAgNTJiOTlhOTE1ZmFhNWU3OTdkODI4ODMyYWY5MWQ2YzU1MjEzZDMzOCBweTNrLXN0cnVuaQorNTUxMzEgOGI3NDNmNTU1OTYxMDhkYzU3OTE2YWM4OGQ4YTU4ODk3MzQyNDdmNiBsZWdhY3ktdHJ1bmsKKzU1MTMzIDA3OGI0ZjJmZGZjOTQ3NmE3OWEzOTU2OGEzOTY4NTYxOTEzZDVhNDkgZGVjaW1hbC1icmFuY2gKKzU1MTM0IDNiNTdmMGI3ZWRkZmY5MTVlYzg0ZjlhMDUyYmYwNDhmMGM0ZDdmNTQgcHkzay1zdHJ1bmkKKzU1MTM1IDllMWRmYzg1NTg5MDViZGI4NzgwYmVjMTkyYjEyNzZkYTg5NjFjZjQgZGVjaW1hbC1icmFuY2gKKzU1MTM2IGUyYjFkMDIyMmFmZWNmMjUxZDkxZTIzOWQ0ZDExMzU5MDRiY2U3NzUgZGVjaW1hbC1icmFuY2gKKzU1MTM4IGRmNDYwMTFjNTkzNjI1NmZjNDAzNTIwNmY3ODdhYzJiOTczNzg2Y2MgZGVjaW1hbC1icmFuY2gKKzU1MTM5IDg2ODA5NzJlZDhmMDM2ZWJmMjdiMmVlYzlmOGEzZWY2YmM2NjM1MTIgcmVsZWFzZTI1LW1haW50Cis1NTE0MCA2MTU3OTVkNTJiOWZkOThhNGZhMjFjNjQ3ZmFiNDQ3MjZiZDg5NGQ2IGxlZ2FjeS10cnVuaworNTUxNDIgYmU3ZWIzZmQzNzc2NjEzMDcxYjZkM2NhYzM4MDlmYWZmNzRjYTM1ZiBwM3lrCis1NTE0MyAyNjZlMTIzOTRiOTdkMmZiMzM0ZDFlZTdmNTBjM2RlYzBkYzhjOWQyIHAzeWsKKzU1MTQ0IDk0NmZkNTRiNDU3ZjVlNDI2YWQwZTc2MDExY2JkMTkzYzBmOWUwMDcgcmVsZWFzZTI1LW1haW50Cis1NTE0NiA2MWFjZmI4MzE2MzNjOGU3MmQzMzQzOGE5M2IxMTcyZjEzMDA0YTFkIHB5M2stc3RydW5pCis1NTE0NyA2YjdkMTc4MmE1NzQ5OTcwYWJmMDdlODJiMDI3ZjQ1MmQzNGVmZjdlIHB5M2stc3RydW5pCis1NTE0OCA4MzhjYWIzNzkzNzZlN2JmYTAxZmE2YjRiOTEwYzM0ZDMwNTM5NjM5IHB5M2stc3RydW5pCis1NTE0OSAxMDdhYWNiOWM1OTU4ODMxY2IyMDdkMWQ3M2ViNGEwZTk0Y2VlMTQwIHB5M2stc3RydW5pCis1NTE1MCA2YmMxNTZkM2MwMGVjMjUzY2IxYzM4MTJhNTVlMTRmYmU5MzYwNGFhIHB5M2stc3RydW5pCis1NTE1MSBlMjVkY2Q4NzRiODI3OTljZWMzYzc0YmU5NWI1MjgxYjAyY2NiZDhlIHB5M2stc3RydW5pCis1NTE1MiA0NmIwMGM3M2UzMmZmYjUyZmZiMWQzZDZkNTQxYzI1MTM2Y2YzZTdhIHB5M2stc3RydW5pCis1NTE1MyAxNDQwYmJiNjcxNTBhNzAxZmNhMjZhMjhkYzA5YmE5NWUwODQ0YTliIHB5M2stc3RydW5pCis1NTE1NCBlYTVjY2VlNmIyODU0YmUyYTU4YzgzNDE2NjkyYmI4MDI5ZTU4YmI3IGxlZ2FjeS10cnVuaworNTUxNTUgMmQzNzc0MDhhOTg3YmNjN2VkMzhkNjRlZDU1ODZmMjZhYTViNzU3NCByZWxlYXNlMjUtbWFpbnQKKzU1MTU2IDU1NGZmMjcxNDVlMTRhZmVjNjY1MWQzNGFjYzFhNTI0Yjc1ZTk1ZWQgcHkzay1zdHJ1bmkKKzU1MTU4IGYzMjAyZmU3ODU5ODE5YTRhZTZiMjM2Njc2YmI0NGY1NmQyZTcwM2IgbGVnYWN5LXRydW5rCis1NTE2MiA4NzI4Y2QwMTJiZDg3ZTc2NDJiZjYxY2FiNzFkMjliZDM4NDQzMjkyIHAzeWsKKzU1MTYzIGM3OTFhNWUyZTA5ZThmZTFkN2U5ODQwMzQxNGNmZjAyMDZiNDRlNmUgcHkzay1zdHJ1bmkKKzU1MTY0IDJkY2MwNWE4MDkwNWZlZTQ2YWU1NmE5OWNkZjhlMmNlOWEzMGNjMTMgcDN5aworNTUxNjUgMGMzYTMxNDgyMDhlMGI5NjRmNTY1NjI0YjkzOWQ5ZDU5YzA5ZmI3MSBsZWdhY3ktdHJ1bmsKKzU1MTY2IGQ0YmE2NjMyNzdmOGZiYzI3MzQ3ZWRkZDgyZjJmMjM3YTgwMjJiM2MgcDN5aworNTUxNjcgYzEwNzVmMDY2NTBhNzYxZWI1MjlmMGM4ODNjMjAyMzI5NzZhMzg1NCBwM3lrCis1NTE2OCA1ZDA5NjkxNjdmNmRiNzZkNzFmMDMxZGI3YjkwMWI2MzgzZGFkNTNiIHJlbGVhc2UyNS1tYWludAorNTUxNjkgNTQxNzk1MzhhMzg3NzI1NWRjNjVhOGFmNWFmOGFiNjVlMmU5NTRlZiBsZWdhY3ktdHJ1bmsKKzU1MTcwIDQ0MzEwMmJmNTg5NTA1NDdhYjg3YmFiZGVhNzU1ZTA5YzhjODZiOWMgcHkzay1zdHJ1bmkKKzU1MTcxIDQxMTAyNzNhMjYxMTA5ZjI0NjY3MDk4YzA3Nzg0YTM5YzUzMjU4MzAgcDN5aworNTUxNzMgYmUxZTcwOGQ1ZDNkZjE1YjhmM2JmZjAxOTgxY2ZjNWY0OGUxMTBlNSByZWxlYXNlMjUtbWFpbnQKKzU1MTc0IGE1MjM0ZjNjNzU1MTFlZDJiYzBkZTQyZThjZmVjMmIzNjM5ZWFhNGIgcmVsZWFzZTI1LW1haW50Cis1NTE3NSA4NDNkMGNjYjAwOTRkZjc4Y2U3MjQzYjE5MzdhNjY4ZWFhMzQ2ZjM4IHJlbGVhc2UyNS1tYWludAorNTUxNzcgZmRmZGVlMTkxYTYxMmI5NGIzMzEyNGE2NDE5ZWMzMTMwNzQ2NDYzZiByZWxlYXNlMjUtbWFpbnQKKzU1MTc4IDIwNTg3MWM5NzE1ZGI2M2MxMTdlYmNkMGNkOTRhZmQ4ZGQzNDlhYzYgcmVsZWFzZTI1LW1haW50Cis1NTE3OSBhMTUzZjIxNGZhMWI4NDA4ZDU0NTM2OWVlNTQwZjVkZWQ5NzFjNjg3IHB5M2stc3RydW5pCis1NTE4MCBhNmViNmFjZmUwNGFjMmJmMzA0NDI4NWFlZjU1MmMwYjdkZmU0YmVhIHB5M2stc3RydW5pCis1NTE4MSBjNjU2ODU1MGIxYzYxMGRjNGI1Zjg3N2U1N2Q0OGEyYmViMDZiMGMxIHB5M2stc3RydW5pCis1NTE4MiA4ZTdjNjBiMTM1NmI3MzgzZmIzY2M5ODQ5ODQzMDFhZDQzNmM0ZTg5IHAzeWsKKzU1MTg0IDljYzRjM2YwYjU4MDc1YTQzODNlMjA0MmVjM2Y4MDZiYmVlYjdkZTUgcHkzay1zdHJ1bmkKKzU1MTg1IDcwNDcyYzE1N2JiOWMwMDUzODRlNzhkYjk1ZGI2NmI1YjJjZTdjMjIgcHkzay1zdHJ1bmkKKzU1MTg2IDhmNzdmOTYwNzExMzg4MDVjMmZjY2QwZmIzMWY2MjA5YjVmYTQ5NTQgcDN5aworNTUxODcgNmEwMTZmM2UwMDUxNjY3YzNlMzI0NWYxZWY3ODFkOWZhOGFjNTc4NSBweTNrLXN0cnVuaQorNTUxODggYzg0MDAwOTZkMmQ3MWM4ZjUzN2JkMWM4ZmRkMGVmZjg1YzdmZjc5OCBweTNrLXN0cnVuaQorNTUxODkgYmM2YWQ2M2NkNWYxZjZlMDg3OWIzZDJlODBlZTdhMGNkNDM4NzRhYSBweTNrLXN0cnVuaQorNTUxOTEgMmQ5ZTU4YzVhZDM0M2Q0NDE0NDhiNDcxMzkwNDFkNGU2NmM0ZjBiZiBweTNrLXN0cnVuaQorNTUxOTMgMjNhOGIzZGZiZTk1MzcxMGZkY2M2N2YwN2UwOGQxMWQ3NTlhMWZlYyBweTNrLXN0cnVuaQorNTUxOTQgNDRlYmFlNGY2MWM0YTJiMDAwZWM1M2U5MjQ5ODU3M2Y0ODNhZGZhYSBweTNrLXN0cnVuaQorNTUxOTUgMDUwYzk4Y2Q0MWM0Zjc0YWNkMmNlOTNjMWIzYTA3OGMzZjhlOWQ2YSBweTNrLXN0cnVuaQorNTUxOTYgNTI1MzMzNzBmMWFkNDAzYzIzMzY2MWYyZmFiMDA1MjM2NDU5YTNjMSBweTNrLXN0cnVuaQorNTUxOTcgMzcwYjkxNTMzYzUzZDhjMDA4NTk0NThlMzg1OWU5Y2Y0ZDk2ZWQ5NSBsZWdhY3ktdHJ1bmsKKzU1MTk4IGYwZGExYjdiOGU1YTJhZTQ5ZGRiMzI5YWVjN2I4MWVhZjY5ZjAzZDggbGVnYWN5LXRydW5rCis1NTE5OSA3NmU2M2UwMzMzNTYwNWRjNjNhZDkyNGI4ZTU5ZWNlNjk1MTZmYWMyIHJlbGVhc2UyNS1tYWludAorNTUyMDAgNWM3Mjg1MzQ5NzBjMWUyNjJhNzhkYzBlYzQ4MDQ4NDA5YzU0YmI3MCByZWxlYXNlMjUtbWFpbnQKKzU1MjAxIDdmZTZhZmNiZDNmMmE2YTY3NmQ5MDIyODg2NmNjY2IxOGYzODMxODAgcHkzay1zdHJ1bmkKKzU1MjAyIDY1MGZmOGQ3Y2MzODBhYTE0NWVkZjY4ZmFkZmZlMTZlYmU2MWQ2NWYgcHkzay1zdHJ1bmkKKzU1MjAzIDNhNGYwNmJjMjU0YmI1ZWRkYjM4ODZiZTZkZDE1MTVhZDM5N2Q2MzQgcHkzay1zdHJ1bmkKKzU1MjA0IDAyZTY5ODk4ODUyMWE5OTU3ODU3YWUzOTJmMTJkNThiYTg2Nzc1OGYgcDN5aworNTUyMDUgOWIxNGMxZTU4OTM2MWJjYTNmN2MyY2U3OTQ2OWE5NGFlMWUyMGRlYyBsZWdhY3ktdHJ1bmsKKzU1MjA2IGRkMmQ0MDdkY2ZkMGM0N2QxZTFhMDIyMGFlNTllODVjNDMxOGZhNGIgcmVsZWFzZTI1LW1haW50Cis1NTIwNyA0NzVjN2M1NDM3ZmM2MmI4M2QwZDcwZTk4MzY4NTBiZjVmNjgxYjNhIHB5M2stc3RydW5pCis1NTIwOCBhMzYzY2VhMzJiOWJhYWEwMmIwZmMzOGIxNDNhMjU1M2Y5MjVhY2FjIHB5M2stc3RydW5pCis1NTIwOSBhMzI0OGZlZmMwZGM4YjZhZWUwNTZjODU1MjQ2MjM0ZTA5MzRkNTc4IHB5M2stc3RydW5pCis1NTIxMCA4NWQ1MWNiOGFlNWVkODUyN2Q2MzU4NmUxNzk4Mzk0MzAyOWFmMTgwIHB5M2stc3RydW5pCis1NTIxMSA0YTk1MzNlOTM2NWUwZDk3ODE2NzQxMjkxODM1MGNlNzc0MDQ4Y2RiIHB5M2stc3RydW5pCis1NTIxMiBiMWJiZTgwMTExNTI4OTNjY2M1MThkNjc2ODQ0ZWRjMjUxMTViYjZlIHB5M2stc3RydW5pCis1NTIxMyBkMTI4MTFkZWNmOTRkMzdkOTlkZWRlZTYyMTg0OTA2YTc3OTM1MTQ2IHB5M2stc3RydW5pCis1NTIxNCA2ODhlMmJjMjA4MDI2MzhhZWQ1ODgzNWViZWNiODE3YTE0OTAxNjhkIHB5M2stc3RydW5pCis1NTIxNSA3YTk2Yzg2NDA1NzUxYmQ5ZWM5OThkN2VmZWYwMmNjYjVkN2UwYzk0IHB5M2stc3RydW5pCis1NTIxNiBkZDNhYzFjZDFjOTE5NmYzMmQxMjZhYjAzMzhlYTJjMWFhMTBlMWI1IHB5M2stc3RydW5pCis1NTIxNyA1ZjIwMjg2YjBkYTk5MzYyOThiMTYxNmI4ZWQ0YjU1NDkzMWMyOTAzIHB5M2stc3RydW5pCis1NTIxOCAyNDhkZmMxYmQ0NGMwMjViYWM5MDJiZmQ3M2UxMGUxMjk5MjUxOGU1IHB5M2stc3RydW5pCis1NTIxOSAyOTc3MzRmOGE2MjdhY2RmNmViYWQ4NTZmMGI1NWEzZGQyNGVjYWNkIHB5M2stc3RydW5pCis1NTIyMCA5MTVkNTI0NTVmZmM0YmZlZmMyMmI2ZDMxZTdlOTM2MDQ0OTg3OTExIHB5M2stc3RydW5pCis1NTIyMSBjNGE5OTkzZjJjZTZjZWFhMjA5N2YyODY1ZGFhN2Q1YjkyMWI2MDQ0IHAzeWsKKzU1MjIyIDk5MTQ0NmZmNmIxNWMwOGIwZGYyZmNjYzRmNGEyNGQ3M2ExZWU3NjIgcmVsZWFzZTI1LW1haW50Cis1NTIyMyA3NzVkNDRhNTQzOTk1NTBiZDU5MWU2YTExYzJhNTQxMzUxM2MxMjA1IHJlbGVhc2UyNS1tYWludAorNTUyMjQgOTg3MDkxODlkOWUxYzAwYWM5NGU2MTlhZTBiZjk4ZjU5NTFjMDZlNiBweTNrLXN0cnVuaQorNTUyMjUgMTA0MDU2OGY5MDJjYTJiMWI4NWFhYTM2ZGVmZDc5ODU5N2E1MWY0ZiBweTNrLXN0cnVuaQorNTUyMjYgMWQzMzQ5MTJhMTA0MGQ5ZmU4NTRmZTQ4MTA4YzA1NWVlMTQzNjkwMSBweTNrLXN0cnVuaQorNTUyMjcgNzU5NDcwOWU2MzFiMzMzN2VlNGJjNmZlZmY2NDc3ZTI0ODUzYWM3YiBsZWdhY3ktdHJ1bmsKKzU1MjI4IDhhOGJmMmMwNzRlMDRmMGJiMzI0NDRlZTQ4OGJiMjUwYjM1ZTg1NWMgcDN5aworNTUyMjkgYzVlYmY5YzIxOWJlNDY1MjA2MGM0ZmExMTAyNjJmN2I3YmIwMmExYSBweTNrLXN0cnVuaQorNTUyMzAgZmI3MDVmMThiZjNkNzY2NWY2NjhjNjBiM2I4NjdmNWU4MTA3MzVlYiBweTNrLXN0cnVuaQorNTUyMzEgYmFiOGE5YzdmNDllYjYyMDE3MmZiY2U0Mjc1OGMyNzg1ZjcyMDYzYSBweTNrLXN0cnVuaQorNTUyMzggYTZlNGYyY2JlZmE5YmQwYjM1MWFlZjRjNjMzOWIxM2U1ODMyN2MwYyBwM3lrCis1NTI0MSA0MzY3YjdhZjc1MzE5YmQ2NWY3ZTc4MWI5ZTk5ZmViNDA3MGUyNjdiIGxlZ2FjeS10cnVuaworNTUyNDIgOGVkZDc0NjI5MWZlZmRlZTZmZGVjMmQ4Mjc3NTZmZTBkMTNkYTRiOSBsZWdhY3ktdHJ1bmsKKzU1MjQzIDAyZDI0ODhmZWM2MGNhMTVjYjlhNjViZjJjNDVlN2M2NzZlNTI0ODAgcmVsZWFzZTI1LW1haW50Cis1NTI0NCBjZjlkZDdmMGY0YTIwZjAyNmEyOTQ3ZTBiZDI1Mzk0MDc4ZWRjMTFjIGxlZ2FjeS10cnVuaworNTUyNDUgNmM0YWE0NjExYzg4MWRjNjJjZTVhOWM0ZDY3OGU1ODIxMTAxNTAxMSBsZWdhY3ktdHJ1bmsKKzU1MjQ2IGNiYThjNmE1ZWNmMDI2MTY3NDY5N2M3ZjVkZjVlNDRmMzE4MDAwMzYgcDN5aworNTUyNDcgY2Y3OWZlZThiNzFhMTBhOGQ2OTlhNWUzMjMwNzJkNjVkYzg1MmQ5YiBsZWdhY3ktdHJ1bmsKKzU1MjQ4IDAxMTI3ODIxYWY3NTYxNGVhNTczYTc3OWZmMDYwZmU3MWI3NTVkMzggcDN5aworNTUyNDkgZDIzMTY4NWU5ZWE3ZDU0YTJkYzRmOGJmZDZjM2Y4NGI4NGU3YTkzMiBwM3lrCis1NTI1MCBmMjIzYTQ0ZGIxM2E2ODgzN2ZlOGZmMGUxMGEwZDUwYjc2NmU4NDYwIHAzeWsKKzU1MjUxIDliOWM1M2MxYWE1YzA5NWYwOWZiOWJiYTM4NmQ1YTE1ZTUzYjMxOGQgcDN5aworNTUyNTIgZGMzOWJmYzVjNzRlNjIyYmM1NDhiMmJkNWVmNDQ1ZTFiZjg1MDFjMCBwM3lrCis1NTI1MyA4MWQ5ZjUyNzBlODc1MmQ0N2MxZGFlMDNjNDU2NTA0MjYyNmYxNzYwIGxlZ2FjeS10cnVuaworNTUyNTQgM2VlZTA2Y2IxNWEzZWUxYmVlMzQ0MzFmMTlhMDQ1ZmI0OTcyMmMyMSBwM3lrCis1NTI1NSA3ZDk4YzEyYTM0NGRiYjAzMGM0ODE0OTY3MjZjODU3YThmYjAyYzhmIHAzeWsKKzU1MjU2IGQ5MWNjOGQ0OTI5NGU4YWY0MmUxMzQ4YmMxYmUwZTNhYjFmMTM3NjYgcHkzay1zdHJ1bmkKKzU1MjU3IDQ1NDhjZWIzMWM5NDkzOTkxNWVmN2NiNGYxNGRjY2IwN2VhMDhlM2IgcmVsZWFzZTI1LW1haW50Cis1NTI1OCBjZDI0MDNkMzcwZTBmNjdjNDFiNjlmZTI3YTAxZjM3OTUzYmI4OTZjIGxlZ2FjeS10cnVuaworNTUyNTkgYjhmYTRhYzZjNWYwN2M2MDlkZWY3M2Y2Yzg0YjNmNDg0N2QyNzY1NSBsZWdhY3ktdHJ1bmsKKzU1MjYwIDNmYTQwYjU5YjliNjhlMmZlYmJkMDViZTQ3MmYyYTQ0N2RjZTE4ZmQgcmVsZWFzZTI1LW1haW50Cis1NTI2MSA1MWM3NDEyMjg5NTgzZmZlYTE0NTExYTMyOWE2MTljNDM5ODVlNTU3IHAzeWsKKzU1MjYyIGJjZjU3YTE1M2IxMWE1NzBmZTBlNTQ1NTNkYmUyMDcyYmExNmE4MDIgcDN5aworNTUyNjQgZDdjN2ZlOWI2ZTk3MmU5MjU4NjYyYTNkZDY0MmQ3ZGFjZDJkYmY2ZCBwM3lrCis1NTI2NSA5MTUzOTJkNWYwYjg2NDZiMTZkNTE0NGJiOWRlN2QzNzZlOThjZDUzIHAzeWsKKzU1MjY2IDMyNjczYjg4OGMyNDRjZTE4Y2NmNDFlY2UwYTU5ODAxMTU5ZDE3ODYgcDN5aworNTUyNjcgNWEyZjU5MjBjZjc1MGZjZDU4Y2RkYmYyNTk0OGU4MDI1OWEzMjkzNiBwM3lrCis1NTI2OCA3ZDQ5MDM4ZTk5Yzk5MTQ4MTJkOWNlNDQ1NjhlZmJmMmI2MDM5YWI5IHB5M2stc3RydW5pCis1NTI2OSBlZTQ3ZmQ1YzBlNWQ3NDY3ZmViMjhlZWQxNjEwZjgyNTAwZWMyM2NjIHAzeWsKKzU1MjcwIGUxNmM4ZTVjNWNhNGMxMTFiNjVmOTFhZTlhMzg0YTlkOTc3ZjBjMmMgcHkzay1zdHJ1bmkKKzU1MjcxIDI3MTllMTdjOTI4ZDM2NjgwOGI5NDRiMGNjY2RlOWQxZTIzMDllZjAgcDN5aworNTUyNzIgZGRjNGJlMjc4NmZkMjU4MzVkZjhlNjZlMzI0MjNiYTgzOGJkOTBiYiBweTNrLXN0cnVuaQorNTUyNzMgMjBiOGIyOTU5M2MwZDk4ZDRjODE5ZmY0ZDhmZDJjMWZkNTBlYjFkMSBsZWdhY3ktdHJ1bmsKKzU1Mjc1IGUwNmUxOTZhMDVjZmYzODFiYzQ2ZWMzNjYwNTI4NzQyYjdiNGRlNzcgcHkzay1zdHJ1bmkKKzU1MjgwIDk3MDZmM2I0OTA2NzBmMzE4OTcwYzc2YWUxNTFkNWE4N2Q3NTFjMWYgcDN5aworNTUyODIgNzk5M2YyM2FkNDZjYTU0ZjEwZmI5YWM1OTUwMWMzY2RkNzY1ODA4ZSBweTNrLXN0cnVuaQorNTUyODMgZDIzN2Y0N2YyOTNmMjliOWFhNjA1MGZiMTgwYTYxYTI3NmRmNmJjNSBweTNrLXN0cnVuaQorNTUyODQgOTE3MDQwZGZlYzU4MzhjN2ZkMTEzZTcxZDExYzlmMWI2ZDgwNmJlNyBweTNrLXN0cnVuaQorNTUyODUgMjYxNzEzM2M3YWZhMjczODM0ODgyNjdlMThmZjMxNzIyMDE0NzY0NCBweTNrLXN0cnVuaQorNTUyODYgNjAyNmI4YTI2YzA1ZmY0ZDQ4NmM0ZTIzMjVlODUxODA4ZWEwZmNhYiBweTNrLXN0cnVuaQorNTUyODcgNDgyYjU5OTBkMmZiM2RmNjg2NzQ1NDNiZGZmZmE1YjBiMjExNWZhMyBsZWdhY3ktdHJ1bmsKKzU1Mjg4IGMxN2Q3NjBjYjZkMDZmMDk2MGMxM2JkZGZhMGJmOGJhYTJjOGYyYWYgcmVsZWFzZTI1LW1haW50Cis1NTI5MCA3YmJiOTdlMTRhZDZlZDEyZTdmMWM0ZmI2NjMwMTAyMTc4NjhlNzg4IGxlZ2FjeS10cnVuaworNTUyOTcgYTQ4OTNjNDgwMjY0OGI3N2FjMjY5ZTU1Y2YwM2M1YTcxMmI5M2M0MyBsZWdhY3ktdHJ1bmsKKzU1Mjk4IDkyZWI1YWU0YzE4ZjE1MWE1ODk1NmFlY2UyNzNkZTRkYTgwMDNlZWUgbGVnYWN5LXRydW5rCis1NTI5OSBhMTYwYjQzN2ZmMzVmZTE2ODI0ZmFiYmI2N2UyZmNkNGY1NTc2NjJlIGxlZ2FjeS10cnVuaworNTUzMDEgYjQ2MDA4NDQ3OTkzMzM5MWY4MTk4NDU5ZmFkM2ZlMzRiMGRhMTU2MSBwM3lrCis1NTMwMyBiN2U5MTM2ZDRjODM4ZjhlY2ZiYTdhZWI0NjMyZWQ5NzhmMzkwZWM4IHAzeWsKKzU1MzA1IDdkMjRhNjhkMGExYzYxNjM2MjJjZjQ3NDYwZjA0NDYxN2I4NDM3NWQgcDN5aworNTUzMDYgNjU2NjZlYzgzYzJjMDBjNzEzYjIwOTEyN2VlZThjZGQ4YmQ5NTEyZiBwM3lrCis1NTMwNyBhYWU1NDllYmE3MDc1ZjU0NmU3YzhlMjExZTc2ZGZjMGZhNjIzM2M4IHAzeWsKKzU1MzIwIGM0ZDU3ZGM2MGIwMTliNWUzZThmYjIzNWMzMTY1Y2EzY2ZlNzY2Y2IgbGVnYWN5LXRydW5rCis1NTMyMiAxNTIzYWE4MjcxNDY1ZTlmMjY1OWNlYjVkNmE4Yzk2ZDY2NTAwNDI0IHAzeWsKKzU1MzI1IGY2MGM4NzdkNTJjOGEwOTdhNWQ4MTEzZjlkYjNjZmVhM2UyY2I0NjQgcHkzay1zdHJ1bmkKKzU1MzI2IGM3ZjU0NjYwZWExN2VmYWZmYmNkY2MwOTI0MGZmYTZkNmM4NzUwMWIgcDN5aworNTUzMjcgZDZlNmY5ODJjNjM3YjY5ODA3ZDM4NzQ0MWVlNTYxNzM5OWZjODY3NyBwM3lrCis1NTMyOCAwMGMwMmM0NDg4Y2VmOTExZTBlMjEzNDA1YjhiYWU5NGU3NDYzZmJhIHB5M2stc3RydW5pCis1NTMyOSBmMzI1NmM4YzcyY2E4MTMwZGUzMWE2Yzg5N2NmNTI1NDQwZmNkZWUzIHAzeWsKKzU1MzMxIGJjNDNjYjIzMTY0MDQwODkyMzJhY2Q2ZGIwYmFlNjMyMDFiMjg1MTkgcDN5aworNTUzMzIgNTU4NTE4ZmY5ZDkxYWI2MjQyNmQwY2U3NjRhYmQyZTJjNDcyNmRiNyBwM3lrCis1NTMzMyA2ZGViNGJiMTAwNTlmOTFjY2NiOGJlZjFjNTI2ZjJhMDFjNjZjMjVkIHAzeWsKKzU1MzM0IDFkYjMxOTQxZTAxMzkxZTc5NmQ4NzIzOGVkYmY3NzE0ZmRiOGQxNzYgcDN5aworNTUzMzUgYjljNzI0ZGQ3MmM4MThmMWExZDM3MmNlNWY5MDRhMDFmMzVjYTRiYSBwM3lrCis1NTMzNiBkODEzZmMzNmI5NzAxZjUyNGI0ZTdiZWUwMjRhNzNiMTIzZTFlMmJiIHAzeWsKKzU1MzM3IDFjOWEyOTk2NTZiZTM3MWExYTI5N2NmNWViMDYxZDhlN2FlZTcxNjUgcDN5aworNTUzNDMgOWFkODQwNzBiMjJkODRmMTc1YTNiODkwMzY3Y2Y5MDY5MmI2NDE4YyBweTNrLXN0cnVuaQorNTUzNDcgNmNhM2Q1ZjNkMWJlMTMxZmY2Njk3YTc5ZGYwZTg0YmNhNmM0OTNhZSBweTNrLXN0cnVuaQorNTUzNDggM2UxZWI3YWY0ZWEwZDIxZTdmMWU5MzA1ZGYxNzUwZjE3N2Q5NTZjZiBsZWdhY3ktdHJ1bmsKKzU1MzQ5IDJiNzExMmE2MzU3MWIyZWUwYzQ5NDc4NDEyYTNiODg4ODdmYzMxOGUgcmVsZWFzZTI1LW1haW50Cis1NTM1MCAyNjM0OWE2NGVmNzAxNWJjMjBiOTkzMjI5ZjM1MGM0ZmJlMWY3ZDgwIHJlbGVhc2UyNC1tYWludAorNTUzNTEgZDNjZDI5MjBiZWI2ODdiZjIxNzFlZjc5NjEzODBkMzE2YmNkMjBkOCBweTNrLXN0cnVuaQorNTUzNTIgYzljNTJiODdjMzBiNWZiMzNhYzNhZjk0OWZjMDNkOTY4NDExZDAwNyBweTNrLXN0cnVuaQorNTUzNTMgYThiN2E4MTU5OWQwNDhhYWExNDI0ZDY1NDUxNGIzYzJlMDAzNDMxOCBweTNrLXN0cnVuaQorNTUzNTQgZDExNDZkNGRiNTQ5NDY4NDRmNDk5OGFmOGEwODkyYjk2NjZiODg1MCBweTNrLXN0cnVuaQorNTUzNTUgMjAyODZlY2E0NzQzMTVhOTYzYjFmNjEyMjQxOTQ1NjM3YWU1NTUxZCBweTNrLXN0cnVuaQorNTUzNTYgNDMwYjZlZDgwMTQ4ZTliMDA5M2U5ZDBjYzk3YmI5MjMxOWY5MmJlOCBweTNrLXN0cnVuaQorNTUzNTcgNmVhOTM3MDBkNzc5MjA3MDZmY2E1NGYwYjJkNzNlYzYwOWMxZjZiMyBweTNrLXN0cnVuaQorNTUzNTggMjk2ODU5NzExOGMxMzljOGJiN2IzN2VkNzNiMDNlMjNjODg0ZDMyYSBweTNrLXN0cnVuaQorNTUzNTkgMjkzN2Y1MzcxMzJlYTNmZmU0MzVmZTk1MzRkNjYwM2Q4MDRmY2QzZSBweTNrLXN0cnVuaQorNTUzNjAgYzdiMTU1YWQzNzkxMTkwNGU1MWM4NWZlZjRjODJhMTA2NzgxY2JkMCBwM3lrCis1NTM2MSAzNzg3YTNmYmM0NThkOGRiYjljOTdhY2IyYmYyNzlmYTkxZDdkNTlhIHAzeWsKKzU1MzYzIDc4ZDc2NDM1ZGE5YWM5Y2UzZjJhMDBlYzVlZTc5NDg5YTY0NjZiYzggcHkzay1zdHJ1bmkKKzU1MzY0IGJiYjA5OWQ0ZWM4MDI0YmY4MDBlMDJjMDYzNWYyOGM3OWQxN2IxODUgcHkzay1zdHJ1bmkKKzU1MzY3IDA1MmQ1NWU4YWY3NzMwYTc0ZjI1MDgyYTcxNDNkMTc0Mzg2MjI4ZmEgcDN5aworNTUzNjkgOTJmNzE5ZmE5YjE2ZTkwY2FiYjk1NWE0MGMxNTY1ZDQ0MmE2NzA1OSBwM3lrCis1NTM3MCA0ZTQxYjcyZGEwZmM2NjM3MjQxZjdjM2VhMzQ0YjdkMTFmMzBjYmYwIHAzeWsKKzU1MzcyIDBhZDY5NTFjMThmN2M1NzgyYmNjNjI3ZGU0YjY0ZjljNjk3ZjhlMzMgbGVnYWN5LXRydW5rCis1NTM3MyA2OWUxZjdlYzBjZTkxNmYxZjZlMjUxMzk0YzZiNjFmNWJjMWZmMTlkIHJlbGVhc2UyNS1tYWludAorNTUzNzQgZDBjMDc2NjY5NzMyZmQyZjg0ZjBhYzgzODMxM2QwMjcyODViN2M0MiBwM3lrCis1NTM3NyAwNDI0YTlmYTRiMGI0ZDRjZmMzNjhlOGIwNjcyN2ZlMWQxMWViZGYzIGxlZ2FjeS10cnVuaworNTUzNzkgYjAxNTQ2ZjM2YTIyNjMwNGM5MTk1ODNmM2NiNzc3YzI2ZjhiZjEzYyBwM3lrCis1NTM4MCAwN2YwODMyMjk3YjFlNzJlNWZmZTZhZTY0Njk4NGVmOTRlMTkxMTljIGxlZ2FjeS10cnVuaworNTUzODEgY2NhOWUzMmVlNTUwMWJkOGY4ZGQzZGMxYWMzNTZmNmFmMDIxZjA2MCBweTNrLXN0cnVuaQorNTUzODIgZGM2YjVmMzU1ZDVhOGNiYjE1ZjVjMjNiN2E1NDBmYTIwYTY4YjJhMCBweTNrLXN0cnVuaQorNTUzODMgOWI4MjkzYmY4ZmVjOGJmZjlkMzk4OTY4MzE3NzI3YmRkNjM3M2JjNiBsZWdhY3ktdHJ1bmsKKzU1Mzg0IDc1ODFlYzE2MjMwZWYxODMxODNhZWJhYWVjM2RhNjZhNzc5MmY5ODYgcmVsZWFzZTI1LW1haW50Cis1NTM4NSA2MWM0YzIyMmEzMjcwZDgzMTI1ZGNhMjU5NDUwMDZlYjMzZGI3YmE4IGJjYW5ub24tb2JqY2FwCis1NTM4NiA2ZjEyOTNhYjNhYzQ4ZTgzNjZlYTRmZWYyMDQ1ZGFmMWU2MzU0YWFkIGxlZ2FjeS10cnVuaworNTUzODcgNjkzYjhkOTE0NzcxNzA4MDlhZTkyYjM1NGQ4Y2Y0NTlhNDA0ZjhkMSByZWxlYXNlMjUtbWFpbnQKKzU1Mzg4IDM4OGU0ZjIxZTc0OWUyN2RjMDNmOGEwNDQ3NWVjZTY0MmY4ODc5NzQgcDN5aworNTUzODkgMmVjYzI5NjQ0M2MzMmMzYzExMmYzNmM3MTEyMGEwNDRjMmEyNmI3NiBsZWdhY3ktdHJ1bmsKKzU1Mzk0IDc1NmUxZDQwNGNiODYxYjllMWRhYTBmNDMwMGQyNjg5NGQyOGZjYWUgbGVnYWN5LXRydW5rCis1NTM5NSBlM2VhODgxYjE0ZmVkMmI1M2I2ODQwOWE0NjIzMGNkZGVhYzk3YmJlIGxlZ2FjeS10cnVuaworNTUzOTYgNzlkZDkwNzg3MDkxZGZlM2QxZTBjNjQ2NTM3MWFkZDgzMmJkZmUwNCBsZWdhY3ktdHJ1bmsKKzU1Mzk3IGNjNmY0N2YxZTEzYTQ0NmRkNTMyNzI4Zjc2NTEyMWIzZWJiOTkyMWMgbGVnYWN5LXRydW5rCis1NTM5OCA2ZjBkYmE4MDc3MzRhZmM2YWY5MGY0NzIzYTFlMDAwNGY4ZTg4N2RhIGxlZ2FjeS10cnVuaworNTU0MDYgYzEyYTMwOTc4N2QzY2M4ZjM5NDMwNWIyYmQ1Y2Y1ZTNkNmNmNmIyMyBwM3lrCis1NTQwNyBiMDg1ZWI2NmI3ZjZkYTZlMjQzNzIzYWJkMTFiYWEzMTkyMDM2YzYwIHB5M2stc3RydW5pCis1NTQwOSA0MWExODMwZWVlMTY1MThkYzMyNjYzOTgwMmNmNTcxZjY5ZjcxMjFkIHB5M2stc3RydW5pCis1NTQxMCBlZGE5ZTYwYzk3NDU0NzhiYzY5ZjE1Y2QxODVhZmM2NGJlNDVlMjMxIHB5M2stc3RydW5pCis1NTQxMSA0ZDE1YWQ0MTY1MWU0YzBmNjhlY2VkM2ZkYzU4ZWY5YTEzNDYyYjc2IHJlbGVhc2UyNS1tYWludAorNTU0MTIgMTUxMTg5YzcyYTM3MmI5YTIzNDhmYTg3ZWQ0ZjNiZTlhMGNhZTIxMiBsZWdhY3ktdHJ1bmsKKzU1NDEzIGE2Nzk2YTI0NDgxY2U1MDEzM2I3YTMwZGI0N2U5NzQzOTJlMTA4YWQgcDN5aworNTU0MTQgNjg5YmFlMDc2N2UyMGMxZWRiZjZiZjdmNTA2YjI4ZjY4NjMxM2JhYyBkZWNpbWFsLWJyYW5jaAorNTU0MTUgYzI0MTFiZGI2Mjg2Y2ZlMTYzNjEwMGMxMWIwN2Q4MTc5YjUyMjhhMSBweTNrLXN0cnVuaQorNTU0MTYgNjA5NDViZGIxYjc1NDg1NmExOTQ3M2MxMjQ0ZjljZGI5ZTE3YjJhZiBweTNrLXN0cnVuaQorNTU0MTcgYjBiNTE0YmFkZjBiMGJhOWZjOWVjYTVjYTc2ZDdjMWVlNTc2MTQyYSBweTNrLXN0cnVuaQorNTU0MjAgMTNhNmM2YmVmNjA5NzAxYTc3NWIyYTY2MzU2NjNlNTkxN2ZmZWRiZSBweTNrLXN0cnVuaQorNTU0MjEgMGVhZDEwNjRlYWQwMDJkN2ZkZWY5OGFiYzQzMzg2MWI0ZGM0OGIzMiBweTNrLXN0cnVuaQorNTU0MjIgZWRiNGM5MDI4YmUwMDJhM2VhZTA0NDQ1YWQwMjIzNWY5N2NlYTA1YSBweTNrLXN0cnVuaQorNTU0MjMgMWE5Y2Q3NjM2NGUzZDZhMjNjZGZmMjI2OWFmM2E1NGYzNzMwZTcyZCBweTNrLXN0cnVuaQorNTU0MjUgNWQ5ZGQxYjhkOTA4Yjc4Y2M5YmI0MjA4NzIyOThmNWQzY2RjZjExNCByZWxlYXNlMjUtbWFpbnQKKzU1NDI2IDQ3YjE1OWQ2NDBhNDU0ZGVjZjZhM2I2NDNjZmRjZmNjNjM5YWJkMjAgcmVsZWFzZTI1LW1haW50Cis1NTQyNyBmNDNlOWQxZmFiYWE4YjZmYmU0MDY1NjYyNTU4MDZjNzM3ODAwNDdmIGxlZ2FjeS10cnVuaworNTU0MjggOGZlOThmNjBlYjZlMzc5N2MzNTRjNGI5Y2VkNzMzZGMwYjYwNDcwMiBweTNrLXN0cnVuaQorNTU0MjkgMTQxZTJhZWZmYmFhNDNlYjM4YWIxNzBkYmUzOGRlOGQ0ZmQwOTViOSBweTNrLXN0cnVuaQorNTU0MzAgY2U2MGY0N2IxN2EyNTQxYzliNGJkODJjODAwOWE2ZDJhYmI2Y2FlYiBwM3lrCis1NTQzMiA2NWMzYjQzMmY1MDFiN2ZmM2RlNjkxM2Y0MjM0ZDFlOTQ4MjIzNTdjIHAzeWsKKzU1NDMzIGQ2YWE3ZWRmMjE3YTY1MjBlNjI3MTgwODE2N2M4MDg2NmVhZWVmYTAgcHkzay1zdHJ1bmkKKzU1NDM0IDQ3ZGM3MTYwNTM0MWQzYTk3ZGRkZDE2NmY5MzZiOWViODI0ZTdiYWEgcDN5aworNTU0MzUgOGFkMWM4OGNlMWFjNjc4NGQ3NDdhZGI4ZmMxYjY5MjFkMjkzMjBjMyBweTNrLXN0cnVuaQorNTU0MzYgYjU5Mjk4NWE5NTNmZjkwZGQ3N2YyNzk5YzEyMWQ1NDliZGQ2OTljMyBweTNrLXN0cnVuaQorNTU0MzggYjI5ZDcxZDQzYzgwOTFmMzI1MzAxZjQxZWUzOWYyOGU5YTA5MGEyMSBweTNrLXN0cnVuaQorNTU0NDEgNjUxZmEyYzljMmFiZTVmMzQzYzFhYmY3ZGFiZWZlZDRkNmFhOTRmOCBweTNrLXN0cnVuaQorNTU0NDMgNmQ4ZDY2MDUwMDAzZjFmODgzZWVkOWMwNjJjMzdmNjA2MWIwYjc5NyBweTNrLXN0cnVuaQorNTU0NDUgMTM2NDFhZGJhNmVjYzYwNGRmODA3ZmExOGQ0ZjU5YTFlYzJmYzdkMSBweTNrLXN0cnVuaQorNTU0NDYgZjE5ZTYzMWJlMTAxYjdhZjgyMjhlNDcyYmUzYTg4ZmQ4NDQyNmZkYSBsZWdhY3ktdHJ1bmsKKzU1NDQ4IDRhM2E2Mzc2OWQzNGE5MzQwZGRiOTUwNzQzODg3YWYxNWY5MDNlODggbGVnYWN5LXRydW5rCis1NTQ0OSBkNGRiNjI2YzIyOTA3NjZiODg2MmJkNTBiZDFiNjk1N2VhN2QwNmVlIGxlZ2FjeS10cnVuaworNTU0NTAgMzEyYzExMTlkYzE0NmE3YTNiNjFhZmZjYjdkZWQ3ZDU1MTZkOWQ3ZiBsZWdhY3ktdHJ1bmsKKzU1NDUxIDI5OTg3OGQ2MmUyZjc5ZTYxODRmZGE4NDdlNTVlYTdlZWM1NjdlYjAgcmVsZWFzZTI1LW1haW50Cis1NTQ1MiAwZjkzYjcwMGM0YzlmMDFmMTA1ZWU1Mzk3MGIyYjY4YzBjNjY3MWIyIGxlZ2FjeS10cnVuaworNTU0NTMgNTE1ZTI1NjRlY2E3ZmE4MWE5ZjdkZjNhZDQ3YjZlY2MxMmMwMjU1ZCBsZWdhY3ktdHJ1bmsKKzU1NDU0IDRhNjdmMTAzODMzZWI4YzUyZmY1ZDYyMjI5OWQ3NWM1ZGE4YzYxZWIgcmVsZWFzZTI1LW1haW50Cis1NTQ1NSBmMTRhNWIwMDVhMWUyYzRlMzhjZDVmNjUzYmRlYzliMmNiM2E1YzRmIGxlZ2FjeS10cnVuaworNTU0NTYgYmVlOGQwMWVmNDJjN2IxMmFmYTk1OTg2MjgyNzY1MGNjN2RiOGE1OSBweTNrLXN0cnVuaQorNTU0NTcgMTMyNmIwYjJhZmEwOTE1M2NiYzg5ZWYxYmU2NGE4ODAwODYzNDM5ZCByZWxlYXNlMjUtbWFpbnQKKzU1NDU4IGI3ZmI5NDJiNDAzZTllOTFiMmFkYjU2YWJlODkwZjk0YzUyMmIwMzkgbGVnYWN5LXRydW5rCis1NTQ2MCBjMmQzMmI1YWU5MGIzYTMxM2ZkOGVjNzY3MzhlZGFmNmMwNDcyODk4IHAzeWsKKzU1NDYzIGQxYzM4YWYwNjViZjM5YzE5NDg0ODA3NDRlYzQzMTEwODUxZjU2ZDIgcHkzay1zdHJ1bmkKKzU1NDY0IGVjYzY4NTkyNWI1MmQzYzA0MzU5OTZmYWFhYWRiMDJkZjUyM2YyN2EgcHkzay1zdHJ1bmkKKzU1NDY1IDZkMjQ2YWM2MzE5ODJkYTU5YWMyZjM1MjQ4ZmM5ZWViN2ExNzI3YmIgbGVnYWN5LXRydW5rCis1NTQ2NiAwMDQxM2Y3MGNlNWMzZWJjNjk2MjQ0NDY2MzkzNmEwNGUyNzkyZDI2IHB5M2stc3RydW5pCis1NTQ2NyA3NzlhMjEwNTM3Nzc4ZDU0ZDA3MjAyNTFlNTc2NDJlZTQ1NTZmN2QwIHJlbGVhc2UyNS1tYWludAorNTU0NjggYzAyOGIyNzc1YTlhNGVmZmE1ZGEwNjYzZjkyYzAyYmZhZWU5YjhiNyBsZWdhY3ktdHJ1bmsKKzU1NDY5IDViZWYyYzIyYmY4NTcwNmUyYjRhYjRjMjA4MTBjZDUyYWY0Mzk0OGQgcDN5aworNTU0NzAgMzEwMjlmNmViY2EyYTg3ZWUzMmVjNzc4YWQ4YzM5MjI0OTVhNjVjMCBsZWdhY3ktdHJ1bmsKKzU1NDcxIDY3Y2I4MTgzNjBmMGRjNDcwYjQ0MzFhNGNhOTcyNjkxZDkxNmEzYWEgbGVnYWN5LXRydW5rCis1NTQ3MiA2MmNmMmNiNzRlMzUxYTZjMTdmYWYxYzdmOTEzZWVlZTIzZjU3M2Q3IHAzeWsKKzU1NDc0IGMwZTg5ZDBlZTBlNWJhODJiYmU5ODY3NDQ4ZWJmYjhiYjRiMGM4MmUgbGVnYWN5LXRydW5rCis1NTQ3NiAyYzAwYTE5MTAyNzFjYjU3ZDQyZTFlNWM3ZDc3ZTA0ZDFkN2ViZTYzIGxlZ2FjeS10cnVuaworNTU0NzcgYTU4YmE2N2ZhZjFhYmYzODk0YWEzNTYzMzYyNTk2OWUzODNlNjUzMSBsZWdhY3ktdHJ1bmsKKzU1NDc5IGUzNWYxZWUyMmFiODg5MzE4YzA3MjhjNzRkNTI4YTZiZmU1YThlYWEgbGVnYWN5LXRydW5rCis1NTQ4MSBhYzhhNmRlZWY5NzQwZDhkNTJlNDI2M2EwNmZmZmFiNzI2YWRlNmU1IGxlZ2FjeS10cnVuaworNTU0ODIgMzVlMThhMGQxMGYyNmJjZjQwMzQ4MDEzM2FmOGVhZTA3Y2FkYjY3MiBsZWdhY3ktdHJ1bmsKKzU1NDg2IGQyNGM5ZTQzMmQ1MjRmYjAyYzkxYWM4ZWY4NDQ1YzNiZjU0NjJmN2EgcDN5aworNTU0ODcgMjY3MWUwNmJhYTRjMDdiMzE1OTkwNGQ1YzRmYTNlN2JlOTU2YTc0MSBsZWdhY3ktdHJ1bmsKKzU1NDg4IDk5M2Y4YTliOGFiMzk5NzQxODVmMzVmMjMxMDU3MTdkNTIyMzEzZWUgcHkzay1zdHJ1bmkKKzU1NDg5IDk0NTdiOWY1YmRkMTA5MzJmYjJjMTJiYzI4NjhiNmFkNjM3ZjNlZmIgbGVnYWN5LXRydW5rCis1NTQ5MCA4MWIxNzhmMGIxZWYzNzc4ZWRiNWE1ZWZjMWI3YjYzNTczY2Q5ZTYyIGxlZ2FjeS10cnVuaworNTU0OTEgM2QzYmYyNzQwOWU2MjAyYmY4YjQ3NWEwMGFhZmJlMjFkOTQ5ZDJmOCBweTNrLXN0cnVuaQorNTU0OTIgMTQ0NmI5ZmNhMDFkYmQzNjRlYjlmYzA4M2YyMGNjNWI0ZTlmZjdkNiBweTNrLXN0cnVuaQorNTU0OTMgZWJiMGI2ZDZkYWRhMjgwMjFiOGFhZWRiZjdiOTUxODYyNWRiNjFiMiBweTNrLXN0cnVuaQorNTU0OTQgZWUyOTUxNDQ0YTg5NjQ2NDE2ZmMwMzA4Y2U0YzNlOTA2ODJlOGY2MyBweTNrLXN0cnVuaQorNTU0OTUgYTQwNTczMmEyNjJkYzc0ZjJmYjUwZjZkN2MzMTU1NWM2YzE2NWY4YSBsZWdhY3ktdHJ1bmsKKzU1NDk2IGQ3ZjZkNmY0NTYyZWU2MWUxNmYwN2RiNmNmNWMxNTRhZGEzNzNkZTYgcHkzay1zdHJ1bmkKKzU1NDk3IDhlMDYyZTU3MmVhNGQ2YWU2MTU3NzlmY2NjZjIyOWU4NjA5ZTc2ODIgcHkzay1zdHJ1bmkKKzU1NDk4IGY5OTQ5YjYzZWFiM2ExMjYyMTk4ZmE3NTU3ZDgyYmJjM2E0NjQxNGMgcHkzay1zdHJ1bmkKKzU1NDk5IGQwN2QzNGI1M2RiNTgwOGM0ODQ4OTg2MTEyYzhmMzBhM2MwNTBjYWEgcHkzay1zdHJ1bmkKKzU1NTAwIDUwZGFmYTIyYjhhNGU3YjZiNDAyYThmMzc3NGJjMmI1ZWVjZGU1OGMgcHkzay1zdHJ1bmkKKzU1NTAyIDdjOWRkZDRhMDgxNDZmNmRjM2M1Y2M3ZDAzNzU3Yzg1NzI4ZDQ3YTEgbGVnYWN5LXRydW5rCis1NTUwMyAzZDA1ODU4NzY5MWRkNDliOGFiODU0ZThiOTUyMDgzOWFjN2EzODUzIHJlbGVhc2UyNS1tYWludAorNTU1MDQgYTkyMjdkN2EzNGZhOGU3MTQwNzZhN2I3MmFmMWE5ZDdmYzAzNjFmYiBsZWdhY3ktdHJ1bmsKKzU1NTA1IGVjODNkMjEwNjVhYTM2ZmIxZWJiNDEzZGU5YTU3ZjA2OGRjMGRlMTUgbGVnYWN5LXRydW5rCis1NTUwNiBlYTdhZTg5MWY5Mzg5NGNhZTBlM2JlMTFkZjg2ODMzMWUwYWJjZGY0IHAzeWsKKzU1NTA3IGM4OTc1NTlhODlmYzk0NjVkNDI5OGUyMTI5YzJhYzk5ZjMxNzczMGQgbGVnYWN5LXRydW5rCis1NTUwOCBiZmM3M2Q4NDllMjhhOWRlYjIwMDZlNWU3OGViNDY4MjFhNDliODcwIHB5M2stc3RydW5pCis1NTUwOSBkYjQ5YTEyNDczOWRlZmU2MzM0YTQyN2U2YjQxODlmZjE5MzFlYmRhIHB5M2stc3RydW5pCis1NTUxMCBiNWFjYTAyOTViNzkyZmFhNzkwOTYzMGZjOTQzNzhjMTdjZWQ5YmY0IHB5M2stc3RydW5pCis1NTUxMSBhZTY5MTIyN2ZkMzQzN2Y5ZTdiNDUzOGZiYmY3ODllZjAwYmZlYjRlIHB5M2stc3RydW5pCis1NTUxMiA5OGVmNWZmY2ZmMjg0M2I0NWE1ODQ4MzY5NDc3ZGFmMzNlZmQ5OWRjIHB5M2stc3RydW5pCis1NTUxMyBkZDgwYTRjNWY0N2QwNGQwNWE2MjQ0NzM0NjQwN2I4YTVjNzY2YzMzIHB5M2stc3RydW5pCis1NTUxNCAyNGI2MDYyMmI5NDRkMDRkZmUxMmZjNjgyOTE3Y2JlN2I5MDY5ZTM3IHB5M2stc3RydW5pCis1NTUxNSA4NDNmN2VmYzA1OGYyM2M5ZmYxMjFjM2ZjM2Y5ZGQ4N2QxNGZhN2IxIHB5M2stc3RydW5pCis1NTUxNiA4YzNlNDBiMTc5YmY0MTRmYWIwYjdiZGEyOGY3OTJhNWIzMWI2MGY3IHB5M2stc3RydW5pCis1NTUxNyBlYjQ1Zjg1YzRjNzkyNjNiZTRhNjI5NTUxZWI4N2Y0NzY5YjAwNjNlIHB5M2stc3RydW5pCis1NTUxOCBhN2JlMTQ4ZjdjNTYwODA2NDA5MWVhMTJiNmM4MjgyZmRhMWUyNjc4IHB5M2stc3RydW5pCis1NTUxOSBmN2YyYTQ5YzFmMmU1NGUzYzU4ODRkNDE1N2E1N2Q2MjFkMmFhYmRkIHB5M2stc3RydW5pCis1NTUyMCA3MmQ3YzBmM2JmZmVlOGYwN2Y0MjljZjM2MjQ1ZWQyN2E1NTllMGU5IHB5M2stc3RydW5pCis1NTUyMiBmZjdiZWZlOTE5YjViMTY2YjgwNzk4N2VjNDc1YmZiYThkZjM3MTU2IGxlZ2FjeS10cnVuaworNTU1MjUgYTBlZTNiMmJhMzYxYzNlZTMzOTQ4MTQ4NTcyNzk2OGEzNGZiZWExMCBsZWdhY3ktdHJ1bmsKKzU1NTI2IDRjYmY5NDk0MzZlYjU3YWQ2ZWZhZGY4MWJmOTRlYWEwMjkyNmIzNjIgcDN5aworNTU1MjcgOGMzNTc4OTM0ZGY2ZGE4N2MyNjE2ZDEwM2FmZDZkNmE5MTRmZDQ0MiBsZWdhY3ktdHJ1bmsKKzU1NTI4IDlhNDQ3NTE0ODU1ZjExNzFmNDYxYTk0M2E4ZTlhNTg5Mzk2NmZiZDUgbGVnYWN5LXRydW5rCis1NTUyOSBhNmM5MmRlZWFlMjdmMmZmZmVhMDAzZTE1NjcwMmFiY2M2ZWRkNWE1IGNweV9tZXJnZQorNTU1MzEgODE0MDc3ZTdhZGVlM2FjZjcyMDE4MmYyOWU4NmNiNzA5Mzg2YzZiNCBweTNrLXN0cnVuaQorNTU1MzIgNzA5ZjgyZTJhNTVjYjQ1NGMyZDZkYjU1YTIzOTRhNDRhYjYxZjJlYiBweTNrLXN0cnVuaQorNTU1MzMgYWIzOTY2MmU0NTRiY2U0YjBlNDkwYjA0YTY1Y2E5ZjUzYzZlOGQ3OSBjcHlfbWVyZ2UKKzU1NTM0IGUyNDBkMjBkYTNlYzhmZWE4NTUzOTQwN2MzMTYwYjNlMjQ4M2NmOWMgY3B5X21lcmdlCis1NTUzNSBlOGY2MjRkNDhkYTJkZGYxZTg0ZTRlYjJmZmU4MTVmMDYxMjk3NTYzIHB5M2stc3RydW5pCis1NTUzNiA1NmU5MDA3Mjg5Mjk1MzA0NjFjYjE1N2I3Y2FhOTcwY2M4MTRhYTgwIHB5M2stc3RydW5pCis1NTUzNyAyMzMyMzc3MDdlYmM5OTc5Y2EwOTBkNDI1MDM3Y2RiNjgxZjYzYWUwIHB5M2stc3RydW5pCis1NTUzOCBiZmU5NTMwNDZkMDViMjI2ZmQ4OTZjOTA3MDA3YmEzOWFkYTQ0YmFjIHB5M2stc3RydW5pCis1NTUzOSA1MjNkZjFkZTBhNWMyYjhlYzIwNjYwMDkzYjdmNDhmMzdjMzA5YjJlIHB5M2stc3RydW5pCis1NTU0MCBlYjE4OGQ3ZmVhNWQ5OGU0NjY3MmJlYzNiMjEzM2ZjZTU1YzM0NDc1IHB5M2stc3RydW5pCis1NTU0MSAyMTFkYzlkNjM2NzNiNWRjN2Y4ZmM0ZmNiZTQ2ZTVjMjk1MDM4Y2MyIGNweV9tZXJnZQorNTU1NDIgMTI5Zjk2NTNiMGEyMzlmMmQ3ZjYyMWEzOTkyNGI3MTkyNTNiN2I2MCBjcHlfbWVyZ2UKKzU1NTQzIDFmNzg5MWQ4NGQ5M2ZlMzY0YmE4YjIyMmYxZTQzYjgzMmM2N2U1N2QgcHkzay1zdHJ1bmkKKzU1NTQ0IDQ3NzRhOTRkMmU2ZDY2NWU5NDlmNDZmOGM1MGNjZWNjZDA2ODE3Y2IgcDN5aworNTU1NDUgODJlNWRiNDk2MGVkZmIzNGIxMDkxOTVkMzNhNDI5ODIzOWE0YTdhNiBweTNrLXN0cnVuaQorNTU1NDYgOWNlOGZhMGEwODk5NzI3YmEwM2EzNzMwYmFkMjM0MWU2MjRhYjA2NiBweTNrLXN0cnVuaQorNTU1NDcgMzA4ZTYzMjcwMmJmYTRhZThkNWM2ZGE0NThhZTk3YmRmNTFlNjAxZSBweTNrLXN0cnVuaQorNTU1NDggMjFkYzQ2MjliNzEyMTQ1ODI4MWFkOGEwNzUwMzM3OTQyN2ZlZjRlZCBweTNrLXN0cnVuaQorNTU1NDkgY2YxNTE5NjdlZWEzY2YwMTU0MGQwZDQzNmE5YjQzZDkwYTNkYzMyMyBsZWdhY3ktdHJ1bmsKKzU1NTUwIDZmOGY4MjI4MDU0NWRkOTNkMDYxMjE2MWJkMzRkYzE2NTRlNjYxY2MgbGVnYWN5LXRydW5rCis1NTU1MSAzOTc5ZjllMmQwMjYyODdmNzkwMTBjZGNhOThmZjUxOTI3ZDNhY2I3IHB5M2stc3RydW5pCis1NTU1MiBjZjA4OTFmMWQ2MGFhOWRiMDU1OGNlMzVjN2U3MTk1OGRlOWQzODU4IHB5M2stc3RydW5pCis1NTU1MyBlNjMxMDFmYWFkYTY4YzIxZWM3ODkwZDcyYTM0NjY1ODNjMTJjY2EyIHB5M2stc3RydW5pCis1NTU1NCA4NmE5ZDVmNDMzMDc3NDQyMzU4ODc0NGYzZjRjMmI4ZGIwYmEyY2NjIHB5M2stc3RydW5pCis1NTU1NSAxMDQyNmFkNWE2ZTBiMTM3ZTUxNjBhNjFlOTU3MzZiNzE5NGY3ZTMyIGxlZ2FjeS10cnVuaworNTU1NTYgMDU3YTljM2QwNjdkMTEzNDZjN2RmNDE1ODhiY2ViMWRjMTcwMDBiYiBweTNrLXN0cnVuaQorNTU1NTcgNDFjZmNmZGUwOGE5OWE3NDVmN2FiM2VhZmJmNDNjNTAxODZlY2YzMSBweTNrLXN0cnVuaQorNTU1NTggMmY0OGM1NmM1ZTgxNjkxNTJkNThiYmU1NDBhODU3M2NkYzk4MGU2NCBweTNrLXN0cnVuaQorNTU1NTkgOThjNjZlZmM5NTUzMzNhNWIzMjE4MGU0YTk0OWI5ZTQ2NzBkNzdkYSBweTNrLXN0cnVuaQorNTU1NjAgZTRlOGIxMjc3MGU0MDZiYjNlMWE4ZGU4MGRjNTljNGNhYTE1NDk2YSBweTNrLXN0cnVuaQorNTU1NjEgZTZmYzY3YWQ5YzU0YmMxZGRkYjIxYTZjM2IyNWMzYWIyNGQzOTRiZCBweTNrLXN0cnVuaQorNTU1NjIgOTY5ODY4ZGYxOTM4YmM0ODJmY2M5OGVmNGI2NzRmN2FiNmJmODE3YSBweTNrLXN0cnVuaQorNTU1NjMgNDZhOTRlYWQzZDY4ZGUzYjMxY2Q3YTNmNjA1Mzg1NTExYTUwYjk5NyBsZWdhY3ktdHJ1bmsKKzU1NTY0IDI0OTAwNzY3OTUyNDRkMDUyZGMxZWY4YzA0NjllMmI3YWZkNjY5YmUgbGVnYWN5LXRydW5rCis1NTU2NSA5OWUzMzA2OGMzMzQ3ZGMyOWVlYTI4ODhlOGZkNzcxMjhiMWUwNzc5IHB5M2stc3RydW5pCis1NTU2NyBjZWMyYTljMjAwYmEyY2EyY2I2YWU1ODdhMjUxOTJkMDEzMTc3NjI2IGxlZ2FjeS10cnVuaworNTU1NjggNTIyYzQ5MzhiZGY2ODE4ZTk4ZmI1MGY5ZjNkOTY4YzhhY2YwOGQ0ZCBsZWdhY3ktdHJ1bmsKKzU1NTY5IDJjOGJhM2ZhYWY0MGMwNTk1MjkzNjhkMTE0OTU2MzkyZjVhZTVkN2EgbGVnYWN5LXRydW5rCis1NTU3MCA2MzE5MjcxYzIzMjYxN2Q4YWViZDU1OTdiNzA3NmNiYmQ2M2QwYTg3IGxlZ2FjeS10cnVuaworNTU1NzUgZjU3Nzc1YzVkMGI0MjM2NjI4YzI5MDAxMWVjYTQ2OTY3NWQxNTM4NiBsZWdhY3ktdHJ1bmsKKzU1NTc2IDFhMzg1ZDBhZTgyYmEwZWE1MGI3NDAyYmU3N2M1MDQwMjkxN2RmMTEgbGVnYWN5LXRydW5rCis1NTU3OCAwZTgwZmJkNzMwMDVjNmVjZjZhOTE0ZTVmMDE0OWI2NzMyZmJlNGZhIHJlbGVhc2UyNC1tYWludAorNTU1NzkgY2MwYWVlZTU4YTRkODcyOWRhYTMwY2E5MmI5OTM3NDllYzcyYzlhNSByZWxlYXNlMjUtbWFpbnQKKzU1NTgwIGNlYzZkOTZjMDg0YTE2OTZkZjA4NTBhODU3OWQyZDNjM2RjYzFmNmIgcmVsZWFzZTI0LW1haW50Cis1NTU4MSAzNGU4ZTAzZTkyMWY3ZTQ3N2FmNmEwYzUwZGEwNmMzODAxMGQxNDVhIHJlbGVhc2UyNC1tYWludAorNTU1ODIgMmY0ZDkyMGE1NmZjMGY0MWUyMGNkYjU0ZWYzM2FmOTZlMzE3NDNlMiByZWxlYXNlMjUtbWFpbnQKKzU1NTgzIGRjYjQzZjQwMzkwYmE3OTJkNmU2OWI2NjZkNjE2ODNkN2JmYjcwOGYgcHkzay1zdHJ1bmkKKzU1NTg0IDFlYzFhZmEyYmRiNThjMzhjNDA5NDYwZGY1NTBiODA5NjdhOThiMTcgcHkzay1zdHJ1bmkKKzU1NTg1IDA4OWY0NDlhMjBjZGEwMTkzNGZkM2U3MjBmOTliZDg3ZjU2NmEzNzEgcHkzay1zdHJ1bmkKKzU1NTg3IDg1YzkzNWRiYmVmMjZiZjQwNDc4MTcyYTU1MWRiMmNlMThmZmI0YTUgcDN5aworNTU1ODggMDQ3ODZhZTUyZGFkNDIxMjdkNWIwZDcyNWU3MWI3MzM0NzQyZDk2ZCBweTNrLXN0cnVuaQorNTU1OTAgYmVkZmJkY2FmMzU1N2NkMDBmYTQxODU1OTZkNGI1OWM4ZDNkNWViYiBweTNrLXN0cnVuaQorNTU1OTEgOTY1N2MzMzNjNGVhOGZjMGQ3NmM4YWRmYTFhZDExZTU1NTU4MDU0MiBiY2Fubm9uLW9iamNhcAorNTU1OTIgMzg3N2YzN2M5ODYxMGJjYzZlNjdjMzI0ZDQ4ODM1ZmRiYWJmYmExNCBsZWdhY3ktdHJ1bmsKKzU1NTkzIGU3NDZhMDZiM2VhZmU5YmEwOTE5YzAwY2E1ZDdmNmYzNTYzZDhiOGEgYmNhbm5vbi1vYmpjYXAKKzU1NTk2IDAwZjk0ZDM1YzYxY2U3ZWJiMWQzMTcxMTVlOTY0MWY5YjIyYzUyNTYgYmNhbm5vbi1vYmpjYXAKKzU1NTk3IDFlYTRiM2NmOWQ5ODE0ZTc1NDlmMTllNWFmNmI4OGRmN2RmNDRiZGIgYmNhbm5vbi1vYmpjYXAKKzU1NTk4IDViYzdmNTZmNWMzM2RlZjg4YWY3ZWE1ZDcwMjIzMTNkOTA0NzhiNTggcDN5aworNTU1OTkgYWRiZjY4MWYxYmIyZWI3NTE2ODkwNTIzNTY3MTAxNDM0MGM1ZDc1OSBwM3lrCis1NTYwMCAxMDU2NTMwNjE2YWMzYjJkODMzZmExMzQ4MWUwODk5NmIxZjgyODIzIHB5M2stc3RydW5pCis1NTYwMSBlNzE2MmI2Y2E3YTA0MGQ4YWNhZjhlNDdlODRlNTQwZDc4Zjc3ZGQ0IGxlZ2FjeS10cnVuaworNTU2MDIgMzg5MDc3YTU0ZmNlM2VjODllN2U3ZmE2NDc4MWYxYzQ2ZjRkZDI2ZiBsZWdhY3ktdHJ1bmsKKzU1NjAzIGZiZjM0MmJjYjc4NDY1MjUxYWU5MTNiYWQ2ZmY5MzVmMjgyZmMzMjIgbGVnYWN5LXRydW5rCis1NTYwNCBlYzNiOGU5NGEzNTU3MWU1OTU1YjU3OWZhMWYxMjMyYjMwNjU5YTY2IGxlZ2FjeS10cnVuaworNTU2MDUgZjI4YmVkMjY0YjAyY2IzMjAyYWEyMDdkNzRjYjVlMDBlZWUwNWM4MiBiY2Fubm9uLW9iamNhcAorNTU2MDYgNWU0M2M3MzY3ZDU0NWE4NmIyNjAzYjZlYmFjZGUwYmRmNmU0YjQ0NiBsZWdhY3ktdHJ1bmsKKzU1NjA3IGMzNmM4ODc5YThkYWQ5ODQ1NzE5ZWFkYjZlZjY4MDRlNjUxNjYyMGEgYmNhbm5vbi1vYmpjYXAKKzU1NjA4IGFhNzMyMDZjOWNlNjc1NmViYjYzNDdhMjU1OTZkOTgyOWNhZGY1YWEgcHkzay1zdHJ1bmkKKzU1NjA5IGY2YTllMDM0Y2M2MjgyNDI2M2VkYTQ3ODc1OGQ4NjBlYmMyODNmYjUgcHkzay1zdHJ1bmkKKzU1NjEwIDI0OWI1MjVlMWFjMGU5ODBiNDJhOThjZmM2YWI0YTk3YjBjYWUwY2IgcHkzay1zdHJ1bmkKKzU1NjExIGI3Y2ZiM2ZkOGRiMDU5OTRkZjNhM2Q4NDc5NThlOTQyNzg5YjAyNmYgcHkzay1zdHJ1bmkKKzU1NjEyIGMzMjg3ZTE5NWExZDU4M2VjYTJlZmYzNzA4NTkzM2FmMjQ0M2RhNzQgcHkzay1zdHJ1bmkKKzU1NjEzIDliYWVjMmY1NDUwOWY2ODM1NGRkYjlhMDJlNTc3Y2U1ZjE5YmI0OWQgcHkzay1zdHJ1bmkKKzU1NjE0IDRjYWVlYjQxMzE4NjJmZWExYzlhZTdlNjNhYTZlZmNjY2U2Yjc4NjMgcHkzay1zdHJ1bmkKKzU1NjE1IDNmZGE5ZTZhMGI2ZDFlZDNiNzk4OWNlZjdlNTdiZTUxNDI0ZDA5YzEgcHkzay1zdHJ1bmkKKzU1NjE2IDgxZDViMDA3MTE2OWFjM2IxNDMxODRjNThiNzI0MDg5YjBiYjEyNzEgcHkzay1zdHJ1bmkKKzU1NjE3IDlkZTg3NTY5MTgxY2I4ZjMxZmQxZmEwNzRmOTBjYjgwZDIwOTU2YTIgbGVnYWN5LXRydW5rCis1NTYxOCBhZGU3YjA2OTNlMDc2YzIxMzkzZDEyY2I0NjY1ZTliZjg5NzA2NGYwIGxlZ2FjeS10cnVuaworNTU2MTkgYTllYmM1MDRmNjlkOGNjYjkyOGIyMmEzYTc2MjhiMDE1NDYwOWYyYiBjcHlfbWVyZ2UKKzU1NjIwIDc1ODY2NmUyN2ZiZWZiNDE2NDU4MTNjZjVhMDdmOGQ5NDM0MTZhNTkgY3B5X21lcmdlCis1NTYyMSA4YjRmYjcxZmZmMWQzNjYzNzE2MzMwMDhhMTgwYzlkMjc1NGQ0MWRmIGNweV9tZXJnZQorNTU2MjIgYWVjZDc4YWZhNWEyNmU5NDM4N2I3MDRhNGQyOTA2OTk3Yzk4ZmE1OSBjcHlfbWVyZ2UKKzU1NjIzIDBlN2M3MGQ0MWExOWIwNmU5M2QzN2RhNmMxYzQwNDFiZWEwNDNkYzEgY3B5X21lcmdlCis1NTYyNCA0ODkwNjBlOTdkMTdmYTg3NGNlOGE3MWI4OGNiODc4NTQxMDg0M2ViIGNweV9tZXJnZQorNTU2MjUgOGQ2MzdkODE2Zjc1NDE3YjA5OTFkN2MyYTc4NzBmYmMzOWJmZjViOCBjcHlfbWVyZ2UKKzU1NjI2IDM3MDA1MmRjODk5MmYzNDUxNTQyNmNhYmYzMjk4NWM4MjZkOWMzODEgY3B5X21lcmdlCis1NTYyNyA2ZGQ5NzY3NjM3YmI0M2Q3ZmIwNzllYWRlNzg2ZmU4NTEwYzQyMTdkIGJjYW5ub24tb2JqY2FwCis1NTYyOCBkNWFkOTE0OTM2MGJiOTRkNjE5NjFlYjkyNWU5ZjkyOWE4ZTEwZTQ1IGJjYW5ub24tb2JqY2FwCis1NTYyOSAzN2NhNGRkOGFiZWY0NjkzZGMyZTZmNDI4NmZhMmVkMmUzNTczZmI2IHAzeWsKKzU1NjMwIGRlNTFhYWM0NmIxYmM4OTQ1M2U4NjRhMGM3OTZjNGQ2MjE3NTFmNDkgY3B5X21lcmdlCis1NTYzMSBiYTdlYWVlMzM4MjI3OTE4YjYwNWEyYzVhMDI0NjIwYmRmNmE1MWZhIHB5M2stc3RydW5pCis1NTYzMiA1YWQyZDc3MDBkM2M1MDUwNTkzYTVkZmI5MjFjNTgxZDY3N2VmNzJlIGJjYW5ub24tb2JqY2FwCis1NTYzMyA1MzgxYjRlNzFhMDQwNmM5MjI0OTRmN2QyOTRiMDg3N2VhZjRmYTk4IGJjYW5ub24tb2JqY2FwCis1NTYzNCA1MDNmNWE1NjQ2ZDE3YTA5OTI4YjM1YTEyZWQxNzRmMmY4MTA1YzQ0IGxlZ2FjeS10cnVuaworNTU2MzUgZTE0ZWNlNzc3YjhiNDViOGY5OTJlZjcyNzMwMWU3M2EyYjZiMjNiZSBsZWdhY3ktdHJ1bmsKKzU1NjM2IGM3ODM0OTcxMzE3Y2Q0OWJhMmI2NTJlODEzM2U4MTI5ZDgxYWY2MTggcDN5aworNTU2MzcgODg1ZDBlZjkwZTBmNDQxY2U1N2IyYTFmYmIyYjEyNTUxNzI3OTlhZSBsZWdhY3ktdHJ1bmsKKzU1NjM4IDA2ZTZkNjIxNWM1Yjc4YmQxM2E5MWI1OWVlMDJhZTMwNTM0OGMxYWIgbGVnYWN5LXRydW5rCis1NTYzOSA3Njg4N2UzZThlNTdhNmFkNGQ4YWEyY2E0YTAyZTYyMTg2ZjIzNjgxIHAzeWsKKzU1NjQxIGFlODA1Nzk4ZmE2NzgyYzZiZDk1Y2YwNmFmNzlmMDA4NjQzZmEyMjcgcDN5aworNTU2NDIgNjdlZTQ2OTZkMTQ5YWI2N2I1ZGM5MGY3ZTlhZTEwZmE3ZDY4MDA0MiBwM3lrCis1NTY0MyAzNzdiNWRkNjI5M2RhOTk2NjI1ZTlhYmJkNjk0NTk1YjgzNTg5OWJlIHAzeWsKKzU1NjQ1IGExZWUyNTZmYmM4Zjg0NTk4YWEyNTA1MGM5NDQ5ZjdhN2YxOTRkYjUgYmNhbm5vbi1vYmpjYXAKKzU1NjQ2IDJhZTk5NzVhY2EyMDVlNmEwMWIwNDZmZTcyODExM2JkMGUyYmQ4NTkgYmNhbm5vbi1vYmpjYXAKKzU1NjQ3IDhiMWNkZjkzMjFmZDEzNjBhMTAwNTUxYTI5YjYzMTUwZTM3ZTBmYWYgYmNhbm5vbi1vYmpjYXAKKzU1NjQ4IDkzODYyYWE3NmY3YzJhMDc5NjI1NjU3ZDc1ZWQ5OTFmOTljZjBkMjEgcHkzay1zdHJ1bmkKKzU1NjQ5IDliMWZmY2UyNTZiOWFhZTY4NjU5NmI5NjVkNWM2MGMyMTljYTQyNGEgcHkzay1zdHJ1bmkKKzU1NjUwIDZjMmZhNzFkYzQ1OWYzODUxMGU1YTg4M2M2ZmRiNjk5OGViNjMzMWYgcHkzay1zdHJ1bmkKKzU1NjUxIDQ5MjY4NzY5NWM2NmM4MzU2MmZiNjQzYjA4NmM3ZDUwNmY1Y2MwODAgYmNhbm5vbi1vYmpjYXAKKzU1NjUyIDA5ODJmYjA4ZTc5YjFkODE0MzUwZjZjZDYyN2Y1NjM0MmJmMDQwYWMgYmNhbm5vbi1vYmpjYXAKKzU1NjUzIDAwM2NlMzZkZDIwMjIzNDkwOGM1YTc3YTIwZTljZWNlYmMwNWZiMmUgYmNhbm5vbi1vYmpjYXAKKzU1NjU0IDE4ODIxNmI0M2VmNmE3NGIzNzFlYjQ2ZjhiYWQ5MmQxNTYzNmIyZmQgcHkzay1zdHJ1bmkKKzU1NjU1IDM3YTI4NTZkOGYwZTFkOTFjZWI3MzE2Yjg4ZWYxMDg2OGE0ODdkZmYgYmNhbm5vbi1vYmpjYXAKKzU1NjU2IDc1YjljZTFhNzc0NWYzY2Y0MTg3OGM4N2Y3YTg3MzFkZGQ2ODM3ZTIgYmNhbm5vbi1vYmpjYXAKKzU1NjU3IDYyZTM5NGQ1MGFhMDYxMTMzOTYxOTczMzg5MjRmNDk4YTU0Mjk2MzYgcHkzay1zdHJ1bmkKKzU1NjU4IDY3OTZmMGNiMGJlYTQ4MTAwOGRlMTE0NWYxYWIxOTA4MjlkNWU1YWQgYmNhbm5vbi1vYmpjYXAKKzU1NjU5IGRlZmUyNTEzYjc4ZTE3MTA1NDdiZmY2ZDNlNGY0ZDlmM2ZmMDFkNDIgYmNhbm5vbi1vYmpjYXAKKzU1NjYwIGNlYmFmN2MzYWI4Yzc1MGE4MTYxZTlkZWUzZGUyMWQ3YzRmZjc3ODIgYmNhbm5vbi1vYmpjYXAKKzU1NjYxIGI2ZjA0OTc0ZDhhNzdmZmQ4YTM2MmY3YTNkNDQwYjZiMGFmZmMwODQgYmNhbm5vbi1vYmpjYXAKKzU1NjYyIDU2MjYwMmM5MTAxZDlmMWVlYWZjYWFhNmZhODlhNDFjNTQxN2IzN2UgYmNhbm5vbi1vYmpjYXAKKzU1NjYzIDM2YTA1Njk2YmU4MjE4MDkyNjVjZGRiYzNjYjUzODkxZTkwYzczYzQgcHkzay1zdHJ1bmkKKzU1NjY0IGY0MGZmMmQ3MzhlYTQyNjRiMzBlYjg3OTRjMzllYzY4MjlhOTU5ODggcHkzay1zdHJ1bmkKKzU1NjY1IGM0MGJmYjM3ZmExNTQyNGU5MDRkM2FkNzMxOGZkY2U4YTI2ZWNmOTEgcDN5aworNTU2NjYgNDE4MDU5OTk0ZTQ3MjIyY2JhOWQ0ODliMjZmMjcxNzZhMWViMWUyZCBwM3lrCis1NTY2OCBhYTRiNzI1NDlhNjk2ODI3ZTBjNDM0YTE3YjA4ZGVjZmQyMGE5NjdlIHAzeWsKKzU1NjY5IGQ1YmJmOTc1NzBlMzYyNmRjMThjMTEyMGNlYjMxMTVlMzRjNjFhMDkgYmNhbm5vbi1vYmpjYXAKKzU1NjcwIGU3MWRlNTc1MTNlMWJkM2IyY2I1ZTVmOWE3OWJjNjMxMWI4MzhkNjIgY3B5X21lcmdlCis1NTY3MSAwNjM1YTZjYTE5ODAwMjIwZTdkZDQ2NDllMjI4ZmI0NDVkM2VjMzc1IGxlZ2FjeS10cnVuaworNTU2NzMgN2QzNzljNDc2MDA3NDIxNDUzOTYzNzc5ZDU2NjUyNGYyOGUyMDU0NSBwM3lrCis1NTY3NCAzYWZmY2UyZWY3ODJjYmVhYzQ1ZGQzZTYzZmEwZjQ4ZDY2YTNhZTQ1IHAzeWsKKzU1Njc1IGRkMzk2MzU0MGNmNzcwOTQwOTBhMjk0NDE1MmJiYjIxNGEwZTA3MGQgcDN5aworNTU2NzYgZGRmMDQ3MWE2ZGUzNzNiOTRjNGZjNmJhZmZkZmYyZTY5MGYxZGM1ZSBsZWdhY3ktdHJ1bmsKKzU1Njc3IGFhZjNiNmQ4MmI2M2YzNmRkODc1OGNmNzcyYmNiNWVlNDY2MzU2ZjAgbGVnYWN5LXRydW5rCis1NTY3OCAyNzVkODdhNDdmNjQxNGZlNjlmMzQ5Mzg0MDFkNWFjMDA3MWEzZjQ2IHJlbGVhc2UyNS1tYWludAorNTU2NzkgY2RlYTA5NGNmMDQ1MWY2NzBmNjQyMzY4ZmU1M2IyYTJhMDc3MjhmYSBwM3lrCis1NTY4MCAzOTRhYjVmZjE4NTRlNDE2YWQzZDI2NzM5OTNmZjA1ZmE2M2JjMjUzIGNweV9tZXJnZQorNTU2ODEgYmE4YjVhZDhlNzZlYmQ3ZWNhNWQwYWMyOGE1ZGQzZDAwNjMyMDhhYSBjcHlfbWVyZ2UKKzU1NjgyIDUxNjc4NTc4NTFjMTA5ZDRiMjY0YWFkN2EwOTMwMjU1MWMxYjIwMmMgY3B5X21lcmdlCis1NTY4MyA0MWM3Y2QxNmIxOThjMDA2ZGEzNDAxMjA2YzU3YmZkNzE0MTMyZmI3IGJjYW5ub24tb2JqY2FwCis1NTY4NCBhY2QxZTI2MjQ5OWRkMjhjZmEzYjRkZjQ0MjlhNjhiNzIzNGNjNjE3IGJjYW5ub24tb2JqY2FwCis1NTY4NSBhNjA0MmM3ZDdjNTVmYTJjMWIxMmVhYzA3OGZiMGYxNWU1Y2Q3NjM5IGJjYW5ub24tb2JqY2FwCis1NTY4NiA1YzI5NDExYTA1YTVmNTljNWVmODEwYzhkNjdlMWUwYzVhODQ3NmY4IGxlZ2FjeS10cnVuaworNTU2ODggYWQ2YzViODhiNWM0YjAxOTcwZTBjMTM0MGFlYTg2NjI1NTcwZDkzNCBwM3lrCis1NTY5MCBjMmRjNGQxN2U5OGJjNDA0ZDQ2OTQ3NjEyOGJmNTczODE1ODc2MTdhIGxlZ2FjeS10cnVuaworNTU2OTIgMTc2OTk5MzExNzllOGYzMDU2Yjk1NDczOWRhOTIwZjhjYjE4MjYyMCBwM3lrCis1NTY5NSAxMjAwYzBlMDk1NTM3NjU5MTJkYjE5ZGIyMjM5M2M1YTY4MDBmYmZmIGNweV9tZXJnZQorNTU2OTYgMGUyOWJiODBlMjI3OGVmNjJlNWQyMzQyNjkyM2FhOTYyYmUzMWIwNSBsZWdhY3ktdHJ1bmsKKzU1Njk4IDhlN2VjYmQ4YWFhYjE4NzY4NjAxNzMxMDEwMTY4ZWI1ODM2Yzg2NWQgYmNhbm5vbi1vYmpjYXAKKzU1Njk5IDBmNDI0ZGU0NTZkYjQ2MDk5MGVlNzU2NGQzYjEzZmNiNjc4ZTJhMDcgY3B5X21lcmdlCis1NTcwMCBiYjk0MmI2MGIwZmVmMmI2MmY1OTc1MjYzMjJhOGJiNDI2NGQ5MGUyIGNweV9tZXJnZQorNTU3MDEgZGZjZTlhMjYzNWU5NmNmMTJhNTM1MmJhODNlMzBiMjJiNTA1OWIwMSBjcHlfbWVyZ2UKKzU1NzAyIGRmM2Y3NmFjZTJkNzRkNzNkZTkwM2YwNThkY2FlODViM2E4NmUzYjIgY3B5X21lcmdlCis1NTcwMyBhZjBhYzgzNjAyYjQ3ODZhMjExNWU1YmQxMzZhNTQwN2RkZWI5MTU3IGNweV9tZXJnZQorNTU3MDQgZDhhNmFmYTZlOGM2MGVlNzVkNWEwNDk4ZjU1NjQ3Mjg2ODk5NzkzNSBiY2Fubm9uLW9iamNhcAorNTU3MDUgZDBiNGJiYWFmYWFlNGM0MTViNTVmOWI3YjBmOTdmODg1MjcwNGEyNiBsZWdhY3ktdHJ1bmsKKzU1NzA2IGRkNDY4OWQwZWM4NWI2YzEwM2E1NjMzZDQwMGM5NjY5Y2UxZjI1MWYgcHkzay1zdHJ1bmkKKzU1NzA3IGYyODdiODhjM2MyMWNmYmM1NDQyNTMyMWVhYWUyNDVhMDhmZjA3ODYgcDN5aworNTU3MDggYzQ1MTExNTBlZjYwNzEyMGU2YzM5ZmUzZDlmN2M0ZGI0NGUzZGFjNCBwM3lrCis1NTcwOSA3MWQ4NjFlZTlmZjBkYmRhZTA3YWUzYzQwYjMyZWVjMThhMzA2NmJhIHB5M2stc3RydW5pCis1NTcxMCBiOGJlZjlhMWNkZjAxY2Q4MWI0ZDZlNzUxYTY4MDZmNGI0YmQzNDg2IHB5M2stc3RydW5pCis1NTcxNCBkYmQyY2Y0MDUyNzgyNWZiZjExNGU0YTkzNmEwNmU3MmZiNjU5NWQ4IHB5M2stc3RydW5pCis1NTcxNSAxMjdmMTUxZjMxN2I3N2VhNjEzMzhkNjc2N2JkODQwNmQ5MGVhMjc3IHB5M2stc3RydW5pCis1NTcxNiBiMzgwYzljNDk3MzhhY2EwNWExNTNlZDY1Y2E2YzdhMzhlNjgyNmVlIGxlZ2FjeS10cnVuaworNTU3MTggY2VmMDdkYjFjYWVkMWEwODI3ZTQ5YmQ5MTcxZTQzYjUyYWVkOThkOSBweTNrLXN0cnVuaQorNTU3MTkgOTFiYjE5ODEzY2E2MTFmY2EyMTA4MWRmMmMwM2UwZDA1NWQ0NDU3OCBsZWdhY3ktdHJ1bmsKKzU1NzIxIGM2MWNhYWY1NjE2MzBhMWVhNzBkNGE1MDRlOGU3ODY3NmEyMThlMmUgbGVnYWN5LXRydW5rCis1NTcyMyA2NjdjMWE3Mjc5YzlmN2NiNDg3ODM2YTU3NjlmN2IxZWRiZTIzMDE1IGJjYW5ub24tb2JqY2FwCis1NTcyNCA1Y2E3ZDE3MGU0MzEyZjU0MGI0ZDYwMmI4ZWUyMmU4ZjIzNDczYWEwIHAzeWsKKzU1NzI2IGNjZjIwOTkyNTM4MzY5ZTdmOTgyMDY3YzU1NDEwZDNhOGEwMzYwMmYgbGVnYWN5LXRydW5rCis1NTcyNyA5Njg2MWEwNDFmNTQ2Y2Y0NzhmNzY5Njk4NjM0ZmQzNzk3NDIwYTI5IHAzeWsKKzU1NzI5IDI5MzRhZjA1ZjhiZmIwOTJiY2QxYzA1ZGFmYTc0ZWExMmJlYzg3NTIgcDN5aworNTU3MzAgOWFjYjM5NDc4MGRmOTM2MTliZGIwNGU2ZDIzZTFjNTUyNmFhZWY5YyBwM3lrCis1NTczMSAyNGVmYTJlNDQ4YmNlMmZhZTEwYWI0Yzc3ZmExYjgzNGJiZjY3YWRlIGxlZ2FjeS10cnVuaworNTU3MzIgOTA0ODdhODg3YmUxMzZmYmU5MjQxYmU3N2UxZWFjZmU3OWExNTZlMSBsZWdhY3ktdHJ1bmsKKzU1NzMzIGZlYzEyOTY1NDRhYjk2YzBlZjUyODJiZGU0YjI0Y2QzY2ZjMzljMTQgcmVsZWFzZTI1LW1haW50Cis1NTczNCBmMDEyMWIyMTVkMzg5NjAzMTMzNzRkN2NmYjZhYjE1OTM4MmJlNDQzIGNweV9tZXJnZQorNTU3MzUgZmJiZjg1MWUyMzBhNTllNWZkNjM5YzQ0NDg0OThmOGI3OGZlYTc1NyBsZWdhY3ktdHJ1bmsKKzU1NzM2IGRhNTFmN2Y5MDhjYWQ4ZmU3ZmQ5MWI5MjFkYzM4Zjg1Mzc0NWUxOTcgcmVsZWFzZTI1LW1haW50Cis1NTczOCBkZmY2MjRiMmEyNDkxMDQyZTcyOGIyMTVlNGE5MjI1YjJhZmM3ZmVjIHAzeWsKKzU1NzM5IGY5ZjYwMDAzMjdlMjdiZDJlYjhkNGFjNWIxMTkzNGJmZDQ5OTM3NGEgbGVnYWN5LXRydW5rCis1NTc0MSAzMjhlNDU5ZWI2NzAyOTYxMWZkZjhhMzg3NTYwMzMzODJmZjE1MWIxIHAzeWsKKzU1NzQyIDdiM2Y2NGIzZTczOTM4OGVkNDNmZDBiNGRhZWVhODRjMDc5OTk2OTggcDN5aworNTU3NDQgMDRmNGI1NTdkM2M0NTExYjNjZTEwZTMxYTI2NGRmYTlhMDUxZjgwNSBwM3lrCis1NTc0NSAwNDE4NmY1MjE5MmRkYjEzZTNlMmVmMzEwMzE1NWI4ODQxZDM4Mzk0IHAzeWsKKzU1NzQ2IDdlMGMyMjBiNTVhNjQwMzNjODNkODdiNjFhZGM5OTNjYzllOWU5MjMgbGVnYWN5LXRydW5rCis1NTc0NyBiNGYxM2M3ZmRmZDg4ZDE2OGExNWQ1MjIyZGIwYTBkOTM4MzczYzZjIHJlbGVhc2UyNS1tYWludAorNTU3NTEgZTMxZDJmOTVmMjI1NGQyNDZkM2U1OWYyNDNiYmM5ZTBlMzVmZGQ5NyBsZWdhY3ktdHJ1bmsKKzU1NzUyIGUxOTk3MjgzNDE3MDg4ZGFjYjY3OWM1YWYyMTBjMWRmOGM3OWJlMzIgbGVnYWN5LXRydW5rCis1NTc1MyA4MmI5M2ZhOTFkY2YzNDEzZDAyYjk3ZmYyZWNkMTkwOWMzNmUxNDYyIHJlbGVhc2UyNS1tYWludAorNTU3NTQgYWJkZTA4Mzg0M2NkMmNhMzIxOWFmZWU4NTQ3MmZlZGZkZjlkODYzNSBwM3lrCis1NTc1NSBiOGFiZGZhMWM5YWZjMTAwMmQxMjI5NTBmM2IyOWE1NWM0MGRmMDNjIHAzeWsKKzU1NzU2IGY2ZmFiMWM3MDdlOTA5ZmZkMDU3OTRjZmUxZjZkZjU4MmEwMWNlN2YgY3B5X21lcmdlCis1NTc1OSA1MDE0ZjhkYWE1N2ZhZDU3ODZiYWE3ZGY0M2EwZDQ2NTRjZTNlYmZhIHB5M2stc3RydW5pCis1NTc2MCBlNGFiMDgwMzljNzVmODBmZDhmOGVlOTU1ZjYwMTc3ZDU1NjdkYzA2IHB5M2stc3RydW5pCis1NTc2MSA3M2RkMmRhMzFkMzdlYmQ4M2VmY2NiYjUwY2E4NTIyMzVlMjdjNTBkIHB5M2stc3RydW5pCis1NTc2MiA4YmNmYzQ2ZTQ0NGI1ODI2NmJkY2NiMWYxYWE2MGJmYmZlMTM5YzU5IHB5M2stc3RydW5pCis1NTc2MyA1Mzk2M2EyZjU2NTI5YmU4YzE2NTQ4NGU1ZGU2Y2RmZDg5YThmNDE3IHB5M2stc3RydW5pCis1NTc2NCA1Nzk4YTJmYmFiMDMwNGYxMzY3YmYxNTg2OTJiODljNGRiZjE0NzFmIHB5M2stc3RydW5pCis1NTc2NSA3MTYwNGQ0OWEzODYzOWVjYTE0NzJmMTdkNzZiODU4MzkxMWE3N2U1IGNweV9tZXJnZQorNTU3NjYgYzM2YWM2N2VlZjViNzc2YTEyYzA0NzUzZjcwOGE1ZGM5YWNmYmVlMCBsZWdhY3ktdHJ1bmsKKzU1NzY3IDRiMzRmYWFhOTc3ZGU4OTY5YjJlMmI5NDU4ZTkxMTU2OTI2OTAxMmEgY3B5X21lcmdlCis1NTc3MCBiNmMxYTFhMTVhNmNkYjQ1MDFhMDU4ZmUwZDM5NjA4YmM4OTkxYmFhIGxlZ2FjeS10cnVuaworNTU3NzEgZTNmYmRkN2NiOTY5Y2ViOGIyYzg0Mzk2YmRlYzg4MzkxZjZhYzAyNyBjcHlfbWVyZ2UKKzU1NzcyIDc2MTk0ZTY4MmUyMWNjNmFkNTNmZDRjNDMwZTM0NTJjM2RjOGVkOTYgcmVsZWFzZTI0LW1haW50Cis1NTc3NCBjNWNmOWE0ZjRmYTk3OWNkMTc1NTU5MTliNmQyODc1MTQzOTQ4YjhkIHJlbGVhc2UyNS1tYWludAorNTU3NzUgMzVhY2NlZGI1ZDAzYjQ4ZTAxZDc5ZjgyNDAwM2YxZjZiZWY5MDkxMiByZWxlYXNlMjQtbWFpbnQKKzU1Nzc1IGNmYmNmZjY2ZTcyNWFiNDI4ZTNlOWEyYjE1YTJjNzc5NjM4OTZjYWUgbGVnYWN5LXRydW5rCis1NTc3NSAwMTgxMzg0MWQ2NGJmYjQzNjZjZTBkZDExYTZlMGY2ODI4ZDJmNjBiIHJlbGVhc2UyNS1tYWludAorNTU3NzYgMzlhMWEyMmY5NmNmNjNmMTM0MjlkNzVhYTQyMGU3ODJjMGY4ODQyZCBweTNrLXN0cnVuaQorNTU3NzcgYjNmNjFiYWUxMGMzOGNkODU5NGEwZWYzMTA1YjFiNmZjNzI4MWFlMiBjcHlfbWVyZ2UKKzU1Nzc4IGVmMzc0MzFlYmYyYzk0NWUxZTNhYzgxM2JmZWE0MmJmOTYxZGQ3YmEgcHkzay1zdHJ1bmkKKzU1Nzc5IDRjNWZiZTY1YjdkZTc5MzU5ZDRmMTU3NTY0ZjI4ZDE2ODYwNjQ4NzUgcHkzay1zdHJ1bmkKKzU1NzgwIGIzMGM3NWQyMmYzNGIyMzk3MGE0ZThlMzhkMjg4NmM0ZmI0NTk5MmQgcHkzay1zdHJ1bmkKKzU1NzgxIDcwMTVjY2NmMjllM2JiZDc1ZGMyNzQ3NjJjMjA5ZDNiNGYyM2EwZWIgcHkzay1zdHJ1bmkKKzU1NzgyIDMwZTYxYWMxZDY2YzYyY2NmNTQwOWE1NTQ2YjU2NDUwODBmYWQ1MGMgY3B5X21lcmdlCis1NTc4MyA5YWY1MjRlMzUxZjMyNTBmMzFmMGQ2NDkwNzg3N2I4ZWI3MWEyYzJiIGxlZ2FjeS10cnVuaworNTU3ODQgZjIyNzc0MzlkY2RjOWY4YWQ0YTg4MzlhNDk3ODk4YzAyYzgzYmM4MSByZWxlYXNlMjUtbWFpbnQKKzU1Nzg1IDU4ODY4NmQ0YzJjZjg3ZWI5Njg0Yjc2ZGM1ZGQyOTE5YzA3NzI2YzAgbGVnYWN5LXRydW5rCis1NTc4NiA2ZmQ4ZDUyNGQ1NmIyZTY4ZWViNjU0MjM4ODBlNTY1MTQyMzYwODgwIGxlZ2FjeS10cnVuaworNTU3ODcgMTE5MzBkY2Y5ZDRmYjRkYWU2Yzk0ZWY0YjdjNTBlNDA2MTYxYzQ3ZiBweTNrLXN0cnVuaQorNTU3ODggN2U1MmI1YmVjNWE0MjY5OTc2MzU2NTM1OWZlYWNhODliYTY4MDJhMSBweTNrLXN0cnVuaQorNTU3ODkgY2U1YWY5YTc0NmNiMjA4YzNlMmMzNmMwYjIwOTFjOTExZDYyOTBmYiBweTNrLXN0cnVuaQorNTU3OTAgNDU5NjcyN2Y2YzM5YmM1OGY4MWYxN2ViOGIzZDViMzNhOWNhOTMxOCBweTNrLXN0cnVuaQorNTU3OTEgYjA1YzZkNDJkNGY3MjFmYjY2YmQ5MzgwOTMyYjY0ZTE3YWI2MGJlZSBweTNrLXN0cnVuaQorNTU3OTIgZjE0MWM1Zjc3ODYwZTMwZGMzOTY4NmU0NTk1ZTk0NTRiNTkwYzE1ZCBsZWdhY3ktdHJ1bmsKKzU1NzkzIDA1ODc5YWI4N2U1YjQ4NGM5OTViNWU2NWU0NDMxYjQ5NWY2NjhlZWYgbGVnYWN5LXRydW5rCis1NTc5NCA3YjM3YTQzNzIzNjE2M2Y4YjQzYTk2NmY4M2FiYmJjZTZhZjY0Y2U0IHAzeWsKKzU1Nzk1IDlkMDJhNGFkZjU3NDgxYjYwZDJmOTc1YjZjNTc5ZjFkNmQxYWQ1OTkgcHkzay1zdHJ1bmkKKzU1Nzk2IGIzOTAwYTUxMzQ2YjUyYzRkMTFkZTk5NmFmMDA4N2JkOGQ3OTQ3NzQgcHkzay1zdHJ1bmkKKzU1Nzk3IDU5YjdlOTM0Njg4NWNjNjBjYmFlZDhmMDZjNzBhZGY4NGRiZWVmOWEgcDN5aworNTU3OTggYzYzOTIyOGNmZTIzZDQ0YTljYTE1OTExNmI5Mzc3ODY2Y2IyNWY2OCBwM3lrCis1NTc5OSBhMzI2MWNkZTNhMzdlNjgzYjIyNzEwNGM1ZGVjNzNmNjY2MGUzNjcyIHB5M2stc3RydW5pCis1NTgwMCBmZWU3MWM3YWY1MmY0ZjBlMDk2ZWRiYTU1OTNjMTEyYjc5YTQ2YmI5IHB5M2stc3RydW5pCis1NTgwMSA5NDJkODMwMmY0ZDZmMTU0Mzk0MDI0MDYzMzJhNGM3MzRmNmM1Zjg2IHB5M2stc3RydW5pCis1NTgwMiBjOGIwZTNiOGI0NTZiYzhmMmFiNTlkNDU1ZTY3OWEzMWU0ZTQ3NGYzIGxlZ2FjeS10cnVuaworNTU4MDMgYzJhYzIyYzZmOThkMDNmY2QyODQ2OTUxNGIxNzA3YmE4YTg2YTExYiByZWxlYXNlMjUtbWFpbnQKKzU1ODA0IDFiYzkwMWRkYjdkYzIxYjNhZGRhN2U5N2YxMDIwYjZhOGU2ZDA0ZDAgbGVnYWN5LXRydW5rCis1NTgwNSA4MjNjMmY3NTkxZjUwMmVhODRlMDAwYzQzNTNlODkzYjFmOWFjNDhkIGxlZ2FjeS10cnVuaworNTU4MDYgODE1MGQxZjAxMGFhYzU2NmYyM2QwMmZhNjllOTU1Yzc2N2UxZTdlNyByZWxlYXNlMjUtbWFpbnQKKzU1ODA3IDE0NzQ1YjRmYTcxOGE1OWY1ZDUxZGE0NGNmNmU5ODhjOTU0OTcyYjQgcHkzay1zdHJ1bmkKKzU1ODA4IDgyN2VjNzY4MDE5OTUzNGZjOWNjNGU5YmRjZmM0Y2RkMjE2NWNkYTUgcHkzay1zdHJ1bmkKKzU1ODA5IGNkOGYxNjViZDdlMjk3YTRhMWZiYmM2YWEwYWIyOTJjZDUwMTE4MDUgcDN5aworNTU4MTAgYzZhMGI3NWRiZWMyMjhmZjkwNzUyY2YyYjVlM2Q5MzNkZDI5ODk0MyBweTNrLXN0cnVuaQorNTU4MTEgZWYwOWNiMDExOTU5NjRhM2ZkZDYyMWQ3ZTE1ZjgxZDJiMGM5YjJmZiBweTNrLXN0cnVuaQorNTU4MTMgNTRlZjY0NWQwOGU0ZmJiNmMzOTM5NGIwYTVkYmM3MDkxOGRhZWNjMiBweTNrLXN0cnVuaQorNTU4MTQgYzQxZmQ1NzIzODYwOTYwMDk3MTRiYzc4Zjk0ODhmZWYwYTE2ZThjMSBjcHlfbWVyZ2UKKzU1ODE1IGU0MjAwMzkzNjhiNzliZTJiMTkyZDQwMjU1M2FkMDI4MjVjMWJhZmMgcHkzay1zdHJ1bmkKKzU1ODE3IGFlNmJhNjE4OGQzOGQ0MDRlMzBhYWM3ZDUxMmM2YjA3NTIzMzBlYzAgcHkzay1zdHJ1bmkKKzU1ODE4IDY0NjRjYzYzOGZhYTBkMTQ4ZjY3ZTE3MGE2YTMyYjgxY2VmM2ZhMTQgcHkzay1zdHJ1bmkKKzU1ODE5IGU2NmRhZmE5ODQwM2Q2MjU2NDQ2MjI1ODA1YThlZDEzMzNiOTUwMTUgY3B5X21lcmdlCis1NTgyMCAxNGVjOTY3M2Y4OTQ3YzczZjMyZGVlZGI3NDUyYmI4ZGU3ZDJjZDdhIHB5M2stc3RydW5pCis1NTgyMSAyNDUzYjkzNzkyNWU4OTNmZTg2NzMyZDc5NTBjNzk5Yjc4OTA0M2I4IGxlZ2FjeS10cnVuaworNTU4MjIgMjlkMWFmMjIwYzNjN2E1YjVjNGE4ZmQwZTFjYzAzMzJmOGQ3ODRkYiByZWxlYXNlMjUtbWFpbnQKKzU1ODIzIGUxNTNiYTM1MmI1MTNjNWY4Yzc4YThkYjcxNzM5ZWY4ODAyZjBhYTMgcHkzay1zdHJ1bmkKKzU1ODI0IGY0OGMxOTdmOWMzOGZkZTZmNjQ1NjNiY2EzM2JiMzc5OGMxNDhhNDEgcHkzay1zdHJ1bmkKKzU1ODI1IDU4YTEzMzMwZGZkZTk5NjdmOTM4MjI5ZWZjNWVjZDE5NjQ0ZWFjNDggcHkzay1zdHJ1bmkKKzU1ODI2IDBkODFhNjU2NDEyYTE3ZDQxYWE4YTc1N2E2NzIwMDI3NTJjMTQ0NzYgcHkzay1zdHJ1bmkKKzU1ODI3IDE0YjY1ZGU5Yjc5ODU0OTBhMTc4YjU2YjIyNGE2Y2Q4MTY1Zjk0NzUgcHkzay1zdHJ1bmkKKzU1ODI4IDUyMmE0OTQ1ZGVmODBlNjBjNzIzZTdiNWYzMzkzNWUwNWU0ZTUxYzAgbGVnYWN5LXRydW5rCis1NTgyOSAxYmJjZDM5MjQxN2RjYTU3M2JkYzBkMjkyMzI0MjI0OGY4NjhhYTQ0IGxlZ2FjeS10cnVuaworNTU4MzAgMTBmOGE4YTkxOWUyYTBkMDk3YjdhMmM0OWMyYjQ0ZDUzMTJjMDE2NyByZWxlYXNlMjUtbWFpbnQKKzU1ODMxIDdiODRlODkxOWIwMDBjNTEzMjRhNGJhNTZlYjc0ZTQ4ODNjYWE3NWUgbGVnYWN5LXRydW5rCis1NTgzMiBiNGY0ZWU4NGMzMGQ3YWFlODEyZGNjZjg2ZTAzMTBkOTU5ZjI2NmVlIGxlZ2FjeS10cnVuaworNTU4MzMgODY5MWNjNzZkNDQxOTI1MGNlNTJmMmM4ODY1MWFiYzAzMGEwODA0YyBsZWdhY3ktdHJ1bmsKKzU1ODM0IDA2NzJkYmVkNWY3YTk3OGUxNTY2M2QyZmE2NGY5N2ExZTNiNmVkODIgbGVnYWN5LXRydW5rCis1NTgzNSBkNjBkMGQwZWU0ZjhjOWM4MzcyOWMzYmQ2N2FiY2I0ZGNiYjEwYTcyIHJlbGVhc2UyNS1tYWludAorNTU4MzYgMmJmNGRjOWQwNjQ3YmNhZTU2MTI0MzhkNjYzYWI5ZDkyZmEzNDcyZiByZWxlYXNlMjUtbWFpbnQKKzU1ODM3IDA1MjdhYjk0M2E0ZjIyMmNmODYxODEyY2I3NzkyMzBiODg5NjVkOGEgcDN5aworNTU4MzggNzlmMTNiZjhkZDI3YTI4NTc4ZGE5ZDZhMDk3ZGY4Y2M0Y2YzMGVmMiBwM3lrCis1NTgzOSBlNjJiNjA2ZWZmMGI4MzY2ZWYwMGY5YWY2NmM1MjY4N2Q5NTRkODAxIGxlZ2FjeS10cnVuaworNTU4NDAgMmJkOTQxN2RhY2Q1YzUzYWJlNzg1NGVlZDY0NDg5YzA0OWIwZGYwOSByZWxlYXNlMjUtbWFpbnQKKzU1ODQxIDE2Y2VlNjc0YTQxMGU1OTI2MjViZTQ2MGNjOGNmYTA1ZjU3MTY0ODAgbGVnYWN5LXRydW5rCis1NTg0MiBlODQxMzk3MTIxMmRmOTQ1MDkwYTQ4ZWJlZGI2NTRkMDU1MWU1NTg2IGxlZ2FjeS10cnVuaworNTU4NDMgMjg4MDVhNzIwNDU0MDAyYzhiMzZkN2I1OGE2YjBmOTU5NTczMTJhYiBsZWdhY3ktdHJ1bmsKKzU1ODQ0IDdjOTIyNWRhNWY2MTE1OWI0MzY4ZjM0ODIzODViYTc4ODA3Nzg5NDYgcmVsZWFzZTI1LW1haW50Cis1NTg0NSBlMmMzOWEzMGUwOGRkNmRjNDk5ZjViNWM3MDFkNzY5ZTZhZDIwYWJiIGxlZ2FjeS10cnVuaworNTU4NDYgNzMxYjY5OTQyMzE3ODAxOWYwNjJmNjBhY2Q2MTBjZWJiNTNjZmQ0YyByZWxlYXNlMjUtbWFpbnQKKzU1ODQ3IDNkYzUwN2NhMmUyYmViYjUxMDM0ZGRkZjQyOWY5MzQ5YjA3YzNmMmEgcDN5aworNTU4NDggNTljNmY0Y2JiMzI2OGVjMmE0MDc4MzkzN2I3ZjdlZDU0ODlmZTIxNiBweTNrLXN0cnVuaQorNTU4NDkgMDIyMjRkYTYwZmQxODNiZmUxNWFhZTlkZmFmMWY1NmQwZDhmODNmMCBwM3lrCis1NTg1MCBjZDEyNWZlODMwNTFiNGU1MDg3ODlkYjg2NDQ3MWM2YzJmMjExN2Y4IHB5M2stc3RydW5pCis1NTg1MiA2NDQzODUzYmEzMTQ4OTFlN2NkZTdjMWViMTQ4OTE1ZDE3MWFkNTZiIHAzeWsKKzU1ODUzIDZiZWI3NWVlZTljNTJmMmIxMmM5YjQ3Y2MxZDE4ODYzZTM2YjYyM2QgcDN5aworNTU4NTQgYjFiOGVlODA3YmRhZGUyMTlmMzA2YzJlMjMxODE1MGJmN2M4NTc2MSBsZWdhY3ktdHJ1bmsKKzU1ODU1IDNkZGFhZjYxNDgwNDRhYjc5ZTA2NzdiMjJkNTI3NGI0MGI5MWZiNWMgbGVnYWN5LXRydW5rCis1NTg1NiBiMjM5YTJiY2IyNGYzNTNjMTgyMTM3NzRkNDA1NDU4NjQzNDU4ODRmIGxlZ2FjeS10cnVuaworNTU4NjAgN2VhY2NmNTNhZGJkMTRjM2E4YjcwYTE4ZDFkOGU5YjFmZWY1OWY1ZSBsZWdhY3ktdHJ1bmsKKzU1ODYxIDc5OTBiYjI3NTljYjM3OTRjNzFlOTcxYzUwYzYzOGU2MWIwM2QyNmUgcHkzay1zdHJ1bmkKKzU1ODYyIGY1YjY1NzMxYmQ2YzlmYjYxYWRiNmI1NmM3NGMzZmQzNzBhNDc1ZWUgcHkzay1zdHJ1bmkKKzU1ODY0IDZhNDM4MmNlYjcxZTJjOTNjZmVlZDJlNDU4ODBkN2VkZDI4ODc1NzkgcDN5aworNTU4NjUgMGU5YjBiOGZjM2U3Y2YxZDZmYmFkNWMxNDhhZTIyNWNkZWZmNzhlOCBwM3lrCis1NTg2NiBiMzdhNTY4ZmQ0NDFlYjU1YTJhZTk1NTg2MzliYjc2YWQwZWI3YzIwIHAzeWsKKzU1ODY3IDJkNWUyMzY1YzdkYjA1YjgzMGU1MjIyZDRmMmJjNDRjZWQ3OGYwM2QgcDN5aworNTU4NjggOWU4NTdiNmMxZTU2M2U3NzRmNDQ0MzIzY2QwMmNhNTg0Nzg2ZDQ4MCBwM3lrCis1NTg2OSAxOWZhOWM3ZDNjNGYwOWQ0YzIzOGM0NGY3ZjY3MDNkZDllYWNlZjUyIGxlZ2FjeS10cnVuaworNTU4NzAgZTFhZmU1NmNhNmJhMzA4MDkyMTMyMjg2N2YyMzZkOTM4YzY4ZDIwMiBsZWdhY3ktdHJ1bmsKKzU1ODcxIGI3ZjhkZGQwNzJiODU4ZmEzNGRhOWFjMzI5MjBiNDcwMGM2OWUyZGMgcDN5aworNTU4NzIgNTliYzhkYTAxYzY1OWNmODE0NTdmMGZmMGFmMDE5MTQ0YWI4NTNhYiBsZWdhY3ktdHJ1bmsKKzU1ODczIGRkZTdjMzdmNDUzNjRkNzY2MWYzODBiYWJkOGJhZTBiZGQwYmNlNDAgbGVnYWN5LXRydW5rCis1NTg3NCBiOTRmMjg0ODA1YmU3MDgyNmUxYTU5OGM2MjcxN2NkZmMxMjBjZjIxIGxlZ2FjeS10cnVuaworNTU4NzYgMzZiOGQ3NGRlYjllOTIxMDJjOWJhNWY4YzQ2ZmNmMWQ3Mjc4OTMzZSBweTNrLXN0cnVuaQorNTU4NzcgNzVlZmU2YmY4YTNlY2VkODQxZmJlZmQ2YTQ3YjlhNjBmMTVkZjMxYyByZWxlYXNlMjUtbWFpbnQKKzU1ODc4IDcxZjMxOTI5MTVlMTMxZTJmOTFhOWQyODdmZTEzNjhlOGJkMGE0NzcgcmVsZWFzZTI1LW1haW50Cis1NTg3OSA0MzMyMmZmNWUzMTJjNGE1NDkwNDVjZTY1NmQxMjY0NGYxOWMxMDcxIGxlZ2FjeS10cnVuaworNTU4ODAgYzllM2M4MjgzOGMzMzgzM2NkNDBmNzVkODYzNDMzYzUyYmEwMmMyZSBwM3lrCis1NTg4MSA3M2I2Y2ViYzZmNzI3YTFjOWM0YWMwNGVmZDc3NzNlMTA0YjAyYmY0IGxlZ2FjeS10cnVuaworNTU4ODIgYjM1NmY4NzIwOTQxYjI1OTJhMmI3ZDJjN2U0NTI2YWQyMTUzZGEwMyBsZWdhY3ktdHJ1bmsKKzU1ODgzIDgyMTc4YTYwODJlYWZiZDE1MjE0ZmY0Njg1NGY3NTkzN2ZhN2Y5MDQgcmVsZWFzZTI1LW1haW50Cis1NTg4NCA2ZjNjMzM1ZWY3MTZmZmUwNGQ4ZDFjYWIyNjIwNDk2ZmRjY2MzZDZhIHAzeWsKKzU1ODg1IDliNmM0Njk0NmUwMmRkNWNmZjJhZDA5YzgyMDE3NTZlMDUwMWQ2YTEgbGVnYWN5LXRydW5rCis1NTg4NiA2NDQ5ODUwYzU3NTlhNTBhYzI2ZTEzNjJjODIzZTEyZTljOWI1NDExIHAzeWsKKzU1ODg3IGQxZDc5YzcxZmY2MmNhYWQ4OGE0ZTNhY2M3MGEwMWNjMTA5ZTBhYzYgbGVnYWN5LXRydW5rCis1NTg4OCA5ZDQwNWUxMzNkMGIyNDc3NmNjZjAzN2Q2MWU2YzljMGY4Nzg0NWViIHJlbGVhc2UyNS1tYWludAorNTU4ODkgOWJiZmQ4NDU2N2Q1MGE0MDlkYmNmMzIwY2ZhOWMwMmNhNWQ5OTgyNSBsZWdhY3ktdHJ1bmsKKzU1ODkwIGQwZTRhMzJmNmI3ODk1MTJlYjk0NDZiNWE5NGI1YTgxYTgxMmRmMzYgZGVjaW1hbC1icmFuY2gKKzU1ODkxIDE2MGI3MzE4YTNjYWI2ZTJlMjExNGIzZGI2NTBmMmYwOTAyMTMyNDMgcHkzay1zdHJ1bmkKKzU1ODkyIDE4MDg0NmI4NzU1Zjk4NGZiMTllZmFhNDgzMWMyYTI5YWU0NjkxNWEgcHkzay1zdHJ1bmkKKzU1ODkzIDA1NjYyN2NiMGU0MGEwZmNmZTUxYTRjYzU1NDYwZWUyNTFlN2MyNTUgcHkzay1zdHJ1bmkKKzU1ODk0IGY4M2NjOWIzMWE5NzdiZGU5NzM1YWMyZDM2NzM0YjMyM2JiMWY3NjQgcHkzay1zdHJ1bmkKKzU1ODk1IDk2ZWVmYzdhNjdhMGZjNTdlMWJkYTQ1ZWQ4YWQwYjlmMWVlZjJhMTMgcHkzay1zdHJ1bmkKKzU1ODk2IDNlNjRkMGVhYzc3NDhlYzhmNWVlNTI1OTI3MDc0MTlmNjIxY2U0Y2UgbGVnYWN5LXRydW5rCis1NTg5NyBlMGY5Mjc0MTRkZmEzOWExNjI2ODEzZWFiYjUxMjM0OTY1NTQ2ZGU3IHB5M2stc3RydW5pCis1NTg5OCA2MWZkNTQ0NGQ5NWY4MGJlMTQ0ODFmODhkNWM2MDZhMzcwZmUxY2UyIHB5M2stc3RydW5pCis1NTg5OSBmYWE2MjZkNmU2NzUxNzJkYWI1NmQxYmI0N2JmNmU2NGE2M2M1ZTZiIHB5M2stc3RydW5pCis1NTkwMCAxNzFmMGUwNzM2NzEyNmFjY2ZiYzI3ZmQ4ZDdhNWRiNjJlYzdkNjYwIHB5M2stc3RydW5pCis1NTkwMSA5NWJlNmMzYWRlNmU5Yzk1ZTNlNTAxOGRmNTQ0MmZkZjkyM2NlOGJmIGxlZ2FjeS10cnVuaworNTU5MDIgZDY3OGJhMDE3N2RhZmExZDIxMWNhNWMyNmYxNzFhZjYzZTBmZWFmNCBweTNrLXN0cnVuaQorNTU5MDMgMzkxMDUzM2I2NmM3YWQ0ODM4N2YzODZlYzVjZTFlNTE0ZDZmOGQ3ZCBweTNrLXN0cnVuaQorNTU5MDQgM2MzZjYxNWVkY2ZmZjdhMDViOTVlZTA4ODYyZThiNjU3ZDJkODljZCBweTNrLXN0cnVuaQorNTU5MDUgYzYzMGUzYTY4ODgzZGMzNDkwNDU0ZWE3YzJlMzhjY2ZiNTQwZjZhNSBwM3lrCis1NTkwNiA1N2MzNDQxNDk3MjdmMmU0ZjkxY2VlYmU5MmU2MjkyMTIxYTRlNzA3IHAzeWsKKzU1OTA3IDAyZDNlZDJjYzM0NzU5MDAyMmMwOGE3MjgzZjc1NTdmMjc2YWY1OTAgcDN5aworNTU5MDggMTkwZTJmMDY5YjE4MTgwMmE2MzEwYzFiY2VkZDAwNzIwZGU2N2MxNCBwM3lrCis1NTkxMCA1ZTE0Njk2ODY4Zjk3MTM5ZjYyOTRiMTA0MTllODNiMTZmZWFjYzY5IHAzeWsKKzU1OTExIDZmNzIyMDhjNjQzYjVlNDkwMWFiMTI0ZTU3ZTgwYzVjYmM2Y2E4ZTQgcDN5aworNTU5MTIgNWMyNmZlMDdkZWRmNWQ4Njg1YmMxMzgxMzUwZTA2NDk5MmEyZGUwYiBwM3lrCis1NTkxMyA3YmY4MzYwOTgwZjFmM2MxODEyNDM4ZTU3MWQxOGQwYTk4ZTE1YzkwIHAzeWsKKzU1OTE0IDhkYjA2OTY3NjJiNGYxN2Q3M2NjNmFlYjRhOTYzY2JkOWM5M2M5YzUgcDN5aworNTU5MTUgY2E2OTNmNGZkMDVkMGUyOWIwODA4MzNkMGM2M2E0NTNlODhlODUxMiBweTNrLXN0cnVuaQorNTU5MTYgODgxMjE2MmYwZjgyYTY5OGMxMTY1MTc2NGU3MDA2MTI2YTU3MThlZSBweTNrLXN0cnVuaQorNTU5MTcgODgxYWIxZDQxN2ViZTNmZWRiNDdiOGYzYjhjZTRjMjBhNWY5OTE5NSBweTNrLXN0cnVuaQorNTU5MTggODAyYzg0Zjk5YWFkMTViNjYwYjRlZjUwOTMzMmE5NDJkMmU4MDNjYSBweTNrLXN0cnVuaQorNTU5MTkgMDYzNTMwZmNjMzJlOWUxNDVjZWYyY2EzM2MzNDY2ZjkzZmM1MGVhMCBweTNrLXN0cnVuaQorNTU5MjAgNmQ2NDcyMWVjZDI2OGNlMTVlMWU3ZmM2ODc0N2M5NjcwMWI4Y2FiNiBweTNrLXN0cnVuaQorNTU5MjEgM2ZhYThjODA5NzAyNmJlNWYxYzBkNjA0MGU5NWEwMjc3N2ZhYjgxMyBweTNrLXN0cnVuaQorNTU5MjMgYTk5YTk2YjViM2Y1Y2MxNjI3N2NkYzRmNTBkOTE2NGMwOTcxYzBiNyBwM3lrCis1NTkyNCAxNzJkY2U1ZmFiYTFkYmFhNTQ3MmY4MDFkNWVlNDNlZDc2NTBiZWI5IHAzeWsKKzU1OTI1IDM0NzNhNjg1ZTVlN2Y4ZTQ0ZTliNTM2YWZmMjg5OWMzOGZiMTcwNDIgcHkzay1zdHJ1bmkKKzU1OTI2IGFmMjYwODAwNDAyMWQ2ZWRiMjA3ZTRmNWQxOTUyZDE4ZjljZmZjY2YgbGVnYWN5LXRydW5rCis1NTkyNyAwNDU5Yjg4ZTE0YjQxNDgzNzI0NDMwNjJkYzAzZGJhMDAzOTg5NjJkIGxlZ2FjeS10cnVuaworNTU5MjggYmE1ZDFhMzk3N2U5M2QxMGRlMjk3OWU4YmJkMDVhZmMzODlhZTQ0OSBweTNrLXN0cnVuaQorNTU5MjkgMGJkNzU5MTZlYzU4MTkxMmNhMGQzZTNkYjc2YWM5MDliNTJiYTU4ZiBsZWdhY3ktdHJ1bmsKKzU1OTMwIGQwY2ZmZjg5MzBlNTVhZWU3MGVhMTM4ZTViZjhhMDdiZjU5ZDEwOTAgbGVnYWN5LXRydW5rCis1NTkzMSBkYzdhODJjN2NlOWVjYjU4NWMyOGMwZDU4YjhkZjJmMWRlYzUxNDg2IGxlZ2FjeS10cnVuaworNTU5MzIgYmM5MGZjOWI3MGI3NjIzOTdhMWY4NGE0NTQ2NGJjYWFmYjgwOGM4YiBweTNrLXN0cnVuaQorNTU5MzMgNDg3NzAwODA3NGE5MWI4MDQ0OTA0Y2U1NDM1NmU0NWI1ZDFmY2JhOSBweTNrLXN0cnVuaQorNTU5MzQgNjU3ZmU3OWE2ZGZlYmIzYTUwNzZmZWI5ZDczM2ZkZjEwYjgyMzdlNiBsZWdhY3ktdHJ1bmsKKzU1OTM1IGU4YjIwNjBjY2I1OWM3YWI1MDlhMDhmNWJmYjlhYWIzMzc4ODFiZDggcHkzay1zdHJ1bmkKKzU1OTM2IDQ1YmI5N2E0ZThiNjcxMTc4YjY1M2QwMTE1MGJiYmZhNmE4ZmVlMWMgcHkzay1zdHJ1bmkKKzU1OTM3IDRmYjg1ZTZmODJlNWUyZjAzMjJjNjViMjI3NWY2YjM0NjA1ZDFhY2YgbGVnYWN5LXRydW5rCis1NTkzOCBlOWZiMDZiNDQ0NmUwZTllOTRlOTY0YzVjYmM2ZjI0YTFhOGU2OTA3IGxlZ2FjeS10cnVuaworNTU5MzkgNTYwNTcxOWJlZWUzY2FmNTM4M2NjNWY1OGIwOGIxNzVjZDA0N2M2YyBwM3lrCis1NTk0MyA4MjUwNDFmYzhlMmMxZWQ0YTNiZmYxNzY0MDU4Yjg1M2VmZGY4NDE5IHB5M2stc3RydW5pCis1NTk0NCBjZTYzYTVkY2IwYWYxMzQxNWY5YmZhNDc1NTFjYTQ4Nzg5Y2IwMjVmIHB5M2stc3RydW5pCis1NTk0NSBmODMzYjQzYzI3NTY4OWViMjQ0ZTZiZDFkNDA4NTI1NjFmMGU4Y2U4IHB5M2stc3RydW5pCis1NTk0NiBmYmFiZGIwZDdkZDIyYzRhNjE2NzUxZTg3ZTkxNzBkMzcwY2ZhYTAxIHB5M2stc3RydW5pCis1NTk0NyA4Y2ExZDNhN2Y0ZjBmOWRmN2U4NDI5MTJhZTc3ODg1NWY5MzYzYTkwIHB5M2stc3RydW5pCis1NTk0OCBkZTg4MDM4MTY1NGFmNmY3MjBlZmQ0MzMzMTBiYTE1MzllNzg1ZjYzIGxlZ2FjeS10cnVuaworNTU5NDkgMDMxOGEwZjU0NTIwZTQyNzFhOThjMWI3OTAxNmQxNzI3YTliZDAyZSByZWxlYXNlMjUtbWFpbnQKKzU1OTU0IDYwYmUyNzYxMDU3YmZkZDNlNDMxOGNhNTAzYWU5NGRjODk2ZDk2MGQgcDN5aworNTU5NTYgYjUzOTEyMTRkZjM1ZGVlN2U2NWY2OWY5YTRjNDhhNjBlMTUxMzgxMiBsZWdhY3ktdHJ1bmsKKzU1OTU3IDNkOWUwZWZjYTVkMzUyOTY0M2RiYWM5ZGQ3NzBmMzJhNTQ0ODNmOGEgbGVnYWN5LXRydW5rCis1NTk1OCA1MGJlYmVkYzYxNGVkNTRkNTQ0MzljNWJmNjJlMDgzY2Q1YTFlMjE2IGxlZ2FjeS10cnVuaworNTU5NTkgOWUxMTRiMWZkOTRlODM4MDhmZjUwODIwY2Y0YTg5ZGFkMzcxMjZjMiBwM3lrCis1NTk2MCAwNWYxZmQzMTM0NGRkOGJlNjgwOGE0ZDBlZTI5ZWZmZTEyZTkyMzg0IHB5M2stc3RydW5pCis1NTk2MSBmZmIxYWU3MjMzYTIyOTk4ZjE5OTFhNTBhMzhjZTRiODVmN2RhOTQxIHB5M2stc3RydW5pCis1NTk2MiAzNzE4OWUzNzVlYzc5NmFiMTYwN2M1ZDNmOTgxOTMzY2E3NmUwMDlkIGxlZ2FjeS10cnVuaworNTU5NjMgMjI5YzI4Y2I5YWZiMjMyOWMwZjU1N2JhZGJkNWFmMDhiMzQ2MmQ3MyBweTNrLXN0cnVuaQorNTU5NjQgNTM2OThmOWE0ZWI3NmU1NDhiMmEwYjY3NmNhYTc3ODUzZDZkMGIwZSBweTNrLXN0cnVuaQorNTU5NjUgNTY3NWY2YzNmZjgzZDFmMzA3ZjEyOWYwMmZkMGNhZDBmOGE4YWY3ZCBweTNrLXN0cnVuaQorNTU5NjYgOTczOTkyYTc0NDBhMWNjNTgyMTA4NTI1OGNjNjYzNmVkMjkyYWMzNyBweTNrLXN0cnVuaQorNTU5NjcgYjdlNTQ5ODU3MzIxNTk3YmE5ZDQ3ZDM1MmUzN2NjNGJkYTk0NjU1OSBweTNrLXN0cnVuaQorNTU5NjggMGUwMTBkYjEyMmM3MWEyZTIzYzYyZTA1MGFlMmRlZmNkYTVjOTliMCBweTNrLXN0cnVuaQorNTU5NjkgODY5MzdiMGNkNTZhNmMwYWFiOTkwMzQzNmYxNzU3OTU0ODVkNmEyZCBweTNrLXN0cnVuaQorNTU5NzAgNzJmYzdkMDI5ZDNkMmIzYzFkNmYxMDgzZjY5NDJiZmE2Zjc0MDY0MCBweTNrLXN0cnVuaQorNTU5NzEgZDE3YTI3MjQ3OTg2MzAyNjVhZDAzNTRkOTY0NjQ3NjBiZDk3NjJhNiBweTNrLXN0cnVuaQorNTU5NzIgMzY1NjdmZTAyZWE1ZDExMTRkMTNhYWU1MzdmOTVkNDcwYTExNzMyZiBjcHlfbWVyZ2UKKzU1OTczIDQ5N2ZhZGUxZjg3MzQ4MjQ2YWE0MDZkN2M0ZTgzNGM5YzcyNmZiNzcgY3B5X21lcmdlCis1NTk3NCAyY2Y3Y2U0MWVjNjAzNTliMjljMGE5N2FlN2QwZWZlMzEwNTUwODg0IGNweV9tZXJnZQorNTU5NzUgZmQ4ZGQ3NDQ3MGY5NTkwNDdlZjkzNGE5OWQ1ZjAzNDU0MjU5OTU3OCBsZWdhY3ktdHJ1bmsKKzU1OTc2IDQ0YjQ0YjBhOWZlMjU3Yzc0OGY5Mzc1MWQ1NzQwMGNjYjRlYWVjMGIgcmVsZWFzZTI1LW1haW50Cis1NTk3NyAyNzFmNjg2ZjYyMTgxMWRjYzYzMjgyMzQ5MzViNDEwNjhjZTk4OWE0IGNweV9tZXJnZQorNTU5NzggZjY1NjcyYjhlN2QxZmVlOTQ3ZTZmYjkxYTg1YzkyMzMyM2MyNDlmZCBweTNrLXN0cnVuaQorNTU5ODQgODVjNDQ2ZjRiMTk2MjJjYzg4YzhhN2FmYjQ4ZTg5MTQzMjU1NTg1YSBsZWdhY3ktdHJ1bmsKKzU1OTg1IDRmNmNlOThiMDYwZDFmYzZjOTQ1NmNiZDZmNTRmMWE2NWViNGExZDggcDN5aworNTU5ODYgMjQ2MzI0YjM5ODk2YjEzMGJkNzJlZDE4OGM1OWE0OWE5ZjdmNGYwYyBweTNrLXN0cnVuaQorNTU5ODcgNTgzOGJlYzdjMTE1OGFlMzAwNTc2NWU2MDdlOTg3ZDNiMDRlNDljNCBweTNrLXN0cnVuaQorNTU5OTEgNjcyN2NjOWVkMDlmZjFmNWIwNWRiMzE2YjcwNDk0OWQ5ZmM4YmMzNiBweTNrLXN0cnVuaQorNTU5OTUgNDg3NzQ3ZDkxMGM3NjJjMDJlYTNkZTdhZmQ2ZDM4ZmUxOTQyOTI2YiByZWxlYXNlMjUtbWFpbnQKKzU1OTk2IGQ2ZDFlODZhZDQ2YzFlOTBkN2U4ZTMxNDcwZmE0ZTgyNWEwNTRjOWUgY3B5X21lcmdlCis1NjAwMSBlZDZjODJkYTFhNmNlZWIxZDk1ZDE4NzljZDA0MTNkMWZiNjI1OGIzIGxlZ2FjeS10cnVuaworNTYwMDIgOWJhOTkyZjY0ZTk1N2YwNzg2YzA1ODQ0NjA1ZDJhM2FiNWYzYmNhNiBjcHlfbWVyZ2UKKzU2MDAzIGU0ZTZhNGQ3YzE2ZTk1OGNlNDkxNDAyNTM5MWM5MWI4Y2UyMmI5NTUgcDN5aworNTYwMDQgN2Q3YzQ4MDU2M2UyMWNjZmRjMDViOGE3ZWYxODM1NDBlYTNjNThiZiBwM3lrCis1NjAwNSA4ZTg2MDk0MzJlNTZjODkxZmEzYTgxYjU3NTM0YjQ4YjU3YTg1MDhmIGxlZ2FjeS10cnVuaworNTYwMDYgY2VkOGRiNjE4ZTViNmJlYTk1OTk2ODE0ODY0NzRmMTI0YzkwYWRlZCBsZWdhY3ktdHJ1bmsKKzU2MDA3IDQxZDQ1YzIyZjE0Nzg2MWQyODk5NWVjNzVmY2M4MGQwZTI4YTlhOTUgcmVsZWFzZTI1LW1haW50Cis1NjAwOSA4NTNiODQwOTMxNTE0NmY0MTMyNDNmMGVjZTk2NGEwMzQ2NDUyMTU3IGxlZ2FjeS10cnVuaworNTYwMTAgNTZlYzM0N2RhOGU0MmY0ZDY0OGY3NTlhMmU1YTBiMjI2ODA2NTNhZCByZWxlYXNlMjUtbWFpbnQKKzU2MDExIGE5YWVjYmY1YjEzZjAyM2M3ZGM5ODcyMjMzMzg4YjQ2NTkyMDIwNDAgbGVnYWN5LXRydW5rCis1NjAxMiAwMmRhNjMwNThkNmIxNGU5YTEwNjQ0Mjk4OTZlYmJhNDZmZGI1ZDk4IGxlZ2FjeS10cnVuaworNTYwMTMgNTk0OTdlYzI4Y2FhYmUxMzQyYTY0NTEzMmEzNzAxNWJlNDFkMjNjYSBwM3lrCis1NjAxNCAwODA1MTU3NzM0ZjhkOWRjMjBmOGM3M2Q5NDk1NGZiMzUxMzA0MjUzIHAzeWsKKzU2MDE1IDI1OWRlMzg3NDQyMDYwMjIyNDY3OTA0MmU0ODY5MjhjM2E3YzljMDAgcDN5aworNTYwMTYgODI4MjNlMTNiNjZjZDllNjBiMGE2YWIyY2E0OThhYTZkODMwOGUxNCBwM3lrCis1NjAxNyAwZTIwNDM2MjMyOWVkZTcyOTU0ZTAzZTk3MzA2NDY4NTJlZjkyZWFlIHAzeWsKKzU2MDE4IGI0NTY1ZTA5NjEzMWYxZDFkZjA0MTc5ODU3ZjcwMzhjMjU2YjQ5OWIgcDN5aworNTYwMTkgYjJlNzMzNmZlYjgyNmE3NmRiYWQ5NmE4MTZmYWU0YmRiZDYzNmEzNiBsZWdhY3ktdHJ1bmsKKzU2MDIwIGU0ZjY0OWM0ZjQ1NzI1ZWRmNmQ5YmJkYzZlNjYxOGZiYzcwMzk2NjYgcHkzay1zdHJ1bmkKKzU2MDIxIDMyZmUyYjllOWYxMTE0MzNjNzc4ODIxMTE4OWUwMDljNmMxMTkzODMgcHkzay1zdHJ1bmkKKzU2MDIyIGViYzg3Yjk0ZTZlYWI1ZDEwMzgwMzA5OTU4M2JiYmMzMjIzODNmZTYgcHkzay1zdHJ1bmkKKzU2MDIzIGE0YWU2MjY1M2E1Y2IxNjljZGUwZjVhZWZkNTBiYTE0YmUwYWM3MTEgbGVnYWN5LXRydW5rCis1NjAzNyA3Yzg5MmU3M2U4ZTQ5ZjUwNTU4YTI2MDkxZjIxNjlhYWY5YjRjNmU1IHAzeWsKKzU2MDM4IGFhYjkwODBhYzRjN2VhMzY5ZTJkNzhhMGQxNjRhYTBlZjk1NTM2ZDAgbGVnYWN5LXRydW5rCis1NjAzOSA2NmM4MzQ3YTY0ZGRhZWQwNWMxZGQ4NTg2ODA2YjdlODY2ODk1ODFjIHJlbGVhc2UyNS1tYWludAorNTYwNDAgMDRhNDE4NWJkNGQzY2MxNjUzNWQwNmM5MWQ5NjVmNWE2ZTM0YjU3ZCBsZWdhY3ktdHJ1bmsKKzU2MDQxIDY3ZjcwOTdjMzRmMzQ5OTgyODA1MWZhYzZlZDMyNDQ5M2QwNTE3ZTYgcmVsZWFzZTI1LW1haW50Cis1NjA0MyA3MGEwODMxZmVkYTY5MGU0NGE1Mjk4MTBmMjhiZjI5OGNiY2ViMzA4IHB5M2stc3RydW5pCis1NjA0NCA0ZGIwYTBjYzU3YWJlZTk1NDExY2UwZDE5OTM3NGNlZjJmMjhkNDJkIHB5M2stc3RydW5pCis1NjA0NSAwNDEzOWUzMGU2NGRhOTUxZWY3ZmQ1ODhmM2ZhMjdiNzcwYzA2NjlkIGRlY2ltYWwtYnJhbmNoCis1NjA0NiA4NDI1MzM0NzdjZWE1NDQ0OWViMTc3N2M2MjU2MjExZjU1MTQyNTI2IHB5M2stc3RydW5pCis1NjA0NyAxZjA2ZDVlZTQwYmQ3ZjJjMWFjODdhMzAxZjZiODk1MjNhMDVlMjk5IHB5M2stc3RydW5pCis1NjA0OCA2NzEwZjQ1M2NmNGE4YTJlOTU3NTliN2JmM2ZlODYyNzdkMjBmZjg1IHB5M2stc3RydW5pCis1NjA0OSAzODNjODkwN2JlYTA0NDgwMzFkZmI4NGY3Y2U1MTQzZWY4ZTQyN2M2IHB5M2stc3RydW5pCis1NjA1OCA2YjMyNWIwNjVhZWRhZWYzMWRhY2U1YmE5NmU3N2NkM2MxYTE5MGZlIGJjYW5ub24tb2JqY2FwCis1NjA2MCAzOWVhYTljMDI0NmU0YTJiMjA4MzhkNDRjNmVmMmZiODkwYzliNmJiIHAzeWsKKzU2MDY5IGUxM2Q1YjEwNTNlZjgzMTlmZTZmMWUyMDg3NjNkODQyZTIzNjZkMDkgcDN5aworNTYwNzAgYmU5ZGUwNWJiODg5Y2MyYjlkMTFlZDA1Nzg5NTgzNDZlYWY4OGI4MCBwM3lrCis1NjA3MSA5NTkyNzY4NDQ3NmJlMTZiZGIzZmEwN2VmNTJlNGE3MWRiODM5YjUwIHAzeWsKKzU2MDcyIGY5N2I2NmU5YWE4ZjBkN2I2NmY2YWQyYzBmYjRhNmYyZWQ5Mzk2YjcgZGVjaW1hbC1icmFuY2gKKzU2MDczIDQ1OTAxMjllNGMyYjVkZjhkNGQyNjdkYTg5ZTJkYzZkMDMxNzU0ZjYgcHkzay1zdHJ1bmkKKzU2MDc0IDc5YzI2NTYwNTZmNjc1ZWFhODUwYTI1YjRlMDE3Y2U1MmRmN2Q0OTMgcHkzay1zdHJ1bmkKKzU2MDc1IDhmYzkzMjE1YzBjY2ZiYjA0MDg4MTRjYTczZmZlZjMwM2ZiODZkYjcgcHkzay1zdHJ1bmkKKzU2MDc4IGMyOTFkMmY2ZDAxN2YyNTE1ZmNkNzE5NGNkYzc1ZTkwY2JmNDI0YTcgY3B5X21lcmdlCis1NjA3OSBiOWJmN2M3NjBhMTAyNWJiYWVjN2MyOTE0NDMyOGFkMGRkZmU3MjlkIGNweV9tZXJnZQorNTYwODAgOWI1NmM5MTYyNTM0NzRhYTc2YjE0YjdmNjhhM2I5OTRlMGU3ZTBlZiBjcHlfbWVyZ2UKKzU2MDgzIGU4NzZmNjQzOWRjN2JjNWMyYjY2NWVkZjg2OGRlNDRiNTdjZWE2NDggY3B5X21lcmdlCis1NjA4NCA0MWU4YWQyYzliYTk5MWM5NWEwMjEzOTRjOWRjNWJmMjg0MzY5ZDMyIGxlZ2FjeS10cnVuaworNTYwODUgZDgzN2I1ODQ2ZDQxNGZjZDgwZjY5ZjUxMzhmYzBmNjM4YjAxMTYzZSByZWxlYXNlMjUtbWFpbnQKKzU2MDg5IDlhNmFjOWE3ZTNhNGZmOWZjNjkxM2EyOTI0MzEzMjJkYTY4YjY4MWQgcDN5aworNTYwOTAgZGIzMjA4NzA0YWMwYWY5ZDQ5Mzc0NGEwZGQyNjA0NWNiMTVjYzE1NyBiY2Fubm9uLW9iamNhcAorNTYwOTEgNzA1YmM3M2VlNDMzMWM4YzMwYzhjYzIzZjIwODFmMGMzOTY5YmQ2NSBsZWdhY3ktdHJ1bmsKKzU2MDkyIGIwMDc0ZmQ5MjYyMWM2NzNjMTcyYmU2MzkyYTAwMjdiZDNkYThjNDcgcmVsZWFzZTI1LW1haW50Cis1NjA5NSBiZjZlYjg4NDdhNDI0NDAyOWRiMGZkYTUzYjY4YTU4NTA5NTVhODgxIGJjYW5ub24tb2JqY2FwCis1NjA5NiAxNTkwMzFkYjhlOWYyODU3MzA3NWU1ZWE1YTZiMmM3NWYzMTlmODlhIGJjYW5ub24tb2JqY2FwCis1NjA5NyA2MzNiMDQ5NDdhYzQ2MDVjMDY0YjliZjg5YzJjMGQ3NmY5NTgxY2YxIGNweV9tZXJnZQorNTYwOTggYmIwOWVhZDA0ODQwNTNhZGE5NTU4NzA3MmQ4MTNmMmNiZjBhZmY1OSBjcHlfbWVyZ2UKKzU2MTAwIGEyMDAyNDBkZWE4YWI3NjM5ZTViY2FlNDU2MjhkODlmZTAwMWU4NWIgYmNhbm5vbi1vYmpjYXAKKzU2MTAxIDNmNTg5YzU2NDQyNmQ4N2MxZDA1NzJkMzAyZGU2MDk1MjM1MWJlYjUgYmNhbm5vbi1vYmpjYXAKKzU2MTExIDdhMTE4YWMxNDlhMDY2NzAwM2E1ZWZmM2RjMjZmMzlhZTg2ZWYzZDYgYmNhbm5vbi1vYmpjYXAKKzU2MTEyIDUwZDMyNjQ3YjAzNTY1MmFiMjc1MmI3MzIwMDg2ZDI3ZWMyYzVlZmYgYmNhbm5vbi1vYmpjYXAKKzU2MTIzIDVmMTQ4ZjZlMGE0Njc5OGVhZWIyNTVkYmQyOGQxMDA3YTFhMTQxMjkgY3B5X21lcmdlCis1NjEyNCAzMTRhZGMzYjdiYjQ3OTk4YjlkZTY5M2QxMjZhNDM2YWZjZjQxNmVjIHAzeWsKKzU2MTI1IDdmZjM1YWQ0NjZlYzU1ZThkYjNiZjMzYzcwYzljN2Y2MWE4NjAzN2MgcHkzay1zdHJ1bmkKKzU2MTI2IDg2M2VkN2NkNDVkYzhlZDU2NjFkMzk3MWNmMGRhNzYyZDA3MGEwZGIgcHkzay1zdHJ1bmkKKzU2MTI3IDQxNjc2ODBiM2FlMjRmM2Y2MmMxMDliYzRkZjZmMmViMzJiNjE0YzQgcDN5aworNTYxMjggYTg1ODJlMjU3NDhiNzI5NTdmY2Q0N2QyOWRhMTQzYmY0MmU2YjYzMSBweTNrLXN0cnVuaQorNTYxMjkgZGE0Y2M2NzY3M2E4NTFiNjg5NjExN2MyOWEwNDAwMjkyZWFhMzM0ZCBsZWdhY3ktdHJ1bmsKKzU2MTMwIGM3NmE5NDMyMmNjYzg4Y2ZjNDQxOTdhZmJkZjUyNjc4ZWI4ZTE4YTAgcmVsZWFzZTI1LW1haW50Cis1NjEzNCA3OGJjMDc4YzczNTBlMmY5ZmY2MjFhZjQzMzYwZTE2MGYzMWFkODg2IHB5M2stc3RydW5pCis1NjEzNSA4Mzc1MzU5OTQyMGRjOTM4YjJjYjVlMDUxNDc0MGQxNTEwYWQ5ZGNmIHAzeWsKKzU2MTM2IDI4OTljZjhjYTU3MjVmMGEwNDE5OWQyOGFlNmIzZDliZTMyYzUwMGEgcDN5aworNTYxMzcgZGNjZjE0ZmUwMGVjZDNjYzFlNjQ3YWUxMjMxMGQ3MjkzMjBmNmFjMCBsZWdhY3ktdHJ1bmsKKzU2MTM4IDkwODU4MGI5YzhlMTBiZjJiNDMzY2JlOWZjNGNjMTBlYzdmNzBjODEgcmVsZWFzZTI1LW1haW50Cis1NjEzOSBmNTM1NzEyNGNlZmU1NDIxMmQyMDQyZGQ1NzNhZGJjN2NiMmQ1ODU3IHAzeWsKKzU2MTQwIDFmN2I2NmE5ZmZiMGQyNzJiMTdiMGQ5ZDYwOTBhYjdkODZhODEzODAgcHkzay1zdHJ1bmkKKzU2MTQxIGUzYmNiOTg0YjI0YzhlOWQ5MTlhNGVhNjY5YjdmMjE1NTkxYmUzOGYgYmNhbm5vbi1vYmpjYXAKKzU2MTQyIGQ0YzRmODljNzc3ZDQ1MzlhZGVlZWIzY2JjMDA4MDEyODk3MWMyZDYgcDN5aworNTYxNDMgNDA3ZDE3NGRiNmRlYzdmZjc3YTRhN2IwNjkzNDYzYjc0N2EyZDAxYiBsZWdhY3ktdHJ1bmsKKzU2MTQ0IGMzZWEyNzc5YzYzNThhNTI1MzVhMmNlNjQ2Mjc2N2JmOGMwNmEzZmMgcmVsZWFzZTI1LW1haW50Cis1NjE0NyA2MDRiZmE2M2MxMTM4OWZkYTkzYmFiN2RmMTQ0ZmU5OThlMDFiZTU3IHAzeWsKKzU2MTQ4IDIxMzc0MzY5Mzc1YzE2NTk4ZjcxMTViZmMzYzIwYmU4YmQ0NGM4N2QgY3B5X21lcmdlCis1NjE0OSBhYjc0YmRiZjZkYWFmZGI3ZTFjZjhmNzUxMDY3ZjdkMzhhZWM3M2FiIGNweV9tZXJnZQorNTYxNTAgZWIyZDUyNTg2MDE3NTg3OWZhZDU5NTY1ZjQyZmNjODAxMzY5ZjdlNyBjcHlfbWVyZ2UKKzU2MTUxIGZlYjI3NmMwODkxNzFjOGRmMjgzYTFkMWQ4YmVhNmJiNWJlN2M3ZTUgY3B5X21lcmdlCis1NjE1MiBjMmNjMTIwM2JkNjljOTZlZDk4MjNiM2FiYmUzOTJjNmE5ZjA0ZDg4IGNweV9tZXJnZQorNTYxNTMgODE3Y2JmZjlmYmViNGRiNDQ1ZWE0MjQ1MjQ4OTRiZjYyNTQwMzBmNCBjcHlfbWVyZ2UKKzU2MTU0IDhhMTdlNGM0MmEzNWZiOTY5YjlhN2U0NjRmNWIwNDg5ZWMwZmY1NzQgY3B5X21lcmdlCis1NjE1NSA1YjFlNzRmYzQyYjgxZmI1MDZjMTU0NTM3OTA5YTFjZDQwZjljMGEyIHAzeWsKKzU2MTU3IGE1M2U0OGJlNmRmOTU1MmM2MmZkNjEzMDQ3YzFjNjdjOTcxZDQ1OTAgcHkzay1zdHJ1bmkKKzU2MTU4IDBkYzYyNjQ3YWZmMGNjZGM3OTU0MWJiNDlhNjk3MWQ4MjkwYjZlOTQgcHkzay1zdHJ1bmkKKzU2MTU5IGFlODcwMjI4ZDVmMzM0ZTM5MTcyNzU2M2RhYzk4ZWNkYzA2OGFiMTMgcHkzay1zdHJ1bmkKKzU2MTYwIDMxZjQ3N2IwODhjOWY2MjNiYmZhMWUzMWMyZTAzYzMzMDNmNTFjMzAgY3B5X21lcmdlCis1NjE2MSA4ZWVhYTk5MjM5MDFmMzg4NDUyMjA5NzdmZGViNzExNzM1ZTlmMzU5IHB5M2stc3RydW5pCis1NjE2MiAwMTAyZjVlNTM3MDM5ZjYyNjg2NDY3N2Y4ZWUyMGU5N2NlNDNmNzcyIHB5M2stc3RydW5pCis1NjE2NCA1MTg3ZWQ2OGFiZTBiOGQzZTNlNzFhMWFkZDQ0ZTM2ODI3NWFiZDY3IHB5M2stc3RydW5pCis1NjE2NSA4YTk0Y2U1MDIyMDliMDk1NWE0MWViNjI3NTE4NWQyNDExZmFjY2MyIHB5M2stc3RydW5pCis1NjE2NiBlNDc2OTk3MDQ4YTBhYjUxM2Q1N2YyMjFlZWEwMTJhYzBlODBhYzMyIHB5M2stc3RydW5pCis1NjE2NyBlNmM1ZmZhNmRjNjczODE0ZWZjOTQ4ZDgyOThkOWVhNDAxOWNlNmE0IHB5M2stc3RydW5pCis1NjE2OCA0MGE2YjkzZjllMGJlOGExMTZkYzZmNmE4YzliMWMxNGY2ZTEyNzBjIHB5M2stc3RydW5pCis1NjE2OSAzZjc4Mjc4MTAyMGJlMjJmOTUxYjMyY2Y0MmQ2YTA4MjE0NzZmY2U2IGNweV9tZXJnZQorNTYxNzAgYjBlYWJhOGI5ZjAyOTM1NjIzM2FlMWI3NzJiZDhmYTlhN2I0MjA3MCBsZWdhY3ktdHJ1bmsKKzU2MTczIDc5NmM3OTYyMzkzODM2NzUxYzk2MjBjZDEyNGMyYTU4Y2M0NjAxYzAgY3B5X21lcmdlCis1NjE3NCA4YjJmZWJmZGE1Zjk5YTM5ZWU3NjNhZGYzMWUwZmU4OTZiNDE4YTllIGNweV9tZXJnZQorNTYxNzUgYzQwNDRlNDdmYzFhZmVkMGU3NGY1OWZiZDRhOGQyNWI3MzBkMmQ0NSBjcHlfbWVyZ2UKKzU2MTc2IDllNWEzOTYwOWEyMDhkZDFlZDBhNDllZGY0ZGU3MDJkMjAyYjlhZGEgbGVnYWN5LXRydW5rCis1NjE3NyBkNjM2MmVkNTQ4YjBiMTcwZGM1MjNiOWZiMDMwZTk1YjAwZWJjMjNkIGxlZ2FjeS10cnVuaworNTYxODEgNzIyNGU0MjA4MWJkMzgxYmI5ODhhYzYwYjU5NDY5OTAxNWI3MTQwYSBjcHlfbWVyZ2UKKzU2MTgyIGRkODk2MDUxMjZlNTg1Y2RmZDFkN2QwNjg4ZDRiOGZjNDk0OTgxNTAgY3B5X21lcmdlCis1NjE4MyBkYmM3NTNjMDIwMDczNjJkZTcwNThjODJhYTJjZDQxZGQzZDcxMjc1IGNweV9tZXJnZQorNTYxODQgOWMwOGQ5MTY5YzFjZDQ0OTIxNDExMzEzMTEzMWMxNzgzZTc1ZjFiOSBjcHlfbWVyZ2UKKzU2MTg1IDM3NDEzZjYyMTEyMGEyOGIwNDc1Yjk2MDg5N2Q0ZDZkNDM4ZmY0MmQgY3B5X21lcmdlCis1NjE4NiAwNGUyNGI3OTIxOGFmMjg5MWQ4MjhkN2Q5NGQ0NmZlZTk5NjQ2MTBlIGNweV9tZXJnZQorNTYxOTMgZTYyZTJiODExMzZhMjJkOTY3ZmE0NzJjZDQyOGIyZGY1ZmMyOTMyNiBjcHlfbWVyZ2UKKzU2MTk0IGIyZmZjMDI4NTg1ZmIyZDBmYTg0OTQxZWY5YzQ5YTAyZTEyYjMyZjEgY3B5X21lcmdlCis1NjE5NSA0ZmE2ODM4N2I2YjM1OWU5YzA1MGU2MmQ3ZTE1ODc1MjA5MzYzYmQyIGNweV9tZXJnZQorNTYxOTYgYWEzMGIyYjA1OThlNDgwN2NiYjQ5NWRjZDViN2I4MjljNTcxMDI5OSBjcHlfbWVyZ2UKKzU2MjAyIDUzN2ZlOGRiODMzNDk4OWQwMzExNzk3NGZiNjJmMmNjMDI5NzliMWEgcDN5aworNTYyMDMgNzRkMTFkNDQyODk4NWNhODY0ZDA5Y2U4YTQzMTg2MGFmZTBiYjAzNCByZWxlYXNlMjUtbWFpbnQKKzU2MjA0IDc4MmY0YjNlNGRiMDhlMzYwZDJhMGMyZjllNWEzNjE3NzEwMTRlNTEgbGVnYWN5LXRydW5rCis1NjIwNSAyNjM4Yjk3NDkzNzE0N2I4ODE5YzZhNGNmOWZmNGIyYmJmMDA5MDMxIHJlbGVhc2UyNS1tYWludAorNTYyMDYgZWM0YjczY2IyNDQzOTQ3NjcxYjE3M2Q0OGI4NzcxYzIyOTYwMTI1MCByZWxlYXNlMjUtbWFpbnQKKzU2MjA3IGQ4OWQ5MDBjNWQ3ODJkNmYwNDFhMjIwMDgyYjFmMmZiZjIyNTE4ZWEgbGVnYWN5LXRydW5rCis1NjIwOCBiZjIyMmViZmYwZTU0NzQzYzVjNGI3YzY2YWNmYThmZGRiODU3NWYwIHB5M2stc3RydW5pCis1NjIwOSAwZWI4NDBmMmRhZmE5ZDlhMjE5ZThjNWEwZGJhMjA1NDg1OWQwZWRhIHB5M2stc3RydW5pCis1NjIxMCBhNjJlY2NiNTNmMzAxYmIzMWI0ZmJmOTZkOTNmODU4ODJiYWYyYWIwIHB5M2stc3RydW5pCis1NjIxMSBiZmY5ZWJhYmZjMTU1OTM5YzQ1MjdlYWQ4NjIxYTM1YmU2N2U4OTJjIHB5M2stc3RydW5pCis1NjIxMyAxNmU4M2JmODFkZTk4ODllYjhjZDAyYjE5MWVjOWRhMTIzOThiMmRmIHB5M2stc3RydW5pCis1NjIxNSBkZmI4ODU4YzA2NjQwZGRlNDZmZjJhZWY3ZjJmZTIzNDYxOWIwZmM0IHB5M2stc3RydW5pCis1NjIxNiA3ODIwMzI5OGI0MmI3OTQ0YjViYWNmOWVlYmFjYTZiYTFmMzE4ZmUxIHB5M2stc3RydW5pCis1NjIxNyAyOWJhNmMzOTkwOTAxZGU2OTA0ZGM1NzBjNjcyNjIxMGY1OGQwY2Y0IHB5M2stc3RydW5pCis1NjIxOCA2YjMwYmQxMzBkYzE3ZDhjMGU3ZDM0NDQwZDU5ZmRkYmYxZjlhMzg1IGNweV9tZXJnZQorNTYyMTkgZjRiOTkxOTU2NjJmZGViNWY4OTkxN2EyM2ZiNzI0YmI1MGVmYTE2YiBjcHlfbWVyZ2UKKzU2MjIwIDMzNTA2ZDEzZGQ3OTBkZGI4Yzk4NzQ1YjAzYjk0Y2FhMTc2Yjc5MTkgY3B5X21lcmdlCis1NjIyMSBkOWQ0ODJkMDM4ZDVkYjIxZDk4NTdmYzQ1ZDFlNjFiNmI1YjYxZGJiIGNweV9tZXJnZQorNTYyMjIgNDAyYTA2ZWNjNjEzMTA2ZjI5MTc0ODNkNGI1YTg5NzAxOGI5MDVmZiBjcHlfbWVyZ2UKKzU2MjI1IGYwOTc5YTg2NjcwZjQ3Yzc4ZDNkZTQxMWI0MzA5OTI4ODYyM2Q1MmMgcHkzay1zdHJ1bmkKKzU2MjI2IGUzODA0NzU1MDM4MzRiNjhjMmI0MWIzMDVkMWEyYzIwNzExMTQ1ZDkgcHkzay1zdHJ1bmkKKzU2MjMwIGFjZDFmNjQyNzA2ZjJjNzc3ODlhNDQ5MDFmOWE5MzY0ODYxZjU1NGUgcHkzay1zdHJ1bmkKKzU2MjMxIDlkMGQ4Y2FlMWNjNzNhZmIyMjU5ODhmN2JmZDk4M2YyZWFiYjYzY2MgcHkzay1zdHJ1bmkKKzU2MjMyIDNkYjAwODNmNjY4MzdkMDEyZDg2MGQ2MTI3Yzg0NThiMDYxZThiOGIgcHkzay1zdHJ1bmkKKzU2MjMzIDkxYWRlNjdhYjIzMGRjNTBjZmY4YTllZTk2ZDVkZmZmNzRmNzMxNDAgcHkzay1zdHJ1bmkKKzU2MjM0IGYwYTk2MTNmY2Q5MzNiYWNjNDU5NzUwYWE4YTEyY2U5MDgwNzdjM2UgcHkzay1zdHJ1bmkKKzU2MjM1IDhjZmRhZDIwNDY3NjM3OTcxZjhjZDU3N2JkNjY1ODAyNzI3N2NhMDIgcHkzay1zdHJ1bmkKKzU2MjM2IGRkYjkxOWRjYjQ4MjBmZjA1MjJiZmQyMDVlMTU1OWI5NTMwODc4NDQgcHkzay1zdHJ1bmkKKzU2MjM3IDhkNGI2OWUzMTU4MWJkNGQ4MTIyNmQ3MTdmMTRhODYyZTY4NGU0YWUgcHkzay1zdHJ1bmkKKzU2MjM4IGIyZGMzMTcxOGIwM2YyNjQwN2RmZDU3ZGY3MDI2ZjkyMjU2MTE0ZjEgcHkzay1zdHJ1bmkKKzU2MjM5IGY0YTFiNzZhNWE2M2QzYWE0ZDZhNDMzYTdjMzc4NTIxOTFiMWMxM2UgcHkzay1zdHJ1bmkKKzU2MjQwIDU2MjE1MDcxYzc0MmU3YjUwOWNjN2I0NmQxNjYyYmM5NjljNDE0ZTkgY3B5X21lcmdlCis1NjI0MyA5Zjk5ZWE0ZjgxZTkyZmM5MDU5NmI0MTk3YTcxY2NiODNjNTAyNWJhIHB5M2stc3RydW5pCis1NjI0NCAzNjQxYTIwNjMwZjNjOGM5MzhmMzY1MTM5Y2EyYTAwZGQ4MTgwOWNjIHB5M2stc3RydW5pCis1NjI0NSAwZTQ0NjA4MDNiNGE4MDkzNTQ3ZjI5ZDczNTFmMDA2NzlmNDk3OTRiIHB5M2stc3RydW5pCis1NjI1MCA4YjMxNjA3Y2FhMGNiMTg4OGY3N2ZkZWNiODczZGVlN2EzYmYwNDZlIHB5M2stc3RydW5pCis1NjI1MSA5YjM4NjYwNDIxZWU5YjlmZDQ1MTMwNzY1MGY1MzUzYjA5N2YxOWNhIHAzeWsKKzU2MjUyIGJmNWQwNGUwZGE0Yzc1MjI0ZDJjMzJhNmMyZTQwYjlmYjc3NDU1N2EgcHkzay1zdHJ1bmkKKzU2MjUzIDYyMjgwNjI5MDlmMzQ3ZGIwNzcyYTJlNDAwMTliNDBlNWY3NmVmY2IgcHkzay1zdHJ1bmkKKzU2MjU0IDc0N2IxNTE5YTM2Y2RmZTA2ZmVmN2NkMzk3MTM5ZmQxM2Y2ODljZDAgcHkzay1zdHJ1bmkKKzU2MjU1IDFkY2YxZjEwODYyYzAyMjA1YmQ1Y2Y0NTE2OWMwNTEyMmYzNzY0ZWQgcDN5aworNTYyNTYgZTliZmIyNGY5NmUwNjNkNTA0YTU3OGFlZDNhNGQyNTQwM2YwYzQ5ZSBwM3lrCis1NjI1NyA5MGZjZDA4MmRhMGRjYWNlODdjNWZjZDNkNDI3NmM1N2EzOWQ5MjQ3IHB5M2stc3RydW5pCis1NjI1OCA4MTkzMGVhYWU3MTU4ZmEzMDhiM2IzYTkxNzRhMTgyOGEyMWU0MmVlIHB5M2stc3RydW5pCis1NjI1OSBlODQwYTRjZmI0MWY2ZTg3NjEzMDE3MWNiMzdiOTk1ZmFjMjhhNzQyIHB5M2stc3RydW5pCis1NjI2MCA5NjNmNTBlZDJiNGY4YmM3MWI3OGI0NjcwNmI2ZWVjZDgzNDE2MDRiIHB5M2stc3RydW5pCis1NjI2MSBjNmE4YTdkZjM3ZWY2NWNkMzkwMDk5MDhjNDBkN2JmMDc2NGU1MTZkIHB5M2stc3RydW5pCis1NjI2MyA3OTA4MmNjMTRiZjE0NGIyNGEwOTk3YTZlN2JmZDFmZDU0MGUzZjQ4IHAzeWsKKzU2MjY0IDFhYzJjMWI4MDMyNDA1NGEwOGY0MjYzMWE3M2NiZWM3MmEyZjJiODUgcHkzay1zdHJ1bmkKKzU2MjY2IDA5MDU4OGExNzQ5MDMzYmQyZjUzMWQ1YzgyY2I3ODdkNTUwNGFhNWYgcHkzay1zdHJ1bmkKKzU2MjY3IDc1ZDNjYWE0NmE5MzZiMTBmNTMwOWYxMDhiMDZlYTA5ODA3Yzc4OGUgcDN5ay1ub3NsaWNlCis1NjI2OCBkZjQ3OTUwYzgzNzA4ZTliYzhjMTdjODZiNWMxZDk4NTAyOWNjYWQwIHB5M2stc3RydW5pCis1NjI2OSBiZDRlMzcyZjQ3OTg1NDA0Njc0ZDVlODg5ZTQ1ZTZlMTRiZmRiOGY5IHB5M2stc3RydW5pCis1NjI3MCBhMzU1MzU5ZTQ3YjQ1ODcxYTY2Y2ExNTZkMmExYzZkYzljODNmNWRhIHB5M2stc3RydW5pCis1NjI3MSA1YjM5MzFhZTI2MmZjN2RlMDc0ZGQyMGY3MTQ5ZjQ1ZjQxMTUyYjg2IHAzeWstbm9zbGljZQorNTYyNzIgYTgzOGI4YzY0MTAzNjNjOGZiNTQ0MDcyMWY2MjNjMzkzNjJhODE1MiBweTNrLXN0cnVuaQorNTYyNzMgNTE2ZGM3MjNjODllYmI2OTZjN2Q3ODUxNzBiNDk1MGQzYTNhYjAwYSBweTNrLXN0cnVuaQorNTYyNzQgM2JlZmI1YWRiMzRlYmU2Y2FlYmI2OTY2ZDc0Mjg4MWE4OTJlOTM2MSBwM3lrCis1NjI3OSBjMWE2MGI0YjgzZDM5YjI4ZDM1ZTQ3MjI3MzAwMmU2NzU1N2E1Y2FkIHB5M2stc3RydW5pCis1NjI4MCAwOWJmMzU3OTNiY2RkNTkzNjkzNjljZmI3ZjM5YWM1MmRlY2JhOWQ0IGxlZ2FjeS10cnVuaworNTYyODEgN2EyNGZlNzBjMTZkYmI0ZGY2MzAxYTY3MDQ2Y2IwYzQ5MDAyYmY5ZiByZWxlYXNlMjUtbWFpbnQKKzU2MjgyIDg1NGNjNGQ1YTMzZDhhZmRjN2NkYjNhZmRlMjZlNmM3NjEyZWJkNTMgcHkzay1zdHJ1bmkKKzU2MjgzIGJiYzA5NGMzMjhlZmQ5MWQ4ZTY4NDE0Zjg4MGVlZDZiOGM4YzBiMzUgcHkzay1zdHJ1bmkKKzU2Mjg0IGU1Y2NmZWIxMWNkNjcxMTk5MTQwYjQwMzE4OWMzYzNkM2M1NTFlMjggcHkzay1zdHJ1bmkKKzU2Mjg1IDliNzJmMDYzNjk4NjRhMDNiYTliZjJjZDBhZjBkOWVjMDA1ZjdiNmMgcHkzay1zdHJ1bmkKKzU2Mjg2IGQxYzdjMjU0MzkwM2I4ZDcyNWY4YWY0ODc1OTNiN2E0YTE4NzFhYjggcHkzay1zdHJ1bmkKKzU2Mjg3IDdjNmE3OTViNTI1YWNmNDhmMGMzYmU4YzE4ZmM0MDA5Y2M2OTM5MDEgcHkzay1zdHJ1bmkKKzU2Mjg4IGNhM2NmYjM0ZTNjMjYzNTk3NWQ1MWNlMTg4NmE4ZTM3MjcxMmU1YWYgcHkzay1zdHJ1bmkKKzU2Mjg5IDIzZjFkMmMzNmQxMmNmMzg1MmUzOGI1NDg5NzBiOWY5N2FmZmQyYzQgcDN5ay1ub3NsaWNlCis1NjI5MCBhNWMyMzQyMmFmNmM2OGJhNWZmNGU2Y2E0NDM1MGU4MzdhYjA1YTkwIHB5M2stc3RydW5pCis1NjI5MSBjYTA2NWI1MWE2MTY2ZDU3M2ZhMDE4N2NlYjc2MGYxMDQ3MWM2NjhhIHAzeWstbm9zbGljZQorNTYyOTIgZDVjZjE5MTY5OTA0NjI3M2I3MDI3YjExN2VjM2Y1ODg5NmMxNTU5YSBweTNrLXN0cnVuaQorNTYyOTMgMjU1YmQ0M2NhNzhmNzkzNzlmNjJhNDgwNGU1ZTM2YTM0NGRlNzdlNyBsZWdhY3ktdHJ1bmsKKzU2Mjk0IDIzYWM4ZDE0MGE4YTJlOTVjNDg3OWRkZGRkMzI2ZDdlNmZhOGYxNDYgcmVsZWFzZTI1LW1haW50Cis1NjI5NSAxOTZlNWM2MzIzYTM2YjhmZWIyOTk2MDUyM2UzYTlmNzlkYTU5Mjc3IHB5M2stc3RydW5pCis1NjI5NiA2MzE5YWRiMDA0MWQ2ZWVmZWMyMGJjYzYyZjNkMGU0NmZiYTBmYWM3IGxlZ2FjeS10cnVuaworNTYyOTcgOGI4MTU4MGFkMGMxMDYwNzRlYTY3ZDViM2Q3ODM4NjUyODIxOTNlMSByZWxlYXNlMjUtbWFpbnQKKzU2Mjk4IDg2ZDFkYmZjNTgzMzFiNjIwNTMzYmQ0MmRmMjA1NmZiOTRmNTMyNTAgbGVnYWN5LXRydW5rCis1NjI5OSBiNDNlNWYzMzQ4YWVhOTUyYWM0YzkyNGJmNWZiN2JiNWY3YWU1YjU3IHJlbGVhc2UyNS1tYWludAorNTYzMDAgMjkzYjgzZjlkYTlmZGRlNjc2ZGU5NGFhNjVkZDQzNjRmOTQ5M2U3NCBwM3lrLW5vc2xpY2UKKzU2MzAxIDdjMzc4NGJiZmMwOWFlOGJiMDcxM2I4YzIyM2I5ZDM0ODQyYjE5MTQgcHkzay1zdHJ1bmkKKzU2MzAyIDI0OGEyMDY5OTBhZTA5YjliZWQxZDlkOGYzNzQ4MzIzYjJmNTEwZmUgbGVnYWN5LXRydW5rCis1NjMwMyAxMGU5YzkwZWFmMDNlNmRmYzkzNzhjN2IyY2I3OGVmMTg2YTQ2OTBmIHJlbGVhc2UyNS1tYWludAorNTYzMDQgMmMzM2RmMDljMWM3MWY1OGQyMTM2YjcyMTg2MjQwNGEyNWQ3NjRiYSBsZWdhY3ktdHJ1bmsKKzU2MzA1IGMyNTVjMTBkYWM2YTY5MWViNjU0YzI0ZGYyNWZlMjExNjYwMmYxYjYgcHkzay1zdHJ1bmkKKzU2MzA2IDRjNDljZDY1YjVmMTcwNTJjY2E5MzI0ZWM1MDk3MjUwNDg2NzQzMmQgbGVnYWN5LXRydW5rCis1NjMwNyAyYWYzZjA2N2E0MzEwMmRjYjNhNTUwNzA2YjY3ZDYxZjE2ZTAzZTI5IHJlbGVhc2UyNS1tYWludAorNTYzMDggMzQzYjYwYjYwNGJkOTNkMGU2NjE4MGFlZmU3ZTA5NzU4Y2JmMzEzYiBsZWdhY3ktdHJ1bmsKKzU2MzA5IDcyYzU4MzM4YjIyYjYzOWI4OTk2ZmY0YzU5MGQ5Njc5NTU5YWIxOWEgcHkzay1zdHJ1bmkKKzU2MzEwIGVjNzQwODRhOGNiYTBhMDdhMTAxYTc2ZTY3ODRmN2ZmODUwN2Q0MDMgcHkzay1zdHJ1bmkKKzU2MzExIDZjYjllZmI1Y2JlNWJlODc2ODcyMzU1ZjJhOWU4MDkzNGYzMTk5NWQgcHkzay1zdHJ1bmkKKzU2MzEyIDNlMDZmMmI5MDEwMjY0MTJkZmZmODcwOGE2ZjRmZjc4ZTA5MTlhYzEgcHkzay1zdHJ1bmkKKzU2MzEzIDNmZDM1NTNlMjU4ODU0ZWEzODM3OWE3YmMxZDA2NGFjZmRlODdmNDIgcHkzay1zdHJ1bmkKKzU2MzE0IDU4NjYxYTgyMzM4ZTgyY2YxMDJlMzE2ZTAxNzhlYjdjYjIyYjMwOTMgcHkzay1zdHJ1bmkKKzU2MzE1IGU3MTVlMjA4MTYzNzFhMTQ3ZWU1ZmRiMGJjYTE3MTJjOGIwMGJhODcgcHkzay1zdHJ1bmkKKzU2MzE2IDBiODk3NzQxMWIwN2I0ZTY4ODI1ODc2MDE4MjY5NjBiOTUyODcyOWMgcHkzay1zdHJ1bmkKKzU2MzE3IDg0YTIxNzU3OWFlNTlkNTM4NDhjZGJlMTlkMWUwZmI1YTdhNDg5ZWUgcHkzay1zdHJ1bmkKKzU2MzE4IDg0MjI5YTkwNjZlMmY4NjYwMGI1MmE0Y2NiYTJkY2QwNDY2ZDkyODcgcHkzay1zdHJ1bmkKKzU2MzE5IDA2ODEyMzMzNDRkOTNmZDBkZTllNWUzNDYxYzgxNjA1NGUxMTdiNjcgcHkzay1zdHJ1bmkKKzU2MzIyIGI0NWMwZjQ0NDgxMzFkY2NiMjNkNTgxN2ZlMWY0ZTlkMTk1ZTYyZTIgcDN5aworNTYzMjMgMmFjYzYzNTlkMDVkNDA1NWQ2MmU2ZDA4M2VmOWQzNWIyNmRjMTg0MSBwM3lrCis1NjMyNCA0OGM1YTg0OWEwYzJmY2VmYTVhN2RlMzEwYTY2ODI3MTY5NzdiOTg3IHB5M2stc3RydW5pCis1NjMyNSA3Mzg0NmY5NjI5YzU2N2ViYWZhMGViMDBhYjFjYmQwYzk3Yjk4MDIwIHB5M2stc3RydW5pCis1NjMyNiA0ODRhMDA5NmJhZTkwZjY2MTlhZmM2OTE2YjNmZjlmZjA2MmZiNWUyIHB5M2stc3RydW5pCis1NjMyNyAwNDk0YWU3MzUwNTgyYjU4MThkMDk2MWE1ZmMwNTRlOGE4Nzg4MmJhIHAzeWsKKzU2MzI4IGZiYWUwMTJmZjI5NWRjYWY3YmI0MDA0YzVkNzUzNWMzNGFiODM5ZGEgcHkzay1zdHJ1bmkKKzU2MzI5IDc2OWU3MDc4YTJhYTdmMjRkOWU5OGY0NDQwM2RkM2Y5YTAwZWJkY2UgcHkzay1zdHJ1bmkKKzU2MzMwIDdjYzg0OTZmMjM0ODBjMDZiZGYzYThjYjI0MDAxODcxZDZhODA2NmYgcHkzay1zdHJ1bmkKKzU2MzMxIDJmZDE0Njk3MjNhMDcwMmViMDllZDY1NjFmNjcwMDNiYjliOWE4M2YgcHkzay1zdHJ1bmkKKzU2MzMyIGFmZTg3MTU0N2IxYTM5MGYyMmIyYTdmYzExMzI0ODIyYThlZTIxOWMgcHkzay1zdHJ1bmkKKzU2MzMzIDEwZGU2YTkxZGE0ZGExOTBjYWJmNTc0ODNjNWMwMzYxMmQ2NTU4NmUgcHkzay1zdHJ1bmkKKzU2MzM0IDZhMDk3NzcyZWE4NmI1YTQwMTc1ODc4MTgxNWZlMmFiZjNjYjcyYmMgcHkzay1zdHJ1bmkKKzU2MzM1IDZlNjVmMDhmMTI3NjI4NjIxY2UxNmI2ODlkYWViODliZWFmZDRiZTUgcHkzay1zdHJ1bmkKKzU2MzM2IDFjMzc5MGM4MzFmYzE2NTU2YWYxMGU3YmFjYTc4ZGMzNjRiNzU3MGIgcHkzay1zdHJ1bmkKKzU2MzM3IDhlYWYwM2ZjM2YxMjk1ZDYxNDJjOGEwMjRmMTBiODE1ZTU5NDEyODkgcHkzay1zdHJ1bmkKKzU2MzM4IDIyZDY1ODRiODcxMjZjOGZiODk5MzgzODM1MGI5MGIwYzk5ZWJiZDIgcHkzay1zdHJ1bmkKKzU2MzM5IDVkMTZmNDc4NDY1YTUzNTU4ZjI2ZGQwMjZmZjlkNDY3MGNiYWJkZDAgcDN5aworNTYzNDAgMGMwZDc1MGVlNzVlNGMyNTIxZjZhOGQzNTY2NjNlODc0ZWExNGFlNSBsZWdhY3ktdHJ1bmsKKzU2MzQxIDdiYzQ3MjNmNTYyZmFjZTExZGM5NzA3YmU5ODQ3ZjcyMjQ5ZGIyMzIgcHkzay1zdHJ1bmkKKzU2MzQyIDA5ODAwMzRhZGFhNzIyYjQ2NDg1MzNkNjgzZWQ4M2NmMTNmNGY3Y2UgcHkzay1zdHJ1bmkKKzU2MzQzIDY5M2JlMjdmNjI2ZmJiYTk2Y2ExODJmNTUzNmQ2ZTMzYjQ2MTM2ZjUgcHkzay1zdHJ1bmkKKzU2MzQ0IDE3YmIzOTgwNDgzZWNmYmQyMDYxY2FmZDE2M2QxNDBhZmEzNzU0ZDUgcHkzay1zdHJ1bmkKKzU2MzQ1IDEwODlhNGY1N2QyMDk1YjlmYmQ1Y2EzZGExMTUyY2E3MDg4NzE0MjQgbGVnYWN5LXRydW5rCis1NjM0NiBjMjgwNjQ3YzMzMGNmMmFhZDkyNDc2Mzc0NjVkNGY0YzZhZmE2NWQ4IHB5M2stc3RydW5pCis1NjM0NyA3YzFjOTAyZDcwMDAzMTJkMWQ4OTA0MjQ5YzNkZTU1Zjc2ZTQ4Mjc4IHB5M2stc3RydW5pCis1NjM0OCA3NjAyMWJiYjg5YzczODM3NmNiMzlhYTdkNzljNDdhMzFjODk4NmU4IGxlZ2FjeS10cnVuaworNTYzNDkgY2I4NjVlMzk5ZTg0YzY1YTk4MTJlMzQ4YjY3ZmFiZGIzODEwY2IzOCBsZWdhY3ktdHJ1bmsKKzU2MzUwIGFlYWQxMzZjYTQ5ZTI5OTU3ODk3MWI5ZjIyNzBiNDcxMzZmZDk0MWEgbGVnYWN5LXRydW5rCis1NjM1MSAwZDYyY2RkMzU1N2Q1YWRmODZmNzQxNTk4NjEwNWZmMGQ4YWVjYWVkIHJlbGVhc2UyNS1tYWludAorNTYzNTIgYjZlYWE2OTE2ODg0Y2RjZjFmODJmNDNmOGUzYzRiN2I0OWQzNzU1YSBsZWdhY3ktdHJ1bmsKKzU2MzUzIGYzMzY1OGRhMDYzNzU0NjJiNzBiNjdmMGU5NWQ3ZjVlZDllODYwNjMgcmVsZWFzZTI1LW1haW50Cis1NjM1NCAzZjg3OWQ3MjZkMTg5ODE0YzAxNDgyNGMyYWE0YzhjZjY0MzNhNzg0IHJlbGVhc2UyNS1tYWludAorNTYzNTUgZjhjNzVlODQ5OTU2MDk0NjUwNjY3ZDE4MDM4ODg5MWM4ZTE4OWQ3NiBsZWdhY3ktdHJ1bmsKKzU2MzU2IGYwMWFhM2QxOGM5ZDNhYzAwNmQxM2ViNmExMmZkZmIxYmQwMWU3MTEgcHkzay1zdHJ1bmkKKzU2MzU3IDRjZjA0NTk0MTA4NTQ1MGQyMTg4NjYwMjlmZTM3NGRhY2YxMGNkN2IgbGVnYWN5LXRydW5rCis1NjM1OCA1OTllYTllNWM2YzVkOGU5YTM2NTg2ZGNhOWZkYTE5OThkMjExYTFiIHJlbGVhc2UyNS1tYWludAorNTYzNTkgZDhiZjQyNjcyMzMwNTZkNWEzN2Y1ODI4YzNhOWQxMjY5YWNhYzg1ZiByZWxlYXNlMjUtbWFpbnQKKzU2MzYwIGMyOWIwZGJkYTNmNmFkZjhhMjI0YzI4YjU3ZTRiMmRhMDk0ZjJkZjEgbGVnYWN5LXRydW5rCis1NjM2MSAwYmZmNGI2YjkyYmUyYjczZmZhMzljZGQ2NzczOTUxNDE0NzQ2NjRjIHAzeWsKKzU2MzYyIDYxNDEyZTI1ZTYxZTMwZDFjYWRhNDczYzQyZjYzZjJkMDIwZTNlODQgcDN5aworNTYzNjMgMjAyYzM3ODM1NjI4YjkxNWFkNGVhZGJlMTQzNjExMWIwZTgwZTczZCByZWxlYXNlMjUtbWFpbnQKKzU2MzY0IDhjYzY1MDdiMDYyNmJiNGUxMGQzODliODkyYjc5NTU3MTBmMmUzYzkgbGVnYWN5LXRydW5rCis1NjM2NSBkYTJmODk0OGNjMThkMjA4YWE4MTRkOWRjZjc1NzY2MmIxNzJiODAxIHJlbGVhc2UyNS1tYWludAorNTYzNjYgNjk3YzBhNzhkOGM5MDA1ZDlkZjAxZDVlYmQxY2U4YTgwYWJlMzExZiBsZWdhY3ktdHJ1bmsKKzU2MzY3IDg1ZDRhMDJkMGFiYjBjNjc0MTdhNDNlZmEzMTU1M2MyOTc5YjJjNjkgcmVsZWFzZTI1LW1haW50Cis1NjM3NSBjZjg5MGU0MWFjMTM1MWY1NDNhNGI0OTBhZjQwNmFhZmRjZWEyNDEyIHB5M2stc3RydW5pCis1NjM3NiA1MDY2YjAwMjViZjA4NjUwMWM5YWMxNGZhOWNkYjE0YWI3ODRkMzVlIHAzeWsKKzU2Mzc3IGE1YTNkZjQ5YWNmMzAyOWU0MmJmM2ZlNWQ0MGI2MDYzNTRkMzFlZTcgcDN5aworNTYzNzggMmQyMjUwNDI4MzA1NzM4OTU2MThlZjc4MTQ4ZjJhODI1NDAwZTk0MSBjcHlfbWVyZ2UKKzU2Mzc5IDA5Y2QzZTUwMzIzNWU2NWM2ZWExZjkzZTg4N2I4NmNjNzJkZTg0ODYgY3B5X21lcmdlCis1NjM4MCBhNWU4ZGQ1OTk2MGRkZDk5ZDE1ZTFkMDhiNDE1NjMyNTZmYzVjMTZmIGxlZ2FjeS10cnVuaworNTYzODEgNDVjN2Q0NzM1ZGEzNmMyM2ZmMTQ5YmRhOTk2ZjE5ODQ1ZDc2ZDRlOSByZWxlYXNlMjUtbWFpbnQKKzU2MzgyIDhhZjA3ZTExZjE5N2UyNjEzNGRhMWFkZDNkYjVlYjZhNmFjMjg1ZTMgbGVnYWN5LXRydW5rCis1NjM4MyBkYWFlMjdmYmI4MTY2ZWRlMWQ4ZjU3ZDFlZGI4OGQ4OGJjNDc4MThkIHJlbGVhc2UyNS1tYWludAorNTYzOTIgYzIzZDhjMjdkYzkyMjIzODUwNzBiNzEwNTM1M2NmNTNmNjM1ODZhZSBsZWdhY3ktdHJ1bmsKKzU2Mzk1IDE4ZTVhZTkxYmQyOTc5ZTAyZDI2MTlkMjMyOGJhYmUxYzJiYjg3NzEgcHkzay1zdHJ1bmkKKzU2Mzk2IGViZTk2MGQxZDYyN2VlZDZjZmNiOTMyODdiZTEzMGFiYTljMWJjODIgcHkzay1zdHJ1bmkKKzU2Mzk3IGY3MTViYWNkZmQwMGYzM2JhY2Q1ZDFmNjRlYzMzMmUyNmFmNzcyNjEgcHkzay1zdHJ1bmkKKzU2Mzk4IDE5MTk5OWJlNmNmNThlZmE2ODIyZGQwOWNiZjAzYjM2NTJjZmU1MzkgcHkzay1zdHJ1bmkKKzU2Mzk5IDVhZTc3NGNjMjZlYmRkNzA3Njk3MDBjOWY5NjczNzlmNzViNmIwNTQgbGVnYWN5LXRydW5rCis1NjQwMCBkMDYyZjY3YzMyNjA0ZDQyMGU0ZDNiZjM1NjNlYzYzZTE5ZTY0ZDgyIHB5M2stc3RydW5pCis1NjQwMSBmNWI1ZGFjYjlhZTI5YmIxMmI0NzE5NjIyYzY5ZDkwYjQyNTk4NWJiIHB5M2stc3RydW5pCis1NjQwMiAzZjI0MjA5ZjI1MWUzYWQxMTNjNDY0MTY4MDdhYTY3MGZkNDkxNWEzIHB5M2stc3RydW5pCis1NjQwMyAzNzcyMTAzMjAwZWM4OWJjODhiYjNiMmYxYjY2N2ZjZTUwZWI2OTkzIHB5M2stc3RydW5pCis1NjQwNCA4NDc3ZmMzODhlZWFlZTNlOGYyNWE1MTFkYWJhODgzZTRiZjE1YmUzIHB5M2stc3RydW5pCis1NjQwNSBhOGQ0MzA4NWE4NTcwYjBjZTMzMWE2MDk1NzhmMjVkYjAyYzA4OTJjIHB5M2stc3RydW5pCis1NjQwNiA0NGJjNDlhMDdlNTI0OTU4ZTgyYThiOTk0NzhjNDE5YmY2MzY5OGVlIHB5M2stc3RydW5pCis1NjQwNyA1MzM3YzNhNGEyNzNkOTA3N2Q4YmU1MzcwNjVmZWE5YmM0NzAyM2Q4IHB5M2stc3RydW5pCis1NjQwOCBmNTFkM2JlNDM1ZGY2OGUzZDFkNTI1YjE0NjcyYzA1ODVmNWE2NmViIHB5M2stc3RydW5pCis1NjQwOSAwNThhYmY4NzhhZDRkZjk4ZmJjMzMwNmY3ZWVjYjkyMjdkNmJiNDA0IHB5M2stc3RydW5pCis1NjQxMCAzYmVhOGZhYzNhN2NmNmQ0M2Q2ZjQ0ZGJhYjlkMDkwZTM4ZDc3YWY4IHB5M2stc3RydW5pCis1NjQxMSBjNGFiM2VmNjE5NGY3MzcyMTQ3NzZlOWIxYjRhZDM1MTEzMjk2NjRkIHB5M2stc3RydW5pCis1NjQxMiBmNjU5MjE0NmM3ZmE2OGY3YTE1OTQxNzdmNDNiYjJhNDkzNWI0YmVkIGxlZ2FjeS10cnVuaworNTY0MTMgNTUwMTQxZmQ2N2MyM2RlODk1MzViNWQyOTIyNDBkNDFhNTUyOTk5ZiBwM3lrCis1NjQxNCBjOGU2MjQ1NzlhNGQ2M2U2YmQ2ZWVkMzVlOWUyNGY4ODgwZmY4ZmFkIGNweV9tZXJnZQorNTY0MTUgZjk0MGU0NzBlNTUwMjZlMTJkMzRkNzE0MzQwMGZmMjA3N2I0MzVmNCBweTNrLXN0cnVuaQorNTY0MTYgNjdiMDFiMDVhODFiNjIzNDg3ZmEyZjQ5ZmEwNWQ2MmU5YmJjNzdmOCBweTNrLXN0cnVuaQorNTY0MTcgYTMwOWNkYjdjYjMzMGQxMGFmMWY4YjkzZGY4YjkwNDNiMTk4ZDAyZCBweTNrLXN0cnVuaQorNTY0MTggN2QxNmI0MmZjZGJkZTJjYzUxM2ZjZGI0Mjc3NTZiYzlmMGNhZDM1MSBweTNrLXN0cnVuaQorNTY0MzggZDA3MTk0MDZiMmM2NTllN2RiNDM4OTYyYjZiNWJjNTRjNjBiYWU2YiBweTNrLXN0cnVuaQorNTY0MzkgN2NlZDNlODUxOWYxNDE4ODkxZDMwMzc3N2Y1ZDg1ZjE0OGY3MTZhZSBsZWdhY3ktdHJ1bmsKKzU2NDQwIDM1ZWI3MjIxNTYzMGFmMWFmZTRmYzFhMGFjMzk4Mzc1NTA0ZmE0ZGUgcHkzay1zdHJ1bmkKKzU2NDQxIDY3NzVlZTZkODlkM2Y5ZmRiMjk5N2ZhY2UxYzlmMmY0MjU1MmQ0ZjEgbGVnYWN5LXRydW5rCis1NjQ0MiAxNDk4MTViYTI4NGNjZGZkM2Q4YmIxY2NmNWM0MTZkYWU5YjgyYmIxIHAzeWsKKzU2NDQzIGJkNmFjZmRiNDdkMjVhNmNmZWMxZmFiMGEzZDkwYzE4ODI4NTMzNTAgcHkzay1zdHJ1bmkKKzU2NDQ0IDRjNjU4Mzc3YjkwODQ3NTQ5MTZlMGFmMTg5M2M0MTgzOTgyZDQzNzMgbGVnYWN5LXRydW5rCis1NjQ0NSBjMWU5ZWVlZGEzNGY5YmYyODNhOGZiNWEwYTYwMGEwNjM0NzQwMmI3IGNweV9tZXJnZQorNTY0NDYgMWFlNWYxMDJmZDNkNmUyNTE1ZmVmODU4ZGVmZWEwZDI4ODdlZDY3NiBweTNrLXN0cnVuaQorNTY0NDcgMDA3ZWQ2Y2RkMWY3YmM3NGJlOGQ5MzExZDIxOTUwMmRkZjI2NjllYSBweTNrLXN0cnVuaQorNTY0NDggMDg2NDJiZDFiZTE4NGFlMTJjMmUzN2ZkNjc4NmZjY2FhODNhNTU5NyBweTNrLXN0cnVuaQorNTY0NDkgZGZhY2I1MWQxMzg2MTYxMjE3OTVjMTMxMjgzODIwOWY1NmM3N2FmOSBweTNrLXN0cnVuaQorNTY0NTAgYmRjNjdkYzFhOTVlMmU0MDM0N2U5Yzg1ZGMwNTliMTlhYzk0NjhiMSBjcHlfbWVyZ2UKKzU2NDUxIGQwMWFlNjk4Y2I1ODM4Zjc1Y2I1MDc4YjZjYmQ2NGFlMzU2YzgzMzkgbGVnYWN5LXRydW5rCis1NjQ1MiAyOGFmOTYxMDM4ZGU4MjZhNTA3ZDY4NWFmOGE2Y2QyMTM3MWI4NDczIHJlbGVhc2UyNS1tYWludAorNTY0NTQgMzc5MDJlYTQxYTE3YjQzMmFkYjYwM2IwYTI0ZWJhZDU3ZjUxZjA5ZiBwM3lrCis1NjQ1NSA3Zjc2MGRiNGU3NDZiYWVmMThiMzU0ZGYwOTg1M2U2NTBmOWM1Nzg3IHAzeWsKKzU2NDU2IGMwMmEzMzc4OGE4ZjVlYmQzMjJmOTZlNWFjNWIzMzk2MzRmOTg4NWYgbGVnYWN5LXRydW5rCis1NjQ1NyAzZmI1OTY2NmIyODEwYTQxZDAyZTE2NjQ2Njk4NDgxM2NkNjRkYzNjIHAzeWsKKzU2NDYwIDQ5OTlhMDk0NzM0MzRhY2Q0M2U0NDBkOTZiMmM4ODZiMWFkOTE1ZjcgcHkzay1zdHJ1bmkKKzU2NDYxIGFjMzZmMDZhNjEyYjgwZTBiMTE0NWEzNzkyZTliNGVmZTU3NmE4MmYgcHkzay1zdHJ1bmkKKzU2NDYyIDYzOTU1ZTNjZjk5M2I2MTk1MzIxMGM4NDBhMWUxMTM3YzI2OWM5NDkgcHkzay1zdHJ1bmkKKzU2NDYzIDhjNGEzMzA3OWNhNjAwZDg3MmI2NDYyNzljZjc5MDRjODk2ZWFhM2IgbGVnYWN5LXRydW5rCis1NjQ2NCAzZTMzMjE1YzY2ZWRlOGZmMmM1Njc0YjdhN2IxYWNkMTA2MWYzNjNkIHB5M2stc3RydW5pCis1NjQ2NSAxMTYyNTFhZGE5MDU4ZmU2MDdlOGM4MjI1MzU3YWYzMzgwMTNiNzg0IHB5M2stc3RydW5pCis1NjQ2NiA2MGI3MThiNmZjOWIxNjMzY2MyNGE5ZGRmN2YyNTYzNjNiN2U3OGM4IHAzeWsKKzU2NDY3IDRiYmJlMGM1NWZhMjE1OGZlMjE2NTM3YzhmY2RmYjNlYmFkNzQyYjkgcHkzay1zdHJ1bmkKKzU2NDY4IGM0NmYwYWZiNDAzYzQwN2ViOTllZTg0MmRlMjIwNTdlYTM1YmM1MmYgcHkzay1zdHJ1bmkKKzU2NDY5IDk2NGM0YmY4NmQ5YTY5Njc1N2VlMGQyMzQ0YmI2Mzk0YzgyMDhhMTMgcHkzay1zdHJ1bmkKKzU2NDcwIGEyYzVjZWJkMGRjNTFmMTViN2I5OTVhYmU5MGY1ZmRlYmJmZDE1OTggcHkzay1zdHJ1bmkKKzU2NDcxIDU3YzYyYmQzNmIxOWJiODFiZGM5NDE3MjdhMWU5YTM1MThiNjA5NTggcHkzay1zdHJ1bmkKKzU2NDcyIDVhOWUzZDM3ZjY2MWYxM2VmZGUxNzFjYmFlYTcxODQwMjdlMjgzMWMgcHkzay1zdHJ1bmkKKzU2NDczIDMzM2ZmMDU4NDkzOGM1NjMzOWRlNzU2NWIzMzVjYjY3OTY4MmJiNDkgcHkzay1zdHJ1bmkKKzU2NDc0IDdhMGQxYmFhNGE1M2RlZDQyNDUxYjE4MDkyZDZhYjU0OTU5MTA2MmQgcHkzay1zdHJ1bmkKKzU2NDc1IDJiZTI1MWRkMmNiZGYxNjEzM2M0YjU0OTEwMjIxMWEyYjc5YjhkYWYgcHkzay1zdHJ1bmkKKzU2NDc2IDY2MjBhNTEwZTlhOTUxMTBkYjEzOTEyZDY2NTUxOGFkZTdkZDdkOWQgbGVnYWN5LXRydW5rCis1NjQ3NyBlMzcxNzFhNGIxNDc5NTlmNmYyM2VjMmEwOGYyMmQ0ZGI2NzMyN2Q5IHAzeWsKKzU2NDc4IGZkMzQ1OGE5MmE4OTQwZGJkN2E2NzUxMWEyM2ZmYWQ5OGU3N2E5NzQgcDN5aworNTY0NzkgNGU4OTg3MmYwODJlMDZiOGZlODkyNjA1YTdlNjIwYzM2MTI4OWM4ZiBwM3lrCis1NjQ4MCA1MzFlMTgxZjViNTMwZjllNDUyODYwNTQwNDliMjY0NGRlNzM3ZTIyIHAzeWsKKzU2NDgyIDEyZGY5MDYwMDNlYTkyMjZmMjJjZTMxOGRmYjFkOTBmM2I5OTA0YzMgcDN5aworNTY0ODMgZTcwY2RjZTBlOGIyOTU1YzQ0MDA4YTQ0OGYwOTM1YjlkZTdkMTg1ZSBweTNrLXN0cnVuaQorNTY0ODQgYzhiODUwYjVhMDY2NjkxZmE4OGNmZTUyZWQzNWU4YjgyYTM5OWVlOCBweTNrLXN0cnVuaQorNTY0ODUgMDNhYjhjOGJiMGFlMTg0Y2U4YzgyZjA2ZTU4MWRlYzQxZmRkYzliMyBsZWdhY3ktdHJ1bmsKKzU2NDg2IDIzYmZkYjc1NzFhN2RhZDFjZTg1YWE2NWVlYjE2NDVhYzhiZTgyMzYgcDN5aworNTY0ODcgODhlZTBhNTU2MmVlMjIxOTBkZjcxZjAwMThjZmU1ODlkMzdlMTkyMiBwM3lrCis1NjQ4OCAzOGQxYmViNjUwYmFjZmUyYmRlYzMyNjk4YTBhYjhkMjU5YjI0YmZhIGxlZ2FjeS10cnVuaworNTY0ODkgODExYzlhYTZlZDg4MmU0MDU3NTFkYzZmNGU5NWI3MTk0ZjViMTAzZiBwM3lrCis1NjQ5MCAyNzg2MzhjZGM2NDdhYTI4NGVhMGZhZjNjZmJkYmJiMGNmNWNjNmUyIHAzeWsKKzU2NDkxIDYxODU5YTM5YTg3ZTcyNjQ1MWI3MTg1NGE3ZTAxYzY3ZjM4NDVmZmEgcDN5aworNTY0OTIgN2JmZTlhMTA3YjI5Nzc3MjAzZDY0MjIwNjY3NzA2ZTc2N2RiYWE2NCBweTNrLXN0cnVuaQorNTY0OTMgYzE1MmM3ZmExN2M0ZDAyODczYzdmMDY2NGZjNjU0NDJjMTViN2Q0YyBweTNrLXN0cnVuaQorNTY0OTQgZjRhZjZmNGI1MWNjMzYxOGZmYjMzOGQxMmU5NTcwNmVmMTk4ZmI3MSBweTNrLXN0cnVuaQorNTY0OTUgMTQ1NzQxMDE2ODQ4ODJjN2JkZGY1MDE1OGYyMWQzMWQ4YWNiNzYwZCBweTNrLXN0cnVuaQorNTY0OTYgNjBjNzY3MThlMDRhMDA1ZmM3NzZmMDc3YzFjZWM0YzhkZmJhN2M0OSBweTNrLXN0cnVuaQorNTY0OTcgZjMyZmJmOWZhNjBiMWM4OTQwOGRjNWRiMDgxMGY2NjQzNjY5ODA0YSBwM3lrCis1NjQ5OCA0MDk5OGYxOGM1ZGNjYmMzMDE3ZTBiYTI1NTNhYzVjZjg5ZDgxYzM5IHB5M2stc3RydW5pCis1NjQ5OSA4MzY3MGMyZjFlYTg0YzcxMWIxZDc5MDA4M2UyYzRhZTQ4NzNiNjczIHB5M2stc3RydW5pCis1NjUwMCA5Y2U1NGNmMGRiZTJhNjlkZGFmZmRmZjBiOGVkNzQ0YjM4MjNkMzQwIHB5M2stc3RydW5pCis1NjUwMSAzNmI2NzAzMGNhNDcyZGEzNGJhMzY0ZmNlOTNhZTQxNWE0MjZiNGQ3IHAzeWsKKzU2NTAyIGI1OTBmNGEwNmJmODY0N2NhNjI3ZDg0MTc3NTA2Njg1ZGJmZDM4MTcgcHkzay1zdHJ1bmkKKzU2NTAzIDVlNjZiYjY5YzFlM2U0ODZlN2JmNzQ1ZGM3NDZkZDBhYTc1MmNiZDYgcHkzay1zdHJ1bmkKKzU2NTA0IGJmZTA0MWFmYWZlNjkwYzBlYjY4NTA1NDZhMjhkY2U0M2IzZThiN2QgcHkzay1zdHJ1bmkKKzU2NTA5IDNmZTY0M2Q2MmVjYzQ1ZWIwNGMwNDY4M2VhMDNhODI2NTM5YzRiNTcgbGVnYWN5LXRydW5rCis1NjUxMCBmZDY3MDUzOWMwODVkNTYwMjI2YjllM2NmY2RlOTVlYThlY2ZiNzNjIHB5M2stc3RydW5pCis1NjUxMiBlNTBlMzNiN2UwZTBjY2I3MTE0MDUyODY4YjBjZWEzZDU0NDRiYzVjIHB5M2stc3RydW5pCis1NjUxMyA2NDA5NTJkZjQ0MzE0YjRiYTBkYWI1OWVkNzUyZTY4ZGM3YzJkYTE5IHB5M2stc3RydW5pCis1NjUxNCA5NTllNTJhZTI2MjdhMDg5YWQ1OGIwZWU4YzViNTNkMWQyNDUwZGI3IHB5M2stc3RydW5pCis1NjUxNSAzNmZiY2RhODBiMWM0NTdmYjRlZDlhMjA2M2RhOTg5Y2JlZGMxM2I4IHB5M2stc3RydW5pCis1NjUxNiA1YjljOGRjZTRlZGQ3ZThjZDZiZTFjMzVhYWY5ZTJlNzc4N2Y3ZTkzIHB5M2stc3RydW5pCis1NjUxOSBkOTRkNWI0MTZhOTQ3YWY0Zjg1ZTgyM2YxZDJmYzZkOTI5MTMzNDAxIGxlZ2FjeS10cnVuaworNTY1MjAgYmM4ZTVlMTU3MWFjY2YwZWVlNzhkZTRkZWNhY2FmMzZkMzcyZDQ2YyBsZWdhY3ktdHJ1bmsKKzU2NTIzIDMwZTExMjM1MGUyMDNhMzY5ZjRjZDU4NDFlNDgwZThlMDdmOTk2MDUgbGVnYWN5LXRydW5rCis1NjUyOSA3NDZhNTAyMWUxYWE4NzExZTViNDg5ODI0YTU3Njc4NDBiZDIxZjU3IHB5M2stc3RydW5pCis1NjUzMyAwZTJmYTRjNmE0MjgzNTUzNzIyMGI3ZjlkNTMxOGFjMTViZGE4YTgyIGxlZ2FjeS10cnVuaworNTY1MzYgMTEzNzcyNDkzMGE3MmIzODhkNGU5NDc0YmY1ZDA0ODczMTE0YTQ2NSBwM3lrCis1NjUzNyBkYTYyODM2ZGQ5OWY3NzNkNjRhMWY4MWFhOTAwNDQ4NWVlNzM1YzViIHAzeWsKKzU2NTM4IDJmZGE1NTNhYzZlMTYzZGIxNGYyODhkMzM4YmE1N2VjNzQzYzZiZTYgbGVnYWN5LXRydW5rCis1NjUzOSBlOTg5MWQ3ODdlZGQ4MjY5MmQxOGI4NDNmMjNiMWEwY2NiMjdmYWZmIGxlZ2FjeS10cnVuaworNTY1NDIgMTIwNWQzMDM0NjFjMzIzYjk4MTQ1NGVhZjYzZjhlMjliMzk4Y2FmMyByZWxlYXNlMjUtbWFpbnQKKzU2NTQzIDI3ODY0YTE4MWYwMWIyMzkyY2M5Zjg4OWFmMTE0ZjNhNDk4Mjg3YzMgbGVnYWN5LXRydW5rCis1NjU0NiA3OTVhNWRjZGM5ODIwMzAzMmU1MjIyNzdiMTE5YTFkODA1Y2EyZmNmIHB5M2stc3RydW5pCis1NjU0NyBkNDhhY2IyODQ2NjRjNzQ0YjE4ZjBmNzU5NzJlZGU2OTA1OTRiMWIyIHB5M2stYnVmZmVyCis1NjU0OCA1ZjNmNTRjMGM2YzhlYjIwZDZiODEzYmZhZjU2MmFiYzcxNDkxMmM1IHB5M2stc3RydW5pCis1NjU0OSA4ZmY4OTk2NDE1NjM1MmY3N2FhZmU0ZDkyMGJkNjA0MWQ3YTczM2UxIHB5M2stc3RydW5pCis1NjU1MSA2ZmE3ZDhmYjA3NzMxOGY4Y2ZhZWJmYzg5ZGIyODQ1ZjRlYmY1ZjRmIGxlZ2FjeS10cnVuaworNTY1NTIgNDM0YWU2NmI3ZGUwNGU5YmNjYWY5Nzc4MTdjOGNmMzI2ZjBlOWY0OSByZWxlYXNlMjUtbWFpbnQKKzU2NTUzIDY0OTAzZmY3NmVkZTFhMDk2OWU4YjE2NmQ4MWE1NGExNmU0NTRlMDcgbGVnYWN5LXRydW5rCis1NjU1NCA1N2ZhY2YzNGE3MTg2MTBjNTY5M2I0ZTlmZTM4NWE0MzkwZmIxNWRmIHB5M2stc3RydW5pCis1NjU1NSBhNTQzNGZhZGE5ZmY0OWM0MDdlMDFlMjcyNzdmNjBiNzhiNGVmNDExIHB5M2stc3RydW5pCis1NjU1NiAyYWNjODkwMjc2OGM0NDdmMDMzNjYzODg5Yzg2NWE5NWJiYTY4MGEzIGNweV9tZXJnZQorNTY1NTcgMDdhNTc3YjYyMGVjNjkxODJjNDg1MzcxMDA5NmRiYjY5ZmE2MzgzOCByZWxlYXNlMjQtbWFpbnQKKzU2NTU4IGRlZWM0MTI2ZmZhY2ViMDZlMjZmYWRlNmEwYThmYjhlMjdlYjhlYmIgcmVsZWFzZTI1LW1haW50Cis1NjU1OSBiMDBiZDA4YTA5NDk0OTEyMjc5Yjg0OTc5ZDUyYmRiMzRhMWQ4MGNhIHB5M2stc3RydW5pCis1NjU2MCAyNzhjNTIxMzQxNDBmNjE3ZGNmZjFjYWEwN2RjZGU4NDA4YWM4NDg5IHB5M2stc3RydW5pCis1NjU2MSAxMDcxZjcwNzZlOGUzOGM3MzRmYjU4Y2ZjMzRiZmI5YzEwZWU5ZmNiIGxlZ2FjeS10cnVuaworNTY1NjIgMjBiZDViZTI0YWI1NmI5Yjk4NWJjOGFiZjFiZDU2OTAwNjgwNWJiYSBsZWdhY3ktdHJ1bmsKKzU2NTYzIDg2Mjg1YjM5N2I0ZDEwNGQ0OTdlYTBkYzRkNGEyMDE3NDM1OWVjYTcgcHkzay1zdHJ1bmkKKzU2NTY2IDA1NDZjMTE1YTljZjNjNzJiMzYwNTFiOGJlYmQwM2VkZmYyNDA5NTMgbGVnYWN5LXRydW5rCis1NjU4NCA5ZTg0YjQ4Njg5ODQ2ODFlOGUxZmNjMWU3YjgzYmNhYzMwYjBhZjc3IHB5M2stc3RydW5pCis1NjU4NSA5MGU0MmEwYjIyMDJjZjg1NmRjNWExMzgwOTNmNWYyMmZiYWM3YjRlIHB5M2stc3RydW5pCis1NjU4NiBmNjcyMDcxZDgyZmI4MzhkYzhiNjVkNjY1MTM4NzA0YjgxNzVjMDUwIHB5M2stc3RydW5pCis1NjU4NyAzNTdjYjg5NjdlODVlZTBmNzhjY2Q5MjAxYzU2MzdjZTYxNzlmMDU4IHB5M2stc3RydW5pCis1NjU4OCBlOTkxNmE0ZTA2YTRkZDNhNTFjMWI1ZTVhN2U0MjBjNGFkYTIwNDhjIGxlZ2FjeS10cnVuaworNTY2MDAgN2U3ZGNlMzA4OWUzN2E5YzEwZmJlMjFhYjYzMjZjZjYwOGMyNWRkMyByZWxlYXNlMjUtbWFpbnQKKzU2NjAxIDg1YjdmNDBlMWMxY2YwYTViNTVmNjYzNzkyYTE2NzFlNjFiNmY0MzIgbGVnYWN5LXRydW5rCis1NjYwMyBkMzQ3MWVmNmZlMzhhOWM4OGNhNTE2ZjIxNDdkZjM3NGE5ZjdhNzZlIHB5M2stc3RydW5pCis1NjYwNCBlMzFjNDgyMThiMGNiOTFhMGM4Y2QyNmE0OTdiMWE1MDdmNmMwMDk0IGxlZ2FjeS10cnVuaworNTY2MDUgNzg1ZGUyMjQ5OTVkNTExNWFmNzVkMzFmOTc4ZWM5ZWNiMzg1ZWVlYSBweTNrLXN0cnVuaQorNTY2MDYgZTFkYWU4NjI2YzExYTZkZTA5ZjdjNmY1ZjQ2YWQ2YjAxNjE0Zjk0ZiBweTNrLXN0cnVuaQorNTY2MDcgODZjMTNjZTYwYWFkZTVkOTc4NzNkMzk3MWJiZWU2OTY5ZDY4ZDVmZiBweTNrLXN0cnVuaQorNTY2MDggZDUyYmVmNTUyYWE0MDdmMWE2MjJkMmY5MmEzMmU5YmE5YTA3NzUzMSBweTNrLXN0cnVuaQorNTY2MDkgMzEwNWI3Y2YzNWJlYTcwNzdmYmE5NzZlODRhZGNhY2Y2ZWNjZjMzNiBweTNrLXN0cnVuaQorNTY2MTAgYjlhZGFkNTY5NWEzOWFkMTA4OWE5NDgwZGYxZmQzMDBiZjQ3Nzk2ZCBweTNrLXN0cnVuaQorNTY2MTEgZTk0ZDUwNjBiMGMxYzRhMjRmNjA3MjViMTAwMjVlNGMzYWNkMjZiNiBsZWdhY3ktdHJ1bmsKKzU2NjEyIGYxZjFmNWUxMzk1YzhiNDllY2VkMDczYzI1NDE3NzIzMDE4Zjk1MDYgcmVsZWFzZTI1LW1haW50Cis1NjYxNCA1Y2Q1ZjMyYjRhMjg4NjQ4ODA2MmUwMTYzZDU0MTFhYjc5YjE4YjQ2IGxlZ2FjeS10cnVuaworNTY2MTUgMzY1ZTk5MWE2MzFiNGM1NjVkNjU1MGQ3ZmFhMjI1YTg5MjkxNTBiOSByZWxlYXNlMjUtbWFpbnQKKzU2NjE3IDhhZDhhMzM0YmUwZjM1NWZkMDQ3OTAwZjE2MzczM2M1NTA1MTkwNTEgbGVnYWN5LXRydW5rCis1NjYxOSBlNTk4MTczZjk1ZTg4MDQxZjk1MGYxNTI0OGIyZjYxYjNhN2ZjMjM2IHJlbGVhc2UyNS1tYWludAorNTY2MjAgMjUxMDMzYTFjMmUzMjg1ZGEyNzRkODZjZjZmNDVkMzJiNWI3YWNhOSBsZWdhY3ktdHJ1bmsKKzU2NjIxIDdlODQ2OTYxN2IxYzNkMjU2ZTdlOTM4NWY2MTMyZGM4NTIzYjkwNmIgcHkzay1zdHJ1bmkKKzU2NjIzIDBjMzAwYjI5MjAwYzIyODliNWY5NTUxOWY2N2EyMzUzN2FhMjNlZDMgcHkzay1zdHJ1bmkKKzU2NjI0IGNlN2ZjMDhkNWY0Nzg1MzE0MTY0MDA2NjM2MmQ4MzFhZTE3YWYyYTkgbGVnYWN5LXRydW5rCis1NjYyNSA0OGNmYWFhODI4NzMwZGUxYTFhMTU5Y2E1NDVkMjFjY2MyMTY5M2ZhIHB5M2stc3RydW5pCis1NjYyNiA0Njg2MjE1NjliZThlOTVlY2Q5MzNmYzljODZlYzZiYTIxNjMzNTRmIHB5M2stc3RydW5pCis1NjYyNyBiZDg0NTZjOTU2OWFjMjUzMTQ0YWVkNzgxZDAyNTZmZjhjYzUzODdhIHAzeWsKKzU2NjI4IDhlNjlhYzFiZDA0MmNjYWRmZGI4NGM2MGZkYjQ4MmVjZWJkNGE1Y2IgcDN5aworNTY2MjkgNTA0MDg0YzA0YWMwMDBjZGQzY2JjZGQ3ZmJhOTJiYjBiNzZmYTRlYSBweTNrLXN0cnVuaQorNTY2MzIgM2EwMTUzNTViMDdhYTAzNTA0MTIyODM0MDk0ZTBhYzIwOTNhZGUyNCBsZWdhY3ktdHJ1bmsKKzU2NjMzIGI2MDY4ZGQ2YWUwMGMzZTE1Nzg5MDg4ZDg5OTIxNmE3NTExMGFlOTMgbGVnYWN5LXRydW5rCis1NjYzNSBlZjJkYzYyZDI3ZWI3ZDhmMzE5OTI1YjMxZTMwZjI4YmUzM2FmNzY2IHJlbGVhc2UyNS1tYWludAorNTY2MzYgZTFjMGFhOTRjMDkyZjljMjBlM2QzZDJhZGI0MTMwZjY3ZmRhYThmNCBsZWdhY3ktdHJ1bmsKKzU2NjM4IDNmNzhhY2MwMTAzOTgxNWI2ZmJkOTUyMDI1MTAyMWUxODg2MTJhY2IgcDN5aworNTY2MzkgOGI1NmEwNjk2MTRlZjRhMjE1MGQyZjA4MTAyMzY5YjI3OWZhMzQwMCBweTNrLWJ1ZmZlcgorNTY2NDggMzkyZjk4MjIxZDEzZWVhYzQ4ZWVlMDM5MjQ1NDc2OTNkMjcxZGJhOCBweTNrLXN0cnVuaQorNTY2NDkgOGMxNjVkMjA3MDlmNjNmYzYzYjVmMmRkMGRiOGM4ZDM4M2Q0OWY1NyBweTNrLXN0cnVuaQorNTY2NTAgYTZkMjZhNGQ2NzJkZWEzYmQ4M2YyNDRhODNlZTQ2Nzg1ZDE2N2RhNiBweTNrLXN0cnVuaQorNTY2NTEgOTg5OGE2Njk2NWJjZDk4Nzg1OTRjYTYyYWZiYTUxZGYwMDE1ZTM5NiBweTNrLXN0cnVuaQorNTY2NTIgZDNhNWM3OTZjOGJhMDBmZjVmMDEzMWEyYmJiMTJmZGRiODc5MGNlMSBweTNrLXN0cnVuaQorNTY2NTMgNjcwNTliNzhiY2U0NzVkM2FmYTU0ZjVkNWFhZTAyNmQ1YmQwZDNjNiBsZWdhY3ktdHJ1bmsKKzU2NjU0IDgwMWFkMmYwZDBiNTgwNTk3ZGMyYzgxZjkwNDViZTA2ZDA5NGI3ODcgZGVjaW1hbC1icmFuY2gKKzU2NjU1IDA3YzJmODFjMjY3ZDYxOWJjNzYzZGFlYzljYzQ1MTUxYTJkNDhlOGQgZGVjaW1hbC1icmFuY2gKKzU2NjU2IGNmNDU5NjUyYzM1MjM0Yjc4M2RmNDM5ZWJlNjdhNTk4ODY2YzcxYmIgZGVjaW1hbC1icmFuY2gKKzU2NjU5IDZmMjMzMGUwOTA5YmVjNGI3YjA0YjZkNGJhY2JkM2QwNDMzN2UxMmQgcHkzay1zdHJ1bmkKKzU2NjcyIDAyYzI3MTc3ZGY3OTM0YmNjYTFkNmNlYWQzYTdkYjZkNTQxOGFmYjggcHkzay1zdHJ1bmkKKzU2Njc5IDBjYmJhNDQyNmNkM2M0ZDJhYTllYjgwYWMxZjM0NmRjMGEwMGY3YzQgcmVsZWFzZTI1LW1haW50Cis1NjY4MSBlMjFkNjQ3NDZiZDNjYzRmNTA2YWU5NWMyMTZjYjNhMTRhNGNjMzA1IGxlZ2FjeS10cnVuaworNTY2ODIgNzU1ZTMxZGVhNDdlNTk2ZjMwYTY0NzBhNzQyMGVhMjkxYTI3YjI0NiBkZWNpbWFsLWJyYW5jaAorNTY2ODMgYzMzYzM3YmE5Y2IzYjU5ZTA3YjFlOTk5MDQxY2UxYzg0Yzc3NDU1YSBkZWNpbWFsLWJyYW5jaAorNTY2ODQgYjFmZjU0ZjhmOWQ4MzEzYTUxYjk0NDc5Yzg4NDRlZDE1NTYxZDk0OSByZWxlYXNlMjQtbWFpbnQKKzU2Njg1IDNhZGIwMzM1ZGU1MDZjZGVkMjE5ZTA3NmQ5ZmQxOWFkZjllNDc1YWMgcDN5aworNTY2ODYgMTY4ZDA1NTE2MGRjMTlmOTExMTc0YzkzYzAyYmRmMGViNzAzMmQ4NyBwM3lrCis1NjY4OSA3MjNjYjllM2ZhNTAwZTc1MGUwY2YwZGViMmQ0NThlNjI1OTBkMjA1IGxlZ2FjeS10cnVuaworNTY3MDMgNzc5NGRhMTMzNGEwMWY3ODQ5ZTcwN2E0M2M3MzdlZmVkOTE4NDBhNyBweTNrLXN0cnVuaQorNTY3MDQgYWU3MmJmNWFlNDY1MThjYTYxZDViNTA5YjRmM2M1ZDRhMTIzZWVhNCBweTNrLXN0cnVuaQorNTY3MDYgNDY2MjVlNjEyMmU5OWJmZTBjYTQxZjY5ZjI5ZmM2MjkxNmRiMDI1YyBweTNrLXN0cnVuaQorNTY3MDcgODFhZGUwMTQ0MjQ3ZDc4NzVkMzNkODUyZDMyNDE0MTBjM2I1MDIxZCBweTNrLXN0cnVuaQorNTY3MDggYjFiZjFiYWI5Nzc5NjYwMzE1MTBkZjU0MTEwMTNhYzViYmEwMTUwZiBweTNrLXN0cnVuaQorNTY3MDkgNmMzZmE0M2YxZDFkMjUxMTk2Y2IxZjk0MmNmMDM5NjVmNDY5NGYwOCBweTNrLXN0cnVuaQorNTY3MTEgNzQwMWZmNzhlYjI5YzAzYmNhOGQzMTEzN2I4MWUwYzc5YjIzNDg5YiBweTNrLXN0cnVuaQorNTY3MTIgNTM1ZGFlMDRkNmNkNjc0NjQ1ODNjMmUwMWNiNTgzZmZmYWU3OGQyMyBweTNrLXN0cnVuaQorNTY3MTMgZTMxOWQyZDI4NWJhM2Q2NzVhZjZmMDE3NzEyZjM1NjBiZjZhMzk1NiBweTNrLXN0cnVuaQorNTY3MTQgYzM1MTQwNTU5Zjg3ZThkYThjZTYxOGQ2OTdiYmFhZTUzZTliYTQ0MSBweTNrLXN0cnVuaQorNTY3MTUgZjZjYzc2ZTRjYTI1MWJkYWM3ZjkwN2YxNzFkZTQwZGM0ZjliOWYwZiBweTNrLXN0cnVuaQorNTY3MTYgM2VkMDIwZTk1YjQ0NGUzMGUzOTFlOTVmNjcwMzUyMDhhYTEzOWI2MCBweTNrLXN0cnVuaQorNTY3MTcgM2JlMjk3MmEyOWNhYzVjNzBlOTA3ODE4NzIxNmY5ZDdmYWFiMDE1NyBweTNrLXN0cnVuaQorNTY3MTggYWRlNWQxYWMxYTJjOGE1MDM5YWRlMDZiNTBmNGFkYzIzNzZjMjAwZCBweTNrLXN0cnVuaQorNTY3MTkgNzEzMDRlZmJjMzE2YTZkMmY0MmQzNWI2NGE1Y2ExMTcwZDRiZDgyOCBweTNrLXN0cnVuaQorNTY3MjAgMDU3MjhlNTJiMjgzMjBkMTgwMTgyZjY4NWRkMjg3OTU2ZDYxN2U0NSBweTNrLXN0cnVuaQorNTY3MjEgYjZiZGJiNjMyNmQyZjBiOWUxOTdmNDA2MWI1ZmUzNTAyOWI3MDZiYSBweTNrLXN0cnVuaQorNTY3MjIgMGZhODRmZmJhNzY5OGFkZWIyODVjZWVlYTIyOWVlZDE0NzVlNjI3YSBweTNrLXN0cnVuaQorNTY3MjMgYzYxOTQ0ODBiMWQ1OTYxZDRlZGYzNGE4ZTEyOTMxZjA0OWVjOTc4MiBweTNrLXN0cnVuaQorNTY3MjQgMTJkYmFlY2ZiNDRiOTE0N2U4MzM5ODY0NzNmOTk1NTcyNDhhMTkxZSBweTNrLXN0cnVuaQorNTY3MjUgMTMzMzUwMzk4NzIyMTBhOTFkZmQ5NDhlYmQwOWUxYTYxYjkxZjcyZiBweTNrLXN0cnVuaQorNTY3MjYgOGQ2OWEwODRlMzY1NWNhNTUzMGI1OWVhZTY1NGQ0NjAwNWJhNDkzNyBweTNrLXN0cnVuaQorNTY3MjcgM2ZlNTdkYWFhNjA4MTM0OTY3OGFhYzU4MGUyMmI2YmZkNWRiN2RhMiBsZWdhY3ktdHJ1bmsKKzU2NzI4IGJhNjRmY2FiNTIxNDJhNWZiODdjOWVhMGQwNGZmM2M1NWVmNjAzMDEgcmVsZWFzZTI1LW1haW50Cis1NjczNSBhYTVlZTY1MzI4ZmI2OTQ4YTYzODE5NjVhNGMzNjhhYmFlODE4MDcwIGRlY2ltYWwtYnJhbmNoCis1NjczNyBlZDM3NTQyZjQ3M2VhZTI4NjVkNzJlMGY0MTZjMWU3ODZhYmEwOTlkIHB5M2stc3RydW5pCis1NjczOSA1MjhhOGQ5ZWYyMDJlNTRkNjM3ZTZlYjkzN2FhNzQ0NzQyMTA4NzBjIHB5M2stc3RydW5pCis1Njc0MCBhNDBhZWRkYzBjODFiZDhlNDdhOWMyOGU1ODI2MDg2MjI1NGM1NmZjIHB5M2stc3RydW5pCis1Njc0MiBmNDQwOWM1ZDc5OTRkM2EwZmVjZmRjYjZhMThiNzI2Yjk1ZjU0MjkxIHB5M2stc3RydW5pCis1Njc0MyBkMjIzNWFlZTJkMjU1MDJjYWMxOTYyZGI2OWNkMGRlNDMwYTNjOGNmIHB5M2stc3RydW5pCis1Njc0OCBhODRlYWRmNjM3MmUzOGIyMzZjYmZlYjA4N2QzZmM0MjkxYjRhOTNjIHAzeWsKKzU2NzUwIGZkYmVkNzNlNWRhN2Y1Y2IxMTA5MzhhNGE4ODBmYjg3ZjhhYjAzZTUgcDN5aworNTY3NTEgNjQ4NTc3Y2M2ODhhZjZjZWIwNzk3MjlhNTdiZmFmMWU4NjY0MWU0YiBsZWdhY3ktdHJ1bmsKKzU2NzUzIGRkNzRlMDIwYTEzMjM4NmQ0MTY5OGZhODcyZWNlZDBhZGEyMTQwN2YgcHkzay1zdHJ1bmkKKzU2NzU0IDYyOTE4NTk5MmFhMjE1MGIwMjhkOTg5Y2FhNDVjMjRiYWJmNjQ0NDEgcHkzay1zdHJ1bmkKKzU2NzU1IDA4MGYyYWExODAxNThlNzJlOTI4OGI4OTJmY2VhMDdiOGZkNDFhOWQgcHkzay1zdHJ1bmkKKzU2NzU3IDQ5ZDUxYzFmYzE3NzhjMTJlZjY1MTU4NmE5YTY5YWFmZmE3MzhkMGEgcHkzay1zdHJ1bmkKKzU2NzU4IDE3ODAwMzVkNTgxMjNjNzdmY2U4YjA1NGE3NDY2N2RjNjVlZmU1YTggZGVjaW1hbC1icmFuY2gKKzU2NzU5IDg4ZDdhM2RmNWY3OWU1Mjk4YWU2MjQwYWFkNGJiNWY5YzNlNjBjYWEgZGVjaW1hbC1icmFuY2gKKzU2NzYwIGI0NTAwNTY0MWJjYTYyODlkOTE0NWJmNGVmNjcwY2VlMmFmZjY0OTYgcDN5aworNTY3NjIgZGJmYzNjZjE1MjJkMDdhNGU2OTZjN2FjMjMzNmVkMTlmNzViNjNmMyBsZWdhY3ktdHJ1bmsKKzU2NzYzIDliMjZlZTZlNmQwYTQ1ZGZjOWFiMjkyZDgzODBlMTk0OWFiZWVlMDcgbGVnYWN5LXRydW5rCis1Njc2NCAyNThlMmI3YTc4ZTRmZTE3NDc4NDAzZWJhOWZjZjIxNGVhMjlhNmZhIGxlZ2FjeS10cnVuaworNTY3NzUgMGFkYjcyMDdlNGJlYjdiNGQzZjA5NzZlMzViY2ZmMzFiY2YyNjE4ZCBkZWNpbWFsLWJyYW5jaAorNTY3NzcgOGI0NWYyMjk3ZGJkMTQ5YjI5MjFjMmQ2ZWM4ZWY0NzMxNDBmMzhhOSBweTNrLXN0cnVuaQorNTY3NzkgYjEwYmEzOGU2YjgwODEyMzZhNTkwM2EyYTE5ZDZkYjkxZmU0ODRhMiBweTNrLXN0cnVuaQorNTY3ODAgMjI5MzYxMTk4ZThkNWVkODNjNjU5YTRkMDgwNjZkYjZkNmQ3ODQ1ZCBweTNrLXN0cnVuaQorNTY3ODEgNDQwMTc2ZjA2MTQ3OTQyNDA2MWE4N2MyNmIyY2I1MmQxNjEwYzZmOCBweTNrLXN0cnVuaQorNTY3ODIgM2ZjM2NlZGM0OWNhM2M2YTg1YjE4NTgwNzE0ZWQ5MTRhODZmMjViOCBweTNrLXN0cnVuaQorNTY3ODMgODFhMzgwM2Y0M2NmOTg5ZWJkODRmYzM3ZmVjYzdmM2M1MWY5ZTQzMyBweTNrLXN0cnVuaQorNTY3ODQgZjRjOTljYWQ4ZDJmNjRiMjdmOTM2ZDUzZTM5OGQ1OWVjZjAxNzM5MCBweTNrLXN0cnVuaQorNTY3ODUgZjgyODFkYzJlNjhkZWQ3ZjNiNmZmNzdlMWM2NGI3Yjg4N2JhNzVlYSBweTNrLWJ1ZmZlcgorNTY3OTAgMmFiMThmZmI0MDFjZjFiN2FkMDk0M2Y3NGRhOTE4NDlmZTI2YmE4ZSBweTNrLXN0cnVuaQorNTY3OTEgMmExMTNhODI2NGIxNjIxMDY5OTRjNjk3NGVkNWE0ZDMzMzI2NjJlNCBweTNrLXN0cnVuaQorNTY3OTIgZjMyNDhjMzIwZGQwM2ExZGMyYzZlNzhmYTY3YzIyODg1YWQ1NWM0YiBweTNrLWJ1ZmZlcgorNTY3OTcgZmU1YTA2MjFmOTE4ODA2ZGJmYTEyZTJiYTg4NzNmNmI5OGYxYWZmNSBsZWdhY3ktdHJ1bmsKKzU2Nzk4IDdkMDc4ZmEzNGJiZjYzYmYyYTJiYWU5ZDU1MDRjNmQwODRiNzcyYjkgcmVsZWFzZTI1LW1haW50Cis1Njc5OSBiMjJkOWZkNGE3ODVhZGZhYTMyYTU3ZjQ5ZTgwZTZmMmUxYzdkYTE4IHB5M2stc3RydW5pCis1NjgwMCA2YmEyZTY3NTgwZmM5OGI4MDJkNTAzNGI5YTk5ZmRmOTVkMThjNTJkIHB5M2stc3RydW5pCis1NjgwMSAzNDVjODEyZjMzNjY1ZWRmMzJlZWMwZmFhYmNhZmMyZmUyOGU3MjQ0IGRlY2ltYWwtYnJhbmNoCis1NjgwMiAyOTczNTg5OWNhMTVhMDY5NmE4NTkzYTEyYmZjZTI1MzBkMDQyNmM4IHB5M2stc3RydW5pCis1NjgwMyA2ZmRkMWFmNjNmYTZhNWZmYjdhNzQ1NDRiZGU5NTJiMTAyZTFjYjBjIHB5M2stc3RydW5pCis1NjgwNCBlN2ZkMzI3ZTBjMTlhMjg4ZjA5NTVkNzU3OGNhNzA4OTU4ZjMxYjdjIHB5M2stc3RydW5pCis1NjgwNSA0OWQ0YzRjZGYwYzg2MjgzYzFiY2ViYzViNzk2ZDcwMTQxOWYxZDFjIHB5M2stc3RydW5pCis1NjgwNiA5ZjE4NDhmNTk2ZTBjYzY0ZDVjNjQ4ZDY4ZDFhMzQ1YWRmZGFjZDkzIHB5M2stc3RydW5pCis1NjgwOCBlMTE1MGFhZTBmNjRkNmRiOTY0ZGEzOWJhMmU1N2U4NDI4NDE0MjZmIHAzeWsKKzU2ODA5IDEzZGM4MzZkNGE5OWE4NWUwNzkyNDgxM2Q3YmUwYTBhZGZkN2VkMTEgcHkzay1zdHJ1bmkKKzU2ODEwIGIyMGNjMWMwY2YxMGU0NDYxZTc2NDFmMTNmNjZmZDFmYWZhOGYzYjYgcHkzay1zdHJ1bmkKKzU2ODExIDRkZWEzYjY4YjAxM2IwZThkZDJjODA3MWQ5MzhiM2U5OWYxZTA5MzAgcHkzay1zdHJ1bmkKKzU2ODEyIDA0YTE0ZGY0MDczYTRlZjhlMDFmYWNkY2ZjODhmMWRhMWM5MWIwYTAgcHkzay1zdHJ1bmkKKzU2ODEzIGMxZWQ0OTBiZDI2Njc0ZGNkOTQ3NzQ3Yjc4MzE2M2MxMDYwYzFhYWEgcHkzay1zdHJ1bmkKKzU2ODE0IGI2NWY2YWM1Mjk2OGM2NjM0NzRlNWJhZjllOGQzNTBmZTU3NjdhNjEgcHkzay1zdHJ1bmkKKzU2ODE1IDNmMWZjZDA4MGVjNGI1MDEwYjAzNzk3YWFmNzMxMzk4MDBkNGE3MzkgcHkzay1zdHJ1bmkKKzU2ODE2IGM4YTA5MWI4NDJkNmVkY2YzMDFiN2ZmN2MzZDVkMWI4YjM4OTJhOTcgcHkzay1zdHJ1bmkKKzU2ODE4IGM5NmI0YzM4NjUyYzM5ZTI0ODMzM2JkNmZjZTAzYjkzMDhjZDhmMzYgcHkzay1zdHJ1bmkKKzU2ODE5IDY2OGE1YWRjYzg3Y2YyY2Y5N2U1ODkwZWYzNzc3YWI4ZjJlOTRlMmUgcHkzay1zdHJ1bmkKKzU2ODIwIGI1NmE4ZDgyMmYyMWI2NWExZTY1NzNlN2ZjNDQzMjBiODU3ZGIyYmQgcHkzay1zdHJ1bmkKKzU2ODI0IGE4ZjEzYTQzZWFhMWU1M2RjMmYxZDY2ZWQ1NTJmOTc4OWYwNjRjMTggcHkzay1zdHJ1bmkKKzU2ODMwIDg2ZmQzOWMyYzY3NjhkY2YyYWE5M2FiZTE0MjQwMzM2ZWM1YzVmODUgbGVnYWN5LXRydW5rCis1NjgzMSA4OWM4MWZkNzAzOGU2MzE3M2Y0MTc0MWNhZDZiNDhkMTVlNGNkMGQ3IHJlbGVhc2UyNS1tYWludAorNTY4MzMgM2Y2YmUxMmI5NTM0MjNmZGJjMTVlNjdmMGVmZDAyMzNlN2ZhODQ0NiBsZWdhY3ktdHJ1bmsKKzU2ODM0IDU3Y2QwNzBhZDMwNDJmMTJlZDQyMDMzYTgwNzNlMGZhZTYyZTc5ZjYgcmVsZWFzZTI1LW1haW50Cis1NjgzNSA1ZjYwYzllNDE0NDAzYWU1YTRmNGExMDFmODk1MzQ4YzA4NWU2N2I5IHAzeWsKKzU2ODM2IGY0ZTM2NmMzOTJiZTcwNmVjM2M5MWY3OTIyZTQ2OGZlMmZjYWZlOTcgcHkzay1zdHJ1bmkKKzU2ODM3IDE3Y2RiZWRiYjE1ZDQ1NGEzZGE3NWQ3ZGEzNDExNGI2ZjEwN2JjNTMgcHkzay1zdHJ1bmkKKzU2ODM4IDk1ZDNhNjVjYjc0YzcwZjhiZmExNmM0MWRiYTgzMjdjNjFhMWI4ZWQgcHkzay1zdHJ1bmkKKzU2ODM5IDk2MDk4YWJjOGY4ZjY3NjZjNWNlY2Y2NmZhNjcwYjAwNGNhZTA0MjkgcHkzay1zdHJ1bmkKKzU2ODQwIGMzMjFjMmI1OThmMTc0ODA5MDE3YWE5ZTU2NzJlMWVmOTAzNjZmZTggcHkzay1zdHJ1bmkKKzU2ODQxIGY2MDY5ZjlkZDUyZGZhOWM5YjZmMTIzYmZmNmJhYjYxZTA0Nzk3NzMgcHkzay1zdHJ1bmkKKzU2ODQ3IDllZGYzMGJmYzJlYmUwYWQ4MTMwOGE2NzgxM2FhZWY1OWE3Y2MzZjcgcDN5aworNTY4NDggOTkxODk4OWI3MzNiNWVjN2Y1NTE3MzdiNzhmM2IzOWI1OTBjYmYzOCBweTNrLXN0cnVuaQorNTY4NDkgMjNkOTYzYTc1Njk2MmVhMTBiNDAzMTRiNGE3ZGNkNmE0MmU4YWJiMiBweTNrCis1Njg1MCA1ZmJkMTVjNjFiMTI1MDUxN2NlMWM2Nzc2ZmQ5OTBiOWQzYjQ0NmEwIHAzeWsKKzU2ODUxIDNlMWExNTE4NWY4Y2Y5ZWVjMDljNjY0YjM5OWI2ZmM4ODIwYTY1MGYgcHkzaworNTY4NTIgMjZjYTNkNmY0NzNhZDZkZTU2N2YwYTFjN2UwOTc2ODQyMTljOWQ2ZSBweTNrCis1Njg1MyBkYjI1OWQxNDFlN2FlYzAyZjZhYjdlOGI4YmM3NWRmYzQ4MzJkZTNmIHB5M2stc3RydW5pCis1Njg1NCA0YWFlYTM1ZGNjY2Y4ZDIxNGVhOGNkNTA4M2IzYjUxYTkxZTYyYTE0IHAzeWsKKzU2ODYwIDBjODk0MDliZGE3YWJjNjBmMzlkYmRjY2ZhMjg0MzA2N2QxMDYzMTMgcHkzaworNTY4NjIgZGY0Y2Q5Mjk3MDk4MTk0N2EyOWY1ZDBmYjFiMGRlNjUxZWNhZjAyMCBweTNrCis1Njg3MSA0ODY1YjUxMGNmNTRlOGRhMWRmM2I2M2U2ZmU3OTFkODEwMmZjOGZkIHB5M2stc3RydW5pCis1Njg3MiAzZGEwYTRkYjIxMDI0ZGU1YjY3NTBjMzMyMjVhMDRkZTAzYjBkYTcxIHB5M2stc3RydW5pCis1Njg3MyA1MjJhM2UzYTAzYTk2Y2UxOWJiODZhOGMxOWU0ZjYyNzJmNmViMTc0IHB5M2sKKzU2ODc0IDA0M2ExMDJhMTcwZWUyZWYzYmEzMmVhZTQ1ZDBiZTZlZTA2MWE4NjMgcHkzaworNTY4NzUgZGNmMjczODVmMTI1MTkwMjA2NzhhODg3ZDVlMThiY2M0YzEwMzA4ZiBweTNrCis1Njg3NiAxNjZjNzQwNTM2YjVmNzNhYjQ3NmU0OThjYzgzNWU2NjgwNmIwODU1IGxlZ2FjeS10cnVuaworNTY4NzcgODJhNWMzMGMxNzg2MjA2YWRjNWQxZDI0NGE0YTFkNzYyNGFjNDZhYiBwM3lrX25vX2FyZ3Nfb25fZXhjCis1Njg3OCBiZTNmZWNkMmQzMzk0MjljMzg1MDQyZjlmOGE1YWE4ODFiOTE3ZDczIHB5M2sKKzU2ODc5IGEyNGUyN2YwNWU0ODI5Y2I4NzIzOGZkOTY4YmRhOWQ2ZWQyOWQ0YjUgcHkzaworNTY4ODAgYzBkYmY0NWNjMjA3Mjk4ZjRjMDcwMTgzZGQwNWQ1OTk5MWJlOTllMiBweTNrCis1Njg4MiAwODcwZThlOWU5OWY1OGY2YWRlZjY0NmY3YWIzOGRjMWZlZTRmM2E5IHB5M2sKKzU2ODgzIGYwY2ZlZDM4YjlkOWUxZjU0ODVkNjA2MzAxODI4ZjE2ZTJiNzZiNGMgcHkzaworNTY4ODUgMGU1YWViYTNjNjdkYjJhNWM0ODZiMzhiZjcyNzA0YWUwZmIxODliOSBweTNrCis1Njg4NiA1MDdmNTY3MWUzODg2MjhmNWRlODE2MzQwMzc1Zjc5ZWQyNzdkMjkyIGxlZ2FjeS10cnVuaworNTY4OTAgMGFiMzQyMWEwOTA2NzdjOTA5YjlkN2Y0OGYyMzViYzFkNTNjN2M3YiBweTNrCis1Njg5MiA5ZDRlMjIwMjI0ZmI1ZGQ3ZmM1MjczMGM1MmEzNTRlZTg2MDFlMDAxIHB5M2sKKzU2ODkzIGNjMjVkMTYwZjBmN2VlMTBiMGEzNzJjMGNiZDkwNjg5NTc3MjRlMjEgcHkzay1idWZmZXIKKzU2ODk0IGVlYjM3Yzk3OTNlYTUzNDM2OGQwNDk5ODIxOTdhNDdjZWUyNDJjZjAgcHkzaworNTY4OTYgZjM3MDE2ZDQyNzI5ZmJlZjk4NTdlZGM5Mjk3NzFkZjgyMDJkZTdiMyBweTNrCis1Njg5OSA3NzAzMTg3YzdjNmYxMTdjYzliMDE1ZWU4OTc0ZmZmZWNjMjE4YzczIGRlY2ltYWwtYnJhbmNoCis1NjkwMCA5MzA3MzZlZTkzZDk0OTBhOTNkMjhmYTFjYjM2MmRjNzI2YWI2MTgxIHJlbGVhc2UyNS1tYWludAorNTY5MDEgMzQ2ZDBiODQwMzBiOWRmOTU4ZmFmODU0MWFmY2Q1MzkyZWNiZGY3NCBweTNrCis1NjkwMiBlNjQyODYwNTNiMjUyMjg1MTVmZjg4M2NiMDU0Yzk5ZjkxNzZlMDlmIHB5M2sKKzU2OTAzIGQ5NWIxNWE1NWYyYzA2MzBlMGNlNTYwNjAyOTRmNTUyNzc1YzllZTQgcHkzaworNTY5MDQgM2VjMjBjNGMxYTRmYmM1MTMzNjkyZWYwNmY2MjE0NWZhZGE3YzFiZCBweTNrCis1NjkwNSBhZmZiMWU4Nzg4MWE1ZjFhZjYzZjJmYzMzOTE3NzVkYmM4MGZmNGY1IHB5M2sKKzU2OTA2IDgxYmQzZTk0Y2YwYzMxZDgzNDJiNjZhMGMyYjJmYjAzYzYxYzJhYWIgcHkzaworNTY5MDcgMzg1OGQwYjhiMGVmNzZmYmQwZGFiZTE1MzZkNDEwYWQ5ZmJkYWUzYiBweTNrCis1NjkwOCAzYTE1NzJkMWZmMWFkNTRmZWNkYWVhMDZjYjE1ZThjODg0ZDMwMDg3IHB5M2sKKzU2OTEwIGY4MjhmMzUwMTRhZTM5YmFlNTA4NGQ5MTgxZmU5ZjYwN2FmODc4NDkgcHkzaworNTY5MTEgNmEwOTQyMzE2NGZlNjI0ZjU2N2NhMTRiMTAyYTc1NTQxNTIyNzcwZCBweTNrCis1NjkxMiA1ZjllNzlkMWUxNTg0YjU5ZmU4MWVlOWM5MWY3NjI3NDA5NjUwMGRlIHB5M2sKKzU2OTEzIDhkNjg2N2NiOGE4ZGI3MTg5NTE4ZWQwNWM1YjgyNWZkNzMwZjcwNDQgcHkzaworNTY5MTQgNmNkZGNlNDA5NmEyMjdlMjBjYTk1MTQwNDgzZDQ4ZGJjNzAzZTNiYyBweTNrCis1NjkxNSA3NGEzYzY4MjY2ODNlNGY3NDlhMjE4ZTM3NjI3NzlkYzMzMzQ2MmU2IHB5M2sKKzU2OTE2IDljM2U2NDQwZjU0YzMyM2M2ODE1MjE2ZTRjYjE1OTIyMDM4ZGQ3ODIgcHkzaworNTY5MjIgNDNlMzJiMmI0MDA0ODFjYTM3Yjg2MzhjM2FjNmNjNmNiN2FlOTFjMSBweTNrCis1NjkyMyA2OGZmOTA5OGIyZGM4MzZkNWIwZDBiNGJkNjIzMTE5MTc1NDdkNjk2IGRlY2ltYWwtYnJhbmNoCis1NjkyNCBhYWI2ODc5MzZlY2Q4Mjc0YmU0ODgwMjg5M2ZjMGQ5YWJmMGE3ZmI0IHB5M2sKKzU2OTI1IDBjOWFkMGIyZmFjNTRhYjkwYTI3ZmIzNDNiMmNlYmMwMmQ5OTgyNjUgZGVjaW1hbC1icmFuY2gKKzU2OTI2IGQxODU1ZDBlNGUwM2MzOTM3NjEwNzY3Mjg5NDFmY2IwYmMwOGJjNGIgcHkzaworNTY5MjcgY2ZhZGQ3Y2M5YzQ1NzdhNTZjOTFiN2Q1MjRhZWUwODcyNTdjOTM2OSBweTNrCis1NjkyOCBhNDRjNTY0MDI2YjgzMTQ4NjA1NWZiMTRlYmM4YzdkNDU1ZjMxMjY0IHB5M2sKKzU2OTI5IDA3N2M2ODE4NmUyMzc3ZDQ1YWEyN2IyYTZiNWE2Yjg2MGE5OGQ1MzEgcHkzaworNTY5MzAgY2Y5MTM3N2UyNDQ0ZTQxNGE1YWU0MjI3YmU2ZTdiMjUzZjNhYmYxNSBkZWNpbWFsLWJyYW5jaAorNTY5MzEgNDIxZjlmMzU4ZTRmYmI0Yjk1NzgzNmE2NDFhNWViOTQ3MTA4MmQ4NiBkZWNpbWFsLWJyYW5jaAorNTY5MzIgMGMwZTM1NWNmNzQwN2NkM2VjNDY1MmY3YTAzOWRjOTFhMWJiYjhiOSBweTNrCis1NjkzMyA4NDQ3ZWNkMWJmNDU4MWI4OWE1M2ZmN2Y5ZjQ3NTUxNmFiNmQ3ZmY5IHB5M2sKKzU2OTM0IGE4Yzc0MjQyNTM1NjJjZDRmNGMzMThkNDExZjZlMWYxOTg3MDRkMjkgcHkzaworNTY5MzUgZTBmNjIyODZhOWE0NTRiZDNmOTNlZmJhZTcyMGU4Njk2MWE2MzE4MiBweTNrCis1NjkzNiA2NWYxZDQxOWY2MzEwOWZlNzcxZWI4YWRiN2M4NGY4Njg2MmYwYzU5IHB5M2sKKzU2OTM3IDI3NjMzMGY0MmU3OTM2YjQ2ZjBhYWM0ZGZmN2FjMWZjNDljODA1ODYgcHkzaworNTY5MzggYjY2MjVkMmIzNzhhZjEyZGYzMjU4YmYxOTg5NjFlOGU3ZmVmOTkyMiBweTNrCis1Njk0MCBhYzE5MmY4OWMxMDkzY2EyMDFiMjFmMTMyZDVhNmNmMzdkNDA1NzA0IHB5M2sKKzU2OTQzIGM2OWQxMjI2NDNkNTBkM2QzYjU0YjFmNDlhOWQ0Y2NiMTAxZjEwNzggcHkzaworNTY5NDQgN2FiYWNjOWUzOTk1OGYwODU0M2JmNjNlMGZjNGZmMWE1ZmFiOGM5OSBweTNrCis1Njk0NSAzZTY4MmFlOWQyOThlZjExOGE1OTJmZWM1NzcwYTYxY2M5N2M0ZWJiIHB5M2sKKzU2OTQ2IGI3YjNmNGUzMjUzM2ViM2ZmMDI2NmE5NDU1YTNjZWFlZjBiYTI4MzIgcHkzaworNTY5NDcgZmVlNWM2YmJlMTQ0ZGFiODM0ZWFlZjQ5YjQ2N2IxZDczZGQ0ZjNkZCBweTNrLWJ1ZmZlcgorNTY5NDggNGI0OTk1YzhlM2ZkNjc2ZTFhYWM1OTg3MzJjMGE2ZWQxMWI5Y2I3ZCBweTNrLWJ1ZmZlcgorNTY5NTAgYzNiMzRiMGY4MjE2YWUzOWUzMTYwZjIyN2ZjMWQxZmE5NjQ1Y2UyYiBweTNrCis1Njk1MSAzNDZhZmE2NThlNDQ2MDM4NTA2NTM5ZmFiMDgzYzVhMmU2OGI3MWQzIHB5M2sKKzU2OTUyIGU3ODEwODVhYzk4OWU0YzBjMWEzZjI1NGZlZTJjYzlkMTE0NDNmZDkgcHkzaworNTY5NTQgN2Y5NDljMTdjYzM2N2JiY2IzNGM1NTI1Zjc0MDkwOWJlZDRmZWM4ZCBweTNrLWJ1ZmZlcgorNTY5NTUgMGZjYzE4YWJhMzg1ZGU0Yzk2MDFkYjgzZDhmMGYwN2JiYWYwYWYwOCBweTNrCis1Njk1NyBkMDIwYjliMWQ5OGI2YWQ1N2E5NjA5NmE2MGVmNjc3NmUxYzdjNmQ3IHB5M2sKKzU2OTU4IGFlOWNmNDhlZDZmNzI4ZmQ3YjAzMjU3YTFmMTg0ODI4MGNhZjhlNGYgcHkzaworNTY5NTkgMGQ5OTUzZDdiODI3NTdjZmM0OTMyYzllYzE3NmFiYTVjMTJmZTU0NyBweTNrCis1Njk2MCAxNTAxOWVhZTM5ZTgyN2Y0MTQwYTNhMmVlYTNlMDNkNWM5ZWY5MmM5IGxlZ2FjeS10cnVuaworNTY5NjEgMTM4MTA0NmZlODk0NWJkN2MzNTgwM2Y0NDMzNTVjMmFlOTdhZjcxMCBweTNrCis1Njk2MiBiOTBjMjIwNDE2MzUxYTVlNmM1ODMyZWE3MGMwNDFjNmJjOThiOTYxIHB5M2sKKzU2OTcxIGViMmMwNjc2YzczZjFiMTZkZjJhNzg3NWM1OGMxODIzZTAxYTUwZGEgcHkzaworNTY5NzMgZDRlZTU0YTg4NDg1MGJjZTZjODYyY2ZlMjM1MjZlOTY2OTM5MWZkNiBweTNrCis1Njk3NCA1M2I3M2MyNzExYjZjNjgyYTRlMTJhOTU2NDI2OGE5YWUzNTYyOTgwIHB5M2sKKzU2OTc1IDU0MjYxNjM0YWQ0NmQ1ZTk2ZjAyOGQyMzk4NDNlZjk0Y2JlNzc0ODkgcHkzaworNTY5NzYgN2E0NWU4Yjc4ZDYzZmY0NGVlOWQwMWFjY2Q5YjkwMDE1YjUxZjlmMiBweTNrCis1Njk3OCBhNzI0Mjc5ZmM5MzFhNWYxYTBmZWU2MDE1Y2E1NmQwMDYxZjU0OTdiIHB5M2sKKzU2OTgyIGZiMDY5ZWFmYWY4OWY1MzFiMmNhMWY2OWVlMWUxN2JmMTk3NGFiZTAgcHkzaworNTY5ODMgNGJjZTk0ZDllYzMxZTQ1MzhjMzA2ZmZlNGMxNzg5Y2UyZDliZjVlYiBweTNrCis1Njk4NCA2YWY2YmI0ODI0ZDViZTYxYzBjZjA3Y2ZmNzcwMTJkMjdiY2JhY2NlIHB5M2sKKzU2OTg1IDQ3YWFmM2Y0YTAzOGNlOTRhYjg0ZmI3MjlkYjQ3ZTgyNDdmNmUyNTUgcHkzaworNTY5ODYgMGVkM2QxODI5MjBiOGY4ZDY0YmRmMzQ4YTJiNzI3MzBhMzMzZjRiMiBweTNrCis1Njk4NyBjZjliM2I0ODdmZGExZjY1YmQ0MGE0NjMxYmM5MTVjZTVlNmIyZGIwIHB5M2sKKzU2OTg4IDM3N2I0ODM4MWE0OWMwMzM0Y2EyYTU3MDQxYWM0MjlkMjZjYjk0MmUgcHkzaworNTY5ODkgNWFlYjI2MWRlMGJkYWNjOGY3YjllYTZkNDVmNWVhMzc1YTU2ZmZlYiBweTNrCis1Njk5MCAxZTQ5MzY5NjQ3NzZmNTdmZjYwOTIxZGViY2RhZmY3MDdiYzVkNzQ3IGFsZXgtcHkzaworNTY5OTEgYmJjZWY2ZGU0Njc0MDU2ZGI2YWVjYzI1NWJjNmQ2ZDVjYmMyMGY1NiBhbGV4LXB5M2sKKzU2OTk1IGQ2OGE3MWM5NjVlYzE1MDViNzFmNWUxMzVjYjllODBhMjY1MmRlZDIgcHkzay1idWZmZXIKKzU2OTk5IGJmZTIwMmJmZmRmNDJmYjQ0NGZlMDQzZmQzYzBkZjE2NzdlOTZhZDcgbGVnYWN5LXRydW5rCis1NzAwMCBiZGM0MDI5M2Q3NWVmYjhlYjBmMWZlMzQ5NzBiOGU2YzM0NDUyMDdlIGxlZ2FjeS10cnVuaworNTcwMDQgOWNjZjlkNjdiYjM0OGM5NWMwMWQwZTU3NzkyYmMxNzkxY2QyM2VhOCBweTNrLWJ1ZmZlcgorNTcwMDUgZDMzNzFmZDQ5MTAyNDVlYzJhOGE0NzhjYTA5ZWZiZDFjMjgyOWZjOCBsZWdhY3ktdHJ1bmsKKzU3MDA2IDIyOWQ2MzQ1YTczYTExMjQ1MzA3NzdkZmUyNmY4OTdjZjNhZTBkMTEgcHkzay1idWZmZXIKKzU3MDA3IDY3OTM3ZmVlNzVhZjZhMjcwODgxYTZkM2UxMzRhZTdiMTg5MWNhZTYgbGVnYWN5LXRydW5rCis1NzAwOSBiNjIzNzc3ZjIyYjBkYTQwM2MxN2I5OWVhOWFiZmZjOTBlYjJlMWUzIHB5M2sKKzU3MDEwIDNjMWEyMDM2NWEwNWJjMWEwNGIxYmRkY2FjYjM1N2IwYjc1MGE5ZDcgcHkzaworNTcwMTcgMjE5ZmUzOWVkZTk5ZjdlNDIzMThkNGZiNjk4M2U4NjVmZmJlYmJlNiBsZWdhY3ktdHJ1bmsKKzU3MDE5IDI3NGYzYWU0ZGNjNzgwMzQwNzU4NWMzNjYyOGNhNWYyY2RkYTBhYjcgYWxleC1weTNrCis1NzAyMCBiN2JkNGEyNjg5YzE2Y2U1ZDExM2M2MmI2MmRiMGEyOWQ4YmE2Nzg2IHB5M2sKKzU3MDIxIDg2ZmFmMjExM2QzNmY1OGRhN2IyMDVjYmEwNjE5OTE5ZWE3ZGUyNGEgZGVjaW1hbC1icmFuY2gKKzU3MDI0IGE1MjhmN2Y4Zjk3YTI5YzA0ZjJkZDNjZTlkMTZlNGY4OTQ4YzJhN2EgcHkzaworNTcwMjUgMWI5MWZhYTBkZTJkMWUzNmU4ZTFkYWJkZTgyOTdhYTkzYTc0Y2MzZiBweTNrCis1NzAyNiA5YjAyMTI4NTIxZTI3MDRhZWVkMGIzYjY3NGIxY2ZmZWMzZTJkYWFmIHB5M2sKKzU3MDI3IDMwYzBkNTlkYjBjNjQ4NTI3ZmNkZmM4OThkNzM3YTM2NmNjNmRmMTYgbGVnYWN5LXRydW5rCis1NzAyOCA1MzkxYjVmOGNkN2EwZTM2YWY1YTg2YWZiODk0NWZmYmUzMTk0OGRjIHB5M2sKKzU3MDMyIDEzYjIzYWRkZWY0MWQ4MjA2MTk2MzcxNzU4NTJhMzIzNmM0YWMxMTcgZGVjaW1hbC1icmFuY2gKKzU3MDM4IDNiZWVmMTZkODE2NzEzYzFkNzkzM2YyOWFjZGU5YjRjYzZiNDgzMTkgZGVjaW1hbC1icmFuY2gKKzU3MDM5IDdjNjZmMTExOWU1NTRlMDIwOTM3NjRkN2Y0YjYzMWMyNjk5ZTdhZTQgZGVjaW1hbC1icmFuY2gKKzU3MDQwIDRlYmVhNmFmZGM4NzExMDI4YzYxY2M5MTE5MTkwMzk3N2YzMWViZGMgYWxleC1weTNrCis1NzA0MSBlZDk4OWRkOTk1ZDI0NDIxMmJjNjQ2NWQ4MjZkYjg5ZTQ5MDkyODRmIGFsZXgtcHkzaworNTcwNDIgYWM1Y2U3YzQzZWU3NTlkZTQ5NTY3MDgxNmYxYmJhN2VhMGM0NTI3ZSBweTNrCis1NzA0MyBmNmFmMGIyNTk4Y2ExMmMxZGM1MzRmNjM4YWZlZTYwZDQzMGE2ZWE5IHB5M2sKKzU3MDQ1IDk4MDMwOGZiZGEyOWY5Yzg5MDY0NmIxMzliMjM0NGE4YWEwOTI2OTUgcHkzaworNTcwNDkgMjA0NzdjYmZkOTk2NzgwODU0YTk2ZDA3MGVjM2I1NjIzODZiY2EwYiBweTNrCis1NzA1NCBmNjhiNmJmNDYzNjYxZTJiZGUyMmRhYzBhZTA1NWU5NjE2Y2IzY2E3IHB5M2sKKzU3MDU2IGY4MjhhOTVhOWRhNmJhOTA4YzliYTBjMjY2M2RkMjJhM2JhOGQ0YzkgZGVjaW1hbC1icmFuY2gKKzU3MDYwIDQ2MjA2NjFlMDZhZmFmNDUxOTM4NTg2MDNjNGMxYWVmODA2Y2I2MWEgbGVnYWN5LXRydW5rCis1NzA2MSAxN2JlOGZiZWMxNThjNDViMzcyMGU1MTExNGU3M2YyNTBlOWVkZDMwIHB5M2sKKzU3MDYzIDI0NDk3MDE5YzQwNzM1NjRkNjQ5YWUxYjJiZGZjZmQ1NzNhMWIzMTQgbGVnYWN5LXRydW5rCis1NzA2NCA3MTdmZmIxNmI1ZDEyNTRmMjc5M2UzNWM2NGFjZGYwOTk5NDI0MDM0IHB5M2sKKzU3MDY1IGM2MmY2NjY5YWUyMmI4Nzc5NWJhMzY0OTQ3NTE2MzE0MDFhYTVhZmMgbGVnYWN5LXRydW5rCis1NzA2NiA5ZTE1MjliZjA0NDIyOGI3ZjdiOGExNmM1MzdkYjkxNzg1NjQ4MGVkIHB5M2sKKzU3MDY3IDcyNjFhOTFiZTAwMzY4MzA4MzVmN2U0YWNjMmE5NzZhOGU5MjM3ZWYgZGVjaW1hbC1icmFuY2gKKzU3MDY4IGIxYWJmODQ2Y2U4MTUyYzM4MDMwMzEyNjlhNmRhNWE1Y2E3ZjRlMjUgbGVnYWN5LXRydW5rCis1NzA2OSBhM2U3NjQzMTcwNWIyNjNjODY2NGIxNTFiZWMwNTM3MDE4NDIyN2RjIGxlZ2FjeS10cnVuaworNTcwNzAgZWFiNzVhZTMyMTJiZGIyZDRjYmY4OGVmYmViZjk4ZTQzYzk1NDg1OSBsZWdhY3ktdHJ1bmsKKzU3MDcxIDNjYzJjYzc5NTc2NWZhOTg0Y2FkZDgzZjc0M2Q3ZWFiNGQwYjZmOWMgbGVnYWN5LXRydW5rCis1NzA3MyBkMzM2MmM0OTUyOTYwYjRjMjNmMGVlYzY1MmIzMmFiZjg5ZWJlNzEwIGxlZ2FjeS10cnVuaworNTcwNzQgNzkyNmE4Y2E5MjkwNDJlYTc5MTc4YTc3ODYyNzhhNmNlODExOWQzNSBsZWdhY3ktdHJ1bmsKKzU3MDc2IDEyMTIxM2JiZjM1OGY4NmE5MWRkZDE3YTljOWI3YmVlYTFlYTcxZGQgbGVnYWN5LXRydW5rCis1NzA4MiA0YTQ4NzE5MWZjNTRjMGExNzA5ZWUwZGM3MjI4OTRkN2I0NzZlZjg3IHB5M2stYnVmZmVyCis1NzA4MyA2NmE1OGMxYzI4M2IzZTU5ZTc2NWU5OGFlOWM3YTk4MDczNTI0MjUxIGxlZ2FjeS10cnVuaworNTcwODQgYmJiNGY0NjYzY2QzMjEyYzhkMTAwYzFhZGFiYWI0ODFiNjliMzFmMiBweTNrCis1NzA4NSA3YTU2MmEwMDk3M2VkNGQzNTI4ZDgyNzRlMWFlOWI1N2E2MTY0YTY5IGxlZ2FjeS10cnVuaworNTcwODYgY2VkMjdiOGYwODliYTViMDc2M2Q5MzZiMDUxMzkzYThhZTFmNTc2YSBweTNrCis1NzA4NyBjYjhjMWRkN2VlMzJiMDI3YTZlYzM3Yzk4ODUyMWVkODFiNzhjYTVhIHB5M2sKKzU3MDkyIDYwM2RjNTNjNDcxNjIwZTk1OWE4OTZiYWQ3Y2M3MzNmMGUwNjhhODYgbGVnYWN5LXRydW5rCis1NzA5MyAxMzViM2NkNWU3MjMyZWVmZjIxOTFmZTBlNDVlYTUwNzc5ODczYTllIHJlbGVhc2UyNC1tYWludAorNTcwOTQgZDI2NDEwN2M3ZGE2ZjZhMWJkNjM0NWM5NGYwNTVmZDE1YmU0YjQ4NCByZWxlYXNlMjQtbWFpbnQKKzU3MDk1IGExNzY4YmJkNzY4MTllZGI0OTg3ZTE5OGQ2Njk1MGM0YWMxNjc5NTAgcmVsZWFzZTI1LW1haW50Cis1NzA5NiBkOTdmZDQ0Nzc3YjJjMTJjODhmZTYwYzU5ODEzMmVkZWFkZTk2YzU4IGxlZ2FjeS10cnVuaworNTcwOTcgNGQyYWE0YmZiMmQ2MDE0YmU2MWEyNDNlNjg2ZTI2Y2Q0NWU4NmRlMyBweTNrCis1NzA5OCBhZjE4MGQ1NDZlYzIyMDI4ZTNlMTRmMzFhNjIyM2YyMWIyMDI4NGVhIHB5M2sKKzU3MDk5IDhkYmM5ODFmMDQwYjhjNGQ2ZjU3NTgwODhjNmM1NmI4MzcxZDNkODIgcHkzaworNTcxMDAgMTI0YmQyODI0OTNkNTU2ZDMzYWFhNWM5MWY4ZDU0MDYwOTU3MTQzMCBhbGV4LXB5M2sKKzU3MTAxIGQzYTg5ZDlkMmY1ZTA2YWYxN2M1ZDkwOTRhOTk3OWRkZjdjOWI2MmMgYWxleC1weTNrCis1NzEwMiA0NTE4M2QwYjIwYTc5N2Q4MWZhM2Q0YTJmMmM5YjkxNDU1ODQxYmNiIHB5M2sKKzU3MTA0IDg5YTNjYmExY2Q1MjQyMzA3ZjQ2M2QwZmRlNzI0YjIxZWQ2MzlhZjMgYWxleC1weTNrCis1NzEwNSBmMWEyZDUxZjFjYWIyODRmMTY3OGZmYzc1MmMwZjRmNzUxZTEzYTM3IHB5M2sKKzU3MTA2IDE4MTA0ZGJhODVlMzM3M2U4MTQwYmNkNzIwMjRmYjk1YWRiNTE3ZWIgYWxleC1weTNrCis1NzEwOSBlY2I3YjJkZDNhZjU4MDNlOGMwYzMzODEwMGU4MTMyYTk5NDAyOTRmIGFsZXgtcHkzaworNTcxMTAgMzQxMjQ2MTNiYzRkZGFiZmE3MTEyMDlhZGJiM2YyZjM1MDZiNjNiOCBhbGV4LXB5M2sKKzU3MTExIDQ2ZjQ4MGUxMTY2Yzg0YTdiZmVlM2IxM2Y5M2NkYTI2OWQ5ZmIzN2EgcHkzaworNTcxMTIgMGRlYmY5NDU1Y2RjMTc3NTg0OGQ3ODkwNDcyOWEyZWQzMzkyMWQ0OSBweTNrCis1NzExMyBhNmM0ODkyNWRlNTNiMDg2MGRhZjg3OGI1M2I0MDEyMTdhZTA2NDhhIHB5M2sKKzU3MTE0IDIwYWVjOWYzNDU5OGQzNTM5MTFkNWQ2NWM3Zjc2YjQ3YTkxOTU1ZTEgcHkzaworNTcxMTUgYTI4NTlhZTg5ZGE5MWExYmViOGFjNzdhNjA2YjNlYTUwY2UyM2M3ZiBweTNrCis1NzExNiA0OGEzMWIwYmY1MDE4YjM2MGYxYzhmOTEyNTc1ZGM4Y2E4OTAwNTI3IHB5M2sKKzU3MTIwIGI3YTViYzY5ZDJlZTViYjk0MzcxZjlmZjZmNDg1ZThkMzg2Y2FmZGYgcHkzaworNTcxMjMgN2IzOTFhNGVmODljZTJkMTNjMjlkMTIxMjk2ZTUzMTk5YTg1ZjI4ZiBsZWdhY3ktdHJ1bmsKKzU3MTI0IDEyZGQ2Mzc3ZmY4NWJlZDc5YWYxYWEzNzQ3NTQ3MWYzNmZkM2FkNzAgbGVnYWN5LXRydW5rCis1NzEyNSAyODFiNTE4ZTRiY2MyOGNhNDNlN2VkNjRmMDhiODU1MWU0Mjk2YzllIHB5M2sKKzU3MTI2IGZmNWFkYjMzNzRhZGNkZWNjNTU3NTE5MTY2OGMyODg4MTZjN2ZjZGMgcHkzaworNTcxMjcgMjA1NmQ4MzUzYTY4OWI1MTRmYWMwMjFhNDU5ODY0NWU4MzVmYTUxMCBsZWdhY3ktdHJ1bmsKKzU3MTI4IDI2MDZhZWFhODZkNDA2NWQ0YjVlY2Q4NjdjM2RkMGYyYmE4ZDIwMjYgcHkzaworNTcxMjkgZmNmNmRjNTFhZjU0MzFmNDI0MDVlYjFjMDAzMzcyZDVlOTQwOWFmMyBweTNrCis1NzEzMSA0YzVlY2MyY2NhYmRkNTJjNWVmMzlmNDdmMzQwODJiZjkwZTgzZWJiIGxlZ2FjeS10cnVuaworNTcxMzIgOWZjMjFjOGJhYmI5NmM3NjNkZDkxNGNlMGJkOWIyYmNkZGFlN2MzOCBweTNrCis1NzEzMyA2ZjQ5MjI4MDM0MTE2NmEyYTQ3YWNiMzAzMjQwZmE3YzAzMjMzZWFkIGxlZ2FjeS10cnVuaworNTcxMzYgODYxMGExY2E2NTBiMzQyYWVmODAxYTQzMTk4ZTYwZDVjMGNiYWIwNiBsZWdhY3ktdHJ1bmsKKzU3MTQyIGE1ZTk4NGVkYTQ1YTIwY2U3MDAzODhhNTMyNzUzMmY2NzJmODY4MzYgcHkzaworNTcxNDMgZTM5NDQ5MDk1Y2M1YWI2YWY2MTZhZTA5MWRhYWQyNzQ4ZWJiZGJkMyBweTNrCis1NzE0NCBjYzdiNWJjMjk3YzRlZDUyYTc1MjBjZTc5NDRiYzQ5ZDI0NDBiNzZlIHB5M2sKKzU3MTQ1IGE4Y2ExNGNlYzExY2Q2OGM2MDEwZDI0YmI2ZjA0ZmJjMzEyNDVmNGUgcHkzaworNTcxNDYgYzkxNjczMTMyMWMwYjAxZTgzOTliZDk2MzJiMzVjNjYwZjBmNDJmNyBsZWdhY3ktdHJ1bmsKKzU3MTQ3IGYyZjBlOTVhNzk3YmM3N2ZlMmIwMzk2Y2Y2YTc0Mjk5NjY2NWM3NWYgbGVnYWN5LXRydW5rCis1NzE0OCA1NmQ4Yzg3MWRjODZiMzlkYmRlZWVjOTUyZjk2ODVlMDYxM2UzNDJlIGxlZ2FjeS10cnVuaworNTcxNTAgOWM0ZjViMWQ2YjlkYjVmYWRkMjhmMWU3MTZlOTRlNTZhMDUzYjBmMyBsZWdhY3ktdHJ1bmsKKzU3MTUxIDk4Njc3NjQ1Njc5MTM2NWUwN2IzMjVmY2IyOGVhYzViODA2YWRhNGUgcHkzaworNTcxNTIgNzQ0NDY1MDlmMGYyNzZmMDJhNjVjMDAxODZkZWYwYTg0M2UyZDFlNiBweTNrCis1NzE1MyA5MjUxNWI2NDliOTIyN2UxNDQ3NjI3NjVkNjcwNTk0OTlmZjE4ZTQ1IHB5M2sKKzU3MTU0IDFiNGM5NTk3NGE3ZGE3MmRmODc5YzdkYTMyNTg2NTFkZWQ5ZDRmYzkgcHkzay1idWZmZXIKKzU3MTU1IDE3MjFmZjVlMjg2NGQ1YzA3YjIxMTNhMWJjNTg3ODgyYmU1YzVkN2QgbGVnYWN5LXRydW5rCis1NzE1NiA2ODc2YWU5MTdmYjFiYWM3MWJjMjk2MDFiNmViODBiNDY4NTAyZTk4IGxlZ2FjeS10cnVuaworNTcxNTcgYWQwNjMyN2UxZjM5YTczY2NkYzkzOWJlMDA4OWFmYWJhZGU3MmEwMyBweTNrLWJ1ZmZlcgorNTcxNTggYmMzMWRmY2Y3ZGZhMGQ0MTRjNGQ1YTRmZGQ3NTBmYmJmMjIwNDNkZSBsZWdhY3ktdHJ1bmsKKzU3MTU5IDM3ZDcwODU0ZDI1NTJjZTdmYTk1NTExMjhiMGFjZTM2YTlhNThlMWMgcHkzay1idWZmZXIKKzU3MTYwIDM4ZGZlZGYxZDJhYThhNTZiZjI3ZTg5YWUzNjFkZDdiMDg0ZDI2NTYgbGVnYWN5LXRydW5rCis1NzE2MSBiODA1NDEyNTFlMGVkMWVmZTM5MmJiOGJmMmNkZDk2MjMzZWEyM2IzIGFsZXgtcHkzaworNTcxNjIgZDg4NTkyZGQzYTYxMDkyYWM1MWU1ODQzZDBjMmMxNDFjMDgwNGU2NCBhbGV4LXB5M2sKKzU3MTYzIGM1OWY5OTQyNjgyYmIxZGNlY2U3MjljMTM2ZTM0YzljZjNhMmU0MmIgYWxleC1weTNrCis1NzE2NSBkZmZiZmU2MDc3NzRmMDczZmZjODljN2U4NmNjYzc2MzM2YTE1MGU4IHB5M2sKKzU3MTY5IGUwY2M4MzNmZGQzZWJkZTk3MjQwYmU0MjAyNmYwNDYxMDhmODhjYzYgcHkzaworNTcxNzAgYTU0ZDg2NmRjN2I0ZWZkMmViN2E3NzkwOGQ0Y2M4ZjZhZTMxMDgxMyBweTNrCis1NzE3MSBhZjEyYTQ2ZGY3MzdhZDE2YTZiYzkzNGFjZTE5MWI2ZTNhYWNiOWQ1IHB5M2sKKzU3MTc1IGE5MzFjNjAxNWI5MTdhN2ZjNjdiMDNlMjQzMmIwODc0MmE1NTBiZjkgbGVnYWN5LXRydW5rCis1NzE3OCA2OTc1MGIwOThlYTI0N2VkOTM3NjQ2YjczYTdlMmJmZTcxZWQ3MTljIHB5M2stYnVmZmVyCis1NzE3OSAwNjk1MGJkMDRlNjk2OTJjMjhkNGYzMTkzNjIzMzYxN2Y0ZDQzNDkyIHB5M2stYnVmZmVyCis1NzE4MCBhZDQ3ODhkZjUwNGUwOTY0MWUzOTU2MzFiODJhNWVhODk4ZWQ1MmEwIHB5M2stYnVmZmVyCis1NzE4MSA4NWMyMmI0ZDQ0NTU5YjNjNWY0MjY5ODc0ZWNhNmQ3M2M3NWI4YzU2IHB5M2sKKzU3MTgyIGIzY2E3ZjViNTM3YzVkNzJiZmEwZjlmY2Y2MzFjZDkzMTM1ZDY5NzQgbGVnYWN5LXRydW5rCis1NzE4NiA4MWI0NWMwZGEyYzhiOGE2NWIzMTNmMjEyNzFlM2YyNTQ2MGQyNzI5IHB5M2sKKzU3MTg3IDc2ZTA0OTczYjE1ZGZkMGNmODIwNmFmZGZhOGMxMDAzYjMxMmFhNDggcHkzaworNTcxODkgZWQ5N2E5ZDFjMzQ3MzQ0MTJhMjQ0ZDI3NGM5YzA1YTc1N2RhNzhkNSBhbGV4LXB5M2sKKzU3MTkwIDBiYzljZjFjZjk1OTE4OTgyOTVkYmQ2YTBkNTJkN2QzYzVmY2Q2MWYgYWxleC1weTNrCis1NzE5MSA4ZGNlNmUyODcwZTgwOTNlNTYzZmJmNTEwYzg3YmE1YjhjMTA4OWE1IGFsZXgtcHkzaworNTcxOTIgZjc4YmY1ODQyNzllNmRkNzM3NzJjNTQ0N2RkZmVjNjM1NjM2Mzk2OSBhbGV4LXB5M2sKKzU3MTkzIDJjNTFiZTk5MDRkZTFjY2U0NjgyYjcwMmU5ZTViMzgwZjQ1NDEzZjUgcHkzaworNTcxOTQgN2U1ZWZmODdkNjY0YTAwOWY5ODNlMGFmZmY1ODk1N2Q0MTk5M2M2NyBweTNrCis1NzE5OCBmY2EzNTQxNjA0NTg1MThkYzk3ODIyYjY1N2JlYjhmMGYzMWFlYjE3IHB5M2sKKzU3MTk5IDZiNTMwZTAyOWIzYzNkODNmYjc1ZmFhZGQ3ZjcwYzEwNGRkMjE1NmEgbGVnYWN5LXRydW5rCis1NzIwMCA5NWIzN2NhZTQ3YzRmN2VjMTY2MzM5OGI0YzUyN2QyMjNhOWE2OTU0IGFsZXgtcHkzaworNTcyMDEgNzM5ZDMxMDUwOTdmZTAyMmViMzRhNjE0OTMxOTZkMGQyOTU3M2U0YSBhbGV4LXB5M2sKKzU3MjAyIDY5MmY1N2E1ZGM3NmExOWEzZjk2YmIxODdlMzk0Y2RiOGI2ZmUxZDggcHkzaworNTcyMDMgZDAzZWI3NzQ1NzZhM2U2ZTQ5MTkyZjM4YTM5ZjY5MGJhYWY5N2M5NyBhbGV4LXB5M2sKKzU3MjExIDcwNTQ2MTVmMzdmZTYwM2E2NmM0ZjZmMDA4MmQzNDdkZmZlZDZiNGUgbGVnYWN5LXRydW5rCis1NzIxMiBjZDQ1OTFiNzU0ZTAxMWQzNmE4YTI1OWI3YWFlZWNkOGYzZmNjOTNlIHB5M2sKKzU3MjE0IDU4NWQ4YmVjZTgyNjdkMDU5OTg2ZmNmN2IwYWJiMjVkMjNlZmVkM2YgcHkzaworNTcyMTUgOWEyZjM3OTQxYjJiMDVjYjU0MTAxYTVmYzA3OTJkNzFhNWQ4MjU1YyBhbGV4LXB5M2sKKzU3MjE2IDBmNTBlMDkxYTM2ZmVjNmI3ZjU2NGRlMjAzMTRjNDA5ZDZkMjBiNTMgbGVnYWN5LXRydW5rCis1NzIxNyAxNTA0N2IyYWNkM2Q1NTQwOTI5ODNiOWJkZTJmYmUyMTg3ZDc3Mzk0IGFsZXgtcHkzaworNTcyMTggMDQ5OTNkOTZlNzM4MTYzMGNiOTBmZWNkZGM0YmYwODE4NDJjNjNjYSBhbGV4LXB5M2sKKzU3MjE5IGMyM2RjZDk0ZGNjZTAxYjYwNGUyYWQ5YzNlZjMyNjEwMWE5MjhiNWYgYWxleC1weTNrCis1NzIyMCAzNjQ1ZjBiOTQ5MDhiYmFkYmE3MzY1M2I3NjM5MGMxMjU5ZmVmM2FlIGFsZXgtcHkzaworNTcyMjEgYWY2YTcxOTBjYWJjYjNhY2Y5YzMxYjcyZmY3ZThlMDFhYjZiNjMwMiBweTNrCis1NzIyMiBlNzFjMzIyMzgxMGYyNDViZTBkZDUzZWU2ZGQ3YTMyMmM5ZGRhODFkIHB5M2sKKzU3MjIzIDJmNDY3OTMwMTEzMmU4NWU0OGI2ZWU1ZDg1NzI5NGQ0OGZmZTdkZTQgcHkzaworNTcyMjQgNWFiYTk2NDY0Yjg3OTdlYTEyMDNlZjU4ODdhZTVjMDQzZjM1NzgzZCBweTNrCis1NzIyNSA1YzA4NDcyY2ZjMzQ1YzhmNmI1MGY4M2QyMmEyODlmMGM2OTJmMjU0IGFsZXgtcHkzaworNTcyMjYgOTU0MmUyZTZlZjAyYjJmOGE3YzczY2Y3ZDc4NTcxYzRiM2ZhMGQ0NCBhbGV4LXB5M2sKKzU3MjI3IDQzYjM1NGE4Zjc3M2NmNTI3YjI0NzJjNDEzOTQ3ZTk3ZTlhNDhmYmQgbGVnYWN5LXRydW5rCis1NzIyOCBkMGYzZDI5YjcwOGQzMDhiYTBlNjQzMmFjMGU2MGFiZTgzYjM4NGYxIGFsZXgtcHkzaworNTcyMjkgZGRmZjUyMWFjN2YxYTkxMTYwNTU4M2I1NzY2YzBmNzQ3YjgyYWRlMiBsZWdhY3ktdHJ1bmsKKzU3MjMwIDhkN2ZhOGE1YTdlMzhmZTViNjJjMjBjZDUzN2U1Zjk5MTAzMGQ2ODMgbGVnYWN5LXRydW5rCis1NzIzMiAyYjRmZWUxZDQ4NjFhYzNjYjgxZjhmMzA3ODgxNGZhZGQ2NGI4OTdkIGFsZXgtcHkzaworNTcyMzcgNDQ3NGZmMTBiYjBhMjJiOTVhYmVlYzhlZDU0Y2JlZWY0ZTUwZDQ4YiBweTNrCis1NzI0NCBhYjdhNmU3NGJiZjIzODE0Njk5ZWNmNDMzNDhjZDRhMDM2YTU3ODk2IHJlbGVhc2UyNS1tYWludAorNTcyNDUgNGYxMTI1NTk1OGJlOWYyNDc2OWM1ZDY1YjM4MWIzYmNiYTI3NjJlMSBhbGV4LXB5M2sKKzU3MjUxIGMwNDBkYmI2OWRmNzFjOTEwYjI3MTQyMzcyYTc2NDFiNTg2N2VhNTAgYWxleC1weTNrCis1NzI1MyBlZTllYmJmNWYzZGM4YjAyZDI1YjliNDdmNDc0ZjA5ZTZkYjZiYzhiIGxlZ2FjeS10cnVuaworNTcyNTQgNjJlZWU3OWRlOTIzYWM3ZDRjMTE2ZTRlOWMzNTM3NmMwZjFlNjEzZCBsZWdhY3ktdHJ1bmsKKzU3MjU1IDFlZmU5YjEwYzRhNmYzMmFiYTZjNTRlZGNlNjA4YzJiOTY2ZGQ1NTggbGVnYWN5LXRydW5rCis1NzI1NiBmYWNkZDc0YTBiZGQxYjc0ZDMzMjBjODIyMGZiOTVlZjY4YTdjMjQxIGxlZ2FjeS10cnVuaworNTcyNTggNWJmNjhmYzczOTIzYTk2OTg3YjcyMGZiNDI1MWQ1MDNmNDZlZTcxOCBweTNrCis1NzI1OSBmMzE4MWU5ZmRlNGQ3YTBlNWI0NjYzZTMzMmI1ODNlNWVlNTBkMzkxIGxlZ2FjeS10cnVuaworNTcyNjAgZGU2ZjMwYzYyNzMwNTQzNzA3MmQyYTkyNWRlNGRhZmMwM2I2OTY0MSBhbGV4LXB5M2sKKzU3MjYxIGQ5ZTM3ZDI2Zjc4ZTk1OTIzNWM4M2UyNjg4YmVmMTdlM2FjM2ExMzMgYWxleC1weTNrCis1NzI2MiA2ZDI1MjgzOGQyMzA2Mzk3ZDFiMDdhZGMwZTg5MTIzNTVhNjBjM2E5IGFsZXgtcHkzaworNTcyNjMgYjkzNzkyY2VkOWU4MGYxNjZiYWQxZDhlZjAyYjY3ZTAyZDI0YWRjZSBhbGV4LXB5M2sKKzU3MjY0IGFlY2ZmOWUwZWVhZTRkOWY4NDcwMzY3MTU5Zjk1YWMwYWI0YjIyNDMgYWxleC1weTNrCis1NzI2NSA2MDU0ZDdkMjM0OWYwNDYyNDZhMWY1NDE0MTM5NGZlMjE0ZTZjMTk5IGFsZXgtcHkzaworNTcyNjYgMjA4MTExNjEyNWNlYTlmNTY4MmRjMGZlYzRiNmY1NTVmMjJiOWE3ZiBweTNrCis1NzI2OSBlNzY5NmZjZTMzNzYxMGJhM2RlMWE5NDlhM2ZjMzI3ZTI2NGU2ZTA5IHB5M2sKKzU3MjczIGEwM2YzNzhjM2JmN2JmMmM4MWNlNWQ2YTg5MzBhNTU2ZTQxOGI3NDcgYWxleC1weTNrCis1NzI3NSBjOTQ3YTA0NzY4ZTQ1YTIzMTFkYzBkYWExZDI2MTQ2NTI1ZWM5ZDZhIHB5M2sKKzU3Mjc2IGUzMWIzODdlNmQ3NzVjMTA1YWIwZGRlOTAxYjNjOWU0ODY4NGU2MTAgcHkzaworNTcyNzcgMDA4MWRiYWNiN2FhNjEyMmNjM2UzNTY4ZGU2MGRiYjFiNmQ1MzNmNiBweTNrCis1NzI3OCBkODAwYTljZGFiNzY0NjQxMzg4MGQ2MjZmMWQ0ZjQzMDk3MGJjMDVlIHB5M2sKKzU3Mjc5IDNiNGUzOWU4MzE5MzIxMmMzZTU2NjNhMTdkMzkwODg2OWMxMGFjYzAgbGVnYWN5LXRydW5rCis1NzI4MCA4NGM1YzA1MjRkM2NlZjdkY2Q4MjYxZmI5Y2JkYWIzMjUzOGM0NGYyIGxlZ2FjeS10cnVuaworNTcyODEgMjY3M2NkZWQ4ODU1NDUxMGMwMGZiZDE1M2U5N2Q3Y2YyYjZhNGVkOCBweTNrCis1NzI4MiA3ODIzNzBjOTM1NzU4ZTY0MzM0YzRiM2UyMDllMWQwODA1MzRiNDExIHB5M2sKKzU3MjgzIDhiYWQ4NzIyZjBlNjQyOGQyYWI3YTA5Y2UxYzRhNzc5NjRjMTIxNTQgcHkzaworNTcyODQgMDkyZjAyY2YwMThmOWQ5Mzc5MDAzMDIyOGM0MjhlNmQyZGVjN2E4NCBsZWdhY3ktdHJ1bmsKKzU3Mjg1IDFiZjE3ODU1ZThlODVmMWYzNzYyZTFiMTI1YmFjNTU2ZmFkZjhjOGMgcHkzaworNTcyODYgOGI2NDAwZjk3MTZmZWUzZGJmOTRiODIyZWIwMTU2YzA0MGUxYTdlYSBsZWdhY3ktdHJ1bmsKKzU3Mjg3IDVhMjBlZTgwNTgxOTU4YjAxNWMyOTNmYzkzMTNkNzU3N2MzNjY5MDQgcHkzaworNTcyODkgMGIwNjA2OTY2MGMyMmJlYzJlN2Q3NDg1OTViODllNDk2MDdiM2UyNSBweTNrCis1NzI5MCA5ZTgxYjIyNjg5ZDJkMTdkYzNkMjE1YTQ4MTRiYjY4YzY3ZTI2ZGIwIHB5M2sKKzU3MjkyIDY4OGNkNDM5OGY0NDY4NTYwNmEzNDI2MjgyZmI4MWFiNGIzZmU2MTYgcHkzaworNTcyOTMgNTA5OGM2ODc5MDkxNmY0ZGMyN2NjYjIwOTYxMzI2NGRkYjhhNzFlYiBweTNrCis1NzI5NCA1ODkxNzUxNGU0MjNlY2YyMWYxYWQ2ZGI3YzYyMmM3YjM0MTYwZTc3IHB5M2sKKzU3Mjk2IGFhZDE3YjFhYjBjOTJkYjNiYTgxZmJlNzA0NWZkZWIzNTNiZmIxOGEgcHkzaworNTcyOTggMmVjMTZiNmI0ZDA0NDIzNmI1ODk4YTQ3ZjgzNzkwNDUwZGZhMmViMyBweTNrCis1NzI5OSBlNGFkZTE2YTY5NGZmNTQ2ZTBhNTNlYTU4ODcyZTZhYjNmNzRiZTFiIHB5M2sKKzU3MzAwIDI2YjI5ZjdiOGZmZDhlZjlmYWFjM2E4MDhmODUxM2ZiYjI3ZTcwYTkgcHkzaworNTczMDEgMTk5NTA0ZmI5MWM1ODBlNmM2YWZhZGYzZGRjMzlmZmY1ZGE0ZTZhYiBsZWdhY3ktdHJ1bmsKKzU3MzAyIDdmZTI4NDhmZDQxZDc0NmNiODk0ODRmMDBiMTZiOTY5ZDA3MWU5NjggcHkzaworNTczMDMgYWU4M2VmYjczNTA2ZDI1N2VjMzEzYWE3MDBmZTA0NDgzNTc1NDQ0MiBweTNrCis1NzMwNCBlYWUxMGQ5YzljNGVlZGI1MTk4MTIxODZiNzQzZGRiOWVmNTFmMmRkIHB5M2sKKzU3MzA1IDUwNmI5MTdkMjM2M2E4NzBmYzYwMTY1MWVjNzg5YTA5YzBiNTY4MTUgcHkzaworNTczMDggMzI4NDMwN2E3MzUxOWE5ZDViZjQ1NzIzYjIyODM1ZWQyZjc0NjJlOCBweTNrCis1NzMxMCBmMzQ3NmU5YmJlNmFiMzYxMDYwM2YzOTA5MDI2Mjg1NGRjNjQ4MGQwIHB5M2sKKzU3MzExIDdmNGQ5M2UwMjk1Y2FjNWI1ZmQwZWJjZTc5Y2IwNTU2ZjMyYjYzMzYgcmVsZWFzZTI1LW1haW50Cis1NzMxMiBmYTlhNDBlZjA3ODBkZDc3ZmNjYWM3ZDdiOGY4MThiNWY1ZGI5MjA0IHB5M2sKKzU3MzEzIDA2ZGU2MmYzM2MzNzdkNjMzYTFiZmM0MDZjYzgyNWRhYWRiYTUwNjUgcHkzaworNTczMTQgYTlhNGNmOTFjYjdlN2I1Y2ZlYWIxNWRhYmIzMGFmZWQzMTNlMmZlOSBweTNrCis1NzMxNSA4MGJjNjg4NTBhMDg2MGRiMWM3ZWZkYzE3YTExNWUwZGY2NzlkODM4IHB5M2sKKzU3MzIwIDI0ODBiODY0YmUwMzk3YTYwNWE5NjgxMjk1MjYzYTc0YzQ2YTMzMDQgbGVnYWN5LXRydW5rCis1NzMyMiBkZTFiYWNlODFlNmVkMmE0ZTUzYjg4YTNiNmNlODk2MThiZjQ4OTlkIGRlY2ltYWwtYnJhbmNoCis1NzMyNCA4ZTg3ZDlkNmU4MTI3NWMxMjRmNWE3YjE2MDhkMmI1MTJhZTBiODIxIGxlZ2FjeS10cnVuaworNTczMjUgN2E3NWNkMjhiMTI1ZDNiNmViOTkzYWM2MmYwOTY5MTg2ZjI4ODA0NiBweTNrCis1NzMyNiBiMzQ4NTUwYTJiZmM2ODhkNmFiZTdhNDdkMzZhMjA5YThlYzk2YWU4IGxlZ2FjeS10cnVuaworNTczMjcgYmNiZGM5NWRmYmE5YWE1NDNmMDQxM2VlMzk3MzVhOTZmNmIwYTI5NiByZWxlYXNlMjUtbWFpbnQKKzU3MzI4IDkwODczMzdmM2EzZjg5OTFkZmUxMmY3MTRkOGUzYWFiZmNlMDM3OGEgbGVnYWN5LXRydW5rCis1NzMyOSBhOTExY2Q5ZDE5ODkzYmU4ZjRkZjg5NDhkMzljYmMwN2RhNzBjOTM3IHB5M2sKKzU3MzMwIGRkZWZiZGJkYmNiNTFjZTBhYjE4N2E1MjU1ZjMzOTE0ZGNkY2UxNDggcmVsZWFzZTI1LW1haW50Cis1NzMzMSBhZGI4M2Y0YWM0Y2JlNWUyNWMwYTJhY2VmYWM1YzYyMWMxMmQ1NTdiIGxlZ2FjeS10cnVuaworNTczMzIgNzI5ZmU5OWI0MGE1NzJkZWM5ZWZhY2FmMTZjM2M0NWE2YTlmM2VmYyBkZWNpbWFsLWJyYW5jaAorNTczMzQgNGVkZmM1OWI3MmIyYjRmMWRjOWMzYzhlOGQwNGZjZTcyNGNmZDAwMyBkZWNpbWFsLWJyYW5jaAorNTczMzUgYWY4ZmM0NmQ0YjU2MTc4ZWZmMzYyMDMzMDA0NTQ2MjI2MWM3OGEyZSBkZWNpbWFsLWJyYW5jaAorNTczMzcgNzFjNjhkZTNiMWM1NzRkOGFhYWE2YzdiMDFjZjQ2MDU4NzdlNjgyMiBweTNrCis1NzMzOSBmNTNmMWExYWMwMTY0MGY4YjNjM2JiODA3YzFkN2UxZDZmMDQwY2JkIGRlY2ltYWwtYnJhbmNoCis1NzM0MSBhMmNjMDE4ZjM3MDBkZDQxOWZlM2FiNGY2M2M0N2MwOWViMDM4MzdhIHB5M2sKKzU3MzQzIDkwODBjYzc2ZGE5OGYwZTEwOGYxZWU5YWM4ZmY0ZTFhNDRmMTQ1NjMgbGVnYWN5LXRydW5rCis1NzM0NSBlMWNkZDZlZTkxMGU3ZGIyM2Y2YjdhMzhmODcwMTY5ZTZmNTM3YmMwIGxlZ2FjeS10cnVuaworNTczNDYgMDBmOGIyNDgyNzY0Y2Y2Y2ZjYjhlMjJjYjQyNzY3NzgxNWE4ZGJmZSBkZWNpbWFsLWJyYW5jaAorNTczNDcgMDMxOGFiY2ZhZjM2YTZmZDY4NGZiODEwYWYxNzYxNGVjZWJlNDBjYyBsZWdhY3ktdHJ1bmsKKzU3MzQ4IDk1MjA1NzljYzMwYmZkY2E5YTc3Mzk3ZWM4MzcyMWRlZTk2YTAxM2YgbGVnYWN5LXRydW5rCis1NzM0OSA4MTg4NmUwNWZkNDAxNmFiYzRlYmMwZWE4MWRhZTQyMDc1NzgzOTRlIGxlZ2FjeS10cnVuaworNTczNTAgYTE1NjU0MDQ1OTllNWVkODZmNjgwOWRlZTg4ZWMwNjY0YjcwOTQ2OSBkZWNpbWFsLWJyYW5jaAorNTczNTEgMjY1MDBiYTA5ZjcwYzYyMDU3ODRiYzhhMWMyMGM0MWMwZGJmYTRhYyBsZWdhY3ktdHJ1bmsKKzU3MzUyIGUyMDQyZWMzMzBhNDU1NTIyOWEwZjFhMjRlZWJjMjhlZjEyNWE5ZjIgbGVnYWN5LXRydW5rCis1NzM1MyA5YTM0N2JhMTdjYWIwZThmOGFkYjJlMDA5YTFkMmU4NThhNTFiZDNiIGxlZ2FjeS10cnVuaworNTczNTQgM2VkNzgxNGNjYTM2NmQwOWY3ZTFlNmI1NGVjNDZkY2I4MzFhZjA3NyBsZWdhY3ktdHJ1bmsKKzU3MzU1IDc3Y2YyODA4ZWVhNjM3NTExZTYxNmYwNTAyNmE5NTY4NTYwYjQxZWEgbGVnYWN5LXRydW5rCis1NzM1NiBjZTUyY2Q3MWE4ZDlhMjdjMTBjNWE5MDllMTMxZDg3NmJlMzBlNGEwIHB5M2sKKzU3MzU3IDIwNzNlYTMwMDVhNzg3OWViNTk3MDQ5ZDQ3ZTdkZGY2YmI2M2NlNTIgbGVnYWN5LXRydW5rCis1NzM1OCA3OTIzYmZmMTkyMTJiMDM5YzM1YTc4MTYzZWQxNTZiNDQ1ZjE3ZjhhIHB5M2sKKzU3MzU5IDA3N2ZlNzg2MGNjOWIxODY4NTVmNTQzZjFhMjZlNDQ1ZGQ3YTdjMzAgcHkzaworNTczNjEgMWM5OGI0NDVkODQ3MDk5YzI2NTJhNzU3ZDQzNTE0ZjcwZDgyNTFmMCBweTNrCis1NzM2MyA0MmIzOWNiNTM2ZDllNGI1OWY0OTU5ZjY5ZmVkMDI5ZWViODBkN2VmIHB5M2sKKzU3MzY0IDBiNjI1MzlhY2ZiOGRlZDY3MjUxYzc1NDhjNjZhYzhjNmRiMzRiYjggcHkzaworNTczNjUgZTc0NGEyMGVkOGE2YWRiZjA0NjMyYjdiMjYyY2FlNTA5ZTI2NTM1ZiBweTNrCis1NzM2NiBmOTRjNjhmY2Y3OWRjNTI2MmNlNWM0YTNhMDA4ZWU3NmU0MThkMmM2IHB5M2sKKzU3MzY3IDI3M2FjZTM1OWU1NWU2Y2JiNTY3MDhhNGJiMzZkODU0OTkyMDBjY2YgcHkzaworNTczNjggZTNlMDZiMzg5NDA2YTkwYTM0ZTU5ZDc0NzRmYTU2ZWExYmRkNjc3OSBweTNrCis1NzM2OSA1NjdjOTIzY2IxYzYxZDkyZTViNzQ4Yjk0Mjk4NTRjNzZiNTVhOTZhIHB5M2sKKzU3MzcyIDgzYzg0NDhjNmRlNDExNWFkOTIxZWQwZGM4MjhlNTU2MDM5ZWQ0YTcgcHkzaworNTczNzMgNjZmNzNjZTk3YjMyZDcxNGEwOTg5Nzk4OTliNmFkNmVjZTc2NmY2MSBweTNrCis1NzM3NCBiNjI2Yjg0YjUwNzA0NTEwMWUyYzIxYmYyMDBjZWNjMmFmNGRiZTliIHB5M2sKKzU3Mzc1IDE5ZGE0MWZjMTE3YTAzYWQ3ODY5ZWNlOTdiMWY3ZTM0ODJhMjMxMDMgcHkzaworNTczNzcgYjE5N2MxYzA0YmExNTg2OTIxMjQ0NTJkOWY4YjBlNmQxOGM0MDMyZCBweTNrCis1NzM3OCAwNWZlMDI3ZTJkODA5ODI4NGRkODk3OGIzMjlhOTk5NTExMzEzNzQwIGxlZ2FjeS10cnVuaworNTczNzkgMzE0MTUxNWY2YzQ1YTI4ZWNkMWM2MmU3YTc2YzM5NjE5YzE5NzY1ZSByZWxlYXNlMjUtbWFpbnQKKzU3MzgwIDJiOWIyMTQwMjY1MDQwZDAxYjY1NDQ1MTAxZTlkNDgxMTQwOWM5NjggcHkzaworNTczODEgZDNiYWFiMjA5NjI2NDllMmVmNDIzOWFkNDc3ZWJmNDk4OWJkMzMwZiByZWxlYXNlMjUtbWFpbnQKKzU3MzgyIDczMjMzMzE4NzZkZDQzOThkYzJlMWNkYTFjNTU1M2QwNWEzZjdkZmEgbGVnYWN5LXRydW5rCis1NzM4OSA4OTAxYTdjZTZjMDc0NWIyZWNjODI1M2FmNmM3Mjc1ZDFlOWVkZGQ1IGxlZ2FjeS10cnVuaworNTczOTAgM2ZiYTE0ZWM5YWFlYjQ4M2NhOWExMGI0ZGNiNTZhYWMyNDYyYmI4ZSByZWxlYXNlMjUtbWFpbnQKKzU3MzkxIDJjNDIyYTQ5NzJmMWM5NTYwNmRkZmU2ZmNlZjAwZDEzZmJjMzY4OGMgbGVnYWN5LXRydW5rCis1NzM5MiBkNzUxN2MzMDY3OTE0NWFhMGNjZjg2ZjE2ZTZkODEyZDA5YTc0NDNhIHB5M2sKKzU3MzkzIGMzYjUzZTA3NGVkMTFiM2I4YWRkMmU2ZGE4ZTdlYmZjMDFjM2I4MTUgcHkzaworNTczOTQgOTQyODYwZjhjZDk3ZTljNTgzYThlYjkxZmJhOGY0M2Q1MWU2YmJkMyByZWxlYXNlMjUtbWFpbnQKKzU3Mzk1IDU4ZjM1ZGYwZjZmNDg4NmQ0ODlhNzEwNGM4ODY3NGJmNTgxZTc3NTQgbGVnYWN5LXRydW5rCis1NzM5NiA0YjcwMzZkYzc2ZDU1OTIxOTc4ZDZkMDYyYzMxMWY3YmY4YjE3OTRiIHB5M2sKKzU3Mzk3IGUyNTc4ZjMwNDJiMmQ1Mjc1NjRjYjc1NWU4NWRjNmEzYzBkMjg2ZGMgbGVnYWN5LXRydW5rCis1NzM5OCA4YjFiMzI3MjU0YzBkMzUxOTlkZmQyMWIwYjM4ZmZiMTg3ZjkxYmU5IGxlZ2FjeS10cnVuaworNTczOTkgMjU2YTRkM2M1ODFmNzJkNjRlZDMzNGU0ZDRlMjNhMWViOTU2ZDQyMiBsZWdhY3ktdHJ1bmsKKzU3NDAwIGY3OThjMzY2MjcwYzBmYmNlMzZkMDNiMTQ4Yzc0ODMxYmIzMTgzZTkgbGVnYWN5LXRydW5rCis1NzQwMSA4YzU2OTU2OTcxYWRlM2VkNjU2ODk3MmU3YzEyODM3ODRmNzY2ODFjIGxlZ2FjeS10cnVuaworNTc0MDIgMzAyNWU2NzZlNjY5MTgzODEzOTNlMzU0ZTMxYTZhNjQwMzEzYmY0YiBsZWdhY3ktdHJ1bmsKKzU3NDAzIDA2NmQzOWZhZDQwOGUxZDFkNTc5ZTJiZjM4ZTUzNGEwODI0MjNjMGIgbGVnYWN5LXRydW5rCis1NzQwNCA0OGQ5MWYxNTU4YTAwOWQ5NWU1YTYzNmYzOWY2OTY1YzAxYTEwNTZjIGxlZ2FjeS10cnVuaworNTc0MDUgYzZkNjMyMWRjN2Y5NDJjMThmZjY0ODg2ZjExNDU0MzliZGE0NzFiNyBweTNrCis1NzQwNiA3MjFjM2VhMTNkODRhM2MwNTlhMTM5M2E5ZTJhM2E0NDQzMTEyZWVkIGxlZ2FjeS10cnVuaworNTc0MDcgNjEyNGIyZWY2NTEyMDE2MTllNDBkNjdhYjM5NTY1NTE0YzYwZjZjMCBweTNrCis1NzQwOCBhNmU1YjM4NjhmM2Q4MjQyNDIzMGM0YTcyY2EzZjVkZjA3ZjA3Y2FmIGxlZ2FjeS10cnVuaworNTc0MDkgZTQyZTdkMDMxNzNiMzE0M2I3NWU1ZDAzMzg3ZTI1NzA3YWI0MDhjZCBsZWdhY3ktdHJ1bmsKKzU3NDExIDYxZmI1OTc5MTdkMWNmOTc2YmVhYjAwZTA3YjllYWNlYTcyOTNjYTAgcHkzaworNTc0MTIgODQ2MThiMjA2NGMxNmFjMzYzZTU4OTI1YTQyYjdjMTAxMTNjODIwZCBweTNrCis1NzQxNCA2Y2Y2YjgzMWFiMzZjZTA2ZTBjNTRmZmIxOGIxNzM1YzJhZDM2Nzg5IGRlY2ltYWwtYnJhbmNoCis1NzQxNSBjZjJiMzdiOTBjNjZmNTQ5NDdjNmJmMTExNGJlN2QwMDk5ODIwMjAxIGxlZ2FjeS10cnVuaworNTc0MTYgZTFhMzY1NTlkOGI2ODk3OGFkNjZjMjgwM2I1NDZlYmQ5N2NjYzczMCBweTNrCis1NzQxNyA4ZTk3NzExZmFkYzE0NzAwNzIwNTQxNjBjM2MwYmI3OTlhYzU4MWFlIGRlY2ltYWwtYnJhbmNoCis1NzQxOSAzODM2MjBlNjJlZTY0YzRlNGEwN2NjMmJhNTIwMDc3OWJjMTdjNzgyIHB5M2sKKzU3NDIxIGIwYTcxYmZmYTBhMWY3MTM2ZjNlYzg3MGQwOTgzNjgxYmNmYTljNzYgcHkzaworNTc0MjIgZDAyNjEwYjBhOWYzYWNkYzVlNjI5NzIyNzg5NDhlOWQzODMzMmU2NSBweTNrCis1NzQyNCA4ZTYxNzI3ZGI1MjliNWIxNjhkNzNlYTExNjA4MTI0YTRiMzgwOWIwIHB5M2sKKzU3NDI1IDQxZGE0OWM5N2E1OWVjNmY4MjcxNjFkYTZmY2I3ZTU1ZWFmNTRjNmEgcHkzaworNTc0MjYgMDFlZTYzMTFiYTQ2OTRjMmM1N2NkMzhlZTEyYjhmNDM0NWFlMDc1NSBweTNrCis1NzQyNyAwOTk0OTU4ZmZkNGZkNGQ3MjhjMTFmNWZiNTJiZmJiYzlmOTkyY2QzIHB5M2sKKzU3NDI4IDY5YjhlMjk3NjU1NjVhNzQzMWRkYjliNzg2NWMyZTk0ZDhiZjJhZjkgcHkzaworNTc0MzIgM2NkNjBmNzQ0ZjhlOTNiNjAwZDQ3OTgzMzM4ZDAwNTU0MzYwNTQyOCBweTNrCis1NzQzMyAzY2I1ZGVmMTg2NWRhNjU4MGVlMmJiODc3N2NkMmE1ODhlMTYwMTQ0IHB5M2sKKzU3NDM0IDc4ZjdlZDdkODA2NDljMTE0YWUwNzYwN2IwNzlkMzRmZWM1YTBlZDMgcHkzaworNTc0MzUgNTk5NTE0Mjg5MjI2ZTFhNDk5MGFhOGM2ZTVlYWNiMGEwMmI2ZDM1ZCBweTNrCis1NzQzNiAwMGUxMjhiNTI3MmY1NWVhZjY3MjM4ZDI0YzA3OTg0NzcxNmE1MzY3IHB5M2sKKzU3NDM3IDc3NmI4YmQ2OGIzMDFhMDY2YjUwM2JmZTlkMjQ4NDA1NjMzMDgyNzUgcHkzaworNTc0MzggMmMyZTkwNTg5NGEzODBjNjU2ODg5YTY2MmQ1MjIxYTAyYzQ2YzNjMiBweTNrCis1NzQzOSBhOTllYzRiZWZkYThhZGZmNTI2ZWFjMDQwYzdkZDlmYmRlNmE2MjllIHB5M2sKKzU3NDQwIDc0Yjk5M2E4YWQ2ZmVmNzMxOTQzNjU5YTE5YzEwYjgxNTEwNDc5OTcgcHkzaworNTc0NDEgM2Q1ZDA5YjQ1MWI2NmEyZjg1ZTRjNzJkYzcxYTFmZGJiYWRmYjg2MCBweTNrCis1NzQ0MiBmODFkOTRjMDVhMGVjZGE0MWRlMGQ5OGFjNGU3OWEyNmI5Zjk4MzdjIHB5M2sKKzU3NDQzIDg3MmM3YzNmMGFmMzU0MDBlZmM1MDZmYjQyZjAyY2EwM2FhZDA4MGYgcHkzaworNTc0NDQgNTM1NTMzNzcwOWUxMDk1MGJjNmUyNTZmODVjNDNjODgyMTRhYjg3ZSBweTNrCis1NzQ0NiBmYjU4ZmIzYmRkYzE5YjlkZDY5MjcxZTg1OTczNjU1ODBkYjNiYmJiIHB5M2sKKzU3NDU1IDFiNDIwZTZlMDBlYjE2NGE1ZmQwMDQ3YWQzMDMyMDk1MGUzMjMyZmUgbGVnYWN5LXRydW5rCis1NzQ1NiAyMmJiYWZhNjkzM2JkOWZjZDAwMjc5ZTc4NTBmMzExNjRmYzlhNmNkIGxlZ2FjeS10cnVuaworNTc0NTcgYmIyODhlMDRiOGU1ODg0NmM5YzNiMTNhZjc4YzU2OTljNzQ2OWI1MyBweTNrCis1NzQ1OCAzMDJhZWVlMzJkYTgzYTQ5ZmM3NDhlZDEyMDZhNjdkNzI0NTIxNWJlIHB5M2sKKzU3NDU5IGJkOTNhYzMwYzc3OTUyYmY5ZDIzNzY3MTYwOGViOGNhNzhjZjdhODEgcHkzaworNTc0NjAgMTg0ZjgwMGZkYmY2Nzg1ZmNkZDQ2NWZkN2ZmNWEwZjJhZDc4NTBjMyBweTNrCis1NzQ2MSA1NDNmMmJhOTdmYWI5ZDdkMWU2NGZlMTYzZTY2MDJiMjVlZjkwOTVhIGxlZ2FjeS10cnVuaworNTc0NjIgNzgzNDBjY2VhMTRiZTQyZTcwZjM3MzIwYTEyZmMwN2Y5OWI1NmM1ZiBweTNrCis1NzQ2MyA2ZDEzZTE4ZjcwNmFlMzk2OWRmZTk2OTVjMGEwOTg1YzYxYmE1Y2JlIHB5M2sKKzU3NDY0IDA4YjYyNzhhYTFmNDA5ZmNhYjBjYmNjY2RmM2YxODM5NTkxMjdmYWMgbGVnYWN5LXRydW5rCis1NzQ2NSAyNDEwNTM3Mzk3MzMzMjQ2M2FkMTM0ZGFlZmJkZTNjNGI4NDYyMTcxIGxlZ2FjeS10cnVuaworNTc0NjYgYmIzMzZhNjhhNDdmMjUzNDQ2YmQ3Mzc4OWI2ZDBkMTI4YjI4MTk2NSBsZWdhY3ktdHJ1bmsKKzU3NDY3IDRjZDExZTgyNTY0NDgwOWUxYjY2MThmZWUwYjU3NGEzMDk0ZTMzNTYgbGVnYWN5LXRydW5rCis1NzQ2OCBjYWZlMWY2NTNkYjM2YjYzMWQ0NjY3M2YzMjc3M2Y2MDAwZTg0Yjk3IHB5M2sKKzU3NDY5IDZhMTgxYWJmYzhhNDA3MGNmM2YzMTQwOTk1MjU2ZjAyZDNlYjRhZDggcHkzaworNTc0NzAgMjBlMWNjNzRlOGNhNTFmMjU4ODZjOWY0NjUzZTY5OTJmZjVlYTA0NCBweTNrCis1NzQ3MSA1YTliN2MyZjM1ODlkOTUxMDUzODc2NWYwNWY5MDE3NTczMDcwM2NmIHB5M2sKKzU3NDcyIDc4Y2YyYmRhODg1NzE4ODJmYzVlYzBhNWMxYjg3NjEyZjJlMGUxNmMgcHkzaworNTc0NzMgZWZmZWVhN2NmODk4NDg1MWI1MjgyNTg4NDYyYjRiNmQ1ZDJiYzdhNiBsZWdhY3ktdHJ1bmsKKzU3NDc0IGQ4YTYzYjYzMjc0MTJmOGRjZmY0MDlhYmFmZjFmYmEyZjkzNTRiMGQgcHkzaworNTc0NzUgYzMxYzIwN2I4Yzg2ZDU1NzdjNjc5MDM1ZDc2MTcwYTlkYWExNzVlYiBweTNrCis1NzQ3NyAwNTQ4ZGY3ODEwYTBjYjgzM2MxMmFlNWU4NDI4NDZiNjI3ZmU1NzA3IHB5M2sKKzU3NDgwIDNhNjg5Zjg4YzgzODVlMTFkMzBlODk0YTFhYWQ4NTU1Y2Q4MDI3MWIgY3B5X21lcmdlCis1NzQ4MSBhOWIzY2UwNjY1YzNhMzVkMzJmOTFjNTMwMjM4YmRiOGM0ZjgwZGNjIGNweV9tZXJnZQorNTc0ODIgNjczY2JjODVkOGM0MGJjMjBmZTAxNDdiMTkxZTgwMDllYjRiMjAyYSBsZWdhY3ktdHJ1bmsKKzU3NDgzIGViMTlmMmZhZWVhMTJiMjJkNzUzNDYzYzllYmVkYzNiNjVjODMzYzAgbGVnYWN5LXRydW5rCis1NzQ4NCAzNGU2ZmE3OGI2NDMyODg1MmExOTI5NWEzYzA1NThiYjQzNGJlMmQxIGxlZ2FjeS10cnVuaworNTc0ODUgNmU3MzU5MTA2NzE4MWEzMzI1MzkxNjM3MjgyOWZjMGFkOTExZmI3YSBweTNrCis1NzQ4NiAzMTUyZGY3MDUxN2E2ZjEyMTQ3YTYxYzQ3OTdjZWRjY2ViZjhmMWFiIHB5M2sKKzU3NDg3IGI1NWU3YzUzMjUzYzBkMTE0OTNjOTFlNjk1N2EyZDZiMDdkN2U5ODIgcHkzaworNTc0ODggN2ZmYWRkZDFkZTMwNTBjNGRmYzU0NzQzNGVlNDMzZGU5ZWE0NzJlNyBweTNrCis1NzQ4OSBlZDFkMzUxMThlZDhmMGY0MThlNjQxODNjYjY5YjA5NTZmYzYzZGQzIHB5M2sKKzU3NDkwIGJiYzQ0MzI2YjUzZDY5OWUwY2M4YjQ3OGNjMmI3YWVjMWJjNzdjMzIgcHkzaworNTc0OTIgMDI3YzdkMDQ0Y2ZkN2NkOGQ0MzQ2N2YyODgyNDg3YmQxMmU0MjQwOCBweTNrCis1NzQ5MyA2MzgwZjg4ZTNkZWVkYjMyZDNhY2E5Njc0NWQ1ZjdiYjMxZjMxYmI2IHB5M2sKKzU3NDk0IGZlZDRmNzJiMDRjYjlkOTgyNjk3ODUxMzJhZmQ1NjMwZjNhNzE5NGIgcHkzaworNTc0OTUgMTM5MGMxMWU2NDBiMWE2Y2NkZDQ4NmU3NzBjMGM4OGJjYTM3OTNmOSBweTNrCis1NzQ5NiA4MjRiOWQ1MmUwMDZiY2FjOWJlNWVhZDI3MmMwYzdkOWM4M2M0N2RmIHB5M2sKKzU3NDk3IGQ1YjUyZDU2YmViYWZiZGVkNDZmNmZkMDYzZTcxOWZiZDFiMWMzNzMgcHkzaworNTc0OTggZjNiM2ZmZDEzOTU0OWVhYTE5MzZjYTViZjk5NDljZjA5Zjk4NWQyMiBweTNrCis1NzQ5OSBlZjU2MjgxZjAzYjQ1ZDQ1OGIxZWZmZDE5NTkzMGQ3ZTVkZmQyNmQ1IHB5M2sKKzU3NTAwIDE1NDdkZTE2ZmVjOTUxYTZiYzIzY2Y5Y2ZmM2VkOGU0NDQ5MjczODIgcHkzaworNTc1MDEgMDM2NTk4ZGU0NjYwZDYyNGY5ZGM5ODc1OWNjYjljNDQ5NjgwNDQzMyBweTNrCis1NzUwMiBiZjFhNTNjYzZlNjUxZjdkNTBlNjNhYTFiN2JhOWZkYTRkNDQ1MmNkIHB5M2sKKzU3NTAzIDc4ZTAwYTBmNjAxNWU1YTFiMDc0MzE4NmE2MzRlZWYyMGZlMGUxMTQgbGVnYWN5LXRydW5rCis1NzUwNCBlZDE1OTRhMTZiZGI3Y2MzMDc4ODQ0YTIzYTk0N2Y4ZTkwYTJmZWI5IHB5M2sKKzU3NTA1IDg0ZmE5NDdmZjY5NjYwMmFkOTg5MWZjOTg5MGRiZjFmZDJhNzVhNDUgcHkzaworNTc1MDYgMWIxZjdjYTNmZDQ5MzA1ZGUyOTUyZDdhZGYyYTcwZjQ3OGZiN2RmMyBweTNrCis1NzUwOCBhMDk3MjhiODk1MzAyMzJkMDI4NzAyOTlhMzViNjA5MWFhYTg1MTAyIGFsZXgtcHkzaworNTc1MDkgM2ViNWRkYWRmYmY3OGJlYjkxMDczMTc1ZDk4MDk4NmNhNDgzYWNjMyBweTNrCis1NzUxMCBkNmQ0OTNiNjE3ZTNlNTFiY2FhNzNiZGQwZTMzNWZiM2QzNTEwNDQxIGxlZ2FjeS10cnVuaworNTc1MTEgNDAzZWJkMTQ1OGFmZmI1ZGZhZmM4ZTY3MTRlZjdkZmZlZTE0N2UwNCBhbGV4LXB5M2sKKzU3NTEyIDZkZWRiMzNkMmRhMzg0OWJhYWY5ZDA5OGU5OWY4OWY5ZTUzMDFkZWQgcHkzaworNTc1MTMgYmFiNzVlNGM2NDdmNmY0MWZkODRlZTY5N2ZjYjBmZWZlNTM4M2JkMiBsZWdhY3ktdHJ1bmsKKzU3NTE1IDM4OTVjMTI5ZTQ4NjIyMzcxMTRkYTgxMDY2ODI4MTFmMTRlMDJkODAgcHkzaworNTc1MTggYzJjNzZhMDQ0NmZhYjI2ODUzNmJhZjUxYzEzNTcyODkzZDU1ZWJlNCBsZWdhY3ktdHJ1bmsKKzU3NTE5IGExMzQ4NWEzYjQwNzgzZjRjODZiM2Q4ODI0ODJiMTcyNzJlMTYxMzQgcHkzaworNTc1MjIgZmYzYzBiZTcxZGMyYjM3YzE0MjE5N2EyMDZlNDY1NWQxNWY4NDcxMyBsZWdhY3ktdHJ1bmsKKzU3NTIzIGQ4YWQyOWM2ODc2M2VhYjQyYTM2NDI2NzU0MTljNWExMWFmZWM4MTkgcHkzaworNTc1MjQgODVlYWVjZjlkNjc4MzQxYzYzY2MyZjRjZTU0MmE4MDM4MWJjMjgyYyBsZWdhY3ktdHJ1bmsKKzU3NTI2IDVmZDY1ZTI1MDg0MzU1ZWI1Y2EzZTJjMzYwM2Y0YzhhMGQzYmYwZDYgcHkzaworNTc1MjcgNTZiYmQxNzY3MDU3NWYzMGEzMzJhYTU1Mzg2NDdiN2M3NGZkZmExMyBweTNrCis1NzUyOCBhNDBkZmI1MWRmOTE1NGIwOTg3NDQwNWMyY2Y1ZGMwZjJjMzY0ZjRhIHB5M2sKKzU3NTI5IDQyNmFkYmZmNDkxZGQ1NmIyODFlOWY0MzU4MzZhYWUxNzRhYmFmNzEgcHkzaworNTc1MzAgZDkxMTVhNDUwZjFjNjljNWI1NGFiODIyMzQwMWI5YzA0MWVjODVkOSBweTNrCis1NzUzMSA4MDM2NWRkNDU1ZmE2ODg5OTRmZGRiOTgwZTFlOWVlMTE1YzZkMmU1IHB5M2sKKzU3NTMyIDRjNzhjMDQ4YzNiYTA0ZGJhNDVkMDc0M2M3NGRlZTM5ODg0YjAzMTEgcHkzaworNTc1MzQgMjUxOTc1MTUzMmFmNzZiNjdhNDAzNmZjNDM1N2RhZTJjYTU0Y2FlMyBweTNrCis1NzUzNiAxOWRjMmVlYWNiYzExYTM3ZTY5ZDYzNzA1ZWRhNGMwMWJiYTFmNGIzIGxlZ2FjeS10cnVuaworNTc1MzcgOGUxMmQ1NmRkNjAzZWFjYWZkNDNiOTg5NDQwN2E0MDdmZmFlY2RjMiBsZWdhY3ktdHJ1bmsKKzU3NTM4IGJiNjI0OTJiNTg0ZWI2ZjU1NmYyYTNlMjk3OGMwYWI0ZmIzZThjNGUgbGVnYWN5LXRydW5rCis1NzUzOSBlNjQ4NDg1Y2YzYWZlMjY3NTczMjZlMzk3NDA1Y2YwNmFkOThlMDI0IGxlZ2FjeS10cnVuaworNTc1NDAgZDVmYmI4NDNiMGE5ZGQwMjlhNmQ5NzRlYmI4OGY2ZmFjY2Q2NmU1MiBweTNrCis1NzU0MSBlOTQ2MTAwYmI5ZmQ5Y2YzYjNlYmI2NDMwZWZkZThiNWQyN2YyYjUzIHB5M2sKKzU3NTQ2IGRkMDY3MGM2MDFkOWFiYWI0NjViNWEzZGFmMDllOTliZThiMWI3NmEgcHkzaworNTc1NDcgOTA0Njk3YmU2OGNjYjU4NTczNzBjMTM3NWFjNTk0NzhlNTVlNWZiNiByZWxlYXNlMjUtbWFpbnQKKzU3NTQ4IDI1MmE4NDI4MGI3MzJhZWE4ZWY0OGExODBhY2QxZjc2OTViNTdhNjcgcHkzaworNTc1NDkgOWIyOTQ4NDZkMjBkMGJhZjk3YWNmMDFlYjVjZWM3YTM4NTA0NGViZCBweTNrCis1NzU1MiAyYzAyYmE3MjcxNGI5NDRlNmRlMDU0MzY2ZDNjYTNiZjM3NDQxNjBjIHB5M2sKKzU3NTU0IDZiNDc4MWRjODFmZmZjY2NjOWE0Mjc1M2RlZGEzZTRiNWZhYmNmOTAgcHkzaworNTc1NTUgNTk0Zjg5ZWMwNjA3NzllMjc5MDEyNmVlNDllN2VkYzUwZWM4YzQ5ZiBweTNrCis1NzU1NiA3YmY4ZjIzMzllYzY5YmZjMmRmNjg5NjFiNzkxYzc5Mzc1OTRmODk5IHB5M2sKKzU3NTU3IGUyZmZhMGNkOTdiOTdiZmM3NTVjYWUyYjU0NWU4MmJiNmY5ODhkNTcgcHkzaworNTc1NTggMDAyMGJjNzg0Yzc2OWY4YjBlYmRhMDMzYjQ2NzQ1NTM1YjU2MGI3YiBweTNrCis1NzU1OSBhNDk2NjVmOGQyZjRkMDcyMzJjYzU5Y2FhMjY2N2UyMjFhNWNhMGMxIHB5M2sKKzU3NTYwIDE5MTk2Y2NlMTQzMTMwYjIxM2ZlODkwYmEzMWYwODQxOWM3ZjljZmMgcHkzaworNTc1NjEgYzA5YzMyNjRhOTAwOTUwYzdlY2Y1OGJhZDQxMTZkOWI3ZWEyMmUxYyBsZWdhY3ktdHJ1bmsKKzU3NTYyIDYyODc0YjM0ZDk1ZDk5YzcyZDNiYTE0ODRmMDI3MDlkYTQ1OWIzNTcgcHkzaworNTc1NjMgZmIzMjZmZDlkMTg0MmQzY2Q4NzFhZmU4MTYwOWM1ZDAxZTI5Y2E2NiBweTNrCis1NzU2NCBjZDIzNTAyN2U2NGMzN2JmMmU0ZTYwZmYwMTVjNGY2NTc3ZGMzYjM5IHB5M2sKKzU3NTY1IDdlYThhNmNjZGM0MmRkMTRlNjFlNDRiMDc2ZmFlZTQyMWYzNzI0NTggcHkzaworNTc1NjYgYjk3ZmE0MDU1MzQzOGRkNjQzNDdkYWEyNDBjZjIwMmJiZDg5MTNiYiBweTNrCis1NzU2NyAwMTcwNDE4ZGFkZWFiYjNlZWM3ZmUyNDE4NTAzM2E4NTRhOTg3MGVkIHB5M2sKKzU3NTY4IDU4MDVmZTE3Y2IyZGM2MDQxZWRhYmQzM2ZmZDRhY2M3ZGQ3YThhMzkgbGVnYWN5LXRydW5rCis1NzU2OSA3YTYyYzI0NjlkZWEyZTRlOWMzZjY5NDY1ZjM5MmZlNjY3ZWUwMmNjIHB5M2sKKzU3NTcwIDI0YTA1MzI1Njc4YjEzYWUzZDFhYzFmNWI0YjlkMDg2ODE5YzNkMGIgbGVnYWN5LXRydW5rCis1NzU3MiBjYjI4ZTE0ZWU4MDgwZDUyOGUwMWE5NDNhNjJiMTljZDM0NzlkYzlkIHB5M2sKKzU3NTczIDA0NGI2Mjg1ODE1ZjE4YjIzMWQxMzUzYTc5OGU2Y2I4YThiMTU2OGIgcHkzaworNTc1NzQgNzk3MzEwNDAyMTdiNWY2NWVmNWJlNDU0M2FlMTUwMjVmOWMxMjgzNiBsZWdhY3ktdHJ1bmsKKzU3NTc1IGUyMGQ1YjY0MTg5Yzk0M2ZmMGQxOTQxZGEzOTYwOTc4ZDlkNzQ3NmMgbGVnYWN5LXRydW5rCis1NzU3NiAzZjBmMWM3NzVkOWQ0MmZhMTgwYzNkNWJhMWQyOTI5MTdlMDBlMmVlIHB5M2sKKzU3NTc3IDlmYjgzMzFjZWMyY2ZlNzNkZTc1MzRmNTdkNzVmOTY5MGE2OTExY2QgcHkzaworNTc1NzggOGUwMWYyNjI2MmNmOWU0ZDAwYThiYjdkNDMxZWRjNjczYzc5MWMwYiBweTNrCis1NzU4MCA5MjIwOTMxZTQ3NDFiZjA0Zjk2NzVhYWY0OGJlMGI0MjIzNjM3MTJkIHB5M2sKKzU3NTgxIGM3MmEzY2MyMWVmNzNlMTMyMzUyYzI5ZjMyM2M5ZTIxYTQyYjU3MDQgcHkzaworNTc1ODIgYWVjYmY1Njc4NzA0NWMwOTY4MzE4MWQ0ODU5NTM0NzJmYTQwNjJmNyBweTNrCis1NzU4MyA4NzE3YjRmOGUxZTVlZDgzMzA0NDFiYmRiMjU1OWMwMTdiZTZiMDFlIHB5M2sKKzU3NTg0IGIxMTBiYWM5ZGY0MDkwMjNiNzRiMjBiNmY2NGM1YmI4YjJjNTMzNWIgcHkzaworNTc1ODUgMzg0ZjlkOWM3NWEwMmZmZTg2N2EwMTQyYjEyNDI2YTZiY2JlOTE5ZiBweTNrCis1NzU4NiBiNGIxNGM0YmViODJjYWI4N2UzYTM2NWI1M2FjOWQwYmMzOTdlNTMxIHB5M2sKKzU3NTg3IDAwY2JiMzNjYjg2NDBmOGZkZDc5NjgzM2ZlY2UwY2Q4MzcwZGJkY2EgcHkzaworNTc1ODggZmQxZmNiYTVlMTZiMDU2MzJlMDA1MmM2MmMxYzY1MGJlYzBhNmE3NSBweTNrCis1NzU4OSBmM2IwYWM0ZTY4NGY5ZGRjYTk0NThkZjBiNWIzNGI3NGYzMDZjM2M0IHB5M2sKKzU3NTkwIDdiZTBlMDBiMDM2NmQ5ZGRjYWM3ZWQ4MzhmYTU5NzYwYjQ1NWZkM2IgcHkzaworNTc1OTIgMTFlYzQwOTdmYWZlNzE1NGExZDNiYmYyNDJiYjQ1YWY1YWZhMmNkMiBweTNrCis1NzU5MyBjYmQ1MGVjZTNiNjEyYzA4YTY2OWQyMGNmZTNkODM1YTI1NWIzOTczIHB5M2sKKzU3NTk0IGFlZTIxZTBjOWE3MGYzOTA2MDNkZGVjYjVmY2YxZmZlYTg3YTY3NGIgcHkzaworNTc1OTUgYWEzOTUwZjExMWQ5ZjEyYTRhZDBjMGIzNzRjMTU0ZWI5NjkzNWVlOSBweTNrCis1NzU5NiBiODQ2NWYwMmZjYjFlZTZmYzI0NjU1MmVkMDAyMDU1NDkxZmM3ZTZkIHB5M2sKKzU3NjAxIGZkZWYzMmJiYmNiODQwNzlhZmM5M2JmNzZlMzAzODUwNjI3OTllOGMgcHkzaworNTc2MDIgNDlkY2UzZGEwZTgwM2NmM2EyZWMzOTY2YmI4ZjJjOTU5ZTI3NWU5MSBweTNrCis1NzYwMyBlMGI2YjYyODdjNmIyM2Y3YjM5NjRmMTQ4NjJhNTE1OGM5ZjVjNDNlIHB5M2sKKzU3NjA0IGJjOThhZjk3MjY3OGQ4OGViNzM4YmIzZGFmOWM0NWM2NzdjNDNhOTUgcHkzaworNTc2MDUgZTgzNmMxMmM1NGMyZjQ0NjBmOTNmMmI5MjU3YWU4MWI1MmZhOTdjMiBweTNrCis1NzYwNiA4M2MxMzFkZmRkODRjMTg4OTRjY2M4MzFkZGIyNjhhYzhmODg1MTQwIHB5M2sKKzU3NjA3IDFkZmU2ODViODU3NmJmZWExODRhNWRlNWViZjU4NDcyYjRlMWUxNjUgcHkzaworNTc2MDggMTcxYjlmMTVjMjIzYTRiZDllODhlZDFhMTdiMDk1ZDVhZWRjODQyOCBweTNrCis1NzYwOSAzMjQzMjBkOTQ2MTAyZjEwYjliMWY5Y2FjNzk0NTU3YTNiNzA4NGNhIHB5M2sKKzU3NjEwIDcyYWZhZjlhYjMwYmE3OWJlNTQxNzI1YTgwMDllYjdjZWViMTg5N2UgcHkzaworNTc2MTEgOGIwNmY1MTQ3NDQ1ODYxOWYzYWFiZDQzYTExZTg0MWI0Y2M2MjBkZCBsZWdhY3ktdHJ1bmsKKzU3NjEyIDY4ZmUzNTA5MDc1OTI4MTg4MTI0ZjY0Nzg3MWFmNGJhMjBkYTEyZTIgbGVnYWN5LXRydW5rCis1NzYxMyA5YTEzZThmYjFhM2I2Y2M5Yzc4ZDY0OTZkYjhmY2UxMDA0ZTJmODdlIHB5M2sKKzU3NjE0IDk2ZGExYjlkZWU4ZGIyYzE5NjY5NzM5Y2IyZDBjNzA0MmVmMTNjZGUgbGVnYWN5LXRydW5rCis1NzYxNSA0ZWNiYWUwNzQ4MWYyMTRhMTFkZDUzOTk0NzEyMDg3ZWRmNDNiYmQyIHB5M2sKKzU3NjE2IDNiZjJjYWQ4ZjIyYTljZTEwMTc3MmVkYTdmNTllMGIwMjFhMTkyMmQgbGVnYWN5LXRydW5rCis1NzYxNyA2NmUzNmNlNWE1NmM2ZjI2MmFhMjEwZDEwNGUzMTBmMmQ0MzJkMWE0IHJlbGVhc2UyNS1tYWludAorNTc2MTkgOTYyMDEzNDAxMGE1YWQyZTU3ZjlhZTFiZDc2ZmMzY2UyYjdhMmY0NyBsZWdhY3ktdHJ1bmsKKzU3NjIwIGQxNzg5ZDRmZjAwYzZlYzY2ZTBjZjM5ZWYzYTRmYmU3OGJkNWU3YWMgbGVnYWN5LXRydW5rCis1NzYyMSBjYWFkMzVlODIxM2I4YTdlZmQ3NGYxOWI1NWI2MjUxMTMxY2M1M2Q1IGFsZXgtcHkzaworNTc2MjIgMWVkYzZlMTdhZTE4NWQ0MjBkNzJjNjcyZDE4MWE1NzFmODM2YzRjOSBsZWdhY3ktdHJ1bmsKKzU3NjIzIDI1YTg5M2Q2N2M2NDE4NDMwNTk2OWNkMTYwN2M1ZmVjNTU5YWFkZDYgZGVjaW1hbC1icmFuY2gKKzU3NjI0IDI3ZjAyODliNjgzNTFjZThjNDJmYmIyMTcwZTFhYTFiMDc4YzI0NmIgcHkzaworNTc2MjUgMzA1MTEwNjhkM2Q0ODJlOTE0ZTZkNjU1NDM5MjZiNzI4MzRhOGI1ZSBweTNrCis1NzYyNiBlNmE5ZmNkMWI0NGU4MTU0ZmIyNWFkOWVhN2E4NDA5NmI4ZmRkOTljIGxlZ2FjeS10cnVuaworNTc2MjcgNTMzZmI1MzIxZDZiYzFkNGMwOGVjMGMwYzM2MzYxNDc2N2YyMWY2MSByZWxlYXNlMjUtbWFpbnQKKzU3NjI4IDhiYjFmZTFhNzJhNGEzMmI1ZTgwYmZlNGU0YTY3NGNhYzFiNjc5MjAgbGVnYWN5LXRydW5rCis1NzYyOSA4OWM0ZmY5N2ZkODkzZWNhMDc1YWNhY2ExMjQ1NTlmMTExZTY4N2ViIGFsZXgtcHkzaworNTc2MzAgZDY5ZDgwNjAwY2YxNzIxNzY2NWRkNDI0MzA0NjBjNmFhNDk4MmNmMyBhbGV4LXB5M2sKKzU3NjMxIGZiMmNmNmU4Y2Q4NjExNTM5NzM5Yzg2NzkyMzUxNmZkY2FiOTRmYWMgbGVnYWN5LXRydW5rCis1NzYzMiBkZWMyZWM4MjY4NzQxMTdhYjA5MzQxOTlmNjRhYzhiMDk3ZDBjZTQ4IHB5M2sKKzU3NjMzIDFhMjMwY2I3N2YwNWNiZWM2ZDU1MGRhNzY3ZmZlODAzMGQyYWZiNzkgbGVnYWN5LXRydW5rCis1NzYzNCBiOTJmYjI0YzVkNGI1MDYxYjYyOWQ4YzE1ZDAzZTliNTgwMDliZmRhIHJlbGVhc2UyNS1tYWludAorNTc2MzUgYjJkZjQ0YjljMjUxMzQ4ZDdmMThlODRhOGJmZDVlYWIzZThhMTI3YSBweTNrCis1NzYzNiBhNzk1MWFiYjg1MzRiMzEwMmI5NjA1N2I4YWFjNjM2ZmYxMGEwYjcyIHB5M2sKKzU3NjM3IGQxYTE3Y2QyNmE0YjAyY2ZlZjA1Y2RkMDc1MzRiMzFmNGZhZWQ4MTEgcHkzaworNTc2MzggMzdiZWFlMDlmY2IwZmQ1ZmVhOWIzZGM3OGExMzc0ZmM5MzVlZjdmZiBweTNrCis1NzYzOSA1MGI3ODdjYmE4ZjFjZDZkNzVhNmY2OTdhY2E4NTVlM2FmNjVkZWJlIHB5M2sKKzU3NjQwIDcxM2ZiYTM0ZDY2Yjg4YjQxMWRmZTY3OWRlMTkwNzExNjg5Y2ZhYzYgcHkzaworNTc2NDEgMGU1MTBhZmY1ZTlhZTE1NDJiODNkMGZmM2NiNTJkYTA4MzM5YTM5NSBweTNrCis1NzY0MiBjYjVhZTAyMGEwNjBlYmE3NmI4OTBlZTI5NzA1YjQ0ODdhYTQ2MGQwIHB5M2sKKzU3NjQzIDlmNzRiNjk5MDU2YTQ2NTZkNzdkYzIzZTc1YzBkMjhiNzc4ODM3NTcgcHkzaworNTc2NDQgMDVjNDczOGY4YTQzYzczMzBkNzI5ODM2MTIxYmU5OThhZWNjODRmYiBweTNrCis1NzY0NSAxY2U4OWYyNTc4Y2Y4MWRmYmM2MDEzNzYxZDAxMTVhNzJhNTQ1NWQ1IHB5M2sKKzU3NjQ2IDBlOTA2NTEwMjYyZDFhOThlNDk4YjE4NWQ2OTEwYjg5OGY4YThkMTggcHkzaworNTc2NDcgNzFjZDU1OThiNzRkNmQwYjgwMGE4MTJiNDllMGJlMDg4ZTdiYzZiOSBweTNrCis1NzY0OCA2YjNlOGFhNTRkZDlkOTE4Nzk5ZDQxZjdhYjE3Y2I1Y2ViZTM5MzMzIHB5M2sKKzU3NjQ5IDU0MmI5YjExMTkxNWNlZDY0MGI1OTZmMDJjZWNlZjYwYjA4OWRjMDcgcHkzaworNTc2NTAgZGY4ZWY5YzgzNzFhNDU1MDI5MDg0OWUyYTU0NzAzOWQxYmM4ZGI3YyBsZWdhY3ktdHJ1bmsKKzU3NjUxIDgyNjAyMzE1ZWFlYjllNzEwZWVlMTE1MGEyZjllOWY0N2JhY2RmY2UgbGVnYWN5LXRydW5rCis1NzY1MiA5ZGY5MTFkNjU0YWZjYmM0YjI5NWM4YTNlZjc0OGQwYmUxZTAwYzZlIHB5M2sKKzU3NjUzIDBmODJmYzQyZmQ2ODFhZjkyNDk0YjFjMWQxZmY4ZWVmNTU3ZjI5ZTMgcHkzaworNTc2NTQgN2ZkZTZlZGYyYjkyMDEyODI2NWE4ZDViZGYxY2JjYzM4YzA1NTE5YiBweTNrCis1NzY1NSA3OTE5MWJkZmEyM2I1MmMyOWFhZDY4MTk5ODk1NDE0YTAyMTIwNjYxIHB5M2sKKzU3NjU2IDNhNTZlNzNhZTkxOTU3NDU5YTEzMzliNDU5NTgzMGM1OGRjNGNlNzcgcHkzaworNTc2NTcgZjQ4NTFkYzBkZjA0MTc0NTc2ZjEyMDFkNjFiMGVlYTVhYzE0YzBmNiBweTNrCis1NzY1OCA3MDczZjQ4MTQ3YmRhZmMwYjBiNDhmOGU0MWU3YjMyOTk2YTY4NmUwIHB5M2sKKzU3NjU5IDRiZWJiMjI4MTdjZmVlZGIzZjI1MDY2OWNmNWQ0YWEyYmJmOTNkMjggcHkzaworNTc2NjAgMGQyOGE1MjBjOWIxOGVhMTk2YzE3MGIzYTdkMjliMjIwMWE0OTQ1OSBweTNrCis1NzY2MSAxNzIyNDU5MjVhZTYwM2QxNjEyZGFlZWRiYTA5NDE2YzFkNTZmY2RkIHB5M2sKKzU3NjYyIGEwMzUzMjYwN2QxY2E3YTgzZDE1YTBjZTc4ZjE5Yzk3YTUzYjZiYmIgcHkzaworNTc2NjMgMzNlODdmOTcwYTIyYzAzMjM5NTJkOGY4OWQxZmE0NTJmMmEzZTZlOSBweTNrCis1NzY2NCBlY2RhMzMwNTE3MzlkOTZlOWFlZmRhNmEyMzNiM2VhZDY2MDM0NjFiIHB5M2sKKzU3NjY1IDk4ODU0Yzc2MjljOGUwMzNmM2Y4YzM0NTkyZjU4ZGEwNjM5MjRhZmMgcHkzaworNTc2NjYgYWJlYTU2NTMwNDA0OTk2NWM4YTg4MjJkZjA5NDNjODA3ZTk4NjZlMSBweTNrCis1NzY2NyAyNTBhOWQwN2MyY2MyYjZmMzgzMzM1ZjJlMjdhOTBkOGQ2ODVmZTI3IHB5M2sKKzU3NjY4IDRkNmMxMzQ0MzQwYzJjNzJhMGJmMzQyMGFmODYxYTU4ODg2MmI2MzUgcHkzaworNTc2NjkgYjkyMjZjYWQ5ZGZkYjA4YmRiYzdiNDFkOWUzMGM4YjUzMDk1NTk3YyBweTNrCis1NzY3MCBkY2QyODVjMDc4MTM1YzU5OTM4NTgwZDM4MjBkMzEyNzQ1ZjNiYjIzIHB5M2sKKzU3NjcxIGRjMGYwZmZkNDI1NzI4ZTcyMDc4NjQxOTNiNmNmNDUzNjVjZmY2MTUgcHkzaworNTc2NzIgOTZiZGUwODgyZTVmNGE0Nzg0ODA2YjVjNzI1OTNmMzAxMDQzMGVmNSBweTNrCis1NzY3MyBlYWZjOGIyMzU4OWQxM2EwMDg1MGI4MTNlZTVlMmJiNjQ0MTA0OTI1IHB5M2sKKzU3Njc0IGUxNDJjZDRiNTcxMDFjNWMyMzRmZDI5NjM2NTZlZWU5YTU0OTdiOWQgcHkzaworNTc2NzUgY2Q4MGViOTg5NzI4M2YzNTgzYTZkMmI3NjZlYzhlMGFiMTAwMzdlNSBweTNrCis1NzY3NiBhYTU3Y2VlMTE2MzEzZjZhZmUxMTk1NTI2ZjcyOTNiMDMyMjdjMDYyIHB5M2sKKzU3Njc3IGI3NTRjMDkwODg5N2ViYjI2MzkyZDQxZTgzM2I4YmRhNTAxOTAwNTggcHkzaworNTc2NzggYWM4YjM4OWYwMDI1ZDczN2I0NGNkNDI4NzkwNzY3OWQ5ZjI0OGIxYiBweTNrCis1NzY3OSA1ZmRlNWQ2OTY0ZDdjZDcxOTQ1ZWYzNjdlNTY4Yjc1MzBiNzFhOTU5IHB5M2sKKzU3NjgwIDQ3NzE2MzlmYzA0OTk2MzlmY2Y5NzExOThmMDg0ZTdkZTUxNjBhYjkgbGVnYWN5LXRydW5rCis1NzY4MSAwN2Q2N2E5NzI1YTc4ZTFiMTY3NjAzOWVlODA0MTI3NWYxYzE5ZGZjIHB5M2sKKzU3NjgyIGFiODllMTMwZDY0YTg0ZmFkZjMxZDYxOTk5Mjc3OTc5Y2Y3ZDgwNTUgcHkzaworNTc2ODMgNmUzNWM3YzE3NjA0ZTZhZjI4ZjBlMjdkOTZiNWM1MzE1NGI4YjJiZCBweTNrCis1NzY4NCAwZGNkN2YwODczOWFjODA3Mjc0NTI0ZmZkOGIzMWQwNmE3YzU3YjYyIHB5M2sKKzU3Njg1IDg4YmI0NTlmZGJmNTdjNzI4NjFmOTAwMDEzMGJkNjBkYTAxNjdiMTggcHkzaworNTc2ODYgOTgzNDMwMWEyZmQzZTAxNzg3MmZmMTNmYTlmYzEyYjU4N2U0Mzg4NCBweTNrCis1NzY4NyAwY2Q0MDFiZjJhYTdkZGFhNzRiZjAxZTMyNTEzZWUwMmJjYWFlNGU5IHB5M2sKKzU3Njg4IDk1MDg0ODExNzM5N2Q3MjRkNDQwY2ExYTlhYTc2ZGJiNTAwZTdjZDQgcHkzaworNTc2ODkgMDEwNGQ3OTlkZDQ0NTQyYjI1ODEyMmNiMDE0ZmRkNWMyYmZhYWUyOCBweTNrCis1NzY5MCAxNjU5MzRiYzQ0Mjk2MTA0NjA3NDI0OTNmOWEzYjYwZmVhOWQ4YTQ3IHB5M2sKKzU3NjkxIGQ1ZjNjMmY0MTZmMmE4OGIzZTRjNjY4Y2MxMTcwMmU4OWFhODAxMmYgcHkzaworNTc2OTIgOTA3YTQ1ZGYxMjk1M2E1OGFjYThiNDRkZTYwN2IwNzVmM2JkYWE2MSBweTNrCis1NzY5MyBhMzQ2NDRhNjU3ZjVhMjZmZjZkNTJjNjU0ZmVkNDI5ZTlmMjU0YzMwIHB5M2sKKzU3Njk1IDM5MThhOGE1MWJkMTk3ZThjZmM1MzFkYjRhZDA2MDVlZjJjNDQ3NzQgcHkzaworNTc2OTYgOTUyYmY2YTQ0YzI3N2Y3MDM5ZWY4ZTBmNGE2MzA2NTE0NjJlM2E5MSBweTNrCis1NzY5NyAxMzIxYmEwYjY3MGYxMDEwMjA3NGU3ZTA1NzY0ZGM3OGJiZTA3ZGFiIHB5M2sKKzU3Njk4IGI5NmNhMzUwODkxZDFkYTJmMmVmM2I5ZDkzMGE1N2JmZmM2NDNmNzUgcHkzaworNTc2OTkgYTZkMzkzMGI1NjEzODBhYTZkYjNjMThjYmQyNjUwNDRlYTk1YzViYyBweTNrCis1NzcwMCA5MDc1NzEyZGVlOGZkNDg2ZTA3NTdiMTU3YzAwZjg4MmM3ZGExODZjIHB5M2sKKzU3NzAxIDgwNzdlZTQ5ZmFkZmRjZDM2YjFlMDNmZDMzOTU4OGI5MmU0OTI2NmMgcHkzaworNTc3MDIgNzA4MDMzZWQ5NTE1OTQ4ZDAxM2ViOTZjZWM1ZDE4M2M0NDM4MjQ5NSBweTNrCis1NzcwMyBjYzBmZTA1NmJhYmRmNWE5NmY0MWEzOGUyOTFhMjlmZDY4OTExYTI0IHB5M2sKKzU3NzA0IGFjMmQ1ZDM0NjI1MmEyNDQ3NDk3MGVmZjU0MmJmYmQxNzI5ZGU3ZTQgcHkzaworNTc3MDUgYjVkOWMxOTVhMGM1M2E5N2IyNWRkNTMzMzhiZTI3ZDZlZDMzYzI2NyBweTNrCis1NzcwNiBlMDkzY2E1NTljMjNjZWJmZWU3NjUzYWRmYjg3ZWRjMzdkNzhkMTIyIHB5M2sKKzU3NzA3IDhjY2Y2ZjRjN2YxMjU2ODU3MDRlN2Y1NGFiNWQwNTA4NDQ5ZmYzMzggcHkzaworNTc3MDggNDI3NTQyMDhhNjU0NGNhMTkzNjRmNDQ3Y2NkYThjOTRmM2Y5YTQ1NCBweTNrCis1NzcwOSBlODJjODBhMDQ0OGQ1YjU2NWM2ZmMzNWEwNjUxNWMwMjg3N2E5NDlhIHB5M2sKKzU3NzEwIGNjN2U5MTRhMjJkOWNjNzQwZjZjMjk5ZjgzOGRkZDQ2MzlhZTA1ODQgcHkzaworNTc3MTEgNmUxMDEzYjkyM2UzYzFjODJhYzA1ZWIxYzFiOTY2ZDFjNTg5ZmVkZiBweTNrCis1NzcxMyBmZmE0MjMzZGU4NjYyMjdhZGEwZDI3NGRhNGQ0NTRhOTk4MWFiZTk2IHB5M2sKKzU3NzE0IDk2MjQ4MzJmMzE1NmYzNmY3NzdjMWNkZjdjODEwZGM0ZGFkOTViMWIgbGVnYWN5LXRydW5rCis1NzcxNSBhMTEzNjczMTdjYTBmY2NmYWU5NGQyMTlkMjY0NjNiOTRlYjk4MWEzIHB5M2sKKzU3NzE2IDhiMGIxMTQ2ZDkwODA1ZGU1NGI4OWQxZmQ2ZjFiZDY5YTFhY2Y5ZjggbGVnYWN5LXRydW5rCis1NzcxNyAxMTMyMjBkYWNlNjQ2YmIzMTBiNzUzY2JhMzdkZTQwN2RlODJhODBlIGxlZ2FjeS10cnVuaworNTc3MTggMzlkOWU1MDAwZTdjZjRjMmNhNDViMGQwM2RhMDVlYzU4MTA1OGRkMiBweTNrCis1NzcxOSBkZjUzYzU3NmM1MzFlY2UxZDQ3YmMwNTFkOTQ3NjY3NjM4OTNjMDA3IHB5M2sKKzU3NzIwIGI2ZTMzYjVlYWM0MGZhZTA1MmUxYWMwNzBkZjljNzNhYTg5NmQwYWMgcHkzaworNTc3MjEgMDhmN2E2YjI1YzhmMmJkNDY2MDU3MmVkNWE3OGZmNWU3MjkwZDc4NSBweTNrCis1NzcyMiA2NTAwYzhiZDdmZWFiNzA1MDE4N2Y1OTc1Mjg3OTJmNTFjN2JmZDE3IHB5M2sKKzU3NzIzIDNhN2JkYjBhNTk0ODJiYTAxMzFhYTU4ZTYzMzQzODEyMzc0YThlMjcgbGVnYWN5LXRydW5rCis1NzcyNCA1NmFmZGQ2ZDZjZjc4ZTkxYTI2NmMwMmFjZmIwOGY2MjU0YmVkY2Q0IHB5M2sKKzU3NzI1IDIyN2NjZGQwZjhkYjdhZjI4YmZmM2Y3Y2E3NjU5MGM3MWM5ZTI1NjIgcHkzaworNTc3MjYgOTczZGEyZWJjMmQwZjM3ZDBhZDA1Nzg5ZWIyMjZkZjM4MDljZjI0OSBsZWdhY3ktdHJ1bmsKKzU3NzI3IDZmY2I4NzNmMzk2YzY4ODlkZWM1OWE3YWE0YTc5MDgxZDc0NzE3MjAgbGVnYWN5LXRydW5rCis1NzcyOCBkODNjMmIyMWFjMjZlYzJlY2Y0MmU4Y2M0NWM3YTI2M2JjZDljZmRiIHB5M2sKKzU3NzI5IDdlYTY4ODg1NjJkMWQzODQ3MDMzYzExNjZjMzE1ZTBjODRmNjk3YmUgcHkzaworNTc3MzAgM2JmMWI4YjM0MDgwMzJkOTA3Y2FmOWY1NGM2NTIyYjlmYTIwNGRlNiBsZWdhY3ktdHJ1bmsKKzU3NzMxIDdkZmVkMWNmZTc2MmM1NGU2NDQ1YTBkMTY0MWZlZmZkNjZiMjEwNTkgcHkzaworNTc3MzIgNWI3YWFmYWRmMjIzMDE5NGRlNGU1N2VlYjI0NDg1OGJjZDUwYzM5MSBweTNrCis1NzczMyAwYTM4YzEyOTcxN2EzMTU1ZTc2YTliYzQyNmNkZWQwYzM4YzAyMTZmIHB5M2sKKzU3NzM0IGQ2MDM2N2ExMzE2ZjQzOTBkNzc4MjUyODJlM2E0ZDZlMDQzOGM5NmIgcHkzaworNTc3MzUgNzgzZWE2ODIxZTA0NzFhMzU3N2M4YTk0YTlhN2Y5ZDg1ZjYwNWI3NCBweTNrCis1NzczNiAxYTkwMWIxYzdjZDMxODYxNTI3MjVhNjFjYjE3ZDNhNTRjNWVlM2Q1IHB5M2sKKzU3NzM4IGU3YTM5MGEzNmVjOGY3M2JjMDQ4MTFjOGQ0ZTI3OTUwNjc2NTQxNjkgcHkzaworNTc3MzkgMDJkMWI1ZTdiZWY1NjhmY2EyYmFmNTMwMDY2ZmY5YmY4YmI3MTk1OSBweTNrCis1Nzc0MiAwOTNmZDg0ZmE3N2M0NTQ5M2RhMTdjMjkzODVhN2UxM2I2NDU4ZjNkIHB5M2sKKzU3NzQzIDZjMjAzYjdiMWUwYTExOTdjZmQxYTc2NzNlZjFlZWM2M2RlNjFiZjQgbGVnYWN5LXRydW5rCis1Nzc0NCA2YmJlY2MwMjhiY2UyNjZhMDcyM2M3OTc3NzA1ZTY2YmE3ZWExMmUzIHB5M2sKKzU3NzQ1IGE1NTMyNGM5NjAyZDYyMWZhZTNkMTExYjU1YzdmZTYxMmI2MWRmMTggcHkzaworNTc3NDcgYmVhZjY2MzA4MTQ4ODRmY2U3Mzg3YTdhNjE4ZDYzOTFkNzE2ZWZhZCBsZWdhY3ktdHJ1bmsKKzU3NzQ4IDY2YTVjNGJhOTM4ZWFjYWRmNDQ1NWZlMWIyZTY3MWUzNDBjNzc1YjggbGVnYWN5LXRydW5rCis1Nzc0OSBjNGE5NmRlNWU0NGU1OWY4Yjc4OTYxOTY4NWZkZDc4YmY1MmM5YWZiIHB5M2sKKzU3NzUwIGZmOTE4ZmNjNTdkMmFhMzkzMTAzM2RhODZkNWUxNTA1NmU1ZmY2NDEgbGVnYWN5LXRydW5rCis1Nzc1MSAyMzM2NDQ5NmRmMzEzNzRjMjUxMTEzNjJkZDY1NzBlMTcyY2Q2ZDAyIHB5M2sKKzU3NzUyIGRiOWExNzYxOTBkMzYwZDc4OTUxZDJkZWNmYjBmYTJiMGIyZGUzNmQgcHkzaworNTc3NTMgNTA0YzE1ZjA1ZGYzNTQ0YTM5ZjZlODMzMWMyYzczYTM1MjQ3YWFiYyBweTNrCis1Nzc1NCAwZmQxYjRlMmY0ZWU1OGFlZGRkZGM3Y2EwNjMxOWEyNGEzNGQ4NWI0IHJlbGVhc2UyNS1tYWludAorNTc3NTUgZGNlZGQzMmYwNmRlMzcxMWQwZDUxZDRlNDI5MTc4ZGQzMWJlYzQzMyBweTNrCis1Nzc1NiAzZTNiYzg0MTIyZDdiZjdjZjRkMWVlYmRjYmU4M2E2Mjk1MTIzOWFkIHB5M2sKKzU3NzU3IGJmMTFlZDQwYjEwNThkYjRhMDI1ZDc0NDQ3M2UwZjdkZGU4ZGVkMDcgcHkzaworNTc3NTggODdhMGZkY2FhODRhNjQ0OWRmMmRmMTgwMjgyZjk1MWJlOGI1NzdmZSBweTNrCis1Nzc1OSBhZTkwNDIwZDI2MzU1ZTI3MTgxZTkxNGQ3MmI3MDZkM2VlNDhjNTZiIHJlbGVhc2UyNS1tYWludAorNTc3NjAgNjhmOGIyMzkzMjQzNzdlMmZiZDUxMDExMzAyM2MxNGQxZTlhYmM3MSBsZWdhY3ktdHJ1bmsKKzU3NzYxIGFmYmY2ZmQ3Nzk4MDc5ZGUyNmRjMjE2ZjFmYmFhZmJlMTY0OWU5OTEgcHkzaworNTc3NjIgMjBkOGQxMWM5YjIxMzgxZjVjODY5YTU1YThmYjJlYmUxOWE0Y2Q3MCBsZWdhY3ktdHJ1bmsKKzU3NzYzIGNiMjUwYjA0NzNmY2I2Zjc2OTkyY2M2YjA2ZjBiMzJmYmFkYjZmZjkgcHkzaworNTc3NjQgNWQzMTRjM2U5OGVkZTU2ODVmMDQ2ZDAwYTg5OTY0NjZlNDY1MmNjZCBsZWdhY3ktdHJ1bmsKKzU3NzY1IDhkZmQxODA4MzU0MGQ5MGJlYThmOThlNDNjNWM5N2JmMTY4NmViZTIgcmVsZWFzZTI1LW1haW50Cis1Nzc2NiAxYmNkZWExZGM4Yzc1MGY3ZGM3M2QwYWVlYWZkNDBiODhkZjVkZjc3IHB5M2sKKzU3NzY3IDJlM2MwMmM2MjVkZWFjMzcwNWEzYjcxMjZmMGMyYjA4MDg0NzU5NWEgcHkzaworNTc3NjggOGM4OWI4YzQ4YjZjYjkwZmUxZDU4ZGYxMDg1YTIxYThlOTY2OTFhOSBweTNrCis1Nzc2OSBhNmJkM2RhYjNlYjhjNGVjNGEwYjZjOTY1ZjkyYWYwMzg2YzIyYmFjIGxlZ2FjeS10cnVuaworNTc3NzAgOTJlNDdkMzM4ODRlNDdlODlmM2E2YjEzNjc4MDVmMzg0MTEwMDA5YiBweTNrCis1Nzc3MSAxZDU3ZmI3ZWZiMTViMGRiYTRiNjc0MGMxNzM1NjBmODk1MTc2MTU5IGxlZ2FjeS10cnVuaworNTc3NzIgZGQwNjg4NzQwZDI0M2RiODYzOWZjOGI3ZGM4MDg0MDdhODE5N2QyYyBweTNrCis1Nzc3MyA0YTA3YTI4OGY1YzQ5YWY0ZTNhZThhMTgyNGJiN2IyZjA0MWRhMWUxIHB5M2sKKzU3Nzc0IDY5ODkwNmMyZjQ2OTEzMGFiYjA5ZmFlZGU3ZGZhODE4Y2Y0NTEyY2YgcHkzaworNTc3NzUgYTlhY2MwNmRhNTdhYjQ0NDA5NmM3NWUzYTA3Y2FkZGJkMDkwNmY1YyBweTNrCis1Nzc3NiA1NGRlZjE4ZWIzMWZkZmQxNmE1NzExZDc1MzYzNWY2OGU2YjI1MjQ1IGxlZ2FjeS10cnVuaworNTc3NzggNDQ0MWMzODc2NTBkOWM4NjMyMDM1ODNmOGQ5OTU4YTVkMTUyZDljYSBweTNrCis1Nzc3OSA0ZTZiNGJhNjBjM2IyODQyMGJhNGUyYzViZjE2ZmUyMzhlMTI0MzUwIHB5M2sKKzU3NzgwIDNjNDMyOTQzMWJiYzQ4ODJiZjllZTNjMzgxZjE0MzA5ZDdiZjBjOGMgcHkzaworNTc3ODEgMzJmNmRkOTVkMWJhN2NhN2YyYjI2MjAxZDAwYTI3NTA0ZTgwZGFkZiBkZWNpbWFsLWJyYW5jaAorNTc3ODIgZTkxZDJiZjcxZmRlZDg3YWMzZDEzMWNiYzRiNWEwYTliMjRmMGY1ZCBkZWNpbWFsLWJyYW5jaAorNTc3ODMgOTgxZWNjNTI2NzAzMDNkN2QyMzFmZjdhYTk1NWRlZjI3MThkNTU3OCBweTNrCis1Nzc4NCBkMmU5ZGFkZWRjYzZkOWFjOGEyN2U1M2UzMGQ3NmQzYmJiYjRmZTIzIGRlY2ltYWwtYnJhbmNoCis1Nzc4OCBkZWU0Yzc4ZWE5MTBjODRiZDE4YWIxNmQ5NjkzMTE0YmRkNDNlMmI5IHB5M2sKKzU3Nzg5IDY5MWI1Y2NlZjBjODExYmJmYjFkNDU5Njc1Njk1NjRhN2VhNzcwN2QgZGVjaW1hbC1icmFuY2gKKzU3NzkwIGRkNmNmMDBjMTc5NDk0YTdlY2NjNzkyOGFlMjMxNTg2YmZiOWJkZmIgcHkzaworNTc3OTEgOWZiMDMyN2IzMTEwMDkzYzlhNDIzNTNkMjU4NGExNzdlYmM1MzlhZCBweTNrCis1Nzc5MiBlZWQxNWVjNmI3NTk5NWJjZTUwNjVlYjU1Y2Y5NjFkZDQ1YjdkZmJmIHB5M2sKKzU3NzkzIGE4OWQ0NjllMWZmNzc3MTY5MTRjZTFhNDI0NGZhNTI5YTcxY2U2OGEgcHkzaworNTc3OTQgNTdlM2Y2ZjBhNTg4YzAyZjI2MTJlZTMwOTkyNDVhOTIyOGQ1YjhkYiBweTNrCis1Nzc5NSAwMTM1ZjBlNjc2YmQwMWI0MTEzYWFhNDZjM2NlZGZkZTVhNTdkZDUyIGRlY2ltYWwtYnJhbmNoCis1Nzc5NiBlZWU1YmRkMzcxNTg3ODQwOTJlNGMyZTdmMmYzODA5NjM0NjJiMDE3IHB5M2sKKzU3Nzk3IGNkYjdiOWY4MmNjNDU2MDg3ZjgxYzU5NGE4MDQ2YmVjYTY2MTg5MjIgcHkzaworNTc3OTggN2IwMjM3Y2JkMGVkMTE5NDY0MGY4ZTBmODE1Mzk0MDdhNWE2YWZlYyBweTNrCis1Nzc5OSA5MGM3MTViYzdkMzA1ZGEzZDE3MzczYTY3Zjk1NGY3YTdmZTk5NzFmIHB5M2sKKzU3ODAwIDdlYzA0Y2IyNjJkMjFlMjRkZTQzYmU4NGRjYTRkMjAyZDgwMDgxYjMgcHkzaworNTc4MDEgODQ1NGEyYmZhZTA0NDU2ZjBmNDUwYjllMGFlMzMyMDcxNmY2OTIwMSBweTNrCis1NzgwMiA5NWQ2ZmUyZThlMGU5MWYxYzkzNmEzZGJmMzA5YTg0NjNhOWVmMjY5IHB5M2sKKzU3ODAzIDBjZjcwMDQ2NDE3NzZkNzIzN2RmNDE0MWIxNDZkNjRmOGZjYWExZGUgcHkzaworNTc4MDQgN2VhMTM2N2JhMjc1ODhiNDJiZGVjZTA3YzRlN2ZkNjA3MGY2YjYzZCBweTNrCis1NzgwNSA4OGFhYTM4MGYwOTE3YzI3MDA3NGQwYWI4ZTJlNzliODdlNTA5NjdiIHB5M2sKKzU3ODA2IDE0ZWU2NzA1NTdjZjAwMDgwMTU1MGMxNzZhZjQ0MGYxZjUwYWU5OWMgcHkzaworNTc4MDcgZmVjMmMwMjk5YThjYmFkMjFiMmRlZjkzZmE4NjFiODc5ZmU3ZjQ5MSBweTNrCis1NzgwOCA4ODM0ZTY1NjgzZTdiNDEyODdkNmQ3ODRmYmJjYjhiNDQyZWJjMDQzIHB5M2sKKzU3ODA5IDM0MjQ4MDMzMzdhMzcwZDY5OWNmMjE2YmZjYmNkYjEzOWUyY2E1MTIgcHkzaworNTc4MTAgODVhNjc4NTc5OTgzMTQxOGI2YmZiYjczNzgxMDkxZWRmNmZlYTgyMCBweTNrCis1NzgxMSA3Mjc1Mzk4NjVmMDQ2NWNjYjk4NTU4MDk4MThiNjZkN2FhYjQ5MTZkIHB5M2sKKzU3ODEyIGVhOGI4ZTNkOGM5MzI4N2UxMDUyZWI5NGI2NDM0ODAyYjQxNDNhZTQgcHkzaworNTc4MTMgMzQ0OTFkYzE0M2U3Y2Q4NDZjYjNkN2QwM2U4Y2FhNWUxNjAwZWRjMCBweTNrCis1NzgxNCBlMTQwNTVlODJkYjk5MWViNzU3NjlhZGI1MDA5MWVmY2ZkYWRiNDg2IHB5M2sKKzU3ODE1IDIyMWZmYWRjMWE0YzI2OTUwMDg5NmExNmVhMzJiN2QzM2IxYWRiODYgcHkzaworNTc4MTYgYzkyZDQyNmVlZTc1MWI0MWRkMWQxOGI1OWZhNzk5ZjJjMTFkNGMxOCBweTNrCis1NzgxNyA0NzI5MGNhZjdlOGU4M2QxODdiMTRhNWE3YTRhZDU2MDk4YTFmN2M3IHB5M2sKKzU3ODE4IGQxNWQ5YzZiZWRhN2ExMDRhNDZlYWVlMTliMzkwYzUyZTI1YTI1ZmEgcHkzaworNTc4MjAgNWZhNWIyMTMzZmViZDhhNDc1OGRlZTRkZGExMGI4NTA4ZjA0MzY0YyBsZWdhY3ktdHJ1bmsKKzU3ODIyIGJjMThhY2Y4YjYxODJkYTE5ODk5MmRlM2M2OTQ0OTM5NjEzMDEyNjYgcHkzaworNTc4MjMgNDMwNzdjMjc5ZDE3Yzg2NmUzZDllNjVhOTI0NGFiZTkyNGMzYzRkZCBweTNrCis1NzgyNCBkNjdiOTRmNDlkZmNjY2YwM2E1ODhhMzFiYjYxMDVjMzdkMWE0ZDNjIHB5M2sKKzU3ODI3IDk5OGQ3NTdmM2ZiMGFlOGI1MjE3Y2NjYjMyMDA0ZDFlNTMzMmZkNGQgbGVnYWN5LXRydW5rCis1NzgyOCA5NThjNGNjNTk5M2UxZTZhMTA0ZDE3ZjgwMjBjOGY2MjdiNjlmNTVhIHB5M2sKKzU3ODI5IGExMmEwMmI5ZjY0OWRhY2M3OTZhMzQ3MTg5OWNlNGI0NzI0N2Y2MGIgcHkzaworNTc4MzAgMTEyNmU3ZTg1ZjE4MDQ1ODg2YTE1OWMwOGQwYzNlZDViY2ViMDk2ZiBweTNrCis1NzgzMSBiNWYwNmU1N2EyNGY0OTg1YmVhZDIyNjg3MjY5M2MyMWUzYTZiMTNmIHB5M2sKKzU3ODMyIGY3Zjk0NDM3NDQzOGMwM2MzNzY4M2ZkNjJjNzNiZmIxY2M5YTEzZDQgcmVsZWFzZTI1LW1haW50Cis1NzgzMyA3MTEyNTI0MDJiMmY1NjczYTZmMzdhYTkwNWY3NWUyNmM2ZTJiMmZlIGxlZ2FjeS10cnVuaworNTc4MzQgNzcwMDBmMjY0MWVlOTE2OTdhMjIxNWNkMzZiYzJjZjA3NWM5Y2FmZCBweTNrCis1NzgzNSA1YzMwZjE1YTZiODc5OTdiYjkzNTQyOTVkNjdlYTk3NWM5MDE5ZTg0IHB5M2sKKzU3ODM2IDIzNjFhYWVhZmNiY2M4NTllNmNlNWQyMTQ0OTQyZDM1YjM0N2I0Y2YgcHkzaworNTc4MzcgMDgyY2VmM2JlMjliMzM5ZjNhNTVkYWI3MWJkYmRhNjk1MWYwNmJiMSBweTNrCis1NzgzOCAwNmRjNDMyMWE1NmEwYjM5OWUxMzA3Mjc5OThiOWIyNjRjNmJkNDA2IHB5M2sKKzU3ODM5IGE3ZDU0NDAzNTNjMzVkNDM5ZjhjM2MwODJkMjVmN2JiZWQ5ZGY5OWIgcHkzaworNTc4NDAgZmZiMTAwYmUwMzEwZGE1ODRmNjhmNzYzZDQwMjBhZmFmZTBjOWU4MSBweTNrCis1Nzg0MSAxYmI2M2EzMmE2YzhkOTFhZjk2NmVhMmM5MzU5ZGU1YjVkNWFlMTc2IHB5M2sKKzU3ODQyIDQyMzE0ZDdkNjA4M2Q0ZmVhZjMwMzFiOWI4MzFhMjg2MDE2Y2E1YWEgcHkzaworNTc4NDMgYTZmM2JjMjE2YzM3MGJjNjhhZTgzMGY4NGMwMGMxOGMyMWYzZmVmMCBweTNrCis1Nzg0NCBiNWUwZjc3MjEwMTRhNmM0ZTE5ZDRiMTJmZTI5ZTY1Yjk4ODk0MTZkIHB5M2sKKzU3ODQ0IGNkM2Y3ODNjZDA4YTE2NzgxZTIzNmMwYjljYjU3MTdkMWQ5OTVmYTkgcHkzaworNTc4NDYgMzM1ZWY4NmE4YzVjYWM5OGM4ODE5NTIyZWJlMTJlMDY0M2UxNDYxZSBweTNrCis1Nzg0NyA5ZmYxMTI2ZjA5NmMyYTc1ODI3OWUzZmU2YWJmNjFlNWI0YzMwZDg5IHB5M2sKKzU3ODUwIDhjMWMyZDViZWQzMjI2ZjVkMDM1YWQ3YzJiNjMzZjFiYjc1MTEzMjcgcHkzaworNTc4NTEgMWQwZjRiM2VlZmFiMzc3MmM0MDAzNjJhNjc3ZGJlYTExOTliZDlkYyBweTNrCis1Nzg1MiAyMGFiZGI5MTZjZTMyM2UxOTUzZGJlYWNhZTkwY2M5YWZjZDc0OTVjIHB5M2sKKzU3ODUzIDI3NWY4OTRkYmYxMjFjNDA0OTYwYTMwODNmMzRiOWRkNWY1MDllZGYgcHkzaworNTc4NTQgOWNmYWQ5YTVjODNiMzgwZTJkY2U4NGVlNGU3ZWI0ZTI1ZTZjNjcyMSBsZWdhY3ktdHJ1bmsKKzU3ODU1IDlhZjljOGE3MWJmZTgzZDJmYTg4OTUxZDNiNDdhMTEwYmE0ZDQwMzAgbGVnYWN5LXRydW5rCis1Nzg1NiA0N2M4ODBlNDhiZjZiMmU5MmNlZDRjNzk4ZGM4ZDg1M2FlZjA0YTc2IGxlZ2FjeS10cnVuaworNTc4NTcgZTliNjczNmMxNjMyMDg1YjZkNjZkMTM4Mjc2ZjQzNmVkY2M1MzI0NiBweTNrCis1Nzg1OCA2NmM3NTFlODFjOTBlNmQ0NDk2NWEzMGE5NmZkNTc0ZmZlNzIyYjFiIHB5M2sKKzU3ODU5IDUxYWZjMWQ1NjVmODMyYmZkMWQzZWQ4ZjMyYmY4ZDY1ZWEzNjYyMDYgbGVnYWN5LXRydW5rCis1Nzg2MCBiZDk5ZmVhZmY5OTU4Y2I2MGIxMGFmYTViZDE3MDA0ZTQ3YWJmYTkzIHJlbGVhc2UyNS1tYWludAorNTc4NjEgNjIwZGNhNjc1MTM3YTE2NGQwZDRhNjI1ZjRhMjBmOWQ3NjVhOTdhOCBweTNrCis1Nzg2MiBlZTFiM2ViN2EwMTM2ZGNjMTI2OTMzYjVkNGUzY2E3MjJiOTJjMzc2IHB5M2sKKzU3ODYzIDBhMGI4MjI2NTcwNjIyODJiMzhlNzNmYzZiMTE2NWYzODdmZDI2MTUgcHkzaworNTc4NjUgYmVkMGY1MGVjNzBiN2Y5ZWY0NWFlNjhmNjgxMWY5YWM5Y2JlMTNkOCBsZWdhY3ktdHJ1bmsKKzU3ODY2IGQ4NDI0NTdlNGIwZTM5ZmIyYjEzMmUxNGYyMmNkZWRjYTQ1ZmU0MDYgcHkzaworNTc4NjcgYmYzYzk0MjEzZDVkMWUyNDM1OTM3ZTJjODVlZjhhOGQxNDg4NTc3MyBweTNrCis1Nzg2OCA1ODNlNDFkMTI5NGI0YTUzYTAyMGY3YmM3YTAxY2Q3NjZjYzQyMDk1IHB5M2sKKzU3ODY5IGRhMjg1ZDNiMDY1YWMyYWQwYWIwOTdmNGVkNWI4Mjc2ZjY2YTgyY2UgcHkzaworNTc4NzAgODA4ZjMyYTBkOTljMmUwMmM0Y2NiNzM4YWVmZTM4MzNiODFmYWU2YiBweTNrCis1Nzg3MSBiN2JmYTc4MGE4ODI4ZWM2NjVkMjA4Mzk0ZDdmOTU0NDhlNjNlYzYzIHB5M2sKKzU3ODcyIGY0ZDJlZDUwZGU4NTlkOTFkOTQwNGM3MjJmYTM1YjMyYWNiYzk1ZmQgcHkzaworNTc4NzMgYzRmNjNiYjRkMzhhMmM0M2Y2NjU5NjlmN2VhNzk2Njg5MWI0YjQwZCBweTNrCis1Nzg3NSBhY2FjZThlYjBiZDgyNmQwMzBjOTBiNTcyZTIwNDkxMzczZDk2YjZkIHB5M2sKKzU3ODc2IDllYmE2ODllY2YyODdkYzc3M2UzZjk1Yjk1NWRiMTI5NDdlYzA0ZjEgbGVnYWN5LXRydW5rCis1Nzg3NyAzMjBjNmJlZjhkMzBjMjlhOTY5ZGU0OTkwZmI3NGMyMWM1ZDg2NjU5IHB5M2sKKzU3ODc4IGNhZjBkN2UzYjI5YTVmNmY4ZGM3YmVlMTUwYzE2ZTg4ZjUxZjhmNzQgbGVnYWN5LXRydW5rCis1Nzg3OSBhZDNkNWFjYWNmMDNkZTcwYmY1MzhjZTRjODdiOTZlZTc0YWY0NTI5IGxlZ2FjeS10cnVuaworNTc4ODAgOWIxODMzZmM1YzdiMjA3YjJjYzYxMDQ1ZWNlNmFkNjZjNDg0ZmMxZiBsZWdhY3ktdHJ1bmsKKzU3ODgxIGNlM2EwNzEzNTFmY2NkNTBkYTc3ZWNlOTY1M2E4OWM3YWMyMDg0NDMgcHkzaworNTc4ODIgMTRlOWI4N2I3NTNiMjc5YjM3MjI1OWJmYjI4NzlhNTU3YzE3MTI4ZSBweTNrCis1Nzg4NiAzODZjMjJkOTNhYjY1YjYzYjA1Y2FkODkzOTQwMDA1OWY2Nzk4N2ViIHB5M2sKKzU3ODg3IGQ0NDI5ODRmMjkwYjljMjVlMGRlMjg3Y2QxM2U4OTNmNTE0ZDBmNTYgcHkzaworNTc4ODggM2FjMjM3YmNhNWVlNTM3OWMzNWZlYmY4MWE1NGVjNGRiNGVkNWRiNSBweTNrCis1Nzg4OSBkODY2NzJiZGU2NDA2NTY1YWRlZWM1MzBlMTgwZTVmNGFkNjM3YzViIGxlZ2FjeS10cnVuaworNTc4OTAgZWExODQ1MTM2NjBiNWQyODE2YTdmYTc4MmQ1ZDJjMWI0M2ZhNjYxZSBweTNrCis1Nzg5MSAyNzliOTU2YTNhOTYzNWRmMWI2NDFiODk4NmQ4OTE5NDE4ZmZmOGRiIHB5M2sKKzU3ODkyIDE0Nzg2ODhmNDU2NTg3YTUwZWRmNTk5MTg0NzNkMTU0OGUyMzViZTggbGVnYWN5LXRydW5rCis1Nzg5NSAzNmY1NmEzZWYzNmY4MDkwMWMwNjUwYmIzOTg4M2FmNTI2Yjc3NTJiIGxlZ2FjeS10cnVuaworNTc4OTYgYjc1MTZhMzQ2ZjBmMzk4ODQzMTRjM2I2MGQxMTRkMDI2NGQyN2YwZCBsZWdhY3ktdHJ1bmsKKzU3OTAzIDFiMGQxNTQ0NGNhNWQ0MjZkZjhhMTAxY2E0YjkxMGE2MDNmY2ZmY2QgcHkzaworNTc5MDQgY2UwY2IyZDg2OTE5OWRmOGI3MmI1ZDg5MzVmOGY1Y2YyYjdhZTBiZCBsZWdhY3ktdHJ1bmsKKzU3OTA1IDFiNWIwNTQ2YTdkZDJkOWNkNWIxYjI4YzRjNmEwZjlmZTU2M2M5NTkgcmVsZWFzZTI1LW1haW50Cis1NzkwNiA0NjNiMzQxYTlkNjMxZWM0ZGYyMzg0ODcyM2Y2ZjhkMTVhMWNhMmU4IHB5M2sKKzU3OTIzIDQ5MDI2NzFkZDY3ODUyNzg5YTBlNjFmZDI3NDBmZmRlZDFlNTI5YzQgcHkzaworNTc5MjUgN2M2ZTdkMTlmZjUzYmM0ZWQ4MjY4NjYxYWJiYzYxMDYyYzIyZTM3YSBsZWdhY3ktdHJ1bmsKKzU3OTI2IGI1ZjUzNWNmMTM1ZmM5ZGM0MjBlYzkxMzRmZjkxOGE5MjE5YjZjZTAgcHkzaworNTc5MjcgYjUxYWMyZDJkNTM4YmRhMGY2ZjU3ZGQxZWVhMDNjODhjZTcwMTAyMiBweTNrCis1NzkyOCA1NjRhZTU2YmQyZGE2MWM4ZjI0NWUzOTk5YTBmYmM1OTE3NDhiZDI3IHB5M2sKKzU3OTI5IGY0ZmI3NGY2MzgwNjdmM2QwYzQ5MTM3YzNmNjRkMzI0NDE0NDQ2M2QgcHkzaworNTc5MzEgZGQwYzY1M2JhMjlmMjMwOGYyNjJjNjhmNjM1OGY5NzlmODQzMjMzMyBweTNrCis1NzkzMiA1NzhiMTc0NjFmNmI2YjlhYmExN2IwM2RjOTIxODU0ZmZjYzFiMzdlIHB5M2sKKzU3OTMzIDExOTkzYmNiMGJhM2QxZDlhNDZiYTkzOTM0OTZhMDMzOWZiZGUzODEgcHkzaworNTc5MzQgNDM1OTc3NzhlZjJjYmM1MTMzNGRhMWI5YjJmNTdkYmQ5ODBjYTE4OCBkZWNpbWFsLWJyYW5jaAorNTc5MzUgN2ViOTU0MzUxYTRmZDdkZDQ3N2YwYjUwNmZjNGNjZjI2ZWU5ZmUzZSByZWxlYXNlMjUtbWFpbnQKKzU3OTM2IGM0OGNkNmUwNmFjYTUzOWQwNTI5MDc2NzYwNDUzOGJjMGZjYTBmN2IgbGVnYWN5LXRydW5rCis1NzkzOCBhOWZiNjVjOGVhY2IzODFlZTI0OGMxNTUzYjkzYzUwZWY3YmRlYmY0IHB5M2sKKzU3OTM5IDQ4ZWU2MzlhNzVkZDcyZmVkYWQxOTRhYjQzZWU1ODA2YWQ3MGQ1ZmIgcHkzaworNTc5NDAgZTI1M2IyMDQ1MjUwNjlmZWVjNGZjM2IyMWJhMDY2NDJmNmZmN2I3OSBweTNrCis1Nzk0MSAzY2JiNGY5MjIwZjQxOTI1YjEwOGZmYjdhYWEzMjRjZDdhNmE1ZTdhIHB5M2sKKzU3OTQ3IGEzMTFhYjJmYzFhNzAwNTE1MGE0YmZmNDUxYWNkMDA3YzgxY2UzY2QgcHkzaworNTc5NDggMzQzNmRhZjQ1NTE2YWU3OGM4YjIyZmYzNTA1MGQ3YWI0NWUyNzk5ZSBweTNrCis1Nzk0OSA0MjhkOTIxODA0ZmE0M2NkOGU2MWM0YzQxOGI4ZjMyNjZlODgxNGQ2IHB5M2sKKzU3OTUwIDY1NTA3MWJmNmM0NWM2ZDg2NWI0NDNkNGE1YzlkMTEzNTYyYTFjMmQgcHkzaworNTc5NTEgYTFjYzliNTg5ZTIyMmVmMjk5YzE1Zjc2MzE4NjA1OTk1NGYyYTU1OSBweTNrCis1Nzk1MiBiYmQ0ZDI5NmY3NGFjZThmMjhlMmI2OTRmNGFkOGZiZjg2MjE0NTg2IHB5M2sKKzU3OTUzIDk3OGM0MmI1MzhkMWM5YjRlOTI4N2M3ZTFjNzFlY2IxMmI4ZDc5YWQgcHkzaworNTc5NTQgMjA1MmY1NGNlZDQ5NjYwYjI4OWY0YzI5MTg4ZmU4ZTQyZTc2NGIyNSBsZWdhY3ktdHJ1bmsKKzU3OTU2IDAyOTRiYjJlOTVkZTMyOWJmNTkwNzlkNjI2YjJiZWJmNjNlYTYzZGQgcHkzaworNTc5NTcgMzhmM2Y5ZWYxOTNkMmFhNDQ5M2MyODFjYzRjMWNiMjQzNzNiNTMyNiBweTNrCis1Nzk1OCA0N2Q5MmRiN2NkMTAyMjJjZDdmYjEyNjc3OGJlOTEyYjM3NzczZDc3IGxlZ2FjeS10cnVuaworNTc5NTkgYzlhYzViOGU0YTgxNjk1ZWRmYzFhYzhlNDIwODM1MTgyOTI5MzIzOCBweTNrCis1Nzk2MCAxYTBjNzM1ODA2NjVlZjZkNDE1YmEzNjZjOWI1MmM1M2NlYjY5MGViIGxlZ2FjeS10cnVuaworNTc5NjEgNmEwNDhmZjMwNDg4ODc4YTJmZDIzOGQyZDkyZTI0ZTA2MmVkMDVhNiBsZWdhY3ktdHJ1bmsKKzU3OTYyIDQyNTEyN2MxZDExM2M0ZmFhYWYzYWIzYmVmMDA5ZTEyYjg3OTQ5OTIgcmVsZWFzZTI1LW1haW50Cis1Nzk2MyA4ZTcwZmQ2YTdkY2IwOTUyM2VmMDRlZjRmMWU1NjVkOTY1Y2QzOTdlIHB5M2sKKzU3OTY2IDA4MWUzNjIzMjVkYTY4ZTNiMzc3MTNjZTI1NDBmODhjYzI0MmQ0MTMgcHkzaworNTc5NjggMzRiYzYzOGFjNzA3NmVjMTViYTE3M2ZmZjVlNWU5NTc4NjI5ZTAwMSBweTNrCis1Nzk2OSA0OWQ2ZmE5OGRjNzgxN2Y1MTA1YzA3OWVlZTQ0ZDU2ZTdmZGFjMzgxIHB5M2sKKzU3OTcwIDc5MDRmYmFmYWIzZGU1MDg2NTRmZjkxMWNiMDM5NDc3ZTM5YTJhMjEgcHkzaworNTc5NzEgMzQ4NDM1MGE0ZjY5ZGYzNzY0MjI2NGQyYjJjYjE4ZGJiZGRmNWE0NSBweTNrCis1Nzk3MiA4MGZmY2MxNjFiMzBjOGY2OGIyODk5OGY1YmY1YzliYWM5OGNkYjU2IGxlZ2FjeS10cnVuaworNTc5NzMgNTNiOGZjMDc5MDc3ZjQ4YmVhYjFiOGMyY2ZjYzBmMzU5MzU5OGZiNCBsZWdhY3ktdHJ1bmsKKzU3OTc0IGM2YjExMjNlMGU2Y2E0YmUxZDA1MjBmMDI2MjBiMTk0ZjA0ZTYxYjcgcHkzaworNTc5NzUgMjk0ZTM1NDUyZDI1Nzk4NTI4ZTRiNGJhNTY2MmM5MTU4YzNiZTdjNiBsZWdhY3ktdHJ1bmsKKzU3OTc2IGU5NDYwNzNkZWUzOGIwNjVkNmFkZTcwNjBjMTA2MzI0Mjg4Y2I3MWYgcHkzaworNTc5NzcgZTZkZTlhZGQ3YzA3NWJjOTcwZmM1YTJkZjQyYWI2ZjQ0M2ZkZmMxZCByZWxlYXNlMjUtbWFpbnQKKzU3OTgwIGUyYjRmYzk2MDgzMGZjMjJiZTFmN2E4NDU3MzlkZGMwNDI5NGUzODkgbGVnYWN5LXRydW5rCis1Nzk4MiA3OTA4MGM0ODg5YmMyN2U5NWQ4Y2M5YjIxYTc2YWJkYmU4ZjI4M2U1IHB5M2sKKzU3OTgzIGNjNDQ0Mjc1NDUxMDVlMzIzYTExNzMyYTg1ZWE5N2I4ODdkZmUyODggcHkzaworNTc5ODQgZDMxMDQ3YTFjZTE5NzY4NGYyZjU1Mjk2Yzg5NzE1ZWUyYmYyMDJiZSByZWxlYXNlMjUtbWFpbnQKKzU3OTg1IDQ1MzEyMjBlNTBiYThjMTRmYjE3YWEwMzMzYmI5NmJmMmU3MTE5NGMgbGVnYWN5LXRydW5rCis1Nzk4NiA1ZmQwNDUxZTc0MDYwOWZjNmE5ZmJhOTcwZTU3YzU5MWU0YWIyYmJlIHJlbGVhc2UyNS1tYWludAorNTc5ODcgN2ZiOWNkOTFlNjQ4NjFkM2RlODkzNWU2YTNkZDQ2ODhiMmNjNzgzZSBsZWdhY3ktdHJ1bmsKKzU3OTg4IDcxYzNlNWI2OWUxNGU3MWRlMzM0NWQ1NTUwMzc4OTczODhhMzRmM2UgcHkzaworNTc5OTAgM2MyYTRmNmFjY2Q1NmFkZDQzOWZlNmFjNTY0NWQ0ZGVkYjBiZGM5YiByZWxlYXNlMjUtbWFpbnQKKzU3OTkxIDU4YWY2Njc1MDE5ODYyZGFiNDQ5YWI2NDU5ZjhmNWE4OWNiZTlkOTcgbGVnYWN5LXRydW5rCis1Nzk5MiAwOGUxMDU1NGU0MzAzODA3MDM2YTkxODQ5MzU5ODU5ZTBmMzdiYTM3IHB5M2sKKzU3OTkzIDkxYzk5MDExZDA2OTQ0YTYxNzAxODNlYWJjOGZkYWYyZDA0NjhjYTggbGVnYWN5LXRydW5rCis1Nzk5NSA3MmE5NmU2YTdjMmZiYzViYjhkZTE4NGFkZWVhYjBjNjAxZGEzYmM4IHB5M2sKKzU3OTk3IDg4NTgxM2NjYmY0NTRjYzBkOTNmNTk2NmUwNGYyMTViMDdkNmRjMmEgcHkzaworNTc5OTggYTRiZDhhNDgwNWE4MDI0NzcxNmYxODFiZjhlZjdhNWVhYmIwYzJmMCBweTNrCis1ODAwNCAwYTMxZDFjNDVhODkyYmE5ZDBkZDNkNTMxZWZkNzE3Yzc0OWYxM2FiIGxlZ2FjeS10cnVuaworNTgwMDUgODg3ZTFmZWFiZGJkZTZhYzlhMTZhNTAyODE3MDY4ZWIwZTEyMGU4ZiByZWxlYXNlMjUtbWFpbnQKKzU4MDA2IGZkYzY3NWNiNWU4YWVjMDM3ODc3OGFkOTQ0ZmEzOTYwZmRmN2VlNjEgbGVnYWN5LXRydW5rCis1ODAwNyBiZThmN2QzY2Q3Y2MxM2IyZjZkZjZkMTlkZGY3OGNmZjc1MGNjMmZhIHB5M2sKKzU4MDA4IGZjYjAyY2I5NmNhMjAxYzE3MjU1NzMxMWI3MzU1MDM4ZWM4YTAyN2UgcHkzaworNTgwMTEgYjRhMmYxMGIzOWQyMGYxMjIyNTU3YjcxODFjMGZjNjE1NTI5NzA4NCBweTNrCis1ODAxMiA3OWRkYTU2OGY0MjVhMzkwOTg0YWMyOWUyZjE0MGUzYTYwNjgzZWQ3IHB5M2sKKzU4MDEzIGFjM2ZjMmFlNGFiY2ZmMGRlMWQyMjA3YmJlMGM3N2NlZTcwZjQ4ZjQgbGVnYWN5LXRydW5rCis1ODAxNiBjNzZhY2E0ZTEwMGRlMTE2MmY0MjdmZDcxYzE2NTQ5Yzc0ZWNlNjQ2IHB5M2sKKzU4MDE3IDdjMmY1YzYyZjhjYTBkOTM3MzNmNjUwMjc4Mzc5NzQ5ZTA1ZGM4MDEgcHkzaworNTgwMTggZWRmYmNmMWZmNzM0MDc1MTBlNmZkNjM3ZDUwMjZiOWZhYzk3NjRhNyBiY2Fubm9uLW9iamNhcAorNTgwMTkgYzljNjE2NWY3YzBkMWUwNGNjNmI3NDhkNWMyYzQzNTg1OGNlODZhNyBiY2Fubm9uLW9iamNhcAorNTgwMjAgZTdmZDFmZDkxYzUzZmFiNmRhODU0ZDI4ZGU2YzgwNTQzOTE0NmZkYiByZWxlYXNlMjUtbWFpbnQKKzU4MDIxIDJkYmE1YWM4Y2UxNTlmMWUwN2JhMmE0MzY4MWEwNWU1MzRmYTEwMDMgbGVnYWN5LXRydW5rCis1ODAyMiBiYTA4ZjdmMzZlOGVkNGMwN2Y3NDM0YmMxMGViNzk2MjVjNTc2NDE5IGxlZ2FjeS10cnVuaworNTgwMjMgNTU2NTY5YWIzZjlkZDg1NTUwZDhmNzE2MzFhYmMxYTkyNGYxMTllMCBsZWdhY3ktdHJ1bmsKKzU4MDI0IDE2Y2I4NWZlZmM1ZDAyNWUzMDRlNTFjMmQ0NGJkNWM1Mjg1MDcwNzkgcmVsZWFzZTI1LW1haW50Cis1ODAyNSAxYmM0YThkNTdiMzEyOTg1ZjRmMjljZDU1N2VkN2UyMDQ3YmMxZjI4IHB5M2sKKzU4MDI2IDcwNTI1OTM1NzRiZjQ3YjQ0MzM2Nzc1OTAwMmZiNTAzYWU2MjA3ZjIgcHkzaworNTgwMzEgNTdlYWJiMDUxY2ZkY2FjZWM4Zjc3YThhNTlmMTE1NTg5MDZhMzNiNyBsZWdhY3ktdHJ1bmsKKzU4MDMyIDNiYzNmMTJjYWUyOGYwMmIzNTcyYWEyYmU3ZmNiMjUwMjVlZjA3ZTUgbGVnYWN5LXRydW5rCis1ODAzMyA4MGQyZGFlYzYxY2M4Y2FjNWFhY2Q5ZGQwZjU2ODI1ZTQ5YjI1NDc3IHB5M2sKKzU4MDM0IDI4NzE2ZGQxNGJjNWZhMjcxNDJjYTU3OWVjYWU3Yjc4ZjI5YWU2OTkgbGVnYWN5LXRydW5rCis1ODAzNSA3ZGFkZDIxZmE4N2MxMmIwMjlhOTU2ZDY5MDNlYmYzYWFkZTRjYzA2IGxlZ2FjeS10cnVuaworNTgwMzYgZjYyODU3NTMzY2JlYWEyYjk0YWFhYmI4MDMxYjg2NWRhODBkOWZiYyBsZWdhY3ktdHJ1bmsKKzU4MDM3IDRiMjEzNGU0NzMwYzIyZDVkMTcyMTJlM2E4NWM0NGVlNzAzNTI0MDYgbGVnYWN5LXRydW5rCis1ODAzOCAwNmY2NjgyYjIxNjZlMzA3YzJhYTFmMmE3YjE5OGRlNjRiOGU4YjkxIHB5M2sKKzU4MDM5IGZjNDcwYmJlOGQyNDJiODdiMjgwZTU4MzYyMWRhOGJhMzZkYzEyNTMgcHkzaworNTgwNDAgMWY5ZWVlMDhhYjM1ZTk1N2ZmNTY1ZmZhNTJiYjAyNmY1MjEyOWI4NiBweTNrCis1ODA0MSA3NTVmYTUxODdkMWJjMTJlOWQ0MGI5NTMwOWMzNmNjNjBjNDE1Nzc0IHB5M2sKKzU4MDQyIDg4NWZiMTdjNWUzMTk2ODI1ZmZlNDc2ZmFiYzkzZjg2ZDYyYTNhZmEgcHkzaworNTgwNDMgZmE1NWQ0MmM4ZDljOGQyZTU3YTY3MjY2ZmM3Yjg5NTU3ODA5YTJjMCBsZWdhY3ktdHJ1bmsKKzU4MDQ0IGI4YTgyMDZjMDg0OTI1MDVmM2RkODM1ODE3ZDQ1NDE3OTg1NGE2ZmQgcmVsZWFzZTI1LW1haW50Cis1ODA0NSBiMzY3ZDZlNDIyMzE1YTkwNGJlNDVkODZmNjc3YjI1ZWFkMGYwNzQzIGRlY2ltYWwtYnJhbmNoCis1ODA0NiAxZjYyMjczNjVjMzZkYWJhYmFhMTgxOGE2M2M2YWYwNzBlN2FmNGM0IGRlY2ltYWwtYnJhbmNoCis1ODA0NyBlODVmYWEwMjE5MWM0N2M5NTBjMTk3MmIzMzdlMTdmODcyZTMxYWIwIHB5M2sKKzU4MDQ4IDA4ODFhYmFiOTM3Mzg0MWU4ZDY0N2YwMGFhYWZmMGFmOTBmOTkyMmYgZGVjaW1hbC1icmFuY2gKKzU4MDQ5IGZmYTA3NDdhN2NiN2EyMDYxNDcwODMyNDhmZGIzMjgwOTVlZGRmZjYgbGVnYWN5LXRydW5rCis1ODA1MyAyYWU2ZGIwYmM3ZWJjYmJiYzczMTJkYjZlMDNhYTBmNTU3NjQyNWQ3IHB5M2sKKzU4MDU0IDg3NmI3ZWY0Nzc1ZDhmYmI5ZTRhNWRhM2Y0NGYwOWE4MzE4NzljNmIgcHkzaworNTgwNTggYmFlYjY2Y2U3YjUxZGRiMzY3MmM0NTU2YzczMDRmYmRhMzRkZDRjYiBweTNrCis1ODA1OSA3OGYxYzMyOWM5ODM3MTNhNDFmMzFhODVhNDBlODgzNmZjNGMxZjIzIHB5M2sKKzU4MDYxIGEwOWVhMmNmZTc2YTMwNWIwMzcxMjljMWNkODE0OTVkMWY2MzcyZTYgbGVnYWN5LXRydW5rCis1ODA2MiA3NWNkNTQ4NjMyNTA5YTJlYWNhN2YwYzMwZjczODdhNmI1YjNkZWM3IHB5M2sKKzU4MDYzIDc2YzFjYzY3MGM2MzNlZmVkOTgxN2FhMDMwOTJiYjYwZWUwZjc3M2MgcHkzaworNTgwNjQgYTExYjQ4ODViNDQ1ZjI3ODBjYjgwNjM1MDJlNjViMjRjMWUxNTc5ZSBsZWdhY3ktdHJ1bmsKKzU4MDY3IGU4YWE3MjRkYTkwNTg0ZDM0MmJjODczYmZjZTUwNTIwZmE4NGUyN2UgbGVnYWN5LXRydW5rCis1ODA2OCBiMzU1ZDJkYmE5YjZlMjVhMzlhN2UyZjlmOTUyYjJlYzdhNTc2ODZkIHB5M2sKKzU4MDY5IDgwN2FkYzAzMDY1MzUxNTFmYzgxZjAzNjFlOTY4NWY4ODdmMmZhYWMgcHkzaworNTgwNzAgM2QxNDk2NDg5ZjU4NTFjNjBmNWU1NzA5ZTU1N2VhNzU2ZDg3YjcyOSBweTNrCis1ODA3MSA5MTc2YTUzYjRiNjI1MGVhYzg1MzZkMGNmMGIxOGExYWRmOGUwYzQwIHB5M2sKKzU4MDcyIGY4YTVmYmEzNWViMzZhZjM0YTliMDJmZjM4Y2IyOTI5YzhkM2I5OTAgcHkzaworNTgwNzMgNzViMjY1YzA4YzkxMGJlNWE4NWJjNDQzMDg1YTIxMzM4ZjQ0NjEzMCBweTNrCis1ODA3NCA5ZjdmMzE0NzAzMWMyNjg2ZGEyNmNkNDBhMTIwOWFjMDc2NjIzZjA2IHB5M2sKKzU4MDc1IDg3NTA1MmMyYjdiMzQ2ZmNkZmIzYzY0M2ZkMGRhZjdhNTFkZDMyODcgcHkzaworNTgwNzYgYjI3ZDM0OTE2MmJkZWVlZDE2ZGRjMzZlMDgzM2NmZjVlYzU1MmRkOSBweTNrCis1ODA3NyAwOTI4N2YyMDU1YWI1ZDhkZjE2NGVjNzk0Y2I4M2FiYmRjMzg4MDE4IHB5M2sKKzU4MDc4IDg3ZDQxMWViYmFlMGUyNDI3YTlhZWNhYmI1N2RkYjgyOGY0YTc2NmMgcHkzaworNTgwNzkgMDk5YWI4MjNiODRjNGExZWE0YWUxMGE3NWUzMTU4YmQ2NzcxZThiMCBweTNrCis1ODA4MCBmYTAyY2QyY2MzM2I4YjM5MzU4YmZlN2MwNTM2ZDUwNTNmNjA2ZDAzIGFsZXgtcHkzaworNTgwODEgYTdkYjllYmVkMjhhZDEyOWUwZDdiMGQyYTVmOWQ2OTk2NjA0ZDI3NyBhbGV4LXB5M2sKKzU4MDgyIGQ5ZmM5MjhkYjFmYWY1NjQ0YjU4ZjA5ZDU3ZDQ2NTY0YmYzODE5NjMgYWxleC1weTNrCis1ODA4MyBhNjY4OTc0MTlhMzRlZmE5NzhhY2FhMWMzYmUzYWQyY2Y4ZDFhNjBkIGFsZXgtcHkzaworNTgwODQgNWE1MWQxYjY1NjI5OTVkYTFlMmExOWE4MWY5Y2VhYmVjYmViODE3OSBsZWdhY3ktdHJ1bmsKKzU4MDg1IGQxNTUyYzE1MGU5MTRkN2JjYWMyMGI2ZGFiNDJmZjI3YThiZmMwYmMgcHkzaworNTgwODYgNjBmYjk4NjEyYTllN2RhY2Q2MmI0NWM0NjFjOTU4NzY0OWNmOWQwMCBsZWdhY3ktdHJ1bmsKKzU4MDg3IGNlYTZhODBiZmZiMjliMGY4M2YyOGJmNWQ0NmM1YjNmNzIyMGQ2Y2EgbGVnYWN5LXRydW5rCis1ODA4OCAzNGI1MDAwMWRkMmMzNTc3MjZiOWQ0ZDNmMDU5MzY3MjQ4OWJhMmY4IGxlZ2FjeS10cnVuaworNTgwODkgODYyYWU0M2NmYjJiMmUyMTZjZTgwYzZhZGM5NmUyMWRkOTAwMGIxNCBsZWdhY3ktdHJ1bmsKKzU4MDkwIDc4YTdiOTlkOWY0MmEwZmMzMTNiZjRhZmFiNjE4MmYzNGFiNjU5MjAgbGVnYWN5LXRydW5rCis1ODA5MSBjZWQyNGNjYzQ5ZGQ2YmIzN2U2YzgwZWQ0NTk5ZTZmMjkzZWM3YzQ3IGxlZ2FjeS10cnVuaworNTgwOTIgYWMxOThmYmQzNzAwNGZjYTgxOTRjNTVlMDA2OGU2Mzc2NDYxOGU3MCBweTNrCis1ODA5MyAyODJlMmQwYzI5MzcxYzExMzQxM2FhNzE3ZmMwYWM5NTAxZjcxZmQ4IHB5M2sKKzU4MDk0IDViZmZiNmM3OWMwNjExMjQwY2M2Y2UzOWZiYTI2MTE1MjhmYjI3ZjkgcHkzaworNTgwOTUgMjZhZTIxMDk2OWMwNWU3YmY1NGExNDMzN2ExOTI0NzQ5YWZiNjczZCBweTNrCis1ODA5NiA0YTZjNzg4MjI2ZjVjMmZkODExMWEwMzMwN2UzNWNkNjdkYjQ4ZjcyIGxlZ2FjeS10cnVuaworNTgwOTcgMTkzMDIwYmY1MmRjMzU2YzlmNjhiZTRiZTU2NzNlOWI3YzJlMDY2OCBsZWdhY3ktdHJ1bmsKKzU4MDk4IDFkYWQ1OGUwMGMzYTUwYWQ3Zjk2NzNlMDcxNjE0YmJkNGYwMjNiNDAgbGVnYWN5LXRydW5rCis1ODA5OSAzMzgxN2RhNTNmZDc0M2E5NGU5NmE3NjU0OWZjZThhNmQ4MWI0ZGI1IGxlZ2FjeS10cnVuaworNTgxMDAgMjBhODBiODNhNmM1MjY5NmZmZGEzZmFjMzkzOTA0ZWQwNDdkNmQyMyBsZWdhY3ktdHJ1bmsKKzU4MTAxIGIzYTRhMTRkOGFjMzEyMzE5NWI5MDkzNzE3N2VjYTBiMWI2N2FjYjMgbGVnYWN5LXRydW5rCis1ODEwMiBlYmRmMmMwOWMxODk5MDg3NDJmYTk0NDY2MmQ3NzM0NGEwZWE1OTBhIGxlZ2FjeS10cnVuaworNTgxMDMgYmZlMThiOTA3ZDg3MzVlNTFhOTc2MzljODllNDBiMzk5NGE5NmRkZCBsZWdhY3ktdHJ1bmsKKzU4MTA1IDE4ZDVhYTUxMzVjYTNhNTMzZGRhYjAzMzhmZDQzYmZjZjYzOGRiN2YgcHkzaworNTgxMDYgM2ZmMjQ5OGNmNTQ4YTc3MTcyYTljY2M0OWY5MWNkZTBhZTA0ZDQ4NiBsZWdhY3ktdHJ1bmsKKzU4MTA3IGU4Mjg3NmE2MjFiNWY0MzgyMjQwZWI3MjcwM2VjYWE4Nzg2ODczMDEgcHkzaworNTgxMDggYzViNmFlOTQ0MGI1ZGZmNDFkNWUyZWExNzc0ZTg3MDkwODEzNTRhMiBsZWdhY3ktdHJ1bmsKKzU4MTA5IGVhZDdjM2M2YmUxYjlhOGQ5MDlhYmJiOTA3N2I3MDk5MTllOWE0MTEgcmVsZWFzZTI1LW1haW50Cis1ODExMCAyNzRmZTRiYmUzZTA3MGQ4YzQyNjI3NDc2MTU2NzAzZTI5ZmIyNzA0IGRlY2ltYWwtYnJhbmNoCis1ODExMiAyNWVhNGU2NmY5YTAwNDgwYzUxYjUzNDdhZDcwZjg4MTgwYTA0YTU1IGxlZ2FjeS10cnVuaworNTgxMTMgNjM3YmZiMGM1ZGFlODVjZmI3MDRkZjFlZmE2NzQwZDQxOTRhZTRlOCBweTNrCis1ODExNCBjYTA2YzRhMzA5MWVlNzRiNWNhMjI4NjJhYzkzZjNkZTk0NDE5ZDVhIGxlZ2FjeS10cnVuaworNTgxMTUgNTU1M2Y4YjRkZWMwZGUwODA3ODRjYzAyN2QyOGMyNDQ0MmExNDllMCBsZWdhY3ktdHJ1bmsKKzU4MTE2IGI1Nzk1ZGE3ZGQyNjNhNTE1MTI0MjNkNmRhZmYwODcxYTQ3NWI1YWEgcmVsZWFzZTI1LW1haW50Cis1ODExNyAwODU4ODg3NmU0YTc0Y2Y1ODExNTY0ZTVhZjZjNDRmMDI1YjcyZGFhIGxlZ2FjeS10cnVuaworNTgxMTggMjAzOThiNTUyNjZjOTZiNWYxZmIxNjdmYTM3YTdlOTA3YWU5YzgwOCByZWxlYXNlMjUtbWFpbnQKKzU4MTE5IDg0MGZmNThkMWU5ZWZhNDhmMDMzODdmNDY5NzQzNzg5YTI1MThlZjUgbGVnYWN5LXRydW5rCis1ODEyMCA3NTZhN2I3Y2RjNGU1YWQ5OTYwYmZjMTRkNTA0YmNjZjllMzc4ZWEzIHJlbGVhc2UyNS1tYWludAorNTgxMjEgOTAwNzE1NGE3YzQ5MTU3NmYzYThhZDhmYjRlZjZlMjM5Y2NhMDI1ZSBsZWdhY3ktdHJ1bmsKKzU4MTIyIDA2ZWZlODM1ODA0YTJkMmE2YTU0NjUwZDViOWI1YzQwNmI4Nzg5MmEgbGVnYWN5LXRydW5rCis1ODEyMyBjMzhlMzUzZTg3NjFlODQwMDQ2YjY0N2M2NzZlZGNmZjVhYTdhM2M1IHJlbGVhc2UyNS1tYWludAorNTgxMjQgMWUzZjU3ZTczZTA0YzNhZjM2ZTZiNmVkMDZjNDJlYWE5OTg3OGRmOSBweTNrCis1ODEyNSBhMGQyMDEyZmY0YzE1YjVlY2M5Y2MxNWIwYjk0YmU2Mzc0NTM0Nzk3IGxlZ2FjeS10cnVuaworNTgxMjYgODRkYzg2ZjIxMTk2NGI3Mzc0ZTExYzc4MTVjZmFlMDUxZTE5ZTA3YSBweTNrCis1ODEyNyA1YWI1YTVjNzM2NjhmZGI5YmU1ZDJjZWQ0MmI4NzI4Zjg2Y2Q1MmE0IHB5M2sKKzU4MTMxIDk0MmZhMWM0YTlkMGVmMDEyNjZkNWY3NjNhYTg0ZGY1YTUwOTI1ODIgcHkzaworNTgxMzIgYmYyZDhiNzk0OTNhYTIwMTcyYzJhNDBmNjg4MzUzNWVjY2JhZDI2YiBweTNrCis1ODEzMyA3MTA3ZjM5YzJmNjZjMjBlNDMwYmE3YTU1ODk0YjRkYTRiMDBhNWM5IGxlZ2FjeS10cnVuaworNTgxMzQgMzllYmNmMGE5OGI0ZDEzNDdlNzdmNmJlMjg5YmM2ZDkyMDAzNGFiZCBsZWdhY3ktdHJ1bmsKKzU4MTM1IGUxMDAzNzFhM2Y2MmRlNTNhZTJmMGE1YzgyNTViMGQ2MWE3YTUwOTIgbGVnYWN5LXRydW5rCis1ODEzNiA5NDlhMzViMjdkMjA0MmRmYmRjOWUwZDUwMzRiZTBiMmI0NmFlZjZlIHB5M2sKKzU4MTM3IGIyZGNkNzU3YTZhMzc1ZWNmZWUyYTY1ZWY2NjljZjBhYzBkNzI5Y2EgZGVjaW1hbC1icmFuY2gKKzU4MTM4IDUyN2M0NGVmMjZjY2QyZTM4M2IyMWVkMzk2OWM3NjE3NmZkOTIwY2QgZGVjaW1hbC1icmFuY2gKKzU4MTM5IGM3OWEyZjBhNzAzNDJkNDRjMmY4NzdjYjdlZGQwZDhlZjUyZWI0MDUgbGVnYWN5LXRydW5rCis1ODE0MCBjNjc4NTExMzBmYzRjNmU5YWNmYzg1ZGEyN2NiZTM0OWZiOGIyYjliIGRlY2ltYWwtYnJhbmNoCis1ODE0MSBmMTRmYjdiMDNkY2ExZWI3Njk2NTYxMjEzYjUwZmJkMDg2MDc1MWI3IGRlY2ltYWwtYnJhbmNoCis1ODE0MiA5OGJhNWMyMjExOTg2Y2MyYWI5ZmY0OWYzMDY3ZGQzN2ZjNDgyYmJmIGRlY2ltYWwtYnJhbmNoCis1ODE0MyA2M2YzMTU0YzczMWQwMjJjYmIwOTg5OTM4ZWM2NjdkMWM2YzhkMzcxIGxlZ2FjeS10cnVuaworNTgxNDQgNjNjOTU3NjNhNDNiZTRlOTE5NDRkYWYxOWVhMGYwMzhlNzc1Y2I2NSByZWxlYXNlMjUtbWFpbnQKKzU4MTQ1IGM4YzdhOTQ3YTY0MTk3Yjg2ZWZlOTQ0NWRkM2Y4ODcwOTNlZWI5ZjQgbGVnYWN5LXRydW5rCis1ODE0NyAyZjhiM2VhNjJhMmUxZWFjYWI0ZWQ5MDIzOTg3NDA4OWIxMjk0OTQ0IGxlZ2FjeS10cnVuaworNTgxNDggZGY4ZDMyZDVlNDQ0MTBkNjZhMTJlMjQzZjg2ZTE2OWJmYmEwNDU5YiBsZWdhY3ktdHJ1bmsKKzU4MTQ5IDYyYzNjMTA0Y2EwMTIwMzliNjlmN2Q5NDI1YjU5ZjE2YTljNzlhMGQgbGVnYWN5LXRydW5rCis1ODE1MCBlYjk4ZjIyM2Q2ZWFlYWQ0NWZiMTg3NTM3YmJjYzczYzQ0YzZhYjNiIGxlZ2FjeS10cnVuaworNTgxNTEgOGI2ZGM2NmUwZWI1NGVjN2FmNmZlYTE0NmIzMWViMzU1ZDMxMDVlYyByZWxlYXNlMjUtbWFpbnQKKzU4MTUyIGUwZjVhZjE0Yzk4ODNjYTQwMDVmYmNjMDEzMDcyMDY4ZWRlNmMwYTQgcmVsZWFzZTI1LW1haW50Cis1ODE1MyBlNTFlZGRlMjgwN2YxZWExMWUxYjczNjkwYWE3YTQ3YWZjNDdlYzcwIHB5M2sKKzU4MTU0IDA1ZDdjM2QwYjc3YTIyOGFlZTRiODFlM2U2MjBkMmNkZjg1NDkzYzMgbGVnYWN5LXRydW5rCis1ODE1NSBmZGZmNDhmODdmMzVlOTA3NTc4ZGYwYWU3NGE5ZjM1ZDI3N2Q1NTJhIGxlZ2FjeS10cnVuaworNTgxNTggMTMzOTFmOWQyMGVhNDk5MjYyZmNjZjQ1N2FlNjkxZmRiOTZiNTYwYSByZWxlYXNlMjUtbWFpbnQKKzU4MTU5IGUwMDIzMzk1ZTUzOTMyOGI5ODE5MGQxNzdiYmViYmRlZjdlN2Q4NzEgbGVnYWN5LXRydW5rCis1ODE2MCA3M2YyYzlkMTZjZjRkNzVjNGNlYTRkN2Y2NjJjMWNiOTVlNTg4MTFjIGxlZ2FjeS10cnVuaworNTgxNjQgOTA0MTk2NWE5MmYyZWY2NmYwNWVkMDUxODc0NmI1NGUyNWFhMTI0NCBsZWdhY3ktdHJ1bmsKKzU4MTczIDFiNjZlMmE1Nzk2ZjE4Yzk0NzVhNmZjNmM0ODAwZDgyZTFlYzVhMWMgbGVnYWN5LXRydW5rCis1ODE3NSAyZTdkZDIwMWVhMWQyYzdlYTllODYyOGE3YmU1MWE0NzVjZWFkZTM1IGxlZ2FjeS10cnVuaworNTgxNzYgNzYzMDI0OGI1OTNjZGZkMjAzMDcyMDcyYzcwZTU1OTVjNTU0ZTY3MSBsZWdhY3ktdHJ1bmsKKzU4MTc3IGFlOTgyMjkzYzFhZTA4OWNiN2YxNjNkOTMzZjFjOGFkNmI5MTY4ZDYgbGVnYWN5LXRydW5rCis1ODE3OCBlMzEzNzk1ZWExNzQyZGRmYWUxYzU2YmM2YmY4MDMxNzhhMmU1MzUwIHJlbGVhc2UyNS1tYWludAorNTgxNzkgOWNjMTMyYzg0NjFlYzY0NTcxZjQyMjY3Nzc5MDA2ODRhNDk5YWIwOSByZWxlYXNlMjUtbWFpbnQKKzU4MTgwIGUwMWRkMmJmMDk5YTVhZGEwYTU3MjMxM2M4MzE1ZDM3NzExOGVmNDYgbGVnYWN5LXRydW5rCis1ODE4MSA4ODkwYmU5Mzg2YjdhYzQ3YTYwODc5ZGNiZjVlZTY1ZDc5YTk4ZWYzIGxlZ2FjeS10cnVuaworNTgxODIgNGU1N2MzNmY2ZDJlMzY2MjI4MzJlNDNmZjk4ODIxODY5NTU3NzI2YiBweTNrCis1ODE4MyA1ZDM0MjhmZjdmZmExODIzZGFmMjIyNTEwZDlmYzIyZjljZjBhNTc3IGxlZ2FjeS10cnVuaworNTgxODQgMzYzMjAzZDc1ZDY5ZjNkZjg3MzY5NmJlMDRiMzQwNWRhODA1ODBhYSByZWxlYXNlMjUtbWFpbnQKKzU4MTg1IGM1NDkwYTllYWFlMmY3ZWZjM2VjM2IwMzQwNTc1M2QzZTU5Njk1YjAgbGVnYWN5LXRydW5rCis1ODE4NiAyZmRmZjBiNWJlYjZhYjdjNmYxYzc4YzUxN2M2ZTQ1YjU4YWQ3MTIyIGxlZ2FjeS10cnVuaworNTgxODcgNGU1NDNmYWUwZGVkODlmOGEyMTBjODc0ZGI5YmU3NTc1YmY5ZmE0NSBweTNrCis1ODE4OCA1MzM1Zjg5ZGYwODFiYWU0ODdhZDQyMThhNmEwNjBlOWNhZWZmZTM1IHB5M2staW1wb3J0bGliCis1ODE4OSBlMzk1YTYzNmVlNGE3Y2VlNjNlZTc4ZjkxYzE0OTZjYjcyMWIzYmVmIHB5M2staW1wb3J0bGliCis1ODE5MCA2NDFkNGNhYzk3NTZkOGE3MTczY2FkOTdjZWQ1MDdlYTkxZmM5YzFhIHB5M2staW1wb3J0bGliCis1ODE5MSBjMWJjYjYzMzkzNTc3NGEwOThmY2U1YWM1NWFlNzBlMjIxMTEyMDRlIHB5M2staW1wb3J0bGliCis1ODE5MiA1OTc1YTczMTZjMDY1MzIyZTg5ZTVjMWMxYzc0NzNjMzg4YzhmZWM4IGxlZ2FjeS10cnVuaworNTgxOTMgYjkyMzZhNzVhNmU1YWVkNGE5OTdjMGMxN2JjYjJjYTY3ZjVlMDkyMCBsZWdhY3ktdHJ1bmsKKzU4MTk0IGVmMjIzNTQ2YjRiZDZkZTMzODhjZGNlNjEzOGE0YTY4Yzg1MjVmZDggcHkzaworNTgxOTUgNmEwZWEwNjVhOTlhMmY5OGU4MTIwZTQxY2FhMjk2YjAwY2U2N2U3MSBweTNrCis1ODE5NiBmMTkyNDQyZjQ0ZDgxZDhhNGMyZjE2NzE5YmViZTYzZTM0ZTMzZTJlIHB5M2sKKzU4MTk3IGIyOTU4MmJkYzkzY2Q2Y2NiYWVhZjE0NmRkZGRjNjcyODFkOTc3ZmMgbGVnYWN5LXRydW5rCis1ODE5OCA3ZGRkNDA1MDNlMWExZDAwMjY5Mjk2YTRlNWMwZmZjYzIzZTU3Y2ExIGxlZ2FjeS10cnVuaworNTgxOTkgNzVlNmJmYTJkNGQyMjBlN2MxYWJlNmJjZWNiMjVhOThiZDZhMzI4YiBsZWdhY3ktdHJ1bmsKKzU4MjAwIDNlZDJmNzcxNjNmYzMwZjhmOTI3YmVmNGZjZWU5ZjcwYTFlMDczYmIgcmVsZWFzZTI1LW1haW50Cis1ODIwMSBmMmVmOGFlMGJjMTg3NTI5NTU0NzJlODBmZmZkODYzZmI4MDBiZDEzIHB5M2sKKzU4MjAyIDFiYWMzODZjMTdjYzY5Yjk5ZDMzMTViOWZhYTE1MDUyNmM5ZmY2MTcgcHkzaworNTgyMDMgZWIzOTZkZTgyYzAzMGZjNzBhZmJlMWM0NzY2MjFiMGU3ZTQxYTgwZCBweTNrCis1ODIwNCA4ZTEzZDNlYWNhY2NiNGJlN2NiYWY2ZWFjNzdhMzEwOTViZWNlZDM2IGxlZ2FjeS10cnVuaworNTgyMDUgNjkyNDkzNzcxYWUzMjJjNWQ2ODgwNjU4NzU1NjUyYjExODNjNDhiNCByZWxlYXNlMjUtbWFpbnQKKzU4MjA2IGQxZmE4MjBiMmRjYTBkMWVhZDc3NTcxM2RjM2QwMjlkYTRhNTc0NDMgbGVnYWN5LXRydW5rCis1ODIwNyBjMTllYzk1MTVhMzM2NzYyNWJhNDYzODA3YWZiMjBjNWE5ZTQ4MmY4IGxlZ2FjeS10cnVuaworNTgyMDggMzU3ZjU0MDE1YTJkM2JhMTBjZGYxMzFjODM0MzZjYTNiNGUyMmY1YyBsZWdhY3ktdHJ1bmsKKzU4MjA5IDQ0YWE0ZmZkYzFhYzk2Zjg4MWI2MjczZDIzNDhiMGY2YzY3MzkzMzEgbGVnYWN5LXRydW5rCis1ODIxMCA4MTQ3ODQ2NWZlZjNiMTQ3Mzg0NTlmYjdmODUzMzFlNWVkYWZjYjQ1IGxlZ2FjeS10cnVuaworNTgyMTEgMzU3Y2YwN2EyM2ZlMzY2YmY2YWI2ZGViYjU2MTNiOTcwNDg4ZmQzYiBsZWdhY3ktdHJ1bmsKKzU4MjEzIGIwNmIxOTFiN2NmYTBiODdhZWVmZThjZmQ0MzJlM2M3NWU1MmEzN2EgcHkzaworNTgyMTQgYTVkMzdjZGNkMzE2MTczYTEzNWQzYzdiOGVjNzMyMmRmZTE2YjUyZSBweTNrCis1ODIxNSA1MjFiZjg3Y2ViYmQ5ZTA4YWZkY2MxN2M0ZWZlMDM4NWI5MDhjZWNlIHB5M2staW1wb3J0bGliCis1ODIxNiBlZjE3MjE4MzYxNzgyYTA4MTg3NGZkMjk5MjU5OTYxNDM2MGU3ZjY5IGxlZ2FjeS10cnVuaworNTgyMTcgNDA5MDkxYjI4YzdlOWQ2ODM0NmI0MmNkMTg4NWE0ZmU5YjVjMDg4NiBsZWdhY3ktdHJ1bmsKKzU4MjE4IDdkMTRhMzE4ODg1MDFkYzFkOTAxODc5MzU2NjQwZWE4NWUzMmVmNmYgbGVnYWN5LXRydW5rCis1ODIxOSBlMWMwOWZhNmZjMGY1ZDI2ZmUzMmIyOTkwODliOTlkNzZlNTM3NWRhIGxlZ2FjeS10cnVuaworNTgyMjAgZGMzOWRkZGVhMzMwMDQ1ZTk0NTQ2NjMxYzkxYjY3ZDdiZmI3Njk4ZSBsZWdhY3ktdHJ1bmsKKzU4MjIxIDQ2YzQ2N2RlZTY1OTM4ZTczZTliNDNhMmQ3Mzc0YTE5NWYyZjBkMzMgbGVnYWN5LXRydW5rCis1ODIyMiAwYzhmZWM3NjExMWM3ZmFlYzYyMWNhODljNGVlOTk2MDhlNDI0NzA3IHB5M2sKKzU4MjIzIGRhOTUxOTc5N2M2MTA1OGExOWFhMGVjMjllNDg3OTk3NTFlNmJiZGEgcHkzay1pbXBvcnRsaWIKKzU4MjI0IDE4MzdjYWU5MGU1MmU1NTBmYmFjNGU1NTY0NzFlYWVmMjFmYzc0OTYgcHkzay1pbXBvcnRsaWIKKzU4MjI1IGVjODQ2ZWJhYjJlZmEwYzU3NTE2MWMxMGRhZjRjOGQ3ZjA4OWI4N2IgbGVnYWN5LXRydW5rCis1ODIyNiAwZmY0MWIxNjNmNWJhMWY1ZDI4OTk5MmQ2YWExNDRjZWE1ZjViNmNlIHB5M2sKKzU4MjI3IGYzMWQ0MTU1NTRjZGJmYzViNTQ5ZGQzNzZlMmFmZGRhMTkwNmJjZWQgcHkzaworNTgyMjggZjZjYmFiNzU5MjhmNjg2NDljNDU2YzA5ZDE2MmViOTdmMGQ1YmU0MyBweTNrLWltcG9ydGxpYgorNTgyMzAgNzNkMjZjZDhlMGI1NjRmMTA4MzJiN2JlZmI1OTkyYWQzMDI2ODQyMiBweTNrLWltcG9ydGxpYgorNTgyMzIgZmMwMzM2ZjQ0N2FlYWYwYjVmZjNlZDY0NGVhYmE0MmYxNTBlYTMyOCBsZWdhY3ktdHJ1bmsKKzU4MjMzIDM3ZmZiYjdhMTk2MjkzMGY3MmE1ZDRiMGY5NWUyMGVmMjJkYTZjYjUgcHkzay1pbXBvcnRsaWIKKzU4MjM2IDA0NzZhMmNjNTY1ODc0NDNjZjQ2ZmRlYmNmODg1MTEwNjExYzg4ZmYgcHkzaworNTgyMzggY2VmMmVkODI5MmI2Y2ZkYmI4NTQ2MTI5ODVhMmE2ZTk1NzMwNDUzMCBweTNrCis1ODIzOSA1ZjczMzhhNGQxZGRkZDI2MTgxZjYwYWRhYWFkNDk2YzcwMWJmODc0IHB5M2sKKzU4MjQwIDU1YTY2MzE2Yzg5ZWQyY2IxNjE0YzI3YTU1NjBmYmQ0NWJkZjE0NjYgcHkzaworNTgyNDEgYTRkZTMxMjIxNTc4NDdmMzA4ZGJkNjJiM2ExYjAxZjM1MTRmYzUwYSBweTNrCis1ODI0MiBiNGU2ODhmZDY2MDJhNTY5MDE1MDNlMjY0NmE5N2VkNzJhZDk4MTY3IGxlZ2FjeS10cnVuaworNTgyNDMgOThmZjliMmZmNzU3NjUxZDVkMmE2ZmIzNjM4ZTEwNTViMDY3MmM5NyByZWxlYXNlMjUtbWFpbnQKKzU4MjQ0IGI5M2VkMDQzZjI3MjFiNWJjZmNlMGUwMDJmYTg0OGY4MWNhMzZlZWUgcmVsZWFzZTI1LW1haW50Cis1ODI0NSBlOThlMTFkNzc2OGM2NWI2ODIxODI3MmRkYWUzYTNkNTEwMWVjYTQyIGxlZ2FjeS10cnVuaworNTgyNDYgYjcwZWRiNWE3Njg4NDkxYzczZjU1ODUxNWJjNWE3MjI3ZmZmODNjZiBweTNrCis1ODI0NyA3NzNlOTc2YmFiM2FmYjUxNDlkMjRhM2UxZDE0Y2YxMzFjYzVlZjRlIGxlZ2FjeS10cnVuaworNTgyNDkgMGI2MTRmZDJkYzJhZTA1NmI2ZTA5MDFhNjk3MDgxZjY0OWMwMGNlMiBsZWdhY3ktdHJ1bmsKKzU4MjUwIDk0NjNkZGExOTE2MDEzYWY4ZGM3NWFhMjhkNDRlZjZjY2ZkODAxOWEgbGVnYWN5LXRydW5rCis1ODI1MSA1M2Y3YzkyYjQwMjQ3NTVmNjIwZDkzNzEyMDE5MjA3NDg3Y2E4NzgzIGxlZ2FjeS10cnVuaworNTgyNTMgMmRjMGU2ZTNhZDIwMGU2YWFlYzNjYTk4ZmNhNDA3NDQ3YTc4NjdkOSBweTNrCis1ODI1NCBmODFlMzljNDM3M2RhNTgzZGM0NTMzOGM1M2E1MWI5Yjg4OGJhODFkIHB5M2sKKzU4MjU1IDc5YjBkYjAzNTZkMzFjOWE2NGE1ZDg4Y2FhNGFiNTNjNDM5Y2Y1OGUgcHkzaworNTgyNTYgOGQ3ZTkzYjQ3Y2FiZDUzZjczYzM3NzhkOGE2ZjhmNjg0OGQ1NzUyNyBweTNrCis1ODI2MCAxYTc5YTQ1MDAzZjVkYjk0MjY4MDkwYWNlNjNkYTBhZGMxNWI4ODcwIHB5M2staW1wb3J0bGliCis1ODI2OCBiOTAyODZhYjg2MjlhZjAyNDEzODFjMDQwYjM3ZTg0MTdiZTljMTU1IGxlZ2FjeS10cnVuaworNTgyNjkgODU2ZjhlYTkyMmRmNTEyOTQyZGJmZDQzYmQyOTNhMjIxYWZiOWMyMyBsZWdhY3ktdHJ1bmsKKzU4MjcwIGY1MzAwNTk4YjExY2FkMTMxMWUzMDhiMmMwNTExYzcxYmJhYjU1MDcgbGVnYWN5LXRydW5rCis1ODI3MSAxOTQ0Zjc5ZGI4YWQzNDRmZTVlZDFlZTk1Nzc5ZDVlZTg1ZTk0NzVjIGxlZ2FjeS10cnVuaworNTgyNzIgMTNiYWFkYTJhNjAxNzFlNDIyYTQ4N2JjYTlkMWYyNjc4NGFlMDA1OSBsZWdhY3ktdHJ1bmsKKzU4Mjc2IGE3YzQ4YWI4MDllYzQ4ODFjOTFiY2I4MzRkNzhlODdmOTM1Y2Q1ZTQgcHkzaworNTgyNzggMGZmNDZlZjk0NmIxM2RjNTIzMzUzMjI2Njc3YjIzYzEwZmQ3OGQ1NSBweTNrCis1ODI3OSA5YmM5ODU1ODJjYjI4NTY3MGMxOThjNDdhZWI0Y2YwN2I3NGZmOTY4IHB5M2sKKzU4MjgxIDdmY2Q5OTQ1ZDFiZmUzODQ3NzYzN2RiZWE4MjI4NTA5ZGIzZGJkMjkgcHkzaworNTgyODIgZTg4ZjgzYzNiMjVlOGM5ZTUyM2FhMmQ1MGFkYjZlY2FhOWU4YjIwZiBweTNrCis1ODI4NSA4NjY3MTcyNjljYTM4MjM1MTM0NGM4Yjg5Mzk5ZDVkMzA4ZjkxZDQ3IHB5M2staW1wb3J0bGliCis1ODI4NyA4ODBiMGIyMmMxNWE5ZjcxYmNmMmRlNjgyYzAyYTAyMTJkN2M0NGYxIHB5M2staW1wb3J0bGliCis1ODI4OCAzODFlZDQxMDAzZTc2N2FmMjk4NGNlYTU3NzQ4YTI3NzU2MzYyMWRkIGxlZ2FjeS10cnVuaworNTgyODkgMTA2YTcxYzUxNDc3NTFiYmZlMDU2YmIxMjc5NGVlMjBmYmI4M2RjYyBsZWdhY3ktdHJ1bmsKKzU4MjkzIGExY2E0ZWE0MWU3ZTlmZDU4MDk3OTJiYzMyNDYxNTEzODExY2I3ODkgcHkzaworNTgyOTQgOWQ2ZDlhYzk1YWUxNzYwZDAxMDNhZjhiNGY3YmY2MWIzMDAxZjU4ZCBsZWdhY3ktdHJ1bmsKKzU4Mjk1IDc5NDMyNjJlNWZjNDM3NjdkMDQ5NWJkYzU5NTFkMmRjMDJlYWVjOTggbGVnYWN5LXRydW5rCis1ODI5OSBjOWJmNmU3MDMwOGU3NjQxYWNiYjczZGExYWNkYzhkMzc1N2M3NmE1IGxlZ2FjeS10cnVuaworNTgzMDQgYjEyY2Y0NjdiMDVjYzJkMzc3MmYwNDI2OWFhODM1OTgxMmMyMjc1YSBsZWdhY3ktdHJ1bmsKKzU4MzA1IDMzM2IwNTJlOWRhOWEwYTIwY2RjYjNiZjVmNDZmMDkyMzdiNGJlN2UgbGVnYWN5LXRydW5rCis1ODMwNiBjZDI4MWMxMjgzNmRjNGYwODdjNTRjMDY3NDU3MTg3M2VlMDgzNTljIGxlZ2FjeS10cnVuaworNTgzMDcgNzMyY2EyN2E2NzhjZmVjMWVmNDRlNWNlYmQyYjMyOTYxNGY3ZWRkNyBsZWdhY3ktdHJ1bmsKKzU4MzA4IDFiMWE1NjUyZmVkOGY3NzZmOGU0MWI3MGUzYzhlNDdmYmQ0YmE3NTUgbGVnYWN5LXRydW5rCis1ODMwOSA5YWU0ZThhNTM0ODY2MmRlY2EwMmQ2ZGZhYjU5YThmZDNiNzQxYThmIGxlZ2FjeS10cnVuaworNTgzMTAgMTc2YjYxMzFiMGJhZjQxMDNkZmY0MTI4NmNlZGIyM2M2N2UwZjNiNiBsZWdhY3ktdHJ1bmsKKzU4MzExIDY1YjM2NTRjNjdmNjMxYzY3ZTQzNjBhMGY2ZmFmOThlYTUwNjVhYmEgbGVnYWN5LXRydW5rCis1ODMyNSA1YjUyNDlkZDE2YjQ1MDc5YjE4YzBjZjRlYjA3N2I2Y2MwMDYyNDM0IGxlZ2FjeS10cnVuaworNTgzMjYgNzNmNDk2NTY0MjBiY2E3NzE1NzJmYTIyMTRmYTYzOWIyZTEyNTg4YiBsZWdhY3ktdHJ1bmsKKzU4MzI3IGU4Njk0YWI1M2E1ZWNhM2YyMWZhNjNkODBkMWRlZmM4OWZjYWRhNzkgbGVnYWN5LXRydW5rCis1ODMyOCBjMGFiZGQ1NzllYjI2YWZmNDg3MWZjYzUyZDUyZjc1YjhlYmRiNDJiIHJlbGVhc2UyNS1tYWludAorNTgzMjkgZjJjOWYyNGEwZjVhODlkNGQ4ZGUzYmEyMmEzOTI1MGE2Mzg3YTExMiBsZWdhY3ktdHJ1bmsKKzU4MzMwIDk5NTY3NzIxOWE2NTU4MmE4NDg2ZGMyN2Y0NjQyM2ExMzBiMDNlZTYgbGVnYWN5LXRydW5rCis1ODMzMSAyNzUxMTU5OTliNTgxMjFmZDMxZDZhZDk4ZTgxMzcyODI1OWQ1ZTJlIHJlbGVhc2UyNS1tYWludAorNTgzMzIgMWJlYTZmYWZjYzUwNTcxMDk2NTNmMWU1ZWIyNjJkYTRlODc5Nzk2NSBsZWdhY3ktdHJ1bmsKKzU4MzMzIGE1NDMwMDYzMDhiYjliZDk0MGViNWIxOGJiOWZiOTQ5Zjc5Yjk1ZmQgcmVsZWFzZTI1LW1haW50Cis1ODMzNCBlODQxMTk3YzFkMTdmNTVmMGIyN2U5YjM5M2YzOWIwYjY1NWM1OWVkIGxlZ2FjeS10cnVuaworNTgzMzggMTdiMDczNzBhNzgyOTAxYWRmMTgyNjg4ODVjMDY2YjE0YTBjNGEwNCBsZWdhY3ktdHJ1bmsKKzU4MzQzIDY4ZmMxMDdkZGI1MGI5OGFmZDEzNjgxNmU5YjZhNWI2MDMzYTZmNGQgbGVnYWN5LXRydW5rCis1ODM0NCBmNzM1MzU5NWI3ZmE4MTlmOTZlY2NlYzYzMzFkYWQyMzA5ZmM5YjRjIGxlZ2FjeS10cnVuaworNTgzNDUgYWNkYWM0MWY3MTA5NzJhOTIyNTE1ZTYyOGE1ZTkzY2FjZDFhMGQxYiByZWxlYXNlMjUtbWFpbnQKKzU4MzQ2IGVkNDk5ZTM0OGExMTlkMjc3ZGRmZTIxODkzNjE3NzlmODRiMzAwNDMgcHkzaworNTgzNDcgYWUyYTk5ZmM3M2RhNmQyYmViMWEyYmIwOWQxZTJkYTIzNzg1OWI3OCBweTNrCis1ODM0OCBmMzZkMGY3MDc3ZmNiZjVmOTc2M2UyNzQzODYxNzRiNzQwMjQwM2Q5IGxlZ2FjeS10cnVuaworNTgzNDkgYWQzNjZlMzE2ZTMwNjRmM2I0NjdmZjNhMzMxN2IyZmQzNzUyOGJlZSByZWxlYXNlMjUtbWFpbnQKKzU4MzUwIDM5ZjRjNTA2Y2Q3MThiMDQzN2Y4MGZiMDAxY2FmNTRlNzc5MTlhMjcgcmVsZWFzZTI1LW1haW50Cis1ODM1MSAzY2QxNDYzYzkzOGQ2ZjdjODMyODBmNzk2ZTMxMjRmNjg4OTg0OGQ4IGxlZ2FjeS10cnVuaworNTgzNTIgMDc0MTMwYTA3M2I2NjgyYWVkOGU4MWVkZWFiZTM0MmVkOTkyNTRjZCBweTNrCis1ODM1MyAyMzE5MmIxYjcxZTI3NTU0ZGU2ZGYzMDY0M2RlYzFjZmY5ZWY4MWYyIHB5M2sKKzU4MzU1IDE0YWRkZGE4MzM0NDMzNzVlMjkxZWRjNWFhNjcxNTI0YjMwNDI1ODMgcHkzay1pbXBvcnRsaWIKKzU4MzU2IGY1Yzc5ZjQzYmJmNjk1ODZlMmZhYWNjMDZiOWYwODViOWFiM2M5MzQgYWxleC1weTNrCis1ODM1NyBhM2JhZDY5NGMyODM5ZGEzZWY3ZGY1ZTU1NThlZWZjNzc4YmUzMzY3IGFsZXgtcHkzaworNTgzNTggOTRlNTM2YzM2NDQ5M2ZjOGFjNjI2MjVjNWRhN2E2OWMzYmFmMmJjMiBhbGV4LXB5M2sKKzU4MzU5IDMwNGQyY2VhMTM3ODM1Yjc0ZDEyOTUzMTA0MmNjMWY5YjU3ZjU3OTMgYWxleC1weTNrCis1ODM2MCA4YzEwYWFjMzcwMzc5MjVkY2NiN2JiZGZiNGI3MTRiNjFiZmIzZmZiIHB5M2sKKzU4MzYyIDhiYTUzMDBjYjRiM2I1ZDZiMzgwNzFjNzU2MTk2NWRkNDVhZWUzMTYgcHkzaworNTgzNjMgNzY3ZTBjMzEwYTZhYWZhN2YwOWJjZGQ3YjU3YmRlYzQ0YmNjNTQ5MSBweTNrCis1ODM2NCBmNjE0M2M0MTE3MTM1NjUwMWU0NmFlY2FhN2RhZjA0ZTk3Zjg1ZDhlIGFsZXgtcHkzaworNTgzNjUgZjYwNjFjNzFhNGQyMzZiNmU4ZDUzYjhjYzM3ZjdlYmQ2MTkwMjY4MyBhbGV4LXB5M2sKKzU4MzY2IGZhYjQwODlkYWI5ZjlmMGQxNzVlZGU5Yjk0MDRjNzI4ZGMzNjM0NDAgcHkzaworNTgzNjcgZGU0MWU5NzlhZWJlYjg5OGNiNjZhOWEyZGU2YTI1ZWQ1MWY1MTU4YyBweTNrCis1ODM2OCAwNDU5NTJmZjA4Zjc0M2IyMzE2MzUyOWM3ZWUyYTNjYmQ1OTAxNDY3IGxlZ2FjeS10cnVuaworNTgzNjkgOWU2MDIwYmIyMzUyMmIzMWM4ZTk3MmQwMGE0YzM1NDU5Mjk5OGY0ZCBsZWdhY3ktdHJ1bmsKKzU4MzcwIDRkYjVkYWI3ZjIzNTg5ZGFjNzg0NDNkYWI0ZWNiNDBlMGFiN2NmMjMgbGVnYWN5LXRydW5rCis1ODM3MSBmZjRiYmU2ODIzZmM5YjkzMGEyYTllMWQxOTkzNzE2ODNmZmUwZDE1IGxlZ2FjeS10cnVuaworNTgzNzIgOTE5MDRmM2U3YmUxYmE0ZTc4ZTMxMTk3ZTVhYTMyY2VmMjUxNTZjYiBsZWdhY3ktdHJ1bmsKKzU4Mzc1IDY2MTRkNDJkN2YwYTMzNWQ5YjFkNDFlYTA1MWNhZDM5NTU1ZWEwZDMgcHkzaworNTgzNzYgMGJhMzgxMDBjZGE5MDMyNTE1YTc3YjhiMTljYzBmYTcyNjIzMzFmMiBsZWdhY3ktdHJ1bmsKKzU4Mzc3IDhiZDkxMDAzNmM5N2Y3NDBiNzBiNDljMTFhOGM5OTdiYWM5YzhmODggYWxleC1weTNrCis1ODM3OCA1NzEzYjE3NmRkYjY5ODQ4N2VlOGRiMDY0YTVlMTM1MTg5M2U5MWFhIHB5M2sKKzU4Mzc5IDI3YWY0NTI0OWE4MDNkMTVjNjAxZjc3MjQ0NWFhOGIxYThkZjkxMzMgYWxleC1weTNrCis1ODM4MCA2NTk4N2IzOGRmMmUzNThjZDMzMmNlZTJkODRlZjcyMDM1MThmOGRlIGxlZ2FjeS10cnVuaworNTgzODEgOTY1ZTcxNTQxNzdjNjk1MDU5MzgxMDg1NjEyYmNlOTU1ZjhhNTNjNSBsZWdhY3ktdHJ1bmsKKzU4MzgyIGViZjJhNWNmMTNmYmRlMWU0NWRmMGUyNmYwODdmNTE4MmVlNWE5YWMgbGVnYWN5LXRydW5rCis1ODM4MyA5OGY2MTgwYjliMzMzMGIxMDFmNGMxMDYzNjIxZGU2MDgzZmUwZDhiIHB5M2sKKzU4Mzg0IDMzMDIxZTQwM2YzYzY1OWRhMzNjNzA2MWFiNGE2NmQyNzEzOGI3M2IgbGVnYWN5LXRydW5rCis1ODM4NSA5YzMwMTVmYzViZjQ1OTk3MDJkYTdhY2YwYTkzZWYzOWE1M2MzNjY0IGxlZ2FjeS10cnVuaworNTgzODYgYzQ4ZjkzODFkZGYxMzBmNjc0N2MyYjRmZjg1ZWNmYTAxY2FiNmNkMiBsZWdhY3ktdHJ1bmsKKzU4Mzg3IGRjNmUyYWRmOGRkMmEzMDZlOTg2YjdmNmZmMzUzMTYwZmIyMjY4MDAgcmVsZWFzZTI1LW1haW50Cis1ODM4OCBhMWI3Njc1N2Q2MmVlMGZiMDYxNzU2YjMzZjQxMmFmNTEwYzdkNmMxIC4uL2N0eXBlcy1icmFuY2gKKzU4Mzg5IDI0ZDExMTgwOTQ4MDA5NGIzNzEzYjA5ZTRiNzcxNzE3MjQ1YTRkMzIgLi4vY3R5cGVzLWJyYW5jaAorNTgzOTAgNDdjMDI3OTFlYzZiMmM2YmYxNjBjY2I3NzY3YjdkMzhjZDQxODA0YSBweTNrCis1ODM5MiA0YTcyZmM1ZGZiNzliM2QyMGE3N2Y1YWNjMTBlMzJjZWI0MjVmZTM2IHB5M2sKKzU4MzkzIGM5NGRhODQ3NjVlZTMwMjUyYWI4NmY4YTA4ODAzMzkyN2U5YjYxYTIgY3R5cGVzLWJyYW5jaAorNTgzOTQgZmE5M2RkNGUzNGJjMjMwNDY3YjE5MDBjYmM2OTYzMmZlZjg5MWViMCBsZWdhY3ktdHJ1bmsKKzU4Mzk1IGJjMjViYWZhMzNiMWZjNDZmOGQ4MWEzNzBlOGEyYmUyZjk4NzdkMTggcHkzaworNTgzOTYgMzdkODI3MGFjOGQ5NjFiNDgzYjg1OWY4YTAwMWQ4ODE0NDkzYTVmYyBsZWdhY3ktdHJ1bmsKKzU4Mzk3IDM0MGU2ZmQ1ZDc1ZjA1NTU1Mjg4NDZjNDY4ZGY3MDhjMDkzNWNhZDMgcHkzaworNTgzOTggNDE1YjFiYWNmZWQ3YWYwMGNkMzU1NjVjMGUzM2QwMGY2MDYzYmNkYiBweTNrCis1ODM5OSA4YzVlNjBkZGFhODI3YjVmMDE3MzUxNWEzYjExMThmZGQxZGRhZjIyIGxlZ2FjeS10cnVuaworNTg0MDAgOGQ0MGM1MzQ4Y2E5ZDkzZDAyZDg4MGFiNzY4MWQ0MWM2MmZlNGQ1NiBweTNrCis1ODQwMSBkYTUyYjRjNzc2YTQ1NGZhMWEwZDkwYTU2MzBhM2JkYzc1MTJiMjQ2IGxlZ2FjeS10cnVuaworNTg0MDIgMDZiYTQyYzJjMGQwNzQ2YTU2ZDVmNmMzZmQxOTMzNjE1ZjJhZGY5NSBweTNrCis1ODQwMyBlNWQ2ODkzZGJiMzZlZjQ0ZTkwMjhiYjZmYzMzNWI2MWUzYTFkMzllIGxlZ2FjeS10cnVuaworNTg0MDQgMWQ1MmU3ODM4NDJkYTFhODA2NzEwODFhOWU4MzdjOTU5ZDAxYThiNCBsZWdhY3ktdHJ1bmsKKzU4NDA1IDlmN2RlMTg0MzFmZTk1MGQ1MzkxZTU3NzRlZWQxY2QwNDU4MTA5OTkgY3R5cGVzLWJyYW5jaAorNTg0MDYgZmZlYzQ5ZDNkMjE1NDcxZmJkZmVhZDdiMTFkZTZhMmNjZjhmYmJjNSBjdHlwZXMtYnJhbmNoCis1ODQwNyA0ZjllY2VhODE3N2NiZWQ5N2I5YTZjMThmNTIxMmZhZDhiZGEwYzg2IHB5M2sKKzU4NDA4IGI0ZDhmNzE0NTllOTQ5YmNkMDU3MjUzMjEzYWNkNDA5N2E2ZGZlNmEgcHkzaworNTg0MDkgNGMxODljNzE0NGI3OTRiNDY3YjM0YWFjOGNlNDVlNmQzMThmMDczMiBweTNrCis1ODQxMCAyZjMwYmZiN2M3Mzg1ZjM4ZDA0NzdkYmQ4ZTg1Y2RmYTQ1OWEwODMxIHB5M2sKKzU4NDExIGI5ZDE5ZDUxZGUzNjk3NWE1ZTdjNDU3MDVkOTY1NTYwZDQzMTFjMTMgcHkzaworNTg0MTIgNmU2MGY2NWZmMzY0N2M5ZjE3MDhjNWI1NGFmNjZjZTE2NzYzNTkwMiBweTNrCis1ODQxMyAyYjc0NmYyOGIzOTlhNzEwNjk3ZDhhMzEwYWMyMGNhYWQ2ZTkyZDhkIHB5M2sKKzU4NDE0IDk5MzcxYmQyY2E4Zjg3ZDliNWJiYzRjZTQwZWVjNWM4MzE3Yjg3NjUgcHkzaworNTg0MTUgMDI3MTBiODk3MDFlMDgzNzUzMTcxNWM2NGQ5MDE1Mjg4ZjdlOWY2NiBsZWdhY3ktdHJ1bmsKKzU4NDE2IDM5YzliNTYxMjQ1MWEyNzI3Mzg0NjNhODEwYWQwYzI1NmNjMGU0OTUgcHkzay1pbXBvcnRsaWIKKzU4NDE3IDM5Y2I1ZDk2Y2U3NzAwNGU5NzI3NGE0MWVmMDkwNmE2YjJmYmViZTAgcHkzay1pbXBvcnRsaWIKKzU4NDE4IDhjNWE0MzNhOWQ5MGU3ZGEzNTFlYzU1NDEzMmNmNDc2MWNlNDg4M2QgcHkzaworNTg0MTkgYmYxMDE0NDQ4YzQxN2Q5NDg1NmViM2MxMzdkY2MyYzNjZDQ5ZTRiYSBsZWdhY3ktdHJ1bmsKKzU4NDIwIGI2Mzc4ZmE2ZTE2NDkwYTcyYTRmNmZkNTZmZGNjNGMwZGI3MDEzN2EgbGVnYWN5LXRydW5rCis1ODQyMSBjYTliMDhlN2RjMjNkYTAxMGIwZjFkMWE3ZWZmYTI0ZDVhZDE0ODhhIGxlZ2FjeS10cnVuaworNTg0MjIgZTQ5YWU5OTgwODA4MjJlMzQ3MWE5ZDRhY2FiN2I5NTBmODY2YTZkMyBsZWdhY3ktdHJ1bmsKKzU4NDIzIDE2ZDRiOTA0ODUxZmUwYTFiMTc0NjI0NmU3ZjIzNmU2NjdlNGU2MWEgbGVnYWN5LXRydW5rCis1ODQyNCBjZGEwYjYyNTI3NWE2MWIxYTZiMWRjZTI0YTRlOGMyNmZhZWMyNjUxIGxlZ2FjeS10cnVuaworNTg0MjUgOWI2YTQ3M2NmYTIyOGIyZDcyZTY0ZmQ2YzliYzBlYjA2MzEzZmEwOSBsZWdhY3ktdHJ1bmsKKzU4NDI2IGE0NGU0Y2MzM2Y1ZTAzZGNlZTU5Y2QyNGMzMWNhY2RkNWU5MjYxZmUgcmVsZWFzZTI1LW1haW50Cis1ODQyNyBhMjYyMTc4YzFjMGFmNDUyY2M3MTlmZjNmOGVmMjUwOTJlZDNlMmU4IHJlbGVhc2UyNS1tYWludAorNTg0MjkgYTNmZDZlNTliYTgzNmVjZjQ3MTM4MDgwNjZjMmU3OGM2OTg1N2M3OSBweTNrLWltcG9ydGxpYgorNTg0MzAgODFmNTk4YTc2ZjU5ZmEzNDI4MGU2NmEwNDk2YzEwOGM4NWQ3NThhMSBsZWdhY3ktdHJ1bmsKKzU4NDMxIGZjMDQ4YjcyYmYzZDA4YWJhNDY4NDk2NWJiZDczMmVlNDc5ZDlmOTcgcmVsZWFzZTI1LW1haW50Cis1ODQzMiBkMGJhMzlkZTdhYjdlNTBjODEwMDMwYWY2OGRiMjBkYjRkZjMxMjlkIHJlbGVhc2UyNS1tYWludAorNTg0MzMgZmIzMTBiODYyMGVjZTFkMTY1YzU3NjA1NTBhOWFjZDI2ZTI1ZDBlZCBsZWdhY3ktdHJ1bmsKKzU4NDM0IDk2MDMyMjFiYmE5MDJhYjAzMmQwZWI0NjBjMjJjNjdmMjAwMGRiZmIgbGVnYWN5LXRydW5rCis1ODQzNSAxMDRkMmYyOWY4ODZiOGM5MmViNzU1MzIyNGVhNWY1MWYzMmViYmY1IHJlbGVhc2UyNS1tYWludAorNTg0MzggNmE5N2Y3MjYwY2FkMDk4NWYzOGYwZGU0YjJiZTFjZmRiNzZmZWI3ZiBweTNrCis1ODQzOSA4MzNiMGU3ODE1MDZkYWQwYTI5MjQ1Y2MzYWE2NzFiZWQxZmRjMzg1IHB5M2sKKzU4NDQxIGZiOWQ1MzA2ZjRjNzIyNDBiY2ZkNGQyNDNjNDIzMzI2Y2VjYTE3ZTkgcHkzaworNTg0NDIgOTkzZTI0YzcyNGI4YzdkMzJiY2I5M2QxNWVhY2IxOGZlNTU0NDE0YiBweTNrCis1ODQ0MyA0ZWE5NDVjYmJiNmQ0OWQxZTQxMzUxMzI4Y2JlOTQ5Y2U4ZjBlMDU5IHB5M2sKKzU4NDQ0IDQ4M2NiNDFhNTY5MWJiNTU2YWY1MjI5ZDc3ZGM1OTU3ZGQyZGY2MDMgcmVsZWFzZTI1LW1haW50Cis1ODQ0NSAzNTg2NjMxZDhkMjFjNTkzNjc1ODNkN2YyNzhhNmFhYTQ1ODc3ODkwIGxlZ2FjeS10cnVuaworNTg0NDYgOWYwMzY2MjYwY2ZiYjQ4NzM3MDhlZjFhMDVlMjQzMzRkMDMxZmIxMiBweTNrCis1ODQ0NyA2NDRlMjhlYTliMjJhNDYwZmZjMGM1NzJjYjQ2NzNiMzliYTM4ZjY5IHB5M2sKKzU4NDQ4IDhlNzJkYWNmN2YzYTUyN2IxMjVhNjg5ODk1YWEwN2VjYWI4NjFiMGUgcHkzaworNTg0NTAgMDJhMzNkY2E0MDAxYTU4ZmM5ZDVhZWYyNzgwZDQ2YmZmNzFjZjg2NiBsZWdhY3ktdHJ1bmsKKzU4NDUxIGMzYTI1ODIwZjUxMjM1Y2Q0YmU3ZDQyNjFkOWE1YmFjZTczN2Y5MWQgcmVsZWFzZTI1LW1haW50Cis1ODQ1MiA5OTI1Y2UxZmQ3YmU3ZGZiNDY3OTg0NzEzMDIzZTFhZmExM2Y2NDgyIHB5M2sKKzU4NDUzIDMwNmQ1Mzk1ZGZhMjk5ODA5OWU0OTUzZDVhMWY1ZDhjZjY3ZTlmOWQgbGVnYWN5LXRydW5rCis1ODQ1NSBhYzYyZWIyNjcyMDZlMTVkMzk5NDRiNjYzYTc3YjYwOWU5OGQ2MDJhIHB5M2sKKzU4NDU2IDAwMTU1NzJkMTFiY2Y5ODYzZjExMDYyNjhkMjFhMmVhYmFjNzgyMDYgcHkzaworNTg0NTcgOWZiZjczM2EwNjM5YmVhNzdkOTEwNWJlYzFhODdkZGI5N2FlYzJlYyBweTNrCis1ODQ1OSA0ZTA1YzI0ZTI2ZjhhNTM0YjY0YjY5ZmVhMWEzNGRhMzAwN2U4Y2EzIGxlZ2FjeS10cnVuaworNTg0NjAgN2UyN2Q1MGM4NjcyMWU2MWZmZmZlOTcwNGJkNjYzYWU4MzY3YjdjYyBsZWdhY3ktdHJ1bmsKKzU4NDYxIGI0MDM1ZDM2NjViYjgzMDIyMGIxYzM1ZDU3ZGZmZDU2Y2JlZjYyZjcgcHkzaworNTg0NjMgMTI2ZDJmYjczNWI1YTI2NGMwNmE1ZjgxNTM2YTYzMzEyM2QyMGFlOCBweTNrCis1ODQ2NCA1YWQ1NzhhZTk4NzNlNjE3NDY3ODA4M2QzZWEzMDMzNzNiMjI3ZTEwIHB5M2sKKzU4NDY1IDkwMjk0ZDgwYTNjNWJjZmRlNmEyMzk5MDQ1MjIxNTJjMmNiOTg2ZWEgcHkzaworNTg0NjYgMTkzMTllNzBmYzNlZGJiNDViMmQwMDcxNjFjMWIzYTFkZTA5NDE4MSBweTNrCis1ODQ2OCBhNWE0Yjc4NmJiMjE1YjZiMGE4YmE5NDBiODQ2YzExZTE0Y2Y0ZDY3IGxlZ2FjeS10cnVuaworNTg0NzAgMjE5NWQxZjE3OTU4M2FmNmYwYzNlZTg1ZmY1OTdjZTZmYmRlZGQ2NyBweTNrCis1ODQ3MSA2OTc0MDBmY2U3YzVjMDRiNWIxN2RlOGVjNzBkZTdkYzIyOGMzNWVhIGxlZ2FjeS10cnVuaworNTg0NzIgNTA1OTliYmIwYzY3MjM5OTJjZTc0MjQ3YWZmNmZiZTg5MDk4ODQ5NCBweTNrCis1ODQ4MSAxNmUyMzdlY2UyN2QzOWQ0NzgxNTRlYzhlYTBiMDU2MDIxNDRjZGVkIHB5M2staW1wb3J0bGliCis1ODQ4NSBjOWU2MWQ2NmZmNjUxODI4MWVjNjQwZDNlMzM3MGQ2ZGRmYWM1YzU0IHB5M2staW1wb3J0bGliCis1ODQ4NiA2Y2I2Mzk3ZDIyMWFmMmE4YTM3M2Q3ZjZlYjNhMDNjMTkyOTMyYjNjIHB5M2sKKzU4NDg4IGQ3MTM4NGNiNTYwNDRkYTE5OTFhZmVmZjNiN2U3NmExNmM0N2ViNGMgcHkzay1pbXBvcnRsaWIKKzU4NDkxIGU3MmFkNGQyNTZlODQwYmI3ZDk4NDUwNTUwNzNmMGIzODAwYzk3N2MgcHkzaworNTg0OTMgNjk3Y2MzMWE4M2Y2NWU5MjBkMmYyMjNlY2RjZGRiOTI2ODhlZDI3ZCBweTNrCis1ODQ5NSBhY2U0NWIzNjFlODczZTBlMTdkODIyMDk2YmJhMzM0NjU5MTRhNTFiIHB5M2sKKzU4NTAwIDQwNjAwNDdiM2YxZDNiMjBjZjAxNDg3MmRhMTExYjQxYzZmMzk1NDUgbGVnYWN5LXRydW5rCis1ODUwNiAwNDZlZGFhMTU2NmE3Yjg4NWQ2OGI1ODRhY2VjY2RjODFjNjJjMjBhIGxlZ2FjeS10cnVuaworNTg1MDcgN2NhMGJjMGFkOTYwMzViY2NkMDUxYWIyNGIyNDQ3ZTkzMmNmODU0MSBsZWdhY3ktdHJ1bmsKKzU4NTA4IDAxNmRhOGUyZjk0YjhjYzM4M2MwZDk0NDYxNjE3ZjE1ZjkyYmM3NDMgbGVnYWN5LXRydW5rCis1ODUwOSBjOGVlMjYwNzMwNTAzZTk5MWYyMWFhZjRlMDBjZmVhMTc5NmI3MjdjIGxlZ2FjeS10cnVuaworNTg1MjIgNjE1N2UwZDI3ZWVmNjEzOTRhZmRkNmM4M2FkNGVkMWM4OTBmMTA0ZCBsZWdhY3ktdHJ1bmsKKzU4NTMwIGRhNDQzMzRlYmVhMjQ1MmNiMjMwMmI4MzhlYWY4Y2UwNjE2ZTE3ZGQgbGVnYWN5LXRydW5rCis1ODUzMSBmMWY3MDFjMjI0YzFjMGI5ZTRiZGQ2OWU0YjVlYjYwMDIxZmIwYjcyIGxlZ2FjeS10cnVuaworNTg1MzIgMjdhNGQyMjRlYTFiOTA5YWFjYjhhY2Y4OTgwYTljOTk2ZWJhNzlhYiBsZWdhY3ktdHJ1bmsKKzU4NTMzIGI4MzM0NmYzYmZhZmRhNGMzZjE3MTkyYTMxZjdlMTE2YjNmZmVkZTEgbGVnYWN5LXRydW5rCis1ODUzNCAxNDNhY2JiZmFmZDdjNzA2ZWNjZjg3OWM5OTYwNGEyODI2ODY1ZWExIGxlZ2FjeS10cnVuaworNTg1MzUgNmRiN2JiZThmMjdjZTY3MjQyZTk2ZjAyYjY3YTBlYmI1NGFhZWMxMyBweTNrCis1ODUzNiBkMjE2NWRjMWIwOGRmYzA2NTE5NmRmNGY4ZDBkMjc2ZGIyYWIyOWY4IHJlbGVhc2UyNS1tYWludAorNTg1MzcgY2MxNTgzNmI2ODA4Yjk5OGZiZWQ5NDE5NmY2NzkwZWIyODdhMWMwYSBsZWdhY3ktdHJ1bmsKKzU4NTM4IGU5YWY3MDYzODg4OGRmZDBmZDA5YzFiZjFlNzUxODM4ZjM4YjdkM2EgbGVnYWN5LXRydW5rCis1ODUzOSBmMjY3Nzg0MzA0NzAwNGRlNjM2MDM0MmJlNmRkOWI2NzdmODJiMTQyIGxlZ2FjeS10cnVuaworNTg1NDAgNDQ1MDdjNGRlYzJiNWYyODQ0ODdjZWQzMDYxNDgxNWY4MzQ3MGJmNSBweTNrCis1ODU0MSBkMzdjMDA1MTQwNmU2NmU0ODNmOTUyYmFjODJhOWM2NDRlYjNmMDk0IHJlbGVhc2UyNS1tYWludAorNTg1NDIgNTQ4ZDA2ZTk4ZjU2NDVjZjcwNjQ1MDU0MjVlZjUwNDlhZDI0MmM4YiBsZWdhY3ktdHJ1bmsKKzU4NTQzIGJiNWNiODllZmUxOGFlOGMwZTQ1NTRkYmU3ZDMxMDYxZmI2MDI5NmUgcmVsZWFzZTI1LW1haW50Cis1ODU0NCA5NmFmNDFlNTBlNTYxMTdjZDZlYWM3ZTdlMjY5OTczZmMxNjNmNGIwIGxlZ2FjeS10cnVuaworNTg1NDUgYmRkOTI0MjUxODBmNGJkZjMzYmFjMmE0MjBmMmU3NTkwNWRhNTVhMiBsZWdhY3ktdHJ1bmsKKzU4NTQ2IDIzMjBjZDRmNjhiNThiYTdmZWIxMjY4OTcxMTNjYTE5YmEyZjg2NzQgcmVsZWFzZTI1LW1haW50Cis1ODU0OCA4YTAxNjc0MTYyMjMyMDU5MjVkZjVjNTQ2MGJiNDJlOTE1MzY2NjM2IGxlZ2FjeS10cnVuaworNTg1NTAgODA3NDRjOGQzNGQ4YjE0Y2M1MmNmMjE5NDA2MjBmZTE1NDNmNzg2ZCBsZWdhY3ktdHJ1bmsKKzU4NTUxIGRkMDNhYTc0MWY1Njg4OWM1MTI2MjhmNjI2ZjUxZjEyZmZiZWNhM2QgcHkzaworNTg1NTIgYjE4ZjYwOTJmNmUwMTc3ZWQyN2VkOGVmNmNmMjM2OGJkOTM1ZTg4ZiBweTNrCis1ODU1MyBhMmJiNzZkMTFkNjZiMzEzZTRhOTU4ZmRlNTAyODE5N2NmYzc4MTQ5IHB5M2sKKzU4NTU0IDU3ZjNmMTI2ZjNmNzAxMmNiMmNlZTE0Mjc4NWU0YzU3MzRiNTM3M2EgcHkzaworNTg1NTUgNzU5MzQzNjA1OGRkNTMxMDE0MmZmNDUyYzBlNGJiOWJmZmEzNGVkMiBweTNrCis1ODU1NiBmMGJjYzExY2E5NjU2NTlkNDMxYzkyOGMyYTdiZWFiNzg4ODFmYjI1IHB5M2sKKzU4NTU3IGQzNzhhY2RjMzBlZWQyMmNlOGQ2OGI1YmY3OGZhNWYzOTc2ZDRiZWYgcHkzaworNTg1NTkgNjVmZTE5NTUxOGNiMmZkMGJmZmE0ODE5Mzc3NTcyZmJiYTMyMThmMiBsZWdhY3ktdHJ1bmsKKzU4NTYxIGNiOTRlYmQ5YWZhN2ExYWNmNmY5NTVkNGZmZmFhZTA3ZWMwMGZmNjEgbGVnYWN5LXRydW5rCis1ODU2MiBhMjE0MGViNWZjNmFjZWYxNGU4ZGRjOTc5Nzc0MWFmMTRhNzc1N2IwIGxlZ2FjeS10cnVuaworNTg1NjQgM2NiNjc4NjI4YWYzOGU4NTZjZWUzZDM2YjgwNmM4M2RkMTBiZTRjNyBsZWdhY3ktdHJ1bmsKKzU4NTY3IDI1MmI5ZDIyY2E1NTVjNzBjMmI4ZjIwYzA0NGJiZDY5ZDc0MGUwNDYgbGVnYWN5LXRydW5rCis1ODU2OCBkNzI3OWMzMjFiYjdjYzhlMjRkYzNjYTVmZmE1MGI3OTMwN2FkZDUxIGxlZ2FjeS10cnVuaworNTg1NjkgMjAxZGQwOTQ5OTk5MGVmMTI5YWEwZWU1YjQ4YzY2ZDVhOGNiMjI2NyBsZWdhY3ktdHJ1bmsKKzU4NTcwIGM0Y2MzYzI0ODlhMDQ4Mjk1MGI5ODFkMWYxNzg5OGM3MmRjOGFhNWEgbGVnYWN5LXRydW5rCis1ODU3MSA4ODk5N2YwODIxNzQ5YWQwZmUxNTZjNzE1MWIyMGYzN2FkNzcwNjVkIGxlZ2FjeS10cnVuaworNTg1NzIgNWU0MjExN2Y5Y2JjYzAxMDUzNTBiMTRiMjk5MzQ3ZDBlYjUwNDk0ZCBsZWdhY3ktdHJ1bmsKKzU4NTczIDI1Mjk2ZWMwMmIxOWM1MWZkMmQxZjQ2ZWU0YzU3NjBhYjFmMjRlMDggbGVnYWN5LXRydW5rCis1ODU3NCA1Y2JhMTRhNTY0ZmRkZmFlZDgwMDE2ZDc1NjFlYmQzMDFkNGUyM2IxIGxlZ2FjeS10cnVuaworNTg1NzUgOGZlMjI2OTMxZWU3MjFhZTNkY2ExMTVhZDRjODdhNmYyNmM3ZDZmOCBweTNrCis1ODU3NiA3YzM1YTU5MzE3NTVmZDY1ZDAwZjgwOTA5NGM2MTNiMTI1YTkwYTUxIGxlZ2FjeS10cnVuaworNTg1NzcgMWJmNDc2MjM5ZjM5NTllMjBiYzBkMDU5NWQ1MzczMzkzNDI2MjU2OSBsZWdhY3ktdHJ1bmsKKzU4NTc4IGE1NzYzNTEwMGRjMzk0NmIxNjZkMmFlN2Q4MGNlYjU4YWQ0ZmI2ZWYgbGVnYWN5LXRydW5rCis1ODU3OSA0ODIyMGQ2NDRjOGUxMDlhMmMwMTNhNDAyZjllNzczZmMxYjk0NzA4IGxlZ2FjeS10cnVuaworNTg1ODAgZmFmNWRlNjllOTc3MWU2NzY2YTA4NDBhZjUyMzEwNjc4YWE5MjA5MiBsZWdhY3ktdHJ1bmsKKzU4NTgxIGM1Yzk3ZDdhZTkwY2U4ZjRmNWU3ZTQ4ZTdlNjcxYTI1ZmNmOGIzOTYgbGVnYWN5LXRydW5rCis1ODU4MiA0ZjY2MmJhMDlmMWZiZTM4NjFmY2Q1YWU4NWMwYzM1MjZkZTFiZTMzIGxlZ2FjeS10cnVuaworNTg1ODMgNmRmOTg1NzQ0ZDk2NzhmYThiMDhmMjlhOWRjOWY4NmE0NzJhNjk4OSBsZWdhY3ktdHJ1bmsKKzU4NTg0IDAzMDU2MzY1YTFiNjYyY2FmMjg3NmM0M2FkM2ZlNWU4YmU3MzhiMjIgbGVnYWN5LXRydW5rCis1ODU4NyAwMDY3YTZhYjQ4NTRlNzE2NTdhNWJiOTJiNzJhZTI3MTdmMjZhMjZkIHB5M2sKKzU4NTg4IDkwMjEyNWI1OTRjYzg5OWY4OGU3MDU3OTc5ZWU5ZDk0NTA1YTU1NWQgbGVnYWN5LXRydW5rCis1ODU5MCAxNzgyNTgzZjExNThiZjM1OTAzNTk3Zjk0YmZlMjhkYmVlZGUyNTAxIHB5M2sKKzU4NTkyIGE1OGYzMTkzN2RhZjljZGNkYTdkYzkzZWZlYjQxYTcyZWFmZjZjZDEgcHkzaworNTg1OTMgZTgyZDlhODhlZDllNDI4NTJjNWFkZWYxZDRjMzVhZTdhNzhhMGEzNyBweTNrCis1ODU5NCBiNmEyOWEwZWEzMDdkMzkzOWRlNzg0ZTA5ZWIyMGI5NTdiYThiOWYyIGxlZ2FjeS10cnVuaworNTg1OTYgYjEwNTQ0ODI3YWY3MGIzNTcwM2MyYTRmZjNmYjQzOTNhM2JhODc3NiBweTNrCis1ODU5NyBhMzJlN2VjOTMzOTRlMTUyNWRlY2NmYWIyMWU5NjlmYjFjOWMyMjdlIHB5M2sKKzU4NTk4IDA0MDg4YWJmNGU0ZmQwM2U3ODg1NDU2ZmUzOGQxN2ZjM2Y4NDRiNmMgbGVnYWN5LXRydW5rCis1ODU5OSA1M2VlODk0M2QxNjU4ZGFhYzNhODBmZjgxOTcxNzUwMjg4YmFmNGZiIHJlbGVhc2UyNS1tYWludAorNTg2MDAgZGM4MWJjZmMzNTFhZTAxYmEzN2UzZjNiNjc3NzQ0MDg3ZmE3N2M2OSByZWxlYXNlMjUtbWFpbnQKKzU4NjAxIGViOTA4YTE5YzA1YTI0ZTA4MDMwNjZiODY1Yzc1MzhjOGIzZGExNTAgbGVnYWN5LXRydW5rCis1ODYwMiA5NWQ4YzkxM2U4YmYzNjExMmVjNzdiYTYzNmM3MTFiYjFkZDE0MTNkIHB5M2sKKzU4NjAzIDk5NTI2YzQwMTQ3YjE0NWI0YmMyMGEwMTc5ZGFiZGRiYjZjYWJhYTAgcHkzaworNTg2MDcgY2Q1YjM4M2EzOTdlNmUyMTJkZjZmZmI1ZDMyNmJkZDJhMmNhY2IyNiBweTNrCis1ODYwOSA0NDFkNjA5ZDA5NmI1ZGY2NjAzZTE0Zjc0OGNiYTQ3OTYyODYyNDlkIGxlZ2FjeS10cnVuaworNTg2MTAgNjM0YzNkNDA0OGU3ZDdkNzBlNjUxOTYzYjFjNWQ4YWVkZTgxYzljOSBweTNrCis1ODYxMSBmOWI3OTU0ZDc4OGQ2MGNkMDRkNTI0ZWYyMjZmNmZkYWRhODc0YjFiIGN0eXBlcy1icmFuY2gKKzU4NjEyIGRhODIzMGZhZjJhZWJiZmEzMTgwYjQ4OGFhYzUzODliYjJmMmFlNjMgcHkzaworNTg2MTMgYzlmMjg2OTdlMTk5NWI5MzAwZDIwNjZkYjU1ZWFiZTc0ZTMzOTRiNyBweTNrCis1ODYxNCA3OTkwNGU4NDFkZjM4MGM2MGRiYWM3MGY4OTg2YjRjMWJhM2U0ZjAwIGN0eXBlcy1icmFuY2gKKzU4NjE1IDM0NzkyYjllNGI0MjhkZWIxNGQ2Njk5YWZjMWI3YTRmZDg0NTRmMzcgY3R5cGVzLWJyYW5jaAorNTg2MTcgMDAzZDM1MjE1ZWYyYWM2MjY3ZWZkMWNhNGM1Y2E1ZDcxZmY5ZDNlZSBweTNrCis1ODYxOCAwY2ExZDI5YjgzYzJiNmRhOWRhYWU5ZDJiMTcwYjhkYTk4ZGVmY2ZhIGxlZ2FjeS10cnVuaworNTg2MTkgMGM3NmU1M2MxZDY1MmUxMzc4ODNkMTlhNzVmNTFjNzk2OGRiZDQ4ZSBweTNrCis1ODYyMCBhMDk4M2Y1NWM5NTc1Y2VjZmZlMGQwNGY5NTZhZWVlNDFjMzJiZWIzIGxlZ2FjeS10cnVuaworNTg2MjEgYTc2MGMxYTA3ZDI2ZjBhOGYxMTU2NWY3YmEzZTdjZTgyYzE3M2I3YyBsZWdhY3ktdHJ1bmsKKzU4NjIyIDM2YjJhYWY0NTdiNGFlMmI4NDJjZGYxZWVkMTg0NzgzYWI1NjJhYzMgbGVnYWN5LXRydW5rCis1ODYyMyAwOGVlMjU2YTliZDExOTE2NDIzMDMyNmZjMjU2YTk5Zjc3ZmFiZmU3IGxlZ2FjeS10cnVuaworNTg2MjQgNzQwOGUxYWU5OGM0YTA3NWJjYThhYmVjYTdhNzg2YTE3NWI0YTAzYiBsZWdhY3ktdHJ1bmsKKzU4NjI1IDk3NGU2NGNjMDgzZGNhOTI2Y2Q0MzFjMzUwNTQ2NDk1MjY5MGUxZmIgcmVsZWFzZTI1LW1haW50Cis1ODYyOCAzYTE0YzkwNGRhMjMyN2MwNDEwZGQyMGE0N2JmYTM5YjQyMmEzMTJiIGxlZ2FjeS10cnVuaworNTg2MjkgNzMyMjc1YzQwMjZiNTIwYmE0ZTE2NGU2Y2RjOTBjZDUyMzAyZTgwMCByZWxlYXNlMjUtbWFpbnQKKzU4NjMwIGU1M2Q5NWMzYzBjNGRiMTRlOTllYmEzYWNjMTY5OWYyYjY1NjRlM2UgcmVsZWFzZTI0LW1haW50Cis1ODYzOSAzZGY1Yzc0NjE2MDNjZmE5YTU1YmVjNzlkZDBmMTU3Y2I3NGU1ODE3IHB5M2sKKzU4NjQwIDMzZWZiZmMyOGQyYjM3OWI1M2M1MmQyNzdjYzJlNmI0N2NlZmVlOWQgcHkzaworNTg2NDEgNTkwYTFiZWVlZjg5ZDFkYWMxZGNiMTI0YmVmMzNjYWM3ZDZhMzdjOCBsZWdhY3ktdHJ1bmsKKzU4NjQyIDdjN2I0MmY2NGY0MWQ0MThkODM1ODRkODdlNjRiMmJjN2FjOTUyYzYgcHkzaworNTg2NDMgYmFjMzQzYWRmZmQ5ZDI3MzJmN2JhNDFlYzZkZjEyZjNiYzMyNDMwNyBsZWdhY3ktdHJ1bmsKKzU4NjQ1IDNlNjM0OGJjOWEyODM3NDkxMDQ5ZWJjNjlhN2JiMThkODUyOTIxMTkgbGVnYWN5LXRydW5rCis1ODY0NiA4ZGVhNTk5NzliYTJlOTg4YmFlZDUyZWU1YTIzZmRiNzQ5YTk0M2VhIHB5M2sKKzU4NjQ3IDU3YzBkMDg4NDMwNjQ4NTllZTFkZmNiNmE3ZTFjY2VkYmE4N2JiMmIgcmVsZWFzZTI1LW1haW50Cis1ODY0OCA1MWJhMTJlMGExZDUwZTI3MzMxMWU3NDZlMTJlNjJlMWU4ZDg1MGUxIHB5M2sKKzU4NjQ5IDhmZTI0ZTVlZWVmZmI5OWQzYmFjYzQ5NWI5YjA2MDdjOTc4ZTNjM2UgcHkzaworNTg2NTAgZDY2MDE4ZWQzZGVkNTkwYmExZjZjNjY3MDVlYzNhYjAwNDAzN2RlYyBweTNrCis1ODY1MSA5MDBlZjBlYjNmOTRiNTAxMjUwMWY0MDI4ZjlhZWRmMTE1OTYwMDk1IGxlZ2FjeS10cnVuaworNTg2NTIgMzVkYTkxNWFkZWRjYWNjMWEwMzJhOGE4NGI1YzE3ZTc1ODdlZjE1ZiBsZWdhY3ktdHJ1bmsKKzU4NjUzIDgyMzc3MmYxZDJiZTkwOGI1YzU0OTJlMGI3NGIzOGJiZGI5OTJiOWUgbGVnYWN5LXRydW5rCis1ODY1NCBmZWQ2NDMxNGQ5NDQ5ODNmYjNmZmI4MzM4MDk0OTliN2JhNzIyYjg1IHJlbGVhc2UyNS1tYWludAorNTg2NTUgNTMwNTczY2Q0ZjdhNzc4MTY4YmQwNjFkZmFjYThhMjAwZmU5ODI3ZCBsZWdhY3ktdHJ1bmsKKzU4NjU2IDUwOWE3MzZlYmRiOTcwNjIwNjZhMWRhNTcyMGI0ZmU5YjI5MzBmNjUgbGVnYWN5LXRydW5rCis1ODY1NyBhODgxOGZmZTI0ZDExZjEwMTQ1YzM1MWU0YzY4YTk1Yzc1ODA4OTI0IHB5M2sKKzU4NjU4IDcwNzVkNDY0ZDkzODQ1M2ZiMzg2NDI5NDY3NjVmYWY1MWRiZTNjOWUgcHkzaworNTg2NTkgMDZiZGI4NDM5ZTI5ODRjMjc2NDc2MDgyOTUwMDM5ZTljOGUzMTdhYiBweTNrCis1ODY2MCBkM2JmMDA5ZmJiYTk4ZDNiN2MzMjJkY2YxZWNlYWRlNjNiODY4ZjdmIGxlZ2FjeS10cnVuaworNTg2NjIgNGJiNmEwYzM1M2FiNjg2ZTc2NTcxMmYyNWIxNjRlZDhhZTFkMTlkZiBweTNrCis1ODY2MyA1YjEyYjBiZDgxODgwZTk4ZjAwZTljOTczNjJhZmRiNTdlMzVkNGExIHB5M2sKKzU4NjY0IDE5OThlZTBlZmYyYzEyNjZhOTA3NWY4MGMyZmQyMTQxYTM1NzdjNDggcHkzaworNTg2NjUgNmFiNjRmNmI0YzAzMTdlNzEwYWJhNzllMDVjMWM4YTZmYTNlZTM3MCBweTNrCis1ODY3MyAwNjUzMTg0OGEzOTQ2ZWFlODk5M2E0YzRlZGFjMDg5MTEwYmQwYTkwIHB5M2sKKzU4Njc0IDY0Y2UzYmYzYTZhOWQzOGRjODUwYzYxYTFkMjY3ZTNjMjRiZWU2M2UgcHkzaworNTg2NzUgZmM2YmEwODhiZDc3Y2FiMThkMDkyOGE3Mjk4NzJkOTI5MTkyZDRlZSBsZWdhY3ktdHJ1bmsKKzU4Njc2IDVhNGU4YmRhZGI4NTA0Y2I3YTE3YWQxMTcyYWUwYmNlZDE1NjQ5NzkgcHkzaworNTg2NzcgNTBhMzQ3NWRiNDY2YjdkOWQzYmExZGRjYTcyNzFhNjAzNjVkOGUzMCBweTNrCis1ODY3OCAwNTAyYThjNjRlZjIwZWZmOGJiODljNTU1NzljY2Q2YTc0OTQxMjZiIHB5M2sKKzU4Njc5IDdmYjg2ODAyM2Q3NWFlZjg1ZmIyMWUxZTM0MjBhZTgyYWVlYzI0NzYgcHkzay1wZXAzMTM3Cis1ODY4MCAxNzI2YTRjOTE2ZjAxMzE0M2RiMGM4MDllYzZiZWRmOGM5N2FhOWNkIHB5M2stcGVwMzEzNworNTg2ODEgZmE3Y2Q4ZWFiMmQyYzNlMDdlYmFhZDAzZDNhYTI5YzdmZTZhMWJhMCBweTNrLXBlcDMxMzcKKzU4NjgyIGIxMDJiODM2MWQ1ZTkzY2VmNTQxZjc5OWVhZTMzZGEzYzlmZDExMGEgcHkzaworNTg2ODMgMDQwZjUyMmZlZTExMjM4ZjIwNmM4YTA2MWIwZGVhN2FmNmQwZjU0ZiBweTNrCis1ODY4NCAyM2U2ZWMxYjVmMzUwZDZmNTY1NGNhNzk2ZGViZjMzZTE0N2MxYjBkIHB5M2sKKzU4Njg1IGZmYWE2Y2U0YmZiNDc4OWJlY2ZiOWY2Zjc5NjdmYTZiMzM1ZDA5MjYgcHkzaworNTg2ODYgZDQ2YTMxZjVjNWRmMjZiMDkxM2Q2MmUzYWQ4ZTMzZTZiMDZiMjkzMCBweTNrCis1ODY4NyBmZDRkMTBlOTkzYjc5YzQzOGViMWIyYzY3MGVhN2Q1ODVhNjU3YjY5IHB5M2sKKzU4Njg4IDk3ZTJlODljNjU5MTJmMmQ2MjJhNTU5MDMzOWNkMzNhYTQ1MGVhNzkgcHkzay1wZXAzMTM3Cis1ODY4OSBlMTg5ZDMyYjM3MTkwNjhiYWY2YmYyN2VkYjY0NzAyNjZkNGEwMjdjIHB5M2stcGVwMzEzNworNTg2OTAgNjFiYzgyZGYzNWZmOTA2YTczNGRkMmIzZjdhNWM4MzVjYTA4NDUwMiBweTNrLXBlcDMxMzcKKzU4NjkxIDVkMGJlOTdmMTcwNDBjZjNlNGJkYzcwZDE0MDdiNTQ4OTcyNDQ4YzggcHkzay1wZXAzMTM3Cis1ODY5MiAyZTllZGNkZGRkNDQzYTUzY2Q4ZmQ1YTc1MzY1ZGE2NWYzOWZjMDNjIHB5M2stcGVwMzEzNworNTg2OTMgZGFjYzczMGM3Mjk4ZDU5MDI2MTkxODNjMTI3YWI2NmI3ZGRiODgxZCBweTNrLXBlcDMxMzcKKzU4Njk0IDhmZDNkYjY1MzMxOGViZWRkODA2ODdiZjBkYzY0NGFmNGFmMjZkMzkgcHkzaworNTg2OTUgZGM5ODE2MmVmODQ0ZjBhNmYxZDJkZTA2OTAxMjI2NTE1NWEwMDg5MCBweTNrLXBlcDMxMzcKKzU4Njk2IGY1YmM5NDgxZjg4M2ZjYTY0Yjk1ZTNhZjI3ZGY2ODEzZTIzZWQ3MTAgbGVnYWN5LXRydW5rCis1ODY5NyA2MDhlZTRiODIwYWZhNzIwY2RhMzgxM2JlZThmY2JhMDIxZGE0NzIzIGxlZ2FjeS10cnVuaworNTg2OTggMzY1OTEzZDdhZjdkNjVkNDhiZGY0OGY2N2UxMzEyNjg1ZmFiN2IwNyBsZWdhY3ktdHJ1bmsKKzU4Njk5IDkxZmQ2NTA0NWVlZTY4YWRiZjg0ZWZmM2Q2NjA2ZDY0MTk3N2MwMGEgcHkzay1wZXAzMTM3Cis1ODcwMCA3MzYwYzEyYmQ4MWQ0OWVkOGJhYzUxZDBmNzc1OTNjMjI0NjA4ZTQxIGxlZ2FjeS10cnVuaworNTg3MDEgNTFhNzM3NDEwNWFjNGMzZjVjYjUzMTg3MDI4ZmJiMGY2OWJjZWUxNyBweTNrCis1ODcwMiAzZjQ2N2FjY2VjZDJlNDYyYjBkN2I1YmRmOGVhNWI2ZGZjYTg5NTQyIHB5M2sKKzU4NzAzIDEyZDIwZmRmZWE2MmY1MTk3NGM1MDVjOTliMjI1M2IyOTY2YzVmZjUgcHkzay1wZXAzMTM3Cis1ODcwNCBkOGY3NDQyYjhjYWU4NjZmYThmYTUxMmY5NzMwMDg4MTk0OGY1MTdmIHB5M2sKKzU4NzA1IGMzNDcyMDc3N2NiNjZmZjM0YWE0YmRlOGVkYjA3YWRjNzQ2OTcwZGIgcHkzaworNTg3MDYgNDBlM2EyZGI1ZDllMzAzZGQ3YTllZTA1NDE4MGMxODA5YzIzMzU0ZSBsZWdhY3ktdHJ1bmsKKzU4NzA3IDMyMzU0ODcwZGZiMmJiOGZmNjEyNmE2Y2MxZTM1YTVkZjQzNzNlNzMgcHkzay1wZXAzMTM3Cis1ODcwOCA3NmE1NWY3YjUwNjAwNzUyYTFhMjdhNTFmYmQ4NzUzYTY3MzE2ZjJiIHB5M2stcGVwMzEzNworNTg3MDkgMTI0Y2JmMWEwZTNlYTQ4MDUxOTJlOWU4N2M1Y2U4YmU3YzViNDQ3ZSBsZWdhY3ktdHJ1bmsKKzU4NzEwIGE1ZGQyNzhiMGMxZmJhNDBkZDc5ZjRjYzQ3OGU0NjA0ODk1NGViYWEgbGVnYWN5LXRydW5rCis1ODcxMSAwMGIxMzZiN2RhODQ0ZDMyZGU4OGQyZWFhNWQ5MjFhMmZhOTNkYThkIHB5M2sKKzU4NzEyIDQ3YzU1M2ViNzVkOTFkMjZiYTI2Mjc1NDYzZGE5OTFmMDI0YjQyNGYgY3R5cGVzLWJyYW5jaAorNTg3MTMgOGY3ZjZjODUwZGJkMjYyYjY5YzJiNTNjODRmMjA5Y2UyZTljNmQ2NSBweTNrLXBlcDMxMzcKKzU4NzE0IDI2ZmU3MDg5ZjE0YWYxZWJkMjM3ZGJmZTcxZGRiZDM1ZDAyM2NkZDggcHkzaworNTg3MTUgMzM0ODA3NjVmNjY5MzAxZmI0MjFmYjUwYTFkN2QzMGMwMzNmZDExOCBsZWdhY3ktdHJ1bmsKKzU4NzE2IGUyZmU1ODYwNGNiMWNlYmY3OGViNDY0YTAwYjc5MWY0MjUxMmJmOGQgbGVnYWN5LXRydW5rCis1ODcxNyA4ZWRlYjUxNjhiZjUxNjY0MTQ2NzNmZDhiN2FiNzg5M2M1ZDViMTBlIHB5M2sKKzU4NzE4IGMxMjE0YmQ2ZWQxNjA1MmU5OWVlMWVjZTAxNTQ2OTg1NDM4OGQyZmEgcHkzaworNTg3MTkgZTUxMGI3MTZiZDgwYjdhNzY5Y2ZkNWI5YmMxMzQ2NmFhNmE4ODkyNCBweTNrCis1ODcyMCAwNDY4MjY4NzgxN2ViOTQ0YWYwOTk0OGI1N2IxY2YxZGNhODc2NWY1IHB5M2sKKzU4NzIxIGU5MTUwNmI0Yjg1ZjhhYmQwM2VmOGY3NTNiYTQ0YmNlODAzMDRlNjUgcHkzay1wZXAzMTM3Cis1ODcyOCA3OGE4YWVhNmNiMGFlNTFlMzJkNWZjMjYyYTA5ZDYzZjUwNTRkMmY0IGxlZ2FjeS10cnVuaworNTg3MjkgZTIzNGQ5NzZiNWQ0N2I3MDAxN2M5YjQzZjcyZjc3ZDU5NjNlNjRiOSBjdHlwZXMtYnJhbmNoCis1ODczMCBlM2EwMWY0OTNlOTRmMzU4MzgwOGE5Y2RiNWI0NjBjMDQ3MmNlNTgyIHB5M2stcGVwMzEzNworNTg3MzEgNDMxYzVhMWE2MjkwMTEwZDEwZWU5YTMwY2RiZDAwMGI1NGQxYWRiMiBsZWdhY3ktdHJ1bmsKKzU4NzMyIGJjZjYyOWU0MzA4Mjc4M2IyNTJlZTBiMzUwMTFhYjhmZTEzMThkNjggcHkzaworNTg3MzMgNTI1MzFiNGY1MzVkM2I5NDk2OWVjMDc0ZjkwOWUwOTJhMzlhMTEyNiBweTNrCis1ODczNCBlZWIzNzI4MTg5NTk1NTdmM2ZmZDRjZTg4MzAwMDFkODM2ZjdmNGFlIHB5M2sKKzU4NzM1IGZlNTcwY2Q1YjE4ZjFmMmQ2NjcwZDU3Yjk1YzhhZDQ1M2IxMjA2MmMgcHkzay1wZXAzMTM3Cis1ODczNiBkNDdhMDRhMmUwYmI0NWU1ZTkxNjc5MTVhNTQ1YjZkMmE5YzZiYjUyIHB5M2sKKzU4NzM3IGVhNjUwMTEzNDI4NjhjNDIyYjllNzI4ZTk5NTk5NjUxYjcwNGM0MTAgbGVnYWN5LXRydW5rCis1ODczOCA2MGQ5NjEyMDQ2MGIxYzQ3MmVhOWRmNDMyOGYwMGU1YWU3NzQ4OWMwIHJlbGVhc2UyNS1tYWludAorNTg3MzkgZTQyMGFhN2Y1MGNiNTBkYjM1NDU0OGM5MmY5MDBlOTUwZDhiOGY0MyBsZWdhY3ktdHJ1bmsKKzU4NzQwIDNlNzM4ZTUyYTNjZWIxMWJiZWE0NTczNDI1ZjU3NzcwMmE2NjA2ZmIgcmVsZWFzZTI1LW1haW50Cis1ODc0MSBiZWY4OGRhODIxYTRjMmM3MjY2OWEwZTRjZDUzNmZkNWYzZjZlM2U3IHB5M2stcGVwMzEzNworNTg3NDIgYTJmOWU2Y2VmMDJmNzhhN2E2ZTQ4NzBmZjU4NTViMzIzZGJkZTliMiBweTNrLXBlcDMxMzcKKzU4NzQ0IGZiYzZmYzZkYzRmZmUxYjJjMjc0N2M3MjUwYWI1NTgxN2E3NTk4YTggcHkzay1wZXAzMTM3Cis1ODc0NSA0MzFiYzkwOTQwMTk1NWEyMTAzY2QwY2Q2ZGFlM2E2YTM5M2IxOTA2IGxlZ2FjeS10cnVuaworNTg3NDYgMDIxY2VlMTg5ZjllMWFiZTViN2MyMDAwNzIyMTljMDUwMDNjMGZhNSByZWxlYXNlMjUtbWFpbnQKKzU4NzQ3IGZkNjg1ZDdlODU5YWExMGRiZDRkNmUzOTQ1Yzg0OGI3NzkyMmE5NjkgcHkzaworNTg3NDggZjg3ZGM2YTA0Y2VhYmEzMDdjMjA4YmYyYzFiMDJjYmEwODU4ODg5ZSBweTNrCis1ODc0OSAzZTVlZGYxOWQ1ZjA1ZDJmZmExZDAyMWRhNzgxNjE1ZmQyZDg1ZjA0IHB5M2sKKzU4NzUwIGJkMmY4YmIxMWJjYzM2MjUxYjFmMGM0NDBiNTU2ODg2MTc5OTY3MTcgbGVnYWN5LXRydW5rCis1ODc1MSBlOGQwMDNiMzg3MGYwM2UxNmQ1MjlmOGUzZTBmZmY4NmQ0MjVmOTgyIGxlZ2FjeS10cnVuaworNTg3NTIgM2Q4NjY1NzkxMTdkYTcwODk3OGRkNzlhN2QyYmVhNTllMGE5ODM2MSBweTNrCis1ODc1MyA3OWY1Y2E5ZWUxNTQ5YzE1ZjU1ODhjYTNlN2QzYTAxMTNiNGNkOWY2IGxlZ2FjeS10cnVuaworNTg3NTQgMGY3NDFjODlkODAzYWEzOGUyNzdhYWZkNTRkOWEzNmFkYmQzYzNkOSBweTNrCis1ODc1NSBjMDBkYzc1ODY3MTQzZTc5ODkwM2RiOTJmNWM2MTVkNzVkODlkNjJiIHB5M2sKKzU4NzU2IDJiN2FhZGJjZWEzNGY2NWU0ODM1M2FlNjllOWQ4Yzg2MjkxZmViZjAgcHkzaworNTg3NTcgMTU3YmIwMjg5MmJjOTRmNzA5YjQ2YWVlMGQ4ZTNlNzczZGVhYTQ4ZiBsZWdhY3ktdHJ1bmsKKzU4NzU4IDVhMWNkM2NhMGIzOTFjYjdlNDVlNDFkNmY1NTlhNTViNTFmMjJhMjEgbGVnYWN5LXRydW5rCis1ODc1OSBjMTliNjg0OTQxMWMwMzI0MDg3NjM5ZTRjMDg3OTViNWJiOWY1NDM3IGxlZ2FjeS10cnVuaworNTg3NjAgZWQzYzJhYWEwMDJhMmE3YjA5YjE0MWYwZGI3NTYxYmYzODI5ZTJiYSByZWxlYXNlMjUtbWFpbnQKKzU4NzYxIDk5ZmY5ZGNmMzc2MGUxMjhkOTg5Zjk3ZDNiNGI5OWZlMjgwNzQyNjQgcHkzaworNTg3NjIgZTVlYjkzYTBhMjBlMDUyMzFlODI4YTVhNTJhNTU5NGY4MGY1Yjk5MiBweTNrCis1ODc2MyAzMjc2N2I0Yjc5MjFhOWM5ZTljNmMyYjljNDMyYzVhZjYzZTNiZGMyIHB5M2stcGVwMzEzNworNTg3NjQgOGFjMjg0YjY1ZTM3ZTA2OGI5ODJhNzIyZTJjNDQ1MjUwZGUwMWNhZSBweTNrLXBlcDMxMzcKKzU4NzY1IDhhNDBiODMxYWI2ODk5YzUwNDkzOTQ0NzU5N2Y1Nzk2YjhlYzI3OTkgbGVnYWN5LXRydW5rCis1ODc2NiBjNDYyNGRjMGQ0MWIxMDdiYmFhZTA4ZDkzODA0MDhiZGI3YjAzNWY5IGxlZ2FjeS10cnVuaworNTg3NjcgNTg5MGQ1MTBhYTZmNzQ2NTE4OTFlNDZkOTVlZjExMGU5ZjhhY2ZiMSBweTNrLXBlcDMxMzcKKzU4NzY4IDg5NDhmODgxZTQwM2ZiMmQ1MWU1YThjYjQwN2QyOWQ1NjcxMzdjZTIgcHkzay1wZXAzMTM3Cis1ODc2OSAyNzQ4NmEwMmFlNjRmZDVhODk1Mzc1MDJlODEyOWE3YzA5NjVjNGZiIHB5M2stcGVwMzEzNworNTg3NzAgODcwZjcwNTYwYzhmMjg5MWIzNDBlOTE4ZWQwNzk0ODRkZmFjM2VmMSBweTNrLXBlcDMxMzcKKzU4NzcxIGI2YzhhNjY5Yzc5Y2EzNjYwOGYwODFmNDBmZWEyODM4MzU0Y2JkYzcgcHkzay1wZXAzMTM3Cis1ODc3MiAwNGJlODlmYTc0OTdjMjllMmEzYjA1MWNmZjY4MTJiMjYzMDkxMDQyIHB5M2stcGVwMzEzNworNTg3NzMgZDdhYjVhZjNjOThlYTk2NWU1NmYwZWYwMTQ4OTI0MGJkODk5NjFkMCBweTNrLXBlcDMxMzcKKzU4Nzc0IGI0ZThlNTIzYjg4MmVlMjZkNmUxNzRmMDQ1YzNhNjVlMmNmMTg4MjcgcHkzaworNTg3NzUgNWIzYmU0YWIyZmUxZDExZTMzYWRjMWU1MDM0ZDFlNDA5ZDFjZDE5NSBweTNrLXBlcDMxMzcKKzU4Nzc3IGVlMWJjODM0ZDhjNmZjZDY1MDUzNTZjOGY4MGY2ZjZkMDc4M2VkZjcgY3R5cGVzLWJyYW5jaAorNTg3NzggYzUwZTZmOTI0MTlmM2EwMmYwZDE3NjljMTA0ZWQwNzcyZTZmNjdlOCBjdHlwZXMtYnJhbmNoCis1ODc3OSAxMWMyZmRlNzhkNTc3MWI3M2MyYWQ5M2ZhY2E0Nzg5ZWQwZDc3OWFhIHB5M2stcGVwMzEzNworNTg3ODAgODkwNGEwYmNiZjRmZjkyMjZhYzljNjgxZTNlNDk3NjMzNGIyMzBmYyBweTNrLXBlcDMxMzcKKzU4NzgxIDJhOTM5NGZiNTBhYzE2Yzc5NjdiNjA5YzUxZDQ1MWFkOGU4Yzk5MGUgcHkzay1wZXAzMTM3Cis1ODc4MyA4YzdkYWFjMGQ0YjBiM2Y0NDZiYzcyZDZhODNkYjI1YjMzZDkxNjhiIHB5M2stcGVwMzEzNworNTg3ODQgNWZjYjY2MDJjNDlhOWM1ZGMxMTRkYzhmMmViNjdhMDFhNjQ0YzUwNSBsZWdhY3ktdHJ1bmsKKzU4Nzg1IGE3Zjk1ZTJiOTM1ODI0Y2IxYmJjZmIyN2M0YzI5ZWUyMjBiZGQ3NGYgbGVnYWN5LXRydW5rCis1ODc4NiBiNjEwODM3NzRjMDhjNDA1NGNjM2NjOGE2NGRhYjI2NzhjMmMwODYwIHB5M2stcGVwMzEzNworNTg3ODcgMDYwNDZkMTc5MGI5MzBiOTRkNTI5OWU5YTliMjg3ZDZkNDM4OTE5MiBweTNrLXBlcDMxMzcKKzU4Nzg4IDkwZDVkODRjYTI3ZDgxZjRiYmE4OWZmZDQ5MzdhZmIzMDZkYTBjYzIgcHkzay1wZXAzMTM3Cis1ODc4OSBhOTgyMzQ0NTE2NjllODUyMzIxZTBkZjMxNzhmNmEyZmRmOWY0NGI1IHB5M2stcGVwMzEzNworNTg3OTAgNmRhOTBhNWFlOWZhYTAzOGJhZjE5NTI2M2VmMGUwOTJjNTVhZjNmZiBweTNrLXBlcDMxMzcKKzU4NzkxIDQyNjRhMDdhMzlkMTNmNjk0NjU5ZGIyNjgzODVhNTIyN2ViMDgyZDYgcHkzay1wZXAzMTM3Cis1ODc5NCBhMDMwZWNlYTRjMjRiNzVjYWFmOGVkYzMxOGU5YTE3ZTUyNGI0YWRiIHB5M2stcGVwMzEzNworNTg3OTUgMjgwM2U5NmNjNjRhZjhjNDE3MGNkM2QwMGYwNGE3NjBiZmZhNGEwZSBweTNrLXBlcDMxMzcKKzU4Nzk2IDRiMzYyMzU2OGU2Y2Y4NGM4OWI1MzY4NWQyMDk1YTc1NTNiNWEyNmIgbGVnYWN5LXRydW5rCis1ODgwMCA4NDRhYzJjZGY3YThlMDU5MTFkYzRhNjlkMmQ4OTE1ZWMzODJhMzJiIHB5M2stcGVwMzEzNworNTg4MDEgN2M0M2Y0ZGNjN2M3YzBiODYwOWU0MmFiNGNhODdiOTlkNTJiN2VhNyBweTNrLXBlcDMxMzcKKzU4ODAyIDZkNDZmZWIxNjRiNmJkZjY3Y2I4MzVjZjBiMGMxZDQwYzUzMzQzMDIgcHkzay1wZXAzMTM3Cis1ODgwMyAwMGM5ODQ2NjYxNWIyM2FmNTY4M2U2ZjA5YjMxOWVmMzMzYjkyNDMyIHB5M2stcGVwMzEzNworNTg4MDQgOGJiM2U3NzY4Y2E2OGZmMjM4ZmZkZmRmMzZmZTczMzkzMjUwMWRiMCBweTNrLXBlcDMxMzcKKzU4ODA1IGFkOGMzZjllYzFiMjk3ODYyYTY0M2Y5MDI5Zjc5NDUzMWE3Y2JkNTQgcHkzay1wZXAzMTM3Cis1ODgwNiA3ZWRiZjI1OGNhZDAwMTE5MzIzOTU4MjZjMGNhNTJmNmYxZDY4OTU1IHB5M2stcGVwMzEzNworNTg4MDcgMTE5Zjg0MWJiODE2NGFkZmI3YzBkZWM5OTc5ZTQxMzM1OGU3MzA5MyBweTNrLXBlcDMxMzcKKzU4ODA4IDAxMTM1ZGRkNzI2ZGNhOWUxOWZmYjY0Y2FiMWJkNTkyMTM4OGQ4NDkgcHkzay1wZXAzMTM3Cis1ODgwOSAzNTc1Mjg0ODU3NDM1MzI4MmNlZjJmYjFkMWIzYmI2NjM4YTRkYjcyIHB5M2stcGVwMzEzNworNTg4MTAgYjQ5YjMxMDdlNDIwMzBjYmRmN2JmZWI4MDk0YTU5NzhjMWFkYmEzMiBweTNrLXBlcDMxMzcKKzU4ODExIGE4ZTdjYjllMzdjOTQ1ZDEyZjAzODA0ZTRkOWExNzRkZTAwZTRmZWUgcHkzay1wZXAzMTM3Cis1ODgxMiAxNDJmMjY5NDdhYmE3ZDg0MjExOWIwN2M0NjYxZDViN2MxYTY1ZGI3IHB5M2stcGVwMzEzNworNTg4MTMgZDI0OTU0NWJhNzkyMjRhNGNiMjY4ZmQ3MmRlNGY1OTQ5OGIxNzBkNSBweTNrLXBlcDMxMzcKKzU4ODE0IGNmY2ZhZDg3ZWI3ZDBmNGUxMjc2YjFkYjdiODA0NGQxM2VlN2NmN2EgcmVsZWFzZTI1LW1haW50Cis1ODgxNSA3MDRlNjcxMWU1MGRjZTVlNjFhMjc1MDBkZDcyNDM1ZWE3ODA0ZWU4IHB5M2sKKzU4ODE2IGQyYmEyYmY0ZTc2YmFkYTU4NGE1ZjUxODY5NTM5MzAyNzAxNjQzOWEgcHkzay1wZXAzMTM3Cis1ODgxNyAzMTdiYTUzY2Q0NWM4ZTZlYjBiYTVmNzQyNDA5ZTY4Mjc5MGY3M2Q1IHB5M2sKKzU4ODE4IDUyMmJiYjkwMDVhNDE3ZGNkMTdlZGE5YzYyNzRkZjE1ZTYxMzRmNDcgcHkzay1wZXAzMTM3Cis1ODgxOSAyZmYwZTgxZTY4ZmNhMjMwNmU1MGI3YTNjNzU3YTEwMzE3ZjUzODUyIHB5M2sKKzU4ODIwIGE0MTQwYTI4YzNlNzYxY2IyM2Y3ZWMxNWQxZWU1Yjk0NjZiZTllM2QgcHkzay1wZXAzMTM3Cis1ODgyMSA4N2QzOGY0MmQxNjM0NDBjYTQyYzQ2YmY2OGQ1Y2YwZjVkM2E1YzVmIHB5M2stcGVwMzEzNworNTg4MjIgNmU0OTFkMTI3NjVjNWY3YjRjZjI1MWIyMWI1MzRmNDlhZDYzZjlmYyBsZWdhY3ktdHJ1bmsKKzU4ODIzIDQ0OTBmMzM1YmJjZDM4YmI3MjBmNjk4Mjg0OWI3NTRlMmM4YTNhMDcgcHkzay1wZXAzMTM3Cis1ODgyNCA2YWRjOTlhNjg4OGZkZWQwZDI3YzM1NTBjOWZkYWZkZjhmZGVhOTA2IHB5M2sKKzU4ODI1IDhmZDY5NGQwZjkwMmI4NjQ3YjRjYzBlMDM0ZDUyOWIzYjQ0NDhlMTMgcHkzay1wZXAzMTM3Cis1ODgyNiAwYzUxNzE3OWNiOGM0MDVjNTY4MDFjNmI4YWJiZmFmYzNlY2FjMmE4IHB5M2stcGVwMzEzNworNTg4MjcgOTIxYWY3ZjI3NjAwZjdjNDk0MzljZTZhMDUyZTc0OGQxYzc2YTI1OSBweTNrLXBlcDMxMzcKKzU4ODI4IDlkZTA3Mjc1YjAwODdhNjZlZTY2MjNhOTFmOWM3NzhlNzZiOGE0N2IgcHkzay1wZXAzMTM3Cis1ODgyOSBmZDFjMTBkMjFjOWVlNDMzZDUxZTgyNTg1OTcwOTc1MzY1OTlkMWMxIHB5M2stcGVwMzEzNworNTg4MzAgM2NiYzc4YzNhNDAzNTQ5NWU0YjJmMDQ3Mzg3ZGI4ZDc3ZDQ5NDMxYSBweTNrLXBlcDMxMzcKKzU4ODMxIGY2MWEwZWU3NDc2ZmFjNjEyMzRiZWEwNzMwY2M4NmI0YjY3Njc0ZGIgcHkzay1wZXAzMTM3Cis1ODgzMiA0OGU3NzkyMjQxMWQ5YzVhNThjY2RjNWEzNDMzY2I5YTQ2MGU0MjY2IHB5M2stcGVwMzEzNworNTg4MzMgYjNmODZjNDFkMGEzYTA3MjVjODhjMjQzMTgzNTdkMzZhZWIxYzA0ZiBweTNrLXBlcDMxMzcKKzU4ODM0IGY3YjQ1MjlkMDk4NDJhM2Q2ZGE5MTgzMzdkZjQwMWFiYzVhMTYzN2UgcHkzay1wZXAzMTM3Cis1ODgzNSAxNGRmZTJmMTM1ODIzMjk5ZTc4OTBhMzU2MmM4Y2FkYjA2MjQzMTM4IHB5M2stcGVwMzEzNworNTg4MzYgZTkwMDY1ZTE3MjEyMDIwNzg2YjI1MWQzNmM0YWU0MTBiZjRiMmQ3NiBweTNrCis1ODgzNyA2NThjZDM0YThjNWRiZTE5NjhjYzhlN2FjYWJmYzkyMDU3ZDYyMzg3IHB5M2sKKzU4ODM4IGRlM2I2M2Y4YjE3YjZjZGU2NGExZjEwMTc0MTVlYjE5MmE5Y2VjOWMgcHkzaworNTg4MzkgMDNjM2E1NDA3MmQ5MWVmNDMxYmJjNTc4MTI2NDAzMjU0OWUyOGE3ZiBweTNrLXBlcDMxMzcKKzU4ODQwIDE4OTEyNTdkZmQxMTNkYTY4MjI0MTczYmYzN2I2NzE5NTgxZTNhNTcgbGVnYWN5LXRydW5rCis1ODg0MSAwOWY5MjJjNGY4ODcyNWU2YWQ3ZTk1OTE0ZjhmNmFhYTRkZTdiNmI4IHJlbGVhc2UyNS1tYWludAorNTg4NDIgZWYxZDNlODcyOTZmMzY1ODkxMDU5NzdjZWYyNGU3ZGU5ZGY4NzE1MCBweTNrLXBlcDMxMzcKKzU4ODQzIGYxZmRkNmI3MDE1ZjAwNWM1MmFmMTFmMjJjZTg5MzIyZjI4MGEyZTggcHkzay1wZXAzMTM3Cis1ODg0NCA1ODVhZDc3MTNlZmVmZWU0MjBhMjY1MjE3OTU3MDQ4OTFiODcwYjkwIGxlZ2FjeS10cnVuaworNTg4NDUgNDQ3ZDJhNDUwMWNiNzJhNjVjMWU3OGY0NzY4YmRiNjg5YzZjMWFkMyBweTNrLXBlcDMxMzcKKzU4ODQ2IDUwNDIzZjQ0ZTZkY2ZmYzVkMjFiMTcwNjdiNzg0ZDZkOWIyMmQwM2QgcHkzay1wZXAzMTM3Cis1ODg0NyA3MWY4NDM1NzUxYmFhNWM3MWZlMDgzZWNkMzNkOTU4N2IyOTg1OWIwIHB5M2stcGVwMzEzNworNTg4NDggMTUzYzBjNzQ0MWFhZjZmZTExNDA4MWI5NjZhODhjMDZjZDRkZjk0MiBweTNrLXBlcDMxMzcKKzU4ODQ5IDVhY2Q5ZGYyNzEwODUyODNmN2MyODc5MDUzNTRkOWU2NTY4OWJkMDcgcHkzay1wZXAzMTM3Cis1ODg1MCA1MWEwZGU5YmFiMzc0NmFmMWE1ZDdmOTYzMWNiNmVlOGE1ZDY4Mjc2IGxlZ2FjeS10cnVuaworNTg4NTEgOGQ0ZTljNGYwMzUwYTFlMGI0Y2ExYzM2NzgwMzQzMWU4NmU5ZGU0YSBsZWdhY3ktdHJ1bmsKKzU4ODUyIDM3NDIzYzc2ZTIwODU4NjhhOTZkZDhhYjAwNWFjM2Y2YzM2MTRhNmUgbGVnYWN5LXRydW5rCis1ODg1MyAwZmQxY2FhODUyMjVmYWNhMjU5ZmUzODgwMTZlMzZkNmUwNjAwNGRmIGxlZ2FjeS10cnVuaworNTg4NTQgMzcxNTY5NDVjYTM1MTZlNWI3YjhhNjU1OWM3MzhlZGQwOWE2ZDg3OCBsZWdhY3ktdHJ1bmsKKzU4ODU1IDAxZTYzMzNmM2I2Y2VmMjM4NzhiZmNkMDEwMDg0ODNmM2M4N2I4NGYgcHkzay1wZXAzMTM3Cis1ODg1NiAxOTg3ZGJlN2ViNmU3ZDcxN2M3MDg0YTRiMDEwNWM5NWMwOTJlOTZmIHB5M2stcGVwMzEzNworNTg4NTcgMDhlZTNjNzNiNmJlY2FjMTYyNTUwNWQ2Yjg2Zjg4ZjE2ZGM5OTczMyBsZWdhY3ktdHJ1bmsKKzU4ODU4IDcwZWYwYjZhODM0NWYxMjJhOTU5ODUwYjE2OWUyNTcwZjZjNTBkZTIgcHkzay1wZXAzMTM3Cis1ODg1OSBmZTljMjIzM2NkMDRmODMyOGY5MTk0NmY3Yjc4Mjk2Y2ZlMDRkZGM4IHB5M2stcGVwMzEzNworNTg4NjAgMzA3ODgxNDZmMGE2YzA3YWIxMzgyNmRhMDQ0MTc4MjkwNzdhMmYxZCBweTNrLXBlcDMxMzcKKzU4ODYxIDc3ODgyM2MwZmZiNjM5OWIzYWM3OGFlYjA2YzUwZTIxZDkyODIzZmEgcHkzay1wZXAzMTM3Cis1ODg2MiBmM2MzMzdlOWQxZTU5N2MzYWQ0YTM5M2ExYjNlYzdlYjExNGE4NmFiIHB5M2sKKzU4ODYzIGY5ZDQwMWYxZTFlZjBiMGM3YmZjNTlhZDkzYWIxOGJkMTJlMmU3ZmUgcHkzay1wZXAzMTM3Cis1ODg2NCBjNDkwYWUwOGQ2MDhiMDE2MDgzOGJiNjMzOTc2MGU4MTc3MWExZGQ1IHB5M2stcGVwMzEzNworNTg4NjUgYzE1NWYxZGVkYTY1ZDg0N2FhZGZjMjJmNWI4ZTljYTAwZmNkNTg5ZiBweTNrLXBlcDMxMzcKKzU4ODY2IDc5ZmU3ZDA2MjA2YzE4ZjQ0MGM0ZTU4MWFkYWUxYmVkZDJkMzc0MWUgcHkzay1wZXAzMTM3Cis1ODg2NyA1M2FmMDQ2Y2MyYzUyZTJlODNlNzQ5MmE3NWQyN2Q1ZmY3NWI0NTYwIHB5M2stcGVwMzEzNworNTg4NjggZDdkYjQ2N2NkOTQwN2FhMDk2NDA0N2E0YjJkNWIzZGVhNjRlOWQzOSBsZWdhY3ktdHJ1bmsKKzU4ODY5IGE0OTRhOTE1MTJlYzllZTQ1ODJlYTZjNmE1ZmRmMTg2ZmVkNzBlN2QgcHkzay1wZXAzMTM3Cis1ODg3MCA4ZDMxYTM2ZjBjYWFlNTA4OWRlMGNmOTM0OGMxNGVhZDRhYTVjYmU0IHJlbGVhc2UyNS1tYWludAorNTg4NzEgZDI0ODUyYjg2ZDcwYmMyNjRlOTFjOTc0MGI2YTc3MmRhMTEyNjM0ZSBweTNrLXBlcDMxMzcKKzU4ODcyIDI5YTU5OGU2OTM4MjYwZjg2NzA5MTdiOWMyMWMxMjBhNTMzMDE1MTQgcHkzay1wZXAzMTM3Cis1ODg3MyA4NzE3OGYzNWQ3MDA3NDk1Nzk2YThjNWIxNTFiMmQ5MzY5YzVlOWFmIHB5M2stcGVwMzEzNworNTg4NzQgNTUzMTM4NDgwOTE4NTM2NWY2MWFmOGI2YWY5MGVhYmFlYWE3MjA2MyBweTNrLXBlcDMxMzcKKzU4ODc1IGNjNjViNjQwMTk4OTQ2ZTRiZmJhMzI3NWEwMDEyOTE2ZmU4MDhlZWQgcHkzaworNTg4NzYgMGIyMDY3OTBmZWI2NDNlY2UzY2Y4ZTEwZGI1M2FmZWQ5MjY3MDMwNiBweTNrLXBlcDMxMzcKKzU4ODc3IGQ4MjRjMzE1ZmNhYzI4ZTQ1ZGFmNGJiMzZhNjU3NTY1OWFiOGMxMTkgcHkzay1wZXAzMTM3Cis1ODg3OCBkZTk3MzkyNmEzNWNmZDI1MzIzODhmOGVkOTRkMmQ1NTVhMzQxOGVlIHB5M2stcGVwMzEzNworNTg4NzkgYzkzYWQ2YzQxN2RmMjUxYmZhYTZiMjNkYzI5YWQ5YTQ3NWRmNWJkNCBweTNrLXBlcDMxMzcKKzU4ODgwIDkxYmExNjk4YTAxMTg2YzJkNmI3YzVhYTk1ZDJkOWEyMmU4MjBhMTkgcHkzay1wZXAzMTM3Cis1ODg4MSA2ZGIzODA4NTJmNjNmZTFjZWYyYmE2YjJkNTI1Y2Y1ODdiZjExYmI4IHB5M2stcGVwMzEzNworNTg4ODIgOTMwYzYwZjhhYWZmYTcyODk4ZjA5NDIwMTI0NzE1OGFjZjIxODZjMSBweTNrLXBlcDMxMzcKKzU4ODgzIGZjM2JlYzIwZWMxNTM4ODhiMTZkNjA0NWEwZWRhNDhkMjhjY2ViYTMgcHkzay1wZXAzMTM3Cis1ODg4NCAwMjI1N2VjNTRkNzkxM2NmNzgyYWY0MTY4MGM2NDQwMjIzM2MwZjZlIHB5M2stcGVwMzEzNworNTg4ODUgY2I4ZWYyNTUxZDBkMGUzNGZjOTNjOGVlNTQwZmZjYzZlMmY0YjU4NSBweTNrLXBlcDMxMzcKKzU4ODg2IGIzMTBmZDJiMDE4NDdhMGM5MWQwN2E4ZmFiMDc4NWMyNzJlMWQwZWMgcHkzaworNTg4ODcgOTBkMGMzNzY2ZTkyOGEzMmI2MGJjYTYzZmVhZGYzYTNhOTViM2I5NSBweTNrLXBlcDMxMzcKKzU4ODg4IDBkNDYyZDc4OWIxOGVjNmE1OWViZTIxMTY2ODhkNWI2OTg1YzIxNWQgcHkzaworNTg4OTAgY2ZlOGZjZWQ4YTEyMjZhZmYwZjE0NGIwZjliOTRmMjNmODc0NTAyOCBweTNrCis1ODg5MSBjNWY3MDhiYzRjYjdmYzAyOWE3NjI5MzczMDExYTQzZDlmZDU4MWU0IHB5M2sKKzU4ODkyIDczNDdmNzViOWMzNDQyYmQ2MzNhZGFlNTMyNjk4ZjI0YzJhMmJlMDcgbGVnYWN5LXRydW5rCis1ODg5MyBkYTU4Y2Y5YmNiMDFiNWE3MjZiYzM2NjVlMWNhNDAzNTY0N2I4OWIxIGxlZ2FjeS10cnVuaworNTg4OTQgMDZiYjgxMDc0N2UxZDM2MDcxZmVlYTJkYmRiMWQ5ZDRiOGI5ZWMwZSByZWxlYXNlMjUtbWFpbnQKKzU4ODk1IDlmMTdhOWE1YjVhZWVkNzRiMmJlMWVmMGJiNmI4MWQ5ZThiNmE5MTMgbGVnYWN5LXRydW5rCis1ODg5NiA4ZmNjM2Y0NmM2OWRlMTczZjI4NzM3YmU1NzkzODUzYWUwMGMzZmU3IGxlZ2FjeS10cnVuaworNTg4OTcgZmE4MmVjOWM4MGNkNjc4NjdmZmVkMjIzOTU1NzJhOTliNWRiZjRlNiByZWxlYXNlMjUtbWFpbnQKKzU4OTAwIGRlNjNlZjE4NmMxZWM1MDAxODgxNWY0MzFmZTZmZjFjZDJkNDNhNDAgbGVnYWN5LXRydW5rCis1ODkwMSBmNDc0ZGU5NzM0MDQ3OGVhYzcxMTc4YTkyNzZhY2JlZDFhYjEwOTkxIHJlbGVhc2UyNS1tYWludAorNTg5MDIgN2JkNzJjNTZmNmE0MGQyZDQzNDFiZjE4MmM4Y2M5OTQxZjRjMDhjYyBweTNrCis1ODkwMyAxMjQ3ZDI0YjI4N2I4YzZkZDIwZTM1ZjM4OWE0ZGFmNGQyMjUxYzQxIHB5M2sKKzU4OTA0IGRiYTI0OTFjZjcxNzYyNWIxYWQ2OWZjNWQ5YTA5ZTg5Yjk0Y2E0ZjggcHkzaworNTg5MDUgZGZiNDYwMDA0Y2ZlMmRmNzAzOTg2YWExM2JmOGFjM2Q5MDgzZjVkOSBsZWdhY3ktdHJ1bmsKKzU4OTA2IDJmMDRhYmQxMzM5NDRkZTMxMzdmMDBkNmI2YWQ0MGJhMWY1YjIxOTUgbGVnYWN5LXRydW5rCis1ODkwNyAyZDhkNjg1NWE2MDI0MTllYTlhOTk2ZTc2ZDgzZmUyY2M3ZmVlNThhIHB5M2sKKzU4OTA4IDJiM2FiZTNkM2FlNmVhMzNkMmIzOWYyOTgzNDg4MGNiNTA4NDIxZWQgbGVnYWN5LXRydW5rCis1ODkwOSA2NmQyNzVmMjlhYzU1MGVhZjViN2YyYTYxZmNiYTg4ZWQ0ODIzY2EzIHB5M2sKKzU4OTEwIDcwMjJhZmZkN2JkMDljZjExNTUzYzIyZjhlMGFmZDQzN2EzZWRjZmMgcHkzaworNTg5MTIgNmFjNjE4ODJmOTM3MGNmZmZiZGFmYjRmY2Y4Y2U2MjgyYmM0NDgzZCBweTNrCis1ODkxMyA2ZDM0Nzc3OTUyMWI1YjI1MjI3MWVlYTA3NWY5YzgxYzg0ZWI1OTllIHB5M2sKKzU4OTE0IDM2MGRmNjQxMjQ0ZDllODExZWZkODlhZDA2MjJhZDQ2YmE2NmZlZmYgcHkzaworNTg5MTUgYjIyZjI3ZTA3MDExNDhlYjYzYjIxZWYyYzM5MTU0YzAzZmVjMTViMiBsZWdhY3ktdHJ1bmsKKzU4OTE2IDJmN2M0MDFjYjYyZTA0OTczMWRiMzZiOWU1YjAxMmU1YzkyNTlhZDQgcHkzaworNTg5MTcgM2MxZjg1OTNhMTRlNGM1NWU3YzAwNjQ4MGMzNmVkNDFhYjc4NGY5NiBweTNrCis1ODkxOCBhZGU1NjYzZTg4ODY4YTMxYzA0NDVjYjk5NWY1YTcwNDI4ZGRlZWUzIHB5M2sKKzU4OTE5IGQ1YzI1YmYyNjkyZWVhY2ZlOWNkOWIxZGJiMTAwZmYwMzlhNmI3YjUgcHkzaworNTg5MjAgODNjMDVkMmUxMGRlY2QwNjMzMDRlZTU3ZWU5ZTdjYzQ4NWVkYWNhNyBsZWdhY3ktdHJ1bmsKKzU4OTIxIDgxZTMzYmRlNmVlMjBhYzQ0YTAxNjk2MWFhODE2ZTljOTBmYjhkYWYgbGVnYWN5LXRydW5rCis1ODkyMiBkZGM3ZDE0YmUxZTk5Mzk0MThiMzQzMjc4MzliNDgxNjk2MzQ4MjZmIHJlbGVhc2UyNS1tYWludAorNTg5MjMgYzFmODgzMTE1NWRlMGU1OGI4MjMzYmIxNWY0ODllZjczNWRiNmQ5ZiBsZWdhY3ktdHJ1bmsKKzU4OTI0IGFhZWVlNTBhMDY0MDE2NzFiZjVhMDc5MzM2MjI5NjMxYTZkYTVhZjggbGVnYWN5LXRydW5rCis1ODkyNSBhYzEyYWM4OGFlZWE5M2ExMDZiYjY4ZTc1OGZiMTliY2ZjMWNlYzRjIGxlZ2FjeS10cnVuaworNTg5MjYgMjBkYzY3ODZmOWFjZmU5ZmYwN2QzMzQ0YzJhYzhlYWVhYmMxOTMwYSBweTNrCis1ODkyNyBmODJhMjBkZGE0NjVlZjIwZDgxOTcxYzlmMTAwN2YxNzUzNjFlMWFiIGxlZ2FjeS10cnVuaworNTg5MjggMTU2MTc2M2NkYTcyZGVjNmNjMjE5MzY5NDVhYzRhYTQ4MTI4ZmMxMiBweTNrCis1ODkyOSAxOTdmZmI5OTZmYjg4OTU5OWI3YmYyZTViYjNiZGY5MzE3MDIwZDUwIGxlZ2FjeS10cnVuaworNTg5MzAgODVjZjMzNGIzMmMzYWMyMWViYzQxYzUxNTYxZDZlM2I3ZjZjYjEyMSBweTNrCis1ODkzMSA0ODdmMzczN2VhZWZkMDIxM2IwZTE5MTEwM2JlOTYzMzY5MDQ5ZmQyIGxlZ2FjeS10cnVuaworNTg5MzIgMWFkZjA2NmYxODc5YTRiOTM3YWE4OWYxZTFhNGU0NjI4YWVlY2IxMCBsZWdhY3ktdHJ1bmsKKzU4OTMzIDVhMTY5ZGUzNmRlNzhjYmI3NTlmNWNlZGJhZjUyYzY4YmZkYzhjNWIgcHkzaworNTg5MzQgMDY4NjU1MDU0YjBkMGQxMzYyYWE3MmIxYzBjZDdkZGMzY2ZlMjYwYiBweTNrCis1ODkzNSBkMmY5ZTIwMTIwZjllOTM1NzQ5ZWVlODc5MTU4NTBjM2E2NDJhZDE3IGxlZ2FjeS10cnVuaworNTg5MzYgMDFhNWJkYzI4MjBhMDExZmE3YzYwODkzODhjNzk2NDhiOGZlNzNkZCBsZWdhY3ktdHJ1bmsKKzU4OTM3IGM0ZTI5MzZkMTMwNzUyMzI0NjUwOWMwM2YxZGE2Y2U2ZDM3YzFiODEgcmVsZWFzZTI1LW1haW50Cis1ODkzOCA1NWNiZDBjN2FhY2ZjMzg3NDIwYmYyOTM1N2U0NjIxYzZhZjNmZDEzIGxlZ2FjeS10cnVuaworNTg5MzkgNGVkMTZjYTRkOTgwMDhkYTEwMDdhYWI3M2U4NWYxNjBhNDRmMzIyYSBweTNrCis1ODk0MCAyOWJlY2UxNDc4OTM5MWRmMWIzNDg0MzEwZmM4ZWU1MzlkMjdmYTlmIGxlZ2FjeS10cnVuaworNTg5NDEgYWRlNThlYjdjOGM3NWM1YmVjYzNiNWExMjljZDgzODU0ZDY4YThkMyBsZWdhY3ktdHJ1bmsKKzU4OTQyIGFmMzQyOGZhZTE1ZmQ4MzM5MDhlYWEwOTI2NjdlZGEwNTVkMGVkNTQgbGVnYWN5LXRydW5rCis1ODk0MyAwMGU2MTY1ZjQ0ODI5ZGVhYmYwNzVmM2JmZWU1ZWY5ZGM1ODM5YzA5IHJlbGVhc2UyNS1tYWludAorNTg5NDcgN2JjNGNjOTcyYjBiM2M2MWVlNDQ2YWMwZGVmMDBiYjQ1MTZiNGVmZiBweTNrCis1ODk0OCA4ZWQzYTk1Y2ExMTRmYjFjMmQyNDAyMDU3NmZlYWE5YzVlNGMzZTdkIHB5M2sKKzU4OTQ5IDE2NGE2YWM5NGQzYzgxZjQyMjc3OGZhZWZhZDBmM2NlZTA0NzdjODMgcHkzaworNTg5NTAgNTkxMmI2NmNjYzJkNWZmNzViNmFkYmNhN2EyMDk0ODM5ZWFlZjRkYSByZWxlYXNlMjUtbWFpbnQKKzU4OTUxIGNlNzdkOTFlYTFkMGJiZGZmYTFiZmNkNDZhNDMwZjBjOTNhNjZmODcgcHkzaworNTg5NTIgZDdlOWJlYzFmZWFhOWE1ZDYwNzUzMTU0ZGVmMGJkZWRiZTg2NDIxMyBsZWdhY3ktdHJ1bmsKKzU4OTUzIGEyMjEzMDYwZDlkZGIwNDhkMWRhMjE3OTkyY2YxNGM2MWIyZDlkZTcgcHkzaworNTg5NTQgMWQ2ZGI5ZGQzZTc3YTdjYzhkODlmYzhmODRlYTA4N2M0YmFmZGNmZCBweTNrCis1ODk1NSBiMzFmNjFkN2Y4YjBlZTAxNGViYjA5YWM3ZWI2NGIyYTg2ODAxODRkIHJlbGVhc2UyNS1tYWludAorNTg5NTYgMWUwZWExZjAzMDU4YjVhMjUxZGYxM2ZkMzhhZjE3ZjI0YzNhYjA0NyBsZWdhY3ktdHJ1bmsKKzU4OTU3IDA4MTExODJhOWNlOWFjMWRkMmEwOWVlZmE0ZGQ4Mjc1OTM4MzQ4Y2MgcHkzaworNTg5NTggNzNjOGUyN2ViOWNlZjQwMmZhY2Y4YTljYzMxZWY5MzFmOGZkYTA0ZSBweTNrCis1ODk1OSBjY2NlYWVjMTE0NDJmOTRhODkzMDMzM2MzYTZlOTk4NjEwYjBkNjA5IHB5M2sKKzU4OTYwIDI0MTI4MTEyM2ZkODM1MWQxMGUwMjE4ZDMyMzlhNWJmMWYxMGVmZjMgcHkzaworNTg5NjEgYTA2MGIzY2MyYzYyYjEyOTZlMWM1Y2U5MTU1NDZiYTJhMDY3Njk5YiByZWxlYXNlMjUtbWFpbnQKKzU4OTYyIDJjOTdlMjRiMTZjZmNhOTMzNDhhODg1MjAzMWI0ODlhNWM4ZmYwNGMgcHkzaworNTg5NjMgNzY4NDRhMGE1NzlmOTkyZTJiMDQ4YmE4N2NiYjNkNjNmNDJkMGRkNSBsZWdhY3ktdHJ1bmsKKzU4OTY0IGQ1ZmM2ZTk2MDkxZmI2ZmVkMjM3YTQ5MjQzZjgyMzAwOTlmM2RjNjMgcmVsZWFzZTI1LW1haW50Cis1ODk2NSAwMzc3YmE5YmMzNTkxNzUyYjc3MTNiZjQ4YjQ3YTM3MzFlOWI5MGE1IHB5M2sKKzU4OTY2IGUxNjJlODgxZWE1ZjRlM2RhNWM0MWQyMzkyY2IyZGFjMTdhNDAxZDIgcHkzaworNTg5NjggMjRjODRkNThjYjgwMTBiMThlNjIzZTc5M2RhNzJmYmRhMTg3YTdmZSBsZWdhY3ktdHJ1bmsKKzU4OTY5IDUzZmMwZjQxZjY4ZDdmMTY2NmMwNjkxOTZjZTkzNjU2MTBmOTQ2MzkgcHkzaworNTg5NzAgOWExMjgxMzkxYzQ2ZTljNTMxMzY3NjZhYmRlMDM2MGFmZWZlYTFmYiBweTNrCis1ODk3MSA4OTk5ODkzYTZlMjIxNTBjODk4OTdhZTQxYjM4NmZjNWIyOWYyMmMwIGxlZ2FjeS10cnVuaworNTg5NzIgMDNhZDFkYjdjODBlNDVkNmRlNjY5NWVhODFiZDBjNjUyN2Y4OGRhMSBsZWdhY3ktdHJ1bmsKKzU4OTczIDNjMjlkNzNjNzc2OTRlNmM3MzU3NGNlNjA3MmM4ZmI2ZTIyNWUxODcgcHkzaworNTg5NzQgZWUwODE2MDljZWU4Y2QzNDUzMTkxMjQyNzYzYmQyZTM0MWNlOGEyNyBweTNrCis1ODk3NSA5ODc5NTczOGI0YzI3OTNmMGNkOGNkOGE4MjE5NWZjMWM0OTVkYTY1IGxlZ2FjeS10cnVuaworNTg5NzYgMGFlOTA3ODc4NmI0MDJlM2YyYmQ3ZjYxOTc0NmM1YTBkOTEwZDcyOSBsZWdhY3ktdHJ1bmsKKzU4OTc3IDAxOTgyOTgwMzg0OGU2ZjExZWZlMDE4YzNmZjgzNGE2YTYwYTk2OWIgbGVnYWN5LXRydW5rCis1ODk3OCBkZDNjNGRkM2VjZmQxNGNkZGE4N2I0ZjhjZGM5MmFlYjI0NGQ3OGIxIGxlZ2FjeS10cnVuaworNTg5ODUgMTc5MTg2NWE2NjhiOWYyZGI0YTBkOGM3Y2Y4OWMxYWM2NTFmYmMxOCBweTNrCis1ODk4NiBmYTZjZGY1NWRlNThmMzZhMjc0MjBhYTY5MDkwZGE5MzMxNzI0YWRmIHB5M2sKKzU4OTg3IGQ0Zjk3MDZjYjQ2YjNjMmIxMjFlM2U0Mzg3MzFjYTBmY2U1YjExYzggcHkzaworNTg5ODkgNTE2MDQxZDUyNjU2ZDQ4MWIxNTc1ZTFlOTQxYWEyMjJiNjgyNWJhOCBweTNrCis1ODk5MCBmNGEzYjRlMTU1YzI1OTM3NGM5ZGM5NWQzYzA5NWZkNGJhNGI3ZmQ5IHB5M2sKKzU4OTkxIDlhMzVlOTI2NjM3OWJjYWE5NWIzNjI1NmRiNTUwYmUwZjc3NjU1Y2IgcmVsZWFzZTI1LW1haW50Cis1ODk5MiA4ZWQwMjgwYzJhYjY3NDg1M2VhMTdlMGIyZTJhZWJiYmJjMzExNDQ0IHB5M2sKKzU4OTkzIGY0NDRlMjU5MzQxYTk2ZTM5YzU0NzgxYzZkMzRlM2QzYTZkNzYzYmMgcHkzaworNTg5OTYgZGU2YjEyNmE4ZDM3NDk1YjY5YTI5MzhmYjI4MjgyODc2ODA1ZWE1MyBweTNrCis1ODk5NyBiNTk4MjVkOWRiOGY5OWU2NjBhZWExYmE1N2E4YmM1OGQ5MzUzYWIzIHB5M2sKKzU4OTk4IGM3OGRiNDkzODQ4MmM3YjZiYzBjYjg2M2IxNjZhMTYxNjI1NTgwNGIgbGVnYWN5LXRydW5rCis1ODk5OSA1OTA5MzBlMTdlMGM5OGY4N2ViZDUwNTdjY2VkM2Q0Mjc1YTA4NWM1IHB5M2sKKzU5MDAwIGQ0MTkzMzMwZDFiZWVhZjkyYjIwMWIyNjI4N2RiZTk1Mzg2YTAwY2EgbGVnYWN5LXRydW5rCis1OTAwMSAxNzM5ODY5Y2JjNmU3ZTM1NDBhNjQ1NDE3Yjc4ZmNiY2UzNmM4ZjlmIHB5M2sKKzU5MDAyIDZiMDEyZjAxYTg4OTA5MzI5YTdmMDVmZmU1NDM5NzgyOTE2NmE4YmMgcHkzaworNTkwMDMgZTIwMjAzZDAzMzFjYzI5OGYxNTJiMWI0ZGI0MTZlOWQwMGI5MTI1NCBweTNrCis1OTAwNCAxN2FhZjk1YWY5MDlhMTYyZTNhYWIyZTQ1NjljZWYwYmMzYjU3Nzg1IGxlZ2FjeS10cnVuaworNTkwMDUgMTE2NWQyNjFmYjA1ZGI1NzNmODJjZWNkY2ZmYTA5OGEwY2Q4MWRiNCBweTNrCis1OTAwNiBjMzE1OTRmYjFlZDQ0ZjAzNmFhOGQ0NWY5ODNiZmJjNjMzMzI5MzY5IHB5M2sKKzU5MDA3IDU1OTAxNTdmNGZjNjE3NTQ5N2ZkZWI0MDQ2NjYxNjk1YjE4YmNkZjAgcHkzaworNTkwMDggNGE2YTdhZWE1N2Y0ZmQ4ODY0ZTgyNmI2MzUzNjY0Mjg0N2U0OGJlOCBweTNrCis1OTAwOSA3MGNmYzdiNTA0YzI4NjM2MjQ0MTAyMjM1NGMxYTBmMzc2ODJkNDBmIHB5M2sKKzU5MDEwIGY2Y2NhNGIyMjYwY2FiZmM4MmExMzAwN2I1Zjc3NGNjOTM5YTNlOGYgcHkzaworNTkwMTEgZGMyMjU2ZTMwMWE5MjM5MmM5YzU1ZmIzMzA4NGViODZiOWFiYjU2MCBweTNrCis1OTAxMiA3MWU3NDU2MmZiNjQxMjg1OGVlZDNiNGIwNTZkMGUzMDU1ZjQ1MmJhIHB5M2sKKzU5MDE2IGE5OWRhODkzZjIwYzFlYWRmYTAyYjM3ZTdmMzM0MzJlMjhjNGI5MjYgcHkzaworNTkwMjAgMjVhNWY2YTMwMjkyNWQ1NzQ5MjFkNjUzMjFjMzI4OGUwNjQ2N2VkMSBsZWdhY3ktdHJ1bmsKKzU5MDIxIDJkZjUzZjA1MzkyY2MxYWU3ODRjOGVkNTM2NTMwOTU4NTNmZDI4YmQgbGVnYWN5LXRydW5rCis1OTAyMiAxZmIzNTM3NzZkZmI0ZTg2MDhiZjA5NjY3YzVhYjBkYzAzOGQxYjk4IGxlZ2FjeS10cnVuaworNTkwMjQgMTQ5NGJkZTUxMGZmOTRlZDk2YWQ1MGNhMmM0MjNmMDA0ZGRhZWEzOSBsZWdhY3ktdHJ1bmsKKzU5MDMzIDk5NWQyNWFhYzE2YWFhOTJiYzk1M2I3NjA3ZjIzYzliZTU1NmIxMmIgbGVnYWN5LXRydW5rCis1OTAzNSAzOGY2MzQxOWFiZDY0NzNhNDRlOWM4OGI3ZjNhMjcxZDg0YTkxNzUzIHB5M2sKKzU5MDM2IGQ1MGM3MDk5ZDRhYTRjMGNkNDRmN2JhZGY2NmYxYTZhNmNlNjUwMTQgcHkzaworNTkwMzcgNDgzZTk1OGQxM2M3NmI2NjRkZTE2YjM3NjQyYjU5NTRlYjZhYTMyNCBweTNrCis1OTAzOCAxMzMyNDUwYmM5NTIxZDAzOGU3NGUzNmQyOWNhYWM3ZWY5YTBlYzYzIHB5M2sKKzU5MDM5IDRjZWMwYzYzOTJjMTNhZDViYTY4OWEwNmVhMDU3NDgwYmExYmQ3NjkgbGVnYWN5LXRydW5rCis1OTA0MCA1MjBlMmVkOTRiY2M1MzBkNWRkNGQyNzA5MjBmYTU1MzVlY2FhZjljIHB5M2sKKzU5MDQxIDQxZjdjMTNlZjE2MTFjNWJkMjAxMWRmZWM5YTY1YWNlNWUyODQzMjIgcHkzaworNTkwNDIgYjkxZmQ3NGYzMmQ4ZTljNGNjMThjZmM2YWE1ZDZkYWE3NzUwYTMxOCBweTNrCis1OTA0MyBmY2Q3NjMzOWZlMWZlNmY3NGY5YTkyNDM3Y2FiYmFkNTAwNDU4NWQwIHB5M2sKKzU5MDQ0IDNhNzMwZjQ5MDhlM2YyZGIzZThmM2U5MDNmYTlkNmJjNGVjZGU3NWQgbGVnYWN5LXRydW5rCis1OTA0NSA3MGRkYmU2N2QzYzQ2MGExYzhlNDVhYmNiMDM4NWIxMDBhMzFmNTI1IHB5M2sKKzU5MDQ2IDE5Zjk5NjU1MzE4NDgwNmI5Yzc5NmM2YzM3ODA2ODAxNzNlYWI0ZTkgcHkzaworNTkwNDcgNmFhOGUxMzVkOWY4NGRmNDAxZDIyMTljYzc5NmZmMjkyNWMzZTY3MiBsZWdhY3ktdHJ1bmsKKzU5MDQ4IDQ5NjgxZDQzNmRmOTIzNmE2MzRkZDYwMjg2ZDEwNDM1NTE1NjE1ZTggcmVsZWFzZTI1LW1haW50Cis1OTA0OSAwZTg5NzkwNWVlOTQzZDk0MjI0MmFiMDljOGEyNDhiNWMwZWQyZDYwIGxlZ2FjeS10cnVuaworNTkwNTAgZTVkNDhmYmUxNjQ2MmM0MGRjMjJmNzBmMGViZmFiNDQ1NWIxZjkyMiByZWxlYXNlMjUtbWFpbnQKKzU5MDUxIDc4MGM3Mjg0MDZlNjc1ZjJiNGZjOTllYzZlZDJlZDllY2IzMjE3MWEgbGVnYWN5LXRydW5rCis1OTA1MiBkYThkY2Q1Y2Y1YTAxYTM0MzA1NzA4MTlkNWE3NGUzOTY1ZGYzZDBiIHB5M2sKKzU5MDUzIDFhZTkyMjRmNGVlN2YwMWE1YTQwN2NmZGE0NGU4ZjU4MDYwYTI0NGUgbGVnYWN5LXRydW5rCis1OTA1NCA1NGI5NzNmMGY1NWI1YjVkNmMwNTZhMmNlMzMyOGUxNzZmMzY0YTBmIGxlZ2FjeS10cnVuaworNTkwNTUgYjZmNTc4MWY1YzNmMGY1NWNmNzUyMTVmOTZlYzZjMGI4ZWY2MTVjZSBsZWdhY3ktdHJ1bmsKKzU5MDU2IDQ3NDdlZjk2NDBhZThiMTM3NTIxNzAyMzQ4MDJjNDYwNGNkNzYyMGEgcHkzaworNTkwNTcgNjFlZjkwYTFiMzVlMjU3Y2IxYTA3NGU1ZTg4N2UxNGNkMzRjMTA5OSBweTNrCis1OTA1OCA0MGRmYzQ4NWIwYmUzN2ViYWEzMWM2ZTg5MTA2OWU4NzA1YjVhYTUwIHB5M2sKKzU5MDU5IDY5Njk5Y2ZkZDI2ZWQwZTUzYmNmMDM1ZWY4ZDQxZTZmNDUzYWJlMWYgcmVsZWFzZTI1LW1haW50Cis1OTA2MCBiMWJjZDU5OTY3MWYwNTE4MWRjOTUxNTYyNDBiNGE3NDQ4ZDBmYTZhIHB5M2sKKzU5MDYxIGE5MTVmMmIxMzVjMDk1ZGZlOTQ5MjlmODNiNmFkMzIwYTQ5OTMzOWEgcHkzaworNTkwNjIgMTQ2YmE5N2ZmZTFhYjJjOWFmNDM2YjAyM2M2M2ZiOTgzODYxZmViMSBweTNrCis1OTA2MyA4ZWE3ZjU5ZGZmNmJjNjNhYzhmYzUwYjJlNjcwMzE5YWY3NmIwMWJjIHB5M2sKKzU5MDY0IGZkZjE0MTcwMzM3YWQ3OGM1ZGRjNDNlODBiMTA1NDBkZTgzYjE3ZGUgbGVnYWN5LXRydW5rCis1OTA2NSAyYTNkNzM0OTVmMTg0ZGNiMWZkMjZlYzZhNjhiY2Q3NjI0YjI0MjBkIHB5M2sKKzU5MDY2IDMyZDQ1N2E3ODg1YmRmMzgyNmJlYmRkZWE0OTk0MTRlOTRjMDYxY2QgbGVnYWN5LXRydW5rCis1OTA2NyBkM2NiMTZiMzIxZDU1YzNmYmZkN2E4NTI0ZmE0ZjlhZDZjNjg4MTFmIHB5M2sKKzU5MDY4IDc0ZjIyOTU0ZjE4OTlkYjRjNDlkMGNmOTZkZGFkMjVjMTY4OTljN2EgbGVnYWN5LXRydW5rCis1OTA2OSA2Y2EwMDQ0NzVhYTBmYzg0Mzc4YjA0ODI4NGMwMjhiZDZjYmRlNjI4IHB5M2sKKzU5MDcwIDJkZTdkMDBmYmYxOTJhYzNhNmZmYzE5ODNmYTI4NWM4NWMxMzRlNGYgcHkzaworNTkwNzEgNTU3NjE0YzRmZjAwZjMwOTg3YjY2NzkwMDNhY2Q0MGU3MzY4NDI2NSBweTNrCis1OTA3MiAyOWIwZjQ5NzVkOWYzMWUyZDEwNmViYjRmMzU2NGYxMjQ5ODk3OTU4IHB5M2sKKzU5MDczIDdhYjQ5MDY0ZDQzMGFhNWM5MzA0NjM1OGExMTEwYWIyZDQzMmQ4YWYgbGVnYWN5LXRydW5rCis1OTA3NCBmNTRlY2Y0OTRjYjcxMTA1MDI2MDgyZTgzOTk0OWM4ZjczNDA4M2QxIHB5M2sKKzU5MDc1IDhiN2Q0MzEzZWJjMDU2OWNhYzkyZmUzNzQwZDMzN2I1YWRkMzIxNWUgcHkzaworNTkwNzYgZThhYzFhZTQ1MDNjZDdhODI4MDcyMjgyOTVkNDU1OWU3YTBlMjFhNCBsZWdhY3ktdHJ1bmsKKzU5MDc3IDljNGJmMThlNWQzMGU2MzM0Y2MzNDQ1ODRiMGZlYmVjMzg4MDBkMDQgcHkzaworNTkwNzggNzFhMTdkNGQzYWZhMGRhNDE2ODg2NzFlMGNjNDBlMWJlZTgxOTUxNSBsZWdhY3ktdHJ1bmsKKzU5MDc5IDJiYTVhYjM4NjhjOTBmYjFmNDdkOTQ2ZWQ1Y2Y0YTI5ZDkxZmZkNmIgcHkzaworNTkwODAgMzhiMWRlYjRlNGViZGY4MzlmN2M5MTZmODY5YTRiOTc2MmNjYzkwZiByZWxlYXNlMjUtbWFpbnQKKzU5MDgxIDg4Mzg4NGZkYWFlOGUxMTQzY2ZhMjk4Yzk1MzAwYWExNjkyYTE1ZjUgbGVnYWN5LXRydW5rCis1OTA4MiA4NjM2ZGNiODAxY2UwNjAzZTQ3YTY1ZmJkNDZmNDk2Mzk2YzhlZmE0IGxlZ2FjeS10cnVuaworNTkwODMgMjVkOWNlMjgzYjM5NGYxYWVkNjlmNzkzZmYzYzVkZDA0MzY5MjQ3YSBweTNrCis1OTA4NCAzZmI3ZWQ1YzIzZGQ2OTBkNDQ0MGJkZDY2ZDc5NTE0ZWM0MTE2MmVhIGxlZ2FjeS10cnVuaworNTkwODUgM2IwNDg5NDExNmZlMjIyZjgyMTQzNTVkZmJkNmVjNmFmZWY1NDU4ZCByZWxlYXNlMjUtbWFpbnQKKzU5MDg4IDc4MmNiNDAzNzhmNDRmODdhMTRjNmFiYTUxN2FkMDRmYTQ1Y2U3MjIgbGVnYWN5LXRydW5rCis1OTA4OSAyZGJjZDM5MGI2ZjE1Mzc4ODNjMTlkM2M0MWRjZDRjOGE4N2QyYjVmIGxlZ2FjeS10cnVuaworNTkwOTAgYjA5OWQzOWMzNDgyZDk1Y2FmZjcyZWYyZTg0Y2YyMzNhMmMxZDFkZSBweTNrCis1OTA5MSAyZmQ3YzkxMTE2MzJhMjUwMGExMGY4MjY2N2YzZGYzNTU3MWJkOWU1IGxlZ2FjeS10cnVuaworNTkwOTIgNmM5NjdjMjY4NDFhOTE0NTUyYmQwNmUxZjVjN2U5NjNhY2Y5YzZlZiBweTNrCis1OTA5NCBjYmM4YjNiZDMxNTc4MWU1M2FmYjg5MDI2ZTU0ZDAxZmMwNmQxMzNiIHB5M2sKKzU5MDk2IDhlMGM0YzcxMDM3NWYyZGM5MThiMjQzNmZiMjY0NWVjZjA4MWU3N2EgcHkzaworNTkwOTcgZWE5ODg0ZjE0NTQ1OTg4NWJiNTE0ZjFjZTA4NWQ3OTE5YjI5ODEyNSBweTNrCis1OTA5OCAyYTNjYTkwMDA4ZmZmZWMxZWNjMzAxY2RhN2E0OGFmNmE1OTI4ZDY5IHB5M2sKKzU5MDk5IDMyYmZmN2YyOTc1ZDgxMGE5OWQ2OWQ5YjNkYWI5ZTE1ZDhkYTY3YTEgcHkzaworNTkxMDAgNmYxNDk1MjZlODY0YzQxMDQ2ZTRkZGVhM2I1M2YyZTU3YzQ1YTJjMCBweTNrCis1OTEwMSBkZGJjNWUyYzY4OWE3YTQxMTEwMmQ4YTU5MDYyYTkxYzk0MzAxZGY2IHB5M2sKKzU5MTAyIDA5MmI1MzA2OTgzZjcyMGJiZTAxZWIzZTFiZWY5NzcyMjE5NTg4Y2QgcHkzaworNTkxMDMgNzUzNjQzNjQ0MDhiNjkzMWQ4M2Q4OWJjNTA1ZjFkMmU1MmZlZGI0NSBweTNrCis1OTEwNCBmZTViMmVkZmZhZTc2OWFjY2E1MDViMjhmMzNhODA3ZGVhYjQ0NTY2IHB5M2sKKzU5MTA1IDIzYmVmZTU0MGQwZDU0NmRkMTY5ZTdiNTU0YmQ5YmM2MDY4MGQ2NzggcHkzaworNTkxMDYgMTAzYjdmOTU1MDM2ZWEzNmY1ZmVjNWQzYmQ2NjgwYTU2Y2JlYzdiMiBsZWdhY3ktdHJ1bmsKKzU5MTA3IDEyMDk5NzA2MTJkZmUxODExNjA2MDE0ZDFlYTczODRkY2U0ZmE5NWMgcHkzaworNTkxMDggOThiNDk2NjY0OWQ1MWIwOTNlMTkxOTdlMWM5MmE2ZGJhNGMxMjMyYSBweTNrCis1OTEwOSBiMjMxYmRhNjUzYTRmOWIzNWY2MWRjZDI2NTNkZWFkOGFkYWQ2OGJmIHB5M2sKKzU5MTEwIDI1OWU4YTJkNmY4YzI3MDU5NDUwZTgyZGQ3OGVmMmZhYjYzZThiYmYgcHkzaworNTkxMTEgMTRjNGJiM2M2NWE3YzdlZWY3ZWJiZjE5MDFlMWY4YzkyOTlmY2E3MCBweTNrCis1OTExMiAyNjU1ZDExMzEyMzJjMWNmZDI1Y2IyMDkzNTQ5MzY5MzJjMWMzMWNmIHJlbGVhc2UyNS1tYWludAorNTkxMTMgNDFiMmYyNmM3YjNkYmM1MDg4NjFiZWM0MTQzYTE5NWU2YjA2MTcwMyBweTNrCis1OTExNCBkMjM4MjlhOWRiMjExOTNjNmU0ZjE1YzRiOTZjM2IxNGU0YWEzYTVhIHB5M2sKKzU5MTE1IDhkMWVlZjM5MTlmMDUxZTc5ZDU3OWI2OThhNjYwYTc3MjdjMmYwZjAgcHkzaworNTkxMTYgZDliY2Q5NGU1OTM1ZTZiNWY5MWE0YjIxYWRhYzhmMTQxNmZiYTYzMiByZWxlYXNlMjUtbWFpbnQKKzU5MTE3IDhiY2JmMzIyYzJiNWMyNzkwZTdjMDlmYzVmNTU3MDhlM2I3YjczZTYgcHkzaworNTkxMTggNGE3NTUzYjE3NmI2YTFhM2NkNGMzMDFhMjY1ZDJjYWY0Y2YyNDkyNCBweTNrCis1OTExOSA3Mjk2MmFiZDkwYTE2YWI4NTZiYTY5ZTIzZWYwZjJlZGJmNWM3ZmM0IHB5M2sKKzU5MTIwIGE4ZGQ4ODc0ZmYyZDUxZWJiNzQwYTM0MzkxNWMwMGM4NWYwMDMxZTIgbGVnYWN5LXRydW5rCis1OTEyMSBmNjMyNzIwZDgxMDI3Y2U4OWYyNDYxYTQ1MDcyNTNjZDZlMjQxYTg0IHB5M2sKKzU5MTIzIGRhNDc4NDcxZjFiNmI4Njg1NzdmYzg2ZDM5N2FhYTQ3OGJkZTZiYjAgcHkzaworNTkxMjQgNmQ2YjYwOWU0NTdjODA3NTJhYzVkZTA1NzFjNTMxY2UxZjcwMGI3OCBweTNrCis1OTEyNSA4NzQ0ZTQxZGFmNTQ1Y2QxODZjMTI1ZTVjYzEyYzgwZTVhYzNiODc4IHB5M2sKKzU5MTI2IDNjNzI1YTQzYWM4Y2Q4ZTY3MzEyYTQ2NGVhY2E4MDZlZTY0MjU2NDYgbGVnYWN5LXRydW5rCis1OTEyNyA5MzUwZTQyNWU1ZjNiYjdlNWI2NGZmZjBmYmQ4YTk1YTRiNDIwNWZmIHJlbGVhc2UyNS1tYWludAorNTkxMjggNDljZWZlY2NmOTNlYmY1YWI1MmZlYWExZTZkNzhkMDY3ZjVkMzYzOSBweTNrCis1OTEzMCA2ZmY2ODUwNTE5OWFlMTg1MWZkNmJiNjdhZGFhNGZlOTM2ZWZjZWI4IHB5M2sKKzU5MTMxIDYyY2YwOGE2NGJjMjMxNDA0MTkzZTdkODBiNzQyMjM0N2EzNDE1YmMgbGVnYWN5LXRydW5rCis1OTEzMiA1ZjZhOGUyYjllOWNhNmRkNDQ2MjcyZTliYjllMWM1MjYxZjM2MThjIGxlZ2FjeS10cnVuaworNTkxMzMgZTcyNTE2NmM4YzgxODRmODBmZmQ2ZmRlY2VjOTQ2NzUwY2Q0MWUxMSBsZWdhY3ktdHJ1bmsKKzU5MTM0IGFmMzYwMzgwYWExNmZmMzdlNjYwZWYxZjVhNDIyMzUzYzllZmNiODEgbGVnYWN5LXRydW5rCis1OTEzNSAyMjMwZjE2ZTQwMmIxMDUxMzNkNGI4ZDE3YThmNmFkYjVkNTViNTc4IGxlZ2FjeS10cnVuaworNTkxMzYgZWQyOWI5MTYyYWU5ZTlhNzM4YmFhZjMwNzEzZTE3NzFhZTIyZTA1NiBsZWdhY3ktdHJ1bmsKKzU5MTM3IGI0ODFhZGIwNDY5OWFjM2Q2MjdlNTk4MmU0ZmVmYjU3ODMwNGMwYjUgbGVnYWN5LXRydW5rCis1OTEzOCA0ZDBmZTdkYTRjZDVmNmYyMGY0ZGQxMTI4YmU3YzJiYjllNTdiYTY3IHJlbGVhc2UyNS1tYWludAorNTkxMzkgMzU4NmE2NjM0OGJmODRjYTBkYzkwNmI3MzcwNTRhZWYyYWI3NDU0NiBsZWdhY3ktdHJ1bmsKKzU5MTQwIDRlMWExOWJhM2Q0YTYzOGY1YWRjZDM0OGUwNmNkNmZkZjNjMTI0YzQgcmVsZWFzZTI1LW1haW50Cis1OTE0MiA2OGNhYTQ3ZjVlMTUzZTM1NTczMDhiMzM3NjYxYWJmNWY0ODAyNjA1IHB5M2sKKzU5MTQzIDExZTNlMmFlMjM2NDNkMjIxYzYwMTMyNmY0OWU3OTAxY2MwZjExZWYgcHkzaworNTkxNDQgYTRhMTQwNDg2NjkxMDNkZjJjYWJlYjNiMzc5MzAwNjExZjY4NDYzMyBsZWdhY3ktdHJ1bmsKKzU5MTQ2IDU1ZmFmYjQ2ZmE0NTVmNWJjYTZlMGFhYzBkNDY3MDg1ZTczMWQ0N2UgbGVnYWN5LXRydW5rCis1OTE1NCBhOWNmNzgwZjYzOTZhNzJlOWNmZjgwN2ZhOTViM2Y4NjQ4NWUxZjdmIHB5M2sKKzU5MTU1IGI4NmU2YmY3NDM4Zjg4ZjMzOWNiYzViN2U0N2ExOWU4ODY1NmMzM2QgcHkzaworNTkxNTYgMTc0NzlhMDllYzdjY2Q1NTE5MDU3MmE4NGNlNzIyOWU4MmQ1ZGJlYiBsZWdhY3ktdHJ1bmsKKzU5MTU3IGJiMWUxNWJiN2I1OWVjODU5Yjk0NTY5MzI4ZGE1Mzk4NmYxZTkxNmIgcHkzaworNTkxNTggYjliOTQ3ODViMmM3MmZjNWM4YmM3NGE5MDgyZjkyNjJiOGNiMTJlMCBsZWdhY3ktdHJ1bmsKKzU5MTU5IDE1NWU5NzI1ZGEyZjkzNDc1OTU1MmZjZDFkYmIyMGVhZGNiZDc5N2IgbGVnYWN5LXRydW5rCis1OTE2MCBjZjYwMzhkZjlkNTI2OWM4ZTFlZGE3NzRjOWUxMjg4MzY5OTA1NjQ1IHJlbGVhc2UyNS1tYWludAorNTkxNjEgNDlhN2M3ZGJhOGNhZmY0ZGE5ZjA3MDNiOGY0OTJhNDU5ODA4MWY3ZiByZWxlYXNlMjUtbWFpbnQKKzU5MTYyIDBiNTM1N2NjNDE2YjhmMzU4MjRiZjMzNDExMjBmMmZlMTJmODdmMzkgbGVnYWN5LXRydW5rCis1OTE2MyAyYmVkODQxNTg1YTljYTY1YjBiNzRiNzcyNmU0NzRkZGJiZjk1OTRlIHB5M2sKKzU5MTY0IGQzYmU2ZTYxNWY4YzQ2ZGFhNjVhZjgyODdmYzI2NThlZjY2NzdkOTUgbGVnYWN5LXRydW5rCis1OTE2NSBlZGI3NWMwOThhNGIwNTlkODQyMDc2OTQ4NTczNTRlZDYxMjYxMmMzIGxlZ2FjeS10cnVuaworNTkxNjYgNmQ2MTRiOGM1MTI1MzJlY2Y4MDcxMTAzMTRjNzNkZjIwZmRkMGIwYSBsZWdhY3ktdHJ1bmsKKzU5MTY4IGNmMjIwNTk2MGNiYmFhZDZlNDVjZDczNTRhNWJmZDhhZDU2MjhiNTYgcHkzaworNTkxNjkgMjA2OGJmNzc4OTFkMGI0MjQwOTI0Y2M4Yzg0NTc1ZDEzMWJkZTg4MSBsZWdhY3ktdHJ1bmsKKzU5MTcwIDIxODNkNzJhYmZhYWNmY2RlNWNhM2ZmOWYzNGQ4NWE2ZTIwYzUzYWEgbGVnYWN5LXRydW5rCis1OTE3MSA0Y2Y5YmI5Y2VmOTFmNTAzZmM2MTlkYWM3MDIzNzQ5NTI4MDE2YTI2IHJlbGVhc2UyNS1tYWludAorNTkxNzIgZDU2MDFlYmUxNWE5NDcwZDFkZDMzZTg1ZDczNTI3YzU2MzRkM2EwNiBsZWdhY3ktdHJ1bmsKKzU5MTczIDE0YWEzZTRlNzM3NTliN2E2NjdiYzdiZWZmMTYzZjIzZmZjNTdiMTAgbGVnYWN5LXRydW5rCis1OTE3NCBlMDQ2NWJhMGU5NWQ2OGJmMTYyOTUxZmZkNDJiYjZhMzRhNGVhZTVkIHJlbGVhc2UyNS1tYWludAorNTkxNzYgN2RkNzk2MWUwZWZmM2ZmNGM3ZmMyMmZlZDYzY2QxOWI2MDQ5YTgxNiBsZWdhY3ktdHJ1bmsKKzU5MTc4IDIyZTA5OTA1ZTQwMDBhZTdjZmY0ODZjYmZjNjc1MjFiZWM0MjlmZDYgcHkzaworNTkxNzkgN2I0ZTk0YTdiOTJlOWVlMDFhYWY3NzllNDVkZDg3ODgwZWMzMjdjOCBweTNrCis1OTE4MCBhN2MxOGI5MjQyMzZhMDdlOWE2M2Y1MTgzZDFkODI4YWI1MWMyYWVjIHB5M2sKKzU5MTgxIDdiMzAxMTEyNDdmNjcyMDA3YzI2ZWM3ZTM0Mjk5NGRmMzMwODljZWEgcHkzaworNTkxODIgZTYxNjVlMzg5YzUwMjJiNDY4NzNhNWYyOWRlODI3OTEwODAyYWE1ZSBweTNrCis1OTE4MyBmZjVkZjFmYzBmY2M0YTZkZjMzOGE4Y2VjNWYxODRkMDk5NGU3MDljIHB5M2sKKzU5MTg0IDUyYmJlMzM2NWM3MmMyNzBmNzVkMTczYzBjNjk4ZWI0Y2U2MDE2MDQgcmVsZWFzZTI1LW1haW50Cis1OTE4NSA3M2Y4Mzg5OWViOWQ5ZWMwMGU2MjJjZGIwMGUxN2Q4MjY1Yjk3NmM4IHB5M2sKKzU5MTg2IGU0YjFlMDVjZTI2MzUyNzU1YzAyZDMzZDkxMTlmN2E0ZWYzMTUxNTYgbGVnYWN5LXRydW5rCis1OTE4NyBlYmM3Mzg5Mjk3ZDY5MWM2ZTE1OWM1OTk5OWU3ZTAyODVmMGQ1NjZkIHB5M2sKKzU5MTg5IDQ4YWY2Mzc1MjA3ZTcwOGRiNDFjMTliNjAzNzNiYzYxZGYwM2ZlYjAgcHkzaworNTkxOTAgZjQ4ZDJlZjcyZTdlMzk0MjRiMDRhYTI1NThiOWJmNjBiYTA5YmNhMiBsZWdhY3ktdHJ1bmsKKzU5MTkxIDA0NzY0NTdmZmIzOTFmZDJmMDQ2OGM3MjJlN2JjNWU2Mzc1NDE1NjAgcHkzaworNTkxOTIgZTdmZWQ3YTU5NTc2OGRjZTI5M2U1ZDA2M2U2MGRmOGM4MjBiY2ExOCBweTNrCis1OTE5MyBiNGRhNzFhODhmYzAxNWVkNDI4YTdmZWVjZGExODM4ZjA5NTU5OWNjIHB5M2sKKzU5MTk1IGYyZTI0NzlhZmRmMGIzMzA4ZjI3NWJhNjhmZmU3Njg1NjFmNDM5MjYgbGVnYWN5LXRydW5rCis1OTE5OCA4ZjkyYjRlZTZmYzRjZjU5NTQ4OWJiYzViOGI5MmIyZDVkMWYyYTEwIHB5M2sKKzU5MTk5IGJhMzA1NjExOWIyODNjMGQzOTQzOGQyZTU5MzEwNjM0ZjE0YzM2NTUgbGVnYWN5LXRydW5rCis1OTIwMCA1ZDEwNDlkNGMzYzY1ODQ3MGRlMDM3MTNiZGMyZTZiYzlmZGQxM2RlIGxlZ2FjeS10cnVuaworNTkyMDEgYmZlMDM3ZTNmZDU1ZmYyZmI4N2RiNjA1ZmZmOWU2YTgzMTU0ZmJiMCBsZWdhY3ktdHJ1bmsKKzU5MjAyIDQ1Y2VkNmFiMDY2ZDViYzYxM2QxOGVmZTk3MDFjMGZlZjY0MGU0OGEgcHkzaworNTkyMDMgNjBlNmVhYTM3OGQ5ZjkxYmUyYjQ5OGQ2NjJhNTZkNWVjYWJkYTE5NyBsZWdhY3ktdHJ1bmsKKzU5MjA0IGQ0NGZmZmRhMmNkMDg3NTdkZWQ1OWI3M2FjNDI5N2IzODUxNzE2YTIgbGVnYWN5LXRydW5rCis1OTIwNSAxMmU3MjgwMzVlMmM2Y2YyYmZkMTMzMzg2NmZmNDlkNjMxYjBhNmEzIHB5M2sKKzU5MjA2IDcxZjQ3Zjg2NDY5MWU4NDRmMzZjNDgxYmUzYmU3NjFiMGFmN2NmM2EgbGVnYWN5LXRydW5rCis1OTIwOCA3ZThlODc5N2Y5ZDBhODUxOGI1NmIxMzI4OWIxNTM2YWZlZmQ4ZDFmIGxlZ2FjeS10cnVuaworNTkyMTAgOTE4YmJlZTNhNTQ1ODgwMGYyYmUxZWYxYmZiMzhmNjc2MDE1OWI4NSBweTNrCis1OTIxMSAxZjAyNGE5NWU5ZDkxNmEzOTQ1M2UzZDYzOWZlMDdlYzU1MDU5ODBlIHB5M2sKKzU5MjEyIDUzYjA4ZmQ4OGJmNDc1YmI0ZjY3OTk5MWUxMTRkYzA0YzIxMWMwYWIgcHkzaworNTkyMTMgNTMwZmI5ODUyYzUwNDNmZWMwYmQzNzNiYjNkMmUyNWVlMTM1ZGQ5MiBweTNrCis1OTIxNCA0YzM5MDI5ZTNmYjAzMGE2N2Y3NTVmN2M2MThmYzNjZTkwODgyMTRiIHB5M2sKKzU5MjE1IDQyOWNhZGJjNWIxMDkzY2Q4MDdlYzg4MTY1ZDU4YTdjMWNkOWMxNWIgcHkzaworNTkyMTYgNDFiN2Y4MDI2NWRiMTliMzk4NDg1NzU0M2ZiM2MxYTZjYmJhNjQ1OSBweTNrCis1OTIxNyAxNTY0OWFlZjJkYjU1ZTEyNzAwOTQxYTNjYTNmMDE1N2UzOWVlOTNhIHB5M2sKKzU5MjE4IGVjY2IxOTcwNDRkZDQ5NWQ3ZDYxMDRmMDc2NzU3ZjZkNjhiMjhlODggbGVnYWN5LXRydW5rCis1OTIxOSBjMDI0Yjg5NGQ5MjljZWQ0Y2I2ZWM1MzkwZjg4NGI4OTQzYTZhN2MzIGxlZ2FjeS10cnVuaworNTkyMjAgZTZjYTkyYjE4Y2Y0ZGE0MmVjNTkwN2RlYmQ0MzY1Y2NmZTFlNzViMSBweTNrCis1OTIyMSBmMjM4NWQ5ODI4MmFiYTBkOTEwZDAwOTliNzlhZWNhYjYxY2I1ZDA2IHB5M2sKKzU5MjIyIGM0YTZkM2VjNDJjMTI0OTI2NzFjNzg3NzlhOWYwNjRjMzBkNzU2ODIgcmVsZWFzZTI1LW1haW50Cis1OTIyMyA2ZWQ3N2ZkYThiOTE0ODBhYjliZjUxOWFjNjY5NDMwMTFiMjVkNGM2IGxlZ2FjeS10cnVuaworNTkyMjQgYjZiNWI2Y2RkMjAyYTkwZWQ1ZGUzMjAxYzc5ZWJhNmEwM2JhNDM1YSBsZWdhY3ktdHJ1bmsKKzU5MjI1IDllZjg1NzI0ZjRiMWY1MjM3YTMzMmE0ZTNlZTEzNTdkNDFjOGNhMjMgcmVsZWFzZTI1LW1haW50Cis1OTIyNiA0OWFjNTg3ZTIyZTkxZjAxN2ViMWQwMjMwMGE0YjM4ZTdmZGU1YWU4IHB5M2sKKzU5MjI3IDI5NWNmMDVmZGQyYzMyOGM3NTAxYzQzYzA2NTYxZTU5NGM3Njg4ZjkgcHkzaworNTkyMjggZDYzOTQ1OGM3ZTAyNDVjYjNjMDRjMTBiYTMwYzEzZGQzZTkxZGZjYiBsZWdhY3ktdHJ1bmsKKzU5MjI5IDBjYzU1MmFiNzZiZDM5YzNmMDVjMzMyODIwNDQ0Y2M1MDE5YTdiYTcgcHkzaworNTkyMzAgODk0ZmVlMjc5ZGJjZWYxNjFiYzExZTdlYTRmZWUxNjcyOTg0MjE3ZiBsZWdhY3ktdHJ1bmsKKzU5MjMxIDQ0MTdhYjViMzUxZTZjZDg0Y2RkMDNmYmU3ZTBiNWNiOTUyOTg3MDIgbGVnYWN5LXRydW5rCis1OTIzMiAwMDA0OGZlZGJhYTBlMjJlM2ZmNTZiOGI5YzIwYTQ3MjViOWZmYWM3IHB5M2sKKzU5MjMzIDNlZjZkYmM0MzUzMWExY2JmMjg0YTZlY2VkYmYwOGNlNGM3NGUzNjcgcHkzaworNTkyMzQgMjhjODAyODM3MjUyMzNkMWY0NTY0NmNlYzcxMTdjNDRjNzI1MzdhYiBweTNrCis1OTIzNiAzY2ViZGU0NzhjYzRkZmUzMzc3NWM5NDEzNDM2ZGUxNDVhOTRiOWEyIHB5M2sKKzU5MjM3IDUzMTEzMTA2ZmViYjU5NTVhNDExNWI5OWMzMDY2OTZmYmFkMTMyMGYgbGVnYWN5LXRydW5rCis1OTIzOCAzYWExMTBmNjgwYWIzZTBhMDgxNzI5ODRlMDg4YWQ1N2Y2ZGZhYWNkIGxlZ2FjeS10cnVuaworNTkyMzkgZjU2NDQwNWM4MTA0MWRmYjhlNmIwNTU4YjZmOGViYTM1NDc4ZDA5OCBweTNrCis1OTI0MCBiNDQwNTllMGYwNzU5ZWQxMmNhYWU1MzU5ZTFjM2FmODU2NDBjYmE3IGxlZ2FjeS10cnVuaworNTkyNDEgMmY0N2IyMjhiYTA2NTRhMGEwYzE1YjU4YTEwMmViNWViNjVhM2MwNCBsZWdhY3ktdHJ1bmsKKzU5MjQyIDc1NzdiOTllYzUzYjU5MmJjYmU5YmY0NTkxZDRiNzFiN2MyYzQ5YTkgbGVnYWN5LXRydW5rCis1OTI0MyBjNWYyYzk3ODkzMTM1ZmJmODczYTA2ZDkyOTRiZGI0NzQwMzhmYzIxIHB5M2sKKzU5MjQ0IGY0ZTdjNzI5YjNhMjRlYzJiODViZWZmY2I0ZTU3OGRlYjY2MzBjOTMgcmVsZWFzZTI1LW1haW50Cis1OTI0NSAxNjVlNTI3YzM5OWFlZTUyODY1MDRmMGUzMmRlZTJlMjI5YjYxMWY0IGxlZ2FjeS10cnVuaworNTkyNDYgNTFjMWVhZWI4Nzg2YTY5MmQ1MzY0NmJjM2NiYzk4NTdlZmFjN2Y4MiBweTNrCis1OTI0NyA2NjRiMGJjOTJiOTZmZGU5ZTc1ZTYwODc5YTBiMTdmOWRhZjlhNTYxIHB5M2sKKzU5MjQ4IGRjYzRiYzU4YWY1MmI3ZWM2ZjA1MDUxMmE0NmJjNDNlYTNlMzY1OTkgcHkzaworNTkyNDkgODBiNDJkYjJlYWM5MmJlODllZDE0MGI2OWU0MjNmNzQxYjEwZjZlYSBsZWdhY3ktdHJ1bmsKKzU5MjUwIDJiYWFiZWU0MDcwMmY4NDYwYzFiZTcxZWZhMjlkMDM1NDA4OWYzN2QgcHkzaworNTkyNTEgNGNiOTVmYzQxMjllMGUxMzU4NDFmMDcyZjQ0ZTU1MTBmNjBiZjM5NiBweTNrCis1OTI1MiAzNTFiN2JkNzg2ZTRhZWVkMzNkOTZmZmFhNGQ2MGRiZWVjZTNlOTYzIHB5M2sKKzU5MjUzIDJiMjFmMTU4YWI5ZmYzMTUwODYzOGU4MmFiYmMxODgzMTQ1YjMwMjggbGVnYWN5LXRydW5rCis1OTI1NCBjMjE4ZDFhYzkxNmU1ZmU0M2JkZDNkNWE1YWQ1OGUzNjIwZTJiMjQ3IGxlZ2FjeS10cnVuaworNTkyNTUgMTEwZmY2MTRlYzI4YWRkZWY2M2YxZmNiZjYwZGM2NThkNjBkMDUwOSBweTNrCis1OTI1NiA5NDRhZTM0NWU5ZmZiNDFhOWExOGFlZjIxOGFjOTIwNzYzNTBkZWQ5IGxlZ2FjeS10cnVuaworNTkyNTcgODZhNzM1YjQyYThmY2VkOWZiYmUwYzViYjVmNjM1ZGU3M2QxOTU5YiBweTNrCis1OTI1OCAyMTMyMWRjZjBhYjVkOWY3NmYwNjFjY2NmZTAwZWUzZjc4OWQ3ZDE4IGxlZ2FjeS10cnVuaworNTkyNTkgNmQ3ZmQ5NWVmMTRhZTk3ZDI2MzE3ODU1ZjFhMjk3ZWMzZjFhMWY1ZSBweTNrCis1OTI2MCBlNjM0NTExYjRhZjVkYThjZmU2ODdjMjIzZTg4ZmM1ZjJlMzQ5YzhmIGxlZ2FjeS10cnVuaworNTkyNjEgYjIxYjFjNGYwNDM5NWI5YjJhMWE1MGEwNTk1Y2U2MzYwY2JlMzU5YyByZWxlYXNlMjUtbWFpbnQKKzU5MjYyIDRmMWIyMGVkOThlNWZhNzU3ODA4MDBkNDY4Mzc5MDBjY2U4YzNiMTAgbGVnYWN5LXRydW5rCis1OTI2MyA2MjI0ZGNhYzgwN2Q4NzMwMGM5YjdjOThhNmFkZDc5NmEyMmEzZGU3IGxlZ2FjeS10cnVuaworNTkyNjQgYmZkZWE2NTM4OGMzMWE2NWJhYmJmM2RlODE5ZjFkMDQyOTU0Mzk3MSBsZWdhY3ktdHJ1bmsKKzU5MjY1IDE5OWRmZjg1MzBhZDlkYjk2YjNlMDA3ZjUwY2UwZDM4ZTc0YTc5MGMgbGVnYWN5LXRydW5rCis1OTI2NiA4MjMxNDFhZGIwODAxYWE0M2VlYWJmYzIzY2QxOTFiODc2YzFlYThjIGxlZ2FjeS10cnVuaworNTkyNjggMDg4OWRhZjZkMGQ5NGI1Zjk2N2FkNjk3MGUyYjlkNTE3YWFhNmE2YSBweTNrCis1OTI3MCBmMzI0NjMxNDYyYTI3YzZkMmE2ODRmM2JiNTcwOTE4NWZmNmI4ZjJhIHB5M2sKKzU5MjcxIDFhYzdiYWFlYmNlNzc1NDlhNmM1N2I0MjI1ZmM2ZTFmN2NkNzdlMWQgbGVnYWN5LXRydW5rCis1OTI3MiBhYmEzZDA5NDlhMWQ1NTJkZDdlZWZhMTlkZGM0YTY4ZGE3NjA2ZWUxIGxlZ2FjeS10cnVuaworNTkyNzMgZTdiY2FjODU2MjQ1MmM2OWE0ODIwYzJjNWUzODllNzNmMGFlMGNlNyBweTNrCis1OTI3NCAxZTI2NjAxNWNmNWJhZWNmZDQzMDc4MDRiMGE0ZGVjNjk2ZjUyNzdlIGxlZ2FjeS10cnVuaworNTkyNzUgZmYxNzY2ZWIyZmNlZWYzM2U1OWE2NDUzOTQ3MDliYmUwYTIxN2E5ZCBweTNrCis1OTI3NiAyN2ZkY2EzYWE3ZDQ2OGQwY2FkMTA5OGM5YzBiMjhmMWVmMmRlYmUwIHB5M2sKKzU5Mjc3IDQwZmNhYWRmYjE2NjNmZDlkZmJhZGE4ZjVjNTMyNWQwYmM5ZWI2ZmEgcHkzaworNTkyNzggNGUxZDY0OTEzNjdjNzU4ZDMwNmQyMjdiNmU3ZGZlMDc3Nzc2MWYzYSBweTNrCis1OTI3OSBjZWRiN2FkYzg3YzVmN2MzYTM3ZWFiZjEwZTI3NWNhOTRkM2U5MTg1IGxlZ2FjeS10cnVuaworNTkyODAgMTY5YTgzNjQ1MzY3MTcwOTlhZDQ1YjQxYzE1NWE2NTZjMTc1MTY2OCBweTNrCis1OTI4MSA1NzgxZTE5MjhiY2E2NTYzM2JkMmVjNWMzZWZhYzEzODY5M2VlMjA5IGxlZ2FjeS10cnVuaworNTkyODIgN2YwZTQ4NTM2YTI3YjM1YzAyOWFjYzkzZjlkNDdjM2Q3YThlNDY0OCBweTNrCis1OTI4MyBhMWMzYmQzODI3NzFjZTQ5YmFlOGZmZmMwMDA4NTkzZjQ2Y2Q3ZDhlIHB5M2sKKzU5Mjg0IDkxZDExNGQxYjU4NTEzNDgxYTgzNGNmYjI3YTI5YTJlNTMyMzkwMGMgcHkzaworNTkyODUgNDg2ZGM0ZGYzNzg5Njg3MTBiODA2OTg5NmI5NGUzNzlmZmYyM2FjNSBweTNrCis1OTI4NiAyMGFjNDc3N2MwY2ExMDNlOTJmNGUyOTc3ZWFiOGM1Mjg1MmI3ZWUzIHB5M2sKKzU5Mjg4IDgwM2VkZjliMWRkOTE0MzMyNmVjYzJlNmFmYWM3NWJjZjYzOGI0ZDYgbGVnYWN5LXRydW5rCis1OTI5MCBlYWQwZDQ3YjAxMmI1OTJiN2FiY2QxMTllMDIzNjE0ZjgzYTJjYWQzIGxlZ2FjeS10cnVuaworNTkyOTEgN2VhYjE3YmU4Y2I0OTc4MGI4ZDAzNjdlMDQ3MWJhNTk1MzYwNzQ0MyBsZWdhY3ktdHJ1bmsKKzU5MjkyIDY0NTgyMDgzY2I5YWZhNDNjMDc0NTA5MDAxM2E3YzdjYWJhNDJiMGUgbGVnYWN5LXRydW5rCis1OTI5MyBmZTZiZWRhZmI0NmE2NDYwZWIwMGNlZDA4YWEyYjgxNGQ5ZTc4NjIyIGxlZ2FjeS10cnVuaworNTkyOTQgMzBmNTQ5Nzc4MjhiMzM3NTBiMzViNmNjNjVkMzg2OWEwZWQ5NWEwMyBsZWdhY3ktdHJ1bmsKKzU5Mjk1IDk3MjEwZDg2M2QxMjM0YzZlNGI2M2Q3OTJkN2U5YzA3ODgzNTQzYjcgbGVnYWN5LXRydW5rCis1OTI5NiA0ZDE2ZWUzOTMwMWY5YzIxZTlkOTJjZGY2OWI4YTNiMjdhNjQ0ZGI5IHB5M2sKKzU5Mjk3IDk3MzI2ODVlZWUxNzJhYTc2NjU5ZWNiY2E2ZmYyZTk2NWQxODQ3ZGQgbGVnYWN5LXRydW5rCis1OTI5OCA4YWNkOGY1YzYwODE3NTJhMmM4YTU2MTk5MWVhMTZlOGQ5YTQyYjIwIHB5M2sKKzU5Mjk5IDdlODlmNWNmNmIyMTRmNGJiZjU3NzJkODY3MjBlYTcwZDhjOTYyODkgbGVnYWN5LXRydW5rCis1OTMwMCBhYTYwMTdhMmU4ZjkyNmZkMTE5NDJkNGQ3MDFjMjUzN2Q0NGNiMzg5IGxlZ2FjeS10cnVuaworNTkzMDIgYmU3YTg1YzM0YTRjNGY4NzM4NmU4YzNkZTgwNTJlMDAzN2EzNjhlMCBsZWdhY3ktdHJ1bmsKKzU5MzA0IGI2MzczNDkzMzZmZDlkMTIyN2FmMDczNTMwZjk1MDUzNmM3NzhlYTQgcHkzaworNTkzMDUgZWFkN2EwNTNmNWI0MzRmYjljMzZiOTYzMmMwMzFhNDU4M2JkMzdlMCBweTNrCis1OTMwNiA0NGQwYzcxZGMzYzNiMzg5ZGZlZGNmMzI4NzdmZTUwMWI3MGMwNzg0IGxlZ2FjeS10cnVuaworNTkzMDcgYWVlZmI4OTczODRmYjQwZGE5ZjBlZDZkM2Y1NjFlZmNiYmY4ZGUzMCBsZWdhY3ktdHJ1bmsKKzU5MzEwIDBiZmVjNjA5ODM3ZWM1MDFhYmM4MTY2NTg1NzY2MGJhYjE2YjQ1MDEgcmVsZWFzZTI1LW1haW50Cis1OTMxMSBlMDhiMTJjM2I5MTM2NDNiMGFkNzhjNjcyNDYwYzVlY2ViYTc4ZWI5IHB5M2sKKzU5MzEyIGQ3NTIxMGJiY2E5N2FmODc5ZTY0NjExMzg3NGUxZDY2NzY0N2QzMGMgbGVnYWN5LXRydW5rCis1OTMxMyAyYTQzNTA3Y2Q5NTMyZWIwNDFiZjU4NDE3MTBkYzRjOGI3YWIzMWNiIHB5M2sKKzU5MzE0IDgyNWNmZmQ2YzBjZGE3NDg2NTI0ODEyZDAzMjZiZDc0NDdjMDY0OTcgcHkzaworNTkzMTUgOGU3NGFmMTk3ZTZjMDMyNGQ5YTk1YWY4MzQ1ZGJiZDBjNzlkZmZmNSBweTNrCis1OTMxNiA4NDJiM2Q0NWJmZTRjM2NmN2IyNjI0MmJmYzIyZTgyNWNmM2IzYTI0IHB5M2sKKzU5MzE3IDA0NTA1Yzk4OGFiY2Y3YzNiZWRhMjZjNDg1NjQ3ZDliYTQ0ZTdiZWUgbGVnYWN5LXRydW5rCis1OTMxOCBlY2U2NWM2OWIxZDMxNGUwYTFiNDU2OTcxYTY5ODRlMTg5M2QyYmNmIGxlZ2FjeS10cnVuaworNTkzMTkgYzhiMzM5Y2ZlZjFmZTViNDYyZGJjZDk3ZDA5OGEzYWM4Nzc0MjAyNiBweTNrCis1OTMyMCAzMWEzY2UzOGI1NmMzNWQ5YTA0OGMyYTI4ZGE2YTY2M2YyZDIzYzViIGxlZ2FjeS10cnVuaworNTkzMjEgYzlmYzRiMWY5YmM2OTJmNWVkOTczYzAzMDQyYTgxNDZiNjNlYzFhZCBweTNrCis1OTMyMiAwY2U2MTIyMWM2M2Y4NGYyNzVhZGYyNTQ5YjllMTVmNWVmNTQ3ZmE1IGxlZ2FjeS10cnVuaworNTkzMjMgNjBlZjljNGU0MDEyNGRjMzMzYzljYWIwMmZiYjdkYTI4MjhiY2I1MiBweTNrCis1OTMyNCA3ZTUwNDJlZTk0MjQ0ZmRlZWRlYTJhM2FhNzhlYjIyYTk3Zjg4NjY0IGxlZ2FjeS10cnVuaworNTkzMjUgNTMzMjBkNTQ0YmM3YWQ5MmI5ZDI4YWJiOWM0MGQ2ZDJjNmQxYTU5YiBsZWdhY3ktdHJ1bmsKKzU5MzI2IGYwYjMzMTliNzI2NmI4ZjJjYWFlMjUxZWVlMWJhYjNjYjQxNjQ5ODIgbGVnYWN5LXRydW5rCis1OTMyNyAyZmZhNGY3OTk0YTNlOWM4NDVmYTdjMTI2NDQxZDA0ZWY2ZmVmZjZmIGxlZ2FjeS10cnVuaworNTkzMjkgMTZiYTAwMTY4YzZhZWRhNDZkZTgxOTVmZTEwOGM4ZjQ0MzUxZTE4OCBsZWdhY3ktdHJ1bmsKKzU5MzMwIDFlNzI2YWVhYjZhNTI5YWNjYzViNDhhYWMzNjEyYzc2NTI4Njk2ZDIgcHkzaworNTkzMzEgODhmODY0NDViZTc3M2U4NWEwMWJlZTAzZGE3NDMxM2I5NjgyOWIzOCBweTNrCis1OTMzMiA4Mjk5MWZmNzVjNWE2ZTRiN2ZmMWQ5N2Y2NTgyODY4NDcwNDI2M2M4IGxlZ2FjeS10cnVuaworNTkzMzMgMWEyYTZkZjBmYmUwMTcwYzgxYjNlM2YxMzcxOTNjNmIyNDdjODNhOSBweTNrCis1OTMzNCBmYjg0YmQ5NTAwYTQwZWE2YWRiNDk2MTA4YjRhNTkzMjNmNDEzZmE2IHB5M2sKKzU5MzM1IDU2NTAxMmQxMTIzZGYyZTJhN2NiYjllY2IwNmRkYjAzZDkxYzMyZGQgcHkzaworNTkzMzYgODFlMGMwZTJhOGMxMzg0NGMzNzk3MGRjYjliNWIxNTkxZGVjZWE3YSBweTNrCis1OTMzNyBhZjg2Yjg5Y2U3ODQ3MGE5YjlmYmRmMDViNzI2ZjNmMmIyNzFlYjBkIHB5M2sKKzU5MzM4IDlkMTUyNTMwOTEwYTY1MGQzY2FkNGFmMzA3NDk1YTAyZmRjMDFjMGYgcHkzaworNTkzNDAgMWE3ZGZiNjFiNGQ4ZTE2YjdlNDY1MjE1NWZjOTliOWMxZTRlNWEzMSBweTNrCis1OTM0MSBlZjUzOTliMzUzYzk1ZGE3MGU3ZTc3YjJmMmYzYjMyOGE5NWY0MTYwIHB5M2sKKzU5MzQyIDU2NDlmN2NlMzA2Mjg1NjFjZGZhNjc4Y2EzMTRhYmE1MDY3ZDEyMzUgcHkzaworNTkzNDMgMzM0MTYxZjc0YjhlNWZkZmVhMTAyNzFmZDAxZDNlMTE1NmM0ODE2MSBsZWdhY3ktdHJ1bmsKKzU5MzQ0IDYxMmQ4ZGVhN2Y2Y2UzMjM5MTIzNTg0ZDg3NWY1MzA1NTdhYzA3ZmMgcHkzaworNTkzNDUgZTRjMjI1MDVmMDExY2YwNjcwZjdlZTM0ODY4MGM1MTU1NGU2MjNlYiBweTNrCis1OTM0NiA2M2U2MWM3NzBhOTMyYzg0ODdjNWE3ODU4YzFkYWJhNTEwOTEyNDQ1IHB5M2sKKzU5MzQ3IGMyNzg3ODI4MWM4Zjc4MWI2OGMxMTgwNDU0ZmY2MzQ5NTk1M2MxMzAgbGVnYWN5LXRydW5rCis1OTM0OCA1ZDk5MTA4MGQ4OGU1ZmExYjE0NzQwOTdmNDhiMTQ3YmRhYjgyOTg0IGxlZ2FjeS10cnVuaworNTkzNDkgMjZhNDM3ODYzOTViNGQyYjIyY2U0MWIzOTcxZDU4MTllZDk0ZTMwOSBweTNrCis1OTM1MCAxN2I0MzkwMWJiNDE1ZmJhMjhhZWU5MDljY2U2OGQ2Nzk1Nzc1Y2QzIGxlZ2FjeS10cnVuaworNTkzNTEgMjc4NWUyMTYwZmE2YjI3MjQyMThjYTZmY2NjOTdjYzg5ZDRlMTdhMCByZWxlYXNlMjUtbWFpbnQKKzU5MzUyIDI1MGM0ZmQ0Y2E1NDJkMjQ4Yzc4MjA5MzRlZjIxYTMzZTBhMTgxNmUgbGVnYWN5LXRydW5rCis1OTM1MyA4NjcxNjEzNGVkODc2ZjNiOWY0MTIyODQ0MWQxMWY2NThkNDZiMWQ3IHB5M2sKKzU5MzU0IDEzNDllYTQ0MWU0MWJiY2EzZmY2YmVjY2JkZmJlNmNhNWYxNDBmNTAgbGVnYWN5LXRydW5rCis1OTM1NiA0MGZjODQwNTE3ZmMwMTJiYTE0NzFjNTUyZjBmY2QwZjYwOWQzMzM1IGxlZ2FjeS10cnVuaworNTkzNTcgZGFkOWVkMzM5YmMzNDU4ZDYwZDk1YzRjN2U1ZTUyZWJiZTI5NmZjZiBweTNrCis1OTM1OCA5MzQwNjk4YWU0MjEzOTA4NmUyMzdiZmI4MjgwNjQ3ZmQ1YjhhZWM0IGxlZ2FjeS10cnVuaworNTkzNTkgNzlhZmE0YzU1MjExZGZhYjU4YWRmNGUwMDRlZDQ5ZWQ3ZDRkNjA4OCBsZWdhY3ktdHJ1bmsKKzU5MzYwIDYyMDBhNDQ3ZGFhMTY2Nzc5NTAxNTBmNjdjMjgwMDI3ZTgxZjMzNTAgcHkzaworNTkzNjUgMzIwZjdlYzYzZjBiZGZkMjdlMmRkYjkxYzA2NWIyNmQ1NTQwOTg4ZCBweTNrCis1OTM2NiA1OTBhMTQ0NzYwMTlhM2MyYjYyYzAyNmQwMmU2Yzk5M2NjZmY5NzczIGxlZ2FjeS10cnVuaworNTkzNjcgZDMzZjhjYzcwN2NiZmUzYjkxZGUzZGM0ZTQ5ODA4OWEyN2VlMjgzZCBsZWdhY3ktdHJ1bmsKKzU5MzY4IDg2MGNlOTc1NWQxNWJkNzg1MTA3MTNkYjM0MjNlMWYyOGFkNDcyMWIgbGVnYWN5LXRydW5rCis1OTM2OSA1NWMwNTA0MjMwM2IzOWYwNTRjNDcyMTNmNTYxYjBiZjU5N2VjNGFhIGxlZ2FjeS10cnVuaworNTkzNzAgYTFiYzY1OTU0YTljYmMxZTE3ZWNhODViNzBiYmU3MDc3OGU5OGFhNyBsZWdhY3ktdHJ1bmsKKzU5MzcxIDA1ZGE0OWViMTJjMTRmMDM0OGE1ZWMzYzMzM2E5MzE0MTgwNjJkY2MgcHkzaworNTkzNzIgMWY3MjJiMDg1NDAyN2M1ZWMyZDcwYzI0ODljY2I0YzQwYjQ2OWE2MSByZWxlYXNlMjUtbWFpbnQKKzU5Mzc0IDUzODQ3NmI2ZDdlMDUyYjUwYTgyZmRiMWE4MjRiZjA0MWUzZTg2YjUgbGVnYWN5LXRydW5rCis1OTM3NSAxN2MxNzgwN2E2MTE3OGFkNjg4YWU4MWI0MTE1NzZmMjk0ODVmNWJjIGxlZ2FjeS10cnVuaworNTkzNzYgZDY0YmViOGZhZDA2NjE3N2Y5MWVlOTFlN2ZmNzZhYzBjOTM3YjI4NyBweTNrCis1OTM3NyA4NWU0YmZmMzdiYmRjYjZkNTZmMDJlZGY4NTMyM2IwNWExOTI2YzRhIGxlZ2FjeS10cnVuaworNTkzNzggNDRjMDkwYzc0MjAyNjAyM2NhMGYwYjczMTUyNmIzYzU3NWFkMWU3YyBsZWdhY3ktdHJ1bmsKKzU5Mzc5IDFkOThmYzI2NWY5OTJlNTY2Y2NiYmYwMmQzZmJmYTI4YTUzNzQ4MGUgcHkzaworNTkzODAgOWFkNGFlZGYzNDliZTkyYTI4NGQzMzdmZDNkZDI4YmEwYWUxMTAxNCBsZWdhY3ktdHJ1bmsKKzU5MzgyIDZlZjhiNWI4ZTVkNmZmZThiMDRmNjc2OGU1YmYzZDAxZjBhNjI4OTMgcHkzaworNTkzODMgYWZkMjk5NmYyMDIxMjQ3NDk2MjA4ODliNjIzOThmZmI2ZjQ0ZTE3NiBsZWdhY3ktdHJ1bmsKKzU5Mzg2IGE1M2VmNzc4NTkwZWJiM2QwZDY2ZTAyZjIwZmY5MTFmZjIyZmYwM2EgbGVnYWN5LXRydW5rCis1OTM4NyBiY2MxNzNjM2FkNzA5MmIzYjY3MGUyMGM5MWEzZmJjMDliZjExZWExIGxlZ2FjeS10cnVuaworNTkzODggZjExZGQ0ZDMxNWRkMGRhNjdiNzBkYmEwNGZhNWExMWJkYWNmOWFiYiBweTNrCis1OTM4OSA3NGJkZDUwZjA3ZTVkYzNjNDhhNmY0MjJjOTllNmZiOWJkMjEzOTU3IGxlZ2FjeS10cnVuaworNTkzOTAgNzFhZDVlMmJlZGRhMjdkMDljNTE5YTE5ZDYzNzYxZjYxYjBkYzAzNCBweTNrCis1OTM5MiA5MzllODEyY2MwOWNlN2IwMDliNDNhYjkyMzBjZjA3MTFiYzU5NTE3IHB5M2sKKzU5MzkzIDUwYjAzYWZhMGJiZTc5MzM3YWZkMTI4ZTcwMTMyMjJhNmE3ZGE5OWUgcHkzaworNTkzOTQgYzIzMjgzNmNlNWM5NDM2NDU0MDA1MThmM2FmYmRkOThjZTMwZGMxZSBweTNrCis1OTM5NSBjZTI4MGEwNGY1NWUwZmU4N2I1ZTljYTFlYzYwZDZhMTFlYTY1ZDViIHB5M2sKKzU5Mzk1IDY1ZTgyMTQwZTI4MWJmMjZmMmUyMmVkYTA1YTdmOTk1NmM0MjBmOGIgcHkzaworNTkzOTkgMmZjZTk4OWRhMDIxM2NhZDQ4NjQ1MTNjMDM0ZWRmNTA3Mjg3NzhhNyBsZWdhY3ktdHJ1bmsKKzU5NDAwIDMzNTZhZDYyYzJhMzY5OTcxZWViNzVmN2YyYjFlNjg1OGU1NDIyY2UgbGVnYWN5LXRydW5rCis1OTQwMSA1ODJkMmE4Mzg2M2NjNDM5MDM1MGMxNjNiOTEyODNlNDJmMmYwZjA0IHB5M2sKKzU5NDAyIDgwODg0NjQzYTZmOWU3ZDEzNmM5NjI3ZDEyNzE0NDdlMDc4M2NiOWUgbGVnYWN5LXRydW5rCis1OTQwMyBjNmZiMzkzYjZjODE1OGIyMDU5ZmM1MGIyMTg2ODlmZDI0NGVjNGU2IHB5M2sKKzU5NDA1IDcwY2M3Zjc0MGQzNDcyNjBhMGJlNjI5MDdiNGI2NjgwMWNmYTRkYmMgcHkzaworNTk0MDYgMjJlM2Y1YmQxNDA3ODYzMzhhZjQ2ZTRiMmUxY2JmYThlZmNmOWI2OCBsZWdhY3ktdHJ1bmsKKzU5NDA3IDRkZTU5NDc0MGE4OGY5OTZiNzAxMDYzYzI2OWE5N2NhNmY5ZTYxYjIgbGVnYWN5LXRydW5rCis1OTQxMCBhNzFhNzFjYWI2MDgyNWFjMTcyNmU1MzBjYzllZTYyY2FhNTQ0NDVmIGxlZ2FjeS10cnVuaworNTk0MTEgMGJiMTA4YTNjMGM5N2NlOGI0Y2NlNTkzN2E1YWU5YmVhZmE3MzdiYiBsZWdhY3ktdHJ1bmsKKzU5NDEzIDc3Y2I4ZmYzNDkxMmFjZDA3ZDNiMTllZjUxYTRjMzkwMWMyOGI2MTEgbGVnYWN5LXRydW5rCis1OTQxNCBhOTg3N2I3ZWU4NWRlYzhjOGNkNGU5N2I5YmU2N2Y2N2VmYjgyOWQ4IGxlZ2FjeS10cnVuaworNTk0MTUgNjI0ZjUxMWNlOWYyNDhkMzhhZDA4YTAyNzNjOWQyNGUwZDQ0YzgwMyBsZWdhY3ktdHJ1bmsKKzU5NDE2IDAzOTQ1YTFkNGZiM2NmNTlmODIxMmZmZDdiNDYxNTAyNDYyNjdkMzggbGVnYWN5LXRydW5rCis1OTQxNyA5YTk3NmE2ZWU5MzY2OTFlZjlhNDNlZjBjNGFhZjkzODViYTcxMjNlIGxlZ2FjeS10cnVuaworNTk0MTggMTE4ZTZkNjhiNDRhMTI4OGFiNzZlODQ5ODMxNDMxMTdkNDFmNDcyOCBsZWdhY3ktdHJ1bmsKKzU5NDE5IGYyZjczOGE0MzdmODc5YzY0M2RkNDY0NjRkNWI5YTRjNzhhY2UzYTAgbGVnYWN5LXRydW5rCis1OTQyMCBhZDhiODA0NjA2NDRmMWY4ZmE2MzU0ODU3YzIzNjQzZjkwNDZjOTJhIGxlZ2FjeS10cnVuaworNTk0MjEgYWFkNjVhMjQyNGUzOGQ4YTcyYTdjMGEyNjU2ZGYwMzlkMTA0MDM4OCBweTNrCis1OTQyMiA0ZWU3NDMxMGVjZjk4ODc3NGIzNGFiYTVkZmI4MmE1OGQwMmI1MGU5IHB5M2sKKzU5NDIzIDE3NDQ4ZTVlOTY3MWRhNGI5NjE5NjMwOGY1MTNmNjAyMmQ4NThkMDEgcHkzaworNTk0MjQgNjk5ZmNkZjViYmQ3NGIwMTA4NDRmZDQxYTE3Y2FhNmVhOWNmY2I3MyBweTNrCis1OTQyNSA2YjUxN2FjMTBlOGVmOGUyMzdhZDFiNmJjYWViYjE2M2M0NTQ4N2I3IHB5M2sKKzU5NDI2IDkxY2NjZTc0MWQxMTQxZDk2ZDNhM2YzMDNjMjU0MTE2NDVkZDcwOWIgcHkzaworNTk0MjcgNmQ1ZjA4NjAxZjRhOTViNDIxNWZjNWM5YWY0N2JmMWRmYWMyMTQyYSBsZWdhY3ktdHJ1bmsKKzU5NDI4IDUwYTUwZTc1MjE0MjNhMjcxNTM4MzkzNDY1MzI5MGE1YTg3MGNhZjAgcHkzaworNTk0MjkgYTVjNDczOTEyMWUxNGZkM2RhMTc0OWE1YjBkZWM2MmU5NGVmYzk4YiBweTNrCis1OTQzMCA2MWRmNWY1Mzc5NjllNmFhZWNiNDgyZDM2NTQyMDFhZjk0NmYyNTg5IHB5M2sKKzU5NDMxIGY2N2VjNGViNDc4YTg5MDhjOTAyMzFhYTIwZjA1OGU2ZTljMGVkY2MgcHkzaworNTk0MzIgNDRhMjRiNTliMTZkMDIxMDY4MmRkYjAyYWFmYmFkYjFjNWVjNTY0YyBweTNrCis1OTQzMyBiZTNiNjYwMWY5ODlhNjhlNWEwMTljZDgzODY1NDcwZmFkOWQxYmU0IHB5M2sKKzU5NDM0IDM2OWE0ZTA2ZmQzMDExNjJiODdmYmY4MDg5MzM1MmJkZmMwNGY4ZWIgcHkzaworNTk0MzUgNmNlNmUyZjNkY2IyZDY4N2Y5NWFkNDUxNjJjMTdkMzNkMTY0MDM0MiBsZWdhY3ktdHJ1bmsKKzU5NDM2IDVhYzg3NGQwOTU1NjM2ZDUzOWNkY2QxOTk2MmEwZmM4ZGIyZjgyZDIgbGVnYWN5LXRydW5rCis1OTQzNyA2NmRiZTEyZGRmMzFkNzZjNDhhNjAzYmQ5MGVmMDM0MzFmZWMyNjE2IGxlZ2FjeS10cnVuaworNTk0MzggNDBiZmQ2ZjFjYzE2OTAzMzIyYTE2YzJiNzBkMmQwOTIwZWY5NTExOCBweTNrCis1OTQ0MSBkNzdmZDFiOGMwYzU0NzMyMDkzZjE0NzEyM2EwYzQ4ZmUzYzI1YTMyIHB5M2sKKzU5NDQyIDVhYmZkMDdlOTdkNDg5ZjI1YzVkZTIwMmVmNmYzNGVjMDQ0YmIyYmMgbGVnYWN5LXRydW5rCis1OTQ0MyBhYWMzM2VlMWE4ZmM3MzI3N2RlMDEyZmRkMWI1YjczMWFiMDc2OGQ0IHB5M2sKKzU5NDQ0IDg4OWE2NDIxZjEzNWI1OWVjMjQyZDU0NTA3MmEwZThmOWI3MTA4Y2IgbGVnYWN5LXRydW5rCis1OTQ0NSA5Y2YyYmY5NDYxYzQxMGQ4NThlYWNjMWQ2YWViYTllY2Y1NDI4NDNiIGxlZ2FjeS10cnVuaworNTk0NDYgMzNmZjQwZTZlMTM3NTg5NTZlMWZlNDZmYTNlZWZjNGRjYzJjNjhiNSBweTNrCis1OTQ0NyA1OWU2NGZhM2FkMWQ5Y2EyZTc3NTk5OTMwYmU3NWYzYmIyOTMxZjQyIGxlZ2FjeS10cnVuaworNTk0NDggMjAyOGZlYjk0YjU3NTUyMDQ5YWU1ODdjNDc0NTc3YzdlMWFjYTIwZiBsZWdhY3ktdHJ1bmsKKzU5NDQ5IDQ0NGRhMDhmNzhhNGRhNzlmNmM3MTdiMTdlYmEyMDdlZjYwZDE1YWUgcHkzaworNTk0NTAgNjBhNzQwZjVhNTdhM2ExN2U5ZGE2MmQ0NzY2ZGZiZWI4MDM0YjM0YyBweTNrCis1OTQ1MSBhMzg2ZWYyOGIwMDg3Mjg4MzZhYTk0MzRkOGU0ZGVmYjc5MmQ5Zjk1IHB5M2sKKzU5NDUyIDEyY2Y5ZmZmOWQwYWVkMzZkNmEyYzZmZTdiNDQ2N2Y4OTg3YWU1YjUgcHkzaworNTk0NTMgNmIzNWRmNDBiY2FjYWZkNmQyZDVjYWViZDkzNjkwZjA2MDY1MjgxYiBweTNrCis1OTQ1NCA3NmNlNTk3YzcyZWUwZTEwNTVlNWM3OTA3YThjZjU4NDJkZTcxODlhIHB5M2sKKzU5NDU1IDQ3ODk1Y2E2ZjBjYmE4ZmIxYThmNzU5MDI3MTVlOGE1MDNlMTA3ZjUgbGVnYWN5LXRydW5rCis1OTQ1NiAxYjBjZTlmZmE5NzI2ZDUzOTRjNDhiOWI1OGQ5MTMzYjM1ZmMwNTMyIHB5M2sKKzU5NDU3IDY4MmQ5Nzg4YTAzOGU3MmZiYWJiMTAwMzQ2NzNjMWM2ZmQwMDQyMzMgcHkzaworNTk0NTggNjZjZTMzMTRjMTk4MjBhNzFhYjk0YTg2YjI5MGQ5OGYyNzI3ZWM4ZCBweTNrCis1OTQ1OSAyNDc0OWEzODA0MDkzNDAxZGU4MDMxNDA3Zjc4MGNlNjZhYjBkY2NkIGxlZ2FjeS10cnVuaworNTk0NjAgZWI2NWUxMDVlNGI4Y2RhZGEyMDBhOTUyYmRmYTk0YTQ4MjU4YjU3YiBsZWdhY3ktdHJ1bmsKKzU5NDYxIGE0YWFiNzJjMmNjMGJjNDk0MzE5ZDIxMTA1ZTU3YTVkZTg0NzhlZjMgcmVsZWFzZTI1LW1haW50Cis1OTQ2MiAyYzZmZTJkY2M4OGVhMWQ4MWJjNWMyMTg5NjQzNWQ2ZjljNTEyZTNmIHB5M2sKKzU5NDYzIGU2NWU5YzY0OWNmZGFmYjM4YzM0YTg4NDNhMTlhODMyOWYyYmM0YWUgbGVnYWN5LXRydW5rCis1OTQ2NCBmOTA5ODcyOTE3Yjk1ZDliM2NkZDlmZmFlODU0NTA5NTNjYmI1NzUyIGxlZ2FjeS10cnVuaworNTk0NjUgN2FlNjA0YjM1MzNiNTM2MzU0ZGEzMWEzYzNlMzdmOGI1MDk2N2I3ZSBweTNrCis1OTQ2NiBiNTIzOWNjZjk0YjViYTczOThhN2M3MTdjNDYxNDgzYmQ4MGMwMmQwIHB5M2sKKzU5NDY3IDcyN2FmMTYxY2E0NjRhYmQyNzEzMDQ0YWNkZjVmNTEzNGE2ODAzYTAgbGVnYWN5LXRydW5rCis1OTQ2OCAyZTE5YzNlNTExYmY1OTM5ZjYzZjQ2ZWI2NDNkZTBlNzEyN2IwZDE2IGxlZ2FjeS10cnVuaworNTk0NjkgM2UwODY3YTA3NzY1N2U0MTQ4NzU1MDQ0ZTFiZDgzNjI0OGQxMWEyMSBweTNrCis1OTQ3MCBlYjIyNjBkY2IzNjVmZGU2NTExZjQxYWZjNGQ4MjRhNGYyOTI4OWViIHB5M2sKKzU5NDcxIGE2ZDEwNTlmMjJlMmNkMTQwNGJhMGEwMmNmMjI4ZDUyNDdiNDRkOWEgbGVnYWN5LXRydW5rCis1OTQ3MiA0ZWJiYTliMjY4OGY0MDcyYzE3ZjU5ZWI0YTk0ZDQwMzBiYjU1OGUzIHB5M2sKKzU5NDczIDY2ZDQ3OTZlZTkyY2JmYzQ2OGRmOGRmNzZjM2YyMWM3M2Q4OWUxZjggcHkzaworNTk0NzQgOWEwOWQ0NDJiY2UyN2IyZDczNzZmZDM5YmIxMWJiMGM4ZTFmNzk3NCBweTNrCis1OTQ3NSA5OTI5NzgyZjVjYjQ4ZDA3YjQ0NTEwNmMyMzVkYjIyNjI4MWJjZTgxIGxlZ2FjeS10cnVuaworNTk0NzYgMDE3MDcxNGViMDQ0MjE1OGMzMTBhMjRmZGI0ODdmZGFhMTE3MWUyOSBweTNrCis1OTQ3NyBlMTc2YjRhZWE5YzUwZjVhMTlkMmFjNWI0M2Q0ODZiNmNjMTRmZTVlIHB5M2sKKzU5NDc4IGMyZTcyZmViNTNiMzZlYmMxNTBhOTY4MWI0MThlOTU1NzA4OTJiMzAgbGVnYWN5LXRydW5rCis1OTQ3OSA1NDEwNTJiMDQ0ZjA5ZTMxMDk2ZGRkOTdlNjI5Y2JlYjhiN2M0MDVmIHB5M2sKKzU5NDgwIDdhOGM4YzU2ODVmY2NiMTRmZmNiNmY2ZjdjYTYwYjg5N2Q5MzlmNmEgbGVnYWN5LXRydW5rCis1OTQ4MSA2YWU5NGEyYmE1ZGZhZmEwMWEwZTQzOWQxNzU5NTFkYTlhYjdkNjQwIHJlbGVhc2UyNS1tYWludAorNTk0ODIgMjI2YTA2MmFiNDNlZjc3Nzk3Nzk0YmFjODVkMWUxODVmNTYyYmU1ZiBsZWdhY3ktdHJ1bmsKKzU5NDgzIGQ4ZTA2NTQzY2RkODBlMzQ1ZWRlMTZjNmUyYTI3ZjA0OWU3ZDVhYzUgcmVsZWFzZTI1LW1haW50Cis1OTQ4NCA1ODkyNjJkODFlMjk4ZmVlYzcwODYzMmZkYzhiNzg5YzE2NWI2MjdmIGxlZ2FjeS10cnVuaworNTk0ODUgZjA0YzAzNjVjOWFhZmJiMzllOGI2MWRhYzZjZDYyZWE1MTQwMThkZSBsZWdhY3ktdHJ1bmsKKzU5NDg2IDMwOTZiMDEyNzMzZTE5YTRiOWJjYTM3MzA1MDE5ODIwNmYwMGY5YTYgbGVnYWN5LXRydW5rCis1OTQ4NyA2NmVkNmUwM2ViYmRhOWVmYTMyMTI5YWQ3NzYyMzkxZDEyZmRlZGZmIGxlZ2FjeS10cnVuaworNTk0ODggNzE2MjM4NzgwNTdiMmU0ZmRiZGJhMmFiNGY1ODgwMTA4NzgwYzk4NiBweTNrCis1OTQ4OSA0NGM0MThiMmJmN2Y2NjA5ZWY3MjEwYjAzMzJkYzgwNGZmMGY1NWM0IGxlZ2FjeS10cnVuaworNTk0OTAgN2E2MmM2ZDkxMDdkZjk4MmRmMWY3NWJkYTM1NTVlYzMyMzQzZGU5MSBsZWdhY3ktdHJ1bmsKKzU5NDkxIDI5NGIxYTc5ZjIwMTlhYmMwMmQ2OGIxOTViMmU5YjY5MGZmOWJiMzggbGVnYWN5LXRydW5rCis1OTQ5MiA2MzVhMjMyODAxMTI2M2QyOTU3Y2FhZmU2M2Q0YjljNTYyZDIyMmFmIGxlZ2FjeS10cnVuaworNTk0OTMgYTMyN2YzZTI2MTU2MTFiYzU0ODM2ODNhMGUwOWIzYTQxMDJmYmRlNiBsZWdhY3ktdHJ1bmsKKzU5NDk0IDNjOGI3MDJlNWYyMDcwZWVjZjEwNDcxZjRjZjUwNWE3OTcyMTYzNWUgcmVsZWFzZTI1LW1haW50Cis1OTQ5OSA5NjFlODljYzc5MTFjMGE2YzAzOTcwOGMzMTU1NTY3MzE0MDE0ZTgxIHB5M2sKKzU5NTAwIDkwNWE5Njk5N2I3YzgwZWIyZGEzMzM3YmFjOTViODc4ZGNkOWJjN2EgbGVnYWN5LXRydW5rCis1OTUwMSBkY2E5NTk1NjczMGZjM2Y2MTk3MGE2ZWZhM2M3YjlkMDZiMWVhZDU4IGxlZ2FjeS10cnVuaworNTk1MDIgN2RhOTQ3NTdlYzViZDNmNzhmODZmYjY5ZmNkMWUxOGU4ZjE5NWMwOCBweTNrCis1OTUwMyAyMGVkMWQ0MTU0MDllYWMwYTkxY2U3MGU3MGQyYjQ4NjkyMGNhNThiIGxlZ2FjeS10cnVuaworNTk1MDQgMWJiOWIwN2EwMWRkYTFlYjkzY2U0ODQ2MjhjOTNlMWY2YWVkN2JkYSBsZWdhY3ktdHJ1bmsKKzU5NTA1IDQ1Yzc4ZTUwY2JkNWUwZTVlN2RhZGVlNzc4MjJiNGJiYTY2ZDNkY2QgbGVnYWN5LXRydW5rCis1OTUwNiAxOWY4OTRhZTg2NGFmMWRhMmEzYzI0ZTM0Yjg3YzExMjYyNWY5Yzc1IHB5M2sKKzU5NTA3IDE0YzVkMjc1ZGRmMTQwM2E2ZTJkZWM3MDZlNWM1YzNlZTZlZmUzZjggbGVnYWN5LXRydW5rCis1OTUxMCAxMTU3MDY4NDYyYjUzOGVjOGJhMDY0YjM5N2UyNzcyNDNmYzVmMGNmIGxlZ2FjeS10cnVuaworNTk1MTEgMDZkMTIyYjRiZmZkN2FlZDhiYWU0NmVjZTU3OGE1OGI3NDlkNDAzNyBsZWdhY3ktdHJ1bmsKKzU5NTEzIDJjZTUwYTI2MGY1M2Q0MjNiOTYzMWJlNGYxNmM0YjI4NjBiOTBjNTIgbGVnYWN5LXRydW5rCis1OTUxNyBlNzBhY2JmMjZjZGE4ODBlMzBjOGZhMjE4OGQ2YjY2YjBjYmM4OTNjIHB5M2sKKzU5NTE4IDMwMzcyN2M1OGI1MWUwMTRhNjM2OWRmNzE1ZWIwMTI2M2U0YzI0MTggcHkzaworNTk1MTkgMDQzY2E5YjY2Zjc5NzIyMDA5MzU5ZGM3OWNlOWMyNWU0Njg5ZjQxMSBsZWdhY3ktdHJ1bmsKKzU5NTIwIDYxOGNlMjgxYTU1Zjg0NTIxZjZiMmE0ZDk1ZDllOWU5YzNmMmI4NjQgbGVnYWN5LXRydW5rCis1OTUyMSA0YzBlYjU4NzQ4MmY2MGNhMjExZGNkODJjNmUyNDA5MDQ0YmRjMjg3IHJlbGVhc2UyNS1tYWludAorNTk1MjIgYWFkOTBlYmJmYjUwNGJkNTgzNjNlNzZiODdiOTU2ODg4YWViMTkwZCBsZWdhY3ktdHJ1bmsKKzU5NTIzIGE2NDlhYTUyYjA3OTkwNTAwMTNhYjIwNDFmYzZiMzQwZDk5NmM5OWMgcHkzaworNTk1MjQgZWUxMTc0NjIxMmIyYmQyNWU1ZmI4ODViMTZmNjA2ZDdiMWFkMDBkZCBsZWdhY3ktdHJ1bmsKKzU5NTI1IDVhNTBhNWI1NzBiMDJlNmYzNjJiYjZlMjM5ZDA2NGZkN2YwODFkNDMgbGVnYWN5LXRydW5rCis1OTUyNyA5YjQwYWQwNTdkNTllMjA3Y2FmNTE3YjIwMjljMTAwODcyOTVjZGZjIGxlZ2FjeS10cnVuaworNTk1MjggMjExYWJjZmI0OTI4YjJjMTcxZDVlMjhiYzkwMTk1ZWEyNjI3MzExMyBsZWdhY3ktdHJ1bmsKKzU5NTI5IGE0NjM3NDJmYTQxMWI4OThiMjJlOGQ5ZDRjNzAwODM5OGM5NGVhYjggbGVnYWN5LXRydW5rCis1OTUzMCA3NzkxYTVlYTE1YzM4NGVlMmU1MzcxZjY2MmFmMjU0MDZmMzllMjJmIGxlZ2FjeS10cnVuaworNTk1MzIgZTk3ZjEwNWQxYzgzNDBmY2FiYWZiMmIxMWFlY2VkMzVmNWRhZjI0OCBsZWdhY3ktdHJ1bmsKKzU5NTMzIGExNDQ4OWY2ZGI2ZjkyYjg3NjNmNzkwMTY3YjdjMGMzODIxN2FjNGEgbGVnYWN5LXRydW5rCis1OTUzNiBhMmQwYzZhODg5MDk4MDEwOTU2NDEyYTE2MjZkNWI2OGMxZDE3NTFiIGxlZ2FjeS10cnVuaworNTk1MzcgMGE1NDQ1MjhkYzlmNWQ3Nzc2NWY2Y2MxMzQwNjdjMDI3ODlmMGRlOCBsZWdhY3ktdHJ1bmsKKzU5NTM5IDA1YzUwMWE5NTMwODc1MTFmMTViYWEwZTFkOWNlZjdjOGNlYzE0NTIgbGVnYWN5LXRydW5rCis1OTU0MCAwOWY3NDMxNmQ1ZmI1NTgwYTlmNmI3ODBhNWNkMjdjY2UxZDA4MDYzIGxlZ2FjeS10cnVuaworNTk1NDMgNzVjNmJmZDNiMWYzMmVjMjE3Y2E3MzFlNWM1NTRmOWZmMzEwZmFiYSBweTNrCis1OTU0NCA0YTZjMDZhNzdkZWIxNmEwNzhjNDM2MmVmYzRlZDY3OTk0YjJlYmY5IGxlZ2FjeS10cnVuaworNTk1NDUgYzBmMmNmNDM4OWM1MDI4ODgwMWI3ZDhjMTVmMmNlYjRmMjM2MjA1YiBsZWdhY3ktdHJ1bmsKKzU5NTQ2IDExYjZmNWI2OGFkMWE3MjllMDdjOWEwODM5ZGI3NzlmNjZkZGQwMzQgbGVnYWN5LXRydW5rCis1OTU0NyA1NmYzNDJjODRlODcwNzVmZjZjOTZhNjc3NTZhOWVmODdjMzIxZDY5IGxlZ2FjeS10cnVuaworNTk1NDggMDdhYTE5MTcwYTY3M2RhNmIzZThjNGM2NmJmZDg2OGIyZjkwYzBlNCBsZWdhY3ktdHJ1bmsKKzU5NTQ5IGI1YjMwODBiMzYwZmRlYWU0M2FlYTgwN2RjOTBhNjNjNWIyN2QyNTQgbGVnYWN5LXRydW5rCis1OTU1MCBlYWIwMDJiOGUxN2U4ZTJlODQ4NzY5MWQ3YmY4MDkxNDA3MzZlMGJkIHJlbGVhc2UyNS1tYWludAorNTk1NTEgYjU5YzMyOGJmYTYyM2UwZjk2NjRhOTYyN2I5NTA2NWE5MmFmMzE3MyBsZWdhY3ktdHJ1bmsKKzU5NTUyIGE5OTEyOGY2Yzk3ZGYzOTMwZmMzODk5NmIwN2EyOTcwOWQwZDNhNWIgcmVsZWFzZTI1LW1haW50Cis1OTU1MyA3YWMxMTdiM2JlMzdlYjdhZTMyOTcwNzg3ZTYzMWIyMmFiYTA0OTk0IGxlZ2FjeS10cnVuaworNTk1NTQgMTVmYmU3Yzc5Mjg0OTczOTE3NzExNjMxNTBmZDBlODlkYjYzMTk2YiBsZWdhY3ktdHJ1bmsKKzU5NTU1IDk1ODU4MTA5ODE1MWFiNzYxYjYxZmZjOTkxN2U2MjYxMDk1MDgyODMgcmVsZWFzZTI1LW1haW50Cis1OTU1NiBkYzg4NGI2MDUwZDQ1ZmI1MzA2YjUxN2E0YzM5MTUzZDA4MDk4MDcwIHJlbGVhc2UyNS1tYWludAorNTk1NTcgZjhkMGZhZmZjZTg4NzZmNTU0YmY2ZTE4NWNkMjllNzAzYmRhNjFmZCBsZWdhY3ktdHJ1bmsKKzU5NTU4IDFkNjlhYWJmNmY3ZjIyNzQ2YjRjNzIwM2FmNWM5YjAxOWQyMmUzMmUgbGVnYWN5LXRydW5rCis1OTU1OSBkNTFiMzljMjE2MGEzYjg1NWY0ZjI2NWM0MjBjNDY0MGQ3ZjU3NGRhIGxlZ2FjeS10cnVuaworNTk1NjAgYTI4YWM5YjY3YmVkYjU2YWExZTI0NzM4MThjZmMxMjk4ZmUxZTFkOCBsZWdhY3ktdHJ1bmsKKzU5NTYxIDYxNmZlYzBlYjUxNGI2NTEwNjBjNDA5YTM5MjhkNGE5YjA1Zjk2YjIgbGVnYWN5LXRydW5rCis1OTU2MiBlMmVmZmVjOWQ1YWQ3Y2YwOTZmZGM0MGM2YmQzNWFhNWNiMWVmZTNmIGxlZ2FjeS10cnVuaworNTk1NjMgNGRjMDE0MDJkNzhhZmUyYzliNGE0YmQ4MDA0ZWIwOGUyNjQ3MzM1ZCBweTNrCis1OTU2NCAyNjM4NGI4MTgwYzdhNTVjZDZhMmVkNDQxMDdjZjRlMzM5MDI1ZWM2IGxlZ2FjeS10cnVuaworNTk1NjUgODZhMjY3OWRjYTQ2NGEyODRmZDAyYjgxNjQ2ZjI2OTIwNDlhMmNlOCBweTNrCis1OTU2OCBmN2JjNzkxMTJiY2ZhODliYmVhYjAzNWQ4YmNlYTQzZTgyZmU4OWQ5IGxlZ2FjeS10cnVuaworNTk1NzIgNjMxNGI5ZjhhN2UwM2YwYzU3ZTk5NTQzOGE0OWQ4OTFjZmFkMGQzMiByZWxlYXNlMjUtbWFpbnQKKzU5NTczIGIxMzQ3YzY4ZDQ1Njg1YWUyYzgzZjUyYzIwOTI4OTQ2NjgxZWYzOTQgbGVnYWN5LXRydW5rCis1OTU3NCBiODliMDMzNDM3MmJhODNhYmY0ZDJmYzI0NGFjMTZiZTNkZjk3MjgwIGxlZ2FjeS10cnVuaworNTk1NzUgNTFjMTc1Yzg2ZjM2YmIzYmVkMTMzYTFiMGExNDhmM2UyODE5ZTVjZSBsZWdhY3ktdHJ1bmsKKzU5NTc2IDE3NGUwYmNiMmMzYzEzMmEyNmM5ZjA0ZDNjZDYwZmQ5ZjdkZjFjZmEgbGVnYWN5LXRydW5rCis1OTU3NyAwYWQxMmM3OWFmMTg1ZGY4MzhmMjE2Zjc3NmU3NDQzZTFjMjM5MTcyIGxlZ2FjeS10cnVuaworNTk1NzggYmI3MTZlYmNiMDgyYTFlNzk0NDJlNjI1ODEzZmExNjNiYzQ2OGQxYSBsZWdhY3ktdHJ1bmsKKzU5NTc5IDhkNGQzMzUzNjk5NTBjMTIwMmIzM2ZlOWE1OGQ1NmRlMTVkY2E2MjIgcHkzaworNTk1ODAgYmFkNTVhNTg1OTU5YjExZjkzNDFjOTZmNjE0ZWFiMWE3NTU0NWVjMiBweTNrCis1OTU4MSA1NWRhZGM4YjY4ZmMxOTQyZmNlMzZiZDczZTQ4NTJmYjZkODljYTA4IHB5M2sKKzU5NTgyIDIxMGM1MDdkYWM5OTYxODQ4MjE3ODFjYjEzYWI4ZmVlYjljOTMyZjMgbGVnYWN5LXRydW5rCis1OTU4MyA2ZWEwZTE1Y2U1NzM2ZGY3NmRhNTFiMjVhZWNkNDNmZmY3YzMxZDY0IHB5M2sKKzU5NTg0IDhkZWFkNmY4MWJhZTAxYmU0Y2QzNGJjOWI1Yzk0YzViZDNjOGYwNGIgbGVnYWN5LXRydW5rCis1OTU4NSA4M2NlZDQxNzdlYWNjNDkzZWI1ZDU2ZTRlMGQwYzI0NzFkZDgwNDBjIHB5M2sKKzU5NTg2IGVhZWZiOTNiNWVkNDQzODQwNmZjN2Y4MGExMGFjMDM1MmNiZjVhZWYgbGVnYWN5LXRydW5rCis1OTU4NyAzMmRkOWI3NzczYzNjMjFkMWY1MTZlYWVhOGZmOTgyZGM2MDQxYjYyIHB5M2sKKzU5NTg4IDQ0NTQxMDc0NGZkNjM3MzU5NzEzZDBkMjMxNzZkOGFiNDk1YmJiMzYgcHkzaworNTk1ODkgYmNlNzBhNDc3ZjFkYTNkYTM0OTNiZWI0Y2RjZDVmYzdlMzljZTBmZiBweTNrCis1OTU5MCAyYjAzY2FjYzFiNmE0ZTFhYjU4MTI5YmViZjBjNDU1MmM5MThiYTI0IHB5M2sKKzU5NTkxIDk1N2JhYTM3Y2UwZDRmNGIxNWYyN2JkMGI0MzA0MWZmZWU1ZjA4ZDYgbGVnYWN5LXRydW5rCis1OTU5MyBjOGQzMTI3OWZjZGNiNmE3MTJhOWEzNTYwNmY2ZjJjNWJmMzFjNWYxIGFsZXgtcHkzaworNTk1OTUgMjc1MGQ1MzFmZGMwMjNkYmRiNDAyZGI2MmZiMTljYzgzZjRkYTczMyBweTNrCis1OTU5NiA4NjM2OTJkYzQxMWVmMDFmMGM2NDIwMmI1YjE1YTQwMzhhZDZjODM4IGxlZ2FjeS10cnVuaworNTk1OTcgNWY1OTEyM2U3ODFmZjY0YzU4MWEzZmVlYWVkY2FhOGNlYzg3N2M5NiByZWxlYXNlMjUtbWFpbnQKKzU5NTk4IDFkYjYyNDNlOTNmMjliZDJjMDE1OTg5ZWNkOWZmMTJhMzM1ODA4NGMgbGVnYWN5LXRydW5rCis1OTU5OSBkYjY3NTIxMWMyZjc1MzExNjJmZDc4NWNlMmY5YzA5Zjg2NWQxOWFmIGxlZ2FjeS10cnVuaworNTk2MDAgYjliZTExN2IyODJjMzdiYjM1Y2E5MjAyMjViOTVjYTgzYTY5NDU4MSBsZWdhY3ktdHJ1bmsKKzU5NjAyIGVkYjZhYTYyNzUzYmM3OTA3ZmVmM2NlNGYzMzY2MTI5NTk5MTNiZTIgcHkzaworNTk2MDMgMDg0NjhhMjYzYTk1ODE4ZjliMGJmN2E5NjZmZjMyZGIwNWZjNjdlMyBweTNrCis1OTYwNCBlYjY5NWM1OTFlNzA0YmE0OTczMWJhOTcxNjdiNTZkZWQ2ZjM2Y2ViIGxlZ2FjeS10cnVuaworNTk2MDUgNzFiYjcwZjYwOTdiODIwMDRjZDE2ODdkMGQ1ZDQ1NWE3NjUyMzM4NyBweTNrCis1OTYwNiAzNjI1MjM0YmYzZDJlZDM2ODAxY2EwYzY0ZWQ0ODU0ZjA1MzQyNGFlIGxlZ2FjeS10cnVuaworNTk2MDcgZGEyYjEwNWIwYzUyM2Y0ZmEzOTJhYWNiYzM4M2UxMDNhOTBhNjVlYiBweTNrCis1OTYwOSA1NjcwMTA0YWNkMzk1NDk1MWNhZTJmMzJhOTlkMTk5ODkyNmE0MWEyIHB5M2sKKzU5NjEwIDdkMmRhMWNkODBhMTFiYjZmNTQ4YzY0ZjI2YWY2ZTQ1MGQwMzA0M2EgcmVsZWFzZTI1LW1haW50Cis1OTYxMSBmMjkyMjczNWZiN2FiMjllMzAyYjQ5OTNhOWM2OWI4OGE1MjQyNDA2IGxlZ2FjeS10cnVuaworNTk2MTIgYWUwZjJlYTA0MDlmNDQwMGRkMDUzMTEwMzhhMjA5ODRhN2M5NGI3OCBsZWdhY3ktdHJ1bmsKKzU5NjEzIDFmY2YxZTZkOGJiMWRlZDk1YWJmNTdjY2YzOWUwYmI4NWQ5ZWFiYjcgbGVnYWN5LXRydW5rCis1OTYxNCA4NjM1OGI0M2M4YmIyNWMxYjkyYTFmYTFkZjg1ZmI5NjM5MjJjOGI3IHB5M2sKKzU5NjIwIDk1Y2YzZDUzY2FlMDAxYmU2YmNkODQzMzY1MjQzZTUwZTQwZGY4ZjYgbGVnYWN5LXRydW5rCis1OTYyMSA4M2ExMzhmZGZkZmE5ODE4YTU0YmJlMjIyODU2OTZmMDMxNmZlZmM3IGxlZ2FjeS10cnVuaworNTk2MjIgNzQyZDY1OTYxYjFmYTZjYzRiMzk5MmE3MWRkMzk1NmRmN2ZmZDljMCBsZWdhY3ktdHJ1bmsKKzU5NjIzIDM3MTVmMDM3NGY2YWU3ZGMxODllMmExYTU5M2IwZTM0OTNhODhjYTggbGVnYWN5LXRydW5rCis1OTYyNCBhNjMxOWFiNDllMGEzZmJlNDI4ZjdhZWQzY2ZhNzlhZDJkOTQ0ZWNiIGxlZ2FjeS10cnVuaworNTk2MjUgNjU1NmYzZjIyYzE5ZjFiYmVlMzk1YjU1MDkxMGJkODQ4MzdmYzAxYSBweTNrCis1OTYyNiBmMDVhYzE0NTExZmY2MmYxNTkwNTJhNzEwNzlkNmJlNjcwZjJlMmYxIHB5M2sKKzU5NjI3IDFlYjQ5ODIzN2JhNWI1OGQxYWJiYTEzMDcwZjIyNDY2NGY5NzMxZmEgbGVnYWN5LXRydW5rCis1OTYyOCA0NDZlOGI2MDdiZDNhMDBmM2NmOTZhYzMxNzcyYmEyYTkxNWJkODg3IHB5M2sKKzU5NjI5IDQxYmZiZmMzNmNmNzI2M2ExMzkzMDEzMzQ2Nzc3MDE3NDAxMmYwYWEgcHkzaworNTk2MzAgODFiM2FjNTkwODljMThhNDFiZDkwNWQ3YWIxZTQ2ODgxZmE4YmNhZiBweTNrCis1OTYzMSBhY2I2YTRiMmMwN2YzMWViNmUwMDg4MjU5ZTk3OTI4OTlhNjM4Nzg5IGxlZ2FjeS10cnVuaworNTk2MzIgNDI1MTg1M2ZhOWI5MzQ4YjJiZWY5NzJlZWJiY2Y0NmJjNDE5YTM1YiBsZWdhY3ktdHJ1bmsKKzU5NjMzIDNlZTVkZTE3NmU3ODUyZWQ2YmU4NzQyYjA2MTU0ZmJhOTUwYTcyODkgbGVnYWN5LXRydW5rCis1OTYzNCA3YTg2YjIwYzViNGIxZDNjNDMzMTUxN2ExODk1OWU4ZTA4MTUwNWViIGxlZ2FjeS10cnVuaworNTk2MzUgZWIxMjA3NTEzZWU3ZGVlOWE1N2M1N2U1ZjAxZWMxYmJkMTI2OTQyNyBsZWdhY3ktdHJ1bmsKKzU5NjM2IGRkYTI5ZTcxMjgxNTA2ZjFkMjIxOGE2ZWVmMjQ3N2NlMmIwNGYxYTAgcHkzaworNTk2MzcgNDZkNTQwMTFlMWU1NjNjNGMzODc4ZWM4M2MxY2QxYmUwNzk3ZTI1NSBsZWdhY3ktdHJ1bmsKKzU5NjM4IGUzNjZjNDQ5NDhhMzE0MWM4Y2IzNTZmNDRjZTg1N2QwYmU5YmU2ODAgbGVnYWN5LXRydW5rCis1OTYzOSA2MDdlNjhjYjA5NDhkNzA3YWJjOGY5MzZhN2I3Yjc0MDNlYzZmMjI2IGxlZ2FjeS10cnVuaworNTk2NDAgOTM4MGQ1ZGE3NzE2OGUwZTk3YWYyNjIwYzcyMjg0N2Y5MWQ5YjkyMCBsZWdhY3ktdHJ1bmsKKzU5NjQxIDkwMWY3MGRiM2IzNDA0MDA4ZTgyNDA4YWQwMDUzOTIyNWRhYzViODcgbGVnYWN5LXRydW5rCis1OTY0MiBlZWUxYjc2YTk0ZTAxMThhMDZiY2NlNjZlMGIzMzM3MjNjMDM0ZGViIHB5M2sKKzU5NjQ2IDY1MmY3YWI1OTE4YjJmN2Q5Y2FkYWYwZjRjMmNlNDRkZmIxMzdkZDkgcHkzaworNTk2NDcgM2ZmNzc4YTM1NDEwNDhiZmU4ODA5MDE2ODE3MzI3N2QwN2QxY2ZjMiBweTNrLWdyYW5kcmVuYW1pbmcKKzU5NjQ4IDliMmUyNTUxYWZiZTM3ODQzYWQ5ZDdlNjE3NWEyZjRiNmRmMDgzYzUgcHkzay1ncmFuZHJlbmFtaW5nCis1OTY0OSA5NGEyOTM3MzQ5M2JkMTAwNGZjZWZmNTBjNDBhZTk3YjEwYWY1ZmUyIHB5M2stZ3JhbmRyZW5hbWluZworNTk2NTAgZjY3YjJlODNiMzQ3NWRkZGY5YWJlYTJiMTQ2YTg2ZDU4ZWJmOTVmNCBweTNrLWdyYW5kcmVuYW1pbmcKKzU5NjUxIGRiMGM4YjQxZGRiMGQ1ZTRjMjlkOTdiMDBmOGU2NGUwZDkxY2M0MDkgcHkzay1ncmFuZHJlbmFtaW5nCis1OTY1MiBiOTg4ZTRkMzVlZjNjZDBkNjVjYWFkZGU1ZjA0ZWMyZTNmNTNkOWJkIHB5M2stZ3JhbmRyZW5hbWluZworNTk2NTMgYTFmZjJmYWVkYzZiZThmYmVkNjZjYTc5NzhhZTY1ZDFkNGE2YmI5OSBsZWdhY3ktdHJ1bmsKKzU5NjU0IGQ5YTRhNWYwMTIxZTE4YjFkZThlM2ZjNjQ0MTAxODM5MjRhYmIxMjcgbGVnYWN5LXRydW5rCis1OTY1NSA2YzBjNTNiOWYzN2I0Zjk5NDcxZTYyOWNjNDkzNmI3OTIxZTc5NGEzIGxlZ2FjeS10cnVuaworNTk2NTYgMWE1NDhhNjU0YzFhM2U2OWUwZTUwNTU0NDE2MGFmNzFkZTc1OGYyNSBsZWdhY3ktdHJ1bmsKKzU5NjU3IDlhYjMxZmEzNmZiNTJmYzEzMmM1N2I5ZjQ2MzA3MGFiNDIzOTE2MDIgbGVnYWN5LXRydW5rCis1OTY1OCBmNjQ1ZTA3ZDg3MGFmNTk2YWYxY2UwZWY3MWNiY2I3NzBhZDA5NDI4IGxlZ2FjeS10cnVuaworNTk2NTkgZjBlOWMzZDE2NzY2ZDI0NmFmODUwMDAwY2ZjZjU0ZDViMDVlOGIwYyBweTNrCis1OTY2MCBkYTMwODc3Zjk3Nzk5OTQyMGRkOGYzOGNlMzQxMTJmZGM3ODkxOTNkIHB5M2sKKzU5NjYxIDA5OWExN2UyZDJiZDQ5ZjM0YmFmYWYxNjQwNmNkYjliOWFjZDhkMzUgbGVnYWN5LXRydW5rCis1OTY2MiA2NmJlYTkxMzI0Y2Q5MzM3MGZkMGM2NGFkYzUxZTk0MmQ1YjhhOTVjIGxlZ2FjeS10cnVuaworNTk2NjMgMWU2ZjI3YjY5NzNjYzVhMDY3MmUzYmU5Y2Q4YzU5NWQ4YjE0ODQ3NiBweTNrLWdyYW5kcmVuYW1pbmcKKzU5NjY0IDg5OWZlYWQ5ZWFlMjFiNmEwZjk5OGVmMDQzYmRhMzhmZTAyOWFjMWYgcHkzaworNTk2NjUgZTkwN2Y4MTRkOWEzMDcxOWM4YjdiNmM3YzBhYzFkYmI2YjU1ZWJkYyBsZWdhY3ktdHJ1bmsKKzU5NjY2IDY2ZGEzNzdiYTgxMDc4OTMzMmMwYWRkMmIwYzQyNmFhYWFhN2VjMzAgbGVnYWN5LXRydW5rCis1OTY2NyA2ZTkzZDJkNmViMjgwMWRiYmQxZjQ5MGJlN2JiOWMyNzFmZTUzMmYyIHB5M2sKKzU5NjY4IGU5ZjQ4MGI0YzEzM2NmNmU5Y2U1ZGI4Yjg4N2EyYjNmYzg4ZWFkMmYgcmVsZWFzZTI1LW1haW50Cis1OTY2OSA1Y2QyOGYwMTBmYzcxYmEwYWM5NzAyM2MyNjJkOTI5NzY2OTk3MDNiIGxlZ2FjeS10cnVuaworNTk2NzAgNGFlMzAwN2ViMGY0NzE2MDRlNWUzY2M0ZDYxNjczNzY2MWE0ZDRjZiBweTNrCis1OTY3MSA0Zjk3MjNkOWNhMzIwYWY2N2U5ZjYwYTJjMTk3ZGEyZTZmZGZkMzBlIGxlZ2FjeS10cnVuaworNTk2NzIgODM4NmVlZGEyMWM4ZTM1OGY5YTRlNGFiMDNlZGViYWE2YjFkMTk5MCBsZWdhY3ktdHJ1bmsKKzU5NjczIGEzZjE4Njc5MGZmNmUwOWFhNDAyYzhjNGViMThhMTlhZTk0ZTdmZjcgcmVsZWFzZTI1LW1haW50Cis1OTY3NCAxOGExYmM0OWE2OTZlMDVkZDRlNjM1Yjk1Njk1MTI1MzYyNjM1MTUwIHJlbGVhc2UyNS1tYWludAorNTk2NzUgNGMwNTZjMGEwYjlmNTY2OTlhNzk2MzUzNjcxMzdjNTg1NmU5MmVjZSBsZWdhY3ktdHJ1bmsKKzU5Njc2IDk2OGJkYTgxZTZjODBiYTVmZmZmMTVkYWM3Nzg4YWJiODZiN2IxOWYgbGVnYWN5LXRydW5rCis1OTY3NyAyN2U0ZTUzMGNmMmY2ZjA2OTU3YTVlNTI5Y2NlZjVjNmM3YzY3NjYyIGxlZ2FjeS10cnVuaworNTk2NzggMGNiZTk0YmVhMmM3ZWY2MTBkZWE3YjA1ZDFiYWI5ZjA0YWY5YWY0NCBsZWdhY3ktdHJ1bmsKKzU5Njc5IDYyMDhiMTdkMGRiZWRmMGRlODJkOTBkMGQ5ZDA0NTg0MTdkMGRkOTEgbGVnYWN5LXRydW5rCis1OTY4MCBiOTFjYTg3ZTZmMzI3MjE0N2Y5NGFiNjVjZWE3NjhiMjQ5NDIwMzA3IHB5M2sKKzU5NjgxIGZhMmY3MTgzYjFhZmM1NTNjMTdiN2U2YWU1ZDMzODI1YThhMDFmYzQgcHkzaworNTk2ODIgYzczMjEwZWE2MWM4NjUxNmVlZjAyMmFiYTg4Yzc4ZDFhMGZiMjk3NiBweTNrCis1OTY4NSAwMzZiMDBkYzk3NjdmNzVlMjMwMDVmNDNhNTc4ZWQyNTQ5NDYwOTFjIHJlbGVhc2UyNS1tYWludAorNTk2ODYgNTNhYzNmYzY5Yjc4YjFmZGUwODI1ZmYzNmI4YzQ2ODRiNzFiNGRkNyBsZWdhY3ktdHJ1bmsKKzU5Njg3IDhkNjllZGQzZDI5MDI4N2U5ZmRlNWI3ZTliOWE1MWE0MDZlZjFlMWYgbGVnYWN5LXRydW5rCis1OTY4OCAxNzM1OWM5YTRhN2QyN2ExOGEyMzZjYTY0NTNmNDM5ZGRiMzM5YjYzIGxlZ2FjeS10cnVuaworNTk2ODkgNWUwMTcwZDNjNGRhNTQ0YzlhMTdmMWE2ZGQzYmE2Y2YyNzUxM2Q1MSBsZWdhY3ktdHJ1bmsKKzU5NjkwIDk0NjI5Yzk1OTY1YTExODRmMzNjMDgyYzgxZTFlMWEzZTQ1ZTM4MzYgcHkzaworNTk2OTEgY2YyNjY3ZTJiYTJmNWUyZTQxNzdjY2EwMWI1ZWNiNWQ5ZTMwMTVkOCBsZWdhY3ktdHJ1bmsKKzU5NjkyIDUxNzFiNWFlNjg4YTIxN2I5ZWM4Y2NiN2EzZDA1ZTY4OGRhMjFkNTcgbGVnYWN5LXRydW5rCis1OTY5MyBkMWEzNmRkYmFhNDkyZTkyNjc5OWM1NDdjYmI5NTk4MGU4MjVjMjNiIHB5M2sKKzU5Njk0IGNiYTlmZjc2MDQzMDQ4ZWMyZGM3YjMyMDRjMGY1ZTE0NGIzMWFjNTMgbGVnYWN5LXRydW5rCis1OTY5NSAyOTg2YmI0MzIyMjIxNzIxYWJlNGJhNDg2OWZmZTBlNzBhZDg3MDZiIGxlZ2FjeS10cnVuaworNTk2OTYgZGUwMGFmMDNiYjRkNTY5NTU0YWRmOWRjYmQzMzMwY2I1OGIwOTdlYiBsZWdhY3ktdHJ1bmsKKzU5Njk4IGRjZGQxYmEwOTY0MTBlOTdjMTA5NDU4MjczMWJiZmM3MmFmNDJlYWUgbGVnYWN5LXRydW5rCis1OTY5OSA3NDJjYWY1MzU1NTc2ZmU2ZWRmMzYzOTFlNDQ2NzM0OGYwMWJkZDllIGxlZ2FjeS10cnVuaworNTk3MDAgYWQyYmNiZTgzZmRjMmZkMTRiNzU5ZDE1Y2VhY2RjN2ZkNmJlZTYxMSBsZWdhY3ktdHJ1bmsKKzU5NzAxIDc2NDNhNDNmMjVhMWU2OTdmMTZiMjNmMmFjZjhmMGM2ZGJmYTE3NzIgbGVnYWN5LXRydW5rCis1OTcwMiAxM2FhYmMyM2NmMmUyYzBlMjI1OWM5YjUwNjY4OTQ1ODE4ODk3NDM4IHB5M2sKKzU5NzAzIDYxYzE2NGYyNTQzNTY0MmMzM2FhNjY2MmY5ZjY5M2VkNDE1Yjk0YzcgcHkzaworNTk3MDQgNzZhODlkZDRhNTEyMzcyNzdiZTU1NTgxNDQwNTI1M2UzNTAyZTU1MyBsZWdhY3ktdHJ1bmsKKzU5NzA1IGQyYzFiYTA5OTI5MDgzYzgyNTY2NGUwYmQ4YTBkNGExNjlmOWQ5OWIgcHkzaworNTk3MDYgMzk4YjYyNDY3NTlmYzJkMmUzY2I0ZDAzYWY1ZTE4YTE5ZWEyOTU4MyBsZWdhY3ktdHJ1bmsKKzU5NzA3IDc3YzM3ZTMyZmUzNWI1YzA3MjU0M2VlYzk4MDEzODBmNmEyNjQyYWYgbGVnYWN5LXRydW5rCis1OTcwOCAxMjdjYzJmZWE5ZmI5ZDE1ZWMwNjY2ZGZiY2ExNzMyNGVkMzExNzFlIHB5M2sKKzU5NzA5IGRjZTI1OTQ4OTE4ZDBkOThhMDMzMGRkMDE4MmI5NTcyN2Y0NjJiZjQgbGVnYWN5LXRydW5rCis1OTcxMCA4MTY2OWZiYzg0NWYxMjQ5N2M2NGY2Nzk1MmE0M2E3YjNiYmQzZmZkIHJlbGVhc2UyNS1tYWludAorNTk3MTEgNWQ3ZDJhZjU5YWZlMWNhYjUyMWE2NmRlN2FkZjExMmJmOWQ3NDFmMSBweTNrCis1OTcxMiBiZDAyNThkZjMzMGVjNWRhZTliMTZkMmRmY2I4MmVmOGYxNzIwNWE0IGxlZ2FjeS10cnVuaworNTk3MTMgMjkyYzVlNTFhMGU1OTYxOGVmOGE4YjQ4ZTAwMzhiNzkyMWM0NjAxMSByZWxlYXNlMjUtbWFpbnQKKzU5NzE0IDkwMTkwODZmZDIwYTRkYjc1MmYyN2JhNjdhMzNmOGY5MDJmOWQyNWYgbGVnYWN5LXRydW5rCis1OTcxNSBkMDc3YjBjODkzYmM2NTYxOWFiNzMwNDI2NjY2ZTU3N2U4OGEyODUyIHJlbGVhc2UyNS1tYWludAorNTk3MTYgYmZlZDcwMjc3YWIzYjY4NjUzNzlmN2EzODU4OTM1N2I1ZWY2ZjRjMyBsZWdhY3ktdHJ1bmsKKzU5NzE3IDYxMzQxNzc1YmM0MjE3MjMxNWUxOGViMTQ0ZjdhNzQ1MTdkZTZlY2UgbGVnYWN5LXRydW5rCis1OTcxOSA4M2NhNzM1YTM5OTVhNzIxNTVmNmEwZmVmYzYwNjJiMmFiYmIxNDlmIGxlZ2FjeS10cnVuaworNTk3MjAgNjQ2Y2ZmMDk2MDM5YmFmYTVlOWNmMDBiYjdlMGJmYzgzNTgyZTkyYyBweTNrCis1OTcyMSA3M2JjMDAyMjUyYmZkNTgzYmY2ZmU1YzJkZDJlMWQyNGUyMDMyYTdjIGxlZ2FjeS10cnVuaworNTk3MjIgMzRjOTFkZjYwNTMyOTk5MDY0MThjOWM1YzlhM2UzZmFkOTQxMjZlMyBsZWdhY3ktdHJ1bmsKKzU5NzIzIDU3YzdkNDJmNmNkZWIxOGE3YWUyMzk2ZGQyYjc1NmRkNWQ5MDA1ZGIgbGVnYWN5LXRydW5rCis1OTcyNCAyMDM3ZjRjYWJiMDdjY2RhNjNkZTNmMjFlODFjNjM1MWQ1NmZiYThiIHJlbGVhc2UyNS1tYWludAorNTk3MjUgM2ZjYWY2Y2MzMDZkMWU0ZTZhYTlmY2YyMGZhZTc2MGYxN2VjYTRlMyBsZWdhY3ktdHJ1bmsKKzU5NzI2IDJlMmZhMjkxOTE0YzUzY2Q0ZDRkYmE2YmUyMTg2YTAyYzllZjkxY2YgbGVnYWN5LXRydW5rCis1OTcyNyBkY2M3Yzg2NWM3N2IxMDE3ZGE5MjAzOGYxM2EyMjRlZjBkZjc3NTRlIGxlZ2FjeS10cnVuaworNTk3MjggN2JiOTFiM2JhMGVjYzI4NTM1MDJmMGUyZTg0MDRiYzE1YzhjODllMiBsZWdhY3ktdHJ1bmsKKzU5NzI5IDVhMGNiZTM2YTYwMzc3OTVlM2EwZDVmMWYyYmQwYWE5ZGZlZmM4NGMgcHkzaworNTk3MzAgMzNhMGFlNzA2NzBmNDM2OTIzNGQ4ODk4NTUzMGU2OTAwZDI0ZWViNiBsZWdhY3ktdHJ1bmsKKzU5NzMxIDk0ZWVhZWViM2NlOTNkZjhkMmIzYTcxMWU3NjA3NjVkMjZmM2QwODggbGVnYWN5LXRydW5rCis1OTczNiBlNDhiNDY5ZDFkODY2Yjc3ZTViNjdiYjIwMGFjNGRmMjNkM2JlYTZhIGxlZ2FjeS10cnVuaworNTk3MzcgNzc3NDI5YTIzMDI2NjdmMWQ1NjMzY2Q4NDQyZThkMmQ5ZjNjODRhZSBweTNrCis1OTczOCBjMGMyMzY5Zjk0MjY3ZWExNTBjZTJlMmUyZmVjNjM3ZTc0ZjE4ZDhhIGxlZ2FjeS10cnVuaworNTk3MzkgOWNhZjhhN2IxMWE2Yjg5YzE3OTNiYzZmNGQ0YzA4Y2I4NWM5ZDRkNCBsZWdhY3ktdHJ1bmsKKzU5NzQwIGJiYzllOGMwOGNkNWVlZTM3YzAzNWU5MTFlMTA0YzE2N2M0MDU2YWMgcHkzaworNTk3NDEgZmM4MTg2YjUwMTQ1YjlkMmI3ZjJkMDE0ZDVlOWQ5ODVlMDg2YzQ1NSBweTNrCis1OTc0MiAwYzBhZWJjNjY1NmY5NGQyNTMzNDRjZTRhMTJhMDMzZjM4OTc2YjM3IGxlZ2FjeS10cnVuaworNTk3NDMgM2M2Zjc1NDNiZGQ2YjRhYWQ5Nzg4OTA2M2NmNGNiN2Q5NTYxOGI1MSBsZWdhY3ktdHJ1bmsKKzU5NzQ0IDAxZDViOGU3ZDEyMTIwNWVjN2IyMWE4YWYwZDczYTQ4ZWNiYzQ4OGMgbGVnYWN5LXRydW5rCis1OTc0NiAxNDI2Y2QxMzY3MzlmYmRlZTI3ZmQwNjc0ZWNiOTQ2ODNlMTRiMzY2IHB5M2sKKzU5NzQ3IDMxZTI5NGQwOGNlMWM5ZGYzZjI4NmM1MjMyODY3OWZjMTViMTZhYmYgcHkzaworNTk3NDggYmQ4NTg3OWVmZmE2OWRhY2RjOTk1MWM4NzVlZWY0NDY1ZjI0NzYzYSBweTNrCis1OTc0OSBkMDBkZTBjZjA0ZTI3NGYwMjNhMmQyNDFlZGFlMzg1OThlNjlhYjY2IGxlZ2FjeS10cnVuaworNTk3NTAgMGYxYzhiYWI4OThkYmQ5YmNkMzljNDY2MzIyMWRjZDM3Yjg1MDY3YiBsZWdhY3ktdHJ1bmsKKzU5NzUxIDlkOGI5NTNkNGFmNTJlY2FiZDA2ZDQwNGVjNmZiMjlmNDBkNGQ0YzcgcHkzaworNTk3NTIgZWRiYTBhMWI3ZWJlMTA4YzZiNzIxNTJiZDQ4OTc5NTU1NGQwZTZlZCBsZWdhY3ktdHJ1bmsKKzU5NzUzIDI0NGJiMzFjMDM2YmQ1NGQ3MzFlZWJiODAwMjgxYzdlMjg3N2EwMzggbGVnYWN5LXRydW5rCis1OTc1NCAxMTVkYTIyNjhjZDk1ODExMjNiNDk5N2E4MDdkMDc4MmQ0ZGRlN2M1IGxlZ2FjeS10cnVuaworNTk3NTUgOThjYzFjYzU3NTczY2MwNmMyYTdlNGQ3OWE1MGJjMzg4MDhjZWIwNiBweTNrCis1OTc1NiAwODEzOGJjM2MwNjBlYzZmMzQ2YjI5MTZmYzQxODllNzI5OGY3ZGE2IHB5M2sKKzU5NzU3IDRlNzRjMjc2NzhiYTE1Y2U5ODY0ZGU5OTJmMzA3ZDViMjY3Nzg3ZDEgbGVnYWN5LXRydW5rCis1OTc1OCA2NWZlNmU1NmQ0ZjhkNWM5YTI5MDJiZWU5ZGI4NTNkY2U4NjRiNDNiIGxlZ2FjeS10cnVuaworNTk3NTkgYWZiMTMzNzkwNmFlOGE1MmU4ZWJkYWI3NGI1Y2YxYzY0ZGNmNjY4OCBsZWdhY3ktdHJ1bmsKKzU5NzYwIDI4MWM5NDc5MTQyYTNlNGFiYTA2YjI2MDBlODRiN2JiMzRmNzc2OTIgcmVsZWFzZTI1LW1haW50Cis1OTc2MSA4YmY2YTlhM2E2MzI5YmUzOWNkMDBiZTgwNjUwNDg5ZGQ4NWYxOGIwIHB5M2sKKzU5NzYyIDU2YmE3OTFkOGIzNTkyMzU0N2JmMmNhYTM3YzM5ZDhhYjQ5N2Y3ZjEgcHkzaworNTk3NjMgMjg0OGZmYjlkMTdhNmMzYzliMzkyNjZhYTcwODIyNmY5ZGE1YjcwZiBweTNrCis1OTc2NCAzMjY4MWFlNmM1YzE0ODg1NWZiNzQ2ZDQyYzExMWM0YjgxNWI4NjQzIHJlbGVhc2UyNS1tYWludAorNTk3NjUgN2EyMDY1YjViZTc1YjMyMzVmNTkyODg1YmQxYWFlNzBlZTZmYWEwYSBsZWdhY3ktdHJ1bmsKKzU5NzY2IGJlZGQ4YmZkM2ZkMjY4MDQ3OTA0NDY1NGVlZWUyZjgxOTMwZDUwNjIgbGVnYWN5LXRydW5rCis1OTc2NyBmYWIyYWE2YjgwNzM2MzMyZGNmMTMwMTg5MGFhODQ3YzQ1NjE2ZTA1IGxlZ2FjeS10cnVuaworNTk3NjggZTViZjY2OTZlMmUzNmE3NGNjNzFhMGM4NGQ0MTEwZWU4NzA4MzcwOSBsZWdhY3ktdHJ1bmsKKzU5NzY5IDNiYzA0MDVkZTQ5MTVkNDg3YzQ1ZGVjYTNmNWJiZGY5ZjViY2JiMDEgbGVnYWN5LXRydW5rCis1OTc3MCA0MzIxYTVhYmQ2Y2UyZTJkN2Q2NjJkMTVmZmZmMGYzYTRiYWRhMDU3IGxlZ2FjeS10cnVuaworNTk3NzEgMTU1ZjVjMzZmZjkyOTU2MWZmMmI1NDc5MjJkNWI1ZGFmYWY4YWI2MCBsZWdhY3ktdHJ1bmsKKzU5NzcyIDc5YTM0MjQ4YTI2MmZiYTlhNDI3ZWFlODY0YmYyZjM2YmM1ODM2YTUgbGVnYWN5LXRydW5rCis1OTc3MyA2NjE5N2Y4ZDBmZGYwZjg3MjcwMzA2MzE1YzliNmI0YzczOGM2ZDQwIGxlZ2FjeS10cnVuaworNTk3NzQgNTA3ZTc2ZDdmY2RkNWM1YmY2ODViYTViNDViYjVjY2Y5ZGE4M2MwMiBsZWdhY3ktdHJ1bmsKKzU5Nzc1IDY0Nzk0YmE5ZTI1YWQ1YzFjOTJlZDMxNGFkY2Y2ODViYzdhOGVlMzIgbGVnYWN5LXRydW5rCis1OTc3NiA5OWY2MzcwYzZjZDA1ODRhNzUyMDIzM2MwMWIwYWU3ZTRkZGRjZDBlIGxlZ2FjeS10cnVuaworNTk3NzcgZDg5NzllNjQyOWU1ZmY4YWJjY2QyZDA0ODdlMTYzYjllNjU3YTI5NyBsZWdhY3ktdHJ1bmsKKzU5Nzc4IDZiM2FhZTVjNjliZjIwNDRlMjU5M2YwYzIyZjIwMzE5MGQ1OGE1MWEgbGVnYWN5LXRydW5rCis1OTc3OSBlZDc1OGY2YTk3YmIxMGNhYzUzOWM1YWIwOWQ4N2U3OTRiMzI4MmRkIGxlZ2FjeS10cnVuaworNTk3ODAgMDkwMDgzYTIzM2Y4ZTM2NmRlOGNjOWU2ZDZlMmZmMjlmMTE3YTkwYSBsZWdhY3ktdHJ1bmsKKzU5NzgxIGIyNDg4OGNiOTU1MzMzNTg0YzhjNTg5NDBmNzQwODYwYmI4OWNkNTkgbGVnYWN5LXRydW5rCis1OTc4MiAyYWNjNjUyZTU4YTE5YzZjM2Q2MDgxNzg0NWJiYjkyNmVlY2FlYjI3IGxlZ2FjeS10cnVuaworNTk3ODMgNDIwZmU2ZDdkNWY0NWU1ZjlmZWU0YTI0ZmNlYmZmZTJhNmQ0MjZkZCBweTNrCis1OTc4NCBhYzdkZWIxYzFkM2NlMDNhZTcxMDdkM2YzZDM0ZThiYzAxNWZhZmI0IHB5M2sKKzU5Nzg1IDhlYjk2MzYzZjFkNTljMmI3NWVjNTE0Y2Q5ZmI1NGVjZWI5ZDYwOTYgbGVnYWN5LXRydW5rCis1OTc4NyAxODExZWIwM2JhMDBjOGY5MzcxZTA1YWNlZTNmOTExZDMyZTQ3MGVmIHB5M2sKKzU5Nzg5IGZhMjUwYTU4MDk5ZmM0YWFhNzhhNTZlZTFmYmVjMjdhZjA3MTVhMjAgcHkzaworNTk3OTAgN2NiYWNhYTVmODg1OGY0OTQ3NWJkNTMyNGRiMTg5ZWFhNDQ1YmI5NCBweTNrCis1OTc5MiAwYzRkMjU4YTViMjVlYTBmZGE1OWM2NTZmZGQyYmMyZjM0Yzg3YzM4IGxlZ2FjeS10cnVuaworNTk3OTMgZDA0NjVlNzgyYjAxOTEwM2M4YTg0NWJiNTcxOWYyOWYzMDAzNjBkMCBweTNrCis1OTc5NCA2NzRjOWI4OWQxMjQxNDAxY2UyZmI1YzMwYzdlMzgwNGJjY2QyOGRiIHB5M2sKKzU5Nzk1IGI4ZTM0YmNkYmE0NTQ4Mzc1NGM0Y2VhMzA0ZTg0NDBiODJlODFmNzQgcHkzaworNTk3OTYgMTNiN2NhMDRiZDcwZTE0NjQyZWQ2ZDk3YjEwZTg1ZjU0YzM5OWIwZSBsZWdhY3ktdHJ1bmsKKzU5Nzk3IDk3NGYwMzIwZDZiM2NkOTMyMWQyYTkyYjZjNjA0YzhjMDUyMjZiNTQgbGVnYWN5LXRydW5rCis1OTgwMyA0MjY0NmE4NzI3NzJlZmFkYTA2MjA5MmNjM2NmZjE0MTQ1YzNhMDJlIGxlZ2FjeS10cnVuaworNTk4MDYgMDViY2I3OTBlZjYzMjRiZThiN2Q2ZjJhMDA2NDJkNmI1Y2MzYzBkMCBweTNrCis1OTgwNyBhODY5N2FmYmYxN2VmNWM3MmMwNWUzOWNkZjVjZTI0ZmJjNGEwYjlkIGxlZ2FjeS10cnVuaworNTk4MDggNDU1MzZkNTU4N2Q0NzcwMzI1MDFhMWM1MzY0NThmOWI0ZTRiM2VkMiBsZWdhY3ktdHJ1bmsKKzU5ODA5IGY5Yzk1MGU4ZjJlMGFlNmZhYjI5MzdlY2MzZDcyMmFiZGFhMWVjZjYgbGVnYWN5LXRydW5rCis1OTgxMCBiNmVhNTI5OTNjYWU1MGFlNjU2MDQzZmRlNzA1MDFkZjU2OTEwNWM0IGxlZ2FjeS10cnVuaworNTk4MTEgZjI3MDc0ZDE0N2Y0ZTE5OGE3YjMwODc5MmIxYjViYzhkNDU0YmQ2OCBsZWdhY3ktdHJ1bmsKKzU5ODEyIDZjNGIwY2M5ZjZjOTAwYmIyNWI0OTIxZTIxZmI3OTViZDZmODEyMjUgcHkzaworNTk4MTMgN2VhMjMxNTc4YjAyZGZhMDNjNzg2MzZlODNlNjBlMmE4ZjRmNWVkYyBsZWdhY3ktdHJ1bmsKKzU5ODE0IDNhOTQ0OTM1YzYxMGRhNGZjYzAyYjRiMTk4MjljZjU1N2MwODc2ODggcHkzaworNTk4MTUgODY0ZTY3OWEwZTg1MDgwNGJiZjIzZWJkMzRlZjA2OGI5NjZjMTcwZCBsZWdhY3ktdHJ1bmsKKzU5ODE2IDRkMjNmNWE3ZDRjOTYwOWMzMDM0ZmVjMzk0YzAzOGExY2I3NDBlN2UgcHkzaworNTk4MTcgMTljZTllZjM0YjYyMzNjYjM4MzU1OGNiYjc3YjI0YmM2OWNkMjZlNCBweTNrCis1OTgxOCBiOTg5NzdmMGFiYTFjNjU3YzQwMGViMWRhYWQ1NTkyMjJjYjhlZjJjIGxlZ2FjeS10cnVuaworNTk4MTkgYWM1MWNmZTVjNWM2Yjk4Mjg0YzM2NzQ0NDE4NmY3Y2NhYjU1NzM5MCBsZWdhY3ktdHJ1bmsKKzU5ODIwIGYzYzFmOWM4Y2U5ZjEwNmVjY2JmMWY0Mzc2YzJiMDAyMDQ1YTZhNjEgbGVnYWN5LXRydW5rCis1OTgyMSA3NmZjZWI1OGJjZjUxZDFlNzk5MzI2NGU3YjFjNWFmZDQ2ZmYxYjAxIGxlZ2FjeS10cnVuaworNTk4MjIgMDZkMTVkYTFmMTI1OGM0NDU0NTQ0MDMwMmJlZmJmOGMxNWFlMWE3NyBsZWdhY3ktdHJ1bmsKKzU5ODIzIDJjZGI2NjE2NzVmOWMwM2Q5YTk2MmQ2OGE3MTIxZTNjY2Q3N2Y0NDkgcmVsZWFzZTI1LW1haW50Cis1OTgyNCA1OTlmMjJhMzQ5YTI0ZmUzYTk5MGVhMWNiNTM4NzU3MjAwYzE1ZGNiIGxlZ2FjeS10cnVuaworNTk4MjUgY2RjMjg1YmQwZWZiNDRlN2E0OTA2YzFkYjNlMTExYTg5MjIyMThkZSBweTNrCis1OTgyNiAzMDVkN2QyY2UwNDcwMWI0MWNlMDk0ZTUwODNlMDA2ZTc1ZGE1MjA2IHB5M2sKKzU5ODI3IDEzMmQ5MDg0NzFjODM4YjkxMDU1Y2YzMDA0MTQxNGY1MDI2YjMzNWIgbGVnYWN5LXRydW5rCis1OTgyOCAwYWFlMTQ5NTBlMGJjMmJkMzdmMGY0NjFhMjQ3OGRjNTcxNmQ1OTBkIHB5M2sKKzU5ODI5IDNiM2FiOTI1YjI2MWU3MzRiNjRlM2QxZjA1ODgxNDM2OTYzY2U5NDkgcHkzaworNTk4MzAgZGI1ZTAxYzMzZWI3NjMzYzAxM2E1MTRkMjc5YWYzMjQ3OTg4OWI1NyBsZWdhY3ktdHJ1bmsKKzU5ODMxIGZkNTMyYTliMjgxMDYzODMzOTE4ODY0Y2VhZDc5NWNmZTY0YzZlNTIgbGVnYWN5LXRydW5rCis1OTgzMiA2YjcxNWVhODA0Mzc3NDY4ZmQ5NmUxNTRmOGEzOGI1YmEzNGM3YTQ5IHB5M2sKKzU5ODMzIGNmMzZlMDFlODNmMjBlNzQwZTkxMzViOWIzNmJmNDhkMDBkYTBjYWYgbGVnYWN5LXRydW5rCis1OTgzNCBhZGRjMTg1OTZhMTU3NTM1ZTBhZWRhODAzNTJhZjUyMTk1MjNlNmI3IGxlZ2FjeS10cnVuaworNTk4MzUgY2ExNDE1YzYxMDVmN2ZkMGRlN2JlMWNmZGYwZjU3MzNjZDZlYjBmNyBsZWdhY3ktdHJ1bmsKKzU5ODM2IDE5ZTFmYTc4ZDMzMDU0OWY0MmFjZDI0ZjI0MmNhNDVkNTUxZGM3ZDcgbGVnYWN5LXRydW5rCis1OTgzNyA1ZTAyNGU5MWVlMDY3ZDc1MWE5NDI5MDgyY2JlOWE2ZjEzNjdmMGQzIGxlZ2FjeS10cnVuaworNTk4MzggZTk3NTYyNjZlMGI5MzgxNDAzODQ4NDE5YjE3MGVlMjI5NmYyYWMzNCBsZWdhY3ktdHJ1bmsKKzU5ODM5IDZkNTIxNjAzZTA3ZGU3ZmI3ODhlZGE1ZThmOGM5NTQyOTJkOTZjNGQgbGVnYWN5LXRydW5rCis1OTg0MCBjNzVkMzYwYWI4N2IzODc2NjNhMTgzMmM0MmEwNTRhYjdhYzNiY2JjIGxlZ2FjeS10cnVuaworNTk4NDEgNzNlMWJmMTc5YTAxYWQ3ODI0ZmY1YWEyYjI5Y2UwNjhhNDU3Y2Q2NyBweTNrCis1OTg0MiAyMzZlNzUyNmFiZWFmNThmMDVkZmU5N2VkNWNjZTJmMmU5YWFhODkwIGxlZ2FjeS10cnVuaworNTk4NDQgNDJjZjU5Y2NjZTY2MmI3NTAwZjc3NGE5NGE2MWZkYmUzZDU3YzVlZiBsZWdhY3ktdHJ1bmsKKzU5ODQ1IGEyOTM4YzU1MjAwY2U0YTZkYzFjZDBkNTEwYTg5Y2VmMjQxZGUzZWIgcHkzaworNTk4NDYgZmI1YTYzMzBmNzFiMzk4ZmNlYjBlNDA1MjAyYTg4ODA1YmExY2MxNCBweTNrCis1OTg0NyBjYzg2OGZjZjUwNWFlYjU5ZTQxM2MyOTgxOTFhMzNjYTg2OWFkOTlhIGxlZ2FjeS10cnVuaworNTk4NDggYTViN2YyZDg3NjFkNWExZDJhYjI2ZTIxZjM2MDdhM2FlZjY5MmE3OSByZWxlYXNlMjUtbWFpbnQKKzU5ODQ5IDYwYjU0ODAxYjY0NjMyZTgwZGE0MTE0MTU0YWQ5YzQwNDc0YTExMjggbGVnYWN5LXRydW5rCis1OTg1MCBhMWRkZTY4MGU2OTQyMGY3YmQyYjgxMGYyOWE3Njg4MWZhNzM1ZWJiIGxlZ2FjeS10cnVuaworNTk4NTEgY2IyMmY4NzQ4ZGE3Y2Y0NTZiODZlYjJmNzBmNGJjMzFlOTJiNDU4ZiBsZWdhY3ktdHJ1bmsKKzU5ODUyIDA1N2RlNDZlYTE3ZTIxYTYwYzRiNjkwMjJlMzE4OTQ5ODgyMzkyODIgbGVnYWN5LXRydW5rCis1OTg1MyA4OGQ3NmI5MjA2ZTY2NzMyNmEzY2Y4MWRmMjhlYmM2ZjI1ZDU2MTExIGxlZ2FjeS10cnVuaworNTk4NTQgZDFhMWJhNTAyNTc5ZTllMjIyNTVhNzhkN2I2ZjhlMzBjODM2NzI0MyBsZWdhY3ktdHJ1bmsKKzU5ODU1IDc2Yzc2NWE3NGZiOGNiNDM4NWY5MDI3MDVmYWZiNjY0ZGUzZWZjYWIgcmVsZWFzZTI1LW1haW50Cis1OTg1NiA1ZmI5YjJmNmJhY2I3YzZiZTg4OWIwMDA0ZjljNmQ3YTExY2NhYmUxIGxlZ2FjeS10cnVuaworNTk4NTcgMDg4YjUwNzdjOTAwYzhkNDg3M2RkYjVlOTc5OTg4NzI3NmRkNjAyNiBsZWdhY3ktdHJ1bmsKKzU5ODU4IGY0NWVhZWRiOTIwZTIwNTVlZjM3ZTEyZmIxZDNiZWQ0ZWE0MDYyYzAgbGVnYWN5LXRydW5rCis1OTg1OSA5YTYwYmQ4ZjAwZDZhZmE5MDQyZmMyODIxZmUwYTI4YjYxM2QyYzAxIHJlbGVhc2UyNS1tYWludAorNTk4NjAgNzZjYWI4Njc4OTE2ZTRkNGE4MGIwMmFlM2QxOGYxNDhmOGQ0YTU5MyBsZWdhY3ktdHJ1bmsKKzU5ODYyIDQ3ZTc4YzJkMTZkZTBkNDMwMGU2YTdjMjcyMmY1MzZlODllYTUzMjYgbGVnYWN5LXRydW5rCis1OTg2MyBiN2QxYjYyN2E3ZDUxZTRkMmIyMmUwMDkxNzBlZGE1MzlkOTI2YjlkIHJlbGVhc2UyNS1tYWludAorNTk4NjQgOTRhYjU3MmVkNmRkZjM2MDgwMDYwMjc5ZDliNzFmMGZkMDNlMjdlNyBweTNrCis1OTg2NSAzMzQ0MDkxOTk2MTI0MzIxNDM5NmZkMjk1Mjc5NmM4YzA5ZjY5MzVlIHJlbGVhc2UyNS1tYWludAorNTk4NjYgYmY3YmJkOGRiMWE4MmQ3ODI1OWZmOTI1NGMwZjRjYmEyMzMyMjg4YiBsZWdhY3ktdHJ1bmsKKzU5ODY3IDVmNjQwZjhmOTJmNDhkNGRiZDJiODkzMzAyOTIxZWRkMGQxOTNjOTYgbGVnYWN5LXRydW5rCis1OTg2OCAxZDc0ZGQ4MjI4ZGIwY2M5NWJjNzAwMjNlYzNlOTJhN2NiY2U5ZDNjIGxlZ2FjeS10cnVuaworNTk4NjkgMTBlYmQwMjdjMjQzOTQyNWRjMTI1YjM0MmYxYWMxYzE1NDE5NmQzYSBsZWdhY3ktdHJ1bmsKKzU5ODcwIDUwODY5ZTc0N2U3NmU5ZTQwYTk2ODM5NTA0ZjdkYjViOGM2MTcxNjggbGVnYWN5LXRydW5rCis1OTg3MSA5ZjZhYTQ5ODQ5OGQyODVjMWExYWNkZDc3ZGZlNjk0MWEyNTU1MDM1IHJlbGVhc2UyNS1tYWludAorNTk4NzMgYTYwZjkyYmEwZDFlZDU2MzE1NTViMmMyOWFhMDU3MDdmM2IxMzA5OSBsZWdhY3ktdHJ1bmsKKzU5ODc0IDY3NzZkNmVmMjAxYTEwMzc1OGI0YmZjMTI3ZTkzOWQ1NmNmYjljZTcgcmVsZWFzZTI1LW1haW50Cis1OTg3NiBkYzlkOTViNzE3YzU3ZTNlNjFmNGRiMjllZGY5MGQ5NjU3ZWU1OGVlIGxlZ2FjeS10cnVuaworNTk4NzkgOWE5NzkwOGI0Yzk3ZWY5MWIxZDJkYjUxMjM2NGUxNzFmNTJkNzliZCBsZWdhY3ktdHJ1bmsKKzU5ODgwIGM5YjZiZTQ4MTY1N2RkOTYyODFjZDAyNjg3YTQ1MTYzMjcwNmFlYjcgbGVnYWN5LXRydW5rCis1OTg4MyBhMjlhZGMzYjBmMjY2YjYzNmM5NjJlNDI5YzE0MGEwYmJiM2MxODk3IHB5M2sKKzU5ODg0IGZhZTljZWRiOTE0NmJkZjE2MmJiODg3YmMzODM5ZDcxZjc1NWExNDcgcHkzay1pbXBvcnRob29rCis1OTg4NSBmYjI4NzQxNWFjYTBlNmZhNWQyYTMyOWUyOGEzNjA0YzJmMDEzNDMzIHB5M2staW1wb3J0aG9vaworNTk4ODYgYTkzZTBlODBjMThhMDE3MTA4MDE0ODdiMzFkZGU5YzBjOWE1OTM0NCBweTNrLWltcG9ydGhvb2sKKzU5ODg3IDc2YTQ2MWRlMTU0NDQ0MTBmZTE5MDVkNmFlN2E3YTczMTJiNzJkMWIgbGVnYWN5LXRydW5rCis1OTg4OCA0MjY3NmE0ODQwYjVhNzExMGFjY2M2ODJjNzZlYzQyYzYzMTc4OTc3IGxlZ2FjeS10cnVuaworNTk4ODkgYjQ0NmNkNjEzODhmMDViNWZkZDVlNjU3ZGQxYmFhMWYyN2I4NWQwMCBweTNrCis1OTg5MCBkOGQ3YTc4YzY0MjNjMWE0MTYyMmM1YjY3MDY5YjU2ZjA4MjEwNTVlIHB5M2staW1wb3J0aG9vaworNTk4OTEgODk2OWQ3NGQwZDIyZjMxOWM3YzQ1ZTY0MjU5YWQ3NDc3NTYxODc1MSBsZWdhY3ktdHJ1bmsKKzU5ODkyIGMzMTEzOTE0ZTY2ZTllMGQ2NjkzOWFjM2UxYTdmYzhhY2ZkMjI0MzEgbGVnYWN5LXRydW5rCis1OTg5MyBhZjZmMzQ1NjU3YjRiNzk0MWYzMWZkNGNlNjM5MzI0OGZhY2U2ZTQ1IHB5M2staW1wb3J0aG9vaworNTk4OTQgMjA1NzhkYjA3NjI5YTIwNDY2ZjU0ZjY3YmI4MzQwZjhiODJiYjIxMyBweTNrLWltcG9ydGhvb2sKKzU5ODk1IGRiYWZjZDgyNzk3OWUwOTdlMDlmZmVhMTc2MzQxZmI2ZDUyYjk3ZDQgbGVnYWN5LXRydW5rCis1OTg5NiBlNzUzZTMxYTBjOGYxNzk0MzhhMTlmZjc0NjkwY2VlMDc0MDNlYjQ3IGxlZ2FjeS10cnVuaworNTk4OTcgZGY4NTZlMGUxYjJhMDg5Yzk0MWRmNGMyYTMxNzMwZDc1NTU1ZDg1MiBweTNrLWltcG9ydGhvb2sKKzU5ODk4IDY5ZjQ5NTA4MjQxMjY3MjczNDg5MWY2NmUyMjhhNjI5ZGU2ZTA1N2QgbGVnYWN5LXRydW5rCis1OTg5OSA2MDEyNmFhM2I4MTY5NzcwZDc5ODQ4NWIyZjc1YmZlOWUxYjhlNWVkIHB5M2sKKzU5OTAwIDc4NTFlNzVmNTQzOGNhNDU5OGQzMDVjNmM5OWZiOTQ0MGZkYzBkN2EgbGVnYWN5LXRydW5rCis1OTkwMSA0MDNjZmNhOTg2M2ZkMmUzMDhiMDQ1ZTJhZjE4YzBmNmQyYWZjYTQ4IHB5M2sKKzU5OTAyIDVkZWM0YWRlOGZhOTUyODRiMDYwZTBjNTQzZjMwNDM2YTEwZDAwN2IgcHkzay1pbXBvcnRob29rCis1OTkwMyA4MDU4ZTE2ODIwZWY4NjBlNGM5MGM0N2UwNzBhYjNiZjc2Zjg5MDM4IGxlZ2FjeS10cnVuaworNTk5MDQgMzU0YmUwZGFmZTU0YjIyMmFmMjVhOTNkYzk4NWVmYmMyODdjOWI1NyBsZWdhY3ktdHJ1bmsKKzU5OTA1IDNjZDliODc3ZWFlMDlhMzViOWNjZDc5NWRlNzVkODM5NzI5YTQ4N2YgbGVnYWN5LXRydW5rCis1OTkwNiA3ODUyMzdmYTVmNDAxNDQ0YzMxZDYxN2RkYzA2ZTAxMGEzOWU4ZmE2IGxlZ2FjeS10cnVuaworNTk5MDcgNmIwYjVlZGZiMWI3ODVjMTY5MWM3Y2Y2OWQ1OTgyNzExYzQ5OWRlYyBsZWdhY3ktdHJ1bmsKKzU5OTA4IDA2ZjlmNTFhYjhjMDNkZGNiYjFkMjlhNjkzZDI2MGM4MTQzNmEyMDQgcHkzaworNTk5MDkgYmUwNGVlNGM0ZmQ3MzQ1ODY5Yzk4MDNkNWQxMGI4MWRmYTE5MmJhMiBsZWdhY3ktdHJ1bmsKKzU5OTEwIDJhZDNlMzVjNTgyNWMzN2YyOGI3ODgyYmFiZGEzMzM3NTM1YzgxNzEgbGVnYWN5LXRydW5rCis1OTkxMSBhZjNhMGNhMWFiNGEwMmJlMmE1OTMxODZhNDMwNDYzZGNiZjM3YjkxIGxlZ2FjeS10cnVuaworNTk5MTIgNjJmNmQ3ODBhMTFkZTAzNzM0NjM3NWFmOGY1ZmNiOTY2MmQ4YmFjZSBsZWdhY3ktdHJ1bmsKKzU5OTEzIDNjYzNhNTVkMTIzMzQ1MTNmYTczNmE1MDQ1NzNlN2I2MjE4YWVkYWEgbGVnYWN5LXRydW5rCis1OTkxNCA5NDI2MWYzMDI3YTU5M2RlZjQ0YTM1ODZkMTMwYjhkNjE0OGRiOWZlIHB5M2sKKzU5OTE5IDU5YTgyY2RmYTEzN2U4OGI4Y2MzNmQ2NTUwMzVjYTdmNGU5YjcwOTMgbGVnYWN5LXRydW5rCis1OTkyMCBhYWRjZGE3YTRiZjdhZjRlZTNhMDliNTAxMmU0ZjRhMmQ1NTY4OTYxIGxlZ2FjeS10cnVuaworNTk5MjEgZDhlNDM0MmMxNDVlNmI1YTg4YTE0OTFjNTRmMWYxZjE5ZGM2OTUyYSBweTNrCis1OTkyMiBlN2I4MjEwMWI5NzBmOGVjNWIxMGU1NWU5ZDlkOTE4MmQ0MmUzMjliIHB5M2staW1wb3J0aG9vaworNTk5MjMgNzk1NzlmYThkNzUyZjJiZmE5NDQzNDg0ZjRhNjc2MDFiNzdlYTY1MCBsZWdhY3ktdHJ1bmsKKzU5OTI0IGYwYjkzM2YxMjk4MjY3ZDhlNmNhMzU1MTM2MjgxNzljNzBiZWI0ZTcgbGVnYWN5LXRydW5rCis1OTkyNSBhMjIwMjExZjgzMzEzMTYwMjkxYmRmNWZhNzY2NTZlMjMwZjM5MDUyIGxlZ2FjeS10cnVuaworNTk5MjYgZDU4MjRmZGQ5YTE1ZjBmZDc2NjljYzc4Y2IxYzJjZDExOWE1YmU1YSByZWxlYXNlMjUtbWFpbnQKKzU5OTI3IDc3NmI0ZTA1OWY4MzZhMWZjMTI0MWNhZDczYmRkZTZiMWI4MzZmYzUgbGVnYWN5LXRydW5rCis1OTkyOCAzYWYzZmQzODg3ZWUyM2U0OTVjMjIyNTQwZmIxMTBlY2JkOGFiY2I5IGxlZ2FjeS10cnVuaworNTk5MjkgN2I3OTg1NDhhNGFkZTRkMDI2ZjVlOWQ4ZDljOGIyNjAzYmMyMzlmNiBsZWdhY3ktdHJ1bmsKKzU5OTMwIDdkYmMzZjQyNzhlYmQzNGZiNzFmMDQ4MGUyNjdjOWE4ZjA4N2RjODUgbGVnYWN5LXRydW5rCis1OTkzMSAyNzNkMzdiZjIzZDNiZTJkMzJhYzI4OGNhOThiMmVjZDBiNjkzMjYxIGxlZ2FjeS10cnVuaworNTk5MzIgYTU0Y2M0NzcyZTczNzM4MzViOTZjZTY4NmMyODlmY2FiNDAyZDhhMCBsZWdhY3ktdHJ1bmsKKzU5OTMzIDVhNzFkY2M3MWVmZjc2Mzk0ZDM1OTk5Mjc3MmEwZDlhMGQ5MmE3OTQgcHkzaworNTk5MzQgNTM1MTEwNWZmODA4YTMxNzBhNjNjNmVmN2U3YzhkODA5NWFiYmNlMyBweTNrCis1OTkzNSA0Y2E4YWNjOWJlZDcxNTQ4OTI3ZWE4Mjc1ZmU5Y2EwMGI0ZWRlYTU4IGxlZ2FjeS10cnVuaworNTk5MzYgM2Y2NWJjYzg5NjZmMjlkODkwOGUwZWNhZTE1NmVlOWRjMjU4OGIyMSBsZWdhY3ktdHJ1bmsKKzU5OTM3IGI2NzJjMDE1YzJkYjg0ZmY0Njc5NjMxMzY3MDUyOGQzMDdkMDRlNjggbGVnYWN5LXRydW5rCis1OTkzOCA5NDY4ZTYwNjM2MTczNGUxNWNjZmEwYWMwY2U5NThlNGI5YjkzNTRhIGxlZ2FjeS10cnVuaworNTk5MzkgYzczNzY4ZDk3N2E5ZjkyYmI5Y2RiOTA0NzhkNTcxY2FkMTk5MGQyYiBsZWdhY3ktdHJ1bmsKKzU5OTQwIDg5NGQyYWQ0NTAyNjllN2UwNWQ4OTk4N2YzZGQ2N2UxODA4ZGEwOTcgbGVnYWN5LXRydW5rCis1OTk0MSBmMmQ4MjBiNWFlMmFlNjQzNzA2MGJmMzg0MDkyNjAxYTk1OTRmY2YxIHB5M2staW1wb3J0aG9vaworNTk5NDIgYzI1NzYwYzIxMzk3YTFlNDIzOTBlMzM2NGFlZWM5Y2FhYjVhNTVlZSBweTNrCis1OTk0MyA0MjkzYTA2YWZkNzI3Zjc1MzYwMTVmN2RmM2QyYTFjMjcyZWM5YjkwIGxlZ2FjeS10cnVuaworNTk5NDQgMzg3ZDQ4YzNhMGIzZTdjMjc0MTg3MWIxOWExMWI3YjI3YzZmYThhMyBsZWdhY3ktdHJ1bmsKKzU5OTQ1IDkxOTI4ZDk5ZWJiMDkyNzA3YjQ2MmQ2Y2U4YTU0OWFmODFiNjUzYTEgcHkzaworNTk5NDYgNDI2ZmVmOGJhZGUyZGQ3YTg2YzhhNjhkMDBiNDA5NTE2NjhhYzdiOCBsZWdhY3ktdHJ1bmsKKzU5OTQ3IGI0MDk5NDFjN2E1MWUxMDA5ZGIxNDE4YzEwMjMzNTgyNzNkM2RiY2UgbGVnYWN5LXRydW5rCis1OTk0OCA3ZTQxZTFjNDZiNTdiMGVhNmEyOGVmMmFjOTZlY2MwOWFlMGMwNzI1IGxlZ2FjeS10cnVuaworNTk5NDkgOWI2ZDM0OGNlYzg3ZTRiYTRjMzBlM2E3ZDhmZDczZDQxNjIyOGMzYyBsZWdhY3ktdHJ1bmsKKzU5OTUwIGQ2NmU1ODM3YWE1N2MzMjJlMWRmZTYwMTMwNWMxZjVlOTQ2ZTZhNGQgbGVnYWN5LXRydW5rCis1OTk1MSAzM2Y2NzA5MDc1ZTgzYzhhN2U1YzJlNjNhMGYwMTJiMjhiZDRmZmU4IGxlZ2FjeS10cnVuaworNTk5NTIgMzIyYzIzOGE2NGU1MjczODVhMzU5NjdmNWZjZGM3ZTk4ODNiMmQzNyBsZWdhY3ktdHJ1bmsKKzU5OTUzIDYyZWFjZTY3ODBmNjU4Y2RlNTFhNjVhMWU1YTBjZTliNThkMmNkNzcgbGVnYWN5LXRydW5rCis1OTk1NCAxMTU0MTU4YTE5OWY3Nzk0ZjI1ODU1ZDllZjcyMWM0NzcxYzY1YmU1IHB5M2sKKzU5OTU4IDYyN2YyZTIyNzNiOTRmZTk4YmI5MWQ3M2UxOTlhNzRkZDkzMGExNjcgcHkzaworNTk5NTkgMDA1MDIxYmY1YWNlYzczYzMyM2VkYzQ3ZGE4OTllMzY2MzFiZTA2NSBsZWdhY3ktdHJ1bmsKKzU5OTYwIDgyN2YwNDUxNzM0ZmQ5NjY0NzdhZjNiYmNkNWVlZjU1YTdhNzc1NGUgcmVsZWFzZTI1LW1haW50Cis1OTk2MSA1ZGZkZWQ5YWQ4YTBjYzZkZmViYTc2ODUzY2E5ZTNjZDlkNzc0ODFlIGxlZ2FjeS10cnVuaworNTk5NjIgNmFmMTk0YzQ5NGNjMmZkZjNmNzIzNDJjMDQ5ZTVkYzU3NzlhYWNmOSBsZWdhY3ktdHJ1bmsKKzU5OTYzIDc3NGE5NTk3MjI4ZTBhZGI3ZjhlMWI5YTViNjkzYjdkNjQ5ZTY1YTUgbGVnYWN5LXRydW5rCis1OTk2NCBjYWI4NDEyOWRjY2I1NDU2NDA2M2YxNjM5NjE4NTY1ZmYzODdlOGMwIGxlZ2FjeS10cnVuaworNTk5NjUgZjAzNGViNWQ4Y2RmNDlhYzUxMTM5M2ZjOWY5NmM2ZDZhNGM3YmM0NiBweTNrCis1OTk2NiAzNTdiMzY1NTYwZjRiNzkyMzhlOTBmODQ5M2U0NGViYzlkNzlmZWM2IHB5M2sKKzU5OTY3IGEwMGQ5MDAwNGEyNTE5NmFkYTZjZmNhMjA3NzYxMmU3ZGQ4NGNmYzMgbGVnYWN5LXRydW5rCis1OTk2OCBlNTExY2NmMmZmYmU2N2ExMmUyMTQyMzkwYTY4MzZjZDU3NmIyZTA1IGxlZ2FjeS10cnVuaworNTk5NjkgZDAyMDhkNjVkYzIyYzUwMTA4YTY3MzllOGEzNWE5NzkzOTllYWU1YiBsZWdhY3ktdHJ1bmsKKzU5OTcwIDg2ODlmNDZkMjVkNmFmNTVjOGNiZTRkNWYxNzVkZjhjMTVmZjc5YzQgbGVnYWN5LXRydW5rCis1OTk3MSAxNDg1NGM3YzZhMjQ4NzBhZGI1ODhkMmE2MTVhNzU1NzJiM2ZmYTY5IGxlZ2FjeS10cnVuaworNTk5NzIgNWM3YjdmYmVhNjgxYjE1ZDg0ZTQzMTI5OTgwZjgzY2ViNTk5ODg0ZSBsZWdhY3ktdHJ1bmsKKzU5OTczIDBiYjZjZjc3Yzg1YWY4NTM0ZDBmZWVlY2JhNDQ0YWVhZjE5MWEzMTggbGVnYWN5LXRydW5rCis1OTk3NCA0NmU3MzFiYjZhODVmMWNlZGM3NjQ4NzRjOWZhYjEyZDY0YmU1MmZhIGxlZ2FjeS10cnVuaworNTk5NzggNTlmMjliMDEzNmZiNWY2MTg0OTdmMDlmOGE0NTJhNTA2NGI0MGIzYSBsZWdhY3ktdHJ1bmsKKzU5OTc5IGJmYThkMjI1NzgyMzIyM2RiN2M0YTNkZGNlNjYxNDQ0NDFhZTFmNzggcHkzaworNTk5ODQgMjhjODFjMjczODllMjU0MzM5YTkwYzMxMGFiNTc3NDdhZTMyMzIzMSBsZWdhY3ktdHJ1bmsKKzU5OTg2IDZlNTY3NWNhMjU1OWM2YTczN2VmMWI0NmI4MTE0OWY3NzFhN2Q0N2EgcHkzaworNTk5ODcgYzc5MDU4N2YyOTkyNWMxNTE0NTEwNDBkMzk0MzcyYWU2ODdkNjY5YSBsZWdhY3ktdHJ1bmsKKzU5OTg4IGNiOTA0MDRhNDZhZDE4YTEyMmJmMTgyYWQyNDE3ZTljZjRmYTVhNTAgbGVnYWN5LXRydW5rCis1OTk4OSBmMzAyY2Y5OTk2MzNlYjdjNmQyYjBlMGYyNjg0ZjRkZWZiYzkwMGE1IGxlZ2FjeS10cnVuaworNTk5OTAgNmYwNDljYTU1ZTA2YjJjMTA4ZWMwZDhkMGU4NGJiMGI4MjNkYzM4NSBweTNrCis1OTk5MSA5OTJhNjExYjJlMzE0NjZjMTcwNGJhN2VlNmMxOTZiYjg0YjRmMDFjIHB5M2sKKzU5OTkyIDJmMTFmN2Q5YmRjODRlMGQ2YmJhMmVmZTNjZTVhNDlmYzBjZTlmYTUgbGVnYWN5LXRydW5rCis1OTk5MyA3MWM3OTllYjI0YjI0ODBhZGZiNzdmNDNkZDI3NWZmYTRlMjFhODgwIGxlZ2FjeS10cnVuaworNTk5OTQgN2YyZjIxYWEzNjkwNmE5ZGQxZTc4NTdjODllNzllOTQxYTgxOGJhOCBweTNrLWltcG9ydGhvb2sKKzU5OTk1IGIyM2I0NzdkNzg5OWE2NjhmNjg0MzQ5NGE2NzEzNTk0NTg5MjQzODMgcHkzay1pbXBvcnRob29rCis1OTk5OCBjNDM4M2Q3NjVjYTcxNzgzNzQ4NGEzYzJhYzVkMzcxYTgwMDY2NDk4IGxlZ2FjeS10cnVuaworNTk5OTkgYTRhMDI0MzJlNzMzM2U5OWVmMDllYzU3YjM5YTI5ZWFhMGU3NWI4YyBsZWdhY3ktdHJ1bmsKKzYwMDAwIDQxZjFiM2NiMGJiMTAzNTViMjQ5NWY5MTNlZWI0OTZmMzk3NDMxNGMgcmVsZWFzZTI1LW1haW50Cis2MDAwMSAyZjdmM2Y1ZTczZDNjNWVhYTE0MDJjOTFhZmUwZTRjZTE4YWIyNzI0IGxlZ2FjeS10cnVuaworNjAwMDIgM2Q3MDQyODkzY2M1MDQ2Y2VkN2ExOTZkNThiNmQyMGExZjU5ZTllNyByZWxlYXNlMjUtbWFpbnQKKzYwMDAzIGNhZjU4YzgzMTQ5OWNjN2Q1OTQ1MzU5MTg5NmQwMzEwZWQ5NWZkMjcgbGVnYWN5LXRydW5rCis2MDAwNCBhMmYzZDQ5OWNlMTJlZjRjZTIxYjU2YmNiMWUwOWJhM2M1NjIyNjllIGxlZ2FjeS10cnVuaworNjAwMDYgMjdkNTk2NzViOTJjNmY3YTBkMDA1ZWJhODljYWE4NWQ1ZGUwNGJiMCBsZWdhY3ktdHJ1bmsKKzYwMDA3IGYxMjhlNmViZjkwZjgxZDBmZDJhMzA1OGJjN2ZhM2NhYjY2YjMwZjMgbGVnYWN5LXRydW5rCis2MDAwOCAyYzliYzYxZDRmNzNmMzc2ZTM1ODk1ZmZkZDcwZmQ5MTFiMzEwNjMwIGxlZ2FjeS10cnVuaworNjAwMDkgYzc4NGYyMGM5NjdlODQ0YmVkYmIyZmQzNzQxZDI5YmNjYWU5MmE4ZCBsZWdhY3ktdHJ1bmsKKzYwMDEwIGFhNWNmNjM5NDY0MWRjMWQzYTJiZjBkNjM3NGRiNmFjNGVlODA1YmMgbGVnYWN5LXRydW5rCis2MDAxMSA5OTAwMGVhMjFmZjI3OGFiYjg5NDlkYWVjNzBhNzE1NzRlY2RkZDczIGxlZ2FjeS10cnVuaworNjAwMTIgYjQ2OWU5MDI3M2ViMDcyZGY3ZjA0ZGVlZTMyYzQ3OTE1OTI5ZDNiNSBweTNrCis2MDAxMyBkMGY3OTYzY2Y4YjAzMzQ4Y2JjYzQ1MzA4NjcyMDU4NjU0MDNhMDg0IGxlZ2FjeS10cnVuaworNjAwMTQgMjZiNjFhNWRmMTFiNjEyZDMxMTE2NjI3NGE3MmFlNjI0OWQzMTU5ZiBweTNrCis2MDAxNSBjYjBkY2Q2ZTNiMTE0N2YzYWNhM2IyZTI3MDVmNmIxYjkwYTg4NDY2IGxlZ2FjeS10cnVuaworNjAwMTYgM2IzODU2YjM2MjFiMjA4OTVkYWU0ZjM0YTMyMTJkNTg4MTVkODRhYyBweTNrLWltcG9ydGhvb2sKKzYwMDE3IGRmNzFmY2RkYjc1ZWFiMTdhMDVmZTI2MWU0MDIzMzAyYTJlZDY4OWQgcmVsZWFzZTI1LW1haW50Cis2MDAxOCBhMzgwMjg1M2MzMTc2MjY2Y2Y3YjI2MGQwMGQyZTQ5MDljMTgyZDg1IGxlZ2FjeS10cnVuaworNjAwMTkgMTcwY2IyNzM5YTM5MGUyNzgzMjI5NDQ2MjVlZjFiOTViOGNlYzIyZSBsZWdhY3ktdHJ1bmsKKzYwMDIwIDA3NjZlZmQyYTZkNjNlNjNhM2IzZGRiNTMzZGRmMmNhYWU4N2E2MDAgbGVnYWN5LXRydW5rCis2MDAyMSBkODE2YmMwYzQwYjY3NTk2ZTI1MzVlMDQ3NDU2YWI1YTE2YjdjNzc2IGxlZ2FjeS10cnVuaworNjAwMjIgNzE3MjY1ZWQyMDQxYjMxOTdjMjVlNjFjZjViMmUxNjIxODgyNWU4YyBsZWdhY3ktdHJ1bmsKKzYwMDIzIDNiNGJjNGM3MDRjMTRmNjkwYmY0MmEwYWRkZjY1ZGZiODVjZTc0NmYgcHkzaworNjAwMjQgMjIyYjkxOGNlMDkyNGNlZDZlZTdkYjE5Y2QzYTRiZTVmMGFjMmU2NiBsZWdhY3ktdHJ1bmsKKzYwMDI1IDI5ZTRjODZkNTA3MWE2YzhlNWJhMjgxMjAxZTE4MWIyMjM1OTA3YzkgbGVnYWN5LXRydW5rCis2MDAyNiAwNzZjOGFiYmQ1NGY3ODk5ZDgyMDQ1OTU1NjUyYTBjOTE2YWJlZGVhIGxlZ2FjeS10cnVuaworNjAwMjggOGI0OTU0MDNiYTIzNWJkYThlM2U4M2JiMGFhNzA3M2NhNDg0N2VkMiBsZWdhY3ktdHJ1bmsKKzYwMDI5IDQyOGRkODUxYmI4YWU4MGZkM2IxM2IyMjc4MzhiNGQzZmMyNTdkZDEgbGVnYWN5LXRydW5rCis2MDAzMCBiYjMzYjMyZGUzYTBiOTM3MjE1NDI5M2RiYjE5NmMyYTRlMDdiNTRkIGxlZ2FjeS10cnVuaworNjAwMzEgODVjZjIyMGYxNmQ4NWVlNDA0NjY4MTk3NDYzMjJiOGVkMzU5YmU4MyBsZWdhY3ktdHJ1bmsKKzYwMDMzIGEwZGQwOTJiYjZjMzZlN2M2ZDNiNThiNDY5Nzk5MzU0NDc0MDQ1OTkgbGVnYWN5LXRydW5rCis2MDAzNCA0ZDYxYzg4NzYyNGQzNWJiNmNjNjMwMjFiNzZiMjk3NWU5M2JmNjI4IGxlZ2FjeS10cnVuaworNjAwMzUgMjZhODZjMjlhZDYwMGE2ODhlNGE0OTRjOWE0YWVlZDQ4Mjg2YjRlMyBsZWdhY3ktdHJ1bmsKKzYwMDM2IDg0MGU4N2UxODMwNjk0MGI4MGM3MDViMzkyYzM0ZDg2M2VmNTVlNGYgbGVnYWN5LXRydW5rCis2MDAzOCBiNDAwM2I2YzZkMTM3ZWY5NTRjNDczMzZkY2NjNWY5NmUzZjUzYTcyIGxlZ2FjeS10cnVuaworNjAwNDEgYTNiZjBlMjRiOTFlNjk0ZWY5NGM0ODU2N2YwOTFmYjM5MDZiZGU0NyBsZWdhY3ktdHJ1bmsKKzYwMDQyIDc5YmFiYjRjY2VjODUyZmZmZDkzYjk2MTMxNzg2ZTdkMzQxMGVjOWMgbGVnYWN5LXRydW5rCis2MDA0MyBiYmY0ODQ1ODEwNDM3ZDY2YjYxNjg3ZmU3M2I3ODc1NGM4OWIwMmI1IGxlZ2FjeS10cnVuaworNjAwNDQgMTRkNDEwNDk3NmZjYzdkNDFjODc5N2IwMTA2YTcwNDVmZDY4ODhhNiBweTNrCis2MDA0OCAyOTQ2MDIwNTYwZTczZjk1OTNjNDAxMGY0ZmQ5NzYzNjEyODgxZWI0IGxlZ2FjeS10cnVuaworNjAwNDkgZDk4MzNkMmJmNDY5NWZmYzY1YTc4MmE5Yzg5ZTJjNzM2MmEyN2ZmNiBsZWdhY3ktdHJ1bmsKKzYwMDUwIGRiZjA4NTY3NzZkZDdjM2MyYmY5ZjZlZDdlNGYyNTRkZTY3MTU3ZDAgbGVnYWN5LXRydW5rCis2MDA1MSA5N2E3YzEyNmQwNGViZjY2NTUxMmE1MDBhM2JlNThkODY1YmE2ODNhIGxlZ2FjeS10cnVuaworNjAwNTIgOGRhOWViZjczMDI2NDdlY2FiNTM5NDkxNDU3MjNjN2Y0YzM2Mjk5OCBsZWdhY3ktdHJ1bmsKKzYwMDUzIDRhNjc2NzNlMzQ4MWRjMTA0ZTVlNjg3ZTViZjNiMzdjYmNmMDA3NjIgcHkzaworNjAwNTQgNTVkZGIxNjZmMWQxYWEzMmI0MTQwZWZmNjE4MGMwZWNiMDFkYjRkOSBsZWdhY3ktdHJ1bmsKKzYwMDU1IDNmNDBhZDNjMTNkZDdlYzJiNGNlYjI0NzkxNGY0OTYxMmViZDlhM2YgcHkzay1jdHlwZXMtcGVwMzExOAorNjAwNTYgNzY1ZTU3YzAwMWIxYTExZWJiZmUzMGU3NjM4MzcyZWE5ZTkwODM5MyByZWxlYXNlMjUtbWFpbnQKKzYwMDU3IDU4MzAzZWQ3MmJhMWE3YmYxMjVlZjY2MDk2NDI4ZDQzNzBjOGQ2ZjMgbGVnYWN5LXRydW5rCis2MDA1OCAxM2Y3NGM4NTQ0Y2M4YTkyMWRlNmI0ZmM2MzE2NDA0YWIzYzk5MDJkIGxlZ2FjeS10cnVuaworNjAwNTkgZWI4ZWY5NjllZDY4YTVmNzg2ZmE0MjlhZTM0MDcwZmQzYWNhMzJiNiBweTNrLWN0eXBlcy1wZXAzMTE4Cis2MDA2MCBkN2E4N2M3ZjE0ZDllZTk3NmY0NTZlN2Y5OWVlMTI1ZmM3MzUxN2E3IHJlbGVhc2UyNS1tYWludAorNjAwNjMgYTUwNzJiYTM1ZjBhMGYzYWQxNTY5NDUxMDhmNDY3MmNmOGJmY2U3YiBsZWdhY3ktdHJ1bmsKKzYwMDY0IDIxNzk4MzNjOWM5YTU5MDhmMzljMTA2MjFkZDdkZDI0MzEzZTQ3NTEgcmVsZWFzZTI1LW1haW50Cis2MDA2NyAwYjdiNjJkZDRkY2JkMjgzZjc2ZjExMjM1YTIwMWQwMmYxNTg5NTU1IHB5M2sKKzYwMDY4IGM0NzA5YjgxYWJkZWI2YzdjMTZjY2I2MGFhYTE5N2VjNzk1ZWQ0NDQgbGVnYWN5LXRydW5rCis2MDA2OSBmZWJkZTNjYWYyOTEyNmM1M2IyY2NmNTA0NzczMTRhZjljM2NhZjJhIGxlZ2FjeS10cnVuaworNjAwNzAgZjI3OTdlMDcwOWUzOGNlMTRkZjNjYjQ0NTRkOTkzZWZmMzk3MjQ2NSBsZWdhY3ktdHJ1bmsKKzYwMDcxIDNkNzJmNTIwOWU2N2Q1NDk4MjUzYTE4NjU0ZTJjODc2YjcwOTk2MDcgbGVnYWN5LXRydW5rCis2MDA3MiBmOTc3NTQzODM2OWFiNjExNjFiYWE0NTUwYmYzZjY2ZWY5ZGY2NTU2IHB5M2stY3R5cGVzLXBlcDMxMTgKKzYwMDczIGNlMzI2YWZkZjA5ODlmY2I2MGQ3ZDE4ZDg5NWE1YTliMzY2NWE5ZjAgbGVnYWN5LXRydW5rCis2MDA3NCBjYzBhMjk2MTE5NWVmMzgxYWNhZGI1MjU1YWY4MTE0YWEyOTE5ZWY5IGxlZ2FjeS10cnVuaworNjAwNzUgNzNiNWU5MzllMDU4MGRkYmU4MTA1MDFiODkyYTBiYzljNWNkMjVmOCBsZWdhY3ktdHJ1bmsKKzYwMDc2IDUyZTgyMTQxOGE3OTliNTI0YWQ4MzU4MTE1OTlhNjU3YjQ0MGJiMDMgbGVnYWN5LXRydW5rCis2MDA3NyA4ZWRiZTAyNWFlZDU3MTI4ZjEzODc1YmU1NTQ1OGNjMTU3OWNjNzg3IGxlZ2FjeS10cnVuaworNjAwNzggYzdjYjU4MDA2MDZlMmY2ZGUwM2JiOTJiZGVkN2FlYmExMTJkMDQ4OCBsZWdhY3ktdHJ1bmsKKzYwMDc5IGE2ZjlhMmJhODk2MmE0NjI5NDNiNmEzNDM1ZDQ0NjExZWYxNWI3NDMgcHkzaworNjAwODAgY2RlNDFiZDA4ZTVlMjRjZDkzOGQ2MjI3NTU4ZDA0N2Y1YTBjYjk5ZSBsZWdhY3ktdHJ1bmsKKzYwMDgxIGUzZmRiYzgwOTk5OTgwODhiZDA3YWJlNGQwMmIxMmM0NzY0NGZjNGYgbGVnYWN5LXRydW5rCis2MDA4MiA4NTliZjg1YTU1NmE5OGI4MjBiMDAxNjgyZDM4YWZlMDQ5NTBjMWEwIGxlZ2FjeS10cnVuaworNjAwODMgMGZlOTM2Yjc3MTE0MjM1MTRhY2UwNzhjNWU1YmZiNDQ2N2IwN2VjYSBsZWdhY3ktdHJ1bmsKKzYwMDg0IGFmYTBlZjM3OTE4NjVkMThjZWI3MTM4ZDYzNTE4MWYxYmNlMzJkYmMgbGVnYWN5LXRydW5rCis2MDA4NSBhMjY1YmFhNzkxMDAzNDNiYTE1Yjg1ZDA1ODc1NDNlMzNkZjJjMzY2IGxlZ2FjeS10cnVuaworNjAwODYgODAzNjY2MjFjNTAyMjk4MWI3MjNhODY4YmEyNGE1ZTMzMjYwMjI1ZiBsZWdhY3ktdHJ1bmsKKzYwMDg3IDljMGE5MTNhZGNkNGI4YTk2ZTZiOWY5MWNlOTI1NDIxYTVlODIyZWYgbGVnYWN5LXRydW5rCis2MDA4OCBlNGU2ZmM5Yzk3NzVkODIwMjQzODI5YjE5NDYzNzFlMWZiZjE1ZjhiIGxlZ2FjeS10cnVuaworNjAwODkgOGI1NTMyMTE2MTE1MmJiMGZjMmZiMDI4NGZhMjM3YjlkYjU4M2FhZSBsZWdhY3ktdHJ1bmsKKzYwMDkwIDM2MjVlZWQ0ZjBjZDliZThjODNiNTY4ZmY0N2UzYTFhMWRmYTQwNTggcHkzaworNjAwOTEgODc3YjQ2NzliOWZlNjliNDA1YmU1ODNlZDA4ZjY2MTJkYzQ2MThhYSBsZWdhY3ktdHJ1bmsKKzYwMDkyIDYxYTExY2M5NTYzMmU4NDE1MDVmMmZhZTEzMzVjNmNmODA4YjE5NDYgbGVnYWN5LXRydW5rCis2MDA5MyAxNzAwOWQ2MjExYjgzNmE2NjAxNDZkZjM3MGIzN2ViZmY1MmNkZmQ4IGxlZ2FjeS10cnVuaworNjAwOTQgY2EyNjgzYTY3OTQzMTNhM2ZlYzE3NWQ3NDA1ODdjNTM3MzllMjM4YyBweTNrCis2MDA5NSA0YTdhZmZmNTJlYTcxZjQ4N2EyMWVkMTk2ODViYWFhOTdjYmNkMWVlIGxlZ2FjeS10cnVuaworNjAwOTYgYjMxMDIwMDZkZDdlYzlmY2VjZTM4MjI4ZWYxMjdkN2MxMGRhYTczOSByZWxlYXNlMjUtbWFpbnQKKzYwMDk3IGI1MjBkMzNiZWUwNjE1NGY5N2M1YWVlZjJlMDc3OTZhNzVkZDk4ZTYgbGVnYWN5LXRydW5rCis2MDA5OCA0YWM0ODQyNDliZDFlMWZkYzYyMTFiNjE2YjFjNmNmOTFhZjBhYWY1IHJlbGVhc2UyNS1tYWludAorNjAwOTkgNGYzNTExOGVlZDNiOGYyMTYyNWM3ZmI1MDNkNmNjNWU3NjQ1MmM3NyBsZWdhY3ktdHJ1bmsKKzYwMTAwIDg4ZjhmMTUyYTBiMzMyYzJkMGI5MTQ3ZDAyMTkxYmFmOGE1YTQ1NTQgcHkzaworNjAxMDEgM2M5Y2NjMzJkYTlhZmU2NDQ5NzBhNzdmZmI0OGEzYmRiZTExYmZkMyBsZWdhY3ktdHJ1bmsKKzYwMTAyIDIxMDMyM2UyYTkyNzI2ZDRiY2JlNTNiYzZmYmUxOTcyZDdiMTRkNDQgbGVnYWN5LXRydW5rCis2MDEwMyAxNTUzNjg2NTE5OGFiMjE5NjUwYzUwYjk4N2RmNzg2MWQyNzcwOWI2IGxlZ2FjeS10cnVuaworNjAxMDQgYjRkMDNhOTJiZGRmOWNiY2I3Y2MwNWNkNzI3NjE4NDM0MGNmMTY1YiBsZWdhY3ktdHJ1bmsKKzYwMTA1IDNkMTMxYzgzOGYwOWI4YTMwMTFlNDMwOGRjOTNiZTJiNGNiYjFkNzcgbGVnYWN5LXRydW5rCis2MDEwNiBkOGMxM2VjYjZlODU5ZmVlNmRjMTlkZjhmZDRjYmYzMWUwYWRhZDkxIGxlZ2FjeS10cnVuaworNjAxMDcgYmRhNDllYjQ2MDc0OWY4NDMwNzk1ZjI0ZWYyZmQ2YzNhZjM4NmU0NyByZWxlYXNlMjUtbWFpbnQKKzYwMTA4IDE3Zjg0NTMzMjc3ODQxNTQ1YWZjMTc0OWJmODlhMTNlZTIzNjkxMzUgcHkzay1jdHlwZXMtcGVwMzExOAorNjAxMDkgMTNkYzY1ZmU4NTk5ZjA4YThkNGFlNWRmNDU2MDBlY2U3ZjA3MjM2YiBsZWdhY3ktdHJ1bmsKKzYwMTEwIGVjMDJkYmU2YjA1MTAxYjYxM2FhZTUzNmUxMTA0NTZiMTE5YTU0NGUgbGVnYWN5LXRydW5rCis2MDExMSA1ZTY2MDMwZjFhNjdhNDY5NTQ4NDc1YmI4ZjBhMDhmODgwNjIxNDJjIGxlZ2FjeS10cnVuaworNjAxMTIgYWMyZWE5NTUyMjkzMGIyYzIxYzZkYmRlZTg2ZTc3NzE0MTcyY2VmMyBweTNrLWN0eXBlcy1wZXAzMTE4Cis2MDExMyAwYWNlNzQ3Njc0NzhjZjY3ZTZiMDc0MmVkMWY5MDRhMGNjNTMzNzljIHJlbGVhc2UyNS1tYWludAorNjAxMTQgNDc5NjU4OGQ5ZjlhY2I3NTEzNzUyNjc3MzM2YzNjZjZiYTI3ZWM4YiByZWxlYXNlMjQtbWFpbnQKKzYwMTE1IGMyMzg5MmY1YTY5ZjE2ZjgxYjExZGY3YzgwYjAwYzZkNmY5OTU2MzYgbGVnYWN5LXRydW5rCis2MDExNiAxMTQ4M2E2NzNhNDVlZWQ0Y2I0NDI1NTI1ZDBkY2NjZGQ5ZjczZjFmIGxlZ2FjeS10cnVuaworNjAxMTcgNjhmNWNjOTViNzBhNWU2ZjljMDQ5YzlhODE2YTRjM2QxOWRmNmE0YyByZWxlYXNlMjUtbWFpbnQKKzYwMTE4IDc2NDcxNTJmNzQyNDViN2VlNTI5OWIxZDg4ODZjZWU3OWEyNDQ1MjcgcmVsZWFzZTI1LW1haW50Cis2MDExOSAxZTU2MTQ1NjdhNmVkOTY5Y2Y5NDI3NzQ1YmVkYjg3YjAyYzk5NzNkIGxlZ2FjeS10cnVuaworNjAxMjAgODE2YTdiZGJmNjllOGZjMThjODlmOGY5N2UwZTZiMWI0ODQ2Y2Y0YyBsZWdhY3ktdHJ1bmsKKzYwMTIxIDExMjBiM2Q2MDZmMjhjMWM1YWQ5MDUyZDQ2NDg0YTUzODc5NTQ2MzAgbGVnYWN5LXRydW5rCis2MDEyMiA2ZDQzZmNjZGE5MGMzYTE0MmNiNGUwMjFlZTNjMDFjZGFiMDBlZDY2IGxlZ2FjeS10cnVuaworNjAxMjMgM2UwZjRhNGI5ZjU1YWU2MTIyNGE3ZTIyNWJiNTVlNjk4MWVlOGQ3NiBsZWdhY3ktdHJ1bmsKKzYwMTI0IGZhNmNlZTE0ZGNiYTQ4ZDBhYmQ1ZDAxYjRkOTA3OTE4OTdiODAwYzAgcHkzaworNjAxMjUgNTUzNDlkNGQ5ZjgzMzllNTBjNWVkNjg5Y2U4MzVmYmZkYmM4NDdkYSBweTNrCis2MDEyNiAxZThiOWU3YzM0Y2VjNTVkMDYxN2FkYjNkZjAxMjE0MGUzYWM4MjkyIHB5M2sKKzYwMTI4IDAyYTIxMjBlNWRiMjNiNWZiNGQ0ZDQ2ZjNmOTAxZjk1Zjg0MzY4ZjEgcHkzay1jdHlwZXMtcGVwMzExOAorNjAxMjkgOTQxY2YyYmYyMDBlNDM5MmEzZjhiZDg2ZjM2ZjY1MTk1YmE1ZTBlMCBweTNrCis2MDEzMCBiOTlmOTI5NWZkOWNmODg2ZGVlYmNkYzY0NmIyOTU0ODY2YTk3NWFhIHB5M2sKKzYwMTMxIDk0MmU0YjQyZGExNGQ1Njg1Y2UyYTY3ZGQ3M2IzZjVhMTdkMTkxYjUgbGVnYWN5LXRydW5rCis2MDEzMiAxNTBjYjQ4ZWRiMDdlMWJhODYxMGRmYzNjMTAwMjI3NjhjNmVlZDE2IHB5M2sKKzYwMTMzIDNmMzRkM2IwMzUwZDEzNWI5ZDYxZmNlZjUwNGM1NmEzNTBhZTlmYzkgbGVnYWN5LXRydW5rCis2MDEzNCBlMzY0NjllNmQ4YjY3ODA5YzczNGJhYmJmMTgxYTg5YzJhZWM3YmI1IGxlZ2FjeS10cnVuaworNjAxMzUgYWJjYjc5MjNkODk4ZmRhM2RlZDJiNWM2MTM0NTQzNzdjNzI2N2QxYyBsZWdhY3ktdHJ1bmsKKzYwMTM2IDE0NWIzZTYwNTM3ODQzNTI2NmU1NDNhMDA0MDhmOGMyNWQ5NmY1NjkgbGVnYWN5LXRydW5rCis2MDEzNyBiMjhmZGVmMmYwZDcxYjE4ZDY4NDQ3ZGZkYjI3YmE5OTI5YmQwODI4IGxlZ2FjeS10cnVuaworNjAxMzggNDI0Y2NjZmQyYmFhYTcyMThhOWNiNGRhZjM5YmQyMDhlNjU4YjNjNCBsZWdhY3ktdHJ1bmsKKzYwMTM5IGVhY2EyMzY3ZWNjOTkyNzhiMjA5NjY1YWI2MWFkZDA4OTQxYTI0NTMgbGVnYWN5LXRydW5rCis2MDE0MCA4NGYxYTY1OGIyMzE5MjM3MDVjZTkyODk5YjAwYzUwN2E2Mjc1YmE2IGxlZ2FjeS10cnVuaworNjAxNDEgZWY4NTljZDc1NGE3NmZhNzdlMDg0YTg1OGUzNGMyZThmNTJhMDYzYiBsZWdhY3ktdHJ1bmsKKzYwMTQyIGVhMzg5YTI2OGI1NDQ5ODA3MjdjZTM4NTk3ZDM0ZmE5OGY4Yjk5YjQgbGVnYWN5LXRydW5rCis2MDE0MyBlYWIwMGRiODBjMjc5NTlmMDIyZjRhZDljNmQwZjM4NGNkZDczYjE0IGxlZ2FjeS10cnVuaworNjAxNDQgZWY3ZDcyZDk4NDg1YmY0MTRhODYyMTY3YjBlZjI3NThiZjllMTMyYyBweTNrCis2MDE0NSBhYzk3MGY4ODMxODc1NmNlMmFkYmQ2YmQ2YmEzYzkwYjZhNmI2NDZhIGxlZ2FjeS10cnVuaworNjAxNDYgMGYwNzJlZGIzMzQzNzMyNjE3OTQ1Yzc1YmQwM2U5NWU5NmY5ZWU2MSBsZWdhY3ktdHJ1bmsKKzYwMTQ3IGMzYmY4ZjliZWFhNzI3MTI5ZTRlMDdlNzYzYzE2NzllNWI0OWNlZDEgbGVnYWN5LXRydW5rCis2MDE0OCBlYjJlYWZkYTI5Yjc2ZGQ5YjFiMmVkYjYyNzc0ZmY1OTRlODFhZmMzIGxlZ2FjeS10cnVuaworNjAxNDkgODliMTNiNjkzODY0NTQwNjVmMDViNjZlNjVhODk0NjY4MTAzMTA1ZiBsZWdhY3ktdHJ1bmsKKzYwMTUwIGVkMzNkYTJlNzRlNzBlM2UxNGZhOTlmY2Y4ODAyOTc0ZTJkNjM1NDEgcHkzaworNjAxNTEgOTQxMWIxYjkxMjE4MTJiN2JlZjZlNzg4M2I5MzViNDRlZTEyMjk1MCBsZWdhY3ktdHJ1bmsKKzYwMTUyIGZhYmM2ODhhMDhjNjhmZmJiNWQxNmE1MzQ0ZmQwOTZlYjYzMDFmZDcgbGVnYWN5LXRydW5rCis2MDE1MyBhZDZhOWRiMWZmNDVjNTQyNzkyYWEzYmQ5NTBiYzZlNWE4YjNhNDYzIGxlZ2FjeS10cnVuaworNjAxNTQgZjZkNGEyYzQ5NTMxNTBlOGM2M2MwZTgwMmViMjRiNDljZDdkZmRhNiBsZWdhY3ktdHJ1bmsKKzYwMTU1IDhmMTVmOGRlNDIxODVhYWM0YWExZGZhZWE5MmE0MGRmNWMxODRmZjMgbGVnYWN5LXRydW5rCis2MDE1NiA4YWJkMzZmM2FiN2EzYWRjODI5Zjk0NTcxODhkYjRlNzg1MjM5NjI3IGxlZ2FjeS10cnVuaworNjAxNTcgMGFlNTlmNjA4YjQ0ZjljMTFlOGMwMzYxMGVjZmViNjU2M2Q1MWVjOCBsZWdhY3ktdHJ1bmsKKzYwMTU4IDE5OTBmYTZiOWU4Mjg3ZDgxMmE3MGFkOGMxOWY2NTc0MDYxNDNjMWQgbGVnYWN5LXRydW5rCis2MDE1OSA3OWYxNTA1Mzc1MWVkODc2ZGMyNjRiNDhmODUzZGViOWE2MDYyYzYzIGxlZ2FjeS10cnVuaworNjAxNjAgZGZmZjA0MTc1M2FhMThlMDYwNTk0Njc4ZjA0NTgxMmE0ZjhjNjZlMSByZWxlYXNlMjUtbWFpbnQKKzYwMTYxIDI3ZGFjMTY1NDFkOTA5MDg2NDI0MmU0NWQwNTUxN2M2NmNlMWQwOWUgbGVnYWN5LXRydW5rCis2MDE2MiBkOTYyMTQwNTQwNmJkZWQ1NTk0ZmZiOTZhNzNiMmI0ZGYwZTM5ODZhIGxlZ2FjeS10cnVuaworNjAxNjMgYTZiMTkwYjBjZjA2OGU3ZDI0Y2M3M2RkYjE3Mzg1ZTk3YzliODBiMSBsZWdhY3ktdHJ1bmsKKzYwMTY0IDQzMmM0YWUwZmQwNDZmZTkzZjQ1M2ExMTE5OGFjMDMxYmU4OTNmZTggbGVnYWN5LXRydW5rCis2MDE2NSAzMjQxMmZjZWIxYjM0YWQ2MzQyYWY3MTE1ZGZlNTFiZjVmMGI0NmFmIGxlZ2FjeS10cnVuaworNjAxNjYgNzI5NDk1ZjdiMjIxYTQ1ZTA4ZWU4NmQxMTEyNjQ0ZTJiZWFmMjdkMyBsZWdhY3ktdHJ1bmsKKzYwMTY3IGM2OWE3YjU1YWQ2YmZmYTU5ZmRmMTcyZDZkNWY5YTg4ZWY3MDM5ZjUgbGVnYWN5LXRydW5rCis2MDE2OCA4YTliM2IwYmU1NzM5YWFlOTYyZDgyZDUwYzIwM2ZjZmNjYWMwMGZmIGxlZ2FjeS10cnVuaworNjAxNjkgMWJlNGJiZDgzNGExNGNkMmZhYjVhMDYwZGM2MzExYjQxMjMzZDA5MiByZWxlYXNlMjUtbWFpbnQKKzYwMTcwIDdjNTRmNGEyZDQzODRlY2RhMjI0ZmQxZTAzMTEwZTUyZGRjNmU3NjkgbGVnYWN5LXRydW5rCis2MDE3MSAwYjQxYTkxY2QyNjFhMzUyN2I4ZjhlMWY1NDEyZDVlYTA2NjUzYmNiIHJlbGVhc2UyNS1tYWludAorNjAxNzIgZGYyMmU2MTgwZTY3YWM5MzU4OGJmNjRhODE1YTU0MzdjM2Y2MjJjNSBsZWdhY3ktdHJ1bmsKKzYwMTczIDI5NjQzZmJlMTE1MDcwNmE0OTJhM2NhOWU4NmI1NzAwNTA4MTlkN2IgbGVnYWN5LXRydW5rCis2MDE3NSBiNzZjNzhjZGEzYWJmZTFkNzI3NWIwYmM3Y2E0ZTZlMjIyMjQxN2U3IGxlZ2FjeS10cnVuaworNjAxNzYgZmViYTVkNWNhYzIyMWYwYmQ5MTNmZDk2ZWQzMjg1MjU3OTY1YTIyNCBweTNrCis2MDE3OCBjM2Q5ZTU3ZTcxZjJjMjM0MDE5M2Q2MmQwYjVhNWEwNDg1ODNkY2NlIGxlZ2FjeS10cnVuaworNjAxNzkgNWJlYTQ1OTJjZDdhMWI3MGUwN2Q4OTVkOGQ4YzBhMjNmNjg0ZTQ1MSBsZWdhY3ktdHJ1bmsKKzYwMTgwIDEwMWQ4NmExYWY4NTg4ZmRiNGFhNDY4ODFmZDEzN2IyYzNlZDJhNjMgbGVnYWN5LXRydW5rCis2MDE4MSBlYjRiNTBmNzM5ZjZlMWE1ZDlhNGVkNDJhOGYwNjRhZjZhMzhiYWZiIGxlZ2FjeS10cnVuaworNjAxODIgMzEwN2ZkYjkwODFlNTg0ZWU2N2I1YTVhMWY4ZjlhZmQ5MzUzYzUwYyBsZWdhY3ktdHJ1bmsKKzYwMTgzIDgxMDNmMDE5ODk2N2M5NjUzNzY4MTNkYjEzODZhNmZjOGYxNmY1NGQgcmVsZWFzZTI1LW1haW50Cis2MDE4NiA3MTFhZTBlOTljMDI3ZDVlN2Y4NWQyZDlmMzhiNzFmNThlMzI4OGE3IHJlbGVhc2UyNS1tYWludAorNjAxODcgZWE2MWU5ZWRkOTc5OWI4YTU2M2RiOWRlYjk4OTZmYzg5ZGQ3ZWY1MyBsZWdhY3ktdHJ1bmsKKzYwMTg4IDdmMmI1MjVmOWRmNDhjN2U4MDc1M2U5MjIxMTgwODA5YjZiMWJiY2UgbGVnYWN5LXRydW5rCis2MDE4OSBiNWU4MDlmOTI2ZGUxODdlYzFmYTg0OTk5ZTUxY2Y2NDllOWY4YjQxIGxlZ2FjeS10cnVuaworNjAxOTAgZmU3ZDQyMzQ3NGRlYWQ5YjZkMzJmNzk1ZWE2OGY5YjVmY2VmYmE3MyBsZWdhY3ktdHJ1bmsKKzYwMTkxIGZmYWNiNDQ2NzNlYWI3NmQ5M2E5YjMyZThkNGFjMjg2NGVlYjIwMTYgcmVsZWFzZTI1LW1haW50Cis2MDE5MyAxMmI2OTEwMTE1ZTBmZjI4NzRlOWQ5MDBiNzQ3NjI1NmFmZmM0ZTNmIGxlZ2FjeS10cnVuaworNjAxOTQgOWQ4Yzg3Nzg4OWMzYWQwYjVmYWQzOGY4ZTQ2MGE2MTZiMWQ3YzZiNCByZWxlYXNlMjUtbWFpbnQKKzYwMTk1IDAwYTY4NTk2ZTUwNjUwZDQxZDgzNDNlMDcyZTlmNzA0ZTJkMmZkZDEgdHJ1bmstbWF0aAorNjAxOTYgZTA1MDRhMWM1ZjlkNzJkNzE0NGIyYjU3ZjQ5N2RiN2E1NTZhYjJkYiB0cnVuay1tYXRoCis2MDE5NyBlNDNjMmFiNmE1N2M3Njk1ZTg4YTc0YjU5NTcwNTE3MWVjMWEzMGIzIHRydW5rLW1hdGgKKzYwMTk4IDA5MTgwNjM4MWNmOGQ2YzE1MTJiYjgwOGE3YWQwNTA0OGZhYmM2MjYgbGVnYWN5LXRydW5rCis2MDE5OSBjM2NlNTZjN2VjZDExYmFkMTU1ZTdjMmFhOTMwNTNmN2Y0MTFmOWNhIGxlZ2FjeS10cnVuaworNjAyMDEgN2NhMDdmZTAyOTU4ZDEzOGI1NzMxMDM3ZmJhNzliOTBiMzE5Mjk2MCBsZWdhY3ktdHJ1bmsKKzYwMjAyIGJiN2VlM2Q4OWMyZjYwNzY4MzkwNGE1NTNlM2Q5Y2JkOGNiYjVmOGYgbGVnYWN5LXRydW5rCis2MDIwMyA1NmYwZmJhZWI2N2ZkZmM4ZTRiNjcwYTE3YzE0ZjFiOGMwMTRmYmJhIGxlZ2FjeS10cnVuaworNjAyMDQgODY3YzBhYWQ3OWMxNmE3MWVlYjE1NzIyZjcwYWQ1NmEyNDc2YTQwOSBsZWdhY3ktdHJ1bmsKKzYwMjA1IGMzZWQ2ZGE3YTE0Njg0NmMwM2NjYTVmNTg3MzM0OTVmYjgxZGFhZTUgbGVnYWN5LXRydW5rCis2MDIwNiA1Mjk4YWJiZGQ5MWNjZWM2ODM2N2M2NmI0YWZlN2JjMDgwNDgwNDk0IHB5M2sKKzYwMjA3IDZiZDQ4NDliNTQ1OGRlNTUwMGQzMDUyYWQ0YmY5ZjRmMDM4MTIyNjYgbGVnYWN5LXRydW5rCis2MDIwOCBkZjgwYzZiNjA2YTQ4NmNlNTBkOTg2ZjY2NzRhNzE3YmE4ZDg4MmQ5IGxlZ2FjeS10cnVuaworNjAyMDkgZDYyYzEyNmZlNTZhMmQ2NDMxN2I2NzUzMDlmMmQzYWNlNzA4ZjJlZSByZWxlYXNlMjUtbWFpbnQKKzYwMjEwIGZlZmFhMGU2NmZkZDBlMzUxMjEzZmJhYjA5MjkxNDFlZThiMTg4ZDcgcHkzaworNjAyMTEgZWI1OTEwMDkyZjU5YmJiNzVkYjZmMzgxMTU0MTFjYmFmM2NiOGViMSB0cnVuay1tYXRoCis2MDIxMiBjNGI5OGJjMTBiZTdlMTE2MGU1MWI5NjZkYzk5ZjhlMGU2MWUyNmM1IHRydW5rLW1hdGgKKzYwMjEzIDJlMTUxMzc2OTQxZjhiNWJiNjk2NWJiYjg3NDVkZjk2OGM3NmU2ZTYgbGVnYWN5LXRydW5rCis2MDIxNCBkZmQyMTc5M2E1YjU3NTExNjllZmU4NmMyMGRiZTljYThjZTIxNmE5IGxlZ2FjeS10cnVuaworNjAyMTUgZGZiNmYzNjdhNDA2YmJhZTllNGU4ZjY2Njk0MzA2MDZiZTBiNTRjNCByZWxlYXNlMjUtbWFpbnQKKzYwMjE2IDlhMTIxMWM3N2UwMjhiM2FiY2IzODMwYThiZDIyZDVmYmQyMGJlODUgbGVnYWN5LXRydW5rCis2MDIxNyA2OTU4MmJiMTExNGMzNmJkZmU0MzQzMjE2NzM3MWZjY2M2MzQ4MzYzIHRydW5rLW1hdGgKKzYwMjE4IGE0MDIyOWFkZmEyY2NkOGQ1MzE1OTdiODg5ZDhkYjE2MGFmZjdiNWYgdHJ1bmstbWF0aAorNjAyMTkgYjI4NTRlOTc0Y2E5NjcwZjYwYmNkYTFkYTBhOGY2YjZhMWQwMjMzOCB0cnVuay1tYXRoCis2MDIyMCBiY2NjNzY4MmM2ZDRiYTRhNTJkMmQ2NGRmYTkwZGQyN2ZmMTdiYmFjIHB5M2sKKzYwMjIxIDAwNTkyMWZjZmY0M2FkYmM4OTNiY2U3Nzc3NWY2Y2IyNWRjZGRkMTcgbGVnYWN5LXRydW5rCis2MDIyMiAxNDhjODdhNjY3YzIwMWQwNmYxYjc5MjIyZjA2MTYxN2Q1OWQxYTZmIHJlbGVhc2UyNS1tYWludAorNjAyMjMgZmRkNzRiZGVlZTE1YmQ0N2MzNzc5YmM4NTk1Y2Q0YzllZmM1NzZkNCByZWxlYXNlMjUtbWFpbnQKKzYwMjI0IDRjODMwOGFjMjBjZGQ5ZGRjMzFhZmIxZGQ5YmUyNzMyZjYwY2I4ZDcgbGVnYWN5LXRydW5rCis2MDIyNSBiOTM0ZDJlZTYzZjYzOWJkYzViY2I5ZTYxNjJlNjZmZTc5ZTljYzBjIGxlZ2FjeS10cnVuaworNjAyMjYgNzMzMzM1YjIyZjhmZDc4YTMwZmEyNGI1Mzc4Yzk2NmRkMjMwN2RiYyBsZWdhY3ktdHJ1bmsKKzYwMjI3IGQ5YTYwNzUyNTU4ZWY3ZDg0ZDI5MjQwZTEyMGU5OTExNDM5NTQ2NzcgbGVnYWN5LXRydW5rCis2MDIyOCA5NWE0ODczNTE3NDA4MGFlNTc4MjI3YTVmNzAwN2U0NmE4YTYwOWZkIGxlZ2FjeS10cnVuaworNjAyMjkgY2RjNGFlY2VkZDRjODVjZWY2ODRlMDFlMjgxZGViM2FlMDRjZmZkNSBsZWdhY3ktdHJ1bmsKKzYwMjMwIGNjNzNhOGQxOTM4YjQyZWM0YjlmZTcxZGQyZGQwYTU4ZjliMzIyMGQgbGVnYWN5LXRydW5rCis2MDIzMSAwMTJmNTE2ZDRkMjJmMzhlYmUwMjllMzllZTIxNjA1MThlODY2ZDFkIGxlZ2FjeS10cnVuaworNjAyMzIgZmVkOGMzNmQ4NzE1MGMzNzAxMmQzY2UzMDI0MjUwY2NmOWFhOWYyYyBsZWdhY3ktdHJ1bmsKKzYwMjMzIDIyYTlkOTc1N2ExNjk3Yjc5MjNjZTM3OTg1M2ExODA5NDMxODkyNTkgbGVnYWN5LXRydW5rCis2MDIzNCAwNjNlZDM3N2ZkM2Q2MmY0ZjEzNTcxNDBhYzAwNjE0M2FlNzVkZmI2IGxlZ2FjeS10cnVuaworNjAyMzUgYzBmMDQ4MzU2YzM2Yzg5MDJlMWEyODYyZmQ1NTYzOWNjNDhkNGI0MCBweTNrCis2MDIzNiBlMjJhOTJlZWM2NjIwMDY3NzVjYmNmOWFjZTY5MjBkZjg1NDgyMzNiIHB5M2sKKzYwMjM3IGYzYTlhZDQ0OGNjYWQxOWViMzcyNWYwZDkyYTI3NDQxNWY1NmQzNTYgbGVnYWN5LXRydW5rCis2MDIzOCA0MzcxNzIwOTNhMjNhMjQyMTA2YTMwOGFiM2FhYWZkM2RkNTdkYjg1IGxlZ2FjeS10cnVuaworNjAyMzkgY2JhMzA4NGIyN2U3MjY5MDY0OTQzYzdhZDJjOTc3Y2M0NWVlMWI4YSBsZWdhY3ktdHJ1bmsKKzYwMjQwIDk5OWE1ZWU5Y2QyYzNhMWY3NTEwMTU5ZjU0OWZlMmNiODZlNzhjMWUgbGVnYWN5LXRydW5rCis2MDI0MSA5NDhiYmEwZTI0N2I4OTU5MjlhYzJjZGE1YjNkYzNiMmE0MmJlNTNkIHJlbGVhc2UyNS1tYWludAorNjAyNDIgZDhhYjMyODIwYjE3ZGI1YmFjMTY2MTFlNjRhZGNjN2E1ZWJiN2JkMiByZWxlYXNlMjUtbWFpbnQKKzYwMjQzIGYyZGE3ZmNmM2EyNDRhMjA5MGRmYzkzNDk4YWRhMzRkZGRjZjVkOTIgbGVnYWN5LXRydW5rCis2MDI0NCA3ZmEzYWU5YmEwMzFkYWY2ODlhMjYyYTQ0OTIwNWUwOTYwMTliNTE2IHRydW5rLW1hdGgKKzYwMjQ1IGMzM2YyNzc5YTkzODYwNGMyOTFmY2NjMzEwMjRkMjBiMjBjNTUxMmEgcHkzaworNjAyNDYgZWJiYjdiYjAwMzNiYzM0Yzg3ZDI2YzI3YTg1ZjBiZjU4OGY0MjkzNCBsZWdhY3ktdHJ1bmsKKzYwMjQ3IGRiNjI0YjFiYTA2ZGU5YjVjODk3YWY1NjIwMzRiNTQ5OGU1NjYxY2QgcmVsZWFzZTI1LW1haW50Cis2MDI0OCAyOWZmOTA2NmRkMGM4M2RkZjQ1MGI3YjRmMDYyNmUwYWNkNzRkYWYxIGxlZ2FjeS10cnVuaworNjAyNDkgNjg1ZTk2ZDIwODgxYmFkNmRiMzQ0ZTVhMTRmMDE0NzA2NmNlYThlNSBsZWdhY3ktdHJ1bmsKKzYwMjUwIDhiZDVmMGRiN2Y1ZDEwNzBhMmQ0YzAwNGMwNDhiZDE0NjA3N2JlOTkgbGVnYWN5LXRydW5rCis2MDI1MSBhOGI3NTAyMTBiNzk5MDkxZThiMzI4MDMwYjY5MTZhNmEyNGQyODg1IHJlbGVhc2UyNS1tYWludAorNjAyNTIgNmVmM2JlNDdhNDRlN2U0NmMxZmExZjBjZjMyYzdmMDE4M2IyNzJkYyBsZWdhY3ktdHJ1bmsKKzYwMjUzIGQxNmRlNjI1MmY3ZmE0MzhlZjRmNjRhZjc4ZjNkYjVmODQ3MWYyYmIgbGVnYWN5LXRydW5rCis2MDI1NCBlOGVmYTYyZWVjMTU3ZDBmMjVkODdmYmI1NmVkZDEzMzZiY2JhYWY2IGxlZ2FjeS10cnVuaworNjAyNTUgYThjNzQxMjUzNzZkNjUxOTQ0NmY1OTQ3MTJlZGE0NTEzNzAxN2U1NiBsZWdhY3ktdHJ1bmsKKzYwMjU2IGY0YTZjMzIzNTAwYmVlMDU1MjA2ZGEwMTNmZGE2NTFmMmNlZTFlZDggbGVnYWN5LXRydW5rCis2MDI2MSBhNmYwZTRiZmMyZGQ3MGZlYjQyYjhjOGIyNWYwMWEwODc5ZDU5MjMzIHB5M2stY3R5cGVzLXBlcDMxMTgKKzYwMjYyIDdlM2FmZTkwNjQ0OTViMmIwZmViOGFhNWU0ZTVhN2NmMjMyZjAyYzEgcHkzay1jdHlwZXMtcGVwMzExOAorNjAyNjMgM2Y2MWI2NjQzYjdlZWExZGRhNTdhNzc3NTM3ZDM1YTYzZjFhZjI2ZiBsZWdhY3ktdHJ1bmsKKzYwMjY0IDc1N2E3ZjMxZTQ2MDkyYzA4YzQ2ZGRkODcwNDI2OGYwNzRlMmJlZGYgbGVnYWN5LXRydW5rCis2MDI2NSA2OWM1NzAzZDIwZmI0MTA5MzRhMWUzMGQ5Y2I2M2ZlYmMzZGE2MDI1IGxlZ2FjeS10cnVuaworNjAyNjYgZWJkYmU4ZGY2MmIwMzk4NTM0ZTkzNTUxY2I1ODcxMGFmNjdlNTdhZSBsZWdhY3ktdHJ1bmsKKzYwMjY3IDQyNjhiNzdmOGU1NjdkMGMwMzZiMzM1ODUwZjQ0MDExODQ2NDZmYmYgcHkzaworNjAyNjggNzQyYTI2NGNjZTRmYWIzNzgyZjcxMTM4OTg5NzA0ZGI4NzdmZGUwOSByZWxlYXNlMjUtbWFpbnQKKzYwMjY5IGNlMTU5ZDAxZWUzMjJhNzcxYWM3MzU2ZmMxMzEwZTBiZDQ3NDRiMmMgbGVnYWN5LXRydW5rCis2MDI3MCA2ZGEwZWVhMzY3ODNhOTMwODkxZTNiYWM3OGIxNDRlZmQ0NDRiOWZlIGxlZ2FjeS10cnVuaworNjAyNzEgM2JkMTljOGFmMmIxMWQxZjEzY2QxMDUwNTNmMjBkYmY2ZWI0MjgxYyBsZWdhY3ktdHJ1bmsKKzYwMjcyIGZhZTU0NTkxYzAzNTY1ODYxMTc1NjZmYzI2NjE0ZTcyZTYyZWE1NWUgbGVnYWN5LXRydW5rCis2MDI3MyA4NDQyMDMyMDlmYjA2ZWNiZTg1MzRhZTU5YWMyYWMxYjgxNTQwY2RkIGxlZ2FjeS10cnVuaworNjAyNzQgNTQ1NThlMDI5YzJkYTQyMGM1Y2E2ZjJkMWNmYmNkOWNkYzAyMTNlMiBsZWdhY3ktdHJ1bmsKKzYwMjc1IDkzNGE1OWQ1MjU0MzE0ZDM3M2ZkY2MzY2EyODljNjdiN2VmMTg2MTEgcmVsZWFzZTI1LW1haW50Cis2MDI3NiA5OTcyY2NjZjZhMzNmNDQ5YTU5ODkyNWQ3NzgzMzdiNzEyNWEzODRiIGxlZ2FjeS10cnVuaworNjAyNzcgMTIwOTkxNDM3MjRmMzRjY2NkOWE2MmFmMGNmOGEyMTViMWRmYjFmNCBsZWdhY3ktdHJ1bmsKKzYwMjc4IDA4ZWIxYzQxMTExMzkxZGJiMWNkZjFmNjNlM2JmNzdmMWM4YTE1OGEgcHkzay1jdHlwZXMtcGVwMzExOAorNjAyNzkgNTNlN2JjZmI1NGE0NWY1ZmQxY2IxNmUyNTNhZjQzNWMyN2JlYmEzMiBweTNrCis2MDI4MCBhYTgzODk1OGU1NGFiMTM4OGU0ZDljZDg3Mzk5Njc0ODUyM2NkMTRhIHB5M2sKKzYwMjgxIDY1NDdiZTExZjQ0Mzg1ZmM4MGYzMGY5ZjMxN2MyYzY2NzQ0ZTQ1NzggcHkzaworNjAyODIgOGJjYThlYjM2ZTM3ZjUxODlkMDk1MzcxYmU3ZWFmZGQ5MzEyZjFhOCBweTNrCis2MDI4MyBiYmM3MTlhOGI1OGJmNmQ5YzRiN2ExZmUzM2RjYTA1ODBjZTRjYzA5IGxlZ2FjeS10cnVuaworNjAyODQgMDVmMDFkZDc1OGExYmRmZmQ5ZmMzMDdhODljNDY0OWViNTliNjM3MiBweTNrCis2MDI4NSAzYTQ0MmEwMDlhODNlNTg2ODY4ZDQ2YTBiOWMwOTBlOTNmYzM5Nzc4IHB5M2stY3R5cGVzLXBlcDMxMTgKKzYwMjg2IDhlNDM1YmRkNGJjODk2NmFhMzlhZWVkMTlhMDY3NGI2NWUwMDc4MzkgbGVnYWN5LXRydW5rCis2MDI4NyAxYmU5M2RkMTc5ZGY3YTkwMmM0OWI0NmM0MzhhOTE2NDRlNTg0NTUyIGxlZ2FjeS10cnVuaworNjAyODggZGNjZWFlZmE2N2ZkOGU1ODJlNWNlMTRlOTZhZGQ0MTA1ZWUwNWQwZSBweTNrLWN0eXBlcy1wZXAzMTE4Cis2MDI4OSAyN2QyMjdhODdhNzM3YmJkMTEyZjVlZjk4ZjFhZjQzYzE1OGFhMGViIHB5M2stY3R5cGVzLXBlcDMxMTgKKzYwMjkwIGVmNDJiZDdmY2JjODNlMzkwMmQ4M2ExZDBkMDBlNGJjY2VjNzUyMTggcHkzay1jdHlwZXMtcGVwMzExOAorNjAyOTEgZGRiMWU0OTlhMDFmODE2M2RlMTMzYWVmOTc3MjZiOTg4ZTBjODJiYSBsZWdhY3ktdHJ1bmsKKzYwMjkyIDNjNTdhNTFmNzM5NGY4NzUzMjhkMzk3MGUwOTM0OTkzNjcxNWUyYjggcHkzay1jdHlwZXMtcGVwMzExOAorNjAyOTMgZDhlODgzNThmNmMyNDA4MjhiOTZjYzZjMzI1MTM4NjE2NmIwZjY5ZSBweTNrLWN0eXBlcy1wZXAzMTE4Cis2MDI5NCA0MjQ0OWY2ODI4ODViYTA2ZWY3ZjVhMGZkM2NjYmQ4Njk1ZDRkODI3IHJlbGVhc2UyNS1tYWludAorNjAyOTUgNTk1MGQ4ZGU4MTM0YjU0OWVmODJhYTY5MTFlMzBmNzlkYzM5ZGQwYyBweTNrLWN0eXBlcy1wZXAzMTE4Cis2MDI5NiBiNTQ3NDZlMmE4ODBiZDM1OGFiZGQ0MDk0NWY0NWY3NDk2NTMzMzBmIGxlZ2FjeS10cnVuaworNjAyOTcgOTQ2N2VhMjAwNDZjMzFkOGNkN2I3NTA1ZTE0MWE0MGE4NDUwNTA5MSByZWxlYXNlMjUtbWFpbnQKKzYwMjk4IDFmNGIxYmFiYjllMDdiMWMzZGE1ZmU3YjIyNjZhMjRhZjA4MDY4NWUgcHkzay1jdHlwZXMtcGVwMzExOAorNjAyOTkgZWExZDQ3YzdhNDY3NDdiMTVhM2MwNjc1OWNhZWQ1N2I2MjA5MWZmZiBweTNrLWN0eXBlcy1wZXAzMTE4Cis2MDMwMCA4OTEwNTBhNmE1YzkwMTcyNzc0ZmVjM2UzYmVjZWJjOTdjOTI3ZTc0IHJlbGVhc2UyNS1tYWludAorNjAzMDEgZmI2OGU0NDU4N2VhMjU5ZDUyMjAyMGFlZjE0ZmMzNjkzYTg4YjE3ZiBsZWdhY3ktdHJ1bmsKKzYwMzAyIDk2ZjVkY2I0ODBhNjAyZjlkZTUzY2Q5ZDIzZWUzN2Y2NDgwZTYxZTkgcHkzaworNjAzMDMgODUxMDMwMTYyZDcyODM0ZjA4YWViOTMwYjViYTQ0YTg5N2UyNjM0ZCBsZWdhY3ktdHJ1bmsKKzYwMzA1IDY2NmNlYjY3OTlhNzgxNTcxZTVkZDM5ODk2OTJjMGRjYWYyZTRlYjkgbGVnYWN5LXRydW5rCis2MDMwNiA2YWUyMjAzMGUxNTI1NzZlZjY4YzZhMGEyYjEzOWI0M2FmOTg1YjNhIGxlZ2FjeS10cnVuaworNjAzMDcgZDM0N2MxZjljMzhhZDY1OGI5YTdhY2M3YzJjN2RmODA5NTcwN2NkNyBsZWdhY3ktdHJ1bmsKKzYwMzA4IGM2ZTVjNjA0ZWE2MWRlZTJjYTJhNmVhYzJiM2M3Y2NlNzJlNjJjZGEgbGVnYWN5LXRydW5rCis2MDMwOSBiZTQ0ZmFlZDU0MmQ3ZmQwOGY2MWU0OGUyZTRhNDM1NzI1YjNlN2I1IGxlZ2FjeS10cnVuaworNjAzMTAgMGYwOTNlOGIyZjUzMWI0YjE0ZmVjOWI1NGM0MWI4Y2E5MjkwYzRlZSBsZWdhY3ktdHJ1bmsKKzYwMzExIDMwN2Q0MTA5ZTIzZWE1ZmRlYTBhYzJiNDMzYWQ1ODk0YWNjNjYyNmQgbGVnYWN5LXRydW5rCis2MDMxMiAzMTI0Y2M1Yjk3M2YxN2M0ODk3MDdmOTA4Mzk5MWYxZDVjYjYyMDgzIGxlZ2FjeS10cnVuaworNjAzMTMgYjcwNDg1MDExMjE0NTM4ZjNlOGMxMzcwYTg0YTdjOGVkNmE0MmU0MCBweTNrCis2MDMxNCAzN2Q3NjI5NzVhOTUzZGUxY2M2ZTU4ZTBlNzE5MWE4MDg5YTExNmMwIGxlZ2FjeS10cnVuaworNjAzMTUgMjIxZGVjMDNlMjYxMjU3YmI0NzY3YjM3MzM2ZTkyMTFhY2Y4YWVhMSBweTNrCis2MDMxNiBhZWRiN2FjMjYyN2VlNDI1MWYzZmQ2YWJiODE1MDZjMDA4NDg5YWQ3IGxlZ2FjeS10cnVuaworNjAzMTcgNDdiYjMxZDA2NTc3MmQxMDA3YTU0YWI1YTFkNmNjZWZkZDYxZjY2NSBsZWdhY3ktdHJ1bmsKKzYwMzE4IDY0ZDEzZjQ1NmQwNmJhY2YzZTkwMzQwOWVlNDIxNDdkYWEyMjI3YWUgcHkzaworNjAzMTkgODQzMTYxN2YyMGUyYTk1YWJkNjE4OTkzZjhkZjI0NWUyODhjZjM0YyBsZWdhY3ktdHJ1bmsKKzYwMzIwIGFhYjVjOGU4ZjM4ZGMwMzM5ZDIzMDhhZWI1NWFiZmUwZTE2ODY5YmIgbGVnYWN5LXRydW5rCis2MDMyMSBhYWE1YTc5NGY4ODdlMjFkMWNmYjY0YWY3OWEzOWQ1MjE3NDUyMWRlIGxlZ2FjeS10cnVuaworNjAzMjIgNWUwYjQ2MGYyOTRhNWM3Y2MxZTFhZGM4MWFkNzQ3MmU0MTVhMmNhMCBsZWdhY3ktdHJ1bmsKKzYwMzIzIGE3NTBhMjZiNWZhZGE2MmU2YTBlZDk5YTk2YmJkZTIwNDNmOTIyZTMgcmVsZWFzZTI1LW1haW50Cis2MDMyNCA1MWJiN2IxYWU3NjU5MTA1ODgzNmYxNjg3YmIwM2Y5ZmVkYjA0NjlmIGxlZ2FjeS10cnVuaworNjAzMjUgZGYyM2Q1MjQ5NTUwZDdmNzg4ODdmZWIwNzZlNjI3NWYwZjZkZDdhOSBsZWdhY3ktdHJ1bmsKKzYwMzI2IDY5OWIzNzE3MGNhZGM2YjAxOTRjZmE0YzM2M2ZmNWY1OWQxNjAwY2IgbGVnYWN5LXRydW5rCis2MDMyNyBjYjU4MzlkMTMyMjYxNmEwMTQ5Nzg4Mzc4YTJkODZlNGZmY2M1OTI3IGxlZ2FjeS10cnVuaworNjAzMjggOGNiY2E5MWUzMTU0OTcwYmI0NzU2ZDI4ZjI1YWVlOGQ0MTlhOTZiZCBweTNrCis2MDMyOSBmYmI5YWU5YTUxNGZlYmE5MGNhYzcyOWJiM2NkOTkyN2Q1NGQyMzMyIGxlZ2FjeS10cnVuaworNjAzMzAgNWQ3ODJjOGQ0MDE2NjhjYjkzZDYxOWM0ZDg0Njk3MTY3ZDQ1MDMxYSBsZWdhY3ktdHJ1bmsKKzYwMzMxIGRjYTNmNjQ2ZThhMWZiNTlmZjI4YWM2Njc4YjQxOTQyYWZlZjA0ZjkgbGVnYWN5LXRydW5rCis2MDMzMiBmM2I1ODQ4NDNmOWZiZGM5YzU0YWI1MTQ1NmU2ZmM3ZTA3NGRhMGZjIHB5M2sKKzYwMzMzIDk2MmM0OTFlMTdkNmNhOGM2ODAzYjAyZDBhMjcxZDA3ZGVhYjkyNDAgcHkzaworNjAzMzQgNWY5ODQ0NmUwZjFiYjdiNzU2MjRiYzU3MDI5NWU1YmYxZmE0ZGMwMCBsZWdhY3ktdHJ1bmsKKzYwMzM1IDUwZjJkN2JkYWJjOWE0NmM3MDljMTE4NmIxMWJjY2IxMzc4MzU2YzUgbGVnYWN5LXRydW5rCis2MDMzNiA5MDkzOTA4YTBjZjVkNGMyY2Y2N2Q2M2Y5YTI2YTk5YTlkODU4OTkyIHJlbGVhc2UyNS1tYWludAorNjAzMzcgZTMzNjI1ODk1NTUwMjYxN2I1ODMyOWM3ZmEwNzBiNGU3NzkyMTVkMCByZWxlYXNlMjUtbWFpbnQKKzYwMzM4IDViMTdiNDRiZTFiZjg3OGQ2OTFlZWNmOWYzMmM5NmU4ZTQyYmNkYjUgbGVnYWN5LXRydW5rCis2MDMzOSA2MzVhNzU2MzYwZjE4YzlhMTE1Y2NiZTI1NjRhNzYzNmRjYzYxMjQ0IHRydW5rLW1hdGgKKzYwMzQwIDcyYTY3MjdiZWQ5YzllMTRmM2U1NTQ2MDNhZGE3NDIyOTBjZTg4YWUgdHJ1bmstbWF0aAorNjAzNDEgNmFkYmQ2MmI5YWJmYTBlMzBiNTk3ZDdjZTExMGQ5ZTEyNDNiNmJlYSB0cnVuay1tYXRoCis2MDM0MiAyY2EyYjA4NDBiMzVkMzg0NWQ4MGJkNzc4NjM1YTA2NWQzNjZhNjQ5IGxlZ2FjeS10cnVuaworNjAzNDMgMjBiZjk0Mjg1ZWVmZTg2ODY1YzE0NDkyZmMwZGZmMDc3YzBmMzUxZSByZWxlYXNlMjUtbWFpbnQKKzYwMzQ0IDRkZDBmY2YzZGFmNzNlMjZmMDNjMmI4YjdlZDExODhlMTY5MTE1ODEgbGVnYWN5LXRydW5rCis2MDM0NSBmZjU4YjMwYThkNTI4NzFkNmNmMDU0MmNmN2VhMWE3MDRkOGExNGViIGxlZ2FjeS10cnVuaworNjAzNDYgNmJiZjZmZGMxNTJiOWU0MmVkYmYxMWE2MDVjMjE2MjMxOTk4MWU2MiBsZWdhY3ktdHJ1bmsKKzYwMzQ3IDQ2N2M3MWYzNjVmZGViNGY2OThlYzQ3MjEzNGFiODRiNzE5ODRmY2QgbGVnYWN5LXRydW5rCis2MDM0OCBmMDE4MTNiMzNjYTRiY2RmYjRjZTEzNTVlN2QzYjFlYTA5ODhlYTA4IGxlZ2FjeS10cnVuaworNjAzNDkgNjJmMGJhNzQ1MzU3ZjA1OWJlYzZkZGQzYTQyNTdiMjgyOGZhYzdjYiBsZWdhY3ktdHJ1bmsKKzYwMzUwIDdjMDIxODJlMjk3OWEyMmVlNzU4Y2EwMmYyNWY4ODJiMmI4NDBkNDggcHkzaworNjAzNTEgOWI3NGM5YzhiOTJjNzlmYmY5MDRmNDY3NmU3M2NkYThkYzM2ZjBkNyBweTNrCis2MDM1MiBmNWU1MmE1M2ZjZDE0ODM0ZjYzNzJiNmNlMWI2ZWFkOTg5MTNiMjA4IHB5M2sKKzYwMzUzIGVlMjQzY2E2NWY1ZjU0NjhiZDA5NjM5YzgwNzA0MmZmM2VjZGY2MmUgcHkzaworNjAzNTQgZjE1ZDNiZjRjYTU2YTEyZDFiMDZjNjI2MWI1MzBmZjE4MDQ1N2I0YyBweTNrCis2MDM1NSBlMjI0YWQ0YjhiOGNhZTMxNmZkYTA0YTI1OTc1M2FlYTJlNmEwNTU2IGxlZ2FjeS10cnVuaworNjAzNTYgNzA3ZGQ5ZjM4NGYzODk2MjRiMjBmMjEwYmFiOWI5YjQ3NTEwNjg3YyBsZWdhY3ktdHJ1bmsKKzYwMzU3IGZjZmExMzE5OWVjYmRhMjllZDk1OTFkNTJhZDc1ODhjOGJiM2ExNzYgbGVnYWN5LXRydW5rCis2MDM1OCAxZDcxYmY0NzVhODVmM2FjNjY3ZWY3ZTMwNTNkZWJhZTUxMWQ4NWJkIGxlZ2FjeS10cnVuaworNjAzNTkgMmU0ZGQzOWJmNjkwNTYzMjY5ZjUxNWU3NzQwNjE0NWUyNGY5YTljMCBsZWdhY3ktdHJ1bmsKKzYwMzYwIDYwNGFhYzQzMzdhNWM1YjEzNGFhOTVjNTFjNmJiYjM3MzQ3ZTUxNGEgbGVnYWN5LXRydW5rCis2MDM2MSBjMzE1YjY3MjQ1ZjdkNTRiMDMwYTUzZTI0ZDA1MDRkNDdkZGNjZjRkIGxlZ2FjeS10cnVuaworNjAzNjIgYTNkNTcwMGIxZDVhM2UwNjA3MDc3YjVjZmU0MTY1MjJiZTNmNjRiMiBsZWdhY3ktdHJ1bmsKKzYwMzYzIDFmZjJiYjUxODdkZmY5MmE1NDIzZmZjOTEzY2I5YTJkNTc1OTI0MTYgbGVnYWN5LXRydW5rCis2MDM2NCA4NWNjYzdjMTU0MjVkZTgyNzhhZDQzMzI5ZjJmMmJmNDA5OTE0OTA3IGxlZ2FjeS10cnVuaworNjAzNjUgYjA2NGUyNWZiODQyMzQxOWY3Nzk5ZTNlY2FlMzVkOTU0ZjhiNjBjYyBsZWdhY3ktdHJ1bmsKKzYwMzY2IDU2MWMwNjVlM2YyZDVmZThlZmEzYzU2NDkyZTM1YWYxY2VlNTdmOGUgcHkzaworNjAzNjcgMGE3MGY1YjMwYjhhYzE4N2E0Nzk3OTQ2NWZlNDJmNDJiYTEzMmU4MCBsZWdhY3ktdHJ1bmsKKzYwMzY4IDIyOTQ1ZGJjZDAzMDFmODY3N2JmNDBlMTI4OTE5NzM2YjBmMTE2YzMgdHJ1bmstbWF0aAorNjAzNjkgNDcyNWM4NGIwNDIyNzliOTU2OTJkMzJkMTYxNmNlZmYyMGY1YjliZCBweTNrCis2MDM3MCBmN2QyMzYwZTk1M2RlN2NlOWQ3MzljZTgyNmM3ZmJjMzQ5MDFiZmY5IGxlZ2FjeS10cnVuaworNjAzNzEgYWZhNTk5MzIyNGU1NTYzMDY0ZWFhY2MxM2YwMmY5YjY4ZWI3NjYyZiByZWxlYXNlMjUtbWFpbnQKKzYwMzcyIGJlMzE0MGVjNjdjOGY2MzA4ZjQ4N2EwYjNlNmNiMzRmNTg2MTlhNDUgbGVnYWN5LXRydW5rCis2MDM3MyA3OWY0MzlkOTlmOGMzYjhiMTkwNjc1N2VkYmMzMTNkNTNlYzVkNDlkIHJlbGVhc2UyNS1tYWludAorNjAzNzUgNjk1ZTViZjNhZjljMDU2OTIxNGZjY2QzN2FlMjVmNjcwMGRmY2JlZiBsZWdhY3ktdHJ1bmsKKzYwMzc2IDcyN2NjODEwZDY5MGJjZTg4NDY2NDM3MjFkNmM4N2YxMTFlZDVhNjEgcHkzaworNjAzNzcgZjA2MmRkYTU0ODk0ZjI0MGY5OGEwNDg1NGYwNzYwMzRkMzI2NGRlMSBsZWdhY3ktdHJ1bmsKKzYwMzc4IGVhM2ZlMzAyZDM5MjA2NDBmYzYyODg3NTA2YjVhOWE2M2ZhZjFkZDQgbGVnYWN5LXRydW5rCis2MDM3OSBlYmZiYWExMDUxZTJkMGQ3OGQ2Y2RkMjE5YjU1OTAxMTU1Yjc4Yjg5IHB5M2sKKzYwMzgwIDUyMzJmMDdkOWM4ZTNkYjM4OTI0ODRiMjdmMWZlY2UyN2U3YWI0YWIgcmVsZWFzZTI1LW1haW50Cis2MDM4MSAxYzlhYzAwYzQ3NTg3OTYxNWJjNzFjMWUzYzAxN2M3OTM3ODc2ZWQyIGxlZ2FjeS10cnVuaworNjAzODIgNDNjYWY4MThjZmYwNzI5MWMyODUzN2Y2ZDQxYzdkZmVhZjQ5N2JlOCB0cnVuay1tYXRoCis2MDM4MyBlZjJkM2JmODM4M2RjYmIyNTZlN2E3YTg2YTQ3Mjc3NjBkMjRmMjUzIHB5M2sKKzYwMzg0IGYwN2U2ZjMyOTc1NTNlN2M1ODRhODNjN2ZlNzQwNWZkNTU4MTM5NWUgcHkzay1jdHlwZXMtcGVwMzExOAorNjAzODUgZTYxNGQyNDhiZGQxMDE1N2JmZjc3ZTRiNTBkYzVjZDM4OTU2NWI3ZSBweTNrLWN0eXBlcy1wZXAzMTE4Cis2MDM4NyA1ODNhY2UxMmM1Y2YxMzFjMGU0NjlhYWZmMWY0MWYzN2FjOWZjYTk1IHJlbGVhc2UyNS1tYWludAorNjAzODggMTVmNWI3MzFlMDBiMzgxNWEzNmEyYmJkODFlZDZkZjUzNjQwZWRmMCBsZWdhY3ktdHJ1bmsKKzYwMzkwIGEyOGQwYjE0Yjc3ZGVlZjQ1YzNhN2I4YTBmNTRmZGZjM2RiMDllYjEgcHkzaworNjAzOTEgMmMzZDQ5N2ViZmQ2ZGJhYWZjMjc4MDY0YWRhM2Y2NmNmNWI4ZmI1NiB0cnVuay1tYXRoCis2MDM5MiA5NGYxOGMyZGVhYTVkYWFiZTJiMjIxZGFmNWZlMjc2YjU4YjM2OWIxIHRydW5rLW1hdGgKKzYwMzkzIDBkYTJlZjlmZWRjMDMyZjA5N2JhZTZhZjA0NWQwNmZiODcxMmJjYzAgdHJ1bmstbWF0aAorNjAzOTQgNmFjN2QyZTlhM2JjNDAyNTA3MTI4OGIyZjY3MmRjYmMwNjA2M2U1ZSBweTNrCis2MDM5NiBhYjY3MjYwNzM3YjFjODZlMTMxZGFlNTNhNmU3MGQ2NzI3ZTk0ZjNiIHB5M2sKKzYwMzk3IDE1ZThiMzQyNTRlY2ZiNWY3ODg1MWMzZDZkNDNkNGI3ZjUwMWNhMjIgbGVnYWN5LXRydW5rCis2MDM5OCAxZTU4M2ViNzFiM2ZiMzYxOTc5ODk4YmM2Nzg5NDBiNTJhMWVjZjA0IGxlZ2FjeS10cnVuaworNjAzOTkgNzdkMDUyY2UxZjRjN2M1ZDM1MDRjN2MxOTllNGJlZmU1ZDEyYjJmZiBsZWdhY3ktdHJ1bmsKKzYwNDAwIDc1NjQxM2MwZmYxZDlhYTg3ZTQ1MTE5MWNhNjNjMWRlODNiYWI1YTcgbGVnYWN5LXRydW5rCis2MDQwMSA3YTZhODBlODRhOGEwMDZlNDY5N2YzZTIzMDI4NDU2ODFlODU2MTk2IGxlZ2FjeS10cnVuaworNjA0MDIgZGM0NmE2N2E3YjdiNzBkMDExN2IzZjUzZjI5MTIzOTNiMDZmNGNjZCB0cnVuay1tYXRoCis2MDQwMyBiZDI0NmYzMzY4N2Y3NTc1YzQ5ZDZlMDMzZGQxN2MyMjBhYmE4ZTFjIGxlZ2FjeS10cnVuaworNjA0MDQgNTQ2NzNmNzI0MTA2ZWIxZmU2ZTFmZDgzMDg0NTFjZDJmMjA5MWYxNCB0cnVuay1tYXRoCis2MDQwNSBlZmVhNDIxN2E5NTQzM2NlMzBjZGEzZGM0YTgyYTE1NTQ5NGM2MTEwIGxlZ2FjeS10cnVuaworNjA0MDYgNDE4YWQxNTlmZTg0M2VlNDc3MTBjZTE1NjUwNTM0YTRkNDdmOTIyYyBsZWdhY3ktdHJ1bmsKKzYwNDA3IGNjMjJkM2YxMmIxMzdmNzI4M2Y5ZGY3MGM5YzU3MjUyODBhNDU0MDIgbGVnYWN5LXRydW5rCis2MDQwOCBjM2IzOGE4NTk4OWZjNzY1MjMyMmYxNDNlYmUzOTAwYWM2ZTM3YjEyIHB5M2sKKzYwNDA5IDg2MDk0YzQ2N2VhZmIxNDgwY2VhMzE4ZmEwN2ZiYWY4MWIyNWZjNmYgdHJ1bmstbWF0aAorNjA0MTQgZTlkM2Q1NjFkYmQxYWYyOTllY2Q1MGJlOTJkZTdmZTVmYzEwYjJiYiB0cnVuay1tYXRoCis2MDQxNSAzZjlmZTI3MTU1M2YxNmQ2MTE2YzllM2JhMzE4MGU2MzZhYTQ1MTRiIHRydW5rLW1hdGgKKzYwNDE2IDMwM2NlZjA2M2MzNTIwZWE2ZDU1ZjRlMjRlYzA1YzU2M2UxYmQ5MmMgdHJ1bmstbWF0aAorNjA0MTcgYjliZGM2YTk4YmVhMjI4OGI0ZDNhYmMwM2E4MzM3N2Q0NDIyYjY5YyB0cnVuay1tYXRoCis2MDQxOCBlZGQzNjdjMjJjOGZjYzQ0OTM4NjYxMjhhY2Y4NDE2NTdiN2IzMDU2IHRydW5rLW1hdGgKKzYwNDE5IDNlYmFhZTM0MWMxYjEyM2U1ZDllNTQzZDU2OWYxZDRlYWExNDA0YTUgdHJ1bmstbWF0aAorNjA0MjAgM2I0ZjBjNWVjZjUzZmQ2MmM4MjE3NWJmODkzNmFhY2QxNDcxNjE4ZSB0cnVuay1tYXRoCis2MDQyMSAyOWQ2MTVkZDFkOTcwNTVmOWRhNTJjZTQwNTBlZDRlZTc0YmMxMTFiIHRydW5rLW1hdGgKKzYwNDIyIGIzNzJjMzU0YTI4YzE3NDc1MmUwNjE0YjBhYzMyODJiZjVjYTQwYzQgdHJ1bmstbWF0aAorNjA0MjMgNTA5Y2RmNmQ2NDc5NWVkZmQ5NDk1MDQ0YzZkNTFlMjYzZjdkNGVkMyB0cnVuay1tYXRoCis2MDQyNCA5Mjc3M2Q3ZTY1M2U0YzFmZTQ5Nzg4MzhlMTNiNWY0ZjAxMTM2MzFiIHRydW5rLW1hdGgKKzYwNDI1IGU3OTFiYjBhZGNkZTgyOTA3MTdiNGFkNzMzODU5MzBmZTc1NmFkZjIgbGVnYWN5LXRydW5rCis2MDQyNyA3YWM3ZTA4OWEwNmZjOWFkNGNlMWFjYWMxMjYzN2U1OGJlZTA3OGIwIHRydW5rLW1hdGgKKzYwNDI4IDcxNjZlZDQ5OGM2ZDNjYmRlNWQxODUxY2JjZTlmZTMyZmYyMjMzNmQgcHkzay1jdHlwZXMtcGVwMzExOAorNjA0MjkgY2Q2NWJhMjNhNTBlNzYxMGU0MDEwM2YzNDM1ZTVkYTE3NmJiMGNkZCB0cnVuay1tYXRoCis2MDQzMSA5NmQwMjQ5MTY0ZmM2NTI2ZmNmYzJiN2QzMDBhNGVhOTBhYWY2ZWE2IGxlZ2FjeS10cnVuaworNjA0MzIgYjdhYThiZGU3YmNmNzBmNDhjODhkZmEwNDYyNmNlYTc2YjU1ZTAxNyBsZWdhY3ktdHJ1bmsKKzYwNDMzIDI1MGYyOWJhYjYxYjEyYzM2NmFiMzMwNmY1MmJlNDljZmRmYjM1MDEgbGVnYWN5LXRydW5rCis2MDQzNCA5MGU4NmVlMzY4NGIzYzFiNThkNmUzZWVjMDJiMDBiOWI2ZGMxNjdlIHB5M2sKKzYwNDM3IGU5NzY0YTY5NTgwOTdhMDRkODkzYzI0ZjU5ZGZjYWYwZWUwYzE4MzMgcHkzaworNjA0MzggNjI5MDlkMmU1NzNiOTc0ZjcwZDk2OThhYWE2ZTFhNTIzM2YxM2FhZiBweTNrCis2MDQzOSBlNDMyMzg3NjBjMzg3Mzk2ZTA3OWQ2ZTczYzBlMTI5ZjYxOWQwNTM3IHB5M2sKKzYwNDQwIDI2Mjc4Nzk2ZDRkYTEzMTlmMzkzODM3MDBmNTQ3Y2NkNjk5YThkZTcgbGVnYWN5LXRydW5rCis2MDQ0MSA1M2I5MGYzMWVmZDZlNjZhMjgwYTY5MGU2MzA4ZDQ4NGVlYjA4OTZkIGxlZ2FjeS10cnVuaworNjA0NDIgNTEwYTQ4Mjg5ZDFkNjg4ZDUxODFjYmZkODNkNGE5ZWI4ZmJkOTUzOCBweTNrCis2MDQ0MyBjOGZjYTliNWNkM2MzMGRjY2I1ZDRkZDcyZmZhZDQxZTM1ZjI5YTVmIHB5M2sKKzYwNDQ0IDc2MzhkNGFlMzEwYzIxZjk4MDA4OTYyMDE1ZTQ0ZGUwNDgwMTg5MDMgcHkzaworNjA0NDUgYmQ4ZDIzNjlmMTQxMWIzNTA2YjY0ZWM4ZTI1MmUwZTFmODA3MzI3NCB0cnVuay1tYXRoCis2MDQ0NiA1YWIyMzdjOTY2OTVkZjdhMGI3YmU4ZTY3N2YzNGYwZmUzMzA2NDYwIHRydW5rLW1hdGgKKzYwNDQ3IGFmZDBjYjI1YzczZTIxMzE4MDdiMDEzMDFkMGM2NWVkMzdkMGVjYWYgcHkzaworNjA0NDggOTYzOWE3M2FmYTQ3NzYxNGMwZWQzNmQyYTg5ODljNzQ1YTUzOWVkYyBsZWdhY3ktdHJ1bmsKKzYwNDUwIGMwNWVlNzdiMzlmMmRjMTA2ZGQ3YWFlOTFiOTEyOWUzYTgyMGY4NjQgbGVnYWN5LXRydW5rCis2MDQ1MyBiOWVlMzFhMjZmMzg1ZDNjZmE5NGM1YmY5MjRmYzg0NmUyNTBiZjg5IHB5M2sKKzYwNDYzIGJlMDZiMzM5NTc2ODRjNDRiMDk1NWNkNGY5ZDZlN2Q4ODJjN2I0NWYgbGVnYWN5LXRydW5rCis2MDQ2NCA3ZDBkZjVlYzNkMmY0YmU3ZWIzNjRhZmUzYmQ5NTJkMTkwMTI1MDVkIGxlZ2FjeS10cnVuaworNjA0NjUgZTg0NzZhZWY4NTdjMjFjMTBlOTE1NDNlNzk5OTBkMGEzZTYyNTMyNCByZWxlYXNlMjUtbWFpbnQKKzYwNDY2IDcxOTgzNjAzZWE5OTk5MDQyNzI0NTFiYTMzMDI2MTdjMjRhNmQxOGMgcHkzaworNjA0NjcgM2YyNDk2ZGM5MWRiM2Y2NzhjNzgyMjE3Njc3ODVhMzdjZmJhOWRmNSBweTNrCis2MDQ2OCA4OTMwZmYyMzBlZTllNDYzY2Y0ZjRkMDEwZDY1ZjNkZDc4ZmY5Zjg4IHB5M2sKKzYwNDY5IGRlN2MzMDk3YjJjMTA2NTJlMTdhODZiZmRhMmY4MDRhODQ1ZDBkNzMgbGVnYWN5LXRydW5rCis2MDQ3MCBlNzdiODJhZWQxYTgzMTMxZmY0MzUzOTE1MDA1ZjhiNTEyZTIxOTUyIGxlZ2FjeS10cnVuaworNjA0NzEgMDNlNGEzNmE1NmJiYTQ5NWUxMzE1Y2YyZmUwYTkwZTc2MTIyYTAwOCBsZWdhY3ktdHJ1bmsKKzYwNDc2IGYzODBkOTkxMzkwZTA5ZjIzZDEyODQ3MDllZTJiNDk2OTE4YjlmN2IgcHkzaworNjA0NzcgZjE4M2YxMTg5ODI0OGU3NTRlZmJiZTQzOTMxMjEzMDE3MDJiMjE0NCBweTNrCis2MDQ3OSBkNjM1ZjI5ZTU1ZjgyOTQ3MGY1YTJkZjFhMjhjZTg5NTNjNjdlZjEwIHRydW5rLW1hdGgKKzYwNDgwIGE3N2M4ZGNiY2VkOTEwZmZkM2UyZjkzZDEyYjgyYzBhNWFjNzZmNDggbGVnYWN5LXRydW5rCis2MDQ4MSAzYWE0YjhkZmJjNGE0Y2I1NDJjZTk0ZjhlNDIwNmE4MjgwZmU4NzI5IHB5M2sKKzYwNDgyIDg2NTllNTI2MTRkYWRkNjllMTFiYTZlMzcxNWY1N2NjYzg4ZGE3M2MgbGVnYWN5LXRydW5rCis2MDQ4MyAzZjE2YWM5MTUyMTRlZDM5ZTU2ZmU3NGJmYjc5Y2UyM2RjMTY4NjQzIGxlZ2FjeS10cnVuaworNjA0ODQgZjBlNmJiOWIyNGY2OGIxZWYzZGNiYjRhYWYzMGUyNTg5YzNhNTk0NyBsZWdhY3ktdHJ1bmsKKzYwNDg1IGE0Yjg0MjU3YzdmODU3ZjUyNzZkNWQ1MDE1NjdjYmRiOTI2YjNjYmUgcHkzaworNjA0ODYgNDkyYjMwMmFkZWQ2ODk0ODcyZmMzYWYyNWFkZmI5NjY0NTBiZDIyMyBsZWdhY3ktdHJ1bmsKKzYwNDg3IDY3ODUwOWY5YTAzZjcyYTFlZWI0MDRiNTViZGIzZGY3ODlhZmNlMzkgbGVnYWN5LXRydW5rCis2MDQ4OCAzMTY0YjRhZTI3YzNjMWRmMjUxYWVjNzJjNDAwYjcyMTIxN2ZhMWUzIGxlZ2FjeS10cnVuaworNjA0ODkgZDc1NDAwMzFiOTU5MjE3Mzk2MWVlYjc5OTczNmVhNmFhNTI5NzA5ZCBweTNrCis2MDQ5MSBjNjZkYTU3Yjk0ODg5ODBlNTQwNTVmYTk2MWMxMzVkNDMwYzYxYTczIHB5M2sKKzYwNDkyIDM4NjA0ZmEyYTQ4ZjFmZWUxNWI5N2ZlNDdiNmZhZDJlMTdiYmMwNzggcHkzaworNjA0OTMgYTI4MWUzMzE5OGMwYWUzNGQxYmIxNTU4ZjNlN2U2YWRiNWNjZmVmMCBsZWdhY3ktdHJ1bmsKKzYwNDk1IDdjYjZlNTYxN2RhMDlkODlmM2U5Y2YzMTg4YTUzYTc4OWI4YjUxM2EgcHkzaworNjA0OTcgOTllZjI0OGZiMzE1M2ZkMDk4OTU2MGEwNWM4NTUxY2UzMjIyOTc0YSBsZWdhY3ktdHJ1bmsKKzYwNDk4IDJiNjM2OTBkNTEyODU5N2M3MDFjZGQzOWYyYjZiM2JiYTVhMzc4YTcgcHkzaworNjA1MDAgMzNiYmRjNzZhZmI2MmUxNDVlZmQ2MmFhZWNlMmQ5MjVkNmJiMGNmZCBsZWdhY3ktdHJ1bmsKKzYwNTA0IDM5NzlhZTFlZWExN2E3MTk4MDk0YjY5ZTBlOWYwZDJiMjRkYTVmOTYgbGVnYWN5LXRydW5rCis2MDUwNyA2NDkyYTc4ZTkzYjRjMWNjYzFiOTM3ZjdjNzc2NzM5ZDg5ZmZhY2JlIGxlZ2FjeS10cnVuaworNjA1MDggZmFhODhmZjRjY2U0ZDI1OWZhYjEzNzkyNzliOTFiMTFkNjhmNzEzYSBweTNrCis2MDUxMCBiZGI3MDI5NTI0OGJjZmMzNWM3ODMzYzA0MDNhZWYyOGI4NDVhMTMzIGxlZ2FjeS10cnVuaworNjA1MTEgYmVlYTczY2EyYjg4ZTdkNjhjYWFmZDIzNDdiZDdjNzNiYzJhNjA4NiBsZWdhY3ktdHJ1bmsKKzYwNTEyIDVjYjgyODgzNjBlNzM4YzNiMjFhMDY4N2MyYzk0MzYxMDYzYWY3MGMgbGVnYWN5LXRydW5rCis2MDUxMyBkMTJjOTdjYzc0NjcxM2Q0N2EyNjczMmU0ZWM0YjU2YTNkMDExMjhmIGxlZ2FjeS10cnVuaworNjA1MTQgZjRiNDllZmNlZGMwZWUyOWU0ZDRmY2UyMjY1MWJmNGU3ZTlhYzBkOCBsZWdhY3ktdHJ1bmsKKzYwNTE1IGRmNWU1MmUwNTI0NmZjYTBlOTUzZjQ4NDFlOWNmMTVkYmU1YTBjMzEgbGVnYWN5LXRydW5rCis2MDUxNiBkMGIzMWYyNDY5NGRiZTcxYjlhNzNmZjQyM2JiZGYyMjk1ZjdiYjk2IGxlZ2FjeS10cnVuaworNjA1MTcgMGI0ZThhZmVkNjYzMTI0ZDA1Yjc3YjBmNmQzYWQ3ZTQwNDI3ODA4OSBsZWdhY3ktdHJ1bmsKKzYwNTE4IGY1ZTE4YzliZGU3MDE3NTIzODBjY2Q2OTJkODdjNjcyYjU3MGJlYzMgbGVnYWN5LXRydW5rCis2MDUxOSBjZTk4MTZmNTM2OTA5YjU5ZGVhNjk5N2I0NDU1MTYyYmQwMDFkZWJkIGxlZ2FjeS10cnVuaworNjA1MjAgNGM1OWE4Zjc5ZTQyODFlYzI1NWU5OTQ5YzhkNjZmZGJiMWQ3ZjljMyBsZWdhY3ktdHJ1bmsKKzYwNTIxIGUyYThiNjc2NWFiM2ZiMGM4YzViYzZkZDE0ZDVkMDE2Y2NhNDM1OWIgbGVnYWN5LXRydW5rCis2MDUyMiBkNTRkMTMzYzZhOGRiN2Y3NmY3ODA5MDg2Y2YyN2Q2ZmM0ZTUxYWU2IGxlZ2FjeS10cnVuaworNjA1MjMgN2UyZTYwM2Y0Y2JlY2UwODUyOGZhNmIwNTU5NzA2NTRkYjJhOWU4NSBweTNrCis2MDUyNCBhM2U2Zjc0NTMzZDYwY2QwY2JmM2IxNGRjYTBiNTRjNjAyMmYyZGY0IHB5M2sKKzYwNTI1IDY0MDkxMjQzYzA3YmNlYzk1OTJkMDQyMGRlYjlkMTI3MmM1Njk5ZmIgbGVnYWN5LXRydW5rCis2MDUyNiBhODFlZjYzYTEwMDlhMjk5NGNjYmUwMWQyN2NiYWE0MDkyNjFjMmI0IGxlZ2FjeS10cnVuaworNjA1MjcgZDk4MGYxNzVjODg2MzRiZGFiMDAwOTUzNWI3ODFjZWU2N2EzMWE2MCBsZWdhY3ktdHJ1bmsKKzYwNTI4IDZkNzViZTJjM2QzZTQxMmIzNTNmODY2OTc5MjcwNTUwM2Y0MzBjOGYgbGVnYWN5LXRydW5rCis2MDUyOSA2NjBkMjk4OWIxNjFjZDU0MGFjOTk3Y2ZmNjMzZGM0ZDY3ODY4ODgyIGxlZ2FjeS10cnVuaworNjA1MzAgMDQ2NTNmOTI2NjRmMzFkMjE2MTIyY2ZhYmQ5NDFmOTJhMWRlMGI2ZCBsZWdhY3ktdHJ1bmsKKzYwNTMxIDY1YjEyNTJjMWJjMTkwYWFmNjAyYzc5OTZmOTU2MGRkNzE1YzgwYmUgbGVnYWN5LXRydW5rCis2MDUzMyBmMDNhZjYwMTIyNWIxZGU5ZTBhYzlkMmI1MzFlNjNkNmYyYjc0ZTViIGxlZ2FjeS10cnVuaworNjA1MzQgYjJkZTk3ZWIxZjY3Yzc0MzA1NzJiYTk2NmZkODVlZWQ1NDYxMmI0NSBsZWdhY3ktdHJ1bmsKKzYwNTM1IDk1YmJmNTYxM2IxOGY0OWRlNTJjNDIyYjY4ZDZjY2FlMmIwZWFhNmMgbGVnYWN5LXRydW5rCis2MDUzNiBhZWZkY2I1MjQwNmRkNzFmZWI3ZjE0NTU5NzAyZDQ3YmY4Yzg0ODFlIGxlZ2FjeS10cnVuaworNjA1MzcgNTlkODlkNjFjM2EwYjMwY2U5MGVlZjNjZmI4NTVhN2M1NzQxMTAyMiBsZWdhY3ktdHJ1bmsKKzYwNTM4IGMyZGNmNTRlOTFmZDE4OGU2MWUwNmU4N2VjMWI5NjYyNDE3MjdjYjIgbGVnYWN5LXRydW5rCis2MDUzOSAyNDk2OTQwNWUxYWFkN2Y0ZGQwODBiNTY5YzM4MTk1OGE3ODNhMGI2IGxlZ2FjeS10cnVuaworNjA1NDAgZTVlMDI4OThiNmM0MmMxMTdhZjY4Yzg3ODk1YzE0YWY2YzNkNGY2ZCBsZWdhY3ktdHJ1bmsKKzYwNTQxIDM5NDA5MWZkMWQ1MzM1ODA2MTQ1YmRjN2UzYWZlZTE2NWI1ODIyNWQgbGVnYWN5LXRydW5rCis2MDU0MiAyMTU5NGM1YTA2MWE1MGUwNTgwNTIyYjM4YTk0ZWJkYWMyNzdjOWY4IGxlZ2FjeS10cnVuaworNjA1NDMgZjJjZGVkMGMxZmQ3N2E2YjQ1ZTliZjZjMmZiNjQxNWIyNjMxMzBkMSByZWxlYXNlMjUtbWFpbnQKKzYwNTQ0IDNhYzQ4Y2IzNDAyNzM0YzYyOWZhZTc3NTY1N2FlZDUxOWNhZWNkYjggbGVnYWN5LXRydW5rCis2MDU0NSAyN2NhNDcwMGJjNmRmMGZmNzhiNDU4NGI1YTYyNjk4YjIxN2QxMmI2IHJlbGVhc2UyNS1tYWludAorNjA1NDYgNDAzYTdlZTVhNTNlY2ViNmExNThkZWNmZjE1MTQ5ZjAyMTM5OTY4NCBsZWdhY3ktdHJ1bmsKKzYwNTQ3IDZjOGM2ZGU0NGZmNzU4NjdjMDJiNTgyMjMxMGFmZWUxZmYzZDhkYjQgcmVsZWFzZTI1LW1haW50Cis2MDU0OCA2ZTEzNGFhNzM4Nzk2OTUyNjk4YjA3MjNhMTEyMzU5ZDllYzc0YWE0IHJlbGVhc2UyNS1tYWludAorNjA1NDkgYjY2YWJmMGZkNTkxMjk2ZTU0Njg2ODU3ZjcyZTkyMzA3OTBjMTBhNCBsZWdhY3ktdHJ1bmsKKzYwNTUwIDViZGM4YjU5OTIyMmJhMTRmN2ZiYWRiZGNlMzU0NzViZTcxMjU0ODUgbGVnYWN5LXRydW5rCis2MDU1MSA0YWQwOTU2NTU3OWQ3YmNmNzIwOWFkNmJjY2ZhZTVlZmU2ZDVjMWVkIGxlZ2FjeS10cnVuaworNjA1NTIgYmRjZjQwZDFiMzhlYjRmNDc3M2ZjM2YzYzM0ODYyNTNhMmM2NjIzMiBweTNrCis2MDU1MyA1YmM1ODdmOTAxNjRjNWIwN2FjZGRiYzY2NzFjMmM4ODkxNGVkZGE3IGxlZ2FjeS10cnVuaworNjA1NTQgZWI5N2U4MzAyZmEzMTA2YzQ4NDM2Y2NlMDQ1ZGE5MWRlOGI1ZDE2MSBweTNrCis2MDU1NSA0YWE2MzgzMTMyOTgwYjNlNDJjMWZkMDFiODVhODdkYTM4M2VkY2M5IGxlZ2FjeS10cnVuaworNjA1NjAgNGY2ZjQ0YmM1MTk1N2UzMDJhMzI0YTRmMzg1YTczOWYzNDFmZmQyMiBsZWdhY3ktdHJ1bmsKKzYwNTYzIDc1MDM5ZDMxMThhZWVhZDY1ZTM3YTEyM2QyNzI1ZmM1NmY1ZTJjOTQgbGVnYWN5LXRydW5rCis2MDU2NCBhM2ZlNzQ4NWY1YzU1NmIzZmVlYzVlY2JmYzhjOTYzZGMyZjMxODY5IGxlZ2FjeS10cnVuaworNjA1NjUgMzg1MGQxM2JmOTZiNzUzOWI1ZTgyOGFjZWFiZGRmMmVjOTIxZDU2OCBsZWdhY3ktdHJ1bmsKKzYwNTY2IGYwMzk1NWZhZmZiNDc0YjYxMGRhMWY1NWE1YmRiN2ZiNGI4MzdhNTQgbGVnYWN5LXRydW5rCis2MDU2NyA4ZmRkNmQ2MmVhNTVhYjc0YzJiZTlhNjdlOWMwMGI1N2RlOWMxNjBlIGxlZ2FjeS10cnVuaworNjA1NjggY2MzMTlhNWY1MDNlNzQwNmUxZGQwOTg1OWU2ZDgzZWEwZGMwODk2MCBsZWdhY3ktdHJ1bmsKKzYwNTY5IDNkN2I4NGRhYTM0YTRkNGNiYTU5ZjQyZjE3NDM1ZjQ5NjNhMWYyNGEgcHkzaworNjA1NzAgM2JlNGZhZmQ5Y2MwZGYzNzdlOGVmNzk2YTJjZjBkZjcyNTQ5MDY1NiBsZWdhY3ktdHJ1bmsKKzYwNTcxIDFiZWI3ZDI5M2Y1NTJjODBjYjU1Y2QyN2I0YmUwYTQxNzU4OWQwYzEgcHkzaworNjA1NzIgMzhkZTBlNDFkMjU0ZDc0Njk0MGQ4YmJkZDIzOTVkOGI1ODMwZGQ4MiBweTNrCis2MDU3MyBmNjlkYTNmNTcyMTc2NmUxZmIxZGZhNjcyOTY2OGM0NWFhNmJlYTJhIGxlZ2FjeS10cnVuaworNjA1NzQgOWI2N2QyNTk1YTIzMWI2Zjg5MmQ3NTk0OWM2OGUzODFkMjAxZDk1NyBweTNrCis2MDU3NSA2NDNjMTM5N2Y5NTQwZjAyZWM4YmI0MjFlMmRiZDE1MmUxZjU2NTlhIGxlZ2FjeS10cnVuaworNjA1NzYgOTY4NmM0YjQ2MjQzZGE4NWMyZTUzYTA3ZjZkN2RkNmE2YzljNmRiYyByZWxlYXNlMjUtbWFpbnQKKzYwNTc3IGU2MTEzNWY3ZjliYmZhYjdjNWIxNjYwMmIxYzYwMzQ4MTY2ZDg1NGMgcHkzaworNjA1NzggY2IxZTVjMzdkM2QwMjQwZThjNTk3NWZlYjYyYWEzZDBhMzM3YzhlZiBweTNrCis2MDU3OSA4NjYwMmI2MDM0NjJjODE2YTg2NjIyYjMxYjRjZGM0YTYxZGEzODA1IHJlbGVhc2UyNS1tYWludAorNjA1ODAgMWY4N2VjOTkxZTU5ZGVhZjQ1YWU2MTc2Yjc1MzIxZGU0OGYyMDA1YyBweTNrCis2MDU4MSBlODdiZDhkZGQwMWIwYTA5MTFlOWQ2MGQ2YWZkNzA2NTUxZGEyZjIxIHJlbGVhc2UyNS1tYWludAorNjA1ODIgMGRmYWE5MmJkNTM0OGRiNDhjMWVhMTZiMDYxNTVhMThiYTYxMjVmYSByZWxlYXNlMjUtbWFpbnQKKzYwNTgzIGU2MDY5YjI0MDMxZWFlNGEwZTdhNTdmYTBkYTA1N2I1MmVhMDk1NjQgcHkzaworNjA1ODQgM2Y4Zjg2NDkzZGFhZTgyOTcwYjRiOTk4NjY1ODk0YjRjZTA5ZmZlOCBsZWdhY3ktdHJ1bmsKKzYwNTg1IGJkZjc0ODY4OTNiYWFhMmM3MWY1OTY0N2E5MmJjYjYwNjc5ZDUzYTMgcHkzaworNjA1ODYgNjQ2MzQ3NDQ0ZmFhNTJjYzEwNWRhMjU2YTVjOGE2NjlkZjAxNGNlNCBweTNrCis2MDU4NyA1YmRhNGY3NmFkOTJjNjc1MWE0M2E0MDQ1M2IxNjFhNTllYzRjOTRmIGxlZ2FjeS10cnVuaworNjA1ODggOTRkOTgwOTY2MDU2ZmUzZWU5MDU5ZWU0ZDE2ZTNhNmU3ZjZjOGE1YiBsZWdhY3ktdHJ1bmsKKzYwNTg5IGYyZjk5MTYzNDc4MTQ4NGE0M2IzYjBkYTcwNmNmY2RiOWE5OTJiOWQgcmVsZWFzZTI1LW1haW50Cis2MDU5MCA4ZDg5MDM3ZDVmYzFhYzIwYTExNzU2ZTBkMGNlNDJmYWU1ODRhODUyIGxlZ2FjeS10cnVuaworNjA1OTEgMDYwZjAzOWQyZmFiNTQ1NzU4YzBiY2JmOTdkNWFhMmE0Yzk3NmNkOCBweTNrCis2MDU5MiBjZmEyODA0MjRiNjUwZjg3OWVlMzA4N2RjMDc1ZWU3MmM4YWI4ZGRiIGxlZ2FjeS10cnVuaworNjA1OTMgYjAxMTM2NjEwMmRiYWI3NzlkN2JjNTcyNWM3YjliYTlmMDU5NGNjZCBsZWdhY3ktdHJ1bmsKKzYwNTk0IDRkNThjMGZhNmUzNDMyMDdiNWIxODkwYmE1MGU0MWI5Y2FlNDk1ZmIgcmVsZWFzZTI1LW1haW50Cis2MDU5NSBkYWM0MjE3ZTk5NjVhMGVhOWUyM2NhODY2ODkwMmNjZTc2MDAzZWI2IHJlbGVhc2UyNS1tYWludAorNjA1OTYgZDJiNDlhNjhlNmY3YmIwZWFkMjZiMmVkMDcxMTlmOTk4OGUxMWM3YiBsZWdhY3ktdHJ1bmsKKzYwNTk3IDVmZTU1N2M3NjBhMjAwZDY3ODZmMGJkZGM3OTdkMmUzYmJiZTA5MGMgcHkzaworNjA1OTggNjg3NDM3ZjdiNzg0OTE2OTJmYWNkNzEwY2YwMGU2ZTI3MzUwMjkzNSBweTNrCis2MDU5OSAxYzJhMjY2ODZlNTQ0MDFiZGYxZGMxMDNlY2NjZDNhNDlmZDljYzcxIGxlZ2FjeS10cnVuaworNjA2MDAgODNiNWQ2YjJhYTcwZjNjYjM1Y2Q5Y2VlM2UwYTgxMmE3NmVjOTJmMyBweTNrCis2MDYwMSAwMWQxYTRmZmQ1YjM1Zjk5ODFkNDdhYWRjYzk3ZDdkYzE1YTllZTk4IHB5M2sKKzYwNjAyIDY4NjM2ZWE4OTE1MzExOTM1MGY1ZmY4ZmJmZjc5ZmRmMWZjNzM3Y2MgbGVnYWN5LXRydW5rCis2MDYwMyA4YmMxZmRjNjMzNzBkMTRmYjNkMmFhZjA2ZGYzOTJjYzlmYzkyN2E4IGxlZ2FjeS10cnVuaworNjA2MDQgZjRjMGU1M2MzNTYxYTM2YjlkNmE1YjEyNzRiZmVjYjc5ZGYxMDlmOSBsZWdhY3ktdHJ1bmsKKzYwNjA1IDc3YjM3MWM2OTU4Y2VkZWRkMDU3ZDNlYzY0ZjE5Y2JiZmIyYWRjYzcgbGVnYWN5LXRydW5rCis2MDYwNyA4ZmVjNTBhMzg1OWY0ZDFkZjJhNGM3ZWZmMmI5Nzg1ZjA4NTMwNjFiIHB5M2sKKzYwNjA4IDExMWNiMmFkN2FmNDhkNjUxZjIxNDU3ZmJlOTRhY2ViZWZlN2NlY2IgcHkzaworNjA2MDkgM2VjZDUyNmMzNWM1NjcxZTVkMWQxZWNkYjcyY2U2YzJhN2Y2N2QyYyBweTNrCis2MDYxMCA4ZWYzYzdjMDA0NzAxNTlhZjBiZTA3ODA3Nzk4ZDNhM2M3ODI4MTMxIHB5M2sKKzYwNjExIGI2NWY3OWUzNWIwOGVjZTRiODhiZGJlMzNlODc2N2VhODUzYmFkYzcgcHkzaworNjA2MTIgZmRkOTkyOTFjYzQ1OTE2ZTllYzIzYWFmMjcyM2EyMTE1NjRhMjFlYSBweTNrCis2MDYxMyAxNjUzZjVmZjNjMDAxNGFhZjgzMjkxNjRiZTQxNDM3YjljNzUwYjk5IGxlZ2FjeS10cnVuaworNjA2MTQgYTRjODdjODg5NjQ4MzFkMzgzZjc4ODVkYzM4MGE2MzFjNjg0ODU2OCBsZWdhY3ktdHJ1bmsKKzYwNjE1IDczNzgyN2I0YzVkNzVmNTI1OTJiOTcwODNmZTJiYjUwYzZkZWM0ZDYgcHkzaworNjA2MTYgOTIwYTc2MzNhZTA4OTIyNTFkZWMxMmZjODIyMmQxY2Y0YTc2ZmYxNiBsZWdhY3ktdHJ1bmsKKzYwNjE3IDE0MmExMWIzMDU3ZTlhZjg3ZjI2M2RkMDcyNjk4Nzk2ZjdmNGIxN2EgcHkzaworNjA2MTggYjg0N2E5ODIzYjJmZmZhYTI1NDRhNjAzNjY2OGNkNTY1YjVjMzM4OCBsZWdhY3ktdHJ1bmsKKzYwNjE5IDMzYjc4YWFmYmJiMjIyMmM5OTAxOTBlYWJjODk0ZGFjMjY5MTFlYTEgcmVsZWFzZTI1LW1haW50Cis2MDYyMiA2NWZiMjE3NTA5NDI1YzllNzFlN2YxMjFiNWUxMGZhZTkxYzJhNzJjIGxlZ2FjeS10cnVuaworNjA2MjMgMDU3MWJjNGFiNmMyODIxYmE5OGMyNmNhZmE1NzliMjlhOGYxNzJiMyBweTNrCis2MDYyNCA4MTkwMGE5MTQyMmJmNzEyMThkNGRmNDFlOTRkMDM2NTU5MDZmNDYxIHJlbGVhc2UyNS1tYWludAorNjA2MjYgMGY3YzMxN2JiZTdmOGNkYzZmZGE4ZmY0ZTY0NWIwODk2N2MzNDU2MiBsZWdhY3ktdHJ1bmsKKzYwNjI3IDBiYTMxY2VhNmUwM2IyYzkyMzc5OGU3YTg5M2IzYWI3NzE4MWI2ZWIgcHkzaworNjA2MjggZGJlM2ExMzNiNzE4MzQyYWJiOTFhZjJmZDlmZjhmZGI1MDYzNDFkNSBweTNrCis2MDYzMCBmNTVhNGYxMTkxNDE5NWEzZmU4MDdhYzQyYTExNDUwNWQ3Yjk1MmJjIGxlZ2FjeS10cnVuaworNjA2MzEgYTIxMjZlZGIyMDdiMTI4NDBjZTA0Y2FlMzg1OGExNDY5NzA1MzI5MiBweTNrCis2MDYzMiAzNDY2MjViYTU5MDMyY2I3NDRjNjUyMmI3MWY3YjBkNjUyN2MzNTVjIGxlZ2FjeS10cnVuaworNjA2MzMgZmZlMmQwZjU3ZWZkNzFjZmNlNmM1NzE0OTYwMGI5YmEzMWUwMzNkZSBweTNrCis2MDYzNCBkMzllMWEwZTA5NjU0ODIzNTM1M2EwOGMzNTI4YzQyMTA4Mzg0M2M4IGxlZ2FjeS10cnVuaworNjA2MzUgMDYzZDAyMmFjMDExYjg1ZWU4NmYwMGQyMzQ5NjNkMGIyNGNjMWIxYiBweTNrCis2MDYzNiAzZjEyNDk3NWUwOTk1OTQ1ZDQ2ODRhZTNjMGQ2YzRkMGEyYjBmMWRjIGxlZ2FjeS10cnVuaworNjA2MzcgM2JiM2M3NDNmMTA1ZjcxMGFhOGM3MzMzNDE3MjkwYTU5Nzg5MzEwOCBsZWdhY3ktdHJ1bmsKKzYwNjM4IDkzOGJhNjIyYWNhMDNjZjJkZTZlNDhkODM3ODYzZWU3NzhmZGVkZWUgbGVnYWN5LXRydW5rCis2MDYzOSAwOTU4Y2M0NmIzM2YzNDlmY2MzMWYyMDUwZjYxNmNkNmEyM2Y2YmIzIGxlZ2FjeS10cnVuaworNjA2NDAgOGNiYjhhYTQ1YmE5YTlhZGI1YzY5NTk1MWI4ZmFkMjg3ZTRlNGZiOSBsZWdhY3ktdHJ1bmsKKzYwNjQxIGZlYjZkZDM2ZDUzZjMzZTk2NjMwMmE3ZmI0MTRmOWQ1MDJjYmY1YWIgbGVnYWN5LXRydW5rCis2MDY0MiBjNzNhMjgwMmI3Mzg2NjBkMTJhMzk0MTQyMDhlZjkxZjA1MjExM2MyIGxlZ2FjeS10cnVuaworNjA2NDMgZTgyYWIyNDIzYWFiNzA5YzZhYzk3YTY0OGYzMjZiODFiYjZkMTEyYyBsZWdhY3ktdHJ1bmsKKzYwNjQ0IDQ0ZTJkOTg5OTExNWQ3MjhhNGE5YTFjZjE4N2ExODJiMmI3N2IxZmEgbGVnYWN5LXRydW5rCis2MDY0NSA3ZGM5ZGVlMDk5ZTg4MGRhN2YxYjkwMTE4MTUzYTAxNzJlZDkyMjVkIGxlZ2FjeS10cnVuaworNjA2NDYgNWFjNjA1YzBmMjdjYThkODRiYTk4ZWRkODQ0OWY5NjU4MGYyYTEyZiBsZWdhY3ktdHJ1bmsKKzYwNjQ4IDIxOWY3ZjIxMzRkNDhlZjlmMDE1Yjc1MmZkYzNkMmRjZmRkYTM4OGEgbGVnYWN5LXRydW5rCis2MDY0OSBkZWI0ODczZmEwZjA0YzU3YmFkZWVmMjY2MjJhODgzMDk1MDNmZjcxIGxlZ2FjeS10cnVuaworNjA2NTAgN2ZhNDcyNWNjZTg3OWRhZWRhMTkxMTBhZGJjYmE5MzViNWNkYmI2NyByZWxlYXNlMjUtbWFpbnQKKzYwNjUxIDJjNjNmMTUyMmJiZTRlNzZlY2QzYTkzZjJlNTFjZWE4MDdhZThiMzYgbGVnYWN5LXRydW5rCis2MDY1MiBjZGQyZWEwODBlMjM2NWRkYWVkNjYyMjdmMGE3MDk4ZDE2NGY1YzQwIHJlbGVhc2UyNS1tYWludAorNjA2NTMgNGUzM2ZjODJlN2YzMTg4ZjU5MTU4YTVhMzU5MTRiOTVhZTJmOGE0YSBsZWdhY3ktdHJ1bmsKKzYwNjU0IDQwM2Y3MDVkNThjOTJmNmFhNDI1ZTk0ZThjMWQxZjg1YjFhZDNlOTUgcmVsZWFzZTI1LW1haW50Cis2MDY1NSAzODFmNGEyOTMzYjU4OTcwMTRhMWU4OGJiNWY5MmI4YzUwMDNlOTIzIGxlZ2FjeS10cnVuaworNjA2NTYgNWQ4ZmVjYTMzMzE1ZGU5N2I3ZDNhZGIxOTljZjNjZGMyMjQ1ZTEyYyBweTNrCis2MDY1NyA1OWE2NDg1YmFjMDIzMWQxY2Y2MmVhMjUxOWMzMzZlMWMzNjljYjBhIGxlZ2FjeS10cnVuaworNjA2NjAgNGU0MzcyMmZkNTAzZTE2MjdjMTA2NzQyN2I0MWI1M2IyMmQ1ODIyZSBsZWdhY3ktdHJ1bmsKKzYwNjYxIDI2MjI2MzczN2JjZTJkY2ZmMmJhYTMyNGQzYzY4OGE5OWJjOTAxM2YgbGVnYWN5LXRydW5rCis2MDY2MiAxYzMyNmRlYTQ5NGMyYzllYjg3MDBjYThiMzljODBmOTdlNGJmNDgxIGxlZ2FjeS10cnVuaworNjA2NjMgZTk0YWYwYzdhYTEyYmEyODcyZmI2NTNlZjI0MzFlZDVmY2I5M2Y0NiBsZWdhY3ktdHJ1bmsKKzYwNjY0IDQxNjY5NDVhMGNjNGZmYjc2Yjg2YjM4MWFjNjRjZGNjM2Y5YjAzMGUgcmVsZWFzZTI1LW1haW50Cis2MDY2NSAwNDYzZjgwMWQ3ZGM1MDk3Mzg1MmQyMDI2NzRlMzYwMzcyZWM0ODZjIHRydW5rLW1hdGgKKzYwNjY3IDU0ZGNmODA2ZGVkNjNjMTg3ZDg3MGEzOTJlNzAwMDVlNmExMTA4NzggbGVnYWN5LXRydW5rCis2MDY2OSA0MjQyMmNmMDIwOGIwYWRlZDZjYWZmNmQ1ZDc4NmIwMjk4MjJmNTE1IHB5M2sKKzYwNjcxIGVjYTkwYjhhYTdmZGI4ZTI5NzlkYzA5NGY4ZTZmZDdhYTQwMzVhOWIgbGVnYWN5LXRydW5rCis2MDY3MiAzZmE3ZmIzMjhkOWFhMjkwYmY3ODg0N2NkNTc5NTliNTI2ZDcyN2RhIHRydW5rLW1hdGgKKzYwNjczIDE5ODBkNzA1ODYyNzI1NzA3M2QyMmM0ODcwNDQwODUwMDA0NmRlNGMgbGVnYWN5LXRydW5rCis2MDY3NCA4MmQ0NDI4MGMxMzU2ZWFkMDU0MDU2MWUxYjIyMGU1OTRhMjlhNzEwIGxlZ2FjeS10cnVuaworNjA2NzUgNzdjNTc5MWI3YzIxMDE3NzgxYzc2NjNiNDI1Mzk0MmY2N2JmOGUzZCBsZWdhY3ktdHJ1bmsKKzYwNjc2IDE1YmM4ZTgzMjQyMDdjMjdlMzExYmZiMjI2NjQ3YTQyOWVmOGEwZTUgcHkzaworNjA2NzcgNjhkMzFhOTFmZGYzMjkyMjk2MzU1ZmRlZWQzNTQzNzZkODk3MTAyYyBsZWdhY3ktdHJ1bmsKKzYwNjc4IDU5NTBjNDlmMjI1YWRlYTQyMTYwMzUxODRhZDA5NjljNGQyZTY2YzggcHkzaworNjA2NzkgOTdiNDIwYjJkOGQxMGUwY2M1MjIzNjhkZTc5NDM3NjBmZDZkMjNmZSBsZWdhY3ktdHJ1bmsKKzYwNjgwIDViYTVjNGM5YTAxNjk2NjFmN2QxYmQ3YjRlNGEzOTBlYzMwNDUxZTggcHkzaworNjA2ODEgMmE4MjFlMDAxYTJiNDZkM2RhODEwNGJmOGU5NzI5M2ZjMTE4NGFjYyBweTNrCis2MDY4MiA4NTI3ZWQ3NTYzZDBiNGJjZjM4OTc4YzVjNjllMzZjYTg1OTZiYjk0IHB5M2sKKzYwNjgzIDBmM2Q1OGY5Y2QzNTI2ZGNiNmYyYjdjODE4NGFmZGIzYTZhMGRlYmYgcHkzaworNjA2ODQgNjQ1OTM4ZTBlYjUyYjI1MDZiYmFjNzU5ZGRlYjg3NDk4YWM1NjIxYSBsZWdhY3ktdHJ1bmsKKzYwNjg1IDI0OTA2Yjc5MjU0MjQzN2VmMDBmNmEzMTdhYTlkOWQ4ZDAzMjlmNDcgcHkzaworNjA2ODYgYWViZDljNGQxOWVkZmMxZDQ5MTBmNGM0NTc3Y2E5N2RjZmQ5MmZiNiBweTNrCis2MDY4NyAwMTU5ZTYyYjk3YzU1YzYwNDk3ZmYxMzZiNGE0NzMyOTgxYTQxZWQ0IGxlZ2FjeS10cnVuaworNjA2ODkgYTgyMTU3ZjUzNGE3ZTI5OTQ1NTA0OWNkNDYyYWVjMjE1NDZjYTJmOCBsZWdhY3ktdHJ1bmsKKzYwNjkwIGEyYmYyYTU5NDA0YTkwZWY2M2E0YzkyYjVlYWZiOTMyOWNkOWM3NGQgcHkzaworNjA2OTEgNGNkMWQwNDc0YTEzNGU1YTgwMDNjNWYyOTM5M2Q2NjhkODM1ZTUzNyBsZWdhY3ktdHJ1bmsKKzYwNjk1IDgzODIxZTBmMzk1YjRkN2M1MWRmNTQxMDE2ZTUxYzBkMmI5ZGIzZDEgbGVnYWN5LXRydW5rCis2MDY5NiAzMjljNmIyZTExMDUxNzk0YmFlODZjYzNiNTA5YzI5NTIyNzc2NjM0IGxlZ2FjeS10cnVuaworNjA2OTggYmM2Mjg1NGVlOWMyMTE0ODljM2I4ZDg1ZTdkMzMwMTQ3OWIxM2JkMyBweTNrCis2MDY5OSA2MjYwZGIyMmZmNzUyZjQ1YzQ4YzBiOGU3YzBjZmU0YjZhODJkMjNhIHB5M2sKKzYwNzAwIDU4NWFlYTkwNGYwZGI0ZGRhODI2YTczMTYzM2E1NTU0MTVkMmNhMTggdHJ1bmstbWF0aAorNjA3MDEgODcyOGY4MTZjYTc1MjAzZTQ0OWJlYTUzYjlmOGIwNDRjZTk5NjBiNyBsZWdhY3ktdHJ1bmsKKzYwNzAyIDg2ODliNjcyNjViZmJmMzZmMjY1MWM3OTQ1NDFiYzM2MzIyZDI1Y2YgbGVnYWN5LXRydW5rCis2MDcwMyA2MWViYTgzMzJjMTQ1ZTAyNWNjZWRjMjBhNmY0ZDgxM2EwZjVlOWYzIGxlZ2FjeS10cnVuaworNjA3MDQgNzQ1MjgwZDcxNDI1NWNlYzQ3MDk0N2ZjOWJhMTk5YmY3ZDU3Yjc1NyBsZWdhY3ktdHJ1bmsKKzYwNzA3IDg2OTA2YTVjZWNhNjM0ODgyNTY2MmM0ZDM5ZmYwMGM4NzQ1OGI0YzIgbGVnYWN5LXRydW5rCis2MDcwOCAyZDZmNjQwZjcwODEzOWM4MTBkZDQ0MGFkOGRlNzE0YmVlYzgzMmI1IHB5M2sKKzYwNzA5IDg1M2M3M2IwMjllM2UyOWU3Njg1NTAyNWNhZWUxMDMzZWI1Zjc0MTUgbGVnYWN5LXRydW5rCis2MDcxMCA3ZjRjZWYwNDE4NmYxY2JiZjVjMTM0MDYyNzU1Y2ZmZDYwZGNiY2ExIGxlZ2FjeS10cnVuaworNjA3MTIgNGFlMDM5N2VmMWM1ZjE0ZDljNDI3ZWVkNTdiOWYwNjAxNmRmY2M2NiBsZWdhY3ktdHJ1bmsKKzYwNzEzIDZlYmU4OTMyOGI1ZTczZTk2MjFkZTIxYzc0YjdmYTlhOWU1OTYxM2QgbGVnYWN5LXRydW5rCis2MDcxNCAxZGM3MWYwOGVhN2M3YzhiOWRmMDgwNTQ0NjUyN2Q4NjgyZGE1N2MyIHB5M2sKKzYwNzE1IGZiNTUxYzkzOGE1OThlOTNlNDE0MjQyODMxYjQxZGIwMjgxZDEyNmQgbGVnYWN5LXRydW5rCis2MDcxNiAwMTNlNjZjYjM2YzBmZTViMmFiNDRkYTcyYjljMGI5MGMwNDYzNGRkIGxlZ2FjeS10cnVuaworNjA3MTcgZmQ3Nzg5YTFiZmNkYTJhNjVkZDM0MjQyYzI5ZmUzMGZkYTRkYjU4ZSBsZWdhY3ktdHJ1bmsKKzYwNzE4IGY4ZWUwNmE1MWMwYjJmMjAzNGRlZTYzNjA0NjkxYmY1MjRiZTRhNGIgbGVnYWN5LXRydW5rCis2MDcxOSBjN2Y5ZjlmZGNmODI3MWMzMTIxMTI1MjMzMTk0NzNkNzMyYWQ0ZWRkIGxlZ2FjeS10cnVuaworNjA3MjAgYThjYTllMDY1ZDlkZWUxNWU5NWQzNDFhNzdlOTllYjhiOTg2ZGUxNSBweTNrCis2MDcyMSBhNTBjMWZiN2Q5MjBhODFiMTlhYWQ4N2UwZjAyYjI1ZDMyNGQzZTFlIGxlZ2FjeS10cnVuaworNjA3MjIgOWYxYTJjOTkyNTVmZjQxYzExMmY0Nzg1ZTYzOGRhM2NjMWE3ODI1MiBsZWdhY3ktdHJ1bmsKKzYwNzIzIDFkYzVjYTExNDQ4Y2QwNzMwODdjOWY3NjUyMzFiNzZmYWZkY2VlOGQgbGVnYWN5LXRydW5rCis2MDcyNCBkYzUwZGVlN2Y4ZTUyZTMxZmZkMDNlYmRjNjc3MDE2Y2I2ZGQ2OTQ3IHRydW5rLW1hdGgKKzYwNzI1IGU2NzA1MGQ2MmFkZmE0NmVkYWVhYmY2MGQzYjE5ZmMyMTFiMDVmNTYgcHkzaworNjA3MjYgM2U1YTc5MGUwY2Q2NWQ5ZTc4YTU4YmMwOGNiZjM2YzkxODhmMmVkZSB0cnVuay1tYXRoCis2MDcyNyBlZWVmMzlhNmY0ZGQ5OTVhZjZiMzMwYTcyNDQ5Y2RmOTU2NzVmMWE0IHJlbGVhc2UyNS1tYWludAorNjA3MjggNGFmYmNkZTM0M2VkYmMzZDI4MWE5NDJkMzg1YzMzMTdhNDQzM2IyYyByZWxlYXNlMjUtbWFpbnQKKzYwNzI5IDQ1NjVjNjk0MjBiOGNiMzRhOWYxMzllNGU0MDMxM2I0ZmNmNGE2ZDIgcHkzaworNjA3MzAgNzkwNTU0YWUyYjA0YWNiMzBhZGM3MjY3MTBiMDdiOTFkNzBkYzBmYSByZWxlYXNlMjUtbWFpbnQKKzYwNzMxIGMwYWE2ZDhmNWNkYjQyMGUyODhlMjdjNjY5Zjg3OTFlNjdkMTFlNTcgbGVnYWN5LXRydW5rCis2MDczMiBjMmZjMzE4YzRmYTMzM2Q2ZTgwYjVjN2I0ZjgwNzQ5Yjk0YTgyNWQyIHB5M2sKKzYwNzMzIGNhMDg1MzYyMmYxYTFmOWI5YWMxOTFiOGUyMTRkOGI3OTE0NDRkYmYgbGVnYWN5LXRydW5rCis2MDczNCBmODViNjNmNTY3MDYwNDE4YTc5N2I1MzVjZGJhNWMyOTYxZGQ2ZGM3IGxlZ2FjeS10cnVuaworNjA3MzUgODA4Zjg0YzU2NmYwZWRhZDZhYmI2OTc0NTllMjc4YzNmZGQwZTJhZCBsZWdhY3ktdHJ1bmsKKzYwNzM2IDg1YjY4ZDdkNmY0MTFlY2NlY2FiMWZlMjQ4Y2JjOWYyM2RhZmViMGEgcHkzaworNjA3MzcgYTM5ZmI4OThiZWIxYWQzZGEzZjYxMTEyYWNmZjk0YzdkZTM5ZmU4MCBsZWdhY3ktdHJ1bmsKKzYwNzM4IDkyYmQyMWU2YTgyYzRkMmM3NGY1YjJjZWU1MTJkYmFkMTFhNjhiYjMgbGVnYWN5LXRydW5rCis2MDczOSA1MDc2MmIxOTRhMDBhZDZiMTVhYTFkNjc1ZGExY2VlNTVlNjcwZWE1IGxlZ2FjeS10cnVuaworNjA3NDAgZWViNzJjZjM3YWViNGNiNDgxNTZlNGQxY2M0ZmRmYjRiMTFmNWZkOSBsZWdhY3ktdHJ1bmsKKzYwNzQxIDRjYTcwNjYzYTc5ZDA5YTdmNTA4ZDBhODgxYjQwNTIyMmVjMzMzNDAgbGVnYWN5LXRydW5rCis2MDc0MiBmMGU4YjU0MWYxMTMyMTU4NGYxZTRmNjIxOTU4NGVkOTM1YTdhNTA5IHRydW5rLW1hdGgKKzYwNzQzIDI3NWVkODU5M2VjNjFkMTYwZmY2YWVkMjJkNTljYmNlMTNjMmZlNjIgbGVnYWN5LXRydW5rCis2MDc0NCBiYTE3YjIxYWI5M2U2NjQ3ODY5ZjZhOGVlNzA1NTU1YWNlNDIzNDRkIHJlbGVhc2UyNS1tYWludAorNjA3NDUgNzg5YWE2N2RjZTZkODJiMjFmYmY2N2VkNTczOTAwYWU4NzA3MjAzMiBsZWdhY3ktdHJ1bmsKKzYwNzQ2IDVmNWI0NjQ1ZDkxMzJiNGJhOThlNjhlZGJkNGFiODZjYTdiNjBjNDMgcHkzaworNjA3NDcgOGViOGU5YTMyNjBkNmVlOWQwYmJkNWJjMGM2MjZmODI5MzZhZTU5NCBsZWdhY3ktdHJ1bmsKKzYwNzQ4IGFlNTVlNzE0ZDc0NGQyYTAyNjUzYTBkMTYyYTg3NzQwZjUwMTk3YzUgcmVsZWFzZTI1LW1haW50Cis2MDc0OSBhNDdmNWZmYzA4MjM1MzdmNzI1YTUyODk3ZGU5ZTJmMjkwYWYyYjZmIGxlZ2FjeS10cnVuaworNjA3NTAgMjdmODg1OTdkMDJiOGMxMTE4ZTUwNWI2OTAxNTk5M2ZiZGVkM2Q2MyBweTNrCis2MDc1MSBiMWNiNmI0NGI3OTg3MzMzNzZkYmE4OTI5NTgxMWUwMDZhNmZiNjA0IHB5M2sKKzYwNzUyIGQ2NzNkMDAzYjZjYTgxZTE0ZDc2NmU2NzhlZjY5OTdiMzgyMmM1ZjMgbGVnYWN5LXRydW5rCis2MDc1MyA5NWMwMDAyNjU0MDA5MDcwNTc1NjI0MTRjMmFkNTQ5ZWJkZWQyOWI2IHB5M2sKKzYwNzU0IGQzMTlmNDBjZDAwMGZiODRlZTQ4NzU3OThjYmE2MTJiMzk1ODc4MTkgbGVnYWN5LXRydW5rCis2MDc1NSA4ZjhhZGVjOTNjZjJjYmNkNmRjZDAyYzU5NTM2MWZiNDE0NDFmNmFlIGxlZ2FjeS10cnVuaworNjA3NTYgZjEyMDUxMjFlODQ4YTYyMzNjZDhkZjQ1NDg3NzdjMzZjOWZlNGM1NyBweTNrCis2MDc1OCBjZWVlMDk4MWYxNDFkNDAyMWNjNTUzMmE3NzE4OGY5NzcyZDEzODExIGxlZ2FjeS10cnVuaworNjA3NjEgMTE0ZGMyMTU4MzY5ZDg3NjAwMmUzZDllZGQ5NWI3ZWJiZWIxYzQ2MCBweTNrCis2MDc2MiBjNTIwNTU4N2IyYWJjMDY3ZjdmMjg5NWIzZWUwMDJkNGUxM2Y2ZGRjIGxlZ2FjeS10cnVuaworNjA3NjMgYWU5ZWNlZGI0ZjkxYzYzOGQ1MTZiODU5YThjNTJkOWU0MjcyODNkOCBweTNrCis2MDc2NCAxOGM3NmFmNGYzNjQ4ODU0NTc1NjVjMWFhMjU2NTE2NjMzYTE0NmMyIHJlbGVhc2UyNS1tYWludAorNjA3NjUgNmViNjQyZTBhZGQ4MGNkNWY3YTg3NjYwZDM4NjJhNTc1ZTBhZWIxOSBsZWdhY3ktdHJ1bmsKKzYwNzY2IDdlZGY3MjI1YjA1ZjhiMmI1NzYxN2JiZWJkNTEzNmVhOTc5NGYxNTYgcmVsZWFzZTI1LW1haW50Cis2MDc2NyBiZWVhMzViMGVkNTBhZDVhMWY1NTk2MGNlNTBiMmQ5ZjgwNzJkN2NmIGxlZ2FjeS10cnVuaworNjA3NjggYjBmMzgwYThiNDQ3YjRiM2ZmYTRiZDVmNWQyMzRmN2U2MTM0MzQyNCBsZWdhY3ktdHJ1bmsKKzYwNzY5IGY5MDNhNjQzYTg4YjFiNTFhNDY4MzczODRmOTQ5Nzk0ZjExZDdjODcgcHkzaworNjA3NzAgNWYyZWE5NjVmODUzZWNlMTg4MGJlMDQ4OWZmM2Y4OTkyYzg1MGIzZCByZWxlYXNlMjUtbWFpbnQKKzYwNzcxIDMwYjU2YmViZGU1NGFkYzlkNzhjYTk1MzIwYmFiZGE1YWVjMmQzZTggbGVnYWN5LXRydW5rCis2MDc3MiA3MzcyMzA4ZWI2MmY5ZjY0ZDBkNWFhY2Y1ODNiMDBmODExZTczNzhhIGxlZ2FjeS10cnVuaworNjA3NzMgMzMxMjJmZjgzNDA1MTU4ZWJmNmI4ZWMxN2FjYTk3ZGZjOWRhMGVjZiBsZWdhY3ktdHJ1bmsKKzYwNzc0IDdkMmZiYjRlNTc2ODZhNGZlOGI3MzdiMjhlZjE3YjgzNmFhM2JhZGQgcHkzaworNjA3NzUgNjA4YmQxMDE0ZmJlYTZmY2QzZGY5ZjE2YzQxY2IxZDIyYjNjMDViMCB0cnVuay1tYXRoCis2MDc3NiA1ODRmYzE1ZDQ3YWMyYTcwYWRiNmJiODk1NjEyMjg5NjEyYmZkYzc5IHJlbGVhc2UyNS1tYWludAorNjA3NzcgNDQwZTcxNWJiM2QyZWRhYzYwZjM1YzA5NDhhNTMzZmMzYTViZTFhZCB0cnVuay1tYXRoCis2MDc3OCBkNmVmOWNiNTQzYWY1YTgxN2JhMDQzY2FiYzU5ZTEzMjQ1MjNiMDcyIHJlbGVhc2UyNS1tYWludAorNjA3NzkgNjg1Y2VlMTQxMGY4ZTM0M2Y4OTI4ZGQ5NTEwMDNlYjk1ZmE5ZTBkNSByZWxlYXNlMjUtbWFpbnQKKzYwNzgwIGY4ZmIyNzEwNmVjYzAxODRmMmI2ZTU2MmFhOTI3ZDZiNWY1NGQwM2UgcmVsZWFzZTI1LW1haW50Cis2MDc4MSAwODNiZjZlMGFlNTA1MWNiNTVkNmJkNzQyYzhkMzRiZmIxNzgwNGExIHJlbGVhc2UyNS1tYWludAorNjA3ODIgNzZiMmRlOWM5YjBiN2U1MjNkYTVkM2U5NzliNzMwZDM0Yzk3NTkwOSByZWxlYXNlMjUtbWFpbnQKKzYwNzgzIDFlMGVlMzI0YzUxMzY2ODQzNGM4ODIyY2Q5MmViZDhjMWViMGU2NmIgcmVsZWFzZTI1LW1haW50Cis2MDc4NCA1Njc4NmEyZGVlYzQzYjg3MzZhYzVmZWI0NGQxYjcxY2NhMzhkODcwIHJlbGVhc2UyNS1tYWludAorNjA3ODUgYzdlNjgzZDUyYjNiM2UxMTI4OGQyMjNkYjYyZDY2ZDYxNTk4ZTZkYiBsZWdhY3ktdHJ1bmsKKzYwNzg2IDRmY2I3MDAxMTVkODAzYTlkYjM0YzM4ZmU5ZGUwOGMxMWE1OWIxNWYgbGVnYWN5LXRydW5rCis2MDc4NyBlNzBmNTZjZjY5NzIyZTIwMTY5MmM1MTA0N2NlNmQ3YTZhYmJkNDg2IHB5M2sKKzYwNzg4IDY4MDE2YTA4ODhiOTY4Mzc1YzBhYzlkMjE1MzA2NjgyZDEyMTJkNzIgdHJ1bmstbWF0aAorNjA3ODkgMDk1Y2E5ZmYwZDhlY2E5YzMxYzk1Njg4YmI2NzU4NGVhNWZhMWUyNyB0cnVuay1tYXRoCis2MDc5MCBlNTE4ZTM5ZjRhOWU5NTkxNzZkNWIwZTEwMmMxNWFmNzE0OWE2YTczIGxlZ2FjeS10cnVuaworNjA3OTEgZWY3NTQ4MTczZTYxNzFlOTk1NDk1Y2Q3YjgzMDc5MzU4MDExZmRlMiBsZWdhY3ktdHJ1bmsKKzYwNzkyIDBkZDA1ZWVkNjNkZTk4Njc3OWY5NTIyMDQwZTk2YzBmMDdiYjVlNWEgbGVnYWN5LXRydW5rCis2MDc5MyA4Y2JlMGJkOTNjMjhiMDEzMjNhMzg5MzIxYjEyOTU5MTIwZWRlY2ExIHJlbGVhc2UyNS1tYWludAorNjA3OTQgMTkwZDU1MzczZTUwNTdkM2M4YTc0YTY0ZjJhZDU5MjNhMWU2ODIyYiBsZWdhY3ktdHJ1bmsKKzYwNzk1IDVhZDhhZTRkNzg0ZTZhY2I4NmJkNzg1YzIwN2Q3MzNlYzQ2YjQyNjMgbGVnYWN5LXRydW5rCis2MDc5NiBlMjJiYzhiOTY1NDczZjU4MTc2OTNjZDU5Y2I5MzY2NTRkY2JhYmIzIHJlbGVhc2UyNS1tYWludAorNjA3OTcgNjVhZTY4YzdhY2EzODE2MmJhMDQ4OGUzNmY4ZGEwOThiYzFjYTIxZSBsZWdhY3ktdHJ1bmsKKzYwNzk4IDVjMWRhN2IxYjRhNmI4MjhkYmViMDA4NWU4Y2U1ZjE5Y2M2ZTFlMWQgbGVnYWN5LXRydW5rCis2MDgwMCAwYThhYWU1NzVjZGRkYmYzZDEzM2ZjYjRlZWQ5MTA4MGUzZmU0MWYzIHJlbGVhc2UyNS1tYWludAorNjA4MDEgMWRjMzIyYWRiYjY3NjQwMmU1MmY1MjY4ZDY2ZTM0ZTEwNzVmOGU2YSByZWxlYXNlMjUtbWFpbnQKKzYwODAyIDg5ZWM0MmIyOTg2MzBlODhiMWI5NjhiNTMzMDdiOWMwNTQ2NTE0ZTQgcHkzaworNjA4MDMgMTY3YTlmYzgyODQ0OTFjYjVjZWJlMTI1YTFkOTlhMmExY2VmZDQzNiBweTNrCis2MDgwNCA4M2QyYzcwNDQzZmI3MmIyZDYwNzBlY2E0NDQ0NTEyNjY4NGVjZjdhIHB5M2sKKzYwODAxIGEwMzM2MTc3OTJkMTlkZWM0YjFkZDBhNjc5ZDc1NGEyODE1MjIzM2UgcmVsZWFzZTI1LW1haW50Cis2MDgwNiBmMTk5ZGUzOGFkMDEwMTM3N2FhNDBmYTgyNzIyMmQwMDkwMWJlYzdjIHB5M2sKKzYwODAxIDk1NzAyMGVkM2FmYWU5ZWU0Njc1ZTM0ODViYTYxYzdjMWJkZmRhMzkgcmVsZWFzZTI1LW1haW50Cis2MDgwMSA3MjFhNTkxMGZiZjBkOTkwYTRjYjIzNWE4ODYyOTk5OWUzYWZkMGIwIHJlbGVhc2UyNS1tYWludAorNjA4MDkgMWNlYjJhNmM2MGVlYWU5ZDE1OGI1ZDRiNmM0NjY3YzczYjlkMDFkMyBweTNrCis2MDgxMCAyZDllY2EwYjQ2ZmQzZjA4YmJiZGRlYjQ0NGFmZmZkODIwZjZjMmUzIGxlZ2FjeS10cnVuaworNjA4MTEgMjE4MzZlMGI5ZWIwMzE5NzFkNmRhZGZkMDFlOWFmYWViODIyYzFmNyBsZWdhY3ktdHJ1bmsKKzYwODE0IDc0NmE4ZTFhNzg1YTU5MDVmODAzY2JhNzI1OTIxODM0YTkwZGNjNWYgbGVnYWN5LXRydW5rCis2MDgxNiBlMThjYjIxZjVmNWZmMDc0YzRjMmFmNDYzN2Y2MGM5MDNiNTY1NjM2IHRydW5rLW1hdGgKKzYwODE5IDQxZGMzNjg2ODg5MDhjM2YwZDEzOTIzNzBiYzY1OWI4ODgxNzlkNjUgdHJ1bmstbWF0aAorNjA4MjIgZWVjNjdhZjRkN2RmZjExNWI4ZGRlNzFlZjI1MTE4NjhiNGZhZjRhOCBsZWdhY3ktdHJ1bmsKKzYwODI0IDEwYjI2M2EyMDJjYWQzNzg2M2Y3MTA3MzcxODA3MzQ1NWEwNzZhNDYgdHJ1bmstbWF0aAorNjA4MjUgY2Y1YTVkNzMyZTNjY2IyOTI4YmY5ZWIyYWFiMGNlYzcwMDYwYzJmNCB0cnVuay1tYXRoCis2MDgyNiBmNDgzNzRiOGMxYzNkOGQzNTYxYTM5YjEyZjU0YjJjYzk0ZWJjMzA4IHRydW5rLW1hdGgKKzYwODI3IGEyMzU2NzNiOWY4ZWEyNGJhODE3NjI2MDRhM2Q0ZDIwZjk0ZmFhOWUgbGVnYWN5LXRydW5rCis2MDgyOCA4OTFmYjVjM2JjMTgyYTMxNzQ1ZTZjYjhmYmIxYjY3ZjUwMjU0ZmFjIHRydW5rLW1hdGgKKzYwODI5IGIyZjNmZDlhNGM2NTcxNDhkMjJkNmFjMGY0NWY1NzA3NmI0YzE4NTMgdHJ1bmstbWF0aAorNjA4MzAgYTk3Njg5YjNlNzQyNWU3ZDM4ZTEzOWU2ZmMwOWZkZTY3N2FjNDQ5OSBsZWdhY3ktdHJ1bmsKKzYwODMxIGIyN2RlMjlhMjMyN2E2MjA4NzY5ZmUxZjJlZmNiMDdlYzc1NTllMDcgdHJ1bmstbWF0aAorNjA4MzIgMzMyMjFhZGMwYzIwNmUzMmZmMTQxYWEyODU5OWUyMDc1ZDI1OGQwMCB0cnVuay1tYXRoCis2MDgzMyA0YjQzMjE0NjFhOWYwMjg3Y2E3YmRjMDBlNTRlYWJjMDNlMzM1YjhmIHRydW5rLW1hdGgKKzYwODM0IGE1NzM5MjVjOTFlNDJlYTBjYTdiN2ExYWE2YjYxODJhODAxZGJkOTkgdHJ1bmstbWF0aAorNjA4MzUgM2E1NWMwZmQ4MjJmYjMwNWE5Yzk4MTkzN2YwYjQ0NGZjYjRkYmZhZSBsZWdhY3ktdHJ1bmsKKzYwODM2IDdhMzU1YjZiMjFhYzhkNjRhNmMxNTczYzQ3NjVmOTRiNmMzYWMxODAgdHJ1bmstbWF0aAorNjA4MzcgZGY1MWJhZDg2NzEwMDU0NmFjMTcwMjNjZmIyOGIxNTJhOWIyZDQyYSBsZWdhY3ktdHJ1bmsKKzYwODM4IDQ1MDRkZmNjMTkyNGRkNWYzMDNlMjJiNWQ1MmZmNjA5NWEzZjAxYzYgcmVsZWFzZTI1LW1haW50Cis2MDgzOSAzYzRkNTkzZTE1Mzg2NWI3Y2Y2ZWRiZjM2Y2M2OTgzZGQ2YmI0NjI4IHJlbGVhc2UyNS1tYWludAorNjA4NDAgOTE1ZmRhY2Y3MDJkYTNhYjRlMWFmNTY5YjJjOTFjMzlkNWY2OGFkYiBsZWdhY3ktdHJ1bmsKKzYwODQxIDU1NzIzNmQ3NTJlMmQ5NzllZTJmZTIyY2Q5YjhmMzNiYzBmMjk2Y2EgbGVnYWN5LXRydW5rCis2MDg0MiAwZTJhYWE3YjliMWZjOWJiOWU1ZDlhYmE1ZGFiYWJjYTIxMTY0MzI4IGxlZ2FjeS10cnVuaworNjA4NDMgZDhmMTJiYWUzNzhhZDA3ZTU5OTAzNTE4ZWM4MWRkN2U3MjZjNmNhNSBsZWdhY3ktdHJ1bmsKKzYwODQ0IDE2NmUzYmE3ZGUyNDM3NzVlZDg5NTE4ODNkYjVhZTBjYjE1MjMyYTUgbGVnYWN5LXRydW5rCis2MDg0NSBjNDQ3NTJkOTBmZDJjY2U0MGQ5YjU2ZGQyZjRmYmUxOGEyNWQ1NDc1IGxlZ2FjeS10cnVuaworNjA4NTAgNjJkZjFlMzM5ODMyYjZmNjhmNDIxM2Q4NDc5ODhjNDQyY2FjNzE5MyBsZWdhY3ktdHJ1bmsKKzYwODUxIDcxMTM5YjY5MjQzOWJkZWQ4MTgyYjM4NmVkZDAxMmQyNjVkYmQxYzYgbGVnYWN5LXRydW5rCis2MDg1MiA5YWNlYjkwNTRiM2Y5ZmYyYTcwOTlkNjIyMjEwYTkwZjVjMTVmNWMzIHRydW5rLW1hdGgKKzYwODUzIDdjNGM0NjM0MjEzNzNiNTJlNGU3NTc1ZWYxNmY1Nzk0MDAyOGQwYjYgcHkzaworNjA4NTQgZDM3ODU5ZjI5ZTUxMWExMmM0N2NjYzgxMDU5MDMwODE2NWM3N2Y2NSB0cnVuay1tYXRoCis2MDg1NSA4YzY4ZGI4NmZmODdhNDEzYmJkYWQwZDU2NTVkZmQ2MmRkMGIxMGI1IGxlZ2FjeS10cnVuaworNjA4NTYgMWE4OWU5MTMzMzczOTUwN2UyNmU5NmRhYWFiZTBjNTg2MzM4YjIwNiB0cnVuay1tYXRoCis2MDg1NyAzMThjYTZiYzg5YTNkNWRmM2M2ZGY1ZmE3ZDhmYjU3ODg5ZDI4OTVjIHRydW5rLW1hdGgKKzYwODYwIGYzNzhlZGQyMWRmMjZmNjIyOTMzN2UxMDA4NmE0ZGRjNDM3ZDMxZjQgbGVnYWN5LXRydW5rCis2MDg2MSBhYzA5NWI3NzRlMTkzYmY0Zjg3OWI1NjZiMTI4NGFjOGI2ZjViMjU5IHRydW5rLW1hdGgKKzYwODcxIDI3MGZjZDJlOTc4MjY4YTQ0MzI4NjM0M2I0YWVmNmZjNDExZjE3ZWIgbGVnYWN5LXRydW5rCis2MDg3MiA2NTUwNjU5ZGJjOWRiNjZlMDU5OGZjZmQyZWVhODI3NDg3ZDNjZWU2IGxlZ2FjeS10cnVuaworNjA4NzMgNjIxMjM2NzM5MGUzMjRhYzcxYjcxOWE4OTc0OWJjOGY4YzhiNDNmYSBsZWdhY3ktdHJ1bmsKKzYwODc0IDE4NzJiZDZjZjRiNDViNThhZGE5ZTI5OGQzOWJjM2ZhODgyOWE1MjYgcHkzaworNjA4NzUgMTJmZjE0NmY1OWE3MDcxYWQ4ZDA4NTc1MzcxZWI3YTFlMWI1MjNmNCB0cnVuay1tYXRoCis2MDg3NiA5M2I2MTU3NDEwNzQwYzgzYjZiODIxNDgxM2U0MGUwNDFlMGM1ZmI5IGxlZ2FjeS10cnVuaworNjA4NzcgMDhjYjVhYmZiNWI2YTI0YjE4ZGYyZjMyNmNlYzE0MTk5YmJjMzViYiBsZWdhY3ktdHJ1bmsKKzYwODc4IGNjMDIzMmRlMDY2YzMzZGU2NTkyYTViNTA3MzgyYTExNzc2YjVjMDAgbGVnYWN5LXRydW5rCis2MDg3OSBiNzIzMWJmNmJmYjc5NTllMmM3YWRkOTIzNjg0MzQxNjk3YjgwZmExIGxlZ2FjeS10cnVuaworNjA4ODAgN2FmOTU1ODQzOTI5NjI5ZjZjZjM5YTA3MGNkOThkYzUyYmUzNmIzNyBweTNrCis2MDg4MSAyMWViMWU2ZWRhZmFmMzllNzE0MzkwYTNlMmM3Y2I3ZTMzNTI3MzJmIHB5M2sKKzYwODgyIDljYzdhODY3MzdjOTY1MmZmM2E1MzE4NjcyMGVjYjBmNGI5ZTcwNjMgbGVnYWN5LXRydW5rCis2MDg4MyAzZDJmZjAxNDY1NzQ5MGNiMGQxYmFkNzVjNThiNGU3NThlMjdhYWY0IGxlZ2FjeS10cnVuaworNjA4ODQgMWJjOTIzYTEwN2Q5NTZlNjllOGFjYjE3NDAxYTc2Y2QwZTFhOGM2MSBsZWdhY3ktdHJ1bmsKKzYwODg1IDBlOTJlZjU3YzBkNGE5ZWQzZjMyNmNjZTMwM2YxYjE1NDEyNDQwNDAgbGVnYWN5LXRydW5rCis2MDg4NiBkNGIwZjEyN2NmY2IxZTkwYjVhMDVmOGFiMzMwMzcyYzhmMzNiZTYyIHRydW5rLW1hdGgKKzYwODg3IDUwODc0MTUwNTRmMTkzNzg2ZWJkOWEzZDY5Y2Q3NTdiMzQxNTVjNWUgbGVnYWN5LXRydW5rCis2MDg5MSAyZWZjZDdmNjA2ZjhjZDUxYjJhZGYzYjIxY2EyM2FiYjdhNmFlMTIwIGxlZ2FjeS10cnVuaworNjA4OTIgYmY2YjI2OGU3N2YzYzQyZjBkYzg1MzU1YTkzN2VkNDU3Nzg5YzRlNyByZWxlYXNlMjUtbWFpbnQKKzYwODkzIDNmYzU4NjMwN2Q2NjkzYzRkM2UyOGI1NDZlZDc0NmNkZmViNzFmZDAgbGVnYWN5LXRydW5rCis2MDg5NCA4ZWNlNWNhNGE3ODVlMDc0ZGYxMzllOTc1ZjNkYzkxZTBjNzU4Y2UwIHB5M2sKKzYwODk1IDYwNmQ0Y2M1Y2RiMzBiYmFkMTZjZDM2MTU3NTI4YjMxOGY4Y2EyNmIgcHkzaworNjA4OTYgMjdiZWFlMjFhODJjOTY5NDNkNmFkMWRkODRlN2Q3ZWNmNzNhMjdmYiByZWxlYXNlMjUtbWFpbnQKKzYwODk3IGJjNzBlOGI4OWExYzA1NmM2NDU0MTExZWU1OWFjMGU2MTJiMDI4ZWIgcHkzaworNjA4OTggYjBjYzdhNmRhMWUwMzJlMmJkNTFjMmUxMzQ0NzUzNmU4OWI1Yjc4NyB0cnVuay1tYXRoCis2MDg5OSAzZWU3Nzk1OTg1N2FmM2FhMWY4NWFmYmNhOTQ5YzRkNjQxZjZiOTc5IGxlZ2FjeS10cnVuaworNjA5MDAgMjk1ZjM3ZmM2MjFiOTUzYzE3ZWI1ZjZiNzkwMTk0NTAzYmE0OTI2OSBweTNrCis2MDkwMSBmOWY0NzljZTUwZDBiYTRkZjA3ZWQzYjk4N2M0MTVlZjk3NTRkOGQwIGxlZ2FjeS10cnVuaworNjA5MDIgMTVkNTc3NmYyNzAzY2MwODc4OGE1ZDg1NWZkZTY2MTA1Y2ExYjYxNyBweTNrCis2MDkwMyA5ZTI2YzBiMjM5ODdmNWY2MzFjMzQ4NjY5NjVjN2VkYmFlZjI0YTllIHJlbGVhc2UyNS1tYWludAorNjA5MDQgYzQ3NGM5MjdlMDM2MGZlMjJlOGVlYmI1MmI2NjZmNmI5MGIyNmQxZSB0cnVuay1tYXRoCis2MDkwNiAyOWE2NmU2MjFkYmUzZjJkNzljMzUzMzYyODYwMjY5NTAzY2Q4OTI5IHB5M2sKKzYwOTA3IDJmZjUxYzQxMmU1NzdiNTQ1YTliZmRlMzJhMmE0NjFkMTc2OWMzZjQgbGVnYWN5LXRydW5rCis2MDkwOSAwZWEyMzZhNzFkNzc3M2M2ZjEyMjgxOTJhZjkwZWYwNGM4MWIzMDNmIGxlZ2FjeS10cnVuaworNjA5MTAgNWQ3MjZkYTIxZDc1NDMxMDVmYmVmYjQ3ZjhiYWNjNWZiYzAzMDU3OCBsZWdhY3ktdHJ1bmsKKzYwOTExIDA5YjE2N2E0MDE4YjZkYTY4ZTIwODEyZWJmMWEwNTM1N2UwYjYyMjQgcmVsZWFzZTI1LW1haW50Cis2MDkxMiAxNTFlN2ZmYzdlODkzNjhhMDYwZjVhYjA3ZDI0MWI5ZWE3ZGNlMmYzIHJlbGVhc2UyNS1tYWludAorNjA5MTMgZDEyMTk5ZDYwMmQzY2E5YWIzZGY4OWZkNDBkYmFkZTkyODEwZjM4NSByZWxlYXNlMjUtbWFpbnQKKzYwOTE0IDFkNTA4YmJiZGI0OWEyYjExNjI5ZWUxODZhNjM5MjgyOTFiMDg2OTQgcmVsZWFzZTI1LW1haW50Cis2MDkxNSA5ZjQyOGE1ZTYyYjMxNDI3Y2M1ZmFmMDdiNzc0ZDM5ZDM0NDZkOTBkIHJlbGVhc2UyNS1tYWludAorNjA5MTUgOTQ1NTAxNjVkNjI2ODIyYTBiZDUxZDNlZDJiNjAzZGYxOGFhZTk0ZCByZWxlYXNlMjUtbWFpbnQKKzYwOTE4IDgwZWNmNjczNDdlOTU0MWYxMzY0YTI0ODk0NTRhYmFlZjM5YzdjMGQgbGVnYWN5LXRydW5rCis2MDkyMCAxYzk1OGZlNzE4ZTNlMDg5MDIyM2EwNDA4Mjk0Nzc3NGExMjJiZDUxIGxpYmZmaTMtYnJhbmNoCis2MDkyMSBiNTI2NWFjYmVlNzVjZGZlNDlmMmRhNTc4N2MxNmNjNDk0NDJlYTc4IGxlZ2FjeS10cnVuaworNjA5MjIgZjZlZWVhMDE5YzFmNGNlNWQ1N2I5ZjNjYmRiZGRkZGNhMGMxMzMwNSBsaWJmZmkzLWJyYW5jaAorNjA5MjMgOGExODdmNTYyOTU5NDkyNWMxNWY0NDcxNTQ5NzI4MjU2NGY4MGFiOSBsZWdhY3ktdHJ1bmsKKzYwOTI0IGY4MmJkOWVmN2Q3ODgzYzQwYzdhODQ2MjY0ZDM4ZTc2NmZmMjI4MTYgbGVnYWN5LXRydW5rCis2MDkyNSAwMGJkZDk2ZGRlZGEzMWEzMjM1NzNiYjc4NjNlYzZiNDllNDQ0OTE5IGxlZ2FjeS10cnVuaworNjA5MjYgOTA0OGNlOWUzN2M4ZWZmYjEwYmZkYjcyZTVkY2UwMjljZGExNDhkOCBsaWJmZmkzLWJyYW5jaAorNjA5MjcgZjllMjU1NjJiMmQxYjk5ZTNmYTQ1MGE2MzdhZTE3YWNhNzAzZGE3ZiBsZWdhY3ktdHJ1bmsKKzYwOTI4IGU5YmM0ZmJkYTE5MTI1ZGU3MzE2NGEyYjM5NTRlN2UzMmRjOTUzNjEgbGVnYWN5LXRydW5rCis2MDkyOSA1OTUzZjZmYzAyMDQ0OTUxYzA5YzkwYTJiZGNiMWFmOTdmMTY4OGVjIGxpYmZmaTMtYnJhbmNoCis2MDkzMCAzMzc4MmNhOWY2ZGNkMzMzMWIzOTQ3ZjdkYjc3NzNhMTc3OGRjNzI5IGxpYmZmaTMtYnJhbmNoCis2MDkzMSAxODRkMWIyMjc1ZGM4NzZhYjVlOTVlM2U1MjA5NDI0NDllZDU2YmY0IHB5M2sKKzYwOTMyIDdkMjYyMzBiYjc2MzAyYjI2ZWUxZTFjZDllODk2MTU4ZGRkNGRmZmYgbGVnYWN5LXRydW5rCis2MDkzMyBlYzBhODU3ZTg5NmRkYWFhMWJiOTdhODc5NGE1NjYxYjk5ZTZlMGEzIGxpYmZmaTMtYnJhbmNoCis2MDkzNCA3YmUyMGY0OGZmNjcwZmE4NjAwOGVmYTUwNTQ1NjdkMzZjNjMwYTg3IHB5M2sKKzYwOTM1IGQ4OWQ0ZGY5NjdlNjBjOTc5OTE4ODZhNGExZWNlY2E2ZjA0NjFlYTUgbGliZmZpMy1icmFuY2gKKzYwOTM2IDM0YWZlNmNiMDJhMTU4YzE3NGUwNWJkNDc4NTIwOWQ1YzJkNzFiMzMgbGVnYWN5LXRydW5rCis2MDkzNyA5MzAwNTNjOWRiMWRjMzk2NWQ4MDY1MzJmY2I2MGQ2OTBhOGE4NjQxIHJlbGVhc2UyNS1tYWludAorNjA5MzggYzU5ZmQ4MmE1NmIwMzMzZWY2MDA4NGI4NjRiZmFiZTBlMTNjZjY5MiBsZWdhY3ktdHJ1bmsKKzYwOTQwIGUyODg3ZGM1YmRiNWE2YWI4MGRhZjljZWU0YzRmZGJlYWQ0NGQ0MGEgbGliZmZpMy1icmFuY2gKKzYwOTQxIGE5ZTFmZGFmNDEzZDlmZjI2YjI4ZGZkNTkyMzQ1MDcxY2MyYjk4YmUgcHkzaworNjA5NDIgM2NjNTdmZDg3ZDBlMGU5NjA5ZDhlYzNjN2E5MjM2ZjNiZTk0NmZhYSBsZWdhY3ktdHJ1bmsKKzYwOTQzIDAyZDRmOThhN2UxMzJlZWVlN2IzZDhkZWU5NWE1MDdmMjI0NTFjZmEgbGliZmZpMy1icmFuY2gKKzYwOTQ0IDNiYmY5NmQ5NjYzOTEyNDcyNGMyYzhmMjQ0ZDI3ZDRmMTkyODUzZWYgbGliZmZpMy1icmFuY2gKKzYwOTQ1IDZlYTZjODdhNzUwMTI3ZWFjMGEyYmM0NWM1YTNhODU4OGZiZDhjNmMgbGliZmZpMy1icmFuY2gKKzYwOTQ2IDkyZGI2OWRjOGQ0YjA2NTk3NDJkZGQyNWUxZGY2YTg5OGVlMzkzYjggbGliZmZpMy1icmFuY2gKKzYwOTQ3IDhlZWY1NmUwOTg2Y2YwMTIxNTJhNDFiODc0NTk3MmFhZTE2N2I4NjAgbGliZmZpMy1icmFuY2gKKzYwOTQ4IDk4YzNmOWExZDM2NjMwMGY1Yzg0NWJmZWM4ZmU3MmIwNDdiYTY0MzQgbGliZmZpMy1icmFuY2gKKzYwOTQ5IDg1YzYzMDM2Y2EwMTkxMjVkMWI0YjhlMDgyOGM3ZTIwYzI1MzQ3NWQgbGliZmZpMy1icmFuY2gKKzYwOTUwIGYwZjhiMjAwMTUxNWUwNWQ5MzU5Y2EzODBlZTZhYzdjYWE2MTg3ZmIgbGliZmZpMy1icmFuY2gKKzYwOTUxIGE3ZjM1MGIzZWQyNDkwNjNjMzZiZjgwMzA3YWYxYmNkMWEyY2E2MGIgbGliZmZpMy1icmFuY2gKKzYwOTUyIDFiNGNmYTAwNmJlMTU5MDkxMGMzN2UyNmVmMDQxM2E3MDEyMjgzZWMgbGliZmZpMy1icmFuY2gKKzYwOTUzIDM3MzA5ZTMzYzQyYzQ1MmRhZjYwZjQyZjM1ZmU2YWQwYmRmYmU4ZmUgcmVsZWFzZTI1LW1haW50Cis2MDk1MyA0NTQ2NjgxM2RlZjc3Y2IyYmJmNTU0ODVlMDc2MjRiMWM1Zjc4ZTBmIHJlbGVhc2UyNS1tYWludAorNjA5NTUgYjg4N2RiYTJiNWUxYzE0MjgxMDNkMjUyMzcyMzIzY2VkMGIzMzMzYSBsZWdhY3ktdHJ1bmsKKzYwOTU2IDg1M2FmNWJiYjQ5N2IyMzAzNzE2NWY1NTQ5NTlhYWVkNDcyYjYyNjkgbGVnYWN5LXRydW5rCis2MDk1NyBiYzlmZDg0YWZkZWNjZWIzYzk2YWNlMjhiNjdhYjYyYTE3NDQ0MjNmIGxlZ2FjeS10cnVuaworNjA5NTggYWIzOGQ3NzFmNTZkYTk5NmFkZjQ1M2UxY2Y1ZWFlY2Y0MDM0ZmViYiBsZWdhY3ktdHJ1bmsKKzYwOTU5IGQ0NjYyNzczMGEyYTMwM2VlYTlmMGZkZmVmYWM3YzY4YmRlNGE3ZjggcHkzaworNjA5NjAgNDI3YjU0YzdlZTI1MmQ2NDQ2MjVhYzI4YzQwZmU2ZTU2OWNiMzY5MyBsaWJmZmkzLWJyYW5jaAorNjA5NjEgNmQ2YTI5M2ZiYWYzYjUxMDhkNWY4ZGMwN2YzZGVkYTY4M2JlMjdiNCBsaWJmZmkzLWJyYW5jaAorNjA5NjIgNGE5NTIyZmQ3NWE2ZTJhYjU3NjVhYzZiODIyZGFlMmM2OTYwMTU5MyBsZWdhY3ktdHJ1bmsKKzYwOTYzIDA5MWIyNzg3NmExYjg2NGUxZjkwNDA0ODBiMjkwZjM2MGUzZWQyNDAgcHkzaworNjA5NjQgNDJiM2IxMTczOTFkY2I1MmNiNmJkMTAyYmJjZTRkYmRiMDc3ZWFmYyBweTNrCis2MDk2NSA2N2E5ZDMzODU4NTEzODBlMGRlOTNiNzMxODUzNDlmMjA5NDE1OGMxIGxlZ2FjeS10cnVuaworNjA5NjYgN2M1MWUxZDE0YzhjNTlkOWM2MDU2ZWEwMDEzZDE4MmFjNTg2NjUyMSBsaWJmZmkzLWJyYW5jaAorNjA5NjcgNmE2Y2E1ZTU3OWY2NmUzZTc0MDAzMWMwNjk5NzVkZDRjOTAyNDEyNSBsaWJmZmkzLWJyYW5jaAorNjA5NjggMDc5ZTIxZjU5MzE5M2FkNzgzZGU1YjE1MGJiMzIzNDEyZmE3OTdlMyBsZWdhY3ktdHJ1bmsKKzYwOTY5IDExYTczZmJiZjg2ZjJkZjM5ODA1NzhiZDY0MjQzNmZiMzU1YTQzMGUgbGVnYWN5LXRydW5rCis2MDk3MCA4ZWI1OTgzMzEyMzE1NzA4NWE4YjMwYTIxNDRmZGRlYjc3ZTMwYzQ2IGxlZ2FjeS10cnVuaworNjA5NzEgMWM3MmE3MzgyMTMzNmIxZDZkMzNmYWRhNGFmMDNhZDFiZWU5NDBiNCBweTNrCis2MDk3MiAxNDdiNDhiM2JjMjM0ZTY4MDY5ZjViM2VjMWU0N2JhYzNjNWJlZTVlIGxlZ2FjeS10cnVuaworNjA5NzMgOTAwMzQ3ZjcwMjU4NGJiNjI3MzUxNjE0Y2NlMmJmZTYwYjlhNmUyNyBsZWdhY3ktdHJ1bmsKKzYwOTc0IGNhNWYyZjk2MDYxNzRjMzY1MTkzNjQyMTlkMWZhZDA2NTU4ZTc1YTEgbGVnYWN5LXRydW5rCis2MDk3NSA5NmEzNGVlZjg5YTNkMWRiZmUyNDUxNDUxODhiODA4MGFiOWNjNzdlIGxlZ2FjeS10cnVuaworNjA5NzYgZGRhOTJhMDk3ZThjNmY2ZDIyNjBiZmVkZTIzZDVjNDU2MjAxZGRjOSBsZWdhY3ktdHJ1bmsKKzYwOTc3IDVlMDc3MmVkMjBkMWQ2OGE5NTY1MDIxNTJjNjBhYjkzMmZkZDQ5ZGEgcHkzaworNjA5NzggMzkzODIyZjJlZjkwMWMzNjU1ZDg0YjJiZjg0MDVlM2VhYjRjODVlYiBsZWdhY3ktdHJ1bmsKKzYwOTc5IGYxYjUwYWE1ZDVhZjQ4M2FhMjYzYWE5N2RjYTFhOTNjZTcxM2VjZTggcHkzaworNjA5ODAgNzM0ZmMwYTE5NjU3ZDVmMGYyYTg0YmFkOTE1YjA1MzE2NjY5NGUyYiBsZWdhY3ktdHJ1bmsKKzYwOTgxIDdhOGRlMmE3YjFhNTZiZGYyMjJmZTZmMTQ2NjA3M2ExZWIxNGVlN2IgcHkzaworNjA5ODIgOGY5OTRkNjk3NzQ3NTUwZDEyNmE1ZWVmMmJhODdiOWM2NDMxZDgwNyBsZWdhY3ktdHJ1bmsKKzYwOTgzIDM2NTdjMjdlYTJmZDJiOWE1NzQ3M2ZlZDU5MjczZjYyY2IzNzk2ZjEgbGVnYWN5LXRydW5rCis2MDk4NCA5MzBiMjgwMmMwMzdiOTM1NTQ5ZTNhMzdmMDgwNzIyNWYxYjY3OWIyIGxlZ2FjeS10cnVuaworNjA5ODUgZDdlMjMyZTlmMWExZWUxNWMyYjNmODU5MmY3YjdjNTEyNDk2ZmMyNyBsZWdhY3ktdHJ1bmsKKzYwOTg3IDFiMTlhNTcxNDVhNWIyZjVhNjZmNmMzODVlNGE0NzhhMDczMGYyZmUgbGVnYWN5LXRydW5rCis2MDk4OCA5NzcxMzk1NmMxYjBkZjNhZWQ3ODhhZTIxNGU4ZTgzY2M0YjAxYTIzIGxlZ2FjeS10cnVuaworNjA5ODkgYmEzNTliNmMzM2MzODE1NjQxZWE5MWIwMjc5NmQ1Y2Q1NTJkNzA5OSBsZWdhY3ktdHJ1bmsKKzYwOTkwIDlmMDM3ODg3NjNlMDlhMDkwMTM3MGM3MjVhM2IzNTcxMGY3NDVlYjQgbGVnYWN5LXRydW5rCis2MDk5MSAxY2M0N2UxMjlmZjQ3ZjRlYTZkNGQ2NGYyYmQ1ODBiZmU2NGM4ZGU4IGxlZ2FjeS10cnVuaworNjA5OTIgNThjM2YzNDM5NjcwOGFkZjM0MTdjZGY2ZGJkMmY3NTU4OTZiNWVkNCBweTNrCis2MDk5MyAyYzVkOTE2YmQxMWM5YTllMTE0NjVjYjk1YjdkZDBjMDBjNzNjODMyIHB5M2sKKzYwOTk0IDQyOTg1ZWJiZmM0NTMwOWI2OTQwNGY0MzJlMmNhYWQ4Mjk3NDg5ODcgbGVnYWN5LXRydW5rCis2MDk5NSBlODRhZDJhMjU4YTQ2OTQ5NDJmOTE0NzFkOGNiYmZhNDEzZGVjMDIxIGxlZ2FjeS10cnVuaworNjA5OTYgOTc0Y2ZmM2UwMDIxNjIxYWU0YWI0OGNmMGVhNzllOTBlY2ZmZjZjZiByZWxlYXNlMjUtbWFpbnQKKzYwOTk3IDEzMGZiZmIxNjAzNmFmNDY4ODAxMmQ2YmY1Yjg5OGE0MTRmNjIwZTEgcmVsZWFzZTI1LW1haW50Cis2MDk5OCA3NDhhZjBiODM2NzRjYzFjMWZlMGZjNWVmYzlkOTVlOWQxYzZiNmQyIHJlbGVhc2UyNS1tYWludAorNjA5OTkgZWM3ZjA4NzNiNjY0ZGY0NjM2ZWQzMWI3YmVkZTBlMDMxYTAwNjQ4ZSByZWxlYXNlMjUtbWFpbnQKKzYxMDAwIDFkODRiZjVmOTQ3ODZhODQ2YzA4MDI4Zjk5YjZjM2I4MjdhY2Y0NjMgbGVnYWN5LXRydW5rCis2MTAwMSA0N2E1OGNhM2UxMGViNzAyN2QwY2M5OTRlM2IxYWRkNjU3ZmI5NGJlIGxlZ2FjeS10cnVuaworNjEwMDIgMzkxNWQ1ZjY1MGZhOWRlMDdhYmI3MWQyNjEyYzg2MWMxMmE2ZTQ2ZiBsZWdhY3ktdHJ1bmsKKzYxMDAzIDdkZDJjMTc0NjI2N2QyZWNlMTc5MjgxNTM1YWIwZmVhYTlhZDY0MjAgcHkzaworNjEwMDQgNmJhNTMwOGY3YmE0MTY1YjhmZTIwZDk5ZWU5YmI1M2UzMDIyNjIzMCBsZWdhY3ktdHJ1bmsKKzYxMDA2IGVlYzRjMWU5ZTljYzg4ZmVkNjEyMzhjY2Y0ZTNmZWIxNmFlYjU2NzEgbGVnYWN5LXRydW5rCis2MTAwNyA2YTEzZmVjYWYyZGZiMjZjNGIxMDA2NTE0MGVjMTA4YjRjMDc3NjcwIHJlbGVhc2UyNS1tYWludAorNjEwMDggNGViNWE2NjdjODgyYjVhNGUyNzQxODA4ZTdmNmMwNDBmNmY1YmE2NCBsZWdhY3ktdHJ1bmsKKzYxMDA5IDgwZTBhMjkzMGM2ZDU5ODVlNTQ4NDdmMmFjNGI3MzJlMGU0MWEzNjIgcmVsZWFzZTI1LW1haW50Cis2MTAxMSAyNDFjZjgxYTA1MDg3OTdmY2M1ZDliNWIwMWFjY2M0Nzg4YWIzNTNhIGxlZ2FjeS10cnVuaworNjEwMTMgOWYxODNhZTM0NThiZmI4YTkzMTczYzNmNDI2NzdmNzljNGQ5NjJmMiBsZWdhY3ktdHJ1bmsKKzYxMDE2IDQwZDI2OWQ2ZGE5YzU4MzA3YzNhYTQ3N2E1MjQwODk2YTc5NWVkMjMgcmVsZWFzZTI1LW1haW50Cis2MTAxNyBhMDEyMTNhNTQyNWQxYzQwNTFlY2EyZWQ3ODlkZDY0NGI1MzI4MzNhIGxlZ2FjeS10cnVuaworNjEwMTggNjY5MzA0M2QyN2ZkMzI5N2NhOWZkOTFlOWMzZmU4YjYyZjdmZjM2MSBsZWdhY3ktdHJ1bmsKKzYxMDE5IDgxMGJkNjc3Mzg2MzZlYzg1OWM2ZjUwMjkzMTdkNjc5ZjEwYjA0ZjkgbGVnYWN5LXRydW5rCis2MTAyMCAxOWQ4NTI5NDJkZGRkMjJjMTA5ZmM2ODZmNDhkMmRiMjFhZTVlYWNmIGxlZ2FjeS10cnVuaworNjEwMjEgODUzMWY4OGI1NzhlMjBhNDI5NzZlMzM1NmFlMWViZmIwNzA0NzhkZiBsZWdhY3ktdHJ1bmsKKzYxMDI0IDMwNTc4ZTA0ZDM1Y2RjMGM4NjE1YTg3NzdiZjYxNGM2YmIwYzU4ZDIgbGVnYWN5LXRydW5rCis2MTAyNSAyN2JhYjM5ODlmNjM1M2NkNzJiM2Q3ZjNlMDMyYzA4OTQzNDY5ODg3IGxlZ2FjeS10cnVuaworNjEwMjcgODEzYzE0Njg1OGY3OGUxMjhiMTE0MWY4MWI2NDU4MGMxNjIzZWIxZSBsZWdhY3ktdHJ1bmsKKzYxMDI4IGMxMjZiZDliNTA1YmY4NmI4MWVhYmU0NzljZWY2Y2IyMTA3ZDJiYWUgbGVnYWN5LXRydW5rCis2MTAyOSA2YTk5MmI2NjgwYjFiNzY0NTVjZTBlMjExM2NlNDAzOWJkOGE3NGRiIGxlZ2FjeS10cnVuaworNjEwMzAgMWIwZWI3NmVmNzJhYmQ5MDgyYTA5NTE0ZTg3OTE4N2ZjYWE4NWNhMCByZWxlYXNlMjUtbWFpbnQKKzYxMDMyIDliMTE1YzVlOTExNTJiMDcyM2ZmZGU5NWI5YjU4MTJiMThjMDJiYTUgbGVnYWN5LXRydW5rCis2MTAzMyA5N2ExOTcyYjY3MmU3YjViNTM1YWIwM2ZlZjg4MmYxZjFmODM3NjZkIGxlZ2FjeS10cnVuaworNjEwMzQgMjFhNWU5YTU0ODNhNTIyNDBiNTFiNjJiZGY5MWI1NjQxMmYzNWFjMCBsZWdhY3ktdHJ1bmsKKzYxMDM1IDdlZmE0ZDFiY2VkMzhjMzBjNTc5OWQ1NzEyNmZjNGViZjU4MzJhZTYgbGVnYWN5LXRydW5rCis2MTAzNiA0ODQ4OGZhNTA3MjllNGYwYmEwMDVhNWUyYjMzNjAwMzc5NjgwMjhjIHB5M2sKKzYxMDM3IDAwMmE1YWM3OTJiMWU2YTdmOTk2N2NhMTAyMzRmODJkNjJkOWQ2NzcgbGVnYWN5LXRydW5rCis2MTAzOCBlYWE4YzE5MzkxMDhlMDFkMTRkZmUwMDI3YWU1YmYwZDNlM2ZhNzkwIHB5M2sKKzYxMDM5IDhjN2JhMGVkODQ0M2I1MTM3MmY5Yzc5YmU5ZDNkNTJlZGQwZGE5NjYgbGVnYWN5LXRydW5rCis2MTA0MCAxOGZlZDE0YjA2YjYwNjY0ZmMyZmQyMGZjMzE1YWJlNjliNGZhYTc3IGxlZ2FjeS10cnVuaworNjEwNDEgYzAzYWZmNmQwN2Y1M2IxMDZjNjJjNjI5NWY5MGNlNWI1NmJlMTgzNyBsZWdhY3ktdHJ1bmsKKzYxMDQ2IGQ4OWZlMWQyZmFkZDgyYTBjYzgzNjEyOGMxYTkwMzRkNDBjOTg4NGIgbGVnYWN5LXRydW5rCis2MTA0OCBhZGU3YWM4OGQyZDA5ZTIwZTYyMWI2MjExOWQ4YTcxZDA2ZDU4ZTUxIGxlZ2FjeS10cnVuaworNjEwNDkgYWY5MjhmZjBjNWM2OWQxYzU4M2ExZDY5ZTgzMTRjMGI4ZjdkNDU3YiBsZWdhY3ktdHJ1bmsKKzYxMDUwIDFiNmZiNTY5OTYzNDU3ODQwYWU5NzgzN2YwMzNhYzQxYWQxODAyYzcgcHkzaworNjEwNTEgYmY4ZWU1OTNjYmFkMDNjNzI0ZTVlNDk2YTBkZWRkZjdkYzMxNWI3NyBsZWdhY3ktdHJ1bmsKKzYxMDUyIDU1ZWVmYjQzZWY2ZjNhZDFhMDExNzdlZGFkMDJjMzE2NTZmNDU3NzUgbGVnYWN5LXRydW5rCis2MTA1NCBhNzdlMWNmN2VkMjUyNjJhOWNmMzUzNDdmZDg2YzMwMjczOGNkNDYwIGxlZ2FjeS10cnVuaworNjEwNTUgYjBmZGU5MzY2MWNlODc1MWVkZmM2YmIzOWNjZmMzYTRiNWZkNzhmNiBweTNrCis2MTA1NiAwOWM5Y2VlY2RkNTZkMDRiZjIzNzE5MWNkMTQ4NmQ0NzZkNjhjM2FiIHB5M2sKKzYxMDU3IDcxMjkzNzJmNTMzZjQxYjM3NDE1MjZhZjgyNjQ5OTVhOGM4OTU0ZTggbGVnYWN5LXRydW5rCis2MTA1OCBkYzViMDEwNzI5NGMwZGM0ZjdkNjg5NTNmZTUyNzExMTAxZDVhYzg5IGxlZ2FjeS10cnVuaworNjEwNTkgZTU3ZmZhMmI1ZDA3ZjAxMjVkNmM3ODlmNGI1MTRkZjk1OGZiZjZlYSBsZWdhY3ktdHJ1bmsKKzYxMDYwIGIyOThjYjQ5NzVkMmRmZGMwMTBlYmRlYTA4YzdjM2U4ZjBlYzI2YTQgbGVnYWN5LXRydW5rCis2MTA2MSBmY2U1YWY1Y2UxNmE2ZDcwZjAxMDY1NTk5YWQzY2I2YmE4MjM0NTFmIHB5M2sKKzYxMDYyIDhiNTJmZjQxZTBlMjc5NjMzMGRiNGU2YzNkZTJiYTg3OTBiNDk3ZWQgcHkzaworNjEwNjMgZjg4YmViZWViNjczZTk4NjA4NDgwZWYxOTI5NmM3NzFmZjQzNWQwNiBsZWdhY3ktdHJ1bmsKKzYxMDY0IDNhNmNhODllZjc2ZDQ3NDI1YWRkM2Q0OTUxZDRjOTkyM2FmYTE2NmQgbGVnYWN5LXRydW5rCis2MTA2NSAxN2M4ZWM4ODlmZjQyYjBjZjI0MjFiNTVlNTU3MWY1OWQyYTM3OGIzIGxlZ2FjeS10cnVuaworNjEwNjYgYzVlNzdlMGYyZjMyZmZhZjQyYzc1YTc0ZGRjYTFlNzRmM2UwMTE3MiBweTNrCis2MTA2NyAxNDRlODQ2NzJlZjkzNmQ5NzA4MDE1ZmQ3MjUyMzQzMzJhYWNkZmUwIGxlZ2FjeS10cnVuaworNjEwNjkgNDI4OWM0MTA0Mjc5MDM2ZWZiODYyZDIyNDkyMDgwYzY4M2RhZjQyZiBsZWdhY3ktdHJ1bmsKKzYxMDcxIGY2ZGMwOGFkNTY0YjFjNjk2ZTY3YTNmYjQyMzBjMzliNmI4N2NjOWMgbGVnYWN5LXRydW5rCis2MTA3MiA0ZjYzOWFmNThhMTkwYzA5OGI2NjVhMzdiMWRlMDViYjQ2ZDg5MGYzIGxlZ2FjeS10cnVuaworNjEwNzMgZTgxZTQ1ZjgwMDJlOGMwOWEzY2YxMDcxMjc2Y2EwNzYyZTAzNzdmNCBsZWdhY3ktdHJ1bmsKKzYxMDc0IDQ1ZmMzZWNiMzAyM2VkODBjOTc1OTAxOGIyYjkyZWZlN2ExMDFkM2QgbGVnYWN5LXRydW5rCis2MTA3NSA5YjM4MWVkMWRiMTQzMzJlNDE0Zjk3OTQyMjZiMjI1NGI2NmFhNGYwIGxlZ2FjeS10cnVuaworNjEwNzYgNjI0YWU4N2YxYzk2MWZkOTFmNWExNTVmYmE2ODljM2Q2NGVmZDEyNSBsZWdhY3ktdHJ1bmsKKzYxMDc3IDA4OGRmYzBmNzFiNDk4MGNiOGUyOTUzMDY1YTBlYTQ3N2Y4OTg5ZDAgbGVnYWN5LXRydW5rCis2MTA3OCA0YWU0MzMxNGI3NDYyOGY5ZjljYmVjNzM3YTdlZjk0MTY2NmIzMGM0IGxlZ2FjeS10cnVuaworNjEwNzkgYmYxYWIzYmY3OTljODYzNjgzODhjMjlhOGNiMTJmNGI3OGRkNjk0NiBsZWdhY3ktdHJ1bmsKKzYxMDgwIGNhY2Q3YmExMWI3NzU4YzE4OTI5NjAyZmYyZTBjZmI2YmNmM2NmMzcgbGVnYWN5LXRydW5rCis2MTA4MSAyYjM2NzI1MGIwY2QzMzU5MTdiMzIwMjU0ZWU5ODg1MzYzNGFjYmUzIGxlZ2FjeS10cnVuaworNjEwODIgZmU3Mzk0YmM3OWQ2M2UyMzUyMzk4ZjEyNDA5NDA0NDIxOTk2YWFmYSBsZWdhY3ktdHJ1bmsKKzYxMDgzIDdhZmVmOGY0M2U0YTUyZTA4MDE4ZDZjOWNjMDE0MjI4ODAzNzEwMTUgcHkzaworNjEwODQgYzU3Y2IyZjhjMzUwNTJjNTQ2NDYyODgwYzZhNzkzMGU1YTIyOTkxMSBsZWdhY3ktdHJ1bmsKKzYxMDg1IGQxMzIzZmNmM2FhMTc5NTNkYzAyNGM2NTJmYjIwYjZlN2MwOTQwZDQgcHkzaworNjEwODYgZjMzZjY2YTIwODJmYmYzMjZmZjc0ZTYyZjRiZjI0NGUwMDE3MzA5OCBsZWdhY3ktdHJ1bmsKKzYxMDg3IGZmZGQzMWYxY2QyMDk0ZDI2YjhiMGMwYWI0Zjg2YjU1MDllNjczOTEgbGVnYWN5LXRydW5rCis2MTA4OCBjYTQ1ZWI3MWYyZDJiYTMxZWNkMmFmYjJiMmZmNWRlYmJmMTM1ZTBjIGxlZ2FjeS10cnVuaworNjEwODkgZTQyNWRkYTRmNjMwMDYwZGY2YWU4MmFhZmU5NTE2MDJkMTUzMjZjMSBsZWdhY3ktdHJ1bmsKKzYxMDkwIGYyZjMzZGI1ODkyMDBiZWMzYmQzYjc5NjkyODA5MDU0YzdlMTI5MmYgbGVnYWN5LXRydW5rCis2MTA5MSA3ZDczNDdkZDk0ZTg3N2Q3Njk5ZDY3ZGU3YzkyZTVmZDJlNmY0ZmFiIGxlZ2FjeS10cnVuaworNjEwOTMgZjc4ODQxNjRmMDg4OWJlYjYxMjBjMWUyNjY2ZmI1M2E2N2U0NDY3YiBsaWJmZmkzLWJyYW5jaAorNjEwOTQgMmM5MzE4M2I4YTNjMjY5NDQ2YzUzNGYwNWFiYzI5OTQ5NDVlOTAyYiBsaWJmZmkzLWJyYW5jaAorNjEwOTUgNmM0NjEyMjU1ZjYwNTJjMmFhYTQ5YzgxN2QyYTc4NjAwMmY3YzY2MCBsaWJmZmkzLWJyYW5jaAorNjEwOTYgYjc4YzNhNDM3MWQ1MTExMGEzNzU0NjhkNzA0ZTYwZDJiNTE2NDhlMCBsaWJmZmkzLWJyYW5jaAorNjEwOTcgZDE3NjkwYzUwNzY2NjgzOGM2Y2I5ZjdiM2EzYzY0MjgwNTBhOWEyMCBsaWJmZmkzLWJyYW5jaAorNjEwOTggNjU5MmU1YTkwYzJjZDg0ZjIxMGZkOWY2NmRhMmE3NDhmNDg0YjUxZSBsZWdhY3ktdHJ1bmsKKzYxMDk5IDhhYWYxNDk1ZGEzOTU5Y2Q4NDRjYjVhNmRkMTZmM2UyOWEzNjMwMTQgbGVnYWN5LXRydW5rCis2MTEwMCAzZTQzNWEyMTEzNTY5NjhkN2U0MGViMjMxYjllNmI1YTVlYjEzM2EzIGxlZ2FjeS10cnVuaworNjExMDEgZDQ0MzRmMDNiOTcwMjJiMjc1ZjA0NTZiYTAzNjYyYWYwM2FlODRkYiBsZWdhY3ktdHJ1bmsKKzYxMTAyIDk2ZDVhMTU3MzE2ZTM1MTgwOTI3N2Q4M2U0NjI5M2ZkNGU3OGI1OGUgbGVnYWN5LXRydW5rCis2MTEwMyA4YzNjNWI0ZWVmNTU1NzE5Mzk4NTZiMzMxN2EyMDYyNTExYjY4MTlkIHB5M2sKKzYxMTA0IDhkZDMwZmUxMWE0YjM0ZDEwNzdiZTgwOGYyZTBmMTRhZGI4NDM0NGIgcHkzaworNjExMDUgMTE4OGVkZTE1NzM1YjliODY5OTEwY2M0NmY4N2Q1N2MxOTdlYzZmNSBsZWdhY3ktdHJ1bmsKKzYxMTA2IGNjMjIwNzQ1ZTRlNTkzZTZjMzZiNmY2ZGYyZjc0YTU0MGNkODJlM2UgbGVnYWN5LXRydW5rCis2MTEwNyA1MDRiNDM1N2JkZGQzOGU3M2EzY2VlYTYyNmQyOTkwMzAwNDEyZTMzIGxlZ2FjeS10cnVuaworNjExMDggMmQyYjBlMTU1ZjE5OGZiYzZmNjA3ZjFjODI5M2I4ZThhNjA5ODU2NyBsZWdhY3ktdHJ1bmsKKzYxMTA5IGJmM2ZhMzdmZTc5Y2QwMzhjMmVkM2ZiNjQyY2I1NjQ0NmNjNzk0OTkgbGVnYWN5LXRydW5rCis2MTExMCAwY2I0ODE5NTY0NTJmYzVmNWMxMDFlZTNmMjQwOGM5OTY1NWFhYThkIHB5M2sKKzYxMTExIDI0MjU0NDMwZTg5YTBjOGUwNWQ3NWQ5OGY4MGQ2YmUzMjZiYTZlNjYgdHJ1bmstbWF0aAorNjExMTIgMDEyOGNlNzczNTRmNjA1MjZkYjhkYzg3ZWU1MDc2OTM0YjNiYTRjMiBweTNrCis2MTExMyA3MTBkNTI1YjA1NGM4MWViMmNlN2I2MmVhYzQ5YTIxNmY0ZGYwODhmIGxlZ2FjeS10cnVuaworNjExMTQgYzM4ZGNiN2Q5NGE2ZGE5YmRmY2FiOGY0N2Y5NDNlNTM3MjhkMjVmNSBweTNrCis2MTExNSBlNGZmZTY0OTk1NDgxYTk3MTA1YjkzMDBiODllZmQ3Y2NlYzZmNWI5IHB5M2sKKzYxMTE2IDU5NzYyZDY3MTRhMzEzYjk1ZDkyZDViM2RmNjdhNjM1YTJiMDBlMWEgbGVnYWN5LXRydW5rCis2MTExNyA5NzJmYzdkN2NiNzI2OTc4YzI4NTUwMjZjNDQyOGI3MWU3NDE1MTAxIHB5M2sKKzYxMTE4IDQzZTA4NDg0N2U1MzMyMzQwMWU4Y2Y3YzJkMDI4YzI2OGNjZjgwMjggbGVnYWN5LXRydW5rCis2MTExOSA3ZGEzNmI0OWM5ZTVhYWUyZjg1MDVkM2VjMDZiMzZiNjEwZGFhZGEyIGxlZ2FjeS10cnVuaworNjExMjAgYzU0NjUyMzY2NzcyOGM5NTcwN2RkMzg1Y2UwYWIyNzgwNmI1ZTMxMyBweTNrCis2MTEyMSBkYmYxZGRjNWY0Nzk1Mzc5NDc0NWY2ZmM5ZmRlMmU1NDI5ZGFlMGYzIHB5M2sKKzYxMTIzIGJjZTRjNDBkZjdkZjc0ZWZkODdmZWUyOTIwOWViMWNlMzM2ZjE5NDMgbGVnYWN5LXRydW5rCis2MTEyNCAxMDk2MmIzZjc3YTliMzgxYjYzMTgxNmFjYjE2YThmYzQ5Y2Q2NTk1IGxlZ2FjeS10cnVuaworNjExMjUgZmFjZjAxZjE1YjE1MzU1NTljMmJhMDVjNGY1YWE3MjA0NmI4OGYxYyBsZWdhY3ktdHJ1bmsKKzYxMTI2IDkzN2EzYzVhZjY5MTkyYjhlZDE4ZjRlN2FlZjZjMWU1OWVjZDBkYjggcHkzaworNjExMjcgOGNkOTg0YzE3ZGVjODVhYzA3MzkxODVkMGVjY2U3ZDBlNDlmYzU4YyBweTNrCis2MTEyOCBiMjY5YzJkMDNmZDJkNmEyNzA4ZWNmNjYzMGI3ZmVhMjE5MjViYTk4IGxlZ2FjeS10cnVuaworNjExMzIgMDk0MDcxM2I2NzI2Y2EyNmYzYmQ5ZTZmZjQ1YzBlODdiZjVkMGY3ZSBsZWdhY3ktdHJ1bmsKKzYxMTMzIDA1YzM5NjE5MWU0MzI5MWY3NjBiYzIwMjkzNzkzZjZhOTRmZTNiNTcgbGVnYWN5LXRydW5rCis2MTEzNSA0YTk1ODhiMWU0Yjk1ZGYxM2JkNTEwOGViYTM0N2MwNjFlZmUyMzE0IGxlZ2FjeS10cnVuaworNjExMzYgODljZmIzOGE0Yjk4NjIzY2EwNTUyNmQ2YWI5MjI2MDdlZDA4ZWUwZiBsZWdhY3ktdHJ1bmsKKzYxMTM3IDIwN2NhMGE4YWZkMDAyMzBhYmI1ZWNlMjQ3N2Q2OGZiNzMwYjJhNDAgcHkzaworNjExMzggY2ExMWNmMjRlYjg1NWY1Yzg2Y2MxYzQwZjA0N2I0NjVjYmU3ZTQ4YSBsZWdhY3ktdHJ1bmsKKzYxMTM5IDY3ZDQwNDg2Njg0NjIwOTRlZGYzZWNlNzU2ZjQwMjlhNjJmZDUwNzUgbGVnYWN5LXRydW5rCis2MTE0MCAwMmEwMWU1NzhkNmM1YTBiZTM0Mzc4MzA2NjYwYzNmY2M0ZDU5YzYzIHB5M2sKKzYxMTQxIGI3ZWU5MDc0Y2EwZWIzYjc3ZWZmZDJiMjMxYjMwOTE2NzkxNjBlYTAgbGVnYWN5LXRydW5rCis2MTE0MiBmYzZmOTA1NDVjYjQ4ZTVjZWY1ZjZlY2JiMTBmZTZlY2NkY2Q3OTdjIHB5M2sKKzYxMTQzIDAwMjNjMDQyMjhlNmIzNTMzMDVkNWNhZGFhOGZlNjU5MTgzMTgxMDYgbGVnYWN5LXRydW5rCis2MTE0NCA4OTQ2ZTI3YTQ1NjNiYzJkM2RiMjllNDYwZjk4YzE4MWFkZTc1ZGYyIGxlZ2FjeS10cnVuaworNjExNDUgOWI4ZmM0MDVmOWIwNGZjNTExYTZjMjM4MTExOTk0ZTgxMjI4NWM0NCBweTNrCis2MTE0NiA5YWQ1NDJlYTA1YmExZGE5YjAwNjFlMmVlOTJlOGM5NTA3ZjQwNjYzIGxlZ2FjeS10cnVuaworNjExNDcgNDRkMTBkMzkwOTJjNjVlYzJmZWJjY2FlNzI2Yzg2MmZmNGI4NzU0NyBsZWdhY3ktdHJ1bmsKKzYxMTQ4IDZhMDRkYmIwZDE0YjQ5ZDE1ZjMwZGEzZjc3ZDM5ZjVmNjRhMDllNjYgbGVnYWN5LXRydW5rCis2MTE0OSAzMTI3OTU2ZjNiMzNlN2QxZGZhMmY1ZTI3MjE1NTg2ODhjOTU1YmIyIGxlZ2FjeS10cnVuaworNjExNTAgYThmYmQ5MjcxNGE5YTljNDcyMjdiOGYyNmU4NzZmNDRlZTgyNjA3ZCBsZWdhY3ktdHJ1bmsKKzYxMTUxIDJkMGJkMDk1YzQyMGIwNzExMDAwZDliZTY2ODQ4ZjZjZmQ5NzJiM2IgbGVnYWN5LXRydW5rCis2MTE1MiAwYWRmYmE4YWU5NTcxM2M0ZTBkNzJmMTVkMDg5NmRhZmJmYTZiOGQ0IGxlZ2FjeS10cnVuaworNjExNTMgODJjM2IwYjVhYTkyNThkODhlMTdmOTdkMTVmMDhmMDcyZjQ4ZTdlMyBweTNrCis2MTE1NCBjMDlkYjc4YmQwNjZjY2IxMmQxNTg3ODlkYmRmMzQ5OGE2MTM4OTNhIHB5M2sKKzYxMTU1IGNjNTU0M2I1NjEwYjJkMDY1Mjg0NDQ2Njg0OTY5ZGVkOWVmNjVmNDMgcHkzaworNjExNTYgMGUwMTY5YjBlYWNjNmRkZjgwNjhkNWM3Y2QxODQ3M2E3YzMwYjlkOSBweTNrCis2MTE1NyA1YmEwNjY5MGMxODQ3OTliMDVjNWRiNjAxMTBlMjNmYThjNzBhNTM4IGxlZ2FjeS10cnVuaworNjExNTggZGYxNTgyN2YzNDg4MWI5YWYwOTM2MzUwODEzY2VkNWMxMjNjODIzMCBweTNrCis2MTE1OSAzNjJhNDZlN2MzM2EyYTZhZjY3YTc5NzQzMGZkNjRmYjkwNTc2NjZhIHB5M2sKKzYxMTYxIDIwYTQyNjc0YjExMTA0YWI5ODU4NjlhMWRiZTc0ZDE2MGU1ZjU0ZDMgcHkzaworNjExNjMgY2QxNWE1ZTljMWRlNTliYmVmZGE3ZjZmZjg1ZjQ2MTIwMDU2ZDNmNCB0cnVuay1tYXRoCis2MTE2NCBjMTI1YzYxZTA2YTg2MDY3MzIwYjUyNmQ4MDFmYTlmN2NlYmNkZjU1IHRydW5rLW1hdGgKKzYxMTY1IDcwYzQxYmQ2ODBiNWU3Y2IwMWE0MjU2YmVjZTliMzI0ZWE2NGQwODAgbGVnYWN5LXRydW5rCis2MTE2NiAzNDM5ZmEyMTVmYWVjMGFlMThjYjI4NDM5NGYxY2M1MDQ1OTVkYmVhIGxlZ2FjeS10cnVuaworNjExNjcgNWI3MDc4ZWNjZWU4MzY5N2Y1NDQxNzQyZGY4ZTlhZGM1NGU3Y2M4MiBsZWdhY3ktdHJ1bmsKKzYxMTY4IGE2MmY5NWE0YWRmYzVlMmFkMjYzNmUwNzY0OWJiYzc3YTQwNzU1MDEgbGVnYWN5LXRydW5rCis2MTE3MCA0MDYwZGIxMjZlY2YzNmM1MDU0MjhjMjRkYzZkYjU0ZjFkNTdhYzU5IGxlZ2FjeS10cnVuaworNjExNzEgOGJiZTUzMWZjZDNjOGNhNzFmNWI0MWQxMjZiMzhkZTFjN2NhZWU0ZCBsZWdhY3ktdHJ1bmsKKzYxMTcyIGY3MmIyZGU5OTdiOTkyNzg4NWE5NGM3MzljOWFjOTc4MWIyODdmYmQgbGVnYWN5LXRydW5rCis2MTE3MyA5NmNhOGM3Y2VkYzRkMDMxZWJiMjA4ZTVhZGE5MzE4ZTYwOGNhNjI4IGxlZ2FjeS10cnVuaworNjExNzQgNzYyOGNiNDAzYzUzZTFhMzZhZTNkMmY5NDhiMTcxNTU5NmE2NjM2NSBsZWdhY3ktdHJ1bmsKKzYxMTc1IGJiZGYwNmE4NmEyNDMyOThiMjEwNzRlOWFlNTNjYWNjYWMwODRjMzEgbGVnYWN5LXRydW5rCis2MTE3NiAwYThlZWNhYzVhZDFkYzkzNDdkZTRjYWI0NzI1YjgxNjExZjA1ZmVhIGxlZ2FjeS10cnVuaworNjExNzcgZjY1M2MwYjg5MTZiOGU1NjViNzA3NjZkOTFhM2YyMjUwZDRlNjY4OCBsZWdhY3ktdHJ1bmsKKzYxMTc4IDQ3MzI4ZDc2ZThhYmJkMTc2MzFlZDY2ODA1Yjc1MmU4ZmMxNWEzYjggcmVsZWFzZTIzLW1haW50Cis2MTE3OSA1NGYxY2I4YTgxZjY2MDI1YzdlZjEyNmU4ZTdlNDRlYjQwMzU2ZDMyIHJlbGVhc2UyNC1tYWludAorNjExODAgMDU2NTEzMGQ3ZDlmNjRjMGRmNDQwZTVjMjE1ZjJhNGRlODM0NjBjYyByZWxlYXNlMjQtbWFpbnQKKzYxMTgxIDFmN2Q2MjhjNzBhOWFlZmU3NjJjMmMzMjIxMDg3NmZhZjhkNjRjNzggcmVsZWFzZTI0LW1haW50Cis2MTE4MiA3YTFmYzYxZDVjM2U0NWYzYTIyMTVkNDJjYTg1Njg2MWExODBkMTE5IHJlbGVhc2UyNC1tYWludAorNjExODMgNWNjYjZlYjIwMmZmMjFjMDE4MDA0NzU1NWVjYTY2OWJiOTI2Y2UxNyBsZWdhY3ktdHJ1bmsKKzYxMTg0IDg4YzFlMTdjZWZmY2YzNTkzZmIxYjViMGQ2MTc0NmFlYzBhZTk4MWMgcmVsZWFzZTIzLW1haW50Cis2MTE4NSA4OTNjN2JkNGE5MmJkODg5YTg1ZTY5MWY0OTE4OGMzN2IwYTcyMzU3IHJlbGVhc2UyMy1tYWludAorNjExODYgNTY2ODFkNWJlZTcwOTMwYmM0Y2Q4MWMyODkxZmNlNGMzMGVhNjcwYSByZWxlYXNlMjMtbWFpbnQKKzYxMTg3IDRkNzEzMDFhNmQ0YjdmYTk3OGUwZGUyY2YwYWIyNzFhMTRlYWUyNmIgcHkzaworNjExODggYTMxYjY1MDUxNWNiOWNhNDFjNTdjMTVkNGJkYjczYmMxMzhlZGNmMCBweTNrCis2MTE4OSBjZjNhODBmMWRhN2QwN2EwMzRmZTQ3MTNmMDQ4ZjM3OThlNmE0OWUxIGxlZ2FjeS10cnVuaworNjExOTAgNjA2OGI3NWVjMjdhMGYxOWM3MjAyYzgwZTA4MGRlN2ZlM2Q5ZjRhMiBsZWdhY3ktdHJ1bmsKKzYxMTkxIDQ0YWQ3OGZlMzVmYWIxMzE3Y2ZjZDAzMTg3ZjQ3Njg1MTFhZjFlNjggcHkzaworNjExOTIgYjkzMmYwMzVmYjNlZjQzNmRhYjAwNjIxYjUzZTdmMzEzZmQwMGZlMiBsZWdhY3ktdHJ1bmsKKzYxMTkzIDI0ZjQyMzBiYWViZTdkZmM2Y2IzNzY5ZmU5NzliMzFkYTY5MTc2YTcgcHkzaworNjExOTQgYzZkOWEzNGYwMjRmZGJhNDY2YTkyMjc5ZTNmMTE1NmMyOTE3ZGUyMiBsZWdhY3ktdHJ1bmsKKzYxMTk1IDJjNzNjNTgzM2YyMDA1YWU5ZjU2ZGNjYmM1ZjlkMjA5YTMyMDVmMmIgbGVnYWN5LXRydW5rCis2MTE5NiA3ZTRiNzUzYWZlYzZlMTc5NGUzN2FjOGVkYzY0MzI1MWU0MzVkMmExIHB5M2sKKzYxMTk4IGE1NTEzNmM3OGI2MDQxZDNlZTZmNTA1ZmUxMWQ1ZTlhYjQ1NWJmZmYgbGVnYWN5LXRydW5rCis2MTE5OSBhMThhNDI0YzJiZDM0ZTc4N2Y5MjMzODcxNmQ4MmQ3ZDQ4ZTkwNzA1IGxlZ2FjeS10cnVuaworNjEyMDMgNDFhNzA3NzQ0YmM4OThkY2EzZGZiMGQ0YjU3NzJmNTIyMzE1MWZmMSBsZWdhY3ktdHJ1bmsKKzYxMjA0IDYyODJkZmQ1ZGM0OTRmNDA5MWJhMzI4NTI5NWI2OWEzYmViNDczMmMgbGVnYWN5LXRydW5rCis2MTIwNSA4ODJlYmExNDUxMTk4ZDVhMGZmZDgxYmYyMTc4ZmYxN2FkZjg3YjMzIHB5M2sKKzYxMjA2IDI1NDA2YjNmZjk3YTZmZDI1ZGQ1NTExZGQ1MDVlMzE5YjI4ZTRhODkgcHkzaworNjEyMDcgNjVlZjYwOGRkNjZjYjA0MzIwYjVjMjcxY2Y1NzA1Y2Q5OWIwZTQzZiBsZWdhY3ktdHJ1bmsKKzYxMjA4IGU5OWUxZDhiODA3NzcwZWU4YmU2YjFhYjM1MTY0NTAzMGQyNzBkOTMgcHkzaworNjEyMDkgYzUxOGYzOTQ3M2ZkMGI5MDAzZDgzODAxNTIyMzY1YmVmYmM1MmJhYyBsZWdhY3ktdHJ1bmsKKzYxMjEwIGExNTRmMTk4MjU5MjhjYmFmMWYyZmM0MzI3ODliZGUzZjJlN2E0MGUgbGVnYWN5LXRydW5rCis2MTIxMSAwNzIzOTJlZDRlYTY5MTM5MTc3MWY0MDk1ZDM5Nzg2ZmQwODc1NTllIGxlZ2FjeS10cnVuaworNjEyMTIgODQwMTM4ZTI0OTgwYzg5OTc0NjNjM2Q4NjY0MzE0MDAwMGJkMGFjMSBsZWdhY3ktdHJ1bmsKKzYxMjEzIDJkNTUxZDA0NjAyMmUxYjc0ODY2YTY1NTQyMzc5YmU5MmZiZDNiYjcgbGVnYWN5LXRydW5rCis2MTIxNCA0ZDM2MWYwMTY0MWNiNjExYWIzZmE5MDNjMGVmMzQ4Y2M2ZmEzOTQ0IGxlZ2FjeS10cnVuaworNjEyMTcgOTFkNzU3MmUzNWExY2QwMTBlYTAxNGJkMzhkNDY3YTdjMDIyOGM3OSBsZWdhY3ktdHJ1bmsKKzYxMjE4IGQ3ZTRjNjNlYmNhZDA3YmU2YjJiYzE4ZTAzYzI1ZWQxYzMyNjRhMjQgbGVnYWN5LXRydW5rCis2MTIxOSA1NDg5YWY2ODY0MDhjMWVjMDcyYmEwYjg5NmJmMzMxYjEyZWQyZGUxIGxlZ2FjeS10cnVuaworNjEyMjAgM2ZjMDljY2YwMTQxODVkMmNiNGNlZjFjNWFlMzUwOTYxOTY1MGY4NyBsZWdhY3ktdHJ1bmsKKzYxMjIxIDBlMjI0YWEyMTlhMjFiN2ZhMjI1ZGExM2IxNWU3MTAxNGMwOTQwMjggbGVnYWN5LXRydW5rCis2MTIyMiBmM2ViNDU3ZTk2YTc1YzNmOTc3ZTU3MGIyNWUzMWJkODEyZGU1ZjBlIGxlZ2FjeS10cnVuaworNjEyMjQgZTQ0Yzc0NWJlYzBiYWRiNzkwMTZlYWNkMGNhNmIyZjNjZmU4MTBhZiBsZWdhY3ktdHJ1bmsKKzYxMjI1IDRlYTM2YzAxMmEyZGU1MjI3NDIxMjFkNDkzMjY1MjljOThjMGZiMTkgbGVnYWN5LXRydW5rCis2MTIyNiBkZDAxNmE2ZGRjYzVhOTAyOGYwNWJhNTE3YWRkMzc3OTQ3OTRiYTlmIGxlZ2FjeS10cnVuaworNjEyMzAgOTdiZWEzOTIzNmE5M2I2OWM0NGY5MWJkYTk0MjY3MTM2MjYyY2U1OCBsaWJmZmkzLWJyYW5jaAorNjEyMzEgMmQ0MjUzMDE1ZjU4NDBhMTRjYjRkYWFkZDc3MDc5MDhiYTU5MmMzMCBsaWJmZmkzLWJyYW5jaAorNjEyMzIgOTZhYTZkMDI3ZTJlNzY5MTgxNmU0OWIzMDRkOTc1ODI4MTQyMWNiMyBsaWJmZmkzLWJyYW5jaAorNjEyMzMgNTU0NmRjNGE0MjZhYWE2Njk5YjRjNzdiZDIxYWNkZTY3YmJjNTM3ZiBsZWdhY3ktdHJ1bmsKKzYxMjM0IGQzODdiMDFkYmMxYzlkYWFmOTA2NmIxMTY4MmU3Yzk1ZjUzMzMzYjAgbGVnYWN5LXRydW5rCis2MTIzNSA5MWNhOTU0OTkwNmFjYWJjOWFhNjU3ZTQxZjZjMjVlMDI1ZGM0N2JlIGxlZ2FjeS10cnVuaworNjEyMzYgNDk1NzAwZWUzMzQ1NmY3NjRjZWMxYzE0NTI5NTI2OGYxMzY4MmI1NCBsZWdhY3ktdHJ1bmsKKzYxMjM3IDhhNWM3NWVmYWU0YzIwYmU5YTc0MTliOGRiMTBhZTFlYzI1NjZmMGYgbGVnYWN5LXRydW5rCis2MTIzOCBkZDMxOGMzZjZjYjc5YTc0OTU5YmY2YTJmNTM1MWFjMmY0ZjE0NGRkIHB5M2sKKzYxMjM5IDAwY2IwYTM1ZmI0OWIyZmM5N2Y2Yzc0Y2JmM2M3NGNhMjUxNmRhZDUgbGVnYWN5LXRydW5rCis2MTI0MCBmZjNlOWFlYWE2OTIzNWI4OTI1OTIwNWVlYTMxNjZlN2MxZTYzMTM4IGxlZ2FjeS10cnVuaworNjEyNDEgMzBmYTY3NzcwOTZmMjEwMmVkN2Q0Y2NjODc2MmFkZGIzNjRlYTY0NSBsZWdhY3ktdHJ1bmsKKzYxMjQyIDExZTllMzY2N2IzNjVjZGVkNzdlOGMxNzZlYzI5YTkyMWNiMDgyYzcgbGVnYWN5LXRydW5rCis2MTI0MyBiZWFiOWUxMGExOGJkZTk3OGY0MjZmOTBjOGY4OWE4ZTA5MDgyYjYyIGxlZ2FjeS10cnVuaworNjEyNDQgOTk2MGZkMmY1ZWE5NDA4NWFlZTY5OWJjYWQ5ODBjNTA0NTVhZjllZiBsZWdhY3ktdHJ1bmsKKzYxMjQ1IDFhNjhlY2UxNTQ3YWI0N2Y3Mjk3Y2RmYmU4NjNhZmQ2ZGNkYWI1YTUgbGVnYWN5LXRydW5rCis2MTI0NiAyMzQ0MDFhZGQyOTk4ZmJmYTU0NTc4NDhjNWY0OTg1MmIzMjNlNGZiIGxlZ2FjeS10cnVuaworNjEyNDcgYzlkNjZiZGJjY2NkNDRhMzU5YzViYjgzODNiNGUyYWRiNWM4MWRlNSBsZWdhY3ktdHJ1bmsKKzYxMjQ4IDQzNjEwNTEyNTQ0NTkxZjc4ZTg3ZTFkMDcwZmViNzIzNzUzNmFmMzAgbGVnYWN5LXRydW5rCis2MTI0OSBmNTI0NjkxMWM5MDNmMGMzZmVlMWY1NGZhOGU5MTBiZTEzNWYwYjlmIGxlZ2FjeS10cnVuaworNjEyNTIgMGNkNGFkMWM5MTUzZWE4YTE0MTY1OGI1MTUyN2M1NDgxM2MyM2JiMSBsZWdhY3ktdHJ1bmsKKzYxMjUzIGQ0MWE0MjA2NDA1YzEzNWZmMGQ1ZDI5MWVhYjZmZTRlMTY5NDY3ZGYgbGVnYWN5LXRydW5rCis2MTI1NCAyMjE2YjEwMGIyZDJlZGVmZDIzZmVhZGFmNTZjMWVlZmI4ZWE2YjA4IGxlZ2FjeS10cnVuaworNjEyNTUgNDI4ODliMWE3ZGMyNTVkZDgwNTBjZjkzMDgwZGI4NmJkYWRmMTUxOCBsZWdhY3ktdHJ1bmsKKzYxMjU2IGMxOTdlMTg0NDliNDA0Zjk1M2E1Njk3NTVjODBhZDFkMDk2MmZhNjEgbGVnYWN5LXRydW5rCis2MTI1NyBlZWZjNjA0YWQ5MzVhYjg0MzA2MTE2ZDk5NmU1ODg2MzE0NWQ0NzY3IGxlZ2FjeS10cnVuaworNjEyNjAgZDBiZTJjMzZjYmY4ZDc5OTIyMGVmOTAwZTU4ZGY5NzVlYmUxMTQyMSBsZWdhY3ktdHJ1bmsKKzYxMjYxIDczOTVlZDBmMGY3Zjc3NDM5NjliYjk3ZmE2Mjc0ODU0OTk4ZWFiNjcgbGVnYWN5LXRydW5rCis2MTI2MiA5YjA0OTQxNjczZjE3M2YyMTRjNzQ5MjMyMjU3Njk4MTM4N2Q5YzJhIGxlZ2FjeS10cnVuaworNjEyNjMgZWY4OTMzOTA0ODdiYWZkMDFlODhhZmM4ZTNkZWE0OGNkNGVjNzlmMCBsZWdhY3ktdHJ1bmsKKzYxMjY0IDYxZDIyNzAxYTVlNWViNjI2YWQ3ZGQwOWZmMDYxMGE0NWNmZmRiZTYgbGVnYWN5LXRydW5rCis2MTI2NSBiMjYyYmVjZTEzMjNjYzNlOTExY2QwMWMxOWZkZTQxZjIwYTA0ODRlIHJlbGVhc2UyNS1tYWludAorNjEyNjYgYjhlZjcxYjAxNDQ2MTA3NjhhNTg0Y2QxNDg2MTQzMGQ5YmU5NTMzMCByZWxlYXNlMjUtbWFpbnQKKzYxMjY3IDRjNDc5OTNhZmIxYjEyMzBkY2FmOWQzMDc1M2I2ZWIxNmI4ZWUzMTcgcHkzaworNjEyNjggMGI4YjNlNjYzZTNhMTVjNzY0N2VjMTgzN2IxYTc2ZjUxNGJiYmQxZCByZWxlYXNlMjUtbWFpbnQKKzYxMjY5IDA2NWM0YTc2YWMwMWYxNWNhNGYzYmIzNDMwMThjMDNiMjQwYjJiYWEgbGVnYWN5LXRydW5rCis2MTI3MCAxNTc0NmJmNGEwYTYzYzQ5OTA5MzgzMjc2YTlhYTFjZjRlOTQ2MzcxIGxlZ2FjeS10cnVuaworNjEyNzEgYTRjMjY1NTY1Y2I2YjY3NzQ2YzZjNGRkMjI1MzE2ZTc3NDliZDY0MSBsZWdhY3ktdHJ1bmsKKzYxMjcyIDM5ODAzMTNkOWI4YjI3YzBlMjIzNzBjZjIxYzhiNDYwMzcxNTIyZGQgbGVnYWN5LXRydW5rCis2MTI3MyAzNmZlZjk5YWYxOGQxMjE0M2QzNjhjZGE4ZTE4MTAxMTRhNjk4MDE2IGxlZ2FjeS10cnVuaworNjEyNzQgZTliZTZhZWI0ZGYwNjIxZmIyOTIxOGU1MzQ0ZWU2OGIxY2Y3N2JkNSBsZWdhY3ktdHJ1bmsKKzYxMjc1IDg5OGRjMGY4YWI2MzVhZjdlODZmYTIyOWZjYzE4MTMzMWU3YmNkYTAgbGVnYWN5LXRydW5rCis2MTI3NiAxN2IyZWEwYWZhNjExODg4MjgxYTBmMjQ5YjBjNmViMTAxMzVjOGU2IHJlbGVhc2UyNS1tYWludAorNjEyNzggYWYyNjdlNTRiZjFkZGU4ZDhiNjdkZjAyOWYwNzk5ZWFkMDdlODQ4MyBsZWdhY3ktdHJ1bmsKKzYxMjc5IGJiYWI4ZjY0ZjhkNjJjNTY5YzZkM2M4MDFmMThjOTMzYmQ0MDg3MmUgbGVnYWN5LXRydW5rCis2MTI4MCA5ZWNiMDNlZjFjNjI0MTk3YjUyMzk2Yzc2YzVmMTE2ZGM1ODUwMzM1IHB5M2sKKzYxMjgxIDQ4NWIyMTk1NDc0NjA5N2IyNTA1MjIyNGNlNDllMTYxOGVlMGQxNTUgcHkzaworNjEyODUgNDRhYTU5Zjg1OTFkYWE2ZTc3NGRhOGM2YWZiYzUyODZkMmNlNWI5NiBsZWdhY3ktdHJ1bmsKKzYxMjg2IDBiZTliMWNmMWIxNjIxMTY3YmRhYTJmNzg1NzBkOGNiYWU0NWJkODIgbGVnYWN5LXRydW5rCis2MTI4NyA3MTIyZmE2NTY5N2I4YTczZTYxMGRiNDg2ODEzYTAzZTk2YTMyYWQ4IHJlbGVhc2UyNS1tYWludAorNjEyODggNWY0OWI1NjlkZWRmMTE0YzVmZWNiYWI1Y2Q2MDJmOWUyYTg1OWE4YiBsZWdhY3ktdHJ1bmsKKzYxMjg5IGE4NzU0YzBkYjUzZjUwMzEzZjVkZmM0MTc4ZWU2ZTI3ZjQ5NDdmZGYgbGVnYWN5LXRydW5rCis2MTI5MCAzNDM1OTdjN2Q2ODJiMzU1MjU4MDM1MmRlZGRkMGNkYjM2OTc4YTA0IGxlZ2FjeS10cnVuaworNjEyOTMgOWJiZTU1Zjk4NjdlZTk0ODU0ZTM0NWY5YWY3ODdmY2RlOTE0NDVmNyByZWxlYXNlMjUtbWFpbnQKKzYxMjk4IDM5MWRlMTQzMjI2ZmQ3YjM3Nzk2YmM5NzhmZjNmNzhmMDViMDg5MTkgbGVnYWN5LXRydW5rCis2MTI5OSBmODZmYTVmZWFmMzE0ZGZhOTdiMDYwYjAxYmEyMzY3NDIzMzc4NDc3IHJlbGVhc2UyNS1tYWludAorNjEzMDMgOWNmNzA3MjljMjNmMjA4OGJiNTAzMGIwOTA5MzliMzViZDIyZGVhZSBsZWdhY3ktdHJ1bmsKKzYxMzA0IDM3YWE0MTZiNGM0N2I0ZWY1ZjlmMDkzYWM4Njg3NTc0MjMwYTE0YmEgbGVnYWN5LXRydW5rCis2MTMwNSBlNWFhZGMwNWY2ZjUxZWNkNWJkMDZmNzYyYWZiMTZlMDEzNzIxZjkwIGxlZ2FjeS10cnVuaworNjEzMDYgNDUwNTBkMzc2ZDU3ZmI4NmY4MDQyNDVmYmZjMDY4ZWY2ZmY5MTQ5YyBweTNrCis2MTMwNyBjMjdhYWJhZTA2ZmRjNzViMjI4ZjY4ZDNkOTNmMTA0ZmQzYTIzMmQwIHB5M2sKKzYxMzA4IDlhNzI3YzlmOWJhYTI1Nzg2NGQ1M2E2N2UyZDNhMDAyMWE5OTdiY2EgcHkzaworNjEzMDkgYWY0NGNlZjFjZGY1YTU1YzkzZmQ5ZjE3OTJkYjBhOWJhODkyZTViNyBweTNrCis2MTMxMCBjODMwNjE2YmQyZmM5MzEwNTNjNDE3OTQzZjE0ZTk0ZjRmMjUzNmQ5IHB5M2sKKzYxMzExIDk0MDUzYjI3YTM1MjU5MGFjMjBkNjZiZjVkOGU2ZWVkNDExMTU4YzEgcHkzaworNjEzMTIgNTA2NTQ3ODIyYjhkMDEwMjJkYTY1NTAwZTRiNjFjYTdmZTk2ZDUyYiBsZWdhY3ktdHJ1bmsKKzYxMzEzIDE1ODQyMDk0YjA4OWEyYzc4YjUwMjVjNmM3ZWQ4ZDhjZDlhYWI2MmUgbGVnYWN5LXRydW5rCis2MTMxNCA4YmFiNDE4Y2M4NzkzYjhjMDA4NmEwMDI3YWE4MThlNWE4MjcyNDhhIGxlZ2FjeS10cnVuaworNjEzMTcgNWI0MjM5YzFmOGY4MmY2MDlmODg4MGE0MzRjMTM5YzFkNTk2MmUyMyBsZWdhY3ktdHJ1bmsKKzYxMzI5IDdmMjNiODA0ZTk0YzA0YWM0ZmI3NWUxNjU3MjljNGRmMzY3MzZlZmIgbGVnYWN5LXRydW5rCis2MTMzMCA2NjA3MGZkYmYwYjkzMDc3MzBjNzVkMTliN2MxMmI1OTkxMWU1ODlhIGxlZ2FjeS10cnVuaworNjEzMzIgNmYxOTU3NTVmMTQ0ZTgwMmRjMWQ4ZjcyNTE2ZGQwYWExZWI4OTcyZiBsZWdhY3ktdHJ1bmsKKzYxMzM5IDQ1NmNlZWM2NTM1N2MxNjY1N2IwYWRiYmJjZmUyNzIwYWYwN2FiMDUgcHkzaworNjEzNDAgYWVhYTMwMzE0N2VlYjIzZjRjMGI0ODAzMTZlYzM2NGU0MTI2ODlhNiBweTNrCis2MTM0NCBiOWQ2Zjg3MGJmYjE2OGM1ZmMzNmNkZWNjNzBhMTk1ODMwNzJjNTU5IGxlZ2FjeS10cnVuaworNjEzNDUgZDhkZjRhYTA2MjYxZGU1ZTRjMGFhMDUxZTQ0ODY5N2Q0NzkxZTQzNyByZWxlYXNlMjQtbWFpbnQKKzYxMzQ2IDIwMjI5NDNhZDQ1MGM0MWQ2NDcwOGZiNWNhY2EyZDI2NzJiNWI4ZjggcmVsZWFzZTIzLW1haW50Cis2MTM0NyA1ZDc2NGQ1MThmNjVlYmI5MTA4NTY5NzI3YTdjODhiMzIwYzI3ZWI4IHJlbGVhc2UyMy1tYWludAorNjEzNDggZTg1NzJkOWFjODVlZjNkM2U0YzAwYzRlZDhmMWNhN2E2YWVkOTlkZSByZWxlYXNlMjQtbWFpbnQKKzYxMzQ5IGY3YzM2NThjNzFjM2Q2YzMyMDM5ODI1MDczMjc1ZjVkNzgzYWE0MDMgcmVsZWFzZTI1LW1haW50Cis2MTM1MCAxNjJjNjk1MmVhMzRkNGU3MWY1Zjk5OTdmZDgwYTFiNjg4MzlhMmZkIGxlZ2FjeS10cnVuaworNjEzNTEgY2U1ZjZmZDU3OTEzMmY0Yjk1MGIwOTU1YWRjZjRlYjgxODQwN2JlOSBsZWdhY3ktdHJ1bmsKKzYxMzUyIDdmNGU2MDIxYmM5ZjYwOTRmZTJhMGQ2YTc1MGIwYTZlYTdjMGVlMDQgcHkzaworNjEzNTYgZTA5YmMxYzUyOTViYzE5ODQ1YTBmMzU0ZGEyZTgzMDY2ZmViOGVlNiBweTNrCis2MTM1NyA3YWRhYWI2NGViNzJlNDdlNTdmYmI0Y2NiYWY4NzAzZDBjMmY1ODEyIHB5M2sKKzYxMzU4IDc3NTJhNTdmOWM0OTBkMzFmMGYzYWY4YzYxMjE1NTM2OGUzOWRiZDEgcHkzaworNjEzNTkgZTQ0NjkxMGM5ZDQzN2Y0ZDRhMDMwYWIwMTQ0YWRiZDExYWZhMjRiYSBweTNrCis2MTM2MCA3NDBiNTgwOGM1N2FlN2IzZDRjNzkzYmFkZTUxMWNmYWY5ZjUyZmVkIHB5M2sKKzYxMzYxIDQyYTZhYWQzOWU1Y2U5YmQ0NWZiZGEzZjdmNjk5MThiN2Q2ODM1MzYgcHkzaworNjEzNjIgN2I5NWM1N2I1ODIxYmZhYzI3ZWU2YjE1ZTQ2MTZhZTM5MGMxZTNjYiBweTNrCis2MTM2MyA5ODYzMzhlYjBjMGRlNTI4NjI1ZDQ1YjlmYTUxYzNlZmM4YjkwN2EzIGxlZ2FjeS10cnVuaworNjEzNjQgNzQzMWYzZmFhMzU2OGE0MmUxZWQ0NDNmYTZkMzViNzlhOWFhOTQxYiBsZWdhY3ktdHJ1bmsKKzYxMzY1IDkzOTVhMjJhOTY2YTk0Y2EwODhiNWM0YTdkNTkxMjQ0ZjRiMjZkNTAgbGVnYWN5LXRydW5rCis2MTM2NiAwMTFkNzlhZjA1ZWE5MTNmY2JmNzMzZDVlMWVmMjRkNmJmMmFmOWVjIGxlZ2FjeS10cnVuaworNjEzNjcgZDUwMjRlZTllODhhMzFiMWI2Yzc0NDQ4NDIxZTEzYWQ2ODAyMzQzYiBsZWdhY3ktdHJ1bmsKKzYxMzY4IGQ3MmQ1MjdkZTcxMTk2NTY1YWY3MzVmMmE4NDdmNDg4OTc1NDdhN2QgbGVnYWN5LXRydW5rCis2MTM2OSBjYmI5ZTJmNGIyMDI4M2FjYTMzNTRhODljZGY4NDZmYjI3MTY1MWFhIGxlZ2FjeS10cnVuaworNjEzNzAgZGI1YjMyMWVkY2JiMmMxZjkzZWEwZWMxNDFmOGI1Njc2M2ZjNmRkNyBsZWdhY3ktdHJ1bmsKKzYxMzcxIDZhMzNkNGY2ZjE2Zjc4MjdlNmUyZjFlZjRlNzA3MzNhYWI2MTRkYTkgbGVnYWN5LXRydW5rCis2MTM3MiA1NDNlOGRkZTM2MWY4YTYxYzIxNmU3NzRhYzRmZmU3NDZjNzUxY2JjIGxlZ2FjeS10cnVuaworNjEzNzMgNDlkYzlhZjkwYjNkMWYyOWRlZGI1YmFlYzM4NzRkMzYyNjk2YmE0YyBsZWdhY3ktdHJ1bmsKKzYxMzc0IDY2MzQxYmVkODJiMzA1M2ZmZTY2Y2U4MWE0ZjE5MjU4ZTA0YzBmOWEgbGVnYWN5LXRydW5rCis2MTM3NSBkOTdiYmFkOWEzNWVlZWUyMDM3MWMyNDFjNjRjZmQ4ZGRmYjEwOGFhIGxlZ2FjeS10cnVuaworNjEzNzYgYmM4MTMyNjVlMmM2NTMzYzU1MGNjZWZiZmU3MzI2ZjFlZjhlYTM1NSBsZWdhY3ktdHJ1bmsKKzYxMzc3IGUyZTU0MmZkYWNkMDlkZWI4YWRhMzVmNjNmNzdiZmZhNzQ4ZjgwN2IgcHkzaworNjEzNzggZjZiM2NmMmYzMzMxMWZjZTcxNTFiNjFmN2M2ZDhkMWRiNzEzZTkyNCBsZWdhY3ktdHJ1bmsKKzYxMzc5IDdjNzhlYTcwNzIxOWVlNGQwMGU2NDYzNWNjZGExYWQyNzE5ZmI0ZDggbGVnYWN5LXRydW5rCis2MTM4MCBlN2FhOWI1ZjIxYjUwZDI4ZDg1ZDA2NzRhYmM4NTczNGM4YjBmNWVmIHRydW5rLW1hdGgKKzYxMzgxIDUzNzM3NTFhZDRiNDEwYjgyNzdmNTE0Y2YyNGMyZjUzN2ZjZmUyYzMgdHJ1bmstbWF0aAorNjEzODIgMGUwYzE0OThiZTFhODBmODZiOTk0NzRiNWNlMmFiZmQzM2RlYjNiZCBsZWdhY3ktdHJ1bmsKKzYxMzgzIDM1NGUzNzdjOTU5MDI0NGFiZTA3YTk3OTJhOGFhMDJjN2M2YzFhNjMgbGVnYWN5LXRydW5rCis2MTM4NiAxNjU4MGRjMTQyOTRlOTIyMzk4NGVhOTEyNDBjODljMTUyNThmOGU4IHB5M2sKKzYxMzg3IDAwNTNmYzlmNWExZjZlNzA1ODY0NDhjOGU5MmU1NGRmOWQwYzU3NWYgbGVnYWN5LXRydW5rCis2MTM4OCA5Yzg5MDllZTU3MWY0YzUwNWY1MTFkNWQxYTM3YjZmZGE1NTNmNWI5IGxlZ2FjeS10cnVuaworNjEzOTIgYjk0MGIxYWQ5YTNhYTIxOWEyMWE5NDhiMTIxN2YxZGQwZTA2MGZhZSBsZWdhY3ktdHJ1bmsKKzYxMzk1IGMwN2M1YzdhOTE0ZWUzMWY5ZDcwYzQ0YmEwZWZmNjQwMTQyYzBhMzAgbGVnYWN5LXRydW5rCis2MTM5NiA4MjNlMTFlYmY2NjgyOWJhZjU1MGI5MTYwMTNiNTM0ZmQ3NDVmNzA5IGxlZ2FjeS10cnVuaworNjEzOTcgYTVjOTM5MjI5ZmYyN2ZiNDY0NmQxZWVjYjFhMWVkZGFiYjhmZWQ4YiBweTNrCis2MTQwMiAyMTJlOWM4YWQwODdlYjE2Yzg5NGUwMGVjOTg1MjAxODQ1NTlmMmNiIGxlZ2FjeS10cnVuaworNjE0MDMgNTllYjVhZjYxY2Q3MzY4NTE3Mzk4ODdhNzA1MmI2NmVlMmM5OWJlYSBsZWdhY3ktdHJ1bmsKKzYxNDA0IDUzMWU2MjQxNmVlYjY3ZDVlOTI5N2UwNzg4MTNjMjI4ZmQ1OThkZTAgbGVnYWN5LXRydW5rCis2MTQwNSAwZDEwZjE5M2I5YmUyNWE2ZmVjODk5YWM0M2ZmNjIwZjExMWRiNTNmIGxlZ2FjeS10cnVuaworNjE0MDYgNGUzNThlZDdmNTE1NjE3ZmZjN2JhNTJiMDFlNTNlYzQ5ODMxOGIxMCBsZWdhY3ktdHJ1bmsKKzYxNDA3IGZlYTdiYTg5MTBhOTYwYmY3MGRkOTJlNGU3N2Q3NzAxNjE1Y2RiOTEgbGVnYWN5LXRydW5rCis2MTQwOCA4MzJjODIwZTlkMTQ0Y2I3NmM4Nzc4YWQ2ZmNmZmUyMzJiMWY1YzQ2IHB5M2sKKzYxNDA5IDA1OGZiZmI5ODVhZThhMGI2NWQ3MDQxNWE2MTk5MTVlOGM1ZGFkNDAgcHkzaworNjE0MTAgNzAyNjU3ZWZhYjliZTkxMzkzZDljZWI0YzkyNzA2MzYwZDk1OTRjNiBweTNrCis2MTQxMSBhZTIxYThkNzAzMDI2ZTE4MjIyMzBjNDZlZmI2ZDFhZjZmMTU2NTRmIHB5M2sKKzYxNDEyIGQwYzY3N2RkZDZiODljMDE0ZDY1ZjkxNzQ4NzIwNTdmOGIyNjk2YmQgcHkzaworNjE0MTMgMmUwZTE0MDI5NTlkM2RlNzA3YzUxZjllZTEyNjFiMDQyMTQ3ZmFhNCBsZWdhY3ktdHJ1bmsKKzYxNDE0IDM5ZmIyYzc4ODQxZWEyNTgyNGJiMWFiMDY5NmEyYTk3ZGI1YjlhMDEgbGVnYWN5LXRydW5rCis2MTQyNiAzNzk3MzEyNWIyYzBjYzBhZjk1NzhmYmQzYjU2M2I4Mjc1NDI1YTZkIHB5M2sKKzYxNDI3IGQ3MGZhYjk3ZWJiNWVhOTczMTA3NWUzOTdiOTE4MzFiMzE0NTBlNGYgcHkzaworNjE0MzAgMWYwZTdlMmRiZTE1Y2JhZTllNTY0NWM2MTM0ZmNlODI2MmJmM2MyZCByZWxlYXNlMjUtbWFpbnQKKzYxNDMxIDc5ZGVhNjUzMzJmODZmMzdmOWM2NTNkZTI0MGMxOGVlZjk2YWZlZDQgbGVnYWN5LXRydW5rCis2MTQzMyAyZmYzZTQzMjE3YjdlNTQ0YTM5ZTU0NTgzZTUwZWZkOTY0NzVhMTliIGxlZ2FjeS10cnVuaworNjE0MzQgNGQyOTEyN2YzZmEwZDdiY2E3MjljZGM1MDFkNjBkMjIwOTI2NzE4YyBsZWdhY3ktdHJ1bmsKKzYxNDM1IDE2NzMyZGIwMDgyMmVhOWRhZTE3ZTFhNGEzM2NlYjkzNGU3ZjNhMWQgbGVnYWN5LXRydW5rCis2MTQzNiBjNDQwMmVjNjBjM2E0YTE1MmVlNjI1ZTdkMTdjMjVmNmQzNTVjNTljIGxlZ2FjeS10cnVuaworNjE0MzggNGQzOWQ0YTZhOWRiYTVhOGQ4OWZmMWNjNWViNWRmM2Y0M2Y4N2E2OCBsZWdhY3ktdHJ1bmsKKzYxNDM5IDIyYTRhMTExZDU5OGFlMTNiYTcwZmI3MjEzMmIwMDJjNTIzZDhhZDcgbGVnYWN5LXRydW5rCis2MTQ0MCA0ODI0N2E0YjM4ZWRmMDk3M2QxN2E1NjQ1NDRlZWEwYzdjOTIyMmI0IHB5M2sKKzYxNDQyIDYyZWYwZWEwMzRmNGU5NjkwNzllMTY0YzgwNThmMjUxNmQwOTc3ZWEgbGVnYWN5LXRydW5rCis2MTQ0MyBiYjU0M2E4MDlmZTI0YzhjNTI1MWViMjU4YmYyZTlkNjBmODUwZjE1IHB5M2sKKzYxNDQ0IGYxMWMwMDI0NmZiNTI1ZDE3YzM0ZjI2ZTZhNGZiNmNiNjVjNjQzMmUgbGVnYWN5LXRydW5rCis2MTQ0NSBhY2JmOWNmNTk0ZjhiZDg1MjY0ZDZhNDRmNWVmYzQ2ODY2NGFhMGQ2IHB5M2sKKzYxNDQ2IDM2ZjNjNmJmMmM5N2JmYWZlZDY5ODFhZjIzMjljYjQzMWExNTc0YTMgcHkzaworNjE0NDcgMGRiN2ZhMTRjNzk0OGJmMTQzNjhmNjVjMGRkZmY2OGIzZDNlMzA2MSBweTNrCis2MTQ0OCBjYjM2MGZjODg5MTIyNzczZTNiYjIzZTQ3Njg4MzBlMjI2ZmRmMGY3IHB5M2sKKzYxNDQ5IDcxMDQ3OGExOTc3YWNmY2M0NWMzOWU4NjYzM2RmYmI3MjA3ZTYxYTkgbGVnYWN5LXRydW5rCis2MTQ1MCA4MDE4ZjUwNjU2NjFiYWEzMmEwNGNkMmI4NjI3YzM5ZDU4MWYwN2M2IGxlZ2FjeS10cnVuaworNjE0NTMgN2U4Y2ViMzk0NDdlY2JiYTY2YzBlZWQ3NjE4OGMxOWYxMThkZjU5YSBsZWdhY3ktdHJ1bmsKKzYxNDU0IGI1Y2I3YTY3OGYzODkxZmM0OTY3ZWFhNzUzMmE4ODcwOThjYzNhMzcgbGVnYWN5LXRydW5rCis2MTQ1NSBkZTZiMjgzNGI4YWY5OTBkMTFhMGQ3MzNjNTc3MjQ4OTg1NzY1ZjY2IHB5M2sKKzYxNDU3IDQzMTgyNWVhYzRhZTM3MzYzZTRlOWZkMDRhNjcwZDI4OTUzZmI1YjQgcHkzaworNjE0NTggZDMzY2FkYjU5NWY2NWRkYWY4YjAzYWY5ZTBlNmI3YzQ5MzQzZjZhOCBsZWdhY3ktdHJ1bmsKKzYxNDU5IDZhN2ZhODQyMTkwMmE5NTRkZWM3NzlmZTlhN2Y0YTQ2MThiMWE5NDIgcHkzaworNjE0NjAgMmMyNjBiZTEyNDJkOWFmZDI3MzE4NDdkNDcyZTM3ZjVlYjQ4ODY2NiBweTNrCis2MTQ2MSAzNGY0ZDQ3ZWM0M2E0ZjM2YzFiN2QwNzhjNDE4NmVkYWI0ODA0M2JmIHB5M2sKKzYxNDYyIDlkOWEzOGI4ZWIxYjExYTAyODI1ZWIwNDU5MGM5ZjI1ZTFhOGQ5ZjkgcHkzaworNjE0NjMgYTIwMGMzODdlOGIyNjUxMzVkZTE2YjZkOWU5N2Y2OGNlNDViOGEzMCBweTNrCis2MTQ2NCAxNmI0NDc2NDk0NGViOGEzZWE4MmRjNjNkOTA4ZTM2OTlhOTY2ZjRhIHB5M2sKKzYxNDY1IDZjMzkzZGNkNDVjNDhmMDcwNzMyYjFhOGQ4ZThiZmY4YmFhNDllYTkgbGVnYWN5LXRydW5rCis2MTQ2NyAzMjI2OTNiZjEwY2FjNmNkM2MwODdlMDAxZTZhOTRjMTAyMmU0MTFkIHB5M2sKKzYxNDY4IDk3M2EyM2NmNmYwYjdhMDk1OWVkNmFiNjJjZTc5YjBkZTI3YjEwZTggbGVnYWN5LXRydW5rCis2MTQ3MSA3ZjEzZDY5MDRlMTRhNDk0YWVlYzg4OTlkYWJkNzhjMjRlYzlkNGNkIGxlZ2FjeS10cnVuaworNjE0NzIgOGEzZmE4NmMzMGE2ZTJjNzJkNWM3YmJmYzIzOGE5NWViZjNmNjIyZCBsZWdhY3ktdHJ1bmsKKzYxNDczIDM3NDVmZGI5OTMyZjA3YzQ4NGU5ZjMxNTU3YmIyOGI2YWZjNTI5YjEgbGVnYWN5LXRydW5rCis2MTQ3NCA4ZGVmYTFkNWYwNjZkOTMwMThkOGI3YzdkOWY1N2RlMGQ0YzM3NmU1IGxlZ2FjeS10cnVuaworNjE0NzUgZmYwYWI3YjI4ZjQ5MTdjZDg2Mzc0MDc0ZDJlZjQ5YTk4MTViMTJlYyBsZWdhY3ktdHJ1bmsKKzYxNDc2IGUzMWQzMTc4MWE3NTNlMGRjYTQxZDI0NjY5NzI5ZTM4ZWY5MTNjYzQgcHkzaworNjE0NzggNzlmZGM4OGZmOWVjZGRlNWY5NzI0YWIwZTlhOGM2MjQ3ZmE3YjNhYSBsZWdhY3ktdHJ1bmsKKzYxNDgwIDRkYWJkOTA3MTg3ZWE3MzkxYTU0YjUzMWRhNzJmNDM0NmRkMmUxOTUgbGVnYWN5LXRydW5rCis2MTQ4MSA5NjZmZjE2OGI1NjY5NmMxMDVjMzA0NGU2NjJkMTdhYWYzNzg5MGNjIHJlbGVhc2UyNS1tYWludAorNjE0ODIgN2M0ODU0ZmZjZGNkODhjYzU3MmJlZGQ4MTk0ZmY1ZDBmYzYwNzAwZSBweTNrCis2MTQ4MyBjMGYxNjVlMWRiYzA1ZGNlNTMzNzgzMGZhNDMzZTlkYTBiNDU4M2YyIGxlZ2FjeS10cnVuaworNjE0ODQgYTdiYjAwNGU3ZjA2YTkzY2Q4ODU3M2MyYzc4YmY0N2Y2MDc2NmM5OSBsZWdhY3ktdHJ1bmsKKzYxNDg1IDNkZWI3MGU0MTgyYTA3YTJhNzkyOTgwNWIyMTYxMTZhZmNjM2ZlOWMgcmVsZWFzZTI1LW1haW50Cis2MTQ4NiAyN2U3ZGMyZTYyOTA1ZTkyMjhmOWUwYWIxYjY5ZTRhYjI1MmY3YjhiIGxlZ2FjeS10cnVuaworNjE0ODcgYWEzM2ZiOTBlYWE1MmE5YjliYTc5ZWMwYWUyNzZlMTkwYTJmOWU0NyBweTNrCis2MTQ4OCAwNDQ4N2FkM2QxYmVmNDE1MzUwZmQzY2NhOGNiNGRmNmQ3NDk1NjlmIGxlZ2FjeS10cnVuaworNjE0ODkgM2JiMGYxYTE5MzlkOTM4NzhiNGQ2NDliZWFlOGU3MWVkNTkxOWQxZCBsZWdhY3ktdHJ1bmsKKzYxNDkwIGIzNTk0ODBjYTg4NjQ2MGVjZmVmODUxNjA4OTE5YWY1YTBhMzMyYjAgcHkzaworNjE0OTEgNWMwYjVjYWJlZWM5NjZkN2ZlYzgzNjQyOTllMWFiODI3Mjk2ZDEzMSBsZWdhY3ktdHJ1bmsKKzYxNDkyIGVkY2IzNTQyMTc2YTUzZDE0ODJlZmM1ZDJkODQ5YjU1OWVkOTNiMTcgbGVnYWN5LXRydW5rCis2MTQ5MyAxMzcyOWM3MGM4ZDhjMjk0OTk2ZjA3OTg5OTFhNGFkZDlkZTY2YjAyIHB5M2sKKzYxNDk0IDA0MDUwMzczZDc5OWRjMGQ1MzkzMGM2OTE1ODVmYzI4MmUwNTc0OGMgcHkzaworNjE0OTUgMjU0NjMxM2E4YjI3YWQ0ZmFjOGFjOTJmMmYyYjM4YzljODAxYmEwNSBsZWdhY3ktdHJ1bmsKKzYxNDk2IGM1MjQxMDY5ZmZmZGFhOWU3ZjEzNWZjZmE0YmMxYWY2ODAyMjZkZDAgbGVnYWN5LXRydW5rCis2MTQ5OCA1MjY4MmJkNzM4YTc1Y2Y0Y2I3MTJlNmIxOGI0M2NmMzIyOWJhY2FmIGxlZ2FjeS10cnVuaworNjE1MDMgZTIyN2VkMmNhOWQxNWFiYmI2MTMzMTQxYjM5MWEwMjU0YmEzOWYyYSBsZWdhY3ktdHJ1bmsKKzYxNTA0IGQ0YmJmOWI0NzEwZjQ3ZDhmN2M2YzBmZDA2OTNiMDMyNGI5NDJmNDAgbGVnYWN5LXRydW5rCis2MTUwNyA2ZmM2YTgwNjc4NGY5NWYwNjBmZWVlZjQ0YmY1MzViNmIwNDk2MjZjIGxlZ2FjeS10cnVuaworNjE1MDggODY3MzY0MDFkMzk0NDQ3YWNhZmU5YzQ1NjY0NGQ0MDJjNjM3ZThlZSBweTNrCis2MTUwOSA5NzM2MWQ5MTdkMjJkNDAxYTM2Y2U4NmRmZjZhZDA5YmYyZWRhMjM0IGxlZ2FjeS10cnVuaworNjE1MTAgNDYzNDI0MzE3OTU1MGFmNTU4MmRhNDBjMzdhM2Q4M2VkZmE3MjAxNSBsZWdhY3ktdHJ1bmsKKzYxNTEwIDExN2JiZDQ0YWRhZTY0NmFlYjY1NGNjZWRiYzljM2FlNjI2NjVjYzIgcmVsZWFzZTI1LW1haW50Cis2MTUxNSA4ZjAwYTA5NDhmMDBlMmU1N2U3OTIwNjVhYjE3MzZhZGI1YWIzNTQxIGxlZ2FjeS10cnVuaworNjE1MTYgNmMxN2RhYzcwNTcxN2NmY2Q0MjQwYTM4NzEzYTdmOGY0N2VmNTZlZSBsZWdhY3ktdHJ1bmsKKzYxNTE3IDk2MzhkMmVhMmY1N2JhYTM2NDc1YTg1ODIzZDdkNzMwMDYzZjVhZTkgbGVnYWN5LXRydW5rCis2MTUxOCAzYjM5YjdiYjJjMDdjMjY4ZjlhNzE4ODQ4YjFlN2U2MzU4NThhMmJlIGxlZ2FjeS10cnVuaworNjE1MTkgZTE0ODI4NWJkNTExODM4OTBkMTU5NTZmYTMwYTkwMmMwOWMxOWZjMyBweTNrCis2MTUyMCA5NjYwMWY4ZjMzOTE0NDVkOTJiMmE1NzcyYjI2MDE2NTU5MTk1MGFmIGxlZ2FjeS10cnVuaworNjE1MjEgMzBjNGUxY2E4NDIxMjM2Njk4OWRmODMzYWUyMTc3MDI1ZjE3NDc3YSBweTNrCis2MTUyMiA5YjhjNGI1MTA3ZjBmNTVjYjczYzIwNzVmNmEzYzEyZmExMmNmMjJlIHB5M2sKKzYxNTIzIDIxMTM5ZWE1OWI2YmEyNTY1ZmI2Yjk0NzY1ODgwM2NiODI1ZDFlMDUgbGVnYWN5LXRydW5rCis2MTUyNCA3OGNhOGMyNTYxZGI4ZTc5NjY4ZDE1NzVkZjhmMWU3ZjliMDgzMTVkIGxlZ2FjeS10cnVuaworNjE1MjUgNmYwZWRhM2U5MmIzNjFiMjE4NzdlNjY0MDViNTVmNjhiMGQ3ZDY2NiBsZWdhY3ktdHJ1bmsKKzYxNTI2IDU4MWMzZTViMzQ5YjEyMGQyOTY1MGFkZDY2ZDE0OGRkMGQ4ZWFhOTkgbGVnYWN5LXRydW5rCis2MTUyNyA5MjMzODBhY2QxY2RkODA1NWM5OGJjNjc3MzVkMGQ0Yjk4Njg4ZWU0IGxlZ2FjeS10cnVuaworNjE1MjggYzQyNDA5OWI0Y2U0YjRkZTRiYWFhODNmNjAwZjEyYzA0ZGNmYWQ4YyBsZWdhY3ktdHJ1bmsKKzYxNTI5IDUwNzcxYTNmYWQyY2FhYTg4Zjk0MGVhMzllZmIwMDgyNGM2MGI4YTIgbGVnYWN5LXRydW5rCis2MTUzMCBmMzAyYmVmOGEwMDRhYWVmMTI3MTMzYjE0MjRjNWQ1NTgyMDVmZDMxIHB5M2sKKzYxNTMxIDFjZDkzMGI4MzVhNjM5MjhkMTcxODFiZmU3MzE4ZjZiNmJjMTQ4MTQgcHkzaworNjE1MzIgZWE5MTkxNGJjYjk3NzRmNTg1NDliZGE5MDM1YjVmOTc0MmNmOGI2ZSBsZWdhY3ktdHJ1bmsKKzYxNTMzIGE2MjhlZjgyZWI3ZTBjOWUzOTVjNWM4YjA0NjlmYzdlZTc3ZDkwODEgcHkzaworNjE1MzUgZTBlOGJlZjBkNWVjY2IyNzI0ZTE0NzM5OTY3ZjNlZWUwN2I4ZWI2YSBweTNrCis2MTUzOCBjYzc1OGU4ZGRjOWQ3OTQwNTJhYTBhZDA4NjU3OWEyMWM0Nzc5YWJjIGxlZ2FjeS10cnVuaworNjE1MzkgOTRhNjA4MmE3NzBmYTMwZmNmODVkMGJkMjFiZDcyNDk5NWYxMzg2YSBsZWdhY3ktdHJ1bmsKKzYxNTQwIDNhNzJjYmNjMWJiODA2YzJiNjljNmM1YWYyNTc1ZmQ0MTY4OWMyYjcgbGVnYWN5LXRydW5rCis2MTU0MiBlYjZkMDA3NDUzYmMyYzI3OWQwOTYxNjEzZTIwNzhkZmVhMzUwMjBjIHJlbGVhc2UyNS1tYWludAorNjE1NDQgZGM0ZDY4YWU5ZDNkYmYwNDE1OTc2ODdkYmZkMTZiMDQ0MzNkNTk3MiByZWxlYXNlMjUtbWFpbnQKKzYxNTUzIDBkNzY1OWMyYjk5ODUyNzRiNjYzMWM2YTFiMDcyNjViZjZmNTY3MzAgcHkzaworNjE1NTYgNTE1NjMzNjE1NzM1YWYwNmFiODM2ZjlkMWFkNjc4NDViMTQ3MWI0YiBsZWdhY3ktdHJ1bmsKKzYxNTU3IGJjZTY5ZGI3MmUwMDQzYzU4MTJiNzkwYTc1NDM4YTVjNjZlODU2YzkgcHkzaworNjE1NTggODNjNTVhY2ZiOTU5ODlhZTg5MWI3ZmMwNzdjMDM5NDA5NjhkZTM1MyBweTNrCis2MTU1OSAxYmI2N2U1MDNkZmZjYTQzNjRkZjY0YjUzYmZjZTY1YTJiZmI3Y2ZjIGxlZ2FjeS10cnVuaworNjE1NjAgMDA1ZGI5MzRlZTI1ZWY5OTBiZGFiNWVhNTZmZGVkNWI2Y2VmZWRmYyBsZWdhY3ktdHJ1bmsKKzYxNTYxIDBlNzk3OTNmZmU4NzA1ZTFkNWU4MTE1MGRmZjFlNGViODViODY2MTkgcHkzaworNjE1NjIgMTZjNTc2ZGVlOWQzYmFjMTg0YjQxNDkzNmZkY2RkYWVhMTI2ZDE1MCBweTNrCis2MTU2MyAyZjY0MGYwZjA2OTc2YjJlYWQ5MDM5MzNmNjYwYTIwMzEwYjIxMTgwIGxlZ2FjeS10cnVuaworNjE1NjQgZWUwZGZjY2Y4Y2VlNmVjZTg4N2JkNTM5MjY3ODc4NzI4YjY1OWFjMiBsZWdhY3ktdHJ1bmsKKzYxNTY1IGIwZDAxOTY5YmJjODdkZTQ1ZGMxN2M3NzZmNWIxOGFkNjYxMjVmZjggbGVnYWN5LXRydW5rCis2MTU2NiBmM2JlMTIyMjBmZDdlMDFiYmIyYTgwNjVjYmYxYWQ2ZjRjNmU4MDYwIHB5M2sKKzYxNTY3IGZhNzBlNmFlODMxYWUxZGVhZDFiOWFkYmFmZTBmZTVmNTYyYTFlNjEgcHkzaworNjE1NjggMDVhYzNjMTliN2E4MDM2NDMyNTZhYWFjOTc2MjFhY2IwNWZhMzhkNSBweTNrCis2MTU3MCA4NjBlMjNhNjFlNTUxMGZiYzMzZTM4YWYzZDU2NTExMGRjODdiNzJhIGxlZ2FjeS10cnVuaworNjE1NzEgMjg5M2MwMTI5ZmU1YzM2MDJhNjUzOTM2OGYzYWNkYTRkNzNiMThhZSBsZWdhY3ktdHJ1bmsKKzYxNTcyIGM4YzU0N2M1MWY5YTZmMGFlNTUwM2YwOTVlMGI5MWQwYmRjNzdhNGMgcHkzaworNjE1NzMgNTFlMjQ1MTJlMzA1Mjg1NTZjMmJiNzFhNGM2ODAyNjEwODc5NzcyYiBweTNrCis2MTU3NSAyMzg1ZTE2YWNiNDI3OWQ1MWZjNzFhYzA5MWYxYmEyNjA5YWZjNmJjIGxlZ2FjeS10cnVuaworNjE1NzYgOTZiZDk3MjJlMzFkMzAwOTI1YTZhNjMxZWZjZGNlNGJhODc3NjM3MyBsZWdhY3ktdHJ1bmsKKzYxNTc3IDcyN2Y3NDNjZjYzMGIxZDE5ZTBlMjI2YTE4NzI2NTAyZGY3MzkzOGYgbGVnYWN5LXRydW5rCis2MTU3OCBmN2E2ZjMzOTQzMTA2NzQwMjIxNDg3ZmFjOGIwNmM4ZDkzNGFkMTMwIHB5M2sKKzYxNTc5IGYwOTZlZjljNDExNGY3NTdmZmUzYTcwMmY5MmU2ODVjZWI0MzllY2QgcHkzaworNjE1ODAgZDg3ZDdmYzJjMmJmMzNhZDUwMmVmZTIwOWY3YzNhYjkyODRlYzJhMCBsZWdhY3ktdHJ1bmsKKzYxNTgxIDE5ZDRiNjk3ZmJmOWFkNTNjMDA0NTYyYzM3YjdhZjhjNTk3Y2RlOWYgbGVnYWN5LXRydW5rCis2MTU4MiA3MzNjM2VlMTk4OTk2NjdkNWY2OGNkZDFjYjc5ZTkxZWIxODAyNzE3IGxlZ2FjeS10cnVuaworNjE1ODUgYzc3ZTMxMTllMjY3NWUwODYxMmI5NjhlZGVmNjc4MDg4ODY2NDRkZSBsZWdhY3ktdHJ1bmsKKzYxNTg2IDFkZmI5YWU3OGEzNzI3Y2Y4M2U0NTBkNmJmMjhiZmRkMTYxODg5Y2EgbGVnYWN5LXRydW5rCis2MTU4NyA0Y2E3MTE5ZDE3MDA1ZGY2MTUxMWE1YTA0NGUxNmQ4YThjNDY0Mzk5IGxlZ2FjeS10cnVuaworNjE1ODggYjg0ZTBlMjNjYWJkODkwNDc1YTU3ODE2MTBlODc2M2NiZjE0ZmE0MSBweTNrCis2MTU5MCA3Zjc3NzA3MTllODQ4Njk5YzkxNDE4NDYyYTJhODUzMDAxNjYwNjYwIGxlZ2FjeS10cnVuaworNjE1OTEgZDRlMWRiODc5N2Y2ZGM4MGNhZmMxM2VkOGVhZjVkM2ZhMmQyZTYzYiBsZWdhY3ktdHJ1bmsKKzYxNTkyIDgxOTExNjk1MDA5OTA4N2JlYWZhZWI4ZGMyMzhjODAzZTc3ODk1ZGUgcHkzaworNjE1OTMgZDVjZmY3ZjlhMTQyYmU3MjA2MjRjYWJlODY5MDA0MzE0YTI0NjFhMyBsZWdhY3ktdHJ1bmsKKzYxNTk1IDJhMDEwNzVjZDkwMjE0MjcyN2FlNjVhNWY1OGM5OGQ1MDg1ZTA5MzAgbGVnYWN5LXRydW5rCis2MTU5NiAzMDI2MjVmYTZhMmE2OWFkYzhkNzkyNDI5ZWQ4ZTg4NDY3ZjgwZDJlIGxlZ2FjeS10cnVuaworNjE1OTcgNDU5NzBiMDRjZTgzZTJkNTM0Mzc0MjhjNmViMDQyYWI2NDIzOTk5NCBsZWdhY3ktdHJ1bmsKKzYxNjAwIDk2M2Q2N2RmMzcyMzdlNWRjOGExMTQ2ZjViYmNlYjZjYmNjN2ZjNjcgcHkzaworNjE2MDIgYTk4NTVkYjQwZmZiMzNmNGFiMGI0YzkzODYzOGRkZGI1ZmJjZTJlNSBsZWdhY3ktdHJ1bmsKKzYxNjAzIDFkYTI0OTk2ODNiNDNjM2UwZDE3NmU5NjEwMmJhN2I3OGU3Nzc4NTMgcHkzaworNjE2MDQgM2IzMjNmZjkzMDRjNWYwNTc2MjJiZmZjY2FiYzllNGViNjliOGZlZiBweTNrCis2MTYwNSA0MjJiNDlkZmQxNWI1M2MzZTc1NTBhNWJjNWUzNWU0YmI1NGU0NWI2IGxlZ2FjeS10cnVuaworNjE2MDYgZTBjOWI5ZWYwNDY2MGY5ZmI4MGVjMDQ1NjhiMWM0M2QzZjIyZDVjNCBsZWdhY3ktdHJ1bmsKKzYxNjA3IDQyODQ3MThmYjYzMWZhZGQzMjIyNmY0NTlmY2U5NDk2NGYwOWY5ZDQgcHkzaworNjE2MTMgYWQxZDYwNGJjOGVkMzUzMDE0YmIyZTRkNDMyYjhkOWM1NGE3MDViMiBsZWdhY3ktdHJ1bmsKKzYxNjE0IGFkYmM5MzRiZjFmZDUxMDI3NTU3MzI4NDBiNzhjNzY1NzcwMDg1MzQgbGVnYWN5LXRydW5rCis2MTYxNSAyMTQ3N2IxYmE1ODE3YzVjOGUyYjhhOWRmNzM1ZDc5ODY2MmI0YmQzIGxlZ2FjeS10cnVuaworNjE2MTYgNWNjMDRhMjA0NzY2ZjJlN2U1NDMwYTIyNDY0MTBiOGJiNzhiYjRhYiBsZWdhY3ktdHJ1bmsKKzYxNjE4IDg1NWM0MjkwZGZkN2FhMzRkYjA5ZTNmZmRiYmRjNzgyZTFkNGYwMzUgbGVnYWN5LXRydW5rCis2MTYyMSA3NGFiOGJkOTZjNWRlYjNhMmUwZjA0YjJlNWVjNDNmZmVkYTdmMjY5IGxlZ2FjeS10cnVuaworNjE2MjIgYjBiNjA4ZTU3OWNkNWFlMzYwZDcwYTFjZWE1MjQzYTYwNzI2MDEwNCBsZWdhY3ktdHJ1bmsKKzYxNjIzIGViYzEzMGE0YTI3MzgyOGY2NmFkNmZiYzczNjcwNGJmMWI2NDE1N2EgbGVnYWN5LXRydW5rCis2MTYyNCA5M2Y5NzA3YjY2NGNlNGFjZDk0NjliMTgwYjZiNTBjNzYzODZjYjYyIHB5M2sKKzYxNjI1IDMzMGY1NzRjNThmN2MzZGJlZDVlZDRkMDM3Y2I2ZjUzYTZiMGEzOTQgbGVnYWN5LXRydW5rCis2MTYyNyA4ODE3YThlMTJhNTU5ZWNhODczMjBjZmYxMTIwMWZkYzA2ZTRmMGNlIGxlZ2FjeS10cnVuaworNjE2MzEgM2JmMTljMzFjOTU2ZjE0MTI0ZDNhY2Y1YmYyZGMxYWJkZmNiMmI2ZiBsZWdhY3ktdHJ1bmsKKzYxNjMyIGRjNWJlMGIzYzNiZTdkYTQyNjQ2ZDQ2MzJlNjk4MDBkN2Y4YTkxYTcgbGVnYWN5LXRydW5rCis2MTYzMyBlNjY1YTBiMTZkYTBlODdiMGMzYTAzNmIzYjU0OTI2YjgzNGMwZTlmIGxlZ2FjeS10cnVuaworNjE2MzQgMjQyNzU1NTJjOTczMTcxNDIxOWUxMzVlZjJlZjg1OTQ1MmRhNjQ3MiBsZWdhY3ktdHJ1bmsKKzYxNjM5IDQ0MGIwOGEzMmUwYjNkNTA0ZjUzMjVlY2JiZTBiZTUyMmIwYmRlMmMgbGVnYWN5LXRydW5rCis2MTY0MyAxNjU3ZjBhY2NhNzgyMDIxMDVkNzczNjAyMDc4NTNkZjVjYTA1ZjIwIHB5M2sKKzYxNjQ0IGFlM2FkMDY1NzdjN2Q3YTVkMGZkY2U2OWM4Mjc0ZmE2YzdkNTZiMTcgbGVnYWN5LXRydW5rCis2MTY0NiAyZGEwYmYyZTJmNWNjMWYzYWM0Njk4NzRhNmNkY2M5N2YzNzI2ZTAzIGxlZ2FjeS10cnVuaworNjE2NDcgNjVmMzYxMDRmY2FkNzJjYTg5MjA0ZTZlYzQzMjE2YmI4YjFjNTU0ZiBsZWdhY3ktdHJ1bmsKKzYxNjQ4IDM5ODlmYzYxZTc4OWM4OTQ1MzY4ZDM2MGFmNWVmODIxZmE4MDU2YjQgcHkzaworNjE2NDkgM2FhNWViMTgyOTEzMTUwMTkwN2YzMDA1ZGJiNmM4MWMxYWMxODFhMCBsZWdhY3ktdHJ1bmsKKzYxNjUwIDI5M2M2MTA2ZmJlMzQ5Nzk4MmM5NTRkYzYwZTI1M2QxNzIyMjBhNzQgbGVnYWN5LXRydW5rCis2MTY1MSA2NTA5ZWY4YmZlOWMzNjNkYzdmYjU0NzY2N2U5ZWY2NjQzZDYxOGFmIGxlZ2FjeS10cnVuaworNjE2NTIgY2JhZDFmNWNhYmIxNTExZGNhMTYwNDVlYjdhYjUwNjRlMzUzYmUzYiBsZWdhY3ktdHJ1bmsKKzYxNjUzIGU4NjI4MjE5OTQ2NTE5N2IxYTE2NDExNzFkYzRhOTNiMDBhMGY3ZDggcHkzaworNjE2NTUgZmM5M2JmNWZlY2UxZDY0MmJiOGJkZTU4YzUzOWRlNGYxYzhmYzY4ZSBweTNrCis2MTY1NiA4YjBiODkwMjVkOTgyOGIzYTgwYjgyMjFhMWI0ZGRiZDcxMzY1YzBkIGxlZ2FjeS10cnVuaworNjE2NTcgNWJkMmJkYjM5ZTljZGVmNWYzNDkwZGUyMmFkMDQ3YmVkNzlhOTljNiBsZWdhY3ktdHJ1bmsKKzYxNjU4IGQwMGE5Zjc1ZDIyM2Q5MzRlMGNlY2I2Y2FjMmYzZjlhM2VmZWIyYmYgbGVnYWN5LXRydW5rCis2MTY1OSAwZmRiMzYxNjM4NDFkOGI2OTZhOTkwMmIwZGI4YzA2ZTljMjhiZTA5IHB5M2sKKzYxNjYwIGUwMjAzYzY1OGI4NjUwMWQ5ZjUxMmFhMGE2ODljMjVhNWZkZjhmZGEgcHkzaworNjE2NjEgOWE0NzcwOWEyOGI3OWY0YmM2YzE1M2Q4ODI0ZGIyOWUwYzIzMjUzOCBweTNrCis2MTY2MiBmYzIxMDY3M2VlZjAxNTQ0NDI4NjJiODk0NTU3NDhjMDU3ODNmZWMwIHB5M2sKKzYxNjYzIDYwZGI5YTY3ODU1MWQxNzUwNzBiMWRmMTdmOGI1ZThmZjQ3ZTEwZDAgbGVnYWN5LXRydW5rCis2MTY2NSA2YTNlZjNjOTA5NWMwNThmN2FkYmZkMGYwYjRlYmM5MDEzYjM4NjZlIGxlZ2FjeS10cnVuaworNjE2NjYgMTMyY2YzYTc5MTI2MWY0YzJiNTAyYWI4Zjg1ZmQzOTk4MjY0OTY2NyBweTNrCis2MTY2NyAwNmU2NDFjYjNhMjAwNzNmYTkwNmJiMTM4MWNiYWI3NDM0M2RiNWUxIGxlZ2FjeS10cnVuaworNjE2NjggMzlhNGY0MzkzZWYxOTgyNDA0MzY5NTI0ZmM4M2Q0ZTY0ZTdkNTM1ZiBweTNrCis2MTY2OSA4ZTVlYzY5Yjc2YTc0YzUwZGMxMmI1MTIxNzYzNjIzMWZmZThmMDQyIHB5M2sKKzYxNjcwIDM2ZTI5NmU2NmQyMTZhYzk3Y2U4YThjNzM0NGE1ZjIzOGI4YTc2MTcgcHkzaworNjE2NzEgMTMzNDk4YjkxZjFjNDAzY2Y1NjYxZmQ4OTdmODVkOTVjZmYxMWZkZSBweTNrCis2MTY3MiBjOTU2NjNjNjg0Y2FmOWExZTQyMWY5NDVhYmE1OTU5NDQxMmMzMDkxIGxlZ2FjeS10cnVuaworNjE2NzQgZDllYzA2OGIwOGYzMDk0N2U4OTVlY2ZjYTM5ZmViZjIxMTMwNmU2ZiBsZWdhY3ktdHJ1bmsKKzYxNjc1IDdkMmUxYWM4MzRiODVmNzhjOTk1N2Q1NjMwZGIwOTZiNzkzZmZkMzQgcmVsZWFzZTI1LW1haW50Cis2MTY3NiBkMTRhOWU1ZjgwYWU4ZmMyMzQ5YTUzNDFmZWZmNDAyY2EwNzc0ZWUzIGxlZ2FjeS10cnVuaworNjE2NzcgMWM3YzA4ZDI5ZmVlZTVkNzFhMTU4NTFmZGQ5ZWI5MTFlMmFmZWZhMyBsZWdhY3ktdHJ1bmsKKzYxNjc4IGQ1MTFlMzIxNzQzYTkxMWE1YjkxMjQ5Yjk2NDUzMWZiNTBmYmU4NWYgbGVnYWN5LXRydW5rCis2MTY4MCAyOTEzMTg5MjYxMWM1NWNkNDRlMTVlODc2ODZlMjQ2NzcyYTEyNzAwIHB5M2sKKzYxNjgxIDdjYTU3ZTIyYTUyMDc4OTQwZDg4ZjI3MTVkYTgzZjFjOWFiZTU0YjAgbGVnYWN5LXRydW5rCis2MTY4MiA5MWFjODA0OWU3MDkzNDIyZWI4MWFiNzE1MTg5OGIxMGQ2YzZlYmI5IHB5M2sKKzYxNjgzIGU4MzYwYjVkNWExMDc0ODQ0NGExNjI3NTY5OTJhYWRjZmEzOTRhOGMgbGVnYWN5LXRydW5rCis2MTY4NCA2OTYyMjViNWQ1NTU1OWFiMWQ3NjkyNzY1ODA3MTE2Y2I2YjgwNGI1IGxlZ2FjeS10cnVuaworNjE2ODUgZjNkODM4ZGFiNDBlZGJkNTk2OWExMGVlMGZmYTg2MGY0ZTUzYjRiNSBweTNrCis2MTY4NiAyODczM2FkYTRkMDMxZGUxODk4Nzc1ZWZlODc3YjBkM2ZlY2UwNmJjIHB5M2sKKzYxNjg3IDdjNjY2N2JiOGY4NTM0NzRlNWU3OTAxOTA1NmQ3Nzg1OWVjY2RlNGMgbGVnYWN5LXRydW5rCis2MTY4OCBhYTlkYTRhM2M5N2NlMDU2ZDdiNzNjODQ3ZjE3NmRjYzc2OWJiOGFkIGxlZ2FjeS10cnVuaworNjE2OTYgYzQ1YTQ1NjY5MDE3YjkyNTBlZmM2ZjM1YWRiNTEzNjQ1MTkwYzg4MiBsZWdhY3ktdHJ1bmsKKzYxNzAwIDhmOGIwM2MyYmJmZjAxNzJjOTY1OWNiY2FmODZjZDU0YjZkYTI4OTYgbGVnYWN5LXRydW5rCis2MTcwNCA5NDRkODdhOWJiZDBhY2RkNGQxYWY4MjNkMjdjNmY2NGNlN2FiZmIxIGxlZ2FjeS10cnVuaworNjE3MDUgOGVmMDVhY2VlZjJiNGE5ZTc0NzA2ZWExNmU4NDI1M2U0MDAyODdiNiBsZWdhY3ktdHJ1bmsKKzYxNzA3IDcwNGE4NjRlY2IwMTRjNTA3NjliNWE2NzczODdiYTQ3ZjlkNmRjYjUgbGVnYWN5LXRydW5rCis2MTcwOCBhZGI1Y2FiMzAxYTZlZTU1ZmFlODVmYWM5NDFhOGEwOWJhZjA0ZGM1IGxlZ2FjeS10cnVuaworNjE3MDkgNTQ0YTQ2ZGYwMjIyZGM5MjY5ODUzYjkzMGUwNTQ1YzE4OTVjMmNhOCBsZWdhY3ktdHJ1bmsKKzYxNzEwIGYwZTRkOWI0NWU3ZjM2M2EyYWEzMjljZGI4ZDFiYmFjODJhYjIzZWMgcHkzaworNjE3MTEgN2YwMzU1OTJkNmUxYmY1MGI0NWZkYzI3ZTEyZjg4ZjRhMWEwMzdkOSBsZWdhY3ktdHJ1bmsKKzYxNzEyIDg1ZmJkMWQyNjVhMjk1MTM5YjQwM2MxZTY5ZjMzOTVlNjI4NDVjOTYgbGVnYWN5LXRydW5rCis2MTcxMyA0NDE1MjdiZmM3OWNjNzNkMDVkMWM0Yjk1NzdmNDAzY2JlZTU0Y2JhIHJlbGVhc2UyNS1tYWludAorNjE3MTQgOTkzNTViYWE3NDhkY2Q0ZTYxNjNiNjFhZTRkMTU3YjBkNjkyYWYwNSBsZWdhY3ktdHJ1bmsKKzYxNzE1IDIyNzU2MTJjMTZhOWZjMTczOGQxYzBlNDRiODE3OGM4NDIzOTAyYjMgbGVnYWN5LXRydW5rCis2MTcxNiBiZjA3YmFkMWQ3MmY2M2ZjODkwNTNlMDg4ZjA3MzhjN2FjZDQzMjBiIGxlZ2FjeS10cnVuaworNjE3MTcgNzJkYzE2ZTgwMTc5MGUyM2YxNGIwMjA1NDZkMmZkNjI3MWQzZDBjZSBweTNrCis2MTcxOCBkNjc5M2VjZTMyNTQ0ZGU2ODMyMTYyM2FhMmU2YTkzMWExMzhhYzQzIGxlZ2FjeS10cnVuaworNjE3MTkgYTAyNTM3MTg0OTllM2I2YWE1YWQ5NDQ2YWY4ZmViNWE3ZjU0Y2JjMCBsZWdhY3ktdHJ1bmsKKzYxNzIwIDFmOGJhNWU4YTJmYTkzYmRiZTcwNDc4ZjdhMDZlZTExZTgyMDI1NGIgbGVnYWN5LXRydW5rCis2MTcyMSAyZTNmODZlNzNmYTI3NjFlNGY1Njc3YTczNGI2OWY3MWY3OTc4YjJjIGxlZ2FjeS10cnVuaworNjE3MjIgNzI4ZGMxMzMyN2IyZmI5NGNjYjkxYzNlNjgxYmIyYTgzMmExNzgwNyBsZWdhY3ktdHJ1bmsKKzYxNzI0IGU0N2MzYzdiYmRkYzdiN2JiZjc2NzQ0ZjY5MDBmZGFkOWU0YTQ2YmQgbGVnYWN5LXRydW5rCis2MTcyNSBhNzM3NmQxOTJhNmQ3OGFiMjA0NjBlZWUxNGEzOThlYjUzOGYyNzU4IGxlZ2FjeS10cnVuaworNjE3MjYgN2FhNTJlYjkwNzRmOWQyYTk5MzdkM2RkNzIwNzRmOTI3YWMzZDdhNCBweTNrCis2MTcyNyA4YzFmZjhlNTQ3Mzk3MTFhNWVlYWFmODIyMmM3NmU3ZGRmZDVhY2RmIHB5M2sKKzYxNzI4IDM3NmI1Y2I4YTAxNDM1OTlmYmMzNjJlOGUzZGM1ZDQ0NGE2ZjkwMTQgcHkzaworNjE3MjkgN2Y2YmNhNzhjMzY0ODU3ODk0NWIwNjgxMzM4NzQ2NzJhMzZjNzNmZiBweTNrCis2MTczMSBjZGViYTIwY2NkNmEwMWQ0ZWYzZDZiZWE5YzlhNDY5YTcwOTkyN2FlIGxlZ2FjeS10cnVuaworNjE3MzIgNzI2NGMwNTFhMzljYmI0NDBmMjU4MGQ0ZDg0MDM1YWNmZTI1Yjg0ZSBsZWdhY3ktdHJ1bmsKKzYxNzMzIDYxZjVjNjYzYjQ5ZDhiYWRlNDdmYjQwNjA4ZmMyMDczZDUyMDQyZTMgbGVnYWN5LXRydW5rCis2MTczNCBhOTljYTFlNTc1ZWQ5NzU4MWI0NzVkNTFiNGQ4MmQ0OWRkYzNkMDZmIGxlZ2FjeS10cnVuaworNjE3MzUgMjQwODMzMDVkMWM3MDQ2NjE1YTljNWI1ZmJhYjAwZjkxODc5ZmI5ZCBsZWdhY3ktdHJ1bmsKKzYxNzM3IDExZmJjOGFmZTMwNWZlMzM5ZWJhYjNjYzI0YTUyMzAyYmVmOTU1Y2MgbGVnYWN5LXRydW5rCis2MTczOSAwNGMyMTQ4NTY0ZTQ1OWNmZDliNDg0M2MzZjM5NTE0ZWY0ZGYxZDcwIGxlZ2FjeS10cnVuaworNjE3NDEgZWVlYjZiOTUyZDJmODllYWU0NmJkM2YyNjdjMWFiZDgyM2MyZTQ5ZCBsZWdhY3ktdHJ1bmsKKzYxNzQzIGY5Nzc4NWM3ZGU5YjYyMDFlMGNiMmY5OGY0NDEwMjMzZDVlZjYwY2UgbGVnYWN5LXRydW5rCis2MTc0NCAyMjY3Y2ExNGQ1NGJhYTY5NDBmYjNjOTYxMTg5NTAyY2ExNDM0ZGNiIGxlZ2FjeS10cnVuaworNjE3NDcgYjQ5NzU0ZWE5NGRiOTI2ZDE1N2UwMGE0ZWMyY2YwYzQyM2U4NDNkMSBweTNrCis2MTc0OCBiMGE0M2JkNWMyODE4MmJhZmMyNmEwNzU1M2UyMzJjZWE1NDIyMDA1IHRydW5rLWJ5dGVhcnJheQorNjE3NDkgNzA4MzRjMGU0OTFiZDhiZjE0ZDhiNGJjY2ExODQxOGQ4MWQzMWJhNSB0cnVuay1ieXRlYXJyYXkKKzYxNzUwIDQzNTY0M2I3ODBjNzE5YTcwMjFlYzhkNGY5OWM3YzYxMTU3NGIxMmYgdHJ1bmstYnl0ZWFycmF5Cis2MTc1MiBjNjMyZjllMWVhNWRiZDRhN2Y5MTg2MTA5NzU1MzY3MDZjOGY1NDY5IHRydW5rLWJ5dGVhcnJheQorNjE3NTMgZDRiYTViZDExNTgwYTg3NzkwYjYxMmZiOWM2MzRlYzFiOTVhNjgzNSBsZWdhY3ktdHJ1bmsKKzYxNzU0IGRmYTBhMDExYTI0MzVhNjM3MTQ0Yzk1ZmVkOTY4YjAyZmE4ZGNmNGIgdHJ1bmstYnl0ZWFycmF5Cis2MTc1NiA2NjY3MDA4ODk0ZTBkYjI2ZTFjZTkyODFlNjNhZTI0ZjJhM2Q0ZWFkIHRydW5rLWJ5dGVhcnJheQorNjE3NjAgMjQ4ZjkyN2JhNTdlYjI2M2MwZGQ2YzhjNDk5MWQzNDg3MzhjMjgyMiB0cnVuay1ieXRlYXJyYXkKKzYxNzYxIDc1MWRlNjE2ZTA4MDE3ZmMwYjE4ZDFhNmNkNTcyNjM1ZGNmMzJhZDAgbGVnYWN5LXRydW5rCis2MTc2MyAwMTIyYjQ2Y2U0ZTBiZGQ0ZjVhODQ0ZjMzYjQ1MjBmNjY0MWQ4NDBhIHRydW5rLWJ5dGVhcnJheQorNjE3NjUgZjJhYjUwZDBmYTkwOGViZTc5YTEyZWRhOGRkYjFlZjI4OTJmMTRlMyBsZWdhY3ktdHJ1bmsKKzYxNzY2IDJlNWFiMzVjY2FmMWFkZGIyM2NhNzU5MDNhOTgwNDAzNDlkNmQ2YTkgbGVnYWN5LXRydW5rCis2MTc2NyBkNmYwZTNlNTU2YTQ1MDllMzdhZGIwN2VlMmEyOWFhZDExODVlM2Y0IGxlZ2FjeS10cnVuaworNjE3NjggZTY3ZjQyMWEyMGIwYjFiZGJlYTVkM2I2MWY2YzU1M2NmYmMyYjgxNiB0cnVuay1ieXRlYXJyYXkKKzYxNzY5IDMxY2YzOGJkYWFjMGNiMDNlNzRjN2UxYjFkNWVmZDJhNjYyMzNmNDQgbGVnYWN5LXRydW5rCis2MTc3MCAxMGIwZDgxYTIxNDVkYmRlMGM0YjI0Yzg4YzMzOGRjMzU1MmU1MWJiIHB5M2sKKzYxNzcxIDk1N2NiYTc1NTMxNWI0NjUxNTI0MzJjMzQ3YzI3Y2I5NWZmMDFlN2IgcHkzaworNjE3NzIgZmIxZDM1Y2ZiOGQyZGRhODJmYjc0OTJkYTc0ODlhZTcyMGM1NjRhYyB0cnVuay1ieXRlYXJyYXkKKzYxNzczIGZhNDE4Y2RmM2JmZTlmMDQwZWVmOWJiMmJjZDNhZGFkNmNlOGVjYTkgbGVnYWN5LXRydW5rCis2MTc3NCAyOTZmOWJjNDJiOTYzZWZkMTM3OGI1NzJiZWNhOGQ5YzhlMGRhMTgyIHB5M2sKKzYxNzc1IDNmMGUzZmIyNzJhNjIxZTZkMzJlMTUyNzRlODIwMWU3NGY1NTFmNDMgdHJ1bmstYnl0ZWFycmF5Cis2MTc3NiBmNGM1MGE1MWQyNGYwYmYzMDAxMjRhZmY4ZTExZGIzZDI2M2RjZDBhIGxlZ2FjeS10cnVuaworNjE3NzcgNzIyYmVmNjgzNWI5NDRmZmEzMDE3ZjE4MDU3MGMyZmI1MjRmMzI5YSBsZWdhY3ktdHJ1bmsKKzYxNzc4IGFmOGZiNTNhNTRmZDNkNDRhMDg2Mjc4NGQ1YmFiZGRhZDMxMmZlZjkgbGVnYWN5LXRydW5rCis2MTc3OSBhOGY1NGI2YThjMTg1NWQ0NWYyNDVhMGU0ZTA4MjdjYTZjZmRmNGIxIGxlZ2FjeS10cnVuaworNjE3ODAgYzY0YzdiNzI3YzYyNThlNDM0MDk5ZWRkYjkzZGMwMGY4MTQxMGMwYSBsZWdhY3ktdHJ1bmsKKzYxNzgxIDdkYTViNjg5NzFhNWE5ZjBmZDc4ZGZkNGEzNzgwNjQxNzc4ZTRhNzQgbGVnYWN5LXRydW5rCis2MTc4MiA5NjM0YzE3ZThmZTU2MjA1MDljMWYxYzQ4MjU0YzhjZGUwNzFkMDE2IGxlZ2FjeS10cnVuaworNjE3ODMgZjFlY2IzZTk3OGRiNDlkNTdhNWE4MzJhZDY1M2ZkNmQ0NGQ1ODU4ZCBsZWdhY3ktdHJ1bmsKKzYxNzg4IDc1NjNmNGQyZjM2ZWE0NjhkYmNlMzI3MjhjZTIwNjI4M2Q1MTUwZmMgbGVnYWN5LXRydW5rCis2MTc5MyA4NzEwYmE3ZmJhMmJlYTdkNGNmYmNkYWM0ZGUxODdiN2YwNDA1NjRkIGxlZ2FjeS10cnVuaworNjE3OTYgZjFlNTE3ODU5NDdmNWI1ZjE1ZDMyZGY0M2U0MGQ2Mjc2ZWZkNDY3OSBsZWdhY3ktdHJ1bmsKKzYxODA1IDcyOTZjY2JiODU4YzJiODllZjUwZjk4NTczMjYwOTY4ZWEwZTRmOTEgdHJ1bmstYnl0ZWFycmF5Cis2MTgwNyAxZDVhMTE2MTllY2E4OGNlNzc5NDU5MjQ3M2Q4ZTNlMTgwOWU4N2QxIGxlZ2FjeS10cnVuaworNjE4MDkgZGY1YzhiOTdjYjJhMWZhMWZmNjQ1ZGZlYzY1MzNhMDFiOTgzMzE4MiB0cnVuay1ieXRlYXJyYXkKKzYxODEwIGMxZmM2ZTBhOTRiOWI3YzA0OGNmNDQwM2U0OTRlY2MzODk4ZmM0MTggbGVnYWN5LXRydW5rCis2MTgxMSBhZjFiMGY5OGRhZGY5ZDFiZGQwNjdmY2U0NWUyYTVmOThiYjU1MzE4IHB5M2sKKzYxODEyIDM5ZGM5ODVjNmZjNjA2NDQwOTZmN2U3OGY2NTRlZTNiYzU4NjBkMjAgdHJ1bmstYnl0ZWFycmF5Cis2MTgxMyA0NjdjMTZhNTAzOTJjYzBiNWY0ZTM3NDM2MzM3YWQ2YTA0ODlmZjAyIGxlZ2FjeS10cnVuaworNjE4MTggMGE0ODU1OTNhZTFjZTVkMzhlYjcwMTliNWMxODg0MWVmNmIwODA0MyBweTNrCis2MTgxOSBkMGI5MWE5MGJhY2M5NTNkNzQ0NzY2YTcwMTY3ZjEyMWI1ZmY4ZGE4IHRydW5rLWJ5dGVhcnJheQorNjE4MjAgNWU5MTY4NWQ5YzA2ODUyZGViOTc3ZmMwYWUxYWUzNDZhNzZjMjFkYyBsZWdhY3ktdHJ1bmsKKzYxODIxIGY1YjFmYTEyMTRmMGExNTRmODAxYmUyNTUxNWMwMTljMWI0OTk1ZTYgbGVnYWN5LXRydW5rCis2MTgyMiA3Y2FhYWIwNGE0ZDhkYTMyODBmMDk1ZmQwMjZjOWI0MWQ2YTI3MDJkIGxlZ2FjeS10cnVuaworNjE4MjMgNWNhOTI4NDAyZTU0MzY1Y2RkZTNiMGIzZjQxOWQwYTUxYTI3OGQyOCBsZWdhY3ktdHJ1bmsKKzYxODI1IGEzOWNmMzM1MzEyZTc3Y2I1OTJlNjNjZjUyZDQ3N2Y5NTM3NjVkYzggbGVnYWN5LXRydW5rCis2MTgyNiBiZmVlODczZWRmM2ZmNmY3YjA2ZGFhNjU4MmMwMzQxOGM5OWMyNGNlIHB5M2sKKzYxODI3IDY4MDUxZjhjNjYxOGVkYjhmZTlmMDE5ZjY5NDBlYzU4NTYzOWUwMjcgcHkzaworNjE4MjkgNGE2YjA5M2IzMTliYmZjODgwNzIxMDI2YTliZGZiOGVlYzY3NzczMyBweTNrCis2MTgzMSAzNzA4ZjA5MDZlZjVlNmYyM2MxYWQ2YTBiNmFmZmM1MmM1OTUyZjY5IHB5M2sKKzYxODMyIDVmMDRlMDJiYjQwYzVkNTZkYzk0Y2JhZTEwMzE0ZWNjOWZmYjI1OTkgcHkzaworNjE4MzMgMmNjZTkxN2Q3OTk2M2Q4ZDZiYWIwYTNlOGYxZDVmMjU1ZmYwOGJhNiBweTNrCis2MTgzNCA4YzI2MDRmZTU4ODY4YTU1ZjhjYjEyMGQzOTNhZDE2MmMzNDQxYzI0IGxlZ2FjeS10cnVuaworNjE4MzUgZGY5MDc3NGY5MmIwNjlkOTBkNzlkZTQ3MDJmNDQxZjlkOWM1ZGZiMSBweTNrCis2MTgzNiAzMGVmNTExMjgxMzI2ODUzNzNlMDFiNDk4MGJkZGZmZjllZTc5N2IxIHB5M2sKKzYxODM3IDg1OWZmNWM3YzYwYThjMGM2ZDUxNTUyZWViZmVjNzI1YWMxYTY5OTAgcHkzaworNjE4NDEgMjU0MzFmZjZjZTY5ZGY2NWNjODlhNjg2MDViMmM3YzEwNTYxNTdmZCBsZWdhY3ktdHJ1bmsKKzYxODQyIDM4ZGUwZDIwMjMzODY3ODE5OGI2ZWVmODY4NDY4MTUwMjBiNDM3NjggbGVnYWN5LXRydW5rCis2MTg0NiAyZDBlMDg5MTdhMmUzNjBmOTU5ZTE0ZTAwYmI4ZjY5MTU0ZjdjODI5IGxlZ2FjeS10cnVuaworNjE4NDcgNDYxZmY0M2U3NGQwMjJhYjk3OTMwZjEyODcwY2YyMGZiOTU2N2JlYyBsZWdhY3ktdHJ1bmsKKzYxODQ4IDQxZWU5YTQwMGFkMTE0MDI2NjQwYzA3NTBiNWI0NDgyYmIwZThlMGIgcHkzaworNjE4NDkgMDJhZTMxMTI1NmE3N2ExYTk0YjQ1ZDA3NThkYjBhNTQ1NGYzN2QwNyBsZWdhY3ktdHJ1bmsKKzYxODUwIGIyZjNlNDZlNzhhMjlhOTQzMTdjNmM0ZTNkNWYxY2EyYjY1YzI5MDcgcHkzaworNjE4NTEgYmZjZGE1NTI0OTJlNjVmNTY3YjZkMmM0MjViN2VjMjFiOGU2MWNiMCBsZWdhY3ktdHJ1bmsKKzYxODUyIGM4NmU5ZGQxNmI4ZDE0ZDVmYjljMmE3N2QwNDQ3YTBiM2E2OTQwZTcgbGVnYWN5LXRydW5rCis2MTg1MyBjOTIzMDA5MzA3NzJkNjY2OWZjZjk3OGJiNTJiYzI1MzllYzhjYTFiIGxlZ2FjeS10cnVuaworNjE4NTQgNDIyODVkNjM3NTVhYzM4ZjBjNDBiNjE3NzlhNTExMWY5NTkyNmM1OCByZWxlYXNlMjUtbWFpbnQKKzYxODYzIGYzZTY0OGZlZTRjMTlhZDViZThkNjQxMzNmODkyNmQwZDcxZTdhYzcgbGVnYWN5LXRydW5rCis2MTg2NCAwOWFkZmYzZDY2OTE1NGNmNTFjODQzOWY4NGFiNGNjMTkyNTY5MzcxIGxlZ2FjeS10cnVuaworNjE4NjcgY2U0NWZkM2E3YTNmYmU2MmRiY2JhYTk4Yzk2OTlmNDgxNzQxZDY2NCBsZWdhY3ktdHJ1bmsKKzYxODY4IGRlODNlZGNmZWIzZDMwOTA1Y2Q4MGIxNmJmZjIyMDNjMDFmNTA3MjMgcHkzaworNjE4NjkgZGU1NDQ5NWE0MTRhN2I5Mzc0YzgzNzBmNjYzNjIwOTA5YWI1NzExYiBsZWdhY3ktdHJ1bmsKKzYxODcwIDJiZmY1YTcyOTAzNjlkYjU1YThlMTc1NzY0MjM4OGFhZTcyYWVjYWEgbGVnYWN5LXRydW5rCis2MTg3MSA5NThjZjBjMjdkYTkzOTM2NzFlYTBlNzAyYjQyMjM1M2U1MmNmOGM1IGxlZ2FjeS10cnVuaworNjE4NzIgMzhhMGE3MzdjY2Q0MjUzMjg2YjI5ZGNkMWU3NjI0NjdjZDBjN2JkOCBweTNrCis2MTg3MyAxNDdmMzVmNmU2ZTU4NmFmMzk3MTZjYjU4ZjI3M2RlYjlkOTc3MTMzIHB5M2sKKzYxODc0IDRmOWNhODI3YTdkODdlOTdjZGU0OWZjOGE3ZDFlN2YxOThjZTkyYTggbGVnYWN5LXRydW5rCis2MTg3NSAwZGQ0NDFjYThlYjBjMzljN2UzY2Y3NTRlNjFmMTYwOGExNjYzYTRhIGxlZ2FjeS10cnVuaworNjE4NzYgYWJiZDgxZjJjYzY4ZTZiMTc5N2QzMGRlNDI3ODE1ODQ1MTJmYzBhZSBweTNrCis2MTg3NyAwNDFlOGQ3Y2M2ODQwOTMwY2RlYjQwOGIyNTE3YTFhYjYxMmQzN2QxIHB5M2sKKzYxODc4IDliM2YwZmE1ZDhjYTA3NjAyNDBkMDJlNTMxYmYzN2NmMTM4Njg0YWMgbGVnYWN5LXRydW5rCis2MTg3OSA4NGJiNzcwMWVmYmFkODIyYTA0MjU4MjQwZGY4ZDhlYTczNjhkYzI0IGxlZ2FjeS10cnVuaworNjE4ODAgMmExZjQ4MDFkNDk0ZmNhNDVkMDA3NTkyZTdlMjcxYWQyMTY5OGZlZiBsZWdhY3ktdHJ1bmsKKzYxODgxIGFlNjU5ZmYwNTI4YmMxN2I2MWYxYWRhYjE0MGIyOWY1MTViMzdjMGQgbGVnYWN5LXRydW5rCis2MTg4MiA0N2MyZmZjMzhkMWQxMDNjZWI0ZTVkNzgyNzA1M2Q0MmRhNGVmYmU0IGxlZ2FjeS10cnVuaworNjE4ODMgMWEyYzk2NDVmNzFkZjNjMDZiN2ZjZTgxMzlmNzMzMzhkYzM5NTdlMyBweTNrCis2MTg4OSAyYTg2NmVhNjY1MDliNjM3OGQzYTZlODFhZWNlZTJhYTk3MjkwMzdhIGxlZ2FjeS10cnVuaworNjE4OTEgYTdjYmZjYmFhNmIwNjE1NjdhNTk2MThiOTc2OWUxYzBkNDE5NjM1MiBweTNrCis2MTg5MiAyMmJkMDIyOTNlZmE1ZDVkNDA1MTFiMzFmMjIxMmQxZWVlNjhlY2VhIGxlZ2FjeS10cnVuaworNjE4OTMgMGI2Mzk5OTE1OGIwNzI2NGM4ZWQ3ZTk5MmJhMjczOGRhZjFlNWQ4MyByZWxlYXNlMjUtbWFpbnQKKzYxODk0IDZiZWEyZjEzNTFiMWY1ZjNhNGQ3ZDVjNjM5NjI5MzJiNTEwYmFiNDQgcHkzaworNjE4OTYgMjU2ZjkzOTRkOTNkYjVmMzIyZmRmZjQzOTg2MjRiYzNmMmZkNjRmMyBweTNrCis2MTkwMCA3MmNjNDAwZDgwNTM2ZDFlMTU0NTZlZjVlMzU3NDAzOTVlNjZkMTUzIGxlZ2FjeS10cnVuaworNjE5MDQgZTgxY2FjNzNkYWYyZjA4MTQ5OWJhOGMwZTc4Yjk3ZDlkNTQwNzkzNCBsZWdhY3ktdHJ1bmsKKzYxOTA1IDdkM2E2ZGM0NzFjZDkxMjM3ZmQwM2YxZmNiYmEyY2IzYTA0MTcyYTUgcHkzaworNjE5MDYgMTg5OWUwOGZhNDIxMTY0ZjRjZjI1MmYyY2UwZDQ1NWUxMzNmOWM4OCByZWxlYXNlMjUtbWFpbnQKKzYxOTEzIDVkZjcyYjk4ODdmYTY4OWU5OTQ5ZDM0MjYxNDczNjk2OWJkOTM4N2MgbGVnYWN5LXRydW5rCis2MTkxNCA0NmY4OWY0ODBiZDRjNTBjZDIwMTNkN2QwMGYxY2FkOWYyODU0MDBhIHB5M2sKKzYxOTE1IDYyMmQzYjExNjhhYTI5NGQyNTg4OTI4YjliOGUwMmMwMDllYTJlNDYgbGVnYWN5LXRydW5rCis2MTkxNiBmOTRhYzhmOWNmOTZkNGVmYzQ0MDFkYzBhZTVmNmQyY2VjNTM5ZTAxIGxlZ2FjeS10cnVuaworNjE5MTcgNjc5MDk1MDhlMDQxNWE0MGUwNTgwYTBlNThhNGM2YjFkZjYyMmI4ZiB0cnVuay1ieXRlYXJyYXkKKzYxOTE4IGI1MWU0YjUwZWQzMGVjMjhkNWZhNjlhODE2N2ZjOTE3YzM2NWVmYTMgbGVnYWN5LXRydW5rCis2MTkxOSAxNTExODU2NmY5ODcyN2JjMmFhZDAxZDhiNDY0ZjEyNDgyYWI2Njc4IGxlZ2FjeS10cnVuaworNjE5MjAgMTVkYTA5OGIzY2Q4NWMxNDdiNzc3ODgyZmJjN2IwOGQwYjM1YjYzMSB0cnVuay1ieXRlYXJyYXkKKzYxOTIxIDRlYTZmMTJiYmU4YzY5YmU2N2M0YjM5YWJiYWNmYjI2N2IzNTNkNjkgcHkzaworNjE5MjIgNTRiOTBkN2VkZGI3ODFhMGE1Y2E4ZGZjYzcxYzhkZTQzNTlmNTgwZCBsZWdhY3ktdHJ1bmsKKzYxOTIzIDI5NmMyMThmMzVjZjZjMzcyYWQ2ZmUxM2I2NzU5NTVhZTEyN2RmOGEgbGVnYWN5LXRydW5rCis2MTkyNCA4ZjZjY2QwNzVhMjRkODM2NjhhNGQzNzRlODZiOGRlMTViNzNjMDExIGxlZ2FjeS10cnVuaworNjE5MjUgN2RhODkxODEwMmZlZTE1NGMxOGUwZWNiNTBkYTViZmZhNDM1ZjE1MSBsZWdhY3ktdHJ1bmsKKzYxOTI2IGNkZGIyOTdjMjQ2NTNiNjg2Y2I0MzE0ODZkYzczMTg0ZmFiOTRjMmMgbGVnYWN5LXRydW5rCis2MTkyNyA4NWFjYzQwODExYjNkNjQ0Y2Y1MmUyNTYwOTMxOTI5ZDM5YmY1ZGU1IHB5M2sKKzYxOTI4IDFhYjVjYzI1MzQxYWQxODE3YzhmZmFhZTI5ZGY0YTM4ZGIzM2YzYTEgbGVnYWN5LXRydW5rCis2MTkyOSAxZGQwMDAxNmE2OWNlZDhlYjczZDM2NmY4ZWE1ZGJkYzAzMGE0MDE0IGxlZ2FjeS10cnVuaworNjE5MzAgZDU3ODRmYzE5ZTdhYzcwNjliMjg3ZjI5ZThlNzE5ZmQzM2NhMDkxMiB0cnVuay1ieXRlYXJyYXkKKzYxOTMxIDZlYTQxZDUyMzllMDdlNmVmNjU1OWUxOGZiOTgyNjM1ODRhODY5OGYgbGVnYWN5LXRydW5rCis2MTkzMyAxYzdmYTRhY2VjYjNhZDI1NjdhMGQ3NzQ0NDA4YzZmNDNlZGIxZDllIHRydW5rLWJ5dGVhcnJheQorNjE5MzQgOWZjY2NkNThkNjVkYmY5MzY3NzI3ODIwNzExYjE3YWMyYjMxZDBkNyB0cnVuay1ieXRlYXJyYXkKKzYxOTM1IDIwZmM0MWMxN2NjN2M2MDdmOWU5ZjM3NGYxODYyMWFhYzAyNTE3Y2MgbGVnYWN5LXRydW5rCis2MTkzNiA1MzQxYjMwYjE4MTI1YmYxOTI1YzBkNDRmMGM0NzIzODk4YjUxMjhhIGxlZ2FjeS10cnVuaworNjE5MzcgY2MwZDE5NzdmODIwYzc5ODIwZTZkNjQ4NmU3ODRiMWNjNDc4YTVlMSBsZWdhY3ktdHJ1bmsKKzYxOTM4IDJlN2ZmMzhlMGExODNlYTg4YzRlMmE1Yzk4NWUyMThkM2NhODIxNWIgbGVnYWN5LXRydW5rCis2MTk0MCBjY2VlYTk4Y2NmMzVmNzc0ZTgyZTQ1OWE0MzA0OTYxZmI0YTE0ZjMwIGxlZ2FjeS10cnVuaworNjE5NDEgMmJjYmQzODgyZWVlZDZjZjcwODVhYTMzYWQ4ZTIzMmQ0NjU1NjczOCBweTNrCis2MTk0MiA0ZDE5ODkyMDQwNjIwYTQ3NDE4YWYwN2E5YjRjZjU3OWQ3YWRlMTU2IHB5M2sKKzYxOTQzIDhkNmZkZTE2ZTQ5M2NiMjRjNzVkMTUyZDM4MmQwMTMwZjRiNGQ4MTYgbGVnYWN5LXRydW5rCis2MTk0NCA2NGJkOTZmZjk0ZjE0OTQxODMxMzRiMjY4ZDU2ZTI3OWNiYmY3YjUyIHB5M2sKKzYxOTQ4IDFiNmMwZmYxMzRmYTRhMWQ4YTdhOGYzYzAwN2E2Zjk4NDk3NDU3OTYgcHkzaworNjE5NTEgOTk1Yzk5NjBmN2ZmMzgzNGE5MWQ2YzNmZjE3NTRlOTBiODdjNGMzOCBweTNrCis2MTk1MiBkY2U5ZDJkOTJjODgxNDcyYTA3YzI4ZGIwNWNjMWVmYzM2OGNlZmQ1IGxlZ2FjeS10cnVuaworNjE5NTMgYzc4ZDM1ODZjNDc0ZjY2NDA2OTUzOTdiYzJkN2NhNWNmODgyNjhlZSBsZWdhY3ktdHJ1bmsKKzYxOTU0IGRhYTZhY2VhYmRmYzU4NDkwZjhhOGRhMjI2ZTk0MTk0MjcwM2U2MGQgbGVnYWN5LXRydW5rCis2MTk1NSA3ODUwNGQ2MDRiNDQ4YzhiNWNkOGRlNTFhMjgwNmYxNWU4ZTg0YTc2IHB5M2sKKzYxOTU2IGQwMGRlZDhiMjY3NzFkNDhjMDg5ODNmYjI2OTRlNzU2YzMxNTRkZjYgbGVnYWN5LXRydW5rCis2MTk1NyBhOTM1YzUwY2I1MWFhNDVlZWIxZTQyN2IzNDgwNTFhZWU0ZDIyN2UxIGxlZ2FjeS10cnVuaworNjE5NTggMjQ4Njc2OTg4YzU0OGZjY2NmOWIwNTU5ZjJhYjc2MjQ2Y2M0MTQzNyBsZWdhY3ktdHJ1bmsKKzYxOTU5IDM4ZmU2NGUzYjEzMTczYWZjOTMzOWVhZTQzYmRjZjM3ODc0YWY2OTggbGVnYWN5LXRydW5rCis2MTk2MCAzNmQ4MjhkMjdjMzY0MDkxMWU4NmNkNmE2ZmFlMjAyODQ5MjVmNzg3IHB5M2sKKzYxOTYxIGIwNmExNWVmZGM2ZDFmNDJjZjg2OTJhODhlZjk4N2I1NTA4MWZkZWYgcHkzaworNjE5NjIgYWUyODMxNTQyNTU4MTY3ZTg0M2RhNzI2N2Y4YTI2ODQ3YTU1NzVlZCBweTNrLWltcG9ydGxpYgorNjE5NjMgNWMyNzFlZjZjYjMyNjM4M2FmNzA0YzUwZmQ5NGQ4ZTkzNjIyNGFmZCBweTNrLWltcG9ydGxpYgorNjE5NjQgYjQ1ZTdiNTdhMGQ4MmFhZDU4ZGU3OWNiODE1ZmE5NzI0NmI5NzhmYiBsZWdhY3ktdHJ1bmsKKzYxOTY1IGVmNDBlYzMyYzVlNGQ3NzM5YjJhMjUwNWQ3MDI0ZDUyOGJiMGMyMWUgbGVnYWN5LXRydW5rCis2MTk2NiA4NDc5M2JmNWE0YmZjMGQyNjA5Y2M4YTBmMjNjMTY1OWZjM2U1YzJhIGxlZ2FjeS10cnVuaworNjE5NjcgNjE5MmQ1YjEyYjZhZTE3YjUzYTJkYWY4YzZhMzlhNjc2OTljNTFiNiBsZWdhY3ktdHJ1bmsKKzYxOTY4IGQ3NDBjNzFmMDJmZjI3YWI5ZDk1MThkODMzMmM2ODBlYmNlMTcxMzcgbGVnYWN5LXRydW5rCis2MTk2OSA1MDc4YjdlZTE2ZGMxNzFkNjk3YmEzMTUzOThhNGQwNWMxZWM5MmFkIGxlZ2FjeS10cnVuaworNjE5NzAgYjM1MDk2MGFkZTZkNjY5Njc3M2I3MWZlMDM5NmI2ZjYzNzc3NWI1YyBsZWdhY3ktdHJ1bmsKKzYxOTcxIDMxM2YzODFmYzBhNzE3MGNjMWU4MWE5NzRhNzdhYzA2ZDQ1MWNlN2QgbGVnYWN5LXRydW5rCis2MTk3MiA2ZjEzMWQyYzM2MjgyMDliZWZmZDU4OTVjZGQ1MjMzMTUzOWNkZmFhIGxlZ2FjeS10cnVuaworNjE5NzMgZWFjNDFmOTAyOTZjNjljNmQwN2QyOWYxZmViNDUzYTRjMGU0MDBkMSBsZWdhY3ktdHJ1bmsKKzYxOTc0IDYyMTM4YTBmNDIzMjZiYjAzNDBiZWU3MGZkNDdiMTExNGYyYjMxOTQgbGVnYWN5LXRydW5rCis2MTk3NSBhMGVhM2EwZWZjNzEwOTM0YWQ2NmUzOTA3MjExMjMwZmYyMjdkNmExIGxlZ2FjeS10cnVuaworNjE5NzYgZjFhZWM3ZGVjMDVjYTIxZWI4MzY3NDA2ZGVjOThlYjA2Y2ZhNmZkOCBsZWdhY3ktdHJ1bmsKKzYxOTc3IGUzOWY2OWJmNTYxMGVhZDM5ODUxNzc0NDU5MDlhN2JhZjk0ZjhhMWYgbGVnYWN5LXRydW5rCis2MTk3OCA1NjQ0MmRiNjBhMzYyYmZiNjJlOTA0NjNmNmRhMzE0OTM2YjJkZDllIGxlZ2FjeS10cnVuaworNjE5NzkgMzFiYTNmYTE1ODViMDlkYjBjODAyNzdkZTIxODBlYWNjMTYwNDhkMyBsZWdhY3ktdHJ1bmsKKzYxOTgwIGNiNTYzMzBkN2FkYzhjZDEwMzliZTQwNGVlY2ZmOTFiNTViYTJhN2UgcmVsZWFzZTI1LW1haW50Cis2MTk4MSA2YTY2ZDMyNjdkMGNkNGRjYTYzZjU2MWYxNmI2NzBhNjU5Mzk2NTYyIGxlZ2FjeS10cnVuaworNjE5ODIgZGE1NTk3YTVjMTk1ODJhOGUzN2Q1NDA1OGY0MTc1YjVmYWQxODcyYSBweTNrCis2MTk4NCAxMGEzOWE2NjJlNjljYTRkZGZmYzJiYmZlYjdiNTA4MDFhZDQ5ZmI1IGxlZ2FjeS10cnVuaworNjE5ODUgMThlMTlhYzk4ZDM0YzAxOTMzMTI5ZGM3YmE3NjE0YjQxOTYyMjBjMyBsZWdhY3ktdHJ1bmsKKzYxOTg2IDU5ZDA4MjU5MWY1NjgwNDFhMGM2M2Y0YTRlOWMyZGFmNmUyYzk0MjggbGVnYWN5LXRydW5rCis2MTk4NyA3ZmRmZjAyZTZmNDVlYTk4NDUxYTdiOWJiMzA3MDE4ZThkODYzNTdhIGxlZ2FjeS10cnVuaworNjE5ODggNGJmNjFmY2NjNGU2ODgyNDc3ZmNmM2E5NGY1OTQ1YWI5NzUyNmJmNyBsZWdhY3ktdHJ1bmsKKzYxOTg5IDZlN2IyODA4YjlhNjllNzdhOWI1YWYxYzhlZGIyYzJhYjE3YTAzNWEgbGVnYWN5LXRydW5rCis2MTk5MCAxZDUwNzQ3ZTUzZDM2OGIwZDgxZGE5MjA2ZjBmZDIzOWNhNmMwODg5IGxlZ2FjeS10cnVuaworNjE5OTEgNzIzMjI1OWEwNTI5ZTY5NjAyOWYzNDU4NDJhNDZlYzFkMWI5ZjA4NyBweTNrCis2MTk5MiAxZTEwYjMwZjc0OThjM2Q3MmRiOWRlM2EzY2JlNzYxMDk2NmI2ZDZiIGxlZ2FjeS10cnVuaworNjE5OTMgMzEwM2VhM2RmNDlkOTRjN2U3MWM1YTAxYmE3ZDZmNmRiZGRjNDkwMiBsZWdhY3ktdHJ1bmsKKzYxOTk3IGJiZmNiYWZlYWU4NDNkMDBhOTRiMWFkM2IzMGJmYzk0MjgxYmY1MWMgbGVnYWN5LXRydW5rCis2MTk5OCA2NGYyZWI0MTcwZjE5NjBhMjk1NjgwZjdmZTFlODM1NmI2MWFiYTYwIGxlZ2FjeS10cnVuaworNjE5OTkgNjlkMDA5MDc0MDg4M2ViOGQzZjJiNWVmOTg4Mjg2MGQ2YWQyYTI0YiBsZWdhY3ktdHJ1bmsKKzYyMDAwIGY5YTYyOWY0MTY1NmRhNzIwYTU0ZmRmYWZiMzM0ZjM5YmFmNDRkZGYgbGVnYWN5LXRydW5rCis2MjAwMiAyMzY1YzQ3ZmU2NGRkYzM0ZWYwY2NhNjNiNTdjYWZjMDQ4NTdlMGIxIHB5M2sKKzYyMDAzIDg0ODE2MGQxMDc4MDYxY2NiYjVkNjdjZTcyYjIyNDVlMzY5ZTU1MmQgcHkzaworNjIwMDQgY2EzOGY3YTRiNGM5NTk2OGI4NGEyNzQxZjQxYWUzMmFjMjQwM2JjNiBsZWdhY3ktdHJ1bmsKKzYyMDA1IGE0M2JlMDc0MzI0ZDJmM2YxYmU5OWY2ZTRkZDUyYzZkZjgwZTMxODUgbGVnYWN5LXRydW5rCis2MjAwNiAwOWZhOGNiMmJmZThmNGYyYWE3NTAwMTQzMWJlNTM2N2JiYTcwN2VjIGxlZ2FjeS10cnVuaworNjIwMDcgYWFjZjhiZTUxZjkwMzA3ODc3MDliYzVjZDQ0YWVjYWRmZTM4YTcwMyBsZWdhY3ktdHJ1bmsKKzYyMDExIGEyMTg1NGU1MTBiNDdiY2NjZWRlMmRlZmE4NzNkN2IwMjRmMTAyZDkgbGVnYWN5LXRydW5rCis2MjAxMiA2NTRhZDc0YWRlMTMxMjAxNmQ3ZjViZWU1NzU0NjRkOTg1MWEzYWJhIGxlZ2FjeS10cnVuaworNjIwMTMgMWI1YjZhYmIxZjJlZGU5YjE0NWFhODQ2MjdiYWJjZmYwOTQwY2Y3YyBsZWdhY3ktdHJ1bmsKKzYyMDE0IGMzZTY3NGNiZDcyZTlkOWFiNDUxN2Y5MDY3NmIwMGQ2OTc4OGY1MjUgbGVnYWN5LXRydW5rCis2MjAxNSAzYjk5NGY3NGIxMDA0ODIxM2VmZDI4YjdlNTVhYTgwOTk0NWU2ZjcyIGxlZ2FjeS10cnVuaworNjIwMTYgYzc3Y2MyM2UzOTRmMTQ0ODE2MTJjMDkxNGRmNGU4ZDI1MDYwNjUzNSByZWxlYXNlMjUtbWFpbnQKKzYyMDE4IDk3MzRhNDJjZmExNWUwMTVlY2RkYjlmM2VkM2IyYjkxNGYyNWRiYTEgbGVnYWN5LXRydW5rCis2MjAxOSBjNGVkNjY0YTFkYTFjMGIwMWIwOWE5NmVmM2VlYTZlMzVjMjExOTRjIGxlZ2FjeS10cnVuaworNjIwMjAgM2VhM2U1MWQxZWUzZmE4ZjY3YmM0NzNiMjU0ODU0ZDI3ODZhZTlmMiBsZWdhY3ktdHJ1bmsKKzYyMDIxIGVmZWY0ZTNmZWQxN2RhY2YyZjNiYzdjNDAyNzg0NWRmN2RkNWU0NWIgbGVnYWN5LXRydW5rCis2MjAyMiA4NzJhYmVkN2QwNjk0ZDg5YjRmZDU0OTcyOWE3NmYzZmQ4YjJhNTA4IHB5M2sKKzYyMDIzIDdjZTFhOGZkOGE3MWNhOTdlNmMyNmQ4ZmNlZWVlZTExYTBhZDExNWYgbGVnYWN5LXRydW5rCis2MjAyNCBlMDZlMDhlOGZkY2VkZWM2YmFkYTNiMWRhMjg3NmE5ZjhjYzBhMDcyIHB5M2sKKzYyMDI1IGQxZTFiNzQwZjY4NDM4OWMxZWViMmE4NjMzYmEyYTU2ZDkyNjA4MmYgbGVnYWN5LXRydW5rCis2MjAyNiAwZWE1YzA1NWFiNTRmNDZiNmYzZGMyOWMzOTI1ZmI4NGM4MjJmOTViIGxlZ2FjeS10cnVuaworNjIwMjcgMDkwNTNhN2MxY2RmZDgxOGYwOTJmNmE4YzRjNzA0Nzg0NDAzZWFjMCBweTNrCis2MjAyOCBmZTUzZDFhMzZlZjYzYjk0ZDFlNTk1ZmJmNGU1ZmRmMzUzMDYwMjJlIGxlZ2FjeS10cnVuaworNjIwMjkgYzQ0MGE1NzM3MTQ5YTcxMmRiOWJkNDVhYmQ4NDZmNTc2N2VjMzZkMyBsZWdhY3ktdHJ1bmsKKzYyMDMwIDZiM2FjODllMGRkNDkyNDlhMTA4ZDlkYzVmODVmODU1YzA5OTM4NGIgbGVnYWN5LXRydW5rCis2MjAzMSA5NThjZjdlY2NhZTI0OTYyZDc5NTBiYWIyMjc1NjViOTM5YmI1MjAwIHJlbGVhc2UyNS1tYWludAorNjIwMzIgMGE0ZGEzOTdlMWRiNDdiMDg2Y2ZkYjAwZGRiZjg5YjNhZWE0MzUzNyBweTNrCis2MjAzMyBmMTg0MzMzN2E2NmMxNWU1MzNjNjAyMGU5MGJiN2FlZTZmZTQ0NmZkIHB5M2sKKzYyMDM0IDQ2MzQ4ZGU2M2Y2MWEwZWJhN2ExZjM0YzRkM2E0YTVlOGVkOTk3MGIgcHkzaworNjIwMzUgNTExMGNmMGU1ZjhmZWFmMjQxY2I5MGRmZjJmZjc1MDAwNWU0ZGVjNyBsZWdhY3ktdHJ1bmsKKzYyMDM2IDE2NzM2ZWI0MDE1MGFhN2Q3ODg0MDc4ZmJiMTA2NzViMmFiY2Y3ZDQgbGVnYWN5LXRydW5rCis2MjAzNyAyM2U0MjU3NzIyNmE3Zjg1ZmI4YWIyNzIxZmZkNzgzNDgwODljNWFlIGxlZ2FjeS10cnVuaworNjIwMzggNmUwMmZmMGJkNmY4OTQ0YjcxMjI5YWIxNzEwODIwODk4N2YwMmFlZiBsZWdhY3ktdHJ1bmsKKzYyMDM5IGIwYmYwNmQ0OTY0N2RkMjVkMWMzZDM2NmM4NDFhNDYyOTA4Zjg3NjMgbGVnYWN5LXRydW5rCis2MjA0MCA0YzY3OGU5YzdhMzA1MGMyNDEyYjM2MTc0YTEwMDVhN2MzZmQzYmI4IGxlZ2FjeS10cnVuaworNjIwNDEgNTFlZmYyZmQ5NTI3MTM2NmNlODc4MWQxN2YyYTBjZDYwZWIwMDAyZSBweTNrCis2MjA0MiAwYzIxZjliNGE4MzFhNDYxNmE4NmQyNjJhZWFiNjdlZjYxZWZjYzMwIGxlZ2FjeS10cnVuaworNjIwNDMgMDFhN2U2NjUyNWMyNjI0Y2M3YzI4MWQzMzZhMzgzMjkwZWYwZTIwMSBsZWdhY3ktdHJ1bmsKKzYyMDQ0IGU0NDg2YzM0M2Y3ZmE2OGQ5YTA3MWIwMTc5ZDY3NWE1MWUxZDhkOWMgbGVnYWN5LXRydW5rCis2MjA0NSBlZDg4ZjRkZTQ5NmYxOTgwNmIzNjZhNzBlZjI5ZDc3MmJjYTE2Y2RmIHB5M2sKKzYyMDQ3IDJmZjg4YWU5ODUwYzUyZTVjZTdhZDljNWExMmVlMTUzYTYyMTRjODEgbGVnYWN5LXRydW5rCis2MjA0OCBlMzcwZDljZDE0OWVhMjYwNGJiNzhmNTFhMTcxNTU2MTllNTQ1Y2VlIGxlZ2FjeS10cnVuaworNjIwNDkgNDJjNWQyODdhODUyZTZmMjg5ODhjZDZiMjU5MzIzZGFjMDA3N2FlYiBsZWdhY3ktdHJ1bmsKKzYyMDUwIGYwNTFlN2E4MGFjYzc2YjQwMjllZTU4NjYyMTQ5NTgxZjJiMDZlMTkgbGVnYWN5LXRydW5rCis2MjA1MSAyOWVhNTA3ZmQ5OTgyMjMzNzQzODc0MTAyMTY4MmYwMzFjODIzMGMzIGxlZ2FjeS10cnVuaworNjIwNTIgYzExMjIxOTA2MTcxMWE0NTAxZTg3NmUwZDA2ZTczZTcxMWU5ODAwZiBsZWdhY3ktdHJ1bmsKKzYyMDUzIDA3Zjc1ZDU1MTliNDdiNGMwYjE3NWQzYzNmMjVhYWZiZTFiNjg5OTIgbGVnYWN5LXRydW5rCis2MjA1NCA1OWQ0MmU2ZDE4ODUzYmEwZmFkOThmOWJmZmU1MTU0MDQ4ZDVhYzJhIGxlZ2FjeS10cnVuaworNjIwNTUgZWE3NWIxMmZlOGU3NmY5YmZlODMxM2Y2ODYwNGM4ZDAxNGYzMjhiYyBweTNrCis2MjA1NiA5ODI3NmJlNjQ1NzlmYzNjMGM2MTMxZmYyZTJmMTUxZTU3MDU3ODNkIHB5M2sKKzYyMDU3IDFjOTcyMzJkOTNmZjNlOWFlMjBlNGExNjE4NWM0YWIzYTA2MWM0ODUgcHkzaworNjIwNTggZTg5OThlODBlYWYyYmY4YjU5OTAxODU4NDc4Y2NmN2NmNmY5NWJkZSBweTNrCis2MjA1OSBiZTE4ZGY2MzQ0MDU4NTkzOTU2MDUwYzg3ODc3YTVmODY3M2EzMTE0IGxlZ2FjeS10cnVuaworNjIwNjAgMzJlYTc2NTRmZjljNGVmMzVmZDNjOThjN2EwMmQ4MDcyYTQxNmVhNiBweTNrCis2MjA2MSA0YzdiYjQwOWRhZDZkMDBkOTBkNmRhYzQzZjgzNDk3MjJkNWQxMDU2IHB5M2sKKzYyMDYyIGE3ZmI0ZDg3Y2JkZTM5N2RhNGZlZjM1ZjZmNzhlOTkwYmQ2ZTI5ZWMgcHkzaworNjIwNjMgMmJjMWQ1YWE3MjllZTQ5NmM2ZTkyZmZjODBlZTQ0ZTRjOTJiNDk2NiBweTNrCis2MjA2NCA2MDQyOTE0ZTgyODY3N2NiMjllNmRhOTJmMzhhNWVlZDg4YjBiMWJhIHB5M2sKKzYyMDY1IGM1YjE0OWFkMzAwZjhjMDhjMWVjMzhlYjMyYTkxYjA2MjQ3NDdjMWMgcHkzaworNjIwNjYgNTdiYmFjNTMxOTE5ODI5YjMzZmRmZDNkMzE4NmNlNTRiODcwNGFkOCBweTNrCis2MjA2NyA2MDBmMmZmOGFhOWU5MTcwY2M2MDk3YjU3MzUxNmU2OTM2ZjNmMWNhIGxlZ2FjeS10cnVuaworNjIwNjggZmZiZTZjNzkwNTIzY2QyODhmMTg5MWY5MTcxZTJkZWEwNjU5YjM3MSBweTNrCis2MjA2OSBhZWQ2OThjODY0N2I5OTE0ZjAxNTdiYTdhM2ExOTI5MTEyY2U4MTc5IHB5M2sKKzYyMDcwIGYwZmE2MDViMmE3OGE2MDhiN2Y3MzI5MmVkY2FlM2RhMzczYjMxM2IgcHkzaworNjIwNzEgMzhmOGRmZWNlOThlNWJkODNhNzNjNmJmZDA3NTMyMzYzMjkxOWI5OCBweTNrCis2MjA3MiA4NjQ1NzRhOWNkMjZlYTZkNWY1NmE5N2VjOGU0Yjk5MDk4MDk3NjU3IHB5M2sKKzYyMDczIGU5MDMyZjVkZDUzOWIzYTY0OTI2MTY3MTVjYjJlOTQwMzFlMDdlOTAgcHkzaworNjIwNzQgYjJkOTNhOTYwYjk4OTBmNmQ4MzE2MzVlODhjOWZiM2FmZjc4YjkwNiBweTNrCis2MjA3NSBlM2RjODY3YjYxODJlZTEyOGMyNWIwMDE1ZWYwODJmYWEyYTViYzA0IGxlZ2FjeS10cnVuaworNjIwNzYgMDdiMzZkMmI3NTM0YzVjOGJiNDk2YTcyYTkxZjgwY2MxMWZjYzM3MiBweTNrCis2MjA3NyBlNDc0ODE3NjRlNTczMDg0ODhhMTllMWNiMzkyMzQxYzFkNjQxOTQzIHB5M2sKKzYyMDc4IDgxZWUyNzBhNmViNTRmMDAzNzIwMDcxMzdiZmZjNDgyZGYzNTMzMjcgcHkzaworNjIwODAgYzNlZTBmMGZiZWUxY2VmNjI0YjIwNGNiOGIzZWFlZmY2ZTQ5YTJhZiBsZWdhY3ktdHJ1bmsKKzYyMDgxIDYxYzkyOTIzY2Y3ZmNlYjNlOTJmMGY1YmM3NzNiN2I5ODg0ZWQ5YTMgcHkzaworNjIwODIgNDE1MTU2ZDRjYmQyMGM4YzYyZWE5MTg3NDg5MTZlMTBjYTE2NzNlMSBweTNrCis2MjA4NCBjNzAxNWUzNTdhMmM5NzljNDI0MmI2ZjIyNThkMDA4NTg2Mzc0OGRmIGxlZ2FjeS10cnVuaworNjIwODUgMTc4ODFmOTZlYTAxZTMwNDBmMWE2ZjkyYjMzYTRkMjAwOTZmM2FlYyBsZWdhY3ktdHJ1bmsKKzYyMDg2IDZkZWNmZTM4YTgwOTE5OWYxMjU4ODUwMjE4ODQ4YzA2OWM5NWQwZGMgcHkzaworNjIwODcgZDg2YjMzM2M3MmU3NDFiOWM2YTIwNzdiMGI2Zjg4Y2ZmNjA4ZGE5YiBweTNrCis2MjA4OCAzMGRkNjA2OTg2NzFmMWI4NjY2NTVkOGM3ZjgwMThhY2YyMjYwMjU5IHB5M2sKKzYyMDg5IDVhMTdkMTU3ZGYwMDE2NDdiNjIzMjRkODk5ODUyMmM3N2U0MGI1NWQgcHkzaworNjIwOTAgN2RmZjVlNDFmYTdhZTFiYjAyNzQ1N2ZjMDFiZTgwMGZmMWE0MDU1ZiBsZWdhY3ktdHJ1bmsKKzYyMDkxIDRjNTA2NWRkYjliZDYzODgzMzAwMmYyMzhmZTY0NTM2NDI3MmY4ZTggbGVnYWN5LXRydW5rCis2MjA5MyBhYjRmOGM0NmMzZDliNmRjNjk2NmE5ODM1MDllYTU4NzZiY2JkODg2IHB5M2sKKzYyMDk1IDQ3NzllMzQ5NmFlMWFmYmJmYjgxMmViNmU1NTIzMmRlYjM2MTI0YzUgbGVnYWN5LXRydW5rCis2MjA5NiAwNzMwZjNkNTBjZGNhMWIxNmQzZGQyYWZlNDhjYzU4YWM1ZTE4ZjcwIGxlZ2FjeS10cnVuaworNjIwOTcgMWM3OGQ4ZTg3NjUzYTVkZmIyNzkxODE1YTNjYjc1Y2Y2MDM1NjcxZCBsZWdhY3ktdHJ1bmsKKzYyMDk4IDBiMzc0NzcyNTRmNjQxODA4Mjc2ODdlMjRkY2QyZDM5ZWJiMjM4OTEgcmVsZWFzZTI1LW1haW50Cis2MjA5OSA1OTM5OTAwZDk4ZDIxNDk5MThhMWNmNGY5YjQxYWU4Nzc2ZDBkODE4IGxlZ2FjeS10cnVuaworNjIxMDAgZDZlMTMzM2U2MDc1Y2Y0MWNmMmQxY2I3NTY2ZGY5ZWI2NzA4YTdiMCBsZWdhY3ktdHJ1bmsKKzYyMTAxIGM3YzI1MjA0ODU1NTM3NjhlNDk5YTgzZmZkZmFjNDI2OTkzYjA3NWEgcHkzaworNjIxMDIgZjc1MzkxOGFiZTY1MjgzOGIxYjEzZjI4MzUxOGZhMWM3NjM5ODEyYyBsZWdhY3ktdHJ1bmsKKzYyMTAzIDBiMmE0YTEyNDVhM2M5NjY3MTY3NmFlY2U4NzYyNDM5NGQ2ODE0YWIgbGVnYWN5LXRydW5rCis2MjEwNCBiYjRhNTQ3NDMwZjg1Y2UwMzVjODgxNGZkMGRjMDMwMGU5NDhiYWY2IHB5M2sKKzYyMTA1IDAzZWQwMTE4ZTczMzc2MDM4Y2RhY2Y5MjA5OWQ0NTk3MWRjN2M5OTYgbGVnYWN5LXRydW5rCis2MjEwNiA4ZTZhNGNjN2RmYzA0ZGE2OTRiOWRjMzQ5ZmRmNDQyNDY2ZGM4YWY2IHB5M2sKKzYyMTEwIDgxMTc5MDZiN2JhNzVlNmUyYjQ5OGYwMjYxZGFhYTA1ODU2ZjRhNWUgbGVnYWN5LXRydW5rCis2MjExMSBhMTcyYzJlMzhhYzllMmVhNjJlZDllOGI1ZWJhMWI2NjY4ZTE2YjYwIGxlZ2FjeS10cnVuaworNjIxMTIgYTk0NDY5Yzc0YjllYjRiYjMyZDhlYjA2Yjg0ZDZjMjQ5Y2IwODQ3YSBsZWdhY3ktdHJ1bmsKKzYyMTEzIDBhNWM4NjM1MGE4OTI3NjEzZmE0NTI0OWEwMDkzY2MzMGEzMTk2M2MgbGVnYWN5LXRydW5rCis2MjExNCAyYjBlY2M3ZmQ3ZWVhMjgyZGRiMTJmNGViMzY3MGM1MWRhNDRjZmFiIGxlZ2FjeS10cnVuaworNjIxMTUgMjA1ZDdmZDUwZDM1YTk2Y2FiNjM2OTllZjI2MmZkMjNhZmU2ODk1MiBweTNrCis2MjExNiBmNTQ3ZWJmMDI4NDMyODliOTQ4MWQxOWU4ZjU5NjI4NzcxZmFkNjI1IHB5M2sKKzYyMTE3IDg3OTFhYzljYmNjZDViZjFmMmEyNTc4MWU2ZDQ4MmNiODNiNDVkYWUgcHkzaworNjIxMTggOTc1YmQyMTYwNTI3MGEwN2Q5MjU3Yzk0NmE3OTViNDg4OGM2YTkxMSBweTNrCis2MjExOSAxNWY3NzNmNzMwMGUzNzJjNTZhMjFkNTlmZTQ5Y2EyNjk1NWE2NDc3IHB5M2sKKzYyMTIxIGVjYWIwMzc2NmNhY2NmMzQxN2JmNGZmOWQ3NWEzZDlhNzc1YTQ5NTQgcHkzaworNjIxMjMgZWVjMTQ0OTE3YTE4OWJlMTFlZDVlZmEzNWM2NjA0ZDAzYmM2MmJjYyBsZWdhY3ktdHJ1bmsKKzYyMTI0IDc2YTgxZWY5YjM3OTFlOTRjMzZhNTAyYTliNjIwNWIwNDc2NWNhY2IgbGVnYWN5LXRydW5rCis2MjEyNSBhYTliYWJiOWE0OGVkOWNjMjliOTJkOGJmYmI2YWQ2NjE0MmRhMzkxIHB5M2sKKzYyMTI2IDE2MTdiYjA1YTc4YWQ4MTgzYzJkYTI2Mzg3MjEwMTg5N2IzNmExNmQgbGVnYWN5LXRydW5rCis2MjEyNyA0ZDgzYjhkMDMyOTlmNWFhMWZhNGU3MzQxM2FmMjRlZTQ0ZDAwNmZkIGxlZ2FjeS10cnVuaworNjIxMjggMjg0OGM2NTdhZjBhZTc0ZjYzMGJmMzdlMTIxM2M5OGY3OTUzZGQzZSBweTNrCis2MjEyOSA5ZGNkYTU2Yjg3MWUxY2VhMGIxZTk0OGQ3Y2Q0YzYxYmM5OGM1YjMzIGxlZ2FjeS10cnVuaworNjIxMzAgODE0MjJmMWRlODkwOWRhM2RkMzcyYTRjY2UzMzQ1MjI5YWJjMjAxMSBweTNrCis2MjEzMSA5NzM2YzIwZDI2ZWI2ZjY0OGFkMzFmNGQyNjNlNzY4MzA0ZmQ5NDE0IGxlZ2FjeS10cnVuaworNjIxMzIgZGRmZTk0NzQwZWRlYTU3ZThiYmVkYjAxOTlkMTc1YTM3YjcwMGM1OCBweTNrCis2MjEzMyBhNzJlOTE3NDkxYTQ4Njg0MjQzOGY3MzhmODM2OTAwZWIyN2VkOWFlIGxlZ2FjeS10cnVuaworNjIxMzQgNjdmMWM0NjUyNzljYmMxZDRlMWY4Yjc2Mjk2MjRlMmZkZjNjOTliOCBweTNrCis2MjEzNSBjYzMzMzNiN2JkOTM2NjY4YzE2NzgwZDgwZjAzZGQzY2Y2ZjllOTNiIHB5M2sKKzYyMTM2IDc2ZjU3N2E5ZWMwMzNmZGEwODE0MGFhZDc4ZjY1OTVhMDU4Y2U1YjUgbGVnYWN5LXRydW5rCis2MjEzOCAwM2IyNmY5MWJmNmQwNTAzYTM0MjJiZGQ1Nzk0NDUxMDk5OTJjMjQ2IGxlZ2FjeS10cnVuaworNjIxMzkgNGJhNjgxOTVhNTExNjMyNjNjZTkzNDMwNjlhMGZjMDhjZjQwZjEzYiBweTNrCis2MjE0MCA3YzA4MWMwYjBmNTU4OGRiYzFiMDM0OGVjZTlkYmQxYTQzYjllOTBiIHB5M2sKKzYyMTQxIGFjNWU0ZDU0YjIzZTlkNTZlMmUxNzM0ODc5MDNiMzM2ZmUxNmIzOTQgbGVnYWN5LXRydW5rCis2MjE0MiBmYjNjOWJiNzZiMjk0NThmYjMzODc1MzM5NDk3MTA5YzQ2MTgxOTkwIGxlZ2FjeS10cnVuaworNjIxNDMgZDgxOGY2ZDI5Mzg0N2E3ZjBiMTExOWM1MjBjMjJkN2E0YmM0ZTFhMSBsZWdhY3ktdHJ1bmsKKzYyMTQ0IGNjZGRjNTZiZDViMDcwZmI4ZmY2OGUyMzRhMmNjZDI0ZDUwZjYzYzcgcHkzaworNjIxNDUgYjI4YTJkMjVmZDkyZGMwNTZmZDU2ZTFlNTc0MWYzYzg4ODA2Yjg1YSBsZWdhY3ktdHJ1bmsKKzYyMTQ2IDNkMDM1MmE1NDFjZTU2NjJiNjlhZTRjNzQyNmM4NzQ3NGJhMTU5YWYgcHkzaworNjIxNDcgNGExMTMzMDNmMzE2NTQyZGM3ZDMzZjNhMjE5OTFmNzBhNWU2OWJiNyBsZWdhY3ktdHJ1bmsKKzYyMTQ4IDM5OWU3NGJiMTJjN2RkMGY5MDE3M2YwZGY2ZDk4NzY2ZTYzN2U4ZjAgbGVnYWN5LXRydW5rCis2MjE0OSA4MjczMTc2ODk4NmQ0NzQ5YTBhZTM4YjcxODExYmNmZmM3MDk5MGZkIGxlZ2FjeS10cnVuaworNjIxNTAgYzNhNzcyNTg4ZGI3NmViZGVjNWVlODZlODBmYWM0ZDhjMzZjMTEwNSBsZWdhY3ktdHJ1bmsKKzYyMTUyIDZhYmUyNWI5OTI0YmFjOWYzYWRjZGNjODE0YjZlNTM3YTdiYjQxODggbGVnYWN5LXRydW5rCis2MjE1MyA2MWEwYzc2ZWNmODc2ZWU1YzcyZDc1OThlNDgwNWVkMGE1NWMzMTlkIGxlZ2FjeS10cnVuaworNjIxNTQgYTE5ZWM0ZjE3Mjc3OTcyYTNkNWVlZDc2ZjlkZmUzNjM1Y2Y4MTlhNSBsZWdhY3ktdHJ1bmsKKzYyMTU1IGY4MDZmZDk5NDFkYTY4YzQ1NWQ2YzBiYjZjZGEyYjU0MmMwY2I2ZTcgcHkzaworNjIxNTYgMGNlN2EyMzUyYTUzZWEwNzgwMGZiZWE3MmQxMzNmMTVmMGE3OTgxNiBsZWdhY3ktdHJ1bmsKKzYyMTU3IGU4OTE2YzY0ZGY0YzVmYjUwMGZkMjZjNDA4MjA5NmMwMWQ4ODg3ZmUgcHkzaworNjIxNTggNDkwMWU3NWY3NzVhZTFhYzAyNTJhZDM1Mjc0ZjY1NzgyMzdiOTUxZiBsZWdhY3ktdHJ1bmsKKzYyMTU5IDM3MjZkZThjYjhlMWQzYzAwNDMwYWU3YTFjOGZhMTE1ZDA3Y2Y1OGEgbGVnYWN5LXRydW5rCis2MjE2MCBmNGJmM2U3YmNiZTgwYWUyNGE3MWQxODJjMTJlMzJlYzE4MDQ3MTIwIGxlZ2FjeS10cnVuaworNjIxNjEgZGU3Nzk3M2Q3ZTFhMGM0ZDJmYzU5NGM4ZTRhNGUxMDA4NjkxYTYzZiBsZWdhY3ktdHJ1bmsKKzYyMTYyIDM0NDJlOWU2YjJjZjE4ZGZhNjUwN2I1MjIyNzczYTRhYzU1Y2Q3Y2YgcHkzaworNjIxNjMgOWM5MjZiMGE2NDhmNDI0OGRkZDg1NGM3OTgzOTA3YTNiNjliMjk5ZSBweTNrCis2MjE2NSBiMTAyOTJlYWZiMDczNzE4Mjc1ZGU2ZDU0YzkzM2ZkZmMxZmFhNjA4IHB5M2sKKzYyMTY2IGMzZGNjMGM3YmZkOTU3ZTEyNjM4ZDFjZTA3YjQ5MWU0YWMzOWE5MzkgcHkzaworNjIxNjcgYTFhNTE4YmU1NDdkZDkyYzliYmE3YWQ2YTg3NGJmMGVjNjIwYmMxZCBsZWdhY3ktdHJ1bmsKKzYyMTY4IDEwNTVmMzY5YjFmY2VlMDc5YTJjZDk4YWZkOWQ1ZWM3MzU1NzYxZmMgbGVnYWN5LXRydW5rCis2MjE2OSA2MjUzYTcyMWQ4YTZhMmIzZTY5YjM1OWEyZjQ5MmJiN2ViMTAxY2QxIGxlZ2FjeS10cnVuaworNjIxNzAgZTNmN2RjZmFhMDMwY2JlODRmNWJkYTM0ZmZiYTQ5YWZjYWU3YTEyMCBsZWdhY3ktdHJ1bmsKKzYyMTcyIDg1MzJkNTY5MTg1MDlhYjhlMTEyYzMxMzVjYzEwYjQwOTFjNGFlNDkgcHkzaworNjIxNzMgMTBkOTRjOGM4NDE0YWI2NzJlMjI3ODBiMDJiYmVkZGJkN2JhNDc2MyBsZWdhY3ktdHJ1bmsKKzYyMTc0IGY4NGNkZmMyMjFkMTM1ZTBlMmUxM2U1YmQ5MjVkMTEyOWRmMTY0NmIgbGVnYWN5LXRydW5rCis2MjE3NSBiYzcwMGFkMDI5NjIzMTg1MjY0ZThjNWQyZDIxNmJlZjExMmJhZjJjIHB5M2sKKzYyMTc2IDQzNTJkNDFhZmZiMDFiMjVmMGYxNjI4YmYzY2JhZTk5MTllMTY5OTcgcHkzaworNjIxNzcgODY0YTU2NzFjN2E0M2NhNzcxYzQ2YmM2NzZlYTUyNmQ1Mjk5MDI2YSBsZWdhY3ktdHJ1bmsKKzYyMTc4IDIyYTc0ZWFmNmIyMjUzZmMxMjViMDc5MWMyZTcxMjk3YjkxY2Q5YTIgcHkzaworNjIxNzkgNDJhNzU4Zjk2MWExNzkzM2NlZTJiYTM2YzE4NjlmODAzMDJhZDVkMyBsZWdhY3ktdHJ1bmsKKzYyMTgwIDAxMmQ5N2JiZWVhZjZmNmMxOGVlZmQ0NTQxMGQzNDJlYTRhYjIzZTUgbGVnYWN5LXRydW5rCis2MjE4MSBlNTNmMmNjY2RmMWQ3MWIyNzk3MDE3OWM0ZjZjZDZiZjIxMTQ2YzM0IHB5M2sKKzYyMTgzIGZiNWVhYTRiZTcwMDkxYTZlZWM0NWRmNzJmNWNlZTJmNjFkODQ5ZWUgcmVsZWFzZTI1LW1haW50Cis2MjE4NSBmNDZjZDI0MGUxMDU4NWM5NDkwNTUyZjYyN2Q3ODA3NzIxNTNjOWY1IHB5M2sKKzYyMTg3IDAzNTI4OWU2ZmUyMzVkZDMwNGFlNDhkNmM4YjE1NTU0YTYwYTZhMDEgbGVnYWN5LXRydW5rCis2MjE5MCBjN2RhMzFjMmM0NWZmN2JkYTBiYTI3YzJiZWMzMzJlMjI4NTMxNjkyIHB5M2sKKzYyMTkyIDljNjQ3NTQyNzYwNTIxNDMyZjc3ODlmYzVmYWM4YWRjZjZmYTA3YTQgcHkzaworNjIxOTMgZTI4ZWQ4NWNjOTYyZGQ3NDFjODFmOTIxODg5OTI1ZjgyNjkxMmI0YSBsZWdhY3ktdHJ1bmsKKzYyMTk0IDI3ZDMyNDM2MGE2M2UzMTRlMjJhYTJhODEwMGNjYmEzZmYyMzkwNDEgbGVnYWN5LXRydW5rCis2MjE5NSA4NmRhOTI5OGI5MDhiOGM5NzZiODFkYTA5MjExM2JiOWM0MjViZTJiIGxlZ2FjeS10cnVuaworNjIxOTYgZGY3NjE5NTM5NjMxYTI2OGMyZTA2OWEwMjBjZThkYTRlYjI4OGZmYSBweTNrCis2MjE5NyBhOTNkMjkxOWVhNTliZGQ5YTBhMTBkNjQ0NjA3Y2I5YmYxYjIwMDk3IGxlZ2FjeS10cnVuaworNjIxOTggNGJkYmVmNzA5NTE1NWFiY2Y4YjJmOTYwNGFmODc1YzM5OTczZmQwZSBsZWdhY3ktdHJ1bmsKKzYyMTk5IDRlNzI0ODlmMTZkMDUwYWZiNTQ3MzQ3NWQ3M2U4OTE4YWQ0N2YxYzEgbGVnYWN5LXRydW5rCis2MjIwMCAzYWI1NDc0YmRlNDU3Zjg0ZWY1MDdjMzdhOGQyNjQ0MWFiZmYxOTQ5IHB5M2sKKzYyMjAxIDNkOWFkMjdkOTMwYjA3OGUwMTBkMTgwZmE3MzVjOWFiMjllZWIzMDMgcHkzaworNjIyMDMgNTZlNDk5NTJkMWE0ZjYzYmM1Mzk0OTJhMGQ3YjNiZDIwNGJkN2VjZiBweTNrCis2MjIwNCAyZDk1ZjdhOTgzZDgyZDgwZmQ4Y2JhYjRkYjE5OTdjZDQxY2IyMmZiIGxlZ2FjeS10cnVuaworNjIyMDUgMjdkZjNiODEzNTE4MjhkMzc0ZDdjOTEwZjE2OTQ5YzBkMTNmNTIzNCBsZWdhY3ktdHJ1bmsKKzYyMjA3IGMyNjY3MGYxZTUyMGZlZjRmMTgwMjFhYmEyYWRjNjkxNGM3MGZjZmMgbGVnYWN5LXRydW5rCis2MjIwOCAyM2I2NWYyZDc2MjE5ZDI5OWJmMGE1NmEwZTEwZDY2MzllYzRkMDRmIGxlZ2FjeS10cnVuaworNjIyMDkgMGJlNDAwY2JkNWI4YTAyYzZjYTllM2M2MzQ2NmEyMDQxY2ZlOGQzYiBsZWdhY3ktdHJ1bmsKKzYyMjEwIGQ3NmU1OWZiZjA2ZDQxN2M3NTIyZThjNTliZDkxMTYzZjZmODY1MDggbGVnYWN5LXRydW5rCis2MjIxMSBmZDQ3YTkwMDkwNWMyZDZmZjdiYzZjZmJmZWZhYzMxNGFjYzM1YzhiIHB5M2sKKzYyMjEzIDYwY2RiNjcwM2RmMzNlOGJiYjZiODNjYjZmMjYyYmVjMDEyODA3YjUgcHkzaworNjIyMTQgMDlmMzZkNTdjOWQ2MTNhOTNkNDBlYTQwYWI0NjcxYWJmMzk0NmY5OCBsZWdhY3ktdHJ1bmsKKzYyMjE1IGY5YzYxYzk2YTc2OTViMGE4NTFhMGE4MDkxYzRiMDQ4ODI3ZWQyYjYgcmVsZWFzZTI1LW1haW50Cis2MjIxNiBjZDA4MTg0NjM3YzU4YmVmMjRhMGM4MGY5YzgyZGZlMzdjNGY5MjIyIHB5M2sKKzYyMjE3IDg5ZGQxNjJmMTU1YmZjYTllM2Q5MjIxM2QzYzgzMThlMzVhMzg0MDQgcHkzaworNjIyMTggNDU4OWQ4MzFhYTgwYmJlNTE2YjgxODgwYTQ2NWYyMTJhMDkxNjY5OCBweTNrCis2MjIxOSAyMThmMmQ1NWRlNDg4MWFjMWQ1OGFiNzdmNTBkNzA2Mzk1NjAwMzc5IGxlZ2FjeS10cnVuaworNjIyMjAgNDM0ODM0MzIxOTI0ODlkOWM5M2EyZmNjNWQ1NjM4ZDM3YTFlMTlkNyBsZWdhY3ktdHJ1bmsKKzYyMjIxIDYzYTBkMzNjNGNkMzU0OTg2MzY3NjQzNmUzMmE0MjhlYTc0MDEyNDMgbGVnYWN5LXRydW5rCis2MjIyMiAyNzBkNzlmOTAwNzExZWJkNDY0YjExNWQ3MmQxMjJmMTJhYTA0ZjE3IHB5M2sKKzYyMjIzIGUwMjRiNzU1Mjc5NWVjYjllZDY2N2IzOTJlYTlmYWE4NTFlNWFlNWEgbGVnYWN5LXRydW5rCis2MjIyNCA2M2Y5YTg1MjYwOWUzMTg4NmYxMmZmNTBjZDlhMTJkZGM2NzdlNzBhIHB5M2sKKzYyMjI1IGFlNjRmYTFiYzljYmI0YjllNDJmMTBjNGMyZThmMzhjYjM0YTk5MjQgcHkzaworNjIyMjcgNTBmNTE4NGVlZWQ4ZDhhZjExY2YxYzgxODJkNjI2MjQwZDA5MWMwMSBsZWdhY3ktdHJ1bmsKKzYyMjI5IDM4MmQ1ZWExN2Q3OGE0OGQyY2FlYWEwMjYzMzdhNTNhZDE0YjNkZDMgbGVnYWN5LXRydW5rCis2MjIzMCA4NTQzZjhjODFkYTA4OGFkMjdkMmFlZmJlYmIyM2JmMTFkZjc1MTM2IGxlZ2FjeS10cnVuaworNjIyMzEgMWYxNTQ2M2FmOThjMzk0YTMxN2EzZmE3NjczM2Q0MWExNmQ4NmVjMyBsZWdhY3ktdHJ1bmsKKzYyMjMzIDdlYmU4MWIxZTQyMzJhNWE2ZmRlZWI2NjZhYjM4YzRlMjIyZTY4MGYgbGVnYWN5LXRydW5rCis2MjIzNCBkOTE3ZGEyYjE5NDZlMTJjNDZmNTIzMjZhOGU2N2EzZjVhNTE5MDMzIGxlZ2FjeS10cnVuaworNjIyMzUgMjdjNzEzOWE5OGVmN2U5ZTZkMTFjNDQ3NDk4YmUxOTMyODQ0NzhhOSBsZWdhY3ktdHJ1bmsKKzYyMjM2IDA0OThlYmI2YzQxYjgzMDk4MjYxODE2MzlhY2I5YmU5ZGIzNzE0MmIgcmVsZWFzZTI1LW1haW50Cis2MjIzNyA3ZmQyNzRhNThkNWMxZTBlYzVlYjg3ZTcxYzFlOWNlMmM5N2FiMzViIGxlZ2FjeS10cnVuaworNjIyMzggYWJkYzgxZTFjYjViYTY1NWJkYmMyZDQxMmVkYmM5ZTBiYWVhMmE1YyBsZWdhY3ktdHJ1bmsKKzYyMjM5IGFmNGM0NmJmM2QwOTcyYjc0NTcwMGVkMDQzZjE3NTRhNzJjNDM0OTkgbGVnYWN5LXRydW5rCis2MjI0MCA2MDg4NWY4ZTg1NzVjZTZlNGY2ZGE2MDkzMDA0NTRlMjQ4OTlmMzBmIHB5M2sKKzYyMjQxIGFmYzYyMWExYmM0MTkwMzk4ZmRkNDRiYjA4ZjZlN2VhNWYwNmMyMjQgcHkzaworNjIyNDIgMmU5MTdiMGM4ZjZlODkyYmM0ZGI4YTFmZGE1ZTZmYmZiY2RjZjI0YSBweTNrCis2MjI0NiBiM2NkMDMzOWNhNzdlOTc5MTg5OGNmMTZjMmQ4NzlkYWRiZjUzOThkIGxlZ2FjeS10cnVuaworNjIyNDcgMmM0NTUzZjY1OTI0MzUxNmI4NzEwYzAyZDkzMGIzYmUxMDA3ZDg1NCBsZWdhY3ktdHJ1bmsKKzYyMjQ4IGJlN2IwZWI1OTkwYzZiNjFhOTY0MjhhMTc4NGU2NGMyOTYyMWNhZGYgcmVsZWFzZTI1LW1haW50Cis2MjI0OSBhZmYzODM5ZDAzOTQxYWQ0NWFkN2MxYzQ5ZWQ4ZTMxNGJhMThhZGFmIGxlZ2FjeS10cnVuaworNjIyNTEgNWE1NjkyZTNjOWJlMjI5NTQ3MWE2NmU4NGI0ZmNhNDg4YmQ1ZWJmZSBweTNrCis2MjI1MiBmZjM0ZWYwYTgwOTY0OGNkYzNlMDliNTQ2OTc3MGU5YWE5OTMwNTUzIHB5M2sKKzYyMjUzIDE4ZGI4YzRkNDQ4N2FlNjlhM2RlZWUwYWZjNjVmYzU4NDIxMjc3NjcgcHkzaworNjIyNTQgZWZhOWNjM2JkN2YzZWJhNjhmYTc4ZTQ5ZGMyYjExYjZhZTA1OTVlOCBweTNrCis2MjI1NSAxMWIxOGRkMTU5MDNlYjljM2JhNjczMjAxNTM4Zjc1MTE5ODJjN2VlIGxlZ2FjeS10cnVuaworNjIyNTggZDhiNzcxYmUyMWRmNDQ5OWEyNGIwOWU1YTZiMzVkNWJiZTZjZjc0YyBweTNrCis2MjI1OSAzNjAzMjY3NjcyODgwYTQxYzVhODk3ZmEwM2I5ZWQyZDc1NDM3NzQyIGxlZ2FjeS10cnVuaworNjIyNjAgY2UzMTg3NDYyMDExZjY4Mzg2Y2I1MGViOTk5NGVmN2Q1ZDNkZjI3ZCBsZWdhY3ktdHJ1bmsKKzYyMjYxIDBiNTU4NzVjMWM5YzFkNjYwZjczMWEzMjk1OWE5MTZlOWUzNWY3MzAgbGVnYWN5LXRydW5rCis2MjI2MiBjZDRiMWYzZmQxYTk3NDA3NTAyNjQzYjMwNGYxZWE4ZmY1ZmE4MmM3IHJlbGVhc2UyNS1tYWludAorNjIyNjMgODQyYTZjMmM5YmNkMmE3MzBjY2M0NTdmMjFmNmIyY2Y1ZjRjZDQ1YiBsZWdhY3ktdHJ1bmsKKzYyMjY0IDIyODdhNGFiMjRkODc2MTE5ODhmNTE2YjRhYzVmMjVjMWZlODBmNWEgcHkzaworNjIyNjUgM2NlN2M3OTZiY2ExMjQ5NWJjYTA3YjdmY2NiZWE2MGRhNGJjMGFhMSBweTNrCis2MjI2NiA4ZDU1NTg1MGY3M2Q5NjhmZDY3Y2IyYmE2Y2ExNWY5MjcxNzRlN2IyIGxlZ2FjeS10cnVuaworNjIyNjkgN2M5OWNlZGMzZTU0YTVlZmJmOGRiM2E0MDM0NDk1NzEzYzgyNzZhYSBweTNrCis2MjI3MCA1ZTU1ZDQyNzVhMDk0MTBkMjk2Yjc3MWIwNmZjOTQ2NmU5ZmE1ZjBjIHB5M2sKKzYyMjcxIDFhYWFiMzIxODNmMjI3NDU4NTk2YWUwM2Y5YWQ5Y2JjNmZmY2MwZjcgbGVnYWN5LXRydW5rCis2MjI3MiAwNDEwZmY4MThlYzc4ZWYxYjIyNDBiM2EyN2UwMDkyZWNkYmQ1ODkxIHJlbGVhc2UyNS1tYWludAorNjIyNzMgNjQ1YzUzNWY4MjIzMjZlYjc3MDE4Njc2M2YwNzdkZDJjNjk2MzgyMSBweTNrCis2MjI3NSA4NDE2Y2RkMTFjMTE3MjE4MDJlOWQyNzU2NzE1NDc0MTg0YmNhZGU0IHB5M2sKKzYyMjc2IDYxOTY1MjlhZmQ3Mzg0NzVmNTliZjBiNzdkYWY1MTIxNWQ3YTMyOTEgcHkzaworNjIyNzcgMjlhN2JlYzYxMGNiZjIzOWNlOWQ4NWUyMDQ0ZjNiOTFhYzQ0Yjc1NiBsZWdhY3ktdHJ1bmsKKzYyMjc4IDQ1ZmRhZTRjZGI1NTdmMmE2Yzg1MGRlODk1MjEyNzU2Zjk5Mjk3OTggbGVnYWN5LXRydW5rCis2MjI3OSBkZGNlN2M5NDIxZDJlOTZmZDU1YTZlOWNkZWEyMjU1MGY5Y2U1YTAzIGxlZ2FjeS10cnVuaworNjIyODAgYWZhYzNmZjYwYzZjNWMxMDg4MTQ3M2NhMzYzNWMzMjNmNjE5ZGViYyBweTNrCis2MjI4MSAwOTRhOWNlNGI5YmQ0ZmRkZjNhYmY5NDZmMzg0N2U0NWIyYjdiMDRiIHJlbGVhc2UyNS1tYWludAorNjIyODQgOTc5NzRkOTY3MTI3MGI3ODdlOWFjMjQ4NmMxNTZkODRhYmY0NTYxZCByZWxlYXNlMjUtbWFpbnQKKzYyMjg5IGJjMzM3NzBjYTExNDhjNjAyOWIyNzQ5NDRmODA0YmE4Y2RlNzZkYmEgbGVnYWN5LXRydW5rCis2MjI5MCBhMjQ4NTZiYTc3ZmVkMzRjYWQ1MjU5OGExMzkzYzMzNWYzYWU3MDcyIGxlZ2FjeS10cnVuaworNjIyOTEgMzM2MWI5OGZmNGZmOGNlOGY3OWZkNzJlM2I5NTgxZjhlMjQxZTdhYyBweTNrCis2MjI5MiAzNjUzZmJkZDQ0ODM5YmJhMTA4NjA3NjBkZmMyNDQzOWJhY2JkOTY4IHB5M2sKKzYyMjkzIGMxZmEyZTc1OGUwNWI1YTRiMDdiYjY2NDVmZDI2YzI1NGI2NjFmNDQgbGVnYWN5LXRydW5rCis2MjI5NCA5NDc4MmJlOGYxZTc3YjU4YmY4Yzk1ZWRhNGU1YWRjNmQzN2U5MGZjIGxlZ2FjeS10cnVuaworNjIyOTUgZmUyNzUxYWNhZDNlMTNhNWNiYWZjMDQzZmY0NTAzMjFiMWFlOWU0OSBsZWdhY3ktdHJ1bmsKKzYyMjk2IGNhMjMzYmU2NDU5ODljYWRmZjQ0NjZkMTI1NjExNDU2NWU2MTlkOTQgbGVnYWN5LXRydW5rCis2MjI5NyBkNDZmNmViMDllYmNmYjg2NjRhZGI4OWE3MDk2MzE5YTBhNmM2OWUyIGxlZ2FjeS10cnVuaworNjIyOTggNzY0YWFiMGU4YjliMWU0NmEzNGUyOTFiNzNiYmI4NzAwMWExZDY4MyBsZWdhY3ktdHJ1bmsKKzYyMzAxIDhiOTE0ZmNlOWQ4NGMwODRkYTQ5OTZlMDQ4NDk4YWEyYzA5NTNjMjUgcHkzaworNjIzMDIgMmE5ODU4MjU1ZGUxMDg3M2U4OThiMzkwODczZTg0MDNmOGJlODZmMSBsZWdhY3ktdHJ1bmsKKzYyMzAzIDg0MDA2NDgwMjk1MmIzNzhlODFmNDYyN2EwMTc1YzZmODJkY2VhNjcgbGVnYWN5LXRydW5rCis2MjMwNCBmNzgxY2ExNDM5NWIwNjU3ZjJhYWU2MTllNTYxNmYyY2FkYjUyOGY3IGxlZ2FjeS10cnVuaworNjIzMDUgMzllYTJmYzQ1MDNkMTIzMTc5NWE3Y2NhNWQ3NGFlYjEzNDk1M2IyMyBsZWdhY3ktdHJ1bmsKKzYyMzA2IDgzZTY5NzVjMzE5OTg0NDE3YWIxZjJjZWUxODMzYWIyY2EyN2MzZDAgbGVnYWN5LXRydW5rCis2MjMwNyAzMzA3YTU0NTBjMzc5YTY5MWEyZTg5YTZkMWVhYTk5ZTMzNDY4YzcyIHB5M2sKKzYyMzA4IDM2ZDBhMWUwYzAyNGJhOWQwMDc2YjU4ZDFjMWI3MjNmOTI1Mjg4ZDQgbGVnYWN5LXRydW5rCis2MjMwOSBiNTQ0YmI2MWJjYTljYWJkMDMzNzhmOGNjN2I1NzIyZDVhODFiYjYyIGxlZ2FjeS10cnVuaworNjIzMTAgOWFkMzBjY2NlNDljMTgxY2RlMzliYzFmNTMwMmZhODIxY2VlNmVkOSBsZWdhY3ktdHJ1bmsKKzYyMzExIDAyMzQzZWNhZjBiYjAwODk3OWRmZWFhMjU0NGEzMDMxZmIwOTA3NzMgbGVnYWN5LXRydW5rCis2MjMxMiBlMGMzYWNiMTE2YTU1NGMxMGU2Mjk3ZWMyMjg5ZWUwN2E2OGE4ODJkIHB5M2sKKzYyMzEzIDhmMmI2NWVjN2JiYWI3OGI5ZDQwZTQ4NGEyZmRiNThiODNiYWRjMjQgbGVnYWN5LXRydW5rCis2MjMxNCAyOTIzMWE5NzM1ODBlYTg0ZDNlZTFiZmRmMGVlOTI4OGM1NmVhZDE3IGxlZ2FjeS10cnVuaworNjIzMTUgZmMzM2U3NWI5MjU3MGRjM2YxMmY0MTNjNDY0YzczMDA4YjE5ZDcyZCBsZWdhY3ktdHJ1bmsKKzYyMzE5IDdhNWE1ODBiYTZlYTIzYmE5ODA2MDBjNDcxYTE1ZDAxODE3MWRlM2YgbGVnYWN5LXRydW5rCis2MjMyMCAwNTI4Mjc5MDA3ODI2ZDdmODg0MmJmNjdkZGY2ZWVlMjRhNTE1YmE4IGxlZ2FjeS10cnVuaworNjIzMjEgODVmMGUxYWMwYmM5YjJiMTA2YjA0NTczMDhhMDUwODM3YjJlNTY5YyBsZWdhY3ktdHJ1bmsKKzYyMzIyIDQ3ZDliYmUxMDg5NzIwY2QxZTNkMzcwNzRlYTUzYmZjYzA5ZTJlMTMgcHkzaworNjIzMjMgMDI4ZDg2MjU0MDliMjIyZGFkN2NkYjY5YTAyZmQ2OWY3YTY1ZmFkOCBsZWdhY3ktdHJ1bmsKKzYyMzI0IDRhZmRjNjhlYTUyZWE1OGM2NTdmNWQ0NTBlNzc0NzBhNTlhOWIzMzQgbGVnYWN5LXRydW5rCis2MjMyOSA2OTUyZTcxODFmZmM4OGY4YmY5MTZkOTcyMzlmNWE4ZDc0MjQxZjdjIGxlZ2FjeS10cnVuaworNjIzMzAgYjQyMGVhYmY5ODM1NDU5NzQzMGFkODdiY2Q4NzI5ZDU3MDBjNDJmMCBsZWdhY3ktdHJ1bmsKKzYyMzMxIDdjMjFjYzE0Yjk0ZjVhNjRkMjg2YTNkY2M1YWI3NDg0MmZlMTRmMTEgbGVnYWN5LXRydW5rCis2MjMzMiAwM2Q5YzY2NGE3YmM4NzA1ZmQ1Y2U2ZmZhOGJmZWU1YTA0NGMzMmNjIGxlZ2FjeS10cnVuaworNjIzMzMgNDBmZGQ1Y2QyZWY1MWQ2MTY4ZDA3NjI4MjVmMjdmZWNkMmI0YTBjYyBweTNrCis2MjMzNCBmYjA4MTAyNWIyMjMwYmQ3ZDQ4ZjFlMTMzOTRlMDI1YzdlNGQ1YjU2IGxlZ2FjeS10cnVuaworNjIzMzUgNDY4NzllN2ZjNGQzMzU0YmVmMWRkNjA4OWQ0MGEyN2M0Nzg0MzYwMyBweTNrCis2MjMzNiBjNzQ0MjM1MTAzNjE4MDcxZDYwODhiZjNiN2Q0YzUyMjg5ZmJhNzY1IHB5M2sKKzYyMzM3IDcyYTc2NDg2OTlkMDgzODk5ZDIzNjkyZjFiNmU0NTliMTQ3NjIyOGYgcHkzaworNjIzMzggYjNkY2E4ZjU1MzVlYzIyMWY1MGY4YjEzODcwZDg3ZTczMWQ5MmVjYiBsZWdhY3ktdHJ1bmsKKzYyMzM5IDYxNDg3YmU2ZjQ0MjkyZGQzOGQ1Y2ViMjMzNDMwN2RmOTlkNzYwY2EgcHkzaworNjIzNDAgOGRkMjQ3NDFiNmFhZjBiNjI0M2JiNjdjODgwMTMyMjQ4MWJlZTkyNiBsZWdhY3ktdHJ1bmsKKzYyMzQxIDZlNGNhOWY3MmJiYTZkZGIyZDA2ZThkNzgwYTVhYzk4MjhlZmU3MzIgbGVnYWN5LXRydW5rCis2MjM0MiAwZmVkZTRkMWIxNGJhMmE1M2IxMjcyMTlhZmNmMmZlZGEzZGQ1OGZkIHB5M2sKKzYyMzQzIGFkMTcwYTMzNTk2N2JhYjIxN2FkMDNiNTA5ODViZWMwYzBhYjBkMDIgcHkzaworNjIzNDQgNTk3NTNiZGNlMDg5ODQ5Y2UxY2Q3Y2E5YmJlNzhlOGQ4OTFlMDIzMyBweTNrCis2MjM0NSAyNDIwNWIxZjk1NGVmNzVlNjIzMmQ3YjY4NjJhYTc5NDczYmZjYTM4IGxlZ2FjeS10cnVuaworNjIzNDYgOTliZmI4ZGUzNGIxZjZkMDE2MTM2YWViZTA4OGQ3N2U0Y2FmOTFhMCBweTNrCis2MjM0NyBlYWIxNTM5OGVlZjAwYWNiNjllODBiM2VlMTUyZGQxYzExY2RjNjkxIGxlZ2FjeS10cnVuaworNjIzNDggOTFiMDk5YTdmM2UyMmI4M2VhODIwMzRmODRmMmY2ZTZhMjhkNjQwZSBsZWdhY3ktdHJ1bmsKKzYyMzQ5IDk4MWRmMTNhYWIyMDA4YzExNGY0NTE4NTc0ZWZiYmMzODZmZjVkZGIgcHkzaworNjIzNTAgMTg0MWY5MmUzMGRlZjBhNWIzMTI3ZjVhYTFmYjBhMDNkM2U3MmYzNCBsZWdhY3ktdHJ1bmsKKzYyMzUxIGVmMDZlZDgwNDkxOGExYTQwMzIxY2FkZmJkMzM5Yzg5ZGJlZTk4MzAgbGVnYWN5LXRydW5rCis2MjM1MiBjZTU1OTdhZjk5YzdkOTVjYmY1YjE5YWNmNWQwMDczNGFjMjliNjkyIGxlZ2FjeS10cnVuaworNjIzNTMgM2UwOTVhYjc1ZmM4OWFlZDAyZjBjNGQ1Yzc5Y2Y4NzhhNDdlMDY2MiBsZWdhY3ktdHJ1bmsKKzYyMzU0IDE5ZmQ0NjNlYTcyOGU0MGU4NmY2ODc4YmNjMjU1ZjBkMDZkMDk0ZDUgbGVnYWN5LXRydW5rCis2MjM1NSAzOGM4MzFiNDdkYzViYjQzMWNjMDgyZTQ5NTQwM2Q3MzU5NGJjZjVkIGxlZ2FjeS10cnVuaworNjIzNTYgYjA0ZjIwNTJlODEyNjI5NjFkMmIzZDdmN2U1MTUwMTk5MDg2YjA2YiBweTNrCis2MjM1OCBiNzIzMTA2OTAxZTBjZjBmM2M0NDNiMWUxYmVmM2FhOGU3MmQ1MDc1IGxlZ2FjeS10cnVuaworNjIzNTkgOWYzY2ExOTE2MmE3MzhhNjIwYzYwMjc2MWE2MWNiZjAxZDJlYTJmNiBsZWdhY3ktdHJ1bmsKKzYyMzYwIDQ4Mjg5NjQ1Y2RlZjc3ZmZkZWI1NmNiYmIzZWIwYmNiZmI2NjE1YWEgcHkzaworNjIzNjQgMWM5YmE0MDExZjVkZDg1YmRkZWEzY2Y3ODVkODRjNmIzMWE2OWNhZiBsZWdhY3ktdHJ1bmsKKzYyMzY1IDA3ZDdlNWNkYzFhMDEwY2Y5MWEyNDE3MDg5ODA4NzUxNTQ0NTY1MWUgbGVnYWN5LXRydW5rCis2MjM3MCBiYzk2YmFjNTg2YjRjMjFmYzJiMTJlMmJmMmJjY2YwMTY4MzFlZmQ3IGxlZ2FjeS10cnVuaworNjIzNzIgMWZlZjI2Zjg5YmNlYTE4NmE1NDMyMjAyZDlmMGY2ZTc0ZDIxOTdhNSBsZWdhY3ktdHJ1bmsKKzYyMzczIDdjZDM2M2RmN2E4NDZjZDE4MjUwNGFmZGU4MGI1ODg4MzJiNTgyMWYgbGVnYWN5LXRydW5rCis2MjM3NCA1MDI0YjEyYTAzOWQxYzdkZTFhMGIyM2U3OGIxNDdiNDgxOGIwNDA5IGxlZ2FjeS10cnVuaworNjIzNzUgODkxOGM1MWRlMDEwOGFjZWM3MTEzYzY1ODE5YTM5MWM2NDNiMGVkNyBsZWdhY3ktdHJ1bmsKKzYyMzc4IDRmODI2MWI5MmZjNTYwZGVkNDMwNmVhYWVlNjUxY2NhNTZkZTgxYjkgbGVnYWN5LXRydW5rCis2MjM3OSBmYjhkM2UxZjYxNjEyZDQ0ZWZmMTNkYjA2MDEyNzMwMTViMTE0NjA1IGxlZ2FjeS10cnVuaworNjIzODAgNWJjN2IyMGRjMDRhOWQyNDlhODIzMzk0NTc2NDE1ZGE3ZmU4OGE5MCBsZWdhY3ktdHJ1bmsKKzYyMzgxIDVjNDMxNTlmNWFkMGIwNjU5OWI2YjdhMzliZWNjOWViYzAwYzZiY2QgbGVnYWN5LXRydW5rCis2MjM4MiA3NzljYWExZTBmZmIyZTBjODJlMWU3M2NlN2YxNDRkMjljMjNjMjIxIGxlZ2FjeS10cnVuaworNjIzODMgYTE5OTczOTlmODcyNGM0YWEzMzU0NTU4NWQwZWQ3MzE3ZTA5M2JhMyBsZWdhY3ktdHJ1bmsKKzYyMzg0IGI2OWY0NDNlZjQ4MDcxNzljYjExYjZiNTJlYjM2NTMzOTg5OGYyODIgcHkzaworNjIzODUgYmViN2FiY2Q2YzAxYTU0M2RhZGY2ZjgyNThkZmY1ZmI3YmRlMmU2OCBweTNrCis2MjM4NiBlMTY1OTNkYTQ4OTg5YzcwM2RhZTY3MzZhODBmZWQ1OGUyZmEwMGQ0IGxlZ2FjeS10cnVuaworNjIzODcgZTAyOWQ3YzdkZTgxMTQ0MTMzZmU4YTg5OTA1MDlhYzc3ZGI2NGM4NyBsZWdhY3ktdHJ1bmsKKzYyMzg5IDk3YzIxNDE3YWY0MGFkN2IyNzY2N2U1NDI5ODIzMGJlNGZhMGI3MDUgbGVnYWN5LXRydW5rCis2MjM5MCBiMWM3MGM4OWMzZGE2YzM5YzExMzJlZTEzMDZkNjg4NDdiMjcyNDQyIGxlZ2FjeS10cnVuaworNjIzOTEgMzc0ODMzZGU1NzBjMjQxYmUwNjM0ZmUxNGJlNDkyZjUwMmY2Mjk1MCBsZWdhY3ktdHJ1bmsKKzYyMzkyIDEwZGEyNzk4ZTU4ZDgzNjQxY2IwMzIyYzU3ZTAzODgzZTEwN2YyYWQgbGVnYWN5LXRydW5rCis2MjM5MyA0ZjcxODA2MWY0NWE0NDE4N2M1MjBiMmM2MDZiNDZmYWYxYzQxNTZlIGxlZ2FjeS10cnVuaworNjIzOTYgODJkODVhMDU5MjNiZjM5ODQ2YTQ1MTZiMTYwMjBmMGQwZTU3NTBiNyBsZWdhY3ktdHJ1bmsKKzYyMzk3IGQwZmE0NWU2MzdhMDUwMDE5MGNkM2RmYjNlODdlZWRiZDU0ODhmZDQgcHkzaworNjIzOTggYzM2NTljZTg5M2U3ZThiYmViYjkyN2ZiYWZiMDg3Mjc5MDZiOGM5OCBsZWdhY3ktdHJ1bmsKKzYyMzk5IDY0NGE2NzgzMDA2MWJhMzViNGY4YWZmYjhhMmI2NDUyMTJmZTRmMWYgcHkzaworNjI0MDAgNjQ4YjRkMDFjY2NmNTk1NTgxNTU1NjViM2IzYzRmYjlhY2RlYmNjYSBsZWdhY3ktdHJ1bmsKKzYyNDAxIDEwMjM2ZDFkMDg2MDc2N2E0OWE4ZWUxNGIxY2E1Mjk0YjNjOWViZWMgbGVnYWN5LXRydW5rCis2MjQwMiBkYTRhODdkNjNiMGVlMzAwYjIwMWRhMDJmZTE0MGFlMTJmYzhkNThlIGxlZ2FjeS10cnVuaworNjI0MDUgMzg1ZTIxOGQwZjZjNWFlNWIzZmY3Y2M3M2I4MDQzMTc2NTNmYTNiZCBweTNrCis2MjQwNyBmZjU4Y2I1YWE3NmRhNjAwOWNjZDhlMjFlNmEyNjkzZjBmNDM5NmRiIGxlZ2FjeS10cnVuaworNjI0MDkgZjY0MWU1MDVmZmY0NmUxNzY1YTZkMTBmMjM1MDIxMzNjYWQ0MWQ3NCBsZWdhY3ktdHJ1bmsKKzYyNDEwIDM1YmY4MDEyYTM3NmU2M2QxNWE5MTNlNjM4MjllMDdhYmYwMDkwMTEgbGVnYWN5LXRydW5rCis2MjQxMSBkMTY2MjUxZDgwMTQ0OTE2Nzc3NzI5ODllY2VjNjdlNzk2ODNmYTI0IHB5M2sKKzYyNDEyIDMxZmY1OWQ5ODRiZGUyYzhlN2Y4M2ZmNTY3MjBmNjU0MzdhMjAxMDEgbGVnYWN5LXRydW5rCis2MjQxMyA4MGIxNjU5NWU0NjI2Y2M4NGI5Mjc3ZjAwYTcwZDBmY2Q5MmVkOGE4IGxlZ2FjeS10cnVuaworNjI0MTQgYTIwZGVmMDEwMWRlMjY5ZTFhZGFkZDQ5ZTFiZWQwMTAzYzQyMTZhMiBsZWdhY3ktdHJ1bmsKKzYyNDE4IGYzY2YxMmJkMTExMjg0NmQwYWE0MTUxMmQwODliZTMwNzQwZTEwN2EgbGVnYWN5LXRydW5rCis2MjQxOSA3MzczMmQ2NmQwZDVmN2I1NzM1MzI1NmZhZjk3YTllMGJhNzQyNzA3IGxlZ2FjeS10cnVuaworNjI0MjAgYzc4Y2ZlMjEyNmRhMTg0NjEzNjg2YzE2ZTVkNzIwNGRhZDU5MTk1NiBsZWdhY3ktdHJ1bmsKKzYyNDIxIDYwZjQ0NTZmYTMzODNlMDc4M2MxNDE0NTFlMmYzNmI3MDZiMzFlMzQgbGVnYWN5LXRydW5rCis2MjQyMiA2Mzk2NTMyN2IzZWY2NWYxYmM3OWYxOWQxODQxN2M5MjA3OTM5NzIwIHB5M2sKKzYyNDIzIDYzMjNiZGMyZDY3MTFmYmYyYWQ1Y2NkNzFjZmVlYzk0ZWQxYjc3ZWUgbGVnYWN5LXRydW5rCis2MjQyNCAwMjIyOTYwMzJkOGY2OTY0YTBmZDVjMjEzNjZlNzlkMWRjZGNiMjBiIGxlZ2FjeS10cnVuaworNjI0MjUgZmRkNWEwMTk4NzY5ZDMwNzVhOTM2ZThlODNhNzIxMmM5Y2M2M2ZjMyBsZWdhY3ktdHJ1bmsKKzYyNDI2IDA1MmZkOGYxY2EzNzFjNjg3MzM4MTAxZTY1OTg0NWNhYjhjYWU2ZjQgbGVnYWN5LXRydW5rCis2MjQyNyA0MDZlY2EyZGRiYmM0Zjg5ZjZmYWFjM2IzNDQ3ZDI3YWQzODljMGE5IGxlZ2FjeS10cnVuaworNjI0MjggZGYxM2NjYWE1YWU5N2MwMWQ4Njc5NzU0ODg1MTlkZDg4NDA2MDJjZSBsZWdhY3ktdHJ1bmsKKzYyNDI5IDYwNzc2MDYzMzliYjlmZDAyMjA5OTcwZWFkZWU4NmE2NGNlODM1MjggbGVnYWN5LXRydW5rCis2MjQzMCBkM2FmOWZkMWNmYWZmNjc2ODY1ZWI4YzZhNDU1N2EzYWQ4ZDJjOGI1IHB5M2sKKzYyNDMxIGQwYjhhOTBjYTI3MDlmNWZlOTNiMDg4YTk4NDkyZjJmYmQ2ZGRiODMgbGVnYWN5LXRydW5rCis2MjQzMiBiYjBmNThhZGM5MWNlMDcyMGYwOTM2ZDU5Y2ViZTNhYTFkMDk1YzIyIHB5M2sKKzYyNDMzIGVjNDg0OTBiOTY5YWJkZWIzOGIwNmUyNDk5MmQxMWU2NWYxZDRlYWMgcHkzaworNjI0MzQgMzg3NDljMDljNTU2MzUwMWQwNTExOGZmZDM1MWJhY2Q3MzJiMjljMyBsZWdhY3ktdHJ1bmsKKzYyNDM1IGFlNTU0ZTVkNmUwNmRiMzBmYTU2OTNhYmM3YmI0ZDk3MzQzMDEzMjQgbGVnYWN5LXRydW5rCis2MjQzNiBmNTE5NTNjY2U2YWIxOWM2MzIzNjA3NGJjNGEyODM5M2VlNWIyYTIwIGxlZ2FjeS10cnVuaworNjI0MzcgOThlMDcyZjIyYzRmM2Q2MjhmMTE2NDhjMGI3M2U0OTM4MGMzNTNkZCBweTNrCis2MjQ0MSAxYWNkMDBmMmEzODA3Y2JhNjAxZDg1Yjc4OWJlNWZlMmNkMWI0NjMxIGxlZ2FjeS10cnVuaworNjI0NDQgYjdkZjMwYWM1YjVhMjYwODg3NWYxNDM1OTc4MjljZDAzNDE0ZjAwMyBsZWdhY3ktdHJ1bmsKKzYyNDQ2IDA0OTI4NDcwYWQ4NjA5YTk4NDczZDIxMmRhYjg5YWFmYWRmNDI4NDYgbGVnYWN5LXRydW5rCis2MjQ0NyBiYWUyZjRmZWVmY2NjYWNhYWRhMTU5ZDBhMjk2OTVmMWY2ZTAwMTVlIGxlZ2FjeS10cnVuaworNjI0NDggYzQ0YjhjYTNmNGQyOTU4Y2E4NmJmMjNiYTcyN2QwYjVmOWMzZmZhMCBsZWdhY3ktdHJ1bmsKKzYyNDQ5IGIxMjU4MzY0MzEyOGVhY2Y4NTQ3NDg3YTM1MzNiMzM5ZDBjM2YyMzAgcmVsZWFzZTI1LW1haW50Cis2MjQ1MCA0MzRiY2NlY2E3ZGYwODkwZTQyZTJjNzYyYjExODA5YWI4MTRmMTBmIGxlZ2FjeS10cnVuaworNjI0NTEgMTA4ZmU1N2I5YTY4ZTFlOTc4ZjhkZmE3NjE5OWFiMmMwNGI4MGRlZCBsZWdhY3ktdHJ1bmsKKzYyNDUyIDJmMDA2NTQ0ODg4M2FiYzU5ZjVhMmZmZTU5MjQ0NzdjYTk4OGU1M2QgbGVnYWN5LXRydW5rCis2MjQ1MyAwOTQxZDc5ZWE3ZDZlZmI2M2UwZGQyNTc3YzUyYWNjZWFkZjdlODM3IGxlZ2FjeS10cnVuaworNjI0NTQgODhhOGRlZjU4MDA3NzdhZTFkNzdlMGIyMzRhMzc5YjQ2N2YyMzRjYiBsZWdhY3ktdHJ1bmsKKzYyNDU1IDY0MmQ1NzEyMDkzYjgwYjA4ZTRiZDIwOGZhYWU4ZjJiMTkwNDg0NTYgbGVnYWN5LXRydW5rCis2MjQ1NiA2NmI3OTkzMDY4YmRhMzFlZTcyMzkxMmNjYjYzZjc4NjI4M2Q5ODcyIHRsZWUtYXN0LW9wdGltaXplCis2MjQ1NyBmYjNjYjA0MTk1ZTBmODIyYjA3M2RmNzU1Y2FiY2Q2OTJkNDgxYmU2IHRsZWUtYXN0LW9wdGltaXplCis2MjQ1OCAxNDQwM2E1NDI1OGZjNGU4OTU5NWY2YzNkZTFhYWMxODAyMGU5YWQxIHRsZWUtYXN0LW9wdGltaXplCis2MjQ1OSAwYzU4MjRiMDAyNjMzYmE0NjE1ODAzMjYyNzVlNGQzYjljNDZiOGJkIHRsZWUtYXN0LW9wdGltaXplCis2MjQ2MCBkN2ZlZmIzNWU5OTNmZmM5NDc0MmIwOWQ5YTdlODc2MzFlN2IwMGUxIHRsZWUtYXN0LW9wdGltaXplCis2MjQ2MiBjMGNkYWNmMDdmNTQwZDkyYzhlYzAzZGIyOThkOTliZWMyYmU5YTdkIHB5M2sKKzYyNDYzIGZlZDcyZmE5NjdiZjVhNGEzMWQ2NzI2YTA4ZmE4NDVmMzM0ZjNkZjMgbGVnYWN5LXRydW5rCis2MjQ2NCBhNzQ2NTQzNTIzNjZlZjM4NGY4MTE4MzI0MTU0MDRiYjU4NDY4OTcyIHJlbGVhc2UyNS1tYWludAorNjI0NjUgOThkY2FkOTA5MmE4ODllZjQ3YTkxNGYzZDU5MjQ0ZGZhNjJlYTIzNyBsZWdhY3ktdHJ1bmsKKzYyNDY2IGM5ZGU2NzA1YmQxMTI5NzVhNWEyYWIyNGE5Yjg5ZTM4ZWVkOGMzMTEgbGVnYWN5LXRydW5rCis2MjQ2NyAyZTFlYTYxYzk0Y2M3ZjE3MjhlODllMmFiZjNmMTdjNzhiY2E1OTJlIHRsZWUtYXN0LW9wdGltaXplCis2MjQ2OCBlZDI2N2M2OTg5YjZjY2I0NmM1NTg4Y2FhNzUyNzI2OTcyOTkwN2VjIHRsZWUtYXN0LW9wdGltaXplCis2MjQ2OSAzYzZhMjVlNGRiYjVmMGY5NjNiYjFhNjk4OGNmYTJjNTIyZjZiNzk2IGxlZ2FjeS10cnVuaworNjI0NzEgMDdjZjI4NDgwYWQxZWM4MzYyYWM1MDJkOTlkMGQxMGUzNzE4NmE2ZSBweTNrCis2MjQ3MiAzZTliNGZhOTNlNWM0MjkxYzZmMjg1YmUwYmQxZTcwNGUxMTZiZDRmIHB5M2sKKzYyNDc0IDYyMWEyZWFjYzI3YzQ4OTkzYzYyMjgzZDBhYzYzZTcwZmVhMWQ3MmQgbGVnYWN5LXRydW5rCis2MjQ3NiA1ZTYzNmM5ZDYxYWU1NzVjZDZhNDVlODE1MzQ0NDczM2NkODE1YWY0IGxlZ2FjeS10cnVuaworNjI0NzcgYTAyMjU2MDBiZmYxNDk2ODhhNWIwZTJiNTJmNzlmNTQzMTU2ZTUzZiBsZWdhY3ktdHJ1bmsKKzYyNDc4IDNlOGEwM2E2NDk3ZTE3MTQxZDNkNmJiZjE2NDY5MTVhZWU2MWU4OTIgbGVnYWN5LXRydW5rCis2MjQ4MCA0NTkwODNjNmJlMTUzZWJiNWZkYTZhMDM2ZmNiNmViYzQ1NzA4OTkwIGxlZ2FjeS10cnVuaworNjI0ODEgNGZmOGRmYWVjM2ZjNmRiOTQzYzc5Y2U2M2NiNGY0ZjhhYjcyZmQ2YSBsZWdhY3ktdHJ1bmsKKzYyNDgyIGE1MWIzMjkyNDViMTQ0ZGFiZjhhZDgxM2RhNjk0YWMyMTU5ZmE2MDQgcHkzaworNjI0ODMgODVkNDY3MTU2NWM4NzQ5Y2Q1YmZkMzhiNWNlZDY4YjdmMGI1Y2JjNSBweTNrCis2MjQ4NCA5MGUyMTQ2Y2I4YTMwOGEzMDEyZTczODAxNTdjYWMxMTgyOTRhYTM1IHB5M2sKKzYyNDg1IDk1OTQ3ZmRmNDBhZTQ4YWVkMGZlZmEzOGQ0YWZhNGUwZGU4MjUyZmUgbGVnYWN5LXRydW5rCis2MjQ4NiBkMWZiNDlhZWM3NjUxMDQ0YzllODBlNjIwMGM0NDA1ODNiYjU0YmZlIGxlZ2FjeS10cnVuaworNjI0ODcgODg2NGRmYTk5Yzc2MDJjZThmMjk5MWFhNTVhNTA1MjBkNTgxYzEzOSBsZWdhY3ktdHJ1bmsKKzYyNDg4IDM1MTE5YjAzNjg2ZDJkNDlmMzFjNDQyMzM4YjE5Y2QwODFhOTcxODYgcHkzaworNjI0ODkgMWNmM2IzNGRmNmM2MGVjMGQwNDA4MTg3YTY2ODEyZjBkMjhkODkzYSBweTNrCis2MjQ5MCA2NmM4YmQxYmVkZjMyMzJkZjBlNGEyZDJiOWYwMGUxM2M4NGQwNjUzIGxlZ2FjeS10cnVuaworNjI0OTEgOGI3MThmYzE1ZjNkNmI1MjMxNjJhZDJlODA1ZjQyMWMyYTA1MzlkYiBweTNrCis2MjQ5MiA1YmE2Y2JiY2FlZTczNjQ1M2M5YWJlMWI5YTA5Y2M4YmMyZDQ4NjA3IGxlZ2FjeS10cnVuaworNjI0OTcgMDRiZDc2ZTkyMDY1NDMyZmUzZjk3ZjMzNDkyODFlNTczYzkxZGVlYiBsZWdhY3ktdHJ1bmsKKzYyNDk4IDY4OTg2MzU1MjM4MDczMWZmNDdiYTkzMmJkMjgyNjUxMmNiMGYyMzcgbGVnYWN5LXRydW5rCis2MjQ5OSBjZTYyMGNjOWE2YTg2OTQ5ZDIzZDg1YjJjOTUwODJiNjRmMTNhNmU5IGxlZ2FjeS10cnVuaworNjI1MDAgOWUwNWYxNWY5MjFiMDEwY2RmNTA5Y2QwNGNmNzVjOWViYjQ2YTcxNiBsZWdhY3ktdHJ1bmsKKzYyNTA0IDBjN2NhNDcxZmI4ZDc3OGJjYjM1N2I5MWRjYjI1NTNkZjNjYmNmNzggcmVsZWFzZTI1LW1haW50Cis2MjUwNSBjNzM4MjgwNjIwMzEzMGJhNDExMzQ0NTM4MDc5MjNmMmE3N2U1YmE3IHB5M2sKKzYyNTA2IDJhMzFiYzI4YzEwZmZmMGFkODM2MzNkNjZmZjNiNzFjNWU2MGJjYjcgcHkzaworNjI1MDcgMGUxMTg1YmZhMzEzNGNkMjQwMWU1MDk2MDY1ZjA0ZmQxMzk3ODA3ZiBsZWdhY3ktdHJ1bmsKKzYyNTA4IDBjZmM4NDViODUyZDgyNGExZGU5ZTNmMGUwZjg1YTFjNjZiYTNiZTkgdGxlZS1hc3Qtb3B0aW1pemUKKzYyNTExIDUyMzgzMjdmNDViZDQwNDJjNzZiNWQ0YjhjZGNjYWY4ZGZmOTQxMTUgbGVnYWN5LXRydW5rCis2MjUxMiBmZmVlY2JlYmYzY2E3Y2U3NmIwZjg4YTVkNzYwMDkyZmRmY2YzYjMzIHB5M2sKKzYyNTEzIGViMjc0NmU4Yjk4MzMwZGUxYjEwMmYxZmFmMTM4NTNiOTVlZmRhYzggbGVnYWN5LXRydW5rCis2MjUxNCBhZDM0MTc1MDM2MzZjZjdlZTU3MTA5MmIzYmZiZWFjNDQ4ZDg5MzY5IGxlZ2FjeS10cnVuaworNjI1MTUgMzYxZDc3NmQzODBlYjk0MjczYzRmNDNlZjU5NWNhNmI3NTQwOTliZSBweTNrCis2MjUxNiA0NzIzM2ExN2U5NzA3OTc0ZWFlZjQ4ODM0YzAxZDMyNjU4MWJiOTc5IGxlZ2FjeS10cnVuaworNjI1MTcgZDU4ZWMzOGU2ZGIxYTk1OGIyOGE1M2ZmY2ZjMzJhMDFlOWJiMzU1MSBsZWdhY3ktdHJ1bmsKKzYyNTE4IGFlZjM1MDFkOGU3NzZlNjkwNzg0MmQwNDIwOTUxYWEyY2I4M2UxM2QgbGVnYWN5LXRydW5rCis2MjUxOSAwNmU2N2NiMjIxNTgwODZhMDRiOTQzNGUwNzA2ODdlZDdhMjY5OTVkIHB5M2sKKzYyNTIxIGRhZDg4Y2I2ZWYxZmRkNTk1M2JlOTZiZjgxNzMyMGE1NjQzZGRiZjUgbGVnYWN5LXRydW5rCis2MjUyMyBlZGIzYzNkNjYwMDY3ZWFlNTkyODIwMzI2YmI3MGI0NjlmNzg4Mjk1IHRsZWUtYXN0LW9wdGltaXplCis2MjUyNSBjNTg5NWI5ODFkOGYwZjRkYmIwY2JjN2NjMjRkNjRjYjc5ZDNhOThmIHRsZWUtYXN0LW9wdGltaXplCis2MjUzMSA2YjdjOTFkOWRjNTExYmYxNThiMTVjOTg0MjIzZmI2YTczNjY1ZjAyIGxlZ2FjeS10cnVuaworNjI1MzUgZjM2NWEwMThhZjViNjk0Njk1MDY3MjU4MTUyNDY1ZjVlMmJkZGMzMSBsZWdhY3ktdHJ1bmsKKzYyNTM2IDc2NzAwMDVkYThjNTY4YmViM2JlNDYxNGQxN2E0ZmI4OTI0ZGRiMTQgbGVnYWN5LXRydW5rCis2MjUzNyBkN2Q1NjcyZjVkNWUwNTBiYmMzZGU2ZWEwZjZmNjA2MTM4YTVkM2U3IHB5M2sKKzYyNTQwIDA2YWE4MDJiZmNiMThjNWIwMTllMmY2NTE0MzkxYjY1NDg0NTE3NTAgbGVnYWN5LXRydW5rCis2MjU0NSAzZDlkZGNlMmRhODUyMDQ3NzBjYWI3NTdmOWZhMzI2NDcyMzZjNTE2IGxlZ2FjeS10cnVuaworNjI1NDYgZWJjNDBlNTAwODY5OGE1NmQxNzEzNGI4NDU2NGQyMzE3NmI1MzI1NCBsZWdhY3ktdHJ1bmsKKzYyNTQ4IDE4ZTlhMzcyYTdhM2EwY2M3OTUwZjAxMjY3OTViOGE4OGU0NDg2YzggbGVnYWN5LXRydW5rCis2MjU0OSA4NGRmMDgyZGQyMTY3ODM1ODE1OGExZGNkMDVmOWI2ZGVlY2VhMWIwIGxlZ2FjeS10cnVuaworNjI1NTAgNTlkYjU3NWFlMzc0NjI1NjVmNDdkNmE0NWEyNTAzMzU1YTBhMzUxZiBsZWdhY3ktdHJ1bmsKKzYyNTUxIGM1ZGMwNWNkMzg1ODliYzMwYTdiZGZjYTZlZGFkY2QzN2I2ZDE3M2UgbGVnYWN5LXRydW5rCis2MjU1MyA1NzZmYTI0NDBhMGM4ZDhmODg5ZDNhZmE1NzZmZjA3NWI3NDYyYjA0IGxlZ2FjeS10cnVuaworNjI1NTQgZDJiYjVmMTMxODczOGIwMDY0NzVmYTdkZjEzYmM4M2E1NmVhOTIyYyBsZWdhY3ktdHJ1bmsKKzYyNTU1IDA3YTRlMTcxMDI2Mjk5Y2YyN2E4ZjBhMjM0ZDlhNTFjN2E4ZGJkMDIgbGVnYWN5LXRydW5rCis2MjU1NiBhNTE3ZWNjYzc4M2I5ZTBjODFhMDRlOTgwNzk5ZGRkMGVkZDE4ZGE2IGxlZ2FjeS10cnVuaworNjI1NTcgMWVhNGQxYjE4YWVkNThkNGI1YjNkYThkMDcwNTI4NGE0M2RlYzAzYyBsZWdhY3ktdHJ1bmsKKzYyNTU4IDRlNDc1NDhlZGQzNjZkMmIxMTZiZjNmMWJkZGZhOTFhMDRmNTIzNGIgbGVnYWN5LXRydW5rCis2MjU1OSBmZWY2ZDZiYTc4YTQwMTdhOGQwN2ZlMzQ5NzRjMzhjMzYwZjkxZDdiIGxlZ2FjeS10cnVuaworNjI1NjggYzM0ZjBlNjA5ZmE2YWU0MzBkZDFjNmQzNjQxZTM1NjhiNDk3NGU3NiBweTNrCis2MjU2OSA4ZDNhZDhhZjY5MmI1YTM0ZWZmYzgxMzc0MDc4NWExMDc3YjExZWNmIGxlZ2FjeS10cnVuaworNjI1NzQgNmZlYWQ0Y2Y3OTExMWRiMGZkZmNjN2JmMzRmMmFjM2Y3YzYwYjdlOCBsZWdhY3ktdHJ1bmsKKzYyNTc3IDdmNjBiMzM3YjA0OTJkNGZlN2UxN2I4OWI3MWYzMDZhNjIyMDVlNzMgbGVnYWN5LXRydW5rCis2MjU4MCAwMTU0ZGYyNTBlZjZiNTA5NGE1NWVmMjBkNWEzZjFjYzNmY2Y3ZGU2IHB5M2sKKzYyNTgzIGU0MmQzOTc3OGVhZDljY2I0NTg3NWJiMzZmMzhmZDBkYWM3NjQ4MzkgcHkzaworNjI1ODYgMzdkNjQ1YjAxNTIzMTZlNDFiMTE4NDAyOWQzNmJhNmVmNmIzYmIwMCBsZWdhY3ktdHJ1bmsKKzYyNTg3IDdiNDA4MWJlYzc4Mzc4OWY4NjcwNzdjYTc2YTg5YWNjN2VhYjk3YmEgcHkzaworNjI1ODkgY2JhMjgxYjE2YTgyNDVlMTU2ZmMxZjliMzgxM2I3YjQ4OTgyYjZkNyBweTNrLWN0eXBlcy1wZXAzMTE4Cis2MjU5MCBlZjQyMWEzNjVhMWQ0YzcwMzEyMWU3YzUxYjgxOWUwNTY3NDM1NmUwIHB5M2stY3R5cGVzLXBlcDMxMTgKKzYyNTkyIGQ2YzZmMzY2YjIyMDYyZmQzZGVmMmI0MmMxZjE1NDcxN2FjYzE2NDYgcHkzaworNjI1OTMgOGY1Yzc1OWUwMTljNjZjYmQwYTM0NTc5ZTdkNjhlMDA3MjY1N2Y0YyBsZWdhY3ktdHJ1bmsKKzYyNTk1IDNkMGQzYTY4MDg5NmNkY2U3Njc5MTYxZDQyMWNiMjFmYzgzMWQ0NTEgbGVnYWN5LXRydW5rCis2MjU5NyA5NDhiZWE5NmRkMjAxYjMyMGI2YThlYmI3ZmIwNjRmMDhiM2Q3NDQxIHB5M2sKKzYyNTk4IGFmMGVmMDQ0MDFiYjJlNzliNjRmOTI5NTk5MjY4ZjVhNmZmOTJiMzAgcHkzaworNjI1OTkgN2E2ZDc0NzRjZTZlMDhiMDdjYjZhNTNhZDhmNzNlY2I3MzAxNTA3ZSBsZWdhY3ktdHJ1bmsKKzYyNjAwIGIxMDE1NTZiOThlYWU2MDk5ZTk2ZGEzM2FiYThlYmY5NzQzYWQyMWQgcHkzaworNjI2MDIgMDFiZTFjOGYwMDZiZGQ1NjM3MWFiMDg5NTRkOTA5YWUyMzVhMTUxNCBsZWdhY3ktdHJ1bmsKKzYyNjAzIDAxNDUzNTcxOTY2ODg1YzNmNGY3ZWQ2NzNiYTFhZGNhMWRmNDViYTUgcHkzaworNjI2MDQgMzAzNmUyMWFjNjYxZGRhMDEzZTY3NzcyZDlhMzlkOTdhMDI4NjAxNCBsZWdhY3ktdHJ1bmsKKzYyNjA1IDE0MjM4MzRiNzJkOGQ4ZDI2ZTE3MzNiODc3NmMxMzJmMmZiYTYyMzMgbGVnYWN5LXRydW5rCis2MjYwNiA2OGNmYzUxZTQzMzFlZmUxYjc3ZWJiNWI1MTE4YTkyZjc0NzYxMWFmIGxlZ2FjeS10cnVuaworNjI2MDggNjVhY2M1NWYxYTY5MGZhNDA2ZjcwZDc2ZjczNmI5MDIyMzQ5Mzg0NiBsZWdhY3ktdHJ1bmsKKzYyNjEwIGE0MGQ3ZTYwNWY5ZTExN2E2NjE3OGZmNDdhOTdhYzJiNWM4ZDZkNjQgcHkzaworNjI2MTEgM2YyMTE3ZDMyNzFmN2MwZjYwZDQ1ZDcxMmFhMzg5Y2YzOTMxY2VhMyBweTNrCis2MjYxMiBlNDJmZTE5YmE2ZmRmMzdlOGYyNmZhOThkMzM0NGEyYmZkM2Q1MzA5IHB5M2sKKzYyNjE1IDg3ZDMxMzdjMzFkNDM2MTAyZGY3NmQwY2EzMmEzY2U5YTUyMzE0NzEgcHkzaworNjI2MTYgMzMxNWY2YjQ0NDAzMGI4Nzg3YmNlYTQzZDY2NTA2YzQ5OTgyNWUyMiBsZWdhY3ktdHJ1bmsKKzYyNjIwIDU2ZjgxZWE5Y2I3OTUwZDRlNjJkNWU3OTc5ZTZmOTE4Yjg5ODI4MzggcHkzaworNjI2MjQgODBiZDRiYWE2Mzk4MTkyMDM2NWE3MjU0NTczMzc0NDA5ZTQ5NjQ1ZiBweTNrCis2MjYyNiBlYTFhOWNmNzM1YTU2OTQ1NDMzNjhkODQxN2M1MjE5OGE3N2E4MDA5IGxlZ2FjeS10cnVuaworNjI2MjcgNTQ2MDZlYTlmNGM3YjkzMzg0MmViZDcwZDA1MGRjM2UzY2RhMGE0ZCBsZWdhY3ktdHJ1bmsKKzYyNjM2IDBiYTEyYzMyZTJiNTY5NTkwMDg1ZTIwMTBjOWVlMmVkMGE2MDQ2ZTQgbGVnYWN5LXRydW5rCis2MjYzOCBjNGQ5MGZhOTM1ZWFhNDEzMDVmMTk0MWI1NGZmYmI1ZTA0YWM3OGY0IGxlZ2FjeS10cnVuaworNjI2NDQgYTFjNmYyYWI1OTdlMDM3OTYyMTQ1YWIwOGRkMjE1YzZmYzBkY2I1ZCBsZWdhY3ktdHJ1bmsKKzYyNjQ1IDIwYjcwNzg2NjQ1OWFkYTc0YTA2MzkwOGI4YmNhZDk2YmRkZjBkNGYgbGVnYWN5LXRydW5rCis2MjY0NyAxZmZlYzJhNjg3ZTk1OTZmNDhhYmFhMzhmMzAzNGM5ZWM2NzMxYjk5IGxlZ2FjeS10cnVuaworNjI2NDggM2Y4NGU2YWUzNmRhZDI5ZTA5MGE0YjQ3NDZhMDNiZDQ4Y2IyNjY3ZSBsZWdhY3ktdHJ1bmsKKzYyNjQ5IGI1NWM1NTY3Y2M3NjczM2Y0MWRjMTE5NmViNTU1MWY1ZWU5ZGJkMTAgcmVsZWFzZTI1LW1haW50Cis2MjY1MCBlYjlkYWI5NTZhNmViOGI4MGU1YWQ0YWZkYzIzMzg2M2UxZDZkOWE0IHJlbGVhc2UyNS1tYWludAorNjI2NTEgODA2MzU0ODllOGQ4MzE0NGI0YzA5ZDdmOTQ0ZDI0MmU0NzFjMjU1YSBsZWdhY3ktdHJ1bmsKKzYyNjUyIDZkOTQ5NzU5N2M0ZjNmZWZiNGMxOGE2YzUxM2I3NzI5MjVjMmI0ODYgbGVnYWN5LXRydW5rCis2MjY1MyBjYzY2MDI5ZDJlZmU1OTM5YWJjMjY0NDk0MTU1N2JjM2JlODcyMmQ3IGxlZ2FjeS10cnVuaworNjI2NTQgZmQyN2FjNWZjYzgxODA4ZTlhZmQ5MWU2YWQ3NjZiM2RkZTY4MWFkZSBweTNrCis2MjY1NSAwMzJhMGEwZDNmYTk2MDZjZmUxODcxZDliZmY2YTIxMmU2YWRiYzU0IHB5M2sKKzYyNjU2IGE4NTlmODM1ZWY1M2RhOGEyNjFmNzI4MDE3MTcyZWRmODVhZDAxOTkgbGVnYWN5LXRydW5rCis2MjY1NyAwZmRlZjE0OTgxYThlM2JiMGExYzJkMDQ4N2Y1MmM3YjNiNzVhNWU1IHB5M2sKKzYyNjU4IGJkOTEwMDBjOGU3M2RjNzc2YWY4YjZjNjc0ZGYyYzhhOWRmNzVmNzMgcHkzaworNjI2NTkgM2Q0Mzc3NTIxNzBiNTJkYzA0MTc4MTE5Mzg3NmNlMGU0ZGIxYWE2ZSByZWxlYXNlMjUtbWFpbnQKKzYyNjYxIGJmYTgyYjQ5MzMzNTQwOTcxZTY4OWY0ZmQyNzlmYTIzMjE3OTAwYjUgbGVnYWN5LXRydW5rCis2MjY2MyAwZGViNGFiMDQyNmUyODdkOTZlMDhjMDIzOTU1YTQ4Mjk5NjI3NDQ0IGxlZ2FjeS10cnVuaworNjI2NjYgZWMwOWFkNWJlZDFhY2NhMTBjMmNkNjFmZDRiYmJhZjkxYWY2MjFmNiBsZWdhY3ktdHJ1bmsKKzYyNjY3IGVhNTk0MzA2ZWE4NTQyYjk4YmUwNjg2MzdiMDcxMmE3ODMyYTE3MjEgcHkzaworNjI2NjggNjhiMWQ0NGI1Zjc0YTc5ZjAzNjAyNTdkM2RjODc2MTUxMWI2YWQ0NCBweTNrCis2MjY2OSBlYTMwZjAzYjI0ZjQxZjgyMTUzN2I2ZjNjMmRiMGEwNGMwMGVlNTBjIHB5M2sKKzYyNjcxIDk0MThkYzRhN2I5ODVkNWNmYmJkY2I5ZDE1Y2JiODgwMjA2NWVhNzAgbGVnYWN5LXRydW5rCis2MjY3OSA1YmI5NDA2NWIwNzk5OWNlMmUzNDc5NjU5ZTdlMzcwNjE2ZjcwYWMyIHB5M2sKKzYyNjgwIDgzY2MwOTY4MjA4MWRjMDQ5M2U5MjIzYjg1MjcxMmZmYzhhNmU5MzIgbGVnYWN5LXRydW5rCis2MjY4MyAzMzkwZWI3NTkxZjYxMjhiM2ZkNjY0ODg2NzI0ZjcxOTI5YzgwMDY2IHB5M2sKKzYyNjg0IGM5N2UzNmFiY2RkNTk1NmY1YjM3ODFkYzY5MzNmZjMwZDc1YzA1YWYgbGVnYWN5LXRydW5rCis2MjY4NSBhY2IyYTkzOTQyOTZhNDU3NTE0NDE2MWEzMzVmODU4ZWIyNGE5YWI3IHB5M2sKKzYyNjg2IDE4NzJlMWRjMDM1ZmMzMjliOWU4Yjk5ZjIzYzNmMDdlYjA0ZmRlN2QgbGVnYWN5LXRydW5rCis2MjY4NyBiN2M2NmQzZTJlMjhkYjAyZDZjYzdhNzc4ZWJkNjczY2IyY2Q2MWUyIGxlZ2FjeS10cnVuaworNjI2OTYgYTk0YjlkYjkyMjNmY2QyMGQwNDkwZTU3NWQzZjQxNWUzNzc0N2M0MyBsZWdhY3ktdHJ1bmsKKzYyNjk4IGFhYTBhYjQ5MDEyNmUwMmYxODQwNTVjZmMyODA0N2QwNzNiMzZjMzcgdGxlZS1hc3Qtb3B0aW1pemUKKzYyNjk5IGRlNzZiZTAyZGI0MjViM2U2YTRmNjBiNzFmODYxOWZlYmE5YmJjOGUgbGVnYWN5LXRydW5rCis2MjcwMCA2ZGIzOTJhYzlmNGViMTQyYjRiN2RlNzQ2NGY0MWVkZjQ2MTAzMjgwIGxlZ2FjeS10cnVuaworNjI3MDEgYjkzYTA0MWNjMjIxM2U1ODlkNDJhNGU0YTc3MjJkYTRlYWFmZGIxOSBsZWdhY3ktdHJ1bmsKKzYyNzAyIDI4YjA5OWFjNGNkOGY3YjhjNzUxZTZkNDM0YmQ0Y2YzODIyNzNiMzYgbGVnYWN5LXRydW5rCis2MjcwMyA2YzRlZmU1MmQ1OTRkM2ZmNGZhMDFmYWJkMjg3Njk4MWRkNTFhZjAzIGxlZ2FjeS10cnVuaworNjI3MDYgYzA3ZjE5YWY1NTRhOWY2MzBkN2ViZmMxOTUwMmQ5ZjY0YWJkMWUzMyB0bGVlLWFzdC1vcHRpbWl6ZQorNjI3MDcgMmU0NjM0NDJlNTcwNjA0Yzk1ZGE4Y2I0M2Y2OTk5NzA0OTA0NmEwYyB0bGVlLWFzdC1vcHRpbWl6ZQorNjI3MTEgZmUzMDBhOTcyZmI4ZGYyODc1MDQ3NTY5NThkMDI5YjVhZWY4ZTg2MyBsZWdhY3ktdHJ1bmsKKzYyNzEzIDcxNzJlMTFlOWZjOGM2NzZkY2Y2M2ZmZDk5NTVmNWQyMDI1OTliNWEgbGVnYWN5LXRydW5rCis2MjcxNSA2NDM0MTVmOTFhNTBjOTJmZjkzNTc4OTkyZmE4YTY4NTE5ZDdlOTBkIGxlZ2FjeS10cnVuaworNjI3MTYgMDMxZGZlNDU1NTg1Y2NkZDA3ODk3YjhlNmQwMDRmNzljYTQyNjc5YSBweTNrCis2MjcxNyBjN2MyNWNjOTk2M2RkMzMyNzgzOGE1Mzk1NWVhODlmMjQyZWQ1Mzc3IHB5M2sKKzYyNzE4IDA1YTgxN2UyNWYyMGQ0MmNjNzBhYTZiZTZjZDc0NjUyZDJlMzc1YTMgcHkzaworNjI3MjAgZDkwNzFmYTgyNDRhZjM0MzM2NjlhN2M3MDkwZTZhNTc2NjA3YWViZiBsZWdhY3ktdHJ1bmsKKzYyNzIxIDhhOWI4YjNjZTJlMTIyMjUwMzcxMTBjMDY5NWRhMDE0MTdjODFhNWYgcHkzaworNjI3MjIgOWIxMGJmNjRmMTI0MzIxNmI2MzA3MTFjNWE4MjhjMzljMDg1ODA0YSBsZWdhY3ktdHJ1bmsKKzYyNzIzIDRjOTBiZThhNGQzODI3ZGU0YTQzMjVhNGRmYTlmMTQ4ZTJjZjE3M2MgcHkzaworNjI3MjQgOGUzM2YzMTZjZTE0MGRhOTc1ODYzZWE0ZTk1ZGNkOGEwYjU0MjFmZSBsZWdhY3ktdHJ1bmsKKzYyNzI1IDE1ZjFkMjMyZWFlOTEzODU3YjgyNGU4NzFhMWQzZTk3NjJkYmUyZGMgcHkzaworNjI3MjYgMTBlOGVmOTViMTFmOWRiNjE4NGU1NTQwOTFmYjhlZjUzOTcxZmNjMSBsZWdhY3ktdHJ1bmsKKzYyNzI3IDg2ZjczODM4YTRiYjcxNTAxZjAzOGUzOTQ0YzVlYTczNjliODg1OTggcHkzaworNjI3MjggNTViZjhkNjkwZTY3YWY0NjBiY2E4ZTVlNTNhNDY1NzRiMjg5Yjc3YSBsZWdhY3ktdHJ1bmsKKzYyNzM0IDRkZWQzNTc1NGNiNzIxZjQ5NjEyMjA4YTBlYjg4NTE5MDFmYWRkMzAgbGVnYWN5LXRydW5rCis2MjczNiAzNGE1MzgwZWUyNzVhZTBjYTE3MTcxNWE2N2ZmYWUwZmUwNWFkMmZmIGxlZ2FjeS10cnVuaworNjI3MzcgODhhMDk4MDRiYmEzOTQzMTVmZThhMzUzYjQwNzA1Y2U3N2Y5YzgzYiBsZWdhY3ktdHJ1bmsKKzYyNzM4IGI3NGEzZjk0NmE1ZTY3ODEyZTliMDJmNDkyMzgwMjgwZDEwMGY5N2EgcHkzaworNjI3MzkgZGFjMjE4NDNjZjUzNTE0YzU3Zjg0ZTk5ZmZiYjgzZGRlZTZmM2Q3MiBweTNrCis2Mjc0MCBlMTlmODdhOTg3OGMyODhkM2U4YzllMmQ4MTAzNzdjMTM2NjFjODA4IGxlZ2FjeS10cnVuaworNjI3NDEgOTFkNWYwODQxNzAwMDY4MTkyNjViMWQxMmEwZTI2ZTYzZDBkMDQ5MCBweTNrCis2Mjc0MiBmMmE0ZDhkNGYwNjM0Y2RiMmM2OThmNWVhNzQ3NzdkY2Y4YWM3MDg3IHB5M2sKKzYyNzQ0IDI3MjllOTc3ZmRkOWVhN2UzZWRhYzUzMzFiNjhmM2Y3ODI2MWI1NTUgbGVnYWN5LXRydW5rCis2Mjc0OCA3MTA2Y2E4NzFiZmQxYjY3NWNmNmViYzIxY2FjMDAwOTUyNDYyYjczIGxlZ2FjeS10cnVuaworNjI3NDkgMmYzNTFmYTUzYTZiM2YwZWFmZTg4ODZiOTRlMGRkNzM2OGE0NWU0NiBsZWdhY3ktdHJ1bmsKKzYyNzU2IDVhZThkNTRkMDk1MjhmNjU1NjE4MWQ1ZWJmYWFjNzExNzdmMjAyZWUgbGVnYWN5LXRydW5rCis2Mjc1NyAxMWVkNDA1ZDk5Y2I4NmYzYjVhMTc4NTg1ZTY5ZjMyZTk0NDViYTcwIHJlbGVhc2UyNS1tYWludAorNjI3NjQgMWU4YjhkZjRkZjgzMTUzZGRhYjI3ODc2OTljZWI2YTk2ZWIwZjE4YyBweTNrCis2Mjc2NSBjODJmNjNlZmJjNDA4MzFiNDljYmJmYmM4MzIxYWJlZDE2Nzc3Nzg1IHB5M2sKKzYyNzY5IGIwZmI1NWVjZTg5ZmMzZWNjY2M1NGJjY2U1NzQ0MDBmNWEyODFhZTkgbGVnYWN5LXRydW5rCis2Mjc3NCBmODQ2OGJmZDQzNTc2MDRjZjQ5OThiOTg4YzQzNDBlYjdjZjc1ZTRkIGxlZ2FjeS10cnVuaworNjI3NzUgZGRkNWY0MjMzMmI5ODU2MzI1NzZjNzgyZWJiNTJlNmU0ZjNlOGYzNSBsZWdhY3ktdHJ1bmsKKzYyNzc4IGNkYTgxNmMzYTFlNDZiZTNhZjJlYjdkOGNlMjkyZGU4MjhkMWYzNGQgcHkzaworNjI3NzkgMDJhODE0MmQ4M2RiMjgzNzM3ZjUxZjdmOTk1MjcwOTQxNzk1MWY1OCBweTNrCis2Mjc4NSA5MTMwYjQ4YTcxMzBlMTVhNDljNGUxMjg0MjZiZmYxNjE0ZGViZDk0IGxlZ2FjeS10cnVuaworNjI3ODcgNGIxOWI0MWVmNjA2NGM1MzA1Y2FjYjc3YTVjYmFkZjhiYzhiZjZhYiBsZWdhY3ktdHJ1bmsKKzYyNzg4IDFhMmRiYzg0YmRmY2YwYThjNGM2ZGUwYjA3ZGI0NGViNmJmN2UzMWUgbGVnYWN5LXRydW5rCis2Mjc5MCBmNDA2NGI1YzhjNWQyZGY0YTBkYTZmMmY1MDQyYjZlZjkxYWMxOGZmIHB5M2sKKzYyNzkxIDkxMWM4N2Y4ZWQ1ZTU3M2E2ZTBmODU0YjM3Mzc5M2QxNWJiMDYwYmEgcHkzaworNjI3OTIgMGMyZTRiNTVmODBiOTdiNTZkNzFkMDM0ZDEzMjkxMWQwMjQxNjZjMiBsZWdhY3ktdHJ1bmsKKzYyNzkzIGZmZGI1ZjQxMzlmZTdhODcyYjJkN2MwYjhkM2ZjZjIxZTZjYjA5ZDkgbGVnYWN5LXRydW5rCis2Mjc5NCAxMGIxMzlkODc4NjAyMWMwOTVhYjM1OTUzZmI4OGEwNTZjYTdiNDg2IHB5M2sKKzYyNzk3IGNlZWE0MGRhYTg0OTA3OWI1MTVlZjgwMjRmNDQ2MDQwODBhYzE2Y2EgbGVnYWN5LXRydW5rCis2Mjc5OCA3YzgwYmFjN2Q3NzY1NmNiNzFkOWNhNjFjZTE1ZmI3ZWZjODQ3NGQyIHB5M2sKKzYyNzk5IGM4YWEyMjBjNmNlZWY5NThhZDVkOGQ1MzIzMWVmMGU1ZjcyYTk2OWEgbGVnYWN5LXRydW5rCis2MjgwMCA3MzdhMThiMmRlZDM2NWYwYmJmYzkxMGNhMThmZGMyNDZkYzc0NWYxIGxlZ2FjeS10cnVuaworNjI4MDEgNzRiOWM4NTM2MWY4OGUyNTNiOWY3YmI0OWRmYWUwNDY2MTliOWFkNyBweTNrCis2MjgwMiA3NDg2YzI5ZjkzYTNlZGQxMTIwNjE4YzU0OWY2YjAzNGM0ZTNkNjZkIHB5M2sKKzYyODAzIDBlNWE5NmZjOTQyMmI0ZTEzODU1MzcxYTQyYjM5MDI4NzNkZDlmYzEgcHkzaworNjI4MDUgNzdkZjk5MWVhNjM3OThmNWM5NWMzOTFmN2U0YWQ3MTQwMjM4OGUyMCBsZWdhY3ktdHJ1bmsKKzYyODA2IGQxOTY1MDg4Yjg1ZGQ3Mzc2ZjBiNzg2OGFhZWNhZjhiZDQ1NDFlYzEgcHkzaworNjI4MDcgOGI5MzFhNzk4MjdhOWI2NWUwMTMwYjdmYzlhMDU0YzdkNzYwMGE2YSBweTNrCis2MjgwOCA1ZmJkOTdmMWJjMzVlM2M5NmUzYWZiMGM1MmFiZjRkZGQ1Y2JhMTNhIHB5M2sKKzYyODA5IDM4Yjk0YzA5N2E1NTI2ZjVhYmFjMDE0Zjc0YjVmOTBmYWRmYzdlMTQgcHkzaworNjI4MTAgZDdlMjAyOWIzY2E0YmYxMTMwY2EzOTFiNDZkYWViOGQ4NzI2MTYxZCBweTNrCis2MjgxMSBiNjM1NDYyYTU3OThmMDNlNTUyZjFjYzEwMTU2YWE1M2UwM2EwNDJlIGxlZ2FjeS10cnVuaworNjI4MTIgODE1NDY0OWM1NTE2NjIwMWUwOWQwYjcwNGI0Y2FkMmU3ZTM5NTE3NSBweTNrCis2MjgxNSBhOWFjZjE4YThlNTc1MTFjN2JlYTg4NjRjYTM5ZTE4N2NjMDM1MDkzIHRsZWUtYXN0LW9wdGltaXplCis2MjgxNiA0MzA3ZWVkMWY3M2JlOWM0YjdmYjljNWQ3ZGUzMjk1Mzg3NTgwMzhmIHRsZWUtYXN0LW9wdGltaXplCis2MjgxOCBiOWEzYWJmNTlhNDU0NmYwMDJkNjZlNDE4MjgwMTEzYzU2OTc5MGUwIHRsZWUtYXN0LW9wdGltaXplCis2MjgxOSBhNjRmNDBiNjIxNjk2MzBjNjdmYWY0Y2JjYWJmNjQ3ZTFjNjkzYjA4IHRsZWUtYXN0LW9wdGltaXplCis2MjgyMCBiYjk1NmY0ZTMyNmVjNDYxNTVmMThmNWNlYjIwNjVkMzAyNmZhNjAyIHRsZWUtYXN0LW9wdGltaXplCis2MjgyMSBjNTM4MTUyNjYzNjBmMDVmZjVhMWVhMDY1NWM1M2JiODFkYmFiNGI2IHRsZWUtYXN0LW9wdGltaXplCis2MjgyMiA0YjAzOWVkZmVlNmJlZTQ5MjY4MWU3ZDg1MmY1MDM4YzIyZDU3ZTdkIHRsZWUtYXN0LW9wdGltaXplCis2MjgyMyA5NzQ3ZDExMzcwODNjYTUzYjc1NmFmZDBhMjEwYzY2OTY5Y2RiZDVjIHRsZWUtYXN0LW9wdGltaXplCis2MjgyNSA2N2JhOTNhZDAwZmRmMWI5MTM1NGRiYTExODMyYjM2YzRiZjY5ZjE3IHRsZWUtYXN0LW9wdGltaXplCis2MjgyNiAyYzQ1NThkZmY1M2Q5MDY0YTc3YTEyYjcyMDAyODhmYjJmNmFmODljIHRsZWUtYXN0LW9wdGltaXplCis2MjgyNyA0MWU4ZTcyYWE5ZWRiMWIwYjk2ZDA5YjgxNmRkMzI3ZmEwMjlmZjQxIHRsZWUtYXN0LW9wdGltaXplCis2Mjg0MSBlZjQ3ZGYyNTQyM2M3NmFhY2E0NDI1NGRhYjA5YjZiYjdjOWFlNWU0IGxlZ2FjeS10cnVuaworNjI4NDIgOTU3MGJjMTI4MzE0NDRhM2I4MzM1NGY3ZThkNzc4NWNiYzBhMWZlMCBsZWdhY3ktdHJ1bmsKKzYyODQzIGFkNzc1MWE5NTgwOThkNzEzZDZlZTgyY2ZjMTQwODZhMTgxMmYzMDIgcHkzaworNjI4NDQgODMxYTMwY2QyM2EyODIwNTJkOWIxMTJlOTcyODA4NTVlOTU3OTUxMSBweTNrCis2Mjg0NSBlMzQ1OWFkMDEzNjg2Y2JlY2U3MzY2MWViZjQ4YzY0YjViZDAzN2EzIHB5M2sKKzYyODQ2IDZlYzU2MDhiNjYzYzJjZjI4MDMwYTRiNzBjYzQwMmRmMzEzMDI4MTIgcHkzaworNjI4NDcgYWNkNjgyNzdjNGRkMDEyN2E3OTgyMTAzNTg0MDNkZmY1YmJkNTU1ZSBweTNrCis2Mjg0OCAyZWYxYzM4MTEzOGQ1NzNjZmQ5NGJmZWU5NGE1ZjZiMTFlZWY3Mjc3IGxlZ2FjeS10cnVuaworNjI4NDkgMGU3NmE4ZjM0NzY5NWEzNzUwZmI2ODExZDU1ZDZkYmJkNzc4Y2JkNiBsZWdhY3ktdHJ1bmsKKzYyODUzIGIxMjRlMzE2MTRlZDk2OTMzNmY3NWUxZTI3NmFhNTkzNjA3OTBmYjkgbGVnYWN5LXRydW5rCis2Mjg1NCBjNTYyNDAyYzFjMDgyOTkyNjliZWYzNjg3NTZjODIxYjhiMWNiYTFmIGxlZ2FjeS10cnVuaworNjI4NTUgYzY3YzA5NTU0ZDIzMDIwNDNmYjM3ODA5MWNkMDMyNTNjMzNiN2U5MyByZWxlYXNlMjUtbWFpbnQKKzYyODU2IGUzNTkzNTQ3NTE1MzM3N2Q2NzI3ZDY0ZTZjNTJmNzJjM2I4NDAxNWIgcHkzaworNjI4NTcgODE0ODA2OTI2M2FhMWYwMjEwY2RkMGQ1OGYxNTkzZmJhZDRlNmVmNiBweTNrCis2Mjg1OSBhZWQwNDIzOWEzZmMyNTg1MjA1MmRjNDZmMzkxNmQ2MDViZmUzNjUxIHB5M2sKKzYyODYwIGNlZjVhYTNlZDcxMzM1NDkwNDcyODY2MTg3YjYzOWZiNWE2NjdmYTggcHkzaworNjI4NjEgNDhlOWZiMGE3MjE3OTk4NzdmMjZlZGFlZjAxYWM2ZTYwMjliNjgxMiBsZWdhY3ktdHJ1bmsKKzYyODYyIDZiNzk3MGFhMGRkYTMyN2YyNWE4MzE1MTk1MWQ4YTdiOTY2ZWFiY2MgbGVnYWN5LXRydW5rCis2Mjg2MyA5ZjQ1OTc5NTU4YTliY2Q4MjE5NmYyMmM3MDA5ZDE1ZWVjYzM0NDRlIHB5M2sKKzYyODY0IGQ5ZDRjZWY0MjFhMmRjNDRhYzQyYWI4ZGM4YjFmYTA4YjRmM2RlMDUgcHkzaworNjI4NjUgZDQ0MzBlOTAyMWMyMjNlOGZlNTA2MDI5MjZiN2MyMWI1OWNmZGE5ZCBsZWdhY3ktdHJ1bmsKKzYyODY2IDcyYmUxMzkwYWU1ZjQ3YmY3ODliNGE3M2QxNWZhZWQzNzE4NGVmZGEgcHkzaworNjI4NjYgZTY5Zjg0ZWU0ZjNhNTUwMjJlMmYyNTJlY2UyYmFkOTQwN2QyMTU1ZiBweTNrCis2Mjg3MSA5ODFjYWYyNGRkOGE2YWFkOGMzOTI5ZmYwYWRhZmZiM2RiOTVkYjA0IHB5M2sKKzYyODcyIDE2ZGRkZmUwYThjZGM0NjYyM2UzYzdkMDU5Nzk2NDEyMWYxMGU2NTMgcHkzaworNjI4NzMgYzhiNDlkOGMzOTY3ZTdhZWRhNGFlNzk4MDMwNjE2M2FiZTE5NGUwMiBsZWdhY3ktdHJ1bmsKKzYyODc0IGYyZDc3MWYzNzBiZDhlMGJhMzU4OWZhMTZlMWRjZTJhNGJiOTZlNTcgcHkzaworNjI4NzYgY2E0MTAyNDE0YTM0NWNlZWM4MDliZmE2YjUyOTBlZDYzYjY4M2QyOCBweTNrCis2Mjg3NyAxMTQwN2MxZjY4Y2E0ODRjMjhiMWQ5NDY5MWRiNTg4NTdhZjNhMWZhIHB5M2sKKzYyODc4IGVhYWM1NjE5YTIxZmZjMDU0OWNkZjNlMzJiMjY3ZjNiMzdiODFkMWQgcHkzaworNjI4NzkgMjAyOGZhMmZjMWRkZmNjOTRhZTJlMTNmMWNmYWM2NzMyM2Q2Y2E3YyBsZWdhY3ktdHJ1bmsKKzYyODgwIGU5NWRkMjVkZmIwY2JlMDgwNWVlOTM4MzJhNjUwZTBmMzU1MGQ2MzAgcHkzaworNjI4ODMgNWM1YjM2M2QyZjE5YTgxYTllYWM1ZjM4MDE1MDQ2YmY5OTA4Y2JhOCBweTNrCis2Mjg4NCA5ZmJjMmRhNTRlMjkzZGU5MTMxYzUwY2M1NDE4ZWExMjZhYjQ3ZDM5IGxlZ2FjeS10cnVuaworNjI4ODUgMDQ3ZGEzZjZmZDdmZDk0YTJlYWQ3NzE1MDY0NGI4ZmY4OWEyNmMyYyBweTNrCis2Mjg4NyBjYWM2YTFhMzM0ZTA0Y2IwNmM4NzdjOWJlNTZkNDViODY5OGU2MzA3IGxlZ2FjeS10cnVuaworNjI4ODggYjcxMDlhMGNkMGY5ZjU3YTUxZmY1YjQ5MjVkMGNkNGEzYzA1Y2U3YiBsZWdhY3ktdHJ1bmsKKzYyODg5IGE3NjcwYWZiNWMwOTJkOTk2MTMzMjE0ODk0MTYwYTdlOTNhOTcxODYgcHkzaworNjI4OTIgNmFkYTE1ZDc5OTBmNzI2ODk5NzdmNDNhNDljMTQ4NzUyMzFlMDA2ZSBsZWdhY3ktdHJ1bmsKKzYyODkzIGI1YTY3NzI3OGI1ZmE4NTg0NjdjMGFlZGYwMjc0Mzc5NWFhZjBlNzkgbGVnYWN5LXRydW5rCis2Mjg5NCBiOGU3YTE2MTYxMWMxNGYzMmRiYmJkODM3NTM3Y2QzYzBlNDk2ZjdjIGxlZ2FjeS10cnVuaworNjI4OTUgMWZiMjQ2Y2IyOWFlNDExZWU4ZmNhODJmNWQxODEwZDVlNTY2NzAyNiBsZWdhY3ktdHJ1bmsKKzYyODk2IGRmYjBiYjVmYWE2YmM5ZjYzNGIwNDEyMzc1ZGJmYmI5OGFhMzc2MTQgbGVnYWN5LXRydW5rCis2Mjg5NyA2YmU2NDcxOWE1MDlhY2NiZjQwYzVmZDczYmQ5MTE4ODM1YzNhM2ExIHB5M2sKKzYyODk4IDJhMTczYThiM2IxM2Y4YWUxNDViN2FkNDg4ODE5ZDcyN2JlNTYzZjUgcHkzaworNjI5MDAgZmIxOTg0ZmIxODJkM2I5NjExMGUyYzE3MWYwNmVhMTFiODRlODcxOSBsZWdhY3ktdHJ1bmsKKzYyOTAxIDIyNGNhZDgyMzU5MDVmMDFkMThmYTU1ZmU2NGIzMzhjNjQwYjliMjIgcHkzaworNjI5MDMgNWU0YmQ4MjQ5ODQ2MjRlYjI5OWViYmZmZDIyZmFkZWU4NmYyYzhhYiBweTNrCis2MjkwNCBkYzU3M2VlMGQ5MDQxN2I3OWUyNmU1ODFjYWEwMzJjYTk5MWYzYWQ2IGxlZ2FjeS10cnVuaworNjI5MDUgYTEzMGNmNDhhZDY3Y2FlZjFiMTEzMzk0ZWU5MDgzNmM4MTA1MjQzMyBweTNrCis2MjkwNiA1ZDE1YThiY2M0NDU2NjI1N2E3M2FjNTNiZTFmZTdlZDU1MjRmMjdlIHB5M2sKKzYyOTA5IDhiZmUyYjA2NTI3ZGFkMDM0ZDM4ODJiZGRhMjhjZTU5Mjg1ZjcxMWQgcHkzaworNjI5MTIgYjkzMDA1NzEyZTM5OWZmMGMyZWVkYWZjYTNlYjcyM2M1MmRiMjQyYSBsZWdhY3ktdHJ1bmsKKzYyOTEzIDViNmVhNGRiYTQ0YzljY2ZlMWViY2IwODRjMDVmOGIxZGYzZDIwN2IgcHkzaworNjI5MTQgNGQwMDdhMzFiNDY0NTNkNzNjYjc1ZDQxM2MzYzQwNzQ5MmMzNTZlOCBsZWdhY3ktdHJ1bmsKKzYyOTE1IDM3Njc1ZjBjMzM4YTY2MDVmMWU1OTkzMDkzNGNjNjIxYTcyMTQ0ZjQgbGVnYWN5LXRydW5rCis2MjkxNyA4MTZjMjFjNzYyYzg1M2Y5NjYwOWRmNzgyZTFiMjNjYjQ4NDMwMWM0IGxlZ2FjeS10cnVuaworNjI5MTggZWJjOWY2NmZlOTkwMjkyODYzNDlhMzQ4YjRjNjkxZTljZjY0NDBlYyBweTNrCis2MjkyMCA5NDZmYmFlNGJhYWI1NjZiNDk1ZWVjOGJmOThlMzgxYjYzNTc5M2FkIGxlZ2FjeS10cnVuaworNjI5MjEgNGJkOTg5N2RjZTA3Y2ZhMTFiOGI0NWNjZjU2ZjQ1ZmUyODQ3YTY1OCBweTNrCis2MjkyMyBhODliZTI1MDcyZTNkZTdmM2U4MWQ1MzM2M2RiMjdhZGYxZDI0MmFjIGxlZ2FjeS10cnVuaworNjI5MjQgNWZiOGE1MDRmYTk2ZjExMTViNzVkZDU4MzFmNGJlMTNmOGYwMTE5YiBweTNrCis2MjkyNyAxNWM3MjIwMjg2MTU1YzFiN2I3OWJiNzM0MGY4ZDY0ZWQ0YmM3ZjNjIGxlZ2FjeS10cnVuaworNjI5MjggNTRlNjIyZWYzNTAwZTI3ZmI3ZDljOWZjZGFkNzk1YWJhMTM4ZTJjZiBsZWdhY3ktdHJ1bmsKKzYyOTI5IDg0YWYwY2ZhN2I4MWQ5NDM0ZTc0YWFiOWZjMjI3OTU5MzlhODIwZmEgbGVnYWN5LXRydW5rCis2MjkzMCBjZDZjNmRlYjdmODRlNGVjNDQzMzEyY2Y3Mzc5OGRkNDhmOGUxNDQwIGxlZ2FjeS10cnVuaworNjI5MzEgYzI0NDM4ZTlhYjU0ZmJhMzZlYTIwZWNkNTFjMTUzZTBkMGRlMGZjYSBsZWdhY3ktdHJ1bmsKKzYyOTMyIGNjYzMzN2I0NWIyZTMxYTAwY2Y0MDEzZTk4YzY0NTg3YTI3YzFlZmUgbGVnYWN5LXRydW5rCis2MjkzMyBlZmI5NzlhNDk0N2QwMDM4YzlkZjBjZjNiMGFhMDg1NzgzM2FiZTI1IGxlZ2FjeS10cnVuaworNjI5MzQgZjNmNmE4OTVhNTU1ZGYzNjk1Y2M5ZWRmZmRmY2VmY2VlYjAwMGUyMCBsZWdhY3ktdHJ1bmsKKzYyOTM4IDM5NTVjNTAyY2ZhMzcyMmZhMDk5NDIxN2Y1MjI4NDQwZDVmMTZlZTUgcHkzaworNjI5MzkgMTdjZDYxMmIwNmRhMWY4NGYyYzEzNjVlMTAwNmQ4YmVjMDg5MzRlNyBweTNrCis2Mjk0MCA4YjY3Njg1YThiYzNlZTY3OTIzYTFiNzg4MWEwMzdjN2YxZTgxYWQ1IHB5M2sKKzYyOTQzIDhiYWViYTEzYWU5M2Q0M2YwZTYzNjkyNmJlMjkyZDY5MWU5ZTVlZjEgbGVnYWN5LXRydW5rCis2Mjk0NCA1MWJhYmU3M2MwY2EzNWY2YTM0OGNmMTIwYjA0MDZkNWFlY2E4ZmE3IHB5M2sKKzYyOTQ1IGE0NDQ5ODVhNjc1YWU0ZWFlNDYwZDI5NzZiYjY5OTgyZjk3ZWIyMGMgcHkzaworNjI5NDYgYjQzMjUwNmVmY2U3ZmQ5NmVlOGFmNjgzMTQ2ZDhmYWExYjIyYjY4OCBsZWdhY3ktdHJ1bmsKKzYyOTQ3IGUwY2E3NGIzNjRlNDliNTU2MThhODIzZDJiZDllZWI0MTU2NGQ5MTEgcHkzaworNjI5NDggZmQwYjg5NGJjOTBjNTJhNDRmNTZlZjI2ODcwNzY0N2U1OWY0ZDFlZCBsZWdhY3ktdHJ1bmsKKzYyOTQ5IGJkMjk1NGM0OTE2OThjMTQyYmFmNTM2YWQzZDFhYzk5MTQ0Mzg1Y2YgbGVnYWN5LXRydW5rCis2Mjk1MiA0NDk1NGQ2NWE3M2E0NWRkNTI1YTMxYjRkZWM1YWM0NDk2YzFjZGE1IHB5M2sKKzYyOTUzIDg3ZDg1NGJjMWU0NWU3MWYwOTc0YTg2ODJkMTA5ZTljMDA2MmEzYjYgcHkzaworNjI5NTQgZGVjNTMxYzBhY2Y5YjYyZjlmODUzNDk2MDkxOWM0N2VkYjczZjk3NSBsZWdhY3ktdHJ1bmsKKzYyOTU2IDM3YjI3YTI1YTg0NzA0YThhYjA4MmE1ZDRmOGU5MDdiZDFjNDA2MTEgcHkzaworNjI5NTcgODAyNTE5ZjA0NzU0NWQ0MDExMjk3MjFkNzQwM2UzNmJmNzNkM2Q0MSBsZWdhY3ktdHJ1bmsKKzYyOTU4IGZlOWI5N2RiZDIzMmQyY2RhZGY4NzlhYjdmNjZjYWZhM2E1MjI0MzMgbGVnYWN5LXRydW5rCis2Mjk2MCA0YzVlZTFiMzgwNDUwMTdlODY1N2IzM2ZhZDVlYTFjZjY1MzNhNTY0IGxlZ2FjeS10cnVuaworNjI5NjEgOTFmZmQ5ZjNjY2VjOTAxMjA2ZGEyNzllYjFmYWE0MGJkZDU0MGZmNCBweTNrCis2Mjk2MiBjNTZlODNkMDhkMGIwNTgzNTM0YWI5NDBlYTAwMmFiN2U5YTk1YjE5IGxlZ2FjeS10cnVuaworNjI5NjMgMDdhMzVjOWE1ZDNmYjhjZmRjZjQ4ZWYxYjZhMzE3OWQwYjljMzg1MSBsZWdhY3ktdHJ1bmsKKzYyOTY0IDQ5OTg3NWNiNmJhMmM0MGQyNjA0MmZiZDA0YzZkOTViMzEzZTU5N2MgcHkzaworNjI5NjcgNDM5MjY5NDg1NTY5OTA5NzE0NzA3NmZiN2Y3YTdmOThjN2Y4N2YzNCBsZWdhY3ktdHJ1bmsKKzYyOTY4IDU2NzljZTY2ZTc0Yjg4MzhkNWRiNzdmN2M5MmFiYWVjOGQ2NGEwMTcgbGVnYWN5LXRydW5rCis2Mjk3MCA4ZGU1MWRhYTUwNmZkODU0OTZmZmE5MjBmY2IxZGM1MDEwNjQyNzVkIHB5M2sKKzYyOTcxIGFhOTI1MGU2YzQwOTM0ZTA1ODA1YzE4ZjJmYzYwMmQzMjllZGYyM2MgbGVnYWN5LXRydW5rCis2Mjk3MiA3NmVjNjc1ZTIwYjhjYmZkMTUzNmY5YTlkYTNlNjNkZTYwM2U1N2E2IHB5M2sKKzYyOTc0IDIzZWMzM2Y2NjczNjBlNGExNTA5ZTAxYTA4MGE5MTBjNDI4MDBlZTQgbGVnYWN5LXRydW5rCis2Mjk3NSA4ODRmODQyNmNjY2Y3ODkxMGNiOTNiZGMwNTg5MGEwZGZjYzAzMmMwIGxlZ2FjeS10cnVuaworNjI5NzYgZDBmNGMyNDY2OGYyMzdkYTY2M2MyZjQ1OGEyNTg1ZGQyMDI0YzAyZCBsZWdhY3ktdHJ1bmsKKzYyOTc3IGJlOGM0M2EzZmQ2MmZmNjI5NzQ3N2E2YTI2NWZjZDRmNDVkYzYyYmYgbGVnYWN5LXRydW5rCis2Mjk3OCAzODkzOGI3MTQwMTgyNDA2ODI0ODdiYzBmNDA2ZWNlZGQ3MjdlZmE2IHB5M2sKKzYyOTc5IGUzZDRkZTkzNTBmYjRkZGFkZjg5YjZmZjVkZGJiZDc3ZDBmOWJhYTEgcHkzaworNjI5ODIgMmVjZmM3MDEzZWI1YzMzNmNkMTBiMjM5Y2ViYmE3YmJmZjU4NDU5NSBsZWdhY3ktdHJ1bmsKKzYyOTgzIGExZjQ1OGIwMTQ5ZjA5MDIzYTdhNzBmNmU0NDY0YTIyYjdjZjhiMTMgbGVnYWN5LXRydW5rCis2Mjk4NCBhZDdkMzE5YWRmNzY3YWM2YTU3NzUwYTUzMTZiMzBkZjdjYTkxNWE1IHB5M2sKKzYyOTg1IDQxYTk3NjQ5ZGU2MTc1N2E1YTcwNjk4MTBjZDI4NDQ0NDc1YTQ0YjIgbGVnYWN5LXRydW5rCis2Mjk4NiAxMzJmODJkMjQwMjhlZDdmNzg2NWU3NzA3NjlhNWFjNDE1NWU0MDQxIGxlZ2FjeS10cnVuaworNjI5ODcgNDUxNjc0Zjg2ZDc1NDRlYTIzNTBmMDY0NjU2YzczYzk4ZDgzYzliNiBweTNrCis2Mjk4OCA3NjU0ZWI1ZDBhNjcwMWQyM2I0MjIxOTJhYTU3OTAwOTI1MDUyY2Q2IHB5M2sKKzYyOTkyIGJjOGIyMjY2MTFkZDQzZmJiYjhjMzMyODIyYTJmYzRmZWE1OGRlNDUgbGVnYWN5LXRydW5rCis2Mjk5MyBiMzhlZDdjMWNhYjFjMTllNzJkYzM2MDdkYTc5YTJhYWEyMmUxMGMwIGxlZ2FjeS10cnVuaworNjI5OTQgMmQxZWY5NDg3YzMxNTM4MzJlOTcwODc0YjE5ZDg4NmU4NjA4MTg5YyBsZWdhY3ktdHJ1bmsKKzYyOTk1IGJlM2M5Zjg4NjZlN2I3MmM5M2E5YTQzMDEzYjM0YzdmMGRmYjdmMTUgbGVnYWN5LXRydW5rCis2Mjk5NiBhYWM3YTIyYmVmODQ1ZTJhNWQzMzQ4Y2QyNTAzYTk2NTIxZDVmZTFhIGxlZ2FjeS10cnVuaworNjI5OTggMjcwZjU0ZTgyZDIwODFiMDBhYmNkYjE1MjBkNWJiZTM1YjlmY2IwZiBsZWdhY3ktdHJ1bmsKKzYzMDAwIDc2M2Q3MmQwMDAyNTdhMjg1NzRhY2Q2ZGViOTQzYjc3OTgzNzJhZjYgbGVnYWN5LXRydW5rCis2MzAwMSAzNDE4ZjJlYmNlODcyMzJmMzBjNjZlYjA5YjgyYjAwZTNkZDhmMzU5IHB5M2sKKzYzMDAyIDZiNGJmZjI4YzdiYTJiNWJlYTg0NTBjNDhmNTM3NjQ2NmFhZmFlYjUgbGVnYWN5LXRydW5rCis2MzAwMyA4N2RlNzU4ZGJkNjQ2NTViNmI3OTYyNjkwZGNmZjJjMzkyYmFjNWE2IHB5M2sKKzYzMDA0IDMzZDRlMDNiMjNiYWRlODE1MDU5YzU4M2ViMzJkMzk5Mzc3ZmJjZjIgbGVnYWN5LXRydW5rCis2MzAwNSAxMWEwYjIyMWYzNzI2NDMwNzQ3ZDgzMTEyNzQ2OTY0ZDJmMDBlNjE1IHB5M2sKKzYzMDA3IGI2YjJjZWE1ZDMwNmY3Yjk3MTRhZTkzMDI4N2EyNDI0YmNhY2ZmYWEgbGVnYWN5LXRydW5rCis2MzAwOCA0MjhiNjZjMDRkM2E5MTFiMjM5NDg4ZjMzNTNkZjhhYTFlNzBkNDNlIGxlZ2FjeS10cnVuaworNjMwMDkgNjBiMThiMzlhM2EyZTgzOWY2ZDVmMmVmMzJlN2E2MWJhNjRjYzAyZSBweTNrCis2MzAxMSAyZDA0ZTU2MDEyZWRjNmZkZDg3NmQ4YTAxYmNlMDI0MGU4ZDA3YWU1IHB5M2sKKzYzMDEyIDZlZGFhYTc3YWYyNzY4NmUyODM3M2I2YzFkMjRlNTc4ZmU5M2ViYTEgcHkzaworNjMwMTMgMGMwMmUxNWE3YzFmY2QyMDU0YWEwNGRkN2RhNTdmZTNkZTE2YjQzMyBsZWdhY3ktdHJ1bmsKKzYzMDE0IDJjYTdhMjc5ODE2MWM0MGM2YTgwMTE0MTFmOGMzZjdhNjc2YzMyYTQgbGVnYWN5LXRydW5rCis2MzAxNSBiZTFlZDYyZDhiODBjN2QwNzA4ZDhmN2NhNDliMGNjYmFhZWM5YmRjIHB5M2sKKzYzMDE3IGM3ZDUzMGU4YjdmNTNiY2QzZWMxM2NiYjA0NTU0NGIyYmMyNDZlOGEgcHkzaworNjMwMTggZjJhNjNlYzUwNTVlNmMyNDdlODAwZTQxY2E1ZjFiYzdiZjc5Y2E2YSBsZWdhY3ktdHJ1bmsKKzYzMDE5IDkxZmFhZTQ5Y2JlYmFhNWM4Mjk5ZDM3M2MwMGQzYTc0ZmZjOTIzODQgcHkzaworNjMwMjEgMWU0MjdiYzBmODE4OTRmYzUxYmQwMDgwZGJhZjNhMTg2NGI3MTFlZCBsZWdhY3ktdHJ1bmsKKzYzMDIyIGMwYzU3YmU5OGVlZDZjNDRhMzQxM2IwYzdjMTBjZmRkM2U4MzlkMzYgcHkzaworNjMwMjUgYzE1Y2YwMTQxNWY5MjU2NWVhNGFiNjk2NmVlM2MxZjYyYzBhMGEwMSBsZWdhY3ktdHJ1bmsKKzYzMDI2IGQ4ZTAwMGVjNzc5NmJmYzYxZTYxNTE5N2QzZjBmOTczOWYyOGY2NjggcHkzaworNjMwMjcgODkyZjliMjk1OWM5ZDE2NTYxYzVlODAwMTRkNDAzN2VkY2M2NmE4OSBsZWdhY3ktdHJ1bmsKKzYzMDI4IDM4NDk2OGQ0ZDY1NTg2ZTBlYzI3YWNmYmFiYzRkMjI4MzE5ZjUyYmUgbGVnYWN5LXRydW5rCis2MzAyOSBhYWFlNDg5YjlkODFjMWI0ODQyYzQxNDNlYTUyNmE3Njk5ZTFmMzE4IHB5M2sKKzYzMDMwIDJjYWMzMWZjMTdjMjFmYWFlZjM5ZmE0YjExM2UyMDNlMTRiYmJkODAgbGVnYWN5LXRydW5rCis2MzAzMSBkMjM0NTExOWEyZGFiZGIxOWYwNTZiZDFhN2I4NzE0OTEwMzQzZTEyIHB5M2sKKzYzMDM3IGZiMTRmZjA1N2MwOTY3NjZmZGQ2NmRkZTU1ODY5ZGQ3MWM0MjlhYTYgbGVnYWN5LXRydW5rCis2MzAzOCAxNmYxNmZjZTUzMDI1ZjYyYzE4NmJmODBmOTdiOWUwMjNiOWQ1ZTU1IGxlZ2FjeS10cnVuaworNjMwMzkgZjYzODhkYzAxOWNjODJmNmNiYzg1MWM0ZjU4ODA1YzVjNDhmMzM2MSBsZWdhY3ktdHJ1bmsKKzYzMDQwIDIyNGUwN2I2NTg2MWMyNTZiZWMwZjA4M2YzMWNkMGFiZTlhYTdlMGEgbGVnYWN5LXRydW5rCis2MzA0MSA5YzE4YmFhNzYwYWQwZDBkZDkxOGVjYTc0YmU0ZjgzYmVmOTJlZjIzIGxlZ2FjeS10cnVuaworNjMwNDIgYjQwODI3ZWI0YjgwYjc2ZWMzYTA4MWQ1Mjk1ZjQ0Y2U1YzAwMWQ1YyBsZWdhY3ktdHJ1bmsKKzYzMDQzIGZkZWY3MTc5N2U4MzIzMWJjYzIzOTQ5Y2FiZWQ3NTI3NDgwM2NkNTUgbGVnYWN5LXRydW5rCis2MzA0NCBkZDU1MTNiNDcyZGM5N2Y5MDlhNmRhMzI1YWQ5OGZiYjU1ZDFmZTBiIHB5M2sKKzYzMDQ1IDUyNTY2YjQ0NWZjNzU1NzAzMDE1YzlhYzg1NmQyNjQyNzYzMzJlNTcgcHkzaworNjMwNDYgZTVhZWIzZGYxNzRlNDk3ZWY1Y2YzNTQ4M2UyZjlhYzMxMWM0Mzk1MyBsZWdhY3ktdHJ1bmsKKzYzMDQ5IGQ4ODUwNzU4ODc5MDQ4OWU1Yjc5ZGZiYmJhMGIwZDRlODgyNWNhYTMgbGVnYWN5LXRydW5rCis2MzA1MCA4Nzc3ODMzMzNlYWVkZmU1MWEzMDFmM2ZmNmJmZmE1NDhlMGM3NjRiIGxlZ2FjeS10cnVuaworNjMwNTEgNmJkNjY2MDc1ZTE0YzhkN2U2OGI5OTQ3ZDBlMzNiMGJkYThhOWYzZiBsZWdhY3ktdHJ1bmsKKzYzMDUyIDVkYmJjNDQ5ZjAyYmUyMjVmOTA2OGYwZDA5NTEyNTg1OWM2MzkwOGEgbGVnYWN5LXRydW5rCis2MzA1MyBjN2QxYTE3MGM5NGMzNWNkMDE2NWRlNjVmYzgwNGFkZmUyNWZkMDEyIGxlZ2FjeS10cnVuaworNjMwNTQgYzIxMzZjMTRkY2Q3OTQwOWQ4ZTEwMmZkOGMzOWI1N2Q2YWFkYWQ3ZCBweTNrCis2MzA1NSBmNGU2MWRjZGI2Zjg1YTRkNzM1OTc5YWNiMThjM2QzNWZjNWI1YjkyIGxlZ2FjeS10cnVuaworNjMwNTYgYjI5YjQ2YTQzOWQ5ZjBjOGU1NWJlNDAzYjkyMTA2YjgwZjY2NGQxNyBweTNrCis2MzA1NyA5Yzc2NWY0ZWQ1MTIzNDUwMmY0NjFhMmIxZTVhZGYxZjNkYzFiZTIwIGxlZ2FjeS10cnVuaworNjMwNTggYWZhZWVkYWRiZGIzNmIzOGMxY2E2NWE3NWIzNzliNGZiYTA3ZWJlMyBsZWdhY3ktdHJ1bmsKKzYzMDU5IDRmYjZjMGMxNjlmZjBiNWNjMjQyMzk4ZTc2NjJhMDI1N2JhYjQwNGMgbGVnYWN5LXRydW5rCis2MzA2MCAwZGY2MTYxOTNiOTg4MDZiNDU5ZGQ5YzZkOTdjODlhMTFiODFhMGM2IGxlZ2FjeS10cnVuaworNjMwNjEgYTczZTg3ZjE1ZmZhNzQ5ZWUyODdhNzkwMzJmNDI1NjU4MDQzNjcwYSBsZWdhY3ktdHJ1bmsKKzYzMDYyIDA4MWYyYTY2MjYzNDY1YjU5NTdkYTIyNzEyYWRiMTQyOWE1MGI2MzQgbGVnYWN5LXRydW5rCis2MzA2MyA3Zjc3ZGI5NTBjYjQ0ZWZkNzZhN2RhZWRkNDVjZmU2Yzc2MDBkNzI2IHB5M2sKKzYzMDY0IDgxOGNhZWJlMzczMzExZTE5NDgxYzgxODg3NWFjNTU0ZTg0NTg3ZTIgcHkzaworNjMwNjUgMDc1NzJhODI1NDBmZGRlNzE3MGQzM2Y3OWMxNmQzZTU1OThhYTQwYyBweTNrCis2MzA2NiBiZTg3Yjc3MjY4NjYwYjVkODU4YzVlNjExZjBhYmNjNjA4NTFlMDA3IGxlZ2FjeS10cnVuaworNjMwNjcgZGVkY2U3Y2I3YTVkZmY3Y2EyMjBlYjUwZDY2MWY1NGQ0MjYzMGRlNyBsZWdhY3ktdHJ1bmsKKzYzMDY4IDFmZGZiMjlmNGZiODM2MDljZjZkYzkyYjA0MGRjZjZlOGM0ZmVhOWYgbGVnYWN5LXRydW5rCis2MzA2OSA1Y2NkMTY1ZjMwYTQ1MTIzMjliYWUxNjJmNDgzYzE4YTZkMWNjYzNhIGxlZ2FjeS10cnVuaworNjMwNzAgYjE3YjI5ZTYwZTliYmQ4ZGJlNTA4MjhhYzgyOGE4MjU1MzMzYzBiNSBsZWdhY3ktdHJ1bmsKKzYzMDcxIDQ5ZmYxZmMwMGM2YzUzNGUxZjQxYWZjZWEyMmI2NDY2MjYyMzhkMWQgcmVsZWFzZTI1LW1haW50Cis2MzA3MiA2N2U0MzYzZWEyZTA2NzRlN2ZkNDYyM2U5ODg1YzgzMGE3NzI0OTVjIHB5M2sKKzYzMDczIGFiMTkwZjcxYjkxNzY5NTYwNTFhMThmZWM4NDllMGI5ZTZkN2RkY2YgbGVnYWN5LXRydW5rCis2MzA3NCBlMzQwMWYzMTZhM2I5NGI4NmRlNDVkMzE2ZmRhZTY0ODZiZjk4NGU1IHB5M2sKKzYzMDc2IDIxYWUyYjY1YmJiYjM2OTdlMTY4NWE0NTA5NTM0M2ZkZTNiNTc0NDcgbGVnYWN5LXRydW5rCis2MzA3NyA3NjY4MWE2MzA2YTgwNzBlMDE2NTIzY2NkMTM3M2FlZDA4ODkwODJhIGxlZ2FjeS10cnVuaworNjMwNzggMjA2NzAwZDc0OWYwZjMyMzlkMDNlMmFjMzg2NjE3ZjQ3YzdkNDJmMyBsZWdhY3ktdHJ1bmsKKzYzMDc5IGJkMmM5NWMxNjVlYTRjMGQzZGVlZGUzMjI1MGE5M2JjMDJmNWM3ZWQgcHkzaworNjMwODAgYTk0OTVhM2ZlMmUwYjc4M2RhZDUxYWUwYTBmZjBkZTg3ZDQyNTc4NSBsZWdhY3ktdHJ1bmsKKzYzMDgyIGUwM2Q4ZDNlNjc1NDRmNzdkNzM5MGVjYWNkOGMwMjYzODI5NDdjMDYgcHkzaworNjMwODMgYjcxZmNmZDk4NjZiYWVlYjBkZWRmOGMyODljNDhlOTM0MzAxYzBhYiBsZWdhY3ktdHJ1bmsKKzYzMDg0IGFiZTNmMzA1ZjZjOTYwMWRiMjk4MDg1MTg4OWNmYzgzMmE3Y2NlODEgcHkzaworNjMwODYgN2U0NjllM2NlYmRhNmUwOTgzNzEyOTIwZGZjYzU5NzFkZDdlODc4MCBsZWdhY3ktdHJ1bmsKKzYzMDg3IGI3MTBkNzE5YTA4MmFkNTk1NWE2NTg4MGFjZmI2ZmFlZTBlNWRjNDEgcHkzaworNjMwODggODExMzEwNDZkMWIwOTI5MGZjYmMwYzQ5NTVmMmIyOWJjZTQzOWIyYyBweTNrCis2MzA5MSA2YzE1ZGI2Y2U1ZGFmNjRiYzNjY2JmZTM3MWU4MTMyZTE4YjRlOTFmIHB5M2sKKzYzMDkyIGVkMmMxODg4ZTE0MzAxNDFmOWJlMzBlNGRmMzgwYmI4Nzg2YzhiODkgbGVnYWN5LXRydW5rCis2MzA5MyBlZjRlYzk2OGZkYjY2ODBlZjMzOGYwMzZjNjIyMTNiMzA3ZmQ5ZmJjIHB5M2sKKzYzMDk0IDc0MWIyNjY3YWMwYjcxNGY2YWZkYzExMjJiMzc5OTBjZDgwM2Q3MDYgbGVnYWN5LXRydW5rCis2MzA5NSBmM2QwZWMwYjczN2ViOWMyYmZhZTc5ODIyNTM2NGViN2FjOTEwYWE4IGxlZ2FjeS10cnVuaworNjMwOTYgY2NjNjYzYWE0YTc2NDRjN2UxYjVlMWExYzU0M2ExNTkxYWEyODUwNyBweTNrCis2MzA5NyA2YTE5YjliZWExOGU3YmQyZTE4ZjBiZWFmMDRmNWYyOGY4OTRkZTQ2IGxlZ2FjeS10cnVuaworNjMwOTggOGVhOGZiMTRkZjcxNTNkYzcxMWMwNjI3ZDllMGVlYWU3ZTcxMTZmYiBsZWdhY3ktdHJ1bmsKKzYzMDk5IGU5NDU3NDQ1NWQ5ZGQwNzczYThlZDlkOGQ1M2JiYzJmZWYzNjcyZGUgcHkzaworNjMxMDAgYzhiNzcwMDdhMWMxNDQzM2VjZmZlZDM4NmI5ZjlkMWYwYzE3MDc2YiBsZWdhY3ktdHJ1bmsKKzYzMTAyIDIyY2RiNmVjM2U1NjkyYTI1ZDI1YWZjOGI2MzEzMDFhMzAwZjg0MzMgcHkzaworNjMxMDQgYTQyNzdjMWM5OGE4NTQxMmY4OTFlMDYzM2QzMDFlOGVlNGE4M2FlMiBsZWdhY3ktdHJ1bmsKKzYzMTA1IGQ3YzIwN2I4MGM0MGFhMjZmNmEwMWE0YzE1ODk5MGM4MWU5NGYwMzMgbGVnYWN5LXRydW5rCis2MzEwNiA5MDY4NjA0NWZiYThkMTJmNWJiMGNkNzRmMGIyYWNmYWRjNmU3M2UzIHB5M2sKKzYzMTA4IGE5ZmY3Mjg5MDgyYjIwZmM5MmEwNzFkMWQwN2UwYWI2Y2FhM2MxYTEgbGVnYWN5LXRydW5rCis2MzEwOSAwZDQ5NTc1NDBjOTZlOWY5N2QxOGViMzNmZjQxNGIzOGI0M2FhYmIyIHB5M2sKKzYzMTE0IGMyYWI3YTA2ZWQyNGJlYWQ0ZWM2MzZlYzVhMjQ5NWQ0MzJjYTU4MDQgbGVnYWN5LXRydW5rCis2MzExNSA1MjZkOGNmN2E5MjA2ZTNmNjQ0MjJmMzFhYjNlNzczZjdmNDRmOWMxIHB5M2sKKzYzMTE5IDRjODM3NTU3NGFhOWU3NDYxMGE4OTYyOTg0NWQ4MWVjMzZjMTI5NWQgbGVnYWN5LXRydW5rCis2MzEyMiA2MjJhMjU5NjcyMjhkOWEwODFiNzgzYzgyYWNmNzE1NDcyOGZjOTJiIGxlZ2FjeS10cnVuaworNjMxMjQgZjBhMjg1ZmMyMDFkMDA1ZTUwM2I0NmQ4MDAxOTIzNmMzODI2YWMyMiBweTNrCis2MzEyOSBiZGUzOGE3YjIzMTgzOTkyZTgxMjg5YzNkY2JlNjRjZjBhZGIyNGE4IGxlZ2FjeS10cnVuaworNjMxMzIgYTM3NWIxMzQ2ZWIzN2UzMjQ2ZWVmNTk2YzhkMzgyMGY2MWEwNmJhOCBsZWdhY3ktdHJ1bmsKKzYzMTM0IGRhZmRlMmVlZTNkMGQ4YTEzZTk2OTJhMTU0NDEwYmJjOGI3Yzk1YjUgbGVnYWN5LXRydW5rCis2MzEzNiBjOWU1ZmFhNDgyZThiYWYxZGU5YmUyNWUwZWM2MjllN2ZhNmJmYzQxIHB5M2sKKzYzMTM3IGIzMDVhOTZhNGJlMmU0NGFhMTE2ZWRlMGQ0MWYzMTVlYmRlZThkZTcgcHkzaworNjMxNDAgYWNhNWMxZDFjNTY5NGEzZWMwNTZmMTAyM2IxYTU5OThhNzIxNzJjYiBweTNrCis2MzE0NCBhOWFhMzQyYTM2N2E5MjJkMjM5ZmNlYmI1NDk0OWJkYjRjMWMyODBkIHB5M2sKKzYzMTQ1IDJmMTQ1MThmMzAwYjhmYzMzYTllYzY2MThmNjY0M2Y0ZWJhZmIzMmUgbGVnYWN5LXRydW5rCis2MzE0OSA3OTkzMjFlN2U3YmI0MzI5MTc2YmEzNzFkNzFhYjFiNWU1MjFjOWQyIGxlZ2FjeS10cnVuaworNjMxNTAgYzFhNjhmNTQwZDViYzNiM2M1ODczZTdkMjBhODM2ZTUwMzc2NGZhNiBsZWdhY3ktdHJ1bmsKKzYzMTUyIDgzN2RlMjRhYzFmN2E1ZmJmNTc3ZGE4NGI3OTJlNGJhZjlmZWNhYmEgcHkzaworNjMxNTMgNGFjOWNjMWQ3Nzk4NGJjOWMzZWNlMzMxMGMwMDUxZDllMWQ5N2M1MSBsZWdhY3ktdHJ1bmsKKzYzMTU0IDY0ZDE5ZjI4NTFlMWJkZjIxMzMyMjBkNTE2NDQzYjUxOTA3N2I4M2YgbGVnYWN5LXRydW5rCis2MzE1NiAxMjgwYjhlYzlkYTM4NTFmNmJhYzlkMGMyOGExMmIyOTNjZTU2ZTI0IHB5M2sKKzYzMTU4IDVhN2NjZDY1ZTU5YjNkMmVhZjc5YzUzZDhjNTdmOWMxMTJmMDI3OGQgbGVnYWN5LXRydW5rCis2MzE1OSAwODljOGQwZGY3NzQ0NGQxNTk2NGU4MjhhNDIxNDg1MjVkZGUxNTgwIGxlZ2FjeS10cnVuaworNjMxNjEgYmEyM2ZjMTU3NjE4YjM5OTcwMzBhMTc2YjNjZTc0ZmNjYjg5MzU0NSBweTNrCis2MzE2MiAzOWY2ZjdmMTcyY2E4ZTU0N2MyODg3ZmJjNDRiMDZhZjZmYTRjZjhlIGxlZ2FjeS10cnVuaworNjMxNjMgZmQyM2U2ZDE3N2U5ZGE2ZDdiNTM0YTU1ODVjODYzM2JkZDhhMTJjNyBweTNrCis2MzE2NCAwN2E1M2JiODJiYWEwNWJkYjE3YzgzNjRiZmRjNTdiMGQ2ZGE4ZTQyIGxlZ2FjeS10cnVuaworNjMxNjUgZGYxMWFmZjA5MmNkODRlOTVhYThhYWY4NWY1NDVhYzI2ZmNmYzllYyBweTNrCis2MzE2NiA2YTc3OGMwYTUxN2U2MGViZDgzNzY2NDRjY2U5NDc2Y2Q5OWY0M2RkIGxlZ2FjeS10cnVuaworNjMxNjggYjNlYWMzYTdmZGMzYzc1MTg0OTU4ZjE1ZjU2ZDYwYTU5OWU1ZjY1ZCBweTNrCis2MzE2OSBlOTk3MzkwMzY2MDY5YTQ5NzRmOTU5ZGFlNTcyMmY4ZDY0MDE1YTRhIHB5M2sKKzYzMTcwIGQyODEwYjhhZWQ2ZDFmYzA3OTE2NzMwN2RkYmFlM2E2YzU0Y2NmMjYgbGVnYWN5LXRydW5rCis2MzE3MSBmZjliMjA1NzcyMmNiNTA2YTk0OGZhMDlhYjBiNmVkNGRlMzIwYjNiIHB5M2sKKzYzMTczIDkwOTE2MzdlMzJiMWUzYjdkMjgxMWE2ZDU3NDFmOGUzOGEzYzdhYzcgbGVnYWN5LXRydW5rCis2MzE3NCA5OWY1MGFmNjkyZDAyOGMxMDQxN2EwOTRhZDU2OGU4MzI5MzQ2NGQ5IGxlZ2FjeS10cnVuaworNjMxNzUgOTJkMDBmNWYzYzBkMDQwMTk1ZTdhOWIzODc5NDM5ZGUzNzAxN2QwNiBsZWdhY3ktdHJ1bmsKKzYzMTc2IDlkNDZjMjg5ZDE2NjA1MWFkYzY0NmRjMjc5ZDJmYTA5NTJhOGFlNWUgcHkzaworNjMxNzcgZTY0MDM5YmJmZTI2ODY3ZTk1ZDRjZGViZTdlYTExZWUyYmYzNmVhMSBsZWdhY3ktdHJ1bmsKKzYzMTc4IDFlNTczYzJjZDliZTYxYTE4MDM1OTQ4MjFmMWUwZDY5MjI5OGEwODggbGVnYWN5LXRydW5rCis2MzE3OSAyZWJlMjcyN2ZjOTJhZTQwN2M2NzQ4MzVmMDFjODg5MTYwOTUxNjVkIGxlZ2FjeS10cnVuaworNjMxODAgOGE0OWY4ZWY3Zjg5NDIzM2E4YTEwZWRlYTdjYjhiZTcwYTkyM2I0YSBsZWdhY3ktdHJ1bmsKKzYzMTgxIDg5NDE0NGIxNzNjOWY2MmUxNTBkMGQ5OTI1OWYzYmY2NjliNThhNTYgcHkzaworNjMxODIgMDNiMTIzM2JmNWZlMDBjODZmZGU5MWU1OWQxMWE1Yjg2MGQ2MzBjOCBweTNrCis2MzE4MyA4MjZhZmY5NWNmMGJkMWIyYjQ4Yzg0Mjg1NDhmZjA5M2UxMTdmOTNiIHB5M2sKKzYzMTg0IDY1Yjc1Zjc4MzhmM2I3MzBlYzU3Y2EzYjgyOTgxZDkyNTY2MjkwZTkgcHkzaworNjMxODYgNTFhZmQ1NjZkYjJiZDQyNjNhNDg4N2IxYTlkN2IxMGM4ZjE2NDc1ZSBsZWdhY3ktdHJ1bmsKKzYzMTg3IDZkZjAzOTRhYmJmMWJkYTJiMGQ3ZTU1ZmQ0NzY1ZTZiZmFhMmFjYmEgbGVnYWN5LXRydW5rCis2MzE4OCAyODQ1MWI1ZTgxNmZkYmEwMmJlYmI2YjZiODUzNzIyNWVkNWFkODFmIHB5M2sKKzYzMTg5IDYyNjU4YjBhY2EwODIyZTRjOTY4NTdjMWUzY2EyOTk5ZGMwYmViNGYgbGVnYWN5LXRydW5rCis2MzE5MCBlZWFkMDhiOGUxZmQwNjNlMWQzZWI0ODU1MzI2ZWY4ZTdkOGVlNTExIHB5M2sKKzYzMTkxIGE1OTY0ZWU2NjE5M2E0YjAyYWRkMDkyYTg5Njg5NTA5NTVhMjg4ZDIgbGVnYWN5LXRydW5rCis2MzE5MiBkYTZlZjExMGMzNzM1MjQyZDcxNDI2Y2FjMWI0ZWI0MjJkZWU0NjA0IHB5M2sKKzYzMTk0IGU4Zjc0ODQ3MjczMGM3YmRhMDk3OTUxZjhkNjJjNjkyYzhmOTZiNTcgcHkzaworNjMxOTUgOTExYTdiY2RjMTdlNTkxMGNkM2ZlODg4MDQyOTFjZjg5ZWZmNmM4OSBsZWdhY3ktdHJ1bmsKKzYzMTk3IDc1NTY4Y2RkYTk0NDcwOWZiMTY3NDY5ZmY3NTUyMDdhNGIzYjM5ZmMgcHkzaworNjMxOTggMzg0YzU0ZmFkYWEyZmJkM2Q0NjY2ZDJjZWY5ZjliNzc1MzQ2YjlhZCBweTNrCis2MzE5OSBhOTU5NGE1Y2RmN2ZiODYyYjQ0OWJmNzg2OGMyYzVmZGM3NDI2ZDZhIHB5M2sKKzYzMjAwIDU1ZDhjMzUzMjJhNzBkYjNhZTk5YTgxZGJlZjI1NTg4M2Q2MDM3YjMgcHkzaworNjMyMDMgYzI2YzAyYTQyMDA4MjRiZmYyNWViMWQyODgzNzAxNjk3MmNkNTAwOSBweTNrCis2MzIwNSBlY2RlZWZhOGJiNmE4NDE2MDk1YWM4N2RhZjJlNDc3MWJhMTczZDE2IHB5M2sKKzYzMjA3IDY5ZGE3YTRmMmY4ZTJkMzA5YjRlN2NjZDYxNmZlNGYxODNmMGVmMTQgbGVnYWN5LXRydW5rCis2MzIwOCA0NzY5MmY2YzgxNWVkZGJhNDg0ZTIyYTFkN2E3ZGQzMjQxNmU2YmYxIGxlZ2FjeS10cnVuaworNjMyMDkgN2M4YWNhYTI3ZWFlMWQ0NTVkY2FlZWExYjhmZDQ5NTU2MDJiY2M4NCBsZWdhY3ktdHJ1bmsKKzYzMjEwIGU0ZTNiM2ViYTIyNmZkODliNjczMDIxMTlmYzQxNzdiYTJjNGQxYjMgbGVnYWN5LXRydW5rCis2MzIxMSBkMmMxZWQ0MDhhMWQ3NmE2NTcwMTVmNTIzYjUyZmU4NzUxYTM0YzBlIGxlZ2FjeS10cnVuaworNjMyMTIgNzY0NzdiOTc4ODUwOWI0OWE0OTI2YTg5ODQwNDkwOGMxYjEyOWFkMiBsZWdhY3ktdHJ1bmsKKzYzMjEzIGYyMmVkODAyODlkMzAxNDc5Njc5ZjI4NWUxYWE2Njg5ZjI5YmFmYjUgbGVnYWN5LXRydW5rCis2MzIxNCA0OTAzOGVlMGU1YjViNTMwMDM3YmM0YTllYTRmZGUzYzI2Yzg1YTFlIGxlZ2FjeS10cnVuaworNjMyMTUgODEyMmEzMjRiN2E1NTE5ZGRhYTRiODQ5NWQ0ZTU3MzlkZWIyMTBkZCBweTNrCis2MzIxOCA2MDNhOTM1ZWFhZGE5ODVhYjUyYjFmNDAwZTgyYjFhZGVmNmM3NjdkIGxlZ2FjeS10cnVuaworNjMyMTkgYTE3NTg1YTQ1ZWU3ZWEwZjBjODQ5MzllNjc4OTE3MmU4YTI4NTQ4MyBsZWdhY3ktdHJ1bmsKKzYzMjIwIDdiNmUyMjJlYWRhNzBhYjYyZWI4MDI4MTBkY2YxN2UwMDU0NTZlOWIgbGVnYWN5LXRydW5rCis2MzIyMSA1ZGQ2YzUxYWVlZGVhNDg4YzNkMjg3MGIwZGE4ZTkwMzZhMTVhZDU4IGxlZ2FjeS10cnVuaworNjMyMjIgOGIyMjNkMzUxYjA5NTkyYjAzY2U3OTQwMzVhYjI0YmFhMjNkYTk4MCBsZWdhY3ktdHJ1bmsKKzYzMjI1IDU2MWU1ZjUwMjZlYjBhNDRiMzhiNTBmMzg0ZWQ3YmEyYTY0YzlhNzggbGVnYWN5LXRydW5rCis2MzIyNiA4NzYwOTEyYTllOWZlMDU5MDQ1NDdmMDgyMjM0MzgyNTJhZmFmMzI3IHB5M2sKKzYzMjI4IDAzZDY4NzViZGUwZWJiMTkxN2IxODA0NDUwNmVjODM4MDU1MTVmODIgbGVnYWN5LXRydW5rCis2MzIzMCBlNTM2YzY1MDE0MDJjMTE3ZDBlYTRmZjgzOTBmZWQ0OGM5ZjFiNjI1IHB5M2sKKzYzMjMxIDhmYjliZDU5NjJlNDZmYTJmYzVkZmUwMjVkZWZjZDM5M2IwNzAwN2UgcHkzaworNjMyMzMgZjJjNGFiNzRjYzY1YmNmZmQzNzdiZmY4YzE2MDZlNjJiZjA3MmQ0OCBsZWdhY3ktdHJ1bmsKKzYzMjM1IDkwNWI2MjcxZWYxMThhYzNkMjA0MDBiOGY3YWQ4ZjVhNTA4MGRjNDQgcHkzaworNjMyMzYgNzFhYTkwM2ViN2FjMjI0NmU5YmU2YzM2ZTBmNTIwOTNlMGNlM2JiMyBsZWdhY3ktdHJ1bmsKKzYzMjM4IDgzZTk1MGYyOWQ0NDMzNjZlMjVlYmNkMDc2YmRmZGZmMjViYTZjN2QgcHkzaworNjMyNDAgYTNiNGYxZTY1Y2JlYWU1NjRmZmQ0YzllMTJjMTFmMzE0MDBmMGJjZSBsZWdhY3ktdHJ1bmsKKzYzMjQxIDQyZmM5MjIxMjBkOTZlOGMxZTgxNzkwYmZhN2IxMGNhYmVmNGY5ZDkgcHkzaworNjMyNDIgOTkzZDBiYzA3ZTAwMmE5Yjk1OWRiZTlmMjVmMjA1YmZhZjRlMzYxYiBsZWdhY3ktdHJ1bmsKKzYzMjQzIGM1NDZjNDBmY2VjZTBhNjc3YzJmMDE3ZDNkYTRiYTA0NzU0ZDhmZDQgcHkzaworNjMyNDQgOTU4Mjg2YjE1ZGUwNTBkOWNjYTJhNDQ4Njc4MDRmMzRiMDI3ZTJmMSB0bGVlLWFzdC1vcHRpbWl6ZQorNjMyNDYgZjI4YjcwNjQxNTk1ZjJkMTZmZGY4ZjA2ZTA1NTBmNzMyMmM3ZmE3MiB0bGVlLWFzdC1vcHRpbWl6ZQorNjMyNDcgMTc5NTZkYmFkMGU0MWUxYTRlZGY2MjU5MWFkNDI2M2ZmYTc5OGFlNCBsZWdhY3ktdHJ1bmsKKzYzMjQ4IDcwODIxNGYzNTFmZTdkOGJkZTRhOWQyMjEwNTQ0YzMwZmUxNzJkNzggbGVnYWN5LXRydW5rCis2MzI0OSA3ZTE4ZDY1OTM4MjQzYTUwNzVmNmMxN2ZhNmQ4ODlhMDk1YjQxODYyIGxlZ2FjeS10cnVuaworNjMyNTAgYzIyOWU3NWZjMjI0OWU2YWRlNDNiMDY1ZDFkZWY2NjkzZTMxMjZkNCBweTNrCis2MzI1MSAzNWE4ODk5MjU2YzJjYTdiMjkzOTNkYjI4MTkxZDgxZTIzM2RkYzczIHB5M2sKKzYzMjU1IDRlYjU5ZDhiYWM0ZDY0YzhiMzhhOTAyMTY3NjIwN2IwZDZmNjE1ODEgbGVnYWN5LXRydW5rCis2MzI1NiAwNjYzZjJmYWI5MzQ1MmM3YzM5MTRjOTc0OGFjZTJmODNiZGQ0ZGJhIGxlZ2FjeS10cnVuaworNjMyNTggNDE2MjhmMzhjNWEyODg3NGZkNjBhODY4MTQ1ZjVkMjA5YzdlM2JjNCBweTNrCis2MzI1OSA2ZjI1OWE5Y2NjODQ4MTg4NTM0MjdiMzQ2ZTBmY2MxY2RiZWEwZWQ4IHB5M2sKKzYzMjYwIGYwYTQ3MDkxYzhkODZkZDJmM2JlZGM5YThiNjFhZWMxZjgyMzVmZDIgbGVnYWN5LXRydW5rCis2MzI2MSAxZGY0NjY3MDJkZTJhOGFkMmNiM2NhNzdhMTAwYjJhNGNlNWExYzdkIHB5M2sKKzYzMjYyIGFhYjhiOGQ0YjZhNTA4NTVjZjNhOTE3ODVlNGE0N2VjMzJhZmVkOGUgbGVnYWN5LXRydW5rCis2MzI2MyBkNWVhYTdkYWVjMmY0NzMwNWMxNWI4OGY4YTYwZGNhZGFjNDU3NWRlIHB5M2sKKzYzMjY1IDA1NGZmNDEyOGY3NDRlZWRjMWRlMmZkMThiNDg1MGRhMGExYzMyM2EgbGVnYWN5LXRydW5rCis2MzI2NyAyN2Q2OWRjNzI3OTMyMWQwZDk0NGZkNGYyMzM1NzA2NDU2ZjA4YjAzIHB5M2sKKzYzMjY4IDVlODkzMjk5MWFkZmQxMjFjM2U1NTMyYWJmNTczZThhZmE0YWRkYzggbGVnYWN5LXRydW5rCis2MzI3MCAzYWJhNDQyNTYyNjU3OWVmZTA2OThlNjk2MjhhNjI4ZjRmZTYzMTNiIHB5M2sKKzYzMjcxIDYyZDllYzljOWVmZDEwMmE3NTQyNjZkMjIwZTc2ZjRkOTkyOGUzY2MgbGVnYWN5LXRydW5rCis2MzI3MyBmNTEzYmI3YjhkOTdlNTViODFmM2IxNDVhNWI4OWYzZmVkZDhlYWJkIHB5M2sKKzYzMjc0IGEwOTJkY2U2ZTlkNGE5NjEwMjg0MzNkZGUzYjg0ZDBmZTNhOWRiNmIgbGVnYWN5LXRydW5rCis2MzI3NiAzY2MwYmY3ZjA0YjZmNTUxMGRmYzUyOGM1MjhiYWQ2NjdhYWMxMWIyIHB5M2sKKzYzMjc3IDg3NmQyZjBlOTJlNGUzYTE1NDA4YTVmZjlkNjNkYTRjMDRlZGM0MjggbGVnYWN5LXRydW5rCis2MzI3OSBlNGJiNmYxNzRiMDA0NDQ3Y2ZlMzY1MDA4YmM4NGY3OWJmNzJiZDJkIGxlZ2FjeS10cnVuaworNjMyODAgNmRjOTFiMzY2ZDlmZmU3MmJhMDI0MDViNTkwZGM3NGQzZTI0ZjAyNCBweTNrCis2MzI4MiA1N2NmMDAxYWEyYTI0ZTg2Y2JmOGEzNDdkZTg4NDcyNDA5ZjJmZDJlIGxlZ2FjeS10cnVuaworNjMyODQgZmNmNWRhYzUxMzk0YjhiYjRmZjdlMTNjZTI0ODhkNzEwZjExZWNiMSBweTNrCis2MzI4NSBiYWRhMGU4NzFhYzFjZjE5ZWYzOTc1OWMwY2VlY2ExMDU0ZTIyZTAxIGxlZ2FjeS10cnVuaworNjMyODcgNWFmMzhiOTVhMTdmYWUyOTllM2E1OWRhNjVkYmIzZDZhZjMzMjZkMCBweTNrCis2MzI4OCA5NmE4NzZhZjkzMGE0Nzg3Nzc1YjNmZjM4ZDRmZjZjN2M2NTg4M2Y3IGxlZ2FjeS10cnVuaworNjMyOTAgOGExMGE0MTE5ZmMyNzU3M2FmZWFjZjk1NzI2ZTBiMjRiNjI4ODQzOCBweTNrCis2MzI5MSAxYjQ0ZWQxYTkwNDY1ZWU0YWRjNDA0YWZhMzExNWE0MTYyYjhiZWUzIGxlZ2FjeS10cnVuaworNjMyOTMgZGM0MDk4Y2E4MjNlMjg3OWJlZjM1YmU3MmZhYjIwZDQ5MGU2Y2Y4MyBweTNrCis2MzI5NCBkNGI3NDNiZGViYjE2YzVjOTFhYzVlOTZiYTNiNzllOTNjMmRhZGEzIGxlZ2FjeS10cnVuaworNjMyOTYgY2ZhOGM2MThlZDM1MzcwOWFhMjBiZTQwMzNmZDc0MTNlNDdhYmNmOCBweTNrCis2MzI5NyA4MDQzNWJjN2FhYzQ4MzhmODhiNWJmYTU0MGMyMjlhMjE4MGIwYmM5IGxlZ2FjeS10cnVuaworNjMyOTggMWU1NWIyZDFjOTNlZjM1ODdjZGMyNmM3MWVmMTNjMWQxYWViODdiMyBweTNrCis2MzMwMCA1OWJjZGZkMjc1MDFmZWE0Y2QxMzI1MWVmNWEwMjZkMWE3MTQ0MmY5IGxlZ2FjeS10cnVuaworNjMzMDIgNTI5ODczOWYwYTRkZmMxN2Y0YjFkYjQ5MWVkYTgyNTExMmRiNzhlMiBweTNrCis2MzMwMyBkNGFjZWQzM2Q1N2E1OTI0YzMyODdhOTVkYzg5N2Q5MWNhMWUzZmZjIGxlZ2FjeS10cnVuaworNjMzMDUgZTExNmNhMjZkOGYxY2E2YmJjMDBjNjlhMDhjY2EyZTk5ZDFhNDdjZSBweTNrCis2MzMwNiBlZDUzMmNhN2FlNzVjZmQ2OWFlNmFiODBlMTcwODdjZTA1NDY5MGI2IGxlZ2FjeS10cnVuaworNjMzMDggYTdjMWIzMTcwMTEzODMyYWZhNmVhMDQwMTE1MWRjZmZiMDVlNDk2NSBsZWdhY3ktdHJ1bmsKKzYzMzEwIDVhNDYwODI3MmM1MDZhNmMwNDI4ZGEyM2UxNjk4M2ZjZTZmNjUyMjcgcHkzaworNjMzMTEgZmRhNGQ0MWEwNzczODc5NTY5Nzg4MGM3ZjllY2EzMDI2NTViMGE3ZSBsZWdhY3ktdHJ1bmsKKzYzMzEzIDFkNjJkMzI2MTJkNmRjZmIyZDI2NDYyYjVlZWVjOWEzOTBmOWFkMDIgbGVnYWN5LXRydW5rCis2MzMxNSBhOGE1N2ZmNmY1NjhiYzRlOWQzNmQwZWE2YzBiYzEyMjZhNTIwNWZjIGxlZ2FjeS10cnVuaworNjMzMTcgMTM1NmE0MTg4MzBiMzRjYzE4ZmYzNzM1ZmMwZWNlNjZiNTRjODcwNiBweTNrCis2MzMxOCA2MjhkZDVlYzRkZDJlOGE3ODRhMjBhMmIzYjhhYWQwOTMxNGZkNWFlIHB5M2sKKzYzMzIwIDE1NzNjNzc2ZGY4MmVjNTU1ZThiZjc4NzhmY2NjZjkyODIxZTc0ZjcgbGVnYWN5LXRydW5rCis2MzMyMyBkNTkyOWNmODY4Y2JiYjUyMzFiMTkxNDNlOWIzOWJjMDlmNjNhNTVhIGxlZ2FjeS10cnVuaworNjMzMjQgOTE4OTYyMjcyNzJhNjkyYjUxZDUwYTBiNTEzYzJjOTBlOGM5MTc3MCBsZWdhY3ktdHJ1bmsKKzYzMzI1IDhlMDAxNzk4NmY1MGVlNjRhMTdlODdmOGNjYTBhNGQ3OGVjMjBmZDMgcHkzaworNjMzMjYgMzkxOTc5YWY2NjJiYzQ4ZGFkNjc0NDRlNGFlZjI2ZWY5ZjljZjY5MSBsZWdhY3ktdHJ1bmsKKzYzMzI3IGU2OGU2MTA4NjJiZWI1ZjlhNTcxMmNkZGIzMzJhOTM1OTVlMmNlZjAgbGVnYWN5LXRydW5rCis2MzMzMCA4N2E3OTM1MjM0MmM2MjE1ZWFjZTBmNmNjZTQzNjYxNzU1NTY2YzhmIHB5M2sKKzYzMzMxIDA4MWMxNTgwNmUyODdjMDM2NjE2YTUwODJjZjdhNGJlYjkxNTA2OTcgcHkzaworNjMzMzIgMGQ1NGM3MDU2NDY4YjMyYTY4YTU3N2YzOTIzNjRiM2RkOTZhNWFlMyBsZWdhY3ktdHJ1bmsKKzYzMzMzIDM5N2YyOWRkODJiZGM1ZGM0ZWYzZmY1YjcwNjYwNTUzNGFlYzczMTcgbGVnYWN5LXRydW5rCis2MzMzNCAzMWNjOGUxYThmZGY1ZjIzN2Y1ZTlhOTY5ODkzOTlmZjkyYzFmNmI1IHB5M2sKKzYzMzM1IDk2MGFkZTg1NjA3OGQ2NTcxMmFkNjdmNDA2NmVjNDY3ZDA4MjJlNzYgcHkzaworNjMzMzYgYWUxNmU5NGJiMDNhZThlZGZkNzAzNjQ4ZWU1YzQwNThlNmZkM2VlNCBsZWdhY3ktdHJ1bmsKKzYzMzM3IDJiOGY3NDRkYjc5YjcyMTU4N2FjMDZkY2JhNTVkNzhiMzI2NTI4NGQgcHkzaworNjMzMzggNjc4MGYwMTU5OGEyMzQ0Zjc5ZTczZjFkMjU2MTdkM2ZiNTNlMjhhOSBweTNrCis2MzMzOSA4ZDhlMDZmNGJlMWZmNGJmNmU0MjUyZGFlNDU3MGE0M2JjYTgyNmRhIGxlZ2FjeS10cnVuaworNjMzNDAgMGM3MTQyYzU2ZDdlZDllZjU3NTU4Yjk4MzJjMGE2OTRjY2ZjNWIyMCBweTNrCis2MzM0MSBhOGFlMmFhMDhlN2ZmNTMwNWY4NzVlYzkyYzQ5NDYwMTMzNzYwYTdkIHB5M2sKKzYzMzQyIDNjMDNlOWI0NjY5ODQxNzVhZjhmODY3MDhlYWRlZGMwZTc2MWM5ZDMgcHkzaworNjMzNDMgNTkzYjY0OTkwNGI4NjYzNjA0MGViYmNkYjFiNDFkMTYxYzM4M2E1YyBsZWdhY3ktdHJ1bmsKKzYzMzQ0IDM2NTY4NzM5ODUxODdjODgxMmUzYmY2OTI2MGQ3Y2YyOTRkMWJmOGIgcHkzaworNjMzNDYgMmUyYzcxMmZlMjZkNjk3ZGQ2NmM5Y2RhMDM1YTYyMGZiZDdjOGFmOCBweTNrCis2MzM0NyA1N2Y2MWRhZDdiM2I0ZjNmMzhiNGU2OGU2YWVkMWQ3MzkxMmMzMDgxIGxlZ2FjeS10cnVuaworNjMzNDggMzQwN2JmOWRhYzM4N2E0YzRhYjdjZGYwYmFmZGFhNmE4ODFiY2U5YiBsZWdhY3ktdHJ1bmsKKzYzMzQ5IDU4YTBkNTUyNGY5YTNiYTk1MDYxNTNkMWJmMDJhZjQ4ZGFkODc4ZGQgcHkzaworNjMzNTAgOThmNjg3MjZkYTAyZDUwYTZiNTljYzQ4YjAxMjFiZDU3MDdmODAzMSBweTNrCis2MzM1MiBiNjMwNzI5NTcxZTY2OGY0ZTRlMDcyNjg2YTdhMmZmYThjMGZjOWZkIHB5M2sKKzYzMzU0IDlhYzExMDQzYjM5NTM2M2UxOGVmMDNkZmFjOTZjNzdiNzYwN2VhZDkgbGVnYWN5LXRydW5rCis2MzM1NSA5NDdjYWVlMjM5OWVmMWY4OTFkMTQyMzkwNTQxZWI3MmZkOGRlOWUxIHB5M2sKKzYzMzU3IDNkZjA5MGVkNDgxMDNkNjIyOTIwOTQ1ZmU3ZjAzZTc0NmM5YzJmNGIgbGVnYWN5LXRydW5rCis2MzM1OCBkNmZlNTAyMzM2MjYwZjYwMTM0MTgyZGUyYmM5ZDlkZTYxNzI0MDM1IGxlZ2FjeS10cnVuaworNjMzNTkgNGVhOTkzMDllNTI1NGM4YjU2YTIzMmQ4ZjY1MDQ4MGMxNWQxOGJlNSBweTNrCis2MzM2MCA0ZjFhMDc5ZGY0MjdjYmQ5ZTgzYWE4ZmVhYTkwMWI5YjFlM2FiYWE2IHB5M2sKKzYzMzYxIGIwYjMyNzMyZjY2ZWI3YmUyNjBiN2NkMTQ0YmUzZjk5NDIzNTQ0MTQgbGVnYWN5LXRydW5rCis2MzM2NCBlZDEzMDQwYWMyZTZlNWY3ODQ3OThmYWZmMTlkZGJkMWRkNTNiOWFlIGxlZ2FjeS10cnVuaworNjMzNjUgZmYyZGMwMmJhNDFhYTNkMTExMzM4YTM3NGZhZWVmNzMwY2ZkNDM1YyBsZWdhY3ktdHJ1bmsKKzYzMzY2IDQ1NjUwYzI1YTAyODY1MjY2ZjM2NzM2ZjI0YzU0NGMzM2E0OTdkZWYgbGVnYWN5LXRydW5rCis2MzM2NyA1NGZkMDQ1ODU1MGM2YTc1MDM2MjE1ZGZkYTU1MGQ0OTI4MzZlYjIzIGxlZ2FjeS10cnVuaworNjMzNjggYWE4ZTEzMjc5YjViMWFjMWNjNTVlNWZmNzQ3ZmQ0ZjA2MjFjOTk4NiBsZWdhY3ktdHJ1bmsKKzYzMzY5IGEyY2VmOWU4OWI3YzJlNjk4M2UyM2Q1ZDA5ZmE1MjVlNzAwMjQ0OWIgbGVnYWN5LXRydW5rCis2MzM3MCA1ZDFhZmY0NmNjMGRmMWUzODNiM2JhZjFmMGEyMmExNWRiNTYyZTM2IGxlZ2FjeS10cnVuaworNjMzNzEgYjI0MDNkNDcwYjY5ZGQ3YzhiZmJmMDY4NTdlN2Q5MTZhYjYxOGQyZSBweTNrCis2MzM3MyBkZDBiY2MyMTZmZTM1OTIwYWY0NDZlMjg1NzM1NGM3OWMzZTNmNDFkIGxlZ2FjeS10cnVuaworNjMzNzQgM2I4MjdmMzY0N2NiMTg0NjhhYjY0MDY4YTU5ODJhOWY2ZTM3YmYzYSBsZWdhY3ktdHJ1bmsKKzYzMzc1IDg5M2E0ZGMxN2E5MWM1ZWJhMTM3MzUzNzI1YmU2NjZjNWVhNWU3NWIgcHkzaworNjMzNzYgODhiYjlkZjM4NWRjMGQ3NTA2MDBlZjM2Zjg0Yzg1YjdhMzNlNDRhMCBsZWdhY3ktdHJ1bmsKKzYzMzc3IDBmMTU3MzVjMTgzMWY1NGVhMGZhZDVjMGExZmRiMjdkYzc3ODY4YjIgcHkzaworNjMzNzggNjM3NDFjNzUyMWFhMGMyMjMzY2ZhOGFjNDFhZTU4NDU4OTRjZDZiZiBweTNrCis2MzM3OSAwZTY3ZTIxYTQxMTMyMGM3NzIyZmJhZjNjNTRkN2NkNWI4MTMyYWU0IHB5M2sKKzYzMzgwIDUzMDQwNDZiYjM1OGQ1NjAxNWNiNjk3NTA1ZGYzMmE3MzlmYjk2MTYgbGVnYWN5LXRydW5rCis2MzM4MSBhYmUzNWE4N2IwMWRhMzAzMTFiODk3MzVjZTk2ZWRkOTA3NDE0YmQ3IGxlZ2FjeS10cnVuaworNjMzODIgNjBiODU5MjRlYzZkMDI4ZTZhMmZiODdjNzZiNWI0NDBjZTE5N2NmNCBsZWdhY3ktdHJ1bmsKKzYzMzg0IGNlN2FhODhiNjY5ZWExMGRjMWNjNzk1YWMwYjRlMGYyMjA0ZTI2N2MgbGVnYWN5LXRydW5rCis2MzM4NSBhMDJiYzJhODRkMTljY2QwYjgwMmI4NDhkMjg0NzZkNjIwMDBmMzQzIHB5M2sKKzYzMzg2IDg4MGZlODg3N2RmOTc4YjllY2UwOTI3ZDIyMjc2YWU0YjkxN2U2ZTQgcHkzaworNjMzOTIgYWI4MGJiZmE2ZjBjMDg5MjU0YzVlNTZhOWRmYjMxZDYxYWRlZGZkYSBsZWdhY3ktdHJ1bmsKKzYzMzkzIGJlNTgxYWNlYTRlNzM5OTZiMzc0ODc3Nzk0ZTFmMTQ3ZDk0OWQ1OTQgcHkzaworNjMzOTUgNmFmNjQ1MTIyOTRhZDA5ZDcyN2IxZjBkYjEzMDRkMGQ1NTY3MmQyNiBsZWdhY3ktdHJ1bmsKKzYzMzk2IDQyYjc4ZTBlNjg0ODA3MzQ5NjIxNTA0MjQ5YzY1ZDE4YjhhMzAyYzcgbGVnYWN5LXRydW5rCis2MzM5NyA4NGJiNzJkOTBiYzcyNTI5NjM4MTUzYTdmZDVhODVkNmQzZmJlZGY2IGxlZ2FjeS10cnVuaworNjM0MDEgMDY4MDc5N2FlNDU0NjI5ZTA1N2ZmMjIzZTI2ZGIzMTIzMDExOGVhMyB0bGVlLWFzdC1vcHRpbWl6ZQorNjM0MDIgMjE0NGM5ZjM2NWM4ZmFhZmYzMTNmZTVkMmE1MTFmOWFiNDJlZGExZCBsZWdhY3ktdHJ1bmsKKzYzNDAzIDFjYTk2NzU2Njg4MGU4MDY0MjAzYmIyM2E3ODBmODdiNzI4NWM2ZDIgbGVnYWN5LXRydW5rCis2MzQwNCA2ZmJkMDZkYjcwNzc2MDE2ZDAzNWUyYzU3NTgzYmIzYmNiMDUyN2E2IHJlbGVhc2UyNS1tYWludAorNjM0MDUgNmI3OTc3MzE0YzAyZmQ2MWI3ZmVlMmFjZDc0Y2ZiZTU2MjhkYjQ3YiBsZWdhY3ktdHJ1bmsKKzYzNDA4IDNiYmY0NGQzMjM2MTIyYWNiOTA3ODAxN2E0OTM2YmZmOGUzMWU3YWIgbGVnYWN5LXRydW5rCis2MzQwOSBmMmMwM2Q3MTU5N2Q0OGIyYzRiOTYzYjY0ZDBjMjY3ZmFiYTkwOGVlIGxlZ2FjeS10cnVuaworNjM0MTAgNjk0ZDM2ZmI2ZjRkZmEyNjY4MGM0MTYyM2NlNzFkODAwMDY1ZDA2ZSBsZWdhY3ktdHJ1bmsKKzYzNDExIGE5N2ViMTc3ZjNhNzc5Y2Q5YTRhOTBiYmY2Y2Y1YTUyYjdiMTJjMGEgbGVnYWN5LXRydW5rCis2MzQxMiBhYzkzZWRjMzk2YTY0Zjk0YjAyN2Y2NGQzNDAzOTJhNmI4ZGEyNWRmIGxlZ2FjeS10cnVuaworNjM0MTMgYjY2MDUwZGI4NDFmMDViYWIyODIzZjE0NWY1ZTUxYzQyZjQ1ZDE3NiBsZWdhY3ktdHJ1bmsKKzYzNDE0IDY4MzZlOGYxZGVkYmNkNDZmMDNkOWY3OTk5ZDIxOGZmMjU5MjFkMzMgbGVnYWN5LXRydW5rCis2MzQxNSA3NDYwNDE1ZGE4ZmVjNzY5MTAyODZiN2U5MzNkYmM4ZDlhYTUzM2ZjIGxlZ2FjeS10cnVuaworNjM0MTYgZjNkZGE5ZDM2NjhmZDMzMjNiNzk5OGVkZTE3YzUyMWU2ZmRjYzY2MiBweTNrCis2MzQxNyBkNjMzNDRiYTE4Nzg4OGI2NzkyYmE4MzYyYTBkZDA5ZTA2ZWQyZjlhIHB5M2sKKzYzNDE4IGVmNGNjYTJkNjE3MTNkMzNjMmE1MDI1MjM1ZDQwMzBlMzY5NWQwMmMgcHkzaworNjM0MTkgMjQ5NjE4ODhhZDk1NmFjZTgwNzI3NTYyZTc1NTdjNmEyNzg5Zjc4MSBweTNrCis2MzQyMCA4YTc0NjEyZjNkMmJhZTFkYzIyYmY1NjA0ZmM4Y2Q0MTJkZTA1Njc0IHB5M2sKKzYzNDIxIGQ2ZTFlYTIxYzk0OGVjMjg4NTFmODdlZTExZjUyMjlhOWUzYWVmYjcgbGVnYWN5LXRydW5rCis2MzQyMiA5MjQwYTU5YTI1ZTlkZGM0MjJjMzU4NDgzMDdhMTNiMDU3YmFhNzJmIGxlZ2FjeS10cnVuaworNjM0MjMgY2NlMWIyNDNjMTFkMTM2M2Q4MTcxMjA0ZmVmOGVmM2RkZDE3YjdiNSBweTNrCis2MzQyNSA3MTE4ZmFkZTU3NWI5ZWMxZWQyOTgxMGRjM2JjM2Y4NjJhZjY0MmRmIGxlZ2FjeS10cnVuaworNjM0MjYgNjRmMzg3MzQzOGIxY2IyNjQ1ZDE4N2JmNGRkZGE0ZWRmY2Y1ODFhYyBsZWdhY3ktdHJ1bmsKKzYzNDI3IDVjZTkwNGM5MGU2MThjNzViMTQyZTNkMGI0NDFmNTVhNmJlNGI0NWUgcHkzaworNjM0MjggZDk1M2VhNThjYzhiY2EzNWU0MmE5N2ZkZmFkZmJiNmUwODcxZGY5MiBsZWdhY3ktdHJ1bmsKKzYzNDI5IDdhMWRjM2U3Yzc5YjUyNDM5OWViYTNmZDgwOWQzMDEwYTcwYjA1MTUgcHkzaworNjM0MzAgODAxYTA5ZGQwZWI4YWJkZjliMmZlYjc1OTVjZGE0NjBhZWMxNzA1YSBsZWdhY3ktdHJ1bmsKKzYzNDMxIGFjNTlmZGQ4MGU0NTllNjgyMDBkMjZkYTBhYTFjNDZmZDcyOWFjYjkgcHkzaworNjM0MzIgMGFhMWJkZTlkMTk0YTk3ZDYyNTdmNDQxZWRiNDYzMTVhYTM4MGQ3NSBsZWdhY3ktdHJ1bmsKKzYzNDM0IDMzYzdmZTg1ZTM1ZGZmNjAwMmQ5ZjlmZDJiOWMyZWUwN2U5NjUxNWIgbGVnYWN5LXRydW5rCis2MzQzNSAxMmMyMjlkMDIxY2MyYzYwYTQ2NjljMjI0ZWFjNzgxMjM0MmNmZDU0IHB5M2sKKzYzNDM4IGY4NjJkZmFmOWE0YmUzYTMwNWZiNWViZDlkNzRlNDA3MTgwMjk3MTEgbGVnYWN5LXRydW5rCis2MzQzOSA3Mjk2YTJmYjQ3ODZkZGE5MDdiNDZlY2Q4NjE5YzE4Y2RmNzRmNDdlIHB5M2sKKzYzNDQwIDNkNWNkZGM2ZTVlN2ZjNTAwMzY4YjUyY2E2YzZmMDQ4ZDIzMTkyZGUgbGVnYWN5LXRydW5rCis2MzQ0MSA1ODVmN2NhMzhhODVhZjgwOTcxMzVjOTM3MmY1MDcyNDdhOWNkYzcxIHB5M2sKKzYzNDQzIGJiZDMwYzQ5MmE5OThjM2VkNmUxNzA4MDc0MmViMmIyNmQ1ZmJjYTAgcHkzaworNjM0NDQgY2RiNzVhZjIzODVhMzFmZGE2OTNkMTYzOWVmYjg2MTY0NTllY2E0ZSBweTNrCis2MzQ0NSA5ZjM1NDAwMWVhMjUyNzExNWRhNWY5MmNiYzU2NTQ4ZGJkNDU2OTczIGxlZ2FjeS10cnVuaworNjM0NDYgZWZlMjJlZWYyNmJlM2UyNzVlN2IwOGU1MWVlYzZmNDRlODBlZjA0OCBsZWdhY3ktdHJ1bmsKKzYzNDQ3IDIwYjFjNWM0ZTMwNDQ1ZjJiNmE4N2M2OGNmMTJhZjJjOWVmNmI3YjggbGVnYWN5LXRydW5rCis2MzQ0OCBhOTM4NTI5ZjRkNmRkM2EyMTg5MTMyNzI4MDc5MGJkNzIwYzI4MjM0IHB5M2sKKzYzNDQ5IDJlOWY1NzJiNzMyMjdhODU5YTQ5Y2QyMGQ0MTVmY2QxZWFjNjJiOTQgbGVnYWN5LXRydW5rCis2MzQ1MCBiODZiMjllMGNmMzI5ZDEwYzE4NjMyZmRhNDg5Nzc1YWQ2ZTIxYTVmIGxlZ2FjeS10cnVuaworNjM0NTIgMzBmNjMyYjM2ODY4ZTlkNzBlYWQyMzEzZDU2MTViNDE5MjVhOTQwOSBsZWdhY3ktdHJ1bmsKKzYzNDUzIDM3NDk5Mjg3Zjc1OGE3MmRiMmQyYTliMzkwM2YwZmZhYjE4NjFjYmIgcHkzaworNjM0NTQgNjFhNjc1YmE3OTA2MDI1OWM3YTk5MjFkMDFkOTQ5MzFiYThmYmFmNyBsZWdhY3ktdHJ1bmsKKzYzNDU1IDM2YzcxZDNhNmVmOGMxZTg4ZmRhMjEwZGVjMzg0ZGVhYmNmNTY0YTggcHkzaworNjM0NTcgMzA3MWEzMzdkOTIxZjNlYmFlZTk0MjI0Njc3Yzc3ZjY0Y2U4MGJkNiBsZWdhY3ktdHJ1bmsKKzYzNDU4IDZhNmNiOWQ0YmY5NDUwMmQzOTg4ZjNmZmFmZDgwNWFhMTk3ODdlYmIgbGVnYWN5LXRydW5rCis2MzQ1OSA3OTZjYjkzYzk3MDdmN2JmY2Y4OTIzYjE2N2I5OGVkNWIzNGJjZDVlIGxlZ2FjeS10cnVuaworNjM0NjAgY2Q5MWRhZjAzMjdjNmVkMWUyNTJjZDYyMDkxMjFjMzVlZGJmYmI0NCBsZWdhY3ktdHJ1bmsKKzYzNDYyIDEyY2ExZTgyMDI4MmJmNDljNWQ5N2VlZmQ5NzcyN2FhMWMxOTA1MjMgcHkzaworNjM0NjMgNGVjY2U4ZmVkNmUxZGI2NDNmYWNjZGFlNjkwODNiNjc0MmZkYzA3MSBsZWdhY3ktdHJ1bmsKKzYzNDY0IDk1Y2IwMDkzNjZkY2I5MzA5NWU1ODUyYjI5MjNlOGI1OWI0MGI5YjkgbGVnYWN5LXRydW5rCis2MzQ2NSA4YjYyOGNhMjE4ZjNkNmMzNjI5YmVlY2E1OTA3N2MxNDNhZGQ5NTEzIGxlZ2FjeS10cnVuaworNjM0NjYgYTFmNzA0MzVkOGUzNzNmOTYwYjk4MjNlZTJmYzcyYjYzZmU5NGFlNiBweTNrCis2MzQ2NyBjYThkOGM4ZjI5NjAzMjUzNmVlYzA4OThmZGZmMTUwZThmN2Y0YmYyIGxlZ2FjeS10cnVuaworNjM0NjggODUzMjZmYjc1NWUyOTkwYTFkYzBiMGE0OGQzMjFhZDYzZmQxZGY0NCBsZWdhY3ktdHJ1bmsKKzYzNDY5IGU4MDg1MDA1NWI5MzE3MmMxNDBiYTIxMmFjY2EzYTFlN2NiMGM5ZWYgbGVnYWN5LXRydW5rCis2MzQ3MCBiODNkN2QwMjllMGUxNzVlYjQ5NTE2MjA0NDg3MjQ5MTcxMjJkZWYxIGxlZ2FjeS10cnVuaworNjM0NzkgNjNkZGQzZWU0YTJkMWQ3ODI4YWFjOTAwNTBjNDcwNDlmYzc0MjRmMCBweTNrCis2MzQ4MCA4NWJhMDg3YzBjYzc0YjJjZjc1ZTBkYTAwMTA3OGZkODQwZDEwMjgxIGxlZ2FjeS10cnVuaworNjM0ODEgNDU0ZDM4YzFmNDdlOTFhODAyNGU2YWZhY2RjNDYzNmM1MWI1NTNmNSBsZWdhY3ktdHJ1bmsKKzYzNDgyIGVhYWExOWU5NDk5ODNjNzE2YmIwNTZhMDdjNzY5YWI3ZTgzNzI4MzkgcHkzaworNjM0ODMgZDE3ZmFjODk2YTBiYzZiZmZjZjA5ZWIxNzRjYTkwZjFjZmJhNTAxYSBsZWdhY3ktdHJ1bmsKKzYzNDg0IDc3NTU3MjE2YmEzMjFhMTYxNjE4ZDdiOTczMzg5ZmVhYTk3NWQ3MDEgbGVnYWN5LXRydW5rCis2MzQ4NSBkNWRkOGE4NTI5NzA1NmFlY2Q3YWZjMTFlMTFjNWUzYzk4ZmY1ZjhlIGxlZ2FjeS10cnVuaworNjM0ODYgNWNlYzQzNmQ2NGEyODEyYWY3NTJhMGI5ZjI1ZjU2MTU5MDBkODljNyBsZWdhY3ktdHJ1bmsKKzYzNDg3IGI1MzYwNGZhZDU0YjBlNjYyOTAxYTdiYTViNDExYTc3YTQwZjFhNzEgbGVnYWN5LXRydW5rCis2MzQ4OCBhZTE5MTIwMjMyYjRhOGUzMzkwNTY2NGUxNTMyZTNlOGI1OGE4M2Q3IGxlZ2FjeS10cnVuaworNjM0ODkgN2ZjOTZkN2VjZjJlZDcxY2MxZjE3NmQyYjhmZmNiZTFiODUwZjc0ZCBsZWdhY3ktdHJ1bmsKKzYzNDkwIDUxZTMyNGI1NzNiMDk5NDZiN2YxMmE3NWJmZDVkNWI3MjAwODRlNzUgbGVnYWN5LXRydW5rCis2MzQ5MSBhOGYxNTgzYjc4ZjZmZWU3MTc2ZjdjZTJkMDhmMzBjYzBjYjA4NTkwIGxlZ2FjeS10cnVuaworNjM0OTIgNGFkNGJlZjkxZThlN2Y0NDg5ZTk3MWUxNjgyOTA2MGMyNGE5NGJhYyBweTNrCis2MzQ5MyBmNDE5YjJlOTZhOTg3YzFkMzZjNzhiODc4OWEyNmMzOGNlYWJkMDUxIGxlZ2FjeS10cnVuaworNjM0OTQgMTczZTVlOGIzZTU5ZWQyYTRhMGJhYTEwYjk5MDQxNWIwOTYyNjZjZSBsZWdhY3ktdHJ1bmsKKzYzNDk1IDA5MTI1MTFiOTg5NzYyYmQ0OTlkZGUwMjUwNzM5YzA3MTA4Y2ExYWYgbGVnYWN5LXRydW5rCis2MzQ5NiAzMmJkMTg3MDlkZmRmMDA0ZWFjMzlhMGVhMGZmMGI3NjUzOGMzOTM0IGxlZ2FjeS10cnVuaworNjM0OTcgMTRlYjgwNGIzZmM3ZGYxYzMyMzZmY2NmYzE5NTNkYjAwZTA0NDUzMiBsZWdhY3ktdHJ1bmsKKzYzNDk4IDU5YWIyY2YwMDJmYThiNWFkNjg3ODJjYTFjNTg3ZTljMzJiNjhjYTIgbGVnYWN5LXRydW5rCis2MzQ5OSA1MmE2NjM3MzQzN2QzMjM3YzRmOWIyZjJlYWRjYzZiMmI4MjZmNGI0IGxlZ2FjeS10cnVuaworNjM1MDAgMTJjNTZkMmViNGQ5Nzk5NTk0MDM0MDU3YTEwMTYxNWI2Y2U3ZmJkYiBsZWdhY3ktdHJ1bmsKKzYzNTAxIGRlMTFiZjg0NDkxZDZjZTQxOTUyMWNkYTZhNDIzZjgwYmIyMjBhY2QgbGVnYWN5LXRydW5rCis2MzUwNyA0NmJkOGNmYTc1NGM1ODlhMzY1ZmY4MTNmZDcxMmVhMTgyMjNlM2M0IGxlZ2FjeS10cnVuaworNjM1MDggMzI5MWNlNDkyOGJjNDQ2MjZjNmYyMGNlZTNhNjkyNTE4ZDUzMTI3YyBsZWdhY3ktdHJ1bmsKKzYzNTExIDIyZDJmYjc2MWFjMWQzNDkyOTk3YzMzZDIxZWIxMzM1ZDU4ZDdjNzMgbGVnYWN5LXRydW5rCis2MzUxMiA5YzkzMGEzMmNlYmIyNTc4ZWQzMTQ4YzI1NWQ2YjdlYmQwYmY5MzEzIHB5M2sKKzYzNTEzIDUzOGU0MTBjMDA4ODMxN2YwZWMyNWZmMzNmNWVjNDc0ZTAxZTBlNmUgbGVnYWN5LXRydW5rCis2MzUxNCA1NWE1MGQzOTFiYTlhODM5MjdhZWYwNjZhMTNhODI0Y2ViYTBmYmU3IHB5M2sKKzYzNTE2IDJkN2ZhODRjODc4ZGI1OTJiYTU5NWZmYWM4N2RmZDcwOGMyY2VlNTYgbGVnYWN5LXRydW5rCis2MzUxNyBkMjkwMDUwZWQ4YjIyYTJjNjE3MjA5MmUyYWVjMWU4NDNjMjkwMDFkIHRsZWUtYXN0LW9wdGltaXplCis2MzUxOCA3YWE5YWQ2NTgwMTRhNDNiYzQ2MDU1NDg2Nzg4MWU2YzA0Zjk5ZjMzIHB5M2sKKzYzNTE5IDlkYmNhMjc1NGI0MDZjM2MyMmU2NjIyZmFhMTAyOWY3ZjllOTBiZDUgb2trb3RvLXNpemVvZgorNjM1MjAgMWQyMjcyM2E1Nzg1MjQ2ZDZmMjc0YmJlZmI5MDg3NjY1YjZkNTVhNSBva2tvdG8tc2l6ZW9mCis2MzUyMSAzNjA3Nzc2NWUxY2Y0NThhMGM3MDk4NTQ2NjJlMDE0ODM4NGNkNGFjIG9ra290by1zaXplb2YKKzYzNTIyIDc3OThiYzg2YWJhMzJhMTVlNzY4MmU4OTIwN2ZlMzY2MjUwYjIwMTUgbGVnYWN5LXRydW5rCis2MzUyMyA4YzgxZmFhMjEwYzFkZGVmMjIwMGRmMTRkM2Y2ZThkMjgxMzk2N2M1IGxlZ2FjeS10cnVuaworNjM1MjggNWJlMmQ4MmFjNWFjZDU5NTc4NzdkODczN2JlNWNjZDYyZGIwMzI1NCBsZWdhY3ktdHJ1bmsKKzYzNTI5IGNkZDAwMDA2MzFjYzc4NWFlMzgwODExZmM0N2JhYzg4ZTBhNjMyNGYgcHkzaworNjM1MzAgMmMzNGYxOWUzOTIyYTZhZDE0ODk3YmZiNzMyOGM0YmExZjI5MjY0NSBsZWdhY3ktdHJ1bmsKKzYzNTMxIGM2ZGJjNDMyM2EyMmQyNWU1MDUyOThkZTk1MmIyNWUyNGJhNmNiNTcgbGVnYWN5LXRydW5rCis2MzUzNCA4MWMzYTZmOWQ4NWYwYTNkYzJhNjNjOTc2YWU4NGY4MDlkNmQ0YjY5IGxlZ2FjeS10cnVuaworNjM1MzcgNGY2ZWE1YzU5YWIzMWJhNWYwNWI5NzlkYjk4Y2U0MDZhNTYwODkzMSBsZWdhY3ktdHJ1bmsKKzYzNTM5IDM4YTk3ZGNjMmM5YzVhOTNlZTkwZGI0MDA2MGNmYWM4YzAzYTJkOTcgb2trb3RvLXNpemVvZgorNjM1NDAgNzExNGUxZWZlM2Y5Njc0ZTkyY2U5ZDM2NGI3NGM0ZjNmYTk0MjFmZiBsZWdhY3ktdHJ1bmsKKzYzNTQxIGM1MzRiNjlhYjg3MWQ1YTEyODYxYjRiMmFmYmQ0YTBlNmRjOTRlODEgbGVnYWN5LXRydW5rCis2MzU0MiAyZmZmZGVkYjEwZjhjNDgyNTU1YzU0MTNlMmM5OWY2ZjJlNzU3OWNjIGxlZ2FjeS10cnVuaworNjM1NDMgZTE4NTIzZjg0MmQ3ZDEzOTUwZGQ5OThhMjE1YmU1ZmE0ZjA5ZTMwYiBsZWdhY3ktdHJ1bmsKKzYzNTQ0IDVhMjk1NTI0MTJmYTJiYzZlZThhMjAyYjZiODViMjc3MDU4MTY3MjAgbGVnYWN5LXRydW5rCis2MzU0NSBiYjA0MzMyYzdmMDE3ODJiZmFmMjliMzJkZGIxNjE1NmI3YzlmMDk5IGxlZ2FjeS10cnVuaworNjM1NDYgNzFkZWVlNmI5NDFlOTNiODk1YzFlNGNkYmE2NTc2ZDkwODlmZTEyYiBsZWdhY3ktdHJ1bmsKKzYzNTQ3IDlmYmM0MWFiZGQ0YmVlMGI4ZjRlNDQxNjI0M2M5NWY0ZjQ2NTNiNDIgbGVnYWN5LXRydW5rCis2MzU0OCAzNDJmYmRjY2I3ZDk2OWZmZGY3MmVhOWJjMGJlNzJjMWQ1Yjk5NGMxIHB5M2sKKzYzNTQ5IDk5MTc2YjlkOTBiMzdmZjZmZDcxYmQxNGUwMzVmNWZhNzU5NTNhNTIgbGVnYWN5LXRydW5rCis2MzU1MCBlMmJlZjQ0ZjQ1N2RkYzIzNzQ0MDY3MDJmYTNiNWYzOGZmNjQ2Nzg1IHB5M2sKKzYzNTUzIDU5NDgyOGVhMDNhMTA1YWQ0M2VjZjZhMjZhMzAxN2EyMzY0MTdiODggbGVnYWN5LXRydW5rCis2MzU2MSBhMzBmZWRlODc2NDNkNWJiMDE2ZGFlYzQ2Y2EyNzdmYjg1MmYwNmYxIHJlbGVhc2UyNS1tYWludAorNjM1NjIgNWVjOTUyOGM5M2RlYWE1NmRmOTgyNTc5MmEzZDdiMzcwMWM0ODQwYiBsZWdhY3ktdHJ1bmsKKzYzNTYzIDVkMTkyOTllZTM0NjNlZDdkMzc5ODQ0ZWY0MjhlOWNiNzkxNzlkNWIgbGVnYWN5LXRydW5rCis2MzU2NCBjNWE4NWU0ZjllODY2NmIzZGFiZmE2YzdmMzYwMjc4OTlkYTQzM2IwIGxlZ2FjeS10cnVuaworNjM1NjUgYTIxOGQ1Y2IyNThiMjA4MzEzMjgyM2EwOWRkZjkyZDk1NThiMGIxZCBweTNrCis2MzU2NyA0NmM2Yjk3ODlkZGVjYzMwNjgyMGYyNmYwYTY5MWU5NmM1NTVhMmI1IGxlZ2FjeS10cnVuaworNjM1NjggMDM0ZDZjOWUyNjcxZjllNWQzM2IzOGM1MGI4MzQwZDgwNmQzMGRjNCBsZWdhY3ktdHJ1bmsKKzYzNTY5IDI3YzBkNzM1MWVhOGRmYWM0YWQzMjY3YjNiZDZkMTFjNWZlYmU0N2EgbGVnYWN5LXRydW5rCis2MzU3MCA3MjdmZGI5MDYxOTEzZTI2MmI4MzdjMjQ3MWYyY2E1NjM0NmE5YzMzIGxlZ2FjeS10cnVuaworNjM1NzIgNTU2ODAwNWQyMjE3MzIyNWI3MDY0MWVlZWQzZjJjY2ZjMTJmMGJmNyBweTNrCis2MzU3NSAwZDBkOTY0MWY5YmQ5NzdhNTU3OTUwNWE3MDVkYzg1ZmJjZTQ5MzNkIGxlZ2FjeS10cnVuaworNjM1NzYgNDVmZjczNzY3MWY2MzM5ZGE5YzU1YTRkZmU0N2Y0OWJjYWY0NDI5MCBsZWdhY3ktdHJ1bmsKKzYzNTc3IDZhYmM2M2M2MTUyNjVmOTFlMmE5MDZjYTE2MmZiNjRiYWZhNzA1YjYgb2trb3RvLXNpemVvZgorNjM1NzggOTA5MTJiMTBhZTcyZjM4Y2FjM2QxMjlkYWIwZmNmNTJiNzVlYWFiYyBva2tvdG8tc2l6ZW9mCis2MzU3OSBmZDFhMmY0OTk2ZWYxNjkwYzUzZmIzODdmMGIyNWFjMjY5MDM2YzJkIG9ra290by1zaXplb2YKKzYzNTg2IDI4Y2Y5OWMxOTNjN2Q1NmYyMDEzOGQ0NDY1NWE3ZGVkNWI3ZjI0YTEgbGVnYWN5LXRydW5rCis2MzU4NyAwZjVmMzJiY2RjOGZjZmRkMTUxMTUwZWRmYjJkMmM1ZjE1NzExNTYxIGxlZ2FjeS10cnVuaworNjM1ODggMDVhYTIxZDZkYmViZTYyOTlmYmY5NjU0ZjdmMTk5MGVjNzNkNjdiNCBsZWdhY3ktdHJ1bmsKKzYzNTg5IGJhMWZhNTExYjcyZDFmYzRiMTc1NTUwMmU5NTRmN2Y0ZjQxZjVlOTUgbGVnYWN5LXRydW5rCis2MzU5MyAyMThhMTA4NjcyOGFiNjg3NzAwN2M0MTRhNDY5NGUzMmMyYWVmZGNmIG9ra290by1zaXplb2YKKzYzNTk0IDg3YjE0NDE4ODlhNTMzMmYxNjk2OGNmZGE5M2ExNjEzM2I2YzQ2YmUgb2trb3RvLXNpemVvZgorNjM1OTUgZjViMDI5MDIwZTAyM2ZmZGZjZTVhMTZiNmQxYzM1Mjg1YTcxNmM1ZiBva2tvdG8tc2l6ZW9mCis2MzU5NiA2ODBiYjlkZDU4MDc0NGQxYjdmNDNlYzJkMWU4OTViNDkxOGEwOGIwIG9ra290by1zaXplb2YKKzYzNTk3IDBmZWNkMzg2NzkzZTYyMGE4ZDExYjUxOTlkMDY4Y2JmNTAwNTcxZDUgbGVnYWN5LXRydW5rCis2MzU5OCAzMzllMTcxODMxNWNkODYzNGQ3OGI1YmM1ZmMxOWFkNjU3NzQyNzA0IGxlZ2FjeS10cnVuaworNjM1OTkgMzc2N2E1YWE5NTYwMjViOGY5ZWIwYzBlYjAzNzIxOGQ4MmQxMzYzOSBsZWdhY3ktdHJ1bmsKKzYzNjAwIGNiMWM4OWE0NGVkYjY1MzQ0MmJjZTkzYTE5ZDM2NjU5ODIxMDA0M2MgbGVnYWN5LXRydW5rCis2MzYwMSA3MWZkYmNkN2JhYTlhNmE3NzUzMmE0ZWNjZmJmNjg5MzVjMTAwYWQyIGxlZ2FjeS10cnVuaworNjM2MDIgMjYwYjYyYWFmY2I0OTdiZDk4MGRjM2M5NTJjYmQ5ZDI2MjNjMTNhMiBweTNrCis2MzYwMyA5YWNiMzE0YjkwNzI3OGYwNDYxYmEwZTBjYWU0NWM1MzQzODY4MjZlIGxlZ2FjeS10cnVuaworNjM2MDQgNzNiMjQxMjdmN2I2M2RmOTc3MjgzOTQ5MmRhNTgyYTIyNTE0NzMzZiBsZWdhY3ktdHJ1bmsKKzYzNjA1IGNhZjNhY2RmZTVlNDM4ZDYwYzY4Mjc1MjVkYTU5MTYzYzMyZDlmMjQgbGVnYWN5LXRydW5rCis2MzYwNiBhZmUxNDhhNGFkMjdkZmM1MTZiOTVhZjZhY2Q4ODM2Y2M1OTZhMThkIGxlZ2FjeS10cnVuaworNjM2MDcgZTUzNGVlMGE0Y2QwNDQxYTcwMWNjMzkxNTYzNWI2MDkzMTA2ZDQ1NSBsZWdhY3ktdHJ1bmsKKzYzNjA5IDgwNjU5YjlhNGNkN2QzYjYzMWQxNjZmMjg0NmFmYTEzMjE3Nzc3MTMgcHkzaworNjM2MTAgMTU0NmMxZmI4ZjgyODM0NjZjOGI5NzVjYzAyNWY4MTEyNGExYTMyZiBweTNrCis2MzYxMSBkMTI1OWZmYjEwM2MyOGNlNTViOTIxM2U3ZmQyMTBiODhjNmY1ZWNhIGxlZ2FjeS10cnVuaworNjM2MTQgZDU1OTFjMTZiOTk3YjFhMDNmZTEyZTIyOTA2OTBlYmMxZjM3MjI3YSBsZWdhY3ktdHJ1bmsKKzYzNjE1IDYwZGY4ZjY1ODU3NWFjYmQxZjAyNDg4ZDg1NDQxZmVkZDlkMzc1YmIgb2trb3RvLXNpemVvZgorNjM2MTYgODk1NzA4YjA1NmI3YmQ0MjEwZGY2ZmViMTU0MTJjNWFiNDVhYTI5ZSBva2tvdG8tc2l6ZW9mCis2MzYxNyA5NjcwMjYyNTc5NjExZjFmOWE2NmJkM2QzZDY3NjQwYjI5NzAyNjI4IGxlZ2FjeS10cnVuaworNjM2MTggMDA5MTE5ZWI0ZDJkODAwMTllNjhjZDUyNThkNDFiNzgwNGE0ZDYxZSBsZWdhY3ktdHJ1bmsKKzYzNjE5IGQ2ODhmM2Y3YzhkZmQyZTBlM2MxZTViNjQzMDE5Y2YwZWJmOWE3MjcgdGxlZS1hc3Qtb3B0aW1pemUKKzYzNjIwIDc3MGU0ZTEzMjc3NWFhMGM1ZGFhNTc1MTM3OWRjN2IyOWFiMWFmN2YgcHkzaworNjM2MjEgNDk5MDZkNDMyYjQ3YmFiMDNlNDEyZGU4OGNmNjVhM2RlYmJiNWQ3NSBweTNrCis2MzYyMiA1NjBjOTczOThiOGU1MzRlZjZkMmQxMjBlYjVjODFkNzYwZjgwM2IxIHB5M2sKKzYzNjI0IDM4YjFhMDE3ZGJmNjAwNzFjYWZkZmMwNDg1MDQ0ZWE0NGJiNWUwZGQgcHkzaworNjM2MjUgODEzZTBmOGE3NDFkNTliZDVjYTdiNjUwNTc2NTVlYjlkZDc0MjUxNyBsZWdhY3ktdHJ1bmsKKzYzNjI2IDI2YjM1OWUyMzdiNTRkOWE2ZGI4MDUzMmU2NDgzNDRlMDgyYTQxZjcgcmVsZWFzZTI1LW1haW50Cis2MzYzMCA0NmYzNTFlZTlkNWVkNDEzMDM0ZjJlOWYzNzUzNGZmNDFhMjgxZGNkIGxlZ2FjeS10cnVuaworNjM2MzEgN2ZlM2E4NjQ4Y2UyNDJmNWIyZDZjYmYxNzAzYmVlOGM0ZWI5NDY3YiBweTNrCis2MzYzNCA2ZWRjODBkNDIwMjExNDdjNTJhYmY3ZjkyNTdiZTQyMzFiMmJiMjUyIGxlZ2FjeS10cnVuaworNjM2MzUgOTM4MjZiMzVmYWNjZTY2YmRmZTFhY2U0YTBiNzlkMWNlYzAyNmVmZiBweTNrCis2MzYzNiA4MjcyNTQzODQ1M2JhOWNlNjdhNjY3Y2ZkMDVmMWM0OGEyYjVlOWVlIHB5M2sKKzYzNjM4IDMxNjYxMWZiMTI2ODJmNzBiNGQ1NzYxNzAwNDdkOGE5OGRhNjk4MGQgbGVnYWN5LXRydW5rCis2MzYzOSA1MTE5YmM3N2JkNmRkZTMzMjU4NDZjOTMxZTcwZGI0YjI2MDAwMDU4IHB5M2sKKzYzNjQwIDQwYTE2MzBlZjJjZjg0NjFhMWQxNmY0YTc5NmNhYmJkZTc5NDJkMjIgcHkzaworNjM2NDEgN2RmNGJhNDg0MDU4ZmRjZjExMTlhMjRhMGEwMTdlNzU0NTI2MWU1OSBweTNrCis2MzY0MiAxYzUxYWJlYjkyNWZlNjg0NWFjMmJiNGMxMDY4NjYxNjViMzMwZjhmIHB5M2sKKzYzNjQ0IGFlMDE4NjlmNjJiZThiZWY1ZTY2MmJkODIwMmViZTQyOTlmZWExZGIgbGVnYWN5LXRydW5rCis2MzY0NSBkN2JmMjY2OWZlNjYwODhhNDRmOGYyMmRiNmFmOGY3OGVmYmYyMWQ3IHB5M2sKKzYzNjQ2IDA4Y2UxOTJmMjRiMDQyMzUyYjM5Y2IwNjA0MTcxMTZjNmRiYjQwMjQgcHkzaworNjM2NDcgZjc2MmE5YWI2OWRkMThiZTk0MDJmMjgzMGRkMzVhNzVhOWM4ZTNmNyBweTNrCis2MzY0OCBjOWQ3MTdiNWI3YTI0NmM0YTI2YzM2MDMwZjAyM2U5NDA5OTAwMGMzIHB5M2sKKzYzNjQ5IDY1OTUzYWU5ODEyMjc5M2RmODczMTIxYjU2NjUzODRjNjU2YTNjOWEgbGVnYWN5LXRydW5rCis2MzY1MiA4YzJmNWFhY2MxYmM5ODNjMGM3NDE0ODY3NDE0ZDA5MmNkZGZiOGY1IHB5M2sKKzYzNjU1IDcwZjlhNWRiMjc5YzIwZjIzZTE4ZjUxY2I2MDQ3Y2NiMWIxNDVhYzUgbGVnYWN5LXRydW5rCis2MzY1NiBmMjhjYmFiMTFhY2Q3NGNiMDE3NGY4MWJiNzk2ZDE5MTYxMzFkNzFiIHB5M2sKKzYzNjU4IGUyNDIwMjYxZDRhMzAwYzU1ODExY2E2YWQ3MDY1OWZmNGZiNTQ1Yzkgb2trb3RvLXNpemVvZgorNjM2NTkgNTQxMWI2YTIyNmU1YWIxOTUyODc1NzBlYTdhYWQzOTU5YzJkNGRmYyBva2tvdG8tc2l6ZW9mCis2MzY2MCAwZmQ1NTNhZDUzZjY0NjQxNDE2Zjk0NjQ2ZWMwZjY2ODA0ZjRhNDMxIGxlZ2FjeS10cnVuaworNjM2NjIgYWZiZGUzNjBkZDFhOTVkYWZmYzY0OGMwZDZiZTFlM2UzOTI3Nzc4NCBweTNrCis2MzY2MyA2ZDNlMTMzMGEzYWE4NGFkNzQ2NTMzZWJhMjQzMmUzNDg4OThiYmY1IHB5M2sKKzYzNjY1IGU3MjVmZjE4MzQyYjEzZmNhYzBhZjg2ZmI3YjcxYTc5ODk0NzA3MTIgbGVnYWN5LXRydW5rCis2MzY2NyAzNDZhOTlkZjU4ODlhYmE0ZGM5NGQ1YmU0MzNkYzllOGI1YWM2YmRlIHB5M2sKKzYzNjY5IDBhNDU1MDgxNDMyMDdkZDgyYWQ2Mjk3ZDZkYzZhZGQ3ZTgwOGZmY2MgdGxlZS1hc3Qtb3B0aW1pemUKKzYzNjcwIDBiOTc0MjU4ZTE1YjgzMmY1YTZiMDlmMTZjYjhiOGYwNzA2MmFmYWQgbGVnYWN5LXRydW5rCis2MzY3MSBiOWVhYjc0OWJhNjYwMDc1ZmIzMzViOTkyMWYxY2MzYjhkY2RhZWJmIHB5M2sKKzYzNjcyIDA0YmQzNjkwZmIxZmU1YTM4MTU2NGY2NWZmZDMxNDc4NmE4ZmVjOWIgbGVnYWN5LXRydW5rCis2MzY3MyBhYmFmY2NmZTc1MDFjMjMxY2Q4NmJiM2U0NGI0MTFjYjY2MzIyNTY1IGxlZ2FjeS10cnVuaworNjM2NzQgMzI2NGFhZjdjZjMwM2YwNWJhNzIyZmQyM2NkMjJlMmIxOWY1MWI1ZSBweTNrCis2MzY3NSA0ZmUxOTJkNDg5NjAzMmYzNTYwNjAwNWNkZGYxYTExYzUzY2Q4M2Q4IGxlZ2FjeS10cnVuaworNjM2NzYgNjUzZDA0ZjMwNDI4NzcxZDZhZGE1NGJiYTY0ZGQ4MjljYzUzMGFlNiBweTNrCis2MzY3NyBlOTIzOWFkN2I4YzA3MDI3Y2RhYjlkZTUwMzhiNGZmNjA5ODg2Zjc3IGxlZ2FjeS10cnVuaworNjM2NzggNGQ5OGViYWVkMjc4MzZmNzcyYTdjYzI5YzdiMDc2YzRlYzFhNmM4NyBsZWdhY3ktdHJ1bmsKKzYzNjc5IDE5NGJiZjA0YjAxNTQ0MjVjMTUzZWQ5MzczYjI5NGRlNzRlNjlkYmYgbGVnYWN5LXRydW5rCis2MzY4MCAyY2NiMzRkNTM3ZGI2NGU2NTBlYzFlMDNhMzg1NjYyNWU0YjI5Y2I0IHB5M2sKKzYzNjgxIDk2YjM0MjYzZTQ0OGQ0Y2IzN2Y1ZmFhMmVhMjI5MzE2NDI0N2Q4MGYgcHkzaworNjM2ODIgMjNhYjU4NmM0MjdhMzdlMjFmNjFkZTI3NmYwMzJhMmUyZDgyMDU4NiBweTNrCis2MzY4MyA4MTFhODA2NTEyMzJlOGQwODU0ZWY4MjYyOGM2NTZmMGE3MDYyZjU0IHB5M2sKKzYzNjg0IDhjYzNhZDhiZjdjNGU2N2FkMzk2ZTcxMDczODVlZjFlMmFiNzcxNDcgcHkzaworNjM2ODUgZTNlMGMxYTY1MjA0OWZlOWZlYzc1ZmZhNzVkMTcwM2Q1YzBjYjM2YyBsZWdhY3ktdHJ1bmsKKzYzNjg2IDcwOGE1NjEyNzljYWI0NjExYzAwZDFjM2Y0OTc0MGMzMDdjOWQwMzAgbGVnYWN5LXRydW5rCis2MzY4NyA5YTBkNGRjMDdjODk1NGNhYmU0ODc5M2Q2MDNiMTljNWNmNGU2NTM3IHB5M2sKKzYzNjg4IDM0ZTQxZjRlOTYyZjE0YzFkYTU1ZDQ5NGI1MzQ2MTYwOTViMzc1YWQgbGVnYWN5LXRydW5rCis2MzY4OSA0YWIzZTdhYzhiZjRhYTM2NjA0MjA4MTdkYzY1NTQ0MmFkODY2ODJmIHB5M2sKKzYzNjkwIDE3YjhmNDQ1ZDA0MzFlZDBmYzkxNmQxODAyNjVjMDc4ZGYyYjBiYmYgbGVnYWN5LXRydW5rCis2MzY5MSA2NjJkMTVhZjUyZGY2NjY1NGViNTQ2ZWFjOGRiYjhiZmI3ZWI1YjgzIGxlZ2FjeS10cnVuaworNjM2OTIgYTk0NmJmNzY2NjU0NDA4NjVkMDJmOGQ0MTRlZDI1N2U0NzYyNzk4ZSBweTNrCis2MzY5MyBjZTljZGNlYmFlZjAyNDdiYjhiYWM4ZjZhMWE2MDhiMTVlMmYwOGRkIHB5M2sKKzYzNjk0IGE2ZDYxNzcwODY2NWFmNjdkZWM5MGE2OTE1MTI3Mjg4MTJhZTY4YmMgcHkzaworNjM2OTYgNzAxMDRhM2UxZDlkMzk5OTMyNDJjN2FkOGJiNWQ2N2IzYzA4Nzk1ZCBsZWdhY3ktdHJ1bmsKKzYzNjk3IGJkYTE1ODU5ZjY1OGYyMjEwZmE1OGNlOWRiNTk3MTYxMmFjNzM0NDcgcHkzaworNjM2OTggYzU2MDRiZTdhY2RmZTBhMzc3OWIyYWZjNTA0ZmQ5YzhlNTg3MTZlNiBsZWdhY3ktdHJ1bmsKKzYzNjk5IGJhODAxNWUyMzQ4NzIwNTQ0M2MyYjU2NGIxYjhjNmU1MjZlNDNkYTYgcHkzaworNjM3MDAgZTFmY2MzODgxY2I2ODc1YjRkZjcxYzEzMTBlMTY0YzNkZmFmNWE3MSBweTNrCis2MzcwMiBlMDE3ZTFmZGUzNjkyZTI5ZWFiMDA5ZjU4NGFkNDZkYTkwMGI0YTVlIHB5M2sKKzYzNzAzIDM5NzVlYzJiMGRlMmFmMjQyNTc1YTk5Mzk0MDlmY2EzODZmNmY2NjYgcHkzaworNjM3MDQgZmNkNDU2YWU1MTViYTg4MTg2ZDIxNjlmNzI4MGJlNjFhMmNkN2UwZiBsZWdhY3ktdHJ1bmsKKzYzNzA1IDAyN2M4ODdlOWRhOTIzNjg3ZmE2N2E4NDc5ZTQ2ODQyOTBiYjFmYjIgcHkzaworNjM3MDYgYmM0ZGY1MWMwMWQ1MjU1MTcxZWQ2MmZlOTRjYjU0OGMyZThiMTY0NyBweTNrCis2MzcwNyA3YzViNWYwZWIzMGQ5NTBiOGYwZTUxMmY5YmUwNWYzYjc3ZDA2MjliIHB5M2sKKzYzNzA4IGRiZDlhZDUyYjRkMGU5ZmNmMTA3MTliMmI1YzRjZmQzNzNhMzM3OTIgcHkzaworNjM3MDkgNzljN2U4NDhlYTE3Y2M5MWM1MjY1ZmM1ZWViZDYzZmUwMTRkNjBmMCBweTNrCis2MzcxMCA2Yjk3M2Q5MzZiMDc5NzE2MGNjMTZiNWU0NzE1NjhmNTZlZThhZWJmIHB5M2sKKzYzNzEyIGMyYTBhNzA4NDYyZWJhMjdhMWIzNTAzMGVkM2Y1NDYwZWViNzg4NDUgcHkzaworNjM3MTMgMDYxOTNlM2RmNDE2ZjViMjcyYzk4NWRmNTUzNTAzY2VmMTlmZTNmNyBweTNrCis2MzcxNCA4ZmYwYjkyNWVhNjQ4ODU5OTU2ZDk5YjYxYWRmY2M2OTY0YTkwYTllIGxlZ2FjeS10cnVuaworNjM3MTUgMDUyNWNkNWIyNTgyOTAwNjhmN2ZkY2NkYmJlMzRiN2JjYWNjMmNjZiBweTNrCis2MzcxNyA2ZjFhNjMyY2IyZTUzMmI4M2Y5Y2I1YjdhZjk3OGZkMmNlMTJiNmM2IHB5M2sKKzYzNzE4IDNjNzBkNjhiZWIzMDk1N2E5NzY5YzdmMGEzZmVmZTBjODAyOTE4ZmQgbGVnYWN5LXRydW5rCis2MzcxOSBmNjFiNmMzMTAwMWNiNWZjNjIwZTUwZmEwMzFiMzAyNjIzMDdlZDIxIGxlZ2FjeS10cnVuaworNjM3MjAgNzg5ZTBmMTVjMzdiNmY2MjdhYTU4NThjY2JmYzM5YTE1Y2E1MTQ0MyBweTNrCis2MzcyMSAyZjkzMTkxNjlmZWM5YzYzMGQ4MzM4ZjE5NGIxNTJlNmU2Y2ZjNjllIGxlZ2FjeS10cnVuaworNjM3MjIgNTk3ZDhmZDU2OTNlNDM5NjE3MGE1NTJhZGQzNmMwMGNhYWI4MjU0YSBweTNrCis2MzcyNCAyNzNlOGRlMzQ2MDNkY2EyN2RlYzQ1NTI2YzIzMjJhZjIwNWZjMmM4IGxlZ2FjeS10cnVuaworNjM3MjUgYzRhNDU4ZWNkMmVkN2YwMDJlMWRjMGFkYmMyMjE5Y2ViNjIwNzkyNCBsZWdhY3ktdHJ1bmsKKzYzNzI2IGY2Yzg4ZjE3MmJiZWM2OGM4MjU2OThjOGFmNmYwMTU0YTVmZTM4OTMgbGVnYWN5LXRydW5rCis2MzcyNyBjOTFiMzdkYmJhM2YxOGJkYzM2MDQ3NjMyOTgwMDZmOWZiMzM3NTM2IHB5M2sKKzYzNzI4IGE4Y2M4ZTZmMGMxYTY5MDBiNDlkNjE1ZWNjMTcxZDVmNTY0YzJiMGYgbGVnYWN5LXRydW5rCis2MzczMSA2MWE1Njk3YTc2MjY1MWZmZWViZDFiNjQ4MDJiN2MyNDAwNzY3ZTZiIHB5M2sKKzYzNzMyIDE0NzRmMjUxMjhjNDRlY2E4MDNhM2U5NTBiZGQyNjE3ODdiODExYTYgbGVnYWN5LXRydW5rCis2MzczNCBlMWE0YmY5MWIyYWVkYzQwZTRkMGJiNTQzMGE1NjZhMWE0YzRkYmUwIGxlZ2FjeS10cnVuaworNjM3MzUgMjMzNzk2OTViNGRiMjgwYzQ3ZGNiZTUzMTI0OWRiNjk0NGJjNTBlMiBweTNrCis2MzczNiAzNDNhYWFhODAyZTgxMDQyZTVlYzlkNTcxMGE2NWVjZmE4Yzk5M2M0IGxlZ2FjeS10cnVuaworNjM3MzcgZGMyN2IzYjQ2ZjBkZmMyMGM5NWZhODY2MjQxMzE2MTYyZmY4ZTM3YyBweTNrCis2MzczOCBlNDEwNDU5N2MyYTNlZjc2MmQ5NjIxYmI1OTkyNGQ1NzVlYmQ0ZDkwIGxlZ2FjeS10cnVuaworNjM3MzkgNTFjNjNiN2VjMWE4YmNlYTg0M2M5NjVhN2Q0M2E2YmZmYjE1NWEzMiBweTNrCis2Mzc0MiA1MDJlNzJmMjhlOWVjN2Q1NTI0MGU1MWRjM2EyMTg1NGU4OWFjYjM1IGxlZ2FjeS10cnVuaworNjM3NDMgZjk0YWNhYjc4YWE5OWQ3YmUzNTNkZjQxMGJmNjI4ODQyM2M2NjcyYSBva2tvdG8tc2l6ZW9mCis2Mzc0NCAzZWFhNzIzNjcxM2ZhMTc2NWZmZTM2MmZhYzBkNjBkOTVhNGRhYzMyIGxlZ2FjeS10cnVuaworNjM3NDUgNGE3ZjM0ODBmNDU0ZGI3NjdkZTI0MjRmOTA0YzdiMGU3Mzk4ZjlkZSBsZWdhY3ktdHJ1bmsKKzYzNzQ2IDRkM2U5NTM3M2Q5ZTI0MGYxNWQ2M2NiNmI1YTgzNmI0YTQ2OWZhNWQgb2trb3RvLXNpemVvZgorNjM3NDcgNDM0ZjFkNWFjZmU0Y2U4NWVjM2Q4ZmMzYzI3ZTBkZDQwZDYzYzI0OCBva2tvdG8tc2l6ZW9mCis2Mzc0OCA4NDk0NmY0NTUzZjEzOTlmZjVhN2JmNTg4MDMyY2E2NTI0NGUzNTMzIG9ra290by1zaXplb2YKKzYzNzQ5IDQ5M2IzMmM3ZDEyMTIyNzdjY2Y5MGQxMzU3ZDJlZWIwYzQxZjdkODcgb2trb3RvLXNpemVvZgorNjM3NTMgNGVlMjlmZmQyODU2ODY1YTU0YTFlNTRmMmU4YWYxM2VjZDA4MTk2ZCBweTNrCis2Mzc1NCA3N2Y4YWU4ZmM3MGI0YTA5YjU1YmM5YzM1Nzc4ZDAwNzAwZjliZGM2IGxlZ2FjeS10cnVuaworNjM3NTUgNjdmNGI3NzY3YTBhYjExYWFkM2E2Njk2OTY1NDE1Nzk5YzEzMWJiNyBsZWdhY3ktdHJ1bmsKKzYzNzU2IGI5N2RkNTg4OTI0Njk5ZmIzYjVlMjFkYjU0OGJjZDkzOTBmNGY1MTkgcHkzaworNjM3NTcgOTNmZTkxM2ZhZTU1NDdhMTljMjEzZjYwMmM3MmJmMzM5NzdhNDcwMiBsZWdhY3ktdHJ1bmsKKzYzNzU4IDA5MDY1YjAxMGM5NTA4YTc3OWMwYzNmMTBhMDFlOGQzY2MxYTNmM2MgbGVnYWN5LXRydW5rCis2Mzc2MCA3YWU3OWU5NmZjNDJmOGYzZWZhMDlhODBkYzg2YWQyNTVkOTVhY2ZlIGxlZ2FjeS10cnVuaworNjM3NjEgMTI1MjQ3ZWNlNTYyNTJhNjgxZjVkMjViMTJjYjM2MzVjMDM5YjdiZCBva2tvdG8tc2l6ZW9mCis2Mzc2MiBhMWNiNTQzMDliNGQ0ZjQzNjBhOGRhMmIxNTA5NGQwNTlkZjllZmU4IHB5M2sKKzYzNzYzIGRjZDZiZmIwZGI0MzljOWQxNjdhN2FhNDI0MmQ2ZWI1ZTE4MGQwNTEgb2trb3RvLXNpemVvZgorNjM3NjQgMjNiOThmN2VmNDU0NzY3ODdiMTMyMTBkZmE4ZThiOGRlYTAyYzg5YiBva2tvdG8tc2l6ZW9mCis2Mzc2NSA3OWYzMTI3ZjFkNzI3MGRlYjA2MTA4NGVkN2NmOGQyODk1YTdhZTQ1IG9ra290by1zaXplb2YKKzYzNzY2IDA3MmJmYmI2NTQ4NDg1ZTQzYWIzZmIzODlhODBjMDM4ZTAxMzQxNDYgb2trb3RvLXNpemVvZgorNjM3NjcgMTU2NzQ2YTYzYTVjOGYzMzI3YzhiZWNjNzhmZjI1MjUzN2U0M2NmMyBsZWdhY3ktdHJ1bmsKKzYzNzY4IDc2NTI5MzZmYWQzOWY4YjdlMGY2YmVkMzNlZTAyZTQ3M2RmYzUzYTEgcHkzaworNjM3NzUgNWUyM2IwZmNjNzhlZTZhNDNkYzdlMzI3ZWYzZGEzOGU5MThlYTZjYSBsZWdhY3ktdHJ1bmsKKzYzNzc2IDI5Yzk1MzZjMDRhZDQ4NzY5ZWQ5NzM2YmEyNzdhNDI3NGI2MDZiZmMgbGVnYWN5LXRydW5rCis2Mzc3NyBiNmNiZWM0OTk3NTYyMmQ2OTcyN2JjMzllNDU1MWE3NzNjNTViMzMzIHB5M2sKKzYzNzc5IGIxNGM0YjViYWIwOGQzNmZmYjkyNTI5NjBmYWQzMGYwY2Q0NTExNGQgcHkzaworNjM3ODEgMDAxNTQ1NjdkNTkzNWIyODRjYWMyNTczMmJlODk4OGUwMzczMjE3YSBsZWdhY3ktdHJ1bmsKKzYzNzgyIGVmNTFmY2RhMzQ4YmY5MjNkZDk4MmVhNzJiYjIzNjY3YzA2MDEyMjMgbGVnYWN5LXRydW5rCis2Mzc4MyA2M2I0NzQ1NTYxYzM0MzZlZjVkNzIwM2FiZGQzNmY5YzU5ZmZjODYzIG9ra290by1zaXplb2YKKzYzNzg0IDllNmU2YjgxN2YzMjAyZTMwZGJjYzg4NDk1YWZhNjY1ZmUzMTA0NGIgbGVnYWN5LXRydW5rCis2Mzc4NSBmYjJkOWIwYjQ0NzAzMmExZjdkYWYzODFmNWVmZDkyOTk3OWUwZDRjIG9ra290by1zaXplb2YKKzYzNzg3IGU4MWQwMmQwOTY5NzRmMTMwNWU1MjQxNDIxMzk4MjA5ZDcwMWE4NjkgbGVnYWN5LXRydW5rCis2Mzc4OCBlMmM1YWUzMGNmZmVhY2Q0OGEwZWZkNTYxZDNkMjE2NzUxMWUwNjY3IGxlZ2FjeS10cnVuaworNjM3OTEgYzU5NWRhMDU1ZmQwOTIyMTJmYWE2Y2Q1NjM4MTFlNmNlMzVlNjcwMiBsZWdhY3ktdHJ1bmsKKzYzNzkyIGM5MGNkZDgzNTk2MDZlNDM3MTdiYTBkOTgwMThmMGIxODM3ZGIzOTMgbGVnYWN5LXRydW5rCis2Mzc5MyAzOTg2OTgwM2JmYWVlZGQwNjA0M2NlNDczODQ5NTZmODAzOTUwOTFhIHB5M2sKKzYzNzk1IGFlYTNjNTU0M2Q0M2YyYjlkNTFjMzc4NTY3ODNiZGNkMjliNGU5NTAgcHkzaworNjM3OTYgMzY2YTQzNTUxMWRkNWQ0YWM0MDU5NDIyZDAyNDhlZDQ5OWEwOGQzNSBweTNrCis2Mzc5OCAxZDI5YmZhMjczNjgxYjk0MmFkODhlYzgxMmU1YTJmNDRjZjU4NDA1IHB5M2sKKzYzNzk5IDkyMmU1YTI0Y2M4MmU5ZWZkYTQ4ODY3ODMyOTY2ZmU3ZWU3MDU5ZWEgbGVnYWN5LXRydW5rCis2MzgwMCAyMzkxZGE2YzQyZWYwOGExNmM3MWNkNmE2YjhkYzEyYzY0MzY5ZDQ2IGxlZ2FjeS10cnVuaworNjM4MDEgMjYzZmQ2ZmJhY2FjNTg0NWU5NDYyNDQxMzExZGIxYzAyYjgzYmJiNyBweTNrCis2MzgwMiA4ODJhYTE0NjY1ZTQ3ZjFmZDg4MDc3ODJkMDY0NDkxOGE1MDM5NTUyIGxlZ2FjeS10cnVuaworNjM4MDMgMDE5ZDNiMTEwYTZlZWU5YTRhM2Q2NjU2NDk0NTUyMzFmYTlmNmUyZSBweTNrCis2MzgwNCBjZjVmMjczMWZjNTYwNzE4YzFmMzkxYmIzYjlmMWIyM2M4NWJjMjAzIHB5M2sKKzYzODA1IDFlMWRmODkyMDk1YTcxNDE1NDEwNDVhNDZhNjZlNjBiNjVkYjhhZDggbGVnYWN5LXRydW5rCis2MzgwNiBlYTI3M2M4ZTNlYWEzMDU0NDBlZGYxZTEwZWQzNjA0ZmZiNmIwYzU3IGxlZ2FjeS10cnVuaworNjM4MDcgMzM4NjViYjU4Mzk2MmYyNTMwNTY5YTdhNDNiZjVkYTczOTdiYTAwNiBsZWdhY3ktdHJ1bmsKKzYzODA4IGQ2NjM5Y2Q5NTc1ZmYyMGFlZWMyOWQwYzhhMGRkZTc3MDYzNWExOGIgbGVnYWN5LXRydW5rCis2MzgwOSA2Y2U0NDM1ZjE1YWQ0ZThlZGNmOWYyODc2NWNmMmEwODAwZGM0YWM3IHB5M2sKKzYzODEwIDBlOTE2OTBkYWUyZjYzOTZjYWY0MjE4Y2UyNDE3Y2M1ZTk0NDJkMTkgcHkzaworNjM4MTEgZWNhODgyNzMxMTk0Y2RhYzQxNTEzZTc2MDk0Mzk5YzlmMDhkNmEzNyBweTNrCis2MzgxNCA0N2VmOWE4MDZjZTk3YmU3NjlhNDMxMTU0MjVlODQ4N2IxMDY5NzY2IGxlZ2FjeS10cnVuaworNjM4MTUgMGRhMjdmZGYwMTkyMDU3NDhmYzY2ODA3YzdlNmIwZWI5NTIwODAyYiBweTNrCis2MzgxNiBjNDFjMzk1NDU4ZWIwMjhjMWY4NDQ5NzJiMDhmODQxNDlhODcwOTI0IHB5M2sKKzYzODE3IGJiYTI5ZjQ2MmJjYzY5MDQ5NzNiZGVkMTdjODBlY2Y4ZDRhZGRiM2MgbGVnYWN5LXRydW5rCis2MzgxOCAxMDVhZDYxMzI1YWMxYzIyYTBjNTA4ODE0Mjk2M2RiOTgyODdhZjliIGxlZ2FjeS10cnVuaworNjM4MTkgMjE1MTBjYzBjMmU0MmI3YmYwYjU3N2YwYzI4ZjNkNWNjYWVmY2FmOSBsZWdhY3ktdHJ1bmsKKzYzODIzIDBiMjdjZTNjNmIyMWM5Y2FmNzhmNzQ2NTRlMWQ3MWI4NWE5NTdlMGQgbGVnYWN5LXRydW5rCis2MzgyNCAzZGNkNzAwMDQ2OTZmZGY4NzMzMDQxMTkwNWQ4YzBiMWIwYjY5MGUyIGxlZ2FjeS10cnVuaworNjM4MjUgYTJlNzJlY2RiZTAyYmU4N2UwODg3ZjQ3MDc5MzRlOThkOTNiYzA3OSBweTNrCis2MzgyNiBjMDRhYTRhYWJlMTdlYmQ5NWM4YzhkZTM3MTIyNmVmYTViMTkxNDI5IHB5M2sKKzYzODI3IDJlODc2OWQ1YTc4NmI5NTQ0YzJmYjk0ODZkMmQwYmQxZWE5YjVmMjEgbGVnYWN5LXRydW5rCis2MzgyOCBmZjZjYzlkNGZmZDM1YWU1MWFjMWY5NmEwM2Q0M2E2ZGYxYTU2MDMyIGxlZ2FjeS10cnVuaworNjM4MjkgMDNhZmU2OTg1ZTVkZjc4MDIwNmIxOTA1ODhjNjQ0NDZlNGUyMDkwYyBsZWdhY3ktdHJ1bmsKKzYzODI5IDgyYTQ3ZDc4ZDI3OGI5NzYzNWI1MTNlYmI4OWE4YWY1MWZiZWEzNDggcHkzaworNjM4MzAgYWYzNjg1ZmE5Y2E5MTQ4MjU2NTJhNGU1YmRmZDY4ZGFiNzU3N2Q4NSBsZWdhY3ktdHJ1bmsKKzYzODMxIDUxYTg2NTMxMjhlM2FkNWYzOWQ1NjYzZWFkZDE1NjlhMmJmM2Q1OTQgbGVnYWN5LXRydW5rCis2MzgzNyBiZWUyNzFlNzZhM2U1MzExYjcxMmFlOGQxN2QyMmNlZGZlM2UyMmExIGJlbmphbWlucC10ZXN0aW5nCis2MzgzOCAwNzVjNmJkMjBmMDc4MDRkYjZmZjlmZThlM2NhNDJkODRmOTQ4NjNmIHJlbGVhc2UyNS1tYWludAorNjM4MzkgMDE1NmMzMzZlNmIzZDUxZWFiZjZiYTU1MjY2M2ZjZTc1OWRkNTU0NyBsZWdhY3ktdHJ1bmsKKzYzODQzIDFiZGYwNzQwOTQwM2I0YjU1NzgyODcxZTZkYTFhYWFlNmQzNjJiNjIgcHkzaworNjM4NDQgMmY1ZWRlMDBmYTllZTE3YWFmNDRjYTExZDRmMTU0MmYxODFiZDMxMiBweTNrCis2Mzg0NSBjNGUyZWYwOWEyZjA0YjI5NzQxNGM4YTZjZjM0MjE2Y2Y2MDIzNmNkIHB5M2sKKzYzODQ2IDEwNjJiN2RlYzk1YjdhNjdhMGVkYzk4OWZiMWQ5NjRlYzI2MWM2ZTEgbGVnYWN5LXRydW5rCis2Mzg0NyBkMjM2MmY5OWE0MDM2OGM4OTdiNTMzNDI2ZDIwMmM5Yjg4ODBjMGUwIHB5M2sKKzYzODQ4IDYyMmNhYmJhZjJiY2U5OTdmNTliZGNhZjFhZTMyZWRiOGRjMDE5YzEgbGVnYWN5LXRydW5rCis2Mzg0OSAyYTYzYWIzNTk1YTE5ZTI5MzFkM2I0ZDliODIxNDVkZmIwZWE4ZjMxIGxlZ2FjeS10cnVuaworNjM4NTAgZWNmMmVkMDk1ODgxNTU3ZTZiMjhhNzk0YjA5ZTAzZDU0MzdkZjE3OSBweTNrCis2Mzg1MSBiMTMwNDRkNTU0YWZkYjMxMjA4MWRlMWM0ODhhMGM5ZTMyNDgwOGRiIHB5M2sKKzYzODUzIDgzYTEwMDAyZmVkYmRhODQ5NDE2MDMyOTQ4ZDNiNTVhNjA4NzUxNTkgdGxlZS1hc3Qtb3B0aW1pemUKKzYzODU0IDY1MzAyNjQxNDM3NmM4M2E2Y2Q4ZTgzNjhkMTA1NTc5MTJlMDQ1MjQgdGxlZS1hc3Qtb3B0aW1pemUKKzYzODU2IDg4YmQwN2MwYTg0N2QwMzQxMTc0ZTI1ZThlNjg0NmEwYmYyNGE3MzYgbGVnYWN5LXRydW5rCis2Mzg1NyBiZWEzYzFmNTJlMDViODg3NGViMDIwMTEzYjM3ZGNhOWE4NzdjMmI4IHRsZWUtYXN0LW9wdGltaXplCis2Mzg1OCBlODc5N2U2ZTA3YTc0MDVlYzUwNTM4NTg2NDBmMWNmZTNlZGQ4ZWIyIGxlZ2FjeS10cnVuaworNjM4NTkgYTY1ZjA5NWIyN2YzY2M0MDg1NmM1MTc2YTU0MTViYmY5MGJiZTYxMiBsZWdhY3ktdHJ1bmsKKzYzODYwIDM3MDI3MjlhMjQ3MDczYTA1Mjg4MDg1YjU0NjlkOTkzNDU1MzBmNDQgbGVnYWN5LXRydW5rCis2Mzg2MSBmY2Y5ZDk1ZWY1MGQ3OGIzMzFmNGM4NjNhMTQxMjIzYmZkYWU3YzIyIGxlZ2FjeS10cnVuaworNjM4NjIgY2ZiNTQ5MTAwMWQwMmFlNGI4MTVmM2E0YWJkMzc5ZmY1MmVhM2NlZSBweTNrCis2Mzg2MyBlN2YwZmQ4MzU4ZjVhZWY3NDE3OTgzZGFiMzA1ZmQxY2E5Y2JjNGViIGxlZ2FjeS10cnVuaworNjM4NjQgNGRlZGVmNGMwZGZkMjkwOTI1OTA1MTMyZDY2NmMwY2I1MTVkNDE3MyBweTNrCis2Mzg2NSBjMGZlNTRhMDI4ZTM2NTkyMDEzYWZmY2U4NGQ1ZmRlYjUzZDVhNTU3IGxlZ2FjeS10cnVuaworNjM4NjYgMzE0NzZkYjk5YWMzMWZmMmE4NDJjOGQwNWE5ODlmZGVkYzc2YWQ0NyBweTNrCis2Mzg2NyAwNmQ3ODU2Y2E5ZjQ2YThmZWI5NGEyY2ExMTk3MmMyMzg0NGJkMjIzIHB5M2sKKzYzODY5IDgyM2JlNGEyNzVlMmI5OWUxMmUxODJjZmFhYjJkOTQ4OTI2NjFlZDMgcHkzaworNjM4NzEgYzBkNjE2ZjBhZDg2MzlkMmM2MDlmODg4ZjdjNmZmMDljYmMzNWUwZiBsZWdhY3ktdHJ1bmsKKzYzODcyIDMxZDJmZjg2OTZiZGM4ZWMyMGM5MzdmNDIyZTE4ZThjOWZmZDA2NGIgcHkzaworNjM4NzMgMGJmMDhkZTMzOWEwZDIxMDNhZjIxNDliMGEzNDYxN2MyODk2YWZhYyBsZWdhY3ktdHJ1bmsKKzYzODc0IGYxNTAxNzdmZjFmZjc5NGQyOWRkM2NjNDY0MTEwMmVhNWQ2ZDk0NWIgcHkzaworNjM4NzYgZWJiZjg5NTA1NmVhOGFjZjExZTU3Yzc4Yzk1NmE3NDUwMGQzNjkwMSBweTNrCis2Mzg3OSBiNmRkNDllZTAzNWI1ZDNkNmE4ZjhjMDQwYzgxNGUwYWJkNWM1ZjFkIGxlZ2FjeS10cnVuaworNjM4ODEgNjQwNDQ0NmU1YWEzNmIyMTBiNzhmYWI0OWY4NWY3Y2U2YjIyMjkyNCByZWxlYXNlMjUtbWFpbnQKKzYzODgyIDdlYWFhZDA5YjZjZGQ0YjdkOTg2YmZiOWVmMjU4ZDc2NWFlZjY5MjMgbGVnYWN5LXRydW5rCis2Mzg4MyA3ZDY2MTEwNDY0MDQ5YjEwMmEwZWU5Zjk2MzNlNGJhODA5NDI0ODI2IHJlbGVhc2UyNS1tYWludAorNjM4ODcgMTAwZTMyNTA5YjU3NzY1MzZjYTZkY2FiZmIyMjY0ZDA0NDIxY2Y1NyBsZWdhY3ktdHJ1bmsKKzYzODg4IDA1ODA1MzFjMzc1NTVhZGU4MzFlZjcxMjZhODc0ZTBhYTcwMjJiYzkgbGVnYWN5LXRydW5rCis2Mzg4OSA1YmM3ZGE2NTAzYjA1ZWI3NzZlMTYxNGEzOWQ2MmI5OGQ5NjFjMTlhIHB5M2sKKzYzODkwIDc5MzczZTA3MGQ0ODYwMDllZmFkOTJkMTE4NWM2Y2U0NWFhNjkxYWQgcHkzaworNjM4OTEgYmIyYzRiZGMzYzY4M2I0OGZhOWU5NWJkODI4M2ZkOTQwNDhjMjRiZCBweTNrCis2Mzg5MiAxZjJmMTU3N2FlNzgxOWNkYjA0ZjQxMWI5M2FmMjZiZjU4YWI1ZTU4IHB5M2sKKzYzODkzIGI2YjUzNGI4MjhiMzM5YmJkNmVmN2JhMDIyNWZjOGViYjkxMTJjMDMgcHkzaworNjM4OTQgNjVhNjA2MDhhYjVhNTliMDI4NDkzY2Y3NTg4NGUxOTVlNDVhYjllMCB0bGVlLWFzdC1vcHRpbWl6ZQorNjM4OTUgZjllYmFjYWNlMzVkM2NiNTdjNjllYWZjNWUwNDdjZWExYjlhZDk5ZiBweTNrCis2Mzg5NiBlMGNhMDIxOGZmMzNjMDI0YjUxYzIxNGI1MDE2ZTJjOWM5NDAyOTYwIHB5M2sKKzYzODk3IDQ0NDAyNDdiOGE0NDgxZGZlNmU0ZjNmMDA1MTA0NDhmM2YxZDBlNDkgbGVnYWN5LXRydW5rCis2Mzg5OCA3NzA4OGQ0MWM3OTAxZmNkMGEwMWI0NDI1OTVhNmYxZGNhMTE3ZmE4IGxlZ2FjeS10cnVuaworNjM4OTkgZWQ0NzFhODAwOWE2MzE5MWY0ZGNhOWIzNTdkODFiZGQzNDNjODYxOSBsZWdhY3ktdHJ1bmsKKzYzOTEwIDQ3ZmYyNGJjNjExNjVkMmYzMjY3ODE5NDMyYjE1OTA0NjkxOThiNmMgbGVnYWN5LXRydW5rCis2MzkxMSBjMjNlNmQ1MzAwYTBhMjRjNGE1MTExYTI0NTQ4ODhhYTUxMzEyYTg0IHB5M2sKKzYzOTEyIDM5OTkxOWU2MWQyMzhjMjIyMGMzY2ZmOGYwMDMzMWUyYzEzMGQ2M2MgdGxlZS1hc3Qtb3B0aW1pemUKKzYzOTEzIGY3M2U2ZjZkOWJhNjk3Y2E5MjdlM2RjYjM0OWRiOGZiMjg4MGE3MzcgdGxlZS1hc3Qtb3B0aW1pemUKKzYzOTE0IDUzNTNiNTUwYzk2OTJjZTg4N2QyNjBhZGE5ZDAwNDU1YzljZDViZGMgbGVnYWN5LXRydW5rCis2MzkxNSBhNzZlNDliMjE5YTJjYTJjNzU0ZTU1NDc1OTY2Mjk1ZTFkZTY2NjQ4IHB5M2sKKzYzOTE2IDg2ZWQ5NzlkZTg5ODdmYjBkYzMxOGQyZTA5N2VlNDY5MTA0Y2EzY2UgcmVsZWFzZTI1LW1haW50Cis2MzkxNyAzMjU4YmJmYzQ1NmU2NzRjMWE0ODg0YTA0MDhkY2Q3OWE3MDUyZjgxIHB5M2sKKzYzOTE4IGU0YTE4NjQzNzQ0MDQyYjYzMTU4M2NlZTg4NmExODJmNGNhNzcxODUgcHkzaworNjM5MjkgZWYwY2NjZGU4YzI0NWNiNTU2ZjQyMWYzMjBmOWE2OGNiYmJmNDJjNyBsZWdhY3ktdHJ1bmsKKzYzOTMwIDU3MmQ4MWVjZjAwZDYwZTNkNmZkOWU1ZDI4ZjRhMWRmZjkwMTc0YjAgb2trb3RvLXNpemVvZgorNjM5MzEgZjgyMTE2NjAwYzBmMTgxYmNiNTM5ZmI4NTY0Njk0NmU4OTAzNmQ3YiBva2tvdG8tc2l6ZW9mCis2MzkzMiAyYTFjNjk3OGRjNTc2MTBlMDVmNzZiOWY1MWY0NzI1ZjVkMmMxNDBkIGxlZ2FjeS10cnVuaworNjM5MzMgMjFiZWIwZDVlMzI5OTUyNGIxYTQ5ZjJkOTY4NzU3M2E5NmJlZjlhMyBweTNrCis2MzkzNCBkNTdhYTc1MmE0MDExODI3N2Y2MGExZDM5NjUyN2E5YjIxODgyZTIwIHB5M2sKKzYzOTM1IGQwZjc4M2JhNzY2OWEzMGMxMWJhZTFmMTM1YWE4MGFiYmVjZTMwZDggcHkzaworNjM5MzYgYTY1NjE5YWQ1OWYyODczOGJjNWZjNjk4NzE0MGExNGEwYTc3MWVkNCBweTNrCis2MzkzNyA4ZmNjOWVjMTg4MjQ2M2FiZmUxOWFjOTFiZGViYmI5NDBkYzg1NWIxIHB5M2sKKzYzOTQwIDU4ZjRiNjA3NzNmZTYwN2NiZWM4Y2ZiNzU1YmU0ODRjNzUzMmFkNDEgcHkzaworNjM5NDIgOGFkNGViZGJkMzczYWE3MzkzNDI4MmM1MjAzOWU0NmRiMTEwNjM1MiBsZWdhY3ktdHJ1bmsKKzYzOTQzIDEwZmIyZGVjMzY2NWI0YjU4NzMzNjFjNGVlYzUwYzIxMGYxNTFmNTQgbGVnYWN5LXRydW5rCis2Mzk0NSBiMGQ0Nzk5YjBkYjg0NGU3ZDcxYTQ4ZDY1NTNlOGU5NDNmNDcwOWRjIGxlZ2FjeS10cnVuaworNjM5NDcgODQ4MGY1NGZjZDZkZjRjMzI0YTJmZDRlYjFlYjA0MjIxOTFlZGJlMSBweTNrCis2Mzk0OCA3MWJlZDIwOGZlNTA0MjQyZGY3Mzk4MzRhNWZjNzQzYjc3ZGE1NjY2IGxlZ2FjeS10cnVuaworNjM5NTAgZTk1YzE1YmI5OTUwMmI3YzE3ODRlOGY2YjI1YmJiZjBhMjM4MGRhZiBweTNrCis2Mzk1NSBjMzRlMzQwNTc3MTRhMDExYWI5Nzg3NzYwNzhiN2Y2YTFmZjU4ODZmIGxlZ2FjeS10cnVuaworNjM5NTYgNDU0YzdiMGI2OGE4N2JjOTc4MWIzMWE1OWEwNzRkY2EyOGVlNWUyYSB0bGVlLWFzdC1vcHRpbWl6ZQorNjM5NTcgZjA0YjA1OWU2Yzk4MjExNTVmZGM2NzU4OTM4NDQ0OGE5ZWE1OGYyYiB0bGVlLWFzdC1vcHRpbWl6ZQorNjM5NjEgNzM1MjU0M2NiYTAzYzQzMWVhN2QxNjUyZGIwYmIwMjUyZTMwM2UwZiBsZWdhY3ktdHJ1bmsKKzYzOTYyIGJiY2UxOGQwMGQ4NzUyNWFjYWY3Yjc0MjNhMTA1OGRhODAwMjIwMjIgbGVnYWN5LXRydW5rCis2Mzk2MyAxZDBhOGNhYzE1ZWYwNGU3NTZjNmU3ZmIyNDhkMzMzZDkyMzg2MDljIGxlZ2FjeS10cnVuaworNjM5NjQgOGUwYmMxZmMwOTVlNTBmYzQ2NzJmOTQ2NzZlMjJhMjg5ZTA4NTBjNCBweTNrCis2Mzk2NSBhZDEzY2I5ZTk0ZjFiNzRmOWRhMDQ0N2ZiYzZmZmY3ZTg5NDc5NmZjIGxlZ2FjeS10cnVuaworNjM5NjYgZmQ2ZjMwNmMwNGUwMGFmMmE4M2M0YTEyODJiN2FkMTlkODUzZmZjOSBweTNrCis2Mzk2NyAyYTQ5NmYxZWI5ZjE2NGY4NThjMjZiZGM1NzczY2I1ZGRiNDg1MjQzIGxlZ2FjeS10cnVuaworNjM5NjggMGQ3Y2NiNTAwMDdjZTJjMjBmODM3YTRkYWI5MDIyNzY3MjU2YzA3ZiBweTNrCis2Mzk3MCBiNTUzMDllZjU0Yzc3Mzg3ZmUzZGY3ZjlmYzUyZmQ1YjYwMTZjYWE4IGxlZ2FjeS10cnVuaworNjM5NzEgOTQ1ZGExNzI2Y2YxYTA4ZGYyYWU0ZWY4NDE2ZGViZmY5MzkyY2NiMyBsZWdhY3ktdHJ1bmsKKzYzOTcyIDllMjcxY2IyNWU1OWY4OWYyOTZmZDcxMjJjYzdiNDEzOWNkYWEyYTIgbGVnYWN5LXRydW5rCis2Mzk3MyBmNzQ1M2IwYjMzOWUwNWU2NzBiNTdhM2UxNDc2OWE2MTA1ZTk2YTAzIHB5M2sKKzYzOTc1IGIzODJiZWI3YmUzNmYyNTI2ZWE0ZjcyNGU0MDhmZDdlYjA2YTM0ZDkgbGVnYWN5LXRydW5rCis2Mzk3NiA3ODgwYTQyNzcxNTgyYmNlNWY3NTExZTY2ZjQ4NTZjY2FmY2U2NDMwIGxlZ2FjeS10cnVuaworNjM5NzcgNGY1ZTZhYWY1YTZhODBhNjUzOTA5NTVlYmU0ZGJiODlmMTE4MjZkYiBsZWdhY3ktdHJ1bmsKKzYzOTc4IDdhMWQ0ZTgyMzNmODkwMzEyODM4NGM1NzEyNzQ2NTk0ZDdkOTY2YzUgcHkzaworNjM5NzkgMzI1NWYxZjE2MGFkZWRjMTA0MWU5ZWJhZTRkZjQzNTA0ODQ5NjIyZCBweTNrCis2Mzk4MCAxMzBjZTg2ZDYxYjY3OTJlODJhMTBlMzJmYTQ3ZGRmZTg2YWIyNGM2IHB5M2sKKzYzOTgxIGViYmYwMTE1NTBjZDZhOTQ0ZjkwM2M4N2E5MmMwZTM2OTJjY2UxN2IgcHkzaworNjM5ODIgYWY2ODBmZDNmZmRjNzYzNDg4MWNhMWVjMTM0ODk4NTUzMGU3M2EyZSBsZWdhY3ktdHJ1bmsKKzYzOTgzIDllYTEwNGYxZTVjZDI2M2M1NjEwYmQyOWMyN2M4NDk5Y2YzZjVjYzcgcHkzaworNjM5ODUgY2FhOTBjZjZiZTlhM2Q1N2Q0OWY5Zjc0MTVkMWFkYTljZGJkZDU3YSBweTNrCis2Mzk4NiAyMjg0ZmE4OWFiMDhkNTU3NzEwZjQ3MTUwODVmODEyNTUwNzJmNTkwIHB5M2sKKzYzOTg4IDIyMTBmNDJlN2M4OThiM2RhMjMwMGU0Y2I5NjYwNWE4NTA5NGQ4NmQgbGVnYWN5LXRydW5rCis2Mzk4OSAyNDk1NGViODBiOWI2MTdiMzQyNWI2MjNiZTU1NTJjYTBhMjI5NDcwIGxlZ2FjeS10cnVuaworNjM5OTEgZjA4ODUwOGY2ZDk5ZGFlZjJlYzI3MWJhMDdjN2NlNDJhYjMwOGM2YSBsZWdhY3ktdHJ1bmsKKzYzOTk0IGEwMTkzYjA4ZjBlYjhmNzU2ZmJhZTc3ZDZjMWQ4OTc3YTc1MmU0MTMgcHkzaworNjM5OTcgYzlhNWYyZWI3MjBjYzU1YjU0OTRhMmQwYmI5MmQwMGNkYzk3ODcwMCBsZWdhY3ktdHJ1bmsKKzYzOTk4IGM4OTQzNGNiOTE0ZDhjYzk3NDEwMDQ3ZWNlMGE5MmZmZjM5ZWU5NWUgbGVnYWN5LXRydW5rCis2NDAwMiAzYWViYWM3ZjI3MjUyZTQ0Mzc3MGVkZDczNGY1ZjM4YTMwMWZkZTAzIGxlZ2FjeS10cnVuaworNjQwMDMgYmYxNDNiZWIwOGU4ZTYyMWE1MmQxYWRjOWFiOWJkYzg4ODk1NDY4YiBsZWdhY3ktdHJ1bmsKKzY0MDEyIDlmZGEwOTBjMDQ1ZjZlMzE0NGEyM2QzM2ExY2FjYmEzY2U4ZDJkYzYgbGVnYWN5LXRydW5rCis2NDAxNCBlYmY2ZjYzOWUxMTc4NWRiNDVmYWIwY2Y5ZDc5ZWI1NzIyZTMzYmVkIGxlZ2FjeS10cnVuaworNjQwMTUgOWJlY2U1N2NkY2UzMWI4MDkxMmRjZjY0ZTU5NmRlNzJjOGFlOWE5ZCBsZWdhY3ktdHJ1bmsKKzY0MDE2IGIzMmQ3YjgzMjk4YTk4ZTQwYjMxNzcyZmQwYjE0NzU0ZWYzNjY1OTggbGVnYWN5LXRydW5rCis2NDAxOCA3MjAxYzAxOTNhZGVkODNiZGZjN2NmNjgzZDYyNTgzZTU1ZjNiYzMyIGxlZ2FjeS10cnVuaworNjQwMTkgNDBmMmQ1YTRmYWRjYzMzYmUyMDkwMjJiMDgxYjQwYTA4YjIyOTdkYSBsZWdhY3ktdHJ1bmsKKzY0MDIwIDY3NzU2NGEyNzA3YWFjNzFiYjQyMWFkYmYyMGU5OTIxNzQ3M2QwNmYgcHkzaworNjQwMjEgNWY2NWM4MzNkYzg3MDZhMmQ1ZGRhZWFlZTZkYWJlMzU2OThlZWEwMSBsZWdhY3ktdHJ1bmsKKzY0MDIyIDRmNzBhOWRlMjg2NTE5NjA3ZTJjYzE1ZjBmNDRmYjJiM2MwZWRhZjggbGVnYWN5LXRydW5rCis2NDAyMyA3ZDM2MTNkYzNmMWNjZGU1MGNmYTY2ZWI4MzgxMzRkZDkwODRlZjQ4IHB5M2sKKzY0MDI4IDc4ZDNkMzU5NTU1ZWE1YmFmNTczMWM5OWQ4OTFmMGNiZTk2YmMxOWYgbGVnYWN5LXRydW5rCis2NDAzMSBmM2RmNTFiNjBkYzI2MjNiNTU2NTZiY2NkZjYxZTlkOGY4NzVkZmM1IGxlZ2FjeS10cnVuaworNjQwMzIgMjJjZmNlYjMzMzhlNjhhZjg0OTIxMmQxODk4NzE3YjM5NmQwMTdiNiBweTNrCis2NDAzMyBhN2IxNjIyMjc0YjM3NTJkZjBkNmJhZDRiNmMwOTE5YzEwZGQ2OWY0IHB5M2sKKzY0MDM0IDVkMjc0MmUzNjg4NmYwMWRlMDMyYTVlMzUyNTM1NDZmYTVmY2YzMGIgdGxlZS1hc3Qtb3B0aW1pemUKKzY0MDM1IDFmZmU2YWI4NGExYjhlZGMyNDg5MzlmYzZkMTFkY2I4ZmY2ZTNjNDMgdGxlZS1hc3Qtb3B0aW1pemUKKzY0MDM2IDFjMDMwOTBiMmEwYTJmYmU2MTRjOGUzNDJhNjhkZGFmNTlkODlmMDkgbGVnYWN5LXRydW5rCis2NDAzNyAyNGRmMzQzNGNjZjdiYzI4NDVlZTdkMmM2Y2UzMjUzZGUxMTU5YWNhIGxlZ2FjeS10cnVuaworNjQwMzggYzhlMjk1OWU4YjBmMTkyYTRiMzIxOGJmZjlhNjMxYjZiN2Q4NGJhNiB0bGVlLWFzdC1vcHRpbWl6ZQorNjQwNDAgMzFhZWU2NzAxOWEyYWQ0YjU4YzA5YjI4MzA2NDM2YmRiNTMzMzFiZSBsZWdhY3ktdHJ1bmsKKzY0MDQxIDAyNjUxM2JlMzhkYWE3N2JkMGM4ODI0Zjk5OTdhNTkxOGQyMTczY2EgcHkzaworNjQwNDQgZDU2NDUwZGI2MGEyM2YzNDM0ZDZiZDAyMDc0ZTFiZjM1YmM3MDY0YSBsZWdhY3ktdHJ1bmsKKzY0MDQ1IDUzMjUzZjM2MDE0ZTAwMWYxY2YxM2NhYzE5ZWFiN2RhNWJjMDJlMjIgbGVnYWN5LXRydW5rCis2NDA0NiA5NGUzNjMwZGFjYTczMGZjODVmNDhmNTcxNDM2OWVjNGRkMjdkYmQ4IHB5M2sKKzY0MDQ3IDI0NmE4MDI2MzdhZGY3ZWQ4YzYwYjMwNzlhYWVmYzY3OTJiOTdmNGIgbGVnYWN5LXRydW5rCis2NDA0OCA1MjI5NGFmNGI2NjNjYWRhOGUxZmQ5ODg3OWVkYzQ5MTk5NTQ2Yzc0IGxlZ2FjeS10cnVuaworNjQwNDkgN2FjYjdlN2E1ZjI4MDkwNTA0ZDk2MDBiMmFlZGVlYjYwZjRiNTg5NSBweTNrCis2NDA1MCA2NDI4YzRmMWFlMDk3YTQyNWMxYmNlNGVmYzMyZWU5MzJkMzA3MDBlIGxlZ2FjeS10cnVuaworNjQwNTEgZDRjZDcyMjNhZjNiZjI5YzNjYTdjZDVjNzY5YTczMTlkNDFmMWVmYSBsZWdhY3ktdHJ1bmsKKzY0MDUyIDc3MWY3YTgwNDg3NGZkN2RhMGIzZmNlZjg5NWMyZjAyNTMyYWIxM2YgbGVnYWN5LXRydW5rCis2NDA1MyAwMjA1OTI2OGM4MjVmYTM2MGYxMjM1YTIxODY2OTkzOThhZDEwN2NjIHRsZWUtYXN0LW9wdGltaXplCis2NDA1NCA2Y2ZhMjk3YzY1NTUwYzljMmY0MjI2MzA1ODNjMmNkN2M5ZDk1ODczIGxlZ2FjeS10cnVuaworNjQwNTUgMTA1NzdlMjVmNzhmNmMyYTA1YTMyMzRjMjYzYjdmYWFkNzg0OWM1MiBsZWdhY3ktdHJ1bmsKKzY0MDU2IDJkNWYxZDk1NmVmNmJjZjQyY2I3ZWE1NzUwYWRmOTdkOTE4N2I2MGUgdGxlZS1hc3Qtb3B0aW1pemUKKzY0MDU3IGRmOWIzMzdiYTMxMTI0ODlkMjVmM2ZhZDkyMmI3YjQwNWRhYjFiZWUgbGVnYWN5LXRydW5rCis2NDA1OCAzOTM5ZmY4OTgzNGNmNjBjM2YyZTUwMzI4ZDZlMDM3MDgwNDZhZmJiIGxlZ2FjeS10cnVuaworNjQwNTkgMzM0OTJjMjQxZGFiNWNhODEyYzkwZmY0YmNlNmM1YzdkNWQ1YzdhMyBweTNrCis2NDA2MCAxMzllY2RiZjRmMTk2YTJlNzNiZTYwZTNhOGQ3OWMyYjNhYzY1NmRlIHB5M2sKKzY0MDYxIGMxYWViNmM5NGFmMTBmYjdhODExOTI0ODVjNDBkOGJiMDFiMzI4NzkgcHkzaworNjQwNjIgNTNjNjBjN2NjY2Q5ODM0YmE5MWM3NGNiNDgyNjQ5YmNkNDQ0ZWJkYSBsZWdhY3ktdHJ1bmsKKzY0MDYzIDQ5MmY4ZTEzMDVjZjYyZTA2MTJkY2Q1MzI1OWI2YzU1ODk4MWQyYjAgbGVnYWN5LXRydW5rCis2NDA2NCBlZDU3MmQyNjBmYTcxNzJiMzE2NDkxN2IwMTNlNjk2ODBkNjI3NWEwIGxlZ2FjeS10cnVuaworNjQwNjUgODk1ODdlYTE4ZWQ3ZTE4NzRmMTFiYTMzMjljZWViNjU3YmIyMzViNCBsZWdhY3ktdHJ1bmsKKzY0MDY2IDI5NmFiMTAzOGI3Zjc4ODAyZWI5NzQxMTlkOGM1Mjg2NmNiNzQ3YTEgbGVnYWN5LXRydW5rCis2NDA2NyBmNDk4OTUxNmI0ZDZhMjg2NzE0ZjBkNmQyZmNjMDhlY2E0NTMyNzQ1IGxlZ2FjeS10cnVuaworNjQwNjggZGM5ZjRkNmNkM2YxNzI2ODNlZTE5MWMyODkzNzRjYzRjNTViZDA5MCBsZWdhY3ktdHJ1bmsKKzY0MDY5IGNkNWQyNWRkNjEzMTEyZjdiYzk1YzJkYWFjZDJlNDA4MGQ5NmM2ZDAgbGVnYWN5LXRydW5rCis2NDA3MCA4MTNiODdiMTZkYzUwOTAyZjM3OGI4ZDE3YzZiZDVjZTRjNTY5Y2JiIGxlZ2FjeS10cnVuaworNjQwNzEgYzAwNTc2ZTIwMmRhZGNmZGYxM2E0NDlkZDMzOTQyN2U2OTVhYTYzNyBsZWdhY3ktdHJ1bmsKKzY0MDcyIDc1MjEyYjQwOGQ3YmFiYTJjMmMyZjFkZGM0NTVlOWM0YTFlYWQyZmMgdGxlZS1hc3Qtb3B0aW1pemUKKzY0MDczIGQ1Y2MzYzVjYzE4OGVjMzI5ZTUxMzBjM2EyNGI1YjM0OWIxZGMzM2UgcHkzaworNjQwNzQgZGZjMzhlNWFmMTJkMjY1MjA1ZjZiZmNlZDlhYzVkYTFiZDAyYmRiZiB0bGVlLWFzdC1vcHRpbWl6ZQorNjQwNzUgNDA4NGE4NGU0ZDNiNzQwMDNhZDhiZTk2MzY4MjU2ODEwMmRhZmFiMSBweTNrCis2NDA3NiBlZTczYTZiMjdjM2FhNGE2YmYzNWUxYTliZmIwZTgwYWM0MzFlMzNhIHB5M2sKKzY0MDc3IDAzNjdhOTM3ODhkYmFhMTJmY2ZjYzliODE5M2MxZGVkMTg2N2VkOTkgcHkzaworNjQwNzggOTMwZDkzMDhiMzJhYTU2NWM4ZmNjZjE5NjUwZmI0M2JmMzM1YTk3OSB0bGVlLWFzdC1vcHRpbWl6ZQorNjQwNzkgMDllYjhkNjI2MjZhMDI2MzQ5OWVjYzM2YzdmMWUxM2M2MmFhOGFkMyBweTNrCis2NDA4MCBiYmUyMDc3YTQwMWJjNDliMzY4MjMxYjgyMDY2NGUzOWM3YzMyMTc3IGxlZ2FjeS10cnVuaworNjQwODEgN2Q4MjRmZDEzMWFkOTkzMzliYWVlNTk3MzNmMjgyMWU2OGU2ZDY2OCBweTNrCis2NDA4MiAyNmE3MjgzZjdmMTc5YzRmMTQ3YjU3M2RjMzQyNDdmMWIyODhmYzc3IHB5M2sKKzY0MDgzIDk4ODI3YTIxZTM1MjllYjQ1NzZiYjgyNjE0YWM3MThkZDJjZjdiMDggcHkzaworNjQwODQgOTFlYjI0MjA0ZTA4YTZjMGVjZTkxYmYxYWI4ZjRjYjBhNWIzMTdhMCBweTNrCis2NDA4NSAyOTI1YjU2OGFhY2NhNjA4ZmY5Nzk3ZjZjMzYzZDlkNDk4ZjFmMmZjIHB5M2sKKzY0MDg2IGFjZGE0MzI1MjcxMDAxN2JhNzhmMTU1Mjc3NGMxMWY5ZjJjODNlYjIgbGVnYWN5LXRydW5rCis2NDA4NyAyZWFlMzFhM2VmODkzMDBhYmIxMmNkYjBhNjg1ZTA4ODkzZGZiY2JiIHB5M2sKKzY0MDg4IGJkNTg0ZjEyMWM0YjUwMjI0NTAyZmM4ZTYzZDk1NGMwMjA5NjJlMDQgcHkzaworNjQwODkgZmZjNmEyZWY3NmU4YWQ3MjRjMTU0NDZmZDc0MTI4OTA4MjM4ZDIzNyBsZWdhY3ktdHJ1bmsKKzY0MDkwIDZkZGUzOTFiZTk3ZDg4YjdjMWEzY2QzZWU1ODI1MzE4MTFkYTk1MmIgbGVnYWN5LXRydW5rCis2NDA5MSBmNTI5YmYyZGY0MzY4Y2E4OGZjMmNjOTJhYTY4OTcwNzJkN2I3MmE1IHB5M2sKKzY0MDkyIGFmZDNiOGVlZTJmYjk4ODNhMWNlZmE3OTkxM2MxYTQ2ZGY2NGMwNzUgcHkzaworNjQwOTMgZTdhOWVhYjM2M2FkYWE1NzJiNzUxMTcxNzk3MDllMWU3N2U3YTYzMSBsZWdhY3ktdHJ1bmsKKzY0MDk0IDgyNDhjY2ZlYjUzNDI5YmQ2MjI5YmZkNjdlOTcxNjE4OGYyMDI3OGQgcHkzaworNjQwOTUgZWM4MjdmNmU0Y2M2YjY2OGU4MDk0Yzc0OTRlNDNjZDA5YWJhNjFlZiBsZWdhY3ktdHJ1bmsKKzY0MDk2IDBjYTI0MThjNzcwMjU3ZjVkYzcwMDhjZDk3NjgxOGMyMGZkZjkyZjUgcHkzaworNjQwOTcgMjcxODQ1ZjMyM2JlNDMzMmZkNzFmNzFhYjgyMWMzZTQzYjYwOGU2MSBsZWdhY3ktdHJ1bmsKKzY0MDk4IDAxM2JlNjMyMGI4Mjg2ZTQ4OGIwMzFkM2M5OWYyYmI2OTFmOGY2NzAgbGVnYWN5LXRydW5rCis2NDEwMCAxZWFjOGZmMDFkN2IwNjA3ZWRjZDIzZDA0ZTM2ZTU3MDdkZTMwM2NiIGxlZ2FjeS10cnVuaworNjQxMDEgN2Q3MGI1OWVlYWYyZGQ5MGQ0NmRmY2JiOWFkMmVkMjM5NGE0MDVmMCBsZWdhY3ktdHJ1bmsKKzY0MTAyIGRhMzA3YmVlZWJiOTIwMjA0YjRjNzAzNDg2MTVmNDZiOGI4NjhmMGMgbGVnYWN5LXRydW5rCis2NDEwMyAyYTdiNmU5OWNjNTRjZWViNDhjZTljN2NmMzc1NDZhZGI5MTNmZWFkIHB5M2sKKzY0MTA0IDQ1MTFlY2QyNTYzNDNjNmIyNDAyODJjM2NiODUwM2JkMmFkYmY5Y2UgbGVnYWN5LXRydW5rCis2NDEwNSBhY2RkYjAwYjFkZTVmMDQ1MTNkZGJmNmYwZmQxNTZkZGEyM2QwYjM5IGxlZ2FjeS10cnVuaworNjQxMDYgZTgxZGVjY2IxN2M2YjY2NzJmNjcwOWQ4YmJhMzJlODYwMGQ4NTU1MCBweTNrCis2NDEwNyA5NGY2NGYxMWZkZDAwOThlNGFkNWEzZDZmN2EwMDZmMmU1ZGIwMGI5IHB5M2sKKzY0MTA4IDI1MTE0MzE1MTlhMjIxYmMxODY0ZDgwYjE4NDE5YTEyMGJjZGZjOWYgcHkzaworNjQxMDkgODhhNDJkYjM3NzdjMjNiOTQ3Y2VmYmNhMTIzNGU4MjZkY2NlYTgwMSBweTNrCis2NDExMCBiODJlMDU0NWQxMTE1NGE5ZWMyMDgxNTExMjYxOTJiNGFiNmVkNjI3IHB5M2sKKzY0MTExIGI4MzNhNDAwOThjMDBmNzk5NzY2Njg2ZTU1NWFlMzBlMjRiZWE1OGMgcHkzaworNjQxMTIgYjBlZjAwMTg3YTdlYzE2N2I4MTUxOGEwYjBhZTNlOTZjYTdmNmVjZCBweTNrCis2NDExMyAyNTQzYzRjNzk1NDMzYTYzMTRkMDIxOWUyYzRmZmJmZTA2YWFkNTNmIGxlZ2FjeS10cnVuaworNjQxMTQgMWM5NjRlZDM1ZWY5ZmIyNzliNmNjMmRjYTM5YWUwZWVmN2NjMTI1NSBsZWdhY3ktdHJ1bmsKKzY0MTE1IDhmZTQ3YjJjOGJmZTM3YTQwN2RjZDMyZmMyZjJmNzhjM2YwNjc2ODggbGVnYWN5LXRydW5rCis2NDExNiBjYjg0OTRjZTEzMzdjODNmYjQzNjU4ZGEwODEwMWZmYTJhZTRkZjgzIGxlZ2FjeS10cnVuaworNjQxMTcgMGY1NTY0ZmQwNDBhOTRhM2VlOTk4MWUwYzE4NGQwYTExYTIzNGY3NSBsZWdhY3ktdHJ1bmsKKzY0MTE4IDI0NWRjYTI2NzEyZjc2MzEyMjYyNWIzOTQyMTBlYmNiZjk2OTQ0ODMgbGVnYWN5LXRydW5rCis2NDExOSA1MTdlMTQxN2Y3ZTJjZDllOTlhMGU4MzYxMDI4OTBkOWQ0OTk4MmU4IGxlZ2FjeS10cnVuaworNjQxMjAgY2VmOWYyN2E0Y2MzM2ExZmY4NWY4NzIxZTI4ZTU0ODQwODAzOGU0NSBsZWdhY3ktdHJ1bmsKKzY0MTIxIDIxMmExZmVlNmJmOTNmOGI3NGY4MWRkMzU2N2JmOTY0ZTYyN2VhMjAgcHkzaworNjQxMjIgNWM2Y2RmY2Q2ZWFlNDllZmE1YzdhMTUyYmY4MjA1ZjBmYWE3ZmM1MyBweTNrCis2NDEyMyA1N2M5YWJhYjQ4MzJjOGI2MjRlN2NiY2M4ZmNmZTc2Njc5MmM0ZDNhIGxlZ2FjeS10cnVuaworNjQxMjQgNGRkMTAwMzcwODhjMjgyZDE3NmI0ODE2NmQ4ZDg4OGI3YzE3YjgyNiBweTNrCis2NDEyNSBjMzQ5ZjlmYmM3MDQ0NGE3YjM4NWJiZTQ5YmMyN2UwOWRiY2U0NmExIGxlZ2FjeS10cnVuaworNjQxMjYgZTJlYjcwMjM1MzkyZmIwZGJjMTQzZWY0YzNhZWU4MjRjZDE4NWYxZiBweTNrCis2NDEyNyBiNzcyYmVlM2ExMGVmMGMwNTIyZjE1NzMwMWE4MWNkMGM4MWQ5YjAyIHB5M2sKKzY0MTI4IDhkYzQzMTJhMmY3NTc4NTBhNDNmZTVmZjk4ZDk5ZDg3ODRhOWRlN2IgbGVnYWN5LXRydW5rCis2NDEyOSA5MTIxYzVjYzRmMDU0MTBmZmQyMGI4MjVlNWY2YjIyYjMwODNlZTcyIGxlZ2FjeS10cnVuaworNjQxMzAgNzJiNDk0NmM0NDNhZTQ1MjYzZGZlOWEzNWJlMWYzY2JiZWFjMDcxMiBsZWdhY3ktdHJ1bmsKKzY0MTMxIGU2YmVhNzJlOTQzNzAzZWViODYxNTlhY2U3MTAyNzRjODJlY2E1MzEgbGVnYWN5LXRydW5rCis2NDEzMiBlOTM1OThiZDdmNDI4OTI5NmQwMjQzMTZiYzJjNmUyY2QyYzdkOWYxIGxlZ2FjeS10cnVuaworNjQxMzMgNjk2MzQ0ZWY4YmMwNDg4MTVhMGRmZDNmMjQwNmJkMGVkYzRhZWIxYSBsZWdhY3ktdHJ1bmsKKzY0MTM0IDZkZDNlYjQxMTcwYTU4ZGFiNTc5ZDEwMjE5NjMzNjJlMzhjYjA5NzcgcHkzaworNjQxMzUgMjgyMDEwOWM4ZDU1MjhmN2QzN2ZjYmJjNDZlY2IzODFjZDQxOGE2YiBsZWdhY3ktdHJ1bmsKKzY0MTM2IGNjNzJmNDFmZjAxNDFhNDdhYTZjYzhjZDM3NGMxODgwY2MxNzM0ZWUgcHkzaworNjQxMzcgMTc3ZjFhYWUzYmI0NDkxYzAyNmUzZmRjZTdmNDFmODY2YmQ4NTUxYyBweTNrCis2NDEzOCBkYTQ3ZTdlMTM1YWU5ZjMxNjgzYTRhMmIzNjU0MGJkNjdmYjY2NDkxIHB5M2sKKzY0MTM5IDZmM2MxMzU3YTdmYmRlN2ZhMmM2Yzc0NTA5NTMzNDYzM2Q5Njc5ZTkgbGVnYWN5LXRydW5rCis2NDE0MiA2NzM1MzJhYTM3OGIxZjhmZWE2MzBlYWFkM2JhMTVhZGJkNmEyMThkIGxlZ2FjeS10cnVuaworNjQxNDMgNDQ1Y2Q2ZWJhMzMxZTlkNTZiZTgwZWVlNTIwZGFlNzJmMmU2ZjFiNSBsZWdhY3ktdHJ1bmsKKzY0MTQ0IDA0NWY4M2ExYjg2NDFjMjRmNmY0NGZmNjkyNWFiNWYyYTE3ZDY0MzUgcHkzaworNjQxNDUgZDNlMmE4ZTdiZjQ1OTEyMmYyMTNkMzFkM2UzOGJmM2JhNDdhZTlhMSBweTNrCis2NDE0NiAzMmZlZjYzMWY3ODkzNGMwNmI5ZGExMGNhNGZkODU1MTlhOGQxODM1IGxlZ2FjeS10cnVuaworNjQxNDcgN2E1YmI1NTNkYTJiMTcyYmIzYWNlMGQ0ZTE1MGJmNzE2ZWFmMDY3NCBsZWdhY3ktdHJ1bmsKKzY0MTQ4IDRjNmI4YjkzOTcxODE5N2UyNGQ4ZmJkZWJhZTkzOTgwMmY3NWVhNDkgcHkzaworNjQxNDkgNmE3ZWIwYjcwMTk4MDk5YTgzYzgwZmViZjJkMTg0OTI5ZmI5ZjAwZSBweTNrCis2NDE1MCBiNDVhOTUzOTA2MjBhZTY3MDYzOWRhZDc2ZDM3ZmU4ZDQ1M2NiZDMzIGxlZ2FjeS10cnVuaworNjQxNTEgZjc1MWRhYjcxMzAyNGQ5NGVhY2JkMmU2YTZiMGM1NTE2MDIyNGZiOCBweTNrCis2NDE1MiBhZmRkNDljNDc1OTlkOGJhZjU2ZmI4NTcxYWM4YWQ2YzMxNWI0NDgzIHB5M2sKKzY0MTUzIDhiMGUyYzk2Y2U4MGUwNWNjZTc3ZTMxOWI5MmQwMjdjZmIxOWUzOTUgcHkzaworNjQxNTQgMWJmZWE5NTZkMGQ3MDk5YWQ5YjU5M2FiOTE4MWQ1ZWM4MjAzMDRhNyBweTNrCis2NDE1NSBiZmI4Mjc0ZTM5MzlhOTQ5YjRjMGEzNzk5NzdjMWJmOGFmNTk3OWQwIHB5M2sKKzY0MTU2IDdiM2EwMjdhYjc4NWI4NDUwYTMxZGZlY2JhYmYyM2Q0NTNjZGVjNGEgcHkzaworNjQxNTcgZDE1ZDg2ODBhMDBhNjBjZDE5ZGI4ZTQ1YTAzOWUxZWMwZjQxYjE0YSBweTNrCis2NDE1OCBmNTI4MTNmNDMxODlkMjNjMDg0YTA2M2Q3ZWIyYWI0YzliMjg2YWM3IHB5M2sKKzY0MTU5IGEwMjFmZjExNzE4YjZhOTVhOGUxZjE3OTY5YWM1NzczODNmZjc3NmIgcHkzaworNjQxNjAgMzhkMTc2ZWJiMmZhYjk2M2ZiM2ViNWQ2ZmYxMDM1MzE4ZTU5OTU3MCBweTNrCis2NDE2MSAxOGVhYTFkNWYzOTQyOTgxOGU4NGVlOGZlZWMyZmU5OGUxZjI2MGFhIHB5M2sKKzY0MTYyIDVhZjE1MDg5YTEwMDY0OGI2NmYxZDY0MWIyNmVhYjliZmJjZTI1MWEgcHkzaworNjQxNjMgODA5NzVlNjFmOGM4Y2RlNWI1Mjk5YWI5YTVkZGRjZTI1YzVkNThmMSBweTNrCis2NDE2NCBmMzFlMzJhMjAxM2NmNDBhNDk4YjcxYWY0MjMxNzk3ZmJkNWUwNzYwIHB5M2sKKzY0MTY1IGY2YWVhODA4YjM1Nzk5OTMzZGUyZjAyNWQ1NDg5YzM3YWFiYTE0ZDMgbGVnYWN5LXRydW5rCis2NDE2NiA1MjU4ZDRkN2RlNzdiNDk4NjVlMDUzZDc3NWYxODQ4ZmIwNDZjMDFiIHB5M2sKKzY0MTY3IDVmNGE1MWY2MzlmMWQ1ZmU3M2E5ODA5ZGQ1MTY5NjkzYWRjMGE3NmIgcHkzaworNjQxNjggOTFhODgyMDBmZGYwZGQ4OTM0ODM4OGIzNWZkYjUyMWQxYjI0OTY1MiBweTNrCis2NDE2OSA0NDAxOWUzN2FjOTI1ZTU1ZTQ4OTliZjIzNTE4MjQ1NzRmMTM1M2I3IGxlZ2FjeS10cnVuaworNjQxNzEgNjUwYjNmNjg0NWY5MzFlOGJjMzFlNGRlODcwYjhjMWRlYTNiZjg5NyBweTNrCis2NDE3NiA1YTljZmY3ZmQwOGY1Yjc5MTdmNzA3NjBlYmUwZjM3NWQxYjk4NzEyIHB5M2sKKzY0MTc3IDU4NzBlYmUyNWRkMDkxYTViZDU4YmI1MWFkN2YzOGVhZWQxNGJmMTYgcHkzaworNjQxNzkgM2EzZTIzMWI4NjZmYmUyYWZkZjM5MDFkMDdmMTY3OGUwNDE1ZjM1ZSBweTNrCis2NDE4MCAwYWU1MGFhN2Q5N2M1Mjc3ZTdiZjhlZjg1ZDliYmM4YTVhZWE5YTc4IHB5M2sKKzY0MTg0IGIzNzY5YjZiYWUwZjBhZDc4NzNiNjA2ZjFhYzYzNGJmNTNmYzUzZWMgcHkzaworNjQxODUgM2Q2ODY5ZTJjOTJhYzk5NjlhY2U4YTY4ZDJkMzk4YzIzZGI3NWZkYyBsZWdhY3ktdHJ1bmsKKzY0MTg5IGU4NmYzODU4ZGYyMGNhOTNkNmVhYzA0YjAzM2M5NTdlYTc1MTFlOWUgbGVnYWN5LXRydW5rCis2NDE5MCA1MDNmYjNjNWUwODE0YzEwNWYyZTU5OGUxYTcxNjE3NGM4YTEwNTY4IHB5M2sKKzY0MTkxIDMwMTdlNzk0YmJiOWFjMzVkNGE4ZWZjZTc4ZDE5MTE4ZmFlZDJlMWMgbGVnYWN5LXRydW5rCis2NDE5NCA0MTQxNDkzZGQzYTA1NTZhYmIyMzcwYmYwY2NiNmY2YzU5OTAzZmIxIGxlZ2FjeS10cnVuaworNjQxOTUgNDE0ODRkMTgzOTBjZmMzMDYyZDkxMjMwYTBlZGQyZGQ1OGMwMGQyZCBsZWdhY3ktdHJ1bmsKKzY0MTk2IGY0ZmY1OGUzNDZlZTQ5M2ViYTQyY2UzNjBkODQyNTg0YWIyZGE0YWMgbGVnYWN5LXRydW5rCis2NDE5NyA5N2NkOTUzNjdkNjBmZmI1ZDc0MTY4OGU4MjZjMDVlOWQ1MDY0Njc5IGxlZ2FjeS10cnVuaworNjQyMDIgZTI0ZjI2YzNjY2U0NjQ4ZTc2NzExODdiODM4YjcyOGMxODFkMTE1ZiBsZWdhY3ktdHJ1bmsKKzY0MjAzIGQ0MDdmOTU4YzEzNzRlYzlkNjRmNjQxMWZiYWRkMjRhYTMwZDFiNmEgcHkzaworNjQyMDQgMTA5ZTk3NDhjN2Y0MzUxYmY2ZjJhZDNiMzNlYzJlZDEyMmQyNWRmZCBweTNrCis2NDIwNSBmY2RmODE0YzliMTEyOGEyMTkzYjk0N2Q0Y2YyYWI2ZmFkNWM5YmNiIHB5M2sKKzY0MjA2IDY1ODVmZDFkOWFkNzEyM2Q2Y2FhOGM3NDRhMWVjY2M0ZmI2ZjM0MDQgbGVnYWN5LXRydW5rCis2NDIwNyA0Yjg2ODJlYTM3YzFmNDI0OGRkNmM2OWY5ZmU1ODg1NmU2MTdiODhjIHB5M2sKKzY0MjA4IGZkN2ViMjc0MTAxMjFjOTVkODAyOGU1NjdhZWQxNzkyNWQ3MmZkMjEgcHkzaworNjQyMDkgNTcyNmU5MTU3YmYwMmZiNWQ4N2RkMzdmMWI0NjQ3YmM5M2ZjNjdjNyBweTNrCis2NDIxMCA5MmI3OWI2ZDFhM2I5YmJkMGUxOGE4YWZlNWFkYWQ0OThiM2UwMjZhIHB5M2sKKzY0MjEyIGRiOTlmODc1MjcxMDZjYjczYmU2YTdkMTZiNmYxNDE4MzZlMjY0OTYgbGVnYWN5LXRydW5rCis2NDIxMyA3MWNiN2VhNGYxMTAzNjc1MjRmYjNiMWFiOGRkM2UxMzhmMGNmYTgxIHB5M2sKKzY0MjE0IGZjZmUxMGYzZGMxNDZjZjUwNWFjZWZiZmJjOWJkZjg2ZTdjODNkNzEgbGVnYWN5LXRydW5rCis2NDIxNSBiMWY0ZWE0ZWI1NTU2Mzk5MzQxY2Q2ZmZlZTVkNDZhNDczOTI4NDA0IHB5M2sKKzY0MjE2IDljNzllZTQ5YTJkOTUyYjhlYWZmOTgzNmYwMmNmOWVmMWU3MDg2MTUgcHkzaworNjQyMTcgMzE5ODhiNDAxNTM1Nzk1NDZhNWUyMTNlNzc3ZDk1OGJkMDkzMDA2NyBweTNrCis2NDIxOCAxMzA3MWFkZDhmNDhhZTU4Y2E0NWJiZjM4Yjc3MGQzNzZmYmFjMTcwIHB5M2sKKzY0MjE5IGUzMGFmMzI2NGEwZjU3M2FjMTAyODljNzhlYzkwMmUyNmUxNWYyMWYgbGVnYWN5LXRydW5rCis2NDIyMCA1ZWJjZGViMGNiMjZjNjdhODUxZDg0MzEzNWZkYTE2YTU2NjJiZDM4IGxlZ2FjeS10cnVuaworNjQyMjEgMTQ2NDM0NWExOTY4M2I3NGI1YWZkZmFhMDEwZTExYTYwOWYyYWFhMyBsZWdhY3ktdHJ1bmsKKzY0MjIyIDhmNjFhZTAxMTMwZjg4OTM5ZGE1M2M0MDI2NmUyNzFlNmUwM2Y2Y2EgcHkzaworNjQyMjMgZDVhYTI1YmY5MzYwM2ViNGUxYTgyODJmYTU1ODU2OWY2Nzc5MTFmMiBsZWdhY3ktdHJ1bmsKKzY0MjI0IDM4ZDA0NjdmNWVjNzY5ZDRkNGNjYzg1ODlmNzM3ZWJmNDQ5YzU0MWMgbGVnYWN5LXRydW5rCis2NDIyNSA3YThlZTA1YzY5N2Y1MGYxMjJkYzEwYjExNDRmNWIyOTNkZTcyN2Q1IHB5M2sKKzY0MjI2IGEzNWRhOTRlMDVmYzVhNThlZWE3ZTZjMjg4NTA1MzEzNDRhYmFlZWUgbGVnYWN5LXRydW5rCis2NDIyNyA4YzYwNjhmMTRlZThjZWYxMDEzZTBlMGNiYzE0ZDViZmIxOGUwMjAzIHB5M2sKKzY0MjI4IGI1ZTAyNzc1ZmZmY2IzZmM0Yjk5ZjUxODE4MDhmOGM3YjEzNGNhMjYgcHkzaworNjQyMjkgNjQzNGRkNzA0ZDYwZWE2MDgwMDM4M2FlYjY0MGI0ZTEyZmU4ODBkNyBsZWdhY3ktdHJ1bmsKKzY0MjMwIDJkZmFhMDY4M2JlOGI2NjNkMDYwMzg0OTcyYjAyZDAzZGMxNmYzODcgbGVnYWN5LXRydW5rCis2NDIzMSA0ZGE4YjdhOGNmMmU5NGJiZGM1NjVlOTAyNThmZmMwMWM5ZjJkZWQyIHB5M2sKKzY0MjMyIGExMDY4OGFkY2RkNjI1MzZmYmQ5NWVjM2FjZTlkOTFkODgzNTYwYjggdGxlZS1hc3Qtb3B0aW1pemUKKzY0MjMzIDE2OGM5ZTk2NzcyYzU3OTcyYmZhNzliZmI4OGNkNDZlMmFhYWNlMTEgbGVnYWN5LXRydW5rCis2NDIzNCA3ZmQ5ZTljYmQ3MjE1M2FkOGQ1ZWRmNTg1OWJlYjI0OTg0YzdhMmQzIHB5M2sKKzY0MjM1IGEzMzNjODc3MGUzMjEzMjczOWRkYjUwNGZjNjI1NmM4ZjdmNWM0MDkgbGVnYWN5LXRydW5rCis2NDIzOSBmYWE3Y2E1MjQyNzE4ODQyMmVkMTE3YWQ3MzY4NzFjYmMyZDBhNzc1IGxlZ2FjeS10cnVuaworNjQyNDAgY2RiZjEyOTEyZDRiODJhNDQ4ZTdmODY3ZjczNjJiYTcwMTM4MjE2ZCBweTNrCis2NDI0MyBmNTI1NDlmYjc0YTI2NTE5MTFhNmQ4OWIxMjE5MWRmZWJhOGU4MmE1IGxlZ2FjeS10cnVuaworNjQyNDQgYjkwNWNiMjc5M2NjOWFhZjNhZDVkYjQ1MzQzMzI2NGZkODQ3YjcyZSBsZWdhY3ktdHJ1bmsKKzY0MjQ1IGJiODE3YTVkNjhiN2MzMDgzZDIwZjc0OTY0YTcwYWJmNjg5ZDViYzkgcHkzaworNjQyNDYgYTQ1MGRhMjQwMDg5NmQyNDMzZjAzZWZjY2M1ODg0ZDJiNzc3MzAzNiBsZWdhY3ktdHJ1bmsKKzY0MjQ3IDg3MTQ3ZGI4MmViMWUzMzIyNjNmM2E5NGVjZjVjY2Y0OTI0MTY1N2QgcHkzaworNjQyNDggYWY4ODczZGYwMzIyNWVjMTBmY2RhNjRmOWQ4OGVjZWMxYTI2MWQzMCBsZWdhY3ktdHJ1bmsKKzY0MjQ5IDliOGZmNzNkMDE4ODU5Mzc2YzkwZjY1MmI2ZmQwYmZiYzY2N2RiMGQgcHkzaworNjQyNTAgZDAxMTY1ZmFlOThlOTAwNGUzZjgzNTliOTNhNjY3ZDE0OGFjN2UwYSBsZWdhY3ktdHJ1bmsKKzY0MjUxIDQ2ZTU4NDYxNTBkNWU5NWY4YTJhMTIwNGJmZWRlOThkNDJiYjFmYmYgcHkzaworNjQyNTIgNmQxZGM3NjFhYjRlMDg4OTg5ZDc1NDRiNGUxZDJiNzliZGYwNGRlOSBweTNrCis2NDI1MyAxMDY5NTc4Mzc5YTAxMmNkMWM5ZjhjMjRhNTM5ZjIwYzk0N2UzYzgwIGxlZ2FjeS10cnVuaworNjQyNTQgNDQ2ZDVjMjk5MDhhYTk4NTJlODM0YjNmOWYyOTRhNjYxZWU4YmZlZSBsZWdhY3ktdHJ1bmsKKzY0MjU1IDJmMTZjZWEyMjRmNWNjNDg1MjQxOTIyM2NkZjBkYjY3NGNjZGUxYjQgcHkzaworNjQyNTYgZGZmNzYyYWRmOWQ2MTEyMmE0ZWI2NjVjMGEzYWVkNGE2MWViMTRkMiBweTNrCis2NDI1NyBmMzZmMDkyZGJlOTc4NDZjMjI2ZTEwOTgzNmUyN2M1YmMzZWMxYzVlIGxlZ2FjeS10cnVuaworNjQyNTggYWJhNThmMjhlMTY2YjNmN2FlNzY5NWI4NTVlZTNlZjQyODc3NGIxOSBweTNrCis2NDI1OSBmMmUyZDViOTY0ZGUzOGMxZDRhMjk5MTA4NTdlYzhmMjY1ZDBjNzNlIHB5M2sKKzY0MjYwIDM3Y2Y1YTFlNjM5ZTkwZWZjY2RkYzNmN2IxZDZhY2FlMjk1YzU0MGIgbGVnYWN5LXRydW5rCis2NDI2MSA1N2FhODczZDk2ZmNhOGI5MjA0MDc0ZmM4ZjQ0MzUxYzJhM2EyYmVjIHB5M2sKKzY0MjYyIDA5NWI4NWQ3YTAxNDFlM2Y3ZWZhZDkxNTZkYmZmMjk2YmQxODgzNDQgbGVnYWN5LXRydW5rCis2NDI2MyBlOGRmOWU0ODczYjQ3ODAxM2ZlMjk5N2Q1ODU5ZWNkNWRmZDYyZGUzIHB5M2sKKzY0MjY0IDEwYThjZThkYjZiZmI0ZjdjNjExMDJjMzFjNWYwMmM3Y2MyOGY1NWYgcHkzaworNjQyNjUgNmYwZmUwNjZhODRiYjUwNGU0ZGI0NzFlYmY1ZGQ1ZDlmYzVlZWEyYSBsZWdhY3ktdHJ1bmsKKzY0MjY2IDYxZTUyODZkOTM3YzhhY2VkNjkxYWExZTM2ZjIzMzYwNjQwZTk4M2EgcHkzaworNjQyNjcgYWEyNTAzMTg4YmYzNGQ4OTI4ZDcxMTU5NWFmNDQxYmQ3NjVhZjk5YyBsZWdhY3ktdHJ1bmsKKzY0MjY4IGM4ZjhhNTc4YzAxYjk4YWRkY2EyMGRjNmYxNmRkMzk1MTFiN2QyNmMgdGxlZS1hc3Qtb3B0aW1pemUKKzY0MjY5IGU5YzkzNWNkNzg4OGFlYmY5MGUwNTc5ZTI0NzgxMjA2ZmI2MmMwMmMgbGVnYWN5LXRydW5rCis2NDI3MCAxODk4NjdhYWJhZmEzNzc4ODNmZmI1ODUwM2Y3OGIyMzU5YmYyZDQxIGxlZ2FjeS10cnVuaworNjQyNzEgYjViZjE2NzkwZTNjNjlkMWY1NWQ0YWRkYTk4ZDQ5MWYxMmMwMTM3MyBsZWdhY3ktdHJ1bmsKKzY0MjcyIDUxNmMxOWQ4NTkxYTliNDYwMzVkODUyNTVhMTMyYzBiM2Y5NDEwMjMgbGVnYWN5LXRydW5rCis2NDI3MyA5NmJmZjdlMTM3ZmJkMTIzMGQzZDU4NDQ2ZjI4MjZkNzc1ODU4N2MwIHB5M2sKKzY0Mjc0IDRiMWUwMTUwNWQ0ZDM3ZTk5ZjE3ZWEyZWM0NDEwYzBlNjcxZjhiNDIgcHkzaworNjQyNzggOWFkNjkxMjdlNmFhNjU0YTM2Zjc3YmY0OGJhNmEwNTRhZjg4NTRhNiBsZWdhY3ktdHJ1bmsKKzY0MjgwIDkxNTVmZjc4ZmQwNjRkNjgwZjczMDhmM2RmYWE3OTExOGNlYTYzMDUgbGVnYWN5LXRydW5rCis2NDI4MSA3YmE3OTAxZGFkN2Y4YzZiNWEwYTJjYzRmNDA2OTNjMDZhY2YyNmI1IHB5M2sKKzY0MjgzIDI1ZmEzZGQwMjFmNTJhYmUxYTI2OTk2MGM2OWVkNGUzNmI4YzFmNGYgcHkzaworNjQyODQgYjMzZTgzMzRmODJmNzllMzM3N2EwNzg3NTVhNjdlOTRlMjQ3MzliZSBweTNrCis2NDI4NSA1Y2I1MGU3YTk4YTI4NThhOTEzNzQyODAxMjE5OGQ1MThkOWU4MGI1IHRsZWUtYXN0LW9wdGltaXplCis2NDI4NiA5OTFjYWFkODFhMmRhNmY1NWZjMDE2ODBlNThlODc3MTJlNTQ3YmRiIGxlZ2FjeS10cnVuaworNjQyODcgNGUzMDRhZGVkN2E4NTBiNGJmNjcxZmY4NmNjMDc1NjZkMGFjODgwNCBweTNrCis2NDI4OCA2MTNkYWY3ZjhlNDg2YjQ3MTE2NDExMmE4YmU3YmIwNjU3YmY2NTVmIHRsZWUtYXN0LW9wdGltaXplCis2NDI5MSAxNDM1MGU3NWQwMmE0YmUyZGIyZWQxZmU3Y2Y0ODEwYTQ1M2FhMmNlIHRsZWUtYXN0LW9wdGltaXplCis2NDI5MiAzODZhNzI5ODRhZjVkY2YzNWQwYjA0MjMwYjliYzliMWUwZjM2NDM0IHRsZWUtYXN0LW9wdGltaXplCis2NDI5MyBmNzdmOGU3OTk3MTQ5NGZiZmZhZGFmNGQ3N2NhMDg2NWVjZDQ1YzU1IHRsZWUtYXN0LW9wdGltaXplCis2NDI5NCAyNmU5Yzg3MWQyM2ZhMTI4MGQxMzNlYTk5M2U2YTNmMDkyM2YyNTliIHRsZWUtYXN0LW9wdGltaXplCis2NDI5NiA0MGQ2MDFkZTI4ZGMwODE3NjY3NWQxMjM2NmY2MWE0YWZlNmIxNzk0IHRsZWUtYXN0LW9wdGltaXplCis2NDMwMCA2ZjZmZWQ0ZjA2MjZiNDc3YWVkYmJmODRkODBjM2RjYzc3M2ZmZTg0IHJlbGVhc2UyNS1tYWludAorNjQzMDEgYTZkN2JmY2Q3NDU2OTFlMGE0ZGRjMDFiMjJhOWQwOTYzYjUyODBmZSBsZWdhY3ktdHJ1bmsKKzY0MzAyIGVlMjgyM2UxZjIzYjY1ZjhiZDQwZmU3OGJmYzA4MGRkYjljMjEwYjggcHkzaworNjQzMDMgNDY1MGVlZmI1ODM4ZTljOTYwNGI4MWJmNjA2Nzk3YjEzYmZlMWM3NyBsZWdhY3ktdHJ1bmsKKzY0MzA0IDM4NDMyODYwYjNiNDY4Yzg2NzZlZjE0ZDM1ODQwMzU5ZDBhNjkxZmQgcmVsZWFzZTI1LW1haW50Cis2NDMwOSBiOGU5Y2MyODAyMmM1NGY0NzEwMDI4NGViYTQwNjIwZTFlNjZiMDM3IGxlZ2FjeS10cnVuaworNjQzMTAgNGVkMTY1OTQwYmRkMDE5MjUxZGIzYTg4YzQ3MjUyNjAwMTcxMWU2NyByZWxlYXNlMjUtbWFpbnQKKzY0MzExIDVjODVkNTVjNGZiMmJkYTQ5NWVjM2Q3MDRjODUyMTExOGJlZjg1M2QgcHkzaworNjQzMTIgNTY2YzcxMzdhYThkYWVjNTRiOGJlZTFmYjI4Mzk1NTA5N2Q5ZmQ3ZiBweTNrCis2NDMxMyAyZTEzZmZhYjE5OWZmYmMyYzg5NjhiZjU0OTIwYTc2ZGMzNzc0YWRkIGxlZ2FjeS10cnVuaworNjQzMTQgNjA5YjA5YTlmZWViNDFmN2YyMzM1MmZmZTk4ZGU4MWQ0MjhhZWFhNiBweTNrCis2NDMxNiA4NDU5MGE2NGYzYTIyNjQzMzY4NDBiZTkwZDI5ZmJkZDc4NDhmODViIHB5M2sKKzY0MzE3IGY4YTg4OTRkYTc3YTRiNzI3NjViOGZlYzk4YzE3NTNjOGQ5NGY5MzQgbGVnYWN5LXRydW5rCis2NDMxOCBhMjliZjY5ZmIzNDQ2NDdjNmZmMDE3MzZmNTc5ZjgyYjJmMDJhNDI3IHB5M2sKKzY0MzE5IDMwMmE2ZDc2MzM3ODQwNjVlMjMxZWU4ZGEzMDBmZjcwNjE4MmE5NWMgcHkzaworNjQzMjAgYzA3NDE4ZGUzY2QzMzI4ZWM5NTM1NjZmY2IxMTA4ZDc1OTViNTg2YSBsZWdhY3ktdHJ1bmsKKzY0MzI2IGI4YzlhMzU0MzM4MTNiMjgzNTg5ZjVhZTY5NjgwY2MwY2M0MDllNWUgbGVnYWN5LXRydW5rCis2NDMyOCA5OGQwMTJhOGU0NDVmMDhiYzIwZDE4YmRkODg1M2Y0YjNkY2U3YjU1IGxlZ2FjeS10cnVuaworNjQzMzggOGU4NWM0NmNmNjczYzI2N2VhZmYyZDMxMDkwOTQ1YTVlZjI3NmY5NSBsZWdhY3ktdHJ1bmsKKzY0MzM5IDI4YWJjMjAyYzc3MTA1OTcxMmU5NzlkMjI5YmQ4ODZkOWRhNTM3N2MgbGVnYWN5LXRydW5rCis2NDM0MCAwYjFjMDFlZWM3ODg1MjlmZGYyNjAzNGU2ODk2NDgwNzAxZDAwNDNhIHB5M2sKKzY0MzQxIDAzNjM5YjA5YzM3NjAzMjhhYTZmMTFjNDkwMTRkOTE5ZGU4ODJjZjMgcHkzaworNjQzNDIgNDBhNzU5MTNmMDRhNjRiNGZmODFkMDRhMjZiNmY3ZjNkNTdkMWEzOSBsZWdhY3ktdHJ1bmsKKzY0MzQzIGY2NDk5Njc2MDk4NDcyODM5N2U3NmIzODVhYmE2ZjQxOGUxNGJjYTEgcHkzaworNjQzNDQgNmYyN2Q1MmU4ZDk1NmUzMjM3OTU2ODZhZmExODlmYjE4YjE5OGRkMiBweTNrCis2NDM0NSA2OGQ4N2JjMDZmYTM3MGQyNWMwMGU5OGU1MDBlZDVlOTJiYmMyNTE5IHB5M2stdXJsbGliCis2NDM0NiA4NzAwMTE4OTk5NWMxYWUwOGFkNjNhNjE1MDkxM2JmNDIzOWJhNGY4IHB5M2stdXJsbGliCis2NDM0OCBmNjcyNmYzMmVmNzA0NzdiZjNhMzhkY2M4NjE3YmNhNDU0MTlmNWI3IHB5M2sKKzY0MzQ5IGNhMDc0MjMyYjg3OTc2N2EyODFjNzZkOGEyMWYzYzE0ZjA3NTMwNTAgbGVnYWN5LXRydW5rCis2NDM1MSBlMzljODEwYTdlYjI3NzkxODAwNTdjYWZhOWRkOTg2ODk5MmU4Y2IwIHB5M2sKKzY0MzUyIGVmODgzZmI0YzA3NmRkNmY4NzViYzU5YzhhNGVjMmVhNzEzNGU4M2IgcHkzaworNjQzNTMgNzBkNzJhNzVjY2YxZTZmMDZkNDIwMWQ3M2QzOWY4N2NmNWY0YTc5OSBweTNrCis2NDM1NCA1Zjk0MzUzMTdkZTE3MDU1MjkyOTliNGRiMzE4OTZlODk3YzdkNzA1IHB5M2sKKzY0MzU1IGEwNTIzYzdjMWM0Zjc4NDVlYjY1NjNlNWVjNTQ3OWRkODU2MGRlZTAgcHkzaworNjQzNTYgYTE3NDE2MTdmMDZmNGQ1NGNmMWYwYzM0NmE1ZjIzYzBkYzNiYzg4YSBsZWdhY3ktdHJ1bmsKKzY0MzU3IGRmNWJiMGE2NTk0YmI3YjExNzk5NmZmMzQ1ODRmNzUwYzc4ZTE2NmQgcHkzaworNjQzNTggYTRiOGRiZTFiNjMzNmYxYmNiYTc1MDczYzMxNGVjNTYxMjcxOTM0OCBsZWdhY3ktdHJ1bmsKKzY0MzU5IDE4N2E4MWRkYWYyYmRmOGNlYTI1ZDlhMTZlMTY2NDVjYjZiNTk5ZDAgcHkzaworNjQzNjAgMDNhOWE5ZDMwODFlZGFiNjgxZjUxODcyNjk3YTUwNTI0NmUzNmUwMyBsZWdhY3ktdHJ1bmsKKzY0MzYxIGE0MDhhMDVkMGUyNTFiOGI2MDk2NjdkNmM5OTc1OTIyZTdkNzg0MWUgbGVnYWN5LXRydW5rCis2NDM2MiBkNTJhNzNkOGQyMGYwMzJiOTNkNzU4NmY4ZTBiZDBkMDIyZWM3OTVkIHB5M2sKKzY0MzYzIDY2YzhmNzZjYWM0NDZkMWE0M2Y3YzRkMTc4MDkzMTEzMWQ0ZjI0NjMgcHkzay11cmxsaWIKKzY0MzY0IGFjODU0Y2RlMzEzNWU1N2VjMWY0ZmM5NWFlNWQ3NDQ5NTBmM2M1MzEgcHkzaworNjQzNjUgNTY0YzI5YTBmYWIxYTA0ZmE5NDJkMjNhY2M5NGU0YjJiZmRmZWQ4NSBsZWdhY3ktdHJ1bmsKKzY0MzY2IDBiMTQ5ZmM0MDE4Njg2ZmEyNTc0ZjJhYmRlYTQ1YjBkY2VjNjQ4OTQgcHkzay11cmxsaWIKKzY0MzY3IDI4ZjU2N2E0MTNmNDE0YmNjMGUyNGQwZjhlNThiYmNmNzQxZjBlZTMgcHkzay11cmxsaWIKKzY0MzcwIGFiMTJlM2FkMmU2NjVmMmUyYzVhYWU5YmIzMTYzZGY2NTQ2NGQxZGMgbGVnYWN5LXRydW5rCis2NDM3MSBiNGQ4MjM0ODM0MjFlYjQwNGE3MDY1YzkyODA5MDU0MWZmMGQ0NDQ3IGxlZ2FjeS10cnVuaworNjQzNzIgYTY1MDNhZTNlMTljMWZmY2Y3MWU5ZDViOTI4MzI3NWJmYTE5YzBiMCBweTNrCis2NDM3NSA2YjdkZGMwZmRhOTM3ODI5NWY3N2Y3YmUwODNjZGRkNjIxYjU5MDJjIGxlZ2FjeS10cnVuaworNjQzNzYgNTcwMmVkZTQyMjdhNDFiZmVjYzMyNTFiZTU2YmZkYmU2N2E0YzUxMyBweTNrCis2NDM3NyA5NTQwNTk3OTEwYjk2OTVjMWZjNjlkZmYzNzkwZGQ1MGM0MDU2ODRhIHB5M2stdXJsbGliCis2NDM3OCA0ZGE3NzE1ODhiYTMxMDA2ODhkNWVhNjE2ODE3OTRjMjQyZDQ4MmMxIGxlZ2FjeS10cnVuaworNjQzNzkgMTU4OGUyZmEzZTdlNzRiMmJhMmYxMjM0YmMwYjk3YzE0MDM4ZGUxNiBweTNrCis2NDM4NCA2YWZkZDZmZTU1MTJkZjRkYTE1MDRjMTNiMDMyNmIxNDNiYjBjMzc5IHB5M2stdXJsbGliCis2NDM4NSA1YTQxNmE2NDE3ZDM4OWNjYmUyNDY4Nzg1NWJmOTdiZWVjYjNkMDQxIHB5M2sKKzY0Mzg2IDc0NGY5YzgwOWYzMDNmNDA3MTViYmYyZGFkYjZhZTY4NTkzNGZhZGIgbGVnYWN5LXRydW5rCis2NDM4NyAwMzIyODA4YzIwZmVlNjg1NjMwN2QwM2YxYzI4YzVjOGUxYjMwYmY1IGxlZ2FjeS10cnVuaworNjQzODkgNjkwNDAwOTJiOGY4MzE3NmM5OTNlOTMyODFkOWQwZTdlNzAyMTkxOCBweTNrCis2NDM5MCAyYzEwNjgzMjhiNWJhNDc2YjE3Mjg5MTM5OTg2ZmYyNjllOGZhNjc0IHB5M2sKKzY0MzkxIDA3Zjk0NzI2MDE3ODNlMTJjMjhjODc4YWY4YzQzMDg0YTZkZTczNzcgcHkzaworNjQzOTIgZWExOTRjOWE2YzJmOWRlNDQzYTE1YmYyNjkyMjI5NGRhZTM5MDBjNyBsZWdhY3ktdHJ1bmsKKzY0MzkzIDJkZGQ4NmUzNzAwYzIwZWRjYWRiMjg1MjZiMzdlZWNiZWRlOTMzZTEgcHkzaworNjQzOTQgNWJkNDNlYjllNTIwYzI3NjI3OWMzZjc2YTgxMjg4YTkxZTVhNTlkMCBweTNrCis2NDM5NSBhMzM1YzRkNjQzYjFjZmUxNDE5N2E5ZWYxOTVjOWIyODA0ZjYwOGZjIHB5M2sKKzY0Mzk2IGIxZWQyYjAwNWUzZGJlYWRkZjU0NjRjNTA1NTIxYzNmYTU5NDBjMzIgcHkzaworNjQzOTcgMDczMDIyNGVjZjVmZWUxYjA3Y2E4M2RkOGFiMDI2N2ExOTI1NTA5ZCBweTNrCis2NDM5OCAyZjJmMzJhZjhjNGVlOGY2NTk4ZjYzMmRjODM3MDFhMjA3MjZkMTBhIGxlZ2FjeS10cnVuaworNjQzOTkgMjU4MWVlMWYyNmY5ZTRiOGRkMzY3MjlhZGJhYzcxZmIxYmEwNmZiNCBsZWdhY3ktdHJ1bmsKKzY0NDAwIGVjZmYxYTFhMDdiNTU1Zjg1ZTg2MTg3NmY2NmYyYjVkNTRlOTMzZTEgbGVnYWN5LXRydW5rCis2NDQwNSBiMzRiYzYzOGI4YTdjNzhiMTkwZTNkOWY4NmE1NjkzODA3MjMxMGNjIHB5M2sKKzY0NDA2IGJlMDdmMzc5ZDg3YWRmMGRkNjRlNjhjNmU2OWY3ZDA3YzVjOTZkZmUgbGVnYWN5LXRydW5rCis2NDQwNyBhNGJlNGIxNzQ3NzExZGUxNGUxYjljYTU0N2ViZGIzY2Q2YmUxODRmIGxlZ2FjeS10cnVuaworNjQ0MDggZTEwNzA2MmFhOWNkNzc4Njg3ZjdhYTM5NWM4MWY1YjMyYWU1ODljMyBsZWdhY3ktdHJ1bmsKKzY0NDA5IDlhZjBkNjViYzNiMjc4NDYwNjAzM2UwZmY3NWVlMmI1NjM2NGNhZTIgbGVnYWN5LXRydW5rCis2NDQxMSAyN2M3OGNiZmE3YzY4MWI4YTM3YjIyMzEwZDUyMThjZWQ5ZTM1N2JkIHB5M2sKKzY0NDEyIDBhZWViMmI0ODM0MWM3NzI4NGRkMGUyYzU4ZTUxZTQxYTFiOTc4MzMgbGVnYWN5LXRydW5rCis2NDQxMyBkYjYyYzQ0OGEzNDllMmYxNWM0YzJjY2VlODk2OTFhZjI2Nzg1OWRhIGxlZ2FjeS10cnVuaworNjQ0MTQgY2I4NzFmNzM2YmUwMjRhNzVmNGFlNzkzNWI4YTQ4ZTY0YzZjOTJlOSBweTNrCis2NDQxNSAyYmY0MTEyY2Q2ODE1YzcwM2UzNjU1MjVlOWE4YWI0Mzg5N2M4OTYyIHB5M2sKKzY0NDE2IGI0MThkZDM5Zjc5OGJlZjg0NzFmYzE5YzhjZDAwZGMyNzE1ZmRlM2UgbGVnYWN5LXRydW5rCis2NDQxNyA1OGY0M2FjZTI5NWU1YzM5ODE5N2EzMmQzZjBkMWM3ODlkMTJjOWJjIGxlZ2FjeS10cnVuaworNjQ0MTggNmI0YjI5MmMzYTJkYThkYWJkNzYyMTFjN2E5ZDYxNDFlMWQwNzRmZSBweTNrCis2NDQxOSAyNWQ2YjJkMGVlNDJlZThhN2Y1YTg1YjNjMDNjNTk5MzExMjQ1ZDZmIHRsZWUtYXN0LW9wdGltaXplCis2NDQyMCAwN2RjZjBlYTc4ODBmNDBmOTExOTczNzRmZDk1MmQyNTZiZDc1NDgxIGxlZ2FjeS10cnVuaworNjQ0MjEgYzM5MjYzZTk0YzMzMDc0ZDRiNmZlNWFjNGRlZjRlMDRiNjFkZjEwYyBsZWdhY3ktdHJ1bmsKKzY0NDIyIDdiOTZmYWU0MDBkNjE4OWU5ZTA2NTI1MDY1ZmExYjc1ODllZWY1ZWUgbGVnYWN5LXRydW5rCis2NDQyMyAxYmZkNWU3MTJiOTRjYTE1ZWRiOTQzNjdjMDJhNDM4ZmNkODA4NjBjIHB5M2sKKzY0NDI0IGVkYzcwMWQwMGI2MjI0MTIwMmQ1MjVkZTcxNTg5OTU2NjYyMjFjNzEgbGVnYWN5LXRydW5rCis2NDQyNSA3MTdlOGFlZTRhOWQwN2Q3Y2RhOWY1ODNmM2E3Mzg4Y2VjZjlkY2QyIGxlZ2FjeS10cnVuaworNjQ0MjYgZDFhNDYzNTBiMDQ3NmM0ZmNjMzM5YzA0MzIwNGQyOTg3MzBmNjI0ZSBsZWdhY3ktdHJ1bmsKKzY0NDI3IGJmZGEzOThjOTE3ZTVkYTI1MGE5YzYwOWNjNjg4ZjJkYzg5NmFmYjkgbGVnYWN5LXRydW5rCis2NDQyOCBhNzE4NmZlZTc1OTZiNjYzZjUzNDVjNGE0YjA5NjU2ZTFlNjk3YzRkIGxlZ2FjeS10cnVuaworNjQ0MjkgNjI5ZWVkY2JiMjY1ODUzNTI4NDc5YjQ5MDgyOWMxZmEwOWNjOThjZiBsZWdhY3ktdHJ1bmsKKzY0NDMxIGQ4ZGM2YjM3ZmQ3ODllZjRmOWY4OTU0ODE5Y2JlNzVhZDY1ZjYzYWMgbGVnYWN5LXRydW5rCis2NDQzMiA1ZWJlZmY4MDQyNWM1NDk5YjRjMzJhY2IyOTJlNjVmY2VmOTc1OTZjIHB5M2sKKzY0NDMzIDRlMWNhZGI3ODcxZWVjZTE0MzhhN2U2NmFjMDkxYWMyNzZjNmUxNjQgcHkzaworNjQ0MzQgYTEwN2JjMmQ4ZjM0MjdkOTk3NmI2OTRiMGM1NWI3MDY4M2MyNTFmMyBsZWdhY3ktdHJ1bmsKKzY0NDM1IGIzMjEwMWMxOWJmODQ4NTYzMjBjZGQzODAxMGYzNmI3MzEyZWZiYWUgbGVnYWN5LXRydW5rCis2NDQzNiA0ZmZhOWJiYTdjNWYwMGI4Y2FiN2Q0OGQxYmU5YTI1Y2E5MGRiODRiIGxlZ2FjeS10cnVuaworNjQ0MzcgMjQ1MjBlODI0MTA3MmU3NDAxNzkxYTVkNjU5ZmIyMjZjMDAwNDhkMCBsZWdhY3ktdHJ1bmsKKzY0NDM4IDQyNjdhZGFjZGQ1Mjc4YWQ5N2FjNTg1ZmY2MTRkMWU2MzA5MmY4NzMgbGVnYWN5LXRydW5rCis2NDQzOSBhMDY3ZGMwNDM4ZDUzMmM1NTIzNmYzNGE5MGVjZmU1ZDU2ZmEwMDQ3IGxlZ2FjeS10cnVuaworNjQ0NDAgNzViNmIyNzM3ZWE3MTkzNjhiN2Y2YThhNjhjZWZiM2E3MmNjZjhiNyBsZWdhY3ktdHJ1bmsKKzY0NDQxIGFjNmVhYjI0NzNjNWI2ZjFlMzAyMmY0NDJjM2FjYzc0NjY1OTkzOTMgbGVnYWN5LXRydW5rCis2NDQ0MiAxNmI3YzUwMGI3NTNhM2M5NmU2MDQ4ZDMzNjNlODk0MDBiNDg2ZDI1IGxlZ2FjeS10cnVuaworNjQ0NDMgOWM2N2QzZGNlOTI1ZDk0ZmY1OTU3YzMzNjBmMDU3OTcwNjk1MGNkNCBsZWdhY3ktdHJ1bmsKKzY0NDQ0IGFlYWQwYzc4MWNiZWY2MTI2YTExZjk1MGVkMTIyOTE5YzBkNmZmM2MgcHkzaworNjQ0NDUgNTU2ZTRmNmVjOWEwOGNhY2VhYjc4ZDQ2NWVhZTE1MzY2NmE2N2NjNSBsZWdhY3ktdHJ1bmsKKzY0NDQ2IDAxNjE2NmI3Yjk3NmUzM2YwYmM2NDBhOGE0NzJkYzMxZmQ0YTY3ZDggbGVnYWN5LXRydW5rCis2NDQ0NyA1ZThhN2Y5ZDk1MjM5MzIxZjgyZTk3MmJjMTZiNjZhNTQ4MjhlODUzIGxlZ2FjeS10cnVuaworNjQ0NDggOTY4MTUyNzE5NjNkNWNhYjJhYzNjMGNiNjc1MDlkYzExNTFmNjE1MiBsZWdhY3ktdHJ1bmsKKzY0NDQ5IGUxN2I4MWE5NWFlZDJlOGE5ODU4MjM1MGYxMzQxNWExMmZhNDhmMmIgcHkzaworNjQ0NTAgNzBlMWEzOGM5ODA1YjZhNmMxN2E0OTJmY2NjZTRlMmY3MmVjZjk0NCBsZWdhY3ktdHJ1bmsKKzY0NDUxIGM1N2QxZTk1NGQ5MzQ1N2MzMTM2ZGFiZjVmMTZkNGMyNGY1YjM4MDggcHkzaworNjQ0NTIgOTZhZGY5NmQ4NjFhNDRkMWIyOWU5MTlhZjgwZmYwNDE5NWEzNzNjNCBsZWdhY3ktdHJ1bmsKKzY0NDUzIDdjZGJlMDFhNDU3NjRiMmUzODQzYjUxODg4M2YyNjIwMGUwNDZiN2EgbGVnYWN5LXRydW5rCis2NDQ1NCBhYzE1OGNhNjg2Y2I1MTlhMzgwMTIyYjkyOWE0Y2FmYTNlMzlhYWU2IHRsZWUtYXN0LW9wdGltaXplCis2NDQ1NSA4YjZjMjg1NmRiZTUxMDM3YzJmZDZlYTM1YzA0M2NhYjhmMTJjNTE1IGxlZ2FjeS10cnVuaworNjQ0NTYgZWI5ZmFlMmZhM2Y5NjY0MmViYmY1YWM3MWNhNWQ3MjZiOTE4YjNiYSBsZWdhY3ktdHJ1bmsKKzY0NDYxIDY1YzIzNjYzZDBiZDY5ODEzMmVjNzlmMDBiNTE0ZjIzNDUxMWU4ODggbGVnYWN5LXRydW5rCis2NDQ2MiBkYTY4OTNlMjAwNGY0Y2E3MDkxZDk5YzQzY2NkNzRkZDY4NTRjZDU4IGxlZ2FjeS10cnVuaworNjQ0NjMgNjhjZjNjYmIyMWQyNThkOGUwMjIxNmQ0Y2NlM2M3YjhkNjlkOGUwZCByZWxlYXNlMjUtbWFpbnQKKzY0NDY0IDdiNTFlYThjYzU1OGRiYjM0YjRjNDAyNzFhZmYyZjAyZTE1ZGI5OWQgbGVnYWN5LXRydW5rCis2NDQ2NiBiMTFiMDljMWVmZWYyYmViMjM1NzgzZjNkNjdjNDUxZTQwZWE2ZDYzIGxlZ2FjeS10cnVuaworNjQ0NjggODhiZDhlYWE1MTUyZWRjNTc5NzI0YzllNTM5MDYzNWZjNWMzMDZhMCBsZWdhY3ktdHJ1bmsKKzY0NDcxIGE5YWQ5OWQwYzcyMjRiZTE4YWRlMjM3ZWE4NGNiMzQ3MzQ1YjljY2EgbGVnYWN5LXRydW5rCis2NDQ3MiBlMGYxZTFjNTY2ZDlkNjc1NDMyYTE2ZjU1MTgzY2MzYzEyMTE0YTdlIHB5M2stdXJsbGliCis2NDQ3MyBmODQ2OTFmNDg5YzM4YzYwODM3YWQwNWYxMDBhODY5OGI0YzQ0YmQ2IHB5M2stdXJsbGliCis2NDQ3NCBkZDkwN2Q2YTdhODVkMTYzYzdlMTIxYzVjZTNkMGZmM2M3ZjNkY2QyIHB5M2stdXJsbGliCis2NDQ3NSBmMDAyN2JmZGY5YmM0NDUyNTZmNDc5NGU3YWNmMjkwOWU3NzUzNWRhIGxlZ2FjeS10cnVuaworNjQ0NzYgMWY2NzFjODVkZjA0N2M1Yjc1MDI2YzM0NjQ3MjIwMTU5MmQ4ZDJmNiBweTNrCis2NDQ3NyAxZGJkN2E1MjJhMjM2OWYzYjUyOTA1NjllNjY2MThhOGI0OGQxZDUxIHB5M2sKKzY0NDc4IDZjMDRkMTQ5OTRkMDg4MDEzYzRiODE2YmM4ZmVjNTQ3ZGE1YTYxYmUgcHkzaworNjQ0NzkgOTY3Njg4NDc5ODgzMGQ4MDE2NzRhZWU1YzljNmI3NGM1NjNlZTVjMSBweTNrCis2NDQ4OSA2ZTA2ZDRhODZlM2QwMzI4ZDhkMjA4NDAwMzg2NWJhNjJhYmJmYjdkIGxlZ2FjeS10cnVuaworNjQ0OTAgYjAxNTY5MzExNGY2Nzk3YWM0YjBmMWIxZTJlMWYzMWM2MzNjOGE5NiBsZWdhY3ktdHJ1bmsKKzY0NDkxIDc1MmUxYWJhZjE1YTU2YjViM2ZhZTg0MWQ3MGE5NTJiZGNiNTBkOWYgbGVnYWN5LXRydW5rCis2NDQ5MiAwOTgxNzNlODQ0ZDE1Mjg1M2M1Mjk2MjdhZjhmYTczNmFkM2ViN2ViIHB5M2sKKzY0NDk1IDVkNWY3Mjg1ZjVjNTliNGY1MTU2NjYyNGJlOTU3OGFjYTY3MWIwZWUgbGVnYWN5LXRydW5rCis2NDQ5NiBjODNlZWYwNzhmZDlmMGVjYTg4ZWU1ODczZTkwNjVjMTQ1OWUxNjY2IGxlZ2FjeS10cnVuaworNjQ0OTcgYjFiZGNiYzk3YTE0YzA5NGFiMDRlODJiMjE2OWYwODZjMjZmMWY3ZSBweTNrCis2NDQ5OCA2OGZkM2FiODQ4NGVlYjdkMGI1ZjM2MzM3Mjc4ZmY2Y2ZlYjRhOGI1IGxlZ2FjeS10cnVuaworNjQ0OTkgMTJiZTQ0YzZhNzAyZThiM2I3Y2FhYzlmNzdmMGM0MTFkOGU4MDQ5MSBsZWdhY3ktdHJ1bmsKKzY0NTAwIDdlNzQ3ZGUyMzFiMzgyNzM3ZjYzMThmM2IyMDUwZDNmNTYxZjBkNjMgcHkzaworNjQ1MDMgMjJmYmRkZjE4ZDQ4OGExMDAxODMyZTc0NzVhOGM1N2U5MmQ1NTVkYiBweTNrCis2NDUwNiAyNzBmZjZmNGQ5OWYzZmQwZGY5MmZmNzIyNzA2OWYyNWUyYjUxNDRiIHRsZWUtYXN0LW9wdGltaXplCis2NDUwNyBkOGFmYTQxYzY5NmFiYmRlYjAzZDJkZGNjNDc3MWVjNmFjYjA5MDdmIHB5M2sKKzY0NTA4IDNiNmZmY2ZlMjk3MWUxZmQzOTllMDJlMWNiZmZhYjZhNDZmMWVlNzcgbGVnYWN5LXRydW5rCis2NDUwOSA5NTc0ZmVkOTM2ODgzNmE1YmZmNzc5MmYyYTdmOTMxZTI2ZjgwYjdjIHB5M2sKKzY0NTExIDBhZjZmMDMwMGVhZmY0NDNkNjg2YjJhNThmN2JiZmU0YjdkZTdiOGMgbGVnYWN5LXRydW5rCis2NDUxNSA3Nzg4ZTk4OTNiODViYjkxYzc3M2M3MWQwYTM1M2E0NWQwZWQxMjlkIHB5M2sKKzY0NTE2IDNhZGE0NmYyMzIxZGMyNDQ2ODBiNDcyZGIwZTBiMGFiMDM4M2JmMWIgbGVnYWN5LXRydW5rCis2NDUxNyAzYzhkM2I5OGNmZDczY2QyMjM0NmJhZWQ3ZjdkNWVhMTJlYTEwMDhmIGxlZ2FjeS10cnVuaworNjQ1MTggMzgwYWEyZDE2MWQzOTI5NzIzODAwOGNlNGRlODFhMDFjMGZiOWZkMyBsZWdhY3ktdHJ1bmsKKzY0NTE5IDBiNTJiZGM0Y2Q4OTM5OTkxYjhhNGFhZTk3NTJhNjMwZjAxOTMxMzQgbGVnYWN5LXRydW5rCis2NDUyMCA2NGFiYjYxZTlkNGY3ZjA0NzNmN2I3ZmE0Yzg4MTM2MzBmYjVjMmZjIGxlZ2FjeS10cnVuaworNjQ1MjEgNTdjODJjYjBmYWZmY2U5YmZkMmNkMWQ4OWJhZmU3MTY5NDM0MmYwYiBweTNrCis2NDUyMiAzN2EyMWQwOTdkMzRkMzUxNDVlNjhjNjVmOTY1N2VjMjBjODJiNWYyIHB5M2sKKzY0NTIzIGU1YTUxZWQ5ZTYzNDI3MGUyNGUzMTEzYTJiM2MzMTY0Y2U2Mzc4YWIgdGxlZS1hc3Qtb3B0aW1pemUKKzY0NTI0IGQxZTg2NGE1YzYwYzhiNGYyZTA3ODg4M2YzODdjZDdlMDU0MzVjMDcgcHkzaworNjQ1MjUgZmZiZDRlMzMzZTJmOWJkMGUzZjA4ODE1YmFhZjYwMTkzYWRkNzUxOCB0bGVlLWFzdC1vcHRpbWl6ZQorNjQ1MjYgN2RlMDM4NTUwNTIzZGMyYjM4OGY2ZDQ1ZDU0MjdmMzcwZGVlNDY1ZCBsZWdhY3ktdHJ1bmsKKzY0NTI3IGJkZTJhYjk0MzU5M2MzYTlhYzE4MzdlNWM0YjkwZGRmMzAyYWVjYjUgbGVnYWN5LXRydW5rCis2NDUzMiBiMjYxMTY0MjViMTE0MzYwMDY1MWU3ZjQ4MzY1MzNiZmU0ZmFmODBlIHRsZWUtYXN0LW9wdGltaXplCis2NDUzMyA3ZWIzNzM3NjU3ZDEyZWZjODBjMDAyZjNhYTk2ZWFiZDI2NmQ2MzU5IGxlZ2FjeS10cnVuaworNjQ1MzUgODgyMWI0MDVlMGU2Y2Y5ZTg2YTQ5YTU2YTA0NTdmZjM1ZGRmNDI5ZSBsZWdhY3ktdHJ1bmsKKzY0NTM2IDA2NGIwYjc1YmFkNTNiNWJhNzM2N2QxYTkyZTVlZjRkNjEyN2I2M2EgcHkzaworNjQ1NDQgOGM5MjljZTBmYjQxYzA4NjUxZTVhYmQzNWU4NTdkODI0OTMwNGE1ZiBsZWdhY3ktdHJ1bmsKKzY0NTQ1IDcyM2MwZmY2OThiN2Y1NmY4MzVlNGU1MWYxMDU0ZTY5MTE3ZWJmMzcgbGVnYWN5LXRydW5rCis2NDU0NiA3ZmJjMzc0Yzk1OWQyZDc3OWY1Y2U2NjRmMzVlZjRmYzA4MDZmN2U1IGxlZ2FjeS10cnVuaworNjQ1NDcgNThkYzM2N2RjMWVhMDBiZDNjYzgzNTNkYzRiMjY1MmIxYzQzOTk5ZCBsZWdhY3ktdHJ1bmsKKzY0NTQ4IGM0Yjc2NmFmYWM2ZjY0NmU4NzFhMTMxNGQ1NDNmNjYxZmRhZDJhM2YgcHkzaworNjQ1NDkgZGM0MmVmZDcyOGVlYjgyMmQ1NjM0MmUzNjMzYmU4YzdjNTMyNjFhYyBsZWdhY3ktdHJ1bmsKKzY0NTUwIGVkZDQ4YjA4NDk0ZGE4OTZjYmZlNThkZDMwYmFiYzg0YjUzNjYxMzAgbGVnYWN5LXRydW5rCis2NDU1MSBiZmFmMTQyOTU3OTQ5ZTA0M2JkOGNmZTZjN2NkZDhlOWZkZmZkY2Y1IHB5M2sKKzY0NTUyIDYwNWFiNmY5MjgzODhhZjVmMWRmYWE5MjJjODk1YTQ5ZmQwNzkxOTEgcHkzaworNjQ1NTMgYzcxMmJjZDMyMDNiNGNlOTgwNGNhZWZhMDE3OGM4ZjY3ZTBiMGM4MyBweTNrCis2NDU1NCBjNTYwNzJlYWFjYzI2MThhMTMzOWQ4Y2EyNzgwMGQ5MzMxNGNjODQzIGxlZ2FjeS10cnVuaworNjQ1NTUgYTY5YmQzYWI5Zjk5N2NkYmFhMTk2MzU3Y2I1ZjI3MTE2YzVkMzI0NiBsZWdhY3ktdHJ1bmsKKzY0NTU2IDcyNDM0MDEzYjAzMGZkYzhkMDVhMGUyNWZhODJkNTFjYzBlZjI1NWMgcHkzaworNjQ1NTcgNDNmNmJiMGVhY2IyZjQwODNiOTY4YmZkNGI3YjcxODZjMjhhZmEyNSBsZWdhY3ktdHJ1bmsKKzY0NTU4IDViNGM4NzA5OTAzZDA3YTUyNTNlZTExNDYzNDY0NGIzNmZlNDY0NjEgbGVnYWN5LXRydW5rCis2NDU2MSA4ODM5MjAyMTk0MmE2ZGZkY2VlODZhMzE4NjRkODc2ZWFhMjc3N2Y4IGxlZ2FjeS10cnVuaworNjQ1NjIgZWQ1ZGMxM2I4OTliYTJkNmI1NDViZjhhYTE3OTRhODVjMTI4N2JkMyBweTNrCis2NDU2NSAxYzRiZDUwMmRlNjI5YjI5MGRjODcxZDFmYjJiMjEyOTZhNzU5Yjg1IGxlZ2FjeS10cnVuaworNjQ1NjYgNTA4NTlhZTRhZWJiYTRiZDYyYTM2NWM4ZDk5NzZmZjIxMDlmMzBjZiBweTNrCis2NDU2NyA4NDFhZTE3NjdiNGM1NDgzOGJlMDRiZjI1MDdlZjk2OWQ5MGE0NDdmIGxlZ2FjeS10cnVuaworNjQ1NjggMjQ4YjhhZGZjYzk3YTM4ZjVmMzgzZTBhMGI4YmE5ZTE1ZTM4ZjkxMSBsZWdhY3ktdHJ1bmsKKzY0NTY5IDkwM2I2ZTJhMzA0ZmIwYjMwN2NjZTRjOWE1ZmRmNzNkZjY5ODY0ZjYgcHkzaworNjQ1NzAgYjg1NzcwNDU5NTkxYjg4YjY4MmIwMjYyMmY3MGMzZjM5NTVhM2MwNSBsZWdhY3ktdHJ1bmsKKzY0NTcxIDJjOGUzY2NlYWM0ZWI0ZTA0MDFlNGE4NWQxYThhZmJhNjMyZGJhMzggcHkzaworNjQ1NzIgYWZjZDY4YTg3ZWVjYWQyMTEwZTFmODk4NThkZjU3OTk2MTdiNGUwNSBsZWdhY3ktdHJ1bmsKKzY0NTczIGJkYmI2NmJjMzdkY2UxYjNmY2FjY2UyOWQ2NzdhNTg0YTEwMmI0MmUgcHkzaworNjQ1NzYgYWZiZDUwYWQ0ZjM0ODQwNWQ2YmQzNWI5ODI3ZDUzMzcyZGNhYzkxNSBweTNrCis2NDU3NyAxZGQxMGIwNGRiNDc0MWI5ZmM5M2Q0MjI4NTliMjBmNDc3N2RmZDM4IGxlZ2FjeS10cnVuaworNjQ1NzggOGEyODFiZmMwNThkN2YwZDFlYThmNTJkOWI2Y2QxMmYyYzU1ZTZlOCBsZWdhY3ktdHJ1bmsKKzY0NTgwIDBmYzc4NjFlY2U1ZjZjZjBlNjIzYWI3NTY3ZjhmYWU3M2FhNTdkODMgbGVnYWN5LXRydW5rCis2NDU4MSA1NWFjNmM3Y2ViNTk4M2MyNWYxZmE5NmQ2ZjVjMjQ1OWY2MjZmYWUxIHB5M2sKKzY0NTgyIDNjNDlhZjJkNWJmMGFmZTY1ZDBhODExMDQzZjE3ZWU1M2YzZTY2NmMgbGVnYWN5LXRydW5rCis2NDU4MyBhZDliZWI0MWFhYzEwNTAwZjc2NTk1NzUyZDE2MWUxYmNkMGQ3MWQxIGxlZ2FjeS10cnVuaworNjQ1ODQgZTE3YWRmYWY0ZjY0YzljNGE0MTdhYjA3YTY5ZWNiMDg1OTRhNmI1NCBweTNrCis2NDU4NSBkOTRmYTRjYjUyZTczNDlhOWQwOTBjMzcyYjE3MjkwYWYyZDFkY2QyIGxlZ2FjeS10cnVuaworNjQ1ODYgZWY5MjcwMzc0ODQ0NGNjZTkxOGUxYzIzNjM3MTZmMWQ5ZjlkYzRiYSBweTNrCis2NDU4NyBmNWY3MGYyMGI2NzhmOTY2ZjY2YTQxYmZmZDdjMDA5ZTU0MjE3NzA2IHB5M2sKKzY0NTg4IDRkMmQwYTIxZDQ5NDhkYTljMmM3YjFjZjI3ZmI0ZDQ3ZjRkNDVhNjMgcHkzaworNjQ1OTAgYmU1NWI3YzJjOGU2OTI1Y2JiZTY4ZjU4YzE1ZTBlNzk0NjU2ZmNmMCBsZWdhY3ktdHJ1bmsKKzY0NTkyIDczY2JjZGU3NWUwNThjMzg3NDZlYWNlZmZlNDA5MmQ5MDQ0NTlhNmYgbGVnYWN5LXRydW5rCis2NDU5MyAyOTdlMTIxOGVmZTUwOWY5MzdiZjgxODY4MTc5NDNkZDYzMTE2ZTBmIGxlZ2FjeS10cnVuaworNjQ1OTUgZTE0NzM5YzU4NDAxMzY5MzQ3NWI2MTg0MzNhMmYzODhiM2I5YTk4MCBsZWdhY3ktdHJ1bmsKKzY0NTk2IDI1NDEyYzZkMjc3NjM1NjU4MGY4MjcwMTY1NzhlNjdmOGYyMmViNDUgcHkzaworNjQ1OTcgODJjNDY4MWNkOWJkMDdhM2FkN2VkNWMxZTYxZWQ0M2FhMzJkNjg2NyBsZWdhY3ktdHJ1bmsKKzY0NTk4IDc2MDQ1MTVhODE5ODVhYjcwNzI3YzNlNGFmY2JlNzVjZjA4YzhiODUgbGVnYWN5LXRydW5rCis2NDU5OSBhOTAwYmIxZGVkOWQ5YjZlN2U5NmZlZDVhOTA1NWFjOWIzYWFiOGFjIHB5M2sKKzY0NjAwIGI5ZDJmZjVlM2RjZmMwYWU5ZWFkZTk1NTE2NzYwNTFjNGZkMGZjNzAgcHkzaworNjQ2MDEgOGNjYjM1NzM5YTk2ZjIwYjJhZDc2NjBiY2QyZWUwMzk3ODIzNmNhZSBsZWdhY3ktdHJ1bmsKKzY0NjAyIGUyOWI0Y2U2NDFmOTQzMTk1Zjg1MWE4MTRiMWI0YzZiYzZmZGFiNTIgcHkzaworNjQ2MDQgZmQ3OWM0ZDk3NzQ1YWQxZWNkZmI3OThlMjViODJhMDRiYzRlMjllOCBweTNrLXVybGxpYgorNjQ2MDUgOGNmYjg5YjYxYzJlNTFiNzkyYjFlYmYzOWZmNjBkMjk3NmUyODJlOSBweTNrLXVybGxpYgorNjQ2MDYgYjZhZDY2NGNhZTQ5OTg4MjcyZGI4ZmQzYTJhOTc0ZTQ2MmI1OTdmMSBweTNrLXVybGxpYgorNjQ2MDcgN2IyZjIxODk1MzkyM2M5MGU0MTFlOWIzNjY2NjEzNjFkNzJjY2MwNCBweTNrLXVybGxpYgorNjQ2MDggNzM5Y2M5ZmRlZmU1ZDRhZWI2NDE3MDhiNWU5MDY4NWRkYmFmOTBkMSBweTNrLXVybGxpYgorNjQ2MDkgYWQ5ZmI5ZjFkNmQzYmRiYWY1MzE3MDQ0NTFkNmVlY2FhYmEyZWZkNyBweTNrLXVybGxpYgorNjQ2MTAgNDE2YTU2ZWIyNGYzM2FhZGJmY2MzOGMyMWZiMTk3ZjQ4YTM1NDIyNCBweTNrLXVybGxpYgorNjQ2MTEgNDQ2ZTNkYWMwYzMxYmQ0OWZiMzY2Nzk4MTg3N2U2OTM2YzYzY2VmMyB0bGVlLWFzdC1vcHRpbWl6ZQorNjQ2MTIgMzdjN2QxNzc0MGNjYTY4OTQyNjM1NzMxN2RjZWFmZDgzZDAxZjcwOSB0bGVlLWFzdC1vcHRpbWl6ZQorNjQ2MTUgZTI3MTk3NmFjMzcyNGVhMGIxNDMzNzg2N2UyZWY4ZGE3OTNmMTNiZCBweTNrCis2NDYxNiA1Zjc0NjhhYzE0Y2Q4N2E1YTIxMjMyYzU5YzljMTE3ZWQ0MGVkMTYyIHB5M2sKKzY0NjE3IDkxM2FhMjc0ZWQ3N2I1N2QxYzMxZmIwOTdlMWU0NGY3M2NjOGQ1ZWUgcHkzaworNjQ2MTggYWNkZmZiNWI0MzUyMjExM2RmZGI1ZGQwNWJjOGZiZDk2ZDNjOWVmNCBweTNrCis2NDYxOSBlZWQ1MzE3YWM4MzdlMjYzZDMwZWE5MDA0OGYzZmJiZWM3YzRlYTc4IHB5M2sKKzY0NjIwIGY5MmM4MDA5NWMxNGM5ZDkxYjQ1YzVkZGVhNTEzNDllNTE0MTk1MTkgcHkzaworNjQ2MjEgYmI2NWY5Yjc2YzFmYTUxYTAyZGM1ODNkZDA1MTdmNTM4ZjdlMWQ5ZiBweTNrCis2NDYyMiA4MDEwOWQ0MDQ0Y2RhNGZlOTFlNGM0YTY3YjQ5MDFkZDE0OTRhZTdmIGxlZ2FjeS10cnVuaworNjQ2MjMgZTEwZTI1N2NiZjYxNWViYjY3MTBlZGJiNjBiNjQ4ZWJhZTMyZTA0NiBsZWdhY3ktdHJ1bmsKKzY0NjI0IDdkMTUzMGZhYzFmNjY4NDE3NjkyY2M5NDQ3MTJkNzE4NmM2M2E3MmQgcHkzaworNjQ2MjUgZTY4ZmU5MGYxNWFiMDBlMDMyMTg2Zjg1OTBlZDBjZTRlYmJiZGQ5ZCBsZWdhY3ktdHJ1bmsKKzY0NjI2IDQyMzA5NDM3ZjFjYTI1YzAxNjEzODc0OThkMmIzNjEyZjI0MWMwZGIgcHkzaworNjQ2MjcgN2UyOTlhYjM1ZDk1ZTE5OTg5OTk3OTBkYzZkMzlkOGViYjRhMjJmYSBweTNrCis2NDYzMCBjYTEzNTNiZmQ0OGEzMjMyMzAxZGVkODE3OWQwZjU0NGNhYTIwYTMxIGxlZ2FjeS10cnVuaworNjQ2MzEgNzAzNTc4MTE3Nzg2MjdjMWEyMDE1MTUzMzAzZDZhNmViZWYwNzNkYiBweTNrCis2NDYzMiBkNjY0MDQ5ZWNhY2FkOGJlMTk4OTk4MmI1MGUxYzRmOTkxYzhhMzIyIHB5M2sKKzY0NjMzIDdkYmQ2YjYwNzcwNmEzNjNiYWE2ZDhmMTA4NzhhYmU1ZTQ2ZTY1MTkgbGVnYWN5LXRydW5rCis2NDYzNCA3MGE0ZWM0MTI4ODIyYWNjYjQ3NTRkNTc1MGVmZjcyNDU3ODE1YzdlIHB5M2sKKzY0NjM1IGNkYTU1NmQyMzkyNDQ3Yjk5MDQwMTY5OGFmYzhhYTVlZDEzNjk2ZGEgbGVnYWN5LXRydW5rCis2NDYzNiAyZDQ4NzdmNzUwMGVmYWMzODEyM2Q0ZjhiYzRjYTI1MzUzYjkxODM1IHB5M2sKKzY0NjM3IDZjMzg2MDkxNDI5MmM2YmU4MzA2YWVjNjM2NmNkYzA1MmIyZDM3ODYgcHkzaworNjQ2MzggYTA2YTBlMTEzMmVlMDJmYmFkMTFmODI0Yzc3MjUyYWRkOWZkYTk4MiBsZWdhY3ktdHJ1bmsKKzY0NjM5IDYwZmQwODg2ODExYzc1ZDU5NjA3MGU2NjgyZDJkOGVhNTdjOTlhOTcgcmVsZWFzZTI1LW1haW50Cis2NDY0MCA0YTgzMjk1MzUyMzRkNzViNWQ3NmM0ZGI4NzgyMDExMGYzYWM2NmQwIGxlZ2FjeS10cnVuaworNjQ2NDEgZThiZWUzMDk3ZDQ0MGU1M2JiZjNmNWU4OTYwNTg1ZWVkNWE0YjY0MyByZWxlYXNlMjUtbWFpbnQKKzY0NjQ3IDZjZDNjYmUwNzAzNWU5NGZkYmE4ODNkZGE0N2FmOTNkMDVhZGYyOWIgbGVnYWN5LXRydW5rCis2NDY0OSA4MDE3NTQyMDFiMTE0MTI4NjJiMzU5YjBlMzliODIyYWI2OTkyZmIwIGxlZ2FjeS10cnVuaworNjQ2NTAgMmQwMzZiNzhkZmE0MGJkNjEyNWQyZDYxZjhlMDYxYzQ0YjQ5MWU4YyBweTNrCis2NDY1NCBiN2YzZDk3MGU0NGYwMzE3MGYzNDZjYzhhZGI4ODY0NWJiYzcyZmYwIHRsZWUtYXN0LW9wdGltaXplCis2NDY1NSA2NWFmNTQ0ZGExMjFkNDg1MTUxOTRkMmVkODE2OWE0MTYwYzk1NzM1IGxlZ2FjeS10cnVuaworNjQ2NTYgNWQ4ZjQ3MDA1YjczZWIwYzg1OTcwZDZhZDBiMmFjMTlmODZhMDM5YyBsZWdhY3ktdHJ1bmsKKzY0NjU4IGY5MjcyNDBkZWYxYjczYzdlZDE5ZGI4YjkwMDJmMjU2ZTEzODNmZTEgcHkzaworNjQ2NTkgYjM5Y2VlYzgxYzE3NGY4MWRkZTEyZDljODgxOTBlNjExZmE2N2Q5ZCBweTNrCis2NDY2MCBlMjJkZWFlYjZjMWIwMmYyMTdiNzQ0Mjk4OTgxMWRhZjhlYWNjMjMyIHB5M2sKKzY0NjYxIGFkZjQ4ZjJmYWRmY2JiZTk1NzRiYjMwNmVlZTY5MjAwNTlkMmE0NGIgcHkzaworNjQ2NjIgZGFmOWZhZDdjNTUxOTEzNmUyMjg5Y2E4OWEzNzFhYTQ4MGFmYWU3NiBweTNrCis2NDY2MyA4MzJhZTUxM2QzNDQ0NTAxNjZhN2Y2MDVjZTQ1NzJiZjJmY2IzNzZiIGxlZ2FjeS10cnVuaworNjQ2NjQgZTRiYmIxZDNkZDE0NWM4Yzg2Y2ZhYzA2NTE2YTU2ZTI0ZDA4ZDU0MSBsZWdhY3ktdHJ1bmsKKzY0NjY1IDMwOTU0MmZkN2ZlOGQzMzgwNjc1YmYzY2YxNGE3YzExMzM2ZDFmNjcgbGVnYWN5LXRydW5rCis2NDY2NiA4MWZkOGE4YmFhOWE3MzNjYjUxOWNhMmU4MTFkOWE1OGViNDUzNzUwIHB5M2sKKzY0NjcwIDE4OTliZTMxMjJjMjIwZWM5ZmQ3YmM5OTgxODg3NjdiZDNlMGUyOTggcHkzaworNjQ2NzEgNWY0YTg5ODBjMWFjYmY2OTk3YzBkN2Y2MzhmZmE0MGQ4NWM2MjUyNiBweTNrCis2NDY3MiA3ZTU2MDE2YTY1NjU5ZTBkMmZlMGEwYTA2ODk5Yzk3YzI1MjE3ODM5IHB5M2sKKzY0NjczIDcwZTFkMmJiYmMzMmZhZDE1OGQ5YjMyYTQyMDEzNGJiMjU3ZGMxMTIgbGVnYWN5LXRydW5rCis2NDY3NCA0MDI1ZjYzODkxMWZhMTk2MWUxMTNkYjlkMDg4MTdmMTkxMDNkNmI2IHB5M2sKKzY0Njc2IGJkMjMzNDEyMGEzMGU3YzQ3MWI0NzU0M2YxNzY5YjRiZWY0ZjJmNmMgcHkzaworNjQ2NzcgNjkwMWQ1ZmYwZjdhYjZhOTMwMGRjNTVlZmM2NTcxYWNkZjEwMDEzZiBsZWdhY3ktdHJ1bmsKKzY0Njc4IGZiMDJmZWRmZTY0N2YyYzg4MmYzNDRhNjc3ZWI3MzU2Yzc1MjlkM2EgcHkzaworNjQ2NzkgMWY4YmUyNmQwOThhY2E2YmVlNmJkMWIzN2EwZWRmYTk4ZjY4ZjlhZSBweTNrCis2NDY4MCA5ODg2MGNmYTE5ZmQzOGJjZmJjODAyZGRhNDI4YjI4NmI1NzZiMTRmIHJlbGVhc2UyNS1tYWludAorNjQ2ODEgYWExZmJlMzIxYWNmMWYwYTJmNGU0NDBmOWU0OTk0ZWUwNzk1MTA4YyBweTNrCis2NDY4MiAzNTBhMjg5YjBlZDQ1YzQ0ZTQ3ZThmYjllOWE0MTQ4MWMwYjkyOTY1IHB5M2sKKzY0NjgzIGVmOGQ3NDg3YTA3NzczYzNmODMyNDM1NTViNTEzMTVjZGQ3ZmJiYzYgcHkzaworNjQ2ODQgYTU3MjNhODM2N2U3NmExODk2NjM0OWQ1Yzk4ZDMyMGE1NGEwZGEyOCBweTNrCis2NDY4NSA0MjI0ZmY3N2ExZGRjZmVmMjUwZTE5ZjZhOGI4YTEyNGZhZTI3Njk3IGxlZ2FjeS10cnVuaworNjQ2ODYgODkzZDkwYjc3MzFiZDAxNWYwNjFjYzg3ODMzYWZmMmU5Zjc4MDY0MyBweTNrCis2NDY4NyA3ZDFlNjE0OTJjN2RmZDc4YjIxZDQxMTk2MzI1ZjFlMTkyZjQ1NjMwIGxlZ2FjeS10cnVuaworNjQ2ODggYWNmYWQ4NjQwZTIxZmY5YmNlNGZlYjNlMzVmNGRkZWUyYWIzODFjMiBsZWdhY3ktdHJ1bmsKKzY0Njg5IGU1MDIwNDY2NjhiMTAwYzhmNjk2Zjk1YTA1MDJmNDY3Mjc4ODk3OTkgbGVnYWN5LXRydW5rCis2NDY5MCA4MDdkNjk5NWJhZmQzZWVkMjY3NGQ5ZWEwMDg2OTJkMzMzNTIzYjk4IGxlZ2FjeS10cnVuaworNjQ2OTEgY2RhYWM3OWE3MjM3NjhkOTI4MzAxMzQ2M2ZiNzQ0NzY3OWQyODdjZiBweTNrCis2NDY5MiAyZDBjMzY0MzIyM2Y2OTI2ODUwODYzMjIzN2EyNzczMjQ2MDhmNGZiIHB5M2sKKzY0Njk2IDQwZWNiOTEzMzk5ZTY3MzEzNGI2Njc0Y2RmYjEyZjkyM2M0MGI4ZWEgcHkzaworNjQ3MDAgYjFiM2FmODJhZGQ2ZmFkM2IyNDMzODA2YjU5N2YwMDYxNjJiYWY2ZiBweTNrCis2NDcwMSA0ZTY4NTljNmQzOGM4YTJjYWE5MzZhNzJkZTFiMjIzODA2ZDVmMzIxIHB5M2sKKzY0NzAyIDEzYzk4NTJkZTgxYTNkMDFhMjhmOTJmNjIyM2VmYzhlMDlhOWUyNjkgbGVnYWN5LXRydW5rCis2NDcwOSBlYTdjYzE4YzlhYzg2ZjIzMmNjYmZhNWE5MWQyOGEwNDhhYzgyMjdhIHB5M2sKKzY0NzE2IGRjOWIzZjI4OTJiOGIwYzQ5ZTMyYjQ2ODhiZWQ4YjJjNWM1OGVhMDIgcHkzaworNjQ3MTcgMDQ4MTc3OTNiOTYyNWIyNDYwOGRhYTE3YWIzMmU5MTNhOTE3ZTczYSBweTNrCis2NDcxOCBmMjcyMDYxMDFmZjk0M2MyYTAyZWI0Yjg1M2E0NGQ2N2RiYTIyZmQ1IHB5M2sKKzY0NzE5IGM5MzU5NmVjMWQzZGU2NjVkMzYxMGMyY2JhM2QxODRlZDUzYzk1ZGQgbGVnYWN5LXRydW5rCis2NDcyMSA2ZjEzMmEyNmIyMmY3N2NlNDRmZjEyODZhZmY1MmQzNWFkNmNkZTg2IGxlZ2FjeS10cnVuaworNjQ3MjIgZDc1MjY2NzBmZjBhZGVlZGU4MmQ4ZDMyZjMyN2YwZjgxZjNhMjgzYSBsZWdhY3ktdHJ1bmsKKzY0NzI3IDNiMDBlOWY5ZDY5MjU5ZjJjNTMyZjVkYWM5MTFjMTJiY2IzOGExMzYgdGxlZS1hc3Qtb3B0aW1pemUKKzY0NzI4IDhmMTM0NjUwMjIzNDVkZGIzMGZjMTY1NDk5ZjY3ZmY1ZWJmODAxODMgcHkzaworNjQ3MjkgNGJmODQwMzVjYjVmNTg0MWViNzA5NzhlNmIwNWI0M2YxMTg4ZjJmMCBsZWdhY3ktdHJ1bmsKKzY0NzM1IGY3NzI0NzZhZDkwZGY4ZTkyNzY0MDRjOWUwNjdiNzlhMzkzNTE2YmYgbGVnYWN5LXRydW5rCis2NDczNiAyMjc5ZGQ0YTJmNzMyYjc1Mzg3ODlkZWU0MjQ3YzE0Zjc4OTNmZGQ5IGxlZ2FjeS10cnVuaworNjQ3MzcgNDcyMWYyN2VkNmMyN2U4NzUzZDNhYWM2MDg5M2EwM2E0OTA5ZmQxNCBsZWdhY3ktdHJ1bmsKKzY0NzM4IGZiMjc5MjQyZjk3MTAyZDBkYTc2NTIwMDMzYTZiZGE3OWJhMWEyYWMgcHkzaworNjQ3NDIgNDgwMGRkMjJmNDU1ODM4ZjJkMjBiNWU2MGQ1NGRhN2I3ZTdmMTFiZSBsZWdhY3ktdHJ1bmsKKzY0NzQ0IGQ2NjU3OWY5MjVjNDZmODViOGIxZThkYTQxY2ViNGEzNTYxMzBiNjMgbGVnYWN5LXRydW5rCis2NDc0NSAyNDc2MzczZjU1NGQxNTM5MWY4YmIyYmE0ODNkODBmYTIzZDcxYTY3IGxlZ2FjeS10cnVuaworNjQ3NDYgNDViNjcyMzY3YjFmN2Q1MjJjM2NkZjA1ZjUwYTFmNzliNDhhZDM5YSBsZWdhY3ktdHJ1bmsKKzY0NzQ3IDRiYTNkMDdiODcxZjg3MzQzNzQ5M2JhNmUzNGFlODI5YWNhYWI2NTEgcHkzaworNjQ3NDggNGE3MmJlMWQ1YzIxODExYzg1M2Y4ZjBmOTBkNGFmZWQxN2EyM2Y5ZCBweTNrCis2NDc0OSA2YWU3MWY1MjJiMmYwYWJmZTZkMDA5NTJkNmVkMTVmYWZlZTI4YTNkIHB5M2sKKzY0NzUxIGZhMzQwODgzODBmOWJmMzA5Y2Q4MTA3MjY1YmQ2MjBhZGE0ODBjMWQgcHkzaworNjQ3NTIgYTA4ODJiZmFmNTRkOGQ3ZGEyZjliZTMwMTI5ZWEwMWY3NjQyOTk5ZCBweTNrCis2NDc1MyAwNzM4MTE5YzFlZjhmZDk1YTg4MTMyMmY5YzVhZWE1NmUyYjgwOWNkIGxlZ2FjeS10cnVuaworNjQ3NTQgYTMxMmUwM2EwNjMzMjUxZDFmZTNkMjVkN2E4NmY2ZGE2ODcxYTNkNyByZWxlYXNlMjUtbWFpbnQKKzY0NzU2IGMzMTkzYjcxNTZiYjY2NTA0MTM0ZjIxYTBmZjk2ZmYxZDFhODYzMzAgbGVnYWN5LXRydW5rCis2NDc1NyBjM2JjMDUyMzcyNzJlZGVlMDIxODYyY2M3NzRiY2U0NmMxODBkMGE5IGxlZ2FjeS10cnVuaworNjQ3NTggMmI5ZTEzMGUyMWJjNTQ2Mjk3ODhiOTc1YzhjZWFjMjMyZDk0NzdlYyBsZWdhY3ktdHJ1bmsKKzY0NzU5IDZjOWFmMTRkN2I4MTM0NzZlMjE5ODJiOTU2YzA1ZDIxOTE3Yzk3YmYgbGVnYWN5LXRydW5rCis2NDc2MCA3MWQzMWFiNzM1MDczMWZhY2I0ZmM3MDg4MzZjNmU1NjU4ZTkzYjhkIGxlZ2FjeS10cnVuaworNjQ3NjEgM2FlOTI5YzBlZTdhMjg1ZWJiZTU2Yjk3ZDQ0ZmIzMDhmOWJhZTJmZiBsZWdhY3ktdHJ1bmsKKzY0NzYyIDBjNjJhMjc5ZTRkYWZkMjBhMjJlNTIxNGFjMTFmNjZjMjBmYjdjOTggbGVnYWN5LXRydW5rCis2NDc2MyAzOTQ3YmZkZGE3NmQyN2NlMjJhY2JmNWZmNDg3M2FiNGU5N2YxY2QwIHB5M2sKKzY0NzY0IDY0MGFmNTQ0YTg2MWY3MDRhMzYzYWFhMzNlMTI2ODgxNzM2MzQzZGMgcHkzaworNjQ3NjUgMjIzMWE1Y2VlM2Y1NmVjODMxMDA4NzM4YTI5MmVmZjJjNDU5MDhiMyBweTNrCis2NDc2NiA0NjE0YWMzMTJjY2VlOTgwMjZjMmEwMjdiZWZlMTJmNjA5MDRmNDAxIHB5M2sKKzY0NzY3IDMwZmJmOGU0NTU0OWQwMjk2OTQwMTY4NzA3MzNlZTllYzU2ZGQwYzQgbGVnYWN5LXRydW5rCis2NDc2OCBkN2ZkMzJjZTA3YWE2MmFmNWVmZTk3NjkwYmU0NjQ4ODdhNGJjYmE2IGxlZ2FjeS10cnVuaworNjQ3NjkgYTI0NGQ2YjE0NTAxOGU4MGRkYTYzMmY4NzY0MzcwZjVkMWUzZGVmOCBsZWdhY3ktdHJ1bmsKKzY0NzcwIDViMmYwM2JlYmUzYmFmNmJiNThjMTliMjdlNjZkNWEyZjZjNWM1OWEgcHkzaworNjQ3NzEgMDhjNWM4YzExNGIyOWE4ZTgyOTAzYmMxZjczZTY0MTk3NmM2Yzg3NCBsZWdhY3ktdHJ1bmsKKzY0NzcyIDI2Nzk5ODYxZDMxOGNlMDdhNDYzYjdhOTRhYjk2ZDRkMDk1ZDdhZjggbGVnYWN5LXRydW5rCis2NDc3NCA2NWY2OWNiYWY0ZjBkNWIzYjZmODBhYTY5YWY3YzY4YjYwYTU4NmE0IGxlZ2FjeS10cnVuaworNjQ3NzUgYmM5NDNiYmZkYjFlY2IzMzNlZThiYWNiYTJjZTQ0ODM4YjlhZjg5OSBsZWdhY3ktdHJ1bmsKKzY0NzgxIDgzZjRiNzc3ZDk0YzVlMzUyM2U5YmQ2YjUwMzVjOWZjOWYxY2U2MGYgcHkzaworNjQ3ODggZjhiNzQzNjMyNTkzYWE0MTM3YTNkYzBhMGZhZTFjZjZhMDk4YzAyNCBsZWdhY3ktdHJ1bmsKKzY0NzkxIDFiYzU0Mzk0NGRhYTI4ZGQwZGFjZGRkOWEwNmJlZmM0MjcxN2ZiMDEgbGVnYWN5LXRydW5rCis2NDc5MiA0YzAxZDc4ZWM1OWZmZjRmMDFlNjEzNTU2MDVkZDRkMjE4MDcwODRhIHB5M2sKKzY0NzkzIDM2MTg4NTQ0YzU2MTAyNmY2ZjgzZDZlZmFmZDliODRhZjY3ZThiZjYgbGVnYWN5LXRydW5rCis2NDgzNSBiZWQzZGZkOTkyODFlNDFlNzU4YzE0N2M3MDM4MzQ1OTc2NGQ5ZmVjIGxlZ2FjeS10cnVuaworNjQ4MzYgYzMyZTkxNjUwYzE0NGI5MjdkYmMyMjI1Nzk3YjMxOTFiYmFiZTAzMyBsZWdhY3ktdHJ1bmsKKzY0ODQyIDY4Yzc5NjRkMjUzNDdkMjdkMWJhYWM4ZDk3OGQwNzEzY2EyOTYyYjkgbGVnYWN5LXRydW5rCis2NDg0NSA4ZTczODNjYmU1NmU0OWE3ZWRkMjUyNzgyNGZjNmQ0YzE2NTc2MDExIGxlZ2FjeS10cnVuaworNjQ4NDYgYmQ0MzVlOGIyZTI4MDA2ZGVlYzY0MDA3YzI0N2U1YTQ4NzRiOWU1NiBsZWdhY3ktdHJ1bmsKKzY0ODQ5IDA1ZmVkOWJmNDg5ZDc4M2UxYzQ2NjY0ZjNmMWI3OTkwNTEzZmM2YjIgbGVnYWN5LXRydW5rCis2NDg1MyA3Y2ZjMjhhYzA3MTUyMDFjOTM2ZDdhODQyOThlOWE1ZTI2NGE4ZTIzIGxlZ2FjeS10cnVuaworNjQ4NTQgMTI3NDIxMWEzODhmOWFkMWY4NjY2ODhkOTA3ODUzM2I1ZWYwMmU5MiBsZWdhY3ktdHJ1bmsKKzY0ODU1IDMyOGYzM2JhZmZhMzgyN2Q2ODE5MzQ3NmY3ZGJiNGIwMjQ5ZjA5OWMgbGVnYWN5LXRydW5rCis2NDg1NiBmZDA1NGU3M2UyZjIzOWUzMzVmNTRmZGY0NmZiNDQzN2Y5MmUwMTI0IGxlZ2FjeS10cnVuaworNjQ4NTggMWQ0NGUwMDRjOTFmOGEyZTk4NTVhN2I4MTVjYjVhYzU0ZGUzZGEwOCBsZWdhY3ktdHJ1bmsKKzY0ODU5IDc2MzI1YzE5YWY4NDA4NGQzZjQwOGM4ZDBlYjdmYjNhMjY1ZTVhZGYgbGVnYWN5LXRydW5rCis2NDg2MCAxY2Q0ZDYyNDQ0YjYxNDE0MTcyNTNmMmJlYmVlZjY0NjYzZTllODljIHB5M2sKKzY0ODYxIGUxNjM4NGUzZWUyMmE2NjQ2NmVmYjQ5OThkZjZlMTM2YWM4ZGRlNzIgbGVnYWN5LXRydW5rCis2NDg2MiA1NDVlNDQyMzZmMjg2ZDU2ZGIyYjllN2NiZDE1M2ZjYjM3ODRjNmI1IHB5M2sKKzY0ODY1IGMwM2IyMjNjMmI2OTBiNWI1MjAwOGU2YTY3Y2Y2ZmUwZGFkYTFjYTEgbGVnYWN5LXRydW5rCis2NDg2NiAzODFhZTJhZDgxMGI3NjMyN2UzZDkyZjkzMmMzZmE4Yzk1NzViYjAwIGxlZ2FjeS10cnVuaworNjQ4NjcgNTNiNTFjMjEzYjNkYjAxOGM3NzEwNzdmYWUzYjdmMTk2YjY5YzgyMyBweTNrCis2NDg3MSBlMjg2YmQwZjRlMWJkZjYwMTFlYTRjNDlmODZkNzVlMTcyYTRiZWQ1IGxlZ2FjeS10cnVuaworNjQ4ODAgMTNlNTI1ZDk3NGIxNThiZjZkYWE0MmU4ZTNkOTIzNDdhODFhMzg1NiBsZWdhY3ktdHJ1bmsKKzY0ODgxIDRmODA0ZWU3NzJlYjJmY2JjZmYyZDFkMGRiNWIxYzg5NjE0Y2U1MzMgbGVnYWN5LXRydW5rCis2NDg4MiBmYWVhNmU5ZGE2MzlhZjFkMDFkMmE2YjQyMzIxM2VlYzY2ZTkyYWE5IGxlZ2FjeS10cnVuaworNjQ4ODMgYzY1OWI1MzhmN2JhYzU2YTdhN2M5NTA1ZTllZGQ1YWQwYTdkNDUyMCBweTNrCis2NDg4NCBjZDc3NjNiMDU0NDZmMDM4ODQ0ZGMzM2YzMGRhY2RkYjRlOTY4YTQ3IHB5M2sKKzY0ODg1IDhkYTVkMzhkZGNhM2I4ZGNkMTRiZWEwZTZjNDcwZDdlMmY4NmJmYjAgbGVnYWN5LXRydW5rCis2NDg4NyA5MGI2ZDE5ZjA2YzFkOWZmMjhlZjY4MTI4Y2YwOTY0Y2Q1NGJjZTNkIHRsZWUtYXN0LW9wdGltaXplCis2NDg4OCBhNzQ3Y2QwNjZmMzIxMWY5MGRhMGIwMGZhNDQyYjljNTI2ZTg3NDllIGxlZ2FjeS10cnVuaworNjQ4OTYgYWQzMDkxMjI3ODRjZWZmNTZiYzY2OTRlMjdlMGUwMTE3ODI4MjQ0NyBweTNrCis2NDg5NyAzOGQzYTUwZGVmZWM5N2Y0Njc5ZTc5MWJiNGUyZTcxODgyMTQzNDM4IGxlZ2FjeS10cnVuaworNjQ4OTkgZDZkZmZkYjMwYmRkZDhhZGJlODQ1ZmE2NzBkNWUyZGRkZDYxNGExZiBweTNrCis2NDkwMCBiYzI3Yzg5NjdjYWMxZmFmYWI1YjkwZjgzNTJhZGEyYmRiOTAzMWI4IGxlZ2FjeS10cnVuaworNjQ5MDEgMmM5ZDBhN2UzYmM0ZDNkZDNmZjA0NzkwNWQwYzQ5MWZkNzUyYWM0ZCBsZWdhY3ktdHJ1bmsKKzY0OTAzIGJlYjBmZjVhMmEwZjU4YzU2YmJkOTg5NTY2NDVkNmFiYmNlYjM1MWMgbGVnYWN5LXRydW5rCis2NDkwNCA1ZjI0MzFkZTYzZDBhNTE0OGRkMmYzY2M0NjNjM2Y5MjY3NWU5YjY1IHB5M2sKKzY0OTA1IDJlYTgyOWRkNmI1YTFkZTcxNWRkNzQ0MzMyMmZmNDM3MTAzMTk5YjEgcmVsZWFzZTI1LW1haW50Cis2NDkwNiAxOWNkYWFkNzg4YjkwZjBhMzAxMDNmMjNjMjI4MTZkOGY1MmQzMjM1IHB5M2sKKzY0OTA3IDVlZTMzYjlkZGVjYzY5MzRmODdmNjE5YjJiNjA3NmIzZjQ3ZmUxYjQgdGxlZS1hc3Qtb3B0aW1pemUKKzY0OTA4IGE3MGQ5MDVlNTA0MThiMTE5NDJhMDg4YTYyMDMwNzc4YjA3NDEzZTYgdGxlZS1hc3Qtb3B0aW1pemUKKzY0OTA5IGUyMjk2YjUwMDYzZGYzZTdiOWQ0ZmE3MTM5ODdiMmM2M2VlNTE3OTEgdGxlZS1hc3Qtb3B0aW1pemUKKzY0OTEwIGIzNWM4YjE5NDBhZjUyMTAwZTllM2FlOTc5MzNmNmE5YmYzNDRiMjQgbGVnYWN5LXRydW5rCis2NDkxMSBiNWNmMGNiMGM3Y2U1OGI3MzAzNWQwNTBiOWU2YWFiZDI4ZTgxN2U0IHB5M2sKKzY0OTEyIDg2ODY1NjMyODE1Mzk1ODViZGFiNTc4YmQxOWE5YjAyNGVlNTY2MmEgcHkzaworNjQ5MTMgNWFhZmEyM2NiZmZjOTk2OTE2MmNiMzE4YTQ1OWM3MmNiNWZjMjJkYiBsZWdhY3ktdHJ1bmsKKzY0OTE0IDIzMjEwNDBlYzkwYmU2NzRiM2I4MmJiYzI3NTYzZDUyZWM0NTE3MGMgcHkzaworNjQ5MTUgYjkwNzUyYzVlOGMxNTNjNjlhOGU3N2YyN2IwMWFmYjEyMTIwZmFlOSBsZWdhY3ktdHJ1bmsKKzY0OTE2IDhjZmNmNzkzMjcyNDVjYzcwMzIzZjM3NzM5Yjg1OWMzNmRiYTQwMWMgdGxlZS1hc3Qtb3B0aW1pemUKKzY0OTE3IGFiMmNmZDdjM2JlODc2MjdhNmQyOTY5ZGNhZGRiODdmZmZjYWE2ZmYgdGxlZS1hc3Qtb3B0aW1pemUKKzY0OTE4IGU1M2U0YTcxZjU2ZmQxODZiZGU4MzY5ZGE2M2E0M2VlOTBjMzAyZGEgcHkzaworNjQ5MjAgZDYxMWIwMDkxZDVmNjRlZWFmZWM1NjZmYTY0MDE1OWMxNWUxYjdmZiBsZWdhY3ktdHJ1bmsKKzY0OTIxIDVkNjFhZDIxNGI5YzA2OWM4OGIxYTE5OGYxNzI0YTI0NTI3MGUzMTkgcHkzaworNjQ5MjIgMDQxNTUwNzM4MjAxZmRmZTQ0NjFlNzk3ZTc1M2NkZDVlMDhjMjY2ZCBsZWdhY3ktdHJ1bmsKKzY0OTIzIDhkMGE5NzY4MTZmMmY5ZGU3ODAzOGVhZmFlNDBiOGZhYzRkZGYyYTcgcHkzaworNjQ5MjQgMThiZjJhYWE4N2I1ZjI0ZTdiMzE0M2UwMjZkYjQ3NDJmOWYzOWEwYSBweTNrCis2NDkyNSBjNTcxMGYwZGViYWUyNzUxNWE3ZDhhMzA5ZDExZGNlMTQ2NzBlOTBiIHB5M2sKKzY0OTI2IGU1ZTEyZDMxMDU3ZWQ1MDViZWE3NTAyNWM4YzZmZGYwZjMzNTg2MDAgbGVnYWN5LXRydW5rCis2NDkyNyA1YWMyNmIxZjI1ZDkxZWVjNGJhYmE0ODliMjJhZWQwZmMyYmJkYjM0IGxlZ2FjeS10cnVuaworNjQ5MjggNmMxMjM3Y2I1YWFhNjZiZGNlODg1ZDA5MjExYTdkZjY1NmNjZmE3ZSBsZWdhY3ktdHJ1bmsKKzY0OTI5IDhiYWNlMjE0YWU1NGEyMGM5MGJhY2M5NjJhYjhmYjQ5NTZkNWZhNjYgbGVnYWN5LXRydW5rCis2NDkzMCBhZmU4ZDUxNWJmZTJlOWM5OWFiNzJmYWIzNzYxYzE4MTVhZDdmZmJjIGxlZ2FjeS10cnVuaworNjQ5MzEgODFlMzRkN2U0YmEwYTdmYTYzMWJkM2E0MTgwYTA3MzljMjM5YWI5YyBweTNrCis2NDkzMyA2ZmQ4YTFkODQ0OGJjZDE2NmZlMzcwYzQzYzJkYzRjY2ZlNjRhODhiIHB5M2sKKzY0OTM0IGJlM2QzMTA2ZGE2ZjI0NTFhYmVhNmRiMWZjNjdlN2M5OTNlNTQwODMgcHkzaworNjQ5MzUgYWZkZDY0ZWRmMTg5ZTVmOTY3OTM3MjEwNjI5MmQ1ZDQ2MzEzMWJjOCBweTNrCis2NDkzOCA5MmIxY2FmYTMyNjdiNjY4ODAzOWEzY2Q3YjgyNmYzYTU5OTNkNjMzIGxlZ2FjeS10cnVuaworNjQ5MzkgN2EzMGIzYzVjYjU3YTdiYzk2ZWFiNmJjM2I0MzMzNzg0MGRjZWNjZCBsZWdhY3ktdHJ1bmsKKzY0OTQwIGMzYmM0Mzg4ODJjYjgyZjRlMmU5ZGM4NDI4OWMyODNjZGNkZjA0NzkgbGVnYWN5LXRydW5rCis2NDk0MSBhZTM0Yjk1MWIzMzc3NjI2YWI0ZDdlYjE3NTI5MzQ3NTRmOTkyOWFiIGxlZ2FjeS10cnVuaworNjQ5NDQgMmFkNzQ5ZDU3ZTYyYzA1MDU4NDc1MjBmMWY2MWMxNzZmMzE0YTgyZCBsZWdhY3ktdHJ1bmsKKzY0OTQ1IDJjYzRlMWM0NzVmODEzYzE0Y2EwMDEwNzg2ODdjMmFiNWI4ZjJkYmEgbGVnYWN5LXRydW5rCis2NDk0NiBjMGMwNmZmYWVhODMxMDkxM2UwMzRhYzg0ZjI3MmVhZWIxOWQ0ODVlIHB5M2sKKzY0OTQ3IDE5MzY5YzdmNTc5MTRhNWNkNDJiNjAwODNkZGVjNTk3MGIxYTc4MTIgcHkzaworNjQ5NTMgZTdhNmE0NTE1YWIwYjM5YjU1YjI0MWFkZjIxNjg1YWNhNTMzN2E4OSBsZWdhY3ktdHJ1bmsKKzY0OTU0IDk5ODY4MjA3MjNlMGNmYzcyNzJkZTg5OWQ4MGExYjQwMGQ1YzlhOTUgcHkzaworNjQ5NTYgM2Q4NjgyNTRmZjdlZWZkNmUzYTFmYWJjMzcxNzM5N2EzN2M5MTc1NSBweTNrCis2NDk1OCBjMmIxMTRkMGUxY2Y0ZDczN2Q1OTAzNTg3NGIxMzVlZWMzZjJiMTBjIGxlZ2FjeS10cnVuaworNjQ5NTkgNzQxOTU0OTllOTA5M2NhNzVlYzExZjFhNGI0ZGI1M2VhOTIxNDM2YyBweTNrCis2NDk2MCBkNGU0NzMyOTFhMTdjZmIzNjc5ODY5Y2Q0ZDY2MTk0OGU3ZmNhNWFmIHB5M2sKKzY0OTYxIDJmYmUyOGRlY2EyYTI4NGNkODQzMTE1ZTQyZDEyY2I4ZTU3NmNiM2EgbGVnYWN5LXRydW5rCis2NDk2MiBmOWI4MGE4MjBhMjU2OWNhYmQ1ODJmYzk4YTQxZDlkZDk0NDY0ZmQ4IGxlZ2FjeS10cnVuaworNjQ5NjMgN2Q1NzBkZjVlOTBhNDEzYmUxNzg4NzAyNzlhNGVlOGZiYTQ0MmI2MyBweTNrCis2NDk2NSAyZWUwOWFmZWUxMjYwMjUwZmQ3OGQwMjc1Yjc3ZWVkZWE1YmZmM2FiIHB5M2sKKzY0OTY2IGRlZDIxNzA0MzcwN2MyZjVkNDM2NWJkOGQ4NzkyNzk0YTBlNDRjMDQgbGVnYWN5LXRydW5rCis2NDk2NyBmNGU3ZWY0MzI5YTk1N2U5MmFmYjExYTRmMGVmYzgyZGM2ZWU2ZmQ5IHB5M2sKKzY0OTY4IDFmZGJhMDk3OTMyYWY4NmZhNDE2ZTgzM2E3MmQ2Y2JkOTIxNTE4ZjEgbGVnYWN5LXRydW5rCis2NDk2OSBmODcyM2ViMTA1YWNkNWZhZGUwZDZlNmJhZjUzMjI0MzIxM2I3Zjk1IHB5M2sKKzY0OTcwIGUyNmM3MjRkNWUyM2UzNzQ4Zjg2ZWU1NzU0MGM4NjJlNDRiYWNiNDggcHkzaworNjQ5NzEgOTE2ZDMzZWM3YjVhZmVjYzBiNDNkZDNjNWM0NDgzODRmMTI1ODIxOSBsZWdhY3ktdHJ1bmsKKzY0OTcyIDQzMmQyNzgwOGJkMWVlNjM5M2E2OWFmZGI4Yjk2Y2Y1NGQzYzkwNWUgcHkzaworNjQ5NzMgMWYyNGNlYzBmMmUxZDY4ZDI2N2QxNzgxODZlYWYxY2NiMTM4Y2NmNCBsZWdhY3ktdHJ1bmsKKzY0OTc0IDk3YmE5MzZlOGRmODRjYTQ3YjBjOTYxZmYyMWY1ZTYwOGI0YTU3NTAgbGVnYWN5LXRydW5rCis2NDk3NSBkMDQwYTNiNjNkZjQyNTg4NjdhMTZhZTA5YmQzY2QxM2Q5Yzg2ODk2IHB5M2sKKzY0OTc2IDg3NWJlYjRhZDg4OTE1MGE2MDU4MjBmNDNkNDZlNDE1ZDE1NGZkNDcgbGVnYWN5LXRydW5rCis2NDk3NyAzNTAwNGQ5YmZkMTU2MDQwNDUzMWFmZjIyZGI5NTkzNTQ0M2I5NzVmIGxlZ2FjeS10cnVuaworNjQ5NzggZGEyZDM2MzM3OWYyNmU0ZTQ0YmQxNGRhZDg1YzEwMGYyMDQ0ZTRhYSBweTNrCis2NDk3OSBhNDQ4MmExYTMwYzZkOTNjYzMyMzQzYzhiMTI4NmVkODI3NWVlN2I2IGxlZ2FjeS10cnVuaworNjQ5ODAgMWUwMDkxNzA4ODc1YTc4NTEyZjQxMzczNTQzODI4MTBlYThjOWUzMCBweTNrCis2NDk4MSA5Y2IyOGFkNWE0MWMwMDEyNjkwZTU5NzE1OTRiMjViZTU2MGMxMWExIGxlZ2FjeS10cnVuaworNjQ5ODIgMDFmYmUzZmM4ODNlMGFlYjFlZGUzMTQzODJiYTkzYjQzNjQ2NzY5MSBsZWdhY3ktdHJ1bmsKKzY0OTgzIDUxYzBkM2EwNzFhZDAwNzgwNmZjN2Q1ZGZkZmNhMjJhYzNhOGMxODggbGVnYWN5LXRydW5rCis2NDk4NCAzZmE0NGU1ZTRlMmIxZjJjZDZkOGQ0MjU4MGQ0NWY3NDllMzg5ZTBiIGxlZ2FjeS10cnVuaworNjQ5ODUgYzY2MmU4Y2ZmZGRmNjFkNWI2ZTRjNWRhYTY5OTJlOTQ0YmYwZmI3NSBweTNrCis2NDk4NiBlZmY5ZDExYzQ3NjI2YWJjZTA3MjY3YWIyMmNlZmU4ZTU3MzQ2ZTRlIGxlZ2FjeS10cnVuaworNjQ5ODcgM2EzYTVhNDkyMTQ3MWMzNDgwMTQxZmRkYjQ1N2Y3MWNhNWIyYjQxMSBweTNrCis2NDk4OCAzYmIxZjhiYmEzMzY3NmEzNTk3N2E5MzY0ZGMzY2ZjOTE5NjJhMjZhIHJlbGVhc2UyNS1tYWludAorNjQ5ODkgYmJkMGM5MDAyN2JmYjc3YjQ2OGNlZWYzMTVmYjFmNjJiMjU3YjdjNiBweTNrCis2NDk5MCBiZDQ4NDEwNjljNjg0ODU4YjI3MmQyMjQ4YWE1NWYzZTYzZmMxMDQ0IHB5M2sKKzY0OTkxIGQxNGQwYjE1ZTE4ZTcwZjdlNzQ4Njk1MzgwNWZlNDI4NTA5YjlkNzMgcHkzaworNjQ5OTIgMzhkNzE5YmVkZGJkZDg2MzY1MWM5MGMxZDI2MWYxYTY0Mzg2NjNkMyBweTNrCis2NDk5MyBlYTIzZTdjNTYxNTQ1NmNjYzU5ZDNiM2Q3ZTAxZTZmNzIxZjJlZGI4IHB5M2sKKzY0OTk0IGZjZWZmOTU0ZjM4MDRjNjJiMWNlNjU1ZTI0ZGM5MTM0YzIzMWRjZGIgcHkzaworNjQ5OTUgOGU5ZTY1MzgzYWZiNjUwMmUzOWRlNzRkMTUwNzUwZTliMDVlYTEyOCBweTNrCis2NDk5NiA2NWU5YzAxMDJlZjljNGIwOTQ3YjkwZWQyMTU4MzhhZjFiNzIzYTk1IHB5M2sKKzY0OTk3IDkyNmIyYTE5NjA4MzE1Mjc4NTA4YjEwNWYwNzdjZWU0YTBiZTFlOWQgcHkzaworNjQ5OTggOWViZDNmMzg1NTc1OWQ1OGFlZTRlYjhiOTdjZWYzN2JkYWI4MjM0ZSBweTNrCis2NDk5OSBhY2E1YjJlNmE2NmYzMjRiNzQ1NDZlYjgwZjU0ZjIxOGM3MzU1MTBkIHB5M2sKKzY1MDAwIGY1OGUzYTBlYTk5YTE3Yjc2YzVlMDg2ZGY4OTU4OGNkNTM4MzFjZTIgcHkzaworNjUwMDQgOWFhMDc4MTYxNWZiMWM3YTc2MGFkYjZkZDVkNTI2ODFkYTAyZGI4NCBsZWdhY3ktdHJ1bmsKKzY1MDA1IGMwYWIyYmFmYjI2NDQwYjU5Zjk4NDkwNWM2NDFhMDc2NDc0YTQ2NTUgbGVnYWN5LXRydW5rCis2NTAwNiBjZWEwNjZkZWRmZGZiMjA4ODI1OTZlYTMzOTMyNzY3MWIyYWM1NmUxIHB5M2sKKzY1MDA3IGNhMGQ2MjBjZDYzYjJhNWZiZGFlZDQxYmU4NjY3NzU3ZmQxZmRjYWYgcmVsZWFzZTI1LW1haW50Cis2NTAwOCAyYmI4NjZkMjgyYmFkNTVkZmU2NWU3MTM5YjEyOTMzYmY4MmE5YmY3IHB5M2sKKzY1MDA5IDE3NzMwMmZlYWIzNjg5NTVlZWQwMzI1ZWU5NTE4ZGFmNWFhODliNDcgcHkzaworNjUwMTAgZGUwYmY2MGYxMjQ1YWM3M2U0NGJiMjVlMmM1OGVhZTZlNWQwODJhZSBweTNrCis2NTAxMSA0ZjZlZGVhNGI1NTg1NjExYzE1NGY1YTIwZmIwZDI3OTdjZDI3NzVjIHB5M2sKKzY1MDEyIGE1MTkxZDdlYTQwNTQwYzMxNjFlNWFjZDQ5NzAyYTcwMTM0YjhjODYgbGVnYWN5LXRydW5rCis2NTAxNiA1ZjZkYzJmODZhODg0NDE3NWIyYjliM2FkYzM3N2Y5MWI3ZWFiZTZhIGxlZ2FjeS10cnVuaworNjUwMTkgZWMzOGZiYmI4Y2NlYmUxZjI2NzA5MDdlNjg5MjY4MTU4ZjhhZmJmMSBsZWdhY3ktdHJ1bmsKKzY1MDIwIGI2NDVhYTJiY2E5Y2M3MTIxOWJjMjMzNDhjYjEwNDBiNGU2YzFhMTggbGVnYWN5LXRydW5rCis2NTAyMSAyZTkwZmVmMjI2ZWE2YzIwMmRhNzAxZGI2YTIwZWRhZDcwOGNmNmE0IHB5M2sKKzY1MDIzIGEwOTYzZTQ2ZjQzZTVlNzdlOTIzNTViNTU0ODdmMWY0NzZkNWUzNjYgbGVnYWN5LXRydW5rCis2NTAyNCA2NTRmZjU3NTU0MzZhZDUzYTZkYTFjMGQxMmIxNGI1NTc0YmIyYzNjIHB5M2sKKzY1MDI2IDY1NTIyN2M5ODhhNzhkNmQyMjgzYzE0YzhmOGMxYWI3NjJhNzk4OWMgbGVnYWN5LXRydW5rCis2NTAyNyBhY2FjYTExZDgwZGJjODRkMzEwOWFkODZiZDkxMDM0NTc2MDI3NjY2IHB5M2sKKzY1MDMwIDU5YWM1YWVmM2IyZDFmZjNjM2E2Yzc2Yzk0NDU5MmRlMTViMmU1NmMgcHkzaworNjUwMzEgYjJmM2RlMzU4YWY0MDgwMzI0ZDdhZjg0NWFiODIxNWVmNmI5ODAxNiBweTNrCis2NTAzMiAwOWJlYjk2YmEyMGQ0N2M2MzQxNzI3ZTFmZWM2ZmQwYzEwNmQ0Yzg5IGxlZ2FjeS10cnVuaworNjUwMzMgZWM4NWI1OGFkMmJhNGEwODBhNjAxYmIxMWI4NDc2Yjk2OThlNTJlYyBsZWdhY3ktdHJ1bmsKKzY1MDM0IDZjOGJhYzkxM2FhYmZjYzA4YzVmZDQ3ZjVjZTRlNGE0ZDZkY2I4ZTcgcHkzaworNjUwMzUgZWJlOTMyMzI5MjQ2OTk3ZDUzODEyMGEzOGFlZjdhNTZlZTJjMzgzNiBsZWdhY3ktdHJ1bmsKKzY1MDM2IDYwNGZlYmQyMDRjYjJkM2U2M2YyOWYxNGI5MWU3ZDY5NGY5MmFhNGYgcHkzaworNjUwMzcgZWM5N2I3YWFkMjMxYmVjY2Y3YTI3ODNlNGI0MDI4ODk4Y2FhOTM2NiBsZWdhY3ktdHJ1bmsKKzY1MDM4IGVmZTcwNmFhYjMyYjkxYWUyODNhZWYxYWVmY2I2OTczNDI2ZjJkY2EgbGVnYWN5LXRydW5rCis2NTAzOSAwMTgwNmNkZWRkZGUzNjA4YmYwNDE0OTQwYmVlODE5OWRjMTUyYTFmIGxlZ2FjeS10cnVuaworNjUwNDAgMDkxZGY0YzA4ZDk5YTRkZTUzNTdjOTk5OGY4NGU1NjkwOWE4YmI5OSBsZWdhY3ktdHJ1bmsKKzY1MDQxIGZiZjE2NWE3ODk1MzczY2FkMzBjYzYwZjFmMzY1ZjJiMjM3ZDVmOWIgbGVnYWN5LXRydW5rCis2NTA0MiA3ZTAzMGI2MjgyOTRkYjIyOWI4ZTA3MjQxNGI1NWM3MTU3YjcxMWQxIGxlZ2FjeS10cnVuaworNjUwNDMgYjk4MjhiMmE1MWMwZmYzNTFmMWNiNmYzNTIyZTc1Yzg0ZmU2MTMzNiBweTNrCis2NTA0NCA5MjFjNGE4MDk5MjM4MzE3ZDVkZjhmM2UyNzZmYmI5NjZhYzU4YzE5IGxlZ2FjeS10cnVuaworNjUwNDUgZDg3Y2Q1ZTczNjVhYTgyYWM3NzE3NTM0M2ZmODk3YzJlOTkxN2IxYSBweTNrCis2NTA0NiA3NjhiY2ZmNGMwZGFlZGE2NDdkYmQyNzQ0MTBkOGRmNzAxM2ZlY2Y1IGxlZ2FjeS10cnVuaworNjUwNDcgZjJjNzI3OTI1OGMxMmRjNDY2OTZjNDNjNWQ5MzQ0YWYzMTFkYjAwZCBweTNrCis2NTA0OCBkMzFkNjFmNDY0OThkMTQyMTczZmJiMjUxMjZiYWRkY2Y0ZTNlMzhiIGxlZ2FjeS10cnVuaworNjUwNTUgMzBmZGQwYzNiNmRlMWI4MjM1ZTc1YWI1ODAwOTA2ZjljN2M0NDNmOSBsZWdhY3ktdHJ1bmsKKzY1MDU2IDljNTZjZDk3ZmY0ZGVlMzA5NDY4YzM1MjMwZGJiOTg1ODVhNWY0NmQgcHkzaworNjUwNTcgMjdiY2E3ZmFjMzYyZDcxNTkwZGQ2M2JlOGVhNjE1MjU0ZjZjOTE3OCBsZWdhY3ktdHJ1bmsKKzY1MDU4IGM1OTExYTdiNWZhMDBiYzI3NWY2Y2Q3ZmI2ZDcyOWE4YjRlNWVkN2EgcHkzaworNjUwNTkgNDUyMzNkNGMxOGQyM2IwNjBhZWRlM2JiNWYyMzZmM2ViYWVjMmZiNSBsZWdhY3ktdHJ1bmsKKzY1MDYxIGEyOWM4NmNlNzY2ODcxMTEzYmUyNzZjNDI4NmIyYTFlZmY0MjE1ODEgbGVnYWN5LXRydW5rCis2NTA2MiAxYmU1YjZiZTQzY2I2OTg1NDJjODM5MjE5Njc1MjQ4ZGI4MmFjNTlmIHB5M2sKKzY1MDYzIDc5Zjg0YmMyYjE0OTIwODVmN2ZkNmMzZDdlNmFiNjU1ZTlhNGI1NmEgcHkzaworNjUwNjQgZGJjMmI3YWQwYzIyMTdjMDgwZWRjMDFjNDc5NzYxYWNkZTRmYmIyOSBweTNrCis2NTA2NSBlZWZiOTgzNzk2NDRkOWJmODRjNWUyZmViM2EyNTlhMTVhMzViNTBkIHB5M2sKKzY1MDY2IDc4YTI5YTA1MjA3OTgyZDI2ZTczYmEwMDZiM2U0NDlhYWZjYjc3NjUgcHkzaworNjUwNjcgOTkxY2FkZDQ3ZDk3MzJmMzExMjExZWViZGU5MGZhOGU5ZTdkOWEzNCBweTNrCis2NTA2OCAyMDY4NzEwYjMyYzM1MTNjMjQzNjJiMDhiNTE1OTMxNjM5NDY0YWM1IHB5M2sKKzY1MDY5IGYyODNlM2I1ZjkxN2FiMjZiNTM4ZjRlOGEwNDRmYjA3Yjc4NjlhZGEgbGVnYWN5LXRydW5rCis2NTA3MCA1NjAzODhjZGExNjNkOTNkZDhjODRmOWIwOGEyMmZlYjQ1YmRhMmUxIGxlZ2FjeS10cnVuaworNjUwNzEgN2M2ZWM3YTgwMTZhZGZhNzM0ZmI5NzIyY2UxMGRiYTY2YzlhODFjMSBweTNrCis2NTA3MiBiYTM5YjQwZWJmMmQ5MzM5Y2FiYzdkNWYwNDNhMGFmYjA3OTc3NDQ3IHB5M2sKKzY1MDczIDgzZDBkNGNiN2E2NjFjOTdjZjU5ODQ4YmM2NjE3NmY5ODhlODkyYTcgcHkzaworNjUwNzQgM2Q1MjY1MjViM2U4MWQ5NGFhNGYyZTRjNjcwODFhNTY4MzQ5OGY1ZSBweTNrCis2NTA3NSA1YzMzMDA5OTk0YjQ2MzU4ZDZlZjk4MzUzNzRkOGNlMzhkMjViM2ZiIGxlZ2FjeS10cnVuaworNjUwNzcgNmRkNTIwZTFiYzBkYjM2MWZhYTFjZDYzZWFlNDE2Yzk0Y2YzZWFkZiBsZWdhY3ktdHJ1bmsKKzY1MDc4IDRkZWFkYzhmOWUwYTM5M2VhNjFhYWRmOGQ5ZmQ5NGUzZTZiMjAxODYgcHkzaworNjUwNzkgMDMxYjVhZDU0N2U0MjdiNDM3Nzk0YjgxODFmMjkyNDkwNjJiMDgzZiBweTNrCis2NTA4MCAxNmVjNGJiMTRhNjhlYTQyOGFjZjA5ZWJmMGM5Mjk4MWRhMjY0NmYzIHB5M2sKKzY1MDgxIGE5NjgwMjliNjNkYjEyMWYwMDdhN2RjOTBhZjg4YWM1ODJkZDQ3ZTEgcHkzaworNjUwODIgODFlYzgyNjNiZDZlMjVjOWE4ODU1Y2QwY2U5YWU4ODE3MzI5NzJiZSBsZWdhY3ktdHJ1bmsKKzY1MDgzIDU4ZDRiZjMxNzI4ZmY4YjQyOTYxMWIzZjRiMGU0OTIxYjA4YTFhYzYgbGVnYWN5LXRydW5rCis2NTA4NSAxOWU3NzlkMDIwNTM1M2ZjOGNlMTkwMzU3MzRlMzc4MjhkMmQ0M2Q2IGxlZ2FjeS10cnVuaworNjUwODYgYjc0ZTlkMDliMTgwNjkzZDAwY2M1YjMzNDZjMTAxNGQxNDZjMTU3MiBweTNrCis2NTA5MCA3OGVlNmJhMjA5OWVlN2QyYzZkOGI1YjIyM2ZiOWUxMTliMzdkODVhIHRsZWUtYXN0LW9wdGltaXplCis2NTA5MSA2NDRjYTQ0ODc4ODFlODc5ZTAxMGVmNTNmZjk5NDY4ZjlhODM0MDVjIGxlZ2FjeS10cnVuaworNjUwOTIgMGVhZTliMjVhMmVkMGJkZTA1OTUxYjlhMDBlNWM5ODI3MmFkMjhkNiBsZWdhY3ktdHJ1bmsKKzY1MDkzIDhlYzE4MzBkNTcxOTk3M2U3MDczYTgxYjg5OGIzYTExMDM3YzFhMTAgbGVnYWN5LXRydW5rCis2NTA5NCAxYWNmZTQyOGU4ZjE5Yjk3OTBmNDU3ZDgyZmNkYjRjMmU0ZWMzYWY2IGxlZ2FjeS10cnVuaworNjUwOTUgY2VjNzA0Yjc5YmRmMWY1NTAxMzY5ZjE2ZDlmZDc1Mjc3MDA1OTU3YiBsZWdhY3ktdHJ1bmsKKzY1MDk2IDI5MjUxMzVjYTA1MGE2NDQ3NWRkZjMyYWIwYzM3NTRlNzk0ZTYwNjcgcHkzaworNjUwOTcgNGVjNWEwZWM2MzFhMDU1M2M1NTY4ZDM0OGJiODNhYjlkMmNlMWI1MyBsZWdhY3ktdHJ1bmsKKzY1MDk4IGU4NWQ1NjkwYzI5NmVmNmYzMGY1ZTk3MzBhYTYxYjBmZGE3Y2EwMmUgbGVnYWN5LXRydW5rCis2NTA5OSBhYzFjZDQ2YmY3ZDU3ZTliNGQ3NGYyY2YwYjViMzExMzVjZGUxYzZkIGxlZ2FjeS10cnVuaworNjUxMDIgMWIyMGFmYTQ4ZDU4YWU1MTI1NDkzZmMyMzM5ZTI5OGY3MGZjMmU0ZCBsZWdhY3ktdHJ1bmsKKzY1MTAzIGM0MzIzMDdlYzAwZGQ2ZDY4ODFhYjAxMWQ0MTRhOTFlNDg2MTExZDcgcHkzaworNjUxMDQgOTU3NmJiNzFhMDFiNDhjMGNkNDA5MzBkZTY5NzhlNjhjNTE5ZTMxMyBsZWdhY3ktdHJ1bmsKKzY1MTA2IGU3ZDY0ZTgyOTAzNTIyYjMzNjcwM2ZkZjFhOGMxYzNlZDJhNmUyZDggcHkzaworNjUxMDggOWJkYjc0MDRlZmU3ODg5ZGI4YmU3NDNlYjgyM2MzZjY2ZTdkZDE3MSBweTNrCis2NTEwOSA0OTcyNmRjYTE2ZDgxMWMzMThkYzMzZmE1MmVjYTI3YTU0NTg1NzhlIGxlZ2FjeS10cnVuaworNjUxMTEgYjkzMWEwMjI2NDY2NTZiZjE5Y2Q1NDgyZjIwZTEyZDQ4ZTY1NGNiMCBsZWdhY3ktdHJ1bmsKKzY1MTEyIGY5MDQwZDEwN2Q2NjQ3ZGVmNzlkZmUzNDkyOGU0MTM4ZTA0ODBmNjcgbGVnYWN5LXRydW5rCis2NTExMyAyOTc5NTEzMDY0MDA1MjFiN2Q3ODQwYjJjMWIwMDc1MGIwZTVkZmJmIHB5M2sKKzY1MTE1IDZlNzcxNmEzYmRlYzEwNjBiOGViNTNhYzZhNzdjMzkyZjA1NmY2MjEgcHkzaworNjUxMTggZGVjZTE3ZWRiZWQwOGFiNjljOTIyMWY4NjhiZDBkNDU1NmNmNjc5ZCBweTNrCis2NTEyMCBmZWZmZWMyNmM1NmNiOTZkYmNlYzMyZTdkOTZlNWJjOTEwZjIxMjliIHB5M2sKKzY1MTI1IDQwZGI0NWJmYzBmMmNkYmNjZGVmYTY1ZmE2NTU5MzhkMTdiNzdiY2UgbGVnYWN5LXRydW5rCis2NTEyNiA0OGU4M2U2NjkzNWE5YTZjMzM4YTU3OWE5NWYwMTJmNTQxYTc5NTU3IHB5M2sKKzY1MTI3IGE1ZmZlMzRjNzJjNDg5OWRjMGNhZTc4MzlkMmZmYzZjZmEyMzg3ODUgbGVnYWN5LXRydW5rCis2NTEyOCBjYWNhMzM4MzJhMWE1MTI3YzIyN2ZhYmY5OWQ5ODM1ODFmNWY5ZWUxIGxlZ2FjeS10cnVuaworNjUxMjkgZTZiYTZmNDE0NjliZjMwYmVkNGJlY2JiZTI1MmZhZjY0ZWJmOTBlYiBweTNrCis2NTEzMCA2YzVjZGRiMjY3ZmUyNGQ1OWQ1YjMxZWFlMGQwYjJjMmQ1OTRkZGE0IHB5M2sKKzY1MTMxIDdhZDZlNGNkNzcxMzY2ZDk0NTU4Mzc3YWUwODZiYzAwYzZlMTE1MTUgbGVnYWN5LXRydW5rCis2NTEzMiA0MGIwZTMzMThhOGJiYWRkMTc0NDdhNjg0ZGM1MjkwODQwMTk0YTBjIHB5M2sKKzY1MTMzIDMzYzZhZjY5YWUwZjE3NTMxZDJhZWE4MzQ3Njg4NzQ2ZDBmYTUyNzAgbGVnYWN5LXRydW5rCis2NTEzNCBlOTA3ZGE4MjUxNjkxOTI5ZThmZTU1ZjhjMmJkM2YyNDI5MTk5NTBkIGxlZ2FjeS10cnVuaworNjUxMzUgNDliZTg4MTJkNDMzMGFlZGU1MDBkMDhhOTYyMmE4YWJiMzVmYzZkYiBsZWdhY3ktdHJ1bmsKKzY1MTM2IDk2ZWFmYWI0ODkwMTJlZGYyZDk4MTNiZmVkMTAwYmVhNDZhYzQyNjggbGVnYWN5LXRydW5rCis2NTEzOSA3ZjU0MjJkMDQwOWY5NDQ0N2U3ZTE0ZTZkMTRiZmZjODMzYWI2NjgxIGxlZ2FjeS10cnVuaworNjUxNDAgZGZjMzc1ODNmMjA0NzY3ZWNhZTY5ZTQ2NWNlZTE2M2VjMDk5ZmI3OSBweTNrCis2NTE0MSA5NDhlNWIzMjMzMjkxYmUxNTI1NmNmMTA2ODliNTY3ZjM3NTE2ZjBmIGxlZ2FjeS10cnVuaworNjUxNDIgNDA3ZWIwMDQwMDQxNDFjYThlZjYyYWM3ODdiOTE3NDM3MjAxM2ZiYyBweTNrCis2NTE0NCA4OWY1Y2ZlYzA1NzNjNWVhMzMxMmI3OTljNTAwZmRmMzExYzhiZWFhIHB5M2sKKzY1MTQ3IDdjMTQ3YTc2YTBiMjcyNDY3NWQ0OTA0MDJiYjQ0ZjlmNmY2MGU1YjAgbGVnYWN5LXRydW5rCis2NTE0OCA4Y2RiMTgxYWE5YWZjNjc1ODA4ZTkyY2Y2NjZhZjExMTNmMjJlM2FmIHB5M2sKKzY1MTQ5IDcwYmU2OWM5M2UzM2FhNTNlOGVjMjVjMWQwYWYwMjg4MTBmOGZmNzggbGVnYWN5LXRydW5rCis2NTE1MCA0M2M2OTM0NTE0ZDdjYzM0MmU2M2EyNDI4MDJmOTJlN2M3Y2I2YjBkIGxlZ2FjeS10cnVuaworNjUxNTEgODk4OTIxM2YzODZiMjZiZTQ0ZGJiYzhlNGNkMmIxYWNhY2VlNDRmZSBsZWdhY3ktdHJ1bmsKKzY1MTUyIDY0NGZhN2EyNDBjOGI3OTYxZDZlN2FiMjRjYzJiMDkzM2FhMGUxYjggbGVnYWN5LXRydW5rCis2NTE1MyBiYjI2MzY4ODI1MDNkZDI2ZGYyZWQ3NGY5MDRmZWJiYjJhNmYwZWYzIHB5M2sKKzY1MTU1IGQyN2UyODAyMDcwOTJkODUwNmIyNTgzNzRiYTY3Y2UzOGI2Yjg4ZjQgbGVnYWN5LXRydW5rCis2NTE1NiAxZDRjYjI2ZWM4OWZhNjlkYWM3MTEzOTMxMzhiYTVlNWZkOTY2MzU3IHRsZWUtYXN0LW9wdGltaXplCis2NTE1NyA1NzhhNGIwYTUyMmQyNjBmZDEwMDg1NTM0YTI2NDM5MjgwMmM5NTgwIHRsZWUtYXN0LW9wdGltaXplCis2NTE1OCAxZWQ2OTRhN2FiNjAxNDczOTQxNDA5YzllMDYzY2UzYThmZmFkYmIzIGxlZ2FjeS10cnVuaworNjUxNTkgYTk3ZmQ1YTNiMDkwYjY5YzY5Y2NlNDFlMmQxYWZhNjE1NjhhMjViYyBsZWdhY3ktdHJ1bmsKKzY1MTYwIDYwNTM1MjUwYTYyYzZhNDBmNmRkYzUzNDdjYTNmMWVmZDU3N2VmNzEgcHkzaworNjUxNjEgNjI4MjNlY2E4ODFiZTRhODdlYzYwZGEwZWJlMmJiOTMwMDEzZjk3NyBweTNrCis2NTE2MiA3Y2NjZTJhNzM5NGEwMjgyYmU0MGFiYjRlNWNkZjEwOThkNWUwOWIzIHB5M2sKKzY1MTYzIDM2NDEwNjc5NmIyMTA0NzJlYTI5ZGY2ODI0NTIwMTlmNDdiZTUyMWYgbGVnYWN5LXRydW5rCis2NTE2NCBlY2M2YmUzODBjNWJjOGE0ODIwY2QyNDMzNDkyM2YwMWM4NjRhODQ0IHB5M2sKKzY1MTY4IDA2OGMwMGJmNWEyNGFmZmYzNjk1MTQwYjI2M2EwMmQ5NWU2Y2FlOTUgbGVnYWN5LXRydW5rCis2NTE3MSAwYTc0MWMxM2ZjODFjNmVjMjhlZjliZmJkZmZlMGJmYzBiNTZhNTkzIHB5M2sKKzY1MTcyIDNmNmQ0M2Q1NzU1Y2I5YmFmMzQwOGE0NDMwODQ3MmEyZDU5ODMyMWIgbGVnYWN5LXRydW5rCis2NTE3MyA5MjFiNjc1OWNiZGU3MDlkYjY2MmZjZTVjMWJkMDBhOTM0MDFjMzlkIHB5M2sKKzY1MTc0IGE5ZGZhMDg1MWIwNzM4YzQxM2Y2MzVlY2MyNTY3NzYwZmE2MmU3MTMgbGVnYWN5LXRydW5rCis2NTE3NSA5NzViYmRjY2M1NWVkNTgyOTUwYmUwYTU1NjQwY2Q0NTEzYmY0Y2M4IHB5M2sKKzY1MTc2IDgzMzFiYzRlODI3OGM4M2JmYzE5Y2Y4YzZlZGUzZDQ4ZDJhNjE2YzcgbGVnYWN5LXRydW5rCis2NTE3NyBiODM2YmYyNWYxNzZhMjlmM2I2MWI5Yjc4N2NiMWRhNmQwMzQyYzE2IGxlZ2FjeS10cnVuaworNjUxNzggYmEyNzY3YmQ0NjIwNTI5OTkwNjA3NmQzY2UzZTAzOTlhMDNjZTI0MSBsZWdhY3ktdHJ1bmsKKzY1MTc5IGQ4Nzk4ZDVlYzRiOTNhNTdlYWRhN2U2Y2U2MGY5M2JkNzliNWQ4ODAgcHkzaworNjUxODIgNWQzODMzZTZhYWUzMGVhMWE5ZjRiYmE5MTgzYmVlM2MzMzE0MjQ4NiBsZWdhY3ktdHJ1bmsKKzY1MTgzIDNiNWMyNjEzZWQwNWRjOTkwMWUzNGQ5NDQ4MDA4MzRjY2UwOWM1YjcgbGVnYWN5LXRydW5rCis2NTE4NCA5NmE5ZWJmZWUyY2QyYzc2NDVjZmY5Y2E5ZGY4MzNhNGE0NTQxZDAxIGxlZ2FjeS10cnVuaworNjUxODUgMWEyZjhkZGU4MWVjYzQyOGZlNGZjNmM0NjJiNzEzZWFlNjg0NmRkZSBweTNrCis2NTE4NiA3MzliYjA3MjhlZmU1Mjk5YmIzYmE3MWM4MDBkYzgwNGIxNzY5MjkwIHB5M2sKKzY1MTg3IGVhNTNlZThhODMzMzIxZDhlNzBmYzViZGUxMjc3OWJhMDA1NThkNmUgbGVnYWN5LXRydW5rCis2NTE4OCA5MGZiYmJjZTc1N2FmODcxNTFhMTdkNzdmMmNjYWRkZjNiOTNhY2Y0IGxlZ2FjeS10cnVuaworNjUxODkgOTU2MWFhZWRmYjczOGYwOWZiYWM4YTJhMjU3NzljMWM1MzYzMWY3NSBsZWdhY3ktdHJ1bmsKKzY1MTkwIGRkMzE0OTBkM2ViNmRlODIwNWQ4NmRlMDA2Y2FhZDAwNWMxZjkwZmMgbGVnYWN5LXRydW5rCis2NTE5MSA4MjFlNzNkN2JjYzU0YTRiODVjYjhlZGQzOWU3MzAxNWJlYWYwYjYzIHB5M2sKKzY1MTkyIDY3OWUzYzI3MmVjMjYyZTJkYmYxZDgzOTc3OTlhMzFmOTIyZWMyMzcgbGVnYWN5LXRydW5rCis2NTE5MyAxMGY0MWFkYzBkMjRlNjAyMjNjNTFhMWRjOWRiZGQ2YjZjMjliMzhlIGxlZ2FjeS10cnVuaworNjUxOTQgNzYxZGNhYWFhMDllMjEwNTk5MGNkZjhiOGY2ZDJkY2YyYmE0OWZkMiBsZWdhY3ktdHJ1bmsKKzY1MTk1IDZjYThhZjY0NzQ3YjUwOGM2NWM4MDkxNDE1MzlhNjliNzZiZmE5YjEgcHkzaworNjUxOTYgMjBiNGI4M2E1NGFlZmYxMjAxNDVhZGQ1ZTlkOTkxOWM3MWRjMjNjOCB0bGVlLWFzdC1vcHRpbWl6ZQorNjUxOTcgZmNiZDlmNGYwOTVjNGYwMGUwODQ4NWFhMmNkMWU4ZjE3MGE3YTVlNCBweTNrCis2NTE5OCAwNDQxZDMwZDY3MmJlMDY1N2RkMmU1ZjJmODRmY2QzNjNmYWYzNTAyIGxlZ2FjeS10cnVuaworNjUxOTkgODM3NWIzZjY0NzBmNjBiOTQxZDFmYjBiYzBjZDc0M2I3YWM0ZjJkNiBsZWdhY3ktdHJ1bmsKKzY1MjAxIDBkMzdhYjAwZjZkNmM0NmQ0OWI0MDZkNjhlNmY4ZWVmMGU4NDE0MjggcHkzaworNjUyMDIgYmRkYzFhMTcyNDdlM2Y5NTc2NmExNDMxNTdhMDg1Y2Q4M2RjZmNiZiBweTNrCis2NTIwMyBhYjIyMTc3ZWI2ZGM0OTU2NjNhMTRkNTY0NWE3MThmNmE4YTZmOTM4IHB5M2sKKzY1MjA0IDQ1Zjg4ZDdiZjA1NzZjMzRkYzRhM2RlNjQ4YmFjOGY2NjRhYmJjZTkgcHkzaworNjUyMDUgMTc5YTdmNDE2MjQwYWY1ZjYyZjdjZjlkZTljZmNkNjA2OWY3NjU1NyBsZWdhY3ktdHJ1bmsKKzY1MjA2IGI1MWNkNWQzNzk1Y2ZiNTE4Y2U1NTAxZTZkMWI2N2FiY2RhMWVlZDIgcHkzaworNjUyMDcgM2VmYTIwOTE2YTkwNDNmOWNkYjJjNGZkMjhiMTQ1ZmUxYzA5MDI2NyBweTNrCis2NTIwOCA4ODdlZTZiZDkyODRmYjliNmVhZTQxZmJjMjNlYWI0NzMyOWVlN2VmIHB5M2sKKzY1MjA5IGI2ODcwNDQ1N2VmZWYxMGYyNzc3NTZkMGJiN2RhYTY5MjQ5NDk2YmYgbGVnYWN5LXRydW5rCis2NTIxMCA3NTlhNzMyMzU5MWViZDk0MGQzNzhmODEyN2RhZTdmMjU0NWIxNTZlIGxlZ2FjeS10cnVuaworNjUyMTEgMzg1Mzg1NmY3YzUwNTVkN2E0MzgzN2YwMmQ1MzRlNjM3ZDc1YWZhMCBsZWdhY3ktdHJ1bmsKKzY1MjEyIDA4ZGRjYWQ4NTEzNDhlYjRmNzExYTQ0OWFjMjBkZjQ2YTEwNGNlMjIgbGVnYWN5LXRydW5rCis2NTIxMyAxYjFlMWY4NzJlMDk4MzFkYTkyM2E5Y2JkZWE3ODhmNGY3ZmQ0N2U3IGxlZ2FjeS10cnVuaworNjUyMTQgMDdiODk2NTMxNDVlMDMyYThiNDg0MDI3NmEyZDBiNjU3NGY1OGM3ZCBsZWdhY3ktdHJ1bmsKKzY1MjE1IDQyMDNiN2YwODdjMTAyMzY0YmE5ODMxZDRkMTVmNGU1MjI2ODkxZTcgbGVnYWN5LXRydW5rCis2NTIxNiA3NGZiMGRmMjlhNDg3NmEzNzU1MmIyOTk1N2ViNjg4ODQ1ZGI4MmM3IGxlZ2FjeS10cnVuaworNjUyMTcgMjkwMDc4ZTliNmEyMDJlZGM1MjNiNTViOWY0ODE0NjhkNWE3ZWI4YSBsZWdhY3ktdHJ1bmsKKzY1MjE4IDFjNzhhYTdlYTMzNjBmMzkyYzRmNmY2ODdkZmRjYzc1N2RlYTQ4M2YgcHkzaworNjUyMjAgMWNlN2U1YzVhNzYxN2U5NjZiYjc0MTExYzg5MTRlNGNhZjM3NjRhZiBweTNrCis2NTIyMSBkOWQ0OWY2NzM4OWY2Mzk5ZGIwODg0MTc2NWRmMTI4NTU3ODY2OTRlIHB5M2sKKzY1MjI1IDEwMWJiMThjMTBkNTc1ZGNjMzBhMjI0NDFmMzk0MzVhNTUzZmY4NTEgbGVnYWN5LXRydW5rCis2NTIyNiA3ODE2MzBlMjU1NDBhMzU2MjhjNmE2NmI5NmYyN2U4MzZhNWY0M2NlIGxlZ2FjeS10cnVuaworNjUyMjcgMzVhNDYyZmY5ODczMTczZmZiNzQyYzJmNmYyYjJhMDI0YTkyZTRhMCBsZWdhY3ktdHJ1bmsKKzY1MjI4IGEwMjhjMGIyYWNlZTc4OTYwMTJjZDE4NWUzZmIxYWQ5MDFhOTYyMTMgcHkzaworNjUyMzAgODYyYzBlYWIxYzUwOWI1MGUwYWZjZDEyMThkYjQ2YmI0MThkZTFhNCBweTNrCis2NTIzMSA4ZmYyNWRiMDEwNzgyOTIxYjI5NjdkMjIyYTJlOTJmNDUzNzg2NjQxIHB5M2sKKzY1MjMzIDE4MmZjYTAyNWNhMDRkNTVjYzRhY2Y3ZjliMTgzMzgzYTYwZDAxODUgbGVnYWN5LXRydW5rCis2NTIzNCBiNzFkNzZiZjQ1MDY2YmQ4NjkyNzFiYTIyMzUwZmY1NDQ1NjVkNGY0IHJlbGVhc2UyNS1tYWludAorNjUyMzUgOTcyZjQ4OWFlMzU2Zjc1ZmRiYTA2NDMxODFkMzI4OTIwODdjMDgyOSBsZWdhY3ktdHJ1bmsKKzY1MjM2IDU1NjQwMTUxZTBmY2MwZWQ4NDRiNTdjOTg0MzAyNWRlNjcwYTg0M2UgcHkzaworNjUyMzcgYmUwN2MzMDgzY2VhZTI5MGI5MDM4YWFiOTFhZjU2MGQ2YzY5NzY4ZiBsZWdhY3ktdHJ1bmsKKzY1MjM4IDc0ZWVmODViNGIyY2RkZTc2NGZhZDE2MGQ0MjRkMTBhYjRiZDQyYTcgcHkzaworNjUyMzkgMzAwZGY2YjFlNGIwZDc3ZjQyMzQ0YTZjOGY3NGVjMDM0ZDY3NTYyYiBsZWdhY3ktdHJ1bmsKKzY1MjQwIDlhNmY4ZmIxNzVlMDU3YjEyMWY4MjZlYWZhNGY3MjdmZjQyNmIwNDkgbGVnYWN5LXRydW5rCis2NTI0MSAzMDQ4NWJjMTcyNjgwNjE1YTFlYzk3YTIwMjI0YWVmMjRlZmM0ZWZhIGxlZ2FjeS10cnVuaworNjUyNDIgNDk3ZDIyNDBlMWYwZTk2YzkxNGU1NjQ0ZTM5NGU2YmJkMDdlMDU1NiBsZWdhY3ktdHJ1bmsKKzY1MjQzIGQzZDU4NjAxOWFmZmYwZTc1ODk4ZjgwMjUxOWJmMjYzZDY2Zjk5Y2UgcHkzaworNjUyNDQgYjIxMTdiMTgwNDljNDJhMGM2NzgyMzdkYjBmNTExZmEwN2JkYWJkOSBsZWdhY3ktdHJ1bmsKKzY1MjQ1IDYxM2IyNDAxNGFmYmExY2E3OTU1YWJjYjgwZWU1MmYwMGU0ZWI0YzggbGVnYWN5LXRydW5rCis2NTI0NiA3NjdjYzg5ZTNmZGVjNTkzNmM0NmM5YjcwOTJiNjM1M2IwNjk2YmYwIGxlZ2FjeS10cnVuaworNjUyNDcgNGE0NjIxYTY4N2E3ODdlYjNmODNiNjg3ZTYwMDQxODlmMzNhZDg1NyBsZWdhY3ktdHJ1bmsKKzY1MjQ4IDJkMGUwNDAwMWU4MWMzNmI2NGU5MDczNjRiYTk3ZDVmZmFlYWIwZWEgbGVnYWN5LXRydW5rCis2NTI1MCAyZmI1NWZmMDYyNzVlNjVjNzA4MjNmNTk1ZTA0ZjI5MjRlMjc4NzY1IHB5M2sKKzY1MjUxIDdiMDg0NDgxMzM4OTNiZTliMzI0YWIxMGFjZGQzYTY4OTE2ZTA0ZTEgcHkzaworNjUyNTIgNzE1MzJhZDdmM2VkZjYwOGQ5YTFlMTQ0OTNhODY3NjA2NDRkN2IxYyBweTNrCis2NTI1MyAwYzEyYTM3ZDVlNWQzZDQ2NDkzY2VhYzkxZjcyMjdjYTNkZmZmMzVmIGxlZ2FjeS10cnVuaworNjUyNTQgYjhkNGRiYjI5MzhhNTlhMWY5MzBjNmMxNDJiYWYzNDQyNzQ5OTQ2ZSBweTNrCis2NTI1NSA5ZjllNWZlNjNlYzJjZDc0NTkyYmE3YmRkM2M2ZDMwNTg4YzdiYTIwIGxlZ2FjeS10cnVuaworNjUyNTYgMzExMWI2NTQzZGQ5ZThhZThlNDBmNmJiMzVkMTExMWNiY2U4ZDE1OCBsZWdhY3ktdHJ1bmsKKzY1MjU3IGYzYmYyZTliYjg2OGM2ZTUwY2YwOWI2MjU4MmVhMmFlZTYwNzQwOTUgbGVnYWN5LXRydW5rCis2NTI1OCBiMDFlMjBkMzczMDQyNTg2MjY5ZmUzNWE5OGFjZTJjMzE1ZGM2MzYzIGxlZ2FjeS10cnVuaworNjUyNTkgZTNkYTg2OWRlOThlYWIxNWU0ZWYwY2QyYjc2ZjJhYTE1ZDNjMWY2MiBsZWdhY3ktdHJ1bmsKKzY1MjYxIDJkYTQyZGNiYjhjZWJiMDRlZGM1MDJkNDIyNjcxNWY2M2QwZWI5NjAgcmVsZWFzZTI1LW1haW50Cis2NTI2MiBjYzg0ZWU2NjY3YjcwZTU4N2Q1MWU3ZTRhMjI1YmEwNzczNjdkYWVjIHJlbGVhc2UyNC1tYWludAorNjUyNjMgOTVkZjExOGY0MmM2ZjIxYjAwN2FhNWU4MTAxYmFhOTNiN2I3NmI4NiBsZWdhY3ktdHJ1bmsKKzY1MjY0IDE1MWMxY2Q5NGE0MDJiYzBlNGUzZjNlMGZhODMzNDE1MTdlNDRhYmUgcHkzaworNjUyNjYgOGFmYzRlMmM0YzAyMzZkZDU5ZmY2NjVmNmVkNWE0Y2MwM2I5NTllYiBsZWdhY3ktdHJ1bmsKKzY1MjY3IDQwYTU3M2YwMWZjNGEyZDE3MWZmYTE1YmI1YTgxZThkN2U2YWI0OTcgcHkzaworNjUyODQgY2NiYzg3NzRkODJiNTVjNDFmYzcwMTIyNGE2OGNjMTFiNjZmYjcxNCBsZWdhY3ktdHJ1bmsKKzY1Mjg1IDc5MWE2MzFhMmM3YzgyODE5Mjc4MTFhZmY5NjYyZTY4ZTdjYmEwOTcgcHkzaworNjUyODYgMjYyZDJlYThhYjUwZGE1YmY0YjI2MjYyNTNiOTRkZWVkMTc0YzRhNyBweTNrCis2NTI4NyAzYTI2N2ZlNzM4M2M0ODExMjY2MDcyOGRlZTMxODc5ZDg5NDI1ZWU1IHB5M2sKKzY1Mjg5IDUwMjI4ZDJiMzJjMTQxMTRkZjJhMmFlYmU5ZWFmZDI0Y2VkNDA3ZjMgbGVnYWN5LXRydW5rCis2NTI5MiAyMWVhYzkxMzgyNDk1YmJiZTAwODQ4MTE3NDNkOTk5MmM2YWQ2NmUwIGxlZ2FjeS10cnVuaworNjUyOTMgMGM3ZmFiMGIwNWMwMzYzNzZiM2U0Yzc5MTg1Y2Y3ZDdlMThjNTAxZiBsZWdhY3ktdHJ1bmsKKzY1Mjk2IDY4OWI1ZThhZTY5ZDRiMTUzNWExZjZhODRhOGU0M2QzYzk3NjA0MzAgbGVnYWN5LXRydW5rCis2NTI5NyAwMDgzNDI1MTllODY1Njc3N2MzMjM5M2NmM2U4MWI4YzcwOGQ4OWQ1IHB5M2sKKzY1Mjk4IGZkMzA4ZjAzOGFmYmE3OTdiOWNiNTBhZTRhYzkwZjQwZDA1MTYzYmUgcHkzaworNjUyOTkgYjQwZTEzYmNiOWVhNWU4NjUzOGNmNzQ4YjVlZGZiZDNmZGJkNzExOCBsZWdhY3ktdHJ1bmsKKzY1MzA3IDQwZTk0OWE2ODM0NDY1YTQxY2RmNzY0NjhkZGJhOTljZjY0NjY5M2EgbGVnYWN5LXRydW5rCis2NTMwOCA4ZDA1ZGRhNzM1Zjg3OWM5OTQwZGE3ZTUzZWM4NjVkMDJmODViNGRmIGxlZ2FjeS10cnVuaworNjUzMDkgYjM1Y2U5NTRhMzkyMTBhYjk2NDRmOWFkNjEwOWYyZjVkMjYxNzgyNyBsZWdhY3ktdHJ1bmsKKzY1MzEwIDhmMzYyMGY1ZDY4YWFiZDU5OTBkMDlmYzk3OTBlNjMxOWIxYjBhMGMgbGVnYWN5LXRydW5rCis2NTMxMSA5MGMyNWIzNmUwYWQ2OTU3NWNhYzg4ODQ2MGNjNWJkM2U4YzJiOWUzIHB5M2sKKzY1MzEyIDgzYzdhOGZhZWI3OGU2OWI3ZDVlZjY4NDE0MmIyMTU4MWVjNTUyYjMgbGVnYWN5LXRydW5rCis2NTMxMyAxMmUzYzM4ZDMxNmUzOGRjMTNjMTY3ZmYyMGJjN2NmMzgyMTQwYzUzIHB5M2sKKzY1MzE0IDdmODIyYjVkMzY3MDE0N2Y5YzMxNGZjZjg2MzBhMWVmMTI2NDA3ZWYgdGxlZS1hc3Qtb3B0aW1pemUKKzY1MzE1IDY3ZDE3N2FhYjhhN2M1ZGIwM2EyYWUwNTVlODMyMGM5OTEwOWIzMDEgbGVnYWN5LXRydW5rCis2NTMxOCA4YTEzMzY2M2ViZGUwOWY2OWZiNTNkMmY0YzM4MDU2OWEwMjgxMDFlIGxlZ2FjeS10cnVuaworNjUzMTkgOTE1NDU1M2Y4NzZiYzdjMjU2MDc1MzMzMDEwZTQwODYwOTJmNzdkMyBweTNrCis2NTMyMCAwZmJkZGMwNGFlZTE1OWE0ZmNlMjE2MmJkZGIyMTVjYTY2MjE2YmQ4IGxlZ2FjeS10cnVuaworNjUzMjEgNWRiNDMyODRlYTdhYWMyNmExNDdjNzM4ZTVhMDgwOTg3MzYwMDAyMyBsZWdhY3ktdHJ1bmsKKzY1MzIyIDFlYzM4YjcwN2NkNmIxNDllNTc5ODdmMmNkODNjMzhiYTgyZDRkNjQgcHkzaworNjUzMjMgNmYyMzJmY2ZiNjU3NmM1NWQ0ZmFkNzU0YzU4ZjA5YTg3YmI3MDZmZiBsZWdhY3ktdHJ1bmsKKzY1MzI0IGJlNzUyMWFmODQ1YTBlODRjNmM1MDg5NDE3ZTViMDM2ZmM1MjljNTggcHkzaworNjUzMjYgMzQ3NjAzZjc5NGQxMWI1NGIwOTkzM2IzZDdlOTc2ZDM2ZDZjMTMxZCBsZWdhY3ktdHJ1bmsKKzY1MzI3IDFkZTcxOGEzMTAwNGUxOTY3ZTVjZDUxMzJjZDRlZDZiZDY1NjRkZTEgcHkzaworNjUzMjggNGNlYmI1Yzg0ZDdjZmJhODZmODFmNjA0NzY4NGI4ZTlmNmU4MDRjYyBsZWdhY3ktdHJ1bmsKKzY1MzI5IDAzNzgxOGNhZmMzOTM1OTk2MDZlYTBmOWMxNWVmNTk2MDk5ZjQ4YTUgcHkzaworNjUzMzAgNGMxMWZjM2IzM2EyMzNmYjRjMjZmZjMyM2YyNmM3ZTVjZDkxOTQ1YSBweTNrCis2NTMzMSAzNWIxYTIwNDcwZGIwNzljMDQ1N2M2YTRhYjdkOTczNjcyZTY5ZTEwIHB5M2sKKzY1MzMyIGIzOTAxYzU2NjBmNzFkMGE3MmMwZjE0NTU3MDdiMTRiMDI0NTkxNGIgcHkzaworNjUzMzMgMTg3Mzg4YzExNTA1MGM5OTEwNDA4MTc1ZDJmNWYyMjRhOTE2MGJiMyByZWxlYXNlMjQtbWFpbnQKKzY1MzM0IDBhYWZkMWFlNTEyMDhhMWI2Y2MzMTIwYmVhYWIzYWRkZjU3YzQyM2IgcmVsZWFzZTI1LW1haW50Cis2NTMzNSBjNGQyNGZjOGJhOGEyZWM2NWIyYTQzZDg4YTNiNTJkNTAwZGM0MjIzIGxlZ2FjeS10cnVuaworNjUzMzcgMTNiMmUxMWYzY2Y1YmQ3NDA2ZGFmYTQ4ZGYxZmNiYzM3ZDBkMGQyMiBweTNrCis2NTMzOCBmZWM5ODVjYmY1M2ZhYjA1ODM3OTk1MzcwMDEyNDY0ZDk3MDY5ODQ3IHB5M2sKKzY1MzM5IDQ1NTAxNDRiMTU2MDY2ZmZmYzhmYTZkZTg4NDgwYzMxNTU0OTZmMDAgbGVnYWN5LXRydW5rCis2NTM0MCA1NDI4ZjdmYTE3MWNmMWJhOTYyYzhkOWI2NGQyMjRmM2FiOTM2MTk3IGxlZ2FjeS10cnVuaworNjUzNDEgZGU3NWU3MjgwYjdhYTYxOGNjYTVkYmY3MWJlYzJlMmY5ODA1ZjdiZiBweTNrCis2NTM0MiBhOTRmMTM2YjUyODM4MmMzOTQyODM4NTEzMjNjODU3OGMzMDAyOTBkIGxlZ2FjeS10cnVuaworNjUzNDMgNjMxY2Q5YWU1YzhlMjJlMjNiN2FlMmZmNmVlNTJmYWU1NGQyZjE5NiBweTNrCis2NTM0NCA0ZmVjYzliOTlkOTg1MjJkZjJkZjU2Mzk4N2Y3NzE1YzkyYWZjOWM1IHB5M2sKKzY1MzQ1IGE0NzZlZjVlZWJhZGJlNDI5NzZlMzNlZDg4ZDVhNTU4ZTA2ZDljYTMgcHkzaworNjUzNDYgYzU5ZTkwZDhkMWM3MDgyMWNlMTIyNGU1ZjI1YTc1YWMyNGRiNDliNiBsZWdhY3ktdHJ1bmsKKzY1MzQ3IDNjMTU1ZDc4MTNjYzE3NWNiOTE3OWExYjJmNGJkMTQzNzllZDJkODQgcHkzaworNjUzNDkgYzJiNWEwYWIzMDcwNjM4NmI5ZjNjOTNhODNkZTk0NzRlZTQ2MjZiNiBsZWdhY3ktdHJ1bmsKKzY1MzUwIDcwZDQwZjlhZDFkN2FjZDI3ODRlMzY3NTZjNGI4NjlkYjdjYzMzODEgcHkzaworNjUzNTEgMGQyZDI2ZmZlMjBlYjI0OGFjMzZlMDI4MDE0OWI0OTMxMGY3Zjc5YyBsZWdhY3ktdHJ1bmsKKzY1MzUyIDE0ODAyMGI1YzUzMTJlMzk4MDNhMDFmYmExNjdjNDU0OGRmNGQzMGMgcHkzaworNjUzNTMgMTE0MDc3NGY2OWE1NzJjOTVhNDIwMWIxY2E5NDM4ZmI5ZGM0NWY4YyBsZWdhY3ktdHJ1bmsKKzY1MzU0IGYxZmM3ZDkzNTA5ZDNmZWQyMTkwMTFhZjU0OWE4NGEwZmU1YzNiNWIgcHkzaworNjUzNTUgNWQyY2Q5NmExOTZiZmQyMmE0MzgzYzA1NjhjYWMyYzMxYjc3MTg1MyBsZWdhY3ktdHJ1bmsKKzY1MzY1IGYxMjFhOTYzYWI2OTRkYmJmMzc1OGNiZGFmZjQ2YWIyZWMzMTA0OTggcHkzaworNjUzNjYgZWZmNGM5NGMwMmNkMWUxMmY4OGIwNTFiNDVkNzM4MGQwNjgzOWYyZiBsZWdhY3ktdHJ1bmsKKzY1MzY3IGMwZGYxYzY0NzdiYjkyNzdhZjM0OTI5ODgyNmEyOTI1YTZhNDA5OTUgcHkzaworNjUzNjggOTViYzBjZjMxMjAzY2Y4NzcyYjczN2QyMDFlY2Y4ZDE4NDExYjM5MyBsZWdhY3ktdHJ1bmsKKzY1MzY5IGNjMzcxNTcwZTE0MTMyM2ZhMDQ3ZDM4ZTcyZTI3NjUwNDIxNmM2ZTEgcHkzaworNjUzNzAgMTM4MTc3NDJhNzgxMGJhMTQzNmQ5YzgwM2M3NjQzZTY4Yzg1OWExMSBweTNrCis2NTM3MSAxOWI2YzYzNWY1YzFkMzMwMGU2OTEzODM1N2E5OGZhYjM2YWY4ZjQwIHB5M2sKKzY1Mzc2IDE1MjJmM2Q1YmU2ZTdhOTQ2OTczNDNhNTEyZWY4YjNjNzQwMTNkY2IgbGVnYWN5LXRydW5rCis2NTM3OCBiOGE4ZDExMzA3NmZiOTQ1ODRmOTE5YTk1MWM1ZDMzZTc0OGJhMTA2IGxlZ2FjeS10cnVuaworNjUzNzkgNGI3MmM3ZjYzMDc3NDVmNzg4NmJjZjNlZmNhOTlkODg3NzMyMjI5OCBsZWdhY3ktdHJ1bmsKKzY1MzgxIDEzZWJiNGI1ZDg5YWE4OWEwNjYxODZjYmQxNGM3N2RkNTUxN2Q5MmYgcHkzaworNjUzODIgNDViY2Q5NmU1NmQxZDQyMWZhZTc2YzZjNGEzMjdjN2Q4NjhlNDAyYyBsZWdhY3ktdHJ1bmsKKzY1MzgzIDBhZmYzYmYwYTM0MjZmMTI0NDE5Yjg0MDdjYWM4ODY0ZmJhMWI1MzQgbGVnYWN5LXRydW5rCis2NTM4NCA2OTIyZjg0YTcxNThmOWZjOTE1OGM0ZDc0ZDJmNGIyYTdkZjcxMzNkIHB5M2sKKzY1Mzg1IDZiN2M2MTAyN2ViMDRmYTM3MThlODdkYjY3OWNhZTU5ZmRlZDEzNzggbGVnYWN5LXRydW5rCis2NTM4NiA1Mjc5ZDc5NjEwOTM3YTViNGM0NzUwMTE5NzgxM2JlOTQzZjdkM2JiIGxlZ2FjeS10cnVuaworNjUzODcgNGIxYmE1MGQzYmRmN2FkZTI1NWJjNGRmNzkyNTUyNzkyOTExYTIzNCBsZWdhY3ktdHJ1bmsKKzY1Mzg4IDE2NjBiMzM1MzgyMTAyZGM2Y2IzOTA1MTcyMTUwYWE0ZTU3Mjc4MDMgcHkzaworNjUzODkgZjhkMmEzMTg1ZDlhYWZmM2MyZmExMmI4Nzk3ZGIyNGM3MjliYjRjNyBweTNrCis2NTM5MCA0ZjQ2ZjNmNzIzMWJmZjg5YzM5ODI5ZDhkN2NkNTkzNDM5OTZlMmQ3IHB5M2sKKzY1MzkxIGQyMWMwYTJiNmIxMWE0ZTlmNjliNDMyZDhjNWJiZWZkOTgzMTNlZTQgbGVnYWN5LXRydW5rCis2NTM5MiAwMDE4YjE4ZjVmNDY0MGE3Mjg3NTVlNzU3NzU1M2U5ZmUxNDAwZWViIHB5M2sKKzY1MzkzIGYwYmQzN2VhNjk0MDVjYjQzNWVlMWNhMWJiZWVlMzNkY2ExNjRlZWIgbGVnYWN5LXRydW5rCis2NTM5NCBiODk0NWQ4ZjAwZWEyNTMwM2Y4N2FkYWI0ZGJmM2NmNDY0YWU3MDEzIHB5M2sKKzY1Mzk1IGE3YmY1MDNjODU3ZTljN2VmMjNhZmQ4YjcxYzUxZDE3ZGM2MjdjNDUgbGVnYWN5LXRydW5rCis2NTM5NiBlODc5NmI1NWY4MWIwOGQwNWYyZjcyYzYxNGY4MWJhMjVmNDhjMDM3IHB5M2sKKzY1Mzk5IGJhODRjMWUzZGQ2MGNlZmIzY2E3NjFmMmIxYjFjODc3MGQ2NzgyYTggbGVnYWN5LXRydW5rCis2NTQwMCA0YTRjMjBhMjE2N2JiMTgzZTU3YTg0ZTYxYzU5MWM1MDljOTliODZkIHJlbGVhc2UyNS1tYWludAorNjU0MDEgZDU4N2FhNWU4MjRkNjUxOWJjZGE1YjNhY2M0ZjA5ZmRiMGI1YWVmMyBweTNrCis2NTQwMiBmZWRkYWYyMWMyYTQ5ZjdkZjk0Nzc1ZTZmZWNlZGNmMzdkMGE3N2QzIGxlZ2FjeS10cnVuaworNjU0MDMgNzQ3NWIwZmNjNWZmMmJjM2RlMzBlNTM3N2M3MjVmMGJhYjU0ZTI3MyBweTNrCis2NTQwNCA2NTQ0MjU0NjE3M2VhNDI4MjAyNDE3ZTg0ZGM2NjliMWU0MmNkY2QwIHB5M2sKKzY1NDEyIDc2M2ZmMWJhOTFjN2YyZDNlNTliMzMxOWRkOGIwN2M5NzE3YzcyOGYgcHkzaworNjU0MjAgYmY1MDA4NWZiY2QzMmQxYzQyZDQzZTZlYzM3NjkwNjMxZTA0MGFjMyBweTNrCis2NTQyMiA5NzYwN2ZjYjdiMjYxOTYxZWI2NzkzNjFjYzU3MTk5NTVlY2YwYTRhIGxlZ2FjeS10cnVuaworNjU0MjMgY2M0M2I5OThmNWI1MTgzY2IxYjEyMjg0YjVjOGFkYTVjMTM0NTcxZCBsZWdhY3ktdHJ1bmsKKzY1NDI0IDQzN2RkYmJjZGQyOTRiNzM1ZTY5MGE0NTAyZjQzY2NhMjBmNDkwYzggcHkzaworNjU0MjUgNGU2YTBhZTFhOGU3YWFlOTY4NDc0NGY2YTJiMjQxMDA5MDNhYWNkMCBsZWdhY3ktdHJ1bmsKKzY1NDI2IDc0Y2M5MzJhZDhkYjY4NmI3YjBkMDhhN2EzZWI5YjFlNjM0ZDIyN2EgcHkzaworNjU0MzAgOGYzMmIxMzI2OWI0YjFhZTk0N2RmZTgwNTZlOWZiZTAyZDhkOGY5ZCBsZWdhY3ktdHJ1bmsKKzY1NDMxIGJkNTFjZjcxNzYyNDViMGVlYmY2ZGRkNjgxOGY2ZjUzYmIwM2Q5NDcgcHkzaworNjU0MzIgZTAwN2FmNzlmNjdjNmE1MTcwYTViMjZmOTkxNjg2ZDlmNWNlMzliZSBweTNrCis2NTQzMyAxZGI0ODM5NDgxMDY3ODkzNjM4MWNhY2FmMzJhMzM4ZTE2ZDQzNWEyIHB5M2sKKzY1NDM3IDNlNDRkZWJjMmJjOTBhNzZiMWY2MTgzZGZlOTI0MWZjMTk1MThiMmQgbGVnYWN5LXRydW5rCis2NTQzOCBkZjViMzk0ZDFlMjQzOTI5NWE2MjA5MGU2OTIzNjU5NGY1NmUxMjAxIGxlZ2FjeS10cnVuaworNjU0MzkgZTkzNDk1NmRkY2UzNzJjMWUyMWQ3NTdjYzQwZGQwNjBiMDE4M2QxOCBweTNrCis2NTQ0MCA0ZTQ1ZDBjZmFmNzFiNTJiZDEzOTFjNjI5MGRlMTNjZmZmYmFiMzI2IGxlZ2FjeS10cnVuaworNjU0NDEgOGM0OWEzZTkwZjQwYTg0ZmI4MzQ5M2RjMzVkMTk4NmUyOWI2YTI2OCBweTNrCis2NTQ0MiAxODAzZGU1YWUwZGMzNzBkZjIzNzIyNzZkNWI4ZmZjNDZhMDc3ZTQ2IGxlZ2FjeS10cnVuaworNjU0NDMgMzNkYWFlNjMzOWVlM2EyNzBhMjkyZGI2N2M1MTY3MjNjMDMzYTFlZiBweTNrCis2NTQ0NCA5ODZjYmRhZjE1NGZjMjczYjM3MmJlOTg2YzQ5MWE0NjdmNDEzNjQxIGxlZ2FjeS10cnVuaworNjU0NDUgNWYzZWY2NDAwYTk2NzYyZTYwYzI3ZWQ1MWEwNTVlNmQ3OTExZGM3ZiBweTNrCis2NTQ0NiAyNTEyODI1ODAwNDFhMjgwNjg3Mjg3ZDg0YTk5YmZmYzNmMjNmYjM0IGxlZ2FjeS10cnVuaworNjU0NDcgMGM2YjZiZDg1YWNhZDM3MzcxYjk5ZmFhM2M4MWZjZWQ5Nzg0ODc1ZiBweTNrCis2NTQ0OSAxZjIyZGU5M2RhZjhlMzNjZmQwMGM3YWUwZTUzMzA1N2FmNzhlOGY4IGxlZ2FjeS10cnVuaworNjU0NTAgODJkNGQ2ZGVlMDM0NzVlM2U2YWZhYTRiMDM4N2I4MzVjZGY2MWVkZSBweTNrCis2NTQ1MSBkNGRiNWRlZDc2Y2UxZmMxOGM0ZGNjMTQ2NjE2NGQ4YTQ0OTAzMWY1IGxlZ2FjeS10cnVuaworNjU0NTIgZDdiYWU3YmQzOWQ2ZjIzMDYyMTUwMGQ3MmQ0ZTg2YTc5YjM0ODA0NSBweTNrCis2NTQ1MyAyZThjZGVlMzRkOTc3ZWVhYjhhMzlhM2E4MjliNTBhMmYwZDI4YmUzIGxlZ2FjeS10cnVuaworNjU0NTQgZTM2MjBiNzNhN2QxNGY3MzNhYzUyYzQ2MTk4Yjc1MjI4M2Q1ZWY0YSBweTNrCis2NTQ1NSAzNWU3ZGM5NzdhNjNjMzY0NDczZjJjNDFhODY3ZjgwY2UyMWRkNzg2IGxlZ2FjeS10cnVuaworNjU0NTYgODk3MmNlNTYyNGI0ZDkxNjA3Y2FmZWIyMDIzNTI3OWRmMDk2OTdjNyBweTNrCis2NTQ1NyBjNzdhYzhiZGQzZmViNGM3Y2RhOTQ2ZTQ5MTM2MzU3YzBhNDFmMjQxIGxlZ2FjeS10cnVuaworNjU0NTggNDMyMmFmMWI2ZDNkNmJkNWVlYjAxNjZlNmJkNTgzZGQxN2ZjZTYwNCBweTNrCis2NTQ1OSAyODhjYTFjNzI4ODgwOTRiNTkzMmJmYjI3NzM3NDg0OTc1YmYxNWE5IGxlZ2FjeS10cnVuaworNjU0NjAgZGM4NTBkYTA0YmQ1NDcyMTZlMzE0NzNmNjg1MDFmYWUyMTJjNjJlZiByZWxlYXNlMjUtbWFpbnQKKzY1NDYxIDE1MDhjZWEyYzZiNTZlNTgwMjIyZjgyOWZiNTY0MzA4MzQyMTQwMzYgcmVsZWFzZTI1LW1haW50Cis2NTQ2MiA1NmIzYjJjY2ZkNjg4ZDhhNTRlNTEyOThkMGFjYmE1ZjYwMmVhNTRhIGxlZ2FjeS10cnVuaworNjU0NjMgNTVlMzI1ODA5NGYwMzJkM2E2MDBiNWI0Y2I3MGRiMDIwM2I4OThlNyBweTNrCis2NTQ2NCBmZGYzYjZmNDk5ZGFlMWVhOTQwMTk5NDkwMTllMzYxYTcwODJhMDJiIGxlZ2FjeS10cnVuaworNjU0NjUgZGFkYTk0YTUzMjlmMmY4MjhkM2U3OTZjMzg5YzFjYjU1MjU2NGMyNCBweTNrCis2NTQ2NiAxYzI0YTA5YWNiOTdjOTQwOGY5NzY2YzcwOGU4NWZjMmYxMTg0MjhkIHJlbGVhc2UyNS1tYWludAorNjU0NjcgMjFmMTQ2Mzg3YTYzY2ZiNWM5Mjg4ZDdiYjVjOGIzMjJiZGJlMGNlYyBsZWdhY3ktdHJ1bmsKKzY1NDY4IDlkY2IxZDI4ZWZiYjhmMzlmM2E1NGQyNDYxMTAyOGE3NWY2OTIwN2MgcHkzaworNjU0NjkgOGJkNTY1MDE5M2M2MDg0ZTMzNjg1MDBhZjQ0MWM4NzgzMjM3OWE3YyBsZWdhY3ktdHJ1bmsKKzY1NDcyIDQwYmUzN2U2OTE1OGY2ZmNmNmY5MjhiZjg4NDNlNWQyN2FkM2Q5NTcgbGVnYWN5LXRydW5rCis2NTQ3NSA2NDFlZGVlNGZjYjE0ZjFkNjNjZTNiZTNjZGJmMjFmMTZjMTEyYWQ3IHJlbGVhc2UyNS1tYWludAorNjU0NzYgYzIzNWJhNzBlNTk0YjE0MDY3OGI1NWQ0OTM4ZmI0MThhYzQzNTg5YSBsZWdhY3ktdHJ1bmsKKzY1NDc3IGRmMGFjMDZjZGRjYzNlOGI1YzEwYTZkZGMwYWY5YWMyMTIxYjI4ZmQgbGVnYWN5LXRydW5rCis2NTQ3OCA1MTM0MDZhMzdlMzg1MzZmZWZmNWRlNDM5NjY0NjRmNDdjMWYzNDE3IHB5M2sKKzY1NDc5IGJjZjQwYzgxODkxZTEwZjlkMGUzODE1NmFhN2M3ZjgyZmVkZmJlNmMgcHkzaworNjU0ODAgYWI0YzljMzg0ZDMxODgwMjM3NGYwOTAxZGEyMTQ1Y2E0N2NmY2RhZCBsZWdhY3ktdHJ1bmsKKzY1NDgxIGE4YTgyMzJjYjU0MTlhMmJiZGQ1ODUzMDRhMzcwMzFmYmI2NzE4OWIgbGVnYWN5LXRydW5rCis2NTQ4MiA1OWY0Zjk5NDczMGZhNzlhODE5Yjg3MjA4NTVmZDNjNzRhYzBiYWUxIHB5M2sKKzY1NDg3IDQ5NDExZDdkYzI1NzQ3M2IwOGRkNjA0Mzc1ZTg4OGNkZjQyMDExYjUgbGVnYWN5LXRydW5rCis2NTQ4OCBlYTgzZmVlNTc0MjIzMGI5NjY0MGFjZjBiYjBiOGVhMTdkZmU3YWQzIGxlZ2FjeS10cnVuaworNjU0OTAgNmM4OGRlM2M0ZDRkZDg1MmE2YzRhNTcyMDYwODk0MmRlMGU1MzU3ZCBweTNrCis2NTUwMiAyMTc0NTU2M2U2ODBlMGQ0Y2ZmMWRhM2M5ZjVjMzM1NjE5OWI5MjczIGxlZ2FjeS10cnVuaworNjU1MDYgNmJjM2NmZTA5OGNlNDU3OGZiMGU3MjJkMjQ5ZGU5YmU3NjNiMDY2MiBsZWdhY3ktdHJ1bmsKKzY1NTA3IDUxZjVjOGU4ODVjYThjNDk4M2YxM2IwNDU5YzM4YWU4MTQzNjQyOTAgcHkzaworNjU1MDggOTNiY2M5MjAxZWUwN2Y3MzcyNGQ1NzBiZDFjMzYzNjg5ZjJkMTg5NSBsZWdhY3ktdHJ1bmsKKzY1NTA5IGZhY2Q4MTk3MjUyM2I5NjM4ZTljMzg5M2MyZGYwNzc4NjMyNzVjN2MgcHkzaworNjU1MTAgNGQ4NDI3ZDI1Zjg0ZTFjYzk3ZDYwMzBlNGI2NWJhOWI0NmVlNjY3MSBsZWdhY3ktdHJ1bmsKKzY1NTExIGNmZjgyYjk5MGEyMjk4YTI5MmNlNTAxMDc4M2U2NDI4NzQ4MzQyNDcgcHkzaworNjU1MTIgNDdjZDQ1MTY4NjNlZWE3YmJkZDY0YWZmZmQ2ZTQyYzdhY2Q3ODIzZSBsZWdhY3ktdHJ1bmsKKzY1NTEzIGU5YjZlNDQ4ODg3MWU5ZDJkMWNjNTRhYzA0MmU1ZmQwNjliNDJlYTggcHkzaworNjU1MTQgOTc5ZjBhODk5MDNmMjkzNTgyYjNlY2VlOGM2M2YyNzIyYjFiNzFmOCBsZWdhY3ktdHJ1bmsKKzY1NTE1IDU3YjhjNzc4ZGEwNzM0YzMxOTBkYWJmODMyMjA5MTQzMDM3ODdlNGQgcHkzaworNjU1MTYgZjc4NDZhNzFlMzhhMjExMDg2Mjg2MzYxNDMwMjhiOGYyNjNjMjRhMyBsZWdhY3ktdHJ1bmsKKzY1NTE3IDNkMDgzZTY5MjY1ZWYwY2MyNzUwYTJmNzc3MTI5YWNkYzY1ZTMxNzEgcHkzaworNjU1MTggNmM2YTAzMDU2N2RkMDYzMTJhYmU0NmRjZmNjZTFkMzNjOTQ3YzkyNyBsZWdhY3ktdHJ1bmsKKzY1NTE5IGNmMzMxZmVmMzI5M2M3MjAwZTk3YWZhNjg1MDk2YWZlOTBhZGQwYTUgbGVnYWN5LXRydW5rCis2NTUyMCA1OTRjOTljMGYwNzg0YTJmNjA0MDAyZWYxZWEzMjE2ZTBmYTMxNDkwIHB5M2sKKzY1NTIyIGRmMjc3ZTY0MmU1ODAwYjM5NGUyNjg4Y2Q2ZjdkMmRiODllMzE5MjkgbGVnYWN5LXRydW5rCis2NTUyMyAwZGEzMDJmN2ZlOTQzMmM3MzNkOTFmYjA4YTA0YTM5MzdmNWZkZTA5IHB5M2sKKzY1NTI0IDM4MWE3MWRmMDYwZTRmNTkzMTkzNTZlYTdjNmQ3ZjY4MTdhNzdlMjAgbGVnYWN5LXRydW5rCis2NTUyNSBmZmMxZDhmOGM1YWQwMjViNmUyOWQwZGI4ZmQ4NmNjMjBmMmMwMjZlIHB5M2sKKzY1NTI4IDlmYWE4NzkwMjExNDM0ZjQ1NDY1NGMwYmI2NmM5MTBlMDc2NmUyYzMgbGVnYWN5LXRydW5rCis2NTUzNiA2OGRmODQyZDYzMzA4NGZkZDVjOWU2YmZjZTU1YzJmMjE3M2U1ODRiIGxlZ2FjeS10cnVuaworNjU1MzkgNWI3NzRmZTA0YzdlMTc3ZTNkOGIzYjIzMTVlMGM4MjBjZDI4MGJiMSBsZWdhY3ktdHJ1bmsKKzY1NTQzIGI2NTRkMTRjYjlkOWVlMGQ0N2NmMjNlNmMxNjRjOGYwY2VhZTk4NzIgbGVnYWN5LXRydW5rCis2NTU0NCBlNWZjM2UxOThkZGFjMWM3Yzc5YzU3YWU5OWEwN2VhYzhjM2NiMmJkIGxlZ2FjeS10cnVuaworNjU1NDUgMTYzNTg5MWIxOGU4MWFkNmZjOTE3YzZhNDQwZTBiNmFlZGM3ZDI0OCBweTNrCis2NTU1OCAyMzY2MzczOTA0NTdlNmIzMTgxZWE2YjYyYjc2NWY0OGFhOTJjODNhIGxlZ2FjeS10cnVuaworNjU1NTkgNzllYTM0MGQxYTU5ZGFmZTBjNWQ2NDE5ZGFlMGRlMWRlOTViODFlNyBweTNrCis2NTU2MCA4M2E3MjE5MzY0YjEzNjcxODgzZDNlZjk0YTAyYzdhMGE1ZTExODA2IHB5M2sKKzY1NTYxIDU0OTEwOGU5YTBhMzIyMzE3YjUyODkyZDM0MjlhMDBjZjVhMDU0ODUgbGVnYWN5LXRydW5rCis2NTU2MiA5Y2NjMTY4MmUxOWI4Nzg5ZjQwMmQ3N2FiMWZlYjYwODA1ZTNkNDgyIGxlZ2FjeS10cnVuaworNjU1NjMgNTNhZGU5ZTY4YjU2MmUzM2I0ZTU4ZTM3NTMyZGFkZGI0ZDdhMTZkZCBsZWdhY3ktdHJ1bmsKKzY1NTY0IDEyMzczZmE2ODA0ZTRiOWY2MWUwYzM1NjVlOTdmYTFjOGViMjQzMTggcHkzaworNjU1NjUgMDNkYWUwMzdiMmI3Mjc1NTVkMjhkYzBkNmY3NmNmYTk2OTMzYzMxMCBsZWdhY3ktdHJ1bmsKKzY1NTc4IGYxZmM5NDc3MjJmMjlhNDNjYjI5N2Q0OTE4NjEzYzJmZTdlNmQ5MmIgbGVnYWN5LXRydW5rCis2NTU4MCAwNDJkMTZhMDUwMTY5MTFiZjA5YmNjODgxN2M4YjJhY2U5MWNmYTdiIHB5M2sKKzY1NTgxIGM4YzllNzhmYzA4MjM4MDFhNzM3YmYyY2IwYzAzZDUyMDAxOTMxOGYgbGVnYWN5LXRydW5rCis2NTU4MiA4NWI2N2ZiNTY3MmI5OWYzMTI5ZGUwMzNmMGM2MDFmZWI2ZDY1ZmE3IHB5M2sKKzY1NTgzIGNmYWQzZjdmNWU2MzhlYzFkZDg0NzE2NGYxYjc5NTA3YzYzMDdlN2YgcHkzaworNjU1ODQgMGJmNmM0MmFiNGU0MjM4NTZiODk0NjM4ZWFjOTMxNzhjZDNhOTc2YyBsZWdhY3ktdHJ1bmsKKzY1NTg1IDJiM2Q0MmVmZmU1YmUxNjlhNzlkOTE1OWJmNjc0MGIxNDVkMmE2OGYgcHkzaworNjU1ODYgNjQxNmU2MDQ0YTMwMTY3NmYwMmE2YTViOTJlZmRiODlmMjY5OGZmMiBsZWdhY3ktdHJ1bmsKKzY1NTg3IGE2ZDZjMmZhZDIyMDBlY2Y5ZjI2ODQzNzg1MDIzODk3ZTEyMjA1MjQgcHkzaworNjU1ODggNjU5MDFmZmZmYzZhYmU1YTMwYmRkMWNkMDMxMDhlOWE3NWJjNDMwZCBsZWdhY3ktdHJ1bmsKKzY1NTg5IDQ4N2UwZDlhMzgxYTgwMDAwNmFmNzY3NDI4MTBjMTk2NDFkZWU4NDQgcHkzaworNjU1OTEgZTZmZTgzYzJlMjYyMDZmNGFhZTYyYzIzMzZlNTlmZGQ4NGNlNGQ5NiBsZWdhY3ktdHJ1bmsKKzY1NTkyIGIyYzUwNWQ0YTIwM2Q4MmQ4MDJlNWQ4NDc0ZWQ2MmUzMzNkOTM0NDMgcHkzaworNjU1OTMgZmQ3YjkzYTAxYzA0YjdlNGVkMWQ5NzM1ZGU0YWYxZjc3NjhhMTk2OSBweTNrCis2NTU5NCA5NDliOWEyYjk4Njc2MTA5NjI3MGUxMGY1ZTZhYTAyZDQzNWIzNzg2IHB5M2sKKzY1NTk1IGUyYzcwNmY5OTA2YzM4NWI5NzkzNmVhMDU5NmM4NTI2OTJmYTI4ZmUgcHkzaworNjU2MDEgNzIyNGZmZjk4ODIzYmM5ODMwMDc5OWIzY2Y5Yzc2NmU3NmQ2NTY1ZCBsZWdhY3ktdHJ1bmsKKzY1NjA1IDQ3OTY3NjkwYjU4NTVlYzljYTMzMWFlYjIzMWVjZTQxOGE3NWExM2UgbGVnYWN5LXRydW5rCis2NTYwNiBhYWQ1ODA5ZmM0MTk1NWIxNDExZGE3NzcwZDhmNjc4MGI2NWY4NWU3IGxlZ2FjeS10cnVuaworNjU2MDcgZWUwYTUyYzk4MmU1ZjZhYTQ1ZGVmMDhhM2NjZThiYjYwZjBmZTJmZiBweTNrCis2NTYwOCA2M2FlYTk5Yzk3MWE2N2Q4ZWMwYmQ5Y2Y5ZDlkZjY3YzcxMDJiZGZjIGxlZ2FjeS10cnVuaworNjU2MDkgZDYxNWFhOWZkZjM2MTA0OGRlMmRiMTRmZjMwMzI5N2IwZDJkN2E3YyBsZWdhY3ktdHJ1bmsKKzY1NjEwIDZkOGQ5MjBjZDkzMjQwYTQ3Y2QwYjIyNmRiODIxNDc3M2RiYzhlNmEgbGVnYWN5LXRydW5rCis2NTYxMSAxYTExNzE3YTE1NGI0ZGYyMzA1ZGMzYjRmOWJiZWI0NGVmM2E4YjUyIHB5M2sKKzY1NjEyIGQzNTI5NjQ0YzY4MjNlYzRmYWM3ZDFiOGExNzQ5MGUyODg3ODY2MGUgcHkzaworNjU2MTMgMzg4YTRiZTdkNjc5YTE1ZjFmMjU4NmQ4MDFjZjgzMTY1MmE5ZjFlZCBsZWdhY3ktdHJ1bmsKKzY1NjE0IDk5ZjliZWE5MDliNTU5YTcyZjQ0Y2U0OTExNzRkYmQ4NWYxNDA2YWUgcHkzaworNjU2MTUgYjNhYmZmMTdlMmRkMTc0ZDQ3ZjUwOWEzODU1YzU4MTA1ZGFjMDExMSBsZWdhY3ktdHJ1bmsKKzY1NjE2IGFjYjk4ZGJiMWIwNGZlZTM1MDhkMzFiZDBjNjViYzMyMTEwNmRjYmUgcHkzaworNjU2MTcgYmM2YTM1NzJiYzg5NmQzYjE3ZmU0YzllZWI2NDc2NzE0OTY3Njk3MyBsZWdhY3ktdHJ1bmsKKzY1NjE4IDlmODQzMzk2ZGY4OThkYWViMzYwMTJiMjI5OGE5ZWVlZTI0ZDBiNzQgcHkzaworNjU2MTkgMzAxMzViNmUzOGZkYWY3MzIyMjJlMDkyNGIyMzk4YTA0YjViN2U1NiBsZWdhY3ktdHJ1bmsKKzY1NjIwIDMzY2Q2YzVkMWEwNGIxZjhkMzgxOTEyZDRhMWNkZTg2ZDkwM2FhZDkgcHkzaworNjU2MjIgNWExNWE3MDQ0ZTdkOGQ2YmE4YzJhOWMzMDNhMDcxNjI4Y2FmNGYxZiBsZWdhY3ktdHJ1bmsKKzY1NjI0IGFjODEwMzM0MWI4MGU5MDIwNWNkZmI0YjA2Y2RkMWFiOTU3Nzg0MWMgcmVsZWFzZTI1LW1haW50Cis2NTYyNiAwNTRkYzExMWIxZDljMTFhNzBkNzNiZTYzZDc2M2Q2ZjM3YTgxYWNmIHB5M2sKKzY1NjI3IDZlNGY0N2E2OWVmYTc1NDIyNzRlZWFiNjQyYWNiYzk3YWVhNGEwMDggcHkzaworNjU2MzcgNjk0ODE0ZDdiMTA0M2MxMzUwZWI0OGUzY2EzZWViMTcxYjYwMWJmNyBsZWdhY3ktdHJ1bmsKKzY1NjM4IDBiNjcxYmNlNjk0ZTQ4OTc4Mjk2NDFhZWVkNjBlNDhmZWU0ZTcwZGQgcmVsZWFzZTI1LW1haW50Cis2NTYzOSBjZTU5ZGFjM2ZjYTI0Y2I2YTNkZWJjODgzZDJhN2E0YzViZDM1MGE1IGxlZ2FjeS10cnVuaworNjU2NDEgY2Y2OTg1Y2I2ZDE1NmRkYmFjYjAxOGQ5YTA3ZWI3OGUxZDRjMDI4MSBsZWdhY3ktdHJ1bmsKKzY1NjQyIDc1MjdkYTJiMDVlOGE5ODgzNmQzOWI3MDI5OTE3ODc0MmU4OTYzY2MgbGVnYWN5LXRydW5rCis2NTY0MyBkMjFkOGNiZTZiZDRkZDc0MGFlMzY5MmNiNzVhYmM1YzU2YjZmMzE1IHB5M2sKKzY1NjQ0IDBhYWU3MmY4ZGRhOTA0OTkzZDdlOGJmY2MxNjQxNjNlMmViNDhiYmUgbGVnYWN5LXRydW5rCis2NTY0NSAyOWQ5MzZhNGY4ODU4ODZmZDA3NWUwNDY2YTY5MzkwMTNhZGVkNzgzIGxlZ2FjeS10cnVuaworNjU2NDcgZWJlYWE2NTM2ZDMyOGEzMTg4M2U0MzM3OTVjZjM3N2RlYTY3NWZjNCBweTNrCis2NTY0OCA3Nzc5YWYzODhhZWMxYTNlMDAyMzIyNTIzN2Q5ZTBkMWNmNTViZWI0IHB5M2sKKzY1NjQ5IGVmNDFkYWUzMGYzNWQzNmVkNDdlOTJkZmRlODkzZjMxMTQzMDQzY2YgcmVsZWFzZTI1LW1haW50Cis2NTY1MCBlZWZlNDQ1MGY3NzNmMmNmYTFmNDVkNDk0Mzk0MTcyMjcyYTc2YWY2IHJlbGVhc2UyNS1tYWludAorNjU2NTEgZGQ3ZTJkNjhiNmRkZGYxNjA4OTk2NzQyOThhZTgwN2NiOWEyNDNiMSByZWxlYXNlMjUtbWFpbnQKKzY1NjUyIGEzMzkzZTU4MWIxNWI4NGY5MTljZTI4ZWYxYWIxOGI3NzU4NzQwYjcgbGVnYWN5LXRydW5rCis2NTY1MyBiMjE5ZDU1NDA0ZTc2YWE2NjRlMmI5ODczNzA1ODEzMWYwY2M4MGZlIGxlZ2FjeS10cnVuaworNjU2NTQgYjhjNGJmMzkzNzk0ZTliMWU3NzM3ODhiMDdiOTQzYTk0N2E5Njc1ZiBsZWdhY3ktdHJ1bmsKKzY1NjU1IDc5ZmEzZTBjMDk4ODlhYWNiYWEwMDgyYjYyZDc2NDRmNzljMmRlODEgbGVnYWN5LXRydW5rCis2NTY1NiAzYzhlZjM0NjY5MjM3MTIzOGQxMDAyNTU2YWI1MjA5ZmJiNGJjZjYzIHB5M2sKKzY1NjU3IDcwMTUxNjU1NTM5MzczNmY5YzY5OWVjM2U2Y2U4MjM4ZWRhOWU3YWUgcHkzaworNjU2NTggZjA0NzI1MzNiZmM5ODkwNjM1Zjg5Mjg0NDc3N2Q3M2I4NzJiNTJmMyBsZWdhY3ktdHJ1bmsKKzY1NjU5IDc5YzI5MTZmZTU4ZTQxZTcxYzI5Nzg1Njg1YzZhOWQ4YTVjZDFmMzIgbGVnYWN5LXRydW5rCis2NTY2MSBjZDNiMGI3ZmQ4ZTFiN2UyZTNjYjNlZjFjZmVjNzAyYTRkZjJkNmY0IHB5M2sKKzY1NjYyIDEzMWY4NWJiNjkzMDBjNDhlNmQ5ZjZkYTI3NTdjMjIxNGY4YTBjOTUgcmVsZWFzZTI1LW1haW50Cis2NTY2MyBlY2NkOTQyOTcwMmU0ZjU3M2JkZjQ0MmI2ZmJiYmE4ZTljNGU5NGE1IGxlZ2FjeS10cnVuaworNjU2NjQgZDc4ZTI0YjEyZjYzMzZiODdhNTE2YjUyZGIwM2RkMDQyYmQwZmVlOCBweTNrCis2NTY2NSA1MGZmZmM4MDA4NDU3YTliZTBlY2VmODY3YWFlMTIxNDNmNDFlNTE5IGxlZ2FjeS10cnVuaworNjU2NjYgOWQ3OGZkNjBiZjJhNWVhY2Q3NDVhZTM0YWZjODQ2MTY4Y2E4Y2E2MiBweTNrCis2NTY2NyAwNjAwZmNlNjc4MzUyMjg4Y2RiNzc4NzY0MzcyODQ2ZTRkZTcyNTE1IGxlZ2FjeS10cnVuaworNjU2NjggNGYxZmU4ZjE2ZWY5M2Q2M2Y4ZjM4MTdhMmU2OWNlNWZhMDVhZmJhMyBsZWdhY3ktdHJ1bmsKKzY1NjY5IDA0NTU2ZTJhNzk4NGY5NDE4MTY5ZGExNTZjNDk4MWQ0YjZmOTU3ZjggcHkzaworNjU2NzAgZjYwMjZhMzc5OGQ0NDAxM2NjMDc0ZmJkNGIxMWUwMjMxZGI3ZWQzNSBweTNrCis2NTY3MSA2YjE5MDhlYTZiNTM1NDRmNjNkOWVhMWQ1ZWEwYzhkYmM1MmE0YTllIHB5M2sKKzY1NjcyIDcwZjI3OTVkNjkwMjgyNjE1MmU5MGI4ZmI1OWVhZTUyOTc3M2FjOWEgbGVnYWN5LXRydW5rCis2NTY3MyA2MWQ1MGRhNTgxNmEzODcyMGFiNDQ5MmUwMjcwMmNlYTQxNDlhY2YwIHB5M2sKKzY1Njc0IGYxMjYwZjQzMTFlZTc4Yzg1MTMyOTNjMmNhZDQzMWMyYzM4NTQ2NjUgcHkzaworNjU2NzYgYWRlMzNlMTNlYzY5MzA2NmM2ZGQ2N2Y5MWE1MmQ1MWVlOTc4ZjRjYSBweTNrCis2NTY3NyBlODUwOWFjNTAxZjMyNGQ4NTc3NWU0MDRmMDFiZDJjZjQyMzFhZWI3IGxlZ2FjeS10cnVuaworNjU2NzggYjc1NjIxYTQyMGVjYjI4ZTkyMzkwMGE0MDcxZTA0ZDE5OTZiZjc5MCBsZWdhY3ktdHJ1bmsKKzY1Njc5IGFmNzM4OGFkMzE2NGViNzRkZGRkOTg1MTBjMzAwZTA1MWQ0NDVlYzggbGVnYWN5LXRydW5rCis2NTY4MCAyOTNkZjgxNTNmNjE4NThlYWNiY2I5YTJjOGM4MDUwNTNlZDhjNjgzIHB5M2sKKzY1NjgxIGY4YTM0NmZjZDA0MTk2MzIxYWM2YjM3MzdjYzlmYjc4NzcxODlhNWUgbGVnYWN5LXRydW5rCis2NTY4MiA2MzNmYjAyNjBhYjMyMjU0NDNmZGVlMmVjYWNmNmY4MDg5YTExNGUzIGxlZ2FjeS10cnVuaworNjU2ODMgMzY1MGIxY2U0YmQ4NDY0MTBkYTY4YmY0Y2Q0MmJhMTdjNGMzZjFmMCBsZWdhY3ktdHJ1bmsKKzY1Njg0IDYwZTBlMDk3NjNhYjYwZDQ0MDZjMGJhOTVlY2M1NzM2Y2I2MTZhNjggbGVnYWN5LXRydW5rCis2NTY4NSAxMzZmNjFiNzRlOGZlOWQxYjYyZmYyZjVhNDc5NDYzMWM4OTBjMmIwIHB5M2sKKzY1Njg2IDY3OTM4NTc1YWZjNmNjNmNlNjg1N2ZjNWQ1ODU2MjFkNzViYzc5MTAgbGVnYWN5LXRydW5rCis2NTY4NyA1NGEyZGI4ZmRjNjI2ZGU5NGUzNGFjZTRjNDBjNzg1MGNlMGMxYWJlIHB5M2sKKzY1Njg4IDBhNDMzNzZiYWE2YmYyYTkwN2YwMmQ2OTdjZmU1YzgwYTk1ZDE2NzQgcHkzaworNjU2ODkgZTk2MWNjMDE0NjE5MTQxZDI5NjIzOGViNTBhYjU0YTRiYTg0MDM3ZSBweTNrCis2NTY5MCBjNmYwZGU1ZjJjNjg1MjNkNmIyMjJkYjY4Y2YxYzc0ZjViY2Q3YzY4IHB5M2sKKzY1NjkxIDkyMzMyODZjN2VkMGRjNWU3MmI4MzhjYmNlNjQwNDBiZmFmZmJjZGYgdGxlZS1hc3Qtb3B0aW1pemUKKzY1NjkyIDFkODE3MWQ2NDQ2M2VkMDI0ZWJjM2I2MWQ0ZGY4OGE2ZDc0NjlkOWYgcHkzaworNjU2OTMgY2RkODk4NDMzZDU4OGUzMGRmNWI5ODZhYTM0NTI3ZjY0NWJhMjgzMyBsZWdhY3ktdHJ1bmsKKzY1Njk0IGMwNTc5ODllODdlYjlkZGVhMTgxNTE5ZmY5OTNhODg5Mzg4N2MyNTAgcHkzaworNjU3MDAgMTgwMDYyZTMzOTU2OTgwZDU1YjYwZjQzYmNiZDA5ZjE5MjMxNDM5MCBsZWdhY3ktdHJ1bmsKKzY1NzAyIDgxNjNkYWVlNzg1ZDQwYTNkN2ZiNTVhZDBkOWZkYjE0MGYxMmE3N2UgbGVnYWN5LXRydW5rCis2NTcwMyBmNjI3ZjgwMjAxZDM5ZmUxNWVmOWIyZWY2ZGYxM2RiYmIwOWVhNjRmIGxlZ2FjeS10cnVuaworNjU3MDQgZTYxZGViNjkwZTcwODQwMmQ0NTJlYTZjZmU1N2UxNGNjMTFlZTE0MSBweTNrCis2NTcwNSBhM2Y5NTBkMTVjMDgzZjU2YWRkMWFmM2RhMDJkYzE0MjlmMDhlODg2IHB5M2sKKzY1NzA2IGMzN2Y0YjAzNjM3ZjIyNjU4MzkzNDkzMmQ4OTQwMmUwNDgwOWQ2ZDQgbGVnYWN5LXRydW5rCis2NTcwNyA3MTAxNDY4NWUwZTVmNWI5OWUzYzcxZDc4ODI5ZmE5NDYxNmRjMDNjIGxlZ2FjeS10cnVuaworNjU3MDkgNzgwZTE3MDM4OTAyOTlhYmFhZTEwNDM2YWIyMDlkNTIwZWViMDVlMyBweTNrCis2NTcxMCAxNzAyODczZjI0OTJmMjMwNTI1YTdmOTA2MWRhYWIwNGZmYmE4OTAxIGxlZ2FjeS10cnVuaworNjU3MTEgYzZkNzhmODY5NDA1ZDc1MTRkNGNhNzJiMTM5ODc5OTRkNWRjOWM0MCBweTNrCis2NTcxMiAxZWQ4NmNlMGJlYjI2NmEyN2Q5ZmNjZTJmNTIxNTZhYjk1OWU4NGRlIHB5M2sKKzY1NzEzIGVhZDM1OGNlNGQ4YWIwOWZmMjczOGJmYThmYWMyMDI2ZTg1Y2Y2YmQgbGVnYWN5LXRydW5rCis2NTcxNCA4Nzg4NjE1MTViMTYwYzlhYmI2N2ZmYjM2Yjc5NDA0MmE0OWFjOGVjIHB5M2sKKzY1NzE1IDlmYjEwZjNkMGY4NzMwOWU5NTQ4Y2UxNDQ2ZWRhOWZhNTU3ZjlhODkgbGVnYWN5LXRydW5rCis2NTcxNiA4OTRiNGFjZmZmZTQwZDBiYjVjZWQ2NzRmYTBhNThjODQ0ZjVjYjkxIGxlZ2FjeS10cnVuaworNjU3MTcgOGMwZjg1MTk2ZTM3YzJlMTFkZGZjMzY3OTI1ZGJlZjRmMzljMDM2ZCBweTNrCis2NTcxOSA5MThhOTE4YTk5OTZjNjA5MDcwZWQwOWQ0M2E5MmE3ZmVlMTNhZmQxIGxlZ2FjeS10cnVuaworNjU3MjAgYjk3M2ZjY2QwMmE1YjkwNzgxZWMyNzM0NDhiZTYwOWIzMzBhNzY0MiBweTNrCis2NTcyMSBjYTRjNTEzNTg2Mjk3ODhjMTdkYTE1MGE4ODJjZjIwYzk0Mjk3ZDgyIGxlZ2FjeS10cnVuaworNjU3MjIgMWQ2NWM4ZjVjMDhlMTM4MzU3ZGRhMWMyNDlmMGFhMGEzMjY0YWMwNyBweTNrCis2NTcyMyA1ZGY1NmNkNTUxOWE1Njk0N2QwNGNmOGViZDI3NTcwMmFjOTAyYTg1IHB5M2sKKzY1NzI0IDJkNzZhZjdmNzcwMjY4YTkyZGI0NDQwNzhhODJiOWY2MWVjM2EzOTMgbGVnYWN5LXRydW5rCis2NTcyNiBiNjBlMDkyOGRiM2VjN2ExMDUyNDAzYmIyODIwNWRmYjRiNTFhZmU1IGxlZ2FjeS10cnVuaworNjU3MzEgZTBjNjU5MjJiODc4N2RmOGE0MjllNTA3MGU5MGQ2MGI3NzljOTQ5ZiBweTNrCis2NTczMiA5ZGU2OGFkODYwNzhjMzYxYWIzMGExOGIyYzc2NzZjOWQ1N2NiYWIzIGxlZ2FjeS10cnVuaworNjU3MzMgYWVmYjhlOWQzODQ0ZjFlNWVhOGFkMzZjZGM5YzE2ZDMzMDBlNzNlNyBsZWdhY3ktdHJ1bmsKKzY1NzM0IDMxYzM5YTYyZDNmOTY1NWE3MmY4MDgwMDQ3MWJjNWY1NzA1M2MwOTMgcHkzaworNjU3MzUgZWJhNzQ1N2Y0YmI2OTNiOTBjMTEyNmE3MDViNzc2NjEyNTVjZTQ2MSBweTNrCis2NTczNiAxNTNlOWU2Nzg2NDY0YTE4NDM3M2U5ZWM5YTBmZTAwN2Q5YTQwZmJmIGxlZ2FjeS10cnVuaworNjU3MzcgZmY4NTY1MzU0NWY1Y2E3MGY0ZjBlZjJiMmQzNDdlN2NkNWFjN2JhMSBsZWdhY3ktdHJ1bmsKKzY1NzM4IGViMWU2NGU1MzVlNmExNzEyNmVmZGI0ZTkwMjhjMDk1N2RlNzc2YzUgbGVnYWN5LXRydW5rCis2NTczOSA1YTM1Yzk2M2U3NzEyMmVhNmMzNDlhYzllNTg2ZDY1NjE5OTE1M2Q0IGxlZ2FjeS10cnVuaworNjU3NDAgZDk5ZmU1NmY5ZmY4ZDY0MWMxNjAzZTc2MWE2OGJkMGQ5ZmQ4ZGZkMSBweTNrCis2NTc0MSBhZjRlNDBmODkzYmQ5NTBkMDQ3MTMxZmNmMjUwM2VmOTAxM2EyMGFlIGxlZ2FjeS10cnVuaworNjU3NDIgMmJlMTdkMzY4YTljNWI4ZmU2MDhiZmY4NWU3NjRiYjc1YmI2MjY3NyBsZWdhY3ktdHJ1bmsKKzY1NzQzIGYyNGYyNmExMjE4Njc1ZWUwNzQyMWY4YzMzN2U2YzU5Y2E4MThkMDAgcHkzaworNjU3NDQgNDhkZGRmZDJmYmYzYmMwMDM0NzFhMmJkYWIzZThhY2I1MGMyNzJiZSBweTNrCis2NTc0NSBhYWVmMDhhYTJhN2VmZmJhYzI5YjEzODdlZjM4OTUzYWE2NmM2NzIwIGxlZ2FjeS10cnVuaworNjU3NDYgNjEyYjBjMGU1YTBmMzNkOGI5MmQ0YWYxZjU0MjIxMWFhMDU2NTEyMSBweTNrCis2NTc0NyBkOWQ1MThjZDQ5M2MzMmVmYWZjOGEzYmM1MjUxMjQ4MjIxZjg0YzcyIHJlbGVhc2UyNS1tYWludAorNjU3NDggYzc0ODFjNzNjMTYzYTE5N2E3Zjk4MmEzZWIxODZiNmJlZGIxMGJkMSBsZWdhY3ktdHJ1bmsKKzY1NzQ5IDQzNWQ2NGZkMTNhOWNkOWQ0ZDMwNmU0MzYxNGZhNGZmNWQ5ZDkzNTggcmVsZWFzZTI1LW1haW50Cis2NTc1MCBmNGMyZWFhZDA5Zjg0NWUxMzgzMGM0OWVhODdiZmEzNWE0ZjljNDA3IHB5M2sKKzY1NzUxIDQ1NTY5ODk1ZjdiNTYxNGFhZDUzZmNlYzgzYjhkYjNhNGQyMWIxMzIgcHkzaworNjU3NTIgZGRjNjVjZDJmMGJiYmFjMzVmMWRmNGMwMWE1NjM5NjkyNDUyYTY5NSB0bGVlLWFzdC1vcHRpbWl6ZQorNjU3NTMgOTBkMDQ5OTgzZjViM2RmZTZjNzczNjk5MDI3ZGIxZjhkOTlkNDU4NCB0bGVlLWFzdC1vcHRpbWl6ZQorNjU3NTQgMDc0MDllOTg1YzM5YzlhYTE3MWNmZWI4ZGYxNzYxNTQ3ODMyMTYxMyB0bGVlLWFzdC1vcHRpbWl6ZQorNjU3NTUgOWM0OTg5MDcyMThmZDdlODBiMmYzMjE5MTI1NjhmMzJkNDlkNTlkNiB0bGVlLWFzdC1vcHRpbWl6ZQorNjU3NTYgZmMxYTBhY2ZjZWY4MDhiZjNjZjQzODE4YTU1NDg2MzE5ZWUxODE1YyB0bGVlLWFzdC1vcHRpbWl6ZQorNjU3NTcgZGE1ODMzM2VjN2RhNzYxYzUxMTJmNzc4ZTU1YWJmZjA2YzEwMWZiYSB0bGVlLWFzdC1vcHRpbWl6ZQorNjU3NTggNTA0OTNmOWRkOGM3MWE0YTQ3MWJjZWZjYjU5YjRjZjhiMTE0OTlkMCB0bGVlLWFzdC1vcHRpbWl6ZQorNjU3NTkgMTZiOWVlMWVlZTMxZmEyNTk0Mjg4NWExODQyZWIwMjgwOTM1ZDc3NSB0bGVlLWFzdC1vcHRpbWl6ZQorNjU3NjAgOTNhYjlmZGE4MGFiMGM0YTBkNTM2MjlmNzc2ZGEwOWU0ODU4YzEwZiBweTNrCis2NTc2MSBmNDgyODc1ZTJhMDMxYWFiNmMzNDY5ODVmYTAzMmYzOTJiYWU5NjAwIGxlZ2FjeS10cnVuaworNjU3NjIgZjRjMjI2YzYxYjcxYzhmNmIzZThjNjRhYjczYWU0Y2JlYjJiYTExNSBsZWdhY3ktdHJ1bmsKKzY1NzYzIDJmN2U1N2ZjMWYzYTY2NmI1NzJjZWEzOGZiMzE0ZDMxODQwODZlMWMgdGxlZS1hc3Qtb3B0aW1pemUKKzY1NzY0IGE4ZjNlNjNiNDdlNDI0MmQzOTI3ODNlOWIwMTQ3YzVhYjUyMDM5NzggdGxlZS1hc3Qtb3B0aW1pemUKKzY1NzY1IDNkZTY5ZTZiMmNiMjUyMWQ4ZmI2YjViNTZkOWE4YjBiNzRiMDQzNDkgdGxlZS1hc3Qtb3B0aW1pemUKKzY1NzY2IGM1MDU5YjEyZGRjNmQxODQ2YjMwNTAwNTM4NThkZTNiNzNlZTYzNTggdGxlZS1hc3Qtb3B0aW1pemUKKzY1NzY3IDliOTg1NjdkNWRkZTUwNzA0YWU4YTU2ZDNhYmUwOWExOTRlOGNlMWYgdGxlZS1hc3Qtb3B0aW1pemUKKzY1NzY4IDdhMDM4MDIwYzhkZDYzZTZkYmFkMjZjNjMxYzg0ZDRhMWY3NGQ4ZTcgbGVnYWN5LXRydW5rCis2NTc2OSBjYWJmOTdiODIzMzA4NjFlNWI2NTEwYjRmMjYxNGJiY2VkMmI2ZThmIHB5M2sKKzY1NzcwIGIzNzdjMTQ3MzIzZWJmOWUwODY3MmIyMTRkNjQwMWZlMGUzNWZmYjQgcHkzaworNjU3NzEgZTRjOThkNjE1N2M3MDE5N2JiNGFjNmE0YjQyY2Y1ZGRjYmRhYzljNSBweTNrCis2NTc3MiA3MWI1M2Q2ZWE3YTQ1ZmRiNWUwZGI2NWFlYTE1MzIyYzQ5NDgxMjA5IHRsZWUtYXN0LW9wdGltaXplCis2NTc3MyBkN2Q3MTM5ZDU4NDA2YjY1NWNhOWJjMTgyYmM0OTMxZjcyZTExM2Y1IGxlZ2FjeS10cnVuaworNjU3NzQgMWQ4OGFkNWY0ZGVmMzM2M2YyNDg1MTdlZDM5NTA4MWEwZGRiODMxYiBweTNrCis2NTc3NSBjMzZjY2YyYTcxZTE2ZTYxOTVmYjc3MzRkNmMzMjFkZmNhZTkyZWVkIGxlZ2FjeS10cnVuaworNjU3NzYgYjI5ZGYzNjQyYjk3ZDNiNmZjNWJlMTUwMDAwNzdkYzdkODE0ZTBiNyBweTNrCis2NTc3NyA0MGMwN2E2MWUxYzI2YzFmZmEwNGRkMTk1MmI5NDU1NzIxN2Y0NDg4IHB5M2sKKzY1Nzc4IDEyYzNhMDMzODllN2YzZTIwYTdlYzgyYjVjNjUyMmFlZGZlMmE5YzQgcHkzaworNjU3NzkgNDkyMTNkNDI5YzY4MWEwMWRhZTBiMzdkYTlhZTk4Yjk5ZjE3ZjkxMiBweTNrCis2NTc4MCAyYmViYzBhNmQwNDI4MGQwYzczMjY3ZjVkZGJmNDc5MjQ3MGU3OTZjIGxlZ2FjeS10cnVuaworNjU3ODEgMDY4OTFhZWM0MWRlNmU2OWI3MWM1NTVlYmJjMzJlODIzMWQ1MTIwYSBweTNrCis2NTc4MiAxOTVkYTZkMGM3N2MxMDY4ZTI4YWQyOTg4OTNkOThjOWQzMmU5NzQ5IGxlZ2FjeS10cnVuaworNjU3ODMgODBhOWZmNTllYjAyMDJiMmMyYzdlM2I1MjUxNjk2N2E0OGNjMTg2NiBweTNrCis2NTc4NSA1MzBiNGNiMTk0NDI1YTIzYTQ2YWMyOGMyMTRiZjUxZGRmOWMyOTYxIGxlZ2FjeS10cnVuaworNjU3ODcgNzU2NTg1NDNiOTE5YmY1MzU0MjgzM2MwYjIxYjk3Yjg3NDEwZTEzOCBsZWdhY3ktdHJ1bmsKKzY1Nzg4IDIyYWQ4OGU1YzAwM2E0NmQzNDgxZWYxZTRkNjMzMDNlMjNjNDJhNGQgcHkzaworNjU3ODkgNDNmYTUwYjllYjEyOGZkNWY3MDJjNTI3NDA4NzkzZDE3OWNhNjYxZSByZWxlYXNlMjUtbWFpbnQKKzY1NzkwIDU1Mjk1MzMwNmQzNDJjNThlNjgxYzc2ZDg3NTA3ODcwNTdlOGM1MzggcmVsZWFzZTI1LW1haW50Cis2NTc5MSA4ZDk5ZDAzYTA2ZTQ0YTc3NDdjMWQxYzBmNTI1OWY4YTU5ODExNGEwIGxlZ2FjeS10cnVuaworNjU3OTIgYjBjNGFiODIzM2ZhOWI1Y2ZiZmNiZDgwNTgwOWU5N2Y0ZTJiZDk4OSBweTNrCis2NTc5MyBkN2ZiZTczZmU3Zjc0NDc4ZWU3Mjc1MzE1ZTUxYTY0YjVjYmEzMjI2IGxlZ2FjeS10cnVuaworNjU3OTQgZGQ5OTJiNjQwM2Y0Y2ZkYjgwMzVhNDhhZmRkMzM1NjgzNDg0NGM4YSBweTNrCis2NTc5NSA2MmM2OWQ4OGU5ODVkN2M5N2E3MGM3YmE5M2ZlZWIxZTU2ZDBhMGFiIGxlZ2FjeS10cnVuaworNjU3OTYgZWRiNWE4NTkzNzQ5ZTZjZWM5YWY4MjZiMjBjMDg5YjBjNDMwMmZjNCBweTNrCis2NTc5NyA4OTUzOGQ1ZmI4MWFkYjJmYjIwNDAzNmFiZDM3YmEyYzE0NDdmMzIxIHB5M2sKKzY1Nzk4IDk5YTJlZTRlM2EwNTczYzBmNGM1MmU0YTcwNWNhODdiYmY1MTI3NWEgbGVnYWN5LXRydW5rCis2NTc5OSA5NWYxYzdkYjg5MjNmNDhiZjQ0YzQ3OTZhOWE3OGNmOTdhNTY3ZTM0IHB5M2sKKzY1ODAwIDM1MWFkNjg0MDdlN2ZmMWY0NTE1ZGEzOTM4MDYwZjUxNjdjYjE4ZTggcHkzaworNjU4MDEgZjI4N2JlYjM1MmZlMTYzOTM5MGZlYzlhYTMwNDc2NDE1ZmJkZjU3YSBweTNrCis2NTgwMiA1NTA4ODYyYTFkZTUwNWM4MGQzYjM2ZjJmMDNmOTJmNzM0YWNhYjQ2IGxlZ2FjeS10cnVuaworNjU4MDMgNWE4N2IwZDFjZTkxZTE4YTMwNTc4ZGZmNzY5ZGNlYjQ3NDE0OTExYSBsZWdhY3ktdHJ1bmsKKzY1ODA0IDYwMTk0YWIyYjc1NjI1YjRkMzI5YWU3NzFmYjAxYzAwZjFlMTgzZWUgcHkzaworNjU4MDUgMzE5NWJkNmI2ZGQ3Y2RhZWZiZThkZjE0NTRkOGQ4NjRjMTY5ZjMzNCBweTNrCis2NTgwNiBmYzkwYjU4MTUxNmViZDhhMTkyMzE4MGQ0ZGU0N2VkOWU0Nzc1MjAwIGxlZ2FjeS10cnVuaworNjU4MDggMWE0MWQ0NTZkODAyYmZlNDE0NzU0ZTYyZjcwYTFmNDJiMTYyOWQ4NSBweTNrCis2NTgwOSAyMTE5MjcxNDdjNjA2ZTJkN2Q4NTA3Mjc0OTQ3NzM5YTRlM2M2OTNjIGxlZ2FjeS10cnVuaworNjU4MTAgMjI1NGFhODI0ZDRkYTNiZmUzZTA5NTFjNDYxZjkzYmViM2U1YmMyNiBsZWdhY3ktdHJ1bmsKKzY1ODExIDc1MTdiZGNjNzY5YTFlMTc1MDBhZWE3YjJjMTI3ODUzMzY5YmM4ZjcgcHkzaworNjU4MTIgNDIwNzIxOWFjYzdhODAzOWMzZGU0NTljNWY3MzMyY2FlMTlmMjIxZSBsZWdhY3ktdHJ1bmsKKzY1ODE0IDRiNDU2NGJlYjZkYTJlMGIxMzRmOTNhZjAxYjRmMTEzYmQ1Nzg0YjYgbGVnYWN5LXRydW5rCis2NTgxNyAxN2YwMTA1MTdiMzM1MDYwNTJlNmFjYzI4NTc5MzY3NjdhNzJmZTg1IHB5M2sKKzY1ODE4IDFkMjllNTNjZTJhZjY2N2Y2MTBhNTVkZWI2ZWFhZWI3NzliZDE3NTAgbGVnYWN5LXRydW5rCis2NTgxOSA3NjYyMDAxMGQ3ODI5ODYzN2ZiZDYzZDJkZGI0NDVjYmFkYTUzMzIyIHB5M2sKKzY1ODIwIDVjMGU1ZjJjYmM3ZDg5YzBjYjBmMDAyZTcwODc3YmVkNmQ2ZjdkZTcgcHkzaworNjU4MjEgMjYxNGQ1MDFkZTlhZWZjMTdlZTc4NTBjZjNjNDg1NTI4OGFlNGVlMCBweTNrCis2NTgyMiBlMTQzYThmMzUyNDE3Y2YwNDljYzkwYWQxNTIwZDIxZjZlYjhiYmZiIGxlZ2FjeS10cnVuaworNjU4MjMgNDcxYTRhODhmNTFjNjRjMDMyMzEwYTc5ZjExODJhOGI5Mzc0NWYzMyBweTNrCis2NTgyNCAwMjRiMmI5ODQ4NjY3NmNjNDFiNGU3Yzc2MzI3ODczYTg3ZTdjNTNjIGxlZ2FjeS10cnVuaworNjU4MjUgMWZkZmEzODJhZTEzMmUxMDNiODQ5OWM3ZDg2NWE3NjI5NDRlZDA4NyBweTNrCis2NTgyNiA5ZDE4NTZhYmE5ZjI0OTNkYTgxOTc1Yzk2MzlkNzg3MDY1M2QxZjNhIGxlZ2FjeS10cnVuaworNjU4MjcgZDY1MzdhM2UxYjczYzAzOWJjM2RmY2MzNjEwMWU0NDA4ZjVjMGUzMiBweTNrCis2NTgyOCAyOGQ5M2M5YzNhMDMwMzVjYjFkM2I1MTA2YzZhZGE2YTE1MjI5ZGNlIGxlZ2FjeS10cnVuaworNjU4MjkgZGI1ODkyNDFlNmY3NGM4OTU1ZjU2MDY2ZjY4ZjgwNjNjY2YxMmM5MyBsZWdhY3ktdHJ1bmsKKzY1ODMwIDZkZGEwMTY0MzEwNmNmYjJkMjcwYjBiNTg5OWFjODdmNjk0NGZmYzEgcHkzaworNjU4MzEgNTlkOTdhM2VlMjE5ZTQ2MTVjNjBhMzk5Y2U3ZDEzMTU5ZjdiZWVkOCBweTNrCis2NTgzMiA5MmY0YmIzNjYzN2MzNGU4Mjk5MzZkYWJjOTVmMmM1MGQwMTRkMWMyIHB5M2sKKzY1ODMzIDhkODgzNTA1NTNjM2Y1YTY3NDk1MjkyMTNhNDVkYTNiZTI0NzVlNGMgcHkzaworNjU4MzQgOGE3YTI1NDU5YzZmMDIxOWEyMzllZDEyMjA1OWEwZTc3Y2E1MTA5OCBsZWdhY3ktdHJ1bmsKKzY1ODM1IGUxMDcxM2IyZDU0MzM4ZDk4NzkxMzRhODlmZGY5MzkxMzlkMjM4YTAgcmVsZWFzZTI1LW1haW50Cis2NTgzNiAzMjkxNDkwNDhiOTBjYzk1NjU4ZTEzMjFjZjAyZjNiN2YzZTEzMjdmIHB5M2sKKzY1ODM3IDJiYWMwZDQyMTkyOWU0NTY5ZTlhYmFlMzUyNzU2OWQxNTAzYTQzY2QgcHkzaworNjU4MzggNDI4ZDM4NGVkNjI2MzQ5OTZkZTViZDc0NDk0MTAyMmZjM2FlOWY3MiBweTNrCis2NTgzOSA1YzEwNWY5YTc4ZThlMWY5OTljZWUxMTJkMzJkYmJjM2E1Nzc4ZjJiIGxlZ2FjeS10cnVuaworNjU4NDAgOWE4OWZiNTgwOThiNmJhNWNmZTJkMmYzYzUxOGI1OWY2ZGNkNGEyZSBweTNrCis2NTg0MSA1NDEzOGVlMjBlNTdjMmU5YWQyZGZiYzQxODY1NTFjNzUyZGIxODcyIHB5M2sKKzY1ODQyIDAyNzVkODFlMzFkMDljYmUzN2FjOWIyZjUxOWY1ZGJiYzc4NmQ1ZmEgbGVnYWN5LXRydW5rCis2NTg0MyAyOTFhNmYyMjAzNjA3MGM1YTAzMDQxZTE5OTIxMTJjOTBjMzk0MDdjIHB5M2sKKzY1ODQ0IDgzZjc3OTg1MjRmMWM3MDE5YWMxMDk5MTMxMjRmNWIwODc5YTYxNmMgcHkzaworNjU4NDUgYjBlM2FjODZjZGQ4MDJhMzFmNWU2ZjI1M2EwNzExZDMwMDI2YTdmMSBweTNrCis2NTg0NiA3ZDY0ODA2ZmViMTU2MDhkNmFmMmVlYTk4MDA3ODE3NzBkNWI0NmJmIGxlZ2FjeS10cnVuaworNjU4NDcgNWUzZmFhZTZlZmM2NzE5ZDQ0YmMwZWRiM2IyN2JjMzIxMzhkZjU1YyBweTNrCis2NTg0OCAxNGYyYTRjYjU3ZGUwNDM1NzZiODc4YjI2ZmQ1MGExODZlMmU4NDRhIHB5M2sKKzY1ODQ5IDdjODFkNWFhNWY0MTdkMDg1Nzc2ODUyYzIyZmNkM2JkNzk2MjRjNmIgcHkzaworNjU4NTAgMThhYTkxOWRmMjQ1YWI5ZmVmMTE4NjI5ZTgxZmMyZmY0ZmNhMmVlNCBweTNrCis2NTg1MSA5NGE3ZmIzM2FmZWE1MjkwMDg4N2Y3MTA4NTcwNDg2ZTQ4NWFkNTBiIHB5M2sKKzY1ODUyIDQzYTg4NTg0NGFkOGQ0ZTE1MTZmMGRiMmFhZGVhMTBkNGY0NGY4YzEgcHkzaworNjU4NTUgNGRmMTIyYWRhNzZmYWY0NmRhMzBhMTgyZGUyYjdlZWZhNmI1ZTU4ZiBsZWdhY3ktdHJ1bmsKKzY1ODU2IDgzZWIyYWFhNWZhYWE0NDU5Y2E2ODMwN2EyNjNkMzZjZDcwZDkzMTUgcHkzaworNjU4NTcgMTRlODE5YmVlZWFiOGMwNGFjNjRjZTYxNWM3ZGEzZGQyNmUxMjUxYSBweTNrCis2NTg1OCAyMDlhNDU4MWJkOTE5YTAzNTQ2YmZjOWQwMzdmZjBkZmY4NjA2Y2UxIHJlbGVhc2UyNS1tYWludAorNjU4NTkgN2YwMzhhNDcwMGIxYzA4MDRlYzM5OTZlYWJjNWNiZmI0MTk5OWM1OSBsZWdhY3ktdHJ1bmsKKzY1ODYwIDgzYjJkMDdiNDc1YjUwMzA3YjQ4ZjZhZjU3MzllMTZiYWI2ODU4YmYgcHkzaworNjU4NjEgMjQ4MDYyMjk2NWU2MDA4Yjc4ZDUwNzRjMDg3MmRkOTVlZmVmOTk1NyBsZWdhY3ktdHJ1bmsKKzY1ODYyIDc1MTFmM2U2NzJhMjlmMzcyOTVkZTUzZDgxZWQ1MGNmZDQxMzYyM2MgcHkzaworNjU4NjMgZWEzZDEzY2Q3YzFlNmI2ZjVlNGRlNjczN2Y2NzJjMzRlNjA1OWMxZCBweTNrCis2NTg2NCA3ZWE4MDVkODc5ZTFhYjU3Y2IyODYyMTg4YTI0ZDExODkxZGUzNDU4IGxlZ2FjeS10cnVuaworNjU4NjUgMWEwNTlhYWZlNDlmMGU0Yjk5NGVjMTg0NDc0OGVkZTRlMzk0NGQ1OCBsZWdhY3ktdHJ1bmsKKzY1ODY2IGFhNjEzMjA5MzMyZDUxYWI2ZWM2MjliODJhZWYwZDcxYmNhYzkyZTggcHkzaworNjU4NjcgMjVmMDZhNzAzZjg5YTllODk2ZjU1MDg3NGRhZDFjZDNlNzQzMmRjOCBweTNrCis2NTg2OCBiZDM3YTE4NjYzOGYyODNkNDNkY2M1ZDQzZmFjMzc0ZDU5ZTYwY2MwIGxlZ2FjeS10cnVuaworNjU4NjkgZjA0YjcwM2YyZGRkYTFiMTE3YTE5NTU2YjAyOWRlNGY3Njk0MWZmNyBsZWdhY3ktdHJ1bmsKKzY1ODcwIDk3YTI0YzYwOWMyZWU4ODA0MDA5OGE0YzhmM2I5Y2FiYTAyYWE1ZjkgbGVnYWN5LXRydW5rCis2NTg3MSA2ZDIyZWU4YzczY2EzNDhjMTE0YTZmYjc5MzIyZmZiNGQ2YmNjZWUxIHB5M2sKKzY1ODcyIDQ5ZjUyZTI4NWE2NDAyYmNkNWY5ZDBlNTU4MDA5ZGQ0NWI3YWYyZWEgbGVnYWN5LXRydW5rCis2NTg3MyAyYjgyOWZmYTQ4MWI1NzQxZDBlMDQ4MWYzMDRjMDU5NWMzZjgxNjFhIHB5M2sKKzY1ODc0IDk2YTRjZGE2NWM1NTJmZmFkODNjM2M4YjVjYjQ5M2M4ZDE5ZmY0NWQgbGVnYWN5LXRydW5rCis2NTg3NSA1MTA5MTkwNzMxMTlmOTE5ZTI2MjM4ZGVmMTU5Mjk4OWYwN2FlY2QwIHB5M2sKKzY1ODc3IDZhYmFkYTA1YzMxMzEzNTkxMjQ2YjJhZjc4YTBiZTQ3ZWM2NWQzMmYgcHkzaworNjU4NzggZjQ5ZDkzMTRkNDM5MTExYTFmYzBiMjc1YzM3NDhiZDJlNjBiZWVlNyByZWxlYXNlMjUtbWFpbnQKKzY1ODc5IGVmMTk1NTg0NTUwOTRmYzFhYWI4M2MwYmZmMDRiOGQxYWUzYzkzZTEgcHkzaworNjU4ODAgNGI4ODA2NDU2MDc4NzFjMDA1ZjkwOWFhZmUyMTBlYWM4ZDBmZGI2NyBsZWdhY3ktdHJ1bmsKKzY1ODgxIGM3ODIzYjM1MWZiY2I3NTY0MDI5MGI5OWViOTAwZmEyYWU5ZTFiNjIgcHkzaworNjU4ODIgODJjNjk2ZjA0MjRhNDdlNDZhOGEzYThiNDBjODg1MTU4ZTBkODUxZSBsZWdhY3ktdHJ1bmsKKzY1ODgzIDk5ZTc4M2VjNzc4MTU4NzFjNjdhY2IyMTY3YzY3ZDlkNjQxYzIyYzIgcHkzaworNjU4ODQgYzFhN2ZkYjI0NjI4ZjI0M2UxY2YzMmViMDE3NDE4ODljMzJmMzE1NCBweTNrCis2NTg4NSA1MDRlNmQwMzBlODRjN2RmYzQ1OWY0ZWI2MjZhYmJhNmI0ZWYyZTUzIGxlZ2FjeS10cnVuaworNjU4ODYgNTAxMjU2YzU0Yzg0YTY0ODUxZThmNjdlNmM5MDExYzNlNWQ4NTI1NiBweTNrCis2NTg4OCBmN2E2Mzk2YjQ5NmYwMjJhYzk5NTY4NmFjNWQxOWI1NzNkYjNlZjJmIHB5M2sKKzY1ODkwIGU3ODAyNGFmMGNmMDNhNDdmZDk3NTg1ZjkxNDQzNmY4ZjIyMjlmMzAgcHkzaworNjU4OTEgYThmOThhNzI3MzcxMjEyMmFiOWU3NGNjNzM4NmU1YmM3M2IwNzc4NyBsZWdhY3ktdHJ1bmsKKzY1ODkyIGJlZTQwMDMzNmZkNWM3YTA0MzQwN2Q3OTU0MDJkZGU4YWQ4YWEyMjQgbGVnYWN5LXRydW5rCis2NTg5MyBhYmRlNGRiMzA3YTU5YzU2MTE4M2RlN2ZlZmNkMDM2NDljMjQ5MzNhIGxlZ2FjeS10cnVuaworNjU4OTQgMWFmMjExMjM2OTA0MzBkZTA3MDEyZGJkMDgxNWYyOWE5NWFjNzIzYiBsZWdhY3ktdHJ1bmsKKzY1ODk1IDhmMjE1NmIxNWJiOGU2OTBjYjQzNjIwNjc5MWUxZjZmNjM5MTU2ZTYgcHkzaworNjU4OTYgNmNkN2IxOGJiNzQyYTM2YTJjNTRmY2UxNWU4NWY3N2M3MDExNDZmOSBweTNrCis2NTg5NyAzYTExZTc5Yjk0NzE1ZGRkNzEwMzY1YTM5OGVmNjEyNzUyMDhmYzdlIHB5M2sKKzY1ODk4IDBmZTZjYjBjMzEwZDcyOWRhZDUwYjM2NWNiNDFhZDYxZThlMThkYTAgbGVnYWN5LXRydW5rCis2NTg5OSA2ZDZkM2UwMzc1NTAzY2QyNWJlNzI3MzZjNWM2ZTU4NWYwMGFiOTFkIHB5M2sKKzY1OTAwIGQ0MjYyOTE4NTM4MmViM2Q3Y2ZkYTFhNzBhZjM4YWIzNGE2NjJlNTkgbGVnYWN5LXRydW5rCis2NTkwMSBjMTI1ZTc1ZDIxYTA0ODc3NGY2NWM1YTdjODRlNjM5MTczNjM2YWMwIHB5M2sKKzY1OTAyIGEzNmI2YzFjZWM1Njc4MjI2OTY3MTg0NmRmNjQ3MGNmNzQzNDA4MGEgcmVsZWFzZTI1LW1haW50Cis2NTkwMyBlODk0MjA0YWRmYmRhYWEyN2QwNTM5ZWFkMTU5MzY4YmJjMjUwNTY0IHB5M2sKKzY1OTA0IGFlNWI3M2M1MjA5N2U2YTM0NjZmZDVlMGVmZTQ4YjE5MGU3YWQ3MTUgcHkzaworNjU5MDUgNTFmMmY4ZmVlNWM0NTBkMjFmZjZhYzg4MDE1ZTc1NzY4MzgyZjAxMSBweTNrCis2NTkwNiA2Y2M4OWM2MGY3NGQ2Yjk3NjVmNzZlOTU0YTc1MzMzMDc3N2M5N2NiIHB5M2sKKzY1OTA3IDRmNTAyMjgyMzE5OTBlYTFkZWI5Yjg5Mzc2YzBhMDg1NjBmMjRiYTAgcHkzaworNjU5MDggNjdjYjMzODgwMzc3YmMzYWRlMWE1OGM4OTYyZDZhZTIzZWZlNTA1NiBsZWdhY3ktdHJ1bmsKKzY1OTA5IDExZTcyZWJmOTA2YWVmZWJhNmQ4MTNmNTI3NjY4ZWNkOWY3Y2IzMzMgcHkzaworNjU5MTAgMWJlNzg5MGNkNzU5NzgwMTZlZmQ3NTg5ZWM2NGNlZGZjMTNjMDhkNCBsZWdhY3ktdHJ1bmsKKzY1OTExIGMwMzAyNGRiODAxZjk2YWQ2NTk0MDE3MDgwODI4ZDNiNzQwYzQwNTQgcmVsZWFzZTI1LW1haW50Cis2NTkxMiAwNDBkOTU4MDUwMGNkYjY3MjM5OTY5ODYwYTM4YTllNzAxZDE0ZDgyIGxlZ2FjeS10cnVuaworNjU5MTMgZTk5NjE0Y2EwMjA0YjdlNjAzMWJmYzIyN2Y4ODI2NGQ3MGFlZWJiYyBweTNrCis2NTkxNCAxY2I5MDhhMDQzYjNmMGY5MzgzOTc3ZTU5N2NmNGE2ZWViNWMwMTQxIGxlZ2FjeS10cnVuaworNjU5MTUgNzYwOGFmZTExZmI5NjA0OWU3ZTQxNmZjMGNiZmY0YmFkNzIxMWIxYyBweTNrCis2NTkxNiA4MTMzZmJiNzQ1ODc1NGE3MjVlNjcyNTAzNjAzYmIyZWQ0ODE4MWU4IHJlbGVhc2UyNS1tYWludAorNjU5MTcgYjE5OWYzNDE5ZTY1ODAyYjlkZDY3MmJkZmQ3OThmMTZiNjBkYWY3MCBsZWdhY3ktdHJ1bmsKKzY1OTE4IGExOWQ2N2Q3N2IyMmY3ODdiZTE2NWM1MjA5NzhlMmI2Yjk5ZGE2MjkgcHkzaworNjU5MTkgODhjYTUxNzU0NmZkMDIzNTdjZjcyMzNkYzk0N2JlMGNmM2I0NTE1NyBweTNrCis2NTkyMCAwMzNkNjNiZjcwOGVhMmFkNDFjNTJkNGI4NDE0NmRhMjMxZmE5YzY4IHB5M2sKKzY1OTIxIDAxM2Q0ZDg0MDdjYjlmNjhlNzY1NmQxMWY2MmI3OTE4YTk1MjFlNDUgcHkzaworNjU5MjIgYzYyODYyZDczZjllYzY0ZDY1NTQ5NGNmMWY2MTQ0MzQ0NmYyZGVhMiBsZWdhY3ktdHJ1bmsKKzY1OTIzIDczMTY0NTY1YjkyMGUyMDU5NmQzM2E5OTNiOTllZDdhNzkzN2U3NjUgbGVnYWN5LXRydW5rCis2NTkyNiAyN2QxOWI2NjUwMzU3OWQ4YjNhNDFlNTJhY2FiOTA3OTlmMmJiM2RmIGxlZ2FjeS10cnVuaworNjU5MjcgNTA5ZTMwYTc5NjhlMDFiZTMyOWVjMTIxNTQwYjNlNzU1ZmM0ZTU2NiBweTNrCis2NTkyOCBjNDExY2Y2OTQyODk2Y2MyMTYwODlhNjk1MDY0Njg0NDMyMmYyZWE0IHB5M2sKKzY1OTI5IDAxYjllMThkNjlhYzQ0OWVlOTU5YWI1OGExYTFhOWZkY2Y4YjFiNDkgcHkzaworNjU5MzIgYTBhYmFmZjk3ZTAwMWE0YjkwZTQ2ZGYzNjdkN2YxMmFjNTBkYjllZSBweTNrCis2NTkzMyA5NTlkMWFhOGI1OGFlYmUzMjYzMGVmMDJiZDQyYWVhZmVmMTk2MzNiIHB5M2sKKzY1OTU4IDU3YTg3MzU2NDdjZjg3NDVkMGI2MzI2NTBhYjQ4NDQzMDBjZTY0ODMgbGVnYWN5LXRydW5rCis2NTk1OSBhNzcwMjJkYzNmNjFkMjIxZDE1OGZhOTgxN2Y0MGYyNTI3YWNmZTMwIHB5M2sKKzY1OTY0IGUzOWQ0NGFkYjYxODA2Yzk2OTJjM2MwZTBhMjMyNDU2ODdhNzUzNGQgbGVnYWN5LXRydW5rCis2NTk2NSBhOGQ2OWMxYTNmNGVmZDM4NzY4YTM3OTM4NjNiZGVlM2VjZDcyNjZhIHB5M2sKKzY1OTY5IDRmYWFiYjE4NTYyYzYzZDcyNmQ1NmE3YzBlMGNkNTQ1ZDlmMDk2MDcgcHkzaworNjU5NzEgNGIxZjI2MmNlYmRmNDAwMzI3MTlmMjUzN2Y5ZThiMGYxMGVmZjczNCBsZWdhY3ktdHJ1bmsKKzY1OTcyIDJkYzY0NjlmYzRjNGQ0YjNjNmM3MzhmODk0NzUxYzM0YzgzZjEyY2MgcmVsZWFzZTI1LW1haW50Cis2NTk3MyAxOTQ0ZDMxMDQwZTMwNjYxYjNiYzZkY2M5YmMwMzhiMDRjYzMzYTVmIHB5M2sKKzY1OTc1IGFmYmZkOGYyMTRkZDEzMzdkNmQxNzVjOGNmZmFmYWQyZTdhNTAxZjEgbGVnYWN5LXRydW5rCis2NTk3NiAyYWE3OWFkNGViODUyZGRkZDZhN2FhNWEwNTI3N2U4OWYwN2E3OTA4IHB5M2sKKzY1OTc3IGJjZTAzZjg3ZjY1ZGIxYTEwNDRhMTRjOTg3YWM4YTBjMDkwZjUzMTYgbGVnYWN5LXRydW5rCis2NTk3OCA0NmMxYmNjNGMxZDMwMzc0MDU1M2FiNjg2NGJjMGFmNTJkODYzMTVlIGxlZ2FjeS10cnVuaworNjU5NzkgZDk1MmU3NTNjNjExZjc1YWFjZGY1NzUyYzVjMzRlNTY1MDM0OTIzZiBweTNrCis2NTk4MCA3NDg5OWU2Yzg3YTVjNWRhNmFlYjljM2U1ZTgxODI1OTdhYmQwNGYzIGxlZ2FjeS10cnVuaworNjU5ODIgZjk3MGE0Zjc1NjBmZmEyMGU5NGI1NWE1ODk2N2RkZDRmYWE4OWY2OCBsZWdhY3ktdHJ1bmsKKzY1OTgzIGUzZTUwNzM1MGVkNGQ0ZGU4OGYxZGExNDNkYTAxNjI0Mzg2ZmIxZjMgcHkzaworNjU5ODQgMjA0NDMxZDQ0Y2RjNDkyODRjMWMzY2RkODE1YmU3ZWRjZjRmNTk5NiBsZWdhY3ktdHJ1bmsKKzY1OTg1IGNmZDc5YTRjMTYwNDMzZGQ1NDg1NmM0MjhlZmQzNDFkOTc1Y2QxMTggcHkzaworNjU5ODYgNzVmNjRmZDFmMTEzNzg4YmVjNGZlN2VjZWE3ZGZkYjhlYmFhZGYxYiBsZWdhY3ktdHJ1bmsKKzY1OTg4IDY1YjJkZDQ2ZTE3MTE4OTdiOTMxM2NiYzg4NDFlOTczMTI1ZDhlMmEgcHkzaworNjU5OTQgYjUyMTM4M2I4MWE3MTU3MTVlYWY3ODk1NzNkOTlhNzUzZWVhNmI4YyBweTNrCis2NTk5NSA5NjllZGMzYjcwN2YzYmZhODQzYjE1Nzk2MmViMmM0OTk0OGFmYzZiIGxlZ2FjeS10cnVuaworNjU5OTYgZTdiODU4OTBlOWIxMDczNTA0ZDE1ZGMxMzBiMjUxOTllN2JmNmRjNyBweTNrCis2NTk5OCA1ODdjZDRmNjZjMmRjZDk1ZmJjOTUxNDFjZmM2NWY3MWY1Yjg1MmFiIHB5M2sKKzY1OTk5IGRmZTU0NmI2NmVlZmQ3NTgzYWQ1MTZjZDY3MmEwNzE0ZGJlYzYxYzYgcHkzaworNjYwMDAgNzZlNzFjZWNjNGQzMTNjYmMwYTZmM2UyNTMzMjg4MTU5ZTg3NjAxMyBsZWdhY3ktdHJ1bmsKKzY2MDAxIDA3ZWM3MmNmMTljN2Q2MWM4YTJkMjY4MGVmMDI5NTk5ZGRkYmJlYjcgcHkzaworNjYwMDIgN2JiMWM2MGVhZjY0ZjU5ZTViY2VjODVmNjI2NmY0MmY2ZjcyNzZhZiBweTNrCis2NjAwMyA4NWMwOGNmMDhiMmI1ZWVmNzUzZDRlZGVjM2JmMTk3OGQ0MDdkZTJiIHJlbGVhc2UyNS1tYWludAorNjYwMDQgZTE0NTUyYjczMTdiY2M5NTU5NDNiYWJkZjM1OTIzMDZlNGIyZTAxOCBsZWdhY3ktdHJ1bmsKKzY2MDA1IDY4MmU5YTQyYzE1ZDUzYjQwZjAyYmYzNGIyYmNjNzc5OTYzZTkxNDQgcHkzaworNjYwMDYgYjE2ODJjNjkzYjlhMTVkODc5ZDY3NTUyMWY2MWQ1ZGQzZDk3YTc0MyBsZWdhY3ktdHJ1bmsKKzY2MDA3IDVjNzVhMzNlZjViMjc2MzYzN2Q4ODgzYzVkMWNhNmM1OTI3Y2U0ZTIgcHkzaworNjYwMDggZDJiYTM2YTdhNzEyNzQ1Y2I4YzU3MDEzNzRlZmEyNmY3ZWE4YTk2MSBweTNrCis2NjAwOSBhZmI5ODA4YjBmMzBmYTI1YjM2NjhjNzQ4NWRjYjIxYjAxMGUwNDQxIHB5M2sKKzY2MDEwIGEyNzIwMzUzZjBkMzQ5ZDc0MWU5YjU4YWMyM2QyYzFjMmFlOWM1ZjQgcHkzaworNjYwMTEgOTg0ZTFjNjAyOTc5MmM5ZjI5NDU3NGFhNmQzYzU2NjgyM2ExNjFmZSBsZWdhY3ktdHJ1bmsKKzY2MDEyIDJhNmFlN2U4YzdjMzZlMDMzZjIwYmFmMzU5NmE2ZjZiNmIzMTJkMmEgbGVnYWN5LXRydW5rCis2NjAxMyA2ZWExYTcyMGIwNTdlZTFiYzhlZjE2OWUwNTQzYmMyNzYxYjMzOGQyIGxlZ2FjeS10cnVuaworNjYwMTQgNzBlZGFjODkwZjJiNmRmNjJkYzkzMDhmN2UwNTE0YThkYjNjYjg3YSBsZWdhY3ktdHJ1bmsKKzY2MDE1IGMwMDE5ZDQ1NTUxZGM3NTBjNzY2NmYyMzA5ODM3YjFkNWM3OGJlNTEgcHkzaworNjYwMTYgYzk1ZjM4N2VkMWY0MjZjZTY1MjFjMDhiNjU5ZjZiMThhZjMyM2Q3ZCBweTNrCis2NjAxNyA1OGQyOTVlNzgwMGY3YTRmMmZiN2EyZjIxZjVjYTFmOThlMzBhMjVmIGxlZ2FjeS10cnVuaworNjYwMTggZGU5NTRkZDY3OTdiNmU2Nzk0NWRhZTcxOTljN2IxMjE1NzRhZmZmOSBsZWdhY3ktdHJ1bmsKKzY2MDE5IDg4MTE5ODNkZmNhZjhiMjI2ZjQzNjczZDNkODY0NTA1NjFkYWRjNjUgcHkzaworNjYwMjAgMWE0OTIyZmE1MTYwNjU5MjFhY2QwNzQ4N2ZjZWEyMmZjNzUzYjliMiBsZWdhY3ktdHJ1bmsKKzY2MDIxIDY3OGEwZjBlNjFiYzVkNmJjNTI2MWVjNzNiN2E1NTE0MjZiY2E0NjggcHkzaworNjYwMjIgMmE0N2IzYmIxMWZkOGJkOWVhOThmMmU2NzE1NzAzZDkyMDI5ZmI2YiBweTNrCis2NjAyMyBkZjYyNGRmNmVmYTNjZGEwNDFlYTRjNGEzMGJmYjk1ZmI0ZDhhNTRiIGxlZ2FjeS10cnVuaworNjYwMjQgM2RjNGRmYTNlYmExNjhjZmJhNDAxNmY5YmY3ZTAzOWQ4YzM0MjM2NyBweTNrCis2NjAyNiA2ZmFjNjM2MTMzZjAxMDZlZTRhMjllMTQ4NjI1YTI1YTA1OWI2MTg1IGxlZ2FjeS10cnVuaworNjYwMjcgNGZiN2U3YjJjOTYyYWMwODY5YjlhZDRkZDI1YmFmMGJjNTg2NjhkMSBweTNrCis2NjAyOCA5ZWIwY2QzMDMyNmQ4YjY1NDRiZGIwYmJmYmI5NWFjYmRiODVmZmQyIGxlZ2FjeS10cnVuaworNjYwMjkgZGQxNzdmNTc2YmU4YTk1ZTZlMWM4YThhMWVlOWE5ZGEwM2IwNTI3YiBweTNrCis2NjAzMCA1YTIwNTkzYTgxOGZjMjMyYWJjZjYyMzUzMTIyZjg2ODRmNDEwOWU3IHRsZWUtYXN0LW9wdGltaXplCis2NjAzNCA4MmY3M2IwYjVhMzA4ZTk4MmM1MDMyMmY5ZmNkYTM5NzNiOWYyODQyIHB5M2sKKzY2MDM4IDU0OGRjY2M0MDA4ZWQ5MzRiYWZhZDVmN2I3MTBjYTQyZGJiYjIxYWIgcHkzaworNjYwMzkgZWRkMmNhODk0YTY3ZGM2YjRmOWNjOTJkNjhmYTQ1YTc3NTk1MDMzNiBsZWdhY3ktdHJ1bmsKKzY2MDQwIDAzYzIzYzUwNjU0ZTVlM2E2MmE4ZmVjNmY0YTdmYjRkMWIyMWNmNmMgcHkzaworNjYwNDEgNGRiMWY1MDk4MTc1YWJjYzU2ZWFkNmYwNWQ4OTIxYjVjM2U0YmIyYyBweTNrCis2NjA0MiBkNmU4NmE5NmY5YjM1MDg5Y2IyYTk3NDYwNzNkMDVjOGMwYWM2ZTA1IHB5M2sKKzY2MDQzIGQwMWMxZDc2ODg0MTUzNDBlMzJiNmI3MzE3ZmMxZjk2YTc4ODA1ZGQgbGVnYWN5LXRydW5rCis2NjA0NCAxMmQyNzYyMDc2YmFhNjExZjc2OWJiZTgwNmZlZGQyNTg3NjA1ZmVlIHB5M2sKKzY2MDQ1IGM0MmJmOThiMjYwZjM1MjA0Njg0Mzg3MjU2MjQ3NDQ1ZTAyNTM2MDUgbGVnYWN5LXRydW5rCis2NjA0NiBkOWZlMjllOTVkNjAxNWI3ODM3NTRjNDJkYWI3NzM3MTFhODY1M2I3IHB5M2sKKzY2MDQ3IGRlNmZiOWYzNDUxMzI3NWQ2MzZmNTAxMjg0N2MzNmEzNmM1Y2ExOWQgcHkzaworNjYwNDggNDdhODAxYzI5ZjEzZDQ4ZTZjMGZjZTc0ZmY5OWQyMzQ3YmRiZTI0YSBsZWdhY3ktdHJ1bmsKKzY2MDQ5IGFhM2M5MGNlMTkzMmJhZTc3Y2E5YTY0OGQ4MTFjODEzMWY5NzNmYzAgbGVnYWN5LXRydW5rCis2NjA1MCBmZGQxZWUyMGFiODZiMDk4MDdkMTlhNDQ3ODEwZGRhNmYwNjM5ZjZlIHRsZWUtYXN0LW9wdGltaXplCis2NjA1MSBmMjdjY2ZkZWE4MzQwMTIwMzhjYmEwODI3YjM2ZDc0N2I1OTk0ZjdmIHB5M2sKKzY2MDUzIGVmYzQ5ODYzY2Q4ZmY5YmIzOWQxMzZhZWI1ZThiZDIzOWQwMWUyN2EgbGVnYWN5LXRydW5rCis2NjA1NCA0NzE5MmQwYjczMWYxMDQ5NmYzZTYyMzJkOTliNjVhNTBjZDZjOTM3IHB5M2sKKzY2MDU1IDZjZWI3Yzg5ZTc3NmJhOTI0NDk5NzY5YzY5NjliNWUzYjA2N2EwMTkgcHkzaworNjYwNTYgYzU2MmM4ZGFlNDlhNjA1ODcwZTZlOGFhNmZhN2I4ZTJlZTkxN2NhZSBweTNrCis2NjA1NyAyN2UxNDJkOTlhNzE3MzkzNmE2NThmZGIwM2NlZjg4YzEyNjdkYjg2IHB5M2sKKzY2MDU4IGJiZmZlMDkxNGM1NmU2MTBmMTE4ZTEzYmVhYTA3OWIxOTE4YmUxOTIgbGVnYWN5LXRydW5rCis2NjA1OSAwYzY1YzgwMjc1MmEyYjgyMGQzZWIzYmRiZjBjYzY1NzY2NjIxYmNlIHB5M2sKKzY2MDYwIGE4YzUzNTgwYzVlYzQ3MjI1YzE4ZjRjNTFiYWZlMWMzZGI0YWIxM2EgbGVnYWN5LXRydW5rCis2NjA2MiAzMDgzNGI5YWExOTM3ZjFmZjgyZDQ4Nzc0MTMxM2RhODUwNTJhMGE4IGxlZ2FjeS10cnVuaworNjYwNjMgMDEzMTM4Y2RiODczYjJlY2MxN2ZhNmI0MTRjZjM0ZjRhNzM0ZWY4YyBsZWdhY3ktdHJ1bmsKKzY2MDY0IDAzZTIxNmRjOGZlY2NiOTFhNDEyNzQyNjAzOGRkYzc0MGIxNzA1ODggcHkzaworNjYwNjUgNTZlZDQ0NWZhNjFlNjAzNGQ0M2IyOWNkNzI1MTk1NDZmMThiM2JmNCBsZWdhY3ktdHJ1bmsKKzY2MDY3IDk2YmM1ODk2YTI0MDU1MWNkYjc2NDM2YmZjZjdiNDk3NDFiNDUxYTAgbGVnYWN5LXRydW5rCis2NjA3MSBhMmYyMDI4YjczZWQzYWJlNTY4YWI2OTBiNDZhMGM0YmU5YTQ4ZTBmIGxlZ2FjeS10cnVuaworNjYwNzIgODRiZGQ1M2UzOTA2NDg2ZGViMWMxNmZmMWZlMzg1NzMyNGVmMTdjMyBsZWdhY3ktdHJ1bmsKKzY2MDczIDk2MDU4OWQyYTEyZDlhZDQzNzhlNTc3YzcxZmFkOGNiZDZkZThiMDkgbGVnYWN5LXRydW5rCis2NjA3NCBmYTdiNjFkMmJiM2Q3Y2M3Y2I3ODFlNjBmYmE5MTcyZDQyZTRkNGY1IGxlZ2FjeS10cnVuaworNjYwNzYgMTFkOGZhM2M4OGQ4ZTgzNjgxZGMzYWVjNDFiYzYxZmRmODFiYTA3ZiBsZWdhY3ktdHJ1bmsKKzY2MDc3IDQ4YzVlYjUxMzM3MGQ4ZmE4ZDRlMmU0OWQ5YzU3YTVhNDQ3NjYwYjcgcHkzaworNjYwNzggYjUxNTY5MGIzNzlkN2RkZWFiNTI4M2VhM2UwNTcxYzMzMDBhMmRhMyBweTNrCis2NjA4MCBmNjc5NjNjZDQzOTUzY2MxZDllZTA1MGExYjE1YWM4YzQyNzhlZjljIGxlZ2FjeS10cnVuaworNjYwODIgYTFkOWU4M2JjNzZkYTNhZWUyN2RhNGY5N2RkZTJkYTkwZjg2OTBhNCBsZWdhY3ktdHJ1bmsKKzY2MDgzIGViMTM0ZWVlMzIzMjI2MDAzNzNmNTQ4ZjY4NmIzNWJmOTBkYzA3ODQgbGVnYWN5LXRydW5rCis2NjA4NCAzNmFkNWU3ZTM5YjRmYmQ5NmNjMTk4MTRlZGM3ZTcwNmEyMjVhYTEzIHB5M2sKKzY2MDg1IDljMTc1Zjg4NjBlMjNkZjM2ZTE4YTBkMzE4MmRhMGVlYTQ4ZDA4ZmUgbGVnYWN5LXRydW5rCis2NjA4NiAyMjFkZTEzOTQ2ODExM2NmNTg5MTExZDg0NzMyNjRjMmJiMTNmODQzIHB5M2sKKzY2MDg4IDgxYTFhMTU0NTE3MjJiODE5NWY1Nzc0YTZkYzk0ZGM1NTNhZGZjMzEgbGVnYWN5LXRydW5rCis2NjA4OSA1ZGE2ZjIxY2Y4MDU5NDIxZDFkMjQ2NDg0Y2VkY2M0ZjhkZDU1YmZkIHB5M2sKKzY2MDkwIGZjMTFhOTA0ZjZjZDE3OTBhZjkyMGU4NDYxMjM5ODEzNDVlM2I5ZDcgbGVnYWN5LXRydW5rCis2NjA5MSBiZWU2ZWI3Njc3NDI3ZjgzZGE5NTY2YWI2NGE0Y2E3MGVjODBlM2ExIGxlZ2FjeS10cnVuaworNjYwOTIgNjI0YjQ0YjdjZGYyOTIxODRmZjc0MDFiODBkNjc1NTRiZGQ5MTVlZCBsZWdhY3ktdHJ1bmsKKzY2MDkzIGJlNjNlYzc0OGVlMDY0YTIwNmYzYWNjYzAyYWJiMWMxNDdhMmZiYzAgbGVnYWN5LXRydW5rCis2NjA5NCA3ZTE5NGI5Y2MwYTJiNGQxZjI0ZDBmNDljZWRmZjVjZmIwOWZiYmFlIHB5M2sKKzY2MDk1IGI0YzE0YjcwZmUwZjgxOTlhYzRiZmQxMjk2OWZiZDY2M2MwNGIzZTEgcmVsZWFzZTI1LW1haW50Cis2NjA5NyA3YjM5NTAxYjBhNzYyNDdjMDkyMDZkNzBlYjM5M2U5YjA4M2ZlYmE3IGxlZ2FjeS10cnVuaworNjYwOTggMTNmZGY5OGVhMjkwMDEzMDcyZTc2YTFlMDk3Mjg4M2M0MjBjODZhYSBsZWdhY3ktdHJ1bmsKKzY2MDk5IDE3NmM0MDlmZDc0N2U4MTJhMDY3MmRkYWE4ZGFjMDAwMWFmMDU2ZTcgbGVnYWN5LXRydW5rCis2NjEwMCA4Y2RhNjE1ZWYyMmJiNzQ4ZTBlZTM1OTQ0ODE0ZWQ5YWY5ODNhZjNkIGxlZ2FjeS10cnVuaworNjYxMDIgNWZhMGQzMWE2NzFiNzgxMmIwY2VmNGUzOTM3NjJhNjNmYmYxY2U2MCBweTNrCis2NjEwMyA1NzY0NDE1MjdkNGY3Y2MzZGI3MDY5MmQzNDQ2YTE5YTIyYjExODkxIGxlZ2FjeS10cnVuaworNjYxMDQgZWQ1OWYzYjY3YjNhZTNjMTE4NzRiODc1ZWI0YzJlMzllNjg0M2Y3YiBsZWdhY3ktdHJ1bmsKKzY2MTA1IDlkYjNmZTc4MGJmYzZhMTAyMGU4NDZjZWFmNWE4MGMwMjg4ZDJlZjAgbGVnYWN5LXRydW5rCis2NjEwNiA5MjUxNTMyMjU1NzBjM2I4ZTIyY2U1ODkxZGNjOWI3MWY0NDY5M2I4IHB5M2sKKzY2MTEwIDUxOWUwNDc1OTkxZjc2YjgxZDUzMDE1ODQ3NTYzMTAzOTU5YTZmOTUgbGVnYWN5LXRydW5rCis2NjExMSA2OTZmNWQ4NDE5ZjIwOTM5NWIzZjYyMTcyMzQ3OWVkNjUwOWM0ZWIwIHB5M2sKKzY2MTEzIDdlY2VjMWIzMGMzZjQwNTMxNzEwNWZkODM1ZDU4ZjAxNDJjNGIzZTIgcHkzaworNjYxMTQgOTg4NjYxZmZkMTAyOWNiMDM3ZjYyNGZlMjQ0OGMxMDhjZjg1YjliYSBsZWdhY3ktdHJ1bmsKKzY2MTE1IDUxZjc5NWM5NTMwZWMwYmNiNDQxNmU5YTljNmMwYWJkMzA1NWExY2EgbGVnYWN5LXRydW5rCis2NjExNiBhNWEwNzFjODBmMmQyNTI5NGUxYjQ3MjM0MTk1MDJjOTgxYjU3NDI5IHB5M2sKKzY2MTE3IDEyZmIzNjI2ZWU1OWYxOGRlZjgyN2UwNTI5NGQxMjE2MzRiMTg0ZjMgbGVnYWN5LXRydW5rCis2NjExOCAzN2E5ZjY5MGE5NGE5YWNiMzkyMzI3NTE2ZTQzMjMwNTk2Mzg1NDVhIGxlZ2FjeS10cnVuaworNjYxMTkgYjUzNjVmMzQ2NDBmMmM2NjRjMTkyMjk0ZWI2MDM1NTI5MWZjZTdhYyBsZWdhY3ktdHJ1bmsKKzY2MTIwIDY2ZTFhZmQzMzQ1ZmRiMGJiNGMxZjk3YTlkMTRkMGMxYzBjODE4ZDQgcHkzaworNjYxMjEgMTZjMDNmN2NiYzIyMWY5NDA1YzEzNTliYjJhNzNmZmQ0NGYyMjg5MiByZWxlYXNlMjUtbWFpbnQKKzY2MTIyIDMyY2U0MDJhN2UzZGYyMGMwZjVjZTUwZTkzNTQ4NzRiMjQwZGJjZWIgcHkzaworNjYxMjMgZTYwMjFhYWQyZGUyZDVlYzk5NGY2NzY2MTAyZDFlNWIxMjhlZTVlMCBsZWdhY3ktdHJ1bmsKKzY2MTI0IDY4MGIwNzZkMGMxM2EwM2YzMzRhNjc0OWZhNDQ2M2E1ZTNiMTE1MTkgcHkzaworNjYxMjYgNGZjNDgwYmUxZTRkMmM2NzhhMzkyZDQzYTM5YTQ4NzYyZjE5ZjkzNCBweTNrCis2NjEyNyBiYzU4NWI0ZDQ2MDZiNTJjM2M3ZTUxZDk2MmU1ZmYxNzhmOGM4YjZiIGxlZ2FjeS10cnVuaworNjYxMjkgOWVkMzI4N2JlZWYxOGE0YjdiYWJhMDQxMDFkYmMyMmRjM2FmZGY4ZiBweTNrCis2NjEzMCBhYmE4NTk4Yzc4NWNhNTNlMzM2MjFkMGE4YWE0YmEzNjQxNDljZjIwIHB5M2sKKzY2MTMxIDIzNmZjZjI5MzljN2Q1MjM4OTM0YzZlMGQ4MzAwNWJkMmQxZjVkMTQgcHkzaworNjYxMzIgM2I5NjA4MTE4ZjhkODdiODgxMWIzN2E0NmEwNzQ5MDk1MjQ5MWZmOCBweTNrCis2NjEzNCA4YTEwOGQ1NGVmMDNjYWExYjhkN2JhODIwNzYyZGYwYWViMzU0YjA1IGxlZ2FjeS10cnVuaworNjYxMzUgZDU2MzYyMWQ3NmRiNGY5NGU3NDVlYmM2MmI5MjE3OGVhMzNkYjJjYiBsZWdhY3ktdHJ1bmsKKzY2MTM2IGNkMTg2MzA2ZjM4NWFjOGNmYmU2MTg3OWY0ODRjYjExYmZmMDlkNTQgbGVnYWN5LXRydW5rCis2NjEzNyA4YzRmNzUwNjYxZWMzOTQ0MDQ5ZjBiZTUwNTIwZjRkMDcxODk4MWY5IGxlZ2FjeS10cnVuaworNjYxMzggNGMxNzcwYTU1YTg1ZTVkYTMzM2U3ZTRlZGUwYWUxMzA0Y2I1ODhjYyBweTNrCis2NjEzOSBjYWE0MWUxNjFiMDQxMWY0MDZjNzNlMThlODhjZDg3ZjE3NTkzYjQ5IHB5M2sKKzY2MTQwIDNiZGM0NmZhZWY0ZGE4YjA2ZDA3Mjk1Y2NmYWQ4YzA3MmM2YzEyN2MgcHkzaworNjYxNDEgNGIyOGJmNWVlMzkzYjQzYmE0OWJiOGU4NTVjOWQxNjA5MGQ2NTdkNSBsZWdhY3ktdHJ1bmsKKzY2MTQyIDk5ZWUzYjc3YmMwZGIyZjJhZTJhM2E4N2IxMDU4NDNmMDA1MDE1OTAgbGVnYWN5LXRydW5rCis2NjE0MyAxODk3NzQzYjMxNWRlMmFmNTRiYmNhNzA4YzJiYTIxNzUwMTBlZWMyIGxlZ2FjeS10cnVuaworNjYxNDQgNGRhNGY5Njc5NjcyNTc0NGZjMmQ0ODdkMmY1MjVlYzM0MzQ0YmZhZSBsZWdhY3ktdHJ1bmsKKzY2MTQ1IDM3NzlmYzlkZmU1ZjczODkwYWFhNDZlM2M3ZWYxMmU0ZTA2ZmQ5MDAgbGVnYWN5LXRydW5rCis2NjE0NiAzODg4OWNiNDUxODgxMDVkNzFmODM5YzUzNmI1NmNmNDMxYWY1NjdhIHB5M2sKKzY2MTQ3IDdhNmU2YTA0ZTI4ZDE0OTJiYTExYzA3OTNjZDg4ZTQ5ZDU5OGE5YjcgcHkzaworNjYxNDkgZDgzY2U0YjU4MWU2MTU2ZDNhN2JhZWEwMTYxZGI0YTliNGZlOTgyOCBweTNrCis2NjE1MCBkMGQ1M2RlOWQ4MmUyZjFlOTc4YzA1NTFjNDc2NWUzNzI3MjZmNTg0IGxlZ2FjeS10cnVuaworNjYxNTQgMzgxN2M5NmZkNTQwOGEwYjNmNDE2ZTdkNjMyZWZmNjhhNmQ2ODc5ZSBsZWdhY3ktdHJ1bmsKKzY2MTU1IDFjMTRjZTA4NTQxNTFlYTA0ZTE2MzFiNjZjMTk0YWFhNmFmMzVmMDAgbGVnYWN5LXRydW5rCis2NjE2MCBiYTVjNGNlMTJiYmRmMTZkNTk0ZTAyNjg0YjJmYWMxOTFjYzYxMjhlIHB5M2sKKzY2MTYxIDc1MGRhMmQxODA4OTJlYTk4YjJlMGRhZmZlMGUzYWFlYjM3NjdhMmMgcHkzaworNjYxNjIgYzdmZDBlODgxYzQ1MzAzYWQ5YTQxMjkwM2NhNjExMDgyYWVmNDE2MyBsZWdhY3ktdHJ1bmsKKzY2MTYzIDg4YzkzYTliNDEzNzNhZDFjZTJhNjg5MTFlODNmNjQ3MWE3MmJjM2UgcHkzaworNjYxNjYgM2I3NGQxNDYyZTNhMGY3ZDRkNjMyYTUwOTIyYTA4Mzg2NTI2MzIzZCBsZWdhY3ktdHJ1bmsKKzY2MTY3IGYxYWU2OWNkZDRmZmRiZmFiNjdhYzYwOGMzM2NjZmE0OTA3ZmFhNmQgbGVnYWN5LXRydW5rCis2NjE2OSBkODI2YTc1NTcxYmM5NzlmOWQwNTk3OTg3MTg4N2QyMjIyZTVkOTk5IHB5M2sKKzY2MTcwIDc4NGQyNGE1Y2U3YmFjY2Y5N2M0MzhiMzk0ZTYxOWVlMGJkMWM5MTYgcHkzaworNjYxNzEgMmQ4MGQwMGIxZWYzNjAzMzBhN2NlMzQ4NDc4ZTA2MjZmODM5YTM3YyBsZWdhY3ktdHJ1bmsKKzY2MTcyIDNiZDkwMDJlNzQxZmZjMzA2NjJiM2U4MGI5NGY5YTcxMTdjYzIxOTMgcHkzaworNjYxNzQgZTJlZGMxYzExZTUwNzc0NDI5NTI1MmYwMjg1N2EzMmNlZDY0YTI4ZiBsZWdhY3ktdHJ1bmsKKzY2MTc1IDYzNTZhNTQxNGQwMTljZmE5OWM0NDNkNGMzNDdiYjk4NGZkMjMwMTggbGVnYWN5LXRydW5rCis2NjE3NyBiZjA0M2QwZGI3ZGZjOWZhOTdhYWJiNTVkMjQ5ODIyM2Q3OGZmZDY1IGxlZ2FjeS10cnVuaworNjYxNzggNzVjNWEyYzkzNzZlOWI0NWQ2NDFjNzcxMTM4NzI1NzBlMGRmNDg0NiBweTNrCis2NjE3OSAyYTYwZjdiNDIzMjhkYjE0YTJlOTdiNDg5NTBjZWNiOGM1ZDRmYTUzIGxlZ2FjeS10cnVuaworNjYxODAgNWZkMzliODRmYzI5MmM5ZTUwNmZiZjBmNDAwOTEyNDRmMjQzNjMxMyBsZWdhY3ktdHJ1bmsKKzY2MTgxIDRjNjgzZWM0NDE1YjNjNGJmYmM3ZmU3YTgzNmI5NDljYjdiZWVhMDMgbGVnYWN5LXRydW5rCis2NjE4MiBiOWVkMTRlYjllODdiZmM2YWY3ZDM2MTlhNWI1Njc0MDg0YzBhOTJmIGxlZ2FjeS10cnVuaworNjYxODMgMGY2OTMwYTQzMzYyOGM3YjU1ZTFhMzRkODMzNmRlZmVmNGQ3YTcwZSBweTNrCis2NjE4NCAzMzgzMDhjOWNjY2JjYWY3MGIyYzMwNWZhMGViZmFkMGFiNmMxMGMwIGxlZ2FjeS10cnVuaworNjYxODUgMDZmNTRlMTFhMDhiNGFiNTAxYTEwOTdkYjdkNjE3NzQ2NTgzNGExOSBweTNrCis2NjE4NiAyMmFiMTA2ZTMxODZiNTg0OTQ2MGQxZmYzZjk2OWIyNGY3MDMzZTE0IHB5M2sKKzY2MTg3IGY4M2RjY2Y0MTdmMGRhNmQzZDA2NzVhMjVkZjdjOTQyNDc3MzU1MTggcHkzaworNjYxODggOTJhMDFmZTI0YWUwNjQxYWZlZDFhOWU0MmVmODNmZDFlODExM2RjMCBweTNrCis2NjE4OSA2MTU0NTE2YmU0OWNkYzk0ZmIzYmE5MzMxYTI4Mjc3MGEwMTMxZjhlIHB5M2sKKzY2MTkwIDE0ZmMxNjkyNmMwM2ZjODU4OTIwOTc2NmJlNjJlZGJlOTgxN2NlYjEgbGVnYWN5LXRydW5rCis2NjE5MiAwMWYyZGNlMDZmN2QxMDJmYjlkNDMyNjMzYTczNWE5NWU2MzE3YWZhIGxlZ2FjeS10cnVuaworNjYxOTMgZTZjN2I2ZmEwNzcxZTQwYjg3YjA3M2MyN2Y5ZTJiM2U2NzI5MTdlNSBweTNrCis2NjE5NCBhNTM4NjEwMTg2NWI5N2UwZTM4NzM5ODZiYjQ2OWJmZTYzMTZmMWJlIHB5M2sKKzY2MTk1IDE3N2U4YTYxYWY0NWM1MTQwZGUwNmI3NjIzMzViNjAxOGI1Y2VkZTQgcHkzaworNjYxOTYgMmI4NTVhOTQ3ZjBmNWY2MDQ0OGMxNmJjNDk1YmI4NzRmNzExZTliMSBsZWdhY3ktdHJ1bmsKKzY2MTk3IGUwYWI1YjI4NjEyNDU2Y2U3OGY5M2E2ZDRkNDlhODNlODY1NjQ2ZTMgbGVnYWN5LXRydW5rCis2NjE5OCBlN2JjZmQ3MjA4OThhYmE0MjU3OWQyYWQ5NTcyMTQ4NDY0ZTcwOTk0IHB5M2sKKzY2MTk5IDY1ZTIzNjgzYzAxMGMzZGE0NzE5YzE1OTAzNWIyZTY4ZDIxMTdjYmMgcHkzaworNjYyMDAgZTM4NDdlN2MyNGUwMzJlNGExNDc3N2E4YzhmZWZkZTE3MzZjOWQ1NSBweTNrCis2NjIwMSA5OTU3YTM2ZmMxNjdlY2NkMzczY2M2ZDkwOTFjYWFiZWNlNmM5MjU2IHB5M2sKKzY2MjAyIDViNzg0NWVmNGVmZDBkOWFiYzRhY2E1ZmY5ZjdmYjUzMzU2OTQwNTMgcHkzaworNjYyMDMgYzUzMjM0ZmY2MWIwMGY0ZGZlYTA5YWFlYzAwM2U1OTQ0ODM5ZTU3MCBweTNrCis2NjIwNCA4MTJlYTEwNWIxYjBlZDBiOWYxMTMwNTgyYWM2ZDk3MGQyZWJkOWU2IHB5M2sKKzY2MjA1IGY3MWE4OTI4YzFiN2I5NjNhNzY4YjQzMTA5NGFiN2U4ZGU2ODc1Y2IgcHkzaworNjYyMDcgMTQyNDliY2I5M2QwY2E2NWQ5YThhNGI2ZGNiMTA5NDNiNDE3YTYxYyBweTNrCis2NjIwOCBjNWJlOTQ4NGIxNGJkMDdhZjRlOGQ0NjNhYjhhN2JhMzgwMTBlOThiIHB5M2sKKzY2MjA5IDQ1YzQzODA4OTc5ZTk1NzYzNmVkM2Q5MGYxNDIxYTkwOTIwMjBlYTcgcHkzaworNjYyMTAgZGM3NzRjZTAxYzFmYTJiNTkzMjI2NWVjZWJlZjliMDlkNDdkOTFmMyBweTNrCis2NjIxMSA4MzNkM2VjZmJiZjA5MTA5NDM3YjAzNmI0Njg0ODIwNTU4NjI0NTUwIGxlZ2FjeS10cnVuaworNjYyMTIgYjI2NjU4NDc2ZDU1NTlmMDMxYjk0M2I4MmJjMDlmOWI5NjBkNmI1ZiBweTNrCis2NjIxMyAzMTY5MjM2NzczZjFiNzViMzFkZmNlYzI4NTA3NmU0ZTkxMWEwNWQzIGxlZ2FjeS10cnVuaworNjYyMTQgMmMyYmVmOGZmY2ExMzhmZGQzYjFiMWYzMTc5MGIwMTUyZmFlMDVhYiByZWxlYXNlMjUtbWFpbnQKKzY2MjE1IDVjMTBhZjhkMzNmNWNkMmRlMzJkYzE1MGMwMmUxZDE1MDk5YzVlMDggcHkzaworNjYyMTYgOTRjYzExZWM3ZWMyMDJlMzM2NDc5NWU3MjhhYWRiNjk1M2NjMGYxZSBweTNrCis2NjIxNyA1Yjc2YTNlNDVhYjNlMDFiNzlhY2VmZjRjMGQwYzNhMTJjNzYyNmNmIGxlZ2FjeS10cnVuaworNjYyMTggYWUyYzFiMjc1ZmViM2FhZGIyZTI0NDU3MjM3YjM1ZThkZjc5MmEyMiBweTNrCis2NjIxOSA0NDUyZmYxZmJjOWQ1MTM0MmMyZDVjZjNlNTFkMTk5OWM4ZjZmZmQzIGxlZ2FjeS10cnVuaworNjYyMjAgYjc1NzNlZjI0YzcxOWVjMTViZmEzNTEyMzIyZDQzMDI5NDZkMWFhMCByZWxlYXNlMjUtbWFpbnQKKzY2MjIzIDdmOGVmOTgyOTRiYzExYzM3NWNlNjJiY2ZlMzRiZWI5NmY4Y2NmODkgcHkzaworNjYyMjQgM2ZhMDY2ZDJhMzk3ZGM3MDg1NGFhMzJkODE3MjNlNTdhNjBjMjI0ZCBweTNrCis2NjIyNSA2YjA0YmM0MmJhYTViYTdhOGQ3NmUzZTI1YWRmOTc5ZjUxMDM5ZGNlIHB5M2sKKzY2MjI2IGM2MTgzYTg5ODgwZTYyODEzYjRkNGNkYjZiZjdlN2M1ZDczOTc0MjEgbGVnYWN5LXRydW5rCis2NjIyNyBmZGQ5M2JmYTZjMWJhNWU3NWI4OTBmOThmZTA3N2M5YmI0MWEwZTk0IHB5M2sKKzY2MjI4IGE2NjIwMzQzZTNkYjQ3ZjhiZTZmMjYyNDBmMTg1ZGYyOGQwNGVkZDAgcHkzaworNjYyMjkgOGFmYTc3MjNhZmE3NmFkMDdhMzgxNDg2OGY0OGRlZTdlMGY3YjU2MyBsZWdhY3ktdHJ1bmsKKzY2MjMwIGI0ODY2NDljYThiY2UyMDE3YTJhMzI4NDllYmFhN2IzZmJlMDUyNDAgcHkzaworNjYyMzEgODlhOWJjMTg1ODZhMTczMmYxYWQyMTQ4ZGU1MDc2NDJkMTZlYTI0OSBsZWdhY3ktdHJ1bmsKKzY2MjMyIGI0NTg2OGZlNDg5Y2IyMzkzZmRhMGUxNDUzMGEwYzgxNjQ5ODY2NDAgbGVnYWN5LXRydW5rCis2NjIzMyBlN2U3MGU4ODExNjBiYWIzMzk0OGNlZWUwZDdhZTlhNDEzNjljZmQ1IHB5M2sKKzY2MjM0IGE2NzdkNjhlODEwNWM5YWZkZDhhNDJlM2QyMjJiZjMzMjlmY2JiMWUgcHkzaworNjYyMzUgNDMzMjIwYTYwYThkMDM1MGY0MDZlMWIxNWYwNzEyZDliN2I2YzE1MSBsZWdhY3ktdHJ1bmsKKzY2MjM2IDk3YjlmMGJlOTM4NTI0OWYzMmI2NjYyYmZlZmYzNWFmNGRhYTI2NGUgcHkzaworNjYyMzcgZTc0MDk2OTczOGVmMWY4YWY1ZmJmOGVjODU0MDkxNDk0MjUyNTVkMCBsZWdhY3ktdHJ1bmsKKzY2MjM4IGVjZDdmNTkwZTE0MjQ3OWMxNmVlYWFlZDdiNWY3NWM4YzIzOTkzN2UgcHkzaworNjYyMzkgZGFiN2FiYjc3ZThmODU1MzJiMjdiNmM0Y2YzNjdiZTdjNzY3ZWQwZSBweTNrCis2NjI0MCBmMzI1MTdmODc2YjY3YzFjNWYxYzhmMjE0MThkOWE0NGNmMWViYWI0IGxlZ2FjeS10cnVuaworNjYyNDEgMjZiZGQ5NGE0MjkzNzc2YTA3N2RiMTQxMDU4MDg5NWQ4MDQxYWMxZSBweTNrCis2NjI0MiBjM2I4MTEyMTRjZThmYWFkMDE4NjgzMzNmMmNiNGIwYTliY2E2YTkwIHB5M2sKKzY2MjQzIDIzOGEwODlkNDJiZDYyZTA4NzZlOWMzYjA1ZGQwM2FkMjk0YWExMTIgcHkzaworNjYyNDQgZGMwNzA5YTJiNDJmNTc3MjM0YTg2MjgwZjU3ZjVjNGUyNDkwMTZlZiBsZWdhY3ktdHJ1bmsKKzY2MjQ2IDQ4ODJlNGM0MWNlM2VmZWI1YmMyZjM1M2FhOGU3ZDU5MzQwNzM2MjQgbGVnYWN5LXRydW5rCis2NjI0OCAxOTMzODI0NzkyNWZjNGNmOWNlMzE1M2MyNjcyNjFkM2UyZWFkZDQwIHB5M2sKKzY2MjQ5IDc1MWYxYjU2OTliYWRlNGU4MDY1N2E4MTE4YThkMWU4YTA5MTZiOTQgbGVnYWN5LXRydW5rCis2NjI1MCAxMmVmN2E5MmU1OWJiYjI0NWQ4YzkzMzc1MDAyMThkNDQ2MGRlNzI1IGxlZ2FjeS10cnVuaworNjYyNTUgNjYyMzM2ZDU2N2E5ZWNlNmUxYjM4YWY0MTU1YzdjMTNhNjI0YmUwNyBweTNrCis2NjI2MCA2ZTcxYjM5OGI2Y2NkZmY2ODNhYzEyMDAxMDI0ZjAwZWZiZTY0YTk2IHB5M2sKKzY2MjYxIGY4MzY4MTQyZjhkM2I0MjlmMTFjODRhYzk5MzkyZDEwM2MzMzhlYWUgcHkzaworNjYyNjIgMTVkZjI5NzA1ZTE4MmExMjc2MjlmNjQ2Y2VjZTJmNGQwMmM5Yzg2MCBsZWdhY3ktdHJ1bmsKKzY2MjYzIDRkZDU5ODkxNDM4MzQ3YzU4NDQzNmY4NThkYTQ1ZTQxMDFiNDhmMTIgcHkzaworNjYyNjQgNjcwMjhmNWIzMzIxY2MzZTk1MjNkMTU3MGUzYzE3ZjVlOWE3YzAyMCBsZWdhY3ktdHJ1bmsKKzY2MjY2IGMxYThmNmI2NDhlYTUxZjFjYTlhMmU1N2Q2MjUxYWYzYWU5ZmI5MzAgcHkzaworNjYyNjggYmIwZjc0MjhhMTUwN2RlYmE3MjJmMWFjYTk5ZWMyYjIwOTBjZTNmMCBsZWdhY3ktdHJ1bmsKKzY2MjY5IDY3NDZjNmJlZTI4NjA5M2MzMWVkYjg5MGZkYmYyMzU5NTU1NTkzMGMgcHkzaworNjYyNzAgZTI3Y2Y3ZWUyOTY4YjNmYWU5MGEzZWQxZGFkZjRlY2ZjZTJhNTkxNCBsZWdhY3ktdHJ1bmsKKzY2MjcxIGNhMWE4YWM0N2QwNDYxZDEzMmE3MzRjMzEyNWZiZmJiMGI2OTFkNDUgcHkzaworNjYyNzIgNDQ1Y2U2NTc1MTYyZWJkM2Y5OTRhZjdiMTYwMDdlMDJjOGZhMjljNSBsZWdhY3ktdHJ1bmsKKzY2MjczIDhmZmVjMzcyMDQwZTQ3YTliMjYwNzAyMTkxNzc0NWVlNzRiYTY4ZDcgcHkzaworNjYyNzQgMTc5ZjhkODlhZDE5YTZiYTRmNDRhNmVkYzlmYjVmZTFlODdmYWE0NCBweTNrCis2NjI3NSBmZGE2ODk5NzBiM2Y4MjhhNmRhMjI1M2E0YmNiYWMyYjYzNjAwNjQ3IGxlZ2FjeS10cnVuaworNjYyNzYgMDI2MjdiOTI1YTQzYzcxOTRiNTgyNGIxYjEwYWRmOWJlMWM4Yzg4MSBweTNrCis2NjI3NyBmZGMwOTQ4Yzk1Y2YxOTc5YjA1MDI2YjkwOTZhYzQ4MjE5YmE2OWZmIGxlZ2FjeS10cnVuaworNjYyNzggMTM5NTViY2QwOGJlMWE1YWFjMjU3NTgyMGJhZjk4NmEyZmUwYmY2MSBweTNrCis2NjI3OSA3N2UxYjk1ZjE0MThiMTMxZDQzYjFiZjNiNmUzYmViNWRhY2IxZmFmIHJlbGVhc2UyNS1tYWludAorNjYyODEgYzZiMDJmNzliMmJjM2EzNTYwOWNiYWY4YjIwNjEzNGNhMmJiODQwYSBsZWdhY3ktdHJ1bmsKKzY2MjgyIDJlY2I1NmU2ZTBhNmNkMTMyYWE5MTE0MGE0Mjc1MmQ3NTY1OTdlNzcgbGVnYWN5LXRydW5rCis2NjI4MyA3NTEwZDg3M2I4OGMzMDMwZTE0OTkyOWNlMjhmM2Q2OWRlZDYxMTU4IGxlZ2FjeS10cnVuaworNjYyODQgM2YyYzRjZTMyYmE0N2EyZDM4YTQxMjJmOWM4NjBlYzc4OTcxMmJhYiBsZWdhY3ktdHJ1bmsKKzY2Mjg1IDkwY2ZjNmI5MjZjNmY1NDRiNGRkNjQyOWY2N2EwMmJmYTZkZmZiMGEgcHkzaworNjYyODYgNDczM2Q4NGYzNDg4YjRkZTExZmU1MGI5MTRkMzNiMjA2NTVlNjUzOSBweTNrCis2NjI4NyA3MzUzNmE1OGFiNDI2MWQyYjViNzc2Y2ZmMjhmYmY1OTA2OTU3OTRmIHB5M2sKKzY2Mjg4IDhjZmJiMmUyNzVkOWM5MTU0YWEwZWMyYjFkNTI1NDU4ZTU4MzQ3YzggcmVsZWFzZTI1LW1haW50Cis2NjI4OSA5ODdkYjdhZjA3MDAyYTEyYzAzZWJlZjliMmEwMWQ0ZTliZTJjNjE4IHJlbGVhc2UyNS1tYWludAorNjYyOTMgNTIzZDZkN2U1ODI1YzI3YWMwNjNhNzM5M2I5ZTExNDFkMzQ3NjJhNyB0bGVlLWFzdC1vcHRpbWl6ZQorNjYyOTQgM2FmNmE3MDIwNzBiNDNhNGVhNGQ0NTViY2Y2ZTUzYjY0ZDQzZGUzNCBsZWdhY3ktdHJ1bmsKKzY2Mjk1IGExY2FlOTU1NWY1ZGY4Mjg1OWM3ZGRiNjVjZDczM2I0MzQxOWQyMjYgbGVnYWN5LXRydW5rCis2NjI5NiAyYWIwNTI5MjM3Y2IxYTUwMDA4YThjMDQ1ODA1NmI4NGI5MmQzOTZmIGxlZ2FjeS10cnVuaworNjYyOTcgMjYxMWU4YWUyMzhmZDZmMWNlNjM0NThiY2JhMTNhNWQwMjUyYjNhNiBweTNrCis2NjI5OCBkNzk0MjM4MTUwZDIyZmM0YWFmMTAzZmU2NzI0YjU3OWRjNGM5NGQwIHB5M2sKKzY2Mjk5IDA1ZTI1ZDdhMDdlMTk4N2Y1NWMxNDc2ZDhkMDg1NWExZDM4OTUyMjQgcmVsZWFzZTI1LW1haW50Cis2NjMwMCBhOTM0N2NiOGFjMzgwNjcyZGFiMjYwNDg4YzZjMTg0ZWE4NDhhN2Q1IHJlbGVhc2UyNS1tYWludAorNjYzMDEgN2IxZjhlZGU5YjUzNDNlOGNmNDY5YjZmYmQ2MDk1MTJmOGMyNmYwZCBsZWdhY3ktdHJ1bmsKKzY2MzAyIGYwODVmMzlhNmY0ZDEyMjMxZTZkNjY5ZmI4NzJjZGUwZjQ5NmMxNTUgcHkzaworNjYzMDMgMjcxZGNlMDkxN2MxMDU3NTRjMDI2MTBiMzU5YzMwMDI1YmViODExOSBweTNrCis2NjMwNCBhYTBlZjVkZTM0NWE3ODhmN2NjYWZkMjQwZTNiYmYxNDYxOGFjNzE3IGxlZ2FjeS10cnVuaworNjYzMDUgNTY4YWI1ODM3MTk0ZDg5OWUxMWZlZDAxYzI3MDVjYmMxYTk4OGE1YiBsZWdhY3ktdHJ1bmsKKzY2MzA2IGZlNTM2MmQ5MzU0MjU4ZTE5MTljOTBkMDY2OGUwNDM1MGU2ODU4MjUgbGVnYWN5LXRydW5rCis2NjMwNyBkNjFiOTU2YjBiZjY0NGMzMDlmMGRmMjg1Njc4YWNjZTI5OTlkNGFhIGxlZ2FjeS10cnVuaworNjYzMDggZGU2ZWVmMzFhYTVmNzI5OGUxYWE3YzgzZGI2NjE5ZWRhYWFlZTJiZCBweTNrCis2NjMwOSA1MDk0MWJlZmYwMzI4YjRmNmIyNjVhMDMxZGFjN2U3ODcyNjVjNmQ2IHB5M2sKKzY2MzEwIDM3YjcwY2Q0YTBmMGQxMGZmOTg4YTA3ZjA1MmRhYjViNGIwOGFmZTYgbGVnYWN5LXRydW5rCis2NjMxMSBhYzNiNjcwNDMzNjFlYTYyOTIxM2VjZjI4NTM2NjRiYWU3ZjRiZjQ1IHB5M2sKKzY2MzEzIGJmNGJjOTczZTJhYWZiMzM4ZmY3MDdhMmNiOWVlMGQ2MTgyYjA1YjkgcHkzaworNjYzMTQgNDQ3MDJlMjczNzUwNmM1MjdiZGMzYjFjNTBhMjk4OTNmMGRhNTAzZiBweTNrCis2NjMxNSBjODcxM2ZiMDVmOWU0ZTgzNDMxOGU1NGE1ZDBkNjU5MTRiYzM3MTA3IHB5M2sKKzY2MzE2IDk3M2JkYjJkYjZhYzk2ZTI3MGZjNTMyYzc2MTk4ZDNkYmQ3YmYzYTkgbGVnYWN5LXRydW5rCis2NjMxNyA0ZDE0OGJiODRhMDc3YjJhOWZhMzczNGZmNGQzZTM2YWYyZTY2NTgwIHB5M2sKKzY2MzE4IDg2YTQyZTlmNzNkYzIxOTMwMTY5MmEyN2RlNWZmYzM3ZGEyODhkMmYgcmVsZWFzZTI1LW1haW50Cis2NjMxOSAyM2I0NTJhYzFhNTBhNDlmYzQ5YzcyMDFmZTc1ZjljMDNjZWU4ZjJjIGxlZ2FjeS10cnVuaworNjYzMjAgOTY0ZGI4NzlmMTkwZTlkY2NiMWQ2ZjVkY2U3MTA3YzVkMTU0NDE2MiBweTNrCis2NjMyMSBmZjk2YTMxM2NkMWM4MzliYTMxYjM1NDIzMWVjZWRhZGY0MjA3NWE4IGxlZ2FjeS10cnVuaworNjYzMjIgM2U2ZTU2NWVlMzBhZGNiNWVjMDNhNTgwZTdmYTE5OGEyNGRhOTdlMiBweTNrCis2NjMyNiBjNDZiY2NjZjJhZjJlNDc3MjU3NDk1ZDlhZDVhNmIzNzk3MDkxNDNjIHB5M2sKKzY2MzMwIGI1MjhjYmVhNjBlMWM1MTVmMDgwMjY5ZDRhMzkzZTQwOGE2ODcxNGQgcHkzaworNjYzMzEgZjcxMjNkNDVkMGM0M2U5YWUwZTgxNmE2MDc4ZDJkMGQxNTNiMzUxZiBweTNrCis2NjMzMiA5NzQwNDBjOGYzNjk2MTEwNzQ5ZjkwMzQ5NjY3MmUzOTU3MTkwYWQ2IGxlZ2FjeS10cnVuaworNjYzMzMgZjY2NTBmMjQ3NTk4ZTJkOTg2Zjg2MjBmYmQ0M2ExN2M0YzM2ZTMxZiBweTNrCis2NjMzNCA3MDg3ZWE4MjhkZGEyZmI1OTI3MDQyYzU0OTE5NjYyYWZkNTA2NGYyIHB5M2sKKzY2MzM1IDBmNDQ1N2NmMjViMmNlYmEwOThmNTRiYjhjNzM5YTM2YWQyZTk4NzggcHkzaworNjYzMzYgNzU2NjM3YTNhYzRiYTI2MTAxNDBhMWU0M2RmMDQzMDgzZWUzNzNiMCBweTNrCis2NjMzNyAzNmIyZDY3NGZjOGM1M2ZkNDMwM2MzYzRmNGE3YTE1NWM1ZGM1YjU3IGxlZ2FjeS10cnVuaworNjYzMzggY2Q2MWQ1NGZjOGMwNjRkNzM2NzE4MTZhOTYxNDczYzZhMjliNjJkMiBweTNrCis2NjMzOSAyOTA5NDg0MmIzNzc2YTlmOGJlOWM5ODY2M2JiNGQ2MGQ2MGQ2OWY5IHB5M2sKKzY2MzQwIGE5MGIyODU0NThhYjAxN2UxZmUyNzRmMzQ0OWI2OTMzMzA3ZGNiMWUgcHkzaworNjYzNDIgMTM5ZjZiYWVmNmMyMzA4MzEzYTE0MmY3NWE2M2ExZDI0YzgzZTZjZSBweTNrCis2NjM0NCA0MjQ5ZTU4Mzk3ZWYwMWMxZjJlMmE3YzI4MGQyYTFmZWM2ZTE5YWEwIHB5M2sKKzY2MzQ3IDZmMDgyNzhiZjhiMWY1ZWE5ODdhZTU1OTFhOThiYmRjMmVhZjY5YTQgbGVnYWN5LXRydW5rCis2NjM0OCBkYzBjYWUxZTZhZGIxNTYxOTQwZGQwYjY4Nzk2ODM5MTMzYTVkMDJjIHB5M2sKKzY2MzQ5IDQ5YTkzYzAyYTZkMjEzMTdmYTUyNjFmNWQzNDViNzlkNjdlMjg0ZmQgcHkzaworNjYzNTAgNzUzYTc2YjNlZWE5MWRkMTljYTg5YjYyMWNiYmU2ZGM0Njk1MWRhMSBsZWdhY3ktdHJ1bmsKKzY2MzUxIDVjMDM4ODFjMjA3NTUxNTI1NTJmNmEyOGJhNTUyZmRlZDM1MjRiYzMgcHkzaworNjYzNTIgNzNjYzdiNjM1NWI4MTc2YTk1YjU1OTE4NTg5YmU0ZWZkNmJlM2ZjMSBsZWdhY3ktdHJ1bmsKKzY2MzU3IGRjMTlhMWI3YzVhNjM0NDgwNTM1N2M3NjhiZjVkNWJhZmZjMzk3YTEgcHkzaworNjYzNTggMmMyZTNhNTZjN2JjYzg2NzIzYzE0ZGE4YTk0MThhZDNlNDZiZjRjMSBsZWdhY3ktdHJ1bmsKKzY2MzU5IGU5MGEzZjBhOTkyOGFkM2ViNGVlN2VhYzk2MjBlNTY3N2Q3Nzk0Y2EgcHkzaworNjYzNjIgYzM3YzdkYmQ3ODgwZGIwMzQ1Y2E3ZTk3YTIyNmIxMWNiZjRjODVjZCBsZWdhY3ktdHJ1bmsKKzY2MzYzIGRjNjAyOTNiMjlkNTExOWJmNjc3Mjk5NmFlNzU0ZDEwZGIyYzlhOWUgcHkzaworNjYzNjQgOTVhYzY5ODM1OGFiYjM0ZDgwMzRlNGRmN2JlYzRmMDdlNGI1ZDg5MiBsZWdhY3ktdHJ1bmsKKzY2MzY1IDc3NTY1YmUxYjk1NzcwZDFmMjY0NDc3N2U4OGRhNGIzODY5YWY0ZGYgcHkzaworNjYzNjYgNTEzMjY2YTc1ZWMzMWUxMWUzMzc1ZGUzNjM3YzI4ZmU1MDczNjI3NSBweTNrCis2NjM2NyBmMTAwZWZjYTE0ODcxYmI4MjFhMzFhZWM4ZGQ5ZDFiMDI1YmRkZmZkIGxlZ2FjeS10cnVuaworNjYzNjggMjVmMTQxMjhhOTdjMThlNDRiZmRmNDE4NGJkOTcxOGE4NTc5NjJjYiBweTNrCis2NjM2OSAyYWI4NWMzOTJhOGRhZTAwYTVlMTcxZDhjNmJhMDk2OWUyNDdhNTBhIGxlZ2FjeS10cnVuaworNjYzNzAgZGQ5NjE0NGU2ZTgxZmE0ZTZjYzU4YWFlMDcwMzVhODk0Y2NiMWQzNCBweTNrCis2NjM3MSBmOTc3NzkyNjJiYWMxYjM1ZWRhMzAwYjZlN2ZlMjcwYWMwNzJlMTZmIHB5M2sKKzY2MzcyIGFmNDAyMzhhNjhiOTVjYTA4M2E3YmJjNTdkNDc4OTA0NjIxZjk3ZmUgcHkzaworNjYzNzMgNTg5MDczY2VlMGFlNDdhNjZhMTBiOWM1YWQwMTFlMjFlN2EyMDNmYiBweTNrCis2NjM3NCAzNDhhMzMwNDhlYmY0OGZiNTA3MjU2M2Y4NmJlNzQ0MmY2M2M3NDI3IHB5M2sKKzY2Mzc2IDE3NDc1ZWI1NTA2N2FjMWQxOTU2MDgxZGYyY2VkZjYxNTAxNDQxZmYgcHkzaworNjYzNzcgMTQ1NDQ5MTA5YTMxY2ExNmIzNGI3OWUyOTg1MDhiYWJiNDM2MWUwYiBsZWdhY3ktdHJ1bmsKKzY2Mzc4IDZhZTJkNGI1MDdhMjUyZjYxZDQzMjQwODJkY2MyMDlkZGI2Y2QyNjkgcHkzaworNjYzNzkgYTRkZjQ5MDNiMzU1NTY0ZjJhNDdlNTIxOWM0NTg3ZTNkNzU0NTg4NyBsZWdhY3ktdHJ1bmsKKzY2MzgwIGQyN2RmMDgzZDRlNjc0ZDk3MmU5NTRjNDRkNzhmNjNkNzZjZTI1YjUgcHkzaworNjYzODEgNTFmZjkzNDU2MmMyM2VjYTZkY2YyMWVjZWFmYjk3YjViYjNkYjgxOSBweTNrCis2NjM4MiA4NzUzMTMwMWJhNDhjODdlMjhjZGJkZWIxMDViYmYxZmVlNDdkYzkzIHB5M2sKKzY2MzgzIDNkYzMxODA5NjMxZmUxNzkxNWM1NjZiNDEyMjZlODJkYzZiYzNjOWIgbGVnYWN5LXRydW5rCis2NjM4NCA5NmQ2Mjc2ZDgwZTIzMjQ2YmEwMTI0MzFkMDcwMzA2MDU0ODJiNWFkIHB5M2sKKzY2Mzg2IGYyOGI5OTlhNjlmODNiNjUwMzcxZjU3Y2U0MzE5ZmIzNzRlZTc3OGEgbGVnYWN5LXRydW5rCis2NjM4NyA4OWMyYTY5N2Y3NzJmMGZiNjVmZWZlYzQwMzFjMWRlMDNhNGI2ZWU2IHB5M2sKKzY2MzkwIDBlZjdjYjM1YjIxNjcyNDY3NjY0ZmNiYzMyMzRlYTFkZTJkZTQ2NmEgbGVnYWN5LXRydW5rCis2NjM5MSA0Y2Q5N2Y4ZGU2OWUyMGE5ZTY0NWZjZThiMzZlNDI5OWEzZGM5MjdjIHB5M2sKKzY2MzkyIGMwNWY1YWJlZjc4YWQ1MjUyZTJiZWRhOGUwZDEzZTk3ZWQ5MGI3ZTggcHkzaworNjYzOTMgMjgwMzQ3ZDJmNzY1MDFlMjM5NDQ1ZGU2ZjE1Y2NiYWI1N2ZiNDQzZSBweTNrCis2NjM5NCAwZmNkNGRiMjNkZmZlYjM5YzU0YzZhMmMxNjUyMTczNzk3Y2IyMDFhIGxlZ2FjeS10cnVuaworNjY0MDQgZmYxNWU2MmEzNDliNzhiZDc4OWVhZTViMTdiZTU5NzcwMTRjNTlhYiBsZWdhY3ktdHJ1bmsKKzY2NDEyIDRjNzdkMTAxNmY2MGFmNDUyNmMzM2NiZGQzOTNhZWQ3ZWFkZTU0M2QgbGVnYWN5LXRydW5rCis2NjQxNCA3NmJjNzU3NzI3MzZmMzJlOWQzNDE4YTVmMWYzMTU3NWRhODBmM2FhIGxlZ2FjeS10cnVuaworNjY0MTUgMzgxZWNmNDZkZmFlNDRiODNlM2I4ZGI0ZjEwY2RiNGEwZmZmNDFmYSBsZWdhY3ktdHJ1bmsKKzY2NDE2IDFlYmIyYThjYzA2Yzk0NDcxZDcyYjU0NzZjMjA1MGM0ZDExNWExYWEgbGVnYWN5LXRydW5rCis2NjQxOSA0ZjdkZTFjYTkyZmY4MDY3MWVhMjJhNTgzYjBiOWE5Y2UyNjE0ODM1IGxlZ2FjeS10cnVuaworNjY0MjIgNzM4YmE4MzE5ZjQ5MjA0ZTQ5NjE5Y2I1ZWM5YTU3M2Y3YjYxNWY1MSBsZWdhY3ktdHJ1bmsKKzY2NDI0IGM4ZDQ0NmVhOTZkYWJkM2JiNGRkNzY2NTdlNmQ5MmFlMTAyOWNlYjYgbGVnYWN5LXRydW5rCis2NjQyNSAwOTMyYjliYWE3YTQ1OGYzNWNkNzFmZjdlZjcwYWY5Y2Y5ODFjMTczIGxlZ2FjeS10cnVuaworNjY0MjYgYmIzZDFiZDFlMjkzM2U3ZTExZWJkZGI5YzliMWZiYjIwM2Y5NzBhNCBsZWdhY3ktdHJ1bmsKKzY2NDI3IGU3YzI4MDBiMjNiZjgyYjU2OTM5YzNjYmRkOWY3M2ExMGFlMjEzMDQgbGVnYWN5LXRydW5rCis2NjQyOCA0MTUyNGY5ZTJhMmY5ZmI4NTljOTdhM2MxZGQxM2E1NTkyODBmNmQyIGxlZ2FjeS10cnVuaworNjY0MjkgNWNlMDE0MzhiYWFhNTk1Y2Y5MTUyMTkyYmVkZGQ2MDU1NzBmMDZhMCBsZWdhY3ktdHJ1bmsKKzY2NDMwIDU5NmExYWQ4ZmViNjFiMjUyMzdjOWY3ZDIyNmI3ODYxY2EyZTkwM2EgbGVnYWN5LXRydW5rCis2NjQzMSA3NDI2NzFjNWQ3Yzk1YzY1YWJkM2EwZTNjZDIyYjdhN2NjNGUyMDhkIGxlZ2FjeS10cnVuaworNjY0MzIgYzBkYTdmMjM2MWVjZGMzODVmOWZiMmQyMWQ5NTk1MzdkNDc3MTcwZCBsZWdhY3ktdHJ1bmsKKzY2NDMzIDA1MTM2MjkzZjBjOGJmZDVjZDI4MzU0NjI5ZGU1YzJjZjdlYTIyMWMgbGVnYWN5LXRydW5rCis2NjQzNCBjM2YwZjk3ODM5ZTM4Mjc3ZWY1Yzk1MTJiYjlmY2IwZjFhZDU2YjA5IGxlZ2FjeS10cnVuaworNjY0MzUgNTJlZjk1YmRkODAxZTQ0YmU0ZmZiYTJiNTUwN2FhZWM3ZWE0N2MyNSBsZWdhY3ktdHJ1bmsKKzY2NDM2IDA2ZjMyM2FhNzJjNDk1MDc4MGJlMTY0Y2M4ZGM4NWM5ZWI1MDhhNDQgbGVnYWN5LXRydW5rCis2NjQzNyA2NzA5ZmY4Mjg3ZDk4Nzg0YWE0MWJkOTY2NmJiYmYxZDg1ZTAxNjgwIHB5M2sKKzY2NDM5IDY2NjVlYmZmNjRmMWYyYzIwNjYxMmMwODg2MWY1N2RmMmRjODdiMzggbGVnYWN5LXRydW5rCis2NjQ0MCAxZWFkZGQyMzg4Y2MyNzQ3MWZiNDAyM2RiMDdmMThjMzc0MDNjZjM5IHB5M2sKKzY2NDQxIDFhZjE2OTcwZGFjM2ZkNDU2NWRlZmEyMzI4OTExYzgyYjc2YTU0YmMgbGVnYWN5LXRydW5rCis2NjQ0MiBkNDA2OTgzZWQ5Mjc5Y2NjNjU5Yzg2ZmIyY2ExZDBiMGY0Nzg2NjBhIHB5M2sKKzY2NDQ2IDhmODg2YWNhYTE0MmNjYWE5ZDliNjIyODg2MjBjYjFmYmI0NTlkODcgcHkzaworNjY0NDcgZmViN2JkZTFhNGQ5MzAxMTcwODZhMjg1NmJmYzBmYTk2NjJkZjdmOSBsZWdhY3ktdHJ1bmsKKzY2NDQ4IGM4N2I4NGRiMjQ0Y2Y2MzBlMzAzNzA5NzM2Y2Q4ZGZmMTdhMmE1MjEgcHkzaworNjY0NDkgMDk1ZGU1YjkyOWRkYmI1NjRkZjk1NTQ5NzVlMTAyZjk5YmEwZTljNiBweTNrCis2NjQ1MCA3NWIwZGNiYzNjYzcxODE1ODg5MDMzMmVhZTRjZTczNDU0ZGVmMjE3IGxlZ2FjeS10cnVuaworNjY0NTEgM2IwNDhlMzFkZDllNzdhYmRmNmJkNTk4OTJkZDExODdkMjVjNjc1MSBweTNrCis2NjQ1MiA1OWRiNGIzYTA2YjAxYjUyZjc4YzRlNzQ5YmY4MjM3YWM0N2RlZDRkIGxlZ2FjeS10cnVuaworNjY0NTMgNTZkNWMwM2I5MmI2Y2VmMTU5ZWFmN2ZlM2U0MDgyZWE0OTJhYTY4ZiBsZWdhY3ktdHJ1bmsKKzY2NDU0IDQ3ZGI2MmJmNmFhNzBkOGU4ZjVhYmY5ZTBkYTVhYTlkNmU5OTk3YmMgcHkzaworNjY0NTYgNjI3MDBiYjdmN2I1OTA5ZWE3OGNiMDcyOWY1OTY2NGEyOTI1NTIyMSBweTNrCis2NjQ1NyAyYzViYjQ2MzRkMmQ5ZWM2YTc3NzY1MjZlMWQ1ZjU5YTQwYjUwY2MyIGxlZ2FjeS10cnVuaworNjY0NTggZjk5ODAwMTY2YzJiNzNlMzNiNzIyYmZkMzVhZmQ3ODVlMDAzMzUxZCBsZWdhY3ktdHJ1bmsKKzY2NDU5IGNkZGY1ZDY0NzZjZjEyN2I4OTZmNDIzNjU0NjY4YWJmYTkzZTA3ODEgbGVnYWN5LXRydW5rCis2NjQ2MCBlOTY5MjMyMDU0YTJjMzhiNzI1ZmZjYmFiMmI0OGZjMDQyZmNlZTkzIGxlZ2FjeS10cnVuaworNjY0NjEgNjkyOWI3NDI3MmM0MGVmNTMyM2NiNTY4MTMwZTJiZmVjMjNjYWEwZSBsZWdhY3ktdHJ1bmsKKzY2NDYyIDYyZTVmNzNkMDViNDlmNDI3ZDZiYmY1YTg1MThiZmE0NTY5MzJkMDQgcHkzaworNjY0NjMgNjRiZTlmOTA4NjRlMTRiMzM1YjY0ZmQxZTBkNWM1MzM5NTE0NDM5MSBsZWdhY3ktdHJ1bmsKKzY2NDY0IDI2MDU0NjViYmEzYzE4YTFhYjMwZTZiYmE2YWZlZmMzZTMxNDcwNzYgcHkzaworNjY0NjUgYTNmMGQ2NjdlMmNlNTU3Yjc4M2UwNzgwODE3ZGI5NzZmYTA1YjEzMSBsZWdhY3ktdHJ1bmsKKzY2NDY2IDNhODJlNTAyNDc0MzI4MDA1YTRkYjY2NGVjYTk4ZWExZjExYWQ1YTYgbGVnYWN5LXRydW5rCis2NjQ2NyBhYWViZGM0YzQ2OTAzYjMwZjI1ODU3ODZmMzc5YzY4MDZkMzBmYzQ1IGxlZ2FjeS10cnVuaworNjY0NjggMDJhNmNjNWQ3YTIyNzZlMTkyMzkwMDUyODJjNGJkODY5ZTE5NmQ1YiBsZWdhY3ktdHJ1bmsKKzY2NDY5IGJkYjY2MGRjYTc0ZDZhZjRjMjZmNjI3OTdmMzQyNWQyZDYwMjIxM2EgcHkzaworNjY0NzIgZjk3NGUwZmE1NGNhYTc3ZDM2MTI5ZTVhNGZiYTdiYTkyZTFkOGQzOCBweTNrCis2NjQ3MyAxMTY3YWU2NDVlOGMwMjc1NDNhYTE5YjRkZDg2Njk1ZjVlNmI2NGIwIGxlZ2FjeS10cnVuaworNjY0NzQgMjBkZjA2ZTFiMjY2OWY1OTI4ZWQ2ZjViNzBlMjhmODhhMTU1MDg5NiBweTNrCis2NjQ3NSA2NzA0M2ZiOGFlYTVjMGU4MTA1MDVmYWNmMjMzYWI0ZjZjOWU4NTQ4IHB5M2sKKzY2NDc2IDMzMDIwNDViYWU5Nzg5NjExYmUwNDVhMDc3N2JmNjgxNDU3ZDY5YjggcHkzaworNjY0ODAgYmIyYTBhMzdmYWE5N2JkYmVjYmRlZjkyMTIyY2QxNGM1MDI5YTE2YiBweTNrCis2NjQ4MyBkMTdjYzRkMTc2NmNhMTNhZjU0ZTJhNjg0M2M0OGYwYWE1ZjQyNzBkIGxlZ2FjeS10cnVuaworNjY0ODQgNDQ1M2UyYzZhYTdmZDJlNTRhOTY2ZDhiODU4NzgyMWMxOWQyM2I1MyBsZWdhY3ktdHJ1bmsKKzY2NDg1IDk3ZjI4ZGZhMTU0OWIzYzFkMDk2YTNlMDA2MDNlMmY4YmM2NzJlYmQgbGVnYWN5LXRydW5rCis2NjQ4NyBhMWMxOWYyNjNmNzk1NWZmMWY3YTBkZTIxOGRlZDU2NTJiNDRlOTJkIGxlZ2FjeS10cnVuaworNjY0ODggNWQyZjE2MTE5NDU5NGIxYWE4NTczMTAzZTQxNTM3NjZmYmU5OGI1NyBsZWdhY3ktdHJ1bmsKKzY2NDg5IDJmOWIwNmY5NWM5YTZhN2QxZmUwOTU2OTU3NDAzMGQ5NmRhMTcxMDUgbGVnYWN5LXRydW5rCis2NjQ5MCA3YjE2ODYwMmY0NGRiMmFmYzRiZGNiOGQxMmJkNmVlMGVkZWZjYmJkIGxlZ2FjeS10cnVuaworNjY0OTEgZTI0MjllMjMyNTc2YTY2NmZkMmY1NDNkOTU2ZmRkMjk5OWMwOTY3MyBsZWdhY3ktdHJ1bmsKKzY2NDkzIDMwZWYyMmE4MDI2N2MzZDY5ODI1MzBhYjZmZTg4MjFjYzEyMDRjNWIgcHkzaworNjY0OTQgYWY0YzRjZjNlMDFlMDkzMmU2NDQwYTI5NWZjZDBlNWE5YzdhM2JjYyBweTNrCis2NjQ5NiAyNjA2ZDlhMDBjN2I2MjIwMGY0NDA2NWFlZDQwOWNjMGEyYjc2ZjNmIGxlZ2FjeS10cnVuaworNjY0OTcgNTg4MTg4NDYzNjNiYjVlMGM4MWFkNjJkNmFmNDY5ZTU1ZGFjNWEzMSByZWxlYXNlMjUtbWFpbnQKKzY2NDk4IGZlMzU1YmQwNWM0NzQzODI1NDZjZjg0N2FiNTc4NjhlYzVlOWM3YmEgbGVnYWN5LXRydW5rCis2NjQ5OSA1MDdlZGU5YzdmN2Y0NzVkZmFmYmQ0YTUyYzIyZDc2N2QxMGEyYmMwIHB5M2sKKzY2NTAwIDVkNjFjNjU0ODQ5Nzk1MDE3ZGNhNGMwOTY1Y2Y5MDg3YTY4OTRjMTAgcHkzaworNjY1MDEgNDI4YjA1M2JiMDk4MzkzOTMzMDE4YjcyMTU5NDEzZDBmYjBhZTM4YyBweTNrCis2NjUwMiBjNjcwM2Y0OTg5YjM3MzBmNDM5NWZhODBiNzI1MTAwNDdlMGFhYzM4IGxlZ2FjeS10cnVuaworNjY1MDMgMGFkOGNlYTYwYmZhMGI2MDQzODI1YTZiZTMzOTc2ZjRmODU0Y2RhYSBweTNrCis2NjUwNCA1MjU3OTIwOTdjNjMwOGE3OGE3NmI3YjVmNTZiYmQ4YTI0YzI2YWNmIGxlZ2FjeS10cnVuaworNjY1MDUgNTU0OWI1ZGY4YmNiZGVhNzIxZWQxZTljZTcxOTU0YzI2MDNmNjZjYyBsZWdhY3ktdHJ1bmsKKzY2NTA2IDBlZWMzNDc1NTA0MTRlZWZhM2I1ZjUyYTBlMWI1MzdkZjlmYzM3NDkgbGVnYWN5LXRydW5rCis2NjUwMyA0OWI5Yjk5NjVmMzEyYmExNWZhN2E5MmJkNGRmNWMyYzdjMzgzODdkIHB5M2sKKzY2NTA4IDc2M2U0Yjg0ODgxY2MxYjkyMDc4YmI4MDIyYjgyZWExYzY1MGQ3MzEgbGVnYWN5LXRydW5rCis2NjUwOSA2NzAwZmQ4MTI1YmE1ZTBkMWM5NjgxNDFiNTEyYmE1ZDRlYmJiNTUwIHB5M2sKKzY2NTEwIDlmZTQ2N2ZmMGMwODYzNGIzY2RmMjFjOWE5NjYyNGNhOTQ3NmVhMjUgbGVnYWN5LXRydW5rCis2NjUxMiA1YTcxYTYwNjhlMzAzNTg0NjI3Yjc2NWNhZmUyZTQyYmFjYmZiY2Q3IGxlZ2FjeS10cnVuaworNjY1MTMgYzQ1YTY5NjViYzQ2Nzc3ZTQwMTdiOTc1MjJjZGU3Y2RiMTRlOWIzYyBsZWdhY3ktdHJ1bmsKKzY2NTE0IDYyNjAzMjU5NzcxMjAzMTAxMjUwZmVhYmUzYWJiOWY1YmE4MTNjZmEgbGVnYWN5LXRydW5rCis2NjUxNSAxNWFjNDk2MDJhMDY0OGIxYjU2ZjkxMjIxYzVmMjZkZWM3YWNmNzJhIHB5M2sKKzY2NTE2IDU3OGFkNDkxZDRhNDg2YmQwMDE3ZDU4NmQxZjA1YzM4NjUwOTkyMmUgbGVnYWN5LXRydW5rCis2NjUxNyBjMTM3MjkzMmFlODdjYzk1NTU3MGUyNDk3MDgyY2Y2NmMxMWEwNmI2IHB5M2sKKzY2NTE4IGYzZTVhODUzNDIwNjI5MzYzMDk5ZTczNmI1Y2IyMTA1MzRjNzU3Y2MgcHkzaworNjY1MjAgYjZhODAzMTg4NDU0ZDc2MzJlYzIzYTI0YjdmNzAzZWJhODQyYWE1YiBweTNrCis2NjUyMSBjYzlkOWQ5NjZiMWE0ZmY1MDJlZjRmNjhhZTBmODBkZmVlNTAxMzUyIHRsZWUtYXN0LW9wdGltaXplCis2NjUyMiBkNmI4ZDQ2YTM0MzFiYWM0YmE0NjBjMzRiOGRmZDc2YTZmYjE5Njk0IHB5M2sKKzY2NTIzIDUwYjFlNTU3NTZhNTA3YzUxYWRlMGU4YWJiMzZhZjc4N2RlNjcwZWQgbGVnYWN5LXRydW5rCis2NjUyNCA0ZjlhOTcxNDBmMGVmYjlhZWM4YTM0M2Y5N2I1ZWI0NDc2YTUwMDg2IGxlZ2FjeS10cnVuaworNjY1MjUgNjFjNjhlMmM1NzFiMDdkY2U1YTY2MDQzNjViNzNkM2ZmMDhiM2U4NyBsZWdhY3ktdHJ1bmsKKzY2NTI2IDg1YjQ4MGVmMjYzNWM2N2E5MjQyNDA5NzIzNjVlMTE1MjBhZDZhMjggbGVnYWN5LXRydW5rCis2NjUyNyA4YjE3ZjkyYmJjNGRiNjY0MzU2MjRjZDBkNWNlZDUxYzdmNzVhNGY2IHB5M2sKKzY2NTI4IDZiOWYyY2U1ZmU5MjJlODZjMDIwNjQ2YTU2ODRkMzE4ZmYxYmVkODUgcHkzaworNjY1MjkgNzAxZGI1ZTk2N2I1ZGIxMmYyMDgzMzQ2MmIzMmRlZGYzMzNhZDY2ZCBsZWdhY3ktdHJ1bmsKKzY2NTMwIGI4NDE1NTJhOWE3M2I5NDFlNDFhMDBmMzEyYTQwYTJjMzkwN2Y4ZmEgbGVnYWN5LXRydW5rCis2NjUzMSBmNzFmNjRhZTY1MTk2NmU1MDRlMmJmNWQwMzY4N2E3OGJmMjNmNWE2IHB5M2sKKzY2NTMyIGU1MmEzNTk1ZGZkYmM1MDZlN2JkYTM3NDhkM2U3MDIyYWYwMmEwZTkgbGVnYWN5LXRydW5rCis2NjUzMyAxNzc3NmRmNmZkYTJjYzMwNDE2MjMzZjNkM2ZlMzkzYmE3YjMxMjk0IHB5M2sKKzY2NTM0IGMyZTJlOTI2MmI5OWIyMDhjZmI2ZTljOWI1NDI3YTFmNjE0N2VmNTkgcHkzaworNjY1MzUgOTIzZmI0NThiZDBjNjllZjliMTE3ODY5YWQ2ZTRlYjUyZTA1YTBhMCBsZWdhY3ktdHJ1bmsKKzY2NTM4IDM4NmEwM2VjMWZmMDE0ZGY3YjNlZGNjY2ZlZDM0ZjQ4ZmYzYjM4ODIgbGVnYWN5LXRydW5rCis2NjUzOSA1NWNiM2UxMWJkZjc0ZTY2MjdmYzhlY2I4OWI5NzZhOTgyNzZjZTUxIGxlZ2FjeS10cnVuaworNjY1NDAgYzIwMDVjMWNmNmNkZThhNTVmNTZhMTRiZTlkMjUyZjU0YmZhY2Q4ZiBweTNrCis2NjU0MSA0OTkyZmQ0OWE5ODVkNjc4Y2M0ZTBiODFhOTkwNTNlZWZjNjg5ODQ0IHB5M2sKKzY2NTQyIDI1ZjgwOTEyM2RmNjA2M2Y2NjVjNTYxYmJjNjY1NGM1MjUwYmFlOWYgbGVnYWN5LXRydW5rCis2NjU0MyBkMWFiODNhZDVlMmI5MzRmMzQwNDU0NDc3ZWQ4NzVlNmMyNmUxOWQyIHB5M2sKKzY2NTQ0IDZiNjc5Y2EyNDM2OWZhMWQyMzRkMjFhMTJjNzYxOTk3MmMxMmNiM2EgbGVnYWN5LXRydW5rCis2NjU0NSBmMGMyNWU2YmJhZDU4MGI3Y2FmNjA1ZTkzOWM3OWUwODhiNWE3ZWNmIHB5M2sKKzY2NTQ2IDM5YTk0NzE5NTQ1NGRjMjA4YmMxMmE5MzJlODI0YTdmZTQzYjVjNzcgbGVnYWN5LXRydW5rCis2NjU0NyBjMTc3NzAwNzRhNGJlOTU0OTE3OWFlYzI2MzBlOGMxYjRmNGQ0ZTA5IHJlbGVhc2UyNS1tYWludAorNjY1NTAgNTQ2MTNiYTFkY2FkZjUwMzdhNzYzNDdlYzAzNDAzYTM4OTBlZjcwYiBweTNrCis2NjU1MSA2YWUyOGE1MDNjOWQxNmE3ZGIyZGNiOTllZTQzMGY3ZTQ0ZmMyNGZiIHB5M2sKKzY2NTUyIGYzZGE1NmUzZmNlNGIxNDJmMjM2MWE4YWZiOTdiMWM0YmJjMmQzMGUgbGVnYWN5LXRydW5rCis2NjU1MyA5MjJiOWUwM2IyNjBlYzU5MmYxNjRmOTAwNzZmZjczODZkZjFhNDAxIGxlZ2FjeS10cnVuaworNjY1NTQgZmU2NjBlOGM2M2JhNjkwY2Q1OGI5MTUzNzFkMzAzNWJhM2RlOGUyMiBsZWdhY3ktdHJ1bmsKKzY2NTU1IDA2Y2YzNWU2ZTMwOGVhYmZhZWE4M2NhMTMwNWU0YTI3YzkzMmE2ZTUgcHkzaworNjY1NTYgZTg2ZWQxMTM1MzVjZWYwYThiODhiNDg3YmNiMTFhMDc0MzY4MGRlZiBweTNrCis2NjU1NyBlZjc1ZWIzZGM0OGU4MjAyZGU5MzkyMzZjNWJlNWYyMTIzZmI4NzdiIGxlZ2FjeS10cnVuaworNjY1NTggMjdjMWJhNzE4NmQ4ZjcyOWM0N2ZjNmE2YzA0YzhhYWM3MjM0MTIwZSBweTNrCis2NjU1OSBkZTkwYTcyZTNlMjM0MzhhOWFlZTNiNjZkZjFmZTQ3ODlmNmJlNjIzIHB5M2sKKzY2NTYwIDFkNWMzYmNmMzVhZDM5ODZjMDhiYmNmNWJmOWNkZWIxNGVlMWQ0NmYgcHkzaworNjY1NjEgMDE4YmNkNjRjMzNlNGY2OGM3MDJjNGI1NzljZDdlZWZmZWU5N2E1YSBsZWdhY3ktdHJ1bmsKKzY2NTYyIDBkZTVhMzg4YTI2MTgwNGU3N2ZhMDY3ZDU4ZmEzYWQ5MzE4ZjI3OWYgcHkzaworNjY1NjMgNjQ2MTZlNWQ4MGI0YjI2NGI5YTljZjkwODM1ZDI4ZjE4YjI5OTVkYSBweTNrCis2NjU2NCBmNmRmNTY3Y2NkNjI4OWE0ZDYwNWVjOTJkZmExM2M4NGUyN2ZmN2RkIGxlZ2FjeS10cnVuaworNjY1NjUgYmU4OWQyYTM0YjJmODlhMzE3YmFmY2UwNGY2YjQ4NDUzODA3NmIxZiBweTNrCis2NjU2NiBhNWYyNmIzYTI2ZmQ5ZWU4ZTU0Y2FjMTUzYjM3MjhhNTA1MTNkMGFiIGxlZ2FjeS10cnVuaworNjY1NjcgZWRmOGE2YzY5MDI4Yjc3NTg5NWExYWVhOGU3YTc3ZmEzZDg4OWE2NyBweTNrCis2NjU2OCBmM2ViMDAwNDg3YjkzNjJjMmZjZjU0M2UzOTk5NjdkNDdhODVjNDgzIGxlZ2FjeS10cnVuaworNjY1NjkgZjg0MzBiNjg3NmZiMzZjZmE5MGNhZTZiYWJjNDI0NzY3ZWZlMmUyZCBsZWdhY3ktdHJ1bmsKKzY2NTcwIGJiZTJlMzU4NTJjZDRkOGEwMmM3Y2E3MjJmZjViZDkzODUyN2VlZTMgcHkzaworNjY1NzcgYjNjMjlkYTkzNGY1ZWRmODhmNmRlMGFkZmQzOTBmNjYzNzNhMTBiNSBweTNrCis2NjU4MCAyNWRhMDdmZTM2MzBjMDFiODk5MThmMTBjNzM3OTNlODkwYTc5ODQwIGxlZ2FjeS10cnVuaworNjY2MTAgZGI5OTllYjJiYmRjNzU5ZDJiNDk3MjdjYjc1MWIwMzI0Mzg1MTk5ZiBsZWdhY3ktdHJ1bmsKKzY2NjExIDYwNmFiMjVkZGVmMWIwYmUyZmRlZTMxZDU4YzY5MGUzZWMyOThmZGEgbGVnYWN5LXRydW5rCis2NjYxMiAwMWZjMDgzZTFkZGQzNTEwMWMyZTIzNjA1NjM0NmRiNmVhMjdmNWU1IHJlbGVhc2UyNS1tYWludAorNjY2MTMgYTg3MGMzYzZhOWFkMjQxMzU4OTJjNzdlOWZhNTgwNzNlZjZjNzU5NCBweTNrCis2NjYxNCAxMjBiNGJjZjA5ZmY3MjBlNjMyZjRlZGU1ZDc5MWU5NGY5ZWU1OGJjIGxlZ2FjeS10cnVuaworNjY2MTUgYTAwNjI2ZjJkNzA1NzkyMzVhZDAxMDQyZjEzODEwOTE0OTJiMTM4YSBweTNrCis2NjYxNiA5ZDFjNTMxMTY4Y2FkN2ExZTg5NWY2NzBiODgyYTkyMWM4YzYyNjg0IGxlZ2FjeS10cnVuaworNjY2MTcgMDkxYTZjNTIyN2E5NDc1YmEzYWU2YTNmMjExMzNkNDhmMDZiM2Y1OSBweTNrCis2NjYxOCBhOTFlNzhhYjRkN2QyMDMxMzZmODZlOGYwYzlhZWMzM2Y4ZTAwZDBiIGxlZ2FjeS10cnVuaworNjY2MTkgM2ZlYmNiZmQzNjAxYzQyM2EzMWIyNzA3NDVhZmUyYWUyZGNiNjE5OSByZWxlYXNlMjUtbWFpbnQKKzY2NjIwIDVlNWIxNWI2OTJlMTQxN2Y2YTk4Y2ZiMjkwMGMxZWY4NTBmNjEzOTQgbGVnYWN5LXRydW5rCis2NjYyMSBhY2M0NGI3ZmFkZTA5YTZmZTcyYzA5NDE0ZjU4MWU0NDEwN2EwOGJkIHB5M2sKKzY2NjIyIGRiYWVjMjQ5ZDU2ZjEyYjVmODk2OWE0ZTM0YmNiNWY4M2RiMWZkNTMgcHkzaworNjY2MjMgNzhhMjFiMjc4ZTFiOWI3NGE4MmRlZjQxYmY1YTUzYzQ0MDZkYzJlMCBweTNrCis2NjYyNCBmMzIzZmE0ZTQ4ZDc5YTI4NzE0MTI2ZmY3NDM4ZDI4Nzg4MDJlOTAwIGxlZ2FjeS10cnVuaworNjY2MjUgYjU1MGRlNDI4NTFhODVjMTA2NmMwZGM3ZjdmZmE0MTVhMjQyMzQ1ZSBsZWdhY3ktdHJ1bmsKKzY2NjI2IGIyMzJlMmU5ZTc5MzdlMzQ1NzMyMjkzNmY5MTllMWQwZmE2M2RjNjIgcmVsZWFzZTI1LW1haW50Cis2NjYyNyAwNmViZjEyYmZhNjJjYTViOWVjYTJlN2FkNzBkNjU4MjhhOWMzZTJkIHJlbGVhc2UyNS1tYWludAorNjY2MjggNGVlZGU1ZTQ4YWU2ODVhYzdiZDk1OTEyZDI3YjY3YTRhMTMwYTVjZiBsZWdhY3ktdHJ1bmsKKzY2NjI5IGUxM2MwM2UwY2UwYmI0YzkyM2QyNmZkNzNmNTY2NzI1MDBmZDIxYjcgbGVnYWN5LXRydW5rCis2NjYzMCBiYmFkYjk2MGZkNWMxYTk3NjhmMDlkOWJiNzFlNzAyN2IxNmMyNTUwIHB5M2sKKzY2NjMxIDMwNGJlYTg3MzFkMjFhNGUwOGViZGNjZjYwNWFlZmZjYmI1MjMxMWMgbGVnYWN5LXRydW5rCis2NjYzMiBlMGMwNmNhZWZiZmYzM2ZhNDcwNmNjZTU1ZTM4MGYxNTAyYWY2YzBhIHJlbGVhc2UyNS1tYWludAorNjY2MzMgNjQwM2YxZWRlY2MxOWQyNGM0ZWJhZWI2MTc1YzQ5ZTEyMWE5MmQzZSBweTNrCis2NjYzNCBlYjM1ZmNiYTY1OGVlMjViMzEwYmE0YWQ5MjQ0M2VjNjY5MGIzN2I5IGxlZ2FjeS10cnVuaworNjY2NDMgMDc1MDQyYzc3MjRjNzRhNDliNmIzZTA0ZmQxNDQ1YWM4NzRkZGZjMyBsZWdhY3ktdHJ1bmsKKzY2NjQ1IGRlNzVmYjRlODAwY2VmOTNiOTIzNDUzMzZlMDA2OGFlZjUxZDBjMWMgbGVnYWN5LXRydW5rCis2NjY1MyBjZGM3ZjYzNjc3OGI2OTIzZDBmZjcxZTk1ZjMyNjAwNmVmZTFkNmI1IGxlZ2FjeS10cnVuaworNjY2NTQgOGExZGJlNWMyYjc0NWMxODU1YmE0MDE2MzhkOGRiZmI1ZjI0ZjkxNCBsZWdhY3ktdHJ1bmsKKzY2NjU1IDUyODQ3NjhjMjY0YzU5ZDU1MDM0YWM1MTFhNmQwYmM4NjczZDdmN2EgcHkzaworNjY2NTYgZDcwYmNmM2I2MjhkN2EyZWQ2MTliZjkzZjRlYjkzOTA1YzBiYjAxZSBweTNrCis2NjY1NyAwNjk5YTcxMmEzZGJkZDhjNTJmMThkYWQzMDY5MTI2MTMyMTJhMDBmIGxlZ2FjeS10cnVuaworNjY2NTggNzY1MWI5NDEzYzg1NGNiNjBkMGMxMDNlMzFkNzM0YTkxMjFhMWJjMiBweTNrCis2NjY1OSA3YTNmNzUyYWRmMWNmODk0NTJiODgzOWM2NDMxZGQ5MjUxN2IwYWJjIHB5M2sKKzY2NjYwIDUzMGM4MTQxOGMyODM4Y2M4MjJhOTkwYTJhM2UzZWFiYzMzZjljNzMgbGVnYWN5LXRydW5rCis2NjY2MSAyY2E0MTU5YmJlNjU0MDY2MTczYTkyNTAxZjllMjVkNDZjOTNiNzQwIGxlZ2FjeS10cnVuaworNjY2NjIgY2UyZmNhNDhhY2U0MzI2NjgxODU0NjMxM2M5YTFkNTNmYTg2ZjM0MSBsZWdhY3ktdHJ1bmsKKzY2NjYzIDc1NWYzNGFiNDM4YjE5MTY3YzM3MTBkNWIyNDhhNmUzNGMyNTU5YzIgbGVnYWN5LXRydW5rCis2NjY2NCAyMzFmM2EyNWNjZjViMmRlODhlZGE5MGYyNGU2MDlkYjkwNDMwMmRiIGxlZ2FjeS10cnVuaworNjY2NjUgZGEwNzM0ODRmNWFjMzA2YzU4YmNjODE5NWQ0ZDA2N2ZmNGI0N2UzYSBsZWdhY3ktdHJ1bmsKKzY2NjY2IDQ4NDRjYWMwODY1MjVkMmE5ODVmOTY5MDJhN2I4MmE2YWU5OGY3YzEgcHkzaworNjY2NjcgNmNjNWFjZTlmNTEzZTAwODAwZTEwMWE3ODI1NmU3ZGU5MjViMDFlYyBsZWdhY3ktdHJ1bmsKKzY2NjY4IGVjNDJmNzk4ZjU5NzM2NDQwYTAzMWZlNjJmMmQzMzcyZDU4MmJlNjcgcHkzaworNjY2NjkgNTZhM2ZhNDQ5YzZjNmMxMzU2OWY4YzRhZDNiOTlkMzA2N2QwMTdhNyBweTNrCis2NjY3MCA1M2FjZTM5N2I5YzViYjViZjUyM2MyOGQ5MmIzMTBlYWQ3ODZkOTMwIGxlZ2FjeS10cnVuaworNjY2NzEgZGJjNmVkYmE3MGE3Yjc2NGFhNzQ2OWMyMjIzNmM4NTZkYWRkYjFlZCBmaXgtdGVzdC1mdHBsaWIKKzY2NjcyIGNjNjliOTMxYTYwODJkOWQyNDI3NDkyOWJlZTI0MTkwMDAxYTk3MzYgZml4LXRlc3QtZnRwbGliCis2NjY3MyA1YTlhODNjYWU4ZjFiMmFiOWZmNzM1MjRjNTc2N2NlYTFjNmE5NDZlIGxlZ2FjeS10cnVuaworNjY2NzUgYzVmNWQ2YTMxM2U5OTczZGQ0ZjA5NGNmY2U5MTQ3MDkwM2RjZTc3NCBweTNrCis2NjY3NiA2NGJhNTI0MGFmMzFhOTJiZDgwYTk0MWYwMzJjZjc5NjBiZDRlY2JkIGxlZ2FjeS10cnVuaworNjY2NzcgNzRlN2Y5N2RhZDdkZWRkMTA1YTE3YTJmYzhhYjBkODAzY2EwYTM3MCBsZWdhY3ktdHJ1bmsKKzY2Njc4IGE5NTAzMGY5MzllZDA4ZGViOTM0MzdkMDZiMjYyZGE4NWVlMTM3MGQgcmVsZWFzZTI1LW1haW50Cis2NjY3OSAwMjQxN2I1NmU0YjIxYTk4Y2Q5ZDg2ZmFkNmMxOTM4MGM5NWRkNGU1IHB5M2sKKzY2NjgwIGQ1ODYxODVhN2E1MTY3YWVlMmJkZThkYjk5NzVjODk3YzkwMmY0NWEgcHkzaworNjY2ODEgY2FkMWQyYThhOWQzYjliMGUwNjZkODQ4YTg2Y2EzNjFjYTkyNDRlOCBsZWdhY3ktdHJ1bmsKKzY2NjgyIDQwNTM2ZGRjMjZhMTliOGZlZTI1MGY0MzczMDVjZjI1NjYzODM3YTQgbGVnYWN5LXRydW5rCis2NjY4MyA1YjM1Mjk0ODU0MjE4YThjYWYxNjE2YjFmN2ViZDJmYTYxZDhiZjQyIGxlZ2FjeS10cnVuaworNjY2ODQgNjllMTg0Yjk5MGRjNzdiMmU1OGMyMmZmZjNhZThiZjNmMDQ3ZDc3ZSBweTNrCis2NjY4NSBlZGI1ZWVjZjNiYjhiZGViNjg1ODk2ZjcyOTg3OTJjODU4YjUwODcxIHJlbGVhc2UyNS1tYWludAorNjY2ODYgZDg4ZjFmMmYwMjEzNWY2ZTQ1N2Y0N2IzODkwNjE5NzkzOTMyMGIzMyBsZWdhY3ktdHJ1bmsKKzY2Njg3IGFiMzRhNjQ3ZTIyZmNlYjUwNDUxNGZmYmJlMWYwNWVhM2U5MmI4ZjggcHkzaworNjY2ODggYjQ5NjRkZjY0Mzg0MGU0M2IxYmFkMzZiNDNiNmExMTAwOGE4YTViOCBsZWdhY3ktdHJ1bmsKKzY2Njg5IGY0YWViMTEzYzllZmFkY2U2OTViNmRkN2QxODY4M2M2MmZhNGZhMDMgbGVnYWN5LXRydW5rCis2NjY5MCA0MTU2NTU1ZjM5MTE4MWJjMGQ4ZmNhY2U3MzUzZTcwNjI3M2ZhYzg2IHJlbGVhc2UyNS1tYWludAorNjY2OTEgMzc2MzI3Y2I2ODIxM2M0ZDE0MDIxNDFkNTJlMDA1NmU0YTAwZGQwYiBweTNrCis2NjY5MiA3YzU2NjI0NTQ4ZmQ0ODJmNWJhZmZkY2QwN2U2YTUxOWY1NGFjNmJlIHB5M2sKKzY2NjkzIDZhNzMxMzRmOTYwMzJlZjExNjJlNWZmMjc1OWIwMmVjZWM4ZDg2NTYgbGVnYWN5LXRydW5rCis2NjY5NCBiMjgwMWFjYTlkNmI1ZmJlMWExYTBlOGU4NGQzNDMyMWJiMmJjMTMzIHB5M2sKKzY2Njk1IDU5OGQxOTkzNjE4NmEzODA0NDhlZTM5MWZlNDBlNTg1YTNmZTU4NmIgcHkzaworNjY2OTYgYWY2ZmU5YWRiMzljM2YzYWQ1MzhiOTYzMjg2NzQ5YTU3OTc4YjhhOSBsZWdhY3ktdHJ1bmsKKzY2Njk3IDZjZWFjZDAxNWQ2NzhhNTNjMzFlYWNhZTljNjhlNDNlM2M5ZDkxNTEgbGVnYWN5LXRydW5rCis2NjY5OCBhNGVkNTRkNTc2NGM5MDYzMWMwYjdiNTUwMzVmMWMwYjRhMWYyNjM3IGxlZ2FjeS10cnVuaworNjY2OTkgNjc2NTk0NmUxYWM0OWZmYjM1NGJhYmE4NWZmYzM4MjBiZjMwOTEwMSBsZWdhY3ktdHJ1bmsKKzY2NzAwIDdmMWY5ZTE4Y2RmYTMyNWFlOTU2NTI1NDcwZTIyMDU3NTk1NmQwNzcgbGVnYWN5LXRydW5rCis2NjcwMSA4NjA0NWUxZWU1OTUwYzRhMDAwNjMxZmQ2YWU2NGQ2YWEyNzRmYjFkIHJlbGVhc2UyNS1tYWludAorNjY3MDIgMWY0ZWEwMjI5ZWM2NjhjYzA1OTBiYjk1ZTYyMTk2MmZhMDlhMjkyMSBweTNrCis2NjcwMyBlZWQ0ZDUzMzMzMmYwZmQ5MDFhYjMwZDI5MmQ1ZmFmNmFhZThiOTM2IGxlZ2FjeS10cnVuaworNjY3MDYgZDMxODIzNGEwMGQ3NTg2Yjk1ZmRkMzY5MzQ0ZDFmNmEyMDI3MTVhNCB0bGVlLWFzdC1vcHRpbWl6ZQorNjY3MDggZWE1MzE2M2IwNmRlMzJhNmZiYjM5MGNiYmIxNDkwMTMwMTFhYjE3YyBsZWdhY3ktdHJ1bmsKKzY2NzEwIGI1ZmI5YjAwMmVjMzE3M2NhOWEyM2Q1NjBmMjQ2YmFjODA5NGFhOGYgbGVnYWN5LXRydW5rCis2NjcxMSBhZGE2ZDdmNzFiNWRmMDc2ZDllMGIzNmVmN2YwZWQyM2Y2Nzg4NjZkIHB5M2sKKzY2NzE0IDU4YTk4ODRkMmJjM2QzM2Y5ZGY4NTUyODU3NzA5ZGZlOTlkMTgzODQgbGVnYWN5LXRydW5rCis2NjcxNSA5NWZmZjVhNmEyNzY1MjBiMmU3ZTBmNzVmZTMwM2Y0OTM3NjU2N2E1IGxlZ2FjeS10cnVuaworNjY3MTYgYmM0Y2E4MGJiNWZkNGM5MWE4YjdlNzA3M2U3YzRkMWNjMWI0NzcwZCBsZWdhY3ktdHJ1bmsKKzY2NzE3IDU0Y2QxY2M3MGE0NzhkODUzZWY4YzM2NGEyZTAyN2I2ZmE2MDI0ODIgcmVsZWFzZTI2LW1haW50Cis2NjcxOCA3MjkyODkzZmMyYzVmOGI4NTA4MjdjZjI0ODIzMjk2MDE5ZGJmZTVmIHJlbGVhc2UyNi1tYWludAorNjY3MjEgNzQ4ZWM5YjJhZWYxMDI3YmQ5MzNkZTZmNzg5YmFiOGJjYTg4MGU2MSBsZWdhY3ktdHJ1bmsKKzY2NzIyIDlkMmYyODE4MjgzZDVlODljNDEyZGQ2ZjkyOWQ1NmRjMGRlYTA1MTUgbGVnYWN5LXRydW5rCis2NjcyMyBhNWYzMGQwNjQ5M2NiZDRjOTVkOWE4ZDZlNDZkODIxNTM2ZDY2ZmFlIHB5M2sKKzY2NzI0IDg4ZTYxODNjZGIzOGM2YmNhZmNjNjQ4MWU3NTA3YjY4OTNkOTA1ZGQgcmVsZWFzZTI2LW1haW50Cis2NjcyNSAwMzNiYjVjYWNkMGEzNDE3YmU2ZjRkNDVjMjI3NjBiZDFmMzE1MjA0IGVtcHR5Cis2NjcyOCA2ZGQ4N2RlODUwM2Q1NjUyNmNjZjhlMTVkN2JmMzE5ZDYyMTYyZjJmIGVtcHR5Cis2NjczNiA1NmQxNzg4NzQ4MjEzM2Q5YjdlNWRkMjg3YWIyMmZkMWNlYWE0ZmI4IHJlbGVhc2UyNi1tYWludAorNjY3MzcgZWViNWZhM2VmODg5YTIyMTkwYzY1NThjMmFkY2U4ZmMzNDAwODlkNiBweTNrCis2NjczOSA5Yzk3MWQ1MmEzYzM1ZmFiMmFhNjdlMzM5N2E1M2U2NzE0NjBlYmQ0IGxlZ2FjeS10cnVuaworNjY3NDAgODczZDFlMzY5NzlkYWU2N2Q5NGU0NTViNTllMjgyNTRlMjgxN2I1MiByZWxlYXNlMjYtbWFpbnQKKzY2NzQxIGY5ZjAxNDg0ZTQ4YjAyYzFkMWM4ODYxYzk0ZmFjODhiYTJjN2MwNGUgcHkzaworNjY3NDIgMDY4ZDliNjE0ZTdiZmZhYjY4ZGQyODExMmJiMGZmMTM4ZThmNDIwMyByZWxlYXNlMjYtbWFpbnQKKzY2NzQzIDhhN2M5MzBhYmFiNmEyYzI2ZWFiNjk4OTFmNDlkOGJlNDlhZmU1ZGUgcHkzaworNjY3NDQgYjlhZmE3YzljYzM1ZTE1ZmI2OGE5ZDQwMWE2YzEyZjNmNjEwMWQxYyBsZWdhY3ktdHJ1bmsKKzY2NzQ1IDc0MjZkOGQ3Y2UxYjRhNWRhZGY1OWRmN2E2NmNjZjhlZDU0NzlmYmEgbGVnYWN5LXRydW5rCis2Njc0NiAyODFiMjFjYTAzZjYzNjMwNGY5N2U5MzhmNmJkNjM4MTcwM2RiNzhiIHB5M2sKKzY2NzQ3IDAxMzg5NTI2YmEyNTU3OWUzODU1NmEyYzI4MDEwNGMxZWUyN2UwNjUgcmVsZWFzZTI2LW1haW50Cis2Njc0OCAyN2Q3ZWZhM2UxYWMwMDU1MTkyYThiZDc0MTBkNDJhZDMzNjg5Y2Y2IGxlZ2FjeS10cnVuaworNjY3NDkgNjQyZjIwYjIyNTc3OTU2MjhlNjM4YTcyNGJiMGYxMWZjNTExOTc0MCByZWxlYXNlMjYtbWFpbnQKKzY2NzUxIDg2ODkzYTM5N2RkMDUxZDRiMTUyMzVhOThlY2UyZDhiMjhhMzRjMTYgcHkzaworNjY3NTIgZjgxMmJjMmI2YTdiZmRmODcyYmUxNzg1NDJlNGIyMThkMDMyZmM5YiBsZWdhY3ktdHJ1bmsKKzY2NzUzIDk4MTMwNmY0YjQwNTAxMWUyZWMyMDVhZmRjMGUwYzViMjYxMWUxZmEgcHkzaworNjY3NTQgM2FlYWM0YTZhMmNmY2I1YWU3N2JiYTc1MjBiOTgyOWM4OTFiZTFmNSBweTNrCis2Njc1NSA0MTllNzIxYjNjYTllMjAzMDUyNjkyMzg0YWU2OWJlOWMxZDBhNmIzIHB5M2sKKzY2NzU2IDIwMGRkMWQ4MjBmY2Y0ODU5M2ZlODNiNGIyNjYwOTY5MzBlMGJkYjIgbGVnYWN5LXRydW5rCis2Njc1NyA1N2IyZDlhMjI1OTRhMTVkNTc5MDJlYmNiYzlmODFkODhjOTFkMjExIHB5M2sKKzY2NzU4IDRmNzcyMDA0YTg1ZGNhYzUyNjNmZTllZGJjNTQyNjY3ZTU2OTM2NzcgcHkzaworNjY3NjEgNTVmOTE0YWU5MGVkNjRjYTAzMDUyZWM0ODJhY2QwZDRlMTVlZmY5YyByZWxlYXNlMjYtbWFpbnQKKzY2NzYyIDAzOTEwYjg5MjY3OTFjZDY2ZGNlNDVmZjI5NWQxMGU3MGUyMTBiNTMgcmVsZWFzZTI2LW1haW50Cis2Njc2MyAyMjIzNjU2ODJjMWJlMjA2MjMzYTE4OTcyY2FjNGVkN2E1OGYzOGY5IGxlZ2FjeS10cnVuaworNjY3NjQgMTA5MTAwOGYyY2JkMDdkNGE2NzQ4MzQ1NDgzMTdmMDMzNGVjM2ZiNCBsZWdhY3ktdHJ1bmsKKzY2NzY1IDI4M2U1NDI2NGMwZDY3ZmU0ZGZiYWQyNjE4MDhmMDAwYjRmNzI4OWUgbGVnYWN5LXRydW5rCis2Njc2NiBmYTA0MGQzMGNmY2FhOGE2MzI3NjU5OGVlZWFiN2UyZmIyZmYwN2Y3IGxlZ2FjeS10cnVuaworNjY3NjcgZThlMTk2Mzk3ZjQ1NzFiNGIxZDYxZjFhZmQ2MTYxMmIxOTk5ZjI3MCBsZWdhY3ktdHJ1bmsKKzY2NzY4IDc0OTgxZGM4MzlmZDIyZmZmYTY5MDZlOGY4N2E5Zjk4MzA2NjRlYmUgbGVnYWN5LXRydW5rCis2Njc2OSBlODIyOTkyY2Y2Y2VjY2NmZGY4YTI0YjgxMjI1MDAyODE5YTJmYzRjIHB5M2sKKzY2NzcwIDhlYzg0OTc2MDRjNzdlN2Y1NTQxZDk4ZjQ2ZmQxNzlmMjA5YWQyMGQgcHkzaworNjY3NzEgYThmOTU5NWI5ZjU1MzZkZDk3OGEwOTk3ZDU2ODJiN2Q4OWVkNTM4ZCBsZWdhY3ktdHJ1bmsKKzY2NzcyIDA4YzQ4ZWEwNTA0NWJiMDNmYWQwNjVlNDU5MDYzNGI2YWVmNmUxMWUgbGVnYWN5LXRydW5rCis2Njc3MyBiZjgxY2I4ODkyZjUxY2U3MzYzZTk4OTM0Mjc0NzNkMDJlOWFiNTY4IHB5M2sKKzY2Nzc0IGI1ZjM5YzhhNDQyMzllNGNjMGZjMzc0NGQ3ZTVjMDQzZDgxYmFhNDkgbGVnYWN5LXRydW5rCis2Njc3NiBmNWI5YzZmNGM1OWM3OTA1ZDAwNWMxMGZjMTc3NTE1OWRhOWJmZjBjIGxlZ2FjeS10cnVuaworNjY3NzcgZWY0YmI0ZDVkZmRlOTdhNjVjYThjNDcyZmFkODgyNjc2NTJjZmE1NCBweTNrCis2Njc3OCAwYjFkYjI0MmQyMzJlNDdmN2U5NWVjNTE5NGM2OTk4NjYxMGMzOGEwIHB5M2sKKzY2Nzc5IDg0Y2NmOTFhMDZjYzU0NTJhNWY4YzczNzRjYTU5MWY5NGM1YzIwMjggcHkzaworNjY3ODAgOGE4OTJjZjI1ZTdhYTZiMzVmNWEzMjUyMWNjMmIzMGVjOGU3YTk0MSBweTNrCis2Njc4MSAxNmExOTRkYTc3ZGU5NmU1NzdjMjdmNzE0NmNlMWUxMGNiZTc2OTMzIHB5M2sKKzY2NzgzIDg0NDJmMTM3MjBhNGRjMGU2OTY1YmQxNGU0ZTcwNzQwYjY2MmNlMjMgbGVnYWN5LXRydW5rCis2Njc4NCBiZTJmODViZTU2NmU1MTYzMjNmYjRjN2UyNjEzZDJlNTY2MGQ3MjYzIGxlZ2FjeS10cnVuaworNjY3ODUgYzU2ZmJiN2MxNjg5Y2E4YjBkOWE0N2ZkYWFiN2JjZTI4OGE2ZmQ2NSBsZWdhY3ktdHJ1bmsKKzY2Nzg2IDg4NWZkZjU5NzBjYzU2M2E1YzBhYWE2ODQzOWRiODBjNTJjMTE3MmEgbGVnYWN5LXRydW5rCis2Njc4NyBiMjFkZTA0MjEzOTVkNTA4MzI0NzI2ZjkwMjlkYzg3YWU4OTUyYjE1IGxlZ2FjeS10cnVuaworNjY3ODggNTgwOGE3YWUwM2FjZDkwN2YwOTAwYmRkMjIxNWI1OGFjYjBiZWM4ZCByZWxlYXNlMjYtbWFpbnQKKzY2Nzg5IDM1NmU4OGQ0YWYzMDIzYzdiZWIxNmI5N2Y0YzI0NmNkNjcyMjUwZjkgcmVsZWFzZTI2LW1haW50Cis2Njc5MCBlNTkxZTc1ZTgzYTJmMWYwMjcwMmM2YWIzNjliYWUyOWJmNjUzYTNjIGxlZ2FjeS10cnVuaworNjY3OTEgZjIxYTNkODU4NWM2NTU0NDlmZGRjY2EyMTJkMWFlNDQ0NTkzOGI5NSBsZWdhY3ktdHJ1bmsKKzY2NzkyIGFmN2EzOTlmYzI3MjIyYzIwNjczYTE2MmIwNzJjZGM1MjdmNjMwYWUgbGVnYWN5LXRydW5rCis2Njc5MyA5ODRhOGJjNmQ5NTZmMzU1MTQ0NjA3OTJkODM1YjI3M2M0NjdiOTdmIGxlZ2FjeS10cnVuaworNjY3OTQgZjczMWYwOWVhODM5NGM0ZTQ4YzM1OWE2ZDk5MWJkOThiMjc4ZjJkMSBweTNrCis2Njc5NSBhYzMxNmYyNTIyOWM5MjA0ZTI2N2NmYTIyYjk2ZjhkYWZmODc2NzlkIHB5M2sKKzY2Nzk3IDczY2UzYTExMDQ2ZmJkYzAwOGJjYjM0ZWU4MWM0OTM4OGRkMmM1NzEgbGVnYWN5LXRydW5rCis2Njc5OCBmZjVjM2RkNjhkMDdjMzg4YWFkMmYwOWJhZDBiYzY2NTMyZmUyNDUzIHB5M2sKKzY2Nzk5IDA1NjA0NTU1YjhkNDAwZGJiYjE3MmY4NGYwZjJjNTg0OTRiZmY3MWYgcmVsZWFzZTI2LW1haW50Cis2NjgwMCAyZTc5NDc1N2JkYzg0YWI3OGFkMzY0NjdmNjkxMGYyMzI3MTk1NWJkIHJlbGVhc2UyNi1tYWludAorNjY4MDEgZTA5NmM1MmNkNWNhOWExM2U1MTk0ZmNkMWUyY2ZkMjVkN2UyMDA0MSBsZWdhY3ktdHJ1bmsKKzY2ODAyIDhmNWE4ZWE1YmE3NmVhYTNmNWZiNjkyMWYzNzhjMjhiMTFiMjA0OTYgcHkzaworNjY4MDMgZGE5NTVjMzM5NjViNDkyMDMyNTBkZjNhNWQ2YmEzM2JhNTNiYmNmMSBsZWdhY3ktdHJ1bmsKKzY2ODA0IDM1NmExZjZlZjM0ZmQyODc3YWVkOGM3YWY3ODJjOTg1ZTljYWQ5YzQgbGVnYWN5LXRydW5rCis2NjgwNiBjNWIyN2RmNzlkN2Q2ZDliZjZiMjU3NjIwMTBiYmE0MzBlNmMyY2NhIHB5M2sKKzY2ODA3IGMwNDc4NjUxNDYwZmNhZmQ3YThlMTliM2U0MDFlMjZhNThhYzM3ZTIgcHkzaworNjY4MDggOWU0MWM1ZTdlMzYwMTk5NjliMGIyZWQyM2Q0ZDVhNjZiOTRiOTI5ZiBweTNrCis2NjgwOSA1MjRhYzc0NGFlMDQzOTY2NjQwMDkzMDlmMTBhZmEyNjhiYzBlNDU0IGxlZ2FjeS10cnVuaworNjY4MTAgZGM5NWU0NmYxZjNlODlhOWJkNjIwZDM0MjdlNjI4NTAzMzIwOTI1NCBsZWdhY3ktdHJ1bmsKKzY2ODExIGMyZDAxOTZlYTU4YmQ0NmJlZTM5MDg0NzJjZjI5OGU2YTE5OWQ3NTAgcHkzaworNjY4MTIgMDJkZDVkYjYyOTBmNDViZTJlZWExZWJkNTczYWU5ZmNiODkxZTQ1NSBweTNrCis2NjgxMyBjOTMzYzg0NjdiZGRhYWVlYmY0YWZjMmYyM2I5ZmE2NDhlNTcyM2VkIGxlZ2FjeS10cnVuaworNjY4MTQgYzljNzhlMDBkZjY3M2U2NDM1NzNlNWJjNWIwMzRmYjQ1MjNmMzgyNiBsZWdhY3ktdHJ1bmsKKzY2ODE1IGM1YWU5MzJmNjNjOWRhMzQ4YjZhZDUyOWY5NTk2YzljZjk4NjEyZGEgcmVsZWFzZTI2LW1haW50Cis2NjgxNiBmNTExNWMxMzJkNGFhNmI0ZDkxNzA1MGQ4MDUyNGMzYzZlNTQ3Zjc4IHB5M2sKKzY2ODE3IGRmZTMxMGE0MDI0NThkMTE2NmI2YjBiMTRmOGJiZjkxYzk0MTRhMWUgcHkzaworNjY4MTggN2FlYzAwMDE1YTllMTU4OTRkYmRlNDljZmQyMmE4M2I1NmUzNzc5MiBweTNrCis2NjgxOSBkOGI0YTYxYWJmMjVmNzE1YWUzYTY2OTYwMzE0ODU2ZWExZDYxNDZlIGxlZ2FjeS10cnVuaworNjY4MjAgZGJkMmIxODE3YTc1ZDQyOGYwNDIxZjY4ZmQzYzYyMjM5MzJiNmJmMSByZWxlYXNlMjYtbWFpbnQKKzY2ODIxIDEyNTk4NGI3MWE3NjhlMjAwNTU1ZTg0YTIzNWRlNmJkYjIzYjdmOWUgcHkzaworNjY4MjIgZTk5MTUzOGI5YTg3NmM3NzRlNjA5MDg4NzFiZGM4MDg2ODZhODA5OSBsZWdhY3ktdHJ1bmsKKzY2ODIzIDljN2VkNzBhYTJjM2ZlNGY4Y2Y0Yjk0MGJlMDE0MTIyNjMyMzc4ZGEgbGVnYWN5LXRydW5rCis2NjgyNCA3ZWZkZGFlNTBkMjU1MDM5MTUyMWVjMzYzMjk5MDMyYWIwZThlNTQ2IHJlbGVhc2UyNi1tYWludAorNjY4MjUgNjY3OWMzMjUyZjliMGViMjVkZDgzMmNiMzhkMTA2NTc0ZjE2NzliYiByZWxlYXNlMjYtbWFpbnQKKzY2ODI2IGRkOTdkYzc5YWUwYTA1ZjE0YjdkZGMxODM4MGU0YzU5ZGU0ZWRkZTAgcHkzaworNjY4MjcgOTE1ODc4MThhZGI4MzgwNGEwZGVhZGFkOGM2NTdiMTgzNDMwZmIwZSBweTNrCis2NjgyOCBkMjE0MGRlNzY0Nzk0ZTdlNGYyYWIwNDU4ODgyNWEzOTRmMjI2OGE3IHB5M2sKKzY2ODI5IDFjOTgwNTU0YjU0YjJjMTBkNGJiN2VhODA1YmQ0Zjk1ODkyZDNmYjQgcHkzaworNjY4MzAgMGIyZjc2NWJhNGY3NzVjZjU5Y2Q1ZTQ4YTVjNTdlOTJjM2M4NjQ1MyBweTNrCis2NjgzMSA4MjA5MWRmNjUxYmU3YTkxNzY3NzcxOTMxOTM3MWZjNWZmMTMxMWY4IHB5M2sKKzY2ODMyIGNiNzg4ZTA4NDRlN2Y5ZDA4Mjg1NGEyM2ZkNTQzMzMwNzM0M2ZhMDQgbGVnYWN5LXRydW5rCis2NjgzMyBjZTdiOGMzMTdkYTIwZjhhNzQ1YTUyZjkzNjQxNTAyNzdlZGNlNzBlIHJlbGVhc2UyNi1tYWludAorNjY4MzUgZGVlZjI4NDgyMmY3NWQwN2E5MjhjMWE1MjVlODYzNzY1NjE2OGIxNCBsZWdhY3ktdHJ1bmsKKzY2ODM2IDIxMDYwYTU2ZGVmYzg4MWU2NzdhMTFkMTEzOTNhMWQwOGI0MjE3NWQgbGVnYWN5LXRydW5rCis2NjgzNyA2ZTdiODUzZTg2MTYwOTMzNDI3Mjc4ZGIyNzNhNTVmZDBmZTA4ZDdmIHJlbGVhc2UyNi1tYWludAorNjY4MzggMWU1YjIwNTBlYzZhY2Q0ODJmODk5M2E2MTUyNGRjNDRmMmVmNjhmNyBweTNrCis2NjgzOSA1OWRhYTdjZjhjYTA5Nzk1MmQwOWRiODUzM2E4YmQ4MzdiMzA1OGJmIHB5M2sKKzY2ODQzIDY5ZWExMmRiOWIyOGI1OTgzMjJkMWM2NTdhZjY2NWI5ZjI3M2RlNjIgcmVsZWFzZTI1LW1haW50Cis2Njg0NCA4NjBmNjI4NDhhZjAyZmJkODM4NTU3ZDI4MDVlMmMzNmVmMzIxMTk3IHRsZWUtYXN0LW9wdGltaXplCis2Njg1MSAwMjA1Y2YwYjFhZGI5ZmJlM2NiN2RlZmFkZTMyOGRlNWUxMjFiZTY0IHJlbGVhc2UyNi1tYWludAorNjY4NTIgOTRkMTdjZjNkOGJiYmUwMjQyZDIyZTQ4NDkzMDI1MGU5ZmJlZjgzZiBsZWdhY3ktdHJ1bmsKKzY2ODUzIGI0ZmNiMmY0NzEwMWNiYmRlMTMzY2Y1MGFiMTRiN2I2ODZkMjRjODQgcHkzaworNjY4NTQgNDg0NTgxMGY1ODhlYTI4ZjA0NzAzMDMzZDA4NGM5ZWUzYTc1YjM5MiBsZWdhY3ktdHJ1bmsKKzY2ODU1IDU3NWY2NWYwMGM2YzA5MjNjMGIyNmVhOTNmMGMzMWMxNDhlNGFmMGEgbGVnYWN5LXRydW5rCis2Njg1NiBkNGI2MTNkYTM4ZGNjZjY4OWI1MTg1NjAyNDc1YWExOWJiYmYxNmI0IGxlZ2FjeS10cnVuaworNjY4NTcgMmJmMWMxYmQ4ZDk2ZWIwZWFmMjhjNjVmYjY4Y2MxMWViOTkzY2VjZSBsZWdhY3ktdHJ1bmsKKzY2ODU4IDljMGVkNGFlY2ZiZDkxZDNiYzgyOGY0YWJiYWU0ZTYxOWExZmMzMWYgcmVsZWFzZTI2LW1haW50Cis2Njg1OSA1MTg3NmE0MDNjMGRmOWJjNTY5NzA1YzdiOWIyZWU3Yzg2N2FjNzBlIHJlbGVhc2UyNi1tYWludAorNjY4NjEgY2U2NGNiYTUxYzJiN2Q5ZTNjMDZjNTU5MmI1ZjA0ZGE1YzE4OGZhZiBsZWdhY3ktdHJ1bmsKKzY2ODYyIDBkYTNjMzBmZTliNTIzYWFmMTdjNDMwYjE4YjYwZWI3MDlhOTc4YTcgbGVnYWN5LXRydW5rCis2Njg2MyA1NTBkNzUxNjBjYzRmNzM4MWI5YjUxZjI1ZGZlMDU1NmJkNDMxNDMwIGxlZ2FjeS10cnVuaworNjY4NjUgYTAyNThiYWVkMDA1N2MwNjUzNTQ0MTcxZjliN2U2MTUxMTlkMGQ3NyByZWxlYXNlMjYtbWFpbnQKKzY2ODY2IDBlMzU5YWZjMDY0NjgxMjUzZDAxZDA0Y2E0ZjBkNjczMjE4MDczNjUgbGVnYWN5LXRydW5rCis2Njg2NyAwYjdlMDIzODAzZmIzNzJlMDQ1MjUxZDNiZjE4NTZjMDQ0NWFlNjA3IHB5M2sKKzY2ODY4IDJhMmNkYjI4NTY1NmRlMmYzZjY5MzNmNTk4MzYzYjI1ZWRjMThhOTUgbGVnYWN5LXRydW5rCis2Njg2OSA2NjVmYTA1NjMyZjdhYjY4M2NjNGZjNTQ3YmQ2Nzk3YWFhODczODhmIHJlbGVhc2UyNi1tYWludAorNjY4NzAgMDhkNmRkNjg0YTZiMzEwZjNkNGUxYjgzOTc5ZmNiM2E3NjZkY2Q3MSBsZWdhY3ktdHJ1bmsKKzY2ODcxIDNkZDE2NTFhZjM1ZGQ0YmNiMjU4ZWYyOGJkZDM0ZmZjMDQwNmI1ZGQgbGVnYWN5LXRydW5rCis2Njg3MiAzNDJmNzAxODllYTllNWI1OGZjOTc4NTA5ZmUzMTk1YmMyYWIzZTNiIGxlZ2FjeS10cnVuaworNjY4NzMgYzBhYzQ3OTg0YjExMDRkZGJjMGEwNzQwZmVkNDcyNzJiYzY5ZmY0NyBweTNrCis2Njg3NCA3OTZiMWJiOTU1NGNiN2VhNjI1MjU2MTEwYmQ0YzVhMWZkYzU4OWU5IGxlZ2FjeS10cnVuaworNjY4NzUgNWEwOTIxMDFmMDY5NjNlMjUwZTViZjE0Yjg4OWQ5NTY1YWU3OWFjYiBweTNrCis2Njg3NiBiZGY0ZGE1ZDA0YWQ5YmU1MzU4YzBmNGEyYWQ1NWVkYmM3YjFjNDE5IHB5M2sKKzY2ODc3IGQzZGUwODJjYTAzMTRhOWVhNGIxOWM5NGRiZWEyMzNmZWNiZGQ0ZTYgcHkzaworNjY4NzggZTY3MDJjMWEwN2Q3NTJiM2VlNTk0N2I4MWYzMDcwNjQzMzZmNjgzNSBsZWdhY3ktdHJ1bmsKKzY2ODc5IDE4NzAwNGRmNTc5Y2IwMjEwZDc3MTg4YTNmMDVmMjlmMGU1NmVlZTIgdGxlZS1hc3Qtb3B0aW1pemUKKzY2ODgwIDk5Yzc4ZDYwYmUxMjVlM2UzOGUwNDA4NTk1ODU2MTMyMjBjMjVjM2YgcHkzaworNjY4ODEgMmYwZDczODRjYzFjMGE4MzNkMWJlMWU4YWY3YTJjNjJmZGI3ZmNmYiBsZWdhY3ktdHJ1bmsKKzY2ODgyIDA4YTNlNjhmMWZjYmIxMWNiNWEwNDY4OTQxY2Q2YzJjYjBiMDZkY2QgcmVsZWFzZTI2LW1haW50Cis2Njg4MyA3MWZhN2QzY2M0YzU5ZGJlZjc2NzM0ZTk4NmIxNjg2MWU5NGJhMmZhIHB5M2sKKzY2ODg3IDlmZGY4ZDhkZTI4NzVhN2Q1NTZjOTU0MGZjYjM3YjI5OTZjM2ZhMmQgbGVnYWN5LXRydW5rCis2Njg5MSA2MmMyNGQ0YTFmOGY2MjA5YTAyY2JkZGFmMWEwMDA1N2M3MzM3OGU2IGxlZ2FjeS10cnVuaworNjY4OTIgZTFhODhlOGI5NjQ5YmZhZTdlZmJmNzkwZmFmZjk2NzZhMGFjNTYyNSByZWxlYXNlMjYtbWFpbnQKKzY2ODk0IGIwOWU3MDUzYjQ3MmMzOTVlMDVhNGFiOWI0ZWY1YzljODM5OWFhZWQgbGVnYWN5LXRydW5rCis2Njg5NSA1ZTY2NjMyODZhYmM1N2M5YjhjYTI1NTUwYjEyYzU2MGNhNTQ2OTI5IHB5M2sKKzY2ODk2IGFjODZlOTUzNTU4ZjQ0NmNkNGZmNjZiNDEyODJmMzNmYmM2Mzg5ZTYgdGxlZS1hc3Qtb3B0aW1pemUKKzY2ODk3IDBmMGMyMjgzNTgzZWViODcxMDJjMTcwMWNiNjdlMzIxMjc5ZTIxN2YgcHkzaworNjY4OTggMjMyYTIyY2ZkZWE4ZmE5OTNmYmE0NTdmODg2MWJlZDYxOTIwNWU0OSB0bGVlLWFzdC1vcHRpbWl6ZQorNjY4OTkgODRmMDE3NDIwYjliOGUxYjZhOTE0MTkwMTA5Zjc1ZGY5MTY1NTdiMCB0bGVlLWFzdC1vcHRpbWl6ZQorNjY5MDAgYmI1MTE1OWU3MWRmYzMxNTJlMDNhMmIwMDI2MmE2MTAzZTg0YTJjYSB0bGVlLWFzdC1vcHRpbWl6ZQorNjY5MDEgZDE3Y2ZlZTRmMjNkZWZiZWE1MzZlNjA1MGFmMDQ5NDM5NzBjZWU4MyBweTNrCis2NjkwMiBmZGNjOGEzMTM1Mzc0NDhmNDYwYzI0YmVjNTljYWJkOTM3Yjg5Y2Y5IGxlZ2FjeS10cnVuaworNjY5MDMgNDA5ZGFiOGIxZDM0NDk2OTkxZjU5MmFlYTA4ZjJkMDJjMjgzYmI0NSBsZWdhY3ktdHJ1bmsKKzY2OTA0IDQ4MTk0ZDdhZjMyZjAyNjgxYTc3NmYwZWNlNzY3MjdkNTdiMmU3ODcgcHkzaworNjY5MDUgMGFkZjZiZGIxNzBmOTczY2E1N2FlODA3ZmRjMzkxODY2ZDY4MThmNCBsZWdhY3ktdHJ1bmsKKzY2OTA2IDQ3MzdlNWRmNTBmNGQ3ZmU5ZWE4MmI2MzA3MGYxY2FlNzYzOWQ2MTEgbGVnYWN5LXRydW5rCis2NjkwOCAyYTEwOTZiNDgxN2EyZjZmZTJjNGQwZjAzZTdlNzFkZGY2ZDU3NDNmIHJlbGVhc2UyNi1tYWludAorNjY5MDkgNWFmYzlmZmE4MGJiNzllZjZiMmJjMTNjMGIwNDJjNjM4YTJkOGRhNiBweTNrCis2NjkxMSAwMTExMWM0MDYxNmY1OTBiOTFmMjliMjliYTAyY2FkODhlN2RkMzEzIGxlZ2FjeS10cnVuaworNjY5MTIgOTJkMDg5MDMzNWMyNDk0OGNhMzBjZTFjYjM1YWU2YmYxZWE4NWZiZiBsZWdhY3ktdHJ1bmsKKzY2OTEzIGI4ZmM3OTBhMjdhZWM4YjY4YjM4YjgwMjBhYjRmYmZiNDM3YjNiNmEgbGVnYWN5LXRydW5rCis2NjkxNCA4ZDJhNjk3MTFhOTdjZWQ1YmIwNDNhYmU0OTljMTdjOTNjMzFiODVkIHJlbGVhc2UyNS1tYWludAorNjY5MjAgZDA2MTllMjEwYWM0MmZlMDk3Y2MwMjUwYzhiY2NkMGI0ZWVhM2MzNyBweTNrCis2NjkyMiA2OTM4MjE5ZGM1YTY0NjQ4N2JmZWM4Mjk2MDlmM2IxNzU3ZWNmMGM0IGxlZ2FjeS10cnVuaworNjY5MjQgZDdhNzI4NDIwYjAzYTdiMzdlODE1YjNkOGU0NWQ3N2EzMWNjNjkwOCByZWxlYXNlMjYtbWFpbnQKKzY2OTI3IDE5OTI4ZTQ1ZDE4YjIxN2JlYWQ5NDM1YTU0NzA5ZGVmZTcxNGFjYjMgbGVnYWN5LXRydW5rCis2NjkyOCA5ZGVkZmI4ZTU2NWM0NDVkNTM0ZTE3MmMwYTk0OGZhMmM4MmI1ZGFjIGxlZ2FjeS10cnVuaworNjY5MzIgM2MzYWJkNWZjODMzOTIzNzI0NzJkM2QyZGNhMDM1YmFjZjA4Mjc1MSBsZWdhY3ktdHJ1bmsKKzY2OTM0IDAwZTQ2N2RiNjE4MjU0MzZiZDBjMDU4NTk5OTlhMGJhOTIzMTIwNDggcHkzaworNjY5MzYgYTU3ODE0N2JiNWMxMzA1NTk0ZjJlY2IwZjRjOTg1ZmQ1NDk3MzA1MCBsZWdhY3ktdHJ1bmsKKzY2OTM4IDQ2MjI1MjExZTUwM2ExOTU0YmM4MDYxYmFjMTJlZjQzMTcyNzE0NjkgbGVnYWN5LXRydW5rCis2NjkzOSAyNDFlMDMzNzFjN2U0MjYzMmUyN2VmMzIyMjFjZTU3ZDE4N2IwMmRiIGxlZ2FjeS10cnVuaworNjY5NDAgNjAyNGUwY2FiYTY0ODAyYWQ5MzJiZmNjZjFlOTU3ZmEwZjRmZTk2NSBsZWdhY3ktdHJ1bmsKKzY2OTQxIDRlMmU2ODg0ZmQyODg3NjIyYWFlYmY5NTliNjEyZjI0N2RjZDVhMjIgcmVsZWFzZTI2LW1haW50Cis2Njk0MiA4YTg5MTMyYjg1OWYxZWI0YzI1ZDJkODQ3YjVlMzJiMTIzMjE2Yzg4IGxlZ2FjeS10cnVuaworNjY5NDMgYTUzYmI4MzMwYTY0YzUxYmNjMGE0OGQ2OGEyNDZjZGU0MDYzNTNlYSBweTNrCis2Njk0NCA1MGM4ODZkYWVkZjBkODE1ZDY0OTk1ODI2NWZjMmZhYjI2OWQyM2RjIHB5M2sKKzY2OTQ1IGNhNzIyNzFjNjI0YzJkZmJlYmMwYjYwMzJmMDFiOTI0MTNjMTRjMDQgcHkzaworNjY5NDYgMmEzOTEwYThkYzM3N2FmYWRjMjFiMWVjNDFiYWM1ZjE2MjhmZTkzYyBweTNrCis2Njk0NyA0OTFlZDgwYThjYzE1MTAzMTBmYzMxMmUyNmIzMmZlODNmNzg5NDZjIHB5M2sKKzY2OTQ4IGNiYzNhZmMxZTQwYTIwOWQ4ZDQ3MDJmZmQ0ZmVkMGEyNDQ3ZDA1N2UgcHkzaworNjY5NDkgMmMzYTZjOWRmZjYyZDVjOTYwMDY3OTI3NGM5Njc4ODBhMTViYjM3ZSBweTNrCis2Njk1MCA2NDVmZTU2YzExN2FhNjNmOTFmMGMzNDkxOTc3YTA1ZDgxZDkzMDcwIHB5M2sKKzY2OTUxIDQ4MWFkM2Q5ZmZkMWI2OGRmOGRhODU3OGUyNTc5ODE5NjIzYjZmMGUgcHkzaworNjY5NTcgZjY3ZGU2MWMyY2ZhOTIzODgzZWM0MmUxNzNjZDE3Zjc3MThkY2MzZSBweTNrCis2Njk1OCBiNTU1ZDRkOTU3NWM0NThlOTdjMDVlOTViOGNjMzZhMjc2M2Y4NTg3IGxlZ2FjeS10cnVuaworNjY5NTkgNjZjNTQ1Zjc5NjI2OTMyYzFhYmEzYmJmY2UyYmEzZjgxMTExMzYwNiByZWxlYXNlMjYtbWFpbnQKKzY2OTYwIGRmY2U2MmFiMDdiYTBhMWY2Y2U0NzI5ZDA2MjA3Y2FhZDBlZDM0NGQgcHkzaworNjY5NjEgODNkMDk0NWVlYTQyMjg0MDkyNjc3NWI4NWVkZGYzM2U2MTRlNzYyOCBweTNrCis2Njk2MiAwMTIxZGYzY2Y1YTAxMmMyYjgwNjBkZWVhYzdmODMzNGZjZTE1ZWVhIGxlZ2FjeS10cnVuaworNjY5NjMgYmMxZjQzMjUyYzkyMjBmOTJhNjAyZWU1ZDcxMzY1MDk0MDFmYzIzNiBweTNrCis2Njk2NCA5NmU3ODU0ZDdjNmUxYTEyYjJhZWM1ZWI0OGQzYzZjZTM3MGM3NDkwIGxlZ2FjeS10cnVuaworNjY5NzAgNjg0YmY3OTkwMDk0YmNmZjFkMzg1NGQyM2Q1ZmU0MDhkYWNjYzg5NiBweTNrCis2Njk3MSBlODg0MWMzNDY2NTE5NDcwZDQ1MGEzZjQ4YWNkMDBkZWQzNjQ0YWI2IHB5M2sKKzY2OTcyIDU3ZTJiNWM0NTc5NWE4MDUwZTc0NTAzMzUzMDQwN2MxZDM5YTQwOTMgcmVsZWFzZTI1LW1haW50Cis2Njk3MyBkYmQ1NGJhYzBiNmY3Y2ViNWE5YTFlMTRkMzlmZGYzMmE3MTVmYWFiIGxlZ2FjeS10cnVuaworNjY5NzQgMmUzOGNhNzA5YjFkMjk2YzdmZmE4MjFmYjAyZWJlNzMyMjZhNjljYyBsZWdhY3ktdHJ1bmsKKzY2OTc1IDNmZjdiYjgzMDUxOWMyN2RlMTVmMGQ3YWExODUxODAxMmY5ZWNmYWIgcHkzaworNjY5NzYgMjZiYzBjZDAxMDhiNDViNmRlZjA5NGM5MTM2OTNkNWRmOTQ2NDUyZCBweTNrCis2Njk3NyA2Y2RlMmEwNTFiMjc5ZDIxMGM1NjYwYmJlMGNkMjZhODNiODhiZTc2IGxlZ2FjeS10cnVuaworNjY5NzggODliYTAxYjYxNGVlZDMxODA2OTgwYmQyMjkwMWJlN2E0MDdmMjZiMiBweTNrCis2Njk4MyA4N2VmODk2MDgyM2ExODQ4MTZjZWY2NWU1MTUyNTUyYmE1NjM1OTYyIHB5M2sKKzY2OTg0IDg0OTZmNTQwM2E4MjI1MTA3MDY2YjE3ZDI1OTc2YzE3ODY2NzkzMTYgbGVnYWN5LXRydW5rCis2Njk4NiA0MTUxMzdkMGUyMGE1MjdmZTMxYmNmYjRjY2MyM2JmYjdjMjEzZGVkIHJlbGVhc2UyNi1tYWludAorNjY5ODkgYzIwOGY1YzFlNGZlN2I3MzJiMjQ1NmUwMjllYjgzN2U3YWIzMmU2YyBsZWdhY3ktdHJ1bmsKKzY2OTkwIGMxZGNmZjc1OTc2ZTA1NDZiZjc2NGQ4MTE5MzMwNWRhNTk0YmMxZTAgcmVsZWFzZTI2LW1haW50Cis2Njk5MSAxZWIxNzEyMmI0Y2NiN2RmYzViMTZkYzFmMmM2NDhmMGIzOWVjMmIxIHJlbGVhc2UyNi1tYWludAorNjY5OTIgODBkMmQ0NjdmMjM4ODZkN2Q0Zjc1ZmVlODQwZTM3OTc4OTA4NDY4ZCBsZWdhY3ktdHJ1bmsKKzY2OTkzIGRkZDBmOGNjZTU1Y2QyMDgyYTU1YjliNjJiYWM3OGYwMzg3ODcxNjAgcHkzaworNjY5OTQgMGFmYTczZDRiZjk5NDc4MTMzOTFkMTUzN2EyMzc2YzY0MmFkZDk3YyBsZWdhY3ktdHJ1bmsKKzY2OTk1IDEyNDk4NDBhNDJiMmRhZWEyYTVkNzY5MDU3ZDc2ZTFiNzRiZjI5YjUgbGVnYWN5LXRydW5rCis2Njk5NiAxOTY4NzgzMDMzOGZiYjBkYTY5N2UxNjdkNjE1NzU3MGY5Zjk0Y2EwIGxlZ2FjeS10cnVuaworNjY5OTcgZGY3NDIyNDYwNjYwNjg5MWI2MTJiMTZjMTliMGQxNzNkODVmNjgxYiByZWxlYXNlMjYtbWFpbnQKKzY2OTk4IDU0NzlhODc3YmEyODI2YTBkMDBiOTVjMDFhOWZiOWUwZGMyZGIwY2UgbGVnYWN5LXRydW5rCis2Njk5OSBkODQ3YzRmYjdiMzk5M2I2YmM0OTZiNjY5ZWI0M2FhM2UwM2NhMzU2IGxlZ2FjeS10cnVuaworNjcwMDAgNzEyODRlOTE1NzA2M2JhN2U5NDFjOWRjMDc3YjNmMDhhOGVjMDE2MyBsZWdhY3ktdHJ1bmsKKzY3MDAxIGM2YzMyODQyZTcxZGM0Nzk0MjViNDgzNjdlMzQ1YjQyN2ZlYjUxZjAgcmVsZWFzZTI2LW1haW50Cis2NzAwMiA3MTRkM2MxNDQzYTc0NmQ4ZmFlMzE4NDFiZTJkYzY3OTQ4YTA4MDBlIGxlZ2FjeS10cnVuaworNjcwMDMgYmJhYjExY2RiMTc1NjEwMDY5ZDFmMzEwOThkZTIyYzNjOTcwODkwNSBweTNrCis2NzAwNCAwNTcxNWYwY2Q3ZTc3OTQzNGMzN2U0MmZkOTI2NDM4ZDQ4NTI3ZDhmIHB5M2sKKzY3MDA1IDg5YWU5ZDdkMThkN2JjZGVmNjJhOWYxODhjZmFhZDEyNjAzM2U3NzMgbGVnYWN5LXRydW5rCis2NzAwNiAyYTg1ZTVjOWUxZTJhNzdmNzhiNzNlN2NmY2ZiNGJmNzRmNjVkMGIxIHB5M2sKKzY3MDA3IDYzZjNmMDQ1ZmU0OGEwYzY0YTEyODI5YWVjN2I0ZTE3YzJmN2U3NzggbGVnYWN5LXRydW5rCis2NzAwOCAwYmMyY2QyZDk1OTgyYjMyNTlhYjE3MDRlOGIzNDBlMzJkZTlmNjBhIHB5M2sKKzY3MDA5IDhiNjVkMTNjMTc3YzZiZGE4YzA0Y2U0NmEyNGVkYjM4OTNjMTZkNDQgcmVsZWFzZTI2LW1haW50Cis2NzAxMCAzMWE2OWVkMDlmYmI0MGUxNGYxMmE1M2YxMThkOWQxZDA5NWU1YjQ2IHB5M2sKKzY3MDExIDg0MjBhZjZjMzNlZGQ5MzNkYWE5OWNhZmY5YjhhZGM1YzA0YWI5ODIgcHkzaworNjcwMTIgMmEzODc3MWNlY2RkNWFkMzc0MjE1ZDY4NmUwYjFkNDdhYzY0OGVhNiBweTNrCis2NzAxMyA2NjM0NTMwYTA0ZTAzNDUyMWEyZmQwMDEwNjU5YjY5NTc4M2FiN2RkIGxlZ2FjeS10cnVuaworNjcwMTQgMWE0ODdhYjBkNjViNzQyOWY1ZjE3MDExNzk5MWRjMjA1OTNhOWIzMCBweTNrCis2NzAxNSBiYmUzNzMyMjEyZDY0ZTZmM2IwMDA2NWM0MTFjMDRjMjI3MzNiN2QyIGxlZ2FjeS10cnVuaworNjcwMTggZjY2Njg4ZTY5ZjY2YmY1ZWIyNWRjMzZhM2E3MzMyY2EzOThlNTVhYyBweTNrCis2NzAyNiA0YTc0NTkwZjM4ZGE1YjIwZDRkNTdiYjAxMTliM2MyODYzZWMwNWYxIHB5M2sKKzY3MDI3IGRmMmJiZGU5Njg4MDJkOWNiYWI2M2YxMzdhZThhNWFkYzQ3YzMzYWMgcHkzaworNjcwMjggMTk1Y2Q3ZWJmNjJjZGJjMTU1NmY5ZWE4ZjU3ZTBjZDE2NmE5MGY5MiBsZWdhY3ktdHJ1bmsKKzY3MDI5IDg2MDczN2M5NmU5NzgyYTIxZGM0MGRjOTM1MDE0ZDdmNWEwYWIzOTQgcHkzaworNjcwMzAgYTU3NjhiZDYyOTM4YjlkZjljODVhMmEwYjBmMjNjYjQ2N2YxZTRhNyBsZWdhY3ktdHJ1bmsKKzY3MDMxIDBhMTg4YTJkNTA0ODgyYWEyOWJkZTA0OWMzNGIyNTc4YTQ3ZWEzNDQgbGVnYWN5LXRydW5rCis2NzAzMiAzMGMwYjI2NmFmMDYyYzE3YzY4MTA2NzI3MjY1YmMzNWZmZTZkOTFiIHB5M2sKKzY3MDMzIGU4MGQ5ZTZlMjZiYmQxZjYxNzFhN2UxN2VmZWE2N2YzNTc3NmQ5N2EgcmVsZWFzZTI2LW1haW50Cis2NzA0MCA0MGZkNmVmMGVhYThmMzNiY2VjZTMyMDMyZDIwOTBjY2M2MjYzNTliIGxlZ2FjeS10cnVuaworNjcwNDEgOGJkZThmNTFhZGUxNGRlNDljYWNhMzJiOTA4ZWM5ZDI2ZGQ2MjgzNiBsZWdhY3ktdHJ1bmsKKzY3MDQyIDQwZDhmYjEyOTMwNmFkNGYzOGM4MWIzYmE3MTQzOTNjYjM1OWVmM2EgcHkzaworNjcwNDMgNGI3MjY1MDBhOTY5OWNmZDE5NTM5MzZkMWYzZjFiMjI1MDgzYmU5NSBweTNrCis2NzA0NCA4MDRlNjM2NTgxN2M0YjEyY2MxYWY0YmY3N2RhYTA2ZTk4ZTMwMDZlIGxlZ2FjeS10cnVuaworNjcwNDUgMmFhNjliOWQxMjczOGRmMjBmMDhiYzQwZGRkMDY5ZmUxMGM4MDMyNSBweTNrCis2NzA0NiAwMjFiYzlmODgxMDM0OWRjOGJmZTY2YTg0MmY4ZjIzMjkwM2NlNjUxIGxlZ2FjeS10cnVuaworNjcwNDcgMzQ4NWQ5NTk1N2MxZDJjNTgxZTAxZjEzYjJkNDliYmU2NTJhMmY0YSByZWxlYXNlMjYtbWFpbnQKKzY3MDQ4IDcxMTM5MGQ0YWMyMTM5MGIwYzZkMWRlMjk4MzcyZWYwMzQzNDlkMjYgcHkzaworNjcwNDkgMjRmNjVlMzA5MGU4MGEyMmFmZGU2YTg5MTc0OTE5ODQxZTM1YjkxMiBsZWdhY3ktdHJ1bmsKKzY3MDUwIGJiMTA5YzRiZWQyNzZhMzNlYWFjYzZjMDk0MDE2Y2FlZjFmZTlhYzIgcHkzaworNjcwNTEgYzBhZmM0ZWViYTdkNmE4NDMzNTc1NzljNTJiNzU5NDEyMjVjOGU5YiBweTNrCis2NzA1MiA2YTIwZThjMTc0NWE5ODg4ZmY4YTgwMDcyMGIxZWUxZDk3OGFmMDFkIGxlZ2FjeS10cnVuaworNjcwNTMgYjNkZjU4Zjc2ZTQ5ZDg3ZTBjZjNkOTczNDdjOGQyNzY3MmE5OGRiNiByZWxlYXNlMjYtbWFpbnQKKzY3MDU0IGQyZWM2ZDViMmRiOTcwMWJhMDYyOTUzMjVlODY1OTM5YTY5ZDA3MGIgcHkzaworNjcwNTUgOWZjNTczZmJhZjVlMzRiZGFjZGYyNGU0MzA5YWY4YWEyZmM3NWZjYSBweTNrCis2NzA1NiBlOGMwYTVhNjQ2Y2E2Y2NkYTAzMWViZmFkMDkxNTEzYTI4YmVlOWUxIHJlbGVhc2UyNS1tYWludAorNjcwNTcgZWZlZjVmYzQ1YTlhNDc3MjUwYmVmY2Q3ZGVmZWI0ZWUwNTJiZjhmNiBweTNrCis2NzA1OCBjMzIzMTAyNzM3YmMyM2NiOGZmZTQ5MWZhOWFlM2E3OTY3ZWVhMjRlIHJlbGVhc2UyNi1tYWludAorNjcwNTkgYTVjYTg5NTFiZWYxNzI5YjdmNWQ0ZGI3NjMyMmZmYWE5ZTQwMGFhMiBweTNrCis2NzA2MCBiMGNjY2I1NTk0MWM0MTcwZTE5NWMyZDA4ZjY1MjQwYTNjYmQ1ZmFhIGxlZ2FjeS10cnVuaworNjcwNjEgODA0NWQ1NTk2YjFjOGI5MzM0MDU3MDc0ZTE5YzgyNDY5MGZjNzM1NSBsZWdhY3ktdHJ1bmsKKzY3MDYyIDljOTdiYzg2MTIyYTBmN2M3ODMyMjU4NGFhN2E2YmU4ZTUxOGRjNWIgcHkzaworNjcwNjMgMDZjZjJjZWEzODdiN2U0NTAzZmFiYzk2ZDVkZjhkNTE2MGI4NDYwMSByZWxlYXNlMjYtbWFpbnQKKzY3MDY0IDNlMmRlNDg0Y2UzNDIxN2M2ZGE0N2ViYWMxNDhjYjEwZGFkMmUwMDMgcHkzaworNjcwNjUgOTY0MThmODEyZjA2ODAwZTA3Nzk2Yzc5MzM2ZTZiMmEzOTVkNDQxOSBsZWdhY3ktdHJ1bmsKKzY3MDY2IDdlNDAyNjNkYmZkMzQ1NDk5Mjg1ZmJjOTJmODI0ZjJmNjRiNmYxYzAgbGVnYWN5LXRydW5rCis2NzA2NyA2Y2FjMmUzMDc3YTM0ZDcyYTNlMTgxOWZiNGJiYWI1MDQyY2Y2OGYxIHJlbGVhc2UyNi1tYWludAorNjcwNjggZjMyMzRlNDNlMWZlODBhMjk0YTg1MTU4ODFiYTY5ODAxOGNmNDI5MyBweTNrCis2NzA2OSA5OTA2ZjY5NmI5NDE5NWFmYWYwNTY4ZDFhOGRmOWI5NTYwMjlmNTQ1IHB5M2sKKzY3MDcwIDBkZmRiNTJhYmRmOWY5NTg3YjEwN2ZhMjM4ZmE5ODhhNzI2MjlkZGIgbGVnYWN5LXRydW5rCis2NzA3NiA1NzhhYTQzZGM0MDA0MzA3NTAxOGU3N2Y5MmI2YzMyMWJjZmIzMTNlIHRsZWUtYXN0LW9wdGltaXplCis2NzA3NyA5MWFiNDM1NDQ0MGVmYzgxNDRjNTI0YTMyY2Q2YzIzMzBkNGQwYzM1IGxlZ2FjeS10cnVuaworNjcwNzggMmVkM2Y4OTI2YmI4OTFjOTlhODRkMWMxMGM5MDc0YjBiMTFkMTVkMyByZWxlYXNlMjYtbWFpbnQKKzY3MDc5IDQ1YWM1MTk2ZmE2NzlkZmFlMTk5NGUwODdkMTY5ZjE1NzM1YTI1YTggcmVsZWFzZTI1LW1haW50Cis2NzA4MiAxMTg0YWJjNWY5NmM5NmQ2MTJmM2U5NmQxMDQxYWNmMjUwNTZkOTc4IGxlZ2FjeS10cnVuaworNjcwODMgMDBlNzFjZDg5MTI4NGE1N2NlZjBhOTY1ODU3ZDJlNjM5NDc5NWRkYyByZWxlYXNlMjYtbWFpbnQKKzY3MDg0IDQ1MDQ2ZjA3MjI3YWQzYWYyNzFkNTE3YWYyOGFiZTViMTk2NjhjNDggcmVsZWFzZTI1LW1haW50Cis2NzA4OCBiZDBlOWE5Y2QyODNhNTU0MGFlY2Y5ZjFhMGI4NzViODYxMTllNTZkIHB5M2sKKzY3MDg5IDBkZWM1NGFhNTNlZTc1ZTM3YWY2YTE4MmI1OWJlMDIxMmE5ZjZkYTYgbGVnYWN5LXRydW5rCis2NzA5MCBmODQ5YzU5YmJmZDc2NGYwMjUzZjQ5NTljZDEzNmEwODk0ZDFlZDEyIHB5M2sKKzY3MDkxIDBjOGZhZjZjOGViMjk2MGQ0YWI3MzgwMWJiMWE4MzJkNjc4ZGMzYmYgbGVnYWN5LXRydW5rCis2NzA5MiA1ZjgwMWFkZDIwZmJiYzMyYzY5OWU0NWY5ZWY0YTExYjY4YzEzNDRiIHB5M2sKKzY3MDkzIGYyYmIxMzNlZjUxN2Q0NTBkMDJmYTZjZmZiYmY1ZWVhYTNmZWVkYzEgcHkzaworNjcwOTUgZjY3YjJjOGZhOTNhZDIzMjJkZDI2OWU3YzFhOWQ0NmE2MzNmZTdmOCBweTNrCis2NzA5OCBlNjhlNDJiMTdlNWUzNDE0NDkwM2U5M2E0YzU5MDVhNDZiZGQwNWViIGxlZ2FjeS10cnVuaworNjcwOTkgYTUyOWUzZGM2OTVhOGI2ZWRkZTQ4YmMxZGY4OGZhMDIxMjkzNDNiOCByZWxlYXNlMjYtbWFpbnQKKzY3MTAwIGMwODllYjY0ZWU1NzZlNTdiZGFmMzJlYzMwZThiNmUzMDIwZDkwNDUgcHkzaworNjcxMDEgOTcyYjQwNTQ2ZDc5NTU0ZjNhODk3MWYwZjE2ZWYyOTM4MDA3ZmMyNiBsZWdhY3ktdHJ1bmsKKzY3MTAyIDUwZTc4MjJjOTU4NWZlZjU2ZWQ2NjYxMWZhYzRiODU0MmFkZTNlOTMgcmVsZWFzZTI2LW1haW50Cis2NzEwNiAyM2Q5Y2I3NzdkOWE4MTZhMjU2MmRlOGI3N2ZhZWM0NWMzZDQ4MTA1IHB5M2sKKzY3MTA3IDk4ZjMxNzU2NDYyMDNlZjRlYTM5MGQ0MzQ1NGJiZGU3ZWFiZjM2ZmMgcHkzaworNjcxMDggNDAwZmJjODA1MmFkZWNjMTc2OTI2ODVkYjM1MzM4YjNjYjkxNTE5YSBweTNrCis2NzEwOSAxYmMzZDFiMzlhNGI3OTVlMjY2NTNmN2M2NjllZDAyYWM2MTgzYjJmIHB5M2sKKzY3MTEwIGUyYTQ3MmYzYjc3ZjZjMTBlYTQ1NTE3ZjM5MThjOGVjMTkxOTA4ZmQgcHkzaworNjcxMTEgNWI0Y2I4Y2Q1MDUxZjdhMDEzOTc5YjQ2NDdhYjFhOGI0OGMwMmY1ZCBweTNrCis2NzExMiBhYTZlNjQ5NTk5YWQwOTBkZjkxMmRhNjcxNGQ2ODhkYzMyYmNjNzQ3IHB5M2sKKzY3MTEzIDNhOTQ3NjhhMmE4YmU1ZDA5MjgwNmRjNjhhNWFiMWFlY2IxNzJhMGQgcHkzaworNjcxMTQgZDcxOTZmYjk0ZjI1ZmM4ZGE1Yzk5MzQ4MGQ1ZTA1NTE0MTQ3M2JlNCBweTNrCis2NzExNSA2ZTBhMzYxMDc4ZTUyMTY4YWE1ZWM5MmE3N2MzODliNjRiMjFjYTkzIHB5M2sKKzY3MTE3IDFjMjNlNzAwMTUwNjc0MDQ0YTA2ZWM3MDdjMmFkMWYyOTFjZjYyNjQgbGVnYWN5LXRydW5rCis2NzExOCA3OWM5YWI2NDk4ZmRmYjlkZmZhMzMyNDY0ZmU0ODc1YTc0MTRkZmFiIGxlZ2FjeS10cnVuaworNjcxMTkgOWEzZTkyNDNjNTE4OWJlNjQ1NjAyOTNmYjMwMjc2M2U1NTVjZjE3ZSBsZWdhY3ktdHJ1bmsKKzY3MTIwIDI2ZjAxZWVhZjU0ZTgwZTljZGJiZWMwYjg5YzhmM2VhYjhhYTg3M2YgbGVnYWN5LXRydW5rCis2NzEyMSBmM2Y2NTBjN2QzYWFjNjNjYmJmNjZiZjA1ZjU2YWRlZTdkNzIyODNlIHJlbGVhc2UyNi1tYWludAorNjcxMjIgZjc4NjdiNzdkYzU1NzgxODFkMTk2YjJmZjRkYTNmYjVmMDJlNjVkNyBweTNrCis2NzEyMyA4MzcwZTllZjdmMGZkYzk2N2Q5OWE2YjkyYjZiN2EyZTM3MWUwZjZlIGxlZ2FjeS10cnVuaworNjcxMjQgN2U2M2ZlYjMwZWE1ZGRjNjkwNTk5MzAxOWJlZDA5NWJkMzMzZjA2ZSBsZWdhY3ktdHJ1bmsKKzY3MTI1IDIxMGM1ODVmOTViZWU2ZjQ1OWQxMTM0NjRjZmJiMmM4NzY0ODlmNWQgbGVnYWN5LXRydW5rCis2NzEyNiAxMDQ1MzdhNTQxOTY1MGQzNzk4ZjVhZmQ5MDc3ZThhZTg4M2IzYzI5IHJlbGVhc2UyNi1tYWludAorNjcxMjcgMzI1NjE4NzkyNWQxZTkxZWYxZTMxOGIxOWQyYjNlZGVmOWZlZDc4ZSBweTNrCis2NzEzMiAxNGQ0NDEyZDJiZjg0ODEzMGViOWQ2YjUxYWUwMmFhOGQ5MGUwY2VhIHB5M2sKKzY3MTMzIDgyODA5NDg1OTJiYjJjZGRkOGEwNTQ1NTg5Njk2ZDkwY2ZjMDk0NDMgcHkzaworNjcxMzQgOTc0Y2FmMTY3ZmYwNDUyOTYyYzBiNTMyYTYwYmNkZGE4NTU3NzdmNiBweTNrCis2NzEzNiA1MzRiZTgwNjZjMzZhNmFmYzI2MWI1YmZjN2M3NjIwMGQ1NGRhMWI4IHB5M2sKKzY3MTM3IDhmYWU0NjVhMzk2MjdiNTkwMzg1NDYyZTYwOTVlYjYzYWY0NTI0MGEgcHkzaworNjcxMzggYWM0MmRjOWEwMjAzZWZiMzdlNjVmNzc3MzdmZDE5NDRhOTE4MDMwOSBweTNrCis2NzEzOSA5MmJhMTJmOTMyODIzODRhMjM4YzBmYjA1NjllN2NmNDkxZjAzMmRlIHB5M2sKKzY3MTQxIGQyZjczMjNmYjcwOTY1YmU2MjJhZmQ0Y2M3YTU0MjE4NTA1NzljNGMgcHkzaworNjcxNDMgYzk4M2ZhNjhkNmZmMjU1Y2ZjN2IyYTU5MDUxODljM2E1NTczYzNlNSBsZWdhY3ktdHJ1bmsKKzY3MTQ0IDYyMzhiNmNmNzdmMTA1N2NlYWM1MWE0ZDY2MTdmNTliNDE4MGRmYmQgcmVsZWFzZTI2LW1haW50Cis2NzE0NSBlYTg3ZTg4MTQzNTliMzhlNzcxOGJiMDA4YzUwOTljZTFhODhjZDdjIHJlbGVhc2UyNi1tYWludAorNjcxNDYgODJjY2M3ZTc3ZWM1NTczZDU2OGQyZjUxNTZkNWZkNWM5MGQzZmYxMCByZWxlYXNlMjYtbWFpbnQKKzY3MTQ3IDQ3OWRhZDlkYzk2YzFlOGRjZjYwNDZkY2M1Y2JlOWUxNzgyOGY2NGIgcmVsZWFzZTI2LW1haW50Cis2NzE0OCAxZjdmNDFmMjBhYzU5NjY2ZDg3N2RmZGM5MjZiYzJkMTUxMzBiMTBlIHB5M2sKKzY3MTQ5IDlkYTUyOWEzZmQ1YWU3NDJkMjhhZWU1ZWYzZjgxNzE4Mjg3OTljYjMgbGVnYWN5LXRydW5rCis2NzE1MCBmYWNjYjk4ZDk0NzRlM2MzNTA0MDgzZjM0N2M5MWEwNzJjYjgyZDY3IHJlbGVhc2UyNi1tYWludAorNjcxNTEgYWNiNzhlY2U1NmE5ZTEwMmZjOWU2NzYyNWIyZTc0ZDljYWM1NTFjZSBweTNrCis2NzE1NCAzMTczNzE3YTg5ZjMxN2NhNzEzODgyOTExMTIzODI4MjhkMDIyNmUwIGxlZ2FjeS10cnVuaworNjcxNTcgNTcxOTM4MDU0NzIxZGIzZmZmM2U5YjA5M2E5ZTUzYjFhOTcwZDRhYSBsZWdhY3ktdHJ1bmsKKzY3MTU4IDAwOGFjYjBjYmJmYzI5ZWU4Yzk0ZTJkMDBlYzVlYzJkMDA4OWIyOGUgbGVnYWN5LXRydW5rCis2NzE1OSA1ODIzNWI5ZGMzYWUyNGM4OTdkYjFmN2RmOTc5YTQ4NTU2ZTAzMmVlIGxlZ2FjeS10cnVuaworNjcxNjAgNmYwNjU3MWE4YWVmYWZlOTY3MDkyNTdiN2YxNzlhNDFiZjhiZmY2OSBweTNrCis2NzE2MSBkMGFhMTBmZjI4YzY1NzAwNjU3MGIzNWM4Mjk1ZDVhNTQwZWE1OGZiIHB5M2sKKzY3MTYyIDIwYTQwODk0NTM5YTQ4YTFhN2ExZmU2YWI0MmM1ZWRiNWYwNzRkZWMgbGVnYWN5LXRydW5rCis2NzE2MyBkMzRjY2IwMzQxZWE1M2FhODZiYzM3MGRhZDE2NDRkMGYxMDk2MGVkIGxlZ2FjeS10cnVuaworNjcxNjQgZWY4ODBlMmNjNTY4Y2NjZjk4YjhjOTQ1MzJlMDM2YzU3ZTJjYjc2YyBweTNrCis2NzE2NSA3MWY1M2QzZDE1NTEyMWNmMDNhOGViNzcwODkwYzNmMjFjMDU5MjI0IHB5M2sKKzY3MTY2IGJjNGY3NDJlMmMxZDUzODQ0NTFjYzVkY2VkNWIyOTUyZmNlMjUxMWQgbGVnYWN5LXRydW5rCis2NzE2NyBmMDdiODJhMzIxZmUxOTA1NTM3OTg0N2Q1NTdlN2I4ZTVkYTk5OTMwIHB5M2sKKzY3MTY4IDc2ODMyYzA5ZDJmZGMxYjA2OWViZjBmNjFhMjZjNzVhNDVmZDIzNmUgcHkzaworNjcxNzEgMmUwODU3YjBmYzY3NTc4NDRhOWUwZGRiNTY3YmE0NWNkZjcwOWUyNiBsZWdhY3ktdHJ1bmsKKzY3MTcyIGNkZGQ5MTgwYjhjODgwNjIyNzA2YWQ3YjQ4ODlhYmVhZDU1ZDg1OTEgcHkzaworNjcxNzQgMjExMTUxZmRjOTI0NDQyY2NjM2NhY2U1ZWMwZmNhOGJkNDFhMzBlNyBweTNrCis2NzE3NSAyYmIxMmNhMmZmNDRlMTFiOGMzZGNiYTg0MjQ2NTdhZjllYjM5NjdjIGxlZ2FjeS10cnVuaworNjcxNzYgYzJhNzViYTQ2ZjE0ZDlmYzI2ZDRhZWM3ZTZjOTRlNTU3YmQ2YzA0OCBsZWdhY3ktdHJ1bmsKKzY3MTgwIGFlODNkNGFhM2UwZWQ5NzQzY2MwM2ZiM2FjOGE5NjQ1YmE4NjA2YjggbGVnYWN5LXRydW5rCis2NzE4MSAyYjMzNDBiNWNhMzg2YjUyNDY3YTViZWViM2ZhZjU3OTAwY2I5MDlmIHJlbGVhc2UyNi1tYWludAorNjcxODIgYjI0ODFhMTUzNzYzNDhmZjgxYmNmMWNkMDA1MTdmMzlmNDdiZTlkZCBweTNrCis2NzE4NCBhY2Y2OWUwNzliODQ2YjVjM2Q4NGU0MGU3OWE5NGVjMWJhOGZhZTM5IHRsZWUtYXN0LW9wdGltaXplCis2NzE4NSA1NGNiNTAxZjYyMTVhYmRjY2Y5ZTQxMTU1MmEwYWZlMzM2NGJhMjczIHB5M2sKKzY3MTg3IDIxOGE5ODk4MTE4M2QyYTNjN2YzZDE1ODc5ZTBmYTExYzA5Mjg0ODggcHkzaworNjcxODggNjNlYTIyYjU4ZDU0MjU5MjE5NjZkZjA1OWNmMjJiM2VmZjhjMTllNCBweTNrCis2NzE4OSA3NDQwYTMwYTJmMTM0MDNhNDI3ZTEyMGNjNmYxZjc4ODBiYWUyZDVkIGxlZ2FjeS10cnVuaworNjcxOTAgZmI3MjUzNjZmOWFjOGJlZDRlMzJkNjZkN2ViOTIzYTU1NWM2ODI4YSBweTNrCis2NzE5MiBiMDcxM2ZiYzUwNjFiYWEyNTJhNDQwYjI4ODY1NzRlOTJjZTA5ODdjIHB5M2sKKzY3MTkzIDgxMTkwY2IxY2FlMjkzMDZhMjI4MmQyZTE2YWM0NTBkNjVhZDYyZTQgcHkzaworNjcxOTQgZjJiNDNkMjgyNTFkY2RjMDIwYjhmZWY2MzgzZWQyY2E5YzZkODY2YyBweTNrCis2NzE5NSAwM2U3NGRkOWNjODNmNTkwZjg1ZDkwMjVhMjk2OTM2NmQ2YzU3NzM3IHJlbGVhc2UyNC1tYWludAorNjcxOTYgOGQ2ZTI0OTk3MjZhNTI4MTNhMTMwMTlhMDZiMjc4OTg5NzFhNTBjOSByZWxlYXNlMjQtbWFpbnQKKzY3MTk3IDYxYTMzMDUwNDQzZDIwZjBkMjRhZjkyMjc5MTI4MDU2ZjllOWE4YjYgcmVsZWFzZTI0LW1haW50Cis2NzE5OCA5NzgxZWVmMzE5MmM2YWIyY2NiMjVjZjhiZjExODU2ZTA5ZTBmZTIzIHJlbGVhc2UyNC1tYWludAorNjcxOTkgMjAwYzhhYWIxOTE3NmZiZjcxODYwZDQ3MDI2YmRiZGE2NGE3ODYxMiByZWxlYXNlMjQtbWFpbnQKKzY3MjAwIGNlNzIyNGNmODdiYTIwZjQ4YzBmZTBjOGY5ODczMWE5NWVjOTY1ZmMgcmVsZWFzZTI0LW1haW50Cis2NzIwMSAyMzI4NWZmMTBjMDRkNzkxYjRlNzAxYTRkYTcyMTE1OGQyZDBkNGQ0IHB5M2sKKzY3MjAyIDlhMTNlOTY2ODg5Y2I0NGM4N2Y2ZjgxNDhmNmQxZTIxNzAwYTE5NjEgcHkzaworNjcyMDMgY2QwOGIwMGFjZDZhMWNhNTM5YjAyNzAwYzE0NTY3NTg4OWI5MGM4NiBweTNrCis2NzIwNCA5ODYyOGRjNzMwZGFlNzcwZjQxODEwNGY4N2I0YjMxYzlhNDBkNzBmIHB5M2sKKzY3MjE2IDQ5NGJiOTY3MTM5MTc5MDVlY2NlZDRkNDM5NmJkOWJiMTM0NDZmYzcgcmVsZWFzZTI1LW1haW50Cis2NzIxNyAwNTlmMTE2YTI4MTk0Zjg4MzZiZDE5ZDljYjc3Y2MyMjRlNmJkMmE3IHJlbGVhc2UyNS1tYWludAorNjcyMjQgYzI3NzJjYmZlMTgxZTFmM2E5YjYyYWJiZTRhN2MzMjcyNDQ3NDZiNSBsZWdhY3ktdHJ1bmsKKzY3MjI1IDE2NjAwY2FjZTMxNWRjMmMxZDcyZjM0MGI4NzQ5MWIxMGUwNjM0ZjQgbGVnYWN5LXRydW5rCis2NzIyNiAwYWQwNzA3ODQzM2EzODc5YzUwMDYzMDZhMjVlZDc2NTk2YWJiZmM3IGxlZ2FjeS10cnVuaworNjcyMjcgNGM0NjMyM2FmYWI2Zjk5Y2JlOWYzOTI4NmQ4Yzk1YTkzNjU3MDdiZCBsZWdhY3ktdHJ1bmsKKzY3MjI4IGRiZTRiMTZmODA0YmE3YmQxMTE1M2E5MWE0YjU2ZWIwNzE1NTE1OWMgcmVsZWFzZTI1LW1haW50Cis2NzIyOSA0MjBhNWU4M2UwMmU3YjRjMTc1ZWE3NjY4ZDYyM2Q0OWZhY2U5ZTQzIHJlbGVhc2UyNi1tYWludAorNjcyMzIgYzcwN2RhMzQzNTU3OGNkYmE1MDI2YjUzMDFjZDM1Y2E0YTNlODhiOCBweTNrCis2NzIzNCBlNzRkZDU0MThhMzNmYjAwMGI5MzM4YTlhMzVjNGRkNmUwMDJkYjM0IGxlZ2FjeS10cnVuaworNjcyMzUgYjQyOGU4ZjZiMTQzNDYyM2Y2ZTFkZmZlODQzNDQ0YWQ0MDIyNTBlMSByZWxlYXNlMjYtbWFpbnQKKzY3MjM2IDdkZTFiMmFkMzgwNDg1ZDBlOTcyOThjNmNiNDljMjJjYTgyYTQ3OGQgcmVsZWFzZTI1LW1haW50Cis2NzIzNyBiMGZjYjE3ZjdlZmE4MTUyNmQ2ODcwMGQ0YTc0ZGNhYTg5ZWQ5NDFkIHB5M2sKKzY3MjQxIDFlNDRlYTUxNmUwZTcwYzVjYTUyZDNjM2I1MThjNTAyOGZiNmY4M2UgcHkzaworNjcyNDIgNjIwYTM0ZGMxMGY5MDY2MzdjZWM1MDZjZmNhOTBiODVkNWZmMTVjYSBweTNrCis2NzI0MyA3NTU5YTMyY2MzMGVmOTYwNTRlMGFjZGQ4OTgyMmIwNjlkNzk1Mjc3IGxlZ2FjeS10cnVuaworNjcyNDQgNjc0ZWY0YTdjZDczMDE3NWY1ODNiN2MzNzA0ODZjMTFlMGVmZWQyZCBweTNrCis2NzI0NSA0YjMyMTk5YThhZmVjNTc4NWRkNmM5ZWI3Yjk2MGQyYzM4MGRlN2UzIGxlZ2FjeS10cnVuaworNjcyNDYgMDgxMzVhMWYzZjVkODg1MGRjNTVkODNlMzZmNzk3OWRjY2IyZGE2NiBsZWdhY3ktdHJ1bmsKKzY3MjQ3IDczYjlmZTFjNTM5NzNkM2VmZjM3YTY4OGRiOTIxYTQwNDU0NjBkOTggcmVsZWFzZTI2LW1haW50Cis2NzI0OCAzNTZjM2UxOGRhNWU4NDhhOWY5OTIyYjY3MDdkNzNkZjdkNjNkZDRiIHB5M2sKKzY3MjQ5IGE1ZTQxYTc5NDk1NDQzNzlhZmU3YjEzMmU1MTljOWIxOGNlOWM2MTcgcHkzaworNjcyNTAgZmM0NmFiZjE3MGZkZDhkNzVjZDljNmI5OTYzNDFiMWJkNWYzYjBkZSByZWxlYXNlMjQtbWFpbnQKKzY3MjUxIDkzNmE2ZTYwZjNlYjdhM2JlNDdmYmFjMjY5NWJhNDZmYzBkNTBlNTEgcmVsZWFzZTI1LW1haW50Cis2NzI1MiBmMzlhY2ViY2U2MjhiZTFmOThjOTEwOGIzNjJhN2UxNmYxMzc0Y2U5IHJlbGVhc2UyNC1tYWludAorNjcyNTMgZWQwZGFjMjZiMzk2ZGEzZmI3NzY0NDlhMGU1NmVjY2M0M2U0OTg3MSBweTNrCis2NzI1NiBlMmQyYTdhNmU4MzE1ZGM4MjY3YjM2YzQ4ZWY3MWMwZGU0MmViYTVmIHB5M2sKKzY3MjY2IGVhNmVlMjgyMDc1M2JjZWZlZTUyZGI3OTA2MDFmMDhlNmYzOTVjYmIgbGVnYWN5LXRydW5rCis2NzI2NyBkNmU2Nzk4OWZmNTE0OTczNjJmZTNmZGI3ZGU4ZGFmOWIwZjdiYjBjIHJlbGVhc2UyNi1tYWludAorNjcyNjggYzZkMTZiMmE4ZWZhNGQ1NjI2YWRhZThlMTYxNDkxNjJlNzkyZWEwZiByZWxlYXNlMjUtbWFpbnQKKzY3MjY5IGNlNjkyMzU0NWU1ZWMzYTYzOTBkNjYyNGFkZDg0YTYwNDBhOTdhZjYgcHkzaworNjcyNzAgNmQ2ZTM4Y2ZmMjQ0MGUyZjlmZmQ0NmUxZWUyNTUwMWQ2MDkyODYwMiByZWxlYXNlMjQtbWFpbnQKKzY3MjcxIDBjMGJiMTA0ZWM0YjdhN2Y2YmRiOTk5MmM1Nzg2M2JiZThkNmEwZmUgcHkzaworNjcyNzcgMmQ5YjE3M2RjM2EyZWI3YTgwNmU1MWIzM2M5Y2E5NWNmYWU4MzdiMiBsZWdhY3ktdHJ1bmsKKzY3Mjc4IDE1M2ZlZDdjN2I2MGI5MGQ1ZTk0NjYzODkyYzllZmVmY2M4MTA0MTAgbGVnYWN5LXRydW5rCis2NzI3OSA3MWE1MGU2NzVmYTFlNDQ4YWVmOGI2ZGYyZTViNDM1NDBhMWU3OWMwIGxlZ2FjeS10cnVuaworNjcyODAgN2JiMjA0NjEyZmM2NzZiYmM3ZWZlMGVhNjM0YWE0OTg1OWFiMDVhNiByZWxlYXNlMjYtbWFpbnQKKzY3MjgxIDhiOWJkYTViOGQ0YTlkMWJhM2E3YTI5YmEzZWZmN2JiZDUwNDhkZWIgcHkzaworNjcyODIgNzIzODk1MGQ1YzYwNDAwNzdkYTcxNWQ4MWQ1Yjc0MWM2M2MyYzczOCByZWxlYXNlMjYtbWFpbnQKKzY3MjgzIGJmNmE1YmU4MjdiNGMyZTZkMGNhOWNiNjcwOWU3MDgwNTgyZTQ4NmEgbGVnYWN5LXRydW5rCis2NzI4NCAxZjdiNmM0MGM5OTA4OWE2NjViMTlmMTc5MzZkMzdiY2NiMDk5OGMyIHJlbGVhc2UyNi1tYWludAorNjcyODUgYTkzNzZhZGMyODRjZTc5MGMxMDMyOGIzNmE3MDRlZDZjYWM5NjkyMiBweTNrCis2NzI4NiAwNzIyZDcxYWZhMmYyODZlZTQ1MWY0MjkxMzc5ZDIxMDM5M2QyYTk0IHB5M2sKKzY3Mjg3IGE0NGNlNTU1NmE3ZmM2MzAyNzkzNDkxYWExYWRmZmFlOTMzYjRlYTYgbGVnYWN5LXRydW5rCis2NzI4OCBmMDRkZjEwZTIwNTAxMWU4YmNiNGNiNjEyNWVhOGQ0NTYyOTA4MDczIHJlbGVhc2UyNi1tYWludAorNjcyODkgZmZhZTU4Mzc4NTFjYjRhYWIyYmM0YzdkMjhkMDQyOTMwMWRmZTI0ZCBsZWdhY3ktdHJ1bmsKKzY3MjkwIDFlN2QzMjIyNzRjODNlYzc3YzlmNDM4MTZlZTJkMDhjZTFmNTg1NDEgcHkzaworNjcyOTEgN2IxODc5OWU5NTE5NDU4Mjk0Yjk3YTRlYjE2Y2Y4MWRlNThiNzJkOSBsZWdhY3ktdHJ1bmsKKzY3MjkyIGZkYzkzMzk1MTk2NDZmNWNiM2FhYjkwMGFhYjMyN2Q4NDNmYWJlMzEgcHkzaworNjcyOTMgY2FjYzAxOGZhMzQxYWI1YzU3OTZkNWVmZjYyYmZkZDkyYWQwMGI2ZiByZWxlYXNlMjYtbWFpbnQKKzY3Mjk0IDA4OGZkYWRmOTYwOWQxOTNlYjEwZjhhNDBmMDliNTBkZjkwMWZmOWMgcHkzaworNjcyOTUgYTI5MGE1MWZmOGUyN2Q3MmI4ZDFmMWZiMzBiOWFlYzc2MjYzOWIyZiBsZWdhY3ktdHJ1bmsKKzY3Mjk4IDJkYTNmY2Q0OTM1ZjE1NGY5NDE4NmIzNWMxZTkxODAyM2UxM2JmZTAgcHkzaworNjcyOTkgMmNhOTY0ZDcyNGQ1ZmY5YTE2NzQ2NzQ1MTliMzQzNmQzODAxYzFmYiBweTNrCis2NzMwMCA4NDEzNjlmMzczMzQ4NjFlOTAzZmZmMzdhY2U5ZjFiYzE3YjgxNTlmIHB5M2sKKzY3MzAxIGNiODAzOWQ4MmFmM2YxNDBmOTZjYTEzMjE5YzBhNmYxY2YyYWI4ZmEgbGVnYWN5LXRydW5rCis2NzMwMiAyNDY0NTg3MDc3OWFiOGNjYTM3ZWFiOTY4YWQ0MTEyNDVlNzJjM2ViIGxlZ2FjeS10cnVuaworNjczMDMgZjQxY2IyMDZkMDYxZWQxMzU4Njc4ZTQwMGMxOThmYzY5OWYyMGZkMSBsZWdhY3ktdHJ1bmsKKzY3MzA0IDg4ZmY0NWU1OGU5NGI2YmE2NTUyZDg4ZGYyNzYxY2M2NmUyNGVhZjcgcHkzaworNjczMDUgZGMxZGI0NmQwYTQ0YjliOWEzZjY4YjQ2MDBkYzAxZjdjYWI1Mzc5ZiBweTNrCis2NzMwNiA1ZmZkNjdkZjhjOWYwODE5ODYwY2EwYjVmMjM4ZWZkNWU2OTBkYjQ2IHB5M2sKKzY3MzA3IGVhZGU0N2RmYzFlNDcwNDc4NjVkNWNhZTFjNGI1Zjg4NDM3NzFkNzAgbGVnYWN5LXRydW5rCis2NzMwOCBmOTVmZjk2ZmQ3OTJmMmYxZGUzMWU4YjQ5ZDc3MTg2NWM4MDdhODY2IHB5M2sKKzY3MzA5IGJhYzA0MGI1ZWYyMmE0MjQ0NWU2NDhkOGU5NjYxNGNkZjJhZTM2MDIgcHkzaworNjczMTAgNTRlNWQ4NTNiMGRlYzdlNzRlZjMxMjY4M2FmYzFmMDUwNzU2NGY2YiBweTNrCis2NzMxMSAxNTlhMTFiMWQyNDQ1MGE0YTUxYTQxZTg3ODkzNjQ2OTI2NTVkMjM3IHB5M2sKKzY3MzEyIGU4M2E2MGM2OWQ1M2Y1NTUxYTMwNmU3N2E2ZDM4ZTliMTE0ODU0OTYgcHkzaworNjczMTMgMzRmYjY2NmZmNTJmNDEzNGYzMmVlYTY4NTk1YWU2ZDZiYzM4YjAwYyBweTNrCis2NzMxNCA3YWFhM2FmZmVjYzE1MzJlMTEwNGJjMTdmMWQ4NTliOTUxNTczYWJiIHB5M2sKKzY3MzE2IDM0YmMyMjc5ZGM1NmRmZGFiMWRhMzI3NmE1M2MyNjFmOThhNWEyMDQgcHkzaworNjczMTcgZWRhNDY3ZDY1YjY1ZWZiMjExYzNlNDQ3NTM4YzExODI2MWIxZTU5NiBweTNrCis2NzMxOCAyMzI3ZGQ2ODQyMWNjZmZjMDA1MzhiN2RmN2YwN2Q4N2RjNzZmODgyIGxlZ2FjeS10cnVuaworNjczMTkgMzI1MGZiNzFhOWUwOGMwNmE4NmVhYmYyYjE1MGFhYjlkM2JkYTUyOSByZWxlYXNlMjYtbWFpbnQKKzY3MzIwIGI2NGQwNTNhZmQ4NGRhOTE0MDI5M2NhODU2NzlkMDFjODI2ZDhhYzQgbGVnYWN5LXRydW5rCis2NzMyMSAwYmNhZmE2NGVjY2I0NDM1N2RhY2FiMzU3ZTU1NGFhYzdhOWI3OGQwIHJlbGVhc2UyNi1tYWludAorNjczMjIgZjQwM2Q5NDE1N2IyMTBkY2Q5MzhkMmM2MzNlYTQ0YzExZGY2YjYwNiBweTNrCis2NzMyMyA3ODQ2ZmU0OTUyMTI5MDBkNjEzNGE4N2VhNDRiYjhjMWQxZmQ2MTdjIHB5M2sKKzY3MzI0IDBlYjVhZGQzMTYwYTI0OTA5MDEzN2VjYjIxY2FjY2Q4YWYxMzBhYzEgcHkzaworNjczMjUgNmFlZjI4ZWJiZDZjMTE3NGI4NmZkODUwYTdlMmQ2MmI3N2M2OWZkOSBweTNrCis2NzMyNiBkYzRhY2Y3NTMyOTYyZDNjOWI4OWVjNDA5ZWVkZjljMjI2N2Y2M2Y5IGxlZ2FjeS10cnVuaworNjczMjcgYjE4MGIyNzFhN2IyYjQ0ZmQ3NmY0MmRjMGVlMWE2NGVkZmExZmI1MCBweTNrCis2NzMyOCAzMWQ4OGZmZmI5OGExMDRhNDgzNDk4MjM2MzliYzFjM2JmMjgzMTJmIHB5M2sKKzY3MzI5IDhmMGExNzVmMDRiZWFhZDVkNDA5OTAyNjY3NTNmZDYzOWNmMDcwNTUgcHkzaworNjczMzAgM2YyZGRiM2RkMTQ3YTViMzI3MjY2NjA5ZjhhOGEyYzg0NGZkMDhkZCBsZWdhY3ktdHJ1bmsKKzY3MzMxIDJkOGMxZWE3ZjhiN2VjNDVkOGI5MjgxMjJjYjEwYTMwODFlMDFhZGUgcHkzaworNjczMzIgNWUyMDA3ZmEzY2Y4MmM2YzRjNGQwZDQ5NGZhMmIyMjYzZjlkMGIzMiBsZWdhY3ktdHJ1bmsKKzY3MzMzIGEwZjRkNDVmZDQ0Y2Y2ZjE4NzljOTUyMjE4OGI5MjU4N2EyZDM4NDEgcHkzaworNjczMzQgYTQyMjBjOTJmN2NjZjQzMzAxNjZjZTZhZTA1MzdlYzAwODMyMDE5NyBweTNrCis2NzMzNSAyZDk3MDY5MDEyNDE3MTc1YTMwODE1YjUxZWYwMDdjNzc5ZmI2OGRiIHB5M2sKKzY3MzM2IDc4OWEzYWIwYWU5ZWE3Zjk3OTRhZDgxMGU3ODQxNTMzNTM5MmY0ZjQgbGVnYWN5LXRydW5rCis2NzMzNyBjMDA5ZjAwYTQ1MGZkYTc3NGIxOTgyYjVkMjc2ZDEwMzM1ZDYyMzkxIHB5M2sKKzY3MzM4IGI2YTgyNDU5OTIwY2VmMGEyMDI5MjdjMzE1ZDVlMmVjYzZhNjU5ZTYgcHkzaworNjczNDAgMTMzMjFjYjJkNzUyMDMxMmY4ZDUyMjM4MWUwOTdhNzBhMTIwODI2OSBweTNrCis2NzM0MSAwMzBhMTUzNjllYWM3N2NiM2JjMjY4YzhiYWUxYWQzYzBlNjM3NjZkIHB5M2sKKzY3MzQyIDVmNzA3MDZhOGU2NzE4ZjFjMjIyZTBiMjRkMTA5NzJmMzliNjMyMmIgbGVnYWN5LXRydW5rCis2NzM0MyA1ZmVjZDFlOTUzMjQ5NzkwZDNiYzk2MzJlNjhmMDEyZjcyNjU4OWUxIGxlZ2FjeS10cnVuaworNjczNDQgNWQ5YmU2NWU3ODkxZjcyMDQ1MzlkNDUwNjY2YTUzYmNiNTY2M2QwYSByZWxlYXNlMjYtbWFpbnQKKzY3MzQ1IDYzMGMxNzRiNDY1ZTk4MTY5YzQyOGU5ZmUzNTllNjU4N2I3MDU0ZTQgcHkzaworNjczNDYgN2MyYjFiNTJmMTM0MjhmOTU2MWNkMWUxNTY2MTA2YWRhZmRhZmJkNyBweTNrCis2NzM0NyA5M2QyZGQ2NDFiNzAxOTQzNGM5Y2IxZjJjMTA4ZTRhYmNiNzlhNGEwIHB5M2sKKzY3MzQ4IDhhM2VhYzdmOWNkNjQ5N2ViMzVkZTc3YjM0ZjY5NGJhMTYwZDVmZTYgbGVnYWN5LXRydW5rCis2NzM0OSA1M2ExMjdhZWE1NmU5MzU5NzMxNmVkZGFjZjc2ZmE4MzNjNWUzMTMzIGxlZ2FjeS10cnVuaworNjczNTAgYzlkMGQ0ZGE5YWM5N2RjNjk3ZWNkNWYwM2ZmYjgyMzFjZWYyNmNkMCBweTNrCis2NzM1MSA3YmJjYTI3ZDM1NTllMjdlZDg2ZDU4MGViODU5YTVkMDRmMmZjZjc3IHJlbGVhc2UyNi1tYWludAorNjczNTIgNzVlOTkyMDM1MWYyNWUxM2QxYTI1NjgwMjZjN2U1ZDk2M2UyMTEyZiByZWxlYXNlMjYtbWFpbnQKKzY3MzUzIGU3MDRlZWRkNzdkY2RlN2EzMzE0YzVkZjVlYmZiY2E4ZmRjYjI0OWYgbGVnYWN5LXRydW5rCis2NzM1NCBkNzMwM2FiY2YwNjkyODJiZjI0ZWVmNzQxN2M0Mjc5YjM2MGVmMjg2IHB5M2sKKzY3MzU1IGNhNjczYmJkZTFhM2Q4MWE1YjQ0YTJkMGY5N2UwNWMzY2VjMWVjNGMgbGVnYWN5LXRydW5rCis2NzM1OSAyNDE2NTAzYTMwNzhiNWRmMWNmZTgxNjAyZWE3MDg1YTE2NTE2ZTE5IGxlZ2FjeS10cnVuaworNjczNjEgZjFiYjI0MWJhZDI0YmJmMDYyNjI4Nzg2ZjUyYWRkYWRiMzY3MjdmMiBweTNrCis2NzM2MiA0ZWFiMzQwMTYwZTBhMjJjZmZhZjM5MTI1NGJkZWFhYjhjMjc4NTlkIGxlZ2FjeS10cnVuaworNjczNjMgMWU5MTlkMzRjOTgyNTE2MWI4NDkxMDJiNDczZDhjMDA3NmVjMjQ0MCByZWxlYXNlMjYtbWFpbnQKKzY3MzY0IDlmZWFhNmExYmYyYzIyYmFlMzFhNzRlZjg2ZjYyZDMxNjhkYTRlYzEgbGVnYWN5LXRydW5rCis2NzM2NSA3NTFhOGVmYzVkNDY2MmFhOTJmNzMzMTgyOTYxMzZkNDM3ZGE5MDdhIGxlZ2FjeS10cnVuaworNjczNjYgOTk1OThhNjFjYzM1ZmQ3YWYyMmU4MjQxNWU5ZGFlNWY0ZmI4NjdlNiByZWxlYXNlMjYtbWFpbnQKKzY3MzY3IGMzZjQ5YWRhYzJmZTY3ZTE2YjBjZmU2ZjQxOTJhZTAwNGYzOWZhYjMgbGVnYWN5LXRydW5rCis2NzM2OCAwNmZiNjQzZjY1NTNjNGY0YjM2ZjM4ZDhmMzczMTFkNDg1NmVkOGNjIGxlZ2FjeS10cnVuaworNjczNjkgZTQ5NzYwOTA5ZDJiYTUwNmJkOTMwYjc0MDYxOTc3N2FlZDc5YWM2OSBweTNrCis2NzM3MCBiNzFjYzAwM2VmOWY4YTUxNTBiZTg2YjhjYzNiODZkMzY3ZDFiN2Y5IGxlZ2FjeS10cnVuaworNjczNzIgZDY2Njg2ZWIxMWY2MzFhN2Y0ZDQ1MTZlMmRiODU0NDI1MTJlZjFlNiBweTNrCis2NzM3MyBmZmFkNmMwZjI1MmViMjA4MGIyYWY2NjE0MWE4MDQ4NTFkMTgzMDFjIGxlZ2FjeS10cnVuaworNjczNzQgOTZmMzhlMzU3MTk0ZWM2ODdmYTQ0ZjBjMmU4NTEwNjAxZDlkZDMwMSByZWxlYXNlMjYtbWFpbnQKKzY3Mzc1IDQwYjcyNzdlNjY1ZjAxNDUyZTliY2U5Njk2NzZjNDA3MmQ0ZWQ2OGUgcHkzaworNjczNzYgMGQxMGQ1YWIyODQ0MGE5NGI0MThkNTIzNzkwZWNmN2ExZGUzZDAwOCBsZWdhY3ktdHJ1bmsKKzY3Mzc3IGYzN2JmNTVkYjQxNmNhM2NjMGRlODEzOWQ5NmJkZTJmOGMxNzQ5MTQgcHkzaworNjczNzggNmMwODcxZjBjN2E2OWQ1NDJmZjUxMTAyZGQxOTFjZWY1Y2M3NjI1YSBweTNrCis2NzM4MCBkZmVkYTBkM2Q2MzZkNDAxNzNhNzFjZGEzYzAyMzMwNTU4NDYwMDY3IHB5M2sKKzY3MzgxIDRjZjAzZTE0MjAwYzg5ZDA1NGQyODViY2U5NThmZWFmMjY4NTVhMTMgcHkzaworNjczODIgZWZiNDlkZjBkODk5ZGY5ZDJhMjlmNjYwNTFjYWJjN2NlNTA2YzgzOSBweTNrCis2NzM4MyAzNTI4YjVjMTY5Mzg3OTliODk1YzMzN2IyMzZkYTg3YmU4NThiY2YyIHB5M2sKKzY3Mzg1IDMwZDAxYTVmNTE3ZWQ3YmU1MTI5Mzc3YzIyZTYzOWVmOGUwZmU5OWQgcHkzaworNjczODggMmQzZjFkMGMyYTEwZWNkNTdhYTg4MzgxM2U1N2UyNDM5NDFjM2JiOSByZWxlYXNlMjUtbWFpbnQKKzY3MzkxIGQzN2I0ZmU1MTMyODc1NDFkZTViODk3NWNhODk3NjdhOTQxODVlOWYgcHkzaworNjczOTMgOWZkOWNkODUyNjMxYWQ2ZjMxMzc3NzNhYzEyN2E2NjlmYjJkNWQyOSBweTNrCis2NzM5NCA2OGYzYmViN2VlYWRmMWIwMDE5NTkxZjQyMWU4NGUzZDMxZjc4ZWE3IHB5M2sKKzY3Mzk1IDczODk1ZWFkYThiZDFiMjIzMjZmN2E5MjA3NTNlOTRkYjZjMDEwYzcgcHkzaworNjczOTYgYTBjYmU0MGRhYzhmM2Y0NzVjYjdjZWE5MGY2OTQ0MjM4YTMyNzM5NSBsZWdhY3ktdHJ1bmsKKzY3Mzk3IDU2ODRjZTk2ZTYzOWY3ZWUwOThmMzNjMGVkNGZmZWY0NmJkYzJkYTkgcmVsZWFzZTI2LW1haW50Cis2NzM5OCA4NWIxZGU4NTVhMTNmYTRhZmYyMDU2MmFkODYwMTk5NWFjYTY5NDIxIGxlZ2FjeS10cnVuaworNjc0MDEgZGViMzA2NjljMzU1YzI4YTFhNWI4YWE1NjY3YmU3ODg5YjgyNGEzZSBweTNrCis2NzQwMiA3OTdiZDMzM2VmNmJhMjJlOWYzYWU4ZjA5ZWZjYjFlODMyMTY5NGQ4IHB5M2sKKzY3NDA2IGEzYTVmNjQwNGFkNWJhM2NlMTNjZjZmM2RjZmE1MjQ5NDRkOTQ4NjkgcHkzaworNjc0MDcgNWNiYzNkZDQ0OTE2MTA4NTNkMzE4OTE5M2MyNjkzNjViNTc1OWE1NSBsZWdhY3ktdHJ1bmsKKzY3NDA4IDBhOTk0YjMyZGU5ZmU1MTYyMGI0NzFhZDQ3ZmQ4NjU3YmJhYzRmMWYgcmVsZWFzZTI2LW1haW50Cis2NzQwOSBmODA0NGI4ZmY2ZWVlYmJhZmJjZWQwNTc5NTg5OGY1NTYxYzExYWJlIHB5M2sKKzY3NDEwIDhiMTRmYzVlNWYzZjVkMzljMzQ3MmZkMWIyYTliNDg4YTM2YzJmOWYgcHkzaworNjc0MTEgMzk3ZmJkNmMzNDcxYTMxMDAyY2UxMDIyMDhhMWE3ODZjMzBkNDlkOSBsZWdhY3ktdHJ1bmsKKzY3NDEyIGM1NDY0OTdiNDIxYTFhMmM1NjM0ZTExNWZmODZmYmQ4ZWJlNTMwMDcgcmVsZWFzZTI2LW1haW50Cis2NzQxMyBiNThhNDM1MDAyYzExMWQ5MzgxZTg0OGZiMmJkMDQxOGY1ZjZiZGMzIHJlbGVhc2UyNi1tYWludAorNjc0MTQgZmNhZTE0YmNlYTczMjM3ODViZWMzMTA3NjBiMDM0YjFjOWZmODc1MCBsZWdhY3ktdHJ1bmsKKzY3NDE1IDM4MWM2MjgxOWYyZWM4Mjk3OGFjYzkxMmIwMzU2OTA3ODZmNjFiN2QgcmVsZWFzZTI2LW1haW50Cis2NzQxNiBjNTEyNjJhZDU2MDNkZTk3MmFkZDc5ZDViZWI5MzVlMWEwMTQ1OTk0IHB5M2sKKzY3NDE3IDM4MDNiNmM0ZmY4ZjMyMDEwNTA2N2QyNTRmODkzOGYwOTM0OTdiMjAgcHkzaworNjc0MTggMDZlNmMzOWFkODAyNGY4N2Y5YThhNjQ0MmJmOGQ2MzJjMzNkZDBkNSBweTNrCis2NzQxOSBjYzllZmI5ZjhlNTdkODRkMDcwOWViNTQxOTM4YzgzYWYwYzQxYzYzIGxlZ2FjeS10cnVuaworNjc0MjAgYmYyZDE5MjkzZGI3N2NhM2EwYWFhMGZjMmMxMTdhNWIwZDdlMjY3YiByZWxlYXNlMjYtbWFpbnQKKzY3NDIxIGE5MDM1MmU1OWNlNjFkMzJmNDMyZDRlOWM4NDQ4MzJjNDZmMzVmOTQgcHkzaworNjc0MjIgMThhYTcyOGU5NTJkNTExZjkyYjExNjdhOTc5ZWQyMjMwMGU0YTQwNSBweTNrCis2NzQyMyAwYjNiNDRiOGM3ODI2MjU3YTI3ODFmYmI5NTY4ZWRiZGJlOGY3M2M1IGxlZ2FjeS10cnVuaworNjc0MjQgNDZiNWNmM2NhZGU0YWY3NWM2NWVjZmUxMjFjMDdlNGViN2Q4YTg3MyBsZWdhY3ktdHJ1bmsKKzY3NDI1IDBmY2ZlMThmZjhmNmQ1NzA2OGFhNGI3M2VkODliYmUxZTE3MTliODggcHkzaworNjc0MjggYzhhZWQ5YTM2ZWNiN2Y5OGM0ODA3ODlkMzhmMzc1ZTNhZGRlNGIwMCBsZWdhY3ktdHJ1bmsKKzY3NDI5IDhkMzI5ZDJhMzY0YWI1MjVjYjljZjJjOTExMjBjNjAxNDIyOTYwZDkgcHkzaworNjc0MzAgMDYwN2M5N2E4MTI0YjRlMzg1MWY4ZjRhNDkxMjE2NGQ3NzI2MmNjNCByZWxlYXNlMjYtbWFpbnQKKzY3NDMyIDIzYjQzNDhmZGY1MmZmNmVjZTA1OWVjN2QxYjBkMGY1OGNkZGI1ODMgbGVnYWN5LXRydW5rCis2NzQzNiA1NjBiMmY1Mjk1MmM4N2M0YzgyZDdjMTkyZmMyYmYzNTgzODYyMjJiIHB5M2sKKzY3NDQwIDA1YzEyZjZkMTQwNDA5YzEwOTk4MWQ3N2Q5OGRlODgyZGVkNWRjYzAgbGVnYWN5LXRydW5rCis2NzQ0MSBjYzI5NGZjOTBmNmM0ZGNlZDkxOWJkYTRkY2JlMjI2NGI1NzM4MWRkIGxlZ2FjeS10cnVuaworNjc0NDIgZWYwYzVjYTQ1NDQxMjM0NGM5NmE2YzIwMjhiMDc1YjJjM2U1MDAxMiBsZWdhY3ktdHJ1bmsKKzY3NDQzIDgwMzdmYTdhY2U5ZWVjM2M5MGI4MjhjMTUwNmRkMWU4NThkYTZlYjQgcHkzaworNjc0NDQgZTI5ZjY2ZmRiNDJjMjBmOWE3ZTNkMzI2NDYxZTY4YTNiZDUyOTk1YSBsZWdhY3ktdHJ1bmsKKzY3NDQ1IGY5YWE4N2ViMzM0YzFlZGM0NjNhOWVjYjdhMTUzMTIzYThiNzcwZDggbGVnYWN5LXRydW5rCis2NzQ0NiAzNTY5ZjdiMDkwMjU2ZTBhYTBlY2Y3ZTNhMTQ4OTk2NzRkMThhMjlhIHB5M2sKKzY3NDQ3IDI3N2E4ZjI5NDRiNDIzNWFlZWNkNGQ3MTVmYzMyNGI5YTA4MDlhYzkgdGxlZS1hc3Qtb3B0aW1pemUKKzY3NDQ4IGJlZjNjODVhOTA4ZDRjZGRkMGIxYWZkNjEwNjU1NmI4MjI2ODViNzcgcHkzaworNjc0NDkgYTFkZTkxYWQ5Mjg4MmRkYjdiMjlkZTRiYzhlYjNkYTlmZGE0ZWNkZSBsZWdhY3ktdHJ1bmsKKzY3NDUwIDdmZGY5MzZiMzBiZjZmMmNhZGNiZTNjNWY0MjE1ODIyNmQzMTIyZTkgcmVsZWFzZTI2LW1haW50Cis2NzQ1MSAzYmYxOGJlN2NlNWE1YjQ4NDI3YWU2NGUxYjk4ZTk0NDI4MmQyNDFjIHB5M2sKKzY3NDUyIGYxZWJiYzE4NmMxMTI3NjNkZWVhMTYxMjdkZjdjZWQ3MDk5MjRlOWUgcmVsZWFzZTI1LW1haW50Cis2NzQ1MyA5NDJiNGEyYzJjMTNiZTlhZjU5NjY5Zjg4ZjdiYTQ1ZWY0MTQwMWZkIHJlbGVhc2UyNC1tYWludAorNjc0NTQgMzlhNTZkMzU1Mzc2YWFmZjQ5MmU1ZjE5ZmY2MzVjZjQxNTY1YzcwYSBsZWdhY3ktdHJ1bmsKKzY3NDU1IDM3MTJkMWY2YmZkNTViNWE1OTk4YmMwNDllZTYwZDMyMjcwYjdiYTggbGVnYWN5LXRydW5rCis2NzQ1NiBiOTYyZDA0YmI3ZjAzMzRhZWQxZGY4YTZjY2UxY2I2YzRiNzRlOWZkIHJlbGVhc2UyNi1tYWludAorNjc0NTcgN2VkMzhhYTEwZGU2YTUyZTY4NjQ2ODFiMzM0ZWRhMzNiNzA0ZjZjOSBsZWdhY3ktdHJ1bmsKKzY3NDU4IDE4OWRlZjA2MjUzYzZhN2E5NzI4NWJkNDdlOTU3NDdiNWE3NGFkMmQgbGVnYWN5LXRydW5rCis2NzQ1OSAwMWY2ZWE3ZjdhNzU4MWY0YTQ5NGZjOWY2YWU4OGRhODQ1MmIwM2ZjIHJlbGVhc2UyNi1tYWludAorNjc0NjAgNzVhOGNhYTI0MTg2NTk1OWU1YjY1ZmYzN2UyZDVhOTZmMzkxZWEyOCBweTNrCis2NzQ2MSBlZDhhZGZlZjI2YzY1YjNhODg2YzgzYjBiZDM0YTYyNjc4ODgxZjY3IHB5M2sKKzY3NDYyIDZlODkxMzUzY2U5NjU4ZWJlYmQzZjY3ZTc5MGMyOWFjNDMyZmFiMGYgcHkzaworNjc0NjMgNjgxNzMzYjQ5ZmEyMzk4YWY4ZmI4MWY5OGNiM2UxNjFlYjZiNTRjMSBsZWdhY3ktdHJ1bmsKKzY3NDY0IDYwZTc3NWVhYWFlZWU4YThlZWM2ZjFjNWM2OTcyMzFjYmUwZjkxMmIgcHkzaworNjc0NjUgM2U1OTk1ZjZhYjhmNmE2YzQ0ZWU4ZWI0YmE4NzI5MDExNjY2OWRmMyBweTNrCis2NzQ2NiBhYjEyZDcxNmE3YTgxZWQ0YTA0YmE2NzAzMDM5M2M3NzM3NDAwYzViIHJlbGVhc2UyNi1tYWludAorNjc0NjcgN2Y4ZjcxZGM4NmM3NDA5NWM2YTkxYTQxZTNmNzYyM2YzZjE4ZTg3NyBsZWdhY3ktdHJ1bmsKKzY3NDY4IDA3MzJkMTNlZDA2NzhhZDg1NjViOGU5MDQwMDI5NDJkYjgwMzQxYjggcHkzaworNjc0NjkgMGY3NzI1ZTE5YmMzYjkzZjMyODE4NjQyNTBmYmY1NjI4MDgxMDE5MCBweTNrCis2NzQ3MCA0NDYxZjE4ZjI2NDNjOGZjOTlmMTAyYjQxZTE3OTA3MThkOTUxMThlIHB5M2sKKzY3NDcxIGIxZDJhZjUyZDgwMTUzNGE4YmQ4MmJlOTc0NGJkZGFlMzQ0ZmRmZmQgcHkzaworNjc0NzIgZWQ4NDc2ZDdmNjRhNWQ2MTY1MTgxMDY0MmQ3YTRiMzQ0ZWNhMzZjZCBweTNrCis2NzQ3MyAwOWMyZDE1ZTRkMWRiNjJjOTlmYTEzNTUxZmQ1N2U3MGJjNDE3ZmZhIHJlbGVhc2UyNi1tYWludAorNjc0NzQgYzE4MmUzYjllOWZjM2FiZGZkNTBkYTViNmZjNWJhN2Y3ZGRjZDY4YSBweTNrCis2NzQ3NSA0MGVjNmQyODk1NTJlN2YzMzljZGYwNzdmNTk3MzM1ZTcyNzBkNzA2IHB5M2sKKzY3NDc2IDZhMTIxZjA0YmM3ZGY2YTI0OWZhOTk5MzYwMzhiMWU3YmYwYTUxMmYgcHkzaworNjc0NzcgZDE3MmRkOGQ5ZTA5ZWJkODhmNTE0ODFlYzdkODU5MDNhYjc3OWVmNyBweTNrCis2NzQ3OCA4NmVlMmUwZDRkNDE1NDk1NTA3MDNmYjRjN2YwMmFiNjdlNDExZTUzIHB5M2sKKzY3NDc5IDc4YjBjOGRlM2E5ODgzODIxMzM4MWUwNjU0NmIwNGNhMTQ5YzM4ODQgcHkzaworNjc0ODAgOWM4MWMzYjcxMTE5NTJmMTRlYTI4ZWIzMjEwNjFlMmE0MjRkOTlmNSBweTNrCis2NzQ4MSBjZGRhMjA5M2Y2ZjUzMDhiNjJiZDI5NjM0OTVkMTJiNjk5MTUzNTI0IHB5M2sKKzY3NDgyIGNjNWE5NWYwZjU2YTUzNGY1ZmI0MzBlOTA4MGI3MjdmZDczNDI1ZDUgcHkzaworNjc0ODMgYzgyNmU0NjJmYTUxZjUzZjIxNWRmYmY2NjE1YTJlZWI3ZGI4MGEzZiByZWxlYXNlMjYtbWFpbnQKKzY3NDg0IDVkNGRmZWVkZDUxMmIzMTk0NDMwOGRjYzY5ZmZmNDE0MTIzMDA1ZTEgbGVnYWN5LXRydW5rCis2NzQ4NSAwNDUyNmEyMjJjYWYyNDNiMzU0YTU1MGQxM2QxMDhmNjk4ZTUzODk5IHB5M2sKKzY3NDg3IGNmNDdmN2M3ZGRiMzI2ZTA2OGE5NDY4YmM0YTcxODdhMDZjZmI4NTcgcHkzaworNjc0ODggZDFkZTMwMmU2ZWZjNTM4NjE2ODExNjcyMWY1ZWNiM2QxZWNkYTI5OCBweTNrCis2NzQ4OSA4MWNhN2JiODgwNGYwMmM1OGNiOTllM2M2MTkyMTQzYzM5YWEwOGZjIHB5M2sKKzY3NDkwIDEzN2I1MGVlOTZkNWMxYWQxODBhZTY0MDY5N2E5Y2Q0YTNkNGJhZmIgcHkzaworNjc0OTEgNTRmZWFjM2QxMTY5MDY0OTc0MzZjNTdjN2I4ODc4MjM0NTY2N2U5OCBweTNrCis2NzQ5MiBmNDQ3YTFkZTJmYWU5YjAzMzJmOTcwMzU1NGQyZGIzMDQ3MzI5NDJlIHB5M2sKKzY3NDkzIDg0NTMwNWEzZGEzNjNlYmJkOGZmYzMzYTIyNDk3Y2VhMTZlNmEzMWYgcHkzaworNjc0OTQgMzM0NDgwNGYzMjdkNmU1YjVlMWUyZWZhM2VlMDc5NjFhOGEwNmI2YiBsZWdhY3ktdHJ1bmsKKzY3NDk1IDZhNGNjNmJhMWMxNmFlY2JiMmU5ZmVlMTNmZDFmOGEzYTg5NDFmYzIgcHkzaworNjc0OTYgYTNkMDI5OWI0YjFkYWZiYWE4OWY3NThmY2QzNGM1NDg1ZWI0N2U1ZiBweTNrCis2NzQ5NyBjNmE0YTJjYzU2MTI2YTM5NzQ1ZWU3ZGY4MDcyYWUwOTEyN2Y0YTRmIHB5M2sKKzY3NDk4IDU4OGE5NWVmNzk3MTc2YTU1NzhjYzM0MTMyOWRhYmQ3YWI0MWNlNGUgbGVnYWN5LXRydW5rCis2NzQ5OSAxMDdkNDUzMTc5YmUyZWRlN2U3OGY3YWE4Njc4YzIyYzYyMDViZDQzIHJlbGVhc2UzMC1tYWludAorNjc1MDAgNTIzNWRjZGE5MDc2ZjI1YTljZGNjNzI2YTliM2FjMzk0NzkxYWJkYiBweTNrCis2NzUwMSAyYTVlYzA2MGJiOTk4MTliNmQ1ZDVlNTFiNjBkOGRiYTk3YjRhNjFjIHJlbGVhc2UzMC1tYWludAorNjc1MDIgNTlhZGZlNDM2OThkYzg0OGQ4MzExNTI3YzBkZTM0NDRiZTZmZGE5MCByZWxlYXNlMzAtbWFpbnQKKzY3NTAzIGE2NTMyMTQ2MDI3MDdiZGUwZTUxMDY0ZDdjNzc4OWNlMjk1ZTQ0MzIgcmVsZWFzZTMwLW1haW50Cis2NzUwNCA5ODA3Yjc5YTE2MmU2ZmZiMGJhNDJlMmM2OTU4NDg0N2E2YTdlM2MyIHJlbGVhc2UzMC1tYWludAorNjc1MDUgNTg5Yzg4YjIwYjViN2UwMDc3OTEwMWMxN2QxNDkxYTMzYThmYjljNSByZWxlYXNlMzAtbWFpbnQKKzY3NTA2IDY4YTZlM2FjNDFjMThjOGExOTBhZGEzYWExNzY0NGI2MTBkZTJjNTcgcmVsZWFzZTMwLW1haW50Cis2NzUwNyA5YTJiMDYzODcwYTMwOTFmMjMwMTlmN2JjY2M5ZDQ1YTY0MTNkYjQ2IHB5M2sKKzY3NTA4IDc1YjhlZTA2MmIwZDRmYzkxN2IxMzczOTNhMjg5YTBmNTQ4YzFjZDYgcHkzaworNjc1MTEgODc4ZDQwNDY4YzRlN2QyZDEyOTNmYWI2YTY5NjVhZjIxYjE0ZjkyOSBsZWdhY3ktdHJ1bmsKKzY3NTEyIGUwN2EzMjJlZjU5MzRjZTM1YjQ5Njk5ZTM5MzhlMjFmZDMxMjYzMTMgcmVsZWFzZTMwLW1haW50Cis2NzUxNSBjYWJmMzAzZTc4N2FhNWNkNzIwOWI0MGUzYjJjYWJhM2VlNzVjNWE1IHJlbGVhc2UyNi1tYWludAorNjc1MTYgYzlkYTg1YzE5NzE5Yjk1NDZkYTdiZjZlNjNjYWYxYzA1Y2Q2NDkxZSByZWxlYXNlMjYtbWFpbnQKKzY3NTE3IDUzMTQ1N2NmYTNlMjQzZTFmZDMwODU0OTU2ZTU1NjRhNTgxNTU2YmIgcHkzaworNjc1MTggNzFhY2E4NTNiMjQ0MjEwNjZmZDQ5NDcwMzdhMGJmMzUxODBjYTNhZiByZWxlYXNlMzAtbWFpbnQKKzY3NTE5IGU3OTNmYzNjOGFiZTk1ZTMxOThmODQ5MWM1NDljYmViZmU1MTRlYzkgcHkzaworNjc1MjEgZjNjNDg1ZTJiNDUxMzY2NTc4M2RiOTE5Yjk5NGIxOGVhM2MwYmQzZCBsZWdhY3ktdHJ1bmsKKzY3NTIyIDQ4ZjI5ZDg5NGIzY2M3YWZiYWViNGFmNTExMzA4MWE3NjRiZTIzMjkgcHkzaworNjc1MjMgNDI1NjAzNzRhYjI1MWFiYWQzNDczZTNkMGQyODUyMTgzZTM3NzM0OCBweTNrCis2NzUyNCAwN2VmY2UxMDdhYWVmMmU5ZDRlY2I5MWVkMjIwNmMxODY5NDhiNThjIHJlbGVhc2UzMC1tYWludAorNjc1MjUgODU2ZmMzZWEyZGRiODczOTdiY2M0YTM4ODZmYzIwMTM4Yzg1OWYwMyBweTNrCis2NzUyNiA3NTIwN2EwYTllMTU4NDUwZTA1OTk3NWIwMTJiYjdmZDJmNjMxYjFmIHB5M2sKKzY3NTI3IDQ1OGQ3YmMxMjk1MDkxOTc5YWRiNjgyODRlYTExYWY2MTU4NTllMWIgcHkzaworNjc1MjggZThhYjI3NTgyYjE4NDNmMTgyYTA0N2E0NTZlMmUxYzk5Y2Y2NDNjMSBsZWdhY3ktdHJ1bmsKKzY3NTI5IDNlNjUwMDMyYTVkMWNiYjEyMjE0NDJiOWNmZDEyYTcyOGQ0OWMwYWMgcHkzaworNjc1MzAgYzExNWFkNThlYWRmZTlhMGZiZDhiNjk2MzhjMmUxMzJjOTAxMDJmZSBweTNrCis2NzUzMSBmNmU1M2MzMGFlOTZjNWJjMWQzNGEwOTQwNWYwNGZjOTBhMzk2MjYwIGxlZ2FjeS10cnVuaworNjc1MzIgMjMxNjgwMjQ0YzE3YjMyMzBjNWMwYTkzOGNkN2U3YzYzZWJhM2UxMiBsZWdhY3ktdHJ1bmsKKzY3NTMzIDc0YmZlYjM2NGEyM2IzN2ZkYjM5ZDYxMGIxYTA2NWFjOTk4NmZhMDIgcmVsZWFzZTI2LW1haW50Cis2NzUzNCAxMDNjNjhjYzI5ZTVlMmY2NGJiMjlmNTU0OTlhODdjYWNiZTQ0MWFkIHB5M2sKKzY3NTM1IDg5ZTczOGM3OTJjMGJjOGRjMTYxZWZkY2M5NmQ4Y2I2NTNkZjE2YWMgcmVsZWFzZTMwLW1haW50Cis2NzUzNiA0NzkwYjMxZDkyNTc3N2YyZjFjNjY4M2Y1NjRiM2IxYTk1NDFiNzYyIGxlZ2FjeS10cnVuaworNjc1MzcgOWY4ZTUxZmRjZWEwZmJjNjZiY2I4ZDgxZGJkMTg1MWIwZDk4Mjc2NSBsZWdhY3ktdHJ1bmsKKzY3NTM4IGNkNWY1NmE4MWNjZTFkMTY1ZTNkZmJjNWI4YTYwYzgwOTBkMGE5NjQgbGVnYWN5LXRydW5rCis2NzUzOSAzZWNhNWE3MzY1MTYxMGFhOTMxZTNhZGU4YjdhNzNkZjc3ZWIwYjI1IHB5M2sKKzY3NTQwIDI3YmEwOTk1Nzc1MTQzZWJhOTE0NWFkODU3N2IyZjE5MTQyZTBmYzcgcmVsZWFzZTMwLW1haW50Cis2NzU0MSA2OTI5NTYzZGFkMDAzZDY1MWY2MGUzZWExYzk2ODI3NGM0ZDZjYTNmIHB5M2sKKzY3NTQyIDY3ODYwN2NlMTIyZmE4Nzc3YzA0Y2QyNWYwODc3ODVlMzkxMDcyYmQgcmVsZWFzZTMwLW1haW50Cis2NzU0MyA1ODljZGU2MTRiNWJmZTRiYzYxZDZiMDU1YzZjNTIxNGM3ZWJjNjYxIGxlZ2FjeS10cnVuaworNjc1NDQgZGVkOTllNGY2YjNkYmMxMDUyNWU4NjAzMTdiZjhlMDA0YzBkMjU4MCBweTNrCis2NzU0NSBhOWQwMDY3Y2JlYTQ2Mzc1Y2YyMzJmYmI2YmM2MGVlZjk5Y2ViNDMxIHB5M2sKKzY3NTQ3IDU0YzE5YTFiYmFiZDllNWVjOTk1ZTA4MzcwN2QyYzVkM2NhOTI5NDEgcmVsZWFzZTI2LW1haW50Cis2NzU0OCA0ZTEzYjM3YjM3MjNiOTIxNzNkODA4OGM0ODMzOGU3NzFjZDdhNzMyIHB5M2sKKzY3NTQ5IDliYjg2ZjdmYjk0NDc5NWFmOWY5M2ZjMTEwNWI4YjhiOGVjNzk3N2IgcHkzaworNjc1NTAgOGRkMzU2YjE0YjBkN2Q1NmUxMjgzMzc3MTc0MDEzNzliYzliOWQ5OSBweTNrCis2NzU1MSA3MjlkYjk0NjRlZjY4OGFhMzNiYTJjNzljZDZiMTkyOGVhNTcyOGNhIHB5M2sKKzY3NTUyIGJkYjAyZWFkNzU5Yjk3ODNjNmFmMmRiY2UwZTY1Mjg4OWZjNjZmZTQgcHkzaworNjc1NTMgODUxOTBmZjIyNGUwYzQ3MWE2YTE2MmJhZGM5M2M3NTYxZDAwZGJhZCBsZWdhY3ktdHJ1bmsKKzY3NTU0IGMzMTlkMjQ3NGY1N2UwZmNjOGZlNThiYWYwMjEyZjQzZTNjMzExNzAgbGVnYWN5LXRydW5rCis2NzU1NSAyNzk0NmYxZWI4ZmE1NzdlYmUyOGY0NzZkNGNiZTAxOTQ2ZmE1YjYwIHB5M2sKKzY3NTU2IGEwY2VhMDFlY2U1M2NlNmVhZmY2M2E5MTczNTVlMDU2MmU0MDQ4YjkgbGVnYWN5LXRydW5rCis2NzU1NyA3NjU5ODQxZDI3MTRkZWQwZGNmZmY5MmE1MzkyNjdlNGM0NzI0MDIyIGxlZ2FjeS10cnVuaworNjc1NTkgODZkOGE1MjJmNDQwNzNkMTIxMTM2NDIyYTQ2NGU4ZDY0ZThkZGQzZSBweTNrCis2NzU2MCBiNDdiN2Q5YzU5MzYwNmE3YTBhMWNlNjA4NTA3MzdlNzE2MWMwZjEyIHJlbGVhc2UzMC1tYWludAorNjc1NjEgODliYzMxZTA2NDg5MGJmOGE1YzllYTU4NWIyODU1YzZjMWI0ZjA0MiByZWxlYXNlMjYtbWFpbnQKKzY3NTYyIDAxMzcxODk3Y2IxOTAwMzVkNTZiYmY0ZTYzZDIxYjdiY2U1MGM3NGMgcmVsZWFzZTI2LW1haW50Cis2NzU2MyA1ZWY4YjVhNzRlZmEyMWNkYjlkYTU4N2E1YTA0NzUwY2ExMmU5NDNkIHJlbGVhc2UyNi1tYWludAorNjc1NjQgODU5ZjU1MGI0MDAzYWNhMWQyNmZkNGU3Yjg3YmE0MDhjMGRlNGZjNiByZWxlYXNlMjYtbWFpbnQKKzY3NTY1IDNjN2VlZjE4N2JlYTM0ZGFhZDFmZmEzM2QxZWMzOGI0MTU4MmJhMWEgcmVsZWFzZTI2LW1haW50Cis2NzU2NiBmMDhkMTQ0OGI5MGZmNWQ2YzA4NTMwZmU5MGU5OGM4ZmI2M2VhODZmIHJlbGVhc2UyNi1tYWludAorNjc1NjcgNmU1MWZlMWI3ZWQ5ZWE1NDJmYTJjZTZhZTZiMzkxMDRiYzM4ODZlYyByZWxlYXNlMjYtbWFpbnQKKzY3NTY4IGExNzJlYWE0ZDVlYzEwNDk1M2QwYzFkM2RiYTBhZGNlMzc2MjI1MWEgcmVsZWFzZTI2LW1haW50Cis2NzU2OSAxMWJmNTlmZTEwYjkyNDEwN2I3ZGE1MmVjZjUyNjI4MzBhNDNlMTk5IHJlbGVhc2UyNi1tYWludAorNjc1NzAgMmUyNmU4MjE5YWE0MjBjNTRlYjViMDQwZjExMDNhZjVkN2Q3NmZjMyByZWxlYXNlMjYtbWFpbnQKKzY3NTcxIDM2MzZmZTk1NzMyYzEzN2EzMTRiOTdmZmYxYTZlMmZiYzk5ZTIwNTkgbGVnYWN5LXRydW5rCis2NzU3MiAyMGFiMjI2MGRjOTNiYzA3MmRiNDdkYWE5NDI2OTcwNTEzOTFhZTMyIGxlZ2FjeS10cnVuaworNjc1NzMgYzQzNGI3NzE0NzdiZmExYjY0NzhmMWIzOTRjYzQ1MzhiNTQxMzRmMyByZWxlYXNlMjYtbWFpbnQKKzY3NTc0IGIzOGVhYjhjOTkwNGRhN2YyYmRmNzE2YmNiMDE0YjUyZjc4NGNmN2YgbGVnYWN5LXRydW5rCis2NzU3NSAyMGNkOGNmNjEzNzNkOTM1N2QzZWVmOWQzNjRkOGU3NzNmNTBlYzg0IGxlZ2FjeS10cnVuaworNjc1NzYgYzQ5ZDZkN2MxODFlMWYyZjRiOWNkNmVlYmI5ZDRkN2Y3M2I1NTg5YyBsZWdhY3ktdHJ1bmsKKzY3NTc4IDEwMGU0MTYwYWRmYmEyOWYzYmMwMjkyYjQwNjBmY2UwMWNiY2Q3ZDkgcHkzaworNjc1NzkgOTRiNGY4OGU1ZjZiZTQ0NDViNWU0Y2RkMDg0MTBjNzY2NTA0YzFlNCBsZWdhY3ktdHJ1bmsKKzY3NTgwIDAwNzk2NDgwOTgwM2ZmM2NkN2VmMGZhNWU5MjhkMTY3YjAzMjE5ZjEgbGVnYWN5LXRydW5rCis2NzU4MSA5MmNiNmU1ZWI0M2NlNjFmMjU4YTBlMDNjOTgyNjcwNzlkZmMzZGUwIGxlZ2FjeS10cnVuaworNjc1ODMgYTNhYjk1MzQ1YjUyYjI0YzJhOTc1ZWRkMzBiNTgyNDYxNTY4NzI5YiBsZWdhY3ktdHJ1bmsKKzY3NTg0IDA1NTA0NTgyY2VkNjdlZDNmMjgwMjRkOWI2NmM2OWJiZjI1NGNmY2YgbGVnYWN5LXRydW5rCis2NzU4NSBjMDYxODNiMmQwNmY0OTA0MzRkZWVkZDk3MjUxN2FlNGJhMzNjNmY2IHB5M2sKKzY3NTg2IDA5OGRiZDk3MzE0NzdjNWM2NDZiMWY5MmU1YzZkN2I4M2U3MGQ5MDUgcHkzaworNjc1ODcgZmYyMjYzZGUwZDZmNGFiNWJiYzk1NmFjYWE4MWQ2YWU2YTUxZTMwOCBsZWdhY3ktdHJ1bmsKKzY3NTg4IDdhOTJhMTY0ZmMxMmYzYzRkZDAwMDc3NzQyNTJiNmVhYzZmNDI1OWQgcHkzaworNjc1ODkgZGUzMDk0YmIxNDIxZDdkNjdiN2YxZTA0Y2JjMGY0OTdmZjgwZTA0NCByZWxlYXNlMzAtbWFpbnQKKzY3NTkwIDU3YjVjNDYzOWE1ZDIzZjRlY2Y1ZWMxNDNmNDdkYjg2ZWM3ZjYxYWQgbGVnYWN5LXRydW5rCis2NzU5MSBjMDMwMWI1NDMwZDUyNGIzM2MzNDQ0MzI4Zjc1ZjgzMGU2MzMxYWUzIGxlZ2FjeS10cnVuaworNjc1OTIgMjBhMWNjYWRkY2FlZWU3NzYwOGFmNmJhNTBmMDI4YWM3ZmNkMTE0ZiByZWxlYXNlMjYtbWFpbnQKKzY3NTkzIGJiYjEwMWE1ZjhjY2RlNWRlYzU3ZDUzOTAyYjliZmM4NDllMTliZDkgcHkzaworNjc1OTQgNjUxZGZiMzQwNWQyMThmNGJjMTYwNDBiMmQwNmQ5ZjEzZGNhMGZmNSBweTNrCis2NzU5NSA2MjRiOWVhZWRiODBmMDlhYWNiYmZhYTg3Mzg5MDY0MmQxNTZiZDlmIHB5M2sKKzY3NTk2IDI1ZjIyMmJlZmVjNGJkYWVlYjNhNWJjOTVmNTBhODlmYzRhYmNkNTggcHkzaworNjc1OTcgN2YwODIwZDczMjk5MzdhNTA0Mzk3MzE2M2Q1YWVlNzYyMjQ5OGZlOCBsZWdhY3ktdHJ1bmsKKzY3NjAwIDRjOTg0NGNmMmEzZjc4NGUwM2JhMjFhNTYyMTUyM2RlYzMzYzU3MzkgcmVsZWFzZTMwLW1haW50Cis2NzYwMSAxZjJhM2IxM2U4NmQ3YzRiYTg3MDczZTAxOGU2MGNmZDQ3NTNmYjJlIGxlZ2FjeS10cnVuaworNjc2MDIgYWJhMmNlMTYzYjcxOGQxMWFhM2NjNzhiMDc2MmMwODY1MzU0MmM5MiByZWxlYXNlMzAtbWFpbnQKKzY3NjAzIGIwMWRhMjZjNGJmOTQwMGQ3ZTExMDE0NGVmMTc4YmY5NjhmYTY2NTggcHkzaworNjc2MDUgODMyM2YyZGY1NjE3NDc0NmRhNGE1NGNjNmFjNjUzM2JiZTMxOGE3NyBweTNrCis2NzYwNiAyYzc4ZjgxNWUxOTJhYmZmNmUxNDIzNTdmMDQzM2E4N2IxNjA2YTRjIHB5M2sKKzY3NjA3IGFjNDJhOGY3NWY5MjViNzZiOTdmOWJlMGI1YWI3NzRiYmJmODBlNzIgcHkzaworNjc2MDggYTkwNjgyMDNhZmQ1YzAwM2E0MGU1NTQ4MTg2MmM4MDI4MDg2ZjA3ZSBsZWdhY3ktdHJ1bmsKKzY3NjA5IDdjM2FmMzIwMGUzNGI3MjU3NzFiYWM3NTA1MzQ2MzU0NGI2NTk0YzMgcHkzaworNjc2MTAgNjdjZTc0NWE3NDdhODg0NDE2NDRkNjYzY2E5NmY4ODg4OWUzZTQ0YyBweTNrCis2NzYxMSBiYThmZTNhNDBhNWJmNzNkNDUzMjQ2NDJiZDNmNTU2YzY4YWY3MTAwIHB5M2sKKzY3NjEyIDYxOTYzNTQxY2JmNWJkOWZiZjc1MmEyNjYxODk1ZjgxZmM0MTcwYjEgcHkzaworNjc2MTMgZTAwNzNiNzY1MGNjM2NhZTliNzExY2NhMWMwNTVhM2Y0Y2M1NmVlZCByZWxlYXNlMjYtbWFpbnQKKzY3NjE0IGRkNWUxYTA0MmRiYTRmYmEzYzk0MGY3NTVhYTJmN2FmOTM2NmJhOTYgbGVnYWN5LXRydW5rCis2NzYxNSAwYmUxMDM5MTM0N2I5Y2RkMGVmZWM1NzJhZGFmNjZkOTQxOTZjNmQyIHJlbGVhc2UzMC1tYWludAorNjc2MTYgYjEyZDZmNjA2NjE4YWJmZWZkYTQ1N2JjY2NkZjllZjdjNjliOTQ1OSBweTNrCis2NzYxNyBjZTM2Mzg4NzI3YTc4Yjc0NGUyM2RjNzM1NWUzMTNlN2VlOWMzZGRjIHB5M2sKKzY3NjE4IDUyYWQ4YTcyNDcyZTg0NjZjYzM2ZTU3MTc1Y2IxNWVkZDdkNmQ0MjYgcHkzaworNjc2MTkgMTM0OGRjMjQ0Y2EzNGI3YjY1MWI3OTEyZmQ2NmRhMzI1MTA4NjM1OCBsZWdhY3ktdHJ1bmsKKzY3NjIwIDNkZTcyMGNkMTc2NmE1MmUzYWNjYjBiYWVmYTJkYjMxYzAwYjZhZjAgcHkzaworNjc2MjIgNmRhYjI1ODc1MmMxOGIwNGE4N2M2MmI1Yjg4YzllZDlmZjE3MThiYyByZWxlYXNlMjYtbWFpbnQKKzY3NjIzIDE2OTNmZDk0ZDgyOWQxZjEwNzc3MWMzNGQ4OTNiMTExZjhiODVmNjEgcmVsZWFzZTMwLW1haW50Cis2NzYyNCA0YjlhZDNlNzQ4M2UzNWQwMThiNmMzNTFhYjNjMzQ3NTczNWFmMjUwIHJlbGVhc2UzMC1tYWludAorNjc2MjUgZWZmNGFhYjk1ODQ3OTVhMTEwYjIyZDkyMjBjODc3NDI0YmNkNzdiNyByZWxlYXNlMzAtbWFpbnQKKzY3NjI2IGU5ZjkzZTJmOGZiY2E4ZmY5ODU0ZjIwNjc3Y2MxNzk0NzNjYjc4ZmQgcmVsZWFzZTMwLW1haW50Cis2NzYyNyBiMTRmNTg3ZjUxMGU2OTgyMDFhZDAwMDE1MzIyMzliYzgzMmVkYWJlIHJlbGVhc2UzMC1tYWludAorNjc2MjggMGZlNDlhZWMyNTdjYmE0ZWI1NGJkMDM2MTc4ZmEyMDU5MTBjMjU2ZiBsZWdhY3ktdHJ1bmsKKzY3NjI5IDZhYTA5ODVhYmJhOGM2ODRlYzYwOTUxMTM5Yzg1OTgzY2IzNGRhMTIgcmVsZWFzZTI2LW1haW50Cis2NzYzMSA3ODc0Mzc3MTQyZjY0YzFhZDNiNGYwNzU0NDkwMjdjYjU5NDBiYWVlIGxlZ2FjeS10cnVuaworNjc2MzIgNWQwZTkzZjAzOThhM2NmNGMwZmFkNGY5MzJkZDMyN2VkNDlmNGJjZCBweTNrCis2NzYzMyBhZTk4NjgxMDU4YjI0N2NhMzBiNWI0YTQ1ZDU0M2ZmNjhlMTc1NmZmIHJlbGVhc2UyNi1tYWludAorNjc2MzQgZWVjOTI1MmIzZDQ1NDgwMThiYWJkMTkyNzMyMGE2Njk1NDJiMGRiNCByZWxlYXNlMjYtbWFpbnQKKzY3NjM1IGRhYmVkNjlkOGEyYWIyY2QyOGE3MjhhOGRhZDQxNzZhYWFiZjk1ZmUgcHkzaworNjc2MzYgMTcwYTk3NjhlN2FlZWY5NGZlODM4ZGJhNWRiODliOGVkNTI3MjlhZCBweTNrCis2NzYzNyAxNTgwN2UyNjJlYmYwZmE1OGQzOWExMDAxNDdlNjZjZWEyN2YwY2ZlIHB5M2sKKzY3NjM4IGI4YmU5ZDFmMGQ0NTVkMzhhNjhiNzJmNjlkOTVmNTgyOGUxYzE4ZjcgcHkzaworNjc2MzkgMjFhN2U4YzExNzA3MjYyZDExMmM4NWZjYjA4YjFmNjE4NGZkZWMxYSBweTNrCis2NzY0MCAwZDNkZWJjYjhkNDQ5MTQ3MDRkMzNjZGQ0ZTdhOGVlMmZmMGQ4YTAzIHB5M2sKKzY3NjQxIDYwZWU5MDFiNzM1Mjk4ZTgyYWFiODMyZDNkMjgwZGQxNmUwMjliNGQgcHkzaworNjc2NDIgMDI0YTk4OTdjNjUxMGFjZDY2ZjAzYmVhODNkNWFiNmU2OTA3ZmIyMyBweTNrCis2NzY0MyA5MmM3MzQ4M2MxZjdhNWMyMDhmNjJjM2I1YjRiNWYwYjNkZWIzMjM3IHJlbGVhc2UzMC1tYWludAorNjc2NDQgYzdhYmZhYjRkY2RiOTg5ZWM1MjVlY2QzY2E4ZmUyZmViZGE2YjkwOCByZWxlYXNlMzAtbWFpbnQKKzY3NjQ1IDkxNzAwZDIxMjFjODJkM2E4NTUyMTBkNzNlYmU5NGRiNzkxYzU4MjYgcmVsZWFzZTMwLW1haW50Cis2NzY0NiA2M2VlNmEwZjczNTg5OTU0YzcwZWM5MWIwNmViZjlhNDM1ZjhiN2M0IHJlbGVhc2UzMC1tYWludAorNjc2NDcgYTg2Y2RmNDliODIxNDQ2MjNkM2M0ZWRjMDUyOThmZDc4NWZmMzk0OSByZWxlYXNlMzAtbWFpbnQKKzY3NjQ4IDAwOWI0NjZjYzZjYTk0NTJhOGU0ZjZmNzI1MTRkYjcwNzk5YTdkNWYgcmVsZWFzZTMwLW1haW50Cis2NzY0OSBlMDdiYzM3OTg5ODEyNWVmMGE1MjNiYWFlMDRhNDY0MDVlZGNjMmEwIHJlbGVhc2UzMC1tYWludAorNjc2NTAgODIwYzExMmNjMmE4NjVmN2ZiY2M2OTM1OWIyYzExZjhjMGY0N2NkZSBweTNrCis2NzY1MSA3MjUxOTJjNjRjMjg0OTI5NzA4YTQ4OGU1OTI3YTFiZTUxZGM0ODVmIHJlbGVhc2UzMC1tYWludAorNjc2NTMgYzhhYTMxNTRkYjBlMzYyYzg0M2ViOGU2MjhhNTRjMTZmMzRiZWUwMCBweTNrCis2NzY1NCBhOWUzMDI1MGVkMjA2N2ZmZTlhMmI3MzY0ZTIzNThlZTM1N2FjODU5IGxlZ2FjeS10cnVuaworNjc2NTUgOWUxMWM5MmRhNDc2Y2VkNWM4NzM5ZjNhMjEwOGMzYWMzMTVhNzkzYiBweTNrCis2NzY1OCBmNGIxNmMwMmQxZjU5ZTYzZGU1ODZjZTBmZThiOTkzYTBhOThlOGRjIGxlZ2FjeS10cnVuaworNjc2NTkgZGNhNTdjYjBjMjAwMWIwZTNlOTMwNWNmZTE3OGRlYmZmYWJhMGU0OSBsZWdhY3ktdHJ1bmsKKzY3NjYwIDk5ZGQwZDAwNzI1YTU5NWY5ZGRlNWQyYzk2MzFmNmZjNzRjZjk4NzYgcmVsZWFzZTI2LW1haW50Cis2NzY2MSBkY2FjODg1ZDAwZjFkYTlhZjgyYjBjN2I2ODkwNjUzY2FhNmI4ZDM4IHB5M2sKKzY3NjYyIDQ2M2JmYTA3MzA4MTAwYTE5ODY2MTFkZjk0MzQwOWU0MjY5MGZiNGYgcHkzaworNjc2NjMgOGI5ZDA4ZGM4NTAwNDhiMzE2NzQ1MmVkNWQ4MmY0YTAzMDQwYzRmNSBweTNrLWlzc3VlMTcxNworNjc2NjQgMjZhMDlkMzg2NjRhMDFjZjU3NjVhZWQyY2Y0MDI5NTg4OTJiNTIwMSBweTNrLWlzc3VlMTcxNworNjc2NjUgZDA0MGM0MzVhZGU4Yzk4ZGRmNGM1ZjQyZGMyZDhlOTgwOTRmNWIzMSBweTNrLWlzc3VlMTcxNworNjc2NjYgZGM2OTZkZWIyY2YyNmRhMjQwOThkOTY0MGVjN2U5Y2Q3OWRhZmM1NyBsZWdhY3ktdHJ1bmsKKzY3NjY3IDgzZDY0MmEzNDM5YjNlOTlkN2ZkMjg5MjUzNGY3MDMyODU5MWY0MGQgcmVsZWFzZTMwLW1haW50Cis2NzY2OCAzZGFjOTkyODE5NGI3YWI0MmQxMzFmMTU0NWIyMzQ1NmI1ZmZkZTZhIHB5M2staXNzdWUxNzE3Cis2NzY2OSAwOTNlNGZhNTBkODRiNjRkNzJiMjhiZDc2MWU0OTgwODdiY2JhZWJkIHB5M2staXNzdWUxNzE3Cis2NzY3MCAwNWNhZjQ0MGNlOGYwMGIxOTdmOTAzYWNhYzA5ZGEyOGY4N2MxZDY1IHB5M2staXNzdWUxNzE3Cis2NzY3MSAzOGU2MTE2ODQ1NGIyNTZhZmFlOGZmZjFmOTdhZjk3ZWUzMmQwMzY3IHB5M2staXNzdWUxNzE3Cis2NzY3MiBiNzlkMWQ3NmYxOTVhNzFkYmYzNjNhMzY0ZGQ1ODdiMjE4YjU1NzJkIHB5M2staXNzdWUxNzE3Cis2NzY3NiA2MWNiNmM0YWIyMGRiNzQ2ZDM3MTQ3MWQ0ODkzZWIyYmZkZTg4MWJkIGxlZ2FjeS10cnVuaworNjc2NzcgYWQ2NDc3MTY2OTZjNDg4ZGU0YjlmMjFhMzU0N2U0OTE4NjU0NTllNiBsZWdhY3ktdHJ1bmsKKzY3NjgwIGQ0NzBiOWE3ZTllMTg5NmRjMTlkNDZiZjBjMTBkNGUzMmE3YThkNzAgcHkzay1pc3N1ZTE3MTcKKzY3NjgxIDlmYTBhNjVlY2UyM2EyOTFlY2UwOTAxOTdmNTA2NWFmZTMyMDk4ZjQgbGVnYWN5LXRydW5rCis2NzY4MiA0MGY3NTY2MTU1NGRiODA3NDA2NWU5MWM5YzRlZGMxYWNiZDZiYTE0IHB5M2sKKzY3NjgzIGQ5ZTgyOGU4M2QxMjVkZWY3NjIzNWMzZDk4ZDVmNzNhYmVmOGRmNjYgcHkzaworNjc2ODQgNjk0ZDA0ZWQyYjQzZGFjNjU3YWJmNWNjZTgxN2ZmMzVmMDM4N2E5ZiByZWxlYXNlMjUtbWFpbnQKKzY3Njg1IDYyYzg5Y2JmYjUxMWI4NzI1MTY5YjM1ZTQxZjRhYzBjZmQ5YjM3NWUgbGVnYWN5LXRydW5rCis2NzY4NiA5OGFiZTljZGU3Y2U3NzcxYjU2ZjE5NWEyZTRkNzlkMWRlOGE2MWY1IHJlbGVhc2UyNS1tYWludAorNjc2ODcgYTZkZGQ5NDk4M2VhM2QzOGExYzE2NDNiYjEyOWQwN2E1OTY3ZGJkMiByZWxlYXNlMjUtbWFpbnQKKzY3Njg4IDlhMTBkNDQwNGJkMDAyY2Y1MzRhYTFmOTRjYjcyOTc5NWVmMmVkYjEgbGVnYWN5LXRydW5rCis2NzY4OSA0ODIzOWY2MjA5YjA2NGRiZTllMDBiZmI5OTBiMzBiZDc1ODA3NTU4IHB5M2sKKzY3NjkwIDI2NTE4ZDQxYTE4NjhjNDk1YzQ3M2JhNTExMWQ0NTYwMzZkNDk4ZGQgcmVsZWFzZTMwLW1haW50Cis2NzY5MSA1OTY3MGI3Yjc3YTZiNTMwNzc1ZGRjN2Q0MzBjOGU5YTZjNGI0NjBhIHJlbGVhc2UyNi1tYWludAorNjc2OTIgNGFmNWUyYTYwOWFiMzU4ZmM5MDA4ODViZTIxNDk0Y2M5MGEwNWQ1ZSBsZWdhY3ktdHJ1bmsKKzY3NjkzIGIwODlhNTc3N2Q4MDZlNzE3MzkyOGQyNWEzZWMyODFlYWZkNWZiYTMgcmVsZWFzZTI1LW1haW50Cis2NzY5NCBhZTgxOTc1MTAzYjA4OWMyYTAxZWM4MDYwZjhkNGQyYWRiNmRjYTZiIGxlZ2FjeS10cnVuaworNjc2OTUgMjJhYTdkZDBlYTgxYjkxOGE2ZGY2N2U3NGQ2YmYwZTU1YzhhMGZkOCBweTNrCis2NzY5NiAyZjhjMzE3ZGZmMTdlN2Y2YTkyYTgxMzJiZWI0MTcwNWFlZmM2MTdhIHJlbGVhc2UyNi1tYWludAorNjc2OTcgYWJmODE1YjgwYjVkNTU3YTA1MzM2MGIwMzJlNDNkZDEwYWZmYjRlNyBweTNrCis2NzY5OCBmYjI0NTZhMzZhODNhODg1M2UyZTI3NGE4ZjVkNzNlYmJlNjgwOWUyIHJlbGVhc2UzMC1tYWludAorNjc2OTkgZTM1NDY4YmM0ZGY0MTFkZGQzYjhkN2YyZTM3NWJhOGYzMGIyZjllMSByZWxlYXNlMjUtbWFpbnQKKzY3NzAwIDIxZGU3YTkxNDZmNzRhMGM3OGEzM2VjZTBhOGNjOWMwNTBiNGQxMGEgcmVsZWFzZTMwLW1haW50Cis2NzcwMSAwMWMwMjNkOTIxOGViZDk5MzZkYzI2YTQ5YjU3NGQ0NWZkMGI1MWUxIHJlbGVhc2UyNi1tYWludAorNjc3MDIgNzE2Nzk3NTY0NjllOTAxOWQyZWE1MTZkNjcyNGZkOWEyOTkxMzg0MCBweTNrCis2NzcwMyA5YzMxYTk4NzQ0Nzg4YmY2ZmVhM2E2MzU4MTdkODc4N2YyMTUxMzg3IHB5M2sKKzY3NzA0IGU0ZTBmZjdkZGM4NWVjMWUxNTYxOTc2Yjk3ODhlYjVjMTVhMWZmZWEgcmVsZWFzZTMwLW1haW50Cis2NzcwNyAwZGYwZmRmYzhlMWIyYzAzYjEwZTBlMWM4M2ZiOTljNjBmYmM5MDgyIGxlZ2FjeS10cnVuaworNjc3MDggYTI1MjUxNTRlNDRmMjQwZTkwMzU2YWIyYTMxM2ZiNmJmYTFkMTY4NSBweTNrCis2NzcwOSA3NzZhNmNhZmMyMWEzNDgxOTU5MzEzMThlNTc3Y2NjMjZmOTUxOTQyIHJlbGVhc2UyNi1tYWludAorNjc3MTAgMjBhODRlMDYzMDUyNTcyMzJmZjc4NmVmOTI0YmIwM2UwMWZhZTMwOCByZWxlYXNlMzAtbWFpbnQKKzY3NzExIGQ5MWU2Mjg2Mjc2NDUxYmQ3YjJiYzRjOWJhZmZiOGU2YTU2MzcxMzQgcHkzaworNjc3MTIgMjZlNzg5NDIxNjVlMTBmYTY2NjI5MDAzYWI3Y2QwZWFhMGI4YmRlOSByZWxlYXNlMzAtbWFpbnQKKzY3NzEzIDNlMWM0NDlkMTFlMGVhZTAwMmEyZTFlYTRjYjMwYTNiMTg5MTdmMGYgcHkzaworNjc3MTQgZGY2NjQ5OTUxNDEwZWM4M2Q4ZWNkMjY5OTBhYzE4YTJlNDMzZjQzOSByZWxlYXNlMzAtbWFpbnQKKzY3NzE1IDMwMGI5NWZhN2I0ZDNmOWIxZDQ3MTc0MGI0NzNlMThjNjE0YWY4YzEgcHkzaworNjc3MTcgYjQ1NTJlMmZmZDVhNDE4NDUyZDJjMTBjMjU4OGQ4NjY3ZGY0ZjE0ZiBsZWdhY3ktdHJ1bmsKKzY3NzE4IGY5Yjk1Mjk0YWM4NTc3YTg0NjFhOWRlMWE2MjU2MWVlZGU1ODI5YjQgcmVsZWFzZTI2LW1haW50Cis2NzcxOSA1ODU1ZTNlMGU4NWIxNDljNmE4MTFmZjVhM2Y2OTg5Y2RjZGI4MDhmIHB5M2sKKzY3NzIwIGZkZWM1NzY2MTFiZGZhNjM3NWMyNTJjMjNlMDdkOTc5OWRiYjEzZjQgcmVsZWFzZTMwLW1haW50Cis2NzcyMSAzM2ExZTEwMDhlNTQwZmJlNjY1OTgwODllYjk4MThjZTc3MTgyZDJlIHJlbGVhc2UzMC1tYWludAorNjc3MjIgZWVlZjcxZGQzY2NlMDJmOGM2Njk1ODlmMWZkNDk5MDNmMzQ2ZjlhNyByZWxlYXNlMjYtbWFpbnQKKzY3NzI0IDQ2NDZjMzM1MzFkYjMwM2Y5YmJhMTEzOTBhY2RlNjQ2NGJmMGY2YzcgcHkzaworNjc3MjUgMjQ1ZTc4N2I5MGZjMTBlYThmZWQ4MGUzODk1MjkzMDZkZjMxZWMwZiBsZWdhY3ktdHJ1bmsKKzY3NzI2IDYxZDA2NDA5YTY2MDY5M2I0NzhhNjUxNjM0ODhhYWUwYzJiMTE4MDQgcmVsZWFzZTI0LW1haW50Cis2NzcyNyAzM2NkMDY0OTE4NTg1M2VlZjdjMGFhZjFlYzE4N2U4ZGE5OGMwMDViIHJlbGVhc2UyNC1tYWludAorNjc3MjggYTZjM2M3MTVlMmI3MDc0MGM0YjZiNGY3ZGM2ZjQ3YjE2YTdlNTkwNSByZWxlYXNlMjQtbWFpbnQKKzY3NzI5IGZiNWY4YWZmMjNmZDFjY2MxZTYxMmZmYTYzMThhNTg0ZGMzMzZmYjYgcmVsZWFzZTI0LW1haW50Cis2NzczMSAwYjdkY2RiNWNhM2FhYzg5ZTA1M2I2NzkyYTQxYmE5NTI2MzlkNjBiIHJlbGVhc2UyNS1tYWludAorNjc3MzIgMmUyMWNlYTQzNjcwNzFjMjY0OTI1MDM3YzZhMTM3OTJmOGJiNWI4YiByZWxlYXNlMjUtbWFpbnQKKzY3NzMzIDRkMjQyMjk4OTk4MWFlYmNmYzYwMTVhNjcxMjFjMDNhNzYzNjU0MzUgcmVsZWFzZTI1LW1haW50Cis2NzczNCA5Y2FhMWU1ZGQ4MmJkZDAyZTU5NTZjZTJlMzUwOTVkMThjMjE0NDNhIHJlbGVhc2UyNS1tYWludAorNjc3MzUgMWYxYTExNzc2Nzc0MDMzMWU4YjE4MGU1MzAzMWU0M2U4ZTMzZTZiNCByZWxlYXNlMjUtbWFpbnQKKzY3NzM2IDhkOTAyYzUxM2JhMGY4NTlmNTc0MmEyZWU0YWFlZGJjZWIzMjBlYzggcmVsZWFzZTI1LW1haW50Cis2NzczNyA3NmYxODllYTU1MDlmMWIyNDk3YTVkNWQ4Njc3MWU4NTBlMDExNzVkIHJlbGVhc2UyNS1tYWludAorNjc3MzggM2EzMzJiZjA2ZGEwNjllZmE3ODdkZTQ3YmE4Y2VmYWRkMDI1ZmEwNCByZWxlYXNlMjUtbWFpbnQKKzY3NzM5IGU2ZGJhZGFiMDFkOGE4NTAxZjg1YjAzMmNhZjM2M2QzMGI0MmMzNGYgcmVsZWFzZTI1LW1haW50Cis2Nzc0MCA1ZjRmNmI3ZGE4Y2JjYTU3NGZlYmFkOTNkNDM1OGZkZGJhMWVjYWIzIHJlbGVhc2UyNS1tYWludAorNjc3NDEgMTJkZDJjZjVlMGM4MDAyNjUwNWE4M2Q4MTY3MzAxNTU3NDE0NzM0MCByZWxlYXNlMjUtbWFpbnQKKzY3NzQyIDk1MzBkMzM0ZDI2MjQyMTllN2VlMWFlY2FmMzM1MzJlOTEwMjY2YmMgcmVsZWFzZTI1LW1haW50Cis2Nzc0MyA1ODQ2OGZjZGUwNmU5YmY1M2JhNThkNWM0ZjQyZTg5ZTc5YjlhMzUxIHJlbGVhc2UyNS1tYWludAorNjc3NDQgODhjMDhhNjNjYjc0MTU3MGNjMjUwOTZjZWU5MTQ0MWY5YWI2M2YwMyByZWxlYXNlMjQtbWFpbnQKKzY3NzQ1IDZlODBlYzQxMzA5NzNkZTU1ZjUwODczOGEwOWFjOWZjYjMwZDAwNGMgcmVsZWFzZTI1LW1haW50Cis2Nzc0NiBiYjFkOWFlODAyYzMxNTJkMGUzMGIwZGYzZjgzMDk1MDc1OGYxZjBjIGxlZ2FjeS10cnVuaworNjc3NDcgNzQwY2U5YTUyM2ZmYzRhY2M5MTEyMDAyYmM5OTIzNGQ4NmNkNDNlMyBweTNrCis2Nzc0OCBhMDkwYWFiNTc1YzZlZjZjMzIyZDQ5NDc2NzA0ZTI4ZGQ0NWVmOGViIGxlZ2FjeS10cnVuaworNjc3NDkgOWM0MjhkYzNkNmZiNzc4MmUxODA1NzRhYmIzYjM2NTdmMjI4M2FjNCBweTNrCis2Nzc1MCBiNWVmY2EzMDRkMmFmOTFlMWNkMGU2ZTZmYTllMTEwYjBlMDcwMDBkIGxlZ2FjeS10cnVuaworNjc3NTEgZjIwZWI4MDk1MzVlOTFjMGIxNDQxNmNjNTQ0NzM1N2NmY2JiZTk1YyBsZWdhY3ktdHJ1bmsKKzY3NzUyIDQyNjRjZjAwYTc1YzBmZTIwNjJlZDg0NjI3ZjA0ZTQ2ZjM4NzgxOGYgcmVsZWFzZTI2LW1haW50Cis2Nzc1MyBkZDFiOGRhMDFkMDJkMThiZDNkZjdjM2NlZTIyNzU2Mjg4N2M4ODNiIHB5M2sKKzY3NzU0IDI1MjkyN2EyZjMyZDZmZTBmZDBjY2YzOWM1YzczOTJhNzgxN2I1MjMgcmVsZWFzZTMwLW1haW50Cis2Nzc1NSBjYzcyNzIzOWU1MWIxNjQ3MjBmZWU2MjQzZDMxNjU2ZjZkYmYxZWU0IHB5M2sKKzY3NzU5IGViMDcwMDljODY2MDU4MTFlNjkzNWFiYmZlOTgxODkwODYwYTc0ZDMgcHkzaworNjc3NjAgMThmOTZmNjg4M2FmNWQ1MDkyN2U2Yjk3ZDQ2MzMyN2VmMDAyODU4YSByZWxlYXNlMzAtbWFpbnQKKzY3NzYxIDcwMzNiMjg2ODVhMTNiZjQ1NTQ0NWE0MThjOWIwYzViOTY0MDA1YWMgbGVnYWN5LXRydW5rCis2Nzc2MiBiMDk1MTc4YzA0OTI4YTM0NmMwMmI4YTQ3NDA0NzA0Yjc4MmJiNjcxIGxlZ2FjeS10cnVuaworNjc3NjMgMThiY2UyZjJhN2M1NmJhZDRjYjM2NGY2ZjFiMGRjNjdjYzc2MWRhOSBweTNrCis2Nzc2NCBkMTU3NDZhYmY2Yzc4M2M2MjJhZmU0YmQyMzk5MDAyZGM1Mzg3YzI0IHJlbGVhc2UyNi1tYWludAorNjc3NzcgNTc1Zjk3M2ZmMjQ0MzNlMTUyZTg4YTQzNGM0YzhhNjc0NTI0ZDI1MCBsZWdhY3ktdHJ1bmsKKzY3Nzc5IDcyYTdhYzIxOGVhMzI4M2NkMWQ0YjEzYjhlZmQzMmY5YmFmYWIyZDcgbGVnYWN5LXRydW5rCis2Nzc4MCA5NmFiMDhlZDk1YTQwMmFkN2Y5ZmJkNmFkYTFjNDIxN2IwOTgxNjFkIHB5M2sKKzY3NzgxIDRkYjY2YzIwY2E2OGU1YTE4YTI2NjZkNWRmYTZkNjlkODc1MGJhNmIgcHkzaworNjc3ODIgZWE5YzYwMjZhZTdlYTI0NjJjZjNhZmNlZWJiNTU4NTc2OTFiODAwMSBweTNrCis2Nzc4MyBhZDk4MmMyNmMzZGQ1ZjRkNzc5YTY1OTFhOWU3NDZiN2M1Y2U4NjQ3IHB5M2sKKzY3Nzg0IGUzNmJlMWVjNzI5NjVjMDBlNmIwYTZmYTA3ZDMwOGM3YWEzZmZlNGYgbGVnYWN5LXRydW5rCis2Nzc4NSA5ZTlmY2E5NGQyODYyMTY4ZjE0MDY5OGZhN2NiNzI0MTA3ZDY3NmFkIGxlZ2FjeS10cnVuaworNjc3ODYgMzMzNmU0Yjc3YTA0MTJlYWU4N2FhMzJmYTNmMGZjNDIwZmVhZjU4YSBweTNrCis2Nzc4NyBkYzZmOTc0ZmI3ZDRmODMyNDM1ZDA2MTljMzU3NzRmODdmMjc1NWUwIGxlZ2FjeS10cnVuaworNjc3ODggMWFmMmI4YjBhZDg4Y2I5NDc5Y2I0N2RhYmNhZGI1ZjUyNmM3MjhiNiBsZWdhY3ktdHJ1bmsKKzY3Nzg5IGRhY2FhMWY0NDE5ZDcwM2M2ODY1ODZjMmFkOWU3NjdlOGUyZTc2NTMgcHkzaworNjc3OTAgYWI1MWMxNTA5YmMwNGE0NmJmOWE1NDMyOWNhMWNiZGFhMjk4YmNmMSBsZWdhY3ktdHJ1bmsKKzY3NzkxIGVkZDcyNDM3Y2VjM2YzNTdiMjBlYmEwZjQwMDEzZjdlN2U5MTZkMmIgcmVsZWFzZTI2LW1haW50Cis2Nzc5MiA3ZGFiODgwNzBiYzdkZmFkMDg5NTA3MDRlMjkyZDdkMjE1YTc1ODViIHB5M2sKKzY3NzkzIGViMjg3NmFlMDQ3Njk2MGZlNDc2NTRlMmU5MGYzMmIyMzIxN2I1OTMgcmVsZWFzZTMwLW1haW50Cis2Nzc5NCAyMGYxNWMwZjIxZjg4YTlhZjg4NWI3YzA1YzJmMDgwYmU3MzA5NGI3IHB5M2sKKzY3Nzk1IDQ4MDU3NDVkNTU5OTM3N2JmOGI5YzM1YjYzNDVjMGNiY2M1NGE4YmMgcmVsZWFzZTMwLW1haW50Cis2Nzc5NiAyOTk2ODM5NWY5MjA1MzY4OTU4MGRiYTY5YmRkYWVjYWJmZDc1YzdhIHJlbGVhc2UyNi1tYWludAorNjc3OTcgMTRjZDU4ODU0NGZhMWIxYzlhMzU5NWIzMmI4MWExOGUzZmFhNjFkZSBsZWdhY3ktdHJ1bmsKKzY3Nzk4IGQ1MGRhZDJiMjc1MDQyYWRlYWYzMDlhOTU2YjNhZThiMjQ3MDAxMjQgcHkzaworNjc4MDEgOTU0MWEyZWNjNGZiYmNlZTRmYzhlNjI4NjdlNGY4ZTgwYWZhZDA2ZiByZWxlYXNlMjYtbWFpbnQKKzY3ODAyIGI3ZDlhZGM0YzM0Mzc5NmJhZTNjODc4MGFhYjgyOGVjODM3NGIxZTcgbGVnYWN5LXRydW5rCis2NzgwMyAyMmZmOWE0NjI5ODc1NWRlNTg3YjU5NmE5YTRjN2NlMzM0MWJhOTk2IHB5M2sKKzY3ODA0IGExNzViMTliNGJmMmNlOTg0MTBlNjFmMjc5OWYyZGVhYTdmNDdmNjkgcmVsZWFzZTMwLW1haW50Cis2NzgwNiA4YzQyNGYxMTZmYjhkMGVkNzVkN2E5YjJlNGMyNmViN2ZiYzc4Yzg5IGxlZ2FjeS10cnVuaworNjc4MDcgMjFkMzM1N2RjYmVjNDFmYzZmZTAwYzA0OTg1MTE4YWM4OTBmYjEzNiByZWxlYXNlMjYtbWFpbnQKKzY3ODEwIGE0M2E2ZGYxOGJhNGJjNjg5YzIyMThkZDA0NjAwMTcxYTJjOGM3NmMgcHkzaworNjc4MTEgYWVmMDczMGRmOWJhMzI3YThlMTVkMzcyYWU3MzdkZmI2ZWM0MmU2ZiByZWxlYXNlMzAtbWFpbnQKKzY3ODEzIDY4OTg3ZTkzMTE5M2ZhZjY5ZDJiYWJkMTA0MDU3MDY4NzU0MjhiM2YgcmVsZWFzZTI0LW1haW50Cis2NzgxNCAwNzQwN2RlMTgzOTQ4ODNlNGZkZDQ2Y2M5Y2Y0ZDlkMTZkY2FmNDUxIHB5M2sKKzY3ODE1IGQwNmIwNGM1N2I1MzYxODAxOGY3MWJiZWFkOTUwOWNiZTBjMzU1MDggcmVsZWFzZTMwLW1haW50Cis2NzgxOCA5NGU3OWQ3OGRmZjBkZmI1YzUzZjQ5ODQyYzdkZjY1YWQ1Yjc5ZTY2IGxlZ2FjeS10cnVuaworNjc4MjIgZjBkYjA2ZjQ5YTRlMzBlNDk2NjYyNTFmNjQ4Y2U5NWU3MDllMTU2OSBsZWdhY3ktdHJ1bmsKKzY3ODIzIDMzNjY4NjQ4MTQ0NjYwMDBmNzhhZDk3NWI4YzdkZWJiOGEyMzhlNjcgcHkzaworNjc4MjQgOTJlMjE2NTJmMmY0ZDMyZGJiY2Y2YzVhYjM5ZGQ0YmMwMTI2ZGMyNyBweTNrCis2NzgyNSBjYmJlMjU4ODY2NDg3YTQwNjBlZGZhNTJjOGQzOTYwYTFhYzY1NDJkIHJlbGVhc2UyNS1tYWludAorNjc4MzIgZmM5NzI5YzgwYjc5MWE3Y2JjZTdhNmI5YzQ2OWFhY2E1MjI4YTg4NCBsZWdhY3ktdHJ1bmsKKzY3ODM0IDE4OWI0NjJlZTlkNGYyNWJmYzJkMDMwYjY5MTg0YTA5MDhkNzcyMjQgcHkzaworNjc4MzkgMmVlNDY1MzkyN2Y3MmY5YmIzZmYxNGIzMDgzZDRhMjAzZDY4NGRmYyBweTNrCis2Nzg0MCBkYWY2ZDNhZjQwYzRiOTM5ZGQxZGNmMTVhNzc3OTVmY2Y2NzM2ZjdjIHB5M2sKKzY3ODQxIDAwMWEyNTE1ZDU3YjAxODhhNGFjNDViZTlhOGM2ZjRjN2VhZjI0ZmUgcHkzaworNjc4NDIgYWViZjcxMjRkZDMyMmE4ZmI1NTk0ZDQ2ZTlhNjUxZGJlNWI2YTkxZiByZWxlYXNlMzAtbWFpbnQKKzY3ODQzIDgyZTZmZTM3MDc4MjlmNjZmNGQ0ZmQwYzhhMzVhMDNkYzUzMGRjYmEgcHkzaworNjc4NDQgMjRiODBiNzk3OGVjMjE5NGM0ZmM3ZTExMDBhYTQwYjFhZmUxMWY3MyBsZWdhY3ktdHJ1bmsKKzY3ODQ1IDU2YjdlYmYxMmVhM2FkZmQ5MDMyNDYwNmUwZGIxN2NjZjY5NDgzNTggcmVsZWFzZTI2LW1haW50Cis2Nzg0NiA0N2VjYmUyZDNlZWZiYzUzYzc1YmJjMWE2ZWRlNzNkY2UzNDk0ZDk2IHB5M2sKKzY3ODQ3IGJmMjBjMzg0YmU1NjM5YWVhMDUwZTgwMmFjZTg0MTNjMGM4Y2JiM2UgcmVsZWFzZTMwLW1haW50Cis2Nzg0OCA2ZmE1Zjk2OWVmZTY0N2EyM2Y4ZjJhMWI0NjIyZmQ1NWMzMmViOGZjIGxlZ2FjeS10cnVuaworNjc4NDkgNWU4MzkyOWY3ZWViNjFkNmUwMDliYjFmNDY3OTYyMzgxZWVkNWVmYSBsZWdhY3ktdHJ1bmsKKzY3ODUwIDlhMTg5MDk4MjQ4OWU1NDY5OTcyNDAwYzYzNzlmNGIyOTE5OTE5ZjQgbGVnYWN5LXRydW5rCis2Nzg1MSAwZGI5MDdhNzA3MjM2MDlhYjFhODcwNWRhN2YwYjczOWY2MTZkZTA3IHB5M2sKKzY3ODUyIGYzZjFmMTQ2MmM4MjUzNmJiMjM3OTZlNzBjODU1MjIxNDRlZTI0ZGIgcmVsZWFzZTI0LW1haW50Cis2Nzg1MyA0OGYyNzM3MzM3OTU2ZWUxNWUzOTEwZDc4M2YyZWY3NDI0OWIwNjM5IHJlbGVhc2UyNC1tYWludAorNjc4NTQgNjA4ODU2YTdlNTY4Yjg2ZTUxNjNlYTZhODdlYjAxNjcyODhiYzY2OCByZWxlYXNlMjUtbWFpbnQKKzY3ODU1IDNjYzA1NmQyMWMyZjQ0MzVhNTM0ZDIzMzQ1YmFkOWMwYTlkOWIzY2IgcmVsZWFzZTI1LW1haW50Cis2Nzg1NiBiNTYyMzEyMjQ3MjhhYmYyY2IzZWFhM2I0N2FmZDc4MDlmODVkYjkzIHJlbGVhc2UyNS1tYWludAorNjc4NTcgNDk2ZGZmNDdiYzdlZjZmYzFhNmUxNzQyMjQ3NTk5ZjJjOWQ4ZGJiMyBsZWdhY3ktdHJ1bmsKKzY3ODU4IDliZGViMGJlMWRhZDRkYzhiMGYxOWQ2MWM2NmRmODk5ZTYzZTlkZmQgcHkzaworNjc4NTkgMWM5NGU3OThjODViMWE2MTM5NDg4MjdhMDA5YzZhYmJjMzBjZjRmOCBsZWdhY3ktdHJ1bmsKKzY3ODYwIDQyOGY2YzRlODQ0NjIxMGRjMTM5NWE2ZjAxYWNjZTVkOGI2NTY4ZTcgcHkzaworNjc4NjEgZDAyODJhMjkyYjBhYThjMjUyNTFjY2U0MGM5ZDc4N2QyOGY2MGNiMyByZWxlYXNlMzAtbWFpbnQKKzY3ODYyIDlmYjJhMjNlYWM0MzVhMmJkMGQ2ZjI5NGE1YmYwNWI5ZDQ4YTYzZDcgbGVnYWN5LXRydW5rCis2Nzg2MyAwNjQ3OTQ4YmU4NDBlZmQzYmU4OWFlMDg4ZGFhMjVhNTVlNDlhMWJiIGxlZ2FjeS10cnVuaworNjc4NjQgNjcwMjA0Y2YyM2UyMjU2ZDJiZGNkNDIyMjFmN2EwYWM0ZmNiNTZiZiBsZWdhY3ktdHJ1bmsKKzY3ODY1IGE3NjU2MThjN2U5NDRmM2UwNzBhNjUyNGRmZmFjOGVlNmE0M2EyZTMgcHkzaworNjc4NjYgNDYyNzljZWJlYTljZjE0M2NjYjkwYzQ5MzczMzY1Y2VhZTBhNzcxZiByZWxlYXNlMjQtbWFpbnQKKzY3ODY3IDc3M2FmMTg2MDhlM2E2MmE0MDllOTMzZGI0ODA4ZjAzYmFlMGQxZWUgcmVsZWFzZTI1LW1haW50Cis2Nzg2OCBlZGIyZWVmYjY4NTZmNmZiMGYzMTE5ZDU4YmQ5MjQ0ODllMDExNDE0IHJlbGVhc2UyNi1tYWludAorNjc4NjkgNzhmYzA5NmU1MDg1Mjk4ZmQwMTFhNTMxZDY1MmRlNDk3YjlmMjMyNSBweTNrLWlzc3VlMTcxNworNjc4NzAgN2ZlNzJhZTE5YWIyOTBhMzRjNDgzMTNkYjBlMTBlYWZhMWVlNjM4NiBweTNrLWlzc3VlMTcxNworNjc4NzEgNDViZWE1ODQ2OTRlMzUwY2YyYjkxMjQxNWJkYzY4MWE1YWQyMjE2MiBweTNrCis2Nzg3MiBlZTljOWNjMDI4Y2UxNTkxOTU3ZTdjOGQ3MTAxNmUzZDJiZmZlZWY1IHB5M2staXNzdWUxNzE3Cis2Nzg3MyBhZDI0NmNiNGY2NjJlMjExYzQ3MDFmZTNiOWZkY2I2MzljOTk0MDgwIHJlbGVhc2UzMC1tYWludAorNjc4NzQgNmUzZTU4MmZlM2YzODhlZDhiMDI3Y2FiNWU2Y2NiNGQ2ZTU3MmFhNyBweTNrLWlzc3VlMTcxNworNjc4NzUgMGMwYjlhYmI1ODQyNmRkOGE2N2Q4MGQ0NmM1OTdmYmQ0ZmY3MWJjOCBweTNrLWlzc3VlMTcxNworNjc4NzYgOGJiOWE4NTQ2MzliNjkwNWUwMzlkZWY4M2EzYmE1YTcyZGFkMTExYiBweTNrLWlzc3VlMTcxNworNjc4NzcgZmI5OTNmMDkzY2JmNDNiZGQxYzJiYmM0ZDYxNzUzNDM4YWJjZmJjNyBweTNrLWlzc3VlMTcxNworNjc4NzggYTY1NGYxZTFiZTIzMWZkMzNiODkwOTE1ZWE1MzY4ODViZDdjN2NhMCBweTNrLWlzc3VlMTcxNworNjc4NzkgMGRjYTJiNDU3Nzc1ZDQ3MjVkZDQ4MjAyZjVmNWY2N2RhODhmNzA5ZCBweTNrLWlzc3VlMTcxNworNjc4ODAgNTg5ZWRmNjE1YWRiNzI2MmRmOWNhM2JhNzNmYWU1ZDMxNzMxOGE2NiBsZWdhY3ktdHJ1bmsKKzY3ODgxIGE3YjM1N2Y5ZThhNDhlYWQ2MmVkNjFhZjlhOGM1OGM2Y2Y5ZTcyOTcgcHkzaworNjc4ODIgYzRmZmZhMDk3MmUzNjhlMGQ3Mzk5NWJmYzg2OThjZjZhOWNiMzNkOCBsZWdhY3ktdHJ1bmsKKzY3ODg0IDFkOTYxZmU1NGE2ZjlkM2MxOTQxMDY3YTEzMjcyNmJmZjU1ZTFkYzMgcHkzaworNjc4ODUgZjMzZGNmN2U2ZTFjM2VkOTQ1ZWJiOWI5YmIyYzgzZjgxNzcyNjhhMiBsZWdhY3ktdHJ1bmsKKzY3ODg2IDAxYjgwNzUzNzkxNTY1MWJjMTQzYmQxMDMyMzcxNTQwMWMwOGE4ZTggcHkzaworNjc4ODcgZTg3YTI1NjExODhiNTMzNTIzMWZkNmViYWJjN2IzMmExYmZmOWIxMCBweTNrCis2Nzg4OCAxYWRmYWJjYmUwNzMxN2ZhZDVkZmZkYWRlZWI1NjBiMGFkNmJiODE0IHJlbGVhc2UzMC1tYWludAorNjc4ODkgM2FiMTAyZDljZjU2MDZhNzQ5NjgzMzZjMTkzYjExMWIyNjdhYjBjMyBsZWdhY3ktdHJ1bmsKKzY3ODkwIGFmNTZlM2YxNGViNzRiMzBkMzk3M2Q1YmRjZTEyMjA3ZWIxNDg3YTEgbGVnYWN5LXRydW5rCis2Nzg5MSA1Mjk0YjIxNGUxYmU5OGU3OTc5YmJkZjk4MTM1MzQ2MGM2ZjY5YmRmIGxlZ2FjeS10cnVuaworNjc4OTIgNGZkYTRmNTQ1Zjc5MDY5MDEzMzI1MTM1NmFkOTJkODJiODUzNGJiYyBsZWdhY3ktdHJ1bmsKKzY3ODkzIDExNjY3NjEwZTlmNTZhNzNlOGI2ODdmMDk5ZGVlMTY3YTY3MWY5OTggcmVsZWFzZTI2LW1haW50Cis2Nzg5NCA1MDJmNjFkMWZiYWY0YjUxZWMwM2RlZWI3OTg1YzVmOGYxNTNlOTI4IHB5M2staXNzdWUxNzE3Cis2Nzg5NSAxYmY3MjdlMmIwOGZkZTRlMGNhYjg2NTM4MDE2NjM0ODE5YjIwYmYzIGxlZ2FjeS10cnVuaworNjc4OTYgZTQ2NzUxMTNkMTBlZmE3MzljNWQ4YWMzMmUzMmI0ZWRiYTUzZTAzZiByZWxlYXNlMjYtbWFpbnQKKzY3ODk4IGRlN2JiYzRkMGIxZDE3MjVmMjI5MjEyMGU0Mzc5N2U0NGU2OTMyNjAgbGVnYWN5LXRydW5rCis2NzkwMiBkNzlmZGQ4NDIwZjM2ZWM4NWRiZjY0MmZhYjcwZDlhYTBkMjM5Y2ExIGxlZ2FjeS10cnVuaworNjc5MDMgYzNiOTc1OTlkN2ExOTc0ZDFmMjg4NWU5N2Q2MTQ4MTVkYTAzN2IxOCBweTNrCis2NzkwNCAwMzc5OWJiNDQ3NzIyODNkODEwZTYyMWUzOWVlZWViOWUzOGMwN2EyIGxlZ2FjeS10cnVuaworNjc5MDUgYmQzYzVkZTRjYzU0MWJmMDlkYjUxMzlhNjdlNDc3NTdiNTBlMmMyYiBsZWdhY3ktdHJ1bmsKKzY3OTA2IDI0MTAyN2IyNGI0NWQ5NDMwYWMxZTgxOTE0MTMxNTQ0NDNiOWQ5ZjUgbGVnYWN5LXRydW5rCis2NzkwNyA5NGMwNTQ2NjMwNmUyMWYzMjA2MjNiMDFkMGJmMjlmMjNhZTk1YWU3IGxlZ2FjeS10cnVuaworNjc5MDggNGJkZWNhYTRlY2FiMmI2YzQ1NjFkYzRlNjY1NjM2NTk3NmQ3NDNjMSBsZWdhY3ktdHJ1bmsKKzY3OTA5IDNhMjU5YTFlMWQ5YzVlMDkxOTg3YTFlZjk0NjNlOWQ2Y2U1MDU4M2YgcmVsZWFzZTI2LW1haW50Cis2NzkxMCBhYzg4YjM0MzIwNjYwYjBkOTVlMDg4Mjc3MDdhNzI4MDFlNTkxNWZlIHB5M2sKKzY3OTExIDM5NjUzMTRiYjkyMmMyNzY1YzU3YmM1MTAxMDAwOWRlOTdhMmI2M2QgcmVsZWFzZTMwLW1haW50Cis2NzkxMiAzMTMyZWQxMmVjMTAwNmMzN2JiYzIzZWRjZjUyYmJmNzg0YzVjNWUzIGxlZ2FjeS10cnVuaworNjc5MTMgMDVlMDEwNTE1YzRiYzU3MTAyMzBkYzQ2NDI3NTk1NDgzYTZjYjUyZSByZWxlYXNlMjUtbWFpbnQKKzY3OTE0IDBmOWE3ZWRiOGU1OGM4ODFlM2Q1NjUwMjI0NTAzOTk0ZTY4ZDI5MWMgcmVsZWFzZTI1LW1haW50Cis2NzkxNSBhYTQ1YTE3NzNmNmUwY2U0YTQ3ODdkZjVlMmU1Zjg0NmZkYjE0NGVlIHJlbGVhc2UyNS1tYWludAorNjc5MTYgYTBhNmQ5OTA5MzEyYWQ5YzFkODQ0YWY2NmU5YzkxOTMxYjkzODUyYSByZWxlYXNlMjUtbWFpbnQKKzY3OTE3IGM3NGZkNzUxODdkOTA0ODkxZTIwNDdmNzdiNTQzMjllY2VjZjM1MWEgcmVsZWFzZTI1LW1haW50Cis2NzkxOCA3OTI5NTY0MWZjZjBiZTVkN2M1MjZmMmZmZmMyMzhmNmFmZDFlNDVkIGxlZ2FjeS10cnVuaworNjc5MjAgODc1MTI4OGRkZDk2MWM2Mzg4YWJmYjE0NTE5ZTNiYmI0YzRjNzc0OSBsZWdhY3ktdHJ1bmsKKzY3OTIxIDEwMDk3YmQ2NTU2NGYwZGJkY2QwZmQxNjhlNmRlZWUyZDY5NzMzZTMgbGVnYWN5LXRydW5rCis2NzkyMyAwNjlkOTVkZWVhOTE1NGUyYTMyMDUxMGU5NGJiN2Y3MTRjNjYyNDY4IGxlZ2FjeS10cnVuaworNjc5MjQgZWZkNDAwM2VlOGVhNWFhMzQ1MDI3NjBhN2VhMjk2MDQ3MTAyOTQ5OCBsZWdhY3ktdHJ1bmsKKzY3OTI1IDUwMjc5MjYzODAxYjVjZmQyNGRlOGI5ZWE4NDI5NDcwZTM4YWVmNTggcHkzaworNjc5MjYgZjZjZDFhN2EzMWJiODY0Nzc1YmE0ODNlOTY0ZGZkNGMzN2UwODc0MCBsZWdhY3ktdHJ1bmsKKzY3OTI3IDExMmJhM2RmODUxZDJmZjYzOTBlYTJlNGE4MWMxODE1ODhlZWE0ZTIgbGVnYWN5LXRydW5rCis2NzkyOSAwYzg1MmMxMTZlMjM1ZGYwNWUxYmRjYmRhZTI1MDViNTg0OGJjMjRlIHB5M2sKKzY3OTMwIDkyYmMxNGU4YjM3ZTZhYzNkNDVlMDhhNGIwYzlhNTZiYjQ3ZWRhYmQgbGVnYWN5LXRydW5rCis2NzkzMSBjM2I0M2NiNjcwM2M2MmY2NjcwY2ZiZTU2ZThjMTY5NzQ5NGNmMWRkIHB5M2sKKzY3OTMyIGY4NTlkODI0MzY5ZWE5ZmIwNWVmZWRiMjg3OTJjMjIzMDhhNzhmMWEgbGVnYWN5LXRydW5rCis2NzkzMyBhZGI5YjU0N2M3ZmU4M2E1OGY1NzZhZTQ1NzMyMTg0NjA4Yzg5ZTdmIHB5M2sKKzY3OTM0IGY2YWU3Y2M5ZTJlODVkNzc2YTE0NDc1ZWIxMGE4Yjc1YTQ0ZDkwNzIgbGVnYWN5LXRydW5rCis2NzkzNSA2OTlmZGQ4MjE3ZjNiYTgyZDI5MmFkYTAyMWRiMjFkZGVkNjI4ZGQwIGxlZ2FjeS10cnVuaworNjc5MzYgZDI3MDI0NzU1NTkzYjhmNzkyMTBjM2I5YmMzMTY1ZWE4NmVmNmY5NSByZWxlYXNlMjYtbWFpbnQKKzY3OTM3IDMwM2FkNDVhOTY3ZmM1MWVlNzY1MTQwOWVkNGExNjc2YmRkNmUzNzIgcHkzaworNjc5MzggNjY1YzRhYzQ3MDczZTczZjg5ZGQ4MzIwMWZkOWQ2OGJiYWMzYzNjOCBweTNrCis2NzkzOSBkYjUwZGMwMDYxZWRlYjNiNWMwNjJkMDFjZTE3MzljNzRhOWUyYzJmIHB5M2sKKzY3OTQwIDJlNTMyNjJjNTVlYTY3ZWNhZWEyZGUzYWJkMjdhNjczOGQ3ZTc1ZjggcHkzaworNjc5NDEgMTEzNzUxYTg5OTBjOTQ4NzJkOWI3ZGE3NWIxZmE0NzhmMTQ5OWNjNCBweTNrCis2Nzk0MiA0MDhhOWZmNGY4YjJjODFlMzZiNmUzOTMzNTEyYmQ4ZmQ3YzllYzQ4IHB5M2sKKzY3OTQzIDdiMWQwY2VhOTg3MDY0ODI1MDdkZDAzMDdhNmI4MmUxOTVlZjNiZWUgbGVnYWN5LXRydW5rCis2Nzk0NCBmYjE1MGZjZjE2NWQwZmE2M2EyZjM0ZTE3ZmM2MWY4YTRiNmI2NWE4IHJlbGVhc2UyNi1tYWludAorNjc5NDUgNGJkZjllMzQyMjkxYTY0ZTVkZjllNzhmM2QzOTM5NDA1YWM2MjVjYSBweTNrCis2Nzk0NiA5NGY5OTZiYzY0YjNiZjg0ODZmMmI1NjcxM2EyNDlmODdiYWIwZWZjIGxlZ2FjeS10cnVuaworNjc5NDcgZmVjNzJjOWIyNzFkODk2NDUyNTRjYjZiMDVlNTI5MTBkZTk0MWE3OSBweTNrCis2Nzk0OCBhZDc0NDdhMTY1YmJmYWI1YzAyNjJmYWZkMTNiNzk1MDY1OTIzMGEwIHB5M2sKKzY3OTQ5IDFlMTIxNDQxMDM3NWFhZGVlMWNlNjMwZDRhOWI5NmNmZjVlMDljYjMgcHkzaworNjc5NTAgZDI4MWViZjhlYTMwZjQ2OTU0YzEyYThjOGJjNmE0ZWE3Nzc5NzY3MCBweTNrCis2Nzk1MSBlNjczNjMyZTE4ODU2NTNjMGZlNmE0ZTExY2U1NjFlY2QzN2U4ZTlkIHJlbGVhc2UyNi1tYWludAorNjc5NTIgNDFkN2Q4ZjA4NTJiMjg0NzljZDViZWE0ZGRkZDE0ODg5OGU4N2YyYyBsZWdhY3ktdHJ1bmsKKzY3OTUzIGUyYmJiYzA2ZDkyYzgyNjFmZjNhYzdiYTVhOWY1NTBhZTY2MjQ3YmMgbGVnYWN5LXRydW5rCis2Nzk1NCA5M2RhOWYxNGU1YjU4YmRhNWYyMjkzMzMzMjc0MzQwYzVkZTY1Y2FiIGxlZ2FjeS10cnVuaworNjc5NTUgYWZmNmU5ZGRkZDlmODI5ZDY1ZTRlYmYzYmFjOTYzZDEwMjFlNzFiYSBsZWdhY3ktdHJ1bmsKKzY3OTU2IDM5OTFmMzdlYmNhMzFjY2M3NzEzZDYyMDZlYjhlZDFjMDk4NTg0ZTEgcHkzaworNjc5NTcgNzViNGUzMjM0MGE4YWIxMGIxYmNiNjA1ZjU1NDdjNDkyZmRlY2UwZSBsZWdhY3ktdHJ1bmsKKzY3OTU4IDFiODg5MzJkZWZkYjI4YjRkNzk5YjJlNzhiN2M5ZjFlNGQzMWViZjEgbGVnYWN5LXRydW5rCis2Nzk1OSBiY2RmZGMzNjk1NzA4NTBhMjNhN2ZiMTE0ZmE1YzQxYzc4NjQ1NWYzIHB5M2sKKzY3OTYwIGEyOGY5ZTc1MGI2NDgzM2VmYzkzZWJmNjk5ZGY2MmUxNjI4ZDM1ZmEgbGVnYWN5LXRydW5rCis2Nzk2MSBlOWEwZGU0OGI3NDc4NGQwNTAzNzE0ODExNTg2NjEwZDkwOWNiOTM1IGxlZ2FjeS10cnVuaworNjc5NjIgMDI0MzBlNDRkNTBlY2RlZWJkMWZhZTA5ZGFhZWQ5MDE1OTE5ODdmYiBweTNrCis2Nzk2MyBmYmZhMWQ2NzI0ZGU4YzIxYTAyMDBkNmUwY2YzNmI4MDllY2YzNWE2IGxlZ2FjeS10cnVuaworNjc5NjQgMWVmYTEzMDRkZmIzMjUwOTVhZjI1MTQ1NGRhZTNiM2I2M2U3MzRiNiBweTNrCis2Nzk2NSBhOWU1YWM0ZjA5MWNkNWRjM2Y2N2E4YWUwYTA0ZDJjZDkwNWIxODA3IGxlZ2FjeS10cnVuaworNjc5NjYgYTY0OTg4NGM3OWE4MTQ2OGE2YmIzYmNjNTQyNDMwYTBhYmEyNDA2ZiBweTNrCis2Nzk2NyBjYjM1MjRiNjQwN2Y2ZTM4Y2VmNTk1NzI1OGRhZDcwYjhlNzkyYzQyIGxlZ2FjeS10cnVuaworNjc5NjggZWE4N2NjMDY4YzU2ZjQ4YTA5NTk1OWNmODQ1ZGY1YjliMTRkYzUyMSBweTNrCis2Nzk2OSA4YmZiNDY2NDE0YWM5YjU3NDY3NzQwMWVjNWYyODExNDEyM2E5ODAzIHB5M2sKKzY3OTcwIDAyN2E2ZjNhYzg3NDc3YzVlYzk0MzY2NDIxNDE5NzQxY2RmMDYzYWYgbGVnYWN5LXRydW5rCis2Nzk3MSA1ZWMzZTNkNTRhYTY1YWYyNjM4MDRmZTUyMTU1NzgyNzU0OTUwOGEyIGxlZ2FjeS10cnVuaworNjc5NzIgYTRhODlkM2U0MWFmNTljNGI1NGNlYTE4N2E3OGIyOTZjYzcyZTAzOSBweTNrCis2Nzk3MyBkYjBkZGNlMjhkMGY4MjczNGZhNmQ2ODk0MGZkZWI3ZmVkMzU5YWMzIGxlZ2FjeS10cnVuaworNjc5NzQgN2EwMTE2ODBlMTUxYmEyZTIzZTIxN2YxYzAzMTI4OTQ3ZTJhMTNkNSBweTNrCis2Nzk3NSA0NDIwNzhmMDc5YWEwMjUxMWE3YzI0YTg4Y2UxNmU5YzViM2RmYmExIHJlbGVhc2UzMC1tYWludAorNjc5NzYgOWRiM2QzZDM5Y2MzZTc1NzVhOTJiYWMxNDE1ZGU5NTg4MjAyNGQ1MCBsZWdhY3ktdHJ1bmsKKzY3OTc3IDFlMGQyMDVmZThkNzBlNWY5ZjFkNjEzMGVjNjMwYWJhZmE3OTUyNzEgcmVsZWFzZTI2LW1haW50Cis2Nzk3OCA2YTA1NjZhNTEyMTg0YmQ1NTc5ZmM0M2NlMGRmZDAxODcwYmJkMzkxIGxlZ2FjeS10cnVuaworNjc5NzkgMzQxYmY3NmViNmViNzJiNTI4NjVkNDM0YWZjYzZmMjAyNWUyZDI2YiBsZWdhY3ktdHJ1bmsKKzY3OTgwIDBlYTRiZDU5YTQwZDY2YzcxMzUxNjliNGUwYjA2NjhmZjc3NzFjNWMgbGVnYWN5LXRydW5rCis2Nzk4MSBlNzcyMDYxMmE3OTY5ODU5MDkyZjMzNWM1YzQ3NDdmNDU4MzMzNjhiIHB5M2sKKzY3OTgyIDY0MWQyNzkwM2JjNTc0OWFlMGY3YjI3MWZiOTU3YmZmOTQ5ZjQ5ZTggbGVnYWN5LXRydW5rCis2Nzk4MyBiZGVkNWJkNjBlOTU0ZGE2NTM1Y2IyYTI2NTQ0Yzk1YjE0ZTYyNTk4IHB5M2sKKzY3OTg1IDdjNzYyNGEzM2Y4YjMyMzM0NGI5MTA0YWFiYTkzOTI3OGE0MDZlMjggbGVnYWN5LXRydW5rCis2Nzk4NiAzNzU1NDNiOTgyNDQ2MDI5ZWQzYzc0ZDlkZjk5YTNmMjU2NjBmMzA1IHB5M2staXNzdWUxNzE3Cis2Nzk4NyA3M2RjYjhiNDIxZjgwZDE5NWM2YTI3ODMzMDBhY2U5Y2Q1MWVjZTQzIHJlbGVhc2UyNi1tYWludAorNjc5ODggMmYxNWQ1OWRmYjgwNDg4MDE4YWJlOWIzZGUzMTIzN2NjZDcwODA5MiBsZWdhY3ktdHJ1bmsKKzY3OTg5IDQ1N2VjODg0YWYwNDVjMzVlOWQ2OWU5MWM0MDc2ZWZjODk3MzA5OGIgcmVsZWFzZTI2LW1haW50Cis2Nzk5MCBlMmViYWMwNjI0MzIyMTNjZTQyZjg1MTJjYjc1YzliMzdmNDEyZmU1IGxlZ2FjeS10cnVuaworNjc5OTUgNmZiN2Q4ZjQyNzNmMmIwNzUwMjExYTI3ZGIyYTBmYzU0YmJjMGM3ZiBsZWdhY3ktdHJ1bmsKKzY4MDA2IDJhZDY4ZGQwYWM5MGY3YTQyOTc0YjZkMjQ1ZTk4MWNkNWJiZDUxZGEgbGVnYWN5LXRydW5rCis2ODAwNyA4N2Y1NDMyYjllZGM4ZDlhNTFlNzIwMGVlNmE3ZGRmMWEzOTFjYzZkIHJlbGVhc2UyNi1tYWludAorNjgwMDggYjk1ZGRlOTU5OTZhOWIzYTE0N2RiYmRjYWMyNGI0NWVlZmNiMGI1NCBweTNrCis2ODAwOSA4N2Y4NmNjZTQzYjE1MzViZmJhZGFhMTkyYmNjZWIzMjUzODZkZmY1IHJlbGVhc2UzMC1tYWludAorNjgwMTAgMzgzNTdlMWQyMWU2YWI5ODI5ZWExMTQxZTU4MWM4Y2RhMmMxNjIyZiBsZWdhY3ktdHJ1bmsKKzY4MDExIGI5ZWZkZDhmOGIzMDkxZWZjODc0MjM3ZDRlYzU3MzM2OGJjNzg0MmYgcmVsZWFzZTI2LW1haW50Cis2ODAxMiA5ZjgzNjMwODg1MzZhNzI3ODE1NmYwNTk3OTgyODEwMzY3MTJmMzM4IHB5M2sKKzY4MDEzIGExYWJmZTAyNzA3NGM5OTRlNmU0YzY2MjEzOGY2Yzc4ZjI4NjMyMDAgcmVsZWFzZTMwLW1haW50Cis2ODAxNCA4OWEzZjVjOWI1MDMyMjRjZWE3MTA1MDhjYzJlOTE1NDU1ZmQ5MTUxIGxlZ2FjeS10cnVuaworNjgwMTUgNzFlNzMyYzkzMjM0NDVhMjBkMzMzMzRjZjA2MWI0YWE3Y2M4NmIxMSBweTNrCis2ODAxNiA3MGRlMmUwOTFlNTgyNmMwZGY5YjFiNmJiYmQyYzg1ZTk0ODYyZmNlIGxlZ2FjeS10cnVuaworNjgwMTcgMThkODE3YTdhMzlmYTlmOGFkZTNkNDAyNDllMjMxMTdkMzBkNTVmMCBweTNrCis2ODAxOCAzNGM3M2E0NjNiMzU1YThiMTIxNjFjYWJlYTM0NzJjYzRhMDIwYzAxIGxlZ2FjeS10cnVuaworNjgwMTkgMjkzMmIzN2YxZjA0NDIwNWNlZGFjZjNmNGY3YTk5OGI3MjFiZGRhOSByZWxlYXNlMjYtbWFpbnQKKzY4MDIwIDQ0ZWE5ZWFjOGM1YjUyNTIyYzRiMGRlODA0NGE3Y2Y3ZTYwMTJhMmIgcHkzaworNjgwMjEgN2Y1YWE3ZTU0YWQ1YTEyNDI3M2FmY2E4NjA3NjcyNTljYmMyZDY0OSByZWxlYXNlMzAtbWFpbnQKKzY4MDIyIGY3YTNmMTQxNjFlMTc1NzdjZmU1MjE2N2RhOTE0NzFhMzFmOWZjNWUgcHkzaworNjgwMjMgYWUxZTExNDIzNzI5NWQ5ZmYxYzE1MjdiNDBmMjVjNzZlMmEwZWNkNCByZWxlYXNlMzAtbWFpbnQKKzY4MDI3IDFhZWE4M2UwYWU5ZjAyZWJjOTM3NWVmYTBkNzY5MGRhYmQyYjg0MWMgcHkzaworNjgwMzAgYmMxYjM3NDM5NWY0MDAwMWE5MmQ4YWFkNDE0ODYxM2JiOTQwNDFmYSBsZWdhY3ktdHJ1bmsKKzY4MDMxIDNkNDQ3YjdiMTM2MzRmZjM0YzBiOWM3ZGUzNDFjYTllODVhZTNjZGIgcmVsZWFzZTMwLW1haW50Cis2ODAzMyBmMTQ2MmQ5MjRhOWMyMWVlOTgwNGRhNmIwYTI5NzgxYzAzNjQ4NTQwIGxlZ2FjeS10cnVuaworNjgwMzUgYWQyMGI2OWIxOGI3MGIxODI3MTU2NmE4ZWJiNTM0NTEzMzljODM5YiByZWxlYXNlMjYtbWFpbnQKKzY4MDM2IDljMDZmYjdkMTI2MDJlYzdkNmNkZWI2ODAxYTY2MGJiNGU4ZGU2ZjcgcHkzaworNjgwMzcgOGZhNjExYmJiMDc3ZmY3MTA5Mjc1OWJkNThjNjNmMTgxOTk4MTRhZCByZWxlYXNlMzAtbWFpbnQKKzY4MDUxIDdhYWVmNGQ1Zjg4MGU3ODYzZmQ2MDYyZTJlMzFmZWRjZDRlMWU0ZjQgbGVnYWN5LXRydW5rCis2ODA1MiBlNzgyZjk3MTE2ZGMxY2YxMjgyMTQ1ZWFiZGJlMmViNWQ0NTk0NGYxIHJlbGVhc2UyNi1tYWludAorNjgwNTcgZjczZmM0NDE3NDRmMDY1N2Q4MDczMzhkYjExZTllZTg2M2I0NjhkYSBsZWdhY3ktdHJ1bmsKKzY4MDU4IDYxOGQzMzk3Zjg4OGNlNTQzMjUxZjgyOGNmMmI2NGJlNGE2NDFjZTUgcHkzaworNjgwNTkgMjhhZWNiZjFlODMyYjA1ZjY3OTRkYWM3ZTFjNWU5YTZjNDNmYTJlMSBweTNrCis2ODA2MCA0M2FhY2JlNjQ3Y2IzZjQ5YTU3ZTA1MjFlZjY0N2FiZDE3NjEwYTE3IHJlbGVhc2UzMC1tYWludAorNjgwNjEgNzI5OTk5OTI5ZWY0YjViZDZhYjFkMTUzMDRjYTE0ZjM1NTczYmUyNyBsZWdhY3ktdHJ1bmsKKzY4MDYyIDExNTRkMDI0NWI2NjEzOGI0ZDNkMzc1ZDUxZmNkYTdkZjI0OWU1NzMgcHkzaworNjgwNjQgYWZhYjMxOTI1MmU3OTIzZGY0MThkMGI5ZjNhY2ExYWRhYzQwY2FjYSBweTNrCis2ODA3NCBmYTZmYzU1MjZmNzFmMTIzNDE2NDY5NjA2M2RjMzQ1OGNkNTkwMmFjIHB5M2sKKzY4MDc1IDJjODQ0Y2ZjMzc1YTMxYzIyODZlMzgyMjllOWFiM2FkNjhjYmNmMjUgcHkzaworNjgwNzYgYzMzOGJlZTIxMTczOTcwNTY3MDZlMGViNzhjOWRiNGM1NmEwNDEyZiByZWxlYXNlMzAtbWFpbnQKKzY4MDgwIDc0MzE2MzhlN2RkOGZhY2M0NWY5YjNjZGNmYjVjZDU2NmM2OGExMjQgcmVsZWFzZTMwLW1haW50Cis2ODA4MSA4YTQ4MzQzOWNiNTVmZWIzZmU5M2NmM2YwNTcyNTkzYzUyYzliMTI1IGxlZ2FjeS10cnVuaworNjgwODIgZDg5NzVmMjRhZjhiNThkZjljZWRlZjdkZjQzZjZiYjg5Y2RjNzlhNSByZWxlYXNlMjYtbWFpbnQKKzY4MDgzIDdkNTUwY2I1MzY5ZTA1YWU2YzdhMTc0NjdiOGEwZDhlMjhjOGUxZTIgcHkzaworNjgwODQgM2UxOGI0NTlkNGM4ODQxZGU3OTAzODk3NTExOTA0N2RlNmMwODY1YyByZWxlYXNlMzAtbWFpbnQKKzY4MDg5IGI3NWQ3NjkxNTFiYWE4ZjBhMTE0OWRhYThjNDMxYzc0NzYzZDJlZTIgbGVnYWN5LXRydW5rCis2ODA5MCAwMmZjZDljNWZlZmJmOTgwZmMwMTY4YmJlYTZjNjgxNGFiMTQ1N2JlIHB5M2sKKzY4MDkxIGVmNjQ5Y2U5Yjc4MzlhMDc0N2M0MTA4Nzc2MzllNTdjYTkyNjcwNTUgcHkzaworNjgwOTIgMDZmNGMzN2Q2NWY5Njg5YWE1YzIzODBmOTBlMmZlNjU0Y2MyYmViZCBsZWdhY3ktdHJ1bmsKKzY4MDkzIDE1YTY2MjYwODVmNGE1MTNlZTQyNGM3OGU1YzgyYWVhM2M1MTJjYjMgcHkzaworNjgwOTQgNmQxNjNjMmFlZjU2YjhkYWFhMjRlZDQ4ZGFlYjZmN2JhNWYwM2Q1OSBweTNrCis2ODA5NSAzODUzYzE1NTMyYzRlZGUzM2RkNjlhNzU3ZjIxYzVmMjBjOGNkMzA3IHJlbGVhc2UyNi1tYWludAorNjgwOTYgMDIyZDk5OWM0ZDFhOTRiMTdiNGFjODFmMGVkZjc3Yjk2ZWUzMGY0YiByZWxlYXNlMzAtbWFpbnQKKzY4MDk3IDljMmFjNzg2NjZkNDU3ODMyNTBmZjYzYmNmYzAwMGNiYzc4NTczNjggbGVnYWN5LXRydW5rCis2ODA5OCBkY2JlOTliMGNlODMyMjc3MTM2Y2E1MjUyNDY4OTAyODA0MzE4YWRkIHJlbGVhc2UyNi1tYWludAorNjgwOTkgMWM1ZDk0MjEyOGI2ODgwNTdmZjk1ZjUzNGY4YWU3OThiZDczMDY1MSBsZWdhY3ktdHJ1bmsKKzY4MTAwIGM0MzIyNjg3NWJkNDEwNzliMjU5ODBiNjRkNmEzY2YzY2ZhM2ExYjYgcmVsZWFzZTI2LW1haW50Cis2ODEwMSA3ZTFhOTViMjZhNWNhNmNiZDQyOTdiNjVmYTQ5OTAyM2Q2NDljYjg0IHB5M2sKKzY4MTAyIDVjYzA3M2Q2NjFmN2I2ZDMzYjJjM2VjNTQwNmQ2ODhhMjUxZmRmZWEgcmVsZWFzZTMwLW1haW50Cis2ODEwMyA1MDc0ODMwZTliOTk0NjQxZjE1NWZhODk1YmVmOWFjY2FiMWQxYzNlIHB5M2sKKzY4MTA0IDcyMzlmYmNkY2Q0ZmJhNjViMWNhMzRjYTM5ZTY5NzMxMWQyZWU1Y2UgcmVsZWFzZTMwLW1haW50Cis2ODExMiAxM2RhZjk5ZGIwMzU3NzBhNDI5ODcxYzQzMzY3MGY5NGRmZWMyNjZkIGxlZ2FjeS10cnVuaworNjgxMTMgYmY2ZjJkZmMzMTBiYTE0ZDk5MzU2YTEwYWM3MTk0YjIyODUxYzgxZiBweTNrCis2ODExNCBkMzJhNjY5Zjk2ZGE5OTNlMDkzZTU4OGQyZGUzYmEwZTU1MDBlMTYyIHJlbGVhc2UzMC1tYWludAorNjgxMTUgOTJhZDk2NTQ0MjUyNTgwNGE3ZGM2Nzc3YzUwMDU2ZDExMWU4Nzk3NCBsZWdhY3ktdHJ1bmsKKzY4MTE2IDU5ZjNiZjJhMzI4ZDQ0ODQyYzZjMjk5M2YwNjg5NzFlNzUxYzYzZTkgbGVnYWN5LXRydW5rCis2ODExNyA5MjdmNWQ5MDg3ZjVhMTVlNWE0OTRhYzlkYWYzODZjZmM2OTVmZTllIGxlZ2FjeS10cnVuaworNjgxMTggMzk0ZTM4OWU4OWYwOWE2ZWYzOGEwYjRhNTg2MjMwNjRjYjQyYTExNSBsZWdhY3ktdHJ1bmsKKzY4MTE5IDIwZWRiN2U1MTU5ZjRkYzJmOTM1MWRhZmQwYzBiZDkwZDczMzAxOTEgbGVnYWN5LXRydW5rCis2ODEyMCBkMWU1MzZjNmZhMmNiMjA1ZjRhZGUzYTcwODAxYTMxZmYyZjM1NjAxIGxlZ2FjeS10cnVuaworNjgxMjEgNjgzYjNmOGIxMmI0NGEyMzc4OWYyYzRiNzE4NDliYjk1NDdiODhjNSBsZWdhY3ktdHJ1bmsKKzY4MTIzIGYzNTQwM2EwMTFiOTRjNThhOWNiNjU4YzAxYTNlNjc2ZGExOGU3NDEgbGVnYWN5LXRydW5rCis2ODEyNCAxYzRlNjc4YTFkM2IxZWRmYjEzNzJiMWNjYTlkMWVjOTVjY2E4MWExIGxlZ2FjeS10cnVuaworNjgxMjUgMWI4MmYyYjgyZmQ5MjExYWQ1MjZmM2Y4ZThmYTkzNzU0NGIyODljMiBsZWdhY3ktdHJ1bmsKKzY4MTI2IGU1ZGJmMzhiMWRhYzFhNzFjODllZGZhNDExZDRhNDFjOTQ0NzAyYWQgbGVnYWN5LXRydW5rCis2ODEyNyAzNmU5NzkzZWJiNWQ0ODNjNDgwZTIzM2M5NThkOTc4ODk5YTNkOTkxIGxlZ2FjeS10cnVuaworNjgxMjggMDk5YjQ4ZmU5MjJhMGRmMjY3ZDM5ODQ0OGZjOGNmNGM2ZmNkYzZmYiBsZWdhY3ktdHJ1bmsKKzY4MTI5IGNhYjg1MDFmOGFlNmIzM2IyOTVkMmZjMGI5ZDRlMGNlOTE2NWM2OTcgcHkzaworNjgxMzAgODQ2M2ZmODYxYTI2ZDg0ZDcyOTljZmRhMDYwMjJjM2U1MzQ5MWI4MiByZWxlYXNlMzAtbWFpbnQKKzY4MTMxIDQzNmU2MzE3YzdiNGI5MTM0MDMzZDFjMjUwNTA5M2Y3MDk4MjQwZmMgcmVsZWFzZTI2LW1haW50Cis2ODEzMiA0ZmJmNTJjOTliNmVkNDM0ZGIyNDBjN2EwOTU0ODA1N2MyMzk4NDM1IHB5M2sKKzY4MTMzIGM3YTQ1Y2JhMDc4NWQ2Y2E1NmIzMzIxMjM2OTBhZjMxNmVhMjY2MGEgbGVnYWN5LXRydW5rCis2ODEzNCAwZTViMjRhZGU0YTIxNzZjZTBjNTE1YzRiZWM1ODYwNDM2MmZjM2RlIGxlZ2FjeS10cnVuaworNjgxMzUgZGYzOTIzYzM2ZWM1OWY3ZDIzOGY3YWM4ODRlMDhlOWQyYmEwOGZlMCByZWxlYXNlMjYtbWFpbnQKKzY4MTM2IDA2ZTFmN2Q5ZGE4M2RlNTQyYWQ5NGE0NjZiZGQ4Njg3MzI3NzhhYzggcHkzaworNjgxMzcgOWRkMmUyNTdhYzdjMjJlNWY0YjQ3MzI3ODM4YjJlMDA5NThmMDA4YSBweTNrCis2ODEzOCBiYjMxMjIzYWJmYWE4YzVhZDYyZDI5NTg0YmE4YWU5ZDBmOTJkN2NlIHB5M2sKKzY4MTM5IDlmNjA0ZDMzYTQyZjcwYmU4ZTA0YTQxNmU0MmUwOWNiNGE0NzExNWEgcHkzaworNjgxNDAgMmIxM2QyMDJhNDdkNzM4NmFjYTQ0MDI0NDQzODhjNzAwNjllMmUxMyBweTNrCis2ODE0MSBhZDRlNTJkMTU0ZjRhMjk4ODM2ZDc1N2VmNDIwMGY3MTY3YWQyYjg3IGxlZ2FjeS10cnVuaworNjgxNDIgNWM2ZmVkNzNiNmE5MTgyYTk4NThhMWE4OTdjYmQ3ZDVhMTgxNGU5MCBsZWdhY3ktdHJ1bmsKKzY4MTQzIDJkZWJiZTY0NDVlMGZkOTFiY2EyMmZlNDYzMGU4Mzc0MWYxOTA0NzIgcHkzaworNjgxNDQgNDgwMTk2OWRhZGVlM2NmZDdmMmRlNjRhY2UzMWFkZGUxYzU1Yzk4NyByZWxlYXNlMzAtbWFpbnQKKzY4MTQ1IDYwOTdmOTdiMGQyMjA3M2JhMGUzMjA5ZTY4M2M4ZDUwNGE0MWI3MjMgbGVnYWN5LXRydW5rCis2ODE0NiA0MGZhODY4OTgxY2NkOGY3ZTZmMGJlMzk4N2UxMzU1YzZiMmQxMDU4IGxlZ2FjeS10cnVuaworNjgxNDcgY2IzNDc5Y2E4MWFjY2FlYTg0OGY0ZGRmNzNmYmIxOTViNTZiNjNiNiByZWxlYXNlMjYtbWFpbnQKKzY4MTQ4IGJmMTczNGM2YjZlZDIyM2NmMWQxYzkyMTJmZDVkM2UzYWUxNDkzMjIgbGVnYWN5LXRydW5rCis2ODE0OSA4NGNiMDFjNTY0OGIxNzRkMDdkYjM1NmI1YmQwMDRkODMyOTgyMDEzIGxlZ2FjeS10cnVuaworNjgxNTAgMjUzZTFjNzNmZGU2OWNhZWI3ODQyMGEyMTk3OGQ0MjU1MGM0ZGEyYSBsZWdhY3ktdHJ1bmsKKzY4MTUxIDVjNGY2MzljOTIwMDg5ODYyYzJmMWYwYzY1NTIwYjhhZjQ3MTU1MGEgcmVsZWFzZTI2LW1haW50Cis2ODE1MiAwOGRiYTdmOTcwMzAxOWE4OTAyZTdlY2ExOGZkNTE1ZWQxZmJkNzEyIHB5M2sKKzY4MTUzIDJmMDFmOTk1ZjcwNDEyYjcwMjNkNWIxOTEzZDBiMjg4NTkzODgzODkgbGVnYWN5LXRydW5rCis2ODE1NCAzNGQ1MWMzMGE0ZjRiZjFjOTIzNGRlZWFjMmZjNGY3NTAzZjM4MjYyIHJlbGVhc2UyNi1tYWludAorNjgxNTUgOTRjZmJmOTNkNzFiNGM2MTI1YTYxOGY2OGIxM2RlZjEyNGJmZWY5OCBweTNrCis2ODE1NiAxZGNiMTkyMTZiNjRkNjIwYTgwYWM0ZWMwYjNiODA1ZTI3MjlkNGUxIGxlZ2FjeS10cnVuaworNjgxNTcgZTdhZWU3Yzk5ZDNiNzdjMGE3YjE4ZTRjN2E4MTFlZDcyMjBmMDA4NSBweTNrLWlzc3VlMTcxNworNjgxNTggNzUzOTU0ZDE2ZWQyMTYwMTJjNDlkMzA3YjNhOWMwZjc2NmExMjM4OCBsZWdhY3ktdHJ1bmsKKzY4MTU5IDI2OTZhMzliY2YwYjA1Nzk4YzJkMjY1ZjU3MjE3YTU1YWY0ZmY5ZTcgbGVnYWN5LXRydW5rCis2ODE2MCBjNTBiMTE4ZWFmMzQ3Nzk0YjRmMjRmOWU5NDIwNWQ1ZDYwNTIyMzQ2IGxlZ2FjeS10cnVuaworNjgxNjEgMzU1YmMxMjJjMTQ1NjVjZTIwY2RjOTg5NWRkMDQwMzYyNjY2ZDBiMSBsZWdhY3ktdHJ1bmsKKzY4MTYyIGRlN2QxNjdiOWZmMTBkYWYyYmVmMzBhNzc0NTZmN2Y3M2E5OGU2NDcgbGVnYWN5LXRydW5rCis2ODE2MyA2OWEyNDBlNWYwMWRjZmY2ZjM4NGI1M2RiMmMwYzk5YTI1YjhlZmFmIGxlZ2FjeS10cnVuaworNjgxNjQgZTBjNjZiYmI0OGRhODNlYzc1MTQ3ODFiZmMyYjFmZGQ2YTdjMWIxZCByZWxlYXNlMzAtbWFpbnQKKzY4MTY1IDQwMGNmY2FhOGQ0NmVlODVjMTFjYjYxYjA4YTVjZWIwNjZjOThlNGYgcHkzaworNjgxNjYgY2E4NmFiZTE1OTI2MzlhNzZlMGJhNWU5YjQ3M2Q1ZTJhYzgwNjFjNiBsZWdhY3ktdHJ1bmsKKzY4MTY3IGZmMTA2NDUzMjU0YTFkZDlmZTkwNWI1ODU0MGIzNmFmMjMyZTAyZDcgbGVnYWN5LXRydW5rCis2ODE2OCBhNTQ5YzkyNzA3NzY3M2VhZGU5NTRlNzkxODJlZGI3YTdjOWYyYTZjIHB5M2sKKzY4MTY5IGFiYmNlNDhiOWFlNDBhNjlhY2M2ZTQyNDFiYzk0ZDBhMjI0NDM2M2YgcHkzaworNjgxNzAgYmNmNDZmMzNiZDkwNTE2ZDczYWE3YTQ5YjAwMTRkODJlOGQ1MDc2MyBweTNrCis2ODE3MSA4ZWRkZDY2NWU5YjlmYjZhZmVkZGM0YmIxMWJlNmE4M2IyY2Y4OTIwIGxlZ2FjeS10cnVuaworNjgxNzIgNjM2YTBhYzk2MDdiN2EzYTQwY2EwZmNiZjMwNDQxYmMxMGU2MDI4MCBsZWdhY3ktdHJ1bmsKKzY4MTczIDEyOTdiYjcxZGM2NGIxNmMyMDgyZTZiN2NhZTAwYTNhOWRhOTE3YmEgbGVnYWN5LXRydW5rCis2ODE3NCA2OGM5ZjhiNjU4NGQ0YjFlZTFlMmZmMDFhMGY4YTdlMTRjMjBmZmE1IGxlZ2FjeS10cnVuaworNjgxNzUgMjAzODRlYmZjNzE2ZjJlMGE5ZjRhOTBiNmM3ZmVmZDMzZGNlNDRmYyBweTNrCis2ODE3NiAwNTg4YTk4NzkzY2QwODc1ZjBlNDVkMWY4ZTMwYWY4NmJlYTNhZTY0IGxlZ2FjeS10cnVuaworNjgxNzcgZWIzNThkYWUwY2NhZDhhNWE1N2VjN2RlMzZjOGJmMTNlOTRkOGRjZiByZWxlYXNlMjYtbWFpbnQKKzY4MTc4IDBjOTcyODM3MmQwOThhZjRjZTRmODk5MThiMTM5MjI5NjY5M2MzYjUgcHkzaworNjgxNzkgMDA1MmQyM2QzOWY2MTVjNzYzZTczNWM0ZTYyYTgyODM0NTY3ZGZiNSBsZWdhY3ktdHJ1bmsKKzY4MTgwIDBlMzhjNzBiOTc3NmVhN2FjMWRiYWRjNTY5NTU4MzE0Zjc3YjU2NWUgcmVsZWFzZTMwLW1haW50Cis2ODE4MSA5MzAxMzM5NzlkN2EyOTFhZDAxYzUyM2U0OGZlNDEzZWUwMDA2NWQ0IHB5M2sKKzY4MTgyIGFkOTIxMDRkNTA2MDdlN2E3MzNjOTVjZmU1NjRlZGUyMmMwMTk0Y2YgbGVnYWN5LXRydW5rCis2ODE4MyA5NGZmM2RlMWUxYTQ1YmViZmZiNWM1NzhkZDcwZWQ1ODE0NDkyZTA4IHJlbGVhc2UyNi1tYWludAorNjgxODQgNWUxNjQ5ODhiZDUxYWVhZWVkMzgwMTdhNzUwNjkxMmE0NTNmYzMxYSBweTNrCis2ODE4NSBkMzY3YmU1NDNmNmNlOGFmNDA3NjRiMTlkZTc1NmJjODdhNjFjZDA0IHJlbGVhc2UzMC1tYWludAorNjgxODYgNDQwYWRkNTE2Y2YxZTFiNzEzZmU4MDY5OGJmZWRlMjg3ZGNjYzE1MSByZWxlYXNlMjYtbWFpbnQKKzY4MTg3IDM2ZDAyNzAzNzgxMjMzMzI3ODhmYmIyMjNkNmQ1OGFjM2FlOTA0NjUgcmVsZWFzZTI2LW1haW50Cis2ODE4OCBjNDVmZWQwM2Y3NDc1YzJkMmJhYzVjZTQ2NmExZWIzMThmZGNkNDIzIHJlbGVhc2UyNi1tYWludAorNjgxODkgZmM5NGM5YzQyYzZjODAwMDYzNWE1NWZjNDZhYTcyMGQ4YTQ1YTFmYiByZWxlYXNlMzAtbWFpbnQKKzY4MTkwIGZhNTVmYTQ1NTZmMDk5MTRjZGE0MWVjNDY3MzdiMGRlZDFiMTNmMjkgcmVsZWFzZTI2LW1haW50Cis2ODE5MSBjMjcyZmNhYzI0YTRhMjViNWNhNzU0ZDhmZjc0MjcyMDE1YjA3NWI2IGxlZ2FjeS10cnVuaworNjgxOTIgZjJhNWQ3ODI4YjgzZTcyMDBiNjQ2ODIyYTQ2MzY4ZTk2YTU5MGY3NSByZWxlYXNlMjYtbWFpbnQKKzY4MTkzIDczODg2NjA5MjZhYTE0OWViYWIxYmFlMmM3YzljYmY0YzU3MGNlNjggcHkzaworNjgxOTQgMTM0ZDE3M2I5MzUwYjJmZTQ1M2QxODNiYWYyZjc1ZjRmNjc0MGI2OCByZWxlYXNlMzAtbWFpbnQKKzY4MTk1IDQyN2Q4Yjc2NWE2YTAwYjAwNjc2Nzc4MDkwNzk1N2E0YzIyZDUxZGIgbGVnYWN5LXRydW5rCis2ODE5NiBhNzg4ZDRmMTBiOTc4M2NlOTNiYWZiMmY1ZWEzOWJhNDYyYWZlODE2IGxlZ2FjeS10cnVuaworNjgxOTcgYjk5MWZlNWY2MzdhODVmZWFiOGFhMDA3ZTQxOWUwOGQ1MDk5ZWMwMyBsZWdhY3ktdHJ1bmsKKzY4MTk4IDhlNzcyODY3NmY3ZTg1YWFlYmIxZDg0ODIzYTA0NWJkYjg4MjRhMDIgcHkzaworNjgxOTkgYTkyZjcxZDQ2ZGM0YzFjMzI5MDZjM2IxMDQ5MjllNGY5MWI2MDJmZCByZWxlYXNlMjYtbWFpbnQKKzY4MjAwIDI5ZjY0MDc3YzQyZjg4ZDFiMGQ1NDVkYTk0OTU5Nzg5YWMxOTc4YTQgcHkzaworNjgyMDEgNzkzNDcyM2Y3ZGM0ZmJkYTE1MjU1MzhiZjk2ODY4OWI4ZTg2YTE2ZSByZWxlYXNlMzAtbWFpbnQKKzY4MjAyIDI2MDQ1ZWQwYzI2ZTJjY2UxZDZmNWIxYzVmZGIyOTI3MDhmNjkxY2UgcmVsZWFzZTMwLW1haW50Cis2ODIwMyBlY2YxYmI3YmFlYjFlYzc2Zjg5ODgwNTUwNTY0OGZjMDMzODg0NWExIGxlZ2FjeS10cnVuaworNjgyMDQgNGQxYTY4YmQ4MDc2YzBjNmUzNDY1ZjYyN2UzMjlmMWY5NjllZThkMSBweTNrCis2ODIwNSAyNTNmOWU2ZTllMDc5OTc1NDRhOTU0MTUwYTAyZGFkNGNjZTA3NDgzIHB5M2sKKzY4MjA2IDEwY2M1M2U3MWIyMTIzZDU0NzlkOGYwY2QzNmZjNzY0Y2UwYmVlNWIgcHkzaworNjgyMDcgOWE0MjVlYjBmN2VhNTRhYjRlNDgwY2RkM2MyMzdmOTNiMDYxNGY1ZiByZWxlYXNlMzAtbWFpbnQKKzY4MjA4IDdhNmUzYmM2MGJhNmRlMTI3YmNlZTk0NGIxMzE2M2Y4Mzk0MDY2MzggbGVnYWN5LXRydW5rCis2ODIwOSBlNzhkY2Q4N2Q3MzNmNmY3YjI0YWIxYTY1OWU2NTA5NDRlYmNlZmRmIGxlZ2FjeS10cnVuaworNjgyMTAgYWE0Njc4N2I5M2NjNjUxYThkZjIzNzI3YWIxMGM0ZTFjN2EzNGM0ZiBsZWdhY3ktdHJ1bmsKKzY4MjExIDEwNDAwNWQwN2VhNTE5MGUzZDIyMDZlMjY3NmUwZDc1MmFhMmU3NTEgcHkzaworNjgyMTIgODQ1ZmE3ZDM2NjQyMDkwYzI0MTkwZDQ0MmViODdlOTJhMWVkMzA4NSBweTNrCis2ODIxMyBkZTI3NzEwNzBkODUyYjJjODNjMzZmZDhlNzlkNmRmNTNmMGE4NjY1IHJlbGVhc2UzMC1tYWludAorNjgyMTQgNmU0ZDZkMzkwNWE3OWRmMWFlNzNmNzJkYmQ1MjEzNWIxMGZmYmQ5ZiBsZWdhY3ktdHJ1bmsKKzY4MjE1IDYwODU0YmRiY2YxZTVhZjc5MGM4OGEzMWIzNmM5NTM1OWYxM2Y1NTUgbGVnYWN5LXRydW5rCis2ODIxNiBiMDY2ZmJiNmE4YmMyOWZhYmQxZWY4Yjc2NjlmNzc1Y2RmOTU5OGNiIHB5M2sKKzY4MjE3IGM3NTcyMGMzZTE2ZWUwMjgzZWIxZDU4MmE0MzFkMjIzMGFjYzYyYTAgbGVnYWN5LXRydW5rCis2ODIxOCA2ZWZjMWRlMzQ1ZjVjOTE3N2U0MDVkYWM3ZjY3NWIxZWI3OWUxZDIzIGxlZ2FjeS10cnVuaworNjgyMTkgZmIwOTgyYzMyMTdlNDU4MDQ3NzJhYzZiZGYzM2ZhZjA1ZjgzZmIzZCBsZWdhY3ktdHJ1bmsKKzY4MjIwIGM1MjE3N2YzNjg1Mjc2NDBlN2YyMjk5YmNjZDU5ODQxMGRmMjYxOWMgbGVnYWN5LXRydW5rCis2ODIyMSA3ZmI0MzFmYTQ5NDYwMTg1Yjk0N2I1ZDg1ZmZjMDA3NDc2NzA3MGMyIGxlZ2FjeS10cnVuaworNjgyMjIgOTg5MzE0ZDdjYzVlZmIyZGZjZWZiNTZjMmNlYzI0YmI5NGNhYjUzOSBsZWdhY3ktdHJ1bmsKKzY4MjIzIGM5MTg0ZjUwNzM0ZmJiOTc0YmUzODJmMTJjOTJhZGI4MTQ1ODFjZTEgcHkzaworNjgyMjQgNWFiMzA2M2NhZjRjMDg4Nzg4NDQ3NmY4N2FkY2UyZjQyMzMxMTkyNiBweTNrCis2ODIyNSA1ZjI0NzVmZTUyMzk5NTMzY2UwZGU0YmMyMzlmM2VlZTZjMjIzNDQ2IHB5M2sKKzY4MjI2IGMzZDNiNzYwZDhiZmIwZWY1MzFhMzY0YWNkNjcxN2RkMjg4YjNlMWIgcHkzaworNjgyMjcgMGUwNWI2Y2E2YWZkM2JhN2M1OTFmYTQ0NDgwZjg0NDU2NzE3ZmRjZCBweTNrCis2ODIyOCBlNDc5Yjg2ZGExMWRlNjRhZWQ4ZWM4OTRkMWZkODkwMzYzMmVmMzM4IHB5M2sKKzY4MjI5IDgzZWZjMjQ2N2ZhZjM0N2I3NjZiMzkzYzFmMTQ4OTI2MzJlYmU5OGEgcHkzaworNjgyMzAgMDcyZGVkZWU3N2ZhNmRkNDg0NTY5NjdhZjU3MGY2OWFhOThjOWIyOSByZWxlYXNlMzAtbWFpbnQKKzY4MjMxIGNkZDVmYTA1YzE0ZDAwOTUzNjcwZWZkOGI2MjRlNDBiZGU4OTk5YWYgbGVnYWN5LXRydW5rCis2ODIzMiAyNGEwOTM3ZDc2MjQzNGJiM2NlZGIwODQxYmYxOTFiMGQzYjg5NTc3IGxlZ2FjeS10cnVuaworNjgyMzMgYWVlNTVjYTA0YzhmYTMwMWY4MmU1Y2ZhNWYyNDE0Mjk3ZWE5NWFjZiBweTNrCis2ODIzNCBlZTljZWQ5Mjg0M2E3YTU5OTIyN2RkOGU2YjAxM2EzMGFjM2ExMTY5IHJlbGVhc2UyNi1tYWludAorNjgyMzUgNzEzYTNhMzhmOTc1Y2ExYzQzOWQ3MmE5NWI1MTg2NWVkYjAyNzBiNSByZWxlYXNlMjYtbWFpbnQKKzY4MjM2IGY4ODVjNzZmMWU5NTUxMjI2ZDgyZWQ5MjM1NDk3NjliNzcyZGMyZDUgcmVsZWFzZTI2LW1haW50Cis2ODIzNyBkZGI3M2E0ZGZjMjA0ZDUzOWI0MGRkOGI2YjlkY2QxOTFmNTljOGZmIHB5M2sKKzY4MjM4IDZkZjNkMDhiODllNDUwZGFkMTRhOWEyMDg5OTdiZWVmYmZmZmNiNjEgbGVnYWN5LXRydW5rCis2ODIzOSAyMWQ3ZTllODc1OTFjNzI5NTM1ZmI3MTVkMjA2OTZmYWRmMWQxNzhmIHJlbGVhc2UzMC1tYWludAorNjgyNDAgYjU2MzlkMjQ1YWQ1MzU0NzlkNzE1YTIzM2JiMDNkNjBhOWUwNDRlZiBsZWdhY3ktdHJ1bmsKKzY4MjQxIDczZGVkOTRmYjhiZWFiMzk4ODE4N2RkODFhMzEzNmM2N2NjOWM3NTQgcHkzaworNjgyNDIgOTFjZjllZDQ2YjcyMzJlMzU1ZTBjZDk5NWI4ZTM5NDcwNWNmODc4OSBweTNrCis2ODI0MyBkM2M3ZTlkOWFkYTdjMDcyM2IzYjAwYzgyNjUzNTY2N2U0MzJkMWQ3IGxlZ2FjeS10cnVuaworNjgyNDQgNmM4ZWQ2Njc0MzI4OTJmMjczYzc4ZTg2NTVlM2Y2N2FiMWFmODEzZCByZWxlYXNlMzAtbWFpbnQKKzY4MjQ1IGFmMjBkZDE5Y2MwZDk5ODA3ZjNiYWYwZWIzNDVmOWFlYjk1MmFhMGUgcHkzaworNjgyNDYgOTFhOTIzMzk3MzQ3ODM4ZTlmMmEwMGQxYjkwY2U3MTU4YThhMGY2ZiBweTNrCis2ODI0NyBkMDkxNDMwMGUxMmViYzVhOGVlMGY0ZGQ0YTc1Y2RiYzVhNmFmMmY5IHB5M2sKKzY4MjQ4IDhhYTE5NTMwZjlmMjI4ZjllODNkYjI1NjMzOTJkYmNjYTI4ZDgyNzQgcHkzaworNjgyNDkgNDUwZWNiYjU2YzdiNTBlYjkyYThjZTZmOWM2MjUxZTcyN2I2ODMwNCBweTNrCis2ODI1MCAyODMyMWRiZGZkYzBjMDZiZDM4ZTNhMWIzOGEwZDY0NDYwMjM0MGY5IHJlbGVhc2UzMC1tYWludAorNjgyNTEgOTYxODgwMzFiMWI1OTc2YmI3ZWEwZTY4OWU2NGMwM2Y5NGJmNzJmMSByZWxlYXNlMzAtbWFpbnQKKzY4MjUyIDQyMjlhNGIxNGYxZDg5M2MzNGI3YTFkMTk2NzQyNDRjNjI4YzM5MDggcmVsZWFzZTMwLW1haW50Cis2ODI1MyA3ODI1NzhjOTJlMWQzYWJjMTIxMGNmNmU3ZGYwM2UwOTVmNjZhMzkyIHJlbGVhc2UzMC1tYWludAorNjgyNTQgNWViZjgyNjg5ZDM2YjRlNWU5MzQ4OWU4YTY2NTcxODNmNjliYzk3YyByZWxlYXNlMzAtbWFpbnQKKzY4MjU1IGZkNGRhODU1ZDYwM2Y1ZjdmNTg1NDMzZTFkNTQzMWEyOTJlODUyZjAgcmVsZWFzZTMwLW1haW50Cis2ODI1NiBjOWU1YzFmYTI4NWU4M2FkNWM5NWRlNmIwY2JiNjU4Mjg3MzRmNDA2IHJlbGVhc2UzMC1tYWludAorNjgyNTcgZTgwYzgwNmNlMDJiNDY0NDBmYjMyY2MwMTMyOTQ4MzliMTg1ZTAzMyByZWxlYXNlMzAtbWFpbnQKKzY4MjU4IDQ0Mzg3ZjFhMjhhMjBiNDY2OWUwNWYyMGZmMzc4OGVkZDc0Yjc1Y2MgcmVsZWFzZTMwLW1haW50Cis2ODI1OSA5MWYyZmJhMDJhNTAyMjI4OWY3ZGU5NmIyYTYyZTFkMjI4NDgwZmQxIHJlbGVhc2UzMC1tYWludAorNjgyNjAgODFjNDliYTdiY2NmNzc3OTY2MjJkMTkzNTk3NDIyY2VlMjJjNGU1NCByZWxlYXNlMzAtbWFpbnQKKzY4MjYxIGZhZGY3OGY1ZjhhZDM2ZWRlNjM1ZTZiYTU0ZmM0ODllOTEzNWUyODkgcmVsZWFzZTMwLW1haW50Cis2ODI2MiBkYjQ2NDQyNmEzNjUzNzIxNzlmYmQ3OGJkMGNjOWVjZDdiOGQyNmUzIHJlbGVhc2UzMC1tYWludAorNjgyNjMgMjRiMThlODdkNjY0ODkxOTA4NTI0MTVhMTc3MzAzYTI1MTQ1NjE4ZCByZWxlYXNlMzAtbWFpbnQKKzY4MjY0IDE1NDgzNjFiZmQyZjNiYjZmODVlZWY1Yzc2NDM3ZmQxZDhjZjA1M2UgcmVsZWFzZTMwLW1haW50Cis2ODI2NSBiYWRiNDcxZGJhZWJlMDFhODVjYzQwMGQ3YzNkNDA0OTI0ZTFkZjMwIHJlbGVhc2UzMC1tYWludAorNjgyNjYgMjc5YTUxMDA2ODg1MDBlZGI3MmRlYjk3ZTI3Mjg4NjE3MTczMTU5YyByZWxlYXNlMzAtbWFpbnQKKzY4MjY3IDA0N2RmMGE1ZjE3NDM2MDRjNjY1ZjI0YTI1MTkzNjBhNWFmY2JhOTcgcmVsZWFzZTMwLW1haW50Cis2ODI2OCA1YTViMGIyZDAxYjkzZWM5ZmJhNTUxZTBmMDc1YmMxNTIxOTY2NjQ2IHJlbGVhc2UzMC1tYWludAorNjgyNjkgYmQwZTM2MWJkNjQyMTUxYjdiMjEyMmE1Y2NjMzM4Mzk1ZDk3NmEzMiByZWxlYXNlMzAtbWFpbnQKKzY4MjcwIGZiZjdmNTNmNDg4OGQyOTJmOGIxZWU0MTExMmNiN2NlYzcxYWE4NTEgcmVsZWFzZTMwLW1haW50Cis2ODI3MSA2ZjMwYjk3MTQ4YjY1OWMwNmRlMzQxYTQ2MDRlOGQxNzcyNDEzZTNlIHJlbGVhc2UzMC1tYWludAorNjgyNzIgODUxYzJmMDRmOTVkNWFlYmE0OTBmNzBkY2EzOWMwYzdhZmZhYmFmYSByZWxlYXNlMzAtbWFpbnQKKzY4MjczIGI5NmQ2MTY4OGI4N2NmMDNlNDA0ZjAzZWE1NDEyZWI1ZThkN2RhZjUgcmVsZWFzZTMwLW1haW50Cis2ODI3NCBhNmVlMmZmNGRlNGQ4NzNmZjI1ZjgxNTcxYTI2YzJkZjcwOGJmMGVmIHJlbGVhc2UzMC1tYWludAorNjgyNzUgOTNjZjNhNmVhZDYzOThjZWFjZDQ1NTNkOTc1MjY5NzRlZTJhZTFkNSByZWxlYXNlMzAtbWFpbnQKKzY4Mjc2IDA1YmY3MDAyZWM5NDI2NTEyMDczYTU4MzQxYWM4ZTcxNmViMjVlZjkgbGVnYWN5LXRydW5rCis2ODI3NyBhZmFjMGNhYmMzYWQyMDcyMzUwNmIxYmMxNjE2ZjliNTgxZDkzZmIzIHJlbGVhc2UzMC1tYWludAorNjgyNzggZWE3ZTMwN2RkZDUxYWYzNTRmMTg1M2NiYjJhNDE4YzcxMGRkMzNkMiByZWxlYXNlMzAtbWFpbnQKKzY4Mjc5IDdhYzFmNmJlOGFkNTU1MmIzNTc3NjM1ZTY4YTU3ODlkMWE1ZTM2ZDcgcmVsZWFzZTI2LW1haW50Cis2ODI4MCBmYjkwNTg5MGQwNDlhYTMzYTQ1ZWVkY2M0NjY5MzM0NTgzZGYyN2VkIHJlbGVhc2UzMC1tYWludAorNjgyODEgOGIyYzFhMGE5YTJiODEzOGU0MDVlMTZkZTU5YTViYWY4ODc3Zjk3NSByZWxlYXNlMzAtbWFpbnQKKzY4MjgyIDIyYjExYzIyY2VmODQ1OTc5OWRkMmI2NmExMWYwNTNmM2M3NDdkZGQgcmVsZWFzZTMwLW1haW50Cis2ODI4MyAzYjA4Njc0YjliNDgzZjc3YzI3MDY5MjRlNmZmN2Y5ZTI5OWRlNGY4IHJlbGVhc2UzMC1tYWludAorNjgyODQgMWVhNTAxM2Q5ZGFlMGYxMjE1NDM5MmM1MzdlZDgxYzcwMzNhNzE0MSByZWxlYXNlMzAtbWFpbnQKKzY4Mjg1IDllYzk5ZmRmODA0ZjE4MzQ3ODE1YmRjZDgwNmIwMjRjZjZkZjQ2OTcgcHkzaworNjgyODYgOTQwM2RlZmI2OWZiMTliZjliZGI0MjUxZjU1ZjExZTNhZmY0ZmZjZCByZWxlYXNlMzAtbWFpbnQKKzY4Mjg3IDFjYThjNjg1OWEwNzg1NDgzNWQ5YWI3Y2NlNDZjYjE1NzQ1YTU0MWEgcmVsZWFzZTMwLW1haW50Cis2ODI4OCBiYWVkYjA2OWU0MjU2YmFiMzQ5NjNiOWQ3ZDQ3NDY0MmVkMGI0YWVjIGxlZ2FjeS10cnVuaworNjgyODkgNTM2Nzk4NTk4YWYwODhkM2E0MDkwMzA0OWZlOWYyNWUxZWRjOGQ5ZCBsZWdhY3ktdHJ1bmsKKzY4MjkwIGQ0MWE4Njg3NTMzMmE3NmE0MGEzY2UwYjUwZmQ3YjYyMGNkOGM3NTcgbGVnYWN5LXRydW5rCis2ODI5MSA1NGE1YWZmYjZhZjAxODU4Njg0NWViNzYzZTVlZjM1NGVhM2NjNThiIGxlZ2FjeS10cnVuaworNjgyOTIgZjRlZTAwMDZlZTM5MmY0ZWU2NTBjY2UzOGQzYjI3NTc1NzNmNzRmMCBsZWdhY3ktdHJ1bmsKKzY4MjkzIGRhMzRmMDI2NjRlZGM5ZDUyMTgyMGM3Zjg1ZDc3NjA5YWMwZTkyYTUgbGVnYWN5LXRydW5rCis2ODI5NCAwNTdjYjQ2ZGRhYWQ3YTllNzIzOTY4OTQ5NTkzNWI3NGQ3Njg5MGY0IHJlbGVhc2UyNi1tYWludAorNjgyOTYgZjg1NDM3M2E2NmU1NWJmZDNhMjI1YTM0OTA3ZWE3NzQyOTc2MmU5YiBsZWdhY3ktdHJ1bmsKKzY4Mjk5IDNhNTQwZWQ3OTVkM2IwNjhmODQ2MmYwNTcwYTkwY2E5MjVjNGUxMDkgbGVnYWN5LXRydW5rCis2ODMwMCBmYWM5MzUwYjQzN2RjOWRkMWM4ZmU3NTllMTNjM2Y0NmVlZWUxYTg2IHB5M2sKKzY4MzAxIDExNDZiN2IwZDUxOGIzYzc5ZTU2MzFjYzZmMTVmMmNiZTJmNmVhYTAgcHkzaworNjgzMDIgNTg0YjI2M2I5OGRhNjRhNGI3N2JiOTYzZDU2ODY5ZjU0ZDQ4M2E0MyBsZWdhY3ktdHJ1bmsKKzY4MzAzIDlkNTA2M2I0MTFlODc5NTZiNDNmNzNlNjMwMTM4ZDBlOWU1MGNjZmMgcHkzaworNjgzMDQgZTE4ZjMyMmI5MzFlNzkwNjQyMTUxYmI0NGU0YWMzMDk2OGMxZjkzYyBsZWdhY3ktdHJ1bmsKKzY4MzA1IDZlNGRkZTJlOTVmN2QzYzQwZDE5N2Y5ZTBlZmYxNDFlYzhiNGVmZTMgcHkzaworNjgzMDkgMTNmMTg1N2RkOWJmNWRhOGU0ZWZlZmJhOGExZmM0ZjgzNTI4ZGE1NCBweTNrCis2ODMxMCBjMjVlNWI2MjBhNGNmMjQ4MTc3M2Y4ZTI3NjVhMTA3MWE1OGY0ZjliIHJlbGVhc2UzMC1tYWludAorNjgzMTEgOTJjZDM1NTFmYTEzMWI3OTljN2ExZjRmODU2MjM3YzQ1N2NiM2IwZCBsZWdhY3ktdHJ1bmsKKzY4MzEyIGJjOWY4MGRkYmJlMjVmNTJmOGE3OGNkMGZhNzA3NWI3NzllNDVlMTMgbGVnYWN5LXRydW5rCis2ODMxNCAyY2FmZTk4OTExN2EzM2RlNzkyZDkzNjIwNmMxODcxNGU4NjI2YjVkIGxlZ2FjeS10cnVuaworNjgzMTUgNDc0NzQ1YjdhMTJhNmNhOWVlNjUyZTc5YTAyMGMzZmNlZTI4ZjM4OCBweTNrCis2ODMxNiA0MGJhMmExMjUzZmE0YmQ0ZTE0NmIwNTBkZmE0ZmQwMDMxYzBkZTkzIHB5M2sKKzY4MzE3IDA5YTQ5OGViMTgyMDU1ZGVjNmI0Zjg2ZjQzZWJiYTVkYjViMzViOTcgbGVnYWN5LXRydW5rCis2ODMxOCBmZDBiYjY4YWQ1YzhiYzFjZjg1MjM4OGYzM2MzODg0OTE3YmMzZDk4IGxlZ2FjeS10cnVuaworNjgzMTkgOWRlMjFlNjE1NTc3ZThmYzRiMGZiOGIwNjQyYzhhZjUzMzkxNDhkMyBsZWdhY3ktdHJ1bmsKKzY4MzIwIDJiZTQ5MGFiZjMzMzNjMjAxMzk1M2U0MzRlNDU2NzFhNTdlNTQ3YmYgcmVsZWFzZTI2LW1haW50Cis2ODMyMSA1NDM2ZTUzNGRhNmU0YTM3OGY5YzhhNzNhZGZkMjM5ZDYyMTIwZDczIHB5M2sKKzY4MzIyIGRkYWVjNDdlNmRkOTlhNmUxYjVmZTM0MmEwNGVmNWYxMGM4ZTk5Y2UgcmVsZWFzZTMwLW1haW50Cis2ODMyMyA2YTZmMTM4ZDQxNjJjZjAwYmQ0NzJlNTIyMDU5MzhmZDc3NmJhYmY1IHB5M2sKKzY4MzI1IDE1YzRjOWUzMzBlOTIwZmI2YjI1MDEzMDA0YTgwOTNkMzdjYzllZTkgbGVnYWN5LXRydW5rCis2ODMyNiA4Njg1ZTU4NTVhNDc5NzM5ODg2NjAzNTcwOTAyMTVjNzk5N2RmNzg3IGxlZ2FjeS10cnVuaworNjgzMjcgZTE3MWNkNTNhYzRiNmVkNzU3ODc3N2Q0NmUxYjk5YmRlMGUzYzcxMSBweTNrCis2ODMzOCA3NThkOGZiN2JkOTkwODk3NTI4OTQzNTkxZjk1M2NjMmM2ZmEzZjEwIGxlZ2FjeS10cnVuaworNjgzMzkgOTE3NDg5NTk3MmNiMDkxYzEzMDhkZTU0NWFiZGY4NmMwMTY1MjJmNCByZWxlYXNlMjYtbWFpbnQKKzY4MzQxIDZkOWIwMzMxZDA3M2EzZWVmNTZlYjUxNWIxOTZjMDg0NjIwMDBkZTkgcHkzaworNjgzNDIgMjU1ZTY0YTEzNzU1MWRiNWFiNjg2MDZlYWZiNWEzMmI0YTVkNmU1ZCBweTNrCis2ODM0MyA2NGY5MWZmMjRmZTZjMjQ4MDFjOTFkZjEzNWY5ZmI2OWNjZDBjMTQwIHJlbGVhc2UyNi1tYWludAorNjgzNDQgNzI3ZWUxNjY1MjE5ZGRjN2RmMjZmZTNkYTk5MWEwNGExMmM4ZmZmZCBsZWdhY3ktdHJ1bmsKKzY4MzQ1IGU0YWNmMDc5YjUwOGRjMDEyNTFmNGRjNDQ5ZDliOGZjMjY2YWVjYWIgcmVsZWFzZTMwLW1haW50Cis2ODM1OSA0NWFlZjUzZjVjNzFhYzRiM2NiODkwZDQxYzFiOTc0NzBjYTg5MjgwIHB5M2sKKzY4MzYwIGZjMDAwMDY4MmJmZTdjMGVkNGRmYzMwMzdlODAwYjIwYzFlNWIwMmEgbGVnYWN5LXRydW5rCis2ODM2MSBiZTliMTViZjY4MjgzMWNhZmMzOTVhYjM4MjZiYjZkNDEwOTFjNmY3IGxlZ2FjeS10cnVuaworNjgzNjIgNjE3MTk5NzY5YmQzODRiNTE4NGJjNDZhMjg2NGU3MThmOThhMjNmNiByZWxlYXNlMjYtbWFpbnQKKzY4MzYzIDJmZjk5MTBmMTUyNmM4OTM0NzIwNGRiZDk3MjM5YmFlMGU2MWNkMmQgcHkzaworNjgzNjQgZTk4N2UwZGY4ZjQ4ZjQxMDA1OTJhNjY3YTQyMzIyZWViNmZlNjQ1NSByZWxlYXNlMzAtbWFpbnQKKzY4MzczIDg5MzNkZWJiOTMwOGViNzA0OGQ3NTc1Y2Y0YzM0MDYwMmJjZThkNmQgbGVnYWN5LXRydW5rCis2ODM3NCBhNGFmNWU2ZjZiMTdjMzkyNDZhNzllNmQ0ZmU0MGVlMTNlNzhmZTY5IHJlbGVhc2UyNi1tYWludAorNjgzNzUgODFkMjM2ODRmNjk0ZGUxMTE0M2FjZjJhZmI5MTIyNzgxMzlmZWU1NCBweTNrCis2ODM3NiAwMjc2YjhmZGRkYTdkNWQ1OTRmYjIwYzY3YWM4M2NkYTVhNDkwYjg2IHJlbGVhc2UzMC1tYWludAorNjgzNzggOGE1YTk1OTExMDBkZTcxNzRmYWE3OGYzNDM3MTZlNTc4NWNmNDI1YyBsZWdhY3ktdHJ1bmsKKzY4Mzc5IGZlZDJhZTFlNTBjMmZkNTVmOTczMzE0OWY1ZjkxOWJhYTY4MTU5NDIgcHkzaworNjgzODEgZjBlMGMzNTM2ZTIyNzI1MmEwNDNlOTE5ZDkzM2QyZjU2NzAyMzExYSBsZWdhY3ktdHJ1bmsKKzY4Mzg4IDQ0ZjE0ZmQ0ZDljMjczMTM5MmZiOGQyZTUyY2FjZTJiNTZlODBkNDggbGVnYWN5LXRydW5rCis2ODM5MyA1YWM4ZjBiNWE1OWJmY2M1N2RlOWQzZWE5NDZhYzk3ZTNhZjBjYWUwIGxlZ2FjeS10cnVuaworNjgzOTQgMGI4ZDJjZjNmNTViNDJiM2I4ODY2NDk4ZWQ0OWIzOTQ4Y2QyZmFkZiByZWxlYXNlMjYtbWFpbnQKKzY4Mzk1IDc2ZmExZGUyNzQyYTk4YTEyN2YxMjYzOGZhNzNmMTkyNmFjOWJhODYgbGVnYWN5LXRydW5rCis2ODQwMSBhMjI5Y2EzYTEyYWUyYzQ2ZGE4ZGFkMTc5NGViN2U1YzgzMWJlZjkzIHB5M2sKKzY4NDAyIGU2YTI5NzkwZDc1YWUwYmE3Y2VmZTM3ZGUzNjc4NGFmM2E1ZGRkYzIgcmVsZWFzZTMwLW1haW50Cis2ODQwOSBhZGM0MzBjMTZiNTdiNmE3NmI3ZGNjYzk3NzUxOWRkNWY5NmE1YWFkIHB5M2sKKzY4NDEwIGZmZmQxMGMxMmExYjc3MjM5ZmI2YmUyZTc2ZTJmZDcxZDFkYzJlMTMgcmVsZWFzZTMwLW1haW50Cis2ODQxMSBmOWY1ZDkwNDdhMDU0MWZhMTZmZmI1ZWMzNjQwNWYwYWRhNTc4YWM3IHB5M2sKKzY4NDE1IGEzZjMyOWYyM2IyMzZlMzMxNTMxODY0ZDU5MWFkMzI2YmZjNzk4NjQgbGVnYWN5LXRydW5rCis2ODQxNiBlYTQzMTk0M2E4ZGU1MjYxN2JjNWE1NWE1NzYyZWQ3YTA5ZjgzZDQ1IHJlbGVhc2UyNi1tYWludAorNjg0MTcgNTg5ZjY4NDRkOGUwZWMzYWFlZjE5ZDJjOWI2MjY5ZDIyYjEyNjQ0MyBweTNrCis2ODQxOCAzNjhkZjAwNjA3NDBjNzI2MDE3MjMyOGNiMzIyNjAwOGNjMjZmOTlkIHJlbGVhc2UzMC1tYWludAorNjg0MjMgZWQzZmRiZjEwNzc1NTZmMmQwMmVkZmZjNWZhNTUxNWYxNGNhZDgwNyBsZWdhY3ktdHJ1bmsKKzY4NDI0IGVkZWI5MDM4YzQwNWIxMTQ3MDRjMzVhNDgxMTQ5OTNkMTZmZjM0MWIgbGVnYWN5LXRydW5rCis2ODQyNSBkOTdhYTk0M2JlYmI1NWQzNThjYjJhYzA2MjlhZTljOTI4MzJmMmUzIGxlZ2FjeS10cnVuaworNjg0MjYgZDhiNjRjNjc2YmNiMWRlNWY2MjU0ZmQzYzFhMzY1MzhiYzcwMmVkYiBsZWdhY3ktdHJ1bmsKKzY4NDI3IDVmMjkyZGViZDI0YzM1NGQyNWI4NjNlODc5N2ExMTcxMDE0NTk1ZGIgcHkzaworNjg0MjggZTQ5NmZkYjkyN2ZhNjJkMDQ4M2EzMzk1ZGUxZWU1NzhmN2MwNzViNSByZWxlYXNlMjYtbWFpbnQKKzY4NDI5IDVjNjI0NGQyMTdmZjExYjk3M2RjOGQ1YjRkMGJiMDhlN2Q5Y2VkNDggbGVnYWN5LXRydW5rCis2ODQzMCA2OWEyYTRkYmQ5YjRmNGRhNGY0MDZkNWFhZGM0NjY2ZGJjMjJhZmRlIGxlZ2FjeS10cnVuaworNjg0MzEgNzJmZTUxZDZmODAwYmNlNzdjYzZjNDRjODkxZjM3MDEwYmIzYzFiYSByZWxlYXNlMzAtbWFpbnQKKzY4NDMyIGVmM2ExZWNkNDY2M2ZlNjU0ZTI5MmVhMDMxZTFmNzZmOGE1ODhlYWMgbGVnYWN5LXRydW5rCis2ODQzMyBlM2MyMTI3OTk3MDZlNjZmYWM3M2M3OWJhMGY0YTNlZDMwMTYwY2Y5IHB5M2sKKzY4NDM0IDQ4MGZjZGQ4MjAxNjIwOWRkNzI5OWFmNTMwZTRjM2RmZWI0ZmFhYzMgcHkzaworNjg0MzUgMzY2ODZkNGQ3ZTcyNzViYzI0NjFmMTAxOWY1NjIxMjA2MmFiM2QzMiBsZWdhY3ktdHJ1bmsKKzY4NDM2IDNiOTMzNTg1NTQ3MTk2YWVjMDQwMTA2NjEwYThkNTgxNjZjMTMwMmYgcHkzaworNjg0MzcgMGE2NmUxZGMzMGYyMjM1Njk4MzdhN2QxZWU5YTI4YTc0MmZkNTI2OCByZWxlYXNlMjYtbWFpbnQKKzY4NDM4IGM3YzM0NGI2M2VjY2ViZjYzMjczZmM4ZTJhYTdiNWE4MWQ5MWVlZDkgcHkzaworNjg0MzkgN2I4NmQ2Y2FjMmIxODVlMWM1NjAxZTc3ZGFlMWUwODE2YjA3NDE0YSBsZWdhY3ktdHJ1bmsKKzY4NDQwIGYxMjdiY2IwYWE3MTIyNWZmYjRjNWFiZDc2YTgzZmY4Y2RmMjQ1ZjcgcHkzaworNjg0NDEgOWYwNDFiYTNlNGM5MWZjMzNmM2NhMzkyZjdmMTI3MmEwODhkYzU2MiByZWxlYXNlMjYtbWFpbnQKKzY4NDQyIDlkMDkzZWY4OWM1NjA3NWJlZjBkYzBiZDUyZjBjNmI4ODdlOGQzNWIgcmVsZWFzZTMwLW1haW50Cis2ODQ0MyBjZTM3MzMxMzlmYWM4MDNlZmE4NGE0NGRiZWIzM2IyMzNiNjE0YTljIHB5M2sKKzY4NDQ0IGM5NGYwMjc5ZmVkZTk3N2IyNDc5NTYzZGNkNzA5NjY3NzE1NDUxYTQgcmVsZWFzZTMwLW1haW50Cis2ODQ0NSBjY2Q5NWIxYWFkZTlkNGM5OGRhYzkwNWM3MzNhNThmMmU0ZWJhYzA5IHB5M2sKKzY4NDUwIGI3M2JkNWE3NGEyNzg4MzdiYzJhMDIyOTdjZjg0MjNlZjEzNDNhMzkgbGVnYWN5LXRydW5rCis2ODQ1MSBiYzMwZTM5NWFhMTRhZGVmMDAyM2QxMDIwM2UxNTM2ZDMyMGNlY2RlIHB5M2sKKzY4NDUyIGI5OGZlOGRjOGFjZDZhMTA0NTBiZDlkM2FmODY0MWQzZWFjZjA0MjEgcmVsZWFzZTMwLW1haW50Cis2ODQ1MyAzODg2ZTRjODhmYTU5NmQ5MGUyNDgwYjNlMTI4NWUzMmEwMDViZWUwIHB5M2sKKzY4NDU0IDhjNDlmZjBjZTE3YWYzNmVlOGQwYjg5NGEwMjIyZDI4NDgyNDNmMTEgcHkzaworNjg0NTUgZmRjY2E4NzkzZWI5ZjdlMjUxMTgxMGZiMmUxMDBjZWU2MDQxNzk4NSBsZWdhY3ktdHJ1bmsKKzY4NDU2IDliMjc2Y2UzNTY5N2IyNTZhOWNiZTNhZjlmOTE1MGE4YTRlYzUxYTYgcmVsZWFzZTMwLW1haW50Cis2ODQ1NyBjYTA5OGZjMThlYzYwOTgwMzRiZTJlNGYxNGU0ZjI3ODc4ZDliZTZhIGxlZ2FjeS10cnVuaworNjg0NTggMDdiYmMyZTIwYWE0YjUwMmZhMWQ3NjY0NWEyZWUzZmUyZDg5MzJhNSBsZWdhY3ktdHJ1bmsKKzY4NDU5IGYxY2E1ZGQ1OWFjYTgyNjRlYjhiYzZiOTVlMjA5OTcxODFjMzliNjAgbGVnYWN5LXRydW5rCis2ODQ2MCBjOGY3OTNlMTU5YmJiYmU5NzVlN2QwZGE0NmQ5Yjg4OGEwMDQ5YmU0IGxlZ2FjeS10cnVuaworNjg0NjEgZTZmNTVjOWVjM2QwMTRhZmU5NGMwOGI3Nzc4MTYzZDZkZjI0ZWQ3ZSBsZWdhY3ktdHJ1bmsKKzY4NDYyIDc5Mjc2MzE2Yjk0YjM4ZjNkZWVhYThiMDM3MDEzYjkzY2I2MGE1ZWIgbGVnYWN5LXRydW5rCis2ODQ2MyA2MmNhMmNjY2RiNmZjMjBlYTMzM2FmNTg3NGRiZmZjOGM4NTA2OTBlIHB5M2sKKzY4NDY0IDljMmJkNjQ3YjY0NjRlYjY2NWRkYzAyMjhlNTcwMTExYTY1NTdiNTggcmVsZWFzZTMwLW1haW50Cis2ODQ2NSA1ZDBlYWMwMWEyODVkOThlYTM4MmRhOTcwMjViNjY1YWFmM2MzMDNkIHB5M2sKKzY4NDY2IGJjNjcwYThkZjQ0YmIyYTM4YTI0MWE0MjNlOWYyYjE3MjM2ZGQ5NmIgcmVsZWFzZTMwLW1haW50Cis2ODQ2NyA5MWUzODUxYzhjYzdjYTIyNDNhOTQ1ODUxZGM1ZTU2YWIzNjZhMGExIHB5M2sKKzY4NDY4IGUwMGIzMjQ3NDliMDRlMjk2MzVjYmIxY2FmNmYwMjQ5MTIyZjBjNDQgbGVnYWN5LXRydW5rCis2ODQ2OSA4YWY1MWNmZGQ1ZTkwYzEwNTExMzFjNTBhMTJkZDU1N2M3ZGYyYTQ1IGxlZ2FjeS10cnVuaworNjg0NzAgMWUwNzBiODNjZmE5NGI3MGE1M2U0YzJiMDFiOTc5MDY3OTFkOWU1OSBsZWdhY3ktdHJ1bmsKKzY4NDcxIDkzN2Y1MDBlMGYwNmQwODA3ZmU0ZTA1ZTFkMGI3ZTNmMmE3Y2RhYmUgcmVsZWFzZTI2LW1haW50Cis2ODQ3MiBkNDQ4M2ZlY2Q2ODczYzBlY2M0MDc0ZDQzMGRmMzZlZDhmNGFmZmFiIHJlbGVhc2UyNi1tYWludAorNjg0NzMgYzM0ZDcyMWMyZGM3MjQ2MjliMmFiNTFiZjEwNTUyMzNkNjUwMjQ1NiByZWxlYXNlMjYtbWFpbnQKKzY4NDc0IDYzOGUzMDllY2M5OGFlODFhMGFkYjdkNTc2NTBiZDAzOTBlODVjNmUgcHkzaworNjg0NzUgYTBmZjkwMDdjMmFhM2U3ODhiYzkzNDAyZDU1NDg4ZWVlMDZiZmM1OSBweTNrCis2ODQ3NiA1MzAyZjgwNjUzN2E3YmJjMWY2ZGZiYmQxNTFjMTZmMzAwNzc0M2UxIGxlZ2FjeS10cnVuaworNjg0NzcgZDMyNmE2NzNjYjY2MDVkZjRlYWZjMWQxZjQ4OGVjMzRhZmVhZDBhMSBweTNrCis2ODQ3OCA1YzZjYmI3YTYyYjA3NmJlYjUxZmQ1MjU4MzJmMTVhOTdiOWJiOWRhIHJlbGVhc2UzMC1tYWludAorNjg0NzkgZmE5MjI5ODVhZjczMjE3ZWI4YWQ4MWZkZDkwNjRhMmFmMzdlMTNjZiBweTNrCis2ODQ4MCBkYmUzOWViZDMwMjU0ZmVmMzUxMjJkMzhmOTBiNGM2YWFlNTJlOGRlIGxlZ2FjeS10cnVuaworNjg0ODEgY2RjMmZlMWJlOGE1ZTIwZDg5M2Q2ZWUwNjZmZTIzNWZiMmIxMzE4NiBsZWdhY3ktdHJ1bmsKKzY4NDgyIDJkNDcxZmQ4OGFmZmIyOTQ4OTI4ZGRkYWEyMWQxN2EwYTUxNzQzNzkgcHkzaworNjg0ODMgOGU2MjNiNzhhY2JmNmMwZDY2MWU0NjMwYTVmYjg3MDI1MGNiMTI4YyBweTNrCis2ODQ4NCA1ZDVkOTA3NGY0Y2FkNDU3MDJmNGE2ZmJkNTBiYWVjNDViY2U2Mjg4IGxlZ2FjeS10cnVuaworNjg0ODUgOTljNDQxNjQwZjcwYzcxMDRmNzg0NDBmNzllZjJmOTQ0MjRmZDhkNSBsZWdhY3ktdHJ1bmsKKzY4NDg2IDE1YTA1NmUwZjg5ZmVmMjY0YWIyMDlhYTFiMGU3ZTViYjBjMmQ1MDEgcHkzaworNjg0ODcgNzQ0NGY1NjRlMjdkMWU5ZjY1OWIzZjhhNDRmMDU3YzdmNDY2MTdjMiBsZWdhY3ktdHJ1bmsKKzY4NDg4IDhkY2FiMjQzOTdhOGQyZjAwNzA3ZTBmNGNlZTc3MmVmZWI4NjJlZDIgcHkzaworNjg0ODkgMjkzYWM0NGQ3ZmYwZGY2NmU0YTQwMWQxMTYzNzBiMjA5MDBjMjBhOCBweTNrCis2ODQ5MCAzYjViZTBlZTMyZWFjOTc5OTFiNjdhYzU2ODc5YjQ1YmFmZWI0OThmIHJlbGVhc2UyNi1tYWludAorNjg0OTEgZTk1YzNhZWI0Yzg1ODM4ZGEyYWEyMDlmNmRjNzAyNTE4NDNhNWMxZiBweTNrCis2ODQ5MiBlZjRiZDc3MDhhZDdiM2RjMjg5YzczM2UyM2E1ZmE2M2U2NjcxNDgwIHJlbGVhc2UzMC1tYWludAorNjg0OTMgNDBjYThiMjEyMjA4MWRlNTNmNTIzNWI2ZjUxMjE0NWNmYjM2ZWQwYiBsZWdhY3ktdHJ1bmsKKzY4NDk1IDEyOGUyMGRhODllYjQxZmNmNGI2ZTYxMmM5MDg5MjRiZWVjMGViZTUgbGVnYWN5LXRydW5rCis2ODQ5NiA1ODYxZjZlMTA4NjA3NTNkMGU3OTlhMjQ1Nzc3ZjgxMzhlMGYyMjAwIGxlZ2FjeS10cnVuaworNjg0OTcgOTU1NzZkOGFmNzk4OWUzNDM1YmY5NTAzMDdkODJjYjg5ZjI5NDMwMyBweTNrCis2ODQ5OCAwMjQ0OGNjZjQxZTAxYTU5MDM4NjBkMDRiYTVlNzc4ODk3NTMxMTQ2IGxlZ2FjeS10cnVuaworNjg0OTkgOGUwM2RhYWFmYzc0MWRiODk4ODZiODE5NDEwNDc0YTg0NmQzN2JhMiBsZWdhY3ktdHJ1bmsKKzY4NTAwIGQ4N2NiZmM2YzVjNjc3MTQzMTVkYzk3MGQzZjc4ZWQ5M2YwNzA0M2YgcHkzaworNjg1MDEgYmJmNDY0MjEwOTg0MDQ1YmExNTE5YTIyYWU2ZTA3NThjYjk2NWRmMCBsZWdhY3ktdHJ1bmsKKzY4NTAyIGVhZjdjZWI4YWI0NTRhM2YwM2JmNTEzNjdlOGRhNGU0M2NkMDk4MmUgcHkzaworNjg1MDggOWUxODFlZWRjOTVjYTJiYjlhNTA0NGExNTc2ODYwMDc3MjIwZTIxMyBweTNrCis2ODUwOSAwNDk2OTYzZmNmZTlmYjY0Yzk0NThjMjFkMzU2MzU5MzIyMzYxZDExIHJlbGVhc2UzMC1tYWludAorNjg1MTEgNGQzNTBmMmIxZjJlODM4MGNjNWU4NWRkN2FiNjcyNWY0YTNhZDAzOCBweTNrCis2ODUxMiAxOWRmZmRlYzU1NDdhYjk0MmQ0Y2NkY2MwOWQxNWI2YWVkNmQ2ODRkIGxlZ2FjeS10cnVuaworNjg1MTMgMGYxZTRhYjk1NjU1MTcxZmY2MTBhZmIzYzg2ZDJlZjVlY2ZjMzQxOCByZWxlYXNlMzAtbWFpbnQKKzY4NTE0IDQ0ZTBjNjlhNTMwNDgxZDdjNzgyYzZhMGYyNTc4MTNkNTI4NGQwMGYgbGVnYWN5LXRydW5rCis2ODUxNSA0M2VkYzY1ODFlNDRkZmM0ODJjYWI0MThlM2FkZGNlNGFlOWY5OGMxIGxlZ2FjeS10cnVuaworNjg1MTYgOTNiMmE5MTNkOGFjZmQwNzNiZTZhNWY4ZDY5NDAxNzdkMjZjMjJiZCBweTNrCis2ODUyMSBhYjA4NmFmZGNmMGNmN2UwZjQ0NWY2ZjI0ODhkYjhkM2Y4NjQ0ZmJiIGxlZ2FjeS10cnVuaworNjg1MjIgMmQ4OTc3MmNjMjU2ODhhNmZmY2Q0MjI1OGExNmJiMDZiMjExNDk2NSByZWxlYXNlMjYtbWFpbnQKKzY4NTIzIDI5MzVjZWRlNTk0ZTM3N2ZlYzFiZmFkZjY4NzE0MjgwNTdmODY5MTggbGVnYWN5LXRydW5rCis2ODUyNCA3NTY2MWJmOGNiMmM2NzNjMzY3MTM5NzBjODgyYjlmMDFkOGQxNzYyIHJlbGVhc2UyNi1tYWludAorNjg1MjUgOTVhNGY1MzA4YmUyNGNkZWFhMThiOTY4MzRkNzNhNmY0Mjc3OWViOCBweTNrCis2ODUyNiBkYzQyYWRmODg3YjU3NWYwNDIyZTNlMGU1YzFmZmZlYTIxZWY3NGE0IHJlbGVhc2UzMC1tYWludAorNjg1MjcgZDg0MWZmNjdjYzYxYjhhMjU1OGZhNzVhM2UwY2UwNDI4NDFiMzY4MyBsZWdhY3ktdHJ1bmsKKzY4NTI4IDcwNDQzYWU3NmIxMDVjODE5YzA1NzRhODVkOWZlODM5NTU1MTAxZWIgcHkzaworNjg1MjkgOTJiZDAxNDE1OTA2OTdiNTkzMjFjMzdiNmI0MTA1N2YyODQwNTY2NCBweTNrCis2ODUzMCAyZmZkZjhkZDNlOGI1MDY0YTI5NWU0MjU5ZjI1OTQ4ZDIyNGYwMWRlIHJlbGVhc2UzMC1tYWludAorNjg1MzIgZDA5ZDZmZTMxYjYxOTk4N2Y3OWZhOTQyNDNjOTAzMzRlZjJkMWU1ZSBsZWdhY3ktdHJ1bmsKKzY4NTMzIDI3ZGI4MmE1Y2RhOTE5ZGNjYTIxZjRjZmM2ZDQ3OTZhOWE1ZTYyODcgcHkzaworNjg1MzQgYjdmYmUzN2ViODkwNGRmOWNiZjk5ODVhNWRjZGIzZTJiMjgyNGViZSBsZWdhY3ktdHJ1bmsKKzY4NTM1IDQ5MWVjNDExZTVjOGZmMzZmZDE4MTQwYjJlM2ZhMGRmNDYzMDgxMmYgbGVnYWN5LXRydW5rCis2ODUzNiA3NTQzZjEyODIwNzM2OTRhNDY0NGQxNTc0YmJmOTA1NDljMzgxMDA3IGxlZ2FjeS10cnVuaworNjg1MzcgMGYxYjNmMzExYWUwMTAyZDJmOTQ4NmJiNTJkOWRlMzI4NTlmZWI4NiBweTNrCis2ODUzOCA2ZWVhODBiZGNiZjVlOGY2MTY4ODA0ZjJiMGQyZjBhYjJiMGIxNzA3IHB5M2sKKzY4NTM5IDVmNGMyZGU5NTA5MWI1MmMwNmNjZWZkOTI1ZGQxMzhiYzNjYmEzMzUgcHkzaworNjg1NDAgYWQ5NjkxMzUwYzkzMWRmNjE0Nzk1ZTAxMjA1ZTg0OWIyZjc4NDkyZSBsZWdhY3ktdHJ1bmsKKzY4NTQxIGU4MTU0YmQzMjJjYjU2NjEyYzI0MWY4MmM2NDdlNTE5OWViN2JkZGMgcHkzaworNjg1NDIgODU0MDI2ODA0MGZmMDQzZjAwODJmNDcyYTZiMmVlMGZlM2MwYjMyNCBsZWdhY3ktdHJ1bmsKKzY4NTQzIDJiMjcwN2ZmOGJiN2E5ZjI1YzVjYzBmZjg0MDVjNmU5ZDU1MzhmYzggcHkzaworNjg1NDQgZTQwY2U4ZmZlNjMyZDE2YzZmNjNiNzRiYTYyNTI4YzI3NzVhZWUzNCBsZWdhY3ktdHJ1bmsKKzY4NTQ1IDM4ZTE4YTg4NGYzZmVlNjVkMTIwOWNjN2IwZmU5ODY1N2Q5ZTI5ZjYgbGVnYWN5LXRydW5rCis2ODU0NiA4N2FkY2NlNDhkZWZlNjRmNTRmOGViNDBlMWE0Y2UwMTg2N2Y1NmI5IGxlZ2FjeS10cnVuaworNjg1NDcgYmJjZDQ2MzRhZTczM2IyZDg0MWQxN2FhOGVmNDc0MjJkNzAxMjcxNSBsZWdhY3ktdHJ1bmsKKzY4NTUyIGJjOTJiYjIwODE5ZmM5Y2I1NTZjYWJiNzU3ZjdlYmFmMDg4YzgwMDMgbGVnYWN5LXRydW5rCis2ODU1MyBmNTViODU1MzIzOTI3YmQ1ZTUwMjllZjk2ZGEyMGY3NmFlNjA2MDllIHB5M2sKKzY4NTU2IDg3MWExZmY0NmZhNjljM2RkNmVhNTQ4MzMyMTUyODNlYTQ0NjdkOGIgcmVsZWFzZTMwLW1haW50Cis2ODU1OSA1OTM0NjEyZDUwNzA1YjA0OWE4YjliMzc5NzAxYTYzNzU4ZjVlYWZhIGxlZ2FjeS10cnVuaworNjg1NjAgZTk3NDhkYjQ3NjM1N2NjNjE0MmZiOWMxZDAyNjMxYmUyODNkOWFmZCBsZWdhY3ktdHJ1bmsKKzY4NTYxIGM5OWNlMDE2NDY5OWMzZDRmNmI1OGRkMGFhMmE3YTU1MWMxODJkZDkgcHkzaworNjg1NjIgZjQ1OTk3ZDlhYzU1NTYxOGFkZDFjMGM2NmNhOWU3OTE5MWE3YzM0OSBsZWdhY3ktdHJ1bmsKKzY4NTYzIDEyYTc4N2I0NGRiNTQ0OWYwMGYwMTM1NTFjNjMzNzZmOGI3YzMzM2UgbGVnYWN5LXRydW5rCis2ODU2NCAyYzAzYzc1ODBhYTM4YmQzNmYzMjZjMDQ4MDgwYWQ2YjQ3M2Y4YzY5IHB5M2sKKzY4NTY1IGJhMTUyMWYyNDc0OTA0MzQ2MjU1YzUzODJjZTZmY2JlMjExMTU0NDggbGVnYWN5LXRydW5rCis2ODU2NiBlMzAxMTQxZTkxYjEwNDY3ZWQxZTA3ZGM0YjM0MzA2MjE0ZDFlNjI3IGxlZ2FjeS10cnVuaworNjg1NjcgZTVmOTk2Y2RhMzIxNmU0YjAxMWRiNWUwMjNkMmVjMWE3YmIxODMzMiBsZWdhY3ktdHJ1bmsKKzY4NTY4IGExOWQ1OTZkMzUwMGNmYTYwNTUzNGM0MWFiMWFjYzU2MzRlOTM0ODUgbGVnYWN5LXRydW5rCis2ODU2OSAyYTgyYmQyOWVjMTg4ODU4ZDllOGY2YWE5NWVkMmJhY2E0ZDUyNGRiIGxlZ2FjeS10cnVuaworNjg1NzAgNDU0YjY5NmMxZDczMGUyYzY2ZTI1N2RjYzdkNGZiMjBjMTFlZTQxZSBsZWdhY3ktdHJ1bmsKKzY4NTcxIGM3NzZiNmQ4MTRjMjNlOGJhYmM3YTJlZjI2MTIxMmU5MWJkZWMxNGIgbGVnYWN5LXRydW5rCis2ODU3MiA1OWIxMjEyYTRkYmYzZmUwMTMyMmYyZWM4NjlhY2YwN2FmZDJmNjAzIGxlZ2FjeS10cnVuaworNjg1NzUgYmU4ZTk1OGRlZTk0Y2VkNGFlNmM1NDcwMDY5NGU0OWY0NzY3ZThkNiBsZWdhY3ktdHJ1bmsKKzY4NTc5IDA4YWM0NDA0MDhjOWQzMmE2ZWY0M2QzYjBhZjAyZDJjYWNjZGFhMDYgbGVnYWN5LXRydW5rCis2ODU4MCA5YTVkMTQ1ZjE5YTUxMmI2YjU4M2VkZWM4OTYwZTQyY2MwNWY1ODk0IGxlZ2FjeS10cnVuaworNjg1ODEgNDM5OWUzZjEwYjE5YjBhMTcwYThjYjJjMTNhYzRjNjUyY2EyNmIzNiBweTNrCis2ODU4MiA2ZTMzYWVhZWU3N2RkMzk2ODA1N2E4ODg1MDgwNzk5M2M1ZGRkNjRmIGxlZ2FjeS10cnVuaworNjg1ODMgZjU3MTg0NGJlZjVjOWE4ZTgwNzcwZGIzNGFhNjYyNjZkNDg1MzkzYiByZWxlYXNlMzAtbWFpbnQKKzY4NTg0IGEzNDk0YTViMDQ5NTY0NmNlYzk3YjUxNjk1Y2VkYzFlM2NmMmM0YWIgbGVnYWN5LXRydW5rCis2ODU4NSAwMmFiMTYxNDIzYTU4NmQyNGQwZjBkNjM2ZGIzOGZmY2MxMmNkOTAyIHB5M2sKKzY4NTg2IDQxM2NjYTNlYmU4MmUwMjE3ZWIyOTViOGJmYmNkNTM3MzU2MjdkYjAgcHkzaworNjg1ODcgMDIyOTA1NWM4YmUwNmYxMDFkM2RkYTczYTA4ZTdiZGIwZjlhYmU2NSBweTNrCis2ODU4OCAwOTQzMzQ0YTUyNjFiYzc2MDgzN2JmYjg2ZTJiYTZlYmYxNThmNWEzIHJlbGVhc2UzMC1tYWludAorNjg1ODkgMDhmM2ZlNjkxNTFhYzZkMDQ0OTM2ODEyYzdiNTcwZDQ4ZGU5OWU0ZSBsZWdhY3ktdHJ1bmsKKzY4NTkwIGZhYjUwMTI3N2JjMmMzYzMyOWMwYzY0ZjMyYzg3NWIwNmEyNTg0OGYgcHkzaworNjg1OTEgZGRhMzEwN2Y2YmM3YTdiYjYwMDAxNDYzODBiMjBhMTQyZDNiMjM0MyBweTNrCis2ODU5MiBhODU4YjYxZGIzMjRkN2VkM2M2ZWY0OWI3MThkN2RjMzc5MjhkYTgwIGxlZ2FjeS10cnVuaworNjg1OTMgZTQ2YTA2YTI2NGIzMmRkYjRhNmViMTI2ODkyMjUyMWVjMmMzNDBhMyBweTNrCis2ODU5NCAwZmRjZTM5OWRjZGUwYTIzYzgxNzkxY2U2N2EzODFkYTFiMzM0YTAyIHJlbGVhc2UyNi1tYWludAorNjg1OTYgNjVjMTkzOGZiOWZmZjI3OGFjYzRjZTY1MmExZDU0OGFiNTE2Zjk5OCBsZWdhY3ktdHJ1bmsKKzY4NTk3IGJjZjY2NjNjNWMwNDhiYTlhMTdhYzRlYjdiM2VkMjY3MWYxMDBjNDcgbGVnYWN5LXRydW5rCis2ODU5OSAyZDQ1M2IyMjFiZWNkN2U0ZWFhZDBlZTNjMmZiYjE3ODc1ODc3ODFhIHJlbGVhc2UyNi1tYWludAorNjg2MDAgMGVmMWU2NjRhNGE0NWEyOTBkYWEyOWZiOGQ4ZWM2MTcyNTkyYjlhOSByZWxlYXNlMjYtbWFpbnQKKzY4NjAxIGUxMWM5OWUxZTZlN2VjODAxNjJjYzg4MTBmZDc4MDNmZTczOGZjNTEgcmVsZWFzZTI2LW1haW50Cis2ODYwMiAyZDVhOWM3ZTliNGUzMGI5ZGIxOTFhNjM0Yzk3OWJiZGY2NWRlMWE3IHJlbGVhc2UyNi1tYWludAorNjg2MDMgNDgzMmEwYjEyODdiN2M2Yjc5YzQ2NjM5MDViMTYzNzUxNWE5OTdjMyBsZWdhY3ktdHJ1bmsKKzY4NjA0IGQyY2MyNmJkYTZhOTM1ZTg4YTczMWYyNDY0OWYyOTZkOWZmMDQzZWMgbGVnYWN5LXRydW5rCis2ODYwNSAwNDEzMWM3MDJkMTcyNjA2NmQ0NjExYzJmNDdiN2I3YTVhMzJmZDY2IGxlZ2FjeS10cnVuaworNjg2MDYgMGUwNWUwNzhiY2VkMzMyNmFjYTk3NzA4OGRkOTM5YWRiMGIxMjc4ZSBweTNrCis2ODYwNyA4ZGY4MTk0MWRlMDVjZDU5Yjk2ODczOTAxZWY4ZGZhMmIwYjExMzBhIGxlZ2FjeS10cnVuaworNjg2MDkgY2ZmNGZjNTJjNzA4ZmQzYzAxMzAyNThmNmE0NWUxMTNiZjQxZGFkMSB0bGVlLWFzdC1vcHRpbWl6ZQorNjg2MTAgNjZiODFhY2FjYmMwNTI4M2YyZmU2MTIxYzBlZTRmOGUyNjhiNzBiOCBsZWdhY3ktdHJ1bmsKKzY4NjExIDMzNzhlYWZkMjdkZjU5YTU3MGZhYTVlYWYzMmMxNGYyMDFjNjQyZWUgbGVnYWN5LXRydW5rCis2ODYxMiBhZTVlZDE1Nzc0YjRmNTdhZDlhNzJhMmExZjFiYzc0YWM3MzA2MDU4IGxlZ2FjeS10cnVuaworNjg2MTMgZWJmZTkxN2QwZWVhMmQ3NWZiZDZkNDM4NWUzYzEyY2I5MzgwMzU5OSBsZWdhY3ktdHJ1bmsKKzY4NjE0IGQwMDg2YzE3NmU4MjRlMWQzZWIzOThhYmI4NjllZDgwMTIyNGZjNmEgcmVsZWFzZTI2LW1haW50Cis2ODYxNSBiMTdlYzRjNGE3YzM4NTAwYWViZGE5MzA3YmQ2OTZjMGIxZjIzODkzIHB5M2sKKzY4NjE2IGJiODZmMmVkMThhYWIwZTJjMjQwYjMxNWI1NGYzODI4NjZhNDIzMjkgcmVsZWFzZTMwLW1haW50Cis2ODYxOCBiZTU5YTIzYjdjMDQxNWFlYzFkODQwMzRmNmVmZDI0MmIxNTY1MWI4IGxlZ2FjeS10cnVuaworNjg2MTkgZTgzYWI5NWU5Yzg3YmRiOTM4ODI4ZTI1OTlmNzgyM2YxNzg1N2UwZCBweTNrCis2ODYyMCA0MjdlNDNkMGUwMzFjZjVjMGJjYzVlNjQzOWU0NGQwMDU4MzUxZmUyIHJlbGVhc2UzMC1tYWludAorNjg2MjEgNmRkZTBkZjNiYjRlY2I3Y2MyYWM5NWM1MGFkMmVlZWRmMTI2ZTgxZCBsZWdhY3ktdHJ1bmsKKzY4NjIyIDY1YmViZTRhMWFhM2Y5MWY1MTNlYzdjNWZiYjlkNjZmMjQ3MWJkYmQgbGVnYWN5LXRydW5rCis2ODYyMyA4ODRjZDNmMTliMjBlYzZmOTUzZjUyOTM2MjQ0YzE3MTA2ZmZkYTRkIGxlZ2FjeS10cnVuaworNjg2MjQgMjY4MGE0YmVhZWExODY5YTA0Njk3ZWEyMDFiNTBiYzJjMjM3ZjA5MSBsZWdhY3ktdHJ1bmsKKzY4NjI4IGFkYjIzNjllYjdiYmQwNjJmNDE5ZTkzMjFjMDVkYjE3MDRlNTk1YTkgbGVnYWN5LXRydW5rCis2ODYyOSAxMmE1YjY3ZDU2N2QyMjFlOWQ0NTEzODM1ZjlmYTY4ZjdiYmM5MGUxIHB5M2sKKzY4NjMwIGM2OTk1ZGFlOThhNjljODNmM2Y0ODFmNDk2MDZmYmExNzNjZDJhODUgcHkzaworNjg2MzEgYTA0YjFjNzE2N2JhZGRkZmE4MmU5Mjc2ZjIxZWI3MjczM2ZjZjY0NCByZWxlYXNlMzAtbWFpbnQKKzY4NjMzIDhiZTE1OWQ2ZmQ0MDQzY2M2ZjYxY2FkZmM2YTM0ZDFkYjExYmM5ZWIgbGVnYWN5LXRydW5rCis2ODYzOCAyY2M0MmVmZGQzZmVkZTUxY2JkZjcxOTYxNDdiMzI3ZDRiZjc2NTM4IHB5M2sKKzY4NjM5IGMxMGY2ZjExNmFmMGMxYThmZDEzNjY0NmFiMDUwM2IwNThkNTI0YWUgcmVsZWFzZTMwLW1haW50Cis2ODY0MyA3NDlhNmI4NTMzNzZiNjk1ZDY2ZGFmMjUxOWEyMzExNDk1MTdlNmQ2IHB5M2sKKzY4NjQ3IDBiMWE4ZjU2MTE3YWM3OWY4MTE5ZDEyMDgyZWQ0ZmZkMDJlMTAyZjMgcHkzaworNjg2NDggY2IyOTA0ODJhMWE3Zjk4OWQ0ZDllM2QyMmY5ODRkNGVjZGYwN2M2YiBsZWdhY3ktdHJ1bmsKKzY4NjQ5IDFlMmQ3ZjA3NTMyNmE4YWJmMzM3MGRiZWY5NDc2NzY1MDY1NjA3NjIgbGVnYWN5LXRydW5rCis2ODY1MCAxYjgxNzcyY2Q1OWQ3ODk5NzMzMTQyMzBlOGZmZTBkNWNjMTUzMTc5IHB5M2sKKzY4NjUxIGRmM2ZhNDBmZGJlZGEzYTk3OWVmMDAyZWVjYzNjNzE1MGJlYzE5NTkgcHkzaworNjg2NTIgN2JjOGUyZWVkNjkwYmMwNDcxZGExOGUwNmIwNzY5ZTNjMjA0Zjg2OSBweTNrCis2ODY1MyA1N2VkZjgzNWRlYTM2NjEzMzZiNGI0NzlkOTdkNDhmZWYyZGFjYzg2IHB5M2sKKzY4NjYxIGRjMzFiZTUwYzQwNTM0YzQ4YTAyNzdmMzIzZDhjOTcyMmRiOTE3ZDUgbGVnYWN5LXRydW5rCis2ODY2MiAxYWFkN2QyZTg5NDU5NDg1ODM5NWViOTZmOWY3MTI3Y2U1OWVkMWVjIHB5M2sKKzY4NjYzIDQ4NmUyNTc5Yzk3OGI5ZDI4MDk0YjY3Nzk5ZWJmMzNjZjE0OGJiNzYgcmVsZWFzZTI2LW1haW50Cis2ODY2NCA4ZGZlM2M0YWJkNWIxMTY2MGUwNTZmOTBiNjdjMjdmY2JhMjg1ZDczIHJlbGVhc2UzMC1tYWludAorNjg2NjUgMjdiYTgwM2JkZWE5MDU3MWJlZjFiN2IzYTBiOGM0NzJkZjhjZGJjNyBsZWdhY3ktdHJ1bmsKKzY4NjY2IGFmMDJiNmU0MjE0MmIzNDZhMjA2OTYyMTFjOTFiNWU4NjJjZTY4N2UgcmVsZWFzZTMwLW1haW50Cis2ODY2NyBlMTU4YzcwNTExZmVhZGI5ZmU1NTM3YTdmZGY3YTQzM2UyMDk3NWYzIGxlZ2FjeS10cnVuaworNjg2NjkgZTU2YzVmM2I2ZTE4ZmE2OTYxOGIzMTEyMjczYThlYzI0MjNlZDg5ZiBweTNrCis2ODY3MiA0M2UwYjFlZTFjMWI5MjdkZmZkNzAyNzg4NzRmOTEyZmFlZTk3YmNjIHJlbGVhc2UzMC1tYWludAorNjg2NzUgYTYwYjg2YTczZTIwNDI2YmQyODBmZmJkYWU3MmIwOTdhYjU3MDY3ZSBweTNrCis2ODY3NiAzNWJmOGY3YThlZGNjMmQ0OTFjZWVlNThkYjgxYmVkNDgyMGRhZDlkIGxlZ2FjeS10cnVuaworNjg2NzcgZGIyMWQxMjFiYTUzZjVkMzMyYjg2MzVjMzY2MDc3ODBkNmRhNzE2MSBweTNrCis2ODY3OCBiYjljNjUyNGZkY2E0NTkxOTE1YjFkOTdjYTgzZjZjNDU4MTBjMDk2IGxlZ2FjeS10cnVuaworNjg2NzkgNTYyMDUyYTAzNDc2Zjk3N2IyNzYwODU1NDg0OWRkNDJhZTU5M2M2MiBpby1jCis2ODY4MCBhMDI5YzU3OTBlNDFmYzJjN2MwYjExMDQ3MmVhYzU3ZDNhNDY5ZDBkIGlvLWMKKzY4NjgxIGQ3MjIwZmViN2QwYjg4MGI1NDFiNDRlY2Y4YWM2MjQ5ZjU5Y2Q1ZGEgcmVsZWFzZTMwLW1haW50Cis2ODY4MiBmMzk2OWY0ZjQ5ZTM2N2E3NGZiZTJkODZmMTAzZjUyMzE2MDc5YzY1IGlvLWMKKzY4NjgzIGIzYzE5YjY3NmY1ODY4M2JmNDQyMjhkYmFhODBlOTQyOGY1ZWU1OWQgaW8tYworNjg2ODQgNjI2ODI0ODcyMGQ2NjRjYTFkNjQ0Nzg5ZGY2ZmY0ZDQ1ZDE5MTU5ZSBpby1jCis2ODY4NSAzYzU1NTFhOTRjN2M5OTg4YTkyYjUzNGM4NTc2NzViYWQ3M2VlN2ZlIGlvLWMKKzY4Njg2IGQ5NmY1M2Y2NzdkYmVkMGM3ZTBmYTE0ZTlkZDY3NDlmYTVhZDEwMzkgcHkzaworNjg2ODcgOGFiNzBlYzJhZjViYzMwOGFkNzZkY2Y5YjVhZDA0YTNlM2U4MTNhYSBpby1jCis2ODY4OCAwZGRjMjFkZjk3OTliOWM2M2FhZDNkNGM1ZTQ3ZGE1YThkZDNiZjVmIGlvLWMKKzY4Njg5IGFlZDBjNzk4MDllNDlmMGZiYzdlZmQ5Y2YzMWEwZDNlODk1YTgyYjYgaW8tYworNjg2OTAgNzUwMDlkNDg2M2M5ZDM0MzQ1YzcxNzQxOTIxNzY1MWNjZmFhMWEwOCBweTNrCis2ODY5MSAyOWVkZjI2YjljMjNlZmRkZjBkM2YwYTdhZTEwZmI0M2Q3MjllNWFjIHB5M2sKKzY4NjkyIDk5ZjNjMzRkNzMyOGUyYzFhYTJkM2U0ZTJjN2VjOGRiOWRkZWEwMmMgcmVsZWFzZTMwLW1haW50Cis2ODY5MyA4ZWExN2YyN2RhNjdkMjQxYzBkYTRmYjJkYWQ0ZGEwOGE1NzEwM2UxIGlvLWMKKzY4Njk1IDUwNzg3NGY2NTVhY2JhNDI3ZjE0YWM5MWMyMDVhYzA4MWYyYTg1YjAgcHkzaworNjg2OTYgMzNjNGY0MjNhZWJmMjEyNzdjNzM3YTYxMmQyYmUwOGMzNzlmMmIyNyBweTNrCis2ODY5NyBmYTY1MWExYzM0Y2M2OGE4NjE4NmY5MTJiNDgyZDc1M2NjZmJlNTQxIHJlbGVhc2UzMC1tYWludAorNjg2OTggYWFjNTFiNzBjNzRjYjJiMGYwOGQ1NDhmNDExYjEyMzY2ZTc0OGRmNyBweTNrCis2ODY5OSBlMzUwNDMzNWY0ODBhNzFjM2I4YWMzZWM1NTJkNzFhNGUzMGExODY4IHJlbGVhc2UzMC1tYWludAorNjg3MDAgNDI4ODU0NmE0MjM4YzJlNDhkZGJkYjRkZjM1ZWYzMzJiYjZlMTFiZSBweTNrCis2ODcwMSA2ZTk3ZDcxZDYxYzI1Y2IxYjM5OGU1YmJmNTVjZDNiMWE3NDgyNDRkIHB5M2sKKzY4NzAyIDFjZTFiZmJlNzA1MWRlMTdjZGNjNzI2MjAwOTJjNmI1NTZmZWE1NTcgcHkzaworNjg3MDMgOWM3ZjE5OGY5YjI1MjBmOTA1NDRlZmJmZjI0YjY2MzZiN2FjNWRjMyByZWxlYXNlMzAtbWFpbnQKKzY4NzA0IDIwYmQxMTc4ZmM2NDJkNjk1NjBiNDU3YWMwMjk2YjdjZTZiNzFhMWYgaW8tYworNjg3MDUgYjljYjM2NDY1ZGQyYTA3ZDFmMDk3ZDdjMzc3MzRiZjI3YTNiNjE4MSBsZWdhY3ktdHJ1bmsKKzY4NzA2IDEwYzM4YmM2NzM3ZGViNGUyZGI4NDRjOTNmODg5MTY1ZmQwN2Q2ZDMgbGVnYWN5LXRydW5rCis2ODcwNyBlNTU0YjhiYmRlZWFhOTIyZDAwNGQzNDExNWNmM2VkN2JlZjU3YTg4IHB5M2sKKzY4NzA4IGI0YmFhNzI1Mjg0YTZkMjhiOWU0YzAwZTBkMjA3YTViMGY0YmRlZDkgbGVnYWN5LXRydW5rCis2ODcwOSAwOTk2MjcxZTIxZDhjNGM5M2UyMDg0MDM4OWMzOGIxZWVmNzYzYzRkIHB5M2sKKzY4NzEwIDllMmFkNDQwMTk2YmYyNDQwYTA0N2NkM2RlYWY5MWI4YjkyNDQ4Y2YgcmVsZWFzZTMwLW1haW50Cis2ODcxMSBlOTFmNjRmNWQ5NTU4MjFhOGYxOTVmMWE1MGM1NDcwMWVkZTdlY2Q1IHJlbGVhc2UyNi1tYWludAorNjg3MTIgYzg2MzQ3YWM2NjYzNTIyMWJjNTgyNmYxYmNlMjg5NmQ1MjMxNzE5OSBweTNrCis2ODcxNiA0MDhjOGRjZjAyNDhhMTY5MTdlZDg1YmY2NjEwNWM4MjBiN2MxNjAyIHB5M2sKKzY4NzE3IDQ0NDI0OTU3ZWFkZjY3MDUzNzQyYmRjZGY2ODJmN2Q3YTEzZmY1ZDkgcHkzaworNjg3MTggMTg5ZDUwODMwMjk3MDU1MjViYjRmOWI4ZWZlYzIzMDczMDMwOGExZiBsZWdhY3ktdHJ1bmsKKzY4NzE5IDhmMzJiYTUyYjIwZDg5MzU5OGJiZGNiODQwOTBlOGNkMDg3YzgzNmMgcHkzaworNjg3MjAgZDJkYzZkMDQzYzIxZGE5NzA4YTA5NzdlY2IzY2U3MzgwMWU0YmM4ZiBsZWdhY3ktdHJ1bmsKKzY4NzIxIGJiZGEzMWRkOTc5NzViZGQzNWMzMTRjODFjYjQzOGEyMzdjYmZmMDMgbGVnYWN5LXRydW5rCis2ODcyMiA5YmJiOWFjMDYxYzBkNDhmZDQ4OWExM2IzYzc4Y2E2NjY1YTM3MWY1IGxlZ2FjeS10cnVuaworNjg3MjMgODMyNWViMDQxOTIxMGMyYjY3N2UwN2M2ZDk5ZDVmMWRjOWQ3MzMzZSByZWxlYXNlMzAtbWFpbnQKKzY4NzI0IGY2YWVmYmJkNzA0NWU5ZGNiYjg1NDQ2OTJkYmZhMTQ3ODg1MjU1ZWYgbGVnYWN5LXRydW5rCis2ODcyNSAxMWNiZjM5YzMxNmY3Zjc0NWIyNmEwMGI2ZWM5MzAwZjYzZGJhYzVlIGxlZ2FjeS10cnVuaworNjg3MjYgZDcxNTgzODYwNjM0NjcwYjgzYzMzMzM4ZjY1MmUyY2FjYTBjNzBhZCBsZWdhY3ktdHJ1bmsKKzY4NzI3IGU3ZDZlNWY1MTllZjI1ODExYjlhMDg2ZTJjMWE3YzExMTU3ODQ4Y2UgbGVnYWN5LXRydW5rCis2ODcyOCA4ZGM0NzliNjNlMDM2NzNiMjg0MjY1ZDA2YzI3NzMzMzQ1YTcxNTlhIHB5M2sKKzY4NzI5IGE4MTk5MjdjMmExMzk4YzhkZjEwMDM3ZjkzNWRlNjk3ZDYxYTk1MjkgcHkzaworNjg3MzAgZjNiYTVmOTlkYTUwZDBiMzYzZDc5YTBiN2ZlMjUxYWY5ODRmNzBkNSBweTNrCis2ODczMSBiOTJlNjk1ZDU2MWU1YTgxMDc4MzhhMWZjY2YyMmI5ODEzOTEwMjczIHJlbGVhc2UzMC1tYWludAorNjg3MzIgNzU4Nzc5OWNhZTFjYjBkMzE4NTEwYTk4OGU5Mzk5ZTcxYTliNzYzYiBweTNrCis2ODczMyA3ZTVjZmJhNTRlMzQ4MDFjZmZmMWZjZDY2N2JlY2RmNjJjODA0ZDAyIHJlbGVhc2UzMC1tYWludAorNjg3MzQgNmE3NmFiZDYxNmRlZGIxNjQxOTkwMGU5NmNjNTFjZTk2OTQzNDU2NyByZWxlYXNlMjYtbWFpbnQKKzY4NzM1IGFlM2ExMDYzMDZhODA4YjM4NGViYzYyNjIzOTgyMjBjOTcwZjYxM2MgcmVsZWFzZTMwLW1haW50Cis2ODczNiA1MGY1YzI5ZmNlMjZkMzFjYjg0ZDZiNDdhYWE2YTRmNWNmNGExN2IzIHB5M2sKKzY4NzM3IGMxYzQ0YTBhYjQzOGU2YWIyNzg3Nzk0ZTc4YmE0ZjFlOTk4Yzk3OWEgbGVnYWN5LXRydW5rCis2ODczOCBjNTEzYzY5MTE4ZGNhNjE0NDIxZjE5M2JjY2ExMWE3OWE4MDhmODA5IHJlbGVhc2UzMC1tYWludAorNjg3MzkgNWI0OGQ2MDAwOTE2NzYyNjgxNmU5NTk0ZDRjNTYzMTVkYjUxN2ZjZCBsZWdhY3ktdHJ1bmsKKzY4NzQwIDllY2JkOWExMDFkODM3ZDE1NzMxNDI2ZmM4YjExZDg4OTdkYjljMDggcHkzaworNjg3NDEgNDlkOTcwOGQ3ZWEzOWFlYTE2Njc3MGU2ZGMzM2RhMWUzYWViYTg0MyBpby1jCis2ODc0MiBjOWU1YzJjYTYyYzNlMmMzZTljZjg0MTA1NGE0MDQzNDgyNDc3Y2I5IGlvLWMKKzY4NzQzIDlmNjI3NGZkN2E5ZGY3YzM3YTgyMGJiZjI2YjRlMjUwYWVkMTUyYjMgaW8tYworNjg3NDQgZTE0ZWM2ZDE4YWI4MWY1MjNlYWYzZDM1YWZmOThlNjI4YzAzMmFiYyBweTNrCis2ODc0NSAxZWMzNWJlZWQyZDAxNGRjZjYxMWFjYzAwNjJjNzQ4NWU1ODdhMTRjIGlvLWMKKzY4NzQ2IDlmNDVmYTI3YjgzOGFlMGI2OWY3MDI1ODI0MjUyNWFhNzQ5NGQ5MmYgcHkzaworNjg3NDcgYmFkMzZmNDkyMDgxZTdkZDFiMzkzZGRlYmJlM2M2YWRiMDczZmNkYiBpby1jCis2ODc0OCA1ODFkODYwMmYzZjc0MmY0MDMxMjgzNjA1ODcwYWU4MjJiZTk3M2EyIHJlbGVhc2UzMC1tYWludAorNjg3NDkgMWIyMjllN2Q4MThiZDUyNzQ3OTQwMTU3Y2YwNzFjMzZkZThiOTg3MSBweTNrCis2ODc1MCAwNzg4ZDQ1YmY3YTQ3ZTk0NzBkMjdiYTFjNTAzZWJjOWViYjc2MGQ1IGxlZ2FjeS10cnVuaworNjg3NTEgZmI3ZjIzMWNjZDNlYzc3NzFjZWYxMWVkZGRjZGQzZDRmMmE0YzQ5YSBweTNrCis2ODc1MiA1OWRlMDY1NDcyMzJhNDkyOGMzYmRiZjU2ODE1NzBkMGIxNzFlMDc3IGlvLWMKKzY4NzUzIDU5ZWYzMTViZjAwZWZjZmE1MjRkNDI1ZTA4YjAwZjNkNzA0OGFmNDEgaW8tYworNjg3NTQgNjU4MThjZmQ0ODI2NWZkMjIxM2QxMWVjOTc3Mzc3NDJiZWQ0MWRjZSBpby1jCis2ODc1NSBhOTkxYmU2YTExMWQ4Njg0ZmZlY2Q5YmM0ZjUyNjdiMDg4YzFmZDM3IGxlZ2FjeS10cnVuaworNjg3NTYgMWMxNmVkYTMxMDllNTQ1NGY0M2MwNDRiNGUzOTUzZjE4M2I1M2MwZiBpby1jCis2ODc1NyAxZmFlZDdjZWQyNDI0NThlN2Y2ZDVhYWI3N2I3YzFkOWJlMzk2NzNjIGlvLWMKKzY4NzU4IDY1ZWY0NjI5MjFmNzM5MjZkYjczOWZmY2ZlMWVkNTBlNDM3OWY1NWIgaW8tYworNjg3NTkgZTEwOGM5ODA2Y2MzZjIxMDJlZjM4OGE1ZjRlNmJmNThmMzhiY2E4OSByZWxlYXNlMzAtbWFpbnQKKzY4NzYwIGE2NjExNjE1Yzc2YmFmZjVjOTEwYWJiMGViYzdhZDM2MTlkNTgyMmIgbGVnYWN5LXRydW5rCis2ODc2MSA2MTE0NjFhOGM3ODUxYmQwNTUwYjI4OGNlOWFiMDgzNWY3NDgzOTVkIHB5M2sKKzY4NzYyIDFjMTdkNWNiMTVkZDU5OGFjNmNhNDlhOWM0ZDNmY2FhZjMxZTAxYWEgcHkzaworNjg3NjMgMzkxODdiM2UxMmUwNTEyOWIzNzhmNTEyYjQyMjQwZTg1NDQyYjQxZCBsZWdhY3ktdHJ1bmsKKzY4NzY0IDA2MWM1MTI5NWQzMjZkZGE0NWVkOTA3YjI0Y2FkZTA2Y2U1Y2IwNDMgbGVnYWN5LXRydW5rCis2ODc2NSAxODQ0MWI4ZjcwMDBjMDUxZDkzYzAzOWYyNGM3NWRhNzIxMTA3MTcxIHJlbGVhc2UyNi1tYWludAorNjg3NjYgZTdjMTAwYWY4MWVjMjhiZWZhNTMyNDQ3ODBiYWNkZGI3N2U3NjE3NSBsZWdhY3ktdHJ1bmsKKzY4NzY3IDM1MmYyOWRiNWViZjYwYjg3ODA2OGQ2ZDg5MWJmY2MyM2I4YjFhZDYgcHkzaworNjg3NjggOTVlOGQ4NTU5NGJjOTJkMGY0ODZjYWQ2MDJkMDQxMmM3YjE0NTQ3ZSBsZWdhY3ktdHJ1bmsKKzY4NzY5IGZhZTk2YmM5MTk2ODQ3OTVlOWExMGMxZWNiMDVhNzk1M2Q4NzExMjAgcHkzaworNjg3NzAgYmEzNGRlYTVkMThjM2YzYTBjZTYyOWM3ZmRiYmRlZDFkNWI1ODhkMCBweTNrCis2ODc3MSA0ODhlOGU2ZjFjZGM2MzNkMjExYmFmMGNiYjM5MWY2NzA3MDg1NTY1IHJlbGVhc2UzMC1tYWludAorNjg3NzIgNmVkZDI5YTM0MzU0OGYyMmQxNmY5MjhiZDdkMDY5NWEyMzM4ZGFmZCBsZWdhY3ktdHJ1bmsKKzY4NzczIDdjZmI1OWUzOTc4MjYwOTA0MmE1Mjg1Nzc0N2I3YzY4OTEwZTA0MmMgbGVnYWN5LXRydW5rCis2ODc3NCBhZWIyYmRlMjAzYWFjZDlmMDM5ZWNiNzNmMzM4NGFmYTJmMWY3NjM3IHJlbGVhc2UyNi1tYWludAorNjg3NzYgYWFmOTZlZmM2MWU1NDJkYjMyNmEyZjY2YmQ2YmRjODIwZmNkYjliZCBsZWdhY3ktdHJ1bmsKKzY4Nzc3IDAxNWVhN2IyMTk1MGEzODNjOWEzNjA3YTE4ZTE1MTM0NzE1MDZmZGMgbGVnYWN5LXRydW5rCis2ODc3OCBhMmY1ODIwNGU2ODBiODdhZTM0ZjkyOGIxYTQwZTMwMzAyMDQ5YTVjIHB5M2sKKzY4Nzc5IGZhMTJjOGU1YWU4YWNiYTg2NmVlNzY1OGQxMmJmN2U2NWYwOTQ4ZjQgbGVnYWN5LXRydW5rCis2ODc4MCA3NWJjZWMwMTFlZWY2ZDJkYTVhNjZiNjk1NDI0YmIzYjI3YzQxOWMyIHB5M2sKKzY4NzgxIDYxMWQ5NTcwYjRjYWIyNGY2ZTFkOTk1YjJlNjAwNTMyMmNiMGEzYjIgcmVsZWFzZTMwLW1haW50Cis2ODc4MiAxOWZhNmY5YWI1YjUwMDczYWIzMmRmNmYzNTJiNmFkNjEyYWE2ZDE1IHB5M2sKKzY4NzgzIGNhYTc5ZDIzODkxNzJhZWFmNDg5MDM0YmYwNzY0ODEyYTBkNDBjMTUgcmVsZWFzZTI2LW1haW50Cis2ODc4NCBhZjM2YmExMjNjMWQyYWNmYTI0NzQ4YjUxOTk0NjdiYmMwNmU0ZDhhIHJlbGVhc2UzMC1tYWludAorNjg3ODUgYzNhMGVlNTFkODY3ODEzMGM1MDkwNjRjZGZlZTdjMzAxMGM4M2YxMCBsZWdhY3ktdHJ1bmsKKzY4Nzg2IDJmNTRlZWZkMDA3M2ExN2EzNmQ5YzQ3ODE3MTMzNDBmNThkZDc5NDEgcHkzaworNjg3ODcgNjA2N2ExZTYyODlhMTM1N2M3Zjk5MTNiZGViY2ExZTNmOGVkY2ZkZSBsZWdhY3ktdHJ1bmsKKzY4Nzg4IDUzN2U4ZDcyODQyNDY5NDljNTlkOGEwMTc0OGU3NjU1OTA4MGZjMDMgcHkzaworNjg3ODkgMTkxYjdiM2RkZjRmYTRjZGJhNWEzMzFiN2NkM2E1MWE2MDA4ZGNjMCBsZWdhY3ktdHJ1bmsKKzY4NzkwIDM4MDIxYjhlMTRhYWIxMjc2ZjA3MmMxMGVkOWMyMjcwN2FjOTFiODkgcHkzaworNjg3OTEgYTYzZjdjZjM3OTNhYmZlMGFjNjdhMzMwYjc1ZjYwYjM4OTcwN2NkNyBweTNrCis2ODc5MiAzOTA2NjhlMjA2MjhlNDBjODMyZDRjMjVmYWZiMzYwNmE0NTkyYWE2IGxlZ2FjeS10cnVuaworNjg3OTMgOGQ2NmI4MmExMGEzMDg4YzYwYWRmODQ2NDA5ZmE3YWY2MzU2NWVlZSBsZWdhY3ktdHJ1bmsKKzY4Nzk0IDZhNmI1OTA5MTJmZTZmMzIyNzY3MzlhMTU4MjRjMTcwY2IyMDViYzYgcHkzaworNjg3OTUgNWRkODc5ODY3Y2RlMjAyNjBmMzkwYmJlOTgzMmUzMWRjNjIzOGJmZiBweTNrCis2ODc5NiA1YzNiZjMxZDA0ZmQ2YThkNzE5NjkzZjFmODJmZjc1YjI2NWJhNmJjIHJlbGVhc2UzMC1tYWludAorNjg3OTcgZmUyODcxYWFiOWQ5ODg0OGQzZTIwNjk5OTRkMzFhYjBhODIxZDJhNiBsZWdhY3ktdHJ1bmsKKzY4Nzk4IDIzNDRjZWY3ZmY0NDQ3NDU0ZDk2MWE4NTQ4YmMxN2I2ODVkY2FlMDIgcHkzaworNjg3OTkgNWEwNDFkOWE1MWNkNjZmYmVjNTIzNDUzNWJjOTQ1MWRkMWFhZDgyOCBweTNrCis2ODgwMCBjYzlkZTE5N2RmN2UxMTkxZDE2ZjYxZDM5YTk4ODA5MTY2NGM1YjIyIHJlbGVhc2UzMC1tYWludAorNjg4MDEgY2MwNzhhNTc1ZWVkMzA3Y2Q4OTAzM2M3MzExOWI2ZDczMmJjMWQzYyBsZWdhY3ktdHJ1bmsKKzY4ODAyIDFhNjRkMmY1NmI3OThmZjYwMzk2YTYxMjNkYWEyODAyODUyMjkzNTAgcHkzaworNjg4MDMgYTgzMjY3YWQyZmQyNzIwNTRjMWFmZDRmOWYwYzJjZmRiY2UxMGFjMyBsZWdhY3ktdHJ1bmsKKzY4ODA0IGZiNzFjMTU2MjBlZTZmOTk5ZDk1YjMyYzA4ZDY4MzQ5ODY1NjgwOTMgcHkzaworNjg4MDUgZGJjMTRhY2RkZTM3ZjE4ODk3YWIxMzJiODcxYzljNjRlODRjMGU0ZiBsZWdhY3ktdHJ1bmsKKzY4ODA2IDFmMTQ4NDI0ODhmMDhmYWI4ZmNiODQ1YTI0ZGQ3YTFmMTY3N2M0OWQgcHkzaworNjg4MDcgNjFmMWNiMTZlN2I0MmU3OTZlZmEzMGNjMzA5NjY3YzI0YmM1NmNkOCBsZWdhY3ktdHJ1bmsKKzY4ODA4IDM2ZTI2NmIyZTQ2MDk4ZWJjMzFkMGM4NDkyOGI2MDYxMWQ2MGZmZDggcHkzaworNjg4MDkgYzdiYjMzMjA3NDk1YThjYjFjNzJiZmM3YmJhYjEwMDQwNWEzY2NkNiBweTNrCis2ODgxMCBkZDU2MjQ0MzliZTUwOGZkNDQyZWE0NDU2NGU3NmU4YzBjMTRjZjZlIHB5M2sKKzY4ODExIDczMzM4OGFjZjBiNjVjYjc5YmZjYTY0MmM5M2FjMjZiNzJkYzdjYjIgbGVnYWN5LXRydW5rCis2ODgxMiBmMTM1Mjc0ODRiYTNhYjQ0ZjZhMWMzNDUyMGUyNmYxZGMxZTM4M2MzIGlvLWMKKzY4ODEzIDQyNGE1MDliZWJmZWEyMDMwZjhlNTZiMGMzOTJkNjA4OTJhMzVkMTIgbGVnYWN5LXRydW5rCis2ODgxNCBkMWRlMDc3NDQ3YWE0ZjM0YTMxY2RjZjAwMTkzNDE3NjkyOTNiYTJmIHB5M2sKKzY4ODE1IDMyYTIyZmExM2I5OWM3OTYwMzBlNTgyMTBlZmExNDNkNDQzMDY5ZWQgcHkzaworNjg4MTYgYjIwZTIxOGQ2ZjAwZjc4OGJjYTRkNWE4NTRiNmY0MzlkZjY1MDYwMiBpby1jCis2ODgxNyA1YTg4MGJkYTZhNmI3ODVmNDU1MjRkYTdiMDY3ZjM0MWE1ZjgyZDFjIGlvLWMKKzY4ODE4IGE1N2QxMGQ2YmM4OTMxZjAwMDIwNjE3NmQ1MDVhYTBmMmNhMTllYTUgcmVsZWFzZTMwLW1haW50Cis2ODgxOSBhYjBiMzg1YWVmYzNlOWI2MDQxMjJjM2M1ZDk4MTg2ODNjMWJiZjA1IHB5M2sKKzY4ODIwIDlmMjk0ZWIzODE5MGU2NDM0ZDU1MzU1MTI5NDRlYzRhZDJkNjUwMzYgaW8tYworNjg4MjEgYzc3NTIwN2NlZGFkNzk0MDU2MDk1NjQ5YTZmMGI3MjAwNGMxYzRlNiBpby1jCis2ODgyMiA1MzkwMWU2NjkxYzM4MjQ4ZjExZDRjYjVjZTk5MmE1ZGQ0ZTMyZWFkIGlvLWMKKzY4ODIzIDBlNzlkNWEzNzIzMzgyMDM2M2Y2YWI5MzNmNzc0MWM3ZThjNGUxNTMgaW8tYworNjg4MjQgYzk0Zjk4YzU3NTNmOTcwYjVmMTEyNmU4NjNjODhiMjQwMzY0ZTFjYyBpby1jCis2ODgyNSA3ZWQ5YmVlZDg3MTU1MzMxOTI1Y2EwOWFmNzZmMzM1YWMwOTJlYzM3IGlvLWMKKzY4ODI2IDc2NmRlNDk2YTQyZDdmMGQxYTc0MmE4Yjg4NDYwOWY3ZTRhMTRkNGQgbGVnYWN5LXRydW5rCis2ODgyNyA3YzMwYWIwMTM0YTFmZTYzNDZmYWJmYTFjNzBmN2NkMzc4M2YxYmFkIHJlbGVhc2UyNi1tYWludAorNjg4MjggMmIzZWNkZTE3NmZlNTAxNzkzYzU1MDUwMjgwNWFkNzQzNjk1OGVlYSBpby1jCis2ODgyOSAyNTJmODI0YmI4MGIzYWMyMTcwOWZjOWQ3NWU5NTlmZGIwY2Q2NTExIGxlZ2FjeS10cnVuaworNjg4MzAgY2M1YjQ2MGZmMWFiMTI0ZjIyYzNlMmQ4YWU2OGIzMTUxNDJlNDlmMiByZWxlYXNlMjYtbWFpbnQKKzY4ODMxIDEyZTljNWY3MjY1OTA0OWViZjAzMjYwMmUzMDQ4Yzk5YTIyYjFkMTUgbGVnYWN5LXRydW5rCis2ODgzMiAzNWZiNGEyNjBhMjUzZDhmNzUwOGZhNjA2YjMzODJiN2QzOTNiNTI1IHB5M2sKKzY4ODMzIDY2OTI4ZGFkODFjYTE0OWI1MTBmMTNmNGNjYzU4NjBiMmYwMWQ1ZWYgcHkzaworNjg4MzQgNzEwNmZmNTZlOWQ4YmRmNjk2ZDZhMThkZDg4OGNmODE3MzhjMTM2ZCByZWxlYXNlMzAtbWFpbnQKKzY4ODM1IGI4OGNjN2UyYmZiNGMzMTNkNTBiYmFiZTI5NDBhMDhiNzRlNjA4N2QgbGVnYWN5LXRydW5rCis2ODgzNiAwYWQ4YzU2YTdhNzBkMGNiMDkxNDA1ZmJkMmYzNTg2YWE0YTdhYjI0IHB5M2sKKzY4ODM3IDc2MmY5ZjE4OWUyZTg2Mjc4ODQ1YjUxMmYyYTNlYTJkNGMxODIwNWMgcmVsZWFzZTI2LW1haW50Cis2ODgzOCBmMGM5NTUzNzhjYTNjNTFlZmZjYWFlNTMxMDc3NTUyOTgzZDM3MjIzIHJlbGVhc2UzMC1tYWludAorNjg4MzkgZDI3NDA2MjgxNmZmNjU4YzhkMmEzNDc2MzBkZjJjNGU3M2VmNGYxOCBsZWdhY3ktdHJ1bmsKKzY4ODQwIDBlYzM1NDcwM2QwMWNhYTRiZmQ4MTJmY2Y0NDgzMTQ0NGFmMWRhYzcgbGVnYWN5LXRydW5rCis2ODg0MSBhOTlkZWNlZGY3MmQyMjBhNTYwZjJkODI3NDFiZTA1NWNhYWFlNDdhIHB5M2sKKzY4ODQyIDg3NjNjZjJmN2UwYzU1ZmZkODAxNTMyMmY4YzIyMjE1MzI2NTQ2YzAgbGVnYWN5LXRydW5rCis2ODg0MyA4YmYyMDRhZjk2OTEwZTY0Yjg3ZTllMThjZmU2NTZiZDgxMTFmZTlkIGxlZ2FjeS10cnVuaworNjg4NDQgNzMwMGQ2ZmJkOTE0ZGJkNzRkYWRkNTgwZTY2ZjMwMTY0MTczZGM0MyBweTNrCis2ODg0NSBjYmU1NDY1MWUzYjk4NTM3ODRlOWVhMzRmNGNkNDY0MDJmZTBlNThlIGxlZ2FjeS10cnVuaworNjg4NDYgM2Y2MWY4MGU5MTMwZDE3NTM4YTZmMmE3Y2EyMzBiNjY4YWNjNDgxZCBweTNrCis2ODg0NyA0MDkyYTQwMmVkM2U3NTVhMjA0OTk3MmNiNDcyZTRmODk4YzZjMThlIHB5M2sKKzY4ODQ4IGVjNzBiMzkzZTE3M2Y4NGRkMGU5ZTE0ODY3YmViN2Q3OWI2MzIzZTQgcHkzaworNjg4NTAgM2M1YThhMzQ3OTkwN2YwZDM4MzAwNDdhOGZmZmUyM2EwNTk4ZWExZiBsZWdhY3ktdHJ1bmsKKzY4ODUxIDA1M2YzZTgyNjYwMTZlYzlhMGY0MmY3MzJlYTJkMmJiOTk2NzVjNzcgcHkzaworNjg4NTMgM2YxM2M2NWFlYzA1NmIzZmU1NDY2MTA0MGQ0NDM2NDEzNTBkZWM3YiBsZWdhY3ktdHJ1bmsKKzY4ODU0IGY1ZDdkMDYwOTExYWUxOTM4MzM0MmM2NThiZTc1MDQ5NTJkN2UyOGUgcHkzaworNjg4NTUgYjQwZTRiNTI5ZjY5YmFkODk5ZGZiZjQ5MDEwYTdiYjU5NTI4MjI5ZSBweTNrCis2ODg1NiBlYzZmMjk2MDhiZjA5ZmQ0NDlkZTZlYmUxNDQ3MzM4YjFkMDFhODVmIHJlbGVhc2UzMC1tYWludAorNjg4NTcgOGFlZDc4OGJmY2M4M2M3NTFkYmFmY2Q2NDI3MTBlOGFiMzZmM2JhYyBweTNrCis2ODg1OCAxZjBhM2FjOGJmODVkZTQ0MDRmZjRkYmI4MDc4MjE4MDhjYzYzZjcxIHJlbGVhc2UzMC1tYWludAorNjg4NTkgZGUyZGMwOWUxZjdlNjYxMWRmNDJhODYzZmU1ODQ5YzM0MmFkY2E2YyBsZWdhY3ktdHJ1bmsKKzY4ODYwIDI3MzVmYWM2YjBkNGQzZmYyZTAwZjJlMmZjZTIxN2EyZjE5YWZkYmQgcHkzaworNjg4NjEgZTRjODZkYzE4MWU5YTIwNDRlMDQ1MGY2MjQwNzNlODM2OTM4ZTk0MyBweTNrCis2ODg2MiBiMGI2MjFmMmFmNWRkZmM1MmZhZDM5ZWIwMGI4YjQyMDk3Y2VhN2I5IGxlZ2FjeS10cnVuaworNjg4NjMgNzJiY2YwYTBjYjMxZDQxYTM3YjNhOTc0ZTQwZWUzZjhkNTA0ZGQ4OSBweTNrCis2ODg2NCAwOTQwYTRmMjUwNmU3NzgyNDYwNjBjYjgzZGZiYzk0MDQ3YWQ0OWY5IHB5M2sKKzY4ODY1IGRkNjM4YjdlNzQ3ZTNmYTU1ZTZhNWE2YmVhNWE3YWU4OGU0YWU3MTYgcHkzaworNjg4NjYgMDljMTcxMjdhNGM5OTIwMWZjNTdiYmZkZWNmYmE0ODM2Yzc4ZjE1OSBweTNrCis2ODg2NyBjOTU0NDUwZjdhYmZjYzI1MWNkOTAyYjJhNGY0NDQzYzIzOWFmOGMwIHB5M2sKKzY4ODY4IDA0Yzk1ZmMzNzY1ZmVkN2M1OGE4ZjQzMjk3NTU1OTY3M2NjYjE3YzYgcHkzaworNjg4NjkgYWNlNzViMDZhNmY3NGRjNTk2Y2E4ZjRhZTQ2M2EyZGU5MzlmYzBmYyBweTNrCis2ODg3MCBhZWFhMjM3ZWJhZDdmNzk1YjcyY2IwYzg4OWZmOWY3ZTkyZmE1MGE5IHB5M2sKKzY4ODcyIDNiZjc3ZWExZGIzZTIzZGViOTQzMDMwNzE0YzY5NGVjNTkxZjU2ZGMgcHkzaworNjg4NzMgYTgyM2M5ZjNhNDUyYmMyMTkxODRmZDZiOWI1MGFiM2Y0ZTUyYmY4ZCBweTNrCis2ODg3NCBiMGQ1OTNkNDEyMTIwYzdhZjE1ODk1NWJmZTIwZGJiNzJmMDBlNmM1IGxlZ2FjeS10cnVuaworNjg4NzUgODU3ZDY2MzQxZmY5NDA4MjkzOGYxZDk4YmYyZDgzZmQzMmMxZjMwNyBweTNrCis2ODg3NiAwOGU5YmVkNmExZjg1ZjllNTY0NjVkZDg2NmEzYjE2MmYyMzcwOTZiIGlvLWMKKzY4ODc3IDFhZjRmYTE4YmNjMjA2NWFlNDFjOGYzZDcwNWM3MjE1ODZkYzcxY2EgaW8tYworNjg4NzggNTJmZjA1NzlhNDFmMTlhZjQ4YWE0NDJiMzdmZjQwYjk3ZmY2NjNhZiBweTNrCis2ODg4MSBhNGYyNWMzODBmOTZiN2YzZmYyMDY5NTI4ZGQ4ZTg0ZmUyY2MxOGQ2IGxlZ2FjeS10cnVuaworNjg4ODIgNWM3MzEyY2U1ZGJkMDYyZTg4MjA2MjUyNTEyNGFhMDM5ODI3MjE0NCBweTNrCis2ODg4MyAwNDhlYjVhODM0M2JlMDljYTc0M2FiZmM0ZmMyNTdiYzk3ZDU0OTJmIHB5M2sKKzY4ODg0IGJkNzRlODY2ZjljYWY4MTdjN2VkYTA5OTlhYTZjNDExNGMyMGMzYzggbGVnYWN5LXRydW5rCis2ODg4NSBmYzM4ZjJlY2QyYWMyNzczZGY4ZjY2ZWEwNzMwMzQzMWY0Nzg1N2E3IGxlZ2FjeS10cnVuaworNjg4ODYgNmY3NjFlNTcxNGUwOTE5ZDRhMjc2N2FkOTA2YzU5MTQyYjQxNmVhNiByZWxlYXNlMjYtbWFpbnQKKzY4ODg3IGNlZjBmY2M5MTU1OWViYjVkMTYwZWM5MTkxZGNiOWU5MDI2YzFiNWQgcHkzaworNjg4ODggYzliOWE1MDQxZWY1MjFmNTZiMWRkNGQ3YzM4OTczYTQ2ZmU2NGUxYiByZWxlYXNlMzAtbWFpbnQKKzY4ODg5IDU0MDYxMWFlNjFiODZmYWRhYTMzOTQ0YmZhODJkNzcxMzMwYzhmZWIgcHkzaworNjg4OTAgNGVhYzk5NDE1MzhjNWJkZWM4ZDI5ODg1NjgyMGRmMTRiZTIzZmMyYSBsZWdhY3ktdHJ1bmsKKzY4ODkxIGRiMGZmZWVlNmU1MDcwMzY5ODVjNjJiZmQwODkyM2YyOGNhOTI0OWQgcmVsZWFzZTI2LW1haW50Cis2ODg5MiAyNTAzNGM4MzI4YzdjZjdhZDUxYTRlODEyNTExNjIwYWNiYTQxN2VmIGxlZ2FjeS10cnVuaworNjg4OTMgZjFhZjQwODA0YWRlOTNiOWIzYjVhMmQxNWMwMGIzNzEwZDAyODgzZiBsZWdhY3ktdHJ1bmsKKzY4ODk0IDUxMzJhMTNmMTY5YTM0MTRiZWY3NWNmNDUwYWVhMzNiMjkyNzJiMjQgcmVsZWFzZTI2LW1haW50Cis2ODg5NSAyN2QyZmExOTA4NGE1ODJlNDY4NjNlNjdmMGUyNzFkY2EyYzNlNTJhIHB5M2sKKzY4ODk2IDdlZTZmYTA2MDJiZTkyNzEyYjA0ZGUyZGYzZjJhYzMyZGRjM2VkN2QgcmVsZWFzZTMwLW1haW50Cis2ODg5NyBhMWE1Mjg3M2Y5ZmNmMDY1Y2I4MzhiNGVjMThmMjJkNTZmOTE1Y2QzIGxlZ2FjeS10cnVuaworNjg4OTggZmViNGEwOTJiODcxYzY3ZWNkZjRjM2ZkMDY4ODIwZDU5OWYxYzZhMyBweTNrCis2ODg5OSBhNmE2MzY5Y2ZiY2NkYWRmOGE2ZTU5NGY1ZTNkNWFhODc0ZmZkNzZkIHJlbGVhc2UyNi1tYWludAorNjg5MDAgOTlmMGIwMjY1NTE2YjI0Mzk2ZDMzNjQ2ZmQ5NWEyMTFiM2Y0MDM2ZCBweTNrCis2ODkwMSA1OWQ1ZTcwZjM0OTQyMzBkYmQwMTcxYzc1YTM2MDgzOWU2OTc3OTUzIHJlbGVhc2UzMC1tYWludAorNjg5MDIgNTc4ZGQ3OGZiNTU3MzUyZGE4OTg0MjgyNGNmOWFhMTZmMzI0NWFhNCByZWxlYXNlMzAtbWFpbnQKKzY4OTAzIDZkNTUxNzk3NWZkMjQ1NzM0YWU1ZjJmZjk5NWUzOTczOWVhMzk5OGEgbGVnYWN5LXRydW5rCis2ODkwNCA4NDNjMTc4NjhiNTJiNGY0OGVhZmU0ODU2YjhhM2E3ZTA0MjVmYWU3IHJlbGVhc2UzMC1tYWludAorNjg5MDYgODYzY2U2YzAzNjE3OWY0Yzc0ZmE5ZjcwYmNiOGU3MTg1NjViOTBhMiBsZWdhY3ktdHJ1bmsKKzY4OTA3IDAxMzk2NDg1MjZkOWE4ZmNmN2MxMzgzMDhjN2IwZTI0MzAwYmVmNDUgcmVsZWFzZTI2LW1haW50Cis2ODkwOCA5YTQ1ZTJjYWQ2YTFmM2YxYjRmZTMyMGJkNTg5ZGJiM2E4ZjJlMzc3IHB5M2sKKzY4OTA5IGY3ZjNkODQxZGEyYzZjMWZhNmUwMDE3ZDU5MjU3MjA2Y2JmNTA5NjQgcmVsZWFzZTMwLW1haW50Cis2ODkxNSBmNWJlNmNhZWFkMDNkODkwY2I1MWJkZGY5ZDIyYWFjMjQzZTZkZTBkIGxlZ2FjeS10cnVuaworNjg5MTYgNGU4ZjI4YjNlYTBhOGVmYTAzNTczMDczZTA3NGRjNTg1YTUzODEwNiBweTNrCis2ODkxOCBlYTU3NjdlYmQ5MDMyYWQ4YThiYjQ4YWU5MTU4ZDk4MDA1N2VlYjA2IHB5M2sKKzY4OTE5IGMyNmYxYWYyNmJmYzIyYWY5YTA5NTMzYjllOTFjYjkzM2VmZGY3MWYgcHkzaworNjg5MjAgYzRjNGU0YjFkYzFhZTYzMWVmOTg1OTFhOGYyMTUyYzA1NTBiNWNmMCBsZWdhY3ktdHJ1bmsKKzY4OTIxIDk5YzEwZDY0N2YzMjZmNjM2MThiMmQ4YzkxZTE5Y2ZiYTdjOTExNjAgcmVsZWFzZTI2LW1haW50Cis2ODkyMiBmZDhhZjQ2ZDM2MTU0M2M3NGY1Njc1OGVmNmQwMTJkZWEzMmM2NDUzIHB5M2sKKzY4OTIzIDJjN2QzNTY5ODgyZGUzNWNlZWEzNWRhYTk2ZWIwODRhOWEzMjVhMTIgcmVsZWFzZTMwLW1haW50Cis2ODkyNCBkODZlMjMzMThiNDE1ZGZhZGQzYjIxM2NjODk2OTUyODc3ODlhZWU4IHB5M2sKKzY4OTI1IDU1MTI1N2M4MDU4YWYwM2E3NDZiMGMwNTFmNzQ5YjMxODM1NTM2YjMgbGVnYWN5LXRydW5rCis2ODkyNiBlM2NlZWI3ZWI5MDEwZWU3ZmRkZTRhMTM1OTRhYmU5ZDJlZTg5MDAxIHB5M2sKKzY4OTI3IDIxY2Y5NmNjMjIxNjNhOTU2OTM4YzYxMDZjYjg1ZWJiZDQzNjNhNjMgbGVnYWN5LXRydW5rCis2ODkyOCAyODE5YTQ3MDZjODExMmY0YmE2YzYyYTdlMzczMTMxZmE5MmRhYThiIHB5M2sKKzY4OTI5IDdkNWZhNTIzNDFlMjMyMzAwY2I3YjkzMDg1N2IwOTk3MmUyNWY5MGEgbGVnYWN5LXRydW5rCis2ODkzMCA3NWQwZjYxOGUxZGVjNWFmOGRkODgyZDk3ZmFiNzc5M2EyYWE4NDhjIHJlbGVhc2UyNi1tYWludAorNjg5MzEgNTBmNDBmMmMzN2RkYTU3ZjRjMzg0YTFiOGJkZTA5NmE5YWJlMDhkNSBweTNrCis2ODkzMiBjYzgxMzBhZmIwMzkxMjJiOTQxMzUxMTM0ZDQ0Yzg3ZDYxYTMyNWYzIHJlbGVhc2UzMC1tYWludAorNjg5MzMgN2E1NzU5ZTg1NjM5NGZkNDczYmRmOWM1YTg0MGY1YzczMTgyMjgzOCBsZWdhY3ktdHJ1bmsKKzY4OTM0IDQ3MWJlMmM2NDU3ZWVhMzUyNTI4MDhiOTEyODU2MWExZDJkYzQ2MTkgcmVsZWFzZTI2LW1haW50Cis2ODkzNSAwMTEzMjE5NWY1NjI1MTU4ZTc4ZjI2YTFjNzdhZmI5MWRiMWIzOGJmIHB5M2sKKzY4OTM2IDMzNjlhNWFjYWY3OTgzNjVhZjRjNzgxMTg1NzYxYTQ1NTE5NWVmYTIgcmVsZWFzZTMwLW1haW50Cis2ODkzNyBjOWZlYTM1Yjg3M2VhMWE3ODM2MjNjMWVjNjM5Y2E4YTFkYjYwMzBlIHB5M2sKKzY4OTM4IDEwZjRhMTYwNDM4ODkxY2ZkMGU1M2ZkNWNhZTM2NTk3NzcxODI5Y2UgcHkzay1pc3N1ZTE3MTcKKzY4OTQwIGUwZDljNjU5ZjdhNmMwZTI3ODkxMzY0YjlkMGYzNzE0ZTkzZDJiNTUgcHkzay1pc3N1ZTE3MTcKKzY4OTQxIDE0YWNlMjA1NDQ3YmJlMjM4ZWFkNjQ1OGEzMzAxOGFmZWY4NGVjYjIgbGVnYWN5LXRydW5rCis2ODk0MiBlNDcwNWZmNjI2ZjA4YjQ5NGRkODJjMGY3MTRlZjg4NThiNWNhODA0IGxlZ2FjeS10cnVuaworNjg5NDMgYTUyMjkyMzdlYjUwY2JmMzY4ZjkwMDYyZjkwN2Y2N2U1OGVjZmY0ZCBsZWdhY3ktdHJ1bmsKKzY4OTQ1IDRlODJmYjFhZWIwMjIyYTBmOGM0ODBjNTJmODg4OTg3OTIyNzQ4MTMgbGVnYWN5LXRydW5rCis2ODk0NiA2YTkxYjNhZGNhZDZlNjA3MmE0MTdhYTAwZTcyYzk0Nzc4NDYwN2IyIHJlbGVhc2UyNi1tYWludAorNjg5NDcgYzg1MWVkMGNmNjVmYmM2ZWIzOGVkYTIwOTVkYzhjZjg3MzljMDQxZSBsZWdhY3ktdHJ1bmsKKzY4OTQ4IDA5NmI0ODg0MzhlOTI0ZWM4OWU3YzI4NDc1YzQ1ZTMwMjAyZmZlNWQgcmVsZWFzZTI2LW1haW50Cis2ODk0OSBjMTU1Y2IzOGY3NmQwZTY4MDU1OGY4Y2QwMTA4Y2Y3ZjU4OGQ2NWJiIHB5M2sKKzY4OTUwIDQ1YTUyNzZlNWRjYzY1ZWJlMmQ3ZDZkMzQ4Y2MyZWY4OTllZjQ1NjAgcmVsZWFzZTMwLW1haW50Cis2ODk1MSAyMWZiMTAxNDI5NGNjNjdlMjY3M2NhZGFkYzZiNmNiZjZiMDkyMzg1IGxlZ2FjeS10cnVuaworNjg5NTMgYjRhY2UyYjZjMjhmMGY0MjE1MTI4Yzc2ZjVhYjk3MTQ1Y2ExMGQzYiBsZWdhY3ktdHJ1bmsKKzY4OTU0IGZiOWQyZDJhNDM1OTU2NzIwYjY3ODBkZDRhOWRlMjczMWMzN2NhOTIgcHkzaworNjg5NTUgZGZhY2VjOGJhNmRiNGU5NjEyMjQ4ZWQ4ZWZlZjc4NzY5NWRjYWU2NSByZWxlYXNlMjYtbWFpbnQKKzY4OTU2IGI5NGU5ZWQzNTU5YzI3MzQxMzNkZDhjMGYxNDhkMjM1YWJjMTZhYzIgcHkzaworNjg5NTcgYzRkMzFmOTc5OTBlOTVjMjkwMDhkNTU4YjY1YjBlNTQ2MDQ3OWMwOSBweTNrCis2ODk1OCAwNGEzM2M0N2FiYjVmMTE3NzNiMGI5MGU5MzgyMmViMTVlNzY5MjJmIHJlbGVhc2UyNi1tYWludAorNjg5NTkgNTIwMzc5NGM3ZWEyMTQ3MmRmNmNkZjExNmQ5MTE4ZDU1YjU4MDRhZSByZWxlYXNlMzAtbWFpbnQKKzY4OTYwIDM1YzY5MzdjMDEyNzVjMWUwMjI2YWY2ZjhhYzZjZWZmMGI3YzQxZmEgcHkzaworNjg5NjEgYWQxZGIwYWU5OGM2YTg3OWE5ZWI4YWEzYWViNTA2ODM3MTMxYTE3YSBweTNrCis2ODk2MiAxYzUwYTE3YzBmMjFjOTYyNzkxNWIxNjU5M2QyMjQ3MmE5OWRiMWE2IHJlbGVhc2UzMC1tYWludAorNjg5NjMgNjk2MDUyM2ZhZGMxZTRiZmI0NGE2Njc3YWQzZDBlYmFhMWE4ZjEzZSBweTNrCis2ODk2NCBkNTEzMDI0ZjUxNzc1YmFhNWU4MDI4NzhhOTNjMDM2NTA4OGYyODdkIGxlZ2FjeS10cnVuaworNjg5NjUgYjg4NTA2MDZkOTIxYTBhZTgzODlkZDc2MWEwYWVmNjMzODAzMDcyMSBweTNrCis2ODk2NiAwMmUxYzVjZTZhNjlmOTZlYzE4MTNkZjAyY2IwY2Q1MTJhZGE1Y2NhIHJlbGVhc2UzMC1tYWludAorNjg5NjcgMzZmYmFmNzUzOGNlYzI1YmRhODBjMzhlMDcxNmEzODJmMjZmYTAwMiByZWxlYXNlMjYtbWFpbnQKKzY4OTY4IGQ0MjM3NGQwYWE1ODRiYTlmYTk0MDY4YzU0ZWZkNDIyMjczOGNiOGUgcmVsZWFzZTI2LW1haW50Cis2ODk2OSBkMzYyZGE5OGQwZGU4NTZhNjRhMDZiZmNjMWJmNzBhZjZjMTcyYWMwIHB5M2sKKzY4OTcwIGIwNDg5NmNhYTI5YmU5YmJlZWI4NzQwM2EyMDA5NmNjOTE5MzU0ZTEgcmVsZWFzZTMwLW1haW50Cis2ODk3MyBjOTRhMjM3YmY0OTcwMDBjNzlmMzFjODkwMWFmMTM0NDc5MDAwOTdkIGxlZ2FjeS10cnVuaworNjg5NzQgMjAwODI5MjU1YTZhN2ZhN2FiNTJkMDM3ZTI0NzE4YjZkY2RjNzFhYiBsZWdhY3ktdHJ1bmsKKzY4OTc1IDJlYTc1ZjYwZDllNWQxZGE0ZWE5N2MwNzU3YWQyNGViZDFjMmNkMjYgbGVnYWN5LXRydW5rCis2ODk3NiBjYThlYTUyYjQ1YzMzOGFmZTc4OWRlMDUyMjg5MTQxMWU4N2I0MzY0IHJlbGVhc2UyNi1tYWludAorNjg5NzcgOThmMjIzZWNlOGYyNzI5NzBmNTk5YWY1NThiMTYzNjhhOWU1YTU5ZCBweTNrCis2ODk3OCAwNjg3ZDQ0N2RlNjFmZjhkYWM5NmI5NjVmNmI0YzZjNzFmYjM0MGY0IGxlZ2FjeS10cnVuaworNjg5NzkgZTE5ODgwN2M1NTg2N2IyNzQ0ZGNiNmNlMzFhOGY2M2ZkMzRhOGEzMSByZWxlYXNlMjYtbWFpbnQKKzY4OTgwIDg1N2RmNmMwOWUxMmY5Y2MxNTU4YThmMzdiM2JjZDY5NDIwZTZhMzAgcHkzaworNjg5ODEgOTRjMmRjNWY0NDZkNjc2YWNlZTU0ZjlmMzE4ZWQ3YmRkNmJmNWE5YyBweTNrCis2ODk4MiAxNGMzYWI5YmQ3MDYxZjYxMGMyMGJiOGQ0ZGMxMjkzMDU3YTFkMTgyIHJlbGVhc2UzMC1tYWludAorNjg5ODMgYzIzZTQwZDFhYmJjOGQ5MWVjNDZhMWE0YjhmOWM0N2YyOTY5ODM0ZiByZWxlYXNlMzAtbWFpbnQKKzY4OTg0IDgwMjUwNjY0NTY2NjRkZGM0OTljOGQ2OGRiYTlkMmY0MzEwZWFiYzcgcmVsZWFzZTI2LW1haW50Cis2ODk4NSAyY2IwYzUyZDc3OWZjMjNiZTBmYzJiYWRmNDI5YzY3ZmQ1M2M5YTA5IGxlZ2FjeS10cnVuaworNjg5ODYgZjU3MjkxNzE4M2ZhMmVjYzJhZjRlNzc3YTI2ZTkxY2ZlNTk1ZmMyYSBweTNrCis2ODk4NyBmMTM4ZmJlMjk0NWU1NTg5YjBhMmQ0MmRmODI1MDc1MTVmZGUyMzIxIHJlbGVhc2UzMC1tYWludAorNjg5OTEgZjA4NWFhYTQ2ZDg3NDhmZDU4ZGVlZDA3NmNiZDkzMDcwNWUxZTE2MyBweTNrCis2ODk5MiBmZmU3MzJkYWRiMGQ4ZDk4NDFkODk3YjljNzJhMWUwN2EzZTI1OWJiIHB5M2sKKzY4OTkzIDI1OWZhOGY2NGE5N2U2MjQ0N2Q2ZTgxODM0ZTlmNTFjYWMyYjMwOWUgcHkzaworNjg5OTUgNDQ1MTIzMTFmMmJjODIwMDcwYjgwNWQ2MmQ0NGI4MDllMTJkOGE3YSBweTNrCis2ODk5NiA5NmQyOTZjNzhmYmE4NjZhYTlmNjhlNzc3ZWY2OGQyZDc4YTZiMzdkIHB5M2sKKzY4OTk3IDU2NzliYjliNTE5MGM5MWFjMWFiMTI4MWQxYjU0NDBjMTkxMTZmZTYgcHkzaworNjg5OTggNmMwYmI1NDhhOTQ2YzdiN2U5NWViYjc4YzFkNWE4MjZmNzUwYjQ0NyBsZWdhY3ktdHJ1bmsKKzY4OTk5IDc3MjBlMzYzYzFjOGNlZDc3OGYwM2Y2ZDM2MjBmNzNjMzYxZjAzOTQgcHkzaworNjkwMDAgODRkNjQ4Y2RkYzMzNDYwYWQ3ZTJiNjIyMDMyOTE3YWMwYjRjZDIwMSBweTNrCis2OTAwMSBiN2NlNjc1ZmViYjkwM2NhYWEwYTA1NzhkOTllMjQzMTdkMWNhZjQzIGxlZ2FjeS10cnVuaworNjkwMDIgZjExYTQxMDk1NzI2Zjk5MzVhZGU0Nzc5YzlhOTQwN2ZmZThlMGI2ZSBweTNrCis2OTAwMyAzMzI5MWUxZTg3ZWM3NDNmODViYjdhMWY1NmFlMTQyNGYxOGYyNjlkIGxlZ2FjeS10cnVuaworNjkwMDQgNDAwNTAxMWQzYTA5ZWNhOTllMTEyODUxOTExMjJlY2M1NWYxMjVhYiBweTNrCis2OTAwNSA3ZTgzM2NkZWIyNDE3NDU4NmE1MWQwOWQxNzMwMGQ4NjQ4YTI0YTgyIHB5M2sKKzY5MDA2IDRiODdmMzE5NzhiN2UyMTc2YzY4ZGI2OGQ5NWVjMDVjZTQ3YTA5MjkgcmVsZWFzZTMwLW1haW50Cis2OTAwNyA0OGI3MDM3ZmYyMGU4NWI2ODhlMGJiNzQ1YTdlMGI5MGRkZDRlNDI5IHB5M2sKKzY5MDA4IDdmMGU0ZTQyN2VhM2Q3MGFlOGRhZDRjZmQ3ODY1NWY3Y2I1MjM1MTAgcmVsZWFzZTMwLW1haW50Cis2OTAwOSA5OGE4NTVjOTdmZjIxNGZhYWJhMGNjYzMwMjg5NDg2YTM4NDI3MDdiIHJlbGVhc2UyNi1tYWludAorNjkwMTAgZDE3MGZkZjRiZGZiNDUyMmE2NDQzM2QzOGY5OWU0ODQ2NTRiMTJlMiBsZWdhY3ktdHJ1bmsKKzY5MDExIDE0NjMxYzYyN2UwMzc0MmQ4ZTlkODFlNjIxNzYwOGJlZjE3ODIyYzggcHkzaworNjkwMTIgM2U0Yzg3MmQwMjQ2N2E1NzE2YTVmYjRkMmJkOWI5NzZkYmU5MDExZSBsZWdhY3ktdHJ1bmsKKzY5MDEzIDM0MDI3ZThkMDQ0ZjAzYzg4OWFjZDk4ZDkzNTljODhmMjRkMzNhNzcgcHkzaworNjkwMTQgYTI4NzY1ZmQzMmYwMGE1ODdmODJhNmJiYzVkYmE1MGFiMGE3OTc5NSBsZWdhY3ktdHJ1bmsKKzY5MDE1IDdlZDljY2MwYjUxOTdlNzMxYjg5ODMwZDU0ZTIwMGE3MzIyYWQxMzUgcHkzaworNjkwMTYgOGNkM2NlZDFlZDI5OTlkZTYwYzljOTY3M2E4ZDFkMDljN2MyNzc1NCByZWxlYXNlMzAtbWFpbnQKKzY5MDE3IGU3MThkMjk4NzRkNzVjN2Y2NTdhNjg2YzlmN2Y5MmM5Mzc4YmVhYmUgcmVsZWFzZTI2LW1haW50Cis2OTAxOCAyMjU0Y2QzMjAwZjA2MDJkYTFmNjc2YWE0NmQ0OTg5Y2JjM2M5YjNlIGxlZ2FjeS10cnVuaworNjkwMTkgNTMyNDRjNGVlZjIyM2UxZWU5MTJkNTBmY2I2ZjQzNjkxOWQzOGM4MSBweTNrCis2OTAyMCA1NDdiN2ExN2MzNzk5ZTc3MjA1ZTExMzljMjBjNDAyZDA2NTI3ODdkIHB5M2sKKzY5MDIxIGE2YjAyNTIzYjkwMzVmNWNjMTQ5MDZkY2Y1ZDRlZDQ0YmExNTlhMGMgcmVsZWFzZTMwLW1haW50Cis2OTAyMiAxYjMyMGZmYzBkYjhjYWU4MzA4OGI5OTU0ZjNmNzY0NjJiOWM3ODY1IHB5M2sKKzY5MDIzIDlhNGZkYmNmMmQ5ZjJhYzc1YmJhOGQ0ZDk5MzA3ZDNkM2YzODg2OWQgbGVnYWN5LXRydW5rCis2OTAyNCBmYzUxMDI2YWJkZTZjNmQ2NWFlYzA1YTdmOGRhOGU3OWUwNzZjZDM1IHB5M2sKKzY5MDI1IDc0YWE0M2RkODc1ZGQ5ZTVkNzk4YzQ2MGQ0YjRhNDhjMGY1NTExOTUgcHkzaworNjkwMjYgYWRiZDc3YTkwYmRlYjVhYzFkY2EzZDAwN2M4ZGZkNTQ4NmU5NzY5NyByZWxlYXNlMzAtbWFpbnQKKzY5MDMxIGM1YTUyYWVjMmRkZjkxZTEzZTBlN2YzMDkxMDJmMjllMWQwYjMwZjUgcHkzay1pc3N1ZTE3MTcKKzY5MDMyIGI2ZGU2OTEyZmUxNDZiYTZiZWQyMDU4ZGY1NmVjNTU4ZjkwZWFjNmEgcHkzaworNjkwMzMgZDJjMDY3ZjlmOThiOTVkMjE5Y2Y0NDgwZmNlNTMzYTcwNWNjNTBhZCByZWxlYXNlMzAtbWFpbnQKKzY5MDM0IDVmZWI5NzZiMThhYWM4Y2U5MWY2ZWJhYTkwMTQzOTY0Zjk0MDE5MGMgcHkzay1pc3N1ZTE3MTcKKzY5MDM1IGJlYTZiN2EwYjlhMjJmODk1MTk0ZDI2Mzg0YTQ2NzZjZDI5Zjk0ODkgcHkzaworNjkwMzYgMmE2ZTBiYzRiYzAzMTlhZmE0ZTY4NzFhNTE5NGJkY2JlNTNkZjM3ZiBpby1jCis2OTAzNyAyMzFjNGU0OTBiMWY1OWY3NGRhNWU5Mzg0YThjMGFmNGUxZTRiMjZiIGlvLWMKKzY5MDM4IDYyY2E4MWRkMmFlODg3Mjk2ZGVjNTcxM2FkM2UwYzUwMWYzN2I0NTUgbGVnYWN5LXRydW5rCis2OTAzOSBiNjc0NzA2ZjNiMTBlZGUyYzZlNTQyZDQ0MjkyYWQ4Y2VkOTg4MGE1IGxlZ2FjeS10cnVuaworNjkwNDAgMTQzNGQxYmM2NjdmNzI4Mjk2ZDY2Mzc1YTJlMTc1NmYxMDQxYjU3ZiByZWxlYXNlMjYtbWFpbnQKKzY5MDQxIGFiMTE0NjU1MTI1NTIzMWFhYTg3NmM4NDZhYWRmZWZlMzgyYjJlYzYgcHkzaworNjkwNDMgMDUyMmNmZWU4NzlhMTFkMzNkNGMxZDlmMGYwM2IyNzE0ODQ5MmVlZCByZWxlYXNlMzAtbWFpbnQKKzY5MDQ0IDg0MDAyODIyNmVkNTNlYjZmM2I1NGU0ZmQxYjUwZDgwOTBiNzVjNWUgaW8tYworNjkwNDUgMDRjYTU3YmI3MTA4MzkzOTM5NGQzMzBkMzM4YzY1MWIwZjJmYjA1OCBweTNrLWlzc3VlMTcxNworNjkwNDYgNGFiNTA4YTVjZDdlZDBhMzUyMTgzNTY5NmZmMmI1OTYzMDViNmIwMCBweTNrLWlzc3VlMTcxNworNjkwNTAgYzEwMWY3OGFlZDhiNTFiMzg1MjRhODhmNzQ5YzNlODgyMzdhYmIzZCBsZWdhY3ktdHJ1bmsKKzY5MDUxIGM5MDkzZDQxNTkwZWVhMjI0M2M5YjBlYzk0MzI1OGJkZjQ4ODlmNDggcHkzaworNjkwNTMgZjA2ZDkwMDI3Mjk5NDg2NGIyNWZhNTc3YjM3Njg3M2RjZGMxMjI0MyBsZWdhY3ktdHJ1bmsKKzY5MDU1IGQ2OTAxMjlkN2RhYzI1NTYyZTljZGVmOWQ1ZmE5MDgxNmVhMzVmMWIgcHkzaworNjkwNTYgZmQ0YmViZjlkZGRlZTdhYzk3Nzc3ZWFlNzgxZjgwZGFkOWJjY2Q4OCByZWxlYXNlMjYtbWFpbnQKKzY5MDU3IDM5NzU3MjVhODViNTE4NGFiNzI1NWZlZjdiM2QxY2ZhODJlN2RiM2EgcmVsZWFzZTMwLW1haW50Cis2OTA1OCA4ZDYwM2U0OTM4NDZmODdiMGFjMDI2NjFjNzIyZWY0YWI3Y2E4ZWEyIHB5M2staXNzdWUxNzE3Cis2OTA1OSBiZmY5OWE4MTgyNGE3MDk2NGQyZDFlZDI3NGE5MjVhYmRkODFjYWVkIHB5M2staXNzdWUxNzE3Cis2OTA2MCBjYTRkYmU0YWU2MjlmNDMxNDI1OWNlODhjNDE4YzA5YTg1MWQ3MmIzIGxlZ2FjeS10cnVuaworNjkwNjEgOTQ2MzQwZmIxMTRiNTMwZjM0ZTFlNGRmODQxYTEyOThhODMzODIxMSBsZWdhY3ktdHJ1bmsKKzY5MDYyIDE4ODRkMDg4ZTBhY2NlY2Y4YjEzYmEzODM3NWI5OTFlNmY0NDc5ZDIgbGVnYWN5LXRydW5rCis2OTA2MyAwYThhN2M0NTdmMWJiZjliZWM5NmI5OTg4ZGNjYjEwY2Q4MDUwYzI0IGxlZ2FjeS10cnVuaworNjkwNjQgNWZjNjA3YjZlNDJkN2I3OWE3NmYzN2UxNzljNjFmNDA5NjIyNzkwNyBweTNrCis2OTA2NSA3M2JhMGY0ZGIwZDU5MTBkY2YyMjg2MWRmYTAxMWI3N2NjYjRjNmNlIHJlbGVhc2UzMC1tYWludAorNjkwNjYgZDhjNTIyZDYwMGU0ZTNlNDk2MDZhNjE0NjJhODk1MjkwNTM3YjFjZSByZWxlYXNlMjYtbWFpbnQKKzY5MDY3IDQ0NDdiYzFmNWE1MTIxNGY2MGY2ODk2M2E5ZTlmODljZThhYzdlNWEgcmVsZWFzZTMwLW1haW50Cis2OTA2OCA5NzQyZThhNGRjYTFmMGNjMzliNjUwODMwMzlkMTVhNDIxNWEzOTBiIHB5M2sKKzY5MDY5IDljMWYwNmIyNzNmNzJjNTYyM2U5MWYwOTQxN2YxZTJjZTBkOWJkNTMgcmVsZWFzZTMwLW1haW50Cis2OTA3MCA5NDQwNDY4MDgzNTkzYzUyMmRiOTg0ZTk5YWQyZmYxMDk0ODRjMGYxIGxlZ2FjeS10cnVuaworNjkwNzEgOWM1YWVmOWYxZmE3MjdlNzlhMmJiMjI1NDRhNjRjZDAwMGM0NzYyNiByZWxlYXNlMjYtbWFpbnQKKzY5MDcyIGYwYTFiZjI0OTAxMDVlZGQ4ODY1YWIzYWVkMTQ1NTg4MDM3ZTlhN2IgcHkzaworNjkwNzMgMDFiOWM1ZDk5ZWJlMjM0NDIxZDZkYTAwNjgxZGZiZjA2ZTAxYjQ4NCByZWxlYXNlMzAtbWFpbnQKKzY5MDc0IDUxOWIyMWY4OTFlYmQ1YWE4Yjk5YmQyNmIwMWQxNjc2ODMzOGRjODkgbGVnYWN5LXRydW5rCis2OTA3NSBiYjYzOTE1ODI5NmU3NjU2MjZhMjgxYzVlYjM3OTA2NjQyMzM3NWU3IHB5M2sKKzY5MDc2IGQ4NzdkYmZkNGJmOTM5ZTEyOTU2ZWZjYzgwMDQyOTIwYzRkNWVkN2EgcmVsZWFzZTI2LW1haW50Cis2OTA3NyBiZWRjNjg0Njg0NGRiZjBmNTkxNGE0NDI4NWM5YmZhN2U2NTQ2M2NjIHJlbGVhc2UzMC1tYWludAorNjkwNzggMjM4NGMwNGVkYmI2MGJiNmNkZDI5ZTczNzQzMWFjOWYzMjZiYjBlOSBsZWdhY3ktdHJ1bmsKKzY5MDc5IGEzMzA0MTkwZDhhYWFhOTE1MDg3Y2M1YjRmY2E2OTFhMjU3MjZlNjggbGVnYWN5LXRydW5rCis2OTA4MCA5YTlkMjZlODQyYjMzMTVhNjdiMTc3MzYxMmI2MGQzOWMxNDQ5MDRiIGxlZ2FjeS10cnVuaworNjkwODEgMzIyODkyOWVjYjZkODQ4MzM3OWQyOWY2ZDBkMjI2OWU0N2M3YzAyNyBweTNrCis2OTA4MiBkNjZlMWFiYjNhOThjZmQ2YzdiYjg2MDU5NDY1OTdmYjIzYTdiZDhiIHB5M2sKKzY5MDgzIDdhZDk5NmVlMzMzNDFkZjA2ODFmMzQ5OTAzZWMwMTMzZTZhYmIwNWEgbGVnYWN5LXRydW5rCis2OTA4NCA3MjViMjA4NzMwYTU5MzQ5MTRmOTdhZDczOTcwMDBkNDM2NDE2MzQ4IHJlbGVhc2UyNi1tYWludAorNjkwODUgMDdmZjI4MWJlMDJjNTU3NmFhYzQwZDYwNDQxZjAyNWRhN2Y4MTIzZCBsZWdhY3ktdHJ1bmsKKzY5MDg2IDRmNjA3YzNhZThlMmQxNzNmMmFhODNhYjA4Mzk2MDA2NDAxYWI4YTQgcHkzaworNjkwODcgN2NiMzUxYzljZjQwMjQ3ZTI2OTM3MmU3YWE4OTQxMDU0ZjUwMWQ5MCBsZWdhY3ktdHJ1bmsKKzY5MDg4IDRiODk3NmVhNjk2NjBhOGIyNDQ0NWU3NzUwZDU0MGU3OTY3ZjgwODYgcHkzaworNjkwODkgOWViODRmYzQzNmZjMWIzYTVhNGM2YWJiYjQzZTBmNmNmMDM0ZjhiZCBweTNrCis2OTA5MCA0YWJjZjlkMWI5MzgwZmJhMDE2ZTg4YTQ5MDQ4ZDhhNzY0ZTZjZDBkIHJlbGVhc2UyNi1tYWludAorNjkwOTEgMTRlNWI2ZTgzNjgwMGY4MmE5OTc3ZTQxMWViMWYwNThkN2NlMGFhNCByZWxlYXNlMzAtbWFpbnQKKzY5MDkyIDBiNjY3ZTM5M2ViMzQ4NzAxZmJjMWFhZjYxMDc1NTcyNWY0Yjk2Y2EgcHkzaworNjkwOTMgOTY5MzQ2ZGJmMzFlMjA0YzYxNmRmNmNmMDc2MGRmNjIwYjY4YjVhNCByZWxlYXNlMzAtbWFpbnQKKzY5MDk0IGRhYWU4YzMyNGJlMWI5MTkxM2Y1NGNmZGNhZTY5N2M0NTNlZWUyNzIgbGVnYWN5LXRydW5rCis2OTA5NSBkMTYyOWE5NTljYjg1MDQ2OWY2YmNkMWNkYzNjOWJhMzNhNjVhNjZlIHJlbGVhc2UyNi1tYWludAorNjkwOTYgNDYzZjZjMTJmMWQ0YzI1MTEzZjYwZTNiNzA5YzlkZjM4MTgzNTI3NCBweTNrCis2OTA5NyBkODU3MTQ1NzRjOGE1MDM1YjBkOTQwYjRlYzY1ODk0YWU3NzVkYjJiIHJlbGVhc2UzMC1tYWludAorNjkwOTggYmNiNmFkMWNiNTVkZmEzMmE0MjQyZDZlMzhjOWFjNWNkZWMyZjFlYyBweTNrCis2OTA5OSBhZjk0ZWYzOGI1YzBmMjdiY2U5NWQwOTEwNDU0ODU4MDY2MDM4ZjVkIHJlbGVhc2UzMC1tYWludAorNjkxMDAgM2MyOTBiYzIxZDJjM2RhYjk1ZmNhNmE5OWNlNzlkY2QyZjA0MzQ3OCBsZWdhY3ktdHJ1bmsKKzY5MTAxIGU0OGM1OTE0ZGE4MThmYzkxMTc2N2FlN2JhNjRkYjgxYTk2YTM0MTYgcHkzaworNjkxMDIgZTJkY2FkNTZlNDBlMDMxNzQ5ZTdkMzgwMDhkN2JjN2NjNTI5NmEwMSByZWxlYXNlMjYtbWFpbnQKKzY5MTAzIDVkMGVhZWI0MTM0ZDdlYzlkMzc4N2JiYTNlOTI3ZDNkODhlYzY2YzMgcmVsZWFzZTMwLW1haW50Cis2OTEwNCA0YTRhNzQzN2M1ZTFjZjY2YWQ0ZmYyNTY2ZWU4NTg3MTNmN2MzMzk0IGlvLWMKKzY5MTA1IDkxZWQzZWNlMGM3NmEyYjI0NWIwNzRjZjYxZmJjNjVkNTg2YTc4YjkgcHkzaworNjkxMDYgZmM1ODZiMzgxOTg3M2U2M2Y5NzVmM2E2MjJiNTQzZGQ0MmJmMzE5NyBsZWdhY3ktdHJ1bmsKKzY5MTA3IGMyNjI4YmZlNmE2ODQ4ZjI4N2UxYzkyYzY0MmE2ODY3MTNmZjFhNmQgcmVsZWFzZTI2LW1haW50Cis2OTEwOCBjMzc4YzRmNGE3OTY5ZTFmZDA1NTk3N2FmOWNjM2I3ODdhNDE3ZDRiIHB5M2sKKzY5MTA5IDIwZjRhZmNkM2IyN2VlNjMwMGM4ZmY5MTkyMGMwZGUyYjYwZjFiMmMgcmVsZWFzZTMwLW1haW50Cis2OTExMCBiODhkMzc3MDExZjUwZGE5ZDM0Yjk4N2NmNDM2ZmQ3NDk5YjViZDRkIHB5M2sKKzY5MTExIGI0OGI1ZGRhZGE4OTQ4ZThjOTUzMjU5NmM4N2UwYmZjYjViYThjMjAgcHkzaworNjkxMTIgNmEyODk2ZDkyM2UzYTJjMjZiOTI2ZTkzYzgyNjA2NTY2M2Y5ZTkyYyBsZWdhY3ktdHJ1bmsKKzY5MTEzIDRhYjM4MWFlYTY1ODAyMGJmMmQ0NmM0NTRmMmE3Yjg1MzY2NzdlZGUgbGVnYWN5LXRydW5rCis2OTExNCBlMjI3MDU0ZDQ5NmRmZTg0ZWM3NDNiMWJlOWUyYWI4OTk2YTAyNzBkIHB5M2sKKzY5MTE1IGEwMzhlOGZiNjdjMjEwZWNlMThjYWJhNjcyM2I3ODdiMzE0MGYyOGMgaW8tYworNjkxMTYgN2I3OTY4ODYyNmU0ZWYwZGJjOTFkNjJjYWU0MjZkYTY1ZDU4Y2ZhNiBweTNrCis2OTExNyA5ODY3Yzg0OTUzMGJiYmYyNjdiYzgwOWZlYjMxNjNiMDU4YzAxMWU3IHB5M2sKKzY5MTE4IDhjMmM3MmNmMmEwY2ZiNjJmYjMwM2NhNjNmNWVlZmE1YzZmZjk3MWYgcHkzaworNjkxMTkgNjE3ODc1MzMzOTVjMGRhYWRhYWFkNTU3YmViNGYyMDc4ZmU4YWE2MSByZWxlYXNlMzAtbWFpbnQKKzY5MTIwIGU2N2RjNGRiOTY0Yzg5YTY3NjRkNDgzYmFhNDc0ZjVlZDQ0MzMzMWYgcHkzaworNjkxMjEgM2MyYjM1YTEwNTkzYmQ2OGNmOGZmNzlkZDZmMzFmNWE3MmE0M2YxZSByZWxlYXNlMzAtbWFpbnQKKzY5MTI0IDM1OTM5NGI2M2EyMzg4YWMyN2MwOThjZWVmMmY0OGJlYTIwNjE1MzIgcmVsZWFzZTMwLW1haW50Cis2OTEyNSA3ZmMwYWQxMWIwYWYwNzRiMDU0YTExYzA2YzM2Y2RhMWFhYzJjOTg4IHB5M2staXNzdWUxNzE3Cis2OTEyNiAzNzhiYzE4ZDIzNTA5YmJmMTljOGY3YTViNWFlODFjODUyNWFlM2E4IHB5M2staXNzdWUxNzE3Cis2OTEyNyAyMzk0NGYxZDUzZmRmYjljZDAwMGRiYThhYjcyNmMzYWM0MmZmODkyIHB5M2staXNzdWUxNzE3Cis2OTEyOSA0YzllYTY0N2VhZjQyMWRlNTc2OTJkMGVmMzYxN2QzZWUyMDkyZDY4IGxlZ2FjeS10cnVuaworNjkxMzAgYzVlMjgyODViNzRkMDEyMzIxYjU2YzdiN2EzZjllZmJkM2M2ZWM3YiBsZWdhY3ktdHJ1bmsKKzY5MTMxIDc1NDAzMTRmZjI2N2I0ZDVlZTAzY2Q1MzlmMmEwMmViZGRjMDY3YTUgbGVnYWN5LXRydW5rCis2OTEzMiAwMmE5MGRjMGMyOWE4YWY2NWIwYjJiOTExNmU2YzQwYjRiYTY0NjVhIHB5M2sKKzY5MTMzIGRmMDkwNTk3YWZhYWYwZjc3OGI1YzNiNjFhNzUxZmQyZjc5NTFmYzcgcHkzaworNjkxMzQgYmU1NzM1NGRkYjExNDQ2MjMwYWNiYjRiMTlhZmU1NzEyOTFhZTQxNSBsZWdhY3ktdHJ1bmsKKzY5MTM1IGRjZmQ0MzY1NjdjZWY5NDg3ZGQ5MGE1NDdhN2ViYTNmMWZkYTQ2OWQgcmVsZWFzZTI2LW1haW50Cis2OTEzNiA0MzE3MWY1NTdhZjgwZmVhMGM4ZTBhMmEzNjlkMWQ3ZDBiZDg1MTM3IHB5M2sKKzY5MTM3IGMwNmZhYTgxOTZiM2EwN2U2NmE3MGY3ZDhlMmJlMTA3MTgxYjE0ZWQgcmVsZWFzZTMwLW1haW50Cis2OTEzOCAxYzBhNWE5ODI3ZmE5N2Y2ZTFiOTUxZjYwNjA3NTlmOWM0YWFiOTY0IHB5M2sKKzY5MTM5IDVmNmQyMjVlM2MxZGFjMDlhYmI3M2VmNTg4ZTYzNDhhOGY0MTQyMjYgbGVnYWN5LXRydW5rCis2OTE0MCA5NDI2ZWViN2Y0ZTZhNTFjY2RjMGQwZDM2MGYyODI4ZWI3OGQ5NjUyIGxlZ2FjeS10cnVuaworNjkxNDEgOWQzYzJjZTg2ZjQyOGUyMWZjNGViMTgzYWEyMzhiZWUyNjcwOTM3NiBsZWdhY3ktdHJ1bmsKKzY5MTQzIDBjYWEwMDJmNWYzZDI1OGU0ZDVkNDJhMWQ4YjcxODQzZjllNDcwY2UgbGVnYWN5LXRydW5rCis2OTE0NiAxMGRhZWUzYTM2MDk3OGI5MzkzNjBjODEzMTVlNGI4Y2Q3NjVmNjYyIGxlZ2FjeS10cnVuaworNjkxNDkgY2Q1ZGI0M2RiYjY1YjkxNzAyMTIwMWIzNjk0YjFhN2ZjZjc0NjI0MyBsZWdhY3ktdHJ1bmsKKzY5MTUwIDE3ZDQwMWFkNmEyMTU5ZmY4YzBhNzRiOGY2OGFkNjc5ZmRiNWUyN2QgcHkzaworNjkxNTEgYmMyZDk0ZmQ5MTBjMGM4MzUwODkzMWY3ZTg0ZWE2NWQxMmRiNjlhNiBweTNrCis2OTE1MiAxZjI5MjJiYTVhMmExMDE4OTVmMjk1YTkzMzk0NGU1Mjc5ODczM2VlIHJlbGVhc2UyNi1tYWludAorNjkxNTMgNGMyMDU4MzUwODMzOGNmOTBhNDk1ZDRlYzkxZTM3ODJmNDM0YTg5NiByZWxlYXNlMzAtbWFpbnQKKzY5MTU0IGFhMDdhMTIzMTk0YTBiNzg5YzYzY2I0N2Y3ODg2NmJmYzJhYTE3ZTMgbGVnYWN5LXRydW5rCis2OTE1NSA3Mzk4MWJjZGE1YTJiYmNhYTU4YWY0YjRkYjcwMGVmNWRjODU2NTMxIGxlZ2FjeS10cnVuaworNjkxNTYgZWIyNjA3YTY1MTZlNjdiY2E0NTA4YTJkYWVkNjM4MWY3YjY3MTI1ZCBsZWdhY3ktdHJ1bmsKKzY5MTU3IGJjOTJkODNlNTUwODI4NzdkZmZlNTIwMjM4NjQyYTJkZTQ1YjJiYjAgbGVnYWN5LXRydW5rCis2OTE1OCA4NjcyYjBmNjU3NWQzYjFjYzZhZWNmMTAzOGI4OTk5YzczZTY2NDE2IGxlZ2FjeS10cnVuaworNjkxNTkgOWEyNDRhZmExYTlhMTgyZjRhODdkOTU3YjQwODNmZGQ3Mjc5NTE3OSBsZWdhY3ktdHJ1bmsKKzY5MTYwIGI0Nzc5NThkZjk3OGVkMWFjY2Q0MWVjMjEzYjYyZDYxMTk1ZTdhNDMgcmVsZWFzZTI2LW1haW50Cis2OTE2MSBmZWI5OTM0MzA3YjliNzg5NWViZjQxYTQyN2YwNjQ1ZGJmMmY3ODRkIGxlZ2FjeS10cnVuaworNjkxNjIgMTQ4NDIxNzJiMTUyMmY5YmEwYmZkNGRhNTFhMjkwYmEzNzc1MzdlZSByZWxlYXNlMjYtbWFpbnQKKzY5MTYzIGI4Y2U5NzljZGRjZTIwNmM3MWMwNjg3ZjQ3ZWQ3NzJhYzI1NzEwMzUgcmVsZWFzZTMwLW1haW50Cis2OTE2NCAzOTU0YzliOTBiNTI3YTExMDJlZGU3ZTZlODNjNWZhYzVlNjI1ODIzIHB5M2sKKzY5MTY1IDA2YmJjYjc5MmYwNGUwYTM0ZDcyNTQxYmE1MjdiMDIyMjJjM2ZlZDcgcHkzaworNjkxNjYgOGQzZjdkZDliNmNjZTA1M2RiZWEwMDZkY2EwODQ0M2Y3MTExMjRhNyBweTNrCis2OTE2NyA1MGJkMmMxOGVmZjA2NTI5NWMwOWI4ZDQ0OTlkYzU1ZWRhNjg3OGE0IHB5M2sKKzY5MTY4IDgxNTU4OWQ2MmE5YWUyMDFhOTA0NTRkYzY4YjEyOTE1NDY4MzAyOWYgcHkzaworNjkxNjkgZDI2ZDk3OGQwMDY2NDg2OGMwY2NiOGZlOTZlYzA1NDM4MWMwNDZkNCBsZWdhY3ktdHJ1bmsKKzY5MTcwIDRiMzI0NmM4M2UzZjJjY2FjNzQxNTYxY2JhNWE0N2RmMjJkOWRmNjAgcHkzaworNjkxNzEgNDI3ZjRhNzRmNTM4YWJmNDY3MzFjZDg1ZThhZGQ5ZmVmZDRkMjc0YiBweTNrCis2OTE3MiBkODVlZjI2ZWZkMTAzNzZiYjIxMzVlMWUxOGE3Y2YwNmJkZjBmNzJkIHB5M2sKKzY5MTczIDEzNGZiY2UxMTFlOWI5YzJkODFlZTA0OGQ4OGEzMTlmODI4NTlhMGQgcHkzaworNjkxNzQgZGVlZGRkYzdlMGI0ZDkxZTNlOWQ2MTE1OGJlMjkwOTQ4NDUyZTgzMCBweTNrCis2OTE3NiAzODZlYjRiNWNiYjNhYzYxZmI1ZThiNzA3YzNkZWZlNjFkZjc1ZWMzIHB5M2sKKzY5MTc3IGZiYjE3Y2FiNTcxNmUzOTM3ZDM1MGZkNDcyYjY3NDIxYjkzMGM0YWYgcHkzaworNjkxNzggNmJjZjg0ZDYzNzk3NTJiZTg2ZDFmOWIzNDk5MzhlN2Q3ZjVjMGQxNSBweTNrCis2OTE3OSA3NjY0MDVjMDRiZGMyOTQ0NTMzYzRkYTY4MjA4NmIxZjYwZjZjZGFmIHB5M2sKKzY5MTgxIDdjOTFmNDc5YmQwZDkxMGJmOWQ0YzM0NDkzZDBhNDFlMDhiODhmYzYgcHkzaworNjkxODIgZTk2NzVkNzJlM2UzYjk0MDNkZTQwYzJkMTExM2YxNTEwZGQyMTZmYyByZWxlYXNlMzAtbWFpbnQKKzY5MTgzIGU2NjMwNzVmZDFhZTRhOTk4MDBlNjc1MDc4Y2FmMmJhNmY3OTAzNzYgcHkzay1pc3N1ZTE3MTcKKzY5MTg0IDljYTM0YzE4ZTFiZDNhMWVmMWEzMTg1NDYzNTk5YjgxN2VjMjhlNzkgcHkzaworNjkxODUgMDE2MmNkNGY1NWJlMzFkMWJlZDJhZmY1YTdkYzY5M2RkOWY5YTA4OCByZWxlYXNlMzAtbWFpbnQKKzY5MTg2IGYwMDg5NDEzYzEyZmQ0M2U4MmM1NWU5YTk1MTJjMTZhYmMzOWI5ZWYgcHkzay1pc3N1ZTE3MTcKKzY5MTg4IGJhOTRkN2MwOTVlODBmODliZTI5YjIyMzNkYmYzM2FjODViOTc4NzggcHkzaworNjkxODkgNDEwZGZkNDIzZWYxMmIzYzM0N2Y0ZGU5Y2U3M2E1ZjU4YTZmODIwZSByZWxlYXNlMzAtbWFpbnQKKzY5MTkwIGUyZGIxNTE5NmE1NGI1MzkwMjk0NjI4MDYzMWQ5OWY1ZjNhNTY2MGUgcHkzaworNjkxOTEgMjM1ODI5OTU2NGVhODA0OWY4YmNhMWFhMTU2ZjFlMGQ0NmFhNWY2MyByZWxlYXNlMzAtbWFpbnQKKzY5MTkyIGU5NDU3ODI0Nzc3NDBjOGZjMTlhOWRmZDAwODVjZTMzY2IxZDkwYjggcHkzaworNjkxOTMgZmRhZTRlNzQ5ZDJiMzgwOWYwNTc5ODQxZmE1OTcwMzYxN2FiYzdkNyByZWxlYXNlMzAtbWFpbnQKKzY5MTk0IDU3ZDdkNmMyYjExYmNjNTQ5NWY3ZTg5YzlkYzU0ZmEzZTJkY2ZiMDkgaW8tYworNjkxOTUgNDdkNzQ3MTI0YTNlMGM0YmM3MDg5YmQ3MDZlYjJlNTFkNDdiZTJlZCBsZWdhY3ktdHJ1bmsKKzY5MTk2IGFlZjI5YTllZDQ5MTg0NzJjZjJiNDczZTBmOTNkMThmMjA2YmFhODcgcmVsZWFzZTI2LW1haW50Cis2OTE5NyA4YzQ0MTBkMDY3ZWU3YTE5YzdiNmM2N2Y4OGIzOGFlMWFiMzI5M2MzIHB5M2sKKzY5MTk4IGFlMDI2ZDI1OWQ0MTExMzhlNTBmMDcxNDc3MTljY2IxOWE5NmFlM2YgcHkzaworNjkyMDAgOTIzNjM1MWI1MjlhNGNiZGJhOGI4NTZiN2E2ZDUyOGQxZmFiNWFlZiBsZWdhY3ktdHJ1bmsKKzY5MjAxIGMwODNjMjc0ZjlhZmVjY2FkODJiOGI0N2IzMDY3MzAyYjk3YmJjNTIgcmVsZWFzZTI2LW1haW50Cis2OTIwMiAyYzE5MjcyZDhlNTY1ODZlMTk3YTJiMTQ0ZTcwYTk5YThiOTE1OTExIHB5M2sKKzY5MjAzIDZlNWNhOThhMzBhYzM4NTMxMDVkZDFlYjcwNTViMzk2MjY2OGM2NjAgcmVsZWFzZTMwLW1haW50Cis2OTIwNSAwMWIzYWNkMTA5ZGJiNTYyNDgyNzRmNzUxNGZjMjAwYWJhZTcwM2YwIGxlZ2FjeS10cnVuaworNjkyMDYgMmFkZjllZDZiYTdlODk3NGU3NzI4ZWExOTlhODI5YjkxNDE1N2NhZSByZWxlYXNlMjYtbWFpbnQKKzY5MjA3IGZmNjgzYTkyODQxOTM0MGQ1YTAzMTgzZTU2NzFiN2M1MzUxNDBiNjYgcHkzaworNjkyMDggODdhOTg1YTFiNWM5ZDBkYzI2YTE3ZmQyZGRiZjk4ZTZiZmUxMGE4NCByZWxlYXNlMzAtbWFpbnQKKzY5MjA5IDA1MDc0Yzg4MzczODQ3YTNiZWM0ZjNkZTA4ZTIzY2UwN2FjMzUxNjUgcHkzaworNjkyMTAgNjMzODZhZTc3Zjc5M2Y4MWY3MGE3NTg5OGViZDc2YTEyNjc3MTMyNSBweTNrCis2OTIxMSBmYTc5ZjEyMmExYjI1ZjNlNDMyMTM3Y2NlMWJmNDJlOGIxNzg4NDE5IGxlZ2FjeS10cnVuaworNjkyMTIgN2I3YTYzOWI5NjBmNWMyZDNjYjgzNzAyMTk4NWY1NjY0YzhkNjZlYiBsZWdhY3ktdHJ1bmsKKzY5MjEzIDBjMzIwZjhlN2UyMDM0NTg3MzIyZjhjOWJmZjZlM2QzMzVkZGFlMDIgcHkzaworNjkyMTQgZGViZDE0YzQ4OWI5MjE5YTU0OGZjMzIwMDJmNGE0ZWU4M2QyYTQxZCBweTNrCis2OTIxNSA4N2ZiYmYyMmFkZjM3YmE3OGNmOGNlYjEyNDM3MjcyN2ViMmYxMTRlIHJlbGVhc2UzMC1tYWludAorNjkyMTYgNWM3MDJhN2Q0YzQwOWFmY2MyMzFkOTNhZGU0OWZkZTc1MjE2MjA4YSBweTNrLWlzc3VlMTcxNworNjkyMTcgNDBmZjgzZTAyMzk1MzFlYzM4ZjZlYmQxOTRkOGQ3ZjYyNWQ2ZTlmNCBsZWdhY3ktdHJ1bmsKKzY5MjE4IDkwODIxYzdhZDg3NGY4OTMzNDc5ZDk5Mjk2YzQ4NDU0MTRmZDY4MTEgcHkzaworNjkyMTkgOTkxM2M0NzE1MjYxMDY3NDI2NTBjNjhiOTlmNGRhYWY0YWJiMGY0MiBsZWdhY3ktdHJ1bmsKKzY5MjIwIGZhZTE3NThhMjM0NjUxODcwMmUxZjk2NmM4ZDUzNjhhNmE1MDY5ZDQgcmVsZWFzZTI2LW1haW50Cis2OTIyMSA2MzBhNDM0NTFkMDRhYTBhNGRhMTQ1YTdlYmM4MTQyY2U2MjYxMzBhIHJlbGVhc2UzMC1tYWludAorNjkyMjIgYTk1MzQzOTFmZmY5ZjFjYmUwMTViYmVkZGQ5Nzg5NGIwMzYzYzg0YyBweTNrCis2OTIyMyAzNjJkOTZkYmU5MmM1NDEwMmYxMmYwNmQyOWQzZTFhMmE2YmNlMWM1IHJlbGVhc2UzMC1tYWludAorNjkyMjQgNzg2YzEyNzg1NzJjYzZmMzc4YjU4ZWUxMGRiMDEyYmZkOTU4ZjAxMCBweTNrCis2OTIyNSBjMjFkOGNkY2NhZTEwZTcyYzYxZTFlN2U1OTI5OWFmMDNhYmUzMmYzIHJlbGVhc2UzMC1tYWludAorNjkyMjYgMTQ3OWRiMmVmOWNkNTNiNWVmMTkwMTQ0YzRlNDcyZTE1ZDlhYWI1YiBweTNrLWlzc3VlMTcxNworNjkyMjcgNmM4ZWRkZjI0MDM1ZDM0Y2M5YzJkNmM5ZjJiMTdlMTRmYjI4OTI4YiBsZWdhY3ktdHJ1bmsKKzY5MjI4IGNhNzFhNDRkNTQzMjIyOWI4NzAzZmUyYzgyYzIxMzAxNzU2ZDI1Y2YgcmVsZWFzZTI2LW1haW50Cis2OTIyOSA2MjUxYjlkMzIxYWY4ZDk1ZmI0MjJhN2Y3ZDc0NWU2NWE3MmIwOTU3IHB5M2sKKzY5MjMwIDc0NDM4ZmMxMWQwNWRjZGE5N2EwOWMxMmY2MGEyZDk1OWY4MzY5MzcgcmVsZWFzZTMwLW1haW50Cis2OTIzMyBmNWQxNDM0ZjRkM2Y5N2UzYzM2ODJhNWM1NzEyZmQxNWExZTY2Y2Y2IHB5M2sKKzY5MjM0IDk4ZjRjOTA2ODc3NTA3MTBmYjRlMWE2Yzk2MmMwNDI1YTcxNDEwYmQgcHkzaworNjkyMzYgYzgyMDcyNTI2NWFiMTkwOTBiY2FkMTYxN2E5YmU4YWI2OGMyZWNkZiByZWxlYXNlMzAtbWFpbnQKKzY5MjM3IGQzZTZmMjYwMjMwMGNhZWE3NjVkNGEwNTEzMzc4ZjYyZDJkM2I2YWEgbGVnYWN5LXRydW5rCis2OTIzOCAzODgwYTE1OTIxMzdlNjhiODkxYzg0ODE3NmExOWUxNjY0ZjJlMmE2IHJlbGVhc2UyNi1tYWludAorNjkyMzkgNjc2NTQxMDZlZTc5NTc0YTZmNGE4OGQ4YzViNGU2YWZlM2JjZDhjYiBweTNrCis2OTI0MCA3MzU0ZjFhZmFlY2I0NWIxNDFhMDQwOTI5OGU3OTZmZjI2ZGIxMTBhIGxlZ2FjeS10cnVuaworNjkyNDEgN2JhNDFjMDkxN2ZmN2IxMDQwNmVmNGJjOThhNjRiMDk2MGU4MWI5NSByZWxlYXNlMjYtbWFpbnQKKzY5MjQyIDVjMjU0Nzk1YWEwN2E3MjcxOGNjMDZjODZmNjExNjhmYjE2ZDUxMzcgbGVnYWN5LXRydW5rCis2OTI0MyBhZWE5MGY1ZjM5OGJkZWMwYzNjYTM2ZTE3NjAxMjNjMmJiYTQyYjlkIHJlbGVhc2UyNi1tYWludAorNjkyNDQgYTFhNzFkNTE1ZGQyZmQ5ZjliNTBkOWEyZGZjZjQzMDVjODJkYzk5YyByZWxlYXNlMjYtbWFpbnQKKzY5MjQ1IDBmM2FhYmFlNGNjNjQ2NTk5MjI5Y2RhOWI1ZmRkNjE4NGYzYjAyNzcgcmVsZWFzZTMwLW1haW50Cis2OTI0NiA1YjcxMzA0NWVhOTA2ZTBmZTIxYmJmMWExNjRlMzE4OTM5YTA3MjFmIHB5M2sKKzY5MjQ3IGYzNzcyNzc0ODJhYjU4NjA4MDI3MjM1MDRjOTY0MWM4Y2M2NmJiYTUgcHkzaworNjkyNDggZjM1MWZiN2VhMTc5NmFjMDk0YWFlYWI0NmIwYzg3YTA1NmYwOTFkYyByZWxlYXNlMzAtbWFpbnQKKzY5MjQ5IDg1N2EzZjlkYTkxNTMxNTllNTIxNmZmZWJhNTNmZDdiMWJmMWQxMjcgcHkzaworNjkyNTEgYzUxM2U3MjhlMjRjYmY1NjY4ZDhkOGJhMDE2MWFkYzAzZTgyYzE3ZSBweTNrCis2OTI1MiBlMjBmNWE2ODRhZWZhNTg4YjQ1MGIzMzBhNGI2YTFhMmNiNjVlYmI5IGxlZ2FjeS10cnVuaworNjkyNTMgZWM2OWRiMjRkZTE5MGE3ZTkyMjQzZDA3NmQwMTgwMzViOGNmMmJhNCBsZWdhY3ktdHJ1bmsKKzY5MjU0IDhiMDg4MmM2N2I2Y2ZlMWYwODUyYzYyZTBhMWMyZGJhNGZhNDE4YzAgcHkzaworNjkyNTUgZTVhYmFmYWUzNjA0NWM1ZWJiY2Y0MjcxN2UzYTdhMDE2MjQwYTFlOSByZWxlYXNlMjYtbWFpbnQKKzY5MjU3IDc1NTIxYzEyMzYxM2FjYWJiN2VkZjJjYzRjNGY2MjkzNjUyNWZiYmYgbGVnYWN5LXRydW5rCis2OTI1OSA1ZjMzNTRjNTJlOGI4YWFhZTRhMTc0NDQ0MmViYjMwNTllYTI0NzA3IHB5M2sKKzY5MjYwIGU5NzA3Y2MzNjg5ZDM4ZGJhYWQwMGU0OTQ3ZTMxY2I1OTJkM2VhYWUgbGVnYWN5LXRydW5rCis2OTI2MSA4YzAxOTg3NzRlZDZkYWJlZjNmZTVhY2FjMzI5YTlkNWE0NTkzOThlIHB5M2sKKzY5MjYyIDFlN2EwNmE3ZjVlNzhiMDc1MWNkOTQ1NjM5MzVkNWQ3NTY4Yjc5NjMgbGVnYWN5LXRydW5rCis2OTI2OCBiNTg2Y2EzYTMwNjIyNTJhYTk4YTYyNDU3MWZiNzBlYTg4OTBmMDY4IGxlZ2FjeS10cnVuaworNjkyNzEgNDg0NWFiZjU3MmYxNDZiODRmYmE2MjEzYTE0MTFjZWRmOTc2NTMxMyBsZWdhY3ktdHJ1bmsKKzY5MjcyIGVjNjM0ZTU3YmM1ODYyMzY3YzBmOGJlODkyMTA0Yjc5Mjc0OTBiNTcgbGVnYWN5LXRydW5rCis2OTI3MyBmNzQ1Mjg3NzZjMTE1ZjQzZWExM2VmMDJkZjNhNGViMjM2YzJkZTE2IGxlZ2FjeS10cnVuaworNjkyNzQgMjQ1NjZlNDk5N2FlMmY2NzVlNmJjOGZhNTAwNDEyNjhhYTgxZDdlNiBweTNrCis2OTI3NSBjZTA0ZTM2ZjJhNTU5OTI5NmI0NzRjZGJhNzEyYjlmMjZkMmQ4OTg1IHJlbGVhc2UyNi1tYWludAorNjkyNzYgMmI2MDNmNzIzMjYwNWRmMzU3ZmYwMDU1YTdlNTMwMzU1NDBhNTI5YSBsZWdhY3ktdHJ1bmsKKzY5Mjc3IDQ3M2ViMzcwZGUyY2ZkNjZhYmZiZmY2MWZmNTc3Y2YwZmNjYzc2MTYgcmVsZWFzZTI2LW1haW50Cis2OTI3OCBjOTFiNzZkOGVjMGE5NzE2NWU1OGM5NjBkNmE3OWI5MWVlOTMzY2ZiIHJlbGVhc2UzMC1tYWludAorNjkyNzkgYWEyZWIwZjI0MmZmZDk1ODhiY2M0NzEyODI2MzIwOGM3ZWRlNjQzZiBweTNrCis2OTI4MCA4ZTE1ZGYzNzI2ZTEyMDlhMDFiMTNmMTJlZmU4YmIzOTU3ZTdiZTlkIHB5M2sKKzY5MjgxIDUzZDY0NDVjNmM1YThkOTg2MDNlN2MzZDMzMzg4OWU5YWFmNTRhOTEgcHkzaworNjkyODIgYjQ2MTg1ZDdlOTVhN2EwYzMzMWYyNzY4MzRmZjVjYjU2YzAyMDY1MCBweTNrCis2OTI4MyAzNzhhYmIyODFlMzE1Y2QwODQwMGRiZjI0ZjVmMjk2YzUxMmU0ZDdiIHB5M2sKKzY5Mjg0IDhiMThiMzg5MGUzMTYwOTRjZGQwMWJhYzcyMDIxOTU0Mjc0NWE0YzkgcHkzaworNjkyODUgZTIxNGJkZDU1MmZjMjZmNGY2YjJjMGNhYzYzNGY4ODJiNjg4ZDYxMCBsZWdhY3ktdHJ1bmsKKzY5Mjg2IDVhOTQyNDg5M2I1ZmQxZDZlYzU4OTQzZGQyMWY1YWM0NjhiNGQ4ZDMgcmVsZWFzZTI2LW1haW50Cis2OTI4NyAyMzMzYTU3ZmViOTg1MDJkZTBiMGFiZjIwYmJkMTNlM2UwMWQ5MDM1IHB5M2sKKzY5Mjg4IDFiMjMzYzgzZjJhOWI4MWFjZjBlZjJmZDQ4MjlmNjQzZjVlODM5ZTkgbGVnYWN5LXRydW5rCis2OTI4OSBjYTQyMzAwOGZhNGFlNjUwZmMyZGQwYjNhMzU1ZTg3Yzc2YmEzNjRhIGxlZ2FjeS10cnVuaworNjkyOTAgOTIxN2IzYTQ3NTI4NjI4MGYwNjFhN2FmMTlmNDY3ZDc0OWEyMGQ0NiBweTNrCis2OTI5MSA0NDUyZWIwNTdjYzRjZGFlZDRmOWU4MTU2Yjc0MWIxNzJmNTgwZmI3IHB5M2sKKzY5MjkyIDNmMjc3YjU2NWY3NmVjNjhkMjdmY2RlOGE3ODY3ZDY4ZjhkMzQwZGUgcHkzaworNjkyOTMgOGFhNzFjMTlkY2I4MDhjYTgxYzZjMmMzZDFiNGExNzU0OGZkOWJmNSBsZWdhY3ktdHJ1bmsKKzY5Mjk0IDE4ZDM3MjllMmJhYzAxMmMyN2ZiN2IzMWVhNzU3MDFjYTk2ZTgyMDMgcHkzaworNjkyOTUgYjEyNmNlNzA3YTM0NmU4MDNmNzM3ZGNiY2I4NDg3NDc4NTliOWRlZSBsZWdhY3ktdHJ1bmsKKzY5Mjk2IDUyZjc4YmIyNmJmNTBmMzRlNmMyYmJmMDA1ZWIzNDViZGUwZTc0NjkgcHkzaworNjkyOTcgZWVhYTI1OTA2OWEzM2JmOTIwNWJjYjBlMjNjZDA5YWE5ZTE4Y2ZiNSBsZWdhY3ktdHJ1bmsKKzY5Mjk4IDhmODkxMGYzYjY1MWMyODNlZGE0NzlmYWVmYTM5NmZkYmExNjNjZjUgbGVnYWN5LXRydW5rCis2OTI5OSA4Yzg4MGJiYmU2ODVjMjIwMTYzZDE2YmQxZDIwZGYzYjgyNDg5Mjk4IGxlZ2FjeS10cnVuaworNjkzMDAgMGM5ZDU5OTgzNGI4YjRjYzRjZWVhMWMwNTRlZmFkMTkxNjg2YWY4NyBsZWdhY3ktdHJ1bmsKKzY5MzAxIDQ1Nzk1N2E3ZDZiYTliYWY5YWNiMjA4Y2FhMGUyMjY3NGEzZGE1MWMgbGVnYWN5LXRydW5rCis2OTMwMiBmNDAxMmU3ODI2MGM1ZDkwNDRmMDE4NzljODc1ODk2ZDcxZWQ4YmIwIGxlZ2FjeS10cnVuaworNjkzMDMgYmYzYjhlMzAyMTNmNmFmZWU0MDA3NTk5YjYwMGE4ODRkZjVmOWE1OCBsZWdhY3ktdHJ1bmsKKzY5MzA0IGYwZTVmODU4OWEwYzNkNDY2M2NmMjUxOWI1MGJhZGU0Y2U4ZjdmNzUgbGVnYWN5LXRydW5rCis2OTMwNSA5MGE0YzY2NmY3N2E4NTczMjkxNTNlMDc4M2FiZTExNWViZDc0YjgwIGxlZ2FjeS10cnVuaworNjkzMDYgNDFjNzFhZDQ3Zjg5M2QzMmRmMDBmMjA2YjhkMmIxNTQxMDQ4NWYwYSBweTNrCis2OTMwNyAzMjFmMjdhNDE0ZTg1NGFkZWY1MGY0ZWQ4ZmMwNDRjY2Q2MGJmNTEyIHB5M2sKKzY5MzA4IDc2MjM5Nzk4YTYwODQ5ZDllYzM3YmI1ZTNlZTU2MjE1YTNhYjBiZmUgcHkzaworNjkzMTMgM2ZjMjVhZTE4OWU5NjhhNTA3NmZiOWFmMTIxYzgzNTZmNWZjNjgzYSBweTNrCis2OTMxNSBlMDVjNmJlNmFmMTAwYTg5N2I5M2I3NGEzNzNmMDcwY2U1YjY3N2RjIGxlZ2FjeS10cnVuaworNjkzMTYgNDY2ZWI5Nzg0ZThiYTkwOGFhNGI2MmU5ZDUwNDAxOTczODU5Zjk3YSBsZWdhY3ktdHJ1bmsKKzY5MzE3IGVmM2M2ZDliNGZlY2E2NzdiOTQ2ZDQ1MzgzZGYzMzRlY2NmYTMwN2QgcmVsZWFzZTI2LW1haW50Cis2OTMxOCA5OTdiMjYzMmM5Yjc1YTFjYjY4MjBkZTJhOGQxMjZjMTliOGEzYzVkIHB5M2sKKzY5MzE5IGZkZTAzZTc1YmMxMDBhZGRiYTNkOGU4OTI1NTExNWI2ZTQ0YzU2MDQgcmVsZWFzZTMwLW1haW50Cis2OTMyMCBkYzg1Y2E0MTIwNzlmNzgzYWRhYjIzMzVkODFkM2Q0ODBlYmE3MjYwIHB5M2sKKzY5MzIxIGU1NDI1YWY2MGYzMDQxNjE1MDcyMDMzYTkyZDM1MzBmZjIwMWI3MDIgcHkzaworNjkzMjIgYTE4OTNjNjkxODc5NGQwZjRiMjcxZWQ5ZTJiZmZjNzk2MTYwOWZhZCBsZWdhY3ktdHJ1bmsKKzY5MzIzIGU2YTE0Njg4NTgwZWY0ZGQ2MjdlY2JhNmI0MDc2NTI0MTk0ZDZhMzUgcHkzaworNjkzMjQgNTBkODk0MzZhZWFiNzNkZWViMGJhMzdmZGRmNjAwYjRjNjRiYjg2MyBsZWdhY3ktdHJ1bmsKKzY5MzI1IDE2NzEwMDQ4MzlmOGJmZmUyOWViMDdlYjhlMWYxMWNlMjFlYjk4ZTYgcmVsZWFzZTI2LW1haW50Cis2OTMyNiA3ZTFhMzg1ODQ3YTk4ZGI4ZjUzNWRlZjI4NjA2NDg5YmU1NjVlNjE2IHB5M2sKKzY5MzI4IDM3NDMxY2QxMmJmMjc0YWRjNjk4YmFlZTNmZTcwMWNiYTllYjRjNzQgcmVsZWFzZTMwLW1haW50Cis2OTMzMCAyMWMzZTM1MzE1MDQ2MzYxYTAwYzdjZTNmZDUzMjkyZmJhMGZhNTAxIGxlZ2FjeS10cnVuaworNjkzMzEgZTIzOWU5NzdiYjMyYTJkM2E2MTYyMGY2MDUyNDViZDVkMjdiOTljMSBsZWdhY3ktdHJ1bmsKKzY5MzMyIGEzZWE2NWJmZTM3MDZhNDZlODU4OWIzNTFiYTA0MzllOTFjZTVhMGYgbGVnYWN5LXRydW5rCis2OTMzMyBmNzhkN2ViYjk2ZGE4NGM2Mjg1MWM1Y2IyOGMxMGZhMzFkNjI2N2JlIHJlbGVhc2UyNi1tYWludAorNjkzMzQgYzUwMjJiMTA2NGVhNjZlZTM1MDdlZTBhNmFiMWEzMDk1ZmM5ZDg2NyByZWxlYXNlMjYtbWFpbnQKKzY5MzM1IGU0MzlmOTcyMmE3MzQ5ZGZmZTVjZmIwNzI4MmIxOGNhYzQ4OGUyMjkgcHkzaworNjkzMzYgNTQwZmJlNWM4MTYzZjQ5OGY2ODA5NDJlYTZkNmZlYTZlMmNkMDg3YiBweTNrCis2OTMzNyA3YjhmYTI2NTI4NjY5MTA3ZDFiZjM0MzEzY2M2YWI4NTk4NmQ5Mzg0IHJlbGVhc2UyNi1tYWludAorNjkzMzggZGI4ZWZjOTQwMTZmNGRkY2MzYzIwOTY3MmUyMGVlNTkxZWM2YWRhMyByZWxlYXNlMzAtbWFpbnQKKzY5MzM5IGQxODU1MDI5OGFmODc3MzAwZjM0NTExM2ZkNmZhMmEzNGNlNzQ5ODggcmVsZWFzZTMwLW1haW50Cis2OTM0MiBmZGVjYjkxODI2MDQwZGZhNzY5N2NjNjJlZmRhNzFlNjY4ZTAwYzJmIGxlZ2FjeS10cnVuaworNjkzNDMgMTNmMTM1MmEzZjg3NDNlMzljNjJhMGJkYjZkMTUwZDUwOGQ0ZDA4NyByZWxlYXNlMjYtbWFpbnQKKzY5MzQ0IDIwNzA5NzY5MTk3Mjc0YWIwMjJkYTU4MDcxOTc2N2U2OWNkZDE0YjUgcHkzaworNjkzNDUgOWM0NmQxMDkwMDdlNmM4ZjJkOTk3OTYyMWQ4OWRkNjUxMzc5NTJhNiByZWxlYXNlMzAtbWFpbnQKKzY5MzQ2IDRjYzQ5ZDk3OGVjMjNhYTU1ZmJhYTMwYWFmZjgzZWVlZjM0ZDc0NDAgcHkzaworNjkzNDcgYmJjMWM2ODE1M2FiZGViMmU5NzRjYzBkZjI3ODNkMGE5MDU4ZGFiMyByZWxlYXNlMzAtbWFpbnQKKzY5MzQ4IDBmNzUxMTUzMzA3ZjQ2OWUzZGMwYTgyMDlmNmZhNGNiNWMyZjMwOGYgbGVnYWN5LXRydW5rCis2OTM0OSBjNGM2MTJkOTVhOWI2ZDk2MzYwNDkyNjdlZDE1ZmM2Yzk2YWNlN2YyIHB5M2sKKzY5MzUwIDdlMjhhMmIwYzFiMWYxOWI1M2U4MzRmOGM3MjNiMTM4YzFiZTY2ZWQgcHkzaworNjkzNTIgYTAwZTVkY2VhMTZjOGUwNDg4NDVmOTFjMzkyOTc5MjAzN2NjMDcxOCBweTNrCis2OTM1MyA3YTA1MjU2MTM2NDQ3ZTBlNWVjMTI1ODE0M2Q2OTIzMWJkYmRjMjVkIHJlbGVhc2UzMC1tYWludAorNjkzNTQgZjk4MWUwNTU3YzM1MDdjYjQ2ZjVjOTk5YTg2NjhmM2RmZjBjOWE2MiBweTNrCis2OTM1NSAwNWQxY2IwNTNkNDdlNGZjYWQ4MTAyNTQ3MTFlOTllZjFmODEzMmVkIHJlbGVhc2UzMC1tYWludAorNjkzNTYgY2M4MjUzMTE2Mjc1ODBiMTAxNGEzMGJkYjg1ZjdjZTllYzZmN2YxNCBsZWdhY3ktdHJ1bmsKKzY5MzU3IGYzODc4MzRjZTVkY2QzNGU3MTMxNjI2ZDYzZTI1YWI0YTg2OTViZmQgcmVsZWFzZTI2LW1haW50Cis2OTM1OCA1NGU0MDljMmY0OGQ2YTEyNjBiMTQ4NWFkZDkwZWE4NzA5NWU4NTAzIHB5M2sKKzY5MzU5IGZiNDUxMTFmMjQ0ZWI1ZTlhYzYyMzhlMjA0NjRkODNlOGI3YTZkNzUgcmVsZWFzZTMwLW1haW50Cis2OTM2MCAxODNhNmMyOWJmOWMxOGRmNTliYjgxMmU4NzY2YmFlOWIyOGU2MDBlIGxlZ2FjeS10cnVuaworNjkzNjEgNmY0MDc2OGQwOTA5ZDY5YTQ2MmU1NGU0NjFlM2FhOGU0OWQ3ZDU1MiByZWxlYXNlMjYtbWFpbnQKKzY5MzYyIGI0ODIwZmNlZGEyNDFiMjVkN2Y5MTYwZjI5ZGZkZjI1NTBmMDgxMzMgcHkzaworNjkzNjMgZGI0NmY4MmQwYTFkMWRlNDM2ZDJmMWIwNGYyZjBiNmNlNDVkOWU3YiByZWxlYXNlMzAtbWFpbnQKKzY5MzY0IDQzMjdkZmE2ODExOGY5OWIxYjk3ODAzNzIwY2Q5NDkyYTUwNDdiYzAgbGVnYWN5LXRydW5rCis2OTM2NSAxODIxMGFmZDAwNWE3MTA4NDViYjQ2NTAzODIyODViZTc2MDI3NzIzIGxlZ2FjeS10cnVuaworNjkzNjYgYzlhZmZiYTA2OWVhZTU5NTQzNjVlZTQxOTY1NDVmZDgwOWJkOWQ2ZiBsZWdhY3ktdHJ1bmsKKzY5MzY3IDI4ZTQzMGYxNGMwZGNmNDMzNzYyMWJhYzdhMjhmZDNlNDEyZjFiNzEgcmVsZWFzZTI2LW1haW50Cis2OTM2OCAxOWRiMzc5YmFjZjgzMzc3MjgyYjIxNDdiMjdkODIzNzM2N2U0YjI1IHB5M2sKKzY5MzY5IGYyZGYxMGJhNjA1NDg1ZjNkMDYyOGQyNTQ0NDAyZmMzNGExN2IxOWEgcmVsZWFzZTMwLW1haW50Cis2OTM3MCA5NmZlNDVkZTdmMjZmZWZhNjVkNThlZGMxMjgyZGIzYzVhNGVmNTc5IHB5M2sKKzY5MzcxIDFjZTAzNmI4ODA5MzY0MDFlYTE1OWJhZWRmYzI5MjNiZTUxNjc2MzggcmVsZWFzZTMwLW1haW50Cis2OTM3MiBkMWU1NDA3ZDU1MDliYWQ4Y2YxNzY1NzNmOTU5ODEzOGMwOTk5Y2Q0IHB5M2sKKzY5MzczIDQyZmFhODA1NGMzZGNiYTJiMTY5OGQxYWE4YTY1YWI3MDMwZTY4MjUgbGVnYWN5LXRydW5rCis2OTM3NCBiYWE4OGU5ZTk3NjZjYThkOTI0NjVhMTMwODBkNDVkNWM1ZGJjYjc4IGxlZ2FjeS10cnVuaworNjkzNzUgMmE0MGQ5ODFjNjUyYTJjM2NlZmE3Yjg0YThiZTM3YzkwZmFkOTljMCBweTNrCis2OTM3NiBkNDYxM2U5NzA0OThhNGFiNWU2Y2E2YTQ4YjY1NjE1MzVhYjViMDY5IGxlZ2FjeS10cnVuaworNjkzNzcgOTg1NmM0ZmFhYzA0ODFiZDcwNGZlMzI2MTBkYWQ5ODA3MzI0ZjNlYSBsZWdhY3ktdHJ1bmsKKzY5Mzc4IGI0ZTE1NGM4YTM4YTU1YjdjOTIyNzc4Njg1ZDJmMGQ0YjU3NzU4Y2YgcmVsZWFzZTI2LW1haW50Cis2OTM3OSBkMmRlNWRhMGY1NjM0ZmI4M2ZkODY4MDg1YjhjNTMzOTMyMzU3ZGEwIHB5M2sKKzY5MzgwIDU4YjdkYzljOTU1N2I3YmQ5MmQ0OTdkZjEwMTY1ODVhZjgxZWQzOWIgcHkzaworNjkzODEgYzAyODk1YTNlZDZkNTdmM2Y4NmI0NGMwNmJlNzBiZTI3YzZmNDgyNiByZWxlYXNlMzAtbWFpbnQKKzY5MzgyIGUxN2IzN2MzNWM3YmIyNDA1MWRjOTViNWI0OWNjMmM2NjMwYzlkYjAgcmVsZWFzZTMwLW1haW50Cis2OTM4MyAwM2FkZGQxNGU2ZjJjMzFjZTdmOTVjODMyMzhiMmU0NGQ1ZGE3NDk0IHJlbGVhc2UzMC1tYWludAorNjkzODQgODE5NzE2NmFhMTliN2RjMzNlNDdjOTBjMzgwZTY2MmM5NjRmNGJlZSByZWxlYXNlMjYtbWFpbnQKKzY5Mzg1IGE3MTMyZGI2OTA5MjE4ZjAyMWUwM2YwMTQ1OTJiNmI2NzUzZTFhMzUgbGVnYWN5LXRydW5rCis2OTM4NiA3YWQxYWI5OTA2ZWU1YWFkOGRmZjg0OGVmZTliZTE3MjIyN2FlZDk0IHJlbGVhc2UyNi1tYWludAorNjkzODcgYjA5MWJmODM0MjI2YTM5YTAyOTJkZDBkNGVjYzVhZTkyYjQzZjk0NCBweTNrCis2OTM4OCA2ZTkzZGQ1NzhjYjg2NjBmZmUwYTE4YmMxM2IwODhkYTc5ZjBlZTcwIHJlbGVhc2UzMC1tYWludAorNjkzODkgMDE1MWM1MTRkZjU2OWVmMWIxODUyZDRmZGE3ZTEzYzczY2I0ODVhZCBsZWdhY3ktdHJ1bmsKKzY5MzkwIDIwN2QwZWE5NTNkZjE4NTUwY2ZkNzBkYTAwOGJhNTUxZTQ4ODI5ZmMgcmVsZWFzZTI2LW1haW50Cis2OTM5MSAwYjM4MWI0MjNjZGY3MjM5Y2MxYjE4NzcxMzQ1NDNiM2ZkYzMxYWY1IHJlbGVhc2UzMC1tYWludAorNjkzOTIgNjZlY2ExM2VkZTE4M2MyZTI4MGRkOGFhNmJiZWQzODgyNjM2ZjkyYSBweTNrCis2OTM5MyA4MTE1NDY3NzBkMjBmNjBjZDQ0ZjgyNzkxYjQ1Mzk4MjU2MGEzNDAwIHJlbGVhc2UzMC1tYWludAorNjkzOTQgNDgwOWFmYTg1YTliNmJlOWJhNjMwMjkyNGRlMDViOWU3YWRmZWZiZCBsZWdhY3ktdHJ1bmsKKzY5Mzk1IDdhMTM1NmQyYWVlZjMzYjg2MWJmYjY3MDJjYzExYTg4MmU1ZDBjNjIgcHkzaworNjkzOTYgYWI2MGJkYzcwNzEwNmI5OGUxYjU2Yjc1NThkOWUzN2IzZDhkYjE1ZSBweTNrCis2OTM5NyA2NmRhNTI4MzMzNGYwNjFiMWQzODA1YTZkZDdhMjIyMzM5NGVkMjNiIHB5M2sKKzY5Mzk4IDM4OTYxMzNjOTVjYmE4ZmNkMDBiNDgxMmQ5NDc1ODMzODdlYTQzYTYgcHkzaworNjkzOTkgNWNkYzVmMGMxMzRjOGU2NDU3ZjQ0ODAxOTA2YzQyNzFjYjk2NTBhOCBweTNrCis2OTQwMCAzMjk1NzkwYTY1YmU3ZmNhNzlhODk4ZGJiZDk2OTAwNTNjODExNThhIHB5M2sKKzY5NDAxIGJjNThhNjFmODE3YmY5MjhmYjg2N2FkYTEyNzZhMTljMzM2NThhYjUgcHkzaworNjk0MDIgNDNkM2E5NWVkNjYyMTk3MjAwMWZkYjAzYzVmN2U5NjRiODJiYjFhNSBweTNrCis2OTQwMyBlZWYzOWI0Mzk2ZmZlNDYxZjY1NmUzNGExNzgxZjgxZDk1MjljNDFmIHB5M2sKKzY5NDA0IDJmMWVmZmYwNjZiMzg4MmQ3MDMxYzA3ZTE2Yzk2NTY0YzliZjgyMWUgbGVnYWN5LXRydW5rCis2OTQwNSAwMjUwNzg4MjdiNTQwODZjNzE0ZThiNzJkYjNiY2RmMzJkYmU4ZTM1IHJlbGVhc2UyNi1tYWludAorNjk0MDYgOGNkOGUyMzY4ODIyMTFlNGJhODYzOTY5OGIxMTc5MGVkMTE0YjRhOSBweTNrCis2OTQwNyA5MmZhMzliOWFmMTNjODM2MWQ1MjQ3OWJlMjY5Zjk0NmZiZWI1NzRkIHB5M2sKKzY5NDA4IDg3MzE3YTg4OWRiMDQ0YTY0MTY2ZjhmNjRmYTIzOWZiNjZhYzE4NzcgcmVsZWFzZTMwLW1haW50Cis2OTQwOSA2OWIyNmU5OTBlYjg2MTBmZDBhZWY5MDViNGE4NjUxOGEwYmE2ZDljIGxlZ2FjeS10cnVuaworNjk0MTAgOTllMjY0ZmUyMzgzMGIzYzZhMjM1ZWNhZDZiNWM0ODZiOGRmZTg3MyBsZWdhY3ktdHJ1bmsKKzY5NDExIGMyMWZiNWVmYzYzOGRhMjVlZjQxODZlYTFkYmU0NTVhYTJhOTQxMzAgcHkzaworNjk0MTIgOTAxY2IyMDdiMWQzMTdlNjhlMTgxODUyNzdjM2U4MzMzZThhNTE3NSByZWxlYXNlMzAtbWFpbnQKKzY5NDEzIDQ5NGRhMmM3MTkwMmQzYjZhMjkyZjRlOTk1MzgwN2ZkZjVkNTI4NzAgbGVnYWN5LXRydW5rCis2OTQxNCA5ODk5YWZlMGZmOGMxOGNmZDkzZWNkZGZjMTIwYTg2ZjgwOWUxNWQwIGxlZ2FjeS10cnVuaworNjk0MTUgMGFiMzY3OTZkZDc5NTg5MGM4YmM2NDA2NzM4MmZiNTNmNDNjZDgzOSBsZWdhY3ktdHJ1bmsKKzY5NDE2IDMyMGNkNzFlMmM1NjJjYWQ3M2E3ZDljYzBkYmZlZmUwNDU0ZWI1MzEgcHkzaworNjk0MTcgMTAwYWU2YThiYzJkYjM5NjdjZTY4YzUzZGM5ZTlmMTg4MDRkMGNiMyBsZWdhY3ktdHJ1bmsKKzY5NDE4IGNjYzcxODhmZGQyOGZjM2QyMjA3N2NlMGIwNGE2NzVkOWQ5NDYxY2IgcHkzaworNjk0MTkgNWNjZTk5YWExZjU4YWM3YjkyMTNlM2Y1MjI1MmVkNmI4NDhkZGY0MiBsZWdhY3ktdHJ1bmsKKzY5NDIwIDU3MDhhMWUwMTY0NTkwZTYwOTQxYzQwM2JhYjIxMzYxMmNlN2IyNmMgbGVnYWN5LXRydW5rCis2OTQyMSAyZDM1NGY0ZDc3YmNiYzZjNzVhNzQwZDhmYjUwZjhjODdlNzRiNmY0IHB5M2sKKzY5NDIyIDE3NThkZWQ0NGI0ZTBmYmI0NzFlNjEzZjc2OTBhMmVjNmYzMThlNzUgcmVsZWFzZTI2LW1haW50Cis2OTQyMyBmODVlY2Q3NTY0MTE0YTIwMjAxNGE5ZjQ1YWE0ODI4MjQyNjdlYTNhIHJlbGVhc2UzMC1tYWludAorNjk0MjUgMTE3ZTE1MmU1MTNhNjUwY2RiMTg0MjQ5NWVkM2JkN2MyYmE2MjdhOCBsZWdhY3ktdHJ1bmsKKzY5NDI2IDc0ZDE5NmM1NDJmNzhhYjhhOTQ5Y2U2Zjg3NjJjMDE4MmZhMzc1Y2MgcHkzaworNjk0MjcgMWNjNjFjNzliOWNlYWZhZjJiMGUzZTczOWM0ZDY3MWYzMmYzZDhhMiByZWxlYXNlMjYtbWFpbnQKKzY5NDI4IGU4ZmExMGM2NmQxODNlMGU5YjdiN2I2M2RiNmI5NGM2MjY0NTEyNTIgcmVsZWFzZTMwLW1haW50Cis2OTQyOSA1MDFiMWYwMzVmMjk5MGI4MmM2ZmI2Zjg1ZjYyYTg3OTBlMmFjZjAyIHB5M2sKKzY5NDMxIDBlZDIyZjFhZWQwNDYzOTQwODBlOWVhYWViNTZlZDhlMWVhMzE2OGQgcHkzaworNjk0MzIgN2JmYTY0NDkyZDAwMTYwYTRlMGY3NzIyNzI2Njc1YmJjMTFjZWM4NCByZWxlYXNlMzAtbWFpbnQKKzY5NDMzIGM1OTM1Yzc0OTdmYjYzMWY0MWQ2NTY2ZDAzZGQ4MGY5YjJkYWU2NzAgbGVnYWN5LXRydW5rCis2OTQzNCA0YzdlZDQwZGI4MWVhYmFmYTkzMGQ0NmQ2M2RmNzcxYzQ4NTg2MmQ0IHB5M2sKKzY5NDM1IDBlYjQwNWQwMWUwODNkM2UwNjZlODgxZWZlMzMxZTljYzA4NzVmOTMgbGVnYWN5LXRydW5rCis2OTQzNiBiYmI4MzUwZGRiZDI1OWQxNmZjN2ViYTA2OWE3ZTQ4NTBhYTBkYTA3IGxlZ2FjeS10cnVuaworNjk0MzcgNTg0OWE0ZjkwNGEyYTAzMjU4ZmQ4Y2JmYzJlZDRiNGJkNDM0YjgxYyByZWxlYXNlMjYtbWFpbnQKKzY5NDM4IDk0NWNiOTViMzViZjU1Y2FiNWViYjA0YThmZTlmNmEyMzQ1OGVlMDQgcHkzaworNjk0MzkgNDMxM2I0ZDRiZGM3M2QxNmJmZTU5OTI4M2YyMTRiNGI3ZjMyZDk2NCByZWxlYXNlMzAtbWFpbnQKKzY5NDQwIDIyNGQwZWZjYmY2Yzk0OGQyNzEyYzljOTQwZjJlYjZhMzQwNGJiMjUgcHkzaworNjk0NDEgZmQ3NGIwYzA2OTI3YzkwNDkyMzIyMjFiN2U3OTc5YWM2NDBkM2Q2NyByZWxlYXNlMzAtbWFpbnQKKzY5NDQyIGMzMzJmN2I0NTY0NzIzY2EwMzFjOGM0ZTM0YTBlN2ZjYmI1MDY3MDcgbGVnYWN5LXRydW5rCis2OTQ0MyA5OTRmZTRkZjRhZjcwZjU3YTIwOGMxODE4NTAyMzI3NTQ0Mjg0NTk4IGxlZ2FjeS10cnVuaworNjk0NDQgNjU1MGRiNDkyZjI4OGE3NzJjYTZiMjU5NDZlMzIxN2FiYmRjZmMyMSBweTNrCis2OTQ0NyBlNDkwMTNmMWQ4MzE0M2IxYTJiMjE0MWFmNDZlZDE3ZWFmNTllNzM2IGxlZ2FjeS10cnVuaworNjk0NDggYzE3ZjkyODFhODU2YjFkYTk5NTFlNGFiNDg1ZmE4MjgxMjQ5NTQyNiByZWxlYXNlMjYtbWFpbnQKKzY5NDQ5IDRlYTEyMjk3MzkxNDNlODUyNjFkYzcxNTIwNzIxYWQ5MTEyZGIxNzggcmVsZWFzZTI2LW1haW50Cis2OTQ1MCAzNmJjOGQwZTAxYmY3MzUxMTQ2NjQyMzE1OTdmODZjNDY3ZDczOGM2IGlvLWMKKzY5NDUxIDhjZmExMDhlN2JkYzNiOWM1NDBhYzQ2OTBmOWNiYTBmMjgwODY0NWQgcHkzaworNjk0NTIgZGEwMDcwY2Y0NjU0NGYyZDhmZGVjYzZjNzQwOWYxNjYwOTJkNGE0MSByZWxlYXNlMzAtbWFpbnQKKzY5NDU5IGU0MjNkMDdmMDhhZjBhN2M1M2ExYTk3MmI4YTZlNDQzZDA2NGFmZTAgbGVnYWN5LXRydW5rCis2OTQ2MCBkY2ZmYzcyMzgxZTczNGYzZGE3ZTRmMTM5ZWM3OWUyODlkNzIyMmMyIGxlZ2FjeS10cnVuaworNjk0NjEgN2JiZGNlNWM5MjUwNTI2MTUzNmYxMWNjNzkxMDFiZTJlZTE2MzJkYyBsZWdhY3ktdHJ1bmsKKzY5NDYyIGU0NTUyNTE5NTMxN2QzOTk0ZWIyYjY2MTNjZDg2ZGNkYWRkY2I4NGEgcmVsZWFzZTI2LW1haW50Cis2OTQ2MyA0NzI0NWFlMzIxMWJhNjllZDRkZmRjOWU3YzE3MGZjMjc3N2Q1YTJiIHB5M2sKKzY5NDY0IDY2M2NlNzRkNTE3NTdkNDYzNWIxNDhlNjQ5ZWM0N2E3MWQ0YWQ3MjggcmVsZWFzZTMwLW1haW50Cis2OTQ2NSBmOWYyZWQ3OWIwMGZjMmJmMTU4MzAyZjZjYzI0OTUwODUwNDUyMTAxIHB5M2sKKzY5NDY2IDE1NGU3YzQ3NGFhZDA0N2M5YmRjNWFjYWY5ZTU1ZGRmZTc1ZDQxY2IgbGVnYWN5LXRydW5rCis2OTQ2NyA2NzQ1YmRhYTliNDliNTkzNmRkZDg0MzAxMDhhYTJkZDcwMTI4ZWY0IGxlZ2FjeS10cnVuaworNjk0NjkgYWM2MjQzMmZiMzQxZDdlY2ZkMDk3ZDJhZmU5ZWIxZDZkYjA0ODQ4ZCByZWxlYXNlMjYtbWFpbnQKKzY5NDcwIGJkZGU0NGFmOTc0NDA2ZjM0ZTZiMTUwZDJkMTEwOGE2NDEzYTcyZGEgbGVnYWN5LXRydW5rCis2OTQ3MSAxYTdkZDlkMmU3ZWMzZTEwOWQxNTQ1M2QzYTU0ZDY0MjRkOGVhOGM3IHB5M2sKKzY5NDcyIDYyYTFlZDZlNjM2YWMxZTU2YTA1M2NmMDI4Y2YwOWU1NWJmNjM3ODggcmVsZWFzZTMwLW1haW50Cis2OTQ3MyBmYmJiYzI1OWI1Y2U4OGRhMjkyMzBjMGVlYzk1MDM2OTU5N2M3ZTgwIGxlZ2FjeS10cnVuaworNjk0NzQgZDdjNGQwNzFkYWZhZjE5YWM1YzJiMzFmNWE2MzM0OWI2OWQ2MzY2MyBsZWdhY3ktdHJ1bmsKKzY5NDc1IDI5ODgwNmY2NGRmYTM2NDZkOTMxMDU2YmUwNWQyN2EyNzc0ODg5M2EgcHkzaworNjk0NzYgNGU3YmE2N2NmYTA1MzczOWY3YzZlMDJjOTE2ZTY1ZTA4YWIzNjczOSBweTNrCis2OTQ3NyA4NzIxYzIxM2I2ZjQ0ZDBlNDk3MzcwZTdkNGY3MmUyMjQyNWNiNDJiIHB5M2sKKzY5NDc4IDg3ODIwZmM2NWQ3Yzk4OTkwN2RkNWRiZDNlNDNmOTZkMGY5Nzc2MjcgcmVsZWFzZTMwLW1haW50Cis2OTQ3OSBhOTBjOTI5OGRiYjQ4OGM5Y2MwYWEzMmRjZGU4ODRiYTA1Mzg3YmZiIHJlbGVhc2UyNi1tYWludAorNjk0ODAgYmVlZjg4MThhNjZjMjFiZTU4MTI3OGFjNjEzYWYxMjE0ZjgxZWUyYiBsZWdhY3ktdHJ1bmsKKzY5NDgxIDU4NGM0N2Q4YzkzZjFhNzU0ZmFjZDI3NmIzOWExMDgwNzFkMmUwNGEgbGVnYWN5LXRydW5rCis2OTQ4MiA1ZTdkN2ZkMWRhNWE3ZmFlYjVlNGJlYWMyYWJhZWYxNjRmMjZhMDA4IHB5M2sKKzY5NDgzIGFjOWVmNzQzMWM4ZjEzNGMyMDcyYmQ1ZmZlNzQ1YzkxNzhlZDAyMjUgcHkzaworNjk0ODQgZTc1OWRhOTNkZjY0N2YyNTJmYzQ1YzIxMTQyNjU0OTdkYTYwMmZjOSBweTNrCis2OTQ4NSBjNjFmMjRmZjA1NWU0MGQxMzMzY2M5MzhiOGMwYWM3YjA0ZGU0ZDIwIGxlZ2FjeS10cnVuaworNjk0ODYgMTMwN2E2NmEzOGY4ZDQ4N2YxNjRjMmFhNzdmZjI2YjlhZDU5MDIyYSByZWxlYXNlMjYtbWFpbnQKKzY5NDg3IDhhMjhkOTlmNzg0ZDc3YWM0MWZjNzFlM2I4YTJhNGI5ZTM1NGM2YTEgcHkzaworNjk0ODggMzQyM2Y2NDdiNTRhNjVjMmNjMWNkYzg3ODAyOTU0M2U2YWFiN2U2MyByZWxlYXNlMzAtbWFpbnQKKzY5NDg5IGRhYjgwNjM1MDM2ZTg4MjI4Mjc3NTViN2EyYzFmZDYzMmUzMDhmMzYgbGVnYWN5LXRydW5rCis2OTQ5MCAyYWU3NzBlZTYyODQxNzAxOGM0NzA4Y2NhYzhjY2E2NDYyZDIzNjdkIGxlZ2FjeS10cnVuaworNjk0OTEgMzg2NDIzODViMWUwYWYxNDMwYTgwMWNlYzEwZjczNWVhODNhNGM5YSBweTNrCis2OTQ5MiA2MzE2ZjM3NmI4MTRiYjFkZTNlMTIyZTBlMWVhZDQxYzExMDNiY2Q2IHJlbGVhc2UzMC1tYWludAorNjk0OTMgYmRiMWNhOWFiY2UzNjJkODhmODliYjE1NGY4NGJmMjlhYmRlOWUxZCByZWxlYXNlMjYtbWFpbnQKKzY5NDk0IDFmZWMwYmI1MDlhMmI1ZTQ4MmJkODcxNDE4MmViNjVhZjgxZTgxYmIgbGVnYWN5LXRydW5rCis2OTQ5NSAwNDE1NDE3Y2ZkNDgzYjk5ZmRkNDBiZjE2OTY0NGI2NWYzODNiNmQ1IGxlZ2FjeS10cnVuaworNjk0OTYgZjBjNzQwMmNjMDAwNjkzYTdjZDIzNDk2MzkzYmY1ZjJlZjRhOThhZSByZWxlYXNlMjYtbWFpbnQKKzY5NDk3IDA4ZTBmMDNiYTgxNzI4YzFlOGM1ZTNkYTJlM2QyNDRjY2U2MjRlOTUgcHkzaworNjk0OTggMjA2MDlmYzEzYTEzNTc1NGJiYzgxMTQ5N2Q0YTNmMzdkZWZiMjY0NiBsZWdhY3ktdHJ1bmsKKzY5NDk5IGEwMDc0NTQ4MDEyMGRmOTA3NzcwMDFiNDc1ZDhkZDRhNmQwYzBkZDIgcHkzaworNjk1MDAgMDU4ZGNhNzNlZTMwMjk1MWZlMGZkMmExODg5YmFmZDg0MDZjMjk1MCBsZWdhY3ktdHJ1bmsKKzY5NTAxIDk0ZDlkNTI1NDAxYzE2M2VmZGUwODljNjVlYzRjZjcyODU4MjMxOTAgcHkzaworNjk1MDIgN2Q2Y2RmMzM1YTU3MDI5MGFiMDhjMzIwYzI0ZjE4OTU4ODc0YjhjMyByZWxlYXNlMjYtbWFpbnQKKzY5NTAzIGZmYjljZjk0YzlmMTM5OWZiNjgyYTIyYzNlZDdmZjA5MDY5YzhmZTEgcmVsZWFzZTMwLW1haW50Cis2OTUwNCBmMzU4YmEzZDFlNTM2MzcyN2RjZjVlMjU3NjEyMDhmNjJlMWUzOTg3IHJlbGVhc2UzMC1tYWludAorNjk1MDUgOTViYjc3MzllMzg2Y2JiODkyNTViM2MxNGE5ZmZjMzk2ODFmODdmMiBsZWdhY3ktdHJ1bmsKKzY5NTA2IGQzZTg4Zjc3OGNkYzE2NWFkZTc3ZGFjMDYxOTVkNWM2YmU4NzhkMmEgcmVsZWFzZTI2LW1haW50Cis2OTUwNyA2ZGJlM2Y5YTA0MGNiOGU0ZTRkNjAzNTA3OWEzZGY1ZGUwYmExOTMxIHB5M2sKKzY5NTA4IDk3MmU4NjE3ZGZkYTZkODVhODI3MjdhNzY0MWYwMTMyZDFlY2VjMmEgcmVsZWFzZTMwLW1haW50Cis2OTUwOSA4MzUxNWJkMjg2MjZkNDI5NWZjYTMzZmYyNDAzMGUwODhkZTQ3ODM0IGxlZ2FjeS10cnVuaworNjk1MTAgNzJlZTQyY2M5NTMwZjNmNmY2ZmRkY2MwYzFlNGUwM2VlYWFlZjE2MSByZWxlYXNlMjYtbWFpbnQKKzY5NTExIDUxOTZlYWZjYmQ3MmM2MmVmYjIxM2I0YmZiM2YxNjFjZmY0ODhlYzcgcmVsZWFzZTMwLW1haW50Cis2OTUxMiAyOGJmNDU3ZmIzNGQwYjljMjcyNWRkMzFmY2NkZTgzZDI3ZGZjNDA3IHB5M2sKKzY5NTEzIGFmNDY5ZGMxNWZhN2JiZDk0ZGMxNWY3N2M4NmVhYzNhNTU5MzdkMTYgcHkzaworNjk1MTQgN2JiM2Q1MTViNjc3ZWFmMmRmZDJiZjYyMTc1MDBjZTJhZjBkZTVkOCByZWxlYXNlMzAtbWFpbnQKKzY5NTE1IDljMGE0ZmJiNTZiOTBhZDM3NDM3NDEwNDBhZDAwY2Q4NTEwNDA4ZmYgcHkzaworNjk1MTYgZGJkZDk0Y2QwN2ZiNDZhYzA1MjUyYjY1MWFiYzE5ZGJlMzMyMmY0NCBsZWdhY3ktdHJ1bmsKKzY5NTE3IDdkODk3MDY0YTZlZmI2ZDY3MjNmOWU5NWIyNDUwYjYzZmNlNTFiNWIgcHkzaworNjk1MTggNGQ5YjUyZmNiNWRmOWQ5OWQxNDJkNDQ1MWM5OTljMjk0MGVmNjk0MCByZWxlYXNlMzAtbWFpbnQKKzY5NTE5IGVkY2Y5OTZmMDdlOThmZmExODY0NmJjOTEwMmRkMzQzZWU3MTNlMjggbGVnYWN5LXRydW5rCis2OTUyMCAyOWE5ZTg1ZjMwYmY3Zjg3MTg1OWNkODUzZGU3YjYwMzQ4MTM5OWRiIGxlZ2FjeS10cnVuaworNjk1MjEgZDY5NzY5YjRmZDIwYTQ1ODIyNDk3NzIzNTQ0ZTliODk2ZTI3MWJiMyBsZWdhY3ktdHJ1bmsKKzY5NTIyIGNiZDUzZmY0OTU1NzBiOGE2NWEzOGE1NzU4NmQwZTgzMjI3ZDRkOTggbGVnYWN5LXRydW5rCis2OTUyMyBiMGRiMTA5MDg5Yzk2OGVkYjY4N2I0NmI4M2U0NDVhOWRhYjhhYTc0IHB5M2sKKzY5NTI0IDJhYzAyZGFlZjJlZTM4ZTk4ZjFhODA5ODI5OGJmODM3NDA0N2QzOTUgcHkzaworNjk1MjUgNDM1ODVkYmY2MWQ1N2ExODllODczMGNjNGQxYjVlZDFjYTZmMGM1MyBsZWdhY3ktdHJ1bmsKKzY5NTI2IGNiODE5MGExYmZhYjljNTM5ZjhlZmM5MzIzOGYyOTYwZDBhYTZjMjggcHkzaworNjk1MjcgMmJmNWVkNjcxZDAyYzExNjJiNjhkNmZkYmM1OWNhNzNiZDE4NDU5ZiByZWxlYXNlMjYtbWFpbnQKKzY5NTI4IGRmNjliY2NkZDM2M2JmMjc0MjA0MWViNTk0ZTA3YTY1NDZmMjdiOTAgbGVnYWN5LXRydW5rCis2OTUyOSA3ZDI5YzZlOGJhMDU1ODA3NTEzOWRmOGE4ZGYyZGIwNWFjZDVkMjlkIHB5M2sKKzY5NTMwIDA5OWU5NjA2NzZiOWYwNjRkMTlmMDQ2MWE4NDE1M2IzOWYwZDJiYzMgbGVnYWN5LXRydW5rCis2OTUzMSAxYWUzNGE0OGI3MzkyMDA4Yzc3ZGVlYzQ4OWQ4MzMxMmUwMWE5NjA2IHB5M2sKKzY5NTMyIDk2NzdkZDBiMDllNmI2MjdmN2E0Njc4MDAyZjc5NjdjYTNlNTYwZWMgcHkzaworNjk1MzMgN2ZhOGI3YTJmNTBhMjE1ZTQ3NjE2ZjJkZDg1Y2Q3YTQxNjhjMmQ1ZSByZWxlYXNlMzAtbWFpbnQKKzY5NTM0IDIxNzQyNWVhMjc2OWMyODE1NWMwOGY1ZWYzMDBjMDJhYjQzZjc3YmYgcHkzaworNjk1MzUgOTJkZGJhNTc3OWY5NDk0OGFiMzQ0NGIxNGI4MjE4NTYxNmM1N2I4MCByZWxlYXNlMzAtbWFpbnQKKzY5NTM2IDg2MTAwOGRlZWQ5N2EzZmQ4NzhjMTNlYmI5NzFiNzA1ZTQ2ZGQ1ZGMgcHkzaworNjk1MzcgNWI1MDExOTZmYzM4M2ZjMzIzYWY0MGZmODA4NmVkOWM1NzJmOWJmNiByZWxlYXNlMzAtbWFpbnQKKzY5NTM4IDY1OWQ4ODkwNGY1ZmIzM2U3MDYzZTgxZTE3Zjk4Mzc3MGZiYTUwNWMgcHkzaworNjk1MzkgMDhjYzU3NGFmNGY2MDllYzIyNzQ5YzlkMmNiMjk2Mjc1ZTI1MjE5MiByZWxlYXNlMzAtbWFpbnQKKzY5NTQwIDE4OTY5NmM0NmMwZTdmNGZhMjUxMDFmNDY3MWU0N2NkMjM3NDMwMTAgcHkzaworNjk1NDEgY2FiNGUyZTQ4NGEyYmU2MDhhZTJhMzZjN2I5YTFkM2JiZWFhODNlZSByZWxlYXNlMzAtbWFpbnQKKzY5NTQyIDgzYmQyZDE3NGNjOGQwMmU3MjVmMDcxNmZiNTM0MWYxM2ZhMjNmMTggcHkzaworNjk1NDMgMjdjNTg5ZjA5YTIxNzRmZjkyYzZhYzU2NTdjYWM3NDI2Mzg4ZTJhNiByZWxlYXNlMzAtbWFpbnQKKzY5NTQ0IDk3MWJiNDdmZjcwYjYxMTIxOTIzMTBmYTViOGVlZTNhZjk0NDNlN2EgcHkzaworNjk1NDUgYWNkYjMyMzQxZDg3YTMxNzk3OWZjNjkzODI5ODA3ZTY5YTNjNjA3ZSByZWxlYXNlMzAtbWFpbnQKKzY5NTQ2IGEwZDhjNjE2ZjM0MDVjYjk0MTJhOTJmOTc3YzIzODJlMWY2NzM1YWIgbGVnYWN5LXRydW5rCis2OTU0NyBjMDliNTAxNTE2YmQwY2M3NjIwYWZjMjBjY2Y2NDhlNTcxMDdkNWQ5IHB5M2sKKzY5NTQ4IDVkMjg0MDUwODBlZGZmMzkyYzc1NDIzYTVmYmQ2M2UxODZkNDg0MzQgcmVsZWFzZTMwLW1haW50Cis2OTU0OSAzMTY0NWVhZDRjMzViYjQzYmVlMmMxYWQwYmE5NmNlMzA3MDEyOTRjIHJlbGVhc2UyNi1tYWludAorNjk1NTAgOWE5MzJmOTJmMzk0OTk3YWIzNWQ4YmY5MmZmYzkwMDRkNmY1N2YzNCByZWxlYXNlMzAtbWFpbnQKKzY5NTUxIDY2NDFkODI4ZDc2MmQ2NTFjNWY5Y2EyYmJhMTcyOGZkZGNlNWQ1NmYgbGVnYWN5LXRydW5rCis2OTU1MiAxMzMyOGYxMWFkMjk1NjYxYjg5NDk2ZjVhZGNkNTFiZWUzNTc4ZGNhIHJlbGVhc2UyNi1tYWludAorNjk1NTMgM2VmNWEwYzVlNmI1N2ZkOTU5M2NjNThiM2I2YTUwYWMwYWJjMDRmYSBweTNrCis2OTU1NCBlMzc1MDcxZjk1MGVjNzU3ZWM5OTlkZjdkYzk1NWMxZGMyNjkzNGE1IHJlbGVhc2UzMC1tYWludAorNjk1NTUgY2UyOWZhZWQ3ZjY5ZTIwZDNiYzFlMmE5ODQxN2U3NjcwNzVlYmNhNyByZWxlYXNlMzAtbWFpbnQKKzY5NTU2IGU1MDJlMmJmMzVlODZkYmZhM2I1ODhlZjI4ODhlYmVhYTAwMzdlNzAgcmVsZWFzZTMwLW1haW50Cis2OTU1NyBjZDQyZTg1Y2FmZTdlZDZjNWMyZGI2NTgyNjc2YzE1YTY4ZTljN2JmIHJlbGVhc2UzMC1tYWludAorNjk1NTggMDdmOWUwMDQ4YjBiZGRmMTI4NmE4ZjFhYzg4YzJiOTMyY2Y2YzUwZCByZWxlYXNlMzAtbWFpbnQKKzY5NTU5IGUyZWEwZjgzZjAzOTQyYmQ4ZDEzZjhkNGEyOWIzNTdjODRmNWM0YzUgcHkzaworNjk1NjAgNjQ4ZTA3ZGQwODI1OGY2MGYwYTU5MzU1NjZmYzFjNGJkZTQ5MTUwNiBweTNrCis2OTU2MSAxZTdhYzE0ZTQ5Mzg3ZWI2NDQyMTFjMDU3NzNmMWI3MzA4OGIwM2NhIGxlZ2FjeS10cnVuaworNjk1NjIgZTZhOGExNjQyMzNhNDNiNTlkNDU1OTUzN2IxYjllODA4MTRmODNkOCBsZWdhY3ktdHJ1bmsKKzY5NTYzIDhkMzZhYjA5M2Q0NTZjMjRkMThlZGEzYmNkMDMyZWM1M2YyZTlhM2UgcmVsZWFzZTI2LW1haW50Cis2OTU2NCA0N2E3OWQ3ZWVlZGM5MDZkZmYzMGE0MDcwOGJjNGQ5Y2ZmMWExZWZjIHJlbGVhc2UyNi1tYWludAorNjk1NjUgM2JkNGFlMjZiMzY0OTdlZjhhOWJhMDQzYmNjOTE5Y2I3MWUzNjMzMiBweTNrCis2OTU2NiBiZDJiNzc5ZjVmMzEyMzQyNzc2YzA4ZjAxOTEwNTA3Yjg0MzQ1ZTQxIGxlZ2FjeS10cnVuaworNjk1NjcgMjEwMjc3NGU3YTJkOTNhMDNiNzgxNTU4ZGFiYzQ4NTE2MDQ3MDNlOCByZWxlYXNlMjYtbWFpbnQKKzY5NTY4IGI4ZjEwYzZmYWQ1Mjg1NDE0OGYyYWY3NWNmNGJlY2M0YTI2NTZjNmMgcHkzaworNjk1NjkgNzJmNmYxNzAxZWUxYWE0YjAzOWZjYzEzZDE2N2Q4MTk5ZmY4MzE2MyByZWxlYXNlMzAtbWFpbnQKKzY5NTcwIDdmNGExMTVhYWU2ZDk1NGRhMGI0NThkNzRjYmI3NDUzZTViZTM1ZjAgbGVnYWN5LXRydW5rCis2OTU3MSBhNDFlOGZmNjUxOGMyMDM1OWRiZGEyZjQxMjJkNzlmZjA5OTUxMDEzIHB5M2sKKzY5NTcyIDUyODUxYjlkOTc1OTAxMWRlZjg1OTk1ZTQ2ODQ2OWExNDkwMDgxNzcgcHkzaworNjk1NzMgMDk0NmNmZDY4NTc5OTk5ODdhNmIzOGE3NWYwZjY1NGEyNmM2M2FjYyBsZWdhY3ktdHJ1bmsKKzY5NTc0IDY4YjhhZjQ5NGJlMjgwZmUwY2I0NTc2MGVkNzg4ZDA2MjY4Y2E1Y2EgcHkzaworNjk1NzUgY2ExZDk5ZDlkNjkxZWRkYjM0ZjZkZWU1NzFlYTkwNjU2YWVjZDc5NCBweTNrCis2OTU3NiBjMDE0YTNiMWFkMzE1NWIxMmUzYTFkZGY2ZWI1YWI3NTE3MTliY2RjIGxlZ2FjeS10cnVuaworNjk1NzcgYTgzZjEwZWRiNmZmMTU5MjhhZmY2M2ZjOTNjZDdhNTJkNWM0OWRjNCBweTNrCis2OTU3OCBiZjQxOWNmZDdiMGFiOTRiMDg5OGYxZDg5N2IzZWI5MWIzNjQyZjcwIGxlZ2FjeS10cnVuaworNjk1NzkgNTEyYzVhNWRlMDBiODBiMjg5NjAwMDQxMjY0NjIzZGViNWM4OTRiZiBsZWdhY3ktdHJ1bmsKKzY5NTgwIDY5ZmRmODg4ZjExM2E3NmNjYjM0ZDY3MmI1OWZkZTU1MzFmOWRiNjMgbGVnYWN5LXRydW5rCis2OTU4MSBlYzMwYjFmY2MxYjNkZmY4N2JjNzMzN2NkNTdmOTRlZDgzODliNmYxIHB5M2sKKzY5NTgyIDVhNzJlZWQxZWIxYTc5NWY5OWQzOWZlOTZkMzk5ZDQxYTZjYzE1MzQgbGVnYWN5LXRydW5rCis2OTU4MyAwOGRmNGY1NTgzZmY1MmMyODRhN2JjZGExZDE4NjJhMTNiMWZhYmI5IGxlZ2FjeS10cnVuaworNjk1ODQgZmYwOTZkNmE5MjIyYmNiOTIzZDBiZGRkMGJjNGYxOWFhZmIyMTNjZSBweTNrCis2OTU4NSBjNmZmNDdiM2ViOTlmYmQyYjI0MmIwNmNiZWI2NzRiY2IzNmNjOTgyIGxlZ2FjeS10cnVuaworNjk1ODYgYTkzYjE5YTJmOGQ5MzQ5MThhOWQ2NTgwZmNmNzQwYTYzYmFiZDQ2ZCByZWxlYXNlMjYtbWFpbnQKKzY5NTg3IDQyODM4YjRkNmFhMWI3NjQyYTUwMzI0Yzk1ZTUyOTgzYzA3YTA1YTggcHkzaworNjk1ODggYWUxNmUyYjg2ZmViNTIyM2NhNzA4YWQzZmNhNTcyNTE4ZmZkZjkyMCByZWxlYXNlMzAtbWFpbnQKKzY5NTg5IDAyYzNlYjFjYTBkNWYwZDRlY2YwNzJkMTdiMmYzNTdmNGMyYmE5NzEgbGVnYWN5LXRydW5rCis2OTU5MSAwNTkwYzBiNzZlNjQ2MWU1YmNhNjYzNjhjMmJmNzNhZjcxYTc3YmNjIGxlZ2FjeS10cnVuaworNjk1OTIgODdhYjZiYzIxMzQ1YmFkMDg1NjYwYThkMGNjYTE4YzRiZTI5NDU0NiBweTNrCis2OTU5MyBkZmNmNjkwYTY3YzhlOTA5OTU3NWI1OTk3NjA5YTc3OGIwNmYyYjg1IGxlZ2FjeS10cnVuaworNjk1OTQgZDM2NjNmMDlkNzY0NWEzYzM2MGVkYWRmNzA4MTc3MTI2M2E3N2ZhMSBsZWdhY3ktdHJ1bmsKKzY5NTk1IDUxMjA3MGRhNzQzM2RkMzc4YmUyMmZkY2JmOGNmY2QyZTk4OWVmNDkgcmVsZWFzZTI2LW1haW50Cis2OTU5NiA2MTM1ZmY3MjQzZGQ3OTZlMjNjYzM1NWE1YmNhODgxMjUxYjE0MzE3IHB5M2sKKzY5NTk3IDhjYjhlY2NkNjYzMzljOTYzZWE2NDZjZTZlZjFlODE2NTgxMDRhZmQgcmVsZWFzZTMwLW1haW50Cis2OTU5OCA4ZGMyOGExMjZiMmM4MDFlZWEwMGNmMzhjN2MwMWY4MzZmZTdiZTJlIGxlZ2FjeS10cnVuaworNjk1OTkgOWM3NTgwNmJlYzY0YWY5MWU2ZThhYjk2MmQzNzZiZWQ0ZDc5NmRmYyByZWxlYXNlMjYtbWFpbnQKKzY5NjAwIDQwZWQ1NzgzZTI0YTJkYTVmNTRhMDU0ODFmMmQ2ODEwMDI0MGYyYTIgcHkzaworNjk2MDEgNjE2MTM4ZWVmMjI0YmNkMDZjODMzNDhhMjliNWI2ODBjZWFhMjJhMiByZWxlYXNlMzAtbWFpbnQKKzY5NjAyIGU1Y2EwYmRiMzkwZmQ3ODE1MzJmMjE3ZTRjMjA3YmM1MWFkNDNhNTIgbGVnYWN5LXRydW5rCis2OTYwMyBlOTFiMDRkYjZkMTk2ODBiMmViZTY4NWU0MTBhNmZlNGJkMmMyOTIxIHB5M2sKKzY5NjA0IGM1NjA3Y2Y3NjgwMTI3NWQ1NGIwNDY4NDNkMDRjN2U0NmNjOWY0NmUgbGVnYWN5LXRydW5rCis2OTYwNiA5Y2M3Njc1OGVlMDljMDc1MTMzY2I0Y2I0OTg2NGJiMjYzNTM4NDAwIHJlbGVhc2UzMC1tYWludAorNjk2MDcgMmEyNjNkNjZkNjU5NzgwMDE1ZjFlMzUzYmQxNjAxMzdkOTc3MmVlOCBweTNrCis2OTYwOCBmNDNmODY3ZDVlYjYwYTRkMzIzZTNjMmVhY2QwZmYwN2FjMmI2ZjRiIHJlbGVhc2UzMC1tYWludAorNjk2MDkgZTU1MjI4NzViOThjMjZhNjI1Zjc1NTM5MGM2ZjcyM2Q2M2YzMDAxZiBsZWdhY3ktdHJ1bmsKKzY5NjEwIDk0OThlN2Q1YjI2NTk5ZmU2YWY2ZTJlZDcwNzFlNDkyOTBhZTJiMDQgbGVnYWN5LXRydW5rCis2OTYxMSA2YTdhMGUxZTI3YmMwNDQ4ZGUzODlhMThlMWE3NzMxMTA4ZGRhMmViIHJlbGVhc2UyNi1tYWludAorNjk2MTIgNzFhNjhkY2NhMDQ0ZTMyZWZlZGUwYzJhMGExOGNmZGZlZjVkNGFmMCByZWxlYXNlMjYtbWFpbnQKKzY5NjEzIGUxM2VkNDg0NDIyZTgxNTVmYjI2NWI5Y2M4ZmIwZjlkN2NmMGY3NmYgcHkzaworNjk2MTQgYmI5OWVkYTM4YzFiODJlZWJjN2EyY2MyNDZhOWY5MDBkMjU5MmZiZiBweTNrCis2OTYxNSAzY2VhNDA1MWRjZGI2YzBlNmNiNGUzZWU3YmRmMWE3YzhhODhmNTExIHJlbGVhc2UzMC1tYWludAorNjk2MTcgZDQwODM4YzVhNDIwNmZlOWIzZDU3OGI4YmRiYzQ2YTFiNTM1NjQ3ZSBsZWdhY3ktdHJ1bmsKKzY5NjE4IDk2OTM3OGVhNGM3NzcxYzdmNTExMzFkY2EyOGZmYjA1MTNiMzgxODEgcHkzaworNjk2MTkgOWQ3YTEzMWRjYjc4OTVhMDJmMGMzNzY5NzQ1OWZkYWJjN2M0M2EyOSBsZWdhY3ktdHJ1bmsKKzY5NjIwIDU1Njk5MGJiNGYwYWNhYzdkYzk5ZWZjOTg3OTRmZWFjMDMzZWYyNTMgbGVnYWN5LXRydW5rCis2OTYyMSAxNWQ4YjJkYjJiZTQ1N2E0NjZkNzE5ZDYxNWE3YWEyNjcyOGYwZTQ2IHJlbGVhc2UyNi1tYWludAorNjk2MjUgZjY3YjQ4YTE1MTNlYmJhYWY2YjdjNmExNTY2NjA5ZGQwNDk3NGFkNiBpby1jCis2OTYyNiA4YWU1YjBjNWMyNGQyYWU3ZTJhYTViODM1M2MwODU1N2M2NDZlNDFlIGlvLWMKKzY5NjI3IGMxN2NkOWJlYzNkODUwZTQwNzkzOWMzMjg2ZDAyYTQ5ZTg2MjI3MTkgaW8tYworNjk2MjggYWRlNDU1MTFiNTY1YjFlYmM5NTM2M2YzYzk2MDlkNDZlYzk2YTAwNCBpby1jCis2OTYyOSA3NzMwNmFkOTMwYTMzNGViYzNlN2VlNGU3ODRjNzdjMTQ2Mzk5YTVkIGlvLWMKKzY5NjMwIDVmZDNhZDU0OTkxN2NiNDM5MjZkOTdhMWE3NjMxNzI1MzI4NGIxMjMgcHkzaworNjk2MzEgZWYyY2JhODBjOTc1YmI1ZDk5MTFjOWI5YmJkNTgxOTg2ZDYxNDE3YyBweTNrCis2OTYzMyAzZjdlMDczZGFkN2I1ZjQ3ZDEzYTVjZTAxZWIwYTg2Y2JiNzRhNmQ0IGxlZ2FjeS10cnVuaworNjk2MzQgYjU1YTNiNWQ3MDA4ODI5OWRhMDljOWNjZWY0MmRmMWJhZjc5OGQxZSBsZWdhY3ktdHJ1bmsKKzY5NjM1IGI4YzQ2NjRhNjUzOTE2ZTIxNjQ5N2JjY2E2YWQ0OTBhNDFlN2YxMzEgcHkzaworNjk2MzYgNWYyMjU3Yjc3YWIwOTkxZGQ4MDdiMjlhNjdmZWI5NzRiYWE0NGYwZSBpby1jCis2OTYzNyA3OWMyMzExZjMzY2MxZTJmYTFkZWQ0OWVjYzIwOGU5N2EzZDU3MjNkIHB5M2sKKzY5NjM4IDNmNDc1NzQ1YTNjMzA1ODk4OWVkYmY2YTVjYTI1MjY5YmMxOGZhYjQgaW8tYworNjk2MzkgYWY3ZDc4MGY3YTBiZTRiYTA0YmM3ZjU1Mzg0YWQ2NTY1OTBhNjJhNCBsZWdhY3ktdHJ1bmsKKzY5NjQwIDY1ZTA3NTVlOWJiYzlkN2ZkNDAwMDk0MGZjYTRmMGVlYjFhNmZiMDkgcHkzaworNjk2NDEgYWFkZWYyMTg4Y2ViNmZiNmJhMDRlYjk1NzRhZDc3ZmQwODhmNzJkMyBpby1jCis2OTY0MiAyYzRhMzMxY2QzMmE4ZDc3YjNkNmEyYzY0MmYxNGMxNGRiMzBkMDQ5IGlvLWMKKzY5NjQzIDk0ODc5NGFjNWE1MmJlMjcwZmNhZDQ4YWQ0YmJlYjA2OGQyNDJiMmQgcHkzaworNjk2NDQgOGM2ZDY4OGU0ZjE2MTA5YmM1Y2JhNjk5N2M1MDk5OTAwMTUyNjEzNiBpby1jCis2OTY0NSA5NWQ3NzVkOWFiNDdjNzdlZGRiOGIxMDkxMzliNzU2ZTQxMWFiMTc3IGlvLWMKKzY5NjQ2IDRmZTI4ODVkMDY1NDkzYjUxYzUwZWI1ZWUwNWIwM2RkMTc2MTdjZDUgaW8tYworNjk2NDcgNDBjOTU0MWU2MWZjODk2NWZmMTkwMmZjYmNmYzE3ODg4ZGIzZDYyZCBpby1jCis2OTY0OCA5OGRkMjA1N2UwODhiYjRmMjIwZWI0Y2RkZTM1OGNkMDJhMTBjYzlkIGlvLWMKKzY5NjQ5IDkxYTNjY2U2OGU5YjQ2MTBlZWMwOWI1N2ZjZGEwYmQ2MmI0ZmQ2ZTIgaW8tYworNjk2NTAgZDljMWQ5YjEzMzc0ODMwZGE5YjE3OTE4MWI2MGRkYWUwM2I4MTMwMyBpby1jCis2OTY1MSBkYjNjYWUxMjhkOTFlYWU1ZTRmMThjMWNlYjFhM2ZiNWE1NmFlZTNlIGlvLWMKKzY5NjUyIDE5MjAxNDg3NzlkNDQ2YmI4ZTk2YWM0ODk2MjczZmVhYjgzYzI2ZTAgaW8tYworNjk2NTMgOWY1MzlkOGNkOTA0MmEzYzM5OTk2YWNhNTNhMGI3MzZkYTk5ZWYwNCBpby1jCis2OTY1NCAyOGNhMWRmNTQ1ZTIzNjY3M2U1ZmE1NjM3ZTZhMzc1ZmNjZTFlYTNiIGlvLWMKKzY5NjU2IDI0MDZjN2RkOTg4NDEwODY1ODJkOTRiMTk2NWM2YzBiMWUwMDUxYjQgaW8tYworNjk2NTcgYTI2ZGIzMTQ0YWU3MTMwNDUyMzgxODQ0MzNhNmVkZDViZjM5YzQ4ZCBpby1jCis2OTY1OCA0YjEyMWJiY2M5MmFmYTAxOGVkMDg0ZGU3YWIxNGQyMWI5YWUxMWRjIGlvLWMKKzY5NjU5IGYzYWY0OTkyYjgwYjgzZDlhMGQ5NGYxZGM2M2U0NGI1ZGUxNzIwYzUgaW8tYworNjk2NjAgNmRhMzBlM2FiYzBkZDAwZDljZWFkOTIzNmMxNWVlZmE5ZWYzYjllZiBpby1jCis2OTY2MSAyYzcxOTAyYjM3NzQ3ZDY5NzU4MzBkOTNkZWNiY2NjMzZmZjM3OGMwIGlvLWMKKzY5NjYyIGY0YzQ5Y2Y2MDFhMmNkYzZlMTQzY2Q1MGU3MGYzNDE5Y2Q4YTJiM2YgcHkzaworNjk2NjQgYTQ1MGM4NmZjMmJjMDQ2ODU1Yjg2MmE4OWQ0NjUxY2UzNmY2OTAyNyBweTNrCis2OTY2NSBjNTcyNTRhOWMxYTMyMzAyMzUxYzU0MTRkOTBlOWRjYzA5N2I1NmFmIHJlbGVhc2UzMC1tYWludAorNjk2NjYgMDc2YzQ3OTEzMTM0OWQ0NzVhZDdmOTU0ZmUwNTFjYjVjYWQzYzE3OCBsZWdhY3ktdHJ1bmsKKzY5NjY3IDk4NTc1ZjlhNGVkMzg1ODIwNmY4NjFhN2FkNWMwNDk0MDI5NjA0OWIgcHkzaworNjk2NjggYTVjNjIxNWE0NWFmMDllMTc4ODI2ZjE5Y2ExYmE1ZjM0NzMwMmU1ZiByZWxlYXNlMjYtbWFpbnQKKzY5NjY5IDBlNTVhY2QxYTQyNjY5ZDJkYWEyMGZjYjZjYjc0YjgzMGRmOTA5MDggcmVsZWFzZTMwLW1haW50Cis2OTY3MSBlODczZjgwODQ2NGEzMzYzNzY5YzcxM2E1ZjYwMGZkOTBhNjg2OTkyIGlvLWMKKzY5NjcyIDZhMTE4Y2M0ZjNiNzhlMTk5MzA1OGE2NjFiMTYyNGY1MDY0MjIwYjYgbGVnYWN5LXRydW5rCis2OTY3NCA1MWRiMTgwODRlY2JhYWQ1MDg0N2E2OWI2YjdiZWY4YzNhNTU5Njk5IHB5M2sKKzY5Njc1IGIzOWQ1NDA1OGEyYmJmNzk1MTdiOTg2NDBjNGNmYWYzZmFmNDQ2NTIgcHkzaworNjk2NzYgNjI3ZGI1OTAzMWJlYjAxMjYyZTcxMjViOTY2ZWZkNzlmYTgyMjhhNiBweTNrCis2OTY3NyA0ZDYxZmJiYjQ1ZDc0MTc0YWU2YjRlMWNkZGEyMDBiZmY5ZjAwOGQ5IGlvLWMKKzY5NjgyIGRmN2M2YmQxYjYwOTJiODU2NmIxZWMxZDExMDAzYjFmZWY4OTNiMjQgcHkzaworNjk2ODMgNWRjYWEyZTFiYzg2OWE2ZDY3OGI2ZTgyM2NlYzg2YjczNTllNGQ5ZSByZWxlYXNlMzAtbWFpbnQKKzY5Njg1IDBlYmJjZjU5ODhkYmMxODNlYmVhN2MwY2QzMjNkYjM3NDYxYTNlYjkgbGVnYWN5LXRydW5rCis2OTY4NiAwMDNlMDA3OTdlOTEwMGIxNTBkYWE2MDg0ZDRiZDI2MzQ0YzBjOTRmIHB5M2sKKzY5Njg3IDg2YjYwZDA1MDYyYmE4ZGJlMzA0MWRkMDc3MTlmZWU2OGUzMWFiZDIgcHkzaworNjk2ODggMjdkNDNkNjZiZDA5Y2VlYzFlY2JiMzFjNTY2NDhlYmVhNGVhMTZlZiBsZWdhY3ktdHJ1bmsKKzY5Njg5IDE1NDk0OGUyZmQxYzU3ZjE5NDI2NzVmNGEyYmI5ZWFjMmY5NGVlYmUgbGVnYWN5LXRydW5rCis2OTY5MCAwOTIzNTg4OWM1NGQxNGU2YTY2OGM2OWE3ZTY1NWZiMTE0NGNmOTQzIGxlZ2FjeS10cnVuaworNjk2OTEgZjMwODk1M2M3MDFmYzRmNjE4OTljZmVlOTg1MjdkYWRjZDBlMTg2YSBweTNrCis2OTY5MiA5ODJmOWUyOTI1YTQ1YzU0MDY0OGRkMWI4OWI1ZWI5MjQ2ODk5NGRiIGxlZ2FjeS10cnVuaworNjk2OTMgYWI0ZGEyZWRiMjg4ZGVhNTgwZGJlNzk5YzEzYTI4YWQ5ZmQ2YjljZSBsZWdhY3ktdHJ1bmsKKzY5Njk0IGU3OGJhODgwMGUyY2UwMWVhYzQwODRlOWFlZDQ2NTQ1ZjFhMjlmYzggcmVsZWFzZTI2LW1haW50Cis2OTY5NSA1MjI3ZjhjNDE4M2VmNTFlYjRmYzRkNTRkMWEwMTYxZjRhMTI5OGQwIHJlbGVhc2UyNi1tYWludAorNjk2OTYgNTRjZjY4ZmM3MzEyN2VlMTM3ZjAxYmRmMjE5YmNjNDAzM2YyNWFiOSBweTNrCis2OTY5NyAyOWIxNDliYzMxMzAxNjI5ZTg2OTE2YWE5NjcwMjc5NWNmMmYxYWIyIHB5M2sKKzY5Njk4IDI3MzI2ODUyMmU1ZWU5Mjg3MDgxNTliNjExMDM0MDUwOGM5ZWUxZDIgcmVsZWFzZTMwLW1haW50Cis2OTY5OSAwYzg3NDc5OWExOTBkNTA0ZDFkMDMzZmM2ODk2MmJkNDcxNmJmY2UzIHJlbGVhc2UzMC1tYWludAorNjk3MDAgNzEwMTc3MmVhZTgwNWZlZjkxMTIwOWNiN2UyOTAwMDQ1Yzc0YTRhNCBsZWdhY3ktdHJ1bmsKKzY5NzAxIGY1MDVlYmE3MjZjODY1M2M3Zjc1NDc2ZGM3NzZhYjVjMTlhZjk3ZmEgcmVsZWFzZTI2LW1haW50Cis2OTcwMiBkYmEyZmFmMDk5MDY0OTU1ZGQ3ZTVhOGVhYzNmOTYxN2M2ZTdiOTM4IHB5M2sKKzY5NzAzIDAxZDNiNjg2MzM4N2RiYjU5NmVhZjBmYWU0ZmE1NDdmODU3MWNiOWIgbGVnYWN5LXRydW5rCis2OTcwNCAwN2ZhZDMwMTAyNWYwMTllZTMyNjE3NDVkZmNiZDU2OTA4N2NlZWYzIGxlZ2FjeS10cnVuaworNjk3MDYgZGQyMjEwYjJkYzIyY2JlZDRhMDMyZjBlZWI0Y2U1ZjI4MmI2YjZlMSBweTNrCis2OTcwNyAxNDdmY2ViYWNiNWJiMGQxODkwYjYxOWZkYTFlZjdlM2E3ZTFjMzA5IHB5M2sKKzY5NzA4IDE5ZTc2ODVkOWI5NDZmMjU4NDdiMDhhOGNhOTE0N2FhNmIyOGMwYzkgcHkzaworNjk3MDkgNDRmZDJjYzllOWNjNzQ2NzliMmM2NWIzMTQyNjQzMjg0ZmY2NjU1NCBsZWdhY3ktdHJ1bmsKKzY5NzEwIDI3MjY4ZWYwNDcwOGQ4ZTNjMzBhNGQ2NmZjNzFhNjFlNWJmMDI0ZTUgbGVnYWN5LXRydW5rCis2OTcxMSBkNzcyNjc4MjUzNmQ5NTAxNmE2YTc1YjZlMTViODAwNGMwYzNmOGY4IHJlbGVhc2UyNi1tYWludAorNjk3MTIgMjU3Yzk4ZmE1NWQ3NmNlYTliYWFiMzE0OGIxOTU2ZGJjMjRkMmY4OCBweTNrCis2OTcxMyBlNTQ4ZGYzNjE4OGVmNzM1Mjg0OGMxZGNjYWY4YWYyNjQzYjg2ZmM3IHJlbGVhc2UzMC1tYWludAorNjk3MTQgMGM2YzA1NzJjMjQ3M2MwZDI2N2NmYjNkNDliZjU2ZGMwNWE4NTNiZiBsZWdhY3ktdHJ1bmsKKzY5NzE1IGQ5ODJiOTViZTNlMjE4MGQ1NTVmYThmOWJmYmJmNmExNmFmOTA4YmYgbGVnYWN5LXRydW5rCis2OTcxNiA3OThhMTZhYmY1NDYwODg2MTBmZTUwYjlkNGQzMGEyMWU5MDNhZGRjIGxlZ2FjeS10cnVuaworNjk3MTcgZDY3NDBhOTZhNzBhZGFjMTZhNzYzZTA3YTY3NTZiNGU4OWI2ZWRhOCBsZWdhY3ktdHJ1bmsKKzY5NzE4IDlhZDY2MmE0M2ViMzUwZTQ3YTdjYTZlZmE2NzVhYjc5MDA3ZGU5MzcgbGVnYWN5LXRydW5rCis2OTcyMSA4NTQwN2QwNDc3ODIwOTgyNjMwNWFkZjUyNjZlOWQ4NjJkOWRiZjNiIHJlbGVhc2UyNi1tYWludAorNjk3MjIgMDllNjMyMTRmMGJmODY1MDZmOWNiZjUyN2NiNjM2NDg2MDA4YTQxYSBweTNrCis2OTcyMyBmYjg2MDZlMDg2ZWE4NDQ1ZjY5ZmQ2NjIwN2Q4M2RlOGJhOTY4MGIxIHB5M2sKKzY5NzI0IDkyZTQyYjFiMGE2ZWVjMGYxMTc3Njg5YjNjMDE2YWUwOGJkMDNkMGEgbGVnYWN5LXRydW5rCis2OTcyNSBkNzg2MGJiMGIxNWEwYmZkMTM1MmFiNjZjOWVhM2Q4ZWMyMDllYmZkIHJlbGVhc2UyNi1tYWludAorNjk3MjYgNjA1ZmZjMDUyYjQxOTVlMzM0MDE5YzYwZmE1ZDU4NWFlMjMwNDI5MSBweTNrCis2OTcyNyAyMDVhMmI0YzFmYTU0NjU1ODQ0MWExODM4MzcwMDhkZTc3NGEyYmNkIHJlbGVhc2UzMC1tYWludAorNjk3MjggMWZmNGI0MWE1N2MxMjZkMGY5NDY2YzAwNDQzYWM0OGUyYzliNjVlYiBsZWdhY3ktdHJ1bmsKKzY5NzI5IGU3ZTU0NGNkMmMyYjk0NjJhOTI0ZDFhYTIxZDhlN2Q0OGRjZjM3YmIgbGVnYWN5LXRydW5rCis2OTczMCA2ZWE3ZDM3MTRiZGY3OGYyODQ1NDM5ZDVmZDVkYWU1Mjk3NDMyOGUzIGxlZ2FjeS10cnVuaworNjk3MzEgNTUxOWI5ZGNjOWI2YjY0NDdhZjAyMDNkYWYwMjNmNDk2ZDAwYzgzYSBsZWdhY3ktdHJ1bmsKKzY5NzM0IDM5ZjA5YzllZDVhNWIzZWQ2YzNmMTE5NTUzZjg5OGIyNzNhY2I2ZGYgcmVsZWFzZTI2LW1haW50Cis2OTczNiAyODc4YmY4MTVkYTFlOGJhYzhiY2Q3NDc0ZTUzODQ1YzU1Njk3NjNkIHB5M2sKKzY5NzM3IGNiMGFkZTMzNTU1MTU2MGMxNTY4OWUyODAyOGM4ODExY2QxNTAzOWUgcmVsZWFzZTMwLW1haW50Cis2OTczOSA3MmQxM2VjZjRmY2E3NWZiMjU2YWI3MjNkMjNkMjY0NzBmOTMzOTU4IGxlZ2FjeS10cnVuaworNjk3NDAgNzZkNzdhZTk3YjM4ZmY2MDczZWVjZWVhYWRkYTNlYzlhYjYzZWJiNCBweTNrCis2OTc0MSA3NTU5YTAzY2JkMzBhYjc1MWI3NGZkYzdlZDQ5ODhmZjc1MTE5NmU5IHJlbGVhc2UyNi1tYWludAorNjk3NDMgOWJmZjEzMGQ3OTJkZWE0NzFmMmVhOWNmMWU2MGFkNzI5ZWMxZTM5NSBsZWdhY3ktdHJ1bmsKKzY5NzQ0IGVlNzAxMTg2Mzk0MzI2N2RmYzUwZWQ1NTVhZjZiZjJlZjBiNGE5YzQgcmVsZWFzZTI2LW1haW50Cis2OTc0NSA4YTI5MjU0M2U4NzE5OTc0MTA2YjQxYjc5MDcyNDVhNmZmYWE3NTYwIHB5M2sKKzY5NzQ2IGIyZmYyMWJiYjljNTQwNDQ3NjZiM2Y4YzM4NGY4NGYyZjBkOTE4YzcgcmVsZWFzZTI2LW1haW50Cis2OTc0NyA3YzdiODA1ZDBkMGE4ZGFmN2ZmNGY2NThkZTBjN2EyMTVmOWZkYWJiIHB5M2sKKzY5NzQ4IDc0OGRmZTliYjg1N2ZjMWVmYTcwMjE1YTA4NTk0MzI4N2UyYjY1YzAgbGVnYWN5LXRydW5rCis2OTc0OSA4NWZlODg3NjE0Y2U0NDIwZTkwMWNmMTE2ZjY4OWQ4MTYzMTZjYzMyIHB5M2sKKzY5NzUwIGUyNjBkNmRhZjc4NDhkODQwMGQ3ZDM5NWVkNmYwNTE5MTUwZjE3ZTQgcHkzaworNjk3NTEgZDI1ZmMwMjA5Mjk1NTAzNmE3MDM2ZmIxNTdjOWVjOGM2MTk2ZTU5NiBsZWdhY3ktdHJ1bmsKKzY5NzUyIDNkYmRiYzVlNmQ4NWFkNWVhMTNhNTEwNGVlNWFhMmFjYTA0NDdiYjMgcHkzaworNjk3NTMgMDNmMDdkOGYwNmU0NmMwM2FiZjJkYjk4Y2Q4NzU4ZWIzNWNmZDA2ZSBweTNrCis2OTc1NCAzM2Q1ZDdkYWE4Yzc0NjlmMTNjYzkyZWUwZmRjNWQyN2M4Njg5NGE2IHB5M2sKKzY5NzU1IDQ5N2VhYjc5YjFiZThlOTE3MjVhM2UzMWNkNDdhNTkwMTg0ZjRiOWMgcHkzaworNjk3NTYgYTk3NzRiNjFlNTJkM2Q4ZDZhYzUzOTIxODU1ZTcxN2QxYTk0MDViZCByZWxlYXNlMzAtbWFpbnQKKzY5NzU3IDMwMjI2M2UzYzhmMWQyYzU1YzdkMWEyMWU0YzY4YWZlNDlkNTczMTIgbGVnYWN5LXRydW5rCis2OTc1OCBkNDdjMjU4YTFlMWNlZmJlYjVkNWMzOTlmZDk2ODY3YmQyYTdlNGNlIHJlbGVhc2UyNi1tYWludAorNjk3NTkgYWI0MGM3NjEzOWFiNGQ3N2M5MjBlZjk5ZTUxNmIwZTdiZTY3ZTBkMCBweTNrCis2OTc2MCAyZjUyNTc0OTRhMmUwZmViMjZhMjI0MmE1YjU3MWUzM2FmOGE5ZGMxIHJlbGVhc2UzMC1tYWludAorNjk3NjEgNTU5ZTRmYzMxYzhhNzNiNWY2NGYzMmQwODNmNWNkZjlhOWEzNWU1MCBsZWdhY3ktdHJ1bmsKKzY5NzYyIGVhNDdjZWY2NzgzN2IwZWVkNWM1OWI0NzliM2Q5NmE5YzYwMWM5ZmIgcmVsZWFzZTI2LW1haW50Cis2OTc2MyA5MDAxZDljOGY3MWUwNTE3YTNlZTNjMzIxMTIzNGVkOGZkOTdhMzkzIHB5M2sKKzY5NzY0IGQ2NzNkYTkxNTkxNGQ3YzU5MTM0NGM5MzM4YWQ5YmJkZDQ3MmEyMmYgcmVsZWFzZTMwLW1haW50Cis2OTc2NSA5ODAwYWIyMzZjMDlkNDU1Y2Q2MmFjYjcxYTAzODIwNGUzYWRkN2U1IGxlZ2FjeS10cnVuaworNjk3NjYgZjBlYWM0NTJhNmNhZmQxOGZhMDg5MTJiMjdjODFmMmQ1ODY1MzliNCByZWxlYXNlMjYtbWFpbnQKKzY5NzY3IGJkNDY3MTc5MmQ1MDE2ZTVlODE0NzY4YWZiNTczNTZhNmRmNzA0MzYgcmVsZWFzZTMwLW1haW50Cis2OTc2OCA0MzQyYzBhMmYyZGM5Y2FkNDQ4YjE2ZDVkOTI4NWZhYjBlMTczMjIyIHB5M2sKKzY5NzY5IDg0NjhiNTJmNWVlMmMzNzdjZGJlMjczMTViMWYwOTUxMWI2YWE3NTYgbGVnYWN5LXRydW5rCis2OTc3MCAwMGY3YmUwMmFlMWYxYzJkMDA5M2JkM2NmMzNjYmIwZTQ5YjU0M2Y1IGxlZ2FjeS10cnVuaworNjk3NzEgNzhlMzExZjI3N2E3MDI3ZTFkYjUwMmY5MjE2NmY0ZjVkNGFlMjEyMiBweTNrCis2OTc3MiA4YzEzZjQzMGUxNjA2YTA4NTRlNmMzZWY0YTFjNWQwMzBiZGNhYjU0IGxlZ2FjeS10cnVuaworNjk3NzMgODMzZGRmZWMwYmM0NTZiZTA0ODhhNWU5ZmMxYzY4MDU1ODZhMGY5NSBweTNrCis2OTc3NiBjMDJjMmE5MDhjYjA5OGYxZjhmZGQzZmM4MDMzZjViODBhNzIxZmJlIGxlZ2FjeS10cnVuaworNjk3NzcgNDM4NTkyODkwZTJiN2VmNTkyOWEwMWVlYTA5MGQ5MWVjM2VjYzQ2ZCBsZWdhY3ktdHJ1bmsKKzY5NzkzIDI3OTMzNzUzYTM4N2Y5MWE4MmM5NGVjZmZiMzQ4NWE5MTI5ZTQ4ZmMgcHkzaworNjk3OTQgNjdlZWQ4MWJhNzRmYTZhMzBhODA2ZTQ0NTZkN2Y3NWIyYzBmZWY2ZSBweTNrCis2OTc5NSA5ODE1ZGE0M2ExY2VmYTQ2ZDBhMWQ4MTE3MDk3YmI4Mzk4OTY2ZmFmIGxlZ2FjeS10cnVuaworNjk3OTYgYzFiZjAzN2ZlZWZlMDZiMWVjZTkwMDk4MTFjNWM0MDVjOWEyYzMxZSByZWxlYXNlMzAtbWFpbnQKKzY5Nzk3IDYyNGI1NWQwZDZiNzJkYjExM2Y0MDUwNmM3NjI3ZDIzNWRkMDY3YTIgcHkzaworNjk3OTggMmYzYWZhY2Y5ZjBiNzJjY2Q2MDg3YjgyODk4YjFmNWU3YTQyODkyYSBweTNrCis2OTc5OSAxNDA4ZmVlYzAwODQ5YWVlMDU4NmY5YWZkMmIxMGRkMjkxNjY0MTY0IHJlbGVhc2UzMC1tYWludAorNjk4MDAgZGI4ZGIzMWZkYjRjNDdjMDFmZTBmNGRkNzViNmEwOTRhZGZmMzhjNSBweTNrCis2OTgwMSAwYjk4ZTM3OTFiOWVjODcyMGNhNzgyYmQ1YWNjNDU1MDUwYzUyMTZkIHJlbGVhc2UzMC1tYWludAorNjk4MDMgNWExNzg4OGM1MTUxM2U5NWRhODExNmEwN2UyY2ZiZDcxZDcwYjdkMSBsZWdhY3ktdHJ1bmsKKzY5ODA0IGVmMTljYTAxM2UxNmVlMTUxZDgzOWE5MmY0YjgzMWYxMjlmNDU3NzQgbGVnYWN5LXRydW5rCis2OTgwNSAwODI0MDkzMTRiMDA3YTg4YjNlMDdhNmRkMTc2NDkyYjhlYzNmNDc0IGxlZ2FjeS10cnVuaworNjk4MDYgNjVhM2Y1NTVmYWI3M2RhNGU3NGViNDViZjYxMmIwYTdjNjQ1YmUyNSBsZWdhY3ktdHJ1bmsKKzY5ODA3IDE2NGJhN2ZmYTBlZWU1NDRiNGMzZTEzNDc2OGJjMjgxMDFjODZmYzMgcmVsZWFzZTI2LW1haW50Cis2OTgwOCA5MjUwYzhjNjFhOTEwOTVhOTVlZjU2ZDNjYzIxNjhmNWRlNmU0YTlkIHB5M2sKKzY5ODA5IDRkM2JhYWMyZTFhMjBkYjUyYjE3NzliYTVmMWNmMzhkNTYwOGFjNmQgcmVsZWFzZTMwLW1haW50Cis2OTgxMSAwODQ4ZWJiOGY5Yzg4YzkyNzBkZTY3MmZhMTU2YTQ2YjRlNmNkZGQ4IGxlZ2FjeS10cnVuaworNjk4MTIgYzZlZDViZmUzOTY5YTM4YjRjMDdmNzE4M2NhZjMwYWJkZmY3ZmI1NiBpby1jCis2OTgxMyBlMDhlNDA5OGE0ZTc5YjQxN2M1NWVlM2QxMzczY2RjYmJiNzUxMzUxIGlvLWMKKzY5ODE0IDQwODJlZGE4YjQ2NjNiMTQ1MTZjZTY5NjBjMDUyMzkyYzZhOTc5ZTcgaW8tYworNjk4MTUgN2Y4M2FmZjY4YzE2NmNkODRlMzJlZWMxNmY2MmRlOTViN2JlNTE3NyBpby1jCis2OTgxNiAxYWFjNzUyMDQzN2E2ZmQ0YTc1NzQ5OTA3ZTY3Zjc3ZjZiNjI5OTE2IGxlZ2FjeS10cnVuaworNjk4MTcgYzA1YzMwZmMxMThiZTEwMDllZWZhYmJmNDQ1NDI3ODQ2NmIyYTYyYSBpby1jCis2OTgxOCA2Y2U5NmNlNGQ5YWZlNDE1NmQ2MTAyMDQxODNkMjE4M2QyYmZkNmQ2IHJlbGVhc2UyNi1tYWludAorNjk4MTkgNWY1OTVhYzhhZWZjMzk2MmY5ZWMwMjVmMzA0ZTkwOGRiM2I3MTI4ZSBweTNrCis2OTgyMCBlMDgxNWZlZTI0ZjZlMzgwYjI2MjNlZjY1MWYxZDQ3NWZhYTc4ZTIwIHJlbGVhc2UzMC1tYWludAorNjk4MjEgNjdiY2ZmMjkzYTIxYWQ1ZmViNTc1MWMzODdhMDc4NTc0NDJhOWRmZSBweTNrCis2OTgyMiAzN2U0ZGY5ZmRhYTZkNDAwMDU3YmVlZmUwMmFhMzBiYjNmMjgwZWE0IHJlbGVhc2UzMC1tYWludAorNjk4MjcgYWRiMTEzM2Q4OTJhYjZmYzJmNDJjN2M5ZjZjMDk4ZmE0N2VhNjRjZCBpby1jCis2OTgyOCBjNjE4MmNjN2U2ZDcwZTAzMzFjNDExMTVhMmIwMWYzY2VkY2I1NGNmIGlvLWMKKzY5ODI5IDcwMmMzYjk4MDNlOGM3NTNkNzFmYjcyYzcwYzgwNDkyMTllMDBjNGIgaW8tYworNjk4MzAgNmZkODkwYjIwZDYzZmM3YWQ4YjBkNWM5MDM3MTVlZmMzNGM1OTcwYSBpby1jCis2OTgzMSBkY2MxNjFlMWFmN2VjZTI3YWQ1MzNjYzRjZWY2MmY5NGU5NmQyNDBmIHB5M2sKKzY5ODMyIDQxZTM4YTYxYmM0YjQ5MTY3ZjJkNTliZjFhNTY3ZWFkOGRmYjYwMDQgcHkzaworNjk4MzMgYTFmYWZmNzRmZjg5ZTJkYWFjMDQ4ODkwMTU0ZjE4ZGJiYWFlYzk4OSBweTNrCis2OTgzNCA3MTQ5YjdlZWYxNTNkN2IzN2UyZTQ1YWQ1MzAxMTAyZTUyZTBmMjE2IHB5M2sKKzY5ODM1IDc0YTJmZjQwNTE4YWU2NjUzYjE4ODZjYjczYTQ3MTlhYWRiNjE3NzkgcHkzaworNjk4MzYgZWU3MDI5NzEwYzA1MGRiMjI2ZDNiZjg0NDIwYTljMzljOTY5MzRkNiBweTNrCis2OTgzNyAzZTI3ZDYwNmQ2MjVmOGU5MTdmYzVlMWY1NjU5YjBiZGVjZTdlZTdiIGxlZ2FjeS10cnVuaworNjk4MzggMzI2ZjZmYWNjMWFhNGY0MzZiNzNkOGNjMGQzMWJjNjg4MGRhMjE4MCBsZWdhY3ktdHJ1bmsKKzY5ODM5IGE1YmE5YzE3ZjhiOWQ1MGUwOWMwZjE0YWQwNjYwYWRmYzRhNWY2ZTEgaW8tYworNjk4NDAgOWU2ZmJhNWFjY2U0NmJmODQ3MTFiZmRmYWVmYmI3N2ExYTVkNGU0MyBsZWdhY3ktdHJ1bmsKKzY5ODQxIGMyNzJlMzE1ZGQ4NzIwNmE5ZDk3NmMxMDRiZjE2MWQ3NmMxN2YyMmMgaW8tYworNjk4NDIgOTU1NzZiZjNhZDczNTg5NjkzODQ5OWE1ZjZhYTA2YjJjNjA2MDQwNyBpby1jCis2OTg0MyAzNzZkODA4ZTFjMDVmYWFhZDllNTAwMmVlNWFmMDI5ZTQzZmJhOTVjIGlvLWMKKzY5ODQ0IDUxNDQ1YjA0MDk4NjE3NjI2NGQ1MGZmYjY3ODJmZjdhZTM0MzA0MGEgaW8tYworNjk4NDUgM2YwMjNmYjgzZjJiOWI5YTFiNGE4NDg5ZTVkNmNlMDcwNGUxZTQyMCBpby1jCis2OTg0NiBhZjliNmM0MzgwNGUxZTljNDkzMzJjYTY2MzQzNjNkMDhhZTJmMmFjIGxlZ2FjeS10cnVuaworNjk4NDcgZDA2YTNlYmYzMDZmYTk0NWU0M2Y1OWRmMDYzNzA1YTNmNGMzZGNjZCBweTNrCis2OTg0OCA2YmE1NTg4ZWY2NDU4N2YyMmE0ZTQxYzhlNjNkOGMxOTBiMDQ4NmFkIGlvLWMKKzY5ODQ5IGVjNDkwOTMyZDkxY2I1MmRiMTJjZTM2MzNkNzM0NzE4OTg3MzIxMjYgcHkzaworNjk4NTAgYzI5NTJjMmI1YTRhZTY4ZTczMzI3OWM2YWZiODRmYzQyY2FlOTc5NCBpby1jCis2OTg1MSBhYTI5ZDA5NjcxMDU4OWU2NzZlYTgyMWUxMGNhYmYyZDZkNzk3NjA5IHB5M2sKKzY5ODUyIDk5ODhlOWYwMDQwOGY2NTkyMjc5YWU2ZDY3NDIxODgzMWM0MjhiZDkgaW8tYworNjk4NTMgOGE4MjVhMTdjYjI3MzU4MmJmZmY5NGMwNWNkYzVlZTkzODg3ZGU2MCBweTNrCis2OTg1NCA3YWU4YTg3Mjg0MjFmZTVmMzI0ODBjMTFlODRjY2VjOGI2MDUxODc5IGlvLWMKKzY5ODU1IDk2YWJiNDM5ZTJkMDdkMGNiYWE4N2FkN2I1YjZiMTVhY2MwMzdjNjcgbGVnYWN5LXRydW5rCis2OTg1NiA2YTViZWUxODkzYWQ4MzZjMTEyMDQwOGEyOWVhNWU3NDFiMDJkZDkxIHB5M2sKKzY5ODU3IDkxODI2NGZmMDJlMWMwOWVhYzQ5NDQ3YzM0Yzc1ZWZhMWRmNjJiNGMgcHkzaworNjk4NTggNWJlMjRhNTZmMDkxOGFkZGM2ZmU1MjIyMjg1ODI5ZmVmNzI4OTMzMiBweTNrCis2OTg1OSA3NjU3MTk4NmEyZjQyMDgyNjYzNzZiZjBlYjI0YTI5MWNhZmVjMDQ1IHJlbGVhc2UzMC1tYWludAorNjk4NjAgOGU3YTRhNzc0MTM4NDI2ZGQ3ZDA0ZDMyZDg3YTE1MWJhZGYyODZhNSBpby1jCis2OTg2MSBlY2Q4ZWY0ZTc5ZTZiNzFiMTFiY2IyMzRhM2EzNjZlY2U3Y2FkNjBiIGxlZ2FjeS10cnVuaworNjk4NjIgYzMzMDRhNGI2NGVhMWE3ZTU1OGMyMmVkMzFkY2VmZTVjNWVjOTM3OSByZWxlYXNlMjYtbWFpbnQKKzY5ODYzIDg0NjBlNWVlMDZjMzkxNWRlNzgyNTgxMjMxYWZlNzY1MzQ1ODFjN2IgcHkzaworNjk4NjQgM2NhMWZiNjIyZjVhNGI4YTc1N2YwODkxNTNjMDk4ZDE5NGE2NDY0MyByZWxlYXNlMzAtbWFpbnQKKzY5ODY1IDAwMmRhY2E2NmY5ZjZiZGZiOWQxOTcyZmNhN2VkOThjNGJjN2NkNmYgaW8tYworNjk4NjYgZWQ1Y2Q5MDRmMjAwN2M1Y2VlNTY5OTM2NjQzNWIxNWI1MjEzNWVmMSBpby1jCis2OTg2OCA1ZmZkOTMyODBhNzFiNDA3YWM4NTQ5ZTE3Mzc3NzQ0ZjFkMmQ0MWNjIGlvLWMKKzY5ODY5IGEwZWRhMWUyMjhiOGY4ZjM1NGE0MGRmZjc3NzgyMjUxOTc3NGE1Y2EgcHkzaworNjk4NzAgMGFiOGJlZjY3MWEzZGY1OThhMDA4OTU4NGNlY2ExMTQ4Y2U3ODhhYiBsZWdhY3ktdHJ1bmsKKzY5ODcxIGMyMDFjOGNmM2NiNDBjMjY2YjhjZDY2NGI0NzE1YmE0ZjhmMGJiYWMgbGVnYWN5LXRydW5rCis2OTg3MiA1YjVkY2NjNTBlMTJjNDY0YjE5MDRjMjk0NDM2ZWQ5ZDA0NDBlODFmIGlvLWMKKzY5ODczIDQ5OTE0YjNlM2FhODEwMGY1MTA1YTc1NjAwNDIxZmM0ZDFjYmE2ZTYgaW8tYworNjk4NzQgYjM1MTVlZDI4MTM1MDQxNjBjNmE3MzNkMDU4NjEwODUxNDhhN2M5NiBsZWdhY3ktdHJ1bmsKKzY5ODc1IGQzNjI5NjY3Mzk3NGEwMjJkYTc5NjE3NzM3Mjk4NmEyMjQ2NGQxODYgcmVsZWFzZTI2LW1haW50Cis2OTg3NiBlODljN2VkMWNmZmY0ODBmZTVkNDM0MTIxZDlkNTNkZWM3ZDY2MDQ3IHB5M2sKKzY5ODc3IGFhMzAyMTY5OWM1OWFiODBhOWE5ZGNkMDU3MjY1OTBjOGJjMDY3YmQgcmVsZWFzZTMwLW1haW50Cis2OTg3OCBjZDJlZTgxOTA5NTdjOTQ3MDBmOTM1N2ZlOGFlYjllNjVhYmExNjFkIGxlZ2FjeS10cnVuaworNjk4NzkgMzM5ZjVjMWVmMGVkZjQzMzJhYWQ5ZGIxMWJlZmY2MzU4NDNmZjc4MSByZWxlYXNlMjYtbWFpbnQKKzY5ODgwIDBhNWMyNmQwYmU1NDBkY2MwMmQzOTZlODc0NTE4Y2MzYmExMTg1ODcgcHkzaworNjk4ODEgNjIwZTc0MmNkZjY4YTc0NWIwNjAxODc1YmVlYWY3ZjZlYjEyMDI5MSBsZWdhY3ktdHJ1bmsKKzY5ODgyIDBlZmZkYTU0ODE5ZTJjNDY3YmQ5YjI2YmNkNjkwYWExZGJkNWVjZTggcmVsZWFzZTI2LW1haW50Cis2OTg4MyBlNWU1Y2EwNDkxYjg0MDgyNWEwMmZkNmVmY2QzMDgwMzZiOWRiMzYwIHB5M2sKKzY5ODg0IDEzYTFjYmYxMWEyMWVhZDE3ZmYyNGVhOGIxZTZhMzQ5MDA5ZjU5YWEgcmVsZWFzZTMwLW1haW50Cis2OTg4NSBkMjJkNmU5Zjc5MWMyY2Y3MzY2ODdjNTA5YTM4YjEwNzkxYjVmNTc2IGlvLWMKKzY5ODg4IGNlMGE5NWFmNmIxZDQxYmJjMjkwN2QzYTQ4ZDE3OTEwNWY3MWJjMTUgaW8tYworNjk4ODkgMjcyYWM2NTRmZDFhZjIwMDc0ZThjN2U4MDc0ZTgwOWM2ODVlNDVhZiBsZWdhY3ktdHJ1bmsKKzY5ODkwIGZiN2JlNDVhOTQ0MThlZjYxY2E3MDM2OGRjNWQwOTc3YTJkNDRjZWMgcHkzaworNjk4OTEgM2RmOGJlMDM2MzI0M2UwYThlZWVlOGZkOWEwMWIzMGQ1NGM2OWI5OCBpby1jCis2OTg5MiA5ZjZjYjA0MzdiZTgyMzQzZWZjYmY5ODY4NWM0YTdhNWYzMzg5MjcyIGlvLWMKKzY5ODkzIDQ0NDk2Y2QwYmM3ODAzZTQ4NTE4YzM1NmM5OWFhMWU3OGQ1NWQ2MzUgaW8tYworNjk4OTQgZGIxNGVjYTAxNjM1MDZkY2ZhZmFiMzFiZGE4NzUyMDRkYmMwOWI2YyBweTNrCis2OTg5NSBiNjFmMzNhZjM3NGJjYTcyYjhiNGZlZWYwYzUxMTgxZTVkNWJkZjZiIHB5M2sKKzY5ODk2IDhhNGRjMDA4OGU4NjI2YjU2Y2RmOWZkNzVkYTAyM2E2ZWZjODQxNmMgbGVnYWN5LXRydW5rCis2OTg5NyAzMjE5YjM0YTMzMjA2MTI4OTRmYWE0YzlmMjk1YzE2NzcyNjc4NjUxIHB5M2sKKzY5ODk4IGEzNjY2ODhhOGYwZDNjOWUyZGU0NzE2YjAwODBmMzIyNDcxYjcyNmQgcmVsZWFzZTI2LW1haW50Cis2OTg5OSBjOGQwNmRmZDRjMzlmNWM5NmUwZGE3ODk5MTY4OTA5YmU2MjM4OTVjIHJlbGVhc2UzMC1tYWludAorNjk5MDAgNWJkYjljNjQyY2NjZDE2MmU4ZjM5NzFkZTQyZjg3YmE2ZmVjMTY0NiByZWxlYXNlMjYtbWFpbnQKKzY5OTAxIDNlNzczM2NmMjc5ZTM0ZGE1ZmFjOTMwYjRhOGMwMDFlMmE0MzRlZGQgbGVnYWN5LXRydW5rCis2OTkwMiAyYmYxMzM3YzNhNjA1ZGNhMDQwZjkxNmVlM2Y0M2U2NTg3MmUyZTE0IGxlZ2FjeS10cnVuaworNjk5MDMgMWYxZTIyZWY1NTYwOWFlMTU4Nzk5NzY1ODg2NjVmN2QyODAxOGIxMCByZWxlYXNlMjYtbWFpbnQKKzY5OTA0IDVjODU5YWVhNDZiOWM3ZGNhNTVkNDFjYTE0ZWUwMDE3NTdhNTg3MTkgcHkzaworNjk5MDUgMGE1OThkYmVkNjc5MjY2ZjYzZjE5NmQ5MzBiYjk5MWYzMGIxNjZmOSBsZWdhY3ktdHJ1bmsKKzY5OTA2IDAxNzRiOTM2NjljZDQ4ODllNTc3YzFjMGFmOGI5MjM0NjBkY2IwOTggcmVsZWFzZTI2LW1haW50Cis2OTkwNyAxNmNjYTMwY2YzZWI4M2IxZTI2MDVmMzI5NGQxNmYyZTc3MjYwMzhkIGxlZ2FjeS10cnVuaworNjk5MDggYTBmZWNiZTczNjE2ZjYyODNlM2RlMGY2OTk5MmJiNzhjM2NiNDNjNiBsZWdhY3ktdHJ1bmsKKzY5OTA5IDA1MDQwODdhMjcyMzZiMzc4NTAyMDkwMjU3YzY2M2E2ZDAyMmI3ODYgcHkzaworNjk5MTAgYzFmMDI2ZTA4NzVlMDQ5YjA4YzI3NWRlOTU1ZGY2NjZmNjdhOGVjYiByZWxlYXNlMzAtbWFpbnQKKzY5OTExIDlmZTUzMTU2NTQzY2Y1MmY4MmIxNmZkMzc5YTI3MDc1OTRmNWYzNzMgaW8tYworNjk5MTIgZjllYWQyZTFhMDNjZmQ4YzIzYzg4ZWFjNGNjNWU0MTNiYzU4NjQwMyByZWxlYXNlMjYtbWFpbnQKKzY5OTEzIGJjM2IwNzNhZDE0NmQ1OTE1OWNkNDc3MzRmNjQxYjY4ZjYyMzY5NTcgaW8tYworNjk5MTQgYTUyZTE0NTQ1NTYxNGU3ZmNiNjczMTgxODk2ODlmYTkzZWU0Y2ViZiBpby1jCis2OTkxNSA2NmNlODBlOGU1Mzc5OGU4MTk5NjYwMjYzYzljNmM0OGUwZjc4ZGNlIGlvLWMKKzY5OTE2IGVmM2E2YzE2ODM3NGM0OGRjMDEzYThjNDEwZGNmZmU0OGQ2M2ZhMTIgaW8tYworNjk5MTcgODM2NjRlN2Y3MDhhYjM5N2NkZGJiOTZkNzVmZWFlMWUwNmU5OTM2ZiByZWxlYXNlMzAtbWFpbnQKKzY5OTE4IDk0OTQxYjA1OTgwMGUzNDZiMTU3MWJjYzE0OWE0OGVjZWRkMTMxZGQgcmVsZWFzZTI2LW1haW50Cis2OTkyNCBmYTc0NzY2MGQ0ZDQxNjhjZDViMjNiYmM3MDk4YjA1M2VkYjViMThlIGxlZ2FjeS10cnVuaworNjk5MjYgMDRmM2NmMzJhYTc3ZjgzNjA5MDZlMTIxNTZkYjdmNGYwZDZkODE4MyBweTNrCis2OTkyNyA1Yzc0ZTQwZDE5MjZlNWE2ZTg0ODM3OTA4MzM5ZTkzYTgzNDBjNjgxIGxlZ2FjeS10cnVuaworNjk5MjkgYjFlNjBiNDdlMTYwMTdhNmExZmMyYjBmNzg2ZDEzNzA5NjkxZmViNiByZWxlYXNlMzAtbWFpbnQKKzY5OTMwIDU2MTc0NzEwMzdiYzdhZjVjY2JhNmI2OThiNmY3MDQ3MGJlY2M3MDQgcHkzaworNjk5MzEgODNmYTI3NDgzZmRjOTM5MWJjNDBjN2QzYzZmNWU2NDc5ZGYyNDFmYSByZWxlYXNlMzAtbWFpbnQKKzY5OTMyIDU5NTJkNDExODlhZDFhZjExMTEzZmM4ODAwYWU3NjJkOTI1NjIzYmMgcmVsZWFzZTI2LW1haW50Cis2OTkzMyA5MDQxMmRmZGFiYTMwNmEyNDk0ZGJhMDQ0YzYzZTFiZjc0ZmVkYTg0IHJlbGVhc2UzMC1tYWludAorNjk5MzQgMTJjNjllZjQzZGRlODMyYWMwZDdmMjJiYzMxMzY4ODc4ODgwYmFkYiBweTNrCis2OTkzNSBjMGI5YmMyNWNlYmJlMzk5N2FiM2I4NTQ1YzU5ZTAwMTEyOWUyNmZhIHB5M2sKKzY5OTM2IGJjNzBlYzk3ZTM5ZmFmNTc2NjlmZDAxY2Y3YzkzYzcxYjc1OGVhZjcgcmVsZWFzZTMwLW1haW50Cis2OTkzNyA5YzI1YTA3OTAwMjJjMDYxNzViYTZmNWJkYjgwN2VjYTQ2YmUyOWQ2IGxlZ2FjeS10cnVuaworNjk5MzggZmFmOTY4MjEyZjMxZDZhMDdhYmZmN2ZkNzRkM2U3MDBjYzMxNzk4MSByZWxlYXNlMjYtbWFpbnQKKzY5OTM5IDU3NGZlZjUzYTdlM2RlNDllMjkxODk1NzcxMjU4ZDE3MTA4ZWNhZGUgcmVsZWFzZTMwLW1haW50Cis2OTk0NiA0NWI0NGJkMzJmNDE2NWQxNjljMzFiZTk2MjZiYzY5YmE4YzRmNDczIGxlZ2FjeS10cnVuaworNjk5NDcgYThiYjgyZjVmZDY0N2FkNzBjM2IwMjg2NTBmOWI2Yzg4Yzg4ZTBhZCBsZWdhY3ktdHJ1bmsKKzY5OTQ4IDJmNmIzNGY2N2VmMDIwMTY1OWVmZGFkNTdmNzkxYmYxM2IzMDAyODAgcHkzaworNjk5NDkgMmUyNTc3MWQ3MjAyMTYxZjI1NDBmOTMxYmYwNTgxMDhmZTg1NjUyMSBweTNrCis2OTk1MSA2MGQwOWE3MTY1NTY4MGJkNzZjMjE1MWM4YWExYzM4MGM2NTBhMzI2IHB5M2sKKzY5OTUyIDFkMjQ3Mzk1MTFjOWM5MjlmZWZiY2YwMjZhOWJhYjg4Y2M2NTdhODIgbGVnYWN5LXRydW5rCis2OTk1MyBiOGM0YTM3OTNkMGY1MTJhN2YwZDlhMjhjYzAxMmZlY2JhZWRiOTE5IGxlZ2FjeS10cnVuaworNjk5NTQgYTdmZGY2OWNhZTEzNWMwYWM0OWNmYmNhMTA3MDA3ZGZjMGFkMTg1YiByZWxlYXNlMjYtbWFpbnQKKzY5OTU1IDQ2Y2JlNjdiOTY2MWY3MTE5ZGM2ODliMGI0YTMxYjI3ZDMwOWIxYWUgbGVnYWN5LXRydW5rCis2OTk1NiBkYzMxNWRmN2U4MDg2MzI3OTVjODE4MmVkYzQ5YjI4OWQ0ODAzMzE0IHJlbGVhc2UyNi1tYWludAorNjk5NTcgNjU3NjJhMDZiODhmM2NmMzAzMTM1OGFiMWUwM2Q2ZDEzY2M3OGI2MiBweTNrCis2OTk1OCAzMzdiZDUwOTQ1NWExOTcxODcwMzc1YTU5NWU1MDMyMTY0NWFiZjZkIHJlbGVhc2UzMC1tYWludAorNjk5NTkgMTc3YmExMjJiYjFiMDJjM2EzMzJiMzE1ZDliNTliZTU1NTYxZDc5ZSBsZWdhY3ktdHJ1bmsKKzY5OTYwIDI5YjEyYTg5YjJhMDZjODA1YjE1NzI1NTgwODA4Mzk3OGYxNDkwMDcgcmVsZWFzZTI2LW1haW50Cis2OTk2MSA2NDNkOGQ0ZmM4ZWJjYzY5MTU1ZDM0MTYzNTdhYWRjYTljMDUzMzg4IHB5M2sKKzY5OTYyIDA4YTI5NmE4OGMzZTBiMzRiMTYxZTliOTUwODZhMTgxNzk1YWVmZmIgaW8tYworNjk5NjMgOGUwY2ViOWY1YzJhNzNmMzRmZDI1OTYzN2EyZjg3ZWI4MmM5MjY0YSBpby1jCis2OTk3NCA0MjFhMDM2OWYyMzk0YTRhNDc2M2FjMjViNTI0ZjdiYTBlYmU4NjVjIGxlZ2FjeS10cnVuaworNjk5NzUgYWMyNjc2NWZiMWJiOGIwNDYxZWY1YjU4YThlNDQwZGM4ZDUyMTIxYSBweTNrCis2OTk3NiA3MDJmMTg5OTE2MWUxOTQxZDM1MDQ1YTBjN2Y0MWFkM2JlZmRkMDdkIGxlZ2FjeS10cnVuaworNjk5NzcgNjkyYzhhOTg4MDI2NGIyZTZmY2YxMDIyYTdlZGFlMjIyMGUwNDcwNCBweTNrCis2OTk3OCAwMmVlY2RiMTczNTgwNzljZTA3MzZmMmVlZGU3MzRjMmRhZmVhYTVhIHJlbGVhc2UzMC1tYWludAorNjk5NzkgZjdiMDMwMTAxNjJjNDExN2Q3ZDdjY2FlZWZmNGU1ZDMxZmM0ZmNhMCByZWxlYXNlMjYtbWFpbnQKKzY5OTgxIDBlZTNiOWE3ZjIwOTdlOWRhNzc2N2Y5ZDc1ZTRiZWUzNzdhYTc0NDYgbGVnYWN5LXRydW5rCis2OTk4MiBkNzhiMjhhMzUyNGM1YWFlNmFhNWJlM2Q1YmU4YTg4MTMzOTBiMTc0IHB5M2sKKzY5OTgzIGMwN2Q3ZmQyNzQ2OTkwZTAyNzc5YmRiZTQ4NmU0YzA5OTY1NjhmZTcgbGVnYWN5LXRydW5rCis2OTk4NCA4ODczODU0YmI1ZjkwNzJlNWI3M2I2Mzc4NzQ0OGQ0MGNlNjcyOWRhIHJlbGVhc2UyNi1tYWludAorNjk5ODUgYzgwMDQ4MjE1ZGU1ODAwYjA2ZDM0ZmJmZjIzNmE5ZDlkMDkwMDA3OSByZWxlYXNlMzAtbWFpbnQKKzY5OTg2IDA1MmZiNTFmOGRjZjNiNzkyNTg5ZjlkODBjNjc1NmI5YzYxZDcwNWQgcHkzaworNjk5ODcgM2VjZDQ4NDc1NmIwMjNiM2ZhODAyNDc4NDBjN2IzODUzMzBhNjRhYiBsZWdhY3ktdHJ1bmsKKzY5OTg5IGU4NzJmNTg3ZjE5MDFhNzQyOGU5ZWFlYjliZjkyNTU3ZDhlNmUzM2UgcHkzaworNjk5OTAgZTk5YjU2ZGE0MzJhZjZkMWQ1NmIzMjE3Nzg0ZTkwYjdkMmE4YWZhZSBweTNrCis2OTk5MSAzMjNhNWE4ZDEwZmM4NjAwMmI5MzExZjVhZTc4ZTM4OTFlMGUzNGE1IHJlbGVhc2UzMC1tYWludAorNjk5OTQgNjk4MTc1ZmU4YjNkZTk5MGQzYjZiNzJjY2M1ZWEwMjQ5MjY2NjRjZCBsZWdhY3ktdHJ1bmsKKzY5OTk1IDNmNzNiN2FmMTMxYzE1ZDI5N2JkMjYzMWQwNDZlNTcyOTM2MzNmY2EgcHkzaworNjk5OTYgMzcyMmNlNDU4MzE4OTQ3YTlmMjViZDg4OTliZWIyMDZjZGRlNjU2YiBweTNrCis2OTk5NyBhMWIzZDAyMTY4MjBhOWQ2MjgxODcwNTA0NmM3ODJhODFiZmJmNjg4IHJlbGVhc2UzMC1tYWludAorNjk5OTggNjMyNjY2NjkxZDNkNDgwODMwNTNjNmQ4YzA3YTkxNTFlNDgyZWI5MSBsZWdhY3ktdHJ1bmsKKzY5OTk5IDU4YmJlYjMzZjU4MzMzMWM2NjA4YWZmYTYzMmE3MzFkMWE5YmYwODggbGVnYWN5LXRydW5rCis3MDAwMCA3MTJhYTViYjdiNDhkNWQ3Y2VjM2EwYzk0MDdmZTI3ZWQzZmVmZmVjIGxlZ2FjeS10cnVuaworNzAwMDEgODYyMjg5NDdiNjVkMWY5MDZmODhkMjMzZjNmMGI1OGRhMmY3ZTg0YSBweTNrCis3MDAwMiAxNDlkYzRiYzhlY2EwMzEyMzA4NzYwMWNlMGJmY2E4NThkZDk1MjFlIGxlZ2FjeS10cnVuaworNzAwMDMgOGI0ZGExZjQ5Mzg0NWNhMDc4MjMxMDIyYTkxY2JjOTFmNWNhOWM5MCBsZWdhY3ktdHJ1bmsKKzcwMDA0IGYxNzA3MjllMzAzODJkOWMwMjU5ZWZiNzExN2U1MWJmYzZlZjczN2YgcmVsZWFzZTI2LW1haW50Cis3MDAwNSBmMmU2YTVlYTEwZmUwYTA5NjhhYmIwODgyNTg5N2I0NzUyY2RjNWUzIHB5M2sKKzcwMDA2IDM2OTVjYWZlZjU4ZDkzNDRlYTI5Y2E1Njk3ZGFlZTBjMDkwNzVkYTEgcmVsZWFzZTMwLW1haW50Cis3MDAwNyBiN2IyMzg4N2ZiZGU2ODE1MGU3NTRkODdhNjI2NGM5NTRlNmNhMjBlIGxlZ2FjeS10cnVuaworNzAwMDggZWMxZjhlYjRkYTU5NGY1ZWQ5NDA3OTRiNDgxNjdlZDM2MDUyY2ZhNiByZWxlYXNlMjYtbWFpbnQKKzcwMDA5IGU5ZDAzZjZiMGQ1OTA1NmZhOTU0NmExZTI3NTVhMjEyMjU3ZmZhY2EgcHkzaworNzAwMTAgMjI4Zjg5YWU1NWIxMDA4MjdiYzA5MDU5YmZkMzY2NjA2NTQxMjRlYSByZWxlYXNlMzAtbWFpbnQKKzcwMDExIDJiNjBiNDY1MTNkMjYzZjkyMDVmYmY0Y2Y5ODg1NjdkN2U4ZTgyYzEgbGVnYWN5LXRydW5rCis3MDAxNSBjNGYyN2U1NDZjZjUxNzVlNTJkYzM2NTdiZmRjNWZmMmY3MTM5MjBjIHB5M2sKKzcwMDE2IDEwNWE1MzE3ZTY4ZTEyOTA5OWZmOWU5NDFlMjBkZTJmZjM5MmY2ZGUgbGVnYWN5LXRydW5rCis3MDAxNyA4YjY4OTY4ODc5YzcwZGYxMGEwMmUwMmUzYmE2NjkzY2NkMzM4NmQyIGxlZ2FjeS10cnVuaworNzAwMTggMTY3M2Q5NTczMTFhMGJiNGE5MzNkNmJhNGFjZmJiMWI5OTBlZGZhMiByZWxlYXNlMjYtbWFpbnQKKzcwMDE5IDRmZDgwZTY2YjEwNzIyZjNkNDBmMzc3NDUzYTJmMTY0ZDc2MWFjNGUgcHkzaworNzAwMjAgZGIxZGJmMDU3MTQ3YTRhOTk2NDk5YzdiMWIwNzNmOTE4MzFmZjlkOCByZWxlYXNlMzAtbWFpbnQKKzcwMDIyIDg2NmY3NDdjMTk2ZjEzNzRkOWRmZjA1NWVkOGRmZGIzMWUyOTNkMWEgbGVnYWN5LXRydW5rCis3MDAyMyA4MDAzYTJmYjYyNWJhMTAzODdkYzkxMWU1OWEwZjYzYTI5NzY3ZmNjIGxlZ2FjeS10cnVuaworNzAwMjQgNWRhYzA4MWU3MzBkMDgwNWNhNTQ4ZDk1ZDgwODg0OWY2M2M1ZDA4MCBweTNrCis3MDAyNSBlYjAzZTVhZTcxMDlhNjk3NGNjMjE4YWRkN2ZiNTdhMmEyZDdmYTg4IGxlZ2FjeS10cnVuaworNzAwMjYgODM5OTgzNTk1MzM4MjkyYTM0MGQ0NjAzNmI0NTg5ZWUwZjc5ZGVlYyBsZWdhY3ktdHJ1bmsKKzcwMDI3IDFmODQ3MDZlODE2YzJlNzBlY2Y2MDI2Yjg2ZDc1NGIxNmQ4MjkzMjcgcHkzaworNzAwMjggMWYwZGU0OTRiYzEzMTA3NmQ0NTRlMzFlM2NmNDdlYjI2M2I3MjIyOCBweTNrCis3MDAyOSA5YjYyY2I2NTM4OTIyNzY1YTgyNGM5Y2I0NWM3MTlhZmU1OTdiZjQ1IHB5M2sKKzcwMDMwIGE1ZjAzNzE4NTBmZjU0ZjQ1ZjJhMjc5ZTYyMDVkM2RiNWUyNWNmMTggcmVsZWFzZTMwLW1haW50Cis3MDAzMyBiMzA2YzcyZmZkNzAxMGVkMWE2Yzc2N2Y5ZjRkMWU4YjQ0Yzc0ZTAwIGlvLWMKKzcwMDM1IGQxNTU2YjgxOTVmMjhhZDQ1NzIzNmU5OTkzMDViODAyMzdmN2QyMGQgaW8tYworNzAwMzcgZTA5NDJjNjc1MzcyOGI3NGJmNmNjYWE5ZjFmZWQwZTkwYzMyMTk1MSBweTNrCis3MDAzOCBiNzFkZjQ0ZDViYmYwYTZhYmNhMTIwOGNiY2FiZmNlYjM4ODAxYTA1IGlvLWMKKzcwMDQxIGZjODNjYTFhYzExMDg4MTNlMWFmZWM0ZGIwMmRjMjMxMjljNmY5ODMgaW8tYworNzAwNDIgMzVjMWQ1MjYwN2M4NGY5ZjcyMTY2OWU2MzExZmE0Yzg4ZTZjOGYxMiBpby1jCis3MDA0MyBkMjQ1MzNmYjNmNDdhMTlmZDA0ZGNhYjM2ZjZiMjE5ZjAyZTAwNzNhIGlvLWMKKzcwMDQ0IGY3NWZiOWY0NzFkMDliMjVjZGRiMGM1ODVkNjVlMmVmM2VmMGNhNzYgaW8tYworNzAwNDUgMzE0N2IzYjc4ZGNmN2ViMzA1NjI2ODQ5ZmQzYjI1NTlmNTg1NTllOCBpby1jCis3MDA0NiBhMjY1ZjU5OTYxZjY2YTNkZWJjNDMzZDE0ZTUzMjlhYjEwNTNiZWQ5IGlvLWMKKzcwMDQ3IGM4NGRjYWM3ZTY5YTE4NTBlODVmZGM2ZjdkZmMwMTM5ZDc2MGJjMDAgaW8tYworNzAwNDggZjMzOWRhODM4NThkOTkxMDQ0NDRjMDA3YWM5Y2YzN2ZlN2NkMTFkZiBpby1jCis3MDA0OSA3ODlmZjhiZDE5MGE1YjgwMTVkNTE3MjI1OWI4NmUwYTExM2Q5YmRlIGxlZ2FjeS10cnVuaworNzAwNTAgYmU1YTljODRmNmJjY2E3ZWM0OWFkNmQzMjgwZWEyNTFkMDUxOThjMiByZWxlYXNlMjYtbWFpbnQKKzcwMDUxIDIwNjAzODEyMWFkZWM5NzU1MzU3YjM1MGZiZjgwMjNhYjNjYzhjOTcgcHkzaworNzAwNTIgOWRlNWQ2MmFkNDAyMjhlZjYyZTI3ZWNhZThhZTc0YTQyZDQzMWM2ZSBsZWdhY3ktdHJ1bmsKKzcwMDUzIGJhNmMzMDZjZjJjZWU3NzFmY2MxNDI5NTQxZWNmYjUwNzY0NmM4YWMgcHkzaworNzAwNTQgOTAwMzdmOTdkODcwN2JjZmRkZjgwODNlZTUxMmM1MGVjZWQwNmE4NSByZWxlYXNlMjYtbWFpbnQKKzcwMDU1IDc1OWRiYWNlNTFkMmVkMWJlZGI2NDA1NGFmZTJjYmE2YTFjY2MwMjQgcmVsZWFzZTMwLW1haW50Cis3MDA1NiAyOWQ2NTJlM2YyZDMyYWI5Y2Y4M2JiZTQ0ZTZhYmZiOTlmMjAyODZhIGxlZ2FjeS10cnVuaworNzAwNTcgMGU2ZmFmMjdiNTMxZjI3M2UxNzIyNmM3OGU4NDAzNmJhYmI1MjlmOCBweTNrCis3MDA1OCBjNjRkNGE4YWUyYjJlY2I4MDlhYzZkODVmNGU1YzM4NmExN2VhMzEyIHJlbGVhc2UzMC1tYWludAorNzAwNTkgMmEwZjg0YWM0OWYwOTAzYzMxZGQ1NTlhYWUwNDVmODQzYzYyZWYzYSByZWxlYXNlMjYtbWFpbnQKKzcwMDYxIDY3MjQyNWJlMzg4YTY5MjFkYzhhNzZhYmY4M2Q0MTkyY2ExZjY1ZDggbGVnYWN5LXRydW5rCis3MDA2MiA0ZTE1NTYwMTI1ODQ1ODNhMTg2ODliYzViNzg3MDZiMjY2N2MzZmNlIGxlZ2FjeS10cnVuaworNzAwNjMgNzllNjZjMTFkYzgwY2EyYTBhZDgwYjA1ZWE3NTQ5M2UxOTI2ZGRlMiBweTNrCis3MDA2NCBhZTIyNjMxYTc4N2M0OWI5ZjQ5ZTE1MmQ4OWVhZmJmNWFlZTA4ZTcxIHJlbGVhc2UzMC1tYWludAorNzAwNjUgNjc2NTY3ZTJhNzExOTIxMjZmMDM0MmRjYTVmY2E3YmI4NzA2MDY2NiByZWxlYXNlMjYtbWFpbnQKKzcwMDY3IGQxYTMxNGUwZWZmNzIwMDM1ZmJkNDUyMjBjZGY5YThlN2RhMzU3YWEgaW8tYworNzAwNjggNjAxMWMwOTJlMjEzNDZlZTdiMzViNjY0ZmM1MzM3YjYxOTc2Zjg1MSBpby1jCis3MDA2OSA3ZmFjYTY5NThkYWMwMmRhYjkwMzgzY2M3MGQ0NzY5YWY3N2Q0MzYwIGlvLWMKKzcwMDcwIDBhZDNkZTIxNmU4M2U0M2ZmZWE1ZmE3ZTYzMGZjNmNjNzI0NjVhYzggaW8tYworNzAwNzEgZWY4ZmU5MDg4Njk2OGIxZWI0NjhjYjkxZWJhZTEwM2Y3NzNmYTE3ZiBsZWdhY3ktdHJ1bmsKKzcwMDcyIDc1ZmY2NjliZjk5NmRlYTlmMGUzYmNiODZhNTQ0MzZkYmNmM2YyZGYgcHkzaworNzAwNzMgYjQyMTQ0MWVlNjc5YzVlOGMzYjEyNzRlNWYxMjExYzY4YzY1MTQ1NiByZWxlYXNlMzAtbWFpbnQKKzcwMDc0IGU0Mjg3ZDhjOTc0MTdhZTUyNjBiY2M5MjViYWFhNDcwM2JkN2E1NWIgaW8tYworNzAwNzUgOWYzMDAzNjEyNGY2NzhhMDM2ZTBhMDFjMDM4YTdkMThkYmQ3ZGVmYyBpby1jCis3MDA3NiBlMWNlNjY2ZDc0MDVhNjM3ZTQwODVhMTE3NGRiMTJmNzcxNjBjZjFjIHB5M2sKKzcwMDc3IGZjMmE2ZjZkMzZhY2E1MWU1YzI2MjVhY2U1MjkzODZmNDFlOTk4OGMgcHkzaworNzAwNzggZDcwNzczYzlhZGFkMmQxYTc5MGEyYjQ0MzA0ZDE1NWNiNTY0MDc3MCBsZWdhY3ktdHJ1bmsKKzcwMDc5IDVkZjY2ZGZhNmY2NGFjNjZiMjNhOTdiMmQxMmZjZTllZjdiMWFiMTcgcHkzaworNzAwODAgMmE0NTgxMDZhZmJmZTM1Yjk2ZjM4MGExMzAyZDAwZGUwMDUxYTA3MiByZWxlYXNlMjYtbWFpbnQKKzcwMDgxIDJjNTkwM2EwMmIzNjNhMzhlM2M4MDQ5OGU2Yjk4YzIwMjliYTE1NzkgbGVnYWN5LXRydW5rCis3MDA4MiA2MTJmYzZlZTY4Zjc0NTE4NTk5OWVmN2FjMDM3MzQzZThhZGU1ZTJkIHJlbGVhc2UyNi1tYWludAorNzAwODMgYjc2MzJkZjExMjFmYjcyMzVmZmIzM2Q0ZTBhMTg2ZDFhNjU0N2M2YiByZWxlYXNlMzAtbWFpbnQKKzcwMDg0IDZmZDIzMTkxN2VmN2MyMzFlMzhiNGIzNGFlNjRmYzRlNGJlM2VkZGEgcHkzaworNzAwODYgYTZjMjRhYWNlOGNiZDc0MTMyZTZkYzUzNThlZjY1NzI4ZjJmYmVjNiBsZWdhY3ktdHJ1bmsKKzcwMDg3IDJjZWIyYTc2ODgwZDVmZjMxNDBiOTVmYzExMjBjYTY5ODY1Nzc0ODYgcmVsZWFzZTI2LW1haW50Cis3MDA4OCBhZGM5YmI0NGVjNDcxMDFkZjE5OGRhYWM3ZTBiMzJkMTQ0YWJjZTk3IGxlZ2FjeS10cnVuaworNzAwODkgOTkxOWMxZjQ3OTVlZjg1MTljYjc0YmE5OGU1N2Q2M2EwMjE4ZjcxNyBweTNrCis3MDA5MCA4ZjVkOGYyN2M2ZmNkYzlkYjUwNTA5Mjc3NzcwMTZjZjVkNGVhMTJjIGxlZ2FjeS10cnVuaworNzAwOTEgZGNkM2JjMmUyMzc3M2MwMGQ4ZGNkYjQ3ZmM2NWI5ODgzM2U1YmFjNSBweTNrCis3MDA5MiA2MGZjZmQxMzdhNzI5MmNmMmZlYmRiNjY2NWZhNWQ0MzdlNWMzODJmIHJlbGVhc2UyNi1tYWludAorNzAwOTMgMDhhNGEzZjljNTBlOWMwMTU1ZDk4NmI0ZjVmMGQ3ZjljNGEzNGI4NyByZWxlYXNlMzAtbWFpbnQKKzcwMDk0IDBiOTdmZmI4MTFhMDEyMTJhNzU0ODQ0MGJlOWMzMjU5NDg0MWIwOTUgbGVnYWN5LXRydW5rCis3MDA5NSAxOWMxYTFjZWIxMjk1NTllYzM2NGE0ZjU4Njg4OTIwZDllZmE5ZjM4IHJlbGVhc2UyNi1tYWludAorNzAwOTYgYzJhOGE1MmI4MTFkYzhjNWQ5ODhiN2FjNjc2ZDkxYmJjNDIyNTFjNCBweTNrCis3MDA5NyBkZTExM2I2ZDI2ZDMyNzQwMWMzODc4MmNjY2M4YTUzZjhlYzhmNDFiIHJlbGVhc2UzMC1tYWludAorNzAwOTggZDVmMTM0YTNhODE2YzcwOTMxZjE1NmMyNzA3OWI3MGEzMmZhYjk2ZiBweTNrCis3MDA5OSA4ZTAzYmZlN2VmMzMxYTlhMzk0NDI4YzdmM2I4NDI4MzAzYTMwNzViIHB5M2sKKzcwMTAxIGM5MTBmNmUzYmIyODcxOTgxY2JhMzhiNDI1OTAyOTQ2NzFkODBjMjMgcHkzaworNzAxMDIgY2E4N2M0NzA3YmZkZGQ4NzM5MGVhMTgwZWMzYmQyMDc2MGJjOWFhNSBweTNrCis3MDEwNCA4NWFjYTQzZGFiYzQ5MzAzMmNjOTQyNDU1NjI0Y2Q0YjhiN2YyYTM5IHB5M2sKKzcwMTA1IGQ1MTNjZTI5MWZiZDIyZmE4NmJiMWE4YjFlODY5MTM1ZTUyNzhiYzggcHkzaworNzAxMDYgZGIyOWEzZmJjYmEwZmRmZmQ5NWFlYTk4NGZhY2IwMjQ5NjFlZTYyYyBweTNrCis3MDEwNyA4NzExNWM3MjcxMDJiNDIwNTYyY2RiZThhODc0YWRjMDRjNjE1NWJmIGxlZ2FjeS10cnVuaworNzAxMDggMmQ2OWQwZDNhOWNhNWUzZjA2NDkxNTg2NTA0YmIxODA3Mjk4MjExYSByZWxlYXNlMjYtbWFpbnQKKzcwMTA5IDljNTZlYjE3ZjMzNGZjZjk1OGY0NmYwYWQ2YzQ5NmUxM2UzM2U4YTEgcHkzaworNzAxMTAgNGRhNWYwZGVkMzYyMmUxMmUxNmI5YWI4ZmE2NGFjOTgwMGNjNjljNSByZWxlYXNlMzAtbWFpbnQKKzcwMTExIDExNmQ5MGVmMzE2NDk0OTQ5OTQyNWJiOGMzNTYwNzE0NWUyZjcyYTUgcHkzaworNzAxMTIgMzc0YTlhZTVkZDBmNDJhNGM0NDZjY2Y1ZDI5OWI4ODgzMmJmNjkzNiBpby1jCis3MDExMyA4ZmUyOTg4Y2Y1NTA5MmM4MzJhODBkZWJiZmNlZWQ4MGM5ZjM4YTY1IHB5M2sKKzcwMTE0IDdiMTc0MWQ2ODA5ZTg5NjNiNWE4ODg4YTcyOGNhMWJmZWY2OTljMzQgcHkzaworNzAxMTUgMDQ1ODczMGViMDM4Yjk3ZmY2MjhjYzY1ZGM2NDFhNWM3MjZiMDUwNCBpby1jCis3MDExNiAxN2VhMThkZmNhYTU1ZDJmYTZjZTQ1ODAwOTc2YWIxMzMzMTFkMDk3IHB5M2sKKzcwMTE3IGQzNDJhNzI1YjJkNTg5OGJlMzViNzU1NDhlZmM5MTAxYjdjNWVmZmYgcHkzaworNzAxMTggMDM4MzIzNTZjMDk2NzQ0OGUxODk4MTYyODk4MjY4ZTEwOTVmODc1MyBweTNrCis3MDExOSA2YzA4YmZlNzhmZmZlYjJiNjU0N2FmNDg1OTJhM2MwM2U4Y2FjYWYwIGxlZ2FjeS10cnVuaworNzAxMjAgNGE0ZGE5NjhkZTJhOThjODc1NmY5ZWEyYTk0OWZkMzVmMDMzZjdmZiBsZWdhY3ktdHJ1bmsKKzcwMTIxIDBjNjM1NTc0YjEzOWUwY2NkYTI4MzI5Mzg5MjkwN2Y1MWFmYjgxNjQgbGVnYWN5LXRydW5rCis3MDEyMiA2YjFiMmU3YTA2ZTk3ZDU5ZjRjZTNlYjZlZTI2ZDRmYWEyODg1ZmQ4IGxlZ2FjeS10cnVuaworNzAxMjMgYjM3M2I5OTYyYzM1YWMyZDQwNDUxYjM4ODRhYzJhMmE3YzNhNGE5NyBsZWdhY3ktdHJ1bmsKKzcwMTI0IDRkMDc4ZDUyMmYyNTk3NTJkN2E2MTcyN2FjOGNjYzgwYjlkODcyZGQgcHkzaworNzAxMjUgZmQwOGU5NDQ5YTQzODgzZDRkNGQwYzY1MDA3M2JjNjZiYWJkNDU4ZiBweTNrCis3MDEyNiA4ZjdiZTQ4NzdhNjA2ZjAwYTk1YTVmZDUzOTE1OWYzMWMyMzk3ZDM2IGxlZ2FjeS10cnVuaworNzAxMjcgZThhZjRlMjRmMDhmOGQ0ZDZmNWZjYWZhMjI3Y2JlNzdlYjUzZDU1OCBweTNrCis3MDEyOCAyNTk2ZGRkYmQwNTdiN2RmMDJmNWYwNzM5Mjg1ZTAyNjc0ODgxMTEwIHB5M2sKKzcwMTI5IDVhZDg4YjkxOTMxOGE1NDUzNTM4ZjdiZjliYjdlMmRmODYyM2RhNTkgcHkzaworNzAxMzAgMGE2MDliYTU0ZjVjNjU5NDVjNGY5OWY4NjRlN2JmZTkxMTE5M2ExYyBweTNrCis3MDEzMSA5ODI1MDI4MjZmNzg5ODc2NmUyOWRkZTYwNWNlMzQxYjM5MTA1Yjk1IGxlZ2FjeS10cnVuaworNzAxMzIgYWU3MWRmOTM5NGRhYzhiY2QwMjE1ZTA2MDRlNjYwYTdmYTU0ZWQzNiBsZWdhY3ktdHJ1bmsKKzcwMTMzIDExNzcyNTg2YmM0Mzk3ZWQ2ODVlZjRjZWFlYWJjZThlNmYyMjE4ZDAgaW8tYworNzAxMzQgNzM4ZmFkMzhhNGJmZTViNjJjYWM4MTg3OTEzOWMwYWY4OWEzOTliNiBweTNrCis3MDEzNSA1YjRlOGY0ZTljYmQ2MmU5OGQ1Y2RkNGRjZmQ2ZjgxOTRkNTcxZjFlIGlvLWMKKzcwMTM2IDYxZDIwZTkxOWE5ZTY2Zjk1MzM1MmI0YWYyZWI2ZjIyZTZjMjU1YzIgbGVnYWN5LXRydW5rCis3MDEzNyA4MDIzM2RmMjRmOGNhZDVhYjJlZWJlZDQyNGEyMWRlNTk0NjRhYWUyIGxlZ2FjeS10cnVuaworNzAxMzggOTIwYTQxZDU4MWI1OWVlZjM0Mzc2ZDBiYTc1YTdlZGJkYmY1OGY1YiBweTNrCis3MDEzOSBlNjczZjkzOTI0MDJkNzU1NDc3NjdiZTQyYmI2Yjc1NGU1OTdkNGI2IHB5M2sKKzcwMTQwIGM5NmUxYWI0ZGFiM2FhMDUzODdjNWI5OTg3N2VmYzc5ZGI4NTM5MzIgaW8tYworNzAxNDEgMzhhYTZmMzZjZTRmYzEwMWMxYzA5Yzc4NmJmY2VlMjAzODY0MGUzNiBweTNrCis3MDE0MiBkNzcxNzJlYjZmZTc4OWQzM2I5MTVjM2VhMmRmZGUzODgxMGE5YjhlIHB5M2sKKzcwMTQzIDNiODg1YjkyYWY2Y2RjZDQxODI0Zjk2NTkyYTA1NzlkODlmYmYzOTggcHkzaworNzAxNDQgNzdlZmJiM2MzMTEwYzAyOTc3NGY3ZmQ3Y2VjZWYzY2Y5OGQ3YTI3ZCBweTNrCis3MDE0NSAwMWY4M2JiNGExYzRkMmJmOTc2Y2UxMjY0ZTVmOGUzYzU1ZDU2ZGE1IGxlZ2FjeS10cnVuaworNzAxNDYgZjYzMmE0ZTZlZTMxNDJjZmRhYjcyMGFiNThlMzYyY2FmNDNkNGM1ZCByZWxlYXNlMzAtbWFpbnQKKzcwMTQ3IDcxMTE4NDVjMmY1ZTNhMjJlNTE5MGQyODRmNjA4ZmJjZTVkNTIzYjcgcmVsZWFzZTI2LW1haW50Cis3MDE0OCA3ZDY5MDcwYTNkNzgzZGViMGYxMjQwMWUwZTU4Y2I2MDJlYWY4ZTFmIHB5M2sKKzcwMTQ5IDc3ODU5OWNlODFhMTRjNjhhNmM3ZGJkOTViYjBlNzhmNmEzOGM3ODkgbGVnYWN5LXRydW5rCis3MDE1MCA4YTNkYWRjY2QyMDc1M2FhYTQ4NTdkZWYyMzYzMzgzZjIyZGRmOTEwIHB5M2sKKzcwMTUxIDcxZGFlMjJlMTgxZDk4M2UyOTRjYWNmOGIyOGM3OWJiNjBkYjkwNDMgcHkzaworNzAxNTIgMzA0OWFjMTdlMjU2YmIzMGI3OWYxMTM0YTM3YjY1N2UzMGQzYjc4YiBweTNrCis3MDE1MyA1OGRiNGRlYjdhYjE2ZDc3ZGEwOWIyMDU0NDI1YjFlZWI4NDFkZGE5IGxlZ2FjeS10cnVuaworNzAxNTQgZWJlMTA4MTBlYmVkZWNiZmZlYzc5NjhjZWVmOTFlZGZjOTY2ODUzMSBweTNrCis3MDE1NSAwMTU5YWMyYmM3ODdjNDk5ODM1ZGQ3ODQzMGQzNzYyNjAwNzcyYmM1IHB5M2sKKzcwMTU2IGUzN2JiMzAyNTVmMzExNzM2MDM5OWNjNDBiYWJjYTdmNzJhN2UzZWMgcHkzaworNzAxNTcgNDU2M2U2MTIwNTQ0YzA3ODFmOGVmNDliNmYwMTQ4YzI1YjU2ODUyMyBweTNrCis3MDE1OCAxOTRmZDQwMTkyMmU2MDdkYjkxMTc4Yzc2OTYzNjk3MGI5ZDI2ZmEzIHJlbGVhc2UzMC1tYWludAorNzAxNTkgZjg2NzBhN2RhMjI5NmIwMGJlOWE1ZDdhNzk2ODU5MTIxMmNkYThiZSBweTNrCis3MDE2MCA3NjhhZWVhMmJjMGZkYmEzNzNkMDUxZTNmNDk2OTNlMjBjZmJkY2YxIHB5M2sKKzcwMTYxIDU1ZjNiODgxY2VkMjYzNzFjNjk1ZmUwYzU1OTc2YmUyZGIwM2JlZDggcHkzaworNzAxNjIgMGE1MzNkYzFkZWIyMjc3MjQ5ZTFhY2I0YmM0MTM0YWE3ZjViODQ4NCBweTNrCis3MDE2MyA3NmE1NzliNmJhZGU5NWQxZWExOTRkNGY1OGE4MjgyMDdmZmJkZTk1IHB5M2sKKzcwMTY2IDBjMDI4Njg1YjQ0YzNiYjRhMTBiMTYxMmVjMGIwODkwNjA1ZmJjOWMgbGVnYWN5LXRydW5rCis3MDE2NyAyNDAyMzFhYzc5Y2ZkMDE3MWQwODc1ODI2ZjA2YzI3MmY3YzFjMGRkIGxlZ2FjeS10cnVuaworNzAxNjggZWIyYzM1ZGQyMjVhYjM0NDM5ODJkOTI2N2VjODA2Yjk0ODU3ZWJhMCByZWxlYXNlMjYtbWFpbnQKKzcwMTY5IGZhOWNjNGQ0MTg1ZjdmZDJjOWQxMjQ5ZGYwN2YzZGViYWEzNWMxYmQgbGVnYWN5LXRydW5rCis3MDE3MCBjZTJiNzU5ZGM3ZjM1ZjE2ZmI2ZDI0ZTgzNDdhMWE5YWZiYmMyNzZhIHJlbGVhc2UyNi1tYWludAorNzAxNzEgNGQwZDYxNWQzNzg0YzJkMTg0N2M0MzVkNDIyMTc4YzczYTA0Yzk2YSBsZWdhY3ktdHJ1bmsKKzcwMTcyIDI2MjljNDdmYTZiY2U0ZjQ4N2NjMzg3ODA3YWZhYWExMjhiMGIxZDkgbGVnYWN5LXRydW5rCis3MDE3MyBjOGE4ZWM4N2ZmMWYyZjNlMzI3MjJjMTAwZTQzNTczZGE0M2JhNzMxIHJlbGVhc2UyNi1tYWludAorNzAxNzQgNDFlNDA3Mjg2NjEwNWQ3OTQ5OTBmYjg1Mzk2M2U0NDUxMTkxOGMyNyBweTNrCis3MDE3NSAzMGVlYWRjNDY1MjBmYmU0NjZhZjY0ZmYzN2MxNTYyM2IzYmY1Y2IxIHJlbGVhc2UzMC1tYWludAorNzAxNzYgMzllOWEyMGI3ZDdmNTA1NGViZWQ5Y2IyNDQ5YTYxZjVhYmY2ZGVlZSBsZWdhY3ktdHJ1bmsKKzcwMTc3IGRjM2QyNDgyNGI2MDI3YTdjZjM3NTdhMmY2Yjg5OWYyZTRiNGJmMzMgcmVsZWFzZTI2LW1haW50Cis3MDE3OCAyNzYyNDRmZmNhZWVlMWNmYTQ2MmFhNTBmZWZkZGZmNWY2NmJlODhmIGxlZ2FjeS10cnVuaworNzAxNzkgNWYyNDVjNzAwYmJiMTUwYTVhYWI1MmNhNGJmZGJlMTZiNWNkNmFjZSBweTNrCis3MDE4MCA0YjU0MzFmYjJlOTIwMjFkYjhkNDI4NjRlMjEwOWIwNjI5YTMxNzk0IHJlbGVhc2UzMC1tYWludAorNzAxODEgZmJjNzc1OTc2M2IyYzhjMGJkNjczN2ExZDM0Y2ExYjEwOTcwZWMxZSBweTNrCis3MDE4MiBlZWFhODdmYzNiZmQwY2I3NWM3N2U5ZmUzMjYxNTA0ZmIxMjZmOTAwIHJlbGVhc2UzMC1tYWludAorNzAxODMgNzU3OTI5MjhmY2U4OWJjYTFlOGM1MDFkY2E3NzM3MGE0ZWY5YTFmMSBsZWdhY3ktdHJ1bmsKKzcwMTg0IDMzZTlhMTQ1ZmQzODM1N2VkNDJhNTJlYmY1MGNiMmU5OWE2M2Q4NjAgcHkzaworNzAxODUgOTliNjhkN2Q3YTg5MmYyOTlhMjA2NDFiZGM3MzQ3YjAyODczODQ5OCBweTNrCis3MDE4NiBmZGRlZTU0NTYwMTNhYzAxZTVmZjU5ZmI2ZWY1ZWY5MDkxZWFlOTk4IHB5M2sKKzcwMTg3IDFmYzFjNDFkMTM2ZjRiY2Q4OTZmYTBjYWM1YjIzMzc3NWVlYzZkNWQgcHkzaworNzAxODggZjQ4YWY3N2VlODRlMjA4MjhiZDUzYjY2YTJhYjBmNTdjZjRkMWZmMyBsZWdhY3ktdHJ1bmsKKzcwMTg5IDc5ZWEwNjY3NjA0YjM3MjJmMmQyY2QxNmEwZjA5OTYxZmY3ODAyZDggbGVnYWN5LXRydW5rCis3MDE5MCBjZGQzZjYwZDk5NzRmNDQ3NjljZjc5ZGM1OTc0YTk4YmFkMzE2ZGFjIHJlbGVhc2UyNi1tYWludAorNzAxOTEgMjc1YmJlZTE0NmFiMDViZjQ4N2YwOWI0YWNiMzQxOWM2YWYzMzc5MSBweTNrCis3MDE5MiBhOGI5YWEwMjg4OTliZTk1OTBiYTBiMGY4MzdlMjE0ZmJjNGE5MDYxIHJlbGVhc2UzMC1tYWludAorNzAxOTMgOWNkMzU1YTc5ODQ1NmY4MDgzN2JkODRiNDMzMjg4NGZlM2ZkNWY4MiBsZWdhY3ktdHJ1bmsKKzcwMTk0IGQwMWRjODQ3YjU4NjIxYzJlNTQ1ZDljYzc0NDMyMTlmOThkMTY4NjMgcmVsZWFzZTI2LW1haW50Cis3MDE5NSA3YjI3OTY3OGE2YTFkYjQ0YTA3OGE4M2I0NDVmOWRmMzE3MjA0NzU0IHB5M2sKKzcwMTk2IDI2OTg0NDUwYzdlOWE4MTg5YThiZWYwNzEwZTk3OTU0ZDAwYzA5YzQgcmVsZWFzZTMwLW1haW50Cis3MDE5NyBhZmVmYjc3MTY0YWQzYmYyZGMxNzRlMDdmNmQwYTllMTk0YjcwNzgyIGxlZ2FjeS10cnVuaworNzAxOTggNzc1ODI5Y2YwMGQyYWJlYzRiNGNkYjU2MTk1MjMxNDcyMGRjNGNhOCBweTNrCis3MDE5OSA4ZGJkMWI5NmZhNmI2OTBmZDdkYzM5MTVkMTBiZTJiNWY3OTE3NWQ5IHJlbGVhc2UyNS1tYWludAorNzAyMDAgYzc3MjM2MjZlNGUxMDY4MDgzN2E2M2NlMjRjMDgwZGYyZTNmNDRjNSByZWxlYXNlMjUtbWFpbnQKKzcwMjAxIDFmOWRlNTM5ODNjMTU1MTMxODBlMTM0Njc1NzJlNDY1YTFlM2JkNjggcHkzaworNzAyMDIgYmViYzRlZWY5ZTg5M2M0MDE5MmM4YWVhMmVkYzg5NjZhMTc5ZDFkNSBweTNrCis3MDIwMyA5ZmE3OTQ5NjQxZDMwMDliYjYxOTg1YWJlY2ZlOTJiM2FiNDdmMDY3IHB5M2sKKzcwMjA0IDRhM2I0NGMyMWI0ZjNkYTdjODJkNWI1MzIxZmE1NmEzMTg2ZmE4ZGYgcmVsZWFzZTMwLW1haW50Cis3MDIwNSAzYjlmNWZhOGJjY2Q5MWQyZDNkMjFhNGM3ZTE2M2JjMDNjYTU4MDQ5IHB5M2sKKzcwMjA3IGNhYmIwZGRjYjg4ZTRhN2UzMTBlZmE0NmU0N2RkMTIyMzUzMmFkNjcgcmVsZWFzZTMwLW1haW50Cis3MDIwOCAwZjZmNzg3ZjEwM2IyOGI0MzIzNTg2ZDE3MzQ0NjE0MzYyODMxMTM2IHB5M2sKKzcwMjA5IGFlZjVjZmU3MzM1OGQ0OGZmZGFkOTIyYjMxYjAwYzBhZjg3Mjg2ZTcgcHkzaworNzAyMTAgZjViODFiZTU5MTU5NDZlM2Y5MjI0ZDZkOWJiNmFiYWM5NWVkZjdhZSBweTNrCis3MDIxMSA5MGE2NjkxNWNhOTE5NzAwYTI0OTk1YTY2MGM2NjA5ZWY3NmYyZmVjIHB5M2sKKzcwMjEyIDQ2NTBlY2RmY2ZiNjQyMzdkMjljMjI5MjQzODMyZDRiZTgxMjlkZDMgbGVnYWN5LXRydW5rCis3MDIxMyAyYjJiNTFmMzA0MDc5OTc3ZmExODk1ZTcyMzBjOGI3ZGMwYjAyMTM2IHJlbGVhc2UyNi1tYWludAorNzAyMTQgZmNjNjIxMWUwZDcxMDVlM2Y3YmI5M2NhN2ExNmYxOTc3YWI0MTVhOCBweTNrCis3MDIxNSA2ZjBkMjExM2RkMjIyNjAwZWY5MGZlNDQ1OGVkYzJmZGY4YzAxZjk1IHJlbGVhc2UzMC1tYWludAorNzAyMTYgYTk5ZmE3NjcxM2ZjNjY4OWNlYzA2NTQ1NjkyMzJjZDVjMjk5ZGIzZiBweTNrCis3MDIxNyBiYmJjOTc0NmM3MGRjNDA2YjllMDhlZTNhNzA1NTJmOGNjZDFkOGMyIHJlbGVhc2UzMC1tYWludAorNzAyMTggNDMzZTExNmMzMzVkYmIyZWNjODYzMDUwNTlhOTY4Yzg5MjYyMDRkMSBsZWdhY3ktdHJ1bmsKKzcwMjE5IDExNDg1MGY3M2UzYTVlYmU3MTVlMjVmZjJlMWExNTdhOTU2NWRiNWYgbGVnYWN5LXRydW5rCis3MDIyMCA0ZTc0NDkzNDhjMWE0ZDVkZTExMzZkODRiZDE4YjVjNTI3ZWU5MjlkIHJlbGVhc2UyNi1tYWludAorNzAyMjEgMDNjODBlMDc0MmMzNDQwOGIwMWY1MTk1YzM0ZTkyNjc5NzhiNGJlMyBweTNrCis3MDIyMiAxMDY2Nzc2ZTI4MjAzNjI0Y2MxOTJkMTM3Mjk5NzliOGJlMjY1Y2E0IHJlbGVhc2UzMC1tYWludAorNzAyMjMgYzc5ZWM2M2U2YzA4ZWQzZTk0NmEzNDJkYmUxMjY5NDhkNTAzMDM2NCBsZWdhY3ktdHJ1bmsKKzcwMjI0IGI5Y2Q2OTM5MjY2NjdkMTg2NGQ5ZTJlNzdiY2JkMTAzOTdlZDZjMmEgcmVsZWFzZTI2LW1haW50Cis3MDIyNSA2ZGJiMmMxYzA5MDA5ZDY2MjIwZWU2ZDIwMzkyMGFjNjMwZDdkYjBlIHB5M2sKKzcwMjI2IGY1MTQ1YWJkNGJhMjZiMTBhOThjZDYyMTM4NjhmNGQzZWUzZmE1MjYgcmVsZWFzZTMwLW1haW50Cis3MDIyNyBlOWU0NmFkZTYxYzc4Njg0OTdkM2ZmMjg3ZjUwNGNhZTM3NmYwMWQyIHB5M2sKKzcwMjI4IGE1ZTMyYzA2ZTE0YjEyODdjOGVjNjkyNDZhNTk3ZDVhNmZhYWZhY2YgcmVsZWFzZTMwLW1haW50Cis3MDIyOSBhODlmZGJiMjNhNGE3ODU2YzdjNmQyMjNmODhiZmYwYWY5YTFhM2QwIHB5M2sKKzcwMjMwIGJjMWNlMzY4OTg2ZTQ1YjFmYWY5NmY5Mzk5NWRmNDZiY2Q3NWU3YjggcHkzaworNzAyMzEgMzZkN2ZhYTVmZjk2MTRlNjI3ZGYwYmRkNWM2N2M4ZGJmMTc1ODA0NSBweTNrCis3MDIzMiBhYmE0NDA0ZjVkOWZmNTE5ZWVkOWJmMzBhMGU3MTZmMTYxMDk1MmI1IHB5M2sKKzcwMjMzIGJmYzJmYTRjODQ0NDliNjFkOWRiMWEzN2ZiNmI3NzQzYmE1ODczMDQgcHkzaworNzAyMzQgZjdiMDZhOTY1OWI4NTMwNWE4MWFiMzA1OGJkZGZiZWRkNTRkOGZjOSBweTNrCis3MDIzNSA0MzcwNDRlNjJkM2QzYmQ0OTQ2NTI0MzBhNTBmNjk5N2FjMDg5YTFjIGxlZ2FjeS10cnVuaworNzAyNDQgOWYyZjg2ZGY1YjI2NDhjYTY5YTFiNzU5YWZkNzhmOWM5ZDYyODg2MiBsZWdhY3ktdHJ1bmsKKzcwMjQ1IDU2OTgzY2ZkZjVkNGUyZThkOThkYWUyYTA4Y2ExNWRjMzY4NzNkZDYgcHkzaworNzAyNDYgZGNlMjhjNmI5ZTg1YTI4ZDhkYTJjOWUwYThkNmE5NzAwYjA5MTAzOSBweTNrCis3MDI0NyAyMDMzZDQ1YTViOTk2ODFlMTQwZGZhM2M0MTRhNDk0MTA0MmFjYThlIHB5M2sKKzcwMjQ4IDg5NWY2OGVjYjA1NWMzZjE1NjY1NjAwYTUzMTk0NWMwN2M1NGNlZmQgcHkzaworNzAyNDkgODM2ZTRkYWRmNmQyY2M2NWI4ZDBmNDU2ZTk0MmIxMTUxMzQ5MmZiMSBweTNrCis3MDI1MSAxMDQ1ZmQ2M2ZhNzMzNWZmOTE1YzU2ZGI4NTQ1YTZjOGU0M2ViMjFkIHB5M2sKKzcwMjUyIGNmMDkzYTc2MzA1MzNjZmJkYTQ3OGNmZWU3NTJiMWVlNTM2MWUyNmIgcHkzaworNzAyNTMgNjUzNzFkZjQxYWNhNjI0MWVlODgxMzA1NGIwYjdlNmM0NTk4NzFmYyBweTNrCis3MDI1NCA1NTQwNzQ5YTI5YmI4NzMwNmFjNWY5M2Y4OGM5NjRhYWUzMjE1MDJlIHB5M2sKKzcwMjU1IDcwZGVjYjU4MGRkOTFmMGNhNzNkZjEyYTZlMDQ2OTZlYzRhNDI2NWYgcHkzaworNzAyNTYgYzA2ZjAyYTVlOTYyN2IxOTA4NWY2NjNlNTE4OTg4NGY1MDU3NTI0NiBweTNrCis3MDI1OSBiYzAyZGUyNzg3NDkwM2FiZDkzMGE0NDE2Y2VmMDA2ZTJjMzliMTFhIHB5M2sKKzcwMjYwIGI5YmQyZTNmNzliYThhNjU4NTI5OTY2MmE1NDdkMDU2ZmVlYTZiMGYgcHkzaworNzAyNjEgNTk4MjUzZGIxZjVkMTEyYzM4MjNlODRlMGJkZDMyNWJhYTVhYmQ2MiBsZWdhY3ktdHJ1bmsKKzcwMjYyIDRkN2Y2M2FjOWQyNDY1ODg4YWVkZWM0NjA5ZTY2OTA3ZmE1ZTIxYjIgcHkzaworNzAyNjMgYjFlY2ZmNWUyNzA0MDQyMmMzNmE2OTk4MjI1NzA0NjkyZTkxYmFkZiByZWxlYXNlMjYtbWFpbnQKKzcwMjY0IDUwMzk3NmNlMzM3M2U1ODliYzEwYmNhMDM4MjYwZTdjNDkxZDE0MjEgcmVsZWFzZTMwLW1haW50Cis3MDI2NSBmNDY3ZDQ3ZjZkZTUyYWRmNjNmZDRkMWQyMTVhYjJhYWJmNmVjNjRmIHB5M2sKKzcwMjY2IDdmY2I3ODVlYzBmNTI3ZDQ4YjIwZGNiMThkYTVlYTkxZDJjZWY1MGYgcmVsZWFzZTMwLW1haW50Cis3MDI2NyA5N2FjODNlNDUyNzA2MWI5MWNhMGM3ZGZkYTc2NTYwNDhkMzcyYTMwIGxlZ2FjeS10cnVuaworNzAyNjggNTQ1N2U0NmQ5ZGZkNDYyOWE2ODE1NTdkMDY5YzNhYWEzNjcxZDE4NSByZWxlYXNlMjYtbWFpbnQKKzcwMjY5IGMxNTQyM2Y5ZmFjMzUwZjM5MjhhMTY5YjhmMDA1ZTczNTBjNDE5MjAgcHkzaworNzAyNzAgM2U2NzZiZjI4MzEwM2VlMDE2ZjdjOTgxODM3ZTY5YjZkYWU0MjM1NyByZWxlYXNlMzAtbWFpbnQKKzcwMjcxIDYzNDU2ZDJiZjVhMDg5MTdjOTExYzM5NjFhNDYxNTZlNzI5YjYxMGQgbGVnYWN5LXRydW5rCis3MDI3MiA1YzkxYTZlMTg1NjRmMDRmMzM0ZDZiMTZlNzBkYWY3ZjM5NjI2MzI4IHJlbGVhc2UyNi1tYWludAorNzAyNzMgYmNmYjdkNjc5MTYxNTliY2ZhNDU3NTJhNDRmNmViY2EzYzEwN2YxNSBsZWdhY3ktdHJ1bmsKKzcwMjc0IDdmNzA3NDkyOGM2ODE0MmQ4MDUyNjc0NWI5YTU1ZjdiNTc5MGVkODMgcHkzaworNzAyNzUgMWE4MzkxY2M0YjQ0Y2Q2NmVhOTg0MjU1YTFiMGJhMWE1MzFkOTNhOCBsZWdhY3ktdHJ1bmsKKzcwMjgwIDc5ZmUwN2UxMzM4OGVjN2E4NDhjYTIyZTQzZjU1ZTUyNzllNmIzYWQgcHkzaworNzAyODEgNDI1NTNlMzVmOGU0YjQ5NjY1YjliMDRlMWVlODY4NGVlOTA3M2UwZSBsZWdhY3ktdHJ1bmsKKzcwMjgyIDNiNDM1NzdlMTk3MWM4YzEzODBhZjBjYjJhMTdiMzlhZGY5YzdhNDIgcHkzaworNzAyODMgN2NiZDQ0YzIwM2NmOTVjYWE3NjA0YmZmYzU0NWMyZWViOWI3MTA3YSBweTNrCis3MDI4NCA4ZWQzY2JhYzE2YmY1NjUzZmE0MmMzMjI4Yjc5YWE5YzRkN2RhOWZjIHJlbGVhc2UzMC1tYWludAorNzAyODUgZGFiNDU5NzFjNTY4ODQxZDIzODUwODc2YWY0MWY0MTBlODgyMGMwZSByZWxlYXNlMzAtbWFpbnQKKzcwMjg2IGY4MDRiOGEyNTExNWU3YjIxZWEzMTQwM2YzZmEwMzY5MGFmN2E0M2IgbGVnYWN5LXRydW5rCis3MDI4NyBhZTMwMDZjN2Q1YjAxOTljNTZmODBlNjRlNDZlNzFhYjdkNWRjYmZkIHB5M2sKKzcwMjg4IDg5ZDhhZjI1OTM1MzI3NGU3NzAxMDE5YmRhOTUxMDZjZjE5NjEwMzggcmVsZWFzZTMwLW1haW50Cis3MDI4OSA1NjNiNGY4ODNlZDg4YjE2NjI3ODdjYjkxMDVkMGM0MjM3YWVkYzlkIHJlbGVhc2UyNi1tYWludAorNzAyOTAgNTRjZmFjYWM2ZDBhMTU1ZDE4ZWQ4ZmM2M2FlODQ3YzQzZDc3NDEzZiBsZWdhY3ktdHJ1bmsKKzcwMjkxIDAzMDgwZmEwOGRmZTdjY2RmMTViY2UxNWI0YzcwYmRjMTQ2ZGZjMzAgcHkzaworNzAyOTIgNWJjOWY2Y2M1NjFlMDQxN2E0MzM4NDlmNDUwYWVhM2Q4Nzg1NzljMyBsZWdhY3ktdHJ1bmsKKzcwMjkzIDRmZGRjZDRlOGViNTE5ODYzY2EwYTY0YTMzNGQzNTExMmIyZWI1NjcgbGVnYWN5LXRydW5rCis3MDI5NCBhZmQ3MTE4YzhjY2ZiNDBjYTU2ZTdkM2YxMTViMGI0Y2FkYmM0NjFlIHB5M2sKKzcwMjk1IGRjYmZmZTkxOGE2ZjhlYzZlZDdmYTE1OGFkOWNiYzI0YWI1YWUwZjIgbGVnYWN5LXRydW5rCis3MDI5NiBhYjdhNzIxNWU0NjM2OTUwZjBhY2Q4OTk5YTNjNzU5NTNmYjE4MWZlIGxlZ2FjeS10cnVuaworNzAyOTcgYzVlMjNiOWNlZGNjOTk3NDAzNzY4MDQzZjRkYjZmNTQ5MGE0MTc1NiBweTNrCis3MDI5OCBiMDkxMWI1YTAwMmVkODQxYjZjZjI1Y2Q4MDRlOWU4NDJhMDU4YzBlIGxlZ2FjeS10cnVuaworNzAyOTkgMjE4NTBkNmQ1YjRkNDBhOTZlYzI4ODg2MDRhY2QzOTk4MWI4ZmVlOCBweTNrCis3MDMwMCAwMzgyOTAxYzZlYmQyNzk0NjExNzM2YWZlY2Y4YTdhMTM4Y2Y1OTFkIGxlZ2FjeS10cnVuaworNzAzMDEgM2MwNGQzNGMwNDk3MTdjZThiY2RlOWMzYjY3ZDkzNTU1ZGM0MzQzOSByZWxlYXNlMjYtbWFpbnQKKzcwMzAyIDQzMjJlNmRkMmE2YzllZDY0ODJlMTk5YzRhYzMzNjgwZTNkODM3MDYgcmVsZWFzZTI2LW1haW50Cis3MDMwMyAwYzdkYWM3ZTJmYjA4MTEyYzM3MDE3NWQxZjc5MzBhNWUyODJkZDYyIHB5M2sKKzcwMzA1IGE2MGZhY2M5ZjdjZjU1NWIyNTRjMGNmNzU4MmZjNTA4OWQzMDU3M2YgbGVnYWN5LXRydW5rCis3MDMwNiBmNTFhMjhiMTA0MjY1MTQ1MTBlMzNlNWJkZmM1MDJhYjBiZWYzNjlkIHB5M2sKKzcwMzA3IGNiY2IyMTQxYWVlNTllODRiOTdkZjlmYThlZGFmOTgzNTFjNzAzZDEgcHkzaworNzAzMDggM2VjZjZjM2NjODFlMGViN2ZkZjQ1ZjQ1NjU5N2EzZGZjM2QzYjM3ZSBsZWdhY3ktdHJ1bmsKKzcwMzA5IDhiMGI5ZWU1OGY2N2I4MWFhYmVkY2FlMzEyZGY2NTg5MTY5ODg1YTIgcmVsZWFzZTI2LW1haW50Cis3MDMxMCA0OGZlNjIzMTcxYTQwZDUzYzZmMjYxNjQ1ZDE1MWY3ZjU0NzkzNWUyIHB5M2sKKzcwMzExIDg3NTg4MWZmNjlhNGQ1NDhhY2M5NmNjZTcxZGRhYjNjODUwZjJmZTggcmVsZWFzZTMwLW1haW50Cis3MDMxNSBiZWI3ODgyOTFjN2ExNmE2ZjM3OWVkOGVhMjAwMGMwOGVlODYyZWI1IGxlZ2FjeS10cnVuaworNzAzMTYgNWRmYzQ1YmRhOTZkMDk1MGNlMjRkOWU2Y2E5ODYyMTU1MTEyYWVkZCBweTNrCis3MDMxNyAzNDAwY2IxMGQ5Y2Y3ZDQ2MWVlZjNkMWE4YWYwOGZhYmY2N2U3ZGUzIHB5M2sKKzcwMzE4IDFlYjU3YmRkZmIzOGJlOWQ2OTk4ZmVlMGM5OTVlNDcyMGRiZjk4M2MgcmVsZWFzZTMwLW1haW50Cis3MDMxOSAxZDhlNGJjZWNmMmFhYTk0MTNhNjMwYWQ1NzEwOTNhMGJiMzg0ZWI0IGxlZ2FjeS10cnVuaworNzAzMjAgYmY2N2U1YTg5M2Y4ZWMwYjU0NmRhMjcxMTUxMGE4NjAzMjU1ZmE2YyByZWxlYXNlMjYtbWFpbnQKKzcwMzMxIDZiMDI0ZmY1YjU4ZjZiMmQyZjQ3MGUxYmRiMmY3NTViYTBhNGNmZDcgcHkzaworNzAzMzIgMmU4ZTg5N2ExMjQ0N2YxYzJhZjQzYmZlNDZhOTJjMDA3ZTE4ZTZhOSBweTNrCis3MDMzMyAxYThiYmM1ZmIzZWZjMjVjY2JlYTc4NDA3MjkxNGZhMzZhZWE4ZDJjIHB5M2sKKzcwMzM1IGYxODhkZDY4NjIwZTZhNGFkYjE4NWFkNzFhZTFhMDMyYTY4Y2UyOTggcHkzaworNzAzMzYgMDRhNWI2NDM4NTI2NGU5NjM4YzNlM2I0NDNlOWMwYzhmYjcwYTk0NSBweTNrCis3MDM0MiAwZTg4NTgyYWEzY2U3MDRhMjA3ZDI2MzIzOGE3ZWU2N2M2NzlmOTM4IGxlZ2FjeS10cnVuaworNzAzNDMgZTVlNjRhMGM0YWEyYzMxZTUzN2ZkMTM5ZjllZmRhZmJhZWFhZThjOCBweTNrCis3MDM0NCBiMzYzZTI5NzU2ZmYyNTg2M2M5ODk3MWQ5YmJmNWEwYmU5NjI4OTllIHB5M2sKKzcwMzQ2IDQ4MDQ4M2MzZDkzZTMxMzhmNzFlMDdhNWFjZWE3OGI5ZGY4NDRlMjMgcmVsZWFzZTI2LW1haW50Cis3MDM0NyAyMjc0N2U4NzRmNDZiOTA1MDZjNmRiZDYzZjdkYzU2ZGVmNjMxMzFmIHJlbGVhc2UzMC1tYWludAorNzAzNDggNjMyYWE1Njg0NzRjOTg0ZjEyNmY5MGM5M2RlMDM5YWNlNGRkODhhOSByZWxlYXNlMjYtbWFpbnQKKzcwMzQ5IDhiMTI4ZTA1ZWM3NDU1OWQ4MjE1MGE2ODVkYWU3YTU4YjE0ODA4NTEgcHkzaworNzAzNTAgNzkwY2I5OGY4YjRmYmYwNWQ4ODJmNTM0ZGYyMDAyYzQ5ZWQ2ZTYyOSByZWxlYXNlMzAtbWFpbnQKKzcwMzUyIGE1OTk0NzViNjljMzAwODAxYmI5YTE4MmUxZjRjZWJkYmRjOGM4MTcgcHkzaworNzAzNTMgMWY4ZDExY2Q0Njg0MjAxOWE5MmI0ZWUxOTQyOWZhODJjYTY4YjFjOCByZWxlYXNlMzAtbWFpbnQKKzcwMzU2IDg2MWNkNDZlZWFlZTdmNTM2YTQyNzYzOWJkYWQyMDdkZmQ4NTJhZmMgbGVnYWN5LXRydW5rCis3MDM1NyBhNGM5YjBiMGE4ZTRiZDc0NzI4OGZmYTE2NjZjOGE3ZWNhNjJhZmE2IHB5M2sKKzcwMzU4IDMxNjU5ZjkzNzYxM2NmNjYzZWFmYzA3MjEwYTI2OGIwNDY1ZDgzYzMgcmVsZWFzZTI2LW1haW50Cis3MDM1OSBmMjdjYWFjYjc0MjY3OWU1MGRkOTA2NzliYTdmNzdmNjlkYzFmMDYwIHJlbGVhc2UzMC1tYWludAorNzAzNjQgM2YxOGQ2MDlhYzFiZDg3MjE5ZGVmYTQ4ZmViYmY4YWYxNTg1ZDcyNiBsZWdhY3ktdHJ1bmsKKzcwMzY1IGM1ZmViMDU4ZmZjNGE2MWQ1OTdiOGVlMDhmMzU5OWJhMjI0MTE0ZDcgcmVsZWFzZTI2LW1haW50Cis3MDM2NiAxYzBhMGY3YjRmNzZmOWQ1OGQxNjc0NWYyNGFlZmY2YjA5MmQzYjU0IHB5M2sKKzcwMzY3IDczNzdhNGQ5NWE0NGNhMTM4MGMzNzVlNGI5Y2ZkNDc1MTZjZjUxYzUgcmVsZWFzZTMwLW1haW50Cis3MDM2OCAxZjk2ZDczM2E3NDM5MGU2MTYyYzNkM2RiY2FhMGJiZjE5NzMyMGI1IGxlZ2FjeS10cnVuaworNzAzNjkgNGUxYTE1NzZmMWU1Y2Y1NjhjMGEzMDYyYTk0ODIyOWQ0ZTlhNDFjNSByZWxlYXNlMjYtbWFpbnQKKzcwMzcwIGMxZGM4N2JkODgzYzllN2ViOTc2ZTAyYTZmODI3NDFmMTk1MWU3ZTkgcHkzaworNzAzNzIgMGIxOWJhMzE4MDcxYjFkZTFkNWEyYWFmYmU3NGY2ODY3MjYzZjIyMiBweTNrCis3MDM3MyA2MmY5ZGFkNjI4ZGVmYzE5MzI0YjIwNzBiMzZkNTMyZGNkODNmMzhlIHB5M2sKKzcwMzc1IDY5Y2Q2MTViNzZmYmQ0NjZkNjc3NGZkZjY2MDdmNGE4Y2VhM2VjODAgcHkzaworNzAzNzYgZThmZDc5NzYzYmNjY2ViOGMyZjY3ZDY3YzE3ZGZjNWYyMDc3MWY3NiBweTNrCis3MDM3NyA3MGY1ZjkxMTNhZTExZWM4MGRjMzNkODg5MzQ3Y2M5NzcwYTA2M2M4IHB5M2sKKzcwMzc4IGJlYWYwMGM5OGI3MWU2MzEzYzZjNWNkMDMxMWY0YmRlNThlMDQ2MzggbGVnYWN5LXRydW5rCis3MDM3OSAzN2Q3NmI1YTgyN2JhM2EyNWNiNjI3MzU0MTY0MzVlNjM0ZWE0MzUxIHJlbGVhc2UyNi1tYWludAorNzAzODAgNGU5MjdmYWYzMGVhZWVjMWE0YmMyYWFiMGQwNjQ4ZDNkNTQyMGYzZiBweTNrCis3MDM4MSBlZjdlNDdlYjJiNjk3NWQ1YjVjMmZhYjdjN2MwMjM2OTVmYzczYjM4IHJlbGVhc2UzMC1tYWludAorNzAzODUgNDQyYmRmZTkzYjI5MjFhOWNhOWJhNTFjYjQ5YmU5NjVjMmMwYTdhYSBsZWdhY3ktdHJ1bmsKKzcwMzg2IDIzYTM5Njk3ZmQ2N2U4NTg0MTc3MmRhZGIxNmMyZWIyMjIyZjM4N2YgbGVnYWN5LXRydW5rCis3MDM4NyAxYmUwOWM1YzY4ZTk4YjRmN2M4Zjg5Yzg5OTJlOWU0YTAwNTQwYjY0IGxlZ2FjeS10cnVuaworNzAzODkgZGU3ZTQ3MTZkOWNiYTk3ZWJhYTU2MjdlZTdjYzRhYTMzNmI3NjgyNyBsZWdhY3ktdHJ1bmsKKzcwMzkwIDY4NTUxYjJhNWZhYTI4MDNlNDNmYzNjZGNiMTlkNmQyNmZkNGVkY2IgbGVnYWN5LXRydW5rCis3MDM5MiAyZmU1YmFmODk1Njk1ODFkODVkMjNhMDU2OGJiYjRlYTZhNTZlMTRjIGxlZ2FjeS10cnVuaworNzAzOTMgMGQxOWUxMTY4M2ZmZWI3NWU0ZWQ5NWEzOTRkMDgzODhjZDI5Y2Y5MSBsZWdhY3ktdHJ1bmsKKzcwMzk1IDRlOTRlYWI2YzdhMmQwZGVkMTA2MDFmY2E2NjY1MzM4OGFiYTJjNDEgbGVnYWN5LXRydW5rCis3MDM5NyAxMmViZGE4ZmI2YjMwMGFmMjdhNmI0ZThlNzEyY2Q3M2M4ZDI4MTllIGxlZ2FjeS10cnVuaworNzAzOTggMGJlMWMxZjEyN2UwNDA3NzljZjNiZTQ4YWU5ZDc3NmNlYTdiZGU0NyBweTNrCis3MDQwMCA2YmYwZjNhYjAyNzlhYzEzNzFlMDBkNjcwZDk5MGZmNzE1N2JkMDhhIGxlZ2FjeS10cnVuaworNzA0MDUgZTRkOTg0NGFiYTI1MDFhOWI3OGVlNDQ0YzE0ZjAwYzYwMDQ4MjlhOCBsZWdhY3ktdHJ1bmsKKzcwNDA2IGNiYTYwOTM4MzA3ODFjYjlhYmQxZWM2MGFlMmQzODNiZmQzZDRlZmEgbGVnYWN5LXRydW5rCis3MDQxOCBjY2VkZWYyOGZlMDQyMDIzNzJlOTQ2NTY5ZGJiMWFiNDZjODhiYWZhIGxlZ2FjeS10cnVuaworNzA0MjQgYTMxOTNjMDQxNDk2ZGVjZGZiNmQ5MjI5N2IzMjc1MGY4ODRkMDg2NyBweTNrCis3MDQzMCA2YjczOGI2ZjdmYzY3OGI1NDEyN2M4YzBiMmFlZWRhY2RkNWI1NGJmIGxlZ2FjeS10cnVuaworNzA0MzEgZmQ0YzgzOTI4MDgwOWFjYWE1ZDliOWY5Y2U0MjgxMGUyNTZiZTlhNCByZWxlYXNlMjYtbWFpbnQKKzcwNDMyIDM5ZjRmYTUxYWNmYjgwN2I4OWUzNDQyZWMxYmE5ODhkYjMyNzY3ODcgcHkzaworNzA0MzMgYzM1N2Q3OTI2NGY4Y2JmNGY1ZDcwMmIwOWVkOTNiNDQ4M2FhYzk5NyByZWxlYXNlMzAtbWFpbnQKKzcwNDM0IDdjM2ZlMWE0YTJjZTM0ODhiZWRhZjUwYTAwZTI1NjM4NDJiNTdkOWYgcHkzaworNzA0MzUgMTU3MjQ3ZWI3OTNkYmJlNjc1NmFmMDNhYjNiOTA3NTYxNzlmZTJmYSByZWxlYXNlMzAtbWFpbnQKKzcwNDM4IDE3MWVkNmZmYzg2YzY0Yzk2OTZlN2FjZjgwOTFlOTM2Njc5MDAxMTYgbGVnYWN5LXRydW5rCis3MDQzOSA1ZGVlOTNhOTc1NThlMTgxZTdlMjhhNmZiYTljZmFlZjI4Mjc3ZmQwIGxlZ2FjeS10cnVuaworNzA0NDAgMTJlMTRlNmYxZjJkYjFlZDc1YzVlMzQ4NGZiMWY2MmM5ODBiMmQzMiBweTNrCis3MDQ0MSBhZDRhNzJiMDhkM2U0MTBlN2U1M2JiZDVlYWJmZmIxNTM0N2NiOTE4IHJlbGVhc2UzMC1tYWludAorNzA0NDIgY2FjMjA3MzczYTM0Zjc0YzZkZDE2ZTgwOGUxZmIwMjU2NTYyODMwMiByZWxlYXNlMjYtbWFpbnQKKzcwNDQzIGQ5NWU1YWRkM2NhNGNjZTMyOTA4ZmI3MDFmZDhkZGMwY2EzYzg3YzYgbGVnYWN5LXRydW5rCis3MDQ0NCAyZDk0YzhmZWQzNzZmNzZiOGZlOTZlMjg3NDg2ZjAxMTA4ODM4MGJiIGxlZ2FjeS10cnVuaworNzA0NDUgZmNkZmZkODVhOGJkM2ViZTBlYThiOWJjMDgxNDBkNTMzNGRlMzRlOCBweTNrCis3MDQ0NiAyMDdhNGMyN2E5MTZhZDlkMGEyYjRhMjQyOGRlZmFmNmNiZWQ4ZDlkIHJlbGVhc2UyNi1tYWludAorNzA0NDcgYTUyNzQwNWE5YzEwNjEwODMyNDkyZjZhOWViODljNzM4MjAzNjAxMiByZWxlYXNlMzAtbWFpbnQKKzcwNDQ4IGMzNDBlM2Y0OWJmMzY0OWU3N2FjYTYyYmY2YmZlYTAyMWYyMDFkMTAgbGVnYWN5LXRydW5rCis3MDQ0OSA1OGIyODZlMTVlYmNlNGNkZjk5Y2Q0MDJkYzU3MTA4OGJjNzk4NTI3IHJlbGVhc2UyNi1tYWludAorNzA0NTAgNTkzODBiMzkwYzQwNjI0OWEwNDg2NDljYjJjNmYwYjRlNDAxYjEzOCBweTNrCis3MDQ1MSA2ZmU2NDAxZGE1MWY5Y2FjYmFmMDY2ZmIyNThhZjY2YTNiNTQ0OGU4IHJlbGVhc2UzMC1tYWludAorNzA0NTIgNzk2NDJiNTg4MWUwYTZiMjIyZDc5NmQxNjA0MmVmNGI4ZDk0NDkyZCBweTNrCis3MDQ1MyBkYTQ4NDBiMmJhMDYxMmY3NGMwMmUzZDI1MjZjNGM3MzQxYTRjMjllIHJlbGVhc2UzMC1tYWludAorNzA0NTQgYzczZGQyNWMwMWMxMjA0MTA3MGUxMTAyYmQ3MzBlOTc5MDQxYzdiYiBsZWdhY3ktdHJ1bmsKKzcwNDU1IDZiYTVlZTVhMjIwOTQzYTMwNzIzNzc2YjA2MmU2ZjdkNjJlNjk4NjggcmVsZWFzZTI2LW1haW50Cis3MDQ1NiA3ZDhmZDc5NTVkMTU1NzQwN2IxNGY0NmVmMTI0NTMzMWY1ODJmN2M0IHB5M2sKKzcwNDU3IDNlZTI1OTQ2OWJhODI4MDQ2OGQ3MzY3Nzk2NjJhNzQ0YWQ4MDE2Y2UgbGVnYWN5LXRydW5rCis3MDQ1OCA3YjUzNjBmYTNlMTlmMjkwNmJmNGVkMDM1ZmMyYThiMzYwZGJhZDE1IHJlbGVhc2UyNi1tYWludAorNzA0NTkgYmI1ZGUyNGEzNDNmNjk3MTViMjRmOTk0MWE4MGVlZDllODQyZTg4YyBweTNrCis3MDQ2MCA5ZjQ2MjhiNDY1NWIwYmU5ODIwMTVkNmZlZmRiYzA3ZDA5YTYwYjdiIHJlbGVhc2UzMC1tYWludAorNzA0NjEgZmZlNGI5YTEwMzVjZDM2ODkxNDZhNDkxMGMzYzJjYTJjMjVlNzcyZiBweTNrCis3MDQ2MiAzNzAzMTdmYjk1MTU1NjE4MzhkZTVkNjUwZDk0Nzc3NDMyZjczMzVmIHJlbGVhc2UzMC1tYWludAorNzA0NjMgZDJiNzg4N2Y4YzlhZWMxMDFjYjlmYWMxNzZjYmY2YjdkZDY2NGM2OSBsZWdhY3ktdHJ1bmsKKzcwNDY0IDkyZmVmY2RkYmZlODQwMTUxYTlkZTFhNTI5MmQ4MGY1MDYzODBhNTEgbGVnYWN5LXRydW5rCis3MDQ2NSBmYjgwYjI4MWUwNWFhMGFhZmViNGYwZjg0NDVhZDcwMjNmMTFkYTYzIHJlbGVhc2UyNi1tYWludAorNzA0NjYgN2NmYmJmMmQyOTRlNTEyYTM3Y2ExNzUxOTQ0ZjlkZWNhM2FmYTU3ZiBsZWdhY3ktdHJ1bmsKKzcwNDY4IGUyYzFjYmRhMmE5NTcyNWExMTJjYWE0MzliNDk2ODBmMWE1MzhiOGMgbGVnYWN5LXRydW5rCis3MDQ3MCAxZjczZTA5ODRkNTU5ZTdkYTcyOTVkYzMwYzI3NzYzYmVjODhjMWM0IGxlZ2FjeS10cnVuaworNzA0NzEgYTExYTY3NmZlNmMwNWFhYmUyOTU0MmMwMDIxOWJiYmVlZWFkOTBmYyBsZWdhY3ktdHJ1bmsKKzcwNDcyIGVhZDNkZTQ4YWFkZDc5NmZjYjVkM2ZmNmI3MDMzOTVkMzAzMmMxZTEgbGVnYWN5LXRydW5rCis3MDQ3MyA4ZmQxNzIxYzMyYzQ3NWMzNGIxOTZiMmMwMjgxOWNkYzgxZDZkMjU1IGxlZ2FjeS10cnVuaworNzA0NzQgMTEwMGE1MDZlZGNmMDUxMDY5MjY4ZmJhNzM4ZTBjNjgyZDJlZmQzNSBweTNrCis3MDQ3NSAyOTBjNzUxM2UxMjUzNzVhZTM5NjhmODk0NmVhY2JiMWUyZjI1YjFkIGxlZ2FjeS10cnVuaworNzA0NzYgNDIyZTJlNjc2M2U5YTE3ZWY2YTBjMjM4NjNmNDk4ODhmODhjODYwYyBweTNrCis3MDQ3NyA0ZmRiMTBkYmM3MzY3NmM2MGJiOGQyYTAyMTQxMzFjZjhhZDU0ZDU2IGxlZ2FjeS10cnVuaworNzA0NzggNjY0NjliNjVkNTQ4NDQ0Y2JmOGMxOWU1ZTRjZDQyNmE2MzZhNDk1YiBweTNrCis3MDQ3OSA5YjM1OGVhZTUzMmE2MjFmNTI0NTU2OGUyYmM5Y2ZiZmE2MjAzMTdlIGxlZ2FjeS10cnVuaworNzA0ODAgZDFjMGY1NTA0MGJhZDUyNGIxNmY2MTY4MGEyZTA2YTU3N2UwNmFhMCBweTNrCis3MDQ4MSBlN2NmNDY5ZDBlMTI4M2I3MmJmYzNmNzY2NmY3YTUzNTAyY2E1OTQwIHJlbGVhc2UyNi1tYWludAorNzA0ODIgNWEwMmYwY2YzYzM4MWVkNWNjZDE4YThkZDhjZWQ2YjhjOGY4MGI4OCBweTNrCis3MDQ4MyAzOTU5ZDUwNGI1NGMzNTM4OGRlOGVmMjUyYTk2ZjhlNWQ4YWEwY2E4IHJlbGVhc2UzMC1tYWludAorNzA0ODUgNzg3ZjI1YjEyN2VlNjFkMGE3YTdmNWRkZmE5ZmVlOGVjMWMwZWVlNSBsZWdhY3ktdHJ1bmsKKzcwNDg2IDczZmRjMDc2ODFlMzdmMGI5NDk4YWE3NTA5M2ViYjJiZDM0YmVjZjMgcmVsZWFzZTI2LW1haW50Cis3MDQ4NyA1MDU3N2FlMmMwYzBjNTM5MzMxY2Q1N2UzZDBhMWFjZDIwYzU1YWViIHJlbGVhc2UzMC1tYWludAorNzA0ODggMjI3MzdlOTVmNmY3NTU0NDJhNTAxOTY1YTMzMjdhOGMwNzA3ZjdhYSBweTNrCis3MDQ4OSA2YzBjMTVhMmVkMmQzZmU5NDhhNDY2ZGYxNDA2ODgwNjg1Yzk0MzU3IGxlZ2FjeS10cnVuaworNzA0OTAgYTQ3MGQwYTAyNTZlNzQyZjJjOWY3YTc1Mjk1OTAxMjdkZGVjZmZhMCByZWxlYXNlMjYtbWFpbnQKKzcwNDkxIGQ5MmE2ZGVjOGJmZWQ3NTIxOWU2NWVlZTYzYzdmMTllMzk4MDRjMGYgcHkzaworNzA0OTIgYmM2ODFlNTNmOTRlMDZhZGQwMmRhMGY0MjZhMjg2M2U2YTlkYTU0YSByZWxlYXNlMzAtbWFpbnQKKzcwNDkzIGM1Yjc5NThmNDI5MjA2ZTA5NWVlOGMxNjAzOGRmOWI3OTdhOGE2OGUgcmVsZWFzZTI2LW1haW50Cis3MDQ5NCAyYTNhZjIxMWYwZTExZmE3NDM3NWYyNDkxZDZkOWE3MDQzOGUxMTcyIHB5M2sKKzcwNDk1IGM3YjJjYzgzNThmNjY1NmUyYzdlYjUwMjhjODQ0NDVjM2FiMzI5MWYgcHkzaworNzA0OTcgNWNhY2U3NWJjYjA1NmNjNjI3MjZmMDFmNDY3NmJlZTQxZDc1MTAwNiBweTNrCis3MDQ5OCA1YWE2M2RkZDE1MTM0NTRhNzdmNDE0NjFlZWUwMDE0ODdkMmY4Y2Y5IHJlbGVhc2UzMC1tYWludAorNzA0OTkgYjg0NmQ3MDljYjc2MzI3MDFiMDE1MmQ1OGMxYTRiODY4ZWExNDY2MyBsZWdhY3ktdHJ1bmsKKzcwNTAwIDAyOTI4MTIxMzM4ZDkzMWU0MDIxNTk3M2FkY2Q2MzY4YmViZmU2ZTYgcHkzaworNzA1MDEgNWM1ODIzNjY3ZGRkNWNlZWRlOTQzNWYyMDk5ODFiOTUxNjIyZjA5MiByZWxlYXNlMzAtbWFpbnQKKzcwNTAyIGI4OTM0ZGQ5MjY3ZGUwM2JkNzZmOTkxODZiOGQ3NWExZDZmNjM4OTcgcmVsZWFzZTI2LW1haW50Cis3MDUwMyAyZDZmZjVjZDI2MDAxMjQ2YTE4ZjU2NzViZWE2MGZlNmU3ZjJlNmFkIHB5M2sKKzcwNTA0IGYyNzc3ZWE5NTRjYTI1YmVmMWMyZTkxNGY4ZmIxM2JiOWFkNDdjNjEgcmVsZWFzZTMwLW1haW50Cis3MDUwNiA1YjFmMDJkYzY5YTM5MTkwNWU3MGIwMzc3N2I4NWIzZjg4NTg1MjQyIHB5M2sKKzcwNTA3IDNhYjJlNTJkOGQxOTY5YzE0M2FmMDBmMTZiMWMwYzJiYzA0ZGQ2MTYgcHkzaworNzA1MDggZTQxZjVhODlmNWMwNmU5OWJmNjQ2ZjYyNzY3YmVhMDAxNmQ0NjI3OCBweTNrCis3MDUwOSBjNjY4OGU5MTU2YjU5MTdlZWQ4NjU1MzE2N2ZhYmQwZDIwMmJlNTVkIHJlbGVhc2UzMC1tYWludAorNzA1MTAgMThkNjU2NTEyMzVlNDg5MTMyZDFiODQ4NjJlNWZkMTUxNzViYWIwOSBweTNrCis3MDUxOCBmYjIxZWFiYTk0ZjY4OWVlZDI3Yzk5Y2RhYTkxYjkzMDA3YTkxOTk3IGxlZ2FjeS10cnVuaworNzA1MTkgZDFiMGJkNDhiYTE1NjM4MWI3OWY5ZjFlNDRjZDM4NmNkNDdiYWE4MCByZWxlYXNlMjYtbWFpbnQKKzcwNTIwIGM4N2U1ODI2MmQ1YmNiM2VkMjM1NDI5ZTEzNzJhMDYwNTEzNWNmMzEgcHkzaworNzA1MjEgZWZkMTdjYjU4MjNhOThmZWE2MDE2OTEyNjVkOTdhNDNjMTQxNDg1MSBsZWdhY3ktdHJ1bmsKKzcwNTIyIDc1MmYyZTNlNDc1NzdmYjAzMDNlZjAwODk2ZjU4NDdmMWUyMmY4YTQgcmVsZWFzZTI2LW1haW50Cis3MDUyMyA0NDVkNDA0MjcwZWFhYmYxOGJmNjMwZjliMTBkMzIxMTc1MTY1MzdkIGxlZ2FjeS10cnVuaworNzA1MjQgODU2ZWQ0MTg3NjhjMTkwNjhhYTcxYTIwNDAwMDlkMTJhOGYzNTQxZCByZWxlYXNlMjYtbWFpbnQKKzcwNTI1IDA5NWQ4NzRhMzA1NDlmYWJmZWRmZWEyZWQxMjY5YjQ1NTQ2ZmNkM2YgcHkzaworNzA1MjYgNDM1YjhiYTFhOTAyMzQ0YTUxZTRjMGUzOGJkMzM2NWFlYzliYWRkNSByZWxlYXNlMzAtbWFpbnQKKzcwNTI3IGRkOWZkZGIwNzIwZGFmOWIyY2I5NTc5MmJkN2Q3ZDY0NThkODMxN2YgcmVsZWFzZTI1LW1haW50Cis3MDUyOCA2Y2I4NDMwNzVlNjkxMWYyZGNiYTg2ZjEwMTJlODMxMDYzODFmYTUwIHJlbGVhc2UyNi1tYWludAorNzA1MjkgNWY4YzhjOTE4ZjliMDI5YjRlOTdjNzJhY2U2MzM0NDIyYzJkYmJmMyByZWxlYXNlMzAtbWFpbnQKKzcwNTMwIGFiMzg5ODc3ZjE1MmY0Yzg5YmUyMDViOGQ0MWZhN2QyNTRkZGFhMDggcmVsZWFzZTI1LW1haW50Cis3MDUzMSAxZjcyYWM5MDk0MDhkYzQxNDIwNjE3ZTE0ZDFlOWUyYTE3MTdmNjk3IGxlZ2FjeS10cnVuaworNzA1MzIgNDQyNmU0OTIyNjRmMDdhZGE1MTZlNTczODcwNzBkYWZmMGU2MWMxMyBweTNrCis3MDUzMyAxMTllM2ZjNmNkZjM1ODFkODk1ZjNiOGIyNWY0NjNhNWI4NjE2YjUzIGxlZ2FjeS10cnVuaworNzA1MzQgYjE2MjdlN2U2NzhkN2Q5NTk2ZDVjZGI1NGE1YTk5ZDlhN2EzNjMxMiBweTNrCis3MDUzNSA4ODk3NGNhNTAwM2ZmOWRhY2Y2MTBiYWY5YjQzMDc4ZjI4MmNiNTZkIHB5M2sKKzcwNTM2IDA1YWU5Y2NmZjUxNDRjNzU4NTA1YzA4MzYzZjEwNDY2MjE0OTFhYzQgcHkzaworNzA1MzcgODdjYjk1MDU5MWJlZTFiOGFjYzRmMmQ2ZDI2ZThjOGQxNWM1NTkwOCByZWxlYXNlMzAtbWFpbnQKKzcwNTM4IDY4N2U3NTFjMjg4ZTZmYTU0ZjhjZDAzM2E4NzIwMWNjZGI3NWVkNzAgbGVnYWN5LXRydW5rCis3MDUzOSAxM2Y4ODdlNWZhMGQ3NTAyNTVmZWZhNmM1MWY1YWIyZjNhNzNiNDg4IHB5M2sKKzcwNTQyIGE1NGVmMThhYjBkODlkY2QxZjg3MzRmNTRiZTQ0OTZiZDFlMmVkZmEgbGVnYWN5LXRydW5rCis3MDU0MyBlZGQ0MzAyY2NlYWZlZWU4YjNjMGUxYTEyM2FjMGNiZDE0ZmM3MzAwIHJlbGVhc2UyNi1tYWludAorNzA1NDQgYTFkZGI0ZGU4NWE1MzY4MTk1OGI3MDcyMmMyZDNhOTI2YjAxYTNkYyBsZWdhY3ktdHJ1bmsKKzcwNTQ1IDYwZDA2Yzk4YTYwNWIxMTAyNTlkMDU1NjI0ZGMyYjYyZDNlZTg2MTIgcHkzaworNzA1NDYgMGU0OThhOWZkZTNjMjI5M2Y4OGI5ZTFjZTk3M2Q2YjdmYTdmYTNkZiBsZWdhY3ktdHJ1bmsKKzcwNTQ3IGExZDE2ZDk4YWE0MGRhZjBlYWM0NDllZDEzOWQ1OWUwZjYwMzhjZDIgcHkzaworNzA1NDggYzcwOTEwYWM0OTJkNzk4NDYyYjY4M2FiOTY2NTc3OWI2OGRmMTEwZCByZWxlYXNlMzAtbWFpbnQKKzcwNTQ5IDk0YmQwNjY2ZmZhNzkzM2Y1MWY5YzIwZGUxYjg2YTgzNDUyNzE1NGEgcHkzaworNzA1NTAgYjM3OTEzMDllNjkwNGM3M2I5MGM1MDQyNDMwODI1MTY0YzE3MjcyYiBsZWdhY3ktdHJ1bmsKKzcwNTUxIDY3ZmI5MDMyZDQzYTQ3YmRhZjk5YzYzOGU5MTYyNjAwZDgyOGNkMzUgcHkzaworNzA1NTIgZjZlZGM2ODZiZGU3NTMzYTkwMDMxODNlMjdlNDkxYTQyZjhhYTVhYyBsZWdhY3ktdHJ1bmsKKzcwNTUzIDdlZGQxNDNjZDRlNDJmMzk4NTEzZmJlOWQyNzRiZWQ3MGI1ZjE2MTYgbGVnYWN5LXRydW5rCis3MDU1NCBkY2EzZDY3Mjc1OGUzY2RjNTNkNGVlYmIxYzkxNmE2NTg3MWRmYWNkIGxlZ2FjeS10cnVuaworNzA1NTUgZTRhYTUzMGU1NzYwYjhhY2ZiODQwYzcyZjg5NzM4M2VmNjgxOGJhOCBsZWdhY3ktdHJ1bmsKKzcwNTU2IDEwODQ1ZTE1ZWQ5YjFiNjAxODExZmJiYzZiNjdmNzFhOGIzMDI2M2QgcHkzaworNzA1NTcgZDc0NzYxMmY4YTJmZWU5OGEzNTU0MjY4NzJkMDEyYTI4MTBhMzZmMCBweTNrCis3MDU1OCA2OGFjMjU1MmY0NGUxOWY1ZjU4NjA1MGZlMDkwOTljY2ZiNDA5MDRkIGxlZ2FjeS10cnVuaworNzA1NTkgNmQ1YzhhNTA2OWIwZmZmYzlmMmMwOTFlODY0N2NmOTVjOTA2ODQ4OCBweTNrCis3MDU2MCBhZWRhOTJmMWFiOWI1NzAzYmJjMjc2ZTk3NGUzNDk4YjRiMDc0MGNkIHJlbGVhc2UzMC1tYWludAorNzA1NjEgNTVmMTUwOWM0NWI2N2YwY2M1Yzg1OGRjNTY1ZWMxMzNhMDIxNmRlZCBsZWdhY3ktdHJ1bmsKKzcwNTYyIDU4Njk0Yzc2ZDc2ZDgxNWY4YTRiNmY4YTZiMjA4ODUzZjAxZGE5NTggbGVnYWN5LXRydW5rCis3MDU2MyAwMDI3YzA4M2EwZDRiNDA0Y2VjNzU4ZWM4Y2ZiZjQyM2MwYjE4ZGFlIGxlZ2FjeS10cnVuaworNzA1NjQgZWMzZTI5ZjE2MGRmZDEwMTI2ZWExOGJkNGU5OWU3NGQ1MjNkYmFlMCBsZWdhY3ktdHJ1bmsKKzcwNTY1IDcwMWY2OGY4YjdjZjc1M2Y5NDYwMTQxMjNiMTc1Mzk2MGU0NWM3NWUgcmVsZWFzZTI2LW1haW50Cis3MDU2NiBhMmY2YjJiMzgyYjRjMTFjZDFhZjA4YTJmOGI4YTgxZmNlMWE1NjM3IHB5M2sKKzcwNTY3IDk4NmFjY2UyNjY0MTBiZGFiN2JhZTM2N2FmOWU1MmVhNGE1MGNlOTYgcmVsZWFzZTMwLW1haW50Cis3MDU2OCBmMGE1MDc0MTRlOGNjNzg2Nzc3YjZiYWNhNGZjMGVhMmRmY2I2ZWM2IGxlZ2FjeS10cnVuaworNzA1NjkgMjNjMTJhYzdmMzE3MzZjNjY3NGQyMWI4NGMxZDMzOGYxNDNhZjY5MCBsZWdhY3ktdHJ1bmsKKzcwNTcwIDZlZGI3NDIxNjM4YzBiMjFjYjBhYWQ1YzUwMzkyYzY3NDA0ZGMxZTYgbGVnYWN5LXRydW5rCis3MDU3MSAxMmFkYjgxOTc2NDc5YzQwMzE2NDc1MzI5MGVhYTFhOGUzYzU3YjIxIGxlZ2FjeS10cnVuaworNzA1NzIgYThhOGNmOWIyODE4M2Q0NGQ3MDM3MjhjOGFkNDM3NDA2NDk2ODZkMyBweTNrCis3MDU3MyA5YjU5OWI2MDEyZmE1NGRmNzJhOGYxODM0ZGQ1YjVhMjA3NTkxY2E4IHB5M2sKKzcwNTc0IGQyMTM0MTMzYmYwYzk5NTI0ODM2OTlkMGQyNzdhMTFmOTQ5Y2NmMzUgbGVnYWN5LXRydW5rCis3MDU3NSA4MjBmMzQ3NWIwOGQ3ZjJjNzQxMjI2MzY5ZWY3OTgyMThhNDE5N2VmIHB5M2sKKzcwNTc2IDExZDU0YzdlMDg5Yjg4NTEwOGFhMmI5ZWI5Yzk1OTM1OTgwMjgzYjggcmVsZWFzZTMwLW1haW50Cis3MDU3NyBhOGRhOGFjZGExMjg2N2Q0NzRhZTk0MzI5NDBkNTM0NDhlMDZjNjVlIHB5M2sKKzcwNTc4IGE5NTE1ZjI5YjM4Yzg3MzJmZDNiNTY2OWVhZjE2NmQ5Y2VkM2UxOTQgbGVnYWN5LXRydW5rCis3MDU3OSAyNDk0ZmZkNjBlYWU5OWQwZTU2YjYxMDk3ODJjNmIyNzAxN2M2YjUwIHB5M2sKKzcwNTgwIDYwYjk3ZmM4ZjA2ZGEzNmE0OTE2NzRjYTQ4YjM4Nzk1MjIzMjQyYzMgcHkzaworNzA1ODEgMDA2YzgxZjliMGU4MGVkNjBlMWQwOTI3YWU1Zjg0MWYzZTc5OTRhNyBweTNrCis3MDU4MiAyY2M5MDBiZDZiYjAxNjJjZDBmMmI5MzY3MGQ2N2ZjNWIwYmI5MzYzIHB5M2sKKzcwNTgzIGJhNDI0MDE2ZGI3NDY5NjAzZDU3ZmUxMzVjOTdjNzBiODhiOTFmYjcgbXVsdGlwcm9jZXNzaW5nLWF1dG9jb25mCis3MDU4NCA3OTJhN2Y5MzlmZGRlYWMxYTFjZWRjMTZlYWY4MTVhMzAwYmEzMjY3IG11bHRpcHJvY2Vzc2luZy1hdXRvY29uZgorNzA1ODUgM2FkYjM5NzRlNzc3YzA5MDcyNDQ5ZDFmMzZmMDllYTI2NGRiMGFmNiBtdWx0aXByb2Nlc3NpbmctYXV0b2NvbmYKKzcwNTg2IDhhZDI1MWRhNDc0Mjc0ZjE3YWIwOTNiZGY1NThhMmE5MzMzNDE3NmMgbXVsdGlwcm9jZXNzaW5nLWF1dG9jb25mCis3MDU4NyBmZGM4MDZjNzdjZDZlNDIxNWY1ZjZkMTBiZjVmZjVkM2JkYjlmMTFhIHB5M2sKKzcwNTg4IDNkZjdmMTE4ZTUwNDIyZjZhMzhkNDgxZWRjYjI1NGNhYmYwMmUxMWUgbGVnYWN5LXRydW5rCis3MDU4OSBlZmZmYzdlYWFkNmQzM2U3NGU1NzNkYzc3MTVhNjE4NDI2YWRkOTQyIGxlZ2FjeS10cnVuaworNzA1OTAgNWQ2YzBmYzg3YTcxOGViMzY0M2ZmZjE3M2JkZTczYjJkZWNmNjYzYiBsZWdhY3ktdHJ1bmsKKzcwNTkxIDA2MGVhOTc1ZDU5NzEyOTc2MTQwYjQ3MmViMDc1MTYzNzVhNGQ3MzYgcHkzaworNzA1OTIgNDFlMzQ0ZTU3MWExNjAyMzYxM2FmMTAzMzlhNGFjMjcyYjA0NTM3MSBtdWx0aXByb2Nlc3NpbmctYXV0b2NvbmYKKzcwNTkzIDczZjRlOGFkZmViZmQ4ZDI1ZGEwMWRkN2RmM2NiNDQxNDQ0MTAwZWEgbXVsdGlwcm9jZXNzaW5nLWF1dG9jb25mCis3MDU5NCA3ZDBlM2E4YzJlOWUxYjE2Y2QwM2I2ODgwYTM2YjUxYzU5YzliODJmIGxlZ2FjeS10cnVuaworNzA1OTUgOWY4OTc2NTY1ZjgyNmVlMGU5YTdlMjRkOGQ5NWY2ODE0ZDdiNDFlNiBsZWdhY3ktdHJ1bmsKKzcwNTk2IDhjZDYxN2MzZTc0YjAyOGVkMzcyMTcyMWU5MThlMjMwYjc4NTA4ZDEgcmVsZWFzZTI2LW1haW50Cis3MDU5OCBlZTBmNzUxYjgwMjAwM2M1M2FkNTdhMGFkNTY3Yjk1ZDhlMmNmOWExIGxlZ2FjeS10cnVuaworNzA1OTkgMWZiZWMyOWY4OWU4ZDAyYzUxNWZjNDVmMjdlOTAzZDgwZmM4MzQxNyBsZWdhY3ktdHJ1bmsKKzcwNjAwIGE2NzZkMzZjMDdkZDUzOTlkYjBhMWJjYWRlYTE3ODk3MDU2ZjA4OGYgcHkzaworNzA2MDEgZjVkNjcwZmNkYmU5NmJjN2Y0MjFiOGI0MjhhMjllN2Y5N2MyY2IzYSBsZWdhY3ktdHJ1bmsKKzcwNjAyIGYyNzcwNGY0NWQ0YWYzMzEzNDMzYzJmZDhkM2MxYmU5NGRlZGExYTAgcHkzaworNzA2MDMgOGI1YTgwZjUzMzE3Zjg5OWU3OTkxMmRkMTBkNDM3MWE2YTBmOTcyOSBweTNrCis3MDYwNCBiNmY4NjEzMjFiNDVjZjBmZGFhNGRhNWVhMGQwZDc0MDE0ZjdmOTBiIHB5M2sKKzcwNjA1IDNmZGM0YWEzNmQ3NjcwNzhhZDhkMmIzNmVjMDFjZWIzNjBhNjMwMzYgbGVnYWN5LXRydW5rCis3MDYwNiA2MWVmNjU5YWI3OTlkZjYyMzdkZTI3MDk4YzVmZmRjY2U2OGYzODY5IHB5M2sKKzcwNjA3IDMzODI5Yzc5MWJmNjIyNzBjNmU4MmJmMjNlNGRjM2Q0ZmM5MjgxZDUgcHkzaworNzA2MDggYTEwZDk5NTEzZjllOWVlM2EwNTdlZjI4Y2Y0Zjg4YjFkZDI0Nzg0NCBweTNrCis3MDYwOSBjYzEzY2MyMjRmZjU2OGJlMTFiNmNmNmE2YjNkYjFhYTU2ZTBlYmE3IHB5M2sKKzcwNjEwIDA3YjZmY2RmN2Y5NDk5NGU5ZWFlNmI0YWM4Yjg1ZjdkMDU2NjA5MzYgcHkzaworNzA2MTEgMWUyMzM1OTYyYmFkODU0NmExZTExZmY5ZGQ4ZmEwYzA2MTE0ZDRjMSBsZWdhY3ktdHJ1bmsKKzcwNjEyIDc4ZmVkYzM0MmE2YjEwN2RiYzFiNzIyMDgyY2Y3OWZhZDcwZjJlODkgbGVnYWN5LXRydW5rCis3MDYxMyAwYTA1MmEyODczYjI0MTlkZjY5ZDg4NzI4NDY5MDQ4NmYxODdkOTZhIGxlZ2FjeS10cnVuaworNzA2MTQgMDA3ZTljODZmYjU1YjVlMDg4NGI2Y2E1YTE4M2QyNzU4NTZjMWE1ZSBsZWdhY3ktdHJ1bmsKKzcwNjE1IDRmZTc2MjQ5YTkwOTA3MGVkZDFlOWY1ZDIzODJlNTA4MWFjMjAxNTYgbGVnYWN5LXRydW5rCis3MDYxNiA1NTcyOTBmZmE3ODQ3NjhlN2E5NDNlNzk1YTg0YTViYzZkNTIxYWNiIGxlZ2FjeS10cnVuaworNzA2MTcgOWNjZjgyZTY1MzMyOGYxZDgzOTQ0M2Y4Y2ZjZmY4ZjlkYjAwMmQwYyBsZWdhY3ktdHJ1bmsKKzcwNjE4IGU2MDA5YjljZDkwODRmZmNhZmUwYjI1MzhiNjkzMGUzNjk5ZmVhYTYgbGVnYWN5LXRydW5rCis3MDYxOSAxNGNjOTJhZTk0YzkwNGQwYWNlMzEzYTlkYzkzYjgwMDM3NWUwNTU5IGxlZ2FjeS10cnVuaworNzA2MjAgMjI4Y2ZiNmUyOTAwYzE0NDZjYTA2MmY1ODgyZjEwZTBjZjRhZWMwMSBsZWdhY3ktdHJ1bmsKKzcwNjIxIDc2YmYzNDFhYzIwMjM3YjI0ODllZDYyZmJmNzE3YWRkNTNiZDdhZDggbGVnYWN5LXRydW5rCis3MDYyMiA1MDIzODQ5NGYwZjA1ZGVkNTMyYjUzNTkyY2RkODZkZThmOTEzN2QzIHB5M2sKKzcwNjIzIDcwNTU0NWVjMzI0M2Q0MjcyNTRjZmUxN2NhYTcyMjhmYzZmNjhmY2YgbGVnYWN5LXRydW5rCis3MDYyNCBmMjZjMWNkNmM5ODUwMDVmZWQxNTlkN2UxNDYxZWIxM2UwYWMwODg5IGxlZ2FjeS10cnVuaworNzA2MjUgZWRmNjI3MjYxYzdiNTU4YjBmOWMxZjFkYzU1NmQ5ZDA4MmY1YzY2YiBweTNrCis3MDYyNiBkYWRiZTAxNGJkYTRlMjc1MGUyZWRmMjVkYjEwMjQxZGI4NWE0ZWU0IGxlZ2FjeS10cnVuaworNzA2MjcgZDIyNzU4NGMxYzdkOGU3MDY0N2I5Njg4YmQ0MzA3ZTcyZjQxZThiOCBsZWdhY3ktdHJ1bmsKKzcwNjI4IGRhZjY2MWQwNTQ0MmE3YWRkODhhMzM2ZWM1YjZhZjcwZDgwOTA3MDEgcHkzaworNzA2MjkgY2EwMmJkOGM5NmYyOThiZjlhMmE3MGM4NTMyYmQ0NjhkMDM3NWE4YiByZWxlYXNlMzAtbWFpbnQKKzcwNjMwIDQ3NTgwODY5OGVhZmFhYjYwZDc1OTBlMjgwOGI3ZTAzN2Y4OTNjY2EgcmVsZWFzZTMwLW1haW50Cis3MDYzMSA3NWUzZmUzYzA3MjY3MGQwNmI4YTFiODQ2ODQxN2Q4MjAyZmE2ZjhkIHB5M2sKKzcwNjMzIGVlNGEwMDZkMDE3MWVjMTQ0YWU4YTY5NDEwZWE4ODRiOGQ4ODA2ZjUgcHkzaworNzA2MzQgMTBhODRjNjM4ZWRhMTI5NTY4ZTYyNmNiYzVmZTBiZmUxN2I3ZDg2OCBweTNrCis3MDYzNSA4ZDY5MThhZjIzMmJhZjdlOGU4ZDIwMjE4NmFiM2ZiYzc1ZWI4MjU2IHB5M2sKKzcwNjM4IDhiNjkxNjkwYmFiZDcwODA3NjRlNGFmMzZkNmM2YTkxOTM2Zjk4MjYgcHkzaworNzA2MzkgOWFiNzU0MTEwNDMxNWZhZWFjOTk1ZDM0ODU0M2U0NzE5NTMxN2QwMiBweTNrCis3MDY0MCA0MjY1ZDZjN2MwNzQzY2QyOTkzZmI3YTk2MWRhNWYzODc5NDAwNzA5IHB5M2sKKzcwNjQxIGZiYWQ0MmM0NWM5Y2I2YzQxZjkwZDVlNWI1YmUzOWQ3ZGM2ZjU3ODggbGVnYWN5LXRydW5rCis3MDY0MiA3YWZmOGE3NjZlMjUwNmRhNzZhYTM2NzQ1ZmVmOWFmMGM0Y2I4MTg3IGxlZ2FjeS10cnVuaworNzA2NDMgYTcyNmY3OTI4NTYxODU0MmRiYTZkN2Q0NjBhOWEyZmExYmUxODk5YiBweTNrCis3MDY0NyA5ZGY1ZDA2OTQ5MjFhNjJkODBiMTgzNWIxMTMxY2Q1MTViMDNmNGM2IGxlZ2FjeS10cnVuaworNzA2NDggYjczY2RhYzZhMGMzOGM4NWE4NjQ2NGEyYWJlOTBmNzAwODI3YjlkZiBsZWdhY3ktdHJ1bmsKKzcwNjQ5IGJiOTBlYzY3ZjMxNDg1NzI2N2ZlNTQ2OTEyMDJkYjAwNWM0MTA1ZWMgcHkzaworNzA2NTAgZGE0NTZmNDJlYmU3ZTdhOGVhOTExMjRlNzk1ZThhZjVlYjljZWIwMCBsZWdhY3ktdHJ1bmsKKzcwNjUxIDNhZGQ0MDBlNDE5ZmYwMzIxZWU5ODVmODMzNGFmYmQ5MWM0ZDRkM2EgbGVnYWN5LXRydW5rCis3MDY1MiAxZjVkYjk0MzdkYjg4YzVlY2Q3ZmZmYzJkN2Q3NjJkY2JiZTU3YTAzIGxlZ2FjeS10cnVuaworNzA2NTMgNDk4M2ZkMTk1MDM2NmJjYTllYzkzNjViY2ZjNjJmNGI1YWUxYjM1NyBweTNrCis3MDY1NCBiZGZjNGIzYTkzNDcxOTUxYzgxMTMyODA1MzI4OGVkYjgzNjM0ZDdlIHJlbGVhc2UyNi1tYWludAorNzA2NTUgMzkxODcxZjZjMTY0MmJkNjhhZDQ4MWQ3ZjM4ZDQyYWYwYWQ0ZGRjYyBweTNrCis3MDY1NiA1ZWYxYzFkNzRjNTEyMjdhZDc2MGI5M2YxNmNhNWE2ZmIyMzc5ODc4IGxlZ2FjeS10cnVuaworNzA2NTggOTc2YjA3OTk5NTg5OWI3OWIwNTViZTRkMTg2ODhhMGFlNGM2NDQ4ZSBweTNrCis3MDY2MCAzNzQ5Yjg4ZGJiNjEyNzVmNWI0ZWIzODg1ZDQ0YzJkODNmZmJkNTNhIGxlZ2FjeS10cnVuaworNzA2NjEgNTVkNTQyM2JhOTg3Y2VjZTY0MjY0NjUzODUxMWZkMmViNjA5NDZlOCBsZWdhY3ktdHJ1bmsKKzcwNjYyIGQ0ZTc0NzBiZDY2MDQyYzJhYjk0Y2MxNWVhMzk0ZWYzZjQ2MzBiMDIgcHkzaworNzA2NjMgMTUwZjU2OGQxYmEyZDAwYjQ0NmJiMmM0YTNjYzc5Yjg3ZTJlMTA2YyBweTNrCis3MDY2NCAzYTZkMjdkODA4MjI5NWUyZTUwMTg2N2MzMTJlMzM2YWYwYzEzMTEyIHB5M2sKKzcwNjY1IDFiNzI3M2FlZDM2Y2VkMGJmN2E2YjA3OGM5MTE2Nzc4YWY2YzVkNTMgcmVsZWFzZTMwLW1haW50Cis3MDY2NiBkMDU5MzkyNjNhMGU1MTVhMDAyZWUzZGQ5NGZkYjlmMTMyNDA3NTljIHB5M2sKKzcwNjY3IGI3OTQzMTljMTI1ZWI0NWNhZDAzMGRlYWJjMjlhOTc2NTRhZjYwM2QgcmVsZWFzZTMwLW1haW50Cis3MDY2OCBkNTVlMDViMDZlNGEyYjBlN2ZkMGZlNjNiNzg5ZWFmNGIyNjY0OWJkIGxlZ2FjeS10cnVuaworNzA2NjkgN2FkZDQyM2FmOTcxMDk4ZjM5NmUzYTliODM0NjNjZjJhYzAyMGNlNCBsZWdhY3ktdHJ1bmsKKzcwNjcxIDM2YjM1OTJmMzAyM2I4NzQyMTVjMTBkNTZmZDNmZTFjYTQ0OGFiODMgbGVnYWN5LXRydW5rCis3MDY3MiA5MTM0YTIwOTEwMTNjNWZhMzk5NjM1YTQ2NmJjMzcwNjk0YTc3YzU5IGxlZ2FjeS10cnVuaworNzA2NzMgZTMxNGI5NmZiNWFkMzYyOTJmY2FkOWM2YTU3NjdjYTAwNzMzYzI2YSBweTNrCis3MDY3NCBlOTg5MTU5OGE0MzM0NjRjMjc0OTJiY2M3MDBhNDYxMzBiNmM2OTI3IGxlZ2FjeS10cnVuaworNzA2NzUgZWY2MTJiZTc3MWVkY2VmYjVlZjQ5ZGE4NDhjZWEyMWUwNGU3MGM4ZiBweTNrCis3MDY3NiAwMDEyODhhNjhlOGIwNzQ4NGJiNGY1ZTFhMzdhZTMwMWY0NmYxNmMzIHB5M2sKKzcwNjc3IDQ2YTQ1ZWNjYzlmNzAxZmFjYWI2MzBlMzc3NjYyZWU0ZDYxZWZkYzcgcmVsZWFzZTMwLW1haW50Cis3MDY3OCAwMTk4MTViYzM3ZWFmMTJkOWQ4YTQ3ODJjNDYxNTc3YjMyMGQwNTEyIGxlZ2FjeS10cnVuaworNzA2NzkgNDIzYzk0NzdkNmVmZTZlYzgwNzhjOTUyM2ZhMWI5OTA1ZjAzNTBkNyByZWxlYXNlMjYtbWFpbnQKKzcwNjgwIDAyZjI5NGEyODIwNmZiMGNmNzllNzE3YWZkNTJkMmZlMDA2YTIxMzEgcHkzaworNzA2ODEgZjQ5YTk3YTk3OWViMDkwOGUwM2E4MjM3OThjMTFlNjNmN2UwMjE2OSByZWxlYXNlMzAtbWFpbnQKKzcwNjgyIDFhZmIzNjVmMjQ0ODIyMjdlOWIzZmM4NTMwNjU4MjFjYzUyNWMwMWEgbGVnYWN5LXRydW5rCis3MDY4MyA2ZTU5MWQ0ZGM2Yzk2ZmI0ZjA1NDBjOTk4Yzc4Mzk5NjZmMzg1ODdhIHJlbGVhc2UyNi1tYWludAorNzA2ODQgZjA1YjZkOWFkYmU2NDc3NTc2NGFiODY0OTg4OGZmZDFmZjU0NjlkYSBsZWdhY3ktdHJ1bmsKKzcwNjg1IGJhZmFkNjFjZjMwMjYyZDc3MmRkNjUxMDM1MDQxODUxOWNiZjJhOWQgcmVsZWFzZTI2LW1haW50Cis3MDY4NiBlNTA4NGQ1MTQ4MDllZjAxYzYyZDQyOWY3NDdjMzgyMTNjYzliZDQwIHB5M2sKKzcwNjg3IGIwYzVkZjhjODRhMzQ0MDRkNTEzNDZkOTRiNTUzYmUxODkxYWE3MTUgcmVsZWFzZTMwLW1haW50Cis3MDY4OCBmMTcxYmFjOWY5NjFkMWQ3MTM3ZmQ0ZTBmZmNhNGQzMWFiNmMwMGM2IHB5M2sKKzcwNjg5IDk4MDdjMjZjYmM5OWZhMWUwMTU1ZGY5NTgyMDdmODY5M2VkNDIzODkgcmVsZWFzZTMwLW1haW50Cis3MDY5MCBhM2I4ZDE5MWVjNjgxMmVlYjViZDJmNjk2OTJjZjU4MmVmYTMxNmQ5IHB5M2sKKzcwNjkxIDA1MDdhYWI1ZmIxMTlmNTkwZTI5MDBhMzQ2M2YyNzY0OGMwMWVhZTUgbGVnYWN5LXRydW5rCis3MDY5MiBiYWVlOTA1MjExMTBkYTI1NWI4YWNlMDJlOGYzN2Y5ZDNmNTM5MDQwIHB5M2sKKzcwNjkzIGJlZjAwY2E0M2VmYWU2ZDliZGMyYmM4ZTNmMjQ1ZmI0NzMwOWYzYzMgcmVsZWFzZTMwLW1haW50Cis3MDY5NCA5MmJjMWRkYmM1NzI0ZjRlMWZlZGFiMGZjYTFjOTZlNGVhMDlmMTE0IHB5M2sKKzcwNjk1IDk3NWIyMDM5OWM4ZDAyOWNiZWRiYmUxN2IyZWJkOTViZjJlNGY5NTUgcHkzaworNzA2OTYgN2I1ZmJiZTdiMDA5YzRmMmJkZGZjOGIwZDg0NmEzNmFhNjdkZGFkMiBweTNrCis3MDY5NyA2ZTFjNGEyOTYzZTRjNDFkNjMyZjI2NDkzNzBlYTJhNjdiNTI2N2YxIGxlZ2FjeS10cnVuaworNzA2OTggOWMyM2M1NGU2YjE1OTY3NDZiYTM4YTU2ZTU3Zjc0ZTUyOTcxODlmOCBsZWdhY3ktdHJ1bmsKKzcwNzAwIDZhZDliMDFmOTVmOTk5MWE2ZTQwNDExYmY5ODRlNTU5Nzc2OWNlMjkgbGVnYWN5LXRydW5rCis3MDcwMSA3MWI2OWE4NzNkMjEzMTY3MDgyYzEzZDQ1ZTJkZjlhNmVmNWM0YzQ1IGxlZ2FjeS10cnVuaworNzA3MDIgNjg1ZjE3OTFmYmM1OWE5NzQxNTk3ODliM2VlOWUyOGMzOWYxMGEwNSBsZWdhY3ktdHJ1bmsKKzcwNzAzIGE3YWU3M2EzNzgwNTk0ZjMzN2ExNTIxOThkNDljMGZiZjlkYmYxYzEgbGVnYWN5LXRydW5rCis3MDcwNCAyZDgzNjQ5YTk0Yjc1YWM2NDU0ZjUyMWY0MDViMWUwZDk0YjBkNjA0IGxlZ2FjeS10cnVuaworNzA3MDYgZmNlOGYyMzg0NTJlMWNhZDlmNTgwYzRlOTdkYzE1MTE5OGEwMWI2MSBsZWdhY3ktdHJ1bmsKKzcwNzA3IDExYzMzNWE5NmY2MGYxZDljZGMyYWI4ZjI2MDFkMGI0MTNhZjg5MzQgcHkzaworNzA3MDggOWU0YmI5NDFhMWVhNTVjNTBhMGZkYjdmOTQ5YzgxODcwOTlhZGRmYiByZWxlYXNlMzAtbWFpbnQKKzcwNzA5IDAwNTcxMzk0MWExOTNhMDY5Mjg5MTZhMDQ2Zjc1ZDE1NWQ3OWY2MDUgcHkzaworNzA3MTAgY2MwMmM5YzI5MGE5NDg0YmI5MjY5YWVmYTk3MTQyOWU1MTI0NGE4YiByZWxlYXNlMjYtbWFpbnQKKzcwNzExIGI5ZDZmZGYwZmJiMzYxZjk4YTkzYTIwNzQ5OTE4OTUyMWU3ZjgzMTUgbGVnYWN5LXRydW5rCis3MDcxMiA4NGU5OWVmYzY3YjJiMWEwZmFjYmZjY2JiYjNmOWQwMzg2MmNmMDc3IGxlZ2FjeS10cnVuaworNzA3MTMgZjVjMmJjYjA5NDdiOGFhNTZmOTYzOTZmNmUxYzhiZjBhNDBjYjNiNCBsZWdhY3ktdHJ1bmsKKzcwNzE0IDE0Y2FlMTE2MDY5ZDNjZjVkYzc4N2I5YjBmMmQ2YTUyZTc4OTlkMmUgbGVnYWN5LXRydW5rCis3MDcxNSAxYjdjY2NhMzRmMmZhNjhmYzljNWVjODM1ZmY1MmY5MGI1NDA5ZjEzIHJlbGVhc2UyNi1tYWludAorNzA3MTYgYWFhZjMyNjk0ODc2YTc2OWIwOTA4MWU4YjQ1NzkwMzcwZDcxYTEyNyBsZWdhY3ktdHJ1bmsKKzcwNzE3IDk2NTIzMGIzMzc5ZjFiODI1YzJmMDA5YTYwNzgxNDA3OGJkYzg2M2EgbGVnYWN5LXRydW5rCis3MDcxOCBiOWM0OTllOWY3NGRhOTViOWQ4MzFlNDkxZDhhODA5YTViYTNhMmNmIHB5M2sKKzcwNzE5IGI0YTRmNGI2MDhhYmIxZDBkZjA1YWE3ODcwZjQzNzI1OGMwMjk5NDAgbGVnYWN5LXRydW5rCis3MDcyMCBhYzE2NGI1NGM4YThhM2MxNmM0MzU1Mjc1NTUwNmE0NGRlYjM1ODA0IHJlbGVhc2UyNi1tYWludAorNzA3MjEgYjRhZDU5NDhlMTk3YjI2YjQ5NjRhOGMxNTFlZmVlZGM1MmUyYjRhYiByZWxlYXNlMjYtbWFpbnQKKzcwNzIyIDEwMTRmMGFiZGI1NzIxMDNjZjc5N2UyMzE2ZTZiZDA1ZmNiODdlNzAgcmVsZWFzZTI2LW1haW50Cis3MDcyMyA0MmU4N2ZmOWY2NWRiZDI2NzRlOWY3MjliMDBiZWIxNTkzYjY0MTFlIGxlZ2FjeS10cnVuaworNzA3MjQgZWI1NTJhNTkwOWZiOGQyMTc2ZGM1OWRiMmViNGViNjdlNWE2ZTNhOSBweTNrCis3MDcyNSAzOWI2MmIyY2IyYzc2MDIzZTBkMzkwMGJhZTVlZjU2NGYzNzI1MGIwIHB5M2sKKzcwNzI3IDhkZjRlMGMwNmU5NDAyNjNhMjg0ZWY5Zjg4ZTRiZmQyYmQ5NWI4NWQgbGVnYWN5LXRydW5rCis3MDcyOCAyZDM4ZGUwMDJiYmViYmYwOTdiOTY1YmFjM2FmNjk4OWNlNWQxYzFhIHJlbGVhc2UyNi1tYWludAorNzA3MjkgMDhiZjMxODQ4YTQyMmFjMTkxNmM2MGU0MTI2NDliNTdiMTYzMTNkNyBweTNrCis3MDczMCAyYmZmOTEyMWJlMGY2NGM5ZTQ3OGM2M2JlODQ4ZmY1MzVlZmMxYmQ1IGxlZ2FjeS10cnVuaworNzA3MzEgMTc1YmE3NmU5YzJiNzRiMjhjZDBjMjkwNjhhMjM4ZTkzYzMzY2NlMSByZWxlYXNlMjYtbWFpbnQKKzcwNzMyIDk4NjU1OWRhNTRkZTE0MTA0YTRhZTBkMWMwNzg0Mzc0YzM4MTJlZmQgcHkzaworNzA3MzMgODFhYTQwYWIzNDZkOTYxNmIwMjgzNThmMmZkZTc4OTQwNmVmZWE0ZCBweTNrLXNob3J0LWZsb2F0LXJlcHIKKzcwNzM0IGYyYzkwZmQwNWQ2NmRjOWM3OGQxMWMwNjA5NGQyYTdkN2NjYzllNmUgbGVnYWN5LXRydW5rCis3MDczNSAxNGUyNzUwZTI1MDZlNTY2YjUzMjI5MzdjN2VlNTdjMmRiMmRjYmEzIGxlZ2FjeS10cnVuaworNzA3MzYgMzk1MjM0NjFlZjdlMjQ3MDM1ZThmM2ViMDM4OGUwNGM4YjRmNTEwMyBweTNrCis3MDczNyA5NzRjMmJlZjI4MDBmMGFkZTRhNThkMmVjYmE5MDU2YjY4ZWYwOGQ1IGxlZ2FjeS10cnVuaworNzA3MzggNTczMDg1MDE1YWE4OTM0Njc0OWQyNDU2ZjM5ODFiZTllMzIzNThiZCByZWxlYXNlMjYtbWFpbnQKKzcwNzM5IDg1N2JlNWQ5NTEyMDhjYWUwYTEwN2Q5YWQxYjBjMDY4Mjg5MzRlNDQgcHkzaworNzA3NDAgMzc2YjgyMWRiNDI4YjhmNzVkNWUyYzQxYWU5ZGE5NzA2ZjA5NTY3MyBweTNrCis3MDc0MSBkZDk3ZDNjM2ZjNjYxOGY0M2ZiYWE3OTI1MDc0YTlmNTM5Mzk4YmRmIGxlZ2FjeS10cnVuaworNzA3NDIgM2I1YmNiOTNiZDExOWRiODZkMzdmMWZkNGYyMGRlOTJjMjE1YjgyMCBweTNrCis3MDc0MyAwZTM4Yjk0MWQ5ZTQ5MGJlYjZhMzAyZjJkNjcyZmRlMmM1OGEyZDNkIHJlbGVhc2UyNi1tYWludAorNzA3NDQgNTRhMTA3NjM4Mzg5NTU4M2I5ZDFkMTkwMjk1ZGExY2ZjNGU3NDYyOSBweTNrLXNob3J0LWZsb2F0LXJlcHIKKzcwNzQ1IDJlNWUwMDFkN2QzNmFkM2I0NTIxNGM5NTU0ZjNkYTQ1NjYxMzcxMTYgcHkzaworNzA3NDYgOTk4MjljOTA4MDU4MTI3ODNlZDNiODE4OGRlN2I0MjAxMGU0MGEwOCBsZWdhY3ktdHJ1bmsKKzcwNzQ3IDEwYTYzYjkzMGNiYWUxNGYwMDM0NDk0YjBkMWQzMjMxZTIyODNhNTIgbGVnYWN5LXRydW5rCis3MDc0OCAyNjhiOGViMzFmNDkzNmUyZWZhZGM0ODcxMGZlOTJlMGNjODJiMTljIHJlbGVhc2UyNi1tYWludAorNzA3NDkgNTJjMzZlNDUwYTQ4YWM1Y2E2NWI2Mzg3ZDVkOTI1Y2FhZjE3YmY2ZCBweTNrCis3MDc1MCA3NTcxYWFjM2UwYzIwYTM3M2EyNWZiZjU2YzU0ZjU3NTQxNjZlOGYxIHB5M2sKKzcwNzUxIGI4ZTg3ZWRmMmY2NjI4NzJmYjU2ZTMwNmEyNDE4NWFiNWUwNzk1OTAgcHkzaworNzA3NTIgZWNhOTM5MDIyYjgzMmUzN2I3ZDY4ZjBkNjM2MTQzMTkwMDQ4N2I3ZCBweTNrLXNob3J0LWZsb2F0LXJlcHIKKzcwNzUzIGMzNzFjMDkyNGYzNTNjOWE5MTY2NDQyZmViMzkwZjg4ODY1N2Q3YzkgcHkzaworNzA3NTQgZGU2M2NiYzU2MWI2OGU2YWM4YmE2ZmE5NTY0M2FhZjMwZDBiM2I2NCBweTNrLXNob3J0LWZsb2F0LXJlcHIKKzcwNzU1IDQ1YTcxNzQ1MDk2MWM2OGM5OGRhODE1N2EzOTljZjhkMGVkMTVlZTUgcHkzaworNzA3NTYgNzgwZDY0MDFlZWQ2ZDVmZmFhNTA5MGFjYWZmZWQ4ZjYxNDMzNjgwMSByZWxlYXNlMzAtbWFpbnQKKzcwNzU3IDJmZjg5ZjBmMWQxOTAyYjgxNzEyNjViZDYwZTRiMGE2YzUyMDA3Y2UgbGVnYWN5LXRydW5rCis3MDc1OCBmY2ZjMmM5OTRhNGFhMGU3NGQ5NDBkOGFhMDBlNTU4NTRjZGU1ZTE2IGxlZ2FjeS10cnVuaworNzA3NTkgODM0YTNhOTZkM2FiNDgzYmFhYWIxYTk1ZDBlMmM5ZWZlODYyYzk2ZiBweTNrLXNob3J0LWZsb2F0LXJlcHIKKzcwNzYwIGU5ZmYwZWZjZmZhOTA4YWQ4Y2YwN2NiMzVkN2I1OTg5OTNkYWMwYTAgcHkzaworNzA3NjEgMWU3OGIzZGNjYTQyYWYzY2ZkN2ZlMWRlM2QyNWExMjc4YTYyYjFjNSByZWxlYXNlMjYtbWFpbnQKKzcwNzYyIDgwMjcxY2UwOWE2NmZiZDk5YjgzM2Y3NThiMDFhNmJkNGM1NzM3ZDkgcHkzaworNzA3NjMgOTRiYTJmYWQ5Mzc4YTY0M2E0YWM2M2UwMTA3YjNhNDYxMjYzZmZlMCByZWxlYXNlMzAtbWFpbnQKKzcwNzY0IDgwZWM1MGQxMzg1N2YyODk0MjZlMzdjNmM5NTQ4YmYyOGMyZDBjN2UgbGVnYWN5LXRydW5rCis3MDc2NSA0MjM5ZmE1NjI3MzVhYjExNTRiODhiZWY3N2U5MDg3ODZmMjMwZjUxIGxlZ2FjeS10cnVuaworNzA3NjYgNTZhMDlkZDBlMGYzMzAxNDdlM2YxOWEzNGNjNmY1NThjOGQxM2I4OSBweTNrLXNob3J0LWZsb2F0LXJlcHIKKzcwNzY3IGY2YjA1MDVhMjJiMzlkOTY0NzIyZDM2MWY4ZmU3YzQ2ZjYxMDY1NGUgcHkzay1zaG9ydC1mbG9hdC1yZXByCis3MDc2OCA0M2ViYTc4OTE1OGZkY2EzOWIxMWYzMjJlZDE3N2Q4ZTgzNWM1NmExIGxlZ2FjeS10cnVuaworNzA3NjkgMmYyMjI3MWNmOTI0OThiODJiZGZlNTJmOWMyMzE2M2IzZTE5ZDRiNyBsZWdhY3ktdHJ1bmsKKzcwNzcwIGEyODg3MTA5ZjM0MDY4ZWQwZmMwNmE1NGQ1ZTgwZTlkMWZiNWYzZGMgbGVnYWN5LXRydW5rCis3MDc3MSAwYWZiNWQ4OTQ2NjE2NGZkZDhlOWFiNjA3MzVmNmUwOTg4OWI4NDRhIGxlZ2FjeS10cnVuaworNzA3NzIgNWRlYjI3MDQyZTVhNzllMjQ3ZTNhZGM5MWNjNjBiNmIzNGViMDA3NiBsZWdhY3ktdHJ1bmsKKzcwNzczIDNmODFkOTk0NWU4MmEwZTk4MWJiYTEzOWJiZmJmMjNjZTNkYzkyYjIgbGVnYWN5LXRydW5rCis3MDc3NCA5ZDE3OGNiNTQ2NmEwZDc0MmNhOGE2NjE3NWVmZjE4YjJjM2NkNWE0IHB5M2sKKzcwNzc1IGY0YzVlM2E2NGJlMjNhNGVjYWZkYmNkOGY2Yzc4YTA3MzY5MjMzZjggbGVnYWN5LXRydW5rCis3MDc3NiA1ZWNlMDc4NWRmODEzZDU1Y2NhYWFkYTQ3ODg0NWI1ZjE1ZDRmYTkyIGxlZ2FjeS10cnVuaworNzA3NzcgZTAxMjRmNTQwZWU1NjQ4ZWE5MDMyM2NjNzE0NGFjYTkxMWYxODVhZSBsZWdhY3ktdHJ1bmsKKzcwNzc4IDg5NzZlYzJjZGZlNWRiN2U4NWI0NmUyMGE3NmZlODYyMTA2ZjliOTYgbGVnYWN5LXRydW5rCis3MDc3OSBlNGVmY2IyOTkwZTI1ZWI1ZWMwZTM5NzE3ZGNiNWU0NmFlZDUxOGY1IGxlZ2FjeS10cnVuaworNzA3ODAgOTcwNDk2ZGIxNGJjZGI5MTdiYzI5NjMxODgwZTI2NDUxMWFhOTYyYSBweTNrCis3MDc4MSBkY2FjMDQ1OTIzMDI4NDg0M2RhZjIzYmJlNWFkYjU4OWE1ZTUwZmM2IHB5M2stc2hvcnQtZmxvYXQtcmVwcgorNzA3ODIgMGQ2MmNjNWI0OGQ1Y2VjZTQ5NzQ2ZjYxN2E5Mjg4ZTZmNWZkNDcxZCBweTNrCis3MDc4MyBlYTRjNWMzYmM3YWJiOGMzMGM1MjQ5ZThmYzAxNGI0ZDcxMmY1NTM5IGxlZ2FjeS10cnVuaworNzA3ODQgMTFhNDU2NDc3ZTgyNTg3MzNmMzI1ODlmN2EyYjRmZWRjNmNmYjhjZiByZWxlYXNlMjYtbWFpbnQKKzcwNzg1IDgwM2QwMjczY2JmN2MwOTA1NjkwZTY1YjEyNjUzY2RjNWY0ZGIyZjIgcHkzay1zaG9ydC1mbG9hdC1yZXByCis3MDc4NiA3NWVjMTJiMjQ0NDhlMmI0ZGMxY2Q1NWRmNGJiMDYxMTU2MjAyNjNmIHB5M2sKKzcwNzg3IDg5ZGVhM2RmNGNiNTc1MGJhZjdlZmE1MWQzZGY3NzY4YWMwYmVmMTYgcHkzaworNzA3ODggYzY5OTU0NzA1M2E5OGMxOTdiOWEzMTYwZDExM2IwYzE1ZWMzMTBjZiBsZWdhY3ktdHJ1bmsKKzcwNzg5IDEwNGNjZDA2NDYxYTg4OWEzNmU0YjQzMDlhYThjMzQ2NjA1NWUwZDcgbGVnYWN5LXRydW5rCis3MDc5MCBmMjhlNmY3ODIxYjMxYjc0NmUyZjZjYjNmZDk3Y2QyODJmNDI0ZGU4IHB5M2stc2hvcnQtZmxvYXQtcmVwcgorNzA3OTEgYzFhM2NlYzBhY2Q0MjdmMzE4YTFmZDMwMjUyM2M1MTBiNmM5MjhkZSBweTNrCis3MDc5MiA3MmJiYjBmOGIwOWE3MjE0YmZkMDExOWIxYzM5ZTQyZjViZDQyYzgwIGxlZ2FjeS10cnVuaworNzA3OTMgMjZiMWFkMDlkMWE3MjM3ZjJhMGRiNTJiMmFmYjlmYzhiMzU5NGY3MiByZWxlYXNlMjYtbWFpbnQKKzcwNzk0IGVlMjIyYzRkMTI5YTJmNjg1YjhiOTI2NGYyYTRmYTI5ZDMwNjBlYWIgcHkzaworNzA3OTUgNTIxOTVmY2FiMTkzZDY5NDdlM2JjZWQyMTlmM2ZmZTkxMzQ0MGUzOSBweTNrLXNob3J0LWZsb2F0LXJlcHIKKzcwNzk2IDM4MDkzY2JlZDZhNmRjNjM3OGQ0YzZkNjY4MWQ1NGUyNzAwMjU5M2MgcHkzaworNzA3OTcgZDEyYjAyYWJlNmRjYjQ3YWIyYTE5NGMxNjdlZDIxNjVhOGViY2NhYiBweTNrCis3MDc5OCAyMzFkNjFjNDNlOWNkZmRkNzY0NWVhNDNmZTU1ZTAyZWJhZTYyMmUyIHB5M2stc2hvcnQtZmxvYXQtcmVwcgorNzA3OTkgM2RhOWRjMGM2NWM2YjFmMGFkNDJmMDZlYjgyNjc3MDFhZTQ2MjM0NyBweTNrLXNob3J0LWZsb2F0LXJlcHIKKzcwODAwIGE5MWNmMGRlZmJkNjc2NjhlNGMzN2Y2ZWMxODRiZjAxYmJlMjY0ZDkgbGVnYWN5LXRydW5rCis3MDgwMSBkNGY4NjY3MzliYjI0YzM0MTJlZDc0ZDM1MWFlMmE2YWIxYzE0MDMwIGxlZ2FjeS10cnVuaworNzA4MDIgOTYyZWJhNjIyOTlmYjg4ODg3ZWQwOGZhNzRhMTQ2ODk0ZTAwZTk1ZCBsZWdhY3ktdHJ1bmsKKzcwODAzIDIzNTYyMjYxNzQ5NzFlYjgxZjdhZTA2MzJlOGE5MDIyZmVmYmU2MmUgcmVsZWFzZTI2LW1haW50Cis3MDgwNCBlY2Y4NDI0ZDc0MjIwYjQwMDY5ZmI5NWJjZjk5N2JhYjdiZDdkMWQzIHJlbGVhc2UyNi1tYWludAorNzA4MDUgZDI0NzVkODA2OWFjZGM2Zjg3MjdjZTNmODU2MGE2Y2I3YjgwZGJmOCBweTNrLXNob3J0LWZsb2F0LXJlcHIKKzcwODA2IGU0Nzc4ZWE4ZTRiMjhkNTQ2YzkzN2NlMDIxMTYyMjk1MmNiZDQ3MmQgcHkzaworNzA4MDcgNmY0NjBiN2FjZjhmNGJjYTcxMGE5MDg1ODdhYzM3ZTIwODQ2YzI2NSBsZWdhY3ktdHJ1bmsKKzcwODA4IGM5OGE3MWU5OTE2MmFjYzg2YTJlNDBhMmIwMzhjODE0YmViYmNkNDAgcHkzaworNzA4MDkgMDdkNjUxNzFhODAwNjkxMWM3OTczNDVhMzUyMWQxNTc1MzllZTQ5YiBsZWdhY3ktdHJ1bmsKKzcwODEwIDRhZGFiNzI0MzMzOTk1YmExN2IzNTdiZDY1ZmZhZDg3NGM4ZTIxMDAgcHkzay1zaG9ydC1mbG9hdC1yZXByCis3MDgxMSBlZWQ0YzdmYTNlMDU4NzQyZGIxODFjOWMxNjFkMDMxNjMzOGZhZDM3IHJlbGVhc2UzMC1tYWludAorNzA4MTIgODk5YWEyZDE4OTg0N2I3ZjVjOTU4YThhZTFjOTdiMmRkNGIyMzNhMyBweTNrLXNob3J0LWZsb2F0LXJlcHIKKzcwODEzIDY5MTA3OTJmY2Q0YjY0NTllM2ZjMjRlZjEzM2M2ZDMzOGU5ZTYxOWYgcmVsZWFzZTI2LW1haW50Cis3MDgxNCA0ZWViMTRhOWM1ZDJkNzFjNTEyZDNjN2ZkMmFmMGQ4MWRiOTNkMjA0IHJlbGVhc2UyNi1tYWludAorNzA4MTUgOWVjZWI2MTgyNzRhNTIxZmM1NWMwYjVkMWZjOGUxMTFiOTFiZjZkNiBweTNrCis3MDgxNiA5MzJhMWU1MTRjMTYyMzRmY2NiNDIzZGY3YWIzYzJmMWEwMzA4ZDA0IHB5M2sKKzcwODE3IDIxYzE1OTRhYzM2OWZhMDlhYjdlZjlkMzhjZjMyZjg3OTJhODBmOTUgcHkzaworNzA4MTggYzJiMDE0YjU1YmFjMjQxZTFmODI5MjYyNDYyZWIwNGQxZDBiNTcxOSBweTNrCis3MDgxOSAyMjQyYzJlNmM3M2FjNmQ2OTEwNDZjY2NlN2UwM2IwZTY4ZmZjNjMxIHB5M2stc2hvcnQtZmxvYXQtcmVwcgorNzA4MjAgMDVmOTBjZWNiMmEyOWUwZGUwNTRjZDljNjg0NGQ2ZjZjZTY4MTRjZSByZWxlYXNlMjYtbWFpbnQKKzcwODIxIDY2OTRmM2ExYjZlNzI3OWVlOGJjNjc0NGZjMDNhOTFkNzI0ZDg5N2EgbGVnYWN5LXRydW5rCis3MDgyMiAyMzQ1MWIwOWYxNWI5MjNhODFkYWI4ZDA4YThkNmE2YWI5YmIxZWY5IHB5M2stc2hvcnQtZmxvYXQtcmVwcgorNzA4MjMgMmI0MzYzMTBmYzhiYjA1ODk5YzZmNDRhNGZjZDljMmNmMDkyMTU0ZCBweTNrCis3MDgyNCA0NDM2MzkxZDJhOWYyNGJlODIxMDdlNzIxMjJkMDJiOGM4NDMxNDY4IGxlZ2FjeS10cnVuaworNzA4MjUgYWE3Y2YzMjgzZDZlMDYyNmQwZTlmMDhkZWFmMzk2ZGUwOWM4MmViZiBsZWdhY3ktdHJ1bmsKKzcwODI2IDQ4NTdjY2E0NWFhNTQzMDgwODA3NDZlMTdjMDM2MGY2ZDdmOTkwY2UgcHkzaworNzA4MjcgMzk4ZWM5NDAyNzdmNjQ3NmNkYmMyZTJhM2U2NjBjNzg0NDMwZDc2MCBweTNrCis3MDgyOCBlMTI5NDQ2ZGZiZjlhMWMyZDNhYzkyMjU3NzgxOTBhODIwZGYzYWI3IGxlZ2FjeS10cnVuaworNzA4MjkgNTE0MjlhMTk2Yzc1YWUyM2EzMjg4M2JkZWIxM2M5NmFjNzkxOWVhMiBweTNrCis3MDgzMCBhZTYwZTRjMjBhZTMzZjg0NjQ2MmVkNTJiYjNjNDllZjNlODRjMDIwIGxlZ2FjeS10cnVuaworNzA4MzEgZDhjZWIyNmM2NmM0OGMyZGZkZDUxODNmMDI5ZjNlNjk1ZmY3MjE3YyByZWxlYXNlMzAtbWFpbnQKKzcwODMyIGRhZmQ5ODJkZmNmNGEwZTIzYWQ1NzM2ZjNiNjAwYmY1OTcxYjI4OGMgbGVnYWN5LXRydW5rCis3MDgzMyA1MzRmYWY5MTg3ZTg0MDBhMGFhNTNlMGFjNmJhM2YxMDgwYTRlYTE3IHB5M2sKKzcwODM0IDM3NTI4NzMyN2NlOWVmYzcwMzMxM2EwNmVlY2M5ZjQ3MDEwNTUxNDggcHkzay1zaG9ydC1mbG9hdC1yZXByCis3MDgzNSBkMTg2ZDM1M2NjODE3MGZhZTFhZTcwMjM2MTVkY2I5NTM2NWRkYjczIHB5M2stc2hvcnQtZmxvYXQtcmVwcgorNzA4MzYgYjk4NTIzYmUwYTE1NzA5ZmFiOTMxMDcwZjViYzBlZDY0MTY1ZWY0YiBsZWdhY3ktdHJ1bmsKKzcwODM3IDExZDZlNTM4YTI3OWI0YTI4Nzg0ZGE4ZWQyYWNkNWUwYWVjNjI1YmMgbGVnYWN5LXRydW5rCis3MDgzOCBhM2IyYTk3MDZmYzM2ZTIyYzE4NTQyYTE4MjBmZGI1YmNkYmZjMGUzIGxlZ2FjeS10cnVuaworNzA4MzkgNmE2ZGQ4YWIzZjIyODdlZDY3MDE5YjYyYmNiYTBmM2IxMjUyMDdlNSBweTNrCis3MDg0MCBhMzk4YTJmNzVkNDQ0ZmY1ZDEzNGRjYWEyYjY4ZjhlNDliMjlkNWRmIHB5M2sKKzcwODQxIDFkMWViMTQ5YjMyMzcxYjExMmVjYzhkMmQyOTdkZWMzNGUwNWI0MDQgcHkzay1zaG9ydC1mbG9hdC1yZXByCis3MDg0MiA3MDcyOWU3MzUzZGIwMzU0ODRmMWZlOWQ1YjUwN2RjODI3NWU2MjVjIGxlZ2FjeS10cnVuaworNzA4NDMgMmQ4MGMyNzk3NTAxMmRmMjk5MGJkYmYxNzlhNTA2ZWJiNjU3ZGYyOSBweTNrCis3MDg0NCBkYjUwMTg3YjRjMGNiOTE1YjZlNTNmYjA0MzBmNWFiMDY2NjY0YTZmIGxlZ2FjeS10cnVuaworNzA4NDUgNjI1OWY4MGRjMjRkNjA4NDRiNjcyYTk4ZTVkMTIwOGU2YzAyZTQ5NiBweTNrCis3MDg0NiA4NDAwMzJkOWVmZDYyY2FiN2Y4ZjI1NTlhNTdlYzk0Mjk4MjdmNmI1IHB5M2sKKzcwODQ5IDg3MTcxMjgzZDAyZjhkZGYzMTY3NDRmMGRlOTNlMjdlNWY4NjE5ZDAgbGVnYWN5LXRydW5rCis3MDg1MCA2ZGRiZGZkYjdhODZkOWFkODBlOGZlNWY4NTg5MDE4MDc4MWE1NTUxIHJlbGVhc2UyNi1tYWludAorNzA4NTEgZDQ5NWExMWM3NmU5ODg1ZWFiNGQ4YjM4NzYxN2M1OWUxNDNlZTAyNyBsZWdhY3ktdHJ1bmsKKzcwODUyIDc2NjNjNDljOWJmNmRjYzdhZjM5OTc5ODM4ZTM5MTRiYmEwYmQ0NmIgbGVnYWN5LXRydW5rCis3MDg1MyAwOGM4NmY0NWFjOTE1NWM1Y2VkNzdlY2NlN2E2NjkwMzM0ZWNiNjMxIHB5M2sKKzcwODU0IGZlYTc0ZDliMmE1ZjMyNjE3Zjk5MDcyYTA3NDUxNTJjZDIwOGY2YzQgcHkzay1zaG9ydC1mbG9hdC1yZXByCis3MDg1NSA2MTU0OGIzZTRjYTgzZWYxN2M4M2JhMmEyM2E4Y2Y0ZDU0YTAxYjQwIGxlZ2FjeS10cnVuaworNzA4NTYgNzY0MWEzZjBiMmVjMzVlY2I4NzBiYmRhNjVkZWYyMmQ5ZjgzMjk1YyBsZWdhY3ktdHJ1bmsKKzcwODU3IGU1ZDhmMGMwZDYzNDA2MTMyNWQxNTRhYWY4ZTE3ZWYwZjJkM2M5ZWEgbGVnYWN5LXRydW5rCis3MDg1OCBhMDIwZTY5ODM4YmE3MmFlODg1NzEzZDMyYzA1MjczNjRhNTQzYjVhIGxlZ2FjeS10cnVuaworNzA4NTkgZDAyNzU1NzRjN2NmZTNhZTdkZGY5NTRiYzQzZDBkZmNhY2E3Yjc5YiByZWxlYXNlMjYtbWFpbnQKKzcwODYwIDNkNTk4MTc1MDY4Y2JiMmM4YTQwM2ViMDRhNjE2MzY3NjgzYjA2Y2MgcHkzaworNzA4NjEgZWYyODE2YzU2YWMyZWU2NzI5MTEyZmQ5YjVkNzc1MWJkYmM5NTc5NyBweTNrCis3MDg2MiA4ZjUxZGQwOWYzZjIzYzdmYWRlOThkMjZkZDJkOWFhNjlkYjAwYzk1IHB5M2sKKzcwODYzIDE1MTZmYTIyM2ZjMTRiNDI5MmYwNjFkODI0ODRmYjdlNTllYjE2NTYgcHkzaworNzA4NjQgNTEwZWQwNTdiOTVmYTg2YzYwNWY0OGE4NThiNjZhZjgzNTE4OWRmMiBsZWdhY3ktdHJ1bmsKKzcwODY1IDU0NmM1MDIxZjAyNzhlMzMwZGQ1NjNjNDg2ZTVlYTczYjEwYjIwOTYgcHkzaworNzA4NjYgZTE2MDdmNmQ5YmU4NzU3OThhMjU3YTAyYWQxNDEzYWM0NTA0MDZkYSBsZWdhY3ktdHJ1bmsKKzcwODY3IGU3MGE2YzQ2YjNhYjQwZjMzYmVlMzllYTcwOGJlNjJhMGM2ZWNkN2IgbGVnYWN5LXRydW5rCis3MDg2OCBmNGI5MDAxNWVmMDA5OTIyNjhhNjllNGM5YzE0NmIxZjBiYzM4ZWI1IGxlZ2FjeS10cnVuaworNzA4NjkgZDNlMzFiZDU0MzBhYjY5YWFlZDY1NDM4NmMxZDQxZWY0ZDU0YmU0NyBsZWdhY3ktdHJ1bmsKKzcwODcwIDAyZGIyZDM0MDEzMzRiMzVjZWI5NzI0OGMxYzFkYmFjZmExOTc4ZmMgbGVnYWN5LXRydW5rCis3MDg3MSA1M2MxYjVmNjY5NjUyZmZkMTUyODBkOTVmMDIyZjcwY2EwMGI3MjE2IGxlZ2FjeS10cnVuaworNzA4NzIgZTZiM2U2OTZkYmNlOGQ0NGMzZjU4ZjkxYTkyNTViYmI0MjEwMTY4NyBsZWdhY3ktdHJ1bmsKKzcwODczIDYwOTZlYTgxZGUwYjdhOTM4ZjQyNjBhMjE5YWUwYjQyYjkxOThlNjkgbGVnYWN5LXRydW5rCis3MDg3NCA2OGI3ZTgyMTdjN2U1MDQ2MTkzYTExZTc0NjUxZGU4NjUyYjhjMzU2IGxlZ2FjeS10cnVuaworNzA4NzUgNDViYTQ3NWQ0ZTk4YzcyNTY2NzBmMDFjNTdlNDZiOTNlZGQ3N2QzNyBweTNrLXNob3J0LWZsb2F0LXJlcHIKKzcwODc2IGIyYWRiN2ViZGI1NGYyNzkwYjBkMDcyNDE0YjE4NmM5ODkzMjAxMjggbGVnYWN5LXRydW5rCis3MDg3NyAxMTI2NjlkZmYwNGFiYWYzNTFmMjUyMjViMGYyYzUxNzYzZjA0MTlmIGxlZ2FjeS10cnVuaworNzA4NzggYWI5YjdkNWRiOTM1OGZiM2RkYjdhNmRmYjJhNmQ0ZDBhY2YzNTU4MiBsZWdhY3ktdHJ1bmsKKzcwODc5IDNhZWE3NWEzNDMzNzNmZDk2OTAyZWU3NjczNGFlMzI2ZGUwZTYzNDggbGVnYWN5LXRydW5rCis3MDg4MCAwYzE3ZjdiZWUyYTA2OTBkZTY1ZDg5ZDk5NDllYTVhY2RhYzYyYjJiIHB5M2stc2hvcnQtZmxvYXQtcmVwcgorNzA4ODEgZDljOGQxYTVkZGVlMjM1NTg5NTc1OWU3MjEyYTBlYjE3NWUzZGQ4MCByZWxlYXNlMjYtbWFpbnQKKzcwODgyIDlmOGQ2ZGU4OTAzNTIxYWI2OTJkMTRmYWQwNDEwYjU3ZGRkZjMxOGUgcHkzay1zaG9ydC1mbG9hdC1yZXByCis3MDg4MyBiNWFhOGFhNzhjMGYxYzExNDMwNjQ3MDY0MjhjMWJlYjUwZDVkNTlkIGxlZ2FjeS10cnVuaworNzA4ODQgYTUzMDFlZGFhNzA0Y2IzMGNiNjYyMzY2ZDZiZTM3NWVhZDA5YTg4NyBweTNrCis3MDg4NSAxZDdhNzcyYjNiMTgzN2JlOTBiZDA3M2QxMTFiYzIwMTNjOGYwNmQ1IGxlZ2FjeS10cnVuaworNzA4ODYgMmI5YzkxNjY4Nzc3NGY2YTMzZTc2ZWIyZWFmY2MxMTY1ZmNhOTUxOSBsZWdhY3ktdHJ1bmsKKzcwODg3IDA5YjcwZDU4ODhiZmI0YTIxNTBlMzZjOGJlNGRlOTA1NDVhZTExZmYgcmVsZWFzZTMwLW1haW50Cis3MDg4OCBlZmFhNjdiYjNmMDZmYThlNDE2YTYzY2Y1NTc3YjI5YTgzYzI3MGIzIGxlZ2FjeS10cnVuaworNzA4ODkgY2IwOTY5MDcxZjJhZDk0YzlmNTg0N2M3MDA5MDdjYWZmMjc1NmQ3MCBsZWdhY3ktdHJ1bmsKKzcwODkwIDk2MDllZDdkZWFmODkwNTMwNzE4YTBlYTdhYmRjMDE2ZmI2NzExZmUgbGVnYWN5LXRydW5rCis3MDg5MSAwN2M1YzBkOWU3MDAwYWNkMWZlNDE5ODg0Y2JlMjQxYzZhM2RhMzcyIGxlZ2FjeS10cnVuaworNzA4OTIgMjFiMjdlMTE1ZGQyNTAwYjYzNmM0YzhjZTQyNjIxYzk1YjZkN2Y4OSBsZWdhY3ktdHJ1bmsKKzcwODkzIGZiZDQwNTQ4MTMwZGU3Y2I2MGMyNjIwMjkzZTFhMWY5MWU0YjA3ZDQgbGVnYWN5LXRydW5rCis3MDg5NCA1NzQ0NDY4ZTYwOWJkYmY1OGRmMTY2NjJmMTRiOTQ2MDYyMzBkMmI2IGxlZ2FjeS10cnVuaworNzA4OTUgODBmZjg1ZDg3ZjY3NWJkY2E2Y2I4OTVlMzExMjE2YTUxMjU4OTFjZSByZWxlYXNlMjYtbWFpbnQKKzcwODk2IGY2ZDljMjA4OTE3MDc0MTcyMmFjYzliMzY3ZTkzNzFjYzRlMjc0YmMgbGVnYWN5LXRydW5rCis3MDg5NyA1ODdmY2ZiZTA4YjYzODk4N2E5YTBmYWY4ZTQwNzA5ZjFkMDAzNTJjIGxlZ2FjeS10cnVuaworNzA4OTggNjY0MDk5NmYwNGU3NDcxYmY0ZDY3ZjhlOWM3ZjJkYjA2Y2Q1ZTFkMyBweTNrCis3MDg5OSAzYmY5YWU0Mzc2MDZjNGEyYzZiMzJjYTZlOTkzZjM3MDQ3ZWViNjYzIHJlbGVhc2UzMC1tYWludAorNzA5MDAgMjFiYTBiM2ZlODE5ZmQ2YzM3ZTc4MjEyNjk4MGE0NDNjOGUzM2EwYSByZWxlYXNlMjYtbWFpbnQKKzcwOTAxIDBkMDgzZmIwNjY1ZGY5N2IwMzIxMWM0NDhhNjk5NmI5NDdkYTE1ZmEgbGVnYWN5LXRydW5rCis3MDkwMiBmYTkyNDNiZjUyNTY4NjYyMmIzZDYyOTYxMjFiZWJiZjFjNTAyY2IyIGxlZ2FjeS10cnVuaworNzA5MDMgZTUyODZiZTI0ZWQ1MTA2YWNjODRhMzVmNjZlZDY5ZTY0ZDg4MDZkZCBsZWdhY3ktdHJ1bmsKKzcwOTA0IDdkZjI0NDExMGRkNWZhMTc5NWU4YjNhYTY4N2ExMmQ3YTI1NWNmY2YgbGVnYWN5LXRydW5rCis3MDkwNSBiNjU3OTc4ZDU2YWQ2ZTIxM2M3OGM0NzM4NGM5OWVjNDFlMDJmZDFkIGxlZ2FjeS10cnVuaworNzA5MDYgNWYzZmUxZjI2YjM2ZDA5ZDhmMGQzODM2MWY3NmNlODk2ZDI0NDRkMyBsZWdhY3ktdHJ1bmsKKzcwOTA3IDE4MzliODU1M2EyZGJkY2FlOWVhZWI4MDljMTRlMDhlOWE1MDZhYzIgbGVnYWN5LXRydW5rCis3MDkwOCA1Y2Y3NDEzN2MwZjg2MDhjZGE5ODg0YjMxNDI0OTkwYWIwMjc0NTQ0IGxlZ2FjeS10cnVuaworNzA5MDkgZTI4MThiOWY5NjRiZTgyYThlNjU3NjZlY2UzNTgwZTM1NzA0NWE2ZiByZWxlYXNlMjYtbWFpbnQKKzcwOTEwIDU4NTZmYWUwMDllODZkNTYzY2EzNTEwYmY0NWFlZTYxZTk0MjEwZTQgbGVnYWN5LXRydW5rCis3MDkxMSAxZTA1MzQzMTlhM2VlN2U2NzUxNGY0ZGI4ZDc1Mzg1MGMwMWM3NzhhIHJlbGVhc2UyNi1tYWludAorNzA5MTIgOWI5NmJkMDkwOTA4YTY3OTM4YjE3NTdhYjJlZjU5YWVhYmUzNGVmYiBsZWdhY3ktdHJ1bmsKKzcwOTEzIDExMTM1MjExMmFmYThlZjJiOGI4MjJjYTc2M2MxYzYwMDg4YzZmY2IgcHkzaworNzA5MTQgZjdiMTFiZjAxYTEyNjRkMjIyMzY3MjE4OWJiZGE1MWI2OTMwMmZlMSBweTNrCis3MDkxNSA2OTY0NmY5Y2Q3MGI1MTE4NWY3NTJmNzNjYTVjYmFkODRmZWU2Mjk4IGxlZ2FjeS10cnVuaworNzA5MTYgZmEzYjJlZDIwZDg1NzI4ZjIzY2QwNzFjYzFjMmJmODlmN2ZlZGM2ZSByZWxlYXNlMzAtbWFpbnQKKzcwOTE3IDkxNGE1ZGVkMWJlM2M5ZjZmNjBlZmI2ODdlZmIwY2MwNWVmZWJkMjcgcHkzaworNzA5MTggZmZhMTNhZmYyOWRiMWRjMDA3NjNkOGM2MDI3ODlhNGQyOTI1ZjlkYSBsZWdhY3ktdHJ1bmsKKzcwOTE5IDg4NDNhODQyN2E4YzgyYWYxMTg2OWI3NWVhNWY3Y2Y4MTYwMDM3NDkgcmVsZWFzZTMwLW1haW50Cis3MDkyMCA4MmFkZWRmZDIzMjRmNGIzOTBkOTUzYjJlOTc0NGY5YThmNGVmZGQ1IGxlZ2FjeS10cnVuaworNzA5MjEgZjc1OGRkMmE4OTY4OWJjMjAwNjRhY2JhNjc3YzNhMDYwYTNkMDFlMyBweTNrCis3MDkyMiA5ODFhOWIzZDk3ZjNhZmUyZDcyYWY2ODlhOTBhNjNlZTZjNWM3ZTI5IGxlZ2FjeS10cnVuaworNzA5MjMgZDNmNWE5ZjA0MWQ4NDBjZmYxNDgxNGQ1ZTUyMWUzYzk1OWQ1YzFkNyByZWxlYXNlMjYtbWFpbnQKKzcwOTI0IDMwZDg3NGIxYzRhNzIzNDNlZjY0NzhlYmExMTZmYzE0ZDA5MjQ4ZDMgcHkzaworNzA5MjUgMDAyZmE5MjA1YWFlMWFiZDg0MzVkMTNmMmE0NzNmYjdhODI4MjExOSBweTNrCis3MDkyNiA3YTc3ZTRiZWFlNjY1ZDgwNzMzYmJhNzIzZGRlNTViODVhN2FiYTQyIHJlbGVhc2UzMC1tYWludAorNzA5MjcgNzY1NTE0MmY1MjI0MTRhYjkyOWU5MWQzOWMyNTA2ZGZkODE1ZDc0YyBsZWdhY3ktdHJ1bmsKKzcwOTI4IGI0MDI2YWM3ODExNDY1MzU3NTJhYThmNzk3M2M0MGIxNDdkOWEyNmEgcHkzaworNzA5MjkgZjg0MzQwODg2OTM2Y2IyZTg1Y2NmOWY0ZmU2YjJkNWE4ODBlZWU3MCBweTNrCis3MDkzMCA1NzA0NGEzNjUyZDhiNDJlMDgyZWE5YTBiZjUxNDMwZWEyNTljMmFlIGxlZ2FjeS10cnVuaworNzA5MzEgMTg0Y2E2MjkzMjE4Zjk2ZjQyYTY3MjkxNDk2NzAzMTRiYTAxOGE5MiBsZWdhY3ktdHJ1bmsKKzcwOTMyIDA0ZDQxODhmYjQxMTYwNWU5NWJhNDBlZmVhMTFjY2Q4NDU0ZGQ2MzUgcHkzaworNzA5MzMgMWFjMTE5M2E2MWQyZjVmN2QyODRhZTljMDA5OTgxYzQ4M2Q3NTA2ZSBsZWdhY3ktdHJ1bmsKKzcwOTM0IGU1NTVmZDhjNGI2ZWU3OWVmMDM0MmExNjY1NTU3Y2UwNDM3YmQ0Y2IgbGVnYWN5LXRydW5rCis3MDkzNSBkODUwOTBhNDgwYmE0YWIwYmE0YWZhNDVjYzVkZmJiYzNlMGM3YmRlIHB5M2sKKzcwOTM2IDUxM2Q5NmJmMGQ3MDM1MjZkMjFjNTI2MWI0ZjI0MjAwNTVhYzI2MjMgbGVnYWN5LXRydW5rCis3MDkzNyAxYmE2NWE5MWU1NmJlOWNiZmIxNjRmNDZjNzM5MzFmYTdjZDhkMzFiIHB5M2sKKzcwOTM4IDc5YTQyMDYxNzY0MTNjZGFmOGRjMWEzMWYyNTVmZjdjZmZjOWJkYzMgcHkzaworNzA5MzkgY2MyYzcxMzNkYTRmNWY0NzYyYjgyYjU2NWFiMzhiZDdjMjg2ZmQ0NCBsZWdhY3ktdHJ1bmsKKzcwOTQwIDc2MjM1NTgwYWEzZDQ3YzA0NGI3YzljMjNmZTdmNDc1ODM4NzQ4ZTEgbGVnYWN5LXRydW5rCis3MDk0MSBmZmE4MWJkMmVjNzJkNjdkYzYzMTM5NTU3ZDVjYzU5MDU3M2NjODA2IHB5M2sKKzcwOTQyIGFjZmMxOGNkY2RmYjc3MmJlNDZmZDdjNzY3YWVjNzJiODk0MmE0ZmUgcHkzaworNzA5NDMgMDgyYjI1MGQ1ZWU1MGZkYjkxNGU5OTE5NGQ3MTdkMzFiMGU5OTUxZSBweTNrCis3MDk0NCBmYTdjMzc2NWQxMGZmNGMzZWZjYTkxYWIyMWY3YjhkMGEwZmU5NDVhIGxlZ2FjeS10cnVuaworNzA5NDUgMDUzMGFhZGZmNjk2ZDFiNjZjNjY3Y2JkMTliMTBkMmNjMjU5MGVjNSBweTNrCis3MDk0OCA3MzQ3ZDkxNmYxM2FlNGNlMTkyMzQ2NDFjZjFjYzRkNTMzZDUxNDJiIHB5M2sKKzcwOTUwIGRhNzQ0OGViY2U4YjExODY1Nzc4MjhiMjE0NTlmYWNmNDRlNTlhMjUgcmVsZWFzZTI2LW1haW50Cis3MDk1MSBkYzUzZjM3MGNhOWQ3NDc1M2E5NTAwNTU3ZThkYzNiZTAyZjVlYmM1IGxlZ2FjeS10cnVuaworNzA5NTIgMTkxOTBlMDU4ZDU5NDMwNWYwOTE0NDBkY2Y0N2IxM2U1OWMxZmRlNiBweTNrCis3MDk1MyA5N2ZkMGQ3NmFlOWNlN2IxZjU0ZWJjOGVjNDg2Zjc3NjdlOGMyNTEzIGxlZ2FjeS10cnVuaworNzA5NTQgMDI3YTNhZGMwZDhmNTYyMDAwZjI0NmEwNzRiY2MxOGQ2YzEzOGIzZSBsZWdhY3ktdHJ1bmsKKzcwOTU1IGFiZjZkYWQ3ZDY0ZmUyODM4NTI3YTBmNDYyOGY4NzRmZTllODI3YWQgcHkzaworNzA5NTYgNzZkNjFjMTI2MjNjZjkxZTc4NTVkNmMwN2FjY2UxY2QxYzI3ODMwNyBsZWdhY3ktdHJ1bmsKKzcwOTU3IDQ2ZjFjZTc2MTk5ZWI0NTE5OWZkZTEzNDg5MTI2NTAyNWNhY2I3NjIgcHkzaworNzA5NTggZGY1Y2IzODM2YjI4MmFlYjJlMmFlMzYxMTFkYmY4ZTRjZGU5ZGI3MyBsZWdhY3ktdHJ1bmsKKzcwOTU5IGNlMGUyOGRjY2JjMjI4YWJiOWU4YTE3NDYyNjA2ZjNhNzdiZTYyMTcgcHkzaworNzA5NjAgOGI1MWQ5NjM2MGIwM2M1YzY1MjFiNTBiZTBkYzljYTQ5NGE3ZDVhOCBsZWdhY3ktdHJ1bmsKKzcwOTYxIGMzZjA3YjY3N2FmYTY3NDkzNmQxZWEzNDhhNjkxMTFiMWMwNmRkMTggcmVsZWFzZTI2LW1haW50Cis3MDk2MiBlOWZjNTIyYWFlOWE3MzljNTM3MzFjMjJiYjliZGRkM2UwM2JiM2ZiIGxlZ2FjeS10cnVuaworNzA5NjMgMzQ1NjY3MWE3MmJjMTY2YjUxMTgyMzNlNzAwNjQxNmU4YTBhOTNjMCBsZWdhY3ktdHJ1bmsKKzcwOTY0IDE4YmQzY2Y1Mjg3ZmYwMDg5ZGRjNzZhOThjZDQyODU3YTJlMDU0ODEgbGVnYWN5LXRydW5rCis3MDk2NSBiNWQyM2ZhOWI4YTQ4NDdmMjM5YjdhYjQ5Y2UxNjM0OWU3NDEwN2ZhIGxlZ2FjeS10cnVuaworNzA5NjYgMjg3ZGYzYTA5ZjM1MzBlMzU1YjdjNmU3MmQ1NDUxM2FkN2Q3ZGUzMSBweTNrCis3MDk2OCBlOGVmMTNjOTg1OTcwOWM1ZDViNjMyNzNiZTgyNjljM2EwZDdjM2ExIGxlZ2FjeS10cnVuaworNzA5NjkgMmU0ZGJiMzk1NDE3Y2I2ZDQwM2Q0NWViN2VlNDgwNDJmYTdiMWI3MyBsZWdhY3ktdHJ1bmsKKzcwOTcwIGMzMzdmMjAyOGQ4Yzc3ZTA3NmVlNzBmNTI1OWE0MWEwM2VjYzQ0NWEgcmVsZWFzZTI2LW1haW50Cis3MDk3MSAxNmMxNDQyNjIzNzQ2MjIyYjAzMGZhOGJhMDZhZGNkNmEzYjZlMWQ0IHJlbGVhc2UyNi1tYWludAorNzA5NzMgY2UzYjVjYWY0NTIyYzhhMTk4MDJhZjFlMWRmNTE2YmU3OGQ2ODliMCByZWxlYXNlMzAtbWFpbnQKKzcwOTc0IDhkZmY0MDY0MDNiZTJmZjdlNDBiYzYyY2U3Y2IyZTU1NmQ3NDVmMTIgcHkzaworNzA5NzUgYjgxNGIwYzM1MzQ3MWNmYjRiNzQ3MjA4MzJhNDVmZTU2YWYzMGI5YyBsZWdhY3ktdHJ1bmsKKzcwOTc2IDJkOTVjMDE0MTIxNGY4NGU0ODViMDJjOGVjZmM0ZWY5YTZmNzkwYjAgcHkzaworNzA5NzggY2VmOGI4MjU5YWM5OGViOTc5ZmYwY2JhMjE2MTU2NGNkNDkxMDE2NiBweTNrCis3MDk3OSA3ZTJiYmI0ZGJmODc1OWUxNTQxZDc1YzNiNDAzODhhODI1MTM4MzYzIGxlZ2FjeS10cnVuaworNzA5ODAgYTczMzczY2NjY2MyMWUwZGYyNTNhZWVkYzM1NDEzZDI4NzM1OWQxYiBsZWdhY3ktdHJ1bmsKKzcwOTgxIDQyZGE3MTU0YjI3MGJiZDk3OTI5YjMxZGFhOTc0Mzc0ZGQzYjdlMGQgbGVnYWN5LXRydW5rCis3MDk4MiA2NzU0MTVjNWI5MTI1NzkzOGRhZTBlZTJjYWM2OWM3OGIzYTRhMjBmIHB5M2sKKzcwOTgzIDZiNmFjNmFjNTU2NmE4NDU3NGM1ODI3NjM1MGQ5MmM1YWRmMWI0NzYgcHkzaworNzA5ODQgZDdmNDc4YzY4MWI5ZTMwNWU4ZmZhMzI4ZGY2OGE4NGQ2YWMwYzA5NCBweTNrCis3MDk4NSBmOGFhOGQzZDY2MDc4ZTliYTAwMGI5M2EzYWViYmE4OTc1OTM3ZjNmIHJlbGVhc2UyNi1tYWludAorNzA5ODYgZTllODdkMWEzODljNTNkMGJiNzUxOGFjOTc0MjM3YzhhMDlkZjBkZSBsZWdhY3ktdHJ1bmsKKzcwOTg3IGYxNWU3YTkzMTMzNGQ1MDBlNTdjZDUzNDgyZDFlMDFiMTA1NzAyZjcgcHkzaworNzA5ODggYWZmY2YwNzA1NDM5YTViNmQ2YmJiMzI0OTc5ZmE3NzYzOGFmYmNhMSBweTNrCis3MDk4OSBmOTQyODkzZmE0ZDhkOTJiNjRiNmUxZmE4NzY3MTU2YzQ0YjNkMzllIHJlbGVhc2UyNi1tYWludAorNzA5OTAgZGEyYzZkZDI2ZTg4ZGFkMDIyNDVjYWI2MjE3MDk0ZDk3NWVlNGQ0YiByZWxlYXNlMzAtbWFpbnQKKzcwOTkyIDllNTc5YmFiNzZmMWM1NzJhNTIwNjFhYWU3MGUyMDQ2YTc1MmNkYTIgbGVnYWN5LXRydW5rCis3MDk5MyA1MTAyYmJmNGFiNzQ5NWM1OTE4YjI3M2YxY2ZhMDFkYTRiNjZlYmYwIGxlZ2FjeS10cnVuaworNzA5OTQgOTg1NmI1YmUyNmM0Y2FiZDkxYzNhMTdlZmUzZWJjMjgwYzBhNjc1NCBsZWdhY3ktdHJ1bmsKKzcwOTk1IDNiMzRjOTM3NDk1NTJiMDMyMzMxMGY1ZTFkYTNhNzc1ZjRlOWFlMmEgbGVnYWN5LXRydW5rCis3MDk5NiA5ZWQ5ZDIwNDEzMDY2NTQ0MWM4ZmVlM2E3ZjRlMGFhYTBhNDAyNTk1IHB5M2sKKzcwOTk3IDgzZjllM2QxMGVkYzQ4OGZjNzhlMTFlZDYxMjIzNWVmODFlOWU3N2MgbGVnYWN5LXRydW5rCis3MDk5OCBlM2ExOTY5ZmRiZTVlMGFmZTk5MGJhODQxNDBhYzRmNjRhMzcwMzg2IGxlZ2FjeS10cnVuaworNzEwMDAgMWUxZGFkYmJkZDAxYjk3OTM5MjQ2MzdjNGQyYmIzOGZhOTY5ZTUzYSBweTNrCis3MTAwMSBjZjczZmI1Y2MzYWM5ZDgzYmVjZGE0Y2ZlMzliMmQzN2ViMmU3MzJkIGxlZ2FjeS10cnVuaworNzEwMDIgYjQzZjE0YzEwM2JiYzNhYWQxODMzMzM1ZDFhYWEyNzQ3NmM0YTFlMyBweTNrCis3MTAwNCAyZGZjMzM3MTc0OTM4Zjg1NWI1YjMwODU0NWMzNzYxZjNhY2E3NzFiIGxlZ2FjeS10cnVuaworNzEwMDUgNzU1YmIxZjliMGU1ODZmZmYxNDc1ODEwZjEzYWY3NTRmZDQ5ODc5NCBweTNrCis3MTAwNiAxYjhkNjhkYWU1NzIxMjU1MzMzOWQ1Zjk3OGUzZDRkMzhiZDkyYzQxIGxlZ2FjeS10cnVuaworNzEwMDcgZWI2MjIxN2JiYjUzNzM3YmU3NGM3MGFiNzMxM2IyM2MxOGQwYTdkNyBweTNrCis3MTAwOCA4NTAzYTNkMDI1NGQ4ZjY0NzBiZWEzNzIwNDBiZmZjODlkZTk4ZGVlIGxlZ2FjeS10cnVuaworNzEwMDkgZDM0M2U4MDJiMjc2MGFhNzAwY2YyZmY3ZjE3Y2FjMzZjZTU0MDQ3NyBsZWdhY3ktdHJ1bmsKKzcxMDEwIDA4MGZkZmM0M2Y5NDE4Njg2NDdkMzkyNzBkMDEwOTY1MGQ0YmJhNDggbGVnYWN5LXRydW5rCis3MTAxMSAzNmYyNWJmYjNhMWJjY2RkNDQzZDcyOGYzMmE1NzU3ZmE3N2JmMGUyIGxlZ2FjeS10cnVuaworNzEwMTIgYzVhN2ViZWM1OTg0N2FmZDU2ZDQ2OWI0NjcyZmU0Njc1NDYzNWQ5ZSBweTNrCis3MTAxMyBhNzNkNzMyNjMxMWRkOGM5NTA3MTU2NmJhYTEzNTYwNTg4MDg0ZTAzIHB5M2sKKzcxMDE0IGYzOTA0NjQ2MzlmYmU4NTgwMTFiMGM2NjBiM2I2MDc1NDBkMTM5NjYgbGVnYWN5LXRydW5rCis3MTAxNSA0NzViYTQzY2NjYjFlNTIyZDNiOTU1NjhmMTQxNTkwNzM3YzliNGRmIHB5M2sKKzcxMDE2IGMwMTM4YjJkNGVlZGM5OTA1MDBiYmJmZTFjZmU0ZDU0ZGNhODUxZTggcHkzaworNzEwMTcgOTI2ZmQyMTdlMmRjYTEyNTMxMDRhMDE2ZTA1MTg5YjU5NmI0ZWI1OSBweTNrCis3MTAxOCAzM2ViMTY5N2MzODJkZTg1ODNhOWJlZmY2MTBkM2NiNTUxYjhhOWYxIHB5M2sKKzcxMDE5IDM1YzNlMWQ3Y2ZkZjYxNDcxNzMxMThjNDQwYWY1YjgyZGM2YTllMmMgbGVnYWN5LXRydW5rCis3MTAyMCBiYzE1YjQ4M2QzODQ2ZGEwZDllYTMwNmI3NGI3YmMxZDhkOGU4OTdkIHB5M2sKKzcxMDIxIGEwZTIxMWIwNGIyZTBjODRkMDI1NDZjMWQ1OTQ1MWNjMWYyZGE0YWEgcHkzaworNzEwMjIgMTA4NmQ3ZWU4YjBiM2ZlZmQ3MDc4ZTI1ZDM1ZjliYWEyMTRjOWQ3OCBsZWdhY3ktdHJ1bmsKKzcxMDIzIGI5ODQ0NTYxOTZhZjI2OWQxM2Y1YTk0N2UzODI4YjRmMDI4NzVmZjIgbGVnYWN5LXRydW5rCis3MTAyNCA3ZTg2ZmEyNTVmYzIyNWNkNzIwYjE2ZjhhYjYyZWQyNGIyMjAyYmMyIGxlZ2FjeS10cnVuaworNzEwMjUgOTA2OTBlYjg1MzgwYmQzYjhjMjEzMDRmODBiYzM2MjQ5MzU1ZGUyOSByZWxlYXNlMzAtbWFpbnQKKzcxMDI2IGY2MzRjNTQ1NWI0ZjNhYjUwNTFiMjYzZDU2MzIyZWMwZTMyZTIwOWEgbGVnYWN5LXRydW5rCis3MTAyNyAzZTFhODA1MjVmMThhMDExMWVhODE2NGM1NjNkNDU3MmFjMzc2Y2ZjIHB5M2sKKzcxMDI4IDk1MzU1M2FlOGI4NGZmMGVmOTgzZDhjMjBmYmQwMmFjODkxZThhNmMgcmVsZWFzZTI2LW1haW50Cis3MTAyOSBjMzM5NTkzOTI5NTNiMDFhZmU2MjE5MzNjYjk5YWYxZWUwNGY5ZDBkIGxlZ2FjeS10cnVuaworNzEwMzAgMzdmZmVhYzNhMWE2OGQ2ZmY1N2I3NmQwMzE1YWE4MGE3OGM3NjU5OCBweTNrCis3MTAzMSAxZWYzZGE2YzQzNGNmYjIyOTdiMmQyYWEyNzMwYTU5NjhkZmU3OTM4IGxlZ2FjeS10cnVuaworNzEwMzIgMWI1MGY3OGNkZGNiYjg3MWE0MzI4Mjk5M2I0M2U2YjMyYmZhNDlkYSBsZWdhY3ktdHJ1bmsKKzcxMDMzIGZkNWVlM2QwZjU1MjhmNjU2ZDY4NmE2OTY1MTQ4YWY4OWJlOTcyMmEgbGVnYWN5LXRydW5rCis3MTAzNCA1NGUwOTNiZDg4N2VhNzRkMzAzYTViNzEyNjU2Y2ViNmVlODdlNmQ0IHB5M2sKKzcxMDM2IDIzYTJlMTU4NGMwMmFmMmVmNGY5MjMzZTk3YjQ1Mzk3YTE1MjAwOGYgbGVnYWN5LXRydW5rCis3MTAzNyA4ZDg0ZjIyMGZmMjc3MDhlMDc1N2M5NWQ5ZTk1MjQwNDA3Nzc0ODM0IGxlZ2FjeS10cnVuaworNzEwMzggNWYxNzlmNmYwN2UwZmY4MzQ4NTQ4MDg3YWFhMWIwZmU1NTA1ZmY3NSBweTNrCis3MTAzOSBmY2JlMWFkMjRkNDEwZWQ3ZDgzMWRlNDhkZDliZjIwZGVjNWY4ZjI3IHJlbGVhc2UyNi1tYWludAorNzEwNDAgMGJjNjJkN2RiZjU0OTJmNDIwNGQ2NjJlNjBjMGQwYzY2YTRkNjI0NiByZWxlYXNlMzAtbWFpbnQKKzcxMDQxIDcxZjYxMjlkZGFkNDY2Zjk2M2RhOGMwZDQyOWUzMDg2MGFlMjZhNDIgbGVnYWN5LXRydW5rCis3MTA0MiA1MzkxNmFhY2NmMmNjMjNjODY1NzQ5MjAxYjJiMDkxMzY1YTg1Y2JlIHB5M2sKKzcxMDQzIDFhYmY5ZTMwYzE5ZjlmMjJlZTI4ZmUyMWViNTM1YzUzYTRjMjNjNGUgbGVnYWN5LXRydW5rCis3MTA0NSBhY2RkMTFlMzlmMGIwMjI1NzQxYWUwMmZkMjQxYTRkOWI5ZDZmMDQ5IHB5M2sKKzcxMDQ2IGM1ODk0ODNhNzJhY2E1NTRjZGFlOWNmMjU0OTljYzIwMmI0ZTUwY2QgbGVnYWN5LXRydW5rCis3MTA0NyAzNTgwZDNjMDcyYWU1MDMyYjEzYWRhMzg0ZTY5YTlkYmFmZjM1MjMwIHB5M2stc2hvcnQtZmxvYXQtcmVwcgorNzEwNDggYTMzYmM4MTgzZTRjMTc2ODI2OWI1NGEyNWU1ZTY2MzkxNDk2Y2YyOSByZWxlYXNlMjYtbWFpbnQKKzcxMDQ5IDJlMjIzODY4ODMyYTgxZmZmOWY3M2IwZDMxZTQzZTFlODBlMjZlN2YgcmVsZWFzZTI2LW1haW50Cis3MTA1MyA3NTlmNDNjOTc4ODc4YWY5MTUwNzU2Yjg2ZTI0ZDNhYWIzZjg4Yjg4IHB5M2sKKzcxMDU0IDk0ODlhOWU3YWZkNDM4MzI2NDRiNjUxMTQwNTY4YWIwMzYzNjA2M2IgcHkzaworNzEwNTYgYzgwMWE2N2NlMjkyZTZjYmI4NGI4Njg4YThhY2U2YTlkZGQyYzMzZCBsZWdhY3ktdHJ1bmsKKzcxMDU3IGY4MTQyNDk3MmFkMTE4NzdjZDEyYzc0NzE1MGQ1Mzc4MmRkZTgzY2EgcHkzaworNzEwNTggNTRiMmNkMjFhYjQ2Y2U0ZWRiMWI2NzlhNTJmYmFmMmIzMzRmYmI0MyBsZWdhY3ktdHJ1bmsKKzcxMDU5IDdmYTBmODFkNjA3ZTcxYWU2ZmYyYjk5MGY4MDJlNmQ3YTM1Y2ZmMGYgbGVnYWN5LXRydW5rCis3MTA2MCBjZGQ1NDcxNDc1NjY3ZmMwOTg1Y2UzNTI5YzEwYzU4YTc0Y2EwYTYzIHJlbGVhc2UyNi1tYWludAorNzEwNjEgZDFjNTM2N2Q1N2Q2NTU2MThjMDEwMWUyY2RlZDUwZTliMzJjNTdiNCBweTNrCis3MTA2MiBlMDJjNWI0ZTRlOTJlZGM5MGEwMzYxZjkyODQwYjQxYmUyNjYzMWE2IHJlbGVhc2UzMC1tYWludAorNzEwNjMgOThjMzQ0OWRhMzY5M2JkMmZiZTIyY2JhZGVjYWVhOWE0YTcyOTZhNyBweTNrCis3MTA2NCAxYjQ4MzkxMWIyZTY2OGUwNDBjMzM0MTRjZjljMTNlODRhMzJhOWEzIHB5M2sKKzcxMDY1IGJlZDUyNGVjMDg1MGNlYjZkNDc3ZmM4MWIyN2Y3MTIzN2JmMThkYzggcHkzay1zaG9ydC1mbG9hdC1yZXByCis3MTA2NiA2NjQ2NGRiMzgyYjE0ZDViYzA0NmQxMGY4ZTM0N2Q0NGU3ZjcyZmExIHB5M2sKKzcxMDY3IDliNTM1Y2U5OWQyZGFhN2JkMjFhM2E5YjUzMDEyZGI0ZDMxMTdjOGQgcHkzaworNzEwNjggZDI4ZWEyZWU3MDcwZDM2MDUwNTA1ODAxMzE4Yzk5OWQ4ZWMxOTEyYiByZWxlYXNlMzAtbWFpbnQKKzcxMDY5IDY3MmZkN2E0MWQzNWYyYmQ4YThmMWExODJiYmVjOGUwNmI0M2ZhMTAgcmVsZWFzZTMwLW1haW50Cis3MTA3MCA3NWVmZDc1NzQzNGI4NWY4NWM1ZTdmMjI1ZmUwY2YxYWMzN2FiZjYzIGxlZ2FjeS10cnVuaworNzEwNzEgYjNkNWY2ODVkMjdhY2NhNWVhNjY5ODQyMjk5MjE3Njc5YTQ2MDYxMSBweTNrCis3MTA3MiBjYmUxOTEzMGIyZWI2MzExMzY2NmU4N2I2NTQ2NTU5ZTE0MzgxZGU1IHB5M2stc2hvcnQtZmxvYXQtcmVwcgorNzEwNzMgMjBlN2FhNDJkNmZlNGQ5ODE3M2MxOTczNWMyMjU0OTlhZDZjZDViMiBsZWdhY3ktdHJ1bmsKKzcxMDc0IGYxM2VlOGFjNmQ1NDUyNzc1MWQyODFiMzk4YTFiNTk4NWRjNDE3ZTggcHkzaworNzEwNzUgZjNjNGZmMjE0YjExZWM2ZjEyMzljZmI2ZDAxNTU0MGJjMDlkZjhjYyBsZWdhY3ktdHJ1bmsKKzcxMDc2IDVjMzdhYjA3YTdkYzM0MTk4ODI2ZWNmZjM1YTc0YWU5Mzg0MGRmMjMgcHkzaworNzEwNzcgOWJlMmUxNmE3MWRmNWI2NTU4NDM0NGZiMTFhMTJjNWMxODY4ZGQyNSBweTNrLXNob3J0LWZsb2F0LXJlcHIKKzcxMDc4IDM5YmU5YWM4OWJlOThmZmNjMjlmOGUyYmViYzFkNGE1MTU0ZDZjZTYgbGVnYWN5LXRydW5rCis3MTA3OSBmNjIwMmIzZWY4ZWE5OGU0ZTBiZTJiYmFmZWJmMTQzZDgzOTA0ZDVkIHB5M2sKKzcxMDgwIDE4M2Q2MDcyZTFlNWRmOTNmOGNmZjM5MGIxZjg0N2IzZDY5YTA4YTYgcmVsZWFzZTI2LW1haW50Cis3MTA4MSAxYmY2NzEyMTdhYmYzY2Y3OWY3ZWViYTJjMTYyYmU0ZWM1OGM4MzY1IHJlbGVhc2UzMC1tYWludAorNzEwODIgZGNiMzY4ZmI2YWRiZmFlNWFlOGM5YzMzMThhMjZkZTVlNWNmMjliZCBsZWdhY3ktdHJ1bmsKKzcxMDgzIDk4Njg2ZjMwN2RlNDI2YzYwOWZjZGUwZDkxOGYzMzMxNTJkYjM2ZDIgcmVsZWFzZTI2LW1haW50Cis3MTA4NCBjYmZiZmYyMzNlZjVjMTdjZjZkZWE5ZTQ4YjE0YmRjYzY5ZjQ1NTgwIHB5M2sKKzcxMDg1IDJhMjdmOWFkYThlMzNlNDc5NDgxMWYxYzcyNzQzOTY2YTI4MjQwODggcmVsZWFzZTI2LW1haW50Cis3MTA4NiBjYWMyMDljZjVlNGNjNzM5MDIzMzllODcwMzE3YzU5Zjk1NTgyMDk1IHJlbGVhc2UzMC1tYWludAorNzEwODcgYWU0ODJlNTJhMTZiYzA4OWU5MTVlZWMwYjBiMzE5NGQ1ZmIzYzRjZiBweTNrCis3MTA4OCA0ZTVmZThiNmQxMDFjOGYzNjFkNjRiNzAxOGQxNWQ2ZDA3ZjcxZDFhIHB5M2sKKzcxMDg5IGI0MWMyOWRlYmRmNjlhNzkwOTI2Y2QyOTljMzA3NTYzZmE1MjMzZGQgcHkzaworNzEwOTAgNjk2NjJiYzNhOWY2YjZkMzIwODcxYmU5YzkwNmZmNjQzZTJiZjViOCBweTNrCis3MTA5MSA2NDNmNDRhZDM4N2ZiNDY0MzBiMDY1YWZhODY2NWU2OTYwZWUyNjAxIHB5M2sKKzcxMDkyIDhhMjZmOTYyMGIyMTE4ZDdiYjI0MmUwMGUxMDg3NTU3NzliZmM3YWIgcHkzaworNzEwOTMgNDc1N2RkYWE4OTdkZWM5M2YyZjVhM2QxYjg5OWRkMTdjMjA1NDEwZiBweTNrCis3MTA5NCA2ODk0MzQ0NTRjYjhlNTMxMjg4YzUyZTg4MzhhZTRkNGJlYWJlZTY1IGxlZ2FjeS10cnVuaworNzEwOTUgYTk4MDkxMDY2ZTAxYjIwNjM4ODE0N2ZjNWZjZTA2ZTQ1Y2I5YTAyZSBweTNrCis3MTA5NiAyODA5NmVkNzMxNTNlZDY5Njg3MGJhZGVjYjBkODI5ZTBkZDc0Yzg2IHB5M2sKKzcxMDk3IGMyZjllMTM1NDJhYjJhYzJmOTVkMGYwZGE2OWIzNTAxZmZiODdmMzMgcmVsZWFzZTMwLW1haW50Cis3MTEwMSAxNWM4ZTlkZDE5OTY3ZmQwMTExNzE3ZmNjYzY4ZmEyMjM1NWQzNzE3IGxlZ2FjeS10cnVuaworNzExMDIgNWY1NTg3ZjNjNGQ1NWFiYzIzZDFlZGM2YTJlNGY5ZDAyZWVhMGU5OSBsZWdhY3ktdHJ1bmsKKzcxMTAzIDQ0OTU0ZTZhMTM1MzIzYjQ0MDE3MDFmNGNhZjRhZGNhYTkyYTE1NDYgbGVnYWN5LXRydW5rCis3MTEwNCBmYWEzNDczZTQ1MzQ0ODRiYzIzZmRiZTAyMTYxOTkzOWIxN2NhNWE3IHJlbGVhc2UyNi1tYWludAorNzExMDUgYzNjNmI3Mzc0YmRhMmVkOGQ3MWNhOWNmMzMyYjg4NGU3OWRhZDViMiByZWxlYXNlMjYtbWFpbnQKKzcxMTA2IGQxOWQ4OTAxMzhmMWVjYjFmODQ5MmNmMzY5YzA1YTVhN2YxMzg3MjkgbGVnYWN5LXRydW5rCis3MTEwNyAyZGYxNTE3ZDg2OGM5YWYwNzBhODU1NTI5MmU4MjQ2NTUxOTBiYjY5IHB5M2sKKzcxMTA4IDdiZjYwZDdiMDllOWEyMDYyZDI1NTYwODc5YWRiNzViNWM4OGNiM2UgcHkzaworNzExMDkgYjRmMTU3ZjhlNGE3Yjk4YjUwMjk1ZGY1MGJmYjY5OWEyN2EwYmVlNCBweTNrCis3MTExMCAxZmRiNTY1OWVlMDg5NjgyYzFkZDVmZmQzODRjYjNkMmFhYzRjNjYyIHB5M2sKKzcxMTEyIDA1NWIzMDI3ZDU2OGI5NjM5NDEzMjE2YzcyNjYxODA0ZDdkYjZiMjQgcHkzaworNzExMTMgNmNmMTZlYThhMTZkZTZiNzM0N2UzZWI1ZDdiNjQxZGVlNWQzZjA4MCBweTNrCis3MTExNCBiNGRlZmRkN2Y0MzFiNTE2OWMwNjZkMzU5NzVkYjM1MGNlZDEzYWZlIHB5M2sKKzcxMTE1IGZhMmFhYzQzNGQwNjM2NTZjNzdlOWE1M2ExNjU3Mjk2MDc3MjBhZjkgcHkzaworNzExMTYgZmI3Yjc3MjdhNzMxYWM2MDlkODM0YmZkNDIyZjUxNTVmMmQ3YmEwYSBweTNrCis3MTExNyA1MTc0Y2NmYjAxYjgyMTM5NTI5NDg3YjA2YTA2ODQ5MDBkYzE5YzZlIHJlbGVhc2UzMC1tYWludAorNzExMTggNDkyNTE5NmEyZmQ4YmQ1MjJjMGQwOTViNDExZTU3ZTAzOTA2NWM0ZiBweTNrCis3MTExOSBmMTIxYmQ5NTZhZTA1MTA5ZjM1ZjdiZTMzYTM4ZmMyOTY2NmY2NWY5IGxlZ2FjeS10cnVuaworNzExMjAgOTA0MTllMWI0NjU2YjU4ZmJkNjljZDI0N2Y5NTgwNTdmZTBjY2EwNSByZWxlYXNlMzAtbWFpbnQKKzcxMTIxIDhiNTNiOTY5YjYyODFkODAxN2M0MDhkM2M2Mzk2MGVhYjE2ZDYwODIgcmVsZWFzZTI2LW1haW50Cis3MTEyMiA1NDdhMjM4YTJhYzQ5MjU4MWQzOTU3MDM2ZjMyM2RmZjk3OTkwYzI2IHB5M2sKKzcxMTIzIDE0NmE4ZmRkYmJhMjc3ODc3OTQwZjVhMzkzZDE4Njc2NmRkYWJjNDggbGVnYWN5LXRydW5rCis3MTEyNCBiMzg3Y2E3ZDBmZTYyY2ZlZGJhNTQ4YzM0Mzk1MThiMGVmNTc5YjIxIHJlbGVhc2UyNi1tYWludAorNzExMjUgYTFiZWIxNmNmMjM2OTRkOGUyZDBmNGMzZDBkZWY0OGNmN2YwMTI3YiBweTNrCis3MTEyNiBiYzA4NGE5NzMxOGI5MzM0MzcxZjNmY2M4ODg2OTU4ZTVhZTllMDZmIGxlZ2FjeS10cnVuaworNzExMjcgNWY2NmRlYWQxMTc1YTA4ZDg0YmNkY2M3NmFjNGMxM2Y3ZTlkMjU2MiBsZWdhY3ktdHJ1bmsKKzcxMTI4IGM0Y2FjYmM5YjNmZDI0NDIzZmU5YzY2OTk3M2I0YzIxOGU3NTljNDkgcHkzaworNzExMjkgYTgwZTJlYTM4OWUzMGIzZjA3NzMzMmIyYmM0ZDA3YmNkMWQ0ZTAxOSBweTNrLXNob3J0LWZsb2F0LXJlcHIKKzcxMTMwIDU0NDdlMWY3ZGJmZjRjYjY4NjU5ZDBmOGUyOWYyMGE0MzRlNjc4OTEgcHkzay1zaG9ydC1mbG9hdC1yZXByCis3MTEzMSAyNDc0ZmE5YzM4NTU5MzIxNjJjYWYzMmY0M2UzZGYxZGMxNDFjMGUzIHB5M2stc2hvcnQtZmxvYXQtcmVwcgorNzExMzIgN2Q4N2U3YzA2YjU5ZDA0NDA5YWNhYTIwODdhZjllNDAyMWRhZGYwMSBweTNrLXNob3J0LWZsb2F0LXJlcHIKKzcxMTMzIDQ4YTAyZDVmNWQ0MjhkMmRiOWRiZTA4NWNmMWRhMTJmM2Y0NTE5NmQgcHkzay1zaG9ydC1mbG9hdC1yZXByCis3MTEzNCAyNGYxYTk4OTJkNDljYmU5NTkxN2U3NWMxNTQ5YTE3NTM1OTJlNzU4IHB5M2stc2hvcnQtZmxvYXQtcmVwcgorNzExMzUgNDIyMjQ4ZTZiNzNiOTBkM2Y3NWRiNjYzODRkMjlmMjllNzZiZTExYiBweTNrLXNob3J0LWZsb2F0LXJlcHIKKzcxMTM2IDgxNzViYzAzMTM0ZTMyYjhhYjAzZGY4NDc0NWY1ODlhNGVkMmFjNTEgcHkzay1zaG9ydC1mbG9hdC1yZXByCis3MTEzNyA2NjFiZDU1ODM2MzIxMGMxZGYzOGVkMGIwMzMxYWNhZmQ5MWU4ZGJkIHB5M2sKKzcxMTM4IGUyNTQyYTdkNGFjZmNmNzZmZDZkNWE5NDY0ZThkY2EwMzk0NTk2YmUgcHkzaworNzExMzkgYzllNDhlMDA4YmI1MzZhNDZhN2Y5NjQ2MTYwMGZmMjUwMTMyMjYyYyBweTNrCis3MTE0MCA2ODMwMGRhMTJkZmUwZGM4YmRhMTliMGRkYjA1NjZhZTdjZDlkMjkwIHB5M2sKKzcxMTQxIDk0MTUwMTc1MTk2OTEyZGE3ODE0ZGZhYTA2MTU0NmUwMTk1M2RlY2UgcHkzaworNzExNDIgNjAxOWZiMWRhOWUxMTM1MGI1YjhmNjhiNjVjNmViYzg3NGE5YTEwYyBweTNrCis3MTE0MyBjYThjZWJhNzM3MTQ3ZmNkZjMwYjAyNjU2NzVjOTllZTQzYTE0ZTFiIHB5M2sKKzcxMTQ0IGQ2MzhlY2RlMzU3MjU5NDRiZGU1NzkyMzk3YmI4MjE0ODkxZjY3NzggcHkzaworNzExNDUgNzRjZjIwYTYxYmVjYjY3MjYwYzNhMzlmYTBhZTM3ZWE1ZGMyMTBjNiByZWxlYXNlMjYtbWFpbnQKKzcxMTQ2IDcxNmFjY2Q0YjYwM2U5MjY0ODMzMGM2ZjljNDFlMDM0ZmYyYWU0ZWYgcHkzaworNzExNDcgOTNlOTI0MDljYjQ2OGU5NmQzOWU4OGM1YWJkYjUwMTliZjdhMWIwYiBweTNrCis3MTE0OCBkMzZhZmQwNThkOGJiNmNlNTBkNDI1N2ZjOGVmYjE3Mzk3NjNhYTU2IHB5M2sKKzcxMTQ5IGY2NWYwMTE4MzMxYzI5MTgwNTU3NzEwNjM1MmUzZjUzZDc4MTc2Y2YgbGVnYWN5LXRydW5rCis3MTE1MCBlNzQ1Y2VmOGY0MDc1YmM5MzcyMzc3ZmMxZjFhYzlmZWJiZTJkMjRhIGxlZ2FjeS10cnVuaworNzExNTEgNjFiNTExZDA1ZWU5NDcyMjQ3YzYyMzQ3NTVmOTI5OGYzZjZmMTZhYyBweTNrCis3MTE1MiA2MzQ1MDJiZThkY2NiZGU1NGE0NTdlOGM5MjZlNjZlMzQ0MTg3ZjAzIGxlZ2FjeS10cnVuaworNzExNTMgY2I1OGM5NzM5ODVjOWMyZWQxYjlhNTA0ZGE2MWY5ZjRkMDljYzU1YyByZWxlYXNlMjYtbWFpbnQKKzcxMTU0IDczYTdlNmFiYTdiMjEyZjBlOTEwMzVjZjFkZWIzYjU0ZjM3ZmY5NmQgcHkzaworNzExNTUgMzczNDZkZjJiODg0ZmRlZjM3Nzc0NGZlODU2NDRjMGU3YWNiZTY4MyBweTNrLXNob3J0LWZsb2F0LXJlcHIKKzcxMTU2IDhjN2M1YTM1OGRiOTVlNDFlZTFmMGJhNjZiYjE1OWIzZWNjOWUzY2UgcHkzaworNzExNTcgMTc3ODQxODVhZDkzNTI1MWZlZjYzZGM2Mjg2ZDA1MjdmNDVhNDA2NyBweTNrCis3MTE1OCBlNjU2OGIzYzJhZTc1YjY3NDQ1NTIxMDhmMjdjNDE0ODAwNTI4MDQ5IHB5M2stc2hvcnQtZmxvYXQtcmVwcgorNzExNTkgMmY1MmEzZDE4NWEzMGQ3ZmY5Y2YyYWFlMWVjNWY0MGIyYjQ3ZmRjNyBsZWdhY3ktdHJ1bmsKKzcxMTYwIDNlZjk3NTZmZmRhY2RhMjE1NGNmNDBlMTU2NjAyOTZkNjI1MTQ5M2IgcmVsZWFzZTI2LW1haW50Cis3MTE2MSBiZDc0YzRlZDAzYTQ2ZWUxMzZmNDVhNGU1OWFlNGI1OTI0M2Y2YTAyIHB5M2stc2hvcnQtZmxvYXQtcmVwcgorNzExNjIgMWRmMzdmMDk3NDdjNGE5Yzc3N2UxMzk5N2JlZDNkMzViN2UxY2ViZiBweTNrCis3MTE2MyA3MTM1NWRkZjM3M2VkOWQ3YzlmMzMyYWYzMzhlODgzZjU0ZTNmNTkwIGxlZ2FjeS10cnVuaworNzExNjQgYThmMTdjZDgyZDg5ZjAyMTI0OTkzNmY4MTY5OTBiMjI0ZmUyZDYyZSByZWxlYXNlMjYtbWFpbnQKKzcxMTY1IGFhODkzMDY3MmFhNGQ4MjNhMjVmZjc4MzI3MTE4Mzg1ODg0MjAxOTYgcHkzay1zaG9ydC1mbG9hdC1yZXByCis3MTE2NiAxZjgwNzllY2QzNzAwYzg2NWFiMjAxZTQ3MjFiM2RiYjJjM2QzMDYxIHB5M2stc2hvcnQtZmxvYXQtcmVwcgorNzExNjcgNzNiMDE2ZWM1YjhmYTc4YWM1ODYxMzkyYmEwM2RiMjE2YWJhYmViYyBweTNrLXNob3J0LWZsb2F0LXJlcHIKKzcxMTY4IDM0NzZhZDc1OTBiNzgwYzhjNWMxNjE0NDQ3NWMwODE0MzZhODAwYmEgcHkzay1zaG9ydC1mbG9hdC1yZXByCis3MTE2OSBjNTBjMDc5YjA5ZWI2NzE2NjE5MzUyMWQ5OTIwYzQ5MTA4Y2RjZTA1IHB5M2sKKzcxMTcwIDI4ZTMwYTVjNjM5ZDdmMGRjZTYxNjBhMmY3ZGFmYTVjY2U0YTYzOGIgcHkzaworNzExNzEgYWRiZGU1YzNiNWZlNGRmNDBjN2Y5ZmY2M2QxN2YxMTM4M2IzZWY2NiBweTNrCis3MTE3MiA0NThlYmU0ZjVhNTg4ZjY4NjFkMjQyOGZjMmRiOTNkNjgwYWQ4YWY0IHB5M2sKKzcxMTczIDdlZTFjZWZhNmQ2MmI5MjlhMWM1ZTRhYjM2ZGY5OWQ1ZWI5MTNjZDIgcHkzaworNzExNzQgNThhN2M1MDk0NTIzMDk3ZjYyNzA3YzJkZDg3NzcwZWNkZGMwYTkwNCBweTNrCis3MTE3NSBhM2JiZGQ5M2IzODlhNjY1MjQwYzUyYzBmODNjNzRmZDhmMDkzNTlkIGxlZ2FjeS10cnVuaworNzExNzYgZDdjOTc1NWI2MTc3MzMwMDQwYTI2NTEzYjBmZmIzNGI4ODM3YWIxYSBweTNrCis3MTE3NyBjYjQ3ODE1MjQ3MDQ5NmRlYmNiOTUzZGZkNzg4MWY1MzhlNzdjODU4IHB5M2sKKzcxMTc4IDJhYWRjMWFmYzlhMTk0ZDBhMGNmNzExNWQxMGQxMWI3ZDNkYWJjOTcgcHkzaworNzExNzkgNTM0Nzc0MGQ0ZDVkZDRlYjMxOThmZmYyNzYyN2QyNjZmYzMxZWFmOCBsZWdhY3ktdHJ1bmsKKzcxMTgwIGQyZTE1NjI5ZmMyOTdhMDA3MTdmYmY4NGMyNzNiZTIxMWIwOGZmMWIgcHkzaworNzExODEgN2MyYTA0ZTIxOGYyMWI5M2QwYzdkNTc2Y2U2ZTI2ZmU3NWJhNjRiMyByZWxlYXNlMjYtbWFpbnQKKzcxMTgyIDQ2YjZiODQxNWRlZTc2Y2ZhYWMxNTM2YjMzZGI3YjllNWM3ZGE5YjYgcmVsZWFzZTMwLW1haW50Cis3MTE4MyBiMTRlOWVjOWQ5OWY1ZWNjMWI2MWEzMmNjN2JjYzllYjY0NDlkNTQ4IHB5M2sKKzcxMTg0IDlhOTEyYTU3MTY0ZjY1YmI1MTNhYmU5ZTIzOGE1MzQ0NTRlOGVlMDYgcHkzaworNzExODUgNjhhOWU2ZTM4YWZhOGRkOTJhYTUxYmM0YzcwY2VjYzU3MDEwZGQ3ZSBweTNrCis3MTE4NiBjMTdlZjE0YmRmNDFjYWEzZWFkNDZjOTYyOTZiMDA3N2EyNzljNzVkIHB5M2sKKzcxMTg3IDM1NjMwYzNlZGQzM2M4MDkwYjU0NzdhNzljMjg4M2I5OWUyNzNmYTQgcHkzaworNzExODggZmY3OTMzZjQ0YzQxNjJmNTk0NGEwOGRlN2FlNzkyYzUxOWZlYTgzYSBweTNrCis3MTE4OSBhYWNmNTA5NGExYjU4MGZlY2VjZTRhNjE0ZTc0MzVjMDYxY2QzODk3IHB5M2sKKzcxMTkwIDFkNzkzZWUxNWI2ZjZlOGQ4ZDEzOTI0ZTkxYTg3YWUzODUxNWVkZWMgcHkzay1zaG9ydC1mbG9hdC1yZXByCis3MTE5MSA0OWFlZjQxNDFiOTNmMjg3NTNmN2NhYTU1ZThiNGVmODcyOWQ1NTcwIHB5M2stc2hvcnQtZmxvYXQtcmVwcgorNzExOTIgNWJjOGNmM2Q5MGIzNTUzMTI4MzM1N2FiMDYyYWRhYjdmYWIwZGU1YSBweTNrCis3MTE5MyBhMDE0ZGM0N2I1NTJlYjdlMzcyYjc0MWZlOGRlYmVlZDU1MWE1YzliIHB5M2sKKzcxMTk0IGVlNDMwZTUwNzVkYjJhZGY4MTI0ZTZiOTQ5MTZhODljYTQxZDMxNzEgcHkzaworNzExOTUgOWVmN2JmNGQ4NTkwODYzOTkyOGJiMTVmODg3YTRiMTIzOGFhMzk3MSBweTNrLXNob3J0LWZsb2F0LXJlcHIKKzcxMTk2IDZkZTg2MzZjZDgxNzMxZTk0MzUwOTM4ZGY2YTY2OWMwMTc0MDNjZjggcHkzay1zaG9ydC1mbG9hdC1yZXByCis3MTE5NyBiNGVmNTAyZmNjYTAyODdlY2M3OTQ1ZDIyOTU0Y2NkYzEyMjY2MDZmIHB5M2sKKzcxMTk5IGJkYzU3NDc4MjkxOWQ3OGMxMTUyMGQ0Mzc3NDQyNTYxYjAzYjU3ODMgcHkzay1zaG9ydC1mbG9hdC1yZXByCis3MTIwMCBlMDJiZGQ2MDg1ZmZiZWI1YjZkMjk5MDZjZmE0NjY3ODZiOTI2YmNmIHB5M2stc2hvcnQtZmxvYXQtcmVwcgorNzEyMDEgNzYxMDQ4YTBhOGQ5OWI5NjcwZGViZDU4NjNiNGNmZjNlMmQxN2QzNiBweTNrLXNob3J0LWZsb2F0LXJlcHIKKzcxMjAyIDMyNzI2M2ZkMmU2NjYzYTExY2Y2YjM0ZWU0NmMxYWFiYzdkNGY0YjYgcHkzaworNzEyMDMgMTliMGRiMTM1NGY3MGU3NmI5YTU3YzkwYmMwNmU3NzE5YWU0NzA1MCBsZWdhY3ktdHJ1bmsKKzcxMjA0IGQ5MDAyNDYyMDU2ODdlOTFkMTQxNTMxN2JjZDlkMmQyM2QwNDYwNDggcmVsZWFzZTI2LW1haW50Cis3MTIwNSBmZGNmY2E3MTViZjNkYWQwZGU4YmI0NjQ0NjM5OTA5NDU5ZjcyOGZiIHB5M2sKKzcxMjA2IGU2ZTVhMGU0MzU0MzQ2YjUzZDk3YjdmYTg4Mzg1NzQyOGQ1YWU1NmYgbGVnYWN5LXRydW5rCis3MTIwNyAwZmUzOGJiZDk3M2NkZjFiM2NhNWIzZDBkMzViNzMzNjMyOWY5MDQ0IHB5M2sKKzcxMjA4IGRlNWYxODYzOWE2Y2UxZmMzOWYzNjZiMGZiNzU2NTU2N2JhYjQ3MDcgbGVnYWN5LXRydW5rCis3MTIwOSA3OGYzMTBiOTYxYzAyZmNiYzcyM2IwZGIwNjYzOGYxZDUyYTJmNTllIHB5M2sKKzcxMjEwIDkzODRiNDNkNDI2ZmVlNWZhNGQ1NWRlNTZlNTI1ZDM4ZmQ4YTk0NzAgbGVnYWN5LXRydW5rCis3MTIxMSBhZGRkNzUzYmE0ZDk2YjczNjZiZDM4YmE1OTc1ZGZiYjkzN2ZkYmZhIHB5M2stc2hvcnQtZmxvYXQtcmVwcgorNzEyMTIgMThmMWM1NmNhNmZkYmYwZDMwZThhNGI0OGFjMzQ0ZDljYzIwM2E1MSBsZWdhY3ktdHJ1bmsKKzcxMjEzIDBmNzcwOGIwMTI4YzA3YWVhNDQ1NTc3OTQzZDIzYzM3YTM1MjVkZmQgcHkzay1zaG9ydC1mbG9hdC1yZXByCis3MTIxNCAxZWYwMmVmNDhjNDI0YmZjODlmMzU0Y2M4Zjg5NTkyMjkyZmUwMGE1IGxlZ2FjeS10cnVuaworNzEyMTUgNWU4ZGU2YzNlMDAyNzUyNjIzMjY2NWQzYjRiMTBkMWUyZDQxMTVkNCBsZWdhY3ktdHJ1bmsKKzcxMjE2IGU0MjFhOTJiMjUyMDc4ZGE3ZmE2MGFmNTBkNjk4M2NmYWFkZTkxODMgbGVnYWN5LXRydW5rCis3MTIxNyAwMDA2YjJhZGM3ZTQwNzgzOWI4NjZkY2Q4MmNhZmY4NjEzNDg3ZTk1IGxlZ2FjeS10cnVuaworNzEyMTggNTg3YTJhZWQzOWYyZWQzZGE0MTA0NmJkZjMzODY1YjdkYjczNmU5MiByZWxlYXNlMjYtbWFpbnQKKzcxMjE5IGViODQ1MzA1NzdhNTNhMjk5Y2VlNmE3NGE1MDljNjMyNmVjZmZhY2QgcHkzay1zaG9ydC1mbG9hdC1yZXByCis3MTIyMCBmNWNiM2IzM2I3OTQxYTcwNGEyOWYxZmM2MjU1MzE3ZjFmMTUyMzIyIHB5M2stc2hvcnQtZmxvYXQtcmVwcgorNzEyMjEgZjU1MGUyNDYzMDYyOTkzYWU5Y2JhYmQ1ZThmNTZjNTZjYzI4M2QyYiBsZWdhY3ktdHJ1bmsKKzcxMjIyIDJiYmI2MGMwMGViNzI1NzgyMjQwYzM4MGRkMmY2OTdjMTViMzMyMWEgbGVnYWN5LXRydW5rCis3MTIyMyAwMWY0ZTg4MDNlY2RlMDA2MTQwZjQ3NjgwNzY3NDZkMmRhODFhMDQzIHB5M2sKKzcxMjI0IDk4ZjQyMzkyODM1YjY5YWVkNWZiZjgwM2Y3YjlmMzUzMjgzMjI5MDIgcHkzaworNzEyMjUgYTdjNzRlMDlkZTNkZjBhZTAwMTZjNWQyZmNiN2MyNjE2ZTA3MGQwNyBsZWdhY3ktdHJ1bmsKKzcxMjI2IDE1MmUwOGRmYzFhZjVlNTdhNGUzMjJjNDhhNDk0OGM0ZTcwNTE5ODkgcHkzay1zaG9ydC1mbG9hdC1yZXByCis3MTIyNyA1OGQxNzE3ODBmZDg5NTQ1MzljYjU2MWY0MjBjYjE5MWE3ODVjZTlhIHB5M2stc2hvcnQtZmxvYXQtcmVwcgorNzEyMjggNWNiZGI1MTU3ZmE3NmM1MDA3YjRmNmU3MzVhYzdjZjZhNDA2ZTA2YyBweTNrLXNob3J0LWZsb2F0LXJlcHIKKzcxMjI5IGJmZmE3NzY5NjkyNmRjZjU5MWMxZmUzNzJlMDA5ZmJmMjg5MWRiYjIgbGVnYWN5LXRydW5rCis3MTIzMCBlYjMyYTE1MzdkZDdmOGI5ZWZkMzdkNjNkZWNlMzQyZmY5NDEyOTI2IHB5M2stc2hvcnQtZmxvYXQtcmVwcgorNzEyMzEgZjFjZWMzNzY5OGZlOGQwNDE5NDU1YWIxZDQxMDBjMTAwNDE4ODUyOSBweTNrLXNob3J0LWZsb2F0LXJlcHIKKzcxMjMyIDY2MzU0YmRkZGNmNzZkZDRmMzE4OGIyNGUxMDQwNGY4ZTcyYjY1MDYgcHkzay1zaG9ydC1mbG9hdC1yZXByCis3MTIzMyAxY2JlYWJmODg4YTE0NjQyYzFjMTBkNjgyOGEzMWM3OTk4Mzc2NWQ2IHB5M2stc2hvcnQtZmxvYXQtcmVwcgorNzEyMzQgZWI5NDUxN2RmYmQ2ZDdhZmIwZWJiOTgyYmZjMTM0NDhhZDE3ZDA4YyBsZWdhY3ktdHJ1bmsKKzcxMjM1IDg1YzVjZTZkN2Y5YzdjYjA5YjYyMTRmNDA0OGQ5NjczNmFmZjEyNzQgcHkzay1zaG9ydC1mbG9hdC1yZXByCis3MTIzNiBlZDc4MzNkNDgyYzgxZjJlNzdmZjhjNGU5ZDVkOTJlYmIwMjQyZDk5IHJlbGVhc2UzMC1tYWludAorNzEyMzcgOTc2YjMwNWFhZGQyOWUwZTJmZjkwMmY5ZTM3ZWQ1NDgwNDUxN2M0YSBsZWdhY3ktdHJ1bmsKKzcxMjM4IDZlYWY5NzcyMWQzZDhhZDFmMTEwY2Y5YzVjMWVkMTE4MDJiODdmNWIgbGVnYWN5LXRydW5rCis3MTIzOSAzN2Q2YWY2Zjg1YWFjNGRkOGQ0NDdkOWVlMWUxNDJlODdhMGVkOTNmIHB5M2sKKzcxMjQwIDhjNjFlN2NhYTA2Y2Y3ODBhNDU4NzUyNjc4Mjk5ZWQzN2ZkYTUzYmEgbGVnYWN5LXRydW5rCis3MTI0MSBkYTFlNTQ4M2FjYTAxMzZhNWI1ZDhkZGViOTA5MTdhZTRmOGY5NDFlIGxlZ2FjeS10cnVuaworNzEyNDIgM2JiYzY4NDQ5Zjk0ZTdlYmMyYTExYmMwOGY0NmEzNDAxMjcwMWE4YyBweTNrCis3MTI0MyAxM2VmMTE5MGVkYTlkNjRlMTViZGU4MWIyOTdmMzc1MTI3OWNiN2Q3IGxlZ2FjeS10cnVuaworNzEyNDQgMjRlZDVkODUxNzIwY2VlMGUwMmFkNWEyYWQ3NjdhMzE0ZWNhN2JhMSBweTNrLXNob3J0LWZsb2F0LXJlcHIKKzcxMjQ1IDhjZTllZGM4ODk2OWI4ZDhlMWZkMzE4MzY3NzU1NDczNTFiOWI3ZDIgcmVsZWFzZTMwLW1haW50Cis3MTI0NiBiOTA4N2I2NDVjZWZiYzQzYmMzOWM3YzIwYTAzNzg2NmFjZmI1YWEwIHJlbGVhc2UzMC1tYWludAorNzEyNDcgNzYxMmFhODliZjA2MGVjZDJjYjVjN2NjNjRhYTdkMjdjOGJmNjZhMCBweTNrLXNob3J0LWZsb2F0LXJlcHIKKzcxMjQ4IGE3ZTViOWQ5MGIxMjVmY2U2ZWQ3ZDBjMGIzYjNkY2VkNGM3ZTA4YzEgcHkzay1zaG9ydC1mbG9hdC1yZXByCis3MTI0OSA4ZDIyODczZTliMjZkMWQ1OWNmMGQzNzU4MWZiNWIxNWI2ODIwZWUxIGxlZ2FjeS10cnVuaworNzEyNTAgNDNjODg5ZmVkYTQwYjExNzYyMzk5NzcxMWQ2M2ExZjJmZWNhOGJjNCBweTNrLXNob3J0LWZsb2F0LXJlcHIKKzcxMjUxIGJkMTMzNmEzYTY4NjNhZTI3NTFjYTI2NDc3Y2EzYWRmNjNkZDI4MjggbGVnYWN5LXRydW5rCis3MTI1MyBiMmM2OGRmOTQ0NjM5ZGQ0MzRhZDNiMzhjMzQ0Y2FiODExOGM5MjU2IGxlZ2FjeS10cnVuaworNzEyNTQgZTc0MDgzMzAxYTM2ZTA4NzU1YzQ5YWVjOGFmMTZmYmUwNTViODdlNSBweTNrCis3MTI1NSBhMTZhMDQ1Njk3OGY3ZWY3ZTk4YjMyY2E3NjcyZjY5N2UyOGM1YTFiIGxlZ2FjeS10cnVuaworNzEyNTYgY2ZkNzEzNjk0MWEwOTk5MjNmODkwYzJiMTg1ZmVmM2RhOTg4MDdkNSByZWxlYXNlMjYtbWFpbnQKKzcxMjU3IGVjYjIxMDNiYTAyNzlmZjU3Y2Y0MmFkMzQyNDdmMjc2MTgyMDVlOTMgcmVsZWFzZTMwLW1haW50Cis3MTI1OSA3YjRlZjBiODdkZGNmZjkzMTM1Y2MxMDM0NDE0NzUwOThkNTVlMTAwIHB5M2sKKzcxMjYxIDc5MmJiODg1MDI5ZmJmYjI4NWZjOWQzOTY1OWYzZDJlOWJhODk3MjkgcHkzaworNzEyNjIgNGQ5NzYxMWQxY2NhNDhhMTRmZmExYjY5Mzg5NTY2NDMyYzgzOWY5ZSBweTNrCis3MTI2MyA2NzJiMGMwNDFiYTYzODRhZDg0YjNiYzNjNjY5YmQzODlhMmRlNGUyIGxlZ2FjeS10cnVuaworNzEyNjQgYzllY2Q0NWE1ZWEyZjEwM2EzNGU0OGNkZWEwOTE4YzFlOWJhYjg4NyBweTNrLXNob3J0LWZsb2F0LXJlcHIKKzcxMjY1IDE0ZTAwZjBmNzhiNzRjZjQxMDRmNzVjOWZhMGMyMDFmZjc5NWQ2YjEgcHkzay1zaG9ydC1mbG9hdC1yZXByCis3MTI2NiAyZDAwZmYzZDJmNWEzYzVjY2E4MzU4ZmQ1MWJiM2I1MDFlZmU4ZmRkIGxlZ2FjeS10cnVuaworNzEyNjcgYTE0ZGViOTQ4MGY0ZDMyMGRhZDJjNjIzM2FjZmQ0NDc4NGRlYzY0ZSBweTNrCis3MTI2OCBmOGM1NzZmYWE5YWQxM2U5YWE2NjA2M2I4YjhkZjkwY2U1Yjg1MzljIGxlZ2FjeS10cnVuaworNzEyNjkgNTRkNWYyOTg2YWY0MmNkZDc4YmI3MjZhZjBmYzA3OTc4MTc2OWFkZiBweTNrLXNob3J0LWZsb2F0LXJlcHIKKzcxMjcwIGZiMmVhOGJiM2EzM2RjNzZmZDg1NDE0MmRmODgxNzQwNmI0NjNlNDIgcmVsZWFzZTI2LW1haW50Cis3MTI3MSBiMDQyOWM3ZmE3MWFhZWQ1Y2M5MzI2OTZlMDkzZDVhNTI0NmMxMjgxIGxlZ2FjeS10cnVuaworNzEyNzIgNGFjYmJiM2U2NWUyYjA1ODIxZDQzNjg5ZWUzYWY1YmE1NzMwNDM0MSByZWxlYXNlMjYtbWFpbnQKKzcxMjczIDI1MWJmZDJkOTk2YTJkZmY4Y2MxMzI2NGFhODViZmFlNThiMTg0NjIgcmVsZWFzZTI2LW1haW50Cis3MTI3NCBkMzg4N2RmZTY2MWY5MzYyYzNlMmNmYzEzNDMyNDIyZTYwZTE0NTk3IHB5M2sKKzcxMjc1IDM4ODlkOTUyODYwMWUzYmUxOGE2MmI4NDg2MzZhNjBiMmQ0NTBjNTggcmVsZWFzZTI2LW1haW50Cis3MTI3NiA5NjlhZDEwYThhNzI1NzBiODFjNTg0YTVhNGExM2JiYzRhOTBlMjJlIHJlbGVhc2UyNi1tYWludAorNzEyNzcgZDA4ODQzNmFjMzZiMTBhOWYzM2NlZTkxOGY4MThkMTdkMGNjNDliMSBweTNrLXNob3J0LWZsb2F0LXJlcHIKKzcxMjc4IDgyMzdkZTYzMmQ2ZjY4MTVhMzY4ODJmOTY0NTNlNGE5YmUyZDgxYTAgcmVsZWFzZTI2LW1haW50Cis3MTI3OSA4YjUzMTUwMTM0ZjVkYjE0ZDIyM2RlMGEyM2I5ZmRmMDVhNzU2NTJmIHJlbGVhc2UyNi1tYWludAorNzEyODAgOWE0YjE5MzMwYWE5MzFhYmQzNTg2MWZjZmVlNjI0ZmY0ZTBjNDQxMiBsZWdhY3ktdHJ1bmsKKzcxMjgxIDdlNzgxM2FkYTJkMTgxYzQ3MjQ5Yjc5YTkzZmRlZjMzZjhmYTBkMGIgcmVsZWFzZTI2LW1haW50Cis3MTI4MiBmM2IyNmE3MjllODJmOGZmZmIxNzRkNDkzYzY5YzZlOTlhYjg5MDU4IHJlbGVhc2UyNi1tYWludAorNzEyODMgZjY3YTRmMWYyMzBkNzQwZmRlY2JhNTNiMzU5NGY4ZmRmOTMyNDA5ZiByZWxlYXNlMjYtbWFpbnQKKzcxMjg0IDkzNGQ5YzNjYmE0MTg0Yjc0MDI2OTM4ZTY3ZjRlNzg5N2M2NjI3YmMgcHkzaworNzEyODUgYjY5MzQ5ZDRiOWU4ODMxNmI3NWRjODI4NjQ3NTY0ZDQ5ZjQ2YjcwNSByZWxlYXNlMzAtbWFpbnQKKzcxMjg2IGQ2ZGU2ODQ0ZmQ3MTQxYjM2YzY0NmQwNjBiODk3NzU1NjY4Y2YyZjcgbGVnYWN5LXRydW5rCis3MTI4NyAyNGZhN2RkZDRkY2NlNDhiMWRlZGYxMGQ2N2VhZDMwYzVkOWMzZmNlIHB5M2stc2hvcnQtZmxvYXQtcmVwcgorNzEyODggMWQ4Y2I3NmU3MTliN2UwNTA4NDI5MWIyYzhkMmNjMjE1YzkxYmU0OSByZWxlYXNlMjYtbWFpbnQKKzcxMjg5IGIzNmIwMGFlMjlmZmJmNmU1NTNiYzY0NDI3MGUzYTcyZjZjODVjZWEgcHkzaworNzEyOTAgYjMzYmRkMjQxNDAyMzU4OWM2ZWZjYWRhNWVlMjI1NDA1M2MxZjUxYiByZWxlYXNlMjYtbWFpbnQKKzcxMjkxIDQzM2RlM2Q1OTYwNzhkMWFlNTVhZDI1OTc0ZjA4N2FiMDgyYjVhOTAgbGVnYWN5LXRydW5rCis3MTI5MiAwYzZiMTZhMmY5MWI3NWVmMjE3MGEzNmJkNTlmMmE3Zjg2MjVlNmRlIHJlbGVhc2UyNi1tYWludAorNzEyOTMgNTQ4Y2EzNDM1N2NkYWU1YzdmMTk1NTJiMWE2Y2YyYmM3YzlhZGRkNyBweTNrCis3MTI5NCBkYTBjMWY3NGNhMjAwYmM4YTFmYmFmMDFhMmVkNGIyNjBkYmMyOTk4IHJlbGVhc2UzMC1tYWludAorNzEyOTUgNGI4ODFiNGE5MGU5NWVlZDdmZDQ1MjZjOTlhZmIxZmIyMTUxMGU5MyBsZWdhY3ktdHJ1bmsKKzcxMjk2IDM2NGJkMDAyYjdmODY3OWZlYzEzYmI1MWYxMjgzMDJkYzBiMGIxZjUgcmVsZWFzZTI2LW1haW50Cis3MTI5NyA1YTdhMzNjOTRkMDAxYzhiZGM3Yzg4NjZmYmQyYTUzNTk2NDQ2NzJmIHB5M2sKKzcxMjk4IGVjMmU0YjVhMGU5MGRjNGQ2MGRjMDI0MWYwOTEyZWVkMjMxMTg0NTMgcmVsZWFzZTMwLW1haW50Cis3MTI5OSBkMzZhNGY5MjAzNzgzZmE5OWFkZjhlYzM5NzNhNWI2ZDBiYWE0YmIyIGxlZ2FjeS10cnVuaworNzEzMDAgNDE0YTMxMTgxZTlkYzM4MDFjYjczZmE3MGUxNzc2ZGRjMTAwMmYxMyBsZWdhY3ktdHJ1bmsKKzcxMzAxIDczNjAwNTE1OTk5YmNhMGYxZGUwNDk2NDM5MjUwNmQ2NTlhNTNiYTcgcmVsZWFzZTI2LW1haW50Cis3MTMwMiBlMzYzOTU4ZmNkNzBhNDNhZDA3YjM5ZGY5OTk1NTJkMGZhMWNlZmMxIGxlZ2FjeS10cnVuaworNzEzMDMgYzZjNDM5ODI5M2JkNjgyYjM1NWYxMDUwYmIxNmJiM2UxOGM4YjQwZiBsZWdhY3ktdHJ1bmsKKzcxMzA0IDk4NjIwMWFjYTY4YjQzNDRiZmJhMzlkZjhjZjk0MTQ3NDQ4ZmUzZTcgcmVsZWFzZTI2LW1haW50Cis3MTMwNSAyMDc5ZWRkNTI4NTg3NDJjYWQ5MWIxOTMxOWNjZjIxZDZiODc3NDk1IHB5M2stc2hvcnQtZmxvYXQtcmVwcgorNzEzMDYgZWZjN2UxM2E3NTQyMzI1YmIzZjczMDlmYmViYjI0ZWM1NDg3ZDc1NyBweTNrLXNob3J0LWZsb2F0LXJlcHIKKzcxMzA3IGI0ODgxZjhlYzcwNmY4MTIxM2JmYmNlYzFkOGZkNzFiM2IwNDQwNWMgcHkzay1zaG9ydC1mbG9hdC1yZXByCis3MTMwOCA4NTkyNjc3ZWIzNTJjZjg1YzYwNTViOWRiZmQ5MDU3ZTdlYjY3ZmIwIHB5M2stc2hvcnQtZmxvYXQtcmVwcgorNzEzMDkgMDY2ZmEwYmE4MjkwMGZiYzI0OTg3MmYyYWU3NGExOWRkYjk3ZmZkNCBweTNrLXNob3J0LWZsb2F0LXJlcHIKKzcxMzEwIDdjMGZmMGRlNjI5NTZmMTc3N2VjNzMxNjY1NjI4ZDQzNjE4NDI3ZjEgcHkzay1zaG9ydC1mbG9hdC1yZXByCis3MTMxMSA5OTY4N2Q1MWJlMGExNDI3MWZhNjJhOWNmNzJkZDc1ZjI5MTFmZGI4IHB5M2stc2hvcnQtZmxvYXQtcmVwcgorNzEzMTIgZTAxMjk4NmJlNGY0ZTUyZjlhYzE2OGRhZmVmNWQ4NDU0OWFlZGE0MSBweTNrLXNob3J0LWZsb2F0LXJlcHIKKzcxMzEzIDUyNmRiMjhmMTAwZDIxMjViYjgzNTU1MzRlNThiMjZhYmVhNzMyNWYgcHkzay1zaG9ydC1mbG9hdC1yZXByCis3MTMxNCAzMGI1MGNiZTVjNWU1ZmM4ZjllOWYwZWQwYTJhMTEwNmNjMWQwMjYzIHB5M2stc2hvcnQtZmxvYXQtcmVwcgorNzEzMTUgZjdmNzAxMzllZjU3MGRmYjNjNjQ5N2I2MTM2YTFmOWViOTVkOWIwNCBweTNrLXNob3J0LWZsb2F0LXJlcHIKKzcxMzE2IGNlZTFhODZjNjljMTVlNjQ5YzFkNzU1OWI5MzQwMjU5ZjY0MmY5YmMgcHkzaworNzEzMTcgMDI2MzU0NjAyNjFlOWFmMWE5MzdjOWY2MGNmMGQ1YmFlOGJiMWViYSBweTNrLXNob3J0LWZsb2F0LXJlcHIKKzcxMzE4IDk4NjQ1MmI1MjZhMWRmNmNlMGE4MzNmNDAzMTVjYjAxZTBkNmMzMDMgcHkzay1zaG9ydC1mbG9hdC1yZXByCis3MTMxOSAwNmZhODdmM2VjMzYyNzFmZDA0NzQwZjMxODlhMDA5ZWZkYTljODVhIHB5M2stc2hvcnQtZmxvYXQtcmVwcgorNzEzMjAgNTU2MGEwNjhjMDU3OTVmYTA1MDA1MjE3YmZiMzg5NWZlNzFhOGZjMyBweTNrLXNob3J0LWZsb2F0LXJlcHIKKzcxMzIxIGU0ZWViMGRhZjYyNTQ2Y2ZkMzc2NzM3N2ViNjJhYzcxZDBlZWYzMDYgcHkzay1zaG9ydC1mbG9hdC1yZXByCis3MTMyMiA0NWZkMjI3MGFlMWI4YzFkMDg5NDk5YTJhZDkyMTFjNTY3ZjI4ODFjIHB5M2stc2hvcnQtZmxvYXQtcmVwcgorNzEzMjMgYzVlMGM2ZjY1NmU2MzY4NWUxYTk4NjBjNmJlZTFlNmMwOTI2MzkyZiBweTNrLXNob3J0LWZsb2F0LXJlcHIKKzcxMzI0IDA3NmM3MjIxMTU2MTExOTY1OTY0MGEwMjY3ZTY2MTlkZTNmNmVjMDEgcmVsZWFzZTMwLW1haW50Cis3MTMyNSBiOTg0OWVmYjI3NTQ1YzY4M2Q0MjRkYmQ4NjQ2ZTA0MmZlYjhjYjg3IHB5M2stc2hvcnQtZmxvYXQtcmVwcgorNzEzMjYgOGQ2OTc2M2EyMzE3YjU0MDYxOGZjZmIwYWEwY2I3Y2I1ZmRlZjQ2OCBweTNrCis3MTMyNyBkMzQ3MGJjNmQxOTE4ZGE5Nzg1NzZmOWY1ZDhlZTE4N2Q0NzllOTUyIHJlbGVhc2UzMC1tYWludAorNzEzMjggNGE2N2Q2OTE0NzI1ODUxNTA3MzQ1ODBiOWI4NjVlNWQwYTcxN2U3YyBweTNrLXNob3J0LWZsb2F0LXJlcHIKKzcxMzI5IGQ4MTk4NTE4MmEzNmQ2MDg2MGFkNGVlNjQzMmQ0Yzc2M2I0MDQ4MzAgbGVnYWN5LXRydW5rCis3MTMzMCA5MjBiMDc5MDk2MDAzZDRmNzRkNmU3MzFlZDhlOWQzZTdhZTkxZmFmIHB5M2stc2hvcnQtZmxvYXQtcmVwcgorNzEzMzEgNWIwMWZlNTEzZjkyODY0ZmY1YmQ2OTE3ZThmMDgwNjM4ODAyN2Y0ZSByZWxlYXNlMjYtbWFpbnQKKzcxMzMyIDU1NDllOGZmMjhkMmNlYzdhM2IyN2JlMTY1NTIzYWNkM2U3MWNkMDQgcHkzaworNzEzMzMgZjY2NDA2ZjI2MDQ0MWYzMGY4NmFjNmEzZjJkMjRkYzJmMDBkYmFkZiBweTNrCis3MTMzNCBhMGVkZDkxZTljNmYzMTI2MmJiM2ZhMTI0MjRhMDU4ODYzNGQxODc1IHB5M2stc2hvcnQtZmxvYXQtcmVwcgorNzEzMzUgZjgyNGRjNjAxMDZmMTA4ZjJjNjU5YjJkMGVkZGNhMDg1ZWRjOTA5NSBsZWdhY3ktdHJ1bmsKKzcxMzM2IDYwOTNmZGM1ZWU5NjJkZTBjZWU5ZmJiMjY2YjJkODY1ZjliYWI4YTkgcHkzaworNzEzMzcgN2EzOWY3ZTQyYmQ5N2NmZjI2YmM5MTMzNTM1OWE1NDcwYWU0ZTcyMCBweTNrCis3MTMzOSBmMzkxZGY5M2M5YWJkNDlmN2QwMjBkZDUyZDQxNzM1Y2I1MjI0NWVkIHB5M2stc2hvcnQtZmxvYXQtcmVwcgorNzEzNDEgMzc0NGVmYTQ1NjY4MWVhODQ3ZDgzYzNlNzU2NjVjODdkYzk5OWM1MyBweTNrCis3MTM0MiA5NzY4ZGE4NmNmOGUzMmFmNjE3OTVmMmI3NDgyM2Q1MGYxOTdhYTU2IHB5M2stc2hvcnQtZmxvYXQtcmVwcgorNzEzNDMgMjhiYWU1Y2E1MjE4ZDA0YjJhYzQ4NTJmOGIzODY2NGMzMzEwODNjMCBweTNrLXNob3J0LWZsb2F0LXJlcHIKKzcxMzQ1IDY5MTE0YTM1NmNmMGRhNzJlYmY0M2Q0NTVjMTU4MWQyNDliOGI2ZmMgcmVsZWFzZTI2LW1haW50Cis3MTM0NiA4ZmJiOTkzNmQ0ZGEyYjE3ODI5Mzk3ODAwODY2YjdkZjllYWNmYmY5IHJlbGVhc2UyNi1tYWludAorNzEzNDcgNmZjZDEwZWE5OThhOTI2ZDUzN2MwNjQ1NjBlYjBkNDRmNmU3OTM5NyBweTNrCis3MTM0OCBkYTczYzQzZTY5MWVkZjg3NWQxYTcyMjNmOTFhYWQ3ZTgxY2I0ZTI5IHB5M2sKKzcxMzQ5IDcxNmY1OTU4YjVmMGRhMGE2MWZkMjcxODAwMzJmZmNlZWI2OTg1ODAgcHkzaworNzEzNTAgNmY0YTA4OGQzNTlkNmNlNmY5Nzk4OWY4NDM2MDcxOTYwMWMwZWM3YyBweTNrCis3MTM1MSBjMzdiYjFiN2E0N2E4NDNlMjBkODBmY2U2ZTg2NzdhMzRhZGVlMzA4IHB5M2stc2hvcnQtZmxvYXQtcmVwcgorNzEzNTIgNDliMjQ5MjJlYjJkZGY1N2Y5MzMyMWZhNTcxNDQ5ODBhMzI1ZGE3MiBweTNrLXNob3J0LWZsb2F0LXJlcHIKKzcxMzUzIDY3NGIyMDAwMjI0Y2M4OWU3Y2JjMWFlNGQxMGVkNTg5MjYzMmIzMjkgcHkzay1zaG9ydC1mbG9hdC1yZXByCis3MTM1NCAzMTU4MjQ4NWZiZmNkMTUzNDcxZjBkODkyZDlmZmFkMmMzNTUwMzczIHB5M2sKKzcxMzU1IDE1MzkxN2MwMDFiZWZhZmQyNmFkMzdlYzI1MTE5YTcwN2UxMTk4YjAgcHkzaworNzEzNTYgZjkyNTMzOTI1ZWE2NjI3MDVhYmEwYjA3YmQ2NTMyYzA4MTdmNDMwYSBweTNrCis3MTM1NyA5NDgzMjQ1NWUzN2Q1OTBjY2FkNzg0MDE5ZGJlODFhNmMyNDQ0YjM4IHB5M2sKKzcxMzU4IDc1ZGVmN2VkOWQ1ZmM2M2Y5MDVhYmIyZGQ4MDM5YTdhYmM0YjU3ODcgcmVsZWFzZTI2LW1haW50Cis3MTM1OSBjMzljMWMyOTc4Zjk0ZjViNGY4NDJjOTZhYTQ1MzhlMTE0MjM1OWVlIHJlbGVhc2UzMC1tYWludAorNzEzNjAgMmIwODMxNDZhY2Y1YzI2Njg4NDZkNTZmN2E0YWJmZjMyZjAzOWIxNyByZWxlYXNlMzAtbWFpbnQKKzcxMzYxIGI1MGYxMWI4Y2FkN2Y0MWVhZWNkZTEzNDkxNDRhMDRkNDI0ODk0ODkgbGVnYWN5LXRydW5rCis3MTM2MiA5MGQzMjM4MWEzNDBmYmU0MjVjZTBkNzE5YmZjNGQyOTIyZWI5YmU0IHJlbGVhc2UyNi1tYWludAorNzEzNjMgMDFmMWFlODM2MzFhZTgyYmQ4NTk4YTExYzE3ZTNmOWIzZjU2YzM4YSByZWxlYXNlMjYtbWFpbnQKKzcxMzY0IDI3NWMwYmE3NDg1ODllOGE2N2YxZDZhMWEyYjI3NWEzNmJhMzNlM2YgcmVsZWFzZTI2LW1haW50Cis3MTM2NSA1ZThjM2U3NDUxZmZiNzljZTExOGZjMjk3ZDg2ZWMzZGMwMTBjZjk5IGxlZ2FjeS10cnVuaworNzEzNjYgOWFiNTI0MTcwZjY4MmYzMzJiYTBiYmE4MTU2NWE4MmExZTgwMWFkOCByZWxlYXNlMjYtbWFpbnQKKzcxMzY3IGZjZTNhZDRiMjNkNjBjMzVlZmZkNWJhYmU5ZmMyZDRhN2ZjZTc1OTAgbGVnYWN5LXRydW5rCis3MTM2OCA1Y2UyM2NmYjk4YzdmNWZiZGY2MjA3MDc2ZWRlNmIxYzEzZGU2N2QxIHB5M2sKKzcxMzY5IGM4NDIwMTE4OTM4NzNlYWYwYjg3Nzc4MmQ0NDg1MTkxZjc0MjUxNTYgcmVsZWFzZTMwLW1haW50Cis3MTM3MCBlMjMyNTJhOGZmNTkyNmZjZmMxZGVmODc5NDlkY2RlNmVhNDE1OGU0IGxlZ2FjeS10cnVuaworNzEzNzEgNWE0OTQ2MjNjZjNhODE0YjllMmUwYmI3NjY4MzViNGFlYjNkODQyNSByZWxlYXNlMjYtbWFpbnQKKzcxMzcyIDZjNDZkNmRiMmZkNmE5ZmIxYjU3ODBkMzQ3MzI3Y2U0MWZjMTdjYmEgcHkzaworNzEzNzMgZDE2Y2FkYTk2MzcwMTkwNzM4MDUxZmM1NzMyYmY5M2NhYTIxYmJlZiByZWxlYXNlMjYtbWFpbnQKKzcxMzc0IGJhM2E5ZWJjZTgxZTdjMmNhYWYyYWJmZTYxMWI3Yzk5ZjBkNDVjMzIgcHkzaworNzEzNzUgMzc5OTcwMzA5NDc1NTY0ZjlhNmQ4OTMxYWVlN2Y5MGU2YjUxNTcwNSByZWxlYXNlMzAtbWFpbnQKKzcxMzc2IGJjNzliZWY1NWFhODA2ZTgzMTU0ZDY0OWEyMmRmODFkMDBiMGU5ODAgcHkzaworNzEzNzcgNDFlNzIwMmU5ZjkzMDQ2ZGZkNTNmYjNjYmRhNzU3ZGE2YmQ2OTdkYyBsZWdhY3ktdHJ1bmsKKzcxMzc4IDI0OGFkZmNiYjcxNTQ0YzZhNTczNTBmZTc4YTZjYzFmZWE1N2QwYzYgcHkzaworNzEzNzkgZGIxOGU3OGI5MmQ4NmEwMzFmMGJiMGNmMTkwYjg4Zjk4NmFjODEyZSBweTNrCis3MTM4MCAwYTFjZGExZTdjMWM3OTY4NzMxY2NmYmQyMTg5ZjAzZDFlZjI4OGUyIGxlZ2FjeS10cnVuaworNzEzODEgZDA0NDkwYmVlMmVkNDhkMmI5ZGI2Nzk5Yzg0MjU4ZDAyYzAxZTFmYSBweTNrLXNob3J0LWZsb2F0LXJlcHIKKzcxMzgyIDA5MTcwNmUxNDA1NjA3YTc2MzNjODcxNzBmODgwMTllOTRmZTRmNTcgcHkzay1zaG9ydC1mbG9hdC1yZXByCis3MTM4MyBhZTVmNTE1NmI4ODI2NmFkZTRhYTgzODg0ZDQ5MDRiZDJmYzBkNTE2IHB5M2sKKzcxMzg0IGY3MTA1NTUwNTNiZjJmOGY2MmUwMzYwNWNiZTA4MjBhYTgxMTlmYzYgcHkzaworNzEzODUgMTA5OTQxMDE1NzAzMzA3NGI3ZWJhYjllNWE4NDAwMjNhNzc3NzlkNyBsZWdhY3ktdHJ1bmsKKzcxMzg2IDI1MWVmOTlkZmI0YzQwMWE4NGU4OTBjOTkwY2QyMDFiZmRjM2E0ODkgcHkzaworNzEzODcgNzRkOWY3NWQ5ZGMxZmNmZDBmNDRmZGRkYzc1ODQ2MDc0YjZhYTJkYSBweTNrCis3MTM4OCAxOWY3ZDNhYmU3Y2RlMjdmZmExNDYyYjk4NTIyOTc3YWIyNDA4ODRkIHB5M2sKKzcxMzg5IGRmMGVkOWViNzljMzY1NDVmMWNmMTMyYjEyYzAxZGQyNTZiY2U0NzUgbGVnYWN5LXRydW5rCis3MTM5MCBmZDE4MGJmNDcyMjdmZDZhNmUzNDViNGZhYWNiYTQ1ZTEyZDdjMjRlIHB5M2sKKzcxMzkxIGE5OGM1MDkwODRlYjM1NjJjYzY2Y2ZiZDYzZmU4MjVhZWE0ODVhN2MgcHkzaworNzEzOTIgN2I4OTYyZjY1OTE4YjNlNDk1OTdjMjM3NmI0Y2JmMzE2MjI4ZjI3NCBsZWdhY3ktdHJ1bmsKKzcxMzkzIDYxZTM3ZWZmYWUzYWVhZjMwZTg3ODQ2MTU0ZDE4YzViNWZkMWM5OTYgcHkzaworNzEzOTQgZmQxNmU1NzkwOTZlM2EzOTBmZGZmYTAxZDYwNzYxODUzN2MzMDBiMiBweTNrCis3MTM5NSAwYmMwNTI0ZDE3Y2ViYzIyMWE5MDljNWYzNjc0MDA3YmZkZmJkMDJmIGxlZ2FjeS10cnVuaworNzEzOTYgMDIyMjRjYjIxZDdjYjk1ZWI0NTFjMzMyNWNkZWI2M2M4ZmRhNjRmNiBsZWdhY3ktdHJ1bmsKKzcxMzk3IGIxNDA0YTg2OGQ4ZjQ4ZWQ1N2ViYzU5NzgyYWE1YTQxYmQ1Zjk3NzQgbGVnYWN5LXRydW5rCis3MTM5OCA1YThlYmFiYTFhMDllZmRmZTY0MzJkZGM4ZmM3MjUxN2Q5MDgxYWJjIGxlZ2FjeS10cnVuaworNzEzOTkgYWZmMmIxNWNjYzY4NDlhZDFjNjM2ZGEwMTNmZmI4ODU1MTgzZTI5ZCBweTNrCis3MTQwMCA2N2Q5ZDYxNjBjMTM0Y2RkOGZkOGVkNzJjMWNmZmJlZTg0OWQ5ZTEwIHB5M2sKKzcxNDAxIGQzNWM2NDg2YWQ5NGE2ODU5NjAzNzc2ZmU2ZmMzNThjNDIxMTJjZWUgcHkzaworNzE0MDIgNjNiNTc1MTNiMWJkZDQwMTIwYTMzNDlhZjM3ZWJiNWY5YTJiYzcxMCBweTNrCis3MTQwMyBkOTA4OGVmZDU1OGJkMGIzNThkYjE3Y2Y1OWVhZDk3NWU0NzdiNzQ5IHB5M2sKKzcxNDA0IDE4MDUzY2Y2MTE1YTUyYTc3MDA0YjUxNThkNTExMDhkODkyZjNjNjkgcHkzaworNzE0MDUgYzIzMzY5NTdjNTM1NGRjMGIyMzg2MGZlNTFjMzViODI0MGIzMWQxMCBsZWdhY3ktdHJ1bmsKKzcxNDA2IDMwODY0MjdiMDcwOTIyZGM0YWZmOWFlYTA2ODdkYzVkY2JkNjM3ZjIgbGVnYWN5LXRydW5rCis3MTQwNyAxY2M5NDk5N2NmYTdlZGM1ZmE5OTE0NThmODFhNDgxMDBiMjc5YWYxIHB5M2stc2hvcnQtZmxvYXQtcmVwcgorNzE0MDggOWE3MzE3Y2U2ZGI5OTRhYWUyMGFiZWE4ZTZjYTg1YTkzZWI3Mjc1MSBsZWdhY3ktdHJ1bmsKKzcxNDA5IDUzNjc2MWMyYjZhNGEyMGQ1NDc5M2FlMTUwMzI2YzBmMmE3YTJhNTMgbGVnYWN5LXRydW5rCis3MTQxMyA0MGVmZjNiMTgyZTRkMmZmOTFiYzMwZmJkNDE5NWM4ODYwMjYyNWUwIGxlZ2FjeS10cnVuaworNzE0MTQgZGZhOTFkZmVkMGIwNTQ5NmMyMTZkMzgyMGMwZTJhZTMwYjQ0NmY4MSBsZWdhY3ktdHJ1bmsKKzcxNDE1IGE3ODhmYWNlZTZlZjRkNzgzN2QwMmQwYmFkNzdmNWRhYWU2NjkzZTIgcHkzaworNzE0MTYgNWFkMjA0MzEyYmNjMzA2YjQ4MTJkYTlmNTg3ZTM3NjgxZDIyYjA4NCBweTNrCis3MTQxNyAyYmEzM2MzNGRjMWE3OTY0NmE3MjZkNjNiMTEzODYwMjEyNTJlMTYzIHJlbGVhc2UzMC1tYWludAorNzE0MTggMDdjM2FjMzBkYTg3MDQ0MTliZDU2YTBmYTMwNWU1OGRkNzI1NmFkZSByZWxlYXNlMjYtbWFpbnQKKzcxNDE5IGFkZTVjMjcxOThkYmVmMGM5NjI5MmE3MDU3ZjZmYWI5NDc1OGE3YTcgbGVnYWN5LXRydW5rCis3MTQyMCBiYzk0YjgzMjNiMzliMjliZDM3NTM2NWViMjViNzg5Yjg2NGRhNGNiIHB5M2sKKzcxNDIxIGY3MGIzYjVmNTM4MGNlNTQ1ODQ5ZGU1YWZiMDQ3ZTEyMjRjNGJkMzYgcHkzaworNzE0MjIgNzllNTdjODY2YjVmNGUyZmMxZGU4MGM0NWE3ZmFhMGNmYzk4ZjJkNyByZWxlYXNlMjYtbWFpbnQKKzcxNDIzIGI0YjI1MTFlMDNjNzUzMGE5YTM0ZDUwNTU2NjUwZGZlNzIzZmU0MWUgcmVsZWFzZTMwLW1haW50Cis3MTQyNCBkMzYxMGUzMzkyY2Y0OWEzNWIyNDE3ZTdmNzhiZjBmNTBmYzJlYWI2IGxlZ2FjeS10cnVuaworNzE0MjUgMDk1MDNjZTY2ZmYxMjNhY2YwMmU3MzI5MzQ3NzBmN2JmNWRiNGY5NCBsZWdhY3ktdHJ1bmsKKzcxNDI4IDhhNDU2M2QzYjVlODg5NWI5OGNiMWQ3ODRkY2ViMmY1ZWVhNDUwNWUgbGVnYWN5LXRydW5rCis3MTQyOSBhMjFjODQ4YWQ2MWVjNDQ4Njk0ODc2NWZlODc3NmUwOWVhNmFlZmM2IGxlZ2FjeS10cnVuaworNzE0MzAgNDBlYjk5ZTg5MzVjNjRkZTRmN2Q1OTA3OWY1N2M4NDA1MTBhNjZhZCBsZWdhY3ktdHJ1bmsKKzcxNDMxIGE2ZmYxN2E0MmFkMzFjN2E5N2Y1N2YwMDRmM2MyNWI4MjljYzIyMDggcHkzaworNzE0MzIgMTA2MzQ4MWEzNmY4YTJhMmEyYTQ1ZDE0YTk0MTUxMjJiOGY1MGYyNSByZWxlYXNlMjYtbWFpbnQKKzcxNDMzIGE0YmM4MGY1ZDZhMGY2YmNjNTE5YmYyYmUwZGYwODExYzVhY2VhMjggcmVsZWFzZTMwLW1haW50Cis3MTQzNCBjYmFhMWJjMzUwYmEyMDU5OGJlZDNjOWFkYzM5MWJhMmUwYzIyZDJhIHB5M2sKKzcxNDM1IDVmMzVjNTNhM2FkN2I4ZTEwZWYxZDNhODFlN2MzODlhNDdiMzhjZjIgbGVnYWN5LXRydW5rCis3MTQzNiBmOTY4OWQxNTBiYjlmZDgyYzMzMjE2YjYzYjg0NjY1YzI5ODJkMGY3IHB5M2sKKzcxNDM3IDBiOWU2ODk3MWExZTJmOTIwYTA5NTc4OGI4NGRjNTgyYTYyYWRkOGUgcHkzaworNzE0MzggOWVhOTU3NGRhYTViZjY5NGNhNTc3MTQ2NTdhYmZjNDY5ZDExNDU4MiByZWxlYXNlMzAtbWFpbnQKKzcxNDM5IDRhN2RiNDEyZmRkMmFmOGUyZjAxOWFmNTBhNmMzY2IxOWZmZTkwMTkgcmVsZWFzZTI2LW1haW50Cis3MTQ0MCBhYTliMGE2ZDdhZGRkNmExMTA1NzllNTRmYWRmOTliNzVjMDZiNzczIHJlbGVhc2UyNi1tYWludAorNzE0NDEgMDg5YzcyMTA3ZDdiMWM2MTI1MmE4MzAxMmMzMDk0YjBmMGE4MTFkZSBsZWdhY3ktdHJ1bmsKKzcxNDQyIDkxNjk0M2NmNTI0MzZmNzc0M2NlMzkwMDQ4YmNiMGEyNGRjMTVlM2MgcHkzaworNzE0NDMgZGJiOWI3MTc2ZWVmMGM2ZTA2NTU1YWFmZWFmYmEzMGZiZGVhMTc0ZCBsZWdhY3ktdHJ1bmsKKzcxNDQ0IDlkOTJlZWJiN2MzMDUwM2RjMDA2Yjc5ODRlYmEyM2IwODY3NmU0ZDggcHkzaworNzE0NDUgYjYxNGE1MWY0NDIzNmE2ZjhhZGZmMDk3MDZmZDUxMDFmMzE2ZTIzYSBweTNrCis3MTQ0NiA2YmY0MjZlNTUxZDU3MmUwYzJjZTUxZmE5Y2YyYWI5OTQxOWZmMDg0IHB5M2sKKzcxNDQ3IDAzMjc1MDRhNGY2YTFhZTQ3NDEwMzE4YzQ4NjE5YmE0Yzc4NDUwN2QgcmVsZWFzZTI2LW1haW50Cis3MTQ0OCA0Y2RkZWYxNDQ0MjgyNDRjZjBmOGUwZTJjZTRjZjQ2ZmM2ODcwOWI0IGxlZ2FjeS10cnVuaworNzE0NDkgMzIzNjZiM2UwY2E5OTA3MjUyNjc5ZGE3Njk3NTE5NGMzZjhmMmJiOCByZWxlYXNlMjYtbWFpbnQKKzcxNDUwIDBjMTFjMzQxOGQ4OWQ0ODZkM2VkMTk4YzgwZTI5MDY3NjA2NDMzYjQgcmVsZWFzZTI2LW1haW50Cis3MTQ1MSA5YTg5OTk5NzczNjM5OTRlM2E5ODY4ZDM0YWIxMzI4NjFlZGVhYTUzIHB5M2sKKzcxNDUyIGI5MTI1MTVmZTljZTIyZWE3YWI5MGNmOWQ4N2I1ZjkwZDY3MmU3NjAgcmVsZWFzZTMwLW1haW50Cis3MTQ1MyAyNzk3ZTVlNjAwOGYwZmU0YmFjMjNhZGU3YjZjNGZlNmVlODE0MGQyIHJlbGVhc2UzMC1tYWludAorNzE0NTQgMTVkNjA3NWMwODViMWUwM2IyODNmMDc3ZDg3NTZkODUzMjMzYmI4MCBweTNrCis3MTQ1NSBjOTUwMjZjMmYyYmEwYzNlMWUwZDY1NmRiMDdjYTIyZDYwNzU5MmI0IHJlbGVhc2UzMC1tYWludAorNzE0NTYgZjBmNjA4OTJjYmExYzkzODAyYzcxNTA1ZjEwNGIwZTQyNTU0ODhjMyByZWxlYXNlMjYtbWFpbnQKKzcxNDU3IDA2YjY0MTc4YTMwZDBmY2IwODY0Y2FlNGRkZGY1ZmE2MjM0OTdmNzIgcHkzaworNzE0NTggMGJlNjNjNzUwNDFhZGY3YzQ2NDc1NDE5ZjU4MzAxYmQxZjYyNjAzZiByZWxlYXNlMzAtbWFpbnQKKzcxNDU5IDFhOGJkZTE4ZDM1MzUzOTkzZGY3YTJhNWNiNWNlZmQzNGQ4ZGVjNzUgcmVsZWFzZTI2LW1haW50Cis3MTQ2MCA3OGE5NzM5ZGFmYTQxM2ZjMjNjYjhlM2RmNTQyYjY0ZWUzOWFkYzdmIHB5M2stc2hvcnQtZmxvYXQtcmVwcgorNzE0NjEgZjcyNDk3NGI4ZDg5YjMzNWE5NGI0NmM4N2ZjZTgyM2RiMDMyM2ZkNyBweTNrLXNob3J0LWZsb2F0LXJlcHIKKzcxNDYyIDdlMjI5Y2EwYjkyYTVlODYyYjQ2NzA3MjY1YmIxYWEyMWFlNTc3Y2MgbGVnYWN5LXRydW5rCis3MTQ2MyBkOTM5MjBhMjVkYTRjOGM2YzJlNTc1Y2M5ODFmOWYzNTAzNmIxYWI1IHB5M2stc2hvcnQtZmxvYXQtcmVwcgorNzE0NjQgOGYxM2E0MTRkODQzMjk1OGU1ZDcxNmIzMTI5MjRiN2FiYjc1Yjg4OSBweTNrLXNob3J0LWZsb2F0LXJlcHIKKzcxNDY1IGZiNDFmZTY3ZTA2MWEyOWM0NDgwOWVlZTdlNjg3Y2NlNmRmODlkZmUgbGVnYWN5LXRydW5rCis3MTQ2NiAxYzUyYjE0NTRmMWUyMDJmYWExY2ZkY2E4MWVjMmZlN2UzZmY1M2M2IHJlbGVhc2UyNi1tYWludAorNzE0NjcgNDQxMTIyNGNiODA2ODhiNDFiZWY3ZjA1MjVjOGI2M2YzZjY1ZDY1YiBsZWdhY3ktdHJ1bmsKKzcxNDY4IDJhMDNjZDA0ZDhmNDA4NjFiMjBjNmNjNzJmYWI3Mjg5Y2Q0MjkxNjAgcHkzay1zaG9ydC1mbG9hdC1yZXByCis3MTQ2OSBmNjUyZmUxNjQ5ZWQ4ZjM4NWJiNDY2Nzc1MjBjNmNiODMyOTU2ZWYyIHB5M2sKKzcxNDcwIGYzOWQzMzc1MjU4MjE1NWM2Y2E3MWFlMjNiMWUxNDQyOWRjY2YzZmQgcmVsZWFzZTI2LW1haW50Cis3MTQ3MSA4YjJjZGZkNWFhYjZmYzMzZTBhMGE0NjgyMjE1ZWQzMWQzNjUyMzQ3IHB5M2sKKzcxNDcyIGVmMzU5MmU5ZTAxZTVkNTlmZWU2MGUyYzNkOTg1OTk2M2FlMmNlOTkgcmVsZWFzZTMwLW1haW50Cis3MTQ3MyBlYzIzOWNmYTNlNjE3ODU4MDRlZTQ2NDU4NTkzYmYxZmUwZjg0NTQxIGxlZ2FjeS10cnVuaworNzE0NzQgYmYyZWVkODY1YThhNGMzNTkyMGI2Njc2MDI4NDU5ZTA5MjgyM2MxMSByZWxlYXNlMjYtbWFpbnQKKzcxNDc1IDRhMzVjOGE1YmU0NmZlOWNjYTU2MmYyMDE3NGZkZmI5NjEwY2Q1YmIgcHkzaworNzE0NzYgMDAwM2I1YjRmMGMwMzQ5YzQ1NTUwNWZlYjkwZmQ5ODIyNWIxMzZhZiByZWxlYXNlMzAtbWFpbnQKKzcxNDc3IDYzMjg5YjgyYzg0OTAzMDEwYTgzMDk1MTdmZDc4N2VhZDY3YTA0ZWUgcmVsZWFzZTMwLW1haW50Cis3MTQ3OCA5MDM1NjliMTMyYzI0Nzg4MDVhZjA0MTE2MzViY2NiYjI1ZGVlOWQ4IGxlZ2FjeS10cnVuaworNzE0NzkgMmUzOGM2MTdmZDNlY2NlYmMxZWIzNDcyNWM3ZmJhYzkyODhhN2RlNyByZWxlYXNlMjYtbWFpbnQKKzcxNDgwIDM0NTVmZDc4NDY3ZTY1ODM3YjczYThkOGE1MDA2MWJkYjAxNzE4ZGMgcHkzaworNzE0ODEgMzczMjdkMTkxMmE4MTQ2ODYzMTgwYjQ4NDQ5OTc5MDQ3M2YwNjMzNyByZWxlYXNlMzAtbWFpbnQKKzcxNDgyIDUyODJjNjZkODk3MjViZDQ3NjViMzVmYmFmZjJkMWIwOTM0YWJkMjIgcHkzay1zaG9ydC1mbG9hdC1yZXByCis3MTQ4MyAyZjljN2I5MGE3OTU4MGE4ZTRiMTRlN2MxYTlmZDYwOTRhYWFlYzU2IHB5M2sKKzcxNDg0IGYzNzZhM2NhMTdkMzdmOWEzMmE1YTY4Y2IyZmZlZjQ3ZmQwOGZiOTUgcHkzay1zaG9ydC1mbG9hdC1yZXByCis3MTQ4NSAyZDM3MjA5ODg1ZTI3ZWI5ZDQ5N2VkM2U5YzM0ZWNjZGVlM2E3OTdmIGxlZ2FjeS10cnVuaworNzE0ODYgODg2MTI5ODU4NmMxMGYxYzViZTU5NDYwOWJiZTdhOTEwOTk3N2Y5OCBsZWdhY3ktdHJ1bmsKKzcxNDg3IGQwYjc0NDMwM2I4NGUzMjU0YmIwNTllNDg5YjA3MjMzNzQ1OWZlMzQgcHkzay1zaG9ydC1mbG9hdC1yZXByCis3MTQ4OCBjOTQ5ZGRjNDk0ZWI4NjZhZWQ2ODI2Yzc0ODVkZGVmODFkMzA4YmU5IHB5M2stc2hvcnQtZmxvYXQtcmVwcgorNzE0ODkgMjk3MDUwYWI3YWNhNDc2OTY5NWEyZjNlZjJjZDQ2ZTdiMzVlNjU3NCBweTNrLXNob3J0LWZsb2F0LXJlcHIKKzcxNDkwIGYzNDI4MWRiNDdlNjFhYmJhOWRhMzM5YzZkYjE1MmU3MDZkN2QzMzggbGVnYWN5LXRydW5rCis3MTQ5MSAzNjI5OTgyODY2MzVkMDRmYTdmM2ZmNWE5MTA5N2FlNWI2YmQ0M2JiIHB5M2sKKzcxNDkyIDRhZjMxMTQwZGUyOWRhYWZhNGU5MTFhOWQ0ODBjZTNiZmFkZmNiMDkgbGVnYWN5LXRydW5rCis3MTQ5MyAxOTg5MzQ5Mzc5YjVhYzVkN2MzNTlmNjkwN2Q4NWQwYmMxNmE4ZmFiIHB5M2sKKzcxNDk0IGQ1ZGRkMzQyMWM5YWU2OGM0YjIzMTQ5M2NmMTdmMzQyMjJlMmQwMzEgbGVnYWN5LXRydW5rCis3MTQ5NSA3ZTk3OGNhNDI5MzBhOTA2YjBjY2JmM2MyMzdkNzhkNmU2MzgxNGVlIHB5M2sKKzcxNDk2IDNiMWI2MTQyNjkwYWEzYjMzZDViMGUyMmY1NDU2OWIzYzdmMTRlNDEgcHkzaworNzE0OTcgMDM3ZjVmN2U3YWIxZTZkYTA2ZjMzYmUyZjgyMDlhZmMzMjY1ZTI3ZiBweTNrCis3MTQ5OCBmZTVkMDdiZWI1ZDM3Zjg3N2Q3NGJiMWU0N2QyMDczMzk5MzNjNWZiIGxlZ2FjeS10cnVuaworNzE0OTkgYmI4MTY0ZGIxYmRhNjdmNmM0YzRiYzM3YzIxZTNmODhhODllYTJlNiByZWxlYXNlMjYtbWFpbnQKKzcxNTAwIDQ4NDg1NjA0ZWQ0ODdiMWRkNDNhZDAzMDgyNTc2Y2U1YTM1MmE5N2UgcHkzaworNzE1MDEgY2FkZjk1NWJjMThiZDE1ZTI4NTk3Y2FmNzljNjA2NDJkY2M3YzY5MiBweTNrCis3MTUwMiBmMjIxZmNlM2Q2YmEzOGNmZDhjODhmMDQyNjhlOGE0NmJhZTFkN2NiIHB5M2sKKzcxNTAzIDAyMWQ4YzgyZjI4NDQ3ZmU0NzhkNDIxMDg1MWYzMDNiOTg2ZmUxYjIgbGVnYWN5LXRydW5rCis3MTUwNCA5M2Q0Zjk4MjYxNWYyNjRlMGRmOTYzMTRlNTU0YjE1MTFmNjBmMzFhIHB5M2stc2hvcnQtZmxvYXQtcmVwcgorNzE1MDUgZDIzZTg0ZTQxOGNlOGQ3M2ExMWExODNlZGJmOWQxMGNjZmNmYjMyMSBweTNrCis3MTUwNiA0ZTA4YjE4ZTM4ZmJlMTRmZDM0YjFkZjhlNTgwMWNmNGRiNTc5Mjc3IHB5M2sKKzcxNTA3IGFkM2YzZDMwNDk2M2NkZmIyMjhkMWRmYzcyMWE1YTBmZDQwNjZiYzYgbGVnYWN5LXRydW5rCis3MTUwOCAyMWVmNDc1OGNhY2Q0MzBmYWU4YTIwZTU0NWU5NjJmMWNmYmZlYzZkIHB5M2stc2hvcnQtZmxvYXQtcmVwcgorNzE1MDkgYTgyNDQzMTI1MmUwZjI2MWQ1MjM5MWE0ODAyMWIwMDc1YTMzNTEwYiBsZWdhY3ktdHJ1bmsKKzcxNTEwIDI5M2RjNWYwOGU5OTBlM2QzNjViOWUyNTE2OGVhM2Y3ZDg4YTA0OTUgcmVsZWFzZTI2LW1haW50Cis3MTUxMSBlMDcyM2NjZWU3NGRmMTFkYjc5NjdjOGVhNWJkMmU2NTFhODkyMWE4IHB5M2sKKzcxNTEyIGE0OGZjZWIwZjBiM2ZmZDBiZmI5ZWRhOGQ1ZjM3N2Y1N2MyMTAxYTggcmVsZWFzZTMwLW1haW50Cis3MTUxMyA3NTRhM2Y3M2ZmMDdmYTU2ZGVmMzBlOTVlZWJkZDk3YjljZmJkMmE5IGxlZ2FjeS10cnVuaworNzE1MTQgM2IyNTkxMWM2YTRlYTZhOGUwNmFlNmFmMzZlOTA3ZGNhMDAyMmNlZiByZWxlYXNlMjYtbWFpbnQKKzcxNTE1IDE2ODQ4MmVhZmI1NjFkYjg3OTc0NWVlOWI0ZTk5NzU1YzJlYmNmNjAgcHkzaworNzE1MTYgZTJiOWIyYmM3MGIwZWNmZjBiMjY5ZGIyOTBlYjNhNGNkODA1OTkzOSByZWxlYXNlMzAtbWFpbnQKKzcxNTE3IDcxM2VmNjhlN2ZmZDAwYTUyNmVlNzBmYjA0MGRlNjI2ZTY4MThhZWUgcHkzay1zaG9ydC1mbG9hdC1yZXByCis3MTUxOCA0Y2ExNDcxYmQxY2QzNjg2MDk5NTMyZDUxMWM3ZjI1YjE2ZTVkNDYzIHB5M2sKKzcxNTE5IGY0ZDU1M2VjOWRkYzk3ZTcyMzM5ODI3YmQxODcyNmY3YzRkOGU4ODAgcHkzay1zaG9ydC1mbG9hdC1yZXByCis3MTUyMCBkN2M1N2UxNmI3M2M1ZjNkZmZmNjNlYTg4NzQ5YzFkOGRhMTcyYmEyIHB5M2sKKzcxNTIxIDQ0MDdlNGQwNzA4NDIxZGU4M2E2ZjBiNDZhNTBjODdjMjcxYjU2Y2UgcHkzaworNzE1MjIgMWNiM2JjY2U4MzE2N2NkZDJlYTBiZDExYjY4NTE3MGMyZTcxZWIwYyByZWxlYXNlMzAtbWFpbnQKKzcxNTIzIDI2MDY5ZDNiNjg5MTlhZGQ5NTExOTQzZGM2M2E3YzRjYmNlN2IyNmUgbGVnYWN5LXRydW5rCis3MTUyNCA0NjE2N2FkM2FiOTNmYTg0NzA1MDVhZGYxMWMzMmIzMmI2YmExMjgyIHJlbGVhc2UyNi1tYWludAorNzE1MjUgYzkxNmY4NTRmYWViMmI4NWUzYmZmOGRiOTExZmMzZTNmYmE5OGM3ZCBweTNrCis3MTUyNiA4ODY3YTViNjBhOTEzMzQ2YTlhYjkwYWExNDRlMjk1ODU1OTJjMGMxIHB5M2stc2hvcnQtZmxvYXQtcmVwcgorNzE1MjcgNjUwNmNjMzNlYmFkYzE5NGJhODdmOWNkZTRmZmM0ZWUzYTExZWExNCBweTNrLXNob3J0LWZsb2F0LXJlcHIKKzcxNTI4IDUzNmYxODBmNjZhNzc2MWM1NWZlODU3Mjk1NGI5MDk3MThkNGExMGEgbGVnYWN5LXRydW5rCis3MTUyOSAxNDA5MjhjNmNmNTFmMDEzZjgwYTg2YjY5NmZmNzBhYmI4NDIwYzZkIHJlbGVhc2UyNi1tYWludAorNzE1MzAgOGM4MmI3YzUxYmRkZTMwYTVhZjRjNGQwMDVlMWRiOTJmY2EwMDkxYiBweTNrCis3MTUzMSA0MjcyOWVkZGJiNmMwYjAzMmU5ZmJkZWIxNjJhYWM2ZjczYjY1OGFlIHJlbGVhc2UzMC1tYWludAorNzE1MzIgZDBhNzNjZjQ2MTgwZDQxMmE3NTQ1NzZjMGJiMWZjZDFjMDM4OWRiMSByZWxlYXNlMzAtbWFpbnQKKzcxNTMzIDA5ODg4NWM2YjEwMWQwODU3OGFmZWVhZjI0MzA4YWJjMmM4MzdiNWUgbGVnYWN5LXRydW5rCis3MTUzNCBiYmI2M2M3MWE5ODMxOTE0MzQxNjA1NTZlZTcyZmY4MWYzOTUzZDgwIHJlbGVhc2UyNi1tYWludAorNzE1MzUgOTNhMmQ4MGNkMzRkMDM4MDE0ZDJhN2JmZTMwZmFkMzg0ODhhYzMwZCBweTNrCis3MTUzNiA2NmRhNTE0ZTNmYTM5NTI5MDBhOWZiODk2ZDY0YWQ2ZmFhNjQ0MTg1IHJlbGVhc2UzMC1tYWludAorNzE1MzcgYTI0OTJiNGU1MDVkZjNmYzMzN2FkMjVmZjY4YzkyODc4MzI3NmM1YyBsZWdhY3ktdHJ1bmsKKzcxNTM4IDgzMjI4YmJlNTkwNjc4ODE0ZTRlNDRmZjI0MTM1NGY5NjAyODc4N2YgcmVsZWFzZTI2LW1haW50Cis3MTUzOSA3ZTMxOWVlZmFiOGM4ZWY4NGU1NGQyNGU5MDc4NmJjYTFlMGExMWY5IGxlZ2FjeS10cnVuaworNzE1NDAgNDgwZjdlYzNiODY5NjA4ZmZkYjg4MjJjZGNjZWU1YTJiNWNhMzk1ZCBsZWdhY3ktdHJ1bmsKKzcxNTQxIDJlZWM1N2FiYzUyMzhmMzk3YjJlN2Y3M2ZhZTM4ZTM4ZDM5ZDE3YTggcHkzaworNzE1NDIgZTllMmFlM2JmYmMxNDA0MzMwYzFjNDUzMjk4NjZiZmYxNTkzNDdmOCBweTNrLXNob3J0LWZsb2F0LXJlcHIKKzcxNTQzIDhiYzRiYzg3Yzg4NTllNTg5MTdkMzc5OGIwNDY5NTU4Njc4YWRmMGMgcHkzay1zaG9ydC1mbG9hdC1yZXByCis3MTU0NCBhZTc0MTQyMDg5ZDJiYmZmMjY5M2U0YjBiZTVkZDBiMjE1MzY1Nzg1IGxlZ2FjeS10cnVuaworNzE1NDUgZGEwZjdmYzc4N2Q4MjZkOGNkZjdmYzIzZjc2MmQ0N2FlZDU2N2U0YiBweTNrLXNob3J0LWZsb2F0LXJlcHIKKzcxNTQ2IGJjNWM1ZDdhMmExNDc5YTA1NzZkMzc5ODg5OTI2Y2ZhZjRjYWMxMDEgbGVnYWN5LXRydW5rCis3MTU0NyA3ZDQ0OTk3MTFhN2Q1YWRiMmMzOTY3ZTA1M2ZiMmMyOTIzZmNiYmIwIHB5M2stc2hvcnQtZmxvYXQtcmVwcgorNzE1NDggNjIyYWJmNmFjOTdmYWIzOTBkMzJhMzE4OTkxYTJiMTllYjQ1MzgzZCBsZWdhY3ktdHJ1bmsKKzcxNTQ5IDEyYThkMTk0NzE2NzkxNGFkMDM5YjRlMWY0MDhlMTBhMjVkYzYxNWIgcmVsZWFzZTI2LW1haW50Cis3MTU1MCA1NDcyNzg5NjUxZTE2MTEwMjI4ZWU2MWRjY2Q5Y2QwZTk0MGQxYTVhIHB5M2sKKzcxNTUxIGM3NDBmZWZhZTFiYWIwZTkxZDFmMGJiZTU3MjMyNDRjNjdjY2RkN2EgcHkzay1zaG9ydC1mbG9hdC1yZXByCis3MTU1MiA0NjA3ZjU0ZTc2OTM2Yjg3ZGFjNzg4YjRjN2JlZjhiMTkwOTMyYjZkIHJlbGVhc2UzMC1tYWludAorNzE1NTMgYWI3NWRhMjY2ZTU3YzU1ZTc3NzAyNGZiYjg0YTZhMzAwOGRjNDgzNSBsZWdhY3ktdHJ1bmsKKzcxNTU0IDM3NzA2NTJlYjBlNTA5OGJmMWM0MjYwNDExOTEwYzRjOTNlYjUzMjEgbGVnYWN5LXRydW5rCis3MTU1NSA5ZTNjOTc2ZGE1ZjQwNTI3ZDM5ZTcxNGQyMWNlY2I3ZWNlMmMyZGExIGxlZ2FjeS10cnVuaworNzE1NTYgNWVmMThmMGY0MzEwOTFkMDVjMmI0YjI2MWUwOWExODA1OWQ4NWZlMCBweTNrCis3MTU1NyA2ZjhmYzZiMTY3ZWE4YjAxMDgxNDg1OTQzMzhiNjc2NDliMDk0YWYyIHJlbGVhc2UzMC1tYWludAorNzE1NTggZTQ5Y2Q0ZjQ3Zjc2MjBiMDI3ZTk2YmMyODAyYTY2OGIwNjc1N2ZiMiByZWxlYXNlMjYtbWFpbnQKKzcxNTU5IDk1MTMyY2MyMmVlNWFiN2I4ZGFlYzYxNjJlYjMyZDgyNjMyZDMwODcgcHkzaworNzE1NjAgZmJjMzdmYmQ5NDE1ZmY1ZDQ0ZTcyYzVmMTFmNThjMTRkOGVkNTQxMyBsZWdhY3ktdHJ1bmsKKzcxNTYyIDBlNDY5ZGE2N2Q2M2E1ZjQ4YjVmZTFmNGMwYzk2YTY1NGMxZmU2YWUgcmVsZWFzZTI2LW1haW50Cis3MTU2MyA5OTBmMjU3OWVhZmVjOTUwNWViMDMzYWIzMWI5ZjhiMzQzMTJjZTM4IGxlZ2FjeS10cnVuaworNzE1NjQgMWRjNTNlMGExNDdhNzA0MzZiZDk2MzZmNjFhY2U4ZTg2NGM2MjhmZCBsZWdhY3ktdHJ1bmsKKzcxNTY1IDUzMDk4ZjI3MGJiZGEwM2Y3MmViYTA4ZTY1NjdlZTNmNTE3NzlmNmYgcHkzaworNzE1NjYgOTNkMmJlZmNhMGE1NGZlZTc2YTk5MDc3MzUxNjkwYWU3ZDE4NTdjZSByZWxlYXNlMjYtbWFpbnQKKzcxNTY3IGFhYzcwYTNiYTI1MGYzYTQ2YTJjOTEyZDkwOGNmZjljYzRlM2VjNjQgcmVsZWFzZTMwLW1haW50Cis3MTU2OCA3NGE0YTI3ZWEyOTFjYjFmZTY5Y2VhZWEwMDYzYjZiNzMwNGFlZmY3IHB5M2sKKzcxNTY5IDhhMTczMDU3ZDkwMzFjNTJmOGUxNmQ4MjU1Zjc4YjYyNTJjZjdhOGIgbGVnYWN5LXRydW5rCis3MTU3MCAzYmE2NWVlNDFmZTdlYThkZmRkMzkzODUzY2Q5MzkyNDk4MWMyNzIwIHJlbGVhc2UyNi1tYWludAorNzE1NzEgOGVlZTk0Yzc0ZTljOTg3YzkyZTI3OGMwZjJiMGVlZGFmNmUwYTRlOSBweTNrCis3MTU3MiA1NmFjM2Q1MDk1MmM4NzdkMDFhMDVmMzc0NDFjYWZjZjk1MjA5YjgwIGxlZ2FjeS10cnVuaworNzE1NzMgNzc0ZjdiY2FkMjJjNjlmNjdkMzFlNTMwNTE5NTMzMTExOWIxYTI5ZSBweTNrLXNob3J0LWZsb2F0LXJlcHIKKzcxNTc1IDlmZDY2YTIxYWJkMTk2N2QzZjA4NDE0ZDE5OWE2ODVjOWFhMDQwNGQgcHkzay1zaG9ydC1mbG9hdC1yZXByCis3MTU3NiAyOGVhNTRhNmJiNjQ2MjU5ZWE2M2RmYWNlMzVmOTEyMWVjZGVmODU4IHB5M2stc2hvcnQtZmxvYXQtcmVwcgorNzE1NzcgYzY2ZDRlMzA2ZmI2ODUyMTI0Mjk3MTUyYTJjZGE3ZTMzZmJiMDRmMiBweTNrLXNob3J0LWZsb2F0LXJlcHIKKzcxNTc4IGE0Y2M0NmNhYjZhNzQzMTJiYWNhNzIwOGQ3ZjQ4ZGNiNjU0OTg1MjYgcHkzay1zaG9ydC1mbG9hdC1yZXByCis3MTU3OSBjOGZiMzk4ZWNhMjM3MzM2NDdkZGZjZTQwZTZhZjQ4ODRhYzJiYzhiIGxlZ2FjeS10cnVuaworNzE1ODAgNTdiOGRjNGE4ODg4ZmY5MTMzNmEzMzc2YWU5YWRjYzkzYTE5NWM4ZCBweTNrCis3MTU4MSBjY2YwZTY0MDk1MzZkOGMyYzg2YjZkMDUxMDgzMzFjNTA2OTJhOTdjIHB5M2sKKzcxNTgyIDU4Yjc0OTY3YTU0MjVjYjcxZDExZTQ2NjIxOGQxYjQxMGQ5YmM4NjggcmVsZWFzZTMwLW1haW50Cis3MTU4MyBjOTdlNDVlOTA1OTllNjVhODVlMDhmYjM0ODQ5OWQ4NDQ4MzYyMzgwIHJlbGVhc2UzMC1tYWludAorNzE1ODQgMTc3ZTEwNzMwNTJjODU5YmVlMTdlZDI1ZDQ0NTYzMDcwNzExOTgzOSBweTNrLXNob3J0LWZsb2F0LXJlcHIKKzcxNTg1IDQ3MDM5NjVkYTJjZWE5ZmY4NDNjMjBmMTc1MWUzM2RjN2ZiYzRhZGUgbGVnYWN5LXRydW5rCis3MTU4NiBlMDlhNjcxYTU5MGI3YmE1ZTI3NjQ2NDA3OWYyYmZiYTNmNDE5YzQ2IHJlbGVhc2UyNi1tYWludAorNzE1ODcgZTAzYmE1ZjZmNDk0MDYwM2UwNzU5YWYzNmZlMTJkMTk4YTRmMzM1MiBweTNrCis3MTU4OCA4NWJjMjUzN2U4M2UzZDk2MjQ1Zjk2ZGJlNmJkNzFhN2Q3N2QzZTQzIHJlbGVhc2UzMC1tYWludAorNzE1ODkgN2JhYTY4ZDY2YzhmYzc5OTg0MzM1MGZkMDA4NGI1MzNlZWQzNjQwMCBsZWdhY3ktdHJ1bmsKKzcxNTkwIDcxZjQ4YWRhZDg5MjNlN2Q5ZTc5MWQ2YjM2ZGYxYzM1ZDZiMzdlM2UgcHkzaworNzE1OTEgNjA1MTM4MDg1NzdmMzIzOTRmMjk3ZThjYzJlYTNjN2NjNmQzNTkwYSBweTNrLXNob3J0LWZsb2F0LXJlcHIKKzcxNTk1IDA5Njc2N2IxODQ1MDE4NjU4ZjRhM2ZkZDNlZjM0NjI2NTc3NTIzOTEgcHkzay1zaG9ydC1mbG9hdC1yZXByCis3MTU5NiBlN2RiZmQwMjNmZjUyMWVlZjkzY2QzM2U2MTM0ZGI2OWYwNjM2MTQ2IHJlbGVhc2UzMC1tYWludAorNzE1OTcgNzk0NTI1ZWQ2NGZkNDIzYmM1Y2ExMzFlNzBiYTE0Y2E5MTBhYmE4NSBweTNrLXNob3J0LWZsb2F0LXJlcHIKKzcxNTk4IGRhZDNkMmI5YTg3NTNmNDVmMTk2YjcwMDY0NGNmOWVmYzI2YmNkOGUgcHkzaworNzE1OTkgYzE3YzViYTliYjZjYzdiZjc2YTI1MzM0MGNkYWVkZmRhNGRiMDMzYSBweTNrCis3MTYwMCA0ZmViYTA5YTgyNmJhOTllNWI0ODI3MDdiM2Q5NjQzZWJhMzQxNTZmIHJlbGVhc2UyNi1tYWludAorNzE2MDEgNjk4ZmEwMjRlN2QyMzlmM2FkYjdhMDNmNzdlMzU3ODdlNmYwNDk5MyByZWxlYXNlMjYtbWFpbnQKKzcxNjAyIDZkOTVkOTc5M2ZjZjUwMDAyMDczOTQ1ZTRhZWIwZDNlZjE1MGZhNWUgcHkzay1zaG9ydC1mbG9hdC1yZXByCis3MTYwMyAyZmQwODgzMGE5M2YxMzI4MTkwNTA1ZGQ4YzE5NjczNTMyZDUwYjdhIHB5M2stc2hvcnQtZmxvYXQtcmVwcgorNzE2MDQgNTQyODNiNGExNjU3ZmNmYjZmZDQ3YWQ0M2VkNzNkMDVmZDNkN2RiOSBweTNrLXNob3J0LWZsb2F0LXJlcHIKKzcxNjA1IGFkM2FjY2RlMGVlN2E3YmM1ZTA4OTI3N2RkZTk3MThkODExZTY4NTQgcHkzay1zaG9ydC1mbG9hdC1yZXByCis3MTYwNiAwYjdlNDE0MTgzNDMzMjY2YmU3ZTY5YmQzNjQ3MjlmNDUzMmFmOGFmIHB5M2sKKzcxNjA3IGZkN2YzNmVhZDBjODE3MGJmZWE2M2Q5ZjU3MDFlZmJjMWZmMmVkMTAgbGVnYWN5LXRydW5rCis3MTYwOCA5ZGY1ZGRjMTk4YTgwMGJlYTI0YTIwNmE5NmY3NDFlYTA0ZDIwMDZlIHB5M2sKKzcxNjExIDE2NzA0YjE1ZGYzZWJlN2Q1M2Q1ZGEwNjJlZDFiNDNlZTAwMjFhMDEgcHkzay1zaG9ydC1mbG9hdC1yZXByCis3MTYxMiBjMjQzYjEwYWI3MzA1NTI1ZTUwZjg1MzFhMmM5YThkMWZiMWFmYTkyIHB5M2stc2hvcnQtZmxvYXQtcmVwcgorNzE2MTMgMjk3MjliOTA4YTgyMGRjYWMzMGY4YzBmMDY0NDI5OTVmYzU1MzBjZiBweTNrLXNob3J0LWZsb2F0LXJlcHIKKzcxNjE0IGI4ZjQxZGI4ZjZhZGEwOGE1N2UxZjM3NzIyZGY4ODJhY2QwMTNlOTggcHkzay1zaG9ydC1mbG9hdC1yZXByCis3MTYxNSBhYmVmY2EyZmQ5MmUyMWQzYzM3NjVhNmQ3YTJhYThiOTY5OWIxNWVjIHB5M2stc2hvcnQtZmxvYXQtcmVwcgorNzE2MTYgYTc0ZTEwMTkxODU0ZDIxYTA2MTU4ZjM0NjY0MTRmMzYxYzJkZjIwYiBweTNrLXNob3J0LWZsb2F0LXJlcHIKKzcxNjE4IDQwODc2MWNhM2Q5NjYzYjZlYWQ1OGQ3N2I5NGY5N2NkMDBkZWI5OTkgcHkzay1zaG9ydC1mbG9hdC1yZXByCis3MTYxOSA2MTlkY2FjOGQzODkwOTY1YjQ0NzcyZGNmNzdhN2M1MjNjYjRkMThlIHB5M2stc2hvcnQtZmxvYXQtcmVwcgorNzE2MjAgMmNhMjA5ZjNhYWEyOTQxNTFiYjM3Y2U3ZmZjODUwNzgwZjVjOTk5NCBweTNrLXNob3J0LWZsb2F0LXJlcHIKKzcxNjIxIDEyYmRiMzk3MmUyYTdhYTVjZmMyY2FkMzYyN2MyNjhiYjc0NzI2NTIgcHkzay1zaG9ydC1mbG9hdC1yZXByCis3MTYyMiBkODgxYjA2ZGNhMzg4YWZiZWVkOTE4MTdmOWExNTU1Mzg4YWY4Y2I0IHB5M2stc2hvcnQtZmxvYXQtcmVwcgorNzE2MjMgNjczNDBmZDZhYzhhM2JhODg4NDFlZjM5ZWVkMDkzNTE0MDc1MzY2MiBweTNrLXNob3J0LWZsb2F0LXJlcHIKKzcxNjI0IDJkNjExNmVlZjJiMzY3YjNmOTJiODc4ODkxODlkNzhiNmVhOGI3NWYgcHkzay1zaG9ydC1mbG9hdC1yZXByCis3MTYyNSBjZTY3ZTc4M2E2ZWQyM2Q4NjM2MmY1OGQ0Njc5NDYzMzM1ZTQ0ZDkzIHJlbGVhc2UyNi1tYWludAorNzE2MjYgMDdkMjM5ZWVhYTYyZWY5MWI1OTRiYTU0Y2E5YWY0Zjc5MGM4NWNlMyBweTNrCis3MTYyNyA1YjEwOGViYmZjMDgzZTdmZDMxZjczMTYzNTk0Mjc4MTlkOGQ4YmQ5IGxlZ2FjeS10cnVuaworNzE2MjggNDQxOWUwNjIxOWNhYjg5MmNkNTY5MTAzNDNjMGYyZTY5MjQwYzM1NCBweTNrCis3MTYyOSBkZjI2MzhiOWJlZTJlZGMwZjYzNmY0ZTMxZTA1MzY5MDAxOTI0MzRhIHJlbGVhc2UzMC1tYWludAorNzE2MzAgNmJjZGMxMzFmNTNjYmUzMTA4NzYxMDhmOTk4NmM1NjU0ZDkxOGUwYSByZWxlYXNlMjYtbWFpbnQKKzcxNjMxIDQ2MjgyMTdiMDEzYzQwNGZmZjBmNmZiMjRkZWJiYzAxZDk2ZWVjNDIgbGVnYWN5LXRydW5rCis3MTYzMiA3YTY5ZmZjNGY0YWUzNjZjNWUyNTMwNjY5YWRlZjYyZjM1N2E4MjJkIHJlbGVhc2UyNi1tYWludAorNzE2MzMgMjBjZjdmOGE1NDA1MmZhMDJhMmM3ZWE5YmNkYmUxMDQxYTIyNzEzZCBweTNrCis3MTYzNCBmMzI1ZWRmZTBjM2FjYmMwYmI5ZmQzNDBhYTUwMGMwYmQxYjA3ZmZiIHJlbGVhc2UzMC1tYWludAorNzE2MzUgYzU0Yjc4NGE1NmQ1NWFkZGI5NGVjMmRmZjUwMmQ1NzE5NGEyMTFlNCByZWxlYXNlMjYtbWFpbnQKKzcxNjM2IDVmZjkwMzMyZjkxMGUzYjdkNmIyODA2OTYxMDgyMGU3YjE3MTRjN2UgcHkzay1zaG9ydC1mbG9hdC1yZXByCis3MTYzNyBlZWJlNWY3ZGFmMWU3OGIwNDlmMzZhY2FjNzBlNTIzMDQzMjZjZWIxIHJlbGVhc2UyNi1tYWludAorNzE2MzggNDNlZjc0YmZjNTY5NjE5YTkyZTgxYzAwZTkxYTNkYmFiNDU3ZjEyZCBweTNrCis3MTYzOSBhYzkzYzNkOGUxOTIwNWI4N2Q4Yzc3YTY4NmUyMjQ2NzkwZGFhZmRjIHJlbGVhc2UyNi1tYWludAorNzE2NDAgNDhiNWZhZDljZTFiMjg0YmE3NWYyZTFkNjViODBkYzczMDY0ZmUyMyBsZWdhY3ktdHJ1bmsKKzcxNjQxIDc3ZjkwOWFjM2UxMDIyOTY4ZDYwNTFhZGZhNzRhM2Q4YWQzOTAyZjQgbGVnYWN5LXRydW5rCis3MTY0MiBkM2YwMjA0MDBmZjI3ZWZhMzNhZWM2ODJhOTk3NmY3ZGQwNTdhYjI1IHB5M2stc2hvcnQtZmxvYXQtcmVwcgorNzE2NDMgYzUyNGJmZWU3MDNhZTUyYzhhNzQzMjA1ZTJiNjc0ZmRlNjI3ZGMyNSBweTNrLXNob3J0LWZsb2F0LXJlcHIKKzcxNjQ0IDNhMTFhMmFkOGY3YjgwOGU2MGM4NjhhM2M2ZDZiYjJlMmJlNWY0NGMgcHkzay1zaG9ydC1mbG9hdC1yZXByCis3MTY0NSBhNjc5MGEzYjgwYzNhMjQwYjNjYTljYWUzMmRiYmE1MDZlZGQxZTRkIHB5M2stc2hvcnQtZmxvYXQtcmVwcgorNzE2NDYgY2U0ZjdmNDg5YmQzNjFhYzg5NjY0ZTlmNTk5NzFhOGI2N2M0YWRlMiBweTNrLXNob3J0LWZsb2F0LXJlcHIKKzcxNjQ3IDQ1MDBhZGMzMWJlM2I4YWVjMDVkM2ExMDUwYzFjMTkxNzZlMTRlYjYgcHkzay1zaG9ydC1mbG9hdC1yZXByCis3MTY0OCBlZGViYzg5M2IwMmNlMGZiMjcxNDNiMTAxZGI0YzFlNGZmZDdlNzgzIHB5M2stc2hvcnQtZmxvYXQtcmVwcgorNzE2NDkgZGI3MzA0YmZiZjdkYzNjZjcwNjJkNjVkMjI2NWYyOTkxOTliMWVkNyBweTNrLXNob3J0LWZsb2F0LXJlcHIKKzcxNjUwIGEyOGFmNTVjNmU1OGYwMmE4ZGQxZGZkZmM3MzE2MmVhZmI1M2NhY2EgcHkzay1zaG9ydC1mbG9hdC1yZXByCis3MTY1MSA1ZDQ3MjljNDcwMzM1OGQ0ZmRhNzY4MWI0NDIyZmYyMTk4YjQ4MmJmIGxlZ2FjeS10cnVuaworNzE2NTIgNzNiYjQ5NDUxOGRkNmQzOTA1YzgzNTY4YmExYjliZjNmYTg3NzE5NCBweTNrCis3MTY1MyAxZjVmOTkyODAxZjlmNjljMmFmOTA2YTljMmI5MmJhM2Y2NmMxNzU0IGxlZ2FjeS10cnVuaworNzE2NTQgOGY2NTM1NjcyOTFmMGJiYmEzZmIzN2UyNGE0ZGZlMGFjYzljYmU5NyByZWxlYXNlMzAtbWFpbnQKKzcxNjU1IGYwYTE2ZTFkZWVhMTNkODhiYmFlMThhZmY0ODM3Y2MxY2U3Y2YxZjkgcmVsZWFzZTI2LW1haW50Cis3MTY1NiA5NzViZTFlYjNlYmYzN2RiNWMxYzBhYTQzZDE5MTBhMjgyNjY0Zjg2IHB5M2sKKzcxNjU3IDczYmZjYjM5ODg4NjJhYjgzYmY1MDdkMTVmNzUyZjg5MjlmYTdkMGUgbGVnYWN5LXRydW5rCis3MTY1OCBjZjE5MGZmMmE3MmM0YzQ3NjJmZjc4MzYwNmIxNzRiODVlOWIwN2QxIHJlbGVhc2UyNi1tYWludAorNzE2NTkgYTYzYjQ2YWRlMmI3YjYxYzdkMDYxNTFjNzM3ZDRlODdjYTFmNDkxYSByZWxlYXNlMzAtbWFpbnQKKzcxNjYwIDkyZjdhNDYwZmY4MjhkZGFiZWU3ODAzMzlkNDE2YWQ5M2M3YTQ0NjcgcmVsZWFzZTI2LW1haW50Cis3MTY2MSBmMDIyMjhkMWY5MDgwYzJiZWY5ZmNkNWE3YmRlNzRlMTQyZDQ0M2FlIHJlbGVhc2UyNi1tYWludAorNzE2NjIgODlkZWI2YmM4MmU0YmY4NTA0YTliYzEzZjllNmQ3NjUxN2JmZjdjMiBsZWdhY3ktdHJ1bmsKKzcxNjYzIDk3YWU3YTcwOWMxZDQxMWE1MTI3NmZjNzhhN2YxOWYyYWU5OTJlNGYgcHkzaworNzE2NjQgODY2YThiZWVjMDY1NTA5ZTE2NmI0YjBjZDYxNGM0ZDAyMzMwNjlhNiByZWxlYXNlMzAtbWFpbnQKKzcxNjY1IGI2NTNlYWIxM2I3MzI4NmU5NzVkYWQ5MmE5YmU3NjhiMWE0M2VhNzUgcHkzaworNzE2NjYgMDdjNmIwODg5NjhiMjA1OWRjMmRjOGQ2ZTgzY2M4YjYzZWRjZjcxZiByZWxlYXNlMzAtbWFpbnQKKzcxNjY3IDA3YzExMTQ2OTVlOTlmMmY1YjFiMWVlNTkyNDY3NjNmMTkyNzQyNGMgcHkzaworNzE2NjggZDg0YWQ5NzNjZGUyNWY2NjVjM2YyNmI2YTY2ZjdjNTUyZDIyZWRmNyBweTNrCis3MTY2OSBjYzU1NjU0MTVhZGE0MTdkY2EzNzcyNDcyYTRjOTYyMDQ5ZjBkZDNlIHB5M2sKKzcxNjcwIDk3M2Y0ZDdhYTg3Y2ZmZGFhNjhhMjhjY2Y2YzExMDZmNzUyM2RmNzMgcHkzaworNzE2NzEgMGNmNzc5OWZhMTkwMmE3YzAyMDE2NWI5NjEyMjYxOWU1YWI4MGE1YSBweTNrCis3MTY3MiAwMGUwNTcxMzZmYzY3N2Q1NDNmZWMwNjk5MTYzNGYyMjhjOWFhYjFmIHB5M2sKKzcxNjczIDBlZjVjZWRkYjFjM2RiYTQxYmQzMmI1NjRkODBjZWYyZWI2MmNmZmYgcHkzaworNzE2NzQgYzYwYzFkMzlhOTUxNjUxYzBiYTBjMmE1MGU0MmVhNjc4ZjVlNWYyOCBsZWdhY3ktdHJ1bmsKKzcxNjc1IDk4YTUwYTQ5ZGM4NjUwYmM5NTdkZjIyMDI4NzkwY2MzMjI3Y2Q3YjkgcmVsZWFzZTI2LW1haW50Cis3MTY3NiAyMTI0OTViMDQxMGMzM2VmZTRlMTAzNjJhNzBhMzY5ZDkxMjlmNmVjIHJlbGVhc2UyNi1tYWludAorNzE2NzcgOWVhYjA1NzNkODQ1NDgxN2I2ZTMyMjYyYWYzZTZhYzEyN2VkNTgxOSBweTNrCis3MTY3OCA4ZTUxZmFlOWJiNzU0MjlkNGQ0MzI1NjJiNTk3ZDJlMzkyYTBjYjBkIHJlbGVhc2UzMC1tYWludAorNzE2NzkgODJhMmVmNTk2M2UwZjA5NWNmY2MzYjY5ODAzODMxZDE4NmE2OGE0MiByZWxlYXNlMzAtbWFpbnQKKzcxNjgwIGRiMjkyZWJhN2VjMWFhYjE2ZjU0YzQ1ZjEwMGY3NDUyYWNmNmFmMmEgcHkzay1zaG9ydC1mbG9hdC1yZXByCis3MTY4MSBjNzQyOTIwYzQ1Zjc3MWM0Yjc2YTJjN2UzNDlhOTI2MDQ5ZjQ4M2VlIHB5M2stc2hvcnQtZmxvYXQtcmVwcgorNzE2ODIgNjg3NGQ3MDU0NjA0MzI1N2JiY2YxMzI2NTgxNjNhOTI3ZDdlZGFlNCBweTNrLXNob3J0LWZsb2F0LXJlcHIKKzcxNjgzIDkwOGM2Mzk4MGVlY2UwNmNiM2I2NDMxOWU0OTYxODE0ZWYxZGNlMGIgcmVsZWFzZTMwLW1haW50Cis3MTY4NCBhYjA2YTM4YjU5MGNjNDk3OGQ3ZDEyMzk3MWM0MTU0NjI4MWRkMTlhIHB5M2sKKzcxNjg1IGE3MDliYjVkZmFmNTExNjU1MDBlZWVmNmIxNWJjYzcxMjI1MDgwMTIgcmVsZWFzZTMwLW1haW50Cis3MTY4NyA5ODYyZDUyNzJkODU3YWE3ODQ0MDEyYjI4OGUxZGZkMjlhMGYwMjNmIHB5M2sKKzcxNjg4IDY2ZmRjZmE5NDAwYjAxZWNkZDQzNzNmZDk2N2UzZWQzMDM1OGM0Y2YgcHkzaworNzE2ODkgZmU5OWE1NjJiNzA4NWIyODQzNmI4NTlhYzkxOWI1NGUyMGE0MmQ0MSBweTNrCis3MTY5MCAyNjk1MWU1OTU4OTMxYjhkMjkzMmUwOGU2ZDc1ZTk5ODJiMmFhOTFlIHB5M2sKKzcxNjkxIDhkOGYyZjk4YTc1MmE3NjVkZGIwNWE1N2U0NDM4ZTQ3Y2Q0YWY5NDkgcHkzaworNzE2OTIgMTM5MTZiYjJlZmYwN2NjNDM3ZTdkYzcwNTQwNTEwZjhkOWJlZmNkMCBweTNrCis3MTY5MyAzZTMxOGM0YWY5NjFjM2EwOTY5M2Q3ZDk3N2ZjMzE2NDdjYjkzNDkxIHB5M2sKKzcxNjk0IDI0OWQ1MDBhNzc5YTg3Yzg4YTNjZjc5MmQ3ZGM2NTMwNWI5ODk3NTUgcmVsZWFzZTMwLW1haW50Cis3MTY5NiAwMmNiNDIwZDg2MmU2OWFlMjBkODYwZDMyZmQ2OWEzMjM1NmJhOTgwIGxlZ2FjeS10cnVuaworNzE2OTcgODU4YjlkMDhlMzRiNGVkZWU0YThlMzY5ZjI4MDY2MzBmYzg5YTA1YyBweTNrCis3MTY5OCBjODRjNzU1MjViYjM1YWVmMmYwZGVmMmU4Yjc5ZDBjMDI3NmUwOTBlIHB5M2sKKzcxNjk5IGQ4OTVhNDJkZmM5ODkyZGE2YjA0OGYwY2YyNDhkMjZiOGIzZDIxNmUgcmVsZWFzZTMwLW1haW50Cis3MTcwMCBkNmRhNjQ2MzU0ZDIxZTcxZGQ2NWE0OWUwZmJjZTc2MDhhZDBkZWFiIHJlbGVhc2UzMC1tYWludAorNzE3MDEgZDQzZDY0MjUyZDM2MTFkOTY3YmE3OWM3MDgzYmYwNjQ0Mjk0N2VhZiBweTNrCis3MTcwMiAyZWQwZDdlMWQxNzczNTc4OGI0NDZjYTE5NWU3MThjNTgzZjg2NzRhIHJlbGVhc2UzMC1tYWludAorNzE3MDMgZmUxNTUyNmViZThiZjY4Nzk4NWRlYjMyMGYzYjI5ZjlhY2Q1MGE4MiBweTNrCis3MTcwNCBjNWM4NjgwZWUwYjFjMWZhNGNmZTc0YTVlYTRkMDFlY2UxZjgxNDg2IHB5M2sKKzcxNzA1IGFkNWM3ZWFjY2VhMTEyNTJlZjg0MmU3OTA3NWZkNDg1ZDExNDBmMjUgbGVnYWN5LXRydW5rCis3MTcwNiA4MjA5YjZjMzJlNjEyYmM0NTdkZDYyZmY1NWIxOGIyNjJlNjBiYmFiIHB5M2sKKzcxNzA3IDhhOGRjN2Y4NTQzZTg3Y2Y2NjFmODcwNTgyOGJmZGNiZjYwMjYzMzggcmVsZWFzZTI2LW1haW50Cis3MTcwOCAzNDEyMTU2ZmI4ZWY2YTcxZmM0M2E4MmFmMWMwZTFkNjU2ZWY0MGNiIHJlbGVhc2UzMC1tYWludAorNzE3MDkgNzlhNmM2M2FjNWIwZDIwZWNlOWFiOWVjMDhkOWJjYmY3N2MyZjRhMiByZWxlYXNlMzAtbWFpbnQKKzcxNzEwIDk2ZDgyZmFjZDg5MGU5ZjZkOGU4MjI5NzNhOWUzMzdkY2ZhYzg3NGYgbGVnYWN5LXRydW5rCis3MTcxMSA2YTdmYTA0ZDgxMTFlNDgxM2IzNDc1YjkxNzE0ZThiMGY1YzU4NzcxIHB5M2sKKzcxNzEyIDU2ODg3YTJhOTBhZWY2MzkzMDE1ZmEzMzJjZDgxZDQ5YWRkMzdiMDggcmVsZWFzZTI2LW1haW50Cis3MTcxMyBmYjA4ZjYwYWI1MTExN2M4ZDQ2YjljYjdhOTJiZWMyNDRhNGUyOGE2IHB5M2sKKzcxNzE0IDRmYTQ3Njg2YzBkNzBmZGVjMzAxMjc0MDk0NDg1ODk4MTZlNTJiZGIgcHkzaworNzE3MTUgOTMyMjM2MDNjOTkyMjA2YjhmZDk4MjU3YTI3NTVmMGFmZmQzNWZhOSBsZWdhY3ktdHJ1bmsKKzcxNzE2IDRkOTk4MjA3Y2ZjM2U5Y2MzMjgxZTBhMWVmOTkyZWI0OTk2MmJhMDQgcmVsZWFzZTI2LW1haW50Cis3MTcxNyA3MmE3MDAwYTg2MDk0MmM1MDk2Y2ZhOGU1ZGRkMWYzZDA3YzBjZTA1IHB5M2sKKzcxNzE4IGE0ZjExN2U5MjBmZGE2MGUwZmVjNmY4YjM3MjNkZjY4YjBmZTBhMGYgcHkzaworNzE3MTkgYzRlOWE4NzVjOWE1NGZiNzJjY2I5YTYzMGZlMzdjMTQ1Y2E2NzdlNyBsZWdhY3ktdHJ1bmsKKzcxNzIwIGRkYTE0YWZhMTJiODViMGQ3YTBjNTZkMDljOTQ0ZWUyODNiMmY2MGUgcHkzaworNzE3MjEgOTc1NWQ4ZGQzMzY2YWNjZDI0NjIxZjQ5NDczZDdhMzYxYTBiYmZhNyBsZWdhY3ktdHJ1bmsKKzcxNzIyIDc3OTBiODVlNzAwOWJlN2FkMjFhMTVjZjlmOGU0N2U0ODVmYzdjOGMgbGVnYWN5LXRydW5rCis3MTcyMyAyODY0NWE5NjEwMDQyNDA2YTY1ZTk1OWM5ZjUwMDkxNGVlOGY2ZTc3IHB5M2sKKzcxNzI0IGMyNzdjZjQxOTNkMTFjNzY5OTk0ZmQyZmQ2ODVhY2VlMDhkZDYwZTUgcHkzaworNzE3MjUgM2U4ZGM1OWQ2NGRlNDQ0MDM2NDVjMmVkYzQ0ZDY2ZTc5NjI5NmZmNiBsZWdhY3ktdHJ1bmsKKzcxNzI2IDMyOWNiMDJmMThlNmYyMmU0ZTdlZDUwM2ZjZjg0YzdiYjQ2MDc0MmIgcmVsZWFzZTI2LW1haW50Cis3MTcyNyA2ZWMzZGYzNzVmNWE4MjY2NzYzZjQ3OTYyYTgzMDAxMzMzZDFiNzNlIHB5M2sKKzcxNzI4IGNmMjFlOWQyOTA2MmYxNmE3NTgyZjAxMWE5NzRmMmZlNWJiM2JhMzIgcmVsZWFzZTMwLW1haW50Cis3MTcyOSA3MmZmNDRjMDUyOTViOTU1YzQ2M2NlYTJlMmE0ZTJhNTgzZGNiMzhjIGxlZ2FjeS10cnVuaworNzE3MzAgYTZkMzI0MTM2ZTAxNDViMjk1OGY5YWFjZTIxNTU4NjdiYTJkMTc3ZiByZWxlYXNlMzAtbWFpbnQKKzcxNzMxIGE4MmI1M2RiYzY1NjU1ZGFhZTE1ZDUyYzRkZWI3YzVjOTA2NzgyOTAgcHkzaworNzE3MzIgMWJjZDU1ZGIzNWRlZDYxODlmZWI4YzVhNTg3YjlhOTkwNzlmMWI1ZiByZWxlYXNlMzAtbWFpbnQKKzcxNzMzIGNmNjIyMmNhMGJjYzA2ZDYzYzU1NjlmY2YyMjMxYWUwNDNiZDc3OTQgcHkzaworNzE3MzQgNTg5MTVmYzU3NmFhY2UzZWNhM2YwMzFhZWM4NTk4NDE2MjZmOGYwYSBsZWdhY3ktdHJ1bmsKKzcxNzM1IGFkYzc3YTVkNmE5NjI2ZTY5NDI5MGU3ZjhhMGZlNDA1YTg1ZTcyMTMgcmVsZWFzZTI2LW1haW50Cis3MTczNiBkNzRiOWE4ZTY2ZjYwMzZjMTZiNDRkM2NmMzczNmQ5YTQzYzAyZmI1IHB5M2sKKzcxNzM3IGQ5OTUwM2I2ZjIzOGFlYzI2MjgzOTZlZmFlNWM0OTZhMzM0ZjQzY2YgcHkzaworNzE3MzggNzU1NzcxNmI2YjFjYjk0YmU5NzQ5YjBhYWM3YTRlMGUyMDNlMWI5ZSBsZWdhY3ktdHJ1bmsKKzcxNzM5IDQ4YmY0MmMyZmY3YTgwMzhhYjkwMzRkNGYxZGUzYmQzNWI4YjBiMTcgbGVnYWN5LXRydW5rCis3MTc0MCA3ZDJjODIyMjY5Yzc0Y2Y0NDg0ZTAxYjY2MTE5M2YxNWFhOGE3Y2ZlIGxlZ2FjeS10cnVuaworNzE3NDEgNDFhNzVkZDlkZjc4ZjQ1N2RlYThmZmQ0MjAyMWZhYzc3ZTExMDYwMCBweTNrCis3MTc0MiBiN2I4ZmJkMDEwY2E5YjAyNTA2ZTY1MjE4M2Y2NzhiM2JlMzgzNmU0IHB5M2sKKzcxNzQzIGQ1MGQ0ZjA5Y2RmN2Q3NTJkNzRmMGI4NmZmYTFiMzJhYmQ1NzVmMzIgbGVnYWN5LXRydW5rCis3MTc0NCBiN2M0MTJkMWE1Y2M0NmI4ZTY5MzdlMTdlM2EyZjA1YzE5NDkwYTllIHJlbGVhc2UyNi1tYWludAorNzE3NDUgNjA3MjllZTg0ODIyNTg0NjI3ZWRjZjNlZjhiMWE2NDdjMDAyMmVmMSBweTNrCis3MTc0NiBlMmM3ODVmZjBhNTBmZjA1NWFmMmVkZWQwODFlMjk3NzljNzE2OGQ4IHJlbGVhc2UzMC1tYWludAorNzE3NDcgNDRlZjhhNzNhOGI3YmNjYzI5MjgyMjdjZTIzY2M2NTJkNjJhMzdmZiBweTNrCis3MTc0OCAxNzM3YWExNTEzMTA4Njc4M2Y3ODM0ZWI5ZmIwZWIyZDEwZWE3N2MwIHJlbGVhc2UzMC1tYWludAorNzE3NDkgM2YyOTIwYWE5MTBjYjM5NDMwZTgzZmVlNDYxZTJhZDUzMTM0MGQ2NSByZWxlYXNlMzAtbWFpbnQKKzcxNzUwIDEzODA3NzAzYWZkMGY1ODM0OWUzODIzOGM4MjQyZjA4NGI3Y2QzYWQgbGVnYWN5LXRydW5rCis3MTc1MSAwMzk3NmExMDg3MDA4M2RjOTVjOTc5ZTdjNjE1YWFiZGE0NDYyYjJmIHJlbGVhc2UyNi1tYWludAorNzE3NTIgMGIzYjhlZDM2MjI0NjQwOTVlNWNjNDdlMjI1NTExYzc2ZDM0NWRkNyBweTNrCis3MTc1MyAyYjE3Yzk5Njg5ODFiMjFjZmRmNjEwNGU0NTUyZDE0MGQ1ZjdlNDg4IHJlbGVhc2UzMC1tYWludAorNzE3NTQgNDUyN2MxNTJkYWE5MzljMmVlNWU0YTZiMWU1MDVkNTAwZmNmOTc1YiBweTNrCis3MTc1NSAyMjc5NjdmZTQ0YTQyNmM5NDQ0MjE1NThjOTFiMDdkZjM1ODVkM2U0IHJlbGVhc2UzMC1tYWludAorNzE3NTYgNDJiZjU2ZTM0ODI1OTZiYTUwNzJiMWU1YjY1NmMwODg5NzdiYTZmNiByZWxlYXNlMjYtbWFpbnQKKzcxNzU3IDg1MzNjZmMyNDIwYWRjMTM2NmE5NDA0MjBjMTdmZGRhNzc0NzM2MzEgcHkzaworNzE3NTggMDRmZmU2YjYxNzA5MTA2NzJmMDVmZGEyYzEzZWZkYTVkNjI0YzBlMCBsZWdhY3ktdHJ1bmsKKzcxNzU5IGNkYjYwMTQ0MWQwNDU1MjFkOGVkMGEyMjk2YjcyNzEzZjc5NWFkZGIgbGVnYWN5LXRydW5rCis3MTc2MCBhMmQ0MjMxMDE0MmJlODEzOGVhNjIyZGRhZmYzNGU4MGQyNWY5NWJlIHJlbGVhc2UyNi1tYWludAorNzE3NjEgZTQyMDIwYTUyMjBhZTk5YjRhZmZlMGVlYjU2ZjYzNTU5YzExMGE3YSBweTNrCis3MTc2MiAwNTM3NWMyZTA3NDI0MDA2YTU1ZjE5YzUzZmFhMGRlMGY1YTdiMTg2IHB5M2sKKzcxNzYzIDgwOTFlMDU2NmZlMzIwZjJjNWY4MTM0MTY1YzIwYzU4Y2RjODNiYWIgcmVsZWFzZTMwLW1haW50Cis3MTc2NCAzNzA5M2U5NGFmYzc3OGM5MGI0YmE3NTAzYjhiMGNhN2VmZmNhNmY2IHJlbGVhc2UzMC1tYWludAorNzE3NjUgOTZlZWQ3Mzg3Y2VhMzg5MGViNTliNmM1MTFjZDE3NmQ2NTg3ZTM0ZSByZWxlYXNlMjYtbWFpbnQKKzcxNzY2IDg3ZmI3MjEzMmQ2YmRmYTExNTcxOTY3YWJiNGI3Mjg5ZDM2MDAzZTEgbGVnYWN5LXRydW5rCis3MTc2NyAxMzc4MWIwZjc0NWE2MTg5MGU0ZDA5ZTZiMjRlYTJmOTdiODdkNTdkIHJlbGVhc2UyNi1tYWludAorNzE3NjggYWE1NDRhNTQ3NTNiYThmNjgyMGU3NzIxMzQ4YTY2NmQ3ZDM5MTU4MyBweTNrCis3MTc2OSBiZDE4OGZmMzQyYTRjNjg5MWUyYzBlNzI5N2UyZTNmNDcyMWVkMzgyIHJlbGVhc2UzMC1tYWludAorNzE3NzAgNzNhYTM3NTZjMGIyNmIwMTEzOTI2NTgyNDRiNzRmNWMxMzQxZmU4ZSByZWxlYXNlMjYtbWFpbnQKKzcxNzcxIDQ1NWY0MGQxNzM4ZThjMDY5MjZhOWI3YWU0OTc2MmNhNTAwNWY5M2MgbGVnYWN5LXRydW5rCis3MTc3MiA4ZjI4Y2U3YjhlNjlhMTQxNTE5NWI0YzA1YmVmMzlmNGNmOGQ1ZjA5IGxlZ2FjeS10cnVuaworNzE3NzMgNDEyOTNmYTZmMGRkNDNhNjhmODk4NjU2OWRhYTQ1ZmNkOTNlMTVhZiBweTNrCis3MTc3NCBkMGIxMzM2M2FhMjE0NTZhZTAwYTc3ODBkZTM1YmQ0ZmRkYWExZmE1IHJlbGVhc2UyNi1tYWludAorNzE3NzUgMjdhYzhjODc0MWNkNTkyYjkwZGVmZWI4YTA5NzEwY2U2ZmQ0YTg1NyByZWxlYXNlMzAtbWFpbnQKKzcxNzc2IGNlZTFmYzA3NjM0NDNiNGU4N2JmMWE3M2EzNDhhODJjNzZiZjgzZjYgbGVnYWN5LXRydW5rCis3MTc3NyA5Y2VhZTI4YWIyNzA0MDExYTFlOTBiODM4NjU0NjdjOWJiNjE3NTcxIHJlbGVhc2UyNi1tYWludAorNzE3NzggZGVkNDY3MzUyNTUzNzlhZDhhNDRmYTRjOGNiZmY5ZTNlZjBkMDE5NCBweTNrCis3MTc3OSA5M2M5MjlhMmZhYzdkNzIyOWVmYzJhZTc0N2FkMGI3NTE3MTkyZThiIHB5M2sKKzcxNzgwIGM4YTc1NzEwYWIyNTAxNzMwZGNhMzAzZTdhMjRmNGY4ODMwZGZmNzEgbGVnYWN5LXRydW5rCis3MTc4MSA3MmM5OGI0YmYwYjU2ODE5MmMzN2I1MGY1ZjQ5ZDgyYjc3M2M5NzY2IHB5M2sKKzcxNzgyIDY5NmRkMjI4MTg0MTU2MWVmZjRlYzA3MmQ3YTE3ZmNjZDNjZjZjZDcgcHkzaworNzE3ODMgZWQzZjUxZjJhYmZiYjcyOWNhYzYxMTJiNGFjMDUzYjEwMDZkYWNhYyBweTNrCis3MTc4NCBhNjhlMmRjNWY1MTQ0ZDIyZDg4OWRhYjczYjQwOTYzODU0Zjk2YTlkIHJlbGVhc2UzMC1tYWludAorNzE3ODUgZGU2M2I3ZTg1MDBkYzJmOTA4NTRjZDM1OTMzNDY4MDE1YzgxYjlmMSBsZWdhY3ktdHJ1bmsKKzcxNzg2IGY0NGQ0MmExMWI5YjQzYTNjZDg5MDRjMjk3MmQ5OTFiMDJhOGFmZjcgbGVnYWN5LXRydW5rCis3MTc4NyA3NzMzNmQ4MmFiOTUwYjY4YjllNWMyYThmODU5YzExMDA3NDZhZjIyIGxlZ2FjeS10cnVuaworNzE3ODggYzMwNjgxYzY2YjNmZWYyNjU0YjUyNGRjMjc2NjNmNDI1Mzk4YzgwYSBsZWdhY3ktdHJ1bmsKKzcxNzg5IGMyZTRhN2FkMDVmMmI0NzU5Njg1ZDdiZmZmZjA2ZjQyZTQyZTdhNTYgcmVsZWFzZTI2LW1haW50Cis3MTc5MCA0MTRiYThlZmM4MDQ2YWU0YWVlZTUxNjA2N2JhODc5ODhmNTI0NDIyIHB5M2sKKzcxNzkxIDJiMDU3ZDJiOThlYjA3NGYyYzExZjJjMWUzN2U4NmQ5NTBkNTBjNWEgcmVsZWFzZTMwLW1haW50Cis3MTc5MiBiMGZlYTNhZTNiNmVmNTYyMGQ5NjgzMjQ3OTgwZmM0ZTliMzZjZDRkIHB5M2sKKzcxNzk0IGY5ZjIzZjM2YzM2Y2E4ZjQxZDBlYzVlNzdhOWQ5ZDQ1ZmIxY2E2ZTUgbGVnYWN5LXRydW5rCis3MTc5NSA3OGJmZDQ0ODE3NjMzMWM4YjIzZjNmN2Y5OWZhMDFkMjk1MTJjMjYzIHJlbGVhc2UyNi1tYWludAorNzE3OTYgYzVlMGQ5YmVlYmY5MjMwODUzMDY3MDE1YWM5MTcxNTcyMWM4MTlhOSBsZWdhY3ktdHJ1bmsKKzcxNzk3IDYxOGQyZTNhY2E2MmViZGExZmU4MjZjMzkyNDVjOWY2ZmMxNDg4ZTYgcmVsZWFzZTI2LW1haW50Cis3MTc5OCA2MTE1MThkNjgwZGVjMjRhYmQyYmRmZWQ2YWY0MDQ3MmJiNDI3YWY5IHB5M2sKKzcxNzk5IGU5NTk1Y2I1Yzc4NjBiYWViYTAzYjU1MjBkYmI2ODE5NzA4MTE2NWUgbGVnYWN5LXRydW5rCis3MTgwMCAzMzBkYjk1NGU1OTM0ZTA5YjJiYjY0OTI3NmQ2NTc3ZmE1ZTU2ZDIwIHJlbGVhc2UyNi1tYWludAorNzE4MDEgYjVkZjA5NGQ4OTQxZDJkYTQ4OTZlYzllODA4NmY0YTk5YjYwMzRhOSBweTNrCis3MTgwMiA0NGE4YTUyNWVjZWI4MDY3Zjg0MjExZWMwOGY0ZTczNDg2NTk4ZWFiIGxlZ2FjeS10cnVuaworNzE4MDMgNmY0MmRlNzJjMmRjZTg4Y2ExMGQ2M2E1ODQwNjk2NmJkZDFlY2MyYyByZWxlYXNlMzAtbWFpbnQKKzcxODA0IDUxM2RjNmZhNjFjMGI3MGE2YjVkZjFmYzY1MGFjNWU4NzIzZmFlMjIgcHkzaworNzE4MDUgYzZlOGM2NTcxNTg4NzZmN2YyMTM5OGIyY2I0NTNhNTdkMjUxZGUwNCByZWxlYXNlMzAtbWFpbnQKKzcxODA2IDliZjRiM2ViMDQ0NzI2OTkxMzUzOGU2N2Q0Y2UxMzEwM2ZkNDNkNjggcHkzaworNzE4MDcgMjRkODFmY2IwZTMzMzVmMmUyYTRlMmVhNDJkNTg5NDBlMWQ1MTc2MSByZWxlYXNlMzAtbWFpbnQKKzcxODA4IDg1NTk3ZTU1NjY4Y2QwYzkzOGIyZTZiZjQ5MWEzMTMxNDNlOGM4OTUgbGVnYWN5LXRydW5rCis3MTgwOSAxZjFlY2E2ODE2NzVhMzllNWExMzIyMGJlZjNmYzAzNWMyM2M3MDk0IHJlbGVhc2UyNi1tYWludAorNzE4MTAgMWExMjkxMzg0OTI4OTMyZGY1M2I3MjJkZTA2YTBiMDU0MzIzNmJkMiBweTNrCis3MTgxMiAyZDA5YmNmNzAzOTU1NTg0NWU0NDJhNWM1ODgxNWMzYmJiN2YyZGEzIGxlZ2FjeS10cnVuaworNzE4MTQgMTcwMDU1ZDdiNDk0MmIyM2I2OWJiMmY4MzZhN2U5NmYyOTNmNWVkNiBsZWdhY3ktdHJ1bmsKKzcxODE1IGZmOWVkY2IzNjg3OGVlODYxZTkzY2FkN2JhY2U5ZmY2YWUyY2E1M2UgbGVnYWN5LXRydW5rCis3MTgxNiA2MjkyYmQyNjMyZTJiZGQ3ZDU4ZGVmMDdhZjliN2MyNGUxNTYxOWEwIGxlZ2FjeS10cnVuaworNzE4MTcgNDFiYzMzZWUxNzMwNGZhNmIxZWJiNjNhNDJiMTVjOGM2NTFmN2RlZSBsZWdhY3ktdHJ1bmsKKzcxODE4IDMzMDExNTEzNzQxNDc1Y2RkNzIwNmRkM2I1YmY4OTlkZWMxOTY0NzIgcHkzaworNzE4MTkgZDI5NTI1NGQ4NGI3ZjY1ZmU3ZjYxYTdhN2Q1YmJhNWUxMDdhOWQ1ZiByZWxlYXNlMzAtbWFpbnQKKzcxODIwIDViYmQyZTZkNjEyNjIwZTRmZWVlMzEyMGUxZDA3ZTU5MDVjNjM3MzkgcHkzaworNzE4MjEgYTdjNGEzN2M5ZGYwNzcxNjhkNzNlYWNhZTY4ZGNiMWE4NTBiNTA0MSByZWxlYXNlMzAtbWFpbnQKKzcxODIyIDgyOTViN2IyOTRiZDYyZGJiZWRkM2ZjMWQyZGEzMzM5ZGNmY2UzODkgcHkzaworNzE4MjMgODMwMGIyNzRmZGQzY2NmOGQyMTgxMTU3YzJhODgwNzlhYzE0OWVkOSBweTNrCis3MTgyNCAzMzMxMmI5MTA3NzM0MDFkZDUzNTRiZDljZGU3NjhiNTI3ODIwOGI1IGxlZ2FjeS10cnVuaworNzE4MjUgZmRlMDE1YTJjOGIzZWJlMjQ5NmI0NTZhMWRiZjE5OGNmNWUwNTkwOCByZWxlYXNlMjYtbWFpbnQKKzcxODI2IDMyYjI0NzMwMGZmOWQzMjM5MTkxYzE4YzNlNTQ5MGQ5ZDFiYTQ2ZjcgcHkzaworNzE4MjcgMDc2MWVlMjhiNmVkNjI0MDJhZjBlYmY1NmI1ZjU2NmIzMWI1YTUwZiBsZWdhY3ktdHJ1bmsKKzcxODI4IGQ1NTczMjBkZTg1NmNiYjIxMzk0ZDdlY2E1MTNiYWNlNWYzMjZkZDUgcmVsZWFzZTI2LW1haW50Cis3MTgyOSAwNmRiMWQ5ZDI1NWZmN2M3ZDQ1ZDQ2M2E1YjYzNmYwN2JiOGE2YTIyIHB5M2sKKzcxODMwIDFmYzliNjUwODcyMzIyOTI1MzY0NDAzZDkyYzY0OGYwOTJhZWUwYTYgcHkzaworNzE4MzEgZWM4NDJjYzYxMGU2ZjE0ZjNlMTJhMjVkMmYwZDQ5M2NlYzRmN2UyOCByZWxlYXNlMzAtbWFpbnQKKzcxODMyIDExNDA1OWMyNjc5NGYxYWQ3YzQyZTFjMTU5NjZlOTg1OTdhNDY2ZjggbGVnYWN5LXRydW5rCis3MTgzMyBhMWE2ZjVkMmIzZGNiNWU1MjM5YThlNDRlYTRjYTFiNzM0MmQwNjMyIHJlbGVhc2UyNi1tYWludAorNzE4MzQgNTlhMWZiOTM5NTc3NGNlYjNiNzhhM2YwYWE1ZTU5NjllODM3OTczYiBweTNrCis3MTgzNSA0NmEzMmQ0NDYzYzgzYTZmYmQwMjdlYjU0MzJlYjJjZWJmNzQ0ODU4IHJlbGVhc2UzMC1tYWludAorNzE4MzcgMTMzYzY2MDI3ZjMzZTRjMmY2MzExMzg5NWRjYjg5ZjFkOWYzODBkZCBsZWdhY3ktdHJ1bmsKKzcxODM4IDMyMjI2Nzc2Zjg2NjEzNDY4Mjg5MjI4Y2QwMjAxMmYxMWM1MDExZWIgbGVnYWN5LXRydW5rCis3MTgzOSA1NGI0NDg5ZjFjMjg0ZDYxMjc1NzBjZDdjNmMyNzc3MjkzZDljYmQ0IHB5M2sKKzcxODQwIGZhNGYxOGVkZTI2MGJhNzkyMzlmZmRmY2YzNWRiMDQzOGQ3ZGE4NmEgcmVsZWFzZTI2LW1haW50Cis3MTg0MSBhNjVlM2MwNzI2MGU5ZWIwNzgxZDU1YWRkZDE0ODcwMjhjOWNiMTE5IHJlbGVhc2UzMC1tYWludAorNzE4NDIgMTE2Nzg3ZjliOWZjZGJmODEyMTczOThjMTFhNTRhNTgyNTA2ZTJhNyBsZWdhY3ktdHJ1bmsKKzcxODQzIDYzY2I1YzkxY2UyMTQ4YzVkMDVmY2RhMmE3Mjc2OGFlM2RiODZhOTAgcHkzaworNzE4NDQgZmY3YjRlNTgyYzQ5MDgzZjcxYjQyYjlkNzE0NmRiYTIyNTJjYjAxMSBweTNrCis3MTg0NSBkODgwMmIwNTU0NzQzMDI5ZTE1NDg2NjFhY2NjMzkyZDBhMzcyZGQ5IHJlbGVhc2UzMC1tYWludAorNzE4NDYgNDNlNDZlNGUwMmYwMzYwYjMzZDczZjBhODYwMTkwNGUzOGE1NWFlYiBweTNrCis3MTg0NyBmYmIxZGYyNTQxYzM2YTA5Y2U5YmU1NzdjYWI2MDkzNDJhZDMzNmYwIGxlZ2FjeS10cnVuaworNzE4NDggOTY5MWU3MzQ1OTY0ZGExOWRmNTJmYTg4OTI3NjJmMGZjM2FjYTNkNiBweTNrCis3MTg0OSAwOTY4OTIxMmIzZWIyODE5NGFhODExODY5Yzc4NjAwMGJmMjA0NWZjIHJlbGVhc2UzMC1tYWludAorNzE4NTAgMmVmNTRlOGE0NGRkNDg5OWVkOTFkYTVlZTZkYmUzZDA5NDNlMDk3NSBweTNrCis3MTg1MSAwMGE5Mjc4MTVkY2Q2MmQ0Njk0OGJjNDhjM2ZkYTIzZjVhMGE0MTk4IHJlbGVhc2UyNi1tYWludAorNzE4NTMgZDUxZTRmNjJiYzhjMDQ1NThkMjA4YWY5Y2Q0MzA0NTE5M2UyOGRiYSBsZWdhY3ktdHJ1bmsKKzcxODU0IDAyZjNmODVlMzkzNmI4YzAwMDhlYWRlMzMzNmM3MTBiYzRlNjE2ZWYgcHkzaworNzE4NTUgYzYyY2MyYTU3NjRiNjM0MjJlYjVkMjZiMzQ1ZWY5MTAxOTZlMWQzNCBweTNrCis3MTg1NiBiNWUyYmNiYmZhNzQwMmMyNjk0ODRkZTc4NjdkOTA5YzFkZDlhYzczIHJlbGVhc2UzMC1tYWludAorNzE4NTcgMGY1NWUwOWMxNmI1NjgwNjBhYzFiMmJhMDM2NWNmZTU1ZmZjZWZkMyBweTNrCis3MTg1OCAyOThmMjhhZmYxOGQyMzk0MGI5OWNmYjgwODI2YTIzMWQyNDAxN2RjIHB5M2sKKzcxODU5IGIyZmNiM2YyMjRkZTJmZTNhZjA3YjJjNDdhNTk2YWQwM2JjZWZiMzQgcmVsZWFzZTMwLW1haW50Cis3MTg2MCAzMTg5NTE4OTBhYmI1N2MzOTUzMDQ2MjliZDUxYjIxNTE2MjZiYmZlIGxlZ2FjeS10cnVuaworNzE4NjEgNjQyOTEwYTAxZDdmMzkwMGYwMGQ0YzNkNGMyMmZiM2ZmZmZlNzE0OSByZWxlYXNlMjYtbWFpbnQKKzcxODYyIDJlMzcxOTBmOGVhN2Q0OWNhY2I4OTZhODdkMjc3ZWI3YTdjM2JlOGIgcHkzaworNzE4NjMgZmRiMmJlNDcxYTNmZGJkMDM2OGQwYzAwNjRlMjRkYzM4OTVhYTUwYSByZWxlYXNlMzAtbWFpbnQKKzcxODY5IDVmZDBkYTJhOTc3OGUxNjhmZjVjNzRjYjQ5ZjVlNTdjZWVhOTRjNjcgbGVnYWN5LXRydW5rCis3MTg3MCBhMzRkOTQ1YzA3ZWRiM2VjYmU4ZjdmMDA1MGM4YTRlM2RlNDAzN2JkIHB5M2sKKzcxODcxIDgwZGE1MjQ2NmZlODdkZTViNjMzMzU5NTE1MGM0NTA1OWYzMzhjMmMgcmVsZWFzZTI2LW1haW50Cis3MTg3MiBhNWVjNTdlODVmNjVjMThjYzMwMzY1YmUyMzBmNjQzNTYyMzJhNGExIHJlbGVhc2UzMC1tYWludAorNzE4NzMgOWY5NDEyMTkyNDAyZDlmNTkxNzczZDY4NDdhNWY1OTkwODNkZGMwZCBsZWdhY3ktdHJ1bmsKKzcxODc0IDk1NTZlOTNmMmFiYjQ5OWI2ZjM4MzllZmVmYWYxZWU4NzM4NmNhYTYgbGVnYWN5LXRydW5rCis3MTg3NSA1YTQ2YTgyMjA2ZTdiYmYzOTg0NWFmNTI5ZWUzNWMwZGUxOTY4MGM3IGxlZ2FjeS10cnVuaworNzE4NzYgYjM2NmE0OTZkNDk5ZWIxOTE3NzBiYmVkNmNjZDAxOTM3ODViMGI3YSByZWxlYXNlMjYtbWFpbnQKKzcxODc4IDg4YTc4ODdkN2ZkNGFmOTZjMzg4YjMyMzE3M2FkYzkzOGI5N2E4MDAgbGVnYWN5LXRydW5rCis3MTg3OSBjZTQ3ZGVlMWI1NDQyM2NhY2EyYjg0NTA1OTAwMDAyZmE3Mzk5YWVjIHB5M2sKKzcxODgwIGM1NzEwOGRlZjNlM2JlOTk3YjQ2NGQ1NTA3NGUyYzJiNjRjOGMxMTIgcmVsZWFzZTI2LW1haW50Cis3MTg4MSBkMzUzMzdmNjUwMTU5OTljY2MzMzE5MGIzOWJiNTVmNjQ1NWUxODJlIHB5M2sKKzcxODgyIGFkMGMyNjk3MmIyMjIxNzU5ZDI3YzE1MjNkMzA5ZGRiYjA2OWU2ZmUgbGVnYWN5LXRydW5rCis3MTg4NCBhZDAzYmI1ZDBmN2RiYmM1Y2ZjNTU0ODNhMTA3YjI0N2I1MjZmNmJhIGxlZ2FjeS10cnVuaworNzE4ODUgNmRjOTgwNWNiMGZhOTc3OWFkYTliZjZmZmU1NWFmZTBkMGRmYzA4MyByZWxlYXNlMzAtbWFpbnQKKzcxODg2IDNjYzVmYzMzMzJmNmFiY2NiOTkzMTFiNTE5NzMzNWZlOGU3M2ZkMmYgcHkzaworNzE4ODcgODA2YmM0NjUxYjlkZTM1ZWU2MGZlNjZjNDM0MWJhM2JkMWY2NmJjYiByZWxlYXNlMjYtbWFpbnQKKzcxODg4IGNhZGI2OWUxZGM5YTYyZmNiNDc0YzMxNTZmMzhmYTg3MTQ3NTM5MmEgcmVsZWFzZTMwLW1haW50Cis3MTg4OSAxODM3ZThlMjI5Mjc3NzExMTUzYzRhZTAyZTBhZDRkMzM3YWJiMDgyIHJlbGVhc2UzMC1tYWludAorNzE4OTAgMDVkZTg2NDA3N2JhOWI4M2U4OWNmOTU4NzNlZGU3NTE3NTQ5NjdlMCBsZWdhY3ktdHJ1bmsKKzcxODkxIDU4N2M4ZTM5MTdjNmE4MjVmMjkwOGY1OWY4NTg2NTMwNzY3MmEyYWYgcmVsZWFzZTI2LW1haW50Cis3MTg5MiBkM2ZlNmU5NjQ4NGM5N2NkNGUwMDc0MWEzNzdmMjVjNDJiNmQ1NTZjIHJlbGVhc2UzMC1tYWludAorNzE4OTMgZWFiZTZjZjk3MzRjODMyYjI5NmFmOGQzM2E5NjJlN2RhN2I0NjE2NiBsZWdhY3ktdHJ1bmsKKzcxODk0IGEyZWY0ZGQ1NWNmMjU2MTk0YmY4Y2RmNGNmNTk5YWFlMzQ2MmZkNmYgbGVnYWN5LXRydW5rCis3MTg5NSBmMDhmNzc2MDgyZWNjYjNhN2UzYzEzOGQwZGZhMDFmYzViZmMzNjI3IHJlbGVhc2UyNi1tYWludAorNzE4OTYgZmYyOWU5NjZhYmI2NWE5MjA2MmI4OWUyNjhmNDc1Njg2NDA4MmYwYyBweTNrCis3MTg5NyAyZjhlNTM1ZjlhOWJmYTQ0MWE3MzFiMzhjYTYwNDUzM2M1OTI3MGRhIHJlbGVhc2UzMC1tYWludAorNzE4OTggYmI4NzZhMTMzYmRmM2E3YTlkZDU4YzI3ZjhkNzcyNjAzODgxZmFhNCBsZWdhY3ktdHJ1bmsKKzcxODk5IDY3NmRhYTFlZjIyMzcxMjllMzY4MGUwNDI2MjJiYWZmZTIwZDJjMzEgbGVnYWN5LXRydW5rCis3MTkwMCAzMDVmZmFkZjgzMTViM2I1OGQzMzYwMWE1OGNkM2JhN2QzNmE3ZTRlIGxlZ2FjeS10cnVuaworNzE5MDEgZGRjYzJhNmZkZTNhZTNiOTczNjEzNDRlMjUwYjk5ZTVlOGFmYmUwNCBsZWdhY3ktdHJ1bmsKKzcxOTAyIGM3NTZmMzBiYzQyYTdlNjRjMDRjNTZmODdiNzgwNTFkZTQ3MDllNGQgbGVnYWN5LXRydW5rCis3MTkwMyA4NTI0NmU0ZTE0MjgzZTZlMTlmMzQyYzA1ZDA4YWNlMDgyYmEzMDM3IGxlZ2FjeS10cnVuaworNzE5MDQgMTQ2N2NiYzIyM2U2MDA3OTkyNGU3MjFhY2VkODYzNzlhMmViOTJiMiBsZWdhY3ktdHJ1bmsKKzcxOTA2IDI0ODBlYTc1MDY4ZmEyMWU0ZDExYTNiM2IxZWY5YzZlMTZiMjRkYjYgbGVnYWN5LXRydW5rCis3MTkwNyA3MWI3YjQ5MjE1MTIxZjU4ZDA5MWNlZTZlNTcwZmUwMTUwNWE2NGFlIHB5M2sKKzcxOTA4IDRhZjA2YjJiYzNjYzI1ZWE2ZDNmYmIyZjdhZWJkYjA1YTBiZGQ4YzMgcmVsZWFzZTI2LW1haW50Cis3MTkwOSBjNmJmNTJlMTUzYjRhM2QyM2ExMmU1MTYwOTI2Mjc1MjBmNGQ2YzgxIHJlbGVhc2UyNi1tYWludAorNzE5MTAgODVjYzk1MTJiNjBjNTM3ODE2OWExMzIzZGQ1OTFkOTUxODM1ODQ2MSBsZWdhY3ktdHJ1bmsKKzcxOTExIDdjZDIzYjJlYWE5M2JlZGUyNThlNjRhYmU3N2M4OGYyMjY4MTlmOWEgcmVsZWFzZTI2LW1haW50Cis3MTkxMiAwODNjZWEwZjI3YTJjMjEzYTc0NTEzZTM5ZGMyMWY5ZTM1YWU0OGFmIHB5M2sKKzcxOTEzIDAwNmE0MGI1ZTBjM2I1ZjllZjJlYWY0ZGI5ODE3M2MxNDAxM2IwYTQgcmVsZWFzZTMwLW1haW50Cis3MTkxNCAxNzlmNDU5M2JkM2VkMDgxZmIzZTc3MGMzMzI3YTQxYjQzOGVjYjI1IGxlZ2FjeS10cnVuaworNzE5MTUgM2QwN2M5YjIzOTUxNDJiMDJhNTQyNDc5MTM5MGZjYzQ4MDhkYzJmNSBsZWdhY3ktdHJ1bmsKKzcxOTE2IGY4ODMwNmM4MjY1ZTNkZGMwYjI5OGViYTI1YTU1NDgxNTM3NmRhZGEgbGVnYWN5LXRydW5rCis3MTkxNyA2MmIzMTg1MzU5ZTM2NWEzNzhjZmJkNjlhOGM2N2U4Y2VhZTFhNGQ1IGxlZ2FjeS10cnVuaworNzE5MTggM2I0OWQzMGNhNTQxM2JjMDljNzM4YWE3Y2Y2ODQzMDEzZjZkYzA3NyBsZWdhY3ktdHJ1bmsKKzcxOTE5IDJlMjk3YjFlYzkzNTYwZjEzMjBhY2RkZTk3ZmEyMGI4MzdkYmZiMjEgbGVnYWN5LXRydW5rCis3MTkyMCA2OTRkYWY4Y2RmOTkzOGJmMmJlYThjMGIzNzg3NmQyYWMyMzIxMWJmIGxlZ2FjeS10cnVuaworNzE5MjEgNjI1NWE3MmE0YzFlOWVhYmI5YjBlNGVhMzBiOTc5ZDA1NTRhYWI3NSBsZWdhY3ktdHJ1bmsKKzcxOTIyIDhmYmEyNTg0ZjM4YmVhMjMzNWZkYTA4ZGRmMTQ2MmMyMmUyYmZmYjYgbGVnYWN5LXRydW5rCis3MTkyMyA2MzI4NjI0MmRkOWRiMTQ0NWU0ZjkyMzA1Mjk5YWI0NzAyMWU2NmViIGxlZ2FjeS10cnVuaworNzE5MjQgY2EyZjFlMzRmNTYyZDFiMjkxNmNhNWIwYmFhN2MxYmZhYTU5NGYyNCBweTNrCis3MTkyNSA3YmIxYTRjZDVlZTViODZjNmNmZDJmZGUxNWM5NzdiNmM0YjM4OTkxIGxlZ2FjeS10cnVuaworNzE5MjYgZWRkOGYwZDUyYjM4ZTJlNTBjZDYwMjMwMTlhMWQ1ZDVjNjdmYjZiZSBsZWdhY3ktdHJ1bmsKKzcxOTI3IDQ1NmIyYTA2ZDAxNzAwZjcwNjVkYmExODU1MDQ5ZDhmNmMwYzZlMmEgbGVnYWN5LXRydW5rCis3MTkyOCBjN2VhODI2ZmFkNzczNDdlZTg1MmVlOTRmMzJhNzA4ZWRjYzgyNmY1IGxlZ2FjeS10cnVuaworNzE5MjkgMjVjMjBhNzdmMzczM2Q5NDAwZDkxYjM1YzA3OGQwZjA5ODhiYTM3YSBsZWdhY3ktdHJ1bmsKKzcxOTMwIDBhZDQxNTA5NGEwNTA2MThkODU4Mzc5ZDI2M2VkZDZkMzgzNTc2MWQgcHkzaworNzE5MzEgMTI3OTE4MTI3ODhkZmU5ZWE1YzUzZjRiMDIxODM1MmM0OGEyMzcyYyBsZWdhY3ktdHJ1bmsKKzcxOTMyIGVjYWNhNzE3N2Y2Njk2MWM2OTQxMmU1MGZhOTMwOGFlNmJiNGNlNDIgbGVnYWN5LXRydW5rCis3MTkzMyA0ZTVhZDU2NmJmYmI1YTkzOWIyNGViMzI0MGJjNDAwZGEzMjM5N2Y2IGxlZ2FjeS10cnVuaworNzE5MzQgYTA3YTliNzU5ZjI3YzI1NmZmM2MzNWM1YzNiMDhiYzk0ZjRjZGQzOSBsZWdhY3ktdHJ1bmsKKzcxOTM1IDljOTg2MDUwNzI2NTA0ODNlODI0YmZjNjgwZjM4NTMyNGNjZWZjOTYgcHkzaworNzE5MzYgZjExNDJkZTQzZTdkZWE4ZmRmMzcyZWZiYzBlYjE3OTAzMTc3YWViMyBweTNrCis3MTkzNyA4MWFlYjhiYzY1OWQ1NzBmNjM2MTdkMWI4MGFhMjdlZTI5YWVlMjA4IGxlZ2FjeS10cnVuaworNzE5MzggNjk0N2JjM2RkNDMzMjE2NDJmYzI4YTU1Y2NlNzFkNGY4ZTYzMmM5NiBsZWdhY3ktdHJ1bmsKKzcxOTM5IDMwYjAzZTFkZWE4YmI3MTIwODc4MWMyMGMyYWU0NjFhMWY0NTIyNzQgcmVsZWFzZTI2LW1haW50Cis3MTk0MCAyY2RkYWY4ZDNjM2UwYzk5MzEwN2UzOTQ1NjcwYWI5M2U1NTRmYzAxIHB5M2sKKzcxOTQxIGEzZDQ4YjJlOTU3ZGU5NzFjMDk1NWY5ZWIzMTE4NDI1MjUxZjgwYjEgcmVsZWFzZTMwLW1haW50Cis3MTk0MiBlZjBhYzQyNjk5MzQwYjVkODg3MTViZWY2OTE1NmU0NWYzNDRhYWMxIHJlbGVhc2UzMC1tYWludAorNzE5NDMgOTMzMjk3ZWJhYzdiYWMyMGY5YWE2MmY5YTIzY2JjMDIwYjhiNzA5MyBweTNrCis3MTk0NCA3NTAxMGNhZTA0NzkwMDc2ODgyYWYyNzliOGI0NDVmYjkzYzMzNzgwIHJlbGVhc2UzMC1tYWludAorNzE5NDcgNzJiZDQ1MGQ1MzlmMTU3ZTY3ZWI2ZTFiN2RkZTFlZjYzZTNiNDhhOCBsZWdhY3ktdHJ1bmsKKzcxOTQ4IGM5MmU5M2E1NDI5OGE4MzA0ZjFlY2UxNTRmNGQxNTlhNmFjMmM1Y2EgcmVsZWFzZTI2LW1haW50Cis3MTk0OSA4ZmRjZGYwYjUwODBlYTkyZTVhZWQ5NWQ4M2ZiYTFkMjA5ZGJjM2YyIHB5M2sKKzcxOTUwIDkxMjQzODY1NWY5MzA0MDQ4YmY4Y2I4Y2VkOTMzYWY1ZDIzYzc2Y2EgcmVsZWFzZTMwLW1haW50Cis3MTk1MiBhM2EyNDZkYTE0NGI3ZDM2YmIyYmI3ZWNmY2FhNjQyMDJlODEzMDM4IHB5M2sKKzcxOTUzIDlkYTFjZmNkMmFjZjdmNjdkMjkxMDI5NDY3ZDgxODU1M2UyYjIyODggcmVsZWFzZTMwLW1haW50Cis3MTk1NCAxMzM4MTlhZTgwZmE4YWNlMTgxNTYzYTlhMmZjMTNiNzhjMTJiYWM0IHB5M2sKKzcxOTU1IDFjMmQxMWE3ZWIyM2Y0MTIzNGVmMTQyMzJhNzVkNTBiZWYzNGFiNzIgbGVnYWN5LXRydW5rCis3MTk1NiAxNzI5MTNlMTcwMTllZDI5NjAxNTc4NGZiNjdmZmNkNzg2M2NkNDI3IGxlZ2FjeS10cnVuaworNzE5NTcgNzNiNTAyZjU3NjkwNTljMDk0NWRlMzhlMDIwNDg4MmIyMjhkM2VkOCBsZWdhY3ktdHJ1bmsKKzcxOTU4IDAwNjk0ZTBjMmU2YjJlYjMxY2JmYjE1Y2ViNDU3NDFkMjJlMzRlNTMgbGVnYWN5LXRydW5rCis3MTk1OSA1OWM0MTE0Mzc5YjM0YTdiOWNlY2ZhY2Q2MDg5MzhhYTgyNjdlNzBkIGxlZ2FjeS10cnVuaworNzE5NjAgNjQxMTBjMGFkNTMwNWU3YjcyNWZiOWI3YWYzMDJmOWRhZWRhN2VmNyBsZWdhY3ktdHJ1bmsKKzcxOTYxIGRiMDMwMTZiZjY1MzlmNDZkZDA0NjU0YjY3ZjZlOWQ0YTMxODEzMzAgbGVnYWN5LXRydW5rCis3MTk2MiBhMTVjMjhiZmJiMzhjODZiYmI2N2FmMzNkZTYzZTY1NjU2NDIxYTg3IGxlZ2FjeS10cnVuaworNzE5NjMgNzU5NjMzNzJiNzE0OWQ5NjYxNGFlZjA5NDY2OWZmYTQwY2FjNmNhMSBsZWdhY3ktdHJ1bmsKKzcxOTY0IDU5YTFiMDJkZTkwNjcxMjBmMmQ0NDA0YWI5MTQxNmY5YWFkMTA4ZTcgcmVsZWFzZTI2LW1haW50Cis3MTk2NSA3ODM1YWRhM2NkYTJjNmFiZDZiOGY1MGJlYjVkMTE0ZjAzNTg3ZDM4IHB5M2sKKzcxOTY2IDFhNWQxZDFjOTQ3OGE5NGQzOTg4NzQ4OWQ3YzhjYmUyMWI4YTc1Y2UgcmVsZWFzZTMwLW1haW50Cis3MTk2NyBmNzY1NzIxMDhkZDdhNDUyODA2ZWM1MWJmYjE3N2NlNGNiYzY5M2JiIHB5M2sKKzcxOTY4IGI0NWEzMjM1NWQzNzhjY2M4ODQxNGVmNzYzYmMwZWYxYWZkZWE1OWQgcmVsZWFzZTMwLW1haW50Cis3MTk2OSAwMWMzMzYzYTM1N2Y5ZmY3MTY4YjFkYzYyM2RjYzI3NmQ5YjE0ZTBlIGxlZ2FjeS10cnVuaworNzE5NzAgNDYzM2Y4NTM3YmI3N2M3ZjUxYzRlM2RkNjQ1ZDIxODY3YjJmYmZlZCByZWxlYXNlMjYtbWFpbnQKKzcxOTcxIDM5MTIwY2M3ZTMyMWVlODA4NjA5ZDUxODQyNTdmZmU2ZGQwOGJhMTcgcHkzaworNzE5NzIgZmI0YmIwYTM4NTZlMWIwNDkyMjA2YWQ5MTQwOTkyNDQ4N2QxMmZiYSBsZWdhY3ktdHJ1bmsKKzcxOTczIDM1NWJlYjBiZDAyYmVhMzg3ZGNiMzk3MmEwNzg2ZGVkNTZhNDc1NmEgcmVsZWFzZTI2LW1haW50Cis3MTk3NCA3MjM3NzMwNDI1ZmIzNzNmZDJiZGVhYzU0NzkxYWNmMGNkM2ExMTU1IHB5M2sKKzcxOTc1IDk1MWE2MmI4NmRlOGI5OWNlNDZkZWZiNjc5MDc3MWE0NWNhMTRhMmIgcmVsZWFzZTMwLW1haW50Cis3MTk3NiBiZmI0N2JjMWQwNTExNDQxOGFkN2FkOGE2MDZhZWFiNzhkZjNhOGYxIGxlZ2FjeS10cnVuaworNzE5NzcgZjdlY2NmNzY5YzFhZTJkZjlmNThmMGVlZTI4ODMyYWM2ODNhOTU2MSByZWxlYXNlMjYtbWFpbnQKKzcxOTc4IDc4NWVhMjk5ZmUyMzZkYjYxMzNmNDk4NzM1Y2MzODI0ODhkMmZiZTQgcHkzaworNzE5NzkgMzE2MmViMDljMmMzZGRhN2RlMmUyNDE2ZjAyOWNmMzJmMWM2M2UxNyBweTNrCis3MTk4MCAwMjFjMzlhMzdlZGY3NjE1ZGFjZjRkYTQwMjI0MWEzZTQyYTg1ZGNmIHJlbGVhc2UzMC1tYWludAorNzE5ODEgNTRlZTZmZDE4MWYyY2E3MzM1NTUyM2E1ZmU2NTQ4ZmFmYWM4YzQ1MSBweTNrCis3MTk4MyA5ZjYwZWRiYTVhZWFiZmZiNzAzNWY5MWUyOGUzYWFiMjQyMWI0OGRiIHB5M2sKKzcxOTg0IGFiZGMxNzY0ZDhlNWExYWQwMWM3ZWM4MzJlN2RhODAzNDUyNWJjMGMgbGVnYWN5LXRydW5rCis3MTk4NSAwNjg4ZThiMjQ2MzI2YTA2ODA2MWUyMTYzNWE2ZDk2ZDJmOTBlZDUzIHJlbGVhc2UyNi1tYWludAorNzE5ODYgMGIxNjc0ZjI3YjcwZmEwNGM4NTEzYzY4MmFlNDc0NzZjZDg2OWIxOCBweTNrCis3MTk4NyA1ZDRmYzE2NmEzZDQ2MTQwNjgzMDBiZWExNGE0NGVlNzAyOWIxOGM3IHB5M2sKKzcxOTg4IDQ1NmU1ODQzMDIwMjA2YzdkN2Y1M2E3Njg3MjI1ODNjYzI3NWZiZGQgcmVsZWFzZTMwLW1haW50Cis3MTk4OSBkZTFkMGY3MWUyMDliNTJiMGQyNjUyNGVhOGYyN2I4NDQxOWY0NThkIHB5M2sKKzcxOTkwIGVjYzNlYjE1NjQ4ODhjODRhNmUyNTE0ODY3ZGFlNDU1ZjY0NTYyNDIgcmVsZWFzZTMwLW1haW50Cis3MTk5MSAzODNlMzJhYjYwN2M0YWMxYmUzNzZmOWNjMzAzNGJiNTM4OGEzZTc5IHB5M2sKKzcxOTkyIGUwZDQ1ZDMyZmI4MjQ0MjY4OGY3Mzg5ZjQ2N2Y0MGJhMzRhZjcyYTAgcHkzaworNzE5OTMgMzVkNzNhOTg4MDM5ZmQxMzM2ZWYwNzk2ZWZkZDhiODc3YWRlZWMxMCByZWxlYXNlMzAtbWFpbnQKKzcxOTk0IGNhZjJiOTFlZjA2YTU5Y2Y4NDRhOWRmMjVmYTRlMTBjZDMzY2U2YjYgcHkzaworNzE5OTUgZDJjZmQzZDNiYzU0OGY0Zjk1YWY3OWVkMzEyOTE2ZjkwY2ZmNzQwMSBsZWdhY3ktdHJ1bmsKKzcxOTk2IGM0MmI3ZGQxNTUwNWNlOTgxNjFjOWVkM2RmY2JkZjA1ZDBhOWE4YzggcHkzaworNzE5OTggZDMxYmU4YzljOGEyOWJmOTFjZTc0M2I2MzIxYTUyNDQ3ZDhlMjZmZCBweTNrCis3MTk5OSAxZmNhMWM5MzI2OTYyNTE3M2VmMzk2MjZmY2IxOGM1MmI1OGNmMGE4IHB5M2sKKzcyMDAwIGZiODk5ODMzNTNhZDNjM2NmOGZkYTFhYzIwNGI0YzllZjlmNzQ0ZGUgcHkzaworNzIwMDEgZDA1OTRlN2E0NWQ2MzY5MzcyZDllNWJiOGE1YmIzYTk0YTdhNzNjMCBweTNrCis3MjAwMiA5OGFhNjMxZGFjMmJjZDAxZGM2ZDIyZmZjZTA3ZTEzNmU3YTdjNzViIHB5M2sKKzcyMDAzIDU1M2NhZjZiYWU0N2UxMGFkYTk0NWY1NDg1NzhkY2MwODIyZmVmMDAgcHkzaworNzIwMDQgOTczZDI0ZjQ0YjA3ZjYwODg2MWZhNjU0NTMzNWRlNDQzYTEwNzcyOCBsZWdhY3ktdHJ1bmsKKzcyMDA1IDI5M2FkYTFkYmZkYWRlMjQ1M2RhYWYyMDYxN2JlNzFmNWEwN2I0NmEgcmVsZWFzZTI2LW1haW50Cis3MjAwNiAxNzU0MGExNjQ3OTc5OTU2NTg2MDVkMGUwNDQwMWJkZGViYmNkNjAyIHB5M2sKKzcyMDA3IGQwNTEzNGE0ZjAyY2U1OTI4OGU5NjYxYjQzOGQ3NjZlZTE4YTI3ZDQgbGVnYWN5LXRydW5rCis3MjAwOCBmNTIxNTlmODczMzJiYmJmMjE4ZjFhNGM3ZmIwMWYwNzQ4OWUzMjk0IGxlZ2FjeS10cnVuaworNzIwMDkgNTc4MTI5NDRjOTYxYjc4OTQ0NWE2ZGVmNTJmMzJhODM5Yjc0YmQ0NSBsZWdhY3ktdHJ1bmsKKzcyMDEwIGNjMGRmZjJiZjFjMmU2ZDUzZmM0NmU2MDE2ZmYyMTM0OWQ4MWE1MDggbGVnYWN5LXRydW5rCis3MjAxMSBiZjdmMzQwNzM0MThiZWRhMzZmN2NmNWIxMjYyN2RhYmEzZWVkODNiIHB5M2sKKzcyMDEyIDExYTU0NTJlMzMwNWU2MDc0YzVkZjJiY2MyZmM3MjgzMGViYWM4ZDEgcHkzaworNzIwMTMgOWI0NTFmYTU4NTAzYTUzNDBiOTdhOTQ4MWI1ZWI4MmI1OWUzMWUzMiBweTNrCis3MjAxNCBkMzdhNGM1ZDZkMmI1MzhiMWYxMzQ2ZDY4MThmNzI0YzY1MmMzYWRhIHB5M2sKKzcyMDE1IDM2MmI0YWUyMTI5YTRmMjJiMGMxOWE3Y2JlYjY4ZTRkNzczMjk3YjkgcHkzaworNzIwMTYgODA2OGFiNTE2MzJkNjEzMWU2MzNkZTViZmM0YjZlN2M0MzJiNjliOSBweTNrCis3MjAxNyA3NDMyMTFiNjBjOTQ2N2YxOGE0NGJkMGM5NWJhMTk1NjdmYWQzNzVhIHB5M2sKKzcyMDE4IGNlN2MzNTNhMWU5NmJkYTA4YzBhOTE0MTNhNmYwYjc4ZjYyZGExMTcgcHkzaworNzIwMTkgN2ZhYThhN2Y4NjNlMWNmZGUxYjkwZTcxMTczZmUyN2QzMWJiZmViNSBweTNrCis3MjAyMCA5ODg4OWVmMTU3OTU4ODRmNDJkNjhiNGIwZmEwYjViNGNhN2JiZjQwIHB5M2sKKzcyMDIxIGU0OGY4NjBhNWNhYzIwYjU4ZTk4MThhNGZjOGE1ZjI4YzFiZDkxNWQgcHkzaworNzIwMjIgNmJiZGExODUxNzMyZTE1NTBjZTYyZDcxYTE3MTAyZmZiMTUxODY0OSBweTNrCis3MjAyMyAyMTgwMDA4ZDAyZWVhMmMzYTc0NWYwZWY0MGFjYmE0OTk2MTgyNmNmIHB5M2sKKzcyMDI0IGVhNGUxOTJkOTQxNDdiNDhhNTE3ZjU0NjMwZWFkODUxYTgwMDczOTYgcHkzaworNzIwMjUgNGFiYzRjYTQ0NjFmZGJlZDAxNDExYTljY2ZlNmNmZWNmNzE4N2U3MiBweTNrCis3MjAyNiBkNTgwMTc1OTk3Y2Q1MDljYTgyMDE4ZDljYTFkZDBmODlmZjEwMzU3IHB5M2sKKzcyMDI3IGY5NDNkODI0YzhjMzVkZDc2MmRjM2EzMDkwYjEyZWM2NzMwZmFhNGIgcHkzaworNzIwMjggZjJkNzEwZTQ3OWUyZWRhNzIxZjMxNjg3NGIzMGZmNjA3M2FkODA4OSBweTNrCis3MjAyOSA3MWEyYWFkNWJhZDY1NWZlNGUxNmJiZjk3MzY1MzY3Yzg4NTMxY2ZmIHB5M2sKKzcyMDMwIDI5MzU0YzQ5NTBlNDk0NjgzYzdhODQ3NzgzNTY3MDBhODJmNDJkODMgcHkzaworNzIwMzEgMDFkMGJkOTUwY2NkMTM0NDUzZGUxZDE4YWNmZjljYTY0ODhmNTUyOCBweTNrCis3MjAzMiA0MWZhMWExMDYzNzNhZGIyNWQzODhkODE5ZTViMThiYzhhOTBhMTY4IHB5M2sKKzcyMDMzIGMyNWU1YTk1NTRmNTMwOTA2NmFhZmViYjVlZjQ4ZmUyN2MzZWIzNjIgcHkzaworNzIwMzQgOTc1MDY2NzJhZmUzZmI1MjQyYzU4ODNhODg0NjYxMDZiYjRkYmE5MiBweTNrCis3MjAzNSAyY2UyNmM0Njc5Y2I5NzU4M2IyM2ZlMzJjMmIyOTJlNmVkODYwY2EzIHB5M2sKKzcyMDM2IGM2YzRjMDYzZDg3NDBlZjI1MjAxZmE5M2E4NTIyZTgyM2NlOTkxNDEgbGVnYWN5LXRydW5rCis3MjAzNyA5ZTA5NzgzY2UyMjg4ZGVmYWQxMDJmZDQyMjIyYWNkM2Y4OGQ1Y2ZiIGxlZ2FjeS10cnVuaworNzIwMzggNWQ3NTIwM2M4NzEzOTJjZWZiNmEzM2ZhMDA1MjI2OTE5Y2ExZmY4MyBsZWdhY3ktdHJ1bmsKKzcyMDM5IGI0ZWJiMzAwZTYxMTljMGZiZmM3MWNjNjY3YjFlZGUzODdmNjU4YjAgcHkzaworNzIwNDAgNGJkZDg0N2I1N2MyN2EyNWEyZWRkNjdkZjRkYTY0YzQyZTRiMGRkYSBsZWdhY3ktdHJ1bmsKKzcyMDQxIDFmOTViYTRkMWVjYjE4NTk4NjIxNWMxOGZiZmZkOGNhYzE4ZDVjZTYgcmVsZWFzZTI2LW1haW50Cis3MjA0MiAxYTQ1MWZmNjU4M2M1NDhmOGIwNjY0NzEzNTJlNDQ1MTY2N2I0NWRlIHB5M2sKKzcyMDQzIDc4ZGZiYWY2M2IxN2M5Mzk4YTE0MjJjMjFjMjk4ZDNhODQyNDVlMGMgcmVsZWFzZTMwLW1haW50Cis3MjA0NCA0YjRiNTlmMjc4YmYzMzhjYjI1MzIyNmRkNGJkODBlMmVkNGIyYjcyIHB5M2sKKzcyMDQ1IGIwY2NmMmFjZmExZTY5MDgwODllZmRiOWNiMDYyMTZiMjk1NDdhNWYgbGVnYWN5LXRydW5rCis3MjA0NiA1NDI3OTE2MzM4OWQ0NWY0N2VjNWI5MjdhYTY5ZWM3ODk2M2M0ZDhhIHB5M2sKKzcyMDQ3IDg0NTM3ZGVmNDU1MDUwMTk2MTFkZjkzZDVhNTk3ZThmZmI0YzY3MWIgcmVsZWFzZTMwLW1haW50Cis3MjA0OCA3YzM5NTc0YWQwMzc1NDE2YTJhYWFhYTQyNjRhZTUwZDg0ZTBhZWYwIHJlbGVhc2UyNi1tYWludAorNzIwNDkgNzhmZDE1ZTA1MjU4NDA3MGNhMmNlMmQyZDFiOWUwOTk0MGY1NzlmMSBweTNrCis3MjA1MCBlNTZmZGJhNjFlOTc1ZjExODQ5MzE2ODBiNzhmMjJjYTlkNzE2Y2ZmIHB5M2sKKzcyMDUxIDM4NTIyZWEyYWRkMGE4NzYyNmUzMTdkOWNjMmNkMzY4NGRhNWJiN2EgcmVsZWFzZTMwLW1haW50Cis3MjA1MiAxYzA2MGQ1YzQ3Y2YwYWVkYWM3YzdlNGYyYWE1MGQ3ZGVhNDU4OGE1IGxlZ2FjeS10cnVuaworNzIwNTMgMmIzOTQ1ZDc1NWE3ZmU2MWI3OGY1ZGUyZTA5M2I2MjllN2VkMDUzYyBsZWdhY3ktdHJ1bmsKKzcyMDU0IDAxOTI0NGY0YjBkMGQwZTVkOTMyZjZlNTQwMWIxMWU0ZGM4MTNjNmQgbGVnYWN5LXRydW5rCis3MjA1NSA0MjNmOGY5YjA3YjE0YTg1NDRjNWZmMzMwOWE2ZDI4OWRjZGEyODRhIHB5M2sKKzcyMDU2IGQ5Yjk0MjJiNDA5Yzg5ODQwMWY5ODBmZGM4ZjM0YmM5MThiMWE4ZjggbGVnYWN5LXRydW5rCis3MjA1NyA5N2NmZjU5M2EyNTdlOWQ1YmE1ODFmNTlkZTRhMTZmZDdiMmZhOTM5IHJlbGVhc2UyNi1tYWludAorNzIwNTggNmYxNTg4ZmI3NTk1ZTFiMjBmZTZkNmY1Yzc4NTZlNTQ4MTBiMzg1MiBweTNrCis3MjA1OSBiMGFlOWZmYzc3NzlmZDc1MDNkYzRmYmQ0MjExNWU4YzMwNjkzZjVlIHJlbGVhc2UzMC1tYWludAorNzIwNjAgMzI0NjBiMDRlN2I2ZTBkNTA3NzI5MmE3NjVjZWE1Yjg5NTEzYWQxZCBsZWdhY3ktdHJ1bmsKKzcyMDYyIDdiMjA2ZTJjMDA5MmM0YjJiYjgxZmYzOTg0MTNkNDQ4OTA5YjhmZDMgcHkzaworNzIwNjMgNGFmMmJkYzliMWI3MzU1Nzk1ZjY5NzcyZGE0Y2I4MzBjZmJkZTIyYyByZWxlYXNlMjYtbWFpbnQKKzcyMDY0IGNhYmNlZjdlNmYyNTZjZDE4MjU4YTUxYjU1MDZmMjQ5OWE4NjE5NjggcmVsZWFzZTMwLW1haW50Cis3MjA2NSAxZWM0YmYzZGRkYTZmNWVkMjkzYTliOWJkZGQ5M2Y1NzY5Y2Y0ZWVkIHJlbGVhc2UyNi1tYWludAorNzIwNjYgZGNiYzIyMDNiZGYzNjI3NmIyYzhkMDcxNjk1MjlkZWVmZDcwNzgyMyByZWxlYXNlMjYtbWFpbnQKKzcyMDY3IGQ2NWRiMTY5ZTNhZDcxNTE2ZTA0YThlZWM3YmJmZTNjZTZiYjdmMmYgcmVsZWFzZTI2LW1haW50Cis3MjA2OCAzZjE1YTA2ZDAwNDczYWM5NDYzMmEzOGYxMjQ0ZWI0YmY5ZmI0ZGZkIHJlbGVhc2UyNi1tYWludAorNzIwNjkgYmYwNTIyMmMwNzQwMGUyMWI2MmRlOTEwZWM2YWE4YWRlYjZjZmRlOCByZWxlYXNlMjYtbWFpbnQKKzcyMDcwIGY3YTM5ZTYxOWUwYTFmNjJmODU1MGM1MzA0NDZmMjZiYjU1NjUwMjIgcmVsZWFzZTI2LW1haW50Cis3MjA3MSAwMmQ2ZjNhNjk3N2Y3OGI1ODg1ZTFlMmQ0NDk4MTEwMWMwNzVmZmNkIHJlbGVhc2UyNi1tYWludAorNzIwNzIgZjI0NjcxNTI4OTgwZTdjMzQzMjcwOGUxNTI4MWMyM2I5M2JkZmM3ZSByZWxlYXNlMjYtbWFpbnQKKzcyMDczIDcxNGY5NWVhNmI4ZjZjOGM3OGVlNGI4OTdiZDkwZTIwZTBiNjNmN2IgcmVsZWFzZTI2LW1haW50Cis3MjA3NCAzNmViNTM3YWJiMTc5MzYyZjRhZmUzYjRlMTY4Y2VhYjcwYzU3NzgzIHJlbGVhc2UyNi1tYWludAorNzIwNzUgNTAzZjBmNDFmMzVmOTFhZjQyNTRhMGE0YTg4OThiZGVhMGViZGJmYyByZWxlYXNlMjYtbWFpbnQKKzcyMDc2IGIyOGRkZWJiZDgzNTU3NTk4OWNlNDUzNTMyMWY0MTFiMjAyYzRiYTEgcmVsZWFzZTI2LW1haW50Cis3MjA3NyA2ZjEwZDUyNWUzYjg0YjUzMDJhNDdiNWFhYjc0MDY5NjczYzdiY2I4IHJlbGVhc2UyNi1tYWludAorNzIwNzggMzE2NmRlZDZiYzRhMjZjMmQxOWEwODk0Njg5MTExYzI3NTNhODgzNiByZWxlYXNlMjYtbWFpbnQKKzcyMDc5IDlkYzM0ZWYyMjczNTM4MjdhNDM3YWIxNDRhOWNhZTk5N2FhZTkyZDUgbGVnYWN5LXRydW5rCis3MjA4MCA5MDAwZjk2NmNjYmJiZjAzNTg1ZmJkNGU0MzJiYzljZGIwMDAzMjZiIHJlbGVhc2UyNi1tYWludAorNzIwODEgZTI4NDNiNjQxNzVlY2Q2OTRmMGRlNzhmMWUxOGQyNDNlMWNhZWY4NSBsZWdhY3ktdHJ1bmsKKzcyMDgyIGM4Zjk0MDA3YjFjNDZlMGUxOWUzZTAzYTIzNzVjY2RhMTU2ZmUzNGYgcHkzaworNzIwODMgMjMyZDIyNTBkNzAzNTVkZmQzMDMxZGU1MDhkMThjODdmYjcxOTAyYiByZWxlYXNlMjYtbWFpbnQKKzcyMDg0IDAyNWJhMTJjN2RhNTQxODgwOGYwNGY3ZmY3ZDRjYjc0MzBiMGMzMWQgcmVsZWFzZTMwLW1haW50Cis3MjA4NSA3NDU5MDIzZmY4NjFhZTVmYWNmYTU2MjFjNjkwZDVkNDBhMTgwMWYwIGxlZ2FjeS10cnVuaworNzIwODYgN2ZkYTVhZjJhZjdkMTBjNjZkZDY2NGQ4NjlhNmJhMzJhZjMyZjJkNiBweTNrCis3MjA4NyBhMzhkNmNkOWFhNjM2OWNmZmUzMmYwZjMyYzI2NzdhMWQ1YWE2MTUxIHB5M2sKKzcyMDg5IDE0NjlmYjFhZWE5MjRkZGNmYzhmNmQ3MjliMDQzYTNjY2ZmZjZiYzkgcHkzaworNzIwOTEgM2I0Y2VhNDNmOWU2Mzk5MmMyMWRkOTFmZjhhOTIwMDFiMzYyYTc2YSByZWxlYXNlMzAtbWFpbnQKKzcyMDkzIDgxN2Q4YjI4Y2Q2YjNlMjYzMzY2ZDZmNTJjYzZhYjQ0YTYxOTMyNjMgcmVsZWFzZTI2LW1haW50Cis3MjA5NCA5YzJhYzFlZjNhNmZlNGQ3ZjM3YTMyNTE2YzZmZjJlODBhOWZhMTc1IGxlZ2FjeS10cnVuaworNzIwOTUgYjQwODk0MmZiNDM1Mzk4ZTlhMjFiMjY4MmQxMzM0NzQwYTkwZGQ1MCByZWxlYXNlMjYtbWFpbnQKKzcyMDk2IDY5YmVhMjZlYzg3Yjk5MzdlNTY1ODdmNDUxNmRhYTVkNTExODEwYjEgcHkzaworNzIwOTcgY2VhNjQxZmY0NTM0YzM5MGRiYTQzMjkwMmJjYTNiNGM0NmZjMmQ2ZSByZWxlYXNlMzAtbWFpbnQKKzcyMDk4IDNkZmJhYzc5OWNmNTFjOTFiYTA5ZDYyYTBiODczNzRlNDgxMjFiN2IgcHkzaworNzIwOTkgMDIwNjg4NzdjMTkwYjNkNzc5YWFjNmYzYjRkMDUyMGQ2NjQ1M2UyNSByZWxlYXNlMzAtbWFpbnQKKzcyMTAwIDRlZjdmOTNkNjFhMWE4ZDcwNWY2ZTg4YmI1ZWU1ZGMzY2RhMDcxOTUgbGVnYWN5LXRydW5rCis3MjEwMSA4NjE3ZTgxMDE2YjZiMGMxYzg5ZGM5NDNjYmM3ZjA0NjczODg3NmIxIGxlZ2FjeS10cnVuaworNzIxMDIgNWY4MWM0NWJkZjZkMTAxODA4MDZhNDNiNjFjOTUzODQ2NjU4ZjI1NCBweTNrCis3MjEwMyBiYTYzOGQzYTQ5ZDE1ZjVkZjY5OGE1ZGNmZTRhODExMWFiMTY3MzM2IHJlbGVhc2UyNi1tYWludAorNzIxMDQgZTk1Yzg3OGFjNzlhZTdkNzk5OTYzNTdkNDdlMTdhMDRmZWE4NWNjYSBweTNrCis3MjEwNSA3MzcwMmFiZTFjYjk3MTg0ODNiNTAzM2M0YTM3ZmY1YWYxZDg3ZjE2IHJlbGVhc2UzMC1tYWludAorNzIxMDYgYjg2MzNjNzg5M2ZlZjQwMmVkNDY2OWJlMzU3YzQ4NDMyYjAxM2Q4NSByZWxlYXNlMzAtbWFpbnQKKzcyMTA3IDJlZjJjYjU3NzNmZTJlNGVhZWFkY2RiNDE4YmVkZDg2NTY5OWU1MjAgbGVnYWN5LXRydW5rCis3MjEwOSAzNzU5ODM5YjlmYTU0OGJjZTBkNDAwYmNlYTJlZjkxZmFiODEwMGRlIHB5M2sKKzcyMTEwIDIxODAzMDc1YjQxMTE1NzgwNmQ3NTdmZjQ5ZWQ5MzhjMGQxYjgzMjQgcmVsZWFzZTMwLW1haW50Cis3MjExMSBhZTdmODJiYmYxNmM4ZTZkZjNhZDMwMzJmODA0N2ViZDE4ZGJhNTA2IGxlZ2FjeS10cnVuaworNzIxMTQgYTM4MTRkYzk5YjgwZDFjMjNkOWNkZWM4Y2Q1ZjA5N2M2MWYzODQ4OSBsZWdhY3ktdHJ1bmsKKzcyMTE1IDNkNmJjNDI2NDZiNTFlMGMyZjNiZDMyMjAwOGYwNjgwNTVjYzI0ZTcgbGVnYWN5LXRydW5rCis3MjExNiBjODU1ZGY3YzZiYjU5MTA1MGJjOGEwMjMxODNlNTc1YTUzNWFkNDU5IHJlbGVhc2UyNi1tYWludAorNzIxMTcgY2NmNzg1M2IwNzkzMjQ0YmZmYzU0MmY4ZDRlYTI3NjZjMzUzMmNjMyBsZWdhY3ktdHJ1bmsKKzcyMTE4IDY0N2EwNDBkZjRkMTFjZDQ3MTk5OTkwZDNhMmIyYzJhMzFjZjZkNmYgcHkzaworNzIxMTkgYTNmY2NjZWU4OTU3YTBlNmExYTRkNTdiYmFiMzc3NGM1MzkxMzI3ZCBsZWdhY3ktdHJ1bmsKKzcyMTIwIDQyZWY3NmY1NDRmYmYyMWI2ZTYzNDAzMDU5ZTYzMjAwNTQzZjNkZjkgcmVsZWFzZTI2LW1haW50Cis3MjEyMSBmZTA2MjE4NzYyNGNiZTczYzMxNzdkNmQwMzFkNjgyN2UwMGZlMjk4IHB5M2sKKzcyMTIyIDc2MTdmYTcxNjRkZTZkYzcxNDBhYjllOWFkOGIwYzE4NmMxNjMxYjAgcmVsZWFzZTMwLW1haW50Cis3MjEyMyBjY2ViYmFkNWY4ZGZmZTlmZDhkYmYxYzY5NTllMjI4YWM2YWZjYzMxIHB5M2sKKzcyMTI0IDkzZmU2MTFjYmQzYWExMmYxZmRmZTBlMjEzYzUyNTMyODJjZjUwNDEgcmVsZWFzZTMwLW1haW50Cis3MjEyNSBiMzljYjI5MjE5NDU3M2QxYmI0MGEzOGYxY2ZmNjcyZjFkNGY4MTU2IHB5M2sKKzcyMTI2IDQ3NjIzOTRmYzI2YzUyYzE5YjkzMDBmODA0ODhkMjM2YjE1ZWZlYWEgbGVnYWN5LXRydW5rCis3MjEyNyA1ZDk3NzFkN2NjNDZjN2YyOGI0NjBjMTZjZWQwMWVjNDgyZGJkN2IxIGxlZ2FjeS10cnVuaworNzIxMjggOGE4NTlhYzdlNWI4MWUxOWJlY2NhZTA2ZGQ0ZmM5NWYzNDU1OWQyMiByZWxlYXNlMjYtbWFpbnQKKzcyMTI5IGUyNzQ0OWRlNjFkYjY0OGM1NDc3MGE2Yzg4MGMwMzI2NGFjMGFjNzIgcHkzaworNzIxMzAgZTg5NDQzM2M2NDY0MGYxOTc4N2MwNmRjYTVhN2E5NjE2NDAxZDIyZCBweTNrCis3MjEzMSAyN2M2YjYzZDFkYjM1NWY2ODc3MTc1ZDNkYzE3NmM5MGE3ZGY0MDFmIGxlZ2FjeS10cnVuaworNzIxMzIgNDExMzc0YzVhYTQyMjc4ZDMwZjE2YTA3MjExYmFkYWViNWY1ZjIyNSBsZWdhY3ktdHJ1bmsKKzcyMTMzIDk0Y2RmZDA3ZDRmNDhkNzI4NTI0OGM3YzAzYmUwZTQ4ZDVmNGJhNzMgbGVnYWN5LXRydW5rCis3MjEzNCA3OWRjOGQ1ODhlYjMwNjZjMjk4YmY0NzllOTA3YTg1N2FhZWM1OTY2IGxlZ2FjeS10cnVuaworNzIxMzUgZDY4MmM5MzQ2ODQ4MDg4MzI4MjU4NDI0NjM2NDRjMmM5MmI2ZjBhMiBsZWdhY3ktdHJ1bmsKKzcyMTM2IDBmMmIzMzU2NjhlZWJjOGZkYTlhM2IxMjA4NjBiYTAzMTU4ZTg4MzIgcHkzaworNzIxMzcgMzRlN2MxYjE0NDk1MDFhMTgzZTFkOGIxYTE4ZGRlODViYjk4Zjg1OSBsZWdhY3ktdHJ1bmsKKzcyMTM4IGExZWZhZjAxNTEwMDE3NDcwYmZjZGFlYTgxNDFjYzE0Y2VmNThmYmEgcmVsZWFzZTI2LW1haW50Cis3MjEzOSA0MGQzNDMxZGIyNDA4NTVjNDNmYjVhYmRhOGUxZjI4Nzc2YjExYmI0IHB5M2sKKzcyMTQwIDJjZGUwZDAwM2ZmYzAzZTgwMTBhMWE2ZGExZmVmZDcxNDBjZmQ4ZGUgcHkzaworNzIxNDEgZDY2ODhlZDA0MGNmMzZiNGNjMjE2ZjY0YzM1ODE3NzVhY2JjNjg4YSByZWxlYXNlMzAtbWFpbnQKKzcyMTQ0IGM0YTFjNDg4NDA1NmQ0OWI4ZDgxZWFhZWE4NWRlZjc5ODRkM2FlMmYgcHkzaworNzIxNDkgYWJjODBmOGIwZGZkYzFmZmRkNWM4ZDFmZjAwZDI3NGZkMzc1YWI0MSBsZWdhY3ktdHJ1bmsKKzcyMTUzIGVkOGMxMzk1ZDAzMzBjZGY3NDZhMmI1ZWVmMjYxYzQ3YTViN2MwZjQgcGVwLTAzODMKKzcyMTU1IDI5NjU2YTAzY2NlMmZhNGMxMDRkODA4MjlmMWRjYmRhODRmMDI5NDQgbGVnYWN5LXRydW5rCis3MjE1NiBiYzYwZGUyMzIyMDMxY2VkNWI0Nzg5OTFmN2IyYTA1NzMzZTI3M2UzIHB5M2sKKzcyMTU3IDRiODZlNTNmOTAwNmY2MTcyYTliOWNkMjZkMjQ0NmM3OTM0ODFjZjYgcGVwLTAzODMKKzcyMTU4IGJkYWI3Y2NkYzdiNDg2NDExY2Q0ODQ2OGIyZmVhZWI5YTE5ZjEzODggcGVwLTAzODMKKzcyMTU5IGU3YTllMmZkNzEzZjAyNDE3MGE4NDUxNmQzNmE5NTUyNWNkZDZkNjQgbGVnYWN5LXRydW5rCis3MjE2MCAwOTM1ZTI0YzgxYzA4ZDVkZGI3NjI3MzQwMzMzMmQ5MDYxYjNkMjYwIHB5M2sKKzcyMTYxIGUwOGU4MGU3NjhjMTFmMDk0ZjFiNDA3MDczOTUzNDIxYmY2YTE4NzMgcHkzaworNzIxNjIgYTgwYjNiYjRkMWIwZGIyNjU2ODc2YjFlM2YwMzRjZTExMDM0MjFmMyByZWxlYXNlMzAtbWFpbnQKKzcyMTY0IDU0YzdiYTNkZGZjNjU2ZWYxZGQzOWJlZmE0NzNiYjM0NzgxNjFkZTYgcGVwLTAzODMKKzcyMTY1IDYwZDBmMzczYTg5NDZhMjBhMGQwMjhiODA0ZGJjZTRkNWQyNWJmZjkgcHkzaworNzIxNjYgYWViOTE0MTkzYjQ1YTYwYTFkN2RkNGYxYWEzMTdkMTgyODk0MmU1OSByZWxlYXNlMzAtbWFpbnQKKzcyMTY3IDg1NTQyNzE1YTI0OTBiZDYxYjRlNWQ2MDMxOGM0ZjYxNDQ1ZTQ2YzcgbGVnYWN5LXRydW5rCis3MjE2OCA2MzQ4MGI5MmE1ZTEyNWY4ZDliZjAzMTY3ZDkzYTVhMjg4YzEwNmIyIHJlbGVhc2UyNi1tYWludAorNzIxNzAgOTZjMDRlNmE2ZDg4MmQzNmM1MjA3NTRhMTdhZmQxYmRmODliNGMxNiBwZXAtMDM4MworNzIxNzEgY2M2OWQzZGZmODdhMjIyYWE3NWVhNDQ5ZjRjZGMyZTRiZWQ1Mzg2YSBwZXAtMDM4MworNzIxNzIgNWM1NWI5YzgwODQ2YTRkMWZhMzE0NmVlZDI2ZTkxMmIyNGQyYWQ1MSBweTNrCis3MjE3MyA5NjNmMGY1MTk3MDk1NWVjNzQ0MjMwMWY5YTBjOTljMDc5OTg5MjY3IGxlZ2FjeS10cnVuaworNzIxNzQgOTg2NTFlNGY2NWZlNTlhYTA3NTljZDU5YTA4MDZiNTQ3OTY2OTY1YiByZWxlYXNlMzAtbWFpbnQKKzcyMTc1IGJjMDRjZWJjYTdlNmI0Mjk4M2NlN2Y4ZDAxZTg4NzZkOTJhY2IxMWIgcHkzaworNzIxNzYgODlkNWVmODJjMDA2NzcwY2YzYmY2OGFmMjRjZGQ0NTJmZWYxNzhhYiBweTNrCis3MjE3NyAwMWFlZDQ4MTk2YjAyOGViOTFhOGQ3ODc4ODA1MGU4Y2FhYmEyN2RmIHB5M2sKKzcyMTc4IDQwOTQ0OGQ0NTVlM2U0MjYwZWFmYzljNzExMWM2Y2U1YzFlZTg0NjYgbGVnYWN5LXRydW5rCis3MjE3OSA5NjBlZjAwZDUyMTQxNzc5ZDgyNDlkZmFkYmIzNjdlMmY5OGFjYTlkIHB5M2sKKzcyMTgwIGIxOGJkMWE0OTRjNzFmMDU1OTYyNTQ0MWQ2OWIwNDYzOWU4MjFiYTUgbGVnYWN5LXRydW5rCis3MjE4MSAyMjgwMzY1ZWFhNzJjMTA3NDZkNzQzYmY3MWQwYjg0NjRlMTU2ZTg1IHB5M2sKKzcyMTgyIDk1MDYxZGEwNmNiODQ1Yjc5MDNmNGJiNTk0YzZhZGQ4ZjAwNWZiNDMgcmVsZWFzZTI2LW1haW50Cis3MjE4MyA4OTYzY2Q4NThhZDYxMDZhNjNjNTMwN2ZlZTAzOWVhNDNiMTNkOWQ5IGxlZ2FjeS10cnVuaworNzIxODQgOGZiMTljYTYyZTcwZGZjNWY5Njc5ZWVjN2I3NTNlZDY5MTc5MTlhYiBsZWdhY3ktdHJ1bmsKKzcyMTg1IDEzNTVkYWMyMzhmZWNhZWI4MjczMWMxNmYyNzFhMmEwMzEzMDM2OGUgcHkzaworNzIxODYgMGQ4MTdlOGVkM2ViZjlkZjdhYmFmZmEwOTJhYmFiNTU0MjE0YmY4NyBweTNrCis3MjE4NyA0MmQyOGU1ZGM3Y2IxNGM5NDUwYzJmNjJhMWRiNmI1ZjQxMTA3NzVjIHB5M2sKKzcyMTg4IGViODExNWFiZmY1ZTU1MjE1NGZkZjBmYTEwNjYxYjg1MzUwNTFmY2UgcGVwLTAzODMKKzcyMTg5IDIzYmM0YjM5MWMxMDIyOWI2OTQxOGExNDBjNmY0M2YxODk0MTU2ZjYgbGVnYWN5LXRydW5rCis3MjE5MCAwYzhiZmRkYmZjYTI2NjY3NWYzYmUxY2Q0MzdjMDFjMmJiZWFkZjE5IHJlbGVhc2UyNi1tYWludAorNzIxOTEgOWQ4NDBhNThhMGQ1ZDFiNmFiYzhmZTJjNWE2MjBiODdiM2MzMWZjNiBsZWdhY3ktdHJ1bmsKKzcyMTkyIDUxMWEzN2VmMWE0MTBmZjRkMjVmNzQ4MTk0ZGRiM2JjNjIzZWJlMGQgcHkzaworNzIxOTMgMDUxMDE5ZjBkZDlmZTM5YTVhZDhjMzQxZjhmMTMzNDhhZDE4MTA0NSByZWxlYXNlMzAtbWFpbnQKKzcyMTk0IGY2ODZhY2VkMDJhM2U0ZDQzYzM0OGM2M2FkNmQyNzgzMmNiYzVkZjcgcHkzaworNzIxOTUgZTE5Y2MzZWJiNThhMGJlNjI0NGE0MzdhZDQwODRjY2RmYzI0NjFkNiBweTNrCis3MjE5NiAyMDZjY2Y5YWEwMjVmMDE2NDVmYzFiZjkxZDdhY2I3MmVjNzc3MGM4IHB5M2sKKzcyMTk3IGU2MmJjNTdhNjJlYWJhMGFhYmU4NjQyYzczYThlZmJkMDJkNTk1ZDYgbGVnYWN5LXRydW5rCis3MjE5OCAwMmI2MTUzODlkM2VmNTA2YWNkNTAzOWUwYjc3Mjg2YWVhYjA3OTU3IGxlZ2FjeS10cnVuaworNzIxOTkgZDdiNTFlYmY2ZGU0MjQzNjlmZjVkNTYzNmExNWI0OWNlOTE2NjBhYSBsZWdhY3ktdHJ1bmsKKzcyMjAwIDFiNzFhNTcwZjU0ZWFjZmQ4NjAyYjQxNjk0MWRiNDlkMDE2NzYyNjIgbGVnYWN5LXRydW5rCis3MjIwMSAxYTg0OWVlNWYwOGNjODY0MTY4MjFiOGNiYTE3MjkzMGFlNTg0Yjg4IHB5M2sKKzcyMjAyIDVhYWYyNGVjNDNkYzEwYWZhNGFlNzU2YzU2OTkwNmEwNTdjNWQyMWUgbGVnYWN5LXRydW5rCis3MjIwMyA5MDNlODBmM2U4MTE4ZWYyN2M4MWFjYjRlODk1NmIwNjE0NDg0YTg5IHB5M2sKKzcyMjA0IDExYjFmYzk5MjFiZDBlMDNkMTE0N2Y2ZWU4YmRjNzBiM2UyODQ2MGUgcHkzaworNzIyMDUgZjI3N2E4NDA3MWYxNGVlMjg1N2I0ZmExYTQxZjhmNGUxYWMxMjE5OCByZWxlYXNlMjYtbWFpbnQKKzcyMjA2IDIxYmRhNjExZjBlNDAwZDc1MGU1OWZkODZmNmQzMmEwYmIzNDg4N2EgcmVsZWFzZTMwLW1haW50Cis3MjIwNyBlYzNmYzY0NjMxZDk5ZWVmYTFlZjAxOTRkZWYxOGU4NTQ2OTRjNzQ2IHB5M2sKKzcyMjA4IDUyYTc3ZWYwNjljZGJhM2ExMmZlNzc2M2UzNzk0MDdlMzhlOWRiMzMgcHkzaworNzIyMDkgNjYyMDBhNzZkZTI2NjJiNDcxNTY1YzgzNWY5Njk2MWNlZTM4N2MzMCByZWxlYXNlMzAtbWFpbnQKKzcyMjEwIDliNTVlOWI5OWE0MzZiZGEzNTdkY2M5MjJmOTg1YjRkNDZjNWFjNmYgbGVnYWN5LXRydW5rCis3MjIxMSA1ZmU5MDRmZmM2YjgyM2M0ZjliMjE2YjhhOGYwNzUzN2UzMTE1OTUwIHB5M2sKKzcyMjEyIGJlM2MwN2FkZGU5NWRhNDM1ZWZiZDZiNDEyN2I0OGI0OTkzNjVhNDUgcHkzaworNzIyMTMgZTBjZWRlN2Y1MjFiNDM5ZmU5ODEwODViNmJjMjA4MjAzYzg4MTc4YyBsZWdhY3ktdHJ1bmsKKzcyMjE0IGE4OTMxOTQxNTVhMjI1MjNmYjc0Yzg2OTg0YjI2NWY2YWVjMTZhZDEgcGVwLTAzODMKKzcyMjE1IDRmNjVlZTFmNDg0OGY2OWJmNGU3YzkyNjQ2NGMzZDMxMzEzNDkzODggcGVwLTAzODMKKzcyMjE2IDU4NzA1MDgyZTdjODVjYjc1ZjY0ZDZhZWMxZWE5MmY5OGRkZDQxMGUgcGVwLTAzODMKKzcyMjE3IDUyYTg5ZDcyM2I2YmMxMmQ4MzczZmYxN2YyNWNlNTI5YjFlNjM1MWYgcHkzaworNzIyMTggMGVjYzViOTA2NDc3OTUyMzVkNmRmOWU3NGYzOGE5MDNjZDEzZTIxNSBweTNrCis3MjIxOSA3YmNlMDUyZjBlN2I3MWU0ZWY2M2MyYmQ0OGFkZTc2NjMzMWU3ZjY0IGxlZ2FjeS10cnVuaworNzIyMjAgYzVmMTRkYmVhNDNmYmNjY2ZhYjdjZGI3OTE5OTRkMTIwNDIyMDUxMSBweTNrCis3MjIyMSBiMDZmMTFmM2I2NWIwZDg4NTllZGU4Y2VjYTA0ZmYyNmRjZWZhMDEyIGxlZ2FjeS10cnVuaworNzIyMjIgYmE0NWUxMjY1NzRkYTFkNmJmNjFkNGJlNzEwOWM5YWY0MzkzN2I4YyBweTNrCis3MjIyMyBlNTQxNDFkNjNlMDE4NzRiYTJiODkwMDI1ZDgyMGRhYmUwYjdmMjcxIGxlZ2FjeS10cnVuaworNzIyMjQgNjRkOWE5ZTdmNjhlY2Q0MjBhMjk0YTkyZjlmZmUyNTFhNmRhMTRmZiBweTNrCis3MjIyNSAzMDNiN2VlOGU3ZmVmMmJhZjNlYWMxYmZjNGM4MmIyNDc0NTQxMWVlIGxlZ2FjeS10cnVuaworNzIyMjYgMDAxYWM1OWMxZTY3MmNlM2RhNjRiYzFjODRlM2NhZDM0YmJlMmZjYSBsZWdhY3ktdHJ1bmsKKzcyMjI3IDlmZWYxZjE2NTdjOGE3NTUxNGMzZDI4Y2QzNjFhZjQwNWVkNDFmODYgbGVnYWN5LXRydW5rCis3MjIyOCAzNThhYjFmZmFhODA4NGVhNzczYjFhYTkxYzNhOGQ3Mzg5MGU3ODY5IHB5M2sKKzcyMjI5IGFlZTJiMTBkYmFiOTM4ZWMyYWE1NGQxODA3MWJkYzZhZDA4ZGJlNDYgcHkzaworNzIyMzAgN2ZmZDk2MjVjOTFjZmQ3OTg0MzY1MWQ1YTJiMDk5MzQwZWVhZjM3NSBwZXAtMDM4MworNzIyMzEgMDAwNjNhZGYwNTU4NDU2NThiN2RiMjAxZTQ2YmFlMzIyOWMyYzllMiBwZXAtMDM4MworNzIyMzIgMDcwOWM2ZDM2OWRlNjcwN2NjNjlhODdiNTNkZDM5OWFhYzRmMzk1MSBwZXAtMDM4MworNzIyMzUgNzY0ZWFlNTIwODgwOGY1ZjA0YTMyNmFlMGIwNzYxMDIwYjNiZmVmNCBwZXAtMDM4MworNzIyMzYgOWIxMDdhNzk3ZGY4OWUwODYzZDdkM2Y3N2RkMTlkNjBmNmRlNjUwMyBwZXAtMDM4MworNzIyMzcgZDZiM2I3NGJkYTBlNWFlY2JmM2Y2NDU4ZTQ5NThjMjNhMzJmM2YwOCBsZWdhY3ktdHJ1bmsKKzcyMjM4IDUyNmIwZGMwOTEzODIxY2Q3MDc4MTRkMGU3NjRjOWZlNmYzMGEwMzkgcHkzaworNzIyMzkgZjc4MDE2OTk4MTVjMTI0M2ZmOTllYTgxN2Q2M2VhNDI2ZDVjMDZhYyBweTNrCis3MjI0MCA2ODc3YTFmNGEwOTI3ZmVjNjVlMWJhM2VkOGU2MzE1ODY1Yjg2YjYyIHBlcC0wMzgzCis3MjI0MSBhZTI0ZGU0OGFkYzQxZDExOTZlOGJhMWI0YjI0MmYzMWUyZWFmMjE2IGxlZ2FjeS10cnVuaworNzIyNDIgYmQ2ZDI1N2E5MTMwZjc4NmNjNWM2ZjJmNzJiNWEyNzI4NTJkOTdhNSBweTNrCis3MjI0MyA4N2ZjMTE2MmQ5ZjRiNjk0MDljOWIyYzk1MTQ3NjgzYTM4NmY5YzNhIHBlcC0wMzgzCis3MjI0NCBhYmY1NzRlOWYxZDNkNTlkNzk3NWUxZWY1ZjVmNGI5NDZhZjM0MDAzIHBlcC0wMzgzCis3MjI0NSAzOTQ0NjJlYWI2NWRiMDUyNzRhNmY2NjQ0NWFjODE4Mjg2YWY5YTk5IHJlbGVhc2UzMC1tYWludAorNzIyNDYgYTY3NzgzZDgxMmY2ZTZjZDM3NzRmYjE0YmMxYjFmNmU3MGU0NDdjNiBsZWdhY3ktdHJ1bmsKKzcyMjQ3IDMzMjcwYWQ2YWRlZjgyZjYwNTNiYzNiYzhlODk5ZjU5NWY2NzVmZGEgcGVwLTAzODMKKzcyMjQ4IDEzYTgyYTcxMGYxOWI0Mzk4MDBhOGM5ZTQ5OWY5NDFhN2ZkZjU4YmMgcHkzaworNzIyNDkgZjcwZTkxZjVmYzljZmYyNDhiNmMyZTE2YWJmOWI5NGU0NGY3ZmMxOCByZWxlYXNlMzAtbWFpbnQKKzcyMjUwIDYzZGRjZTlmYWY0YTk4N2ViNGE4Zjg5MjgxZTJkMGU3Zjk1YjcxYzcgbGVnYWN5LXRydW5rCis3MjI1MSA0YTc2ZDZkMjk3Y2ViZTVlM2IwOWExMjlhNWEzOTg3OWYwODRkNzIyIHJlbGVhc2UyNi1tYWludAorNzIyNTIgZmI1MjFmOTk2ZGUxM2JkYTc1MWRkOGE5ZTcxMmM3NmI1YzI2NDE0MiBweTNrCis3MjI1MyAxZjAwYmMxZDExNWEwYmY0MGZhMDJkOWI1MDYwODgzMDA3MzExYTY1IGxlZ2FjeS10cnVuaworNzIyNTQgNWIyOGRlYmExY2Q2YjdhMDEzYjY1ZWFhYThhM2I5ZWQ3M2M3NWU0MSByZWxlYXNlMjYtbWFpbnQKKzcyMjU1IGUyYjU1M2Q3MjA1ZjM5YmViMTA1ZGRmZDg3ZjBkMmQzZjg0YjNjMTQgcHkzaworNzIyNTYgYThiNWE1YjlhNDlhYWQyMTgzOTFiYTJhYzM4YmFhYzFmYTMxNDgwZSByZWxlYXNlMzAtbWFpbnQKKzcyMjU3IDRmODY3ZjE0OTRkNTVlOWMxZjAwOTE4MDM1MDc0ZDdhNTY3YjRjMmEgbGVnYWN5LXRydW5rCis3MjI1OCBjNmY5OWQ0YzgxMjJlMTJjYjRjYjdjODZlNjZlZWY4OTVkNGZiYTY0IHJlbGVhc2UyNi1tYWludAorNzIyNTkgMGI3ZWVmZTdiNmQxN2Q4ZjRjYTJhODFlMWYyZjA5OGRhYWNjN2Q1MSBweTNrCis3MjI2MCAxYzI3ZWNiZWQ4YzQxYTcxMjllYjRhM2E4ODI5NTczOTQ4NTg2ZjdjIGxlZ2FjeS10cnVuaworNzIyNjEgY2U5NDcyMDBiNzY4OGE5Mzg0ZDNmZTljNDcxNTRhMGU3YzI0MDRiOCByZWxlYXNlMzAtbWFpbnQKKzcyMjYyIDE4YTVhZTk2YWU1YzlhM2ZkZTFkZmJmNjgwYjNiNTE5MzMxODIxNzkgcmVsZWFzZTI2LW1haW50Cis3MjI2MyBlNGFmOTcxYjkxODQ1NjA5ODEyZjkxMTYzZjhkNDBiZjA3YTJhYjQ5IGxlZ2FjeS10cnVuaworNzIyNjQgNWFkZTBkZTc0YjVhOTEzYTBhNzE4ZDRiMWIyYjQ1MjZiYjlhZTc1OCByZWxlYXNlMjYtbWFpbnQKKzcyMjY1IGQ3YmJkZTkzNmQ2MjkwNWFkYTcyOTU2YTlkOTZlNzAwYWM0ZjViZjUgcHkzaworNzIyNjYgODM0NmQzYzdjNGUyM2I4OWU4Y2E3ODMyMGI1YzRhYzFiZWFhOGIxYiByZWxlYXNlMzAtbWFpbnQKKzcyMjY3IGU0ZmY0MjczNDkzYmQwNDhiZTBkYzlmNzliODk2MzgzYjhkOGE4NTYgbGVnYWN5LXRydW5rCis3MjI2OCA0Y2Q0MzdkZmFjZTg5ODMyYmU4YTIxMmJlODY1M2NkMTAwZTJjZTViIHB5M2sKKzcyMjY5IDY2Zjc1MDA4YzNhODcyNTAyOTM2ODJkOGViMjJmOWQxZTllOTJlNTUgbGVnYWN5LXRydW5rCis3MjI3MCBkOGQ2N2FhNzU1MjUyMDFkOGM4OWFjOTYwMGZiYTViODQzNTNmNjI4IHB5M2sKKzcyMjcxIGU2ODY4NWNmMzY1MWQ5OTg3NjZjYzQxYTFmZjA2ZWJmNTdhMjE2ZmEgcGVwLTAzODMKKzcyMjcyIGRiMjgzOTBjYTYxNzI2MDY1MWY5NmQ4MzQyYTI3YjBkMDM5YzMyZWIgcGVwLTAzODMKKzcyMjczIGQ2Y2JhZWE5NzU2OThlYmY3OTU4NGU2ZDZhOGI1OWUwYWI1ODE2YWQgbGVnYWN5LXRydW5rCis3MjI3NCAyY2Q5YWVlNmY2MjQ2MDMyODg1ZjU1NDYxMjM3NGI2OWYwMjI2NjhmIHB5M2sKKzcyMjc1IGJjMWQxOTY4MzZhNGZiYThiYzExNmVkZTNlMTBhOTEyNzQ4NjZiZjcgcmVsZWFzZTI2LW1haW50Cis3MjI3NiAzY2I1YjdkNTYzMDk4MWNmMjQ2NzkxYjMxZmQwNWY0ZTY4ZmIwMzA5IHJlbGVhc2UzMC1tYWludAorNzIyNzcgNjkyMzFjZWZkODBkM2ZhZmViMmQ1NGI4NTJmZDIzYjk3YzZhZTY2YSByZWxlYXNlMzAtbWFpbnQKKzcyMjc4IGFkMTJkOGY0MTRjNzM2MWE5ODVlMmYxODA0MDFjZTlmMWViNTQ3NmQgbGVnYWN5LXRydW5rCis3MjI3OSAzMDg4ZDJlYmY3YmU1ZWEzZDEzMGQ4YWY4MTIzNDdkNmU0Mzc2YzViIHJlbGVhc2UyNi1tYWludAorNzIyODAgZmU1NGYzOTQ1OTljMjUzNTg4MTkwZDk2MTg2MTA3M2NjYWI1ZDg2MiBweTNrCis3MjI4MSA3M2FmOTAyMDZjYmUzMjRiOTk2M2FlNTY4ODhjY2RmZGEyOTFiNzgwIHJlbGVhc2UzMC1tYWludAorNzIyODIgNWNiODVlZmY4YzAzNWFlYWEwNDA5ZjNjNTkxMzc3ODJmZTJmYjhkMCBweTNrCis3MjI4MyAxMmQ4ZmQ0OTk3MjJjMmRjZTRiYmIxYjc5NDY5OWMwMWMxNzA3NTE3IGxlZ2FjeS10cnVuaworNzIyODQgNTM4YTdkNTgzMDY0NWQwYTc2MTRiNGYwYzZkNGM3MDlmNjk0ODUzMiBsZWdhY3ktdHJ1bmsKKzcyMjg1IDliOTU5MDAwN2U4MjQ5ODFiNWRhNDhhOTBjNTg4NzI2NWJlZjRiMWQgcHkzaworNzIyODYgMTAwMzgxYzVlNzNhYmI3ZjBjYjg3NjlhYzQyZDcxYTNkMGM4MWFmZiBweTNrCis3MjI4NyA0NzkxMjE2YmZjMWViZGI5ZTg2OTUzYzk3MTU0NzVlYTRjNWYyZDM3IHB5M2sKKzcyMjg4IDc1ZDQxZjQ2MDg1MjEwOTE3YmMzYTRlZjA4OGJiM2EzNjYyYzU0MDkgbGVnYWN5LXRydW5rCis3MjI4OSA4MmZmZGZiYzQyZTU2OTY0OWRjZDRjYTljODcyYmY3MjY1MWI4Y2Q3IHB5M2sKKzcyMjkwIGY3MjI4OTJiNjBhZTNiZWFmZGM3ZjYxMDRhODJlZTRlYjdkYzBiODcgbGVnYWN5LXRydW5rCis3MjI5MSBiZDQ5MWI1YTg4MDg2OThiNjU4NWVmMWYyNzU0MGE3YTYxNmRkYzEzIHB5M2sKKzcyMjkyIDVjY2VjNGIzNjY0NmQxMTdhZmI3YmU2ZTM4OTc1MjgyNjQ1ODIzODMgbGVnYWN5LXRydW5rCis3MjI5MyAzMTBkYWE5OWQ2MDczZDMzZmNmMDdiMTRjZDIxNzcxZTk4YmMzMjcyIHB5M2sKKzcyMjk0IGMyZDEwN2UwNzgzOTc0NTJjZTg2ZTVlMTQwMTRlNDJmODM5ZWFjMzEgcHkzaworNzIyOTUgNTM5OWJlN2EzOWJhMzcxN2JkODAxZDVjNmE0OTc4MmQ1OGM5Nzk1YSBsZWdhY3ktdHJ1bmsKKzcyMjk2IDc1NzQzYWFlZTUwNDBjMGIzYmJkMjE2ZWJmZTg3NzhjMjU4MjQzMzAgcHkzaworNzIyOTcgZDM3NDdiMGEyZjM2MWFhNGQ3MGM0MGY4ZGI4MThiMGFmZTU2YWM2ZSByZWxlYXNlMjYtbWFpbnQKKzcyMjk4IDNiMDlmMzMyZjFmYTNiNDIxYjFmM2UyMTdiYzc4M2UxZTZjNDVhMmMgcHkzaworNzIyOTkgYjMzMTljMDg0ZDI1NzFjMzAzODMxMDE3NWVkMzljYzVjY2U5NzVhYSBsZWdhY3ktdHJ1bmsKKzcyMzAwIGRkOTM4YTJjYzJmMGM3NGE3MDdiZmY1OTNlZmJiYWIzM2MzNWIzYTIgcHkzaworNzIzMDEgNWJlY2M4NjU0ODEyMjA4MmMxYzkxOTNlMmE4NmVmODUwMmZjNTAzYiBweTNrCis3MjMwMiBiYmE3ZWU5ZGFlZTA2NDU4OWM5NzMxNTY4Mzc3YzQxYWRjN2FiZDU2IHJlbGVhc2UyNi1tYWludAorNzIzMDMgNjM5YTc5ZmE2YTIzOGE2NTJjOTQ4ZjE0MDA2NzMyOTA3OTExNzE0YyBsZWdhY3ktdHJ1bmsKKzcyMzA0IGFlYjQwNTBjZDQzMTg1MjYyZmM4OWViN2NjZjY5ZTJhYjk2MWFhOWMgcmVsZWFzZTMwLW1haW50Cis3MjMwNSA0ZmNmYzUzZmNjNzRiZDZjZTk5NWZjZGVjNTM5MDVkMDgxODZjMmVmIHJlbGVhc2UyNi1tYWludAorNzIzMDYgMjQxNmYxNjZkZTRiMDBlMmFiN2IwMGJiZWY2NTExNDk3ZjZlOTM0ZiBsZWdhY3ktdHJ1bmsKKzcyMzA3IGIxZWE1ZjczMTNmZGU1NGQzMWY1Mzg1ZjFlYTY3MWQxMWVmYjk5MDggcHkzaworNzIzMDggMGJmNWJiMmYzYzA4OTg2ZGMwNjBkMGFhNGZiNzA4MzNiMWJlYTk2MSByZWxlYXNlMzAtbWFpbnQKKzcyMzA5IDY2NjgyZmMxNzJlOTBlOThlOGExNDc0YWUxNWYwZjFlZGZlZTc1NWEgcHkzaworNzIzMTAgNzMyMWQ0NTEwYjQxYmFiY2UzZjljMmE0NzQ4ODY4YmQyYmU0ZDQwMiBwZXAtMDM4MworNzIzMTEgNGRkNWE2YTkzZTcwODhjMDNiMmFjMTYwN2RiOWIzNTZiYjk0NTE2NyBwZXAtMDM4MworNzIzMTIgNmUxMGI3MGE0MTEwMzc2MDI5NGQxMzAwYzllYmJlMjgxMDY4NTZkNCBwZXAtMDM4MworNzIzMTMgYWMyMDlmMTMyYjE3YjI4NDAxNGQ0YTEwY2Y5N2JhNzdkZThiN2NiNyBweTNrCis3MjMxNCA0ZTU4MzRiMzIyYzEwYTJjZjAxMGYzZDQ0ZTRiZWQ4NmM0ZTU5MGIzIGxlZ2FjeS10cnVuaworNzIzMTUgMmUwNDRjOWY0YjQwNWY3OTYyODA4YmUwOTMzMTE1NWViY2U3OWUyMCBweTNrCis3MjMxNiBiMDBjZTZmMGZhM2E5Y2ZiOTM3YzZhZGExZGJhNjhlMmI0NmZmMTdhIHB5M2sKKzcyMzE3IDFlODJiZWY2OGY0ZGZlODdkNmVkMjg5MGM3ZTExMmRhNWVjMDVhYTYgcHkzaworNzIzMTggNWRmZDIyOTA2MzQxMWZmNjFjMzcxZDY2YTNjZGI4YmYzZWZmMWI2NCBweTNrCis3MjMxOSBkZDQ4OWY0NzU3YmU4MjY5YmU5NmViYWNhMzZlYjAzMTQ1ZmI3ZTBlIGxlZ2FjeS10cnVuaworNzIzMjAgYWY4Zjg0MzI1Nzk3M2YxOGI5ODgwNDQyMTVlNDc0NmZlZDFmN2RhZiBsZWdhY3ktdHJ1bmsKKzcyMzIxIGIxMmE0NGVlZjQwYjZjNTkyNzA2ZWMzZjViNjYzNzA5MmU3NmM5MzUgcHkzaworNzIzMjIgYzQ5YmMzMzAzMjdjZjI5ZWNlNWExMGRlYWFjMjUyYmZjMTZjNTYxNiBsZWdhY3ktdHJ1bmsKKzcyMzIzIDU4NTc0Mjg4YTViZmVhOWRlYWM2MTA3ZTMzYjI3ZDcyYTY2MmRjY2MgcHkzaworNzIzMjQgNGM2MzY3MDYzOWVjNzBiNWFhNmI2NGU1ZGJiZmJlOWJhZWNmNDNhMyBsZWdhY3ktdHJ1bmsKKzcyMzI1IDU4YWEwYWQ3NzI1M2Q3NzU0YzY4ZTlhOTYxMDBmM2I3N2IxZmVlNWUgcHkzaworNzIzMjYgNTg3OGNhNzg0YTg0OTZlNGQ1ZjRjZDViZmZjMDg4MjhhMDhmODU0YyBsZWdhY3ktdHJ1bmsKKzcyMzI3IDMzYmJkZDNlZWE0M2Q5ZmNlY2U1ZWY0YzdkZjdlMzljZjdlOTA0ZWMgcHkzaworNzIzMjggOWY4NTMyYTBmMWFiY2M0NjFiNjAwMDlmYjE1NTFmZDdkMjgyZWY4MSBsZWdhY3ktdHJ1bmsKKzcyMzI5IGVjNWYwM2QxZTgxOTg5MzEzZjBhYzE3N2MyZmJjYWQxMjQ0ZmI1YjggcHkzaworNzIzMzAgZjZiZmZiOWU4MzRmOTllNjA4MDY2OGQxOWU3MDE1OThlMDQ5MWEyZCBweTNrCis3MjMzMSAxNjdjZDM3OGI1YmQ4YjM3ZTY3NjZiM2RhNWRjMGQ4MjlhYzM4NjNhIHB5M2sKKzcyMzMyIDJjYzExNjkzYTE4MGVkNzQxNzg0MzA5ZGRlYTc2NGE0OTQ0YzllMzUgcmVsZWFzZTMwLW1haW50Cis3MjMzMyBjNjM3NmQzZmE5Njg3ODE3YjJhNDFiZjU2OWVkYzA1NDljZTZiYTkyIHB5M2sKKzcyMzM0IGQxN2NjNzJmZmU4MDc2NzFkNDk2MGQ1MWJhZTA1MjFmY2RhMGM4ZDMgcmVsZWFzZTMwLW1haW50Cis3MjMzNSA5ZjZiOGNlMjAyM2YwYzI0NGZiMWExMjFmZGQ1NzQzZjdhMTBjNGY4IGxlZ2FjeS10cnVuaworNzIzMzYgMjE1YjdiNjZlNjJkZjI4NWUxNWQ5MTdhYjJkZjI5OGM0YmQzNzdkNiBweTNrCis3MjMzNyA0ZjNlZGI2YWY4YzFiYmQzYjM4NTUyNWM2ZDAwY2Q1Mzg0NzVkNGNhIHJlbGVhc2UyNi1tYWludAorNzIzMzggOTc2MDM1MzY2MDY1N2FhYTIxZDJjZDM3Y2M5YjFmMDUwMGExYjY4MiByZWxlYXNlMzAtbWFpbnQKKzcyMzM5IGNhNDUwYjI4MjdlZjM4MDliMzQ5N2ZlYWMxOGMwMmZhZDQ4YmY0M2UgcHkzaworNzIzNDAgZDg2MDFlOGIzYWJlOTFlYmEwN2QzMjVmMTczNDc3NDdjZDI5OWQ5NSBweTNrCis3MjM0MSBhN2M5OWUzNGUyMzllMjE3MmE2N2M4MDc1Mjc3MWZiZDcwYzk2ZmVhIHB5M2sKKzcyMzQyIDhlOGI5NTkwOTE3YWQ5NGM1YjgyYzYzOTU3MzhhMTQ3MDdhMTMyZWYgcmVsZWFzZTMwLW1haW50Cis3MjM0MyA3ZWE3ODcwZGQ5NjZkMjIxNmQ1MTQ0ZDczYmFkNTE1ZGMwM2Y0MDliIGxlZ2FjeS10cnVuaworNzIzNDQgZWEyYTkwMDgyYzgzNzUyODM5MjUxMTBkZDliOWZjZjE0NTYzZmY1MSBsZWdhY3ktdHJ1bmsKKzcyMzQ1IDZkNjRjZDY5ZjM4NDRhNTVlZGI3MzRiM2JhYzViZWUwY2ZhY2NmN2YgcmVsZWFzZTI2LW1haW50Cis3MjM0NiA5ODc0MjFkM2Y4YWU0MGI2ZDkwNWZjY2IyZjc3ZmM1ZmU1NWQ5Njc0IHB5M2sKKzcyMzQ3IGIwMzc1NTY3ZmFlODBhNDZjYWM4YzEyNWZkNTg5NmMzNDIyODdmNDUgcmVsZWFzZTMwLW1haW50Cis3MjM0OCAxZDhmMjRkNDBjMmM2OGZiOWIzZWM0NDFjYjE3NTA0NmM5YzgwMjFhIGxlZ2FjeS10cnVuaworNzIzNDkgNGQ1ZjA2NjU3NWVkNTBkOTAxOTYxYTMzMTNhMzhiMGY5ZDdhYjAwOSByZWxlYXNlMjYtbWFpbnQKKzcyMzUwIGI5NzdhZjE5YzZmMDEzN2ZlNDdhNzU2MWEzYmMyMTFjYWM4ZjhkZTcgcHkzaworNzIzNTEgYmJlMmFhNDMxNjkyMzIzNjA1ZmRlMWFiZTRjMjM0OTc1ZWQzY2NlNyBweTNrCis3MjM1MiA1ODFiNTY0ZDhmYzNiMmZlNjdjY2QzYWUwYzI1NTIyMDQwODFlYzgwIGxlZ2FjeS10cnVuaworNzIzNTMgYTg1ZTY3NTZkZWQyY2ZlN2UyYjE4Y2RkY2Q0OThjOWMxNmQ2ZWU2OCByZWxlYXNlMjYtbWFpbnQKKzcyMzU0IGUwMTc5ZjA4ZDM0ZjIyMDMxNDNlOTQyOWU2ZmJhYzUyYzY2YjY3OGQgcHkzaworNzIzNTUgZDNmZmIzNzAyYzNhZjYzZmE1MGVhMDZmYTUzMjY0MjJhM2VjNmJjZCByZWxlYXNlMzAtbWFpbnQKKzcyMzU3IDhmN2NmNWNiMjFiYjU4M2FiNGU1YWVkYjJmNDIzMDRiMGViNGZjNDIgbGVnYWN5LXRydW5rCis3MjM1OCAwMjZkMzkwZWVjYzE5NmFkMDUxNGNjMTg3MTBmNTg3NTJkMDJlOWI5IHB5M2sKKzcyMzU5IDE1ZDNiZGU3MGQ4N2IwMDBlY2NlOTQ5N2MzNTg5ZDRlY2U3MzdlNDcgcHkzaworNzIzNjAgZjBmYjRkZGZmMWFiZGFhYTMzNTZmZDZkMzNhY2EzOTAwNzNlOWRlYSByZWxlYXNlMzAtbWFpbnQKKzcyMzYxIGFlNjg1MDg2OWQ1MmY0ZjZlYzc4MmFiMzRjYzgwOGY1ZTY4MjI2ZWEgbGVnYWN5LXRydW5rCis3MjM2MiAyNTkyYzZhOWRkZDZjNDRlY2Q5NTllZmQ2YzI3OTUyZWVlOTNkNjU2IHB5M2sKKzcyMzYzIDkxMWRmODJiYzI1ZGZiNjJmYWVmNmVhMWI5ZDBjZjcwNDE3YmI5N2MgcHkzaworNzIzNjQgNWI5MDIxYzE5NTEyYmIyZTNhM2JkMDEzMjUyZDI4ZjkyOGY4MzUzMyBweTNrCis3MjM2NSA1NGRjNTc3N2JkZmJmZTYzNjlkODNmNzI3OGIyODQ2YzM4YTg4NmI5IHB5M2sKKzcyMzY2IDdiYWY0Y2MxM2JjZmY2OGJiNWI0ZmI5ODgyZDJkZmJlZGY3NWRkNzkgcHkzaworNzIzNjcgM2I1YzQwMGM5ZGNkNDUxMDM1ZDg3YzQyMzA2ODZiYmJmZGU1ZGQ2NSBsZWdhY3ktdHJ1bmsKKzcyMzY4IGZiMTBiODhhZmQ0MDFlODEyMTJhNWNhY2U0YjE2OGUxODY3MTNiNzMgbGVnYWN5LXRydW5rCis3MjM2OSA1YjRiMDllOGYzMmJhOWNiZTVlMWFiNzdiNzc0NTgxODY3NjI3NDQ0IHB5M2sKKzcyMzcwIGEyMzAzYTc0YTc2MTBjOGUyYzZhNjNkZDIxOWVlYmI4NmJmMmEyZmQgcHkzaworNzIzNzEgYjY2NmU3MmY2MDJmYTg1MjhkODMwMGFkYjRhMDgxNTk2N2QzOWFmZCBweTNrCis3MjM3MiA5ODk1NDgzZTk2MDEzYTUyY2ZmMmQ4MTk3ZmM1NGU4ODY5N2E5YWQ4IHB5M2sKKzcyMzczIDljNGQ5MjlmNDA1OTk0MTcxOTFjM2Y0NWM1YzMzYmJiZTZjOGQ3ZTAgcHkzaworNzIzNzQgNGIxYTlhZmZlMzRjZDRmOTIxMmRlN2I1MjNhZDdhMGE5Mzg4MjJiZSBweTNrCis3MjM3NSBlYjNhZmJkNmFhYTk2ZWY2NzYwMmJiYzAwZTk2MTZlZWRlNDgwMDA4IGxlZ2FjeS10cnVuaworNzIzNzYgNGYxNzM4NGFlOGNiZmU0NjhjMDExMmVkN2U4MjRhOWY2Zjg5YWM1MSBweTNrCis3MjM3NyAwZjZhNzg1Y2YyODZlM2QxZDgzYTVlN2M0MjRmMjc5YWZiMWU2ODgyIGxlZ2FjeS10cnVuaworNzIzNzggNTU2ZDExMzE0YWQ1Y2Y5MTM4MmM0ZmY5MmFiMWRiZDVjZGJhNjAwZiByZWxlYXNlMjYtbWFpbnQKKzcyMzc5IDU3ZTliMWIwODM4ZTUyZGU5NDBjZDA0NzEzNGVhODQ0NzBjNWJkMmQgcHkzaworNzIzODAgYTgxNWFjY2Q4OWU0MGIzNDFhNWQ2MGY1ZDAyMDE5M2FhODFiNGM4NCByZWxlYXNlMzAtbWFpbnQKKzcyMzgxIDg1Nzc1ZDEwMGEzMmM1OWYyY2JkMmExMmNlZjM2YzBiNDEwZTRmZTcgcmVsZWFzZTI2LW1haW50Cis3MjM4MiBlNjIwNzAxYTNlYzg2NDBhZmM2YTQzMjMwYTU1ODFlYjEzYzI0NDM3IGxlZ2FjeS10cnVuaworNzIzODMgYWVjNjJlOWNjNmU4ZWVmYTZhMWUxYmNjZGIzMzQ2YzdmYTVhYzBkMiByZWxlYXNlMjYtbWFpbnQKKzcyMzg1IGJjYmI5NGQ2OTJlZmQ3MTI5NjJkNGVhOWJjMjI0NWEyZWQyY2M3MDggcHkzaworNzIzODcgMjkwMjViNTMwMDQ2Njg1MDBkMDg5YmRhNTlmODg5MmM2NDQ0NmIwOCBweTNrCis3MjM4OCBjYWMyYTVmNGI5ZmFlMTI4NGI5OWNmZGU0MDllYTg3Y2Q3OWZmM2RmIGxlZ2FjeS10cnVuaworNzIzODkgYzZlZmU1OGVlZjY2NTdlZTRiOWYyODk5NDllZmUxYzY2Y2JkOGJkOCByZWxlYXNlMjYtbWFpbnQKKzcyMzkwIGYxYTNkZTlkZjQyNWRiNGMzZjFiNjc5MTMxMDQ4NDdjYTliOGQ3YzMgcHkzaworNzIzOTEgZmI3ZDEyMTk2YzM1YzJiNWY1ZGFhYmNjZDQyOWNlZWNlOTUxYzY3MiByZWxlYXNlMzAtbWFpbnQKKzcyMzkyIDM1NTk3ZDNkYmQwODIwMmNjODg3MWQxZWMxM2QxODA0N2JhZTQ1ODAgbGVnYWN5LXRydW5rCis3MjM5MyAwMzg4YTQyNzI1OThlMzg2NGU5NTU5ZTkxMWI2YWFmMDA3MDMwMWRhIHJlbGVhc2UyNi1tYWludAorNzIzOTQgMGM1MjZkMTg5NTI3MmI5YTUyNTdmODJhMWMxNGI4NzM3MjExZjUzYyBweTNrCis3MjM5NSBhZGM4ZWM3ZjdkMjMwMTlmMDI5YTc3NWYyMTQyNmI1M2JlMGVlZWJkIHJlbGVhc2UzMC1tYWludAorNzIzOTYgZGYzZjVkYjUyOGYwMGIzNzFmNzE2MWE1YmRjMGQ2ZmFjODE5M2Y4ZCBweTNrCis3MjM5NyA3Y2I2ZGYwMDY5OWY0YjM0ZDcxOWJmNmM4ZmNiNDIzZmQ3ODg0NDI5IHB5M2sKKzcyMzk4IDA0YmRjOTQ0NzE4YWY5ZWVmZjE3OThiZGQ1ZDE2NzRlY2M5YTE0M2MgcHkzaworNzIzOTkgOWM2NTQwNDA0MDBkZWZhNGMyOWJiZTYzZTA0NzBmNTM3Y2UxZGM0YyBsZWdhY3ktdHJ1bmsKKzcyNDAwIDBiOWQ3Y2NlZDkzNzFkN2ZiNGM4NTNmNWRhMzMyZjY0YjgxMTBhMjUgcHkzaworNzI0MDEgMDM0ZTBmY2Q2OTRlODgxYTU4YWU0ZjFjYWM5OWVkZmE3NDAxMWI2OCByZWxlYXNlMjYtbWFpbnQKKzcyNDAyIGVjZTdlN2E4MDA0M2MxNTgyNTExNGI0M2E4ODM2NDNmN2MwZmE3MTQgcmVsZWFzZTMwLW1haW50Cis3MjQwMyBjNTJlNTU1YzkxOGQ5YmJjNGZhNjAyYWY5NTczN2EzMGIxOTYwOTc2IHJlbGVhc2UzMC1tYWludAorNzI0MDQgN2RjYTI1MDM0M2VhNDFjOTYzOThlYjY4YWVlNGZjYmQ1YWQ4ZjdmNiBsZWdhY3ktdHJ1bmsKKzcyNDA1IDRhODQ3MDA2NjRkOTI2MjFhZmU4YjQxZDhhMzFmZjhlMDU2YTJmMzkgcmVsZWFzZTI2LW1haW50Cis3MjQwNiA0NjM0MmZmYTI5NjM1M2YzNTA3ZWU3OTQwMWY3YzEwNzg5MjY0ZTJmIGxlZ2FjeS10cnVuaworNzI0MDcgYzBhZDIzYWUyYTNlMWNjZTQ1OTIwMDZkOWEwYjY2YTg2YzlhZTM3NyByZWxlYXNlMjYtbWFpbnQKKzcyNDA4IDYzYjIzYmQzOTA0ZGU3MTY5YzYyY2YwZWJhMzc3OTM1NzVlODhmNjkgcHkzaworNzI0MDkgY2E1NTdmODUwZWVlNjRjZDNmMmZiMTEwYTA4YjU4NGM4NjRhMjhmYyByZWxlYXNlMzAtbWFpbnQKKzcyNDEwIDdhNjdiNjQ3YjllNzc3NzllY2ViMjBhMzQ4MTkyMmU5ZTA5ODNhZGMgcHkzaworNzI0MTIgYjYzMDIwNzk3Zjk2NzhhZGFmNGQyYzNlMjY1NzRhOWVlZjJlZjAyOCBweTNrCis3MjQxNCBhNjI5OTI0MWZiZDliY2M2MDU5N2Q1NDZjMDZkNDQzZmM2NjI3MmU2IHB5M2sKKzcyNDE1IDNhYWFiYjMxMDJlOGU3NTlhODk5NzE5ODEzZWRhNTk5MzY5ODE2OTUgbGVnYWN5LXRydW5rCis3MjQxNiAzNzZmZTE1ODYyNzYwMDA3YjA3NGNkNGVjM2NmNmU3ZTU1ZDE0MzhkIHJlbGVhc2UyNi1tYWludAorNzI0MTcgMjA1ODY5MGE1M2UxMmNlMmUyYzcxMDMwNWMzYmI0MGVhYWJiMzE4OSBweTNrCis3MjQxOCA2NWQ4ZGI1YmViMjAxMjIxOWNiZmYxNzM5ZTQ0NzE3ZGVjOTE0NGI2IGxlZ2FjeS10cnVuaworNzI0MTkgMmEwZmFjYTNkZWVlNTk4M2E1MGRlMTQxMTI2ZmQzMzNjMTliYWUxMiBsZWdhY3ktdHJ1bmsKKzcyNDIxIDc3MTQyOTg1YzY0MTBhNTM1MDRkZjc3NDIxYjY1Y2FkMWY2MDExZTAgcHkzaworNzI0MjIgYTdjYWYyOWQxNDA2MzNjNDUzY2E3ODI3ODJjZjk4MzA3MmE1NDVmZiBsZWdhY3ktdHJ1bmsKKzcyNDIzIGZhYzUxYTAyMmJmNTA5MzA0MDNlZjlhNmYxZmFjYjJjOTg0YjA4NDAgcHkzaworNzI0MjUgODViOWRmNTI1ZTEwNzBmNjM4YWU1NDBkODljODE1ZTA1ZDJhMGU5NyBsZWdhY3ktdHJ1bmsKKzcyNDI2IDIzOGNhZmNjMjUxNWY1ZGIwM2QwYTUxNjhlYmUwZTc2ZmFmNDFhNjcgbGVnYWN5LXRydW5rCis3MjQyNyA2MmJlNWFjOTg5ZjRmODZjMDRiMjQ4OWZiOTRhNzliZmM2NTNmODU2IHB5M2sKKzcyNDI4IGE4MTkwZTg4MWZkZmYyYWY2M2NlMjNjYzkwOTUwNDAxMjc1NjA1NTQgcmVsZWFzZTMwLW1haW50Cis3MjQyOSA3YTNiZDE3OWIxODBkY2MxODk1ZDI4OTdlMmFlMTNiOWYxNDQ1MjQxIHJlbGVhc2UyNi1tYWludAorNzI0MzQgNmM4YjM4MGRiNzI3ZmMyMjFjMjI2ODdlM2JiZDFkZjM0OGE3NjRjYyBsZWdhY3ktdHJ1bmsKKzcyNDM1IGU3ZmUyMTdjZTAxNTdkZDgxNDRlYWFmN2Y2MzMyZWQwNzAyNTE1NzUgcHkzaworNzI0MzYgZjg3NTgzNTNjNmMyMDJiNmM1NmI2ZWU3YzA0ZDM1ZDgyM2E0MGZhYiByZWxlYXNlMjYtbWFpbnQKKzcyNDM3IDU3MGQzZTU4ZWVhOTU4YjIxYTAzZjM4ODRjMjdlNzQyYTBhYWEwMjkgcmVsZWFzZTMwLW1haW50Cis3MjQzOCAwZWYyNDJmMjdkNzY5OTc3YTI2Y2YxMjdmODkxZjEzZTgxZWIyNDZkIHB5M2sKKzcyNDM5IGQ3ODAzN2MxNjIyNTAwNzI4ZjE0YzRjOWY0NjQ0YmMxMDY4YjkzODkgbGVnYWN5LXRydW5rCis3MjQ0MCA1NTAyZmYyZmJkZDYzZDI3ZmVhNjkyYWRiMDAyZDEyNmVkOTVmZjNmIHJlbGVhc2UyNi1tYWludAorNzI0NDEgYzY5MzAwM2IxNWUyMWQwNDUwZjc2ZTMzMTMzMGVlMmMwNDdkYTYxZiBweTNrCis3MjQ0MiBhYWM0MDU1ZDA2NmEwM2UzOTRmZDMxNTI3NGZjMjJiMTc4ZDQ4ZmY0IHJlbGVhc2UzMC1tYWludAorNzI0NDMgNGMzYTg0ZTU0ZDA4MjY4MTZhOTAzZWIzMzdjYjMwMDc5M2QxZDhkOCBsZWdhY3ktdHJ1bmsKKzcyNDQ0IDBkNWUyYTkyODZhMmE0Yjg1M2VjZTM1MTMzYjJjMzNiMzc0NTE1YTYgcHkzaworNzI0NDUgOTE0M2QyMGQ4YjI2MzlkMzg2YzFmZjY4ODY4YTEyNjYzNTkwNTYyNCBsZWdhY3ktdHJ1bmsKKzcyNDQ2IDE5OGI2OGFlMmMyZGY1MzczYTA3N2RmMmVhMDZhYTcwMWIyMzhiNmQgcHkzaworNzI0NDcgZjVmNTA3YjU1ZDQ2NTc5NTE1ZTRlNTA1Y2NkY2M1MzIyYWZkNjczZCByZWxlYXNlMzAtbWFpbnQKKzcyNDQ4IDhmM2RhNzEzNGNhNWYwN2EzNjVjYjAyZTY1Zjg3MzNiNjE2ZGJkOWIgcmVsZWFzZTI2LW1haW50Cis3MjQ0OSBlNTY3MTJlMTg2ZjlkZjhjNWI2MWVkYjA0YzZjMDQ3YTFhZGZjMTg4IHJlbGVhc2UyNi1tYWludAorNzI0NTAgMmRmMmQxZjA5ZDU4NWQ3MmY0MmRjZmIxNmRhODM4NTlmYTE1ZjNjMyBweTNrCis3MjQ1MSA2YTcxNTcyN2YxOWY3NTVjM2I0NTM4ODYwMDg4YzlhYzdmYWIwYzBlIGxlZ2FjeS10cnVuaworNzI0NTIgNDdiM2ZlZWE0ZTFhNTFjMjAxOWQ5NmY5YTJiMjU1MjEwNzFhZDUyNyByZWxlYXNlMjYtbWFpbnQKKzcyNDUzIGMxNDJlNDUzODk0MWU2M2RkMGIyNDdiYzhmYzM3YWE2MGY5NzhmNzkgcmVsZWFzZTMwLW1haW50Cis3MjQ1NCAxMWFkNjU0NTgwOWFjN2JmYzUxOTFhZmM3Yzk1NDUxN2FkNDRlZjY2IGxlZ2FjeS10cnVuaworNzI0NTUgYjNiMTU1NTgzZTA1NWQzOTgxN2RkYjg4ZmQ3OTUzMDUyNTg4NDdkZiBweTNrCis3MjQ1NiAxN2Y3Nzc0Zjc0ZGRlYjZiNDQwYmUxNDM5OTViMDViY2UwZGM4OWJmIHJlbGVhc2UyNi1tYWludAorNzI0NTcgMWNkMWIyMTQ1MmQzOTUyNjY4NTlmNmM1ZWRlYzdkNjZhOGQyMjYxYiByZWxlYXNlMzAtbWFpbnQKKzcyNDU4IGEwMTVhMjk4NTQzZGRlYjE4YzI3ZTg3MzU2ZDQzN2JmMGEyZWU2YjAgbGVnYWN5LXRydW5rCis3MjQ1OSAwNDZiZDJhNDEzMjJmYWVhZGE3ZDhmYzdjYzlkZmRkM2JmYmIzOGQzIHB5M2sKKzcyNDYwIGEzNmZhMmNlNjFiMWYzY2I2ODQ2ZjU3MmY1NDc5ZTNmNWE5ZjA5NDAgcmVsZWFzZTI2LW1haW50Cis3MjQ2MSAxZWNkY2ExMWViOWVjMjg2NDAzNjM0NGM4NWE5YjU2NmZiOGZlYzM5IGxlZ2FjeS10cnVuaworNzI0NjIgMjk5M2YwNDllMmM5NTMzM2U2ZDcyOTIyMjQ2MzYwZTc0MjcyMDdmMiBweTNrCis3MjQ2MyA1NDIwZGFlMzU1ZjczYzYzNTAxY2Y5YTcyNjVjZWE3NmRiODFkMWJlIHB5M2sKKzcyNDY0IDM3NDk3YTc3OTNiMmZmNzNiMDgxYWM2MDZjOWZkYjEzNTIwOTFkZjYgbGVnYWN5LXRydW5rCis3MjQ2NSBmMWZmODdiOWI0MzczYjJiNGM4Y2Q0MGE4MjIwZjNkMjc0ZmViYmI3IHB5M2sKKzcyNDY2IDIzODUwMjQ2MDc5NWJjNjBmZTc5NzM0YzAxYTUxMzMyOGQwYTI2OWQgcHkzaworNzI0NjcgNjZlY2M4OTZiN2U3M2EwNTRiMTY2M2E4YWYxOTJhZDZmMzAyYzllNCBsZWdhY3ktdHJ1bmsKKzcyNDY4IDljN2JjYjdlNzQ4YzE2MjQ3ZGU0OTRlNzIxYmE0MmUxZTc5M2U3MmYgbGVnYWN5LXRydW5rCis3MjQ2OSBhNmU2YTU3Y2NjYzI5YTRlNTVlOTM5MjRkZmY4NDQzODBlOWFjMmM5IGxlZ2FjeS10cnVuaworNzI0NzAgNTI4MGY3NTViNDhhMTRiNDFhMjg0YTY3M2ExYjdmZDcwODZjZTM2YiBweTNrCis3MjQ3MSA2OTRlZTIwYzhjNzQzYmViNjlhYTE3MTRlNWJmNjMxZDhkZjhiZGMxIHB5M2sKKzcyNDcyIGJhNGU2YTNhZjU2NGVkNzBmZWJlODdjOWY3NjUzYjVlYzkxNmNjY2QgcmVsZWFzZTMwLW1haW50Cis3MjQ3MyA1ZWE1NDYzNTcyMjZkZGFkZjQxNWRlMzVhY2QyN2ZkNjNjNDVlOTJhIHJlbGVhc2UzMC1tYWludAorNzI0NzQgMTcxMjUyM2Y5MzZjNTBjZTUwY2E3YmQ3Mjc4ZWMzYzdiZDY1YWZiMCBsZWdhY3ktdHJ1bmsKKzcyNDc1IDVmMjE1NzQ3OTc0OTVkNTYwNmJhNTg5MGYzMDMyZDIzNzJkNDA1YmQgcHkzaworNzI0NzYgZDRlZmM3MzM4NzA2YmM0YmFlOTc1NDY3YzVkYjIyOTY0MTA3MjMwMyBsZWdhY3ktdHJ1bmsKKzcyNDc3IDdhOWUwODFlY2U0YzNkYTFjNDYwYTQ3ODhmMmNlODk5NjhkODdhZDkgcHkzaworNzI0NzggY2I3YmU2M2I5MWQ4NWVhOGFlZmVlMTY1ZTk3ZmRmZTRlODczYzZhOCBweTNrCis3MjQ3OSAwZGFlN2ZlZmVkNDQwNWM4NDJlNGQxZDMyZWRmNDJjMTUzYjc0NjI1IGxlZ2FjeS10cnVuaworNzI0ODAgOGI5ODk3ZDE1Y2ZjODBjZWU2ZTgwMTYwZmQ1NGEyZDNlZGE1ODdhMSBweTNrCis3MjQ4MSAyMDg2OWQ5NzhiOGI0MzA5YTkyYjI3YmE3OWI2NzNmOGQ4NmIxMWU0IHJlbGVhc2UyNi1tYWludAorNzI0ODIgYjg2N2NlMzc1ZTk4Y2QwZDIzM2Q2NzQ1ZDY4MWZmMjkyZGFkZDVmOCBweTNrCis3MjQ4MyBmNDk1MDA5NmU3ZDdiNDc3ODg5NjQwYmJmYWJiMGQ0NGJjOWUwNjNkIHJlbGVhc2UzMC1tYWludAorNzI0ODQgMDY3YTYzOWQ1Zjc2NTkyMmIzYzRhZjhkNDI3OGYxZjMwMDIxZTdhMCBweTNrCis3MjQ4NSAwNzIyZjIwNGQyNmUwNDViZWVmZWRiOTYwZGUwYjllNTU3NzQ1ZjVmIHB5M2sKKzcyNDg2IGY5MTdhYWU3NDFkNWU2MWZmZmRlMWU5NmRiMjI5YWE0YWIxYjkyN2QgcmVsZWFzZTMwLW1haW50Cis3MjQ4NyBhMTcxMDQ4ZGFmNzZmNDI1Nzc3MDgwYTNiNjllMjJmZmQwYjA2NTY1IGxlZ2FjeS10cnVuaworNzI0ODggOWVmNjgzZDQxYzliMjIyOTdiY2M0YjA1Yzk2NWQ2ZmFiYzNlNzMyYiBsZWdhY3ktdHJ1bmsKKzcyNDg5IDUxMGZmYzVkYjIzMjU4OWM3NjkzYTRlYWM4ODIxZDM1ZmNmZGJjY2YgbGVnYWN5LXRydW5rCis3MjQ5MCA0NDZhMTVhMWJlZThmZDA2OTQ0MDhjZmM0NDZjMTBhNjdkNTBkMDFmIHB5M2sKKzcyNDk0IDExOWU0MzIzNDAwZDAxYzgyMmViMWUwYzc1ZmE1ZWYwZTZiY2I2MTUgbGVnYWN5LXRydW5rCis3MjQ5NSA3Mzk4NmE5Y2ExZDYzZGZiNTk1NGY2OTg5ZThmY2U2NmM1YjBlMzhmIGxlZ2FjeS10cnVuaworNzI0OTYgMWQ3OTQ4Y2I1NDMwMDBhZjNkMWZmMTQ2MDYzN2FhNjM2YjU0M2E4OCBweTNrCis3MjQ5NyBjY2ZkYTE0ZDE1NTQ4MWY0ZTQ4NzBlZWIyYWU3NWZmNDc2NjIzMGQ4IGxlZ2FjeS10cnVuaworNzI0OTggZDY2NjAzZGQzYjJkNzE4YWJlMWY3NjY3NzM3Y2UwYjY1Yjg2YTMyMSByZWxlYXNlMjYtbWFpbnQKKzcyNTAwIGY5ZDllZWM2YmU2NzAxNzg0N2ZkN2Q3YzI3N2ZjNGQzOGJhZjcyMGQgbGVnYWN5LXRydW5rCis3MjUwMSA5ZjcxM2Y2MDVmNjBlZmQ1ZjQ0YjViYzVmMWQzNzA5OGM2MjA5NmNlIHJlbGVhc2UyNi1tYWludAorNzI1MDIgMzZmYzA3OTg0MTdmMTRlNmQ2YzNjNDM1NDU3MTdhOTg1ZDQ5OTM1YiBweTNrCis3MjUwMyA5OWRkMjllMjRiZGUzZDRlZTVkMDY5ZjBkYzk2NjRjYWM3NDdjM2M1IHJlbGVhc2UzMC1tYWludAorNzI1MDQgOTYyYjRmZjc2Y2NhMjEzNDU3NTMzYzhhZDc2MTU0YmJhYzA1NmI0ZCBweTNrCis3MjUwNSA5MjA3ZDQyOTIwM2ExYzVhOTY1MmQ4Mzk5ODlhNTQ0MGZiNmU4YzZlIHJlbGVhc2UzMC1tYWludAorNzI1MDYgMDcyYThhN2NlOTczY2RkZTQ2NGU4OTUwZjQxNGRiNTMyMDVkODI1MyBsZWdhY3ktdHJ1bmsKKzcyNTA3IGViNmViNDlkYmFlOWVjN2RjZjIyMWU0NmI3ZTgyN2UwZDZkOGMyYzUgcmVsZWFzZTI2LW1haW50Cis3MjUwOCBmOTBiM2VlYzdjMzI3OGM1ZjkwZGFhZjM4ODYzMmMxNTJiMGJjMWM2IGxlZ2FjeS10cnVuaworNzI1MDkgNWRkM2IzOGEwOTc3OGE2NjczY2JmYzZlMDhmN2I4NmU1MTRiMmMxYiBsZWdhY3ktdHJ1bmsKKzcyNTEwIGI3OTIwZTE4MzQyMjhmNWVmNzg0YmJiMmE2ZmNkMzI0MmEyZTFiOTUgbGVnYWN5LXRydW5rCis3MjUxMSBhZmQ2MmViMTY5MmVmMWFjYmFiZWIxYzlhMDU5ZjFjZDYzMGM5MThhIHB5M2sKKzcyNTEyIDMwZWRkN2Y2MTAxYmQ5YTdmNmRhOTNmMmJhZDA4NzIzOThmM2E3OTcgbGVnYWN5LXRydW5rCis3MjUxMyAzMjdlMjNhNmE2MTAyMGFlMGUxYWY2ODVjZTg3NzM1N2JiZDdjNjQxIHB5M2sKKzcyNTE0IDI2MWY1OTQwMTRjNjIyNWEzZTk1YzY1MTU3MGM2NmViNjhmYTE2NGEgcHkzaworNzI1MTUgMWIxNWE1N2UxZjAyZjRiYmUwMTM1YTI1YThiZGUyMTE1ZmE5MWUyMiBweTNrCis3MjUxNiBkMmIxNzYxNjFhYmYwYjM2NmNlZmM2ZTM3NmY1ZjQyMjQyZDg4YzRhIGxlZ2FjeS10cnVuaworNzI1MTcgNzJhNTAzOTRjMmRkZTgzOWI3MzZjYzA5NGYwZGVkNTI0MWZiYzk2YSBsZWdhY3ktdHJ1bmsKKzcyNTE4IGFhNDFjOGM5NjA1NTAwNmYwNzNmYmZiNzk1MTlhZTk4MDllYWQ0YTQgbGVnYWN5LXRydW5rCis3MjUxOSAyYjQwNjUzODg2NmQ5MDkxNzZkZjJlOTk2MDZhZmY0OTgwZDA4MWUzIHB5M2sKKzcyNTIwIDI5YjUxOGYyOTZkZTAzZThlNDcyNzhjOTQ2NDI1NDIyOWY4NGExYTggcHkzaworNzI1MjEgMDU2YWE3NjlkYTg5MWExMGYyZTc2NDVkZmQzMDAyNjY5MjdiNjYzMCBweTNrCis3MjUyMiA1NzAyZDJkYWQwZjllYzhlZTBlNzViZTBkMjQ3NGEyMzg0ZDZhYjBiIHB5M2sKKzcyNTI0IDEzMTE3NzI4ZDA4NmRhNDI1OWQ0NWYzOTE2NGQ5ODM1NDZhY2RiY2QgcHkzaworNzI1MjUgYTdjNTNmYWQxM2JjMzZkMjIwMmNiNjExMmMwMGJmM2NiODkzOGNlYyBsZWdhY3ktdHJ1bmsKKzcyNTI2IDNlODRkNjAxMjZiN2UwMjljMDgyZDA5MWQ4Y2M0OTc3NGM4ZDc5OTcgbGVnYWN5LXRydW5rCis3MjUyOCBmYmNkYWUzZTBjYTFiZWMxMGY0ZGVkZDk5YjM1MmM0YjNiY2JlZmY4IHB5M2sKKzcyNTI5IDdjMjliZmJmZDM1MjQ0ZDA0YzQzOTQ1ODUxNTFjMDE5NzgzNzQ4YzEgcHkzaworNzI1MzAgNDFjMDllMTQyYmQwMDZlMjA5ZmZmMTQ0OTBiNTEzYTE3N2VmZjkwYiBweTNrCis3MjUzMSBlOTFhNzdhNDgyZWJlNGUxZGE5NWU1ZGQ1NGQ5ZGU5ODRjNzkyMGFkIGxlZ2FjeS10cnVuaworNzI1MzIgMzVlOTgwM2EyZjRlNDVlNDRkZTk4YTVmMzk3MDJiN2VjZWIzNDAyMiByZWxlYXNlMjYtbWFpbnQKKzcyNTMzIDA1MDc0MmJiNjBkNWIxNzM3NGExOWQ1YWFkZDJjYWMwMTJkMzFhMDcgcHkzaworNzI1MzQgOWU2N2MyZjk5OWM5Y2NjNjNkNzcxNGU2NzIwZmI1YmU3MTUzYjM3YyByZWxlYXNlMzAtbWFpbnQKKzcyNTM1IGM2MGNkYTM0MThiNTRmNjUwOGNhZjIxN2NiYTM2YTU4NTU1NjZlOGUgbGVnYWN5LXRydW5rCis3MjUzNiA4YTA0Nzc3YjU5Y2JkMGFlODUzYjFmNmQwNjJjZjM2OWJiZDdlMjBjIHJlbGVhc2UyNi1tYWludAorNzI1MzcgNTIyNGEyNThkNWJiMDRlMjA3OWIzMzAzYjFkNTJkNGZjM2VlZjQ2MyBweTNrCis3MjUzOCA5YTZmNWUwNTMxYTYzMTg2MzA0ZDJhMmZjNjkxYjM3NWYzM2U5ZmI3IHJlbGVhc2UzMC1tYWludAorNzI1MzkgMWJlYzY0YjhkZDE3NmFhOTUzNmZjZjUxY2EzZmE2NTViZjJhYTllYSBsZWdhY3ktdHJ1bmsKKzcyNTQwIGFjNDg5NDY5MzQxMWQ0MTdlZWEyZTUzNmRjY2I2Yzc4NTFiYzBmMzEgcmVsZWFzZTI2LW1haW50Cis3MjU0MSA4ODhkYWEwMDNmYzNjZTM1OGJmZjdkMmY2ZThlNTYxNzc4NTU1OTU0IHB5M2sKKzcyNTQyIDg2YTNjOWE5YzZkZTQxYWFiN2I4MWRkYWY4NDZkNjlkMzQ4NzA3OTggcmVsZWFzZTMwLW1haW50Cis3MjU0MyAxN2M1M2ZhMzc4OTAxNjcxMGRjYTFkYzIyMzcyY2QyY2UwMDg5MGMyIGxlZ2FjeS10cnVuaworNzI1NDQgODgwM2FlMGRmM2YzYTU1NmU0Mjk3ZjUxNjZjMWE2NzZkNzQyNDg0MiByZWxlYXNlMjYtbWFpbnQKKzcyNTQ1IDI0MWRhYTI1OWFmOTZjM2U5MjE3NzY2ZDEyZjdkMjhkNTdiMmIzNWUgcHkzaworNzI1NDYgMjgxZDJlMjNiZGIyZDNmYzI1OTcxZmY5MDc1NDhmMDRmN2M0ZWFkZiByZWxlYXNlMzAtbWFpbnQKKzcyNTQ3IDE5MjdlOGQ3OTE0Nzc5NTdkMTk5NzlhNTIwZTU0OWUxMmUzMTY5MDQgbGVnYWN5LXRydW5rCis3MjU0OCA0YWUwMWEyNDE2NTBkNTY0OGY4M2RlOGYxNDcwZTNmNzVkYmI5YzcwIHJlbGVhc2UyNi1tYWludAorNzI1NDkgZjk4MjI4OWY5M2NmYjhlMzQ4MGI3NTJhZTI2OTliYWViOThkZTc5ZSBweTNrCis3MjU1MCBiZGNkMDVhODFhY2JhMGVlMzg4YmU4MGUzNTI2YTdkNDc3MmQ5ZTljIHJlbGVhc2UzMC1tYWludAorNzI1NTEgNjMwZTY4MTEwMGUwOGU0OTJhODUwMjljY2E4N2FkY2JiMGQ5YTZjMiBsZWdhY3ktdHJ1bmsKKzcyNTUyIGQ2NWQ3MTg5ZGUzMmNkM2VhNTYzZTQ2MzU1YmUxNGIyODc1ZDFlZWYgbGVnYWN5LXRydW5rCis3MjU1MyBjNzQ3MWM5MTFhZDI0ZWUzZGFmMWU2OTlhMzI3NDI5NmFkMjFiNDQ3IHB5M2sKKzcyNTU0IGVhMmU0MjVkMWY2MDBjYjFiZmE3ZWI1MzY2NDAzMTg0MzYxMDcyYTkgcmVsZWFzZTI2LW1haW50Cis3MjU1NSBkMDJiMGU3MDczNzdkM2VjNjYxYTY5Mzc0M2NjNGE0ZDgyY2QwOWY1IHJlbGVhc2UzMC1tYWludAorNzI1NTYgNmU3YzdmNDI0NDM2YjY3ODgyYjc0YjkzOWM4Y2IwZmU5ZWRmMjE0MyBweTNrCis3MjU1NyAzNDE2NzIxNDgwYjIxYzVmOTYyYTM2YmM5OTIyMTFhNzJlZGIxYjZmIHB5M2sKKzcyNTU4IDRlYmNkMDE0ZjNkMDZhMDcxZGY2MTQ0NDhlNzc1OWZiZmE0NTMxNjQgbGVnYWN5LXRydW5rCis3MjU1OSAwNDk1YmM0N2NkMDg2YTk3YmNkYzg4NDM1ZTYzNjA2Mjk4MmVlNjhlIHB5M2sKKzcyNTYwIDRiNDE3NDNmNjUyN2NiYzhmMzE0NGZiODU1M2EzODMyOTM5M2I1NDkgbGVnYWN5LXRydW5rCis3MjU2MSA2MWM1YmRiMjk0Zjk1MTg1YTlkZWZjZTVhNWQwZjNiNjg4NTY2Mjk4IHJlbGVhc2UyNi1tYWludAorNzI1NjIgZjIwMDkzNzE5YzBlZmYxMDU2Yzg2NTJiYzIwNjllNTdiZjRlZWQ5NyBweTNrCis3MjU2NCAxMTlmNDIzMmFmNDYxODBhNjQ4Njk3M2M2OWJjYWI2ZWQ0MzJkMTQwIGxlZ2FjeS10cnVuaworNzI1NjUgOTQxNGMyYjE5MjNlZGVhOGQzNWNjNzk1MGM0MzVlNGRmNDYzMmFlNiBweTNrCis3MjU2NiAzNWM2ZDQwN2QzYzllZDQwYjAyM2RlMGE0M2E4YjhmM2U1YjUyYTNhIHJlbGVhc2UyNi1tYWludAorNzI1NjcgZTllZGNhZjQyNTQ3M2Q5ZjFhYTYzZDg0M2Y1NWQ4MjcxZDA4NWUyMCByZWxlYXNlMzAtbWFpbnQKKzcyNTY4IGMyZTJiNDdhODdjMTQ3YjQ0YmI3YzVjY2MwMjVkOTZiMjc1NWI3ODcgcHkzaworNzI1NjkgOGE3ZTg0YWU0NmM1ZGQ4NTZmMzkxOWE3ZTQ3MWZkYzYzYWM4MjYxYiByZWxlYXNlMzAtbWFpbnQKKzcyNTcwIGNjZmNhMjU4Nzg4NTNlOTE3Y2YzMTczZDVkM2MxYTA1MDQ5NmYyYTEgbGVnYWN5LXRydW5rCis3MjU3MSAyMjI3N2RmZmM1NzFjYWU3ZmJkODFhNTM1ODU0M2I0MWMwZGNiOTQxIGxlZ2FjeS10cnVuaworNzI1NzIgODkzMDU0OGFmNzM0ZTAyNmYyNmJkNGMwYTEyOGE0ZGJmOGY4NjhjNiBsZWdhY3ktdHJ1bmsKKzcyNTczIDg0NjE2ZWJmMmI0ZmMwODdiODg3NmQwOGY1NGZkOGRhODRhMTgzYTQgcmVsZWFzZTI2LW1haW50Cis3MjU3NCA1ZDBmNWM1NzEzNTc5N2U5Nzg1YmFiZGQ0MGIxZmM4M2VjZDVmNDIzIHB5M2sKKzcyNTc1IGEyNmFmODVhYjg5NTBiNWYyYzcxMDg0ZTZmY2UxY2VkNDEyYzlkMGEgcmVsZWFzZTMwLW1haW50Cis3MjU3NiA1OWNiOWMwNzRlMDk3YWM3YzJiN2ViNDRjMjJmMjcxZTNiMmE4NTQ2IHB5M2sKKzcyNTc3IDk0MmYyZDZkNWM1Y2MzYzZkMmQyZWM1YzA3MWI1YjE4NDljYzMzOTMgbGVnYWN5LXRydW5rCis3MjU3OCBiZDgwZmI4MzZiOWU5ZmQ4NThhZDViYmQ1MGE0ZWU3Mzk5YjVkNGJiIHJlbGVhc2UyNi1tYWludAorNzI1NzkgNTQ2MDQ2ODhiM2U5N2JkMzBmMzA2ZTdkM2E3MjljYjA5NDk0MjVlMSBweTNrCis3MjU4MCAxMzU3MzAzNDExNDg3YzU5ZGM0NjViYWRlZGI2YWQ3YmZjNWMxYjdhIHJlbGVhc2UzMC1tYWludAorNzI1ODEgMjU4MjE5NjQ2ZTNhZGI5ZGVjMjAwYjRhNzgzZDM3YzI3OGE4ZmQ4MSByZWxlYXNlMzAtbWFpbnQKKzcyNTgyIGRmZTU4NjVlNWY5ODA5Y2M1ZTRiYWY3MTM3NTA1ZTY0MWE5NjM5NWMgbGVnYWN5LXRydW5rCis3MjU4MyBiZWFjMGI0MWNmYjE0ZmVjMTAyNjQ4MTNiZGZlYTRhNjBhNWQyOTkyIGxlZ2FjeS10cnVuaworNzI1ODQgZWZlMTJhYThlZjE5Y2QxNTFhNjAwZDFiNDNiNjE0M2ViNTMwOTQxOSBweTNrCis3MjU4NSBlODIwOWFiNDk2OTE0ZTI4MzgwNDUyNDZiMDA5YjQ5ZmMwZDc5YmIyIGxlZ2FjeS10cnVuaworNzI1ODYgMTVhOGY0ZjJiYzg0ODQ1ZTIzOWUzMGU1ZjExYjZhZTc4NDJkZjdlMSByZWxlYXNlMjYtbWFpbnQKKzcyNTg3IDkyNGRiYjdmYzZjNTdmYjA2MWI4YWE2NDc1MjFiNTU5NTU3ZGEyYTggcHkzaworNzI1ODggYjYzODU3MDM3MDNlMWNjNzgxZDM1Y2RlZTQ4OTc4YzFlNGFiMDliZiByZWxlYXNlMzAtbWFpbnQKKzcyNTg5IDVmY2UxNGUxZDcwMzJjMmNlZTMzMDNlOTViMThiNzk5YzBlOWQyZTkgcHkzaworNzI1OTAgNzhmYjdmOGNkMzQ5MjJkZjE1NzFlMmFlOTA1YzY0YWE3YWI2NWUyZSBweTNrCis3MjU5MSBjMmM4ZDBkZGYxODc3YTliYWU0ZTcyNWIxZTc1NWYyYzM5ZTU5Y2FmIHJlbGVhc2UzMC1tYWludAorNzI1OTIgZDg1YmQ0OTlmM2Y0ZWNlN2EwZDJjMDcwM2NiOWE2ZGE3NTg4OWVmNSBweTNrCis3MjU5MyBkMjIxMjRjNjQ0ZmZhNGI4NDUwM2M4NjZhYzA0NDRmZTdjYWU4MGJhIGxlZ2FjeS10cnVuaworNzI1OTQgNzM1ZWQxNzhkZmFlNTI1YmVjMTk0OTIxOGVkMjg0YThkZTcxMmZjOCByZWxlYXNlMjYtbWFpbnQKKzcyNTk1IDJjMWQ4ZjJkMzgzOThmZjI5NWE2ODJiN2ZmZDY1OThkNmM1MDhmZGYgcHkzaworNzI1OTYgMDU0NjgwNWIzMDIyYTA2NWY4MjUxNzBlMzM4N2ZmOTcyOWVlNDZlOCByZWxlYXNlMzAtbWFpbnQKKzcyNTk3IDY0MTk4MjhlZjY1YWM0ODEzY2MxMDU5MDc5NzJlZDg0MDdhYzQzODAgbGVnYWN5LXRydW5rCis3MjU5OCA0ZWJlNmIyNjBjNTViYmMwMzQyNGY2NzRkZjNhZmIzNWQ2MWFjNDllIHJlbGVhc2UyNi1tYWludAorNzI1OTkgMTllOTU5NjI2MTA5ZjMyNDU4M2E3YjJmYzU3YTk4NWJhZWQyNDdkOCBweTNrCis3MjYwMCAyZDZmZjRhOTQ5NTNjZjk0MzVjY2NkZDY2ZDU3ZGU4MTk4ZDBjYmUwIHJlbGVhc2UzMC1tYWludAorNzI2MDEgYmJiOTExZjdjMGMyOWYzY2FjMjdmYjIzZjMwZGQyZGQ1MDc5NDViMiBsZWdhY3ktdHJ1bmsKKzcyNjAyIGY1MGVkZDRiYjQ4ZjgzYjg4MjhmOGVkZTdjODYwYTg4OGE0YWU5YjMgcmVsZWFzZTI2LW1haW50Cis3MjYwMyA2ODhkOTRlODZjYTI4OGRkNDViYWQzNDk2NDU1ZjI4N2RiOGQ4MzYxIHB5M2sKKzcyNjA0IDM1YmE2NWYxY2M4MTc5NjM1ZGYwNjAwNTdlMjQ1MzQyZTdjMjAwYjMgcmVsZWFzZTMwLW1haW50Cis3MjYwNSAzNDdlNTllYTFhNzFkYTY4MWRiZmU2YjQzODllMjE3NTQ2NzIzNmY1IGxlZ2FjeS10cnVuaworNzI2MDYgMzE5NTI0NTI0ODViZmEyYjQ2MGE0NWNkZDI3YTRlOWJiNmRjMzIxOCByZWxlYXNlMjYtbWFpbnQKKzcyNjA3IGU5YTdhZWU4ZTgwMDQxZTEwZDI0NjEzODUwZGYwZDYxZmM4YWVkNjggcHkzaworNzI2MDggYmQyZjdlMTNmZDczZWRmZDA0ZWQ3ZjVjZjVlMzA2MjMxMDRhNTM1MiByZWxlYXNlMzAtbWFpbnQKKzcyNjA5IDAyMzE4NzZmMzEwNDNkMTg4NjEzODAyYWI2NTZmZmVmYjQyYmE1MjEgcHkzaworNzI2MTAgYzUxODA4MjY5MjE0ZDIyMzA4MGRiNjRkNWJlYWRlYTYxZTQ1YTExOSBsZWdhY3ktdHJ1bmsKKzcyNjExIDkxMzc3ZGE1NGVkZTk1ODRhZWMwNGMxOTU1OWJmNmRjYjEzMmJhYzEgcmVsZWFzZTI2LW1haW50Cis3MjYxMiA4ODJkOTc5NTQ1MjYwYWI1NjA4NGY3YTA3N2FhNWJiZGVmZmRiZjA3IGxlZ2FjeS10cnVuaworNzI2MTMgOGY2ZTkxMjM3MDI3NDIyODAzYWRiN2Q1ZDlkYjg5MGZmNTkzOTRkNyByZWxlYXNlMjYtbWFpbnQKKzcyNjE0IDMyM2UxZDg0OGI1ZmZmYWY3MjE3Yzc1NTUwNjgxOGNhYzVkMDhjYmIgcHkzaworNzI2MTUgOGM3Y2MxNmRjNzljNDhlZDc1Y2I3ZmJmMjRhMzlmZTBjNTgzYjMxNyByZWxlYXNlMzAtbWFpbnQKKzcyNjE2IGE2YzRjZGZkYTlkNmQ1MDc5NTZkNzJjMTI1ZWYwZDI3ZDQ2Y2IxYmEgbGVnYWN5LXRydW5rCis3MjYxOCBiZjY5OTAyNjQ1OGU0OTAyNGE5OGEwNmYyMGM4NjIwY2U1NWFiMzkwIGxlZ2FjeS10cnVuaworNzI2MTkgZGRlZTRkMDVmYTE3ZWExZGE3MWNjMTY4NmNhMzYxYTZjNDkxYzdlYyByZWxlYXNlMjYtbWFpbnQKKzcyNjIwIDc4MTRiZTY5NjdiOGJhMDg4NTgxZmRjYTA5ZThlOGExYzA5NjYzNTEgcHkzaworNzI2MjEgYmVjYTZkN2NjYzkwNzcxZWNkZTk5NjE3NTc1Yzg4MzA2NjNhODg4YiByZWxlYXNlMzAtbWFpbnQKKzcyNjIyIDNhNWY2YjYzMzQ5OTM0OTQ2OTYwMjdiNzc0ZWU5OGE4MzYwMGJlM2EgcHkzaworNzI2MjMgYTY5ZTdjYzA0OWJiNWVjOTllNzg0ZTkzOTk2ZGVmMTRlMjgzMTlmNCByZWxlYXNlMzAtbWFpbnQKKzcyNjI0IDY3YmFmMmMxNzM2OWY4NGY2ZTZjMzg1OWQ5NDM5MTAyNzgyOTI4ZWQgbGVnYWN5LXRydW5rCis3MjYyNSBiMDVkNDc5ZDFjYjBhZGZhYmE4OWU4NTExOGFmZTE2MzBhZWE5NTY5IHJlbGVhc2UyNi1tYWludAorNzI2MjYgMzkxZGI4MGQxYWY0Y2YyNmNiYmIzYTljOGI0MzA2MDFiNzVmNTgwMCBweTNrCis3MjYyNyAzN2Y5MGYyZjQwMzQ5YThjZjBlZmZiNmFlODBkMTI0Y2EyZmQ4NGIxIHJlbGVhc2UzMC1tYWludAorNzI2MjggMWQwNDhjOWY0M2RjNjZhMDJiNjJjODdjNzIyYzk4ZDg1MGI4Zjk1MiBweTNrCis3MjYyOSBhYTc3ZmQ4NjI2YmE5Nzc3MTBjNzIzNjY4NjcyNWRmOTQ1Nzc2NTUyIHB5M2sKKzcyNjMwIGU5NjIxMjk2NjVkODA0NDc1YjJiZjExNjU2OWEzOWU1M2YzZjhkM2IgbGVnYWN5LXRydW5rCis3MjYzMSA5MGE4MTAyZDdlZmJkNjkwMGRkMTNhYjgwNmY2OTZiNWNjN2ZhZTA3IHB5M2sKKzcyNjMyIGM3MmQ0ZmNlMzAwMDU5N2RjMTI1OTEyMzA1ZGZhYTYxMzgwMWRkZjIgcmVsZWFzZTI2LW1haW50Cis3MjYzMyA2ZDY5MTQxNzdmNjAyNjZiNWRhMDQ0NzMzOThkNmMwNzU0YWRiOWNhIHB5M2sKKzcyNjM0IDkxMDMwOTI3NjM3Njc0ZGY1YjEzMjE5N2M4NmVjMGFhNmY0ZmY0ZWEgcmVsZWFzZTMwLW1haW50Cis3MjYzNSAwN2I1ZjIwZDAyNWE4N2Y3OTNiNmEzMTJmOTQ3MDdkZmFkNzFhOGFiIHB5M2sKKzcyNjM2IDM4ZTM1NDYwOWNmMmQ1NjYyZmZjODhjMDU5MjVjYmI3NTEyZDIwNDYgbGVnYWN5LXRydW5rCis3MjYzNyAyYTdjZTEzY2VhMjUwODNmOTk2MmVhZTFiYTc1MDlkZmQ3NTBiZWVlIHJlbGVhc2UyNi1tYWludAorNzI2MzggZTY5MTIwYmU2NWM0NTI3OTA5ZDlhMWYwMjkxMDQ5N2YxZDE0MDdjMiBweTNrCis3MjYzOSAwZmNmMmFjZGU0NzM2ZDJhZGUwOGY2N2YyZGUzNDNmNjlhYTlhNzI4IHJlbGVhc2UzMC1tYWludAorNzI2NDAgZTRkOTM3Zjc4OWExMTMxNGZlMWJkMmU4YjBlYWRmYzMxNGIwM2I3ZCBsZWdhY3ktdHJ1bmsKKzcyNjQxIDczZDliOTczNTQyNDhhOTBhODgyZjU0MWZmNzIxMTY1YzA4MTFhNDQgcmVsZWFzZTI2LW1haW50Cis3MjY0MiAzYzRiMWI0NTAxYzFiNGQ4NzIzMmI0YjRhODdiNDVhNTExNzVkNTFiIHJlbGVhc2UyNi1tYWludAorNzI2NDMgNmJlNTg1NGU1ZGY3YWFiYWQ2MjQ4NWE3MzE3YTc5MTA5MGMyOTE0NyBweTNrCis3MjY0NCA3ZTNkN2I1MjI0YjFlYWI2YWVhZDIyM2UwMjQxOTg5MjNhM2M0ZTk1IHB5M2sKKzcyNjQ1IDkxZWE4ZmNkNDU3ZTVjMTQyMzRiOTY4OGQ4OTZjNDQxZGMxMTAxMGYgbGVnYWN5LXRydW5rCis3MjY0NiBhYjMwYjIzN2I2MDAwOWI3MjdmOGNhYmM4Y2IyM2I1NGY5MmYwOGNjIHJlbGVhc2UzMC1tYWludAorNzI2NDggMTdkMTk0NjU0MGQ0Nzg3MTk2MDJlYTU0YmI2ODhmYWYwMTU0YzI4ZSBweTNrCis3MjY0OSBlZTIxNTY0OWZhZTA2MDhjYzRlOTI1ZjMzYTQ5MjhmZGVmMWMyYjQwIHB5M2sKKzcyNjU0IGZiMDE5NzE5NDlhNTU0NTUwMjBkNGVhMDM3MGYyNDYwOWQ3OGRmMTMgbGVnYWN5LXRydW5rCis3MjY1NSBlNDUxODZlZGFjOTE5YWRiYWE3NjQ5OTg3Y2YzM2VhMDExY2IzMWE4IGxlZ2FjeS10cnVuaworNzI2NTYgZjc2ZjIzYWYyMjk1YWU1MzY4NThmY2I1YTQzNWY0NTA2NzMyMzE5NiBweTNrCis3MjY1NyA5ZDUwMzcwNzQ0NGU0MTg3OGI1ZjZiODMzY2U2MzY0Mjc4NTc1NzZjIHB5M2sKKzcyNjU4IGI2MDBlNTEwM2M2M2UyM2ViZDZiODY5YjY5ODU1OGY0ZTA1YjAzZTQgbGVnYWN5LXRydW5rCis3MjY1OSBiMzNiNDI0OWIxODU4NTIyMDhjZDg1YTExZjk2MTU4ODVmOGQ2ZTYzIHB5M2sKKzcyNjYwIGUzZGZjZDFmZTIxMGQ2NTVlNjk2ZWM4MWYzYTQ4ZDQ2ZTBjZmE1NTkgcHkzaworNzI2NjEgYTdjMzRmNzI4ZjBlOGFkMTM5YWFmNTM1YTUyNmQ5ZjAxZjBmYzA2NyBsZWdhY3ktdHJ1bmsKKzcyNjYyIDkzZWQ2OGI5OTllNzU3Y2VlOTgyODI1NTMzNmFlNGQ1ZGQyY2VlZjEgbGVnYWN5LXRydW5rCis3MjY2MyA4OGQ5NjViZTg2MTcyNWRmZjIxNTM2MmIwYjAwMjhhMGJkYWU5OTBjIHJlbGVhc2UyNi1tYWludAorNzI2NjQgZDkwMmYzNDk0NDk5NjA4YzJlYzA0MzQ2ZGM0NjZmNzIxMGU0NjFlYyBweTNrCis3MjY2NSBkZDkxNThmYjA4Njc4M2Y0OGY5MWRjOTE2OWI0MmFjODE5ZTU3NDNkIHB5M2sKKzcyNjY2IDliYjJhMTM3MWRkYzQwMDUxOGYyMGRhNjcxZTU3ODY3NzUyMzQzMWIgcHkzaworNzI2NjcgZTVmMjg4NzZhZTZjOTNiYWU5ZTg3MGViNGQ2ODEzYjQ0N2I1YWU4ZCBweTNrCis3MjY2OCAwZDhkYjgxYTc4NmM2OGFjZjFhZmUzN2ExZWQ4ZGE3N2NkODc3NzczIHB5M2sKKzcyNjY5IGM0MGYxODdhZjZkZGJjZjc5OGExNzRhMmMzOGNiNjRkYzYwNzE4ZmUgbGVnYWN5LXRydW5rCis3MjY3MCA4NWZiNGMyMjlhOWNlYzIxYzgxMzU0NmUyOTg2NjYyZDY5OTBlNGUyIHB5M2sKKzcyNjcxIGI0MjYxZGE0ZWE1MGMzNzZmNDA4NDZmZTVlZTk2MjYxMDhiOThmMGEgbGVnYWN5LXRydW5rCis3MjY3MiBjZDRhNzgyN2VkYjY4YTU2OWQwZGM2YTVlNjI2MzRmZjZhZTg1ZjViIHB5M2sKKzcyNjczIDE4YjJmMmNkMDc0MWY0YTIzZDNkMGU5MjNhZmQ5YTQ2NjM1NGI2M2IgcHkzaworNzI2NzQgOTYxMDk0NzA1MzcwMjkwY2M1ZmQ3ODM4OWY4MjU2MDEwZDlhMWMzMSBweTNrCis3MjY3NSA5MGUyYmZlNGY2MGU3YTI1MjQyZDJiNWIyODE3YTg4YjkyNzU5ODY1IGxlZ2FjeS10cnVuaworNzI2NzYgMzRiNjBiNzM2YWQzM2Q1NDgzNjY1ZTlkMDM5ZDdiMTU2YzIxMjI4MyBsZWdhY3ktdHJ1bmsKKzcyNjc3IDJjYTExOGNhYWU3MTZhN2M3NmQ5ZjBiOGRhZWY4YTY1ZTAxNzNmZGEgbGVnYWN5LXRydW5rCis3MjY3OCA3OTA5OTJiZWRkNjFkMWU3YWZjMTJmZGNlYzg1YjY0YmZlMGQ1YjlkIGxlZ2FjeS10cnVuaworNzI2NzkgOGU4ZTg3YzFlY2I3ZWM1N2RlMTUwM2MxZDRlMDgxMTk5N2Q3MmZjNiBsZWdhY3ktdHJ1bmsKKzcyNjgxIGQ1MTRhOGI3YWU3OGFlMmFiYWM1MGQ3ZTIzMzdlZjdmYTZhMmQyZGQgbGVnYWN5LXRydW5rCis3MjY4MiA0M2ZjNDVkM2NiMjE2YjVlNTQ4NjU4MTNlOTk1ZWFhYTE5YzE3YTliIHJlbGVhc2UyNi1tYWludAorNzI2ODMgYWM2NjBlYTM1ZjUyNWRhMzYyYzFiYjYwZmYyYzUwYzU1MWE5YzRkMiBweTNrCis3MjY4NCBjM2Q0ZDkzYzg5ZTI1N2VlNmNhMDM5NmFiMTdlOGRmMzk4NWQ4YTQ5IHJlbGVhc2UzMC1tYWludAorNzI2ODYgZjFiZjUzODc4NmI3YzllYmI1YzIxYTUxN2UwZGNkZWJjODljZDlmYiBsZWdhY3ktdHJ1bmsKKzcyNjg3IDk4OGNhOThkOTE5NjJiZmIwMmZlYmE2NGFhNjFiMDQzY2I5MWM3ODggcmVsZWFzZTI2LW1haW50Cis3MjY4OCBjYTc4NDdkM2M0NTE5NGYwYjg5NGNmNDQ1NGIzZmYzZWJjNGI1OTlmIHB5M2sKKzcyNjg5IDFmOGFjY2QxZjQyYWQwMDRlZmJjMmQyNWNhODVmNDhlNzgyYmE3MGYgbGVnYWN5LXRydW5rCis3MjY5MCBhZTAwNjM4NmVjMzkzYjI2MzRmM2E2NmZmNjM0ZTAyZGI3NjljNTMyIGxlZ2FjeS10cnVuaworNzI2OTEgZjlmOTk3YzFmZDgxM2M3NTMwYTU1NmFmNjYwYzE2NzdmN2U3ZGZmNyBweTNrCis3MjY5MiA2OTU2N2EwNWQ1ZTY1NzM2ZGMzMDRiYjc5NTdkOTkzODRkY2EzOWZiIGxlZ2FjeS10cnVuaworNzI2OTMgM2FhNmE4NjNmZjA2OTFlNThjZGIyNTkyYjJjNDA1MjJlOTlkZWI4NyBsZWdhY3ktdHJ1bmsKKzcyNjk0IDFjYjgwNGEyZTAzODc5Njk3YTJkNGFhODk5MmIwZGY0MmVkYmRlNjggbGVnYWN5LXRydW5rCis3MjY5NSBhMTk4ZThkMzZlYzNiNTc4MDFjZjI5MzIyZTM2MzUwNDdkNWU1ZmY5IHB5M2sKKzcyNjk2IGE1MzU5NjA5NDQ0NDEzODZlNDQ0N2Q4MGU4N2UxZTY0OTI0ZTAzMjEgbGVnYWN5LXRydW5rCis3MjY5NyA4M2RkMmIyNTJhMjc2NDZjOGFhMTU2Yzk0OGIxMTZiOTRmMzI4Mjk2IHB5M2sKKzcyNjk4IGQ2NGQ0N2VlNTRhMTgxNjhmZDkyZjJlYjQxMzM4ZWMyYzAwYmU2YWMgbGVnYWN5LXRydW5rCis3MjY5OSBkY2RhNDQ4Y2E2NmU4NzI2YjY2OGY2ZWU0MDZjYjRlN2NjZjIxYmQzIGxlZ2FjeS10cnVuaworNzI3MDAgMGUzYWNlOWY3NTE2ZGI0ZmY1ZGY5M2I5MDNmNjFkZDI4MzExZjU4YyByZWxlYXNlMjYtbWFpbnQKKzcyNzAxIDc3Y2ZlZjU5NmQzMzUwYjU5NzAyZGYxZDQ1MzJlM2JkNzEwMmM1OTMgcHkzaworNzI3MDIgOTAxYjRmZmZlYTFmODBkZWNhYjcyNGUzNDMyNjg5ZmM3NTI2N2YxMCByZWxlYXNlMzAtbWFpbnQKKzcyNzAzIDliOTJkMmI4NmJhYWVmMjExNGUwOGY4ODBlNWRlOTQ3YTkyNzgwMjEgbGVnYWN5LXRydW5rCis3MjcwNCBkMjczMmVhOTliYTA4ODgzZjU4Y2MyYjRjY2I1YjY5YWM3NjNjNTIwIHB5M2sKKzcyNzA1IGU4ZjFhMDA3NzcxYWE5MGI4ZjA5MmM5NTEyMDMyYzRlZjAyMTUwNTAgcHkzaworNzI3MDYgYjIyYjJkYWFlYjQ0ZjM5ZTliMzI3NGNjZjA5YTExZTlkZTNkYjAwNCBweTNrCis3MjcwNyBkODQxZjk3MjQzYjU3NGFkODUzM2U2OTQwODc5MDk4OGUyYjZhZmMwIHB5M2sKKzcyNzA4IGI1MmI5MmYzMWZhODg5YzFhNTQ4YWVlZTFiY2YwYzc2YWQ4YWVhM2QgbGVnYWN5LXRydW5rCis3MjcwOSBmNDNmYzExOTNjMmFiMzg4NDc1NjlkZWE1OWQ2NzAwOTBlOTE0ZDU5IHB5M2sKKzcyNzEwIGU5YzA4ZmZhOTg5NTEzNWE4ZTFkOTMyMTAzN2E2MTUzYTY5NTAyZTEgbGVnYWN5LXRydW5rCis3MjcxMSAxMGNhMTFlNTk4ZTY5M2NmMzcyNjgyNGNjNzA4MjNjYjBiMDY4MmM2IHB5M2sKKzcyNzEyIGM1Yjk4MmFmMjA5ZDdiYzM4YjM2YzkwMmQ3OGFiM2NjOTBiMjJiMGUgbGVnYWN5LXRydW5rCis3MjcxMyBmZThkM2ZkNjZkMjY0ZWMyMDkyM2FmOWRiZDg4Y2Y2ZmQ5YmFjNzA4IGxlZ2FjeS10cnVuaworNzI3MTQgYjZiNDU0YjA2YTdiMzVjYTExYTBhMjY1MTY3ODZiNmI1MzlkZjcxZSByZWxlYXNlMjYtbWFpbnQKKzcyNzE1IGZjNzkzNWRlOGU4YWRhOGM2Yzk0ZDM1Mzk2OGU1YTc1YWJkNjE1MTUgcHkzaworNzI3MTYgZDQwNzI5NzU1ZWRmY2MyNzJlZWNhZDNmMDE5MDAyMzQ4OGZhMzhkOCByZWxlYXNlMzAtbWFpbnQKKzcyNzE3IDM1YmNlODBhMjVmODk5ODZhZWJjYTE0NzgyZjI0ZjM1NWI5NTQ3NTcgcmVsZWFzZTMwLW1haW50Cis3MjcxOCA5OWI0MDA4NjE1NDNlYTQ0MjE2N2NmOTZmOTJlMmM4ZmMyZWE5YTQyIGxlZ2FjeS10cnVuaworNzI3MTkgYWRiYzY2MmZmNGMxZDI4YWJiZDA1MjFkYjU3MmEwZmMxYmExN2Y1ZSBweTNrCis3MjcyMCAwZThjOGIwZDg2NjllNDlkNTgxYjU4NDIwYjNlMjhjYWJjZDcwM2M0IHJlbGVhc2UzMC1tYWludAorNzI3MjEgZjI1MzgxODNkMjYyMWZhMDA5YWUyY2RkNzJkMjgxMWIzMzNlOTFkNSBsZWdhY3ktdHJ1bmsKKzcyNzIyIDlkODFlMmM0MzhkYjk3MWI1Y2IwOWE5MDVlZWIxYWYzYTE2YThmZTggcmVsZWFzZTI2LW1haW50Cis3MjcyMyBlMjIxNzM2MWViMzdhN2JjODRmMTcxMjZlZGM4ZjZlZmFkODJjMGVkIHB5M2sKKzcyNzI0IDEwOGU5MGI4OTIzZWEyZWE5NWNlMGNiMTg4OGNiZWM5ZDEzMjZlNWUgcmVsZWFzZTI2LW1haW50Cis3MjcyNSA4MDZlZjNhMWY4NThkMTQyNmJkYzMwYjQ5M2QyNDlkZDlhNmI0YzI5IHB5M2sKKzcyNzI2IDM2NzhiMmQzNjBjNjk4NTQ4OWQ1MDYxMTk2OWIzYmM4MTU2MTEwODggcmVsZWFzZTMwLW1haW50Cis3MjcyNyBkZjM4MjY0NzJlM2JmOTFjZGVkN2I5NDBlZDJjNWI4ZTg2ZGIyOWFiIGxlZ2FjeS10cnVuaworNzI3MjggZjBiMDlkMDUzOWMwOTk1NzRmODU0MjU5NWJkMTkxOTBjZGFlYjA5YSByZWxlYXNlMjYtbWFpbnQKKzcyNzI5IDU2YWRmODY0ZjM4MDhkZDIyOGJjYTg0YTlhOTg5ZGY5NmU2MWRmNjEgcHkzaworNzI3MzAgOGZmZWFmNjQ5OTcwOGVkNmY3NmNiMDM0Y2RhMzhjMjIzZjQwMjk1NSBsZWdhY3ktdHJ1bmsKKzcyNzMxIGMwMDliMmIzNDgxZjljZmM1ZWQ2MjE5OWE1OWUwMDQ0NGJjM2NmMmQgcmVsZWFzZTI2LW1haW50Cis3MjczMiA4NzgzMDQ2MWFiNDI5NzJjODFmMzZlMjZlOTBhZGI2YWRlZTkyZDRlIHB5M2sKKzcyNzMzIDc2YTlmOWNiNDM4ZjUwOTNmM2ViMDYxYWQ2YmNkM2JkY2FmMDljNjMgcmVsZWFzZTMwLW1haW50Cis3MjczNCA3MTE2ZGUzZGJlOTgzYTZkZjM5NTI3YzBlYjIyYjUwMWM2NGMzMGU3IHJlbGVhc2UzMC1tYWludAorNzI3MzUgZjY1ZGUzNmYxODVjNWNkNTAzZmQ2MDI0ZDMxNDc1Y2ZhODc3OWYyOCBweTNrCis3MjczNiAxNzhmNzBmYzQ3OGQ3OTZiNmE5YTllZTI3YzhjY2NhMzMyMTMxY2U5IGxlZ2FjeS10cnVuaworNzI3MzcgM2JmZGI4ZDcyNTYwZmNmYjJkYzdhMGEyMzk1OTM0NGEwNDE2ZThhOSByZWxlYXNlMjYtbWFpbnQKKzcyNzM4IGZiNTlhNTI2NGFlMjVjOTUwODhiNTViMzQ3Njg4YWZlYmJhMzg3ZDAgcHkzaworNzI3MzkgODFjNTc5MDBhMTgyNWE4MDNhOGZkOGJhMDUzZjA2YjhlZTM4YmQyOCByZWxlYXNlMzAtbWFpbnQKKzcyNzQwIGZiYjMzMzkwYjI1NDliMmY0ZTA1MDk1YzY2ZThiMWU4ODdmMTdiZmMgcHkzaworNzI3NDEgOTA0YTFiZDM1ZTAwODkyYjU0Yzg3MGY0NGVlMjJhOWU1ZmYwMjU0MCBweTNrCis3Mjc0MiBkMTQzZWI2MjRjZjVlMmZiZmI5YzJkM2ZiZTJmZjAyMTRjYTMxYzE0IHB5M2sKKzcyNzQzIDc0YjY3NDhiNjNmNWZjYWIxZjMwZGI3N2ZjNmZkMDQ1NjNhOWZiMjIgcHkzaworNzI3NDQgZDA5OTRhNDJiNTk3NWIyNjBlNzViODAxMzA0ODdhOGE3YzFhNjUxMCBweTNrCis3Mjc0NSA0MWE2OTI2MjdlZWIzYzUzMzgwNDdmMTQ3YTE5Y2Y3Njk3YWFmZGVmIGxlZ2FjeS10cnVuaworNzI3NDYgN2NiMGE0NTQ3ZjBhMGY4MzJiZjY2ZTczNmMzZThlYjZhMzJjN2UzZSBsZWdhY3ktdHJ1bmsKKzcyNzQ3IDBmZmM5NTU4N2Q3YzQ1NjAzNDA1YWJiYzg5NzA0NTFjOWYxNWJjNDggcmVsZWFzZTI2LW1haW50Cis3Mjc0OCAxN2QwNzhjNWQ2NWI1MjI5OWYxMWJjYzg2ZjU0MDZhOTU0YTRlYjk1IHB5M2sKKzcyNzUwIDU4ZDNjNDU0YmMzNzI0MzhiN2EyODE2NTZiNzM2N2ZiYWExNjhkNjMgbGVnYWN5LXRydW5rCis3Mjc1MSBmOTM1Yjk1OTgwMzk4ZDBkMWFmNDI1ZjEyMWZlYmUxMWZjZGJhYWVhIHB5M2sKKzcyNzU1IGE3YWQxNjk2ODY2YjRkZDk2OTJmMWQ0NTExYjhkMDY3OWNiY2MwN2YgcmVsZWFzZTMwLW1haW50Cis3Mjc1NyAyYjdjYjQyZGRlMTE2N2YwNTc3NTcwNTg4NDU5OGM0ZjA2OTZiZjBmIHB5M2sKKzcyNzU4IGUzYmI2YjYyYmQwZjUwNzVkNTdjOWUzMWMxNGUyYmY0YmY2MWI2MzUgbGVnYWN5LXRydW5rCis3Mjc1OSBkNDczZmJhNGVjNjc1N2IwODU0MDM4MjRhZjFkMGM2ZjkwNDc2MTczIHJlbGVhc2UyNi1tYWludAorNzI3NjAgOTRkMjgzZDNkMDBiZjc0YjcxNzUwNzQwYTI5ZDVmYzM0NDYxMDkxMiBweTNrCis3Mjc2MSA2YTM1OWZkMjQ2NjkzZjQ5YWY2NDBiMGMzYTIzZDY2NTFhYzc1MTVlIHJlbGVhc2UyNi1tYWludAorNzI3NjIgMTcwZGRmOTYwZmRkZDhkOTM5MjA1Nzk0MTg5OTc5NWY1Njg3NDcyOSByZWxlYXNlMzAtbWFpbnQKKzcyNzYzIDcxZWM0ZmM2ODNhZjkyNjM0YmMzMDk3MDgzOTBiYTkxOGNkNjA5MzggcmVsZWFzZTMwLW1haW50Cis3Mjc2NCAxNDNhZWNjODBiNmI2ZDViMDM0MzU2YzlkN2FkNmYwMGYyNWZjMjNkIGxlZ2FjeS10cnVuaworNzI3NjUgMmQwNmEzMmExMmUzNzA2ZmUwYjVkMzFjMDY1Y2ExNDEyNDkwZTMzOCByZWxlYXNlMjYtbWFpbnQKKzcyNzY2IDczN2IzZDRhY2JiOWZiNzAxN2FlNDJmZThjMDYzZjdhMmRmZDllZjQgcHkzaworNzI3NjcgNjhkY2U2NTUwNmQ5ZmFhYjAyNmQzZDRkNmRmOTU1ODhiM2U4OTJkMSByZWxlYXNlMzAtbWFpbnQKKzcyNzY4IDhkMjYxYjc2ZGE0NmJmOTRiNjBlZjFmMzBlMTIzMGVlYWYxMzE4YTIgbGVnYWN5LXRydW5rCis3Mjc2OSBjZWU4MGQwNmY3Y2U5YzQ2MzhhZGZiMWFlZjViOGNlMWMwOTZiOGRmIHJlbGVhc2UyNi1tYWludAorNzI3NzAgOWEwN2U5ZDYwOTNhZGE0MmUxMWQ0OGQwMjdjNjA5NjlkZWNiNzFjZSBweTNrCis3Mjc3MSA3ZmY3YmVmMzI5MTE2OTQ0MzFjMTc3MGI1ZmI3ZDY1OTc0YTViNWY1IHJlbGVhc2UzMC1tYWludAorNzI3NzIgMDBlYmJmMWNlOTM2MDI2ODAyOWEyYWYyNzk5ZjZiYTEzZWVlNmYyZSBweTNrCis3Mjc3MyBhZTIwZjFlYmVjMjFjY2VhMzg5MzhhNmJmNjgxNWUwMGIwYjJjZTUzIHJlbGVhc2UzMC1tYWludAorNzI3NzQgZGFjYWQ0MjgzNmRkNjAwYzc4OTRjMGY0OGFhNTBkMDJjZjI1Nzk4MSBsZWdhY3ktdHJ1bmsKKzcyNzc1IGMxMzY4ODdkYjdlZmY0Y2IwMWZjM2UxZTM0ZGM1ZTk5ZDg2NWI3YzkgcmVsZWFzZTI2LW1haW50Cis3Mjc3NiBkODM1MGQwNDRjZjIyOGNkNmY5ZjdjZGI3NjcyMzFkMzEyMzMxNDExIGxlZ2FjeS10cnVuaworNzI3NzcgNjM5NTM0N2MwMjc2MjZhZDNmZDdiNWQzNTA3NzllOTU4NzI1MTJlOCBsZWdhY3ktdHJ1bmsKKzcyNzc4IDk0NWM2NTc0NDdkMjFlNjY3OGQ4NDU2NTBjMDllMWNlZmRkMWMyMjQgcHkzaworNzI3NzkgOGYxNzM2M2I5M2U2ZWQxYzRhN2NiMjZmMWI2NjNkMjJkYTI5MWY5ZiBweTNrCis3Mjc4MSA4ODNhY2U3ZWE0NDY2NjQwZWExZTdmNmU2MzQxZWI2YWRlZTk1NjMyIGxlZ2FjeS10cnVuaworNzI3ODIgMjkwMWIxM2ZiZDdlNjJlNGY2YjIyOGJmOGNhMmEyYjgzODQyYzVkOSByZWxlYXNlMjYtbWFpbnQKKzcyNzgzIDkzOTRhODJkOGRlMTY5NWYyZTE5OGI0Y2EwMzM2MjMwOTdkOGM0ZjUgcHkzaworNzI3ODQgNjllOTQzNGU0NTBhZGViZGNhMmE3OTE2MmVmNDM1MTMyMjk3NDcyNSByZWxlYXNlMzAtbWFpbnQKKzcyNzg1IGY3NjUwYTBlOTBhZGI1ZjZjODRmZjQyYTEwYzRhMjFkYmM0YTE4YjcgcHkzaworNzI3ODYgNzRiZGIwZTUyMTJiZGYyMjE2ZDUxNGEzNzdlYjY0Njg1OTExZWY5YSBsZWdhY3ktdHJ1bmsKKzcyNzg3IDc2YzQ0MTRkMTBhNmMxYzE2MmU0NTQ1YTNjMGU1YzRjNTIxODExNjMgbGVnYWN5LXRydW5rCis3Mjc4OCA2ZmQwMDllYzIyNGE3MzlmOGZkMWRkY2MxNTU5YWMxMGZhZjUwYzQxIHB5M2sKKzcyNzg5IGFiMjNmZjIwNDdhYTBkOGE5YTk1ZDY0NzQ0ZDY4NmUyMDFkYjExN2EgbGVnYWN5LXRydW5rCis3Mjc5MCBjN2ZkNzQxYzcyZWJlYmRmNGMyYTQ3YzljN2VkMWYwYTM2MmU1NTc5IHB5M2sKKzcyNzkxIDA1NjI4M2E1YzVkYTAwMmVkZGExZmI2ZmY2ZGIwZTA2YWM3M2U1ZmUgbGVnYWN5LXRydW5rCis3Mjc5MiBmMjc1ZDZhMGExZDE3Nzk3M2U0MTQwYWJhMDMxMTk0MDZjOGYxMWU5IGxlZ2FjeS10cnVuaworNzI3OTMgNmZhYjhiZDE1ZDcxMGQ4NTE3N2ZmN2YxYmUyYTgzZjViYzAyOGNmMyBweTNrCis3Mjc5NCBhNTJjZWNhYmZmZDRjMzI4MDAxMDQzZTU5NGI4MzFjMzRiYTQ0NGNlIGxlZ2FjeS10cnVuaworNzI3OTUgYmRkZjExZTYyMjAwMDJhOTJmNjU2MDA3MGI5Nzg1N2RlZGI2ODM0YyBweTNrCis3Mjc5NiA0Y2VlZWZiODU1NWU2MzlhYTlmODg3ZTQxYzE0ZWMwZjIxYzJjNmJmIGxlZ2FjeS10cnVuaworNzI3OTcgYWQ3NzIyNjExMWIyNjMwYWRiMzY1NWIzZDVlMTYzMTQwYjE3MjYyYiByZWxlYXNlMjYtbWFpbnQKKzcyNzk4IDA4M2JhMjQ5MDVhZDkxOTc4MjhmMjRhNTYxZmRkZjYzMWNjZDBmYjUgcmVsZWFzZTMwLW1haW50Cis3Mjc5OSA0ZmE0Y2E0NTAzYzhkZjYxZTc5YmUwNGQzNTBiYWQzOTY5Mjg2ZjZmIGxlZ2FjeS10cnVuaworNzI4MDAgN2UyYTZjMWRjOWQyMjM2M2Y5MWI5MmNhZWE0ZjNkZDU4YmRjZTk2MCBweTNrCis3MjgwMSA2ZTQwYWRkM2VlMDJhN2FlY2MzMDc2MWVhODU3NjQ5ZWU5NzgzN2QwIGxlZ2FjeS10cnVuaworNzI4MDIgMDIzYTM0MjhmMWFlZjY4ZDQ3ZmFjNzIxZDJhOTg1NDBiOTg3OWU4MiBsZWdhY3ktdHJ1bmsKKzcyODAzIDY3MGZhMGMwZmY5YWYyZTY3MTFmZmRmN2RlM2M4MDcyNjFhZGU4NDQgcHkzaworNzI4MDQgODkyMTMwNGI1ZjkyMmE0MTViZGI3YTBkZDI0YjBiOTcwMmE4NmRjMSByZWxlYXNlMzAtbWFpbnQKKzcyODA1IGQyY2NkODllOGU2Yjk1MTNkMmU4YzY0OWVkNjZlOTJhOGI4MDI2OWIgbGVnYWN5LXRydW5rCis3MjgwNiAzNzllNjNiY2JkMDQ0OGY2YTIwNjcxZWM2OWUzODI0ZGQ0ZWY4YWViIHB5M2sKKzcyODA3IDkzZjRhOWFkMjZmNjhkMzNiZjgxYjgyYTA5MzRmNjQxMThmYzE0YmYgcmVsZWFzZTI2LW1haW50Cis3MjgwOCBiMzMyNmZlNjMyZTVhNzkzZTE5NmQ5MTRlZDM4MGMyYTZiNTQ2MDYwIHJlbGVhc2UyNi1tYWludAorNzI4MDkgMmQ2ZmZmOWZlOGFiNzM2ZmYyMWE1OGFhZjllNmZlNTliZTBhOGQ0YyBweTNrCis3MjgxMCA0NTAxYjYzOGZjM2YyOTQwZDMyYmViNmFmNjYxNWZiMWI3Nzc4ZmE3IHB5M2sKKzcyODExIDlkNjQ1N2YzYTNlZGY0NWEwZTJjOTQ5ZWZiMGZkNDhkZjUzNjVlZGMgcmVsZWFzZTMwLW1haW50Cis3MjgxMiBlYjliMWFjM2Q5ZDg3MDQ2ZmVmY2U1NjY4Y2YzMGExOWFlMjNlMWQ4IGxlZ2FjeS10cnVuaworNzI4MTMgY2MwNTU3MzU2MDE0YmQ1ZWJkN2YyYTc1MWQ3M2U5ZjY5YzEyNTRlYiBsZWdhY3ktdHJ1bmsKKzcyODE0IGQ2MWFiMDQ0ZmRmNGQxODBiNTRlNDE4ZDc0OTk3MWI4NDFlMDEwZWEgcHkzaworNzI4MTUgNjA0NDQ0NTAyZWEwMjc3ZjM4ODAzNTg0MjA1ZTVkOThmNTI3ZGMxZCByZWxlYXNlMzAtbWFpbnQKKzcyODE2IDJjMzViODE2YWMwZGFhZGFiOWMwYzA4MjBhZWI2MWRhNDFkOTUwNzUgcmVsZWFzZTI2LW1haW50Cis3MjgxNyAxYjYyYmZmZDJlZjJlMGQ1ZmUyYmZhNDI4Y2NlOGJkNjg2ODNlOWMyIGxlZ2FjeS10cnVuaworNzI4MTggNDJkYmJlZTY2YzMyMmFjNjQ1OTBmNTFjMjRkNmNmOGQ5OWIyYzQ0NiByZWxlYXNlMjYtbWFpbnQKKzcyODE5IDRmYmNlNmQzZmU4NjFkZTdjZDVhNzYwYzk1MDc0YjE5YzhiN2JiZmMgcHkzaworNzI4MjAgZmFlM2E3N2QyMDMyMTkxOTdjMGM2ZTkyYzk1OTY0ZWM4YjRmZDBhZCBsZWdhY3ktdHJ1bmsKKzcyODIxIGI2NmRhZmI0MDY0OTQzMzVlOGIzM2VlNWIxMjRjNTIwMDY5YjNmZGUgcHkzaworNzI4MjIgNjA3NGZiNDExNjIxNmQxMjNlN2FlZTk2Nzg2ODY2ODUzYzBiMWU2OCBsZWdhY3ktdHJ1bmsKKzcyODIzIGM4M2ExNzJlZTkzMWU1NzljMzcyYzhiOTY5MGEyZjBmNzA3ZjJhMjIgbGVnYWN5LXRydW5rCis3MjgyNCBkZmU4OGQyMDIxODBlZGQ5ZmY1OWI0NTNmNWJmZWUxM2RmNjI0N2ZlIGxlZ2FjeS10cnVuaworNzI4MjUgYWFiMTE3ZTZiYjE2YzI3YTJiMTAxYTU4YTBmMmVlNzFiM2MyN2FhMCByZWxlYXNlMjYtbWFpbnQKKzcyODI2IGM0MDgwNzQ3M2EzNzlkNDFiM2IzNWZiM2E5OTA2OTY0ODY2MGFiYmYgbGVnYWN5LXRydW5rCis3MjgyNyA4NDBhMDlkZTY4YzNkMTQ1OGRkZmU1NDkyNDE2ZmU1ZTViMTVhNzMyIGxlZ2FjeS10cnVuaworNzI4MjggZjIyN2ZmMzRlMzNkNDhmMjM0MWU1M2RkMTUzOTliOWM3N2NhOTkyZSBsZWdhY3ktdHJ1bmsKKzcyODI5IDM1NDA0NWJiNzMyNjE1ODliZGUzNTNkMTczZjAyY2I5NDM0ODI2MGUgcHkzaworNzI4MzAgNzNkYzcyODQ5ODUzZDE0YTE1NjA3YTRiYmRjM2YxOWNhY2Q0OGI2ZCBsZWdhY3ktdHJ1bmsKKzcyODMxIGRjNDdmN2M2NWQzMDhhZDk0YTA3OGU4NTY2ZjMxYjEzNDkwMDgwNTIgcHkzaworNzI4MzIgNjM2NGU5MTFlNGNiMzYxZmVkNTQ0OWJhNDI5Y2NhYjhiZjczNTg2NSBweTNrCis3MjgzMyAyNTljODY1NWM1OTIzMDNhNTRlMDI3YjAxMjhkNjViMzU2MWQ3Nzk3IGxlZ2FjeS10cnVuaworNzI4MzUgOTg3YmI3MzRlMzc2YzE4N2Q4MWI1MTBmNDk3MmM1NjMzZDk5NWFiYyBsZWdhY3ktdHJ1bmsKKzcyODM2IGU1ZGQyNDI5YWNiMzNlYWEwZGJmNmMxOWFhYmYzYWI2ODQ3ODVmM2UgcHkzaworNzI4MzcgOGJlZDZlNmJiOTg0MmIxZDM2MmQ0ZWZhZjAyNmIyMTQ3NWU4ZWU5YiByZWxlYXNlMjYtbWFpbnQKKzcyODM4IGQwZWE3OGU5MjRhNjkxYWE0ODhkMTg1ZWZmNDcwODNmMjEwMTg0MGYgbGVnYWN5LXRydW5rCis3MjgzOSAwNGE0YjdkZjJkNGQzMGY2OTE2ZTNmMGY2ZjMwODMxYzMxZDUyZGRiIGxlZ2FjeS10cnVuaworNzI4NDAgYzhlMWQ3ZjIyNTJjNGYwYzQ4ODRhMjQ1NzA5OWQ1OTI2ZjNjNDBkMiByZWxlYXNlMjYtbWFpbnQKKzcyODQxIGYyNDU0ZDcxMjk4YWNkNTlmM2NhMjQ5YjA1NGVmYzZlNWQwYWFlODQgcHkzaworNzI4NDIgYWIxYjVhYzM0NGQ3OThjODE0MjM2YjQ0MDY5OWUzMDk1Yjc1NDI4YyByZWxlYXNlMzAtbWFpbnQKKzcyODQzIGViMjBjOTUwMDZjNzYzYzNmYTJlYzljNzdhNWNhOWYyMjc3ZGZhN2YgcmVsZWFzZTMwLW1haW50Cis3Mjg0NCAyNTNlY2FlNjQ3OGE0YzU3OTVhYmRlNWY4Yjk1MjE5MWEzYWQ4NzE3IHB5M2sKKzcyODQ1IDQzNWJjYTA3ODFlM2RiYjgwNjU2NDMzNjY5YWY5ODQzYzE1NGZjNGEgcmVsZWFzZTMwLW1haW50Cis3Mjg0OCA3M2Y2MjczMWIxZTZlNGU5ZDQ1Y2M3MzczYjBiYzY0ZGE4N2FiZmQxIGxlZ2FjeS10cnVuaworNzI4NDkgZDJkMDI4ZjY1YzdjNjIxNGY0YjNlZDVmZGFlMjdjNDAyMzAxNzFjYiByZWxlYXNlMjYtbWFpbnQKKzcyODUwIDJiY2FjMDhjZmM2ZGJkOTY2ZDY2OTljNzQ0ZTAyOGZkNWViODk0OGYgcHkzaworNzI4NTEgZTk2NTczZTdjNTE4N2RlOGE3ZjgzNDFkMDY5NWYzMmMwYTViNGY1MSByZWxlYXNlMzAtbWFpbnQKKzcyODUyIGMwOGJiYjg0MDYyZTAxNTVkNDUyYzhkNzBiZjMzNzc1NTc5MWM4Y2MgbGVnYWN5LXRydW5rCis3Mjg1MyAzZTdiYzc0OTM0YTFjNzA3NjY2MjQ4NzcyODM0ZDgxZTNiNjgyOGE2IHJlbGVhc2UyNi1tYWludAorNzI4NTQgZDVjNTgyZjQ2YmM5NGM4YzQ3MDI1MDEyYTBlMTM5ZmUxNmIwOTA2MCBweTNrCis3Mjg1NSA3Y2MwZmIwNzY4NDcxYTg0YzY5NTg0NTVmN2EwOGY1NmMzNGU0ODdjIGxlZ2FjeS10cnVuaworNzI4NTYgMWI2ODlkNTc4ODhkNTVlNTExNGJmNGI0NjMwMjZmMDFkYjYzZjFjYiBweTNrCis3Mjg1NyBlMDY0NTRjMmNjMGJmZmFlY2I0MjFlODMyZmMxYmE4ODM1YjA1MDdiIHB5M2sKKzcyODU4IGIxZTM1MWNjNTliNzQ3NWEyNmQwYTllMTE3MTllYTQ0ZDAwOWRjOWMgcmVsZWFzZTI2LW1haW50Cis3Mjg1OSA1NGJiZmQ0MWJlNjY4ZGZjMjNjMDgzNTEwMjExYWNjZGE3ZTU0MTMzIGxlZ2FjeS10cnVuaworNzI4NjAgOWZkMWQ1NGY2MTdjZjBmN2RjMDQ1MDgzNjk2YjM3YjUxMWM5MjA1NyByZWxlYXNlMjYtbWFpbnQKKzcyODYxIGRkYzlhMTZmYmVhOGRiOWFmZGE1MmQ4NWY1N2FmMGFmZDM1M2RlNGUgcHkzaworNzI4NjIgZTc4ZTBiZGJiYWM0ODE3NjhkYTAyNThhY2MxOGU3MzRiYzRkMmExZSBweTNrCis3Mjg2MyAwYTc4ZWZmYjVlMGI1MjA0M2YyYjQ3OGI1MmNiOTU4ZTkzODQxMDA4IHB5M2sKKzcyODY0IGJmMjg0MzA4ODU2NzE3ZGIwNGQ5ZGU1ZGZhNDQyYzFmYjQwZjlkYmUgcHkzaworNzI4NjUgZjlkMjYwOGUyNGU4YTM3YjRiN2ZjZmI3ZTY4MmU0NjBkZjFlNjdiYyBweTNrCis3Mjg2NiA5OTdlZjY4YmZhMTUxNzkwZDdlMTgzZmJjZTdmNDFhOTE5MDI5NmQ0IHB5M2sKKzcyODY4IDMzYTdjYjIwZjU1OGNhNTNjNTA4MTBmNTQxMGFiOWNkOTlmYzQ1Y2EgcHkzaworNzI4NjkgMjUyZDgxYTRmNjlkMmVjYjY0YWFmOWUyY2NhMzJmODE2MTU3ZDIyNiBweTNrCis3Mjg3MCA4NDYyNzdhNDIyNDkxMDQ1NTgzZDE3NWM0ZWZkODkwZTRlNTJiNDcxIHB5M2sKKzcyODcxIDE1MDk4NmFiM2RiMjg0Y2ZkMzhkNjdhMWFjZTJmMDRjMjc4MGJhZTQgbGVnYWN5LXRydW5rCis3Mjg3MiBiMjc4YjRiZGZmMWUyMjM5NWM1MGVkYTRmM2U0Nzg2NzU1OTUwNzY5IGxlZ2FjeS10cnVuaworNzI4NzMgZTE3YzE4YTZjYWVjNDc1ZGM2MzhlOTE0NjUzOGUxYzc0ZWU4MDRmMiByZWxlYXNlMjYtbWFpbnQKKzcyODc0IDg5NjMxZjYyNzgxMGU4ZDYyMjFlNzdiZmNjZDUzNTA1NTZlZWZkOTkgcHkzaworNzI4NzUgYmQyZmIxYmUxMzBlZjRmYmYzNmI4N2U4YjQ5MDZmODRlMDUxNjAzMSByZWxlYXNlMzAtbWFpbnQKKzcyODc2IGRiYTc2N2JjMzE1NWZkMmJhNDM2ODdmZmNkNzQ2ZTllOTZkYmJjZmMgbGVnYWN5LXRydW5rCis3Mjg3NyBmOTlmM2Q4YzUxZDU4ZmJmMGY0YzBkMzExOGUzNTZkYWVlYjNlMWViIHJlbGVhc2UzMC1tYWludAorNzI4NzggZDljZTNlNzQwNjc2NTU2OThiYTA2Nzc5NWU2YWE3OWJjZDdhNjU1MSBsZWdhY3ktdHJ1bmsKKzcyODc5IGRkZGY0MjRiZDY2OTY4YzA1OTVkNDJlZjQ0NGZjNWY2NGQ1YmUxM2QgbGVnYWN5LXRydW5rCis3Mjg4MCBlN2I0YTQ0M2Y3NjRhZWZiZGUxZjFhYmYzNGFmYWRkZWZjNjJjZGYzIGxlZ2FjeS10cnVuaworNzI4ODEgNjFiYmU1YzkwNTFiZmVmMmMzOWFjODIzOWI3NDE1MDEyNWUyNzcwYyBweTNrCis3Mjg4MiBhNTgwYTJlZTMxMjg0Mzg2N2U0NmQyNDkwNGQzZjJmZGI5OTA5MzE4IGxlZ2FjeS10cnVuaworNzI4ODMgNjI1YTAwNmEyNTNiOGYxNjQxZGU4ODA2NzE0NTZkOTI2YTg0MzFmNyByZWxlYXNlMjYtbWFpbnQKKzcyODg0IDk4OTc4ZTRmZDYwZmExY2M3NjIxNDk1ODgxMjdjMzlmYTZmOTQ0ZTggcHkzaworNzI4ODUgODMzZTQ2YzE0OTliZDc4MTJhMTNhMzY2MzY2ZDU5YzFlNzQ5YzgxMSBweTNrCis3Mjg4NiA0OGI3NWViMDI0MzRjYTYzMTQ2OGUxMTM3ZmJhYWRjNDkxNmQxOTBjIHJlbGVhc2UyNi1tYWludAorNzI4ODcgMzQyOGFjZDMxZTQ1NjQyNTcwNmNlZDhjYmRlZGM3YTE0ODEwOTU4NCBsZWdhY3ktdHJ1bmsKKzcyODg4IDFlMmMzZTdmZTYzY2Y0N2I0MmRhOGQ5NGM3MzI5MWM4MzI3YWY3MTQgcmVsZWFzZTI2LW1haW50Cis3Mjg4OSAzZDMwNWRlY2U1Njc0ZGM2ZGQzNDI5NTE4ZDNiNTkzMGRjMjE5ZWUwIHB5M2sKKzcyODkwIDVkYzMzZjQ2N2ZmNDZmMmY2MzA3ZGE1ZTNhMjYxMGM0Y2NiN2ZiNzYgbGVnYWN5LXRydW5rCis3Mjg5MSA5Yzc0NGRmY2Y0ZGU3NjVlNzcyM2I3NTViZjkyYjUzN2IwZDBkMWU3IGxlZ2FjeS10cnVuaworNzI4OTIgYjVlMDAwZDAzYjJjNGY5MjZmYzgyYmJkMWEwNGVmYzlhZTQwM2FkYiBweTNrCis3Mjg5MyAzYmUzN2VjNDNjMWJiMzg1ZmE1YmZkNjAyODc1MTRjZWM2MTcxYjQzIGxlZ2FjeS10cnVuaworNzI4OTQgZTY3YjFkMDcxZWQ2MWY1ZmRmYjgwMzZjZjcwYTNiYTM0OWQwZTJhMCByZWxlYXNlMjYtbWFpbnQKKzcyODk1IDUzOGY0ZTc3NGMxOGUyN2Y2NWVjMjIxMWE0NjYyZDNjZTE0ZjRkOWQgcHkzaworNzI4OTYgMWY0Mzc1NjE5YzljM2Q5YzIyNDc1NDczMjdjNWM3NDc5Nzg4MWIxNyByZWxlYXNlMzAtbWFpbnQKKzcyODk3IGIwNWY4NGFkOGVjYjBjM2UwZDllZmYxZTNiMDdhMTA1OTMwNjhlMWMgcmVsZWFzZTI2LW1haW50Cis3Mjg5OCBmOGNhZGZiNGExYTIzNzM4M2UyNjQxYzY1NjE4ODJhYTNlNzBiZGIxIGxlZ2FjeS10cnVuaworNzI4OTkgODAyNDE3NWUzY2M2OTk5YjFhYjZhYTlmYTJiMDYyMzEyZmMwZDkyZiBweTNrCis3MjkwMCBiZmU0MDI4NTkzZTExMThlMTVkN2FjZTVjYzMwZjhiYTE1NjdhZTAwIGxlZ2FjeS10cnVuaworNzI5MDEgMDQ2ODhhYTU2NGM4NWVmMmJiNjUwZWNiNDVkOTJlN2E2NjA3NTAzZSBweTNrCis3MjkwMiA1NjU0MTNlZTljMWIzNmQ2N2ZmNjNiNmZmNmQ4ZjExNWY2ZmU0OGJhIHB5M2sKKzcyOTAzIGQ3NTA3OWRlMmU0NmU0MDBiMjI4ZWU5OThmZTM5YjhmM2NjYTEzZWEgbGVnYWN5LXRydW5rCis3MjkwNCA3MzkxZDg4YjNkODJjZDE4MjdhODQ1NDgxMTY1MDQzNWM3MjY1OTFiIHB5M2sKKzcyOTA1IGI5Yzc4ZmI2ZDcxZGJkMTY2MmIxMmRjMTVlNDYxMmQxZDA2ZWVmYTAgbGVnYWN5LXRydW5rCis3MjkwNiBlYjBjZDgzYzg0YWJmZjM0NzQ0N2I2YWRjYmYxNTM1MzBlOTYxMTIxIHB5M2sKKzcyOTA3IDBjNjE3YjdhNzI3YWUwYWFhYWM5ZWRlNmIyOTJiNjFmMWVhNTM1NDUgbGVnYWN5LXRydW5rCis3MjkwOCBkYjIxMjg2OWQ4MTQ2Y2RhYjkwYWNlYTAwZTlmZWI0OGVjMjAzMTZlIHB5M2sKKzcyOTA5IGM3NDk2N2ZlYjAyMWFhN2E5OGY5MmFhNmZhZjI0ZjBkM2I1MzFkMjEgbGVnYWN5LXRydW5rCis3MjkxMCA1YWIyZjZjYTY1YWFmYTAwOGI3NjVlYzE0NmY3ZTQ1YmI3ZDI4ZDA5IHB5M2sKKzcyOTEyIDE0NTM3NmRmM2FkNzI4ZjcwNTJmZGQ4YjZlYmE2MDBhODMxN2ZlY2UgbGVnYWN5LXRydW5rCis3MjkxMyBmMjliZTcxMGMxNzRkMWMzNDM3NzcxZDE2OTg2NTE5MTg3MDI5Y2NlIHB5M2sKKzcyOTE4IDM5ZDNhNzVmYTgyMTg0MTAyZjM0Njg1ZDViNjM5YzhkZjdhMTRlMWUgcHkzaworNzI5MTkgNWFlYTYwM2IyMzA4OTNlMmNhODc4NzE2M2Q0MzU3ZDEwOTNiYzJhYyBweTNrCis3MjkyMCAwZDc0NjFjMDYzZTc5ZWRiYmJiYzM4MWFiYjJkYzcxODY0ODc3ZjI4IGxlZ2FjeS10cnVuaworNzI5MjEgMTQ4MGZhM2ZjYWI0MDExNDUxZTU5OWVkNjJmNzEyNTM2NTZiMjAwZCBsZWdhY3ktdHJ1bmsKKzcyOTIyIDVkZDFmNmIxNDkzOTFmYTdmYzNhMWZhZmQzM2JlMDkyZmY2MmU1NGMgcHkzaworNzI5MjMgZGFkZDg5NzBiMzAzNzU2YmM3Mzc2ZjYzNTE2M2NiNDQ0OTQ3NmU3NSBsZWdhY3ktdHJ1bmsKKzcyOTI0IDE2NzU5ZjYyZWIyMjZjZDcwMWUwMWNhMWQ3NWE1MGY0NmI1N2I3YjcgbGVnYWN5LXRydW5rCis3MjkyNSAyODdjZTMwZDA4YjU0NDA4NDZlNjEzNjkwZWVhNWZlZDk0Mjk1ZDRjIHB5M2sKKzcyOTI2IDY5OWRhNmM0NjdkYzM4Yzc3YjMyNWFjMTIwZGJkZjA1NDNmMmQyZDYgcHkzaworNzI5MjcgMzU1NDA0ZWExMTQzZmVhNzkzY2Y1Mjk4YmRhNTY5ZmQ0MWNiMWI0ZiBweTNrCis3MjkyOCA0ZDY3NDUyOTIyZjkzZmU3YmU0ZGVhOTExOTBiODVlOGI3YjY1MjgyIHB5M2sKKzcyOTI5IDg0YTYwZTcxMDU1MzA4M2NiNDRhNmQ4OTExMTE0ZDE1OTBhOTRlOTkgcHkzaworNzI5MzAgYWFjMjZkZThiNWQwZTRkNmUxZjJhNjE1NGZjMmU5ODcxOTAwZGJkMiBsZWdhY3ktdHJ1bmsKKzcyOTMxIGQzZGFhZDBlN2Y2ZjU3ODdjZjdmZWM4NGE2Y2QwMjYwYjFlMjM5YzMgcmVsZWFzZTI2LW1haW50Cis3MjkzMiBjZGZkMDE3Y2VlOTA4YzhmYzM1MzkxZmRmYWU2ODYxNjdkOThmZWUxIGxlZ2FjeS10cnVuaworNzI5MzMgM2I2MTI1NjlkNTM2MWY3MTdjMTgzOTFlODBmMmU2YTBlOTc5YmJmNyByZWxlYXNlMjYtbWFpbnQKKzcyOTM0IDk4M2QyNTY5MWI2OGQ4MGY4ODVjOTE3YTRkZWFhZTlhYTQyNDdkMjYgcHkzaworNzI5MzUgYTI3YTczOWNlZjdmODc5YWJlOGFkMTI2M2Y5OTJiODNhNWFjOWQ5NiByZWxlYXNlMjYtbWFpbnQKKzcyOTM2IDAyNTgzNTFkZmE2MDQ0OTJmNDVhMTc3ODU3MmY0N2RiMGE0M2MyNmQgcmVsZWFzZTI2LW1haW50Cis3MjkzNyBhY2MwNzg2NmIyMzMwM2ZkZWU2NWU4ZGYwY2I0ZGVhMzc1NDU3MWNlIHJlbGVhc2UyNi1tYWludAorNzI5MzggMzQyNTdhNzczZWMwZGNkMzY5ZGJiMzNhMmQ2ZjEzNjdlNDMzNzIxZCByZWxlYXNlMjYtbWFpbnQKKzcyOTM5IDY1NjQ2MzgyZTRlMDNkZTllZjE1YmU4YzhhMDU3NTg2MzNiN2E5MGQgcmVsZWFzZTI2LW1haW50Cis3Mjk0MCBiYTMwNWZlOGU4MzEyMDM0NzQ0OWZiMzU5NDQ0NTEwMmViZWJlOTI1IGxlZ2FjeS10cnVuaworNzI5NDEgMWNjYjZkNjI1NzE3MzA1M2MzMWY4NjFiODNmYmIyMzgyOWJjMjY3MCBweTNrCis3Mjk0MiA5MDEyZmY3ZDc1YTIxNjVkMWJlODFmMTYyMWZlOTZhMmMxZmI4NmZjIHB5M2sKKzcyOTQzIDI3MjFiZTdiZTM2NTdhNDI3ZTE4ZmFmOGI4MDUwZjc2NTE5YzcyNTMgcHkzaworNzI5NDUgMjllNWMwMTY1ZTEzNTE2YWEyOTczM2NhZjkwNjNhZDAwNWNmMjA0OCBweTNrCis3Mjk0NiA4ODMwNWQ3MzlhZTUyNmUzYzc5YTg1YjI4YmEyYTllZGNlYjI2MGFlIGxlZ2FjeS10cnVuaworNzI5NDcgZDcxZmE2YzQ2OGNjOGIxZDg3YzEyNmM0YjRjNmRhMTE0YzQwMDllZSBweTNrCis3Mjk0OCBmZGYzZWI3ODIyZTQ1NmJkNTIxNDVkOTVlZmZjMzU2Mzk3Njk4YTEwIHB5M2sKKzcyOTQ5IGE0ZGQ5MjE3ZWExMzFjZjFmMzc2NWI0MGU0NDNiYThkNjNjNWMyMTUgcHkzaworNzI5NTIgNDdkZDI5MGQyZDc0NWI0NDM2NDY2ZDVjOWRkNGE5MjNiNGZjNmU4YyBweTNrCis3Mjk1MyAwZTc2MTAyZjQ3OGI1Nzc1ZDQ0ZGY5YTY1MGU4YTFlOTZkN2M0YzM3IHB5M2sKKzcyOTU0IGYxM2JjZDkyMmY3NjAyOWNkNTYyN2U4N2VjNzMxYzkyZjk4MzE5ZmUgcmVsZWFzZTMwLW1haW50Cis3Mjk1NSAzZjc5ZWNhYjVlNTI5NzQyNDkwNDllNGFjYzcwMDRmOWZkNTUyZTNhIHJlbGVhc2UyNi1tYWludAorNzI5NTYgMjNhMzczYzhlYzFiMzg4YjcwMzc2MWZmNDkyY2Q0Y2VlNzYxNDgyYiBsZWdhY3ktdHJ1bmsKKzcyOTU3IGJhNjM3NmRmZjZjNGY4MTE1YjI5YmM0NzMzZGE5MTMyNmNiY2JhNWMgbGVnYWN5LXRydW5rCis3Mjk1OCA3YjRiOTIxZjMzMzU2NzczNjQxMzUxMzBkOWRlNTBkZWY0ZjE3YmRjIGxlZ2FjeS10cnVuaworNzI5NTkgNmFiOTM0NzAwMTFiYjk0ZmRkNWVmMGU3NDFhNTY3MDhlZTRjMGYwYiBweTNrCis3Mjk2MCA0ODYwZjc0OTNiOTE0NzlmNjQzZTVhNzg2NTM3YmY1Nzk3ODA4NmM4IHB5M2sKKzcyOTYxIDFjMDc4YmJjYTIzM2Q3NjEwNjQ4MmIzNzRmMGJlYzI0MDY2NjRjODIgcHkzaworNzI5NjIgMWQwOTZkMWI5OGZkMTNlMDI3ZWRiNWY5YmJiMGM2Nzc3YzIxZjc0MSBweTNrCis3Mjk2MyAyMmZkOTY3NTE4ZWVjMDMxZjNiYzdjNzdiNzRhNDI3OGVjN2VjOWY0IHB5M2sKKzcyOTY0IGI2MWU2YWQ1YWU3MGU5ZjUyYzQ2NGU3OTcwOGNlNDEyNDE5NjA2NTYgcHkzaworNzI5NjUgOGNiMzQ5ODczY2RhZTJiZDc4ZGJhM2M3OTM4MjIzOGNkNGI5NTI2YyBweTNrCis3Mjk2NiAxNTRjYTM3N2Y1M2M3YjUwZTVjNjc5MjFjNDQyNWM4OGE2ZTQzMzM5IGxlZ2FjeS10cnVuaworNzI5NjcgOWI4YjYwYmMwZjViNzMxODJmM2M2NjYwYmZhZjkyYWQzNzNlYmQ2NyByZWxlYXNlMjYtbWFpbnQKKzcyOTY4IGFmNGZkMjM2NTRjZWIzZjQxOWVjZTZmMDNhOWZiOWQ1NmRkMDRlNzYgcHkzaworNzI5NjkgNGM3N2Y5ZTFhMTlkY2U4MTk2ZmQ4MTAzYzJhYzBkNWI1ZWJmZTljYiBweTNrCis3Mjk3MCA4MzdhZGI3NmEwZTFhYzBiYzIxNDdkMjA3ZGE1MzdkZDE5ZDc1YzI3IHJlbGVhc2UzMC1tYWludAorNzI5NzEgMTM5MjFmNTI2ODQ4MzBhM2I4MTRhNjlmOTk4MTFiMDU5ZGM4Y2EwOSBsZWdhY3ktdHJ1bmsKKzcyOTcyIGU2ZTNhMGU5MWJlYWMzZDEyN2I1ZWYyMWYxNGYwMDRiNGJlNzUxMzIgbGVnYWN5LXRydW5rCis3Mjk3MyA4MjFmN2Q0MmJmNzQyMmEwZmRlNjgzYmU3YmVhYmJmNzg2N2IyYzYwIGxlZ2FjeS10cnVuaworNzI5NzQgZmM0ZTI0NDNmNTA5NjRlOTY0NjI2Yzc2OWNhZDMwOGMzZmUzNzZjNCByZWxlYXNlMjYtbWFpbnQKKzcyOTc1IDYwMzg3MDIyOGRhYzU0ZTFhOTZjNDlkZTNkNWJjMDc1ZTgyMDk5NDUgcHkzaworNzI5NzYgNjBkNDliM2ZkM2JmZDJiNzYzNDQzMDZhMTBiNzE5MDUyZmMyYTA1OCByZWxlYXNlMjYtbWFpbnQKKzcyOTc3IDEwMjlkOWFhZDQ5MWM4ZjgyNmM5NjY3NzgxZDEyNjJlYTNjZjVmMmQgcHkzaworNzI5NzggMWQzYjFiZTZhOGIyNmJmMjQ5OWQyY2U2NDQ3ZDI0NmMxZDQzN2VkZSByZWxlYXNlMzAtbWFpbnQKKzcyOTc5IDcwZmI4NDg4NzBhY2Q0MTRhY2M1N2MxOGY0YTg1ZWY0OWRjMzdkYmUgbGVnYWN5LXRydW5rCis3Mjk4MCBhNmI3M2Q4MGZiZTI3NWE5ZjYzYTdkN2ZjZTdjMDA3NzBmMzk2ZWM4IHB5M2sKKzcyOTgxIDExYTU0ZGFiZmIxY2Q1ZDMzNzhjNDNmYzc5ODRkYjVhMDA2ZGVhNTIgbGVnYWN5LXRydW5rCis3Mjk4MiA4YjI5OTY1MmIxZTg1ZjdkMTJlODRlYTFmMzBiODI5YmYwYTIxNTkzIHJlbGVhc2UyNi1tYWludAorNzI5ODMgOWRkZmE2ZTA1ZmIwZGExMTk5NDM0MjFhMTJiOWRjMjg5MGE4NTM5MCBweTNrCis3Mjk4NCBhYzBiODVmNjgyOTdiZDMwZjFlNTBlMjllN2FiZWJiZDM1NmFkN2Y2IHB5M2sKKzcyOTg1IDViMjEwMGU0NmQzYjQ4YTAyZjA0YzBkZGIxYWY3NDg1MmQzZTI0YTQgcmVsZWFzZTMwLW1haW50Cis3Mjk4NiA2MDU2Yzk2YzJkMzI3NTU4NzBhNjg1ZGU5YjcxMWYxNzRhYzI4MTQxIGxlZ2FjeS10cnVuaworNzI5ODcgZWQwYTlkNjg0MDIyNjlhODkyYzA0MTc3MTIzNmI0ZmY2YzQyNzY4OSByZWxlYXNlMjYtbWFpbnQKKzcyOTg4IDk5NjczNzkyNzBhMDk0MTNhMzViOGViMmZiOWZiMjRiZDFlODQ4NzMgcHkzaworNzI5ODkgY2U5OWU4ZTIyYjFlYWMwOTYwNzNmZDM3MTc1OTUyNzU3ZTZjMDUzOSByZWxlYXNlMzAtbWFpbnQKKzcyOTkwIGIwMDQwNDk0YjRhNjlhYWM5NmNhOTE2OWQyYzBmZTc1YzgyNGIxNjggcHkzaworNzI5OTEgZjU1ZDhkZWQyZDA1ZTVhY2VjYmY2MWFjNDNkMjM5NDk5YWFiODc4MyByZWxlYXNlMzAtbWFpbnQKKzcyOTkyIGI3MjZmZmQ0OTUyNDUwZDIyYmY5OGI5NGY1ZDVmMTIyYzU3NWU1NzggbGVnYWN5LXRydW5rCis3Mjk5MyBlOTBiMDY3ZDgzZjI1MTY0YWI2NGU5NTY1ZjkyZTQ3M2ExZGFlYWE0IHJlbGVhc2UyNi1tYWludAorNzI5OTUgM2ViNTIyZGMzMzM3ZGVhMjFmMjc0ZWQzZDlmYjNmODJjMzE4NGVhZiBweTNrCis3Mjk5NiA0MDM1MzgzMzk0ZWNmYWE2YTcyNTBjZmU4NmQ2YjJiNWQ0MTgyM2NiIHB5M2sKKzcyOTk3IGJjMjUxNjgxMGNjNDExM2MxMGQ4MmYyODM3Y2EzY2M1NmQ3MTVmMDAgcHkzaworNzI5OTggYTBhMjVkZWVjZGIyMzZlMzU1MWE3Yjk3NjZjY2NhY2VhYTIxOTA0MyBweTNrCis3Mjk5OSA2MThlNDZhNjlmMjc4ZjA0MjAzNjlkYWRkOGI3YzQ5NWFhMTE1MWM4IHB5M2sKKzczMDAwIDJkM2MyY2YxYjUxZTM0Y2M4NzcyZDcxYmQ3MTk2MjMwNzgzMjFjYzEgcHkzaworNzMwMDEgODhiZDg3NjBiMzQyZWM4N2I3YWJmMDg1MDQ4MzEzNzQyMzk2NWJhYyBsZWdhY3ktdHJ1bmsKKzczMDAyIDI2MGM4ZWQzZjVkZjk3YTY1MzVmNzQ1ZmQxNmU0OGQ2ZjZhOTIwYmYgbGVnYWN5LXRydW5rCis3MzAwNCAxZDhmMjRiZjQzOTk2MzM2MGZjYzEzNjg5MzJlZmI5YzE3OWYwNGU4IGxlZ2FjeS10cnVuaworNzMwMDUgZjNjODcxYmRlYTU3MWQ2ZDY5Y2Q4ZDQzNzVjMTg2NTZmYzc0NGZjMCBweTNrCis3MzAwNiBkNzVhYjE2NDEzZGE0MmMxNDdiZWE4YTI0NzVlYzQzNzVjYjRmNWFhIGxlZ2FjeS10cnVuaworNzMwMDggMWZhMTM3OTQyMDg1ZGZkMWYyMTNjYWY1ZGMwMDA5ODNlNzhiNGY2YyBsZWdhY3ktdHJ1bmsKKzczMDA5IDc3YjkxMjRmMWM4YzE0ZDhlNzZjMjhiOWFkYmExZGE3YWVkN2QyYzggcmVsZWFzZTI2LW1haW50Cis3MzAxMCBkMzljMTkwMzE2ZTc2OWQ5Y2ZkNjA1MDVmMDY0Y2QwODJiNTZiZmU2IHB5M2sKKzczMDExIDQ5YzBiMGNhNTExM2I5MzM4MzE4NjEzZjY4MTIyMTY2MDllYmU0Y2IgcmVsZWFzZTMwLW1haW50Cis3MzAxMiBjNWQzNDk1ODJlOWNhZTdiMDNmNTQxNjk2N2ViOGZlNzYxZDM1NDdjIHJlbGVhc2UyNi1tYWludAorNzMwMTMgYjY3YWJkNTFiMjcwNGMwYWNiYjBmNzI4NDJlOWQ5NTMyMmU2ZTAxYSByZWxlYXNlMzAtbWFpbnQKKzczMDE0IDExZGUzNWRhMjgxYzE3NTVlZTk3MzlhMWY4YWE5YzdmZDQ4ZWM3MGMgcHkzaworNzMwMTUgMjhkNjQxOTJhYjVhMmNmNzJhOWJkNmJkOTEzOTAwNzUxOGNkYzI0NyBweTNrCis3MzAxNiA5YzE3ZTM2NjkzMzZhY2E3MGVlNWI5Zjg5NWNkYzZhZTZlMjZhODgxIGxlZ2FjeS10cnVuaworNzMwMTcgNzZmMWJlOWQyODE4MmJmNDliMzFlMjg0NmVkYTJkMWU1MjE2MTUyZSByZWxlYXNlMjYtbWFpbnQKKzczMDE4IDEzNGQxMmMyZTc0NTAwZThmYTJiZGJiNGJmNTAwOGQ1NjBiZjViYzEgcHkzaworNzMwMTkgMjM1NmU5ODVlY2U4MzVmMWJkZTNmYzg3ZTQyZDA5ODJjMzZkNmVkYyByZWxlYXNlMzAtbWFpbnQKKzczMDIwIGVjNWQyMjhhODNlZmNhMjFmNTdhZDc1NWUxZjA0M2ZkYjA0ZDczZmEgcHkzaworNzMwMjEgYTVhODljNjBkMzJlNGVlZmY0NjY5MDY4ZTQ0M2FiYTUwNmRhMmNiZSBweTNrCis3MzAyMiA2NDc1MDA2NWVjZDRkMWMyOTNiZTEyMmEyZWUxNTA0NjExNDg1NGM1IGxlZ2FjeS10cnVuaworNzMwMjMgMjVhMzE1NWRhYzc2YzUxNjM5NzRjOWVhZjljNmI3NjFiY2NkNTY1YiByZWxlYXNlMjYtbWFpbnQKKzczMDI0IDlhNGNlMWU3MWFkODE2NTE2MjEwOWZiZDFiMjc2ODk5NTY4ODkzYjIgcHkzaworNzMwMjUgNGVkMmVlMGIyMjkwYTA2NDZhZDgxOWZkOGNiOGU4MTMzY2YyOGU1NiByZWxlYXNlMzAtbWFpbnQKKzczMDI2IGU0NzQ1ODM4ZjY1NWI1Zjk1MWIzNTRlYTEzYjQ3MDkwYjlmNGRiYTYgbGVnYWN5LXRydW5rCis3MzAyNyA3YTEzNDcxZjRlOWJkMWRjZTUyY2FmODU1NTYyZmQ3OGRiMDdhNmNkIGxlZ2FjeS10cnVuaworNzMwMjggMTQ2YTM5YjI1ODQ1ODVmN2I5MjRhYWVlOTBmZmYxZGE0Yjc5ODljOSBweTNrCis3MzAyOSBjOGZlMzAzY2VkYTQ1MTU4YzcxZmU3OWRjNGU5M2E3YWRlNjEyNTY1IGxlZ2FjeS10cnVuaworNzMwMzAgNmUyYThiZGFhNTQwMjA4Y2QzOTA2YmU4OGRkM2I3ODUzMjQ0MDM3YSByZWxlYXNlMzAtbWFpbnQKKzczMDMxIGIyZWNkMmJkZjE5NTJiOTE0MTg1ZDgzZjhjZGIzMDE3YWRkMTRhM2MgbGVnYWN5LXRydW5rCis3MzAzMiA2ZDRjNDdmZWM0NDlkYWJkNWZmMjMxMDdiZWY4ZTIzY2FjN2Q2MmRmIHB5M2sKKzczMDM1IDFhNTIxYzA2YTcwZGI1MTZhMjVkNjJiZmRjZWQyNzcxNjFlMTYzMDkgcHkzaworNzMwNDIgNmQ2YjRkMzc4MWYyNzU4NGM1MDUyMjZjMDhiYmFmYTJjMjJkNDVlNiBsZWdhY3ktdHJ1bmsKKzczMDQzIDY5Y2Q4MGY4ZTEzM2EyNDAyMjAzZmY2M2Q2MmFiZDViMWIzYTFmYTAgcHkzaworNzMwNDQgZjVkM2ZmMDNkZDViY2RkNTUwZjFhMmY1ZGE3MjIwNTIyZDI1MTY5MiBweTNrCis3MzA0NSA1YmI1ZTkzNDM1YjA0ZTExODExMDgwMGU4N2RmNjUwNTc3NjVmNThjIGxlZ2FjeS10cnVuaworNzMwNDYgNDMxY2E1Mzk5YTI0NDg2YzBmZjhjOGQ0NTY5ODQwM2Y0YjdkN2E3YiBsZWdhY3ktdHJ1bmsKKzczMDQ3IGM2MmI2NTIyNTFkODk5YzEzODdkNTU0Njg1ZTY3ZmQ3YWJhNmI4MWUgbGVnYWN5LXRydW5rCis3MzA0OCA4ZDJmMzljMjFlOWU1MmYyYzUwM2M0ZGZkMDg1ZGYxYTJiNjRjYjEwIGxlZ2FjeS10cnVuaworNzMwNDkgYjAxYWVmZjcyYjY1MmE3ZjE5OTg3MTYxOWJkNGMwM2IxNTY1YjM4MSBsZWdhY3ktdHJ1bmsKKzczMDUzIDU1M2M4MTUxYzljNmUwMjVhNjcyZDUzZmJjNDE0NjRmMGEzNmNiZWUgdGtfYW5kX2lkbGVfbWFpbnRlbmFuY2UKKzczMDU0IDQ5NWNmM2MyNWViMTQzYjAyMmY2ZjI5OTM4OTUyMDM5ZTk5OWI2NTAgcHkzaworNzMwNTUgMjM0NjJiMzgxNzFkNjllY2ZhMDljYjA1MWVhNjU1M2I1ZDI0NTRmZCB0a19hbmRfaWRsZV9tYWludGVuYW5jZQorNzMwNTYgNDM1M2ZkMDg0M2NiMzFiMzU2YWRjNTBmOTNkMjIwZTJlNzI1NWVmMiBweTNrCis3MzA1NyAzZmZiYTZhZDMxOWMyZWFlZjUyZWE5NDIyMDQwZjU4MDY3ZmQxZjQ3IHB5M2sKKzczMDU4IGNhOWJlOGZjMDI1ZGMyNzczY2RjNDNjNWZlMjQ1OGJjMjY0M2NjOTUgcHkzaworNzMwNjAgZTQ3NWNjNzFmMTg4YTRhNTlmYjQxMGJiNWYyOTRhYTM5MDhlZDMzNCBsZWdhY3ktdHJ1bmsKKzczMDYxIDkxNjJjZGYzNGRmYmY0NTYyYmNhZWI1OWRiMzg4MTU0NjY3MWI0MWYgcHkzaworNzMwNjIgYjQwNDMwNzkyMmM2ZThjNTA4ZGQwNzQ2OTE5MGI4ZjVhMTUwMWQ1ZiBweTNrCis3MzA2MyA0OTQ4NWY5OGEzMDgzYmMxYzE4MjQ2ZDI2MmFlNTU3NDc0ZGJiMmQ0IHB5M2sKKzczMDY0IGEyNTNmZWE4NWFmMTVjYTk5ZTAzM2EwMDU0YTNkMTllNjlkOTI0OWEgbGVnYWN5LXRydW5rCis3MzA2NSBmYTJmOTE3OTA2ZTczYjdkMWRkNjc4NGRjYTZmZmQ5NWExYjgyZmY5IGxlZ2FjeS10cnVuaworNzMwNjYgNGU5NmQ3ZGFmNzlmNGM1YjQ0NjJlZjdiZjRkNGY2ZWU3Mjc4M2VhYiBweTNrCis3MzA2NyAxMTQzNTRiMWUwZTU3ZDhkYzY0Mjk3ZTcwMDA3NmI3NjIwNjY5MTgwIHJlbGVhc2UyNi1tYWludAorNzMwNjggNzU2NjIxODE5ZjVhNTFmNDE0NmFjN2M1ZjhlMDA0ZDhmZGQzYmFkOCBsZWdhY3ktdHJ1bmsKKzczMDY5IDVkZWM3MjQ3YjI0OTZlYjg1YzhhZTA5YmJhOTk5MmU5MDhmODI2MDkgbGVnYWN5LXRydW5rCis3MzA3MCBiZjBiZDZlYTFjNzJlNTUwZTgwOTRiYjk1MzBkMWEyZjYxZTA2YTg3IHB5M2sKKzczMDcxIDFiNDNlNmYyZDMyOGE5NzFmODA5NGRiMzJjZTk4OTViNGZiZWI3NDEgbGVnYWN5LXRydW5rCis3MzA3MiBkNzRiOGVkZDdhOGNmMDQwNjA0N2Y4ZmZmMGExNTI5MzQxNTM1Yjg5IGxlZ2FjeS10cnVuaworNzMwNzMgZWYwNzg1Y2ZhNmFmNTFiNjJjNDc2ZjJiOTdhYWI3MWY1M2EzYTExNiBsZWdhY3ktdHJ1bmsKKzczMDc0IGJiYjBiNGY4YjVlMTFhZjUxNjc2N2E4ZjkwMjUwZTc0MjEyOWIxM2YgbGVnYWN5LXRydW5rCis3MzA3NSA4MWJhZjc2ZDA3OTc3M2Q2NzQ3Y2U1MDgzYmJkZjcyZTc0NDA0YWZmIHB5M2sKKzczMDc2IDUxOWY4MGIxZjVlM2E2NDNkNDNlZWMxNTE3ZWZkMGIyNmMwNWEyZTcgbGVnYWN5LXRydW5rCis3MzA3NyAwNzA1MzBlOWYxOGYyOTg0MjI0ZjUzNzQyZDU0NDhkOGI0YmQxYTkwIGxlZ2FjeS10cnVuaworNzMwNzggYzNhMjY1NTZkZDE0YWQyYjU5NDgxN2FjNDliZDY5ZmZlMTlkMjQwMSByZWxlYXNlMjYtbWFpbnQKKzczMDc5IGYxNGI1MDVkMzlmNGFlOGE5YjU1MDkyM2UwMTc4MmYyZDk1NjcwYTcgcHkzaworNzMwODAgZjUxZWFhZWQ2YzcxYTYwZDYxM2ZmYmNjN2ExZjM1ZTEwYjdhOGM5OSB0a19hbmRfaWRsZV9tYWludGVuYW5jZQorNzMwODEgMmFmZjcwMGUwY2E5MThjMGQzYjRhYmU2NzZmYjE4OGY5Y2FkMTZlYiByZWxlYXNlMzAtbWFpbnQKKzczMDgyIGE2YTc0YjlhN2NkMzcyYjAzMjM4MTZhMzYxMjU3N2JiNDA3NjhkZWYgdGtfYW5kX2lkbGVfbWFpbnRlbmFuY2UKKzczMDgzIDVkYjA1NTZlZDEyMjM1YmJmZTFkZWEzNGZlNGZjZDE0NmJlNTE4OGMgbGVnYWN5LXRydW5rCis3MzA4NCA3Yjc3MmVkNTM2Yzc2OWNlOWNlMDIxMjY2YjU1YzYwNzkyNmRlYmU2IHB5M2sKKzczMDg1IDc1ZTEyYzVlNGVhZmJhMWEzNGIyNGYwN2U3ZTAzYjY0ZDY0MzFjNzMgdGtfYW5kX2lkbGVfbWFpbnRlbmFuY2UKKzczMDg2IDUyZDI1OGViMDE3NmZhZjQxZGY2NjczYmRlNTI2NTlmY2EyYWM1YmUgcHkzaworNzMwODcgYjRkZDQyODNmZjgyMGRkYTIzZGZkMTRjNzdlNjNlMDVkM2M2OTM4MiB0a19hbmRfaWRsZV9tYWludGVuYW5jZQorNzMwODggMWUyYzAzNzFjZTU3MzdkYTQ2ZGIwYjQ3YjFlYmZmOThiYWMzMTIxMSBweTNrCis3MzA4OSBmNTE3ZjJlNGZiM2JiNTZjYjY3NDk5N2Q5Y2Q0Y2E4OGUxZWFkNzMwIGxlZ2FjeS10cnVuaworNzMwOTAgNTBmMzEzMDhiNTBhZWQ2NTE0ZjY1MGRmMjRhZDQyMTcyOWFhOWQ2MyB0a19hbmRfaWRsZV9tYWludGVuYW5jZQorNzMwOTQgNDIxMTgxMGRjNzljZTdhZDdlMTk0ZTcwYTg5MDczNWJlZjNkMWQ4NSB0a19hbmRfaWRsZV9tYWludGVuYW5jZQorNzMwOTUgNTdhMmQyNzEzZjE5NTNhMGNhNTQyODkyN2UxYmM0N2NkMjY2YzY0YyB0a19hbmRfaWRsZV9tYWludGVuYW5jZQorNzMwOTcgNTI4YzA5M2FiOTg2ZDIwN2Y4NGVmNjkwYTc1N2M0OGE1ZjQ3MDM0YyB0a19hbmRfaWRsZV9tYWludGVuYW5jZQorNzMwOTggNzU3YTdjMGY2NzllM2JhZjM5NWUwNjk1YTk4NTZhMmUyNzlhNTA4YiB0a19hbmRfaWRsZV9tYWludGVuYW5jZQorNzMxMDEgNjAwMTY5YWU1NjgxZDNhOTU4YTk5MDZlYjYxYWFhN2NjZGZhYmUyZCBsZWdhY3ktdHJ1bmsKKzczMTAyIGZiNzllZTQ1Nzc1NDI4MDlhMDc4MThlNDIwNThmYmFlN2JmMmZjMzcgcHkzaworNzMxMDMgN2M0NDQwNTM4YWJiMjQyZjk1YjA0NDM2NDM4ZDkwZWU4MzI3ZDI1YyBweTNrCis3MzEwNCA4NTY3ZGYzYTQzYjYxMjMwZjBlODBmOGMwZjBlMDk3NGY3OTVlNWMwIHJlbGVhc2UyNi1tYWludAorNzMxMDUgYzA1MWJhNjE3ZjA0NjE5OTBhY2FlMjJkMDE2YjYzN2QyMDdmZjRmNCByZWxlYXNlMzAtbWFpbnQKKzczMTA2IDY4NDZmOTVmOGUwNzdhOWFkNDU4NzVlM2FmZjk0NzgxMmZjYmE5YzAgcHkzaworNzMxMDcgMThiM2Q1YjM3ZDgzZmJlNjI2YTE1ZmEzMjMyNTU4MzJjMjliNTUwZCBweTNrCis3MzEwOCBjNjc4NTRmMWNmNzkzMTVlNzI0ODg0MDFiMTIyNGE1ZGQ4MTc2YTc4IHB5M2sKKzczMTA5IDQ0Mjc4NTlkODE3YTcyYzMzMmM0ZTA4MDg3ODg2NGFiN2Y1ZDZmNDkgbGVnYWN5LXRydW5rCis3MzExMCA4YzEzMDY3MWM4NDI1MzI3ZmJlYmNhZjM2MGUwMjkxOTg3YjNlYjExIHB5M2sKKzczMTExIDkzOGNjMTZlN2Y4ZGViZDllNzkzNDlmMWNhNjU1ZTY2OTUyZmUwYzkgcHkzaworNzMxMTIgMzUyMmMyYjBkNTFkNDdkZTNjZjZkNjVkOWE1MWY2MGQ3MDk0ZmJjYSB0a19hbmRfaWRsZV9tYWludGVuYW5jZQorNzMxMTMgYmJmOGYyNWViMzc3YjIwMTUyMTJiMjAzMjhjNWEyZDljNTk3MzNjNSB0a19hbmRfaWRsZV9tYWludGVuYW5jZQorNzMxMTQgYzM3YWU1NjJlZjgyMmRkNTU2MGFmZjE0MzMxZDI4YjA5NWNiZDAxMyBsZWdhY3ktdHJ1bmsKKzczMTE1IDFkZmNjNTNlODM2YTBlNjAyOTA0MmIxY2QxYzE0YTNlOGU5NjU0ODYgcHkzaworNzMxMTYgZDBlOTYwNzliNmFjYTlhOWI1YmE1OWI0OGNmMGZhNzJmZWVlMDQzNyBweTNrCis3MzExNyBhOGQ5Y2M5MzI2NzU2MTdhNTQwNWM1ZDBhYWFhOWEzNDU1NjE4NTIyIHB5M2sKKzczMTE4IDUyMjk1ZWJjY2EzMTI0NGQwMWQ0NWY2MGYyN2U2NDc3NjdiY2UwZDIgcmVsZWFzZTI2LW1haW50Cis3MzExOSBhNTYzYmNmMWE2MmQyZjY5YzQ4ZDI5YjM5NDdmNDVlNTU1YmM1MzE2IHJlbGVhc2UyNi1tYWludAorNzMxMjAgZTI1ZmMzNzc2NzA0NzAyMjNkNjYwN2RjYWFiMjMzNDliYmQ3ZDFjMCByZWxlYXNlMzAtbWFpbnQKKzczMTIxIGQ1MDcxZDlmNzQwOGJkYjg4ZDU3YmM1ZWM3MmQ3NmIyMTA0ZjM2MjggbGVnYWN5LXRydW5rCis3MzEyMiA1ZjhkZWM4NDZmNDZkZTliODE0N2I5OTEzZjA5ZjdhZDJmYjNhNmVlIHJlbGVhc2UyNi1tYWludAorNzMxMjMgNTQyOTUyN2UzYTI4OGZkMjFhNWQ2MWVjNGVhNGU2YWY1NTc2Njk3YiBweTNrCis3MzEyNCA0OTkzZTExMGZkNzc4NTg0OGI4YTM2YWI0NTFmZDE3OTdkMDZhMjE3IHJlbGVhc2UzMC1tYWludAorNzMxMjUgY2VkMzgwYjQwMDA0MzYyYTdhOWFjNTM4MGJmNDkwMGNkMDNhYTZjMyBweTNrCis3MzEyNiBiZjRjZmU1MWI0YjUyMTc0NTI1MWY2ZGVlNzFiNzdkNjdlMDRlMDJkIHB5M2sKKzczMTI3IDYyNTQyYmI4ODczYTFiMzdmN2E4YjBmNDhjMDQ1NzExZDkyNjE1NmIgcHkzaworNzMxMjggMmMwMGJkYWFkN2E5ZmZmZTFhN2Y5NTczYmVhZGVkZDNlMTZjM2JlNSBweTNrCis3MzEyOSA4Yzg1MDQ3MTViOGEzODc5ZDU0YjAzZDQ0YmY3OTYyYjc3NDA0MThlIGxlZ2FjeS10cnVuaworNzMxMzAgZGI4OGE2N2UzOGVlYTFhMzFmYjNlMDg5ZWQ4ZGVkMGU1YzBmMzgyYyByZWxlYXNlMjYtbWFpbnQKKzczMTMxIDI5OTA0NDBhMjBmNDJhMTA3ZDA0Y2IzMjE5MTk0NmM0MTc5ZGM4NWYgcHkzaworNzMxMzIgN2ZhODMyOTI3YjkxYzg2NDE0NDYxZDg5NGM0OWZhYmJiMjgzOTg1ZSByZWxlYXNlMzAtbWFpbnQKKzczMTMzIDdkNDc3NTU2ODBkNzg0MzNiNzI3MTg3OTE2YjY5NDBjMDVhNjliOWQgdGtfYW5kX2lkbGVfbWFpbnRlbmFuY2UKKzczMTM0IGUxM2E0ZjYyYjZjYWNjZGFkYWJhNjk5ZmRmYjYzYjVmOTg0YWI1M2UgdGtfYW5kX2lkbGVfbWFpbnRlbmFuY2UKKzczMTM1IDEyODE0N2RjYmMxZDUxMTM3OTUzYjY0NTgzYmY3MzE2YzgxNmI4NTcgbGVnYWN5LXRydW5rCis3MzEzNiAzZDEyZmI5Y2VkOTI2Y2FlNzVkYTY0YWNlYmUzZWM5NTM1OTE1NGMwIHB5M2sKKzczMTM3IGY4YjVhMTUzMmJlYzU2MDQ0YzllZTE1OGRiMDg2MzFiZDdmYmQzNWUgcHkzaworNzMxMzggZjBmODRhZjE1OTU3YmM4M2M2ZTNlNWI4MTI3NTMxOTZiMDQyMmFlMiBsZWdhY3ktdHJ1bmsKKzczMTM5IGJhODIyMjgzOTkzOGRiMDY5NDJmMDQxOWIwZmJkNjc0Y2ZmMTQwOWMgcmVsZWFzZTI2LW1haW50Cis3MzE0MCA3MjM0YTgzYThiMTlmZDhmMTU1MGVkMDVhMDdjMWQyMDg0MTA5MjY4IHB5M2sKKzczMTQxIDA0NDljYmU5YWM5ZDZiNTk1NTAxYzNhZTdjMWI1ZTkzMWYyM2Q3NDkgcmVsZWFzZTMwLW1haW50Cis3MzE0MiAxZTcyYTU0MGMxYWE2Nzg3MzY1ZDBhZGI2M2NhOWYwZDkxNmFkNTRhIHB5M2sKKzczMTQzIDYyMWE1OWJiMzQwNDViYWJiMmRmMjkzMzAwODMyN2FlNWFmYTcwYjIgcHkzaworNzMxNDQgODg1YjBhOTJiNTA2MjYyZmM3ZDk4Yjk2M2MwZDgwNzAzMjdiZDVhMCByZWxlYXNlMzAtbWFpbnQKKzczMTQ1IGU4MGUyNWU2YTE4N2I0YzVkNWM0NWFlNGYwMzNiNzJlY2EzNGE0NWQgbGVnYWN5LXRydW5rCis3MzE0NiA5MDQ4OWYyNjdiMzAwZGE0ZDk1ZGY0YjVhNzFlZTk0YmY5MjI4MmVjIHRrX2FuZF9pZGxlX21haW50ZW5hbmNlCis3MzE0NyA0MjgzYmM4YzkzMDY1MWNhMzEyODAxODMxNGJlZmVmNTZiMzYyOTk3IGxlZ2FjeS10cnVuaworNzMxNDggYjJmOTYyMzg1OTY5YTIwOGMyYzFjY2NmMGI1Zjg0ZWQ3OTJmZmY3YyByZWxlYXNlMjYtbWFpbnQKKzczMTQ5IDVlNGQwNzA1NjVlNzI4YzkzMjRlNjM4ZTI5Yzc2NWM2N2EwZWUxYjggcHkzaworNzMxNTAgZjYzMmUwMmMyNjQyZThhMTdmZmIxYjViOTk4NjAwMGE1ZTA0OTdmOCByZWxlYXNlMzAtbWFpbnQKKzczMTUxIGI3YjczNTI5OTRjODg0MDUwZWI1NzE3NjFhZDNjNmRmZWEyNmJiMmIgbGVnYWN5LXRydW5rCis3MzE1MiBjZmU1NzdhYTE1NmFjYzRlZDA0OTZhZjExMzJiZDA4OTc0YjExYWJiIHJlbGVhc2UyNi1tYWludAorNzMxNTcgMmY3ZDlhYmQ2NTViYWI5ZDIyYjRhZmZmMWEwMzlhZWFlNDYwNDE4YiB0a19hbmRfaWRsZV9tYWludGVuYW5jZQorNzMxNTkgMzJhNDlkMTA4MDFlZDFlY2JkNTBhMzUzMTdjOTY1M2Q3ZDM0MDY0NSB0a19hbmRfaWRsZV9tYWludGVuYW5jZQorNzMxNjAgY2YxOWNjMDZiMDkzMDhkZDA2ZjZiMzAxMGE0Mjk1ZmVlOTlhZTZhOCBweTNrCis3MzE2MSAzM2E4YmE5MjVjOTIwOWY4NWMwMDBhNjBmOTQxNTRhODE4NWZhNmIzIHB5M2sKKzczMTYyIDUxZmVjYmI3ZmM4NzI2NWZlMGMyYzdkNzI1NDAzNTkzOWFkNjNkZjQgcHkzaworNzMxNjMgNGEyNzcxZjZiOWRkNzg1MDQ2M2ZkZDEyZTViODIzZWUyNjQ1ZTRjNSBsZWdhY3ktdHJ1bmsKKzczMTY0IDJmYmM3MDM5MzgyZDFjNThmMjgwNjZjZjhiZTZjZjMzYjI3NDE2MmIgcHkzaworNzMxNjUgMmQ1MDBkN2IyMGJlNjg2YzYyYmRjOGFmMWVjMDliMDRlNzJiM2M4NyBweTNrCis3MzE2NiA5OGQ4YjhiNzQ5ZjQ3NDY1ZTBkYzMyYjFkYTFlZTFiOTMxNjM5MjQwIGxlZ2FjeS10cnVuaworNzMxNjcgMTZlNDVkOGI3OTU3ZTdlZTAwMzM0NTRmMzBlMmQxYzU4MjM4YTczNyByZWxlYXNlMjYtbWFpbnQKKzczMTY4IGZjYjI1ODBjMWFiM2U4YjMyOWFhOTRkNmE0YzgxOTYxY2VmZjk2Y2UgcHkzaworNzMxNjkgZTFhNDY2MDJiOWQ3MmFiMDY2NTI1OGQyMjM2M2M1YjY1NWIwMWIyNyByZWxlYXNlMzAtbWFpbnQKKzczMTcwIDFhMDI5YjdjOTc3MDUyNzdkNzg5ZjdjZTM4Yjc4NjRlZjQzOTIyYzEgbGVnYWN5LXRydW5rCis3MzE3MSA2NWY1NjFhM2UyOTFiODBlN2FkMzE4MTg0YzMyNzBlZDA1OTJmNDAzIHJlbGVhc2UyNi1tYWludAorNzMxNzIgYWU1ODVjZDVjYTU0YjNmYjQ3YTg1NmJiMTYyM2QzMTlkMmVlMTU2YiBweTNrCis3MzE3MyA2MjU0NGM5NDZlZGEyYWYxZDQzODRhNTBmNDI3MDMxZDQ2MjhiZmQ0IHJlbGVhc2UzMC1tYWludAorNzMxNzQgYjhiMzJmZGNjMjhkNDFlMzgzNGVlYjNhMmQ0MDJiNGQ3M2M2NzFiOCBsZWdhY3ktdHJ1bmsKKzczMTc1IDljMmUwN2E4ZDIzMDJkM2Y2OWVlMDM2NDY2Y2E0ODkwN2U0OGY3YjYgcmVsZWFzZTI2LW1haW50Cis3MzE3NiA3YzBlNzllNzFjY2RjNWIzZGI3YTAxY2U2Yzk0NmRiMzIwZDA5NzI4IHB5M2sKKzczMTc3IDAzMGEzZmU0YjYwNDUyMWUwZWEwMTAxZmZkOTY1MzFjOTEyM2NmNzEgcHkzaworNzMxNzggYjAxY2NhYzMwNDczNTA5ZTBjMDJhZTQwYTEwYmE2Yzc0YmM5MjM2NSBweTNrCis3MzE4MiBlODZiY2NlYmMwNzU4NmU4NGY4Yzk2ODBjMzEyM2IwOWM0MmQ1MTZjIGxlZ2FjeS10cnVuaworNzMxODMgYmZhYWYyZjRiMmU1YmQ1YjA3MTk5MWM4MTI0M2YxZWY3ZDcxYjQ2NyBweTNrCis3MzE4NCBiYzc0YjJmNjExNTk1ODkwYzFjNGQwMjgyZTZiZDdjMDhhYmYzMzQwIGxlZ2FjeS10cnVuaworNzMxODUgYTI5ODQyZTVlMTM4YzM3NTFiN2I1Y2FjYWZkOTEwOTYyODFiNTNkMyBweTNrCis3MzE4NiA1YTMyZjNkMDYxNThjM2U0ZTAyMzhhNzZlNTE2Y2FkYjNmNTg5M2E2IGxlZ2FjeS10cnVuaworNzMxODcgMTRhNGI2ZmIwMGZlYmE4MTg5OThhOWEyOWMzYjdjMzFmNjIzMDEyMSBweTNrCis3MzE4OCBhYmQxM2FjZmY1ZGJlMmJhOTRmYzAzZGI5YTg5YWI2YWU0Mzk1NDQ1IHJlbGVhc2UzMC1tYWludAorNzMxOTAgNDQzOWIyMmNmNmVhZmRlNzkzYzEzY2Y5ODhkMWI4NjA5ZjhlYjYyOCBsZWdhY3ktdHJ1bmsKKzczMTkxIDI4Nzg4NzE5OGUyZmE3MjRmZjQ2YzhhMmI2NjU2MmMzODlhNTJkYjkgcHkzaworNzMxOTQgMGM5NGM1Y2E1NWQ1N2Y1MzE3MjVmYWZkMzMwZTFhMWRkZjY0ODA0MiBweTNrCis3MzE5NSBmNDhhMDUyMTQyODFjMDgzMzE5YjAwYzc5ZWZjNTI0NzMzN2ViODljIHB5M2sKKzczMTk2IGQwNDM3OGY5ZmRiNDU2YjcxMDQyYjZkNjlmNWJjODE0NDQzZTRiNDYgbGVnYWN5LXRydW5rCis3MzE5NyA3ZGYyOTI5YTNkMDZmYzQ4NTJhNTUyNDc3MGFlMTM3MTExYmZjZWQxIGxlZ2FjeS10cnVuaworNzMxOTggYjc4MmZkMDVhODA2NDI1MmU1ZTYwOGFiMDcxNzhhODA1N2EyMjI0NSByZWxlYXNlMjYtbWFpbnQKKzczMTk5IDBkOGVkOWU1NThmMjhlMzJiODU4ZGM0NmU4MTFlYTJlMWQzMmIyYTEgcHkzaworNzMyMDAgYWZmOTdlNTBhMjA2MGE3N2I0ZWViMDg5NjYzODEzMGY1MzMxOWVlZiByZWxlYXNlMzAtbWFpbnQKKzczMjAxIDk3YTBhODU4OTAxNGQ3ZWQyYTYyMDFmYjAwYTk1N2QzODk4ZDI1YjcgbGVnYWN5LXRydW5rCis3MzIwMiAwMGQ1NzcyYzg2ODY2MjUyNDZjMmEzOWZhNDYzZjBmN2Q5YTc0ODM0IHB5M2sKKzczMjAzIDVlY2RiODI5NDM0Zjk4NjNiOWFkYjNjMzk4NmUwZTBiMTRhNGNlZGUgcHkzaworNzMyMDQgMThkODIzZThiNjAyY2VkZTY3ZTI4NjJmNDNiMWZkOWRkOGQzYjFhMSBweTNrCis3MzIwNiBkNWJmMDhjODYxYTY0MjVlOGYwZGFiYzAyNjE0MjQyMjlmN2ZlMzhmIGxlZ2FjeS10cnVuaworNzMyMDggM2Y2MjExNDBlZmM0YTJlMjNlOWFiNTBhNWYwYTBhZmJkOTI4MjI3ZiBweTNrCis3MzIxMCA4ZmE0Y2NhOWEyMmNlNDkzMDYzZGZiMTc0MTA3MTQ2OWJjN2JjZmMwIHB5M2sKKzczMjExIDAzMWI5NjNmMmJjMjc2ZDVmZTAwNTI0ZGY5ZDQ0OGViODdmMjQzOGIgcHkzaworNzMyMTIgODQzMTc4Y2YwODk5ZDdjOWZlNmU4NGNmOTg4YTA4NjAyODk3NGU3MyBsZWdhY3ktdHJ1bmsKKzczMjEzIDBlMDU0YzY1NzA2MjQwMmQzNzhhYjQ1ZGQwZDk1NTRlZjIyNzZiNDcgbGVnYWN5LXRydW5rCis3MzIxNCBlOWIwZGI1NTNkMDFmYTgwZjM5NDRmODM2MzA1YTU1Njk2NWYwY2ExIHB5M2sKKzczMjE1IDNjNDE1NzM0OTBjYjg1Yzc3YTJlOWQ4OWE2OTFhZDhiYjMyNWI1NzkgbGVnYWN5LXRydW5rCis3MzIxNiA1MGJlYTUzMzlmMTgyMmM5ZGY5ZThhMWYzZjc3ZWUzNzkwNDlkYTViIHB5M2sKKzczMjE3IDc0MjQ2MTI5YmQyMjMzYWNhYWRlOTIzZDkxZDY1NWZjNGEwMDNlZWUgbGVnYWN5LXRydW5rCis3MzIxOCBkZGI1MGMzYjg2ZjJlM2QxYmVjM2Q1NTJiMjRjMjI3ZDRhZjRlNTZlIHB5M2sKKzczMjIzIDBiMDc1MzE2NzNhY2QyYjQ1YWQ1ZDFhNzA5YTRhMzE1ZTYwNmMxOTAgcHkzaworNzMyMjQgYTA3ZWE4MmE1YmIwY2M4MTkzOGVkODU4NDIxOGYyYmY4NTA2OTRkYSBsZWdhY3ktdHJ1bmsKKzczMjI3IDM5Y2IwMWIwZmM2NDhmMzFmYWUxMTUzYmNjYWI2NDJkMDk0NTlhYWUgcmVsZWFzZTI2LW1haW50Cis3MzIyOCA2ODZjMTViODY3NDg5OGNjZTk5MjUwZjc3NWMyMGZmOWYxMmJkZWExIHB5M2sKKzczMjI5IGVlZjVkMWNlNmY0YjcwZDliY2YyMzQzOGZmY2Q5Yzk2OWY3MTk4M2IgcmVsZWFzZTMwLW1haW50Cis3MzIzMCBkNDUyNjk5NTZlZmZlMjJkYWNkNWVjZGYxZDQ2YTA1ZTUxMGRjNzY1IHB5M2sKKzczMjMyIGVkNmVkM2M4MzlmNWJjOTNhYWFkM2VjMDQ3ZDBmNGJkMTRkNzQ5YzMgbGVnYWN5LXRydW5rCis3MzIzMyAzYTc4NGIyMTcyMjA5ZjNjOTI0NDA2YjFhY2Q5NDFlN2MzMTRlMjNmIHB5M2sKKzczMjM2IDA4MDVlYTIxMTEyMjBlNDBiZTQxZDk2MjY4OGEyYzI2MDliZjZmODIgcHkzaworNzMyMzcgZDk5MjI4MjljMjA0MzQ4MjZjOWIwMjMyOTVhNWQxMDA0NWU1MTMxNyB0a19hbmRfaWRsZV9tYWludGVuYW5jZQorNzMyMzggMDNiZWFkNzI5NDdlZjliNWFmZGM1NGYxODNhZmIxNmRlMWM0NmVlNiBsZWdhY3ktdHJ1bmsKKzczMjQwIDgxMGMyNWYxOWNkOTRiMmI5MDMwMzQ1M2RkY2ZjZTRmYzU4Y2I2YzkgbGVnYWN5LXRydW5rCis3MzI0MSBlYmViNGQ2N2RiYWU5NjY5NzA3ZGIzMjhmYzg3ZTAyMzExYjhkYzQxIHB5M2sKKzczMjQyIGMyY2VjNTZkMGI4YTExNWFjMjNkNDU2ODgyMTY4YmYyMTZhMzk2NTggcmVsZWFzZTI2LW1haW50Cis3MzI0MyBjZWVmMGE3OGJmODc5ZjMwMTc0NGViNWJmMjQ0N2UzYzM1OTRiZDQxIGxlZ2FjeS10cnVuaworNzMyNDUgMDk0ZmQzMzVhNDcxMDIwNDViMGQ3N2RjYTAyOTlmNjcyYTIwY2I3NiByZWxlYXNlMjYtbWFpbnQKKzczMjQ2IGVmNzQzMTJkNzIxNTVmNzE4MGQyOGViMDEzMzYwMTg4MzJkYzQ5ZWMgcHkzaworNzMyNDcgZTRhN2M0OGRlNjAzYmRkMGUwMGMxMDI4MzA3YmU0ZDNjMjBhNWM4ZCBsZWdhY3ktdHJ1bmsKKzczMjQ4IGFlOWI1ZDRmMTIyOWFkNmMyZTQyZjA3NjU0ZWY1OGIwYThkOTZhNzEgdGtfYW5kX2lkbGVfbWFpbnRlbmFuY2UKKzczMjUwIDYwMjU1OWZhNTI5N2Q1MTkxYzI0NjI3ZjAxMWNiMzY3ODAxY2FkZjEgbGVnYWN5LXRydW5rCis3MzI1MSBkYTMzYmVkNWQ4YzQ4NjI5ZDIwZTcwMGNjNzcyMjFkNWUyY2YzNGYyIHB5M2sKKzczMjUyIDExMmUxYmI1N2U3YjJkZmE1N2YwMTY1NzMyNjQxM2VlMTMwOWZmYmQgbGVnYWN5LXRydW5rCis3MzI1MyA5YzA5MTU0NGUxZGYyNzhlZWE3NGRlZThmMTQ5ODZkNjQ1NTJlMjE0IHRrX2FuZF9pZGxlX21haW50ZW5hbmNlCis3MzI1NCA1NzhiYWY3ZDMxMTQ3MzIwMWI5MjRjY2I2MDMyNjFkNzM3ODA5MmY2IHB5M2sKKzczMjU3IDgxYTViMWVjOTEwNWFhYjdiY2MzY2EwNjBiNmExMTA1YTgxMjFjMzEgbGVnYWN5LXRydW5rCis3MzI1OCAxMjg1M2RiM2VlYTM3Y2VkNTYyMDFiOGRmMGFiNmRlMjlhMTYxZTcyIGxlZ2FjeS10cnVuaworNzMyNTkgMWY4ZDk4NzIwYWNjYzk5OWQwMTlkN2EzZDcwMTYxYjQ5OWIwMmVmMiBweTNrCis3MzI2MCA4ODg4YTZmZTlkZDdmMjkwZDkzZjZlODc4YTkwZmI0ODJkNGUyODgwIGxlZ2FjeS10cnVuaworNzMyNjEgOTU0N2Y0YmJkNWE0NWY4NTk4MTBjOWU5MDEyNjNmYzliMzk1OGI5MiB0a19hbmRfaWRsZV9tYWludGVuYW5jZQorNzMyNjIgMzJlMzQ0ODNlNmRiNzIzM2VlNGU0MTgzNzRjZTQ0NTg0ZGM0YmRjMiBweTNrCis3MzI2MyBjZTg5NTkyYTkzYTQzNmUyYTFhNWU4N2FlZGYxOTdmZjg4NGNlNzllIHRrX2FuZF9pZGxlX21haW50ZW5hbmNlCis3MzI2NCAzMTdhMTc1ODQwNTgwMzdjOGJmNTYzYTA3Y2RjNmYyM2NiOGYxZjc2IHRrX2FuZF9pZGxlX21haW50ZW5hbmNlCis3MzI2NSA3ODdmMjdlZDcyYzI4ZDNjN2I1MTU4ODRjMWYzYzRmNDU1MGQ5OGQ3IHRrX2FuZF9pZGxlX21haW50ZW5hbmNlCis3MzI2NiAxOWQ4YTNhNGUxNDk2MDJlNWQ5ZmY2MjE3ZTE0YTIzMGFkYWVhZDE3IHRrX2FuZF9pZGxlX21haW50ZW5hbmNlCis3MzI2NyA3ZWU1Nzk5YTdiNTE5NTYxMmUyZTYzZTQ3ZDUxNDA2ZjNmZWZiN2JkIHRrX2FuZF9pZGxlX21haW50ZW5hbmNlCis3MzI2OCAzZDgzNTdjY2Y1ODMxZWZkOWY2MzU5NGRhOWQ0MGY4ZjUzM2FhMmI1IHB5M2sKKzczMjY5IGZhZmI5OTFiZWE2YjFiMDc5N2U1ODNlMmFhYmQ1YjJiNjFkZmEwNjcgcHkzaworNzMyNzAgNzgzZDQwNDRkYzJkZjkyOWE1OGNkODQwNjFlMTY0MzE1MmM0OGNhYyBsZWdhY3ktdHJ1bmsKKzczMjcxIDBlYmU4ODlmMTA2ZmU5ZGZlMDcyMTU5NjQzNDRlNmU1Mjc1YTRiOTAgcHkzaworNzMyNzIgZGE2ODcxYjlkODg0YzRlODdhMjg3MDViNmJlNDdkZmFhNTVlNjA2OCBsZWdhY3ktdHJ1bmsKKzczMjczIDY2YTViYjNkOGE4ZDgyZDhmOTFkYzA0YTBjMWY2NzI2NGU5N2EzMTkgcHkzaworNzMyNzQgZDY3OWI2MDkwN2Y3Njk4YjBjMGE5YzEzYzM4OWI5ZGFhYzI1MGNhMSBweTNrCis3MzI3NSAzZTJiOGRlNGIxNmNjODJkYWE3MDljMjExZTQ0YjI3ZWViYTAzZGIzIGxlZ2FjeS10cnVuaworNzMyNzYgMDZmNWY0MjZiODQ5MTE4NmQ1ZTg0MmY4MWRmNjg3NTY1ZWEyOGRkZCB0a19hbmRfaWRsZV9tYWludGVuYW5jZQorNzMyNzcgODg5YjVmZDhkYTMwOWE1NWNkYWQyNjU2YWY0NzFiZmE2OGM1ZmQ4MSB0a19hbmRfaWRsZV9tYWludGVuYW5jZQorNzMyNzggODUxNjM2YjYyYWQ5NWFiN2NjZWRiZjQ1NjQxOGVjZjc0OWNhNGFiNCBsZWdhY3ktdHJ1bmsKKzczMjc5IGQ5NDVlNmRlNTIyN2I2YmJiMmJmN2FlNDcwMTAxMDdiOGJlNjRlYjYgbGVnYWN5LXRydW5rCis3MzI4MCBkNzlmZGUxMDQxYmRjMGFmNzRmOTA4YTc0ODY4MWZhOTEwNjkyZTgyIGxlZ2FjeS10cnVuaworNzMyODEgMDU0ZWE0N2Q2Y2M3MzgzNmQzN2VlOTc0NTdkNWFmMDcxYjg5MzU2OSBsZWdhY3ktdHJ1bmsKKzczMjgyIDBhYmY1NjJiMWU2Y2Y2ZTg4ZWZlZThkYTgxNzFjYmNhMzQxYzE2YTggbGVnYWN5LXRydW5rCis3MzI4MyBmN2M5ZTczNDIwODQwMDgyZDI3NmYzN2VmNjA0MGE4ZDAzMDVhOWIxIHB5M2sKKzczMjg0IDZiZmI1OTUyMTEzNjQ3ZDM2NTNkOGQzMmYyMDFhZmMwYzUwMTllODcgcHkzaworNzMyODUgZjAwMTlmZjZiM2U1YjMzNGJlZDBkMDE3OGI5NzliMjZjODUwZTgxMiBweTNrCis3MzI4NiAxZWYxNDIxYTYxMjI1NTMwYjQyN2VkNTE2N2ExYWFjNWE2M2Q3Yzc4IGxlZ2FjeS10cnVuaworNzMyODcgZWY2NWNjNDAyYzkyMzE2MmFiNTQyZjdhMzA4MTI0MjkyNWIwY2VlNiBweTNrCis3MzI4OCBjZjhmZmFiNDkwMDMzNWE3N2VhZDUyOWQ2YWY2NjFlZGU0NWYxNWU0IHB5M2sKKzczMjg5IDk4NTUyMTMxZjY0MWJjM2IzMTQ0ZWZjODc5YTQ3OTI4ZGE4NGNlNjcgcHkzaworNzMyOTAgNTVkZDllZDIzZWVhZWNmMjgwYWFiNWY5NWQwYWMzMmJmMDZmNmY4MCBweTNrCis3MzI5MSA4ZjkyODc5MjU0N2NhZjRlNjAzYmI4ZmE5MTgzNzI1NmY1ZjgyMDdmIHB5M2sKKzczMjkzIDI3ZTA4OWNhYjcyOWExZGZmNDkxNzRlMmE4OTdiOGUxN2UyOTAwMmYgcHkzaworNzMyOTQgYjUwNGQ2ZDM0ZmNkNzA4MGYxNjdkOTM4NGU0MjBhMmNlOTdkNTNlYSBsZWdhY3ktdHJ1bmsKKzczMjk1IDdhZDJmMjJmMTNlNmEwMGM0OGRiNzBmNWM3YzU5NTk3MjQ2MDA5MjYgcHkzaworNzMyOTYgNjk4NTU3Y2M1ZGM1MDdmOGIyMjU4MjczYmY1NjNmN2EzZmZjZjkyYSBsZWdhY3ktdHJ1bmsKKzczMjk3IGMwMTdkMTkxNjczMTQxNzM2YjVjNzA3YjRkY2JhZDYxN2U3ZDNjNmMgcHkzaworNzMyOTkgY2E1MTk5NjA5OWZkZDI0NzQ0OGY2M2I3NWEzYmM5NjRkZDgzMzM2MyBsZWdhY3ktdHJ1bmsKKzczMzAwIDI3OTVkNmZiMjFlMjYyZDljNzAyZjQzMjI0OWY5MmJhMDg1NmU2YWYgcHkzaworNzMzMDEgNTQxODlkNWE2Njc0Nzk3NDQ1ZDdjYzU5MTcyMGIxYzg5NmQyZTkyNiBweTNrCis3MzMwMiAyNTVkYjcwYmIzMTZhYzBlMmZlYWQzOTEzY2MxNDAwYWNmMWUxMTZlIHB5M2sKKzczMzAzIGNlYjI2MmQ0NGQ3NDY0MTQ2ZDYzYjg0YmU0NDRhYzJlMjY1OTM1MWEgbGVnYWN5LXRydW5rCis3MzMwNCA3MWNiNjAyOWU4OTI3OTUwZTc1ZDRmYWMwNzBhYTg4MGY1OTdmNjRhIHB5M2sKKzczMzA1IDFjN2ViNWI2MjI5ZGRmNTI5MTJkNzFjYzQ5MmE3NjVhMjZmNDJhYTEgbGVnYWN5LXRydW5rCis3MzMwNiAzNWM1YzFlMDdhNDRjZjMwNzVkMzYyMjY5ZmI5MDY1ODA1NzUyOWEwIHJlbGVhc2UyNi1tYWludAorNzMzMDcgZmQwYWQxMTVlMjM4MjlhYjk2YzhjMmU2ZjE5YTU2YzU5OTc2MzdiYSBweTNrCis3MzMwOCA4NmIzMmUxZmQ5OWYwYzdmODFlOTU1MzYyMzk5ZjkxNjMyNzQwMGQ1IGxlZ2FjeS10cnVuaworNzMzMTIgMWI4NjAyYzM4ZmQwYzdhYWE3ODY5NGI3OGJkMWJiOWFkOTUyM2Q4YSBsZWdhY3ktdHJ1bmsKKzczMzEzIGM0YTgxY2UzYzg5MzI3MDIwYzc2YjNhZDUxN2U4ZmZhZmVjYTlhZjUgbGVnYWN5LXRydW5rCis3MzMxNCBlYTMwYWFjYjMxODE2MzdlOGY5ZTAwOWNjYWQyNTQ0ZTBhNGY0OWQxIGxlZ2FjeS10cnVuaworNzMzMTUgODc1MzRiZmQxYmU4YjdiZGQyMGM5MGM4MjFmYWNhYTZiODkwN2VhZiByZWxlYXNlMjYtbWFpbnQKKzczMzE2IGQyZDU0ZGM4ZTQwMGZhYTYxNDBiYmQwZTE2NTYzZjVhN2E0ZDNiZjUgcHkzaworNzMzMTcgNTE3N2I2NzgwY2I3NDJmMDIzMWQ1MGFiYWY4Y2MxYmY5MDFlYTYwYiBsZWdhY3ktdHJ1bmsKKzczMzE4IGI5NmM5ZDhkNWY5ODVkYjZlMzhiYjY5ZWFjYjU2YWY2ZmZiOGI3N2MgbGVnYWN5LXRydW5rCis3MzMxOSA3NjBhODg2NmFlZmZhMjQxMGE3MzRmMjMwNTk2NmQyMWNkODdlZGUxIHB5M2sKKzczMzIwIGFiM2EyMTMzNmE4NGQ2Yjc4OGQ1NGQ1MWRlNGIwMWJiNzg2OTRiMWUgcHkzaworNzMzMjEgNDQ2MDMwZjMxMGE5NTE1YzdhMTZkODlmNjIyYzJkOGIzZjc2YTE1MyBsZWdhY3ktdHJ1bmsKKzczMzIyIDkxZDRjNTE0ZTc4YzAyOTkxZTVjZmViNmRlOGI1Mzk0MTZhZTI2NDYgcHkzaworNzMzMjMgZjU4Mjg3NDJiNDZmZWQyNDc4ZDFiYzRjODRiMDQxM2VhNzYzNjRjMCByZWxlYXNlMzAtbWFpbnQKKzczMzI0IGQ0OWQ0OGYzMzVjOTAwOWJhYmQwY2M2ZDc3OWMxZWU4ZTExNDhkMDMgbGVnYWN5LXRydW5rCis3MzMyNSA5MTQ1ZjU4Zjc0OTk5YTczMzBiMWIwNTljN2NiMzQxMDY2ODYxZGU2IGxlZ2FjeS10cnVuaworNzMzMjYgZmE2N2JmNjc0YWYzNjNlNDQ2NDU1ZjhkYTRkYjQyYTY1ZWM1YmNjMiBsZWdhY3ktdHJ1bmsKKzczMzI3IGVjODQ1YzRlM2Q3MzZiNmE5MGRjNjVjZGZkMjc3N2E5YzRmM2RkMWUgcHkzaworNzMzMjggYjhkMTYwYWQxYzkyNTYzNjU0ODBmNDM5NmE1MGM1ODFkNmVlMWViNyBsZWdhY3ktdHJ1bmsKKzczMzI5IDY2Mjk3YTA3NGQ4YmU5YzA0NTE3NzkyYjlkZWYxZGMwMTZmZmQ0OGUgcmVsZWFzZTMwLW1haW50Cis3MzMzMCAwNDgwNzAwNTUzYWIyM2ZjZWU4NWY2Mzc5ZjUwNWIwZjBjOWQ3MTJhIHB5M2sKKzczMzMxIDc0NGU5ODRmMTg0MWFhMDVmNTA5NGNmZjAyNjE3ODI2YWFlYTJmYjkgbGVnYWN5LXRydW5rCis3MzMzMiA0ZmQzYTRhZWVlNDczZTcxMDczODI3YjRiYjRlNGE4ZTM0YjAwNGM5IHB5M2sKKzczMzMzIDEzYTk4NzRkOGY0NzZhNDJkYjNmNTVmMDBiNzNmMjdiNmU3ZDlkYjggcHkzaworNzMzMzQgYjYwOTVkYzhmMzVjMDcwYzQ3ZTgyMjE4YjFkM2FmNzNkMzBjMjU2NSBsZWdhY3ktdHJ1bmsKKzczMzM1IDRhY2Q5MzZjZjZiNmY5NzI3MjYwYmE1YjQ1MmIxNzM3ZGY3MDU3YWEgbGVnYWN5LXRydW5rCis3MzMzNiBlZGYzZGRhYTM0NmJmZDEyYjA1NjZmOGJmYjg0N2UwNzkyMjgyYmU5IGxlZ2FjeS10cnVuaworNzMzMzcgMDNkMzhhMmFiYzQ2YTk4YmIyZWMzNDZiOTVmZGI5OTY1NzY4NWRlMSByZWxlYXNlMjYtbWFpbnQKKzczMzM4IDY1N2E4YWUwYmJjOTQ2Nzg4NGU0OTA2NWFiNDcxMjMyMzkyYzk4NDMgcHkzaworNzMzMzkgZjQxYjI4NWYyYjU5YWNmZThjNmVhNjEwM2NkNTAyNjcyNGJmYzE1OSByZWxlYXNlMzAtbWFpbnQKKzczMzQwIDI3MTlhODhjMjI5NGY0MDRkMWRjMmIyMDZmNGFhMjBiMWE3MTgyMGEgbGVnYWN5LXRydW5rCis3MzM0MSA2NTc5M2FjYzAwOTUwMDJmYTBmNjIyYWMxZDkyMmI1Y2NhZmQ2MWRkIGxlZ2FjeS10cnVuaworNzMzNDIgMGFkZjBmYTc5OTNiY2VhNDBiMWM0ZGY1ZjU2NjAwOTgyZmZkMDBhZiByZWxlYXNlMjYtbWFpbnQKKzczMzQzIDhiM2FlM2EzODI1MDc2MTQ4N2U5ZDZiOTFlOTE2YmFlODRlMDQwMGUgcHkzaworNzMzNDQgZjYzMTQ3NWEyNjQyYjNiMzhiNDc1ZGRjNWIzMTU1YmUxMzZmYzgzYiByZWxlYXNlMzAtbWFpbnQKKzczMzQ1IGI0NjM1ZGEzMTA5OTkyMjg4OTM3NDY0MGE2ZDUxYWYzZjFjOGI3YTEgbGVnYWN5LXRydW5rCis3MzM0NiA4MGVmM2I3YTRlMGRmNDVhMWRlMjBjNDg2NWFmNWYyNWQ2Y2JhYWFhIHJlbGVhc2UyNi1tYWludAorNzMzNDcgNDc1NWY4OThiOWZlMGQ0OWMxZDY1NjVjZDZmNTQwNmZiMTFhZjliNSBweTNrCis3MzM0OCAwZGU2NmZjZWYwZmE4OTcyZTk0M2YxZDcwZWQxNGUzOGYxZDI5MTlmIGxlZ2FjeS10cnVuaworNzMzNDkgZWM1OTE3Zjc3YWMwZTY4OGZmMjYzOTk2OWZmOGEyMjI0NTgwZjE2YyByZWxlYXNlMjYtbWFpbnQKKzczMzUwIGEyZjIzNzZlMWQyMDFhMjg4ZDY1MTk3NjRjOTI2ZDY1MDRiMDhhMmYgbGVnYWN5LXRydW5rCis3MzM1MSA2MDAzNmU1MGNkMTg2NzU1NDdkOTVhODMwMmU3NzJkODM1ZmE1NjMwIHB5M2sKKzczMzUyIDAwMzFiYTIxMzkwYTFiM2FlZjhjOTk5NDJiOGRiNGJmOTkwM2I1MzEgcmVsZWFzZTMwLW1haW50Cis3MzM1MyAxMTI4ODIzOTc5ZGRlOTQzMjViYzMyYTI1Y2I2MWI3NzhhM2JhODYwIGxlZ2FjeS10cnVuaworNzMzNTQgMGQ5YmQ5MWViODVjYjVjNGU0NGExOGYyOWMyZjJiNjVmMzhmN2JhZCBsZWdhY3ktdHJ1bmsKKzczMzU1IDIwOWE1MzllYmZmODA2YzI5YzYzMjc5ZTA2YmNhYzA4YWZmMDE3YzkgcmVsZWFzZTI2LW1haW50Cis3MzM1NiAzMjQ0ZmM0NzczZjU3NzI1ZWYzZGFlZjBkZGJkNzkwOTIwYjY0NzY1IHB5M2sKKzczMzU3IGJiNjNmZDk3OWZjZDBhODE0NDdhNjcwZWYxZWQ1MjA5MTllODAyYjAgcmVsZWFzZTI2LW1haW50Cis3MzM1OCA1YTM5ODVlNWRhZTNiNTczMDM2ZTllYTVlYTNlMzc1MmIyZDkxMTIzIHJlbGVhc2UzMC1tYWludAorNzMzNTkgMTQwMTgyYWNjZDFmNTgxN2VhMTk2ZGU5NDI3MDBlYjIwZDFlYjkyNyBweTNrCis3MzM2MCA0MTc5YTNlNjYxMjMxZjkzY2M1NTAyNzZlNTFkOWU5MDg1NDRhMGQ4IHB5M2sKKzczMzYxIDk2YTBjM2Y2ZWY4YmVhMjcyODk1NWM5ZTVmMGE3YjUzNjc4OGYwYmMgbGVnYWN5LXRydW5rCis3MzM2MiAwMjc0NDQ4MTBlM2YzOWNiMzU4ZTYxMTQ0ODE0YzUwOTVmNTQwMzEyIGxlZ2FjeS10cnVuaworNzMzNjMgYTFlMDY4MWFjYjM2ZjFiN2E3ODczYTQzNDA4ZTYyOWM4N2M3ZmM5NiBsZWdhY3ktdHJ1bmsKKzczMzY0IDQxZTZjZjY4NWVkMTZiMjlkZTc4OWE4NjFiZGVjYzg4NTgzNzFjOTUgcHkzaworNzMzNjYgMjAxNzBiZDBhZjI1NGRlZDk3YTFmZDczM2VhY2UxZTA1MmI1ZDhmMiByZWxlYXNlMzAtbWFpbnQKKzczMzY3IDcyODg5YTBiOGYzMjJhNzM4ZjE2ZGVmODg1NmM1ZmRjNjVjYjdkZjUgbGVnYWN5LXRydW5rCis3MzM2OCA5ZWU5ZTdhYThhYmMyNDQyNTg1ZDlkN2E5ZmEyOThiZDIwNzZlMTc2IHJlbGVhc2UyNi1tYWludAorNzMzNjkgZTIwNDFjNWM2MDA2M2Y5M2RlZDBjMTc3YjMwMTk0NjliYTczMTQ1YyBweTNrCis3MzM3MCA3NzAwNDA4ZjY1ZmM0MWZmZjYzNTYxNjE4MGQ3NTQyYjE3NGE4OTc5IGxlZ2FjeS10cnVuaworNzMzNzEgZDY2Y2FmZDZiYzIxYjA5OGQ4ZjcyMGRlZmY0NzE1YmQ2NTQzODU1ZiByZWxlYXNlMzAtbWFpbnQKKzczMzcyIDVlYTg1MDdkOWJlMTJhMGY2NTY3NGFmNmJiMGMxODgyMjA5NGQ2ZWQgbGVnYWN5LXRydW5rCis3MzM3MyA2MGEwYWYzMmE2NjNlMmFkMjY1ODc2NjBkYjQyOGEyNTc3OTUyNzE5IHJlbGVhc2UyNi1tYWludAorNzMzNzQgMTJiZjg3Y2QyNzQzMGUwYWRmNzM2OGZmYjk2NTY3Mjk1ZGI2NGVkNSBweTNrCis3MzM3NSA0ZjhhNDRiNTFkMGMxZWFkNGRjNTNmZTg1MGE4YjkyNTEwOWQ3OGVmIHB5M2sKKzczMzc2IDUzMDZiODRkNGZjZWVjNjlmYTc2ODE4MDNlNTMwMGRiZGU4OGY3NTAgbGVnYWN5LXRydW5rCis3MzM3NyA2MzcwZDcxZTNjYTMyNzE4NjJhNTkyNjMwODdmY2RjZWFiY2M3YmU1IHB5M2sKKzczMzc4IDU1ZDIyYjAyNDQ2NGRiMjVhNWNjNTBkNjRkMTE1ZmQyNjhjNzVjMTYgcHkzaworNzMzODAgMGUxYjNjMjRkM2UyN2E2NmYyZThkNzhlZTc1NDUxNWMzNWYxMzQ1YyBweTNrCis3MzM4MSA5ZjNhMjU3NDNmMDNmYjUwYTlmMTBiNGRmNmYyZTE3MmZlYWUyMzI2IHJlbGVhc2UzMC1tYWludAorNzMzODIgYmExMDI1NDBlYTM3Mzg4YWMwOTU1ZTlkOGE1MmQ4ZmVlMDhmZmE3ZiBsZWdhY3ktdHJ1bmsKKzczMzgzIDdjZjg5ZWQ5MGY5ZDA2NGFlNGExZDJjODk4NGQyMDk4MGQ0ZjgzYTkgcmVsZWFzZTI2LW1haW50Cis3MzM4NCBkYWU5YmU2Mzc5YjNlNTg0MTg3ZGE4NmRlZTI2NzkwM2JhNWM0ZTEzIHB5M2sKKzczMzg1IGZjYmNkOTMxMzM4Yjg5MzllOTI1ZDYxZjJkZWU1OWY4YmQwYTFkNDkgcHkzaworNzMzODcgYzk0OTRjODg3ODhmNWI4NTJiZDJlZjlmNzE4ZWNhYzZhYWMyODJmNSBweTNrCis3MzM4OSBmNTc2ODA3NDhlY2JkNjk1NWM3Njk1MTBkN2Q3NDhhZTdiODQzZDZiIHB5M2sKKzczMzkwIDY1MjU1MWFlNDc2NzAyZjM2YWYyNWQ2OWYzZGY2OGFmMTYyNjA0YTYgbGVnYWN5LXRydW5rCis3MzM5MSAwN2UyZWUyZmQzNmQzMmZiYzRmNWRiZWY0MGMzNzNjZDVlYzI5NDNjIHB5M2sKKzczMzkyIDY0OTJiNmVjZTU5ODdhYmU0YzFmNDA2NmZiYTc3NGQ2YTMwMmJmODEgcHkzaworNzMzOTMgZjM0NzU0YTc0NWFlMmEyYTg0NTc4OTMwNzU3MzZlMGUxNzk2YjRlNSBsZWdhY3ktdHJ1bmsKKzczMzk0IDc2MGE3MTBlYjZjMTU2NTRhOTlhNTI4MmNhOThhYjlhNzNiYzdiYTkgbGVnYWN5LXRydW5rCis3MzM5NSAwMTdiNGI2NDRmYWYyNDUzMTNhNGE1Nzc4Yzg1NGUxYTdmMmI4OWE2IGxlZ2FjeS10cnVuaworNzMzOTYgY2RmMjUyYzg3NDMzNmIwNWMxYWE0NTlmNDg3OTViMjQ2ZThkNDVlMyBsZWdhY3ktdHJ1bmsKKzczMzk3IDI0YzhkMWFhYmFkZTMxOTkzNWJkM2I3ZjA1ZDY0NWNiODkwZmU4MDEgbGVnYWN5LXRydW5rCis3MzM5OCA5MjFlNTY5ZDEyMTU3N2Y1YjAzNzQ2N2M5MjQ0NGY0ODVmZjk2Y2E0IGxlZ2FjeS10cnVuaworNzMzOTkgZDgzMzhhOWExZTNhODgxMDBkZTQzMzM2ZjhmYzZkNDU5M2EyNjFkMiByZWxlYXNlMjYtbWFpbnQKKzczNDAwIGViNjFjY2E1ZjU0ZGUzYWFhZGM0ODI2NWZmMmQ0OTk4OGM2NmI2MTUgbGVnYWN5LXRydW5rCis3MzQwMSBiZWU0NmZmMGU1NzgzNWFmMzQ4ZjEzMWY2MjY5ZjZiYjIzMDFkOWI1IGxlZ2FjeS10cnVuaworNzM0MDIgNDUzZmU0ODg0MmQwYjEwODQ1YWNiMzVmZTU5MDNlZDc1Yzk1OGUxNCBsZWdhY3ktdHJ1bmsKKzczNDAzIDc1YzRkM2JjNmNjODg0MDM3N2Y5OGQxMzBjNjFmMGQ0OGY4NTFhYWQgcmVsZWFzZTMwLW1haW50Cis3MzQwNCAwYzM1N2UzZmMzZDAxN2M2NmE5NDAxN2NkYTc1ZGUzNjg2Y2M0MzljIGxlZ2FjeS10cnVuaworNzM0MDUgNzg4ZTEzOTdjZTc3NzQ1OGZiMGRjOGYzYTBlOTZiNThiZTRhOGNmMCBsZWdhY3ktdHJ1bmsKKzczNDA2IGI0MzM5OGVhNTQ5ZGU0NDBlNjI4NTNjNThlMGI4ODNlNjNlZDkzYmQgcmVsZWFzZTI2LW1haW50Cis3MzQwNyA0N2UzMzY1ZTIxNzdlODhhMGE5OWRlMTJhMzJmNDQ1OTVhYmM1YzNjIHJlbGVhc2UzMC1tYWludAorNzM0MDggMDMyYzJlNWUwNjE0ZjM3MGU4MGY5NmE1MzA0NDY5YjQ2NWQxNDkyZSBweTNrCis3MzQwOSAwNGNjZWMwNDQxYjJhNjM5NGFiOTRkNmE2NDA1MjRkMDE0MWVjOTZiIGxlZ2FjeS10cnVuaworNzM0MTAgMDNhODQ4ZDFjYjY4Mjc2YTg4YTA2ZmI3NjczYmMxYWRkNGE1M2IwOSBweTNrCis3MzQxMSAyNWVkYzVmNzJhNzJlYTNjOTNkNjYzY2VmNzVmYjk4NTA0NGVmZTljIHB5M2sKKzczNDEyIDBiODdlNDM4ZTFiNTNlM2Y4MTJjYWQ5NjNhN2ZkYjY1ZDE5OGJhMmYgcHkzaworNzM0MTMgMTllNWRmY2UwZmJiMDI5NWJkOTA1ZGM1NzQ0YmNhYzUwZjZlZWQ4NCBweTNrCis3MzQxNSAyNmY4YWU2ZjAzN2Q2YjVlMjNjMjBlNDVlYjc2NmE5MWFkZDFmZTg2IGxlZ2FjeS10cnVuaworNzM0MTYgYTc2NGRiNjQwMjg0MmJjNzYxODRhMWZlY2EzMjc4MjY4YWYwNTJkOSBweTNrCis3MzQxNyA5MTI0MjMxMzU0ODM4MTYwNmVjYmQ3N2M2ZWI4ZDU0MTZmNTgwY2Y0IGxlZ2FjeS10cnVuaworNzM0MTggMjIxMjc0MGY0NTQ0NjliZTgxMTg3NWI5NTI3MTVlZGEyZjI4NDM4MSBsZWdhY3ktdHJ1bmsKKzczNDE5IGNiNjY0NzNjYmJmODhkOWYwMTg1NzFhYmFlYjE3YmE5ZTY0ODBlYTAgbGVnYWN5LXRydW5rCis3MzQyMCAzZWI4NTEwODA4YzlkMGU0MzMwYjQ0ZTQ3YWE5YjFiNTM0Zjc4ZWEwIGxlZ2FjeS10cnVuaworNzM0MjEgNDBjOGMzNTQ5MmYxNGEyODk3NjU0ZmVhZDc0MTRkM2NjMTczODkzNSBsZWdhY3ktdHJ1bmsKKzczNDIyIDI0N2Y4ZDI2OGQ1OGM0MWEyNDQ2MmIzZGQ3NzNhNjY0MjQ4Y2I1YzUgbGVnYWN5LXRydW5rCis3MzQyMyBmMTE4YWFiNjUwZGQzZTljMjRmYWZjYzMyMzIzMjAwZTdlMTViMDY1IGxlZ2FjeS10cnVuaworNzM0MjQgMGJlMzc3ZTYwODAxYjZhZmViMzI5ZjJmNDcwMDliZWYwYTYzZDBjYiBweTNrCis3MzQyNSAwMTUxMDI5ZGUxZDkxNzQwYzRlMTVmZTcxNzQ3ZGEyYzBmZmQzMDNmIGxlZ2FjeS10cnVuaworNzM0MjYgM2M4ZjRmN2U0YTYyZWIxZDBlMGEzYTkxODE2MTE4MWViY2MwOTA5OCByZWxlYXNlMjYtbWFpbnQKKzczNDI3IGU0MTE5YzkwYmYyOTUzOGQwMDJiYWY5ZGU5ZmRhZDU3M2Q4MWQ0N2IgcHkzaworNzM0MjggOTAzZWZiZjUxMWI0ZmVlMTc5NDlhYjI0ZmRmNGViOTgxZTk4ZmZkMiByZWxlYXNlMzAtbWFpbnQKKzczNDI5IDkwMDBhMDgxMTU5OTQxYmZlN2FmZWYyNWYyYTRlZGE1ZmUxMmFjMDEgcHkzaworNzM0MzAgNDY1OGZjYWFmYzczMjg4M2ZhOTczNzA4MjQxMDUyOGY3OWZjZWY1ZCBweTNrCis3MzQzMSBiNjM0ZDBlYzhkMzUxNTgzMDdlODBiNzEzZTc1ZWQwYmRkODlmMmJmIHB5M2sKKzczNDMyIDMxMTEwNzQ0M2NjMTM2YjBjM2I1MGU1N2ZiMTdlMTUyYzZkMjViZTMgbGVnYWN5LXRydW5rCis3MzQzMyBkOGFhNDg1NDg1YTZjZjhhYTBjNDczZDUxMDAwYjZmZTVjYzZhNzNiIGxlZ2FjeS10cnVuaworNzM0MzQgZTE4MzE4Zjk4NWVkMmUxY2VkNjZmMGE2MjBlNzlmN2QyMzAzNGQwZiBweTNrCis3MzQzNSAxYjNhMTkwMzdmNzY0MTM1ZDE0YjgyMWNhZTE3OGYwYTQ1NDNiZTcyIGxlZ2FjeS10cnVuaworNzM0MzYgNDM3M2YwZTRlYjIxMzJiOTFkZTk3OWE1ZDAxYzc5NjFkZDY5NTk0YiBsZWdhY3ktdHJ1bmsKKzczNDM3IGM3YWM3MGE5NDRiNTAxZDkxZjA3ZjdkNDg5MmRmMDIzZDBjZDMyMTcgcmVsZWFzZTI2LW1haW50Cis3MzQzOSA0YTUwZjBiZGM4MDYzYTdhNjk5NmE1MDYyYjk0MWM0ZjYxNDEyZWEwIGxlZ2FjeS10cnVuaworNzM0NDEgMjAzNDNhYTJhM2ViNzkzZDE0ZmQxNGI4ZjgwMGI5Y2YzYzgwY2ZiNyBsZWdhY3ktdHJ1bmsKKzczNDQyIGNiNWFlNDQwMWViZmRjNjkzMjkyMWM3OWE3NzdiYjllMzJhMzg4ODkgcmVsZWFzZTI2LW1haW50Cis3MzQ0MyA5ODE0ZDdmNjU5YTAwZWRmYTc3MWI5MjdiOWI5YjFjNjYyMTU0ZGEwIHB5M2sKKzczNDQ0IDI3N2ZkMDY0YjUzMDFhNjBhNmUwOGJjMjRiNTc1Mzc4NzA1Nzc0NGEgcmVsZWFzZTMwLW1haW50Cis3MzQ0NSAwNzZkYjRkZTAzN2FiMTAxZWQwZTdiZjFmZjdkMjhlZjFkYmNiM2MxIGxlZ2FjeS10cnVuaworNzM0NDYgYWQyYTU5NjAxMjZkYTIxZWQ2N2QxODVkNDZlOWQwZWEwYWViYWNlZCByZWxlYXNlMjYtbWFpbnQKKzczNDQ3IDQ1YzA1ZmRkOWIzMmE4ZjY1ZDg4ZjdlNTZhMDg2YWZhZTMyM2JmYTggbGVnYWN5LXRydW5rCis3MzQ0OCAzM2ZlZmRlNzkzYjBjYzRlZmFiMjI2NmJiZGI3MzZjZGM4NjhmMTk1IGxlZ2FjeS10cnVuaworNzM0NDkgZWVhNGQyMzdjMTZkNzUxMTEzOWNiMTJhZWVkNjVhNzVlYjFlMmEwNCBweTNrCis3MzQ1MCA4NjU1MDZmMzZlNTg4ZGRlNTMwMjU1MjBjNjhlYTU2Zjk1ZTM1ODk2IHB5M2sKKzczNDUxIDk4MmY3YmEwZTE0YTI3ZjZhMGZmY2JiYWVmMGNkYzA5ZjdlZGFhYzEgbGVnYWN5LXRydW5rCis3MzQ1MiAzOTAyZTRmNzRlZTI4MTdhMjFiNmQwM2U5OTc4NzBlNGI3M2ZlNTVlIHJlbGVhc2UyNi1tYWludAorNzM0NTMgZjAxOTVkYWFkZmZiYjI1OGY2OTRhZDg3YjNlNTU5ZDdiNmE1YWY5YyBweTNrCis3MzQ1NCAwOWU1Zjg4YzliZGJlZDQ2YWVjNGU5NGMwM2ZlNDRkY2FjZWVkMGZhIHB5M2sKKzczNDU1IGM1NjgyY2UyMzQ2NzU5YjhjYTAzYTNjMDE1ZGVhMmM0ZDI1MTIyNzIgcmVsZWFzZTMwLW1haW50Cis3MzQ1NiA2YjY3MDFiYTEyMTFlYTVmODgyZjc2Y2UxMWExMzAyZGEwOGFlMGUyIHB5M2sKKzczNDU3IDRjNmNkYmExYjBiYjNjYTAzNGM3NTc4MDMwYmUwYWI5ZDAxOTk5ZjEgbGVnYWN5LXRydW5rCis3MzQ1OCBjMzg3ZGE4MzdjNGEyM2ZmYmU3N2FhNWFjYzEyZGJkODdlNTc5YTZmIHB5M2sKKzczNDU5IGMxOTg2YmI0MzAwYjcyMmJmYWJhYWJmODBiNTM1ZDlmMWUwNDg5NmUgbGVnYWN5LXRydW5rCis3MzQ2MCA2ZjMwNTRhZmExYTBkOGFiMTBmOWI2MGU0YzFiNjk3NjEyZTYxMjg4IGxlZ2FjeS10cnVuaworNzM0NjEgYTVmMzFiMzBjN2MzY2NkMjljYmViNTAwMGNkODlkMmQyODA5NGJkYyBsZWdhY3ktdHJ1bmsKKzczNDYyIGIwY2IzY2JkZmM0N2FiOWI0YWE4MjA4NmI2M2MxYmY0ZTRlNjM3ZDcgbGVnYWN5LXRydW5rCis3MzQ2MyAyMmM3OTM0MWU1ODBjYTJjM2M1YjBjNDZlZDI3NmJkMWU5ODAwN2U2IGxlZ2FjeS10cnVuaworNzM0NjQgZDExZGJjZjg0M2RmOGMwNGNkZGU4NGMyZTk4YTQ1ZGMxNDhkZTdkYSBweTNrCis3MzQ2NSAzMzQ4OTExN2RhOWM1NjA5YzZkODUwNjgwNTY5OTk3MmM2Mjg2Nzk2IGxlZ2FjeS10cnVuaworNzM0NjYgZDRjNjZmZjEyOWMyYzgzMzA1ODcyNWIwYWJiNjI2MmI1NDM0ODM5ZSBweTNrCis3MzQ2NyBhZDZmNmMyNjE4N2Y5NDRhODkzYWUwMGViZjFkMDhiMTUxZTZjMTk1IHJlbGVhc2UyNi1tYWludAorNzM0NjggN2VkYzM3ODgzZThhMWQ2ZDNlMTVjOTZjNjkzNThhYzUxNjY5NTc1ZiByZWxlYXNlMzAtbWFpbnQKKzczNDY5IDMxNWQ3YWU0MmVhNzAyNTM1Mjc1NjJjMTlhZDIzM2VjYzUxMmY0YTEgcHkzaworNzM0NzAgYTc1ZTE4ZDgxNjZhYzJhZmZhMTFmM2Q1NmQxNDM0MGFhNGUyODI1MSBweTNrCis3MzQ3MSBhMjMwZjhkOWI0MTkyOGM1MmNmOGIyM2VmNmUwYmJhMjQ3ODY1NGVhIGxlZ2FjeS10cnVuaworNzM0NzIgMzcyMjNlZjRkNDcwZDQ3MTdkMDQ0MGY5NDcxZGY3YzVmM2RiNDYzNiBsZWdhY3ktdHJ1bmsKKzczNDczIDk4YTY2ZmEwMWUwYTRkMGE4NjA1MWI1MjBhNGU3NWM4YTY5ZDAxMjYgcHkzaworNzM0NzQgYjgxODkzZDM3ZTdhOWU5NTkwMGM4MjRjOWRlN2JiMGIzOTY2NWI5MCBweTNrCis3MzQ4MCBkY2M5NjJiNGQ4ZmY5MzBkZTBhMzU0ODlkMzRiY2RkYTRkZDYyNGQyIGxlZ2FjeS10cnVuaworNzM0ODEgZTI1YTRkMjdjMzhiNjA2NjA2ZjdjZmYxMjAxZDQ1MzM0NDJiZWEwYyByZWxlYXNlMjYtbWFpbnQKKzczNDgyIDVmYWZjYjMyZjA2MjI3Y2Q5ZjU3ODNhZTg2ZTY1OWIyYTc5ZDQ0YjcgcHkzaworNzM0ODUgZTdkMzhjNDA4MzYxOWIzY2RlM2UwYjZiN2MxZTAzOTUzMjA5ZmYyYyBsZWdhY3ktdHJ1bmsKKzczNDg2IDZkZDUwN2I5NTJjZjkwNDVlNWUwNGJmZWUzODc0NDc0MGU0ZmYyNTkgbGVnYWN5LXRydW5rCis3MzQ4NyAwNzI0OTg4OWE3NzNmMTg0NGUzNzBkYzEyODcwMDNmOGYwNzhkYTM1IHRrX2FuZF9pZGxlX21haW50ZW5hbmNlCis3MzQ4OCBlMWMyMzBmMDJmZWI5ZmRlY2U3OGMwZDkwMzgyZDA3ZGY3MTFiNTU2IGxlZ2FjeS10cnVuaworNzM0ODkgOTEzYzliZjk4ZDYwOTAxNmEwMWVjNjcwN2VkNzNkNDdlOGRiNjNjOCBsZWdhY3ktdHJ1bmsKKzczNDkwIDdkMjQ1YTQyM2U5NmM2N2M2Y2I0MGE5OTI0ODY5Mzg0NTkxOGE4YjEgbGVnYWN5LXRydW5rCis3MzQ5MSAwMWQxMDcwNWE3MWIxYTIxNGYzMmNmN2QwNGE1YjJhNDY4MWMxNGY1IHJlbGVhc2UyNi1tYWludAorNzM0OTIgM2U0NTQwYjdmZWM5ZjFhZTRmMGE1ODIyZTc1MWE2NjYxNjZmZTgxYiB0a19hbmRfaWRsZV9tYWludGVuYW5jZQorNzM0OTMgZjMyM2MyODBkZjU4NmE0OTJkYzUzNzUyNjdkNjM1MjZhNDdkYmExNSB0a19hbmRfaWRsZV9tYWludGVuYW5jZQorNzM0OTUgZDY2MjI3ODlhZDI3NTYyMGZhZGNlMDM2NWViOTgxZjVhNjE3ZWRiMiBsZWdhY3ktdHJ1bmsKKzczNDk2IDQwYWZiNjU1MzZkYTI2YjE3Y2M5ZTg2ZjA3ZjFmZmQwYjJiYTQ3YmQgbGVnYWN5LXRydW5rCis3MzQ5NyBhOTUwYTQ0MzRmOGJiZmE3NTgwNTVkMDBiZTQ4NDc2ZTE1MDQyYWQ2IHB5M2sKKzczNDk4IGQzYjQ0Y2U1NDNhZTQ0NTE1ZWI0ZjFkOTVlZTg5ZjBlZTM1NjUxMjcgcHkzaworNzM0OTkgMTFjMTZiZTRkMjFjMjEzY2UyMmNiNTYyOTU5ZTNjZmQ5NWJiZDI1NyBsZWdhY3ktdHJ1bmsKKzczNTAwIGU0OGJhOWNlODgzNjI0NWViNjViZDdmNjkxZjJlODJlM2E3MzBhMzggcHkzaworNzM1MDEgODcwMDA4OWVjY2Q0ZDNlMmM4MTE3NGM1NzUzNjEwYTYxNTAzMzJlMyBsZWdhY3ktdHJ1bmsKKzczNTAyIDkxNzQ5N2UyNTA5Y2Q2NmZiYjZkYTE4Y2JiNDM4NzRiMTBjNjZhNmMgbGVnYWN5LXRydW5rCis3MzUwMyBjNGZiMDcxMjE0N2ZkMmU1YWQ5NzgxOWM0YjJmN2RhZDFhOTg4NTE0IHB5M2sKKzczNTA1IGFjYzU4YjU5M2JiYzFiYmJlYmMyOTgwZGY5NzQ2ODQyZjkzMmRmNWQgcHkzaworNzM1MDYgYmM2MWQyMzFhNjUyNmJjOTY3YzVmZjNiN2UzOWQ1MmMxMzAwM2VlZiBweTNrCis3MzUwOSBlMzNiNjU2MjcxODhiZmMwYjMyNzM0MTE5NTJlZWRjMTE1NzM1N2NmIGxlZ2FjeS10cnVuaworNzM1MTAgNWNiNGU1MWE0NDA4NTEyN2NhYWJiMTk0YzFhNDQ0YjVjMTc0ZTQ4NiBweTNrCis3MzUxMSA4YWQ3ZmM4MDlmNjg0ZjliN2YxYzU0NTRmYmUzNWVhNmE4ZDlkNjVjIGxlZ2FjeS10cnVuaworNzM1MTMgMzg2OTIyYjYyOWMzOTA1NGUwOTJkZTJmMTU3YTJmMGUxY2M0OGM4ZSBsZWdhY3ktdHJ1bmsKKzczNTE0IDUxNGZjOTM2NmYyZGJiZjI0MmU4OWYxYjVkYTc2ODFiMDc4NWViOWQgbGVnYWN5LXRydW5rCis3MzUxNSAxNzMyYTU0YTAyNzI1ODgyYjJlZWYwZDI2YjJhN2RiOWI1OGQ5OTg1IHB5M2sKKzczNTE4IGRjMzgxN2E4ZjU1MmViNjhmNGFkNjBiMjZhM2E5Nzk3NGE0Y2YwNzUgbGVnYWN5LXRydW5rCis3MzUxOSA4MGQwZjIwMmI5ZWYyYTYzZjFiNDRjMTE0NzZkYWJhMjM5OWNiNGYwIGxlZ2FjeS10cnVuaworNzM1MjAgNDU1MDZiZTQ0NTE0NjYyMTlmMWM4MjE2MjU0OTI5MGI2ZmQ1MjRjNyBweTNrCis3MzUyNCBkZmQ5YjllNzFiMmViMmI2ZDg0MWFjODIzMTg2Y2MwOTlhM2MzMzQzIHJlbGVhc2UyNi1tYWludAorNzM1MjYgZGJmZTBhYmNkODkzYTI2M2ExMjdmM2UyOTYyNTgwNDNmZjg4ZWY4MiByZWxlYXNlMzAtbWFpbnQKKzczNTI5IGM5NDU5NGU2ZWRiNzMyODM5ZjFlNTJiZTg3OTJiNjcwMjc3NmI1ZmIgbGVnYWN5LXRydW5rCis3MzUzMCBlNzM3MTM1M2EzMDIwZWQxN2M0NWQzMzFlZDM5YjFiYmExM2M2MDMyIHJlbGVhc2UyNi1tYWludAorNzM1MzEgYjRkMGMwMjBlMzU3NzBmZTk0MTA3NjYzMDE3ZTA1YjhkY2ZhYmZiNCBweTNrCis3MzUzMiBmNjVhZGFkMzk4OGQ0YWE3MzA3Y2I0MjQ5NzBmODliMTBhNTU5NzI5IGxlZ2FjeS10cnVuaworNzM1MzMgYTZhMWE2MWY3MmJmODNlOWU0NDk2OGVhMDBlYjFjZWUwNjBlYjJmNCBweTNrCis3MzUzNCAwN2Y3MTFkODdmZmRiYWJjMWViZjc4MDkyZDRmNzZlMDI1MTM4MGUxIGxlZ2FjeS10cnVuaworNzM1MzUgZDE2Mjk0Njk3NjU4ZWNjYThhMTRjYTdiODdmYmViZGM3ZDhiYmYwZCBweTNrCis3MzUzNiBhZDYwNzM3OGE0ZWZkZDMyODU5OWM1OWY0YjgxYjJmMmE4ZWMyMGY4IGxlZ2FjeS10cnVuaworNzM1MzcgOTVlNTc5MWZjM2M5MmQ3ZGI3NTRkNGZmMzEzNTdjOTI4OTU3NDI4ZSBsZWdhY3ktdHJ1bmsKKzczNTM4IDdhMTMxNWE5OTJmMGI2ZWMwYTJhZDQ1Y2E3NjA3OThhN2ZmZGM5ZjcgcHkzaworNzM1MzkgY2IzZDMyMzQzOGQ5MjI1ZTM3MzgwMDBjY2E0ZjdmNjI0NWE5MjY4YiBweTNrCis3MzU0MCBiZGM5NzU5NGU1MDk4YThmNmQ5MWI5ZjU0MzQxNDVlZjE4ZjJlZDkzIGxlZ2FjeS10cnVuaworNzM1NDEgYjkyYjg5MmM0MzYwMzc1MjRkOTM5YWY4MWRjYTZmYTBkZjdiM2EyNSBweTNrCis3MzU0MiA2YTMxYzRlMGRmYzEyYTlhYWE4ODM5ZDViNTc1NzE2Y2M4NDhjN2ZjIHB5M2sKKzczNTQ0IDJhZWVkNGVjYWQ1Yjg3ZDg1NGU1MTQxZTcwZjkxZTQ1Njc3Njk4MDIgbGVnYWN5LXRydW5rCis3MzU0NSBmNmNiMjkzMjAyMmNhZjRkY2Q2OWQ1ZDIwZGEyMDllODI4NDFlMWU5IHB5M2sKKzczNTQ2IGEyMGEzNzdjYzMyN2E4MmRlNzkzMDBmOGMwNDM3OWQzYmE5MTBjNWUgbGVnYWN5LXRydW5rCis3MzU0NyA4YTk3NmNkNTdjYTY1MTE0MmMyYjUzN2ZiOWNiNWM3Y2NjOTAyNGIxIHB5M2sKKzczNTQ4IGYzMThhZGZlMjI2NGFlNmFhMmY2YWFmNmVmNDA3MzM5NzhhYTFiYTAgcHkzaworNzM1NDkgZjRkODRjNGYyODliZGE5ZGM1ZWY0MmQzYzZiZTViMWExOTU0ZDA3MiByZWxlYXNlMzAtbWFpbnQKKzczNTUxIDc5YTYzMGRhOGYwMGUwNjU5OWY2YTFiMWI4YzM3Y2NiYTA2NjIyYTYgcHkzaworNzM1NTIgNTViMzAzZDVkZDU1MTVlMThjOTJmNmZkMzdmYWQwOGJmYTBhYTdjYyBweTNrCis3MzU1NCAzZmUyZDFkMzdjZjFmMDYzNDIzZTgzNmQyYmRlMjBmZjFhNDliOTg5IGxlZ2FjeS10cnVuaworNzM1NTUgNDQ4Njk5MTU2ZGZlYTM1Yzk2N2VjODM5YWVlNDA0YTk2ZWQxOTUyMSBweTNrCis3MzU1NiBhMWE2ZTZkYmRkNmE3MmYwNjZhNzIwZThmZjI4Mjk5ZGNmYWE2NzJjIHB5M2sKKzczNTU3IDI3MzU4OTNjMzg3NDc0NDM0NzZkMzk5M2M5NDI1MDllZjJhN2RmNmEgbGVnYWN5LXRydW5rCis3MzU1OCBhOTM3ZjA0MDk1OTI4MWViYWFiMzQzNzU4ZjVjZThiNDVhNmIyYmY4IHB5M2sKKzczNTU5IDUyYzg2ODczNjgzZWFlOWNlOTliNGVhYWI3NmVjOGQxYTdkZWNjZDggcmVsZWFzZTI2LW1haW50Cis3MzU2MCBlNjkwYjczNmFmNDc4MTM3NmM5OWU1ZTFiYzVhZmI3NDUxYWVlYzkzIHB5M2sKKzczNTYxIGE1Nzk5MmE2M2NhYTA3ZTg4MWNjMmM3ZmFmNzFkMWI5OGI2NjViYTggcmVsZWFzZTI2LW1haW50Cis3MzU2MiBjZjljZWI2ZjVhM2E3YWY2NWJkNDdhNDI4ZDRhYmU1N2ExNmM1YjMwIHB5M2sKKzczNTYzIDg4ODJmOGZlODIzYzY0YjM1NzQ0OGMyMjlhMmJmMDRiOTJkOTI5ZjkgbGVnYWN5LXRydW5rCis3MzU2NCBhNjY2MTM0ZTZjMGMyMzRiMDk2ZjI5YzRjY2ZjMGZmNzk0Y2NiNTEyIGxlZ2FjeS10cnVuaworNzM1NjUgMGZmMGEzOTZmZGE4MzdiMzFhMjA1NGFhODMwNDJiYjAxZWJlMDRmYiBsZWdhY3ktdHJ1bmsKKzczNTY2IDAxNzBjOTYxZjI5MDU0YWY1M2I4N2U4OTI2MTlmMjQyN2E3ZDNlMDAgcHkzaworNzM1NjcgMjUzZGM3YmU1ZDFhYmI0YzE3OTVjZWM4NDVhMTZjMjgyNzgxODQzYyByZWxlYXNlMzAtbWFpbnQKKzczNTY4IGQwNDg3NzM5MWU4MDdjZmY2NjhmZTllNmY0OGI0YzkxMTA4YzIzZWMgcmVsZWFzZTI2LW1haW50Cis3MzU3MSAxNTBlM2ZlYmRmMTc4NWU0OGRkZTQxMGZkNjdlMDNhMWRiZWVkM2ZhIHB5M2sKKzczNTcyIDEyZTk2MGNjMzdkNjFlZDZkMDc3MTRiNWZiYTBjZDhmYWU1MzM1ZjMgcHkzaworNzM1NzMgYTY5YTAzMWFjMTQwMmRlZGU4YjFlZjgwMDk2NDM2YmNhNmQzNzFmMyBweTNrCis3MzU3NCA3YzllMWM5ZWM1ZGZmODIwYTNlMjYxY2Y5MmM0Yjk1ZTU2ODdkZDI0IHB5M2sKKzczNTc1IDRhY2NjOGEzZjlhZmU4NmZjZDQ2NmMyNjlkMGYyZWMxMDUxNjU1NjQgbGVnYWN5LXRydW5rCis3MzU3NiA4MzFiZWVlMjJhOWZjYWNhMTllMzg5YWQxMDU5NzM2ZWMzOWQyMjE2IGxlZ2FjeS10cnVuaworNzM1NzcgOWQwMGZkMDA4N2ZmOTE2NWRkOWZmOWZkZDZmOWQxNjlhNmI3YjExNiBsZWdhY3ktdHJ1bmsKKzczNTc4IGMzZDVkM2M4ZTQ5YmE4YjJkOTkzNDdlMWVmYjNkODdkYjE1MjYwNDMgcmVsZWFzZTI2LW1haW50Cis3MzU3OSAyNWQ4NWU0NDg2YWNmMTAzMzFkNDM2NWRmYzQ4NDJjOTNjZjUxODM0IHJlbGVhc2UzMS1tYWludAorNzM1ODAgYTI0ZjA5NjA2YjgzMjY5OGUyNmFmYjMzZDY0Mzk3NTUxZmQxNzY5MyBweTNrCis3MzU4MSA3N2ZiN2QzYzZkZGU3YTRmNTdjNzA0YmRmZjJiMTBhNTUxOTM2YWI5IHB5M2sKKzczNTgyIDk2MDMzNDQzNTg1NThjYzY1ZjczODZiODY4NGIwZjNhZjk5NWM4YWUgcHkzaworNzM1ODMgNWY0OWVhOGY1OTA4Y2ZkY2U0OGIxYjM0MWNmNGY4MTI2ZGQyZjU3NiByZWxlYXNlMzEtbWFpbnQKKzczNTg0IGI2NzYxNTk0NTY4MTU0NzZlNzliYTkyNzNiMjRkZWM5MDc5NWEyZjYgcmVsZWFzZTMxLW1haW50Cis3MzU4NSA0ZDQ3NmY2ZjFiZTNiMjE1ZGIxZDFkMjA4NzQzOGZkOGExMjY4MTE3IHB5M2sKKzczNTg2IDZkYzg4NGIyZGVhN2FhYzIzODYwODQyNWNjYzU3OTcwNTVmM2ExOTkgcmVsZWFzZTMxLW1haW50Cis3MzU4NyA0NmNmMmU1YTU3ZDRmN2IwOTBiNmU4N2FiZDRiY2E3ZTZjMTQ4OTgwIHJlbGVhc2UzMS1tYWludAorNzM1ODggZGM3NDU2Mzk3OGRmNDk1NGMzYTZlNjk1ZTMwYmU3MjI1MTgwNzkyMCByZWxlYXNlMzEtbWFpbnQKKzczNTg5IDE2NTFlMmYzNmFmMTJhZWFlZGYyMjhlMzNmM2Q5ZGEzYjI2YjI3NzEgcmVsZWFzZTMxLW1haW50Cis3MzU5MCAwNzBlMWUxNWM1MTYxZWI4ODNiNmYzMWRkOGJmNGZhMTE4ODUxZDhlIHB5M2sKKzczNTkxIDJkYTA1ZjgwZDM2NWFlOWY1NWY3NTMxN2VmZjNjZTU4ZDQ5NTIxMmYgcmVsZWFzZTMxLW1haW50Cis3MzU5MiAxZDNiZGRmYTg1MDkwY2M1NjBjNGY5ODdhMjM4NjVhMzg2ZjFiNTRlIHB5M2sKKzczNTkzIDU4ZjJiMjdjOTFhMTRjYjk3NWM5MDA3MjEzYTdjM2Q1ZDJlNzNlYWYgcHkzaworNzM1OTQgZTI1MjJlNGQyZGM4YmYyZjgyNDUyYTg1ZTgyZjMyODJiZTJjYTY2NyBweTNrCis3MzU5NSA1YjNkMGJmYzhkMjg5MWJjNDEwZGQyYTE2OWYyNGRhY2Q5MzI2ZTkxIGxlZ2FjeS10cnVuaworNzM1OTYgMWY2MDU4M2I2Mjg3Y2YxY2FjZTIwZGE0OThlZTFhNTc5NzRhYmIwOSBsZWdhY3ktdHJ1bmsKKzczNTk3IDNhYWYyZTA2NWRiMDU0MDE4MDM3MDVlZDRiZmEzZmQyZjkwMzBkZjggcHkzaworNzM1OTggZjRlZWEwZDIxNjVkYWRjZjFlOGExMTRlMzJhMmE3NzI3MWMyNTMzOCBsZWdhY3ktdHJ1bmsKKzczNTk5IDFmNGY0ZDllYzc5MzA3YWRhMWFlZDNmMTRlMGNjY2ZhODBkYjdiODYgcmVsZWFzZTI2LW1haW50Cis3MzYwMCBjNTM1NzgzNmMwNzlkNzZmZWY4YjgyMDdiNTE1MGQ0MzQyZDFiMjU4IHB5M2sKKzczNjAxIGFjNzhlZWViNDZjMjk1ZjBiNjViOWNiODc2M2U4Y2Q0ZjYwYjU0NGMgcmVsZWFzZTMwLW1haW50Cis3MzYwMiAxMGEyMjljOGJlYWRiOTc2ZWYxYzFiNzE4N2U5MGNmMDIwZTlkNzEzIHJlbGVhc2UzMS1tYWludAorNzM2MDMgNTU4ZWQ3MmQ0ZDMzYmJjMzg2MDE2NTlhYjYzMGJhNTNiNGJlYWUyNiBsZWdhY3ktdHJ1bmsKKzczNjA0IGM0MWZlMTMzZDg4NzMzMDUyZWFlNjliNzE5YjlmNjExM2JlY2Y4YjYgcHkzaworNzM2MDUgMDhkMDU4NTYyMTRhMzU4MWNiN2FlNmUxMzI2NTVlMWRmZDE5YWU2YSBsZWdhY3ktdHJ1bmsKKzczNjA2IDExN2U4NWNiZjE2OWI0YjgwNGIxYzA0YjVkODAwNDlkMDlkMThkODkgbGVnYWN5LXRydW5rCis3MzYwNyA1NGVkMjc5MWJiMTViOGM3MmUwNTMxOTllMTVlMDAxZDA4Y2MwZDc4IHB5M2sKKzczNjA4IGVlMjUzZWI2ZjA4YzA0OTIwZmIyMjVjNmZiOTJkNjdiN2IyM2I3MzEgcmVsZWFzZTMxLW1haW50Cis3MzYwOSA2ZThkNjMzNDRkM2UzMGQ5N2M4MTBhNmFkMzNjZTkyYjBkZTE5NmIyIHB5M2sKKzczNjEwIDRhMjI1ZGU4OTIzMzYyN2M4NTFlMjMyMjMzYjA3MjM3NzdhNmU0MGYgcmVsZWFzZTMxLW1haW50Cis3MzYxMSA1NDRjNWJhZDE2MDc3ZmFkZGUwOWZiZTVjMDUzYTcwZGI2NTI2OWUxIHB5M2sKKzczNjEyIDI2MDJiNTZhZDAyZGM2ODIwNzI5MTU3ODk0ODI1NDk5ZTA5MjhkYzkgcHkzaworNzM2MTMgYjU1YTc4YjM5YmQ1ZWQ2ZmJjOWUyMzQ2YzZhZTBmZjY2Yjc0MTAwMCBweTNrCis3MzYxNCBkZTg2NmY0N2QzOGE4NTdkNzg0MmRiYTBlYWFiNmUxY2NiZjg5NmZhIGxlZ2FjeS10cnVuaworNzM2MTUgMzY4NDc4ODU5ZmUzYWFmOWMyNjMzM2RmMzM5OGUzOGVhYmNmZmI1MyBsZWdhY3ktdHJ1bmsKKzczNjE2IGFhOTUwZjc5NjJmZGM2YTUzNmZlMzJkNzE4MTJiNGIzODIyZDE4ZGUgcHkzaworNzM2MTcgMGMzMTllMDNkOWExMGE5ZWVjYWQyYTNjNjhkYzFlMDNlNjBhYzE1NSBweTNrCis3MzYxOCBjOWU2NWU0OTM2NWRjMzhiZDY3ODkwNDRlNTE1NjUwYTJmNTY5N2JlIHB5M2sKKzczNjE5IGNiNjAwZTAzNDM3ZDY0MGUxZTE4ODUzZDRmZjJkNzY2MDJjYmY1OTkgcmVsZWFzZTMxLW1haW50Cis3MzYyMCA2NTQ0MDc3NDZiZTBhOGYzN2E3OGZiMDkxNzYxOGFkYTk2MWY5NDE3IHB5M2sKKzczNjIxIDkxMDliNDIyYzEzOGZjNGJlYzIyMjBmZDMzZTJmYjJmYTZhMmJiY2EgcHkzaworNzM2MjIgMjIyODkxNmFiNDc4OGY5YWU5ZWJiZDI5NzUwNjM1MmQxZjI5NmQ3YyBweTNrCis3MzYyMyAxZTU1ODlhMTdjZjA3ZWQ5NWU5NDNkYjk0N2QzNGYzMzU1ZTZkNzM4IHB5M2sKKzczNjI0IDdjMjg3ZDMwMDIzYzM1NTkwMGEyMmM3ODAwYTNhOTY5NGJkZGExMTIgcHkzaworNzM2MjUgZjk0YzA5YWE0NDQ0M2JhZmRlYTE5OTYwM2VhYzIwOTQ2NzE5MzA5YiByZWxlYXNlMzEtbWFpbnQKKzczNjI2IDA3MDRmMTViNDY4MjcxYjYwOWNhNGE0YTAwMWMyNDM3NTc1MDI5MTQgcHkzaworNzM2MjcgNDExODg0ZDAxZjhiMGY5NmFkNGQ4MTExODlhNGZiYTNhZWY0MmFkZiBsZWdhY3ktdHJ1bmsKKzczNjI4IDRkYjRhZjBjZjgyYzViOGEwNmNmYjU2MmNmZjBkMDk4NmE3MzllMjQgcHkzaworNzM2MjkgNWM3MDJhNGQ3NWU0NDVkNTJmNmQ3Y2YzMDhmNmNjZjA2MjhkYjM5MSBweTNrCis3MzYzMiA2NzZlNzRjMjBjNmVhM2Q2NTg2YjQ3YjRlMWRmNGQ2Y2ExYmQzNzkzIHB5M2sKKzczNjMzIDBjYzIxYzk3NTFmMTQ3NWQ1NGUwOGU3ZTkxNjAzNDhjNjA1Yjg0MTIgcmVsZWFzZTMxLW1haW50Cis3MzYzNCBkYjkxYTA0NTMwNTBjMjhkMTU0ZDQ2ZGQ1NmUyNjVkMWJkZTI2YzgzIHJlbGVhc2UzMC1tYWludAorNzM2MzUgYjMyZDEzNmYzZTIwMDRlNzllNGQ2ZGFiYmEyMWZmZWRkMDVlYzBmMyBweTNrCis3MzYzNiAxYTk4NDcyMzQwZmEwZDg4YWUzMTE4YzBiMWNjYWI3YjJjZWE5NGE4IHB5M2sKKzczNjM3IGUzMDI1YTRjMGFkNzg1MzNmYTUyNTk4Y2JjZGRmYjYzNGVhNzEwOGUgcmVsZWFzZTMxLW1haW50Cis3MzYzOCBmZmQ3Y2Y1YzcyODVmODlkM2EwZjJmZmRkYjBhNmFmY2ZiYjcwMzcwIGxlZ2FjeS10cnVuaworNzM2MzkgNTJjNDhkZWRlNWY3N2Y1YjYwNTg4OGZkODhjMzQ1OTQ2YjI0YzZmOCBweTNrCis3MzY0MCBhYjkxZmE1ZDBjNWNjMjIyNTU5ZTU1MmI2NzM4ZWEzMjRiMWM4ZTZlIHB5M2sKKzczNjQxIGQ5NGIzZWQ1ZDUzNjVjNDc0MzE4OTZmODM3OTQ2NDYxZTRjOWMzMzcgcmVsZWFzZTMxLW1haW50Cis3MzY0MiBhNTExZmU1MTY2ZmQ3NzhkYWI2NjcwMDIwOTQ3OWM0ZWI5ZTM5ZDdiIHB5M2sKKzczNjQzIGQ3NDk2Y2MxMGRmZWVlYTA3MTlkMDYxOWU0MDk1NWM4YmYyMTc4NmMgcmVsZWFzZTMxLW1haW50Cis3MzY0NCAwZjdkYzU3MDRjNTkwNjU5NGVhNmVkYjg5MTVkY2I1MTdhYmQ4MGUzIHJlbGVhc2UzMC1tYWludAorNzM2NDUgZjQ3Y2UxMWUwNzJiNjE1NTc4NWZhMjc4ODEyNzBiMDlmZjc4ZTMyYSBweTNrCis3MzY0NiA2NmNjNTA4OTA4OTRjMTNlYjE5NjllNzY1MDhmNDE1ZjQxNTRiNTQwIHB5M2sKKzczNjQ3IDU2M2NjNGRjYzcwMzI5MGI3MGE5MmFkMGU0ZjQ4NDBkMmM0YjE3ZmQgcHkzaworNzM2NDggNTI4NDBiZTQyNTMwZjc2MzA3ZGM0MjhjZDliNWIzOTJmNjc5ZmM4MCBweTNrCis3MzY0OSBhMzdiYjU5ZDRiNTNhOTI4NmVjN2Y0NjNhZTNjMmYwZmJkN2QxZmFiIHB5M2sKKzczNjUwIDA5YzQ0YzkzMzk0MmI0NDg4YTYwOTM0MGJkYTdkMTNjMjgyYjVlYmYgcHkzaworNzM2NTEgNDM2OTgyMjQxNGMzYWJiYzA3MzA0NGRkYWM0NDc5YWI3NjdiYjI4ZiBweTNrCis3MzY1MiAwMDgwMDI4ZjVjYTAwMTIzZWYxMjQwMjE5MDc1ZDMyYjIxYzI1NGRiIHJlbGVhc2UzMC1tYWludAorNzM2NTMgYTkyNTJiODg0N2YwN2Q3NjYzMWQxNTQ2MTdhMDBhYjIyYTIyMjY4NCBsZWdhY3ktdHJ1bmsKKzczNjU0IGRjZjcxMjFlZGIyZTg1ZDAwZGUwMTYyODk0ZDJjYWJlNWZhYjNlODQgcmVsZWFzZTI2LW1haW50Cis3MzY1NSBmZGMyMTBhOGEzMjhlMjVjZWExNDEzZjhkNTEwMTQyNWMzMmU4NTcyIHB5M2sKKzczNjU2IDNmNDY2OGI0OWYxMWUzOWJkY2E5YjM3ZWY1YTY4M2ZmMmFkNTFkYjYgcHkzaworNzM2NTcgNTIwZjEzMTBhZTYxMzkwMjQ4ZDNlY2ZkYjYwMWQ2ODdmMmZhNzc1ZSBweTNrCis3MzY1OCA1MjdiYWRlMzA0M2IyM2E3N2I3ZDYxMDUzZDExZmVkODM1MmUyOTA1IHB5M2sKKzczNjU5IGQ1MTAxN2RjYmEyNDdmODk1MWZhYmEzNjkwODBkNDVkNDhiZDI3N2UgcmVsZWFzZTMxLW1haW50Cis3MzY2MCBmM2RhZmZkNGNiMjhjNjI4ZTJmOWY1ODVmYzdlMTc0MWFiMzRiNmQxIGxlZ2FjeS10cnVuaworNzM2NjEgOTgyOWI0MjM5OWU1NmQ5YjJhZDQwNGMzYTdlZDU0ZjI4OWJmMzdlZSBweTNrCis3MzY2MiA1MDg4MDY0ZDYxNzA2NTg2ZjY4YWM1MWNmYzA5OTJkNmNjNDVhZDMzIHJlbGVhc2UzMS1tYWludAorNzM2NjMgNzA0ODk0ODY0NmIwODdlZjAzYmE0NTFlYWRhZTI5YTg5ODZlMzlmMSBweTNrCis3MzY2NCBjNDVlMzMxMjM4YWU3OTZhZWIwYWY4ZjM3MGRjNmJkYjAzMjc1YzUwIHB5M2sKKzczNjY1IDE2NGQ2NGIzOWFjMDZjMDE4N2JmOTZiN2MzMWM5MDg2NDI1MGE5ODUgbGVnYWN5LXRydW5rCis3MzY2NiA3ZWNjMDc1ZDE3MWY3YTIxYzVkNDIwNjM1YjIwMTY0OWFhNmMyMTY5IHB5M2sKKzczNjY3IDM4MGFmOWU4MGMyZThlZmQ4YmY2Yjk5YjhjNmJkYWZlZmZhOWFiM2YgcmVsZWFzZTMxLW1haW50Cis3MzY2OSBhNjY0YTQ0NDNhMzk0ODQ1MGFkYjRlZDRmNjA1NjEzYjE5NjJhMzc2IGxlZ2FjeS10cnVuaworNzM2NzAgNjVhZGJhOTVkN2UwZTczZjJjN2VlN2YzOTY1ZGU2OGFiY2M0OTU2ZCByZWxlYXNlMjYtbWFpbnQKKzczNjcxIDBkMDU1YTA2MmNjZTFlMDIxODM3Mzc1ZmY1ZDU2OGQxOGE0MjYzYzQgcHkzaworNzM2NzIgMjk3ZmRlYWY1ODIyMjUwMDkzMDI5MzA2NDA4MWU3Y2Y1M2RhYjgzNSByZWxlYXNlMzEtbWFpbnQKKzczNjczIGRiNmQyY2UzODMwYWY2ZDZhNDVjYjY0MDQzMTlmODAyMzk2NmY0NTIgcHkzaworNzM2NzQgOTQ2M2ExMDI1MTVmM2QzOTkyYzNkZmZkOTA0OTJmNjRhNTU3MzE1YiByZWxlYXNlMzEtbWFpbnQKKzczNjc1IDRlMzU1NjQ1M2ZiY2NiNjhkZjA5ODk4MDdiOWE5MzE5NmU3OTQ3MmQgbGVnYWN5LXRydW5rCis3MzY3NiBhNzlmNzRkNmY1YjM5NTA4NmNhMzIzOWM2ZTg1MTUyMzAzZWU4ZWE3IHB5M2sKKzczNjc3IDZlN2ExNmE2NDQyZjZjODQzYjZlYTk5ZjA0NDhlMWMxNzkzZTZkZjggbGVnYWN5LXRydW5rCis3MzY3OCA4ZjIzYmQxMDkyZmMyNGYwMzZiOTE4MmMyZjU5YjY3YTVhODc5Njg5IHB5M2sKKzczNjc5IDFiOGEwMWRjN2Y0NWE0YzhkMjQwNTJlMTVlMDg0YTliMmU5NTcxNzYgbGVnYWN5LXRydW5rCis3MzY4MCA2Mjk2NzQ0NDhkODRmYmJmMmQ5YzI0MjAxNTAxYTg0YzVhMmY5YTk5IHB5M2sKKzczNjgxIDIxMGE1MWVmZGM4MjY3MGQ5MGRlNGM2ODVjYTZmZTg1NjVmNjU1MzMgbGVnYWN5LXRydW5rCis3MzY4MiBhMjc1ODNjODM2YjIyOGYzMzJkNDM0YTQ2ZTcxZTkzMWNlNGUxODNjIHJlbGVhc2UyNi1tYWludAorNzM2ODMgZTBkMjdiNzZhMmU4ZDE0NGUzMTgzYWM0OTA0NzVkNTQzMzAwOWY2NSBsZWdhY3ktdHJ1bmsKKzczNjg0IDc5YzJlZDYxYTAyNTNkMzk5NGQxODk2MmE2MDc5NDhkNzEyODZjN2IgcHkzaworNzM2ODUgNTEzOWU4YjBmMjFjNzMyMzgxZDg4OTlhZWRlNmNiMTkwYmJmZmZiMCByZWxlYXNlMzEtbWFpbnQKKzczNjg2IDcwZWRhMDJjN2E5OGUzMWJkODM0YzQ3ZWQ4YzQ1N2VhY2I0NjMwOGUgbGVnYWN5LXRydW5rCis3MzY4NyBlNzhiOTliMDQ4YmFhODdjNzhjY2YyZmQ2Mjg2MzY0OTA1NDFiZTRlIHB5M2sKKzczNjg4IDNkY2M4ZmM0MzU0ZWZiZTkyNTY5MjZiZjY4NGI3OGE4YWY3MjY4ZGQgbGVnYWN5LXRydW5rCis3MzY4OSAzOTE1ZGVkMmQ2MGYxZmE2Zjc5ZjE1ODA3NGE4NmRlMWZlNjc0MzdiIHB5M2sKKzczNjkwIDY4MTAyZTdlMWViN2QzMzY3YmQ4ZDlkMTcyNTYxNzdlYzY2NjRlNDMgcmVsZWFzZTI2LW1haW50Cis3MzY5MSA0ODdkNmYwMTg0MmE5M2ZkYzMxYmRhZTcwY2JhOWNkMTUwOWE0ZmI0IHJlbGVhc2UzMC1tYWludAorNzM2OTIgNTE0Y2FlNjJjY2RhNWYwNzM2ZTQ1NDk1MWE5MGZlODdjNDYzMGZjZSByZWxlYXNlMzEtbWFpbnQKKzczNjkzIDU5MTc4NWNlZGNjOGE1ZTdjZDJmZTMxZWE1OTFiMjc1MzEyNzk1NmYgbGVnYWN5LXRydW5rCis3MzY5NCAzZDU0Y2JmZDM4MDk5ZWQ0OGZjYzZkNTBiNGZjOWEzOGM5ZDcyMTY4IGxlZ2FjeS10cnVuaworNzM2OTUgN2UzOTIwMjhhMDllZGEwMmZjYTg2OTllNTQzZGM5YmFhZDRlNjQ2NyBweTNrCis3MzY5NiA5MzIwMzNjMzA0ZWY3MjA1NDk3NzkyMDg3ZWEzNjljMzFhZGJlM2EyIHJlbGVhc2UzMS1tYWludAorNzM2OTcgZDJiMWY1ZWYyYWUzZDJkZWEwM2JhNjg2Mjk1ZDQzM2M4OTNmNmYxNCBsZWdhY3ktdHJ1bmsKKzczNjk4IDAxZTEyNWQzMTlkNDgxODAzZDA2Yzc3MDMxOTQ0ODZkZWZkMTQ2MTcgcHkzaworNzM2OTkgMjlmYWM4ODQ4NDg5ZmQ2NmJiZDc3ZDAyOTQxYjNlNGYzODBjZDZhMyByZWxlYXNlMzEtbWFpbnQKKzczNzAwIGQzZDZjY2M5YWJiNDEzNzg0ZWU0YTQzZTdkZGFkODVlZTQwOGNhMzMgcHkzaworNzM3MDEgYzA2NWYzM2Q5YzljZjliNmFhMDcwMTQ0ZjExMTJmYzk1YjZlYjY4NiBsZWdhY3ktdHJ1bmsKKzczNzAyIDViNjYzOTA3NWM0NzljZThmYzBjNWM0YTViZmNlMmExZmU5MmIyMTAgcHkzaworNzM3MDMgMzJmNzExMjBlYTU1MDQ0ZjgzMjFlZmYwYjM3ODUyZjcxYTI1ODI2NyByZWxlYXNlMzEtbWFpbnQKKzczNzA0IDBhZTEyMDJlNTM2MjBlNTk0Yzg0N2Y2OTUzNDcyOGM1ZWFiOWJiN2YgbGVnYWN5LXRydW5rCis3MzcwNSA0M2ZlY2MzOTQzN2IzMmNlMzFjMmNiNGM1MGU0NmU5MjcwOTdlNTgzIGxlZ2FjeS10cnVuaworNzM3MDYgMDhiNzYyOTM0NDg4YTI1ODVjZjFhODhhOTY2YjE5M2MxNWU4YmQ5ZSBsZWdhY3ktdHJ1bmsKKzczNzA3IDg0OGM4NmY0YmVkNjA2MGJlZWUxYWJkMjRiMGI3MmFlZWY0MGRlZjQgbGVnYWN5LXRydW5rCis3MzcwOCA3MGFkZjBmNjhmYmNhMWNlNzc4ZjNkYzAxMDFkOWRlM2RkNjNjOGQ3IGxlZ2FjeS10cnVuaworNzM3MTAgMmZhZjJmYTJhNDIzNTU3M2E1YTI2OWFmMmVlZDk1ZTkwNTM0NDY4OSBsZWdhY3ktdHJ1bmsKKzczNzExIDk5ZDUyZDhhZDAyNjZlZjZhNDBjYTEzMDUzMTI1ZWNhMjcyY2Y4MmYgcHkzaworNzM3MTIgNGY5MGRkYzZjM2I2NGFjODE4ODA3YjNiOGJkNjUzODBkMzQ3ZDM3MSBsZWdhY3ktdHJ1bmsKKzczNzEzIDM4MzY5OTg0NWM5OWIxYjkzNzE3MDYzMjE2ZmM5MjdmNGNkMWM5ZjUgbGVnYWN5LXRydW5rCis3MzcxNCA2NzY4YjIzNTBjNTc2YTY2ZDIyZDM3YmEyOGE5ZGYyMjZmZTczYTk0IGxlZ2FjeS10cnVuaworNzM3MTUgYWRmNjZiNTIwMjJkYWQ1ODVhNTRiZDZmNDFmNWMwNjFjMDg2MWRjMiBweTNrCis3MzcxNiAzZTAwMWVlYjgzODFiOTM2MWEzNDU2MGUyMGNmNjQ1NGQzMzUxNGMxIHB5M2sKKzczNzE3IGU4OGNkNDJmZjI4MmRiYzZjZWIyZTJhOGUxNTNhYzUyZTIyNmVhOGEgbGVnYWN5LXRydW5rCis3MzcxOCBjNDBkNmZlZDZiNmJhNTVlMmNmZmM5YTU5MmI1OWY5Mjg4ZWQzMTZjIHB5M2sKKzczNzE5IGRkNDcwYjcxMjkwMTQ3MzU2ZTYwYTJhOTMzNzNmODkyYjA2NTQxOTMgcHkzaworNzM3MjAgNmQ1MDc1ZWNjMTRjMGEzMzk2NWY2Nzc1Mzk0NjFiZDFhZTUzZTU1ZCBsZWdhY3ktdHJ1bmsKKzczNzIxIDFjNzY5MmQyNTA5ZmEwMTBkNWUxNGQwN2QzZjBiZDczZWU2MmY4ZmYgcHkzaworNzM3MjMgZjJiNjViZDY3ZGYyNWRhOTdhMmEzNGM0MGYyMGQ2OTVhNzcxN2E3NyBweTNrCis3MzcyNCBlZDJhMzM2MjA0ZDZhYzNhYTE3ZmU5MDZlOGJmYjg1MDJmYTg4ZGFmIHB5M2sKKzczNzI1IDU1MDJmMjU1YzI3Y2VhNTQxMzM2MTBhOWE4ZjY5MjMyNjAwZTI2M2QgbGVnYWN5LXRydW5rCis3MzcyNiA3NjU0ZmE4NTdiMDNjMmFiNjdiOWQ0OTk2YzQ0ODAyMDI0OGQ0YmY5IHJlbGVhc2UzMS1tYWludAorNzM3MjcgOTIzMGMzYTgwZGNhZDM4ZTViMmNjNjVlN2YwN2FmNjdkODUzMDQ2NSBweTNrCis3MzcyOCA3MmFkMTE5N2YwZmY5N2E4M2ZjNDc1ZTYzNzdmNmVmMDE2MjZiM2JmIHJlbGVhc2UzMS1tYWludAorNzM3MjkgNGI2Mjc5NjFiNDQ3MzYzOWY5NGZmYTJiMzZjYjBhZThkZmZlN2YyOSBweTNrCis3MzczMCBhMDdmZDQ3ZGY3NmIzMjY1ZWFlY2M5OGNiOTRmYjAzYjBlZjc0ODBmIHB5M2sKKzczNzMxIGUzZmEyZGRiYjNhMzE1MDkwMTBjZjM1NjliY2E1MzVmOGYyYTg3NzQgcHkzaworNzM3MzIgN2U0MjgzMzYyZDI3N2ZhYWMzZTA2ZWQ1ZWEwOTk5ZTI3ZGYwYzUwNyBweTNrCis3MzczMyBlODA4NTk0NjFkZThjZDBjNGFiOTRlZmZkZjZjY2YzYzE4MjIzZDM5IHB5M2sKKzczNzM0IGIxNjhkY2NlZTYwMjY0NGFhMjc2NjcwODhmNzA5ZWIwZjc0YmQ1ZGQgcHkzaworNzM3MzUgYzI0MjcwZjU0NWI4ZmE2ZmI2ZWE3MGU2MTg0ZTYwYTM2MmIzNDE4ZCBweTNrCis3MzczNiA0M2YyMjVjN2I3N2VjNDczNTg1MGZhOTE3YmRhZGMyMzE1YzY4MTIzIHB5M2sKKzczNzM3IDljZDc5ZGVlNWJjZTRiZWZlOTEzYWM5ZjgwOGM1Y2IxOGMwN2M3ZmUgcHkzaworNzM3MzggZTBlZDYyN2VhNjc5NDg1NDYzMzUyYTBmMDY5OGFjNjk1MDMxMTcxOSBsZWdhY3ktdHJ1bmsKKzczNzM5IGYwZWVhZGRhZjgzYTRhOGZhMGFkNTViOGE0N2JiOGU0MzE4OTE5MTQgcHkzaworNzM3NDAgMTUxYjdkNTM2YjVjNDViYjIzNDVmZDc5ZmZlNzhkMmFkODc3NTM0MSBweTNrCis3Mzc0MiAzNjZjOGE0ZTVhNDZhMGExYzcxYjJkZTk0ZjIwOTI0Mzk1MzVlMWRiIHB5M2sKKzczNzQ0IDc0ZmM0NzZmZTcyODMzZDBmMTU0OGY5YzZhZGVmN2U5NWRiODJiZmYgbGVnYWN5LXRydW5rCis3Mzc0NiBmMmE1MjZjYzNmMmFmMjY3NTA3NDExMThmZTU4N2VlOTc5NGE3NzNhIHB5M2sKKzczNzQ3IDY1MTgxMTRmYjA2MzgxZjk1NzJiMGNjOGU3MjYwYTI0ZWMwZGUwOGUgcHkzaworNzM3NDggMGM2ZmQ1NTYxNDlkYjJmNjc2Nzg2ZDQ2MzA5ODEwYTc2NTQzMDdlMCByZWxlYXNlMzEtbWFpbnQKKzczNzQ5IGNjNDNlOTIzZWY5NjE3ZGVjNWExMGM3Y2JkMGUzMWU3ZmJjYjY2MTggcHkzaworNzM3NTAgNjIxMGRlZGQyY2Y3OTU0OTNhYzJlMjI4OTk2NWFmNmI4ZGQ3MzBlOSBsZWdhY3ktdHJ1bmsKKzczNzU2IDliZGRiYTZlNzY0ZTZkNDU1YzE1NTdiYzdjM2UzMzRiNTZjOTM0ZTYgbGVnYWN5LXRydW5rCis3Mzc1NyA0NjYzMTYzZTY0NDk0MmUyYjk0NjlmZWE1MDgzYjIxNmExMzY0OTFmIGxlZ2FjeS10cnVuaworNzM3NTggNWM4OWI5MjczZTYxMTJmZTdmY2ZiNzZjNDgxNmZlMjM1MTQyNDQ3ZSByZWxlYXNlMjYtbWFpbnQKKzczNzU5IGNhNTNmODZmZTY3ZGIyYzhlMjFkMTA5ODBlYWEzN2MzMjYzNzljYmQgcHkzaworNzM3NjAgNmNjMTg1ZjQyYmY2NmFiNTdjZjQxYmMzODc2ZmY2Nzk0NDdhYzM4ZSByZWxlYXNlMzAtbWFpbnQKKzczNzYxIDNiZGU4MWU3YzlmNDAzY2U4NjFhMGFjMWI1NDUxMDEyMTk1NzkyZTEgcmVsZWFzZTMxLW1haW50Cis3Mzc2MiA1ZDc0OWJkZGE5NzljYWQzYTcwNzEzNzkwN2EwOWZhNGZlMTlmNmJjIGxlZ2FjeS10cnVuaworNzM3NjMgMmE4ZGFmYzg0NTI4Yzc4ZTcwZTIyNTM5YWE3ZTNmNTVlOGUwYzIwNyByZWxlYXNlMjYtbWFpbnQKKzczNzY0IDdkNTE0OTE1NTE1ZTVjNmQwM2VlMjJjMDAwNzc2NTRjMWM2MmQyMjQgcHkzaworNzM3NjUgZGE2OTgwNzk5NjM5OTA4ZjRhZGUxMjBkYTg1OTk3NzRlOWFkNDdkZSByZWxlYXNlMzAtbWFpbnQKKzczNzY2IDFkNDhjNzAxZjA3YzYxNDZmZmNlNzE4NzNiOWNlNmNiZDZjOTM1MDYgcmVsZWFzZTMxLW1haW50Cis3Mzc2NyBlZGNmZTNiOGY3MzYxNjcxOTQ1Mzc2NzNjMjI3ZmE0NDc5NmM5M2I5IGxlZ2FjeS10cnVuaworNzM3NjggZjE0OWY1N2Y3N2Q2ZmU4MDA3ODIzMTkwMGYzMWIyNTA3NjcxNDRhOCBweTNrCis3Mzc2OSBlNWM4MjkwYzc5NDliZDYwMGJmZjYyNjExODY2YmM0OGE0Zjg3ZTI0IHJlbGVhc2UzMS1tYWludAorNzM3NzAgNzRjMGE3ODExNGFlNGUyMzBkYTJlOGI0ZjJhM2UxNzA4YWFjZDEzOCByZWxlYXNlMjYtbWFpbnQKKzczNzczIDU2YzY2NGI5MTU0NWI4MTgxM2ZiYjVjODUwNWE5Y2Q0Zjk4ZjI3MzMgbGVnYWN5LXRydW5rCis3Mzc3NCBmZWE1NzE2NGJkNzkxY2VkNDUyZTVmMzI3NGIwNWQ3MTEwYjZkMDhiIGxlZ2FjeS10cnVuaworNzM3NzUgN2RjMGQyYzRiNTIwMjMwNmIyZWIxY2FiYWNkOTI4ZGVhOGU0NTEwZCByZWxlYXNlMjYtbWFpbnQKKzczNzc2IDA2NTNjMWEwY2IxZTEyNjRkNWUzOGY5NWMxZjA3MzI4MDEzNjhkODMgbGVnYWN5LXRydW5rCis3Mzc3NyAxNzgzODgzZTc2ZDc3OTkzMmFmZjdmMDQ5MWNkMzZlMWQ0NzI2MDk3IHB5M2sKKzczNzc4IGVhNDRhMTY1YjljZTU0NmQyMWE5ZGNlYzk2M2VlNjZiMmM3OTdjZWYgbGVnYWN5LXRydW5rCis3Mzc3OSBmNjVkNjI0NzM0NjViMTU0YzU3MDEzNmI0NjhhYTNmYzEyZmI2ZjBlIHJlbGVhc2UyNi1tYWludAorNzM3ODAgNDY2YTcxZmM2MjVjMWU2ZDMxODJlNDEyMzdiODIwM2M5NGQ3ZTA3NyBweTNrCis3Mzc4MSBmYjU0MmVkOTFlN2Y1NWI4MDdmYWU2MWUzNjZmZWZjZDFlNGI0MDM5IGxlZ2FjeS10cnVuaworNzM3ODIgMjYyNTVmMjlhN2U0OWQzNzcyOWQ3OWUxYWVjYzEyOGI2NmQyNWQ0ZiBweTNrCis3Mzc4MyBjYzZiOTFjM2Q3MTliNjljYjc3YjBmNDA0OTA2Y2M0Y2NlNmNhNDAyIHB5M2sKKzczNzg0IGVhOTMzYzI0YWQxMDMzZDg2MTM0NzMwYzc5YzkzMDI4YThhN2YyODYgcHkzaworNzM3ODUgNjVlNDFiY2JjMjVkNGQwNmM0MDBmMzQzZmUxZGEzMTMwMmM3OTdmNiByZWxlYXNlMzEtbWFpbnQKKzczNzg2IDdiNzU4ZjgwODMzMDViMzMwMjc4NjJiNGEwYTExNzNiOWY4MDMyMWIgbGVnYWN5LXRydW5rCis3Mzc4OCA1MjJhZDllZWQ1NThlNzhhYmYwZWNjMjgxYzRiYWEwNDQ1YWM0OGI0IHB5M2sKKzczNzg5IDU2YTI3NjM5NmUxNWY5Yzc5NTNhMzNjY2EzMTM4ZjBhNTcwMDUxMmYgcmVsZWFzZTMxLW1haW50Cis3Mzc5MCA4NTY3N2EyYzc4NTVkMjIxNDM0ZDRiMGE1MzAxYmJjZTg3NTJiYTQzIGxlZ2FjeS10cnVuaworNzM3OTEgZWVlYjM1ZjI4ODEyY2U1ZTg0YzBiOTg2YjhiYTgyZGVkZDJkY2I0NCByZWxlYXNlMjYtbWFpbnQKKzczNzkyIDg5Njg2NzczYTYxOWE3NzBjZDhmMWUwNDAxODY3ZDBkZjM4N2IwYTQgcHkzaworNzM3OTMgZDhjODNjYzBkM2ZkOGM1NGM3YzU3MjdhZGM4MmEwNjI4NzczMGY2NSByZWxlYXNlMzEtbWFpbnQKKzczODAxIGE1MDE1NzNjMjNmMmE1Nzg2NjE4N2NiNzFhZjYxMTY5NDkwYzc3NTMgbGVnYWN5LXRydW5rCis3MzgwMiA0MjdmYjYzM2M0Y2NlYWY2NjYzMTk3ZjQ1ZmYxNzg0NzA0ZTE4NmNiIHJlbGVhc2UyNi1tYWludAorNzM4MDMgNDZhOWIxOGExYTE3NmUxMTMyMTNlYWM0YjE0MWRhODQxOTZiMTg5ZiBweTNrCis3MzgwNCA4Nzc2M2M5N2Y2OGVhM2YwNGEwOTA4OTcwYTRhNDZmNjRjMDUxYmQ2IHJlbGVhc2UzMS1tYWludAorNzM4MDUgODU0YzA5NDhiMDhkMDQxOGQ2ZTFlNjc2OGVkNDgxZjUwZmRmMzdmYSBweTNrCis3MzgwNyA1OWM2NmFkZTNjMjY4MjJhYTg4ZjlmMDJkMTVkZDBmZTU4MDk4NTNhIHB5M2sKKzczODA4IGZjNmFkZmZmOWE5ZWZkNTI3MTEzYWVmOTlhMDJjNjU0NDUwMzMwYjEgcmVsZWFzZTMxLW1haW50Cis3MzgwOSAxYzUyOTIxOGJhOTY0NDQwMDIzOGY5NjNmMWEwODQ0N2NmOGFiYmEyIHB5M2sKKzczODEwIDNhMjE0NjIyYzk0M2NhNGE4ZDAwZDA0NzM4YjE5Mjk1Nzk4OTE3ZjQgcmVsZWFzZTMxLW1haW50Cis3MzgxMiBmNmZhNWZiMDEwYmY3ZmNhZDY5YjE2MjRmNTJhODc3ZjI1Yjc4MmIzIGxlZ2FjeS10cnVuaworNzM4MTMgMGE0NmUwZTNmYzA3NDg1M2Q4MmM1ZTUwNjRhNDI3ZGFiOWI0NGQ5YSByZWxlYXNlMjYtbWFpbnQKKzczODE0IDdiMGU3OTdmNmIyYzg2ZWMzMGQzZTZiNjE3MTgxNDUwZjdjODZjMmQgbGVnYWN5LXRydW5rCis3MzgxNSBiMmM3NzY4NTdkYzRjODczZmY1OWVmYzdmYzg5ZTUzOTkyZDJiZDUzIGxlZ2FjeS10cnVuaworNzM4MTYgODg0MmY0ZTJmYjFiNzRkYjA2OGRmMDdmZTU5ODRmNzdjYWY2NGVjYiByZWxlYXNlMjYtbWFpbnQKKzczODE3IGRmYjk4NWE4ZGU2ZjY1Yzk2M2VlNGM1N2ExYzBlOWZmNzA2ZThiYWYgcHkzaworNzM4MTggOWM5ZmU5YWFmYmE2ZDZkMDhkZGZmZDA0ZTc3ZTdkNGNjYzlkZGEzNiBsZWdhY3ktdHJ1bmsKKzczODE5IDAxYWY3YjUyZTBkYjU5ZTM1MmYxYzhlMGQ1ZDdlZWRiY2QzMTQ1ODMgbGVnYWN5LXRydW5rCis3MzgyMCBjN2RhMGRjNmViMGM2YzQ0MGIyYTIxYTVkMTlkMjU5NzBiNzQzZmUyIHB5M2sKKzczODIxIDhhN2MyMDY2YTliMmU2MTRkNTIzMzk0NjNhNDA1OGVlZTk4NDk4OWUgbGVnYWN5LXRydW5rCis3MzgyMiA0NjE3ODgzYWMxZjMzZmNlYzQwZmI3YThkYjcyZjViOWU2Y2U2MDM2IGxlZ2FjeS10cnVuaworNzM4MjMgYzJmNDI3MGJlMzYyOTJkNTRmN2U1MzlkNmM5NWI1MWM3OTQzMjJkYiBweTNrCis3MzgyNCAwZTM5MWJmM2ViOWRmOWNhYjhhODY2MjU1YTkxMTBlNGRhMGJiYTkxIGxlZ2FjeS10cnVuaworNzM4MjUgOTgwOGUzOGZkZTcyYjZiMzJiYmJlNjFhZjQ2ZDU0MDU3YzY0NWIyNyBsZWdhY3ktdHJ1bmsKKzczODI2IDU0MGZkNDYxNjNkMWM5YmU0YzViMDFiYzA0NzNkYWI1YTUzYmU5ZTEgbGVnYWN5LXRydW5rCis3MzgyNyA1MmFhYTc3YTVkYmZjN2ZjYTQ5MWZhYmQ4OTFlMGFmOWQxOTNkYzM5IGxlZ2FjeS10cnVuaworNzM4MjggMDhiNThjYmVjZTc5ZWVkZjk2OGIzZDBiNTMwMGZkMTQ2NmI1Y2FiYyBweTNrCis3MzgyOSAwNDkxMjI3ZTU0MGVjZTU5ZjZmYmNlODA3MjEzMDc4Y2I1N2M1OTE4IHJlbGVhc2UzMS1tYWludAorNzM4MzAgODNjZTMzMmEyODM0ZjliZjg0N2RkNzQzZTZjYzg4YTRiMWU1ZThmYyByZWxlYXNlMzEtbWFpbnQKKzczODMxIGY4ODI2OTZmZDEzNGY3NzE3NzRiYjMzYmIzMzg3YWZmZDRhYjZmOTkgcmVsZWFzZTI2LW1haW50Cis3MzgzMiAwNmIzNjBhMzNkNTcxMWUzMTBmMTkyNmQ0YTY1YjE1MGJhNGQyMmM5IHB5M2sKKzczODMzIDdiOWFkOWFhYTkwMjRjMTRmNmY1YjQ0MzQ1OWNiMTFhMjcyMWRhZmMgcHkzaworNzM4MzQgZDExZDg5OWFhYjFkODBlNGFiMjc1OGZlZmQ1YWI5MzYwYTgzNjZlNSBsZWdhY3ktdHJ1bmsKKzczODM1IDdkZDhkYmQyNzAzMzM4M2VhMWI3MjRiMTgwYzg5NDQxNTNkNGVhNzEgcHkzaworNzM4MzYgODY4ZmYzN2Y1YTgwMTI0NzY3ODFlOWI1MDRhZjhkY2ZlNzEwMmI3ZSByZWxlYXNlMzEtbWFpbnQKKzczODM3IDFkZWE3ZWQ2ODY3ZDdjN2QwODUwMmNhMjA5Y2ZlMTY0ZjRlYTIwNzggcmVsZWFzZTI2LW1haW50Cis3MzgzOCA3ODk4N2JjZjFhYmZiMDgzNTRjMjQyODhhYmYxYzM4MDFhNjA5NmY2IHB5M2sKKzczODM5IDdmZjE0MDVjY2I2NGJiNTFjNGUxOWMxOTgyMzcyNTUyMmE4NDFlZTQgbGVnYWN5LXRydW5rCis3Mzg0MSA0NGZjZGJiNjIwMzhiMTE1ZjNlOTcxZmZlOWY2NGNlZWUwMDRjMTJmIGxlZ2FjeS10cnVuaworNzM4NDMgZjc0MmMwODc1Mjg4N2QzODhkMDAzMDU0NDQ0OTQ0YmU0ZWY3MDM2OCBweTNrCis3Mzg0NCA0ZmY0YWE4ZDY1ODMyOTkyMDc2ODMwODNkZDYxNjJkNDBlODJmYjRlIHB5M2sKKzczODQ1IGMyMzM2MTViMzRhYWI4ZTUwNTdhMmU4OGNkZGNiNDAwMTdiYjUzNjIgcHkzaworNzM4NDYgNDY2Y2E5NmJlMTgyNDAwOWEwZDRiN2EzM2EwZmFkYTdhOGJmZDExMCBsZWdhY3ktdHJ1bmsKKzczODQ3IDc3ZWJlYWNjMTA3YTgwNjBlOWYxMjJiNTJlYWU5YzAzOWE4MTQ2YWUgbGVnYWN5LXRydW5rCis3Mzg1MCA4ZTgxNTc0NDVhNTU2NTcyNGYyNzY2MWUxZTRlZDJiMzUxOTcyZGM2IHB5M2sKKzczODUxIGFiNDM0ZjBkY2IxNWQ5ODRlOWU2MzMzZTM2OTk5OGQ4MWZkOTM1M2UgcHkzaworNzM4NTIgYTc2YjM0Y2ZjODk3YzEwMjZmN2JmMDBjZjkyNDNiMTE3NWE0ZGEzMCBweTNrCis3Mzg1MyBhNDBhMjI2NjFlNTA0ODdkMmE3Mzg3OTkzNTQwZWJhYzA4NGE2MGQ3IHB5M2sKKzczODU0IGM2ZjEzOTM0ZjRjNjY5YjQwM2U0ODJkM2MzYWJjMzU3MGE0OTAzMjMgbGVnYWN5LXRydW5rCis3Mzg1NSAxMGE2Y2EyYzBjY2IyNzI3YTI1ODZmYThmNDcxZTNhZDYzNzkxODQ5IHB5M2sKKzczODU2IDI2ZjYwZmQ0N2FkM2ZhNGQ0MjQ4MjdhMjNkMDIzZmEwYTMxNGU2ZmQgcHkzaworNzM4NTcgODVkYjZhNTQzYjNlNDRiYWYwZTYxNjhjMjNjZjE2YThlNTM5NmY3MyBweTNrCis3Mzg1OCAxZmMzN2ZlY2FmOGYzM2Y3NzczMGViODhhMzkyMjIwZjIxZjQyN2FiIGxlZ2FjeS10cnVuaworNzM4NTkgMjQ0NDZkYzg3ZjczZTdkZjA3ZTJmZGI2NTdhMWUxMzA1MWFhNjg4ZSByZWxlYXNlMjYtbWFpbnQKKzczODYwIDA1MjJlNTcxY2U3NDk0ZmE3Zjc1YjBiNmQ2YWJiNzM0MzM2NGVjOWUgcHkzaworNzM4NjIgN2JiNzc1OGU2ZDY0YjhmOTBmZjI1N2NiNzY4ZjczZTNjNWE1NzJjYSBweTNrCis3Mzg2MyA0MjYzOTRkYmJjZWUyMmY4NzExZGU2OWJkYjNlNmQzYmQzOWNhZWZiIGxlZ2FjeS10cnVuaworNzM4NjQgYjQ2YWJjMmYyYTFmYmFjYWVjMDNlOTI5OTljNmZjMTA2YTA2OWM0NSBsZWdhY3ktdHJ1bmsKKzczODY1IGQxZWRhNzBiMzgzZTllZWJkMzlhMGUyMThiZTBhMTQyNGE3MWRhM2YgcmVsZWFzZTI2LW1haW50Cis3Mzg2NiBjMjNhOGYxY2ZhYjhmYWNhMWJjMTA2M2U4YjQ4MTAxOWFjMGE5MDA2IHB5M2sKKzczODY3IDQ5ZmYyMzQyMDkxOWI0MWVjMGI4Nzk0MDI0NmZiMDllODM5ODQyMjUgcmVsZWFzZTMxLW1haW50Cis3Mzg2OCA3NDljZjA2Y2QwNzA5OWE2MGUzZmI1MDAyOGQwY2QxOGMzNWEwNGE1IHB5M2sKKzczODY5IDU5Y2Y1ZjgwOGMyNGE5OTllMzc1MGM4ZGNhYjY4OTQzMWFiMTdkYmUgcmVsZWFzZTMxLW1haW50Cis3Mzg3MCBlOWZjODk0N2M0OWE1NTYzOGE5ZWE0YzNlMzI2YzljZGQ0YWZkMGVjIGxlZ2FjeS10cnVuaworNzM4NzEgMzhkNmU0ZTUxYWYwODk1MWIwZTk2Zjg5NjA3OWU1MGRjZDZiYWQ2OCBsZWdhY3ktdHJ1bmsKKzczODcyIDFjZWY3ZTcxNjI0NzhiOGY4NmZkZmVmOWFjZGRjNGEwNzVmYWZlNzEgcHkzaworNzM4NzMgMzA2MzcxNGZmOWYzMWMwZmFiNmExODE3YTJmODYwZGE2ZDA4ZmMwMCBsZWdhY3ktdHJ1bmsKKzczODc0IDYzOGVhMTM0YWE4MmQ3MmEyYWMyMGJhZjIxOGUwZjRmOWU4MjBiZmUgcHkzaworNzM4NzUgZGU1OGY2MTM4NmMzYjQ5ZTU1ZmMzZGM5YWE0ZThiMjI3NjI1MDUzZiByZWxlYXNlMjYtbWFpbnQKKzczODc2IDQxNjgxMzhjMzcxZTVkMzUxMDRmN2I3NTYwNTc1MjRmMGQ5NGYwYmQgcmVsZWFzZTMxLW1haW50Cis3Mzg3NyA0ZWE4MTMwZWUwOWU4NGI0NDQxNjkxN2RhMTJjMWQ2YzE1MDI4NTk1IGxlZ2FjeS10cnVuaworNzM4NzggODEwMDJjNzYwMGJkNWQzMjAxOWVjODYxMjk5MDhiNTNjODFmMzk4NyBweTNrCis3Mzg3OSBhZGZkNmI3M2QzNjQ3NDFiNGQ4OTc5YTEwNjRmNDM4YTNmNDFkZWJkIGxlZ2FjeS10cnVuaworNzM4ODAgODgwYjUwYmNhMWIxOTIyZjdkMmI0ZTFlYjQ1MzA5Yjg2ZGIzYjlmNCBsZWdhY3ktdHJ1bmsKKzczODgxIDk5ZTMwYWY0MTE2OWYwNWE3NTYxNTJiZjkzMGFmZjhkNmNiNjVlOGYgcmVsZWFzZTI2LW1haW50Cis3Mzg4MiBlZTE1NmVjNWVmYmY5NmQwMGQ1NDYwZWZhOTdjYTAwMDlhYmY0ZWU1IHB5M2sKKzczODgzIDFmNDhjYmQ0MzIyNmQyNmVkNTYxZjc0ODE1YjE4MWFiODU1OWJkZWQgcmVsZWFzZTMxLW1haW50Cis3Mzg4NCA3ZmEyMWJkYzM0OGI0ZjZhMWI3YTgyMmY1N2I1MTQ3ODMzYTU5Yjk0IGxlZ2FjeS10cnVuaworNzM4ODUgMWZkODM5YjgzMzBhMWI2NDUyYTA3Yzg0ZjAxNmYzYTUwNjFkMmFhNSByZWxlYXNlMjYtbWFpbnQKKzczODg2IGRlNmM0OGQ3M2I3MTZlZWFmM2JjYTdjYzBhNTMyMTlhM2I3ZDUxZjUgcHkzaworNzM4ODcgZmEwODBjNGY1MzlhOWVhOThiOWVhNDA2NGY3OTk3OTZiOWQyN2Q5NSByZWxlYXNlMjYtbWFpbnQKKzczODg4IDg5N2JkZWQ4MDAyMDZhNmY1NTIzZDIxOTBjNWFjMWJmMDAwYTNkODAgbGVnYWN5LXRydW5rCis3Mzg4OSA4YTg0NGE1YjE2ZGJiZjk5MzIzNDQwYmM4MzMzNmJlM2RmMTRjOTMyIHJlbGVhc2UyNi1tYWludAorNzM4OTAgODYwYTA2OWQxMjZjOWJhZjYwYWExMDVmMWM1OTVlNGZjMGFkMWY5MyBweTNrCis3Mzg5MSBiM2ZiNWU2YjdlODJkNjNmYmM2N2E3ZTFjMjg5ZGYyYzA2NmQzNDZkIGxlZ2FjeS10cnVuaworNzM4OTIgZjAyZTQ3MTIxOGI3NzkxZDQwOWQ1M2Q3MWJhYzMwZWY1NGY1N2M1NCByZWxlYXNlMjYtbWFpbnQKKzczODkzIDhiZWYzYTI2N2UxZWU4NGYzZjdhNmUzYzdlNGI4YTZlZTJkYzdhYmYgcHkzaworNzM4OTQgZDliMTliMzdmODFhZWNiODMxYWYwZjk4MzE1NGFjNDllODc4NTliMSBweTNrCis3Mzg5NSAyN2I1MTYyNjMyNjkxNmU3NDc2YTE0MmFjZjgwYzA3YzZhOWFkM2JiIGxlZ2FjeS10cnVuaworNzM4OTYgZDYxYzRkY2Y2MTg5OGRiYjcyNWQ5MTI2MDVhMDEwMDljN2VhOWEzNyBweTNrCis3Mzg5NyBkNTk5MjU0YzIwM2JjNjk3YjZiYWJjYjAyY2VkZTdkYzUwZWRlOTRiIHJlbGVhc2UzMS1tYWludAorNzM4OTggYmEwNDU5ZjJjMGNiNDAwNWNkZGIwNDA2ZDgyNDA0OWRkZTJlNWY5YyByZWxlYXNlMjYtbWFpbnQKKzczODk5IGJlNzM2YjQ5MGFiMmM4YmNkNTkyYWFjYjMyZjJjYzI3YjlkZTU3N2YgbGVnYWN5LXRydW5rCis3MzkwMCA0NjhhNDBhZGY1NmY1ZTNmNDU1MDcxZGYyY2IxZTdlM2E3OWFhMDQzIGxlZ2FjeS10cnVuaworNzM5MDEgYzkyYjkzNzc1NTY5MGI5NDRlODY5YTE2MjEwN2FiMmU2YjQzMWY3NiBsZWdhY3ktdHJ1bmsKKzczOTAyIDlhZmVhZTBiYWJmOWM0ZjY1OGZiM2UzYjcyMmQ1NGYyNDk0MWIxNzAgcmVsZWFzZTI2LW1haW50Cis3MzkwMyAxM2M1Y2Y0ODk3OTdjNDViNmJhZDg4YjZhNGQzNTA1MmQyYzJkODVhIHB5M2sKKzczOTA0IDgyOTA1MTkxOTllYzJmYjdhMDllYzdkOGE4NmMxODAyNGQxMDMxOGMgcmVsZWFzZTMxLW1haW50Cis3MzkwNSA0ZjFiMmE0NTdlODNjZTEzNGEzNjBlZTZjYzYwOTI4MmJhZjhkODY1IGxlZ2FjeS10cnVuaworNzM5MDYgMGYwNjViNDhhY2Y5NTEyOWQyNzc3ZTJkMmE3YWMxNzcyNzMzNDA5YyBsZWdhY3ktdHJ1bmsKKzczOTA3IDVmNDUzNTIyNTgxOWJlZTE0OTUzMzc5OTAzZWY1NTUwOGUyNzYzZjYgbGVnYWN5LXRydW5rCis3MzkwOCA1ZDliMzIzMDE4MTU0MjM4OGYwYzYwNTY3ZWUyODQ5NmJiZjJiMzc4IGxlZ2FjeS10cnVuaworNzM5MDkgZGEyYzE0N2U5MjlkMGExZDBiMWIwNjgxMzgwMTgzMjllMjZmOWM4NyBweTNrCis3MzkxMCA1YTI4YTk1ZGVjMTkzMDVlN2ViMGZmNjE0YmNkOTkwMGQ2Zjc3YWFlIHJlbGVhc2UyNi1tYWludAorNzM5MTEgOGE3N2VkZTRlMTc1YThjNjRkMmY3ZTA1YzFlNGY4MWYwMzJlNzI5NCBweTNrCis3MzkxMiA0YWUxZTk2ZTkzNzc0YzA3ZWU0NDFlYTU0Y2FhMmJmM2I3OTk3MjNkIHJlbGVhc2UyNi1tYWludAorNzM5MTMgYzQ3ZWY0ZTEwN2RmOTA4YzcxOGU5YjUxNGZiZDFhZGEzMDZmNjg5NyBweTNrCis3MzkxNCBiNTNlNDJlNTBjNDE1MzJjOGM5MDQzMGFhODc5NmRkODk0MWI0MWQ3IHJlbGVhc2UyNi1tYWludAorNzM5MTUgMzg5OGQ1MjBmMTA3ZmY0MDFkN2QwYmJkZTM0NDY5ODM2NGU3MDMzMyByZWxlYXNlMzEtbWFpbnQKKzczOTE2IDU2MDkzNTJmZWExMjBlNTlkMjE4ZTUwZjY1NGI0ZjVhMmUzYWZkYjggbGVnYWN5LXRydW5rCis3MzkxNyBlODlmYWFhZmEzZWVhMjQ5OWUyYzdkMDIxZDNhYWZlOGM0ZmRmMDU5IHB5M2sKKzczOTE4IDBiMmFiYTdhYzFmYWY2MDA0ZDhhOTViN2RjMjFiMWU5MzA2NWE0MDMgcHkzaworNzM5MTkgYWVkYzIyMGNjOWJmODkxMTIyOWJmZWFkNDcyYTE0MTNjY2M4ZDVmZSBweTNrCis3MzkyMCAwMTEzN2UzYjllYmU4ZjhkNWFjZDA1OWEyMTcwZWM4YWFhYmMzNjJjIHJlbGVhc2UzMS1tYWludAorNzM5MjEgODc3YmQ3ZDUwZDg5N2Y0ZTZmZmE4MmIwZjliODNiYmJhNzczY2ZmNCBsZWdhY3ktdHJ1bmsKKzczOTIyIDZmMGU1OWZhYjYyY2ZmMjU3ZWE3N2FmNTIyNjU3NTMxNTgxNDY5MmQgcmVsZWFzZTI2LW1haW50Cis3MzkyMyA2MjY0MTMyNzI0NjQ5YmE0NjU2NDMyNjg4ZTVkN2MyMmFhYWJkNzNlIHB5M2sKKzczOTI0IGQwYjNhZjU2NWVhYTVhOTBlYWQ0Yjk1ZDRhNTM0ZmViNTY4NmRmMmMgcmVsZWFzZTMxLW1haW50Cis3MzkyNSBlNTNkMDMxZTU0ZDQ3NWM0MDY3MGUwNDE3ODdmOGEzMzIzMThjMzI1IGxlZ2FjeS10cnVuaworNzM5MjYgMDNiODY2MDZjZTBhMmE3OGJjNWU1OTFlMDllMzFmMzYzOWZhZWFmMiBsZWdhY3ktdHJ1bmsKKzczOTI3IDliNWQyODE4ZTJkMGU3MDI3NzljODQxZjg0NWJhYzVlNjJhYTEwODIgcmVsZWFzZTI2LW1haW50Cis3MzkyOCAxMzkzNDdiMDBjMThmNzljMDE2OTY5ZWQxY2Y4MzY4ZmM3NGNlZGEyIHB5M2sKKzczOTI5IDJmZDc0YzUwMjYwMDM2OTExMWRmZTAyYjFhMzY5ZmEyZGQ3OGNlOGQgcmVsZWFzZTMxLW1haW50Cis3MzkzMCAxNGNkMTlmZWFmMjBkODU5MGU1ZDZkN2NiZTJhZGRhOTdhYTMwMzFkIGxlZ2FjeS10cnVuaworNzM5MzEgY2RkZDUxNjRkYjAzY2E3NGUwYjNhZGEwNDJjNjI3NTM2ZmY0YTNhYiBsZWdhY3ktdHJ1bmsKKzczOTMyIGIxYzYzNzJhODA5MmMzZWI4NzFjNzk1YWEyNmEwZTIzNTE3NzRmODEgbGVnYWN5LXRydW5rCis3MzkzMyAyMjE3MThlNzU3YmFmYWQwNWJmZWU1MmJkMzlmMzc5ZDhlNjA5MjE4IGxlZ2FjeS10cnVuaworNzM5MzQgZmVhYWE3Y2MwMmQxMjJjZjAwYmUxOWI5Yzk0YTcyN2U3OTk1YTY1NSBweTNrCis3MzkzNSBlNTM2YTNiM2E4ZDBlNWIwYTczMTI1ZjJhZjM2NjExYzRkMTJkYmU3IHJlbGVhc2UzMS1tYWludAorNzM5MzYgZTIwMGVlOWNjYzRiZWQ2MTI2YmYyZGQ2Y2U2M2EzYTVkYjhjNTkyZCBweTNrCis3MzkzNyBhY2FhMGM4N2Q0MDFmMzU5M2MzYzdkMTAzOTkwMTRhYzczODljYWE5IGxlZ2FjeS10cnVuaworNzM5MzggN2IyNDY5NDVmYzhjYjBkYjU2ZjYyZDBlNmY0ZjQ4NzJjMmRhZjU0OSBsZWdhY3ktdHJ1bmsKKzczOTM5IGIyOGRhZGQyMGQ5YjdiNDllZDA2YzY5ODBkOWFjNjBhYTI0ZDJmNWIgbGVnYWN5LXRydW5rCis3Mzk0MCA1OWMzNGE5MWM1NGQ5ZmQwYzQ5ODdiYjUxM2VlMzQ2ZDFlMmI1ZDQ3IGxlZ2FjeS10cnVuaworNzM5NDEgODQxYTFlNjhiNGVkY2NjYjIxODRmYmNiMjFjNWYzZmMzOThlMDk3MSBweTNrCis3Mzk0MiA2N2Y1ZTAxZDVhNmE3MWUyNTc4NzZkZmUwNWM1YjE2ODVjNjdlZDg0IHB5M2sKKzczOTQzIDgwNjYxNjA4ZDRlMjA1N2NjZGM0NzQ3ZDEyMThiZDEzNWU1MDFkOWMgcHkzaworNzM5NDQgNGM1ZTA3NWY1NDczZGE1NjNjZDllYTQ2NTY3MjJhZjdkYmI5OTJlNSBsZWdhY3ktdHJ1bmsKKzczOTQ1IGYzYmYwODMyOWYwNzk2NmI1Y2UwOWY0MmZmMjA1NjAyZGY2YmZhNzcgbGVnYWN5LXRydW5rCis3Mzk0NiA4MjJhMDJiNzFiYmViMmMzN2I3YjljOGI0NjE0MDg1YTdmYjIzOGQxIGxlZ2FjeS10cnVuaworNzM5NDcgYzY0ZjlkYzNjNmE0OTg1YjM5NDVkNDc5NzQwMjNkMzRhNDM3YjQ3NCByZWxlYXNlMjYtbWFpbnQKKzczOTQ4IDU3YjM1OTFmMGNiMjMyYTQ3ZjI1ODdhOTcwZjMxNzE1ZGY2ZWRkOWUgcHkzaworNzM5NDkgNTZjY2VmMzQyMGU3ODEzMzM2MDliOTE1NjMwZjg3M2E4YjcxOGU0NCByZWxlYXNlMzEtbWFpbnQKKzczOTUwIGQyN2ZkYzcwMzc5YzI2YTEwOWFjNjZlZWZmZWI2MzFmNjk0ZjBiZGUgcHkzaworNzM5NTEgMGI1MGU2ODQxYTgxYmRiZThlODk2YTVjNDliYTA3NWQ5MDAxMDVjNCBsZWdhY3ktdHJ1bmsKKzczOTUyIDg2ODIwMjI1YTRkNWFmYjc2MmRlOWFmZDAzNjI5OWQ4MDA4NTAyNjYgbGVnYWN5LXRydW5rCis3Mzk1MyBhMWI3OTc3OGYyMmUzZTI0Y2EzMmM1NTljOGYxYTAyZjVhNzIwMTdhIHJlbGVhc2UyNi1tYWludAorNzM5NTQgM2RhZGYzNDUzZDA1NTA5ZDY4YzRlMzU4NDA2MjZkMTRkYTc3MGRiOCBsZWdhY3ktdHJ1bmsKKzczOTU1IDkzYjQ4YWI5MGVhZDBlNWM1ZjZhYTZiYzc2MmYzMWMyZmNmOGIyZWQgcmVsZWFzZTI2LW1haW50Cis3Mzk1NiAxMDI4YTk5MWI2OGVjM2U2YzZjZGFmMzgyMDk3ZTA0NWYxYmE0OTU5IHB5M2sKKzczOTYxIDBjODEyODcwYTk3NWVjMGI4Njk2N2YxZTlkNGRlNDVhOTFkNzRjMDEgcHkzaworNzM5NjIgMjYzMGMwNzViNTdjYjM1N2NhYTM5MjRjMDA4OGU0MGI2MjE4OTRlOSBsZWdhY3ktdHJ1bmsKKzczOTYzIDQ5M2M3Zjk1MGEyYjliNWJhODE1ZGQ1OTVmYzM1Y2EzOTJjZmUwMTUgbGVnYWN5LXRydW5rCis3Mzk3MCA4NDhhNWFjOTI0YjliNTAwOGIwMDVmNDg4YzUxMzUyYmNlODZhYmM5IGxlZ2FjeS10cnVuaworNzM5NzEgMmEzOThlZGViMDhkOTUzYzQzNjI0Njc2ZjkwMzI3YjBlYTE1ZTBlZSByZWxlYXNlMjYtbWFpbnQKKzczOTc1IGQwZjIyNTg2NWJlNjU2M2NiODMwYjBkMmEwNDRkNGRhNjcyNTA2MjMgcHkzaworNzM5NzYgMzE4NzYzZWNjNGIzMDQzYTYxMTk2ZTE4MjdiN2U5N2VjZWM3MzYxNSByZWxlYXNlMzEtbWFpbnQKKzczOTc4IDU3ZTlmMmQzNjdhODFkMzViZDdiMmQwYTYwYTI2MWFmYWU5MzI0MGYgcHkzaworNzM5NzkgYWNkYTY5MmE4NDdmY2U5ZTk1Mjc3NjViNjEwM2FiYzU5ZDQ1NDE0YyBsZWdhY3ktdHJ1bmsKKzczOTgwIGYzYjljNTBhN2FhZDVjMDBmMGQ1YjMyNDc0OGIxYzA0NWMwOTkyZjUgcHkzaworNzM5ODIgODhhY2MxMGNhYTZlMTFmYmNlOWFmN2Y0OTVjMTQ1ZmVmOGYyYWI2MyByZWxlYXNlMzEtbWFpbnQKKzczOTgzIDViZTA0ZTIzMTdlOGQxMmE4YmUyODI1NzJlZTc3ZDIwYWEwZGVhMGYgcHkzaworNzM5ODUgMDEwYTQ4ZTk0MjIzNzIyN2YwNzMzMzE1ZTIxMTMxNjdkYmE1NzEyYSBsZWdhY3ktdHJ1bmsKKzczOTg2IGQwNzZlNjVhOTBkNmMxOTM4NWE5NWZlNzljZWQ4NWIzZTU0ZTg5MmEgbGVnYWN5LXRydW5rCis3Mzk4NyAyYjY3Y2I5MjViYjE5ZTg2OTlmNDk2ZTQwOGZhY2Q0MTI4YmNhNTFkIHB5M2sKKzczOTg4IDk1MDdlNGI5Yjk4ODU4ODUyOWQ3NTM5NmI5MjBjYTYwYWNkM2EzNzUgbGVnYWN5LXRydW5rCis3Mzk4OSBiNzRlMzkyNjI4MTUxM2EyMDkyMDE2ZGQ0ZWY2NmE2ZjM2NDkwZjkwIGxlZ2FjeS10cnVuaworNzM5OTAgYjFkMzRkZmZmZTJkZTAxZWM4MGQ1MTQzNWY1MDU4MzU5OGVkNDdhOSBsZWdhY3ktdHJ1bmsKKzczOTkxIGUxNzJhODg2NTBjZjlhZTU3MTZkZGJkMWU3ZmViNjRmYmU1Mzk1YmIgbGVnYWN5LXRydW5rCis3Mzk5MiBiZDc0ZTJjOTczNDg5YTg2ZjFkZDg3YzQzNzRlMDQyMjA4MTEwOTdkIHB5M2sKKzczOTkzIDRkMmI1MzI1ZWU0OGU4NWRjMjJiOTI4ZGM0NWRhZjgzMzczZTcxOWMgcHkzaworNzM5OTQgZGFhYmNiZjI0MTVkZDBhMzg5MzllMTJmNGMxZWIxZjhkN2UyZWM1NCBsZWdhY3ktdHJ1bmsKKzczOTk1IDMyZDQ4NjYyYWE1ZjM2MzA1Mjg2ZTM0YmI1YzM0ZDYyN2U4YTU1MDMgbGVnYWN5LXRydW5rCis3Mzk5NiA4ZWJiOTBkYzNiMDQ1MGIzOWJkOGE5YmQwYjI4NWVmYjBhZTA5OTFhIHB5M2sKKzczOTk3IDdiZWM2YjQwNzRmNTg0NzFlMzQxN2VhZGU1NTJjZDk1OTQzZTE1YTMgcmVsZWFzZTI2LW1haW50Cis3Mzk5OCA3MzdhNmIzMzc1MDU2M2MwMmY3NTA2MTMwZTJlMDVhNDZkMTNlOWFmIGxlZ2FjeS10cnVuaworNzM5OTkgNmQ5NjI1ZGQ5MmU3ZWJjNWFjZjU5NDE0OTJjZjUxZjFjMGI4NTdiNCBweTNrCis3NDAwMCA0MWViMTEyOTAxNDJlNzYzNTYyZjI4NTM0YzM0OWIxOWU1NWM3NTE0IGxlZ2FjeS10cnVuaworNzQwMDEgYWEyMmU3ZjMyNTE3ODJhN2NlNmY2MGY0NTQ2MDlhODg3N2ZmNTdiZiBsZWdhY3ktdHJ1bmsKKzc0MDAyIDcyYzVlMTczYWFjNWE2ODFjOTU3NzBjZmY4NzkyMzAyYzNiYzM1YzQgbGVnYWN5LXRydW5rCis3NDAwMyBlZjFiMTE5ODMzOGJmYWQ3MDQ4NzhmMDVlOTQyN2NmYzc1ZTdkMzFhIHB5M2sKKzc0MDA0IDEyNDM5YTAzMzk4OGE0ZWUyMTgxMWI0NjRjNzczOGQxY2ZmOTA3ODQgcHkzaworNzQwMDUgMjllN2E0ZGQ0MTdjYTI1NWZmZDg5Nzc3NDAxMjhhMGZlNTgzZTU3YSBsZWdhY3ktdHJ1bmsKKzc0MDA2IDBlZDQwNWMwNWNjMzA0YmZmNTdkODRmZTdhNWY0MmI4M2ZkMjJmOTggbGVnYWN5LXRydW5rCis3NDAwNyA5OGJiYjk2MzQ2NzJhNTgxZGZjOTkwZjdjY2QxMmNjMDdhOWVmMWM1IGxlZ2FjeS10cnVuaworNzQwMDggMjA3M2E5ODljMDE5MjZiMTMzZmYyMjI2YTgwZGVmMTc0ZTQyZTk1ZiBsZWdhY3ktdHJ1bmsKKzc0MDA5IDhjNjYwNmIzMmNiMWM5MGYzNTBlNjViMzgxMDM0NjBhZDFkNWJkODQgcHkzaworNzQwMTAgODdiMzEyMWNlNTgwZWYyMTNkY2FhMmJjMmNlYzk0MTk5ODA4OGZhZSBweTNrCis3NDAxMSA5MzkwNmIzOWZmZWNjNGIxNTA2ZmZjNzhmZWQ2MzhkMGFkNWQ4Nzc2IGxlZ2FjeS10cnVuaworNzQwMTIgYTUwZWI1OTZhNmQzZDFjMmU3NDAzNmZjNGNhYmQ1OGY0NzFiNmY2NCBweTNrCis3NDAxMyBlZGM3MTRmZmU2Y2NjM2EzM2I4OTRlY2ZiNWRjOTQ1NDcwMGZjYzFiIHB5M2sKKzc0MDE0IDNhMzE2MjQzYmQ2YzZmNWY2MzUxMTRhZjA5MWE1NzJhZDhkOGRkYjYgbGVnYWN5LXRydW5rCis3NDAxNSBhODkyMjcyM2E5MmQwMDFmMjQzYzQ2YTljYWI4OGRlNzE1NzYzMGQxIHB5M2sKKzc0MDE2IDczZGNkMTgzZmFlMmQ2ZDY4OGE0NTkzNjcxNTJhMjZiMDExYmJjNzAgcHkzaworNzQwMTcgZDEzNDBhNTBhMWIzMDc2YTVkNWE5MjA1YTZmNjA3Y2MwM2JlZmM3YiBweTNrCis3NDAxOCBiZDQzMWEwZTY4Mjc0OWY0MmQ4ZTk5YWU0NWMwZTQ2ODlmNDIwMGVkIHB5M2sKKzc0MDE5IDFmZDBmNTY5N2I0MGRiYzFiZmUyZTQxMTY1ZjMzYjViNDMyNDVlZGQgbGVnYWN5LXRydW5rCis3NDAyMCA2OWEwNGRiZDVmMGEyN2Q5NTA2OGQxY2Q2ZWNiODI3MzExNWU1NTQ5IGxlZ2FjeS10cnVuaworNzQwMjEgZGMwODRmNDAwM2JiYmY2ODBiYzdmODQwODg3MzFhNzg0YzEzNjIxOSBsZWdhY3ktdHJ1bmsKKzc0MDIyIDk4MjcxNDY4YWIwN2ExODlmNjc4Mzk0YmQzOWJiOGRmZjI0ZTQ1MDAgbGVnYWN5LXRydW5rCis3NDAyMyAzMzcwZDYwOGU1YWE0ODU2MzhjZTljMjBiOGI4MWE5ZGM3NTg4Y2I5IGxlZ2FjeS10cnVuaworNzQwMjQgMzg2NDUyYjJkOWQ1NzMzNzg0NjQ5YTk3ODM2Y2YwNDEzNjVkMzkxOSBsZWdhY3ktdHJ1bmsKKzc0MDI1IDA3NzUwYzU1ZmQ1NWZiODA1MTQ2MTM4N2IyNmJlMzUzMDAwY2E2NzAgcmVsZWFzZTI2LW1haW50Cis3NDAyNiA5YjE3ZDU0Njk4MjFiM2Y4ZTFlMWQzMmVlYjY2YjhiMWRjMTY5Y2JlIHB5M2sKKzc0MDI3IGY5NzhkZGRiOWI3MWZkODhiZGNjZTBkZTY4ZjljYWQ2Nzk0MGU4ZWMgcmVsZWFzZTMxLW1haW50Cis3NDAyOCBhYjYzYTI2MmExMTNiOTU0ZWIxOWM3Y2UyOTI1OTM0N2RkMTgyNjU3IGxlZ2FjeS10cnVuaworNzQwMjkgN2YxNTQ3ZjY2Y2NmMzBjMWUxYmYwMGU3N2VhODhkNDAyMGRkY2RkMCBsZWdhY3ktdHJ1bmsKKzc0MDMwIGZjOGZiOGVmZjIwZWM4NjM4MDhlN2M2NmU2ZDYzNDMyMGRhMzFmZDkgcHkzaworNzQwMzEgZTgzMGU4M2YwZjVhZTRiYjg2OTk4OGM0MmY4YjljYjVlNGMxMDNlNCBsZWdhY3ktdHJ1bmsKKzc0MDMyIDBjYTgwYTJjNzdmZmRlODg1NDM2NzIyODk4NzFiM2U4NDA3NGEwNWYgbGVnYWN5LXRydW5rCis3NDAzMyBjZmEwMDRjMWZkOTVkNzYyYTAzMThiNTE0YzRiMjI5MzY3YWQ0MTUxIGxlZ2FjeS10cnVuaworNzQwMzQgYjE2YWU2OWQ2NDg0YTcwNTIzYjYxOWJiYmQyNGU2NjMyMGYxYzYwYSBweTNrCis3NDAzNSBlNjIxZTNlMzE5NmVhNDFmZGMzMWIzYjIwYjE4Y2M4YTcyMWY3MTkwIHB5M2sKKzc0MDM2IGNiM2FhOGJjZDdiMDJkOGEwMWU3NmJkNjlhNWY0ZDI0ZTFiNGI3ZmEgcHkzaworNzQwMzcgZGNlNDdjMTBkM2ZhZTFmZWYyZmMyZmY1MDgwNDgyNzU1MzYxYjU4MCBweTNrCis3NDAzOCBkMjA3OWQ1YWRjZmFhNDRhMWVmNTFkYjVkNjcyZmUzMDZkMWY2YjczIGxlZ2FjeS10cnVuaworNzQwMzkgN2Y2ZDAzYjU5ODY1YzMxNzBiMzEwOGZmM2IzYTRmMjZkOWNlMjdkYiBsZWdhY3ktdHJ1bmsKKzc0MDQwIDJkYWI4ZDYzZWI1NTU2ODNlYmQ0OWMxODBhMmNjM2FmYjc4OWIxODUgbGVnYWN5LXRydW5rCis3NDA0MSA5ZTc1MjllZjQ0ZDQzNWQxOThkZGMyNjI3OTg2ZDUzNTMwZWZkOWU0IHB5M2sKKzc0MDQyIDEyYTEzZTUzOGExMWQ5OTRmOGZkNTZkY2YyZDE3YmM0NmZiMmYzMjEgbGVnYWN5LXRydW5rCis3NDA0MyAxMzBmMTkxMWQxNDY1YjQ2MDQ0ZTliOTAxNjYxYmMzMmRkZTU3ZWQzIHJlbGVhc2UyNi1tYWludAorNzQwNDQgMjdlNzBkODFhZDU3NWViZTIzMWE3NjRiZGJlMWQ0YmYzYzg5YzFmMSBsZWdhY3ktdHJ1bmsKKzc0MDQ1IGI3YjgyNmY2NWU3NWRiZWNmNWE0NDdjOGQ5NjJjZTVlYTEzODMzNGIgcHkzaworNzQwNDYgOTA2ZWQxMTljYjE5YjQyY2FkMjQ3ZTQ1NzI0ODk0YTVlYzZkZDg2YiBweTNrCis3NDA0NyA4NTExYzdjMGQzZWZmYmNiZmViM2Y2Y2QwOWNlY2NjOGFlNjljNWZiIHJlbGVhc2UzMS1tYWludAorNzQwNDggMDFhYmNkMzczMDE0NWY5M2RmM2IyZmQxOGRkZTEzNDdlNDg5ODQ5YiBsZWdhY3ktdHJ1bmsKKzc0MDQ5IDEwN2U0ZmI5MzYwNWZkODkwMTUxNzZmZWY1N2YwY2U1MWNiZDc0ZjEgcHkzaworNzQwNTAgMWVjNWMyNjZkMzkwZGY2MWZhODkyMDFjYTQxYWNlZWE2YmMwYjZhMiBweTNrCis3NDA1MSBhMjliYWJiNTQ4ODRiNTE2ZGFlNjE2MThhYzRjNGM1YTM2ZDI3ZDU4IGxlZ2FjeS10cnVuaworNzQwNTIgNWQ3ZDg1MjQwNDI2MzJkM2Q5MTZhYjM1ZWU0M2Q2MTEwM2Y5ZmMyYiBsZWdhY3ktdHJ1bmsKKzc0MDUzIDU5MzkyMTgwYmY0NDVlY2UxYjhlM2FiYWVlNzRlNGJiMDFkODc2MWUgcHkzaworNzQwNTQgYjQyODdmZjE2NGU1YmM5MzkxNDk5NjQ4Mzc1YTM1NGViZDcyOTM0MiBweTNrCis3NDA1NSA3MjRkZmVhYjNlOWI5MTU5MGFhZGUxOGNlODc5YjM4MDM3ZDc0MTdlIHB5M2sKKzc0MDU2IDJmY2RmOTY3Nzk3ZGU2NTQ2OWU5YWJmYjhjMjQ3ZGI1OTcyODJiMzggcHkzaworNzQwNTcgMWM1N2RlYmY5N2JjMjc0ZDE2ZmEyMmVlOWZmOTgzZmJkOTJhMDAyMyBweTNrCis3NDA1OCBjMDc1Yjk3NGMzNWNhNGQxMmZjOTE4ZjRiZDJmZGNhNDA3NjdlODAwIHB5M2sKKzc0MDU5IGEwNjE2OWE4NzJiMzQ4OWNiYzRiNWRhYTAxMGU1NDNmZTVlM2Y0OWIgcHkzaworNzQwNjAgMWRiOTdjZTRhODUwYTBjZTFjMmRkNDU3M2Q4ZGRlNWVjZTdlOGRkYSBweTNrCis3NDA2MSAyMGNjMGVhYTg5MjY0NjdlYmFiZjdkZDdlM2JkNGRmYzE1NTJjZjc3IHB5M2sKKzc0MDYyIDc2M2U1MTI5NjVmYTc4MDI0YWNiOTFjOTdjYzhiYTc3MzkwZDY0YjAgcHkzaworNzQwNjMgZWE4ZmY4ZDYyOTI4YTNjYmM0NDZkMGUyNDJmZmNhZTgzNTlkOWVmNSBweTNrCis3NDA2NCA4YWE4MGI3MTVjNTFjNzZlNzRmOTMzZjRhYTkwMzViNjJjYjc3NmI5IHB5M2sKKzc0MDY2IDM2YTdlOTZlOTBmYjNhMjY1MjA1YTUzN2U2NzZkNmMwNWI5MmY1OGUgcHkzaworNzQwNjcgZGI1YjNkMzE4NjQ5MzNiOWFjM2M1ZGYyMzNlMGM4NjdkODMzNTBhMyBsZWdhY3ktdHJ1bmsKKzc0MDY4IGZlMmIwMjZkZGYyMWNkMWU1ZTdkNmZhODRlMmUxMjNhYTk5ZjgxMTIgcHkzaworNzQwNjkgZTIzOTFkMzYwYWMyNDc5MTljNDU3NTNiOTFmMzljNTgxMzc4YmM0YiBsZWdhY3ktdHJ1bmsKKzc0MDcwIGJjZGI3YjE4N2ZhYTA1NDNjYzRkYTE2ZTc5ODg0NWRmMzU3NmZhYWYgcHkzaworNzQwNzEgYWIyNGZmNjQ2ZGE4OGY1NWM0M2JlNWM0NTNkZWQ4ZDdlNzhiMzRhNCBweTNrCis3NDA3MiA2ZTA3NWVlNDhkNGJhZWEyMmZlYmYxY2EyNzQ3MjBlMmE0Yzg4MWFkIGxlZ2FjeS10cnVuaworNzQwNzMgYmE3MzhhZjE0ZGZjZDQxYjMyZDU3YzUyNjYzZGM1MjY3MDA4YmFhNyBweTNrCis3NDA3NCA1OGI1MTJlZGZkYmI0MWFkMGZhYmY3ZWVmOGM2ZWE4MDhiYWEwNzNkIGxlZ2FjeS10cnVuaworNzQwNzUgMjU5MTM4YTk4OGE1MjcwYTFkODcxOGRjOTIxZjhhNWZmNGE2ZTRjZSBsZWdhY3ktdHJ1bmsKKzc0MDc2IDVlZTJlOTY1ZGE2ZWRlMTMzYzIxMDExNTUyMDllYzAzMWZjMDdhMjkgcHkzaworNzQwNzcgMGFhNTMyMTE3YTRiYjY5ZjA3YzYzYWU0N2M1ZWE0MzAzY2EzYjc4MSBsZWdhY3ktdHJ1bmsKKzc0MDc4IGIwNTEwNTViNTlmMTk0MmNjYTNiNjE1NjQ3MmQ4MTA3ZDc3OTMyMzIgcHkzaworNzQwNzkgYTE5ZWI5NjM3ZmY3ZWRmZmExNWE2ZGQ2OTA2YThiNDZkM2ZmZmEyNCByZWxlYXNlMzEtbWFpbnQKKzc0MDgwIDlkYzVhYTYyYmU3MmZmODdiZjhmOTk5MzU2ZTIyZTVlMWI5MTkwZjAgbGVnYWN5LXRydW5rCis3NDA4MSA2NmJhYmU2MzEwMzdmNzQ2Nzc3MWFlOTRmYjQ3YjE0MDYyMmY3NjBiIHJlbGVhc2UyNi1tYWludAorNzQwODIgZGUxZDUyMDY5ZDJkZmNiNzI2Yzk4NTJkYTc3NGFhNjU3MTBkZGM2OSBweTNrCis3NDA4MyAzNzU1NjNjNmQzMjQ0YTE5ZDc4OWNjMDZiOTVlNTM4Y2VkMjc1YjdjIGxlZ2FjeS10cnVuaworNzQwODQgNTRiMWY4MDI0YmM4M2MzNjM0ODA0ZGRmNWE4OTBkOTI1NmU1OTJkZCBweTNrCis3NDA4NSBmMjA3MDU4NzVlODA2NTA5NzUyYTZlNTMyYzRkNzFhNDc1YzQyZGE1IHJlbGVhc2UyNi1tYWludAorNzQwODYgYzcwNDIxMjcxOTZhNTE1ZmFlZjI5ZTJlMDRjY2VkMjc1MjlkYzZjOCByZWxlYXNlMzEtbWFpbnQKKzc0MDg3IDRmMTc4ZTU5NTgxMzEyZTc4ZGUxN2U0NzYxMGYyODRjOWYyZjZiYjYgcHkzaworNzQwODggZWUwYjlhOTMxYzk0YTQ5NjQ0N2E3ZTM3OGIwOWRhOGViZjlkNGEwOCByZWxlYXNlMzEtbWFpbnQKKzc0MDg5IGMzMzZiMzAzOGQwNTQ2NDJhZTQ3N2EyNjM3MTNlNDFlMzMzYjhjYjAgbGVnYWN5LXRydW5rCis3NDA5MCA0NjEyYTJhY2RmMmY2MDdkNzQzMmIzZGVlYzI5MzdkYjU1MDBkZjczIHB5M2sKKzc0MDkxIDYyMzZhZGIzNjYxODFkNjI1YmEzZGM2YjY1NmY0OTBhMzA5MTk4NDEgcmVsZWFzZTI2LW1haW50Cis3NDA5MiBkNjBiNTU5ZWVhZDlmMjk3NDg3OWRmNTk0ZGMxODljN2I1OGQ2Y2M2IHJlbGVhc2UzMS1tYWludAorNzQwOTMgMzY2MzZmYTU0ZjMzMzM5YWNiNzY1YmE2ODBlNjM1YjAxZDY0YmQ2NiByZWxlYXNlMjYtbWFpbnQKKzc0MDk0IDZhZDI1NjEyNDA4MDQzYTBkYWJlOWNmZDdjOTY4MGU3M2I3ZDBkMzkgcHkzaworNzQwOTUgZjMxMTM5NTQ4N2M5NzBmMmVhODUyYWE5YWU3MDUxYmEwMDg2MDM5MiBsZWdhY3ktdHJ1bmsKKzc0MDk2IGVjMWYzMmI3MmFiZTgxMzI2Nzk0ODUzMDM0N2JmNzcyOTEzN2VmYmEgcHkzaworNzQwOTcgYWY5NzdlOTRlMmZkZDRlM2M3NGVlNTNmMmVkZTY0YzI5OTZmYWVkNyBweTNrCis3NDA5OCAzYTYxM2UwMGY2NmQzNDhiYzNjYWUyMmFiMmI2NTgxYjE5Zjg0OTI4IGxlZ2FjeS10cnVuaworNzQwOTkgZTYyOTU3YTBlZTE0MjM3ZDAzOWZjYTYyMjgwMTE2NzRjZmNlMjY1YiBweTNrCis3NDEwMCBlZWFkNzgwN2RmN2NjMDc4ZmNlYTk5YzVmYmU5YzFlNmExODRlY2VmIGxlZ2FjeS10cnVuaworNzQxMDEgYzBhY2FlMTliNDg3Njc2YTc2MTc3MDg4MGI3YTM5NmJkY2RkYWMzZiBweTNrCis3NDEwMiBlYWY0YTAwNDg0YmRiZDgzZWQwMjEyZDBlNGE0N2NmZmU3YTRhZmEyIHB5M2sKKzc0MTAzIGFlMmMwNTZjNDZkMzQ0NzAzZTJkOWJkNTNiZWYyNTBhMWQ4Yjg0ZTUgcHkzaworNzQxMDQgODFjOGIzMDQxNjNlM2FkYWQ4ZjVjZDI4ZThhZDYyODdkOGRiYWRhNCByZWxlYXNlMzEtbWFpbnQKKzc0MTA1IDBhZjk0MDdjODhkMmU2ZWYxYjQxMTUwN2NmMzI0NzdlZDg5ZjhiZDMgcmVsZWFzZTMxLW1haW50Cis3NDEwNiA1Y2Y2OGQzYjY1MzI0ODk5ZjVmYzQwZDBmZjQ5M2E0OTIwZGQ1NDdiIHB5M2sKKzc0MTA3IGE2NDBiYjNiOWMyYmI2YmQyYjcwYWRkNzY4ZWQzZGUyZjIxYzMzMTMgcHkzaworNzQxMDggZjUwMjkwNzk3ZmI1MGE1MzBkODdiY2RkZDcyNzk2OGVmNjcxMDQ3ZSByZWxlYXNlMzEtbWFpbnQKKzc0MTA5IGZlNzk4OGE1NzBkZmYyMTNlMDA3ZDUyNjgzNDMxZGJkNTk5OTFhZGEgcmVsZWFzZTMxLW1haW50Cis3NDExMCBkZmFmNmRlMmM4Y2U3YTM0NGVhODdmODhlZjcxYTJkYjkwY2VlNjVlIHB5M2sKKzc0MTExIGQ4MjZhMGNjMmMwZTBlNjFmNzlhYjMyZTE2NjFlMTIzZGZiY2YyZWEgbGVnYWN5LXRydW5rCis3NDExMiBkMWQ4MjU0YzRlZDVjNmY4ODljY2Q0OTRlZmU1NTRjMmE3MzBhYzI0IHJlbGVhc2UyNi1tYWludAorNzQxMTQgNzMyZjcyY2JhZjdkODRjY2NmNjEzZDVhZTkwOGVlYjExZGNlZjMzMyBsZWdhY3ktdHJ1bmsKKzc0MTE1IDBhY2YyNDkwMTVjYTRjYjNkMDk1ODEzM2Y5MmNiZDU5ZDdjOTUwZGQgcHkzaworNzQxMTcgMDFiNzYzY2ViNDA4NzNlODkzNGY3N2Q4MzlkZjVlMzllNjU0MTRiYyBsZWdhY3ktdHJ1bmsKKzc0MTE4IGFhY2RjNzM1ZjE5YjE4NWMyZmQyMTE3MDFjMWE0NjNkNjdlN2NmYjEgcHkzaworNzQxMTkgN2JmOGZjMjAwMzdhMWNiMjFiMDNkMWRmMDg4NjM1MmE4OWViMjFiOSBsZWdhY3ktdHJ1bmsKKzc0MTIwIDg2MGU3MTJlMzJlMGRmZjhiZjMwZGZlZDJkYTNmYWJiNjY5YWJiOTQgcHkzaworNzQxMjMgMDFlMmU5YWRkMDcwZmI0MjIzNWJhOGZmYmFmZDI4MTQyZTUxY2E1ZCBsZWdhY3ktdHJ1bmsKKzc0MTI0IDM4MzJjZjAzNjg3YmIzOTUwYTVjMjVhZjkxZTNhOTA2MzBlODJlNDcgcHkzaworNzQxMjUgY2M5ZmVmY2RkNTMzYzRiNzNhN2YzNDJhODBiYWU2MjNmNWY0NWYyZCBweTNrCis3NDEyNiBjZmFiMTFkZDNlNzNlNTg2ZjAxNDM5MzRiMjIwNDM0OTllN2Y0MmZlIHB5M2sKKzc0MTI4IDYzZmQxN2JhOTg3NTMwNjI5NzhiYTExYzU5YWVlOWMxMjJiNzA2OTUgcHkzaworNzQxMjkgMmNmOWQxOGQzZGY1NGM5ZmM3YjE4ODcyOGRiZDFkMzE4Yzg5NTQxZiBweTNrCis3NDEzMCAwYjFmMWQ3YjJlNmRmZDA1OTZjZTQ0MjlhODFmNzYyYzZjN2UyNTY5IHB5M2sKKzc0MTMxIDNjNDQ5MGFkMDFjZjA3NmRhMDQ5NjJmMjkyNjgxY2I0NDNjYjBmODMgcHkzaworNzQxMzIgNzk3MThlZTAzOTg2MjlhYzQxYzAzMmQ3YzA5ZDgwM2Q3OGUxNjRlMSBweTNrCis3NDEzMyBlYmM5ODU2YTliZGIyNjAxZjQzMWQ2M2FhOTg4ZTJjNjk3YmNjMWI3IHB5M2sKKzc0MTM0IDU2MTM2NGEzNGIwYzQ2ZDEzNDRmZTI5ZjgwYWQyYmNlZmJmMDZiMDIgbGVnYWN5LXRydW5rCis3NDEzNSAwYTIwZWRmM2Y3ZGI4OWViOGRlZjY3NjhmYTk1MzM4ODY2MjAxYjE2IHB5M2sKKzc0MTM2IDZmODczNjczNzk5NGRjMTE5YTk4MzQ1ZTk2ZDZlMmVmMGFlYmUwNDAgcmVsZWFzZTMxLW1haW50Cis3NDEzNyA5ZmY1YmQxNjAxNmI0MDdjNjc5NzRiYTI2ZWEwMGUwODVkMzkwYWUwIHJlbGVhc2UzMS1tYWludAorNzQxMzggMjFlNTgzMWNiYWU4YWJiYzMzOWFlMjhkMTU2YmFhOWNiNDRjYzdlZiByZWxlYXNlMzEtbWFpbnQKKzc0MTM5IDM4MTVhYmVkOTI3OWI4ZDgxMWM4NGJjNGY1ZThhYjE5OWE2YjY1ZTQgbGVnYWN5LXRydW5rCis3NDE0MCBjMjhlNjFjNWJkZjgyOWZjMGZkNDdhNGNkYmE4ZWU5N2I2OTg2ZWE3IHB5M2sKKzc0MTQxIDk0OTljMjMyZWRiNzNmYjcwMjY5Zjk1NzIxMDZiNDRiOWY0NWY1ODcgcmVsZWFzZTMxLW1haW50Cis3NDE0MiA0ZGY3MDUwMGRiZTM0ZDU3OGI4MGNjMTU2MDg0ZjMxMTQ1ZmY1ZGRiIHJlbGVhc2UyNi1tYWludAorNzQxNDMgMDNmNWM2N2RmMThlMmI2YzU0ZDgyNTIxYjhmYzY1ZjYyZmMzYzMwNiByZWxlYXNlMzEtbWFpbnQKKzc0MTQ0IDhkNmVhZDJhY2NhMDA0ZjU3MDU3YTAxNTIwNjcxNzEyNTU4YTYzMWUgcmVsZWFzZTI2LW1haW50Cis3NDE0NSBmZGE5MDYyZWJmYTRjODcxZTljYTdjNzhmNTBjMDE1ZTQyMjFlOWRmIHJlbGVhc2UyNi1tYWludAorNzQxNDYgY2RjNzQ5ZDljMDIxYjk3ZWM2N2VjNzQxOTBmZDFlMGY1ZWU3NjI4ZCByZWxlYXNlMjYtbWFpbnQKKzc0MTQ3IDdkY2U0MDRmYzhlYjViMzNjMzA2YjU4NTk3MzFhYzk1NjRjZjI4NTMgbGVnYWN5LXRydW5rCis3NDE0OCAzNjEyYTRlY2E1ZDUxY2NhYjFlZmM3OGYyZjZiMGIzNzgyZGZmZWJhIGxlZ2FjeS10cnVuaworNzQxNDkgYjQwZWViOGY2OWNhN2JiNjQ1OTJjNjlmYWZmZGViMTJiZTA3YzZjMCBweTNrCis3NDE1MCBjMzBmYThjNWUzMjQ2Zjk2YzA5YWM5ZTgwZWQzZTNhMTExMjc3MjZiIGxlZ2FjeS10cnVuaworNzQxNTEgZTQwNTA2ZWRjYjNlMTU3YTA5ZWU3MjBkMDI3NDcxNTMxMDc0ODM3ZSBweTNrCis3NDE1MiA2YmIwMTg4N2Y0NzU2NzY3NjExZjI4MTM5ZTVmNjgyNDRlOTMzNzFlIGxlZ2FjeS10cnVuaworNzQxNTMgMjRhMmFjZjEyOTFjOTQxMzcyMmYzMWEzYTU2NTE3ZGIwMDFmN2JkMyBweTNrCis3NDE1NCBhYmZkNWY3OGY0NjZhZTE3MDMwMDg1OGQ2ZDM3ZDliNmFkOWQwNWM5IHB5M2sKKzc0MTU1IGQ3NDdkNTJmOWE2NjkwNmU1MmMxN2NlMzM0OTUxZDE4ZWUxNjE5NWMgcHkzaworNzQxNTYgZjc5MDQzMzY5NjI1ZmY5ZjZmMjhiMjRkMzE2MDViYmZhNDhkNGUxZCBweTNrCis3NDE1NyBkNjgyY2E4ODhlMjc5NGIxN2E1NmYxOWFlYTJlZjNjZTQwNzY5YzQ2IHB5M2sKKzc0MTU4IDUzODg1MGIzODkzMTA5MDcxYzUxNDgwYTg0ODhjNTIyOTAxYzI3YjQgcHkzaworNzQxNTkgYjdhYWJiYTg0ZWUxYTBhOTlhZGIwMjgzZGQ2Yzc5ZTAyMWI3ZjRlOSBweTNrCis3NDE2MCA1OWU1ZjI5OWRhYTAyMGM1Y2JlZWUyNDU4NDI3ZWM0NjNhOTJkYzAwIHB5M2sKKzc0MTYxIGVjODVhNTFkZTljZjQ4ZTkwMjhlOTUyMTc5ZTRlODAzOTY1Mjg5NDQgcHkzaworNzQxNjIgZGY1YTcwODYwNzgxMGJmMDk2Mzg1MzcxOTk4Y2I5NGY4NWVlOTJkYyBweTNrCis3NDE2MyBjYzlhMWEzZTNmYjgxZTQzMjg2YzRjM2NiODBiYzhmZDkzZDY1YWNjIGxlZ2FjeS10cnVuaworNzQxNjQgMWVjYjA3ZTExYTJkY2M2MWZlM2U1MjMxYzQyMzNjZmM5ZjgyY2FhMSBweTNrCis3NDE2NSA5YzIxMTFjZmQ5NzQzNmRiMmEyMjRmZjMxZGI4MDBhM2JiOWM2ZTY0IHJlbGVhc2UzMS1tYWludAorNzQxNjYgMDc2MzQ2MGIwYjM4MWRmZWQ2MWRmMmMwNzgwZDU4NjhlN2Y0MWU0MCByZWxlYXNlMjYtbWFpbnQKKzc0MTY3IDE0ODBmYWUzYjcwM2ZjZDdkMDA0ZDZlOTgyYmFjM2IwODBkMDEwMDcgbGVnYWN5LXRydW5rCis3NDE2OCA3NGFhZWI5YzM1ZmJkMTE0ZWEyMWIzYWJkYmU5OWFmY2YzNjFhYTZjIHJlbGVhc2UyNi1tYWludAorNzQxNjkgY2I0NmEwZDc4OWM2NzBmNTRhOGQ5MGY0MDFjMjgxYTQxNDg2M2JlMSBweTNrCis3NDE3MCAyNWNmNzc1YTcxNTE5ZmZmNjA2MGI5NTdlNTliMjFiZDU5ODhhNWE2IHJlbGVhc2UzMS1tYWludAorNzQxNzEgMDNjZjRjYjRhMTUwMWQ1YTM2OWJjZmIyZGM0NDkyOGRlNDRmZjFlYSBweTNrCis3NDE3MiA5MDhiMzk3NjRjNzM4ZDcxNWM5YWJjZmFmMGJmNjhlNDNmOGI3Zjg5IHJlbGVhc2UzMS1tYWludAorNzQxNzMgMTMyN2FmNTZlYTQ5YWI4NWIxYjIzNTI5NTBhODYzMThjNWVmY2ZjMSBsZWdhY3ktdHJ1bmsKKzc0MTc0IGU2NTBhOWQ2NGFiNWM2ZTI4YmRmOGU0NjliOGVmZTRlMGEwMDlmZjIgcHkzaworNzQxNzUgOTRmYzQzM2M0MzczNDZhYjYyODA0MjFmZGZiM2VjOGI1ZWE1MDRmMiBsZWdhY3ktdHJ1bmsKKzc0MTc2IGEwZWFjYjVmOWQ4YWEzNTJhNmU2MmViYTI2NzhlZWU0MmI4MzQwZTIgcmVsZWFzZTI2LW1haW50Cis3NDE3NyBkZjE3NDQzMTk0NjZjOGNiZjg3NGU4ZWM5YmQ3YmUzYzY1M2Q1MDFjIHB5M2sKKzc0MTc4IDI2MGZiNDIxYWMwN2ExNDA4OTUwODBlMzYyMGI1ZGY4YzhmZmYzZDYgcmVsZWFzZTMxLW1haW50Cis3NDE3OSA5ZGRhMDJhZmE4ZWQwMDdjN2ExMzg3MjY0MGY0Mjg3N2M1YzRmODExIGxlZ2FjeS10cnVuaworNzQxODAgMDI1YTY0MjhhNzY0ZjVlNDUwOTE5MmI3ODI3YzJlMWI4NTIzOTEyYiBweTNrCis3NDE4MSBiOTY0MDY1NTEyYjE1NTdhZGRhZmEyYjVmNGI5OTliYmU4OGY3ZDBkIHB5M2sKKzc0MTgyIGIxMWE3NTI0ZTU1OGYxY2EzZjIyZDgwZGY5YTNjNTRmZGU1M2Y0NDMgcHkzaworNzQxODMgMjA3NTQxYzk4NzQ0MmQ2YmJiZjlmNmRmNGY4ZDA1NjQ5ODFmMDNhNSBweTNrCis3NDE4NCA3NDIyZDc4OWZkY2E5YjJlOTFiYzBjNTg5ZmNiY2E4MWFiOGMwNDA0IGxlZ2FjeS10cnVuaworNzQxODUgOTc3NjAyYjNlMTQwZGNiZGEzOTE5MTk2YjdjYTFlMWUxNjUzZTM3YiBsZWdhY3ktdHJ1bmsKKzc0MTg2IGVjYTAyMDdiYjc3ZjA5MWE5OTQ1ODQ2Yzg5NmFiNDI2MjdiNGI2YTUgcHkzaworNzQxODcgMmU5NDcyNDU5NThiMDFjOWUzMmJiZTJiZjRjOWYxMTljNjk5ODI5MCBsZWdhY3ktdHJ1bmsKKzc0MTg4IDYwNTIzNDE4ZjhjOGU5NTUxNzkyZjNlZTFjNDc0NTZlZTE0YTM0ZjAgbGVnYWN5LXRydW5rCis3NDE4OSAyZmIxMDU3N2M2MjFlMjlmZmI5NWU0NTJiYzViMjU4MjE0MmU5NzUyIGxlZ2FjeS10cnVuaworNzQxOTAgODY4YjRlNjM5YjVhYjFiOGU3MWE2YWQ4MmMzMmMwZjVjNmE4NzllNSByZWxlYXNlMjYtbWFpbnQKKzc0MTkxIGI3N2JiNTMyMTEwODg5MWVmMjY0Nzc0ODMxYzg4NDZiMjE2YzI0NTggcHkzaworNzQxOTIgYzAwYjA4ODQyZDdmZDRiZDMxMzhiNDk3ZTY5MjAxMmQ5Nzg1MjI0MiBsZWdhY3ktdHJ1bmsKKzc0MTkzIGU5OTAxM2E5ZDJmOWNhNGUwYzM2M2RjMGFkZjQwNmFlNTZhYzQyYjEgbGVnYWN5LXRydW5rCis3NDE5NCBkOThiOGE2ZWMyYjg0YzViNzgwMTE3MzQ2MDRlYTU2YzRkZDRmMTY4IGxlZ2FjeS10cnVuaworNzQxOTUgNjFhMDY1YjMwMDFkODdkNTZiMzliYzA3YWVkYzJkMTc5YmMxOWIzOSBweTNrCis3NDE5NiA3NTk2MjJkMGFlMjg0NzU2YTRhZGZlOGEyM2M0OWVmYjhlYTA1MDNlIHB5M2sKKzc0MTk3IGNmZmIxZTk2M2RkOGEwNzcyMjExYzA3NTRkYmFkZjc3MjAxZjZmMmUgbGVnYWN5LXRydW5rCis3NDE5OCBkMWVjOTVhZTBhYzI4NDZiZDhjOTZlMmM1OGM2Y2YzYzU4NThkZTk1IHB5M2sKKzc0MTk5IGExNGMwOGY4ZTc3YjVmOGQ5ZmQxM2VkOGFlNjVlNzQzNGJkMzg5MDQgcHkzaworNzQyMDAgN2Q0NjA4MDA2Y2ZhYzM3Y2M5MDg0OWExMmFlNWU4NDlmZTI0YjYxZSBsZWdhY3ktdHJ1bmsKKzc0MjAxIDZjN2I0YjQ3MDgyNzc1YWI3YmQ3NmU0OWMxNDEzZjRjNzBjMzk4NTcgbGVnYWN5LXRydW5rCis3NDIwMiA0YjEyMTZmNGZjYjViMGMyMjExMDYwNzg4YmFlOWUxYTk0ZDcwMWExIHB5M2sKKzc0MjAzIDBmNTdiMzBhMTUyZjQ2MTkxZGE2YzI4ZjllYjY2MzFkZWY3N2Y4MGQgcmVsZWFzZTI2LW1haW50Cis3NDIwNCA1MTEyYTU2ZGY5NzdhMWMxZjlmOTg0NDBiMzI1OTU4ZGJjYjRkY2MzIHJlbGVhc2UzMS1tYWludAorNzQyMDUgNzI0YTEwMTFlODk3YTdiOWYzMmFlMjdkNDEwMWE4OTc4ZTVkMzE2MiBsZWdhY3ktdHJ1bmsKKzc0MjA2IDBiODkzYzZlYWQ0YzczNmZlOWQ4YzI4NzJiYzYzOWJmMDEyY2RiMDMgcmVsZWFzZTMxLW1haW50Cis3NDIwNyAxYmRlODQ1NTIyMmMzNDg5YTZmM2IyOGE0YWQ5N2ZhOGNmMDM1ZjQyIGxlZ2FjeS10cnVuaworNzQyMDggYTU1NjM0Y2U4MTE4MzhkZTgwY2VmNDExYWMwODY4YmU5NGU4MTMwMiByZWxlYXNlMzAtbWFpbnQKKzc0MjA5IGJiZDFkOTBkMTU4YWJkZGQ1NTE5MDNhZTc0NzhhNTdjOWY3YTg0YjIgbGVnYWN5LXRydW5rCis3NDIxMCA0MmRiMWNmMzlhZmRiYWM1MGMyODUxYzUyNTNiYTIyN2MyM2QyMzQ3IGxlZ2FjeS10cnVuaworNzQyMTEgNjc4OWQ4NDA2MjFmNGQwZGNjNmU1NTRkOTk2Y2VlOWQxZDc1OGJkOSBweTNrCis3NDIxMiAyZjhhMzYyZTM3M2Q5NTBjYzliODBlZjA0NWY1MGFkYzFlMWYxZjUwIHB5M2sKKzc0MjEzIDE1YjYxZjMyN2Q1MDk1ZGJhOGI1Y2IyZGJlMGMxNWNmOTJmM2U0OGQgcHkzaworNzQyMTQgOWJmMjA2ODU3ZDdlNzljZTJkOWY1MGIxMjEwZDIzNTUyNzgxMjQzMCBweTNrCis3NDIxNSBjMTA3NzNiYmFmYTAzNTkzZTZiNjAyZDU1ZTFiNTFlYzRjYzA2OTA5IHJlbGVhc2UyNi1tYWludAorNzQyMTYgYjcxZWViOTA3MDkzN2I1NjJmMjcyMzNlZWQ1M2U4MDY1NjI0ODk5ZSBsZWdhY3ktdHJ1bmsKKzc0MjE3IDBmMDE2M2Y4YzViNTZjZmQyZmZmNWE5ZjliYzgzNzRlMmUzNjViOTkgcHkzaworNzQyMTggODllYmU0MzI0NGFlYmY2YmMzY2JmMWU3NzMxNTc1MmFmYzBiN2FmYiByZWxlYXNlMjYtbWFpbnQKKzc0MjE5IDBkMjAzY2EzYWM3OGVkZjA0NTllY2I0Y2I1NTIyOTBiZmI3ODk1OTkgbGVnYWN5LXRydW5rCis3NDIyMCBhOWI1MDdlY2RhNGM5ZDI3MmIzMzM4NzE4Y2YzNjIxZGNlNGZhNGQwIHJlbGVhc2UyNi1tYWludAorNzQyMjEgOGMyMWZmZmIwNmM0NjE0YWNhYmI3OTExZTdhNjBkNGQ5NzllYWQ3OSBweTNrCis3NDIyMiBmYzQ2OWFmNmViNzAyNmJlOGRhYzhjN2EyY2MxOTI1NDM2Y2NmYzIyIHB5M2sKKzc0MjIzIDA2Yjg2YTZlMjhmMWExNDM1N2VkNDc1OGE3MWNkZTQxYWQzYmU5MDkgcmVsZWFzZTMxLW1haW50Cis3NDIyNCA3NGRjN2JiNGY0NjQzYjNkNmZlODAyMjdhNTlhZjJmNjliMjJkY2JjIHB5M2sKKzc0MjI1IDYwN2NkMTE5ZmU0Yjk3OGEzZDlmNTFmNTI4N2UzMjAxNDUyOGJjYTcgbGVnYWN5LXRydW5rCis3NDIyNiAxMzI2ZWY4NmYzZTQwZDMyNmY2Y2NmNWUyZjI3N2NjNWFmZDliNGY5IHB5M2sKKzc0MjI3IGIzNGNhZTc4NmNiMDNlNDY3MjQyYmY1NDhjZWJmZGM0NjBlYjc1YzEgcmVsZWFzZTMxLW1haW50Cis3NDIyOCBjODUzYTNkMmExOWQzNTkyZGYyMjkxMDIzYzk5MTlmY2FhOGZlODBjIGxlZ2FjeS10cnVuaworNzQyMjkgNzIxMmUzZTBjZDE3NTA3MDc1MjI0ZmYwMDViNjkyNzNiMzVmYjliYSByZWxlYXNlMjYtbWFpbnQKKzc0MjMwIDBmOGI1NmVmMGY3ZjRkZTE5NzBlYjRkMDg3ODhhMWEyM2RkZGE4ZjEgbGVnYWN5LXRydW5rCis3NDIzMSA3ZmQ5YWRjODEyODAwYzEzNWRmMGQyNmI0NTMzY2E4ODdhNDc1MTM2IHJlbGVhc2UyNi1tYWludAorNzQyMzIgNDQzMTgyMTBiMDNjNzBhYmVkMmVkNzY1MTE2NzhmMzg5NGI2NTI1YSBweTNrCis3NDIzMyAwMWY4NDhlYTExMGFlM2Q1OTBjNGIyZjMwZmFmZmQzMWY5MzVlMGViIHJlbGVhc2UzMS1tYWludAorNzQyMzQgZGE5OGNiZWJkYWNiYTI5ZDA2NjQ4ZTliM2E3YWY0M2Y1YjViNTE4NSBsZWdhY3ktdHJ1bmsKKzc0MjM1IGJiMGI3ZDBlNTUwZDgwYTg3OTgyNzZkZGNkZjA5ZTFiNDE1NWUzYWUgcmVsZWFzZTI2LW1haW50Cis3NDIzNiAwN2RiZGYwM2U4ZjUwMzA3Mjk4YTJmMTUxMGNhMmM3NzFkZWMwYjllIHB5M2sKKzc0MjM3IDNkNDUzNjdjYzYyYWE3ZmZiOTkyMmE0NjkwYjUyYWRhMzY2OGFhMTMgcHkzaworNzQyMzggYWRmNDg0ZGY2Nzk0OGU0OGIxNjI1NmJlMWVkN2U3ZDQxOGYwYWU1NyByZWxlYXNlMzEtbWFpbnQKKzc0MjM5IGFhOWZmNDdiZDFjOGVlNTY1NDliMTVlN2FlYjhmNTBhOWZiOWZkMTIgbGVnYWN5LXRydW5rCis3NDI0MCA1NmIyZGE5M2FkOWM4MjMyZGU1YWEwYjk1ZWIzMmYyNzFlMzkwNTg1IGxlZ2FjeS10cnVuaworNzQyNDEgODlhZDIwYTMyYTI2MDMxMDc4NjM1ZWI2N2RmMGE0NzNkMWY0M2Q0NSByZWxlYXNlMjYtbWFpbnQKKzc0MjQyIGJjZDM5ZWZmZDMxZTM3ODZmZGI2YjM2NTg3ZWEyMWZhMjAyYjk2YzEgcHkzaworNzQyNDMgODg5OGYyOGU2ZDJjMWE5NTRhNjVhNmIwZjA0NDRhNzZhMWM5NTVmNCBsZWdhY3ktdHJ1bmsKKzc0MjQ0IDU3MmMxODdkZjYxMmUyNzZhMjczZjY3Yzk1Zjg4MDNmZGEzMGQyOWIgcHkzaworNzQyNDUgMWRmZDZmNDA3MzM2Y2EwMjczM2FlNDUyOTIyOGI5M2FkYWZiMGM4ZCBsZWdhY3ktdHJ1bmsKKzc0MjQ2IDVlMDU4ODkwOTZjZDA4MGU3MTIyMDIzNmZmMzU3MDg4YTFjMGNhZTUgcHkzaworNzQyNDcgOGEwMTdkM2NiOTI4YWU3MmVhMDEwYjkzYTY0MjkwOGE0MTlmMzdlMCBweTNrCis3NDI0OCA5ZmZmZDNlZGI2Njg5ZmRhZDI1NTQ0Mjc5MmJmYjBjOGZiZDI1MDE0IHJlbGVhc2UyNi1tYWludAorNzQyNDkgYTVkMDI1YWQyMWM4ZWExNGZhZDM4MGFkMDJiOTMyZTMyMjlhZThlNCBweTNrCis3NDI1MCBmMzU3ZTI2MDNkOTNiZWIxNWZhY2M1N2EzZjdmY2JmYjQ0NGQzY2I4IHJlbGVhc2UzMS1tYWludAorNzQyNTEgNjBiMzFmMGRiMDE2Mzg0NmFlMmEyYTZmNjc5ZTU2YWIyOTJlZTRiNiByZWxlYXNlMzEtbWFpbnQKKzc0MjUyIGVlMjU0NTllOWI5MWZhY2FjNDc2ZDQ3ZDFiNmNiMjY1YzEyZDQyYmYgbGVnYWN5LXRydW5rCis3NDI1MyAzZWQxNTkzZGQxNzQ3MjAyNzZiYTcxMjU4YzEwM2JjYzU1ZDZkMTJmIGxlZ2FjeS10cnVuaworNzQyNTQgMTU2ODNjMGVhZjI4NjMyZDYyN2VhMGE1MjBiZmY2MWVhOGI3ODI4YSBweTNrCis3NDI1NSA2NGFmNDE2MGNmMWViOWY5M2RkYWM4NzY3M2NhMDA0NWVlYmU4MTE2IHJlbGVhc2UzMC1tYWludAorNzQyNTYgZmExNGY4MTMyMmNlMDcxODc4ZjNkNmNkMjViNjAwNDMzZjBjN2U1NiBsZWdhY3ktdHJ1bmsKKzc0MjU3IDFkZjI4MWM5ZTE4MjFmYzljNTBkZWM4N2Y4ZjFjNzM5YTc3ODVlZGYgcHkzaworNzQyNTggMTM3NTk5YWNiOGJhYTMxODAwNzYyYzdmZDUxZmM3YzQwYmNjNDNmMyBsZWdhY3ktdHJ1bmsKKzc0MjU5IDkzODgzZjM3ODdiNTc5Yjk3ODExNDIxODIwYjgzOWJjOTI4YjVmZWIgbGVnYWN5LXRydW5rCis3NDI2MCA0ZmU1ODAxYmY3MTIxN2JhNDc2ODg0MTZlMjFmODg4ZGNiNzFhM2EzIGxlZ2FjeS10cnVuaworNzQyNjEgNWJlNGMwOWU0YTY2NjI4ZTQ5OGNhM2E1MzhkZDZlYTE3N2E2OTA1MyBsZWdhY3ktdHJ1bmsKKzc0MjYyIDdhYTBkNmZhNjM1OWYxNzhhMzRmNjEzZjdkMzQyNTU3ZjdhNzc2ZDMgcHkzaworNzQyNjMgZDI5ZDFkOGUyY2Q2MzY5ZjEyMTRjYjYwNmYxZjYyZmYzZGFhNjE5ZSBweTNrCis3NDI2NCAzZTBjZTk0YzJlMWUwZjEwNDE3OTQwZGZlM2M4YTEyM2Q1Yjc1ODM3IHB5M2sKKzc0MjY1IGJkMDNkNmQyZWZiMDk1MGRjMzc3NzlhYzM3NmE5ZGQzNDMxYTc3MTcgbGVnYWN5LXRydW5rCis3NDI2NiA0ZDQ0ZjJhMzhlNTFlZjIwODIxNDg3ZmY4MTc5NzE0NTZmYzdkOWRjIHJlbGVhc2UyNi1tYWludAorNzQyNjcgMDUzNTc0MWI1N2JiMjBiNmQ2NDc1YjNkZGQ1Y2UyOGZmYTM4OGRkYiBweTNrCis3NDI2OCA2NTA1MGU4MjZhOTZkYjU2MDVlZDdkYjMyYjM0MDYwN2IxOGMyZjVlIHJlbGVhc2UzMS1tYWludAorNzQyNjkgMTZmYTU3MDYyOWUzZjQ0Y2NjYjc5MGQyZjA3M2NiZGNjNGVhNDk4YSBsZWdhY3ktdHJ1bmsKKzc0MjcwIDE5NjExYTI5YzhkZTdlODExMjEwMjc0NGMxNGYzN2JkYjFjYTYzMmQgcmVsZWFzZTI2LW1haW50Cis3NDI3MSA1NWUwMmZhN2ExMWMwZWE5OWEwNGRkNjAzYTM3NDYxNTY3MjFkZWRiIHB5M2sKKzc0MjcyIDA0MTIxNjE1OTU1YTI4YzA1MzZkZThjZDQ3MGIyZTdlZDdlOTQxYmUgcmVsZWFzZTMxLW1haW50Cis3NDI3MyAyYzdlMDc2YjRjYTlkODI4ZTNhMzE1N2U1YWZjYzVmYTNkMTY0YzQ5IHJlbGVhc2UyNi1tYWludAorNzQyNzcgM2FmM2ZiMTY4NjM4M2FmMWVhZjE0YjRmMTYwMWYwOTZkZTY4YTE2MCBsZWdhY3ktdHJ1bmsKKzc0Mjc4IDgzYjQ2YTU5ODhiMGViNTEwZGU0MjM4ODk3ZDQ5OGU3NzFlMTY4MTMgcHkzaworNzQyNzkgNzQ2YTgxOGJkZDM1MmI2YTk0ODU5MzMyNTc1YTEwZTJiNDE2YjRhMSBweTNrCis3NDI4MCA4ODI1NWNiNDUzNGRhZDVlNGU2NWJlMjk4OTgwOGRlMDQwMTlmNDcyIHJlbGVhc2UzMS1tYWludAorNzQyODEgN2MyM2YwYmNjYTg1Y2VjNTgzMDE2MTQyOWZkZmJjNWEzNWJhZDNjNSBsZWdhY3ktdHJ1bmsKKzc0MjgyIDhiNDhiMjgyZWJhOTM5NjBjMDRjYmM0YTVlZGY2MDI0ZWExZTc5YTYgcmVsZWFzZTI2LW1haW50Cis3NDI4MyA0YWUwNGUwZjY4NTAzOGU0ZDY5ZGQ5NmMyZjYxOTczODkxYWUzMWZjIHB5M2sKKzc0Mjg0IDc5Nzg5ZTg5ZmY3ODQ4NWEzZmQ3YzVmOGE2MGFjNjYzZmExOWRlZjggcmVsZWFzZTMxLW1haW50Cis3NDI4NSBkMjUzNzMyNjY3Mjk3NjM3NjhjMjUyZGE5OTE3YzNhZjJkOTA1NjM3IGxlZ2FjeS10cnVuaworNzQyODYgZjQyZTA3YWIzMjZlYzVhZDg5NjliZjU0N2M5ODc5NTRmN2Y5NWJlNSByZWxlYXNlMjYtbWFpbnQKKzc0Mjg3IDQ2ZjliZTI1MDkxMmY2MTM1ZDBlMDc0OGIwOTk4N2UzMGY2MTMxODEgcHkzaworNzQyODggY2ZiZWZkY2MyNmRiMmY1MmYyOTg3MGQwNmM5YTMwMGYyZGYwYTJjNiByZWxlYXNlMzEtbWFpbnQKKzc0Mjg5IGUxYWM1NGJiMDhlZDI5YzI5MzM1MWVlNTY1ZGUwZmUzZTA5ODQxZDcgcHkzaworNzQyOTAgMDhlY2E2ZThiMGJlZmJiMWM4ZGQzOTAwMzRjNDBmYmRmMjU2M2M0NSByZWxlYXNlMzEtbWFpbnQKKzc0MjkxIDQ2ZTQ2YTBlNjIyZTYwMmYwZTI5NGNlNWY1NmE1NWI0MmJhNGM3YjEgbGVnYWN5LXRydW5rCis3NDI5MiAwMDI5NDZiNTJmYzNlN2U3NjMyNDA2NmQ2NTUwZmRlYjQwNGJkMmYxIHJlbGVhc2UyNi1tYWludAorNzQyOTMgZDk5Y2FkZjBlNWYwYzk2MTQ3MjkxMjAzZjkwZWE0NDdjODZiM2JkNyBweTNrCis3NDI5NCBjZmE3ZTk0M2ZmYzNmZjAxOTRmNDc5ZGUzMGUwYTcxNjE3ZGFkYTYzIHJlbGVhc2UzMS1tYWludAorNzQyOTcgNTAyY2UyOGZlYmFhYjc0Y2QyNjQ1NWE5ZGEyNTVjNmUxYjQ0MjUwMiBweTNrCis3NDI5OCBmYTZmZDFlZDczNzg4M2E5N2MyYjg2ZTVmNGMwYWUzNDY2MWI1YTM5IHJlbGVhc2UzMS1tYWludAorNzQyOTkgZGQ0ZGE3NWViYzk3MTVkYjkzMzkyM2NmNTg3OTRmY2U1ZWZiZWU5MCByZWxlYXNlMjYtbWFpbnQKKzc0MzAwIDI3MWQzODJkY2FiZGZmYzJlZWYyNGMzYjVmYzlmZTVhOTgwYTU1ZDcgbGVnYWN5LXRydW5rCis3NDMwMSA2NThkZTg0MzgxZDdmMzdjNGYyZTdkYTU2ZTFjZDAyYzQzYzdmZDZkIHJlbGVhc2UzMS1tYWludAorNzQzMDIgNTM0NWUzYmM5ZTQxNjJiZmY1ZGQ4YTUyMDg1ZDNjZTExYTQwN2ZhNiBweTNrCis3NDMwMyBhMGUxZDYyN2I3MTgzNTU1MGRiNDIyODUzOWY5NjIwYzAxODJmMGU5IGxlZ2FjeS10cnVuaworNzQzMDQgMzQyNzdkYTM4ZTM4OGI3OWQ4ODQxN2IxYjg5N2MxZjVmYmRkZjU5MSByZWxlYXNlMjYtbWFpbnQKKzc0MzA1IGNkOWZhODFlYTQ4MDEzODk5MTgwYzlkZGFiMWNiNmM4YWFhNGMzMjYgcHkzaworNzQzMDYgODg0OGM0OWVkNWY1Nzc0NzQ4OWE0MGU0M2YzZTAxMjQ3ZTRjMmUyNiByZWxlYXNlMzEtbWFpbnQKKzc0MzA3IDJmYWU4MDk0NTBjZDExZjcxMGE2ZjdhNWUxZGQ5NjJhNWVmMjVkNGEgbGVnYWN5LXRydW5rCis3NDMwOCA2YTA1ZWM0OTNjZTllM2YxOGM2OWVkYzIzMDRjNzM1MjViOTY1YjVhIHJlbGVhc2UyNi1tYWludAorNzQzMDkgZTgwMjViODVhYjE4MjdjNjUwMzRjOWZjZjU4YTRiNzRmYmY2OThlNSBweTNrCis3NDMxMCAzZmYxNzI1ZjgzN2VhZTE2NmUwZDljNDdjMzQyNWEyNmRiZTMzMDU4IHJlbGVhc2UzMS1tYWludAorNzQzMTEgNWRlMTljNTAxMWNhOTM2NzQxMDkzNjY1ODlmNzhiYTc5ZWFkMjQxMCBweTNrCis3NDMxMiA1ZDg3NWZhZGY2M2Y1MzU4YzczYzY5YTljNTNkNmViODkyNjMxMzFkIGxlZ2FjeS10cnVuaworNzQzMTMgYjE3NzUxODdhYTMwZTczNzJlMTgzNzQ2NzljYTQwYjhhOTE2Y2FkMyBweTNrCis3NDMxNCAwODM4NmM3OWUzNGYwZmNkYzI3NDM5Y2JlMzE5ZDBjMzM4YjRjNzg0IHJlbGVhc2UyNi1tYWludAorNzQzMTUgZWIyMjQ0MjE5NDE5OTkyNWVlN2Y2MDZlMzk5NGM4M2RlOThiNTZhMSByZWxlYXNlMzEtbWFpbnQKKzc0MzE2IDlhNDNmYWM4NzYwYzJmOTNmOTcyYzAzNGM0ZTEwZDk0MTg2ZTJkYTMgcHkzaworNzQzMTcgYzhmNGMxMzJkNmRiMDRlOWE0M2U4MTc0Yzk1YzM3N2RlODkxOWY1NyB0a19hbmRfaWRsZV9tYWludGVuYW5jZQorNzQzMTggNjQyNDg1ZGJmZmJhYTEwMzBmM2IxOTk4YmM4YzYwZjdjMDY3MWZiZiB0a19hbmRfaWRsZV9tYWludGVuYW5jZQorNzQzMTkgYmQxYmNjZDhlMzQ0YjlmZGQ0M2NlMTM2NmE1NjJkMDgyNjNiZGE3MyB0a19hbmRfaWRsZV9tYWludGVuYW5jZQorNzQzMjAgYmE4MDJjMGI1MzhhNzk2OTIzNzY2YjNlYWE4OTNhNmRjMTI4ODY0YyB0a19hbmRfaWRsZV9tYWludGVuYW5jZQorNzQzMjEgZmNlYTdiYTRiMDM0ZGNiMjQ0MDgxNGVmYjliOGQwYmY4Y2I4MWJlMyBsZWdhY3ktdHJ1bmsKKzc0MzIyIDc1OTQyYmM3NGY3MTIzMTMzMmZjZTZiNmYyMzJlNTI0NGVmNTcwMDAgdGtfYW5kX2lkbGVfbWFpbnRlbmFuY2UKKzc0MzIzIDBjNGVlNjJkZjBlMTkwYmU2ZTBmMjhlYzE4NTMwYTkxZDkzNzE1OWYgbGVnYWN5LXRydW5rCis3NDMyNCAxOTJlMzQ0NGI4ODhmYTQ1MzFmNGYwODllOTMxYTE4NDNlN2NkOTlhIHRrX2FuZF9pZGxlX21haW50ZW5hbmNlCis3NDMyNSBlNTczM2Q1OGZkYjE1YTc4MDRhYzY5YTRlMTE5YTlhMWU0Mzc1NmE5IHRrX2FuZF9pZGxlX21haW50ZW5hbmNlCis3NDMyNiA1YTEzMGI3NTg1YjFjZTVjNTE1MjUxZDM4NmJlZmU1MDcwMTQ3NWJjIGxlZ2FjeS10cnVuaworNzQzMjcgNjVkMTY4MmRjZDVlMGU1OGIwZGFiMmMxNTFmMzlhNGJhNGQzNDNkNyByZWxlYXNlMjYtbWFpbnQKKzc0MzI4IDFiZTNkNDI3YWNhMjQ0NjZhMGJiMTBhYmNmNTJjNTllZGFjMmVkNDUgbGVnYWN5LXRydW5rCis3NDMyOSAwNmNlOWQ4NDY4YzJmMDY2OWU5ZTZiMGIxODRmODUxYWM2NWRlMzVjIHJlbGVhc2UyNi1tYWludAorNzQzMzAgN2YzZjZiNTVlNDdhMjhjN2ZjZTRkZjE1OWY5ODU2Y2IyMGU0YThhMiBweTNrCis3NDMzMSA5ZmRmMTgyZjE5YTkxM2QxMzkzNThiN2IyYmZjYmYxNzRlOWJiNmRiIHJlbGVhc2UzMS1tYWludAorNzQzMzIgOTNhOTZkNmRmZmI1ZTkzMmRhZTBjNTUwNmIwOWQ4ODcwOTNjNTY0ZiBsZWdhY3ktdHJ1bmsKKzc0MzMzIDdiNjZjZDAyZDYwYmE4MDFhNTA5ODc4YmZkYzI0YjY1N2U0NjE2NGUgbGVnYWN5LXRydW5rCis3NDMzNCAzMTU5NzI2ZDBlNjU5Y2M2ODViY2Y4ZmVhZjkyZGY0ZWIyYjkyOGYzIHB5M2sKKzc0MzM1IDRmMjA0ZWI3NmUwN2EyNmE2NjdmOTMwMmNkNDNmNGJlMDMzMDQwYTUgcHkzaworNzQzMzYgMmY2NDFlMzM3YzlmOTZhOTI5ZDQzYjg1NTk0NDJmZWYxZDRlOGEyMyBsZWdhY3ktdHJ1bmsKKzc0MzM3IDAwZmQ2Mjk3ZWJlN2IwZGY4ZTFhMDhiNmZiOTA4YjY3MmY1MmZjOTAgcmVsZWFzZTI2LW1haW50Cis3NDMzOCBmMTM2MDJhODRkYWFhZmQ2ZjJjMjE4MDY0MDc1OGUzZDUxZTU1NWI0IHB5M2sKKzc0MzM5IDMwODg3OWVjOTAyMzRkZTM1YzVjYmYwMTA4NGEwMDg0OTg1ODUxMDEgcmVsZWFzZTMxLW1haW50Cis3NDM0MCAxOWU3Yzk5NmU2N2FlYmU0ODNmYzQyMTZlNTQ1OThmYTk0YTQ3MjM3IHB5M2sKKzc0MzQxIGVmYTg4MTFiMjUwYTNjNjU5ZjVhYTU2MGQ5M2M0YTU3M2EyZjQ4MjAgcmVsZWFzZTMxLW1haW50Cis3NDM0OCA4NWMwZDhkODNjYmZmYjYyYWI4Mzg2MjUyMDI5YjZlOTkwMzQ1MmY5IHRrX2FuZF9pZGxlX21haW50ZW5hbmNlCis3NDM0OSBiMDAyZTkyYTM2Zjc3NDY4ZjhmNjY4YmUxMGNmMDNlNTRhMDBlZWU4IHRrX2FuZF9pZGxlX21haW50ZW5hbmNlCis3NDM1MCA0MTJhODVjZTU4NDRhZDhkNmU5MDJiN2MwYTIyYjE2MTgwZTZjNTBlIHRrX2FuZF9pZGxlX21haW50ZW5hbmNlCis3NDM1MSA5NGQ4YzM0MWZiNDJmMjI0MGVjOTEyNjBjZWE4NWE4NzNhOThkNDYyIHRrX2FuZF9pZGxlX21haW50ZW5hbmNlCis3NDM1MiBjZDIwYTllZDg0ZTVhM2JmMTBkZmI0NjgyMjEyYzQzMDg3NTM1ZmU3IHRrX2FuZF9pZGxlX21haW50ZW5hbmNlCis3NDM1MyAxMTI4NmI0NTNmY2ZmYjM5NTU3MzQyMTNjYTQxOGE2YjNkOWIwMjE3IHRrX2FuZF9pZGxlX21haW50ZW5hbmNlCis3NDM1NCBlNGE2NzQ0Y2U0YTlkN2FmOTU3MzY2MDcwNTcxODUxMDU4MDYwYjI3IHRrX2FuZF9pZGxlX21haW50ZW5hbmNlCis3NDM1NSBjYTZlOTA0NzBkOTZmZDNhY2MyNmYyNWVkMTg1ZDBhYzEzMzRkMWFhIGxlZ2FjeS10cnVuaworNzQzNTYgMzYxYTAzYWQzYzM3M2JjNWM3NTdmNmZlYzIxZjkyZjFlYTVkMjU1NSBweTNrCis3NDM1NyBiYmVhOTgxNDhlMTI2NjEwNDUxZTEzYjU0NGE2NGJiOTQ0M2Y0M2IzIHB5M2sKKzc0MzU4IDVjOGIyMjM4YTJmNTI0YzhkNzQ0NzE1MTVlMWUyZGIzOGMwMDY3ZDMgcmVsZWFzZTMxLW1haW50Cis3NDM2MCBlNWFlYmQwMzhmMGMyYWQyNWU1ZDZkMTU5MGQ2ZGE4Mzg2MGMzMzJiIHRrX2FuZF9pZGxlX21haW50ZW5hbmNlCis3NDM2MSAyYzY0ZTliZmIxYjY2NjVlNmJlYmY0YWI0MjZmNDE4NDVlMjVjZGQyIHRrX2FuZF9pZGxlX21haW50ZW5hbmNlCis3NDM2MiBiMDEzYjNjOGM5YzdmNWQ5ZWUzMGY1YjdhZDFmYjcyZjE4YWRmNzNiIHRrX2FuZF9pZGxlX21haW50ZW5hbmNlCis3NDM2MyBjMTllNzkwZDk0MmY3OTA5ZDY2YWNiYThlMjk2MDY3YzMyY2UwMDkwIHRrX2FuZF9pZGxlX21haW50ZW5hbmNlCis3NDM2NCAwMDI1ZTA3MmZlOTdhZDc5MmI3ZTVkYzFkNzFjYTZlM2QwYmY3ZDAxIHRrX2FuZF9pZGxlX21haW50ZW5hbmNlCis3NDM2NSAxMjNjOTVmZTA0YjYwODMwNTNkNjE4NmI0YTM1ODliM2U1NGU3MGJhIGxlZ2FjeS10cnVuaworNzQzNjYgZWY1NjUzNWY1MzU2MTgwOGU1MzE4MWU0M2Q3OWM3MDBkZTE5MmZjMiBweTNrCis3NDM2NyA0YTFhYjJkNzAzODU5YTRiOGM5ODA4MjVkNDUxMjIzOTBhNWJkMDkxIHJlbGVhc2UzMS1tYWludAorNzQzNjggOTg0OTg1ZWEyNGM0ZGNlMjk0OTZkNDQ5Mzg4MDE4NWU4NjhhYjU5MiBweTNrCis3NDM2OSA0YTliODU5MTY0OWZiZDZlNDQ0MWVlZGNiMGI2OGMyYjRhYzQ2MTc1IHJlbGVhc2UzMS1tYWludAorNzQzNzAgZTAwYjUwYTNkNDk5ZDVlMWQ0YTA0ZDAzYjBjNTIzOTA4M2RmZmEyZiByZWxlYXNlMzEtbWFpbnQKKzc0MzcxIDdiNDk1YzhmMmEyNDBlYTgwNzUwNGM1OGRjZGUxNzI4ODM0MTgxZTUgcmVsZWFzZTMxLW1haW50Cis3NDM3MiAxYWNkMDI3N2QyMjUzMGU1YzEyYjk5OTI1ZWZkMDlhNGNkN2YyOGI2IHJlbGVhc2UzMS1tYWludAorNzQzNzMgYTQ5MmIyYmM5NTFiNDM0ZTU3NTk5MTg5MzFlOGVjNjc4NzI1ODA4MCByZWxlYXNlMzEtbWFpbnQKKzc0Mzc0IDUwOTVhNTI3NmQ4YzI2NjcwY2IxMGUzNjU3YTg0ZWZlMjAyNGFhMzcgcmVsZWFzZTMxLW1haW50Cis3NDM3NSA1ZmJhYzA5YzBlOTFkYjJmYWI2NDRjOWUwZWI4NTdhYWRiODNmNWMzIHJlbGVhc2UzMS1tYWludAorNzQzNzYgNThjMTBjZjA0NjE2N2UxMDAxYWE1ZThlMDNjZDA4MTk3ZDkzMmViYyByZWxlYXNlMzEtbWFpbnQKKzc0Mzc3IGRhZDBhNTRmNWE1ODNlYjkzZDkzNGEzZDg2M2NlMGZkOWNiNGU0MGYgcmVsZWFzZTMxLW1haW50Cis3NDM3OCA1OWI2Yjg1NTdhMzMyOWYwYzYyMjBiNWZlOWUyZmZjMmJlMzBhZGYxIHJlbGVhc2UzMS1tYWludAorNzQzNzkgMTdlNzE0ODUyODdmNzFmMTZiMGU1MjQ1YTY1MDE5YWVhY2Q0NDVmOSByZWxlYXNlMzEtbWFpbnQKKzc0MzgwIDU0NmFhMTM0ZDc3MzdhMzA3MWVjNGFhYjU2ZmI1MTM5YjI2YjUyM2QgcmVsZWFzZTMxLW1haW50Cis3NDM4MSA3NzBhOTNjN2FiZmY3N2E3NzQwNDczZDhiYjQyZTUwZmViM2JiZDMwIHJlbGVhc2UzMS1tYWludAorNzQzODIgYzRkNmI3N2MzNDY4MTU0ZjZjZjE0NjkwMTU5OGNmMzdmMTczYzI4MiByZWxlYXNlMzEtbWFpbnQKKzc0MzgzIDEwOTQwYmNlZGM5OWU0Nzg1NWYzY2IzZTU5M2U2OTQxZDllYjVhNmEgcmVsZWFzZTMxLW1haW50Cis3NDM4NCAwYmIyMzIwNzhiOGNiODE1ZjA5ODM5MGMxYzExNzQ1OWQ3ODI2NzYxIHJlbGVhc2UzMS1tYWludAorNzQzODUgZDdmM2NkZjJiMDdmNzg5YTFhY2E2N2RiNjUzYmE5Y2NmODU0NmMwMCByZWxlYXNlMzEtbWFpbnQKKzc0Mzg2IDBmN2E2ZWIxODIyMzE3NGQ2NDY2NDNiNTZiOGIxNjY4MjlkOTE5NTIgcmVsZWFzZTMxLW1haW50Cis3NDM4NyA3ZWU3ZmRjZWEwZDcxNmZhOWFiZjNkMTg5NTVjNTFjYTgxNGJlMDE1IHJlbGVhc2UzMS1tYWludAorNzQzODggZWZlODA4YTVmNTllODg5N2I1NTYzOWI4ODVlZGFlODlmOTk4MzNhZSByZWxlYXNlMzEtbWFpbnQKKzc0Mzg5IDc0M2ZhMjgyZDc0ODEzODQ5OTAwNDQ4ZmFmMDZjZTdkM2Y3YTI0NWIgcmVsZWFzZTMxLW1haW50Cis3NDM5MCBjZTY2NDIyMThmZmVjMWE4Y2M2OTE0YzMwM2U2N2Q0NzQ5YTc5NjM1IHJlbGVhc2UzMS1tYWludAorNzQzOTEgMzRlYTU4OGFjM2M1ODgzY2E2MTNmNDYzZmY5NWViZjFmZTg4Y2YxYSByZWxlYXNlMzEtbWFpbnQKKzc0MzkyIDk0YzI4YmE2NTZiZTA3ZDQzZTNhMDZkM2M0MzhlNTAzOGQ1YjZhNzQgcmVsZWFzZTMxLW1haW50Cis3NDM5MyA2ODBhZDhlZWQzM2IyN2Q5MGExNjM0MjJlYzc0MzMwNjU4ZDYyMTM4IHJlbGVhc2UzMS1tYWludAorNzQzOTQgMTJmZWM3M2NiOGU1M2Q5NjA5MWEzYzM0YmRmYjEyMWFmYjQ4ZjE3MSByZWxlYXNlMzEtbWFpbnQKKzc0Mzk1IDZlMmJhMjM3NjgzM2I2YmYxYzg1YmZhNmQ0N2NiYWVkZDQzODQ4MzIgcmVsZWFzZTMxLW1haW50Cis3NDM5NiA3ZTUxNDE3MDQ2YWI4NzEwYjgwMGYyYzFiN2M5ZjMyMDZlZDkzZmY1IHJlbGVhc2UzMS1tYWludAorNzQzOTcgZmY2ZWVhMDE3YTdmNDY0MTg0MmIxZmYyODllNWVlOTMyNjY1NWFjMCByZWxlYXNlMzEtbWFpbnQKKzc0Mzk4IDU0MTRmZjczODllZTk4MWVkNzJlODA0ODMxNjViYjRlMGMzZmQ1Y2MgcHkzaworNzQzOTkgODdmZGYyNzk1YTdjZDQ0MzY4NDNhZTFkZDQwNzMyNjRjMDNhYjI1MSByZWxlYXNlMzEtbWFpbnQKKzc0NDAwIDlkNDA1ODZhNmFmY2RlMDFlZmNmYjZmYTk1NjM0Y2MwMGRhY2NlZjUgcmVsZWFzZTMxLW1haW50Cis3NDQwMSBmNzI0MzE5OWQwYjFjY2IxMmRlYWY2NThkNWRlMWIxNWNmMzc5MjIyIHJlbGVhc2UzMS1tYWludAorNzQ0MDIgNGQzOGU1MWU3Y2RjOWE5Nzk0M2Y2Nzg1M2ZjMjllMTEwZDE5M2I3ZCByZWxlYXNlMzEtbWFpbnQKKzc0NDAzIDAwNTBiNTcxMWZhYTZiN2I4ZWJhZWVlYzdkNzYxZGY1ZDNjYTQ4MmQgcHkzaworNzQ0MDQgZTA1MzIyZWZjYTg1N2E5ZjUxYzBhNGM1ODFlNmEwYzI4ZmRiNjMzOCBsZWdhY3ktdHJ1bmsKKzc0NDA1IGJlMzQ1MzFjNmQwYjc0OWY4NTk5Zjg1ZWQwMzRkZThlY2QwYTMyOTQgcHkzaworNzQ0MDYgNTZlOGMyMmRmNzFmMzE2Njk3NjVkMjJjNDM5MmQwZWRlYzY4ZTY2NiByZWxlYXNlMzEtbWFpbnQKKzc0NDA3IDkxZTQwZWI0MTk1NmEwNDVkMTAyMTI3MWZlNWNmMjRmNTIxN2QxN2YgcmVsZWFzZTMxLW1haW50Cis3NDQwOCBhMjY3YzYwNDQ2NWYzNzRkNjM4OTRiOTU3ODUxOTM2NGI0MjJjNThlIHJlbGVhc2UzMS1tYWludAorNzQ0MDkgMDE0ODQxN2UxMzAxZDg5M2Q4ZDQ1MTNlNTE3MGMyZTMyOTRkOWRiZCByZWxlYXNlMzEtbWFpbnQKKzc0NDEwIGJlMzQzYWY0OTA5OTk1MzU1MjI1MDZlYzNkNDNlNDJmOWJkZTk2MTMgcmVsZWFzZTMxLW1haW50Cis3NDQxMSBhZjExMGE0OGQxNTQ3ZmFhNmU0ZGUyNTBlNWE2ODE5ZGE2ODcwNGJlIGxlZ2FjeS10cnVuaworNzQ0MTIgNzg1ZWMzNDQ3NmJhZmE1ODU2NmU3NzY3NDNlOGE5OWZmMTQ3ODdhYyBweTNrCis3NDQxMyBlM2Q1MTMxOWI5ZDBlYzgzN2NjMTM3NmRjNTcxOTgwZmNkNzRhNjgwIHJlbGVhc2UzMS1tYWludAorNzQ0MTQgMTIyNGFhM2ZiNmEwZDQ2NzY4MWFjYjBhYjdkZDcwZGY3M2NkMjNiNiB0a19hbmRfaWRsZV9tYWludGVuYW5jZQorNzQ0MTUgN2M4ZjQ4MTE2MGMyMmUwNzEyYjVlY2EzMWZlOGYxOTgwZGM1YjU1ZCB0a19hbmRfaWRsZV9tYWludGVuYW5jZQorNzQ0MTcgZjJhMTJmNTI1OWU3ZWRkMjIzYzc1MGUwNWVmNTYxNjJkNmE1MzQ1ZSByZWxlYXNlMzEtbWFpbnQKKzc0NDE4IGY4ZGI0OTNkZDg0ZmI4MzBkOWFjYjQwY2IzNDRhZTYwZmYyOWUzYjkgcmVsZWFzZTMxLW1haW50Cis3NDQyMCBmYWY4YTEwMDk5MGQ2NmNkNTEwMWQ0ODdiYmY5YWU4MDdkMDJlMjNiIHRrX2FuZF9pZGxlX21haW50ZW5hbmNlCis3NDQyMSAzYTM1ZTMzYjA3MWJkNGVkMjc2YTFhMGQ5ZDAwNTYwMmYzYTJiNDFkIHRrX2FuZF9pZGxlX21haW50ZW5hbmNlCis3NDQyMiA5YmM5NTg4ZWI2NGMxOTEwNjgyM2FmYTVmN2YyNjY5YWJjYWM1YjhiIHRrX2FuZF9pZGxlX21haW50ZW5hbmNlCis3NDQyMyAzODFjNmY5Yjc0YWVhZTZjYzNmYTVkZmFhOWI2OGMwOTNjZWU0NWYwIHJlbGVhc2UzMS1tYWludAorNzQ0MjQgNDk2MjkxMDM3NTgyMDk2NjJlYjM5NjM3ODRjMWNjMDQ1NWVmODE4NCB0a19hbmRfaWRsZV9tYWludGVuYW5jZQorNzQ0MjUgZmI1ODU3ZjkwM2ZlOTM3NWFiZGEzM2FjMDU0Nzc5ZDFjYTgzZWU0YyByZWxlYXNlMzEtbWFpbnQKKzc0NDI2IGZiZjhiNzkxY2U4MTFiNDkwM2M0MjBiNTVmODhjZDUwOTQyNjJmODIgbGVnYWN5LXRydW5rCis3NDQyNyAzNWVmYjEwNTRlYzZjZWNhNzIwMTdhNTg3MjYzY2I2YTkyNTczNDBiIHJlbGVhc2UzMS1tYWludAorNzQ0MjggYTFhZDE5MmY4ZGY1NjQzNzM5MGMyYWQ4OGNkMTMyZDk2MGIwNjIwZCByZWxlYXNlMzEtbWFpbnQKKzc0NDI5IDk3NTIyZTI3YjA1ZDBjODIzOGRkNzRmNTU3Zjk0YzM1YTZiMjZjZDUgbGVnYWN5LXRydW5rCis3NDQzMCA5YTZiZWIxYTkzOTc1NzNkZGY5ZDhkOThiZDE2NGFjNWNjMjQ4ODYxIHRrX2FuZF9pZGxlX21haW50ZW5hbmNlCis3NDQzMSBlZWFmZDg3MTY0MTBhNmM0ZGMzYjc5OGEzM2UzZDU3NGEzNjdlMDQ1IHRrX2FuZF9pZGxlX21haW50ZW5hbmNlCis3NDQzMiA2YWMxNDc4ZDliMGU2NjE5OGY5ZmM2Nzk3NTIwYjlhZjk1NTkyZmRiIHJlbGVhc2UyNi1tYWludAorNzQ0MzMgNTE1MmI1MzY2MTJlNDg3OGZkMDBkNTc2N2E1YTcyMWE0Nzc4YzMxNyB0a19hbmRfaWRsZV9tYWludGVuYW5jZQorNzQ0MzQgMDFkYjQxMGYyZjIwN2ZmMDA1ZTU5YTdiOTNkM2JiMTAyMzhkMWE3ZiB0a19hbmRfaWRsZV9tYWludGVuYW5jZQorNzQ0MzUgODk5MjdmNWU4M2Q2Zjc5NDUxMjY5MjU2YTM1YzVkMTljMjk3OGNhOSBweTNrCis3NDQzNiBkNWE2MmRkOTA3ODk4ODc4MDNiOTUwMTcwY2RkMzY3ODQ2ODY1YzJmIHJlbGVhc2UzMS1tYWludAorNzQ0MzcgYTVlNmYzZmYyZTJmNjQ3OTlmOGMwNmMwZGI4ZjE3ZTI3ZmI0OWQwMCB0a19hbmRfaWRsZV9tYWludGVuYW5jZQorNzQ0MzggNDlhNDI4NjY5Nzg4ZDY3OGQ1MjZjNjY3ZjZmZjM5YTY2NjE2YjY2MiB0a19hbmRfaWRsZV9tYWludGVuYW5jZQorNzQ0MzkgNDI3NTlhNmVlOThhYzVkMzZhYzIwNmQxMDhjNTEwMzI5M2QzOGFmNyB0a19hbmRfaWRsZV9tYWludGVuYW5jZQorNzQ0NDAgMWZjODkwMTRiZDgzZGIwOGI1ZTVhOWJlOGQ3MDg1Y2JiMWIwMDFjOSB0a19hbmRfaWRsZV9tYWludGVuYW5jZQorNzQ0NDEgZmUyODY0NWE2MTIyNmY4MDU1MjE4MzdmNTgyNGI4Y2YyZDc0NmU2NyB0a19hbmRfaWRsZV9tYWludGVuYW5jZQorNzQ0NDIgYmViMTJiYjc3OTFiZjc3OTMzYTI3N2YyNzRkZTc0Nzg5M2Q5NmU1OSByZWxlYXNlMjYtbWFpbnQKKzc0NDQzIDFmYjdlMmY3ZjBiYjRlMjRjYmVhOGEzZDYzNzUzMDdiZTk2Njg1YWQgcHkzaworNzQ0NDQgNWVhM2Q0Njc1NjRhNTJhMWU5MTgzYjZlY2RiMjhiNmM1MDJiZDAwNiByZWxlYXNlMzEtbWFpbnQKKzc0NDQ1IDUxZTVhNDE0YjNjMjQ3ZjJmNzVhNTM4MGRhMWZiYzg5MDJhMTVjYzUgbGVnYWN5LXRydW5rCis3NDQ0NiBhMGY4MGRjMDlkZmUyMjg5ZjhjNDUyMTYzZDY3YWYyOGEyZDc5MTdlIGxlZ2FjeS10cnVuaworNzQ0NDcgYzZkMzI3NjZlOTRjODBiNDZhMmM2ODNkNjZmMjY2NGRmN2YxNmM4OSBsZWdhY3ktdHJ1bmsKKzc0NDQ4IGI3YTU3MWQ0YWFhN2UxZjRhNGJiNmY3YTUwNzgyOGRhZmE3OTkzZjEgbGVnYWN5LXRydW5rCis3NDQ0OSBhZTgxN2ZhNGU2MDU2NmVhY2I0Mjg2N2Y5NDJmOWJiY2UyNzEzYTFlIGxlZ2FjeS10cnVuaworNzQ0NTAgZTRhODNlOTE1MjFhMzY5ZGM4ZDgyNzYzYjM1YjQ4ODhjMTM4MDAxNyBweTNrCis3NDQ1MSBkNzI0Y2E4YzU4MjM0N2IzYTEwNDA3ZmQ0NmM1MmVmMmI3ZGRiMzE0IHRrX2FuZF9pZGxlX21haW50ZW5hbmNlCis3NDQ1MiA0MWIwMWJiOTA2ZTM5NjljZGZhYWM2NTIwZWE1OGE0YWVkNGJkZWY4IHRrX2FuZF9pZGxlX21haW50ZW5hbmNlCis3NDQ1MyBkNzE0MGJiYzY0NzNiZTQ5YjdiNjI5ODE2ZTZmOTlhNjc4MjNhNTQ5IHRrX2FuZF9pZGxlX21haW50ZW5hbmNlCis3NDQ1NCBkNDRlM2FhNDJhNWJjNzgxNzI2MzdmYWM2ODU2MGI0NjgzMDg5NWUwIHRrX2FuZF9pZGxlX21haW50ZW5hbmNlCis3NDQ1NSAwMDIwODcxODdiMmZmNjcwZmMwNzEzNjc2MGFiMGQ5MzdhNGQ0ODM0IHRrX2FuZF9pZGxlX21haW50ZW5hbmNlCis3NDQ1NiBmOTFjMWQyODgzNDM0ODk1NjZkYWE3ZDdhZGU1ZDJkMjZjZWU2ODJiIHJlbGVhc2UyNi1tYWludAorNzQ0NTcgMTEzYzBiODZmZDc0OWE3ZmNiZjg2YWM5OWM2MDYxOGM2NGZlOWY0ZSBsZWdhY3ktdHJ1bmsKKzc0NDU4IGJjMWM0MDMwNTRlMWM3N2ZhNzIwZWE3ODk2Y2Q5N2EzNzg0NTcyZjkgcmVsZWFzZTI2LW1haW50Cis3NDQ1OSAzMDk2M2NmYjY5ZmQ4MjBiYjgwZDZkM2U1ZjhiNDQ0ZDI3ODUyZWU5IHB5M2sKKzc0NDYwIDRjNTFjNGJmZmIyMWE3MGY5MWU3ZjkxMGUzMTlkYjBiNzM2OGFmYTAgcmVsZWFzZTMxLW1haW50Cis3NDQ2MSA2NDNjNmM3Njg0YjE2NWM4ZjI2ODk4YTBiMjI0MTFkYTM4ZGMxMzI2IHB5M2sKKzc0NDYyIDIyNzdlYmNlZGE0M2E2YzE4NWEzZWRhOTgxMDE3ZmI4ZmU3MDU0NDkgcmVsZWFzZTI2LW1haW50Cis3NDQ2MyAxMzc3YThjMjY3OTIyNTc2NDExZTNlYjllYTMzZDk2OTNkNDk1MTFlIGxlZ2FjeS10cnVuaworNzQ0NjQgMWUyODc3MDI2NDM1ZWJkYjNhZWMyZGNiYWZjZmQ5YzdmNmVmMDI0MyBsZWdhY3ktdHJ1bmsKKzc0NDY1IDAwNTMwMjg3YmRiNTExMzFlOTU2NmU2ZTYwZDlkZWFjYTJiNWJkNzggbGVnYWN5LXRydW5rCis3NDQ2NiAzODQzMzRkOGI5ODc1YmU2MjgxMjkwYzk0YjI1ZmQzYjAxOWUxMGYyIHB5M2sKKzc0NDY3IDBmY2Y0MGExNDBlNWVkYmMwOTc2NTU2ZDMyMGI4NGY2YzU5NzI2YmMgbGVnYWN5LXRydW5rCis3NDQ2OCAxOWZjMGQwNWZhN2E0OWJkNWQzZGVlOTg3YzQwZmMyYWRhN2FlMmRmIHB5M2sKKzc0NDY5IGZiN2Q1ZWU5MDhhNTAyYTk2NTBiYmZkN2U0ZWZjZWRkOTMxNmQzMzYgcHkzaworNzQ0NzAgNmFjMmE2NGU4MjZiZTQ1NDQ4NjJmMjM5MWJmMzE5NGRlYzZlZTBhMCByZWxlYXNlMzEtbWFpbnQKKzc0NDcxIDEyMjdlN2NjMWQ5YjE4Y2RlODgyMmI0MjU1ZmUyNTc4MWZjNDVhMDggbGVnYWN5LXRydW5rCis3NDQ3MiBjNjMwYmYwNWNlMzhkZmUyZTcyMDkwNTY0YTRiNjUzMzQ0MjhjNjljIGxlZ2FjeS10cnVuaworNzQ0NzMgYmVjMzQwNWUwNzNmMzQyZjk4ODEyYmYwNzYzZDgwNTE3ZTdkZmNhNSBweTNrCis3NDQ3NCA2YWZhNWJiZGMzNzU0YjY0NjVmODQ4MjdlOGYzOWY0ZDAxOGI1Y2Q0IHB5M2sKKzc0NDc1IGQ3ZTFkMzk3OGRkNjAwNTNiZThmMDc1MzI1MDY5NTBiZmVmMjlkOWUgbGVnYWN5LXRydW5rCis3NDQ3NiBlNTIwMDllMjIwMTdkNTFhNDBjZGU4ZWI4MDE4NTYwN2MzN2E3ODM4IHB5M2sKKzc0NDc3IDZkYTZlZGZhNjI5NmMyYmQwYTlmY2UyMzc1ZjIwNDRhYmY1ZWNiZjkgbGVnYWN5LXRydW5rCis3NDQ3OCA0OTVlZWZmM2I5ZmYwZGJiZjljNGY0MDljMThhNTM5Y2MzZjE4N2Y5IHB5M2sKKzc0NDc5IDc0NmYxMGUwNjI0ZTlmM2U0NzkyOTg5MWViZDg2NTljNDgzNDg1M2UgbGVnYWN5LXRydW5rCis3NDQ4MCA4YjljMGY1NzNhYjI5YzQxYzZjNWZkY2NhODJhMWZlMGZmNTM1NWFmIHJlbGVhc2UzMS1tYWludAorNzQ0ODEgNWVmNmJjMDA1MjBhYjAxOGQ4N2FhOTdiM2U3MDM3MDEzNDJiZjgxOSByZWxlYXNlMzEtbWFpbnQKKzc0NDgyIGRhMjFiNDgwZmYwNTIzNTU2YmM3OGU5OWVmNzkyMTMxZGU1NzUxNjEgcHkzaworNzQ0ODMgZGVmZmU2YWE0M2QxMTRlOGJmNWVlMTM5MGY4ZDhlOTIxZDM0YzgyMiB0a19hbmRfaWRsZV9tYWludGVuYW5jZQorNzQ0ODQgMzRjNmY2ZDI2OTc2ZDNhNjlmZTQ2ZmJhOWNlMWU3NGQzNDA0NWNkMyB0a19hbmRfaWRsZV9tYWludGVuYW5jZQorNzQ0ODUgNDI4NjMyYTU5MGFkYWNlM2I4N2E0NzBhZWI1ZTMzNjFiODZjZWE2YiB0a19hbmRfaWRsZV9tYWludGVuYW5jZQorNzQ0ODYgNzg3NWRlYWM0MTBjOWMzYmY0MDQxZGU3ZDlkZmNiYWY4N2VkMDRhNiB0a19hbmRfaWRsZV9tYWludGVuYW5jZQorNzQ0ODcgZjZlMTdhZWI5MmFiYzg4ZTBkNTRiY2UzOGQxNmM4NjUwYjlkOTMwNSB0a19hbmRfaWRsZV9tYWludGVuYW5jZQorNzQ0ODggNDJiMjU2Nzk0ZTZjNTEyMTliZmZkZjFmMTA0YjIwZGRhZGJjZTU5ZCBsZWdhY3ktdHJ1bmsKKzc0NDg5IDRkMDg4MThiNmM0YTFkODg3M2IwZDgzYWQ2YmNiM2YyNGExNTFlNTkgcHkzaworNzQ0OTAgMjE3YmNiODYwM2FhZDE1YzkzNzU0OGY1Zjc4ZDQxY2I2MTVlMjcxYiBsZWdhY3ktdHJ1bmsKKzc0NDkxIDBiMDdjMDNhNWYzYzM2ODQ0MDE1MDc1MDQxZjBhMGI0ZDEwYTFhZGMgdGtfYW5kX2lkbGVfbWFpbnRlbmFuY2UKKzc0NDkyIDRlYWMxMzJmYWM5NGI4NGYyYmI0MTMzN2FiYTJmYjliZWY0N2I0ZTUgbGVnYWN5LXRydW5rCis3NDQ5MyAzODRmOTY1ZTEyY2RmMWQ4ODlhYWYwZTk4MjQyMDdiNTA5YTMzOGE4IGxlZ2FjeS10cnVuaworNzQ0OTQgNmIwODhkY2YyNWY4Yzg5YmFhODhkOTAxNmI4ZGU4ZWZkNTE5NTQzOSBweTNrCis3NDQ5NSAyYWFmN2QxNDFiZDBmZWQ5NmY5YTI3YmQ5Nzg0YjY5ODcwODY0NjMxIGxlZ2FjeS10cnVuaworNzQ0OTYgMjgyMWU1ZTc2ZTgyOTFjMjc4ZmE4ZDlkMDVmOWNkNmRlMThmYWU5MCBweTNrCis3NDQ5NyBiNTYzYWIwMTcxZDkyMzhiMWRjOGU1YmQ5NTM4YWEwMzI1YmNjOTJlIHJlbGVhc2UyNi1tYWludAorNzQ0OTggZTNhMGQ0YjBkN2FhMDIwOTJjMzdjMjk0NDM3NTRlZGI5OTlhNzVlNyByZWxlYXNlMjYtbWFpbnQKKzc0NDk5IGM4N2FhY2NjNzBiNjE4MDAwMjdmMjlmYWVmM2FiOGI5MDU0MzM5MDIgcmVsZWFzZTMxLW1haW50Cis3NDUwMCBkNDI4YmMxODRlMWZiZGMwOWFjODQ4YWMwMjc5YzBmZDc3NDJlMDE0IHJlbGVhc2UzMS1tYWludAorNzQ1MDEgZWIxMDA5OTM2NmVhNTIyNjA0MGE2NDBhZDlhNGFlY2JhYjRlZTIyNiBsZWdhY3ktdHJ1bmsKKzc0NTAyIDI0Yzk1M2YzZjhkYWYyYzk1OTQ3YmI4MDM3ZGJiYjA0NGFjMzBjMjMgcmVsZWFzZTI2LW1haW50Cis3NDUwMyBhZTJmNzVhYTNmYWE5NDQ0MWFmOTJhNjhmOWMzNjJjNmFkYzA2Y2Q4IGxlZ2FjeS10cnVuaworNzQ1MDQgOTUxNjYzYzAzMGI0OGM4Y2FiZTI3NWNiZmYwOTE5YjYzNThhMTgzMSBweTNrCis3NDUwNSAzYmYwM2FkNGE2YTA2Zjg1ZjQ2Njc1MjM5NmQ3MGZkYzZhMWFlZTlhIHJlbGVhc2UyNi1tYWludAorNzQ1MDYgZDg3NDA2NDZhMDMxY2NjZGFjNmIzNGRjMzc5MDMzNjJmODIwNzIyNiByZWxlYXNlMzEtbWFpbnQKKzc0NTA3IDczZjQzMmNkODJkZThjNzBlOGU5NzgzNjQzYTM4NzM0MmExY2Q3ZDYgbGVnYWN5LXRydW5rCis3NDUwOCBhZDkzMDA2N2MxMjRmYmNjY2M5MmY0M2M0NTVhYzEzY2ZlOGFiNzYwIGxlZ2FjeS10cnVuaworNzQ1MDkgMzdmMmYzNjdhZDhiYmM1NzVjNTU2NjcwZmIyNzFkMzI4ZTQzNGU4MCBsZWdhY3ktdHJ1bmsKKzc0NTEwIGNkMTgxYTZmNGRkNzM3NTExYTI4MDgxOTZkY2FjZjRhZTQzNjFiMDkgbGVnYWN5LXRydW5rCis3NDUxMSBmODAxMmZkZGE2ZDNkZTBlNTExMzI5OWNkOWFmZGRmMjRkZWNjZDY5IGxlZ2FjeS10cnVuaworNzQ1MTIgZjc0NjZhYzFkZDcyNWY3Zjg1YjNmYjQ4M2JlM2MxMTBhMTk0Mzc2YiBweTNrCis3NDUxMyAyY2ZiZGU4Y2JmODg2MTg3MzUwNzFhNTQ3ZWQ2YmZjNWJkMDRjZTFlIGxlZ2FjeS10cnVuaworNzQ1MTQgMDMxZTQzMTY0Yjc2OGQxOWU3NTY4NGY0ZTI4Y2U5YmM5Y2IzNThmYSByZWxlYXNlMjYtbWFpbnQKKzc0NTE1IGUwMWExOTkwNzE3MTExODc1YzQ2MzE5MDM2MDc3OTAzMzE4ZmJkNDggcmVsZWFzZTMwLW1haW50Cis3NDUxNiBmNWU3MDExZmJmZjEyMDVmOWI0NWViODc1NTY4NzE3MTNlODFlNjUwIHJlbGVhc2UzMS1tYWludAorNzQ1MTcgNjUwZGYwZWMwYzEyZjZmMThiNWEyMGI5ZjNhOWI5NmIxYzk4NzQ5ZSBsZWdhY3ktdHJ1bmsKKzc0NTE4IDNhYmJkNzIwOWJlODUwMDVkYmMzY2VhNDcyMTI1Y2U4MDRkNWVlOWUgcHkzaworNzQ1MTkgY2QwYzhhYzljYjQ5NDMxN2Y2MjBiYzE3ZWM2YTRlOWQzZmYwZDZjOSBsZWdhY3ktdHJ1bmsKKzc0NTIxIGZlZmQ5ZWI3YTgyMmRjZmUyOGJjNjE2NWRiYjlhMGE4ZWVmNDhlYmUgcHkzaworNzQ1MjIgYzdjZDI3ZjY2NWQxZGRjNzcyZGMwZDQzYjE4YWNlYjhmMGExODQxNyBsZWdhY3ktdHJ1bmsKKzc0NTIzIGU0NzFkNmQzMjcyNGFhNmUyMzA1MWZmOTU2MTYzMGNiMjhjYTRhYTQgbGVnYWN5LXRydW5rCis3NDUyNCBlMjFjNGM1MjdlNjYxZWExYTk0YjAzMGVlODNiMmYwNTZjNzA5NWRlIGxlZ2FjeS10cnVuaworNzQ1MjYgOTc0NTUzZmI1OWRjYjMzY2I1MjgwZjY0ZmM4YWY2MjIwZjU2OTI5OCBsZWdhY3ktdHJ1bmsKKzc0NTI3IDAyZDQwODlmMzFkZGNjYzc3ZTFiOWUyNTA0MGJlNDQ4MmJiNmRhODAgcmVsZWFzZTI2LW1haW50Cis3NDUyOCAzOGI5N2MzZTk4YmRhYTU2YWE4N2JkNTBkMTc1ZWNjOGY0NTEyNjA1IHB5M2sKKzc0NTI5IDg2ZWY3NGM0YWQ5NzdiMzMwNTIyNjczZmJiM2E4OTRiNWU0MTQ2ZGYgcHkzaworNzQ1MzAgMGU1NWZjY2IxOWVjNTVkMzAzZGY0MmRmNGY0NmZiYjAxYWI4NjMzNiByZWxlYXNlMzEtbWFpbnQKKzc0NTMxIDQ4NzFmODFkNzEzMjAwNGMzZjhkMzM4YTFjYTBiZTNkMGM4NTgxNTYgbGVnYWN5LXRydW5rCis3NDUzMiA1OTRlMTk3ZWQ2M2Q1MmVmYzk5YWQ2N2NjYmM4YThkZTZjNGU3YjhkIHB5M2sKKzc0NTMzIGYzNDA4NzYwZDQ2ZTVjNWFhNjkyZThjZmQ5M2VhMGY5NDYzNzNjMWQgbGVnYWN5LXRydW5rCis3NDUzNCBiYzE2NzA5MmM5OGNiOGVjMTE1OTg4ZWMwYWFiN2IwOGIxMmYzZjZjIHJlbGVhc2UyNi1tYWludAorNzQ1MzUgMTNmMTlmYjkzZjhlY2Q3YWJjZTIyNjBjMDFmYTU2NTM3YmQyODMwZCBweTNrCis3NDUzNiBhODg5NDFlMmJmMjczZDI5Y2Y4NDRhMGQyOTYyY2RhYmYxZjliOGM2IHJlbGVhc2UzMS1tYWludAorNzQ1MzcgMTU0NWNmNzM3MmFmOTY4MTc1MzkyMGQxYWM1MmRmZTc4Zjc5ZmRmYyBsZWdhY3ktdHJ1bmsKKzc0NTM4IDVkN2Y2MGJmZmU4ZmM1YzY0N2IwNGVlNTRlYmRjZmVkNGFkMzkwMmIgcmVsZWFzZTI2LW1haW50Cis3NDUzOSBjNGQ1ODFlNzA5Y2E1NGFmMzUxMjZiYTBhM2U3ZWExMWQ5MzM0ZDc5IHJlbGVhc2UyNi1tYWludAorNzQ1NDAgY2ZhN2FlNzE3YTkwYjZjOWYxZjVlYWE5YjJiNTY3Y2UzNWMzNjc1ZSB0a19hbmRfaWRsZV9tYWludGVuYW5jZQorNzQ1NDEgYzQwM2I2NmQ5MmIwZmEyM2JhOTI5MzljNjQxOTlhNzcyNGNiYjgyMiB0a19hbmRfaWRsZV9tYWludGVuYW5jZQorNzQ1NDIgOWEwOTY5YjZmOGU1ZTYzMjZkMmI1ZGQzNDNjYjY1ZDVkYzZkMjczYSBsZWdhY3ktdHJ1bmsKKzc0NTQzIGM0ZDhjYmFmZDhjODkwNjFmYjkyNGNmOGNhYzc5OWUxYTUwN2RiZTYgbGVnYWN5LXRydW5rCis3NDU0NCA2NzVhM2MxODI0ZjQwNTkxMDhhMTA0ZTk1ZmZjNjAxZTJkMTZkNmNkIGxlZ2FjeS10cnVuaworNzQ1NDUgMDkxODMxMmEyZDdiOWFiMTgyYTFiNDQ1Yjk5NTNlOGM0OTMwNTJiOCBsZWdhY3ktdHJ1bmsKKzc0NTQ2IGZmY2ZjOTkwZTRjYTE5Y2E3ODdkNGU0NjQ0MmFiNmRjNTNiYzZmOWMgbGVnYWN5LXRydW5rCis3NDU0NyA5MmUzODU4Y2NhNzBhZTZjYTRhNjU3YTA0MmVhY2M1YTRlNjViNGQyIGxlZ2FjeS10cnVuaworNzQ1NDggZWM4ZDI1ZTA1MDBhODhjNzgyZDZlMDA0YTIwZmY2MWQwNWE4ZDVhMCBsZWdhY3ktdHJ1bmsKKzc0NTQ5IGRiODZkM2NjMWU2YjkxNWYyOGQ3YTE1MTkwNjE2MmI0OWQ5MWYwYzMgbGVnYWN5LXRydW5rCis3NDU1MCBiNjAxMzRlZTVlYjQ1YzNmYmU2NTEyM2E0MmEyZDZlMGYzZWQwMjAwIGxlZ2FjeS10cnVuaworNzQ1NTEgZjc1ZjI3OWJjZDM0MDQ5ZDQyYzUxMTQzMjI1MWFkOTM0NDg1MTgwYyBweTNrCis3NDU1MiBkOTFhZmYyMDZkZmRlMDMwYmU5NmE1Y2FkNzQ3NWZkMTVkMDU5MjFkIHJlbGVhc2UzMS1tYWludAorNzQ1NTMgZDAzZTUyOGVmOTQ2YWE3YzRlOTM0N2EyZmEzNmNkMDljYjFjMWM0NSBsZWdhY3ktdHJ1bmsKKzc0NTU0IDQ4ZGY0MDdiNjA2ODI3NzA1ZGIyYzg2ZTE3MGEwNzIwMTRiNjlmNjIgbGVnYWN5LXRydW5rCis3NDU1NSAxNGM1ZmFiM2VjYmY0NjZjNGU2NGMxZDhlOTZjMzAzZjJkOTBlMjA1IGxlZ2FjeS10cnVuaworNzQ1NTYgODAwNThkZmU0NjlkOWM3N2ViYjJhMDNhYTU1ZTVkMGQxNjdjMmI0MiBsZWdhY3ktdHJ1bmsKKzc0NTU4IGFlMDBhM2E4MDQ3MzkzMzg4Njk1MjFjY2IxNGU5Yzk0YTBkN2Q5OGMgbGVnYWN5LXRydW5rCis3NDU1OSAwZDliNTU2YTQzNzgwNjliODI0YzRmZDg0YTQ1YjAxZDczMzZlYjI0IHB5M2sKKzc0NTYwIDczNTMyMmFhNzFkMWFlNmUyNTFhMDlhY2JjNjE5MjEzOGIwYWI2ZDYgcHkzaworNzQ1NjEgYjY1ZWJlZDA2ZWIwNDU5ZGExNzRkNTcyZjMxMGQ3NGJhZWFkYTcxMSBweTNrCis3NDU2MiBiODlmNTgyZWU3OGE4YjgwYTQ1NjVkNTJmMjNlZmExNjdjOTkxYmFmIHB5M2sKKzc0NTYzIGUyMTMwM2NhYzEyMDVjNDU5M2QyNjllODIwNTI5OTVmZjdkZDQ4YjAgcHkzaworNzQ1NjQgZjI5YjU5YTQ5MjQ2MWUzMWUxYzczNDAyZjY4NTE0MzEyMzIxYWEzMCBsZWdhY3ktdHJ1bmsKKzc0NTY1IDFmMWI0YzAzZTg5MmFhMDQ1ODhkYjVhYjkwNWYzYjkyYjY3NTI0NmUgcmVsZWFzZTI2LW1haW50Cis3NDU2NiBkMjEwNzdlNjM5ZmRkMWJkNGVhZjA1YmEwM2E1Mzk5YTcxOGNjYmEyIHB5M2sKKzc0NTY3IDA5NGE2ZjE1ODY0MTc0MjAxYWFhNzM3ODQ0YzE5YmI4ZmFmMjk3ZDIgcmVsZWFzZTMxLW1haW50Cis3NDU2OSBiNmJmMmE1ZjQ5ZGRkZDBiNzdlZjlkM2QwMzEwMjZkMjNjZmU3YTVhIGxlZ2FjeS10cnVuaworNzQ1NzAgMDI5NTBkNTgwODA4YmExZWVjNTU2ZTUwMzQxMDI2OWQ0ZDA5MzFlNCBsZWdhY3ktdHJ1bmsKKzc0NTcxIDVmOWUxMzA2NmQzNjY3NGEyMzYyNjI4NjE4YjMwMTMwNzcyOTYxZGYgbGVnYWN5LXRydW5rCis3NDU3MiAzM2NlNGM1YmMyZTU2MGNjYmE0NDZlMmY1YTFhZTg0YWYyNTczMTIxIHJlbGVhc2UyNi1tYWludAorNzQ1NzMgOWE3OGUzZDkwNjE3MWM3MjE4YTFhMTZkZjk3MmEzMDUzNmI4M2ZiMyBweTNrCis3NDU3NCA0NzRhOGUwNmU5NjYxYTAyYTUyZDliNzgwNDg0NGM3MTBkYzBlMzQ3IHJlbGVhc2UzMS1tYWludAorNzQ1NzUgNjA2ZTk3Y2FlYjc3MzZmNWJhYWVkY2Y1ZGYxZmFjZTEyNzMyZDk4NSBsZWdhY3ktdHJ1bmsKKzc0NTc2IGJmYjIzMzc0NTFlOWFjNWJlZDFkNzZiYjY3OGY5NjM2MTFhNTI5NDUgcmVsZWFzZTI2LW1haW50Cis3NDU3NyA2ZGVjYTczYmQ1MTJkZmNjMzhjMTQ1YjQ2MWE2MzljZGIzYTkzMTZlIHB5M2sKKzc0NTc4IDA0OGE5MTM4MWJkODBhZTFjMGM5YTFkZmZkMTMyMzk5MWNlNzIzMmYgbGVnYWN5LXRydW5rCis3NDU3OSA3ZGUyMDdkZDQ3Mzk5MjY0OTE0NjI1Nzc0NjgxMWIxN2M3MjI3ZjgxIHJlbGVhc2UyNi1tYWludAorNzQ1ODAgYTRlYmFiODQ1ZjcyNDFlZjQyM2M3NDM0NTI2NDU1NzIxYTA5YTVlOCBweTNrCis3NDU4MSBkNDAzN2ZiODU2ZDIxMDhhYWU4OWY5ZjQwMmY4NjFlNDNkY2E4ZmVkIGxlZ2FjeS10cnVuaworNzQ1ODIgMWI5MTI3ODcxNzIzMjA1ODk1MGE3ZmFhYTFiMTg2NzA0MTBkNzhmOCBweTNrCis3NDU4MyBlOWJhYTJkZThiYjRlY2RiYjAwNTVjM2U1MDNkOWQxYjhiZTIxN2ZlIHJlbGVhc2UzMS1tYWludAorNzQ1ODQgZTRjMmNiZDNiZjkzODMzY2YwN2NiZTExOWVjMjI2ZDNkZjZkNzQ5MyBweTNrCis3NDU4NSA2OGM5MmVkOGQ5NjA0ZDMwYTUzMjA3MWNhZjE3OGYyZjg2ZGUzN2M5IHB5M2sKKzc0NTg2IGQ4MjgwMzY0YzU4MTRmODQxNWU1YTM0YTVkYWM3YmI3MGUwZTczOGUgcmVsZWFzZTMxLW1haW50Cis3NDU4NyAxZjc3MmY4ZmVjOTIyYmY1NDdjNmI5ZGY1ZjllMzY0OWQzMDkwNzU2IHB5M2sKKzc0NTg4IDZmYThhODExOGRmMGMzZmRiY2RkN2Y0YjZiMWMwMjAwOTE5ZTU5N2YgbGVnYWN5LXRydW5rCis3NDU4OSBhZWRjNGVjMmZlMjQwMDc3NzcxYjExYTFmY2E3YTMyMGNjYmNmZmIwIHB5M2sKKzc0NTkwIGI0ZmM4Y2JmZTFlZTkxZjBjNGVmODg1NzI2YjdhMWI4NjQ5OTBkYWUgbGVnYWN5LXRydW5rCis3NDU5MSAwODA5MGI1ZTk2YzJmY2U3NzIwZTc2M2RlNjI0MzhhNWFiYjFlMWQ2IHB5M2sKKzc0NTkyIDY5NjE2ZTIyODcyOGUzZDljYTVlYTcyODY3Y2I1NzMxZWZmNmNmMzggcHkzaworNzQ1OTMgNThlNjMxOTdkNGVhYjMxMThkZmI4OWQzZDUxNjhjYjUwMjc4NDIyOSBweTNrCis3NDU5NCAzNjhiZmMxOGE3YTEzOWFiOTVkNjZhZTJmZDA1YzVmYmE1NTRhZThjIHB5M2sKKzc0NTk1IGJmNTAwZDg4NTc5NjZhYWY1ODdiM2EyYzUzZDY3YmNjYTc4NDZiZTkgcHkzaworNzQ1OTYgNTYwMDA4ZDA5OGRkYzcxOWUyMDMzMWM0ZWQ2M2EyOTQxNDIxYjcyNyBweTNrCis3NDU5NyA4NmZhNDNjNmQ1N2M2NjFmYjhjNDBlYTU2NDlmY2FiNjdjNDM3NzgxIHB5M2sKKzc0NTk4IDgwMWFhNTJiMTIxNzA1OThmNzg4ZmM0ZWMzMDA4MjRmYWI1MTFjYjMgcHkzaworNzQ1OTkgOTlkYzIyZWYxZGYwNDg4MGI4YmZmM2FhNTY5MTQwNTdiN2YzMDY1YiBweTNrCis3NDYwMCAzOWJjYmYzMTZkYmE2N2I3OTAwN2YzZDQyNzFkYTE0N2M2OGYzYTc0IHJlbGVhc2UyNi1tYWludAorNzQ2MDEgOTQyNDlkMTQyNWEzZmRiNjc0Y2ExZGMzZWRjMjU2MzcwZjljMjIyNCBweTNrCis3NDYwMiAwMjcwMDdiNDNmMTY1NjBkZjJiODQzMTFkYTc5M2IwYzc3NDU5YTQ1IHB5M2sKKzc0NjAzIDc4Yjg2ZjhiZjVjNDU5YzE3NWRlYWY4NWZjNGU2M2QzZmZhMmE5MDAgbGVnYWN5LXRydW5rCis3NDYwNCA0M2E2NjY3NjhmNDc0YjU2MWZjNjRiZmFmNzJlYmNlZjMzNjg1OWIwIGxlZ2FjeS10cnVuaworNzQ2MDUgMzVhMTYyM2MxMDIzOTA4OGIwMjZjOTUxNjE5OWEwNGJkMjAyNjMwNSBweTNrCis3NDYwNiBlODE0NTNiYjA3ODkzZjdlNjRhNjQ5NjRmMTg1MjUwM2JmM2EwOWYzIHJlbGVhc2UzMS1tYWludAorNzQ2MDcgMDVhZDllYzYzMDg3NzQ5MzYzOTk2ODhkZmExMjIzZDE2MTg3NWQ2MyByZWxlYXNlMjYtbWFpbnQKKzc0NjA4IGFjZjIxNWJiZTcwMmUwNTU3MGQ0Y2MyY2MzZDQ4NzhkZTNmNzcyMDkgbGVnYWN5LXRydW5rCis3NDYwOSAxMWI0NTUzNWExYjNlNjE5Y2U2ZGI3ZmFhZjI2OThkOWYyM2I4NWQyIHB5M2sKKzc0NjExIDg0OTkyOGQ3NWQ2ZTM5ODhlMWM4NWM5YWI2YjQ2Nzc0OWNlNGRkMzYgcHkzaworNzQ2MTMgMDdjMjM4MDZjY2M2YzJlZGJlMDZjYjQyOTNmN2YxZTk1NTZjODdhZSBweTNrCis3NDYxNCBiYTViMjY4M2MwNjQwYzYwMTMyYjU4OWY0ZTE1MGRkODc0MDlhYzNmIGxlZ2FjeS10cnVuaworNzQ2MTUgZTViNDYzYTYxZWUyNjllYThjZjA5NDM2NDcyMjBkOTM2YTk3NjEwZiBweTNrCis3NDYxNiBlZDdkYmM5MjJkMDVjOWY0NWUxN2Y3MDk3ODc4MzFhNjczODM3Yjc5IGxlZ2FjeS10cnVuaworNzQ2MTcgZTE1N2NlYjU0YTQzOGIxMTY1OThlOTRmZGE0MTRhY2JjZDI4YTQzYiBsZWdhY3ktdHJ1bmsKKzc0NjE4IGI3NGE3YTNlNDFjNTcyZGYzOTgwNzJmNWZmNDllNTgxYzYxMjc4MTEgbGVnYWN5LXRydW5rCis3NDYxOSBkNTEyY2JiODVhZTAwMWQzOTZjOGQ5ZGQ0NjUxYmFjNzY2MzcyOGVjIHB5M2sKKzc0NjIwIDgxOGJhODk4NTI4MTA0MzVlMTY4MzU5MjQxZDIxZmJjZTMzMWUwMjUgcHkzaworNzQ2MjEgNjZmNDhiYzk0ODE0ODc1MWJhYTc4MzU1ZmE3NjIwMDM4ZTJhMTgzOCBsZWdhY3ktdHJ1bmsKKzc0NjIyIGFjNzU1YzU2NjEzNmQ1MTMwNzYxMzJmY2IzMDhhZGU1YTY5OGM1NmIgcHkzaworNzQ2MjMgMDA4ODg0NGQwMTA5YTRmN2I3M2Y3ZTcyOWJhYzk0YjdiZGVmY2NjYSBweTNrCis3NDYyNCBhZmJiMmIyZmY2Zjc4MTBkOTVlYTc0NDhhZGYxMmQ3OGE1OTkxNThhIHJlbGVhc2UzMS1tYWludAorNzQ2MjUgNWQyYjY2ZTAxOTY4YTNmYWFlM2YxYTI0NWI3NDM3ZjIwZmMxOGM3YSBsZWdhY3ktdHJ1bmsKKzc0NjI3IGZkOGE1ODkwMDhhYzIwZTQ1MTg3NWUxNThlOTk4ODczMzU4NDY0ZDUgcHkzaworNzQ2MjggYTQ3YWExMTBmY2FjZjg0YWVkNDRkMjg5ZmYyMjY1YTM3OTk2YzQzNyBweTNrCis3NDYyOSA2YjgyYmEzMDRhN2VkZTg3NmEwYjc3ZWE3ZmVjM2UyMGRhMWIzYWM1IHB5M2sKKzc0NjMwIDEwNmVlNGViNTk3MDVkY2VmZjNmYjRiYzRlMjJlOTVhYmVhYTg5OTIgcHkzaworNzQ2MzEgOWZmYThmODg3NzUwOTQ4N2VlMjU4YTJkY2NkZTJlZjk0YmY0ZDk3YSBsZWdhY3ktdHJ1bmsKKzc0NjMyIGUwY2VmMDIzMzAyMDNlNDZiMjE4MTk2MDVmZDYxYjQ2M2FiZGIwZjIgbGVnYWN5LXRydW5rCis3NDYzMyBiYjkwMDUxYjQzNGMwM2VlNzMzYmZiYmI5NmRmMDhmNjg1YTVhOWVhIGxlZ2FjeS10cnVuaworNzQ2MzQgNjM3MWUyZDBkZWEwMDkxNmY4YWY4NWRhMWQ2NzRlYjgyOWYyMDhjZSBweTNrCis3NDYzNSBkNTVjOWEwNjMyNThhZTc5M2I2NDY3ODM3MWQyNDQ0NWVlMmEzMWRmIGxlZ2FjeS10cnVuaworNzQ2MzYgZWI2NzNhNDAxYjlkNTUwODYxYjUwMmFmNDJhOTFjNjA0NTZmZmI1MiBsZWdhY3ktdHJ1bmsKKzc0NjM3IDk1ZTU3MzhjYjMwOTgxODE4YTViYzgzZmJkZTdjNTQ4YThjMDQ3ZDYgbGVnYWN5LXRydW5rCis3NDYzOCA3NmFlYmM1ZWE0NWNiYWQzNjE1ZGY1ZmQwMGExZmRkNDQzZWFjN2YzIHB5M2sKKzc0NjM5IDNiOWU3NTMxMWU0MzBhMzY2Zjk5YjgwZjdiOWY5YmQyZDk2YmQ0MzggcHkzaworNzQ2NDAgY2U3ZTAwMzg5OTZmNGI0ZjgzOWQ5YzViNDkwODBmNmI5ZDg1NWNiZiBsZWdhY3ktdHJ1bmsKKzc0NjQxIDFmMDNmMjkyMGM2MTcxZTg3NTU4OTE1NWU0YzExYTJhZTliNzlhNGYgcHkzaworNzQ2NDIgNzdhYjkzY2EwNjVlMzY3YWYxZjE0OTE5NWU3Yzk2ODA2OTQxZGE4ZiByZWxlYXNlMzEtbWFpbnQKKzc0NjQzIDdkMzllMjEzYjc1NjM2N2Y4YTFjODJhZDI3NzBjMzcwZjdlNTYzYjMgbGVnYWN5LXRydW5rCis3NDY0NCA2MWRiYzFkMWI4MDRkNjI4NGY2ZmI0MjNlMTFjMjU3ZjAzMTcwZDA1IGxlZ2FjeS10cnVuaworNzQ2NDUgYTA3ZjMwZDdkMGYxY2VmMDg1NTEzYWE0YzIxODYyZDlmMzg3ZDAyMiBweTNrCis3NDY0NiAyNWIxM2Y3ODJmZmU4NDhhMWQzZTAyMTM1OTRmMzk3YzEyMjM3NDk5IHB5M2sKKzc0NjQ3IGM1MTcyMWQ2NDQ1MWE0OTJiMmZiOGNkODk0ZDY1NzFmZmI4YWJkMWEgbGVnYWN5LXRydW5rCis3NDY0OCA2M2I2YTkxYWQ5ZDk3ZGM4ODhlZDkwZGFlNjRmNjUwYTM5NDlkNWQ1IHB5M2sKKzc0NjQ5IDE3ZTgzZjAxNjllODFmZjFkYWUzMDg5YWMxY2VlZWY5YjA5YWRjMzEgcHkzaworNzQ2NTAgNjc1OGJmMjAwMmRhYjdjMTY3YjRhNzc5MmI4YjBkOTkxN2NjMzkwZCBsZWdhY3ktdHJ1bmsKKzc0NjUxIDhhOGUzYzE2NjhhMDk5NzQ0MWUzMWFkYzcxY2M3ZmQzODg3M2Q5ODEgcHkzaworNzQ2NTIgMTUwMWExMzYwY2U0ZTQ4NTc1YmU0N2M0ZjA1ZjdmYWRmZTFiZTAwOCBsZWdhY3ktdHJ1bmsKKzc0NjUzIDIwYmZjMWQzNTk4OWMwNDUwOTc1NjY5ZDZmMThjMzAwZjE5NDZjMTcgbGVnYWN5LXRydW5rCis3NDY1NCBjMjE2NWJlMDAxNzFhNjgzOTQzYjVhNGVhZmZmNTMwN2MxZThhZjY4IHB5M2sKKzc0NjU1IDc3ZGIyNWM3NTI2YTEyOWU0YzJjZTA0OTcwZDllNmFlNmJjNTU4YTggbGVnYWN5LXRydW5rCis3NDY1NiBlODQ0MTg1MDc5MGY4NmRkODEyZjRhMzIwZDc0Y2E2MWRiOWM1YjhkIGxlZ2FjeS10cnVuaworNzQ2NTcgNzU4MzdjZmU5ZmZiZjlhZmFkY2U2OTY1Mzk0MDQzZjZlMzE1MjdlYSByZWxlYXNlMjYtbWFpbnQKKzc0NjU4IGQ1NjdkOTYzY2IzNzA0YThjMzhkNzg5ZjE1MzAzMzY1ZDc3YTAyYTAgcHkzaworNzQ2NTkgMGY2ZGMyZTZmMDkxZTQxMjI3MWQ1OTQwNTJlMjcwNjQyMGVkMzJiNSBweTNrCis3NDY2MCAzYjBiMzcwMTRhYWViMTc5YzcxYjZlN2JjYmZlMWIxMzU2ODZiMzNjIHJlbGVhc2UyNi1tYWludAorNzQ2NjEgNGRkYzA1OThkZjc5ZjYzMDVhNzI1YTMwM2E5OGE0MmU0ZjNjNGQ3OSBweTNrCis3NDY2MiAyNjZkN2RjM2Q2NTUxMDNjYTRhNmI2ZjA0MDc1YmE4YWQ5NDE2ZmUxIHJlbGVhc2UzMS1tYWludAorNzQ2NjMgZmZiYjhmZmYzNTIwZWY4YTBiMWYxMzgxM2U0NTBiMTMyN2NhNzE2MSByZWxlYXNlMzEtbWFpbnQKKzc0NjY0IDZmN2U3MTkyZmViYjBmZDE5YTgxNjIxZTM4ZDRlMDE3YWU4YzhjNGEgcHkzaworNzQ2NjUgNzgzNzA1YjA0MjU4MGUzMTAwNTg4ZGY1ZTNiZWJiMTk2ZDFhM2M2OSByZWxlYXNlMzEtbWFpbnQKKzc0NjY2IGQxOTExNDQ5MjI4NjAwYmE2ZjlkYzM4YjBjMjgyNWFhYTExN2I1MDIgbGVnYWN5LXRydW5rCis3NDY2NyAxZDQzODEyYWFkYjYxODg3MTcwMTIwYzBlYjY4NTljOGY2YzJiNGRlIGxlZ2FjeS10cnVuaworNzQ2NjggM2M3YzliODFlMzYxNDQ0NTFkYWU0NzQyY2Y3YTdiN2Q0YmIxNzM3YyByZWxlYXNlMjYtbWFpbnQKKzc0NjY5IDYyMzE0N2EyYjViMWFiNDM3N2NjMTdjZTNiMTg0ZGNiYzFkMmMwYjcgcHkzaworNzQ2NzAgZGM2MmRkMzMyNmVkMGJlMjNmMjA2NzkwYTY0Y2RjMzIzZjlkNTI5NyByZWxlYXNlMzEtbWFpbnQKKzc0NjcxIDkwNjQ5MGFiNmFmZmI0ZWVkZGMzOWM5NTJkNTMzZjczZjdkODg0ZWUgbGVnYWN5LXRydW5rCis3NDY3MiAzNDQ5NmJlZDkzNjVmNWRkNWJiOTc5OWVjZDA5MDcyZDkzMzU1ZWI1IGxlZ2FjeS10cnVuaworNzQ2NzMgNWQ5NzYxZTQ0NTU1ODdmNWE3MzE4MTFhMjZmODhhOGZkMzdlODFiNiBsZWdhY3ktdHJ1bmsKKzc0Njc0IGQ2MjdiMGZmMWQxN2U1ZWU0Yjg2N2FhNjY3MzRiOTI5OTZlNTM5NjIgcmVsZWFzZTI2LW1haW50Cis3NDY3NSAxOTdjMmFlNTFjYzYxMmE5NTZkM2E0Y2VkN2ZlZDU0NTBjYzIyNzY4IHB5M2sKKzc0Njc2IDFmNGYzNDJiZmUyZTgxZGU3OGE5MzlkMzM0N2Y5ODBlZTQ3OGFiMmMgcmVsZWFzZTMxLW1haW50Cis3NDY3NyAyMGI5YWYxZjAwYzg3NTNjYTg4ZWJiNzJiMDMyYjRjMjhjZTlkYWQxIGxlZ2FjeS10cnVuaworNzQ2NzggOTU5MDBkYmQ1ZGQzM2Y1MjEyNjFhNTVkYTZlYzVjN2RhMTk3MjFiNyByZWxlYXNlMjYtbWFpbnQKKzc0Njc5IGExNTJjY2NhNTM4OTYyZWVlNDgyNTVmNTc3YmJjMmY0OTEzNmFmMTQgcHkzaworNzQ2ODAgNGYwOTg4MGJlYmJiYTZjYjNkMjMxMmEzNzFlOGFjNTE4OGFlOGQxZCByZWxlYXNlMzEtbWFpbnQKKzc0NjgxIDg5OWJiY2JhZjlhNmVhODUxNWM4YmZiMTJhMDFkNjA4OWNkZjk5MzAgcmVsZWFzZTI2LW1haW50Cis3NDY4MiBkYjE1YzdhZjAxNGZhMDg3MjU1NjM2MzlmZmYyYTE4MTRmN2FiMTFlIHB5M2sKKzc0NjgzIDBjNDk0ZTU3ODdkZjZiZDBkMDk3MTUzNWQ2YjJmNGRmY2NlYzVjZDEgcmVsZWFzZTMxLW1haW50Cis3NDY4NCAzNGE3YTkxNTgzNzIzYjU4ZjkzOTIyMzBhZDZmYzE2OTU3NGJlYjQ2IGxlZ2FjeS10cnVuaworNzQ2ODUgN2U3NjlmZGRlNDM5ZmZjODA1ZDQxM2NlY2JhNTllOGJlYmRmMmNlNiByZWxlYXNlMjYtbWFpbnQKKzc0Njg2IDllN2I3ODMyZmQ0NTEyNzhhN2VmYzk3MjI4OGIxZWM1MTIxYWIzMDIgcmVsZWFzZTI2LW1haW50Cis3NDY4NyA5MmYxNmM4Nzg4OWRhMGY0MmRlM2VhYmE2NmZiZjNkMGZlMjFjYzc5IHB5M2sKKzc0Njg4IDY1NzJkMmVmYzhiMjlhYWFmMjgwZDg0Y2QzNWFjMjdkZTQ0MGE2MDQgcmVsZWFzZTMxLW1haW50Cis3NDY4OSBjNjY0NTVhNDE2ZWM3YmZkOTM0MDEwMmM4MTcxZmYxN2ZmYmJlOGZkIGxlZ2FjeS10cnVuaworNzQ2OTAgNTNjNGVmZDE3MGMwNTE3ZjE2MWE1YjA3ODM4NmY3OTMwMzEyNmJlZiByZWxlYXNlMjYtbWFpbnQKKzc0NjkxIDc1MDAwOTZiZjFhMDdlYjA2NGM1ODhkODdjMjRjZmIwZmY1Njk4NDQgcHkzaworNzQ2OTIgODY5MDFjYWU2YjY0ODNmOWEyZDU2ZWEzZWUzNDA2YTc1YjMyNzk0NSByZWxlYXNlMzEtbWFpbnQKKzc0NjkzIGQzMGEzZDU3NzE2NGViY2RhODJhZDJiYWY4NjkzMDUwMDg4YTVmNmQgbGVnYWN5LXRydW5rCis3NDY5NCBhNzBlNzJlZmMyYWQ2OWNkYjk4YTM2ZmRjZTIzMzgwMzcxMDExMzZhIHJlbGVhc2UyNi1tYWludAorNzQ2OTUgNWUxMTA4NTQ1ZTc4NzRhNDljMTc3NDNkZTNkYTQ3NGJkMmM1Zjg4YyB0a19hbmRfaWRsZV9tYWludGVuYW5jZQorNzQ2OTYgZWQyYzVlMDA3NDExZDA5NmQ5MzgzNGExZWFlZGM2MTE2YmIyYWUyNSBweTNrCis3NDY5NyA0ODAzZTc2ZjIwYzU2ZmU5ZTk5YzliNWJiNDI5ODhhZTU1MjcwYmZmIHJlbGVhc2UzMS1tYWludAorNzQ2OTggNzkwYzAxOWY2NDAzODg3MzAzMDkwODJiZmY1NWRjNzczNWQyYWY0OSB0a19hbmRfaWRsZV9tYWludGVuYW5jZQorNzQ2OTkgZGM3MjE3Y2I3M2I3YjNiZjI3MGNmZjNhODBjYzQ0YmZmN2Y3YjdiYSBsZWdhY3ktdHJ1bmsKKzc0NzAxIGY2NDU3MGQwZjcxZDlkYmQ3MDA1MDY0YTM0NjQ0Nzg1NjRlMGM2NWYgbGVnYWN5LXRydW5rCis3NDcwMiAzN2Y1ZDE3ODViYjNmZThjMjczOTY1ZWZiMzAzYzhiNzYyNmJjZmM5IGxlZ2FjeS10cnVuaworNzQ3MDMgMzAwZGEzY2NmOWZjM2Y3MTRmMWQ1OTgxNWFmYjY0MWIxODY0MzI5YSBweTNrCis3NDcwNCAwZjczMzNhY2E0NTUzMjMxMGM2ZjU3ODM0MjMwZDA0M2VkYTJjZWQ3IGxlZ2FjeS10cnVuaworNzQ3MDUgZTg5NWVmODJjMDg2Y2NiODNiZDE2NTQzNGJkY2U0YzkwNjAyNTA4MCByZWxlYXNlMjYtbWFpbnQKKzc0NzA2IDhhOGQ0NjdjODljY2VhMDRiMTdkODI3ZWQ4OGRhMjY4ZDkzOGI0ZjEgcHkzaworNzQ3MDcgMGRkMGIwZGU1ZTMxZjAxYjY0N2M5NzI0MmE5OTI5OWJmM2YyZTE3YSByZWxlYXNlMzEtbWFpbnQKKzc0NzA4IGQ0MTAyNDU5MzkzMWY2OWFhNzY3MzQ4Y2JiNTRlOWFjNWU0NWI3YWMgbGVnYWN5LXRydW5rCis3NDcwOSA1ZjVlYTc0N2UzMWExYWZkOWRlZWI1ZjNkNGE2YmNkYTZjMjRmNmRkIHB5M2sKKzc0NzEwIGNlYjc1ODE5NTM3NzE2YzVhYTdlNTNlYzk3YTQ4ZDA0ZDdlZjNhYzMgcmVsZWFzZTMxLW1haW50Cis3NDcxMSA2NmEyZGUwZDQyOGU2NWRiNGU2NTc4ZDA4NDRmMDE0OWFhNGI4ZThmIHJlbGVhc2UyNi1tYWludAorNzQ3MTIgNmZlOWRmYjEzOWMzMWM3NTQyODBhMTMwMTEwZmM0ZmM2M2MxM2ZkNSByZWxlYXNlMjYtbWFpbnQKKzc0NzEzIDFkMWQyZGI0NTZkODZlMjY3YzA1NDBlMmRkOGY2ZDUyYWEwOGFhMmIgcHkzaworNzQ3MTQgZGU2MjdjZmVlZDE0NjZjN2M5MjFlYjI0YzI2NDdkOTc4Yzk2YTllMyByZWxlYXNlMzEtbWFpbnQKKzc0NzE1IGZkMzRmZmM4ZjgwNDJmM2U3NmI4ZDI5MTgwNDMwOGRmZjUyYjgyN2MgbGVnYWN5LXRydW5rCis3NDcxNyA5MWRjNjMyMjcyMmRmOGIyYWM4Y2MyZDU0ODE1YzkwZjlkOGE3OTllIHJlbGVhc2UyNi1tYWludAorNzQ3MTggZmM5YTAwNzk5Nzk1YzRkMDQzYmFmZGQ4MzAwMzUxMjgxZmIzMGQ0NiByZWxlYXNlMjYtbWFpbnQKKzc0NzE5IGUyZmEwNjA1MDhkYTA1M2M1NzQzZTJkNTE3NzJjMzlmYTU2OTAyMjcgcmVsZWFzZTMxLW1haW50Cis3NDcyMCBkZDZhOWJjMzk5NDYzZjA2MmVkYzgwNzExOWVmMDA0ZGQ0ZGUzNDQxIHJlbGVhc2UzMS1tYWludAorNzQ3MjEgZTA0MDlmMDM4MjJmYjMwZjdkZmE4NTk4MzQ5OTRhMTkyODEwN2RiMCBsZWdhY3ktdHJ1bmsKKzc0NzIzIDQwZmQ4ZmQ5NmQ5NmNkYTFjZTdjODI2NWQwNzU5NmZmMzA4ODY0NjUgbGVnYWN5LXRydW5rCis3NDcyNCAzMmU4NWQ1MGM1MmRiY2I0M2E5NzFiZmRkODdiYTNjZjU5MzU1MzZiIHJlbGVhc2UyNi1tYWludAorNzQ3MjUgMGJjNzU5ZjZkZWQ1YzhmYmVhYTRlOTAwOWExZWIyMTNmZmI4ZDhiNSBweTNrCis3NDcyNiBlMDE3OGI4YWVhZjA3OThmYjZjNDM2NGJhYmY1ZjMzYzM0YjhhYTE2IHJlbGVhc2UzMS1tYWludAorNzQ3MjcgOTMxYWY2NjExYWU5Y2U0NTRlNzFjNWZlMmJmNWFjNmQzMDE1ZTQxMCBsZWdhY3ktdHJ1bmsKKzc0NzI4IDY3ZGU0MmNhMGEyNmE3MDQxYmY0MjZmYWRhNzY2ZDY3MTlmYjlkZjkgbGVnYWN5LXRydW5rCis3NDcyOSA0YjYzOWY1YjdkM2ViZWUwYTBhZWU0MWFjODJkZGY0NWMwZDYwNzRhIHJlbGVhc2UyNi1tYWludAorNzQ3MzAgNmZhOTQ2ZDA3NWY0YWMzNDcwOTg3YmQwMTE4YjI3YmM2YTMwMjgyYyBweTNrCis3NDczMSBkNWZjNTE4OTE5OTdkYWVmOThjMzA1MGFkNjVlNWYzMzUxMmI1ZWQyIHJlbGVhc2UzMS1tYWludAorNzQ3MzIgZTFlZmNhNjFlZTRlZDlmOTM1NjkyMTU2ZGFlMzRkM2JkNTdhZjc0NiByZWxlYXNlMjYtbWFpbnQKKzc0NzMzIDVkZWM4YTEyZTQ1NWFlOThlNzAyYTFkOTEzOWQzNzJmN2ExMzI2NmYgbGVnYWN5LXRydW5rCis3NDczNCA4ZjZjZjM5Yzk2ZGQ2MjM2MDMwMTBkMzg1ZGMzNjM1Njg4NDdkMTM4IGxlZ2FjeS10cnVuaworNzQ3MzUgMDBkNmNiNjI1NjY3ZjM3MTRiNGFkYjc0YWE4YmZlMmI5MTJjMDg1OCByZWxlYXNlMjYtbWFpbnQKKzc0NzM3IGFiN2ZkNGJjMzgyOGY4Y2UwNzY5NTg3MTM5ODJhYWVjOGI2NmQ3ZTUgbGVnYWN5LXRydW5rCis3NDczOCAyNWE2MTdjYTgzZTIzOTI1NDc0MDc0OTQzNjM5MTRiMTY0ZDg0MjBlIHB5M2sKKzc0NzM5IDVkMTUyOTZhMmE0ZTFjNzViZDVlYzdjOWNmZDU0NjhhYzA2YjFlOGMgbGVnYWN5LXRydW5rCis3NDc0MCA4MzVmYzg1NzdkYzc5MGUyZWU0NWVjNTI5OGEzM2YyZThjMTk0ZWIyIHB5M2sKKzc0NzQxIDdmMmE4Nzk0Mzk5YTFlNjBjNDA5ZjM3NDVlNDVjNWJjMmYzYTM5OTQgcHkzaworNzQ3NDIgMGY2ZGIwMDJiM2ExZmVjOTk4OTMyZDA2ZWRhNTc2ZjE0ZTZjN2QyZCByZWxlYXNlMzEtbWFpbnQKKzc0NzQzIDk1ODBiYmJiNTUyZTEzYTAxMTBkMmM4YjZkMWI1MmU1MWRiNjFmYTcgcHkzaworNzQ3NDQgNmFmZmQ2ZGRhMjI5ZDE0NmM4NjIzODcxYWQ0ZjQ5OGNjOTJkNDU2OSBweTNrCis3NDc0NSA3ZTZmNjE0YTZhZDE4YzJjZjJhY2ExYmQ5NWE3NGNhMTY3NzJlNmIzIHB5M2sKKzc0NzQ2IGQ0ZTNhZjM0M2UzMjBhOTI5OTk5ZjEzNmRmZWUzNjk4MTkxYWI5NTkgcHkzaworNzQ3NDcgM2ZiMWMxZmJlMjZjYWVmNGQ0ZDU0NGQ0MjNhYzk2MzM3MDNhYWQ1NCByZWxlYXNlMzEtbWFpbnQKKzc0NzQ4IDYyMjUwMjFiZGMzNmIxODA5YzRhOGU0MmYwNTEzZDM3M2E5MjE3ODcgcHkzaworNzQ3NDkgOTJkYWE5YzQxZDU2MWRkMDFkZGU2NDY2YzAyNWRjZmRhODVkYjhhYSBweTNrCis3NDc1MCBlY2QyMjg1MGQyMDFjYTRiZjI3NzQxMmQ2N2QxMTU5Y2M5MmEwMTE3IGxlZ2FjeS10cnVuaworNzQ3NTEgNTFiYWFkMjhmZTdhMTQxZWQ0ZDgwMTRmYWIxMmEzOTFkOWNjY2QzNSBweTNrCis3NDc1MiA2YmYyNTM5ZDNiYWE0MjFlMTliNjg0MDFlNmRjNjYyYjQ3MGQyZDQyIHJlbGVhc2UyNi1tYWludAorNzQ3NTMgZDlhNjY5MDVmMDNlOTVjMjA4ODJiN2VjNGY4YTIxMTU1NGQ0ZWExMCByZWxlYXNlMzEtbWFpbnQKKzc0NzU0IDM5YmUzZWY4MmQyMzM2ZTMyNzNmMGQ1MmQwNjNjMzBmMWQ3NzU4NDcgbGVnYWN5LXRydW5rCis3NDc1NSA1MTExZDMyOTk3NDE2MGM5ZGMzNWRiNWFkYmEyZGUwNmI0NDE5ODc5IHB5M2sKKzc0NzU2IDNkZjk5MTRlZmM4NGUzOTM4YzI4NGMxYWFhYzhkYzkzNTA4MmFjNTYgcmVsZWFzZTMxLW1haW50Cis3NDc1NyAyYzllYzRlN2Q4YzIxMGI3NzI3NmE1OGE2YThmYjgzNjM0ZjBjMmVhIGxlZ2FjeS10cnVuaworNzQ3NTggZmFkMDI1MTMyNGQ3YWExNDczMDhkZTRmNDgxMzg1ZGMwNWUzM2U0YyByZWxlYXNlMjYtbWFpbnQKKzc0NzU5IGZmZjU5YjBhZGQ5OGE1NjE1NzRlNzY0MGYzMzEwN2Q4MWVmMzMxZGQgcHkzaworNzQ3NjAgMDc4MWFjZmRjOTQ1ZDkxZWJjZDNhMDkyN2Q3Yzg0ODM2MzY0OTU0ZiBweTNrCis3NDc2MSA4YmM0YzhjYWM3ZDcyMmZiYjZkZDFkOTllZTVjMzM5ZTQyMzU0OTc0IHJlbGVhc2UzMS1tYWludAorNzQ3NjIgN2Q5Y2M0YmNkNzc2MGU1NDFmZTRiY2M4NDA5YjkxZmE2ODJhZDkxZiBweTNrCis3NDc2MyBkMGJkYjE5MzBkNDllNGUyYTkzODM5NTA5M2VhODA0ZjgwYjAyYzcyIHB5M2sKKzc0NzY0IGRkMDI3OTE2NjZlMDViODA0ZDQ3ZmNhNDE3YTA2OGQxNDg1NjhlODggcHkzaworNzQ3NjUgMjI5MzBhZjRkZGY3MzRmYzliYTViZWY4MTNhNjQ1N2FjYjVhZWNkMSBweTNrCis3NDc2NiA5MTE5NDY3YWE4NGU4MjhlMzQ5NzZiYWE3MWNkZGU1NTQ3MzkwZjRmIHJlbGVhc2UzMS1tYWludAorNzQ3NjcgZjNhMzAwODNmZDk2NGZjMjUyN2FkNGMwZWQ1MTU5M2MyY2NhNWM2ZiByZWxlYXNlMzEtbWFpbnQKKzc0NzY4IDNjNTdkMjZiNDBjNDY3YmE2NmRhZTYyMDcwMTE5MjBhY2UyYjc4NGIgcmVsZWFzZTMxLW1haW50Cis3NDc2OSA2NTk0MDY2ZTUwNDE2OTQxODM3NWRkOTA4MjExN2M0NTlkNmM4NDcyIGxlZ2FjeS10cnVuaworNzQ3NzAgZjQ0ZjQ2ZmU4ZGE1MmUzODBjYjEwOWE4M2ZjNWNkZWNjNTdhNzA4MSByZWxlYXNlMjYtbWFpbnQKKzc0NzcxIGQ3YWU4YjA3MzllNDdhZTY0ZDg3NTIxNzMzOGIxZDhkM2FhMGFlZjUgcHkzaworNzQ3NzIgMzE2OTIxY2M5MDRhNWRiMmU1NTlhNzM2NGQ3ZDMwZDU0MzY2ODMyOSByZWxlYXNlMzEtbWFpbnQKKzc0NzczIDBjMGE2Y2ZkNGJlMjIwYzg1MDhhZDE5YzllYzRjYjZlYzhkYjBiODMgbGVnYWN5LXRydW5rCis3NDc3NCBhYWE2YjcyNGE0ZmNlNDYxMmVjODI4YjNkNGQwNTk5ZTYyN2VlMjNiIHJlbGVhc2UyNi1tYWludAorNzQ3NzUgNDNkYTUzZTUwMmUxNWRjNDRhZGEzZTNkZjg3Yjg2NGEzZDQzNTNjOCBweTNrCis3NDc3NiA4MzkzYTkwMjE2YjM4NmM0M2RmNDIyMTBjZTViNzFjZGFkOTA5NGQ3IHJlbGVhc2UzMS1tYWludAorNzQ3NzcgYmI1ZmMxNWIwMzRjZTNhOTQxYmE5YzhmNjVkNzI4NjhhMjA3YWQwMyByZWxlYXNlMzEtbWFpbnQKKzc0Nzc4IDFhMzlhNGRkMjc3YzQ5NzQ3YjAwMDRjZGI0MTAyZmRmNTBkZGU3MTMgcmVsZWFzZTI2LW1haW50Cis3NDc3OSA5YWNlODYyOTliYjhiZjRiZTE1OTcyYjQ1ZjQxZDkzZWFiYWY5MjM5IGxlZ2FjeS10cnVuaworNzQ3ODAgZThkNjgxYzQ0OGQ3MmRkYTY0YTJmNzk4ZDIyZWZlNGQ4MWE0YmVhZiBsZWdhY3ktdHJ1bmsKKzc0NzgxIGFlZmYzMzE5YzQxOGI0MDdiZDZjOTc0ZDJhMzA2YWFmYzk0MTI3MWUgbGVnYWN5LXRydW5rCis3NDc4MiA3MTVlNjk3MjUzZjI0YWM1YmI2ZTU4OWI4Y2VmNjQ4NmU3NjI3NWVkIGxlZ2FjeS10cnVuaworNzQ3ODMgOWYxZDZkMWRiYjAwODBjNmU1NWM3MzRkOGE4NDBjYmVmOWNkY2NjYiBsZWdhY3ktdHJ1bmsKKzc0Nzg0IDFhMWFmOWZiZDgzMTc5OWIxNjM2N2FlMGU0ZTBiMTY3NzIwNDFhZjYgbGVnYWN5LXRydW5rCis3NDc4NSAyNTEzYWZmNDQ1YzJjOWVjMTU2MzQ4MGZkMWRiNzFhNDgxOGU2YWE0IGxlZ2FjeS10cnVuaworNzQ3ODYgNzY0M2UyNzMwNDM3NjRlNmUwNjQ1MDQzYTFmYTZkZTk2NTljOTc3ZCBsZWdhY3ktdHJ1bmsKKzc0Nzg3IDk1ODRiOGUyMmY3NmZiYTgyY2YxZWY4MzEwNDBhNjI1NGM2NWNjZTcgbGVnYWN5LXRydW5rCis3NDc4OCA2ZDQ1ZmJjODViZGYzZmRiNDIwZGU1NWEwMTNkNThiYTc1YzA0MGZiIHB5M2sKKzc0Nzg5IDliMmE0MmZiZDA0YjQyZGFlYTVhYmRiYzA5ZmEwNGQyOGE1YjYyNWUgcmVsZWFzZTMxLW1haW50Cis3NDc5MCBjMDRhN2MzNjU1ZmMwZGI3Y2U0ODlhNmJjN2EzMjc1MTY5MGJhZDhjIHJlbGVhc2UyNi1tYWludAorNzQ3OTEgNjg1NTk1MWFmZjE5OWUyOGQ4NTAwNWE2YmI4MGZmMDcyNzQ5ZjNhYiBsZWdhY3ktdHJ1bmsKKzc0NzkyIGNmNGUwODE1ODQ2YzU4NGM5MDlhNjRmZmZmMDdmNDZmNzQ1Y2EzN2EgcHkzaworNzQ3OTMgM2FmZjU5NzkxMGM0MWI5ZjJhZjBiZWE1ODIwZjAxYTg0ZTQxNjA1OSBsZWdhY3ktdHJ1bmsKKzc0Nzk0IDhjNzc3MWRjZTA0NzRhODdmMmU2YjdhNDUyMTUyY2E1MjJjMmQ1NzggcHkzaworNzQ3OTUgZDliNWI3ZGQ4MmEyMjI0YmRiNTJjYWFhNGMzOGE5MTcwYzkxMDU2OSBsZWdhY3ktdHJ1bmsKKzc0Nzk2IDFmMWY2YmZkNGRmYjA0NDQ3YmZhOWU0YzU1MTJkMzQ0ZGRiYjdiMmUgcmVsZWFzZTMxLW1haW50Cis3NDc5NyA0YWIzYjVlYWU4OTc5ODIyODRlZWI4ZjI3NjRhYTliZmQ3MzcxMGU3IHJlbGVhc2UyNi1tYWludAorNzQ3OTggOWFkNmQ3MmJjZGE1YjU0N2JmYjUyYjVmZTExYzg3NWFjZjFlOGU0ZSBsZWdhY3ktdHJ1bmsKKzc0Nzk5IDIxZTkwN2EzODM2ZjNjOWUzNzRlMWMzYWIxNGYyYWFmYTc1NTIyMWEgbGVnYWN5LXRydW5rCis3NDgwMCA3ODQ3YjQwOWI3OWMxY2I3NDVjMmJjMzdhNDg0NDI2ZTdjYzg2YjEyIHJlbGVhc2UyNi1tYWludAorNzQ4MDEgNGNjY2YzY2UxNWEwOWM2MjdkYTZkNDNhNTA3OTFiNWVmNDkyZDM5MCByZWxlYXNlMjYtbWFpbnQKKzc0ODAyIGRhODUzZTk4M2YwODI0ZjNmYjVjN2M5NmYxZTNiMDEzYTNiOTkyM2UgcHkzaworNzQ4MDMgMmQ1NzVmMTZiY2VjZDlmNmUwODM3ODRiMzM3YmMyM2FkMmRlMzcxNSByZWxlYXNlMzEtbWFpbnQKKzc0ODA0IDg1MGRhZmQ0YTI0NTNkNTI0NjEwMTgzMTc3ZTk2YmZiZDdlYjQzYmIgcHkzaworNzQ4MDUgNGU3ZjZiYzgxMGIzNjBkOWU4NTc0ODNlODQzY2MyZGEzNGJjOGU4NyByZWxlYXNlMzEtbWFpbnQKKzc0ODA2IGJkNDIwMzg4ZTZiMWRhMTg5ODVhODc0MzYwNjhmMzhiMmRkYTZiNzAgbGVnYWN5LXRydW5rCis3NDgwNyBhNmRmMDc0ZDJlMDkzZmJiMGIyYTViMjNiOGI1NmNmYTI2YmJlZTg1IHJlbGVhc2UyNi1tYWludAorNzQ4MDggOTQ2MjQwNGRmNGUxMGNmZGExZWJmZGZjNmFmYWM2ODA0ZTQzNzc3OSBweTNrCis3NDgwOSBhYjRhODdmZWYxYWU2ZTRhODRlN2Q4MDRjY2Y5MWQyY2NjM2RjYmE5IHJlbGVhc2UzMS1tYWludAorNzQ4MTAgYTMzZjk2YjQzZjI0YWNiMjE2M2M2YzVjZjYzNWE1Yjc0Mjk1ZDQyNyBweTNrCis3NDgxMSA0MTAyYjVmMmEyZjFlM2NlNjRmZDBiYzY1N2Y4MDdiYmZiYzBhYmZlIGxlZ2FjeS10cnVuaworNzQ4MTIgODUxOWUyOGIyODRmNzk0YWI2ZjYyMDZkYjdhYWMxMWQ3ZDM2YzQxMCBsZWdhY3ktdHJ1bmsKKzc0ODEzIGEyYmFiMmQyMzc0NmI1NTJjOWY4ZjhiYzJjZTc1MDhhMjU3MmExNTEgcHkzaworNzQ4MTQgNTYwYzA1NGEwMWFhMmZmZTEyZmZjZmJiN2EzM2RkMDczZjQ3NDgxMyByZWxlYXNlMzEtbWFpbnQKKzc0ODE1IDdkNGMzYzA4M2YzNjE5N2YyZjM4ZGUzNDYxZWRhNThiYWVjYTAwNjIgcHkzaworNzQ4MTYgODg1ZGExNDZmZWE1YTNkZmEzNWQ5Yjg1MmViNDY5NzY5NWZiN2MzMCByZWxlYXNlMzEtbWFpbnQKKzc0ODE3IDUwN2JhOTdhMmVlZWYzMzk0NTVjYmVjNjk3YzgwNmI5NmI3YjhlNzIgbGVnYWN5LXRydW5rCis3NDgxOCBiYjZhZGU1MWEwYjYyMzhkMTM1YzRhNjBiYjYyYmIyNGIxNTEyYWQ1IGxlZ2FjeS10cnVuaworNzQ4MTkgMmViZThjODFhZmYwNjkyOGM3YmVhMzg0N2EzYTc0ZDNjMGY5OTJlZSBsZWdhY3ktdHJ1bmsKKzc0ODIwIGMyZGUzMjg2NmQwZTNkNjQwYWJlOTJiMzQ3Y2E4NTQxMTM5MWQ0N2MgbGVnYWN5LXRydW5rCis3NDgyMSBjMDE3YTQ1MGY0YTU3NjhmYjUwNjMxYTUxOTQxMDMzYzI0NDJmMTVkIHB5M2sKKzc0ODIyIGQ0YzI3ZGE0NmRjYTBmNzk5YmE0NWU0YzBlOGZiNGY1NjE2Y2ZmMWMgbGVnYWN5LXRydW5rCis3NDgyMyA3NDJjZTU4YTMxNzFiYzEyZWU0NjAzNTA2YWU5ZWRjMTZlOWQ0NzM5IGxlZ2FjeS10cnVuaworNzQ4MjQgM2UxOTNkMGIxYWJhODlkNGJkYWFkNGMzNjIwZjg3MjQ1NmY4Nzk3MyBsZWdhY3ktdHJ1bmsKKzc0ODI1IDMzODVlNjE4MjExMjk0OWE3MmQ0YjQ5NWFiYjA3YjcwZmJhNGQwNGUgbGVnYWN5LXRydW5rCis3NDgyNiA0ZTYxZDdiZDFiMzY0NmJhM2ZhMjkwOWU0YzE2MmUxOTMzOWRkYzZmIHB5M2sKKzc0ODI3IDk2YjY0NTc1MmMzMzQ3NWIzOTY2ZGM1MjUxMmJlZGY4MzJiNmE2MGUgcmVsZWFzZTI2LW1haW50Cis3NDgyOCAyNmRmMGI4NTZiY2JjNDgwM2Y2YTA1N2QzMThkMjRhZjQ1MDczN2M2IHB5M2sKKzc0ODI5IDRjYmRhYjYwMWI4N2ZmMzhiNGVmZDJiYzM4ZTYwMjQ0MGQ0ZWQ4NDMgcHkzaworNzQ4MzAgNGI2NGRiMzZmMDliOGZkZGMyNjI2NmYwN2E3NTQ4OTc2NzQ5YzhjMCBweTNrCis3NDgzMSAzMWMyMzZjNTNiMDI0NTdlNGY5Y2ExN2ZiOGRlZGQ0ZDViYjM5Yjc1IHB5M2sKKzc0ODMyIGYxMzkxNDQyYmQwYjVkODgzMzdhMGQ1ZmQwMTY1MGIyZmQwN2JkYjAgbGVnYWN5LXRydW5rCis3NDgzMyA5YjAwM2JiY2E1ZGJmNWM4MmM1NTVhZDViMmU5OWMyMDZmNTJjOTFhIHB5M2sKKzc0ODM0IGQ4MDcyMjA2ZmRjNjFlYTY5MjliNjUzMGY5OTFlMzVlMzAxZWJlMDYgcHkzaworNzQ4MzUgYjZlMzllZWExYmJmNmVmM2ZiMzE1NWNmMGE0ZDUxM2NkN2M3ZTlhMCBweTNrCis3NDgzNiBmYTkxMjcwYjYwODdiMGZkZjM5M2NjMDg1YmU4ZGM4ZTYwOTliNzBmIHJlbGVhc2UzMS1tYWludAorNzQ4MzcgYmU0ZDQyMDA5ZjdlNWJjYjdiZWVlYjM0MDIzZTY2YzAzMzA1NDg4MCByZWxlYXNlMzEtbWFpbnQKKzc0ODM4IDMyNDQ4ZjhhNmM2MzZmMzlhNjE3OTg1ZDEzN2E1NmFkYjlhYzM0NzggbGVnYWN5LXRydW5rCis3NDgzOSA3YTNlZDFiNDM0MTA5NzUzYTU3ZGU4MmQ3YTljMzNiMjdlNjk0ZDc4IGxlZ2FjeS10cnVuaworNzQ4NDAgMzM0YzYwZjUxMjU5NGM4Mzc2ZmMzMGY1MjllMDM5N2ExODgwZTZkMiBweTNrCis3NDg0MSBiMGQwM2ZhMDczZWM1ZDE2N2EwMTY0N2ZmZjM2MjUzOTYyZDE3ODRmIGxlZ2FjeS10cnVuaworNzQ4NDIgMWFkOWYyYmRhMjBhMjZjNzQzMjYxZTNhYTAyZWVlYWIwNzU4M2I3NSByZWxlYXNlMjYtbWFpbnQKKzc0ODQzIDNhY2QzMWVhZGJiODgwNzA0NWNkYTA5NmI3ZjQxNDE2NGM2YTNkMTEgbGVnYWN5LXRydW5rCis3NDg0NCA2NjFjOGE5Mzg5MmZmN2MxMGRkZTAxZjBkOGE1ZWI2MWVjY2ZlYzQwIHJlbGVhc2UyNi1tYWludAorNzQ4NDUgMGYwOWQzOGY4NTJlODQ3YTg2YTU3YmQxYzJlYmY4NDI5OTg0MjYzMyBsZWdhY3ktdHJ1bmsKKzc0ODQ2IDc4ZmY5YTc0Y2I0ZTliN2RhYTE2MTE2ZWQwNjYwNjYxYmMzMDhhYzAgcHkzaworNzQ4NDcgMWIxODk2N2ZiZDQwODEwNjkxZWE1ODI4YzhlMDE3ZDE5NDQyYmEwNCByZWxlYXNlMzEtbWFpbnQKKzc0ODQ4IDhhYjMwNDAzNDAyMWE1NzcwZjczMGYxMTdlOGY2ZTg1NzVmYTBmZjUgcmVsZWFzZTI2LW1haW50Cis3NDg0OSBmYWI5OWU4ZDI4YzMyNzViZWQyNTMwMGQ2YmJmOWQzZDhiNGRjMzhkIGxlZ2FjeS10cnVuaworNzQ4NTAgYWUxYjFjZjQ3YzBjYTFmMzM1ZWM3YWMzODYzZWQwZjA5ODEyZmY2OSByZWxlYXNlMjYtbWFpbnQKKzc0ODUxIDFlMDlkYzY4YzhmMzYzOGJmNmNiZDgzMTU2NWZmMjBiYWQ0ZDRlYmMgcHkzaworNzQ4NTIgMmU5ODU4YzBkMzY0ZDFjZTRiZGYwMDI4YmE0ZWE2ODYxZGM5NGZlMSByZWxlYXNlMzEtbWFpbnQKKzc0ODUzIGEyY2JiOTQyMWExMTQzYWM1YWYwMzI3ODUyNWQ3ZDE2M2E4N2NkNTIgbGVnYWN5LXRydW5rCis3NDg1NCA5MDY5ZTUyYzBiZWRjMjUzMzJmMDIyOTk1M2M4NWM1MGFkMzYzZDEyIHJlbGVhc2UyNi1tYWludAorNzQ4NTUgYzhjYjllZjBjZDBhMDRkOWJkMDBkMDEwYzZhOTRiZjg5NjI4MTUxNyBweTNrCis3NDg1NiA0NjYyNWJjYTBjZmI1NmY0OWVmZWNiZGI4OWU5MzYxYTQ0MTNjODVmIHB5M2sKKzc0ODU3IDc2ZTA4YjkxZDk4ZTBhZGI3NDA4N2M2ZjdlNWRhOTBlMmZmZjE4YjQgcmVsZWFzZTMxLW1haW50Cis3NDg1OCBjZGFlYjI1MWQ0ODhiZTM2NDUxNDNkNDc2ZmU5MzBhMDAzMzY5MWUwIHB5M2sKKzc0ODU5IDE3M2JlZDBlMDRjNDg5NjUyZTU3MmZhOWUwM2VjZGJlZDRiODI2NDcgcmVsZWFzZTMxLW1haW50Cis3NDg2MCA3N2I5NmE1NDI0YTJjNjUyZjc1ZGZhM2UzN2I2NzQ3M2I4ODJkMzE4IGxlZ2FjeS10cnVuaworNzQ4NjEgN2M0ZDUyODYwMTMxYjZkYTljYmU0OWUxYjFkYjk4ZmY3MWFjMGJjZSBsZWdhY3ktdHJ1bmsKKzc0ODYyIDlhMTA5NzE0MDNhNWFkMGQ0OWMxN2ZjNzExM2YyNDk1ZmM4YzdjZjggbGVnYWN5LXRydW5rCis3NDg2MyA3ZjcyNjExNWJhMjlhMGU2MDQ2MTQ4MzAyOGEyNTVmMTJhMDY4ZTA4IGxlZ2FjeS10cnVuaworNzQ4NjQgMTcyYjJkMzZkYTc3Y2QyODMxMzY4MmU2ZjJmZDlkMWNlODRkZmNkYSBweTNrCis3NDg2NSA0MmY4ODA4M2RkYmRmM2UxOGY1MWIzMDRmMDFiZTkzNjhmMzg4ZjY5IGxlZ2FjeS10cnVuaworNzQ4NjggNWZlZDVlOGVhOWNjMzMzMjY3ZmM3ZDY4ODJiYjQ3NWVkOTQ5ZjJhOCBsZWdhY3ktdHJ1bmsKKzc0ODY5IDM4YTUyYjY3MjQyOTI2MDMwZDBiZDQ5MTQzODc5MDRkNzUwNzU1YzIgbGVnYWN5LXRydW5rCis3NDg3MCAwZmYzN2UyMDAyOTJjOTM2YmY2OTQ0YTRhYzliY2QwNWQ5NGYzZDU4IHJlbGVhc2UyNi1tYWludAorNzQ4NzEgMTJmMTQ1ZDc1NTEzZWI5ODZhYTc4ZjA0OTM2MTM3YmU3NjY5ZDgzNyBweTNrCis3NDg3MiBhOTgwOWYzYjE2NGZmYTZmMGQ4ZWYzMGZjYTYxOGQyMDI4M2MyNWIxIHJlbGVhc2UzMS1tYWludAorNzQ4NzMgOGMzYjJkZGE0NzAzNjBlNTIyNTFkMzY1ZmUxNzRiNjMwZThiOWJmNCBsZWdhY3ktdHJ1bmsKKzc0ODc0IGRjOTIyYTg5Y2NmMTBjMzhmZDZkYTVhMGRiYWQ3YjQwMDI5NGViM2UgcmVsZWFzZTI2LW1haW50Cis3NDg3NSAwYTU4MGRjN2FmMTM3NjQwNDU1M2ZmNzUzZjE2MGE1YTc3NjUxNTVlIHB5M2sKKzc0ODc2IDZmNGI4NTJiODJmMTc1MDdjNTlhZWFhZGQyOTk3YjU2Y2U0NzlmODUgbGVnYWN5LXRydW5rCis3NDg3NyA5YWNiOGViNzJhOTJmYTVmNTMxODdiNjJmOWEzMjk5YWRlYjFlMGIyIGxlZ2FjeS10cnVuaworNzQ4NzggY2E5MjBjMTZiMjA1N2U4ZTQ1NTIxMTEwMjM5NmIyOTNkZGFkMjJlMCBsZWdhY3ktdHJ1bmsKKzc0ODc5IGUwZDVjMGMzODA4Y2UxOGQwZjkxMmRhMTNlZDA3ZjcyMTRmZGU3MzAgcHkzaworNzQ4ODAgYTI3YWJkMzUzZWQxY2ExMzRjODk3M2NjNmU0ZDRhYzBkYTk1YjBjZSByZWxlYXNlMzEtbWFpbnQKKzc0ODgxIGIxYjYxNWE5MTFmMDMxZjBiYTRkM2NkOTk5OGIzNjhmZjYxOGJkNTYgcHkzaworNzQ4ODIgZTQ5NzRlOTVmYTY0OWVlZjY4NWZlMjgwMjVjZGFmZTc4ZjkxODNhNyBweTNrCis3NDg4MyBiMzk4YWZlZmQzNjk2N2EyYmZiMWY4Y2U5MWI5YmU4MDFkNjY3YzdkIHB5M2sKKzc0ODg0IGJhMjI4ZTVjM2RhZjc5NmM4Njc4ODA5ZDYxZmJlMWMzNjZlNmY2YmUgcHkzaworNzQ4ODUgOWNlZWI2MDJkZGEzYjliNmUyNjQ2OTk2YWQ2YzcxMjFkZWEwMWExMiBweTNrCis3NDg4NiAwZTQ0ZGNjMGIyMGQzOWQ3MTkzYzY1M2FmMjA4NDE1Y2UxMzdkZjZjIGxlZ2FjeS10cnVuaworNzQ4ODcgMmVhMWZjMjY4NTQyNTJjN2NkMjIzYTk3YTM4YTMxZDY2NDBhOWVlZCByZWxlYXNlMjYtbWFpbnQKKzc0ODg4IGQzZWU3MzhmZGNkYjE3Y2ZjMzZkNGIyOTRlYzljYmQxMDg1ZjgwZGIgcHkzaworNzQ4ODkgMDcyZTNlMzBiNTBjYzIxZGIyMmNmMzU5Mjc3ZTczZjE4MjcyOWUyNSBweTNrCis3NDg5MCA1NDdkNDFiMWRlOTczODFiZTUzMTJmZjJjYzYyYjZhZWJmZGM5YzkyIHJlbGVhc2UzMS1tYWludAorNzQ4OTEgMWM1NDZjZjNlYjEwZDZkNmVjYzQzMjEzZDZhNGQ4MjQ2YTcyMTIyMyBweTNrCis3NDg5MiBkNjAxZmUzN2ZjNTRjZTAxOGYzNzZiNDNiYzg3YTJmNjBiNDA4ZjJjIHB5M2sKKzc0ODkzIGZkMmY0YWU5M2QwMTI3ZWRmYzU5MzY5OTg4MDE3ZjFkZDc1NzMyMWYgcHkzaworNzQ4OTQgYjYzYzcxODA2MThlMzQ4YTQyN2NkYzUyMmVhOTlhOTQ2YWU3M2VjZCBweTNrCis3NDg5NSA5OTNlZTM5ZThiY2ZlZmE5ZGE1ZTA5NWM3ZGJkYzZiNTg0YWQyNGVhIHB5M2sKKzc0ODk2IGJhZTlmNDgyM2I4ZTExYjU0NjQ4NDc3MmU3NWViZTNkZjUzYzllZjkgbGVnYWN5LXRydW5rCis3NDg5NyA1YTFlODc5ODMyZmUzM2M3NzE2NTZhYjYxMDI5ZmIwMGZlMDA0MzBmIHB5M2sKKzc0ODk4IDk4MTc5MTVlYmRlYmM1MWE4MTljOTRiNTcwMGRjNDE1NzQyYjk2Y2EgcmVsZWFzZTMxLW1haW50Cis3NDg5OSBkZTMzNTdjMjYwYjYwN2NhY2YzNmU3OTU1ZTUxZjAzNWFhZWI0ZDRmIHJlbGVhc2UzMS1tYWludAorNzQ5MDAgZGEwNGIxNTJhNmZlM2Y2NmZiOTQ1MzhjZjhmNTQ0YWI5YjdjYmY2ZiBweTNrCis3NDkwMSBiMzI2ZTdkNjY0MTM0YTgzZWRmYWUwZDdjNmQ0NGU0MDIyZGU1YTU4IGxlZ2FjeS10cnVuaworNzQ5MDIgN2E1YzExOWI4NjY5MDJmNjIwNjJjZmEzMjMwNmY2YzlmZmRlMjdkNyByZWxlYXNlMjYtbWFpbnQKKzc0OTAzIDg0ZjFjOTViNGU5NzQ4ZjlhNTQ5OTNjYTY2OWVmMmVlNTdkODhhMjMgbGVnYWN5LXRydW5rCis3NDkwNCA2ZmNhMzUzNTJmN2I3ODE2NGJmMmIzMzhjMjE2MWQ1ZjU2YzhlNjljIHJlbGVhc2UyNi1tYWludAorNzQ5MDUgNGYxNWExMzFhYjA3MTk1Y2NjYzgzNTM4NzNjZDY5N2M2MmMwYTAwMCBweTNrCis3NDkwNiBjNzZmODQzODM4YTVmYTA1NzVkZGZiNDgxNzljOGI0MmQzYjNhNjI4IHB5M2sKKzc0OTA3IDMyODlmZmMwNWNjNzg0NDk0NTEzZTJlZTdlNjBhZmEwNTIxNTkzYTMgcHkzaworNzQ5MDggYjM1ZGQxYjYyNDhlMzkzOTY4NTliOTA0MDk5NGFiMmQyNTRlYmIwYSBsZWdhY3ktdHJ1bmsKKzc0OTA5IGE0NDJjMjUwNGE1N2UxYjViNzE3Yjc4ODU2MWYwYjI2OWYzOWVmYWEgcmVsZWFzZTMxLW1haW50Cis3NDkxMCAzN2U5NjI0NmJkYTFjNjQ5MjY5MjFiZTIzMjUyMjUwNmYyYjZjNDg3IHB5M2sKKzc0OTExIGRhODE4NjE2ODRlODkzYTY0NGY3M2M3MTUwOTJkODA4MDc4ZjkyYzMgcmVsZWFzZTMxLW1haW50Cis3NDkxMiAxZDJlNmM0NDFhNTNmMDE1Zjg2OTEyYjNkMjA0ZDQ5NjBiYThmNWExIGxlZ2FjeS10cnVuaworNzQ5MTMgNzdlMDdhZjZmODdhM2M4NDU1ODE0Mjg0MDA0YjU1Y2IyYmMzODdmNSBsZWdhY3ktdHJ1bmsKKzc0OTE0IGQ0ZTAzNmM2YzYwZDRhNDAwZGY2ODYyYmUwYjFmZmUyZTRlMzMxYzYgcHkzaworNzQ5MTUgODVlZjFjMDRkOGRkZjVjZWE4YWE5NmY3NzBjMTIwZDUzZjdlZDc1YyByZWxlYXNlMjYtbWFpbnQKKzc0OTE2IDUxNzQ4ZGZjYjQ0NGM3MDA0NGU1NGI5MTBmOWNiMzE1OGI0NzI2ZDMgcmVsZWFzZTMxLW1haW50Cis3NDkxNyA5OTMxZTE3N2RhODEzOGViMDliODI4YmI5YjRkYThkYTUwMWJlNTg0IGxlZ2FjeS10cnVuaworNzQ5MTggMzc1MzhiNTUwZjY4NWFmMzgxYzM0YWUzNjk1ZjBhYmIwYTZjNDA2NCBweTNrCis3NDkxOSBmZDE4Nzc0NTMwNjA2MjUyNzM3ZDM5NGJjNTdiMjUwZmJhMWRjMTZjIHJlbGVhc2UyNi1tYWludAorNzQ5MjAgZDFkM2EwN2EwZWQ3ZjQ5ZjBmNjExM2UwMmU2ZmYzZDA4YzQyMDgxMSByZWxlYXNlMzEtbWFpbnQKKzc0OTIxIDNjODNhM2NhY2Q3Nzk4NWJlODM1NWQzY2JlZWFmZGRkYzAwMDE1YWUgbGVnYWN5LXRydW5rCis3NDkyMiAwNDNmZGRhNzA2YTM3NmZjZmMzMjUzODU5MjgzMjkyMDlkOGQ0MjIyIHB5M2sKKzc0OTIzIDgyMmEyOWY3NjYwYjUxN2ZlZDY3ZGMwNGI1YTBkODdiZTY4NDM2N2QgcmVsZWFzZTMxLW1haW50Cis3NDkyNCBiNGNhNTk0ODQ5MTQzZDY1NjNlYzcxNWIzZDk5YzU0YjE2NGZlY2E1IHJlbGVhc2UyNi1tYWludAorNzQ5MjUgZjI1NTVhZDVmZTA5ZWEwMDBjNjBhYWMyOWRiNWI0MzIyYzZhYWUyZSBsZWdhY3ktdHJ1bmsKKzc0OTI2IDIyMTFhZDNlN2JiZWQ0YjkzODY4Yjg1ZDdiYWZhZjg0NTdlN2Q3MmMgcmVsZWFzZTI2LW1haW50Cis3NDkyNyBiMGU1MTA1ZmY5N2JiOWNjNGYyYWI5YTI5ZjZmZjUxNDRlYWE5ZDg2IHB5M2sKKzc0OTI4IDdiMmJkMzliMjFjZDFjNmJhZDU5ZDIwNGIxNjlmYmRiMmE5MmI2NGEgcmVsZWFzZTMxLW1haW50Cis3NDkyOSBmNjRjMGViOGNjNjIwOWY0YzI0YmZmNWMzM2ZiYWQyMGQ3ODM2OTQyIGxlZ2FjeS10cnVuaworNzQ5MzAgZmRhMjkyZjMxNjMyNDIyYzY1ZGRjMWVlNzI1NDIzMzRmNjQzYmY0MyBsZWdhY3ktdHJ1bmsKKzc0OTMxIGYxMmNlN2FkYmQzMDAwOTBkNDJiOGEzMjEzZmM2NGVmMDQ4NTY3YWIgcHkzaworNzQ5MzIgNjE2YTY2OWM5MDIzZmU3NDczYTc1YjA5NzkzYzI3NTllNmE5ZDRiOSBweTNrCis3NDkzMyBiNGJiNGJiODY4OTI4OTk2NTNjOWMxNjI3NTAyMjFkOGM5ODdhOWY4IGxlZ2FjeS10cnVuaworNzQ5MzQgZGU2NTkwODk3M2QwMjQzOTFlZDljMWVkY2VmZjlkNDM3MzJiNmI3MSBweTNrCis3NDkzNSAxYjdiZGFlMDIxNzk0NzBlZWIyMmIxODc0MWVmNjUzN2YyYWQzMzdkIHB5M2sKKzc0OTM2IGNjMzI5YmIxOWRhNWYxYTlmYzM4NTM2MjhjZmNhMWU0NjNlYWVhMTUgbGVnYWN5LXRydW5rCis3NDkzNyAyNDNmYWYwZjVmNWU0MzEwMzVlYjQzMjRkNGViNmQyMGJjODJjYzY1IGxlZ2FjeS10cnVuaworNzQ5MzggYTJiMmNjMGZhN2FkNGQwZjQ5NGE0MDBlZmQxZjFiZTY4NzQ0YTIwNCBweTNrCis3NDkzOSBjZjc1YzBkMmUzYzc2YjEyZDg5M2M2OTRmOWJmMWExNTA5YWJhY2QxIHB5M2sKKzc0OTQwIGM1YjE1MDAxNzJmODljZjc1NWEyMTMzYTIyMzgwNjQwMDUxM2YwMWMgcHkzaworNzQ5NDEgODMxNTI1ZjE1YzU3MDI5MTIyYTEyYWEzY2Q2NGNiMWQyNGJmZDk1YSBweTNrCis3NDk0MiAwNzUyMTM5ZjNkYTFkM2FjZTcyN2YxMGM5MTlkZjRmMWQ3MDA0MDJiIHB5M2sKKzc0OTQzIDZhMjc4ZTRkOWY2MThkYjJkMmJiNTc0OGVkNTY1MTMzMjcwNDFjYWYgbGVnYWN5LXRydW5rCis3NDk0NCAzMGNjNGYwNzMyOTJlZWEyNmQxZjEzMTVmYjExNDM2MTQxZWRiNWJjIHB5M2sKKzc0OTQ1IDU4YmE4NWMwZDRiMGIwZmU5YTBmODJhODBjOWY1ODZkYzdiYjliNTAgcmVsZWFzZTI2LW1haW50Cis3NDk0NiA0NTE0NWFlYjYzMzEwYjIzMjIzZjNkYzIyNDRlNWJjZWFiNWVmNjI5IGxlZ2FjeS10cnVuaworNzQ5NDcgMDAwNzAyNGU5ZTIzNDhlNzgzNTdmOWY4ZTU2NzhlNDZlNTZjMWEzZSByZWxlYXNlMjYtbWFpbnQKKzc0OTQ4IDRjNzM0OWI5ZDE1OWE3YWRhMzUwMWViYzE5MWE4ODFkNmRjNGEzZWUgbGVnYWN5LXRydW5rCis3NDk0OSAxZWI0MjQyNTczNDVjZGI3NmJlYmMxNDkzNmQzNDE3N2QxZDk1ZjZjIHB5M2sKKzc0OTUwIDFiMTgzNmNmY2YyNjJhOTA4MTg5YWQ0YzUyOWVhNmE0NjcxN2JjOTYgcmVsZWFzZTI2LW1haW50Cis3NDk1MSA4MGEzOGY4OTNiN2YzZjA4ZTY0OTI3Mzk4ZGY1ZTJkZWQ0OWE3ZmJiIHJlbGVhc2UzMS1tYWludAorNzQ5NTIgYTA5ZGE1NmU0Nzk2OWVmYWUxM2JhZGU5ODNlZDA1OTg0MWJmNGUzOSBsZWdhY3ktdHJ1bmsKKzc0OTUzIDM5YjQ2MzA3OTdmYWNlN2Y0YzA0YWFhNzhkNzBkYmFjMjNjYWFmYjUgbGVnYWN5LXRydW5rCis3NDk1NCA2NzkxYzJiMWE3ZGM5ODhkZjE2MGEwODI2ZjhjYjNjNjA0NmQ0M2QzIGxlZ2FjeS10cnVuaworNzQ5NTUgNDE2YjY0NTUwN2QwYTg0Mzk4OWRmYTY1MmJiYWQ4ZGJhMWRkMTYyNyBsZWdhY3ktdHJ1bmsKKzc0OTU2IDhjY2MyM2FmZWEzZDE4OTY5OThmMmMyM2Q5MmE1ODA2MmQxYjRkMGEgcHkzaworNzQ5NTcgZWE2OTdjZGU2ODgyMzRmN2IyYmM1ZTBmZDUyMGQ3MDJhNzJlZTAzZCByZWxlYXNlMzEtbWFpbnQKKzc0OTU4IGY1NGQzMWU1ZmQ0ZDZmMDBiZDk1OWMxYTRkY2I3YmY2NGVmMjQyNjQgbGVnYWN5LXRydW5rCis3NDk1OSAyYzVhNzc1MGI3MWQ4MjFkMDkwMTRlMzljZmYyMmFlYzA2MTFlN2ZmIHJlbGVhc2UyNi1tYWludAorNzQ5NjAgYmQ4NGY0MmMzNjMzOTU4YjlkNTJjYTEzYTMyZjUzY2VhZjhhMTVlZSBweTNrCis3NDk2MSA1MjJiZTM2YjI5Y2QyMTQ4MWI4ZGIyNTY1YzYwNGM5ZjViOTQ1ZGUzIHJlbGVhc2UzMS1tYWludAorNzQ5NjIgMmRkZGRjNjQxYTk4NzNmMDJmYTlmODNmMWU2ZmEyMmY3ZWQyZTBjYiBsZWdhY3ktdHJ1bmsKKzc0OTYzIDI3MTdkODVhYmEyZTZiYzNlNzMwOTE1NmVhMzMzMTBjNmEwZDE1ODMgcmVsZWFzZTI2LW1haW50Cis3NDk2NCBlNTYxZjEwYzdiMzExOTI4YmU3NjA5MWJhZTI2ZTAzY2JjZTVjMjU3IGxlZ2FjeS10cnVuaworNzQ5NjUgZDEzMTk1NjUzM2JmMWNkOWNhODgzN2UxNmYxZmU1NDFiNGUxMzJlNSByZWxlYXNlMjYtbWFpbnQKKzc0OTY2IDY5ZWUxNTAxYjEwMjY5YzNmN2VkMzFhMDM5MmNiMTgzOWE3YWZmODUgbGVnYWN5LXRydW5rCis3NDk2NyA0MzZjYTc3NWYyNmNhYTg4NDllNGY5YmRmN2I5MjAzM2E3MWFmZDhiIHJlbGVhc2UyNi1tYWludAorNzQ5NjggMjI1NDhjN2VhZjM3NWJkNzZlM2M3MDVmMTBhMGQzZTE0YzllZDk4MCBweTNrCis3NDk2OSBiM2QyNWU2ZjY2ZjEyZGU1NjQ5NzQ1NmM1Y2EyM2JhZDQzMTljOWJmIHJlbGVhc2UzMS1tYWludAorNzQ5NzAgYjBhMmZiYTAwNDU4NjExOTA4YThkYmJjNmE4MmQzMWYwZGI3MjEyYSBsZWdhY3ktdHJ1bmsKKzc0OTcxIDFjNTBkYzIxMzMxMmRjNjQ1NzMzNzkzNWQyNzk1ZDlmZGYzYjZhZGMgcHkzaworNzQ5NzIgZDhjMjQ4YTU5MzEwNTBhMWY5NzVjM2ZmOWI3NjQ5ODJmNzQzMDg5ZCBsZWdhY3ktdHJ1bmsKKzc0OTczIDk4MTA0YWI4NTlmYTk2N2I1YWI0YjVhYzlkZTRkOTBiODFhOThiNWQgcmVsZWFzZTI2LW1haW50Cis3NDk3NCA4MDZjNjM2Mzg1ZmNjZGJhYmI1ODY4ODE0ZDFhZDIyODRiYzNlMTc0IHB5M2sKKzc0OTc1IDdlMzk4NWZhZjlhOGFjZmUwMjdiMGQ4Yjg5M2VhYTc4MGEzOTFiN2YgcmVsZWFzZTMxLW1haW50Cis3NDk3NiA3YTNmZGQ5M2I1NjY0ZGEyNTE0ZmZiM2E0OTVjNWQxMDFkOWQyMmIzIHJlbGVhc2UyNi1tYWludAorNzQ5NzcgMWRiNmVlOWQ3YmU3YTFkNmM1MzNhYTA3YmEyNWIwOTg1YzZlN2Y1YyByZWxlYXNlMjYtbWFpbnQKKzc0OTc4IGRiOTdjMDQyY2MxZWQ1Yjk1ZGE4ODQ0YTM5NTA3ZTRjY2UxMzI4ZGIgbGVnYWN5LXRydW5rCis3NDk3OSBjYjM0MjhiMWY0YWYyOWIyNWI0OGQyOTc2NTVhZTJlYTg0MGJjYjdhIHB5M2sKKzc0OTgwIDMzOTNmZmMwZGU0NGU2YTNjYmNiYmQyY2E3M2Q3OTRiNWZhM2Y1YzYgcmVsZWFzZTMxLW1haW50Cis3NDk4MSA5MjM0MzA1ZDM3NDAzODdhNzMyNmQzNDlhNDdlMzU2MTA4OTA3MjI5IGxlZ2FjeS10cnVuaworNzQ5ODIgNmQ4YjU0YjIxYjg3N2VmZmNjYjJiMTU1NDI5NDg0YjFjMzkyZDdlNSByZWxlYXNlMjYtbWFpbnQKKzc0OTgzIDI3M2MyMzQ4MDBjMTg0MWQzMGJiZTdiNjQ4NTFiN2QwYjdiOGMxMGEgcmVsZWFzZTI2LW1haW50Cis3NDk4NCBjYzNkOGFmZjQ1OTU2MGNhNDRmODg1NTMxZTNlNzVhMjM3ZGUwYTYzIGxlZ2FjeS10cnVuaworNzQ5ODUgYzU5NDllMTJjNjkyOWVkOGRiNjFiNGY1MGFlZGQ2ZWM0N2UyYzhkNCByZWxlYXNlMjYtbWFpbnQKKzc0OTg2IDljOTE2NWJkMjkzYWUyNDk4NjYxYmM3MDU2OWZjYTBhMjU2MTk5N2QgcHkzaworNzQ5ODcgYzYzZjg5MjNlMjRmNjhiNmVmM2JlYTJkNWU1ODAyMTE3ZjRiZjk5MiByZWxlYXNlMzEtbWFpbnQKKzc0OTg4IDJkZjhiZWRlYzZkMzMzOGMzN2RmNzYzMGM1NWI5ODdmZTNlZjNkOWMgbGVnYWN5LXRydW5rCis3NDk4OSBhOWNlMTU4OWQ2OTRkMjk4NjU1OWI1YmRkZTk3NTc1MDg5Y2Y2YjRiIHJlbGVhc2UyNi1tYWludAorNzQ5OTAgN2M0MzQ2ODdiNDI5Mzk2ZTE3YWE1ZTIxMWRjMmJiOTM3NmQxNjJiMyBweTNrCis3NDk5MSA0MDA4YTAxMzdkZTdiMGQ2ODAyMWFhZTg4NDY3YmU4MWU3MjVlYTA5IHJlbGVhc2UzMS1tYWludAorNzQ5OTIgZDYyN2M1ODkyZmQ1NDhlZjQ2M2JmNTEwMzFhM2M3NWUxMjUzMGNhZiBsZWdhY3ktdHJ1bmsKKzc0OTkzIDVjODcwMGNjOWQxNmVkMjZiOTRjNGZhZTViZjEzZDk3MDBlNDYyYTQgcmVsZWFzZTI2LW1haW50Cis3NDk5NCA3YTc2NDJhYjExYjM5MjdjZDIyYTQ3ZWY5ZTMyMmY5M2FjYzlmNzRhIGxlZ2FjeS10cnVuaworNzQ5OTUgNjI3YjM0OWRmMGU4ZTI3OTE3ZWM0ZmU3ZTEzNDUwOTdjMDYyNDFmMyByZWxlYXNlMjYtbWFpbnQKKzc0OTk2IDAxOGYyZWFlMjUyNmZlMjRkZGQ0OWQzZDQwZjFiNmY4N2I2MWViMTQgcHkzaworNzQ5OTcgZjhlNjk2ZTRjZmYxZDgwNGI0Y2U2YTA2NTI3OTdjYzMwZGVkYmI3NSBsZWdhY3ktdHJ1bmsKKzc0OTk4IGFmN2ExMjAwZmIzZjM1ZjAxZDQyMGZhZjc1YjNmNWIzNmU1MDIxM2QgcmVsZWFzZTI2LW1haW50Cis3NDk5OSA0YjgzZWE2ZmM1YmRlMjE2MjczM2UxNTk3NTdkMDQ0Y2NkYTcyZTFiIHB5M2sKKzc1MDAwIDNhM2UxNDVkNTUyYzVjOWIwMjkzYTJhN2YxZWEzODMwN2RkZjMwNTUgcmVsZWFzZTMxLW1haW50Cis3NTAwMSAxZmZlNmZiMTlhMThkZDA5ODliYWNhODU1NzVhMjU5YzU0NWFmYzMwIHJlbGVhc2UzMS1tYWludAorNzUwMDIgNzQzNWQ1OTFhMzI1ODNhZTEyNjFhYjlkZWRlMWE0NGQ1MjNmODFmMiByZWxlYXNlMzEtbWFpbnQKKzc1MDAzIGI3NzdlMGYwYjU3Y2EyMTE5MDhkMzQzNjMwODJlN2U0NTMxZDU4MjQgbGVnYWN5LXRydW5rCis3NTAwNCA1ZjYzYjUxNDI3MjUyMGZiOTcwMGM2MmZlNWIyODYxOThmYzI1MDZlIHJlbGVhc2UyNi1tYWludAorNzUwMDUgYjczNGQ2YjUxODUyOTRjNWM4NDMwZTJiZTI5YWRlM2I1ZDVkOTk1MyBweTNrCis3NTAwNiAzNTdjNzVkNTljZTk5NGJkNjY0NDgwZjAzMTQ3YzY2NTU4MjExNzY2IHJlbGVhc2UzMS1tYWludAorNzUwMDcgZjczY2RhZTE5N2M0ZDFlMmEwOGE0YjMzMzViYWNlYWE2NDQyMzZiMyBsZWdhY3ktdHJ1bmsKKzc1MDA4IDc4ZTAwZWI0NWRiYjQwZDhhZjRlYThlZWQ5MGQzMzZkZDgzNWU5ZDkgcmVsZWFzZTI2LW1haW50Cis3NTAwOSAxZjVmNzg4MThjNTFlODM0ZDI4YmUwNDg3YzlhYWYzMGYwMjQxMTYzIHB5M2sKKzc1MDEwIDgyZDc5N2ZmOWFhM2MzOGJmN2YyOTY4YTM5YjYxY2Y1YTEyZjBhYjUgcmVsZWFzZTMxLW1haW50Cis3NTAxMSA0Y2U0ZGE4NDdkOTNmMDUwM2QyOTA0ZDIzNzY5NTVkMTdmNDM2YTdkIGxlZ2FjeS10cnVuaworNzUwMTIgYzIzOTJhNzk3MTVkNjFkNmEyMTBhYzYyYTk0Y2RmOWM5MWFjMzBlNyBweTNrCis3NTAxMyA1NzRhNTMyZmI0MGIxODZlOGU3YmEzZmE1NzY2ZmJmNTliODFiMmJiIHB5M2sKKzc1MDE0IGFmZGEwODc3NjNhZjFlZGVkOWUxMjc4NDBjMTc0NDU4Mjk0ODUyMTAgcmVsZWFzZTMxLW1haW50Cis3NTAxNSA3NzE5MWYzYTFkMjdkZGM3MDE0OTU5YjdjMmMxNzdjMGE3MTdiYTVkIGxlZ2FjeS10cnVuaworNzUwMTYgNWI4YjE4YjAwZDRjZmYwNWVjZjNlMDg0MjFjNGYzMzg1MDZhNWZjOCBweTNrCis3NTAxNyA1NTU3YmM4Y2JmNjVmOTk0Y2U2MTUyMzhjOTBkNTRhYzdlNmYzNmM1IGxlZ2FjeS10cnVuaworNzUwMTggMDZjZTI3YTgyZTk5ZTdmZTNlZDg0YzQ1NjEzMTJkNGU2YzUxYjE5MyByZWxlYXNlMjYtbWFpbnQKKzc1MDE5IGNhZGJmYzczYTNiMGQ2NjJmMWE2NDBkZDEyOWM4MjNhYmJjYjIzNzYgbGVnYWN5LXRydW5rCis3NTAyMCA5YzZhOTgzY2Y2YTkzZTVjZTdmZmU5YTUzZmYxZTQ1YThlYzMyY2ZiIGxlZ2FjeS10cnVuaworNzUwMjEgMmFlOTNlYWM0MjBlMmFiOWE5YzZjZjk0Y2M5YzZiNWZjOGM2N2JlMiBweTNrCis3NTAyMiA0Y2ExMTVmMzNiNmI4Zjk2ODMzYWRjMzk5YTE0YjllMGNkNDMyMjcyIGxlZ2FjeS10cnVuaworNzUwMjMgNGFhN2RlNjYxMzdmY2MzZjM2ZGIxZDA1ZTg3N2ZlNDg1MGZmMDJmYSByZWxlYXNlMjYtbWFpbnQKKzc1MDI0IDMyMjhiYWZiZTZjOTM4NjU4YjllODRiMzU0NDYwMGFkZGU3MmFhMzkgbGVnYWN5LXRydW5rCis3NTAyNSAyZDM0YTc0ZjAwMTcyMDZmZThkNzBjYTcwN2UzZjM1MTIzMmU4YTMzIHJlbGVhc2UyNi1tYWludAorNzUwMjYgY2FlMDUzYzlmOWNhY2U0YmZlYThlYzUyZDkyZGM4OGM0MjcxNTYyMSBweTNrCis3NTAyNyBiMTlhOGFkZDExMmY4ODJkNWNmMDkzMjkzM2RkMTVmMDNmNDU3YWUwIHJlbGVhc2UzMS1tYWludAorNzUwMjggZDU5OWEzZjJlNzJkNmUwYzQzZTU3YTNhOGRiZDM2Mjc3YWIxNzA4NiBweTNrCis3NTAyOSAxZDBkNmY3NDM3OGM2YjUyYzdiYTc0NTM3NzgyMDExZmQ2NmQzMjJlIHJlbGVhc2UzMS1tYWludAorNzUwMzAgNjAwZWQyZGQ3NjcyODkxOTc3ZGQ4NGI5OTQyMDVhMWFlNDUxNDg3YSBweTNrCis3NTAzMSA5Y2FjOGJhNmY0YTlkYzU5ZWNlOGYyYWUyYmYxZjMwM2UyMmY3NGYyIHJlbGVhc2UzMS1tYWludAorNzUwMzIgYzI0ZjAwMDE4MmY0NTU1Y2Q1OWViODZhODAxNTlmNmZmZmNmNDNkNCBsZWdhY3ktdHJ1bmsKKzc1MDMzIDY4ODk5ZGMxMTdlYjM1ZmQzOTZiZmI0YjBkMDdiM2RiNmU2MGI2NjMgcmVsZWFzZTI2LW1haW50Cis3NTAzOCA1ODRkYjAzZTUyNDgwN2E0ZTc5ZTUwM2I5YjMzZWYzNmFjOTYwYjM5IHJlbGVhc2UyNi1tYWludAorNzUwMzkgYjRhYjQ5ZTI4MzA1MTAzYzkyNTFkZjQzYzMyNjY5NjlhM2QxMjVhMyBsZWdhY3ktdHJ1bmsKKzc1MDQwIDlkYWY4ODQwYTQ3M2UwOGU1NDcwNDUyYTc4MDRhZGE3NWE0M2JhMGQgcmVsZWFzZTI2LW1haW50Cis3NTA0MSA1M2E2YjM5ZWU0YjY2ZDk0M2MzNzVkYzI1ODIyZGI3NTEzMjY0YTU3IHB5M2sKKzc1MDQyIDNmZDdmMTIyNTU2YTk2MWE1YTlkZjVjN2UxNzFiY2JiNjc5ZjgyYWMgcmVsZWFzZTMxLW1haW50Cis3NTA0MyA3ZjdjZmFhMzgzMmUzZTI1YTNkYWZkOGUwNmMwN2RjYzY1Nzk3OGJkIHJlbGVhc2UzMS1tYWludAorNzUwNDUgMWQwZjQxNmQ0YmE2NDJmMzVlOGIwMTIwNzEyNmI0MGZjYmU4MjQxMSBweTNrCis3NTA0NiA4OTY2NzBkNDFjOWY3NGIzMWE4MjI3NDIxOTMwNzExYmQ0OWVlMTBmIHJlbGVhc2UzMS1tYWludAorNzUwNDcgZjlhNzBmMjI1NjI1MGU3MWFhMzBiYTMzM2RmNzZmOGMzMDEwYzE5YiBsZWdhY3ktdHJ1bmsKKzc1MDQ4IDc4NWVjY2MwMjVhYzZlOWZkZDA3MzdkMTM3MGYzYzJhMDZmNzA0NzYgcmVsZWFzZTI2LW1haW50Cis3NTA0OSA2NTZkMWQ0MGZlY2JmYzU1OWM1ZjdkYTgxMGQ4ZDhlMzRkMDkxMjcxIHB5M2sKKzc1MDUwIDU5MmJiODI1OWM1NDI3ODA0NWEzYWMxNThlNzJkNTliNTdiZDkzZWEgcmVsZWFzZTMxLW1haW50Cis3NTA1MSAwZjRlOTVmZjg1OWQyY2FjNjAwODRkMzU1ZDczMGQ2YjFiNmU2NTc5IHB5M2sKKzc1MDUyIDI4ZTJjZTAwZjU0NWJmNGU1N2E3YWVhYWM0NGQzY2RjODk1OWI0ZmMgcmVsZWFzZTMxLW1haW50Cis3NTA1NCAzZGVmOTUyYjUxNWMyYjQ1OGQ5NGQyMDRmZjhhZWNmNTE4MmU2MDU3IGxlZ2FjeS10cnVuaworNzUwNTUgMzU2N2U4NzE1N2Q4MzYzMWExNjNhOTFhYjM0ODNjNzc0ZjgzYTFhMSBsZWdhY3ktdHJ1bmsKKzc1MDU2IGUwNzNmYzg4ZGM4OTQ3ZjIxMDE2ZWQwZDU4MTljNjExNTA3Y2VjMzggcmVsZWFzZTI2LW1haW50Cis3NTA1NyA4ZWE5MjFjN2QxMGZhMTIzNzBmNTk5NzE3NTRmNTJjOWE4MjIzNmJkIHB5M2sKKzc1MDU4IGEwNzU2OGM3YTgyYWNhNTI3YWYwYWI5NjNhYTE2OWQwMTFiMzhlMmEgcmVsZWFzZTMxLW1haW50Cis3NTA1OSA1MGIxOGFlOGNlYzQ0OTI3ZTRhZWE5OTNkZGQ2NGIwYTExMGM2MTI3IHB5M2sKKzc1MDYwIDE0OWJlZDIxNzM1ZTA3NGFlMzFjZmFjZjdlZGE5ZmJjMzQxNTlkZmEgcmVsZWFzZTMxLW1haW50Cis3NTA2MSAxYjlmMTRlNWU5ZTUwN2Q3OGU2YjVkODA4YjVlNWExNDYwNTYzZjMwIHB5M2sKKzc1MDYyIDhjYzgyZGM2YmJiMDIzZjFlYzc4NGIyYzAxNDcyMmFlZjVhZmE4OTggcHkzaworNzUwNjMgMjY0NGY1NGUzNjc2M2UzODY2NWQxOTRhMjNmN2MzMWNkOTA2NDMzYiByZWxlYXNlMzEtbWFpbnQKKzc1MDY0IGJhODQxYmEwMGQwNjIyMmQwOWJlZGVjYTE3NmM4YzMzOWUyNmRmODQgcHkzaworNzUwNjUgNzgxZWY5NWNiNzgxODc2Y2ZlMTRiZWQ1ZjdhOTU2NTZmYmJhN2NhMCByZWxlYXNlMzEtbWFpbnQKKzc1MDY2IDJiZmFkZGIxOWMzYTFjNjViYmFmZGQ2MGRlZTFmZjdjYTUyOTg2YWIgbGVnYWN5LXRydW5rCis3NTA2NyAwMGE1Y2YzNzQzMTQ2MjQwMWExZDc2MjdkYjRjM2U2ZTVjYjMxNGVmIHB5M2sKKzc1MDY4IDg1ZTFkZGRlNTY5ZTI2M2FjNDg1YzAxYmNiN2ZkMmU5NTg1NWNiNGYgbGVnYWN5LXRydW5rCis3NTA2OSBlOTkwMjRlZGRmYjQ1YzYzM2I5YjlhOTU3OGVlYTNmOWY3OWYyYTA3IHJlbGVhc2UyNi1tYWludAorNzUwNzAgODlmYTI2NDE3MTVkMzQ5YTk0Mjk1YzI2YmExYTc5NzA0NmIyYmI0MSBsZWdhY3ktdHJ1bmsKKzc1MDcxIGFjYmZjNjliNTVmM2UwZDY0ODA3Y2VkOWM2NmRmYjQ5MGQzOTZkZGQgcmVsZWFzZTI2LW1haW50Cis3NTA3MiAwNzZiMjMzMzUyNjM3ZTIyYzk1MWE4YWJlMGNlMjBiNzY3NzQxZDNjIHB5M2sKKzc1MDczIGJmOWJlZjcwZjdlOGFjNjI5MWQ2ODViMTA3MDA2YjUwYTQ2Y2IwNDUgcmVsZWFzZTMxLW1haW50Cis3NTA3NCAyMDA2YTJmNDgxMmQ3NjdmNjllZjdjZmMwZjk2ODU5MGVjMTMxOWNhIHB5M2sKKzc1MDc1IGYzYzU5NTIxNGFiYzQwMDYxZDgyN2MxMmQ2M2RiNWVmODliOTdhZWIgcmVsZWFzZTMxLW1haW50Cis3NTA3NiA3MzkxNDM2ZDhhNzQ4OWQ0NjFiMjc4YWM5NWVlZmQ0Mzk1YzcyMjdjIGxlZ2FjeS10cnVuaworNzUwNzggZGQ0NTY0OTY5MDljZDRjY2FlZjNkN2Y2NjYzYzAzZTU5NTcyNWFkMSBweTNrCis3NTA3OSBiMDUwZWE3YmFmNDBkZWJjOTRhYzFkNjMzM2JiYWMxMTQxYTE4OGUwIHB5M2sKKzc1MDgwIDdlZTE0MGI3ZWY5M2JhZmRhY2E4ZGZiNTM0MjY2NjUxNDE2MTFhYzkgcHkzaworNzUwODIgMDQ1M2QxOGM2M2E0ZTg1ODE3NmU5MzM5MjNkZDRmNTI4YzRhZGI0MiBweTNrCis3NTA4MyBkNjg4OWRhMDY1MmM3Zjg2YmIzODM3YWU0MzQzOTQ1NTc2YzQ1NGFiIHJlbGVhc2UyNi1tYWludAorNzUwODQgNTQ2MTAxYTY2NzdjODRlMzM5N2ZiNmJhNDJhZjVlYzU4NGFjZjAxMCBsZWdhY3ktdHJ1bmsKKzc1MDg1IGIwZTk2MTliMzFkOGQwYTFkODcyNzI2MWI0ZDUzNmEzZDkwOGQ0M2EgcmVsZWFzZTI2LW1haW50Cis3NTA4NiBmY2IzMWJlMjEzNmQ2NGQwNDZhNTQ4OTE3M2I5MmY3YmFjNjFhZWU3IHB5M2sKKzc1MDg3IGMwZDk1NjI1ZjE3ZGU3OGZkZDc0NjU4Y2M2MmQ5YTAzYTQ4YjVlYWIgcmVsZWFzZTI2LW1haW50Cis3NTA4OSAxYTY1ZGRkN2Q5ZTE1MWRmMTNlN2YyN2I3ZDExNGM5MzRlNTkzMTZmIHJlbGVhc2UyNi1tYWludAorNzUwOTAgZjNmYTM5NjdmNDQ2NDFmNTg5YTBkYjYxOWNkMzg5NzQ0ZWUwOTUwYSBweTNrCis3NTA5MSAzZGVjM2I3N2I3ODc1YmMzNzFhZWFmNGQwMTA5ZGY4Zjk5ZWFjODI1IGxlZ2FjeS10cnVuaworNzUwOTIgYTA0MTA4NGMxZmRkNjYyNzBkODYwYmUxZTMyMzg0M2M1MGMzMzg1OCByZWxlYXNlMjYtbWFpbnQKKzc1MDkzIDkxMGRhNTQ1ZTE3YmM1ZjFhNDQxMGJjMjllYTc4OTJmYzNhYTc5ZjcgcHkzaworNzUwOTQgN2QwMjZmNzA2NDUwZDk4MDNkNGZiYWRjMDEwZGY1ODE2MmIyYWIwYyByZWxlYXNlMzEtbWFpbnQKKzc1MDk1IGJiOGI3NzBjZTg5MGU5MWJkZmYzZTU2Mjg3Mjc4ZWRhYWY2ZDViZWEgbGVnYWN5LXRydW5rCis3NTA5OCBmMDRhMWYyMDIzZWNiNjg4MWJmMTVkNjkxMzY3MGI2ZWRhMTg3MGEyIGxlZ2FjeS10cnVuaworNzUxMDAgZGViYjI0NWViYjQwMThkMThiODNjZDA3MTAyNGI0NDRkYTA0OTk4YyBweTNrCis3NTEwMiBjNzY2NzRjMmQ3NGQwMzlmOTE2ZmQ1N2I3MDNkZGViZDQ1ZjJkOGEyIGxlZ2FjeS10cnVuaworNzUxMDMgZTk1MjE4NjA1MzAwZWQwNjRkYzhlNTlkNzRkZGJiYzFkM2Y4ZGE5NiBsZWdhY3ktdHJ1bmsKKzc1MTA0IGFiNDllMGFjOGM4ZjEzMWUyYzNkNWNiN2FkN2Q1OWRiNDA3MjYxYmIgbGVnYWN5LXRydW5rCis3NTEwNSBiNmFmZjdhNTk4MDMwMDlkOGZmYzlmYjBhY2I1NmQ5ODZkYWY5ZTE3IHB5M2sKKzc1MTA2IDk0NTcyOTQ5YzFjYTRiZGUxMzM4MTc4YTg5Yjc4NWMyYzhlMTVhOWUgbGVnYWN5LXRydW5rCis3NTEwNyBkMTA4ZmU3N2MwNmMyNTZjZWVhZTg5MmNhZDMyZjIyZjE5ZWY2MGZlIHB5M2sKKzc1MTA4IDcwMTNlMzY1MTFhOGNlZGVmYjgxZWI5ZTViMjE3ODEwZWRkYTE4NTggcHkzaworNzUxMDkgODkyNzcxOGMxOThmZjdiN2E5ZjY1Y2E2NzY5NTE3NTQ2ZWE3Mzk0NyBweTNrCis3NTExMCAzYWI0NjRmZDVlMDFhNWRkZGE2ZWJhNjg3Yjg4ZGI1MmE4OTU4NjEwIGxlZ2FjeS10cnVuaworNzUxMTEgNTIzMWVjNTEyYzdhZmQwNGExZTU2Njg4ODMxODllMzYxOTkxOWRhOCBsZWdhY3ktdHJ1bmsKKzc1MTEyIGNmOTBhYTU3YjIwYmMzNjc1MjE2OTU4YTExYWQzZTRiNGQ5NDEyODMgcmVsZWFzZTI2LW1haW50Cis3NTExMyA5OWUzNmY0N2NhMGY3NjZmNDExMDFiM2MwYmIyYmJhY2Y2NjMyYWIyIHB5M2sKKzc1MTE0IDRlYzkxNWE1YmI0ZTBjZmM4MDhmZmZjYWZlYTAxZDE1ZjczNjVhMWMgcmVsZWFzZTMxLW1haW50Cis3NTExNSA3ZjY5NWRkNjRmOTAxZDMyZjJlZDVlNTY1YjgxMjI5YWViMDFmOTQzIGxlZ2FjeS10cnVuaworNzUxMTYgNTZiNTMwMDI5YmFjZjZhYjI4ZTg1YTAwZDIwMDRjZmMzNmE0MmJhOSByZWxlYXNlMjYtbWFpbnQKKzc1MTE3IGI1MGRkMTdkZmUyNjJhNDcyNWY0YWUzZTZlNDcwYTFmZDQwMGQzNWUgbGVnYWN5LXRydW5rCis3NTExOCA1MGMzMGE4Mjg0ZmJiNGNlNGNhYjIwYjk0NDI0MjEzODdlYTIxNzdlIHB5M2sKKzc1MTE5IDQ3YjgyZmJkYzJiYjFlMDBmMDM2OTY3ZTUxMjRiMGE0YmRkNzk0ZDkgcHkzaworNzUxMjAgMjAxMjRlYjg4MTFiYmZjODU2YzJhOGNhNjJmMmE5M2U2ZjIzMzc4NyByZWxlYXNlMjYtbWFpbnQKKzc1MTIxIGI5ODViY2RiOGI5MTRiM2NhZDRlNzRmYjQwMDk1MzA5ZDBhYmViYjggcmVsZWFzZTMxLW1haW50Cis3NTEyMiA4MjUwMjE4MjU0NjM5MGVhYWFiY2U5MjY3ZjNhMDcyYzdhMzk0MTYzIHJlbGVhc2UyNi1tYWludAorNzUxMjMgZWViZjNkNTFkM2E0NmYzNTgyZWQ0N2IzMmFmNWQwZWNkYmNkMDc1MSBsZWdhY3ktdHJ1bmsKKzc1MTI0IGVlOWE1NTFhODc1ZWQ0ZmU2ZDVjZTRiYjliNGNiZGY1YjRmNjRiYTQgcmVsZWFzZTI2LW1haW50Cis3NTEyNSBjNjNlMDYzODdiOGZjZGY2YTFlMjhlYjY0MjY0YTZjNjZlMzg2ZjRjIHB5M2sKKzc1MTI2IDc0YjE4YTI2N2NkNzUyYWRhM2IzZGI0ZWZkZmUyZDUyY2U3ZTUxZTYgcmVsZWFzZTMxLW1haW50Cis3NTEyNyBlZGQ5YTVlM2NhZmI2ZjA5NmUxYTI2NjAzYmY3MjcwYmEyNzQ4NjdmIHJlbGVhc2UyNS1tYWludAorNzUxMjggMzU3N2FmNTEyZGY1NzMwMzNmNWI4ZTE4ZmU4MzQ3YWQyNjM2ZGYxOSBweTNrCis3NTEyOSBmMjZiODAyYzAwM2U1YzAwMzU0MDc0NmU4NDFiN2ZiMjdkMDg4ZDc4IGxlZ2FjeS10cnVuaworNzUxMzAgYThkMGU3NjRlMzRiMWNhMmVkY2I0NWZlMWM3YWFhYzM0Yzc3MzBmNSByZWxlYXNlMjYtbWFpbnQKKzc1MTMxIGU1YjgxMjEyZmRmZDcxNzY5ZjQxMmZhZmQ1NGJhYTg4M2IzOGJlODQgbGVnYWN5LXRydW5rCis3NTEzMiA5ODY3MDljMjQ1MzE4OTQwNzAxZDFiZmExNzYzMThmNWZkOThiNmJkIHJlbGVhc2UyNi1tYWludAorNzUxMzMgNGQ3NDczNDQ5NWNmZDY2ODdkMTE5MzViOTEyMzZkODllNzU5YjI4MSBweTNrCis3NTEzNCBlMGYyMzQxMTZhYjE0OTgzNTY5Mjk0ZWZjYWYzZDEzYTBkYjI1MjgxIGxlZ2FjeS10cnVuaworNzUxMzUgMmUyYzE0MmJiZWFhOTlhYzE3M2M4ZDg0Y2Q2MWJiNTFmYjFkZDZjNiByZWxlYXNlMjYtbWFpbnQKKzc1MTM2IDE4NDM4ODZiMmIxZDg2MGIwOGNmOTZiZjhlMzQ2MmI4ODY1NjFkYTYgcmVsZWFzZTI2LW1haW50Cis3NTEzNyAxZjczNjFjNzQyMzRjNWNjYzI0NGJiMDE1MjY3Mjk2MDAxY2VjOWIxIHB5M2sKKzc1MTM4IGU3MmE3M2FkN2UyOTRjYmVmZmExZjVjNWI5MGE4ODY3OWVlZjYyZDMgcmVsZWFzZTI2LW1haW50Cis3NTEzOSA4ZTliZGM2YTEwMGZhMDg2YmQ0NjZmYmE2ZjJhYzYyYzMwYmIyOTJkIGxlZ2FjeS10cnVuaworNzUxNDAgMTlhNGE2MjNkOGI3MDQ0YzJiMWI5ZTI1MWIyYzhiMDhhNDI0MjRmYyByZWxlYXNlMzEtbWFpbnQKKzc1MTQxIDkxZjlkZjUzNjdjMWE1ZjFjNjE0NmNmODRlOTZkYjM5MTcxZjVhNzAgbGVnYWN5LXRydW5rCis3NTE0MiBhMTdjZDlmY2RkNDY5ZWQxZjM4NTA5MmNkODA4MTQ2YmYxZjIwNjBiIHJlbGVhc2UzMS1tYWludAorNzUxNDMgMWVhMDNmODZlMDgxM2RkODBlNTlmMGE2NzU1MmIyZjVhOGQxMTU1NyBsZWdhY3ktdHJ1bmsKKzc1MTQ0IDdlMTg1NjE2N2M0YTgyZWMxNzU0MDI5OGNjODI1ODNlNThlNzQwMDIgcmVsZWFzZTI2LW1haW50Cis3NTE0NSBiYTE5NjYyZWIyMjFiODNlNjM4MThlZTRiMTNhMTQyZjMzMTRkMjgzIHB5M2sKKzc1MTQ2IDA4ZTU5MDc2ZDg2YjJjYWUwZGZlMjdjZjU1OTBmYjkzZTgxNjBhNTAgcmVsZWFzZTMxLW1haW50Cis3NTE0NyBmOTliY2E2YWIwZGNjODVlNzhhNGZjMDk1OTNjN2NiMzI0MTFiM2FmIGxlZ2FjeS10cnVuaworNzUxNDggZGFkNzQ1M2QwZDA4NjJiYjczMDI1NTM3ODhmODViNGUxYzMxMzYzNyByZWxlYXNlMjYtbWFpbnQKKzc1MTQ5IGRmNThmZjJkZTA5YmEyMTg1YzIxMTlmMjY0YjYzOGU5NzljN2QyNTMgbGVnYWN5LXRydW5rCis3NTE1MCA2NzE2YzVmOGM2MGQ1Y2U1NDYwMzRhNTRhODM0MzI4NTM1ODUzOTA1IHJlbGVhc2UyNi1tYWludAorNzUxNTEgMTg3MzU0MmMwMDAwMGM0YjdjZTJjNzk5MmQxZjJkODdmODY2MjMyYSByZWxlYXNlMjYtbWFpbnQKKzc1MTUyIDBlZmZkYjM5YzQ3YjdhMDdiMTk5N2E1ZGJiNWJlZTY2NzY2MTNlM2YgcmVsZWFzZTI2LW1haW50Cis3NTE1NCA3YmNhZjA2NGUyNDA1Njc0ZDhiNTZlMGI0ZWNiZjE4NjUwMjI1OTk5IHJlbGVhc2UyNi1tYWludAorNzUxNTUgNWFjYWU0NmFmODQzZmE4YzNhZDkxMjcxYTQxYjBkMGJkZTMyZGRjNyByZWxlYXNlMjYtbWFpbnQKKzc1MTU2IGQ5MTIwOWQ4MjUxZGU2MDUzMGMwNjZhNTZmNDQ5NzQxMmViNDU0ZjggcmVsZWFzZTI2LW1haW50Cis3NTE1NyA1ZjI0NWRhNzJhZWJiNGQyNzdmZWE0NGIzYmUwYmM0MzU1ZTA1MjYzIGxlZ2FjeS10cnVuaworNzUxNTggMWMwMTZmMGU5NGJhYzFmNjQyOTBmOWIyY2Q4NjkxZGRmMWUyZWVmNCBweTNrCis3NTE2MCAxNmM5ODVkYWFlYjA5ZDY1M2I2NGNmZWI3NmQ0ODRmODk5NDdjZjUyIHJlbGVhc2UzMS1tYWludAorNzUxNjEgZTdlNDUyNDQ5YTVlYWM5YThhY2NiYmZjYTc1NTAxODNkMWIzMzkzZiBweTNrCis3NTE2MiA3MDNkZTU1ZTAwYjg1ZDY3ZWUwNGQ3MzhhZDE0Mzk1MzE5MDRmMjEyIHJlbGVhc2UzMS1tYWludAorNzUxNjMgMDg0NTgwYTM0OWI3MTEzNzg2NTc2MjE1ZmJmZjRiNWNiOTFkNzY4NSBweTNrCis3NTE2NCAzMzliODIzMjFmOGVmNjM5YTFjYjQ4ZjQwM2I2NTBjYjIxZTVjZWZkIGxlZ2FjeS10cnVuaworNzUxNjUgM2UyODgxNmFhMGEyMzI1YTcyN2VmNjFiYmExNWNiNTg5YjUzODJjYyBsZWdhY3ktdHJ1bmsKKzc1MTY2IDgwN2IwZDU5NzMxNGIyZjQ0YjU1ZjcxMDlmMjA0YmVlMDBkNzQ1MTcgbGVnYWN5LXRydW5rCis3NTE2NyA5MjE3YmQwY2MzZmNkNTAzODAzNDJjMzMxM2EyMjEwMzRlOWE4YTg1IHB5M2sKKzc1MTY4IDEwNjQ1NTUyMzdlMjE4Y2ZkMzlmMDk2ZTAzMTgxM2MwMTdjYmQ1MjcgcHkzaworNzUxNjkgZTFkNjk1MWJmMzlkN2RmY2RhNjBhYWZjZmZmZWFlZWI4YjA1NjlmYiByZWxlYXNlMzEtbWFpbnQKKzc1MTcwIDVlYzE1ZGExZmM0MjIwNWExZTEzZTE5YzBmMzdiNDViOTBlMzA3YTIgcmVsZWFzZTMxLW1haW50Cis3NTE3MSAxMTdiMzA4YmUzMjE0MzZiNmJhOTE5YTkwMTFjODMzOGM4NDc3NDUwIGxlZ2FjeS10cnVuaworNzUxNzIgY2UyMTRlZTQxMTY0OTI4YTMwYjY2ZGRlZmI0ZTFhMDhhOWU4YmI0YSByZWxlYXNlMjYtbWFpbnQKKzc1MTczIDE3MDBhNzg5NzNjZDgxNDZiMGI4MmVjZTE5MWZkMWYzNTZmZDM5NDEgcHkzaworNzUxNzQgMmM3YjFkNWM4YjY1YjFjZWMxZTI5ZWJjMzI1Nzk0YzMzMzQyNTcwZiBweTNrCis3NTE3NSBkYzM1MDBkMzllZjE0ODk5MTgxYjMwMGY2ZmI1ZTQ2MGI3MmJhODM2IGxlZ2FjeS10cnVuaworNzUxNzYgZmU4YjliNzNkOWFmMGQ0ZDZmNGNkMjk2M2QzODljZGUwYzZhNzc0MSByZWxlYXNlMzEtbWFpbnQKKzc1MTc3IGUzMDRkOWYzNGQxNTI4NzA1MzBiMmQ4MTA5ODRiNzM4YmE3MGFjOGQgcHkzaworNzUxNzggZmU5NjRiM2M5NjYyYzc3MmVlNDBjMzc4NzRlYzZkNTY1ZDI2NTYxYyByZWxlYXNlMzEtbWFpbnQKKzc1MTc5IDlmMTk4YjBmMzY3ZmJhMDRkYWMzNjFiYTBhM2E1ZTRiYzMxYzI2YzMgcmVsZWFzZTMxLW1haW50Cis3NTE4MCBlNmE1ZWJlNWFlZGQ4ZWUzMDJiZDQyM2NkNGNkYjJhOTI2ZTg2ZjM0IGxlZ2FjeS10cnVuaworNzUxODEgNzgzZTZjYzJhYjYyMzUxOTZiOTI3MDUwYjZhYTliNWNjOTIxMmRjOSBsZWdhY3ktdHJ1bmsKKzc1MTgzIDAwYzMzOTZkN2E4YzRhYjRjMmM4NDFkNjEwMTNhMDczYWU5MjFkMGYgcmVsZWFzZTI2LW1haW50Cis3NTE4NCA4ZTdhNjkyNzg3OTgxNTg4NzMyZjY1MGFjMmZjYWE1MDM3MmEwYzJhIHJlbGVhc2UyNi1tYWludAorNzUxODcgYzg1MGNlOTc3YmI5ODJkNzI1MWQzZjdmYTQ3MzBiZTRjZmI1ZjZhMiByZWxlYXNlMjYtbWFpbnQKKzc1MTkxIDRjNTk5ODNiYjA1Nzk2NjU3MDYxNmMyYzNmZDIwOTU0YzI2ZjljNmIgcmVsZWFzZTI2LW1haW50Cis3NTE5MiBjMmM5MGQxZjNjMzNlYzY5NzI0ZTY5ZjgzMmQ0YzM0YTVjZjZmMTA1IGxlZ2FjeS10cnVuaworNzUxOTMgNzI5MDE0MGNkMzMwMjcwNDQ0NDBhNjNiMWQ1NmI4MjBhOWQwNjAwOSByZWxlYXNlMjYtbWFpbnQKKzc1MTk0IGM0MTE5Mjg2ZmFhNzVkN2RlOWUyMWQxMDc3YzZjM2E3ZWM2YmRiZTUgcHkzaworNzUxOTUgOWIxZWI1ZTc1ZTE1OWU3ZTdlZDNlM2Y5ODUzNjY5OTQ4M2YwNjhkNCByZWxlYXNlMzEtbWFpbnQKKzc1MTk2IDdkN2Y5NzgzYzg2ZGIxNDkzZjM1NjA0Mzg5NWQ4OGRhOTgzYzdlMmYgbGVnYWN5LXRydW5rCis3NTE5NyA2NzQwOWJjOTlmYTJiY2YwMDAxNDBjYTAzZmE5ZjVkNGVhYTUyMTMzIHJlbGVhc2UyNi1tYWludAorNzUxOTggNzdlZTIyMDY4NmNjNTAyYmIwMjk1OWI5MTQ2Y2EwYzgzOTU3OGIzMCBweTNrCis3NTE5OSAyNzVkNjBmOTNkM2M1ZjYxOTA4ZThkN2QzNWZlYTkyMDEyNzQzMWEwIHJlbGVhc2UyNi1tYWludAorNzUyMDIgNDMxMzUwZjIxZDg3ZTlkOGVjNzBjNmY1YWM2NWMzMjNmYmFlNzBhZiByZWxlYXNlMjYtbWFpbnQKKzc1MjAzIDkxMzBmZTljNThiZjk3ZGY4ZDQzZmQyMzM2NGFmMDU2YmYyYTcwYjEgcmVsZWFzZTI2LW1haW50Cis3NTIwNCBmYzc0ZDUxYTY3OTc0MWE5ZDUzNmMwYWE1ZDQ4OGU3YTM0ZmY5NDdhIHJlbGVhc2UyNi1tYWludAorNzUyMDUgZDQxMzYwOTBhYzM0ZjkxZWRhMTFlN2UzNGQ5MzNjZjYwNGFmNTcwNCBsZWdhY3ktdHJ1bmsKKzc1MjA2IDI1Y2ZiNzBiY2Q1ZTlkZDA4Y2YwZTU5MGRmNDU3NjU1ZjEzZjkzNGEgcmVsZWFzZTI2LW1haW50Cis3NTIwNyAzZWUwNGVhOWNjNmUyZjczMWY3NTEzZjJhNWRlNzI3ODg4YTBiZTkyIHB5M2sKKzc1MjA4IDk0NmNlY2FmNjRjMWYxZDA3N2Y2NmMwMjBmNjUzN2Y4NzNjNzk5MzMgcmVsZWFzZTMxLW1haW50Cis3NTIwOSA1Mzg0YzhlZTRhMjZjZTAxZTc3MDRhZjM5ZGI4YWYzZmU3ZjJmYmQ3IGxlZ2FjeS10cnVuaworNzUyMTAgMzliOTk5NGU4NjY5M2IzNTFkMmMzZWY5YWMyYWY1ZjJiYzZmY2EwMyBweTNrCis3NTIxMSAyOGZiY2M3OWMyMGE5M2M2YTY1Mjk5MGMxZmUzNDQwZGIzOTJlMzU4IHJlbGVhc2UyNi1tYWludAorNzUyMTIgNmQwZGZlM2ExM2NhMThhYjM0YjUzZGQ2M2Y0MmQ1MjkwMmRhOTBhMyBweTNrCis3NTIxNCA4NDlmYjI3YzU1OTQ2NjI0NGJlMmMzODNmYThhZWQxNmQ2NWNmNDRhIHB5M2sKKzc1MjE1IDUyMjdlYWJkYmI2NDc1ODYwOGI1MWI4ZTQxOGUwNTkzOGQzMWNmNDUgcmVsZWFzZTMxLW1haW50Cis3NTIxNiA1M2YxN2NjN2JmZjY3YzZjMGM4ZWUzNjA5YjFkMzgwNzExNmI5MzQ2IHB5M2sKKzc1MjE3IGQ1NDkzNjZkZDIxOGIzMjQwYzNhYmFmM2Q4ZWQ0OTc2YzE5MWFkMmMgcmVsZWFzZTMxLW1haW50Cis3NTIxOCAxNTBjZGFlYTU4ZWM2OTE2YWM1MTlkMDkzMzdiM2QzZTZkYmNiMjQ3IHJlbGVhc2UzMS1tYWludAorNzUyMjAgNmNmZjY4MmEzMDk4MWZlMjAzMzUzODE2NDQ2ZDA2Nzk4YThiNWUxOCBweTNrCis3NTIyMSA1YzBhNzgwMDIxNWE2NzQzYmYxN2JmY2M0Yjc5MmUxOTYwNzNkZWJlIHJlbGVhc2UzMS1tYWludAorNzUyMjMgY2NlYjYyZWIxY2YxODMyYjI3NjJiZGZlYWY3YzlmMWVjNWFjODYyNCBsZWdhY3ktdHJ1bmsKKzc1MjI0IDQ1ZmNlMzEwZDQ3OTJjYzNmOWFkMzM2MTE4NjUyZTg2NjUwZjQxNjcgcHkzaworNzUyMjYgNGY0OWJkMmU3YzU4ZDI5ODQ5ZDIzN2ZhZTY4MGZkODY0ZDA0M2JjYSByZWxlYXNlMzEtbWFpbnQKKzc1MjI4IDIxOGNkZDZjNjg0Mjg1ZDgyYjhiMDgzYTQ4MDI4NTc0YWJhMTM4MTYgcmVsZWFzZTI2LW1haW50Cis3NTIyOSBkNWQ4Y2I5OGViMmFlZWEwOWQ5ODUzMGFhY2Q1OTU0ODUwNjUyZmNlIHJlbGVhc2UyNi1tYWludAorNzUyMzAgZjQwNTZmOGZlZWMyNmJkMjkyNTM2ZGY2MThlZmFhZDgwOTUzNTJlZSBsZWdhY3ktdHJ1bmsKKzc1MjMxIDQxYmI1ZTJkYzk0N2FjM2Y3YzRhZjk0NmMwMWExNGUwYjBhZDA2N2IgcHkzaworNzUyMzIgYzliZDYyZWZlNmNlNTUyNGUxNzRkMTA2M2QxNjViOGM5YmUwYjM2MyByZWxlYXNlMzEtbWFpbnQKKzc1MjMzIGJlYzJlNDQ1ZTIyNGI2NWEwZGYxMjFkNjFmOTk5ZTgwZDRiMzEyMGMgcHkzaworNzUyMzQgNWJjZTNhNTliZmQyYzVlZmM3YmE4ZmM3MWJmNzllY2VmZDE0YzlhYiByZWxlYXNlMzEtbWFpbnQKKzc1MjM2IGJiMmExMjNjZGQ3YmIyYWY1ODAxOTIxZDgzNTMzYjBjNDhiMWUwNDkgbGVnYWN5LXRydW5rCis3NTIzNyAzMjFjMjIwN2Q1ZjhmYTk0NWI1MjkxN2Q0YTg0NTliYmUxMDc3NDJkIHJlbGVhc2UyNi1tYWludAorNzUyMzggOTE5YTI3ZGRiNGEzMjExODZiMTMzNDVhMzU4OTIyMzJlOWIxYjZjMSBweTNrCis3NTIzOSAwNTM4OTAxNGJmNDQ0OWNkYTA2MjVjZTJhNGIyNjRlYjBhOTcwZWZmIHJlbGVhc2UzMS1tYWludAorNzUyNDAgYTJjYWJiMzYyNTdmM2JjMDEzMDVmOTVkOGMwMzJkMzUzYjYzYzYwMSByZWxlYXNlMjYtbWFpbnQKKzc1MjQxIGMyMTlmNzI2MWQ5ODYzNTYzMTE2ZDU0NDdkYzY3NzZmM2ZlOGFhY2UgcHkzaworNzUyNDIgOTIyYzExMjJjOTI1YjZhZTU2MmYxOGZlNzIwYTk5MDdhMWRkNGM4NCBweTNrCis3NTI0MyA4ZGJiMGZjMzk5OGFkMDg5MDQyNDE1NTI0YjdlY2VjMjlmNWYwZDgzIHB5M2sKKzc1MjQ0IGM4Mjc3MTBiY2RmZGIyZjYxYzQxOGVjNzQ0YmMzYmM5ZWNiYjU0ODYgcHkzaworNzUyNDUgMTM4YzdmYzE5YjVkNmVlYzRmYzM0MGNiNjRkZjk2OGYwMDBjOWUzNyBweTNrCis3NTI0NiAyYjdlMGVhYWM2NGVkZDQwMDBhM2Y2YzQ0ZDM5YTY0NTVkOThlYzdhIHB5M2sKKzc1MjQ3IDJlNGQ3YTQwYzJkZDdlMTMzYjcxYTk4Nzk3NDc5OTZhN2I5ZGUyM2QgcmVsZWFzZTMxLW1haW50Cis3NTI0OCBiMGI5ZTU5MjhkYTk5ZGRkYTJiNzVjNzRjNGM2NmNkZTgyZDIwOTY3IHB5M2sKKzc1MjQ5IDZiMjNiMGViYTQwNTE2NWEwYjFhMmRjOWI2N2RkNzhmNmM1ZDAzMWMgcmVsZWFzZTMxLW1haW50Cis3NTI1MCA3YWE0YTQyMTE1MmY5MjRlMTFmMTA3MjFjYTMxMDFiYjI4ZTVmNDg2IHJlbGVhc2UyNi1tYWludAorNzUyNTEgMzhiZTI2MzkwMzU1MDA0YjYxYTVjMDIwZDY3MzQzOTA2Mzg5MjRhNyByZWxlYXNlMjYtbWFpbnQKKzc1MjUyIDQ5MDE5MGNiNGE1NzcyMjg2NzMzNDZkZDY1ZTE5NzVlNjk2ODk1OTEgcmVsZWFzZTI2LW1haW50Cis3NTI1MyAyNzhjZjVjOGYxZmE5N2MyNjY4YzkzOTEyZjMzNjg0ZWRjODQ0MGRlIHJlbGVhc2UyNi1tYWludAorNzUyNTQgZDUyNTBkYTAwNWNhNzM5ZjJlYTg2OGYzY2QyODkwMDM5NmZiMDRiMCByZWxlYXNlMjYtbWFpbnQKKzc1MjU1IDk3NGMwM2M5ODg4NDgwNmNmZDM4NGMyNmRiNjA3ZmU1YmEyYmNkYjEgbGVnYWN5LXRydW5rCis3NTI1NiAyOWMwMTk2YjFiZGQ3YjUxNzYwYzEyNmZiM2E3MDg3MGE3MjU4YzI4IHJlbGVhc2UyNi1tYWludAorNzUyNTcgYTAxZjQxM2VhMDhiNmQ5MTdiNTdmN2EwYzBmMDJkNDc4ZGNjMmI5NiBwZXAzNzAKKzc1MjU4IGI0ZDFiZTcxMDJiMzFiMDExMzdjZjE3MjdiODU4YjQyNjE2Y2JmYWMgbGVnYWN5LXRydW5rCis3NTI1OSBmN2VlYTYyYjA4YjA1YTNiOTJhOWRmN2FlY2QxZGFkN2YyNDg3YTg3IHB5M2sKKzc1MjYwIGVlOTAyMDE2MjQzYTI5ZTc3ZGQyZTZkYWFkNTFmZDNiYzEyYTJmNTggbGVnYWN5LXRydW5rCis3NTI2MSA5ODdlNTk2Y2Y1NzM3M2U5ZmMzMTE2YWYxMzRhNzJhNzFkOGNmYmEzIGxlZ2FjeS10cnVuaworNzUyNjIgMWM3ZjJiOWExNjc4MmMwNmM1MTA1NGQ3NTdiOGE3NTAwNjgzODMzMiBsZWdhY3ktdHJ1bmsKKzc1MjYzIDJmYTlmZmU2ZDE0NTFkN2ZlZGVkZmQzOGIxMjQwYjVkMWYwMGY5ZWUgbGVnYWN5LXRydW5rCis3NTI2NCBkMmY5NTkxMTU0Mjg2ZTU0ZjIxMjQzY2QzMmI3YzAzZDlmZTQ2YzgzIGxlZ2FjeS10cnVuaworNzUyNjUgYTEyZTcwMWQ5N2NhYzc4N2YxNWU1ZjQ5MzNiMWE4ZjU2ZDRiOWZkNyBsZWdhY3ktdHJ1bmsKKzc1MjY2IGE0NTk1MDcyNmJkZmJhZGJlZTE1NWVkYjgwNWQ3MzNlMjAzY2ZiMWYgbGVnYWN5LXRydW5rCis3NTI2NyBhNmU3ZWQ1MmRmOWIzMTdlNmFjODgwYTJiNmExYjZmMTlhZDM2MjQ2IGxlZ2FjeS10cnVuaworNzUyNjggYzlkOWI3ZDA5NDIyZjdhNmE5MjAyMTA4MWY4MDAzYTliZmVjZTI4YyBsZWdhY3ktdHJ1bmsKKzc1MjY5IGE0YTMyNGMyYTAwYzc4MDg0ZWFkZGQwMDNiNjU2ZTM2NmM2ODA0NjcgcmVsZWFzZTI2LW1haW50Cis3NTI3MCAyNWFhOTBhNjg2NWI2MzEzMzk2MmRkNjQ2MjZjNTNjN2I2ZmQ0N2Q1IHJlbGVhc2UyNi1tYWludAorNzUyNzEgNDMzZjcyN2U1ZTgyM2YwMGQxMDIzYjQzOTAyZWJiMzhmYzJmOTIyZCByZWxlYXNlMjYtbWFpbnQKKzc1MjcyIGE5ODY0NDE3Mjg2YjkzZDVjYjU2OTQ3MWEyOTgxNjE1MTdkNWQ0MWMgbGVnYWN5LXRydW5rCis3NTI3MyA1ZTNmNmU4ZDZhZTU5NTU5N2M2NGQ1Y2FlYTA3OTQyNTRmYzRiMzViIGxlZ2FjeS10cnVuaworNzUyNzQgNmM5MWQxODAzMTgyNjgxNmE5OTExOWEzOWZjYzRmNGY0ZTY5ZTdkYSBweTNrCis3NTI3NSBjNWEzZDQzMTQ2NzY5ZGEzNjc3MDhjMTFiYzRjNDczOGM5OWUxZGM5IGxlZ2FjeS10cnVuaworNzUyNzYgMzI5NjkzNTI5OWNlNjI3ZDc5MjEwYzYxZjU2OTZiZTZlMDY4OTk3NyBweTNrCis3NTI3NyBkYzA0N2Q5YWJmN2I2Y2Y5MGZkYzEyYmRlODYxN2I5YTAwYmU4ZjBiIHJlbGVhc2UzMS1tYWludAorNzUyNzkgNjE1NWI5NTlmZjcyYmRmNWVmM2NhMGYwZjE5Y2U0NjY2MmE5OTk0YSBweTNrCis3NTI4MCBmOTliM2ZjMDFmYzA2ODk2YzM5MjkyYjQ5NWIwYmJkZmJhMDYxMDFiIHJlbGVhc2UzMS1tYWludAorNzUyODEgYzQ1Y2UyODVmNTUyYjk2M2U0Mjg2MTUyNWZkMTJiYzBjY2YwYTlkOCBsZWdhY3ktdHJ1bmsKKzc1MjgyIGI3ODUyMWFlN2E2MjQ1ZTQ4YmQ1Yzg4MmRiZTU5ZjM3ZjU1OGIwODcgcmVsZWFzZTI2LW1haW50Cis3NTI4MyBlNzU5Y2EyNTcwMWQ5YTY2N2RkYjg3MmJiYTViNTc3N2U3NjZlZjdkIGxlZ2FjeS10cnVuaworNzUyODQgMjQ5YjBiZTc5N2E4MmUyZWRmNjNjNzgzMGU1ZmEzNjcwYmM1NzJmYiBweTNrCis3NTI4NSBkZDk0ZjFkOGM5YTVjYTQ0Njk2MzQ5MDY3MDE3ZmJiZjIzYjFkODM3IHJlbGVhc2UzMS1tYWludAorNzUyODYgNDhhYjJlNjJkZThiYzZiZDM2NWFjMWEwMTQzMTE5YTY1YWIwNjE3OCBsZWdhY3ktdHJ1bmsKKzc1Mjg3IGVmNzM0NjQ0OGI2MDBkZmNlZWI1NGFmMTAwM2QwZjdlMDI1NGQxZjggcHkzaworNzUyODggMzA3MmY5NDBmMzVhMzZiNmQ0OWY1ZTI0ZWYxZmRkNTViODg5YTFiYiByZWxlYXNlMzEtbWFpbnQKKzc1Mjg5IDk2YWZmMmMyYTlhMWQ1YjcyZTBmNGYxZDBjMWVkNzk1OGQwNzhjNWYgbGVnYWN5LXRydW5rCis3NTI5MCBjYjQ5ZjJlYjA0NTc5Zjg3YWZiZWNhNzA5ZDA2ZTc2YmNmMmEwNjM1IHB5M2sKKzc1MjkxIDlmNjMxYTNiYjU0OTNmYWQ5OTgxNzkyOWQ4OTk4MTNmODBiMGViZDAgcmVsZWFzZTMxLW1haW50Cis3NTI5MiBkNzkwMjAyYzE1MWRiMGM2ZmI0MzUyOTg4ZmQ4MTdjZmVmZjU0YmE4IGxlZ2FjeS10cnVuaworNzUyOTMgYWJiYzc5NzU3NWM0MjM3MGE5ZWNlMWJjZGI0NTA2MWM4ZWQxNTVkMiBsZWdhY3ktdHJ1bmsKKzc1Mjk0IGViMGMzOWY2MmRlMTljYzdjMjQ3ZDY0NDkwOThjYzlmZTBiNTQ4NTAgcmVsZWFzZTMxLW1haW50Cis3NTI5NiA1NDU4YzIwYWEwY2Y4Mzk1YmY0ZGI0OWIxYzE5Njg1N2RmZTM1MDk3IHB5M2sKKzc1Mjk3IDk0NmUzYWYwMGIwYjhmMTNiNjhmOTdkODdhZjViMmUzZWI3NmQ1MWQgcHkzaworNzUyOTggMmM2MGU5NDYwNjJlYzBhZmFhMjFkM2JlYTdiNzI0M2Y2MzU5NmJiYiBweTNrCis3NTI5OSAyNWU1MWM1YjA2OTZlODVjNDkwMWI2OTZlZDdhMjQ1ZGM2NmFhOTZiIHB5M2sKKzc1MzAwIDg5NmE0ZmIxM2YzNWM5MWRmZmIwNTRkZjg1ZWVhODJkZTNlOWRlNzUgbGVnYWN5LXRydW5rCis3NTMwMSAxZWM4YzdmYjg4MDdiNWFmY2Y2YzUzNjU0MGE2OGE1ODE1NTg4OThiIGxlZ2FjeS10cnVuaworNzUzMDIgMTJjZDk0ZDM5ODc0NjQ4ZWIwZjNjZmI1MzdjZWRmYzBkZDAwZjIzMSByZWxlYXNlMzEtbWFpbnQKKzc1MzA0IDU3ZWUwNzkzZTQ2MjdiODBjZTEyYjZmZjQwMzRmZWE3YWRjNDVkNzUgbGVnYWN5LXRydW5rCis3NTMwNSA2ODQ5NjBmYjFjYmY2NGU4NTc5NzljYzJhOTY4NWYwNjcxNmJjMTE5IGxlZ2FjeS10cnVuaworNzUzMDYgYWI0MjAzM2ZkZmRiZTVhYjRlMTI2ZWU1ZTFhODA4MWVjMWNlMDIzMSBweTNrCis3NTMwNyA5MWFhMDQ0MTAxMzkwY2VkMzk4YWFkNjFlNzEwMDFhMDY3MGQxNTlhIHB5M2sKKzc1MzA4IDI4MzY5MzllN2M1NDdmZmVkNDA2NDZlMTIyZmYzYWJkMGViMjM2MmIgcmVsZWFzZTMxLW1haW50Cis3NTMwOSAyOTkwOGYyYmM5M2ZkOGNkZWMzNTc0Y2U0NzBhNWFkMDFlZjA1N2JiIHB5M2sKKzc1MzEwIDZkMDkyYTUxZTE4N2U0NTIyZDZiZGU4MzU4NDljYzI2MTUwZjZmMGUgbGVnYWN5LXRydW5rCis3NTMxMCA0ZjkxMzEyZDZlYzJhYjM1ZTdhYjgyMmE4M2RhMDA5MjMwZjEyNGFhIHB5M2sKKzc1MzExIGI1ZWE0NzczYWZmMTAyMWEzNTYxMWJlYTIxZDBlNGJhOTY3NGUzNTUgcHkzaworNzUzMTIgYTJmMDJhMTI1ZmViMGI5NjlkODM4NjRhMGU5NDdmNzlhOTgxNDNhOCBsZWdhY3ktdHJ1bmsKKzc1MzEzIDMyYzM1ZjliMjQ1Yzg3YzBjMDc5Zjg0MWI5ZDdjNWQ1YzZmY2E4YzMgbGVnYWN5LXRydW5rCis3NTMxNCBkNzNmMjIxNWVmYzE5ZjkyMzcyNjhmOGI0NzMzOGQ1OGEzOWM4MGUwIHB5M2sKKzc1MzE1IDMzYjA0MTM1MDAzNDJhZjcwYzI4YjljZDM1NDkwYzFhNTRiZDU3YzMgbGVnYWN5LXRydW5rCis3NTMxNiBlZjMxYjA0ZGU1MDU2MmZmYzQ1MGE2YTFkNDBlMGFlZWY4OGQ3NmFhIHB5M2sKKzc1MzE3IDM5MzFjNzhhZjExNzViM2M3NDI0ZjMzMTNkZjAwY2I5ZjA1ZWRjZWQgcHkzaworNzUzMTggZmY4Yzg2YTI0YjE1OGZiYWUxY2Y0NTQ4NTVmZjU4Yzg2ZjAzNDE0YSBsZWdhY3ktdHJ1bmsKKzc1MzE5IDM1NjE5Y2ZjZDBiNWJmNWE0MzAwMWY2MjEzZmIyZDJmMzM4ZDg0NTggcHkzaworNzUzMjAgMjIwZjdkZWZmYmFmYjU3NjAyYmE3MzVmNDMzYjJlZDA3MDEzM2ZiZCBweTNrCis3NTMyMSA0MmE2YTIyNDk0NzRjYTZiMjBjMTEwNGFhZTg2YmEwNzhkNWYyNTdmIGxlZ2FjeS10cnVuaworNzUzMjIgMzQ5OTlhMWFlYTliMjYxNzYxM2ZjMGViYzE1OWJmMjExZDYwZjdmYiBsZWdhY3ktdHJ1bmsKKzc1MzIzIGJmYTYwZGY3NjkyOTBhMTIzZTM2YmNlZTQyZDBiZjA1YTM1NDE0MWQgcHkzaworNzUzMjQgNDQzMTQ5ZmIzNTc0OGY1Y2RjZmJhODk5YTk3MjZkZjI5MWRmNWQwZSBweTNrCis3NTMyNSA2NTg3ZWE2ZDNlNzg0NWRlZjlhMjNjNTJhMjEyNWI0ODJhYjc1MDhmIGxlZ2FjeS10cnVuaworNzUzMjYgZjMyZmVkYTY1Yzg1NmFlNGFkMjU4NGRkOGMwNzc3NGZkZWUwODJjZCBweTNrCis3NTMyNyA0NTgxNTNkNWQ4MmQ2ZjcxYzdmZThkYjQyMTZlYThlNDhmNjllYjI2IGxlZ2FjeS10cnVuaworNzUzMjggMjE2OGI5ZDQ5ZTNiMTkwOGIyYzEyZmFkYTg1ZGQ1NDZmYWNjM2MyNiBweTNrCis3NTMyOSA1NTk3YmE3MGEzMzZjODY1ZjA2YThhMTkwMmQzMjE2OTczNzlkODA0IGxlZ2FjeS10cnVuaworNzUzMzAgZjc2ZTJlNjM3NzMwMTg5YTRjZjE2MDhlZjRmNDdmMWEyNWY5N2Q3NyBweTNrCis3NTMzMyAyNGU5MmNlZjI2NjQ2MzU5ZmUwMjYxM2M2MDMxY2I5YzFhYzU3Y2JkIGxlZ2FjeS10cnVuaworNzUzMzQgYjk0MmM3MDZlMzM4MTIyOGMyYWY3OWNkYjlhOGIyNTUwMDEyNWY0NCBweTNrCis3NTMzNSA2OTZhY2ViNzYzNWI5OTk2NTU3OGNhNTdhOThmZjRmM2I4ZDNmZjhjIHJlbGVhc2UyNi1tYWludAorNzUzMzYgODY3NjMzMzMwYTkzOGU3NDYzOTk3Zjk1NDI4MDM3ZTMwZDdiYTNjNiByZWxlYXNlMzEtbWFpbnQKKzc1MzM3IDYxOTRmZDc1NDMyMzk4ZjhlNWViZTg5MjFhMDI2YjkwMmViYWYyZjIgbGVnYWN5LXRydW5rCis3NTMzOCA4NmI2ODRjOTY5NDI0YjJlYWU2ZjlkNjUxYTRkMGEzNTE3ZmMzZThlIHB5M2sKKzc1MzM5IDMxMzBiN2U4MTJiMDRlYWYzOTg4NDA2M2Q1Y2Y1ZjUzZTNjMTgzMzUgbGVnYWN5LXRydW5rCis3NTM0MCA4OWI0YmIwYWE1YWNmODM4NjI5ZTYxMDkzZjNlMzYzNGIzY2ExZWFkIHB5M2sKKzc1MzQxIDRkZDA5MDEwMGVjYWZiNWI2OTI4OTQxZDBjMTZlZTNiMTZmZjAwMGMgcHkzaworNzUzNDIgM2VkNjU3MTZkN2FkMjQyYzk5OTZjYjZhMDFmNDg2MGI3MDI3YmVmMiBsZWdhY3ktdHJ1bmsKKzc1MzQzIDVjMzY1YWFiMTBkMWNlMzBmZTc0NTA2NzBlYmQ1NmFlOTgwZWI0ZGMgcHkzaworNzUzNDQgYzEwNWI5OGU2NDlkZTlhNDU4NDNlODM2MzM1ZTIwNjkzMzAxZDg4YyBsZWdhY3ktdHJ1bmsKKzc1MzQ1IDBhZDdmOWM5NTJiMDhjYTEyODkwYjRhZDRiMDM0MzhhYTg3MTlkYjcgcHkzaworNzUzNDYgNGJhMjdkMThkZDkyZGFhZmI3M2IxN2Y5ZmY1OTU1NDc4NTY0NDdjYiBsZWdhY3ktdHJ1bmsKKzc1MzQ3IGJkZThhMzk2MjI4YzJhYWMyMWU0MzljYjJjYjEwNzk4ZThhNDJmNTkgcHkzaworNzUzNDggYTE1YzdkNTBiM2NiNjRlMDE2ZWQyM2UzOGI3ZjEzMmZhY2Q5MzQ5NSBsZWdhY3ktdHJ1bmsKKzc1MzQ5IDM5N2UwMmUwYmU5MzE0YjU0MjEwM2ZkNTZkNDk4YTJhMDRlMzZiMTMgcHkzaworNzUzNTAgY2EwMThlMmJiODY1NGI5YjU5NGY2YTdhNGE0NzFhMjA0MmY2MzNiYiBsZWdhY3ktdHJ1bmsKKzc1MzUxIDUyZDY5NzNjYmQ5NGViMzM0NGIwMzczYzJkNmJhMzEzZWIxYmRhZWIgbGVnYWN5LXRydW5rCis3NTM1MiA1M2M4M2ExMzJlMWVhMjFiYjZjNjZhZTk0YmY0NDI3NDc5ODAyYTMzIHB5M2sKKzc1MzUzIDY5OGUwZTY5Yzc2NTdiMjY5YzBlNGYxMjg2MDdkZWFiYzk0MzU4YTUgcHkzaworNzUzNTQgNmE1ZTBjOTEzYzdjZWJhYWM4ZmE0MTdmMzU2ODc0MDM4NTllODA2NCBsZWdhY3ktdHJ1bmsKKzc1MzU1IDkyMDQwOGU2MDMwMzIxMzM3YjkxM2ExYzM5ZmIxYmVjZGEzMmZkNzAgcHkzaworNzUzNTYgZTQ2MTljZjllNjJjYmUxMjhmOWVhYWIyYzFjZDRjOTkyNWY2YzVkMyBsZWdhY3ktdHJ1bmsKKzc1MzU3IDhlZTQ1MTc5YzUwMzk4N2IwM2IwN2YxYTUxYjdjZjk3MGE5YzU3ZDcgcHkzaworNzUzNTggYTVkN2I1Mjc3OTUxOTNjYzZhYWM2YzFkOTFlYjcwOGVmYmY2NDNjNCBsZWdhY3ktdHJ1bmsKKzc1MzU5IDE1MjFhNjU3YTg1YWQ5YjU2MDE4OTc3YzU1OWIwMDQ4YWM0MTI1YTcgcHkzaworNzUzNjIgMjA1Yjk2ZWZiNzkwMGExMjhlNzMwYzNjNmM4OTJmZTljYjE3ODQyNiBweTNrCis3NTM2MyAzMjAwOGQyM2Y2Y2I0OGExZWRhMGIyN2YxYjFhZjY4OGIwZWE3N2ZkIGxlZ2FjeS10cnVuaworNzUzNjUgOWY3NjUxMThkOWI5NzEzOWQ2ZTY4M2Y4YmY2NjM1N2I4NTg5ZGEyZCBsZWdhY3ktdHJ1bmsKKzc1MzY3IDIyMDA4ZDkzNGU2Mzc1OTJjNDcyN2NiYTkyZjE2NmExOTMyZDg3YTEgbGVnYWN5LXRydW5rCis3NTM2OSA0M2FkNTU0NjE1YjZkMjAwYzYyZmVkNzU2NGVmNjgzNTE0Nzk3M2UwIHB5M2sKKzc1MzcwIDA1MDc0OGNlNWFkOWVhZTI0MjgyZWFhYjY3YzY4YmRhZDgzZGRlMzYgbGVnYWN5LXRydW5rCis3NTM3MSA0YjVkMzk4ZWI4NjY2NDMzZGVmZGY4ZDdhMjM3YzI2YzgyZjhlODM0IGxlZ2FjeS10cnVuaworNzUzNzIgOWEyYzM3YzMyYjdlNzE4MGE3MzE1ZGFhOGNjNDhiZjU5MzcyMGQyZiBsZWdhY3ktdHJ1bmsKKzc1MzczIGNkZGI2MjBmMGNkYTBhZTE0YjMxMWI4MzQ3OGRmZDU1NWY1MGJlYTAgcHkzaworNzUzNzQgMTY4ODQ3OTU1MzI0OTRiZDZlZTAxNzgxNmFkNmQ0OGM2ZTdmNDk4OSBweTNrCis3NTM3NiAzOTIyZTczNGM5YmI3MzJmOWY0ZTRkZjk4Y2U3OWJjNTJmMTgwYjg5IGxlZ2FjeS10cnVuaworNzUzOTAgZjU5ZGE5YzkzNDI1YTlmOWNmNjE3Yzg3Y2FjMDQ4NThhYTVhZWU5ZSByZWxlYXNlMjYtbWFpbnQKKzc1MzkxIDk1YTY5NjQwZWJkM2JkMTc5N2ZhOGJhMmFhMmY3MDFhNzI3NTE3ZDEgbGVnYWN5LXRydW5rCis3NTM5MiA5ZDE3YmI0ZjExNzBmYWIyMTBmNzg3ODgyMzNiMjIxOGY1Njg0MmRhIGxlZ2FjeS10cnVuaworNzUzOTMgMjA5ZTM4MjU0YWU4Yjg3OGQzNDUzNTRmZWYwZGUyOWU5ZTIxMjU3OCBweTNrCis3NTM5NCA5YmQ2YTdhZWUxM2NhODBlODU2OTc5ZWUzOTc5ZmFkMjNjNWU2MTYwIGxlZ2FjeS10cnVuaworNzUzOTUgMmE3NTgzNzE4ZDI1M2ZkNWEwZGEyNmNmOTgwNTgwZjM2NTg5ZDJlZiByZWxlYXNlMjYtbWFpbnQKKzc1Mzk2IDdmZThhODMxM2E1YjJlN2UyMzQyMmVmYWNmOTY3NmZiMzVlYmQ2NGQgbGVnYWN5LXRydW5rCis3NTM5NyBlOGUxMDM0ODhmYjM3ZTMwYjlkZmY4ZjRhODFmNjA3NmMxMjQ2Y2E0IHB5M2sKKzc1NDAwIGJkYmRhN2E5NGMzMzNlMDM2NWRmNjE5MmMzOTQwYTczOTA3ZDg0Y2UgbGVnYWN5LXRydW5rCis3NTQwMSA3NzU2MWNkMzlmZDM5N2JkM2ZhY2UzMmVlZTVhOTZjYmI5NDM2ZTY2IHJlbGVhc2UzMS1tYWludAorNzU0MDIgMDM4NTQ3MzJhNmMyOGU3MzlkNTU0NmYyNGI5YWE3MmUxZTAwNWJkZSBsZWdhY3ktdHJ1bmsKKzc1NDAzIDE4MzQ3NGJiMDIxMzhkYTg4YzNiNDk2YzUyYTdiMWIwYTA1ZGE0Y2EgbGVnYWN5LXRydW5rCis3NTQwNCA2MzUwOGVjNzY4NDBhYTY0ODIwOTg3NTcxYTc4OTVlYWRkMTBjZjBiIHB5M2sKKzc1NDA1IGRjNzVkMTdkZDMwNGE1MDZiZDE1N2U1YzJhNGVhZWZmMzE3Y2FjZTAgbGVnYWN5LXRydW5rCis3NTQwNiA2N2JiMTdjMmU4Njg1MjE5ZmFiM2M3YmZiMjAwYzA2ZTRkZDg1MGMyIHJlbGVhc2UzMS1tYWludAorNzU0MDcgMjQ3ZDVhNWVhZmE1MzQzOTc1Yjk5ZjNlZTk4ZmE0YzFkOTQ1ODE2OCBsZWdhY3ktdHJ1bmsKKzc1NDA4IDU4ZTU3NjMxYmU4Y2I2MzhlZDMxZTRiNDIyOWEwMzZlNDc3YTkyOGQgbGVnYWN5LXRydW5rCis3NTQwOSAzODZhNGQ3YzNjOTljZmE0OTI0M2MzOGM4NWZhNDQ0OWJmZjc4ZDY4IGxlZ2FjeS10cnVuaworNzU0MTAgY2RjZDgwNWVlZTg1ZDY1MDU3MzAyMTEyMmUwNjI1ZmI2ZmY3MjJhMiBsZWdhY3ktdHJ1bmsKKzc1NDExIGU4NTMyY2M4YTE0ZTQ5NzRmOGEzZjI3NGMyYzNlYzdjM2IwNGI5ODkgbGVnYWN5LXRydW5rCis3NTQxMiA5ZTcxOGQ4ZjcxZThmMDE0YTY3NzZiYTJjMWNhYjU3NmQ4ZTcwYjY2IGxlZ2FjeS10cnVuaworNzU0MTMgNGVlMzQzYzRiYzQ5ZDA3ZTNlZTY2NWIxMmM2MDIzNTk5N2M1ZjYwMiBsZWdhY3ktdHJ1bmsKKzc1NDE1IDZkNTBjNGMxYThiMzQ2ZmUwMzY0ZjIzN2ZjMjgwY2FiMWFhYTI3OGQgbGVnYWN5LXRydW5rCis3NTQxNiA1ZGZjNThmMzliOWY1NDIxOTBlNjlkNzBjYTIyN2NkZmVjYzM4YjQ1IHB5M2sKKzc1NDE3IGJmOGM5YmY3MTE1YzkzYTIzMGY5ZmI5ZjMzOGY0OTliMmE1ZGNjMWMgbGVnYWN5LXRydW5rCis3NTQxOCBkMjQyOThkZjJhNjYyMDZiZDAzODU4ZDkzZTczNGMwNmE1MTUwNWFiIGxlZ2FjeS10cnVuaworNzU0MTkgOTMzNTBhY2I1NDI1YmE0ZjAwYjVjZDgwOGM3YzYwNGVlN2E1MDI4MSBsZWdhY3ktdHJ1bmsKKzc1NDIwIDY0ZTE5YTY4OTg4NjE3ZWY1NDVmZDQ1MTgwZDBmODg3MmVhZTE0ZTEgbGVnYWN5LXRydW5rCis3NTQyMSBmZTM4ZDNjMTc4ODhjOGMwZWJlYTEzYjhhYWUxZjFmY2RlMmQyMDdiIGxlZ2FjeS10cnVuaworNzU0MjIgMTZkYjJhOTMyMjQ4OWMzOWViZjJiMDVkN2I2MDZmMzk0ZmIwYWE2NyBweTNrCis3NTQyMyA1MGI3ZjU2ODE0ZjllM2VhM2M2MTBiMWZlYjI2YTU3ZWQxMDNkOTFiIGxlZ2FjeS10cnVuaworNzU0MjQgZDBmMDA1ZTZmYWRkMDY0ZDc1MDMwYTlhZGJhZmIxMmU3YTI2Y2E3ZCBsZWdhY3ktdHJ1bmsKKzc1NDI1IDkwNDRmNjRiMTBhZTA2YjhjMDFhZjNjZDQ3ODZmMmVlMjc0MTQ2NDggcmVsZWFzZTI2LW1haW50Cis3NTQyOSBmYTYxODhjNDdiNjNmYzUyNWQ4MzljODc5NWIyNWQyZjM1NzZhZDAwIGxlZ2FjeS10cnVuaworNzU0MzAgNDViNjI3MjUzNzdhNjEyODU5N2RiY2ZkYzZkOWZmNWU3NGNkZTE2MSBsZWdhY3ktdHJ1bmsKKzc1NDMxIGE0YjE5MjJhMzA3NDkyMTg0YWE0NDY5NGQ5MjhjYjUxYzEyNGQ5MGUgbGVnYWN5LXRydW5rCis3NTQzMiBlMDBjNzg4NjliM2NkMzU2OGQxNzdlYWQyNzEwOWJmMTE4NTJkNmNlIGxlZ2FjeS10cnVuaworNzU0MzMgOTgzZWVmYmY2NjQ5MzQwZTc3ZGIyNTIwMGVjMTk3MjM0MzZiNzM5YyBsZWdhY3ktdHJ1bmsKKzc1NDM0IGU0YTBiODczOWU1YjhhYjdiZjllNGZhNmViZmZmZGE3M2Y0NjdhM2MgbGVnYWN5LXRydW5rCis3NTQzNSAzYjM3YjhkZDc2ZDc1MDI1ZjE0MTI0N2VmNGQ5NTNmY2I2MjE5ZmIxIHB5M2sKKzc1NDM2IGVjNTA4Yzg5YWQzNjgyMDc4Y2U0M2MwN2RkNjVkZDJkZGRkNGM0NzIgbGVnYWN5LXRydW5rCis3NTQzNyAyMGQwOTU0OWI4MmMwYjk5Yjc3MGMxMTQ4MDJkN2Q4Yjg5ZDI1YTkzIGxlZ2FjeS10cnVuaworNzU0MzggMTYxN2MxMTU1NmFmYTI4YzFiY2FiNTQ4MjQ5MGE1ZjNmMWRmYjBkYiBsZWdhY3ktdHJ1bmsKKzc1NDM5IDdlNTg0OTQyMDRjOGY2ZTQzZGRlYjA5YTk2NzQ4YWVjNDc4NDNjMzYgcHkzaworNzU0NDAgMjc1NGQ2NDE4MGQxZGM1NTdkYWIyOTc5YTc5MjU4YTg3MGQ0ZDYwMiBsZWdhY3ktdHJ1bmsKKzc1NDQxIDNiYzZmYjNjMGNjZDA5YTA1MDc0ZmJhMmZhNGU3YjMzNDIxZmQ4NzkgcHkzaworNzU0NDUgZDllNDhhYjYyNTYyYzE0ZjAzYjI1MmJiMTE5Y2YzYjhkODI2YWYzNSBsZWdhY3ktdHJ1bmsKKzc1NDQ1IGQ5NjMwNTE3YzcwYzE5NTA0MjJhYzdlMTIyZmUxMzg5ZmYxYzFmMTUgcHkzaworNzU0NDYgN2ZhMTRiZThhZDczY2IzNTc1NzY2NWQ4MTM4MWUxNzMwZDRkMWM1NiBsZWdhY3ktdHJ1bmsKKzc1NDQ3IDhkZmE4NDNjODM1MDFhMGU1ZGI5ZGFmM2M3NDEyYmY2OGUwOGY0ZWIgcmVsZWFzZTI2LW1haW50Cis3NTQ0OCAyNGQzMjFmZDNkMWEyMGIxNDc0NjQ4ZWIxYjNkNGJkZjIyNDVhMjVkIHB5M2sKKzc1NDUwIDllNDJjYzE5MmE0NDY1OWY0ODJiODc3MGFhYmYzZDJkN2VmNDhiODcgbGVnYWN5LXRydW5rCis3NTQ1MSA3NjAwNDM2ZGIyYTliODY5YjlmMDMwZjRiNjhlMGY3YzhlOTFkNGZjIHB5M2sKKzc1NDUyIDI2YjExZTZmZTVlMzFjNjdlYmZmODhjZmU2OWM0ZGUwYWU4M2M4Y2UgcmVsZWFzZTMxLW1haW50Cis3NTQ1MyAzNjU4YzBhOTU4OTIyYWY5MjZmMzk5NzY3NGZiMWZjN2M3NTdkODFkIGxlZ2FjeS10cnVuaworNzU0NTQgNjI0ZjgxYjVlYzI0Zjc3M2JiMDFmMDc5NDY1ZDhkYzdhYmU1YmNkNyBsZWdhY3ktdHJ1bmsKKzc1NDU1IDdkNzFjNTFmYzMwOGMxYjI2NTNiOWYyM2QzN2M0MWU0NTlhMTc1NDQgcHkzaworNzU0NTYgNWVhNmNkMjgzOWNjN2MxMDI3NmU5YTI3NWMxNmY1MDJkOTlhNzUzNCBsZWdhY3ktdHJ1bmsKKzc1NDU3IDljMDZjNzMwOTc2NTY2YzRlZDlhOTExMWI5ZWFkZmI3YTkwOGIwZjEgbGVnYWN5LXRydW5rCis3NTQ1OCA1Mjk5NTc5ZjU3OWE4NTRhZmI4ZTA3MTczMzIzMDRkY2E3ZTI2YzY5IGxlZ2FjeS10cnVuaworNzU0NTkgNGMxZmY3YjI0ODJlZTE4YTRlOThmMDAzYmNmNTllODY5MjU3NDg5NiBsZWdhY3ktdHJ1bmsKKzc1NDYxIGExMDg4YmI0ZmNmOGE2ZDIxMzQ2N2VmODE4NDA4ZGIwYmQ4MTk3OGYgbGVnYWN5LXRydW5rCis3NTQ2MiAyMDQ4ZDA0ZGVhYjQyYzU1NWI4MzViYTdiNDE5ZDRhMjhkOWMxOTJjIGxlZ2FjeS10cnVuaworNzU0NjMgODE0MzNhNjc2YThiYWZlMWZlMzY1ZjlkYzM4MGIyMmFmZDViOWIwYyBsZWdhY3ktdHJ1bmsKKzc1NDY1IGI4MThhN2E3MGE0Nzc4MTFhMWYxMGE0M2JiY2ZmZTQ0ZWQ1NWM3NGIgbGVnYWN5LXRydW5rCis3NTQ2NiA5ZjA1M2U1NTBjOTc3NjhiMGZhZGY4Mjk1YjAyNDZkM2Q0MzE2NjI2IGxlZ2FjeS10cnVuaworNzU0NjcgOTkzMjA3ZGNlMzk1NWI0MDhmNmE2YTI1MTU4NTE5ZDYwOTg5NDViYiBsZWdhY3ktdHJ1bmsKKzc1NDY4IDAwNzUwNWNjMWUyYzczNTZmNjRhZDVlZmY0ZGFlNmI1NGQ5ZDI4OTUgbGVnYWN5LXRydW5rCis3NTQ3MCBhYzNjNjMyZTFjMTNjMzFjNjYwYjc5MjIzZmY3M2U5OTNjNTBmMDgzIGxlZ2FjeS10cnVuaworNzU0NzEgZTZkZWIxNWM1YWU2YTA2ZmMxZDQ2YTkxYjMyNzQ3ZjdkZjY2MWJlZiBweTNrCis3NTQ3MiAzNTRmYTU2MWFhZGY2Y2RhMTA1NjhjYTU5OGUzYTQxMDdjZTNjYjcyIHB5M2sKKzc1NDczIDQ5ZTNkNGFjNjljNmY5ODBjMzUzNTViMDA1YzgxNzQ4ZjIzOWRlZWMgcmVsZWFzZTMxLW1haW50Cis3NTQ3NCA4YTZiNjE0ODRhOTg0YjhhOGZkMTg5NzA3YWFiZmFiNTdkNjlkMDRlIGxlZ2FjeS10cnVuaworNzU0NzUgYzM3Y2E5YWNkMWY5YWFjYjllZWIzODBmMTc5MmM0NjNkZmE5NmEzMSByZWxlYXNlMjYtbWFpbnQKKzc1NDc2IDMwYmI0YzM1NTU5ZDYxNjUxZTc1MWU3MTgyNTc0NGNmY2NiNzVkNTEgcHkzaworNzU0NzcgZDA3OTg3N2RhMzM1ZTYzODI4Zjk3Nzk0NjUzZTgxMTNhY2I1MzkyYiByZWxlYXNlMzEtbWFpbnQKKzc1NDc4IDg0YzE2ODA4YmEyYzgxZGEyZWViY2MwYmNkYWUyN2RjNTgwMzcwZDggbGVnYWN5LXRydW5rCis3NTQ3OSBkOTQ0NDAwMTE0ZTUwMGQ1YzYyOWE1ZmVlZWYzM2JiNTgyYzU4NTc5IHJlbGVhc2UyNi1tYWludAorNzU0ODAgYWE1M2EyZDRlZjJmY2JlOWIzOGEwNTFiNmI3OGFlN2E2Nzg5NGY2MSByZWxlYXNlMjYtbWFpbnQKKzc1NDgxIDVlN2M1Yzk0YzU3MjFhMTZiOTdjMjNjY2RhMzAxNDc4MjBmMDE4NTUgbGVnYWN5LXRydW5rCis3NTQ4MiAzNDljMDMzNzg5NmEyNzJmNjA2ZjkwZWU2NmUwNmE4NjAyNjE3NzdmIGxlZ2FjeS10cnVuaworNzU0ODMgZWQ3ZGVjMTM2NDMwZmU1NWI2NWI5YmZiNzM4YjczZjdhMTg0NzEyZSByZWxlYXNlMjYtbWFpbnQKKzc1NDg0IDc3N2JkNWRkMWQ5YWM1NDFhMmEzYTkzN2ZiYTkyNjhjOWJmMmUzYTUgbGVnYWN5LXRydW5rCis3NTQ4NSBlNjdlYjk2NjAwNDE3OWZlYmRiZjk4NzQxYWFmM2U4ZGYyMTAyYWFjIGxlZ2FjeS10cnVuaworNzU0ODYgNzdlY2M1ZTRmNjY0YzcxNDI0ZTRkNTFhYTVmMTM2M2ExNjA5MmNiMSBsZWdhY3ktdHJ1bmsKKzc1NDg3IDI5MjhmMWU4YjM4NTgxNTQyM2FkMmU4OWI1ZDhjOTAxNzEwNTIwNjAgcHkzaworNzU0ODggY2I1M2IxZmE3MjA2ZjJmNTIwNTA1Mjc5ZDVkODU1NDRlYjZiZmMzZCBweTNrCis3NTQ4OSAzZGJjNjIwN2NiZjZkZTRmZmE1MWNhMGI5Yzk3ZGIxMmRlMDM4NjM1IGxlZ2FjeS10cnVuaworNzU0OTAgODkzYzJhNGM5NTQ0NDU1Zjc5ODcxODgwMWU5Zjg3YTIxZGVmMDQ5NiByZWxlYXNlMjYtbWFpbnQKKzc1NDkxIGRlMmQ5OWFhNDZlYWZmNDgzYTlmNWNhYjI5MDI3MWExZGU0ZTU2NjYgcHkzaworNzU0OTIgMmI2MzU5NzA5MTg4YjExYjY5ZjMxN2ViMGVkZDNjZGQ0YjAxZTk2MiByZWxlYXNlMzEtbWFpbnQKKzc1NDkzIDA5OGJhM2E2MzczMGNhNmQ3NjRiYmFkZjU5ZjBjZmE3NGJjNjEwMDEgcHkzaworNzU0OTQgNTM5NzAwMmY3ZTVlOGZiOTE4MTIxZDBkMGY2MDM3NDcyNWNmN2M4ZiByZWxlYXNlMzEtbWFpbnQKKzc1NDk1IDBmOWU4ZDNlY2FjMzhjNTc2MDcwZjU1NTUyOWE3OWY2OTIyYzFkNTggcHkzaworNzU0OTYgMmM2MGFjNGVkNjVmNjkwMGI4NGFiYWFjYzlhOTI0M2JlNDM0YmFlMiBweTNrCis3NTQ5NyBlYTFmZGFmYmU0ZmUyNDU4YWMxNzI4N2UwZDZjNzA5ZWQwMGZjZTVjIHJlbGVhc2UyNi1tYWludAorNzU0OTggYmZlNzU2ZWIwOWZhYWQwNWU3YWQwYTlhNWEwOGRjNjdiZTEzZmJhZiByZWxlYXNlMjYtbWFpbnQKKzc1NDk5IGEwZTQxZGZiOTcyYjUxODc4MzM5Y2ZhYjFmMTc0OWQ5MDViZjVlZDcgbGVnYWN5LXRydW5rCis3NTUwMCAzODY0MTRiODQ2ZWJjY2RjYzc4NGVkNWQ3NzAxMzBjY2U2NTIzZGRlIHB5M2sKKzc1NTAxIDI1ZWY2ZjQ4MThhMDU3ODk0YmQ5ZDc3MGZmOTc0ODk3YzA4NTY0MTcgbGVnYWN5LXRydW5rCis3NTUwMyAwNjk5OTI1Mzk4N2JiNTM4NWU3MTk3MmU1MGFkYTY1MTAzNDNmOTE1IGxlZ2FjeS10cnVuaworNzU1MDQgMmE2ODUzYTEzYTJmNzk3ZDliODQyZmMyNjA5ODE3MmRlNzA4YTQ0YyBweTNrCis3NTUwNSAzY2NkMWQ2ZjA1YTZiNWM3MGM1YTVkOThmNGYzYzRhMTE4NjYwYjE0IHJlbGVhc2UzMS1tYWludAorNzU1MDYgZDE2NjZjYzdiYzc0ZjNhZDlmZTRmY2YxZjBiOGU0OTFlOWRiYTUyYSBsZWdhY3ktdHJ1bmsKKzc1NTA3IGQ4OWU0YTRlMGIyMDdmZGI0MGM2Zjk5Mjc1ODNjYWRiOTU0MDZmMTEgcmVsZWFzZTI2LW1haW50Cis3NTUwOCBlZDk5MDI2ZTA3ZmNkZGU4ODZjN2ExYzQwN2FmYTk5ZTMwODVkN2Q3IHB5M2sKKzc1NTEwIDc5Y2IwN2ZhMzZlYzEwZTAwM2M2YTA1NjNhOTFjZWVkY2MxOGFjMmYgbGVnYWN5LXRydW5rCis3NTUxMSA2NzQ5YzhhZGM0OTg1N2NkZGMyMWVlZDZjN2RlZjA2ZWI4YzZhNzYyIHJlbGVhc2UyNi1tYWludAorNzU1MTIgZTY0NGVlNGU3NmM3YmNmN2FjMWY0ZTU1NTdjMTY1NGZjMDAzZTNkYSBweTNrCis3NTUxMyBmNDI2M2E5YmQ4YWRkYTczYWQ0YTU0NWIyMWFkNTZiMzE5MzhjMDBhIHB5M2sKKzc1NTE0IDk4MjVlYzIyOGVmYjEyY2IyYmY2NzgxM2I2OTc4Y2YyNjE0YjUxZWYgcmVsZWFzZTMxLW1haW50Cis3NTUxNSAzNzE5MzdiYTZmYTYyY2IwYmM4ZjU3NzZjZTY5ZDg2YzE0ZjY4NzhiIHJlbGVhc2UyNi1tYWludAorNzU1MTYgZDhhN2IzMTRmYzUwNTAxMjUzOWZiZGU1ZDFkNWNhMzhkNTI4Y2UyOSByZWxlYXNlMjYtbWFpbnQKKzc1NTE3IDcxODgwMDI5ZmU3NTYyYTQzODBlMjBjYTlkZTFiYTMyMzg5ZjFkMTkgcmVsZWFzZTI2LW1haW50Cis3NTUxOCBmMzA2NjdjZDQwNDNjNDNiODllMDM0ODkwZThiMDQ2NjhjZTQwZjc4IGxlZ2FjeS10cnVuaworNzU1MTkgMTYwZjE2YTkxZWU3Mzg1YTUwYjM2YTEzZjFhYmQyNTgzYjM4MjVjNiBweTNrCis3NTUyMCBiZDZkZWU2YTc4YzM5NWVjNjE3ZWI0MWYyNmJiYWQxMGE2ZTg3ZmFkIHJlbGVhc2UyNi1tYWludAorNzU1MjEgNDIzMDNjOGNhYjMxNWViZTcwYTliYzRjOGIxMTFjNzFlNDcyNmJmZCByZWxlYXNlMzEtbWFpbnQKKzc1NTIyIDRhOTU0MmFjY2QxMzM0NWU3NWUwYmZmZDk3ZGY1NWNmZTE4NWE2NTAgcHkzaworNzU1MjMgNjcwZTIyMmFmZDQ4MTdkMzhhZTFiYjhlOTY0OTZkNzRkMjQ5NDU2NCByZWxlYXNlMzEtbWFpbnQKKzc1NTI0IDNkYWFjZDk4OTI1ZDc4Njc3NzgwOTUyMTdkZmE3YTcxNzU2ZGEzYjUgbGVnYWN5LXRydW5rCis3NTUyNSA3MzI3MmJkOTRkN2IwM2ExOTk3OGFkZTg0ZmJmMDA4OTcxYmM2ODE5IHB5M2sKKzc1NTI2IDM0MTgyZjk4NTg5YjhjOWEyMzkwYjkwNmEzNmY3MzZiNzAwNGE3OTMgcHkzaworNzU1MjcgZjc0MDMwYmE2NjEwODhmNmUyOTIwNzlhMDc5OGNhOWQ5NmIyNGIyYSByZWxlYXNlMzEtbWFpbnQKKzc1NTI4IDkwYzEwZGNiMjkxMzM5MjIyMThhN2UxZDZkMjllMjQ4OTYxODcwNzYgbGVnYWN5LXRydW5rCis3NTUyOSA0M2QwYjQ3MTA2ZGY4YjhlZWRlZDg1NzlmMWY2NDdjZDhkMTAzZjk3IGxlZ2FjeS10cnVuaworNzU1MzAgNTU0MWU0MmUxYzgxMWQxZGJlNDZlMzkzZTM3MjNhMGE2NGM0ZDlmYSBweTNrCis3NTUzMSA4NTY4NWU3ZDcyYzcxODRiYzZiNzM5YTU4MmQwZWE4Y2ZlMWIxYmU5IGxlZ2FjeS10cnVuaworNzU1MzIgNTQwMzFlY2U0M2EzM2FjYTE2ZGMwOWYzMmExMjQ3N2UzZWE2YjU2YiBsZWdhY3ktdHJ1bmsKKzc1NTMzIGNhZjNjOTNkMDE5MzZhNGIyZTQ3YWU2MmU4NWU3OGNmNTlhYTU1ZjIgcHkzaworNzU1MzQgZTZjNGRiYjVkYjAyZTUwOGE0OWU3OTdmYWY5MzQ2MzYwNTAzMTkwYyByZWxlYXNlMzEtbWFpbnQKKzc1NTM1IDdhZDZlNzhhOWM3ZGNkYjE1NmRlZGEyY2M0NTVhMjY4YzgyNWY2ZTMgcHkzaworNzU1MzYgY2VjN2Y0YzU4NTQ0MTQyOTBmNzU2ZTU2MDQzNzc5OWFmNzc2YjkwZiByZWxlYXNlMzEtbWFpbnQKKzc1NTM3IGVkZjIyNjM3YmQ5MDhkMzdjOTc0MDg1OTE2ZDZiNzk2NjRlNzFlMWYgcHkzaworNzU1MzggMmYxNGIwZjQ1NTFhZjJhMjkwMDczN2VjMWI0OWVkMTY0YTVkYmQ0OCBweTNrCis3NTUzOSA5MWVlODFmMWE1MjQyYjY2ZTViYzlmNWU1MjYwMDBmNjIzYmVmOWM2IHB5M2sKKzc1NTQxIDdhZTZkNWU0Zjc5ODM1ZTdiNDA3ZjhhNzJkMDhhZjMyN2MyM2QyNjggcmVsZWFzZTMxLW1haW50Cis3NTU0MiA5NWJkNzBkNWQ3MTVjZjA4ZGI1MzFkNWU3YzcyMGE5NWNkZmQ3ZGQ5IHB5M2sKKzc1NTUxIGJkYzM5MDcyMWY5NzVjOGQ5ZjYxMGUzYWY4NTQwOTQwNjliN2VhYmMgbGVnYWN5LXRydW5rCis3NTU1NiBhMjE5OTg4OTNiMWRlNDY2M2RiZWYxYjhkOWQwN2UyOTU3ZTQ4MDMwIHB5M2sKKzc1NTU3IDk0MWYxYmU0MjNhYTE4ODcxZWJkOWY1MWFkYTFlMzZlZjFkZDAwOTIgcmVsZWFzZTMxLW1haW50Cis3NTU2MSAxYjYwMmEyZDgxZWY1MThiN2UyODcyNDJhMTY3MmI1NmUxZGM4MGNmIGxlZ2FjeS10cnVuaworNzU1NjIgNmU0YTQ5MGU3MTQ3MTNlYzA0YTdlNDU4MTNjNTBjMDY4NWQ4ZGY0ZCBweTNrCis3NTU2MyAyNjAwNzM5NTYwN2U4OWRjM2Y5OTYxMTA5ODQ4YzBjMzBiM2RmMWFhIHJlbGVhc2UzMS1tYWludAorNzU1NzAgMTIwNzljM2Q0Yjc3OWNjY2ZiZjJlM2FkMzA1YjE5M2NlMzdlZWE5NSBsZWdhY3ktdHJ1bmsKKzc1NTcxIGJmNzYyNDEyMGVjN2ZlMWFhZTA4NmJkYTBiZTIzODk2MGVlM2VkOGEgcHkzaworNzU1NzIgMDI5OTk1MTM5MWUzNmFkMjMxNWRkNDBmNWY0ZjU4NDNhZjczZjQxOSBsZWdhY3ktdHJ1bmsKKzc1NTczIGIzYmVmZTBmMmI4ZGRjMmRlNDdiZjMzZmEzOTU4ZGQ2Y2MzOTBmMmQgcHkzaworNzU1NzQgM2NmZDIwY2Q2NDU5ZjVjYzQyZmNiYTFmMDYyYzg0YjdmMzIwNzZlNSBsZWdhY3ktdHJ1bmsKKzc1NTc2IDE3Y2U5NGFlZTcwNDZhYjkwZjI4MTRiZjM2NzQ5YzQ3YTljYzNkMTIgcHkzaworNzU1NzcgMWU3MDM1ZmE2MTU0YzZmNjVmMDYwZjZkOWE1MmMzYjEyOTQ1ODhlOSBweTNrCis3NTU3OCAyOWIzZTEyNmMwYzI0NjcyZjdmNDM4YTE0OGVjNWMzODY4MTMzMGViIHJlbGVhc2UzMS1tYWludAorNzU1ODAgMWI5NDQ0OTdlODFlMWRiZmRmMjU4MjBkNWU1YzcwODkxOTk1MDU1ZiBsZWdhY3ktdHJ1bmsKKzc1NTgxIDhjMWI2MWU3NDYzYTQxZjdmMWQ3ZTZjNjg5MDQwYmFjMjc1YzI1NTAgcHkzaworNzU1ODQgNWQ4YjJkNmRjZDYyMjlkZWEyYzRiNTdmMThkYzRiOTUyNzYwNzM3NSByZWxlYXNlMjYtbWFpbnQKKzc1NTg2IDcxNmVjM2VkM2ZjZjhmYWY1ZTNkYjhiYTVhZjE5MzkxMjAxNGFjMTMgbGVnYWN5LXRydW5rCis3NTU4NiA0MTRlMDNjMTQ4MTU5ZjQ5YmQ2ZGViZmU1Y2E4YmJjZDhmZGUwNzk3IHB5M2sKKzc1NTg5IGViZTE5YzRjNzFmNTcwNmM5N2UyYmE3YjgzYWE4M2U3ODcyZTZhOTYgbGVnYWN5LXRydW5rCis3NTU5MCBhOWJhNjM3ZDRkY2QzNzU2NTRjNGJjMjAxNGMzOTA0ZTIyMTlkYTY5IGxlZ2FjeS10cnVuaworNzU1OTEgOTc4MzQ5YzA3NGNlMDgyOGJmNTVjMDFhMmFhMWU2MDQzMzYwMjA1NyBsZWdhY3ktdHJ1bmsKKzc1NTkyIGZlODVlZjI3ZGM0NzkxZTY2ZGY1NGM5ZDE3MDk1NDU3NTY0YjZiYjAgbGVnYWN5LXRydW5rCis3NTU5MyA1ZGUxYWMyNDJiZmI1NjNmNDQ1ZjczNmI1NjQ4ZDc1ZjhhYTE3Y2VjIGxlZ2FjeS10cnVuaworNzU1OTQgNThiZGExMjA1YWNkOWQ4OTFjMzRlMzg5ODU3YzRmYjJiYWM3MDA3YSBsZWdhY3ktdHJ1bmsKKzc1NTk1IDBiYTliMjE3MTgxZWQ4YzU2MDU4M2M5OGY5MGU5YzZhZTJlZDJkNDMgbGVnYWN5LXRydW5rCis3NTU5NiAzYzI2YzZiNGRiNTAwYjdjY2FmNDBmMTFiZTUwZjhmYjRkODNiMzc4IGxlZ2FjeS10cnVuaworNzU2MDAgMDdlZjU5NzY2YjAyNmUwMzIxNDk4ZTYzMjRhMDE4MTU0ZjJiYWZlMSBsZWdhY3ktdHJ1bmsKKzc1NjAxIDI3ZWFhYzA3YzVkNmE4OWExYTYxYTA3Njc2NTQzZWU4MGRkYTZlZGQgcHkzaworNzU2MDIgZjU1NTY4YjM5OTI1NmMyNzMxODM3OGExZGVjZDcyOTRmNzIzNThiMCBsZWdhY3ktdHJ1bmsKKzc1NjAzIDA2NTM0ODY5MzViNjQxNjhkZTM0NGQwYTUyMDY4NmEwMWJkODA5Y2IgbGVnYWN5LXRydW5rCis3NTYwNCBiYWNkNGQ0MjI1NmI2Njc4Zjg1ODEwOWQ0ZmI3MTFiYzQzMzAwZTdmIGxlZ2FjeS10cnVuaworNzU2MDUgNzJhNWZjNzkwZDAxZmMyMzIyODZiZWM3Nzg2YzdmZGE4NzZkZGQ3NCBsZWdhY3ktdHJ1bmsKKzc1NjA2IDhhNThhN2VjOTJkYzU2ZDY5ZmQ4OWI1YTVhNGEyNzhkYjUzNTIxM2YgbGVnYWN5LXRydW5rCis3NTYwNyA0Y2ZhZjZhZWM1ZWJjNTU5OTA1ZjI5YzY0ZThmN2I1M2ZiM2QzYTE1IGxlZ2FjeS10cnVuaworNzU2MDkgYzQzODhlN2U3N2U5ZjY2ZjY0MTIwNjAxY2Y2MGU3Nzg0MWNiMmE0MiBweTNrCis3NTYxMCA1NjlhMGQxNzBmYWM3MjAzNDUyMmRiNjhlNDk1NGFlOWQ1Yzg0ZDczIGxlZ2FjeS10cnVuaworNzU2MTEgMWI4ODgzNDMwMTM5MTFmZGZiNmUzNTU3OWYwYTEyYzQ5ZTdjN2FkMSBsZWdhY3ktdHJ1bmsKKzc1NjEyIGExN2I1OGE0ODZmNDBiNTg1MWM2NDk2ZTMwMjUyY2Y5M2M1MzE1Y2QgbGVnYWN5LXRydW5rCis3NTYxMyA5ZmZhMTUxMzA5ODQ2NTMxNWU3Yzk3NTVmNjYxZmM1ZDdmZmU5NWZlIGxlZ2FjeS10cnVuaworNzU2MTUgNjgyNzljMTMzZmQ5OTIyZDQ2MTc2MDY2MWZmMDI5ZDI5Mjc5NzA2OCBweTNrCis3NTYxNiAzMjFlNjM1YzlhYjgyNmE4YWZhNWYzZjQ2OGQwNTY0NTY1MzkyMjVjIGxlZ2FjeS10cnVuaworNzU2MTcgZjNiN2JkNmU3YWRkOWZhNzE3ZjExMWM4ZTM2OTI0OTFmMmFkYTRlNCBsZWdhY3ktdHJ1bmsKKzc1NjIwIGRiMjFjM2MwMDlkYjM5M2NlMjdkOTczN2ExMTgxYTI2MDg5YjZkMjkgbGVnYWN5LXRydW5rCis3NTYyMSAzYzA2NjQ0ODBmN2ExNjBiZTNhNDAzZDdjYTE3NDRmNDQxOWFlNTI3IHJlbGVhc2UyNi1tYWludAorNzU2MjIgODgxOTU4ZGEyMTlhN2EzNGQ4MDE3ZGYxMTMxYzQyZDJjMTY1ZGQxNyBweTNrCis3NTYyMyA2ZDI3MmZkMWNkZDFlN2I0NWNkYmQyODQ3OGQxOWY5ZGU1ZTA3MGUyIGxlZ2FjeS10cnVuaworNzU2MjQgOTJkZGUyODIxNTNkZWY1NGI0NjQ5ZDBkNDc4MjM5YmM3NGY4OTEyMyBsZWdhY3ktdHJ1bmsKKzc1NjI1IDllYjc5ZTk0MjA0ZDI2NWM4OWY0NzkzOGY5MWZlNTgzNzQwNGFmYjggcHkzaworNzU2MjYgNjIwMDg1YWI0OTViNDE2NDg0MWEzMWUzNzkxYmVmZjEyMDVkODM3YiByZWxlYXNlMzEtbWFpbnQKKzc1NjI3IGIxMWYwMmNiMTEyNDRmN2QyZjU1ZWVhMTVjZGE1YTZmNjNlNjk5YmMgbGVnYWN5LXRydW5rCis3NTYzMyA5ZGYzMzkzNzE3MWY2NTE2Y2I1MDcxMWMzNDUzYmI5NDdmZTNjYmVmIGxlZ2FjeS10cnVuaworNzU2MzQgZjA5MTQ0NGRlZWEwMTA0MGZmMmY4M2I4ZTBiZjAxNmViZDk1NmIyZSBweTNrCis3NTYzNSA5NmQ2YzE0NmNmYTkxNzYxYTg1YmYzNjQyMzU2Y2QzMWIxYTg2NWIxIHJlbGVhc2UzMS1tYWludAorNzU2NDAgZjM4ZGFiZjI0MGNiYWVjNDE1M2Y0YzQ3ZGE1ZTg5YmZlMjI5N2M2ZSBsZWdhY3ktdHJ1bmsKKzc1NjQxIDM1YmI0MzM4NjczNDRmZTMyN2JlNzEzZmFkODBmYTcwNGQwYmUzOWEgcHkzaworNzU2NDIgMTYxZDMzMmFmYzg4NGQ3YTc0NzI0YmNiNGQ5MDQ0MGIxMzY3MzE4OSByZWxlYXNlMzEtbWFpbnQKKzc1NjQ3IDgwZjIyOTNmZDY2YWM4NTFiNmE0ODVlNzgwMTQ4N2E2ZGRiYzY2N2QgbGVnYWN5LXRydW5rCis3NTY0OCAxMGU3MjkzOWQyY2Y5MTY2ZGI1ZDhhMzA3YWY5OGYxZDJjM2RkNWI5IGxlZ2FjeS10cnVuaworNzU2NDkgOWE5MWQ0NTJhMGY4OGY3ZTg2NWZhNjJhMjdhYmVkMmVhNjQ3NDVlZiBweTNrCis3NTY1MCAyZjMwN2M3YWRiOGZjNWIxMDc3NTI3MjFmZmVjNDIyMTQxNThmMDAzIGxlZ2FjeS10cnVuaworNzU2NTEgMjE0NmJiZGY0ZWQ3ZGEzOGI5ZDJkMGUwMmI2MTVkMDZhYzEzM2FhNCBsZWdhY3ktdHJ1bmsKKzc1NjUyIDBjOWNmYzdmMWU5NWI3N2Y1YzhjODc1Y2JiZjM2YWNlYjg0NDg5NWQgcHkzaworNzU2NTMgZWI5MjVhZGJhOGY5MDE0YzRjMjFlM2I0ZjRjNTkyYzkwZDVmOGQ0YiBsZWdhY3ktdHJ1bmsKKzc1NjU0IDI2NDYwOWZiZGE0ODE1NjM3YjU4YWM0NWI5YjQ0ZWQ0MDFjMTRlNzQgbGVnYWN5LXRydW5rCis3NTY1NSBhZTAyYjE2ODE2MmNlOGY0ZGRlYTIxNDBhMTYyNDk4YzIzYjEwZDQ0IGxlZ2FjeS10cnVuaworNzU2NTYgYzcwNDc1MGU2ZjNlNWIwNTA2ZTE3NGNkMmZhNGE2YzlmYjQ5N2EyNCBweTNrCis3NTY1NyA2ZDI5Y2U5ZGNhOTAyZGEzZjIxZWNiMDc1MWYyMTQ2MTZkNWZiYjFjIGxlZ2FjeS10cnVuaworNzU2NTggMmFiMDhjOTE5NjQ4MjRjZjA1YWM5NWM4NWJhZGQzOWNhZTdmY2M3MiBsZWdhY3ktdHJ1bmsKKzc1NjU5IDI0ZDQzYTkxNDJkMjVhZjBlYjIwMjNkNDAwMjlmOTFiOTNmNTdkZTQgbGVnYWN5LXRydW5rCis3NTY2MCBkYWJlMWY5MmNhMjc0Mzc3NzlhMTgzNzgzN2NmM2ViNzQwY2RlMmI0IGxlZ2FjeS10cnVuaworNzU2NjEgNzIwNjZlNWI5NDIxN2UxMzg2YTk4NTY1OGYzNzg0ZTkwYWM0MWMyZSBweTNrCis3NTY2MiBjYmUzOTNmYTQ0Zjk2Mjg4NzdiMzMwZTcyZTdjMjQ5MzhjMTI0ZWE5IHB5M2sKKzc1NjYzIDU2N2IwZjM0YjFlYjEzZTMyMzJmNzEzZWFhMmU5NmU4ZmZiZjdjYjIgcmVsZWFzZTMxLW1haW50Cis3NTY2NCAwNmU2NjM2NjE4ZDcyMWI4M2Q0NDFkY2ZhNjljZmQ3YzI5NTE1MjdlIGxlZ2FjeS10cnVuaworNzU2NjUgY2M4OGE3MDM0MjhkMDExZjJiYTg0ZmUzZTM5YzU2ZmE1Y2ZjMDk1NyBweTNrCis3NTY2NiBhYWNlZTk3NDlkMTU0MzVhOTcxYzc5NDZiZmQwYzA3ZTgzYmU1MDJiIGxlZ2FjeS10cnVuaworNzU2NjcgOTJmMGExY2E0ZTk4Njg0M2QzY2IxNjcyZjZiNTUxMjIxMzY4OTkxNyBweTNrCis3NTY2OCAwYzM4NDA4YWQ4MTllMGU0YjI0NzFiMzNkYWM2ZTYyNjZlYzA0NGYzIHB5M2sKKzc1NjY5IGIyYzhiOTg0MjUwYWFmOTE3OWMzMTExOTYyMmZkYmM3YmQzOTdkZGUgbGVnYWN5LXRydW5rCis3NTY3MCA0ZDY1ZjEyMmIyYjNiN2Y0ZmFkYWU0ZTBlNTE4MzNiMDExODE5MzNhIGxlZ2FjeS10cnVuaworNzU2NzEgZGFkMjJhMWVkMjhiMmY2ZjViNTcxYzg3ZDZkNzlmY2M3YWViYjRhNCBsZWdhY3ktdHJ1bmsKKzc1NjcyIDVjZjMyNDMzMTViNWJiOGE4YjdlMDNhNzRlMzk4NWJkYzIwODE2YTUgbGVnYWN5LXRydW5rCis3NTY3MyBmMDIxOTkxZWNmOGQ2YjMxZTBmZmQ5ZjA2NTI5ZTE3M2EzMjIyNmJkIHB5M2sKKzc1Njc1IGVkZjM1YzNhNDhhYjhiMjRhMmI1NzYwYTE2Yzc3ZWEwNGVkNzJiOTggbGVnYWN5LXRydW5rCis3NTY3NiA0M2Q0N2NiNjY4OGNmZGUwOTk1MDk2Yzk2ZDQzM2U0YzgzMmY1YzkzIHB5M2sKKzc1Njc3IGNiNzIxYzMxOTVmYzc0ZGY3MzJkMjkyYzQ5NTdiYmRjN2RhY2IyOWMgcmVsZWFzZTI2LW1haW50Cis3NTY3OCAxNGI1NWE0ZTg3MjVhYzhjMzM0NDNlNjY2MjBiZDNkYTgyNGE2OTY0IHB5M2sKKzc1NjgwIGI1NGRhNWNhYWIzNjUwNTAxMTY2YTEzOTZkNzcwMWJmMmY4YjY2NzUgcHkzaworNzU2ODIgMGMxMjM4Y2FiZTkyMTVlYmNkZGE1ZTFlOTdlMjVhYTAwNjg2ZjA5MCBweTNrCis3NTY4NCBmNWM1NjNhN2RlNzVkMzkyY2IyNGU5MmIxNTE3NjM4NDllZTYwM2YwIHB5M2sKKzc1Njg2IDZjYTY0MmQ0ZjQyZmQ1Zjg3MDU0NjY4ZTFjMTBjN2FiMDgwNWEzNDcgcHkzaworNzU2ODcgYzcxYmE1ZDFmMTdkMjJmMTY4NzVjZmVmMTkyN2IzZTZmYWUzZGQ4ZSBweTNrCis3NTY5NiBkM2Y2ZmJlYmVhYzkwM2Q1Mzk3ZTA5MTE5NDM3NGViMTFiMTEyMTE5IGxlZ2FjeS10cnVuaworNzU2OTcgZmJlNmIyNjViZDFhMDk1M2I2ODdmMjcyOWU4NGQxNDEzNTFiODEwMyBsZWdhY3ktdHJ1bmsKKzc1Njk4IDQ4MzRhNDI4NTQxMWI5MTIzOTc3NDcyZmQ2MDRmYjUwNTFlZWZhNjcgcHkzaworNzU2OTkgYTM1M2UxMDhjN2U0MjM5ZDRhMzk2NDhmNWQ4Mjc1MTFkYzU0Mjk2NCByZWxlYXNlMjYtbWFpbnQKKzc1NzAwIDk3NzM2Yzc4OTBhNmI1MzZhY2JhNDgwMmVkNjkwMjcwYTU4YzRjOWYgcmVsZWFzZTMxLW1haW50Cis3NTcwMSBkZDQ2NmFjMTkyYmU5ZGVmZDkwZWJmMzZlOGYxYjFiNGE4NjllNWU0IHJlbGVhc2UzMS1tYWludAorNzU3MDIgOGFjOTA3MDE1NjA1OTU1ZTNjOTA2NDIxODgzNzhlMzkzMWU2ODQ0MSByZWxlYXNlMzEtbWFpbnQKKzc1NzAzIGY4ZTY1Y2EzZmQzOWNkMGIzZTE5ZDk2MTBmNDk1ZTVmNTYyN2FkMjggcHkzaworNzU3MDQgY2I5YzU3ZTJlYmQzNDc5MzBmMDIwOWY0YzI5YjQzMDEyMTEyODE2NCBweTNrCis3NTcwNSBhM2NiODEyZDgwZjkwNzZjNWIzYTAzNGEyODhmOTMxYWEwMzZmYTBmIHJlbGVhc2UzMS1tYWludAorNzU3MDYgODgwM2MzZDYxZGEyNzVjNzFjYWJlOWU5ZDAyNzRkYWM5OTAyZTJjMCByZWxlYXNlMjYtbWFpbnQKKzc1NzA3IGVjNGExYjRlY2IzMTQwODg0NGFmODRjNjcyMjRmZDUwMWI1M2I0ODEgcmVsZWFzZTI2LW1haW50Cis3NTcwOCBiNTE5NjA4YTk3MDFmMDEwOGU3YTE2MTgzY2RkZDVlZjMxZDM1YmNlIHJlbGVhc2UzMS1tYWludAorNzU3MDkgN2I2MDM2ODBiZjI5NWEyMDAyNDRkMGE0ZDYzZTU4NGU3MmYzMjFlMCBweTNrCis3NTcxMCBkM2NmOGViODcyNzRhNmM2NGYxNjJjNzk0ZjRkNWJlMWFjZGYxNWM2IHB5M2sKKzc1NzExIDc2YzY2NjkwZDFlZWE1Mzc2ZTkyODg5MTkwM2ZiNWFjZmEyNjhiN2IgbGVnYWN5LXRydW5rCis3NTcxMiA4ZWZmNzU5ZDA4MGY5ZGIxZDdiZDdiZjM4YTY4YTVhYTg4M2Y2MzE1IHB5M2sKKzc1NzEzIDk3MTM5M2Y2MGJkODc0ZGM0ODE2NWJiZDdhZDQ4NjI0NzAwNTAyMGQgcmVsZWFzZTMxLW1haW50Cis3NTcxNCA2ZTRkODk2OGUyNDY5NmJkYTkyOGY5NDVmMzA0ZDU1Y2UxYTUwZWVlIGxlZ2FjeS10cnVuaworNzU3MTUgN2RjNTdiOTkxZDgzYmRkZDJjNWY1MmFkNmQ2MDhlNzVmYWM4ZjVjYSBweTNrCis3NTcxNiBmNTk4ODQzZjM2OTViY2NjMWY4YzMwOWM5ZWNkNjMxZWZhMDg4YWEzIHB5M2sKKzc1NzE3IDA5NWFmOTllNmI2NDBmNTI3Nzg0NTg3YWI2YjlkZTJhOWY5ODFlZDAgbGVnYWN5LXRydW5rCis3NTcxOCAzOGE1NzU0YjMwMzc3MWQ4MTVkNDNmNTBiM2UyNzhhODc1MjBmNTA2IGxlZ2FjeS10cnVuaworNzU3MTkgZjRjN2ZkODVmMjMyNDA5NjRhNDEzNDJlOWM2ODE1ZjkwMTA2YzA3NyBweTNrCis3NTcyMCAzOGZkYTNhNDJjMGIzZjU4ZjZhNzZjYzEyMTRiN2VmOTBlNTA5ZWM5IGxlZ2FjeS10cnVuaworNzU3MjEgZGE5NmIzZmVhZjUyNWI3NjFmY2E2NGYyOWYxZGE0OWQ0YWJjM2VmYiBweTNrCis3NTcyMiA3NDQ3MmRhMDlmNmNkZGViODUxOWY3NmU2N2NkOGE1YjQxMTU3MzdlIGxlZ2FjeS10cnVuaworNzU3MjMgYjU1YzJlZWUzNDhiNTYzNjYxZDYxMGM5Y2JkYjc2NGYyZDY0NzRmZSBweTNrCis3NTcyNSBmM2JmOTJjZDExOTE3NGMzOWMwYTY4N2U3ZmNmNTQyMWZhYzI4YWQwIGxlZ2FjeS10cnVuaworNzU3MjYgNDUwMTA1ZGQ5Y2E3NDUzZGMzYzBhN2QyMjA2OTJiODc4YzI3YWMzNiBweTNrCis3NTcyNyA2ZGEwYWU2ODBmYjYwMmRjZmE2OWM0YjYwMzY3OWFlNjkyZmY2YmE4IHJlbGVhc2UzMS1tYWludAorNzU3MjggMDNlMWRiZTJmNGQ1OWM4Mzg5ZWE0NTI0ODVkY2Y4MGE2YWViZTU0MyBsZWdhY3ktdHJ1bmsKKzc1NzI5IGI1MDQxNzU2ZmQ5MTQzYzgwNWJkNWJiNWU5NWQxYWFhMzI0NTQ1NTggcHkzaworNzU3MzAgNDFiZTJjNjk2MTliMmM2YzY3MTAyZWM3YmE4YWZmZTU4M2IxOGYxZCBsZWdhY3ktdHJ1bmsKKzc1NzMxIGM1NjQxOWNiZGQ0ODY0MzcxOWNkMzM5OTEwYjdlMDhjOGQyNGVhYjEgbGVnYWN5LXRydW5rCis3NTczMiA2ZDIzOTZlYTdiMDNiNDRiNzQ3ZmIxYzQyNWZkOTAzMTk4OWNhMmUzIHB5M2sKKzc1NzMzIGU1NWZmYjg3Y2I3MDJjYzVmMzU2OWIwODg3NTZjNjA2MGEwNjUwYTggcHkzaworNzU3MzcgNGNiZWE5ZTc4MzU2ODE4MTMxYWZhODc0YmMyYWNmOTYwMDBjMWQwOCBweTNrCis3NTczOCA1YThlODE1OTRmMGYxNjFlMzgzYjgzNzIwMjlhMThiOTUzYjEzNjQzIHB5M2sKKzc1NzM5IDBiMWEwODgwMTJjNzRhMjE3YzZkOTcyNmVkYzM1ZTBiMjk2OTc4YzMgbGVnYWN5LXRydW5rCis3NTc0MCA4NzU1MDA2ZWRmOTczZGNhYjU2YTI0ZThhOGUzYjIwYmYyMmYxMjYwIHB5M2sKKzc1NzQxIDg5NmY5NDU0MWY3MmVmMzViYWUxNTFkMzAxZjE3NWZmN2MzM2ZmZDggcHkzaworNzU3NDIgNDIyNTJkNmQxMDMwYTJjMmYyNGI3ZTg3NTQ1ZDY3Y2I0M2EwODA4MSBsZWdhY3ktdHJ1bmsKKzc1NzQzIGE3NzgxNzFjOTNkZTVlYzY5YjFjMzhmNTgwZDg3MjA4ZjgzNGY1MGYgbGVnYWN5LXRydW5rCis3NTc0NCBiZTU0YjQwNDg3OWU2NWFlOTUxNmY5YmM4MDY4MDc3ZTMzMzA3NjRhIHB5M2sKKzc1NzQ1IDkxYTBjM2M2MDIwOTRlNTFhYWZiOTM5MjAxNDIzNzc5Y2FlYmNiNWUgbGVnYWN5LXRydW5rCis3NTc0NiA1NWQ4YTkxMTdkZTc4MGZmOWI5YWVjMmI5ZjhlYmJlNzczYTFjZmYwIHB5M2sKKzc1NzQ3IDE5YTgzMmI4NDY0YTJlZjkwMTNmODkwN2NjMzQxNmJkYmJhMGM0MDMgcmVsZWFzZTI2LW1haW50Cis3NTc0OCA0MTY5ZDNjZWNiOWRjZDI3Mjk2OWM0NzUwMjUyOTJiYTQ2MDkxMDA4IHJlbGVhc2UyNi1tYWludAorNzU3NDkgMmFiYzNiNGJjZTdjZjU2YTVlYTRlYjlmZjhkNDIzMjdjYTY5MzE4MyByZWxlYXNlMjYtbWFpbnQKKzc1NzUwIDE3YWNkZDY1OWVlOWU1MGYwZGM5YTI4ZmY5NGExOWEwZDc4MGNlMjkgcmVsZWFzZTI2LW1haW50Cis3NTc1MSBhMGVmNGVmNWZjODg3NWFiZjc1MzQ0MjY3YzI2MzY3YzM4MjVjYjM5IHJlbGVhc2UyNi1tYWludAorNzU3NTIgZjljZmVhMjAxNWIyMGE2MTQ5N2ZlZjBmNTBjYjk0YjkyMWUyYzc2OCByZWxlYXNlMzEtbWFpbnQKKzc1NzUzIDgxNzgxZDFlMmZiOWNkMjgxNGU5Zjg4MWUxYWVkNmIwODQ1YTA1YTIgcmVsZWFzZTI2LW1haW50Cis3NTc1NCBjMWMwYTBjN2Y3YmMzMDI0ZjU4OTVmYzg2MzZkODM4NmQzMjM3ZDY1IHJlbGVhc2UyNi1tYWludAorNzU3NTUgNTI0NTI2NzQ1ZjJlOTk0N2U1MGM1ZTQzMmQyZDRlY2NjZDY0YmQ4YiByZWxlYXNlMjYtbWFpbnQKKzc1NzU2IGZhYzRlM2ZkNzQ3YWNmMmM5MTcwOGJhYzlhMmQwYjQ3YWY3MzAxYmEgcmVsZWFzZTI2LW1haW50Cis3NTc1NyAyNTBiYzgyNDJlN2VhYmZlNDVmZGQ4MGI2MzI3NjdkODIzOTFkNzMwIHJlbGVhc2UyNi1tYWludAorNzU3NTggM2Q1NDA0Njk1ODViZTgzYjhjMDFiMDQ2YTQ3OGUxYTM3NTBiODk5NiByZWxlYXNlMjYtbWFpbnQKKzc1NzU5IDgzMDlhZDZhZTRjMGU3ODhhMjQzY2M0NDI5MTQ0YmU2OTUzZmVhNzUgcmVsZWFzZTI2LW1haW50Cis3NTc2MCBjN2RjYzIyM2Y5MjVkMzk0NjFiMWU4NzljZDc2NDczODZhNDljMDk3IHJlbGVhc2UyNi1tYWludAorNzU3NjEgMzU1Mzk1NDM4N2ZhNWIyNjY1ZGMxZjg3YWQ0NmI5MzJjODBjYTk1MCByZWxlYXNlMjYtbWFpbnQKKzc1NzYyIDI2ZWM4ZGJkNmY2OTdlZWYzZGQ4N2YxODczODU0Mzg2YTkyMmRjMzggcmVsZWFzZTI2LW1haW50Cis3NTc2MyBiNzE4ZjMxODhjNzZmZGMzOWIyMzlmMjI0YzRkYWE1OWE0MDQ1ODM5IHJlbGVhc2UyNi1tYWludAorNzU3NjQgNDdlMmMxNGIxNTAzMzUwM2QxMzc4OTgyMDhkZDgyNWEzYjZkY2FlYSByZWxlYXNlMjYtbWFpbnQKKzc1NzY1IGNjYmY3ZWJlZjQ3NTEyNzJmYzFiZGNmNTQwYjdmMzc1NjMzN2M0NGYgcmVsZWFzZTI2LW1haW50Cis3NTc2NiBjNzYzN2I2NmIzNGJiZTM3YTJmZGU3NmU0NmM3OTU0ZDkyNzMyYjk2IHJlbGVhc2UyNi1tYWludAorNzU3NjcgMGRkNWQzNjcyMTM0ZDhlNWEyYjExNjE3ZTVlZmJiNGE1N2I2MjEyOCByZWxlYXNlMjYtbWFpbnQKKzc1NzY4IGYwMGNjZjhlMTM1ZTEwYTNhMjVjYmQ4Yjc2NjU3NTFmZDdjNzZmYWYgcmVsZWFzZTI2LW1haW50Cis3NTc2OSBlM2U1M2I4OWMxNzg0Mjk1MzMxMWU5ZjI3YTY0YmY0YTI0MzZhNTFjIHJlbGVhc2UyNi1tYWludAorNzU3NzAgNmQ0MmYxZWVmNDVkOWRiZTc2NTE1NjMxMGI3OTI2NDFmOGQxYTgwMiByZWxlYXNlMjYtbWFpbnQKKzc1NzcxIGJiODE4ODczNmEyOWI0YTY0MTQwZjExNTc0M2ZhNzI3NWNkM2Y1YjEgcmVsZWFzZTI2LW1haW50Cis3NTc3MiA3ODZhYmFiYTQ2MmQxZTc0ZDY4M2I1ZjM2ZjgxMjZkYjYzZjRiNjBiIHJlbGVhc2UyNi1tYWludAorNzU3NzMgYzg2MzBmNzMwOTA3MThlYjI2ZDFlNjdhOGEyMDdhMTM3NGRhYTI0NiByZWxlYXNlMjYtbWFpbnQKKzc1Nzc0IDEzMTQ3MjdjMDlhZTdhNjkzNTRjOTc1YTk0ZTk2NzBmMzA4YzdmN2MgcmVsZWFzZTI2LW1haW50Cis3NTc3NSAwOTZiNDJjY2IyNThmNWM2M2QwZGZmZjA5NjU1OWM1ZDkyYWVlMDA3IHJlbGVhc2UyNi1tYWludAorNzU3NzYgOGFkZjhlZjdhNGRiYWFjOGEwYzgwYmUzYzA1YjRlMWM1MzRiNjkyZCByZWxlYXNlMjYtbWFpbnQKKzc1Nzc3IDA3ZTNjMGI0MWQ1MDAzY2M1YTg1NmE3OTI3NDNiMDlmYzA2NjhiZGQgcmVsZWFzZTI2LW1haW50Cis3NTc3OCA2OGY3Mjg4ZDE1NWNlM2MxN2ZlMjNmZjdmYTAxYmNmODA5NjVhZGZhIHJlbGVhc2UyNi1tYWludAorNzU3NzkgMGQ1MWE1ZDU2YjVhMjIxNTlkYzZkMGJmYjVmOWQ4MzI5ZmY3ZjkzNCByZWxlYXNlMjYtbWFpbnQKKzc1NzgwIGExYjA5MzZiMDI3Y2YzZjA2YTllNGU1OTA2ODljNGRhNmNjNjkyY2EgcmVsZWFzZTI2LW1haW50Cis3NTc4MSA1ZDkzYzc1NDA1N2NmMjY2NzVjMGY0YzY0MzEyMjQzZjgwMDgxNmI4IHJlbGVhc2UyNi1tYWludAorNzU3ODIgMTI3ZDYyMzM5NmFiOTNhYzk3YTA1YjFkZTQxMDkwYzkzY2M2MGQyYyByZWxlYXNlMjYtbWFpbnQKKzc1NzgzIGZhYjY2MGMyZWY4ODg3YmNjOGIzOWZiMDgwZGVmNDhhZmM1ZDIyMTIgcmVsZWFzZTI2LW1haW50Cis3NTc4NCA2NmRlNzExMTIzMGFiNDVkNDkzNmZiMzI4NTRiOTlkNTRjZjkzNjgxIHJlbGVhc2UyNi1tYWludAorNzU3ODUgNmIwNWQ0OGNjYTI4NzIwNjMyMDMzNjkxMmJmNjQ0Njg1NTEwNjc5NiByZWxlYXNlMjYtbWFpbnQKKzc1Nzg2IDNlMTVhMDdhMzJmYWY5ZDQwNGNmMjJlNmM0NjgwZTE2MzU4OGRhYjAgcmVsZWFzZTI2LW1haW50Cis3NTc4NyA5YjI0ZDAxMDEzM2YwYTYxMmYyOWMzYzM2MjE0ZGZmZGE1MmYxNmJhIHJlbGVhc2UyNi1tYWludAorNzU3ODggODVhYTcwNmY3MTI2ZDIxMTQwNjk5OTEwZjg3N2YwOTM5MTcxMjUxMSByZWxlYXNlMjYtbWFpbnQKKzc1Nzg5IDQ4NTIxMjMzYmQ2ZThkNGQ5ZTI0NzA2NmUxZmZiNGQyOGM1Zjk4NGQgcmVsZWFzZTI2LW1haW50Cis3NTc5MCBjNGM0MjliMDhhNTc1OTkyMmIxMmM1ODc5ODRlZWU0Y2JjMzBkZDBmIHJlbGVhc2UyNi1tYWludAorNzU3OTEgZWYzMTk0NzQ5Mzc3MDAwMzhmNGExNGY4NjgxMTQ2NDBkZTE3MGI4ZCByZWxlYXNlMjYtbWFpbnQKKzc1NzkyIGI3Yjg5NzBjZDVhNTc2NDA0ZDRlODIwMzA0MDYwNTU3OGEzOThmNTAgcmVsZWFzZTI2LW1haW50Cis3NTc5MyAyODg1MjUwYmE1ZjQ5ZjU1ZGZhZTdjOTA5ODk3NGE5ODBmMWFjYmJhIHJlbGVhc2UyNi1tYWludAorNzU3OTQgNDAyZGFkYzdiNGE4NjI0MjNlZWUxMWI0NTliMjYxZTczOTM1MTRiNyByZWxlYXNlMjYtbWFpbnQKKzc1Nzk1IDFkNjhiMWRjNDEwOTM2ZmI4NzIxZTg4ZTg0NjcxMzZkNzI1MzMyMDAgbGVnYWN5LXRydW5rCis3NTc5NiA4ZDllZjVhNzliYzdhNTkzMThkNTJhZmE0NGI1N2E5ZTUzOGQ2ZDk1IHJlbGVhc2UyNi1tYWludAorNzU3OTcgMzAzNTljMzNiNmY2NzdmMGM0YzU0ODY1NzMyNzM5ODc3NDM0M2M1ZSBweTNrCis3NTc5OCA5N2Q3Y2QzNjVkZDUzNDRmNTFhNTkwZDlmMjUyMjlmYjFkNjkyYTVkIHJlbGVhc2UyNi1tYWludAorNzU3OTkgNTk4YjliZWU3NGVjODgyYzJmYjIxMDI1ZGViNzIzY2UwMThlYjcwMSByZWxlYXNlMjYtbWFpbnQKKzc1ODAwIDcyODQ1MDdiYWRiMmEwOTc1ZjE4ZDc4YTFmODRmOGQ4MmNlZGM1MzkgcmVsZWFzZTI2LW1haW50Cis3NTgwMSA4MWI2M2FiNmQ0NWZiNGIzZjA3ZDYzMDU4ZDY2YjA2ZDNjMDdmYmM4IHJlbGVhc2UyNi1tYWludAorNzU4MDIgNWIyOTUzMzA4MzBhMDk2ODY0Zjk3ZGFjZjFkNTNkYjQ4NDg0NTIzZCByZWxlYXNlMjYtbWFpbnQKKzc1ODAzIGU5NDA4Y2IzZTI3NGUxNTAyNTMwZWMzNWI3NzA0NTZjMWFmNWZhYWQgcmVsZWFzZTI2LW1haW50Cis3NTgwNCBiZDc3NmUwMTk5M2FjYjkxYTAwODlkZmE4NGRkMDcwMWFhNmNkOTQ0IHJlbGVhc2UyNi1tYWludAorNzU4MDUgOWVkODk5MWE5MTQxYzY0MDkwZGMyNWM5NjE5Yjc4MDUwMzM5Yjc2MiByZWxlYXNlMjYtbWFpbnQKKzc1ODA2IDY3MGNhYTk3NzVmNjBhYjNkZTU2NjIyZmZmY2U5MDlmNWQyMjk5ZDIgcmVsZWFzZTI2LW1haW50Cis3NTgwNyA3NjRhZTJlYzRhNzA2MzFiMjM0MDYwYWViNTQzYzBjYzFlNWI4NmU5IHJlbGVhc2UzMS1tYWludAorNzU4MDggYTA1ZTFhNTczNjNkNzVhMTE3ZTJlMDY1OGM1MGI3YmE1YTA3MTY2ZiByZWxlYXNlMzEtbWFpbnQKKzc1ODA5IGJlNTM0OGIwNTRiNGY1YzBhMWQ4MjZjMDdlZWM1OTdlNzU4NmQzYTggcmVsZWFzZTI2LW1haW50Cis3NTgxMCAwMGU0NWQyMWYyNWJmODVhNDdiYmM0YjIyMTBmY2Q3ZGI2MWNjNjc5IHJlbGVhc2UyNi1tYWludAorNzU4MTEgMWMzMmI5NWZlNTc4ZTcwYmY1NDUyYjA3MWRjYjliYWE2YTI0ZTI3YyByZWxlYXNlMjYtbWFpbnQKKzc1ODEyIGI5N2U4Y2ViZThlZGE1ZDFiYzI0YzI4ZWRhYzFlYzRiMjQwMWU0MTUgcmVsZWFzZTMxLW1haW50Cis3NTgxMyBlNTBiYTJhODE5NzM2NzI5MTI3ZmY5N2M2MzgzNmU2YTQ1MGQxMGY4IHJlbGVhc2UyNi1tYWludAorNzU4MTQgZTRiY2ZlMmU2ZDU3NmMwZTdiMjEwZWY2ZDNlOTNlOTMyYjIyY2YzNiByZWxlYXNlMzEtbWFpbnQKKzc1ODE1IDA5N2MzNjBiNGJhNTlhMWM5YzE0MDg3YTFiNjhlYmM4ZWE4ZTYxOTYgcmVsZWFzZTI2LW1haW50Cis3NTgxNiA2MDRkYjlhODNkMTg3N2UzYzZhYWEwMTk2NGZhNWJhOTkyYzc1MzM4IHJlbGVhc2UzMS1tYWludAorNzU4MTcgZWYwODI1M2YyOTBiYWJmMTFiMTRjODBhODE4M2ViMWE5OGQzMzdiNSByZWxlYXNlMzEtbWFpbnQKKzc1ODE4IDNhOTkyMjkyY2NkODVmMTZmNGM2NzkwNjc5NzhhNmZkYzZlNDczMDkgbGVnYWN5LXRydW5rCis3NTgxOSAyNWJjM2Q2OWU4YWZlMzAxNTZkYzVkZGEzNDY5M2JiZTNjYmY3YWYxIHJlbGVhc2UyNi1tYWludAorNzU4MjAgMTlmNzZmYWJhOTY1NGRkZmRkM2M1NjI4NWE5YjdlN2FjMjBjZTM1YyBweTNrCis3NTgyMSA4NjUzMWRlNzU4OTRmMWZhMjI0ZTczNGJhMGU5NTRkZTZlMjljNzQxIHJlbGVhc2UzMS1tYWludAorNzU4MjIgNTk1MDVlN2U3MDczMmExZWIyOWNkMTc5YmJiNzJiMzUyMDI1NWI4NCByZWxlYXNlMjYtbWFpbnQKKzc1ODIzIGU0NzMxZmQyN2Q5MTY4MDUxNDgyMzJjZTU2ODljZDkxZDRiOTYyZTkgcmVsZWFzZTI2LW1haW50Cis3NTgyNCBlOTlhZGZjOTJkYzJlZjU3MzExNTIzZTQ0Yzg3YjZiMTI1MTliY2Q5IGxlZ2FjeS10cnVuaworNzU4MjUgMzU5NjJiNTQxNTk1N2VkZDMwNmY4NmZjOTA5ZmM4ZDc1YzY0MmEzNSByZWxlYXNlMzEtbWFpbnQKKzc1ODI2IDQyZmQ3ODU1MzQ3ZTg1OTFhNDFkYTNmNDkxZTBiMDBhMDM0ZGUzODYgbGVnYWN5LXRydW5rCis3NTgyNyA2MzJkZGIyNzUzMjFkZTI1YWY3YmZhYzBiNzM4YTlkZTA5OWQ5Y2IyIHJlbGVhc2UzMS1tYWludAorNzU4MjggZjhmYTM2ODBjNWQzNTU4MjI1MmRlYzE5MjY5NjhjODhiZjBmNmIwYiByZWxlYXNlMjYtbWFpbnQKKzc1ODI5IDYyOWQ0NWJhNDZkNzljZjMwZjQwNTYxYjQ4ZmNhNGE0N2JjNTUzMDEgcmVsZWFzZTI2LW1haW50Cis3NTgzMCBlMWJiYzYyMzJmMjlkMGEzODkxMjM5NTE1NTMxNjFkM2ZlNzg1ZmVkIHJlbGVhc2UzMS1tYWludAorNzU4MzEgZjhlZDg0NDBjZGI0NWZhMWIzZjRkM2ZiZTZiNTA2OTcwM2FiNmEzMiByZWxlYXNlMzEtbWFpbnQKKzc1ODMyIDEwNzUxNzk0NTFiNTYzYjc1OTExMWZkOGQyNDMzNmNiNWMzN2FlNWUgcmVsZWFzZTI2LW1haW50Cis3NTgzMyBhZTk0ZjY4NTUzMTAwYzA4NmM3NzJiNDRiMDMyYTRhZjA4NDc3NzlkIHJlbGVhc2UzMS1tYWludAorNzU4MzQgYjQwZmE4MjZlMWNmMGQ4YzNhN2U3ZTdiYmM1ZjM0NzBiZDFkZTg1OCBweTNrCis3NTgzNSA1ODBhYzE1MTE2NTIzYzFkZGFiMTI1ZDkyZTliN2ZmNDBkNzAzNDEzIHJlbGVhc2UzMS1tYWludAorNzU4MzYgOGE3NzRhZmU5OTAwOTBiOTlhOTE1MTQ1YmIzZjQ3OWNmODY0MDY0NCBweTNrCis3NTgzNyBjN2ZmMmZjZDJiNmJmMGU3ZTk2ZjY1Yjc3NDYxMjA1MTBlZmNlODkzIHJlbGVhc2UyNi1tYWludAorNzU4MzggMjY5ZjFkOWM4NmNkMjI2YTI4OGZkMjc5MWE0YmU2NTFhMGU4YmViNiBsZWdhY3ktdHJ1bmsKKzc1ODM5IDhmYjhmZDNiNjdjZjY0Mzg4NzE2ZDc2ZDNmMmI4YTcwZTM2MWJkNDMgcHkzaworNzU4NDAgOTM2YWFhMTI0OTJjNzA2YjMxZjBjYTExNDcwM2Q1YzZkY2I5NWZjOSByZWxlYXNlMjYtbWFpbnQKKzc1ODQyIGIzMWZjYmFiMDUyMGM0ODNjNTBhNTZkMTVlNTVlYjYzOWY1Y2I3MmIgbGVnYWN5LXRydW5rCis3NTg0MyA5NTVkOGZhMTJhZDU0YjVhY2I4NjAwYWYzMDIyMzhhNDg5ZTc4YTllIHB5M2sKKzc1ODQ0IDVjNTQxNGE4YzdjMjQ3MTY5YmJlNTY3NGMwMjViNjc2OGI2ZDllMjIgbGVnYWN5LXRydW5rCis3NTg0NSBlMWQ0MTI0ODkxMDdiNTMwYTY3NTdhNjRiNTcyYjU1OGIwMzkxNmM5IHB5M2sKKzc1ODQ2IDE0MGQ4OGQxYjE3OThmYjJmN2M4NWMyNGZhMzgwODY4Y2EzMTY2MWIgbGVnYWN5LXRydW5rCis3NTg0NyBlMjU5YjM0YTBiODgxNDQyNzkzNzc3NDA2MDFlNmFlYzk4N2M0NDEzIHB5M2sKKzc1ODQ4IDExZmMxNjBkNTNjNGRjYTUxZjViN2E1NTJjYzkxZWRmMWU5MjU4NjUgcmVsZWFzZTI2LW1haW50Cis3NTg0OSA0M2JmZjY5MDNhYTVhMzU0YmMwNzg1YjgyYzc1MmU2NTEyNzVjYzZhIGxlZ2FjeS10cnVuaworNzU4NTAgZDdjYzBlYjNmMjM0Zjg0MGM2ZjA5ZjkwNGNhODA5ZGRlNDgyNjRmNiBweTNrCis3NTg1MSA1ZjYxYmQzYWE0MjdiMjJkYzg5MDczNmU1MzcwMjkyMjYwMDlhZTRmIGxlZ2FjeS10cnVuaworNzU4NTIgZTRiZmJlOWI3NGM4OTI5MmU0ODllZDM0MmVlMDUyMWVlMmM1MTI1NyBweTNrCis3NTg1MyBkOWQ2OTA2MGY1ZTRiZGMzYzExZGVmYzBhNjZkZGU2Y2EwZGQ4M2VkIHJlbGVhc2UzMS1tYWludAorNzU4NTQgMWJkYTQ2MDJmOTM5YTJmM2QxMjE3Yzk2N2M3OWQ2YjEwNDQ2ZTJlNyByZWxlYXNlMjYtbWFpbnQKKzc1ODU1IDVjODg3Nzk0NzNiOTI5NjM4NGQ0OWQxZWMzMjA5Y2FmZDBlYTM1MTggbGVnYWN5LXRydW5rCis3NTg1NiBhZjc4ZmRhNTdhZjg2NGY5ZThlNWQxNmQwMjU5ODkzMDM3OWYzNzJlIHB5M2sKKzc1ODU3IDAyMWQzYTM4YmQzNmE0YTA3ODQyYTdhYTgwNGJkMDdjMjg3NzJiMTYgcmVsZWFzZTMxLW1haW50Cis3NTg1OCAwMjlkNjk2NTliNWY5OTU0OGZmNGU4YzcyZTA5YmEyNThiYzliNzdhIHJlbGVhc2UzMS1tYWludAorNzU4NTkgY2VmNWNiMjcwZmRmN2M5NjZjNjJhNTEyODUyZjczNGYwNzk3NmE0ZCByZWxlYXNlMzEtbWFpbnQKKzc1ODYwIDBkZjQ3YjFiMzBiOGEwNzk4MTk5NWNiYjNkNmNiNGQ3YzdlY2I2ZmMgbGVnYWN5LXRydW5rCis3NTg2MSA4MTQxZWM4MWFkMmQzODg4ZjIzOTliYmM2ZThjMDdiY2NjOGI1YTcwIHB5M2sKKzc1ODYyIDcwZWI2YTEzYWJjZDY4NTY2MDVjZmJjYjI2NGE2ZmFjYjM0MDVlNmMgcmVsZWFzZTMxLW1haW50Cis3NTg2MyBiMDg1ZmQwNjExZGUwZTgxZjFlN2RlMTFjYzc0NGY1MzRiNGRlYWJhIHJlbGVhc2UzMS1tYWludAorNzU4NjQgMmYxYzUyZDlmZWVjYWRhMjRiNzI1ZjMyYWI0M2YxODRiNTgzNmIzNyByZWxlYXNlMzEtbWFpbnQKKzc1ODY2IDk4OTllY2E5Yzg1N2Q5MWQ1MmViNzAzZDQ3ZDJiNWM0ODg2ZTViMmQgbGVnYWN5LXRydW5rCis3NTg2NyAxODUyMDRkNTQxZmU1NmUzMTY4ZTUxYzEyYWFjMDg2YWEwNjk1OTgzIGxlZ2FjeS10cnVuaworNzU4NjggNDExYjZhY2JjZjEyZTc2MjcyODk1M2EwNGQ1YWEzNTE3OTAxY2FjNiBsZWdhY3ktdHJ1bmsKKzc1ODY5IGI0YmFlYzFlNmEwYzMzOGFmZTFkYTRjOTAzMzRmYzIzODc0NjY3MGUgcHkzaworNzU4NzAgZjVjNzJhY2E2YjYwYTNiMDU2ZDIxMWEyMGNlMTg2OWYyOWI4YzU5ZiBweTNrCis3NTg3MSAzYWU0ZDM2Njc5MjBmYzM0YWFmMzk1NmExMTJlZGUzOTY5ZTY3OTRlIGxlZ2FjeS10cnVuaworNzU4NzIgZmIxYmZhOWNhYmYzM2JjNmU0ODRjZDY1M2MxYTA3ZWRmNDM5MWE4MCByZWxlYXNlMjYtbWFpbnQKKzc1ODczIDQ1YTI3Zjk2MWFhMWRmNGU5N2U3NmMzYmM2MDA0MWY0MGQyNDc4OTUgcHkzaworNzU4NzQgMjA0ZjMzZDQyNzYyYjI0MTM1OGIyMTZlNjlmM2RhNTRkZmRiYTgzMyBsZWdhY3ktdHJ1bmsKKzc1ODc1IDM5NTlmYTEwOTcxOGVjMzdmMGYxMDM0M2UzYTgxZjczZmQ4ZjMxZTQgcmVsZWFzZTMxLW1haW50Cis3NTg3NiBjOTI2OGZlYTgxMDQ5MTI3ZWM1MzYxNDNkOWYxNjc2MGFmNmIzYjM4IHB5M2sKKzc1ODc3IGJlYzI2NmY2ZDUwODFlMjU5NWNjYWVmOWEwYTVjZWFiOWI2MzZiYjUgcHkzaworNzU4NzggYjZjYzAxMzRhZjMxNDBlMTE2ZGIxNTA0MzZjM2IzYzIzMDNmNTM1NyByZWxlYXNlMzEtbWFpbnQKKzc1ODc5IDIxYTNmODNkOTlhYmY3ZDdhOWVhNjFlMTI3ZTBiZGRjZWRkMDJhNWEgbGVnYWN5LXRydW5rCis3NTg4MCAxMjhkYWY2Njk5Y2NhMjhkMzMzN2VmYjRkODVjNTZlMzY0OTY0ODVlIHJlbGVhc2UyNi1tYWludAorNzU4ODEgMzkyN2UwZTEzODI0MTI2ZTczMTI0M2VkZjc3ZGNjM2VjM2FmZjdiYSBweTNrCis3NTg4MiAxNThiMjExZTZmYThjMWM4OGI2ZjEyNjQyNjQ4MWM4MmYxZmU5NDA3IHJlbGVhc2UzMS1tYWludAorNzU4ODMgZjEwMTA0MDUxMzM5YjhhYjY3NzE1YzRmNTFiZmY4NjQxMDNmYTlhOCBsZWdhY3ktdHJ1bmsKKzc1ODg0IDQ0ZjY0NDcyZTkyMjFiN2VjMzk2YTM5OWJlNmY1MTU4Y2UwYTEyMDQgcmVsZWFzZTI2LW1haW50Cis3NTg4NSAxMjQzODlmNGViYWRjMzljNThjNDAxZTI4ZTU2MThjNGMwZTI2ODRkIHB5M2sKKzc1ODg2IDY5MGM1NjVjMTVhOWUxZmYyMmNmMWY4NzJhMjc5ZWQ5YTJlNjdlNDAgcmVsZWFzZTMxLW1haW50Cis3NTg4NyA2OTQ5Y2U3OGMwNjU1ODFlODNjYzBhNzI1NjlhOWQ2MmVhN2U1ZDRiIGxlZ2FjeS10cnVuaworNzU4ODggN2U2NmZmZGJjYmVmZmJmNmE0MmZlODk5YTVkZGZiZjY5NTg5YTZiMCByZWxlYXNlMjYtbWFpbnQKKzc1ODg5IGQwZDdlMTViNDk1MzVhMDA5MGNkZmRlNjY2YTMwNjBhZWVmZDJjNmQgcHkzaworNzU4OTAgNWU0ZDFiNGY2MmZhMWQwODc4NWZiYjhkMWI1ODA4NGRlNzlmZjk3OSBweTNrCis3NTg5MSBhZDYxMTI5YzQ0MjIyNTY5MmRjMjUwYjRkYmE2NmQ5ZGY2MzAzYWQxIHJlbGVhc2UzMS1tYWludAorNzU4OTIgZTFkY2E5NzJmYTM1ZDMxYTU0NmNiNzA4ZjY2N2E4ZGFmN2E2YzIzYyByZWxlYXNlMzEtbWFpbnQKKzc1ODkzIGZjNWE3NzE4NDMzYTg1NDRmMWVlNTMzMDY5MzUwODQ1YWQ3OWM1MmQgbGVnYWN5LXRydW5rCis3NTg5NCA2NGFkMzY1MDc5NDQ2NmU4NGNjYzUyMmIzZGM5MDE2ODJiZGUzZWVjIHJlbGVhc2UyNi1tYWludAorNzU4OTUgMTc3NzlhOTRlODI1MDg2YjY2MzFjZmViN2YzMDNkZmE5N2NmZjZhMyBweTNrCis3NTg5NiAwZjI5YWEyZDQ4NDRmNzE3NDc5ZmI5ODJiMDQxZTliNWI1MmMyMzQ2IHJlbGVhc2UzMS1tYWludAorNzU4OTcgNzE1NzRmZTQ5NTc2N2IxMTg3NDE3ZjcwNmM2NmM3ZjI3MTE0OWQyMiByZWxlYXNlMjYtbWFpbnQKKzc1ODk4IDAzZDc2YmRmOTM2MmFhNTQyZjM5ZDAwNTg2YmRhMTNkNzA3NzgxNjMgcmVsZWFzZTI2LW1haW50Cis3NTg5OSA5ZTI0ZmQ2YTU1ZjA4ZWE1NzI3MWIzYTA1YjY0NmViNWI4MzQ0NGNlIHJlbGVhc2UyNi1tYWludAorNzU5MDAgMDQ0YTY4YmMwZDJlZmI5NjIzZTI2YjM2MGI3Y2ZlZGMxMmU5ZTE4YyByZWxlYXNlMjYtbWFpbnQKKzc1OTAxIGMxODIyNDk4OGJiMWM4NmY4NDQ1ZjdjMDdiMjg2YzJmZGRmMTU2ZjUgbGVnYWN5LXRydW5rCis3NTkwMiBjZDlmNzJmYmE1M2IwMzE1MDM1NzQyNzkwNjgxZmFiZmE2MzJmZThkIHJlbGVhc2UyNi1tYWludAorNzU5MDMgZWY2YWI1ZDBhMDA2YTliYzFkY2QwMzI0ZmE3OTllNzM4YzhhMGRmYiBweTNrCis3NTkwNCA1MmIyN2MwODE2ODY4YTgwNTVmNjI1MmRmMzVkMTYzNTY1ZDc1OWQzIHJlbGVhc2UzMS1tYWludAorNzU5MDUgYWFmYTY2YzU3NDQ0ZTNiMjVjYWZlZDAxYmIwZjdhYTljOWI4M2I3ZSBsZWdhY3ktdHJ1bmsKKzc1OTA2IDFlOWVlYzczNDQ3ZjI4YTBkMGViNmUxYTMxNDA2NDNmZTRiMTJhOGEgcmVsZWFzZTI2LW1haW50Cis3NTkwNyA5MGM3MTQ2ZGRmNDIxOWY5NDMzNDNkMTEyMDEyMGM4MWYxYWUyMGU3IHB5M2sKKzc1OTA4IDc2ZDA0MjE0MzhhYzM2ZjRhNWMzOWFmZDJlNjhkM2NhOTIxNWFmN2QgcmVsZWFzZTMxLW1haW50Cis3NTkwOSBlN2NlMjUxYjNiZmI2ZDRkMTY1YjI2MGVhMTZkYzBmZTMyMDFhNGQ1IGxlZ2FjeS10cnVuaworNzU5MTAgZTc1MGI5MGJkOTgyYjMzNTJhYzg4N2M3NDg3MjBkOTZhYzczMWFiZCByZWxlYXNlMjYtbWFpbnQKKzc1OTExIDQ0ZGUzYTQwMjQwMTQ1OThlNGY0YTBiZDViYjkyNjRhMTcyZGE0MjMgcHkzaworNzU5MTIgYTFkZWM1N2JlYTVkYzI2MDUxN2Y2M2I3ZTliNWQ3N2YyYzYwYTdiOSByZWxlYXNlMzEtbWFpbnQKKzc1OTEzIDJhOTYxZDdmMjAyOGJiMzUxODNmZDY2YjQ1MjRhMmQ0NDViNWI3ZDEgbGVnYWN5LXRydW5rCis3NTkxNCA4NGI4YTJiOGU5YWU1MWUwMDk2MmVjZmNkMzI5NWMzNWEwMDUwNWFiIHB5M2sKKzc1OTE1IGI2YmUzMDAyZDNjYTJlYzdkNGYyMTY0NzZmYjdmNzUyZGY1YTEyYWMgcmVsZWFzZTI2LW1haW50Cis3NTkyMCAyMTQ3YzJlYmNlZDg1OTNkNjZiZThkZGNkNTdjYmNkYzlkYTk5NmJlIGxlZ2FjeS10cnVuaworNzU5MjEgMjBlMjFjMTU1YzA1NjJmNjRmYTczYWQzMjM3MzcwYjk3ZjBjMGQyMSByZWxlYXNlMjYtbWFpbnQKKzc1OTIyIDA2NjY4NWY2OTgzYWQ0MGVkYjJhYWE1MWUzMzZkMzQxNjRkYmI5NzAgcHkzaworNzU5MjMgYTc5NTUyOWIwOWM5NjZhMjdlZmE0MWYyNzYxODJhNDlkMzQxZTMzZiByZWxlYXNlMzEtbWFpbnQKKzc1OTI3IDllODJmMTdiMmM4ZGEyMzAzZjlkY2MxNGQzNWRmM2I2YzVlN2FkYmUgcmVsZWFzZTMxLW1haW50Cis3NTkyOCBkYjRkZmRjNzQwMjlhZDk4NDY1MmMxMzUyMDYxZjFkMDIwZTdkZWQ2IHB5M2sKKzc1OTI5IDg0MDJlNDc3ZWI0ODdkZDRkMDI5MTM5Yzk5MjJjNmYxZTBlMjFiNDAgbGVnYWN5LXRydW5rCis3NTkyOSBlMzU4YWYyNTY5Yjk4YzEzYTQ3ODg2NjBkY2JlN2FmNTdiMmE1MTg2IHJlbGVhc2UyNi1tYWludAorNzU5MjkgNDQ4OTA5YTk0MGMwNGRhMDNiMzlmNThkM2VhZjc0OTIzMzZmY2I4MyBweTNrCis3NTkzMCBmMzJkYzg0YTg3NmNjNTk5MWI2N2Y5YjhlNzhkZjZjYTk0MDE5MTFmIHJlbGVhc2UzMS1tYWludAorNzU5MzEgODQ0MTgwYjdlNmZmMGUwZmE4NzI1MmI0M2YyNDMzN2Y4OTQwZmRjMiBsZWdhY3ktdHJ1bmsKKzc1OTMyIGM3MTVmODI1NTVhNGM5MzQ5NmVhODJiOTRjMWI3ZmM4MWRiMTdlODggcHkzaworNzU5MzMgZTgwOTk4MjYyOWM0ZDgzZGY3MjA3YjY2Y2E2Njk5MGM3OGMyNzVjNSByZWxlYXNlMjYtbWFpbnQKKzc1OTM0IDAzMmQ5NzQ5MDQ3ZDdlMTNkZTYzNTJhYzYwOTQ0ZTZjYjVkZWVjODkgcmVsZWFzZTI2LW1haW50Cis3NTkzNSBiNTcxYzY2ODUyMjlmM2MwODE4MzQ5YWVmYjY0OGNhMDgwNjQyZGVkIGxlZ2FjeS10cnVuaworNzU5MzYgM2NmZWNiYzdhZTk1YTdmNjI5ODA5MmNkMjg3MGQyN2ZmMjQ5OTFjYyByZWxlYXNlMjYtbWFpbnQKKzc1OTM3IDhjZmY5NDkzMjNjOWU2NmJjMThkY2U5MjRlNDljNGJkYTc3MWY5OTMgcHkzaworNzU5MzggYjAwOWEzODc2OTliMzJkMWM0NGFjYTJjYjkyZGVmYWExZGU0Yzg0ZCByZWxlYXNlMzEtbWFpbnQKKzc1OTM5IDU1ZTUwOGUyNTM1YzlhMzM0ODI4ZjIwNDU0NmFmZTkzZjE3NTMwYjIgbGVnYWN5LXRydW5rCis3NTk0MCBmZmM3ZDllYTI0ZDkwMjJmZjZlNzZkYmFjYzcwYzIyNjM3ZDcyZWU0IHJlbGVhc2UyNi1tYWludAorNzU5NDEgYWFhMmIwN2MyYzQyNThiNDE0NzBkNTNmYzg2ODUzNDRlY2I5NmQxZSBweTNrCis3NTk0MiAwNWZkNDhkYzJhZGE5YmYwYmYxOTUxNjM5M2UxMjQxZjk2MGFiMDAyIHJlbGVhc2UzMS1tYWludAorNzU5NDMgMTVmMTg3MjQwN2JlMjY0NmExMDFmZGI0ZDRjMTRiOTc0NmY2MmM0MiBsZWdhY3ktdHJ1bmsKKzc1OTQ0IDYzZWIyODgzOTI2YjJkNWI4MDI0YjUyMDQ2MTJkYTNmMGRmYzU2ZWEgbGVnYWN5LXRydW5rCis3NTk0NSBkNWEzNGVmMmZjYTdjMzIxMTc0Y2MwYTM0Yjk0ZDY5MjhjNjAxYjJmIGxlZ2FjeS10cnVuaworNzU5NDYgNTNlMzgwMDVkNTA3YzRiYTdlYjZjY2ZmMzlmYmRmZDExNDhiYTJlMyByZWxlYXNlMjYtbWFpbnQKKzc1OTQ3IGViZGRjZWQyYzljNGQ0ODQ1ZDA5MDA2MTY1ZWJkZWI4NTk2ZDY2OTMgcHkzaworNzU5NDggMGVkNGJmNDMwZDRlNWVlMGE3YjhhYmIxYmM1MThlZmY4MWIwYjlkNyByZWxlYXNlMzEtbWFpbnQKKzc1OTUyIGM2ZDYyMzQwYWViZjBjMzE5MGY1OTYzMjNkNGQwMjMzZTJkZWZiYjUgbGVnYWN5LXRydW5rCis3NTk1MyBlNjY1ZDIxNzBlODUyYjE5ZDYwOWIyMmZlYTk0MzAyZTYzZmRhNjJhIGxlZ2FjeS10cnVuaworNzU5NTQgNWY1ZTNjN2RhOGNiNDVmZTc0YTFjYzEzN2Q0ZDE3OWY0NzZiNDM3ZiBsZWdhY3ktdHJ1bmsKKzc1OTU1IDdlMDIzNzFhYTUwNjAyZjA5ODE1NGNhNTk4MzVjMDY3OWI5ODY1OTUgbGVnYWN5LXRydW5rCis3NTk1NiA0MTFmMjUyYTI5NGE0ZmUyMTg2NjE2YzdiMjQ3ZjdjMzNjODAwM2I0IGxlZ2FjeS10cnVuaworNzU5NTcgOWRkYmQ2OTgxNWNhN2EwOTZjNzQxZjg2NWRjNzQ0NDlmZDcxYzI4MSBsZWdhY3ktdHJ1bmsKKzc1OTU4IDI5ZmU1ZTdiZDZlZTE5MDBhODUzMTAxYmZjMmEyZTEwZTUxZjIzM2QgbGVnYWN5LXRydW5rCis3NTk1OSA2Y2Y4NGU1YTZkZDdlNTU1ODhmNTNkN2M2NzI4YTRjNTE2ZTMyNDNkIHB5M2sKKzc1OTYwIGUxMWQyNDY3ZDEyNjc5N2I5ZjNkZWE3OGUyNDE4MGZiOTIwMTBhNTQgbGVnYWN5LXRydW5rCis3NTk2MSA3MTNlMjFhNTQ3MWVkNzYzNjQyYzg1NjBmYmRhMzk4ZDUwY2M0MGQ2IHB5M2sKKzc1OTYyIGFjYWZhNTE0MmJmOTE4ZjQ2MGY3MWE3N2I4NjlhZDAyZGVhMWJlYzAgbGVnYWN5LXRydW5rCis3NTk2MyBjMTQ2OTI1MjM0ZjAzYWMwOWM0ZjBlYjUxMzM1YmY2YTA3YjQwMTQ4IGxlZ2FjeS10cnVuaworNzU5NjQgYTE4M2M4MmI2Mjg5NDdjZmUzOTg3ZmRjNTk0NTllNmMwMzAwNDY4ZSBweTNrCis3NTk2NSBlODdhNjY5OGEzMDVhNjQ1MDEyNzY3MDlhNmNmOWU0MjRkMmE4YTA2IHB5M2sKKzc1OTY2IGZkMjE4YWIwZTIyZWZlNTNiODMxNGRjYmE5YThjM2EyYmY5ZGQ3YzcgcHkzaworNzU5NjcgMzM4NjFjYTFmYjJiMTE4MTYwMjNjZDNkNzNhOTlhM2U1MzdmNWE0MyBsZWdhY3ktdHJ1bmsKKzc1OTY4IDA1NjQ3MDQ2OGZlMjllMThlZjFlMmE0NzNmNGEyMjQ5ZTBiZTk1ZjMgcHkzaworNzU5NjkgZDU2YjEwMzQ5MGE1NWIwMDNiY2FkNjYyZjQ4N2Q3OTQwMTc4YmQ5OSBsZWdhY3ktdHJ1bmsKKzc1OTcwIGJmOTNlNGRmN2JmYjFlNjMyNDkyNTgzNjRmYTI4MGFlNzFhYmVlZGUgcHkzaworNzU5NzEgOGQzNmRlYjM1NmYxOWY0YjhjODAzZWY5MDNhOWU5NzFlOWU0MmQxZCBsZWdhY3ktdHJ1bmsKKzc1OTc0IDdjODY5OTNiMTNjOWZkNzRkNDIxYTc0Y2I4MzM0ODNmZjI1NjE4OGQgbGVnYWN5LXRydW5rCis3NTk3NSBiNGU5MzM5YjQ5OWQ1NTI1YWM1ZWQ1NDA5OWZmZjllMjQwN2FkZDg3IHJlbGVhc2UyNi1tYWludAorNzU5NzYgZmNmOGE0ODY3OTIwNjNkZTY1YjAyYTE0N2MzOWM1MDY1ZGRlYjNmMyBweTNrCis3NTk3NyA2Y2I1MzI0OGU1YmU0YjA2YjM1YmZkMWQzM2RlYTlmNTQyOTI0ZGFiIHB5M2sKKzc1OTc4IDZhNmYzMmIwZmFiZDBkOGVkMzNmY2MxNTM3ZjY1ZjRhMGM0NmMyNWMgcmVsZWFzZTMxLW1haW50Cis3NTk3OSBiYWIzZTNjZDc2ZjFkNTI0NTExNmUyN2NjMDc5MWU3NWYyZGM5MjFkIGxlZ2FjeS10cnVuaworNzU5ODAgMTdkYzBiNTNiNDhlZGIxYWUxYzA4OThlNTFkZGI0MWJhYTFhYWE2ZCByZWxlYXNlMjYtbWFpbnQKKzc1OTgxIDE4MmZlMGFmNjA0ZTM1YWY2YjFiNjIzM2Q3NzYzYmZhZDYwYWYxM2YgcHkzaworNzU5ODIgZjU5NDMxM2I5MzY0NWFiMjRmODEyZjA3Nzk3ZTk0ZGEzYjllYTkzMyBsZWdhY3ktdHJ1bmsKKzc1OTgzIGZiNDk4YTBkZTBiOTVhYjYxYWYzZGMxMjE5MGMxNGY3ZjljNjBhMzQgcmVsZWFzZTI2LW1haW50Cis3NTk4NCA1YTk5MDAzYzliODNkODQyZjFiOTk1OWYzMzI2OGJmYzZlYTgwYTY4IHB5M2sKKzc1OTg1IDI2NGE3MzVhOGFmNzc2Nzk3ZGNiZDFiMDdmYTcyNGNmZDU1OWM5OGEgcmVsZWFzZTMxLW1haW50Cis3NTk4NiBlOWI4Nzc1NmFkM2IzYzI5ZTg5YjJjOTI5M2QyOTZiNGMwNmQ0ZjMwIGxlZ2FjeS10cnVuaworNzU5ODcgN2VjZDNlM2M5NTY0MjcxMGQ5MDFmMjU4NmU3MDhkMzExZWE1OTFhZiByZWxlYXNlMjYtbWFpbnQKKzc1OTg4IDhkNjc3MjVjYmI0ZTM1ZDhkODUwYTM0YTQ1NThiOTVjODU5NjQ1YzEgcHkzaworNzU5ODkgNzA0OWIyYzg2ZjA2MTBkMTE0OWFlMzM5YjIxNjVjOWI3ZDY1ZWY5NiByZWxlYXNlMzEtbWFpbnQKKzc1OTkxIDRjYmMzZmU5MzY3MWQ5MTViMDY5OWM1ZGU3MzFiNzRmNzIxMDkxNzkgbGVnYWN5LXRydW5rCis3NTk5MiA4OWU5ZDA1ODQ4OTAzZTU2YjNjMTUzOTE5NjBjNTg5MDBlYzJlZjI1IHB5M2sKKzc1OTkzIGFiMzg2OTBmZTAxY2Y5MzViYWZiZDIxMzE4ZDRiNGY0YWYyMmJmOGUgcmVsZWFzZTI2LW1haW50Cis3NTk5NSA3MWIzYWE4YTczMjBmZTQwY2MyMGQ4Yjc0MDcwYTNlYWNlZDJiYjg0IGxlZ2FjeS10cnVuaworNzU5OTYgMzcyNDZiNGMzY2NlMzllZTU4MjFkYWY3MDFhZTRmZjJiNjVkYzA5MCByZWxlYXNlMjYtbWFpbnQKKzc1OTk3IDE4MmNkMDRlMjlkYjExODdkOTY2Nzk5MmE1OGQ3NzgxMDZjNTNlZGIgcHkzaworNzU5OTggNDcxNzgwNGJiNTdkYzc1MGJkNTcwY2UzNjFjNTVmMjlkZDA5N2Q4ZSByZWxlYXNlMzEtbWFpbnQKKzc1OTk5IDlmM2Y4M2RmNjk3NWJlNmYwY2NiMDlhNzU0Y2I5MDgwMmRjYTlhYzggbGVnYWN5LXRydW5rCis3NjAwMCA4NDZmMjZhZDU4MDAwMjNiNmRlYTc2NmJjN2JjYWVmYzhiNmJlMzRmIGxlZ2FjeS10cnVuaworNzYwMDEgMjkxMzg2NGRkYmU5NTg5ZWEyOTZjZDNhMGQ5YTI0M2UzMTg3ZTE3YSBsZWdhY3ktdHJ1bmsKKzc2MDAyIDQyYmIzZTM2MTNmNmM5MGExYjU3NjVjYWVlYjBjMWQ5ZjYyYmVjYmIgcHkzaworNzYwMDMgZjgzYjQ4OTYyNzM5OTNhYjdmMTE0YWYwOGZjZTdlZWQ1MDljZTFkYSBsZWdhY3ktdHJ1bmsKKzc2MDA0IDAyZjVjNjAwODMyN2FmZTU1NTY1NjgzMDFhOWI1OGU3ZjlkODU4YmQgcmVsZWFzZTI2LW1haW50Cis3NjAwNyAyMTFlN2I1Yjk5OWMxYTNkOTFkNjM5YTA1N2I1YmMzOTg3NjdlYjZlIGxlZ2FjeS10cnVuaworNzYwMDggNzAwMDJmMjdkMjgxZWY2YmVkZTgxZDZiMDQ1ZjY3ZGU4ZjhjZTQ2MiBweTNrCis3NjAxMCA0MDI2OTZhYzRmOTgyY2ZiMjdlYmI4ZmZkNDVmNTAyOTNhYTY3ZTYwIHB5M2sKKzc2MDExIGIwZTRlZmI4M2Q2MGM3N2YyOTk4NDAxOGI4NjNhN2ZhZTIyYzc4OWUgcmVsZWFzZTMxLW1haW50Cis3NjAxMiBmZjhlMzU5ZTI4MDg0MzI1OGQzYjJlYWNhYWQyOTQ2YmVkNGM3NzgzIGxlZ2FjeS10cnVuaworNzYwMTMgNmI0YzczMjBiYTNhMTdmMjQyMmJkZGM0MzY2MjQwOWVlMzkwZjY1MCBweTNrCis3NjAxNCBiNjkwMTc3NjIyMDhhYWE2ZjJlODkzY2NkODk1MDE4MTY1ZTk1MTA5IHJlbGVhc2UyNi1tYWludAorNzYwMTUgNTkyNTkwMGVkZjE2ZjBjOTRiNWJjMTg5YWQxYWFjOGMzZTcwOGM4MSByZWxlYXNlMjYtbWFpbnQKKzc2MDE2IDc1N2I5N2M2MTY5MWUyOTIzMDk2NWY1N2I5Y2EyYzM4YTlmZjQ5OTkgbGVnYWN5LXRydW5rCis3NjAxNyA1Yjk1ZTRlYWM3YThiOThhOWE2OGIxM2FmZTk2ZWNjZTY5ZDk4YzUwIHB5M2sKKzc2MDE4IGVkMTY2ZmY3ZDk1MjM4MWM0NWRmMjFkMGMzNTE5MWMzMzBiMzg1ZWIgcmVsZWFzZTI2LW1haW50Cis3NjAxOSAxMGZlMjBmZDZmYjNkOGM4YWRhN2ZmZjYyZjIwNjY5YjgwZGYyM2MyIHJlbGVhc2UzMS1tYWludAorNzYwMjAgNGRiODQwNDVhN2YwMDcxYTBhODJhMGYxZjQ4MDgzOTQ3MzRiNWNkZiBweTNrCis3NjAyMSBkYTZhZDk4ZDVkYWVmMzA4YTNlNDBhZWNiNWQ5NTRhZTE5ZTE4NzI1IHJlbGVhc2UyNi1tYWludAorNzYwMjIgYzc4YTAwYTFkNmRiMTgzMGExODU3NGNmMTg3YjFmOGI4MjhiNTE1YyByZWxlYXNlMjYtbWFpbnQKKzc2MDIzIDkzYzdmNjUwOTM3ZjdlOTU3OGE2MTRjN2FhY2Y3Y2E1NGI1OGE1ZmYgcmVsZWFzZTI2LW1haW50Cis3NjAyNCA5MDEyNTliYzBiNjJlYTAxOWZmYTZhNTA5MGI2NDZkMDdiY2RiMzNlIHJlbGVhc2UzMS1tYWludAorNzYwMjUgYjdlNzYyNzdmNTQ1MjY3YWY4MGRiMGQ5ZjU3ZDlhYjNhZTNiYTIxNyBsZWdhY3ktdHJ1bmsKKzc2MDI2IDFhYTZiNjhlODUyMzA0MTdjM2E3OWMyZjAzYTQ0Y2RmMTUzOTA0OWQgcHkzaworNzYwMjcgNjU4ZWI1OGQyZTY4Yjc1NDA4MzU0MzJmNjYzNDY2ODlkOTFlNTBhZCByZWxlYXNlMzEtbWFpbnQKKzc2MDI4IGM3ODVhZmE2Zjk1YzU2NDlkMGY2NTNhNWQ4ZTQ3OGJjZDU4MmQ5ZjkgbGVnYWN5LXRydW5rCis3NjAyOSAzMDM5YTRhZDdlMzlhMTFhY2I3NmRmOGNhMTVmZmEwODM0ODlmZDZkIGxlZ2FjeS10cnVuaworNzYwMzAgZGRjMTQxZDllZjFiMWJmMzFiODUyMWViY2MyZmU0M2Q5MGYwN2I3MyBweTNrCis3NjAzMSAzODcxOWI4ZTBjOWY3MGUyZjI5MTJlZmU0Y2Y3NDIyYTg3ZWYyMGQ2IHB5M2sKKzc2MDMyIDM4ZWI2YThhZGMyNDJiMDI0NGIwYTIxZmZiYTk0YTRmZjI4NzczNDQgcHkzaworNzYwMzMgOGNhNGQ3NzY4MGM2ZDI0MjE0Njk5NTdmZmMyMTlkNGMwMWIxNTY0YyBsZWdhY3ktdHJ1bmsKKzc2MDM0IDUxYjk5NzNmNzYxZWM0MDBjNzQ2ZGVhMzNmNmY1YjkyZTUzNzhkMzcgbGVnYWN5LXRydW5rCis3NjAzNSA1NzU0MmI1MDJkMzIyM2E2YjUxZTI4MzkzMWEzODljYmY3MzFhNjllIHJlbGVhc2UyNi1tYWludAorNzYwMzYgM2JmNzYxZGY4MDJhYWRkYWI5MGIyZWIwMTcwY2QzMDhlZTIyYjFiZiBweTNrCis3NjAzNyBhMDFlNmNlZjEyNTZjOTEzOWM5NjMxNzZmMDEyYTA4ZTIzODczZTgzIGxlZ2FjeS10cnVuaworNzYwMzggMzQ0YzQ3ZGYzNjNmOGI5YzI4YTA2MDI5MjU1OTYzMzJhMzZiZDY0ZCByZWxlYXNlMjYtbWFpbnQKKzc2MDM5IDQ1ODBmZTA3MTllNzAyZDIxNjEzZTQxNmY0ZDZhNWI1MDUxN2I0ZjEgcmVsZWFzZTMxLW1haW50Cis3NjA0MCBmZDA1NDI3MTZhODA1NTFmYTJkODkwNWYzNDIzOWIyOWJmY2YwZTk4IHB5M2sKKzc2MDQxIGI1OTFmYzg3MjFmMmZkYzUwNTg2NjFjOTlmMzY2ZTUzOTQ1MzI1OTMgcmVsZWFzZTMxLW1haW50Cis3NjA0MiA2ZGM0ZmFhNDVjYmQwODkwMTBkZjVhOWNjMzBjOTE2YjA3ZjgzZDY1IGxlZ2FjeS10cnVuaworNzYwNDMgMjhmZWY3MjY0NGI3YzY0NDRjZTViMjlkYjhhMGIzNWMwZWZjZGI2NiBweTNrCis3NjA0NCA0YTg0NTllMzI5MTkyMzJiZWVjZjUzMDNiZjJjMzYyNWFjN2Q3MjQwIHJlbGVhc2UyNi1tYWludAorNzYwNDUgNmU0ODlkM2Q3M2I4ODA0OTE1MzdhZWFmNGFlZmFlZmE2MmU4MTYwMyByZWxlYXNlMzEtbWFpbnQKKzc2MDQ2IDFlMWJlMWEzOWE3OTJlZjc2MGQ2OTI0YmMwMWU2M2M3Y2NiMDljZjEgcmVsZWFzZTI2LW1haW50Cis3NjA0NyBmMDEzMDJlNmFjZDU0NDYxMzU1NjliNzUzNDI5NWNkMzQ4NDE3ZDk4IGxlZ2FjeS10cnVuaworNzYwNDggNWQ2ZWQwODgzYmY1NzljM2Y4NTNmMTI0YTY0MTQ4YmYzM2U2Mzg3MyBweTNrCis3NjA0OSBhNWU0NzNlOTViY2VhZDVjNWRiM2Q3NmZmZGUxYzUyYTI0NTQ0YmJhIHJlbGVhc2UyNi1tYWludAorNzYwNTAgNDUzZjU0NzhhNjkxZGQxZGY5ZDViNGYwZjBlYWUxODlkZTZlMzExMyBsZWdhY3ktdHJ1bmsKKzc2MDUxIGI5MTkzNzBmMTgyMGZkYmExNTU4YjlhNzM5ZWNjY2I3NmMyZWI2ZWEgbGVnYWN5LXRydW5rCis3NjA1MiA2OThkZTUwMTc5OWQ5OTM1YWMyZDY4NmI2MzA4MDk3N2M4NmQwYzBiIGxlZ2FjeS10cnVuaworNzYwNTMgZDJkOGNhYmI5ZTNhOTIzYWIxMDM3YjBkZThjY2Y2YjllZDQ3YzYzMCBsZWdhY3ktdHJ1bmsKKzc2MDU0IDk2YTg1M2ZhZTgzYjIzNzRjODBiOWUwNDQyYWUzMTU5MjNmNzA5ZGUgbGVnYWN5LXRydW5rCis3NjA1NSAxNDAyYzc1Mjc1NjU1ZmRhM2ExOGY5NjI2NjM0ZTY0MmVkYzVlYjBjIHB5M2sKKzc2MDU2IDhhMGQzYzY5YWUyMWFkYmRhNGMwODZiYzg1NDU2NjJiOTU0YzU1ODkgcmVsZWFzZTMxLW1haW50Cis3NjA1NyA4OGEzNjQ2ZWYzMmMyYTc4MmJiNDE5YmMxZmM0NmE4Zjg2ODQ3ODVjIGxlZ2FjeS10cnVuaworNzYwNTggZTYwOGY1OGQ1ZDE4YjYxZDQyZDQwNTU0MjZiNmUzMTYzYjI3YjY5NSBsZWdhY3ktdHJ1bmsKKzc2MDYyIDk0ZTFiMTRlYzgwNGI4YWM5MjkwYjIwNTI4NjU4Mzc0ZGZmY2M1MzAgbGVnYWN5LXRydW5rCis3NjA2MyA5NTljNjhkMWQyOGEwYTBjNzJlZmEwZWRiZDc3NWJiZWEwMmY3NmUyIHB5M2sKKzc2MDY0IDNjZmQ2OTU2NGU4ZjA3NmZkNmJkODU5NGE3YjFlZDA4MDJiMmI5NDUgbGVnYWN5LXRydW5rCis3NjA2NiBmMjk2MGYxMTZlNzdhMmViYWQ1MTAzN2UyMmEwOWI3YTdhMzBjMmEwIGxlZ2FjeS10cnVuaworNzYwNjcgYmVlODk5NGIxM2RlZGI4MTcwMzk5YmNiMjRhMDY4NjAwNTQ5Yjg2OCBsZWdhY3ktdHJ1bmsKKzc2MDY4IGEzZjIxY2VlNjRkMWYxMjhhNjM1YmQxYzJjNGQ2MjdiMzBlNTAxZTggcHkzaworNzYwNjkgYTgwODZiMzE0Y2QwN2U2YzNlYjkyMDliMmQzNWYxZjNjNGU0NzgzZiByZWxlYXNlMzEtbWFpbnQKKzc2MDcxIDIwMWE0MTllOWUwNjYwYmU0NDhiZjEyNjdjOWJjOGQxZTE3YTc1MTAgbGVnYWN5LXRydW5rCis3NjA3MiA2NWIxMTIxYTI0NzNmZDIxZTYyZTliNGJjOWIxM2MxNjI2NGNjYTBhIHB5M2sKKzc2MDczIDZjMTNiZjM1ZDE2NjExNzRhYmVlZThlZjBjYWIwMTViMTg2OTIwYzkgcmVsZWFzZTI2LW1haW50Cis3NjA3NCAzMjAxZmFiMzUyMjBmNzg1Mjk5ZGQ4MjhlNTYxNDg4YjQ2NzI5Y2M3IHJlbGVhc2UyNi1tYWludAorNzYwNzUgYzkwMDhhM2U3ZjdmZDIzNDhiOTVhNDhhNDJhNjVjOTViMGJmNzUzMSBsZWdhY3ktdHJ1bmsKKzc2MDc2IDY4NWEyNGE2Zjk4Njg0N2YyNDIwY2ExNTY2MjI0MGYyNzIzMzRiMzEgcHkzaworNzYwNzcgMzJjN2Q5ODEwM2JhZWMxYTM3MWNmY2UyMTk4NmY3NDdiNDAzYWJkOCByZWxlYXNlMjYtbWFpbnQKKzc2MDc4IGI0MTFjZTU4NGI3ZmYwNDFhOWEzZGZhNmUzNTkxODE1MzBlMTZmYzEgcmVsZWFzZTMxLW1haW50Cis3NjA4MCA2MmRjZDlmZGQ3YjM0ZWU2NzJhNzIxODY0YmM2MDZlMjQ2OTM5MDNjIHJlbGVhc2UyNi1tYWludAorNzYwODEgYmIzN2M3YzI2ZmE0ODY1MTUyNzBmYzA0YWQ1ZGMwNWNmMzMwM2U2YSByZWxlYXNlMjYtbWFpbnQKKzc2MDgyIDE5YTU3M2M0NGFlMTFjMmJjMmRhNTEzYjMwNGMyN2I4MWQ5YzNjYjcgbGVnYWN5LXRydW5rCis3NjA4MyA5MmNjN2VkODNlOWMwMWExODNlODRiZjM1M2FhNjViMjc2MGI5YzcyIHJlbGVhc2UyNi1tYWludAorNzYwODQgN2ZkOTBlNWEwYWQ1ZjliMzMyMDQ1ZDMwZGI1MWJmZWNhNmViNDFmOSBweTNrCis3NjA4NSBmZTgwOGQ2NjQ4M2Q3YjVlOWRkY2IwNjZlOGMxZWFkODNmNDkwODVlIHJlbGVhc2UzMS1tYWludAorNzYwODYgOGM4MDdiM2E5MDUyMzIyNzA1NzJjNWIxZjliZTMzOWVkZmE5ZDEyZCBsZWdhY3ktdHJ1bmsKKzc2MDg3IDU5ZTlhZGNhNzcxYjM0YWFmNDQ3OTNhNDA3YjllYmNjYmNlYTIxMWMgcmVsZWFzZTI2LW1haW50Cis3NjA4OCAxZGY5MGUyMmJiNzA2MWU0ZTc3MjZhZGVmOWFlOGMxM2M2OGU1NWYwIHB5M2sKKzc2MDg5IDlhZjJlOTQ0MzlkMWI0NDZmMTA2NTc4YzdhNWZmMzIyMTI3MWY3ZDggcmVsZWFzZTMxLW1haW50Cis3NjA5MCAxZThhMzNmNjE4ZmIwNjNmNzRjYTZiNmM3YTk0Y2NhNzY0YjExNzJiIHB5M2sKKzc2MDkxIGZmYWY2NjVkMmQzZTVkNTZhZWRlMGJjOTkzMDdlMGRmYzE3OTA2MjUgcmVsZWFzZTMxLW1haW50Cis3NjA5MyA0MmZhM2UwOWI2ZTc5ZDMxZjhmZTFmMzk0N2U5MmI3ZDEzM2I2ZGYxIHJlbGVhc2UyNi1tYWludAorNzYwOTQgMzM2NGFjYmFhMTUzY2VjZmUzY2JiMzFmNjFjZmU0ZDcxNDlhZTcwNiBweTNrCis3NjA5NSBlZGE5NzljOThhN2ZiZTAzZDY3ZDBjNmRkYjcyZTMwMjQzNDJmZWM0IGxlZ2FjeS10cnVuaworNzYwOTYgYzk0ZTNiZjgzOTJiYTAzNTNiYTUxZTk5YmVmYWY2MTk2MjYwNDQ0OCByZWxlYXNlMjYtbWFpbnQKKzc2MDk3IDFmMTc1ODg0OGM2Y2IzODBkYzQxYzQyMGEzN2RmMzI2MDg4ZmVhNGYgcHkzaworNzYxMDAgZjk1YjVmYWExM2NmNWY0ZjZmOTk0ZjdhN2Q0YjU1OTk1OGU4ZDhjNyByZWxlYXNlMjYtbWFpbnQKKzc2MTAxIDUxODY5ODE0YmE5YThmOWRkYjc0M2Q3MGU2OTE0MmViMmZiMjcwZTYgbGVnYWN5LXRydW5rCis3NjEwMiBlYTczOGZmMTgwMTY2M2JhMzJlMzM0NTBiOTI0MTAyMmFhYjQxYjdkIHJlbGVhc2UyNi1tYWludAorNzYxMDMgNjA1ZDJmNGM3NTM5NDlkMmI5YTM4ZmQ1NzQwZTY5ZDMzZjlhMDg4MiBweTNrCis3NjEwNCBjOGJmYzRkYWZmM2Q4ZjQ4ZjM0YzYxNDhjYWU2OWFjMDU5M2NhOTIxIHJlbGVhc2UzMS1tYWludAorNzYxMDUgZjVkNjg2MDRjNmI5NTJhOGUxNmMwYjlhYTIyOWRjOTBiZDc5MjUyNyBsZWdhY3ktdHJ1bmsKKzc2MTA2IGQxNjE0NDI2OWQ1NThkNjcxZjI1YWNlNzE0YjkwNDhmZTk0NGEyMmMgdGFyZWtfc3lzY29uZmlnCis3NjEwNyAyOThmNmIzNDEyNWQzNThlM2Q4NTZlMmExNTdmYmNjZGNiMDk2NTYxIHRhcmVrX3N5c2NvbmZpZworNzYxMDggMDY4Zjk0MzBjYzI0MGIwOTVlMjUyOTNlMjJlMjE5Y2E3MDc3OWEyYyBsZWdhY3ktdHJ1bmsKKzc2MTExIGY4OWE5M2E3NzhhODFkMDY4ZGM4OTI2MWQ0ZTdmYTIyYzliZDU4MTEgcHkzaworNzYxMTMgZDNhODEwNTE2NjNiNmI1NmI4Y2RjNzRlYzQyMjAyMGIwMmQ5YjRkZCBweTNrCis3NjExNCA0NDQ5ODljZTVmNzcxNDhjYmVhNDI4YjM0OThlZjFkYTZjNjA4ZmNiIHB5M2sKKzc2MTE1IDkzYzc1Mjg3NTAzM2NjNWRkZWIzMWZhNTIxNjlhODA0ZjVlZGY0ZDAgcmVsZWFzZTMxLW1haW50Cis3NjExNiA2M2M5ZTYzZTBkZTNmMDJhYjZmMWQwMzI2YjRkODlkMDYyNmNkMDlkIGxlZ2FjeS10cnVuaworNzYxMTcgZmQ3ODI4MDUxODY1NTFhOThlMTA1MTI4YzUxNWVhZmRmMGQ2ZjUyOCBsZWdhY3ktdHJ1bmsKKzc2MTE4IDJlYmFkM2RmY2RlMzc2MjdlZTEyOTU1MmRiY2I1YTQzZjI4YzBjZjggcmVsZWFzZTI2LW1haW50Cis3NjExOSAwY2I5NDM5MDBlNTMxZTRmYTJlMjI0ZjQwMWQ1NGMwYmU0YmUwYWJiIHB5M2sKKzc2MTIwIDRlYTBhODBlZDc2YTYzOTJjMWM1NWZlMmY5MDM0ZjYyYTUxYjI5YzYgcmVsZWFzZTMxLW1haW50Cis3NjEyMSBhMWM5NGYwNzYxZDQxM2JhZDZmMTA4ZTA2NWQ3YmM4MjlmMjI5NDIyIHJlbGVhc2UyNi1tYWludAorNzYxMjQgMzVkZGZiNDQ3MTY4ZDA2ZjQ0NjJhMzlkYWE5OTVjOTdkYzg0MGRhZCBweTNrCis3NjEyNiBkM2E3NjM2MzkyYWY1NTRkMWVlZjYyNWU0NmJmZmM2MWU5ZTMzNzkxIGxlZ2FjeS10cnVuaworNzYxMjkgZTNmZjM5NzZiYmFjZWY3NTIzYTU4MzNiMTI5NDgxYjVjOTY3YmRmMiBsZWdhY3ktdHJ1bmsKKzc2MTMyIDg1NTJhMjY3NzJlNmZjMWJkODFiNjYwNmZjNjI4NjQyNDAwMTk0NmQgbGVnYWN5LXRydW5rCis3NjEzMyA2ZGIyMjBhZjhjYTNmZWM5MDQ2NzljZTc1ZTljMWYyMDRiNzFiOGVjIHB5M2sKKzc2MTM2IGQzNDZmZmI4Y2ZkNzQzMzE5Y2RhODVmY2NlMzU2N2IwNzdiOTUxY2IgcmVsZWFzZTMxLW1haW50Cis3NjEzNyBjZDM2MGFjNThjZDJlYTA2YzZhOTBiMjMzYTYxNzdjMmY2ZTE5OTNjIGxlZ2FjeS10cnVuaworNzYxMzggZTBkZGVkYTBkOWMzM2Y4NDI1MTAyNGEwNTY5N2Q4MmI4ZWFmMDgxMyBweTNrCis3NjEzOSA5MzA5ZGFhZjMyZDE4MDcwMjZlYzM2NmU1YzBkZDMyNzdiZTM0Njk4IGxlZ2FjeS10cnVuaworNzYxNDAgODE4YjBiMjg3YWE0MjQ0YjdjYTdjN2Y1YjY4M2JiOTg3MzI2YjBkOCBsZWdhY3ktdHJ1bmsKKzc2MTQxIDQyZDRjZjgyN2I5ZTg5YzgzZmNhZTNhYjRlNzYxYmUyYzAzZWRhNDUgbGVnYWN5LXRydW5rCis3NjE0MiA5MmJkYzNjN2Q1YTQzZWYzZDlhZjhjMTI4YjJjNWY2OTY3ODNmZmUyIHB5M2sKKzc2MTQzIDFhMzA4NjBiY2EwMzdmODQxMDk0YjIyOWMzMjVmYzllMzJjYjhkYTIgbGVnYWN5LXRydW5rCis3NjE0NiAyN2UxMjBmOTIwOGIzYWE4YzBjODkxYTVkYTNmMWY5ZGZhMjg0NTg5IHB5M2sKKzc2MTQ3IGUyNTI4OGJiNmZhZjE3YWU4MjQwZTViOTRkODViYTFkNjgyNGUwOTMgcmVsZWFzZTMxLW1haW50Cis3NjE0OCA2ZjVmNDgxZDYxOWMyY2RiYmViYzM1ZTliOWQ4YWEzYTgxZmQzNDgxIGxlZ2FjeS10cnVuaworNzYxNDkgMDRjZjk1Y2Y5NDk2ZmZmNTBiMWYyZWYzNjY4Y2E3OTIyZmE4MjU1ZCBweTNrCis3NjE1MCAzYTBlNjkwMDEyMTU0M2E0YmY1MTY0OGQ3YmQzYmQxNWZjOTFkN2ZjIHJlbGVhc2UyNi1tYWludAorNzYxNTEgMzgxYTYyZjFlNjM1ZjJjMDIxNDRkZDkxZDRmOTNhNDk5MDVkNDI5MiByZWxlYXNlMzEtbWFpbnQKKzc2MTU0IDYzNzcwYTVhMGM3OWRmMmI0ZDIzZjc0ZDkwN2JkZWQ4NTU2NzkyODYgbGVnYWN5LXRydW5rCis3NjE1NSAyZTRlNDc3MjE5YzU3M2Y1Y2FiMGYzNDlkOWFlN2QzM2FlZTRlNmU0IHB5M2sKKzc2MTU2IGRjZDY4ODdiOGEyNzc0N2RhOGI0MjczNmUzY2ExYWQ1ZjRhNzQxZTQgcHkzaworNzYxNTcgOTc5ZWIxYmJmNmU2ZTQ2ZGEyNzA5NTZlOTQzMWUyODc5ODE2ZGUzZiByZWxlYXNlMzEtbWFpbnQKKzc2MTU4IGQ2MWIyNGM4NzY3NDQ3NTY5NTRmZmQwMDllMTliMmM0MmMzMWRiZGUgcHkzaworNzYxNTkgNDg5ODllY2ZmODA0N2JiZTQ0MGU3YTE0NzMxMWI0MzkxNzE5YmVlOCByZWxlYXNlMzEtbWFpbnQKKzc2MTYyIDY5ZDYxYWY1YTk1ODkzNjQ2ZWQyNTY2MmY3NGFmMGExMWYwYjMwZTUgbGVnYWN5LXRydW5rCis3NjE2MyBkOTcwNTllOWU4NTJlYWMyYjg1NjNhY2RkM2JmYTE4NGVlOGNjYjk3IGxlZ2FjeS10cnVuaworNzYxNjQgZjE5MDMxNWYxODVlYTdhYmU0ZmMzYzE1ZWIyNGUxN2UwNjA0ZWI3NiByZWxlYXNlMjYtbWFpbnQKKzc2MTY1IGVkMTFiMzE1ZDM2YTM4ODdmMTY0MDA1MDcyMzdkYTNlMjBjMTYzZTggcHkzaworNzYxNjYgMTQ0N2Q3NWRlZjhiMjU3ODEwZjIwOGE2MDg1MjVhNDUyZWFkMjY3MyByZWxlYXNlMzEtbWFpbnQKKzc2MTY4IGM3NmQ1ZmJlYjY5MTkzMzljZDJiZDU5YTIyM2UyOTdkZGUxZjBkNzggbGVnYWN5LXRydW5rCis3NjE2OSAyNjdhNDE4ZWJiYzliNjRhMGIzNWY4N2JhZWM5OGU3MTVhOTc0MmQ1IHJlbGVhc2UyNi1tYWludAorNzYxNzAgYTdhYzRkYmRlNWRiNjIwYmEyMDBmZGM4Y2NkY2RiNzVmZDkyNDk5MiBweTNrCis3NjE3MSA2NjdkOTc3OWNhZDZhZmY2NjA0NzlhM2YxMjU3MDA4ZDI1YTIyZjBhIHJlbGVhc2UzMS1tYWludAorNzYxNzIgZmJmNDFiMTEyNGQ4ZWNhZjFlN2Q4ZDdlZDA1Y2I0NDNjZWZkMjhkYiBsZWdhY3ktdHJ1bmsKKzc2MTczIGVkOGIyOTY5MTE5ZTI2YWU2ODI2OTY0NmRiYjQxYzkzZmI2NGE5Y2QgcHkzaworNzYxNzQgMGViNTZhOGU2MjYyZjNiOWQyMGFlMzk1MDM1MzUyNDU3ZDIyYzdhNCByZWxlYXNlMjYtbWFpbnQKKzc2MTc1IGZlMzM1NjJkMWY5NWEwZmRjYjk4MDEwMmI5ODQ5ODU4ZDI0Y2I1NDcgcmVsZWFzZTMxLW1haW50Cis3NjE3NiAyZDM5NGQyZDJkMzdkN2RhYTFjNmI4MTM2MzM5YmNkMDQ0MTNiNzc1IGxlZ2FjeS10cnVuaworNzYxNzcgMDUwYTY1YTNkZjUzOGIyODc5YTNlOGY4YzBkMWUyZGRhMDE4NmE1OCBweTNrCis3NjE3OCBiZmNhYjFiYTBmNTFjYjNjZTUxODk4NWIzMTUxNTQ4YzBkMzNlOTdkIHJlbGVhc2UzMS1tYWludAorNzYxNzkgYmNhMDI3YjZkZjUzM2Q2ZGMzYWIzMTNhNmFjZWY0ZjA5MGI1MTliZCByZWxlYXNlMjYtbWFpbnQKKzc2MTgyIGZiZmNjZTExMjRhZTI3MGE0NmM0YThiM2JiYTUzZjIwNWY4OTEyMzUgbGVnYWN5LXRydW5rCis3NjE4MyA1MjE0MDczOGQ2YzNiNWVlZDZhNDJkNjFhMDNlNDQzNDU3N2Y1ZTFmIHJlbGVhc2UyNi1tYWludAorNzYxODQgOGJmYjMyYjVmZTZkNGQyZjk2NGRkOWRmZmU3MmY1ZjY0MmY3NzM0ZiByZWxlYXNlMjYtbWFpbnQKKzc2MTg1IGRkOWY4NWE1ZjEzNDdjZmIxNjIyNjg0ZjBlYTYyNDYzZWM4OWMxNDkgcHkzaworNzYxODYgOTIxOWE5NjJhZDFjMzA3YWUxYzc4ZWZlOTJjZDM3ZGIwNmQyNjE0OSByZWxlYXNlMzEtbWFpbnQKKzc2MTg3IGZmZjU1ODI4NmFhZTNmZTM2YWQyYzY5Mzc0N2ZmM2MyYjg0M2Q5NDkgcmVsZWFzZTMxLW1haW50Cis3NjE4OCAyM2NjNzU5Y2ZhZTM1ODI1MjdmM2I1MmVkODJmMjVjYzE2NTZhZmRiIHB5M2sKKzc2MTg5IDZkOTFhYWFkZGRkMDgxZGU3M2U0ZjI5YjZlNzM0MzdhYzRkYjdiYjMgcHkzaworNzYxOTAgODY3ZDJmMjczNWI4OTA1NTc2MDFiOTQyNTc4NDY1ZDgzNjYzZGVhZCBsZWdhY3ktdHJ1bmsKKzc2MTk0IGNhMDIxN2M1MmE4YmYzODRiMzQzZGFiMmYzODMwYzVkYzc5ODBhNTkgbGVnYWN5LXRydW5rCis3NjE5NSBmZGQ2NDg0ZjEyMTBkNjBjMTY4ZTIzNzY2YmQzNDJkZThhNjZmMjE3IHB5M2sKKzc2MTk2IGNiNTkwNTgwNmRlOGRjODc3Mjg4MmY5MjRjNWVjOTExYjYzZTI2YWYgbGVnYWN5LXRydW5rCis3NjE5NyA5N2MzMTg3MTQwNzBmNmYxN2RmN2U2ODVlNmY3ZWFiNmNiMmE0M2UzIHB5M2sKKzc2MTk4IGZlNmI5YmFiZTRiZTkxNmY0ODQ5MDVlNTNmMWYyNWEwNWNhYzBmZGUgcHkzaworNzYxOTkgOTc2Y2M1MDRkOTlmMjgzODViNWQyYWZkODFiYjNkMjg1NWM5Mzc1ZSBsZWdhY3ktdHJ1bmsKKzc2MjAwIDEwNzY0ZmZlNzU0M2NlOWJjMTJmNjNhYzQxZDQ1ZTk2NjEzOTI5ZWEgcHkzaworNzYyMDEgYjFhNzc1YWEwNzEwZDQ5NjFlYWVkMTM4NTA0ZTc0YjBlODdjN2IwZCBweTNrCis3NjIwMiA0ZWJkZDJlMGFhYWRlNzUzZGMzNGUwZTcxMjc2NTY3Y2NhZjU4OTUxIHB5M2sKKzc2MjA4IDU0YjhkNzgwYzliOTllMGJiNTcyZDQ5YzZmN2RhZDdmNmYxMDY1MDAgbGVnYWN5LXRydW5rCis3NjIwOSAyOTUwZDk3NzEzOTU5ZTcwY2Y1ZTk1Yzg5NjAxYjBiNmNlOGYxODc5IHJlbGVhc2UyNi1tYWludAorNzYyMTAgMTJlMGM5ZWEzMDRlZWViNTY4MWI3ODU0ODc5MjlmNTY0Y2VlMWE1ZSBweTNrCis3NjIxMSBjODVlYjU5NDY2MTQ1NjViZDNmOWYyOGZmZTBlNWUzZmEzZjk0OWM3IHJlbGVhc2UzMS1tYWludAorNzYyMTIgNzk1ZWY0NjM0OWU1MDFjYmM5MzRmOTE1MDQ2OWYxZjYxYmExYzBiZiBsZWdhY3ktdHJ1bmsKKzc2MjEzIDIxNDg4NTFmMDgyYTE5MDBhNjBjNzNmYjU3MmMyYzE3MmVlZDhjMTcgcmVsZWFzZTI2LW1haW50Cis3NjIxNCAyNTdjYjYxYmY0MWI1NjdiYzI5MzAwMTBiMzkzY2EwODRhYTUxMzU3IGxlZ2FjeS10cnVuaworNzYyMTUgY2U5ZjU1YWQ1NDZlMTRhNTQ3OGQzMjBiNTY3OGU0YjcyYjE2ZDhhNCByZWxlYXNlMjYtbWFpbnQKKzc2MjE2IGM3MTdmZTk5MzA4NWNkYWExZmJjOTRlY2E5YTZjZWI4MjJlYmVkMDAgcHkzaworNzYyMTcgMzNiZTgyZmEyNzdhYzlhMWVhNTAwZTljYzViM2E2YTE0NjlkMzg0OSBsZWdhY3ktdHJ1bmsKKzc2MjE4IDQzZjMyZGIxYmY0NmZiNmUwNGM2ZGFkM2U1ZDA0MDYxYzU5MGE1YjggcmVsZWFzZTI2LW1haW50Cis3NjIxOSA4MTE2NmQ3YjQxNGM4YWYyNzhkNzlhMTBiZjI4OGYzOWMwODE0YWVhIHB5M2sKKzc2MjIwIDEzOGMxZjc0ODA0ZDY4YzZmNTYxYWExMmIwY2Q5ZGU0NWM2OTNhNDIgcmVsZWFzZTMxLW1haW50Cis3NjIyMSAxYzI3ODg4YTk1NWZlOWM2ZDkxZTExMWU1ZjQ4YTI0ZmM3ZThmYmZlIHB5M2sKKzc2MjIzIGQ0NGZlYTIzZmQ1N2ZkNWI3MmYyMjU0YTEzMjJjNGEyMzQ0ZGZlYWMgbGVnYWN5LXRydW5rCis3NjIyNCA5NGNkMTg1ZjUzYjQ3NjEzNmUxNDIzNTBkNzdjMGNlZGU2ZWMwZTliIGxlZ2FjeS10cnVuaworNzYyMjUgNTcwNzdkZjAyZjlhY2JjNzkzMGYzYzIxZDZmM2Q5MzZiYzI2MzAyNyByZWxlYXNlMjYtbWFpbnQKKzc2MjI2IDVjMGQ0YjNlY2Q2NWQxOGYyMWE4MDIwYTkwNzQ1ZWRjNTNjMzdhNzAgcHkzaworNzYyMjcgNGYxYzdiN2JmY2JkYTQwM2FhZGMzNzE0Y2YyMTY4NzFmNzg0MjU3ZCByZWxlYXNlMzEtbWFpbnQKKzc2MjI4IGNkMDQzNmMzNGVmNDZkZTBmNDRmMDU5M2RiNDBiMThhZTE1ZjllMzkgcmVsZWFzZTMxLW1haW50Cis3NjIyOSBmOWE1MGNlZGU2YTkyMmIwNjdkNmQ2Y2U5NjgwMjYyZjQyNTJhMWQ4IHB5M2sKKzc2MjMwIDg5ZjQyOTM4ZDVjY2I3MzNjMzM2YTRkNTE0MTYzZjQxZmZlNDI4YzIgbGVnYWN5LXRydW5rCis3NjIzMSAxMjhkZDZkZTEzNGNhODljMmM3OThjZmJkMzFjZjJkNGI2YTY5ZWYyIGxlZ2FjeS10cnVuaworNzYyMzIgYjJkOTBjMWM2MzdkYzU3Zjk3NTgyMTg4ZDRmMmQ1NWVhNzJkODZjZSBweTNrCis3NjIzMyA3NjNkMmZmNzhhZTdlOGM0NTI5YTYxZjNlNGNiNjU1YzExYjQ1MTQ1IHB5M2sKKzc2MjM0IDdjZWI1ZWI0NjJjNTAzZjk2ZjBmYjllMTEyMTJjYWNlMjM2NTkzYzQgcHkzaworNzYyMzUgYjM1NGMxYjZiNDc2N2MzN2I0YzM4MzYyNTViN2FmYzAyZGE3ZjUzNCBweTNrCis3NjIzNiBhMDk1MWYxMWJlM2Q3NmU2ZGE5OTk1NDM1YWZjZTU0OTVmMTAxNTMxIHJlbGVhc2UzMS1tYWludAorNzYyMzcgYjdmNzNiMDJkNmQyNDhjZWQ4MmI2ZTExN2I1YTcwMTQ2MjIxMWIyMSBweTNrCis3NjIzOCBiMjE4ODM2NTczZmFjZTg3ZjRmN2M3NDM2YzlkNmU1NzI2ZjQ3ODZkIHB5M2sKKzc2MjM5IDk4NTc5ZTk1MmI1NGFmOTdkMGE4YzZkMzMxMDgwMDhiNTEyMzk1NDEgcHkzaworNzYyNDAgNjg1NTI3YWU0MzdkZjkyYThmNGNhNDMwZTFlYzMxODc4MjNiNjgxOSBweTNrCis3NjI0MSAzNTdlMzk3MDA0ODk3ODNlN2EwZGNmNDY4N2FkMTVhMTQ5Yjg2OWFkIHJlbGVhc2UzMS1tYWludAorNzYyNDIgOGU2YjQ3OGE3MDUzZWViM2ZmZmIzNDMzMzhlMDgyOGVhMzZiZWY3MyBweTNrCis3NjI0MyA2NWUyMzA4NWUzY2FkZGRiY2QwNWMwNDI1NmUwMTQ0ZjJhNTM0MWM1IGxlZ2FjeS10cnVuaworNzYyNDQgMzIzMzViYTNhYTBiYjE2MjYxYzAxNzVlZDZkMzA3YWZhYWFiOWVhOCBweTNrCis3NjI0NSAxOTZmMmFiOTc3MThjYmRiNmI5ZTFlYjM2NWFmMWZmZmViYTdjNjE0IGxlZ2FjeS10cnVuaworNzYyNDYgYjgxNDVkNmRiN2Q0M2Q3MDFkNTUxMDZmY2VmODRjZTA5ZGJiOGU3ZiByZWxlYXNlMjYtbWFpbnQKKzc2MjQ3IGM2MTNjNzI0ZTMxNTlhZjg2MTE5M2NmNDNjYmRjMTcyZDliOWU3ODggcHkzaworNzYyNDggOTBmMWY1NzMyMTg1OWQwYzY1ZmFkNDY1NzkwNjQyYTEzOTVjODRlMCByZWxlYXNlMzEtbWFpbnQKKzc2MjQ5IDVjOTA1MDQ4MTMwOWQ4YjY4MTM0ZWMyYWI0YWI3YmU1YWYyMDgyZGMgbGVnYWN5LXRydW5rCis3NjI1MSAyNzdiODlkNWIzMjA5NzQ4MDIwNTJmYTFkY2NkYWE3MGMxZTg2YWZmIHB5M2sKKzc2MjUzIGExZGY1MjRmY2JjNjIyYjA3OWNmOWE4ZjIxOWIzOGFjMmNiZWYwZTAgcHkzaworNzYyNTUgZjAwMTNhZGU5YzFhZDM2ZmMxMDRkMDk5YzM0ODU0OGIzZDdkNTM1YSBsZWdhY3ktdHJ1bmsKKzc2MjU2IGFhNjRhNTBhZDQ5MDVlNzkzY2Y1YjY3ZjU4YmRlZmI2MWYyMWExNzUgcHkzaworNzYyNTcgYTJjYjdkMjcyMWEzZTRlNGU4YTJkZDlkYTVhZDJhM2YwNjdlMWE5ZCByZWxlYXNlMjYtbWFpbnQKKzc2MjU4IDIwN2E0NjI2MTNmM2YzZTI3NTE2ODYxMGFlNGRjNjk3YjljN2NkOTkgcmVsZWFzZTMxLW1haW50Cis3NjI1OSAzZjJhNzZmYTI0OTZiMmExNWMyZGU2MTEzNGEyNjU5ZDY5MDk5YmZkIGxlZ2FjeS10cnVuaworNzYyNjAgYzFjMWYyOGFjYjA1MzI3OTE5OWJlM2I1OWI2M2QwMzBkZDNlMGY5MCBsZWdhY3ktdHJ1bmsKKzc2MjYxIGIyYWIwOGM5M2EwMjgyOWY2NGRiOGM0Y2Y1MmQ2ZTcwZTM2YjEzYzEgcHkzaworNzYyNjIgOTJmOTE3MDQzOTE5OTlmZDMwNzJkN2Q3MjE3ZDU5YTU2YjM0OGFlMyByZWxlYXNlMjYtbWFpbnQKKzc2MjYzIGJlYzU4OWI0NGFhZTdhNmMzMThkNjRmNjM5NWZlYmQ3OWViYjkxMzIgcmVsZWFzZTMxLW1haW50Cis3NjI2NCA1NTUwNDU1NDE3OTRlODNmZTU3NjBjNWM0NzhiYmExODI2NjM5MjdmIHB5M2sKKzc2MjY1IDNkYjFmYzNjZWZkMGY4NjNmN2JlNTU5NjZlOWQxM2QxYzM2YzNjM2MgbGVnYWN5LXRydW5rCis3NjI2NiA5NGYyNzA1ZGVmNWNmNjU2NjgzZWIzODZjMTAzNWVlYzU2OWU1OGMyIHB5M2sKKzc2MjY3IDdkNGFiOGNkMDAyMzk1NTQzMjg2Mjg0ZTA0NWY1Njc2MWJkNWQ0ZTcgcmVsZWFzZTI2LW1haW50Cis3NjI2OCA1NmU3MDFmODI0NWU1NjM2YTBmZmY5ZDlkZjlkYWM4ZTU0ZjdlNzJkIHB5M2sKKzc2MjY5IGZhNjAyNzBhYjc5YWU1YzhkZGRjODUyYTkzNDg2ZGU5ZjRkMTg4ZTQgcmVsZWFzZTI2LW1haW50Cis3NjI3MCAxMjU3YTU5N2M4ZmFkYTA1N2Q2MTQ2ZGIyNjkxYWVjY2NiZjE2MDkxIHB5M2sKKzc2MjcxIDNkOTAyZDY3YWY5Y2EwOTJiMmQ3NDNjN2FhZDM1YTU4MzFiNjZkNWIgcmVsZWFzZTMxLW1haW50Cis3NjI3MiA3OWVhNGIxZWYwNGYyN2RlNTdhNzU0OTViYjIxOTkzOWFhYjM0MTQ3IHB5M2sKKzc2MjczIDdkNmJhZDVjMmQ2NGUwNmIyZTI3ZWU4N2RkZWI2YzMwMDUwNDVlZTYgcmVsZWFzZTMxLW1haW50Cis3NjI3NiAxYTNkMzk2ZDFiNmZjYmY1NDJiZTU5Mjc0NGU0OGEzODljOGE4MWJlIGxlZ2FjeS10cnVuaworNzYyNzcgNTNlZThlY2MxOGE1MjJhODIyM2NhY2RmNTE1YjhjYWJlOWQyOGIzMiBsZWdhY3ktdHJ1bmsKKzc2Mjc4IGJiNGZkYTIyZTY1NzgwOGJlMDRmZjY1OTQxOGY0ZTJmZWI1NjdjZTUgcmVsZWFzZTI2LW1haW50Cis3NjI3OSBjNzc3ZTRiNDU1MDA0ZTI4MjZkMDI5ZTAyYmJjYmIwYjgzMDdlYThkIHB5M2sKKzc2MjgwIDg3Njg4ZmY2YWNjYzRkZDZjZTQ1MGQ3MmQ2MmQ1YmY2ZTExNDY2ZjcgcHkzaworNzYyODEgMDVhODljODY2M2NjNzJlODQ1ZmVjZDQ2OGRhY2JiOTEwZDJhOGY0OSByZWxlYXNlMzEtbWFpbnQKKzc2MjgyIDA1YzRlYjAwODljNWYxZTUxMmJjMDA0MWE4NDRiMWU1NTM1ZjYwZTkgbGVnYWN5LXRydW5rCis3NjI4MyAzYjBiMTliNTNkMzJiZjU1OTg1NTc2YjdlN2Y2ZjYyNGZmOTM4NWVlIHJlbGVhc2UyNi1tYWludAorNzYyODQgNTk1ZWMxZDkwYjJmZWZjNjQxMDBjODE3MzQ5ZmJiMzg4ZjBmYTE3NSBweTNrCis3NjI4NSBmYjdmYzgzMDI3MjFkMDA4ZDA3NWFkZDczNWZjMGFmYzhjMTMyNDNiIHJlbGVhc2UzMS1tYWludAorNzYyODYgNDA4ODFkYjMxNjg5MzM5MmRjMmU3ZWQxOGE0YTFjNTEwNTliMzJlOCBsZWdhY3ktdHJ1bmsKKzc2Mjg3IDZhN2ZjMmU4NTY1ZjczYTdmNDZjOTM2MmMzOGVmYTMzOWE3ODZmZGYgcmVsZWFzZTI2LW1haW50Cis3NjI4OCA1OTA0YWJiN2VlZjdiM2M4ZWNjOTJiNjlkNWIwYTIzM2VhOGFjNzcyIGxlZ2FjeS10cnVuaworNzYyODkgNDlhNWYxY2IxYjI1NDcwYWQxYTkyNGViYzI3NjFhZDVjYWQ1MTQyMCByZWxlYXNlMjYtbWFpbnQKKzc2MjkwIGY2NDBmNTVlODg3Mzg1Nzg5ZjQ5ZDJlMjc2ZGYwMWYzYjY3MjRhNmIgcHkzaworNzYyOTEgNWIwNWI1ZTlhOGU5Yjc0MmE4Y2M4ZGQ2ZmMwNWEyYTk2Y2RkNDk0MyByZWxlYXNlMzEtbWFpbnQKKzc2MjkyIDM3MGQyMThhMDFiYzMyZDlmYjc5NjQ5OTYyZDI3M2Y3YTZhOTE0MzQgcHkzaworNzYyOTMgMmFhNjJmY2UwYmY4NjUzNjFlYWE4ZWRmMWRjMTI5OWIxZjMxODM1YyBweTNrCis3NjI5NCBiMmEzOTBjNWRlNWY4OTMxZDFjOGUzZGE0ZjNkYzUwMzYyZjYzODljIHJlbGVhc2UzMS1tYWludAorNzYyOTUgNjJiOGRlOTgzYjI2NDJiODc5NDI5ZGVlOWUyNDhhMzIxNjZjZDYwZCBsZWdhY3ktdHJ1bmsKKzc2Mjk2IGMyMTdlMDMzMWQ0YjJlM2E4ZDU0ZjI2MzdmYWNkMGQxMDBmNjljOTkgcmVsZWFzZTI2LW1haW50Cis3NjI5NyBjNDU4ZjgxM2E3MDk0YmZmMDU4MGMzOGFiOWFlOWEwYmJiOGQ3MmQ2IHB5M2sKKzc2Mjk4IDNlYmY5MDdkYjAyOGUxMmJhN2MxNzNmZTIyN2JmOWFiOWU2MDYxMGQgcHkzaworNzYyOTkgOTUwNWFmZTg4MjNmOTRjMDc5MWI0ZTdhMjMwODZiYWFkMDU3NDEwOSByZWxlYXNlMzEtbWFpbnQKKzc2MzAwIDA2OWI2NmNmYWQzZmQ5ZjY1ZGU3MDg0MjdmZDIxODc2ZjVlYWMwY2QgbGVnYWN5LXRydW5rCis3NjMwMSA3ODUyMzFjMWM1NWE5MTkxNTY3YmI3MzM4NGQwYWZlZmE1OWE0MDJiIHB5M2sKKzc2MzAyIDJlY2M1OTM2YjFmMjMzM2Y4M2QzMzJkZWY4MzE3MjlkMjExZjM0MzAgcmVsZWFzZTI2LW1haW50Cis3NjMwMyBmMTM1ZmRiNzNkODg1NDM3YjdjYjU5ZDRjODU3NWMzZjg3YjM3OTFkIHJlbGVhc2UzMS1tYWludAorNzYzMDQgYzUwOTk4MThlMGQ0ZTU5MGNkZTM3YTY3ZmM5NTMyZDEyYWQ2ZTBlMSBweTNrCis3NjMwNSBhYmFmMzcyNGJlNzExNzg2ZTIxNjBiYWZhYzY4OGI0NTdlZGNhOWRkIHJlbGVhc2UzMS1tYWludAorNzYzMDYgYWZiMzM0OGIzNzE1NjIzMmYyMDE1OWI5Yjc0NmZlOGYwMTRiNzdlYyBsZWdhY3ktdHJ1bmsKKzc2MzA3IDE1MDYxMGNhZTgwNDkyOWRjOGQ1MzBkNDc5YzAyZGRiOTBlMDFkODMgcHkzaworNzYzMDggNTEwMjg3MDlhYmMzMjdjZjc3NTZmZmM0MGFmMGU0NDM2MDI1MDA0OSBsZWdhY3ktdHJ1bmsKKzc2MzA5IDgzNjY0MjI0MDQ2NGFiZDRhOGUwMWZiMGVjYzM2ZGYxNTQ0YjEwZjYgbGVnYWN5LXRydW5rCis3NjMxMCAyM2MxMzhjNGVjMDVlYzEyMmY4YTUxY2IwYTYyNjU1ZTY2YmI2ZDZjIHB5M2sKKzc2MzExIDE1NGZiMjcwYTgyMGYzY2QwMDI5ZWJjNDFhNmE2NDNhNjUxOGI5ZjEgcmVsZWFzZTMxLW1haW50Cis3NjMxMiBlYjFjMDNhMzdhMDI5NWQ1YWE2ZGUzZTE5NmY0NWJhYTUwMjVkYWU2IGxlZ2FjeS10cnVuaworNzYzMTMgYzA4NDIzZDcwYjlmMjFhNzExNjM5NzNiMDlkNTQ1MGI5MWFlN2EzYiByZWxlYXNlMjYtbWFpbnQKKzc2MzE0IGRmNTM2NGZjMGU1YzlkNDkwMGI3NjBlN2E0YjBjZWNkYzBjNWNkODEgcHkzaworNzYzMTUgMjViNjQwZDIzNGY5NTU1YzNiZDE1MWUyOGU0OTdiNGI4MmFhMGRhNiByZWxlYXNlMzEtbWFpbnQKKzc2MzE2IDI1MGUxZjQ3NTU2OGFhMmU2Y2UyNjYxMjRhZjhhYTJlNTE2NGU1ZmUgdGFyZWtfc3lzY29uZmlnCis3NjMxNyA2NjRmNjMwMTk0MGY4MzJlNjNmNWFmNjIzYjEzNzA2Njc0NWQ2NTk4IHRhcmVrX3N5c2NvbmZpZworNzYzMTggNjE1NDUyOTBjYjUxNDQ5NjU3NmIyZjU1ZjE3ODI0MDFmYzM3YmEyYSBweTNrCis3NjMxOSBlYjIzNWViNDVkMzI5YmQzNjM0MGRjMmM0Nzc0NTRhNmYzZDViNjk1IHB5M2sKKzc2MzIwIGYxMTEyYzI3MDBiMWU2NTExMmE5ZmM1YjU4OTI5ZjczYjIzOWJjOTUgcmVsZWFzZTMxLW1haW50Cis3NjMyMSA0MDFkMjIzNzA1Yjc3ODFmYzg5ZDgxNmYzNzc3MmQxMjc0N2QxMWJkIGxlZ2FjeS10cnVuaworNzYzMjIgMWUwM2ZlNWExMWI0MmYyZDBjNWI2ODdhODk2ZTgzNDU2NTRjZTlmYSBsZWdhY3ktdHJ1bmsKKzc2MzIzIDk2NzBmZTZlNmQxNGRjYWFhM2YwMDk3NDU4MmU4MjhmMjk3MzkzNDggcmVsZWFzZTI2LW1haW50Cis3NjMyNCBmZDQxN2NkNjQzNDE4NWFiNjBkNzA5NTQ5MTQzOWEwZGQyNjNjYTJlIHB5M2sKKzc2MzI1IGY2MjkzMGQwZmE3MmQyNTU0MDQ1ZDc1NmE4MzY3MjgwZjZmZDk3MWUgcmVsZWFzZTMxLW1haW50Cis3NjMyNiBjODQ3YzY4NGMyYzVlYTA5MmI2NjAyYzA2ZjU2YjdkYjFkYmJhZDQzIGxlZ2FjeS10cnVuaworNzYzMjcgZDNiM2E4YTgwOTBmYTE5ZGFiODUzNTVmNWNmNTdjZWNjMTEyYWIxYyByZWxlYXNlMjYtbWFpbnQKKzc2MzI4IGFjNzY4YzhlMTNhY2E4OGFkNmI1NzdlOGEyZjA4ZmQxMTQ2NzRmM2YgcHkzaworNzYzMjkgMmQzY2RhNmI4Yzk1MjIxM2YzN2YwY2Y5YTU5ODdkNzljN2Q3MDc4MyByZWxlYXNlMzEtbWFpbnQKKzc2MzMwIGY2ODBjMWZiNzgwNGY4MzIyNWZkZDBiYjY1NzQyYWJmMmVhOWNkNGYgbGVnYWN5LXRydW5rCis3NjMzMSBkMTI3Njc5ZWNmYWE2ZGU0OTU0NThjZjNlODYzMzhkMmFhZDFkMTlmIHJlbGVhc2UyNi1tYWludAorNzYzMzIgOWQ5MzQyY2JmOTM1M2U0ZTU5MjE5NjNiNGZlMGNlNmNiODAwNDAwMiBweTNrCis3NjMzMyBjZWIzYjM2ZGQ2ODFlY2MwODI0ZWI2ODAxNzNkYjA1MzhjN2M1OGZkIGxlZ2FjeS10cnVuaworNzYzMzQgYzVhMTIyY2IxMjg4YTZjNDdhOTY2ZmUxZGFkZjM5YTNkY2M4NWE0MSByZWxlYXNlMjYtbWFpbnQKKzc2MzM1IDQzOTFhMjJhYjFmMDRhOTM4NjhjZWM1ZDcyNmMxMGY1OGFlZjU0M2YgcHkzaworNzYzMzcgNGFhNGMxOWRmYWVkZWNmN2Q0MWIzYzRkMDBlOWNhNjUxZDA4NjdjNyBsZWdhY3ktdHJ1bmsKKzc2MzM4IGFkZjkyNzRkM2VkYzQxM2ZjMjZkZjA3ZDNlZjI4YTUzNmZmMzQ5ZWEgcHkzaworNzYzNDEgZjkzYjJhNjhkZmI0MjA3NGZmNmQzNzllNmY2MzhkNDhhMWE4MDFmYyBweTNrCis3NjM1MCAzNDliOTdmZjRjMmI3ODMyNGZhZjNkNDczOGU2ZWFmZmIzN2UwOTY2IGxlZ2FjeS10cnVuaworNzYzNTEgNzE4M2Q2YjkzMGJhOTEyNGFjZjhiNDEwY2UxMGQyZDFjOGM0ZTBiMCBweTNrCis3NjM1MyAyNjI4MjE2YmM2NmQ0NzZmNzc2OTNkODJjNzIxNDYwMGYyMGE5ODgyIHJlbGVhc2UyNi1tYWludAorNzYzNTggYTc3YTJkN2NlZDdkZDdjMmUzY2VjODAwNzdlZWExMDI4NmQxYjkwZiBsZWdhY3ktdHJ1bmsKKzc2MzU5IDE4NGViOTBiMmUzZDc1ZmI5MWM0MGY5MjE0ZWU2NzAzNzI5YTE5ZjggcmVsZWFzZTI2LW1haW50Cis3NjM2MCBkNmMyMTA2Nzc5YjkwY2UyY2IwOTQ2NzZkMmIxMjVjOTJjNzFjZTRiIHB5M2sKKzc2MzYxIDNjNjIwMzFiMjUwNmRlY2Q1N2U3NWMzNTFlY2U5NzIyNjViMDkxMjMgcmVsZWFzZTMxLW1haW50Cis3NjM2MiAzZDJiMDZhYTdiMzZmYTBjNjRiNjNjNzRjM2Q5ZDAwMDYyM2NiMzI4IGxlZ2FjeS10cnVuaworNzYzNjMgZjAxNDhkOTJkYjdmZjUwNjMzMzczYzM4MGYwYjAxNmI2YTFmODdiMSByZWxlYXNlMjYtbWFpbnQKKzc2MzY0IGVkYTU2ZDA3NzViYWNkN2RiMmZjNjYxOTU5OTI3NmFjNmFjMDYwMmYgcHkzaworNzYzNjUgMjRhYjkxZmIyNWFiZjA3ZWRhYWE0MzUxZDk5ZDUwMGY0N2JkNjRlMiByZWxlYXNlMzEtbWFpbnQKKzc2MzY2IDNkMThjZDFkMDRhNDQ2OGYxODFmMjA4NzZmNGI3NTQ2ODZhYjMwZmYgbGVnYWN5LXRydW5rCis3NjM2NyA0ZWQxMzJkNmJiNzAwMTIzOGYyYzEzMDcxNTkyYmFjMzcxMDA3ZTJiIGxlZ2FjeS10cnVuaworNzYzNjggNmUzY2MzYWRmMWRjNDQwYTNiMmRjMThiMjYzNjNiYWM3NTMwYjg0MSBweTNrCis3NjM2OSBhN2Y2MTk0Yjc4Y2M5MmQyODA4OGM3YTRjMTliM2IwZTc2Y2ExNzBjIHB5M2sKKzc2MzcwIGVkNTRhMWE5MTRiNGM2NjA1MzAwZTJiZTBhMjZjNTVkZjVhZjdkZjEgcmVsZWFzZTI2LW1haW50Cis3NjM3MSA1ZWYzNGIyOTc2NmNmMWEyNzYzMTdmODljYmQyNGQyMmJhN2JkZWVmIHJlbGVhc2UyNi1tYWludAorNzYzNzIgMmM1YzY2ODdmMWM4ZWI1NDBmMGYwYTc5NmUzY2ZjZGYwMGYxYWE3ZiByZWxlYXNlMzAtbWFpbnQKKzc2MzczIDkyZTA2Y2RiZWFiOWI2ODQyNWVjMmY5YzUyMjU3N2E2MDRlZDc0ZDEgbGVnYWN5LXRydW5rCis3NjM3NCA1MGQzNTUzMjRjNTA2MzI3ZGRhZGM3MzYyZWMwMTFlZmNjMjBlYzA3IHJlbGVhc2UyNi1tYWludAorNzYzNzUgYjk2Zjc4Y2U4MzgzMzkzYmMxZGJmNDQxMGM0YWQ0YmU4ZjA3ODBlMSBweTNrCis3NjM3NiAzMzNkZGEzMWJkNzMzMWVlNjExN2MyMTkyNGY3YWNmNmI3ZTBkZTMxIGxlZ2FjeS10cnVuaworNzYzNzcgNDFkMjljMTdmZDQwNWQ2YWUxMzJkMGJlM2I5ZTJiYjQxOTRmYjMyZCBsZWdhY3ktdHJ1bmsKKzc2Mzc4IDQ2MzNlZDIzNzk3MGQ3NDZmODRiOTFmYzAwZGUyNTY0N2E5ZDM2NmUgcmVsZWFzZTI2LW1haW50Cis3NjM3OSAxZTUzNGQ3OTUwZjgwZTg5MzM3MTY4N2VhNWViYWFjMDFjMTdiYjMxIGxlZ2FjeS10cnVuaworNzYzODAgOWVkMDJkZjcyYmQ2MmYzZTcxMmZkZWI0MzcwZjdiZWVkZTM2NDE2NiBsZWdhY3ktdHJ1bmsKKzc2MzgxIGQ4YmNjOWRlMTYwNTRjNzllODQwZjNmNjhlYjdhYWIzNjcxYjU4MGEgbGVnYWN5LXRydW5rCis3NjM4MiAwYmNjMTJjNDYwMTVhNDg4ODU1N2NkYWM5ZTFkMjBlMjQ1ZjdjNGFhIGxlZ2FjeS10cnVuaworNzYzODMgMDVhZjA0OTAwYjZiOTFlMmVkMDBkYzQzNTlmNTBmYWNkYTAzN2E5ZCBweTNrCis3NjM4NCA3MTVjMGJhYThiMmM4Yzc4YWNkNWFkYmIyN2YzMjUzYzE3NGM4YzRlIHJlbGVhc2UyNi1tYWludAorNzYzODUgNWU1Yzk3YjljODI3OWY2MmM4MzgwODM2MmI3ZGQzMTFkOTU0ZTIyYyBweTNrCis3NjM4NiBhMzQ1YmI1MGVjMGY4OGM1ZGE4ZDMxYjAxMjgyOTQ3OGZjOWZmMjk5IHJlbGVhc2UyNi1tYWludAorNzYzODcgZDgwMTlkMWQ1NmYzMzRmNTJlOTZiNzgxYmJjNGFiYzQ3MjE0YjE5NyByZWxlYXNlMzEtbWFpbnQKKzc2Mzg4IGVkNTkwNzc4MzhhZGU5OTI3YWY2ZDQ5MjA3NTNjMTA2ZDkwYmYwODUgcmVsZWFzZTMxLW1haW50Cis3NjM4OSBiMzFhMzNjMzZmMDg3NGNhMTcxNjhhMTRlYTY3ZDVlNzRhYTZkMDRhIHJlbGVhc2UzMS1tYWludAorNzYzOTAgYjhhMGIzMzNlNDY5ZTFhODk4ZjMxNDNhMDc4ZTE3MWE4OTA3ZmYzMSBweTNrCis3NjM5MSA4ZDA2ZTQ1MGJjOThjYjZhNGY3M2JhOWNmYWYyZGE5NzhjNmY3M2MzIHB5M2sKKzc2MzkyIGYxNTI2NjcyMDBhZTkwNDI0Y2YyZmRjYjVkYTBiODY2MDRjOGM1NTEgbGVnYWN5LXRydW5rCis3NjM5MyBhNzkwZjg0ZmJhZmEyODE4ZWU2ZDk4YTE2YTFjNTA2NTBiNmU4MmMwIHJlbGVhc2UzMS1tYWludAorNzYzOTQgZjczZDEzN2NmYmQwNDZmN2E0YWRhNjEwZWM1ODUyMjRiNzQ5M2JiNyByZWxlYXNlMjYtbWFpbnQKKzc2Mzk1IDg3OTNmZjhmNDgyNjFkOTE0NmQ0ODgwY2M0ZjVlZDc2MWQxYmYyMzMgbGVnYWN5LXRydW5rCis3NjM5NiAxNjZmN2EzYjczZmM2MGM2MzZkNjYyYWFiYTAyZWY5ZjNkYTc0YjNhIHB5M2sKKzc2Mzk3IDQyYWFlZGFlZmJjYjY1ZTBiOTU2OWU3NzVmNmM1MmJkYzBmNjBlMDUgcmVsZWFzZTMxLW1haW50Cis3NjM5OCBkNTc3OWUxNTlkZGIxYThkYTIxYzdjYjc2YzdhNThmZmRkNmMwYmJjIHJlbGVhc2UyNi1tYWludAorNzYzOTkgYzBkZmE5YmQ1YzdmODIzM2I4MjY1ZDkyZTQ4ZDM0YjFjZjE2Y2NhZSBsZWdhY3ktdHJ1bmsKKzc2NDAwIDRiNmI0OTQzZDY5YTQwYjBiNDlhOTJjM2VkYjNkYWUxNDExNzNlMmEgcmVsZWFzZTI2LW1haW50Cis3NjQwMSBmNTdmMGM2YWFlOWQ4MmQ4M2JjY2ZkOTE0YzU0MDY2M2Q0MWZhNDE3IHB5M2sKKzc2NDAyIGFiNWI3ZTBhOTEzMWFkYmMzZmFhZmZiOGRiN2Q4OGIwMDI1ZTA1YWYgcmVsZWFzZTMxLW1haW50Cis3NjQwMyBjMDc5ZmNiZmM3NjE3YjZiOTgxZWM2Y2ZlZGZmNDllOGNlNmViZTMzIGxlZ2FjeS10cnVuaworNzY0MDQgNWI1NDMyNWVmNmY1NzYzMTM4YWNlZGE5NTExMmYxYjMyZmQ0MmUwNiByZWxlYXNlMjYtbWFpbnQKKzc2NDA1IDM5OTg5YzY2ZGIxNzhhMjE4YjU5MTNmODU3MzM4ZWMyNzlmZTI5NzUgcHkzaworNzY0MDYgYTkyZWYxMzZkOWQwY2ZmOTE2YjgzYWE1MWNkZTI1OTM4NDI4YmM3NyByZWxlYXNlMzEtbWFpbnQKKzc2NDA3IDRmYWU4MTY4YzQzYjEzMTg4ZTMwYzQxMTA4ZDA1MzdiMjg0YTdlYmUgbGVnYWN5LXRydW5rCis3NjQwOCBiOTZhZTNkOGFkZmQxMDhhYjM3ZThiMDIxMjcwODNkODYwZTFiOTM1IHJlbGVhc2UyNi1tYWludAorNzY0MDkgMmRkNzk0MmRjZmQ1MzkwYTY2ZjkzMTU0OGFmOGI3MDM1NWIyNGMzYSBweTNrCis3NjQxMCAyNGQxZTA2YzYyOWMxYTg2MGY5ZGM1ZjVlMjIzYjE4YjFkZjhmODMzIHJlbGVhc2UzMS1tYWludAorNzY0MTEgNjdjMGY5MmNlNTVjNzdiYTJlNmNmN2VhZGE0NGZhYjVmNThiZGZlYiBsZWdhY3ktdHJ1bmsKKzc2NDEyIGE0ZDlhM2RiYzUzM2ZiMmVmMmUxZmQ3MGM1YTJlNjQzNmYzMjRhMDggcmVsZWFzZTI2LW1haW50Cis3NjQxMyA5OGFiM2FkYjA0NWNlMjZlYTZkZjY5ZDQxNmY5NWIwNDQwMDBjODkzIHB5M2sKKzc2NDE0IDIyNTRjN2RhOTc3ODgwNDYzMzBlZDkxZDQ0YzkwZGFlZTg3YjNmOTcgcHkzaworNzY0MTUgODIzODA4MTZlN2RiM2IyNjQ3MWMwNjgwNjUxYmFhOWM4Mzk4NmQ1NCByZWxlYXNlMzEtbWFpbnQKKzc2NDE2IGVkMzBiY2ZmYTE0NjcyZjBlMzM0OWZjMDc3Y2U1OWRlNzdiMDk2MGEgbGVnYWN5LXRydW5rCis3NjQxNyA2YWE1MjhjNTAxMjg0YzVmN2MyZDE1YjJhMzk2NDIxMjE3YjczNDdlIGxlZ2FjeS10cnVuaworNzY0MTggNDc1YmY4YjU4NGE5MjNiMDQ4ZjIzODcyZjNjZTlkYmI2ZGNmMjE4NCBweTNrCis3NjQxOSBmOWYzOTUwYjVlYzc1NjUyMDcxZTUxNzk5MjM0ODBiYzFkMWM5MTAwIHJlbGVhc2UyNi1tYWludAorNzY0MjAgMWMzNTI3NTBlYmYyM2Y5NTE2Njg2MzZmODE1Mzc4ZGUzODNkYTQ2NyBsZWdhY3ktdHJ1bmsKKzc2NDIxIGYyZGE0ODhiNGI3YjM5MzU2ZTM0MDY3YmQyZWZkYjU0NzU3ZTJhNDcgcHkzaworNzY0MjIgY2Q1YjE1YzI5YTM5NmVlOTljZDBiYmY4NDRiYTM1MzRiMzNmZWI4NSByZWxlYXNlMjYtbWFpbnQKKzc2NDIzIDZlMzcwMDEzZjNhMGE1OWE3OTk0OGI2MzNiMmVlNWJmMjhjYWUzYjUgbGVnYWN5LXRydW5rCis3NjQyNCAxMzcxMTVlMzk1ZDhkZGZiNTdlZmQ0MjA0YWY0ZTExNmFkYmQ2ZjgwIGxlZ2FjeS10cnVuaworNzY0MjUgMThhZjBjZTBhNThiZDhiNmJiYzcyYTI4MGExY2RjYjk4OWVhMGYwYyBweTNrCis3NjQyNiBlYWViZTI0NjAzNzdjNTViYWMyMDc4OTVhZTU5YmQyNmFhMDA1NjY0IHJlbGVhc2UyNi1tYWludAorNzY0MjcgZmQ2ZTJhYmFlMTRlNDJmNTJmZjY4NWZiMmQ2NTA0NDM1YzEyNGYzMSByZWxlYXNlMzEtbWFpbnQKKzc2NDI4IGUyYjJjZWVmYTgyYWNmZGI1YTk4Yjk0MGEzZDA0MDAzMDljYmFmZWIgbGVnYWN5LXRydW5rCis3NjQyOSBlODNlM2RiNjJmYzc4ZDRlM2ZkYWE4ZjM2NWRlN2MzMzI3YzRkNzJlIGxlZ2FjeS10cnVuaworNzY0MzAgZTNjOTk0YzI5YTIyOTI3YTI5ODY5Y2I0MDViYWE2NWMwMmM1YTFmYiBsZWdhY3ktdHJ1bmsKKzc2NDMxIGI4MWQ2MDExMGY4NmY3NzgxMjI5ZTVkMDNiZDAxMDIzMWEwNmJlMjYgbGVnYWN5LXRydW5rCis3NjQzMiAyZTNlYzNiYjRiZTdjYmZkMmE2ZGViZTEwMjZhZjJmYTUzMjczNTZlIGxlZ2FjeS10cnVuaworNzY0MzMgMWQ5MjNlYmI0NzYwMGY4YTMxYzY4OGIxZWZiNjNmZGVhM2MyZmUzZSBsZWdhY3ktdHJ1bmsKKzc2NDM0IDdhNWNiNGRlY2Y2ZjI4ZThhNWYwOWQ5MTRhY2JlMWQyODdhNWNjYTggbGVnYWN5LXRydW5rCis3NjQzNSBiOGJkNTM2MDg0MWJhYTVkZTViOWZjMTE4ZGNkMzIzMGM1ZjhlNjY1IHB5M2sKKzc2NDM2IDVhZWVlZTBlYWU1ZmNmNTM2YmUzM2Q4NjcwZmFiMjQ2Yzk4MjgxNjUgcmVsZWFzZTI2LW1haW50Cis3NjQzNyA2MzliYTAzNmMyMDk0OGM0ODhlYjdmOTQzN2EyM2Y2YzdmMTJiY2M0IHJlbGVhc2UzMS1tYWludAorNzY0MzggYWY4OGIxZDI1YmYyOGViYzk1NTFlOTUxODAxOWM2YWUxMDBkZTQ2MCBsZWdhY3ktdHJ1bmsKKzc2NDM5IDUxM2M0YjE1NzVmMjY3MDJiYzMxZmVmZTcwNDFmZjQ1YWQ5MTg2MTEgcHkzaworNzY0NDAgNGM4NzA4YTc5MWU2MDMyZTAyOGNkOTU0YjQ0MDQ5NDdmNjg5NmM0MSBweTNrCis3NjQ0MSA0ZDU1NmMyNzkyNmE2MWM3MzI3NjdhZWYyMDIzMmIyZTI5YWYxNzAzIHJlbGVhc2UzMS1tYWludAorNzY0NDIgZGNiY2M4YzE0MTc5MzUwMDc3NzU0ZDczMmUwNmNlZDRjMTY0MmY1YSB0YXJla19zeXNjb25maWcKKzc2NDQzIDRlMjcwZWFiNDUyZGYzMDgxNDBhOWI1ZDc2YzA1NjkzZjUwMTY3NGEgbGVnYWN5LXRydW5rCis3NjQ0NCBkNmY4NTUyZmNlNzlmYWZkNGFhMWUzYzg2ZTg1NmNjZDAyYjMwMWYxIHB5M2sKKzc2NDQ1IGJjNzY0M2E3YTVlN2IyODdmZjNjOTg3NjM3MmNiNmRiODA2ZDI4YjYgcmVsZWFzZTI2LW1haW50Cis3NjQ0NiAwZWViM2EzZTc5ZWY4ODhmNzJhOGJhN2EzMTBjODk3ZDdlMmRlZjExIHJlbGVhc2UzMS1tYWludAorNzY0NDggZWM1MmM0MTliODI0ZTFjNWUwOGYzYTliZDQ3ODJjZTA2OTM5ZWQyYiBweTNrCis3NjQ0OSAzNzNkNDJmMjZlOTY2YTdkYTgwNDkxOTZlMzRkMzVhMzYyODY4YzkxIHJlbGVhc2UzMS1tYWludAorNzY0NTIgZGUwNzg4MGE1M2ZmYTc5MDRiMzNlMzNkYTA2NWYzNWVmMjEwMWIyNyBsZWdhY3ktdHJ1bmsKKzc2NDUzIGQ2Y2UxOGFkODQ2NzE2OWUxODJlYTdlMjE1ZDkwOWI0MGU4ZjM2MmQgcHkzaworNzY0NTQgNTZmMTkwODFkN2JjZTk3ZWNkMmFjMGE1ZjgyZTMxNzRmZWY0OTU3ZSByZWxlYXNlMjYtbWFpbnQKKzc2NDU1IGUxZDczMjUyN2M3ZTM0NDU3Yjc5ZGYwNzA2MDRjYjhjYTc5ZTRlM2EgcmVsZWFzZTMxLW1haW50Cis3NjQ1NiAyNDhjNGZhNWZlMGM5ODc5NWE4MzYxY2JiMzg1M2ZhZjJjZGM4ZjQ0IGxlZ2FjeS10cnVuaworNzY0NTcgMDg2OWUxYWI1NzJlMzdjMzM1NDlhMmJkNzcyMTNmNjQ3YmI0MzNmOCByZWxlYXNlMjYtbWFpbnQKKzc2NDU4IGM0OGZkNjNjMmY2MWEwOGIwMjJkMjdhMzNmZDEyODQwNjFjNTBmYWYgcHkzaworNzY0NTkgMDk4NDA5OWE5NDMxM2IyZWZlYmQ1MTBhYmE1MTBhMTZiNTA2NDI3NiByZWxlYXNlMzEtbWFpbnQKKzc2NDYwIDcwNDIxNGI5Y2I3NmM3NzNkMTA5NWU3NTAxYzk2ZjU2NjE5NzQ4ZDUgbGVnYWN5LXRydW5rCis3NjQ2MSAyNjM5ZWE3YjkyZWQwNGM2OTZlNGQ3NTBkMjEzMWZlOWI5MWRhZWZlIHJlbGVhc2UyNi1tYWludAorNzY0NjIgYWRhNWY2ZWVlMWNiMTIxZDQzNzJiYTJkMzliZGNiN2M4YjRhMWU2MyBweTNrCis3NjQ2MyBjMmVjY2E1ZmY2NTkzY2RiMDliNDBjNDE1MjQ1OTI3YjE0ZTk1MjVmIHJlbGVhc2UzMS1tYWludAorNzY0NjQgZjU1NGRmZmY3NDUwNTc2NTZmNWNhNzMyMGQ4N2Y2ZGUzNmI1MjU1YiBsZWdhY3ktdHJ1bmsKKzc2NDY1IDgwOGY5YzBkNGFjNDAwY2JmNWIyMDM5YzAzN2IxY2E0Y2E0ZjVmY2QgbGVnYWN5LXRydW5rCis3NjQ2NiA1Y2Q5NWU1Nzc3MmM4MGM3ZmJiNzVlYWU1YmVmNzhiYzc0NjE4ZGMwIHJlbGVhc2UyNi1tYWludAorNzY0NjcgYzhkNjlhMDZiMzNiYmY2MTY0OWE5MGQzNjc3MjFiNWNlNzQ2MmNmZCBweTNrCis3NjQ2OCA4MThjZDQwZGY4NjVmMjY3ODMxMzBkNTAzYTJiNjUwNTUyMTU3Njc5IHJlbGVhc2UyNi1tYWludAorNzY0NjkgYWE5NjI3YzQxMjIyY2FhMmE0YTJmYjZjMWQwODgwNzIxZTYzMzM3ZiBweTNrCis3NjQ3MCAzYTJiMTQ5YWU2NmU4MTVmMDgzZjIzNmMwMzJjYjk5NDM1MDE5MDg5IHJlbGVhc2UzMS1tYWludAorNzY0NzEgZjAxN2EzNDg2NGUyYmE1MzcwMjk4NjlkN2E4OWY0N2Q2YjRhYTlhOCBsZWdhY3ktdHJ1bmsKKzc2NDcyIGE3ZWIxYWU0ZTkxOTA0YmJlNDlmYzNjNGVhZjRlMWUwZmY1NTI2ZDUgbGVnYWN5LXRydW5rCis3NjQ3MyAzMDE3ZDgyZjA3NWFjZGIxMTRhNmM5ZWIwZTUxNjM4MmFlMjQ1NTY3IHJlbGVhc2UyNi1tYWludAorNzY0NzQgMDhhMGM5NTg4ZjEzZjBmNTg1Yzc5ZDExZjIwNjZlMTY1YmE0MmY5ZiBweTNrCis3NjQ4MyBiOWI2ODNlZWRlZTExNjc5MGMwMWQ3NWI1NTYxYmZmMDEwMmU4MGM2IGxlZ2FjeS10cnVuaworNzY0ODQgNTExNmVmNzc5YTgwMWYxY2RiMTJhYjJlNzhlZjZlMjc0OTk1MGUxMyByZWxlYXNlMjYtbWFpbnQKKzc2NDg1IDM1N2FkOTBiODExNGNmNDBmNzJiYzg4OGNlZWM3YTY0ZmE4NjdjZWIgcHkzaworNzY0ODYgYjdmYmVmMDc3ZWFlMTNjYjUwYmZhZTg4YWJjOTQ2ZmNhZjk5NDdmNCByZWxlYXNlMzEtbWFpbnQKKzc2NDg3IDM5NDhiNGM3MjlkN2FlOTRhZDc1ZjY0MWZjNDNmYzc0YjY2OWViZTAgbGVnYWN5LXRydW5rCis3NjQ4OCA1MTZjNjIyYTRmOWUxMzgyYzI2ZDM3NjdiMTcwOWY4ZWYzODMwMWUxIHB5M2sKKzc2NDg5IDMzN2ViYjgyOWI4Y2EyZTM3NzIxNDFhODRhM2U3ODRjOTI1ZjNiNjggbGVnYWN5LXRydW5rCis3NjQ5MCA5ZGNhMzg0NzQ4NTQ5Yzg2ZDg0NmQxZTVlZDMzMGE2MDlhZTU2ZWU4IHJlbGVhc2UyNi1tYWludAorNzY0OTEgNTM1ZTA4Y2U0M2Y1NzljYzZlOTY0ZTdiZWU4MGJhNGZmNzFkNTRkNyBweTNrCis3NjQ5MiA1OGIxMTkxZTQ1MWZhMDAzZmUzMzlhZTM5NDU1MjNjMGVkYWJlZDI2IHJlbGVhc2UzMS1tYWludAorNzY0OTMgNmYwNDhiMWU1MjgwNjIzMjNmOWU1MWI5MGY2OGY2NDk3OTI3YTBiOCByZWxlYXNlMzEtbWFpbnQKKzc2NDk0IDc2NTkwOWZjN2RlYzk2ZTNlZTRlMTE4Mzk5ODE2NjA1Zjc4NTdhOTggcmVsZWFzZTMxLW1haW50Cis3NjQ5NSBmYmVmNWZjY2IwYzg4ZjljZmJkMDc1NzY1MTA1ZTI0MzU5MzVjMDJiIGxlZ2FjeS10cnVuaworNzY0OTYgODNkOTRlNzJmMDFjZmZhMGIyNjFkZDU1Y2Y5YWE0NDRlZDhmYTgxYSByZWxlYXNlMjYtbWFpbnQKKzc2NDk3IGZiNzk5NGIyOTEwMTczYTRjN2FlMTQyMTFiMDdiMDlhZGNhYTliZjIgcHkzaworNzY0OTggMTdlNTkwYmU0YzVhYTJhNjY4ZWU0OTFhMzdhYjE5ODRmNGFlY2NlNCBsZWdhY3ktdHJ1bmsKKzc2NDk5IGNiM2VhYzQyMWNmOTZlZjhlMTgzNzRhMWUyMmYyMThjYTJhMjI5ZmMgbGVnYWN5LXRydW5rCis3NjUwMCBiNTFmZGE3NTRmNWE1ZTMxNzA0YjNmZTMxM2M5YWZhNzdmODIyZmRjIHJlbGVhc2UyNi1tYWludAorNzY1MDEgOWU3OWE2YWZhM2Y1MzEwMGI2YWE0MWE4YWQ2ODFlM2ZmMDFjYzM2OSBweTNrCis3NjUwMiAyY2QxZmIxMDQyMzM0ODFhMTBlNTcwZjc2OTdjYWI4NDM4OTg3OWY0IGxlZ2FjeS10cnVuaworNzY1MDMgOTAyODI4MDRjZDUwMTY3ZWEwYzI4YjQ5YmZiYzkxNDA2OTNkOGM5OSBweTNrCis3NjUwNCBhZDUxNjllMDVkYzNiMzhhNjk4ZmQ2Mzk0ZWFjYWZjMDE1MDc3NGZjIHJlbGVhc2UyNi1tYWludAorNzY1MDUgMDE4YjIwYjAzOWE4NTRiNWExNmVjZjgwZmI3MzVjN2YxODlmYmMxYiByZWxlYXNlMzEtbWFpbnQKKzc2NTA3IDVlYTIyNmQzMmY2ZDc3ZTU4MTk3ZTU2YjNlM2E1ZDZjNmQ5OGM5ZGUgbGVnYWN5LXRydW5rCis3NjUwOCAxZDE1N2UyY2U5NDkzZjQ4MzQ4NmZhZDI5MTMxZTY3ODk0OGYwY2JhIGxlZ2FjeS10cnVuaworNzY1MDkgODVjZDkzNTI1NTY4N2QzYjgwM2Y0OTg2NTg0NDM0NTM2MmM1NzIzNCBsZWdhY3ktdHJ1bmsKKzc2NTEzIGM3NzMyZjg4OWM0NTQ4YWU3MGNmOWJkMTg4ZTMzYWJiOGZkZDNiNzggcHkzaworNzY1MTQgMDIyY2QwZjNjNTU4ZWRkZTE2OWY2YmE1NjJjN2QxNDE1MzU2Y2I0MyBweTNrCis3NjUxNSAwZGI2NzE1M2QyNWYxNGMzZTk3YzdkOGJmMTA5NmI4OTFiZTA2ODk3IHB5M2sKKzc2NTE2IDEzODZkMGU5ZTBmYzdhNGQ2MTdkODBiMGJkYWIxYjQwZGU2M2Q0NzYgcHkzaworNzY1MTcgNDFiZDMxMjM4NjRkODlkMzUxMWJiYjc3NWU1ZmU0MmZmYTNlZWU2ZSBsZWdhY3ktdHJ1bmsKKzc2NTE4IGU1YmMzODJjY2Y3NWIxZWQ4YTMwY2E3ZmI1ZDI0ODhkMjMxNjMzNjEgcHkzaworNzY1MTkgNTA4NjU0Y2VlMTM3YThlZDE1ODE1YWU3MzBlZGY4MGExOGNhMDQxMCByZWxlYXNlMzEtbWFpbnQKKzc2NTIwIGU2MTMzZDE1NGY5ODE5YzY0OWQ4ZWFkYmNiZmU0MmU0OGNmMjFlMDUgcHkzaworNzY1MjEgZmVhNTMyNThhYjdlYmVlZDEwOGRjOTcxZWE5MzYyYWFlNGZmYWVlOCByZWxlYXNlMjYtbWFpbnQKKzc2NTIyIGRmODZjNDIwZTk3YTBjYzE1N2M2ODdlOGYzYjgyYWMyYzA1ZWQ3ZGUgbGVnYWN5LXRydW5rCis3NjUyMyA4NWUxZTEzYjQ5OGE3MmMwMzJkODBkOTJmNmE5ZmU1NGVjNjhmOGJhIHJlbGVhc2UzMS1tYWludAorNzY1MjQgMmQzODhkMWE4M2Y0MmUyNDQ2YWVmOGU4Y2MxZmU0ZjI0NDY5YWQ5NyBweTNrCis3NjUyNSBhMWQxNjZhYjE4YzQ0YmE2MzYzYWNjYjllZjJmZmE0ZjA0NGYzOGMwIHB5M2sKKzc2NTI5IGE2OTgxZjRhNzRhMWQ4NjZjMDliNTllZTdjYTA2MDNjOTRlYzBhZmYgbGVnYWN5LXRydW5rCis3NjUzMCBhODU0NzFjNDc1MTQ4ZGYwNjc3YTkxMjE5ZjE2NmM4YjhkMjE1ZDc3IHB5M2sKKzc2NTMxIDYxZTZjZTcxODUwMDg5YzBkNDgyOTY4ZDFhYTE3YjI4ODI0YTIxMjMgbGVnYWN5LXRydW5rCis3NjUzMiAzZjcxZWJlOTFmOTA1NTA1YzllNTBlNjU2YjY5MDU4ODVmMDhhM2M2IHB5M2sKKzc2NTM0IGM1NDU4YmEzODlkNzY1OWY4ZTkxMjE0NWY4YzQ0Y2UwN2Y1NjU1Y2EgbGVnYWN5LXRydW5rCis3NjUzNSA3Yjc0YWJiODAzNTY4ZGJlN2Y1MzA4ZjkzM2FiMmM5NDM5ZDVkNWE3IGxlZ2FjeS10cnVuaworNzY1MzYgNzQyMzBlNWFiMzczOTA1NTljOWE0MmYyMmUzMTU3ZmY3MmY4OGZiMyBweTNrCis3NjUzOCA0NTIxZjU5OThlN2M2MmU5NDEzNjAzOTk4MzlmZTgzZTlmY2NhZDEyIGxlZ2FjeS10cnVuaworNzY1NDYgYThhYjYzZmQzMDk4OTdjMDAzNWQyYzM3M2MzNmYwMTg3YjEwODMzOCBsZWdhY3ktdHJ1bmsKKzc2NTQ3IGM5MzY5MDkyZmVmY2Q0NDViOWM1NjNkZWZmYTJjMWRmMGE2MGU0MjcgcHkzaworNzY1NDggMTM3NDhmM2RkYzdiNTQ5YjRlYjZkNjZhNjU5OTUyMWQ2NjQ0ZjE5YiBsZWdhY3ktdHJ1bmsKKzc2NTQ5IGM3ZDdkNWNhODQ0NjRmMmFjZDdjMDRkYWQxZmY1NDg5YTVmZjkxMzUgcHkzaworNzY1NTAgOTg4ZGIwYmJlZTNhM2UwYTk0NjY2ZWNkOTA0MTBkNWM5NDk2Yzc3ZSBsZWdhY3ktdHJ1bmsKKzc2NTUxIDY3MjFkMzNmM2NkMWYzYWM2ZGQxNmJmMjQ4Y2JhZTcyN2ZiNzdiZDEgbGVnYWN5LXRydW5rCis3NjU1MSA1MzY2OWNiZjBlZDJhOWIyNDk3MzNlZjA2OWRlMTRiMzdiNzE1ZWI4IHJlbGVhc2UyNi1tYWludAorNzY1NTEgNzI2ZDEyZGJhMWY2MGUzZGIxNGZmMjQ0MDRmMzE2Y2I4MGE1OGQ3ZiBweTNrCis3NjU1MiA0ZWY3YjNlMmQ2YThiMGIwYTliN2M4YzJlOThmMzQ0OWU2ZTAzZDJmIHB5M2sKKzc2NTU0IDUyN2I3YzA3NTg0OWZiZjY0NTg3YTU0NmMzNDI3MmQ5OWI2ZTRjMDYgcmVsZWFzZTI1LW1haW50Cis3NjU1NSA1NzRkZDhhY2E5MTRlNDQzYjY2NzVlZTdiNWI2ZGU5MDg4NWYxOTM0IHJlbGVhc2UyNC1tYWludAorNzY1NTYgNmU3NDAzYWQ1MzM1ZWE0ZDEyZDI2ZTFhZWMwMjc1M2FiZTY1YmNlMSBsZWdhY3ktdHJ1bmsKKzc2NTU3IGZkZTUxMzBiZjZjZGJkMzJjOWY0YWE4ZjUzZTIwYWJiYWIyMGYzODMgcHkzaworNzY1NTggMzM5ODY2NDg2MzBiYzRjMDlmMDFmZGExNzRkMWJjMDI0NjFkNjgyYiBsZWdhY3ktdHJ1bmsKKzc2NTU5IDE4MDI0ZDI5ODY5Y2IxZjVkNWUwOTAxZWMyMGFiYmI0N2JlZDZmOGQgbGVnYWN5LXRydW5rCis3NjU2MCBjNGMzZmQ1OTNiMGFjMjk2ZDM4NTJhYTZjNGUwYTVkMjg3ZmE0YmQ1IHB5M2sKKzc2NTYxIDI5N2RmNzdiYTM5NjQ3MDY5NmZhNWViMjdmN2ZhYjE4M2MxODc3OTEgbGVnYWN5LXRydW5rCis3NjU2MiA2OTZkOTYxNWEyMzgzYjk1M2JhYTY3NmQyMjQxMTRkYmE4YjM3ZWY1IHJlbGVhc2UyNi1tYWludAorNzY1NjMgNWI2MDdjZDhjNzFiYjU4ZGEzZmM4Nzk2ZTc3YjEwM2MyMGNmYjgzZCBweTNrCis3NjU2NCAzZDExNTc4MmZlMWJiMDRmMTFhODNlMzRkMGFlNDczNDNlMjdhN2QwIHJlbGVhc2UzMS1tYWludAorNzY1NjUgMGMxOWJlNDUwZTY3YTAxZWM0YTJkNmYxMjNmN2E0YzdiMGU1OGVmOSByZWxlYXNlMjYtbWFpbnQKKzc2NTY2IGNiODM2MzAxZGI2MDU3ZWRkY2U0MjliMzIwYTBkNDQ0NzBjOTczYmEgcHkzaworNzY1NjcgM2Q3N2Q3YzE2YzkwOTc5NmM3ZjJhZjM3ZWIxZWZiZGY4ODY5NzUyMCByZWxlYXNlMzEtbWFpbnQKKzc2NTY4IDE0ZWU3NWI4NmE1ZjA0MWQ1MzFiY2I0MWU2Mjk0N2JkZWVjZmM3ZDEgbGVnYWN5LXRydW5rCis3NjU2OSA5MzZiNmYwNjU1OTM4YmVjMDQyN2MzOWEyZjI4NjczOTYzM2Q4ODA3IHJlbGVhc2UyNi1tYWludAorNzY1NzAgOWZkOGU5NWI0ZmNlMTdkYjM1NWVmZmMxMTlkMjcxOGNjMjE4MDQzYiBweTNrCis3NjU3MSA4M2M3MDJjMTdlMDIxOGRmOTY1OTJlYjI3YTk3YThiYTYzYzc0N2UwIGxlZ2FjeS10cnVuaworNzY1NzIgOTE2YTNkMzUwNzQxYzdmNmNmZTg4NjA4ODJiNDA5MjliZGFkMWIwYSBweTNrCis3NjU3MyAxNDljMWE3ZTcyYzE1NDcyZjI5YjkyODBkY2Y3OGZjOTU1MzI0YmExIHB5M2sKKzc2NTc0IDRiZWQ3OTZlZTBkNzg2OWFkMmZmMDAxMTdlZWQxY2Q5OGIzYTE3ZGUgcmVsZWFzZTMxLW1haW50Cis3NjU3NSBlMDZjM2Y2MmZjYzk4YzAxMjZhMjJhMGZkZjFiYjY2ZTJhMTVkOTVjIGxlZ2FjeS10cnVuaworNzY1NzYgODMzNTJlZDkyMjlhM2Y2MzBhMjM4MTIzMDdjOGE5NDdlNWZkYTlmNSByZWxlYXNlMjYtbWFpbnQKKzc2NTc3IGIwZmM1NGM1ZDIzNGY3YTQ5MGY5NTUwNDlhZjg3NTA1ZTI3YjI5MjcgcHkzaworNzY1NzggZjJlMWFjNzUwZjExODUzNGVkMDI4NTkxM2VmMzVkMGMxNTU4OTY0OCByZWxlYXNlMzEtbWFpbnQKKzc2NTgzIDkzMGFlZGVkOTAwZGM5ZDdhNzM5OWEzZGQ2ZjIxMzg3ZmM5YWFmNTIgbGVnYWN5LXRydW5rCis3NjU4NCA5ZmI2ZDU0MTRkZDg4MmU4Mzk5NjU0ZWUwZTAwM2Q3YTExYWNjOTY4IHJlbGVhc2UyNi1tYWludAorNzY1ODUgMGVhZjVjOWVkZDcyOGYyN2M5ODgyMzljYmMyMmM5MjM5OTIzZDhhYiBweTNrCis3NjU4NiA5MTVhMDQ0YmU4MzRjYWQyZGQ0YzQ1YjEyZmNkYzg1YTUzOGQ3ZDE3IHB5M2sKKzc2NTg3IGU4ZDU1MGE4OWYwYmExMWE2NTM1ZGI3MWE4ZjMzNGRjZGI0NWEwZGYgcmVsZWFzZTMxLW1haW50Cis3NjU4OCBhOTQ5MjU1ZDQ1MGZiYTE2NmRkMGVhY2FhNGE4ZTA1ZTlkYzc2ZTQ3IGxlZ2FjeS10cnVuaworNzY1ODkgNmNkNDVmNWNhYjU4YTczYzk0MzZiMTY3Mjk0ODFjNGQ1NTA5ZjFiMyByZWxlYXNlMjYtbWFpbnQKKzc2NTkwIGU5NjA2OWExMzI3ZjkzNmI1ZTc4MWY0OTQyMWY0MGYxNTk0ZjY2MTkgcHkzaworNzY1OTEgMjE4YTdlYjQwZDI2ZTM4MzRhMDI1OWE4MTljMThhOGUyNjNjOGZkMyBsZWdhY3ktdHJ1bmsKKzc2NTkyIGQ1MTAxMmZlMDliMzQyNjIwNmQwMjNhZTM4NzU0YzU0YTY1NzU1MWUgcmVsZWFzZTMxLW1haW50Cis3NjU5MyA2YmRlZGUxOGZjODBkZjZkNmI2ZjhiN2E5MGU3NWUwNjViMjljZGRiIHB5M2sKKzc2NTk0IDllNTFhMTQ5OThhMmE2MDFiYmNhMzUzNTkyODc4Mjk1MTdhNjI5OTQgcmVsZWFzZTMxLW1haW50Cis3NjU5NSBmMzdmNmI5YjIyNGIwNzkwNWVkOGUyOGU1ZGJmNGNmNjgwMjIxOWUyIHB5M2sKKzc2NTk2IDc0YWM4YzEyN2E2ZmYxNmVhMDFhZTExZWVhMDg5ZDdmODM1NmFkMDcgcmVsZWFzZTMxLW1haW50Cis3NjU5OSAxZmYyYzNlZGMxM2NlODcyZmIxYmNmNmY2MGQ1ZDIzNzE2ZTU2OGYwIHJlbGVhc2UyNi1tYWludAorNzY2MDAgMjgxNjY1MGQ3Njg4YzMwMzg0ZjczZTk4MTUzZTg3OTZmODgwNGNhYSBsZWdhY3ktdHJ1bmsKKzc2NjAxIDg0ZTNkMzZkYTRjMjcwYzZlZjM2ZDM5OGQyODQ4OWM0N2M4NWQ4MmEgdGFyZWtfc3lzY29uZmlnCis3NjYwMiAwY2Y5OTE1OGZhNjM2MDAxNzI3ZmY4NWRiYzAzZmRhMWMwMzUyOWIzIGxlZ2FjeS10cnVuaworNzY2MDMgMzE1ZTZhZTY0YmVmN2FjZDg1MzllMDg0ZTdmNjg1ZTRkY2M2YjUwMCBsZWdhY3ktdHJ1bmsKKzc2NjA0IGZmMmFlZmM5Nzg4MWYyNTg0NDM1ZmExMTVmYjhjNjM1ODQ2YzFjMzggcmVsZWFzZTI2LW1haW50Cis3NjYwNSBlMzIwZjg4YTY1YzlhY2IzODlmNmI4NGRiOTk5MDkzOGUxY2VkMDVjIGxlZ2FjeS10cnVuaworNzY2MDYgZGRhYjNkYTk0NzNkYjU4NzYyNTNjMGIxN2Y4MmQ1NjAyYzVkYjA2NyByZWxlYXNlMjYtbWFpbnQKKzc2NjA3IDg4OTZjNDg0NzQyM2Q1OGJkYzFiZGQzM2MxYjQyZTFiZGVjNmZhYTYgcHkzaworNzY2MDggMGE2MTM3OTQ0ZTYxYTA3NjdkYzZhNWRmZGZjYmVjNzRmY2E4YTdhNCByZWxlYXNlMzEtbWFpbnQKKzc2NjA5IDY1MzZhMWNkNDdjZDNlZTgxZjU3NWUzOTc0Zjc4NjgzNWE2M2NmN2MgcHkzaworNzY2MjMgZDk5ZWY0NjRlZjMzZmVmNjMwY2E4NzJmZjdmODdmNDUzOTcyZTgyZSBsZWdhY3ktdHJ1bmsKKzc2NjI0IDRkN2NkZjdhNmM3NWRiNWY3N2FmOGJlZmEwMTRlMmZiNTRlZjBlNzggcHkzaworNzY2MjUgMWIyYWZjYzNjY2YzOGE4M2I3MTUzYWJhOGFlZTNjZmYwMGNmOTFiZCBsZWdhY3ktdHJ1bmsKKzc2NjI2IDVkMmM5ZDg4NzdkZGI5YTNhZWIxNTEzZGU2YTUxZGQ0ZjY4NWEwNWIgcHkzaworNzY2MjcgMjgwMzY5Njc3NjAyYzZiZTY5MzZmMDhjNDQ0ZjEyNTg3ZTZiYzg0ZSByZWxlYXNlMzEtbWFpbnQKKzc2NjI4IGNmOWM2NDlkY2M0ZjRmMjE5MTRhYTUwNDA5NDJiODhkODBkZDUxOWIgbGVnYWN5LXRydW5rCis3NjYyOSA4ZjZlZWU0MmY4MTBkY2Q2MzBjYzRjY2JmNjM5MWI0ZGM1ZmNjNWMwIGxlZ2FjeS10cnVuaworNzY2MzAgY2JiNmU5MmMxYTBkZDI1NDE5YjQzNTM5ZjA4MTMxYWQwM2VmNmU3MyByZWxlYXNlMjYtbWFpbnQKKzc2NjMxIGQ5Mzk4YmRkNDEzYTAzMjUzMmE1ZjQzNGJhYmY1Nzk5MDg4M2E5ZDggcHkzaworNzY2MzIgMGZmNDcwMzRjNjkxY2FiM2MyN2I4YjY1NTk4ZmUyODQzZGE0YmE5NSBsZWdhY3ktdHJ1bmsKKzc2NjMzIGQ2OGE2MDA1MmM2NjUwNjVkNzU2MDJlN2MxMTcxZGIzYWViNDI1MzYgcmVsZWFzZTI2LW1haW50Cis3NjYzNCBiNDA1MTJjZWMyZDZjOWYwMzdkMzdlY2JlYjc2N2UzYWViMzNmYjNiIHB5M2sKKzc2NjM1IGFjZmQ1NjE1YjUyYzE0YzgyY2ExNDhjOGUxMDZkYzI0OGY5ZTU4ZDUgcmVsZWFzZTMxLW1haW50Cis3NjYzNiBhNTRjMTk4MDJhY2NjYWZhOThkMWY1Njg0YTg1M2JkOGM2ZmQyNGFlIGxlZ2FjeS10cnVuaworNzY2MzcgZTlkYWMzZWZmMzE3NDNiNTE1MmQ4NzRlMDllODU0YWFkY2E3YTFlNyBweTNrCis3NjY0MCBkN2NjOTAxN2FjNGM2NjAxOTVlMTU0MzMyMjdiZGExNDFlZTAwMTZkIGxlZ2FjeS10cnVuaworNzY2NDEgMGFmODE4MWRhNWNlNTE1MTYxOGNhOWY1ODM3MWIyMzBkZGNiOWViNiBweTNrCis3NjY0MiAyNjJhMmNlYWYwNWYxY2RkNmVlODc2ZDUyZTg4YmEyYjUwNWUyYTdlIGxlZ2FjeS10cnVuaworNzY2NDMgMTVhYzMxOTFmOWJlMDVhNDViZmUwN2U3YmQ2MjVjYTBjNmZlNDI4MyBweTNrCis3NjY0NCA4MTgwOTI1Yzc1YmE1MTljYjQ1NTE5NWNkNDk5Zjc5Yjk0MDRiNDJkIGxlZ2FjeS10cnVuaworNzY2NDUgYjc5ZDA0MjBjMjA0MGQ4MmQ3ZTg2NjdhOTc2NTgyMzcxNjU0ZWJmNSBweTNrCis3NjY0NiA1YzY4MWVjYzk5NjdjNDFkZjllNzdlY2M1NDQ5NzUyMDU3ZjdkMWM1IHB5M2sKKzc2NjQ3IGI2MGYyYjJiOWMwNDU0ZDM0MWVhYmUzNTE2MzJiZTRhYWU0MGE3ZDAgcmVsZWFzZTMxLW1haW50Cis3NjY0OCA3NWUxYjhjMDVmNDNkNGFlNDJkNGFlMGY0OTFmNjU0NWNhY2ExYzQzIGxlZ2FjeS10cnVuaworNzY2NDkgOTE3MDU4ZWVhNDQwMjQ5OWNmZjI2NDgxN2Q1M2RhN2ZlMjEyMGU0MiByZWxlYXNlMjYtbWFpbnQKKzc2NjUwIGZkZjdkMGVjOWQwNDFiNDUxYzViMTYwMWQwOGNiMGVhMmYwNTdlZGUgcHkzaworNzY2NTEgYjVjZDNkMmVjMDI3NmQyNDkwMzgyNjViMGI0ZDY4MTY5MGQ2NTY0MSBsZWdhY3ktdHJ1bmsKKzc2NjUyIDk2OTU0ZTdkZDliNmUyMWM2OGU1NTUwOGY4M2FkMDNmOTY2NGIyNjYgcmVsZWFzZTI2LW1haW50Cis3NjY1MyAxMTQzNGI2MmQ4Y2Q4MDYyZmVkYTE1OGNmZjM0ODBiODRiOTNlYzg5IHB5M2sKKzc2NjQ3IGVmOWY0MzJlNGQzOWRjZDk0MjJjYWFiMzkxOWE2ZWZjNDEzZGUyYWIgcmVsZWFzZTMxLW1haW50Cis3NjY1NSAxZmExODU0MDMxYWEyYTQ2Mjk2NjYzODE1OTQ2NDc1ODZiODc4OWNkIGxlZ2FjeS10cnVuaworNzY2NTYgZjA0MmRiNDM0NjM4MzkyYzkzOTc2NTQ0ZGE4YjdmMzVlYzdkZWE2ZSBweTNrCis3NjY0NyBkMDBlYzI2MGQ2MmFhOWM5YjFjNDA0MWIwM2UzNzZjNWMwMjQzNjgwIHJlbGVhc2UzMS1tYWludAorNzY2NTggYjhlMjkyMzY5ZWE4YjgyY2YxOWU1YzI2NTJlMzg5ZWM2NGFjYmRiYSByZWxlYXNlMzEtbWFpbnQKKzc2NjU5IGQzMWIzMzUwYWFkYmU2MzBlMGEyNjI3YzEyYjNjMGViZDM2ZjViN2UgbGVnYWN5LXRydW5rCis3NjY2MCAxZWUxZmE3YmVjZjJhZDIzZWUyOWIyMWI0MTU3M2JjNDgzZjA3MjQzIHJlbGVhc2UyNi1tYWludAorNzY2NjEgNTk4ZGU4ZTZjNDhiMzQ2YzJlNmZlODM1NjVmYjQ0NzIwMzNmZDMwNSBweTNrCis3NjY2MiA5ZGY0ZDViNTI2MDljZmU0ZGI1YTBjZDc0YmEyM2VlYjQ3ODMwMzRiIHJlbGVhc2UzMS1tYWludAorNzY2NjMgNzMzMTM4ODU4MTU3NGU3ZWJiMzUwYjRjYjI2ZjU3MTMxMjFkNzQ5ZSBweTNrCis3NjY2NCAzZWM2YjUxY2RiZGRiYjcxNjNmM2E5ZDZmZTM2NDE4MjY5YTNlODUxIHJlbGVhc2UzMS1tYWludAorNzY2NjUgMDQwYzM4ZWQyMjUxNWY5NzM0Mjg3MTVhNWYxNDQzZDc1YTg3NmNmYyBsZWdhY3ktdHJ1bmsKKzc2NjY2IGQ1ODdhNGU1YmE1YTU5NDkxZTI1MDA5ZmIzOTFlYzJhOTYzMDczN2MgcmVsZWFzZTI2LW1haW50Cis3NjY2NyA3M2E5MTI1NzAzYzMyYWMyNDYxM2ZjOGY4ZDYxOGJiMWFjMGM3ZGE0IHB5M2sKKzc2NjY4IDU1YzgzMmJkMzIzMzNhMWFmMDAxNzk2ZTljNDU0MDgxZGRkMGIzZmYgbGVnYWN5LXRydW5rCis3NjY2OSBkMzA4MDI5ZTlhZDIyYjViOGZhNDg5MTE0NDY0NzMxMDA0Nzc2M2JjIHJlbGVhc2UyNi1tYWludAorNzY2NzAgMGZlODk4NzVlZGVmMzQ3NmRjMjRhZmUyOWViNTNiMDYwZmIxMDAxMyBweTNrCis3NjY3MSAwMTQ4Zjc2ZDZmY2RmZDlmMjUxOTZhYWEwMzE0YWE4YTczZDFkZmE1IHJlbGVhc2UzMS1tYWludAorNzY2NzIgNmJiNjNiZTcyOTljYjYzY2JlNDIwZDMwOWNiNGNmYmUzMWI0NDIyMyBsZWdhY3ktdHJ1bmsKKzc2NjczIDRkNzQ0NWNhMzA1MTRlZmY5NWNhOTI2NGJjYzZjMzVmN2VjZTU5YWYgbGVnYWN5LXRydW5rCis3NjY3NCBiNDEwN2ViMDBiNDI3MWZiNzNhOWUxYjczNmQ0ZjIzNDYwOTUwNzc4IGxlZ2FjeS10cnVuaworNzY2NzUgYjllOWQ1NDBjOTBkMzEyOTZiNDViMmJmZDFiNTc5MTQ2ODBhYjZiNiBsZWdhY3ktdHJ1bmsKKzc2Njc2IDM2YTBkZDIxYzViNDNkOWFlODY5Y2MzYTU2ZDQwNzdhMDJkYTliOGUgbGVnYWN5LXRydW5rCis3NjY3NyBlMTlkZTk0MzNhNGJmZThjZmEzODZjMWJiODVlMDc0ZWI5ZDA0YzUzIHB5M2sKKzc2Njc5IDI1NTMyYzk5MzJkZmZhN2Q5MmU0Mzc3YjUxZDc1YjZmOWI3ZmU1MzIgbGVnYWN5LXRydW5rCis3NjY4MCBlYWIxMjNkYzEwN2Y2NGRjMmZlMTFmMjczZGVmNzhiMTg0NDRkNDU0IHB5M2sKKzc2NjgxIDFjOTJmYmIzYmFmMjZhYzVmYmVhNWY0NzU0M2FiODc1OWEyZGQyMjUgcHkzaworNzY2ODIgYWQxNDU1NTgyMjZiODdhZWM3MDJmMDk0OGFlNjExOGEzMmZmZDQzNiByZWxlYXNlMzEtbWFpbnQKKzc2NjgzIDY4NTY1ODE3YzE3Zjk1YmU0NDFhYzdjOTA2MmZjNTViMTIyODEyMGMgcmVsZWFzZTMxLW1haW50Cis3NjY4NCA2YTQ4YTA5MWMwZDM4NmM5NDZhYTk0ZjA2ZDZiZGRkOGI5ZDdmNmFiIGxlZ2FjeS10cnVuaworNzY2ODUgMWMyZWNkNTlkNjVhZjk5ZDc1MDQ1MzZlNmJmODE1OTdjZWExMmUzNiByZWxlYXNlMjYtbWFpbnQKKzc2Njg2IDllNzUxNjAxZjUzODI3ZTBlYTdlMzEzMDNmNWY2YWZjNjM5NDBmMGMgcHkzaworNzY2ODcgNTY4NjE4YjVmNmZkNWQ0NTVjZDA4ZGY0YTJiNGRkYTA3ZjI3ZGRmNiByZWxlYXNlMzEtbWFpbnQKKzc2Njg4IGE2YjFlNjk1OTM4MmUzNWY0MGMxOTE1OTdlZDNkYmM4MjgxNDA2YWEgcHkzaworNzY2ODkgZWVhODAzZDIzNWQzNDFjYzViYWFiMGE4N2RmYzdmNzAxMzg4ZTVkMyBsZWdhY3ktdHJ1bmsKKzc2NjkwIGJlMWNiYzE1ZDlmNTFjY2NmYWNjZmE3MDE2NDI2YTc3NjZhYzFlODggbGVnYWN5LXRydW5rCis3NjY5MCBmOWJkYmNjOGQxZThlNmVjOGM0NTgwOWYyYmQ0MDM4ZGJhNDYyYmEyIHB5M2sKKzc2NjkxIDYwN2Y1MThiZDNjZmI4MGIwZmQ2YWM3NDc2YmU1YTE1ODM5ZDA2OTUgbGVnYWN5LXRydW5rCis3NjY5MSBiYWM4ZWEyYjZkYTM1ODg0ZWFlOWFmYzEyOWI3ZWEyYzE5NmViZGY5IHB5M2sKKzc2NjkyIDg5ZjZhNzU0NjJiMjdlZGIxNTEyMGE4ODBmYjZhMDA5NTMwZjdjYzIgbGVnYWN5LXRydW5rCis3NjY5MyA2ZWY0YmNjNGE0NTAyMTY2YjZjODM0YjJiNmIyOWExZWUzMTE1Yzc2IHB5M2sKKzc2Njk0IDU2ZmNlMTg4YzZiZTA3ZWZmOTQ4YmE1NjVjMTMzNmY1Y2IwM2VlYjAgcGVwLTAzODMKKzc2Njk1IGMwZjhlNGEyM2RkZjRiOTQ5NTI0YTg1NWQzYmEzMjJiOGIzNjIwZGEgcGVwLTAzODMKKzc2Njk2IDY4NTUyMmM2ZjMwZmJlMWIxNjUzZmEzYzQyZDdjZGJkNWQxOGVhMjUgcGVwLTAzODQKKzc2Njk3IDljNTk3YjBhNmE5YjcxZjg4MDNmNjRlMzc4YmRhZjRkNDc3MGZjYWYgbGVnYWN5LXRydW5rCis3NjY5OCAzNWYzYTE5YzQyNjVhNzZjODJhOWJmZmYwYzlmZTdmYmE1YjQ4MjY2IHB5M2sKKzc2Njk5IGY1YTQ0N2IzZjI2ZWJmNDk1YmQ1NzFjZjdlOGY1OWE3OTkwNTk2ODEgcmVsZWFzZTMxLW1haW50Cis3NjcwMSA0NTA4MTg2MWVmNzRhZmY4NjhmMDFlNjliYTZhOGJhZmM3NDU3YTFlIGxlZ2FjeS10cnVuaworNzY3MDIgMjVhZWRlNjJmYzE3MmE2Njk4ZWMwMzY2MmQ0MjhjODJjODFmMmRkMiBsZWdhY3ktdHJ1bmsKKzc2NzAzIDI3NTA5NzNlMzg5M2M0M2JhOGIxY2I0YTA1ZGUwZTNiYzNlMDRiM2QgcmVsZWFzZTI2LW1haW50Cis3NjcwNCA5ODg3OWM4ZDUzZjE2NWRjOGM4MDBkOGQ4NGNkZmUxNjAzZjlkYjVmIGxlZ2FjeS10cnVuaworNzY3MDUgNTFjNWM5MTJlYzNlYjQyZTE2OWIwNThmZDU0MmFmYzgxZjg1ODM1NiByZWxlYXNlMjYtbWFpbnQKKzc2NzA2IGQ5YjRmNmVhM2UzOTc1YjNiNDlkODVlZmU2NDY4Y2JmNGZhNjhkMTggcHkzaworNzY3MDcgNzY0N2IxNGVmZTcxZmE5MzY1ZmI0MmUwOTFjZWFlYTlhODM0MmE0NyByZWxlYXNlMzEtbWFpbnQKKzc2NzA4IGRiMjhhZWIyZmI3YTdiYmEyMmM2YjZjNmUxODkyOTMwNjIyOTNlYzUgbGVnYWN5LXRydW5rCis3NjcwOSA0MDc0Njk1NmIzNzkyYjM1Nzg1M2MyMzQ4MjIyZjJiNzEyZmFkOWE5IHJlbGVhc2UyNi1tYWludAorNzY3MTAgNjgzZDVjOTdlNDc2ZGU0OTlmZWNmODZmOTA0YjQ4NjVjNDkyZmFlYiBweTNrCis3NjcxMSA2ZWZiNDZjMmIzYzNhZGRhZTJhNWIzNGI5MDhiYmJlYmFkOGI4OGZlIHJlbGVhc2UzMS1tYWludAorNzY3MTIgMjRmZmIwYTNhZTRiYTkzNDY4N2RmY2M3MGUwMDM0NzQ0MWNmNzdiZSBsZWdhY3ktdHJ1bmsKKzc2NzEzIDQwYzM2MmE1OGU3ZjBhYTEwNDc1YWQxNmZiZTM4ZWNmNjUyNWUwMWUgcHkzaworNzY3MTQgY2YwYzY5YmUwMTFhNTg3Y2MxY2E3N2RjNTQwNzcwMzkyNzNiZjFlZSByZWxlYXNlMzEtbWFpbnQKKzc2NzE1IDgzYTc2MTkzOTk3NTMzYTI3NGQzYjkzMGI3NTg2ODBmMzEyNzdkODIgcmVsZWFzZTI2LW1haW50Cis3NjcxNiA4M2MyYmYzMTkxZDg1YTQ4YTAxYTg0ZTg2MTg0MjllYTZmN2NlMjRjIGxlZ2FjeS10cnVuaworNzY3MTcgNWI4NjgzYTk1ZWFlYzY1ZjAzOWU3OGNkMTY1MzJkZTlkMDUzZDYzZCBweTNrCis3NjcxOCBlNzI4YWU4OWFlNjlkODhjODVkMzA5Njk0YmQwNTZmYzJiZDNmNjZhIGxlZ2FjeS10cnVuaworNzY3MTkgNWU4Yjc0NDlmOTYxNWMzMDdkNWZiMjFjYjZmMWYxMmQ2MGIyYWZiNCBweTNrCis3NjcyMCA2YzY0MjU1NjM5MTgyODI4YjY2MGZhYTEzZWIwMjE3YzQwZmQ4NzE2IGxlZ2FjeS10cnVuaworNzY3MjEgMmM1MmQ0ZDNlNTRhZWQ1YzQ3NmJhMTlmZTQ3MDJiOWJhYjkzNjg5ZCBweTNrCis3NjcyMyBlNjM0NzAzOGRmOTc2ZmNjNDNhMDhkNzBlN2E4YWNmMmVmNWUzZWEwIHB5M2sKKzc2NzI0IGNjYzU0MDZjYjM4MWRmYjk1NWY2YmZkZTJiN2JmMDgwNWY2NTY1MmMgcmVsZWFzZTMxLW1haW50Cis3NjcyNSA3MzhiMzliMTJkYzhmMDUwNTVkYmFjNDNjOWU3MDQ1MjMzZWI5YTY1IHB5M2sKKzc2NzI2IGVmZWFiZWU2ZTA2MWFjNDk5M2E0MWNiNzdhMDVhZTY1MzZkMzdmMDIgbGVnYWN5LXRydW5rCis3NjcyNyA3NTBlNzVkOTMwMjE1NTUwZGRmY2E3YTI2NTFjNTg4OTczYWZkZTBlIGxlZ2FjeS10cnVuaworNzY3MjggMGE3NmFiM2E2NzNjNmZkNmUyMGM5MzQ1YjEzMTAwYTc3YzA4MzM0MCBweTNrCis3NjcyOSA4MTYzMDNhMDc3NjI3NzhmZDEyZTVkMDkwZmRkZjliNDYxZDY1OGMxIHB5M2sKKzc2NzMwIDI3M2VmMDlmZTgwNDhlMGQ0Mjk5MTJjMWQwZDE3MzBhMzMyMTdmMmIgcHkzaworNzY3MzEgOGI4YWVlMjFkODVlNmE5MmRlMWYwZDMzZWNmZTE5ZDE5ZjI4YTg1ZSBweTNrCis3NjczMiA4OTc0YWI2ODViYWUwNjQwZTBjZDU2MWZkZWJjZmM1NDAzZDVlNjI0IHB5M2sKKzc2NzMzIDE2NjkxYmM4YjE4OTRjNDg0ZDcyYjhmYTQ4MGNjODZkN2IxODllNTggbGVnYWN5LXRydW5rCis3NjczNCBiYzcxNmQ4ZjQzNDVkNmE0MzlmMjY2ZjY4M2M1YTI0ODRlOTgzOTYxIHJlbGVhc2UzMS1tYWludAorNzY3MzUgYjVhNGFjYmVhYWExNjFhZWYyNTAyNTA3ZTZlOWI1MzNlYzZkMzFjNCByZWxlYXNlMjYtbWFpbnQKKzc2NzM2IDU3YWU1ZDQ0ZTczMWZiYzI0NGE0ZDVlODVjZmQwZGIwODNhOWFlODIgbGVnYWN5LXRydW5rCis3NjczNyA4Mjc2ZDAwZDMxMDBmNWFmNjYxNWM1MjFjMTlkMjZmMTZjNjdjMzE4IGxlZ2FjeS10cnVuaworNzY3MzggOGI2Njg5YzBlNWE2ZTZjNThiOWZmNTNkZDgzZWE2ZWQxNWNkYmQxMCBsZWdhY3ktdHJ1bmsKKzc2NzM5IGIyN2Q5NDYzODllNzY3ZTY0NjcxZTVhNTA2ZWUwMmJkMzBhZjM1ODggcmVsZWFzZTI2LW1haW50Cis3Njc0MCA2MzE2OWNiOWU0OWEwMWYxMWM2NGE4NTM2NTg1ZmY2YTk2MDg0MTVhIGxlZ2FjeS10cnVuaworNzY3NDEgOTJmN2M0ZWU2YWFkZmM4Y2YxMzA0NzEwNjEyYzc3MGI0ZTI2YTRhMCBweTNrCis3Njc0MiA3NTJlODYwOGUxMzFiNzFkYTJmZDFmYWI5Zjc0ZGNjMmZkNjBlMWU1IHJlbGVhc2UyNi1tYWludAorNzY3NDMgYTQ0MDljZjZiNTU2NGE2YmUzZGI0ZjQ5ZTBmZDIyYTQxYWMyN2JlMiByZWxlYXNlMzEtbWFpbnQKKzc2NzQ2IDkyMTFhNWQ3ZDBiNDI0Njg2MTVlNzI3MjRlMzQ3OGQ5ZjY0ZGVjNDQgbGVnYWN5LXRydW5rCis3Njc0NyAzNzRkNGU5YWFiMDUyYjVmZjljNTc4NjAwZjk2Y2Y0ZGU2ODhjOWNkIHJlbGVhc2UyNi1tYWludAorNzY3NDggNmY5YWQwNDE4ZjcwZjE5Njc5OWFhMDMyMGI0OTE1ZTM1MmM1ZGU2NyBweTNrCis3Njc0OSA0ZWUyMjY4OTBiNTk5MDlkNzhjMDk3MDlkYzI5MjcxOWMxYjczZTI4IHJlbGVhc2UzMS1tYWludAorNzY3NTAgZDI4ZmJhYzM3ZTIwMmY1N2ZjMTgyNzRkZTZjMzgxNzQ3ODlhZDAyMSBsZWdhY3ktdHJ1bmsKKzc2NzUxIGUyOWE0NTMzMWRlYThiNTQ4YjNlZDM2MmVlNzhlYTE4NzAzMGExMmMgcmVsZWFzZTI2LW1haW50Cis3Njc1MiA2NmZiMWUyNzYyZDM0MjNkN2YzYTk2YTdiYjhkNTFhNzg2OGQ2YmU1IHB5M2sKKzc2NzUzIDc1NjJlMzc2ZDliNTUxZTdhM2Q1MGY4MzcwNjc5ZTcwMGRlZWRjMTYgcmVsZWFzZTMxLW1haW50Cis3Njc1NCBhZTkzOTYyNjA4MzU5ZWRiYzI5MzFkOGNiMWRjNDc3OTk4ZmM0OGU4IGxlZ2FjeS10cnVuaworNzY3NTQgYTZiZjA3ZmZmNmZjYmZlOGQ0OTA1MTg2NzZkOGJiZjcyYWJiMjJmNiByZWxlYXNlMjQtbWFpbnQKKzc2NzU0IDBjZDdhYzhjNmJiM2JiY2RlMDJkZDcwYmE5ZTJjOTU5ZGVkNmU3MjkgcmVsZWFzZTI2LW1haW50Cis3Njc1NCAxOWI0ZTFmNjQ0M2UxOTk5MzMwYmJhMzBiZmZlMDU5NGVjZGIxMzViIHJlbGVhc2UyNS1tYWludAorNzY3NTQgOWI2YjFjMWMxYjMzMGYxMjE5MTQ0YmM1NGI5YzNjNjczODI4ZmU0MCBweTNrCis3Njc1NSBjYjIyZWFlZTg2YzkwYzBmYTMyMjlmZGRiZTBiNTE2MGQ0ZGU5Mjg1IGxlZ2FjeS10cnVuaworNzY3NTYgOWI4M2JmZWZjNWU3ZjZmYWVlNDg1M2FmOWNmNGEyOWZhZTMxNmRlNiByZWxlYXNlMjQtbWFpbnQKKzc2NzU2IGJiYWI2MDJkYTExNDlhNjk3MmI3NTY2N2Y5MTUwYzQxMzkzNWMzYzAgcmVsZWFzZTI2LW1haW50Cis3Njc1NiBlNzAwNGRhMjlmNTEyZGRiNDYzYmQ0NzFlN2RhZTE3ODdhN2Q5NTQxIHJlbGVhc2UyNS1tYWludAorNzY3NTYgMzc4YmI3MDViZTkwNGJiMmRkOGRjYTRiN2Y0MjRmZGY1MmVhNjU5MSBweTNrCis3Njc1NyA3Y2I3M2U3YzE3NmQzMGNkN2I3MzlkOWNhOWJlMmU0NjU5YzAxMDBkIHB5M2sKKzc2NzU4IDE2Y2QyMWJhMjY4YTQ5NjlkZmFjYzY3MjA0MmE0ZTkxNjkyZDRmNzEgcmVsZWFzZTMxLW1haW50Cis3Njc1OSBhZWU4ZWI3ZjVmMDIxZTYyOGEyMGI1N2NjNTFmYzdkN2JlNGVjZDk1IHJlbGVhc2UyNi1tYWludAorNzY3NjEgMjU2ZTlmMDBkMDYxZWY4ZDU0NjRlNzBjYTkxZThlNjRjM2Q4M2VlYyByZWxlYXNlMjYtbWFpbnQKKzc2NzYyIDRkNTFhYTU3MmU4YzlhYmU5ZjllNmI5NjVmYjZmNDMyYTk3ZWMyNDYgcmVsZWFzZTMxLW1haW50Cis3Njc2MyAyZmZkMTlhMjI0ZDQxZmE0NjMwZTQ0M2VhZGI1NGE4NGFmN2ViZWFiIGxlZ2FjeS10cnVuaworNzY3NjQgZDk3ODU5MDljM2E3MmI3NTZkZWYyNjk2ZDgxZjE2MGQ0YmMxM2MwOCBweTNrCis3Njc2NSA3OWUwZGJiNmM0Yjg4Yzg2NDE3ZmU2OTlkZGZmY2I3N2Q3YThkN2EyIHJlbGVhc2UzMS1tYWludAorNzY3NjYgODY5MGE3ZWZmODJhMWUzZDhhZDU3ZDBkMGQ3YzFiODViODYzOWQ4MCByZWxlYXNlMjYtbWFpbnQKKzc2NzcwIGFkOTE3YjhmZDY0Y2Y2MDE0NzIxM2NkODc4ZWU1ZWUzZTE4OGI4ZGYgcHkzaworNzY3NzEgYjdlYzRhZmNmYzNmMGJkZjg4MGIzNWIxYmYzNTNlOWQyMjg0ZjYzNyBweTNrCis3Njc3MiA3M2E2YjliMDU0M2Y0YzgwMTMxNTI1MmYwZTIwOTE3ZTAxMzE0M2ViIHJlbGVhc2UzMS1tYWludAorNzY3NzMgODA0ODU2OWViNTNmNWY3MWUxMjVlODI3YThjY2IxNDQ1NDEzYzhhZiBweTNrCis3Njc3NCAyMGI3ZGViNTNkNGU1OGIyOTRkNjhmOWU2ZDhlNWY1ZTZlYWU5YzMwIGxlZ2FjeS10cnVuaworNzY3NzUgMmI5MzRkNDY2OTkzZGQxYjcxYzhjYWEzMDk0MTJmODc5M2RhZWU3NSByZWxlYXNlMjYtbWFpbnQKKzc2Nzc2IDA4N2ZlNWZhMTEzYzFmZDEwZDliNTQ3NzliYjNhYThhYTkwYzY0NzMgcHkzaworNzY3NzcgZDhjNWUzODUxNWI2Y2RjNTIzMDk1NWNiMTkwMDI5MjA1Y2ZiY2ExNSBweTNrCis3Njc3OCAxNTU4ZGM2OWFhY2YyNmQ4NjBlYjdlZmM2Y2Y2MzM2NmM5ZTU3YjU4IHJlbGVhc2UzMS1tYWludAorNzY3NzkgYTc2OWE5YjM0ZmJjMmM1YWNhMmFjNzlkYzZjZWZjMDBjNWRjMmQ4YSBweTNrCis3Njc4MCA0OTM3ODBlYTM1Y2Y4MjFhYTdhODM0ZDI1MDYxYzExNWJkOGQ1YTY0IGxlZ2FjeS10cnVuaworNzY3ODEgZWQyYjY4ODNmYzk2NzM0YjFiYzE1MzdmMzMyZWNmMGNjZjFjNjM5OSByZWxlYXNlMjYtbWFpbnQKKzc2NzgyIDQ2YzIyOTc0MmM2NDIxM2ZmMGQ4YjRkNzRkMGEyOTRmZDlkNDdhNTggcHkzaworNzY3ODMgOGM0N2Q3ZDJhMDIzYjUxOTEyY2U5ZjJkZGQ0YzgzY2FjNzNkZDk4MiByZWxlYXNlMzEtbWFpbnQKKzc2Nzg1IDExNDIzNzE5YmFiYjQwNDVlOGUwY2U0YWRjZjQ2MmNjYTNhY2NkNWMgbGVnYWN5LXRydW5rCis3Njc4NiA0NjQ4NTFiZjIyZmRlYjUwMDc3ZTE0YTBhZTI4ZjNmZWMzNTJkZDEwIHJlbGVhc2UyNi1tYWludAorNzY3ODcgMmZkY2Q3M2MzMmFhYmI5MjZlNTA5ZmYzMjEyMDgzYWMwN2VlZjdjYSBweTNrCis3Njc4OCA1NDgzMzVjYjAwN2IxZmU4NzRmZWVlMGYyNGRjMzE0ZjE2OWU4Njg4IHB5M2sKKzc2Nzg5IDRhOWU0M2EzYjk4NTMzYWE3MDUwYzEyNGQzOTg3MGIwYTgxYWNkNWEgcHkzaworNzY3OTAgYzkxNWZmNTkxYTJmMzM0MWQ4YzgyYmFhYmJkYTBjZTZjZDQyNGNkYyByZWxlYXNlMzEtbWFpbnQKKzc2NzkxIDE2Y2VkZGU5YWYwMDkwNGM0NTBlMmQwYjlhYmIzYjFhYTgyYjE1MDMgbGVnYWN5LXRydW5rCis3Njc5MiBjNzA4N2VhMWMyMWRkZDNhM2VkNjExZTFiOTQ1Yzg5MzI5MGFmNzA5IHJlbGVhc2UyNi1tYWludAorNzY3OTMgZTdjOTRjYjcyNjc4OTkxYmFiN2JhNTI1YzBiOGRiYjAzNTkxMzY1OSBweTNrCis3Njc5NCBjYjI2Mjk5ZTBlNTI3Yjg4ZDVkM2Q0OTY5NWVjNDM4ODZiNjUwZWJhIGxlZ2FjeS10cnVuaworNzY3OTUgYzJlOTRlZjBkN2U1ODU3NzJmZWI2Zjg1ZGIzMmNkNmEzOWM3MTQwNCBweTNrCis3Njc5NiAwZGJlY2NkN2UwZTZmYWVkZDFmZDJiNjY3ZTcxZWVlMGRiNjJjM2IwIHJlbGVhc2UyNi1tYWludAorNzY3OTcgNDJlMzExYTQ3NmU4MGIxMDRiZjE2NTE0MTY1ZWFlNTAzMmYwMjdjYyBweTNrCis3Njc5OCAyMTVkZGZmMTk5YzFiNjdjZTc4MmVjNzQ2ZTE5MTY0NmY4OWQxNTRkIGxlZ2FjeS10cnVuaworNzY3OTkgMjdjNjNkNjUyNjIwOWE3YjgyYjgwMzUwZTNkZjk1YWI4NGVjNjczNiBsZWdhY3ktdHJ1bmsKKzc2ODAwIDEzOTJlMzZhZjFiMjZhMjNiMDdlMGMxY2Q5YWZiNjJjYjdiMmU2ZGMgcHkzaworNzY4MDEgNjA1Mjc1MWEwNGM4MjMyNzJhZWEzZWYxOWJkYWE4M2E2ZDFkYzAxMiByZWxlYXNlMjYtbWFpbnQKKzc2ODAyIGE3NGUwNGZjOTNlYjlkY2ZjZDMzMDI1OTkzMGQwY2M2ODU3YzQ1NzUgcmVsZWFzZTMxLW1haW50Cis3NjgwMyA2NTRjNjg1MzY5NzUxNDY1MjRhYmE0YzVlYWU5NWQxYjQyZGM2Y2UxIHJlbGVhc2UyNi1tYWludAorNzY4MDQgN2NjZDIyOGI4OTVjYzlmMDhkYjU1YzJlMGRjNGI5Zjc4YWI3NTBiMSBsZWdhY3ktdHJ1bmsKKzc2ODA1IDU0Zjg0NTU4YWQyYjJmNjcxMTA3NzQ2NDMxZmVkMmNmMGEwZDZkMDkgbGVnYWN5LXRydW5rCis3NjgwNiAyNGE4YTI5YzhhNGEwNDZlNjQ0ZjNmYTNmYjA2YzNhMjJjMTRkOWE1IHB5M2sKKzc2ODA3IDNhN2Q1NDA0M2FiYThlZjk4MDQ2OWRmMjkzMTQ4MWI0OWU2NmU5MWYgbGVnYWN5LXRydW5rCis3NjgwOCAxMjA2M2E3YjZhMmEyOWVkYmJkODhlNjgzMTUwMDM2OWM2YjQ4ZDFmIHB5M2sKKzc2ODA5IDM1ZGY2Nzc5ODljYjk1NTEwNGEyYjEwYmJmMTg4ZTM5Njk1YjI4ODggcmVsZWFzZTMxLW1haW50Cis3NjgxMCBmYzcwYzhkNzQzZGI3MmU2YTlkMmI4ZjQ4NWZmZTgxY2M4MDMyZGI1IHB5M2sKKzc2ODExIDYyMTA2YjZmNTU5NmM4OTNjNzZhNDg3N2M5YzRhZTRlOWEyNGI3MjggcmVsZWFzZTMxLW1haW50Cis3NjgxMiA3YzQyMTI0NGU2ZWE4ZjBkMzIzYmQwMzU1ZjRmNWQ5NTkyYWQ1ZDVhIHB5M2sKKzc2ODEzIDUzNmU0NmVkMTBhY2Y0MzYyMDA3YWYwY2YyMDhmNmYxZGJmODNjNjYgbGVnYWN5LXRydW5rCis3NjgxNCBiM2EzNjQxOTJjMGFkOTdjOGMzMDA2NDI4OGVjMDFlMzA3N2U2YWE0IHJlbGVhc2UzMS1tYWludAorNzY4MTUgYmM5MzQwOThjYWExMDFlMTgxOTk5NWUzNzFlMjU3YTMyYTczY2EyYiBweTNrCis3NjgxNiAwNTZmZmI4ZTE3YjNmNTRmMDk2MDZhM2ZmMDM3NjJhNzNjNWQyMjYxIHJlbGVhc2UyNi1tYWludAorNzY4MTcgZGQ1MzkxZDRiYjY4MGQ0Zjg0NDljODBkMmNkOWRhOTk4MDI2ZmU2MSByZWxlYXNlMzEtbWFpbnQKKzc2ODE4IDZiMjg1MjIxOTdkYjEwZTQ0ZDhjZTk2M2Q5OGUzODA4N2MxOTczMDggcmVsZWFzZTMxLW1haW50Cis3NjgxOSA5ZjM1N2M5NmYyNDZlODg0MDU0Mjc4NmRjZjBlNGZjYTBhNjVlNDFmIGxlZ2FjeS10cnVuaworNzY4MjAgNzJlZjNkYjVjNmIzN2IyODE0N2MxNjBkMDRkNTgxNGEzNzZmZGE2YSBweTNrCis3NjgyMSBlNWYyMDEzYjI5YTE5N2UxY2Y4YjNhZGYzZjEwNjllYjIzNWE1ZjI4IHJlbGVhc2UzMS1tYWludAorNzY4MjIgNmUxMzFlMDcxMzEwNWQwOWJhZDM0NGI4YzE1ZmVjYTcwOTA0NjhkYSBsZWdhY3ktdHJ1bmsKKzc2ODIzIGRhMWZjZTU0MDg4NWUxZDc1YWQ2YWNjYTQ3NTYyMjRlMjRkZDE4ZmMgcHkzaworNzY4MjQgNDBmM2I4YjgzY2M2YTNlOWNiYTVlYjRkZDM2YmI1ODI3M2U0MDY3NSBsZWdhY3ktdHJ1bmsKKzc2ODI1IDc3MDVhYzIxOGM4NzBiNTE1ZjNhNDBjYWI5NDg3OGNhNWVmM2QzOGIgcHkzaworNzY4MjYgYzBjODYxZDM4YzRmZGFlZjZiYWQ4ZWM0YTEwNDg0NTk0NTIxMWQ0MSBsZWdhY3ktdHJ1bmsKKzc2ODI3IDM1NDY3NzliMjFjNzA4M2U1Mjg0ZDQ5N2FhNWQ5OWYzYWNkZWI2YjIgcmVsZWFzZTI2LW1haW50Cis3NjgyOCA2ODI0OWVkODgwOWU4MTMzYzgzYTQ2Y2JlOTdkZGExMmFiNGE0YTcwIHB5M2sKKzc2ODI5IGJjNTVmNWQ1MGRlYzg3MGE5NDY1NzBkODIzYzY2YTAxM2M2NTk0MDMgcmVsZWFzZTMxLW1haW50Cis3NjgzMCA1MTAzZjY4Y2NhNjkwOTVlNzBjZDczNjQyYjAyZDhkNDFiNzMxZGMyIGxlZ2FjeS10cnVuaworNzY4MzEgMmI4ZjQ4NWIwZDAzOTdlMTI1MDJhM2M5MzA2MzIzNzBiYTdjZmY2NiBsZWdhY3ktdHJ1bmsKKzc2ODMyIDc2YmQ1YmRjZWNjZGZkOTY2ZWMyYjhiMGMzNjc2ZjFiMTA1YmY2MWEgcHkzaworNzY4MzMgZDJlMTQ2NTNhNDNjOTk1YzdmNjIyYzQxNTg1ZGVlZmVjODI5M2VlMiByZWxlYXNlMjYtbWFpbnQKKzc2ODM0IGQ4OTlmMjhkYmI4ZTk3YzIxMDk2MmY4MDBmOTM5NjQwNjI1YzM1OTIgcHkzaworNzY4MzUgMGVlZWE3NjU2YzIyZjAzMGVkMDFkNWYwM2NkZWE5NjIwZjI4ZDY1ZSByZWxlYXNlMzEtbWFpbnQKKzc2ODM2IDQ5YzY4YTJiMDU4NTJjNTQ5MTVjYWJjOTI3ZWE4M2M0NzRkZWEzZGYgcHkzaworNzY4MzcgYmMwYTZlNGNlMWIwYmJmMWUzOGQ2NmQzOTAyYTE1YjdiY2IyYWViYSByZWxlYXNlMjYtbWFpbnQKKzc2ODM4IDkxOWUyMTQyNzI2ZWZlMmJhMGJkMTU1NDQwNDc4ODBkMmE3YjdhMDAgcmVsZWFzZTMxLW1haW50Cis3Njg0MCBmYTRmMjNiMTgyZGU2NzkxYWJmZjg3YTU2MzQzN2IzNjYwMDI2ZTJmIGxlZ2FjeS10cnVuaworNzY4NDIgMTU5MmU4OTUxYjJiZDM1NDQ0NGI5ODgwZTIzNmM3MjA0YmRlYzhmMiByZWxlYXNlMjYtbWFpbnQKKzc2ODQzIDMyOWVmMjk0Y2MyZGI1NmQ0MmQ4MmQ4MjA5YzcxNmIyMDY2NGY3OGIgcHkzaworNzY4NDQgZTljZWJiZTlkZTVjMzFhZjkzMGMwYzFmOGNiNjhkYTYyYTRkMTk3MSByZWxlYXNlMzEtbWFpbnQKKzc2ODQ1IDk2MGU5ZTg0Y2E1OTc1NWM2YjVkZGFkMmU2OWRlMzcwMjE0Njc0YzEgcHkzaworNzY4NDYgN2MzYzAwZTc2YzI0ODhiNjZlOWRjMjE1M2RlNzQ4MTJhYTczNmQzZSByZWxlYXNlMzEtbWFpbnQKKzc2ODQ3IDY2NjQwZmM2MDdjYTA2MzU1ODhkNjA1MmY5YmNhNjUwOWNiYjcyMTIgbGVnYWN5LXRydW5rCis3Njg0OCBkODYyMDAwZjFiMDE1NTNmOTdlMjY3NmRjNjA0MzA4MzhlMGFhZjcwIHJlbGVhc2UyNi1tYWludAorNzY4NDkgMjRiNjg1MzE4NjMzYjNhM2UyOTM0ZWIxMGVkMmE4YTM4ZGEzYWI5OCBsZWdhY3ktdHJ1bmsKKzc2ODUwIGU1MGU0OWQ2MWZlYTVmMzQzOTBiMmI5OTdmODQ5YmZhY2NiMjJjOWIgcHkzaworNzY4NTEgYTliNmYyN2QxZTI5MGVjOTdjYzE1ZDU5ZTFmNTRiYzZjZWNhYzNkMSBsZWdhY3ktdHJ1bmsKKzc2ODUyIGMyZTRjZmJiMzk4Y2I4NWYxMWIzM2ZjZWY0ODVjODUzYjE4NTgxNmIgbGVnYWN5LXRydW5rCis3Njg1MyA5NDI4MjNkZGQ4MThmYzM4OTJiMTg4MGNhMzczYTBlNDM2ZmQ5MGQyIHJlbGVhc2UyNi1tYWludAorNzY4NTQgOTdhYmQ3YWFiYWRjMjhlMjg4MzRkYjYzZWY0OGUzMWZhNWFiMGEyZiByZWxlYXNlMjYtbWFpbnQKKzc2ODU1IDdlYjA1MGMwZTY1NDY3YzBkMWVmYTA5MTM5OTM4ZWRmOWIwMGFiNDkgcHkzaworNzY4NTYgMmJkMGYzOTE1OTM4NDBjNzYxYWJhYjk5Zjk2MDE5OGY3ZjRkZDI2NiBsZWdhY3ktdHJ1bmsKKzc2ODU3IDlmZTE1YzFmOTljYzliMGM5ZjJlY2FiMGYxNzIzNjBjNjk3ZDNhODggcHkzaworNzY4NTggNGZjYmUwZWE5YjMxNzgxMzg1YzU3NjU0NzQ4NzlkNWIyZjMxYTU4MyByZWxlYXNlMjYtbWFpbnQKKzc2ODU5IGJmNjljM2YyYjc3OGU0MDNjNDVlNTQ4M2FmNmI0YjlmZDU2YWU4M2YgcmVsZWFzZTMxLW1haW50Cis3Njg2MSBiMjA2YWQ4Y2Y1YmYyZTQ0NzVlNTZmMWZjODlmNzczZTZiYTQ5OTljIGxlZ2FjeS10cnVuaworNzY4NjIgMjJhMWVhOTBmYWE2MTc3Mzc2Njk5YTQ0NDYzOGRmZGM3NmIxODhjNyByZWxlYXNlMjYtbWFpbnQKKzc2ODYzIGI0NWNhMTFiOWEzZWM3NDhlYTRkYzBiNzU0ZmI1ZjkyNDA5NDRkMjEgcHkzaworNzY4NjQgNTRhNTAyZGIzYjhjZTBkOTNkY2ZhNmYzNjg5N2JjMWI0NzY3OTI4YSByZWxlYXNlMzEtbWFpbnQKKzc2ODY1IGIzNTZlZDk1NjRlNjhjMmMyMjBkOGUyMGFhN2QxYzY0YjZhNzE1MmQgbGVnYWN5LXRydW5rCis3Njg2NiAwYTFjMzljNWYxYjljOWU0MzEwMGJlMmNlYmIyNDZhYzJmMzBhMjczIHJlbGVhc2UyNi1tYWludAorNzY4NjcgYjE4OTY2MjBjMjk2ZDJiZjJjYWY4Yzc3MzRlZWE3ZmE0YmY0ZTJhNSBweTNrCis3Njg2OCBiMTNmNzE1MzlhYWMwMGE2ZGNhNGI4MWQ5YzZkYmVhMmMxN2VjM2NkIHJlbGVhc2UzMS1tYWludAorNzY4NjkgNjJhZmNmYTNmZTE4OGI3YjdhNDhmMzU4NTZjYWY2MWQ3NTVjMDg1OCBsZWdhY3ktdHJ1bmsKKzc2ODcwIGJiNjY0ZDIxOTM5YjY4OGRmYWZkNDBiNDk5NmM1NmEyYmEwYWMzNDkgdGFyZWtfc3lzY29uZmlnCis3Njg3NCBlMjZlZThkZGQyOWQxM2M3MDlhMTdiYWRlOTBjOTY5NDU4NTRkNDY4IHJlbGVhc2UyNi1tYWludAorNzY4NzUgNTFkMzdlZjQzZTFlOWRlNTgxM2M0ZjM4YjYyNGQzNTBmMGFhMGE1OSBweTNrCis3Njg3NiAwZDM5ZGFiMDU2MjJlN2IxZTMxYWNmM2I1YjcwODlmYTQ3ZGFlMGMyIHJlbGVhc2UzMS1tYWludAorNzY4NzcgMDE5NDkxYjI2YjM2Y2ZlNzAxOGJmNGQyMTNhNTIxZDkwY2NhODU4NiByZWxlYXNlMjYtbWFpbnQKKzc2ODc4IGQzNTBhZmMzMzdkYzY0YzQ3Y2ZhYzc4OTQ1ZmQ4OTI4Y2FlMjljYTYgbGVnYWN5LXRydW5rCis3Njg3OSAxZTgxNjRiNWYzNmRiYWYyYTU5ZTljMGYyYjFjYzFhZjhhYjM3MjIwIHB5M2sKKzc2ODgwIGU1ZGY5YTFkYWI2YTA4M2I1NWU2MGFiMTY4MzFjNGRiODE4ZDI0ZWIgcmVsZWFzZTI2LW1haW50Cis3Njg4MSA2NGY1ZjM3NWQwNzNlYzYyOWE4M2UzZDlhNDg4ZTRhMmRiMDJmYWY0IHJlbGVhc2UzMS1tYWludAorNzY4ODIgNzY1MjMzNDZlMjBkNzZkNWE5ZjM0NDA0Y2I3OWUzNmU3ZWIxMDg2ZCBsZWdhY3ktdHJ1bmsKKzc2ODgzIGQxMDZiYTYxMjZhMThlYzBiOTEwZGIzZmYwZTUzMDY2ZjVjNDk5YzAgbGVnYWN5LXRydW5rCis3Njg4NCA3MjM0NjBiOTBhZGQxNGFjMDA0YjQ1NTQzZWViNTIxOTEwMzdmZDYyIHB5M2sKKzc2ODg1IDBlZWM2MzNlZjBlMzIwZTI3NzkzZDhjYjQ2NGQ4M2RjNjVmMWJjOWIgcHkzaworNzY4ODYgOTYxM2VjNDFhZWFhYTA1NjYyMmZkOTVhZmIxNjFlZjc0MTllMjk3ZSBsZWdhY3ktdHJ1bmsKKzc2ODg3IGEzNDlkYmVhYmFlZTVhMmZkNjFmZDYwYWI4NjY3ZjQ0OTdkMTIzOTMgcHkzaworNzY4ODggNWIzNzU4ZWU0MzU2NmY5OTNiYjhlYjA3NGI3ZTA1ZmJjMmZjMjI2NyBweTNrCis3Njg4OSAzNjIxOGI2ODFkOWVkYjE2N2UzMTg3ZjI3YTExODRjOTExYzE4MjVjIHB5M2sKKzc2ODkwIGRkZDFkYjVkMmZlMDBlNjg5YmMxNTZmYzczYjBjZDg3OGE1MWJkYTYgcHkzaworNzY4OTEgMjYyMTMwZDcwMzA2Y2JjYmMxMjhhNDA0MjQyYmY4YTBkOWM2OTNiNiBsZWdhY3ktdHJ1bmsKKzc2ODkyIGI4Y2E2MWQ2ZTI2MjNhNWNmMDJlMDgzNWIyMTlmOTc5NzFjODM0ZjIgbGVnYWN5LXRydW5rCis3Njg5MyAyZDc1ZGE2NWQyOTBlNWRlNWQ5NDA2OWI1MDE4ZjE4ZWM3NDczZTdmIHB5M2sKKzc2ODk0IGFlZWYyZjI3ZjlmMGNmNmM5YTU0MWVlMjk3YzBiYTQyNDdlYjE3NDcgcmVsZWFzZTMxLW1haW50Cis3Njg5NSA3YmFhNTViNmU4YzkxODhkMDI4OTQzYjk4NjFmZmM4ZjJjNWI0ZDhhIHB5M2sKKzc2ODk2IDEwMTMyMDg5OTA0MTdmNGVlMGJhMGExN2VmMTJiNzA1YTM1MmIyYzcgbGVnYWN5LXRydW5rCis3Njg5NyA2ZDQ3YjI0OTQ3MTM3ZDFlMWJhMTg2OTI3ZTA0MWI3YWUzZmFiMzA1IHJlbGVhc2UyNi1tYWludAorNzY4OTggNzdlMjMxMzEzNWRkOWJhMDE4YmE2OWU2OGFiZGE5M2M2MDNiZWY2NyBsZWdhY3ktdHJ1bmsKKzc2ODk5IDliODQ3MDk4Y2JmOTMwNmYzNGNiMGJmZWYwZTkxZGViZGM2MzU0MDkgcmVsZWFzZTI2LW1haW50Cis3NjkwMCAxOGViMDA5MTRhZWU1YmFjYTk4Y2QyODQ1ZWVjYjU1ODFkODY4ODFlIHB5M2sKKzc2OTAxIDZmOWMwNzQ2ZjFlMjA1MDY4YTgzNmE5NGFiMDNiMmU1NjE5OWY1ZmIgcmVsZWFzZTMxLW1haW50Cis3NjkwMiBhMDg4NDBjZTg4ZDM0YzFmMDM3OWRmYTlhMmY4NTkxM2E5YTA4YTlkIHB5M2sKKzc2OTAzIGVkNGQ1Y2Q0N2VlOTYxMDIwN2M0YzBkNWU5MTY3MzQyMTRhYjU0NjQgcmVsZWFzZTMxLW1haW50Cis3NjkwNCBmN2Y1ZTFkMjdlMDYzMDJlNTUzMmZlMWRiYzFiOWFjMWE0OGYwNGNlIGxlZ2FjeS10cnVuaworNzY5MDUgODk5OTY3NTVjZjM5ZTcwYmM0NmU3NGM4NTM4OTYzZWI5NzBjMzNmOCByZWxlYXNlMjYtbWFpbnQKKzc2OTA2IGE0NmRkOGRhM2MzMDgyN2MxMTAxOGZlMGE2MTBkOTg2ODFiMDliZjAgcHkzaworNzY5MDcgZTIzZjVlYzkzMzE1ODU3ZDcyMjliN2JkMmQ2YjFiNDk3MDI4NjVmMiByZWxlYXNlMzEtbWFpbnQKKzc2OTA4IDEwOTcwZjY0YmEzMzFiMTg5YmQ4ZTk1NDJmOTU5MTMyM2RkMDZjZjMgbGVnYWN5LXRydW5rCis3NjkwOSA3MGNjMjg4ZjkxOWUxN2VhNjAyMzYzOWE5NTMyMmU3NDY2M2JhZDZkIHJlbGVhc2UyNi1tYWludAorNzY5MTAgNzI0YTBkYTg1YzQyY2FlNzkwODZiZDc4NDlkNmU4OWZmZDkxODAyMiBweTNrCis3NjkxMSBkYzFhYWRmOWZhNGEzYzZjZTI0NjAwZTdkZDZiZGQ2Mjc1MzliNGI5IHJlbGVhc2UzMS1tYWludAorNzY5MTIgOWM5NTc1MmVkZTEyNTNhOTMyMGZkY2RjNzdlMTRlZWQzZWFmOTU3NSBsZWdhY3ktdHJ1bmsKKzc2OTEzIDUzMWIxMWE2YTEyNTVjZGVhZjRkYTA0YjRjNmVhZGRiOTc1NWZjZDIgcHkzaworNzY5MTQgZWJlYjJlNzc2M2Y1YTNhNTgzYmU1ZTc4YjUwYjA4YzE3NWU0Y2UyMyBweTNrCis3NjkxNSBlZDEzMTJjZGI5YjIwYTk5ZjA0MzE3ZTVjMWQ5MTBmNzcxNjc5ODE5IHJlbGVhc2UzMS1tYWludAorNzY5MTYgNWNjYzVkNDA2OGMxYWVlMjYyODY2NGE0MzQ4NDc5NGUyMDRlZTQ4YiBsZWdhY3ktdHJ1bmsKKzc2OTE3IDUzZjIxZjA4YWYwZDQ0Yzc3NGQ0Y2Y4MjFjZTIxNjNlMDJlOGQzYTUgcHkzaworNzY5MTggZDUxNTBiMjkzNGZhNjBkMzc0MWJmNTM2MWNhNTI5MjA2ODcyN2ExOCByZWxlYXNlMjYtbWFpbnQKKzc2OTE5IDZmNjAwZTkyYTBmNTI3ZGE2ZTVmN2IyYTc5NzhiM2FkOGQxMmZlNDMgcmVsZWFzZTMxLW1haW50Cis3NjkyMCA4OTZiZjQ5NjI4YWJmZDNiMGZkODg1YzQ3YjgxZDYwMjk1YmZkOGNkIGxlZ2FjeS10cnVuaworNzY5MjEgY2NhMDk3ZWEyN2I5YzFkODY4M2ZlNDJiYjdhMjNiNTJkMTRlMjljOSBweTNrCis3NjkyMiBlOWRhODEyZjRmZmY0MzE0NDIyOWUxNDRmZWQ4MTlkZWU2NjU2N2JhIHB5M2sKKzc2OTIzIDIwODlkOWMxYWUxM2UxYjNiYTBkNzQ4MzZjOWZlZTkzOTVhNjk3OTcgcHkzaworNzY5MjQgOWU0YzkwMWYwMDkzY2ZmMDRjN2M2OGVkZmYzZjE1ZjUyNWRiMjFlNSBsZWdhY3ktdHJ1bmsKKzc2OTI1IGQ4OTBjOGZmYWQwMmY3YzAzZjIyODA4ZTU5OGZiMWZkYmZjNTc0NjUgbGVnYWN5LXRydW5rCis3NjkyNiBjOWE1YjNhNDYwZmY2M2ZkNzUwZTI2NGM1OTY4Y2RiNjdlZGYyYjA2IHB5M2sKKzc2OTI3IDY1MGIzMjY0MDNjZDI2YmY1ZjJlNzk1MzA4OTE5ZjA4MDhmNjZjOTkgbGVnYWN5LXRydW5rCis3NjkyOCAxZjhiMzYzMjAyMThiODQ0NTJlNDQzMDAwZDg3YTcyMjk4Y2M1OGJlIHB5M2sKKzc2OTI5IDc4NGJkYzdiMTlhYWYzYTFjY2ZlYmU5M2MyZDcwNzc1YTNjMmM2MDMgcmVsZWFzZTI2LW1haW50Cis3NjkzMCA3OTQxYTlmODY1YzIyODNjM2MzYzEyZTczMDIxMzA5MWFlY2M3ZGMxIGxlZ2FjeS10cnVuaworNzY5MzEgNmQ3NDY0ZGJiNzE0YjE0ZWE3YzJlMTNiYzI4YTU3YTM4ZGFiODBkMiBweTNrCis3NjkzMiAzOTE0OWQyMjVlYzdhMTUyM2NlMmE4NTUwMjkwYzM4MGU5ZmU1N2VlIHJlbGVhc2UyNi1tYWludAorNzY5MzMgMDIwNTRhZmEzNjJmMWIzNjRhODk1NmZkMWI1NmFiMWM1NzY2YWEwOCByZWxlYXNlMzEtbWFpbnQKKzc2OTM0IDA0NTg4ZWZmMjVhMTkwOTU4YTM1NzMxNGE4NzNhNjBiZDVjZTE0ODkgbGVnYWN5LXRydW5rCis3NjkzNSAxYzJiM2Y3OTVkMWIyM2UyMTliMDRkYTRhYzgyZjc4YjNhZGQ4YmVhIGxlZ2FjeS10cnVuaworNzY5MzYgMWRhYWMyY2VlZGJmMjVjMjZjYThkMDY3MzljMzM1ZjY4OTk1ODA0NCByZWxlYXNlMjYtbWFpbnQKKzc2OTM3IGNiMDVjY2Q3NTk5NmJjYzAxNjVlMDBlODQyMjFiMmVlOWIxZDM3ZWQgcHkzaworNzY5MzggNTgxMzM3MTQxODljYWE4NTg0M2JmZWU1NGUzMDA4NDg3Y2Q1MTdmZSByZWxlYXNlMzEtbWFpbnQKKzc2OTM5IDY2MzBlMzZhZjljMzliMDYyNGNhYzE1NGRjYTIzYTU2ZjljZTMyYmUgbGVnYWN5LXRydW5rCis3Njk0MCA1NTAwNTNiYWFmZmE3OWQ0YzQ1ZTcyNzg3YmVmNWM1ODhhNjQ4ZTE4IHJlbGVhc2UyNi1tYWludAorNzY5NDEgNGFjZTA4YWFjMzc2MzljMzY1NTA4M2YxZmUzZmZiNTRiZmM4NzI2NCBsZWdhY3ktdHJ1bmsKKzc2OTQyIGQ4NTYyMDAyZjhlNWMxYjZiY2RhNjFiYjkzODk0YjM0NDFmYjQ1NWIgcmVsZWFzZTI2LW1haW50Cis3Njk0MyA0NjU4MDk0MTZhODJmMGJmMWU5MDhiOGUwZDBmYWVjZjEzMzFlZWFhIHB5M2sKKzc2OTQ0IDRkNDMwZTU1YWQ3YzU4YWRlYTQ5ZmQzYzRmYTZmM2NhYzBiMGY4ZWEgcmVsZWFzZTMxLW1haW50Cis3Njk0NSA2YzFiMjA2NWQzNWNiM2JjZmUxY2VjZDBiMTJmN2EwN2NjOWQxOWVlIGxlZ2FjeS10cnVuaworNzY5NDYgYmYyZWZmNjBlYWUyYmFhMTc3ZDkxZTdjOGFmY2JkNDZkNWRkZGRlYSByZWxlYXNlMjYtbWFpbnQKKzc2OTQ3IDk5YzBhYjNjZDFmOTU2OTgwN2U3N2ExODIxMTczZWIxZDQyMzE1NmUgcHkzaworNzY5NDggNzk3MTdiN2QzNzlkYmZmZWJiNjc2NjhjYjk5MDIxODk5YTg3MTExMCBsZWdhY3ktdHJ1bmsKKzc2OTQ5IGIxZDcyZDg5NDYyMTdiMTEzMTgyOThkNTU0MzQwZWFkMTNkMjAwNTUgcmVsZWFzZTI2LW1haW50Cis3Njk1MCAwOGRmMWM5ZWE2NDNiNTVjY2FjNjQxMDRiYjg0YTIyM2JkYTMyM2JlIHB5M2sKKzc2OTUxIGQwMjVmNDk4NzMxOTFhMDM0MjU4YTAyNmZhOTc5ZWUwZDdjZGI2MmMgcmVsZWFzZTMxLW1haW50Cis3Njk1MiAwOTZiMWQ5OTc4NTM4YmIyYzg4NjBhNDM3YjA2N2ZmYzc4ZTJiMjExIGxlZ2FjeS10cnVuaworNzY5NTMgMTc3MjE5NTQwNWU3ZWE3NTdlNDllMGZmNTY0NjBiM2U5MjdlOGVmMyByZWxlYXNlMjYtbWFpbnQKKzc2OTU0IGVhNWU1NGJkNjI3NGMzMzQ4NjlmYzUxYTE1Y2NmZGUwNTQ4ZjJlMmQgcHkzaworNzY5NTUgODZiNWRmMDQ2MzRjMDY2ZTMzNmQxZjczZTM3M2NiMGViY2YwYjhkNyByZWxlYXNlMzEtbWFpbnQKKzc2OTU2IDNlMmI3OTY1YWRhOTk3YmVhZTQwMmFjMGY1NWRlMWI0MjNlZjk3NDAgbGVnYWN5LXRydW5rCis3Njk1NyAwZWUyYWU3NWNlOGY0OGI3OWJiYjNmNzhiOWE0NDkzMDk2ZjQ0ODBmIHJlbGVhc2UyNi1tYWludAorNzY5NTggMzlhYjFhMzZiMjA5ODY2YTI1MWQwZGVjMjgzYjhiZDFlMTk2OWQ3NSBweTNrCis3Njk1OSAwOWMxNzFmYTU5MzVhMWUwOGZkMjJjMTJhMDAxZGFiYTZkMjE1NjI4IHJlbGVhc2UzMS1tYWludAorNzY5NjMgMjhkZTgzZjE3ZDA4OWU0NTQ3ZGE2MzYxMzhlMjg1NDQ1YjZkZTZhYSBsZWdhY3ktdHJ1bmsKKzc2OTY0IGE3YzRjNzE3YTljNzg4MWFjYjMwMjUyM2UwMDAwNTkzNTA3NTQyZjIgcmVsZWFzZTI2LW1haW50Cis3Njk2NSA0OGE5OWNmODE4YzkyZGVmNjA4M2M4YWFiOThhYWI2ZGIxYzhjYzRmIHB5M2sKKzc2OTY3IDdiMmVhYTM0Yjg2YjM2NzA3OGY3ODY4NmU2MDQ1NWNhM2QxMDAwOGEgbGVnYWN5LXRydW5rCis3Njk2OCA2ZDA5ZTNmZGY4NDBjYmQ4MWI4ODk3NjhiZGRkM2YwNTMyYzE1MDUxIGxlZ2FjeS10cnVuaworNzY5NjkgNzYxM2RlZjA5OWQwYmMwYWY0MmI2Y2RiNzg4MDZjYmM5YzdiM2Q5MiByZWxlYXNlMjYtbWFpbnQKKzc2OTcwIDgwNzE5NTliYzMwNmM1MWU0NjU2NjZjMjZhMmU2NWMwOThjMDI5NDMgcHkzaworNzY5NzEgNTBmMzA0NmQ0ZmEwMDI1OGZmMjZkNWU0ZmEyMzJjODJhMzg4Y2M1ZSBweTNrCis3Njk3MiA4Yzg2Y2Q4MGFlMjYxYTBiNzliNTQyY2MyYjY2MTk2ODM4NzkxZDZkIHJlbGVhc2UzMS1tYWludAorNzY5NzMgMTNlNjJjZjAyYmMzYTEwODIyMjhjODA3ODMzZDBkNThmODk1Yjc5NyBsZWdhY3ktdHJ1bmsKKzc2OTc0IDA5YzRmMWI5NDM5YzlkZTdlNWRkOTUyOWE3YjhiNGNiMjdkNDZhYjggcmVsZWFzZTI2LW1haW50Cis3Njk3NSBkNzYxMGVjOTViY2UyOGNkZjgxN2FjMGNhOGFmZjUxODUwMTY5OTkwIHB5M2sKKzc2OTc2IDc1NTliNzBmOTg5OTM4ZDFmYjFjYzEwMWVjMDYwYzQ0YjNhMWNjYTkgcmVsZWFzZTMxLW1haW50Cis3Njk3OCA3ZjVjYmMyOGY0MzMzYzliNDNhMzY4ZWNlZmU1Y2I1NzUyNjRhNDI5IGxlZ2FjeS10cnVuaworNzY5NzkgZTczMDAxYWZjNTZmMDZkY2Y1YTY1MWVkMGFhYjFkOThhOTVmYzg3YiByZWxlYXNlMjYtbWFpbnQKKzc2OTgwIDk3NTFkZGNjMTg4MjgzYWI4MmY4NWE5NTk1NjVhYTQ2OTYzOThlNzcgcHkzaworNzY5ODEgMzdhMDU5OGQzMzJmNzUzOGIwZDNiNDY5OTM1NTE0ZjFjMDFlNjFhYiByZWxlYXNlMzEtbWFpbnQKKzc2OTgyIDJlNDg0MTkwY2ViNWExOTk0ODAzM2FiNmZmMDFmMWM2NzdmNzljMjkgbGVnYWN5LXRydW5rCis3Njk4MyAxYTI1YjQyMGVjMDBjYzRmOTZkZmNiZWFiNjExYWY2MmNiZmQ3OWM5IHB5M2sKKzc2OTg0IDYwNmE0NWRiZDEwY2U1ZTNlNWM2YzdkYTJiYTJhZDg0ZjVhMmJkOTMgbGVnYWN5LXRydW5rCis3Njk4NSAzNTI0OWU5NTYzYWFmMTkwZDMwYzU1ZmRhYTNiM2VjZTY1YjQ0YzdlIHJlbGVhc2UyNi1tYWludAorNzY5ODYgZGIxOTdiMjhlMDQ1NDQzYjVhZmM2OTg3NmUwNGYzODkzYjM2NGZiZSBweTNrCis3Njk4NyAyMGZjZWJkMGNiNWRkODZmZTU1YmFkMjkwNjIzMTRlZmNkYTNhODM5IHJlbGVhc2UzMS1tYWludAorNzY5ODggYWVkMzIxODc2NDkwOWVlM2ExZjdjNzRlNWZhMmUzZjEwOGNmNWMxNSByZWxlYXNlMjYtbWFpbnQKKzc2OTg5IDRkM2I5YjRjYWZmMDZiMzVlNWUyMGYxNzNlODZkMjY4Yzg5ZDhlYmYgbGVnYWN5LXRydW5rCis3Njk5MCA0NDJkMmI5ZDgxZTA5OGYxODE3Mzg4MDBkZTdkNGM2YTVkYjMyMzk0IGxlZ2FjeS10cnVuaworNzY5OTEgZjMxMTUwZDg0N2MzZmU0M2I0MTg2YTQ3MjY3MjEyYTY0N2QyMjllMyBsZWdhY3ktdHJ1bmsKKzc2OTkyIGJlNzg4NjYwYTkzOTMzOGY2MTAxNGYxNmM0MjIxNDExZjEzNjQ3NTkgcmVsZWFzZTI2LW1haW50Cis3Njk5MyAwN2EyODMwOGNlYmIwNjk0MTNjYmVmMGIwZDI2NmQ1Y2YxZmZhYzJjIHB5M2sKKzc2OTk0IDY1ZGUwYmVlMGZmMmVjYmFlNjVhODZhZjcyNGI2YWJhOWJiMjIzN2YgcHkzaworNzY5OTUgYjk5MjdlZWUyYTY5ZmE4MjI1YzdiOWYyN2UzMWZkMDhhNzg5YTQ3NiByZWxlYXNlMzEtbWFpbnQKKzc2OTk2IDMwYmVkYmMyOTc2MzUyMzI1NTFhYmYxODI2ODBjMWIwZDRiZWU2N2YgbGVnYWN5LXRydW5rCis3Njk5NyA2YzgxMzAxNTJlODhhMjAxZTUwNjVjY2JmZWY0OGFhOTI2NWFhNjBiIHJlbGVhc2UyNi1tYWludAorNzY5OTggY2Y3NGQ5YWY4OTVhNjk0YmYwY2ZlYzJlODg1ZDJmN2U0MDdhY2MzYiBsZWdhY3ktdHJ1bmsKKzc2OTk5IDE1MjA2OTc5MjAyMDFiMDI4OWQ4MWRmYmJiYTFjODQ4MmM0NjJiN2EgcHkzaworNzcwMDAgOWRjNTczYjZmOGY1ZmE3ZjRjN2M2YzY2ZGVlY2UzNDM0MGRkZmQzYiByZWxlYXNlMjYtbWFpbnQKKzc3MDAxIDUzZTMyMTI1OTU1NmU1YzBhNWNlOWI3ZWNmZDhiZWE2ZmZjOTFmNGEgbGVnYWN5LXRydW5rCis3NzAwMiAwNzJjM2QwZjA1MWU5YjhiYzA1NmY4Mjg0MGM4OWYyNzZhZmQxNGZkIHB5M2sKKzc3MDAzIGRmMjYxMDkzYjMxY2Y0ZGRkYzgxMDZhNWZlOGM5ZjA5NzYyYTJlN2IgcHkzaworNzcwMDQgYmQyODc0NWM2ZmU3MGQ3Mjc4ODYyZWE3ZGY4NGJiMThjYzhmOTM2NyByZWxlYXNlMzEtbWFpbnQKKzc3MDA3IGJhNzRkNTg3NzRiNzBmNmE2Yzg3NjY2NjYxMjdjZjE3OWIzMDU1OGQgbGVnYWN5LXRydW5rCis3NzAwOCAxOGE4YjJiZmM5YzJlYmM4YWI0ZDRiZDAyMTZhZTg4YTZiYjYyZjFkIHJlbGVhc2UyNi1tYWludAorNzcwMDkgNDI5YTNlMzhlNDZiZjVkNzg1NzNmN2EzYzM4ZWUzZTY2N2QwNzRlOSBweTNrCis3NzAxMiA5M2Q1Y2RmMWM0NTczZTg2YTQ5MzJkZjdjNGViYTI5ZDc2NWJmNzU2IHB5M2sKKzc3MDEzIDNhNzM2YWQ2NjFmYjY0M2MzODNhYWY3YmE1NDE4YmNlMDNkM2Q5NGMgcmVsZWFzZTI2LW1haW50Cis3NzAxNCAyNTE4NjBkYjM0OTNmMzhjYjgwN2Y5N2ZmYWZlZTBhODMxYjJlMzNhIGxlZ2FjeS10cnVuaworNzcwMTUgMjQwMDZjYTU2MmQ1YWI5NWNmZWQ1ODU3Njg0OTQ0YzJlNzY0OWE4YiByZWxlYXNlMjYtbWFpbnQKKzc3MDE2IDRhYTBkODE2ZWU1YmEwNWQzNWMzMmQxODI4N2Q5ZTNhODVjZmMxMzggcHkzaworNzcwMTcgODAyMWI5MGI1NmVkYmI3ZjQ4Y2FlNDJlMzQ2NzAzNDUyNzM0YmQzZCByZWxlYXNlMzEtbWFpbnQKKzc3MDE4IDFjNGU4OTUyMTg0N2UwMDM4MjIzOWIyYWZjOTNjMjk4ODhjZjliYTEgbGVnYWN5LXRydW5rCis3NzAxOSAxM2UyZjhhNzQ5YzQ2NDIwYTliMGEwZTU5Yzk1ODg1ZTA5NTdhNDkzIHJlbGVhc2UyNi1tYWludAorNzcwMjAgODg2Mjc1ZmZhZmQ2YjNjNjU2MzhmNmRiZTljMDZhNjc0YjI5ODUyNyBweTNrCis3NzAyMSBlNzU3ZmE3Nzk2MDFmNTA1M2U0MDJiOWJhYjMyYTU4OTYwYWYxN2FmIHJlbGVhc2UzMS1tYWludAorNzcwMjIgZGYyY2ZjZjlhMDczOGUxZWE4NDE3NTJlNTAwYTQ3OTQ5ZGI2ODFjNiBsZWdhY3ktdHJ1bmsKKzc3MDIzIDFmODZlMGU0Njk2OWZhNDIyMzEzZGM1M2ZjMTIxOGQ5OGNmNzExNWMgcmVsZWFzZTI2LW1haW50Cis3NzAyNCA1NTk0MjUzMzMxNzg3ZTEyMDQyMDlkNGNiNTQyNjMwODZlYmVkN2M5IHB5M2sKKzc3MDI1IGQxZjFhMDU5MTU0YmE5ZjEyMzA4MTRiYTdjMTdjYTNmMTI5NDRkMDUgcmVsZWFzZTMxLW1haW50Cis3NzAyNiBjYTI0ZWExYTJhZTJlZDg3MjYyNWFhYzQ0OTkzYjQ0MTg1ZDY5MTVlIGxlZ2FjeS10cnVuaworNzcwMjcgMWRmNzNiZjM4YzU1Yjg1N2RiODAyMTFiYTQxZmE4YjRlMzcxMjc0NiByZWxlYXNlMjYtbWFpbnQKKzc3MDI4IDM1ZGU1N2Y1MTU5OTU3MzQ5NGNmN2EyZDhlNzI3NWI2NmE3NmJmZDkgcHkzaworNzcwMjkgNzFlNmEwZGZhZmM4NDcxNmY0NjdlOWUzMzIxOTRjNzUzMzllOWVmZCByZWxlYXNlMzEtbWFpbnQKKzc3MDMwIDlkYTBjZjJkZmZjYzllYTU4YzUyMDE5NzE0MTA5Y2FkZTE2NmQ1OWIgbGVnYWN5LXRydW5rCis3NzAzMSBhYWViNjViYWIzYzA1MWZiNWJiOGQ0OGUzYmVlMjQzN2M5YWFjNjVkIGxlZ2FjeS10cnVuaworNzcwMzIgOTRlOTU3Y2ZkYTM4M2FmOThmOGQxODg1MmExNmNjMGY1YzBlMjBjOSBweTNrCis3NzAzMyA0NjM3MWIyOGZkZDExODUxY2U1MDE1MDE0NDA3YTUzNGY4NjJhNzkxIGxlZ2FjeS10cnVuaworNzcwMzQgYmM1ZWM1MGM1MGY5ZWFiMzMzNDU3NDAxY2Q1M2YzNmU2MTEyNDA4NyByZWxlYXNlMjYtbWFpbnQKKzc3MDM1IDNjNDEyNDQ3ZWZiMjAzMGI0NjY1ODViNjNiNDU5YzU2YjkzMmUyNDYgcHkzaworNzcwMzYgZTdkY2M3NDg1ZDBiZDgxYzU4ZjgxMDdhMDRmZDdjYzRkNDAxYTExYyByZWxlYXNlMzEtbWFpbnQKKzc3MDM3IDA4NTU4MTg4NGU2ZjYzMjJlYWNkMTRiNzVjYjkwMDZmODUzNmI5NDMgbGVnYWN5LXRydW5rCis3NzAzOCA4NzBhNDZjOGE2NzA1ZGIyOGNkOWM4ZmE2MDc1YjgyOGI3YWRjZDE0IGxlZ2FjeS10cnVuaworNzcwMzkgMGVmOTRkYTc1YmZkYTZkNzNlODgyNzc5YmMxMzVkODU1ODczY2EyZCBweTNrCis3NzA0MCA0MjdjMjE0M2UyYzliYTFmODdjOTYyMTc3NTE0NzliN2Y3ZWM0OWJkIHJlbGVhc2UyNi1tYWludAorNzcwNDEgODQyNjM0Mjc2ZDAxMWRjYjFmNDJmMGNhM2I0NjNiZjFhZjE5NWIyZCBsZWdhY3ktdHJ1bmsKKzc3MDQyIDNiODZiMjNjNThmZTQ0MGJiMGQ4OGMyN2UyNDMzNjMyOGQzODk2NTcgcmVsZWFzZTI2LW1haW50Cis3NzA0MyA3MjYzMjNmZDg3Y2E1MGM2MDg5NGU4NTc3NTJhYmYxZTZiZTEyMGU4IHB5M2sKKzc3MDQ0IDM0MzRlNmIxMWE5MjE4ZWU4ZWFlZWM3YjViYTRkNTIxNWIzNWMzY2EgcmVsZWFzZTMxLW1haW50Cis3NzA0NSA4NjM4N2I4YjlhZjhiOWQ1ZmY2M2FiMzhhMzk4ZjNlZmZkMDc1MzA5IGxlZ2FjeS10cnVuaworNzcwNDYgOTQyNGI4NGEyZWM5NTJhMzBiOTQzMDJmZThjNzdhNDkyYjQ2ZGMyMiByZWxlYXNlMjYtbWFpbnQKKzc3MDQ3IGY1NjBlMWE3NzQ0ZWZhZDYyYjk4MmI5Njk3MzVjODcxNjM5YzVmYjUgcHkzaworNzcwNDggOTYyOGViN2U5OGRmYjc4MDEwYTY3MDNhMDk0NmUwMWRkMDFiNGMxMyByZWxlYXNlMzEtbWFpbnQKKzc3MDQ5IGRiNzk2NTY3MTA5Y2I0ZWNlZmUyOTY0ODc2YjJmZjI2Yjg0OTVmN2IgcHkzaworNzcwNTAgNmNhMWI5Yjc4YzNmZDc5YmI3MWY3MWY2OTA4YTFjYTlkYTYxOWE1YiBsZWdhY3ktdHJ1bmsKKzc3MDUxIGU1YzRjOTcxMjY2MWFmM2UyZTgwNTI4MmRkZDlmNjU1YzkwMGRlYjEgcmVsZWFzZTI2LW1haW50Cis3NzA1MiA0OWRmM2NmOTE5ZjdkYmNlZmZkMjViOGMxODk4NzQyZjM4MjEzZThlIHB5M2sKKzc3MDUzIDIxMDYxMTJmNWIwNzYzOGVjYjRiOGY5ZWE1YTBjZTRkY2I1YzI4OTEgcmVsZWFzZTMxLW1haW50Cis3NzA1NyA1ZGM1ZDZjNmY2NDE3ODk4MzZjZTU5ZDRmNTNjZTdmMzYwYjFlNGYzIHB5M2sKKzc3MDU4IDY0Njc2NDk5NDEyMDA5M2QwMDZhNjJlYjUwZDlhODMwMjZiMDdhYzAgbGVnYWN5LXRydW5rCis3NzA1OSAxNTEyOWM4MGIyZmVkN2M1MDA0MjRjNjAxNDRkNWM3YTFmN2QwNjkxIHJlbGVhc2UyNi1tYWludAorNzcwNjAgNjg4MTFkZmU3MDZjZTk0ZDMxZTQxZWEwNTRjMTY5Y2RkZWU0ODgyNSBweTNrCis3NzA2MSBlMzcyYTgwNTZjOWQ1MzdkNmZkNDk0MWFmNTEwNjU0MjAxODdjMmUxIHJlbGVhc2UzMS1tYWludAorNzcwNjIgYzRlNjA5ODg4MzRkZjBmZDQzN2FlMzQyMmRhMGNhYjRhY2Q2ZmNlMCBsZWdhY3ktdHJ1bmsKKzc3MDYzIGFhYTVhYjdiOTQyYThlNDQ1M2YxMzEwZGNhZGQ5YzVlNTdiMDA2YmYgcHkzaworNzcwNjQgNTYwYjg3NjY5MTlkNWQxNWM0NDJhMTJjOTk5NzlkZmI1MWEyZjgyYSByZWxlYXNlMjYtbWFpbnQKKzc3MDY1IDIyOTA3OGU0NzAxMGM4YzhhN2JjZDA3OWM4ZDA0ZjdlOGEwMzkxNmEgcmVsZWFzZTMxLW1haW50Cis3NzA2NiBlYjBiYmFiYTAzNjFiNzQ2ZmJhOTcwZWRiNTg5OTU3MmM5YjBmN2YxIGxlZ2FjeS10cnVuaworNzcwNjcgZGQ2NzI2Yzk3OGM2NjY5OGY0ZDY5MDUzOGQ4Mjk2MmQ2NmUyYWVjYiBweTNrCis3NzA2OCA5NTcyODkwMjljMDUzNGU1ZGUyNGZjYTkyNzJjYWY4MGZjMjYyNDg4IHJlbGVhc2UyNi1tYWludAorNzcwNjkgODVlNzgxZjU5OWJjOGE5NGY1NjdiMWEzNjQwNGZjZGFkZmIyNzExYSByZWxlYXNlMzEtbWFpbnQKKzc3MDcwIDhlODJmYjA0M2FlODc4NTllOWRjYjVmZTAwYTcwMGRjODUxMWQxOTEgbGVnYWN5LXRydW5rCis3NzA3MSBhZDdlNDE0MWEzZWI4M2Y4NmM2YzU2OTA0MGRlMzUzYjE3NTQ0NGQ1IGxlZ2FjeS10cnVuaworNzcwNzIgNzMzNjViYjI2ZmQ2NTBjYzA0NjBjZjM1ZDcxZmQwYjZiMTg4ZWZjNCBweTNrCis3NzA3MyAxZTM3MTgwZWVjYWVhNDQzZjE0OGY0YjM3OTBiYjYxNGJkNWNjM2ZhIHJlbGVhc2UyNi1tYWludAorNzcwNzQgNWE5MzcxMDE3ZWRmOWExYTUwMTNmZjhhMDFkMGE5YWVmM2VkZWEwZSByZWxlYXNlMzEtbWFpbnQKKzc3MDgxIDUyNWY2N2JlZWI4OWM3ZmEyMGNhZmM5ZTg3MTg2ZWUwMDExMjY3YWEgbGVnYWN5LXRydW5rCis3NzA4MiAzMDc0MWVmNjU2MTczOGRmNzBjYmUyNzU5ODc1MGRlNDA0ZWNlMGJhIHB5M2sKKzc3MDgzIDU3NDMzYjgzM2IyYThkZjM0MTE0NWVkMGUzMjlkOTljNjNjNTFmZjEgcHkzaworNzcwODQgY2JlMWJiZTU0NGM5ZTQ2YmRhMTU3OGYzNjBiMTczMTVhY2M5NDMwNiBsZWdhY3ktdHJ1bmsKKzc3MDg1IGExMWE4ZTUzYzQ5NWNlOGJjNzcxMjM1NWRiZGY1NmQ4ZjVjYzQ2N2MgcHkzaworNzcwODYgZmUwNDU5ZGM5ODg5ZjkzNzZlNmRlMWE1MTQxMzNjOTA1MjkzOGUzMCBsZWdhY3ktdHJ1bmsKKzc3MDg3IGZmZDgwMGVmNDZlYTA1NGU5MmVmYjQ5MDZjZDI3ZjE0MzE2M2U4ZjYgcHkzaworNzcwODggY2YzOWM1ZTQ2MmY5NGJjZTU4MTViMmQ2OGIwYmFiNTNhZGY1YmFlMiBsZWdhY3ktdHJ1bmsKKzc3MDg5IGMxOTcyZWVmMzU3OTVjZTJkNGExMzEwNDIxNzNmMjg3YTExZTNlMGQgcHkzaworNzcwOTAgYzE0YTAxNGFmOTU0ZWJhY2YwNDBjNjljNjRhNzA1MWMxNjNlYmVjYSByZWxlYXNlMzEtbWFpbnQKKzc3MDkxIDVlODRhYmZkZmVhYmQ3NWE1MTVjNDY4YTE4YzNlMjE2ODgxZTFiMGMgcmVsZWFzZTI2LW1haW50Cis3NzA5MiA5YjRiNDNhOGM5MTMwNTk1NTBmY2Y4NmU1Yzg3YjhlYmQwODBkNGMyIGxlZ2FjeS10cnVuaworNzcwOTYgMzc0MTkxZTEwYTQ1YmU2ZDU2ODIzYWNhMTc2ODljZGIyZmFmYWRhMyBsZWdhY3ktdHJ1bmsKKzc3MTAyIDVjOGM0ZDJmOGI3MTIwZDFkZWE4Yjk1MWM5Y2EwZGI5MDg0YzM3NjEgbGVnYWN5LXRydW5rCis3NzEwMyBmNzY0ZTQxMjZhMjMxYmEwYjdjYzY4YjViZTQ4ZDEwNTdhZWY3ZGRmIHB5M2sKKzc3MTA0IDNiNDZmMmQzYjc1ZDAyZjM1NmMxYWZiZWNhM2ZiNWNhZmQ2N2E3ZDIgbGVnYWN5LXRydW5rCis3NzEwNSBlYzhiYjE1MTRkNjcxYTYzYmQ3YzczY2IzNWRlYmRjOTYwMGVmM2ZhIHB5M2sKKzc3MTA2IDE1ZWFjNzY1Y2MzNWQ5NGQxY2E5ODc0NjA0MjEyYjUwZTZkODVlYWQgcHkzaworNzcxMDcgMDQ5ODAyNzcxMmJmNDJjMzBkNzJiOWM2OGVkOTM1YmVkZWE1MmY3MSByZWxlYXNlMzEtbWFpbnQKKzc3MTA4IDNhZWE1N2RjMjFhOWIxZDNiODYxNDhhZjUwZGNkZWI4NzgwMWRjZTYgbGVnYWN5LXRydW5rCis3NzEwOSAzOGY1OTNhODNjZmM4NDIzZjQ4MGQ4ZDZiOWExMzZkOGRlOWZhNzcxIGxlZ2FjeS10cnVuaworNzcxMTAgOGFkMzM5OTIyMDJhZWEzYTZhMDE3ODJlMDIxMzEzNTI1OTNlMzBhMiBweTNrCis3NzExMSBhYmU1MDA4YjkzZTlhNGM3MzJlYzUzMTRkYWRkNjU4NjIzNGI0MTI3IGxlZ2FjeS10cnVuaworNzcxMTIgNjFhNzcwZjdiOTUxYjNmOTIwN2U3ZDY2Yzk4ZTRjOTAwY2JhOWUyZiByZWxlYXNlMzEtbWFpbnQKKzc3MTEzIDU3NDU2ZjE2OTQyZDk5MDBlOTQ1MzY2MDZkYTgyZGViYWRkYzU5NGIgcHkzaworNzcxMTQgNzBkNzQ3M2FmY2ZlZjY3Yjk2NjJkYTJjMWNjNTRjMWNhNDJlN2ZmMCByZWxlYXNlMjYtbWFpbnQKKzc3MTE1IDcyMzNiYzM0ZmQ0NGUyODhmYmU2ZTE1ZmRkNzM3ZjllNTI5MjFjN2YgbGVnYWN5LXRydW5rCis3NzExNiBlNDg0ZmRhNDYyYTYwYjcwMDYxMGRhYjg1OTgwYjgyNmU3YWVlYWE4IGxlZ2FjeS10cnVuaworNzcxMTcgYmQ2YjAzZmI3MWEwNjQ2NjliMGE4ZDIyZTA2ODU2ZjhiOGMzNzJmMCBweTNrCis3NzExOCAyNTllZDVjYjkzZWFjZGZjNDkxMGJhMTNhMjQxZTMyYWY1NzY2MTI2IHJlbGVhc2UyNi1tYWludAorNzcxMTkgZWFmYTA1M2FmMDU3MGRiMDdhYjc0NTVkNTlmMmFlNGRhNzc1NTNkZSByZWxlYXNlMzEtbWFpbnQKKzc3MTIwIGViZDA2MTgzOGZiMTc0NTVmOTg1ZmJjNTZkMzMwZTZlNTgxOTBmMzMgbGVnYWN5LXRydW5rCis3NzEyMSA1ZTBhOTQ3MTYwMWY2MzQ5M2JiZmRhZTk4NGJjNDc3NWViNTU4MjdmIHB5M2sKKzc3MTIyIDhjNjBhOTU1ZDAyYzBhMmQyNDk4NmI3Y2M1MjhkN2RkODVjZjU1ZGYgbGVnYWN5LXRydW5rCis3NzEyNCBlM2Y1OTE0ZDliYjNmZWE3Zjg5YzU1YzVmZDMxYTZkYTcwNThkNjZlIHB5M2sKKzc3MTI1IDIzZjQ2NzE1MTc1NmE3YzgzZTg3MzVmMTEzMTM3YWYxMmRhZjBlYTYgcmVsZWFzZTI2LW1haW50Cis3NzEyNiBjNTAyZWMyNDM0NTg4YjhiY2U4MDk5NmM1YmIxYzAyNzNlNjk5MWU5IGxlZ2FjeS10cnVuaworNzcxMjcgNzkwZThmY2Y1MTc5NWYzMmFhNThkZjllMmY1ZjkxNzY5ZDZhZWI1NSBsZWdhY3ktdHJ1bmsKKzc3MTI4IDZmZGUxMWY0ZDg0MjY2NmYzMTllYjg4NzNlZDQ1YzA3OTVlY2RlMWYgbGVnYWN5LXRydW5rCis3NzEyOSBmYjY3MWRmMGY1Y2M5NjZhODE3MzUzZWY5MzdjYWI2NTFjZTk1YjI2IHB5M2sKKzc3MTMwIGU1M2U1NTI1MmJhODRiY2UwZTliZjEzM2UwYmJlZDA2MTFkNTRkZmUgbGVnYWN5LXRydW5rCis3NzEzMSA5MmE1OGI4MDEyMjA2NzMzNDk3N2E1OTBjZjgxZDMwY2EzMWJiMDQ2IHJlbGVhc2UyNi1tYWludAorNzcxMzIgMTlmMjM1OTk0NGViNDM1ZDFiNmU1Mjc2NDU5NjI1ODViMTUwMjUzOCBweTNrCis3NzEzMyAyNDRiOTc5ZDU0NGMxMjQ4NDY0MDE4NmU5YTc0MzUwNzkxNDBlMDA1IHJlbGVhc2UyNi1tYWludAorNzcxMzQgZDRhYzNhODAwMGM3NTE4OGQwMjlkNzUxMzljN2I1MjBlN2U5NGIzYyByZWxlYXNlMzEtbWFpbnQKKzc3MTM1IGE3ZjZhNTNkYWExMmQxYjVjNjU2ZmJlMzdiOWQyNWRkYjUxOTNjZjAgcmVsZWFzZTMxLW1haW50Cis3NzEzNiA0ZjA5ODhlOGZjYjE1NmRkZWJjNDQ5ZWQ0MTFhNTMyMDk1ZTgxNzYxIGxlZ2FjeS10cnVuaworNzcxMzkgYWM1ZmQ4OTA5OTk4ZmVkOWY2MjhmNWM1Y2NhMjlhZDZjYjAzMzE3ZCBsZWdhY3ktdHJ1bmsKKzc3MTQwIDM4NTdjZDRkNWIzNTk3M2I1YjkzMzIyM2I5ZTI2YWMyZThjNDdjNTYgbGVnYWN5LXRydW5rCis3NzE0MSAyYWEwZDlmMDFkNDc1M2I1NjUwOWNmNWUwOWIwYmQ1OTZlYzczOWFkIHJlbGVhc2UyNi1tYWludAorNzcxNDIgNjI0OGI3ZmRlYzBkYmI1OWY5ZDdhNDQzNzE2NDczNzA1ZTViMDRkYSBweTNrCis3NzE0NSBhZDYwOWQwZjUxNTA5NzQyYTE0MmZlZWFhYWFlMGFlOTMzYWU1MzMyIGxlZ2FjeS10cnVuaworNzcxNDYgNzQwZGJhZTJlMzBjZmZkMDEyMDRkODNiMjQzYzdjZWI5ZmM2ZGI5NyBweTNrCis3NzE0NyAxNzRhMjhjOWZiNDA3MDI1MGYxZGUxMTRhNjkwMTlkNWFmNDYwZDkzIHJlbGVhc2UzMS1tYWludAorNzcxNDggNWFkNWExZDYxMmU1ZDE0OGM3ZWY1Njk3ZTEyNjJiNDQzYjA2MzdjMiByZWxlYXNlMjYtbWFpbnQKKzc3MTQ5IDljYjI3NWRiNGQ2ZDU4NGMxOTJlZWRjZTI2MTVhMWU1Zjg4ZDUwZjYgcHkzaworNzcxNTAgMDBmZTY4OWYyYjc4ZDU1YzUzNjIwZjkwYTVjZTJkODY4NWYzMjkyOCByZWxlYXNlMzEtbWFpbnQKKzc3MTUxIDhkOWM5MzQwYjEyZTE2YzhjMzU1NTBhYTM1Yzk0N2I4ZmUzZjIzNGEgbGVnYWN5LXRydW5rCis3NzE1MiA3MzYxZWUyZGRmZGI3YTQ0MGViNTNhYzI0YTUzYmY2MTRjODNlOTg3IGxlZ2FjeS10cnVuaworNzcxNTUgZGI2Mjk3N2M1NzEzZjkwYTdjZTdjODA5Y2MwN2RkODA3MWY1M2E0MiBsZWdhY3ktdHJ1bmsKKzc3MTU3IGFlMTljMjg3ZTljMGY4NTU2YTFlYTRhMmU3MjQxYjQxM2I1NjQ5NTUgbGVnYWN5LXRydW5rCis3NzE1OSA5NmEyMzcxYjExNGI5ZGNhY2VjMmIxMTRjYTM3NDMyNWJkMmRhN2FmIHJlbGVhc2UyNi1tYWludAorNzcxNjAgODFjZjI0ZTVjZTkyOGU5YzkwM2E5ZTYzYWI2NDNhYzI4MDU5YmE3ZiBsZWdhY3ktdHJ1bmsKKzc3MTYxIDZjMTlhNmE2OTdhNjExZDRjYTZkMTMxYjUwMmFhZTA5ZTYwZGZlMDMgcHkzaworNzcxNjIgNDZmNGI3YjViNGRkZTQ3ZWE5YjVhYmRlYjNhNjA5OTE2YTQ0MzY1YiByZWxlYXNlMzEtbWFpbnQKKzc3MTYzIDhkYzZkZmE0MWZkNTY1Y2VhYzc2MWZlZjFjMGI3ODViNWViZGQ1ZTIgcHkzaworNzcxNjQgMjUyODU4MmQ2OGY2YmY2OTY2NDJiYjVjZTdkYmNiNjU5ZjcwMGYzMiByZWxlYXNlMzEtbWFpbnQKKzc3MTY1IDM2YWVkOWUzNjQyZGM0ZDMzNjc4ZTdhZjU2ZTJkYjQxMjA2ODgzYzMgcmVsZWFzZTI2LW1haW50Cis3NzE2NyBlZmE1OTc2MzMwMTBlZmUzYzhiMzZhMDQxNWNmODkxODk4NzdhNDljIHB5M2sKKzc3MTY4IDk4MGM3OWZiZDRjNWRmNDVjYzJmMTNmYzkyYjIxNWZiZTg2NTM4OWIgcHkzaworNzcxNjkgOGZlZTJhYjUzZTcxNmFjZWM5ZmQ5NzZmODg4YTZiYmI3MGFhOTAzZSBsZWdhY3ktdHJ1bmsKKzc3MTcwIDIyOGJiYTJkMWYzZjc1MDg2ZjcxMmFkZTcxZTMwODQzZjQ3OTEyYzEgcHkzaworNzcxNzEgZTA3ODU3OTk4NGE0ZTRmYzEzODI5YTc1ZTM2MjUwYjUwY2YwMmNmZCByZWxlYXNlMzEtbWFpbnQKKzc3MTcyIGIzZDM3ZWI5NjMyMjM1NDYzMjYzMzI5ZjU0YzFkOWVhMjNlOTdlMmUgcHkzaworNzcxNzMgNGQ2ZDk1MmZlMjg4MTE4MzM0NzIwZTExOGM0Mzk0MGI0NTI2NzM2NCBweTNrCis3NzE3NCBkNTJhNzE3OWVlY2VlMmVkNWM4NmY1OWU2MDlkNGIyZDU1NjUzZDIzIHB5M2sKKzc3MTc2IDQ0M2Y3MWRkNWNmMDJhYmQ5NTE0NzM0YjUzNzIzNzc3MWUxMjU1ZTggcHkzaworNzcxNzcgYTkyZjBhMGFmZTU2NzQ5OWQ4YWMyZGUyYWJiMGVlMGExZmM0ZDVmMCByZWxlYXNlMzEtbWFpbnQKKzc3MTc4IDM4NGE3YTM3MDlkYzhmOWUwZWQ4YTY4MmZlNmQxZjI3MmUwM2VmNzggbGVnYWN5LXRydW5rCis3NzE3OSBiZjk3YWNmOGVjYjE4NzBjMWRmOGMwOWRkZjlmNmMyOThiMGQ5NTY0IHB5M2sKKzc3MTgwIDdjNjMwOTMxY2M4MzFjN2U2Yjc0NDQ5YmUwZTVkNjFiYTk0YjZlZGEgbGVnYWN5LXRydW5rCis3NzE4MSAyMzZkY2YxNzFiNzQ2ZjIyM2QyZWQwNGU0ZGQ4N2I5MTc5NjYyNTM1IGxlZ2FjeS10cnVuaworNzcxODIgMWU5MmZlNTkzOTE2ZGMwY2UzNjMzMGViMDQ1YjY5ZDViMDI1NzA0ZCByZWxlYXNlMjYtbWFpbnQKKzc3MTgzIGRiYWE0ZWVlYWViOGQyNmZhOWQxZDA2NzIzMGI1YWFmZDY4YTBkYWQgcHkzaworNzcxODQgNWFmYTE2OTE0Mjk1ZTVmN2Q2ZDQ4NWFmMTllYjkzMDg0Mzk2ZjJhMiBweTNrCis3NzE4NSAyNWFhNDNlNDMwMmJmNWRiM2MzOTJlZWFjZWI3MmUzMmFmNjkzOThjIGxlZ2FjeS10cnVuaworNzcxODYgN2Q2YmZmNzIyMTk1MGZlOGQyMmQwYmMyMmY2YTkyYWIzMzAxYjBkMSBsZWdhY3ktdHJ1bmsKKzc3MTg3IDg1NmE0NWMwYjZjNDFjNjU4ODZiNzBjNzJlMzEyNGZjOWRkMDY5NWYgbGVnYWN5LXRydW5rCis3NzE4OCA1YjQ3MTg0N2Y2ZWE2ZWM3MzdlM2JjYjkxZGYyMDBiNTAyODNkNjA3IGxlZ2FjeS10cnVuaworNzcxODkgYWI0MGI5MzZiZDFjMTQzMTc4NjQ4OTk5NzgwZGFlYWEyZWUyMzRkYiBsZWdhY3ktdHJ1bmsKKzc3MTkwIGU2MmJlMDg0NzhiY2RhYjY4NDhlYzk3YTBjMWZkNWUxYjFlNjI5MjQgcHkzaworNzcxOTEgMTY2NmVlOGRhZjliMTI0OTMwMWFmZWNmMDY4YWI1ZGQxM2NiODVjNiByZWxlYXNlMjYtbWFpbnQKKzc3MTkyIDUzMTAwZGIzNTEyODRmN2I1MGViNzZkMWQwOTM4YjUzMjgxZDZiNGUgcmVsZWFzZTMxLW1haW50Cis3NzE5MyA4NGIwMGU2YmQ2OWIyMWZlM2Y0YjRmMjIwMTYzZDhiZmQ3NDZhMWYyIGxlZ2FjeS10cnVuaworNzcxOTQgNjIxMmVkYzIyY2JkZjhjZTlhZGRiMjU0ZmU2YjczYjFmMDdlODAxMiByZWxlYXNlMjYtbWFpbnQKKzc3MTk1IGJhYmZjMDYxMjEyYzE3NDNmMzExNWFmZGEzMTc3MWFlYTFjODA5ZTggcmVsZWFzZTI2LW1haW50Cis3NzE5NiBkOGU2NGE4NDQ3M2NkZDU0YTljMTMxZDI2N2MwYmIzMjU1N2MzMTJmIHB5M2sKKzc3MTk3IDNlMjJjN2U5ZjMwN2NiMWM5M2Y1MzhkYWUxOTg1YmY2ZmMyNjg5N2IgcmVsZWFzZTMxLW1haW50Cis3NzE5OCBlNDU1M2I2MDdiNDNkZmMxN2NiMzRjMzgyNDQ2MTIwNzcwMzg5NGFmIGxlZ2FjeS10cnVuaworNzcxOTkgNDJjZmI3MjdmZjQ4NWE3OGZiNTM5MjFhYjA4ZGZjOWE0NmE5YWFlYSByZWxlYXNlMjYtbWFpbnQKKzc3MjAwIGUyMjYxYjYxZGYwNjYwNWIyYmQ1YjQ5MmZkZDUxNjZlZDEyNDE3MjEgcHkzaworNzcyMDEgNzFiYjg0MmI3OWFiMmUzMGE2MGVjNDhiYjc1NmE3M2Q2ZmQ3NDlmZiBweTNrCis3NzIwMiAyMTJhNzIyODY0YTFhZTg3NzRmNTJhOTI2ZmQ5MTFjNTZhMTgwN2FjIHJlbGVhc2UzMS1tYWludAorNzcyMDMgMGJlNDViNWNmMGQ2M2RjMzI0YmY3NTQ5YzViM2FlMTI0NmE5ODA3ZSBsZWdhY3ktdHJ1bmsKKzc3MjA0IGZjZTY2MTEyNDFkMTA5MmNhMWI3ZDZlMzM1NGE2Zjg4MDIyNWRiNjggbGVnYWN5LXRydW5rCis3NzIwNSAxZDBmZGU1OWRkZWE4ZmE0ZjFkMGI2ZmYzYTJmMDE0NmY1OGZhMGI5IHJlbGVhc2UyNi1tYWludAorNzcyMDYgNjhhNzU0YWJjZmI2OGIzYjAzMWNhNjlhZDRiOGI4ODI2NzJlYTZhYiBweTNrCis3NzIwNyBjMDI2YjkxMGE1ZTQ4NjVlZTJmMmE4Yzk1NzIwYjY0NDQ3MmU5YTE5IHB5M2sKKzc3MjA4IGZjNzVhOTk4YWRiZmVhNzQ3NTM5OTQzNzkxOTZjMmIyZjgyZTRhM2MgcmVsZWFzZTMxLW1haW50Cis3NzIwOSBhZGI5MjFmMDRiODc3NTc0MDNmYWI4YmIyOWIzMmRiYTUyYzg4ZWYzIGxlZ2FjeS10cnVuaworNzcyMTAgZmYyYWJiOTRjNjhlYmY1MmUyYTU5YmZlNzQ0M2FkM2NlMzExODNiZSB0YXJla19zeXNjb25maWcKKzc3MjExIDlhNTViMTE3M2QyMDA2YzQ2ODRiZTE5MjZlMWZmNDJkMDc4NDNmMDUgdGFyZWtfc3lzY29uZmlnCis3NzIxMiBmMDI4ODEzMzIzNDJhMWE3NmYwMzcxYjAwMTU0MWEyMjI5OWVhMDFiIGxlZ2FjeS10cnVuaworNzcyMTMgYmFhNzBkNDFjOWJkYjViZWQwZDc0ZGMwOTlkNjEwMzg3MWRmMjM5NCBsZWdhY3ktdHJ1bmsKKzc3MjE0IDk0MThmNGIwMTA0NTFmN2I0ZDFmZDAyYjVlYjAwZmI3ZjkzNDJjNzAgbGVnYWN5LXRydW5rCis3NzIxNSBjMzUwNzVmMmE4ZjMwZTVhZmRjM2JlZWY5ZWZmZDYwYWE3MWVhZGM5IGxlZ2FjeS10cnVuaworNzcyMTYgYjBkZDZjMjFkY2JmNDQ4M2IxYjA1ZWI1YWIwNGE5YTU0ZGMwM2IyMSBweTNrCis3NzIxNyA0ZmZiOTMzODkyNTY4Nzg3YWYxMzUxODY5NjZlNGRiZTNlOGQyNzY3IHJlbGVhc2UzMS1tYWludAorNzcyMTggMmRlMjRiYjMzY2M1N2M1MGNmYTY0YzA1NDIwOTdhNTNhZWUyZDcxZSBsZWdhY3ktdHJ1bmsKKzc3MjE5IDEzOTRhNDAzZGM4OWU1YjQyYWI0NDJmNjI3NjE2MWM5ZGFlZWMxODMgcmVsZWFzZTI2LW1haW50Cis3NzIyMCA3OGNhNjljZmM4OTc4YjczOTk5ZjNjMTQ0NTY0YTg5MmExNjg0NzA5IHB5M2sKKzc3MjIxIGYwOWViOTJlZDBhYjJhZjU1MWE2N2IxZWZiMjEyZjFlZjEyMzMyMTggcmVsZWFzZTMxLW1haW50Cis3NzIyMiBhYzUyOGE4YTM2Y2Y1YzUzNDJjODNjNzY5NGU2ZjNiNDQ4NDQ4ZGMzIGxlZ2FjeS10cnVuaworNzcyMjMgNzQ3YjAxYTA1MzAwNjg3NmMzOTg5YWEwMjU4NWJiMTdmODFjMzAyYSByZWxlYXNlMjYtbWFpbnQKKzc3MjI0IGE3MjhmYTQ4MWFkNDM4ODc0YWU2M2UxYTZkN2NhZWFjYjU5Y2JkNzUgcHkzaworNzcyMjYgYjVjMWNmZGM2OGI5MjlmNDQ5YTVlNWVhNjZjYjBmYzg2OTYzZThiMyBsZWdhY3ktdHJ1bmsKKzc3MjI3IDZjOGMwNDBjMTQ0M2I3NTJhMmM2NDgzYzUyY2YwOTMyYzYyODEzNDEgbGVnYWN5LXRydW5rCis3NzIyOCAxOGJkMWM2N2Y1ZTJkNGJmODExNjE1NWU2NTVlODdiN2E4ODdjMDIzIHB5M2sKKzc3MjI5IGI4ZTM4ZDBhNTJkN2UxMjc4OGIwOTJkYmIzNTk0ODQxZjhjOTJmNTYgbGVnYWN5LXRydW5rCis3NzIzMCA2ZDE3MDI1Yzg0YzE0ZTRhOGYzMWViNDNjY2FkN2UxZmMzNTA2YzA3IGxlZ2FjeS10cnVuaworNzcyMzEgZmM4N2EyZmM0N2E1OTVlYWJiNTZmNWQxMTlkNTgwMDgyNDZmYjAyMiByZWxlYXNlMjYtbWFpbnQKKzc3MjMyIGJkMjRlMWU5MGY3Y2MyNjZmZjhiMzM5ZTk1MmNmNjkyMDliODVlZTggcHkzaworNzcyMzMgYWRjOWNkYzAyZGYxMDA5Yzg4NzM0NmUyN2RhZTQ0MTU0OTRhZTE1OSByZWxlYXNlMzEtbWFpbnQKKzc3MjM0IDI3Yzk0NmZmNzZhM2E5MmM5OTA5YmE4YzM5NGY1YjI0M2M2OGQyZTIgbGVnYWN5LXRydW5rCis3NzIzNSA1OGE1YmI5NzFlOTUyYjdhNWU2OTI0ODE1NzdiOWFjZjI2ZGI1NDM2IHJlbGVhc2UyNi1tYWludAorNzcyMzYgYzJmYjA3NzQyNDQ1Y2Y4OGZmZWFkMWY0MjQ5NGE2MDY2YTEyMWU5ZCBweTNrCis3NzIzNyA0NmQ2MGU1ZmYxMDNlOTVjNDUxYTE0NDU0ZWUwOTM3YmM1YTAyZjQzIHB5M2sKKzc3MjM4IDM5MGQ2NzRlZDRjNzMyNDc4NjM4OTljMzBjZjcyODcyMWQwNGMxYzAgcmVsZWFzZTMxLW1haW50Cis3NzI0MSBkZGY2MWNkNzc1ZTAxOWQ0YmYzY2E5NzM4MTRkMmI1ZjFjNWMzYTBmIGxlZ2FjeS10cnVuaworNzcyNDIgNjI2M2E2ZmJmN2Q5MzQzZjg1Y2YyNTRlMGNlM2UyMDRjOWVmMzVjMSBsZWdhY3ktdHJ1bmsKKzc3MjQzIDJkNWFiNGQwOGM4ODUwYjRmYTdmYmQzMWE5MDhjMTYwZDEzN2FmODMgcHkzaworNzcyNDQgYTMyNjYxYjMzNGY2NzY4MzgzOWEzZWYzN2RmNjk0ODM0YTgyYWQ4YSByZWxlYXNlMjYtbWFpbnQKKzc3MjQ1IDMxMzI2NWQ0ZTAzMjgxMmVmYzc4MDNlYmI1YjM3NmE2ODFhMzdhNTkgcmVsZWFzZTMxLW1haW50Cis3NzI0NiBhMTAzNWNiNGE5MjVmYzgyMTc5ZTQ2ZDQxN2VhYmU5ZjkwZWNjNTQyIHB5M2sKKzc3MjQ3IGY1ZTQ5NmE4NDE3ZjMxNWM0YTNiZTQxOGY2NTU3YTdlOGMxNjQyYWEgbGVnYWN5LXRydW5rCis3NzI0OCBhNmFjZTMwY2I5MTIyNGE5NWEyODE4NWVlZmZlYTEzMjNkN2RmNDI4IHB5M2sKKzc3MjQ5IDRhY2Q4ZmFlYTJkOTMzYjQ5NzcwMzkxNGMyYWFiYjVkMDhmMDg1NTAgbGVnYWN5LXRydW5rCis3NzI1MCBjYzk3YTk2ZTRhMDkwODI2NzU2NzVmMjA4YjQ2ZGIwMWJjMzQ3ZDgwIHB5M2sKKzc3MjUxIDkyNjExODQxNzk3OTJhODgwMWU1NGI1ZmMyMTI4NGY4YTRkN2JlYmUgbGVnYWN5LXRydW5rCis3NzI1MiBmZjViYzJmYTM4ZDY2ZWVjOWVkZGI4MDIxZmRjYzA0Nzg4N2NkZjVkIGxlZ2FjeS10cnVuaworNzcyNTMgYmUyN2VhMmIzNjc5ZjA0YTc0YzZjMGU2YjZmN2JkNDZhNDM2YzQ0MiBweTNrCis3NzI1NCBlYjk1ZmQ5NWU2NWVkZWJiOThhYjgwYTA2Njk1MDliZGJlMjAyNTdlIGxlZ2FjeS10cnVuaworNzcyNTUgNTdiOTk2YzNkOGZmYjM4ZGM5YjJmNzkwODc4MzljY2QwNTFmOWNkZCBweTNrCis3NzI1NiBlOTgxMmI4MTZmZmRiMTc5NWMzMGZlNWIyZWE4MWE4NTQzNjZlOTllIGxlZ2FjeS10cnVuaworNzcyNTcgOTFhNTdjYzAwMjBlNGFhYzZmZjkzZDMyZDIxNjJmOWEyYjA4MjM5OCBsZWdhY3ktdHJ1bmsKKzc3MjU4IDJhMjM5OTUzNDU5MTdjYTcyNmQyZjE2MjkxYjFjNzkwYmNkMzQzNGIgcHkzaworNzcyNTkgMzg1NmM3NjRlMWY1MmMyMDRlZDgxMzU3MmUxYmZiNzgzMDU1NmRkZCBweTNrCis3NzI2MCBmZTExN2U1ZDEzYTFmY2FlZTZhMGI3ZWE4YWE2NDdiOWE1OWZhMzdmIGxlZ2FjeS10cnVuaworNzcyNjEgYWJiZGMzMWVhNzkwN2IwNTRkMDFjNjdmMDZhNTMxNmQwMzRlOGU2NyBweTNrCis3NzI2MiBmZDkxNzQ0YjFjYWFiNDlkMGZiN2I0YjAzOGQ4OGVlOTk2MzQyODU0IGxlZ2FjeS10cnVuaworNzcyNjMgNzJlM2U4NWJhYzhiMGRjMDI5YzVjNTQ1NmE2YmMyNDZhNGJhYzY2YiBsZWdhY3ktdHJ1bmsKKzc3MjY0IGExOWFkMjk5MDk1ZjI3ZGIwMmE1YWZmNDg4ZDNkZDY4YTc1MzhhMWYgbGVnYWN5LXRydW5rCis3NzI2NSBiMDM4NmZlNjUwYzc1OTYwZmQzOTY5YzA4MzZlMzZhOWU1MThmNDBhIHB5M2sKKzc3MjY2IDhjNGE3MDdjMGJkOGVlYzY5OWEwZTAyNGNiZjZkMGNkYTM0Y2Y5MWMgbGVnYWN5LXRydW5rCis3NzI2NyBjM2FkY2ZhYzA3NzIyODYyYjYyMmExZWQ5MzgxNDUyMmE5MmU1ZDM3IGxlZ2FjeS10cnVuaworNzcyNjggYTBmY2U5NjY1ZjQ0YWQ5ZjEzYmNmZjNmODE1NjNkMWIxNjk5NjNlZCByZWxlYXNlMjYtbWFpbnQKKzc3MjY5IDI0MDJmMjkxZTgwMTliYWViOWJhOTA4YTk2ZGI1MTU2NDFjNDUzMjIgcHkzaworNzcyNzAgZTU0NDM0ZDJlMmE3ZDM3ZTI0YjI0NDU3OTU3NWNiNWRmM2M4ZmIwMyByZWxlYXNlMzEtbWFpbnQKKzc3MjcxIGY2ZTM0MDAxNGY5Njk2OWRmNmZkZjU5NzM5M2ViNTU3Nzg1OGU0ODUgbGVnYWN5LXRydW5rCis3NzI3MiBlYjkyNGZhZDkyNzIwNjIwZDk0ODYyYTZjYmNlNTc1OTQ0ZTVlNGY4IHJlbGVhc2UyNi1tYWludAorNzcyNzMgMDNiZmUzMmVmODQ5Y2E4NjNkNjg0MDM4MTBkZjZkNjY0NTljOTk2MiBweTNrCis3NzI3NCAzNTFmYzQyNTBjMWIwYzdhNjU5OWQ4MjVlYWQ3ZmY2NWEyZGU0OTdkIHJlbGVhc2UzMS1tYWludAorNzcyNzUgMGY4YTU4NzkyNTYzYzMzNTRiYTFlYjM4ZGE5OTU2NTNmY2U5YTA2OCBsZWdhY3ktdHJ1bmsKKzc3Mjc2IDliOWFkYzQyYzczYTJhZWJiMTQ4Y2U0ZmNjNGFmNmY5N2NiOGZkOWIgcHkzaworNzcyNzcgOWMxZjMwNmZiMGRmYTU4NDhiNTMwMzdkYWIzZjQ0NDBkNWQ5NTZkNyByZWxlYXNlMjYtbWFpbnQKKzc3Mjc4IDc0NGUzOTFlNDJmZGYxNjAwZTVkNTA3ZjQ1NTRkYzExOTg2NWFmM2IgcmVsZWFzZTMxLW1haW50Cis3NzI3OSA1MTc0OWI2ZDYyZDNlYjJhNDAwZjhjMzM1YjY2N2RlOWY2ZjJlYjk2IGxlZ2FjeS10cnVuaworNzcyODAgOTBmMWU5MmRiNmYyMjU1OGUzZWM0YzMyOTFhMjFmOWNjNjU3Y2YyZCByZWxlYXNlMjYtbWFpbnQKKzc3MjgxIGI1NTg1MDA3MGE1NTE4ZTM3MTJhMWZjYTc5YjY4NWI3YmZmYjIzOTEgcHkzaworNzcyODIgMjM0YmVhYWZkMGM2ZGQyYTA0ZjMyNjE4ZDYzYWFiZDQxMzdkMjhhMCByZWxlYXNlMzEtbWFpbnQKKzc3MjgzIDA2Yzk2OGViNGI0MDNjMjg1NTMyNTBkMjQxMmMxZDZjNDI3MGZmZGUgcHkzaworNzcyODQgN2JjZTcyNmVjNDQwYjE2ZGMxZTk4ZTA5NTJlZjk0N2U0ODQ4YzMxMSBsZWdhY3ktdHJ1bmsKKzc3Mjg1IDM5MTE1MjRhZmMyZDZmMWZlODIyNmY0ZmZmMDIzNjVjZDM1YTYxNDcgcHkzaworNzcyODYgYzcyNjUyMTQ1YjIzNWQ3MzcyYzg4Y2NlMzBhNzNhMTM3OGI5YmMxOSBsZWdhY3ktdHJ1bmsKKzc3Mjg3IGVjYzhhNDU4OTRjOTQxZmEyYWYxYzZiNjI0YTgwNjk1M2ZhOGYzOWMgcHkzaworNzcyODggYzg1N2I1NjY5OWI1NzJkNmFiNjhiZDhkNWI0MjYwYzdkNTg4YTU0ZSBsZWdhY3ktdHJ1bmsKKzc3Mjg5IGM1ODAyYWI5ZTM0ZTcxNTRmNGNkNTBiNjc1NGJkMGE3YmYxZmNhYmYgcHkzaworNzcyOTAgZmM4MzNlZGJhNzY5OWZiYmNjZWFkOGZiODQ1NWY1NTM0ZjRjZDVlZSBsZWdhY3ktdHJ1bmsKKzc3MjkxIDJjYmRhYjI0OTg1ODk3MGQ4NDIzYjhiNzkyNDdmMWM1OTYyYjMxMWUgcHkzaworNzcyOTIgNGJjMjZhODBlNzM3ZWEzZDNkNTU2YmU5MzY2NDQ5OGZmNWI2NTY2YyBsZWdhY3ktdHJ1bmsKKzc3MjkzIGY3ZTA5YmEwY2I1NWEzZjNiOTYyMjljYmIzMTJjYjJmZTE1NWNiZjUgbGVnYWN5LXRydW5rCis3NzI5NCA2MDQ5ZmU0MDIyZmZhNDY3YzBmMDU0NjgxYTdmNjMxYWIzNWNjZTAzIHB5M2sKKzc3Mjk1IGQzOTlmNmRjOWVlNDgzOWYzZWQzNzM0ZmQ4NjAwMzZmMTMxMjdlZGIgcHkzaworNzcyOTYgMGZmMmRhYTgzZDBkN2Q1M2ViMzlkN2VlZDJjYjdiNDY1ZWRlYmI5NyBweTNrCis3NzI5NyBlZmJhYzdkM2EzNjg1MDQ0ZmI1YzJkODczOTk5NjI5ZTI3NTU5NTFmIHB5M2sKKzc3Mjk4IDBmY2VmOWQzOTU5NDAxYjE4NGFkYzJhOTEyYTIxYjZmOTY4MThjYjUgbGVnYWN5LXRydW5rCis3NzI5OSA1OWM0NzE0MTg3MTg1ZjA5MWQ4MDgxNTcwODM2NjdmNzEzYzBlY2Q1IHB5M2sKKzc3MzAwIDJmNjc2MjU4ODZmNjAwMzU1N2ViN2Y5YThkNDgxOTZlNDc5NjdiZmYgcHkzaworNzczMDEgZDU3MjkxZjVlNjY4MTFjMWIxOTk1NDA2MTJjY2ZmOTMyOTg2Njc4OCByZWxlYXNlMzEtbWFpbnQKKzc3MzAyIDhjYTM3Nzg1MzMyMWUzZWQ2YTcxNDFjYmJmNTc3M2QyZWY3YWRiZWQgbGVnYWN5LXRydW5rCis3NzMwMyA0ZmI4ZWFmMTRmMDljYjE5ZjdmNzk0NTMyNDVmYWVkY2Y4OTlhNTk2IHJlbGVhc2UyNi1tYWludAorNzczMDQgZTFmMTMxM2NlNmRhMThmNzJmOTA0MGU1ZTY5NjZmMjg1OGY0MTkwOSBweTNrCis3NzMwNSA3MGY2ZmEzMDg0ZTY3ZGQ4ODI4ODY3YzA2NjQyMTBjYmUxNDc0NDUyIHJlbGVhc2UzMS1tYWludAorNzczMDYgYWZmNWRlNWNjNDQxMGZkOGQxMmVmYWJhNjc5MTVhMjYxOTZiYTQ3MiBsZWdhY3ktdHJ1bmsKKzc3MzA3IDBmZTI1ZTA3Yjc3YjNjY2FkMWIzNzliZGJmOGQ1M2VkZDZjMTM1MzYgcmVsZWFzZTI2LW1haW50Cis3NzMwOCAzMTc1MmNhMDA3Y2YyZjNlNDBiNTNjMmYwN2NmZmMwMjExYjAxYjAwIHB5M2sKKzc3MzA5IGZhMmIyN2ZhNTQxOWU4MWY5ZmM1NGRkOGQ0MGVkY2U5ZDVmMWMyMmIgcmVsZWFzZTMxLW1haW50Cis3NzMxMCA0NDJlMTcwYjU2YzNmN2Y0OWZkYWVmMzBhMTE5YWRjOTU2YTM0MDcyIGxlZ2FjeS10cnVuaworNzczMTEgZTYyMmIyY2ZlZjEyZDZmZjE5Mzg2NWRhNGI5YmQzZmJkNGVjYmUwMiBsZWdhY3ktdHJ1bmsKKzc3MzEyIDc3NjY0N2UzZmIwN2RkMjRjNGI4Y2Y5YmQzOTNkMjkxM2ZlNDQzZjYgcHkzaworNzczMTMgYjA1NzQzY2U1ZTk0MzJmZjU2NzU5MzBhM2FlZmM3YmI5YzI2Zjk3YyBsZWdhY3ktdHJ1bmsKKzc3MzE0IDRhYWIwMjk1NGRlMWQ5ZGNkZDQyMTQxMDI2NmUyN2Y4NTNhNTRkNzcgcHkzaworNzczMTUgMjJlMGZjMjBlOTExMzNkODczY2U4NWQ4ZWFkMjZmZjM4MmMyM2IyMSByZWxlYXNlMzEtbWFpbnQKKzc3MzE2IDJjZGJhNTE2N2RmMWExNTU4ODQ1NDg2NTUyYjVkYjM3YjgxYjNiYzggcHkzaworNzczMTcgYTJkNmQzNDU0NzBlOTRhMzgwNjg1YWIwNTdjZTJhZGUxNTkwOGI3OCBsZWdhY3ktdHJ1bmsKKzc3MzE5IDNlY2VlZjM3ODA2NWE1NWE5N2Q2YjJkMjJkNWM2NzVjYjgwYTNiMTAgcmVsZWFzZTI2LW1haW50Cis3NzMyMiBmOWQyYzM0MjZlMTQ4YzUxMTVhMzMyODZmZmEzYTAxNmE1ZGY3MzNjIHB5M2stY2RlY2ltYWwKKzc3MzIzIGQ2YmEzN2UzMjc3NjM3MDY3ZGQ4MmE1OGNkNTcxZmE0MWRkNTI1ODUgcHkzay1jZGVjaW1hbAorNzczMjQgODgyYzllNzExYTJkMDU5M2Y0Y2JkNWZkM2MwOTY1MDg0MTE2Y2VmNCBsZWdhY3ktdHJ1bmsKKzc3MzI1IDg2YmY0NDBiZjliZjM1N2FjZGNiNDMwNzYzZDFkY2U3ZWY3YmQzNzAgcmVsZWFzZTI2LW1haW50Cis3NzMyNiA2MTNiOThkMGQ4OGJlMDJmN2Q1NDdlMjA4MjNkZTM4NDUyYWU4MDE0IHB5M2sKKzc3MzI3IDA3YTc0OWYwNjZhMTE3MWYzNWIzNjRlODIyZmQyOGM5M2U0NGYxMTMgcmVsZWFzZTMxLW1haW50Cis3NzMyOCBhMTkwMTcxMWIyMjViNDAzOWJjYThlZjE1OTdhZTJiZGVhODdhOTNjIHB5M2stY2RlY2ltYWwKKzc3MzI5IDMwNzA2NmYwMmFjNTJhNDIzM2Q3Yjc5OGJlNTI1MWUwMTdiZmE1OWMgcHkzay1jZGVjaW1hbAorNzczMzEgZjU2MGE4MTdiZmNiNTEyNTIwNDYyODU5NjYzNzA4ZWJhYzQ2ZjQzZCBsZWdhY3ktdHJ1bmsKKzc3MzMyIDhlODJkZDU1MjJmMDM5Yzc4Zjg2YzAxNjFkZmYzMzkzZjlmODY4NmIgbGVnYWN5LXRydW5rCis3NzMzMyBhOGZiZjI5NGQyMmU1YzVmZDk4NGY1ZDFjYzY4MjNhNmM0YmQ2MDk2IGxlZ2FjeS10cnVuaworNzczMzQgOTllN2MxYjhiMWUxZWUxOTgzOTdiMjNlNGNjMDExNjIyMzcxNjZlMyByZWxlYXNlMjYtbWFpbnQKKzc3MzM1IGIzYmI4YjNlNWU0ZWJhNWU2OGFhMjI5Y2Y5ZTM1ZDIzZWE3NmFjNDIgcmVsZWFzZTMxLW1haW50Cis3NzMzNiAwZmE5ZWU0ZWFiODg3NDNmNTgwMjBlMzkyNjY4Mjk0ZDRjZTNhODBjIHJlbGVhc2UyNi1tYWludAorNzczMzcgNmFkNTNmNjcwNTZhODQyMDc0N2JjMWE5YTJmOWQyZDFjOWM0NTk3NSBsZWdhY3ktdHJ1bmsKKzc3MzM4IDI1YzFlNTdjYTFiM2UxODk3ZDhmYzNhMmZiNzg2YzdmY2JhOTRiYzkgbGVnYWN5LXRydW5rCis3NzMzOSA2MTQ0Y2Q0ZDQyMWJhMzI2ZGNhYWE4NGZhNmNiMjVjMTRjNWFjZjI5IGxlZ2FjeS10cnVuaworNzczNDAgYzYxODEzN2YzZmQzYjdkNDk1YjE5ZDk5ZjE0MjExYzJiN2RlOGQ5NSByZWxlYXNlMjYtbWFpbnQKKzc3MzQxIDdiMTI1NDU3MzY1NjRiYzk5NzA3NTYzODI5YWMwNWJmOGEwODljZjEgcHkzaworNzczNDIgODcxNjEwNjllZWYyM2ZjZWUyN2E1YWUzYzRmNjcxODBkZTE3MTRjNyBweTNrLWNkZWNpbWFsCis3NzM0NCAzMTViNThjYjEzYTYzN2M5ZGY1MTBhNjdhNGI5Y2Y3YTk2MzJkYWEzIHB5M2stY2RlY2ltYWwKKzc3MzQ1IGQ4OGUzZjU5OGFhNDEyY2YzYzNkN2I3NzgzNTBkYjhhNzJkZDA5ZjYgcHkzay1jZGVjaW1hbAorNzczNDYgZGU3M2I4NThkZTExZDIxMzljYzRmNjRmZGRjYTQ4NmFkMjE2ZmJiNCBweTNrLWNkZWNpbWFsCis3NzM0NyBmZTVlYzk4ZGU5ZGExZTczMDlkZjU0MDdiNzEyMDJkNWIxZjk4MDZkIHB5M2stY2RlY2ltYWwKKzc3MzQ4IGI4MjY5NDEwNzE1MWMyOGE1ZTFjYzQwNmQ4MTcwZTA4NDg4NWJjYzUgcHkzay1jZGVjaW1hbAorNzczNDkgMjI0NTg4NGM4NmU2MTU3MWJkMjdkYjcwODNjMGY1OGM5ODYyMDk5ZCBweTNrLWNkZWNpbWFsCis3NzM1MCBlMTNkMDcyNDNjNzNhMGM4MmMwOGFkYjAxZDRkODZmOTY1YTU5OTg0IHB5M2stY2RlY2ltYWwKKzc3MzUxIDc0MGE3ODdkYzU5YTBiMjNmNGNjZDZmNmZjYjYxZWM2YzlmNzFiZDMgcHkzay1jZGVjaW1hbAorNzczNTIgMTU5MDRkNWI5OGRiNDc2MDBhNWI4OTkzZGVmYTk3ZDAxYWYyNDE1MiBsZWdhY3ktdHJ1bmsKKzc3MzUzIDIyYTMyOTJjZjY3MjJjN2QwZWRmNDRlYWZkNWFiODM0ZjJlMzY2MTAgbGVnYWN5LXRydW5rCis3NzM1NCBlMGI3ZTgxYWNmNmYzMzI1Yzk3MTk2ODkyYjk0Njk3MDhiNjU4Mjk5IGxlZ2FjeS10cnVuaworNzczNTUgODkwM2VhNmE5ZTY0NzkxNTY3NDU1YTRmYWFhZjRlYWIzMGM5MWUyZiBweTNrCis3NzM1NiBkMzk0MjBhMjdlNjQ2MDhjNjA3NzY5NWYxNDJiMWQ2YTJkYTA1ZGE5IHJlbGVhc2UzMS1tYWludAorNzczNTcgYWZlNmRkZTgwYWJiMzlkNjE4NjRiYWEwNzRmNTA4NWNkMjA0YzdhMyByZWxlYXNlMjYtbWFpbnQKKzc3MzU4IDUxOGFjYjEyZjM1N2ViYTAwZGRhYzFlODlhNjFjZjg0Y2VmZWY3OTUgcHkzay1jZGVjaW1hbAorNzczNTkgYTY0Y2ZlZjFkYTA3NTM3ZjM2NzE0ZmUzMWQwZGZiNDIxMTE1YThlNCBsZWdhY3ktdHJ1bmsKKzc3MzYwIGYyMWYyYzkzMzI5ZWIwODc4ODhkNThlZmViZjRjOWQ2MmI5Y2JmYTcgbGVnYWN5LXRydW5rCis3NzM2MiAxMGI2Njc4ZjVjMDRiM2I2MDViNTQ4ZmViYmY2OGFhNjY3ZGNmYTQxIGxlZ2FjeS10cnVuaworNzczNjMgMzVmZTIwNjlhYjFkOWVhODRmZGE4YzdkNTIwNTNiZjZkNzkzNmFmYSBweTNrCis3NzM2NCA1OWUxYjAzMDZjMGU4NmI0Y2RmNGM3ODU5NGViYTIwYTViNTk4NzM0IHJlbGVhc2UyNi1tYWludAorNzczNjUgODRjYWFjNzFkNzliZDNlOWVlN2U3NGU1Y2NiYjhhM2M4ZDUxMmRiMiBweTNrCis3NzM2NiBiMGVkMzVjOTlkYzZkOWEwM2YyZDFiMjM5M2MwMmUxNzFlMGUyNjE3IHJlbGVhc2UzMS1tYWludAorNzczNjcgN2E2NzUxNWJmOGUzMDhiNjg0ZjA4YmVmODA3NTU2YzM5NzcxMzUzZSByZWxlYXNlMjYtbWFpbnQKKzc3MzY4IDdjYWY1NGNlNTI5ZTdkMjFiM2NjNGY0ZWIwMTJmZDQ5YmZmMzM2Y2YgbGVnYWN5LXRydW5rCis3NzM2OSAwZGQxYWEzMzI2NWYzOGMyNDY2ZGM3NWY5YjIwNzFhMmZkZmI3ZDU2IGxlZ2FjeS10cnVuaworNzczNzAgOWU4ZDc3NTBlNDcwYjhlMDI5N2E4MDk2Yzc3ZTUxMWZhZWU0OTFjOCBsZWdhY3ktdHJ1bmsKKzc3MzcxIGJiNzI3MDMwMDA0N2Y0NDM4NjUxOGVjM2E1YzE2M2I2ZWIwM2RkZTAgbGVnYWN5LXRydW5rCis3NzM3MiAwYzdlYWQwMzRhMDNhOTJlZDVkNWQ3NzliMjY4ZjUzMmQ0ZmY5ZWUyIHJlbGVhc2UyNi1tYWludAorNzczNzMgZGEzZmQ3YTc3OWFjZDI3ODA3ZGZiNDk0YzVlY2YyZjgyOGE0NjhlZiBweTNrCis3NzM3NCBmM2ZlNTc5ZThmMTQ3YWYxNTkzYjI5NjA0MzEzYTBmYWEyMTE4YjdjIGxlZ2FjeS10cnVuaworNzczNzUgZjVjZWJmMTFkNWUwODk1MTgyODA3ZjhkODA5N2I4ZWNkNTI5MzllMCBweTNrCis3NzM3NiBhYzQ5MzFhYjAzNjllNjNkZGUwYmZmZWQyZTE1ZWQ3MzAxYzQ3NzkyIHJlbGVhc2UyNi1tYWludAorNzczNzcgNjE1MDI3MTBmY2U5ZjM2OTM0ZTk3MTAxN2M1Y2EwMzUzZTE5MGI5ZiBsZWdhY3ktdHJ1bmsKKzc3Mzc4IDFiZGExZjZiODVkNGFlMGFjOTc5ZDRiMDcwOWU1M2RjZmVjNjIyZGMgcmVsZWFzZTI2LW1haW50Cis3NzM3OSBkODQ2ODIwOGU4ODI0NjA5ZTRkNDg4MGQ2MzZhMWFjYTY0MTU4MjI0IHJlbGVhc2UyNi1tYWludAorNzczODAgYTFmYjU3NTUzMWIxMDM0Yjg4NjUyMjVlODgzYjExMjc4Nzg1NDU4YSBweTNrCis3NzM4MSBiNzc0OTVjNzdhZTQwN2EyZTE0NGU2MjljMzlmNTU0ZGQ0MTM1ODZiIHJlbGVhc2UzMS1tYWludAorNzczODIgYWVlNWExZjMyYjAwYmY2MDFmNWM2MmJlNmNhNjRlN2I3YzViNGQ4OCBsZWdhY3ktdHJ1bmsKKzc3MzgzIDQ0MWJmY2Q1NWYyZDliN2EzNGI5ZGI3N2Q1NWUzMzY5NGViNzVkMDEgcHkzaworNzczODQgYWRjODVlYmM3MjcxY2MyMmUyNGU4MTY3ODJiYjJiOGQ3ZmEzYTZiMyBsZWdhY3ktdHJ1bmsKKzc3Mzg1IGIzODZlNTNkZjkwNjkyYzZhMjZhOWUzYjU3MGM0MmNlZmE5ZWYxMzEgbGVnYWN5LXRydW5rCis3NzM4NiBlNTdjZmM1MjY2NTZmNjZkM2ZjM2VhMGJhN2M5MjI3NmM0ZGY5YmM1IGxlZ2FjeS10cnVuaworNzczODcgNWFiMmJjMmY2ZGI4MTVlZTUxNDRmODg4ODRkZjlmNDA1ZDVhMWFiMiBweTNrCis3NzM4OCBhZjFlZDE5NzE3ZWYzOWM5MzIyNzBiMmZiZDQ4MzQwZDA0MjU2YjQ1IHB5M2sKKzc3Mzg5IDg5YTlkZDhjNjI4ZDRjMDU0MWMxOTg4MWIwNWQyMzY0Mjg0ZTZhMzMgcHkzaworNzczOTAgYWFkZmMzMWIzZjE0MWYzODlmZWU0YzVlZmFjZTM1ZWYwYTc0OTBmMiByZWxlYXNlMzEtbWFpbnQKKzc3MzkxIDQ2NzVmMTFmYjEyNWQ2OWU5MGJiZjhiNDE0ODU2NjM3NjJmYjM1YjggbGVnYWN5LXRydW5rCis3NzM5MiBiNDA3ZThiZWNhNGE0N2U0MGJhNGFhNmZhNDIwMWJkMmRmZDZkY2Q5IHJlbGVhc2UyNi1tYWludAorNzczOTMgZjJkNTQwOTZkYzhjMjgzOTM5MDgxYzZhYTgwZGRlNmZiNGY4ZDgzYiBweTNrCis3NzM5NCBmOWMwYzQxMWY4MGNjZDE2NjI4YmU0MGQxNzljYzllOTY1NTUyODU2IHB5M2sKKzc3Mzk1IGFiODhkYWE0ZDJjZTJjMWYzZGQ2NGZkMGM0MDk3ZWNlZjAxY2E3MzYgcHkzaworNzczOTYgYTdhYjFhYmRlYjkyMGE1NGM3Mzk5OGM3NzZkODFkOWVmMmU2MjZkYSBweTNrCis3NzM5NyBjMWJlYzJkYjFmY2Q3MzVlNzAyYWZjZDNmNTVmYmYwYjBlZjc5ZTFjIHJlbGVhc2UzMS1tYWludAorNzczOTggN2UyYWY0ZTU3MDM5ZmJiNjcxYjRiNmY5NzE0MjBiYmMxM2M0ZmI0NCBweTNrCis3NzM5OSA2N2Y3YTBlOWUyMzMyNDM5YzcwMzJhYzRmOWY0NzVkNjhlZTYyY2YzIHB5M2sKKzc3NDAwIGMyZmRmMjUzMjlmZjMwY2Y4ZDY4YzBjMGU3Y2Y0NzlkN2IyMDM3NDUgbGVnYWN5LXRydW5rCis3NzQwMSAyY2ZmM2JjZTQwOTY3MjgzNzhiMDFhNzczODkyNGQ5NmQzZmVhNTYwIGxlZ2FjeS10cnVuaworNzc0MDIgMWYxNzc4MThmMWQwYTczNGZjNjE0MjJjM2JmMjI4OWEyNDg2NjUxMyBsZWdhY3ktdHJ1bmsKKzc3NDAzIDc1NTBiNGI5MDVjNzA3Y2ZkYmY0N2ZiNjVkNTMwODZhN2QwNDg5MmEgbGVnYWN5LXRydW5rCis3NzQwNCAzZmE2NzA3ZGY5OGNjMDRjOTI0NjJmOTI5NjIzNTQxNDdjZDVmODRmIHJlbGVhc2UyNi1tYWludAorNzc0MDUgNzhjM2ViNWMwNWZiMjg2MzM1NWI5ODAxNTM5NWZiNjY5NDFiZjA2YiBweTNrCis3NzQwNiBlN2ZhMzk1OTkzNTU0MWE5Y2IxYzUyZTJiYmZhZWIzMTkxZjRmYmJiIHJlbGVhc2UzMS1tYWludAorNzc0MDcgMzM5OGE4Yjc0MzNkMDYyNmU3NjBmOWZlYThhMWFiNzdjMDdhYzQwMyBweTNrCis3NzQwOCA0MDVjOWI2MzllMDU1MTc4Mzk3ZjRhMmM2NjRjZGI1Nzc3ZGIzZWQxIHB5M2sKKzc3NDA5IGZiZjQ5ODdlNTE0YTI3MjgzZjE5MmNmNzU2NTQ5ZDYwYzQ3YWQ5NzMgcmVsZWFzZTMxLW1haW50Cis3NzQxMCAzZTE3MTIyMjFmYTY4NjdmNWRiZTMxMzEzMGQ4ZWI0YzA5MTE0ZWVlIGxlZ2FjeS10cnVuaworNzc0MTEgYTY2NjY3NzA0YWIwZTZlODFmYzY5Yzk0YjAyNGIyY2E4OGUxMGIyYSBsZWdhY3ktdHJ1bmsKKzc3NDEyIDk3YTQwNDE3OWU1OWQ0OGU4MGQxMmI5MTFmOTYzNjdhYmRjZjk3MmEgbGVnYWN5LXRydW5rCis3NzQxMyAyNTQyNTU3YTEyYmQ3MGNkMjdjZWJmMjY0MmVkODAwMmI1MmQ1YTM2IHJlbGVhc2UyNi1tYWludAorNzc0MTQgNzFmMjQ5MWQ4ZjJmNGE1N2E4MzA1MTZiZmNjNGFhZTgyNzcxZTE4ZiBweTNrCis3NzQxNSA2OGZhOTUzYjVlNzZiMTQxZmQ3NTc1ZmYyZmEzZTVkNWJiZTJmMGVkIHJlbGVhc2UzMS1tYWludAorNzc0MTYgY2MzMmQ1N2UwNmIwNDE3NjFiYWJjNTljOTIwYWVlMzM2Nzk2NTliOSByZWxlYXNlMjYtbWFpbnQKKzc3NDE3IGYwMDEwOWUxNmVhYjkwODMwMGZlOGZlOTAzZjIwYzlkNDM4ZmQzYzYgcHkzaworNzc0MTggZGQzMWIxYzAzM2IyYjBhYWIwMjcwZWE5Y2Y0ZTkxZDg2NWY3OWNjNSByZWxlYXNlMzEtbWFpbnQKKzc3NDIwIGRjZTc0YTg3MzBmNTdjZWJjMDczZTQ0NWFiZGUyMjNlYzBiN2NjYjcgbGVnYWN5LXRydW5rCis3NzQyMSAzM2U0MDI5MDljZjI5YmEwZWYzZDE4MzE1OTM5N2JlYTE2ZDNmOTBhIGxlZ2FjeS10cnVuaworNzc0MjIgZWRmZWQwZTMyY2VkZjNiODRjNmU5OTkwNTI0ODZhNzUwYTNmNWJlZSBsZWdhY3ktdHJ1bmsKKzc3NDIzIDhhNWFjOWZmNTA1N2YwZTY2ZjY1Njg1YzRlZTUzNjI3NWRiOTUxYzMgbGVnYWN5LXRydW5rCis3NzQyNCAyZjkzNmI3ODMxYjY3Y2ZlN2NmZDcwNDg4NWMzY2Q1ZjNiNTM5Mjk1IGxlZ2FjeS10cnVuaworNzc0MjUgOGEzMjA2OTRlNTNiNWZjNzk1NjY1ZTYzMjYwYzJjMTA3Y2NmZmYyOCByZWxlYXNlMjYtbWFpbnQKKzc3NDI2IDA1ZmI3MWYwMjUzZDhkYTIyYTUzZGI0YmY5MDcwNmY3MmYwMjdiMTYgbGVnYWN5LXRydW5rCis3NzQyNyA4ZjVjZDNlYjdjNzM0Y2Y2NmVmYzVlNmY4MGUwZTQ2ODY3MGQ3ZTkzIHB5M2sKKzc3NDI4IGQ5ODA1YTk2MzUxYzA2MDFhYWRmMDMzOGUwMDI2OTUwYjQyZWVkMTkgbGVnYWN5LXRydW5rCis3NzQyOSBiNGNlMGM4YjBiY2ZmZTg5ZTRlMjI4MzczY2NjMzY2MTk0YWZjZTRiIHB5M2sKKzc3NDMwIDljODUyYTMxZTg3Y2UwMWY2ZmMwMmE5ZTBjYTVlODY3ZmUzY2MyYzUgcmVsZWFzZTMxLW1haW50Cis3NzQzMSAzZWVjMmU5ZDY0OTNmNTVhMGQyZjkyMmFkMzY3ZTIyOTE2ZDg2MTYxIGxlZ2FjeS10cnVuaworNzc0MzIgMjM1YzgyNjQzNDc0Yzg5NzMwMGQzNDg1ODBhZTNmMjQ5OTkwZmFjNSByZWxlYXNlMjYtbWFpbnQKKzc3NDMzIDMyZWFiNDQzYTk2YjEzNTFkMGY0YjE5YjUyN2E2MmFkNjBlMjU3MmQgcHkzaworNzc0MzQgM2ViMjlhYzdiMjBhNjRjOTFjYzc0NTI3ZTAzOWJkYWU1YWNmODk0ZiByZWxlYXNlMzEtbWFpbnQKKzc3NDM2IGYyMzU4ZDMzZjEwOWRkZGQ1ZGY4MzM5OTJhZTIzMGVjMWYyNTI2MWIgcmVsZWFzZTI2LW1haW50Cis3NzQzNyBlZmE1ODY3ZDhhMTRkMTljYjkzZDdmMzU0MTY5YzM3Y2ZjMWU4ZGU0IHB5M2sKKzc3NDM4IGUzMGZjYjk1NmI1ZmNmMjJiMWRiNjBjZGZmY2M3MTY3MGU5MmUyYWUgbGVnYWN5LXRydW5rCis3NzQzOSA0MWNlYTY2YTI0MjZhNTQ2MGUxNTFlMjEwNzU5ZWQwNjc0Y2FlMzBjIHJlbGVhc2UyNi1tYWludAorNzc0NDAgOWY5MGRiMjc2MGQ5YjgxZWJhMTdjMjIzOGI4NjYzZjI3Y2RiNmQ5MSBweTNrCis3NzQ0MSBkMDhkODZlYWQzNzVhMjJkYmI4MzAyMDExNmIwZDBkMDRmY2FjZGI2IHB5M2sKKzc3NDQyIDhmZDEyZWE2M2M2YWM2ZTJkNWQ2Mzk3NDAxYThjZTNhNzc4NDVkNzggbGVnYWN5LXRydW5rCis3NzQ0MyAyZjU0ZjdlOWMyYjE5YjYyYjU5NTQ0YzQ0MTRlN2JhOWZmMjk4NmZjIHJlbGVhc2UyNi1tYWludAorNzc0NDQgN2NlMjI1OGRlZThhNTg5YzY0NjI4YzY2YTAyMTUyNzE2NTUwZmRjYyBweTNrCis3NzQ0NSA3ZDdiNTc2NWI0NmY3YzRlMTIyMTI2MGQwZGY0OTk0MTZkMzU0YjhhIGxlZ2FjeS10cnVuaworNzc0NDYgMWNjYThkOGY5ZWU1MGU2YmM2NjZiZjZhNDAwNzNkZWU1YmVmZjYxZiByZWxlYXNlMjYtbWFpbnQKKzc3NDQ3IGM1ZGJlZmJjOTMyMTJjYjc1ZTJlODlhYTQ4MDE1ZjMxZjZhNDFiZTEgcHkzaworNzc0NDggMjNmMjFmNDgyMjk0ODU1ZWFiOWFiZDdjNmYwYWUxMTUzM2FjYWQ3NyBsZWdhY3ktdHJ1bmsKKzc3NDQ5IGI3NjQ5NzMzYTM1NDVlNDFhYzgxYmZkNzQwMmQ1MzQ2ZDZkMjU4YTggcHkzaworNzc0NTAgMmE5ZjY2ZGY0ZGM0Njc5MzYzZjVkMzM1OWEzNTk1ZmFiODA3ZWYxNCBsZWdhY3ktdHJ1bmsKKzc3NDUxIGI0ZjMwMWNlYTExNTZhNGNiZjllOGM2MDY4ZTExMjFiMzdiNTQ5MjggbGVnYWN5LXRydW5rCis3NzQ1MiBjMzJkM2IwOGZjZGMxNTU5ODc2YjZiYmIzMDA0MzM2NzY2NTA4MzljIHB5M2sKKzc3NDUzIGJlMzJmNjExMTgzYjkwM2Y0NjUzN2Q2NTQxMmRhOTE0ZTljZDU0YmYgcmVsZWFzZTMxLW1haW50Cis3NzQ1NCBmNWZkMDFiYTQ3YmUwYjdlODgyMjk0NTQ0MmQxNmJkYzI2NzI4NTVjIHJlbGVhc2UyNi1tYWludAorNzc0NTUgYjgwZDI5NjI5NzhjOGNmMTlkMmU1YmQ2YzU5ZmViMGYzZWRhYjViYSBsZWdhY3ktdHJ1bmsKKzc3NDU2IDJhOWNmZTJjZTU5YjQwYmM5OTk3NjNjMGY1ZmJlMGU5NWZhNGFlMjEgcmVsZWFzZTI2LW1haW50Cis3NzQ1NyA2NjJkZmZjMWIzNGQzZjYwZDVmNjE2MDc5N2RlZTA1NDNjMTg0ODhlIHB5M2sKKzc3NDU4IDdiNWY1YWY0ZjVhY2IyZGVmY2E4ZWUzNzEwNzZiODVmM2ZlYjA1MDAgcmVsZWFzZTMxLW1haW50Cis3NzQ1OSBhNmJmNjhlNmU4MjRjNzkwMTg2YTI4NjQ1YjU3NGE0M2YwMGM0OGJmIHB5M2sKKzc3NDYwIDNjMGE0MzNiMjZlMWZjYTFmNDg1ZDYwNjlhNGE3NDA2NGM4NTA2ZGUgcmVsZWFzZTMxLW1haW50Cis3NzQ2MSA2NmYxZDRhNGM3OTk0ZjkzYjJiNDEyYjU3Nzk3YmQ1MDg3OTljYWExIGxlZ2FjeS10cnVuaworNzc0NjIgNWNhMTk0OGE4ZmQ2OTMyMjJlNDc1ZDBiZTlkYmI0NTk2NGVlOWYzZSBweTNrCis3NzQ2MyBkNTEzNTg2NDVlNjA2Mzc1OTkzMTYxODAxNGYwMzZmZjNjZDFmY2U2IGxlZ2FjeS10cnVuaworNzc0NjQgODUzN2MzNzM2ZTk5Njc3ZWM1YjI0NzVmZjIxOTVlMmFkMmU0MjQ0ZCBweTNrCis3NzQ2NSBkMWZkMGEzNGJiMzY4MjkwMDA1ZmU2NTYzNGU1Yzg5N2JmMmNiNjZlIHB5M2sKKzc3NDY2IGJhZDFhZTNmZDA2MDczYTI5ZmQyYzRmY2VjNzg5NWVlODJkZmE2MzYgbGVnYWN5LXRydW5rCis3NzQ2NyAzMTI1MGMzNDgzM2E0NDIyZmFhN2EwNzkyZjk0YmEyYzM3MTgyNmEyIGxlZ2FjeS10cnVuaworNzc0NjggMTViMDY2OGYwZGM1OTdmZTY0ZDFhMmU0YTkwMjc0MTk5OTAwYzVhMSBweTNrCis3NzQ2OSA2MjJmNzliYmE1MjMxYTgzYzZlOGMwYmY4OTAwODRiM2QyMWJiZjgxIGxlZ2FjeS10cnVuaworNzc0NzAgOTIyNWVhNjc3YzRiMjcxMzc5MDAxYzQ5N2MwMTc5MjcxNTA2ZDNiZSBsZWdhY3ktdHJ1bmsKKzc3NDcxIGU1ZTU1ZmZlOWY3MzhiMDhkM2U4MTk2YjIyZjRjZmVhYjI1YmExZjkgcHkzaworNzc0NzIgYjIxZWZjMGNmZThiYmU1NTIwOTc4MjgwNzQ4M2E1Mjg3ODE5NGIwNyBsZWdhY3ktdHJ1bmsKKzc3NDczIDhlMjdkM2I4ZDJlYzQ1OTY4ZjBhZDZjMDdiNmNhMzQ1N2RhMmQxN2MgbGVnYWN5LXRydW5rCis3NzQ3NCBhYjkwNWY3NGJmMTE3YTFhNjhkMDdlODViNjIwMGI3YmFhMTA1NDE3IHB5M2sKKzc3NDc1IGM1YjZhNWI4M2FiNWRjNjcyNzA3M2YxYTIwODY3ODBiZTQ0Y2JlOTYgbGVnYWN5LXRydW5rCis3NzQ3NiA5ZmM3ZjI5N2QxMzJiOWE1YTEyOTMxZTFhYjc1MTFmMmMxZTQ2OWZjIHB5M2sKKzc3NDc3IDU3MTAyMjgzYWI1ZWNmNTUzMzlkMGY4YTkyNjhkZmNiNjgwNWNkZjcgbGVnYWN5LXRydW5rCis3NzQ3OCBjNWEwYTVkNmFjYjA3YmE5YzIzODYwNGIyMzhhY2FjOGYzNWU0MGYwIGxlZ2FjeS10cnVuaworNzc0NzkgNGY0ZjAwMWM4MWY1NTllMzRmYWVjZDAxOTU3YzljYjg4YjJkYmQwMiBweTNrCis3NzQ4MCA0NzhhYmM3YmNhYWFkY2EzMzYzMzM2ZjM4ZjJiZjY4MDc0OGI1OWQ0IHJlbGVhc2UzMS1tYWludAorNzc0ODEgMGY5NzRiYjIzOGVkYWEzZjFjMmQxZWJmZmM0ZGU0MDVhNGJkZmNhZCBsZWdhY3ktdHJ1bmsKKzc3NDgyIGM3ZjMzZDUyMTZmOWM0MGMyMmEwMTk3Y2RkODg5OTVkMDg3NTIyODYgbGVnYWN5LXRydW5rCis3NzQ4MyBiMzlhMDIxOWY3MjdlOTNiNGQ2OTFjMTcyODNkZTI1ZmJkNGM0YTdlIGxlZ2FjeS10cnVuaworNzc0ODQgMTAzMDY3ODBlNWMwY2Y1ZGRmNzM0NWNmY2I3MmMzMTZjYjhmZTQ4OCBsZWdhY3ktdHJ1bmsKKzc3NDg1IDIwMWI0NjFhMTJiZGZiMWM4MmRjNzAwMTA0NGQwZGY1MGEyNjUwODIgcHkzaworNzc0ODYgZThmODQ2MWQ2ZDFkZjUxZjE2OGY5YWJhZDRkMjI4YzdkMzk5NDNlOCBsZWdhY3ktdHJ1bmsKKzc3NDg3IGM0MzBlNjY0ZTYwNWJmZTBkNjJlMjQwNGRkMjcxZmJhYWEwZTFjZTcgbGVnYWN5LXRydW5rCis3NzQ4OCAwM2ZhNjFhMzdlMmQ1MmQwMDFiZTkwNzI2NmI2YThhMzgyNjlkZGVlIHJlbGVhc2UyNi1tYWludAorNzc0OTAgYWYxODA5ODEzZGU5NmQ2NDMxZjFhYTllNDllYTdmYzQ1ZmYyMzU1YyBsZWdhY3ktdHJ1bmsKKzc3NDkxIDc2ZmI3ZGJkNzM4ODQyMzJlMzBhZTFjYTAwOWExNmM0Yjg2MjViZTkgbGVnYWN5LXRydW5rCis3NzQ5MiA5MjM4NGQ3ZjQyNWE1OThlZGZmMjkyODIxYTk0ZTUxYjZhNjRmNWRiIGxlZ2FjeS10cnVuaworNzc0OTMgMTY4MmI5NjJlOGRlZTFjOGY1OWViOTUxZGFkMjhkZTY3ZDdlZTQxZSBsZWdhY3ktdHJ1bmsKKzc3NDk0IGNlMTFjMTI3MGI2OTA2Zjk0MjhhNjVmOTNjMzE1YTdmZTA4Yzc0YmMgcHkzaworNzc0OTUgZDc1OGViMmM4MjhlODZhNjIxOGVjYjFmYzE0ZWZjNmE5MWU4YmRlMCByZWxlYXNlMjYtbWFpbnQKKzc3NDk2IDliYWIzZDdhYjRmNTFiNzNlOTY0NjY1MWQ1MTEwNTRmMzA3YTY1MTMgcmVsZWFzZTMxLW1haW50Cis3NzQ5NyBiM2Y1MGQ2Y2I2NDA2YmEyYmMzMjk2NDIyZGE0ODYxMzIwNWY5OWNhIGxlZ2FjeS10cnVuaworNzc0OTggZDE0MGY0OTAxYTQyMzgwNmU5ZmFiZWU3NmZjZDA4NzdjYjViZTFhNyBweTNrCis3NzQ5OSA5ZTczYmU1ZmE4MGY4NmNjNWMwMjk5NmEyMDAyMTBiMTVhM2NjYWUzIGxlZ2FjeS10cnVuaworNzc1MDAgMzU0NjllNzlmZjgwNDZmZTJhMTNjODJmNjE5OTFkNmNmZTgwNGRmNiByZWxlYXNlMjYtbWFpbnQKKzc3NTAxIGViODRmNzIxN2M2NWQ5Mjc4ZTRjZjBjNjYwMWZjYjg1ODkwODBlNmEgcHkzaworNzc1MDIgODA0MTNjMTgyYTI4YjY4MDBlNzM5NzEyMjViMTJhNTdhNDMwY2YzMSByZWxlYXNlMzEtbWFpbnQKKzc3NTAzIDY1N2YxNjU4Mjk0MzczOWI5MDZmNjZmN2VmYWQ0MDE0NDkyYzhiMWMgcmVsZWFzZTI1LW1haW50Cis3NzUwNCBjNzZkNDFlNzQ0YzIzMTkwMzAwODk1MzZjYmJmNWU1NWJhM2IxNjYzIHJlbGVhc2UyNS1tYWludAorNzc1MDUgZDNiZWExNjY5ZjJkODkzZjI4ZDc1MTdjYzRkZDJkNDU3NTQzN2ExMCBsZWdhY3ktdHJ1bmsKKzc3NTA2IGVlZjJlYmMwODFkZWUwMDZmNmUzNzFiYzk4MDI1YzA3NzQ1MmUzZGUgbGVnYWN5LXRydW5rCis3NzUwNyBiZTBiZjBiYmQ5NGFmZmVjNTQxNjRmMDY1Y2U0MmMzZTZlZTI4ZTMxIHJlbGVhc2UyNi1tYWludAorNzc1MDggYjMwNDhhNTJlM2M4NWFjODMyMzViN2I5ZDUxNWYxNTQyZWIyMjIwYSBweTNrCis3NzUwOSAzYWFlZjJlZGZkYjM1NWRlNThiZGQyZTExZTg0ODIxZmJjYjJiYmUyIHJlbGVhc2UzMS1tYWludAorNzc1MTAgMWY4NGRkYWZiNmEzOTJjNGIwMDExMzU1NmZlMDdkNjkyYTc3MjE4MCBsZWdhY3ktdHJ1bmsKKzc3NTExIDc4NjEwYjQ4YzM5NmMxNjRmMzVhNzM1ZjA0ZDU2N2QxM2ZiOTVmMjggbGVnYWN5LXRydW5rCis3NzUxMiBlZjBkMDRkZTRhNDNmOWUwYzg0MGQ1MDIxYzZjNmVkY2JmMjM2YWJiIHJlbGVhc2UyNi1tYWludAorNzc1MTMgMDgyZDBlYWY4ZGRhZGM5Yzc5NThkOGVmMDlhNzc1YmIzMjc1NjA3MiBsZWdhY3ktdHJ1bmsKKzc3NTE0IDc2MDc2NjU5YjIyNDllMDQ0MTdmYjhlOTQyYWUzOTJmZTc2MmExNzQgcmVsZWFzZTI2LW1haW50Cis3NzUxNSBmNDdkMTk5ZWU2Njk3ZjBmNjA0NjNiYmIwYmQ3ZmZkMjY3MzI1MWE0IGxlZ2FjeS10cnVuaworNzc1MTYgMjAwNmZkODE2ZDIyNTIwMmMwNDZiYmZhNjI4NGFiZGFmYjUzYjYwMyBweTNrCis3NzUxNyA5MDA2MjQ1YjE5YWZmOWNmZmMwMDAxYTYwZjlmOWEwZTJhOWRiZTRlIGxlZ2FjeS10cnVuaworNzc1MTggNDI4OGM0MGM4NDQwNzViM2NkZTE3ZDg0ZWE3MGRmYmNiYzNjMzM5MiByZWxlYXNlMjYtbWFpbnQKKzc3NTE5IDU2NzNkYzNiNjQzMmU0YzkwYzk4NWI1MWU0Y2FiMzg0YmIwNTUxYTUgbGVnYWN5LXRydW5rCis3NzUyMCBlYWZhYmFkNWU2MDFlZWQ1NTUxMjA3ZTk3YWYxYWIwZmFiNjA1M2VmIHB5M2sKKzc3NTIxIDE4OWE1YWJiMjMyM2UxY2YzNWY5OGI5MTU0YmIyNjhiMTA0YmIxN2EgcHkzaworNzc1MjIgMzJkNmE5NGNkMGZhMzlmZTU4OGNiYzdjZTE5ZTljOTk5NTJmZGE1MCByZWxlYXNlMzEtbWFpbnQKKzc3NTIzIGExNmIyNGIyNWFjMzFhN2JmODk1YmE3YmI4NGJjYzk2YTk5NTU3N2QgcHkzaworNzc1MjQgMGZhYjNjMmRkMzE0Y2ZhZjgzMWI2ZWMxMGI5Zjg4OWY3Yzg0MWYxMyByZWxlYXNlMzEtbWFpbnQKKzc3NTI1IDI2OWMwOTkyMWJiMmZhNDdiYWVkNDFmMTBhZmQ0Nzk1N2VkN2U5MjkgbGVnYWN5LXRydW5rCis3NzUyNiAwODk1MDQwYWRlZmY1MjYyYjRhMGUxYmI1NDkyNGYzMzc1ODA1ZDI4IHJlbGVhc2UyNi1tYWludAorNzc1MjcgZjIyMTgzZTY4ODVjOTk0YzdjNjk5MmJkZWY5ZTU3NjlkMDVmMzk1MSByZWxlYXNlMjYtbWFpbnQKKzc3NTI4IDExYWQ0MmE3ODZhMjEzOTY0ZmEzNmI5ZDUxMjVlMjM0ZDE2NDc0NTYgbGVnYWN5LXRydW5rCis3NzUyOSBkMTQ5M2NkOTEzMDA2ZDUzYWQwNjY0ZTlmZjhlYmMyOGVhMGUwN2RhIHB5M2sKKzc3NTMwIDhlMTc5YTBmY2I1ZWI4YjU0NDE5YjBlNjRiZGQ1YWFlM2MwMGZjMzMgbGVnYWN5LXRydW5rCis3NzUzMiBjYTAwYWNjOWMzMDRlYjdhOWZmYTQ4NWY2MTg5ZTBhODc4YjEwYzE4IHJlbGVhc2UyNi1tYWludAorNzc1MzMgNWMzMmYzYjY1ZDIxNmZiMzRkZDc5NGEzYjAxNTcwYzRmYTUzZDQ4YyBsZWdhY3ktdHJ1bmsKKzc3NTM0IDE3NGJkYWIwMjRlYjgzNTAwMzk1MTQxN2RiMjAxNWQxZjU2NWYzNTggcmVsZWFzZTMxLW1haW50Cis3NzUzNSA2MzUxZDNkNTNkZWQzNzgwZGRiZjNlYjQ2YWU5MWUwMjNjYjM2OTBmIHB5M2sKKzc3NTM3IGQ4MWU0ODg0NmI0ZWJmOGEyZjhmMjE1YjI2NDJkYjU2NzE2Mjk0MjAgcmVsZWFzZTMxLW1haW50Cis3NzUzOCAyOWExNDEwY2Q3ZGM4MmM1MTAwN2JhNTkyOGIxZGJmNTA3ODQzOTJiIHJlbGVhc2UyNi1tYWludAorNzc1MzkgMWVhN2ZiZDk5Mjk0NTQzODk1NTNjYzMxNDE4ZmMwMTdhYTZlNjhmNiBweTNrCis3NzU0MiBiNWVlNDc4MjFmNGJkODdjY2MxYmQ5NzNjN2ZjOGJmMmRiMjZmNjg1IHB5M2sKKzc3NTQzIGVkOGIwZWUxYzUzMTFjZWZhZGQxMmI2ZTM1N2ZjY2UyMDNkNDEyNzcgcHkzaworNzc1NDQgYTZjYzQyMTJjZDU3ZTMwZDM1YTFkZWUwNTllYjgyYmRhOTlkMWQ3YSBsZWdhY3ktdHJ1bmsKKzc3NTQ2IGE0YTNlNjg4NDQ2ZTRlZTI1MWI4ZWEyZmE2OTk5NjNkMGYwODY1ZDIgcmVsZWFzZTMxLW1haW50Cis3NzU0NyBlMzUzZjVkNzlmNGNjOTM0ZjJmNjgxNzcxOGVmZDIwM2QxYTA0YjI5IHJlbGVhc2UyNi1tYWludAorNzc1NDggODFiMzE0NTA2MWQ5OGNlYzRjMmZmZjI0Zjg0Mjk4YzFkMzc1ODUyMiBsZWdhY3ktdHJ1bmsKKzc3NTQ5IGZiNzNhYTI0NTAxNGFiOTY1ZWUxNjlkMTY1YzNlZTM1ZDhiZDQ5MTkgcHkzaworNzc1NTAgNTM2NmQ1NzVlMmNkMWQyNGJhYWYzZDlkZjNiYmVhOGQ4OGE4MTM5OSBsZWdhY3ktdHJ1bmsKKzc3NTUxIDYwZTA2OWM1OGEzNWRjMjJjZThlYjJhNTNiZjk0NjMzMWQzZDE5OTAgcHkzaworNzc1NTIgN2FlY2ZhNDQzMmRmM2E4ZGVhZTk2NTE4NzJjMDNjOGFlZjEwYTk1ZSByZWxlYXNlMzEtbWFpbnQKKzc3NTU1IDcwN2Q4Y2E1ZWEwYjAyM2IwYjNlNTFlY2E0OTkzZGRmYWQ5NDk5YzEgcmVsZWFzZTI2LW1haW50Cis3NzU1NyA5M2ZhMTBiZWYxZTIyZmY5NTliZjcwOGRhNzk4ZDdkNGM2MTNlNGUzIHJlbGVhc2UzMS1tYWludAorNzc1NTkgOTJhNjJkZmZhNDA0OWNjNzg0MDExNDJkYTEzYjE5OGNiZmE3ZjZjNSByZWxlYXNlMjYtbWFpbnQKKzc3NTYxIDM1ZjdlMjMwOTdkODMwYTZkY2VkN2E0MGFmMmE4OGE0ODNlMWUxZjkgbGVnYWN5LXRydW5rCis3NzU2NiA5MzA0NjRmMzIyMDQ2NTNhZmNiNDQwNzlkMGIwYjg3OTQ5ZmNhZDkzIGxlZ2FjeS10cnVuaworNzc1NjcgMjNmMTJjYmYxMjJjMTMxNDdhMDQ4OWY4NzllYzE4MTRhYzc5YjgxNiByZWxlYXNlMjYtbWFpbnQKKzc3NTY4IDFhZTMzNzljMDIwOGY2ZWM4ZjRjYTI0ZTk1ZjhjM2RmZGY4MTM5ZjggcHkzaworNzc1NjkgYTMwNjgwYmNiNzU4OWNiZWZkNmFjYmFhYmUyNjU1MjA1OGJhMzA1MiByZWxlYXNlMzEtbWFpbnQKKzc3NTcwIDQ1NDdhOWJmZjdjNzdlNzczNzBkYmNjYmIxYTg2MGI2NjEwODE2ZmQgbGVnYWN5LXRydW5rCis3NzU3MSA2NmU1N2ViNTk5NTEwODE4Mjc2NGFjNGQ0NTZjOTM0YTY4MDUwZTcxIHB5M2sKKzc3NTcyIGE5ZmIyMDM3MDhjNDExOTc2MDQ5YjQ2MTBhODc5YzcxMDk4MjRiNjYgcmVsZWFzZTMxLW1haW50Cis3NzU3MyAxY2VmZmIzYzhjYjJlNTVjOWM4NDEyOGEwY2NhYmY4ODljNzZmMDI5IGxlZ2FjeS10cnVuaworNzc1NzQgM2JkNmRmMTFkMWQ2YzI2YTI0ZGRhZTE3NDA3NWQwZjBjMGQyYTdmOSByZWxlYXNlMjYtbWFpbnQKKzc3NTc1IGRmMDIwMDc5ZTI4ODlkNDBhZTIyYzg1NTg0ZjE4NDllYjMwYTlkYzkgbGVnYWN5LXRydW5rCis3NzU3NiA4Zjc5NzFiODIwYTQzNWIxMDVlMWU0NzFmMDFhZjBkNjRmYzU3ZjFiIHB5M2sKKzc3NTc3IGZiMzM3Y2I0NmI5ZGU4NWZmZDUyYTZiYjBkZDdiYTU0OTkxMjAzMmYgcmVsZWFzZTMxLW1haW50Cis3NzU3OCA3MzIyYzU2OTEyOTRkNGRjMjU3NjVkOGFlYmJjMzAxOGYyNjY2ZjI3IGxlZ2FjeS10cnVuaworNzc1NzkgYjk4ODhjMTMzOWRmNTIwYmFlY2M5YjhjOGE0MWJmZjA2NjIwYjk2OSBweTNrCis3NzU4MCA2ZWMxNGJjNmFiMGM5YjU2NWQ0OTgxMTY0MDAzNzkxMDlmNzgzMzdhIHJlbGVhc2UzMS1tYWludAorNzc1ODEgODAwNTU5YzlkNTA0YmZlYTFiNDk2ZmE0MTQ1ZDRlMGVmNWE0YWEzZSBsZWdhY3ktdHJ1bmsKKzc3NTgyIGQ2MGI3YjJjNGExZjUxNzRkODlmYmNhODZlNmNlMDFiNDkxYmQzYTUgcmVsZWFzZTI2LW1haW50Cis3NzU4MyBhMTE3Y2I5MjZkMjA3ZTA5YWUyOTMxMTFmMGM1OWVhMTUxNjcyM2E3IHB5M2sKKzc3NTg0IDhlOTY3NzAwN2ExZThjM2MzNGMxN2FiODUyYThmN2I4NjllNzdkOGQgcmVsZWFzZTMxLW1haW50Cis3NzU4NSAwYzhjYmRiYWZhYWRkYTdhZTdlZTE5YmI1ZWNjNTRkOWIxZDRlMjkxIGxlZ2FjeS10cnVuaworNzc1ODYgYzI0NzUyNmQ1YTViMDM0MmNkYjgzYmNiYmJiYzViOGU4NzkyMGQ2YiByZWxlYXNlMzEtbWFpbnQKKzc3NTg3IGE0ODVmY2RmZTg1OTYwMzg5Y2E5NTVhN2U1NjY3N2NhNmNjN2RmYTUgbGVnYWN5LXRydW5rCis3NzU4OCAzYjQ5ZWY2YjA5ZmZhMGE5NThhMjgxZDM2MmYyNzVmZjFlOWU1ZWZmIGxlZ2FjeS10cnVuaworNzc1ODkgNWM5YzUzYTcyMWE1NTRiZmIwMjVmMTRiMGRkNjUyMjNjYWJmNGZiMiBsZWdhY3ktdHJ1bmsKKzc3NTkwIDNlNjI5NDcxODUwYWZlODM5OWY3YTc0YTgyZTUzNjFlOWYzYTkzZTIgcHkzaworNzc1OTEgNjAzNmQ3ODY5YmQxZjg0MTE2ZGRlMTM1Y2MyMjM0NGVjY2VlOTVhYiByZWxlYXNlMzEtbWFpbnQKKzc3NTkyIGJiMTBmM2ZmYWUwMjgxZDM2OWFjMmI3NDgyMDdiMjk2YTM2NDY4MmUgcmVsZWFzZTI2LW1haW50Cis3NzU5MyAzYWFkY2UzOWQzNDUyZDliOTZlYTM5ZjNmZDRkNWRhZjhlYmM5MmVhIGxlZ2FjeS10cnVuaworNzc1OTUgZmVhY2FhNmU0MGI4NGI3MDQ4MThmZTYxMmY4ZTRlODhjMWIxZGZiYyBsZWdhY3ktdHJ1bmsKKzc3NTk2IGE5ZDUxOGZhZGE1OTk1NjVlY2M4MWQ1ZmZlZTU1ZTExNTVhZjA4OWQgcmVsZWFzZTI2LW1haW50Cis3NzU5NyAxMjFkZWVkNTk2OGVlNjhlNDFlOGQ0ZjI5ZWUxODEzZTZiYjA2YmE1IHB5M2sKKzc3NTk4IGQ1OWY3NmQ2Yjc5NTc3ZGMxYTNkYzFjMjhmMGY4MTAwZWJhNDUxZTEgcmVsZWFzZTMxLW1haW50Cis3NzU5OSBlYzE5MjY0M2FkY2JhMjlhNmViZGFlNGRjMzdiMzE4NzdiNDViZDhlIGxlZ2FjeS10cnVuaworNzc2MDAgODZhMzVlNTliNmIxOTU4NWU0YzRhMmEwN2YwNTU1ZjVmMGQ3YjZlZCBsZWdhY3ktdHJ1bmsKKzc3NjAxIDllNTliZTFkMGMzNzEwYmIxZWFmMjM0YTg4MTg2ODU2ZWM0M2JiMjEgbGVnYWN5LXRydW5rCis3NzYwMiAyZGVmMWRmZGYxZjYzOThiZDBkOTVmMTIzNTE3MTFkMzkyZjU5Y2QxIHB5M2sKKzc3NjAzIDE2Y2RjMTVlNWQ3NWJiMWIzMDY4NDFiOGI5ZWMyNzBjMjBmODA0ZmIgbGVnYWN5LXRydW5rCis3NzYwNCBmNmE2MjZmMzQ4NDBmYTBjM2Y1ZWJhZDhiODYwMjg4MGI2YmRjNzcwIHB5M2sKKzc3NjA3IGRmNGQyMTU4ZmEwNDg2MWQ1ZjFmNDMxMTVkY2NiZTg0Njk0YWEwMTAgbGVnYWN5LXRydW5rCis3NzYwOCA3NWJmYTVkYTFiZWI1MjUyN2Q3NGJlMGM5MWNlMDMwMjYyNjY3NzU5IGxlZ2FjeS10cnVuaworNzc2MDkgZjgwZTZiZDRmZDRlNmE3Y2M0YTYxNWVjMTYzYTlhNzAyMDc2YTMzMSBsZWdhY3ktdHJ1bmsKKzc3NjE0IGJhYzgyMWRmZmVhODA0ZjFlZjkxNmYzMGRkYzVmNTZkZGM2ZTI3YzAgbGVnYWN5LXRydW5rCis3NzYxNSA1ZGJiYzQzYzU5MWI5MmQ3MjViN2Q5MTAxNjFmNTY3MDM4MTgzYWQ5IGxlZ2FjeS10cnVuaworNzc2MTYgODg2MzIwZjFiYTgyYTA1YTJkN2RiMDFmMmQ5MDE2ZjA3MDkwZmI3YiBsZWdhY3ktdHJ1bmsKKzc3NjIyIDczZmVjZDRlN2ZlYzM0ZTkzODgzMjA0MDQxNjFlYzZiN2Q4NDRmNjkgcHkzay1jZGVjaW1hbAorNzc2MjMgMjY1ZWIyNTBlNGE1ODE3NTg4MmViYTI1ZWI5Mjc1MjI0MTc2ZjYzYSBweTNrLWNkZWNpbWFsCis3NzYyNCA5YzU2M2E0ZjNmOWEyNDRiNGFjZmExYTg5YzZhMjU4OTVmMmU4M2M0IHB5M2stY2RlY2ltYWwKKzc3NjI1IDQ2NGEyMzY3NjU0MDk4MmFmMDA5ZTBmODFjMTI3ZWM3ZDQwYTA2YTAgcHkzay1jZGVjaW1hbAorNzc2MjYgODc1MjViZDQ5YTlkNjE1NDNkMDViMWZiZTk0MGEzZTBjOGFiYzk3ZiBweTNrLWNkZWNpbWFsCis3NzYyNyBkNjZjNmViYmM2MTc0MGYwZGI1NmViYWRiMzBlMDA4YzJkNDNhMGU0IHB5M2stY2RlY2ltYWwKKzc3NjI4IDgwYjA3OGQwNTU3NzM2NjE5YTkxZWJmNTNhMzdiZDVlOWFkNDYyMzkgcHkzay1jZGVjaW1hbAorNzc2MjkgZDgyOGNjOTFjMDliNTA4MDcxMWQyZGM1NDMwYTQyNmE0ZGYyMWQxYiBweTNrLWNkZWNpbWFsCis3NzYzMCAxM2JiOWE5N2UxYzUwMjRiNTg0YjBiMTQzMTExNDA1MmY3YTYzN2VlIHB5M2stY2RlY2ltYWwKKzc3NjMxIDUxNzEyYzQyYzVmYjFmNzZiYzFhMjg5NzhhYmFjMzY2OWRhZThkMzMgcHkzay1jZGVjaW1hbAorNzc2MzIgY2VjMTQwZjcyZDAzZmJlZmQyYTQzYWRkMDVkNTM0YTM5MWRmMDM0YiBweTNrLWNkZWNpbWFsCis3NzYzMyBjMWRjZTk1OTZlNzcxYjliNDIxOTdmZGJiMjU5N2FlYjQwYWM5MTI4IHB5M2stY2RlY2ltYWwKKzc3NjM0IDA0ZGVhMDA2MDI1N2JmYTI3ZTJkMWJkMjQ3MzAwNmI4MDRjNzhhNGMgcHkzay1jZGVjaW1hbAorNzc2MzUgNDBhM2JlNzhiYzk5YmQwOTdhOWIxNTkzMzZhZmRiZDM3YzI2MmZiZiBweTNrLWNkZWNpbWFsCis3NzYzNiA3M2UzZWU0NjNjOTQ4NzcwZDhlMTZlMzk3NDBmNGEzMTRhYWIzY2E5IHB5M2stY2RlY2ltYWwKKzc3NjM3IDAwMmY3YWIzNWUxN2QwNmVlNTlkZTI4NDdkMzhjMGRkYjU1MTcyYTEgcHkzay1jZGVjaW1hbAorNzc2MzggM2RmOWI0MGZmNGZjZTk2YjgxYWQyMjE0MjVjZTM4M2FhNGVkMWU4MyBweTNrLWNkZWNpbWFsCis3NzYzOSBmNjQ2YWFhOTFiMGU3Y2QyODRjODY4ZjY5NTdkODFjNTAzYTliZDY1IHB5M2stY2RlY2ltYWwKKzc3NjQwIGZmMzU2M2JiYmI4MDM5YmFlYjU2MzU3OGIzM2YyMDAzZWZkMTRjMTEgcHkzay1jZGVjaW1hbAorNzc2NDEgOWNmMjBiZDE1MTZiOWM5NWZkZTM0ZjNiYmQwYWM2MzllMTkxYjgwNSBweTNrLWNkZWNpbWFsCis3NzY0MiBlZWY3NmM4MTJiY2JkY2FmODlkMzIzNDM4MDUyODZkMjQzOTg0ZDBiIHB5M2stY2RlY2ltYWwKKzc3NjQzIGMxNGM5NDUzMTI3MzdiY2JmYzZmNzU3OGZiYjRjNTk4OTc4NWI4ZmUgcHkzay1jZGVjaW1hbAorNzc2NDQgYjQ3MWUwN2EyMzc1YzZhMjg3MmNiY2UzMTg5MzU2MWVmYjExN2RkMSBweTNrLWNkZWNpbWFsCis3NzY0NSBiNGFmMjE0NTY3OGI4ZTkyY2UyNjYxMDNmMThmYmU1NjFhMThiODk0IHB5M2stY2RlY2ltYWwKKzc3NjQ2IDY5NGFmZjE2Nzc3ZjgwNGZiYzBhZjdjZDkxYjgxZDQxM2Y5MTg0MzYgcHkzay1jZGVjaW1hbAorNzc2NDcgN2QxOTk2NzI3ZDA4NGQ4N2I2MmMxZmVkYjhjZjAyOGE3NmRiNjc5OCBweTNrLWNkZWNpbWFsCis3NzY0OCBkYmMwMGZlMzc3NzE5ZDQ0YWRmMzZiMDJhMTZjY2Y2NDE1YmE4Y2RlIHB5M2stY2RlY2ltYWwKKzc3NjQ5IDFjYWJkZjI4OTM4ZWU0ZWYwZGY5MWMwZDExNDFjNzEzZmM4Nzg3YmUgcHkzay1jZGVjaW1hbAorNzc2NTAgMGJkMmIwNzIwODMyOTg1YzhjMTQ0ODEwMTgwNDFjYmQ5MzBiNGU0ZCBweTNrLWNkZWNpbWFsCis3NzY1MSA5MzFlYzU1ODkyNzE2NGIwNzVkNDgxMWIzODY1NjEzYWYzNmMwYmY0IHB5M2stY2RlY2ltYWwKKzc3NjUyIDBiYWMzZGI0ZDVlMjhjNzhhYzNjNjM2ZWQxOGVhZTcyNjllMTgwN2UgcHkzay1jZGVjaW1hbAorNzc2NTMgNjMyNjNjY2RiMDgxYWEyYWJlNmU0MDA3ZDYyNGRlYTU2ZDE4MTczZiBweTNrLWNkZWNpbWFsCis3NzY1NCA2ZDg5NmU0MjRhM2RhNDM2ZTgzOTUwOWY4NmM2MjBkMGJkM2FmZTFkIHB5M2stY2RlY2ltYWwKKzc3NjU1IGIyMjE0ZWUyNzk4Nzk0ODFmYzZjM2I4NGNjNzU4Mjk3NDVjYjc3NDYgcHkzay1jZGVjaW1hbAorNzc2NTYgMDgxM2U4OWQwMTkzZjY3OTkzZjg2NTdmNWJmMjJkMTg1ZWMxOTkwNCBweTNrLWNkZWNpbWFsCis3NzY1NyA0YWQwM2Y3MWQxZTEzY2Q1MzBkZWM5ZjRlODhjZGUxNDdmMGM1NmU3IHB5M2stY2RlY2ltYWwKKzc3NjU4IDU3N2MwOTlhZGE4ODE3MDE5Nzc4MzdkZTU5MGFjNmYzY2UwZjEyYTQgcHkzay1jZGVjaW1hbAorNzc2NTkgZjA0MDg2MzdiZTc3ZjI5OTc5ZTg3NzFiN2MwMjMzODAxZmI0MTQxMyBweTNrLWNkZWNpbWFsCis3NzY2MCBiMTk4YjBlMjFkNjJjYzY4ZDZlYWNhOGMzNTVlOTgwNzZmZTBmNmQwIHB5M2stY2RlY2ltYWwKKzc3NjYxIGQ0MmE4NTQ2M2Y5Y2Y0MjhlMjRkZDQ1ZjEzMzA4MGYzZDc3ODgyZTcgcHkzay1jZGVjaW1hbAorNzc2NjIgNWVlYzNiMTFlNDFlMTkzN2RhMDkwODQ0M2Q5ZjI3NjAwMzAwM2RlMyBweTNrLWNkZWNpbWFsCis3NzY2MyBlMDNiOWJkY2Q0MDVlOGQ5NGJjMWEzN2VlMDk5NjdiNTJlNWIzNTg0IGxlZ2FjeS10cnVuaworNzc2NjQgYWU2ZmIwNWI0YzE5ZGU2MzM3Zjg3Yzk0ODYxODVkMjMyYmFkYTY2MCBweTNrLWNkZWNpbWFsCis3NzY2NSA3ODJhNDBmZjNmMGRjMjJjYjY2NTRkODNjZTFiOWFkOTEwZjQ3NTgyIHJlbGVhc2UyNS1tYWludAorNzc2NjYgZjM0ZjhhZTc2NDZlNzA2MzlhZTQyOWE1MTcyYzVhNmFmZjlkZWNlYSByZWxlYXNlMjUtbWFpbnQKKzc3NjY3IDRmOTViNDM1MjE3OWM4MmQ4Mzk3ZTUzOWU0YmUwZGJhZDJmODMzYzUgbGVnYWN5LXRydW5rCis3NzY2OCAwNTllMWZkNzg2NWNmZTdiNWVhMTc5ZWYyN2U5NGMxMGZlNTllYmNjIHB5M2stY2RlY2ltYWwKKzc3NjY5IGZlZTdhODhiMDZkMWZlYzk1OWQ3M2RiM2VkOGRjZmExNWIyMTgxZjIgcmVsZWFzZTI2LW1haW50Cis3NzY3MCBmMzhjMTE5NmQ5ZmYxN2U0ZjM4ZDJkMTVhNDBmYTZiYzgxNzRkY2Q2IHB5M2sKKzc3NjcxIGYxYWNkMDE3MjVlMDE4NjUxZDBiYTgyZWQ3NWMxNWViODA1ZWJlMDEgcmVsZWFzZTMxLW1haW50Cis3NzY3MiBmYmU2ZWNiOTFjNGJlNTk1OTg0YzE3NDY0YjY5NDhhNTRlM2JiNjIyIGxlZ2FjeS10cnVuaworNzc2NzMgMjJjZGVjN2Y0NGM1MmYyYmM2YThiMmIzM2MzMjJkNWRhMzIwYjk0NCByZWxlYXNlMjYtbWFpbnQKKzc3Njc0IGNhYTY0ZGM0NGQxNmVmYzJhOGJlNjExM2E2YzMwZjY0MWMzMTAzZDcgcHkzaworNzc2NzUgZjU2ODM4M2FjYzlmODAyOTBkMGJjM2UwZDc0M2IxMDczMTJmYzZkOSBsZWdhY3ktdHJ1bmsKKzc3Njc2IGE5OTZkNjZmYWVkMGNhMmRkZGI2YjZlNjQwNzZiNzQ1N2I1ZWM0ZjYgcmVsZWFzZTI2LW1haW50Cis3NzY3NyA1YzIzNjcwNGRhZjE1YTkwODNhNWQ2ZGIzODRlMDQ0MGNiNjIyZDlkIHB5M2sKKzc3Njc4IGI2MzZjYzcyZDJkZTczYjNmMTlmMTlmNzFlYTM3ODk5ZDQwNTBiNTggcmVsZWFzZTMxLW1haW50Cis3NzY3OSBmODUzOWI0OTdkNGFhMTMyYTY1MTVhMjNkMDhmMzE4YTZmY2QyNjcwIGxlZ2FjeS10cnVuaworNzc2ODAgOWUxMjRlNjQwMmJjNzIxZDdhYzBjOGFjZmU0NTBiNmI5YjlmNDJkYiBsZWdhY3ktdHJ1bmsKKzc3NjgxIGVkNDAyN2U2NjYwMDZlNzM4NjgyMDVhYTU5MjkxNTAwOGUyNzEyMjcgcmVsZWFzZTI2LW1haW50Cis3NzY4MiAxZjcxNWEzNzdlZDA5ZDI1ZTVhZGM3Mzk2Nzg3YWZiNTNjZDcwZTU2IHB5M2sKKzc3NjgzIDRjZmRjOGI3ZmIzYWYyNmY3NThkNTg5NDAwOTJiYWM3NTc4NTEwN2IgcmVsZWFzZTMxLW1haW50Cis3NzY4NCBmNmZjZWMyOGFmOWU0NTk2NDZkZTMxZTVhM2FjMWU1MmJjZTc2ZTA2IHJlbGVhc2UyNi1tYWludAorNzc2ODUgZmU0ODg0YjA0MWI5M2Q4Mjc1MWI4NTMzYzMyMjU4ZTBmNmFlZGY1ZCBweTNrLWNkZWNpbWFsCis3NzY4NiBkMGQwNTc5ZGQxZDEzY2YzMjdmZGQ0MGZiYzA3ZmEyZTFmZWEwZjlhIHB5M2stY2RlY2ltYWwKKzc3Njg3IDRlNjk5ZDdjMzJlY2Y4YmEwMjRjOTNiZjVkMDZmZTZlNDc3NDc0N2EgcHkzay1jZGVjaW1hbAorNzc2ODggMmNmNDFkOGY3ODdhYTEwOTk1OTA4YTUwOWNjZGRlOWVmODUzMTQxNyBweTNrLWNkZWNpbWFsCis3NzY4OSBhZGM5OGJmMTUzZWMwNGJhYjdkZDBlYWNhOTYzZjg3MzhmZjBjOGI3IHB5M2stY2RlY2ltYWwKKzc3NjkwIDAxY2U3YTg1OGRhZGIyM2E1MjM4NDhkYjkzMDNmZWVhNWI5OGQ3N2UgcHkzay1jZGVjaW1hbAorNzc2OTEgNmI3NjE4MTdiNzE3NDFhYTJmMDQ1NjgxZTQ3ODQ3Yjc0YmY4YzU3NiBsZWdhY3ktdHJ1bmsKKzc3NjkyIDMxY2RlNmU2M2MwM2Q4YjM5Y2M2Mzg2ZGE1YThiNDUzYTQyODg0YzYgcHkzay1jZGVjaW1hbAorNzc2OTMgNjA3ZTI1MjVjMDUwN2Q1MzI5MTc2MWI5YTA5MzY5NTlkZDJjZmYyZCBweTNrLWNkZWNpbWFsCis3NzY5NCAwZWM2MDM1MzY1NmUwNDEzMzg2ZWY4ZjEwNWZjN2EzN2Q2Y2E2ZTBlIHB5M2stY2RlY2ltYWwKKzc3Njk1IGNlYzJmMjgxMTE4MjM3ZjUxNzA5ZTlhZTMzM2RhNDdiMjc4NzhlYWMgcHkzay1jZGVjaW1hbAorNzc2OTYgZDBlNGJkNzZjNjkyNzQzNmU2ODYyYjMxNGJjMWU1OGEwNTI4Y2I4MCBweTNrLWNkZWNpbWFsCis3NzY5NyBkM2I4M2ZkYmM4MWE0NDE4N2FlNzY5MGQyYjVhNzUzZjU5MTY3ZTg4IGxlZ2FjeS10cnVuaworNzc2OTggN2E5ZjM2Y2M2ZGYxMWFlZDI3NGNjOTllZTEwMzdmZWVlM2Y0MWI1ZCBsZWdhY3ktdHJ1bmsKKzc3Njk5IGE2NzhmZTFjOWM4YmU5MzYxNDFkMjE5MDE4NWNjNzAwN2ViM2EyZjQgcmVsZWFzZTI2LW1haW50Cis3NzcwMCA2ODAwNjY2M2E4NTIzMmI5NmVhZjViOWE5MWFmNWIzNDI1NTI0ZTU1IHB5M2sKKzc3NzAxIDc4N2M2ODBmMWZlODhjZjg1Njg0N2E1ZmI1NTQwMjQyM2M1YzM3NmYgcmVsZWFzZTMxLW1haW50Cis3NzcwMiBmNjY5Y2YxMDBlYmJlZDNmZWM4NTM3M2JiNjlmY2FhNGU3NTVjYzhjIGxlZ2FjeS10cnVuaworNzc3MDMgOTcwNWVmM2ZkYjIyNzgxN2U1ZTgwNWVjNjkyYTY4N2U5YWNkOTkwMCBsZWdhY3ktdHJ1bmsKKzc3NzA0IGZhNjllODkxZWRmNGU3Y2RmZGJkM2QzODc2NTk2NTU1YzU4MzYzNWQgbGVnYWN5LXRydW5rCis3NzcwNSBhYzZlOTYwYTAxNGQ4MmFlMmQ2OWZiYTBmN2MxZDQ5MDk5MDEwMzEzIHJlbGVhc2UyNi1tYWludAorNzc3MDYgMmRkNjRjMjQ4NTRjOTEwZDEyNzY0YzhiNmVlMGE5ODc2MTMxODZkYSBsZWdhY3ktdHJ1bmsKKzc3NzA3IGJiMWMzM2VmZmY5MzI5M2ZlYTE5YzQwZDFhNDVhM2M2MWI1MTVmZWMgcmVsZWFzZTI2LW1haW50Cis3NzcwOCAzMDFlZDY5ZWRkYzRlYWNjYzFhYjgyMTYwM2Y3YWE4ODU3ZTQ4NzE5IHB5M2sKKzc3NzA5IDkwMjIzZTM0NThlYjMzOWRmMDIzNmU0NDU2NDJjMDNjYWNjZjkyZDQgcmVsZWFzZTMxLW1haW50Cis3NzcxMCAxZWE2Y2ViYmQ4MThmN2Q1NzEyZjJlMWMzNWY1OWIwM2U1OTMzMjJiIHB5M2stY2RlY2ltYWwKKzc3NzExIGYwZjIyMWUxYTdjMDMwZjdmN2RkOTViYzc5ZTgzZTc5YmQwNGVkN2MgcHkzaworNzc3MTIgYmFkNWUwM2UyNDQ1ZTNlNTQ2NjI3NjAxYjI5YTYyNTY2MjE0OWQ3MyBsZWdhY3ktdHJ1bmsKKzc3NzEzIGQ3N2M5NDdmZjdkYjVhZWVmMjE0M2NhOWFlYzM1OTZhYjY1YTQwODcgbGVnYWN5LXRydW5rCis3NzcxNCBiNDBhNWE1NjhlNzZlNDRiMGQ2NjUxMTlhYmI1MzUyY2RiMzBhZGEyIGxlZ2FjeS10cnVuaworNzc3MTUgMTc4OTE1NjZhNDc4YzQyNDk0YTA0ZDgwOGQ2NGE0NTE0OGFjYWY4NyBsZWdhY3ktdHJ1bmsKKzc3NzE2IDVhYjMwMTJmOTBiNzRjODA1NDYwZDA4M2QwZTEzMDE3ZDM1YTk5NDIgcHkzaworNzc3MTcgODA3ZDgzZjU3YmM4ODM5ZDU3NWE0ZjJmNWYxNWUwYzljMTNhOWIzMiBsZWdhY3ktdHJ1bmsKKzc3NzE4IDVkYjgyYTU3ZGRkMDY2YmU2ZTQ1Y2ZiNjI3ZGJkMDZlNWE3NWY2NTggcmVsZWFzZTI2LW1haW50Cis3NzcxOSAzOTQ3ZmRjYTJmNDBkZmZjMWUwM2E4OWQzYjg0ODk5MDQyY2RlNzQxIHJlbGVhc2UyNi1tYWludAorNzc3MjAgZmZjNGE0NGJmZGI5OGYzZjlkNzBlMzIxZmU2YWUwZDM3YjlhZDUyOSBweTNrCis3NzcyMSA4NzY1NmU4M2RjMTk2ODMyMTZiNDU2YzRmNWI1ZDgxOTgxNWZlNjliIHJlbGVhc2UyNi1tYWludAorNzc3MjIgYmUxMmQzNjIxNTE5NTUzZTIwOTQ3MmU0NDBhMjYyY2JjM2M3MDlhZiBweTNrCis3NzcyMyA4YzNkMmE3MWVkMDE1ZWVjMTFlODhmMmQ0YTFhMjEyYWJmYTFlNWNkIHJlbGVhc2UzMS1tYWludAorNzc3MjQgMmQ3MjM5Y2FkNzEzMmJlNWJkYjNkYjJiYzY4YWE3NThkYzUxMzdkYiByZWxlYXNlMjYtbWFpbnQKKzc3NzI1IDFkYzkxZTlkZDVjMTNhNGJjMmQzYmI3ZDRiNTg5NmFiMjY0ZjIzMjUgcmVsZWFzZTI1LW1haW50Cis3NzcyNiAyMzI1MzNmNzFhYmQ2ZjZkYTk5Y2RlMzEyZjI5ZjRiODAzNDZjZGFjIHJlbGVhc2UyNS1tYWludAorNzc3MjcgNmZmY2RhZmEwMTE4OTk0NDg1YTE3NGNlNDEyODMxNDFiODM0MTIxYiBsZWdhY3ktdHJ1bmsKKzc3NzI4IDcxYWNkNDQ4MmU2NTViN2QxYTEzNzY0MzcxYjdlNTkwZWE0NDc3YzIgcHkzaworNzc3MjkgZGFiMzRiNjBhNzJlMWFhMjM0NDBkNmNjMmQ0MjMwNDFiYTAzMGZkNSBsZWdhY3ktdHJ1bmsKKzc3NzMwIGU5OGVlOTQ1ZTI2MjczMDQ3OTgzYjM2NjBhZTBiOTIyNzExODZmZDEgcmVsZWFzZTI2LW1haW50Cis3NzczMSBjMTBhY2U1Yjc2Y2U5NTRkMGM0MjViZWIxYTZkYzJiMmJmMjZlMzU3IHB5M2sKKzc3NzMyIGZmYjk0OTIwZWZmM2FiOTdiMmUwZWI0NjQ4N2MyMjU1YzZkZGZjZTEgcmVsZWFzZTMxLW1haW50Cis3NzczMyA2OGQxYzgxZmZmMmVhNDM4MjYzYWNiMWE0NDIyZjhjODVmZDBmYzYzIGxlZ2FjeS10cnVuaworNzc3MzQgZWFiNmNkZTJhMzFjODQ1YWY5NWEzODI2Y2E1ODVmNTdkMDhlMTQ4NSByZWxlYXNlMjYtbWFpbnQKKzc3NzM1IDVjMWQ3YTNiYTI5YzE2ZWVjNzg3NTQyMWEwZGRkYjJlN2U2YjMwMTkgbGVnYWN5LXRydW5rCis3NzczNiBhMjU2NzkxYWExOWQwZjhmZTFhZTNkNGYyN2ViODFhNTE5MWMwMjU3IHJlbGVhc2UyNi1tYWludAorNzc3MzcgMGNjZTYwYjY4ZTQ2NWMwOTE0NGI0MGQ0NzkxZTJmYTkyOWM5NTlkMiBweTNrCis3NzczOCA2YTA1NzBlZTIzNjZlZDZkZTY1MWQ4NTExN2Y1ZGM3MTcwYjMxYTc5IHJlbGVhc2UzMS1tYWludAorNzc3MzkgNjdmZjA0MDc0MjcwMzIxMTk4MWZjNmUzNzkxZTJhMWI2YmVjMGI2MSBsZWdhY3ktdHJ1bmsKKzc3NzQwIGZiZmU1ZTQyMzQ5ZjZhM2UwMmQ2OWJlZDhmZmY5NWM5NmY3NDA4ZjQgbGVnYWN5LXRydW5rCis3Nzc0MSAyNDE4YTBhOWE5YTkyNWM3ZGI5OTQxMmZhYjVjY2UyM2FlN2NkOTEwIGxlZ2FjeS10cnVuaworNzc3NDMgNWU4OTMwZjM3MGQ1NDU3ZTMwNDk5OWRiNzg5MTNlMGNhNTZjZTdiMiBsZWdhY3ktdHJ1bmsKKzc3NzQ0IGZmNjYzMjRmNTJhMTI0MjJkM2RmYjliOGM0OWI2YjkxMjEzOWU1MDEgcmVsZWFzZTI2LW1haW50Cis3Nzc0NSAwODM1N2Q5ODc4MmI5ZDNlOWFhZTZkNzcwOTI2MmM1YjUzZTIyNjUxIHB5M2sKKzc3NzQ2IDIzNTkzM2Q0ZGE4ZWRlMDkzYzNkYzdkMTg4NGY4YTEyNTMzMjU3NjkgcmVsZWFzZTMxLW1haW50Cis3Nzc0NyA2OTg1YzBlODViNGJjOGFjZDU1MjY2MzcxZTJlZmJjMjZjZjU2ZTA5IHJlbGVhc2UyNi1tYWludAorNzc3NDggNzhjMGFjMDdhYTllYjI3NmU2NTkyY2ZjZTU1Yzg1MWQ2YTYxMzdhNiByZWxlYXNlMzEtbWFpbnQKKzc3NzQ5IDhkZDQ5YTg2YWRhYTU0ODMxZmE5OWYxNjViYTU5NjFhMGFjNjJiYTQgbGVnYWN5LXRydW5rCis3Nzc1MCA3NzIzODk1MGM2ZGQ0MDVmNzI2YjEyMzdlZmI3NWUzYjk0MWZkNWEyIHB5M2sKKzc3NzUxIDFmMTY1YzQ0MDMwNjRiNDFlZTY3ZTlhYjdmMzY1NmQ3M2VjODdjMjcgcmVsZWFzZTI2LW1haW50Cis3Nzc1MiA2MjA4ODM2ZmVkZjk5YTU0NjI4NDZiODM1ODg3NmJhYmY5YjkzNjA3IGxlZ2FjeS10cnVuaworNzc3NTMgM2UwZmVkMjVjMGFlNTljN2QwNzA2ZDM0YzBmN2FkZjAyYjMyMDI2MCByZWxlYXNlMjYtbWFpbnQKKzc3NzU1IDIyYWVhMTMxYjZhZmMxOTE5Y2Q3NzUwMWY1YWVjNzY5NmJhZTc4NGEgbGVnYWN5LXRydW5rCis3Nzc1NiAyYmRlNmQ0YTEwZWRlZGZhNWY2ZTBmN2RhNzFmNjYzNTk5ZTNhYTFkIGxlZ2FjeS10cnVuaworNzc3NTcgNzQxMTg3YmZjNjEwMmVlNTEyNDcwY2JkZGVjNGRjMTk1YTQ4M2JjOSByZWxlYXNlMjYtbWFpbnQKKzc3NzU5IDU4MjY2ZjFhMmU3ZjNlMzYxNmUxMTNiMDc2ZDk5Mjc2ZTZmNzAyYzcgbGVnYWN5LXRydW5rCis3Nzc2MCBiMjViNzhjZTc5OGRjODdlY2M3Y2MwMThlYzkyMDhmY2Q2NWRiNzBlIHJlbGVhc2UyNi1tYWludAorNzc3NjEgZjlmZDE3OTVmY2Y3NGUxM2Q5MDkyYjZhNzljMDM0NGY2ODgwOTYxZiBsZWdhY3ktdHJ1bmsKKzc3NzYyIDEwYWQ3ZDhlNWQxNzE1YTU0NWNlMTlkYjM1ZjYxOThmMjg5MTBkY2YgcmVsZWFzZTI2LW1haW50Cis3Nzc2MyBiYzJiODhiZWFlNDVkYThkOTdlZDU4NWNmZTFlNjM5NDZhNzE5OWQ1IGxlZ2FjeS10cnVuaworNzc3NjQgOTA3ZmYxM2JkNGUyZTE0NTYzNjMwNmRjMDY0MTJmMjZjNDgwMDM1MCByZWxlYXNlMjYtbWFpbnQKKzc3NzY1IDczNzljZjcwZmQ2MDNhZjVmOGVjYzc3OTUwZDEyNzJjNGM0YmE0N2QgcHkzaworNzc3NjYgODIzMmIxMGUzNGUxMzg4YmRhZWEzMjhjYTNjMTdkNDRhZjI0OTJiNyByZWxlYXNlMzEtbWFpbnQKKzc3NzY3IDkyZTZlOGQ5MDRhMjllZGVjMzBiMDliODlkNGM5NWIyYzAyNDJjZjkgbGVnYWN5LXRydW5rCis3Nzc2OCAzYzBjZDdhN2RiOGVlMzAxNzFjYzRiZDA0Zjc3MzMyOWMzZDk1OGZjIHJlbGVhc2UyNi1tYWludAorNzc3NjkgODA1NjIwNTFiYjcwYWI1NzEwNjUyMTE4OWQ1ODNjMWVmMmRkOGFjYiBweTNrCis3Nzc3MCBkODE1ZGQyZmI1YmY5MTg2MjczNGRhNTU1ZDRiNTUxNjY0YTcxNWY2IHJlbGVhc2UzMS1tYWludAorNzc3NzEgMjc0NmMyMTdkZDllMGE4NGNkYTU3YzkzMWU0ZDNhMTUyY2E1ZmMxMiBsZWdhY3ktdHJ1bmsKKzc3NzcyIGZkZTk3MTllMjA1NmY0M2FlYTU2MzYyYjFjMDE0MjI3YjAxMGRkMTQgcmVsZWFzZTI2LW1haW50Cis3Nzc3MyBkZjMzNTk5MTg1MTdkMjE2MmEzYjk2YmQ3Mzc2NjE4N2NjY2NiNzQ2IHB5M2sKKzc3Nzc0IDBkZGY4ZDk2OTBlNWFlN2QxZDI0YmRlZGNhODZhMGY5YTZjMzBlY2YgcmVsZWFzZTMxLW1haW50Cis3Nzc3NSA2NzI2YWViODY3YjkwMDIwY2FkYmNiOTA4ZjQ5ODQxOGYyNjA1YzVjIGxlZ2FjeS10cnVuaworNzc3NzYgNDk4MzExZmQ4ODIyY2U3OWFjZGU0OTg0MDA1NTVhNzJhYWU3ZjNhZCByZWxlYXNlMjYtbWFpbnQKKzc3Nzc3IDM0ZTJkNTE2MmNlOTNjMjEyMzIxZjg3YmJhNWM4NTAzYzk1ODNiNWMgcHkzaworNzc3NzggYWZkMjBkM2Q4NWRjODhmNDZjYmNiNDdjYjI0MmY0YTMxNGExYTEwOSByZWxlYXNlMzEtbWFpbnQKKzc3Nzc5IDc1ZDI0YjI0NTJhNTliMzU2ZjRjZGY0ZGMwMDMyNmY4ZThiYWUxZGMgcHkzaworNzc3ODAgMTIwNTQ2MzQ2ZjkzOTc5NDYwNDg5MTRjZDNhYmYyNTEzZWUyMTI4OSByZWxlYXNlMzEtbWFpbnQKKzc3NzgxIDc0OGUyODJlMDkxY2U0M2Y2YTI3NTRmN2RiOGRkMzA5OGRkMTI2M2QgcHkzaworNzc3ODIgMWRkODIzMmQ0ZWNiOTgxYzQ1NDZkOGFkNmNiMTI1NTBkYjY4MTgwNyBweTNrCis3Nzc4MyBkNGUyMmZkNTI4ZTJhMmUyNjUxNzlhMTQxZDY3OTM1ZjZhZGJkZWZjIHJlbGVhc2UzMS1tYWludAorNzc3ODQgZjZmOWVlODNlY2JmM2M0NzVmYTQ1NzkxMzJhODBlMWM1NDA1ZjM5YiBsZWdhY3ktdHJ1bmsKKzc3Nzg1IGRjNzE0N2QxYjdkOTRkYmYyOTkzYTBjOGFjMmUxYTE2NGY1ZDNmNWMgcmVsZWFzZTI2LW1haW50Cis3Nzc4NiA5NmQ1YzcwMzE0NDA1MjkzNTE4Njk4NTE5ZjkwMDI5NzczOGQ3ZDI0IHB5M2sKKzc3Nzg3IGUyMGUwMmZjMTQ0N2ZjNzMyZWU1NzdkMWE1YjNmZDUyYjY4YWFlNTggcmVsZWFzZTMxLW1haW50Cis3Nzc4OCBhZDdhNjE1NzRiZDY4OWU2MDY4MzczZWVkOTUxODdhODVjODE2N2U1IGxlZ2FjeS10cnVuaworNzc3ODkgOTU3NWNlMGRiMjA0N2MxYzU2NmFhNmU5ODlkOTYxMjZhMmJlOWIxNSBsZWdhY3ktdHJ1bmsKKzc3NzkwIGE4YTRiYzY5YmVhMTIyNTBkZmY1MmZmZGEwZDk5YzE2YjJiZmNiZmUgcmVsZWFzZTI2LW1haW50Cis3Nzc5MSBlNjYwY2I1MmJmMDA2MGRjYzcxYjBhNTlmN2E4ODBmM2VhMTAxZWI4IHB5M2sKKzc3NzkyIDJiZmVlZjYyOTkzNjI4MDQ0MWIyYmU2MzM5NDVmZWRlMTU5OTFiOWMgcHkzaworNzc3OTMgMjAwNzA4ODBlYTQ4MzM0YjFmY2UxNDc5MDYwMmQ0Nzk5M2UwOTU5NiByZWxlYXNlMzEtbWFpbnQKKzc3Nzk0IGRlYmU2MTY3M2E4YjEwNWJlYmIyMThiMDc1MWI3OGZjZDdiZDY4YzQgbGVnYWN5LXRydW5rCis3Nzc5NSA3YTM2Y2EwNDc0MmRhOWIyOGM2NGMxZjIzZmU1OTQ0OWEyYmY1OWZiIHB5M2sKKzc3Nzk2IGY5ODlmNGYzMDI0NTIyN2Q5YTE5NDE1ZmY1MDgwMTc3NmU5OWFhNDggbGVnYWN5LXRydW5rCis3Nzc5NyA0ZjhiMmExNzNjOGRjNWMzYTRlZGRkMDYwZDQ1NGUzYTZlNzhmNWIwIHB5M2sKKzc3Nzk4IDFhMDA4MWI4NWMwNDg5NWRhZTI3ZTJmZjc5Mzk3YWZlNTE0ZDIyYWQgbGVnYWN5LXRydW5rCis3Nzc5OSAwMTFkOTY3YzFhMDQ5NjZiMGRlZjJkM2I3ZjQ5MDA1OGExYzlhYjg3IHJlbGVhc2UyNi1tYWludAorNzc4MDAgZjQxZDM1M2ViNjYwMjY2ZGZmNWFjNmNlNzc0NTc4MWNiNWZmMGM5MCBweTNrCis3NzgwMSA2YTQ3OTJjYmY0YzlmMzY5YTVlNGFjOGJlNWZkZTg3YWY5YzFlZjRlIHJlbGVhc2UzMS1tYWludAorNzc4MDIgMGJkNjE2ZGZjOTc3ODVhMzExNmQ4N2E3ZjU4YzAxNTQ4YTZmOWVjYyByZWxlYXNlMjYtbWFpbnQKKzc3ODAzIDdmYjc2NDRhMGJjNjhhNzU4OTg1NWY1OWEzNzVhYjVjOWY1ZTAyYTAgcHkzaworNzc4MDQgM2YzNmM5ZTZhNWFmN2YyNDQ1NjUwYTk3ODczZTUyNzgwM2MzMzg2NSByZWxlYXNlMzEtbWFpbnQKKzc3ODA1IDFhYmMyMTkxYmVhZjQ5NGM5M2E2YmFmZjMyNTRkOWQxYmQxM2NmMjIgcmVsZWFzZTI0LW1haW50Cis3NzgwNiBhNWU2OGFiNzg5NWJkODFjNjdmZDAwMTRkZjc1MjEyZTdmMjM1NWRjIGxlZ2FjeS10cnVuaworNzc4MDcgNjcxMGE0M2YxOTNmMGY4NDgwZDgzMWM5ZGU1ZmU3YzY4NGE2MmIxZSByZWxlYXNlMjYtbWFpbnQKKzc3ODA4IDRjZjVhZTcwY2IxMTllYjJiNGFiZWMyZWRkMjhjMDkwMDI3YWU0NTUgcHkzaworNzc4MDkgZjYwNjQ3NGEyMTBkMWNlOGFjM2M5MWU0YjhmZGY1OGZhYmM5ZWI2MCBsZWdhY3ktdHJ1bmsKKzc3ODEwIDI0NWYzNjI4MjExMzZjNzkwZjYwZGFjNzNiY2I2YzJmOWM5M2MyMzYgcHkzaworNzc4MTEgNjU4ZWI1YWU0NjE1ODEyNjAyNmRkY2E5ZGJhZTZmMWE0NTA4YmFiNSBsZWdhY3ktdHJ1bmsKKzc3ODEyIDgyYWQ3ODcxMWVkYjUyOWQzZWE1YjM4Y2JjNDYxNjQ4ZDRhY2NmYmEgbGVnYWN5LXRydW5rCis3NzgxMyAzMjE4NzBiNWQwMzBhZDA2NWM1ZDIwY2UxOWI4ZGFkNDY1ZjhjNTE0IHB5M2sKKzc3ODE0IGYyZjU5ZDdiNDYxNDYwY2EwNWU2MGI0MDE4OGFiZTBjNTBjYTJhZjcgcmVsZWFzZTI2LW1haW50Cis3NzgxNSA1NDcyNWUyZThhZGQwZTkxNDFlNmQ2MzE5MGJjNDZjNGYwNGMwYWY3IGxlZ2FjeS10cnVuaworNzc4MTggNWFhOTAyNDhhOTlmOGZhZWM3OWNlMTlkODkzNTQ5NDY3Yzg0MjZhYSBweTNrCis3NzgxOSAzOGI5MGZlMzQ2MjM3ZTlhOTNjMGJlZGQ3YjQ2MTEyMTE2NzY2ZDMyIHB5M2sKKzc3ODIwIDBkNGIwNTg5ZmJjNzIzMzI1ODAwZTZjYzQ0NTg3MzI3ZGZlNGM0ZTUgcmVsZWFzZTMxLW1haW50Cis3NzgyMSBjNTc5OThlM2JlMzNhZjkyZDFhMWI4ZDJhZGEzY2E5NGQ0N2UyNDM3IGxlZ2FjeS10cnVuaworNzc4MjIgM2NlODYwYjllNzMyMzdhNDJmOWQ4NTJmMTkxZGNmZWFlNzExZDJkYiByZWxlYXNlMjYtbWFpbnQKKzc3ODIzIDJiMDhkZTlhMWZhMDEyMDBmOTA5Y2U0MGYzYjMyMGM1MmJhZmM2Y2QgcHkzaworNzc4MjQgNmRlNjQ4OTZjNmY4ODE4MWUyMzkzMTdmYzRiYjIzNGFhZDU5MmJkOCByZWxlYXNlMzEtbWFpbnQKKzc3ODI1IDJkYWI0NzYwNmFiNjNjZGE4MmVmOWQzZjIyMWFjZjAxNWUxY2M2NGMgcHkzaworNzc4MjYgM2I2NTA2ODA4N2M2MmY1MDgyZjIzNjE0ZWZhNzg2ZDYwZWQ2ZmY4OCByZWxlYXNlMjYtbWFpbnQKKzc3ODI3IDIwZjBkYTMxZmEyY2Q3OWIzZDAxODkzMjBlYjc2YTVmYmI1MDJlMzQgcmVsZWFzZTMxLW1haW50Cis3NzgyOCA4NzkxMDFhMGI1Nzk3MDI1MWU5ZmQzNTE3OWRkM2MxNzY4NTJlODIxIGxlZ2FjeS10cnVuaworNzc4MzAgMjc1Y2Q5ZmUwNGYxYmY5NmQ1MWU4ODdhNDMwZWU5ZWMwMTczNTg5MCByZWxlYXNlMjYtbWFpbnQKKzc3ODMxIGRkZTIwYWU2N2Y5ZjMzYWIwOTBiOWY0NWIyMmNiN2I3OGRlODUzODYgcHkzaworNzc4MzIgOGVmMjUyM2MzYTVjNTcyMTAyM2MyOGEyYzdlYWFjYjI4MWFmNjIwMSByZWxlYXNlMzEtbWFpbnQKKzc3ODMzIGEyYzkxNzM3ODQxMWUyM2VhOTkxMGJiOGRmYjZmZTQzNmVmNjk4NTAgcmVsZWFzZTMxLW1haW50Cis3NzgzNCA2MDg1M2MxYWM1NjJkMjU5ODkwZGRmNDcyNThiNTVmZDRkYzFiZjgxIGxlZ2FjeS10cnVuaworNzc4MzUgZWJmNGYyMjZhZWVmOWRlYmZlNmJkNTQ4OGIzYWQ4ZjJhMjE3MTc3OSBweTNrCis3NzgzNiBkMDE0NjIzZWNmNzIwYzJkZjQ1MDhlYzFhYzI1Yzc1ZWUwYjgxNDYzIGxlZ2FjeS10cnVuaworNzc4MzcgZjIwZjhmYzZjZmFlMzQ0MWQwMTllOGJiZjQ2MTNiMDkxNDcyMTA3NCByZWxlYXNlMjYtbWFpbnQKKzc3ODM4IGQ2ZmIzNzhkNzY1YWY5MTVlM2ZiMGYyMTdmZTlkYmQyMTBiM2E5MjAgcHkzaworNzc4MzkgMTA5ZWMwNmJiY2YxYjgwNTExZjQ0NzE3OGE3YmE5NGFmNDUyODk2ZiByZWxlYXNlMzEtbWFpbnQKKzc3ODQwIGUwYWQxZjNjOTFhZjIyY2NhZTlkZDM2MDJhODlkZGRiNTE4YWMzOGQgcHkzaworNzc4NDEgYmZjMTNjZTYyZmFiMGRiNDJkMmU1OThjYzg3YzBmOTAyMjVhOGZhOCBsZWdhY3ktdHJ1bmsKKzc3ODQyIDYyOTVlMTYzMDNhNzE4M2Q2YzUzZWQxYmJlNjM3ZmFjNzgwMmVmMGUgbGVnYWN5LXRydW5rCis3Nzg0MyA1ODkzZWY5YTliODRiZjg4YjBhMWRmODk0OTZjZDMxODc2ZGU0MGMzIHB5M2sKKzc3ODQ0IGVmYzIwMzBjZTZiMTZkODhlYzM4YTEyMzFmMGExYjc0NGY4ODdjNzcgcmVsZWFzZTI2LW1haW50Cis3Nzg0NSA3NDUwZTAzYTUwMWRiYjliZjdjMWMyOGRhOGE5YTcyZmRmMDM3MmUyIHJlbGVhc2UzMS1tYWludAorNzc4NDYgODZiOGY0Y2I5MjNhYzMzOGQ4NDhiZWUwNzUyMWNlYWI1MzZkNDZjNiBsZWdhY3ktdHJ1bmsKKzc3ODQ3IGMwYzc2ZDQ4Y2QyYjhlYzE5ODJmYzk0MmY5ODQ5MDkwZDI3ZjFmZWMgcmVsZWFzZTI2LW1haW50Cis3Nzg0OCA1YzQ3Y2QxNzM2YzE2MmEwZDVhYjFjMzFkMjA1MzE4ODFhZjExMjdiIHB5M2sKKzc3ODQ5IGQzNGQzYjhmOWRlZTRlMTdhYjM5ZGVmZTU1NDhiZWU2NzBkZGZjOGQgcmVsZWFzZTMxLW1haW50Cis3Nzg1MCAzOTMzMmMwYWY4NTY1ZWE5NGJiMzk5MGNjZjVjNjU0YWUyMDI0NWMzIGxlZ2FjeS10cnVuaworNzc4NTEgODI0ZTVlY2Y5MDIyNWI1OWYzNjJkNjc5MWQ5ZWM0MmFlMjhjNWUxMSBsZWdhY3ktdHJ1bmsKKzc3ODUyIDkzNGQ0OTU4YTQxNTFhZmU1OTg2MzZhMGFjYjkyMDdhODcxNTdkYWMgcHkzaworNzc4NTMgZDc5YWE1YjY2OTcxYzlmMWMyOTBhZGUxNDMwZjUwMTVlYTM5YmM4ZSByZWxlYXNlMjYtbWFpbnQKKzc3ODU0IDAxOWY1MmFlMGZlOGNjYjlmYmNiZDRkM2E0OWM4OTM1ZTA4NWM4N2YgcmVsZWFzZTMxLW1haW50Cis3Nzg1NyAyYmY3MzU3ZDEyMmMyNmMxMzE5OGVkYjk4OGUxYTRmNTIyZjUzNGUxIHB5M2sKKzc3ODU4IGQyMWIwNWZmOTIwYWZhZjAyM2RhNjUyZWNmYTlkNGNkNmJlMDFlMWIgbGVnYWN5LXRydW5rCis3Nzg1OSA1YTdkN2VlYjg4YzExMzI1YTVkZDUzYzQ4MWU3NzI4Nzk5M2FlODc5IHB5M2sKKzc3ODYwIDA5MGZjMzljZTVlYzM1ZGQ1YTQyZjM2MWIwN2ZlZWU2MDcxODQ3OGEgcmVsZWFzZTMxLW1haW50Cis3Nzg2MSA5NzZlYzQ1ZDkwOTBhZjg0ZDkwZDQ4MmZhYTU0MTc1YTRlYWMwOGFmIHB5M2sKKzc3ODYyIDY5MDhiYTQ0NWQyYjM1YzM5MGQ4MTdmMjNlNzY5NDhjZDQ1MWM1ZWMgcHkzaworNzc4NjMgZjU2MjA3YjkzNmNjMzU5NDg1YjRhOGRlNmFlYTUxYzQ0MDBkNjQzMiByZWxlYXNlMzEtbWFpbnQKKzc3ODY0IGU5NTY1NzBiYzNiOWYwNGQ5Zjk1NDViYTdjZDM3ODk2ZmU3Y2MwMTggcmVsZWFzZTI2LW1haW50Cis3Nzg2NSBmYzVlYzdlMDQxNzczY2ZiNTJmMjM4MGI5YTRiMTU5NWJjMjdkN2RhIHJlbGVhc2UyNi1tYWludAorNzc4NjYgZmUwODZhYmI0YWViZTllNjA5MDhhNTVjZjUyMGVhMGRhNzJmNDBjMiBsZWdhY3ktdHJ1bmsKKzc3ODY3IDY4YzU2YzRiODYzMWNiZDljODc3MjczNDQ5YTVmNmVlMmQ2MWU5MTcgbGVnYWN5LXRydW5rCis3Nzg3MSBmMGJjNmQ4YWEyMWUwMjUzYzJkMmRkZWNmMDFlYjA4YWM3OTQxZmNhIGxlZ2FjeS10cnVuaworNzc4NzIgNzA5OGE0NmYwYjc1ZTVhYWNmYWY4MWQ2NWQ3MmUzNjEzYjAyMzUzMiByZWxlYXNlMjUtbWFpbnQKKzc3ODczIDM4YzljY2NiYmU1YTRhY2Q0MDA1MTU3YWNhMWY2Y2U4NTk0MjFmMGUgcmVsZWFzZTI1LW1haW50Cis3Nzg3NCBhMjA0Nzc0ZDljNzBiZGRjMmNmYjgwNzU3NWFkNWM0NmJiOGFhODc0IHJlbGVhc2UyNS1tYWludAorNzc4NzUgMmRkYmU2MmE2ODIwZmE1ZDdiNzIzNjU1ODI0OGM0NmIwOGU0NzA0MCBsZWdhY3ktdHJ1bmsKKzc3ODc2IDZlNmI1OTQxM2ExMzg5OWI3NWRmYjFiMGM5YTk3YjI4ZWM3NjIwZDcgcmVsZWFzZTI2LW1haW50Cis3Nzg3NyA1NjZkNWM5NTdjMTk3NTk3MjM1MzdhMzc5OTg3MDExYTFmNjk4ZDQ3IHB5M2sKKzc3ODc4IGNlMGQ0ZGM0ODhkMjkwNWRjYTE5MWZkM2VjNzQwZDUzNmMyMTdkYWYgcmVsZWFzZTMxLW1haW50Cis3Nzg3OSBmNjI4NDJjMjViZDgzM2ZkNjYxNzI4NmQwZjNjYjRhZGUxOTZmYzQyIGxlZ2FjeS10cnVuaworNzc4ODAgNmIzM2VhOTQ4ODk2NjE4MTFlMDlmNjI4MmY5OGZjYzRjZmZhMzcxMiByZWxlYXNlMjYtbWFpbnQKKzc3ODgxIGZkNTgwMWI4Mzg4ZDE1NzIyYTA0N2ZjZWQ0OGViN2UwNzBlNWU5MWEgcHkzaworNzc4ODIgOTgxYTM5ZjM1OTE0ZDQwYzJiNjRlNGMyMzBjYzU2YjcyY2FjMWM1NyByZWxlYXNlMzEtbWFpbnQKKzc3ODgzIDY5YmZmYTNjNzgyZTMyNTg5NGVmNTVmY2VhNjhmNTVlYTgwNThjMDggcHkzaworNzc4ODQgMWU0N2JkNmJiZWQ1NGY4NDRkZGQyYWMyY2Y5ZjBjMTJlZWEyZjUzOSBweTNrCis3Nzg4NSBhNzNiOTJkMWU5ZmQ1ODJlNzVhYTA2YjVmMzg0Zjg4OWFmYzE4NWM1IGxlZ2FjeS10cnVuaworNzc4ODYgMDUwOGVhZDE4ZDZmNWEwOTJlOWQ5NTBjNzJjMTQ2NzA1NTA5ZWVmMyBsZWdhY3ktdHJ1bmsKKzc3ODg3IDU2YTIyMDgyNzIwOWNiYjMzZDIwZDQ0NTEzNzk4YmMyOTgzY2EwYzUgbGVnYWN5LXRydW5rCis3Nzg4OCAxNTlkYTlhNDJmZWYxYzZhYjAyYjkyZmJjYzA2MzViZTAyNTQzNDRjIHB5M2sKKzc3ODg5IGJjYmI5MDQ4ZjQ4MDM3M2FmOWM4YjdiMzRjMWUzZmRlOTgxZTZjYTQgbGVnYWN5LXRydW5rCis3Nzg5MCA3NzEzMGYyZmU5NDRlNGFjZDEwZjAzNWI2Nzk0YTQyZDEyYjFlYTkxIGxlZ2FjeS10cnVuaworNzc4OTEgZWY1NjM5YzcxOTY0MzVjZTBiZTdlNGUzMTFmZDE1M2M1YmQ1YjMzZSByZWxlYXNlMjYtbWFpbnQKKzc3ODkyIDI0NjY1YTlkODgxYWRlMjU2OTdhNzRjNGQxOThkYTdlZGY0Nzg3NDQgbGVnYWN5LXRydW5rCis3Nzg5MyA3NWJiMmYxNjkxYzBlYTk4YjE3NmU2MzJmYjkwMTE0YjNiZmEzYzRmIHJlbGVhc2UyNi1tYWludAorNzc4OTQgMzhlMzA3ZmI4Mzk4NTZhYzk3MGVmYmMyYzcwY2ZmYTY3Yjg0ZDYxNyBweTNrCis3Nzg5NSAzMTFkYjdhNjhhODI5MzZkMTM0YWRkNzQ3NzY4MmRhZjdkZDMxYzcyIHB5M2sKKzc3ODk2IGM3ZTMyYjRlMzg3NGJiYmNlMDQ4Mzg4ZDVlZjM5YWRmY2IxMjI0NzUgcHkzaworNzc4OTcgZDg4N2RiNTAxYTIyMTFhYTM0ZDcxZTFiZjcwYTFmZjNlYTkzYTM1MSByZWxlYXNlMzEtbWFpbnQKKzc3ODk4IGZkMjRkZWRiYTU5ZWE1ZjBlMDEzY2QwOWM1ZTEwYTQ3MGI5NjZkMDUgbGVnYWN5LXRydW5rCis3Nzg5OSBiMmRiZjExZTJhYzRjZWYwNDVkMDNlYWM0NGU5YWIzMDU2OTQ5NWQ4IHJlbGVhc2UyNi1tYWludAorNzc5MDAgODYwNGU5YTI1N2NjOGZjYTg1MGRkYjYyZGI2NjYzNTk2M2FiYzllMiBweTNrCis3NzkwMSBjN2RjYmQ2NWMyMTM1MjNlMzQzNmQ1NmQ5ODdkZjA4Nzg1YWM0YzNhIHJlbGVhc2UzMS1tYWludAorNzc5MDIgYzk3OTU3ZjVjZGY5MjQ1YTJlOTQ4ODRhN2ZlMzYzMGYwOWU2ZjIwYSBsZWdhY3ktdHJ1bmsKKzc3OTEwIGFmNDk4YWIyYWZiNGE1ZDE2YWQ1ODZhOGE4YzI5NWQzNjk3Y2YwMjYgbGVnYWN5LXRydW5rCis3NzkxMSA2NTJlMGI3NDg4NWFjNzc4MTgyMGIwNzVkZGJmZTI4YjRkMmFjNDUwIGxlZ2FjeS10cnVuaworNzc5MTIgZDA1MTc3OWM1YmJkNmRhZDhmNDRlOWNmZTkzMGU4ZGY1MmVjNTRhYiBsZWdhY3ktdHJ1bmsKKzc3OTEzIDViYWRlYmRiNDM4Y2VmNzU1YmMwZDQ0NGI1NmE1ZDMyNjliZjg2N2UgbGVnYWN5LXRydW5rCis3NzkxNCA0Y2JmZjAxMzlmNWI4MDg5ZjhhMGE4Y2Q3MjFlNTNhOGQ3OGNmMTliIGxlZ2FjeS10cnVuaworNzc5MTUgNTI1YjZjNWQ1YjEyY2NmYTY2ZWY0MWZkZTY1MjBlY2IzZWQ4MjVhNyByZWxlYXNlMjYtbWFpbnQKKzc3OTE2IGMzN2Y5OWI1NGQ3Y2Y0NTNlOTJmNjM5NzljZWVhNDRiMGE4YWNhMTkgbGVnYWN5LXRydW5rCis3NzkxNyBjNzcwM2I2NDk1MTZiNzMwMzYwYmFiNGMxNjQzZDczZDVhMzNjOTNjIHJlbGVhc2UyNi1tYWludAorNzc5MTggY2QwMGE5NDE4NmM5MzQ5NzdhNTNhZmM0M2EyMTZmOTNhMjg2NzQ4MCBweTNrCis3NzkxOSBmM2YwOGVlODNjNTU4NjM4YWRkNGFjMjM1MzkyNDg1YjcyMTIwNzc2IGxlZ2FjeS10cnVuaworNzc5MjAgZGYyYjlhNmQyOGFlZjg1YjlhMmU1NjI2NGE4MzgwNmEzNjBhYTA2MiByZWxlYXNlMzEtbWFpbnQKKzc3OTIxIDk5MmNhZTI0NmEwYzdmYTdkYWRiMzFjOTY5NjlmMzk1ZmIxNmRlODMgbGVnYWN5LXRydW5rCis3NzkyMiA3Y2IxNGI1MjJmODFjYmM2YjBlOTk3OTMxY2YwZDdkZjk2MDVhZTRkIGxlZ2FjeS10cnVuaworNzc5MjMgNmZkMmI4MTQ3ZjJhMzdlNWFhY2FhNDA1OGRmNjQ0NjU2MGFiZDEyNCBweTNrCis3NzkyNCAwMGQ3ODM4ZWFmM2FkMzZlNzk5ZWY2MzMzNDNhMmMyMWQxMTlkYTRmIHJlbGVhc2UzMS1tYWludAorNzc5MjUgZDMxMjdmNmRlMTZjMDg3ZDkxZmZkZGFjZjFlNGZiN2E3MWFlZjNlMyBweTNrCis3NzkyNiA3Y2QxODJiZWU2MzBjMzM1MDMyZDljNDk2MTI4MDVjYmQyZGFkNTZmIHB5M2sKKzc3OTI3IDA4Y2Y0YjM1MzFjOTQ2NDhlMGVkODE2OWYwOGIzNmI3Yjc1MzAwMTIgcmVsZWFzZTMxLW1haW50Cis3NzkyOCAzODA5NDI4OTJkYzBlMGViYTM5ZWY0M2U5M2ZkMjU5ZGUzMmExM2E3IHB5M2sKKzc3OTI5IGI3ZmVjZTE1YmE1ZmI5ODc0ODU0ZGZmMzhkN2MwNTBhMzg5NTA5MTYgcmVsZWFzZTMxLW1haW50Cis3NzkzMCBiODg4ZGI3NjQ1YWE4Y2ZmMjdlZTY3ODcwMTNjMzcwOTBiNzRiNjVhIGxlZ2FjeS10cnVuaworNzc5MzEgZWI5ODdjOWRmMzc4ZmM0NmI5ODczYWEzMzk1Y2VkMzA5Y2Q1NTQ5NCByZWxlYXNlMjYtbWFpbnQKKzc3OTMyIGE4N2ZjZTAzYTM0ZGQyMDQ0OTc4YWFhMDZkOTE0YzcwMjY3MzIwZDggcHkzaworNzc5MzMgOTY3YmZkMzY5NzM2Njk3MzExM2UwNzAyYjBiZWM2NTg5MjFkMmVkMyByZWxlYXNlMzEtbWFpbnQKKzc3OTM0IDliMzUxY2I5ZWY5ODMzOTU0ZWQ0MGZkOTcxZDdkOTE3Nzk2ZDVmMWEgcHkzaworNzc5MzUgZWY4MTc4NDc3NTY3ZjdjMDRhOWNiMjdjZjdjNmFiMDRlN2I0NjIxMyBweTNrCis3NzkzNiBjY2M2ZTVkNWEzYjM4NzkwZDUyNzdmNzRhNTNjNGI5MmNmZWZmNmE3IGxlZ2FjeS10cnVuaworNzc5MzcgOTkzZjcwM2E2MWJhZTA4ZTkxMGNhN2E3Yjg2YTUyMDE4OGQwOGQ0NCBweTNrCis3NzkzOCAyYjFkNjY1ZTY2Mjg0Njg2YzA1Mjk5ZTAyYTcwZWUxMDI3OWFjOTg0IHJlbGVhc2UzMS1tYWludAorNzc5MzkgZGFiYjc3MzQ4NTAxYWExNmQyNmE2YzBiMDk5NmFjODA0MTlhY2U2YyBweTNrCis3Nzk0MCA1NGQwMjViMmY0NWE5ZjNlMTdlMDM2YzQ4NjY2ZWMwZGQzZTRkZTYzIHB5M2sKKzc3OTQxIDcyZWNmZmZlOWYwMjU2NmFjNzZiOWUwY2E0NjZlMTVhZmFhYzk0MTAgcHkzaworNzc5NDIgZmYwNDA4ODBkMWJlOTg0OTJhZGViZjc1OGFmOTdhZjk3YTJkMGZhNyBsZWdhY3ktdHJ1bmsKKzc3OTQzIDQ1ODdiMDYyYjhkMDY1Y2I3OTA2ZGQ0M2Q1MGQ4ODE5ODVkZGI3YTQgbGVnYWN5LXRydW5rCis3Nzk0NCBjZTRiODRjMDJlNWE3NTU2Yzg0ZmY5YzZlOGY4YjVmMWEzNDFkZTVkIGxlZ2FjeS10cnVuaworNzc5NDUgMzIzNDRjNWNmOTMyZWEzMjY4ODJhY2MxMWNmYmRjZGU1YzE2MzBjMSByZWxlYXNlMjYtbWFpbnQKKzc3OTQ2IDc0NDJkYjU0NzY0NWUyMGUzNGEwY2FjZWUzMmY3NDkzOGRjMzcxYzQgcHkzaworNzc5NDcgMGQ3ZTVlZGM0NTI2ODA4NzE5MjNjZWY3ODU1YjY5MTMxODEyMjk3MCByZWxlYXNlMzEtbWFpbnQKKzc3OTQ4IDhkODA1YzZjMmRiMzdiZTY3OWM1ZmMxMmNjYjQzZjI3NzIwNjQ3N2YgcHkzaworNzc5NDkgMzljOGI0NzgyNGM1MDkxNTQ2ODliYzYzOWE1ZGEzZGJmZTViODQzYSBsZWdhY3ktdHJ1bmsKKzc3OTUwIDFjN2ZlYWMwZDZkNjM4OGJjNmI2ZGEyZTFlY2I3NTU0ZTkwMWNjZjMgcHkzaworNzc5NTEgOGEyZWI3NzYxMjMwOTcwYWRhYWNkMTA5M2MyZDhhOTgzNzIxY2QxYiByZWxlYXNlMzEtbWFpbnQKKzc3OTUyIDRhZThiOWNhNDBmZmU3YWNhNzIwOWY2YWI0MDJkMjBmNGU3MmIxMzYgbGVnYWN5LXRydW5rCis3Nzk1NCBkNzVmODg3ZGE3NzJmODFlY2Q0NjJjYTZkNjcyNzYyZjEwZjFkMTBmIHJlbGVhc2UyNi1tYWludAorNzc5NTUgYTY0YTAxMzRlNjZjZTA4OWM1ZTE0MjI1MDk0ZDc3YTBhNTUzZDgzNSByZWxlYXNlMjYtbWFpbnQKKzc3OTU2IGE3YTc3MGJjZTkzZDI1ZjE0MGNlNjFlMjgzNjVkZmJlYmZjOWQ5N2UgbGVnYWN5LXRydW5rCis3Nzk1NyAzMGU0MjQ2ZWU4MDMyODUwOTE0ZDMxMmVhMjAwN2IwN2JjM2YyMjg1IGxlZ2FjeS10cnVuaworNzc5NTggZmJhMWM3OGYxMDRlOWMzOTc5Mzc5OWQ2ODViNGZmYmVkMjFhODU2YiBweTNrCis3Nzk1OSAzYzE4OGVkOGU1MjFlZTM3YzQxNGUxMzVmMGVjZmQyZDY5MDJjMmRhIGxlZ2FjeS10cnVuaworNzc5NjAgNzAzYTA0ZTI5Y2U2MzQyM2UxNmRhMWFmNDZmZTI1ZmVlMDJiZjBlOCBsZWdhY3ktdHJ1bmsKKzc3OTYxIGM3MjU0ZThiYzFkYmQxZmQ0MTc4MTUyYWM1YWU4MTUxN2ZiMGJjN2MgcmVsZWFzZTI2LW1haW50Cis3Nzk2MiAwYzJiMDg5ODY0M2UyOTZkMWVmZmY2MjNjYjU2NzY0MzUyZGVlZDFhIHB5M2sKKzc3OTYzIDUxNGI1NmVmZDg5YTI0MzlkODQ4ZGYyYTIzZGY0YzJhMmE2MTk1NzAgcmVsZWFzZTMxLW1haW50Cis3Nzk2NSBlZWI4YTk5Y2EwYzVhMmY4ZjE5M2U0NzcwZGFmMzZjM2UxY2ViNTkyIHB5M2sKKzc3OTY2IDJmODI5Mzk2YTU0ZTM3YmVkY2E5MjRiZGQwMDFhMGViNTViYzIxYjkgcmVsZWFzZTMxLW1haW50Cis3Nzk2NyBmNDQxNDIyZjZmNTU3NGM5NWNjNjA5ZjNlNmQ4M2U1YmRjZGQ4YWQ2IGxlZ2FjeS10cnVuaworNzc5NjggM2MwMjAzNDk5YWU1MzVjNWU1NTdkY2YxYzE0MDQ0NjA1OTgyMWM5NCBsZWdhY3ktdHJ1bmsKKzc3OTY5IGJiNmY4M2I5YmE0OWUwMmYyMGNjOWUwNWJmZWNiM2RkZDQxNjNkMTcgbGVnYWN5LXRydW5rCis3Nzk3MCA1NGU5NzU1ODJjNjU0YTg4NDY1NmU5ZTYwM2MyMWU4YTA3NGJiYzNkIGxlZ2FjeS10cnVuaworNzc5NzEgNDUxZWQzMmNmYzUwNjI0MjMzYjg5NTNlOGMxZTkwNTMyMWU2NThlMyByZWxlYXNlMjYtbWFpbnQKKzc3OTcyIDM3ZjYyNjRkMWFhMzM5ODkxYjM2ZDY4MTY0YjY2MWJiNWEzNDNiM2MgcHkzaworNzc5NzMgNGFhYjE0YWY1ZTJkZjcyMDVlMGI4M2NlMTg1MDYyMTE4NzgxNGM0NCBsZWdhY3ktdHJ1bmsKKzc3OTc0IDMyZTBmMWFhMzRiY2Y3MzEyMGNlYTVjNDFiNGQ2N2Y2NWUyMjczYWMgcmVsZWFzZTMxLW1haW50Cis3Nzk3NSA3ODEzYzQwOTQyZTk5NGE5NGEzYmI2NTYwY2U1YjBlZTc1MWNhMzM2IHJlbGVhc2UyNi1tYWludAorNzc5NzYgZWUwOGZiODM1YmYxMmFhODUzMDA5YTdiNzhiNTU0YmZhZmQ1ZTcxYiBweTNrCis3Nzk3NyAxNTE1MGNkOGZkMzY1MzQ5ZmM0YTRhODU1NTc1N2M4ZmJiNzI2ZDJkIHJlbGVhc2UzMS1tYWludAorNzc5NzkgMzA0Y2U4ZmNjMzJhMWY4MzA4MmZiZGY0NWQ2NTg3N2FlZTNlNjk0NSBsZWdhY3ktdHJ1bmsKKzc3OTgwIGRlNWZhOTI1ZGZlYTYxNTEzMjg3YjA2OTkzM2ViYTZmNTI3ZDM2ODQgbGVnYWN5LXRydW5rCis3Nzk4MSA4MWYyZWNkM2IxM2U4ZmRmMmM4MTczNzlkMDcxMDZiZjg3MGZlNzBjIHB5M2sKKzc3OTgyIGMxYTdjOTQ5YzExMDBkOGZhZGRlNTA1Y2RiNDY2ZmY5ZWRmMzk1MGQgcHkzaworNzc5ODMgNzZjZjYwZTJkMDA1Nzk2ZjYwMDJiNTgwN2Q0YjgxMDljOTRlOTIzMyBsZWdhY3ktdHJ1bmsKKzc3OTg0IGNmYTg3ZDQ2NmMwNDQ4MDNlMjA5MWI3ODZiZjQxMWZhN2E2YTk2M2QgcHkzaworNzc5ODUgYjVhZDIxOTBkY2U4YzBmNmVkZTliZmZmMGJjOGE2OTc2OTQ2YjVmYSBsZWdhY3ktdHJ1bmsKKzc3OTg2IGUxYmRlYmQxMzY4NTllZWRhMWFiOTM4YTBlYTBhYTZjZmQwNzQ0OGEgbGVnYWN5LXRydW5rCis3Nzk4NyA0MjZjYzVmMmFkMjQyMGEwYmI0OTYzMTAxNGQxZGZlMjgzNjBhNTBlIHB5M2sKKzc3OTg4IDU1NTA1ODQyZTk3MzllYTBlM2VlYjgyNjk4ZjAxMTdhYzVmMjczMjIgcmVsZWFzZTMxLW1haW50Cis3Nzk4OSA3YzkzMzY4MzAxMGRjYjI5YThlM2Y3ODIxMWIyNDczZWJkN2EyNDdiIGxlZ2FjeS10cnVuaworNzc5OTAgZWI1NTBlODM5NDYwOTc4ZjAwNjdlZmQ3Y2IxNmUyNDQ3NmZjZmUwMiByZWxlYXNlMjYtbWFpbnQKKzc3OTkxIDUxM2M0YTI2MDBhOGJlMDc2MzZkOGM5NDVjNTFhY2NiNDg1YTk4MzIgcHkzaworNzc5OTIgNWU1MTgzNWY4NTk1MTJlZDJjMjQ4YmMxMTM3MmYyZjEwMzExOTg5ZiBsZWdhY3ktdHJ1bmsKKzc3OTkzIDFjZjE2Y2U0MTVlYWUwNmU0NjE2OTkwYTZmNmIwNDNhZTRjZDI4OTcgcmVsZWFzZTI2LW1haW50Cis3Nzk5NCBiMTFiODAzMDI2OGRkYzNhMGVjMDQ3MDllNGRhMzJjM2JhNmZkZTExIHB5M2sKKzc3OTk1IDk3OWMzYjYyNTA4Mzk3YWM5ODc1ZTQ4MzdhYzM2NDc4ZTIyMTdjMDMgcHkzaworNzc5OTYgMTFiN2M4MTA4MTZiZWY0ODkyODdkYmYyNTM4YzEyNzBlZmJjN2I1ZSByZWxlYXNlMzEtbWFpbnQKKzc3OTk3IDMyYTM2MGIxM2ZhMzIwNmFlYjQ0NGZiNzk4OTIzNTc1Y2U0ZmQ3ZmEgbGVnYWN5LXRydW5rCis3Nzk5OCBjZDMxYTlkNjdlYjEzOWY1MzA2MWM0ODYwZjBiNWZkYTEyMjFjNzk4IHB5M2sKKzc3OTk5IDI3NDE2Y2U2MmFjNmIxMTQwYmZjMTUyZjA5OTg5YTg3ZDlkOGQ4NTYgbGVnYWN5LXRydW5rCis3ODAwMCBjMDNjOTNhYzgxNTFjMzMyMTdlMWZmZTAxYzViZWU0YmFiMGNlZDFlIHB5M2sKKzc4MDAxIDJhNzBjNzJiODdjN2YxMmY5ZDA5ZWFiODMyMTc4M2JkOTI2NjE0MjIgbGVnYWN5LXRydW5rCis3ODAwMiBlZGVhNDhiMTIwZTMzOWJlYjVkYmEyZjRhZWI5NTE5ZmY2N2IyY2RkIHB5M2sKKzc4MDAzIDNkZDkyMWExOTBiOGUxYzYwZjVjYjY2NjFiZjY4OTE0ZTdkMzQyYmMgbGVnYWN5LXRydW5rCis3ODAwNCA0MmFjOGNiMTNlZDBkZjgwM2VmMzdjYjNmYzcyNDg1MDNhMTBjN2I1IHB5M2sKKzc4MDA1IGExM2U4ZDFkMzc5OGM1MDE4MzNmZTZhNjYxNWJiNGU3M2I2YjgyOTkgbGVnYWN5LXRydW5rCis3ODAwNiBmZjBmY2Q1MTU0ZDMzMTY2N2Q1YTg1NjNkNGY5NWU5ODc3MmQzNjZhIHB5M2sKKzc4MDA3IGU5ZGJiY2Q0YWQ0MGFhN2Y4NjhjM2Y2YjExNWI3NjI1ZmU3OGFjZDYgbGVnYWN5LXRydW5rCis3ODAwOCA5NGQxNDgwYmM1NjMwNDFjMjJkMTVkNTQ4ODEwNmJjNWExNzhmMjEyIHB5M2sKKzc4MDA5IDc4ZTc5OTJmMjg1NzlmYTVkMzI1YzhjZWI3N2Y5MjVjODBlYjkxYTQgbGVnYWN5LXRydW5rCis3ODAxMCAwZDhmMjBlNDZjMWZhMTk0NzQ2YTJhMzMzNzBjNGU3ZmY0NTQ4YTJhIGxlZ2FjeS10cnVuaworNzgwMTEgNzhjODhiMDc3ODQzMWE3MGEyYzJiNjljZGMxYjM1MTJmYTY2NWVjYiBweTNrCis3ODAxMiA4ZTU5ZjlmNzg4ZjViMDRlNjA1NjUxZWViNzFhZGRlMTUyNTE2ZmZlIHJlbGVhc2UyNi1tYWludAorNzgwMTMgZmFiMzgwNjc0OTU5NmYzMTFhZjk0NTcyNjFmOTUzZTJkMzY1OWE4MyByZWxlYXNlMjYtbWFpbnQKKzc4MDE0IDJiOGY0NThiYmNmNThlOGQ3MWFmNmZiNGNjYWQ0YjQ2NWNlMTIxN2IgbGVnYWN5LXRydW5rCis3ODAxNSAxM2Y2OTVhYjkxMTFjYzY5ZGYxMDEzMTEyZTJiYWEzZDRiMjAwMjQ4IHJlbGVhc2UyNi1tYWludAorNzgwMTYgMGViNDIyNjI0ZGI1ZWZhM2JmODJhODgzYmQ1OGM3NzQwMzA4NmM4ZiBweTNrCis3ODAxNyA5Y2VlMDg3OTE1YWExZGIyZDg0MzdhMzY4Zjg5M2YwNTQ3Mjg2ZTFjIHJlbGVhc2UzMS1tYWludAorNzgwMTggNTBiZDljZDJlZDQ4MTQzYjdiODlkNDQzODczNjcyNjRkOTJjNTYwMCBsZWdhY3ktdHJ1bmsKKzc4MDE5IDcxZTA4OTI2NWIyODUzY2NiYjNmNTI0MDk5YjM3YmU4NzQwMzYzOWMgbGVnYWN5LXRydW5rCis3ODAyMCA0MTgwNTU3YjdhOWJiOWRkNTM0MWExOGFmMTk5Zjg0M2YxOTllNDZlIGxlZ2FjeS10cnVuaworNzgwMjEgZmU4MzJjNWQzMDY2YjE2MzI3ZDNkMmQyNTM2ODUzZWU1ZDE1ZGE1YiBsZWdhY3ktdHJ1bmsKKzc4MDIyIDVlOWFiNGMyNWI5MTRhOGI2Njg5MDgwOTY4MGY4OWVlY2YzZWU3NjggbGVnYWN5LXRydW5rCis3ODAyMyA4MmNlM2EwODU3MWM5NTI3YWZiNTg5OTMwZDA4N2UyYTQ0YmFiMTk2IHB5M2sKKzc4MDI0IDQwMDJmMWM0NmI4NjljZTM3ZDMwZGM2OWVlOGM1MGM5OGI5ZjYyN2EgbGVnYWN5LXRydW5rCis3ODAyNSA2M2IzYTY1YWZmNTJhOGUyZWZmODlkMjNlYTdmOTMzNTBiNmFhYzNmIHB5M2sKKzc4MDI2IGFkNjgzY2VkZmJiM2E5YzI5MjZhNmYyNmQ0MGQ0ZmYzYWE1YTIzOTAgcmVsZWFzZTI2LW1haW50Cis3ODAyNyAyMjJiNmQ4MGU3NjkyNDAwMWYyZjM4ZGZhMDM3MGZmOThhN2MxZjljIHJlbGVhc2UyNi1tYWludAorNzgwMjggZGQyMjMwYThjNDFkYTExN2UxNTZhYWMwOTU4Y2JkNDFjYThkOGRkOCBsZWdhY3ktdHJ1bmsKKzc4MDI5IGNhY2YyMDdmYmRlZDQzYzRiNDA2YzQyMGIyMWExYjliMTk0NTVjMGMgbGVnYWN5LXRydW5rCis3ODAzMCBlOWNiM2ZkMzQxZTk4MmU1MzMyNTI3YmQ5MTk5ODQ3MzU3N2Q3Y2ZhIGxlZ2FjeS10cnVuaworNzgwMzEgODdkOGI5NWY1Njc1NjA2MTUwY2UyZTZmZWMzNTk1OWEyMDZhMWM0ZSBsZWdhY3ktdHJ1bmsKKzc4MDMyIGQ3ZDQ4YTMwYWRmMzAzNGI4Yjg2Nzg2MjM1MTAwMzY2Y2YwN2M2MzAgbGVnYWN5LXRydW5rCis3ODAzMyA2MDlmYTE4YjI0YmZjYzZhYjg0YjllZTEzYjUwNDkyZTRkMmJhMTZkIGxlZ2FjeS10cnVuaworNzgwMzQgODFiMjMwNmU2YmYzMWJlM2RmNDFmZGRkYzA1YjdlZDYyYjUxZWE2OCBweTNrCis3ODAzNSBmMmM5MWJmNWI3Yjk2NjFlNjYwZjI4OTIzM2U4NGNiM2M4Y2JiZTY5IGxlZ2FjeS10cnVuaworNzgwMzYgNmNhOWQ5NmYxNDBlOTA0Mjk1MTRiYWNlMGE5NDk1NzAxYjA3NzFmZCBsZWdhY3ktdHJ1bmsKKzc4MDM3IGNjMzY3YzA3NzI0NThkM2VkYzA4MTY5NTA1MjUyM2ZlMjg5OGQxMWIgbGVnYWN5LXRydW5rCis3ODAzOCBlZjhmMWMyY2I1MWY5MGI1YmE2YWQ2OTdkNjY3ZDBkMWM1NGU0ODBhIGxlZ2FjeS10cnVuaworNzgwMzkgZTRhZTc5ZDUzZTIzN2EzNWU5NTdkMmU1NWQ1OWNiZjVkZWY3OGY4MyBsZWdhY3ktdHJ1bmsKKzc4MDQwIDg3Mzg3NTY1N2FkMGYzZjIyYmUyODQ5MTQxNjA2MGQwMjYzNTRiYjYgbGVnYWN5LXRydW5rCis3ODA0MSAyYmE3Njc3YmZhOTUxNDhiYzQ2ZTZkOGE0NGNjZmM2MGI0YWQ5YWQ3IGxlZ2FjeS10cnVuaworNzgwNDIgNzM0NjU3YjRiM2U1Y2Y4MDVhNmZhYTRjNDliZmYzYmI0MTI5Yzg5MiBsZWdhY3ktdHJ1bmsKKzc4MDQzIDAzYmFmNmRmMzJkMjY4ZTMxOWQwYmMxYzk4YWI5YzdmNGVkYWM0MzQgbGVnYWN5LXRydW5rCis3ODA0NCA1NTE0NGNhZTAyYmFiMWQ1MTM3ODczZjg5N2E1ZTg4ZWJlMjJmMzM5IHJlbGVhc2UyNi1tYWludAorNzgwNDUgMGI0MmUxYWE0YThiYmIzMGY1MDgxNDg0ZmY5MmQwYmQ5NDU0MDlkYiBweTNrCis3ODA0NiAyMjM1ODcwMGE0ZDBiYmI0NzcwNjU0ZmI1MTQzY2U1NWJiOWUzNzk3IGxlZ2FjeS10cnVuaworNzgwNDcgYTJhYjI2YzVmMDhiNWE0OGI3Mzc2ZWEyODBlN2YyYWE4YThkMTJlNyByZWxlYXNlMzEtbWFpbnQKKzc4MDQ4IDIxYTQ3MWMzNDRlM2EwNTlmYWRiYzlkZGYwZTFkYjA2YzAyNzQ0NDYgbGVnYWN5LXRydW5rCis3ODA0OSBiN2E1ZGYxNDA4NjllN2FkNjZhNjRhZTcyZmQ4MzI5NTFkY2UxYTIxIGxlZ2FjeS10cnVuaworNzgwNTAgYzU4ZWQyNTU0ZjVjODczNmJkMDEyMWExZGJlMDhlNTE0YjYwMzZiZCBsZWdhY3ktdHJ1bmsKKzc4MDUxIGVkZTBmMDVkYzZjMDgxNmYzNTc0NDIyZGMyZDNkODhlZWQ0OGVhMGUgbGVnYWN5LXRydW5rCis3ODA1MiBhNjZlYjhhNjNkNWI2YTg1OWNlYmRlZTQwYTA2ODAzNTI3Yjg5ZjFkIGxlZ2FjeS10cnVuaworNzgwNTMgMTAxMDFjZjg5ZDIwNGE4ZTdmNzQzODdhZjE3YzY0N2MwM2EwMTY5MCBsZWdhY3ktdHJ1bmsKKzc4MDU0IDdjMjRmZWZjMmNkNGIxYzM1YmUzNzVkNDQ5MGI1YTVkZDZiYTAxMzkgbGVnYWN5LXRydW5rCis3ODA1NSA2YjgyYTIzMjM1MDEyYTc0YTM3ZjA4Zjg0YjY2MjQxZTk4M2Y4NDBlIGxlZ2FjeS10cnVuaworNzgwNTYgZjRjNTFhZTE2N2M1NTJkNTM2MGNlNDFlODk4NGY0NWM0NjBlM2YwMiBsZWdhY3ktdHJ1bmsKKzc4MDU3IDgyMTRkNGZjMzIzNDM2NWI3NmQ2ZDNjNmNiNTc4ZDgzODNhMzk3YzAgcmVsZWFzZTI2LW1haW50Cis3ODA1OCBmZGVjMzBhZWI5M2YzYWYzN2JjZWNhZGJhNDIxYjgzN2UxZTA4YzIwIHB5M2sKKzc4MDU5IDUyYmI0MDMyODYzZTE2MjE3ZGEyNmEzMmQ5Nzc3Y2Y5NzViOTAzOGEgbGVnYWN5LXRydW5rCis3ODA2MCA5MzdlYjBmZTFmOWMxYzMzZTMyNjJhODJkYTIwZDM0MDJjNTk0ZWY4IHJlbGVhc2UzMS1tYWludAorNzgwNjEgM2QzNzUzMDExMTVkYjNjMDFiMTFiNDY1MWYyZWFkOGFjYTM2ZmUyYiBsZWdhY3ktdHJ1bmsKKzc4MDYyIDZhNmZjMGMwOTFjZGVmYzY1ZTk3NzM3ZGQ5NWZjMTkyZWQxYjUyNTcgcmVsZWFzZTI2LW1haW50Cis3ODA2MyA0YWNiYmI1YTQ4ZmNkMDFjY2MzYzgzOGQwYTU5Njg3ZDI0YTM3NmI3IHB5M2sKKzc4MDY0IGI0N2JjY2EwMDE1YWM2MGQ1MjI0OWE3OTBmM2EwYWU3NmM2NDk5MzQgcmVsZWFzZTMxLW1haW50Cis3ODA2NSBkZTUzYmFhNWFjN2RlOGIzMWI0YjZkNDI1MTQ5YWJhNjQ4ZDhiNDQ4IHJlbGVhc2UyNi1tYWludAorNzgwNjYgMzc3NmMzMWMwZTgyMDhiYTcwNTNjZDAzZWRhOTAyOWRhMjg5YmZmNCBweTNrCis3ODA2NyBjOTY0NTdkZjQwZTBkOWNhYmEzMDk3ZmE5NzU3OGY0NGZmYjdlNTU5IHJlbGVhc2UyNi1tYWludAorNzgwNjggNGU0MGEyOTExNzUwOTMxYWUwMzNmNzI3MzVlY2Y3MTkyYTViZTJhYyByZWxlYXNlMzEtbWFpbnQKKzc4MDY5IDEwZjE5ZDFjM2I3NzE4YmY5ZjU4NzMyYWFhMTQ3YThlM2E0NjdjNjYgcmVsZWFzZTI2LW1haW50Cis3ODA3MCA3OWMwMjJkNzcyMTNjMjRhMjJjZDBjZGUxM2YzZDVjMDBmMWEwMTM3IHJlbGVhc2UyNi1tYWludAorNzgwNzEgY2E2N2MzN2NkMjZkYzAwYjg4ZTBmYzJhYTlmOTE5N2U1ZTZkZDQ4NSByZWxlYXNlMjYtbWFpbnQKKzc4MDcyIDE5N2YyNDNkZGFiNTNlODg4OTBhNWJmYjQxZjI5NmQ5MjdkODI1MGYgcmVsZWFzZTI2LW1haW50Cis3ODA3MyBiMGM3NDNjN2Q3ZWVhZjBiNGM0YjFhMDUzMjY3NTljNzI1OGY2OTIxIHB5M2sKKzc4MDc0IDdkMDdkYTJiN2RjYWI3M2YwYmUzNjY0ODYxMzAyNDFhZjg3MzZiY2UgcmVsZWFzZTMxLW1haW50Cis3ODA3NSBiNmRmNzVjMTdlMDJkYzA5MDYxYmM1Yjk2Njk3ODRjODdmMGUzMjM1IGxlZ2FjeS10cnVuaworNzgwNzYgNTY5NDQ0NGZkNWQyZTlmZTdlNmNmMWUzNWU3NDY0NGE5YTc3YmFkMSBsZWdhY3ktdHJ1bmsKKzc4MDc3IDUzZjgzZjIwMmE2ZDY4NDY5OGQxNGRkM2I3NGM4OTQwMWY5NmNkZTMgbGVnYWN5LXRydW5rCis3ODA3OCA5MTg5ODAzZjgzNDA3ODYzZDQ2OWE2OWRmMDM5NzNhYjMzNzM4OTViIGxlZ2FjeS10cnVuaworNzgwNzkgYjExNmZmYmNkMWIwNzExOWExNjQxNjdlNThjNTI5YTZhNWZkMGQ5NCBsZWdhY3ktdHJ1bmsKKzc4MDgwIGQ1MzBhNzJiNDZmYzgyYjljODhhMDYyNGI4ZjljMjNhZjNhMWYzZjMgbGVnYWN5LXRydW5rCis3ODA4MSA4N2NkODkzY2I4YmEyNmQyNTM5OWFlM2EyYmY5M2M5ODA0YWU3MGY3IGxlZ2FjeS10cnVuaworNzgwODIgMjE4MDRkYzdhZmY0YjQxOWIwZWVkZWIzZmQwMDY1YjA2Yjg3Y2ZlMCBsZWdhY3ktdHJ1bmsKKzc4MDgzIGRmZDQ2YTVkYjg3MmJlYmZkZjVjMTVhNjU4NWY0NmI2MzMzZjcwNjcgcmVsZWFzZTI2LW1haW50Cis3ODA4NCAwY2ZlODM2YzRhOGQwNjEwNGIyMGUzYzc0ZGNiOTEyOGE5YzI5YWJkIHJlbGVhc2UyNi1tYWludAorNzgwODUgNmE4OTJjZWRmM2E0M2FmMjUwM2UwOGViN2UyMWI1MzUwODZjNDc2YiBsZWdhY3ktdHJ1bmsKKzc4MDg2IDg2YTg0YmUzM2U2YWE4NmMzYzdkZTJlMTZmYmVlZmMzMzg2NjA0ZDAgbGVnYWN5LXRydW5rCis3ODA4NyAxYmU3MTE0NDczZWI1YTlmZTcxOGRkNGQ5ZWM0ZDdlMDExYmQyOWE2IHB5M2sKKzc4MDg4IGJkNWVlMTNmZGRhMWVjZDgwNTk1NGM2MWM0ZmY3M2IwNmRiNDNlYTYgbGVnYWN5LXRydW5rCis3ODA4OSA1N2ZmNzcwMmVjNzRlN2I4ZmJiMzA1Y2RmMDE3YzRkM2I2NjYwYTM5IHJlbGVhc2UyNi1tYWludAorNzgwOTAgMGNmOTdhZDJmZDFmNjFhOGRmNWI1YWEyNmNiOWEyMWE5N2E5OTBhMyBweTNrCis3ODA5MSA2NDAwNGE5ODYyZTQ3MjFkNTg2ODQxYjYwMjM3ZTAzODkwNGUxZjlmIGxlZ2FjeS10cnVuaworNzgwOTIgODBlMDIxZmUzNGVkN2IzYjkwNDlmMmQ0OTk3NDUwYzU3ODJhNjFmNyByZWxlYXNlMzEtbWFpbnQKKzc4MDkzIDcwZTExNWMzNGY5NzA4YTQyMWYxYzhjZjQxNmRmMjYwY2EyNTc0ZjQgbGVnYWN5LXRydW5rCis3ODA5NCAzZDk0YjFlNzc5YzU4MjkyYjU2M2ZmNmExMTQ4NWZmYjQ5Y2YzOWIyIGxlZ2FjeS10cnVuaworNzgwOTUgYjgzNGM4ZWU4ZTdjOTJkZGI0NDBhZWRjYmM4NmQ5ZmRiNDIxOTA0OSBweTNrCis3ODA5NiBmMTA4ZjYyNzU4NTU1Njc0NzQ3YmZiOWUyMTU0NjRkNjg0YmM4NmJjIHJlbGVhc2UyNi1tYWludAorNzgwOTcgYTI4MDg0NGI2OGY0ODU1NGNmODYwYzY0ODdkOWIwNTUzNjI3ODFjNCBsZWdhY3ktdHJ1bmsKKzc4MDk4IGZhY2E5N2M1ZjAzODA0NjExNjQ2M2I2MzFiNjZkYTBjNzg0MTA2Y2YgcHkzaworNzgwOTkgMTNmY2FhNzkzMjRiYjg1MTRlMmMzYmE4Y2IxYTEyYWI1NWM0NGQ5YyBsZWdhY3ktdHJ1bmsKKzc4MTAwIDNmMzkwZjQ4YjExMzE0ZWRhNDZlY2Y0ZjRkNDZhZGY4MDljYWM2MjEgcHkzaworNzgxMDEgYzhjMGFhMWZkNGE2ZDUyOWUwMzA3NzU2YmQ3ZDI0MTQ2OGQyMGJkOSBsZWdhY3ktdHJ1bmsKKzc4MTAyIGM4NmQ5M2FlY2Q3YTI1MDJkOWI3NTYzNzViZDVmMDdlMTY5Yjc1ZTUgbGVnYWN5LXRydW5rCis3ODEwMyBkODRkYWNkYjJkMTI1MjQ5ODBhNjkxZTU0ODIyMmM3MmI4Y2IzYmY2IGxlZ2FjeS10cnVuaworNzgxMDQgNjAwYWI5Y2VlNDAzNTBlNjNmYzA0MmNlMmNjNmQ2MWQ1Y2U3MmU4YiBsZWdhY3ktdHJ1bmsKKzc4MTA1IDRiY2Y5NjgyOWQxYTNkODk3ZjQxZTdkYTVlNTZlMTFjNDgxMTM2MGUgbGVnYWN5LXRydW5rCis3ODEwNiA5MzY3NmFlOTdjNjhiNTNlNmEwOTY4YzM0MTU5OWEwYWZlMzVjZmZhIGxlZ2FjeS10cnVuaworNzgxMDcgNDg0ZGExM2YxMjUzNTNjN2M4NDllNmQwZjMxMmMxZThiZmY0ZWQ0NSBsZWdhY3ktdHJ1bmsKKzc4MTA4IGRiZjAzZWI3YzEyZWQ0MjBjZTY4ZDQ3YTljMTdlMTdmZTRjODRjYjggbGVnYWN5LXRydW5rCis3ODEwOSBhOThiMTM2MDhkMjNhNDVkYjA2MjZlYTI5OTdiYmI4Njk4MzNhYTU1IGxlZ2FjeS10cnVuaworNzgxMTAgZTdlODliNDU4MzQxOGI5NDFkNTI5OWNmODg5ZDkyN2UxYWMxOTA4ZiBweTNrCis3ODExMSAzN2U4OWRlYmVmNmEzZGU0OTcwZmE0YjM5NmRmMzgwNjNmZGZkYzg4IHJlbGVhc2UzMS1tYWludAorNzgxMTIgNzU4OTYwNWRhZWQxMDQyYWY5OTMyNTE0Y2NkOGRmYjk3YzlkYWEyZiBsZWdhY3ktdHJ1bmsKKzc4MTEzIGE5MWZmYzk2NDRlYjllNmYyNjg3MjE0YTc1YTQwN2FhNjhjOTlhYTAgbGVnYWN5LXRydW5rCis3ODExNCA0N2ZhNTRkYWIzOGNhNzBiZDYzYTQ1YWQ5ZGIwOTM4YzczNWM1NjBmIGxlZ2FjeS10cnVuaworNzgxMTUgNGUwZGI0NDU2NGIxNzNkMDlmOGE3YTVjMDEyOGE0NDFjYmNhZWI0MCBsZWdhY3ktdHJ1bmsKKzc4MTE2IGY0OGM0NzFhYzhjOWUwZTk4YmJhMTY4ZjEzYTMxNzY0ZjY2NzgyMWIgbGVnYWN5LXRydW5rCis3ODExNyA5NmMyNjcwM2I0OTBhNGI1Nzk3YzIzMjUzNDg0MzE2NzBmZWY0OGExIGxlZ2FjeS10cnVuaworNzgxMTggOGJlOGQ1ZGI5NmEyNWNhZDhlOWMyNjRhNjNkZWNkNmY5ZjNjN2Q4NCBweTNrCis3ODExOSA1OWUxNjJiOWYyMjU0M2Y3NDhiNTgyZTFlMjI2ZjQ2YTlkNzViYzMxIGxlZ2FjeS10cnVuaworNzgxMjAgM2VlZjM5ZTdiNzRmMzIyOTRjODFlNjFkZWM4YWQxNzM2OGQ4MTA4NyBweTNrCis3ODEyMSBlNWM1NjQ2NTkyMDM3MzZiMTM0Mzg4OWU1YzJkYTAxMjRkZTAzODgwIHB5M2sKKzc4MTIzIGVhOGNjMTM5NTFiMGJiYTVjNDgyMGNjZDNhYmZjMTNlYjliNTNkZmQgcHkzaworNzgxMjQgNmE2ZWRkYjQ1OTk2N2IxMDAwZTY0NzA5ZDBkMmYyYzdhZTQ1YWE5ZSByZWxlYXNlMzEtbWFpbnQKKzc4MTI1IDI2NTI4NTkxMjE3Y2YzNzNlMzU2ZDU4MGZmYjE3ZjQxZWRkMDE0MzIgbGVnYWN5LXRydW5rCis3ODEyNiBiZGJlMTM3OWYzZWFmN2YyZmRjOTZjNjFmMTA4YjJmMzFhNTk5MWU0IHB5M2sKKzc4MTMwIDBiZWI3YzgyOTRjN2Y0MzljMjQzOGQyMGQ1OGM1MzMxOWYxY2VmODUgbGVnYWN5LXRydW5rCis3ODEzMSAwYWY2OTlmMDllZTNlMmNkMDViNDhiZDhkYzNkZGVmNzRkN2M1ZTEwIGxlZ2FjeS10cnVuaworNzgxMzIgNjFkMTcwMWQ5YzY2MmVjYjM5NDQyODQzMjQxM2YxYTkxODc4NWM5NiBsZWdhY3ktdHJ1bmsKKzc4MTMzIDExNjU5NTk0Zjk4MjI1ZWVlMzUxMDQ0ZjE3MjE1OTYxYjBkYTA3NmIgcHkzaworNzgxMzQgYzUyOWU1MWY4Mzc3NThkYmQ1YTE5ZmFkODczNjVhNDFlNzIwYzAwNCBweTNrCis3ODEzNSA1ZGNlY2FjMWM4ZDY3NWVjMDE4MzRmMzg0OWY3NDQ0YjdkNGNiYzk3IHB5M2sKKzc4MTM2IGQxZTJmNzk0ZDAyMDY0MjVmZDlmNzdhYzVlZTBiMjQ2MDBiMjJjOTQgbGVnYWN5LXRydW5rCis3ODEzNyAxNzJmZGIxZDczMzdhZGI0YmM4YzEwZjQ3OTUyNWU4YTFkNjNkZDAzIGxlZ2FjeS10cnVuaworNzgxMzggYzJiZGJkOTM1YjVlNTBjYjY3YjBjN2JiYjJhNDgxYjM5NmJlNTE1ZSByZWxlYXNlMjYtbWFpbnQKKzc4MTM5IGE3MWRlYTg5ODc3ZDg5NmY2NjA5MGY3ZDFmYmY4MjY0ZmU0N2QzMWMgcHkzaworNzgxNDAgNjg3Y2E0YjM3NGY0Yzc1NjhiNDA5NjIxOTIyYzllMmY2ZTNkNjYyOCByZWxlYXNlMzEtbWFpbnQKKzc4MTQxIGM0NWRjYmRjYWI4NzM2MmRhYzZiNGQ3Y2MyNjA5ODhiZGE4YjRlNmEgbGVnYWN5LXRydW5rCis3ODE0MiBiZmQ0Nzk4YjFmNzdlMDBkYjZhNzlkODEzYzZiNzYzMzk1NjZjNzRiIGxlZ2FjeS10cnVuaworNzgxNDMgMTRlZTNkNGM3YmQ1Yzg1NGUzYjY2M2M0ZGJiMDNmNDE0NzRjNjA5NSByZWxlYXNlMjYtbWFpbnQKKzc4MTQ0IDgzYzhkZmI1NDQyMTIwZWJlMWQ5OGNiOGZhMTI4MTIzOTM0ZWE1ZDEgcHkzaworNzgxNDUgZmIwOTgwZTFhNGNlNDJmNmMzNDM0NGVkNWMyNGQxOTg0M2UzYzNiMiBweTNrCis3ODE0NiA1ZWZmYmQ1NTIxZTNmNmVmNTdhNTEyNmQzMzJkNzQwN2VkMGRiNTY2IHJlbGVhc2UzMS1tYWludAorNzgxNDcgMjM2YWI0OGVkZDBjZWE0OTg4OGQzOTgwODY5YjllNDI1ZGU1YmM1MiByZWxlYXNlMjYtbWFpbnQKKzc4MTQ4IDJiOWIyMWI4MzBkOTI0NjAzNWRkOGQ2Mzc0ODRjMDVjZThiYTg2ZTQgbGVnYWN5LXRydW5rCis3ODE0OSA0NzEyMzkxNWVhMjBkOTBkZmZhMzc3ZmJhZjQ2ZjBlODMwY2E3ZDY4IHB5M2sKKzc4MTUwIDNiZDY1YjM0NmJmY2ExNjc3OGViNjE4MDk0YTMxM2Y4OTI4ZGU2OTggbGVnYWN5LXRydW5rCis3ODE1MSA2YWU1MGMyYzBhYjlmM2I4MTQ4ODUwNDNlNTI0NGRjNTI3OGU5YjRlIHJlbGVhc2UyNi1tYWludAorNzgxNTIgZjE1NmI1ZTczYjBkMWExMzM5MzVmMTVmNzllYmM5MTRhZmE2MDQ4MCBweTNrCis3ODE1MyA4Y2YwN2E2NWQ2Zjg1NThmOWNiNDc1MWI2YzU0MTU1ZDY1NDc2MzExIHJlbGVhc2UzMS1tYWludAorNzgxNTQgODJhYTk2OGE5NTA0YTZiMzUyMzU3ZjgzOTcxMWRiMmU0MmYwMGIyNSBsZWdhY3ktdHJ1bmsKKzc4MTU1IDMzNDUyZDk1MzAxZjE2MDczNzVlZTNlMzY4YWM0YzcxZWJiZWUwNzUgcmVsZWFzZTI2LW1haW50Cis3ODE1NiA1OTAyOTQ0OTVlNWYyZDMwNjE2MDhjMTU0NzA1YzRiNTU5N2VkZGU4IHB5M2sKKzc4MTU3IDM3ODhhYjI4Y2NhZDcwZTZlNDg4OTM1YjhjMTQzNmU4MGE0ZjZlMGMgcmVsZWFzZTMxLW1haW50Cis3ODE1OCA1NmZlMTY2OThlZTgyODhhYTEwNDFlM2ExNzVkMDJkZjlhM2UzOTAyIGxlZ2FjeS10cnVuaworNzgxNTkgN2IxNjJjNmE5MzQ0ZmMwMmRkOTY1MjRlNjVlNWU5ZTllMTk3YWNlOSBweTNrCis3ODE2MCA2ZjY5YjhmYzJiYTNlZjY4YTcwZDViNWMyYmU5ODZlOWQxMmU3NDY4IHB5M2sKKzc4MTYxIDEyMThhMmEyMjUzY2NhMzQzYWE3YzAxMmVlMGE5MDY1MTk3NzVlNDQgcmVsZWFzZTMxLW1haW50Cis3ODE2MiA2OTRjOTdhMmNkZGMxNmRiMzFlZTMyY2MyZWNkNTRjYWI0ZDc5ZTVmIGxlZ2FjeS10cnVuaworNzgxNjMgMjI5NmM1ZTZhZDBkZTY2YmM2NDM1ZTc3NGZmMWU5MGJlMGNiN2QxYSByZWxlYXNlMjYtbWFpbnQKKzc4MTY0IDgxMjk0NjJjYWEzMDdhNTg5MWM2OGY3MGJmMjRkOGFhMzI0ZGU5M2IgcHkzaworNzgxNjUgNTM3YjY2N2FkNDUwMDNjOGQ2NjdkNmYwYzgwNzgyZTJmNmE1MWE4YSByZWxlYXNlMzEtbWFpbnQKKzc4MTY2IGIxYzlkNmJjZjNkNGM4NDJjMDY5NzBjYjgxOWEwNzI2YTViM2I2NmQgbGVnYWN5LXRydW5rCis3ODE2NyA2YWNiOWFmYzc1Y2RlNGFjZDg2MDhmM2EzN2MyMTk0ZWZkM2Q1MGY5IHB5M2sKKzc4MTY4IDMzNDdiNGVlYWI0MDRlN2Q5MzMwN2QzOThmZmNkZjg2NjZjZTFiZWYgcmVsZWFzZTI2LW1haW50Cis3ODE2OSAyNjNhOGY5MDU3OGQwNmZkZjc1MWI3M2ExOGZhZDM3YzU5YjJhZDQyIHJlbGVhc2UzMS1tYWludAorNzgxNzIgZDQzNzQwMjQ3NTAzMzJiZDA5YTE3ZjE0YWY3YTkzNTQ5MjQ4ZGFhMiBweTNrCis3ODE3MyAzMmE0ZWUyNDgwNjk0MzRlMDhmODVmYTMwOTJmZGVjYTA2NThhOGIyIHB5M2sKKzc4MTc0IDQxNTc5MjAwN2ZmOWVlYjM3ZTY4MzA1NjhiN2JkZTQ5NjhhNDExNjEgcmVsZWFzZTMxLW1haW50Cis3ODE3NiA4YzRjMzkxY2FhZWJmNTc2MTczNDRmOWNmZDI1YTM0N2I1YjM5OThiIGxlZ2FjeS10cnVuaworNzgxNzcgYTMzNzVhMGZmZTJlNDU5MDQzZWUyMTUxNjM0OTkxMDk3MmZlOGUxOCByZWxlYXNlMjYtbWFpbnQKKzc4MTc4IDcwZjQ1NmJmNzYzODdkNDk5MDJkMzlhZmZmMjI5YTA0NDhkMDQ0MTggcHkzaworNzgxNzkgZTBlYjk3NzNhZjgxODM0ZDNkNTk4YTM2MTM0MjU4MjlkMWE1NzQyNiByZWxlYXNlMzEtbWFpbnQKKzc4MTgwIGE3OTZmMjhhY2VlMmU3NWRiMTk3YzAyNGIzMDMwYjc0YzVlYjgzYTIgcHkzaworNzgxODEgNjhiZTQ0NDI4OTA5ZWQzNGM3ZmY2MjBmOTJiZWM4NDU1NTkwOTAxMSByZWxlYXNlMzEtbWFpbnQKKzc4MTgyIGRjMTMwNGYwNDVhNjBlNTI0NjQ5NjA3MGE3Zjc2MGI1NTIxMzBiOTEgbGVnYWN5LXRydW5rCis3ODE4MyBhMGVmY2Y5YjZlZGQ1NDJlNmU1ZTY3YWZjYTFkYmQ0ZGZlZjc4NTRiIGxlZ2FjeS10cnVuaworNzgxODQgMjAyMmVkZThjYTBjNjFmNDRmZGY0NGMwMTZlYjAyNzg1ZjMxNDJmYSBsZWdhY3ktdHJ1bmsKKzc4MTg1IDkwMWZjYWFlNTI3NWNkODQ0ZWM1Yjc4N2RjYzk2MTAxN2M3OTkxOTcgcHkzaworNzgxODYgODc1NmMzZGU2ZDI0YjhlMjI5ZTQ5M2UwYzE2ZTVlNDNiMmEwYTZjNSByZWxlYXNlMjYtbWFpbnQKKzc4MTg3IGQyOTFiODMwNDJmYjZjOThlMWE0YzQwYmQyYjU1ZDgyOThjYmRiOWMgcmVsZWFzZTMxLW1haW50Cis3ODE4OCAzMWY1OGQ5YzcwMTZlYzhmOTZkMDY1MTlmZjc4ZDdkNDhmNGZlYmJiIGxlZ2FjeS10cnVuaworNzgxODkgNWU2ZWRiNGU3NmY1ODM3MDExMGM2MDBhMDAzOTFkMTJmNGE1ODU4OCBsZWdhY3ktdHJ1bmsKKzc4MTkwIDZiMjliOWY5NjgwNTk5Y2I2NTYxZTBmNzkwOTMxMTM0YTY0ZmZlZWIgcmVsZWFzZTI2LW1haW50Cis3ODE5MSBlZjc0NzY0YTYzMjA5ODM2MTA0MzFiMzE2MTRiNWEzZTY0NTNlOGRmIHJlbGVhc2UyNi1tYWludAorNzgxOTIgM2JhYWJkMWQ2OGEyODZmNDMzYWRkYjQyMmQ1ZmYzMGQwYTZiMGVhNyBweTNrCis3ODE5MyAwMjkzMTgyNDY5YTc3MzRkZDMyZTQ4ZDhhYmYzZTRjYjRkODU5YTI0IHJlbGVhc2UzMS1tYWludAorNzgxOTQgNDExYjMyOTkzOGRjNGNhZDc4MTQxMzgwZjI0MzhhYzUxNDdiMWZiNSBsZWdhY3ktdHJ1bmsKKzc4MTk1IDE3MjVmYmFiZTczYmQ0MDVhMDg1MjBhYzc3ODM5OGY2Nzk0NDM0NzEgcmVsZWFzZTI2LW1haW50Cis3ODE5NiA3YWU0M2MwNTExNmQzZjkzNmEzYzIyZWY4YTQ0M2Y5NGYyOTFhMGQ3IHB5M2sKKzc4MTk3IDYzNzRlMTg1OTM0NjQxN2Q1MjUwOTg2Nzc4YWQ2ZTQ1NGUyYzI5YTQgcmVsZWFzZTMxLW1haW50Cis3ODE5OCBiNjQxYzFhYTY0M2UxOTI4Y2E5MDRiZDA3ZjMxNDA0MTY2YTE2Y2YyIGxlZ2FjeS10cnVuaworNzgxOTkgNDY1YzA0N2VmMzExYzBjYzQwZjBlN2QzYmFhNTJlYTAzNzczOWM4ZSByZWxlYXNlMjYtbWFpbnQKKzc4MjAwIDc3ZDg1OTAyNjkxOWNlNGFiZThlMjM2ZGEzZWZkODhjYjk4Y2JhOGEgcHkzaworNzgyMDEgNGY2YzFiODI3N2ViNDM2ZWNiYmRhNTA4MDY0OGY3ZTIyNjA5YmI4YyByZWxlYXNlMzEtbWFpbnQKKzc4MjAyIDdhNTZmMmNhZTNlY2Q3ZGEyNzYyZmQ4ODk2MjgyZDViN2E5NjlkNjAgbGVnYWN5LXRydW5rCis3ODIwMyAxNWIwNDlmYWMxOTFhNDA2NWNiMDg2YzhjNzc5NTc3ZjkxOTU1ZmI2IHJlbGVhc2UyNi1tYWludAorNzgyMDQgZDRmYmI3ZTUzYzkyOTJiOTRkZmE4MmY1ZTRkMjM1ZDllN2E5OWQzMSBweTNrCis3ODIwNSBiNzMyNmY5YjU5OWI3MGYzNTFlNzlhYzEzNGIwMjFiNGY4ODBhYjI4IHJlbGVhc2UzMS1tYWludAorNzgyMDYgZWJmZDBlYWViZTI3MTE4ZjI5YTRmN2FiZTc4ODhjNDIwZTJlNDU5MSBsZWdhY3ktdHJ1bmsKKzc4MjA3IGJmYjNlODRmODVmZmY1OWVmMzRjODk1ZTJiZDkyMTgyNWM0NWExNjIgbGVnYWN5LXRydW5rCis3ODIwOCBlZWNmMWJlZjA1MmQzZGE1MTEyM2QyODViODNkMThiNGM0MWE1ZTE3IHJlbGVhc2UyNi1tYWludAorNzgyMDkgNThiMzBkYmNmOTljNDhkNmI4NWU3NTMzYmUwYmQwYTA2NzIzYTc0NCBweTNrCis3ODIxMCBhNjcxZWUzYmJjYjQ5OGU3NDk0NjNlZjRkODkzN2I3NzQ2OGNkODE5IHJlbGVhc2UzMS1tYWludAorNzgyMTEgMGRiZTI5MzBlZTNmMGRkMjU5MGQ1MGIzMzRiZDMxMDhhMDU1OWYzZCBsZWdhY3ktdHJ1bmsKKzc4MjEyIGEyNzI0NDRmMGVmMGM5MDIyZjM3ZWM4NmZkNDU3ZWZmNWM2MmRkOGIgcHkzaworNzgyMTMgMjI1MzU1N2Q2ZmEyZmU2MTEyZTgzYzIzNWQ0OTA5NWM3OTAyYjk1MiBsZWdhY3ktdHJ1bmsKKzc4MjE0IDRjMGJlMzdiNDZiMDM2OGMwM2I0ZDdiZWJlYmM4Y2I2NzZjMGFlOTEgcHkzaworNzgyMTUgZGZjNjdhZDRkY2VlNTdiNjY2MjdjYjBmOGQ4ZGQ0MTFhNjQyZGRiNSBsZWdhY3ktdHJ1bmsKKzc4MjE2IDhmMDJjNTRhYzJhYzhhNzBmZTcxMmQ5MGNiZTMwYmZjNzU0NzBiMmEgbGVnYWN5LXRydW5rCis3ODIxNyBlM2QwNzEyMzNiZWZjMGFlMTUzNjJiNzUzN2QzYzEwZjlmYzhmNDljIGxlZ2FjeS10cnVuaworNzgyMTggZWExYWRjNjgzNWNjZDE5MmZkMzg5YWM5NDZlOWNiMTVhYzcxNjM3NSBsZWdhY3ktdHJ1bmsKKzc4MjE5IGYyMjVkNWU2ZTBlNTBiMGNmY2ZlMjA4NDhlNWY2YWFhMDVkZjIzY2EgcHkzaworNzgyMjAgOTNlM2U2YzUxNTEzNzU3ZWI4MTUzMzg4MTdlYWQ1NWM0MTAyMDc4ZiBweTNrCis3ODIyMSA5YTU4MWMwMjEwZjJlZjc3NzdiYWUyOGZlZjM2NzlhMjEwY2JlNjM2IHJlbGVhc2UyNi1tYWludAorNzgyMjIgNDFjNWU4ZWZlYWEzYzU4YzkyNTlhMWRiM2E3OWYwZTdhNjkyNTgyYSByZWxlYXNlMzEtbWFpbnQKKzc4MjIzIGZiOGMwMzg4ZTM4NWU0ZWQ5Yzg0MzBlMzJiYzA5YThjZTJiZjA1NzEgcmVsZWFzZTMxLW1haW50Cis3ODIyNCA5OTJmZDA1NDdmZjhkNTdkODRmMzhlYTVhNjQwZTgyNmFiNWU5NjA4IHJlbGVhc2UyNi1tYWludAorNzgyMjUgMjg2YWYzMDhjMWJiYWFhODhhMTE1ZTA4Mzg5NDRhYzY3NzVkZDBjZiBweTNrCis3ODIyNiA4YTllZjJjZjc5NGZlNmU2Y2I3MGJmYjgyYTZmNzQ2ZjZlYjkzNmZjIHJlbGVhc2UzMS1tYWludAorNzgyMjcgNTk3ZDZkMzYyZGRlNDBkODBmYjcxN2RiMzM4Nzk5NTIzODUwNTcwOSBsZWdhY3ktdHJ1bmsKKzc4MjI5IDVhYTlmODNkZDAwZDlmZTJkNGMyNDRkMjlhZWIwZTkwMDc5MDE5NzkgbGVnYWN5LXRydW5rCis3ODIzMCA3MmY0NmNiZmE1N2FhZDIyMzdiNmYyOGZiOGVjYTViN2Q4MmVkZjI2IHB5M2sKKzc4MjMxIDVlNjE0ZWFhYTUwNTFhYjk0ZWIyYTEzMWIzN2Q2ZWEwZjliYzg3NjMgcHkzaworNzgyMzIgNmU3NGQzZTUxZDMzZTlmNzkxYTYxZmRkNGU1ZWYwMzc5MzJmMzI1NCBsZWdhY3ktdHJ1bmsKKzc4MjMzIDRmYzhiNmZlNGFmODY3YTJiYWZkYzRjODc0MGJkZmMyM2IzMGJhZjMgcHkzaworNzgyMzQgN2RhN2Y5YmZkYWFjMDE3ODlkN2QzNDVhN2VhMzA0ODY5ZDZhMDBjMiBsZWdhY3ktdHJ1bmsKKzc4MjM1IGM0ODVlNTVhYWY5NjVmNTQ2NTk2OWE2MDdkY2YwZGFkMTY3OGEzMWUgcmVsZWFzZTI2LW1haW50Cis3ODIzNiA4YjE2ZjE0MDgyNDllOWFlMmY5OWE2NTE4ODBlYjhiMWNhNjRlZjI0IHB5M2sKKzc4MjM3IGY3MjVjZjEyMzM0Yjk3YzAxMTI5YmI5OGY5NWFlZTkzMmQ2M2M5OTkgcmVsZWFzZTMxLW1haW50Cis3ODIzOCAwOTA2YzZmNjQ4NDc0NDlhN2EzYTUwMzBmZjlkYTA3NTk3YzE3ZDM5IHB5M2sKKzc4MjM5IDQ3NGVjNTY4NWEyZGYwZWVjZjczYjcwOThjNWEyN2JjZTM4YzcyYmIgcHkzaworNzgyNDAgM2M3MDQ0NjFlYWRhMDljYjllMzdmOGI0OWI5NjYwN2VkMTA1NzdlMSByZWxlYXNlMzEtbWFpbnQKKzc4MjQxIGY5ODE3ZWM4YjU0YzA0YjM2M2Y0Mjk1ZWVjZjhkNDg4YmQxZTAwNDUgcHkzaworNzgyNDIgNjc0YzI3ZDg3ZWE5OTIxYjViZDBmZjUzYTk3YWUxMjUzMTQxZjJlNCBweTNrCis3ODI0MyAxYmYwNDNlZGI4ZDU3NGZhZWU1OTZiMzAzOTdmOWFkODc1MjljYzQ1IHB5M2sKKzc4MjQ0IDUyODIzODIwZGNlMTNlOGQxZjI5OWNmNTA4MWIzNDgzNTdjMTkzMDEgcmVsZWFzZTMxLW1haW50Cis3ODI0NSBlNzQyM2JlZDBlYzQzZTJhNDRmZmFjMDkyNTE2MWY2MjJkYzMxNTQ1IGxlZ2FjeS10cnVuaworNzgyNDYgOGQ4NzFlMGZhNzAxODYyMjBiNDQ4YTE1NjRmYTIzMmRmYTZjNGFiZSBsZWdhY3ktdHJ1bmsKKzc4MjQ3IGVhZjhhOTNjZGJmZjRjYTg2M2U2Mjc0Y2ZlMjgyNmNiYmI0YWEzMDIgbGVnYWN5LXRydW5rCis3ODI0OCA3YWI2Mzg4NGQ2OGI2ZjU3ZjY3MzU0NTNiMDc2NGNiZGNlZjA3NDNjIHJlbGVhc2UyNi1tYWludAorNzgyNDkgM2E3MTMyZjY1NjIzMTM2ODEwODRiODkyMzVhODdiYTk5ODM5MjBhYSBsZWdhY3ktdHJ1bmsKKzc4MjUwIGFjYjI3Yjk3OTIzYTNhN2VhNDI5M2ZmOWI5MDMzYzgxYmNmNWM1N2IgcHkzaworNzgyNTMgZGU0Y2E4ODE0ZTBkODgzMTdmNGM3YTNmMDI4MjAyMzgwYzMyZGY2NyBweTNrLWNkZWNpbWFsCis3ODI1NCA1NTdlNDU3OTk3YTgxNjRjZTI3NjE3MGI3ZjJmZDdhMWFkYTg3N2I1IHB5M2stY2RlY2ltYWwKKzc4MjU1IGJhNDA3YzNkODIwY2Q4NTZkYzNhY2U3NmM5MDdmNjA0OGJjMjQ0OTUgcHkzay1jZGVjaW1hbAorNzgyNTYgODY3MjcwZDNjYTg5ODkwNGMyNTM5M2VmOWQwN2FkNDhjMjRiZWM0NiBweTNrLWNkZWNpbWFsCis3ODI1NyBhYzVjMmNmZWE0MmY2ZDA2N2MwMTFiNGUxZTgwYTJiOTdhNTVhOTMwIHB5M2stY2RlY2ltYWwKKzc4MjU4IDlmY2MwMzBhOGU3MDFiODExNWFmODQxYmFiOWZlOGZlNjc3OWIzMWYgcHkzay1jZGVjaW1hbAorNzgyNTkgM2U3ZGQyMDY4NWQ4ODVhOGE3YTY0ODhhMDE1ZjhhMmYzNGRjMmMxNSBweTNrLWNkZWNpbWFsCis3ODI2MCBmNjdiY2Q0ZWNiZWVmZDU2YTVhNDEzMWFiZWFlOGI4MDA1ODA4MGNmIHB5M2stY2RlY2ltYWwKKzc4MjYxIDY2Zjk3NTBiYzZmZjM2MWRjZWQ2ZGM3N2NhNDlhYzc1MGQyYWJmNzMgcHkzay1jZGVjaW1hbAorNzgyNjIgZmJjMTU5NTMxYmUxY2M1YzA2YzNlYTlmNjhjMjkwZDg1YTcyM2ZhNSBweTNrLWNkZWNpbWFsCis3ODI2MyAxMjliYmM2NjM5YmQ4N2YwOTY5Y2NmNTc4NTNhYmQwYTljNDZhM2E4IHB5M2stY2RlY2ltYWwKKzc4MjY0IGJhZGQ0ZTcwNTczM2FiZjQzNTQ5YWVjMzY1MzRmOWJiZjA4ZmM4YzkgcHkzay1jZGVjaW1hbAorNzgyNjUgNDIwOWMzOThjOTI5N2FhNTViOWIwZWFhOTBhOTg4ZjVkMDcwN2U5YiBweTNrLWNkZWNpbWFsCis3ODI2NiBlMGUzZjYzNDE1NzA0NmY5MDFjYjI5MjFlMDNhZDgzODUzZmM4MGFmIHB5M2stY2RlY2ltYWwKKzc4MjY4IDNjMTJiZGY2Y2M2ZDE3ZjNiMDg3ZTk2NDQwMmJhOGE4ZWQzNjRhOTggbGVnYWN5LXRydW5rCis3ODI2OSBhYjIxYTA0ODFkNzI2NGU2MTUxNDk5MDY2YmI1NmRkMDM5YzY4MmJlIHJlbGVhc2UyNi1tYWludAorNzgyNzAgZDMyZDAzZDQxOTQ3Njg3YjBkMjZmOGU1N2I5MzhmODYyZTU0MjdhYSBweTNrCis3ODI3MSBiOTgzNzc5ZjIxMjFiODU0NTExYTk1MGYyNzQ3NmIyZWRhNDljYWZlIHJlbGVhc2UzMS1tYWludAorNzgyNzIgZGNkYTk4NWM2NDAzNDI4MDhjZTdkYjA3NmFjYWIyYmUxOTVjNmYyMiBsZWdhY3ktdHJ1bmsKKzc4MjczIGFmMDBmNzBhMWZmMTA0NGMyN2NlZDFmOWUxZDBhZDRhMmY3Y2E2NWMgcmVsZWFzZTI2LW1haW50Cis3ODI3NCBkYjg2YmYzOWNjYWE2OGYzYmYzZjllNzFjMTc2MjhjMmZmYzMwZDIzIGxlZ2FjeS10cnVuaworNzgyNzUgZDNhZTA0MWU3YjhjMjZlZDk1ZDRhNzcyZWY5Y2M4N2NlNzhiNjE1MyByZWxlYXNlMjYtbWFpbnQKKzc4Mjc2IDM3OTBmM2VkYTFjNTZiOGFjNmZiZWNlNDc3OTMxMTMyMTllMDk1ZGEgcHkzaworNzgyNzcgMzkwYjBlNzA3ZjU0YjVkYzA5YWMxNzE0NzQzYjZjMGQzMzAwN2IwNCByZWxlYXNlMzEtbWFpbnQKKzc4Mjc5IDFiMjQyZmIzM2JlNzEyM2NhYTY1MDBlM2Y4Y2I4M2UyMTkxNmQzZDQgcmVsZWFzZTI2LW1haW50Cis3ODI4MCBjOGVhNzU1OThmZDZkMmU0MGMyMzQ5Y2EwODYyMjY0NDc1MTgwODk1IGxlZ2FjeS10cnVuaworNzgyODEgYjkyMmUxZWJlMzgwMjI2OTE5ZjQxNDU1Mzg3OTU3M2Y5ZDZmMDZkZSBsZWdhY3ktdHJ1bmsKKzc4MjgyIDBlZDE5Mzc2OWE1ZjFlZGJmNTU3MTkwMDUwZWUyMzZlMDFmMGQzZDggcmVsZWFzZTI2LW1haW50Cis3ODI4MyAwMzQwODA0YWQ3MTNlMDQ4NjRiYjlhYzE1ZGJjMmQ3NjgwMGNlNmRhIHB5M2sKKzc4Mjg0IDRmMzA0NDUyYmJmNjlhYWZlMDZhOWI2ZmI5OWIyYmQ0YjAzYTRhMDQgcmVsZWFzZTMxLW1haW50Cis3ODI4NSA4MGI2MTJjZDk0YTRlN2RlMWRlMjk5MGEwYmYyZjE0Mzc4MDQ4YTBjIHJlbGVhc2UyNi1tYWludAorNzgyODYgNTAzM2E0Mjk1Yzk2YWViNzJhMDNjMzg1NzI0OTMwNTU2MmUwMmY0MyBweTNrCis3ODI4NyBlMTQ0YzYzZTFmYTYxMTI0ZTM3NzFmMmY1NTU5NzgzMGU5YjEyOGIzIGxlZ2FjeS10cnVuaworNzgyODggMGQzYzk3MWViMjA2OTc1OWJiNzI2Nzk5ZmNlOGI2ZjM0NWEyMGUyNSBsZWdhY3ktdHJ1bmsKKzc4Mjg5IDIwYjg1N2JiMTBiODA4NWQ5MmNmNTE5MzJlODA2ZDViZWQ5NDYzYTEgcHkzaworNzgyOTAgYjc0OWE3OWE1MWNjYjRjYmE3MmQ0NzYxZTUzODVmNTRlMTNiZDhhNCBweTNrCis3ODI5MSAwZDJkNjYwNjEzMDNiZDViNWQwOWI2MjgyNGVjODhiNjVhOWM0NmQwIHJlbGVhc2UzMS1tYWludAorNzgyOTIgMTcyMGVlMDgzZWVlZjY0ZmMwOWFkM2VkYjk3MDlmMjM1MWMzZmQ5NyByZWxlYXNlMjYtbWFpbnQKKzc4MjkzIDZkNmJlNjVkMzg4MWZiNjIxYzYwODQwZWFkNGFlNTE0MGE3NDU1ZjkgcHkzay1jZGVjaW1hbAorNzgyOTYgOTZhNGFhMWYzMWMxMzY5MTAzNGYxNDZjMzQ5NGI5MDhlNWNkZjExMCBsZWdhY3ktdHJ1bmsKKzc4Mjk3IGFiNmZkOWU0NTQzNjIwNDIxY2Q5MzVkODhlNDYyYmVmYWJiYWZmYTcgbGVnYWN5LXRydW5rCis3ODI5OSA1ODFlMjFkN2ExOTI4NTdhNTVlODBiNGEyYzUzOGViNmU0MTc4NDgzIGxlZ2FjeS10cnVuaworNzgzMDAgY2MwZTY5YzhmMGMyMzcyOWY0NDM4ZjJlNDQwYTgyYTc2YjcwMmM5YSByZWxlYXNlMjYtbWFpbnQKKzc4MzAxIGY4ZGRmY2VkMmEzNDdhN2M3ODlhNmM4Y2M3MWI0OGUwYTFmZDZiYTUgcHkzaworNzgzMDIgMDM2OWJiYWE1ZDJkZmJmOWFhMWY3NWRlNTc0NjRmODAxMDA5MjQ4OCByZWxlYXNlMzEtbWFpbnQKKzc4MzAzIDNkZTliYWNhZDk1YmMyYmE0YzJkMTFhNTg2ZmE0NTdjZDJiNDUxNjAgbGVnYWN5LXRydW5rCis3ODMwNCA4Yjc0NTVlMDFhMTExNTBkN2M3MWJiNmE5MTVmOTc3NGU3NTNhNWQ1IHJlbGVhc2UyNi1tYWludAorNzgzMDUgZjg2MTJkNDEwZTJjNDE4YjI4ZWExOGRkZTdkZmE3NjgyY2JiNDU5NyBweTNrCis3ODMwNiBmMGFjZjIxMzhhOTY2YTdlM2VlN2Q5NmJjMDI1YTE5ZmMwODMyYzIwIHB5M2sKKzc4MzA3IDIwNDU0ZmIwYmU2ZWY3NzQ0ZGJlMWRhODEwOTg2OGVkOGM1Y2Y0MTUgcmVsZWFzZTMxLW1haW50Cis3ODMwOCBjMjU0ZTU0YWM4NTY0NmZkZGY5OTlkYTg5NTU3OTRlYWYzODY5YmY3IGxlZ2FjeS10cnVuaworNzgzMDkgYzFhNGYyN2FlOGZlODM2Njg4ZDdhZWU5MzA3OWUzMDcxZTU0MTQ0MiBweTNrCis3ODMxMCAxNWQ4ZWQ5NDhmYjU2MTFiNGFmNmVkMGQ1OWYxYzU3MTkyYmVjMWRhIHJlbGVhc2UzMS1tYWludAorNzgzMTEgOWVjZTNkZDFlOTAxMGQzMjZmYjkwNzI4ZGQ0MWYyMjM4Mjc1Nzg4ZSBweTNrCis3ODMxMiA1MGY4YmY2MTcwNmE0NjBhYmI2N2M1YTQwZDdkYmZiZjk4YjdjYjZmIGxlZ2FjeS10cnVuaworNzgzMTMgYzQ1ZWMzYjExYmJhOWVkODI0YWU3ZWI4YjM5ZWU3Y2FkYTU5NDcwYyByZWxlYXNlMjYtbWFpbnQKKzc4MzE0IDUyMjdhNTVlZDcxNDJiZDk5NTMxY2ZlZDZiMGQ4YWEzMGU4MmEyZDggcHkzaworNzgzMTUgYWU2NWM3ZDM1ZjI3YWEyYjhiODE3MDA2YTc3NGFlNjIyNWEyOGNiZCByZWxlYXNlMzEtbWFpbnQKKzc4MzE2IDM4ZjczMjgyZjAzODMwYjAyYjU0M2NmNzllMmZhMDI1Nzg2MGQ2ODYgcHkzaworNzgzMTcgNWQ3NzQxZTFlNjcyODZlMTM4ODFkNjhlODMyMDAzMGNkMmU0ZTQ2MSByZWxlYXNlMzEtbWFpbnQKKzc4MzE4IDIzMTE1MDE1ZTViOTZlNzQxYTg2MWJhNTJkODAwNDgxNmE4MTQ1ZGIgbGVnYWN5LXRydW5rCis3ODMxOSAzMWM3ZGVmOWJmNTFlNzhiY2FlYjBlMzUzMDE1NDc1ODc0YTc5MjUxIGxlZ2FjeS10cnVuaworNzgzMjAgMTMyZDQyMzQ4MjE2YzczZWRjZjY0NzRlMWFhOTFhOWFmYTM3OGYxOSBweTNrCis3ODMyMSAyZWIxMzY1OGY1NzNhOWJiNmVlZDA0NzQwMTQ5MjQxNjhkZTExMTZlIHJlbGVhc2UyNi1tYWludAorNzgzMjIgOGYyZDEwMDE0YzA4NDY0ZjkwNmEyZDkxNTQ1MTcyOWIyOWM1ZGExMyBweTNrCis3ODMyMyA3YTBjMzBlN2U0Y2FmMDQ2OWRlNWZjNTZmZTRhZGUyY2U1OTM4Yjk4IHJlbGVhc2UzMS1tYWludAorNzgzMjQgZDdjMzM3N2Y4YTdiNjc0MmY3NjAwZTMyNGY4NGZiYzE4NDlkMTRkYSByZWxlYXNlMjYtbWFpbnQKKzc4MzI1IGM4OGI2NjAyZjgyZDc1ZjZmMGRjMjI4YTQyNjRlNGFkZjlkOTg1ZWUgcHkzaworNzgzMjYgYTYwOGZjMzc4ZDkyMjFkNDQyMGExNWRlZDg3ZDNiNjAyNWM5ZTZjNiByZWxlYXNlMzEtbWFpbnQKKzc4MzI3IDQ5MDJlYTAyNTYzMDc5OTViYzk5ZDU0ZDEwNGNmMjIwMjUxYzhiYjQgbGVnYWN5LXRydW5rCis3ODMyOCA1MzJkYTg2OTczY2Q0YTFkOTZkMWVlZjUxN2YxZWQzOTNiZDdmYmQzIGxlZ2FjeS10cnVuaworNzgzMjkgZmY4NGUwODkzY2IxYWI2ZjdmNmQ0NDczNTViYjI4ZDdhZTI0OWE0ZSBsZWdhY3ktdHJ1bmsKKzc4MzMwIDk3OWFjMTdlYzgyM2QwNmY2NTRlZGNmMTJhZGJkYzUwNDk1OTFmZDIgcmVsZWFzZTI2LW1haW50Cis3ODMzMSA0MGNiMjIzM2Y3MjZmMWM2MGZjMjNlMTI3MzBlMGNkZjNiODVkOTEwIGxlZ2FjeS10cnVuaworNzgzMzIgZmQ5NDg4ODU0MDg4NzczY2M0NDI3ZTkzMjA5NDM3ZTIxNDFjMDcwNSBsZWdhY3ktdHJ1bmsKKzc4MzMzIDVjNDQ2NmIxNmQ2ZDU3NmUzMTUzZjNjZDQzZjRiNDA0OGQxNDAyMGYgcHkzaworNzgzMzQgNzNjZDgzNzA2YmM0NTQyZDM3ODhjMDJlNWY1OGJjNWI1ZmY5NGI5ZSByZWxlYXNlMzEtbWFpbnQKKzc4MzM1IDMzNTdiOGViYjI1OTVjMzM1MjRjNTRmOThlOTBkNmNiNzg2OWRkYTMgcHkzaworNzgzMzYgZWEwMmVjZTMyM2ZlMGU4NDQ0MTYzOTY3ZjkwMjI0ZTBkZTA4Yzc5NiBsZWdhY3ktdHJ1bmsKKzc4MzM3IGVmNzMyYzNkYjYzZGM1OWY4NDZjNWQ0ZjY1ODM0YWI0Y2Q5MzIyNDYgcHkzaworNzgzMzggYmQxM2VlZWRjM2IwM2NjMDM1YzM5NjUzYTE3ZWI4NGExNzMxZmQ1ZCBsZWdhY3ktdHJ1bmsKKzc4MzM5IDA0N2YxOTk3N2M0Mjg0MzZjMmFkY2VlOTJlODhlOTc3YzM3YzcxMjUgbGVnYWN5LXRydW5rCis3ODM0MCBiODNmOTcxNmYxMzViODY3Zjg5NzI0NTRlMDcxNmU1MjQxZmM5OTZjIHB5M2sKKzc4MzQxIGQyODhlNTQ5MWJjYWFiYzAxNmNkZjVjYjRhY2NmMTZiMTk4NjEzMDQgcmVsZWFzZTMxLW1haW50Cis3ODM0MiA3ZmIwMTNmZjAxNGYxOTVlODUxZGI1ODk3OTBkNTYzZmE1OWU1YjU5IHJlbGVhc2UyNi1tYWludAorNzgzNDMgNWZjYjBlMGJlODllOWIxMDEyMTMxZTdiNWQwOThlM2FmMjY5YjE0OCBsZWdhY3ktdHJ1bmsKKzc4MzQ0IDg3ZjFiOGZmYzI4ZDc1ZGUxNjUzNjA4MmVkOTNlYjViNjRhNjQ3YTMgcmVsZWFzZTI2LW1haW50Cis3ODM0NSA3N2Q4NzdkMGJmMDZkOTNlZDQzNTNiMzkyOTk0NDNlMDU1YWYxMDFmIGxlZ2FjeS10cnVuaworNzgzNDYgMzFjYjYxZTBmMmJjMDA4NjZlY2Q2MTgyMDE3NDBiNTg5NzljYTk3MCBsZWdhY3ktdHJ1bmsKKzc4MzQ3IDliNTgwNmEwMDhlNzE0ZWMyZWVkNjNjZGNiNjg3ZjdmZmExYzY2ZjQgcHkzaworNzgzNDggOWQ1NWIxN2EzYzY0N2FmMjUxNmRhYjg3NTI2M2E1NGEyY2JlMmEwZiBsZWdhY3ktdHJ1bmsKKzc4MzQ5IDE1Mjg2ZDlmMWE4ZTM4MDMyNWM3MDlhZmJlYjUyZDE0NWYyNzhiZmUgbGVnYWN5LXRydW5rCis3ODM1MCA4YzBlNDg5NmRiZmM1MjQ1NjI1OTBhMDMxM2NlZjM1N2MyODcyNDNmIHB5M2sKKzc4MzUxIGE0YzQ1ZjhlNzBhYWUxZjM5OTMzMDQwMzgwMzAxNDJiY2Q2MjQwOGYgbGVnYWN5LXRydW5rCis3ODM1MiA4ZThjNDVhYjQ0ZGNmN2Y3ZWE3MjgyZmE5NjIxNmYwMDZlMWJhNWY3IHJlbGVhc2UzMS1tYWludAorNzgzNTMgNTc2N2Q5MjQ5ZjU4OTIzZTMzMzM1Njc1ODUxZDdkZjkxYTg3MzU0OCByZWxlYXNlMzEtbWFpbnQKKzc4MzU0IDBiZDE3MzZlMzI5NzNkNjYxODA2NmQ1MmQwYTAzNDJiNzY3ZDlmMGEgbGVnYWN5LXRydW5rCis3ODM1NSBmYzRiMDA1Y2JkMjhmNDIzMDlmMDU1YWZhYWUyM2UzYzc2MDBhZDgzIHJlbGVhc2UyNi1tYWludAorNzgzNTYgZmMyODZmZTQ2NjEyMzMwY2IyYTRhYWZkODJkNzJjNjQ0MzRmMzRkNiByZWxlYXNlMjYtbWFpbnQKKzc4MzU3IGE1ZmFhYWI5OTVjNDJjOWE2MzMxNDYzNTM0ZGQ0MTk1NzFlZTdjZTQgcHkzaworNzgzNTggYjRjNmI3Njk0ZjBjMmVjODMxOTlmYTQ5OWE1M2ZlYTk4MzJlYzM2MyByZWxlYXNlMzEtbWFpbnQKKzc4MzU5IGFjMzZlYzhiYWU2YzY1MDY4ODYwNmI5MmRmNDQxMWQ3MmMwNTIyOTUgbGVnYWN5LXRydW5rCis3ODM2MCA0NjBjZTllODQ4MzgzZTVmNGZmZTY4MmUyYzE0YjJkMWUwNWFjNjM1IGxlZ2FjeS10cnVuaworNzgzNjEgNGExMTgxZWM0MDM2NGZmYTU0YTc5Njc2NTQzZWY4ZTlhZWU1ODUzMSByZWxlYXNlMjYtbWFpbnQKKzc4MzYyIGExZDA3OGI4ODI0NzJhNDI0OTE2NDBjYTUzYmY0ZDlkNmI5YWIyY2EgcHkzaworNzgzNjMgMTM5YzEwNDhmMzFiZDUwMGE4ODYxZjgzNDhiNDE4Y2JjMjIyZjM2OSByZWxlYXNlMzEtbWFpbnQKKzc4MzY0IGI1MmUzZmYwYTRjOGIyM2ViNjhjYjc0ZTUwNGJhYzI5OTRlMWU1OGUgbGVnYWN5LXRydW5rCis3ODM2NSA4YzkzMGU0ZDUxYmQyOTBlMjAxN2M0OTJiYWQxNmZmN2E5OWYxNTg2IHJlbGVhc2UyNi1tYWludAorNzgzNjYgZGY1NmJhMWNiMGFmMjgyNThhOGI4ODlhNzVlZGE3MGQ4NzM1ZTMzZiBweTNrCis3ODM2NyA5MjY3MGNjMWE2YmM0MDJkZDExYWQ1MTAyYWNkMTgyOGZjMTg2YTgyIGxlZ2FjeS10cnVuaworNzgzNjggZmVjNTVmNTI3NzVjZTc3NTE4NTNlMjQ2ZDIxZTM0MDQ5NWY5YjEwOCByZWxlYXNlMjYtbWFpbnQKKzc4MzY5IGJmOGQ5ZjAzNTljMTIyNjAzZWI2NzkzZmI1NjM4YWQyOTg3NmZmZWEgcHkzaworNzgzNzAgMjQzY2M4MGQ0YTA2N2I0OTM0OTFmYTlmMzEyN2I3OTkyOWEwNjMzMiByZWxlYXNlMzEtbWFpbnQKKzc4MzcxIDc2YWM3YTFkNzFiNzVlYWU2ZWE3NTE1ZWI4NzY5MTI1ZGE0OWEzODcgcmVsZWFzZTMxLW1haW50Cis3ODM3MiA4YTU2YjgyYzEyODQ1MjkxMWQ1YmRiMDNiYWVlZTcxMTE0OWZmOTU5IGxlZ2FjeS10cnVuaworNzgzNzMgZGEzNzNkYWMyNDE1ZTMyYmMyNWZlM2M5ZmMzZWYxYTIzNDljMjU3YiBsZWdhY3ktdHJ1bmsKKzc4Mzc0IDg5YmMyOGYyMDAyMWZiNDYwMmE0ZGVjNzM0NTBmMzlhNWUwNjc5ZjkgcmVsZWFzZTI2LW1haW50Cis3ODM3NSA4NjkwZDA4ZDk1M2Y5N2U1NThjZjE3YWZiZTk0MzQ3MmE2MGNlNGIwIHB5M2sKKzc4Mzc2IDBmNTRkNDMyNzM0Yzc2NjU4ODM4Yzg1YWUwMmM4MjM1MWFiOGUyMDMgcmVsZWFzZTMxLW1haW50Cis3ODM3NyAxZGQxZWFkYTQ2YzJkNzBkZWFkNGVmZjIzNDIzMGFjNzE5YmQ1ODllIGxlZ2FjeS10cnVuaworNzgzNzggYmQ0YzkxNmYwZWZhNWQxZWY2N2QzNzJlODI0OTNmYjQ1NjlhZTFmZCBsZWdhY3ktdHJ1bmsKKzc4Mzc5IDllMWNhMWMxMTkwMjFjNDgxMmJlNDE4NzE2Yjc3YmNlMmVkYmM5ZGYgbGVnYWN5LXRydW5rCis3ODM4MCBiMTc4MTRiZTA1ZjFjMWY1YTY3MjU4ZDFmM2Y4NTMzNjJkMDg1NDA0IGxlZ2FjeS10cnVuaworNzgzODEgZTJhNDQ0NWIwZTdjMzAwZDBhNzIwMmVhOTYxNGIzNTk5NGEzNGRmYyByZWxlYXNlMjYtbWFpbnQKKzc4MzgyIDlmZDgwM2FiZTE0MWM5NDY4YjhmYTY3ZWMzYjkzYTg0ZDc4MjVjYjYgcHkzaworNzgzODMgYjkwOGE0MGYwMDIwNTA5MTMyYzFkNGJhZjE0YjJkNzA2YjM3Mzc1MSByZWxlYXNlMzEtbWFpbnQKKzc4Mzg0IGRkYTUxNjVhMjM3NGU3ZDg2NjE4Y2Q3NzE0NDg4MjE4YTlkOGRkYjYgbGVnYWN5LXRydW5rCis3ODM4NSAyODc0NTBiMmQ3YTc4ZDVkMGQzMzIzNzI5NDY5NDBmZDk2YzFiYjQwIGxlZ2FjeS10cnVuaworNzgzODYgZWE2OGQ3NTUyOWIxMWNmY2RjMTdlNzNiMGFlYTg5MDRmZjBkYWM0YiBsZWdhY3ktdHJ1bmsKKzc4Mzg4IDc3ZGU3YjFiY2Q1OWRhN2U2NzY4ZGQ4MDRiNDlmYmEzNGMwZGVkOTIgcHkzaworNzgzODkgYWIxMDc5M2E0NmE3MDFjMmU4M2IzYzAzNGJmZjk4NTQ5NjQ4MjU0OCBweTNrCis3ODM5MCAxMjQ5NzA3MmY5ZGFjZTIwY2U3YjJiYjVjY2YwODk0NzNmNjM5YTMwIHJlbGVhc2UzMS1tYWludAorNzgzOTEgZmNmMjEyYTkzZGQ0MmYwNGYzZTBmZDdjMmM5NTBhZDdhNjRjZjViNyByZWxlYXNlMjYtbWFpbnQKKzc4MzkyIDMyYjIxMDYxZWU5ZmZmMjU0YzMyMjI0Y2I2ZjJjNTlkNWRjZmU3MzQgbGVnYWN5LXRydW5rCis3ODM5MyBkZjU3MTljMjk4ZGIyZDhmYmJiOTE5MzYwZWJlN2RhYjI3NGM5ZGZlIGxlZ2FjeS10cnVuaworNzgzOTQgNzc4MDQ4MmE2NGRhNjlmNjE2NmY5YmNkN2I5NDg3YTAyY2ExMTcxYyByZWxlYXNlMjYtbWFpbnQKKzc4Mzk1IDQ0ZWU0ZjI3MWQ3YWViZjhhZjIwZjBiZDg5ZjQ3MTk2NzU2Mzg5MWIgcHkzaworNzgzOTcgNzk4ZTBkMGM3MjQ2ZGRiMjA3YzI3NWQyZGE5YTVkM2U1ODhhMWEzYSBweTNrCis3ODM5OSA0MTBjMWM4MGQ2NjNhYjNiOWRlOTkzZmM2MjJmMjRjMmM2Yzg2NTA2IGxlZ2FjeS10cnVuaworNzg0MDAgOGQzZmYyZmJiZTRiNGE0OWExYjNlZWQxOWViNWI1NDBmYTcwM2Q3NCBweTNrCis3ODQwMSA2OTZmNzY3ZTc3ZmY4Yjk5YzI2MjY1Mzk3Zjg3MTczM2JjZmYwNGRhIHJlbGVhc2UzMS1tYWludAorNzg0MDIgNjc4MjU2ZTgwZmM2MDFkM2IzNmVjNjMxMjZjMjFmNzZjMzQxOWNkMiByZWxlYXNlMjYtbWFpbnQKKzc4NDAzIGU4NTQxMmY1NDRjODNlMjMzZjJhYmE5MDlkNDdkNTRiYWRkOTg1YTkgbGVnYWN5LXRydW5rCis3ODQwNCA5NTRiOGUyNzY2NzQ2MzIxZWY3NGM2YjMxMTBlNWYzNTZlZGI2NmE1IHJlbGVhc2UyNi1tYWludAorNzg0MDUgZTgwMzI3Y2I2ODQ2ODFkNGY1YzQ2NjAwYWZhMzg0OTZmODEzNGM3ZSBweTNrCis3ODQwNiAxMDdjNGM2ZWM2NDk1MWZhODg3MGU1OTAxYjA2NDJlOGJkMTFmMTcyIHJlbGVhc2UzMS1tYWludAorNzg0MDggYTVmNmRkMTg5MjgyZjAxZGE2NDlmZDdhOWZjOTIyMjFiNGE2ZGFhMCBsZWdhY3ktdHJ1bmsKKzc4NDA5IGE5YTQzODEwMGY4ZDRiMmNhYjgwNWUzNzNhNDQzNTcyMjQxZDIzMjggcmVsZWFzZTI2LW1haW50Cis3ODQxMCBhOTk0NWFmY2M0ZWQ0ZDcyYmNiZGU2YmQ5YzFlZWEwZDhlNjRjM2NmIHB5M2sKKzc4NDExIDE3NzE5ZDM5NWYxZTZkZTQ3ZjBmODdhODlmMWUwNmE0MmY3NDMxNjAgcmVsZWFzZTMxLW1haW50Cis3ODQxMiBjNDY1ZDIxNDM4NzRkY2FmNWZjOWU1YjcyOGIwYzVjMDc3YzQ5N2M0IGxlZ2FjeS10cnVuaworNzg0MTMgMDc5NWRkN2IyYzlkMWIyNDAxMmM5YmNkN2UzNjI4ODU0Mzg0NTk1ZSByZWxlYXNlMjYtbWFpbnQKKzc4NDE0IDgyMGVhZjkzODgwNDViY2QzMjM5ZWNmNGI5NDA1NDMyYjc0ZjdlMTUgcHkzaworNzg0MTUgNGY3NTAzYWVlYTg1ZmM4NWMwNTNiNTgyYWYxOGI0OGNlODA5NDIzNiBsZWdhY3ktdHJ1bmsKKzc4NDE2IDllYmJjYjdhMzk4OTcwY2M5ZGRhNWJkOWNlOGEwOTlhYTBkMjJiMWMgbGVnYWN5LXRydW5rCis3ODQxNyA0NTIxMmEyNDdlZDRkNWQ0YWM0OTAwMDYzYzY4MjViZTVlMmM0YjY0IGxlZ2FjeS10cnVuaworNzg0MTggMmI4MmIxNmE2Mzc1NmM0Njk1YWM5YzY2ZTg3YzNlM2IyMjI1ZTBhNiBsZWdhY3ktdHJ1bmsKKzc4NDE5IDVhYzM0OWMzMjJmZDNmZmM3NTdmYzY0YTRhYjY4YzNjYzg1MTk4OWQgcmVsZWFzZTI2LW1haW50Cis3ODQyMCA1OWVjZWExMzc2OWIzOTg4MDNiMmViOGExN2Q2Y2ZmOTc4MDRmMWU0IHB5M2sKKzc4NDIxIGM4ZWY5MDZiMTFiODgzMjAxN2E1NWEyMzcyODBhNzM2MDhhOGUyOTkgcmVsZWFzZTMxLW1haW50Cis3ODQyMiA1NmY0ZDZjNTE0NTAxNmU1YTVmZjJkYzlhMGY3N2E5NzA1OWI4YjZjIGxlZ2FjeS10cnVuaworNzg0MjMgOTIyNWI0ZjhjYjFlNzNjODExNWFjNWRkYmNmN2I1MzA2ZmFmYjNkNSByZWxlYXNlMjYtbWFpbnQKKzc4NDI0IGFmNTg3YjRiNTkwOTE5NGYzM2UxMmU2MzI5ZTI4MjczYmU3OWY2NmQgbGVnYWN5LXRydW5rCis3ODQyNSBjMGZhMTQ1MzcwZTQxZjQxMDI4NDk1MTExODk5ZGIzNDVjNzFlMmIzIHJlbGVhc2UyNi1tYWludAorNzg0MjYgM2Q0ZGIxZjViM2IxNTVkNWJmNzQ3ZjFkZDJmNTg4MDQxY2U4NDViMCBweTNrCis3ODQyNyBlNzA5ZjZmNmY0NWNhOWNkOWZkZTJmYjlmZTU4YmI3MzYxNGQ3MWJjIHB5M2sKKzc4NDI4IDVmOTkzOWFmMmY3MWFjZmRjZWZlNTZjNmI0MjBkZTNhMDI2MGZlZWUgcmVsZWFzZTMxLW1haW50Cis3ODQyOSBhZjllNmVkYmIwZmY3OTZhYmZhNTU2MjhiZDg3YWMwNzFmYTcyNTg4IHJlbGVhc2UzMS1tYWludAorNzg0MzAgZTQ3YTY0ZjljYzc3YmZlYWNlZjAwNjNkNjFhNDU2ZjRlNmI4OTc0MCBsZWdhY3ktdHJ1bmsKKzc4NDMxIDMxODEyNTVlMjhjOTlmOTZkODMzM2Q1NzA2ZDZlZGI2Y2Q3N2NkMTggbGVnYWN5LXRydW5rCis3ODQzMiBjOTUwZmFjNzQxMWJhNjQwYzkzYTFkNGIwYzZiMjQzN2RiOTEzYjU0IHJlbGVhc2UyNi1tYWludAorNzg0MzMgMjg3ODhmNzJkOGMwZmU1ZGE1Yzk2NTU3ZmM5NWFmNjBlOTE2MjA5ZiBweTNrCis3ODQzNCA5NGUyYjY5MDI5Njk2ZDBhMGEwMjA5OWQ4ODI5MDRmNjA1ZjkwOGE5IHJlbGVhc2UzMS1tYWludAorNzg0MzUgYjdkZTdjNWFmYTA0MjkzYzcxOTNhNTAzYTFlNzRkMmExMmIyMWE4MiBweTNrCis3ODQzNiAxOWNmNTI2YmVmYTQ2OWI1OWNiZmNmOWFmMWEwMGMxZTYxMzFmOTA4IHJlbGVhc2UzMS1tYWludAorNzg0MzcgMTIyMjFiNmNjOGNkYzdkMDg4YWNlZjRmY2Q4NWRjMTM2MzRlY2FkNyBweTNrCis3ODQzOCBmNWVhMTI2NGI3YWUxNzg3ZjNhMGE5MjAxMGUyYTFlMGJlMGY5YjVhIHJlbGVhc2UzMS1tYWludAorNzg0NDAgMzgzZjQwOTc1Yzc1YzNjMzFjZWU5YjQxYzMzYTg2ZTBjZDE1YzA2NiBsZWdhY3ktdHJ1bmsKKzc4NDQxIGJkODM1N2E5MWQzZTYzOTI2MWJhMWQxMWQyMmI4NDA4MmEwODBmMDggcmVsZWFzZTI2LW1haW50Cis3ODQ0MiA4NWJmODQ0NjlhMzJjOWRlNDZlNDlmYzlmZDM4NGRmMGI4YjNlMDE0IHB5M2sKKzc4NDQzIDIxODMyNzdjYmFiMTg3NjZkN2FiMTMzOGYyNjQyODkyYWM3ZDNlMTggcmVsZWFzZTMxLW1haW50Cis3ODQ0NCBhY2NhYjRiYWI2MzRjZDYxYzZjMzA4NjY1Mzg5ZWY1ZDVjMGI1YzVkIGxlZ2FjeS10cnVuaworNzg0NDUgZWNmZTljZmFhMzM0NzMxMTM0YTk1N2FlNTczNTA3MDJiZmRiYzE3OCByZWxlYXNlMjYtbWFpbnQKKzc4NDQ2IDg5YTUwYTExODIwMTkxMmRlN2U2ODdkNzkyNzQwZDFjYjk4ODUzNjggcHkzaworNzg0NDcgNWYwNGUwY2Q4MTcxNzkwM2I2MzAyNjNkMDY2N2JkZDEzMWJjNmU1YSByZWxlYXNlMzEtbWFpbnQKKzc4NDQ5IDZjMTRjMjc5MjViOWU1ODNkNzdlOWI0NDFkNDAyYTFlMTQ1Y2E4ODQgbGVnYWN5LXRydW5rCis3ODQ1MCBhYWNjMGQ0OGQ0NGQ3ZTEwNWI2Y2Y4ODYzNmMyZGZiMDcwOWMwZDE3IHJlbGVhc2UyNi1tYWludAorNzg0NTEgODU1M2Q0MmM5NGIxYTlmY2FlY2Q3NWYwYTRiMzc5OGUxNDE0YWI1NSBweTNrCis3ODQ1NCAxYTYyZjQ4OWE2OGEwYTkzNjYyOThkY2RkNzI1NTY4YTE5NmIwNTc4IGxlZ2FjeS10cnVuaworNzg0NTUgNDc4MGUwMzc3ZTEwZjY4ZDFiMzhmZDUyNTBhNDkyOGIyMzg4NTA2ZCBweTNrCis3ODQ1NiBlMWJjMDAyMmIyM2IyZDkxMGEyM2I4NWYzZjY2YmNhMmZkNjg0ZTEwIHB5M2sKKzc4NDU3IDk1YjNiYjZiOWZhYWI5YzQ4Zjc3ZTU5OGQxNjBlNDM1YzU0YjdjM2MgbGVnYWN5LXRydW5rCis3ODQ1OCAzYWI3NDA5NDA1ZmEzYTNiOTJiZGRiN2ViMTcxMmJiMjM1MmJhZjMyIHJlbGVhc2UyNi1tYWludAorNzg0NTkgYzEyYjk1NTM1MDk0ODgzOWU2NzIwZWNkMDk5ZDgwZWRlZjVhMTIyOCBweTNrCis3ODQ2MCAwODNjOGU1MzU0YWRiMzNiNzk2M2JkMDM5NDZmNDY3YzIzZTZjYTc4IHJlbGVhc2UzMS1tYWludAorNzg0NjEgN2UzYzQ3MzU0ZGEzNDI2ZTdiY2ZmMjNmMGJkYzJhZmVmNWQxZDJkYiBsZWdhY3ktdHJ1bmsKKzc4NDYyIDdkMzQzZDViZmIzZjFjZGZjODM5NjczY2JmMjUzMDEwNTAzMWFlZjIgcHkzaworNzg0NjMgYWQyZjVlYWNkMmEwMzZkNGU4NGFiNDA5ZDI5ODRjYTUzOTNlOWI5YSBsZWdhY3ktdHJ1bmsKKzc4NDY0IDlhYzM1MjE1YWY0YThjOTdjMmJlMmQ5NzQzMWM3OGJhOTIxYjcxMTggcHkzaworNzg0NjUgM2RjZGNhMDA3MDk1NTY2ZTQyNjYxNzYzNzc3MWQ4MmM3OWM0MzliZCBsZWdhY3ktdHJ1bmsKKzc4NDY2IDI1MmYxZTIzZTk4NjAzMTY4NGRjODI2YzBiMzQyZTM2YzMyZTU0M2UgcmVsZWFzZTI2LW1haW50Cis3ODQ2NyA4YjIwNDhiY2EzM2MxZDQzZTE5YWI0YzdmMTYzN2UwZGU3NjZiNzY2IGxlZ2FjeS10cnVuaworNzg0NjggNTM1ZTIxNTVhZjFhODJlMTAzNGFjODE1MDliMDI1MWQ0ZjNiOWQxNCBsZWdhY3ktdHJ1bmsKKzc4NDY5IGRjMWNkOGVkZmE0NjU3MmUxZTY5MTA0Y2MxODE2MDMxMzIxZmRmYTYgcHkzaworNzg0NzAgNjA0M2QwYmQ4YmY3MGE1NzRkODI3ZTY1NGVjNjQ1ZWQ1ZGI1NDk5NSBweTNrCis3ODQ3MSA2MmJhYmY0NTYwMDViNjdjZGRlZDYyMDgyZGU3NWE3MWU3MTQ3NWQwIHJlbGVhc2UyNi1tYWludAorNzg0NzIgOTQ4NmZmNDAyYWNjMzg4MTk0ZDI4NzVkNGZhZjBkZjI2ZTVmM2FhYyByZWxlYXNlMjYtbWFpbnQKKzc4NDczIDMzM2ZlOGQ3OTMyOThiYzE2ZGNiYzE2YjA4ZjVjMTRjY2JiYmE0MDEgcHkzaworNzg0NzQgNzg3NGQxM2M5YWE3NjdhNzg4MTBiNDBkYTUzYmZmMjI1ZDY0NTA5YiByZWxlYXNlMzEtbWFpbnQKKzc4NDc1IDhlNjQ2MTVhNGM4NjM1ZmFlZDRjNzRjNWRiY2M0YWU3YjEyZTIxNjcgcmVsZWFzZTMxLW1haW50Cis3ODQ3NiAyZjJkMjI1Nzc3NDI4MDZiZTYxNmY5NmE2NzQwNTU4ZWM5MTdlOTRkIHB5M2sKKzc4NDc3IDVlMmE1ODQzMDdiYTk4N2M4YzExMTI0MmQ2OWM3ZmM2YjU0ZDk3MzYgcmVsZWFzZTMxLW1haW50Cis3ODQ3OCAyMzFjODhlZTg4ODVjMTAzMGU5NjA2ZjI3NjE4OGFhZDI2NTVhZDE3IHB5M2sKKzc4NDc5IDMyNzBiYTFiZWM3NmEzODliMDczYzMxMTllZjg0NDgwYWI1OTVhYzAgcmVsZWFzZTI2LW1haW50Cis3ODQ4MCAyYjY4ZTMxNDJkMTdlODMzZjYxNmYxNTE3OTljNTNlYzk1ZTI2MWQ0IHB5M2sKKzc4NDgxIDU2ZjUzN2JlZGFmZWQ5ZmY3ZGE4NWE3YTkzYTQ4OGQ1MzY4OGI4NzAgcHkzaworNzg0ODIgNDA3MGY0Y2Y4Yzc3MmNkNTM5ZTJiNjdlMWY2NDEyYzQyMmYyNzY1ZSBsZWdhY3ktdHJ1bmsKKzc4NDgzIDQwNjZiNDVkMjhhYjI4YmQ2ZTI1ZGY2OTNjNWEzY2ZhMmM5MTgzNDkgcmVsZWFzZTI2LW1haW50Cis3ODQ4NCBlNTQwMzIzZDg3YThiMjAyMmEzZTVkYzZlNzdkODE4MDc4NTExZjcyIHB5M2sKKzc4NDg1IDBkNTkwZTVlODQwYzYzNWIyYjVmZTcwMWZiYTI5ZDE2NDAyZmFmZjkgcmVsZWFzZTMxLW1haW50Cis3ODQ4NiBhYmE5ZjY1NDFhZDY5ODNiNTA0OWM3Mzk1OGYwOGM1MDAzZDEyMGRhIGxlZ2FjeS10cnVuaworNzg0ODcgMmEwYWM5YmRlOTlhZmQwMjdjM2Q3YzJhZGM4Njk4YzY0NzEyNTEyYyBweTNrCis3ODQ4OCBkMGMyYjljMmJhYmIwZWQ5NjY4OTdkYmMxMDU4ZGMzYzA1MGMyYWQ1IGxlZ2FjeS10cnVuaworNzg0ODkgMGI0ODQ2NDg5MDU1YWNlNGZiNjczNzgyYTg5ZjJkZDQyNTM1MTViZSBsZWdhY3ktdHJ1bmsKKzc4NDkwIGYxMzljYTAzNGMzYjc1MDM4MDRlYTU2YTA1Y2U5NzgzZmFmMzFjYjcgcmVsZWFzZTI2LW1haW50Cis3ODQ5MSBiZjE0NmYxMDNlZTY3M2YyYzI3ODdhNDdiYTMwNWM2NDcyZjRlMDdmIHB5M2sKKzc4NDkyIDAxOTRkOGE2YjFlZmZjNDIwNjY2NDc3ZWJlNzA1YzQ1ZTlhZGE1MzIgcmVsZWFzZTMxLW1haW50Cis3ODQ5MyBhZTA5YWIyNjg2ZWQwNDk0NjEyZDQ4YmU4YjA1YTgyZDAwYWRiYzI2IHB5M2sKKzc4NDk0IDg5MWU3OWQ3NzBkODhlNjdiMDRiNzZiNWE0OGMwNDk0MTE0NjI4YTkgcmVsZWFzZTI2LW1haW50Cis3ODQ5NSA4MTUwOTJhNWU1YzEyOTgzYTgzNmE2NzYxNGNhYTBmYjUwOWQ0Nzg2IHJlbGVhc2UzMS1tYWludAorNzg0OTYgZDYyYmRkODRkZjBhM2JkYTVlZTIzYTk5MjE4YmU1ZTYwNTFjNTU3YSBsZWdhY3ktdHJ1bmsKKzc4NDk3IDc3NTkzN2EzNGY5NjYyYjM4ODU0N2YxN2ExMzY3YzlkOWJkYjgxN2YgbGVnYWN5LXRydW5rCis3ODQ5OCA4NjQwMmZhMGM1Yjg4ZWNmOWVjMDUzNDgzMmEyZjE4NjVhNWY3YmZiIHJlbGVhc2UyNi1tYWludAorNzg0OTkgNTYwZjNmNGVlOWE3ZDgxOWU3YTYzY2RkY2YzOTk4ZWY5N2ExOTc1MSBweTNrCis3ODUwMCA1NjIwNWY1NDdiNzQ2MDU5YzU3ODdiMDM1NDk3MzliMzAyNzQxYWZjIHB5M2sKKzc4NTAyIDg4NzEzYzBlZDAxMDI1YTgwNDU0NGZhZTEyMDJlOGQ5ZjY3MWIxNDcgcmVsZWFzZTMxLW1haW50Cis3ODUwNSA4MWQ2ODMzYzYyNzhiZWZkMDEyMzBmNWY4ZjUyNDJmODE1MWZhYjQzIHB5M2sKKzc4NTA2IDg4ZjE0N2QyNjM3MjYxZjYzMzc1M2RiMDhmNjJlYzIxYzM3Y2RkNzIgcHkzaworNzg1MDcgYTllMWYxZDM0Yzk2NzFiYmVlMTVhY2U0YzkxMmIwM2M1MjI1ODQyOSByZWxlYXNlMzEtbWFpbnQKKzc4NTA4IDY3OWY1MmI4YWVmNGM2ZDJmNjlkMjliMGQ0YTA0ZmZhNGE2ZDllMzMgbGVnYWN5LXRydW5rCis3ODUwOSA4MWRjYzBjODQ1ZGZiNjY4ZWFjMDE4OGM1YzFmNjk3NzIzMTYwMjFjIGxlZ2FjeS10cnVuaworNzg1MTAgMDFjNThjZWY4MmQ0OGE5YThhYjE2MjdlY2Y3MjE2NDMwN2UxOTdjOCBweTNrCis3ODUxMSA1ZDlmM2FmYmM0ZTRiYzBjNTEzZWU2YTE1MTY3MzhmNTNlNGExM2IzIGxlZ2FjeS10cnVuaworNzg1MTIgMTNmZjlmZGI4NDMxYjcyOTNmMzFiZGE0YjgxN2M2YjM3M2U2ZDc5MyByZWxlYXNlMjYtbWFpbnQKKzc4NTEzIGYzNzg2M2E3ZWQ2NzdhODcxMzJlNzliOGQwNjAwMDgxZDBiMTM0ZmEgcHkzaworNzg1MTQgMjA4MGFiODgwYTgwZWQwYmFmZWNmMDEyNzk4YjVmMDE2Y2U1MWI5MSByZWxlYXNlMzEtbWFpbnQKKzc4NTE1IDc5OWJjNDk2NGExZDkzMDJkNmNhNzQxYTUxMjE4NTZjMzFkZDM1ZGMgbGVnYWN5LXRydW5rCis3ODUxNiA3NTA4MDI3NTkyMWI4ZTg2YjU0NTk3NzY1MTkyM2I2OWRhOTg0YTQ2IGxlZ2FjeS10cnVuaworNzg1MTcgZWFiZmE3NzhiMDc2YjYwZTg1NWEyMDZlMTExZGVlNDM0NTYwODJkOSBsZWdhY3ktdHJ1bmsKKzc4NTE4IDJjZGVjODQ4Yjc0YzYxNDAxMjZkMTQ3YWVhY2RhY2YyY2IwYzhhM2MgcmVsZWFzZTI2LW1haW50Cis3ODUxOSA5OGU5YzRmZmQzNDNhZjFjZWM1MDQ2ZGQwZTg1ZGNkMTdlYzg5ZTkyIHB5M2sKKzc4NTIwIDllODExM2U3NmFkYmYwMTQ1NGNkYWYwYmMzNTQzNjU0YWI4YjdlOTMgcmVsZWFzZTMxLW1haW50Cis3ODUyMSA4ZTNkMDNiODA5MGJjYjIxZGFjZWNkMWQ5ZmZiM2U1MjA4MGI0M2YzIHJlbGVhc2UzMS1tYWludAorNzg1MjIgMWM2ZmM3MGY0OWQxYWJlZWY5MTY0OGQ0MjlhZTQ4NTYzZWEyYzBkNCBsZWdhY3ktdHJ1bmsKKzc4NTIzIDZlNjY0YmNjOTU4ZDYwZjIxZTc4ZGNmMTBmODQwZmQzNWM3MzEwMTggbGVnYWN5LXRydW5rCis3ODUyNCA1NTc3ODg1NWNkMjVhOWFlOGZiNjY3NWU5ZjhjMjkyN2RiOTg5ZjVkIHB5M2sKKzc4NTI1IDEyNDY5ZjIwNjU2YmVlMDU3OTUxMGU4N2NmZWI5ZWU0ODM3ZjY5M2QgcmVsZWFzZTI2LW1haW50Cis3ODUyNiAxZjE1ODIzOGZhNzY0ZDcwMGFjOWZjZGU3NDhiMGVhNGE3YjM0ZjMwIHJlbGVhc2UzMS1tYWludAorNzg1MjcgNGFmYzUwZDE1NTQ0NWQwMWQyYzkzZDZjYTg2Y2VmYzYzOWI3MDJmMyBsZWdhY3ktdHJ1bmsKKzc4NTI4IGUxYjcwYzZkZjllNzczZGZkNzAyOTFiOGRkNWVjMWMxMGNjZjQzMWEgbGVnYWN5LXRydW5rCis3ODUyOSA5YjRlMGNkNzgxN2FkYTFlMmYzMTMzNDk3ZTdkMjAxZDZkOGRjZTFlIHB5M2sKKzc4NTMwIDM3MGUxYTFjMjM4NjlkZjgxOWQzMWI0NGFhOWYzMmRmMjI4NDhmOTggcHkzaworNzg1MzEgMDc3ZjJiOGIzZTU3MjkwOTMzZGQ5MmJjZTRiNTBmMDMyMDI3NjI0NyBsZWdhY3ktdHJ1bmsKKzc4NTMyIDg1NGIzNGEwNjg5NmZkNmU0N2ExNmU4ZGUzZTRjMjhmMGMzMzQ0OWEgbGVnYWN5LXRydW5rCis3ODUzMyA5MjRjYTI5NWIxNDYwMDAyNjMwYjBhMzdkMWYwMmU4M2EwMjc5YmI2IHB5M2sKKzc4NTM0IGQxYzYyODgyYzczYmQwZGM0ZmYyYTE1NjQxZGNkMzAzMDI3ZDllODggcmVsZWFzZTMxLW1haW50Cis3ODUzNSBmNTNmZTMzZTAzZWExYjQ5YmY3Njk2YmEyNGM5ZTMzYWRiY2U2YjA1IHJlbGVhc2UyNi1tYWludAorNzg1MzYgYzQ1ODA1YmEzMjNmN2ZhYTlhYTE3MDIzODdiMGUxZTQyM2Q4MTJlNCBsZWdhY3ktdHJ1bmsKKzc4NTM3IDk0MWUxYmYwNGY1NTMyZTEyZjBmZmM5MDI3ZGJmMGYzYjUyNmU2YzcgcmVsZWFzZTI2LW1haW50Cis3ODUzOCBmMDI4M2JiNjIzNjE0YWQ5NTJhZmFhN2NlY2QzYzlmNmIyM2EzMDc0IHB5M2sKKzc4NTM5IDc4M2YwOWIwODcwNmVhMzBlMjBjNWYwZTQ2MzY2YTJiMjM4ODE3MmYgcmVsZWFzZTMxLW1haW50Cis3ODU0MCAwMjY1Y2RjOGQ1YmIwY2ViYjRkOTFjYzQ5MzI2NzQ4NGUxYTc0NGMyIHJlbGVhc2UyNi1tYWludAorNzg1NDEgOGQ0OGY5YjU5Njg5YmE0Njk4MjY1NTdhOGRkZDk4NmJkNGNkZTNmNSBweTNrCis3ODU0MiA5YjcyMjc3ZDZiMzBhN2MwOGM5ZDZkMGI2YmQyZjljMTQyNTEzODBlIHJlbGVhc2UzMS1tYWludAorNzg1NDMgZDVmNTBhZTRmMWY3OGUxOTlmMTM3MzkxYWRmNDhjN2VmMmJiODM4YiByZWxlYXNlMjYtbWFpbnQKKzc4NTQ0IGY1YmFjNDczNzA2OWE0MTNlODkyZDdhNTEwNzg5NWRjMWQ2YjFkYjIgbGVnYWN5LXRydW5rCis3ODU0NSA2ZmFmYjY0ZWMzMjgwOGQyMzlkZDVkMGM1MGY1NmU2ZDQ3NzcyMzkxIHB5M2sKKzc4NTQ2IDU4OTAwNGIyMmY1NGMxMzQ3ZTdmZWMzNTZhN2RmMzEwZjQ1YWE0ZWMgbGVnYWN5LXRydW5rCis3ODU0NyBhZmY2OTJiZGI2ZGIxMDc5NzgzMzE5MWYzNmFmMzJmODMyNTgxY2MxIHJlbGVhc2UyNi1tYWludAorNzg1NDggODg3ZGU1ZGZkOTYwMTVhZDQ0MDI5Y2ExZWJmYjQ0NGViMDVlNTJhOSBweTNrCis3ODU0OSBkYzg0NmEyMTFjNjU4YWFhZTBmMDkwOGUzYzI4YTc0MTBhZjAxY2M3IHJlbGVhc2UzMS1tYWludAorNzg1NTAgNDZhZTE2NGIxNWJhOTFkYzY0OTFlOTFhODY4YjJkMjcxYzMzMTdjNiBsZWdhY3ktdHJ1bmsKKzc4NTUxIDRlMzA0MzEwOTc0OWYyOTU3NDY2OGU0NDY1ZTQ5YmNjYmI5N2JmN2IgcmVsZWFzZTI2LW1haW50Cis3ODU1MiA1OGMzNTQ5NWE5MzQzODdkMDY0ZWRmNTk2MzRhZDczY2I4ZmUyOGU0IHB5M2sKKzc4NTU0IDRiYzViMDQxZDNhYTZiYmUwOTAxZGYyMjY3ZTU4Yjg4ODg3NzdjOTUgcmVsZWFzZTI2LW1haW50Cis3ODU1NSA0MGE0MDZlZWRjYWM5MmUxMWE5MjM1OWRkNjc0ZGZjYWM1NzkyYWU5IHJlbGVhc2UzMS1tYWludAorNzg1NTYgZDU2MTVlZWU1NjNlNTY0MDUzN2RlOThkMmJiYmExYzc0MGFlODZmMCBweTNrCis3ODU1NyBjZGY1OTYwNGExNzQ0ZDZiNTNiYjcyOWU5OTQ2NzYyZmVjOWM5ZTM1IHJlbGVhc2UzMS1tYWludAorNzg1NTggOGI3YjVjOWU2N2Y0ZDY3MDNhNzg3MTRlNTQ0OThmODhhYjMzMWY4NCBsZWdhY3ktdHJ1bmsKKzc4NTU5IDkxMjdkNzA3MzBjNWIwZDYxZjAzN2ExMDFmM2FjMDZmNzAyM2Q4ODIgbGVnYWN5LXRydW5rCis3ODU2MCAwNDU5MGVjNmYzN2RkZjY1NzUwMjk1MDg5NzY2ZDkyOWIzMTc1Yzg3IHJlbGVhc2UyNi1tYWludAorNzg1NjEgNDM4NjgwYmU1NDcyYjdhYzIyZTY3NjY0Nzg4NTMyZmFhNzM1Mzc0ZiBsZWdhY3ktdHJ1bmsKKzc4NTYyIDM5YTUwM2M4ODAwMmE4ZjYxZWM3MDJmY2U1NmI2NTNkODhmM2U1OTUgbGVnYWN5LXRydW5rCis3ODU2MyBmYmRlMTFkMWMxZjViM2I3OWZkNTNjNzBiM2Y5Njk3MmE3ZTkzODQwIGxlZ2FjeS10cnVuaworNzg1NjQgOTM0MjM5YjI2OGFkYzM1N2JjMDk1NDU1MzRlZjM4MGZhZmJmODQ2YyByZWxlYXNlMjYtbWFpbnQKKzc4NTY1IGM4YjI2Mjc2YzU4Nzc5ODViNGIyNDUwYThjNTRhN2UyODgxMmY1ZjkgcmVsZWFzZTI2LW1haW50Cis3ODU2NiA4OWY0MmI2ODFjZTU1NzczMjdmODA0MTAzMmY2MTQ2OGEzM2MxNmU1IGxlZ2FjeS10cnVuaworNzg1NjcgNjlhMTAzZWZhZThkNGViNjk0MjE5YjhiNTJhNzI4MTQyMGY4ODFmYiByZWxlYXNlMjYtbWFpbnQKKzc4NTY4IGY5OWU3YWU3MTJiMGIyNGYzZWVjZDRjYzUxMjFmYjIyOGUzYmRiNGMgcHkzaworNzg1NjkgODQ5OGYwZDlmMDI2MzYyZTlhZTExNTQ1MTZjZWE3MjhhOTFlYjlmZSByZWxlYXNlMzEtbWFpbnQKKzc4NTcwIGFjYTE4ODk3MGM0N2QwNmViMzA2NzcyNjFkOWI0MWQxMDAyM2M5MWEgcmVsZWFzZTI2LW1haW50Cis3ODU3MSAyYzliZjIxOGNlMjk4NzhmNDcxODQ1ODk5YmVjM2M3ZGNmNzBjYTRiIHJlbGVhc2UyNi1tYWludAorNzg1NzIgYzlmNjhlNDJhYjc5NmEzYmFiNGY4Y2YzY2M2OWNlMTA1MDNjYjk5MCByZWxlYXNlMjYtbWFpbnQKKzc4NTczIDExMTAxM2RkNWE4YWEwZWUwZTI1MTdjZmI2MmVhYjliODA4NzRkNDggcmVsZWFzZTI2LW1haW50Cis3ODU3NCA0ZjE4OTQ1ZmI4YjE3ZmRiYzQ0YmZjODI3ODc2NGM4NmVjZjU5ZWYzIGxlZ2FjeS10cnVuaworNzg1NzYgODNlZjY3NTI2MDExYWZmNGZkOTRiMTAzOGUwMzYxZjQ3Yjg4MjgwYSBsZWdhY3ktdHJ1bmsKKzc4NTc3IGY5MjNmZTU1YTQwYzNiNzVlOTUwYmE0MjRjZDJhMmY3MjVkM2EyNmIgcHkzaworNzg1NzggNzU1ZDdhM2E2YmI3NTZlM2E2MjNjMjk1YWM5MjczMmMzNTU3NTYzOSByZWxlYXNlMjYtbWFpbnQKKzc4NTc5IDM4YjAyZGQyZDQ1OWJhYzY2MTA4YjNiMTdmODBjY2U0NDM0Y2YwYWMgcmVsZWFzZTMxLW1haW50Cis3ODU4MCA0NzI4YWEyYzhhMTI4NDVhMjhkMzc4ZGVlOThkYmFhYTllMjIxNTdiIGxlZ2FjeS10cnVuaworNzg1ODEgN2E4OWUxZWM0ZjAwNWNlMGUxMzllMjNjMWQ1N2YyMjE1OTM5MDk5NiBsZWdhY3ktdHJ1bmsKKzc4NTgyIDZkNWMzMWYyNGEyMWIyZDg0ZjZhOGM2MWRiNGY3MmEyMjg2NzRjM2MgbGVnYWN5LXRydW5rCis3ODU4MyA2Yjk2OGUyZjA1ZGRiMGQ5MDMxYWI1ZGI1NDA1NTNiYzJhOTAxZDc3IHB5M2sKKzc4NTg1IDFhY2I2NDNiMmNmNDQ1YTAwOWNkYjdhNTVhZDEzZmM1Mjk1ZGVhZTkgbGVnYWN5LXRydW5rCis3ODU4NiBlNjRjNGI0M2ViM2MyNzY4OTI0MjI1MjgzYzNkNjkyNDNiZmU2YzAxIGxlZ2FjeS10cnVuaworNzg1ODcgNGNhODNjNWI4NTUxYmZlY2JiOGMwNzBjZDRlYTc1OWI4Yzg2Zjg1ZSBsZWdhY3ktdHJ1bmsKKzc4NTg4IDg0MDFkZTY1ZTEyYTIxOGMwNGI0NjM4MDA1MTZlODQ5OTE4NmYzOTEgbGVnYWN5LXRydW5rCis3ODU4OSBkYWJkZWVjNGY5YzFkMzMxOTU0Njc4ZjJmZWRmNjU5ZmU0YjFlYTNiIGxlZ2FjeS10cnVuaworNzg1OTAgODJlZGEzNDVhNWY2ZTEzZDljZWI2MDhlODJkYTQyM2Q5NjE0MGIxMSBsZWdhY3ktdHJ1bmsKKzc4NTkxIDRiN2I2OTUzY2QwNjQ5NzBmNTA2N2NmY2NmOTNjM2E0OGIxMDA2MWYgbGVnYWN5LXRydW5rCis3ODU5MiAxMzdhMjFmY2QzODUwYWI5NTk4NjM0YzhlZjBjYzBhNWZlZTYxNGJmIGxlZ2FjeS10cnVuaworNzg1OTMgODNlN2VlMTg1MTYyM2NjYWUzNmMyNDI5Y2E5OTBkYjQwYmE0NzgyMCBsZWdhY3ktdHJ1bmsKKzc4NTk0IDk3MGZiNGE4ZTY1NGFjOWJmNzlkNDkzYzBlNmVkYzFiNjAyOWM1NTkgbGVnYWN5LXRydW5rCis3ODU5NSAxMmJjYjY5OTM4YjNjMDEyNzc3YzI0NTA1NTVkYmJiY2E0YjE3OGI1IHB5M2sKKzc4NTk2IGMzMWE3YzBjNjM5OTg1NWU5Zjg0YTg2MTdhOGQ5OWIzMGJmYjdiMDcgbGVnYWN5LXRydW5rCis3ODU5NyA1YzY3YzFlZjhhZDNmNDRmNmQ2NmEyNGI3MWYxM2Q2ZGExMWNiZTYwIHJlbGVhc2UyNi1tYWludAorNzg1OTggMDFkNmExNGFiYTY1MTc2ZmIwOTY4ZmYyYjMzOGYxYzFhN2Q2MDRmOSBweTNrCis3ODU5OSA5NTFjOTdlMjg3OGQ3MWQ4MjQyNWMxOWMwNDMzOWQ0ZjhlMGQ5ZTJhIHJlbGVhc2UzMS1tYWludAorNzg2MDAgOGQ3MjE0N2Y0NDJjZjlkNWEyZjc3NDZhYmE5YzQyYjA3NDdiNzE2ZSBsZWdhY3ktdHJ1bmsKKzc4NjAxIGViYTk0MmU3Nzg5NTdhMTE2MTRhNDM2NmU0MjMxZGYwMDkzNTk3OTAgbGVnYWN5LXRydW5rCis3ODYwMiBiMzBmOGNlODIxNjc3ZDkzMGY3MDRkZTUxMWE5ZDZiYzdiYTE0ZWViIHB5M2sKKzc4NjAzIGIwNDQ0MDVkNjJlNTVjMWU1NTAyYmNlMzFhNmZhY2E1ZjgzY2ZjMjIgbGVnYWN5LXRydW5rCis3ODYwNCBmNTQxMTEyNTI0NWVlMjczZjczMTY1OWNlNTM1ZDRkNTAwNWMxNGJkIGxlZ2FjeS10cnVuaworNzg2MDUgMmQyNDE3NjVlNjMxNzRmNzk5MzRjM2E1ZjFlMWQzOTBjZjRkYjY2ZCBweTNrCis3ODYwNiBhYWI1Yjc2YWEwNTk3ZDgxNDk5N2Y4ZmI5ZmRiYjZmNWRmMWIxN2E0IGxlZ2FjeS10cnVuaworNzg2MDcgNjgxNTk3ZDBjNThkZjEwNzBlYWQyMjhlZWUwMTY5NWQwMTBlNDdlOCBweTNrCis3ODYwOCBkNGExODhkYWMyMjI4NTY5MGY5ZWM1OTc1Mjk2ZjRhYzUxZmUyMDc0IHB5M2sKKzc4NjA5IDY1Mzc3NjFjMzEwMTgzZjA0MzljY2VjODYwMzY5MGE5ZWZjOWI0MzkgcmVsZWFzZTMxLW1haW50Cis3ODYxMCA3ZWVjNjIzOGUxNWFjNGU3ZmEyMjNhYjFmYjRjYzBiZmFjYzJkYTk0IGxlZ2FjeS10cnVuaworNzg2MTEgMDg2ODQ2MzgxZThmM2Q2ZmIwZTBlMTljNjY3ODJhOGU4ZDQ3YWEzNCBweTNrCis3ODYxMiAxZTRjNGIyMzVhODlkZDc1NGYwNTM0MTg1N2I3YzVlOGE5YzAwYzUyIHJlbGVhc2UzMS1tYWludAorNzg2MTMgMjVjMGY0ZDdhZTU2OWU0M2ZiNGIzYTYyMGViOWU4NzUyZmRhMjJjOSBsZWdhY3ktdHJ1bmsKKzc4NjE0IDM4Y2VmOGRlYWUyMmVmMDE3MzNlYjcxZGRmYWZhNjYwOGI5NWMyNWEgbGVnYWN5LXRydW5rCis3ODYxNSA1ODRlYzdhNzI1NWIyNDBlOWY1N2ZjNDA1NmYwZTczMzYyY2ViMDQ2IHB5M2sKKzc4NjE2IGJkOWM3OTkzZWU3NWUzNjU5ZDljNjNmNDA4YjFmNDNhNzc5NmYxNjQgcHkzaworNzg2MTkgYmZmMDUwNDUwMjgzZWM3NWM2Y2UwYWIwOTU2MjA0YmM2MGE0YzYwZSByZWxlYXNlMjYtbWFpbnQKKzc4NjIwIGI4NzUwYzcyYjliYzQ3ZmNiNmJhZTExYTBjNjM2ZWUyNGUzZWY3ZjMgbGVnYWN5LXRydW5rCis3ODYyMSA2ODdkODUxN2EwYzM4Y2ZhMmU2NjYwNmZjYjI0OGU1ZTU2Y2ZkZmUyIHJlbGVhc2UyNi1tYWludAorNzg2MjIgMjlmYWM0YjFhNTFlNzYzZDNmMDcyOTQzOTIxY2YwYWMzZjI4ZTUyYSBweTNrCis3ODYyMyA4YWNlMmVhZDU1MjM3YjFlNzJjNmYzNGQ4ODQzZjk4ZTA2MDk3ZjA4IGxlZ2FjeS10cnVuaworNzg2MjQgNGI0MTNkZmEyN2Y5OTJhN2JlMjMyMTgzNGM2OWNkZWUwYTFkNjk5MyByZWxlYXNlMzEtbWFpbnQKKzc4NjI1IGM1M2NjNmJkNmI2MTMwODA2MDcxMDk1MDk0NDY3YmMzNmU2YzNmMmYgcmVsZWFzZTI2LW1haW50Cis3ODYyNiBjNGZjYTc3OGI1NzNhNTI2NjJkNmEwMzY3NDFjNTcyNTI1MTQ1MzFkIHB5M2sKKzc4NjI3IGI5OTk5ODQ1M2Q1MjNhZTEwZWJiYTNkZmIxZDRhOWRmNzUwMGQ0NmMgcmVsZWFzZTI2LW1haW50Cis3ODYyOCBkZTA2YjU5YWE0M2M3ZjlhYTU4ZDFhY2VkOGQ2ZDZhY2VkNDg5NmI4IHJlbGVhc2UzMS1tYWludAorNzg2MjkgNWJiMjk1YTk0YjBmN2QwNGQ0YTI3ODM0YmJjYWUyMGNiMTg1Mzc5YyByZWxlYXNlMjYtbWFpbnQKKzc4NjMwIGMzNTlkNWFjZGM0YjViNDA3YzgwZDU4ZDFjMmIwMmQwZjI0NTU5ZGUgcmVsZWFzZTI2LW1haW50Cis3ODYzMiA2ZjFlMmZmZDdiZGU4OWUwYWJmM2Y5ZGJjOTI3ZDYwNWNkMzhmOWUxIHB5M2sKKzc4NjMzIGRmYTc0OTExNDBkOTRjNmUxZTJlMzQwMzQ5ZDUyY2IwYzcwOTI3NjIgcmVsZWFzZTMxLW1haW50Cis3ODYzNCBkZjAyNzBiZWY5NzE4ZjRiMjA0MzZkM2Q0MjdjODQ2ZmE2ZDNmMGZkIGxlZ2FjeS10cnVuaworNzg2MzUgODY3ODUzNDI0MmEwOTM4ZGExN2E2ZGEyMjRkZGY4MmU4NzVmYTA2MyBsZWdhY3ktdHJ1bmsKKzc4NjM2IGJmZWE2YzIwMmVkZTU3Njc3YWNiNTNkNTRjZTc4MWIwMTlkOTVjYjMgcHkzaworNzg2MzcgNjBlN2U2ZDNlNDVhODkwN2JlOTFhODA3MDVlYTFhYzQ5OTJjY2M4NSByZWxlYXNlMzEtbWFpbnQKKzc4NjM4IDdmNTAwNjQxYzA2YTFkOTRjNzM1MGJiOTkyOWQ1NTU1OTM3ODc2ZGYgbGVnYWN5LXRydW5rCis3ODYzOSBkZDg1MjczOTk1ODIzYWE2MmI4Y2RhMGU4MzI0OTE3YThhYjQyMDYzIHB5M2sKKzc4NjQwIGQ3YTYyYzE2NTA1YjEyY2NjMjY3ODQ2MGQ0OWI2ZWI3ZTQ3MDgzNzQgcmVsZWFzZTMxLW1haW50Cis3ODY0MSBkNWZiZGEwM2M2MDMzY2UxYWVhMDQ1YzE1ZWQyMDYwZmYzOWVlZjNkIGxlZ2FjeS10cnVuaworNzg2NDIgOTk0NGU1MTA0YTU1OTcwMzk5MDNmMzhmOGQ1NDkzZGZjNWRhYjc1YiBweTNrCis3ODY0MyA3NTk1OTIxYTE0NzQ4MmYyMTA2MGFjMWI1MTk1NjAyOTU4Yzk4MzIyIHJlbGVhc2UzMS1tYWludAorNzg2NDQgNDYxZDljZDE5NWI3M2IzMDY2NzI2ODhmMjMwMmFiMTJiYTBhZjcwYSBsZWdhY3ktdHJ1bmsKKzc4NjQ1IDc3OTAwZTdkZWFhNTg3MDA1ZGYxMmYyZWZlNDg0YjA2YWY3ZWU1ZDAgcHkzaworNzg2NDYgMjYyNjlkZmMyMmFiNDdlNDExNGVkN2RkZjQxMjBhMzM4NWYxN2YzOCBsZWdhY3ktdHJ1bmsKKzc4NjQ3IDBiMjdjM2YxOGNiMzg2ZjU2MjQ3N2YzNGZmYjZmOGZlNDAxMDg5ZjAgcHkzaworNzg2NDggZmQ4ZmRkMzg4OTYzYTk2MjFkOGRiNWZkMDY4ZmQwNmE1MjI4ZTFhZiByZWxlYXNlMzEtbWFpbnQKKzc4NjQ5IDMwMmRiYzZjNDgwNzFlZGQ0NGQ3ZTVmYWQzNmEwMzUzNmRhMjZiNDkgcHkzaworNzg2NTAgYjZjYWIyMWQ4MGI5NWI2N2EwNWYzMDllMWM1YmRiZmViYTlkMjlkZiByZWxlYXNlMzEtbWFpbnQKKzc4NjUxIGEzYzAwNTY2YzJkNTljMmRmOTFlN2NkNDc3ZDA0ZDBmNDUwMTZjYjUgcmVsZWFzZTI2LW1haW50Cis3ODY1MiA4NDEzMGMyMjY1ZGNhNmY5MjA3MmM4YTYxMzI4MjlkYWIyZmVjZTZlIGxlZ2FjeS10cnVuaworNzg2NTMgMjk1ZDU5ZmE2ZTYyZTFkMmM1MTkxOGFmM2Q5N2Q3OGU3Mjc5M2Y5YSBsZWdhY3ktdHJ1bmsKKzc4NjU0IGRiNGRhMWVkZjM0ZjVhMjUxZjVkMDQxNGJjNGIwNDllMGQxOWMwMTkgcHkzaworNzg2NTUgNmZhY2JjMTgzYTRhMWZmN2NjNmNhYTViZWZhNTE0ZmRlMjU5YmYwNyBweTNrCis3ODY1NiA5ODdiYTM3YTU0OTQzYWQ0Mzk1MzgzMGM2OWIwNjFhYzZiOTEzZDQxIGxlZ2FjeS10cnVuaworNzg2NTcgZWVhMTVmYjAyNDRlMmViNTYxM2I5OTIxZTE0NGQ3ZWJlNDk4OTA5YSBweTNrCis3ODY1OCA5NTFmZWMxOTZlZGM3MGE5ZGFkYzQ2NGIzOGRkZTYzM2RjZTdiZTk2IHJlbGVhc2UzMS1tYWludAorNzg2NTkgZjgzNWUyODI3ZDFhYTYzMDNiNzA0Yzc4ZmRhYTkwMGE5ZmU5NGNkMSByZWxlYXNlMjYtbWFpbnQKKzc4NjYwIDAyYWVmYzQyNTdkZTc2ZjYzZWUwYjZjMzE2OTdlYTBkNjhiMDJkZTYgbGVnYWN5LXRydW5rCis3ODY2MSBjZThiZTY0YjM0YThhNmQxM2Y0NGM1ZWIyNjUyMTQ2NTRmZmMzMjU0IGxlZ2FjeS10cnVuaworNzg2NjIgZDhiMmZhODg3ODhiMWY2YjNkNzNkZWNiMmI2MzA1YWM2NTFkYzc1YSBsZWdhY3ktdHJ1bmsKKzc4NjYzIDA0OTU1ZTdlYjU5NzA2ZmI4NjIzMDI1ZjYwNDBkMTUwNTBmZDFlYWUgcHkzaworNzg2NjQgMzE5ZTYyMTVjNTZjYjk5NWViZjhhYzViOTk5OWJjZTJlYmQ1ZTkyOCBweTNrCis3ODY2NSA0ZGYzM2U4M2YyNmYxMGI1N2I1NzQxMjlmYzdiMjMzOWZmZDA5YTg5IHJlbGVhc2UzMS1tYWludAorNzg2NjYgYWQyMmJjMjJkZGRjYmVmMzYxOTE2OTZhMDA0MjljN2E2MDhkNTAxYSBsZWdhY3ktdHJ1bmsKKzc4NjY3IDM1NzRjNWZlMjA3YzQ2NjEzMzc2ODljZTUwNGRkOTFhOTYzNGFiYmUgbGVnYWN5LXRydW5rCis3ODY2OCA2OWIyYWJiOTUzNDg3N2RkZDY1MjYyZmFhYzBmZTVmMjY4NDBmMDU0IHJlbGVhc2UyNi1tYWludAorNzg2NjkgODFkYzE3MmJmZGFiZGNmMzQ1NjFiODhmY2UyNWM5OTRhZTIwNzYwNyByZWxlYXNlMjYtbWFpbnQKKzc4NjcwIDc1NTcxNWIzY2YyM2EzZTkwNzI5MGNiZTcwYjE3OTFhZmNlMTAzY2MgcHkzaworNzg2NzEgNDVjNGI2ZDZlMmE1MzRjZTdiYzYyZmE1Y2JkYmEyNjNiODFiZjkzMyBsZWdhY3ktdHJ1bmsKKzc4NjcyIDAyMWNiNGY0NTU5YTVmYWFjNGJmMWE2ZTliYjRlYjhiODRkN2M0MmIgcHkzaworNzg2NzMgNWI4MTllYzRlMjA1ZmMwZmQ5ZDEyZDQ2ZGYwNDljMDU0OTdhYjFlZCBsZWdhY3ktdHJ1bmsKKzc4Njc0IDQzMmY4YmE2NzM4MTgxMmI0N2JkOGEwYWZmNjVhMDZkYjA3Y2QwNDAgcHkzaworNzg2NzUgZmVmNGUyNTNlODhhZjM1YzEyYjdiZDI0ODczZTYwM2JjZmRkN2I2NiBsZWdhY3ktdHJ1bmsKKzc4Njc2IDBmY2EzOTdkNTBmN2ZlNjQ0NzQ2Mjc2NDc0YTc2NDFkNzAyYjkzYzUgcHkzaworNzg2NzggN2I0OGViYWFkYjYwMDBjZmI1NDZmNmFhNzI4ZTk0NDU1NzRlOGRmMCBsZWdhY3ktdHJ1bmsKKzc4NjgwIDdlOTZiMGJjYmEyN2VkNzlkOTk0NjMzZTAzOTU5ZWNmNWEwZjI3ZGQgbGVnYWN5LXRydW5rCis3ODY4MiAwMTk3NTk5MTZhOWJhN2EyNGM5MWQwYWI3MDNkODQ2NmUzMmIyODdlIGxlZ2FjeS10cnVuaworNzg2ODMgZTUwMzAzM2UzMTQzNmI5NDljYWRlNDc4OWQyZGEzNmRjZTFhYTJhZSBsZWdhY3ktdHJ1bmsKKzc4Njg0IDgyNDQ2M2M0NDg5ODQ0MDU4ZDdiY2NkMWU3ZjFiNjExZWE2NTlmYmYgcHkzaworNzg2ODUgN2NkN2ZmNmIwYWRiMjg5MTI1ODJjZTA5ZmVlYWVjMmZhOGFhOGRhMyByZWxlYXNlMjYtbWFpbnQKKzc4Njg2IDhiODY0YWE3OGU5MjUxN2EzZGY0MDlmNmVkNmRkZTRkNGU1ZmJkZjMgcmVsZWFzZTMxLW1haW50Cis3ODY4NyBhZTdmMjZkMjRlMWRjZjc0OTdmZTI5YjdkZjhiZDU3MWVkMjlhYzdlIHB5M2sKKzc4Njg4IDA0ZDNhZTUyZmY3MzAyYTM4NzliYmJiM2I2ZjQyMWQ5NDA1NWNjNWIgbGVnYWN5LXRydW5rCis3ODY4OSAzMjYxOTk5NmEwMTQ4YzRkNzk2MzE2ODgxYzNiOTkwZjdmMTk0NzM3IHB5M2sKKzc4NjkwIGMyZDlkNTBmMzdjNTliNjMzYjRjYjhhOTU5MDRhYjc5NGNlNTJjNjIgbGVnYWN5LXRydW5rCis3ODY5MSA5MWZiMzk0YzA0ZDYzZDk5ZmVlMmFjZGY4YzcyNmZmYjIzNzRjNWFjIHB5M2sKKzc4NjkyIDgxNDc3MTkyY2Y3YTk5YTIyOWY5NjM4N2I5NmI3ZmEwYjU5ZWVmOTEgcHkzaworNzg2OTMgY2VkNWYxZjQxNGIwMGM2NTQ3ZDMzN2QyZGY0NjBiMDAwZTEyNjc3MCByZWxlYXNlMzEtbWFpbnQKKzc4Njk0IGZkMTU1YTM2OGY1YmQ0NjVkNjUzMTMxNzcyMDVjMDJmNjZhMWQwOWQgbGVnYWN5LXRydW5rCis3ODY5NSA4MTc1MjJlMzUyZDY2ZjZkNTQ4YjhiMjBlMDEzNjZhYTI4MDllZDg1IHB5M2sKKzc4Njk2IDE5ZjMwYjQyMmNhM2ZkMTdiYTk0NDgyNzk3NzViMGViMWZjZTlmODYgcHkzaworNzg2OTcgNTA0ODA4M2U5OWZmY2U0MzA5M2E3ZWRmMmY1NzhiM2Y2MmVhZTBhNSBweTNrCis3ODY5OCAzMDAzYzE2NTZlMmFkZWViNWZhZjViYjIwMjBjYTY1MmMzMzNiZDNiIHB5M2sKKzc4Njk5IGJmNTg2YjI3NzZmNjdjYzhlY2QzZjllZGM2MTRhNTg5ZmIwNWVkY2YgcmVsZWFzZTI2LW1haW50Cis3ODcwMCBlY2NhNzAzYmMwZGY0ZGI0NWViYzk1NmM4ZDczMjE4NjZhODUzYWNmIHJlbGVhc2UzMS1tYWludAorNzg3MDEgMzE5N2VjYzA5NDRhMTdmNTU5NDMwYmQzYTQxY2E0OGM5OTdiNzI1MyBsZWdhY3ktdHJ1bmsKKzc4NzAyIGQ5ZTZmMzE4NTY4ZmM5MzYzYTM0NmY3NjBhMDM3MDk3MDVkOWI0YTUgcHkzaworNzg3MDMgY2M3MGY2OGU5YzExMTNjOTdmYTRiMDY3MjFiM2M0NzdlMzBlNmNmYyBsZWdhY3ktdHJ1bmsKKzc4NzA0IDQ1NGVmZjg0MGJkNDIyYWYwOWYwZWIyNTA5N2M1MDEwYjUwODM1ZTQgbGVnYWN5LXRydW5rCis3ODcwNSA4ZGM0MGM2Mzc2MWM4ZmRjYjU1OTRlNTM1ZGY0MWUxNDU0ODdkMWZhIHB5M2sKKzc4NzA2IDI1ZTlkZGJjZTEwYWJlNGZiZWUzODk3NzRmMzQyNzA0M2ZmODdlNDEgbGVnYWN5LXRydW5rCis3ODcwNyAyYjUwOGFhMmE0MzZiYzU1YjI0NzU0NTdlNDI4M2Y2NGVmM2ZlNmFlIGxlZ2FjeS10cnVuaworNzg3MDggMmQ1Y2EyODA1ZWE1ZjFiY2Q3NzQ4ZTZhOTc0M2M0NmM0YjcyM2M3MSBweTNrCis3ODcwOSAzMmFjNDI4Y2QxOGIzNDJlNGQ5YjZiYjk3ODllY2I3OGFkY2UxOWNmIGxlZ2FjeS10cnVuaworNzg3MTAgMjE1NjM4ZmNmMDliYTA4NjMyMGQ4MWNjNjVmNzUwYmI3YjE2NmMwZiBsZWdhY3ktdHJ1bmsKKzc4NzExIDVkNWJjYTZlY2IxNTE4NDI5M2Y1MzQ0MGYwZDk1YjgyMmEyY2I2ZjIgcHkzaworNzg3MTIgNWMzMTc2Nzc1ZTg3MzBjYjNkN2MzMDQyOThlYTM4NWI2ZGMzYzdmOSBsZWdhY3ktdHJ1bmsKKzc4NzEzIDRhMTE5ZDg0ZDBiNTc1NzQzYjAxNzdiY2Y5ODZlYTFiMDg1YzZjOTggbGVnYWN5LXRydW5rCis3ODcxNCBiNjhhOWE4YzJjMWY0OWYyYzAxOGMxNjExZTk1YjI3ZGQyZjg4OTMxIHJlbGVhc2UyNi1tYWludAorNzg3MTUgNjc0MzA4NzVjMWEwMzYzMWFlZWMxNDA4ZGE5NzA3ODVkZTBhZjdmOCBweTNrCis3ODcxNiBhYTQ4NTI2NDUxZDE3MDU2ZTEwM2YxMTU0MjhhNWRkMTdkMGIxMGE4IHJlbGVhc2UzMS1tYWludAorNzg3MTcgNWFhM2JmYzQ4Y2JkZWJiOGVlNWJlOTgzMGJlZjhmMjcxYmExNTZkNSBsZWdhY3ktdHJ1bmsKKzc4NzE4IGJiMDhhM2VjMTU0ZGE3Mzc2NWUxMTQ2NjU4NzAxYWMyMTU3ZWJhZmMgbGVnYWN5LXRydW5rCis3ODcxOSA1YjE3NjQzNzQ1NDVhM2YyZGYxNzM1ZjE5YTE4YTdiMGVkNGNlNDdmIGxlZ2FjeS10cnVuaworNzg3MjAgOTY2ZWIxYjllOWRiYzNkYmY4ZGNlMDM0NWIzOThkMWRmNjQ3Njg0MiBsZWdhY3ktdHJ1bmsKKzc4NzIxIDc0NDRkMzQ4ZDc3MWYwZjk4MWMzODAzNmFjYWUyZDZkYzg4MWE2NzUgbGVnYWN5LXRydW5rCis3ODcyMiA0OGE2YzI2MjEyMjY1YzUzYjZkZmZiN2JhYzU0ZTA5NGM1ZmZiMDYyIGxlZ2FjeS10cnVuaworNzg3MjMgNDg2YzFjOWVlMDA2YzA2N2FlZjRmYjRkMDdhOGVmYmVmOTRlN2UxNiBweTNrCis3ODcyNCBlZmU1MjhlZTk1OGE2YjIxZDVkNTg1NjQ3NDFiYTNlNTFjYWIwY2NiIHB5M2sKKzc4NzI1IDI0YzZhNTgzYTg2NmFjOGQyMDVkYTNkMTA1Y2M3YmMyOTEyNzM0YzcgcHkzaworNzg3MjYgNGM1YzViNDY2OGI0YTZhZDQ4YjY4YjcwMDM5ZTcxMTliNzBhNjQ1YyBsZWdhY3ktdHJ1bmsKKzc4NzI3IGYzNjJjZDRiZDJjNTFjNmNjMDU0OTI1MjY2NjkyN2U1YzIxZDQ4Y2QgcHkzaworNzg3MjggMTIwZDZjY2YyNmIwNGU5OTQ2OGMxNjRhMTg0YTA4ZTAyZjJjNmZhNCBsZWdhY3ktdHJ1bmsKKzc4NzI5IDkyNThmNDA1YTdhYzQ2NmI0ODU3MmFkYTAyM2Q4ZGM5ZTRkYjg3NjMgcHkzaworNzg3MzAgOTdjYTliMTRhNjYwN2JlYzdiZmJjNjllMGI1Nzk4NTYxNTY2YjY0MiByZWxlYXNlMzEtbWFpbnQKKzc4NzMxIGQwYmJiZjNjNTVmNWUwMTVjMzlhMTA1MWQwYmM0NWFlM2NjOWVjNWIgbGVnYWN5LXRydW5rCis3ODczMiBiZGY2ZDc2OGE4Y2M1ZjhmYWQwNzVjOGQzODNkMmVkMDA1OTdkZmI0IGxlZ2FjeS10cnVuaworNzg3MzMgYzJjZjZjNzE3MGM1MTUyYjA1MjgyYjhiMzY1OWNkOTUyNjkzNDE0ZCBweTNrCis3ODczNCBlYmRjMmFhNzMwYzBiZDFjMjczNzFjMzJlNzRlNWNhMDM4ODIzODVlIGxlZ2FjeS10cnVuaworNzg3MzUgYTA3ZjcwZmM4MmExMTAyZjFiYjVkYWQyZTMxODNmZGU0NjMzZjNiMSBsZWdhY3ktdHJ1bmsKKzc4NzM2IGU4YzExODkxNTc2MmU3NzE5ZjU2OTM4YWJlZTRmZTBlYzA1NmY2MzkgbGVnYWN5LXRydW5rCis3ODczNyA1YTk2MzFiOWRkMjI3NjE3YjYzYjJmNzZjMDcwMDNhYTJjMDhhNTg1IHJlbGVhc2UzMS1tYWludAorNzg3MzggZDJlMTAyN2VkZGU4NGEwMjg1M2ZjZjk3OTBmMzExZjEwZjQ2Y2YwYSBsZWdhY3ktdHJ1bmsKKzc4NzM5IGRjZmJjMzRiMmUzYzZhYjc5OWU2ZjZhOTVkNTIyYzhmMTNmOTJiYTIgcHkzaworNzg3NDAgZjllYTkxN2FmZjEzZjJhYWVlMzI1ZDgzODdiY2I3YTViY2NiZjIyZCBsZWdhY3ktdHJ1bmsKKzc4NzQxIDE0OWI4Yjg3NTE0ZDEwNDE2YjU5ODg4NGRiNWY3NDY1MWY2MjViMzggcmVsZWFzZTMxLW1haW50Cis3ODc0MiAyMTI0Nzg2NDBiMWMyNjM1MzVmZDBjYmZhNmQ3ZDVkZmE4ODRmN2M1IHJlbGVhc2UzMS1tYWludAorNzg3NDMgMTZhMjZkNDM3NGU0NmJmYzk3N2VlZTQxZTA4MDRlYjVmODBkNjBiYiBsZWdhY3ktdHJ1bmsKKzc4NzQ0IDRmYTk2YTkxMzgwODcxYjY4ZTFiODRlN2E4NzU3OGU3YTExOGJlNzMgcmVsZWFzZTMxLW1haW50Cis3ODc0NSBhZDI1NmE2YzY1OTkwYzhhMzUzODdiMGQzYzkyYWMwZmY5YzIxMDhmIHB5M2sKKzc4NzQ2IDMxN2QwYzQzYWIyYjZiYzg2NDQzNWI0NWZmNjUwYzVlMzc1ZGYwMmIgbGVnYWN5LXRydW5rCis3ODc0NyBmNzM1NjExMjdmNTdlM2UyMzg3M2U5YTVlMDQxYTJiY2RiMTU1ZDE4IHB5M2sKKzc4NzQ4IGU2ZDE0MTU4NzU4ZTE4YjYzYWY1MmJkMGI1OTE2NzJiMjUyNDJlMjQgcmVsZWFzZTI2LW1haW50Cis3ODc0OSAwODAyYmM5NzNiMzI0ZGEyNTFiY2ZmYzEzYWQzYTliZjUwZmZhNjA5IGxlZ2FjeS10cnVuaworNzg3NTAgY2U5NzNiNWM3NzlmMDMwNGFkM2FhMjBlNWU2MzIyMzQ1YWJmZTVkMSBweTNrCis3ODc1MSBjMTZiMzdiMTg5MWIwMGMwNjU3OTE0MjFlMWQwMzU3ZTBhMjBkNjYwIGxlZ2FjeS10cnVuaworNzg3NTIgZWU4ODAyODE1YmFkMmI3ZmY5ZjU2MGY5MGFmY2VjM2U1ZGY3M2E5MCBweTNrCis3ODc1MyBjZGUyNjg3ZTM3YzE2NTA5MjY3ZjgzNTM2OTcxODkyYjE0Yzc0ZmMyIHJlbGVhc2UzMS1tYWludAorNzg3NTQgNGYwMjE3OTQ5M2MyNWQxZmNiZDE5NTVjMGIwN2E0ZWIwZTdhODlmMSByZWxlYXNlMjYtbWFpbnQKKzc4NzU1IDI5OTBiZDNhZTg4MzhhNzZlZmYxOWRmOTFkMGZmN2M0MGNkZTgyZGMgbGVnYWN5LXRydW5rCis3ODc1NiA0OWEwYTk1MGQyMTliMjJiOWY1ZjlkY2EwMjc1Zjk0NGNmYWNjNzMzIHB5M2sKKzc4NzU3IGUyZDQxMDc5ZDA1OTY3ZTViYjZhNmY4N2NiOTczMDU4ODliYTVmYTkgbGVnYWN5LXRydW5rCis3ODc1OCBlMjNjYmEwM2NjNGIzM2Q5ZTEzZjU4ZDAyMWJjYmNmODAxOGFiMmJmIGxlZ2FjeS10cnVuaworNzg3NTkgMjc0MjJkMTczMWU5ZTQ2OTY0OGY2OTY2MTI3MzAzMTEyOGVjYTczNiBsZWdhY3ktdHJ1bmsKKzc4NzYwIDE3NGIwODc5YjdkMGVjYWNiMjZiNzUzZmI2YTlhNWY5NTk5OWQ2MTEgbGVnYWN5LXRydW5rCis3ODc2MSA3MWU0YWIyMTM0NmQ0MWU1MDQxMTI4NTgyNDk3YTcyNzhjYjM0ZmZiIGxlZ2FjeS10cnVuaworNzg3NjIgY2ZiNDQyZDcwMmNkNDcxYTY1MDJhOWQyZmI2NmU4YWExZWY2NzY0NSBsZWdhY3ktdHJ1bmsKKzc4NzYzIDBhMjczY2ExMGZhNWU0ZGZlNjU2MTg0OWRkODE5OTM2ODc5MmM1MmEgcHkzaworNzg3NjQgNGE2YmU4NjRjNmI4OWIxN2M2MzY4ZDk4MzU3MGFjOTJkNDExMzg2YSBsZWdhY3ktdHJ1bmsKKzc4NzY1IDg1Yzk1ZmQ1ZDdlM2EwNDRhMjA0MGNkMTU1ODUxYWFhZjY4NGZjZGQgcHkzaworNzg3NjYgZWRhYWZjYTg3NDMxYzdjZGZjMTU5OTAyYzg0YTM4Y2ZhMTY0M2I2ZCBweTNrCis3ODc2NyBhYjdjODdlZDVjYWRkMDRiYTkzZTc4ZTI1Y2M3YzEyODU3YjAxZWUzIGxlZ2FjeS10cnVuaworNzg3NjggZGExOTg5NDk0NmUxZjYxMmMxZWM0MDQ1NjgwNDIxNmQwOTY3NWU1MiByZWxlYXNlMzEtbWFpbnQKKzc4NzY5IGU0NWZmMDI3NDgyZmU0ODc5M2RkN2ZlMmIxNTdlNDZkMjc1ODg2NmEgbGVnYWN5LXRydW5rCis3ODc3MCA4ZjJjMzYwZDAyMTRiNTA0NTA4Mjc2N2Y2Mzg0YTk1OGViYTMwZjEzIGxlZ2FjeS10cnVuaworNzg3NzEgNWIxZGEzMmM5ZDRlMmQ0YjBkODdkOTc3MzdiYjA0MGM4ZTBkMjIyOCBsZWdhY3ktdHJ1bmsKKzc4NzcyIGM3NTIwNjRmYzI2MjcyMTQ5ZTJiZWEwNzU4N2M1ZjQzYjRmMTBjNWUgbGVnYWN5LXRydW5rCis3ODc3MyAzN2E4NDI0OWFhMDQ3NzdiMTYwNGFlZGIxNDdkOThlYjYyZTExOThjIGxlZ2FjeS10cnVuaworNzg3NzQgODVlYTQ1NGExM2RjZGExMzYzZGZhNjE2YTk1YWUzZGJiMWQ3MjNmNiBsZWdhY3ktdHJ1bmsKKzc4Nzc1IDEzMWMyMTA4ZDJiMWFmOTg3ZWQ4N2IyY2U0N2ExN2EyOTk2OGFjMGIgbGVnYWN5LXRydW5rCis3ODc3NiA0NjYwMzg3YjliMzUyMzMxNjhiOGY3ZGQwOGRlZTY3MTE5MGIwMzJiIGxlZ2FjeS10cnVuaworNzg3NzcgNDFhZWYwNjJkNTI5MzFmNWM2ZTQzMzg5YWQwYmUyYzczMzVkMmZlYyBsZWdhY3ktdHJ1bmsKKzc4Nzc4IGRhNzE0NjRkMmNmZjIxOGU1MGY2MDFiNDcyMGZiOTU3NzM3ODI1MmMgbGVnYWN5LXRydW5rCis3ODc3OSA1NzViMTJiMTk4YTE2NDRhOTkxYWUzYmU3MzczMDFkMmE1N2E1ZmJiIGxlZ2FjeS10cnVuaworNzg3ODAgMGY0NjhlMmQ5M2QwYWQxZDA2MjI3YmQxMTZhYWFmNmM3YTIwNzdlMCBweTNrCis3ODc4MSBjNjc2ZmYwZDg0OTVmNTc4NzdjNGI0NjZiYTYyZDAzZDQ4OGFhNTgxIHJlbGVhc2UyNi1tYWludAorNzg3ODIgYzZlZDMzMDM1ZDY5MmFmMDU2MmNhZDliMDViZWFmMjk0NWE0MmQ0NCBweTNrCis3ODc4MyBkYTNjNWVmZTQyNTJkZDIzMzAwNTUwZjA5OTY0NTk4MTgzMzAxYWYyIHJlbGVhc2UzMS1tYWludAorNzg3ODQgYjBiODBlYzJlM2EwZmUwYjc1ZGQ0OTBkY2Y0M2JiMzM5ZDEzNmIzZCBsZWdhY3ktdHJ1bmsKKzc4Nzg1IDM5ZDcwNDc4MDdkNTI5NWE2ZDQ4YWQ5NDM0ODM4ZjBkYjM3ZGZkNzcgcmVsZWFzZTI2LW1haW50Cis3ODc4NiA0NDVmODAxY2EyZDBiNDI5MWM1MmFjZDc5Mjc0Yzk4YThhMzYyNWExIHB5M2sKKzc4Nzg3IDU1ZjZhM2Q1YzE3Nzk1NzM3YWQ2OTRiNjQwMjg5MTI3MDNlYzFjZGQgbGVnYWN5LXRydW5rCis3ODc4OCA2NjcxOTMyYmQ4YjhiZmQyMDgxNDY1ZGRiNjdhNjhlYTc1ZjMxN2VlIGxlZ2FjeS10cnVuaworNzg3ODkgYTNmNjE3ODM1NGY1ZGMxYzA3NTQzNjhiMWI3NDk4MGZiNTRjN2E4OSBsZWdhY3ktdHJ1bmsKKzc4NzkwIDk2ZTAwMTFlYTBhNDRjYTZhOTc0YmFkYjQzMTViMDc5MjJkYzQ2N2IgbGVnYWN5LXRydW5rCis3ODc5MSAyYWM0ZjRmN2UzOTExNjFjYTAyMTM3NjZjM2VlOTM2ZjRiYzNmMWVmIGxlZ2FjeS10cnVuaworNzg3OTIgYTJmMWMxNWNhZTZjNDA1ZTIxZTg0MTVmZmI4MzU2MzkzNjJhNjkzZCBweTNrCis3ODc5MyA3MzNjY2MzZjNhNjgwNWIxMWJmNWQ2MzhiZGNlMGQ4ZTIxMzkwYzhiIHB5M2sKKzc4Nzk0IDE0NjE2ZGY5MjQwNzlkMTE1MmRhZWJlYmY0ODMxNGQyNDc4YjQxZDYgbGVnYWN5LXRydW5rCis3ODc5NSBjZGZkZWZlYzk5YWJjZGExNGRjZGFhN2Y0MTUxZTgwNWY4MDE2M2MyIHB5M2sKKzc4Nzk2IDY4ZTA1MDc2MzJhOTFmNzkwMDZiYjY4YzQzY2Y4ODc3ZWY3NDQ5ZGMgcHkzaworNzg3OTcgYWM4MDg4NGRkY2MzMjY2OTQ4MzM5NzQ2YWI2NWFjMDU0YzMwMTI1YSBweTNrCis3ODc5OCAwMjRjNTNhODY1MjFmOTBjMDA0MjEyY2Y3NzQ5MDE3MDFhYjY2ZGZmIHB5M2sKKzc4Nzk5IGIzZTY2NzNiNmFlNGQxZTA4ODJlYWRmZjcyNTZjZTY1NDNkY2Y1OTUgcHkzaworNzg4MDAgZDkyODc4YmJhN2JiZjcwZmVjYjNiYWUzNzRmNzJhYWE5MDRmY2YwMSBsZWdhY3ktdHJ1bmsKKzc4ODAxIDg5NWNmZWJkZTE3MjdiYTdkNTc5OGNjZWFiMmViMGZjOThiNmYxZGUgcHkzaworNzg4MDIgYzU1N2E1NGFkNmQxZjg3ZmFlZTA0NWUwOGI5YmU5NGVmZGIzNGM3NiBsZWdhY3ktdHJ1bmsKKzc4ODAzIDFjZGEzZDc3NzdhZTdlM2Q1NWFhMGY1NjFkNDIyZDJkMmM0NThjYzMgcHkzaworNzg4MDQgYzg3MDM5NmI2YWUxYTExYTk1YTQ1NzlkNGM5NTdlN2EwOTE3N2Q0YSBweTNrCis3ODgwNSA1OWExNTczYjgzYWM0NmIxOGUxODRjN2NiNjk2ODNhYmU1ZjE2OGEyIHJlbGVhc2UyNi1tYWludAorNzg4MDYgZjEyNjgyYWY1NTdiNjFhYTdlMDM5NGYxMzQyNjU1YjVmYjE0YmFiYiBsZWdhY3ktdHJ1bmsKKzc4ODA3IDJhNGU5MmVmZjMwYTc0MmE3ZWE0NTlmODg0MWZiNWMzMjBiMmM0OGQgcHkzaworNzg4MDggZTQyMTU1YzQ3NDk0YWZmZGM2NWI3YzMwMTllODU1ZTAyYmE0N2EwMyBweTNrCis3ODgwOSA4OGQyNjVkZTdkYWUyMDZkMGNkYmJiMjM2OWNjZDZkOTJjZGU2M2E5IHJlbGVhc2UzMS1tYWludAorNzg4MTAgMmVlZjliMGViZDVjZGY5NTg0ZmQ3MWQ3NmNmMThjMDc4NGZiYzYyMyBsZWdhY3ktdHJ1bmsKKzc4ODExIDU2Njc5YWZhZjA3ZGIyYWQ4NjBhODcwMDY1YmVmYjNhN2VkMGU4ZDYgbGVnYWN5LXRydW5rCis3ODgxMiAxZjVkYTU1ZWU3ZDdmMDAyNjY4MzkwMzMzN2FlZmUzZTE0MjNkMGY2IGxlZ2FjeS10cnVuaworNzg4MTMgZTI3NjJmNDk1MzkzNWU1MWEwN2VjOWQ2NWRkNWZkMjg3YmFlNGQ2ZCByZWxlYXNlMjYtbWFpbnQKKzc4ODE0IGJiZjJlZGQ3NTJiNjMyZjA4OTY5NzM5NzNkNDA1NTUxNmY1ZTMzNDcgbGVnYWN5LXRydW5rCis3ODgxNSAyNjlhMTJhNTAxMjNmM2JkOTRjYTRhOWUyZTIzYTAwMzA2MTRmOGRkIGxlZ2FjeS10cnVuaworNzg4MTYgM2M4ZTIwMDA0M2Q2OWU4OWU5YmE2ZWI5ZWFjNTI0MmJlMTM1MjkwMCByZWxlYXNlMjYtbWFpbnQKKzc4ODE3IDU1ZjRkZTVlMzc4YTg5ZWI5Mjg4Yzc4NjlhYWY3OWMxYjZmMjk3MTQgbGVnYWN5LXRydW5rCis3ODgxOCA2NTMzNDMwM2ZkZDNmYTI2NmNkNmIwZDc5NTMyYmVhNzFlZjJjNmI5IHB5M2sKKzc4ODE5IDZkOWJlMWE5N2MxNzIyZTZhOTFkNmIyMTUwMmYxZWE1MGY5ZjUyMTIgbGVnYWN5LXRydW5rCis3ODgyMCBkZmIyMzljNTAwODkyZmVjOTU3N2Q0M2JjODEyNGM1M2U4NGM0ZjQ4IHJlbGVhc2UyNi1tYWludAorNzg4MjEgOWRkMWVjYjVhMjRjMWI0NDIyNzUzMzlhMDJkNTdmYmZiY2M2YThiMiBweTNrCis3ODgyMiBmYTQ2MzA5MTY2OTkwNDYzNTdhNWFjMTY4ODRmM2ZjNDdiZDBlYWE2IHJlbGVhc2UyNi1tYWludAorNzg4MjMgMDE3YWFmZTgzMjZmYWM2ZWExOGRjNzI1ZDM4MTI4ZTlkZTg2NTc4OSByZWxlYXNlMjYtbWFpbnQKKzc4ODI0IDUzMGI3MWNkM2IyOTYxMmU5OGQ2YmUxMDgxZmY2ODNlNTMwYzFiMWYgcHkzay1qaXQKKzc4ODI1IGJjMGNjNjc3MWNhYTc4OTI0MDI5NmQ3NjNlZmYyMTA1Mzc0N2FmNGIgcmVsZWFzZTMxLW1haW50Cis3ODgyNiA0NDY4NjY2ZDAxYzRiYTUxYTY3MjkwMWZjOTcxMGVmY2RlNjJmMmNjIGxlZ2FjeS10cnVuaworNzg4MjcgNTU1MWZlNjY2NzBjMjQ0ZDBkNDUwYWY5ZjBjZmNhYmQ2YjZmY2FhZCBsZWdhY3ktdHJ1bmsKKzc4ODI4IGFkYmIzN2QzZDBlNTAzZDFiMDdiZjY2M2I5MGY3OGU5MmM4ZmUxNmQgbGVnYWN5LXRydW5rCis3ODgyOSAxMzVjZDgwNjRkNmZiODVlODQ5ZjdiYTNjMzlkYTUxODNkZWEzYmE1IHB5M2sKKzc4ODMwIDViNGE2NmQ2MDFjM2E0NDYzMDIzNGVkZDg0M2Q2ZjE5Zjg4Nzg4YzIgbGVnYWN5LXRydW5rCis3ODgzMSAwNTNlZjZlODNjZWQ3YzVkMzg4ZTQwZDViMDVjNmQ4NjMyYzkzMDkyIHB5M2sKKzc4ODMyIGFkOGY2M2Q5ZGNkODAzNDhkMWJlNzhiNmJjZmU2OTVhNTE3ZmE2MjAgbGVnYWN5LXRydW5rCis3ODgzMyA2ZTM3ZTEyNzU4MWI0YzEwMzBjOWMwODc0ODk1MzYzNmFiMDM1NzhiIGxlZ2FjeS10cnVuaworNzg4MzQgYTExMTAyNGEwYmNiNmM3MmQ0MzAxMzZhMjMxMDc3NTNmY2E4NDBhYyBweTNrCis3ODgzNSA4YjI0NmU4NTYwZGI1ZDAxYWU4MWY5OWZlOWRjZWFhMWYzNmQ5NGQzIGxlZ2FjeS10cnVuaworNzg4MzYgZTUzNjdkNjdhN2Y4YWJiNzg2ZjI5NTBlODU4YWRhMDg5MTEwZTU5ZiBsZWdhY3ktdHJ1bmsKKzc4ODM3IGI4ZWRlMGZlZTYxYTEzOWZiZmY3OTE3YTI4NzRiMDY5ODg3ZGQ4OWUgbGVnYWN5LXRydW5rCis3ODgzOCA4MzFlMzBjMGZkNzMwNjg1YWNlMjUzNGFiYjFlYTZmY2JjYmFlNjdmIGxlZ2FjeS10cnVuaworNzg4MzkgOTAzZDNlNjMzYTkyNTdjOTNkODMxZmNkOTBmMjZlYTQ0ZDM3M2NhYyBsZWdhY3ktdHJ1bmsKKzc4ODQxIDA2YWQzMmMwMzQ4NjRiNmFkODk0Y2RlMDExZjliMzIyOWZmYWE0YjkgbGVnYWN5LXRydW5rCis3ODg0MiA5MzQ3Mzc5YmQ1ZmI5N2QzZTYzZTdlNDM5ZjNkOGQxNDAzZjk2NjBkIGxlZ2FjeS10cnVuaworNzg4NDMgYjYyZjc2YWQ0MzBlMjgwMjJlYjc2OWY3NTQyODg0NTMzN2M2YzM2MyBweTNrCis3ODg0NCA0ZGQwOGE1Y2NhOGFkOWM0YTY2NTQ2ZjIxMjJkODBhMmMxYmUzNmJlIGxlZ2FjeS10cnVuaworNzg4NDUgMjAxNjBiNDYxY2QzYWViMzA0NmZhZjk5ZThmZDRhYWEzNTU2NTVlYyBweTNrCis3ODg0NiBlZjQ4ZTQ4ZjA2NmU5OTkxNTczNTY4MmIyOWE1YjEyM2IzNGNmZDIzIGxlZ2FjeS10cnVuaworNzg4NDcgM2VkOTU0OTBiYTlkM2RjNzI4YzBhOWJlZjU1ZjM1Yjc3NjRhMzc4MCBsZWdhY3ktdHJ1bmsKKzc4ODQ4IDZlYTBhNThlZDgzNzY5MDRkYjk5MWJlODU4NmNmZWEwOTU4ODEwMTcgcHkzaworNzg4NDkgNDkxMmNmM2IwMTkwYjM2ZGFlNWI0YWNhNzcwNjI3NzcwNjVkZTE2OSBweTNrCis3ODg1MCBmY2ZlMzI0NjYzYTYxNzE3YTQ5YjU4MmQ0NWU0MTcyMmU1YmM3MzQ5IHB5M2sKKzc4ODUxIDVjNWRlOGFjYjMzYzFhNTExNjkzMGVhODYzOWRmOGMwMjdkNjQzYzkgcHkzaworNzg4NTIgOWMyZDkxOTAxNGQwN2FhZGJlNjE0YjEzODg3MjhhMDc1ZjQ3MzYxZSBweTNrCis3ODg1MyBhNTY2ZTUzZjEwNmQ2MGZlYWJhY2E5MDQ1MjlhZTZiN2Q1ZDBhNzg5IGxlZ2FjeS10cnVuaworNzg4NTUgMTM1YWE3ZWRmNzkyYjgzNzQ5YWZhMzk0NWYzMmE3NGM4NzQ1ODc0NyBsZWdhY3ktdHJ1bmsKKzc4ODU5IDUzOTRkODFjNDUxM2JhYjg3YzJhMzJkODFkNGJlMzZjYTQ3Yjg5ODQgbGVnYWN5LXRydW5rCis3ODg2MCA2MmQ3ZjA0OTcwM2I0ODMwNTc4YmExMGQ3ZGQ1MDRmYjUzZTk4N2ZiIGxlZ2FjeS10cnVuaworNzg4NjEgOTAyN2IxNWY5YmI3NjJhNTc0ZWJmMWQ4YWRmYTQwOTU3ZTYzNzMxMCBweTNrCis3ODg2MiA5OTQ4NzE0NTMyZjkyMTE1YTAwNTQwMjk5ZGU5YjE0ZWNlNGUzNGYxIHB5M2sKKzc4ODYzIGRkNDhlM2YzMmRlNTU0ZjNlYTYzMzM1NGI5ZDZkNmRiZGYwZWJhNGEgcHkzaworNzg4NjggMjM2ZmIwYWY0NDA0OTcwOTY4M2FiYjUxZGYyMDVkOTYwNzUxZDFiZCBweTNrCis3ODg2OSBiMDU2YmM3NjdhZTFlYjE4ZjkyODVhY2IyZDE1YWU5NjEwZjc4ZDIwIHB5M2sKKzc4ODcwIDI2YjE5ODA5ZDgyZThmMzdhNjI1YjE5NDk0OGRlNWVlYzJkMGY0MjcgbGVnYWN5LXRydW5rCis3ODg3MSA2OWI3MWMzMzg5OTI1YjEzNjU4OGIwMDkxMjIxM2QyOTA3N2RjNTM1IHB5M2sKKzc4ODcyIDQyMjYxYzZjYTU2NDMwMWYyZGVmY2JmODEwODU3ZWRhY2IzZmI0YmUgcHkzaworNzg4NzMgMWJjYjQ2NTQ3MmJlNTlhODM2Y2EzNjQ0YzJmYjY3NjVlM2Y2ZjA2YyBweTNrCis3ODg3NSBmNDlkMjRiNDQ1NmVjOWU5NDFhMjg1M2M0MDIzZjEwMmQzZmZjNTQ0IHB5M2sKKzc4ODc2IDA2ZmRjNWUwYzJjMjQzYzgzYzViZTlhNDZmY2RjYjg5MjJkYmFhNTcgcHkzaworNzg4NzcgYzlkZDgyM2MxNDZkMWI2ZjIyZmZjODMxZGU4ZTBkNjY0MzExYjE4ZiByZWxlYXNlMjYtbWFpbnQKKzc4ODgwIGFjNzU0ZmFlYjYzZTg4ZjVlMTFkZDJlZDAxNWUwNGJkNWYyYmY0NzYgbGVnYWN5LXRydW5rCis3ODg4MSA4MmEyMzA0NzE5NGJmZDA1ODZjM2JkNjYwZGU5MWE1MTllY2Y0NjJmIHJlbGVhc2UyNi1tYWludAorNzg4ODIgMDdhZGIwOTQ0MGVmODk2NjUyNDhlNTY1OGE5NDJhOWUxMTFmOGY4YyBweTNrCis3ODg4MyA2YWUwOTBmZDk5ZmUzYjEzMzIwNzI0YjMzNTlkNzdhNTY0OTFiZDBjIHJlbGVhc2UzMS1tYWludAorNzg4ODQgMjczZWI1YzFiOWI5NzM1YWU2M2Y1ZjhhMGIwMzZkOGEzYWFlYTEwZiBweTNrCis3ODg4NSA5MDBmY2FjYzY0MDM0YTE3NGNhOTRjNzEyNmVjNDVkMGM1MzQ1OTQzIHJlbGVhc2UzMS1tYWludAorNzg4ODYgMWUwMWVmOTc1ODk5OWY2ZmNmZmYwMTQ0N2ZhMGRiNzNhNzcxNGJkYSBsZWdhY3ktdHJ1bmsKKzc4ODg3IDc2ZjA3Y2NkN2RiNWM3NWVlYzJmYTZiYmM5M2RlNTVhYmM1NjFmYjEgbGVnYWN5LXRydW5rCis3ODg4OCA2NzI2NDYzNjQ2ZmI0MDg4ZWYzMjMzNzZjZmNmNDQzMjFmOWY3NTIzIHB5M2sKKzc4ODg5IDk4MDgwOGRlMzBjOTFlZjM1OTUyOGY1NzI0NDMyYmQ3YWI5NmYwNDIgcmVsZWFzZTI2LW1haW50Cis3ODg5MCBlNDc0Mzg2ZmY5NmU4ODU5YTk5MmUzOTJjYTMwMjBlZGQ5NDhhM2MwIHJlbGVhc2UzMS1tYWludAorNzg4OTEgZjgwOGIxNmNjZmQ2YWRlMzFhZDUzNGNmN2E1MDdmOGYwMjBjZWZlOSBweTNrCis3ODg5MiBkNmYyMDRkNDA2OTVlYmVmNjEzYWQ0ZmRlZDdmMWQzNGQ2YWEzMWU1IHJlbGVhc2UzMS1tYWludAorNzg4OTMgYzFmYjA3YTU3YzhkNjc5YTMyN2I4N2JlNzE0Mjk4NmMyN2M2MmRkMiBweTNrCis3ODg5NCBjMjFiM2UzMmVkN2I4ZTJlNmE1NDE0NmViNjEzNDVjYzFhOTBhMjdkIHB5M2sKKzc4ODk1IDVkY2MzNjE5ZDZkMWRhODNhMDhkZDQwM2JjNWQzNzY0OTRjOGJlNTEgbGVnYWN5LXRydW5rCis3ODg5NiA2NzM1M2ZiNDA1ZWM5MmJlMTA4ZDU5YjI1MmY3ZGM0YzAxMTA3YjgzIHB5M2sKKzc4ODk3IDIyYzg3NzBmOTkyMzk2YjNjZGExYmVlY2I0MWRkOWZlZDg0NmU4ZjQgcmVsZWFzZTMxLW1haW50Cis3ODg5OCAxZWUyNDUyY2U5NDI2NjE2ZTUyMjYwMTMzMjUwZTQxYjlmNzA4OWUyIGxlZ2FjeS10cnVuaworNzg4OTkgZjQwYTgwODUyNDgwMzViMTcxYjNkNmM3MzM4MGUyYzM3YzhiYzNjMCBweTNrCis3ODkwMCBlMTBkNjFjYTM2OGVkZmFkZmM2ZGI1MDMzZjRjN2ZkZGRhMWFhZWQwIGxlZ2FjeS10cnVuaworNzg5MDEgNzdjNWM5MGJlZWYwMjhkOGM5OGQ0MzA5ZmYwMmI2YzAzNmUxNzA0ZSBweTNrCis3ODkwMiBmNjU5NzdkY2YyMWFjYWQwM2UxZTY0YjQ1NDZjZWY0MjhmODllMmU0IHB5M2sKKzc4OTAzIDRmYmYzZTcwOGZjNDAxYjcxNWY4OTBlMWViOWJiZjdjOWNiM2I3ZDcgcmVsZWFzZTMxLW1haW50Cis3ODkwNCBiM2VlNWZlZDhkYTQ4MTA0ZmQ3OWVhMGNmOTg0ZjJmYTgwYjA3MDhhIHJlbGVhc2UzMS1tYWludAorNzg5MDUgODAyODM3MDk3MTkxNzY5MjZlODQyZmIxMmEyMmQ0NjM1Nzk3MWNiNSByZWxlYXNlMjYtbWFpbnQKKzc4OTA2IDkwZGFhMDdhNDNiZmU5NDdiZDVjMjQxNzM1ZTkzYzdhODQ1ZTEyOWYgcmVsZWFzZTMxLW1haW50Cis3ODkwNyA1YTE2YmY2ZGE5ODkyZjg1ZGFjYjEzNjViNjIzYjhmMDhiNjdkYzVkIHJlbGVhc2UyNi1tYWludAorNzg5MDggZjI1NWE0NmIzMTVhZjYyOTVkOTUxNzQ3ZDA1NzIzNTc1NDZjNjc5OCBsZWdhY3ktdHJ1bmsKKzc4OTEwIGRhOTRmMTY2NmRhMThkMTdjMmE4YzU3YjU2ZTA0Mjg1OTc3NjFmYWQgbGVnYWN5LXRydW5rCis3ODkxMSA1NWVjZGI3OWM2NjAyZGQ2ZTRmZWZiZmMwNGJiZDliNjE5YWRiNGU1IHB5M2sKKzc4OTEyIGIxYjIyYzYwMjIyYjQwMDJlYTcwZTNmN2MwY2NlOTUyODYxNmRlNWUgcmVsZWFzZTMxLW1haW50Cis3ODkxMyA0NjA4MjNjNjc1Zjg5MzhiYjFmNTRhZTllNzVjMzU4M2Q1MTdjNWEwIHJlbGVhc2UyNi1tYWludAorNzg5MTQgNDNjYTY3YmQ3MDBhNjk4MTAzYTY1MmJhMjE1MGMzZmNkZWQzYTM4MCByZWxlYXNlMjYtbWFpbnQKKzc4OTE1IGFkMDE3ZDFiODA3MmUwZmE4OGQ2N2I2M2VhZGE0MzA2M2NlMGY4MGIgcHkzaworNzg5MTYgNWE2ZTg5NzA2NGQ2YmIxOTIwODU5MWQ4ZDUwMzRhM2UwZTJjNjFkYiByZWxlYXNlMzEtbWFpbnQKKzc4OTE3IDZkNWFiZmY3ZmMzMTM5OGIxZGZjNmViZGMxMWNiZmYxN2UzZWY2MTAgbGVnYWN5LXRydW5rCis3ODkxOCBkMWVkZjI4MjQwMDgyNWYxZDE0YjFjOGZlNzJhZWVkY2NlM2Q0YjUwIHB5M2sKKzc4OTE5IDI3YWE0NmQwMjE0YWJjMDA2NDQxMDBhMzk4ZjFmNWI3MWQwMzZlYzAgbGVnYWN5LXRydW5rCis3ODkyMCBhN2I1OGYxZThhZjA4NWQ4NzQ1ZGI4N2M2ZDFjYjRjYTYxOTRkYTY0IHB5M2sKKzc4OTIxIGI4NzhhMGFkNGQ4YzZiNGNiNjVkYTgyYzY1ZDc1YTkyOTBjMWI2ZTcgbGVnYWN5LXRydW5rCis3ODkyMiA1MWQyNmYzMWJjZTk1NTJiNjIyY2NmNWUwZGVmZjU4MjJlNWM3MWQ2IGxlZ2FjeS10cnVuaworNzg5MjMgZTFkNTFjZDMxNWQwODUzNDE2YjZhMmRjZGRiYTVmMjVlYzI0OTdmZCByZWxlYXNlMjYtbWFpbnQKKzc4OTI0IDMyYzVhZDI5NjYzY2RlMzc0MmNhZDEwOWJmMGUwYTJlZDM0N2I5OGUgcHkzaworNzg5MjUgMTllOTY2MGQ5YWE1MTJmZTM0NmJhNDI0ZjUzNTU3ZjkxNjgzZWM5ZCByZWxlYXNlMzEtbWFpbnQKKzc4OTI2IGU4MDhmYzU0OGNkNjY1YzlhNjE0MmU1MDgyODdiNmFhYzQyNDE3MjkgbGVnYWN5LXRydW5rCis3ODkyNyAwMDI2ZTQ0MzYyZTU3ZDA0ZTU0ODViNGJhM2RhMWM0NmNmZmZiNzI1IHB5M2sKKzc4OTI5IDY3NzRlOGM2YzM5ZjM4NGNlNTdiOGY4NTBkZGI2NWRlMjc3MTE2YzUgcHkzaworNzg5MzAgODU5Mjk2YTcwOTJmMGNiYjZmMWMxMmJlMTJkY2MzZWZhY2NhZDRmZSBweTNrCis3ODkzMSBlMGExNzcwZGY1Mjc4NjEyZWRlYzQzM2I0MTE1ZWI4OGFlMTE2NDgxIHJlbGVhc2UyNi1tYWludAorNzg5MzIgNzI4ZWYwMDcyZGFmMjJkODlmM2M4MzE4ZmZiOGQ4NGJmYzJkODNjZCBsZWdhY3ktdHJ1bmsKKzc4OTMzIDI5MDlhNGNiMWJhNzJmMTNjZDUwMzk4NDM3NGUxYTcwOTQxMDI1ODAgcHkzaworNzg5MzQgYWRjMzkwZTY2ODkwNDAxZDc2MWYxNzc0ZmMwOGI1Njc3ZGVhYjk1YyBsZWdhY3ktdHJ1bmsKKzc4OTM1IGNjMTMyMTIxMmU3MzQ2MGNiYjFlNWU5ZDkwNzAwZjlmOTYxYTM5ODAgcmVsZWFzZTI2LW1haW50Cis3ODkzNiBkNmUyN2ZhMjJmNDJhMjY2YzY2ZWViNjM4ZDA1NmNjMDJlYTFmODFiIHJlbGVhc2UyNi1tYWludAorNzg5MzcgNWZlNWEyNmUzMTY5ZTg5Y2RhOTU4MGJiZjg5ZjM3ZmY5OWFkNjc1OCBsZWdhY3ktdHJ1bmsKKzc4OTM4IGQzOTA1YTlmNDBmNDA1OWQyZDViOTdiMjU3N2Q1MTJjN2ZmZWJjMzcgcHkzaworNzg5MzkgMGI0NTdmMTQ5NzYxZGI2YWFmNzBjMjhkZTI1MDViMGVmMjRlNTMwZiBsZWdhY3ktdHJ1bmsKKzc4OTQwIDFhODEwY2UxM2RiZDdjNDNiYzdiNzMyMzM3OWNjNDVlMWI3NTIzZjkgcHkzaworNzg5NDEgOTY5NjkzMmFkODI3NWU3M2ZhOTdjNTA4MGE2ZWFiMTFlNmNhZTNhOCBweTNrCis3ODk0MiA3YTE4YzI3NjI4ODYxNjU0MzA5YWRkYTQ0M2FhYzhiMjc2Mzg3YmU1IHB5M2sKKzc4OTQzIGQzMGViNDIyYzU2NGJmNjFhMGMzZDgwZDA4MjIxZjlhYTIwNDIxNjAgcHkzaworNzg5NDQgNDYxYjg5Yjk1NTVkMGNhOTMyYzU5ZjQyMTNkMWUyODUzOThiMjIzOSBsZWdhY3ktdHJ1bmsKKzc4OTQ1IGYwOTdmMmJhMjMyOTM3MjczMzNhNmZiOThlNWFjNWMzY2MxNGU2MGMgcHkzaworNzg5NDYgNzY4NzIyYjJhZTBhNTk4NDA3OTBkZTE1MDI1ZGQ1NzdiYTIzM2JjNyBweTNrCis3ODk0NyAzNzJkMWRlODZkZTlmODYzMGRlNjg4NmM5NzkyZTYwMzhiYzU1OThjIHB5M2sKKzc4OTQ4IDNkNjgwOTQ5Zjc1NWQ4NmJhOWFlNzEyMzRiNTMxODUwMjQwYjdhYTYgcHkzaworNzg5NDkgZjEyNzBlMDBmNTg3ODc2YzNjYWYxYWVhNTY5N2YwYzQ0MzA0MjgxYiBsZWdhY3ktdHJ1bmsKKzc4OTUwIGRmOGY4MWRmODU5NWNlNWY5NGQ0YjUzYjRkOTFmNjgxMjlmNjQ1NDYgcHkzaworNzg5NTEgMzA4Y2ZmN2RmNjRmMTc0ZWRlODY5YTM2YWJiOTBlMGYyNDM1Nzk3OSByZWxlYXNlMzEtbWFpbnQKKzc4OTUyIDQwM2QwYTI3YmQ1NmVlNTUzNjRjN2NmZmM0YWI4MGYwYjQwOTM5ZWEgbGVnYWN5LXRydW5rCis3ODk1NCBlN2YxMWY0NGQ1MTQ1NWY0MmNmMmU4NzhkZGMxNGQ4ZDUzOTY5Y2I0IGxlZ2FjeS10cnVuaworNzg5NTUgNzdjNzFmMjU4ZGY3Y2E3NWY4NWI0OTg3YjUzNTk3NzI2Mzg0YTVmZiBweTNrCis3ODk1NiA1Yjc1NGU4ODI4NTdjZmQxYjMzNDVmNDMxMmRkODgyNTlhM2NhOGUyIHB5M2sKKzc4OTU3IGI5M2NmYWZjZGNhZDdjMzNjYjk1MzY4OGQwZTExMTU2YWQzMGViYjEgcHkzaworNzg5NTggOWNmNzAyYzkxYTllOGFlZjg0OTNmM2E1ZjUwZjc0NWI2ODVmYjBiYyBweTNrCis3ODk1OSBlN2I1ZmM4NjQ2YWJmYTkwMWU3MmEzM2FjMzk4YWY5ZWQ1MmVkNzY5IHB5M2sKKzc4OTYwIGM4Y2NiNGUwYzZmZWE3ZDNkMDMzZDJlN2JkNDY1OTg4ZjJlNWRmNDYgcHkzaworNzg5NjEgYzQ1ZjIxNzA1ZWNiNzllMzQxYmZiNGMzOTNmMWM1NzUyM2I1MzZiMiBweTNrCis3ODk2MiA4YTkwOWU2ZDJjYWZhNzkzZWZlNDdiYjQxNjIzNTUwMDM3YTNhYTY3IGxlZ2FjeS10cnVuaworNzg5NjMgYzE2ZTA3NTVmY2Q3ZDA3OGQ0NjUxNDk0NjU2NmIwYjk0MmUxYzk2MSBweTNrCis3ODk2NCBiNTcwYzViOWIyZWYzNTQ4NDM2N2U1NjE0NTMwMTkwOTlkYjRiYWMzIGxlZ2FjeS10cnVuaworNzg5NjUgNTllMjIzYTA1NjgwZmEyOTFiZmQzM2UzMTMxYzY3NDE5NzVhMDIxMyBweTNrCis3ODk2NiBkMzYwZjM3YTRiNTk1ZmI5YTM0NTMwNTc1ZDFmZTQ1ZTk2ZDc2Mjg4IGxlZ2FjeS10cnVuaworNzg5NjcgOGYxOTkzYjg2NmY3OTAyMTQ4MDFjMGNjMTgxZDRiMzBhYjdiOGMyOCBweTNrCis3ODk2OCBlZWZkNTIxZjE5Y2UwNWYzOWY3NGIwMmM3MTkyYjZiZjJhODBjYjBjIGxlZ2FjeS10cnVuaworNzg5NjkgYmIwNmFhOTE4MzgyMWQ0NTIyN2IzODJmOTcyODBhZTBhOTZiMDJkMyBsZWdhY3ktdHJ1bmsKKzc4OTcwIDA4YzU0NzNiZWRjYzM5M2VmZTU0ZjJlY2E1MWUxMWE4YWMxMTE5OGYgbGVnYWN5LXRydW5rCis3ODk3MSBlMWRlMDgwYzQ1NTZkMzk1MDAwNGI2NDM0NThiYWE0YzA5ODlhZWExIGxlZ2FjeS10cnVuaworNzg5NzIgYjc0ZjFiYjg4ZTYwOTRmMzMzYjgyYzc4YzZkNWE2YmRhMjJiMWQ0MyBsZWdhY3ktdHJ1bmsKKzc4OTczIGFkYjVlOTI4YmRlMjBmNzJlNjU2MWUwZTBmZmUwYmNkMmZlOTc1NWEgcHkzaworNzg5NzQgMzhmMmY1MjYyYjIwM2FkNTZmMTA5ODBkNmE3NWI0YWIwODUwYWU2NCBsZWdhY3ktdHJ1bmsKKzc4OTc1IDM3YWQ0MGEyOGQzYmY0MGI5YzcwMjBiZTRkZTk0OTYxYmFhYThlMjIgcHkzaworNzg5NzYgOTVmMjFiMmMyMTZjMDhmZGQ5NmIxZmI2NTA5YjBkY2IxZDg2NDBlZSBsZWdhY3ktdHJ1bmsKKzc4OTc3IDhlMzhiN2JlZjcwMDA0MmZmNmNlM2ZhMGFmOTU4YjUyZTAxOGVjNDEgcHkzaworNzg5NzggZGIzNzlhOTBiNDZlNDA0MDJkNDUwYjA0ZmIwZGFjYjZmYzY5MDU2MSBweTNrCis3ODk3OSA3M2U0MmMwZjVjOTllNTIxZmRiZjFlODA5OWM3MGZjM2ZjYjkwMjE4IGxlZ2FjeS10cnVuaworNzg5ODAgYjg5MDBhMWQ5ODM1MzA4OGM1MTBhYjE2MTI2NWRhZjQ0ZjU3NGY5MyBweTNrCis3ODk4MSBhMmRiYTZmZTNmYmU1YTg4Y2FhMjI0NjRhZjUzNjc3YzJiMzEwMDY4IHJlbGVhc2UzMS1tYWludAorNzg5ODIgOGFhNTUzMGU4NDA3M2Q4OGZiYWViZDMxNzdlODIxYWVjYzc4Mzk3MiBsZWdhY3ktdHJ1bmsKKzc4OTgzIGVlYjliZjE1MjViYWM4YWFkZGMzNTAwY2NlNDQ3Yzg4YTE4ODI5NmEgbGVnYWN5LXRydW5rCis3ODk4NSBjMTliNGJmYjgwNmFhOGMxNTE1ZDgzN2YxZDljNDgxZDE4NTFjYzEyIGxlZ2FjeS10cnVuaworNzg5ODYgYzRkZDMwYjVkMDdlYWNmYjNlYWVkNDQ3ZTg1YTllMTE1YzY3N2RjZiBsZWdhY3ktdHJ1bmsKKzc4OTg3IDU5OTMxMTc5YzVlMmM1ODIzZDE2MmQyNzYwYjdiYzI4NThhN2Q0YTcgcHkzaworNzg5ODggNzk4NDVlM2Q1Y2FjMjFlNWVhMzY2ZDhkYzZhMTE0OGJjY2ZkM2UyYiBsZWdhY3ktdHJ1bmsKKzc4OTg5IDlmZmM4ZjA1MTVjZGVjNjA4NGZlNWVlMmE4MWQzNzVmMDY4ZGE2ODEgcHkzaworNzg5OTAgOTIzYzg3MzljYTg2MTc0ZmVmOTI0OGQ2NTBlODQwMTczMjJhN2I2MiByZWxlYXNlMzEtbWFpbnQKKzc4OTkxIDg1Mjc5OWJiM2ZiMTNjYzFiYTc1YjQ4MTUxMzc1ZjcxMzYzMTUwYjUgcHkzaworNzg5OTIgNDI1NzJlMzQ3MTA4YTJkMWRkNzUzOTVhNjcwNjM2MjhiNDdmNmNkOSBweTNrCis3ODk5MyBiNDUzM2I1ODBmYzllYzFhM2RhNTU1ZjVhZDgzOGQ2NDhmMTNmNzFlIHB5M2sKKzc4OTk0IDc0NTE0MDAwZjgzNzVkNjQ3OTk5ZTU2ZDYzMDIzZmZlMjhmOWVlNTEgcHkzaworNzg5OTUgNjYxY2EwYjA1YTMxZTc1NWJjMzFlYjBiYTIyNzU0MTY5MjRmYWY1MyBweTNrLWppdAorNzg5OTYgYmY0YTRhY2VmYjJmODcwOGIzODkyNjc2OTRkNzlmYjQxYzBmNWUzZCBsZWdhY3ktdHJ1bmsKKzc4OTk3IGM5NjZlNmZkNjE3OGIxM2RkNDM3ZTZjNThkYmViNmM1OGVjOThlNDQgcHkzaworNzg5OTggOTViMjY5Yzg2OGRhYzk0NWIxYWNkZGVhNmI0NDNlZWU3MjRhZmQyNCBweTNrLWppdAorNzkwMDkgYWE2MzI5NDNiOGJkZGFkMTEyZWE3MGEwZTVlYjQ5NmE1Njk0YmUyNSBweTNrCis3OTAxMCA5N2I2NjJiMTBmZjgzOTBlNDE5MTc0Y2NhYWJhZTY0NmUxOWJlNzhlIHB5M2staml0Cis3OTAxMSAyZTE2Yzk2MzQwMWRlMDNiMDY5ZWM3OTNjZTAyYTIxYTcyNjY3YjRiIHB5M2staml0Cis3OTAxMiBiYzY1Yjg2ZmFlOTQ2MmU3ZDhhNmJlOGY5M2QxMWJkNmVkYzdmMGQ1IHB5M2staml0Cis3OTAxMyAxOTBlYWRhZWFiYzUyYWQ3ZGZkMjUzMGQ3NTY2ZDFlOWE2MzdiNTJlIGxlZ2FjeS10cnVuaworNzkwMTQgMGYwODA5NjFlY2VmMTMxYjA0ZjIzODJmNDlhNjhhMDBiYjZiOGY3MiBweTNrCis3OTAxNSAzYmUzYWMwMTliZGIwNGU0MzkwZDE5NjE3OGI3ODhkMWFkNWQzNzJlIHB5M2staml0Cis3OTAxNiAyMDY0YmY2MmEzOWY3ODY4YjNjMzc0MGE5NGQwNTIzYWYxMjk1ZjIzIGxlZ2FjeS10cnVuaworNzkwMTcgYmFjNzJmMTFhOThjNTZjMzYwNzhlMmVkZTMyYjA1MWE1ODA4N2U1MyBweTNrCis3OTAxOCAzMGYyODMwMzllMGU5OWE3NTdkMDgwMzAzZTAyODhiMWFjNDVhMTVjIGxlZ2FjeS10cnVuaworNzkwMTkgNDQwN2FjNGM2MzYwYmU0MWYwYmVhZTc5MDNjYjQ5NmYyYmU5NTEwYyBweTNrCis3OTAyMCA1OGUzYmMyMWMyZGQ3MDFlYjQyYTU3NWM3ZTBhYjA1NjFmZDM5MzBmIHB5M2sKKzc5MDIxIDcwNjU1OWQzYWM1OTA4ZWNhYTdkNDcwZDg1NjE2NjVkZTFjZDliYWYgcHkzay1qaXQKKzc5MDIyIDY5YzBkNWVhMmUxZTNjM2I0NzBlOGU0NmUzZDc4ZjAzZjgyM2E2YzMgcHkzaworNzkwMjMgNWI4ODhmNTkwZmUyNGNiMjM0ZTEyNmZjNGNmYmRjYTEyN2NjN2JmMSBsZWdhY3ktdHJ1bmsKKzc5MDI0IDU4Mjc4MGVkZDBlODhhM2JjNjUzMzY2OWUwNTBlNTcwNDZlMzJkN2MgbGVnYWN5LXRydW5rCis3OTAyNSA4MDM4YWYxZTIwNjU1ZWI2MzNjZTY4YjQxOTBjYWFjNmY0MTQ4ZGNlIHB5M2sKKzc5MDI2IDhhNDY5M2Q1MTdmZWNmMWEzYzg0OTE1NzA3NzI0MDYzNjkwYmU5OWQgbGVnYWN5LXRydW5rCis3OTAyNyA3ZjE2MmEzMDk0OTc4NWQ4YmUxMDE5M2Q4NjM4NGQ3ZDNlNmQwZDliIGxlZ2FjeS10cnVuaworNzkwMjggMzQ2NTgyZjg1ZmFmODg0N2Y1YjJmNWIxZDkxYTgyZTVmZDY4MzU0ZSBweTNrLWppdAorNzkwMjkgMTBiNzYwNmE5M2VkMDM5MWEyMzM1NWVjMzQwM2Y4ZWRmYzNkMWRlYSBweTNrLWppdAorNzkwMzAgOWI0NjI1NzAwMjUxYjc0MDA2Y2YyNDVhYmNkZjZkMDJkODhjZWIxZiBsZWdhY3ktdHJ1bmsKKzc5MDMxIDdkZjNlMTNkM2U1MDllMGYyYjA5OThjYzdhYzk5YmQ2NzE2N2NjYTcgbGVnYWN5LXRydW5rCis3OTAzMiA3NDA5YjVhN2M4MWE2ZjA2MmZlNzM2NzQ4MWQwZjU2MTgzMGE3ZGVhIGxlZ2FjeS10cnVuaworNzkwMzMgODBkYzRkMTMxZDg1ZGQzMzEyMGY5ZWFhZWQ4MzlmNTFhYjY4ZDI4MyBweTNrCis3OTAzNCBiODc5MjA5YzIwMmZkMzMzODgxMDJhNGUzNDk4NmE1MjVkZjZkNGExIGxlZ2FjeS10cnVuaworNzkwMzUgNTI0NzllMDQ1NGU5MGNmY2VjOTNlMzMyYTI5NDRiMDY2ZWIzZjE5OCBweTNrCis3OTAzNiAwYWMxOTE5MGE3MTBmYTc3MzRjZGZjNmY0YzNkNjNiNGYzN2ZiMTQ2IHB5M2sKKzc5MDM3IGUzYmUxZjFhZDYxZWUxMTUyZWUyM2ViOWZjZjY0MTJmODkzZjNhOGEgcHkzay1qaXQKKzc5MDM4IDUzMWQzMDIzYjQ4YjdjZWQwMzQ4ZmQxMDYzYmU4MjAyZDg5MjBhZWMgbGVnYWN5LXRydW5rCis3OTAzOSA0MzVmYTIxNWQzM2YwOGE2OGI2OWQ4NWQzMDFmMjcxMDJkMDNmMmI2IGxlZ2FjeS10cnVuaworNzkwNDAgZDYyY2ExZWFjY2I5ZGFiZjdjZDE1NGM1N2QzNjlhNzYxNjZlODgxNiBweTNrCis3OTA0MSBlYTI3OGQ5YzBiMmFhMzNmMzQ4ODBhYzgyZGYxYjIyYmI0OWMxYzZkIHB5M2sKKzc5MDQyIGIxYWU0ZjgzNzdmYjZlMzFlNTBkYTU0YWYyZWM0YzE5NDYzY2Q5NWUgcHkzay1qaXQKKzc5MDQzIGY3MjIwY2ExMTM2M2M5YzdjYTMwMzhhNTg2Yjc3MjE0NWIxN2RiM2IgcHkzay1qaXQKKzc5MDQ0IDg1NTVhNGNiN2M0Y2I2MzY4NGY0NDk0ZGJkZGQ2ZThkOWIzNjE2MzggbGVnYWN5LXRydW5rCis3OTA0NSAxNWJkYjk0YzgwNTVjZGU5YTAxZmI3NzAyYTI2MzU2YTdmNjRkODBlIHB5M2sKKzc5MDQ2IGJmZTllZTAyZjRjMDdlMWNiNzE2ZTAyZDc4YTMwMDdmMmJhNWFjNDkgcHkzay1qaXQKKzc5MDQ3IGExYjZhNTRlMmI2YTUxYzUzNTdkNDMwMjFmOWNiYWUzYTFiY2U0NzcgbGVnYWN5LXRydW5rCis3OTA0OCBkOWVjNGM4Y2U2OTU0MmM1ZmE2M2VlZDAwYWE3NTdhOWVkMzhmMGZjIHB5M2sKKzc5MDQ5IDc2ZjllM2I2YzU4NGU0OGMxZDhjOWY0MjEwOWFhNjM0YWIzNzU1NGYgbGVnYWN5LXRydW5rCis3OTA1MCA0ODVmZTIwZGFiMTIxY2I0NjkxNGRmM2FmYTVhNTMwM2I0OTYxNzRiIHB5M2sKKzc5MDUxIDQyOTQ2MmQ0Y2EwYzIwMGM1ZDIyM2JhYjE3NjZlMjkwNGQ5N2NmNzkgbGVnYWN5LXRydW5rCis3OTA1MiA0NjE4M2JmNGYxNDM2OTA1YTk1YjkxYTg4ZjBmOWI5ODNiMzgyNDdjIHB5M2sKKzc5MDUzIDQ2NTY4NDZhODliMjY3NWEyNzUzY2RlNzFkYjMxNDBjNTg2N2FjZjggcmVsZWFzZTMxLW1haW50Cis3OTA1NCAyY2ZhNDQ5NzE4OGZlZjQ1NTBiNGQ1YWMwY2NlN2JhM2U2NWFjNzRmIHJlbGVhc2UzMS1tYWludAorNzkwNTUgZDFkYmU1ZGYxNzkxZjI5MTg2Yzc1ODE3OGZhNzBjZTNiOGNkZTRkNSBsZWdhY3ktdHJ1bmsKKzc5MDU2IDg3MTI1ZDc2NDdkNjg1YjEzYWY3NjY4NWIzYzdkNGFjYzIxZTZmMWYgbGVnYWN5LXRydW5rCis3OTA1NyBkN2I5ZTI5NDFlMTQ1ZDdkZGRiYTEzNDhiZWJjNzAzMTYwMjIwNjJiIHB5M2sKKzc5MDU4IDI1ZGU3MTY3YTA1NThmOWEzNjAwMjM4NzY0MDM5ODM2MDQxZjYwNDEgcmVsZWFzZTMxLW1haW50Cis3OTA1OSAzNDRjYjZhNGVmN2RhZDdiZTQ3MTM4NWM1ZDlmMzE1YjMxZTczMDFlIGxlZ2FjeS10cnVuaworNzkwNjAgMjJmNTg5YThlM2FiOThlNmFhYWQ2NjNmNTEwZmU2YjA0ZDE4MWU3ZiBsZWdhY3ktdHJ1bmsKKzc5MDYxIDNmNGM3YzRlZWY2MmFmODIzYjIyY2I2YTNhOWNlNWNiYzBmNzc0NTEgcHkzaworNzkwNjIgMDM4NTJlYjA4ZGIxNjE0Njg4Y2E2YjcxNTBhNjE1OGEyOGU2MmQ4ZSBweTNrCis3OTA2MyA5OWFmNGI0NGU3ZTQ5MDM5MDgxN2E1OTdhNTQyNTQ2ZDc0OWU2OThlIHJlbGVhc2UyNi1tYWludAorNzkwNjQgMTZhYWIwMmVkOTljNjdlYzI2MmI5N2EyOThmMzI3YTIyMmM1OTJmMyByZWxlYXNlMjYtbWFpbnQKKzc5MDY1IGE1ZGIwZGYzMjM4MjA5NDNkNjk0YTYwZDkyMzVmYjE5ZDU2ZDQxZWUgcHkzaworNzkwNjYgNzJhODA5ZDE2NWY0MzZjYzkwOGRiMTdkOTlmOWZmYTBhMzZkZWVhMCBweTNrCis3OTA2NyAxNWI4N2VhMTQxM2Q2ZTgwMjBkM2NjNWQ2MDc2ZDM0YjJlNmIzYTUxIHB5M2sKKzc5MDY4IGUxNWE4YTQ3NjQ5NGJiOTQyYWQ4ZDQyYTMxZjUxYjExMzc4NjMwNDMgcHkzaworNzkwNjkgNGYwOWQ1YjE0NzVmZmFjMzU2NjAzMWYwNjdkNzg3ZGZjYTZhMmFiOCBweTNrCis3OTA3MCAzN2IxYjkwZGU1YzE1NWQ5M2IzYTAyODVlMjNmZjExNDdiZTljNGMwIGxlZ2FjeS10cnVuaworNzkwNzEgZWVhNzJiODFhMjNjNjVjY2JmNjA1Yjg2ZGE5ZGRjMDJmNDFlYTQxNSBweTNrCis3OTA3MiA5NmVmZWJkYTRlYTJjOTZkMzFlYjY2ODVhOWRlY2Q2YTFiYTY3YzMxIHB5M2staml0Cis3OTA3MyBmYmMzZjE2OTFhZDg5ZDVjNDgzOGEyNjUzZmRjYTkxNmY2YWYyZmUwIGxlZ2FjeS10cnVuaworNzkwNzQgMGIxZTUyMjgwN2YyYzdiMWRkMTcxYTcwOGZmMTNhYzMyMTEwOWI0ZiBweTNrCis3OTA3NSA5MTAzODU1YjgyNmJkNDc3NzI0NDkwNjY2NDA3M2Q5ODk5ZTI0NWFmIHB5M2sKKzc5MDc2IGI4YjQ5YzgyM2ZlNDQ1YmU4ZDhiZTIyYTM1YWYxNzMyMDk4Y2NiNWYgcmVsZWFzZTMxLW1haW50Cis3OTA3OCBhMGE2N2MyZmI3ZmY2ZTQwMzk5MGUwYTliMjFhMWU0ZGEwODg3NWEyIGxlZ2FjeS10cnVuaworNzkwNzkgOGZhMTI4NGNlMDBlNTkwMDI3YTQ0ZTVlMmY0NjA4MWRhNDEyZGI3NSBweTNrLWppdAorNzkwODAgZGQxMmY3ODhhNTQ0ZGY2NmYwOTE5MDg3ZjcxZTVkMzY3OTlkOWZlNSBweTNrCis3OTA4MSA0NzFkMDdkMmEyM2Y1ZWY3ZWQyOGJhYTkyNDk2ZTM1ZmY4MGMzODg0IHB5M2staml0Cis3OTA4MiBhMjQxZTQxNTg4ODIzZTcxMWJmMWQzOTc5ZmEyZjQ2YmZmZDVjMDc5IGxlZ2FjeS10cnVuaworNzkwODMgZDk0NDExNDAzMDkzYmIwYmM3ZDgyOWU2OWU3Mzc1NDE4N2QyNDZjZCBweTNrCis3OTA4NCA3N2Y4NTNmZTNjZjI2MTQzZGVhNTk4MjNlOGZmZmE1MDVkMTQ2ZWU1IGxlZ2FjeS10cnVuaworNzkwODYgNTBlMDZiNmFiOTU2NWRmNjdhMmVlYjBmMmE3MzVlYWNkNzUxNjkzYSBsZWdhY3ktdHJ1bmsKKzc5MDg3IGQxYzNhYmM4ZTBjMjljNjBjNzZlNjc0OWI4MmQ0MTlmOTZiZTg1NzQgcHkzaworNzkwODggNzkxYmEyMDFiYWE5Nzc2YmZjMjhjMDAyNDIzMTAyZTU3NjUwYTUzOCBweTNrCis3OTA5MiA0Mjg1ZWEzM2E1ZGZlNTIxZmJjMDFmNmFhMTcxNDdhMDExMDBiMDVhIHB5M2sKKzc5MDkzIGI5ZmZhOWZkMTAxYjViOWM0OWMwMzgyYzY1MjQxNGJiOWUzYWE4ZjIgcHkzaworNzkwOTQgOGEyOGJlNDVjMjQyM2NiYzEwNTAxNGUxYjM4Y2E5YzU4ZDYyZjY2MiBweTNrCis3OTA5NSA1ZmJkOWM2Mzg5Yzc1M2FlMmMxMzAzOTU5ZjA5MmI2YWM1NzhiMGQ5IHB5M2sKKzc5MDk2IDRiMzU2YzFiMjVmNjZkOTA5YmFjMzJjMGQxNzAzYzgxY2I5ZTZlNjMgbGVnYWN5LXRydW5rCis3OTA5NyAwMGRhYThiNzM2Y2M3ZmM1YjgzMWFjZmJlOGZjYWU5ZmU0NGU2ZTU1IHB5M2sKKzc5MDk4IGI2Mzg3ZjQzY2RkYmQ5YzNjZGRhYjhhMGZlNDc5YjRjY2YwMDE0OWYgbGVnYWN5LXRydW5rCis3OTA5OSA5MTQzMWIwNTg0NzhlYzE4NTg2N2M3NWM4ODA2ZDFlNzA1YWFjMjE4IHB5M2sKKzc5MTAwIDA3Yzc2NjRmMjFhMTg5OTE5NjUxNGM4NTEzYzAzN2MwZDYyNWNmNzcgbGVnYWN5LXRydW5rCis3OTEwMSAyNTEyYzJhZDVkZTcwNWJiNjE0YWRkMmZlNjAyMjgwNjA1NmFiZDQyIGxlZ2FjeS10cnVuaworNzkxMDIgNDU4N2UxZjc0ZWQ4NWQxMjhlNTI4ZTc3ZDMxYzYzYTQ4MGI1ZDM3NiBweTNrCis3OTEwMyAyYjFiMDM3OTcxOGI0OWQ3NzJhYWQxNjM1YzdhNjRiOTQ4YjFkNzBkIHB5M2sKKzc5MTA0IDYzMGNlNjJjOTQ2ZWY0N2FjNDQyZmVmY2JkMGE2NzNmMGU1MTExZjYgYnJhbmNoX2xpYmZmaS0zXzBfMTAtd2luCis3OTEwNSA4M2E3Njg5ZjFiYjVkMzMyYWRhOTU0M2JkYWY1NTBjZmU1NDAyNjhkIGxlZ2FjeS10cnVuaworNzkxMDYgOTk2YTMxOTIwZDQ4YzA5MDc4MWE1NzJlMGU5NDFlMDY5M2ViOTg3MSBsZWdhY3ktdHJ1bmsKKzc5MTA3IDE4Zjk0ZTIzY2E4MGE2NzQ3ZTU5YWZkMzMwNWU5NWI2ZGM0NjI3MTEgcHkzaworNzkxMDggM2Y5MDUzNTk4Y2EwZDU3YjczZmU5MWNmZDQwMzRmYzM4YTIxMDFlYSBweTNrCis3OTEwOSBhOGUzOTc3OWZlZGYyNGU3YjYwNjE0OGY1OTA4ZjZmMzYwNzUzNzJkIHB5M2sKKzc5MTEwIDJkNjgzYjhlM2Y1MDJmODYwZDE5MDlmM2M2NGEwYjFjOTM0NjlmY2QgcHkzaworNzkxMTEgNDc0MWY2ZGQ3YzY5YTBiMjk0MTEwM2JkYzU3NjY2YTE0OThiMjc2OSBweTNrCis3OTExMiAyMjQ1OTFiYTZhMTg0Zjk0ZGMyMWRlYWI1ZmY3NDU1YmEyMTA2NWYzIHB5M2sKKzc5MTEzIDFlMGQxOGU5ZjhjMWJjODliMjY4N2M0YTljZDgyMmNiOWJiNzdmMmMgcHkzaworNzkxMTQgMGYwMGRhNjkwNGE2NTc4MTUxYWVlMjAyYWU5YWZiZGVkYmE3ZDVjZSBweTNrLWppdAorNzkxMTUgOWFiMDdhYmUyMzBkYjk4YjE4ZDQ2ZmUyYWUwYWUyOGQ3Zjk0YjZhNCBicmFuY2hfbGliZmZpLTNfMF8xMC13aW4KKzc5MTE2IGU0MzIzM2Q4MDA2NGY1ODNkY2JhODFmNWU5NzZmMTIxMjRjMjlmN2IgcHkzaworNzkxMTcgMDJlMjE1NzZkYTAzNzczOTBiNGJhOWQwZWM1MmU4MWEyNWQwYmQ3ZSByZWxlYXNlMzEtbWFpbnQKKzc5MTE4IGMzYzdhM2JlNDBiMzU2NmUzMWIxMjk1YWRiNGIzZjAyZjAxNTVlZTcgcHkzay1qaXQKKzc5MTE5IGFjYzNlMzU4M2ZhYzk4OGEyNDJmOTg1ZDU1NDVkODYxYTNkMmUwYmMgcHkzaworNzkxMjAgOWZmMTAzNWY2MjM2NWViZjBkOGVjNTY0NzMzMmVmZjM1ODY4ZGI0NSByZWxlYXNlMzEtbWFpbnQKKzc5MTIxIDNkMzhjMDAzMmNlYWE5NWZiZGZhYTkzOWZhODMwMTE1MzRjZjJkMjcgcmVsZWFzZTMxLW1haW50Cis3OTEyMiBmMGVmYWFiMDQzODE5YWI1ZmY3ZDAxZjZmYmQ0MDM2NjdlYzVmOGMyIHJlbGVhc2UyNi1tYWludAorNzkxMjMgZmU0MTE1NjkyZjc2YzEwNmM4OWI2YTIzM2NhNzQ3ZWNlZTFmMmRmMyBsZWdhY3ktdHJ1bmsKKzc5MTI0IDlhY2I3YzE1NjA3NTgxOTdlZjUyZThkMWZiNTllYzA4ZmU4ZDFmZDYgcHkzaworNzkxMjUgYTVmNzk2ZmI2MWExMDI2NGRhYzJmYjIyZGU2YzZkOGRjNTA5NDAwMCBsZWdhY3ktdHJ1bmsKKzc5MTI2IDcwNjk1N2Q2ZWNkZmY1MGE3ODliMzBlOGIyOTgwYTdlMGI0YWM4MjUgcHkzaworNzkxMjcgMTNmZjg1YjEwZGIwZTU3MzQwZTc3Yzk5NGVhYTk5YWU3YzU4M2ZlMyBsZWdhY3ktdHJ1bmsKKzc5MTI4IDc0YmIwZjYyYjMyZTdjNzJlNmIwZmNhMDg4ZTUzMmExZmI0ODY3N2YgcHkzaworNzkxMjkgMTA5YzRlNjJlYzIzNTc3MmYzZGFmYTRmYzI0MjdjMjQ1N2I2ZDcxYyByZWxlYXNlMjYtbWFpbnQKKzc5MTMwIDVhNTVhMzI2MTE2NDRkYTljY2FkNDNhYTYzMzgxOWZkNTBiMzYyNTIgcmVsZWFzZTI2LW1haW50Cis3OTEzMSAwZTNjMTBiY2RiYTQxZDI3YjIzZGZjOTlhMWE5OTZiN2IxNzEyYTU4IHJlbGVhc2UyNi1tYWludAorNzkxMzIgYTY4MmI3MDg3YWNiYjNmOWZlNTM4ZWQ4OTViN2RhZmJmODZhYTY2OCBsZWdhY3ktdHJ1bmsKKzc5MTM2IDE4MDM3NGJmMmQ1MjlkZjM0NTQ0OGZiYjkwNmUwZDZmOWFhMDAwYjggcHkzaworNzkxMzggMzdjOWFiN2Q0OGYxZjQ3NGZiYTliZmYxZTNjZDY5MTBlODA0N2Y0MiBsZWdhY3ktdHJ1bmsKKzc5MTM5IDY2NTFlZmI3NWQ5ZWEyYTliNmZmNTdmM2FjZGM4YWViZDg3ZTJkOWQgbGVnYWN5LXRydW5rCis3OTE0MCBlMDc2ZTU1ODM0ZDlmMjExMzJhYWZlNjk2ZTUxNzVmYTNhMjhjOTViIHB5M2sKKzc5MTQxIGU1MjNiYzFjMzAzNDQ0NWZjOGJmNTdmOWMyOTUwYzEyMWQyNTg1YmMgcHkzaworNzkxNDIgZTg2NzIwMDNhZTg0ZmYxMmE1ODg0ZmIxMmZjZmFmZTk1OWE3MTU3NyByZWxlYXNlMjYtbWFpbnQKKzc5MTQzIDg1Y2JlNDRiMzkyNWY4MzJhZGEwNzAzOTZhOTE2NmY2MDcwMjExOTggcHkzaworNzkxNDQgNjM1ODY1OTJhM2EwNjk1NGUwOTYwOGU1NzdmN2RhY2I3ZjkxODUzNSBweTNrCis3OTE0NSBhNjEyYzhiNjFiNGFhODRhN2Y4ZWYzNDBiYThhNTNjYzU4NTUyMjM0IHB5M2sKKzc5MTQ2IGY3N2Y4NTAxZGE3ZmFiOTQ0NDk3NGExZGY1MTlmZDY4Nzk3YmEwYWMgcmVsZWFzZTMxLW1haW50Cis3OTE0NyA5NjBlZmEzMjdjNWQ5YzE4ZGY5OTU0MzdiMGFjNTUwY2I4OWM5Zjg1IHJlbGVhc2UzMS1tYWludAorNzkxNDggN2M5MjY4MTQ2OWY3YmI0NTUzMWEzMWQ1NTg5NmRkMTMxY2JjN2M3YiByZWxlYXNlMzEtbWFpbnQKKzc5MTQ5IDM1MmQ2MWE2OWY1OTViYTQ4OWU5ZTdlMGI0ZWE4ZDY0MjdhYTIzOTcgcHkzaworNzkxNTAgZWRhZDk0OGI0ZDY2ZmFiMzFiMDIzNGE0MTgxMmMzOTQ0ZTA2YjBmOSBweTNrCis3OTE1MSA1NTRlMGY0MzVkMDhhYmI3MDQxNWZhYmU3NWUxODI2OGU5YTYxZmRjIHB5M2sKKzc5MTUyIDYyMjNjM2ZkNjFmMDlkNzMwZmI4MGIwNmQzNTZmN2U4MTQzMDlmNGMgcHkzaworNzkxNTMgOGE5MjBhODkwOWEwOGJlMzkwYzQyODI3MDU4OWMyYWVlNTI2NGJhZSBweTNrCis3OTE1NCBhZTllMTM3NDExZjFmMzhmMjcyNDU1NGUxOWY1YWJiODI3MjYyN2VlIHB5M2sKKzc5MTU1IGQ4NzAwYjRmMWI5ZjUxNTI1MDZjNmRhZTdhMzUxNTViZjk0YWZiZTggcHkzaworNzkxNTYgNGY3MTliZTdjODc1ODVmNWIxNTc4MDNmZGIwMDA0ZDBlZjBkZWM1NSBsZWdhY3ktdHJ1bmsKKzc5MTU3IGU2MTkwNDdhMmYzNjYwOGVhOTZmZTk0MzI1ZWUyMmUxZjgyYjJjZGYgcHkzaworNzkxNTggYTlhODA3YjdjZDQzOWZjOTdlNDQwNjBlMmY0N2Y4MTAzNDMxMTJmOSBweTNrCis3OTE1OSAwZTA2MzJjNTQzZTQxNDRmMjJmMzFkNWI5MDhmY2RiYWU5NGVjZjMzIGxlZ2FjeS10cnVuaworNzkxNjAgNzExZDUxNzM3ZWU2YmU5ZjZlY2FmNGFmYjZiMDU5MmU1ZjVjNzQwMSBsZWdhY3ktdHJ1bmsKKzc5MTYxIGRiYzU4MDRlODI4NTg1YzQyMTAzNDM0ODllYmY4MjFmMjhkMWE5NzIgcHkzaworNzkxNjIgNmI2ZmZkNTI2ZTNiZTRlZDk5OTIxY2NiOTRkNmUzYzA4Y2E4N2I2MCByZWxlYXNlMjYtbWFpbnQKKzc5MTYzIGE3Yjg5ZjJhYzFkYTZhNWUyNDVlNzkzZTBhY2I3YWU5OGE4ODg2YjAgbGVnYWN5LXRydW5rCis3OTE2NCBkY2I5ZjQyNzA0NDFhZjdlZGIwYmFkZGY2ZDc1OTFiMDhkNThmNzljIGxlZ2FjeS10cnVuaworNzkxNjUgYzhjODQwMTYyODA0OWY5N2Q4YTZkZGZmNDZiZDMwMDNmODJmODA2YSBsZWdhY3ktdHJ1bmsKKzc5MTY2IDdkZGNmN2QyODM2YWFjMzJhNTMzZjEwNjMxYWU4MWEyZjc4Y2U5YTkgcHkzaworNzkxNjcgMzU2NjM2NmI4OWNmMTU5OTQzMDVlOWQxNzY3OTcwMzYyYjU5ZGQ5MSByZWxlYXNlMzEtbWFpbnQKKzc5MTY4IDRiZDFhYzExMzJjZGZkNTA1OWY3OGVmZmQ0NTM5ZDc1NGE4MmIzZWEgbGVnYWN5LXRydW5rCis3OTE2OSBmMDc2NmNmZjdmNTk2OGVhYjM4Yjg5ODA0MmVlODk3ODJiMmQ5YTBmIGxlZ2FjeS10cnVuaworNzkxNzAgZjg1N2Q0ZWQwNzc0NzU5MzY4N2RjMzY1Y2Q5OWU4ZjdlOWJiYTFjZSBweTNrCis3OTE3MSAxMGJkMWQwZjYyZGUyZGM4ODU5NjYzMWFjYzljNGZmNmJmMjM2ZjY5IHB5M2sKKzc5MTcyIGVhNGU2ODkyOGZmNTZiNmY1NDM5MmNiYTBlM2M0NTY0Y2FmZDQxN2MgbGVnYWN5LXRydW5rCis3OTE3MyAxYWU0NzRjOWMzNGU2YmM4MTVmYjc3NjVhYWEzNmY1YzY2MDNmNThiIGxlZ2FjeS10cnVuaworNzkxNzQgMmM5ZTBhYjNmMGM3ZWZkOTFmY2ZjMzdjMjA5ZTc5NDNiNDM0MDYxMSByZWxlYXNlMjYtbWFpbnQKKzc5MTc1IDZhMTI1NGUyMGM4OTY3YmU5MzhlOWVhOGI5MzhlMmI5MzI5NDJhOTYgcHkzaworNzkxNzYgY2IwZTM3MjZkOTFkYWIwNWY0NWQxMzAzMjc2ZjU0OWI1NGFjODcwZCBsZWdhY3ktdHJ1bmsKKzc5MTc3IDMxZjBkOWZjZGI0NWMxN2U3ZDBiYTY5NzE2ZmM3YzcxYzY4ODhjZjAgcHkzaworNzkxNzggYWM5NjJiYzQxZTg1ZmM5MzNiZjc2YmE3NjE2N2NlOTIwZmI1MDU5ZCBsZWdhY3ktdHJ1bmsKKzc5MTc5IGJjNWUwZDJlMTc5ZDAwODZlYjFjMTY5ZDI0MTQ0MTgzZjI5YTYxMTMgbGVnYWN5LXRydW5rCis3OTE4MCA0NTVlZjcwMTViYTgwMmRhMDhlZTc5NjE3YjU2ZDEwOWEwMmRkNDUzIHB5M2sKKzc5MTgxIDk1MGMxMDMwZjgxNjQwN2YxYjRiMDMxNDMwOGNkNzQwMzU5MTgxYmIgbGVnYWN5LXRydW5rCis3OTE4MiA1NzVlYzc3M2RkYTQwY2Y4ODNiNmYyZWZmMWFjN2VlNzM5ZjEwMTkwIHB5M2sKKzc5MTgzIDI4ODZmNmFhNWVmNjE5YTRiZDE2NWU3YTMzODU3YjY5NDhiMDc4MmIgcHkzaworNzkxODQgNDE0MDQ0ZGJmMzQzOTQzMTZhNDMwOGYwZTBjNTU1NGYyZGM1ZTFhOCBsZWdhY3ktdHJ1bmsKKzc5MTg1IGQ0ZmEyZWFhYjVmYThhNTZjMDNiM2YwMmU0Y2QyMTc1Zjg5ZTUxOWEgbGVnYWN5LXRydW5rCis3OTE4NiBjMTFmMWNlY2JlYjM1YTE4NmUyNmU2ZWJiYjVhM2ZjZTYzMDE0NmQ5IHB5M2sKKzc5MTg3IGMzYjljMzMzMzAxYzdiN2Y2ZjUzMDNjNjhjOTk1M2UyMGM5MWVlZTEgbGVnYWN5LXRydW5rCis3OTE4OCBlODIzZTI3YzIyNWVhYTA2MTczOWE2MjA3YjExMzljYjMxOTk4Mjg2IGxlZ2FjeS10cnVuaworNzkxODkgZGQ2OGUwNGVlMmU4NjIzNDk2ODY2NzA0OWFhMTUwNzBkZjIzNzg0MyBsZWdhY3ktdHJ1bmsKKzc5MTkwIDYyMDkxMmY4MzA4MjZlOTVlYzAwMDhiZDQ4NjhlMzhhMjY4ZTk0OTcgcmVsZWFzZTI2LW1haW50Cis3OTE5MSA5OGU0MTY2MDU3NGMzZGVkM2FmNjBhOGQ3ZWJjMzlhMDczMDNjZmY2IGxlZ2FjeS10cnVuaworNzkxOTIgZGVmYWFkMjAxN2I1Y2MwODllNzRmYjhmNGI5MTExOGNlMWE5NTk0YiBsZWdhY3ktdHJ1bmsKKzc5MTkzIGZjZWY0ZGEzMWUyNDViZDAzMDUyMDNmYzAxNjBhZDA2ZmZhMzk3ZmYgcHkzaworNzkxOTQgMjJjNmEyNzY0Y2FiNWZmODBhMjc5ZjQ2ZWNjNjgwODhmOWMzNzM4OCBsZWdhY3ktdHJ1bmsKKzc5MTk1IDYzZjNhOTRmNWU5ZDUwNTg1ZjQwOTkwNmI0NDJjMjY3Zjk5MjY4NmEgbGVnYWN5LXRydW5rCis3OTE5NiA0NGZmYjgwOTJlZDYyOTAzMzBjNTQwZWMxODIzMTA3YTI4ZWY2NDRjIHB5M2sKKzc5MTk3IGIyNWQxMDI0ZjM5NDY4ZTQzOWI5NGM2Zjc4ODcwN2VlNDgwYWJiYzAgcmVsZWFzZTI2LW1haW50Cis3OTE5OCBjNmY2YmU1MzE3YWQzNjE5NmJhMGYxMGQ4ZTIyZWFmOWQ2N2VlNTViIHJlbGVhc2UyNi1tYWludAorNzkxOTkgOGU0MWYxNzk0ZDQ0OTViOGNiMjI0NmU1OGY4MDNjYjBlNGFiMGViOSByZWxlYXNlMjYtbWFpbnQKKzc5MjAwIDBmYjZkMzQyMDE2ZGQ1YzhhMjZiZGYyOGRiODdjZjU0M2M1ODZlYmUgcmVsZWFzZTI2LW1haW50Cis3OTIwMSA4ZjEyMDJjYTg4OGU5NWJiMjVmOWRmNzRiMTViZGMyYmJiZDU3MmY5IHJlbGVhc2UyNi1tYWludAorNzkyMDIgMTJlMjA3NWRiYmUwZTFmMzVjMDA3OGVhZDczZjU5Y2M4OThiYzY0ZSByZWxlYXNlMjYtbWFpbnQKKzc5MjAzIDU4MTI2M2FmNTgyMGZkMWQ2NGFiN2UyYjQ1MTc0NTE2NTgzNzA3NDIgcmVsZWFzZTI2LW1haW50Cis3OTIwNCA4ZDhjOWJmMmEwNGUyN2Y1NmM2YTNhZTY5YTE5ZTRkNDQ5ODliYzlmIHJlbGVhc2UyNi1tYWludAorNzkyMDUgNjQzYmY5ZmYyMjhmZTQ4MGQ4MGNiMjJhMjkyMGY1YmExNGEyNzI2YSBsZWdhY3ktdHJ1bmsKKzc5MjA2IGI5ZTI3ZGU4NWU0YmM4NjgyODk5ZDA4ZjNiNGYyMTNhNjcxZDUyYTcgcmVsZWFzZTI2LW1haW50Cis3OTIwNyBlMDYyZGQzNTcxNDE5MmEzMThlOWM1MjEwZTM5NTdhY2MzNThmMmZlIGxlZ2FjeS10cnVuaworNzkyMDggMDlhYTg3MmY3OWZjNWYzZjllNzhiODZlMmE3YTZjMGE1MWZmYTdlZCBsZWdhY3ktdHJ1bmsKKzc5MjA5IGVjODRmYmNkZjdjYmI1MTk0MTRjNDMzNDNkMDY0MWMxNWYzODI5MjMgcHkzaworNzkyMTAgOTNmNzIwZTk1MThhZGJkZGE2ODBmYjNlNWRmOTk1Nzc5NzYxNGRkOSByZWxlYXNlMjYtbWFpbnQKKzc5MjExIGVkYzkyYmNlNGQ2ZTJkOTNhYmY0NTFiYjk0NTZjZTlmM2JlYjQ4ZmYgcmVsZWFzZTI2LW1haW50Cis3OTIxMiBjZjU4YjczMzIyZjhjNGIwYmM0MjY1MWE1MDkwNjlhZmEwN2NmYWQzIGxlZ2FjeS10cnVuaworNzkyMTMgMzhlOWI5ZGEwMTY0MmViYjQ2OGJiY2UwMjNjYjI0ZmQ4YTRmMmNlNyByZWxlYXNlMjYtbWFpbnQKKzc5MjE0IDc1OTg1MTdiMTIxODA3ZmFiMDUwMDQ1NzU5ZTVmZTcwYzA4OTQyNzYgcmVsZWFzZTI2LW1haW50Cis3OTIxNSA2NGEwMmIxMzNlNzIzYTk0NjY5ODQwODM3NTQyZTI2NjkyNTM0NjZiIHJlbGVhc2UzMS1tYWludAorNzkyMTYgOWVhYmJhNmRlZDA5NjJiMWE4ZTFlOTUzMjQyMWQ0MzZhNWJmMjA1ZSByZWxlYXNlMjYtbWFpbnQKKzc5MjE3IDQ1ZDIyODRjYzA2M2RlNWM5M2RkNDMzYmQ1YzI3NTkyZTM3MTg3ZmYgcmVsZWFzZTI2LW1haW50Cis3OTIxOCA3Njc4MTEzODVmYTZmZGY3ODZkNmVmZGZhZmE3NWZiMmRkNzY0MTAyIGxlZ2FjeS10cnVuaworNzkyMTkgZGI5NjFiYTM3Y2ZlNDQ0NjljNjhlNTIyZmZmYmU5NTFlZmE2YjIzYyBsZWdhY3ktdHJ1bmsKKzc5MjIwIGVmMWYzODhmNDgzZmI4NTAwMTZhNjAwM2RjZjEwYWFiN2ZjOWUwN2MgcmVsZWFzZTI2LW1haW50Cis3OTIyMSBjNjk0NjE4ZGFiNTQzYzJmODcwYzFhMjYwMTYxZTFkMTcwMjBlMGEwIHB5M2sKKzc5MjIyIGM5MmNhOGJhMWQ5NzUwZjY1OTcwNzJhOGY1OWQxYWJlNmI3Y2Q2NzIgcmVsZWFzZTMxLW1haW50Cis3OTIyMyBkMTM5OGZmMDFhMDc0YjRjMDE5NDc4NzZhNjZkYzA5OGYyODQzZmZlIHJlbGVhc2UyNi1tYWludAorNzkyMjQgYWMyMzE0YjVmOTYyODgyNTU2OTI2ZjVlOTE3OWQ3MWIxNmU2MDUxNCByZWxlYXNlMjYtbWFpbnQKKzc5MjI1IDUzZGJkODk2YzZjNjkyZjQyNGMxNjUyMmYwYWI5OTg0MjQ1MzM0MjcgcmVsZWFzZTI2LW1haW50Cis3OTIyNiAxYmY0OGE1ZGRlYWQ1MzYzMzU0MTlhZTE1ZmJjZDJmZDhmMTZiZTlmIGxlZ2FjeS10cnVuaworNzkyMjcgZjk2YzgyOTNkZDdmODhkODdiZTgyM2YwNDM5NmUzMjZmM2I1NzlhZiByZWxlYXNlMjYtbWFpbnQKKzc5MjI4IGRiOTRhZWRlYjBlMDRhYTExYmU0ZjFkNTYxN2QxNjExZjhiZmU1NzYgbGVnYWN5LXRydW5rCis3OTIyOSA5ZjYxODc1MDA2NGVlY2RhZWQ4NmE1OGQ5ZGZlMWUzYThhYTc1ZDk1IHJlbGVhc2UyNi1tYWludAorNzkyMzAgMGQxY2RkMTRjOWZhMTk2MThiZWE1ZjZjZGFkMjc5OWFhOTc5OGZiMyBsZWdhY3ktdHJ1bmsKKzc5MjMxIGEwYjZmMjg3MTFlNWVlODNlNGFhM2EzYTU2ZGU1ZTY3NTU5NGFjNmQgcmVsZWFzZTI2LW1haW50Cis3OTIzMiAwYzM0NDgyN2UwNDhmMjY5MzcyZmU2MjNiMGQ0NWU5YmQ5NjUxMjU2IGxlZ2FjeS10cnVuaworNzkyMzMgYzdhNjE1NDQ2MGZiZGE5ZWRiN2U5YTc3MDgzYzA4NTlmNjFhMjljZSBsZWdhY3ktdHJ1bmsKKzc5MjM0IDkyZjI1NjE3NDE1NDFhNDE4MWIwY2QwY2JhM2M0YWY4MmE3MjExYjAgcmVsZWFzZTMxLW1haW50Cis3OTIzNSA2NTFhOGU1YzQ2MGZhOWQyMGI4M2RlYTMwZTQxYThkM2ViMzYzMTExIGxlZ2FjeS10cnVuaworNzkyMzYgYzA3M2YzYzMyNzZlZjNkZjRmYWFiOGJjOTNjZmI4OTFmZmE5YmMwMiByZWxlYXNlMzEtbWFpbnQKKzc5MjM3IGRiYWQxYzA2NjhjOWY4Y2ZkODM0YzhmMzkxYjJiNjYyZjJkOTM5NDkgbGVnYWN5LXRydW5rCis3OTIzOCA3ZTNiNDkwODc3Y2VjZGJhNjg3ODQ1OGI2YmU0MDcyYWFkNmFlZGUwIHJlbGVhc2UzMS1tYWludAorNzkyMzkgZWM2YTk5NWVjZmJmODI0YjcyYmY2MWExZWQxZWNlOTQ0YzUwNjE1YSBweTNrCis3OTI0MCA5NzE0ZjhhNzdiMTYwZmI2MWVhMzY5ZGQ1MGYyNDNjN2UzZDZhN2Q5IHJlbGVhc2UzMS1tYWludAorNzkyNDEgYmFjOGEwNDI3MGZjZjE2M2FhYjIwNGM5MjRkZTg0MzY4Mjc3YzhiNyByZWxlYXNlMzEtbWFpbnQKKzc5MjQyIDQ4ZjQwYTE3ODVjYWFmMmYzYWVhNDdlODVkYTU0N2MxZmJkYjg5NTYgcHkzaworNzkyNDMgNDFiMjI1MDY3ZjRkMTI4NzY1MzAyMGNkZmNhM2FiNWZiMmE1NGEwNyBweTNrCis3OTI0NCBkMGJkZDA5ODU2Mzc0ODY2YWRlNTUwZDhlOTQ5NDg1YzU2YzEzMWNmIHB5M2sKKzc5MjQ1IDM4MzNjZjMzY2E2MTc0OTcxMjVlYTllZjJmNjE2YzljYTU2OGQyMDggcHkzaworNzkyNDYgNDI5M2MzMzY2OGRmN2Q2MjZlMzRmNmIwODg2MGMzOGZkY2ZiNTAxYiByZWxlYXNlMzEtbWFpbnQKKzc5MjQ3IGMyZDJlMjZiY2Y3ZmQyNWZlOTFhNDNmMWNiODc4MzQyNWJmMDAwMmEgcmVsZWFzZTMxLW1haW50Cis3OTI0OCA2N2YzZjdlNTM2NmJjN2UzYjljMTU2YjFmYTdkMzlhNDcwMTQwYjg2IHJlbGVhc2UyNi1tYWludAorNzkyNDkgYTM2NmQ2MzFhNjI5YTRhY2E2MDdmZjQzYTFhOTU0ZDZmM2FjY2JjMiByZWxlYXNlMzEtbWFpbnQKKzc5MjUwIGUxNmEyN2I1NTJhNmUzNDRlNWM0MDM0ZDMxODk2YmQ3YmRjZWUwNzMgcmVsZWFzZTMxLW1haW50Cis3OTI1MSBmYmFjZjk3MmZhNDRlNjk1NmE5NGVmYTVjYTJlMjMyZTU3ZjQxMGJhIHB5M2sKKzc5MjUyIDdlNmQ3MTUxZmRlODc0Y2E2ZDFiM2MwMzEyZWY4OWNlNTBlNjM0ZjkgcHkzaworNzkyNTMgMmQyZjIzODcyZDkwYTEwMDMwY2NiZGU1ZmQwZWJkMGZkY2MxNzFiZiBweTNrCis3OTI1NSBjNTNmNmEzZDJkM2IwYmU0MTdjM2E1NWU5ZTczOTExNGFhYjNjODY3IHB5M2sKKzc5MjU2IDEzYTQ0ODAxMmE4NGU3ZDMxZTI4MWFkZTBmOTUwYzVjY2UxMmY5ZGUgcHkzaworNzkyNTcgODI2ZDA1NDY5MGNiOGRhNmE1ODNjOGJhZDU1NWViNzdhNDlhNzQwOSBweTNrCis3OTI1OCBkOWI4ZjI3M2FiOGRhNmQxNjBjODI5ZjhhODNhMGQwMjA2YTEyZWVjIHB5M2sKKzc5MjU5IDkwMjE3YTg2NjQyZDA3YmFlMDI2NTlhYjNkMjE3YWJlOTk2YzMyM2UgcHkzaworNzkyNjAgN2Y4MTZmNmI1ZDBiMDk0MDc0MTcxMGM2YTBlZGJmM2U0YTE4OTU0MSBweTNrCis3OTI2MSA1YzA5MmQ0YjQ5OWNmMjc4Y2ZlZDM1NjZjYWY0OTU4ZmZjNTY2MGQ1IHJlbGVhc2UzMS1tYWludAorNzkyNjIgODFkYzAyMjk4NjE0YmExNmQ1MjFlYmZmMWI1MmVlZjQ1OTg3ZmYyZSBweTNrCis3OTI2MyAyODU4Y2FlNTQwZTQxMWI4MjAxNzRiOTk0ODk4ZmRhMTVlMTI1NzkwIGxlZ2FjeS10cnVuaworNzkyNjQgZjkwOTczOTYyZWFmMWM0MWM0NGVjNGE3N2VmZjRkZDVjMDU1MjM5OSBweTNrCis3OTI2NSA4NGNjMTNhMTQ0ZmZiZDUyMjhhNTA2MDY2MWQyYTFhZmFkOWY5ODU1IGxlZ2FjeS10cnVuaworNzkyNjYgYjRkOGZhNGQwMDQ5YzNhZDYwM2M3ZjYxNDg4ODgzNjdhODM5OGYyZCBsZWdhY3ktdHJ1bmsKKzc5MjY3IDY1N2QwMmE1MDNmYTVkNTYzZjA2YTFhODY0YWM5MWFhZjA4ZDc3MzcgcHkzaworNzkyNjggZWIwZmY3MTNhNWU5YzE0ZWM4OTdlMGI2ZGFlMjcxYzE2YjQzN2JkNyBsZWdhY3ktdHJ1bmsKKzc5MjY5IDM3YzBlMjhkMWFkNGVmZTMxMDAwNGQzZTljM2QwYWJkMTQyZDM0ZmIgcHkzaworNzkyNzAgMDE2MTk2NDY0OWMzOGE2NGRhNjA3OTI3ZWYzOGUzMDBlMmZmYWE0MiBsZWdhY3ktdHJ1bmsKKzc5MjcxIDIyOWYyNTJiY2U3NzM2ZTY2NDdjMzg2NTYyM2U1NjA5ODgxNjM0Y2UgcHkzaworNzkyNzIgMTA2YmVlM2YxZmU1MTYzNmUxMWE2YzYwOTNlODVmMmQyZTdmYzdmYSByZWxlYXNlMzEtbWFpbnQKKzc5MjczIDhjM2IxMjBmMjU5NjJkZWMwYTZkNmU5M2ExMTQ2YzE2MTI5ZjE5OTQgcHkzaworNzkyNzQgM2RjNjg4MmE3MjdkNzNhNjZkOWU0ZDYyZWJhNmJiODc3MGQyYjY3OCBsZWdhY3ktdHJ1bmsKKzc5Mjc1IDc2OTgxZWU1MGI0ODJmZWIzN2RjODNmOTY5ODUzMDcwMjIxYjE1MzEgcHkzaworNzkyNzYgMmQ2MTc4NDgwY2M3MTI2YTdlY2M0YTI2N2I3YzYyYTNlNGQzMTU5ZiBweTNrCis3OTI3NyAzNmU5ZjM4ZThhM2MyZWVmMmVmMjZhY2MzZTQ1N2IyMGNlODVhODBlIHJlbGVhc2UzMS1tYWludAorNzkyNzggNTJjZjdlNjVkYWQxNGJhYjI2MWM4MDA4MzkzZTllMWU0ODAyZGRiMiBsZWdhY3ktdHJ1bmsKKzc5Mjc5IDViM2E2MDFlZDIwNWI1YjQwM2ZjMzUyMTgwOTlhMzgxZGRjYWYyZTAgbGVnYWN5LXRydW5rCis3OTI4MCAyYjYxZWVkMjhmYWU0ZTkxZDBiOWE3OTY1ZTYxODE2Mjc0MWI0M2RkIGxlZ2FjeS10cnVuaworNzkyODEgN2FkNTYyM2Y0MTMyMWRiNDViNTUzN2Q1MDJmYmEyNDIyMzZkYjY4YiBweTNrCis3OTI4MiA4NDQwNWMyMmU0YzdmZmQ5ODkxNTVkOGY2OGZiMDMxZWViYjUzY2EzIHJlbGVhc2UzMS1tYWludAorNzkyODMgNjE1MWQwOWNlMDM5NDkzMTEzZGNmOWVkMWVjMDkxMGY5N2NlOGRkYiByZWxlYXNlMjYtbWFpbnQKKzc5Mjg0IDE1ZGU1MzkwNzA3ZGE0NDY5NDAxMzE2NTc5NGJmOTNkZmFhYjc1NDIgbGVnYWN5LXRydW5rCis3OTI4NSA5NmEyNDFkNGEwYWIxNzEyNjE5NTFmNDA3MzhlZjE1Mzg1ZmZjMDhkIGxlZ2FjeS10cnVuaworNzkyODYgZTJhOTY5M2I1NTVlZDY4NTEyYzU3NDVmM2ZiZGQ2YWVmMTg5ZDI3YiBsZWdhY3ktdHJ1bmsKKzc5Mjg3IDVmNWQ0NzM2ZGU3NGFkNmRmZTIxZTZhMTI0NjUwZTJkOTBkODJiZmIgcHkzaworNzkyODggMjI0YjcwZDNkMWQ0NGU1NjAwYTgwNTJlODYwMzBlNDUwMTA2MjBmYSBsZWdhY3ktdHJ1bmsKKzc5Mjg5IGM5Mzc1MjFlZDcwOTJhODFmNzJkZjJlOGVmY2UyYjRmNDQwMzc0MjggcHkzaworNzkyOTAgOWZiZTIzNzBkYzAyMTdhOGQzOGMwOTk3MmY2OWI3N2U3NGY5ODQ2NyByZWxlYXNlMzEtbWFpbnQKKzc5MjkxIDdmNDM1YzM4NWRhMjVjNGY1Y2M4OWMzM2IxNzQ4ZmIzYjViZGVmYmQgcmVsZWFzZTI2LW1haW50Cis3OTI5MiAwMWI1NzUxNWYxOTU2ODQwN2JhNDJlZDgyMTJiZWRjOWVhNTNhMjY5IGxlZ2FjeS10cnVuaworNzkyOTMgODA2YThjYWZjOTk3N2FmN2Y1YjY3NjNjNWVlYzMyOGE0MTFjOGUzOCBsZWdhY3ktdHJ1bmsKKzc5Mjk0IDZkZjc5OWEyYzI0ZTRhMjQ2ZTJmODczNmVhM2QyMmE0NWJkODFjOGMgbGVnYWN5LXRydW5rCis3OTI5NSBjZmM1NzcwMmFmN2ZkOTViOWEyNTljNjNjNzQ1MTVlMTNiNTIzYWYxIGxlZ2FjeS10cnVuaworNzkyOTYgNzY3YjA4MzE2NTllMDI3YTY5YzY2NDVhNTE1MGIwMzg1YmYxMWIxZiBsZWdhY3ktdHJ1bmsKKzc5Mjk3IGYwMDE0NTU0MTY2ZjkzYzNiZDc2OTc3MzBhZmQyZDU4OWRkNjg2ZTYgbGVnYWN5LXRydW5rCis3OTI5OCBiNzg3MmIwZThhYjI0MWUzNzlkZDQ5NTc3NjY4ZmUxNjAzMThhZWY2IHB5M2sKKzc5Mjk5IDczY2FhMzYxZjljZGUxNGJjMmE4MTE1MzhjOTY2NjU3M2IzY2M0MjQgbGVnYWN5LXRydW5rCis3OTMwMCBlM2ZkZmRiMWE4ZmY4ZmM2YWQ2MjhmMGU5ODQyYzg4OWE5NjY5ZGJjIHJlbGVhc2UyNi1tYWludAorNzkzMDEgMmUwZDU4YWRhZGJlMGViNDM4YTZkNWIxYmYxMTBmMGZkN2NmMDQwZSBweTNrCis3OTMwMiAxZGMxODQxMmE3ZWU1ZjAzN2RkMWIwYmVmZTU1NGE0YmExN2NhOWRlIHJlbGVhc2UzMS1tYWludAorNzkzMDMgM2M0ZGZlODZlYzJiNjQ4MjRhZWJiMTVkZDcyNGNmNzNmZmEwZDIwYiBweTNrLWppdAorNzkzMDYgMGExMjNjZGVkMmM5NzNiN2IxZmE5YTFmZjhmNTJiYWQzMWU2YTI3NyBsZWdhY3ktdHJ1bmsKKzc5MzA3IDgwYmVlYzhmYjc0MDNmMjA2OWIyMGNhMjA5YjYzNDY5NmU0YjU0ZDQgbGVnYWN5LXRydW5rCis3OTMwOCA1YjY3OWMyNDllM2MxY2Q2NzBlYmQ1NTBlNzcxMWE1ODY5MTc3YTgxIHJlbGVhc2UyNi1tYWludAorNzkzMTAgNDc3ZDM2ZTVkOTEzOTVlMTNkNDMwYjY4ZDgzZTg1NDc4MDdhMGZmMSBsZWdhY3ktdHJ1bmsKKzc5MzExIDhmMDE2YTgwMTY0MmY5ZjkzZTgyY2NhZTcwN2UzYmJjY2E2MzVlYzYgbGVnYWN5LXRydW5rCis3OTMxMiBlMDBkZDA3MDU2YWFmMzk3MmRhYzdjZjJiZGYyODZkMDJlN2U3ZWMxIHJlbGVhc2UyNi1tYWludAorNzkzMTQgMGY0MmYzNGMxNmU4MmIxMGMzMzNjZGRiMmU4MDY3Nzk4NWZjNjM3MCBsZWdhY3ktdHJ1bmsKKzc5MzE1IDY1ZmY1MjZlMDVlYmJkNTUyNGZkYTY5YWQ0MmJhMDI3NmU0YjBjY2IgcHkzaworNzkzMTYgY2Q5ODQ4Y2YxODQ3YWRiMWNjYjk4NTEyYzU2MjA4ZmY5MGY4NDNjNyBsZWdhY3ktdHJ1bmsKKzc5MzE3IDMyNDRlZmI2ZDg4Zjg4YWFmMWJkZjZkMTZlZThjYjI0ZWVkN2M5MTEgcHkzaworNzkzMTggNTQzNTg4MDcxM2E3ODNmYTVhNjZhM2YxMmU0YWQ4ODdlNGViZjE2NyByZWxlYXNlMzEtbWFpbnQKKzc5MzE5IDE3ODE2OTU4ODZkY2U4ODdhYTcwZDc0MmU3NGNhMTk0YzMzYTNmNWIgcHkzaworNzkzMjAgNjg0Y2Q3MzgxNTM1YTVhMjA5MWE4YzQ2OTVkZDIwN2IyYzViZDcwYiBsZWdhY3ktdHJ1bmsKKzc5MzIxIDhlOTliNjAwMGYwZGZlMzNkMWQ5ZTUyMzJiOGFiZDlhOWYyMjdhMjYgcHkzaworNzkzMjIgYTlkYjUxY2YxZmJjNGRlZGQzNmZhZGY5NjU3MmRkMzFkNmE4ODg2NCByZWxlYXNlMjYtbWFpbnQKKzc5MzIzIGY0MjhmNjZmN2U5YmI2NmQwOTA4M2NjZWNiNzFmMDc3OThhOTkxMDAgcmVsZWFzZTMxLW1haW50Cis3OTMyNSAxMmVlNDY0MzVkMDE3MWZhMDkwYjg3NTFmMDk3M2EyZDJmN2QzZTNmIGxlZ2FjeS10cnVuaworNzkzMjYgZmIzZGE1NmQ1NDhmMGQyODgyYTMwN2Q0NDNmOGUxNDdiZmQ3MGExYyByZWxlYXNlMjYtbWFpbnQKKzc5MzI3IDkyYzkzMjQ2MjViNmE1YTAwMWMwYzg2M2U2YTgyOWYzNzgyZGYyMjIgcHkzaworNzkzMjggOGU3NmU0NmMxOTk0NzU3ODkwNmQ3ZjQ0ZjY3NDExYTdmOTRkODkzOSByZWxlYXNlMzEtbWFpbnQKKzc5MzI5IGIwMWVmZjRlZmZkN2VmYTQyNTgzZDRlMDAzZTMzZjgyYTllZmU4ZTIgbGVnYWN5LXRydW5rCis3OTMzMCBmYTVlMjk5Y2UwOTFjNjc2ZjBjZDJhYTc2YTQ5NDRhZmY2MGU3MDMzIHJlbGVhc2UyNi1tYWludAorNzkzMzEgYTcwMjY0OGM4ZjQxMDQ5M2MyYWY0MDZkMDExMzliMmUyZGMxYmRmOCByZWxlYXNlMjYtbWFpbnQKKzc5MzMyIDNiYTIzN2EzMjZjMjdiOWNiZWNjMzA0ZGZmYzU0NzU4MzMwZWJkNjEgcmVsZWFzZTMxLW1haW50Cis3OTMzMyA1NmRkNWQ1MDcwYTVhNDU0MWM3ZTU5ZWFkZDJmYTVhZGIzODk4MWFjIHB5M2sKKzc5MzM0IGIwZWI5ZjZmMmQxMGIxZjMyOTViNjhlMzQ0MWVhNmJjMzIwNDJhN2QgbGVnYWN5LXRydW5rCis3OTMzNSBmMjBlOGI5MWY2ZThkYTk5MmIxZjFhNzdjZjU3NDNlNzQ3NGU3M2I5IHJlbGVhc2UzMS1tYWludAorNzkzMzYgMTAyNjIzZDY4NDNmYzQ5MWQxZGZlZTE2ZjI3ZjE5OTFmN2U4OTE5MiByZWxlYXNlMjYtbWFpbnQKKzc5MzM3IDZlMWRhZDg1MzAwN2EyYTM0ZWJiZjJlZjUwZTIzZjg3NmFkMWQyNDIgcmVsZWFzZTI2LW1haW50Cis3OTMzOCA2NjU5NWQ0ODRlYThkNWZjNzc2NDA2MWQ4MjgzZjA1YTEwMDM3ZmI4IHJlbGVhc2UyNi1tYWludAorNzkzMzkgNDk4NmNmMGE5MWI4ZTljYmNmNGZlZTZiNDk1MjcxY2RkZDAzYWM1YSByZWxlYXNlMjYtbWFpbnQKKzc5MzQwIGU5Yjk1OGU4MzkxYmQyZTM0ODRhOGFjYjE3MWE5YjZiMjQ1MDEzNDQgcmVsZWFzZTI2LW1haW50Cis3OTM0MSAxNTU2ZTY5N2IyZDcwYjFhMzYwNGUyNjJiMTM4MWQ5YjJmOTkzOGQ0IHJlbGVhc2UyNi1tYWludAorNzkzNDIgZjg0ZjgzOTYzYTc4YWQ2NDM0Mzg2YjE2OTViYzQ0YjUxMzQ5OTk5OSByZWxlYXNlMjYtbWFpbnQKKzc5MzQzIDI3Zjk3MjQ0Njk4ZWRhMDYwOTI1Mzk0Y2VlZTEzYzU1ZDNkYTU3YWUgcmVsZWFzZTI2LW1haW50Cis3OTM0NCBiMjE0Y2E4ZWI2YmQwYWJlNWYxMWUwM2U1ZjVmNWUxNTRlODYyYjY5IGxlZ2FjeS10cnVuaworNzkzNDUgNTJkODQ1ODMxYWU4NjRlMDBkNTJkMmI5MDVlZTI1MzdiMGZmMTcyOCByZWxlYXNlMjYtbWFpbnQKKzc5MzQ2IDI4OTAwNmRjNDZlZTI0YjQ2NjJiYTE0YWY5ZjE4OWU3MjNjMDBlYjcgbGVnYWN5LXRydW5rCis3OTM0NyA4MWI3NTA5MjQwOTE2ZWRjNjI3ZTcxMjNkMWQ2ZjU1MzgxMDI3MTBiIHJlbGVhc2UzMS1tYWludAorNzkzNDggOTg4ZTA0NTdlMzEzMzk2Y2Q1MTQ1OGEwYmM0ZGZkYTViMjk2NTVlNSByZWxlYXNlMjYtbWFpbnQKKzc5MzQ5IDcyMDExODEzNjBmZGYyN2QwZDE1YzQzNTRiNzU1MjRhMjRjZmI3NmMgbGVnYWN5LXRydW5rCis3OTM1MCAzN2RhOWJjNDYxNzQyZmM0ZTQwNjhkODY3M2FjZjljZmI2Mjk1NTljIGxlZ2FjeS10cnVuaworNzkzNTEgY2M4ZTM2OTYyYmFjZTZjNTM5ZjIyNWMxMTA4NWU4MzE5NjU0MDNiNiBsZWdhY3ktdHJ1bmsKKzc5MzUyIDk3NjI4NDg0OWU5ZDgxNDEwY2UwNjRiMTllZTFmZDViZmNiZDZlNDcgcHkzaworNzkzNTMgZDYwYmZiMWI5YzA1MmU3M2U4NDAzN2UxYThiZmJkOWExODFkMjM2MyByZWxlYXNlMjYtbWFpbnQKKzc5MzU0IGU5MWEwODZiNDE3ODNlNzM3NGNkNTg1OWJiOTg2ZDlkODQ5YmI3YTQgcmVsZWFzZTMxLW1haW50Cis3OTM1NSA1YWFjYzc2ODBkM2Y3MmJmZjJjNjI1NWU3ZTVjOWJkMTIxZDg2OWQ3IHB5M2staml0Cis3OTM1NiA0NDY5NjQ4MmFjNDJhYmNlNmI4ZThhNDk0NWE5ZTZkODcwZmViODQ0IHB5M2staml0Cis3OTM1OCAxZTc0MWViMzBiMTcwNGEzNTM2ZDg2NzE4YTRjMTY2ZmQ0ZjQ2NmMyIGxlZ2FjeS10cnVuaworNzkzNTkgNjU3ZTdkMjEzMDUyODljYzQwMWJkZTJlOWJjZDc0NGFlY2ZhYzMyYiByZWxlYXNlMjYtbWFpbnQKKzc5MzYwIDUwNWNmZjEyNWEwM2M2OTk3YTg1ODcyMDhmZWY5YjAwNzVkMTZmMzQgcHkzaworNzkzNjEgMDMxNmU2YTI4YTU1MzU4NzFiM2FiN2M1MzU5ZmM2YmU3YWQzMGZkYiByZWxlYXNlMzEtbWFpbnQKKzc5MzYyIGRlODRhNmQwZTY5NzBjMGU4OTBjY2Q1NzlhYjZlYjFmNzQ4ZjEyYTIgbGVnYWN5LXRydW5rCis3OTM2MyA0YmM4Zjk2NTNlOGUyYmQ3M2E3MGQxOWFhZjkyMmU5MDVhNDAyOTBjIHJlbGVhc2UyNi1tYWludAorNzkzNjQgNTk5M2RhNmQyNDA5NTE1MWEzMTYxMjRmY2E3NzRkNWI1ZTcyNTY1MSBweTNrCis3OTM2NSAxOTU3YzI4OTQyOTI1YmI4ZGVmZmJhZWJhMDQyNzY1NmJkNjY0OWVmIHJlbGVhc2UzMS1tYWludAorNzkzNjYgMDNlYWI5OThiMDdhMTVhMjY3OGRhNGQwODdhODY2MWZlMTI1MzBhZCBweTNrLWppdAorNzkzNjcgNjJmYjA4NmEzOTc1ODJhMjA2ZmZlMDcwNWE1OGJkYWIwYzcwN2IyNiBweTNrLWppdAorNzkzNjggY2QwY2E1NmI3ODgwZThjNDVmYTQ5NjY3MDUxZGQ2ZGM3OWM5NTU4ZSBweTNrCis3OTM2OSAyM2RhNTY2MDdiMzNmYWVmOTAyZTJhOTQyMzNjM2RiZjRiMDcyZGZjIHJlbGVhc2UzMS1tYWludAorNzkzNzMgZDhmODU1MzMzZmI0OGI5ODY1MjMxMTliZGVkNDdiNDk0M2M2ZTcxNiBsZWdhY3ktdHJ1bmsKKzc5Mzc0IGQyZGVhYTcwZmFkYjQ1Y2M0MDE3NDljZGY2OTRiMTMyYWQyMWNiNmYgbGVnYWN5LXRydW5rCis3OTM3NSAwYWJmYTI2MDdmNTRlYjg2NTdlMzJkZjUzMjk0MTVmZDhlMmQ2ZmMzIHB5M2sKKzc5Mzc2IDkzNGNiZTczNjgwMzcyY2UyODU1YTI5OGY3MjRlMTgyMjQ3OGVjZWUgbGVnYWN5LXRydW5rCis3OTM3OCA1MzJkNzE0MjBmNDYxNTU4NTI0NGFlZGJkOTNiYzU1N2IwOTBjNWZmIGxlZ2FjeS10cnVuaworNzkzNzkgMjI5ZWE4Y2NjNTUzMDc1YzY0NDdmYWMyNjlkZGIzNjZlMTcwNjRiZCBsZWdhY3ktdHJ1bmsKKzc5MzgwIDgzZmE0Zjg5OTU2ODgyZjVlYjA3Y2E2NTI2ODk3MGRmNGI4MjAxYTYgcHkzaworNzkzODEgMTc5YzY0NzM4NjMzMGIxOGJkMjM2Njc1YTllZDIwYmZhMTM5NzZiNSBsZWdhY3ktdHJ1bmsKKzc5MzgyIDYyMzg1ZDliN2RhMDQzOGM4MjY2ZmEyNWUwOTA0NDcxYmMxMjc3ZjQgbGVnYWN5LXRydW5rCis3OTM4NCA3NDMwZmE3ZWVhOGNiOWY5MDA0MTNlOTU0NjVkMDFiNTI1ZmFkMWQxIGxlZ2FjeS10cnVuaworNzkzODUgNGNlYjVkYzM1Y2M2NWE2NGZhOTRiY2ExYzczZTY0NWY0YTU5NThhMyBsZWdhY3ktdHJ1bmsKKzc5Mzg2IGNhYzY2MWRiNzc5NWYxOWM2YmYwYjdmMWZlZTc3ZTk1OGQ2ZThjOTkgcHkzaworNzkzODcgNDk2ZDc2MzYwNzYzOTQ1YjZlMTJjOTgxYjljNTQwNGQzMWY1NGFlNiBsZWdhY3ktdHJ1bmsKKzc5Mzg4IDJlMDgxM2Q2NzM4ZGJmNGNhZTZhYjlkYzNlYTYzNjVkMjU1YmI3YTMgbGVnYWN5LXRydW5rCis3OTM4OSA3MjUxZTczN2E1ZDhjYWJkNmRiZjcyNGExNGI5ZjM3YTFjNzM4ODVlIHB5M2sKKzc5MzkwIDljYWFhZmQ1OTlkNjUzNDNiMTRmMDNlYjNmZTE1YjA0YzEzOTg4ZGQgcmVsZWFzZTI2LW1haW50Cis3OTM5MSBjM2MzNGY4NDc5OThhMDA2NjU3NzYwZDA3NmZjOGJlODI2ODhlN2U3IHJlbGVhc2UzMS1tYWludAorNzkzOTIgNGI4ZGVjYjQ1NzJjZDcwMmU4Yjc4MDI1ODI5MzM5OTE4MTIxNzNjNCBsZWdhY3ktdHJ1bmsKKzc5MzkzIGU4YjA4ZDc3M2U3ODVmODcyZDI1Y2NjMDg2ZDRkMWE0ODBjZDE1ZDEgcHkzaworNzkzOTQgMDMwOTYyMDkyMzczZTk1NDI5NWU5MGMxOWFkZGI3ODU1YzBlOTY3OCByZWxlYXNlMzEtbWFpbnQKKzc5Mzk1IDI0OGE3YWRlNDQ0ZmJlZjU0ZjE1YjhjNDU4NjVjNjcxMzAwNWIwMWMgbGVnYWN5LXRydW5rCis3OTM5NiBlZDlhM2RiYzMxMmU5YjBhNTJiNmY4MmU3MjBjZGFkNTMxMDBjZjc5IHJlbGVhc2UyNi1tYWludAorNzkzOTcgZDExZmJjNzk2NDk5YTMzOGQwNDAyYjg4OWE5MDRkYTk1NDEzOGMzOSBsZWdhY3ktdHJ1bmsKKzc5Mzk4IGQ2ODkzYzcwZGY2YTQ3ZDE4MWFjNTdjM2I2ODZlNTU4NGRkNWJjMDAgcHkzaworNzkzOTkgZWIxYjY0NjhlOTc3NDZmNjMwOTdmMmY4MDZhM2M5ZTk5YmUzY2Q2YyByZWxlYXNlMzEtbWFpbnQKKzc5NDAwIDVkNTQ2OTJiNmRjM2UzZTNlOWQ0YzA5NjhjZjIyZjUwODM3MTE2M2YgcHkzaworNzk0MDEgMDlhN2ExOWU3Y2I5YjA5MzhmMDJlMDk3ZWY1N2M0MTczNTA3ZTgxYiBweTNrCis3OTQwMiAzYjRlOWZhOWMxZThkYzFhMzFhNDRjODllNzU2ODZjYzcyMzcxMTlkIGxlZ2FjeS10cnVuaworNzk0MDMgNWY5YTcwNjRkNjJhYTAwNTkzNjAzMDE0NTNkODkxMjM1ODY1MGFiMCBsZWdhY3ktdHJ1bmsKKzc5NDA0IDRlZjY1ZTIzOTZhZTlhNWVlYWM0NGVkNzQyNTVlZGI5NzY3ZGEwOWYgcmVsZWFzZTMxLW1haW50Cis3OTQwNSA0Zjg0MWRmOGM5NzY2ZjkzNWU5OTM3NGMzYjRiODBlNzA2N2UxNmQ0IHJlbGVhc2UyNi1tYWludAorNzk0MDYgZTVkZDlmOTg2NDQwYzg4MmZiZjRjMGU5OWU3MTdhNThlZjJkOGZjZiBsZWdhY3ktdHJ1bmsKKzc5NDA3IDBkZmQ2MjA3NmRlZDQxZTIwOWY1ODM0MWE2NDA3NmY1NWUxNDdlMjkgcHkzaworNzk0MDggZTFhODRmMjIxNTM3ZDNiMzY3NTM4MmY5N2NlMWRhZWI0MjU1YzliMiBsZWdhY3ktdHJ1bmsKKzc5NDA5IDFhYTY4NDY3MmNlNmZhNjZiNDQzOTk1MDQzODFmOWUzMjY1MjE1MGYgcHkzaworNzk0MTAgZTE4ZDM4MjAxMjgwNTc3ZTE0MmY0ODEzNzAyM2U5OWQzNzdlZjJiYyBsZWdhY3ktdHJ1bmsKKzc5NDExIGM5OWMzNzljZWQyZmMwNWYyOTcyN2JhMjZmOGEwMjhmY2RmZTJhMWEgcHkzaworNzk0MTIgZDZjYTljZDFiNDExZTY1MTEwMTFhNWQ5MWU3MzgyYmI3ZTFhOTBjOCBsZWdhY3ktdHJ1bmsKKzc5NDEzIDczMjkzMTJmY2JkN2E1MjRkYWIwM2JiYWJiYjU2ZmRiOTcwZTc4YTggbGVnYWN5LXRydW5rCis3OTQxNCBmY2MxMDgzM2ExYzliNWE1ZjBlZGE5M2NhOTllYzdjZmQ4NTE4NjE0IHB5M2sKKzc5NDIwIGUyNzcwYmYzMmRjZjY4Mzk3ZDJjNWNiZmQ2YTU2OWMxNzk5MDZhNmYgcHkzaworNzk0MjEgOTM4Mjg0Y2RhMTViZjU4MTIyMjAzZWVkZjdkOTAxN2Q0N2UyNDIzMyByZWxlYXNlMzEtbWFpbnQKKzc5NDI0IDE0NDMyNzI0ZDBmZTdmYWFiYTA5OTIzYzdjZTIyYWY5MzFlMDRhMGMgYnJhbmNoX2xpYmZmaS0zXzBfMTAtd2luCis3OTQyNSBlNmI5ZWY0OWUzM2Y5ZjNiMTFmNjQ3NzlkN2U2OGQ0ODkzODk1NzE5IGxlZ2FjeS10cnVuaworNzk0MjYgZTBiOGVjYTIyNTI5MzU5NjllMmRiNDdlZjEwY2YzOTEwY2Q5ZGViZSBsZWdhY3ktdHJ1bmsKKzc5NDI3IDM4ZTQxMDA1MGRjN2MxNWQ1ZTA0YjBmZjI4ZGY3MWQ1NDNjZWYyNjMgbGVnYWN5LXRydW5rCis3OTQyOCAxNmE3ZDMyNjA1YmI4MzJkYTBiMTA1MjQ4ZDRlN2IzMjkyZDRlNWI1IGxlZ2FjeS10cnVuaworNzk0MjkgMWEwZTIxNzA2M2I3NTQyOGM3YWQyMGQwMTg4Njk4ZGIwNWYxNDAwMSBweTNrCis3OTQzMCA4NzAxNTgxZmI0NTUwNjM3MzdjOWIxMGVhYTYzNWM0NDMxNDc3YTlhIGxlZ2FjeS10cnVuaworNzk0MzEgMTg4Zjg2MDc1OWMxNDA0ODgzOTYwZDNjN2ZmOWEzYWExMWFjYzQ5ZiByZWxlYXNlMjYtbWFpbnQKKzc5NDMyIGQ4MTg3ZWQ5NDMyNTYwZTM3M2M0YWM5MjUyZDcwMGVmMDMzYTJjNjEgbGVnYWN5LXRydW5rCis3OTQzMyBiOTA3MjJkM2FlZmEwYmViZWQ2NmZkNmI3ZTVjNGRkNGJkOTc3MjgwIGxlZ2FjeS10cnVuaworNzk0MzQgODI2MzdlNjY4Y2ExY2NiNmI0MWMwYTAyZTFkNDA0NDZmNjM2NTY3ZCBweTNrCis3OTQzNSAwMzBkNmJmMWQ5OTU2Zjc3MGY5ODFjZDJmYmM2ZDc2NTJjNzYxYzRiIHJlbGVhc2UzMS1tYWludAorNzk0MzYgOTVhNzhhMmQ3MDBkODBjYjgwNzM5NDM2OGEzN2E4ZWQ5YWQ1NGQyZiBsZWdhY3ktdHJ1bmsKKzc5NDM3IDk0MjFmNjdiNmMyYTE0NjBiNWFhYjNhMDQwM2U2OTQ0ZDVmMmQ1NzIgbGVnYWN5LXRydW5rCis3OTQ0MiAyMGJhZjYzYjA5NGNkMGJkNjcyOWU0MTYwNmJlM2MxYmE3OWJlOGM1IGxlZ2FjeS10cnVuaworNzk0NDMgMmVjYjhlOTk2MGZjM2E4NzFiNzU0MjI2NjA4YzAzMmY3NjQyMDMyOSBsZWdhY3ktdHJ1bmsKKzc5NDQ4IGM4ZWNhYmJlODAxNjk5OTA0YjExNTAyNzc2YTI0MTQ5NDkxODViYjMgbGVnYWN5LXRydW5rCis3OTQ0OSBlNDA3ZWJhOGUzOGQ0NDlmODE4MzI5M2JlMjk1MmFkMmJkZmY2M2ZkIHB5M2sKKzc5NDUwIGFjYjFkYzY2OGE5N2JiOGU0MzA5ZjZiMTljM2Y1ZTkxZGVkMDYyOTIgbGVnYWN5LXRydW5rCis3OTQ1MSA0YmJhZmRmNGQ1YzFiZWJiMmEyMDYzYzEwYzEzZmRjODA0NDgwZTg4IHJlbGVhc2UyNi1tYWludAorNzk0NTIgNjYwYjlmMjRlZGFjOGUzNzE1OTQ5ZTc2NDY5ZThkNTZjMzcwZTMyZSBweTNrCis3OTQ1MyA1MjZiYjA4MmMwNTUyNWM5M2ZmZjExYjEyOTk4ZGVkNDUzYjJiMGFkIHJlbGVhc2UzMS1tYWludAorNzk0NTQgNTY0MTY5MTUxNTEwY2ZlOTFmYmUwYjg3ZGIyMTcyZDM3MTQxOTdiMSBweTNrCis3OTQ1NSBlNWZlMmY2MjU5ODNjYzZmM2YzMWJkYzk4ZjMxYmFjYjE2MjY0N2I0IGxlZ2FjeS10cnVuaworNzk0NTYgMGY2YTBiMWRiNGUyYjFlYzBiN2M5NDk1YWYxZWVhMTYzMmNmYzkzMiBweTNrCis3OTQ1NyBiMjI3ZGI5YTAwMjk3NDRiYmNmYjEyMjA4ZWIwNzg2NzBmOTExMTAwIGxlZ2FjeS10cnVuaworNzk0NTggOGM1YzVlODZmYjIyN2E2MjdiNjhlMGMwNzc4MzllZTExNjlkYTgwNCBweTNrCis3OTQ1OSAwZTdhZTUzYjRlNzkwMjRjY2FlNmEzM2RhYWM5N2IyNjkxNTdiNzk1IHJlbGVhc2UyNi1tYWludAorNzk0NjAgZTgxMWFhMDk0ZjE5NDI5NTdlNDhkYjY4OWYyNzE4YjIyM2E5Zjk3NiByZWxlYXNlMzEtbWFpbnQKKzc5NDYxIDkxNzBhYTk0NGYyOTMzNDViZDZmOGRhNzZjN2FhMDE5Y2E0ZGViNWUgcHkzaworNzk0NjIgZTExODNhMTM3ZDhjYThmNGQ3YjE1YTc1MWQ1ZDY4MWE0MWY0Y2RlNCBweTNrCis3OTQ2MyBhYjMwN2Y3ZGVmYTFlYzc5ZDNiNmE2ZDk5N2E1NjU4M2UyMDM4MTJiIHB5M2sKKzc5NDY0IDIyOTQ2ZDAwZWVjY2VmN2U0NmM3NGRlZWMzZTY1ODhhYTY0MjkwODcgbGVnYWN5LXRydW5rCis3OTQ2NSBmOTZhZDgwMDcxMmVlNjFmNGFhMTI5MGM1OTYzODEyY2I2ZTkxZGM0IHB5M2sKKzc5NDY2IDg2YjcxZjQwZThhYWUyNzA0ZDA4ZjVlNmU3Y2I3MmNhYjBmNGQ5YmMgcHkzaworNzk0NjcgNzFhNDVlY2M0ZGM5MTFlZDAzYmEyNzZiMzIwZjNkZDdhM2YwZTJiMSBweTNrCis3OTQ2OCAzMDllMmQzZThkY2MyMWFlNzBkMzQ4ZjViMDUwZmU4ZjZkOWI2YWMyIGxlZ2FjeS10cnVuaworNzk0NjkgOGU2YTE2MTU3ZmFmMWJkZjU0NGI0NTY3NTQ4ZTJlZGEzZDllZmE5ZCBweTNrCis3OTQ3MSBhMmFhNmRkZmU4ZTI5NThhY2E2ZTYyMzA0ZjU4MDE0YTNhOTIyZjMzIGxlZ2FjeS10cnVuaworNzk0NzIgZGI1YTNhMjc3YzBiNTgwZWJmNTFmYzRhMzE5MjAxZDA2ZDBjNTlhMSBweTNrCis3OTQ3MyBiYjJjYTFiNjMzMjFhNzhiNDEzMzQ3YWQ4ZjRjYWJlMGU0Y2U5NGEwIHB5M2sKKzc5NDc0IDQwZjc4N2IxNTFhYzZjMDUzNWE3MzU2ZTFmZDI2NDUxZTYzMjI2MzYgcHkzaworNzk0NzUgMmI2MzIxOTE1ZTkyYjYxYTZjODY5ZTc5NzQwOGQ1NmVhZDlkNjNhMiByZWxlYXNlMjYtbWFpbnQKKzc5NDc2IDBiYzA0NTI1YWY2MzhiZDAwNGIxMTA0NTVjZmQ1MzJkNjMzYmQxNDQgcmVsZWFzZTI2LW1haW50Cis3OTQ3NyA2MDAwOTYzMmVkMTE5ZjdiZGYzOTk4NWU2NzJiZDVjYTU5ZDZlYzgwIHJlbGVhc2UzMS1tYWludAorNzk0NzggOGVlMmJmODIxZjYyNjcxM2Y5OGJiNDlkN2JiNWQxMDQ0MzkxZThhZCByZWxlYXNlMzEtbWFpbnQKKzc5NDc5IGU2M2Q0Njc4ZmNhNzNmMjRkNDJlMTQ3MmZiYjZlYWE1NjkxOGVkOTcgcmVsZWFzZTMxLW1haW50Cis3OTQ4MCBiYjhiZDMzNThiY2EwMmNlNWE3MDFiYmI2YTdiNjQ4MWNhMDJlODJhIGxlZ2FjeS10cnVuaworNzk0ODEgYmVhNzVmZjY1MTE0NmRhYWQwMDJkNDFkODc4OTc2NzU2ZTUyYmRiYyBsZWdhY3ktdHJ1bmsKKzc5NDgyIGQ0OTM1MjQyNmRlNTEzMzNkMzdlNjY1MTQxOGNkZmIzMDAwOWVhNmMgcmVsZWFzZTI2LW1haW50Cis3OTQ4MyAyMTNhMGFlMmRiNjViMmUyNTE5OWUwMTA1YjQyZTA4MDgxOWJjNzYxIGxlZ2FjeS10cnVuaworNzk0ODQgMmEzMTBhNDQ4YTBhN2UyMDE0NWMyYmNkODkxZGI4Njg3YjMwYWEyYyBweTNrCis3OTQ4NSA1MWIyYWY5YzQ2OWViNGE5NTM2Y2QwOWRiMGIyODFkMTU5NGFiYTA5IHJlbGVhc2UzMS1tYWludAorNzk0ODYgMmQwNmM2YzdlNzMyN2RlYmRjZjZmYWNlMWZkZDA5NWNlZWQ4OGZkZSByZWxlYXNlMzAtbWFpbnQKKzc5NDkwIGJiYjM0MDUwMWYyOWZjMGYzMzY2MDQxMzdmMTUzOWEzZjAxNmQzMmYgcmVsZWFzZTMxLW1haW50Cis3OTQ5MSA5YjlmZDI5OTA3MmQ4ZmNjMzg0Njc1ZDg5YmY4NTRiYTVhMmE2NmE3IGJyYW5jaF9saWJmZmktM18wXzEwLXdpbgorNzk0OTIgYzNjODJkODA0MGQ2ZjRlZjY2M2JiZDkwYTVlNjVlODhkYTExZWZjZSByZWxlYXNlMjYtbWFpbnQKKzc5NDkzIDA0Y2MwNzViZGRmNWJiOTk2M2VmNTIwNTQyYWY3Nzk3YzJmYjUxN2MgbGVnYWN5LXRydW5rCis3OTQ5NCA2NmU3NTdkOGVhOTM0Y2VlYzFkNmI3MDc5NTk0ZTYwZjM0MWRlZGE1IGxlZ2FjeS10cnVuaworNzk0OTUgNzczOWFlZWZkYmMwMTQ0YzY5ZGI5NzZmOTJhOTNlMTAzOWE3OTZhMiByZWxlYXNlMjYtbWFpbnQKKzc5NDk2IGM5NmQyNzg2NzdhZjNjZDA4ZDhiZGMwYzQ4ZDY2MmNmY2RjODAzZTMgbGVnYWN5LXRydW5rCis3OTQ5NyAzMzI5YzA1ZTZlMzE5Mzc5Yjg4YWM0OTA5MWU0MDVkNzdjMTU3MjBjIGxlZ2FjeS10cnVuaworNzk0OTggZTRlNGJiZDM5YTIxM2NjZThjYmVkNzlhNzRhOWIyZTMwNzRhY2MzMCBsZWdhY3ktdHJ1bmsKKzc5NDk5IDQwYTJlN2FjOGE0N2UyMmEwMTU2Mzc1ZTlhNmI2MjU4Yjk3OGJlYzcgcHkzaworNzk1MDAgYTE0YTIwNWFiMWZiODQ5MDFkNWJlNmUxZmNkNjUxMWE0Y2Q4ZGM2MiBsZWdhY3ktdHJ1bmsKKzc5NTAxIGJjNjgxNGMzNGQ1ZjIwZTNlOTVhNDkwZTVkYTRhNmYzY2FlN2Q1ZjUgcHkzaworNzk1MDIgZjY5NzY5YWIwZWI4MTY2NzM1ZTU1ZDYzNmQ2OTE4OWM0N2Y5MzJmMiBsZWdhY3ktdHJ1bmsKKzc5NTAzIDVlMGZmNjUyODRmYTIwODliMDRlMzZjNjFiMjFhMjIzNzM2YzIxZTkgcHkzaworNzk1MDQgMWQwMDI3ZDM0YTUxZTIxYzk5MjI4NGViMzE1NDZiNzVkOTFiZmZjOSBsZWdhY3ktdHJ1bmsKKzc5NTA1IDEzNjE4Nzc1ODVmMmM0OTFlYmIwZTA3ZTZhMDU0MGM5MmMxNjVhNjMgcHkzaworNzk1MDYgYmYzYzQ4ZjI0MTdjNDQ3MTNkNDM0ODA5OGMwYWUxYTc4ODYxYTY5OCBweTNrCis3OTUwNyBkZGQ1NTA5NTFiODNmYjE3MGIwMWRlN2Y4OGYxYjczM2QxYTg1YTYyIHB5M2sKKzc5NTA4IDRkZDZlYjZiZTgyZmQ1MmYwYmU3NjhmZDM2ZTc4NTIxZTg0YzFhOGIgcHkzaworNzk1MDkgNjMyNjljNDE4NWM1MmU2OWQ2NTdmMmNiMGFjNDVjZjFjNDAxMzMwZiBsZWdhY3ktdHJ1bmsKKzc5NTEwIDBjMDI1ODRjNGU1MzRmZTdmMzg1YzE4MWY0NjMwMGYyZDA5NjM1Y2YgcmVsZWFzZTMxLW1haW50Cis3OTUxMSBhNjA5NTRlYjUxOGI5ODQ5YTkyNzMyNDQ4MDJkYjIxZTEyMzM1YzUyIGxlZ2FjeS10cnVuaworNzk1MTIgOTY1MWM4NGM1MjBkOWU4YmE1ZGM5MzM0NWU1ZWZlYTRlNmM5ZTU4MSByZWxlYXNlMzEtbWFpbnQKKzc5NTE0IDYwZjkxMjRmZGVhYzA1MTA4OWRlZDgwZTFlODE4NGUyOWJhMmVmOTUgcmVsZWFzZTI2LW1haW50Cis3OTUxNSA0MTlmZjcwMjQ0NzgzODllMGZmNTA4NmViZTRmNWE0NmFjMWVjOTU5IGxlZ2FjeS10cnVuaworNzk1MTggMzRkODIyMTk2ZDhiZDBkNmFiZDA4NjE4Yjk1ZDIxMjU3ZDIwNjA1NiBsZWdhY3ktdHJ1bmsKKzc5NTE5IGVmNmViYzA2YTc4NmRjMDBhMzg5MWY3OTQxZmVkZjA3OGQyMzkyNTYgcmVsZWFzZTI2LW1haW50Cis3OTUyMCBmZmU3Yzc5MWI1Yjk0ODc4ZjRhYWUzZTBkNzcxNzliNGUxNzIwNmM5IHB5M2sKKzc5NTIxIDEzMjMyMTJkYTE1NDAwNGFmZTcyODczY2E2ZjA0NmZhNWE1YWU5NGMgcmVsZWFzZTMxLW1haW50Cis3OTUyMiA1ZTllYWRjNzZlODdlZjdiZTZkMmFhYzQxZWFjYzU2ZmZjNDVmYzA3IGxlZ2FjeS10cnVuaworNzk1MjMgY2FkMTI2NDI4ZjQ4ZDc4Yjk3ZGE3NzFmYWI1ZDRiNzYyZDg5Yzg4YSByZWxlYXNlMjYtbWFpbnQKKzc5NTI0IDU3ZDhkN2YzMTdmNTAxYjQxNTVhOTk0NTIxMjFhMzI4Y2RlYTk1NmEgcmVsZWFzZTI2LW1haW50Cis3OTUyNSBmZDVjMGVhMjg3MGJhYzRiMGQxYzkyOTlmMDJjYmU3NWM0YWQwN2Q3IHB5M2sKKzc5NTI2IGU0Zjk2OTAxMmU2ODNjYWUyZWQ4OTE4MmM2ZTUxM2I4MWY0YjgyYjkgcmVsZWFzZTMxLW1haW50Cis3OTUyNyBkNTdjZjFhYTJkZDRkMDBjM2MzNzBhZTNkYzU5N2E4ZDAwNjMyNGM1IHJlbGVhc2UzMS1tYWludAorNzk1MjggOTllNTIzMTMyYWVhNDNkNzhhNzY0ZTEwNGM5MWM2MDc3OTQxYjQ1MCBsZWdhY3ktdHJ1bmsKKzc5NTI5IDg3YmMwZjEwODcwMjEzOTEwNzI5ZTUxYjMzMDk0YjJhYTA5YjAyOTQgbGVnYWN5LXRydW5rCis3OTUzMCBhMmU2Mjc4MjdiZjM1MDlhYjRhNjc4MWJmZmI2ZTNlODUyNzMwMTEwIHJlbGVhc2UyNi1tYWludAorNzk1MzEgMDFlOGIxM2ZhOTlhNTY1ZGM1YTllZTI1OWYwMTIzOGNlNjQ2MTY3MiBweTNrCis3OTUzMiBlY2I5YTY2MDliYjFjNTQ1MDliYjhjOGYxZjc3YTM4NjIyZjE3OGY1IHJlbGVhc2UzMS1tYWludAorNzk1MzMgNTkyMGY5YTVlMjJkOGQzM2MxMTI0NGI4MTVmZTIyMjhiNTMwZjkyNiBsZWdhY3ktdHJ1bmsKKzc5NTM0IDgzMjAyMmY2M2JjYmQ2NzU1NDA4ODE4ZDhhNjFiNmZhODY0YjMzYTIgbGVnYWN5LXRydW5rCis3OTUzNSA3YjhiYTAxOWNkMTViNTIwOTg3YTM4MTU5ZTNkYmVhZGE0Y2U4YzAyIGxlZ2FjeS10cnVuaworNzk1MzYgNGZjYWFkM2Y2NjliMjNmNmJlM2E3MDYxOTg1OGNhN2U4ZmJlNWNkNyBweTNrCis3OTUzNyA1NzBlYWUxNDgxZWI2MDExZmMwOWZjMmJjMzdlYzQ0ZWNhYzJhOGEzIGxlZ2FjeS10cnVuaworNzk1MzggYzM2ZjIzZGE4OGMxYWE1NDNmZDZjNDZhY2U2YTk2MjliZTNlNWIyZCBweTNrCis3OTUzOSAzNzQ4YmNhNGQ4Njk4YWIwN2M3NjA4NDEyNDFjYjE3ZDBkMDJiNzhjIGxlZ2FjeS10cnVuaworNzk1NDAgMjVhN2NlMDIzMDZjZGYxZDNjMTJiOWZmMjg3OTk1Yjk2ZWRiZWE0ZCBsZWdhY3ktdHJ1bmsKKzc5NTQxIGQwMGYyZWEyNWQyMGE0MWYyNDZkNjY4MGY1ZjMxYzdjN2QzMjNiZWYgbGVnYWN5LXRydW5rCis3OTU0MiA3YjY3YzM0MjkxN2NjZTY5MTA0N2E3YTUwMGJjMDFjYjg3YmVkZjQyIGxlZ2FjeS10cnVuaworNzk1NDMgMTNhODExMmVjYTUyZmMzY2Y0YzhkZTZiOWMzMTljZTllODEyMTNhYSBsZWdhY3ktdHJ1bmsKKzc5NTQ0IGE0ZGFkMjE4YzZlMzQ1Njg1ZDc1YTcyYTQxYTk3YzNiMjU1Y2I0N2IgcmVsZWFzZTI2LW1haW50Cis3OTU0NSAxZTJjOWZlYTdjYmUwMTBhNmRkYmViZjljMzE2M2RmMWNlNGFjMzg2IHB5M2sKKzc5NTQ2IDVjYzgyY2NlNDUyMTVmYzdlN2Y4YTMxZGZjOTJmM2EwZDA0ZWFiNjcgcmVsZWFzZTMxLW1haW50Cis3OTU0NyBjNzk2NWJkNWQyMDA0ZTJjN2YzMzI5ZGMyODRiNmM1NDgwMTMyMzY0IHJlbGVhc2UyNi1tYWludAorNzk1NDggNmRlM2RlM2FiNzFmNzUzNmE4YTEwOGZkNjVhYTQxOWQwN2M1MmJlNCBsZWdhY3ktdHJ1bmsKKzc5NTQ5IDg4MmQ2ODFkNTBhMDA0ZWVjNDQ2YTgyNzQwNzM3ODI0MTFkMzFhNTcgbGVnYWN5LXRydW5rCis3OTU1MCA1NGIwYTZmNzVlZDU3OTUwNmQ2YmEwYzg1MWM5ZDgwNmEzOTFhMzRjIHB5M2stY2RlY2ltYWwKKzc5NTUxIDc4ZTIwOTc3OTJiZWVhZDFjODJjOTQ5OWUxMzkwOWVhOTI1MWIyZmQgcHkzay1jZGVjaW1hbAorNzk1NTIgZmQ4ZmVmNmFmZWZkOGNkYmZkNGFjMjU1MjJjODg1YTcwMDg1ODkxMSBweTNrLWNkZWNpbWFsCis3OTU1MyBlOTVmODc1NWZmMWUzZjY2MzRmMmJlN2MyYTU1YzE5ZTNiMmU3YWQwIHB5M2sKKzc5NTU0IGI0ZGVhZWFiOTZlNzhkM2RjZTIzNTYzOTNkNTc5N2ViOTFiNmQ1ZGYgcmVsZWFzZTMxLW1haW50Cis3OTU1NSA2ZGY2YzE5ZmJhZTM1OGM0NTgxOGYzM2U4MzBhNjJlYjMzMjEzZjIzIGxlZ2FjeS10cnVuaworNzk1NTYgMDRlNzc1YjMzZTllMmEzN2VjNWIyMzU1NGE1ZDMxNDk4OGE3YjcxMyBweTNrCis3OTU1NyA5NjIwMWY0ODhjYzNjZTI4NGZlMDBiZjlhYjJmMGQzNzNkZWQyZjUxIGxlZ2FjeS10cnVuaworNzk1NTggYTQwNGUzNzAyZjc5ZjI4YzAyYzM5NmVjNTZhZTYxM2ZiYjhmOWYwNCBsZWdhY3ktdHJ1bmsKKzc5NTYwIGM4YTYwMWU3NDRjZjY4ODMwZGQ2NDMwZjYyMzdiY2FhNmU1NzFkMTYgcmVsZWFzZTI2LW1haW50Cis3OTU2MyBmMTcxNzEyODgwYzhlYmQyZjQ1MDYzODE2NTNlYTk2ODViZTYyOTI1IHB5M2staml0Cis3OTU2NCA2ZDM0MTVjMTViOGJmOTIwOGJjNDgwODRlMzc0MTljOWEwZTdhZjAwIHJlbGVhc2UzMS1tYWludAorNzk1NjUgMWJlYTU0MDRlMDg3YzBlNWZiNTM4MDcwMWJhOTRiOWNhOGZiZGJmMSBweTNrCis3OTU2OCA1MTJiODAyNTA3ODliNzcyOGMxNWViMDE4M2ZmMjdlYTViNzE0OTA4IHJlbGVhc2UyNi1tYWludAorNzk1NjkgMjQ3OGMzOGZlZmY3NDlmOGU2YWY1ODM2ZDZhN2I0N2E2NzVmMzdhNCBsZWdhY3ktdHJ1bmsKKzc5NTcwIDViYWQ4MThkMTRmMjg3M2YzOTM5ZmE3YjM2ZmY2OGFmMTVkM2JkMjUgcmVsZWFzZTMxLW1haW50Cis3OTU3MSAzZjQ0ODI1MjZmNTVhMjY4Nzg3YTAxZDI3OGIzNWY0ODY5Y2RjYzdmIHB5M2sKKzc5NTcyIDM4ODA2ZGYwNWQwOWQ2ZGVmOGM2NDc3ODRiOGE5MzQ5Mzg0ODliMTQgcmVsZWFzZTMxLW1haW50Cis3OTU3MyA0ZDlkOTc2MGM4OGJlZjZkNzAyMzM3N2U0YzI0ZGQwY2Q2NzQ4ODZlIHB5M2sKKzc5NTc0IDQxNWM0YmI0NWZlNjg3NzRmNGIwOGQ1ODZlODc4NzE1ZjQzOTRkZjUgcmVsZWFzZTI2LW1haW50Cis3OTU3NSBiNjQ3MzE1NGE3MGJjMzMxNWVlNWE3M2JhNzZlMGU0YWY0MjQxOGQyIGxlZ2FjeS10cnVuaworNzk1NzYgZWFiMzYxNjE3ZjZhN2QwNDE5ZGE0OGM5MTMxNjJjYzMyMjAxZjU0YiBsZWdhY3ktdHJ1bmsKKzc5NTc3IGJhYzRiMjg5Zjc5YWFkNTMwNmM4NDY2NjgxM2U2NzYyM2Y4MDYyNzcgbGVnYWN5LXRydW5rCis3OTU3OCBlYjlmZGE5MGRhNmVkODRkNTQ3Y2I5YzU5YzYzMWQ2N2UzMjcyNGIxIGxlZ2FjeS10cnVuaworNzk1NzkgZjM4OTE5YmIyNmNjNzExOWZkNWE4OWRjMjdjM2Q2NWY2ODk4ZGZjZiBsZWdhY3ktdHJ1bmsKKzc5NTgwIDdhNGEwYzY5ZTNhNWYyM2ZmMjdiZmQ3MjNjYjc4YTExYmYzMzcxODcgbGVnYWN5LXRydW5rCis3OTU4MSBiNTdkYTRhNGEzZWQ5NWViZDFlYWE2Njg2ZWQ0ZTNhOTJlMzMyZDA5IHB5M2sKKzc5NTgyIGU4MWNhODhkNDc4Y2M1NTgzMjE5ZTNmYTYzYjI5MzUzZDNlNmIzYjUgbGVnYWN5LXRydW5rCis3OTU4MyAxMzA2MDMzZDhhZDJhYjcxOWFjODM5YzE0YzgyMmY2OTM1MDY1YWM3IGxlZ2FjeS10cnVuaworNzk1ODUgZTM1ZmViOTk1YmQ5NmM0NTBiMmEwZDNjY2MyYzQwYzU0ZWVmYjIyOSBsZWdhY3ktdHJ1bmsKKzc5NTg2IGM1YjIwNjQ1ZTkzMzUwYzc0MmI4ODc1ZWVmZGRiZTBjMjdmYWYxY2EgbGVnYWN5LXRydW5rCis3OTU4NyBmNzc1NTZmZWJlYzgyMGNmMjAzNTYxY2ViZjNkOTNhN2VkMjA5OWQ3IGxlZ2FjeS10cnVuaworNzk1ODggYWU3Y2Y1NzhkZTVhZGRlMDAzOTZmNWQ1Y2IzOTY5MDU3YWVjMTgyYyBsZWdhY3ktdHJ1bmsKKzc5NTg5IDE3ZjA4ZDY1Y2MwZDgxZGQ0NzQyZDViZjlkNmJmN2U1NWZiNGQ3MDAgbGVnYWN5LXRydW5rCis3OTU5MCA1N2Y0Yzk5MDgyZGY1NjA5NzE2M2RkZmIwN2E3YzBlYjlhNzQ4MDVjIGxlZ2FjeS10cnVuaworNzk1OTEgNDhmZDY5YzJhMmI0OTRmMmIxMGIwOWQ4NWMzYzY3YjYxZTAzMTUwMCBweTNrCis3OTU5MiAxZGYzNGZhNDkxYmRhMDRiMDIyYjU2YzJmYWNhNWQ2MjY2MjViMTUzIGxlZ2FjeS10cnVuaworNzk1OTMgZDc3ZTM4NDYwZTNjYTdkNmIyYzhkZWI5MGUyYmQ4OWY5NDcyMzQ3ZCBweTNrCis3OTU5NCA0YjU1Y2VhNTUwNjc3NmZhZDg4Y2VkMzgwMTUzMDA3NWMzYmMxMmIwIHB5M2sKKzc5NTk1IDUxNDlkNDg0ZDU2YWM4MWRiNzVkZDFmMzU4ZWE1NDk1NTg4ZmI4ZTUgcHkzay1jZGVjaW1hbAorNzk1OTYgMjA0OTdkODVlMDExMmVjM2U0YzgxZmViMTU0ZjNiMzI5MDFmZTcxZSBsZWdhY3ktdHJ1bmsKKzc5NTk3IDNmMWQ2ZWQ0ODBkZDgxYjA0MzNiNDcxYmQ0YTcwYTE0NGZiOTQ1YTMgcHkzay1jZGVjaW1hbAorNzk1OTggZTgwNTJhNjBiYmI3YjZlZjMyZjBiNzA0ZWE3ZDQyNjQ3ZDVmOTBiNSByZWxlYXNlMjYtbWFpbnQKKzc5NTk5IGNmYmE1OWMzODM0MTVjMjkyYTU2NDEwMzQxY2I1NzE0NmRlZWFiMWYgcHkzay1jZGVjaW1hbAorNzk2MDAgODcwZmY2MjIwYTBiOTliMDQyMGMzY2UxYjY2ZmUzMjk5N2QzOGIzMCBweTNrCis3OTYwMSAyNzc4NTgzYmUyMWQ2MmNlZWE4NGYzZTA4ODViNWQ3NTBkN2MyMWFhIHJlbGVhc2UyNi1tYWludAorNzk2MDIgZDExMDFhYTk4NGMwNzViYzdkYzZlZTI5ZGM3MDdhZWFiOTIxYjA3MiBweTNrCis3OTYwMyA0YWMwNWQxZjYwYzE4MDY4YjY0ODQ2MTkzNGVhMDEzOTY0N2JlODkyIGxlZ2FjeS10cnVuaworNzk2MDQgNjZkYjAzYTcwNzY3OWM2OWE3ZTcwMDZjYzQyMzVmN2JiMmQ4ODk5ZCBweTNrCis3OTYwNSA2OTkyNDY3YmI4YjU5YzYzMTBkNGI1MTg4OWE1YWQ2MDkwMzg0MThjIHB5M2sKKzc5NjA2IDQzYTgzN2QyNzI4YTEzNDFmMDQ2ZjAxOTFmYWY3OGU0NzJkN2I1ODQgbGVnYWN5LXRydW5rCis3OTYwNyAxZmY4ZGQ2N2JlODIyN2E3NzAwZjg4MmQxYzE1YmIyNWExMTdjNTY1IGxlZ2FjeS10cnVuaworNzk2MDggMmY1ZGMyZmEwZTU2YTI1MTAxYjMwYWZkZmNmNGMwNTM4MzY4YjNkYSBsZWdhY3ktdHJ1bmsKKzc5NjA5IGNjYTRiNzJmNDUwYjY0Nzg2NzJhODhkZWQ5OWVhMzIxNDhiOGY2ZjYgbGVnYWN5LXRydW5rCis3OTYxMCAyNTVhNDAxYzE5YjA1YWFlNmE2MmZhNTAyOTIxMjkyM2UyZTc3N2ViIHB5M2sKKzc5NjExIGVmZWJiN2JjYWU4YjE2NGIwMjUxMDUzYzkyOWIyMGQ3YmI1NTQ1YWEgcHkzaworNzk2MTIgYjQ3OTZlZmNhNzE2NGZmZmNjMmNhMjE4NDA4MTM3NWIwM2I3YmQ5MiByZWxlYXNlMjYtbWFpbnQKKzc5NjEzIGExZGFiZjRlODg2NjU2MWJiNTc1N2YzYWJjNjRmZjA4Yzg4NmViNTYgcHkzaworNzk2MTQgN2RjOGI4OGJiMTVhNDFlNGI2NmViOGU5ZTIzZjM4NmE3NWIwNDYyOCByZWxlYXNlMjYtbWFpbnQKKzc5NjE1IDhkNzMxN2M5MjRjZWY4MjQyNjllZWRkMjFlNTY4MzgzNDExNTgwOWUgcHkzaworNzk2MTYgZWVlYTM0MDE0YzgwMjY4NmQ1NmJlMTgyNDkwMWIwYjg0ZTZkMjk1MyBsZWdhY3ktdHJ1bmsKKzc5NjE3IDI3OGU3ZWNjMGY3N2VmMGRlNjIzYTEzYjMzM2U0NjZkMDY2NDI2NDIgbGVnYWN5LXRydW5rCis3OTYxOCA5ZDUwYmNkM2YwYzljYTg1Yjc4MmUzNDhlNGQ3Yzk2ODVlZWM2NmYwIGxlZ2FjeS10cnVuaworNzk2MTkgN2M5MjM4MDg1YTVjZTBhMjZlMjEwYTM1NTIzOTZiMGQ1MWRlMDllZiByZWxlYXNlMjYtbWFpbnQKKzc5NjIwIDM3N2IyNmQ4NzZlMGRmZTdhZTU5MWVjNmVkNmRlM2YwZWZlNGFjZDIgbGVnYWN5LXRydW5rCis3OTYyMSA1M2FmY2RjOWFlMGFiYzY5MTBjMzVjMjUxMDJmOGJjMTc1Y2U4ZjM3IHB5M2sKKzc5NjIyIGY3NmMzZGVjODU4YjdiOWM4NTEwMzdmZWQ4N2FhMWQzYmI5OWY1YWUgbGVnYWN5LXRydW5rCis3OTYyMyA3MGI3ZTRhN2Y3Y2UyMGIyZTc3MTEzMzYzYjc5ZTljYWE3NTM1MGY3IGxlZ2FjeS10cnVuaworNzk2MjQgYWFiNjQyODNkMDBhMWZlNmU0NDM5OTRiMmMzOTEwNDdiOWY0MWQ5MiBsZWdhY3ktdHJ1bmsKKzc5NjI1IDg0ZWNiMzVhMDZiZGRmNmNhMTg2YzY5MmE1NTg3OGUzNjdhZTNlZmIgbGVnYWN5LXRydW5rCis3OTYyNiAxYjVkNWU3NGY3MzhmNDFhNDc0OGRiY2Q3MTc2M2E2MzcxNmYwMDA3IGxlZ2FjeS10cnVuaworNzk2MjcgZjBiYjEwY2UwNWM3NzI2NjcwYzUxM2VjZTQ0MDE1ZjBhMjQzMTg5NyByZWxlYXNlMjYtbWFpbnQKKzc5NjI4IGFlYTMxOWVhMjZhOGU5MDMyM2UzYzUxNzgzMmVhZGU2MTNhNGY3N2UgcHkzaworNzk2MjkgZmZhMGFhNzBjNzQ2ODNmNDUwYjhmYzY5ZGRlNGYzYjFjYjNhMWVhOSBsZWdhY3ktdHJ1bmsKKzc5NjMwIDc2NTk0M2MxMTE1Yjk1YmZkYTNjODI4ZDViMGRlMWQ2OThhMGYwNTEgbGVnYWN5LXRydW5rCis3OTYzMSBjMzRkZGNhMzY3ODZjMWM0ZDcxODVlZTMxYjllYzc1OWE5NjkwNTQ5IHB5M2sKKzc5NjMyIDU0NjJjNWE5MWY4ZGNiOWRjOGY0M2Y1MWUyODhiNGJkM2IxNjcwZGIgbGVnYWN5LXRydW5rCis3OTYzMyAwYWI4OWU4YmRlZGM1NzY2ZGUyMTdjYTI0N2U4NjMwZTIwMGE2NTJhIGxlZ2FjeS10cnVuaworNzk2MzQgYTdlOWY4ZTM1NTNmN2NhNTY5NzMxYzBhNDc2MmNkNmE1ZDBkYzFmMyBsZWdhY3ktdHJ1bmsKKzc5NjM1IGQ0Nzk5ZWU2NGMyM2IxYzU4NGIyMjQyNzlkZGUxZjM3ZDBmNzdlMGQgbGVnYWN5LXRydW5rCis3OTYzNiA0ODc3YzExNTkxNTNmNWVmZDk5ZGNjYzVhYjhkMmY3N2IzZTRhNDhkIGxlZ2FjeS10cnVuaworNzk2MzcgNGVkMDRhMzljMGE5MWI5M2Q1NmFmNmViZjUxMWYzNGUwZDc1OTA2MiBsZWdhY3ktdHJ1bmsKKzc5NjM4IDU0OTY1MDNiOGIxYWJkNzJmMDNkNDg2NThmMDYyMmM5ZDI0YjZjOGEgcmVsZWFzZTMxLW1haW50Cis3OTYzOSA4NmY2OTk3NjYwMTYyY2JkZGEwMTkyYzNlYzA5NzkwODcyNGE2OWYxIGxlZ2FjeS10cnVuaworNzk2NDAgZDM4NTg5NThkZmY1M2U2MjQzNTIyMWFiMTk1ODdkNTMwZTk4MmUzMSBsZWdhY3ktdHJ1bmsKKzc5NjQxIGI1MjlhMTQyY2M0OWU2ZjMxMGFiNzQ2MmZkMmZmMjI2MWI1YjRjNDAgcHkzaworNzk2NDIgZDMzNGE3YTU2ODQ0OThjZTdlZTk1OWE0ODAwYjYwMzAxOTgxMjYzZiBsZWdhY3ktdHJ1bmsKKzc5NjQzIGViY2ViNzc5NjdkZTg2MzQ4YTEyZmFlMDAzOTQ2ZGUyOTkwYzkxNjUgbGVnYWN5LXRydW5rCis3OTY0NCA2ZDQ4MzVhODFiNjMyYWQwMjBmNmIwYjhkNDhiNjFhZGRiZmQwM2FlIGxlZ2FjeS10cnVuaworNzk2NDUgZmE2NDFkNjA1NDY4ODRmZDljMDYyMTE5ZmFiN2RhZWI3NGMwMGQ3MiBweTNrCis3OTY0NiA2NmI2MGE2ZTgxOTg0NmY2YmUwZWE2NzkxNTlmYTBiZDZjNWQ3NmQyIHJlbGVhc2UyNi1tYWludAorNzk2NDcgYTg4ZTBmNmFiOTQ1YTE2NjkzMTNhNGEyMGFiODVhMTNjNmU5OTVlYyByZWxlYXNlMzEtbWFpbnQKKzc5NjQ4IDg5ZTg3YmE4YWI0ZTBiMGY1MzE2NGRkYjIxYjNkZjFkNGQ4MTFjZmIgbGVnYWN5LXRydW5rCis3OTY0OSA2ZmU1ZGMxNzVjMjY0ZGYyYWIxMjI1Mzg3YWJkOTBlZmU1YTliODkyIGxlZ2FjeS10cnVuaworNzk2NTAgZmRkMDEzNzQzMmY4NTM3MzlmNDE1Zjc4NTBkYmNiOWM1ZjgyOTZlOSBsZWdhY3ktdHJ1bmsKKzc5NjUxIDVlYmNhNjIyODkwMzZiMzdiY2I3ZmQ0ZTA4YjQ4OTdkYTEyMTU0NjcgbGVnYWN5LXRydW5rCis3OTY1MiA1MGIyYzBmZTVlMjdiMzljMjM0YzE5ZjJlMzNmOWUyYTM4NzAyNjI3IGxlZ2FjeS10cnVuaworNzk2NTMgMTU0ZGNmYTMyYjIwMWFlY2RhYjc2ZjVmY2VjM2M4ZDhlYTYyY2IzYyByZWxlYXNlMjYtbWFpbnQKKzc5NjU0IGE3MDdjYTI2MDM0MWI1ZjZmMjgwYTcyNTRlYTZhODg0MThkNmZlNWMgbGVnYWN5LXRydW5rCis3OTY1NSA2MjllN2IzYzhiMmQ5NzZkYzcwZjY0ZTNjN2FlMWI5NzU0MjQyNTFhIHJlbGVhc2UyNi1tYWludAorNzk2NTYgZWE0YzZjMDY4OTUwMDlkMGUwM2Y5NzNhMDI3MDYyNmY4M2JjZWNhZSBweTNrCis3OTY1NyA2NThiMzllNjZkZWZlZDZmNmRlZjdjNmUzMzIxZTIyZTIyMWNjMTJkIHB5M2sKKzc5NjU4IGQ1ZjJjNzQyNWI0YTk0N2VlODUxYmZkNTRjMjkyYmY5YzhlYzZkZDIgcmVsZWFzZTMxLW1haW50Cis3OTY1OSA0NGQzMmE2YzllMzU3YTMzYWM2MjYzOWE3OTkzMDE3OTM0NTBkMDQ1IHJlbGVhc2UzMS1tYWludAorNzk2NjAgZGE3YjAwMDZhNzk5N2U3N2I1ZDc4ZmYzYzgzZWM4ZTU2NjhlOWJlZCBsZWdhY3ktdHJ1bmsKKzc5NjYxIGFkOTRhZjkxMjljY2EzZGRkZTYyNjg4MjU4NDQzMzk3ZGEyMmUxMmIgbGVnYWN5LXRydW5rCis3OTY2MiA3Y2E2YTM0MzFmOWUyN2NhMTE0ZmY3YzQzYjMwYzRlYzE4ZjNmODU5IHB5M2sKKzc5NjYzIGU0N2E2ZmY1YjUyMGYwZDFlNTNkODBjNGQzZWVhMDk1ZTBiNzM4MmIgcmVsZWFzZTI2LW1haW50Cis3OTY2NCAyODExYmU5NWM4Yzg0NDhhZWVjOTliNmU4NmNkMjZmZWM1MDc4ZGJjIHJlbGVhc2UyNi1tYWludAorNzk2NjUgYzU0ZGQzZWVlZDU2YjNmMmNlZTBlZGE0MjZmM2JkZGYxNzg3MTFiNCBweTNrCis3OTY2NiA4YzhiZGMxMWU5Yjk5MjljNTUxMTdjYjg4OTFjZDVkZGExZWUxOGI3IHJlbGVhc2UzMS1tYWludAorNzk2NjcgMWQ0ODRjNGRiZjYwNGNkYmQ3MWQ4ZDdjZjRkMDYxOWU3ZmZiNDM3YSByZWxlYXNlMjYtbWFpbnQKKzc5NjY4IDUwNzgyMjBiZDFlYTYzMjBiYzI3OWZlMTU5N2U5NzFkZjM4MjljOTAgcHkzaworNzk2NjkgMzM0ZDQ1NjJjODc1YTkwMjE1NzlkNGVjYWU1NjdiMzkwNjFmNmQxNiByZWxlYXNlMzEtbWFpbnQKKzc5NjcwIGNmODAzNzcxODRmZmFhNjg2NDQzMWUzNTQwYzljZWI2YjFlYWEwMzEgcHkzaworNzk2NzEgYzJiMjE3ZmU0ZWQ0NTQ4MWViNjkyZWNlYmE4OTIyYmZkZGU4YjUwNiByZWxlYXNlMzEtbWFpbnQKKzc5NjcyIGMwYjYyOTliOTNlZWJlODY2YmRkYmE4Nzc0ZDJiY2Y4ZWJlZmNiNzIgcmVsZWFzZTI2LW1haW50Cis3OTY3MyBiMWMwMGM3ZDNjODU1ZDUxNzI2NDc2ZGZhNTZmMDRiMjg2OGE2ZjFkIGxlZ2FjeS10cnVuaworNzk2NzQgMDU0MGE5NjI4Njk4OGE0ZGFhNzM0MTJiOWQzNzc3MDE2ODdiYWZkMSBsZWdhY3ktdHJ1bmsKKzc5Njc1IGNmMzRmYzFlODQxM2UxN2M5N2ZiZTlkMzAzZDQ1YjM5ZjM0OGFjYzMgcmVsZWFzZTI2LW1haW50Cis3OTY3NiBiMTk0MWNmZmZhNWM4NTE2MWZhMjIwMzBiOWUwMTJkM2RmNTA0M2FmIHB5M2sKKzc5Njc3IGQzMWUyNjlhYWNkZWJkMDgyNDkzNzA1ODVlOGJiZGNmODNlYjI1ZTAgcmVsZWFzZTMxLW1haW50Cis3OTY3OCBhNjY1NDVkYjNiMDY5OGE5OTE3NzU0YjZhM2ZhNWZmYTU0MDAxYzAxIGxlZ2FjeS10cnVuaworNzk2NzkgZWIwNDljM2MwODNmYzgyMTQzNjQzYTAyYmYyNDEyMmViNzc4N2RkNCBsZWdhY3ktdHJ1bmsKKzc5NjgwIDI3NDUxYTk2NzY1MDBkMDc0NjdmODdiOWNiMmE4YThmZDlkODczMTIgcmVsZWFzZTI2LW1haW50Cis3OTY4MSA1M2VlMzhlNjM4YmY5MGU5ODNlOGFmOTMzNmNhN2I2YjU1NGYwN2VlIHB5M2sKKzc5NjgyIDNiMWQwYTNhZGZmZmFlNzQ5ZGNlMjg4YTE3OTJlZDk3ZWVmOGNjOGUgcmVsZWFzZTMxLW1haW50Cis3OTY4MyBiZDUxMjFiZjY5OTZkMGMzZTllMTViNzdlMTQxMmY3MTQxMDQ4MzA1IHB5M2sKKzc5Njg0IGJhNDgyZjQ4ODdmN2Q2ODAyYzJlODE2NzE3ZjE5YjM1MDRlOTBmMjYgcmVsZWFzZTMxLW1haW50Cis3OTY4NSBhNTg0ZjI0MzE4MGQ1MmE2ZDZjMjJjMTAzZTcyZGQ3NzMzZGE3Njc5IGxlZ2FjeS10cnVuaworNzk2ODYgN2QyNzI0ODhiNjNjOWE0MmYyMzhlYjc3MWRkMmY5MjYzNWI3NTIwYyByZWxlYXNlMjYtbWFpbnQKKzc5Njg3IDU4MGYyZjViYTg1ZjM2NTE4MTY4MTNlYzc3MzY5OGIyYjViN2JiNjggcmVsZWFzZTMxLW1haW50Cis3OTY4OCA5YjI0YWEzNmMwNmY4M2UzYmI0MWZkN2Y1NTNkZWQ2YzNmNzQzYWIxIHB5M2sKKzc5Njg5IGQxNTIzNWQyMTM3YzE0ODU4MWQyOTY0OWYyZjI3OTJkOTRkOTVjMDcgcHkzaworNzk2OTAgZWExMGNiNjEzOTBhZWEyMGZiZDk2OGMwMzVkYzUyZjE1MDhlNGRlMiByZWxlYXNlMzEtbWFpbnQKKzc5NjkxIDRhNmUyMDEzNTQ3MDY4ZjA3NzBiN2JjMjY4MmJiZDA2NGI4MGI3YzQgcmVsZWFzZTMxLW1haW50Cis3OTY5MiBjNjY5OTViZWZlNDI0MjFiNTZlOTBhZjM0N2E0ZWQ0MTU5Yzc0OWIwIHJlbGVhc2UyNi1tYWludAorNzk2OTMgYjYyYTY4MjExN2UwMGYzODUyOTBhNWU0ZGFjYjg1ZWRmZWVhNDk1OCBsZWdhY3ktdHJ1bmsKKzc5Njk0IDM1MjdkNjU3OWVjMjkwZmQ5MGQ5YjRmYzQ3ZTZhNzI3NTFmZTQ1YjIgcHkzaworNzk2OTUgZDVhYmQ4ZGZkNGY0YmFhMGFiZmJjOGU2MmRlOTUzMTRkNWFmOTcxMiBsZWdhY3ktdHJ1bmsKKzc5Njk2IDA2YTQ2Zjk1MTk0ZWYxNDE1MWNlY2M2NTYxYmQ5YTY5NDkzY2JjZjUgcHkzaworNzk2OTcgOGFiOTYwYjYxMWE2ZjFiOTFiZWM4OGFiMzFiOTBmZmYyODYxMjQzMiBsZWdhY3ktdHJ1bmsKKzc5Njk4IDM5ZWZkM2ZjNTllZmE3ZjA4YzA4OWRkMjA0MTg0ZmI0MjQwNTJiZjYgbGVnYWN5LXRydW5rCis3OTY5OSA4NzY2NjM3NmQ4YjA1MDQyNmFlZjk1MzU0MzU4OGM3YThmNDNkNGRhIGxlZ2FjeS10cnVuaworNzk3MDAgNDBiYzhiMWNhOTMyOTg5ZjdhMWY3N2IyYTJiMWY3YjU3NmJkYWY4OSByZWxlYXNlMjYtbWFpbnQKKzc5NzAxIDNhMGY1MjViNTliNTk3NDhjMTQwMmY0NDNhMTA4MjkxZmMwZjBmOTggcHkzaworNzk3MDIgODZiZjM4ZWEzMTIzNmUzYmVhZTA5MDY5YTg3NWNiODAyMDk5OWM3NiByZWxlYXNlMzEtbWFpbnQKKzc5NzAzIGFhMTIxYTM5YTk1NjcwZTQ4NjI2YTBhNzdiZDg2ZGNhYTQ3YTQzMTEgcHkzaworNzk3MDQgZGEzNGQxZjQzY2IwMDA1ZmZmOWQ4ZWQ3NmExZDE3YTRmNTU3MTYwMyBsZWdhY3ktdHJ1bmsKKzc5NzA1IDdlYjkwN2M4NTRiNDJhZDlkYmJiMTgyNTZiOGY0YTQ4ODlmYjRmZDQgcHkzaworNzk3MDYgYzIxYmM4MGM4M2Y2MmZkZDE2MTllMDExN2M1Y2MxYjUyNmY2ZGZmMyBsZWdhY3ktdHJ1bmsKKzc5NzA3IGIyNjI1YWNjMjQ4NGU1MGViNjAyMzViZGE0NWZlOWE4NzU0ZGEwMmIgbGVnYWN5LXRydW5rCis3OTcwOCAyZTU1OWMwYWQ4YzM0MjhmZjI2YzJmZjJlZWQ3MjgzNTI3MWE1ODZmIHB5M2sKKzc5NzA5IDYxOTkwZjc2MzQ4NTkzMGU3OTNlYjljZmM5ZDk4NzI2ODkyM2Q1OWUgcmVsZWFzZTI2LW1haW50Cis3OTcxMCBlMTQ2MTMxMjRjYzE0Mjg4ODQwN2U3MDlmNmIyMzIzNGRmMDFjZDdkIGxlZ2FjeS10cnVuaworNzk3MTEgNjYxNThlNGZkMDIyN2U0MDVlNmEyYjlmYjVkOGNmZDA2OTQwY2FkYyBsZWdhY3ktdHJ1bmsKKzc5NzEyIGExODQyMjdjZmI5NDNhMGMwZDAyNTIwYWFhMDlhODk1YmNmN2UzMzcgbGVnYWN5LXRydW5rCis3OTcxMyBjNzNhNjU4ZGE2ZmFjMzQ0MDMyZGM0MjgyYjQ5OTgzOWM0NDY3OTRjIGxlZ2FjeS10cnVuaworNzk3MTQgZTI5YTJlMDNlNzM5ZTY2NjllZGM2YWE5ZGM2OTUxYjRkN2VjZmFjMSBsZWdhY3ktdHJ1bmsKKzc5NzE1IDNmNzg2NGMxY2YzZjYxNTQzZDRkMTdhNzg1YzI1OGZjM2NkZGUyMTYgcHkzaworNzk3MTYgMzQ1YjZhYjMyZDY1NGY0NjY0ZTgwMjZhZDA2NGYwMzg4ODgxOTkwMyBsZWdhY3ktdHJ1bmsKKzc5NzE3IDgyYzIwMzRiODA5NWY4NDQwMzQ5MWY5ZWZjYTJmYmUzNjFiMDMwNzIgbGVnYWN5LXRydW5rCis3OTcxOCBlZTM0MjVkMWM2ODhjZmQ4MTVjYzU1YzY0M2Y4ZjYwM2ExZmEwMmU0IGxlZ2FjeS10cnVuaworNzk3MTkgNGQ4NGUzZmEzMzNhMjFmODlkZjc0NzYxMWFlNDEzODEzNGE5ZjZlOCBsZWdhY3ktdHJ1bmsKKzc5NzIwIDliNTAwYTJjODU5ZDA2ZmI2NzE0M2RhYjEyYmU4ZjQ5ZTI0NDNhNTEgcHkzaworNzk3MjEgYzhmOTU1MDAzYjJjMWM1YTM3NmIzY2U3MTkzZWNlNWUzMTIxZTYwNSBweTNrCis3OTcyMiA2YTI0ZGVmY2MwMGIyY2I5ODA1YTgyZjdkNzUzZDE1OGRhMmFlMGMyIGxlZ2FjeS10cnVuaworNzk3MjMgOTY1ZWM2MzU2ZDVkODQ0NDIwZGYwNDZiNmY2NWZhY2NhMTdjMzUyYiBsZWdhY3ktdHJ1bmsKKzc5NzI0IDgxYzJmNTkyZTgwODEwYTg0NjYxYmYyYjg2MTlmMzAzMjYyMmEzOTAgcHkzaworNzk3MjUgM2M0YzBhNzE2YTE4YTQ4ZmQ1M2YwZDQyYTkwMzk4ZWI0OTM4YjMxOCBsZWdhY3ktdHJ1bmsKKzc5NzI2IDBjZmFiZWQ0NjY2OWNlOWQwYTg0YTYxYWQ0YjFjOTc5MWI4NTI3NjAgcHkzaworNzk3MjggZGE5MzlhYjJiZmUyNzc3YTgwOTQxZjMwNmNhN2M1OThjMjc3MWVjNCBweTNrCis3OTcyOSAzOTkyMTAyNjNlNzEwYzA3YThmMWMwMThmNzQ1YTk3NTdiMWVlOTAyIHB5M2sKKzc5NzMwIGViNDE2NzY3MjE2M2M4ZTMxZTA0MTNkMjM4OTY5ZTBkOWE3ZTNkOTAgbGVnYWN5LXRydW5rCis3OTczMSAwZDU2N2NlNWVjZTRhNDMxZGZkMWI1YjRmYjgyNWFiNmEyN2NlNmM4IHB5M2sKKzc5NzMyIDM5NWEyN2E0NGE5ZTQyNDZkOGZjYmU0NzU1NTRkNTQxODE3OWIxNTUgcmVsZWFzZTMxLW1haW50Cis3OTczMyBkNTg2MmQxMmQ5MmFiNGQ0NGVhOWMzMGI2MDg4OGZiZmMxMTY1Y2JmIGxlZ2FjeS10cnVuaworNzk3MzQgZjljMzY4ZmUxYWNmMzA4ZTMyNGFiZDcwYjdjODc4MTI0YmM3N2YxNCByZWxlYXNlMjYtbWFpbnQKKzc5NzM1IDY3NzdjZmFiNTE1MmUyY2RmZmVjYmZjNjliYTkyZmZlNmRkZDkwNGEgbGVnYWN5LXRydW5rCis3OTczNiA5ZWU5N2E0YWIxNWMwYzliN2NjOTUxNDU3ZjU0ZjA0NWY4YTNkZWE3IHJlbGVhc2UyNi1tYWludAorNzk3MzcgMmRhNTEzYjQ3MmNiZTUwZGU0ZjY0OGIzNDM2MWY4MTkyYjgzMjBjNSBweTNrCis3OTczOCBhOGRkZTAyNWE2Zjk5ZjAxZjBiNzhhMWRlZmFkMWZlNTc4YjI0Y2RkIHJlbGVhc2UzMS1tYWludAorNzk3MzkgMGRlZjI4ZGI3Nzk5N2VlYzM0MDQ3OGU5YTg5ZjQ2NWFkNDFjMTAzZCBweTNrCis3OTc0MCA0NjBmNDFiZDBlMzRhY2VlNjQ1YzQ0MWJiN2I1NTgwYmVhZWFhZWM3IGxlZ2FjeS10cnVuaworNzk3NDEgNTcxNWRlMmE0MDUxMDUxZTJhZTE4NzIyODE3MzFiYTdiNmQ4YzE5MSByZWxlYXNlMjYtbWFpbnQKKzc5NzQyIDU4ZGM0ZjMxNmZmNjQ2Y2RjMzE4NmY3NmJjMDg0NWQzMzA0YmQ5OTYgcHkzaworNzk3NDMgODFmZTFkNDVhZTc3ZmE0MmM5MzEwNDU0ZGVlZDk0MmZlOWNkMmVhMSByZWxlYXNlMzEtbWFpbnQKKzc5NzQ0IDVjYThlNDE1MDRiNmY5Mjc5YTZkNWU2NGIwZDFiZjIwY2Q1OTAyMGUgbGVnYWN5LXRydW5rCis3OTc0NSBjMzk5ZTkzYmYwZTQ1ZGMyYjcxYWIxZjQ5MzQ3MGEwYTM1ODQ3NWZjIGxlZ2FjeS10cnVuaworNzk3NDYgNzI0MDliMjMxOTY3MzNhMzQzZjdmNjY2MzJmYjc4YzMwOGM2MGI3MCBweTNrCis3OTc0NyBjMWI4N2UxM2U5ZDNmZjE1YzRlMWZiNTIyZjE1MDE3ZmNiNTI5ZTI5IHB5M2stY2RlY2ltYWwKKzc5NzUwIDFlNmYyNjgwMTZlNDczOTRhZTFhYjVhYjE3OTcyNDAwNjY0ZDU0N2IgbGVnYWN5LXRydW5rCis3OTc1MSBlYzFhNTQxMmZmOTBkZWFlM2VkZmViNDE0ZmU4MWYxMmYxZDkzNmM2IGxlZ2FjeS10cnVuaworNzk3NTIgN2FjM2Q4OGUzNWMyMTBmZjJlMjFhZDNkNDNiZDBiZDIxNjRkODhlYiBweTNrCis3OTc1MyA4ZTA2NDE3ODU1MDc0NTNmMTY0ZDEyOTFkNjkxMTVkNTExNzZmZDJhIHJlbGVhc2UyNi1tYWludAorNzk3NTQgZGM2MzQxMWEwMTA0ZWJhNDJiZjZmMjljNGVjY2UyNjVmZWE1OGVjZiByZWxlYXNlMzEtbWFpbnQKKzc5NzU1IDVkZGEzZjMyYTJjZTJkZDAxZmI2YzM2ODE5OTExNjViZjAwOTllZTAgbGVnYWN5LXRydW5rCis3OTc1NiA4YWEyOTZmYTZkNmM1M2EwNzRhM2IzMDBiZGUyZDUwYmY2YzAwMWExIGxlZ2FjeS10cnVuaworNzk3NTcgNDVkZDliZjM2MWVjMDMxNWYxODk3YjczNWQ0Zjc3YzU1NDRlNjQ4YyBweTNrCis3OTc1OCA5MzA3ZGVlZWU0MTJhMjIzZjE0ZjU4MzEyODI0MGZmYzUzODA3NWIyIHJlbGVhc2UyNi1tYWludAorNzk3NTkgZjQxNmYyYzJjMDk5ZTg0NzUzN2Y1ODkzZDhhYjcyNDA1ZDBhZGFhMSByZWxlYXNlMzEtbWFpbnQKKzc5NzYwIGI2YzZmNDJjZGRkZTVkZjRkZWRhZjViZGZjMGY2MGJmMjVlZGQ0YmQgbGVnYWN5LXRydW5rCis3OTc2MSAwMjI1ZDI5ZjBiZDk4ZTMzNTAxM2UxNmMxNDU2OWQzZDc5ZWE2ZjkxIGxlZ2FjeS10cnVuaworNzk3NjIgYWNjOTAwZGMxODRiYTliMGM2MmY1ODJmOGY3Y2VkY2E3NmUyMmVjZSBsZWdhY3ktdHJ1bmsKKzc5NzYzIDBlY2U5OGI4NTNkNTEwNDFkNTliZjBmYTEyYzNmMWNiYTgzOGFmZjQgbGVnYWN5LXRydW5rCis3OTc2NCBhNjYxYzk2YjhkMTBlY2Y3YjhiOTlkNWQ3YzllNjhmODg2ZDZmZjVlIHB5M2sKKzc5NzY1IGZiMmQ2NGE0ZDg3MmMzMmM1MzdlNzZjNTY4OTI1ZWMxNzZkMzQzYjEgcHkzaworNzk3NjYgYjY5ZGNmNjM1MDJjNGRmMjQyZjk5MTMyZmU2ZGRlNDU3ODEyZTQzZSByZWxlYXNlMjYtbWFpbnQKKzc5NzY3IGMwNGE2MjIyY2M3ZGQ1OWRmMjc1YjJjOTI0YjRiOTdmN2Y4ZGZlM2UgcmVsZWFzZTMxLW1haW50Cis3OTc2OCBhOTAzYmIzNWVmNGY1MzU3NTBlMDcyYjc5MGI5ZWFmNGRmOGRjNjk5IGxlZ2FjeS10cnVuaworNzk3NjkgYzU0Y2ZlODI4Yjg0YTNjZDBhMTA1ZTFhZTA3OTM5MmI0NmJhZjRhZCBsZWdhY3ktdHJ1bmsKKzc5NzcwIDgwMDQzNTdkNWJjYzAzNzJlNTIxODZmYmEyZWNjNGEyOWNlMzJiYzYgcHkzaworNzk3NzEgNzE3NzlmNGEyMDc4Mjk0YjU4ZGYyNzYzNzYxOGFlMmU3MjZhNDk2ZCBweTNrCis3OTc3MiAzM2EwMmU0YWM0YzJmMWU3ZTk3YmRlNDUxMDk1YTc0ZTJiMGEzMmI2IHJlbGVhc2UyNi1tYWludAorNzk3NzMgODkzYzc0ZDU0N2VlNzM4MDYyYjY2ZDVlM2JmMzIzN2RlYWFlZGU3NiBweTNrCis3OTc3NCAxYWJmMzdkYjI1N2Q5ODhkYmY2MDM2MTA3YjE3YzA1MTM0ODg1YmJjIGxlZ2FjeS10cnVuaworNzk3NzUgMjNkYmM4YTNiOTdhOTk5OTZhN2ZiMDY4M2Q4Nzk2NWM4ZDRmMGZjNiByZWxlYXNlMjYtbWFpbnQKKzc5Nzc2IDYwY2E4OTgzZGQzYjFlMjVmZjM0MzA3OGMzNmIxYjJhOWJhYTNhMmIgcmVsZWFzZTMxLW1haW50Cis3OTc3NyA1MzUyMjA0YzhlODhjNWJkMWZlN2E5YWUwMTc1YWE2NWVhYmNmZDJiIGxlZ2FjeS10cnVuaworNzk3NzggZTY4MTVlMWI3NTAyYzY0MDllNGZkN2QwZWFlMDIzNzAxMWU3NDdhOSBsZWdhY3ktdHJ1bmsKKzc5Nzc5IDFjYzRkMmRiNWNkNmJkYjNiNDZjZmI0YzA4NDFkMDAyMTExMGZkYTYgbGVnYWN5LXRydW5rCis3OTc4MCBjZmU1ZmEzNGRiNDY2NjRjNGZlOTgzMGIxNDVkYmQzMTFhZGJhNzI0IHB5M2sKKzc5NzgxIGM0MGZiZmZmNmQ3YWJjODhkMjBhMDE2ZWIyY2IwM2ExNTk0YzgxMDEgbGVnYWN5LXRydW5rCis3OTc4MiA3ZjY5MTgxYjY1MmMwYTliZmI1N2Y2ZDk0ZjJkZjYzMjE1YTY4ZWVmIHJlbGVhc2UyNi1tYWludAorNzk3ODMgMDJiZDJmNjBiYTVkOGQ1MmYzNjgyMjA2ZmUyMjVjNGQ3NGQ2ZWNiMiBweTNrCis3OTc4NCAyNzNjZGEyYjAwNTM4MTJiYWVmZDIyMzViMmZlODZhNWZkZjM4MjMwIHJlbGVhc2UzMS1tYWludAorNzk3ODUgZmRjYmViOWYzNzRjNzE1ZTZmZmYxYzgzYmFjNGNkYWIwNTQ1Njk2OSByZWxlYXNlMzEtbWFpbnQKKzc5Nzg2IDk3ZTk1YzlkMjZkYWJmMjE0ZjhiYzRkNDc4MzIxOWZlZjlhNWQ2ZmIgbGVnYWN5LXRydW5rCis3OTc4NyBlNGJkYzI5NmZjOGU0MjdiMDU3MjYzYzZhN2Q5ZWJiMWYzZmM5OGVhIHJlbGVhc2UyNi1tYWludAorNzk3ODggZTk0ZDQ0NmM2ZDBlZjkzOWM5OWUyYTRjOGIzOWRmYThhNDNiOWE3NSBsZWdhY3ktdHJ1bmsKKzc5Nzg5IDcyYzBlMTVjMDNiMjRhMjMzYWFmNGY3YWQwZGFkOWUxNWQ4MTZhMTIgcmVsZWFzZTI2LW1haW50Cis3OTc5MCAyNGNiNDExMmI3MzExMzA5YTIwNmVlOWNiZGU1ZDBmYzA0OTkzZWJhIHB5M2sKKzc5NzkxIDMyYThiNTIwZDc2N2Q3YzljNDc0MWI5OWRkNWJmNjNmYzZmYTUyOWUgcmVsZWFzZTMxLW1haW50Cis3OTc5MiAyOGI4MjM5ODNmY2U5ZDczOWIwZDE3ZGJhOTRmODVkZWE0ZmQwMjAxIGxlZ2FjeS10cnVuaworNzk3OTMgNmJlZTQzZWE3YzAwZTNhYWMzMzFjNjNmMTlhZTYwNWI2NTI5MTBhZSBsZWdhY3ktdHJ1bmsKKzc5Nzk0IGY4N2QyYjFiYTQyOTBjMzAzODIyOTY2MjZjMGNmZDE5YzAxZTk5YTUgbGVnYWN5LXRydW5rCis3OTc5NSBjMmIwOTNkNjgwY2YzMjMxMzRiNDlhMmRhZmUxNWMzMDYwYWExMTcxIGxlZ2FjeS10cnVuaworNzk3OTYgMmQwY2UzMDc4MDliNGQwNjNjY2Q0OWE5NDI3MTUzYTYxYzE4OGU1NyByZWxlYXNlMjYtbWFpbnQKKzc5Nzk3IDExZGUyYzI4ZDFhMDkxMDY1Nzc2ZGNlYzFlZmVkY2FkYTZhNDYwODYgbGVnYWN5LXRydW5rCis3OTc5OCA3MDg4ZDE4MzQ3Nzg0ZjI5MDg2MWYyYTlmZTFlNjBlYjY4OGVkYzNkIHJlbGVhc2UyNi1tYWludAorNzk3OTkgOWVjNTk4YjQ3ZGE0ZGJjNzBlOWM4MWI3MmZmNTA4YTY2MWYxYzU3NSBweTNrCis3OTgwMCBhN2I1M2FkN2FkOTcyNmNlMjU2NTkzN2VlMjFmNDFhZGE5Y2EwZGU4IHJlbGVhc2UzMS1tYWludAorNzk4MDEgMGE1M2MyNTRhMTkzN2RjMDdhMmRmYjdlNjUwZTc1YmUxZGEzMWZmOCBsZWdhY3ktdHJ1bmsKKzc5ODAyIGU3N2IyZmYyNGRkYjE0Zjk1ODZhZjdiNjY2OTkxZTIzMjczOGRkYTIgcmVsZWFzZTI2LW1haW50Cis3OTgwMyA3ZjJkN2JmYjA1NjcwNmNmMzc4MTJmOTkxOGFjMjRjY2Y2ZTkxMmQzIGxlZ2FjeS10cnVuaworNzk4MDQgYWNlNzExNTUwYjU5N2VjYWZhZjI3MWE5M2UyNDk4M2M3MDQ5MzUzMCBsZWdhY3ktdHJ1bmsKKzc5ODA1IDlkZTU2MzBmYzYxYmEwMDljODFiNTFiMWZiNWE5ODk4MmMzODdlMTUgcHkzaworNzk4MDYgOGY0NWQzN2M1NWExNDJiZjYzZjNlMWNiNWMyMmZmNDM1N2Q5NjUxMCByZWxlYXNlMjYtbWFpbnQKKzc5ODA3IDU4NmUxY2U5ZjI0M2M4NGE1ZjViMzcxZGM3ODI4YjZkZTEwNjJkODIgcmVsZWFzZTMxLW1haW50Cis3OTgwOCAzYzlmMDg4N2VlM2Y5YWVhOWZiNTIyMDViZjlmMDc0OGU1MjQ2OWM3IGxlZ2FjeS10cnVuaworNzk4MDkgNWRhYTc0YmNmNmExNTkwOTJhZGExMDRkNjA1MTJmOWY1YTU3ZTUyZiBsZWdhY3ktdHJ1bmsKKzc5ODEwIDNjZTY2YzY5MjJhYmFkYmEzZDg5ZWM0MTE1ODZjM2VjZWMwZDRlZWIgcHkzaworNzk4MTEgOWZkODg1MmVjZGQ0YzIwMmU5MTE5MDllYzFlZTFmY2FkNGUzOGM5MiBsZWdhY3ktdHJ1bmsKKzc5ODEyIDY2NDE3Mzk4NGYyZDNhMjFmYWE0Yzk3NjhiZTA2MzI3NDY1MWUxN2UgbGVnYWN5LXRydW5rCis3OTgxMyA5ZTVlOWQ4ZmE4NDc0ZmQxYjVmYjliYTAwMWQwNjE2Y2MwNzc4YThiIHB5M2sKKzc5ODE0IDI1YzI4NTJiZmQxNWI1NDI5MTJlMTc1OTJlZWEyMDIwZmJmYzE2ZjkgcHkzaworNzk4MTUgMWFkY2Y0YTQ2ODU2MDZlNWJmYjVhMjZjZTM4YzU0ZDUwYTZhOWI2NyBweTNrLWppdAorNzk4MTYgYzViZTUzN2I1YmE5MDlkOTk1YmY0MDFlMTM1NDFmNjllMjhkNTM5YyBweTNrLWppdAorNzk4MTcgOTIyMDc5ZjcyNGE2MjBjMjNhOTA0MmYzNGU3ZGZkMmFkZjJjMzJlNyBsZWdhY3ktdHJ1bmsKKzc5ODE4IDk0MjYyZDBlMDY0YTVlYTg4ZjMzN2Y1MGUwY2Y5MmVkMmZjOTAzZDkgbGVnYWN5LXRydW5rCis3OTgxOSBlZWVhNzhkZjhhM2M3MmY0NzM2N2E5NDA2ZjUxYzA5NmQ2MDEwMDA5IHB5M2sKKzc5ODIwIDk2MDA2MjVjMTVhZmE5YzBhNDIwYjg4MTE0NzIxYjRiYTI5YTFlOWUgbGVnYWN5LXRydW5rCis3OTgyMSBjMTAwMjRhYmQxMThmZmNhZmNjN2RkZmUyNjhmMTc3YmQxODIwNzVjIHJlbGVhc2UzMS1tYWludAorNzk4MjIgMmZmYjIyNGM2MWY2YzdkMGJiMmI4NmNmNDUyMGZmMmJiNWIxMTBmYyBsZWdhY3ktdHJ1bmsKKzc5ODIzIDI2YzZkZTE4Y2QzMGI1ZGIwYzQ3OTU2MjhmMmIzM2QwNzNlZWE5MDEgcHkzaworNzk4MjQgMzY3YWM0OGJmMDg1YTVhM2IzYmExYjNjYzE2YTkzYjdhM2VjYWU0NSByZWxlYXNlMjYtbWFpbnQKKzc5ODI1IGEwYzA4M2UxZDMxZmRkMmY5M2QzYTQ2YmZhNDc1OGU0NWJmMWQzOTYgcmVsZWFzZTMxLW1haW50Cis3OTgyNiA5NWJmOTdkY2M1OTE5MjYwMjM4NGZmOWQ5ZmQzMmJiOWFkYTU1Mzk0IGxlZ2FjeS10cnVuaworNzk4MjcgNzI3NDYxZDY2ZDEwMjI0ZGM3OTBmMzAzOTEyMTNmNmQzNDk5NjE5ZSByZWxlYXNlMjYtbWFpbnQKKzc5ODI4IDdkODlkMGRhZTk4ZTU1NzE4ZWJiNGE0NjExMzBkMDRhNmVlYzJjYzcgbGVnYWN5LXRydW5rCis3OTgyOSBhNjVhOTRiMDA5MDJlYzIyY2JlZjhhY2M4YTIxNDdiNWNhMGU2N2U2IHB5M2sKKzc5ODMwIDM3NzVhNGZkMTFjMmE3M2NmYTE5YzA2ZjUxYTkzNGJiMjE2ZjZiMTkgcmVsZWFzZTI2LW1haW50Cis3OTgzMSBkNDg4MDFiODYzODAxZjcwZmY1NWQwYThkZWQ5ZTA3ZDI4ZTE5MTMzIHB5M2sKKzc5ODMyIDJiOTNlMzE2NTk2MWUxYTkyMzBkYzNhZGQ5NGExYTUxMmMzOTliZjQgcmVsZWFzZTMxLW1haW50Cis3OTgzMyA1NzZiMGU4NzM2YzdmZWE3NGE3ZmNjMzZiZGMzMTZiOTMzOWFkOWQwIGxlZ2FjeS10cnVuaworNzk4MzQgZjFlYTAzZTM3ZmY2ZWNiN2YxMjQwMTFkNDdjODQ2N2ZmNjk1MGVmNSByZWxlYXNlMjYtbWFpbnQKKzc5ODM1IDdjNzZhN2I0MTE2MDM1Yzk2YzljY2ViM2M1ZGUyNDE2MGY2ODY4NDQgcHkzaworNzk4MzYgNmZlYjVhZGQ3NjJhYzZlMTk1MTRhMWI0YjYxOGFiYTEwNmJjNDQwOSByZWxlYXNlMzEtbWFpbnQKKzc5ODM3IGI2NmZjODhmYTk2ZDFiYjc2NjIzODNhMjRjOWZjNjY0ODk4ZThiM2MgbGVnYWN5LXRydW5rCis3OTgzOCA2NGZkZjY2ZjY5YjBiNzhiNTRjMmFiMmRmZGMzMzNiMzE2YjcwYjY5IHJlbGVhc2UzMS1tYWludAorNzk4MzkgNzc3NGQ2MGE4OWE5MjhlNWM2MTFjOTdkMGYxNzA4Y2RlNWY1MWNhMyBweTNrCis3OTg0MCA2OTZjYjU0OTZhMGI4NmQyZGM5MDJmYTcxMDRkYWQ5N2I4M2VjNmUyIHJlbGVhc2UzMS1tYWludAorNzk4NDEgYzY3MzM5ZTM3MWE5YjI1ZDFkMzkzYjM1MWJkZjQ0ZjE0OGEwNTEyNyBweTNrCis3OTg0MyBjOGNmYjFkMDc0MjljYTExMWEyOTNiZjUyMmM1NGRlZmJjOTQ1NjZiIGxlZ2FjeS10cnVuaworNzk4NDQgYjg4ODQyZjY1MzRkZTQ4ZTE2YzEzZWExY2IwMTY2OWZmODE0NTlkYiBsZWdhY3ktdHJ1bmsKKzc5ODQ1IGI2MTA4ZjcyMGY2OTgzM2EzNGNiNjg5YmZhYmYxMmMxOGIwYTdjYTcgcHkzaworNzk4NDYgZjE5NGEzY2VlZmFhYzAwZDFkMjFlNzE5MTA0NWI4ZWEwNjI3Y2U2NiByZWxlYXNlMjYtbWFpbnQKKzc5ODQ3IDJmMjg4MzJkYzM2YzNiMDFhODdjZTIyNmE4NjYxNjM2YzhmMjRiNDEgcmVsZWFzZTMxLW1haW50Cis3OTg0OCBhNzNkNjA0NTFiNDkwYzZhMWE3MmZmYjFiZTc0ZmViMmY5YWEyYTU4IGxlZ2FjeS10cnVuaworNzk4NDkgMjBhNTliYWRhZmExYzIyMTRjYTZjYjliZWFhYThhZTAyMGRiNGVkOCBweTNrCis3OTg1MCAzY2U0YWFjMjA5MzU3NzYwMzVmMDdhMzIyYWM1ZTg0ZDg3MDY0ODA4IHJlbGVhc2UyNi1tYWludAorNzk4NTEgZDUxYTJjN2NjODExYTEyYTg1MjRlMzE0NjUwYTRiMThkOTYwY2NjNiByZWxlYXNlMzEtbWFpbnQKKzc5ODUyIDViMGYxZDViZDU1YTk3YzAwNmJlZDEzMDE1NDc3ZGVjYjI1OTBiMzYgbGVnYWN5LXRydW5rCis3OTg1MyBiYmNjNTRhY2JkOGEyZDkwNTRhN2NiNzcxOTBjZWE1YzM1YTEwNTJlIHB5M2sKKzc5ODU0IDMzMjdkZjMyYzExN2NhYzJiMWYyNTU1MTRiNWY1ODViMDMzNDY3OTYgcmVsZWFzZTI2LW1haW50Cis3OTg1NSA2M2FmNDk2YjE0OTM5NDczZmU2NjcwZDFhMzJkZGVlODA0NjVkOWJhIHJlbGVhc2UzMS1tYWludAorNzk4NTYgZjRlYzQwNzNiZDJlNTk2ODBkMWU1NTk2NmYwYzMwNGE3NGRkNTE5ZiBsZWdhY3ktdHJ1bmsKKzc5ODU3IGNlOTc5YjY0YjIzYTc5MGJhNDE2ZTI2NDUyMmFhMzk2NWRkMjBlYzggcHkzaworNzk4NTggYTMxZjgwZDVkMWExNmViZjRkNzcxODU0MjFjYTAzM2M3NzFlMzYzMCBsZWdhY3ktdHJ1bmsKKzc5ODU5IDAxYzFhYTNhNDlhN2NkMWY1NWY0MmM3ZTYwYTVmNzJiNmFlZGM1YzEgcmVsZWFzZTI2LW1haW50Cis3OTg2MCA1NjliODU5YWRlMjA3NzMwMmU2ZDU5YmZlYjAxYmU4ZTBjZmFiNDY2IHB5M2sKKzc5ODYxIDgyNzNmODk5NGE4ODgwYWYzYTg3MWI0ZjMyZGYzN2E4ZmE1YjhhY2QgcmVsZWFzZTMxLW1haW50Cis3OTg2MiA5YzQ4YWI3MjhjZTBkNGYzMTU3YjhkYTlhZDEyODc2YWYyMTEwZTU4IGxlZ2FjeS10cnVuaworNzk4NjMgMmI0ZmNmYzM1ZjEyMjNlMGE1NjM0YTA1MjIxZWMwOGUxZjI1NjUyZiBweTNrLWppdAorNzk4NjQgNzEyOTcwYjAxOWY3MGNiMjExYzcwMzk5ZGQxMGY1ZTA3NzEzMDBhNCBweTNrCis3OTg2NSA2YzFhZGU5ZWExZTQ0NTRkNmYzYTE2MjNhZDk0Nzk2ODNiOGVhNjg0IHB5M2staml0Cis3OTg2NiA5YmE4YzZlNTJmYTBkZGZiN2Y0M2FiMmY4MDAzZGMyMzkxMTAzZjQ2IGxlZ2FjeS10cnVuaworNzk4NjcgYmUwNDRiOGMzNDNhMzVmNTkzNTYxODM2NTkzMjgyYjhkMWEzOTdhOSBsZWdhY3ktdHJ1bmsKKzc5ODY4IGJhNWVjNzU2MDkzMzM3ZTMxMTQ0YmIyMWMxYWNmNmMwNmVmMTUzZTEgcHkzaworNzk4NjkgZWVjMmRiMDlhNmMxMjM5MWYzYjI1ZTI5OTU0NGE0N2M1MDc0ZGM2MCByZWxlYXNlMjYtbWFpbnQKKzc5ODcwIDgxZDkwY2VlZTNiZGZhN2ZkNWM2ZDIxNTk4YjdlZTg1OWMzMTg3NGYgcmVsZWFzZTMxLW1haW50Cis3OTg3MSA4OTJkYjE4Yzc4MTU0ODIwYjQxZjAwZGIwY2Q0MDU1NDY2OWJlZjQ2IGxlZ2FjeS10cnVuaworNzk4NzIgMWE2ZjNkMzZiYmQ5NjFiMDQ2NDk2NzEzZjdlNTY5MGFhODg4YTU0NiByZWxlYXNlMjYtbWFpbnQKKzc5ODczIDgyYWYxMTNlMDIwYjk3YWY3NzQ1MGQ4MWI5ODU0YTY3NzQ2NTU3NzEgcHkzaworNzk4NzQgZTNjZjk3N2UyZTY0NjdlNTlkZWUyMTdjNzU5ZTBiNzlhMjVhNzczMiByZWxlYXNlMzEtbWFpbnQKKzc5ODc1IDhkOGY3ZTA4MmVmNmE4NGNlMTIwNDA4NzA3YThjNjc2NGU0ZDA4OWIgbGVnYWN5LXRydW5rCis3OTg3NiA5Y2U1MzE2MWMzYTlkZGRhZjIzMjBiZjRhNWM3Y2E5M2RhOTFhODk1IGxlZ2FjeS10cnVuaworNzk4NzcgZmI2Y2Q4YWQ4ZjY5ZTZiMGEwMWY2ZTEzZTc1OTg0ZmE2YmI2ZTQ3ZSBsZWdhY3ktdHJ1bmsKKzc5ODc4IGMwOTU3ZGFkYTVjMjdkZjYyZjQzZmJlOGEwNzQ5ZDdhN2YyZWU0ZDAgbGVnYWN5LXRydW5rCis3OTg3OSBkNzk1OTliMjFlODExNWNmOTY3YTMyZTkzNjFlMGZiZDZkMGNkMmVmIGxlZ2FjeS10cnVuaworNzk4ODAgYzllNGUxMmU5Y2I2ZTA2ZDU3M2Q5ZTc2ZTQ4OTUyMmE2ZDA2ODgwNCBsZWdhY3ktdHJ1bmsKKzc5ODgxIGYzNjlkYjBkNTg0NTY1OTQyNTdjMzMwMzgwMTI0NjdhYmU3YTBhODAgcHkzaworNzk4ODIgMTBmMWU2M2IyYjM3NDgzODEwYzU0MTk2OWM5MWE5NzBmNTUyNTU0YyBweTNrCis3OTg4MyBiNjE5YWJjZTAyNjk3NzZiMWEzMmQwNmY2Y2U5N2I1NGYwNzZiOTJiIHJlbGVhc2UyNi1tYWludAorNzk4ODQgODVlZDc0MGJlMzIzZDcxZmJjOTBmMWVlZThjMzEzMmViNzk2OTQ0YyBweTNrCis3OTg4NSBkMGE3NGI2NTA1ZDNjN2RlNTA5OWE2OTUyNTU0OGViM2IwYjE3MThhIGxlZ2FjeS10cnVuaworNzk4ODYgMWM5YmVmZGU4Mzg1ZTgzNzgxZDc1N2UyMzVkMmE1YTUyY2QzOTQ0ZiBweTNrCis3OTg4NyA3ZTU1YjIxYzY2NThiNWUzYTA4NDQxNjFhNmVjMGNiYTNlYzJlZWM4IHJlbGVhc2UyNi1tYWludAorNzk4ODggZGRiNzMyNDM5NjdiYjJhYzQ4YzhmODdlMmYxMDdmMDA0ZTU4MzAyZSBsZWdhY3ktdHJ1bmsKKzc5ODg5IGU4YWE5YTdkYWYwMzI4NWEyNjgzYzliYzk2OTI2MTI4YzE3NjdkZWYgcmVsZWFzZTMxLW1haW50Cis3OTg5MCAyMGRhZDIwMDU4ZTQyOTc4NTkwYWI3YWU1ODNjZTBkNTBkOWVlM2FjIGxlZ2FjeS10cnVuaworNzk4OTEgYThlOTBjZWNjNjllMTU4MjdhOWM1Mzg2NTZjZjk2ZDc2MWMwNjk0MSByZWxlYXNlMzEtbWFpbnQKKzc5ODkyIGMzMWM0M2Q2YWQ3OTI5ODllMWQzYzkzYTMxODVjMDNhZmY3N2ZiNjUgbGVnYWN5LXRydW5rCis3OTg5NCA3YjAwNDU0YmJmZTBhNjE2MGI5NmE4MGVlMDQyOTRmY2JiMzBkOWQwIGxlZ2FjeS10cnVuaworNzk4OTUgMjVjM2IzYWJmM2U3YzhiNTNkOTU4MGEzOGM5Nzc1OWI3MmRhZjBkNyBsZWdhY3ktdHJ1bmsKKzc5ODk2IGNiMGI4NDAwZTdjNGY5Y2M1OTYzZGVkZjY3ZWE2MDQ0NTUzYmQ3ZjAgbGVnYWN5LXRydW5rCis3OTg5NyAzOGIyNDI0Zjg1ZThhYzBkODNkMzA5MWRjZmJjNjlkNWRlZTJlODA1IHJlbGVhc2UyNi1tYWludAorNzk4OTggYTM5YmYzOGYyZTBjMTc3NTg2OTM2ZjJhZWJiNTM3NzViZmE4NmFjZCBsZWdhY3ktdHJ1bmsKKzc5ODk5IDJlOGQyZDdjNDNjMGI1OGVjZmI4NjhkYzM3NDM1YmM3ZWQyNTE5M2UgbGVnYWN5LXRydW5rCis3OTkwMCA3M2U1ZTNlYWRkODkzZTAwOTg1ZmY4Y2IwNzkxOGI5N2Y2NTBhNzE2IGxlZ2FjeS10cnVuaworNzk5MDEgYWMwNzhhOGMzZTFhZjA5ZDNlZWFkY2M5MWY0MDA4Y2NjZTM0NDYxMiBweTNrCis3OTkwMiA3NjYwYzUzZDU3MTlmZTczNGVlM2Y5ZTMxNTk1MTdiM2MxNTFkMDIyIGxlZ2FjeS10cnVuaworNzk5MDMgODIyN2I2NGU4ZDc4OGUyMmQ4Y2FiMThhMTg4ZjQxZDRmMjZkMmE5YSBsZWdhY3ktdHJ1bmsKKzc5OTA0IGI4OTk4MTI4ZGUwOGI1NGYxNmM1OTcxNmIwOWU0Yzk3NzZjNjI4MWUgcHkzay1jZGVjaW1hbAorNzk5MDUgZTI0NDRmMjg3OWI0MzViNzg3YjMwNDg0NjBlNzQ0MmYyZmU3N2I0ZCBweTNrLWNkZWNpbWFsCis3OTkwNiA4ZTVjNzFjNzZlOGZhMTJmMjkyZWFiYThjNDliZDg2ZGVhOGNlOTdmIHB5M2sKKzc5OTA3IDZmMTk1OWY2NmQ2OTBhMzczMWMxYTg3YmNjOGE2MzE0MDE5NThhYWMgbGVnYWN5LXRydW5rCis3OTkwOCAyNGNlNGEwMDg5YmUzMjljMWNmOTlmNTNiYjVjZDMwY2FjMzcwMjcyIGxlZ2FjeS10cnVuaworNzk5MDkgN2NiZmYwYjFlYjVkMTg3YTYyYjIyMjVkYjM0OGNiNmJkNDliNzM0MSBweTNrLWNkZWNpbWFsCis3OTkxMCBhMTYyOGJkOTdiYjY4NTRmOTM1YTQyYmY4MmQyZjkzNjI0MWZhNzM0IGxlZ2FjeS10cnVuaworNzk5MTIgYTc5MmI5Y2IwZDdhYWJhMWRkZTAwMTQ3M2RlNjlhYmM5ZDFlNDI3OSBweTNrCis3OTkxMyAyNGQ3ZjU1NDAwZDNhMWFiOTQ4MDhmZjg1NGZhNTllMWU5ZWM5YTdhIHJlbGVhc2UyNi1tYWludAorNzk5MTQgODM3ZjNiYjE1NzVmYjg4ZmNkMTk4ZTQ3YTU2MGVlMTU3MzdkYTE0ZCByZWxlYXNlMzEtbWFpbnQKKzc5OTE1IDQ5OTE5YjMxZmYyMDA3NjZjZjI5NmEwNThlODc4MTEyMjg3ODY3ZjcgbGVnYWN5LXRydW5rCis3OTkxOCAzNWE5ZGEwMzk2NjMwMzFlMGVlMjU3Y2ExMWM5Zjc5YWQ4NzRmMmM2IGxlZ2FjeS10cnVuaworNzk5MTkgYTVlZDAzNzczZTRkZWI3NWNlYzdhZDVkOWM3N2UyOTZlNzA1M2M3OCByZWxlYXNlMjYtbWFpbnQKKzc5OTIwIGE1YjdkY2I5YWY4ZmEyODU3ZDI5ZDc3ZTY5YWFkZDIzNmM5ZGNiOGYgbGVnYWN5LXRydW5rCis3OTkyMSAzZWMxOTMxZmQyNTY0YjU5ODg0Y2I3ZWY1YmI5NjRkMTU3NGZjOThhIHJlbGVhc2UzMS1tYWludAorNzk5MjIgNDY0ZjY2OTYyMGZhZDY1MTc1MjgzNGUzYWU1YWQzYjczMWU0MmY4NiBweTNrCis3OTkyMyA1ZTAzOGZkMmMxNDMyODVmYjQ4ZjhiZGZiN2FkODU5ZmNlMDZhYmQxIGxlZ2FjeS10cnVuaworNzk5MjQgYzAwYjA3MThmZDUzM2E3MjBlOTFiNjBiNTE3NjA2MGViYzY3Y2E0NyBsZWdhY3ktdHJ1bmsKKzc5OTI1IDdhNGQwMjZiNjM5MDAyNDM0ZjViZjk5NTU2YzY3ZDgzMjkwM2E0YTYgbGVnYWN5LXRydW5rCis3OTkyNiBlZDI2MTYzMDcwZjU4YzFlZTg3YzQzNDFmYzdiYTVkN2RlYmVlMDhlIGxlZ2FjeS10cnVuaworNzk5MjcgM2FlNzA3OGQ0Mjc4YjJlN2U1ZGI4N2NmZDQ5MGNiZGE2ZDg4MTIzMSBsZWdhY3ktdHJ1bmsKKzc5OTI4IDYxNTUwYTEzMDJiMDdhNzMxNDM2YTg0YjJkODZlYjJiYWIzYjJmYjAgbGVnYWN5LXRydW5rCis3OTkyOSA0Y2MxNzU4ZGNkZjc4YzI3MmY2OTlkMWVlNDkyNmVhZjUyMzY4ZjZmIGxlZ2FjeS10cnVuaworNzk5MzAgMmJhZjFjZWU3MWYyYjY3MDg0YWJjZTE3NWQ2NmYwNWQ5NWY5ZGEwNSBsZWdhY3ktdHJ1bmsKKzc5OTMxIDgwNTUxMjMyOWM3NTM0YzQzNGZhZTAzYTA4Nzc2ZGE1ZjRlMDY4MzggcHkzaworNzk5MzIgNTVmZDRlOTg3YjIwZTA3MGIyYTIyOWRmOWIwMmYwNTgxYWFiZWJiOSBsZWdhY3ktdHJ1bmsKKzc5OTMzIDhjNmU0YjdhZDE1OGJlYTI5ODc3MjdkZWJiOWRhMWVlMmI3ODdmNjkgcHkzaworNzk5MzQgMDU5MmU3ODQxNzc3NzRmOTk5ZmJkYWFjZjFiNDFmNGQ2OGQxM2MxMyBsZWdhY3ktdHJ1bmsKKzc5OTM1IDk3YjU4OGVlNjJmMGZiNDYzZDY1ZmJlZGQxNTdmZjJkOTU2ZTc5NzAgbGVnYWN5LXRydW5rCis3OTkzNiBmMzRjYjUwMWY4ZjdlMzI2MzRjNzkzMTQxZmFkYWM0YTgwYTU3YWM3IGxlZ2FjeS10cnVuaworNzk5MzcgNTcwZDlhYzg0ZDc3N2E5OTRkZmUxZGZlZTA4Y2I5MTVkOTliNjc3YyBsZWdhY3ktdHJ1bmsKKzc5OTM4IDczMDFkYTQ5MWQ1YmI1YjQ2YmM4NTA4ZDlhM2FjZjFhZmExYTE0NzUgbGVnYWN5LXRydW5rCis3OTkzOSAzNDgwOWNmZDg2MDE2ODUyZWI5OWVjNjc4MzMwNWExN2EwODVlZjlmIGxlZ2FjeS10cnVuaworNzk5NDAgNWY4NzgyYWEwZjhjMjhhMzRiYzdiMDA5OGFkNmFlYjkwMzI0ZjM0NiByZWxlYXNlMjYtbWFpbnQKKzc5OTQxIDQ0MTY4MjI0YWM2MTA4MDdhYWUyODgzNmU4NGNkNGJlZmUxZmFlNGUgbGVnYWN5LXRydW5rCis3OTk0MiA4Zjg5ZWY5MDkwMDliNTFhNTQ2ODUzMDFkZGE1N2NhNDZiMDEzZTViIGxlZ2FjeS10cnVuaworNzk5NDMgZDAwN2Y1ZTVlMWYwMTlhMjgwMWMxNTYyMWYzNmZkMDk3ZGM2N2UxYSBsZWdhY3ktdHJ1bmsKKzc5OTQ0IGNmN2M5YmEyZGU2ZTk0MzRiZDVjNjk0YmFiNDdmMDM3MjczYzAxNDQgbGVnYWN5LXRydW5rCis3OTk0NSA0ZmVjMmU1ZTMzOThhY2JkOTQ0ODdjOWMxMzdjZDcwNDJmZThkOTViIGxlZ2FjeS10cnVuaworNzk5NDYgZTBlMzU1YWU5OWIyNjI2ZWM2MDM5Mjg1ZmEyYWQ0ZmE0N2I4NmQwYSBweTNrCis3OTk0NyAwMDYxZTllMzI5YzA1NmEwMDM0N2RlZDliZjM0MmM2ZTg3ODgxYTU3IGxlZ2FjeS10cnVuaworNzk5NDggNzkxMjM2NmI0OGQ4YjA2ZDE3ZjhjNDVjNDkzYjgwN2M3NGI2NjVkMyBweTNrCis3OTk0OSA5OTI2ZTEyYmY0ODUwNjRkMWViYWM4NDVmOWI2NzM3NzM3ZTU0YmMzIGxlZ2FjeS10cnVuaworNzk5NTAgZTE1OTNlMWU2NTJlZWM4N2I1NTQ1NDNhNjE2YzNiYTdjZTU1ZjFlOSByZWxlYXNlMjYtbWFpbnQKKzc5OTUxIDY5YzM3MjAzZmZjMWQ3OTA2MTc1OGM4MWNmMmJiNDAxOGFhNTJkNTYgbGVnYWN5LXRydW5rCis3OTk1MiBmMjQ0ZmVlOTg5YTk4MWNlYmQwYWRkZGEyMWMzNTBiMTdlZmI5NzZhIGxlZ2FjeS10cnVuaworNzk5NTMgODRhYWQ2NzA0NjBlNTA3NzlkZTIxMDk3NGQyODYzZWI2NDk2MTY3OCBweTNrCis3OTk1NCA5MDI4MDMzZTZmY2MzZDQ4MjcxMGMzMTUwMjFhMGMxNzM0N2E2ZTkzIGxlZ2FjeS10cnVuaworNzk5NTUgZjQ3MDU3NjM3ODdiNTg5ZDBjZWJmNjkwYWIzYTM1YThmMWRmNjgzMiBweTNrCis3OTk1NiBhNjVmOTFiYmMyZmIyOTViOWFmMDlkZWUwNDc5ODdkYmQ0OWI3YjE3IHB5M2sKKzc5OTU3IDMwYzgwMDIyODc0ZTdjOTA1NGU0MzAxMDFmMWFkYjdjYmUxMzgzNjIgcHkzaworNzk5NTggNjZhZDI2N2E3M2JmNjJhMGM5MWE0NzY3MzEwOTU4YWI1NTEzNjk4ZCBweTNrCis3OTk1OSBkMzk5NTUyMTZjMDdhMmNmZDllZjQyYWNlNzRlYzkxMzg1YzNhZDRhIHJlbGVhc2UyNi1tYWludAorNzk5NjAgYzJlMWRlM2YxMWZjMWIyNzZhYmQyMjU3NTQ5MTgzNTMzYWE3ODMwYyBweTNrCis3OTk2MSAwMjdkNTc1YzY4OWMxMDIwOWI0MmZhYTBiYjdhMjFhMmViMjUyMDkzIHJlbGVhc2UzMS1tYWludAorNzk5NjIgYjRhMTU1ZTRkMzEyOTJkYzBhMjhlZjE4ZGE4NDIxMzlkY2I1Yjk2MiBsZWdhY3ktdHJ1bmsKKzc5OTYzIDhlZDk5NmRjMGU1MjA5YmFhNmNlNTZkYjE4MzkwODZkMDBhZWE1ZWUgbGVnYWN5LXRydW5rCis3OTk2NCA5ZjljYjFjNTdmMmE3ZGNkMzcxYmE4NzMyYjdiZDNlYWRmMDhjNTVkIHB5M2sKKzc5OTY1IGM0MTQ3ODQ3M2VhZWFlNTJmZDhlOTQ2NGE3NDE0YTJkMmRmZTRiMWQgcHkzaworNzk5NjYgYTg0ZGRkOGRlOWQxZGJhMDJiM2IxYzkzNDVjNzcyMTk2ZTQ5OGUwNiBweTNrCis3OTk2NyBkZDQzZTBjOTMxNzVjYTY0YjFlYmIwZGFkNzAwMTA2OTJjODk2ZTExIHB5M2sKKzc5OTY4IDRhZDk1MmE2YWY5NTcxZDE0N2QwYWRjMGU2ZjMxNjg2YWY1ODZjYjUgcHkzaworNzk5NjkgYjRmNjBkZjMxYjE0MTJlZWYzNjE0OWVlNGRjNTZiZjc2ZjhkMTI5YiBweTNrCis3OTk3MCBlMzUxNTc5MTM3ZjNlNDI0YzBiNzBhODEzZjVkNGVhMmQ4MTNkYjNlIHB5M2sKKzc5OTcxIGZkM2NhZWE5MmNkOWY5MWVjOGRiYTQ3YTRmNzAxN2FjODVjOTIwNjAgcHkzaworNzk5NzIgY2I2ZjJjODlmNDM3MmNjMzY2ZDM2ZDc2ODE2OTJlMmFlNzg4ZTc2NyBweTNrCis3OTk3MyAwOTNlMmI3MTU2NDU3NDkxOTE3N2RkYThkOThmNWUxZjlhNTJmOTExIHB5M2sKKzc5OTc0IGQ2NTQzNzQ5MjQyNjE5NzA4MjI0OTg0NWZmOGYxMzkxMGJkODg4MzAgcHkzaworNzk5NzUgZjVjNGZjMGQzMzczMzZkYzM2YTU0MmRmZTExNDc3NzY4YTFlNGUwMCBweTNrCis3OTk3NiAxYTYyYmVlZDhkMTVlZjhkYWVmNDU5ZmY4NzE1ZTEyNmQ3ZGIwZTIyIHB5M2sKKzc5OTc3IDNiNjg4ZGExOGY1M2UzOTUxYTFjNmRlZTllMGFlZmYzNDQ4NjY4OGYgbGVnYWN5LXRydW5rCis3OTk3OCA3NWY5MjA5ZjNmYjk5MGY5OTA3OTkyZjg0YmIzM2U5OGQ0NGYxMmUzIHB5M2sKKzc5OTc5IGFjMDYxZWYxNDg3ZTQ3YjY5N2IzYmEyMjM5NDM5ODZmZDdmYzQ0YTcgbGVnYWN5LXRydW5rCis3OTk4MCA5ZGUyNjFjZjViYzI5OTZjNjk1MmQ2ZmE4MzhmNjJmZDY4Yjg3YmIxIHB5M2sKKzc5OTgxIGFmYmJjOTgzZTBiZDA0MTI5NTRhNWM1YmMzYjI5MDZiYjE5MWNjZDEgcHkzaworNzk5ODIgZDAzZjVhY2I0Yjg3ZWY2ZTVmMTgzZGY1ODRlNjE1MzlhZjYyYmE3ZSBsZWdhY3ktdHJ1bmsKKzc5OTgzIDYxMGI2ODVlMDUyNWJkNmM0MTc0MGZkMDg5NjdmYTkxYjFlNGJjZWMgcHkzaworNzk5ODQgYTI5MjkxY2U0ZmNlM2MxZDg0MmRmMzJkODlkMDFmNjUzMjI3MzBhNSByZWxlYXNlMjYtbWFpbnQKKzc5OTg1IGVkZWIwN2M0MTFhZjI5NDc1YzBmNDUyMjIwM2ViYTg1ZmEzM2Y5OTggcmVsZWFzZTMxLW1haW50Cis3OTk4NiBlNDc1Yjc3MWRkNGMwZjk4ZDE0ZmMzMTY4MGU2ZjZjMmYyYTdjZGRhIGxlZ2FjeS10cnVuaworNzk5ODcgMmFlNWY2MGUyN2M5OTU2ZGFlZGM2MDExMDJlNDQ0YTRlMWRiNjM4OCBsZWdhY3ktdHJ1bmsKKzc5OTg4IDU2ODBiYTJkYzljMjZlZWNlYjY0NzAzZTRjZjlhMDhhODIwYzMyZjggbGVnYWN5LXRydW5rCis3OTk4OSBiYWUzNzkwM2Y3OTc1ZDY3NzhjYTNjNTI0ZWFiMWZkYjY0OTk5MzUzIHJlbGVhc2UyNi1tYWludAorNzk5OTAgYWQyZmYxYzM2YjFhYzE2Y2U4Zjg0YWE5MjY1MGZiNGNhNWI1OWFhNyBweTNrCis3OTk5MSBkZTUxNTE0MGI1ZmJlNGM0YjBjYmVhOWIzMDg2NDM5YmI3Y2Q1NmY4IHJlbGVhc2UzMS1tYWludAorNzk5OTIgZmVkYjFmOTMyMmRmM2MzZmExMTBhZDc5YzNkNGUzYWEyNmIyNjE1MCBweTNrCis3OTk5MyA4MWQwZWE2ZDJkYTM3YTMzOTFlODE5ZTZmNjdiYzRhOGE4YzJhZjYyIHJlbGVhc2UzMS1tYWludAorNzk5OTQgZTY5NzJmMWM5ZDZkMDE2NzE1YzljNDFiZjhjZTBkZmU5OWY4YzQ1MSBsZWdhY3ktdHJ1bmsKKzc5OTk1IDYzMTQ0ZjE0NTRkMjAwZjkxN2IxMTBmMWVmNGQ4YTBkY2JiM2NkYTUgbGVnYWN5LXRydW5rCis3OTk5NiA0MmU2MDU3Y2YyOGZkN2M5M2UzMTg4ZWYwODQxMzFkZGRhNWRhNGQ4IHB5M2sKKzc5OTk3IDg2MGZjZWRhMmQ4OTQwYjU0MDc3NjE4OGRlZWM0ZWU3OWJhM2M0ODAgcHkzaworNzk5OTggNGYxMmRjYjljZTZmMTE3N2Q5N2ZkMmQyN2YyODMxMjM4YjZlN2YwNyByZWxlYXNlMzEtbWFpbnQKKzc5OTk5IDgxMDU5MzkwODUyNzc3NDA0NzAwZDUyNTU4MzM0YjAzNjZhMDg3NWUgcHkzaworODAwMDAgOThhMTVmYzM4YjhiZjMxZTdmNzhmN2Q3ZmEzN2NlYTllOTdjZjBjYSBsZWdhY3ktdHJ1bmsKKzgwMDAxIDExNjNjZDhjMzk1NmRiMzIzMWU5YTEzNGUwOTE2MmUzYzQ5YjM4YTIgcmVsZWFzZTI2LW1haW50Cis4MDAwMiA5MWViY2ZmNWJiMjRjMGM4YjQ0NzkzODVkZjYxM2ZjMDVmOWZlMmZlIHB5M2sKKzgwMDAzIDU1NzY2NTRlNGI5MWE1NWM5Y2Y5MDMwMDg1ODBkNmE5ZDFiZmJiOGQgcmVsZWFzZTMxLW1haW50Cis4MDAwNCA3MTNmMWY2YmYzMzliZWY3ZmYzNDRkMWExYWE2NTIyYTc3Yjc5YTE3IGxlZ2FjeS10cnVuaworODAwMDUgOWQxMDM5MDQ4NDk4YTg4ZWJlMTU1NzYwMmQwNTYyYWExMzc2ZjJiZiByZWxlYXNlMjYtbWFpbnQKKzgwMDA2IGI4MWQ4M2E4OTlmMzY3OWZkYWQ3ODU1Y2UxNjA3NmIwYjU1ZDkxMzggcHkzaworODAwMDcgNTdiYmZjZThiMjc4ODhmNzY1NzI4NDliYWJlZGU5NjJlYjlkNTg3OSByZWxlYXNlMzEtbWFpbnQKKzgwMDA4IGEyZjViM2IxOWViMjdlZTkxZjYwNTMwYmIwNzM1MzBjOWE2M2M4NDkgcHkzaworODAwMDkgMTk1MDcwZTg1Y2UxNTIwN2U3NjEyMGU4NTNhMDBkZjE3ODA2NDJlNSBsZWdhY3ktdHJ1bmsKKzgwMDEwIGYxYzAzNmRlMTliN2QxNjU1MzE4Zjk2YTI2ZTE3MGI0NmUxYjIxNzUgcHkzaworODAwMTEgODk3NTJjMDNmMzQyY2U2NDcxZGI2MTM1OGNlOWI5NWQxNzhkZGE0ZSByZWxlYXNlMjYtbWFpbnQKKzgwMDEyIDc3YzQ5ZTczNTI0OTc5YWFkNDBjZTAzMTAyOTc0MTVjNDliMjNkNDIgcmVsZWFzZTMxLW1haW50Cis4MDAxMyBkNDUwN2Y2MTUzMWRjYTRhODY1M2Q4MmViZGU0ZGI0NWJmYTNmZGY3IGxlZ2FjeS10cnVuaworODAwMTQgYjUzNmE4YTk2ZmE5YTJkNzcyMWQ1MWMyZDVjMWRlNjQwZDU4OGQ0OCBsZWdhY3ktdHJ1bmsKKzgwMDE1IDA5MTU4ODk0YTNiMDVmMmIzZWVlZTMwMjQ5YWZjODMwMGE2YTMyODIgbGVnYWN5LXRydW5rCis4MDAxNiBkNDg2NzA1ODkyYWI2ZTFiNjJiYzBlY2YwOTIzNTA2NDIwMWI0NWViIHB5M2sKKzgwMDE3IDBhMWNhMGQ3NDRhNDI2OWM1MzZlYzg2MzAzZWRmOGQzNmJiYmM1ZjggbGVnYWN5LXRydW5rCis4MDAxOSAxYTkwZmUzN2I1OWQ3MzZjMzRjOTkyZjk0OWJhZjIzZjk1ZDJlOWYzIHB5M2sKKzgwMDIwIDYwYTdlNThhMTBkYWRiZjRlNjViOTdlYjQzMThhNzg0YzY1OTk5NzQgcHkzaworODAwMjEgNTIzNzcyMzVkMDU1MjExMGNmZDMwNDJhMTQ2NGM2MDJhNzY2MTVjYiByZWxlYXNlMzEtbWFpbnQKKzgwMDIyIDYzYjU4MTI0YTU1NGEzNmYxYTdjM2MwM2ZkNTZkNDA0N2E1MWRhYTggbGVnYWN5LXRydW5rCis4MDAyMyA3YTM5MGViNTBkZjEzNDMyMzJiNjc1ZjBiMDdiNzY5MjlkMjZkMGI0IHB5M2sKKzgwMDI0IDY1MWVkZmQyZGIzODg4MmY4NWQ4ODkwZDU4Y2I5MDRkZTVhN2JmOWYgbGVnYWN5LXRydW5rCis4MDAyNiA1ZThlNmU3ZWVkYjIxNGM1MTIxZjc5OWE3MGYwOTU0YWI3MWMwOTI1IGxlZ2FjeS10cnVuaworODAwMjcgYThiZWI2MTQ5MjJmOTAyYzk2NDkzODhlZTYwNDQ2NmYwZWFiMjM4ZiBweTNrCis4MDAyOCAyNTE3MzIwOTI2MDEzNTRmMmZjOWUyYWExMTQ0N2JiZDllYjViNzk3IHJlbGVhc2UzMS1tYWludAorODAwMjkgMDE1ZThmN2Y1MjY0ZjRkMTExNDJkMjZkNTdhMDYyZmIyZDBlZjQzZiByZWxlYXNlMjYtbWFpbnQKKzgwMDMwIDQ3YTU3ZGY2OTg5NmZjZjBmNTc3OGQ0MzRlY2ZhOGUyZWQxYWQ0MTYgbGVnYWN5LXRydW5rCis4MDAzMSA3OTk0MjY5YWQzYTFmYTc4ZGE0OWM2MDA1M2Q1NzcxNTdiOGIyNGU2IHB5M2sKKzgwMDMyIGI4ZjI5N2NkZmFkZWYxZmRlNGU2YzgwOTFlY2I5ZGVhOGY3MjI2ZGMgcmVsZWFzZTMxLW1haW50Cis4MDAzMyBkZjJlOWU4ZDQyOGVjZmRiMzlkZTNiYWVhZmU2NjAzYzM0MzJkNjRmIHB5M2staXNzdWU0OTcwCis4MDAzNCBiOTJiNTdmZmIzMWUxNjhlZjUyMTdhZTE5ZmFkMjQyNTY1OGFkOTA3IHB5M2staXNzdWU0OTcwCis4MDAzNSA3Njk4ZDFhMTBiMDFjMDIzY2RlNjQ0ZjI5NzcyY2RiZTNmMzA2ZDA2IGxlZ2FjeS10cnVuaworODAwMzYgN2JjZWU3MTcwZDdiYzM3MjBkOTM3OTQyY2EwMzdjMDFkZmM4MGE1MSBweTNrCis4MDAzNyA2ZmZlNmY4Y2EwOTE2NDYzODQyOWFiM2ZlMmUxNDQwNzM5ZWFmMzc3IHB5M2staXNzdWU0OTcwCis4MDAzOCBhNWM4ODZlYTRmNmYzMTljYzM4M2Q4ZDlkNzA2MTkyZGJmYTVmMWI2IHJlbGVhc2UyNi1tYWludAorODAwMzkgZDZkZWUzYWQyNTliNTZiZWRjN2U4MjNkYTAwM2ZlMjk2Y2MyMTZiMSByZWxlYXNlMzEtbWFpbnQKKzgwMDQwIGQ0ZTIxMDMyM2Y3MTM3NDAyNjZjODY1ZmJlYzc2YTM3MzAxYjczNjkgcHkzaworODAwNDEgMzQxYTZiZGNjZDJlNzJhMzg4Y2U3NmI1ZjRkMmFlY2VmOTdjYjMxMiByZWxlYXNlMzEtbWFpbnQKKzgwMDQyIGE5MjEzZjkxYWIxNjk4MThiN2Y5NWQxYTg5MzE4MjMxOGMxZDQzMzEgcHkzay1pc3N1ZTQ5NzAKKzgwMDQzIDA4MjRmMjY4NjFiYWJjM2YyMTJhOWQzNmIyNzEzMDYxZTU4OWYyZGYgcHkzay1pc3N1ZTQ5NzAKKzgwMDQ0IDcwMmI2Yzk5ZTc1N2M3MTA2NDFkNDg4MDUwM2UzZDIxZTYxYzg3NTAgcHkzaworODAwNDUgN2UwY2U1ZjYzYTNiY2E0OWFkMzExZmU4MTExMDM1YWNlNmM4NzljNyBweTNrLWlzc3VlNDk3MAorODAwNDYgYjRjNjUzNDMyY2I2NzRjNjY5MjI2ZjczNWFkMDk0ZDUxYzQ3NDRhNSByZWxlYXNlMzEtbWFpbnQKKzgwMDQ3IDFkZDRlZmRlZmZmMTU4NzYzYjU3NmE3NTRjMmNiZGQzZmM3MTk3ZGQgcHkzay1pc3N1ZTQ5NzAKKzgwMDQ4IGI5NWJhMGNjMWI3ZTUxMTkzZThhZWUyODRhNWEzN2FkMGRiNmI2NzQgcHkzay1pc3N1ZTQ5NzAKKzgwMDQ5IDVjOTlmZGI3ZGE3Mzc1ZDMwNjA5MjNmYjFlNGJlYTAxNWQ0MGRkNTMgcHkzay1pc3N1ZTQ5NzAKKzgwMDUwIGNiODc0NWZhNjU4ODQyOTFkMjBlNTU4ZmYwZDJhNzMzNDdmMTdlOTkgcHkzay1pc3N1ZTQ5NzAKKzgwMDUxIDM2YjAwNWJjMDg4ZmY1MmFhYWFjZmU2YzE5N2JjMTYxOGU4NjRmYWEgcHkzay1pc3N1ZTQ5NzAKKzgwMDUyIGYxYTJmM2I2YmZjNjQ4NTNmNzFiYmM4MjNlYTNmY2ZmMDgyNzZmMzMgcHkzay1pc3N1ZTQ5NzAKKzgwMDU0IDViNmZlN2QzNTk4YmNlMjJhYzUxMmM4NDMzZjRlZGNjNGJkNThkNmQgcHkzay1pc3N1ZTQ5NzAKKzgwMDU1IGU5ODRmOWUxNTY2NmNlNmQzMmVlYTEzYzExMDNmMGU5MjVkNTIxZjYgcHkzay1pc3N1ZTQ5NzAKKzgwMDU2IDUxN2NjNGQ1OWUxMmUyNDE4NThiOTE5NmVmYjZiZjQyZmE1NTY0NjYgcHkzay1pc3N1ZTQ5NzAKKzgwMDU3IDk5ZTljOGQ2OTBhYjk0ODA3MTNjYTc1ZGIwOWQ0MmZkNjg4NTFjOTUgcHkzay1pc3N1ZTQ5NzAKKzgwMDU4IDI4NTUzNTY0ZjFjNjZhNDYwNzJiZTdmMDdlNzRkYjUxNjdlZTkwYTUgcHkzay1pc3N1ZTQ5NzAKKzgwMDU5IGZkN2ExM2YwZWJiZGRjNDBhODZiODMwYThmZTQzMjVmNjNlZmM0NjMgcHkzay1pc3N1ZTQ5NzAKKzgwMDYwIDg2OTNmYzA2YWM4ZWM4ZTFkY2ZiMjg1NmI3YzBjNWJkNjI1OTQzNDggbGVnYWN5LXRydW5rCis4MDA2MSA3MzViZWQ2YzhlMzYxZDg0NzE4ZjFiNmU5NjViYWYzMzI2MWU2Nzg3IHB5M2sKKzgwMDYyIDY0OTNhZTcyNzkxZDM3YmNmMTdjMDJhMzllNDU4MDkyODM1M2NjZGEgbGVnYWN5LXRydW5rCis4MDA2MyA0NTBjNjkyMTA1ODFlOTRjZWQ4OGExYWJhZjlhMmEzZTc3MjM0Y2Q1IHJlbGVhc2UyNi1tYWludAorODAwNjQgNmJiZjA3YTNlMDFiNWMwODI1YThkMTg4YzMyNmVlOTc0NzY5OGZjMiBsZWdhY3ktdHJ1bmsKKzgwMDY1IGJhZTc5NzY1MTYwZDIyMGQ2MTI5NmZlMTY5Mzk3NzMyNDc2MzcyMWMgbGVnYWN5LXRydW5rCis4MDA2NiA2MmQxMTc4NTIwNGY0MDg1NmYyYzNlY2ZmMjhhNWVlNWE3ZDkwZTkyIHB5M2sKKzgwMDY3IDM2NGYxYWMzMjI2NGVmN2Q0NGRhYTUxOTllMDAwMDg1ZDZlMjNjNjkgbGVnYWN5LXRydW5rCis4MDA2OCAyMTI2N2JmMDcyMGUwMTY2MWI3M2UxMGI4MTc0MDlhNmI3ZTZmZWJlIGxlZ2FjeS10cnVuaworODAwNjkgZmE5MzAwZmNiMDA0MDg3ZTI4ZTA3NTM1NGM2YzA1N2RjNGM1ZjcyYiBsZWdhY3ktdHJ1bmsKKzgwMDcwIDYxMDJkODY4NmFhZWRhNzlmNjBkN2EwNjRhMTQ5ZWMzOTY2MDNkZmQgbGVnYWN5LXRydW5rCis4MDA3MSAwMWQxZmQ3NzVkMTZiNTY5ZjJjZmJmMGIxOTY0Yjc2ZDVkZDY1YjJkIHB5M2sKKzgwMDcyIDIyMTYzZDhjYWYzZTMzY2JlNWRhOWNmZjY3ZGQyYmIzNmQyMjJhZDIgcHkzay1pc3N1ZTQ5NzAKKzgwMDczIDkwNjljYTUxZTYxNDgyODM2YTUzNjc4NTMyYzYxM2VjZTE2MDRhMzkgcHkzay1pc3N1ZTQ5NzAKKzgwMDc0IGQ0NDNkODVmNjJjMTc3ZDY1MTE4ZGQ4ODJmNDA5MTQ2NmRmZDJlOWQgcHkzay1pc3N1ZTQ5NzAKKzgwMDc1IGNhMTFjODMwZjVjYzlkYWNkZmQ1OTNhMDBmMTQ0NmZhOGZmNWFlNmMgcHkzaworODAwNzYgYjEyNzZmY2RjM2JkNzUwMjBiMDI0MDUxYjhiMGY2NjU1Y2Y5NmFjZSBweTNrLWlzc3VlNDk3MAorODAwNzggY2RiY2E3YzM0MzFkMjZmMTg1NjhiOGQ3MjJkZDJlZmIxYTE3ZmNlNSBweTNrCis4MDA3OSBkMzUxZTE1ZmVlMjhmMDlkZGQ5NjY4MTA2ZmU5YWVhYmJjZDMwZTdiIHJlbGVhc2UzMS1tYWludAorODAwODAgYjQwNDM2YmNmNGIyYjQ2ZDUzNjNjMTQ5M2RkMTU4ODJhZDlkYmZlMSBsZWdhY3ktdHJ1bmsKKzgwMDgxIGM1YTRkOWQ3MmY5ODIxOTIzNmUyNTkxZTI4NTMxM2UxN2YxMjdkY2EgbGVnYWN5LXRydW5rCis4MDA4MiA3ZTg2ZjQ0MjEyZDY1NWE1NGIyNTRkNzA4ZWU0MjBhNjBjYTFjMDczIGxlZ2FjeS10cnVuaworODAwODMgMTRmMzEwYTZlNDkyODZjN2FlZjk1NzQxYjJjZDlkYzg2YzU3MmYyNSBweTNrCis4MDA4NCA0ODVlMzRlYzFhMWE4Yjk2MzZlYzhlZTRlMjZkOTg4NDQzNGNhODQ0IGxlZ2FjeS10cnVuaworODAwODUgNzY0OTQ2Mzk5MzUyZGYwY2NiNzlhZDdjODJmZjkzYzAyNGZmM2E1ZSBsZWdhY3ktdHJ1bmsKKzgwMDg2IDQyMjk2NjJlZGU4NzJkYmVjMDI3ZDViYzI1NDI5ZGI5YWY3MmI1ZjMgbGVnYWN5LXRydW5rCis4MDA4OCAzYTQ0NzNiZWVhZjUyMzk1ZWRkNTUyYzY3ZGQ5ODMzMjAyYzg5MjBiIGxlZ2FjeS10cnVuaworODAwODkgZjRiZDNiMmNiMDAwZWIzMjU3OWFiMDE0NzQwM2MzNWFkZTdmMjU2ZiBzaWduYWxmZC1pc3N1ZTg0MDcKKzgwMDkwIDVlODUxYjI5ZWQ5NWIxODdkMjQxZjJhMGU4MDQyYWZmNDU2NjEyMzAgc2lnbmFsZmQtaXNzdWU4NDA3Cis4MDA5MSBjMWQxZjAwMGI0MDRlNjUxZGVmZGFiZGI2ZTZkOTc4YzAyZTlhOTU5IHNpZ25hbGZkLWlzc3VlODQwNworODAwOTIgNzNkNzhmZWY5MWQ3MGZhMmZlMjZlYzc5MTMwODY3MmUzZDZhYjA5ZCBweTNrCis4MDA5MyA1ZmE0MDJhNDZmNWE3ZjdlMzYwNjhiNTMyNmNmZjBiZjc2MTk5NjZjIHJlbGVhc2UzMS1tYWludAorODAwOTggMzI0MDE2NzE4NjIxODA4N2Y1MDAzZmQ1MDc3YjE1ZWFhYmQ0MzMyMiBsZWdhY3ktdHJ1bmsKKzgwMTAwIGY5OGJkODVhZWJiMGY1MzcxODc1OGQ1MWU5M2NjY2Y3MmJiZTM5MGYgcHkzay1qaXQKKzgwMTAxIDdiOWUzMjhmNzUzMzIxZDBiOTdmZTc0YmNlYTNlNGE3NjdlMTg5OTIgbGVnYWN5LXRydW5rCis4MDEwMiA1MWI4NTUxNmQ3ZjkzYTgzZDIzYTRiMDg0NGM5MjA4NzA4ZTViMjNkIHB5M2sKKzgwMTAzIDM1YWI1Y2JkN2U3OTBjMDIzZTU4OTI1OTAzYmY1NTY1ZjVmMjEyYjYgcmVsZWFzZTMxLW1haW50Cis4MDEwNCA4MjBiN2UwYTZmMzhiMWI1NDE0Y2UwYjkyZWYxODRmZDQyZDc0NTU5IHJlbGVhc2UzMS1tYWludAorODAxMDUgMTM3YjQyNGUyZjc4NGJkOWRiODQ1NjU1YTcyZDU0MDUwMWMzMDEyMCBweTNrCis4MDEwNiA4MTI5Nzk3NWQyNTNlOWNmMzdiZTRmZmJkMGRiNGRjYWIzZDA2YjU1IHB5M2sKKzgwMTA3IGFmYjI1YzJkMDU2MTk0Y2RmY2VkOGU0ZjBlNDkxMTk0ZWZmY2JhY2QgcmVsZWFzZTMxLW1haW50Cis4MDEwOCAwMDU1MTBhYzA5OTViNmZmYWMyMDgwMDE5NzIxNDAyYWJiNzBkYjZlIHB5M2sKKzgwMTA5IDg3ZDEyMGI5ZWZmMmFlMzZmYjQyYmY2ZWE3NjYxNDEyMjE0ZTc2NmEgcHkzaworODAxMTAgNTQ3ZjMwYTBkNGIxZWQ2NTY4ZTI1ZGVjOTYzZjM2MmVmMzNmYzk3MyByZWxlYXNlMzEtbWFpbnQKKzgwMTExIDRjYmIwZmRlYmY3MzdjYWRiNDBhY2VmOTJlYmIwMmQ3NjcwNTM1NDAgcHkzaworODAxMTIgOTUxNzhlMTdlOTYxMGNkODA0MTM4NmJhMGNjZTgwMjhiYjdmMTRiZiBweTNrCis4MDExMyBiZGFhMjg5ZDlmMTk5ZDhlMWU2Zjk0ZTNmNjM1NzdjODJiMzQ3ZmMxIHJlbGVhc2UzMS1tYWludAorODAxMTQgMDQ0MmU3YTQxOGNlYmZjMzk0N2Q3ZDNmNTk3Y2UxMzhjZDNkMWNmMiBweTNrCis4MDExNSAxMTY0MGMxYTQ2Mjg4YTg2ZTBlNDgwNDMwZDA0NWE2NThjMGY2OGEzIHB5M2sKKzgwMTE2IDE1YjA5Y2NmYWM3Y2ZkZWVmNmM0NWM0YzljNDQ4NGEwYjM0Y2I3NWQgcHkzaworODAxMTcgNjMzNWNmMzQ1YWZhZTgxM2IyYzViMGY1MDQwMjA1NmRiODFjZTIzMiByZWxlYXNlMzEtbWFpbnQKKzgwMTE4IDQ0YTc1MDdmNmRiNTQyN2Y1N2RiOTU1ZWRhMGExNzFhMmI3NjI1ZGIgcmVsZWFzZTMxLW1haW50Cis4MDExOSBjYzEwYTE1Mjc1MjFkMTA2YjhlYTNhOTc5ZDRmYTIzOTcyZWYwZjUwIHJlbGVhc2UzMS1tYWludAorODAxMjAgNDVhZWRjYWU5YzQ3OWMyMDY2NjA0YWRhNjljZTg2NmQ4MzY0NGFlMCBsZWdhY3ktdHJ1bmsKKzgwMTIxIDhhYjViYmFlNWVmZTllODQ5ZjA4ODVjYzE0MzQxZjNkNjFiMzI3NDUgbGVnYWN5LXRydW5rCis4MDEyMiA4MWJiZDU2NzBlYzM5ZWM3MjcyMWNlZjUzMGJiZGQ2ZmE1ZDllMTc5IHB5M2sKKzgwMTIzIDYzYjgxNWNjNmY0YjFmZDliMDE4ZTJiOTIyYWVlMDNiZGQ1NWY1ZDYgbGVnYWN5LXRydW5rCis4MDEyNCAzNjk2ZDE3YTEwYjNhNDUyODFlZDBhZDkyMDJjNzc5ZTY2MWY0MTJmIGxlZ2FjeS10cnVuaworODAxMjUgYTc0OTFkNDdkNDU0NmZkYzJiZjhlMDZlZjQzYmRmMDk4OWNhMjE4MiBweTNrCis4MDEyNiBjZTYyNGNjYTIwMmFlOTE0ZjI4ODlmNzkzOWJiNGNmODJkYWVhM2NiIGxlZ2FjeS10cnVuaworODAxMjcgNDYwYTk4NGE5ZWQ1NzA3ZDJmYTM0N2E3YmI2NGQ1NDk0NjI3ODdhYSByZWxlYXNlMjYtbWFpbnQKKzgwMTI4IDc3MzQwOGNhNWVlNjMzZmZkYWMwYzlmZGYwMDFiYjRlYjdlZGFhNGUgcHkzaworODAxMjkgNzg0YTAyMjY2NGUzYTJjMTliMjUzNjc5ZDQzNjIxOWQ3NDdiZDJiNiBsZWdhY3ktdHJ1bmsKKzgwMTMwIDBhMDFhM2VhMTQwYTk3ZTA0ODJkYTNmOGJmNGY4Mzg3NWZmYWNiODMgcHkzaworODAxMzEgNjhmZDcwYTllNzdhZmRjZTdlZTljNjczMjA2ZjI0MWE2ZTQyMjllNyByZWxlYXNlMjYtbWFpbnQKKzgwMTMzIDVlMWRiYzNhZTc2Nzk3Yjc3NzYwODcwNTFiNzNjMzhmNTM3MjgxM2YgcmVsZWFzZTMxLW1haW50Cis4MDEzNCAxYTMzMDRjZTlhMmU3YWZhNmFkZTNkY2UwYTBkMTlhYjM3ZTAyNGQxIHJlbGVhc2UzMS1tYWludAorODAxMzUgZGM3NjViY2EyNGFkZDg0ZmI1ZGU1OTUwMTFlY2Y5Y2U4N2NhOWFjNiBweTNrCis4MDEzNiBlNTM5MGZlZGNiNmIxNjJjM2RkY2FlMjE5ZjVjNzUwMzIxNjRhNGMyIHJlbGVhc2UzMS1tYWludAorODAxMzcgN2I2OWU2MzBkMjM3NzkwYjU2ODVmOWYyMDgzMDRmOGY0Nzk3NDI2MyBweTNrCis4MDEzOCBjNTMyYWZiMGZhODkyODAyZTEzZmZjZmZlOWI1NDNkNGU0ODE2OWUxIHB5M2sKKzgwMTQwIDA0NmY5N2VkNTY3OTRlZmRlNzUyZDhkYjgzYTI3NTg0YWU0NmIzOGEgcHkzaworODAxNDEgMGUzNmNjMGQ2YWIwMjAzMzY5OTIxMzk1YWExMTYyZTIyZDZlZWRmYiBweTNrCis4MDE0MiA3MzRkZDJlZGExY2M0Y2E0YmE2MDEzYWY1ZjY5NjRhNzVhYzgzZGQ3IHB5M2staml0Cis4MDE0MyA3MzIxYzdkNjQyYWRkYTk5NTgzMzI3Yzc2YjBlNDZmNzljZDJkMWMwIHB5M2sKKzgwMTQ0IDI1ZTM1ZTM4MzhjNzc1OWZkN2Y3YzY4YjI3Y2RiMWVhNGUwZTg5YzUgbGVnYWN5LXRydW5rCis4MDE0NiA3YjA2NTY5MjljZGI5MjQ1MjUwYmI0Y2QzMDU0MWQ4MDczZjIxZDYwIGxlZ2FjeS10cnVuaworODAxNDcgMjkzOGJmODk5ODYzODk1YTRkMmEyYzg5YzRiYmJkN2U3NzI4ZTc3MSByZWxlYXNlMjYtbWFpbnQKKzgwMTQ4IDRmMTIyMGYzZTJjN2RiOGEyNjc1MWE0NGJhMGFiMWM0MDkxNmMxMzIgcHkzaworODAxNDkgNGQwMjA4NjYxYjFmNzM4N2E0YzlkNGQ1YzJlMTc4ZmY1MDFiNThmOSByZWxlYXNlMzEtbWFpbnQKKzgwMTUwIDM4NGRkNDQ5YTRlZTg4MmViOTAwYWNlOGNkZWQzMzdlYzYwYWI4ZjkgbGVnYWN5LXRydW5rCis4MDE1MSA3NDYyZTc1MmYwZmEyOGJhYmRjOTA5OTUxODhmOTgwNjA0NDBhMDEwIGxlZ2FjeS10cnVuaworODAxNTIgMzNkNDc5YTM4NjY2YWM1OTVmM2RkYmIxZDEyM2MyMzE5MDE5MDAxMyBsZWdhY3ktdHJ1bmsKKzgwMTUzIGYyZTJiMTk2ZGI5MjJjMjc4ZDc1MDEwMjVkMmU3MzRkZmJiNzQzZDEgcHkzaworODAxNTQgZTVmNmRlMThiNzE1NmU1YzE0MjhjMDA2ZDUyMGI3Mzg5OGFiNmUzMSBweTNrCis4MDE1NSBjYzM4MmYzOWIzOThjZjk5ODFmMTgwODJkZTNjZmRlZDNjNzkyN2YyIGxlZ2FjeS10cnVuaworODAxNTYgZDdkNWM3NjU0NWZiMzdmNWMwNWVkNDBkY2NiOTdmNGJmNTcxOGFmYSBsZWdhY3ktdHJ1bmsKKzgwMTU3IGJhYzk5MjI5ZGEyZGNhOTRiNjNjZmViYWJkNmZlOTFlNGE5MmRlN2YgcHkzaworODAxNTggOWFjZTU1YjI5ZjdlOWNlMGJiNmQyM2IzNDUyNmEwZTVkNTdiMjU3NSBweTNrCis4MDE1OSBlYjMwZTY2MmZkNmFjMTI3NzNiYTMzZWViYzI5YmExMDkwNzU4NmZmIHB5M2sKKzgwMTYwIGY3MzA3MTJkOTdiOGRkYzJiNjJlNjM2MWQ4ZDFlZTNmMjRlYWE3MTQgcmVsZWFzZTMxLW1haW50Cis4MDE2MSBkNDE5ZTczNzMzNzAyMTY1YmM1MzZmZWFlMDMxN2RiN2IxZjZlOTkyIHB5M2sKKzgwMTYyIDMxNmJlYzNmMThlYzkxNTEwZGNlMzc3MDEzNzBkYmE0YzI2YTMzYjEgcmVsZWFzZTMxLW1haW50Cis4MDE2MyAwZjM3YWZiOGE5ZjJjMGU5ZjU1MDZhM2RkOTlhYzUwNGQxYTdlM2JhIHB5M2sKKzgwMTY0IGQzZWFiNDU5NzM5NTFiOGMwNmVmMDJiOWU4MmUwMGUxNDU2YmQ3NWIgcmVsZWFzZTMxLW1haW50Cis4MDE2NiA3YzkwYWMxOTRlNDA4MmQ2MDMzMjhjMWRjZTk2ZDdhYTgwMDhiMmI0IGxlZ2FjeS10cnVuaworODAxNjcgZTA4N2I1ZDNkMTkxYzIxMDU4N2M3MzBjOTkyNTA1ZDk5OTQzMjZjMSBweTNrCis4MDE2OCBlYTQyYWY5NjhkOWQwNTVhMmM5ODQ5NWUyY2U1ODBkZmRkMmE4ZmIxIHJlbGVhc2UyNi1tYWludAorODAxNjkgOGVmYmNjZTA3NTdkZjYwNDdjMTg5NmZiYTE0NDM3ZmU1M2Q4N2Q0MSByZWxlYXNlMjYtbWFpbnQKKzgwMTcwIDdlMjcwZGNmNGJkNTkwYmI5ZjUwNDk4YjJmZWUyMDM1M2Y2NDgyODIgcHkzaworODAxNzEgMGMwZDgxOWVkYjlkY2Y2OTdjY2YyMzA4YTFiZWU1YmM1YTgxNDg1NiBsZWdhY3ktdHJ1bmsKKzgwMTcyIGEwN2Y2MDgyNWUxYWI5YTFiZjEwMjg5MWRmOGQwZDhkYjcwYjkzZDIgbGVnYWN5LXRydW5rCis4MDE3MyBhN2U2OWE1ZjIzMzc4NDYxMGUwNzg3OWM1NTRiMDliNWQxMTZmN2Q2IHJlbGVhc2UyNi1tYWludAorODAxNzQgNmNiZTg2NDU3MTdkM2U5OWRkMmE1NjgzMWI0ZGI5N2FjNzZjMWM3YSByZWxlYXNlMjYtbWFpbnQKKzgwMTc1IDY1NGUxY2M5YjRmZjU2YThmNWU1YTQ5YjJiN2JlYzc4YWM1Y2ZhZTAgcmVsZWFzZTMxLW1haW50Cis4MDE3NiBmYThhMDNkZmMyZDFjYjZjNjM2ZWI2MTJmYzcwMjU1YmRhYzlhYzhjIHB5M2sKKzgwMTc3IDEzZDg2ZmM2OTk0MDgxYmVhOTExNmMwYjgzOTZiZWRmMDhmNjAyMjMgcmVsZWFzZTMxLW1haW50Cis4MDE3OCAyZjU0NzU2YWViMTE2NmM3ZjBiMTg1MDA5YzRlMTNjYjBhNzQ5YmFhIGxlZ2FjeS10cnVuaworODAxNzkgMjI3MzdhOTliZjhjNDQ0YmM0YWZmM2ZiYjk0NjkyMmE4ZmQ3NThkNiBsZWdhY3ktdHJ1bmsKKzgwMTgwIDZjYjFjNDgwNGY5YzhiMWVjZjcyOTU1YzU0NWU2ZTRkOGNjNjFmN2UgcmVsZWFzZTI2LW1haW50Cis4MDE4MSBmZTZiNmMxODliYjQxNTNkNWNhYmEwZDE1ZGM3NTI2YmM1NGQ3Zjg5IHB5M2sKKzgwMTgyIDFmM2QyZTYxMmI0NGFiNzdlMTgxYjQxMzAxOTI5OTlkMzgwYjc1NmUgcHkzaworODAxODMgZmIzZTQwMGMyY2RhNDA4NTkyNDk1YjkyYWQ2MzBmMjdmYTI4NDNhOCByZWxlYXNlMzEtbWFpbnQKKzgwMTg0IDQ1MDVlYjU3YjRjYTdkZjgwMTk0MGRkMGNlOTcyZGZkYzFiYTkxNjQgcmVsZWFzZTI2LW1haW50Cis4MDE4NSBiZWRkNmVlMDNlNjA0ZTc1NjljNmY4MGQ2ODZjMjQ0YjI2MjM2ZTYxIHB5M2sKKzgwMTg2IGY3NjJjNmE1NGJmY2M3NmM2YzUyZTk2OWE3MGZlYzU1MjIyY2E0YjUgcmVsZWFzZTMxLW1haW50Cis4MDE4NyBhOTZmZDBlODc0YjQ5OGE0ZTY0ODI3ZTBhMWRlNjJlMmIwNTdhMmIzIGxlZ2FjeS10cnVuaworODAxODggYmNhNTc0Mzc2MTI3MmRkMWVhYjMyNTg2MWJkZGMwZWFkYjNiOTQyNSByZWxlYXNlMjYtbWFpbnQKKzgwMTg5IDcyNjdlMGFjZTMzYzE3NDI1MGE3ZmM1NmZjNjk1NGZmYTVlMWFhYWIgbGVnYWN5LXRydW5rCis4MDE5MCAwNDNmMTQzMDRkZWQwNDczNTcwMmMxZTQ5MjMyZDlhMjM2OGRmNDhhIHB5M2sKKzgwMTkxIDJjZmIxMGE2YzJiNWQ3MGI1M2ZkNzVkNmFmMDQxNDU2Y2U3MzViMzkgcHkzaworODAxOTIgOWQzNWFmZDg4MjFmMDA3NWE4YjQzN2Y5NjQzYjMzOGZkZGUwZGE2YyByZWxlYXNlMzEtbWFpbnQKKzgwMTkzIGE1MmNiOTkxZjU0YzFiMjc1Y2I5ODIyY2I2MDg5MjI3ZTU1ZGVhMjggcmVsZWFzZTI2LW1haW50Cis4MDE5NCA3NjY0OWVkNDVjNjM3YmFmOTRlNDkxNDExNDlkNzZmODdhZDU5ODEyIGxlZ2FjeS10cnVuaworODAxOTUgMDY0NGNhM2ZlMzBhMDRlZjY2YzMwYmQ0Nzc1Mjg2OWZlOTlhYjE3OSBweTNrCis4MDE5NiA0Nzc0ZDU5ZWVmN2IzNzYyMTNjOGVmOTE5ZjE0MWYwZmIxMWUzY2JmIHB5M2sKKzgwMTk3IDI4ZmMzMTY4OGI3YzEwMzFmMjU2YTE3NGRhNzBjZjBhMTI3ZGE3ZTEgcmVsZWFzZTMxLW1haW50Cis4MDE5OCA5YWFjMWQzZDg3M2QxODBlYjQ0ZGQ5YWU2MDU4ZTcwODg4MjkyZjVkIHB5M2sKKzgwMTk5IDQ4NWMzZjA5YTA5YjQ4ZjhhM2U5OTkyMjYwNjg3ZWYwNmE1YzI3ZjMgcmVsZWFzZTMxLW1haW50Cis4MDIwMCA5Mzg2ZTNkZDU3MDBjNzA4MWMxYzcwMzFhMDBjMjY0ZjYxOWVjYmI3IHB5M2sKKzgwMjAxIDE4YTE5NTYzM2I1OTllZGMxZjEwYzY2MWRjZGU3NDQ3MzgyZDQ0ZjIgcmVsZWFzZTMxLW1haW50Cis4MDIwMiA4ZjVjNDgwZjZkNmY1OTUxNWY4ZjgwYWRiNmRmMWJkZGMyYzNkNzg2IGxlZ2FjeS10cnVuaworODAyMDMgY2Y1NzU2ZWM2ZWQ3ZDdmNDJiNGY1OGNhYzI0OTEwNzQ3ZmJhODFjNSByZWxlYXNlMjYtbWFpbnQKKzgwMjA0IGFhNzA3ZjEzYzQwMjhhMjc0MTAxYWRmZTU0MmM4NDQ3ZTM0MDJhN2YgcmVsZWFzZTMxLW1haW50Cis4MDIwNSBhNzI3Nzk2NzJmMTU5ZjMxYzAxOWIyMjU5NmJlMDAyODMyNDk1Y2FhIHB5M2sKKzgwMjA2IGNmODA2OThmMjc1NjgyOGFhYTRkYTM5YzM5MjE5ZWVlYmYyZmQ3ZDUgcHkzaworODAyMDcgYjg3NTAyMWNkOTkzNzAyMTAwZDRkOWY2ZTJmYTQ1MWY0MTQ5Mzk5OSBweTNrCis4MDIwOCAyZGViNzhiYzVkMzg1OTIxMzI3M2ZkYTg3YWVlNzgxY2NjNDUxOTAxIHJlbGVhc2UyNi1tYWludAorODAyMDkgNmUyZTJiNjI2ODVlZDdhOWMwNzBjYzZmMzUyOTUxNzY2MTRhYzkxMCByZWxlYXNlMjYtbWFpbnQKKzgwMjEwIDQxZTJmMDU0ZDUzOTAxY2E4MjM5MzA5ZTVlNjFmN2UyYTMzMGZhZDYgcmVsZWFzZTI2LW1haW50Cis4MDIxMSA3YTU2NGQ3NGZkNGE4YTM3ODkxOWRlNWI1YWNmZDk5MWM2YTQwZmE2IHB5M2sKKzgwMjEyIDc4OTYxMmNkMDk3MDVmZDI3MWQ1NzJhYTU0MjQ3OWYzNGU3OTg2NDEgcHkzaworODAyMTMgODM2ODJlN2Q1OWE2NDQzOTFlNjBiODM0Zjg5MjJhYjQ1NThiN2U1MSByZWxlYXNlMjYtbWFpbnQKKzgwMjE0IGNlNjA1ZTk1MDAwODA2Y2UyNzU0NDQyYjIwM2I4NzkwNWMxNTFmNTAgcmVsZWFzZTI2LW1haW50Cis4MDIxNSA0MDkyZTQ1NjZkYjNmZjI2MTljMjAyMjY3NDJmMmU5MzgyMmNlMjgyIGxlZ2FjeS10cnVuaworODAyMTYgN2Y5MjYzMmY5MTJkNmM3YTM0NjFiNjUxNTYzY2MwNDY4NWE1MWY0ZSByZWxlYXNlMjYtbWFpbnQKKzgwMjE3IGI1MTRmODMxMWYyODU1ZDVkNWU1NmI4ZTA0YzNmOWQ4ZWRjYTZjNGYgcHkzaworODAyMTggYmNmYjZiYWRmZjg4NDFiYzBlNGNjMDBkMmE2MTk5YmRlZmU5MjcyYyBsZWdhY3ktdHJ1bmsKKzgwMjE5IDcxODYwY2RiNDg4NjkxZTYwMTQ3ZDM5N2YxMDY5NDczZDU1MWM3NGUgcHkzaworODAyMjAgMWYwMmI0M2UwOTA4OTI0N2NiZGFiZDAzNjUwNDZkMjI2ZWQxNDU4YiByZWxlYXNlMzEtbWFpbnQKKzgwMjIxIDJmMzExZGFiMDY5NzM1ODBiMzU1ODJlMTRhMjc1YTViY2U3NGE4MmIgbGVnYWN5LXRydW5rCis4MDIyMiA5OGIyY2QxMGFiMDVmMDFkMmE2Y2VlMmE3N2VmZTY3NzExMDM4ZjQzIHJlbGVhc2UyNi1tYWludAorODAyMjMgZjc3ZTM3YWZjODcwYTQzOGNkYzcwMzI3YzA0MTA0YjFhNmJlNWNlYiByZWxlYXNlMjYtbWFpbnQKKzgwMjI0IDdhZDZlYTk3ZDQ0MDIzMTU4NjcwMWEwNWE4MTEwYTY0NTViYTk3M2MgcHkzaworODAyMjUgMzAxZmJlOGJmYWQxODU5ZTE3NWNmMDFlMDdlYzg5ZjY0YWMwYTAxNSByZWxlYXNlMzEtbWFpbnQKKzgwMjI2IDMyMjg1MzEzODk2Yzg0MDEwMmY5ZTMxY2VlNGYxMzFjMWQzYjU5YmIgbGVnYWN5LXRydW5rCis4MDIyNyA3ZmVmODc5NmY3NzcwNDJkN2I4MmI1ZDgzZDU3ZWI5NmM5M2ExMzA0IHJlbGVhc2UyNi1tYWludAorODAyMjggMzliNTYxYzUzZTlhZDdiYmY2MWMwYThhY2IwOGM5YTUzZDM2ZGM2ZSBweTNrCis4MDIyOSBjMTNmODI1ZmRlYWI3NmIyNDkwZDc0MjQ1MDk0N2ViMGZhNjk4YzZmIHJlbGVhc2UzMS1tYWludAorODAyMzAgYmUxN2JkYTVhNjU4ZTJhYjFiOTk1YTM2Y2QyZmIwZTljMTBkMWFmYSBweTNrCis4MDIzMSAzNTk5NTRjZjBjY2RhOWQwZTJmYzA2MDg1ZWQ4MGY2NjU5YTAwZTIxIHJlbGVhc2UzMS1tYWludAorODAyMzIgNTkyN2ZkZjVkNDhjNWFlZWUxN2EyODJkMGM1Y2JiMjMxYTMyZDJkMiBsZWdhY3ktdHJ1bmsKKzgwMjMzIDhjOTgyOGMxNTA0MDlmMjdmMTFlYTNmMjBiNjU5NzNjYzY1NzFjNGIgcHkzaworODAyMzQgYmY4ZDU0MDJhYmZmMjlmNTQ2Y2QyMzUyZjJmZDg5NjI4MTk5YjFlMSByZWxlYXNlMjYtbWFpbnQKKzgwMjM1IDFmYjYwODE0MjA0MDRmNWRhZWI3NTlkNmVjZGM2ZmYxOGRkYzU4MTAgcmVsZWFzZTMxLW1haW50Cis4MDIzNiA1ZjVlZTk0ZjE5MjYzZGY3ZTU2MDk4YmM3M2MyYjUzMDA2ZGUzYjdjIGxlZ2FjeS10cnVuaworODAyMzcgYzIzN2JmM2QwNDNjYWFkMGJiYzUwMDkxMzc0YmU5NDVhZDI4YTUzNyByZWxlYXNlMjYtbWFpbnQKKzgwMjM4IGVmNzNhYzcxZTI5NTAyZjZkY2VmZjNhMzY5NDE3Yjk0ZGJlNWVhYTQgbGVnYWN5LXRydW5rCis4MDIzOSBlMGZjYTNlN2NlYjk0YmRjNTc0MTFmNjcxMzllNzU5YTM5MWVhNmIxIHJlbGVhc2UyNi1tYWludAorODAyNDAgNjIwM2Y0NzE2NTg1ZjJlZTU4Y2ZjZjU1N2NiOGM2ZTkzOThjNzE2NyBweTNrCis4MDI0MSA4ZDA4ZmRjOTdhYTRjNTMzY2VmYThiMDg0ZGQ2OGM2M2Q4ZWMxNWU1IHJlbGVhc2UzMS1tYWludAorODAyNDIgZGM3M2VlMmE4YjllYzZiMGJiNTc4YTBlMDY4ZDFiZTlmZDE3ZDMyMyBsZWdhY3ktdHJ1bmsKKzgwMjQzIDcyNWJlOGY5NDE4YjgzZTQyNGUzY2M0NTNjZmNlYjk4MGViNWRiMDggbGVnYWN5LXRydW5rCis4MDI0NCA4MmRlMGI0ODhmMmRkNzMxY2Q2MDA1NTkwMmI3ZTVjYWQ2ZDZkZTg1IHB5M2sKKzgwMjQ1IGIwMTgzMTlhNjE1YjM1MjMwYzZlYzUwNGI5ZTk0Mjg0MjllNDcyMzYgcmVsZWFzZTMxLW1haW50Cis4MDI0NiBmMjczMmNjYzEyYjQ3MGQ0OTRmMmE4ZWQ5MTU3NDdmZjI2YmRiMmExIHB5M2sKKzgwMjQ3IDM5NzM4OTgwNTZiNjBmY2I2YTgwMjIxY2UyNGFmZjcwZjQ1ZTNhMDAgcmVsZWFzZTMxLW1haW50Cis4MDI0OCA3NjM4MjIzZjJlMDJlOTUxMjM3OGFmODgwYTY2ZDA1MDQ1OWFkY2M5IHB5M2sKKzgwMjQ5IDhkZTI4NWNhZGIyNDAzMzA1ZDJhYWFjYjAxYWE2MzgxZjExMTQyMWIgcmVsZWFzZTMxLW1haW50Cis4MDI1MCBhZTI3ODE5MjJhNmRlNTcxNWY5NTI0ZTc4YmMwZmJmMDJmY2U3NmQzIHJlbGVhc2UzMS1tYWludAorODAyNTEgY2VhMzhlZjYwNzAwZWYxYjhhZjdkMmJjZGI2MGE5ZWUzZjY4MjA3NSBweTNrCis4MDI1MiA4Mjc2M2IyMDBhNzkzNzk1NjA4Zjg3MDc4NzkxNWI0ZDQ3ZjgxZjJmIHJlbGVhc2UzMS1tYWludAorODAyNTMgZGE4NzA0OTkzMDAxNmZiNTIwNzU0NDY2MzBiMzk4OTdjMTM4MGQ5ZiBweTNrCis4MDI1NCBiYjhmZTc5ZGM1Y2IzNTJmYTRhYTMwYTg0N2MzZWM1MmIzYjM1MTA2IHJlbGVhc2UyNi1tYWludAorODAyNTUgN2QzNDMyYjA3ZWExYTYyZGZhODI3YzMzNTA4NDM0OTllZTBkMmYxOCByZWxlYXNlMzEtbWFpbnQKKzgwMjU2IGJlMTBmNGZhYWYxMmNhMTQwYjZmMWY4OTNiMjlkYjNiZjhjZDRiNjYgcHkzaworODAyNTcgYzJmZGRkYjJiNGE1NWFmZmY1YTIzNWRkYTEyMjAwNmVjYzE0YjczMCByZWxlYXNlMzEtbWFpbnQKKzgwMjU4IDQwYTNhNjMzYzU2NDg0ZmQ2OGYxNTBkYzdhMGQxMWMzODRjZmRiZDMgcmVsZWFzZTI2LW1haW50Cis4MDI1OSAzODc0MjhmYTY5ZmNkYjBlNTJkMDExZWIzMmY5NThmYTEyMWVjYzUyIHB5M2sKKzgwMjYwIGU3NzNlMjRiMTRlNmJmZTc1NWYzMWY1MzM4YTNlYmZlZmY1ZGVmYjAgcmVsZWFzZTMxLW1haW50Cis4MDI2MSA3Y2ZhNzk3NWFiMGUxOWUwMjM2M2NlMDU5YmYxYmE0NzA1MmVmZGE0IHB5M2sKKzgwMjYyIDdjYTEyNzJmNDNhMzRhZTNhYWMzODI5NmE5NmFhMjA3Mzg4ZDQxYzYgcmVsZWFzZTMxLW1haW50Cis4MDI2MyA3M2E2MTY1ZDAwMmJkNDY0NGU2OTM1MmJlNzQyZDVmZDRkM2IzNDg3IHB5M2sKKzgwMjY0IGQwNzEyMDFmMjYxMmQ2N2VmMzA3MjgwY2MyMzY3NmQzZDI0OGUwODIgcmVsZWFzZTMxLW1haW50Cis4MDI2NSA2ZWNhN2ZiZDUzOWVkZjEwZmJiMDkzY2Y3MjRjYjQ1MDE4Y2JkNTFkIGxlZ2FjeS10cnVuaworODAyNjYgYWUyNzJkMjEyYTlkYWNhZmQ2ZDkxNGQ0OTNmZTBmMDZkZWNkOGMzMCBweTNrCis4MDI2NyA0ZTVjNmIyOWQ5Mjk1ZmU3MTk3ZjAxOWNiY2U3YzMyNTYxMzVkZWU5IHJlbGVhc2UyNi1tYWludAorODAyNjkgMWZkMjcwOWVkM2ZkYjllMDEzMTc0Mjc0OThjZjU2NDUyMmMwYWZmNSByZWxlYXNlMzEtbWFpbnQKKzgwMjcwIGY4OGVhMWI0ZmRiZTdjOTY5OThhYjJmNzg3OWEzMjYxMDViZjY4YjMgbGVnYWN5LXRydW5rCis4MDI3MSBlMzE3ZTg0ZThhMWFhMWE5ZGI5OGQ0MjM0MWEwYTIyM2FhNGUzMDMxIHJlbGVhc2UyNi1tYWludAorODAyNzIgMDcwMzVkZTA1ZDRiZDRmY2IwMjgyNTJjMTJiMjBlNDMxYjE3NTRjMCBweTNrCis4MDI3MyAwZjAxYmQ2MjA4NGVmYTZhNWVlMWE4YTQxNTUwZWU2YzY3MzlmNzY1IHB5M2sKKzgwMjc0IDZkYTcxN2JmZTQyNTc4NGVlZjE0ZjZiNTNmNWNlMTg5OGE3NjUxZDAgbGVnYWN5LXRydW5rCis4MDI3NSA1MDZmYWRkYzhhOWU3MmY4OTNiZjVjZGJiY2Y0MmU4Nzg1N2Q0ODMyIHB5M2sKKzgwMjc2IDU3ZDA5Nzk1MDk2ODczNmI0NDk0ZmMyNGNhNWFkNzIzYzcxNzNiMzIgcHkzaworODAyNzcgN2M4ZWIyYmE5MTI5OGI5ZWY2ODA0MjkzOWY3NGRhNTUzZTQ5MTA3ZCBsZWdhY3ktdHJ1bmsKKzgwMjc4IGQxZDIwOWYyYzgwMzlkODdjMDZkZTBlNTkxODEwMTFlODc2MmFmZmYgcHkzaworODAyNzkgZDdmZWZmYTc4ZmEwMTY3NDk1ZmRiNWY0ODAyMDZlNmY4ZjYxMTUwMCBsZWdhY3ktdHJ1bmsKKzgwMjgwIGQwOWY4NDI1OGU1MjJkZGY3YzI3MWVjNDhkNTNkZWZlNGM1MzkyYmUgcHkzaworODAyODEgYTIyZjJhZTg1NjQ1MjUxODVlNDhmZmRlMjMwM2IyOTNjNDZiNjAwOSByZWxlYXNlMjYtbWFpbnQKKzgwMjgyIDRkZGNhN2ZkMzYzOTE5MDA4ZWU1NmJkZjg1ZDY5ZmEyZTM4MjdjMmUgbGVnYWN5LXRydW5rCis4MDI4NiBiZDQ1ZTAxMTA5OTAxNGVhZWJhNmEzN2JkY2M0OGRjNjdhNmY0ZjZlIHB5M2sKKzgwMjg3IDI1OWVmZTViOTYxYjFkY2ZmZDQzNDFkYWQxYThiZjA0ZmM4OTdjYzkgcmVsZWFzZTMxLW1haW50Cis4MDI4OCA4NmQwOGNiNmJhNWMxYTRkZjM3MTQxMzUyMjVlMmQ2M2M0ODk5YWZmIGxlZ2FjeS10cnVuaworODAyODkgMTlhOWE0NTdhNDdhYzYwMzE1OWQxNjNhNDQzY2MyZjAzNDk4MWVmOSBweTNrCis4MDI5MCA4YjM2ZjcxNzUyMzg2YjlkNjc1ZmQ1MWRjMjg4ZDhmMTBlMmRjYjkyIHB5M2sKKzgwMjkxIGFmMjdjNWE5ZmViODE0ODZjZTUxMGMxMWMyYjZhZDA4MDVkZDllZjggcHkzaworODAyOTIgOGIzNDQ1ZGZhNzE4ZWNmMTdlOTg2MzhiOGM5MDViMDFiMzU1ZjcxMiByZWxlYXNlMzEtbWFpbnQKKzgwMjkzIGYzNGZiMTUxMGNiYzUwNTU2YmY5YzNiOTliN2M5NTBkZTE5ZmVkZDggcHkzaworODAyOTQgY2NlMGE1YjIwMTVlMjQ5ZTE3MjkxYmIxYmRiZTRlNWUxNGJkNTBhNyByZWxlYXNlMzEtbWFpbnQKKzgwMjk1IGY0MDQ3YjVhMGY1NGJkNTNmNTU4ZGFiY2YxZjgwYzI4OGFkZjU5NGEgcmVsZWFzZTI2LW1haW50Cis4MDI5NiA0NzNhMGY2Nzg4MDYxMjYyYTNjMTk4OGE1NzllMWE4NzkyMjRlZjE4IHB5M2sKKzgwMjk3IGQ5NWFjZTUyOGQ2NTcyNmUyNjIxZTE0NTI1ODRhMTQ4ZDg2ODg5NGMgcmVsZWFzZTMxLW1haW50Cis4MDI5OCBmNWFmYWRiNzQ1ZGExYTMxZDMwZmM5NzlmNDljYWNjMzEzNjI4N2ZjIGxlZ2FjeS10cnVuaworODAyOTkgMWI0M2VlMWVlM2Q4ODUyNWQxYWI4YmJjNzBiOTg1M2E3YWE3YmQ5ZiBweTNrCis4MDMwMCBhMmE0ZDlkYzc4ODRmNGVmNDlhOTY2YWQwZTg3ZDZlYWNiZDQxYjBlIHB5M2sKKzgwMzAxIDcwMzljNjA0NGFiNjUzNGZhYjE3NWZkZGFmNGM5NmZmOTg5ZTM0MmMgbGVnYWN5LXRydW5rCis4MDMwMiA5YjkyZTc2NzExMzU4NTcxOGJkYmQ3MDQ1YmU3NWMwNTNiMWE1YjZkIHB5M2sKKzgwMzAzIDhlMmE3ODg0OTI5ZGEyZDFmNzk2MjU2N2RkOTE3YTgxNzIwMWE4N2IgcHkzaworODAzMDQgOTVjY2FmYzE0NDc1ODE2MTVjN2E3ZjYyZmI3OWY0NWU2OWJmNWI1ZCBweTNrLWNkZWNpbWFsCis4MDMwNSA4YTkxY2IzNmUwOTRjY2M4OTdhMzg4NzViYTMzNDA3YWM3OGUyZGQ0IHB5M2stY2RlY2ltYWwKKzgwMzA2IDJkYjA2ZmFlOGMyZWFkNjU0ZmI5ZjY2ZDZlMGExMDA5ZTBmMjgxYTYgbGVnYWN5LXRydW5rCis4MDMwNyA5NDI1NDIzMWFhNmFmOTk0N2Y1ODFmZWFhMzIzMDMzMDMyZTUxZTgxIHJlbGVhc2UyNi1tYWludAorODAzMDggODE5ZDgxMzQ3NTIyOGU3MmMwNzQyZGM1ZmFiNzc5MDBhNWRmYWZiYSByZWxlYXNlMjYtbWFpbnQKKzgwMzA5IGMyOTA1YjBlZjFkMjRkNGNkOWU3ZTM3MWMwODNlYjlhYzViNzRiYzkgcHkzaworODAzMTAgMGE3YTI1YmJiMzRmNzJiNGViNmNiMDM2NTc0NGFmMzVkYmY0YzhiNiByZWxlYXNlMzEtbWFpbnQKKzgwMzExIDZkODM2YjEwZTM3MDk4NmU5MDE4MDhmMzdlNTdhNzI3M2EwNTg2MGUgcHkzaworODAzMTIgYTU1ODI3YjBlYzNiYjk1MzQ1MzczYmU2MzZiZGE0OTQ0YjRlZmJmMyBweTNrCis4MDMxNCBjOTFmYjUwNmYwOGRmMDk0NWNiZjk4Yzk1YWVjMjk5MTA1OGUxYjVjIGxlZ2FjeS10cnVuaworODAzMTUgYzFkOGEwMDU1ZmRhNmU0MGEzZjZmNzIzZTBkNzYwZWJlNDAxNTU1YyBsZWdhY3ktdHJ1bmsKKzgwMzE2IDlkODZmMDcwMWQ5Yzk4ODdmNjY3OGM5YWUwMGE2OWQ3MjRiZTg5NWQgcmVsZWFzZTI2LW1haW50Cis4MDMxNyBmMzZhMGViZWIxNjM5MTU3ZmQ3OWZmNzZiYmI4NDdlOTVhOGEwY2YwIHB5M2sKKzgwMzE4IGEwYjhhZjFiZTU2MGJkYWQ2MDc1ZWM0ZWEwM2NlM2YyMDE3OTE2Y2QgcmVsZWFzZTMxLW1haW50Cis4MDMyMCA5YmEwMzc4M2VjZTNjYjQ1ZGFkZmM0ZWMyN2JiOGMzNzhkYWRkMDhkIGxlZ2FjeS10cnVuaworODAzMjEgOGU0MjQ3NDExNzU0MjQyYzM2NDFmZWZhMTI3OTU0ZTVkNzY1NjQ1NSBweTNrCis4MDMyMiA4YTViMmQwNjI5OGQ3ZjcwZWI0M2JlOGI4MjI3OTM1NjliY2JlNGFjIGxlZ2FjeS10cnVuaworODAzMjMgYTNjZTI3NWJmMDk1NzNiNjIxNTRlZDExNmJmZWNiNzgyZTQxNmU1NyBweTNrCis4MDMyNCA4ODhjNzVhMWJlNTUyMTliZjM3MDM4YzUxMmU2MmZhZDY5ZjdiNTIwIHB5M2sKKzgwMzI1IDc2OGNlMTA3OTlmMmQ4NTNjNGU0ZjAxNjE2NzFiYzdmNzgwY2RmNmEgbGVnYWN5LXRydW5rCis4MDMyNiA5MmE2MzNhMzBhY2I2Y2ExMjUyNjdjMjg3ZmNlMmUzY2NkNGJkNWZlIHB5M2sKKzgwMzI3IDY3YjgxYzMyODRmOWIwODVmMmY2NmEyMmM4ZDEwYzhiN2I1MjQwNDkgcHkzaworODAzMjggMWMxMDViMzcwNzQ2MDUzMDUyZTAyNDkxNWNiMDA0YzFkYWVjOTMyMyBweTNrCis4MDMyOSBlMDkxZDk3ZDUwZDU4MzA0ZGJlNDUwMjQ5YzM3N2Q2OWVjMDBhOThiIHB5M2sKKzgwMzMwIDA3Mzc5ZmU3NWM1NzA3ZmRmMDZkNjVlZjNlNDg1NTQ2NjJjMmNlMDAgcmVsZWFzZTI2LW1haW50Cis4MDMzMSA1N2FhMzEwMTJjYTUxY2MzZGE4MzVjYjg5ZWY2M2Q0MTNmNzFmYmEwIHB5M2sKKzgwMzMyIDkyNjY5OTY1Yzk5NzE5NGMyY2Q5OWQxMWI1YzYzY2QwZTkzNGFiYjAgcmVsZWFzZTMxLW1haW50Cis4MDMzMyBiMTljNjE2ZDViNGFkOGVmMTA4MzI4ODM0MmNlOWI3Y2U1YmE4ZDkyIHB5M2sKKzgwMzM0IDdkNDlmMDIxYzg0MjA5M2IwY2Q4MmYxZDQ1OTZhOGU4MGNhMWQ3N2EgcHkzaworODAzMzUgOWY0ZjY3MGIxNDhjYmE2MTY0Y2I1MGFjMDQ0MDMyZWY2ZmRhZWRmYSBweTNrCis4MDMzNiAyYjA5ZDgyMWJjZTFlODk3YjlmNjA5NzY3Mzk0MzEzNjA4M2E0NzIzIGxlZ2FjeS10cnVuaworODAzMzcgY2FkNGUwOWYwMmExMzMwN2RiMDNkODk5MTYwODc1YjE5MmI4Yjk1NSBweTNrCis4MDMzOCA0YjAxZTgwZDZjMWZmNjhmZmQ2MWNkZDU0ODQ3M2M0NmFmNDc2MWE5IHJlbGVhc2UyNi1tYWludAorODAzMzkgYjM4NzVkMWIzODQ3MzkzM2U4MGIwMjQ4N2E4MzViYThiYzY4MzEyMCByZWxlYXNlMzEtbWFpbnQKKzgwMzQwIDE4NmJjM2I4MGY1NzEyMjlhZDUzZWVmMDk5MDQyNDI1YjZlN2QzZjIgcmVsZWFzZTI2LW1haW50Cis4MDM0MSA5NGI2NDk0MGRhYzQ2NGM3YzNjNjMxOTg0ZTJhMWViNGUwMWI2ZTg0IHJlbGVhc2UzMS1tYWludAorODAzNDIgNTRmMTUwMjAyODhhNDZjNmZlNjMwODZjMzM5MDQ3NzU0ZmYyMDZkNCBweTNrCis4MDM0MyAyMzQwOTU5NTEzNzA3MWNhZDNlNzFkYjMzYmNlODc3OWYwN2JiZWMzIHB5M2sKKzgwMzQ0IDVjNjI1YTA0OGY5YTU2YmIzYjI5NmM0NmMxZjViMDA4ZjFhNzk5ZWEgcHkzay1jZGVjaW1hbAorODAzNDYgMTA0ZThjODAxZTVkMzgxOWM0ZTFjODc4ZGZhMmU5YWZmNTUyYmY2MSBweTNrCis4MDM0NyBjNDQ5ODE3ZjRiNTRkZDQ5NGRkM2M0YTM1NTNmYzlhYjFhYjA2ZTUxIHJlbGVhc2UzMS1tYWludAorODAzNDggNmI3ZTIwMDAwZjk3NjY3N2E2NzViOTBkMzM2ZmIxMThkY2U2YTEyMSBweTNrLWNkZWNpbWFsCis4MDM0OSAzZjI3NzNhZTg0NDhhZDIyOTE3NGUzOWFkMzNmM2Y3YzlkNTlkOWFkIHB5M2sKKzgwMzUwIDU0NzgwMDQyZDFlN2Q3NDM1NjdlNzdiNmJkYzI4MzUyZjBiY2U3NmEgbGVnYWN5LXRydW5rCis4MDM1MSA4YzA1MTdmNTBjNGU5NDkyMDM1MGU4ZGFjOGY1YTUyYzZiMjVkZjhhIHJlbGVhc2UzMS1tYWludAorODAzNTIgZGUzOTQ1MTAxYTZlMDBiNjFjNTE5MTgxZjRhMDdhMDc5ZDQzYjkyNCByZWxlYXNlMjYtbWFpbnQKKzgwMzUzIDdmYzI0YjRlNWZlZGM4ZTRiODA0NjMyYzIyMmIxMjNhYmVlODkwM2YgcHkzaworODAzNTQgODg5OWY0MDgwNDNjNDc3NTUwMTJjYjJhMmU2Yzk2NGNhYWI0MzJlMCByZWxlYXNlMzEtbWFpbnQKKzgwMzU1IDNkNzM3ZjJhYjkwMTQwZDAwODM5Y2Y0MTA5Y2VhMThjYjliY2Y0MDUgbGVnYWN5LXRydW5rCis4MDM1NiAyYzNkN2JkNzE2MzY0OGEwOTMwYjhiMTk1NjQ4Zjc1MGE3ZWQ5YzQ3IHB5M2stY2RlY2ltYWwKKzgwMzU3IDczNmNmNzUxZmY0ZjVhNTczZTJjMTEzZGMyZTM1ZDEzYThiNDA2ZDEgbGVnYWN5LXRydW5rCis4MDM1OCAwZTY0YmEzMjI5MmJhNTdmMmIyYWU4Y2VmNTRmZTc2ZjNkMzIwOWE2IHJlbGVhc2UyNi1tYWludAorODAzNTkgYjNkMjBkNDQ2NjM4OTgyZTVmNjgzZTEwZGRmMDM0NmY5MjBkOGM2OCBweTNrCis4MDM2MCBkYjcxNmE3NGI1MTdmYzVkOTJmMjVjMzA0ZjIxMWY5MGU3MjdmODE5IHJlbGVhc2UzMS1tYWludAorODAzNjEgZGQxOGNjY2I1NWIwOGQ5ZTk5Y2IzYjBmODNkMWM3ODcyMjA4NmU5MiBweTNrCis4MDM2MiA5ZGM4NjRlZjY0MjVkNWVlODJmODQyNjliOGM3OWM0NjJkMWJhYzY2IGxlZ2FjeS10cnVuaworODAzNjMgOTE3ZDZhNzRmZDRmM2E0ODRiNDE5YjI5NjIxZDUxODdmMzZmOWQxNSByZWxlYXNlMzEtbWFpbnQKKzgwMzY0IDg3Yzk4ZmI3NzhiNGZkMDJjZmNkZWFhMDJiMWM1ZjNiOThlNTUyZjQgcHkzaworODAzNjUgNWI3MjZjNjAxZTIyMTYxYTZhMGNiNjNkNzg1NGVjMmQ1MzhkYzkyZSByZWxlYXNlMjYtbWFpbnQKKzgwMzY2IDNhOGE2MTg0ZjQwYTU0ZWQ3ZWQ5OGQ5MGE4Y2M4ZmE0ZTNjMzE4OTcgcHkzaworODAzNjcgMjY5MDJkOWJlMDMzYzZjMDJhODk1NzRkMDc3YmE0NzFkZjljNGQ3YyByZWxlYXNlMzEtbWFpbnQKKzgwMzY4IGMwMTNhNzE4MjliZjIzZmM3NzEzZWI4OWFmMTY5YmNjMWFjN2ZmNTYgcHkzaworODAzNjkgNGFkOTA0NjAyNDYxYmEwY2M5MTQ0N2ExZTNkYTcxYTIwODdlN2I3YSBweTNrCis4MDM3MCA1OWFkMjQ0ZmUyOTQyOTAwNTI3OTA1ZTIxZTM2Yzk2NTU0NDA5MTcxIHB5M2sKKzgwMzcxIDg3ZDk4ODIzNWM1MThlNzJmZWMxZmE4YWEwNjFjMzFjYmJmNmFiMDMgcmVsZWFzZTMxLW1haW50Cis4MDM3MiAzMWQyOGYwNGI4MjM1NTk2YmRiMjc0YzdjYmNiMTc3NjE1ZWNkNTRjIHJlbGVhc2UzMS1tYWludAorODAzNzMgODhjN2RkM2Q3NTc5YjZjYjhiOGZiYTYyNTIxY2M1NmUzNzA1MzUxYiBweTNrLWNkZWNpbWFsCis4MDM3NCA2NmM5YTk1OWMwN2VmZTE2MDRhZGYxYmFhNjUzOTgwYmViNzQyMjE3IGxlZ2FjeS10cnVuaworODAzNzUgYjY2ZmE3NzcwYmJkZmNmY2RjYjE3MzE4ODkxN2IxNTgzODg4OThhOCBsZWdhY3ktdHJ1bmsKKzgwMzc2IDk2MTkwYjViM2Y2ZGI4OGVlMzRjNDFmNzRhMDg1NTM3NTI3MjhkMDkgcHkzay1jZGVjaW1hbAorODAzNzcgNTg5NjNhNzY1NDcxZDdmMThmYTNjNjMwYjY1Njk4NmQyZTlmYzY2ZiBhc3luY29yZS10ZXN0cy1pc3N1ZTg0OTAKKzgwMzc4IGY2MzJhMzg2MWQxMjU1YjZhNDAzM2JiNzI5NDdiZmM3NTQ4N2IwNzYgcmVsZWFzZTI2LW1haW50Cis4MDM3OSBiNDVkZGEwYjUzOGZhYWJlMWY1NTRmOGI3MmY2MjQwYzUzOTA4ZWFjIHB5M2sKKzgwMzgwIDRiN2YzYWUyMmM4ZmRmOGY5MzIzMGZlMDgxMzI3ZDcyNWIyYTRkNDMgcmVsZWFzZTMxLW1haW50Cis4MDM4MSBjNGI1MzQzMzczNWEyZjg4NWY3Y2RiM2U4MWJkZjVlMjU2ZjRjZTA0IHJlbGVhc2UzMS1tYWludAorODAzODIgZDJmYWQ0MjEwZGQ1ZmI1YjQyODg4ZDRjYjdlYmM2YWY4OTBiZmFmYiBweTNrCis4MDM4MyAxNDliYWRmNzNiY2FkMTYzMjhlMTE2N2MxOWUxMDk1ZWEzOGQxYzAwIHJlbGVhc2UzMS1tYWludAorODAzODQgMmZlNDczOGVlYjIzNjE5ZTk4Y2U4ZjAwMDE0ZTI0YjllZGRlMjdhYiBweTNrCis4MDM4NSBiMDVkMDI1YmMwZGY2YWMwYmM3NWEyZTBiZWQ4MTEzZTM1ZGFiYzYyIHJlbGVhc2UzMS1tYWludAorODAzODYgYmExMmY5MjEzNGJhNDkxOTVlMDFlNTQ2ZjlhN2VjNjFiZTIyYWI2NSBhc3luY29yZS10ZXN0cy1pc3N1ZTg0OTAKKzgwMzg4IGE4ZTA5M2EyNDA5NDkyNDliMTRkMGMxMzkzYTMwNjJiZjk5MDNiYWQgbGVnYWN5LXRydW5rCis4MDM4OSBlZGM3ZjMzMDUxMDUwZTRmMzc2YTg4YjFmMWQxMjdiYmM3MWIzNzU0IHJlbGVhc2UyNi1tYWludAorODAzOTAgNDczODAxYWU5ZThlZDc4OTMwNTNhYTFkNDMxNWUyNWRiYjA1ODRmMyBweTNrCis4MDM5MSA1NDUyNmVlYzhiYzZlNjQ3MDY2MWU4YmNkOGIyNTZkODkyZGIyZjJlIHJlbGVhc2UzMS1tYWludAorODAzOTIgYzlhMzJlZGQyYmE3Yzg5NDI2MTU2YWU1ODI2NTQ2YzFhY2QyNDgwNCBsZWdhY3ktdHJ1bmsKKzgwMzkzIDhkZDEyNDEyMzgwMTBjODUwNmRkNzFkMDI5Mjg5NTg1NmYyMWU0ZDggcHkzay1qaXQKKzgwMzk0IDFkMThkNzNmMjliNTNkMTc5YTY1MDllOWRmMTY5MTMxNmQzMDU1NjEgcHkzaworODAzOTUgOTIyOGM2YWM2Y2M2NzhlM2I4NmU2Mjk3Mzc5OTlhYzQ0YzkwZWFiZSBweTNrLWNkZWNpbWFsCis4MDM5NiA1YTUyNGM2ZDRlODM1MjM0Njk5NDE1OTg2NDkxODllZmI0NDZhMWY5IGxlZ2FjeS10cnVuaworODAzOTcgM2RkNjA2MzUzYWI0M2I5NjAzYzE1MGZlYjFlZWRiZmZjNjI4Y2E2ZCBsZWdhY3ktdHJ1bmsKKzgwMzk4IDA1MmQ0ODUxNWM3NjJmZTc3YzMzN2Q0ODg3MjM3MTNkNDI1NWJiZmIgcHkzay1jZGVjaW1hbAorODAzOTkgYjRlZDE3MjdkZjc0Y2MwY2MzYzBhMWMyNjU4ODk3N2E5MGY2ZjNjZSBweTNrLWNkZWNpbWFsCis4MDQwMSA1NjI5Njc4ODFkYzUyNWRlYmMyYTAxYmZhNDdkM2NlM2NmMGRiZWIzIHB5M2sKKzgwNDAyIGU2NTY0ZGEwMTcxOGE1YjI1ZmQ0OTcxOWVmYzhmNzI4NjJiZmMyMDMgcHkzaworODA0MDMgZDJjNTEyZDBlY2I2MmEzNDhjMmU5YjIzNjczM2RjY2FlMjNjZTgyZiByZWxlYXNlMzEtbWFpbnQKKzgwNDA0IDg2ZmFkYWViY2Y2NmQzYTAxMDc3MDI2OWYzZDJhYThkYWJkYjFmZjYgcHkzaworODA0MDUgYzZiNGY0ZjJiOWE4YjcwNDA2YjdlMDkzNDg1YzU3NTVmMWRlZTc0ZSByZWxlYXNlMzEtbWFpbnQKKzgwNDA4IDIyNTgyNTBjMWZiYjNlN2MxNWYyYjM1NTc5NTI3Y2ZkMmFhOTgzMmUgcHkzaworODA0MDkgZDQyNmJiZmQ1YmQ3OTJlYjkxODNmNTNiNzM4NzQ0N2RhN2U2MzM2NiBweTNrCis4MDQxMCBmZmY4MWQ3MjYyOGUzZmZhMTBiNWY4NDAyZTViMDAxYzJmYzNiOWIxIHJlbGVhc2UzMS1tYWludAorODA0MTEgZTc2MDZjMTU0MWY4YjQ5ZjIwYmEwOTU4ZWVjMDNiN2UwNjMyNDRlOSBsZWdhY3ktdHJ1bmsKKzgwNDEyIGEwNTllYTk2NmI4Y2ZkMTU3OGYyZTM0ZTExMDM1MGI4MTNiNjNiNzMgbGVnYWN5LXRydW5rCis4MDQxMyA4NDI4ZWFhMmQzYWQxMDFjYTNiMjRmYzVlNGZmNmIxYjIyMGRlNDFmIHB5M2sKKzgwNDE0IDgxZWYxZTg0NTJmYjA1OWQ5MTVhYjc1MWFkNTA1M2E5ZWUzMzkzZWEgcmVsZWFzZTMxLW1haW50Cis4MDQxNSA2MTJlODZhYjA1ZjEzMWI2YTAwMjk3ODhhNzNkNjk1Zjk4MTA1MGNhIGFzeW5jb3JlLXRlc3RzLWlzc3VlODQ5MAorODA0MTYgNTJjZDdlMDQwZmVmMGQxNjJiODc3MDdiNGFmYjdiZTk0ZGU3ZTM1NiBweTNrCis4MDQxNyA2MTBhOGVmYTg4ZGI2NTYxYjM3OGI3MjFmM2Q3ZGY5Yzc4ZDdlZjc5IHJlbGVhc2UzMS1tYWludAorODA0MTkgMGVjMTZkODMxOTkwNTg0ZmIzMjdlMGE4ODU5YzgyNDZjMDM3NDcyZSByZWxlYXNlMjYtbWFpbnQKKzgwNDIwIGZjOTc3ODRlNWNjMjFmMjllNTY2YjYxY2IxMzBjNzg3Y2IxNTBlNzIgcmVsZWFzZTMxLW1haW50Cis4MDQyMSBkYzhjOGQ1NDUwNGUxODQzNTczODBhY2YxNWVjNTg3YTMxYWIyY2MwIHB5M2sKKzgwNDIyIDY3YTYwNDgyOWM5NzBjN2JiNjFhYTQ5ODQyMTJhNDE2NWZiZGQ0OGIgcmVsZWFzZTMxLW1haW50Cis4MDQyMyAyYzMxZGFjNjk0ZmYwNDNjOGE3YzhjZTUxMzcwNDUxMWUwMmY3ODlmIGxlZ2FjeS10cnVuaworODA0MjQgZTc5YTZjODAyOTM0MTg5ZjY5YTc3M2ZiYjQzNWQyY2RhZjVlMjUzZiBweTNrCis4MDQyNSA3NGU0OWZiNWJhMTJiMmUzYWMzOWI4ZWI0Njg5YzQyMzFmZGNjNTdmIHJlbGVhc2UyNi1tYWludAorODA0MjYgODFhYTAwMjg0YmQyMTE5MDBjZWYwYzkwNjlmNjUxZjcyNWY1YjRiYSBweTNrCis4MDQyNyA1NGU1YWIyOWIzMGJmZjQzNjBmMmJmOTc1YjkxMDc0ZmYzZTU2MGFkIHJlbGVhc2UzMS1tYWludAorODA0MjggZDdjNzgzZWY0NTQ4NmZlYjg0Nzg5MGI0NzY3YTQ1NGE2MmM4NGM1YiBsZWdhY3ktdHJ1bmsKKzgwNDI5IDc2OTE4OTllMTg1ZjI3NzEzNjBlNmY2N2RiYzZlOThjNzkwMDMwOGIgcHkzaworODA0MzAgOTVjNWUwOTRiMzgwNjRkNTRlM2NlZTYyNDQ5MTYwZDdiMGI5ZTEwZiByZWxlYXNlMzEtbWFpbnQKKzgwNDMxIDA2OGEyZTcxNTdhY2VjYmQ2YzMxOTJiMjA4YWQ0Y2IwZmMxN2FjOWIgcmVsZWFzZTI2LW1haW50Cis4MDQzMiBjYTBjYmFjN2I4OTgxY2RmMGFhMzExYWM2ZTk4OGRkNWUzYjdmZDA4IGxlZ2FjeS10cnVuaworODA0MzMgNTg3ZGYwZDc0Nzg1MzNhOGQwOWZkOGJjZDA1NTMzYjlkYWYzMDRhNSBsZWdhY3ktdHJ1bmsKKzgwNDM0IDY3MmFkZmM1ZGI0Nzk5YmJjNzQ4MzY1YmQ4MjQ1Y2YwZjFkNDM2MGUgbGVnYWN5LXRydW5rCis4MDQzNSA2NWQ2YzdiYzVkNWE0NjQ3YjdiNmMwYzQ0NmEzZDA2Mjg0MzNhYzA3IHJlbGVhc2UyNi1tYWludAorODA0MzYgODA4MTBkODIzMThmZDA3M2E0OWYyMDQ2MDgxYThmZjg5YzA2NGI2ZSBweTNrCis4MDQzNyBkODFlZmYxMThkODE4ZWY2MWY4MjNkOWFjOTY1YWNhODMzMDI4ODA5IHJlbGVhc2UzMS1tYWludAorODA0MzggNWU2OTUxOWM0ZTM3ZGIyZTE4YjYwNDQ0Njc2NjY2M2E5NTg1MGU1NSByZWxlYXNlMjYtbWFpbnQKKzgwNDM5IDNiODM0MWQwNTIxNmVjODhmOTU4YTZkNmNiODc3NTlkYWYwZTViYzcgbGVnYWN5LXRydW5rCis4MDQ0MCAyYTc2OGVhMDYwMjMwZTVjODRhODE0ZThiMTk2Yjc4OWFlMjQ5NzAwIHJlbGVhc2UyNi1tYWludAorODA0NDEgNjQ0NjFmNjhhMTBlMDFhYmZhYjFmNTJkNzMzYzkyNzVlYmJjZjg2MSBweTNrCis4MDQ0MiA5MWY5MTY4YWFkZDBlMzNmNDgyYmM5NTNiNjFiNTNmMzkxYzI0YWEzIHJlbGVhc2UzMS1tYWludAorODA0NDMgZjRmZTUzZjg2NjI3NTY1MmVjMTg2NjFhOWMzYmNjZDEyMjg5OGFlZCBsZWdhY3ktdHJ1bmsKKzgwNDQ0IGU5ZDg4OGMwOGJmOGExNmE2N2NkNDFmNWZjODNkMGI4ZTBlNjc3MTUgcHkzaworODA0NDUgYzM5YWNiYjYzZWMzZjUxYzlkY2YzYWUwMTljYTE3MzJiN2M2MzVkMCBsZWdhY3ktdHJ1bmsKKzgwNDQ2IDI0ZmY4NzQwZTQ4MTBiYzc2MjVlYThmNjk3MTJhNDhlMDExNzE1NjQgcmVsZWFzZTI2LW1haW50Cis4MDQ0NyAzYTlhMjJkN2IyMmU4MTI2ZWMzY2JlOTUxNDI4Y2YwNTI5OTAwNTE5IHB5M2sKKzgwNDQ4IDdiZDM4NDcyZWEyMTIyNTEwM2VmNGYxMTg3YzIwNDk2YzI5MDdmY2UgcmVsZWFzZTMxLW1haW50Cis4MDQ0OSBlNGMxZWJjYjQ2MDQ4ZTE3ZmNmMzdhOWE2ZGFiOGFiZTJiMDIwMjUwIHB5M2sKKzgwNDUwIDc5MTI4ZWZlOGE5OTNhMWM2N2E1NTcxMDc0MmJjMGQ2YWIzNzI4MzIgcHkzaworODA0NTEgYTA5ZDdmNDE0Y2QxNWMxNjI3ZDYxMTI2MzlhZWEyMmYzZTY1ZTA2MSBsZWdhY3ktdHJ1bmsKKzgwNDUyIDc2YTA1MmVlZGVlNjdmNDE5NWMxYmVkMjNmOGFlODllNzg5ZWNlYzggbGVnYWN5LXRydW5rCis4MDQ1MyBjZTQ5MTZjYTA2ZGQwMzdjYTEyMjAxZTU4YjkzNmZkZGZkNDE3YTcyIHJlbGVhc2UyNi1tYWludAorODA0NTQgYTUxYWQ4ZjA5YjZmN2YxNmYxNDkxMzQ0NTNjNDM2YTY4NTZjNGNmZSBweTNrCis4MDQ1NSA1ZWQzNGYzZjZjMzU1MWMyNTI1YmE5MTI2NzllMzI1OGM2OTg5ODU1IHJlbGVhc2UzMS1tYWludAorODA0NTYgYTkxOTYxMTlkMzM1YjJlMGMyMWNmMzE2NWEwMDhlMGFiZWU2MDc3OSBweTNrCis4MDQ1NyAwZmY4YWRkZTYwOWNmOWUxNzdlOGQ1MGFiYmYwMjFlNmE0ZjFjNTE1IHJlbGVhc2UzMS1tYWludAorODA0NTggNmFmZjliMGEyODhkNWY0NTUwNDQyMDZhMjU2ODIxYWU5MjQ0MGM0NiBsZWdhY3ktdHJ1bmsKKzgwNDU5IDdlMjIyOTg3NzQ1OWZlMzUyMjU4M2NlMjhmOTIyZmQ5ZDc2Nzk1MjkgcHkzaworODA0NjAgZDVlY2U0OGUxNjA2ZGZlZTYyYjA2OThlNzJmMjI3MDYwMDQ4OTI5ZiBsZWdhY3ktdHJ1bmsKKzgwNDYxIDkyMGYzNDEwNmMzNDRjNmY5MmUwN2U4MzU1OWQ0NWI1NzdlYmY2MDMgbGVnYWN5LXRydW5rCis4MDQ2MiA0Njk4OWNjYzY1Mjk1OWNkZmZmN2MxY2U2N2Y5M2JiY2NmYmYwMDZmIHJlbGVhc2UyNi1tYWludAorODA0NjMgMGY4N2JlNjMzM2RhMzcwMDhmZTExMmI2NzZhYTdlYzY2ODFjYzJmZiBweTNrCis4MDQ2NCBkMDUzYmIzZDc4NDJjYmExZmM0NTIzMDJjOTMzNjBhYWQ3ZjM5OWZlIHJlbGVhc2UzMS1tYWludAorODA0NjUgZWFmNTYyZjU4MDdkZTE5MWQ0MTE3M2E4YTUxYjc1MzY1MWFlMTZmMyBsZWdhY3ktdHJ1bmsKKzgwNDY2IDA2MzIyYWJhODRmYWY1NzdiMjI1ZTZlYzc0ZGYzNjExNzU4Nzg3NDQgbGVnYWN5LXRydW5rCis4MDQ2NyA5ODA4ZGI5Nzk4NTQxMTQ5MGE1MTU2MDA2NmFhNWE2YzBmZDllNjE5IGxlZ2FjeS10cnVuaworODA0NjggYmViY2MyMjRjN2MyYzNiZTcyOTc3ODhjZjM0NDVmZWYyM2Y1ZDgwYiBsZWdhY3ktdHJ1bmsKKzgwNDY5IDVlMmQ2MTc1MWQ5ODA5ZjMyNTVhYmQ1MDYxYTM1Y2ZmZjBhNDgxZmEgbGVnYWN5LXRydW5rCis4MDQ3MCAwMzYzYzY5N2UwZGEzMDgwOGM4MDkxYWFlYTRmMzFmZDMyYWUxZjU3IGxlZ2FjeS10cnVuaworODA0NzEgYzJmZmQyMGQ2Y2Y4OTZlOWZjMGE2NGNjYzIwY2U5ZGQ5N2RmODk0YSByZWxlYXNlMjYtbWFpbnQKKzgwNDcyIGVkZTE2YTI3OTJiNGM4NTk3MzNmZTM3YTk0ZDg5OWY3MGYyYzBkZTEgcHkzaworODA0NzMgMDNmMzFmN2U3NjI3NmFkYjkzMjQ0NzhhNTAzZDUxMDRiNGU2YzEyYSByZWxlYXNlMzEtbWFpbnQKKzgwNDc0IGQyM2Y2MjZhNzM3OTkxYWEyNDhiYjE1MDBjZTRiZTdmYzg5Yzg4ZWEgcHkzaworODA0NzUgZmUwYzQ3ZGQ1Zjg0ZjE0MGE2NzdiN2FmMGE5OTY4NDQ2ZTBiMTVmZSBweTNrCis4MDQ3NiA2ZmIzODQ3ZDM5ZWYzOWEwNTc4NTJmYzFjYzFhMmI1MmQ5ZmM0OTEwIGxlZ2FjeS10cnVuaworODA0NzcgYzM2YzgzNmZmNDY1MTI2NWNlMzRhZWJjZWQ3YzYzOTAxYmM4ZTZiZSBweTNrCis4MDQ3OCBiOWYyMTAyYWQ1ZjAyNjg1ZjZjZTZmM2Q0YTdmNGQ0NDhiMmYzMTM3IHB5M2sKKzgwNDc5IGVkZmQwZTFiOTc1NGQ3ZTVkNTkyMTdjNzRlMDJmNjVlNDQ1ODMwNWYgcHkzaworODA0ODAgNWFjMGFhZTI4ZjRjMDIyZGUyYTdiYmZlOWVkZDUxOTNmMTc4NTgyZSBsZWdhY3ktdHJ1bmsKKzgwNDgxIDk2Y2E1MGNiMjYxMzU5M2FmYjIzZDdlYTgxYjFkNTlhMTU2YmYwODggcHkzaworODA0ODIgZDgwNGRkOTU3MzdjM2FmM2UxZThkZTZiYzU3YWYwMjcxZTMyODU2MSByZWxlYXNlMjYtbWFpbnQKKzgwNDgzIGMxZmI3ZDVlZTQzNzNiOTRhOTExY2QzZGIwODRkMjRmZDBhZDg4OWMgcHkzaworODA0ODQgNWYxOTYyMjIwNzkyODgwOWNiYjY0NzI3NzM2NTFhMDNkMDJhOTU2NiBsZWdhY3ktdHJ1bmsKKzgwNDg1IGU5ODI2NmM1MWEwZTA4ZTFhZWRjMTFkZThkNWU4NGQyNTJiNDc4ZWYgcHkzaworODA0ODYgZWE0M2Y3ZjZlODRjZjk1ZjdjOTQ1N2JjYmExMWU4MzNiYWJkYTRjNCByZWxlYXNlMjYtbWFpbnQKKzgwNDg3IGY1MjNlNDBkZjljNTY4ZjdiZDc0MWNiZmM2ZDk3ZjFlZWRmMDljNjQgcHkzaworODA0ODggYzAyMTQ0YjFjOThjYTBhMWYyNTc2YmQ0ZGU4ZWZiNjY3OGM2NjdjOCByZWxlYXNlMjYtbWFpbnQKKzgwNDg5IDY1NDhjMjM2NzZhNjg3YWEyZGVjYTNmZjFmZWRlM2EyODU1OTk1ZTQgcHkzaworODA0OTAgZWYwYTg5ODFjMzcwMzFjMGQ1ZjQwODU3YTk5YzJlZjk1YmRlNWYwMiByZWxlYXNlMzEtbWFpbnQKKzgwNDkxIDkxNjUyMzJlNmQxYWU0NGM3MDNjNmM3MWM1ODYwMDFlMjMwMmNiMDIgcmVsZWFzZTMxLW1haW50Cis4MDQ5MiA4YzcxNzkxMjU4MDMyNGU3ZmQxMTM1YTliNjI3M2U0MzYwMDQ5ZjRiIGxlZ2FjeS10cnVuaworODA0OTMgMmEwMzBjMWNlOTcyZDU4NzAzNzAzYTk2ZjY0ZDg2MzViYWY2Y2JlMSBweTNrCis4MDQ5NCBiNzE4MjYyNDlmYmUxM2M3YTM0ZGZjMWRhNGU1ZjBlZmFmNzNiYzk0IHJlbGVhc2UzMS1tYWludAorODA0OTUgYWE2ODU0YTZmNmQxZDA4NGFlMGI1ZjdmNjE0NWI4NGJkZWM1YTJmNCByZWxlYXNlMzEtbWFpbnQKKzgwNDk2IGQyYTRlOTZiNTRhNmNmZTU3OWNkNDI1MTM2MGMxMjNhMThmODk0ZTMgbGVnYWN5LXRydW5rCis4MDQ5NyBhYjhmZTk0NzczMjM0M2QyZTQ3N2JhNTY2NWU0ZGRmNGIzYmQyNWNlIHB5M2sKKzgwNTAxIGVmZDcwNTUzYTA5ODkyMzJmZjFmNmI0N2JkZjNiNTNjMDBmNTdjNmYgcHkzaworODA1MDIgYzAzYTNjNmE0NTYyNjBiNmY4YzA1NWQ5ZjQxZDE0YTk1Y2Q4ODg5YyBweTNrCis4MDUwMyBkNjNiYjM1ZGUyZjAwYWEzODNiMGUzYTRiNGM5OWMyMzE4NDk4MjAxIGxlZ2FjeS10cnVuaworODA1MDQgMDQ4ZjZhOTJiZGUzYTZiOGQ3NTNiMGMxYTFjODQ1ZTk0YTg3MzM1MSByZWxlYXNlMjYtbWFpbnQKKzgwNTA1IDEwZGFmNjM0ZTI0ZjQ4MjY5OGFjZjc5NGU3NDZlZGVkMzM5NjY0NWMgcHkzaworODA1MDYgY2YyMDRhNzM3ODNkODVkYmMwNGRiNGJjOGU1OWIxZWFlNDU2N2IzNyByZWxlYXNlMzEtbWFpbnQKKzgwNTA3IDdmYzIxMWRmM2Q1YjIwNTA0YTRkYWIyMmRmOWYxZTY4NWUyMjhhY2IgbGVnYWN5LXRydW5rCis4MDUwOCA4NjAwNzM1MDVhY2EzMjlkNDBiYzlmYTBlYmUxMTQzMGRhYjAzYjlkIHJlbGVhc2UyNi1tYWludAorODA1MDkgM2ZlOGNmNzg3MzUzMDM3NDg0ZjNkNmNkMTBkNmIwYTk1NmZhYTU2ZCBweTNrCis4MDUxMCBiODc3ZDJkMDRjMTQ2NzViMTIwZTg0ZmRiNDcxN2JiYjAwNmQ2MjU5IHJlbGVhc2UzMS1tYWludAorODA1MTIgMzA5MDM1YzIyZGNkY2NmYjZiY2RlYzZiMDYyNWFkNWYzZmIwZjQ4MSBsZWdhY3ktdHJ1bmsKKzgwNTE1IDNiMjQ0ZWIyMGZhMTNiMThmMTUxM2E0YTcwMWJjZmUzZmRmMDk4ODIgcHkzaworODA1MTYgZDU1OTBhOTg3Y2IwNmUwYzIxNDEzNDczNWM5NTg0MjNhNjQ0YzlmYSByZWxlYXNlMzEtbWFpbnQKKzgwNTE3IGRkNDY2NDk0NTQ2ZGRlMzcyNmFjNWQ4NGZjMmQ2ZGQ0ZDRkZWEwMjkgcHkzaworODA1MTggMTFjOWFkYWVmOTZiMGJjMzYxYWQ5NWFjNmM4YmQwNzhjNjM5NTBiNCByZWxlYXNlMzEtbWFpbnQKKzgwNTE5IDE1NzFmMDlmNGEyNzc1ZGQzODZhNjRlMDQ0NjYyMWVlMjFkZjczZTcgbGVnYWN5LXRydW5rCis4MDUyMCA3ODRjZmJhYTIyOWYxNjBjZGI2YTBmZmFlOTkzNmY2ZmQ2NDM1YmU4IHB5M2sKKzgwNTIxIDgzYjkzMDM2ZWMzZDdjNjViZGEzOTY3YzM0NDdjNzc2MTM1MTVlN2EgcHkzaworODA1MjIgMThiMmRiYmJjNWIyNTIzNzI1YzAyYThiMWUwMGRkMmUyZmRlYmU3YyBsZWdhY3ktdHJ1bmsKKzgwNTIzIGMwN2QyZTVhY2Y2NWMxZjM2YWVkNjgwNGJlYjUxNzE1MDllNGMwMjggcmVsZWFzZTI2LW1haW50Cis4MDUyNCAyMmRlNmM3MWNkYjQxNTIxNmVkZjdmM2YzMzQ4YjFkYzFjMTZiNTU0IHB5M2sKKzgwNTI1IDQ2YWFlNDA2NzQyZDlmMTYzZmJjYjRiNGMzZGZjMjdkNTEwOGEzNTMgcmVsZWFzZTMxLW1haW50Cis4MDUyNiA3MTIzMDE1MDY3MzBkNzQyMTNmMGQ0ZDQyZDBjODUzODUzMzZlZDAxIGxlZ2FjeS10cnVuaworODA1MjcgNmRhOWVhZmIxZGFhZGJlZGJjMDMwZDE3NWNjZTBhNmIwNDE0NjFhZSByZWxlYXNlMjYtbWFpbnQKKzgwNTI4IGUyNWM3OGE4MmEwODNiOGZiOTk2ZTFlNTE4ZWNiMjU5NmUyNWVmM2MgcHkzaworODA1MjkgZDQ0N2M2MGZiNGQ4ODZjNGNkNzczZThhYzUwMzM4ZjI0NWExNTEwNyBsZWdhY3ktdHJ1bmsKKzgwNTMwIDFlMWIyMzUxY2YxMmZiNDU4MmM5MzdlYTJjN2ZlOTk4YzRlZTljMzYgcmVsZWFzZTMxLW1haW50Cis4MDUzMSBmZmU5OWY1MjJkODYzYmNhOWE0MWJhZDk3NjJmYzJhZTVjNDA0MWM3IHJlbGVhc2UyNi1tYWludAorODA1MzIgZDYyNzA4YWUyNmE1NTM2YzBhMDU3Nzc1MzNlZDIzMzJhYjAyMmZiNCBweTNrCis4MDUzMyBjODY5NDA4ZDRkM2VkZGMxODQwOTY0ZjE3YTIwMzdiZDViYjRjYzY0IHJlbGVhc2UzMS1tYWludAorODA1MzQgNjFhZTY2NGRlNTZiYTA1YTE3NDk2MjU2MDc2YmY5YThlMDAyMjczOCBsZWdhY3ktdHJ1bmsKKzgwNTM1IDk2OWVmNWViODBjNDM1MzI3MzcwNzY0YmE4ZDkwMmQwNTgwZTY5NmEgcmVsZWFzZTI2LW1haW50Cis4MDUzNiBmMTBhMzc4NzhkODQyZDI3MjE5YWVmNmYxYTE1ZTQyNDIxMWJhNmMwIHB5M2sKKzgwNTM3IDcxMTUyY2U3MDFlYTVkNDJmODY3NzViOGZhODVhNDlhMmIwMWFjMTYgcmVsZWFzZTMxLW1haW50Cis4MDUzOCA1YzM4MmJmYzAxNWE2NjRkYjk4ZThmZDE3Njc2MjYwNWZkODJmNDViIHJlbGVhc2UyNi1tYWludAorODA1MzkgNmE5MGRjOTY3ZmVkMDBjMTM3NmI4MDFiZDFkYmVkODJkNjNhYmIzZSByZWxlYXNlMzEtbWFpbnQKKzgwNTQwIDQ0OGVmOTAwMDgxY2UyYzg4NmMzODZmODdjOWY5M2FjYjg1MDRhN2YgbGVnYWN5LXRydW5rCis4MDU0MSBlZWY0Yjk1NGQ2NDQzOTBlNDdmYTliMmMyNWQzY2FjOGRiN2M0ZTNhIHJlbGVhc2UyNi1tYWludAorODA1NDIgY2FmZWY3NDU0ZGY5ZWNhZTY5Y2IxZTM5ZjUzYWMzY2YyZDZhYmZjYyBweTNrCis4MDU0MyAxNjRiM2FjYWQ5ZGFjYTEzZTAwZjlkMDllMmIyOGE3ZWUzZDJkNWRjIHJlbGVhc2UzMS1tYWludAorODA1NDQgYWRjMDc5N2JhOTIxMmYzMWVkZDcxNzJmOTg4Y2FiZDNlMzk0NTc3YSBsZWdhY3ktdHJ1bmsKKzgwNTQ1IDM2OTFkNzViMDYyNjM4NDE2NGVkODMzMjEyNjg3NTQwMjdiNWNlMzAgcHkzaworODA1NDYgNmVjYjNjODNmZTgxYmYwNTYyMWQxZWRlMzQ0NDllNzQyZDM4MzljOCBsZWdhY3ktdHJ1bmsKKzgwNTQ3IDE3Y2MyZjUzMjU2MzEzYWI5ZDUzNDhlMDAyYjg4YjE3ZGQwMTMxZmQgbGVnYWN5LXRydW5rCis4MDU0OCBjY2IxZDVlZjA0ZDZhOTIyY2RmM2M1ODc5YzE1NzQ2MzIzMWE3Zjg5IGxlZ2FjeS10cnVuaworODA1NDkgYWU2ZjU4NjViMzg2MDQxZDFkOGIwZjRhMzQ4YTdkM2I2MGY0ZjEzNiBsZWdhY3ktdHJ1bmsKKzgwNTUwIDFhYjI0OTQxYzk5NmFmZTk3MDllZTQ3NGNiMjFkMTFmOGVhZDY4ZGEgcHkzaworODA1NTEgM2I2OTc5MDU1ZjVhZTE4OTQ3NTNiNTE5NTc0OThhZjNjYThhMzVmMSBweTNrCis4MDU1MiA2ZDlkODU0NTg2MWVlYTRiNGY5M2U2MTIzOGVhYmE5NDljMmE4NjVhIGxlZ2FjeS10cnVuaworODA1NTMgMTM3OTE2NTQzZWZhZTc4ODI2YTUzZjBkNDMyOTkyMTc5NzRhNWNiYiBsZWdhY3ktdHJ1bmsKKzgwNTU0IGM3YTU4MjJiZjI5NDg3MzYzOGUyNzkxZmQ1NDMzMTg2MWQzMTAxYTkgbGVnYWN5LXRydW5rCis4MDU1NSAwN2NlNWFmMzE3ZWUyYjNiZTI5NmM4MWY0MTM2NGRiOWZkNzExOGQzIGxlZ2FjeS10cnVuaworODA1NTYgZmIxMGVmMGVmYTIzNTUyYmU3ZWZkYjkzMjc5NjBjNmU2MGVlNWQ3NyBsZWdhY3ktdHJ1bmsKKzgwNTU3IGZkM2FiZjgyYWM5NjA1Y2EyOGFjYzhhMDUxZmQzMzIzZmUyZDJlODMgbGVnYWN5LXRydW5rCis4MDU1OCAzMTZiNTcwMTdkMGYyNTc0YzIwMGI5ZmQwNDcxOGJjZWFhYjJmZmY2IHJlbGVhc2UyNi1tYWludAorODA1NTkgOGM2NDY5NjdiYTZiN2YzOTQ4NDFlNjMwNmY2NzQ1OGNmZjMyYjk3ZSBweTNrCis4MDU2MCA4Mjc5MjBjNTQ2YWY1ODA0ZjY1N2NiMmQzMmNkZjlhMGQ0YzhhOWM5IHJlbGVhc2UzMS1tYWludAorODA1NjEgNGE2OWQzMmExN2I5MDc2ZTcyNjA4N2M3MmQzOTE2YzU0MmQxMzM1MiBsZWdhY3ktdHJ1bmsKKzgwNTYyIDQ1NzIxYjljYTIyMDQxNDQ1NDVlNzkwNTBjNmVlMGE5ZTBhZDBkMTMgcHkzaworODA1NjMgODFkNzAzM2Q5NWEzNWU0M2E4MDExYmU4NzEzN2M2MjRkNGE5YWEyMSByZWxlYXNlMjYtbWFpbnQKKzgwNTY0IGI4OGFhMTNjZWFmMjU0MWE0NmFkMTQ4NzQ5ODc0NWZlOGUzZjYzMzYgbGVnYWN5LXRydW5rCis4MDU2NSA5NjdmN2JjMmRjYzg2MzU0MWYxMmQ3NmEzYWUzYjkwNGJjZDcyYTEwIGxlZ2FjeS10cnVuaworODA1NjYgODJkNDg3MjQxMzA2N2I5NjA0NDkzMWY1NGQ2MjBlNTIyYjdkNTA0MCBsZWdhY3ktdHJ1bmsKKzgwNTY3IGIwZjM0MmFiNTA5NTE4YTZjMDI1NmFiMWQ1NjA4M2ViODZjMjRlZTMgcmVsZWFzZTMxLW1haW50Cis4MDU2OCBmMDkwYmQ3MmFjZDgyYTYxMDQxMTlhZjYwZWEwOGY0ODk3MDczZmEwIGxlZ2FjeS10cnVuaworODA1NjkgMGRjMjExNWY2YmJlYWRmMDg3MjIyZDNiNTkyZGMzZTdhZDJlZTlkMiBsZWdhY3ktdHJ1bmsKKzgwNTcwIGJhZWZkN2I0MjVmMTc4MWNiNTE5ZWMzOTU5NzUyOGIyMGI2OGM2ZWEgbGVnYWN5LXRydW5rCis4MDU3MSAzYTA0ODQyMDAwMzQzOGY1NzZkMjA4NzhiMjIwOTZlYjIyZDQxNjUxIGxlZ2FjeS10cnVuaworODA1NzQgZTg0YTRjZGU3OWM3Y2EwYjYxM2IyYjQ3MzQ2ODhiOWY1MWQwYjcwNCBsZWdhY3ktdHJ1bmsKKzgwNTc1IGVjNzcxNWVhMmM3NTEyYmVkYzIyMzQ1NTI2OGMwMjc3NmYyYmI0ZDAgcmVsZWFzZTI2LW1haW50Cis4MDU3NiA2NWJlMWU2NzhlNjNlMjY4YzdmNmQwMzQxMjkwNzhjZmI2YjU3YTk1IHB5M2sKKzgwNTc3IGQ3NGVkN2UyMWU2MjkxYTlmZmVjOWEwYWQxOThhMjFiMDhkZWU0MDggcmVsZWFzZTMxLW1haW50Cis4MDU3OCA1MWUzMGI5MTZmYzQ5N2NmZWJhZWNlYTVkNjllYTdjZDdiODE5YmM4IGxlZ2FjeS10cnVuaworODA1NzkgMjIwZDQ3NjdmYTk3ODFiYmQ1Njk3OWVhZDE3ODMyM2RlZGRhMjE4OSBsZWdhY3ktdHJ1bmsKKzgwNTgwIDBiNWM0OGM3NjIyNDNlN2ZhYzU5NTdhMWJlYWQ3ZmJjYzU3NGE5YjUgbGVnYWN5LXRydW5rCis4MDU4MSBjOWU0MGNlZGM4YmMyNWZlZmNkOTZmMWJhZDhiYzc5ODc3MWY2NzM1IGxlZ2FjeS10cnVuaworODA1ODIgZmYxYTU5M2Y4ZDIzYzFmNzc4ODJjZGRhM2NlZWNkNDQxNTUyMTdmMyBweTNrCis4MDU4MyA1NzU0OGNjZTFlYTA1YWI2MTQ0NGE2N2Q0ZTNjNDg4ODdiZjhkZTQ2IGxlZ2FjeS10cnVuaworODA1ODQgMWUxY2M2NzJlYmRkMjc2NWYzYThmZDlmODFhYWU4ZDc5MGEyNTNlYSByZWxlYXNlMjYtbWFpbnQKKzgwNTg1IDA0YTE4ZTU5Y2MyYzQwNGQwMmQ0M2YwMzAyOTM0NGQyNTgzNDFmODMgcHkzaworODA1ODYgY2Q4OGY1ZmUyZDA2NTIzMDBkOTM4M2JlODZlMjg4NGM4ZGZkYTQ2MyByZWxlYXNlMzEtbWFpbnQKKzgwNTg3IGZkN2VjNjA3ZTEwMWE1OTQzYzJkNDlhMTcxOThlZjRhMzlmYzhlNzAgcHkzaworODA1ODggNjk1MGVhYjUxZmZlNjE3ZGEwMTM0Mjg3YzNhOGM1ZDA1MzBkOTMxYyByZWxlYXNlMzEtbWFpbnQKKzgwNTg5IGE0Mzc3NjU1M2FiNTMwNzgzY2I0Y2RjMTY3NzllZmNkNWU4ZjRiY2UgcHkzaworODA1OTAgMDVmZTEzN2I3ZWZmMDM1Njg2OGM1OTAwYzNhZDEwMzg0ODNlNDhmYSByZWxlYXNlMzEtbWFpbnQKKzgwNTkxIDcyMTY5MmVkNGE3Y2E5OWU5ZDk5ZGRlN2ExMWQ3Mzk3NmM5ODdiZTEgbGVnYWN5LXRydW5rCis4MDU5MiA5N2NlNmNlNmEyODk0OGJjNmY0NTVjODgzYmI2ZjZhMzU3MTFmNWY4IGxlZ2FjeS10cnVuaworODA1OTMgMGY2NWZiZTY2ZTNhM2JmOWE2OGFjNDg5MzY4YzYxOTYwODdhYzc0NCByZWxlYXNlMjYtbWFpbnQKKzgwNTk0IDU5YjJhZGI1MmIxNmIxODkzMjM0NjRkMjBmMjdkM2JmYzc1MzRjOTAgcHkzaworODA1OTUgZTdmMDVkYjVmM2IwMzI3NDQ2OGM4ZmVhZmJjNjYyMjJjMjNiYmIzNCByZWxlYXNlMzEtbWFpbnQKKzgwNTk2IDgwN2ZjYWM0ZjE3YjUzYTQ2YTYzYTFiMjNjMDUyMWEyZmRkZGM4OTUgbGVnYWN5LXRydW5rCis4MDU5NyBlYTgzYTYxZjY0MzBlMWE1ZTNiN2E2MGZlMzdmZTg4ZjVmMDIzOGQxIHJlbGVhc2UyNi1tYWludAorODA1OTggMGYzZjhiOWViNmZmOGRiMWRhOTc2MGM4OGVhZjM5ZDIyN2E4YzdiOSBweTNrCis4MDU5OSAxZDJiMzIyYzQ2YmUzNDVkMGZmYTdiMWI4ZTJjNzg0ODBmZTkzNmIwIHJlbGVhc2UzMS1tYWludAorODA2MDAgNDkzYmI0NTg1ZTM4MGYwOTkwYTVhMDUxNDczMmU4ZTg0OWM1YjZmNSBweTNrCis4MDYwMSBkOWFmYTVkMTIxZWE3YjY4OTU3OWIzMjZmOWNiYWEyYmE3YTViMDhmIHJlbGVhc2UzMS1tYWludAorODA2MDIgOTRlM2U5ODlhZTIzZjdkYzRiNzcyN2ExNzExN2I3OGViOTFkZGM1MiByZWxlYXNlMjYtbWFpbnQKKzgwNjAzIDE4NWRlMzFjOGE2YzlhOTQ2ZWIyOThkNDkyYjk1MTEwMmVjZmQ3NzYgcHkzaworODA2MDQgMDA3MzE5YTljODg4Y2ZkNjUwMGQzOTcxNWU0MmVmYjI5Y2UwZWQ2YSByZWxlYXNlMzEtbWFpbnQKKzgwNjA1IDVmODgzMDkzNWQ3NDQ0OTQyNmM4ZTQzM2EwMDk0M2JhN2JiODU2Y2QgbGVnYWN5LXRydW5rCis4MDYwNiA1OTNhMjI1NTAyNzU3ZDM5ZjU1ODNhNTE3YjdmYjAzNTlmNzE2ODViIGxlZ2FjeS10cnVuaworODA2MDcgMmQ1YzM0NWYzNGI5OWNjODczYWI4ZDliZDVmYjVjZDE3YzQwNjI4MSBsZWdhY3ktdHJ1bmsKKzgwNjA4IDAxYmRkNTNmNzQ4OTllZDhhNDE3MzY5NWExN2IzOThlNGUxMDg4ZjIgbGVnYWN5LXRydW5rCis4MDYwOSA4NDAwOTEzZmNjNTU1ZDY2NGEyZGYxNzE4NWRlZGEzYTcyM2I5YzdjIGxlZ2FjeS10cnVuaworODA2MTAgMzQzMWUxMzM5MTNjOWNmODRlOWM3NmYwN2Y2N2ZlNThiNWRkMWEwZCBsZWdhY3ktdHJ1bmsKKzgwNjExIDQ4NmZlODJiYWZiODRmNzg1ZmY4NTJiZDBjMTVmZTVkNjIxZjgwNjQgcmVsZWFzZTI2LW1haW50Cis4MDYxMiA3NzgxMjFiMjM4OGIzZDE1ZmQ3OTgyMjk4MDM5ZWYyOGJjZmFjMTYxIHB5M2sKKzgwNjEzIGU5MThiODRlZjk2OGNjODkwNTVmZjIyYWNjMDFiZjdmOTgyYzY1MjggcmVsZWFzZTMxLW1haW50Cis4MDYxNCA0YjU3MDE5MTUwYThiM2RjZWZjZWE3YzI2YjI1NTQ0ZTlhYjAyOTNhIHB5M2sKKzgwNjE1IDc3ZGRiOGQzYzQzMzU0ZDVlM2E5MDNjMDZmMDhjNTZlZTdlMTJkYmIgcmVsZWFzZTMxLW1haW50Cis4MDYxNiA0ZDk2MzRiODQ0OWJiOGQ0ODQzYTExMTgyNDIwMjM1YmRkYTJhZDU2IGxlZ2FjeS10cnVuaworODA2MTcgNmNkYTYwMWY0YzU4NTZmYTYyMjVhYmMxOWM3YWI3OTgwOGVhMDM1NCByZWxlYXNlMjYtbWFpbnQKKzgwNjE4IDllNTA1NzIwMTVhZDViMTkxNTU3NjhjYTc4ZWYwNTFkNDY4MTk1Y2UgcHkzaworODA2MTkgNDA1MjM3YjExMTA0MjUzODQxMDg1Yzc1M2M1YTM1ODY2NTVmYTQ2ZCByZWxlYXNlMzEtbWFpbnQKKzgwNjIwIGVjNmU5ZTBlMzE2ZDI4OWNkNTlkMjQwYjQ4MmY1YTczODRjYWI5OWUgbGVnYWN5LXRydW5rCis4MDYyMyA0N2ZjNmZlNWU0NTRmY2QxOGQ5NjM3YWMzZGM3OGFlODg3OTY1MTgwIHJlbGVhc2UyNi1tYWludAorODA2MjQgZmM4MjJhZjExYmJjNjhiNjgxYWFhYWM5ZDRmMDU0MGRkOGM0NDM3NyBweTNrCis4MDYyNSBkNjZkYjFiMjJkMTA5ODk0OTZhOTFiYzdjYjIwYTAxOTczZjBiNDY3IHJlbGVhc2UzMS1tYWludAorODA2MjYgNGRkZmI1ZGQ0YmI3OTRiYTYwZTg1NmVlYmMwYzg0ZTQ1YzQxOTZjYyBweTNrCis4MDYyNyBjNDgyYjQxYWU4NTU0ZmE0YzM3YzExMzM1YjNlMDhkMjIxYzY2MTlkIGxlZ2FjeS10cnVuaworODA2MjggMDZlMDExMGIwODIwOGI5MWNkYjRhM2ViMTIyMGE1ZTYwNmI5MjRlYSByZWxlYXNlMjYtbWFpbnQKKzgwNjI5IGY2MjcwMDI3ZTQ5OWYxOTZiMDBkNWM5ODM2ZThiZmJkZWM0YjNmYzYgcHkzaworODA2MzAgYWNlMzQ1Mzc3ODAwMGNjMDNkYjU2NWNmMjU0YTI4NTM0MGRhZjNmOCByZWxlYXNlMzEtbWFpbnQKKzgwNjMxIGM5MDg4MTkyN2JhZGE2ZDkwOWFjNWQ0ZmQyNWY1YWFkNzE3ODZlYjIgbGVnYWN5LXRydW5rCis4MDYzMiBiNmIzZTRmNzc3Yzk2ZTZiMzVhNzcyMjk0ZWM1OGFhMTQzZWQ5YzgwIHJlbGVhc2UyNi1tYWludAorODA2MzMgOWNjNjkzZjlhNWRlMDNkN2E2YWZkNGJlYTYzMWNjY2Q0M2Q4NmQyYSBweTNrCis4MDYzNCBmMzJiOGEzYWU5ZDYwMjk0ZTMxMGViZGQyODg0NGFkZjc2ZmY0NTkzIHJlbGVhc2UzMS1tYWludAorODA2NDAgMzZhNDE3OTgxMGYwYjY3MGZlNDc4MGM4OTE5ZDQ5MTQwZjIyMGNmYSBweTNrCis4MDY0MSA2OTkwNDliM2M3ZDcxM2YzODlmOGZiZDgzN2E5YzJmOGJkNWEyZGIxIHJlbGVhc2UzMS1tYWludAorODA2NDIgMmQyYTg1OGZlM2UxOTRjZjlkMDkzZmMzN2NiNTVjMTUwNGM5N2JmOSBsZWdhY3ktdHJ1bmsKKzgwNjQzIDdlMzYxYTZhMmFjODIyZTc1MTM5NjE4YjUyZjA3MWUzN2RhY2Q4YmIgbGVnYWN5LXRydW5rCis4MDY0NCBmZTVhMDA2YWY1MmJkZTcyY2YyODQwMWRmMjMxMjI1ZWU3ZmZjMWFjIGxlZ2FjeS10cnVuaworODA2NDUgOWZjZWNlNDA1ZTI5NTExZGI0OGNmNGY2ZDdmNDc3NWFmNDBiMjA5ZSBsZWdhY3ktdHJ1bmsKKzgwNjQ2IDVhNDg4NjViYmMxZTZiMDNjZDY5NTM0ZWZlNmE5NGQwZTFiYzcxOGUgbGVnYWN5LXRydW5rCis4MDY0NyBjMmUwYjkzZjg2OWY0MWNjNWE0NTU2Y2ZmMWYwYTVkOTk4NWJjZGM2IGxlZ2FjeS10cnVuaworODA2NDggYmZkMjU0MWQ4ZWM1YTM1MDk4MDIyOWExNDk2OGU2OTg0ZGYwNmEyNCBweTNrCis4MDY0OSAxMDIwNmNiMjNjODAyMWJmYjkzMzEzNmNhNzU5NjlkODRmNDcyODgwIGxlZ2FjeS10cnVuaworODA2NTAgNjIxZDJlOTg0ZDE4NzZkMDhkZGU2YmIwYjE4ODM3M2JkMmNlNmE2OSByZWxlYXNlMjYtbWFpbnQKKzgwNjUxIDJkM2FiYThjZjZhMzQ4YzY3YTI4OGJhNWIwZDE1NTYxMWIyMjNlYzcgbGVnYWN5LXRydW5rCis4MDY1MiAyYmRiOGViZmM0YTk1MjNkNTk1MWNkYzFiZTc1MDU3NTE5NWNkZjFiIGxlZ2FjeS10cnVuaworODA2NTMgMWI4OTQ1OTQ0OTBmYmUzOWYwZjJlNmQ2ZmQ1Zjg3MDllY2JiNjU4YiBsZWdhY3ktdHJ1bmsKKzgwNjU0IDdhMzVlMGI4YWUwOGM1YjUyNzQ0OGMxNTVhMDM2ZDY2YmQ1NTM2YmQgcmVsZWFzZTI2LW1haW50Cis4MDY1NSBlNDdhZWE4NmY3MTQzMzRlZmFhMTIwNGVkMTE1ZWEyYmYzZWVkZDNjIHB5M2sKKzgwNjU2IDA5MWQ5NzdjNGQzNzQzY2Q5NDdjMjExMDFkN2EyMGI0ZjI3MTVmZWEgcmVsZWFzZTMxLW1haW50Cis4MDY1NyBiYzYyMzBjNjZjMTQxZTBhYmJlMjExMzAwYzcwOTY3ZmQ0YzJmYzJmIGxlZ2FjeS10cnVuaworODA2NTggMDBhYzQ2ODhjZGNkMGYzZDMzZTI2OGYyMTIzNGNkNTA0N2MzYzk0OSByZWxlYXNlMjYtbWFpbnQKKzgwNjU5IDdhOWQxNzJhMTVlOTA5ZTFkNDNmNGIwNmM5NTg1NThlZGE1MGIxMjYgcHkzaworODA2NjAgYWY4MTA0MzFiZGFjOWYzMmE1ZDVjNWY1NTI2YWQzNGU1YjI2MDlhMSByZWxlYXNlMzEtbWFpbnQKKzgwNjYxIDU5MWRlNmM5ZmZlOTQ3NDhmNTRiZjE3NTNmYjE0OWZjZTk2YjExMGIgcHkzaworODA2NjIgNTFjZDUzZDNmNjAwYmZjNTU0NTQwOWMzNjcxNGU4Y2VmZDg1ZGUyOSByZWxlYXNlMzEtbWFpbnQKKzgwNjYzIDc3NDIzMDA3ODkyNmVmN2Y2ZTQzZDExOTFjMzI1MTg4NzNlOWI0Y2UgcHkzaworODA2NjQgYjI1ZTRiYTRhZjYxNmU5MzNhOTBlZjk3Njk1OTE0N2Y0YjE4MDI2MiByZWxlYXNlMzEtbWFpbnQKKzgwNjY1IDhmYzk4N2NhYzkxM2YyY2RhZDQ4MjRmYWE0NmRkMTk4Y2E1YWE0MzggbGVnYWN5LXRydW5rCis4MDY2NiAzZTQ1MTM5NDdjNTdiZjNiZGUxNzEzZTY3NjJkZTMzZGZhZjlhYjljIHB5M2sKKzgwNjY5IDNjNGNkN2RkZjFkMDE3NDY2NGIwZTg2MDU4MzdhMDU1NTU3YTE3MzMgbGVnYWN5LXRydW5rCis4MDY3MCAzZWI2ZWFkOTlhNjFhZDEyODBlMjg1ODQ0NDUyZjJhNTg1NDE1MWIyIHJlbGVhc2UyNi1tYWludAorODA2NzEgYzkwNjBjMWMxZjkwNTQyNjhkYmM4MjBkMjQ1OGIyMjk5NmMxOGI5ZCBweTNrCis4MDY3MiA4ZTM0ZDU5YmFkZjk4ZjdkNjJmYmM5Yjk0MmE4YjVkMjNhYWIxZWFlIHJlbGVhc2UzMS1tYWludAorODA2NzQgYWI2NDIzNzlkZGMwMjk0NTZhMmFjODAxZTBhNGVlMWYzOTY2MWRmMiBsZWdhY3ktdHJ1bmsKKzgwNjc1IGFiZmM3ZWQzNTVlNGUxMTJlZmJmMzE1YTQxZGI5Y2RjOTcwMDk1NDUgbGVnYWN5LXRydW5rCis4MDY3NiA1YjZhN2YyYTA1YzZkMTZkMjU5MTQ5Y2UzOWI0ZTMwMDI1MmQ2YTFjIHJlbGVhc2UyNi1tYWludAorODA2NzcgNTVlMGVjY2M3ZjQ2ZjM0N2RmNDAwZjNhNDgyMjFlNjcyN2E0ZTcwMiBweTNrCis4MDY3OCA1MmEzYWI1ZThlOGNmNjU5ZDcwMDliMWFkZTYxMmM2YmM2ZWYzNjZjIHJlbGVhc2UzMS1tYWludAorODA2ODEgM2ViYWMwZTQ2MGUwMzllMzk4NGM2OTQwODM3ZGY1N2Q2ZmMxNGJmZSBsZWdhY3ktdHJ1bmsKKzgwNjgyIDI0NWU0MzNkNjBlYjVkYzUzZTExZDNmMWJmNWY4YTg0ZjQ0NWIxNWQgcmVsZWFzZTI2LW1haW50Cis4MDY4MyAxOTMwNGQ4MjNjODc0N2MwOTdhNDVhMTA3MDBiYzAwNTdiNzg5NjNkIHB5M2sKKzgwNjg0IDgyZGEyOTBmZjcyMjNlNmJiYWQxNjNjNTY5ODJjNmVkZGU2MjE4MmQgbGVnYWN5LXRydW5rCis4MDY4NSAyZGI0YjMwMGE0MjA4NTY0MmM1NWQ4NzVmYjliZTI2MGRjMWM4ZmFkIGxlZ2FjeS10cnVuaworODA2ODYgNThiZTNhZjEzMGUyNmE5ZWI5NGUzNDg3YmY1NTVhMDA3N2U2NGFhNCBsZWdhY3ktdHJ1bmsKKzgwNjg3IGY4OWJhMTBmOTczNDk1OTllNzBiYjkwYzJhNzFmZjljYTk5YzJmOWYgc2lnbmFsZmQtaXNzdWU4NDA3Cis4MDY4OCBlMjhmZWRmMzYzNTk2OTRkMzA5ODc2NGQzMDc5ZDcyODk4MTIzNmZhIHB5M2sKKzgwNjg5IDIxMzU1ZGFhZjIzYTQ2ZGI5NzZjMjkxNDI4NmZiNjgzNzFhMDhmMTkgcmVsZWFzZTMxLW1haW50Cis4MDY5MCA3YjMwN2EzMDI3NDQ3NThkMjBlMjAyMjEwMmZiMDM0NjVhMjczYzgwIGxlZ2FjeS10cnVuaworODA2OTEgZjBlMjFhYzc5NWY0NzVjMzg5NjhkMzU2ZTA3ODJjMGI0OGFmZDE1NyByZWxlYXNlMjYtbWFpbnQKKzgwNjkyIGZkYTFkZGFlMDQ5YzY3NmVhMTQ0NmVlNWNiZDhkYjg4ZDQwZjA0ZDkgcHkzaworODA2OTMgNDY4NTcwOWZhYjNlMTM3NzA2NTExNzBhZWJkMWYwZWRhNTM0ZmY5MiByZWxlYXNlMzEtbWFpbnQKKzgwNjk0IDlmNGNhMDA2MTBlMzM4YjEwYzRjYWQ0OThlZjY3YjIwOTE3MWE0YWUgcHkzaworODA2OTUgZmQyNmViOWZiMGY5MmE0YTM5YTk0MmExYjQ3YjM0M2Y4ZjY2NDFiZCBsZWdhY3ktdHJ1bmsKKzgwNjk2IDk0YjUyZTVjYmUyOTQzYmViNGRhNTYxMzI4NmNlOWQwZDgwYjA5YWQgcmVsZWFzZTI2LW1haW50Cis4MDY5NyBhYmYyMjAxZGMzN2NiZWYxYzA0MThhZjk2MDcxZjRmYTAzZTNlZTZhIHB5M2sKKzgwNjk4IDIxMzY5ZDE4OWQ5ZTQ3OWY0MzBmMzYyODk1M2MyOGVjMDYzMDNmNGUgbGVnYWN5LXRydW5rCis4MDY5OSA3ZDk4ZTBlYTlkYjM1NGUzMDkzY2U1ZTc3MzU1NTY5OTc4YjE1MmY3IHB5M2sKKzgwNzAwIGQ5NWRmMjYyMmY5ZjViNzc0Nzk3ODhmOGRhYmI2MDIzNTk0MDRjNzggbGVnYWN5LXRydW5rCis4MDcwMSBiMWRkNzcxNTQ1ZTIxMjdlM2Q5ZmQ3MDQxOGRmNDhhY2UxM2MzN2U0IHJlbGVhc2UyNi1tYWludAorODA3MDIgNDMxMjY3NjI2YTAzNWNlNGU5Mjg5OGE2YjQ0YzM2MmRjNWRlMWY1ZiByZWxlYXNlMzEtbWFpbnQKKzgwNzAzIGNmMDM2MWMwMjU1MWQwOWUyYTBmYzY1NmJmMjVhNTgyZDczZmM5MWEgcHkzaworODA3MDQgYjNjM2IxMjQ2MGQ0ODExMDkxZWYwY2QxNGE4MTJlOGNmYzhkYmYyYSBsZWdhY3ktdHJ1bmsKKzgwNzA1IDhiNzUzMjk5MjQ2NDJlYjk5ZTA1NjA0MTdkYmQyMjE3ZmZiZTZkZDQgcHkzaworODA3MDYgYzYyYjFkMDI1NTFhZTI4NjQxNmE2M2E5NGE1NjNlN2Q2ZjdmNjMzZCByZWxlYXNlMjYtbWFpbnQKKzgwNzA3IGE3NzQ2N2JjYWRlMGI3ODNhOTgxNTBiYTA2MTVjOTNlYTE5MTZlMTggcmVsZWFzZTMxLW1haW50Cis4MDcwOCAwM2MzMjA5MmQyNjY4MjgxYzJiYWNiZGIwODQwMjViMzI3ZjM0NWMwIGxlZ2FjeS10cnVuaworODA3MDkgNjJiOWE3NDMxMDQ3ZjZlOTlkMDcyOTY0YjQ0YWMzYjExMGJhOTM4MyBweTNrCis4MDcxMCBkMDYyYjhlNzkwNTIxZTEzZjdmOTNhOTZmMjczZjdmYjc2NWI1YzhiIGxlZ2FjeS10cnVuaworODA3MTEgYjdmY2IyYWY4Y2I0MDhkZTY3YWJlODUxZTAwMDhkMzk2Njk2NDA3ZCByZWxlYXNlMzEtbWFpbnQKKzgwNzEyIDU2ZDgzMWU2ZjUwODgxYWRkZGU4NTI0YzdiYmEwMDI2MmI2MDA5OTkgbGVnYWN5LXRydW5rCis4MDcxMyA0NzY3YzY2NmIyNWIwOGIzYmY1OWI0ZGExZmU3Njc0MWE1NzM2MjdmIHJlbGVhc2UyNi1tYWludAorODA3MTQgNWQ0YTU2NTU1NzVmMmM0YzZkYTRlZTZhY2FmMDNiOTJhMzFmMTliYiBweTNrCis4MDcxNSAzZWQyOGYyODQ2NmY2MDZhMTZhZDI0Zjg4ODFmNjU5NzQwZGZlMGM3IHJlbGVhc2UzMS1tYWludAorODA3MTYgZjk5MmNlZDMyYzIwNTc4YTI5MzAxY2ZmZTIzMjY4MzVjZDgzMGViMiBsZWdhY3ktdHJ1bmsKKzgwNzE3IGQ5MmZmNzA4MWIyMDM5ZDZjYzg1NTljMWIyMzNiMGJlZTE1Yzc0OWQgcmVsZWFzZTI2LW1haW50Cis4MDcxOCBmMDI1NWVmNGRiZWJkMWYyMzhlZDU5MWJmMDc2ZGMzYTk0OWE3YmMzIHB5M2sKKzgwNzE5IDdhYWY1OWQ4ZWYwYmZiYjRhZGJkOWE0ZmMzNGMzMzI1ZmNjNjI0OWIgcmVsZWFzZTMxLW1haW50Cis4MDcyMCA5YjQzOGJiMDZkNGQ2MjNlMmUyMzU4YzU2Nzc2YmIyOTBhZjYyZjExIGxlZ2FjeS10cnVuaworODA3MjEgZmUzYmYzOTlhMTljMTI2NzM3ZWI0NTgyNGE5MjQ1N2EyYWY4YzllOCByZWxlYXNlMjYtbWFpbnQKKzgwNzIyIDgxY2VmNWI3NGYxYTdhZTU5ODM3ZTJiOWM3OGUwZTAzNDE1NzkxNTkgcHkzaworODA3MjMgY2EwMWFiZDhhZDg3MTZmYzM3MTYyYzQwYTI4YThhOGI4NDU1ZGM3ZSByZWxlYXNlMzEtbWFpbnQKKzgwNzI0IDRmZDNhYjVmYTcxZDYwNmFlN2UyODAzMTI5Mjk4ZGU3YmVhZjMyZjAgcHkzaworODA3MjYgNjg1MGFhNzg2YzE4NzY3ZTdhM2QyNGQzZTkyZDM2ZDljNTViOGU5MyBweTNrCis4MDcyNyA1MTJkNjFhNjkyZTRlYjM3ZWQ1NzNmYjdjMDkxMDdiMTU4NGE0NzE5IHB5M2sKKzgwNzI4IDEzOGJiNWM5MzA3NDdmYWViNjRlNDgzZTM3ZjIwNWQ0YTRkYzQ2NWQgcHkzaworODA3MjkgMThjYzA1ZTgyNzUyMjcxZTY2NGI1M2ZiZTYwNDUxNmQ1NDViZGE5YyByZWxlYXNlMzEtbWFpbnQKKzgwNzMwIGU5OTEwZDE5MzIxNDZlMGE1MzkyMTM0ZGYwNjQwYjI4NmVjOTEzNTIgcHkzay1qaXQKKzgwNzMxIDE4MWNkMTQ5MmNiMGM3NWJhOTdkYjMyMDE5ZmJiODEzNzMxMzhhMjEgbGVnYWN5LXRydW5rCis4MDczMiBhMTE4OTA1MjcyMjk5ZmI1ZTZhMjAwNzM0OWEwYWFmNzA0NjY0ZDFkIGxlZ2FjeS10cnVuaworODA3MzMgMDJlMTg3YmFhZjUxNGQ3Yjk2MmMzYTA0ZTRhYzMxOWE5NzdlY2Q1MSBsZWdhY3ktdHJ1bmsKKzgwNzM0IDBjZjgwYjcwZjgzOGEwMzgxYTMyY2Y3YjU1ZjM2NDg0NWQwMzRkYzcgbGVnYWN5LXRydW5rCis4MDczNSA5ODJlZWM5YThjMjg4NTNhZmQ1ZTRkOGY5ODk0MDcwZThkNThmZWM3IGxlZ2FjeS10cnVuaworODA3MzYgZWI0NzBiODVlNjdhZmE2NWZhM2JkMzAwMjM3OWYxNDFkM2RlZGFjNiBsZWdhY3ktdHJ1bmsKKzgwNzM3IDdlZTU2MmNjZWE4MDJjMTM2OTg3ZjFiMmY5MGE5OWQyZDk5NDQ5N2EgbGVnYWN5LXRydW5rCis4MDczOCA2MzY1OTFmNGMyMTYyYTkxMDAwMzJmZjAwYWZmNDg5ZGRjMWMyNmQ4IGxlZ2FjeS10cnVuaworODA3MzkgODE0MjQ1M2RiODBjYTAwMWI1MTc4ZGZkNjNjZDNjZWQ2MzVjMWQ4MiBsZWdhY3ktdHJ1bmsKKzgwNzQwIDdjNjJlNzJkODU2YjI5MjMyN2ViZDI4OWEwMmFlZmUwZjc5YzcwYmEgcHkzaworODA3NDEgZjY1NjllMzRiZDI4MWFhMWUyMWViMTE3OTM4MjVjZDEyMzRlNDA5YiBsZWdhY3ktdHJ1bmsKKzgwNzQyIDc2OTVmNmE3ZTNhM2I2NDI2MmY3MmY5OWU1MzM4Mzc0ZjdiNjMxM2MgbGVnYWN5LXRydW5rCis4MDc0MyA2NmZiY2EyODdhMDExODQyYzEwMWI2NjJmMjQ5MjQyYTZiZGYxNTQwIGxlZ2FjeS10cnVuaworODA3NDQgM2M3NjgzZDZhM2M0NzEzNjRlMjk4MzY1NmUyZTg1NTJlNTg3YjIzZiBsZWdhY3ktdHJ1bmsKKzgwNzQ1IDg1ZDY5M2U1ZjIyOTNiYjQxYTE1MmYxMjQxZTE1MjViMzMyNWFmZGYgbGVnYWN5LXRydW5rCis4MDc0NiA1NWE1OTNjYzMyODAzYmM3NGRiYmZhZjNjNjlhNDE1MWFkNjYwODg4IGxlZ2FjeS10cnVuaworODA3NDcgY2QzM2Q2Y2QyMTAxOTU2NDMzOTUyYWZkMzJjMjZkNWI3YmIzZDg4MSBsZWdhY3ktdHJ1bmsKKzgwNzQ4IGUwZWUwOTUxZTk1M2YxNTFjZjNmYzA4YzdhMDlmNzUyNDVkNTUzOTIgbGVnYWN5LXRydW5rCis4MDc0OSA1ZWMxNTVlYzdkYjI3MGE0ZTUwZWZiYTg5YjA1Y2Q4MWQyYzI1NDlkIGxlZ2FjeS10cnVuaworODA3NTAgZDE3NmFhNDczMjg3NTY3OGY0ZGVlZDQ4YzhkMDVhMGY1NzExOGViZCBweTNrCis4MDc1MSBhNTE1MzdlNzA0YTliNDQ0ZTZjZTU5ODRjODAyY2M4OTViYzZlZTE2IHB5M2sKKzgwNzUyIGI3NjBmNmZmODllYWIyN2EyNGNiNTBlNWJmZWM1ZTRlYjRjOTllYzkgbGVnYWN5LXRydW5rCis4MDc1MyBjMGVhMDc5MjU0MDAyODRmZjQ5YzFlZTcxNGU5ZGMyNTNhZjU2YTllIGxlZ2FjeS10cnVuaworODA3NTQgZWNjMzJlMmY0NjU2NmU1ZGVjOWY2OWI0ODIyNTMyZjUxOTQwMGIxYyByZWxlYXNlMjYtbWFpbnQKKzgwNzU1IDE4MzM0ZjIzZjY4NmZjMjU4OTY0MDI0ZDcwYjljMTQ2NjdlN2U2NTAgcHkzaworODA3NTYgMTE0Mzk3MmYwNGJiZDU3Nzg4MGYxYzNiYjIwMmMwMTQ0MTIzMWM2ZSByZWxlYXNlMzEtbWFpbnQKKzgwNzU3IDFiNGI1MDZhYTA0Mjc2OWY5MGFmYTExYTFmMzQ2NmYwNDU0MzZkZmEgcHkzaworODA3NTggZjU1MGVkODkzOThmNThlNTFhZDk1ZTJlNTI0ZTc5MmZjN2RhYzRjZSBsZWdhY3ktdHJ1bmsKKzgwNzU5IDZmNDY2OGI5N2Q2ODQwMzU0MzliZGYzOGY1OTE5NDM3NGJjMWUxNjIgbGVnYWN5LXRydW5rCis4MDc2MCBjNzQyOTlkZTgwMWFiYTM1YjM2MjA5NDk1MjA3Y2RkODUzOTg4NjEzIHB5M2sKKzgwNzYxIGYzODRlMTFjMWJiNWY2OGE4NzdkOGE5NTNkN2VkN2IzZGU5ZmUzNDMgbGVnYWN5LXRydW5rCis4MDc2MiAzOTA3ZDUyNjQ4YTBmMjU2MTMzNWU3MGViODEwOGU4N2Q4MDgxMWIyIGxlZ2FjeS10cnVuaworODA3NjMgYWRjMmViZGE3NjM2YWFmYmRjNzUwMWNiMDc2Yzc3Njk1ODgzN2EzYiByZWxlYXNlMjYtbWFpbnQKKzgwNzY0IDBhNGNhODkyYTU5ZTVlOTI5ODE5MTNmNzY4MDU5ZTgwNWFlOTA2MTYgcHkzaworODA3NjUgOWJhNmZjZWM0ZjE0OWUxN2EyMjEyNzU0ZTVjOTM5NGI2MTRlMDcyYSByZWxlYXNlMzEtbWFpbnQKKzgwNzY2IGQ5MjI4MDUxNzMwNTM3MWMwNTJiZjEyZTRkYjY3Y2FkZDdlMGQyN2MgbGVnYWN5LXRydW5rCis4MDc2NyA4YzliNzg1YjE4NDlkMDZiM2Q3YWRkZGM0NTAxODhkNmQyZjZhNjNiIHB5M2sKKzgwNzcxIGQ0OWYxMzEwZTIzZjkwMmFkOGFlMzdlOGQ1NzUwNDdlNGQ2MDdjM2UgcHkzaworODA3NzIgNmU0YmZjZjIwODBjNzE2MTY2YWNlNDdhYmIyZGRmOTQ0ZGM5OTU2YiBweTNrCis4MDc3MyBjZjQ4NTM1MTMyZTBkYzA3ZWQwZTNiN2IwMmIyNTI3NDlhN2UyYzcyIHB5M2sKKzgwNzc0IGUwMTA1ZmQ1MjAzMjkxN2UzMDA1OTVmMzYwNWU1YWZkNWQzMmY2OTYgcmVsZWFzZTMxLW1haW50Cis4MDc3NSBkNzRhYzdjY2E2MDc3MGExMTJkYWEzZDJlNzg2NWIzMzA2YWM2NzhiIHB5M2sKKzgwNzc2IDEzNGE2M2FmMjJhOWE1OGE4NjU2YzI4MWU3M2VhN2Y5MWEyYTU5NmYgcmVsZWFzZTMxLW1haW50Cis4MDc3NyBiYjUxZTRiYmZmOGMyOGIyMjNjZGUwMTE4ZTI5NTAwYTQwZjJhNjQ0IGxlZ2FjeS10cnVuaworODA3NzggZGQ2MGRlMmZhZTNjZjZkM2FkYTJjNmQ4NTEyOTQ0NDYwY2E4OTgxNyBweTNrCis4MDc3OSA0MzgwZTA0MzQzZWU5ODVhN2E5OWEwNjk3ZjI2ODYwZDQ4YTdiNTg0IHJlbGVhc2UyNi1tYWludAorODA3ODEgYjdhZTNhNmIxZDg0YjI3NDBhNzI2NDNhN2ZkNmIzYTVhYjdkYzllZSBweTNrCis4MDc4MiBmNDQxMWEzY2RmMTM5YmFjNzc5ZTJiZWRkMWQ3NjcwMTlmODEyZjc4IGxlZ2FjeS10cnVuaworODA3ODMgMzFhMzJlNGUwMjU2ZmY5YjEzYjE1NGM4YjVhYWZhNGZiMDFkODMwYyBweTNrCis4MDc4NCBkYzY4NTIwOTg4YTdmOWI5NmEyNTAwNDNiN2VkZjY4OWJjMGQyY2I3IGxlZ2FjeS10cnVuaworODA3ODUgODEzZGFlZTk0ZjczODNmMWVhMTM0YTFmZDFlZTU3ZmQ1ODFlOThmYiByZWxlYXNlMjYtbWFpbnQKKzgwNzg2IGZiYjVjZDM0NWI0MmU5MWRjMjNmZDM5NjcxZjM4YjFlZWEyNmI2Y2EgcHkzaworODA3ODcgN2IyOTk0MDRlNzgxMGNkNmI5NjY5OTI4ZGYyNDk0Y2ZiN2Q5N2U1YSBsZWdhY3ktdHJ1bmsKKzgwNzg4IGYwNWEyOTg5Mzc5ZWM5YTZiMzM1M2MyNmU4Mzg3MGQ4NzI0YjljODcgcmVsZWFzZTMxLW1haW50Cis4MDc4OSA2ZGI5YmE0MmU0Njg3MjM4MGUwOWJmNzU0YTBhNWU2ODYxYzkwYjQ0IGxlZ2FjeS10cnVuaworODA3OTAgMzUyMjFjMDE1OGI1YTcyZmQxNGYyM2M2ZTU5MGE1MmU5OTRkMjIxMSBweTNrCis4MDc5MSBjY2FkZTU3NzI2NzQ2NDM3NTc3ODhkZTQzZGFkMjk1YTVkNWUwMWRkIHJlbGVhc2UyNi1tYWludAorODA3OTIgNTBhNGVjMzczNjFkMDBkZTQwYjE4OGZkN2Q4N2JjODliMjcwOTVmZSByZWxlYXNlMzEtbWFpbnQKKzgwNzkzIGI2MDhlMmVkOWY3NTg5MWJiZmRmNDc1MmFkMDNjOGM0ZTYzZjY5MTEgbGVnYWN5LXRydW5rCis4MDc5NCA0YjY4ZDZjOGNkNTJjNGUwNmY3YTdkNThlNWNiNTc0YzJlNjllN2E1IGxlZ2FjeS10cnVuaworODA3OTUgMzU5MzJhMjRiZTg1MDljZDliNjI3YjdlZDhlNmUwYTUzZDExMTA5YSBweTNrCis4MDc5NiBkNGFhMzU5MDc4MDg3NjJkZWQwOThmOGUxZTQ4NWVmYmRjZGZlMTU5IGxlZ2FjeS10cnVuaworODA3OTcgNjI3ZjExNDQwYjg5ZTYyMjViYjQ4Nzk4ZTkwZjJlODkzMGMwMGI1MiByZWxlYXNlMjYtbWFpbnQKKzgwNzk4IDc0ODNlY2I2MjFlMGY2MGJkODgxYzdlMDM1MTg0NTk5YTQ5YWQ3ZWIgcHkzaworODA3OTkgOGVlODBjMmY5OTI2NzljN2JlZWJkMmIyMDE1NDFhMWFiNGI3NmFlYiByZWxlYXNlMzEtbWFpbnQKKzgwODAwIDU3NWU5MzhhOGNhNTI1YjIzZTgwY2ZkODM4MGJiNWRjNTU4NDY1NmQgbGVnYWN5LXRydW5rCis4MDgwMSAxODlhMmRlM2UwMzQ1ZjA0NGU1ODA0MDI3ODhiYWYyOGQzYjlhODgwIHJlbGVhc2UyNi1tYWludAorODA4MDIgMzNhYzEwOWRlMGNjMmQyMDA0YTRiMDlhNGY0YjZkNmQ0NWI5ZjM2NSBsZWdhY3ktdHJ1bmsKKzgwODAzIDgwZDA1NjMwMjYzYWRkMjU4ZWUzYTc1ZTJmYTM4MDJjNTc4OWRhMTcgcHkzaworODA4MDQgZjY3ODViY2U1NGI1MzMyZGU1ZTU2Zjc5MTYzMmM1NjkzMDllNzg2YiBsZWdhY3ktdHJ1bmsKKzgwODA1IDFmNzUwNmYyMzc3MTZmYTA4NWEyYTRhYmViYzBjNGFhM2YwNDU5ZGQgcHkzaworODA4MDYgOTBmNGI2MmQ0NzU5ZDA0OGE1Mzg3NjQyNjcyYzU1MWI3NTNjMTBlZiBweTNrCis4MDgwNyA2ODk5MTM5MzAxYzllODdjMzkwYzBlZWMyNzMwM2ZmMDQzOGJjZjE5IGxlZ2FjeS10cnVuaworODA4MDggM2I1OGYyNDQxY2M4N2ZkZDZiNmNhNmI1ZjMyNDVlN2IyNDRkZjg1NyBsZWdhY3ktdHJ1bmsKKzgwODA5IDk0NTM4YjA0NGNiZWZhYjBlOTQ2N2UyYmQ3MTkzYTU2YTc3ZDkzZmIgbGVnYWN5LXRydW5rCis4MDgxMCBmOTVjMjU5YjgwYjNjZTVhZDU1OWY5Zjg0NmUxNzYyYmM2NTM4MDMxIGxlZ2FjeS10cnVuaworODA4MTEgN2JlODEyOWVlMGZkMjFkZDE4OTkwNTBhNDk5NTE4OTVkOTllZTA0NCBsZWdhY3ktdHJ1bmsKKzgwODEyIDQ3YTI3MDBjMDBiNDlkODY1ZDFjZDI5NGQ5NmM5MjIzM2Y5MDBjZjEgbGVnYWN5LXRydW5rCis4MDgxMyA1Y2VhMjcyNzVhZjEyNTgyYjA3OGMzMzk2YjMyM2U2YzhhN2RjMmM2IGxlZ2FjeS10cnVuaworODA4MTQgMmQ4ZmE3NGY5MjYzZTQwMDEyOWRiNTNjNDE0MjRlMDk1ODVjYWU5NiBsZWdhY3ktdHJ1bmsKKzgwODE1IGZmZjQzOWYwODlmZTU1YWI1NGI4YzczOTRmZTIxYjk0MDU5ZjQ2MzIgbGVnYWN5LXRydW5rCis4MDgxNiA2ZmI2ZmE4MDIyMjFlN2Y1ODRhM2RiZjZiOWQyNGNkODE4NThlMTBiIGxlZ2FjeS10cnVuaworODA4MTcgODQ1YzZkODAwMzAyNDQ2Y2E4M2I4NGYwYjBjYjUwNzgwZTcxNjYwNSBsZWdhY3ktdHJ1bmsKKzgwODE4IDc3Yjc4NjA3NjAwZTUyNGQyZTg2N2RkNTRkOGI2NDU1MGY0YmExMmEgbGVnYWN5LXRydW5rCis4MDgxOSAzZmU0YzM0Zjc4YzAyOWY3OGU4ZTMzMzlkY2YxY2M4OTA5MjUyM2ZmIGxlZ2FjeS10cnVuaworODA4MjAgOTVjNDAwYjlkNzRjYTM3YTZmYzcyN2M5MDhmYTAwYjMyYTgwN2NiZiBsZWdhY3ktdHJ1bmsKKzgwODIxIDBkMTQ4MjdiY2MwZGZhOWVlMjBkMzJkODhjNDUxZDg5Yzg5Y2VkOTMgbGVnYWN5LXRydW5rCis4MDgyMiA4ZTNiNWZiYzFlNDFiZjFiM2Y3MDZhNDM5YWNhNjY1MzVmYjQ3OTk3IGxlZ2FjeS10cnVuaworODA4MjMgMDM3OGY2ZTM0NmYwMzI1OTg3MDY3NzUwNmE3ZWRhYTJiYmE0OWRmMiBsZWdhY3ktdHJ1bmsKKzgwODI0IDg4NDY2ZWYxZjBjZGU2ODE4MDhiZDMyMzc2NGI0NDliYmFhOWNlYWQgcHkzaworODA4MjUgOGJmMzQ1OTRiNjZmMzE1M2I5ODBlODZiODQ5MDk4MTE4MDBiOWQ5MSByZWxlYXNlMzEtbWFpbnQKKzgwODI2IGYzMzA5MDQyYTBiMzFiZWUxNmMyM2Q5OTMzNTI5N2I5YjZlZGJjZWIgbGVnYWN5LXRydW5rCis4MDgyNyAwM2JhNjBkMWU0OTJhMzk4NDU1NzAxMDZlMjkyYjNmNWNiNGU3ZTU0IHJlbGVhc2UyNi1tYWludAorODA4MjggOTQ0OTM4YWJiMjZjZTA2MDlmMDQzMGQ4NDM2NmUzM2Q5M2QxMmNjZSBweTNrCis4MDgyOSBmNGNlYjRhZTAyNDdkYmEzMjYyMjgxMWY3MzViYmFlNzczMGExMDQyIHJlbGVhc2UzMS1tYWludAorODA4MzAgMjZiODFjNGU1ZmJhNDdlNGM2NjgwM2MzYTg5NjU5NTU2NDllNDI1MSBsZWdhY3ktdHJ1bmsKKzgwODMxIGYwZmE5NDRiMTVjMGNmMWY4NzA2MGRhZjNmOTI3N2IyMDJlNThlYjYgcmVsZWFzZTI2LW1haW50Cis4MDgzMiA5YmVhMzdhODUwODg0Y2RkMjI3OTFjOTRhMDQwZjJmZGMzZDJkYmEwIGxlZ2FjeS10cnVuaworODA4MzMgYzQyNDI5OWIzODg0YjQwYzc2YTkwZmI3YjU3N2YwN2Y2YTIzMGNjMSBweTNrCis4MDgzNCA4YjVkZGUyYzMxZmIzZjY2NjA1ZjNjOTU2YzkxYmY0NDBmNmFhYmEzIHB5M2sKKzgwODM1IDc4ZTdmYzAxYzUxYWM1ODM1ZjRkNTNiM2YxZTExNmMyYzI5ZDgyNDAgcmVsZWFzZTMxLW1haW50Cis4MDgzNiA1ZGNhMGEzZmI5OTNjNDA1ZWUzYTVhZGEyZmJmMzk3MmQwMGUyZTUyIHB5M2sKKzgwODM3IGUzZTQ2NmY1M2Y5ZWYwYTE0MjJkZTY2NzlkZGE0ZTI3NzIwMzEzNzEgbGVnYWN5LXRydW5rCis4MDgzOCA5OTVlYjk2Y2FlNjg2YmVmMzU3NzhmMGU0Yjk1YWFmMjk3ODVhMjVmIHJlbGVhc2UyNi1tYWludAorODA4MzkgYjMwM2MzNTI1NGRlNDEzMTdkOWM4NzA0NDgxY2IzODc3YTFhNzZjMiBsZWdhY3ktdHJ1bmsKKzgwODQwIDY1NThkOTZhZGUwM2FkMzM4NmI5NWYyNDRiMmRlYjhjNWRkNWRhNjAgcHkzaworODA4NDEgMmYzMTMwMDhhNDFkNDVmMmE2ZWNmZjY0YWM2MzJiZDVlNWEyZGU4NCByZWxlYXNlMzEtbWFpbnQKKzgwODQyIDYzZDViOWQzOGIxNzZmYTRiMTM1N2EwMTFkZDYzY2Y5NmIyNDAxZjcgcHkzaworODA4NDMgOGFmZDZmMjhhY2E5ZDIyYWU5YmVlNjJhNTI5MDczYTZiNWIyZTI5OCBsZWdhY3ktdHJ1bmsKKzgwODQ0IGYxMWQ0ZDJiNDRiNjdkNGExYTcyNDA5MTZkZjM5MjM1OGEwZTA2MzUgbGVnYWN5LXRydW5rCis4MDg0NSBlMTE0NmIyNWY3NzMyMjQ4NjQzM2M4NzY3ZGRlMjNhYmVmMGExZmUwIGxlZ2FjeS10cnVuaworODA4NDYgMWNmYjIyOTg0NGE3OGM1NDIyMjYyN2YxNzlkNmRlMzE0MzE3NTEwOCBweTNrCis4MDg0NyBlNTAzYmI4YjNmNjE1YjM2ZjM3MjcyYWQ3M2UwOTg4MWIzNTM5MzU1IHJlbGVhc2UyNi1tYWludAorODA4NDggZGMyYWFjNjI0ZmY4ZjliNjM2YmVlZmQzNDEwYmMwYzI3MzFiM2RlNSByZWxlYXNlMzEtbWFpbnQKKzgwODQ5IDAxNmRiYWIzNTFmMmUxM2U2ZDBjNmY2MzJlZTIyYWM3OTM3NDlmMTAgbGVnYWN5LXRydW5rCis4MDg1MCA4NWNjM2VkYzdkNDZlNDI2NDRiY2U4YmI1NzQxZGEyNmRhMzU2MTI2IHJlbGVhc2UyNi1tYWludAorODA4NTEgYWE3ZTZiOWNhYjZkNDkyZGM2ZjcwZjhhMTQyNWZlODYxNmJiMWE4NSBweTNrCis4MDg1MiBlMjE4MDNjNGYxZWVmNWY4OTI2YmVmNmU2NWU0OWVjZjE4M2I2NTcyIGxlZ2FjeS10cnVuaworODA4NTMgZDJhNDQwMDU3OGE1YzczZWQ2ZTdlNmYzYWYyMjMyZmQ2MGU5N2EzNSByZWxlYXNlMzEtbWFpbnQKKzgwODU0IDg5NDJlOTYyODZkYzY0MTc3ZWViMmVjZDIzM2VmMTc1NWZiY2RhMGMgbGVnYWN5LXRydW5rCis4MDg1NSA4YjY0MTU5NzkyYmJiMWY3MTY4YjE2YmEwZWRjNjUwY2Y0ZDBhMzU0IHB5M2sKKzgwODU2IDViNTVkYzk1NTRmY2JkNzdlMDdkMWJlYjYzZmZkMTkxZTEyZjZlNDAgcmVsZWFzZTMxLW1haW50Cis4MDg1NyAwZWQxZWJlNWJjMmZjOTNjZjBmMDIxMzIwMmUxNDM2YjFmNjYzNjJiIGxlZ2FjeS10cnVuaworODA4NTggZTRhMGJhMjUxYzRhNGZkZDA1ODVlZDQ2YmE3ZjgyZGE4ZTRkMWQwNiByZWxlYXNlMjYtbWFpbnQKKzgwODU5IGI5MmVmOGViY2NiOTc2MGI0YWU0OTZmZTU5N2VmOGNhMDEwOGY1YWYgcHkzaworODA4NjAgMzlhMmJlNDEyN2RkNDQyMjVjYWUyNTg4ZDc0ODIwZWUxYjY3ZGIxZSByZWxlYXNlMzEtbWFpbnQKKzgwODYxIDNjYmNjMjc0NTk3MjkyZDFjNDRjNzdhNGQwMTMyOGI4Mjg2MjA4ZDMgc2lnbmFsZmQtaXNzdWU4NDA3Cis4MDg2MiA5OTY1ZWY4MjVjN2Y3YjJkODU5MGRjYTMyNmQ2YjQ5ZWIyODU2ZDBiIHNpZ25hbGZkLWlzc3VlODQwNworODA4NjMgMmQ4YTNiYjhmYjYwOGE3M2EyNzBiZTU1YjFjOGRhMzQ2Zjc3ZGU3MCBzaWduYWxmZC1pc3N1ZTg0MDcKKzgwODY0IDNkYTY3Mzg4Yjk2YTM3ZDE2MWU1YTU1YTc5MDdiOTRmNjQ2M2QyYjUgc2lnbmFsZmQtaXNzdWU4NDA3Cis4MDg2NiA2MjU0YzAyOGM2M2QyNDAwZWZkMWE5MzM2M2FmNjZiYWI3NTA1NGQzIGxlZ2FjeS10cnVuaworODA4NjcgZWE3MDAxYzNmMDAwZmY2OTEzNzk0MzRiNWNlMDA1NGU5Y2FlY2EwZCByZWxlYXNlMjYtbWFpbnQKKzgwODY4IDIxNjZiNjNiNmZkZjg2ZjZiOWZkMThmODMyMjFhYzYxZTA3YTA1ZjggcmVsZWFzZTMxLW1haW50Cis4MDg2OSBiNGIzMjJiMmU5OGI5OTAxNjk0YmJlZDllNjJjZDY1NWYzNGUyY2JjIGxlZ2FjeS10cnVuaworODA4NzAgMzQ2YzRjMmUzODZlNzQzNWM1ZGFkZGU2MTIyYTUzYTJjNjU2MTBiMSBsZWdhY3ktdHJ1bmsKKzgwODcxIGNlYmUyODU3MDAwNjkwZWYyMWIyNWU0MmMyMGE0NTdhMDIzMzE4NTIgcHkzaworODA4NzIgNGNkY2ZmMGU5YTM2ZWQ4ZGVhYTI3NjUzZGFjMGM5YzBjMmU5ZjEzNiBsZWdhY3ktdHJ1bmsKKzgwODczIDZiMjdhOTVjMmM1MjI4MTRhNmU5MWYzYTNiMmNhZTQwZmYyNzNjMTUgbGVnYWN5LXRydW5rCis4MDg3NCBlNGU1NDg2ZWNjYmUwZTYzNzJiNDhkMzE0MDk4ZTdhYjI3ZjI4YTM0IGxlZ2FjeS10cnVuaworODA4NzUgY2M5MjUwMmRlNGM5NTExNDRiMmNlN2JmZjQ0OTJkOTY5MjQ1MzI4ZCBsZWdhY3ktdHJ1bmsKKzgwODc2IDNiNDkwOTYzZjkyYzg3NDg2M2NjMTcxMmZmYzEzMTE4N2JmZjE4MWQgcHkzaworODA4NzcgMjk3ZTIzMzI4YzZjNjk1ODBiYTgxOGI3ODViMDZkMDFkYzdjZjgzZCBzaWduYWxmZC1pc3N1ZTg0MDcKKzgwODc4IDU0ZWZhZjZkMmY4OTJhOTVhNjc4MjE2ZTIxODRiNzBjNDRiOWUxYzggcmVsZWFzZTI2LW1haW50Cis4MDg3OSAwYTgzOTY5YjZmMzVkYjE2ZWIyYjZjODkyOWU0NGFhZWM2N2RkMzQ1IHJlbGVhc2UzMS1tYWludAorODA4ODAgOWFmOTYwZmJhY2NjNWU0ZTUxYTc2YjhlMzU0ZTNhMGNjYzljZGM1MCBsZWdhY3ktdHJ1bmsKKzgwODgxIDUzZjliODQ4ODJhMDU2OTU0MDdkNWFiZWU0Mjc2YTlmNjdlNWVjYWUgcHkzaworODA4ODIgYWIwYjI4NTVjOWU0MjkxM2EyZDVlMTZiYzY3YWMzOWUwMDVkYTU2OCBsZWdhY3ktdHJ1bmsKKzgwODgzIGFkZTgyOTNiYTQ4N2ExOTRiNDY4MTVhNGM3ZGFlZjU3MDc3MjBkNzAgcHkzaworODA4ODQgMmQzYWUxMmFkMDkzNjhkYzcwNTk5YmQzMjBjOTMzNWVlNDEyODJlNiBweTNrLWppdAorODA4ODUgN2U1YmRmNTlhNDg3MTM2MGU1YzA0ZGIxYTE2MGNjN2EwOTk3OTliOCBweTNrCis4MDg4NiA2OTNmNzRjNDJlNWVmOWRiM2E2YzI5N2QyOWU0OGY0MzBkYjMxMjFiIHJlbGVhc2UzMS1tYWludAorODA4ODcgOWQ3NmFmOTVjMTY2ZGE5MjdjZDhiMjM5ZmEwZGZkYjkwNjIyOWY1ZiBweTNrCis4MDg4OCA4YWQxYzc0ZDU5MDk3MzE1NTQwMWE2YTE0NmQ3ZjdjNzIxYWJmZDg5IHB5M2sKKzgwODg5IDJhYTYwNTE2OGYxMTJlMTAzNjk5NjFkNmNkODNkY2M3MGFiMWQyOWEgcHkzaworODA4OTAgZjE4MmUwOTIyZGM3NDc2ZjM2NWQ3ZGJkMWQ1NDEwYjUzMTg5NDQ2YyBweTNrCis4MDg5MSBmNDIzMDc2NWRkYmIxNzhkZjU4MDQ0MjQyYWQ3ZjAwYjE5MDE2NWVhIHB5M2sKKzgwODkyIDU0OGZhOGVkYjdmMGZiNzk4MzkyMjAwNWI4ODliZjYyYjQ0YzI0MTUgcHkzaworODA4OTMgNWFiNGI0ZWZjZjYxZjM3ZDUyZTE2M2IzYmUyMjg1OGVlZGI5ZDQ3NSBweTNrCis4MDg5NCBhMWM5YTkxMjYwZDkxYTNhZjVkODAwYzY2N2VjZTAzMjE3M2NiMTExIGxlZ2FjeS10cnVuaworODA4OTUgYTQ5MjU2YjIyNjk1N2EzMDkzZjE3ZWJkZTc2OTczNjcxYjMxNTU0NCBhc3luY29yZS10ZXN0cy1pc3N1ZTg0OTAKKzgwODk2IGIwYjdiYTI2YmU2YzE5MTc4MTIxMGEwMzI0OWUxZjQ4MzQ0OGM1MjQgbGVnYWN5LXRydW5rCis4MDg5NyA1ZmIzOTc3ZmIzNDFlMzdiYzk5NDc0YzUxOWNlNzJkZjQzMDVmNDE3IHB5M2sKKzgwODk4IDgzYzVmMjdhZjU3YzkyY2UwNDM3ZDY5MDRkMDY3ZDk4ZTNmZWRmZGQgcmVsZWFzZTI2LW1haW50Cis4MDg5OSBjYTc3ZWQ3Mzk4MjcwMTlmMjJlMTNkMDQ5Mzc0YzlhYzAzNzIwZjk1IHJlbGVhc2UzMS1tYWludAorODA5MDAgMGIwOTcxZGFmNThjMDA3MDcyNDkwNWQ4MzUzOTlhN2Y1MDE3OGZhNCBweTNrCis4MDkwMSBkNjE1MTQ4ODcyNmY4YWU3NjQ2NTAzMzBhZmY0NmZlNmU0YWViZmYxIHJlbGVhc2UzMS1tYWludAorODA5MDIgNTI2MDEwNGRiOTlkNzQzNDA2YjE1NTY1YTJjZTViYjQ4ZTA2MDYzYyBweTNrCis4MDkwMyAwNjllN2VmYTY0NWI1MTA3NjVlZTUwYjc2Zjc3M2RmYjc3YTQzODdlIHJlbGVhc2UzMS1tYWludAorODA5MDQgNTk4MWIyZGExMzFhMTI3MzQwNGRhZDJlYTdjZGQxODU5MDEwMjVmZiBweTNrCis4MDkwNSA0MjdjNzUwMGIyYjcwYzlmYzlmNTI0NjVlY2NjZTRiYTI5NGM1YWJlIHB5M2sKKzgwOTA2IDI0NTllZTZhYzdjN2FhZTAyZTA4ZTYwOTEwYWVjY2U2MTRjNGE5MzUgcmVsZWFzZTMxLW1haW50Cis4MDkwNyAxNjMyMTgzNDE1NmEwNDBlODI3MDY4YTExZDI4NmUyMDhhNDg3ZjU4IGxlZ2FjeS10cnVuaworODA5MDggNWM5MDk0NzkyZDFhY2NmNDA5ZWFlNDg3NmRiOTlhNzZjOGYzYzE3MCBsZWdhY3ktdHJ1bmsKKzgwOTA5IDQ5MGQxYzIwMzZlOTYzNTYxZTY4YzU1ODQ5OTExYjg5MGQxZmE0NjYgcmVsZWFzZTI2LW1haW50Cis4MDkxMCBmZTdlNTZmOTg2Y2Q0NTBmZTI0YzUzNGZkZTE4ZDE0NTA0MTJkY2YzIHB5M2sKKzgwOTExIGUzYTNlZDYxNGM3ZTA5ZTMzMjZhN2IyMDY4NDhmZWQ2YzA5NzA0NGIgcmVsZWFzZTMxLW1haW50Cis4MDkxMiA2MWM0Y2E5NGEzNjY4MjhkMmRkYjY1YWM1NDZjODFjNDAyODliMjlhIHNpZ2ludGVycnVwdC1yZXNldC1pc3N1ZTgzNTQKKzgwOTEzIGUwNDZhZGIxMDQ3OTdmNDNkNDY1NzgzMmY1YzdlNWM5NjdhNGRiNDggc2lnaW50ZXJydXB0LXJlc2V0LWlzc3VlODM1NAorODA5MTQgZTI5OTQyZWEyZmRmODQxZjE0ZTlhN2ExNzMxNzM0MzRmOTliOTQ0YiBzaWduYWxmZC1pc3N1ZTg0MDcKKzgwOTE1IDE5YmVlOGVhNDhkOGFiNTdiNTI5NzM0NDMxYWI4MTAzZGVkZjZkYjUgbGVnYWN5LXRydW5rCis4MDkxNiBkMDJiMzE3M2MzYzViOTIxMGMyYzEyZTg2MTdhODhhYzQ2MTc4NmU4IGxlZ2FjeS10cnVuaworODA5MTcgMzUzMjhmMDY5MjFjZTljZjU5MDA2YTM0N2ZhYzUzZjlkMWEyM2Y2MSByZWxlYXNlMjYtbWFpbnQKKzgwOTE4IDVhMzhlN2UxNmJmOGNiOTE4ODRkM2UyOGJjYmRlZjBkMzJkNjExNTIgbGVnYWN5LXRydW5rCis4MDkxOSBmYWNjNjkxNzU5YTFjMzE5NjliNWJiNDMzNWFmZGMwMWJkZDJiMmZmIHB5M2sKKzgwOTIwIDc5NjdiYzdiMDE4ZDRhZTYxODVjYmE4YWUyMTUwY2I4YTBhMjM1YWUgbGVnYWN5LXRydW5rCis4MDkyMSA5ZGFiZmMxOWQxYWM0ZmY4ZjRlYzljZTE0ZmE5ZDBlYWEyOGI2Mjg3IHB5M2sKKzgwOTIzIGY3MzdkNmNiYjA0NTYxZmEzOTI3ZGQ1MmU5NzE4OGNjMjI4MjNhNmIgcHkzaworODA5MjQgZjUwZDVjYTQ2OTBjYjY3OTkyNDJhY2Q0MjQyZGZlYmY3ZjM5NGZjOSByZWxlYXNlMzEtbWFpbnQKKzgwOTI1IDcxYWEwOThhMDgyZTI2MjM5ZTlmYzFkNzk1NmE4NTExNWRkZDM0MGYgcHkzaworODA5MjYgYjYwMjY3NmNhZGNkODViNWE5ODI3NDIzNmM0MGI2YzQ4M2E5MGYxMiBsZWdhY3ktdHJ1bmsKKzgwOTI3IGYxODk4MTkwNDUwNzlmOGFjMjBmMmU4NmQ5MjFlZjVlMzc4Y2NlMmYgcmVsZWFzZTI2LW1haW50Cis4MDkyOCBiY2IwY2Y5MjQ2OTNiZjA1YmVkMjQzYTZmNThlNjMyYzcwOWYyOGRlIHB5M2sKKzgwOTI5IDM2ODM3MWZhN2Y1YzM2N2Q0NDU4ZTJhMTRiNjdiZTJhZjIyYWQ4OTkgcmVsZWFzZTMxLW1haW50Cis4MDkzMCA4Mzk5NTM1ODBiNmRmY2M1ZTIyOWRkOTc1NWZmODZhNDE0MmE5YTBjIGFzeW5jb3JlLXRlc3RzLWlzc3VlODQ5MAorODA5MzEgNjU0NjFhNzA1NDk2N2Q4OTJhNTRlYmMyYTA4MDFjOTg4ZTBhZTdlZSByZWxlYXNlMzEtbWFpbnQKKzgwOTMyIDI2ZWRhYjk4OWQyZjg4NTU0ZmI4NjI0ZTZiOWY2YWE2ZDI1ODEzYmYgbGVnYWN5LXRydW5rCis4MDkzMyBmNThiOWRlY2UyNWViOGJkZTk5NDIxYjRmZTMxMThiNWJiMmYwOTg5IHB5M2sKKzgwOTM0IDlmZTU2MmEyZjBlMzE0NWQ4M2EyYjUwNDJmOGU5YjQ0YWYzYmJjOTUgbGVnYWN5LXRydW5rCis4MDkzNSBlOTJmYjk1ZjIzMTc4MmUwNzFiODQxY2Q1YzQ2ODRkZGJjZmI4ZGI4IHJlbGVhc2UyNi1tYWludAorODA5MzYgYjRmYWY5OWM2NDJmNzUxMDY0ZGYxNjA5YmJjYzRhNzk2ZDU3YmUwOCBweTNrCis4MDkzOCA4MjU4OTM3ZTEzOWMyMjYzZDc3YThhZTkxYmU5YTVjOThlOGM0OWQ3IHB5M2sKKzgwOTM5IDQ4ZDc5NTkxNjdkZWY3ZGJlOWE5ZjU2MTNlMzBmMGE1OTQ2MjRkMWMgbGVnYWN5LXRydW5rCis4MDk0MCAyM2JkNjFjN2RiYmNkNTU2OTg2YjMzYTQ0YjQwOTJkOTk1NzRhYjE3IHB5M2sKKzgwOTQxIGM3ZDA2Nzg5NTJkM2RiOGM3OTFmNjcyZmI2ODM1NTg3ZTI1MGVkMmEgc2lnaW50ZXJydXB0LXJlc2V0LWlzc3VlODM1NAorODA5NDIgMGUzOTgyYWUyODFkODIzNzVkNzJhYTIzOGRhOTdmYWYyMzM4MTVjNiBzaWdpbnRlcnJ1cHQtcmVzZXQtaXNzdWU4MzU0Cis4MDk0MyBjODY3ZDk5MWU5MWYwZDIyNDUxY2RkMzNhMjZjYzY1YmMzOTM1OWZhIHNpZ2ludGVycnVwdC1yZXNldC1pc3N1ZTgzNTQKKzgwOTQ0IGQ2ZGEzODE5NzdjZTUxNmU0YjQxNjdkNGM2YjJjMDcxZjhlZjE3NGEgc2lnaW50ZXJydXB0LXJlc2V0LWlzc3VlODM1NAorODA5NDUgYTkwMzcyMjQ5ZmQzNWRmNjY2NDM3MmFkMzBkMDA3Y2M1YWRiMzIxNiBzaWdpbnRlcnJ1cHQtcmVzZXQtaXNzdWU4MzU0Cis4MDk0NiBjYmRkMDEzZGFmNmQ2MTRkYzIyZjQ5YmM0Mzc3NWYzYzkyZjgwNDFlIGxlZ2FjeS10cnVuaworODA5NDcgZTJiY2NkMzcyY2Q2M2JiYzZlNGNkMzk0YzJiMjk5Mjk1OTM1NTkzYiBweTNrCis4MDk0OCA4NWFjMjdmYTkxM2ZiYWFlMmU3YTAwMDYxY2EwZmIyMDYzODE3MjQ0IHB5M2sKKzgwOTQ5IDA3YTQ3YTUxNDU0ODdhYjc3ODRiYTkxMzg3YmM5YmY5MmQ1MDQwNmIgcHkzaworODA5NTAgYTc3NDM3YmRlMzFhZjMxYzdlNGI5Yjc5MmM0ZmVhZWFkYjM4MGYxMyBweTNrCis4MDk1MSAxYWJiM2QzZTNlOGRmNTJmNmZkYWVlOGE0NWQxNzc3MmM1ODMwMmUxIGxlZ2FjeS10cnVuaworODA5NTIgY2JhMWQyMWVhYjNkMmNkZTgyZGI5MTY2NDkzNGYwNTQwOTlhNGQwYyBsZWdhY3ktdHJ1bmsKKzgwOTUzIDc0YWUwZWI5MzJkZWFkYWYzZTJlM2U1NTQyZDYwZWE3NGFiZmU1NWQgbGVnYWN5LXRydW5rCis4MDk1NCA1M2Q3NjIzMGZhMTg2ZjU2YmQ3YThmY2YxNWY4YWU3NTRhZmJiNTU0IHJlbGVhc2UyNi1tYWludAorODA5NTUgN2U2ZjFlODBiM2M2NTY3ZTcwYTBkNjdkOGVjZDJhYWU3ZDY5YjVjNSBweTNrCis4MDk1NiA0NjQ0Y2ZmMjUyNWJlMGRlN2UxM2IzOWI0MDI5ODc3NzUxZDI0NGFlIHJlbGVhc2UzMS1tYWludAorODA5NTcgZjg1MWU3YjZlMGQ1YzVkMGE5MTk2YzFmNTRiOWYzOTFmMjJkNzA3YSBsZWdhY3ktdHJ1bmsKKzgwOTU4IGJlZGU4NTA3ZjBhY2Q0YzhhY2ZmYWFkYzQyMGNmMGM1ZjNhNWE5NTggcmVsZWFzZTI2LW1haW50Cis4MDk1OSBkYjEzMzZjYzg1MWMyYTg1ZGIwY2YxYjYyNDNkYTk3MTcxZWU3Y2VlIHB5M2sKKzgwOTYwIDMyNGY4OTg4NmExY2I2ZGEzMmJlMjE5MWQxZDEyYmRjZGVkNWZlZDcgcmVsZWFzZTMxLW1haW50Cis4MDk2MSBkMDZlZjMwYTQ0MWVkYjViYWQ1N2QyYWNmOTBkNGViYWQyYmY0ZDQwIGxlZ2FjeS10cnVuaworODA5NjIgYjdhMGYwMjFmZjdkOTczNTg3ODhmZDQ2OTJhNzVkMzIwMjdjN2ZhYyBweTNrCis4MDk2MyBjMTQyM2IwYTkzMjkzNjc2NDUzNDhkZDliMzg1MzY5MWM4MTdjYmY4IGxlZ2FjeS10cnVuaworODA5NjQgNGY3ZTUwODlmYzk3YWU3YWY4M2ZlZTkyZWRmODAzYTVkZDk5YWMyMyBsZWdhY3ktdHJ1bmsKKzgwOTY1IGFmZTI1OTIzNTRkOTdiYzUxYWU0ZDk3MTcxNDNkYjE1MzRlODEyNGMgbGVnYWN5LXRydW5rCis4MDk2NiA0YTk0MGQ5OWVjODRiMWIyYWJiYWFhMGM5MjQ0MjdhMzJiMDNkZjVjIGxlZ2FjeS10cnVuaworODA5NjcgOTMwMzk1YjJkZTkwMzZiMGU3MjdkODI0MDEwZWY1ZjVhMmY3ZmU3MyBsZWdhY3ktdHJ1bmsKKzgwOTY4IDNmYWU3Y2I0OTIwOTViMTI5MWU2MTI5MDA1MTg0YmJmZmU1MWE1MzggcHkzaworODA5NjkgYzVmZGU0YTQyY2IwYTVlMTU3YTZjMWNmZmZiNzUwNDdmNWQ5Mjg2YSBsZWdhY3ktdHJ1bmsKKzgwOTcwIGY2MTRkYmVjMmY0Zjc5MmQ3ZDI3ZDc4Y2M1NzJmZGQ5MzFkMTBlMGMgbGVnYWN5LXRydW5rCis4MDk3MSAyMjdmYTdkYjUwZGVkMDNhODU0NjdiMDE1M2RiMTFlMjMyMzVmNjExIHB5M2sKKzgwOTcyIDBkOTczMmY2MDc3NjkyOTM0ZGNkNDg5MDgwNTVkMWM5OTM3MDMxNmQgcmVsZWFzZTMxLW1haW50Cis4MDk3MyBiMTBjM2EyNGQyZjlkYjhmZDQxZDhjY2Q1NDQzNGRjYTMzODU0NDU2IHB5M2sKKzgwOTc0IDYzZDZmNWZlZGJmMzE0NTY1YjI5Yzc4YjQwYzhhZDMyM2EwYjA5N2YgbGVnYWN5LXRydW5rCis4MDk3NSAxN2QyMWU5ZTYzMjAxMzNmYzJlOTIyNjA1ODMwYmE0OGU4OGJkMWNmIHB5M2sKKzgwOTc2IGI5NGMxMzNkYjQ1MTY2MmJhZDI5MzBlMTZlNTM0MzVlMTc0YjQyNzEgbGVnYWN5LXRydW5rCis4MDk3NyAwMjcwMTUxMWI3NTk2YzAwMThlZDQ1ZDcxNmUyNWIzMTAxZDlmNGU4IGxlZ2FjeS10cnVuaworODA5NzggMzNjYjViOTkyZDM5MmVhZjA0M2VlYmM4NmQ5NjA1NjVjZjZkOTQyNyBzaWdpbnRlcnJ1cHQtcmVzZXQtaXNzdWU4MzU0Cis4MDk3OSBiN2YwMmM2NzBiZDdjNGY4NmIyNzllMDUxM2EyMmNkN2E0ZjNmMjI5IHB5M2sKKzgwOTgwIDcwM2Y4YjExYjI1MGJkZjM3NDRjZjdmOTkyNjUwM2RkMjAyOTVhYWEgbGVnYWN5LXRydW5rCis4MDk4MSA5ZjQ2N2M2MmQ5NTQwOGU0MTJjOThjMmIwMjJlYzdjMmQyMzcyODIzIHB5M2sKKzgwOTgyIDI4NTIyMGYyNGNjOGYzYTNlZTUyNjFkNzMwZTQ0MGZiM2NiOTg0MjAgbGVnYWN5LXRydW5rCis4MDk4MyA0Nzg0NzFjY2Y3ZmQxOWVjNjNhOTAzMWYyNWU2YWNkZTU5ZTZmZjE0IHB5M2sKKzgwOTg0IGJlMWFkZjNjOGEzMzJjNWFmMmIzODRhNDc5YmZiMjNkNzRmM2ZhZWIgcmVsZWFzZTMxLW1haW50Cis4MDk4NSBlMjYzYWMyYmU0ZmQ0MjA2ODI4NGQwODg0ZmI2M2NkNDQ4ZDVjZThjIGxlZ2FjeS10cnVuaworODA5ODYgMmY3YWI5MjIxMjFhNDBiNzFjYWQ2ZGE4YzZiNTRlYTI2YWIzY2M0OCBsZWdhY3ktdHJ1bmsKKzgwOTg3IDMyOTNkYTgzZGYxZTMwODZiODJlMDdhZTM1MDVhNjI3ZWEzZTBiZjAgbGVnYWN5LXRydW5rCis4MDk4OCBlNDM1ODg4Yjg4MjVlNTdmMjY2NzFlNGY2NDdmYWM1NTQwZjc0NGE2IHJlbGVhc2UzMS1tYWludAorODA5ODkgY2FmYjYyMjVkZWQ4NmU2ZDIxZWUzOThiYTg5NmJjZjZmZjRlYjEzMCBweTNrCis4MDk5MCA3NDMzNTVlM2VmNGFiMTFiYzJkMzUxYzA2YzgxMDVlMTc5MDYwZjA3IGxlZ2FjeS10cnVuaworODA5OTEgOGZmOGYwYTUyNmRkMDdiNzQyOWNlZmE1NjIzNDY2ZjEwNThkMGIzNSBsZWdhY3ktdHJ1bmsKKzgwOTkyIGYyY2IzYWY1NTYyZmJkOTA0YmI2MTUyYjY5ZjE0MWMzNjgwMWExOTIgcHkzaworODA5OTMgZGNjZGZiZTU3N2JhNTcyZDY2NDYwNzlmYzY3NzQ1ZTRkNjMzMzk1NCBweTNrCis4MDk5NCAyNGVjNzI1OTQxOTY1YTkxZmUzMTIxZDQzNTc2ZWVlNTA0NTM2MjMxIHJlbGVhc2UyNi1tYWludAorODA5OTUgMzFiOTQxMmNhZDAxYmQwM2ZjNWYyNzc1ZjFhMTAyM2NlYTIxMzk2OCByZWxlYXNlMzEtbWFpbnQKKzgwOTk2IGYyMTk0ZTY4ODgxZWJmNDM3NjE5YWMwYmY5NTA5ZjQ3OGZhZDdhMGUgbGVnYWN5LXRydW5rCis4MDk5NyBkNmRmNzQ5NzgwYzU0NzkzYzc1ZjQ0MzcxNDkxYzZiMGJiNDVmZDAzIGxlZ2FjeS10cnVuaworODA5OTggNmJiOTg5MWQ0Mjc1YmQ0MmE2OWIzZDkwM2QxM2I2ODc1NDNjOTE1ZCBsZWdhY3ktdHJ1bmsKKzgwOTk5IDg4Y2Y1NzZmOWNlZWEyNWYxZjc5ZmJiMjlkODBiYmZhY2ZmZDJlNmUgcHkzaworODEwMDAgZjBmNDExOGM3NmU5OTBmNmZhYTNhM2E2YzNkZGUxNTE2NTdiZGI1NyBsZWdhY3ktdHJ1bmsKKzgxMDAxIGYxOTFkNWY4MGViMDQxYmFkZTU1NDI2MTdmZTU3NWJkOWRjZjU0M2IgcHkzaworODEwMDIgYmVkMDQ0OTIzOThkZWQ2MDYzNmY1YTIxYTg2ODk4NTlhY2ZmYmIyYyBsZWdhY3ktdHJ1bmsKKzgxMDAzIDY2M2IzOWQ0YTdlZjdkNjc4N2IyZWJiZWE4MDBiMTlkZjJhMTcxM2IgcHkzaworODEwMDQgNGRhN2ZiYTMzNzBmY2EwZTg5OTQxODlmMTI4YzVmYjRlZTY4Y2RlOSBsZWdhY3ktdHJ1bmsKKzgxMDA1IGZjYjIxZDJjZWI3M2IyOTMzOTE0NTA3NWZmNDhjY2M0MWExYjZmY2UgcHkzaworODEwMDYgYWI5YWU1Njc2YWRhZTcyNTFmNWRhMTJkYjk2ZTRkNzQ0ZTE5MDA2OSBweTNrCis4MTAwNyA0MzVhODM1NWRhYjZiZWZjNDcxNDFkYzIxNmMxMGRiMGYyYjFlY2E2IGxlZ2FjeS10cnVuaworODEwMDggNmZhOGUxMzgxYjQ5OTNiMTUzNjBmMWQ4ZThkMjVmOWU4NDk2MDRlOSBsZWdhY3ktdHJ1bmsKKzgxMDA5IDExN2I0YjgxYjg2NDAyZmYyOTlkNzg4ZjYzMmJlOWZjNGEwNjRiYjEgcHkzaworODEwMTAgMmU5YmM2MWMxYzFlYzcxODhjZmRlNmE4MTc5MjE2OGNlMWMwNGIyMSBweTNrCis4MTAxMSBmYjcxOTA0OTA0NGZjYzhhZDc5MTNkMmZmMzQ2NzBmNTgwNDNlZDhjIHJlbGVhc2UyNi1tYWludAorODEwMTIgMmM5ZTA5NWQ1MmYwMGRkNjNiM2E5ZDc3MTcyNDNlOWQ0OGVmNGQ4MSBsZWdhY3ktdHJ1bmsKKzgxMDEzIDUwZmEzZjRjODI5YjM0MWI2YWFiMDAyOTQ1ZmE5ZDRiMmM1OTk3MTMgbGVnYWN5LXRydW5rCis4MTAxNCBkZDFjOGZmMmU5OTAzMDgxNzQwMDljYzVlZGNjMGNlOTJjNzU5YjhiIHB5M2sKKzgxMDE1IDExMzliNWQ5OTZiMDA0MTQ5MmIwYzA0Zjc4ZmY2MGU4NDE5ZDZmODUgcmVsZWFzZTMxLW1haW50Cis4MTAxNiBiOTY2ZDU4MzVkM2IxMTBhZTM1MWVlYWE5ZDFiMzUyM2Y2MjNlZDU4IHB5M2sKKzgxMDE3IGQzMTVhNzlmMWVjY2VlNTQ1MmNiYjE1YTQ3OTJkMjY4NmIyNThmYmMgcHkzaworODEwMTggNjc3NTExZWRmMDVjNzgzYTllYzkzZTNjMWYwZmVkYjhhMDQxM2RhNSByZWxlYXNlMzEtbWFpbnQKKzgxMDE5IDAzNzUzMzE2ZjgxZjdiMTM3ZmQ1ODlmYjZjYTE1MDEyMzI2OWMyMTQgcHkzaworODEwMjAgNmEyZDBjYzdkNjA0OWNhNGUwMWZkNWZiZmVkMDEyYWRmZWQwM2M1ZiBsZWdhY3ktdHJ1bmsKKzgxMDIxIDMwM2RiMjI2MTE1ZGQ2Y2RmMDkxYjAyYmEyNzIyOWU3MjA2ODQ4M2YgcHkzaworODEwMjIgNzI0ZTg3NWIxOTQxYzU3ZjFiMjFkNzQ2OWMwZjlhNTY1OGFiZDUyYSBsZWdhY3ktdHJ1bmsKKzgxMDIzIDIyOTRiY2Y0MGU1MTk1N2QxODBkYTFmNTRkNjNjNmNlMmM5ZTllNjQgcHkzaworODEwMjQgM2RjMjVkMDI0YTUxYzM0YjVmZmM0NjQyMDk0YzBhNTljMWM4MjFlZiBweTNrCis4MTAyNSBmOGMxOWM1ZjVkZDI0ODNhMDE0NWQ2OTEyYjlhYzI4ZTMzZjNmNmJlIHJlbGVhc2UzMS1tYWludAorODEwMjYgZDY5OGZiMDU2YTQ1OWM5YTJlNDBjYzI2NDRhNDQxN2M5NjFhNGY3OCBsZWdhY3ktdHJ1bmsKKzgxMDI3IGI2ZTAzY2E4YTIwNmRlZjMzMTYyOTkwOGQ4NTE5OTkyNDA5YTk4ZGEgcmVsZWFzZTI2LW1haW50Cis4MTAyOCAxOWFhYzg0YWMxZGFkZWJhZjhiN2Q2YTExMGI4Yjg1ZGFlOGZhOWI3IHB5M2sKKzgxMDI5IGZkMjUwMzAyMjNiMDcwMjcwMDJlN2Q2NTk1NmU0ODAzY2M3MDZiN2EgbGVnYWN5LXRydW5rCis4MTAzMCA4NGJhZjYyNThjM2JmMzg1Mzk3NTJiYjNjOTBlMWUwZWQ3ZGJlMTUxIGxlZ2FjeS10cnVuaworODEwMzEgZTM4MzM1ZDRkZjkxZGU2NDI3YzlhMjFiNTQxZmNlNGY4MmQ5NTY1YyByZWxlYXNlMjYtbWFpbnQKKzgxMDMyIGNhYjE0YmUwYWRhMTU5ZGE5ZjdkOTRjNWVlN2M1NmU2MWUxNTdiYzYgcHkzaworODEwMzMgZjE5NzQwN2JkYmEyZjdkNjQ0OTIyZWY3OTM4OGQ1YzhiNGFjODU4YSByZWxlYXNlMzEtbWFpbnQKKzgxMDM1IDVlYTBmNTg1OGI3MjJhMTJhN2U5YTkxNTkyOGIxNTNmZjQ4MWFiNjcgbGVnYWN5LXRydW5rCis4MTAzNiBiYzBjZWE1ODQ0Nzg0N2YyM2QxYjQyNjA0ZmRiYzUwMzQyMDY3N2ZjIGxlZ2FjeS10cnVuaworODEwMzcgNWNhZDEwYjI3N2E0NzgzMTM3ZTgyODZiYjMxNDNiYTk5MGU1ZGQzNiBsZWdhY3ktdHJ1bmsKKzgxMDM4IDY5Y2U2YzkzN2Q2ZWM5ZWU0Zjg3YTg2OGQ2ODUwYWYxNWQ4NzY4NzkgbGVnYWN5LXRydW5rCis4MTAzOSA0M2QwMTY5ZGY5NDNmYTAzMzVlN2NmZmYxMjBmNzVlZmFkNTMwMGQ5IGxlZ2FjeS10cnVuaworODEwNDAgMzEzZjg1NTg2ZWY4ZWI4MzU0YTAxZDE1NDQ5OWUwNDM3MjcxMWZkMiBsZWdhY3ktdHJ1bmsKKzgxMDQxIDY3ZGMwYTk4YjhmNmZjOTI1ZGQ3M2U3N2MwMDE5ZDFkYTc1NzVjY2IgcHkzaworODEwNDIgZmM0NmU0MzcyMjdkNjI5MWQxMWY4OWZkNTAxMjk0MWQzOGE1MzE1MCBsZWdhY3ktdHJ1bmsKKzgxMDQzIDVlYjBlNTQ1MTYxMjQ3Y2ZlNmZlZDIwN2JjY2UxZTNkN2U0M2YyODIgbGVnYWN5LXRydW5rCis4MTA0NCBmYjE5ZWM1Nzg4NTMzMzljNjAwMGE0ZWY4YTYyZWY4Y2FjY2RjYWMyIHB5M2sKKzgxMDQ1IDQ4OGRiZTI2MmY2ODFkNGExOGU5MTgyMTZiZWQzNzY1MTE1ZjI4ODMgbGVnYWN5LXRydW5rCis4MTA0NiA3ZjVhNTcxYjFlY2I4YTI4ODA3MmQ4ZWRlN2I5MGFlNDFhNTQwNmJlIHJlbGVhc2UyNi1tYWludAorODEwNDcgMjBhZTgzODIxZWYwNTM3MjkyZGYxZjBhYjlkY2EwMTQ0ZjkwZGE1ZiBweTNrCis4MTA0OCA4YzQ5OWNiMzcyM2E0YjA5ZTUzYzJmM2JkYTIzOGFkNWZkN2U2NmRlIHJlbGVhc2UzMS1tYWludAorODEwNDkgNzM2ZDZjZTliNjBiYWE5MzRkZDRiYWQ4Y2Q0ZjRkNTM3ZWUyMDU0YSBsZWdhY3ktdHJ1bmsKKzgxMDUzIDk0NTczOGUxODcyNjM5MTRmZWI0MzlmMjJhZDAwNWJiNGZmOTdmNWEgbGVnYWN5LXRydW5rCis4MTA1NSA2YThkZmZmNmQyNDFiNTAwMTJiOTA3NTM4MDY1OWRiNTMzYWZkOTRmIGxlZ2FjeS10cnVuaworODEwNTYgZTY0Nzk4YjM2ZWE0ZGVmMDZhNjcyYWY3NzE0YWI5NDVhOGEyZDRhMSBweTNrCis4MTA1NyBkYTZjZjhmM2Q4YzJlYzg2ZDI1OTgyOGYzYjI3NjY5NTJjYTg3YWJlIHB5M2sKKzgxMDU4IGYwMjViNmIwZmUwZjZmOWJkYWRiM2ZmZGJhZTRhNzVmMDcxY2E3MGQgcmVsZWFzZTMxLW1haW50Cis4MTA1OSAzMTQ4ZDcwNTI4YjYwNjcxNjVjNzA2NzRlYWU5NzNjMzdjOWFmMzg1IGxlZ2FjeS10cnVuaworODEwNjAgZTc2MjllZmM1NWQwMDdlNTI0N2Y2OWQwNDczYThlYWU5YTQyNjQ2NSByZWxlYXNlMjYtbWFpbnQKKzgxMDYxIDBmODUwN2Y1NDk0MjllMGMyYTQ3MmM5NzdlMjU3OTM2NDMyMDI5MDQgcHkzaworODEwNjIgYmJlOWY5OGEwYzAyMGNlZGU2NjdmZWEzZDkxODZmZThmN2NlZDg3ZSBweTNrLWppdAorODEwNjMgODI5YTg2ZTExYmQ3ZTE0ZTkwZGJkNjRiNGI3YzMxODQ4MzNmZmUzYSBweTNrCis4MTA2NCBmMTM1OGFhMzNhNmUyMzRmZDE3NWQ0YzY3NzkwYTdlOWYwNmFkODdkIHB5M2sKKzgxMDY1IGNiZmQyN2RiOGRjMjc4MDdmNjk5N2JjY2Q4NWJhMjg3ZjM0NWFiZWYgbGVnYWN5LXRydW5rCis4MTA2NiBmYzllMjE1OTY5ZDgzNmEyYWYzMGUxOTYxZThhNjM3MDBiOGFjY2UyIGxlZ2FjeS10cnVuaworODEwNjcgNWFiMDQ0Mzg1NmNhYjhhMmU1MzQ0NzA0NjY1ZGJmZjgxZGI0Njc3YiBsZWdhY3ktdHJ1bmsKKzgxMDY4IGQ2MDRmYWI3NDlkZDc0MDNiZDhkNDIzYWYzMjNjZTYzODBlNzRiMmIgcHkzay1qaXQKKzgxMDY5IGM3NTUxMmE4NWZkMWFlYzNiYTMzZWU3ZTYxNjNjYWI0N2EyMjZhZjMgcHkzay1qaXQKKzgxMDcwIGI2NmViYjc3NzU2OGIwZTllMjBhYTU3OWJjMWQ3MmVmNmYwYTM0MjUgbGVnYWN5LXRydW5rCis4MTA3MSBiYTBmZTAyNGU4OWZkNGNhNTU1NmUzMTVkOWQ5NTVkZTQ4NGFhNjc4IHB5M2sKKzgxMDcyIDQ1NDA4Y2I0YjcyMzJiOWYyNGQ5Y2NjYjIzNDEwNDFkNDM5YjEzNTggbGVnYWN5LXRydW5rCis4MTA3MyA2NDlkNjcxMGE4MWZmNzU2ODUzMDY0ZGMzOWFjZmFkOGFiMzM3MzliIGxlZ2FjeS10cnVuaworODEwNzQgZjgwZTkzNTgyYjdmZTZkZTgzM2VlM2M0ZmJjZDRkZWYxODc1NmE2ZSBweTNrCis4MTA3NSAwMDIyMGViZWVkMGE4ZjI0YjRjZDdkMDM1NjM1YWJhZDRmMGFiZjY2IHB5M2sKKzgxMDc2IDhhYzBmMGRiNWY1OTc1ZmVjYTdlZTQ3YmNlMTE4YWE4ZDMzMTllOWYgcHkzaworODEwNzcgZjE1ZDZmMWEyZmEzMGVkODNkN2MyMzVlNmQ3NjNjMzc0YWY0NGNmYyBsZWdhY3ktdHJ1bmsKKzgxMDc4IDFmNjlmMjgxOWQzMTM1N2Q0ZWRlYmIyNjdlZTNlZmI0NDllZjM5NDIgcHkzaworODEwNzkgYzBkZDMzYTVhZGJlNmM1YTJhMDgyNjQzMjFkMzliODA4MmNiZjBhOSBsZWdhY3ktdHJ1bmsKKzgxMDgwIDBhYzExZGI1ZmM5NmU0NzA1MzlkMmVjYzVlMmNmZWQ1OWNlYzI4NDggcmVsZWFzZTI2LW1haW50Cis4MTA4MSAwMTE5NDBiYWVmYjBiZTkxMzU4MjAxMjA2Y2Y0NjI2NDgyZjkyMTE1IHB5M2sKKzgxMDgyIGZiNjJlM2E5ZDg4NmZmYmFhMWM0NzNmYjg4MTUwMjlhMDg4NTMzNzAgcmVsZWFzZTMxLW1haW50Cis4MTA4MyA5YzMyMWFhZWVmMTI2MDg2YTM4MjdjMjNlMzQ2ZjVlYzMwZmYyNjU2IHB5M2sKKzgxMDg0IDgxYTNhMzIyNmNmNWRkNDViNGQ3MmIxOWE4ZGYzMWFlYTI2M2QxNDMgcHkzaworODEwODUgOWRmZWQ4ZGQxYzZkOTg5NTQzYTQyNGM0MDhiYjk5NmJhN2VjOGM4MSBweTNrCis4MTA4NiAzNTNmNDBlZWQxYmM2ZDRlY2Q3ZmYwZTI1Nzg1YWU2ZmRmMTQ5YmUwIHB5M2staml0Cis4MTA4NyA0ZmQ3ZmVhNTllNWIyYmNmMzcwYTY1Mjk5YzE0YjZiYjQyY2Q5N2Q2IGxlZ2FjeS10cnVuaworODEwODggM2U2Y2E0YjAzYzc5YTRkNGY1NmVhZjY5MGFkYmZhMjhhMTk0OTMyMCBsZWdhY3ktdHJ1bmsKKzgxMDg5IDgxMWZjNjMxOTBhN2NkMWE3MmQ3ZmY1ZTdiODE2YWRiZDRkZjgyMGYgcmVsZWFzZTI2LW1haW50Cis4MTA5MCBkZmY2ZmMzODg4YzYyZTk4ZTljNGNlMDFlNTc1OTkwN2UwNDdlNmZiIHB5M2sKKzgxMDkxIDg2ODAxZDFkOTAzODZiYWIwNmFlZWE5NzJiZGZjOGEyZDEzN2Y1YTcgcmVsZWFzZTMxLW1haW50Cis4MTA5MiAzMGY0YmJiYWRlMGI3MTE3YjUzNzkxYzg1MDVjYmIxZGQ1ZjIzMGUyIHB5M2staml0Cis4MTA5MyA0OTU5YjZmNWJjODZjZGM1MDdkOGRhNjQxMDk4NjNhZjliZWMyYzg2IHB5M2staml0Cis4MTA5NCA1ZTM5MzRhMzFjOGRjMDI4ODViYmQ4YTI5OGY0YjFiZGMxOGY0Y2Q4IGxlZ2FjeS10cnVuaworODEwOTUgYWYyZjg0ZTY2MjUzN2MzOWY1MGI4YmFiODRjZmQwN2JkNzhhOWY1ZiByZWxlYXNlMjYtbWFpbnQKKzgxMDk2IDU0ZGMxMDk4OGYxNTRjMGRlZmU2YWFmNjYzMzFlNjliNzhjYTc4ZTEgcHkzaworODEwOTcgZWY0ZGUwNTNkNTc3Zjg1ZmU4YWZmOThjNzNmOGM0NjZlMzhlZDAwYSByZWxlYXNlMzEtbWFpbnQKKzgxMDk4IDNhOGNhNjdhZTQzMTFiMDQ5ZDFmOTk4YzU2OTAwODE0MWJlZThjZTUgbGVnYWN5LXRydW5rCis4MTA5OSAyYTcwYzgwMzQ5YjBlZDBhMDJlYjAwYjc3NTYxMjliMTAxYzJiZjQzIHJlbGVhc2UyNi1tYWludAorODExMDAgNDhkOTY2NGM0N2EzZjU4NzMxMzE2OGYxNTc4YjRmMjliOTkxOWY5MiBweTNrCis4MTEwMSA0YjEwZWY4YTAyNGNlZmEzMzA3N2UxYzM0ODRjMmU1OWEzZjA1Y2QyIHJlbGVhc2UzMS1tYWludAorODExMDIgMjFhODFjN2FhNGJjNTBmNzhhMzAwNzgxMzFlYmE4YThlZWUxMzgyMCBsZWdhY3ktdHJ1bmsKKzgxMTAzIGI5ZDRhZGY4YjE3ZTlmZjBhYmJkNTcxZDc5MzI1MjVmZmQxNWI4ZTQgcHkzaworODExMDQgNGI4OTYzY2Y4MGIyODZkNjhlNTE4ZWE2NDYwYjdmYzQyZWIzNjU1NSBsZWdhY3ktdHJ1bmsKKzgxMTA1IGI3NjA0ZWEyZjQ3ZTdmNWUwN2FlOWYxNzA2MGFhMTBmN2NiZjQ3YTQgbGVnYWN5LXRydW5rCis4MTEwNiA3M2YzYjg4NTE3NWRiMzdlMDFhMDk2MTU3NDcyZGFhMmRkNjA2ZmY2IGxlZ2FjeS10cnVuaworODExMDcgNzczNzE0ZTVlYWFlYzk2MzAxZDFjZDliZWIyNmExZjM5ZDBjYTIwYiBweTNrCis4MTEwOCAyZGRjZDMwNTMzZjcyZmQ2MDc2Nzg0ZjY5YWEwOGExODg1OWZkZWEwIGxlZ2FjeS10cnVuaworODExMDkgNmY0Nzk2MGI1NjQ3ODlkY2Y4ZTgxODNhNTI1NjI2ZTg2NWFiYThjYyBweTNrCis4MTExMCBlZmFmNjJjMmNmNzU5OWI0OGNmM2RhZWYyODc3NGIzNjQyMzZjODdkIHB5M2staml0Cis4MTExMiA1ZGViZWNiNDgyODJkYWEwNDg4Y2I3MTAwZWFiMjU3ODNmZGFjODNjIHB5M2stY2RlY2ltYWwKKzgxMTE0IGI2NDY0MDE0Y2FhMDc2NzZiY2Y5Y2MzYmMwODNlMTJkODViYjc3YjcgbGVnYWN5LXRydW5rCis4MTExNSBlMTgzNmE3YjZiNmU3NjljOTY4MzIxMTM1NmI5YWY1NzRjZjIzNmY4IGxlZ2FjeS10cnVuaworODExMTYgMWIzZWJlZDhiNmM2NTJhNWU2YmFkODRlY2Q4ODllM2MyNWFkMjM5MiBweTNrCis4MTExNyAwMTNkNzZhYTg5NTFjMmM0ODYyZTdkMWE0YzRlMmYxOWY1Mjc3MTgyIHJlbGVhc2UyNi1tYWludAorODExMTggMzMwMjczZWM2MDI4MzlhYmViNzgyNDMxMGY0YjI1ZDA2NDFhNjQzNiByZWxlYXNlMzEtbWFpbnQKKzgxMTIyIGMxYmE4ODE2YjE4N2U5MzU2NWY3MjhjYzQ1ODZiMzljYTgyZjljYWIgcHkzay1qaXQKKzgxMTI1IDllYzdhY2YwYTAwNTg3MGZlODg5NmUwM2Q5MmI4ODk1ZDc2YzBjOGUgbGVnYWN5LXRydW5rCis4MTEyNiBiNTU0ZWVhMjYxMGNjOGQ3MDJlNjMzMjM3NDQxMDZmNGQ1MzMxNzdhIGxlZ2FjeS10cnVuaworODExMjcgOTFmNDYyYjkwNGIxZmQyODY4ZGUxMjZkMzc4OGVhNjViOTM0NTU4YSBweTNrCis4MTEyOCAzNGE2ODZmYmZmZWI5ZTVhNjViMzNhOTEwMmU1Mzg0Zjc5MWNiMjFiIHJlbGVhc2UyNi1tYWludAorODExMjkgMTAzNWE4ZmQ3ZGZiOTU3MTFjNzU0NThmMzAwZDAyMDYzZmQ0M2RjMyByZWxlYXNlMzEtbWFpbnQKKzgxMTMwIDA2YzZkM2E2N2MxN2IxZjg3OWJmYzE2YTRlOGZhZGU1ODQ0ZTY2NDAgbGVnYWN5LXRydW5rCis4MTEzMSAyYzI5Y2Q1NjY4Yzc3Mjg1MmU2M2ZiYWQxNmQyNTFhZjdiYjQ3Y2RlIHJlbGVhc2UyNi1tYWludAorODExMzIgZTU1NjMyYWE2OGU5NzQyZWQ0ZWVkOWZkZGQyNWQ5MWYwODVlZjNiNiBweTNrCis4MTEzMyA5MGE5YTM0ZTVlYjUyM2MzZWFlMmZjNjBlMTRkNjA3ODNmMzlmZjMyIHJlbGVhc2UzMS1tYWludAorODExMzQgODQxMGY4M2ZkMTU5ZjZlZTUwODcwYmU5ZjI0MjQxZDg3ZDkyOTVjMyBweTNrCis4MTEzNSA2OGJjMzU3NzVkMzEzNDAxNzU4MTIzMTE2MGVjMGQxYmJlMzhmYzA2IGxlZ2FjeS10cnVuaworODExMzYgYzgwNmVkZjhkNzM0MGVmZjFiMmZiNjc1NDM4ZmRiZDFmMWJhZjM0NCBweTNrCis4MTEzNyBlYmE0OTQ3OGFhZDk2NTE3NmFhMGZhMzE1NDY2MzgxZThiNTFlNTkwIGxlZ2FjeS10cnVuaworODExMzggNDMxYTE1MWUxMDJkNTI2Y2U4MmNlZDUzNGZiY2IyZTg1NTBhODFmOSBweTNrCis4MTEzOSA1MzYxZjZkZDEzOTk2MzljN2ZmYTEwYjM4YjU2MzViZmRkYjZmYmZmIHJlbGVhc2UyNi1tYWludAorODExNDAgZWU1OTZkYTg2MmY4MjdlNmU5OWM4NWYzYjlhYzRkZjQyMjJjMGFiOCBsZWdhY3ktdHJ1bmsKKzgxMTQxIDZjYmQ0YmNhMDk3YTBhZmQzOWM4YjVkMGY3ODRkZjVkNDY5NDNjODggbGVnYWN5LXRydW5rCis4MTE0MiAxNjk4YzU1YjJhZjk0YmNlNTQwODU0YjA4NzUzZTVjYjNjMzFkNWNkIHB5M2sKKzgxMTQ0IDkzNzkwODQ3MTc0YTc0N2FkNGMzZmUzZTdmZWQzNTdmODYwMWUyMTkgcHkzay1qaXQKKzgxMTQ1IDA2MzY0ZGFkOGRkZDE1YTRmMDQxZTdhNmU3ZWNlMWQwZDJmNTA1ZGIgbGVnYWN5LXRydW5rCis4MTE0NiBlNGYyNjk2MTVhMjVjY2UzMTIwMjYzMDUzZjEwNjZhODFlMjBmMTZmIHB5M2sKKzgxMTQ3IGIzODZlYjgzNDc1ZjQ5ZjY3YWYzZGM3Y2VjZDhkZjQyZjg5MTMzYjYgcmVsZWFzZTI2LW1haW50Cis4MTE0OCBkYTNmYTg4MWE4MDAzOTA1MjBiZmZlNjk5ZGIxNDRhM2Q2YWM4ZTYxIHB5M2staml0Cis4MTE0OSBlMDk2YWFlNTM1YjliNWJhOTNhN2NiNzMxYzI4M2NiZjFiZmI0YjVmIGxlZ2FjeS10cnVuaworODExNTAgMmZhNzNiMjliMzA1OTc1MDdiNmZkMDY4ZGYzMmZhYzI4YTMzOGI1NCBsZWdhY3ktdHJ1bmsKKzgxMTUxIGNiOWUwOWYzZmE4ZWVjM2M5YTQ1YmE0NmVmYmQzZDhkNzIwNDJkZDAgbGVnYWN5LXRydW5rCis4MTE1MiAzMWNmMWIxMjUzMGE5ZDBhZWUzYzI1ZGM4MzI5OWRjOTgwZjc0MmViIGxlZ2FjeS10cnVuaworODExNTMgYWU0YmI2NzAxMDc4ZTBlM2JjNDU3ODRiOTA0YTRlMDZlNTY0NGI2MyBweTNrCis4MTE1NCBjYTQ5NmJmYWNkMWJlNWI3ZTA1NDNhMGFmOGE0ZWYxOWYwNzZlNzFkIGxlZ2FjeS10cnVuaworODExNTUgY2NmMWNhNzNjMGU5Nzg5ZTVlNjg0ODM5YzY0ZjRkMTU4YjNkMGE1MyBweTNrCis4MTE1NiA5ZTViNzNlYTZhN2NlMWZhMWM3NjQ1NzRiZDg0MjFlZjNlMWZiMTViIHB5M2sKKzgxMTU3IDlmNjJmNTg2NWI0NDFlYjgwOTkwYTcyMTI5ODNhOTMyYTQzYzFmOTEgcmVsZWFzZTMxLW1haW50Cis4MTE1OCAyNjIyNzk2YWVjYTk0ZWEyZmI2NGVmM2UxMTg0NTVlMDU3N2M4OGYxIHJlbGVhc2UyNi1tYWludAorODExNTkgNThhNTZhYmEwZWIyYzJlMjRiNTNlYTlhNTFkNmZmNWU0YTM4MzJhZiByZWxlYXNlMzEtbWFpbnQKKzgxMTYwIGE2YTY3YjczNGQ4YjM2MDNiYzYyNTU5MzcxZThjNGUxN2ZmNWUyY2EgcmVsZWFzZTMxLW1haW50Cis4MTE2MyA3NDJmMTliNDcwMjA0Yjg1YmZkYjM0ZjhmOGMwMWJlMDNlNzk2NDEyIGxlZ2FjeS10cnVuaworODExNjQgMGNiMGZhZDUxNGYzNzUyMWM2NmEzYTc5YTVjN2YwMDg1NzhmYjU3ZCByZWxlYXNlMjYtbWFpbnQKKzgxMTY1IDNiMjQ3YWY2Y2VlNzkyZGNjYzQ0NmVjNmM1NGI1YjIwZTEwZDk5ZDIgcHkzaworODExNjYgMjUyZmU1YzRjZDUzZjg2ZGQ2OWFiNGIyMTE5YTUxN2RmZWI5OWE5YyBsZWdhY3ktdHJ1bmsKKzgxMTY3IGVhZjgxYTEzMGFkNmM0NDk5Y2UyZDA4Y2Q0MWYzMWVlYTBkZTU2NTYgcmVsZWFzZTI2LW1haW50Cis4MTE2OCA5ZWUyMjhkMDg5ZWRkMjhmODZhY2VmYzhjMDljNTUwZmVmMTFjYzMwIHB5M2sKKzgxMTY5IDJiMGFmNjlhZWY5N2QyMjhlY2Y3MmMyYThkMzE3N2IxNGYwYTU4ZDggcmVsZWFzZTMxLW1haW50Cis4MTE3MCBhYjMxYjAwOWExZWUyOTM0YjBiNmU4ZjE1Y2I3YjZkODgxNGE1NzU3IHB5M2sKKzgxMTcxIDljMWEyYmQ1MTUyOGMzYTdkNTUyYzAwNTIzZTM1ZGIyYzg4MGI4MDMgcmVsZWFzZTMxLW1haW50Cis4MTE3MyAzMDlkOWNmODQ4MDg1MGU0ZjhlYWIzOWVmOTlhMjkzODdmY2Y1OGJjIHJlbGVhc2UzMS1tYWludAorODExNzQgNTlmZjdkODEyYWUzNDJmNjUxNGUwM2QxN2Q0NTFhY2FjNDgzOWQzMCBweTNrLWppdAorODExNzUgMjM2OWQ0ZjE4OWU0MmM2Nzc0NDE1NTAzOWJmMDk3NDM5MDViMzRmMiByZWxlYXNlMzEtbWFpbnQKKzgxMTc2IDExNGM0YTQyZmMxZDAzMDczYTNkZmVhMWUzMzQ5YWE5YzgyMDkyN2MgcHkzay1qaXQKKzgxMTc3IGE4MTRlN2U3MjkwMGZhZjQ4ZmQ4OGYxMDcxYTJkYTU1YjRiNmVkZTUgcHkzay1qaXQKKzgxMTc4IGZkZTliNDM1NDVmYmFmODNjMTE2YTk2MWU1NDI5YTZhNjAwMDk3MmQgcHkzay1qaXQKKzgxMTc5IGU2YmZlOTNiNjViYmRhMjQzZjUzMzJkMGZkOWMyY2JmNzQzNDQ2NTggbGVnYWN5LXRydW5rCis4MTE4MCAwZDAyOGQzNTkwZGEwM2Q4OTU3ZjhhNTNjYmJlYjg4M2VlZThmYmU5IHJlbGVhc2UyNi1tYWludAorODExODEgZmE5MDJmOGUwZGIwZWRmODBhNjZiZjM3YWY0NmExYjc4YjUzODM0YiBweTNrCis4MTE4MiAwZTM3YTk1Y2RjZmI1YzczZjc3NmRmMDhkNzVmZTUyM2IzYjkxZmZjIHJlbGVhc2UzMS1tYWludAorODExODMgNzcyMDM2YTZmN2VmMDI4NzljM2M1ZWYyN2ZjZTZkNDcwZGM1YjQxNSBweTNrCis4MTE4NCAzNjNlZmZiNWY3MjdmODg2NGQ0MGQxN2U5NDQ0MTIxYzBhYWZhMzRjIHJlbGVhc2UzMS1tYWludAorODExODUgZWRlZjg4ZjZmMWFiNjExMjc1NzE2ODZlY2ZkMzkwYzAwNzM0NzM1NSBsZWdhY3ktdHJ1bmsKKzgxMTg2IDA1YTJhYjI3MWI2NWY0ODM2ZDk2MzI0YzIyYWRmMDY3M2QzZGM4N2UgcmVsZWFzZTI2LW1haW50Cis4MTE4NyA5OGMxNjEwNDAwMDJjNTI5MzhiYWFhOGFmNjBmNzhhYmU4MmU4ZDk5IHJlbGVhc2UyNi1tYWludAorODExODggZDk3MmQwNTJlZTIyMTdhYjM4ZGYwODUxNTUyZTBlYTM2YjI1M2RiOCBweTNrCis4MTE4OSBjNGUxMWIwYzdlZTUxODNiZGRjMjJjMmFjYTRmYTdmNzc2Y2NjMzIyIHJlbGVhc2UzMS1tYWludAorODExOTAgNDdiNGRhODZiOWI5ZjVkMGYyODhkMGM0MjgzMDJlMGFjZjUxNDE5MCBweTNrCis4MTE5MSBlYTU2ODVkOTk0MGEzYjk5NThiM2UwNDc1MmEwODE1NTgxNGZhMzIzIHJlbGVhc2UzMS1tYWludAorODExOTIgYmI5YWUxMjYzM2E5OWE4NGFiMGRjY2ViMTVlNjVhNTk3MDExMzYzOCBweTNrCis4MTE5MyBmM2VhN2NkNzM1ZWNlNzQxNjIyYTg5MTI3M2EzYzBhOTg4MmJlODNlIHJlbGVhc2UzMS1tYWludAorODExOTQgYjViYTdlYTQyNDZiMmNlNmYxMmY4MzdiOWQxNTkxNzE5NTk1M2UyNyBweTNrCis4MTE5NSBlOTA5NjAxZTAyMTk5ZDI0MDU4NzZiOWUxNWZjNWY4MGU3YTI3Mjk3IHJlbGVhc2UzMS1tYWludAorODExOTYgMWUxNDliNTBhY2E2MThiMzdjYzk5Yjc4N2RkZTMzYTQwNTU2NDI0YSBweTNrCis4MTE5NyA5MzExOTE4YzA2NDlkYzk4NjkzMDMzMzg1MTdmYjM3YmM5ZTY3MjVmIHB5M2sKKzgxMTk4IDA0MmU2YTM5NmE4NjQ0NzJlMmVjMDJhYTVhOThhNGM5NGRjNzA4ODYgcHkzaworODExOTkgZGNmNDcxMTcxNThmMDEyODE5OTg4MmY1MzRmNTljMTg2ZDViN2Q3OCBweTNrCis4MTIwMCBkMmU2NzU0Y2JiZDVlNzQ0NzY3N2RiYWVkYTQ4MGZmNTUwNmUzZmU5IGxlZ2FjeS10cnVuaworODEyMDEgZTRkZWRmNTRjNDFlMjQxMjg5OWJhN2IwMTcwY2RmYmYzYzM5NWQ5NSBweTNrCis4MTIwMiA5YWRlM2U2MjM3MTBmMDQ4ZGU5ZWJjZWZkNzVkMDY5ZmU1OGQ5YTZjIHJlbGVhc2UzMS1tYWludAorODEyMDMgZWYwZjYzNGFkNWZhZmQ3YjU2ODlmOWZkYTNkMzcwNDk0YmY5MDgzMyByZWxlYXNlMjYtbWFpbnQKKzgxMjA0IDk5MzgzZjFiYzE3YzhmNTE1NWE2MDhhZjE0ODcxZWZhNzcwZjYxMGYgcHkzaworODEyMDUgYTBhNTM1OWY4ZDEzNjlmMmY1YWQzZDNhM2U2ODg1OGI4ZDdmMDBlMCBsZWdhY3ktdHJ1bmsKKzgxMjA2IDE4Njg5MGQ3ZmU3MjQzNjFhYThhMzViODAyY2FiMDFlZTk3YWNmZTkgcmVsZWFzZTI2LW1haW50Cis4MTIwNyBjYzliODI4MGUzZjVmZDBhZmQ4YjM4OWY3OTE5MmE3NTIzODIxMGMzIHB5M2sKKzgxMjA4IDc5NzBjNDk5MDE0NDI3YzQ2MmNkNTQyZDQzODQ4YTg2ZjNmMDA0N2MgcmVsZWFzZTMxLW1haW50Cis4MTIwOSA1NDY4ZjNhZWU0YWUxYjExMjBjMWNkZjRhMzIwOTliYjE5OGI1Y2Q2IHB5M2sKKzgxMjEwIGY1OWYzYzczNzM0ZGIzNjU2MDAyY2Q3OGVlOTc0MDcyZjdjMmU1NWQgbGVnYWN5LXRydW5rCis4MTIxMSA3NzlkYmM1MGYxZjg4ZGVmNzI5MzNlM2JjMDk1MWVmYjIyNjc2NjRmIHB5M2sKKzgxMjEyIDkyZDFjODgxOTA3MWZjMmIxYTgyOTAwZTQ4Njk2OGIyYmNiMTc3N2YgcHkzay1jZGVjaW1hbAorODEyMTMgNDY1MmZlMGMzYjg5NzRhZmQwODY5MDE1ZTljZGEzMjAwYWNiZjJjNSBsZWdhY3ktdHJ1bmsKKzgxMjE0IGVjMTk5MTllMjdjZmU2OTA0ZDdjNjk0ODBjYmVkYTNhZDcyMjE5ZjEgcHkzaworODEyMTUgN2YwNTNlMjViMzM1MmQ0YTZjOGQ1ZjNlZTMzOWZjYzVkYjRjYTNlMSBweTNrCis4MTIxNiAzNzhiMWNkODQ3MmVlZmIxZGQwYTA2NjhhMWFlOTI5NzYzMWRkMTQxIHJlbGVhc2UyNi1tYWludAorODEyMTcgOWU0Mzg1ZGIzNzBlZDg3YmJhYjI4MGRiNmQ3ODQxODkzODZiZmYyMiByZWxlYXNlMzEtbWFpbnQKKzgxMjE4IDY5OTBjNmRiN2MzOTk0Yzg4NDRkNDZlNjYyNDA0MGY4MDc4ZWVjNjggcHkzaworODEyMTkgNGM5NThlNDg5M2JhNjlmODE5YTZiZWU3MmYxMzE2YzAwYWE3ZmU0MSBweTNrCis4MTIyMCAxZDRkYmZhOGVkNGYyYWY1YmRkZTBlNGE2NDQyNDdjMmE1MzdkYzZhIGxlZ2FjeS10cnVuaworODEyMjEgY2YyNmYwMTE0OTZlZDJiZTNkOGJmMmIzMDQ3MmE0NGIwZmViMTQ0ZiByZWxlYXNlMjYtbWFpbnQKKzgxMjIyIDgwMDIxNDhjMWExYjdkYTBmOTBjOWM3YjU3ZWE0YTEzMjhmZjA1M2QgcHkzaworODEyMjMgY2E5ZDJmMGE4YjhhY2FhMTFiNWM5ZDQ2OTcyMDY2YzJiNGZjMjI0NiByZWxlYXNlMzEtbWFpbnQKKzgxMjI0IGYzNmUwZTJkYWY0MzJlNmZjMzk0YTIyZWFiM2Q4MGQ4ZTM5YmI0MjAgbGVnYWN5LXRydW5rCis4MTIyNSBmMzUwYWNiY2U3OTBmMWU0YzJjN2JhZDFiYmYxYWZlNDU4YWFlZTc4IHJlbGVhc2UyNi1tYWludAorODEyMjYgZjVjNjQ1NWMxNDNjNjc1NDczYTlhN2U3NTcwMmI0ODQyYzE1ZmZjNCBweTNrCis4MTIyNyA2ODg2ZWU5Y2I3MmM5MDhkYWQ5YmM3YjM2MmMwZDZkMTI0NWIyM2I2IHJlbGVhc2UzMS1tYWludAorODEyMjggZDA4ZGE0NTQ0ZTMxMjE0OGRjMWMzMWJhODNiMDY1Yjc4NDA4NDM1NSByZWxlYXNlMzEtbWFpbnQKKzgxMjI5IGVmMjJkYzA2NWUwZTExYjQzYjlhZmVmMTk5OGI0YzMzM2IxMzBkMTUgbGVnYWN5LXRydW5rCis4MTIzMCBlNTc2NTBhNGNhODFhNjQ3MGUzZGZhZTA0MWZkY2MzZDI3YmM2ODkyIHJlbGVhc2UyNi1tYWludAorODEyMzEgOTY3ODI2ZGQ1ZmM2YzEzMTg0YTg2YmMyMmJjYTM4YThkY2Q2MmVmMSBweTNrCis4MTIzMiA4NDRiZDdiODQyMWI3M2MzYWJjMWI5ZDYxMDI0ODMyNWZhYWI0YmExIHJlbGVhc2UzMS1tYWludAorODEyMzMgNGJiMDNjYzFkNDIxZjZjZTU4ODM2NWFmOTc5OTg1NDIxZWYyZmRiOCBweTNrCis4MTIzNCBiMjlhYjRlNzY3MzYyZWI0ZGNhNzYxNzJkMGE3MmJhMDJmODgzYmFiIHB5M2sKKzgxMjM1IDJjYTQ2MjZkOWM5MzAzNDhlNjUyMmU3MjM1NDYyYmJiY2RhMTMxOGMgcHkzaworODEyMzYgZTIwYTY3N2FmMDAwNDgxOWNmMDg0YzI0M2ExNzk5MDIwNmEyMGFiOSBweTNrCis4MTIzNyAwOGFiYmRjOTliZTY4ZGU3NDJjOWRkNjUwMmQxMjVjYjNhN2Y0ZjkzIHB5M2sKKzgxMjM4IGI0Y2ZjYTVjNDI4ZTUyMTQ3YWViMDA2NDVjMDRjMjg0MThiZGI1ZWUgcmVsZWFzZTMxLW1haW50Cis4MTIzOSBhMDllYjNkNTlmZjdmNjFlZjBjYTY0MWRiMmYzZWE4ODQ2ZDEzMGM3IHB5M2sKKzgxMjQwIGY4Mzc2MTIwMDdkYzlhYjc3NzcwNzkxODUzNzAzN2EzY2RkMTRlYjMgcmVsZWFzZTMxLW1haW50Cis4MTI0MSA4YTAwNzlkOGQxY2VmNDM5M2RjY2JmNzA5NDE5NDhjOWRkN2Q3Y2RkIGxlZ2FjeS10cnVuaworODEyNDIgN2E3YWU0NzZkZjRmZTA0MjUwNWJlOWQ4YTY1NzE0YmFiNjI5YjMwNiBweTNrCis4MTI0MyBjMTc3ODNhZWRjYjg4YWJhZjlkM2EzM2MxMWYzZjBlN2FiYmNiNTRjIHJlbGVhc2UyNi1tYWludAorODEyNDQgOGI2NDAxYWUxMjYyNzgxMjRkNjBhNzcyMTE5NTVmMjlhMDhmYmYyNCByZWxlYXNlMzEtbWFpbnQKKzgxMjQ1IDNmMWE2YjBiNzkwYzdkYzU4NWU0M2RhYjYyODUwZTE5YzIwYjJlMGEgbGVnYWN5LXRydW5rCis4MTI0NiA0ZDI3ZTg4MDcyNGFiZDFlMThiYjQ2NTYxMTA3ZDcyMTBiNmQ1MzNmIHB5M2sKKzgxMjQ3IGJjMDBlNDYzYTk1YmY1ZWRkYTI2MGI1YWU1Njc2YTcxM2M4MWM2MDMgcHkzaworODEyNDggYTMzYmVlMTRhYmM1MWIyMDkzMjdjMGE5NTdkZmQ2YjhiZDJiMDIzOSByZWxlYXNlMzEtbWFpbnQKKzgxMjQ5IGRkZGQxYmM3ZTgzOTE3MGUyNjdiOGJmNDY5NjIzZWQxM2E1NDQ4Y2IgcHkzaworODEyNTAgODk0YzhlNDIwNzRhOTNiMWVlMDVjNmRlZmY5OTM3MzlhYmU5OTgyYiBweTNrCis4MTI1MSA1NTY5NjFmNGYxNmRhNzEyYzgzZDM4OTJiMGYxZmE2OGVjMmJhOTRjIHB5M2sKKzgxMjUyIGYzZjk1ZWQ4Mjc0NGRiMDJlNWExMjQyOWU3MWU3Zjk3NzgyZGMyZGYgcHkzaworODEyNTMgMzFjZWUyY2Y3YzM3NmFhMzNlYzEyOTA1OTAxODg2NTkyZWJlYzkwOCBweTNrCis4MTI1NCBjYTgxNjQ2ZGQyOWNiZTcyYzYyZDRiNTEyNmEwNjg3NjQ2OThhNzIxIHJlbGVhc2UzMS1tYWludAorODEyNTUgZDI5Mzk5MTAwOTczODIwMjM5NzA3NTQ2N2ZlOTRlMDhhMGYwZTgyNiBsZWdhY3ktdHJ1bmsKKzgxMjU2IGQxMmI2NWE3OTgyNGYwMGM4ZWY1NTUwZGFjOGI2MWYzMjNkZmUwNGEgcmVsZWFzZTI2LW1haW50Cis4MTI1NyBjODZlZWI3MzMzMTZiYTM0ZWZmYjgwYTdkMmUzMTVlNGU1YmFlYmMwIHB5M2sKKzgxMjU4IDkzYTI1MTY5ODdlMDAyMjExODdhOGExOWUwOTk0NmMxZWIzYzc2ZDEgcHkzaworODEyNTkgMGIwNGM1Y2E1NzdkMTZkNDc3MzQxMWIzZWVjODJkNTZkMDhjNjU1YiBsZWdhY3ktdHJ1bmsKKzgxMjYwIDc2NjQzYzI4NmI5ZjA1MTk2ZGIwM2Q4ODUxNzk2ZmFkYjcyMTEzNjAgcmVsZWFzZTMxLW1haW50Cis4MTI2MSBiNWYyYzQ0MjFhMzE4NmJlZWU0NTYxMDc2NjIzOTNiNjk1Y2NjMTc5IGxlZ2FjeS10cnVuaworODEyNjIgMDk5MzI2NTM1NjFiOWRlNDdkZmYyNGJmNDk2MzkyYTc0MzA1NzIyZCByZWxlYXNlMjYtbWFpbnQKKzgxMjYzIGVjNTk1ZmYyNTdlMDY0MDFhNTIzYjA0MmE3MDk5ZDIwZDM5NzZkNmMgcHkzaworODEyNjQgZmY0YTk2OGNhN2JiZTc2ZTcyOTYyOWUzNWQ5MGM4YTM5ODQ2ZGJlZSByZWxlYXNlMzEtbWFpbnQKKzgxMjY1IGM5ODFmMGM4Njc4YjQ5ODc1Zjk2Zjc1MmE3ZGZlNTk5Mjc2MDRjOWYgbGVnYWN5LXRydW5rCis4MTI2NiAzOWViOTFhNWY5ZGNhODM2YmYyYWViYTEzZjlkODEyYmE2MTlhZDQ0IHB5M2sKKzgxMjY3IGQ2Y2IyZjEwZTY1ZWY4NzM0OTI4ZmM2YWNhNjBlYTc4MTk0NGI2NTkgcHkzaworODEyNjggYjlhMGYyNmZhMmM5NjMzN2QxMTk3YmQwNjg1ZTE5NGE3MzE0MDFkNCByZWxlYXNlMzEtbWFpbnQKKzgxMjY5IDdmNjRmYWQxNzdkZDZjNmNiOWMxNGU0M2FhOGIyZGEyNmU5MmM2OWQgcHkzaworODEyNzAgZjAxYWIxYjEzZDBhZTc3YTMyNDA3ZTE4ZTAzOGE1NGEyMjRiYTYwMCBweTNrCis4MTI3MSA4NDAzZjUwNmQ5ZTU0YTQ3NzhiZWFkYmQ4NDM4YmJlZWE5NjM5ZmU4IHB5M2sKKzgxMjcyIGRlN2M4NTgwZjllYmU2NjAzMjA5Njg0OWU3MjYwMjRhZDQ2NGViMDEgcHkzaworODEyNzMgYmYxNGI5NjM4YzczYTVlOWE4ZTAyMzJhYjQxN2U4MWRjN2Y4YWM1MCBweTNrCis4MTI3NCA1ZGJkMmMyOWIwZTk2ZWJlMDNkNmI4ZTE4MjJkYTUyYTVhMTFiNzM4IHJlbGVhc2UzMS1tYWludAorODEyNzUgZjBmY2Q2OTE4N2NkMjZkMDc3NmM5NDQ5Y2JiZTJjZjIyYjljNGFlYyBsZWdhY3ktdHJ1bmsKKzgxMjc2IGRlYzg4NzAyYzliYzczNmQzMzQ1YThhNzE0MGE5YTYzNGViYTRjYjcgcHkzaworODEyNzcgMTc1N2JiZWJmNzVhZGIxNjFmMGRjYWI5Mjk4Y2MwYzYwYzkzNDM4ZiByZWxlYXNlMjYtbWFpbnQKKzgxMjc4IDgyZGJmOTNmNzYwZjRlODgwMWViNjVmYmFkMjMzZTA5MTkzNzI5NTIgcmVsZWFzZTMxLW1haW50Cis4MTI3OSBlNzQ2Njg1NDQ1ZGVlYjEwMzViOWI1NThjZWVjMDU3OWY2YWQ5MzU4IGxlZ2FjeS10cnVuaworODEyODAgNjY2NjA3Y2U0YWRhOWRiY2I5NGY1ZGNkMmI3MWZlMDM1ZjZjMWQ1YyByZWxlYXNlMjYtbWFpbnQKKzgxMjgxIDQ1NWQzZmJiMTRlY2I3NWFjYzI2ZGUwNGMzODgwZTg1NmE0NDA5MTkgcHkzaworODEyODIgODcxYmZhMWZkYTU5MGQxMmI3M2M1ZmY3ZmMzZWI5MjhmNzBhYmU1NSByZWxlYXNlMzEtbWFpbnQKKzgxMjgzIGYxZTM3YThmYjJkMTJiODk5YTZhMDE2NDBiNTZhMTVmZWNlOWYzMjMgcHkzaworODEyODQgMWU1MmJlZDg3N2MxNzdmNjQ1ODgzYjA2YjFmMjNjMDlmYzFlZmJjZCByZWxlYXNlMzEtbWFpbnQKKzgxMjg1IDhkYTA4OGQ2YTk1YjJmMWVkNzhlM2M5MzVlYjcxNDU2MGJmNjEyYWMgbGVnYWN5LXRydW5rCis4MTI4NiA2YjM4OTI2YTVmY2RjNGViN2FhNzM3ZTBmYmVmOTJkOTc2MGU0YWY5IGxlZ2FjeS10cnVuaworODEyODcgODBkYzU3MDE3N2M2NjhhNjJiMTI2MjU2OTE3NjMxNWVhZGZkOGYzZSByZWxlYXNlMjYtbWFpbnQKKzgxMjg4IDE5NzUxMWM0Yjc1YTk3YTNjMDRhNjdiMWFlOTQzZjc3NjY4MjIxYzIgcHkzaworODEyODkgZWQwYTY5ZDY2YzExMzUwOGI3NmZmZjBiNWEzMjQ4OWZjNWZiOTliOCByZWxlYXNlMzEtbWFpbnQKKzgxMjkwIGJlYzgxOGE3NjkwMmEyZjRlYmZlYzg1NTJlOTNiY2JjOTNhODMzYWYgcHkzaworODEyOTEgY2Y3NGVjM2UxZjgyNjgyODMyY2VlNmYyMTQ1ZjJmMTE5MmZmNDk1MCBweTNrCis4MTI5MiA2MTNiNjNmNThiZWJmMjk4NGNmZWUyZDQ5MWUzZDRjMzE4ZjNhOGZjIHB5M2sKKzgxMjkzIDg1OWI4MzhlY2YzZGI2NWVmY2I3ZGQ5MWU3NzY3Y2JlMTg0YWE0OTAgcHkzay1qaXQKKzgxMjk0IGQ3ZDgwNDZmN2E1MmZmNjQ0OWM0YjhiZTQ3NTYxZmVkY2Y2Y2ZiZWYgbGVnYWN5LXRydW5rCis4MTI5NSBlOGVkYWJkNTQxOWIzZTM0NmI3OTU3NDhhYWI3MjdkNWY2N2RhYzViIHNzbG9wdHMtNDg3MAorODEyOTYgYjc1ZTYyZmNhZTgxYTcyNzNiMWQ3MmVlNjAzMmI3ZmQ5YTk1YWZkOSBzc2xvcHRzLTQ4NzAKKzgxMjk3IDI4NTkwZDViNmI4YjA4NjdlODU4NjY4M2RjYTAyMDYzMzhiN2IwMzMgc3Nsb3B0cy00ODcwCis4MTI5OCBmMjQ3MTQ2ZjhhOTU5ZWZjNzIyOWM3MGMxNGViNDdjN2Y3NWY1Y2U0IHJlbGVhc2UyNi1tYWludAorODEyOTkgMjZkNzYwNTIwM2RjYzIwNzMwOWM4NjUzMGNjNzk0NmNiZmU4YWI1ZiBweTNrCis4MTMwMCAxNWZhNTlmYzE0OWRiY2NhOTllNDYwNGNmYzViZjljNTI1NWQ0NTc5IHJlbGVhc2UzMS1tYWludAorODEzMDEgNWYzMTM1MGFmYjYwOThhZDdiNWM2YjNlN2I1ZjM4MzIyNTQwNWExNiBzc2xvcHRzLTQ4NzAKKzgxMzAyIDYzOTEwNTVlZmNhMGRiOTYwY2UwNmMwNmQ4YzRiZmM1NDI1MzNjMGQgcmVsZWFzZTI2LW1haW50Cis4MTMwMyAxMDY1ZDFjNTMzMDlhZWM0Y2VhZDU2ZjI5NWZkNWNiOGY0YWRhZTUwIHJlbGVhc2UyNi1tYWludAorODEzMDQgZjE0ZjQyZjMyOTIyZTNlYzk5Zjg3MzY5MTgzMDA2ODhmZjA2MDYwZCByZWxlYXNlMjYtbWFpbnQKKzgxMzA1IGM5ZWQwYzNmNmRjZGQ3YjFkZjY0ZWY2NTllNjlkNjc4ZjI4YjhjYTggcmVsZWFzZTI2LW1haW50Cis4MTMwNiBjOTlmY2EwM2ZhMzc4ZTI3ZWQ4NzQ3NGI1OTA5MzA5OTkyYmMwYmVmIHJlbGVhc2UyNi1tYWludAorODEzMDcgMThmNjJhN2E3ZGJhODIzN2I2YmViNWQ0MDllYTIzODQyZTUwYzViMCByZWxlYXNlMjYtbWFpbnQKKzgxMzA4IGY3NmY4MTA0NGQ0MDgzZDUzYThmOWZhYzY5YzgyNGMwODAwZGQ0NjEgcmVsZWFzZTI2LW1haW50Cis4MTMwOSBlZjcyZjE1ODY0YTk5OGY1MjdjYWY0N2ViOTdmY2JjYWE4NzNiZTA2IHJlbGVhc2UyNi1tYWludAorODEzMTAgMDUyNjk1NzNkMjE3MmYwYzQ0NTVmNjc3Y2FkYjRmNTI5OGIwNjQ0MCByZWxlYXNlMjYtbWFpbnQKKzgxMzExIGMxYzFlOGM4ZGM5Y2QxYWQ3NDcyZjlmOWU3ZjRmMDE2ZjEzNjc5ZWUgcmVsZWFzZTI2LW1haW50Cis4MTMxMiA2ODQxYjJhMTZhNTFkNWE1OTUyMzFkOWEwMGZkMzVmMDEyMmY0MDQxIHJlbGVhc2UyNi1tYWludAorODEzMTMgY2UzODA5YjgzNDczNjgwOWM1YjhmZTliYjYwNmEwZThkZGEyMGFkMiByZWxlYXNlMjYtbWFpbnQKKzgxMzE0IDdmYzQ4YWQxNjA4N2VmM2NjMjYwNTgxNTgxODk1MmNkNzA4NjE4OTQgcHkzaworODEzMTUgN2YxNWE2MDA2MTYyN2RmOWJjNTcxNGMwMjk5Y2Q1NDkzNGQ2MzQ0ZCByZWxlYXNlMjYtbWFpbnQKKzgxMzE2IGFhNzc3ZDQzZjIyZjVlOTQ2MmI1ZWI5ZDMzNjUzMDhlY2E5NmU2YjUgcmVsZWFzZTI2LW1haW50Cis4MTMxNyBjOGQxNjZlYzU0MzAxZGYzNzQyZWU4ZDM4NTg3YmIwYjYwYTM0NzQ4IHJlbGVhc2UyNi1tYWludAorODEzMTggNzVkNzM5NjU1NmZkZTgzMzAxN2ExMDYyYWVlMjhmZWNlZWIzODFkMyBsZWdhY3ktdHJ1bmsKKzgxMzE5IDk0MmIzYzE2OGYxNWRhZjU4YjY0NmI0ODllMTUxODBkMGNlMDBjMjUgcHkzaworODEzMjAgMTUwNGNjNWExNWExYzRlMzNmN2MzYmMwMDM4ZWI4MTg1M2NlYTY3NiBweTNrCis4MTMyMSA4NDY4NjZhYTBlYjY2ZmY3YWY5Y2Q4NmQ2OWI0ZjVhNWJkZTFlN2U5IHB5M2sKKzgxMzIyIDk5OTk5NzRmZjUwNjk1YmQ1ZjAzZmU4NWI5NjNjYzc3MjIxNDYwMGUgcHkzaworODEzMjMgN2JhODUxZDFiNDZlYzRmNDBkMDBlMWM3Yzg1N2Y3YTc5YzUyMjYwNCBweTNrCis4MTMyNCA4OWNlMmY2ZDRiMjQxNzRiZmEyY2RhNjIzNTljYmMwZGIzNTk3ZTE2IHB5M2sKKzgxMzI1IDdkY2QxYTI2OTc5N2JiMGRhM2YwZWRjZjM3ZTMyMjVmYTlhMDg4YzEgcHkzaworODEzMjYgODFkNzhkZDI3M2IwOWYwZDY4Mzc4ODg2OWM2NmVjYjdlMjkyMTJkZCByZWxlYXNlMzEtbWFpbnQKKzgxMzI3IDhiNzY2ZWM2OTY4NWQ0ZjZjZmEzOWQ5M2ZhNzVjZWEyNmJhMjk3ZDggcmVsZWFzZTI2LW1haW50Cis4MTMyOCA5YTIzMzA5ZGZhYTMxOTk0MTVjZjZmNzBkNTQzNGY2YmVlZWM0ZWUwIHJlbGVhc2UyNi1tYWludAorODEzMjkgYjZkMmEyN2MzZTNiNDQyZTQ4MjcyNWI4NTU5Y2YzMzA1Y2Q4ZmIzOCByZWxlYXNlMjYtbWFpbnQKKzgxMzMwIDA4M2Y2ODZhYWYxNWE0ZDk5NTZlYjdlZWZiZWNkODQ0ODJjOTFmN2EgcmVsZWFzZTI2LW1haW50Cis4MTMzMSBmMzdlY2Y0YThmZjEwYWU4ZTAzY2RmZWExYmI1ZGE0NmM5ZTg5MjRlIHJlbGVhc2UyNi1tYWludAorODEzMzIgNzdlYjFmYjU5Yzc4MDdlYThkZWZlYzBhOWRmYzcwZDY3MzBmOGM4NCByZWxlYXNlMjYtbWFpbnQKKzgxMzMzIDNkMGFlOGVmMDA0NDYyOGNlMzlmZTU3YThlYmI2NDlmYWE5ZDBiZWUgcmVsZWFzZTI2LW1haW50Cis4MTMzNCAyOGJiZDMxY2JjYWI2ZDY5NjE5MDIyM2MzM2QzOTM3MTU5NzQyMDNhIHJlbGVhc2UyNi1tYWludAorODEzMzUgZjVhYWU4NWI2ODY0ZTY5NGY1YTA1NWNlZTMwY2M4YzUxMTBiNGQ1ZiByZWxlYXNlMjYtbWFpbnQKKzgxMzM2IDdmMTBhZWNiMDYzMjJiMzNiYjI1ZTBmNTAxOGQ0YmY2YThiZGZhNzcgcmVsZWFzZTI2LW1haW50Cis4MTMzNyBhZTRjOTMxYTcxZjA2OTY5NTc3MjYyYThhNTU4ZmU5MTJhMTVkNTY2IHJlbGVhc2UyNi1tYWludAorODEzMzggMWEzNGRlMDQyOTcyODcwN2JmYjBlODBiZWMyNWVjMDQ0MDc3Zjg2OSByZWxlYXNlMjYtbWFpbnQKKzgxMzM5IGQxZjI2NWNlYTcwYjc0MzZhOWMwNThjZmFlMGEzMjhlMzNlZGUzYzggcmVsZWFzZTI2LW1haW50Cis4MTM0MCBhNzJiYzU0ZWM3MWRmODYxYmFjYzEzODk1MDBiZWNlMGJjNzNkMmM0IHJlbGVhc2UyNi1tYWludAorODEzNDEgNmFlMDczMzI2ZTdmYjgyNDVmODE0NDk4ZGUxZDBjMTA5ZjYxNDU0OSByZWxlYXNlMjYtbWFpbnQKKzgxMzQyIGY0OTBkMTU4MTk4YWRlZWUxNTJiZjhkMjliNGFjODY4YTJmOThiYTUgcmVsZWFzZTI2LW1haW50Cis4MTM0MyBiZjRlODNkZTRlYTUyOThhOGVlODE4NDU5ZTZkY2NlMzkxNGYzOTMzIHJlbGVhc2UyNi1tYWludAorODEzNDQgMDc0MTBhZWU3ZmMwZWFmOGM1YjU5NzlmODU2NzE4OTMxMWRkMjQxMCByZWxlYXNlMjYtbWFpbnQKKzgxMzQ1IDM0ZThiZmViMGI5ODc5ZDExYjdmMzBmZTZmMTExYTlkNTFjZWE5YTcgcmVsZWFzZTI2LW1haW50Cis4MTM0NiA1OTA2YTBmY2M4MjZiNTFmMjhkYzMzZWU3MmZhOThmZjJlYWNlNjFlIHB5M2stY2RlY2ltYWwKKzgxMzQ3IDhmNmU2N2Y2OTNmZjVlMzZjN2U4NDgxNTc2NTE2Njc1NTAzM2QxZTUgcHkzay1jZGVjaW1hbAorODEzNDggNjViNTYxZjM5Njc5M2M0ZDA5YTExNmQ2MTcxNjE0OTI4YTU2YTY3NyBweTNrLWNkZWNpbWFsCis4MTM0OSBlMDIzYWQzZTJjYWNjYjI1Mjc5YTQ0YzFmOTMxYTAxOWMwNzY4ZTY3IHB5M2stY2RlY2ltYWwKKzgxMzUwIDhjNmY5ODE2OTllODI1YWMwZWE1Y2JkYTA3MWVlZGM4ZGJjYjNmNTggbGVnYWN5LXRydW5rCis4MTM1MSA2ODUyNWVmMzZiNjY4YzM1N2UwNWY4ZjZhYTJkMDgxZjQ5ZTNiNmM0IHJlbGVhc2UyNi1tYWludAorODEzNTIgNGJmYjAwY2UxMmI4NTllOTVkMTQyNWQ0NmQ1ZTFkMDM1NGZhZTNlNiBweTNrCis4MTM1MyA0OWQ3ZGU5ZDdiMWFhMDE4MjVjMjAwM2MyNjk3MzY2NjIyODViODUyIHJlbGVhc2UzMS1tYWludAorODEzNTQgMjBhMzU2ZWViMGY3MDEwM2RlYjE1MWI0ZDMzZDI1YTRhYjNlYjBkNyBsZWdhY3ktdHJ1bmsKKzgxMzU1IDIxYmI5M2UwOTg4YzQxYjgxYjAzNThiZDA3N2IwYzU3YWJhNWE3MmMgcmVsZWFzZTI2LW1haW50Cis4MTM1NiA1YmY0YTg2MzNjNThiODU1YjBmOGM3M2UzN2RlNzY2ZTUwYTQ3NzczIHB5M2sKKzgxMzU3IGVhZWE4MDhiN2ZiODY3MWE4ODRkMWZlMmRkMTdhMmNmY2ZmOGM0MmMgcmVsZWFzZTMxLW1haW50Cis4MTM1OCBiN2Y3MWY2MDQzN2I1OTZjNTVhZGFkMDBjMjhhM2E0YjJjNjAwOTgxIHB5M2sKKzgxMzU5IDBjYWZjMjBlNTYzNzYzNDY1Y2MwNmRmMWEwZTRkN2UzZDYyZjZlOTkgcHkzaworODEzNjAgZTY4ZTAyOGQwOTFlODM1NDBkMTk0MGU5NDAxNTQ1YmU1MTllYTg5MSBweTNrCis4MTM2MSBlNWZkZTdhZDFiN2NjNjk0MDIzODMwNjZiNjk0ZmM1MDJhODZjZTBmIHB5M2sKKzgxMzYyIGNjZGIwOWY3OWEwMzg1NTVjYWU0ZTE5MTQyZDc2MWZkMDgyNjNjMTcgcmVsZWFzZTMxLW1haW50Cis4MTM2MyBiYTUwODg4Y2MwMzkxNGZkMDAxNDAxMjg1ZDhkZDA4OGM1YTE3MjY5IHJlbGVhc2UzMS1tYWludAorODEzNjQgZGVlZDVmY2U4MmQ2MDY5ZjA1MWFkMTczNWYyYzZhYmQzOGM3MzJhZSBweTNrCis4MTM2NSBjMWM3NzY3NGRiYzhjMjlkMTdkZGE4OWQ5MTNmNWViMWJiOGNhMjc3IHB5M2sKKzgxMzY2IDI0OGE5MTVlMzVlZjAxNjFkYjdlMmJjMWM4ZWIzYzVkNGVjMDY0YjYgcHkzaworODEzNjcgMjNlZThhYTg1N2VlMzZiOTk3ZDBhZmM3Y2FhMmE4NmI0ZjJhZGQ5ZSBweTNrCis4MTM2OCA4MmE0NDgzZDljNGE5NDI3YTJmNDI0NWQ2MDgxZGYyMjgxYTViNDNlIHB5M2sKKzgxMzY5IDFmM2U3ODEyNjEyYjhiYTEyNmFlMmE4ZWJjZTFiZjdjMjU0MTdiMzAgcmVsZWFzZTMxLW1haW50Cis4MTM3MCA3NDNjMjA3ZGMyYjQyMDU2OTY5YjhmNWRjZWJhOWJjMWExYTI0NDdhIHB5M2sKKzgxMzcxIDAyMWY1ZWM1ZDJkNGZlMzdkMTBmZGYyNTFhM2IxNWE5YjEwZWYzNzMgbGVnYWN5LXRydW5rCis4MTM3MiAxOGRjZDkwM2M1NWUxNWIyNDUzZGE4NGMzNTNkOGEwNjZiYjgwMDM0IHB5M2sKKzgxMzczIGRhOTQxNTA3ZWQ5M2M0NGM0MDNjNjExZjA4MGNkNjc3NTMzMTk5NWQgcmVsZWFzZTMxLW1haW50Cis4MTM3NCBiODRmOGQxYTA1MjJjNmY5Mjk0ZmYyNzkwMjhmN2Q4YmYyMTdmYTA3IHJlbGVhc2UyNi1tYWludAorODEzNzUgNTAzYWZjNjJkNjMyZTE3OGY4NmZjYjYxMTQxNDA0ZTE4MGNiNTliZiBweTNrCis4MTM3NiBmZDcyYWYwMDYwYzg1NDBhZWNkOTU0MGM0OTQ2ZjMyN2U3NjQwOWU3IHJlbGVhc2UzMS1tYWludAorODEzNzcgNWQ2Yjc2ODkwZjE3Zjg4MGZlZGVlMGEwMDRlODJjNjUwN2MyYTNkZCBsZWdhY3ktdHJ1bmsKKzgxMzc4IDEyOTQyN2I1ZTkxNDFhZThkYzYyOGMyZDFmNWYwMjMxNzk2YjkwMjIgcHkzaworODEzNzkgNGQ4M2JhNWQwYWY1YjQ1ODE4MDhmMDgxMDVjOWNmOGIwMWQ2MTQwZCByZWxlYXNlMjYtbWFpbnQKKzgxMzgwIDYyYzBlNWYxNDEzOGY2OTYxMGYyMWFiZTgwZjU5NGUwZGE1YzRiNDAgbGVnYWN5LXRydW5rCis4MTM4MSA1NWUyMzY4ZjcyZjI3NGU2ZTkzMGFhZTUyNGEyYjVmY2ZmMGM3Y2I1IHJlbGVhc2UyNi1tYWludAorODEzODIgZDkzYmQ1MjU0NzNjNWY2ODc4MWJhZTI0N2JiOTU2YzIxNzUxN2E0NiByZWxlYXNlMjYtbWFpbnQKKzgxMzgzIDMyNzFhZjAzNWQwMTc4Y2RjNTVmOWE5YjNkN2U5ZDk5ZDYyY2M4MzQgcmVsZWFzZTMxLW1haW50Cis4MTM4NCBmMmQzYmY5ZGE5YTgxNTRhNmJkZDJjYzk0ODk4MDNlMmRiN2E0NWRhIHJlbGVhc2UzMS1tYWludAorODEzODUgNmZlMjYwYmMwOTg3ZGMyYzNjZGVmNWYwODBiZTBhNzFiOTQ5YThjYiBsZWdhY3ktdHJ1bmsKKzgxMzg2IGIzYjI2NWZiYWFiZGY5ZWFiNDJjNGRhNjA0NDE4YzEwN2M5YTJkODUgcmVsZWFzZTI2LW1haW50Cis4MTM4NyAxZTZiNDM1ZThlYjZhNTI4MWJlYWQ3NjBhMTQ2NjU5MDYxY2E5NTBhIHB5M2sKKzgxMzg4IDlkZDUyMmY3YzBkZTIxY2NjYmQxNjRlZWQ3ZDAyNmVlYTkzMTc5MGIgcmVsZWFzZTMxLW1haW50Cis4MTM5MCA3ZDRlZTBkYzg3NjQ0MDE3ZWZkNTMwNzQ3OWVhOTIwY2QyZGQwMWZmIHB5M2stY2RlY2ltYWwKKzgxMzkxIDRmOWRiMzVhNDA4NjFkYjdmNzc1NTM4NTZkMTExOWI3YTE2Y2U2YmQgcHkzay1jZGVjaW1hbAorODEzOTIgNWVlNDdmMGIyNmIwMmEwN2MzN2RiNTYwMDQ1MDBkY2M0Y2U1ODQ3OSBweTNrCis4MTM5MyAyMjI4YzI1Y2NlM2U3MmZlYjM4NjY4YWMyOGY1YzBjMzJiZTU1Y2I3IHB5M2sKKzgxMzk0IDM3MDMyYjJhNTkyZGIwMjM0YWYxNjYwNGIwMDBkMTY0MzgyMjEwNjkgcmVsZWFzZTMxLW1haW50Cis4MTM5NSAzODcxOWYxMTYxOWJjZDg5MTVmNWQyMmFkNDlhZTFlMGVhNGViMmVjIHJlbGVhc2UyNi1tYWludAorODEzOTYgZTNkYWFjMDY2YjkyZTc4ZTJiZjE4Y2VmZjk0YmZmOGNmYmJhMGFmMyByZWxlYXNlMzEtbWFpbnQKKzgxMzk3IGQ2MDE2ZmE1OGRmNmI1Y2UxZjM3YTU5ZjYxM2Q5NTc2OWY0MzdjMGUgcHkzaworODEzOTggYzI5MTdhYzVkNTI2ZGM0ZDNmNjJiZDYxZDNhYTgwODU4OTQzOTA4MCBsZWdhY3ktdHJ1bmsKKzgxMzk5IDNmMDhkOThjOGZhNWYwNzE2MzM1YzE2ZDQwYmRiM2YzMjk0ZmQyY2MgcmVsZWFzZTI2LW1haW50Cis4MTQwMCA3OTU3NjJiNWUwZDZlNmIzN2VkZThlMWJhN2ZiZjkyM2EwZjZkNDE1IHB5M2sKKzgxNDAxIDlkYjhjNDE0OTIxZjcwMjZkZDM0YmU2MDk4OGQyZTliMzhkODQ4ODUgcmVsZWFzZTMxLW1haW50Cis4MTQwMiBlMTk0MGRkYjNmNTY1YTYzOTRmYTVkNmE3YzYxYTEwNDE1ZTQwYTAwIGxlZ2FjeS10cnVuaworODE0MDMgNDQxNDkxNTcyZmNlM2FkOGRjOTBlMmI1NDhlYzU4ODhkMmM1YzU1ZiBweTNrCis4MTQwNCBiMDcyYjlmYjBmZDJkZWNiZTA0ZjEzYmI0YWFjYjQyYWQwYjhjYjlmIGxlZ2FjeS10cnVuaworODE0MDUgZjEzOGQxYmFjZmM0Mjg4MDY2NDIwMDE0OTliYzcxNmQzM2RiNDA2YiByZWxlYXNlMjYtbWFpbnQKKzgxNDA2IGRlNjFhNjk3MTJkYWQ3YzQ1YWZjYTNmMjcyZDFkZWU0ZmJjMmZjOTkgcHkzaworODE0MDcgNmNhMmU2YjNiZjMxNzc5ZTZlMDU3NjcwNjY4MzhlZmZkYjY1NTM0MyByZWxlYXNlMzEtbWFpbnQKKzgxNDA4IDczNDE2YjFiYmNkNWJjYWFmZjIyN2I1NjY1NDE2YjZmYjMyMjc4NmYgcmVsZWFzZTMxLW1haW50Cis4MTQwOSAzZDY0ZDFhZmU2Nzc5YTczMDRiMGRiZGNlNTJhMWJjMjM4MjQ4NjNhIHJlbGVhc2UyNi1tYWludAorODE0MTAgZTFmNGZjNjNkMmIzZDJiZTRhZjE3ZGY1NTU2YmZhZmI5YTYxN2M3OSBweTNrCis4MTQxMSA1MDZlOWJlODYxMzkzODRlNWVkYjA3YjA4NGY2ZWVhZWEwZDBmZmM0IHJlbGVhc2UyNi1tYWludAorODE0MTIgZTlhMDQyYTI1MTk3MTM4ZjZlMjMwOGY3ZjRiYWY2YTY2YzIyMGI0MCByZWxlYXNlMzEtbWFpbnQKKzgxNDEzIDk0NmNjNWVlMjk1MTEwZjM0NWQ1M2ZmNjJmN2NmOWZlY2Y2NzZkMjggcmVsZWFzZTI2LW1haW50Cis4MTQxNCAwZjA5NjgyOWZjOTBiOGIzNWQ5MzM1ODc3YzBmNTAwYWQxODI4MTQzIGxlZ2FjeS10cnVuaworODE0MTUgZmYzYzY3NjYxM2FkYjE3MGFmODBhMWEzMjU1NjMxMWU4YzFhZDlhMCBsZWdhY3ktdHJ1bmsKKzgxNDE2IDg1NDJiNzdhMjhlYTk2NTg2YzAwODFkNjVhM2M0YzUyYzgwZGJlN2UgcmVsZWFzZTI2LW1haW50Cis4MTQxNyBiMDI1MGZmYTIyNjc3NWRlZmIzNWVkYmUzOTBjODg3YTcwMmJmZTA2IHB5M2sKKzgxNDE4IGZmZjI5ZDNlN2EzOTIxNWIxN2RiODk3MzBhNjEwY2VmMGI2NDEyMGYgcHkzaworODE0MTkgMWIwNDY3NjYxZWY1YTkwZjQxZjg2ZjUyMDBhMjhiNGVjNmIxMzQyZiBsZWdhY3ktdHJ1bmsKKzgxNDIwIGZiZmMzNTM2NDdlM2MxYjM1ZjhmYTI5MWM1MTM0NTdlMGY2MDVkMzMgcmVsZWFzZTI2LW1haW50Cis4MTQyMSAyOWI1NmMzOGEwMzNkY2RhMTBjNzYxZWU0Y2IxMzFkMzNkODkxOWFlIHB5M2sKKzgxNDIyIGFiYzNmNWExY2M1ZThjYWNhZDM1ZDE1YmE1Y2UzY2VjNzNhNWM2Y2EgcmVsZWFzZTMxLW1haW50Cis4MTQyMyAwNmIwOTM3NmNjNWIwNDJjZTBkMTYxYjMwMzQ0YTVkOGNjMzRlNTUzIHJlbGVhc2UzMS1tYWludAorODE0MjQgZWNhOThiZGM4YTE0ZjQwYjIzMmEzODRlMmUxOWJiOWQ5NTJhNzZlMCBweTNrCis4MTQyNSAyM2UzODE5MmFmOTY0ODgzZmRkNmUxYjQ2Yzk2MjQzNGE2ZWQ2NTg4IHJlbGVhc2UyNi1tYWludAorODE0MjYgMzE2M2RhMjJkNTg1MDJhY2M3ZGNiMzJjMDg1ZGUzODAzMDM2Mzk0YiByZWxlYXNlMzEtbWFpbnQKKzgxNDI3IDhiMmQ5ZDEwMWM4NWE0OTY2ZmIyOTM1YTRlNzFhOTllMDkyNDY4NGUgcHkzaworODE0MjggNjk4NWM2YjlkOTc4ZTU3MTNhMzUwMTkwMDkwMTRkYWExNmYxNjNiZCBsZWdhY3ktdHJ1bmsKKzgxNDI5IGIxNGYzOWQwZjIwYTJkYWU1NGY0OTM3YTMzNmEyYTYyNzQ2ODRlZGEgbGVnYWN5LXRydW5rCis4MTQzMCA2YTA4ZWViNGIzMjIzOTI5NzU0YWU3ZWY1MDcxZDZiY2YyYzFmY2Y2IHJlbGVhc2UzMS1tYWludAorODE0MzEgZmViZDljMjg4ZTc2ZjgwYmM5M2FmODIxOTdkOGQ0MTNjYzU3MWMzYyBsZWdhY3ktdHJ1bmsKKzgxNDMyIGYwNWQyOTk2Nzc2ZTBlZjRmMzY4M2ZlMjFmZmE1NGJjY2JjNTE3MzMgbGVnYWN5LXRydW5rCis4MTQzMyAxMWQ1ODUxNjAzM2Y3ZDU0MzI5ZTBhNmU2MTI4ZDFiMmUyZjU0Y2Y0IGxlZ2FjeS10cnVuaworODE0MzQgNWQ2NzQ5NzBhY2Q5YTA2OGNiNzFjNTJiN2I0YTIwZWY4YmJlM2NmYSByZWxlYXNlMjYtbWFpbnQKKzgxNDM1IDQ5NWViZTA0ZDQ3OThjYmMwZjY4NmFkYzg0NzgyNWQ5MjBjY2NjNTMgcHkzaworODE0MzYgNmVmN2NmYjFmOGY0ODMxYzBiMDA1ZWMzMmQ1MmI2ZGU0NGM4Yzg4MCByZWxlYXNlMzEtbWFpbnQKKzgxNDM3IDhjOGQ0MGNlNWNhMTVhNDQ0Y2ZmOWM2ZTEzMTVkNjBmOGJjNjdlMDMgbGVnYWN5LXRydW5rCis4MTQzOCBmMzg5NTYzZmYzNzIzZTYyNjVjYmYwNWQ3ODM3ZDNlYTkxNTQxODQ5IHB5M2sKKzgxNDM5IGUyMGVhZTNiNWZlNDU0MGE3NmEzMDRjYWU5ZDUxZWE0NWM5OTdhOGMgcmVsZWFzZTI2LW1haW50Cis4MTQ0MCBjMGRiZmI2YTdkNTY3MzAzYzdiYmUzOGE0N2Q5ZmUxYjU0MjVhMTFiIGxlZ2FjeS10cnVuaworODE0NDEgM2E2ZTk2MzdjMzNkZDliZTMwNzU5OTFkNWZlM2Y3NjdjYTlhZGNjYiByZWxlYXNlMjYtbWFpbnQKKzgxNDQyIGE5Y2FkNWFlNDA1ZDhkMmE5NWY4Y2FhMWNhYzM5Zjk1YjFmMjk1MGQgcHkzaworODE0NDMgNzJmYTAwYWMzOGJlM2UwZGQ4NmFlNzg2MDgzNzZhOTJjZDhkYTFhNiBsZWdhY3ktdHJ1bmsKKzgxNDQ0IDUyNDk1Y2NmNjFjYzg4ZGVlNzM1ZjJiYzE1ZDY3NDFmZjBjYzNhN2IgcmVsZWFzZTMxLW1haW50Cis4MTQ0NSA5NTQxM2ViZDQwODEzNjM4ODNlMjViMjQxZGY4NDQ5NWIwNzBhOWIyIHJlbGVhc2UyNi1tYWludAorODE0NDYgMmQwYjA5OGY2Y2I3Zjk4NzA0MjdhY2U5MzM0ODM1MzE3NmQ1MTdmNCBweTNrCis4MTQ0NyAxOTRmNDg4YjhhZDFhNzdiNDVlYjg5Y2M0ZThhYzgxNGIwZGNiNWUyIHJlbGVhc2UzMS1tYWludAorODE0NDggMWFjY2E5YzQ1NTYyYjhlZjQ3YWY4Y2FmNjA2NGVlYzY3YzEzNjljMSByZWxlYXNlMzEtbWFpbnQKKzgxNDUwIDBlMjZjYjk3NmM0ZDkwYmJkZDM4YTc5MjI5NzQ2NDc5MGI2ZGRiNDMgbGVnYWN5LXRydW5rCis4MTQ1MSAwZjUyOGVlMTVlZjcyMDYwYjcxMzYxMWNhNDY2MzFkNzQ4ODkxM2FjIHJlbGVhc2UyNi1tYWludAorODE0NTIgMDIyYzkzZWQxYjhlOGY0YmQ2OGE0NGY2N2RhODIzNzkxMjM5NDhmZSBweTNrCis4MTQ1MyA1NWU4MTljYjUzNjEwMzU5MjVjODJkNjRmMzY3NDRhYTk0NDdhNzQ0IHJlbGVhc2UzMS1tYWludAorODE0NTQgYzZkZmMzZGQyZDVkZjRhMWZiMzFkNGE5OWY0ZjFhYjA2MWQ0MzE2NyBsZWdhY3ktdHJ1bmsKKzgxNDU1IDJlYTkwOTIwY2MxMGQzYTE5ODFkM2NiNDFlNjQ0YmE3MzA4YTM5YjUgcHkzaworODE0NTYgMTRkMjNiZGRmNzkzMzM0YWU2OWZmOTMxMzM1OTBlYjdkNDBlOTQ0YiByZWxlYXNlMjYtbWFpbnQKKzgxNDU3IDgxNWJhMzg3MmY4NTA0Nzg2ODgwZjUyMGUyMDBkMTkwYjJmMzA4YzQgcHkzaworODE0NTggODBiZTcyMTg3NjdiNzEyYjc2MDZjNjJiZmFlZTBjYWFlOGZmNzVhNyBweTNrLWppdAorODE0NTkgOTllOWVkMjE0YWFkZTZkYzAzYWI0MzI5Y2NhMzNhMjBmOTdjZjY1MyBsZWdhY3ktdHJ1bmsKKzgxNDYwIDJhMzg5NzM0ZDU3MDIwYjkyNjBmZWE3NjVhN2RlOWNiM2ZmNGExYWEgcmVsZWFzZTI2LW1haW50Cis4MTQ2MSAxYWYyNzM1MGY0MWJjNmZjYTdlNWE0NmYwNDY5MDAzMzU1ZTE5NWQ5IHB5M2sKKzgxNDYyIDg0NmRiY2Y5NzBhYmVhNWM4NWUzMzc0OTM4MTY2ZmY5MDUwNjkxZGQgcmVsZWFzZTMxLW1haW50Cis4MTQ2MyBiNzM5ZDMwMzRlYzc1MTI1ODY2NTE0OWE4MTZkNmNlZjE1MzI5ODJkIGxlZ2FjeS10cnVuaworODE0NjQgOWEwMjM5YzBlYTNiNDFjZGRiOWQwYzkyZWU0MDJiYzdjZmJlY2QxYyByZWxlYXNlMjYtbWFpbnQKKzgxNDY1IDBhNjQ3ZDA4ZTY4NWZhZjBiOTc3ODYwYzczZDZlMmZlOWRhMzVhMDkgbGVnYWN5LXRydW5rCis4MTQ2NiBmMjA1ZDY2MDU2Zjg5ZGQ5Y2ZmNjUyOTIzOTQyZjMxMTY5MTIzNTZjIGxlZ2FjeS10cnVuaworODE0NjcgNzU1YTFiYzU2MzI2ZWUwNWE3YjNkNTBlYjRjMjgzZWY0MTU2ODc5OCByZWxlYXNlMjYtbWFpbnQKKzgxNDY4IGQ2YTg4OTY5NzE3ZjU1YmM4ZGZmNzBjOTBiZWJkN2I4ZDkzMzNlNzMgbGVnYWN5LXRydW5rCis4MTQ2OSA2M2I1NzhkODMzZWU3YWQ5M2UyOGEzZjdjNTc4YTk2ZGIxOGZjNzNjIHJlbGVhc2UyNi1tYWludAorODE0NzAgMzU2YTZmYzllNTc4NWMzZjY3NjU0NjJiMTk5NGY2NzMwMzMxYjU5OCBweTNrCis4MTQ3MSBiZjgyYzFkMDRlMDZjZGFiZmNkYjkyMjgxNWIxNGJkNDEyYmViZDE5IGxlZ2FjeS10cnVuaworODE0NzIgOTcyNmMyMTczODg1ODJlMWFiYmVlNjE2YjEzYWQzMDBjMzMzM2I3ZiBsZWdhY3ktdHJ1bmsKKzgxNDczIGFiMDgyZTM4N2RkNWNlMjk1ODNlY2YxNjc1ZjJjOTUwY2IzN2FlYzggcmVsZWFzZTI2LW1haW50Cis4MTQ3NCA4MzBjZDg5YjAxZThmMDRmNWUxMjNlZmViNjczOTJjNjQ0NDFmNzQ1IHB5M2sKKzgxNDc1IGNkNDkzNjY5MTE2M2ZkYzI5YTQ0NGVhZjI0NDViYTNkNTRlN2YyOWYgcmVsZWFzZTMxLW1haW50Cis4MTQ3NiA2ZmVlMjZjODlmNmU0YjJhNzYyOTA2NmUzMDQ5Mzc0Yzg2YWVkZTUyIHB5M2sKKzgxNDc3IDZkYzllYzg4NTQ2MzkxYzczMTgxOGFiYzY3ZTcxZTdkNjExMDAxOTAgcmVsZWFzZTI2LW1haW50Cis4MTQ3OSBlZTc2ZjBhMDY1YzI0YzlmY2MyOWQ0ZWEzZDJlNzkxNWJkOWI3ODQ3IGxlZ2FjeS10cnVuaworODE0ODAgMWUwNmE2YzMxMjM0MWEzMWZlZGY4NmE3MDJiZjRmMzg4OTE0MmZjNSByZWxlYXNlMzEtbWFpbnQKKzgxNDgxIDY5MjA3ZjgwMWIzMTY2NDU0M2JhNDkxYjZhY2ZiZjAxMmJiNzlhMzMgcHkzaworODE0ODIgNGU0OTUyNjM2MTEzNDViNzg0MGYxZWFiOWUyYmM0N2IzNGY1YjdjYyByZWxlYXNlMjYtbWFpbnQKKzgxNDgzIDU0YjUxYWJiNjk1MTI0ZGNlNzEyNjQwZjA3OWJkMDk3Mjc3ZDhiMWIgcmVsZWFzZTMxLW1haW50Cis4MTQ4NCAxZThjOTIzMTY0NjM0NzRlNmFiYTVmNTY2NzNkMTgyMzUzNWEzYmM0IGxlZ2FjeS10cnVuaworODE0ODUgYjBkZWUzMmExYzZiMDk1ZGZhYTkzN2E5NzNkMzhiNjM3NGEwNDhkMiBweTNrCis4MTQ4NiAwYmM4ZmZlNmJhOWFjODVkZmY4NWUxMjJlMjhkNDc1ZDRiMTQzZTRlIHB5M2sKKzgxNDg3IGEwYTZlOGJmYWFmNzJhMDkzOTFhNTE4YzJiZGQwN2RjYThlNTZjNWUgcmVsZWFzZTI2LW1haW50Cis4MTQ4OCBkY2EzY2IxOWRiZGQ0NzEyNWE3YWE5YTA2MjJhN2Q1MzQ1NjdlMjA2IHJlbGVhc2UyNi1tYWludAorODE0ODkgMjFmYTA5ZjI1MGUzMDA2Y2RjMGJjNTI4NTlkZDUzM2IwMTVlNTc1OSBsZWdhY3ktdHJ1bmsKKzgxNDkwIDQwY2FkNzU5YTM1NTQ3NTVjZGU3OTg4ZmRlMDE1MTYzYjk1MDlmMWEgbGVnYWN5LXRydW5rCis4MTQ5MSA3NzUwNTc5YzM3NWRhMWQ5Mjg4OTQ2OGMwNzBlYmFmMjBjYTIzMzE4IHB5M2sKKzgxNDkyIGU2NGVhMTYxOTgyMGMwYjlhM2ZkNTUwZTQ5MTU5MWMxYzQ4NmUzMjYgbGVnYWN5LXRydW5rCis4MTQ5MyAwMzYwMTdmMmU3NGM2YTQ2ZTQ5ZTI2Yjc2ZTEzODAzZTQ4NGQxMWM5IHB5M2sKKzgxNDk0IDJmMjRhMmVmNzMzMWM2MmVkZjE2MDkyNTIyMWQzNDEzYzc1Y2IzMjYgcmVsZWFzZTI2LW1haW50Cis4MTQ5NSA4YWQ2MTc4MDUzNWVmYjRhZGY4NDBmNzc3ZGY5MDY4ODdkM2IyMmViIHB5M2sKKzgxNDk4IGIwMzhmZGE1OTNmNmQ1OGUxZTk1MzY1ZjFlOWRkMGMzZDM1YTI2YzAgcHkzaworODE0OTkgYzU2ZmI2M2M2NDhmNDk4MzI2OTRjNDExNDk3ZGNjZTJmNmJiYzQxZCBsZWdhY3ktdHJ1bmsKKzgxNTAwIGViZGE2ODAzZjhkNWMzZTFhNzY3ZWNjZTExMWNmNTBmMzM4ZjU2ZDIgbGVnYWN5LXRydW5rCis4MTUwMSA5MGQ2MzE0Njg0ZDQzYmU0NWU1OWIyYjNlOGI2MDc0MWY5MjY5YTVlIGxlZ2FjeS10cnVuaworODE1MDIgZTNiNTMzOGJlMDU4ODkxYmQ5NTJmZmRmNjc5MjE2NmM1Mjg0MjIyNCBsZWdhY3ktdHJ1bmsKKzgxNTAzIDRiZTIxYTA4ZGQ3MDcxNmU2OGNjNjQzNjVjZmYzZWU1ZDNhODM2YzggcmVsZWFzZTI2LW1haW50Cis4MTUwNCBiZjA0ZWFmMWFmNzQ4YTgzYmQ3NDJlZmIwNDkzNDJiYWRmOTJhOTk4IHB5M2sKKzgxNTA1IDYxNDQ3NjBlODM1MGQ0YzNiMDg3ZDlmMTYzOGU1MzMzMDYxNDgzZWQgcmVsZWFzZTMxLW1haW50Cis4MTUwNiA1ODQ5MTkxMTE4MmNlMTNjMjEwN2E5ODk3ZjU3YzAzYjMzOTNhODEwIGxlZ2FjeS10cnVuaworODE1MDggZjkwMzY4Yzg3YjMzZTY4NTI5ZWExMGJmYzcxN2M0ZjRhNGQwZjJiNSBweTNrLWppdAorODE1MDkgYThlYWI2NzAzMjY2NjRjYmFhOGNkYjE4MzQ0N2E4ZjFkZmVmZWNiMyBsZWdhY3ktdHJ1bmsKKzgxNTEwIDY5M2UyYmVmNGVlM2JjODIwNGIzNWQ3NzM3ZWU3NGJmNzJmM2MxYzMgcmVsZWFzZTI2LW1haW50Cis4MTUxMSA3ZjQxZDc1YWQ0MzVkMmQ4MzZkZmM3YzhkYTBkMWMxZDdlMzQ2M2FjIHB5M2sKKzgxNTEyIGI3M2JlYmRmZTUyNTljMmFiN2MzOWE4ZDc3MzUzYjNhMTBjN2YxNmIgbGVnYWN5LXRydW5rCis4MTUxMyA3MDMyODdhOTk5MzkxNzBmYzAzMTJjMzI3ZmI3MjZjM2M2MThlY2I1IHB5M2sKKzgxNTE0IDRlMDA5MTRlYzQ0N2JiYmZmNTc1ODQxYjAxZjUwZTViZWRiZWU5YTIgcHkzaworODE1MTUgNWJjNGZjZjA0MTQzZDZjNWQyOTkyNGIzZGFiNDRlODQwOTQ4NmZlMiByZWxlYXNlMzEtbWFpbnQKKzgxNTE2IGNlMjYxNzIzYjM1NjJiYWJhOGQyODJiNDVhYWRlOGU5ZmM1MWZiZGUgbGVnYWN5LXRydW5rCis4MTUxNyA3ODE5YmE3N2U0NWMwMDA2M2M2YWUzMDk4ZDI3MTEzYzRjMjM1NGQyIGxlZ2FjeS10cnVuaworODE1MTggMjI5N2NkNTdkOTQ1ZjJmYTljNGI2ODc5YjM4YzFjNzYwNGMzOWU5OCBsZWdhY3ktdHJ1bmsKKzgxNTE5IDIyY2FkZjI2NGFlNTIxN2YyMzllNGViMzk2ZDMzY2FlNjg2YmFjYzggcHkzaworODE1MjAgMTMyMTJkNzRjZTAwOGU5MDg0ZTljZjE5ZjMwNDYyOWU5YWZhYzcxNSByZWxlYXNlMjYtbWFpbnQKKzgxNTIxIDU0YjQ4OGNiZDM3ZTM5MTQxYTZmYTE2ODMwYzM1YTY0OWJhNWNiNGYgbGVnYWN5LXRydW5rCis4MTUyMiA3NjFhYzk3MDNhOTZjMTQxZjE3MzMwYTEyNDg4ODg1ZTM0YTJlMmM2IHB5M2sKKzgxNTIzIGU4YTkzOTNhMDc0OGQ1ZDUwNDI5MGUwZDY5OTI0NGEyMDY1OGQ0NjUgcmVsZWFzZTI2LW1haW50Cis4MTUyNCBkMDljOWE5MzdlMTBiZjZhNzEyZmE5Y2E4ZjJhMGRhOWU0NzI5MmJjIHJlbGVhc2UzMS1tYWludAorODE1MjUgOGFjM2Q1Mjc3NDVjNGUzYWE3ZDg5NmY5MTE2MGExOWVjZGYxODkxMCBsZWdhY3ktdHJ1bmsKKzgxNTI2IDQ3MDgwMDgwYWI2MTliNTcxMjQ5ODAyODUxYWFkMmFiM2EzNThjZDAgcHkzaworODE1MjcgNDRmNDIyMmQ5MWJkNzBmMWQwODkxZDcxM2FmNWNjOTUwMmExODY3YSBsZWdhY3ktdHJ1bmsKKzgxNTI4IDZkZmYzZDkyMTJhODY1YzIxMjgzYTE5ZTdiY2QxYTA3YWY4ZmEzMWYgcHkzaworODE1MjkgNTVkYzllZjE1YWIxYTI0NWY0NDMwZDBkMjdhYjUzNmYzZTk5NzdkNyByZWxlYXNlMjYtbWFpbnQKKzgxNTMwIDgyYzI0MjZmN2YzZTlhMDdhZjkyMTQzNGFjM2UzM2Q4NGZmYWZlODQgcmVsZWFzZTMxLW1haW50Cis4MTUzMSBmMTMzN2ZlNmI3Yjc3OWVjMjMwNTExMzRlZjM1NDI5MjdmYWM4ZTQ0IGxlZ2FjeS10cnVuaworODE1MzIgZTRhZjcwMmQ2MWI3ZDNjYWQ3N2IxNTUwNzczYTJmZDI2MjNiOTJjNCBweTNrCis4MTUzMyA0YzJkNmUxYjg5MGVkNmNjNDM2YWM5OTlhYWM1MjZmYjFjZGUyN2RjIHB5M2sKKzgxNTM0IDkzYzVlNjI0MTMwOTY2ODA5MjQ5OGM5MjlkM2E0OTk0NmNmYTliNmEgcmVsZWFzZTMxLW1haW50Cis4MTUzNSAwODBlNTUwOTE2ZWRjZDlhODRhNmNkNWUwMWJkZjE1Y2QyZmE4OWNjIHB5M2sKKzgxNTM2IGY3ODhhZmY1NzJkMTFjOTU5ODI0NWM5N2MyNjRiZjE4YzZlOGQ1OTAgcmVsZWFzZTMxLW1haW50Cis4MTUzNyBiZDVmNWRmN2VkNzg5NGM3YWFiZTlhM2Y0YTZkY2U0ZDQ4NDNkM2QzIGxlZ2FjeS10cnVuaworODE1MzggNmEzYzJmMDk0YmJhZDdjN2JhMjg2MzMwYTFlY2Q0MWYwMTlhM2UwZCBweTNrCis4MTUzOSA4ZGJiZDkwZWVkYTg2ZTdjNmExMjVhZWFkYjg2ZDRlOTFlNzhkYmZhIHJlbGVhc2UyNi1tYWludAorODE1NDAgOWY3OWNiOThkNTVmNDRlZGFhOTkxMzY2NzM4MmY5MjBjNGNjNmM3YyByZWxlYXNlMjYtbWFpbnQKKzgxNTQxIDgxYTU4MGQ5NDdlZjRlOGFjODhmOTZiZTIwMDc3NDg0M2MzYzg5NjggcHkzaworODE1NDIgMTliM2U0ODUzYzc0MzIyYzBkN2E5OGRmYTc4OGQ0ZGRmMGI5YWE2NCByZWxlYXNlMzEtbWFpbnQKKzgxNTQzIDQ5ZDQ5Nzc5MDYwN2Y5MmVhZmE0ZmM3OGI3NWQyZmJjOWY0YWQ4YzggbGVnYWN5LXRydW5rCis4MTU0NCA3MDJkMjYxZjNhMjlhYmRlMWI4NzU1YzJlMzA0ZWY0NmY4MDUzMmE5IHJlbGVhc2UyNi1tYWludAorODE1NDUgOWFlYzZhZDUzYTFiOTc0YWJmMTA0ZjM0ZmExOWZjODQ4ZmQ4ZDZkZiBweTNrCis4MTU0NiA5YjhiMTQwM2Y4ZGRhODU0MDg2MDY0NWM4ZmQxNWQ5NzQ1YTIwMzY4IHJlbGVhc2UzMS1tYWludAorODE1NDcgNGY5ODJlOTRhZTE2YWFiZjIwNGQ1ZGIyMzZhN2RhY2FkZjFhZWUwNiBweTNrCis4MTU0OCA4MzI4YzVjMzI3MmMzNTEwNDIwOWVlMjRhZDQ0YjA5NTQ4MzE1OWRhIHB5M2sKKzgxNTQ5IDYwMjcwM2QwNTYwYWY1M2EwZGZjZWVjZTM5NGE4ZjAwYmNhZTZiMDAgcmVsZWFzZTMxLW1haW50Cis4MTU1MCBmZDk5NDY3YWI0ZDU5NjUwMmVkM2Q2NjdmNTk1YmZkMzMzMzI4MTRkIHB5M2sKKzgxNTUxIDU2YTU0OTM2ZGExZGJkNDkyZTFiNjI2NmU2NzI3ODY1NjUyOTFhZDUgbGVnYWN5LXRydW5rCis4MTU1MiBjNGY3Mzk3NWE0NDBhOTJkZTE4MDg1N2QxZWYwNGVkZjdlZDdhNGNiIHJlbGVhc2UyNi1tYWludAorODE1NTMgZTNhZDFiOGM0NTIxMjhmZDZiZTQwODk5ZTY3NzU5ZTk2MzYyNWUzMyBweTNrCis4MTU1NCA4MTgwYWJiZDA3Y2IyZTYwYWZhYzI1YTM4ZDk2ZWM0N2JiYWU0MThmIHJlbGVhc2UzMS1tYWludAorODE1NTUgNDc0NWUxM2FhOWU0MzY0MjlhNzljYjQ1YTkzN2FhMzc3ZGRiZmM2ZCBsZWdhY3ktdHJ1bmsKKzgxNTU2IDdjZmJmZmE2YTMwYjI4MmJhNGVkNjRlNTc2MWY2OWUzYTU2MDQ2ZjkgcHkzaworODE1NTcgYzQyZmZiM2Q2M2FmYzc4YTE1ZDRlNzBkMmJiMzI2NGUwNmJhYzFhMCBweTNrCis4MTU1OCAzZjRkMmE4MTgxMGM1Y2M3Y2IxM2U1NjFkNzI1YjYzNDljNWUxNjNjIHJlbGVhc2UzMS1tYWludAorODE1NTkgMTMwN2Q5Nzg3ODlmZWZjM2RhYjExMTA2MGI4NGFhM2JkZGU0MWMyZSBsZWdhY3ktdHJ1bmsKKzgxNTYwIDdmMzEyZjYwZmRiMDUxOGQ1NTVkOWM4ZTBlMzliZTY4ZDRiYzA5YTIgcHkzaworODE1NjEgMDE0ODI3MDA0MzRkOGEwOWEzZTM2MjMzYzc3ODkyYjdjZTM2Y2UyMiBsZWdhY3ktdHJ1bmsKKzgxNTYyIDU1NWZmNThjYjdjYjhhN2FlMzQxMjhmNDU2YjJlZjM1M2EwZjQzZTcgbGVnYWN5LXRydW5rCis4MTU2MyBkZGEwZTFhZGQ4YjMxMjZiMTNmNjFjY2FhYzRiMDYzZTBlOTYzYzg0IGxlZ2FjeS10cnVuaworODE1NjQgYzI3ZWFkNTFjN2RjNjMyMzE5YWIzNWEzYzQ5NmYyMTFmNWQxZDYzNiBweTNrCis4MTU2NSBjZmQyMTVkOTQ5OWMzZWExZmU1MzIxOWIyNDliOTUzZTA2YWY2ODNkIHB5M2sKKzgxNTY2IDMxMWEyNTNiNThiNzVkMTBiZDA0ZjMwYzAxZGRhMjMwMGIwNjRiZTIgbGVnYWN5LXRydW5rCis4MTU2NyA5NmE3YTNjYzU4OTdlYjQwOGNjZDQ5NDMzNmMyOTIyODgwZDFhNzFhIGxlZ2FjeS10cnVuaworODE1NjggNmI4OWRlMzZhNzRmYzI5MGZhYWEwYWI4YmQ1MGM0YzU5N2JhYjM5MCBweTNrCis4MTU2OSAwY2NmMGZkYzU5NjY1MmUxMzFiODY4MzVlOGZkYzUzMTM3OGM3NDY3IHJlbGVhc2UyNi1tYWludAorODE1NzAgNGIxNDJmN2IzODEyZDA5OWNiODY0MzA1Y2VhMzYxZWJhOWRkZGZhMSByZWxlYXNlMzEtbWFpbnQKKzgxNTcxIDVjY2M3MWRjYjVkZWE0NDE3ZGI4NWI5NDk4NmQxYjkwMDcwZGIwNWQgbGVnYWN5LXRydW5rCis4MTU3MiBjOWJlY2NiNjNlYTkwOWE0M2MwMzdkZjIyYTMwZjRiZGFhOGMxMmZhIHB5M2sKKzgxNTczIGY1MDFiZTYzODg3OGExNWIyZmNiYzUxMzU5MWY5OWZkNzM4OTJhNjMgcmVsZWFzZTI2LW1haW50Cis4MTU3NCAyNWYyYTBmMGU5ZGViZDMwOGEyMjFiOWJhYWE5NzIyNzVhZTliYWM4IHJlbGVhc2UzMS1tYWludAorODE1NzUgNWNjM2EwYzE0ODAyZWJiYTA1MDYwYWEyNzQ1NDFlMzIzOTEwNmE3OSBweTNrCis4MTU3NiA3ZmU5Yjc5MDA1NGJhZGI4NjU0ZTE4OWE3M2RkMmZkYzBiODU1ODhkIHJlbGVhc2UzMS1tYWludAorODE1NzggOTUyNmE5MDhhMjU4ZGI4NjZiYTY1ZTcyOGNhZjkwMDQyY2JjMDAwZSBsZWdhY3ktdHJ1bmsKKzgxNTc5IDFhNTkyOGIyNTkzYzkwZjc2OGNjMzEzMzRlN2I4YTk3M2M3YjRmY2EgbGVnYWN5LXRydW5rCis4MTU4MCBiZDljYjI0YmE2OGI0MmQ1MzBmYjljNzE5ZjQ2OWViOGQ0YTM1YWMxIHJlbGVhc2UyNi1tYWludAorODE1ODEgNjIxOTQxNTU3ODk4MzZlYzkyNTYxNTU4YjBjMWFlNjQ1ZmUwNDQ1NiBweTNrCis4MTU4MiA3Yzk0Nzc2OGI0MzVkOTM4OTk5NmRkNWFjZjNmOGY4ZTMyZDcyZDY0IGxlZ2FjeS10cnVuaworODE1ODMgZjEyYjAxZTY4ZjY0NGZjMjBkZDk4YjliNDQ5ZGFiMjg2ODEyNDZiNyBweTNrCis4MTU4NCBiNjk3ZTIxZDFlNzg2N2Y5MjJhMjk1ZGM2ZDNmY2JlMzJjYzk3OWZjIGxlZ2FjeS10cnVuaworODE1ODUgZjAwMDc1NGM4OTQzZTE4MDY5MDM0ODgxOWYwNWYwYmJlZWM4ZTE0MiBweTNrCis4MTU4NiA0NDE1NTk5YjcwMTE2ZmU0OTE0OWVjZjY0NGExNmVjMjBjZDc1ZDc4IGxlZ2FjeS10cnVuaworODE1ODcgMmNmYjE4ZjFjMjkzM2NkNTA5YTVhNGE0MGYwYjczNmIwZTJiZjU3MiBsZWdhY3ktdHJ1bmsKKzgxNTg4IDMwOGVkZjExYzdjZmY2ODUyYTYxNDE3YzIwNTQ1MTkxZjMzMzQyNzAgcHkzaworODE1ODkgOWEwNGJkYzQ4MDg5ODNmMmYxN2FhOTU5NmMxNDViOTExYTFiOWQ2MSByZWxlYXNlMzEtbWFpbnQKKzgxNTkwIDg1MmQ1ZWE2MjVlNzQ5NTIzMjU0YWQ4NjBkYTYyNmUyMWM1Zjg5NzQgcHkzaworODE1OTEgNDlhYjVkYmM0ZmFjOWM0M2I0YjQzNDM0MjY4MjFmOGUyYTUyYmFjZSByZWxlYXNlMzEtbWFpbnQKKzgxNTkzIGQ1Yzc5ZDg5YjM5M2FmZTZmNmNmNmZmNmFlZTlhNDgxNzBlMGJhN2QgbGVnYWN5LXRydW5rCis4MTU5NCAyYjU4N2U3ZjAyOTliOWY4ZDYxMTkwYTE5NGEwODc4NTRkYzczMjI3IGxlZ2FjeS10cnVuaworODE1OTUgYjc5OWY4NjJmYjIxOGI0MmJjN2M3NGMyNTJiOTQyMTllYTQ1NTY3MSBweTNrCis4MTU5NiAzMjJiZjRmZjRkM2Q2ZWZhNTQ0OGMyYmE5OWEzOTQyOWNlZmJkNmVjIHJlbGVhc2UyNi1tYWludAorODE1OTcgYTkxNzQ3MzM2ZWFlNjAyNGY2NjM4NjE4MGM3NGMzZTk0ZThkMzdiYiByZWxlYXNlMzEtbWFpbnQKKzgxNTk4IDAzNzJiNGM3YjlmNGY2YTI3ZjNkYWU4NzIxZGQ0ZWQ0MjYzMTkzNjcgbGVnYWN5LXRydW5rCis4MTU5OSAxNjQxOTNhZGU0YmFmMGU3NDY1MzFmZWU2YmFmZTNmZmY2YzRhYTBlIHJlbGVhc2UyNi1tYWludAorODE2MDAgNjNlNzhmY2Y3Zjk0YWNlNjYxYzA3NDdlODk1M2ZjZjIyYjcyNzAyNyBweTNrCis4MTYwMSBhN2E5YjU4ZDFjMTg2NzUyODA3YWNiM2E4M2JhNGJlZjNhNjc5ZjA5IHJlbGVhc2UzMS1tYWludAorODE2MDIgNmU3MWVjYTYyNzhjYjU3NTgzMTkyYjg4YTkwYTdjOWI2OWQxYzhlOSBsZWdhY3ktdHJ1bmsKKzgxNjAzIDVkNDNiOTY2MzZjODg4N2ZjY2NiYTIyOWFmZjRiZjU3OTczYmRiMzAgcmVsZWFzZTI2LW1haW50Cis4MTYwNCAwNDcwZGM2M2QxMmE5ODAzYmVjYjA2MjBiNzg3ZmEzMTk2OTJiZmM3IHB5M2sKKzgxNjA1IDlmYTVlZDRjYTBiYjViNDhjYTBlM2E3Y2ViNWZjZGU5MWE3ZjQ1Y2QgcmVsZWFzZTMxLW1haW50Cis4MTYwNiBlZDc5ZGEzYTU5MWM0YTgwOWI4NjI0ODMwZWNiYWU4ZDZlMzEyOTc0IGxlZ2FjeS10cnVuaworODE2MDcgNmI3YWY1YTI1ZDJlOGQyYTNjMDQ4YzVlZmM2OGY3YjUzOWZmMjZkOSBweTNrCis4MTYwOCAwNWQ2YjI1ZGQxOTcxNWFiODU4N2U4ZTdiN2I4OTY3NTc5NmZiNDliIGxlZ2FjeS10cnVuaworODE2MDkgOWE0YjAyYmFhN2M0MzEzMGU4ZTJiMGJmYWM1NzM1ZGE1ZmVkMzQ3ZCBweTNrCis4MTYxMCAzZWRmYWQyNTQ5YzYxNzhkYTEzNDc0OGM4OTNkN2ZiZTNkZDgxNGM3IGxlZ2FjeS10cnVuaworODE2MTEgNTgzMzc5NTA2MWM1ZDk3MDg1ZTk1OGM3MzQ2ZjFhYzQ3NzU4MGI0ZiBweTNrCis4MTYxMiBlNzY2YzBkODZjZmY5ZDFlNWJhNmUzYTU3Y2NkZDE4MWQwZmJhNTAzIHB5M2sKKzgxNjEzIDY2YjNlZGE2MjgzZmVhYzZhOWE0MDMxZjNlMDNjZDU5NzJlOGI0M2EgcHkzaworODE2MTggMzI0MmEwZDIyZGU2MzhhYjcyZGQ0MTlmOWE0YTJkMmM5ZWQ3NDRmYiByZWxlYXNlMjYtbWFpbnQKKzgxNjE5IGNhYzAwY2JiZTc3MDk0MzM5YmExYWJjMTkzZWRmMWJkMmUyYzkzMGUgcmVsZWFzZTMxLW1haW50Cis4MTYyMCBiMWIzMTc3NTg2NzY1MzJjNjUyZTNmYmMwYmI3MGRlNjE2MzVhOTAxIHJlbGVhc2UzMS1tYWludAorODE2MjEgNzk0NTA0NWMzYTc1OTIwNWUyNWUxNTdhYjYwNzliZTk1MWM3YWI3MCBsZWdhY3ktdHJ1bmsKKzgxNjIyIGM5NjM0NzhiOTA5MmRlY2VmNDEzY2Y2MGE5OTI5MGQ2YTlkMWEzNjMgcmVsZWFzZTI2LW1haW50Cis4MTYyMyA4ZTIxYzY4MzFjN2ZhNmIzZjlkYmRjYmVmNTEzNjE5MTFmMGJkN2E1IHB5M2sKKzgxNjI0IDhhMTNmNzczYTk3NjM5ZTk4ZmM3ZGVhMTdkODU3NjIyZDE2Yjc0YWIgcmVsZWFzZTMxLW1haW50Cis4MTYyNSAzZTY0MjVjMjIxZWNmYzVhNWUwNjAwOGZhM2QzZWEyZTU4YjgyMzgwIHB5M2sKKzgxNjI2IGViYjkxMzBhYjBjNDU4ZmFhMDZlZjUzMTQ5NDlkNjE2N2NmNzViOWIgcmVsZWFzZTI2LW1haW50Cis4MTYyNyA1N2I5MDM1MDM3MmY4YzAyNmY2YzZlNTgwYWVhMGFkYjQ5Mzk4YWM0IHJlbGVhc2UyNi1tYWludAorODE2MjggNzE0NjUzZGQ0YWFkYWQ0NTNjY2FiOWJhY2RlYzExZWUwODNjMzdlMiBweTNrCis4MTYyOSBkYzI3NjhjOTk4ZGUxMjUwYWViZWFmY2ZkY2MyYzM0MzcwYTVkMjJiIHJlbGVhc2UzMS1tYWludAorODE2MzAgNjYxMDlkMGU0ZTZkZjFkZWE0YjdmOThjMGExMWIzYWVhMmYxYTU4NSBweTNrCis4MTYzMSBlYmQ2NWVjNTRkN2U5YmVmNWQ2ZDVhMjhjZDdhMGFjNTIyNjUwMjllIHJlbGVhc2UzMS1tYWludAorODE2MzIgNjJjYTU0MGQ4YjZlNjE1MWFkMTJlOTU5ODIwOWI3MDA0ZjdlOWVkOCBweTNrCis4MTYzMyA5ZjkyY2JhYTUzOWQ2YTQzYzU4MjI5NTgzY2NmYmNhYjNmZWIyZjcxIHJlbGVhc2UzMS1tYWludAorODE2MzQgZjgxMjcxYzE4ZWIwMWFkYzY1OTliOTE2NDhmODFlZmE2MWI0NzhlMCBsZWdhY3ktdHJ1bmsKKzgxNjM1IDUzZWU0NzMyMmRkMmEyYzJhMzQ4MjZiMWM0MzUwNDk2MTc2NzRiYzIgbGVnYWN5LXRydW5rCis4MTYzNiBkNjliMWEyZDliZjBlZjEwNDgxZTM0N2Y4ZjMxZmJmMDk0NmFhN2U0IGxlZ2FjeS10cnVuaworODE2MzcgZDQyNjBkY2FmYzdmYjYyYjUzNzAzYmM0NDgwYWIwYjJiMTRmMmZhZSByZWxlYXNlMjYtbWFpbnQKKzgxNjM4IDljMGMyN2E5YjcxYzc5Y2YyMTE2ZmU2Yzk3MzRmMzhjMmMxYmJhNjAgcHkzaworODE2MzkgMTA5Nzc3MDhkYjJlYWFiM2VjOTU0ZDlmMGMwNzFiYTYzODc0MjRkOSByZWxlYXNlMzEtbWFpbnQKKzgxNjQwIDg5OGViYjI5OTBkZmE1OWYxOWE3ZmM3OWEyMGU2OWJlYmY3YjRiNzkgbGVnYWN5LXRydW5rCis4MTY0MSAyZGU3MTIzM2I2OWIwZDIwMTZlYzZhYjZjYzg1NzE1NjQ1YWVlOTk5IHJlbGVhc2UyNi1tYWludAorODE2NDIgZTRjYmJiYjc4NjNiOTJkYjliYTY3M2Q5ZWNjMWJmNzI5ZTcwMmI0ZCBweTNrCis4MTY0MyBjZmUxMzg2MDBmNjRjNGM3YjE1ZTFlMWFjODBiMjdlY2Y0N2YzNjhiIHJlbGVhc2UzMS1tYWludAorODE2NDQgYTAzYjk1NjgzNTljNTVkZGVjMjk3YTNkZmVjNGVlZTQ5ODFlNDkwMSByZWxlYXNlMjYtbWFpbnQKKzgxNjQ1IDhlMjk0ZGYwZTM4MmE0NmIxYWUwNjJlMWU4MjFjOGI0ZGJjNmYzN2QgbGVnYWN5LXRydW5rCis4MTY0NiA3YjExMjZiNWJlMmQ2ZjBkMTQ1MzAzOTBkMDczYTNlNzFiN2EwMzFlIHJlbGVhc2UyNi1tYWludAorODE2NDcgMzc5ZWUyMTIxNTNlMDNmOGFmMGY2MGNjNmZiNjdkYmM3YWNmNTI2YyBweTNrCis4MTY0OCBkMjBkYjNlZTg0NTc1NWY1ZTY3YjUwY2E2OWViNjY1YzI5N2RmYWVlIHJlbGVhc2UzMS1tYWludAorODE2NDkgYmQ0N2NkMWY5YmMyZThiY2MyNjMwOTgwOWFkZWE1MGIxY2JjMmFiMiBsZWdhY3ktdHJ1bmsKKzgxNjUwIDM0YTYzN2JmZDRiZTc4YjllNDYxZDRmMzMzYzQwY2NlODdlODFmNmUgcHkzaworODE2NTEgZWE0M2I0MDY0NTBmOTRmYzI2YmVlZTU3ZThmMjNjMWY3NjRkYmFmMCBsZWdhY3ktdHJ1bmsKKzgxNjUyIDNiODA3MDkxMzE2OTQ5NmY4YWIzY2UwNTQ5MGE0OTcyNTQyYzc1Y2YgbGVnYWN5LXRydW5rCis4MTY1MyBiNDdjNGNmMjVmMDIyZDc1OTA2MDQxZTMzODZhODgyNjdjOGU3ZTg5IHJlbGVhc2UyNi1tYWludAorODE2NTQgYzNhZGI5MWNhNTg5NDcwOTllYmZkOGYxMTVkMjM1MzkwNDZkNDJhYyBweTNrCis4MTY1NSBkZmY1ZjA5YjVhODYwMTgyZGNmNmNhNzMyZjQxYTU1NTA0NjVlNDUyIHJlbGVhc2UzMS1tYWludAorODE2NTYgOTdlZGYwZWEwM2Y5YjE0ZTJhNDlkNDhhNmFhMTVjYTgwY2YzMzJlNiBweTNrCis4MTY1NyBkZmJkMzQ1ZjUzZjAzYTU4NWU3YzA0MjI2NWQ3MGJkM2M1ZjAyMzQ3IHJlbGVhc2UzMS1tYWludAorODE2NTggNmIwNzI5NGIxMzUyMGUyZGY1NjU2ZDNkMGJkMTI1YzU2N2VkYjJjYiBsZWdhY3ktdHJ1bmsKKzgxNjU5IGRkMzc4Yjg4NWI5NDAzNjU0MGYyYzk1OTUwMWFhZTc0MmU5Zjk1YjQgcmVsZWFzZTI2LW1haW50Cis4MTY2MCBiYjYzZWFlZmM1YTY4ZDc4ZmRkNWFhODIyYjJlNjJjOTRjOGI0YjcyIHB5M2sKKzgxNjYxIDgzM2RlNzk4ODVlNGZjOTJjNjg0MGY4YTEyZjdiZmQ2ZjE5MjUyNWYgcmVsZWFzZTMxLW1haW50Cis4MTY2MiBmNmU5MDE4MjY4NmJjNjE1ZDQ3ZWU4NDk2YzhkOTA5ODExMTNkODc5IGxlZ2FjeS10cnVuaworODE2NjMgMjkxYjBiYjYzZmI3NmJhZDg0MDAzMTFhYzU3NTcyMTg3OGY4ODU5ZSBsZWdhY3ktdHJ1bmsKKzgxNjY0IGVkOTgzYjExNmE3ZGUwMGFkNzFiMmY1NzBjNGNjNzk3NTQ5MGQxMjEgcmVsZWFzZTI2LW1haW50Cis4MTY2NSA4YmJkNGViNGVmYzQxZTNjMzc3N2MzNWIyM2RlYWQxYTM4MzRmZDM3IHB5M2sKKzgxNjY2IGNlYTVlZjY4MmJkZDRjNjgzNTUwYTBiOTJhOWRmZDcwZDdiNWNiNGMgcmVsZWFzZTMxLW1haW50Cis4MTY2NyA5YWY2MDBhNjYxMTU3MDEwODlmYzc1Y2Q2Y2NmMDQ4NWNjNWY4Zjc3IGxlZ2FjeS10cnVuaworODE2NjggYWUxMWY1NmFkNWQ3NDdkYWYyMDcxYjdiZjczMGZiNmQ3NGU5NDk3YiByZWxlYXNlMjYtbWFpbnQKKzgxNjY5IDFiNGMzMDc0MmEyNGEzYzY3OWU4MGI1MjhkOTBlM2UyODJiYjI5Y2IgbGVnYWN5LXRydW5rCis4MTY3MCBiZmJmMmQ2NTBmMjY5MzRkNzI4OTlkZGVkZmM4ZTFmZDMyYTNhMjEzIHB5M2sKKzgxNjcxIDA1MzRjZTAxYmE1MDI5YjNmNTQ2MWJhNTNmYTRlMjI0NmIzNjNmY2MgcmVsZWFzZTMxLW1haW50Cis4MTY3MiA4ODI1YTdlNmE1ZjAxZTY5N2QzNjFlZmE1NDU5ZWIyMWJjNzU5NTZkIGxlZ2FjeS10cnVuaworODE2NzMgMzc5N2VlNTdkM2Q2ZTM4NWJlYTc0MTQ2M2VkNzI2ZjgzYjJiOGY2MSBweTNrCis4MTY3NCAxNmZiZGYxMGQxMDAxOGZjY2RjODNmMTMwNTNkZTY5MTIxYzM0NWZhIHJlbGVhc2UyNi1tYWludAorODE2NzUgM2QxMWJhNzk4OWRmMGI1MDhlYzkwZjZhZDg1MzkwMGI2MzdlMDMxMyBsZWdhY3ktdHJ1bmsKKzgxNjc2IDVlMjhhM2RmZGVlZjNmNGYxYzY3NDI1YWZkNjQ0OGFkYzA5ZWNiZjQgcmVsZWFzZTI2LW1haW50Cis4MTY3NyAyNWI0MTYzZmZlM2ZkMmU2OWQ3NWJlZTgwMjdjNGE0MzBiZTZjMDE1IHJlbGVhc2UzMS1tYWludAorODE2NzggMzhkZGVjY2YwMmE5NDIyN2M1MmVmNGZkN2M5NzkwMGZlNDJjNTMyMCBsZWdhY3ktdHJ1bmsKKzgxNjc5IDExYWNjNTdmNTgwNGNhYmMwYzA4NGRjZmY2NWQwMTA1ZGFlNTM5MjkgbGVnYWN5LXRydW5rCis4MTY4MCA2ZTEyMGQ5MzExMmVjYTQyZjdmNDc5NjUwYmQ4OTBiMzU4NTVlNzNhIGxlZ2FjeS10cnVuaworODE2ODEgNTMyZTllNmFjODI1ZjFjZmIzNmFmNzQ2M2ZkOGI3ZmI4ZDdiNWYxNCBsZWdhY3ktdHJ1bmsKKzgxNjgyIDI2ODAzMTY4Y2U4YTc0NzJkZjVhZGFjOTNhODkwMzhhZWQ4YTkwODIgcHkzaworODE2ODMgY2I0ZmEzZTRiOGQ1NzY4MDE5YTY5NTRmNzM1ZmFiNDViOWQxZGFmNCBsZWdhY3ktdHJ1bmsKKzgxNjg0IGRkNjYzNjgyMTdjMTYyNmUzMWY0YmViZDg0M2JjOWFlZDgzZGExMDggbGVnYWN5LXRydW5rCis4MTY4NSAyMmMwZTIyOGQ1YTdjMTJmNjM0MzYzMWEzMDRhYmQ4YjY5NGJiYjFmIHB5M2sKKzgxNjg2IGJmMjEwM2EyMmUwMDc4ZTZhM2Q0YTVkMmIzYTkxNGJkMzBmOWUzNGUgcmVsZWFzZTMxLW1haW50Cis4MTY4NyAzYjY3ZmEzNTg1ZjA3YzU1MDdlOTE1YjYwMzgxNzVkYmNjNjllZjQ2IGxlZ2FjeS10cnVuaworODE2ODggOWZhNTU5MDI1OWY0NjRiMGQ1NGFkYWE0OTU0ZmE1ODQ5ZDQ4NGYzMiByZWxlYXNlMjYtbWFpbnQKKzgxNjg5IDA3N2QyOTM4NDM5OTE4ZDYzYWNkMDFmNDIxZDNjOTk1ODliYjZkMDYgcHkzaworODE2OTAgN2I1OWIxZjYzM2NiNGUyNjhhMmZkMDhiNjkyNzM3YTNmMTQ4OGJhNSByZWxlYXNlMzEtbWFpbnQKKzgxNjkxIGVhY2JlNzc0ZjAyOWU0ZDg5ZTdmYTQ3N2FjOWI0M2U1MThjNDYwYTIgbGVnYWN5LXRydW5rCis4MTY5MiA0MTk5MDFlNjVkZDIxOWRhNjhlZWYwYmFmYTQ5NjY2N2JmODIzM2NkIGxlZ2FjeS10cnVuaworODE2OTMgODI0NTY4M2U2ZWM2MTBjYmU5MGY3M2E5YTQ4OWEwM2QzNTM4ZTA5NSByZWxlYXNlMjYtbWFpbnQKKzgxNjk0IDEwOWE5OGY5ZmNkZGQzNGJiYTk2ZWRjZjUwNWUyYmM5YWFhODhjY2MgcHkzaworODE2OTUgY2QxOTJkMWZjZDY3NjNiMWMzYzVkMWJhMDdjNzNiODI0NmM2NjA0YyBweTNrCis4MTY5NiA4NDk4OGJiOTFmYmY2Mzk5YjhhYzYyZjJjYmQ4NjBhNDYyNDRlNzdmIHJlbGVhc2UzMS1tYWludAorODE2OTcgYzE2MGFmMDljNWIwMTY1ZWYzZDEyZGQ3NTEzMTlmMDdhMzkxNzg1OSBsZWdhY3ktdHJ1bmsKKzgxNjk4IDJiMjViNTBlYWVhZGQ1NTg5YzU5OTdhYzRiNzI4MjgzYTUzMjIzN2QgcHkzaworODE2OTkgMGM3NzY0YWE2OTRhMTg2YTQxMDVkNDliYTRkOTBkYWY1MDg2MzA5MSBweTNrCis4MTcwMCA0YzBiMmJiZGQ4MmQxNzA0N2E4YzFmNTkyODEwYTZhOGZhYzQ0M2UxIGxlZ2FjeS10cnVuaworODE3MDEgYTgwYzFiOTY0YTZmZTk2ZmI5ZmJiODZkN2RkMDBhZDdlZjU1ZjM2NyBsZWdhY3ktdHJ1bmsKKzgxNzAyIGJiYWY2MDYyZjI0MTQzNmM5YzA4ODAzODE5YTA1NDg1NmY0NzYzYTkgcmVsZWFzZTI2LW1haW50Cis4MTcwMyBmMjE0ZTFiZjAzMWQyOTc3NTlkMjcxZmRmMThjMjZlZjhhMDMzZTczIHB5M2sKKzgxNzA0IDUyZTkyZTc3YjMxMTRkNDdmOTMxNzI3MzMwNDAyZjA4OGNmODAzYmYgcmVsZWFzZTMxLW1haW50Cis4MTcwNSA3MzQ0NDhlODU2YWE3YzZjZWEwMTBiYzE1MWE4YmRlNzViZTM0YWM2IGxlZ2FjeS10cnVuaworODE3MDYgMDkxNzZkMGJkZTM4NDllMGQxZTllMzk5ZjhiMjM5MzNmYWZmODYzNSBsZWdhY3ktdHJ1bmsKKzgxNzA3IGQ3NTQxYTQ5MGNiZDg0MjM1ZGVlN2RlMjFhYmI3NDk2NWIxYzM1ZTIgbGVnYWN5LXRydW5rCis4MTcwOCA5YmI1YzIyZWYxMzQyM2M1ZjIyYzQyNmUxODU5YjFlZjdhOWZkMjVkIHB5M2sKKzgxNzA5IDVjZGYyNjU3NmU4ZWExZmQ0MDQxNzRhOWUzYjc5YTM0NjQyYjVjMmIgbGVnYWN5LXRydW5rCis4MTcxMCAxNDJjYjZmNjBmZDdlOTUxYzUyYzc1MzdkNmRlZTYyMDQ0NWY0ZmZjIGxlZ2FjeS10cnVuaworODE3MTEgMjNlZDgzNzYxNWFhYjQ5ZTEwNWUwOTM2MTAxNjI4M2I2MjYyZmRkMiBweTNrCis4MTcxMiBkZGE5YmVlNWM4NGEwMDBkMDhjMTljOWJhNjBkNzZlZDAxODQ1MTIxIGxlZ2FjeS10cnVuaworODE3MTMgNjA2MTNlODFmYjFlODUyZDEzYmM3ZWE3MjlmZTA3ZTU2NGFiZDY5NiBweTNrCis4MTcxNCA1OTA5ZTFmNzZiZTc0MGQ2MmMyYTA4NDRlMDdhNzBlN2M5MGI4ODJlIHB5M2stY2RlY2ltYWwKKzgxNzE1IDJiNTcwMmQ4OGYyNzVlOGZhMDc5YmY3ZWUyOGZhYjdhZDg0MGEzZjUgcHkzay1jZGVjaW1hbAorODE3MTYgYzg4NjQ4Mjc3MTM4ZjFiYzViNmMwYmM1MGYyOWQ0MDEzNjY5YTJhMSBweTNrLWNkZWNpbWFsCis4MTcxNyA2YjUwMTNmZWE4MWJiZjBlZjU0Nzg4MWJmMDNjMDExZGFiYjE0ZDliIHB5M2stY2RlY2ltYWwKKzgxNzE4IDYxZjU0NmU4NjFjMTJmNzYxN2I5OGZjZmU1OGU1MzZiYzkwMWY0ZjYgcHkzay1jZGVjaW1hbAorODE3MTkgMDgyOWY2MDIwODBiOWRiNzcyZTlmNGMyZDY3MWNmMzhlMmZlM2ZkOSBweTNrLWNkZWNpbWFsCis4MTcyMCA2ZjFmMDVjNzI1YjdjMGY1NzdhMWQ2YmVhM2ZhYmZkMDUyYjk1ZTgyIHB5M2stY2RlY2ltYWwKKzgxNzIxIDFmZDM2NWQzNjk1OTYyZjMxYzlhMmU0NjhlOTNkYTBmMTExMDhhMTAgcHkzay1jZGVjaW1hbAorODE3MjIgYTQwOWE1YWI4M2JiY2IyYzc4ZTVjM2Q5NTdiZTVhYjczODYxNWZkMSBweTNrLWNkZWNpbWFsCis4MTcyMyBhNTYxMDU0MDFkNTI2ZDQyMzdkZDFiZjNmZWE4YmJhZDk0ODllYTA3IHB5M2stY2RlY2ltYWwKKzgxNzI0IDA5YzA1YWQ0NWI1ZjBiZGY3MTg5MWMwYjgwYzk5Y2ZmNzFlNjhlOTcgbGVnYWN5LXRydW5rCis4MTcyNSAwOWMwNmNhMjdmN2Y4NDZjZWQzODM2MGE5YzZiNWVhY2ZhNTJkOTE2IHB5M2sKKzgxNzI2IDQzZTlhM2U2MTc5NmU2ZDhkMDAyZDYxMmMyMzdlMzZkMmY1ODYxY2IgcHkzay1jZGVjaW1hbAorODE3MjcgY2I1MGRiOTQxMmM3MDRjOGU3N2E0NDAxNWQxNGJkYTViYTNlY2M5OCBweTNrLWNkZWNpbWFsCis4MTcyOCBiZTU4ODE0ZTI1ZDc4NTE1MmQ4ZGNiMjhmOWIxNjQyMTgyYmVkMTFlIGxlZ2FjeS10cnVuaworODE3MjkgM2E1NzFmZDhjM2JlYTBiMWEwYWQzMTY5ZTU2YTU3YThmMDY3OTA3ZiBweTNrLWNkZWNpbWFsCis4MTczMCBlYzE3NGY0MmYxNWJkOTBkZGYyZDE1NmFkMTdhZGUwZjNhYzEwZWM1IHB5M2sKKzgxNzMxIDBlM2VjNDE4ODQ1YWRjNzU1NzhjZjlkMWJiN2Q4MmZhMWI1NWNiNTUgcHkzaworODE3MzIgYWE1Y2U4NjE1YzRmYzcwNTI2ZWNkNDkxZGFlZjg1NWFjZWI5MWUyYSBweTNrLWNkZWNpbWFsCis4MTczMyAyZjI4MmY4ZjkzODg0OGQzMjEwZmMzYmIyNTBiNWIxMTZlNmE0YTBjIHB5M2stY2RlY2ltYWwKKzgxNzM0IDc2Y2Y0YWNmN2I0M2YyZDYyNjIzYzU1OTIwMGMxZjg2ZDdlMjhlYjMgcHkzay1jZGVjaW1hbAorODE3MzUgOTg2YmEwZWMyYzU1ZjM1MDU1ZTBjOWFmYTE1OGNlMWZjNjUzMTU4ZCBsZWdhY3ktdHJ1bmsKKzgxNzM2IDhmYTRhNWU1YWY1NTJkZjc4ZDhlNDNlZDgzMGViZTAwYjE5NTZlMWYgbGVnYWN5LXRydW5rCis4MTczNyAwNmJkNGE0NDgzOWQ5NmQ1NDYwYWEyMzQ0MmI2NTg3YjY3MTViMGY0IHB5M2sKKzgxNzM4IDcyZGMwZWYzOTRhY2JiNDY0ZWJmYWNiMGQ1YjE4OGEyNjAwMjRhMTMgcmVsZWFzZTI2LW1haW50Cis4MTczOSBmODZjNmE2ZTE3NDQxNDgyMjM2OGQxZTMyYzViNTBhNjRhYzJjNTIxIGxlZ2FjeS10cnVuaworODE3NDAgNjdjMzNjYjk2MjJkYThlYzQyNjU0NmYwY2Y1NDY5MzQ1NGM4MGMzOCBsZWdhY3ktdHJ1bmsKKzgxNzQxIGUxMmQ4N2M0NTU5MTk4ZTE2ZWM2ZDEyMDAzYTI2OTMxZWJiMTRkYjAgcmVsZWFzZTI2LW1haW50Cis4MTc0MiAxYzMwZjllYjQwYjgyNjA3MmJkOTY2NDc2Zjg4YzU5YTEzZjk2ZGNmIHB5M2sKKzgxNzQzIDkxMjUxN2NjZGIzZmQ2ZmI4NjY0NmVhYjBlNTIwODBlNDgwNjVhNGEgcHkzaworODE3NDQgMzcyMWQ0ZTViMmVlZDM3NDhkZDBkYzI0OWU4OTk0OWEzMGI5Mjg0MyBsZWdhY3ktdHJ1bmsKKzgxNzQ1IDM2NjJkMmI1YWZhYWVkZGI1ZGRkYzZjODg4OTc5MGZmNGY1YWQ3NGQgcmVsZWFzZTI2LW1haW50Cis4MTc0NiBkMGQwNTdiNWQzNjEzMjg1YTgyYjc4ZWU4NzQzODNlYzhjNGVjOTRlIHB5M2sKKzgxNzQ3IDhiODcwMTU1MTI1MzlhMDViZDBjNzg3ZjU5ODY5M2RjYWYzZDAxOWYgbGVnYWN5LXRydW5rCis4MTc0OCBjZTkyMDk4MTFjMGFhY2ZhMTUwM2M4MGVhM2JkZjRiOWZjMjFhYjE1IHB5M2sKKzgxNzQ5IDRhMTE1MjI5ODBiN2I4ZTUzNjgwZWI5Y2Y1ZDkwZDhhNzgyMTdiYjUgbGVnYWN5LXRydW5rCis4MTc1MCBhZjJiZGU3MmNlNjFhMmMzMjczMDg0NjQwMTIzYTQ3ODU3Y2IwNmE2IHJlbGVhc2UyNi1tYWludAorODE3NTEgNWUxYjNiNjM0ZDUzNDY0OTJiN2U3ZGYwZDVmNDhjYjFkYWNiZjJjNCBweTNrCis4MTc1MiA2MTBiYTk5YjhkMGRhM2QwMmJlZjFhYTZmMjcyN2QyMzcyMTk2ZTY5IGxlZ2FjeS10cnVuaworODE3NTMgMmQyYjM4MjRlMzlhNTEwNDMxZDYwZmQwYzdiNDc4YTYyODQ5ZGZmMyBsZWdhY3ktdHJ1bmsKKzgxNzU0IDNkNGYxYzI1OWQyZDBhYjA0MWQ4NTU4M2I3OGFjOGU5M2IxYTk1MmMgcHkzaworODE3NTUgOWMzMDkxMDI0YmM4NDg2ZDYzNDJiMWNlYzA2OGEwMGFhMjQzOThhMSBweTNrCis4MTc1NiBjYTI2M2QyMDA1ZTc2MTFlNWM2NDRhMDg0ODY5Y2FlYjgxYTE0ZWU5IGxlZ2FjeS10cnVuaworODE3NTcgMGE0YjMzZTRlZTIzNjM2NTIyNzQ2ZmEzZDIyOTQwMTdjYTM4YmM2YiBweTNrCis4MTc1OCA1MDMyZjFkNWExZTE1YzE4MzU5MWM0NTE3YzdlNDQ2OGZjOTA0MGI4IGxlZ2FjeS10cnVuaworODE3NTkgYzFjYWVlMzI1NDRmYjc5Zjc0ZmM4ZjBjODYyZGE0ZWRhMTZiNDU0NSBsZWdhY3ktdHJ1bmsKKzgxNzYwIDFkOWI3ZDA1MmJjYzVmNTcyMjEwNGI3MzY4NDhjZjQyYjQ0ZGIzMzIgbGVnYWN5LXRydW5rCis4MTc2MSA3NDJkMzI5ZGZkZmQ5NWNmMDA1M2I1MjQ2MzQzNWFiMjEwYThmNmMwIGxlZ2FjeS10cnVuaworODE3NjIgZGE3YThmZjc2NDk5NzZjYWU0ZjljMWYwZWU3Yjc0OTBkOGQyYjc4MSBweTNrCis4MTc2MyBkNzg3MmRkYjRiOTgwODA4YWY1OGIwMzZkMzNmMTM1NzJkNzhlOTU5IGxlZ2FjeS10cnVuaworODE3NjQgY2RjN2NhOGRiOGQ2YWI0NDk2MGRlY2UyMzRmOTZlZThiMjUxZTc3ZSBsZWdhY3ktdHJ1bmsKKzgxNzY1IGUwZGUzMzc2N2MyOThjZGM5ZjAxNTZjNjk3YzkzYzVmNTI2OWI4NWQgcHkzaworODE3NjYgMTQxMGFjNjBhNzU0MTIxZjkwMGIzZTA2YTk4ZTcxZDc5YjYwMGRjYyBweTNrCis4MTc2NyAzZTBiYzBlMTdmNTYwZWQ0ZDcyZmRmYTliYmY4NDA5ZTRiZjNhZWQ3IGxlZ2FjeS10cnVuaworODE3NjggMjZiYjUzOGVmNmVhNTgzMzMxMzUxMzAwNTFiZDJjMmI3ODdlNzg0NyBweTNrCis4MTc2OSBlMWNhZWQ2OTU0NDgxZmNlNjFkMmNmY2Q2MmQ4ZGNjNWExNjQ3MTE5IGxlZ2FjeS10cnVuaworODE3NzAgNGRmZDkxNzQyZWI5YmJlMjFiMzNhMWQxYmU4Mjc0MThjYmQzMzBlMCBsZWdhY3ktdHJ1bmsKKzgxNzcxIGQxM2RlYzE0NjhiODc0ODljMDZiNDQ1NjRhZjUyZDI4NWE3NDBiYmMgcHkzaworODE3NzIgY2Q4ZWUwMTk5ODlkMTc1NTdmNjZlOGFhNTBiODRhMWE5ZWEyYjIzMCBsZWdhY3ktdHJ1bmsKKzgxNzczIGZkZGEzZjQ2MTQyZTRmOTdiMTQ2NGExYWI1OGU5MDc0NzI1ZDA2ZGEgbGVnYWN5LXRydW5rCis4MTc3NCAwZTdjN2YxOGNkMjRiMDNlY2QyZmNjOGRjMTkwM2EwZDUyNDA1MGYyIGxlZ2FjeS10cnVuaworODE3NzUgMzgxYzVlZWI1MTEwMzhkMDkxZDhlMDgwOGM0Yjg1MDg3ZWQyZjY4NCBsZWdhY3ktdHJ1bmsKKzgxNzc2IDZhMjhlZjI5YjExMDM5NDQzNTFlMmRkYzEzMGFkMGJlMjlmNzcxZmEgbGVnYWN5LXRydW5rCis4MTc3NyA1ODliNjExZDdiNGZhMjhjNzIyN2I0NjQ4MTc0NTI4ZTFmYjJhNTFiIGxlZ2FjeS10cnVuaworODE3NzggMzAxYjc4Y2M5OTliMjliZjFhNGM0YTZkNTk2MTg1NWNjN2VjYWUzNyBweTNrCis4MTc3OSA2OGZkMjI1OTVkYjU3NzYwOTIzOThlZWM0MTUzNTAyZmE0MTQ3NjIzIHB5M2sKKzgxNzgwIGM0ZDRkZGFjZjlhNTk2ODZhMDdiNWFiOGI4OTM4MmViOTA4Y2JiNTUgcHkzaworODE3ODEgODQ5NjUwNTA3MDUyZTZmNDZlNDdkY2UxYmQ3MTMzN2M0NzM1NWIxNSBweTNrCis4MTc4MiA0NzVjYmRlMWVkMTlhN2Y0MGUyNDAyOTRmNDJkYTVhNjcyOWU4MTU4IHB5M2sKKzgxNzgzIDZhMWQ2ZDhjYmM1MjEzYTY0OTQyOTdjMjVhNGI2YjAzNjkyZjY5YjEgcmVsZWFzZTMxLW1haW50Cis4MTc4NCAzMTQzMzk2YTk0ZjFlZTM1ZWI2ZjYyMmVlMmI3YzgwNzM2NDJiMzA3IHB5M2stY2RlY2ltYWwKKzgxNzg1IDQ5NWJiNzNiMWNmMWYzYTU2NjYyZmZlMmZkZTgzZTNmNjNmN2I1NWQgcHkzay1jZGVjaW1hbAorODE3ODYgNDNhM2YyYWNjOTRlYzJlMTYwZTAwOGY1MTlmYWNlOTY2NGFkZDQ0OSBweTNrLWNkZWNpbWFsCis4MTc4NyAzMDM4ZWFjNDJmN2RjN2U0ZGQwODliNTBhN2Q4MTBkMWU0NmZlZGIxIHB5M2stY2RlY2ltYWwKKzgxNzg4IGY2ZGFmNTMwZjg5ZWE2M2RjNmU2MTQwNzI5OGFhNzM3YWU2M2RlYmYgbGVnYWN5LXRydW5rCis4MTc4OSBlZDBjYTM4OTIxYzc2NzUzMTUzNjg5Y2FjNGVmNTQyMzFlNGQ4ODdlIHJlbGVhc2UyNi1tYWludAorODE3OTAgZGY4ZGM4ZDFkNTcxYzZkMDA1MWMxNmU2YTEwZjllYjVlYjY2YTExOSBweTNrCis4MTc5MSA3MzRmZWQ1NjEzYWVmYTk0Y2YzNGI5MGFlOWU1OWE5MGRjZDUwZmM1IHJlbGVhc2UzMS1tYWludAorODE3OTIgOWQ0OWI3NDQwNzhjNjVkZjdhMTY5MmRjMGRlOGU1NGI3ZjYwMmE3YyBweTNrCis4MTc5MyBjZWYzNzRiMTRmNWJlZTUzNTA3MjAyMGE5NDFkNDBmY2JhOWYwN2QzIHJlbGVhc2UzMS1tYWludAorODE3OTQgYzNmMmVkNGQ4ZTY1ZWNlYTQxZGVkYjJhYTUyZDYzZmM1NzQ3NmU1MSBweTNrCis4MTc5NSBjMzJiMDM4ZTAwMjJlNmUzNDNlMzVjYjY3NzI3NmY3YTIyZmJmMGQ4IHJlbGVhc2UzMS1tYWludAorODE3OTYgZWQyNmVhNzg1MzZiYTNiOWI3OWU0NDYyNjNmMTdjZGYxMGMzZDc4OSBweTNrLWNkZWNpbWFsCis4MTc5NyBmZjhlYzk0YmVhZWFkOGU3MjMxNzUzNjAwNjliNmUzMTFmMjFjYzQzIHB5M2stY2RlY2ltYWwKKzgxNzk4IGIxYjdhZjUxODNlMzViY2QzNzlmNmEyYTYzZGY1NWE0YzJlM2Q4MDUgcHkzay1jZGVjaW1hbAorODE3OTkgNzM2ZmEzNmVhODFlMjAyZGI5OTE5ZDIxOWVhMmQ2ZjhmYTFhYWE0NCBweTNrLWNkZWNpbWFsCis4MTgwMCBhMjJkODk4ODg5OTUwMWI2Mzk3NTg3ZWIyZWU5MmZiZTUyOTAyOTYxIHB5M2stY2RlY2ltYWwKKzgxODAxIDZlOGRjYjhlOWU2YmZiOTg1MTMwM2IxZjExNmE1MWQ5ZmQ3MzJiMTggbGVnYWN5LXRydW5rCis4MTgwMiAyZDc0MzBkZWRlYzM4MzYzZWFmMDAzMDg0Y2FlMWRhNjA3YmEwMTA1IHB5M2stY2RlY2ltYWwKKzgxODAzIGZlMmEwZTFlYzk1ZGNmOTAxZjlkNGViZGVmNTJhYmMwNTEwNzE1YjkgcHkzay1jZGVjaW1hbAorODE4MDQgMGVmYTFhZDhiYjc1MDZhYjE1NzIyOTA0MWVkZjNhY2RkMmZjMTZiNyBweTNrLWNkZWNpbWFsCis4MTgwNSBiMTFjYzFmMWE2OThjNTA5YTE1ODg4NjljNmFiYjZjNjEzZTEwNDAwIHB5M2stY2RlY2ltYWwKKzgxODA2IDBkOTM0NzkzNGNjNWI0YTkyYWEyNjU0ZTYwNTYwNDQ3NTVhMDQ5ZWEgcHkzaworODE4MDcgNjAwYzIzMTI3MjA3ZDgyMDY1NzY4ODliNWVhMmI1ZTEwYmM4NmQzYSBweTNrCis4MTgwOCBmZDhmY2NiMmVlOTA4Y2Q0ZmQ3MGJiN2IxYzAwZTAwNzNlYzJhM2I1IHJlbGVhc2UzMS1tYWludAorODE4MDkgMWExMDE2ZmEwNzIzMDBmYTY5NzlmY2MwZmNkMDc4ZGZjZGFiNjJkNSBweTNrCis4MTgxMCBlOTMyZGM4ODg1MTdiMWY4N2YzNmM5MWYzNGI5MzRiYTU3MTQyZDJiIHJlbGVhc2UzMS1tYWludAorODE4MTEgOWNlNTU2M2VlY2ZiNzk0MGRlZTk2OTgyMjBmMDA1NzI1NDNjYmNjZiBweTNrCis4MTgxMiA2MzQyZDE0NjdhNGQ0NDhkMjhmYTczNGFkOGUzMGZhMWMxM2VmYTdhIHJlbGVhc2UzMS1tYWludAorODE4MTMgYTIxNDVhMDZhNzI2OGYyMDMwOTA5YjQxNjdmZGEyYWUzZGI3YWYwNSBsZWdhY3ktdHJ1bmsKKzgxODE0IDk1Y2MxZTZkMDI0Njk0YWE1ZmJiZWY4NzFiNzQ0OWZjMzk1ZjliNmMgcHkzaworODE4MTUgNTM4MTk2Y2Y5MWZmNzgyOTEzNmRlYjMzNDUwNDczYTMyYzBkMjRlYyByZWxlYXNlMjYtbWFpbnQKKzgxODE2IDJmNjFlM2ExNDZiMWNkY2U0MTFiOTU2NzQ0NTA3Yzk0ZmQ1OGJkZjIgcHkzaworODE4MTcgZjVjZTVlMWJiMjNhMjEzNmNkOGZkMDMyOWI4ZmE3NTk5MzExY2UxMSBsZWdhY3ktdHJ1bmsKKzgxODE4IGYyYzRkZDIyY2E2MWEyMTA3NWRhZjgzMjQyNGE2ZWMxMjczMmY0YzEgcHkzaworODE4MTkgODIyMjgwY2VlMDRiNTI3ZjhjMjhhZTdlODVjMjM1YjU1YTcwYmNjZSByZWxlYXNlMjYtbWFpbnQKKzgxODIwIDI2ZmFjNzRlYmFiMzI5ZTFkMWM3YTRkZWJmNjgzMjFhYmFkZjRhYTIgbGVnYWN5LXRydW5rCis4MTgyMSBmZWNkOGZiN2JiZWY1ZGIwNzdlZDc5OTgzYjY3ZDc0NDNkZWY3ZTRlIHB5M2sKKzgxODIyIGI0NGEyZmU1MzFlZjUxZmE3ODUwNjNkMTMwY2Y4NWU5OTliZjEwMmMgcmVsZWFzZTI2LW1haW50Cis4MTgyMyBkMzc5N2U5ZGZkMmMxOTc1ODdjMGQyNjgxNjc3NDlkOTQyYzk1MDNhIHB5M2sKKzgxODI0IGRkZGI5OGVmM2JlNWVmOTA2NmQ1NjEzZTZlMjc2MzA1OGVlZGI3ZWMgbGVnYWN5LXRydW5rCis4MTgyNSBlNWYwYjI3YmMxNzgzNzk4YzY1ZThmYjRlNTcxZjg1ZWYyMTI4NTcxIGxlZ2FjeS10cnVuaworODE4MjYgODI1ZjY1NDQ1YTBhMDFlZjFhNzUwYWVkZmNhNTI1ZTZmNmFkOTZhMyBweTNrCis4MTgyNyA1YzZlNzVhOGQ2MWQ1NWU2M2ZjNzkzMzdlZmRjN2JkODY2ZTU3ZmM5IHB5M2sKKzgxODI4IDNlODYyNTQwMzliOTA5NmZhNDg4NjRlZjEwMWQ5MTU3NTdiMjQ2YzcgcmVsZWFzZTI2LW1haW50Cis4MTgyOSAyNzE4MTU4YzU4ZDAwZmZjNzhiYjRjYWZlOTA2MzkxNmQwMWU4NGE4IHB5M2sKKzgxODMwIGEzNjBlMTE0ODY2YjU1NGQ4ZmYxYjFhZGM1YWM0YzgzOWQzYmNiNDAgcHkzaworODE4MzEgNGY2MTMzMmFmMzVlNjlmYmIxNGVjYjhjNzA1OGEyZGRiMjg0OWU0NSBweTNrCis4MTgzMiBiOTUxODYwNmNkZGNlOTFkMWFlOTcwMzNiYzYxNDVkNTczMzU3ZmZmIHB5M2sKKzgxODMzIGQyMjY0ZjlhYzYxZWNmZDZjZjA4MzMzZjJkYjNmMjczNWYwMDQ0ZmMgcmVsZWFzZTMxLW1haW50Cis4MTgzNCAzNWI0YzM1NmYyNGE2MjgxMmJmODkwZWJlYzZlZWExMzk4OThmMGViIGxlZ2FjeS10cnVuaworODE4MzUgMTE2NmZiN2VmYjA3YTZlNTU0ZTk1YzMzNjY0MTlmZTNkNzZmNWU5ZCBweTNrCis4MTgzNiBkNWVjMjQzY2FhMTIyNGFmYjc2NGMyNDRiZjRjMDQ5Njk5MTE1OWM5IHJlbGVhc2UyNi1tYWludAorODE4MzcgYjVhZjVjOTMxMzViMjRmMzQxNDVkNjZhNzk3NGEwNmYwNDk1Y2ZhOCByZWxlYXNlMzEtbWFpbnQKKzgxODM4IDY1MDlmOWEzY2RlNWFlMjdlMDQ1N2VhMjc3YmY3OTU4Zjg1Y2E3YTQgcHkzaworODE4MzkgOWY3YjhiMzJiMDc0YWE5MWQzMTM1MjEyMGE0NjkxOTgxYTcwOTkwZCByZWxlYXNlMzEtbWFpbnQKKzgxODQwIGEwNmFkNzM4MzU1MjNmMjQ4NmYwMzZiNTAxNjM1YWViNGFiYWE1NjQgcHkzaworODE4NDEgZDI4MWVkNTlmZjBiZTRmMjQwMmY0ZjE2OTUyMTRmNjdjMTA1OTgwNyBweTNrCis4MTg0MiA3Y2NjNTU4MTE0MTMxZjA5YjE2ZWNkZDFlNmRhYmZhZGVkYjU5ZDEyIHJlbGVhc2UzMS1tYWludAorODE4NDMgZDkyNzA4Y2YxYzFmYTMzNjRiNTY0MTA5MzYyNWU3ZWU1NGNmYTJhNiBweTNrCis4MTg0NCBhMjVhZDljNGFjZTAwMThmODUyYmI0Mzc0ZWMxNTVlODgzM2E4OWVhIHB5M2sKKzgxODQ1IGQ0N2ZlNDEzNGU3ZDExYmY0MDM2MTA3YzgyZTY1YjdmMzE2NTI0NzMgcmVsZWFzZTMxLW1haW50Cis4MTg0NiBmODNmMjAxYjEyNzYwODRkYTczY2FlNWVmN2U5ODI4YzRiNDI2OTJjIHJlbGVhc2UzMS1tYWludAorODE4NDcgMTk2NmMxYmM5MDQ4ZTRlZWQxYTIwMTBhNWQwZTIyZjkyNjY5OTNhNCBsZWdhY3ktdHJ1bmsKKzgxODQ4IDI3ZDliY2M3ZTY2MWVjYmQ3ZmE3ZWI5ODVjY2NlZWNiODc4ZDk4NDAgcmVsZWFzZTI2LW1haW50Cis4MTg0OSAyY2ZlMTViM2NkZjU1MmMwNzZjNWI2MTJhYjUxMzk1YTgzMjM1MGQ4IHB5M2sKKzgxODUwIGIyYzE5OTU2MzNiZGM4NWViYzBlZGNjZmE3MGNiM2M5ZGUzYmM5MDAgcmVsZWFzZTMxLW1haW50Cis4MTg1MSBkMzJiMGU4MGZhYWNkMWQwNzcyNTM1NjYzOGU0YTc4MmIzNDk5NWQ2IHB5M2sKKzgxODUyIDZmMzg1NTAzODkxOWI2MjJiOTk0Yjg3MWIyOTU0ZWI4MGVjNzcwZGYgcmVsZWFzZTMxLW1haW50Cis4MTg1MyA4NjRhYzdiM2MzZDZjZWYzY2Y1YTJhNjI4MDZhZjU1NDFjY2Y5NjQwIGxlZ2FjeS10cnVuaworODE4NTQgZDcxMTNjYWNkNDI4YjYxYjVkOGEzZDU5N2Q0NmQ3NTI0NmYwYTI0YyBweTNrCis4MTg1NSA2ZTY4NjZjZWMzN2VhMmMwMDdjYzkyNzYwMzk2ODllNmM5YWJmMjFjIHJlbGVhc2UzMS1tYWludAorODE4NTYgOTZhNTEzMzgyNWQyMzY2ODgxODE3ZDc4YWQ3ZTdkY2MzNjQ2Mzk5MCBweTNrCis4MTg1NyBjNjA0MDJmYzA2NmYxMGMwM2E2NWVjMDg2OGU2MTdlNTAyNGJiOWJiIHB5M2sKKzgxODU4IGI2ZWUyMDViOTQ5OGJkMGZlNzNmYTE5ZjM4MjFlZTNkNjM1M2UxYTAgcmVsZWFzZTMxLW1haW50Cis4MTg1OSBmMWFhZGJlYmM1NzcyOTEyMzEyMjhmZGY2MmU4MzkyMTI3NmZlZDc3IGxlZ2FjeS10cnVuaworODE4NjAgYmEyZjJkMDg1MDRiMDUwMDZmMTc1YjQ1ODE0NjZkMzQ1MDgzMTExMyBsZWdhY3ktdHJ1bmsKKzgxODYxIGMxMTQ1ZTY2OGQ3MjA4NjQ0ODhkZGNlMDAxOTViZGFjNTU5NTczOGEgcmVsZWFzZTI2LW1haW50Cis4MTg2MiA4NjVlMzRjZDdlNWI3NjkyOTdjYWRhZTA3MGMwZjFlMjBkODM5Y2Y4IHB5M2sKKzgxODYzIDMzNzUyMzlkNDM3MGUyZTY2ZDg3ZGI0Njg4M2Q2MjEyYTcyZTYxMTEgcmVsZWFzZTMxLW1haW50Cis4MTg2NCAzMjljMTI5ZTA3YjY4YWYyNjI3OWQ0OGU5Y2NmZDhjOGM4ZWU4ODk4IGxlZ2FjeS10cnVuaworODE4NjUgOGY1OGI5ZTU5NjY4OGQ0MmU2NjdhY2U2NGVjZDNjMGFmODMzZGEzNCBweTNrCis4MTg2NiBhMmVhMWEyMzE4NmIwODc2NzAxNjgwODEzOTYxNWZlNmFlNDkxN2FkIHJlbGVhc2UyNi1tYWludAorODE4NjcgZjMzZTQ2NGE5YTYwYWE5ZjA0OTc4YzZjZjBmNTU3ZmVjMDhkNjBlNyByZWxlYXNlMzEtbWFpbnQKKzgxODY4IDViZjczMzZlYTBhYWQ4OWJkMjQ4MjIwYzI5ODRkOTFkNzUxN2UyZWQgbGVnYWN5LXRydW5rCis4MTg2OSA3N2MwY2E2OWQ1MTg0ZDg5MjJjNWUxN2JjNzU1NTYzYWU2Y2JmNzEwIHB5M2sKKzgxODcwIDE0MjlhYzZiZWJjM2Y4ZDlhN2FkMTcwZDkxMjI3NTI0NTRiZjg2MzcgcmVsZWFzZTMxLW1haW50Cis4MTg3MSBkZGI0N2ZkNjEyYTY3MDFiMzdkNWNmMzU2NGUwZWFiMDBkMzU4NGNhIHB5M2sKKzgxODcyIGUwODcxNjI1NzNhY2M2NzY5MjZmMmU4ZmJkYmIxN2I0ZGQyYmI3NzggcmVsZWFzZTMxLW1haW50Cis4MTg3MyBmZTVlZDcwMjgzZWZlNjA5NDFhN2VhYzM1NDg0MTRlMzM5MWQyMDU4IHB5M2sKKzgxODc0IDhjZmEwZGMzOGFhNzQyYjk4MDM5MTg0YTI2YzUwZmJmYzFlZWJjYmMgcHkzaworODE4NzUgZmY1MGQ0NWUwNjE4MTM1MzJkM2Y2MDc2NDg5N2M2Nzk5ZDhjZmMyYSBweTNrCis4MTg3NiBjZDEwMjQyODFiNzMyYmI4NDhlMDliMWVmMDRlNmU0ZmRiNmIwNjE0IGxlZ2FjeS10cnVuaworODE4NzcgZjI5NDQ3M2Q4NzkzMTVmYjMyNmI3NjhlN2RlNDY4ODEzNTJmM2QxZSBweTNrCis4MTg3OCA3ZjU0MGZlNzc1ZmNjZTM1ZGI3ZDM2ZWI4NjVmNTk2ODRjYmRiNGJkIGxlZ2FjeS10cnVuaworODE4NzkgNWZlNGFkNWI1YWI5ZWI3MmEyZmQ4MzA0YWRmZGE3MmY5ZDJmMmEyZSBweTNrCis4MTg4MCBkYmU3YWU2NjZjZTIyOWQ2OTRlOGE5NjcwOTE3MTg0NjczYjhiMDI4IGxlZ2FjeS10cnVuaworODE4ODEgMGQxNjZlNTc4ODRkZjQxN2RhODE4ZjE3YWYwOThjYjc2NTJlNDc0YSBsZWdhY3ktdHJ1bmsKKzgxODgyIGE4ODcyYjY1MDU3NzZhNjRkMGYyNjhkMDQ3ZmY2ZGVjNGY3NjM3MTMgbGVnYWN5LXRydW5rCis4MTg4MyA3MmY3NzQ5MDM3NzIwMTZjZmM3NDM2ZjE3NGIzYmZjYjQ4YTNlZjZmIHB5M2sKKzgxODg0IDllMTJjNjQ5ZDMxMjc1ZjJjMWM3OTRjMWZhM2I0Yjc5NGJjZDc4ODQgcmVsZWFzZTMxLW1haW50Cis4MTg4NSBhZWI0N2QzMGZiYTRlMzhkYTFlOGYxMjIxZTRkMDYyMDQyMzcxZTFlIHB5M2sKKzgxODg2IDA3Njc2M2M2NjdmOTU2NWI4ZTI4MjkxZWVmYTdjNDdjZTRmYjNjNTQgcmVsZWFzZTMxLW1haW50Cis4MTg4NyA4YzNhMjIyZmE2ZDE1OGY1ZmJhZWJhM2M2M2Y1MzQ5MWQ3MWE2ZWVmIHJlbGVhc2UyNi1tYWludAorODE4ODggNGM5OWRhOGMxZTgwZTdmZWNiM2M4NTczZTY3YjIwZDdjOThlZTg3MCBsZWdhY3ktdHJ1bmsKKzgxODg5IDdlZjQ2YTYxZGM5N2ViNzUyZjQ4MDg2OWRlOGQ3MzE1ZmJhYjNkOTUgbGVnYWN5LXRydW5rCis4MTg5MCAzNDIwZGZjNTU5YmJiODNmNDRmNmJhYjcyYzk5MTRhMTFlODY1NmRlIHJlbGVhc2UyNi1tYWludAorODE4OTEgODMxOWNhMGQ1NDM0OTMxMGM1ZWQ3NjYyZDBkN2JlYzVjZjRmODQ2NiBweTNrCis4MTg5MiA0NDY3YzRjMWQzOGVjZmZmYWVjMGYyMjY1MWM1ODM5ZDk1NzAxZTI1IHJlbGVhc2UzMS1tYWludAorODE4OTMgMjY2ODUzMTFkMzEzMjQxMGE0NzcxZDNiNTNjYzlmMTIwZjFlZDg2ZiBweTNrCis4MTg5NCA0YzNiZTc0Y2E1MDEyN2YwNjM4YjY4ZmRlMThjMDU4NGM0ZTc0ZjUxIHB5M2sKKzgxODk1IDNiYTFiNWI0YzEwODg1MDA4NGMxYmRlNDFjOTc0NGFiZWMzMjcxMWEgcHkzaworODE4OTYgZWJjNGU4OTY5MjRlMmE4YzRlMDA3MzZmMDAyYmI0MDdmZjZmNWM1ZCBweTNrCis4MTg5NyA2YWRjODNkOTk5ZDBlNDUyZDAzNjZiOWE0ZDEwYjc4NmQ2ZGQyYzQyIHB5M2sKKzgxODk4IDZmZjg4ZGNhODEzMzk4N2MxNzgxMWRiMTdmZjA4MDYxN2Y5ZWQyMjggcHkzaworODE4OTkgY2Q1OTZhOGY5MWYzNzg2MThjY2I1MTlhMjgwMWI1OThkNzFlYThhYSBsZWdhY3ktdHJ1bmsKKzgxOTAwIGIwOTFhN2U0Mjg1ZjkzY2I1ZmEzZGYzMDE0YWY2MGQ4MzljODZlMTYgcmVsZWFzZTI2LW1haW50Cis4MTkwMSAyYThlZTExZTNlMThhM2Q0NDcxMmE0OTE1NDZjMjA0ZDhiNzBlZDc5IHB5M2sKKzgxOTAyIDczZDgyYjBiNmRlZTRkYTVjZTlkZDVhODg0ZGNkMmQ2YjVhMmU3MDcgcHkzaworODE5MDMgNTBjMjM5MTc0OTc2MTkzOWVmMmExZTM2YzVhOWEyOTFkMjNiZjFmNyByZWxlYXNlMzEtbWFpbnQKKzgxOTA0IDdkYjdmODQ0MjQxNGZjNGI4N2FlMjlmNmIwMTY3NDJkZTc4NDg4NmQgbGVnYWN5LXRydW5rCis4MTkwNSA5ZGFjNTgxNjNiNzk5OWFjNTMwOTdhNzdmNzlhMjhiYzMyNzE1OWI0IHB5M2sKKzgxOTA2IDY2MTUxOWZlYzNiODY4OGZjNzUwODVhN2IxOWFiMDM0Y2I2ZjM1ODEgbGVnYWN5LXRydW5rCis4MTkwNyA5ODI0NTQ2NGI2NjU0YTA1ZGE4NTQyMjNhYTkxYzJhMmI1NDBhNGZlIGxlZ2FjeS10cnVuaworODE5MDggNzU3NjI2MGQxYjY1NDE1MDA1ODJmMmU5ZDIzYzA3Mjg0YTA3MTAzMiBweTNrCis4MTkwOSAyMmMwNDVkMWJjOGNjZjkzY2YyYTQzMDFiNDBhMTI3MjI0OWQ3NGVmIHJlbGVhc2UyNi1tYWludAorODE5MTAgOGQ1ZGQyMjc2NjgwNTY0ZjczNjUwZTE2NGY3OWY4YWJhMGYzMWQ0YiByZWxlYXNlMzEtbWFpbnQKKzgxOTExIDg4YWVjNTEyNDE4NWRmZTQxODIxZWY4MTU1OTBhN2IyMzMzYjU4Y2IgcHkzaworODE5MTIgNDRkYzk4NTAyYWMzMjNhNWNkYzkxNTdhZGE5NmNiMTk5YTg2Mzg2MyBweTNrCis4MTkxMyBhNjUzZTMwNjEwOGY1MzQzYWNiZTZiODY2NGU2MTAzZmMzYjYyNmM3IHJlbGVhc2UzMS1tYWludAorODE5MTQgYmQ4YTFmZDRjMzE2ZjIwZGVjNTNmZjkxODVhMTZjZDNhYmM5YmFlYiBweTNrCis4MTkxNSBjOGJjMmQ4ZTlhZTFjZmM2YjkwNDFmZWY3MGE3YjcxMDEwMjdmOWUxIHJlbGVhc2UzMS1tYWludAorODE5MTYgZjUyYWVmZGFiMTgyMGU2OGEyZTY1MjNmYzZkZWQwNDgzZDE4ZWQzYyBweTNrCis4MTkxNyAyYjJmNTUzZjFjZTYxMTA1ODQwNGYxYzYzYTIxNWJmYzMwYWY4YWJlIHJlbGVhc2UzMS1tYWludAorODE5MTggZjYwYWFmOTliODM2YmY2ZWVlMTgxNjk5N2M0MDg2NmExZTc2NWQ1NiBweTNrCis4MTkxOSBhMjU1MWIzMGYwNDk2NDk4NTNkNDE4MTg0ZDI5NzZjMmJjMzIwODcwIGxlZ2FjeS10cnVuaworODE5MTkgZmU2YmUwNDI2ZTBkMzUzZGI4NGVjODY5YTViMDJkYmJhNmMzZDRhNSByZWxlYXNlMjYtbWFpbnQKKzgxOTIwIDAxNjdmOTE3MjFhODRjNjE4ZmUyM2E5Y2M1NjRmMDU4YWQyOWIwNDUgcHkzaworODE5MjEgODYyNDU4MjgwOWY5YzcyZDRlMzQ3ZGM1YTVjZjljODMwMmEwYjg4ZSByZWxlYXNlMzEtbWFpbnQKKzgxOTIyIGQ5MjgyMDY1ZjVjOWViYzI0ZmRlYzcwMzM1ZGNlYjA2YjhjZTJhMzcgcmVsZWFzZTMxLW1haW50Cis4MTkyMyAxMzdkYTdjZTVlOGVkMWJiN2FmNGY3NDY2ZjU1OGNjOGExNDU2OTM1IHB5M2sKKzgxOTI0IDcyMTY5ZmZlMzJhMDJjZTFkZWY3NGRmN2EzMDMwYWE2NDQ1ZmE2YzUgcmVsZWFzZTMxLW1haW50Cis4MTkyNSA2ZWFhNzliZTA0NDlmZDA0ZjZkZGE3YjAwYWEyMTg1NzlkOTM0ZWNjIHB5M2sKKzgxOTI2IDEwMzE5MjE3YWY0NDMwZGY0ZmVlZDVjMWU3ZTFlYjYyNmNhNTM2NDIgcmVsZWFzZTMxLW1haW50Cis4MTkyNyAzMDIyOTA0Zjk5NzExYmI5N2UyNzFjOWYwMDAyMWY1Y2ZlY2YyMjg4IHB5M2sKKzgxOTI4IDgxNjlmMzNmMjI2ODhmMjRhMmE0NmI2ZGYzZTljYTQ4YmEwMGM0YjEgcmVsZWFzZTMxLW1haW50Cis4MTkyOSA0NDRjMDI1ZTI5OGRhMzY5NmVmMDkwYjhhNWI0MmFhOGIzNDhhN2ZjIHB5M2sKKzgxOTMwIGU4MGRhYjNlOTA5ZjdiMzNiOTEzY2JiYmRkZDI2NzJlZjE2NTBkODYgcHkzaworODE5MzEgYTEwYTdjZTk3ZjQ1YTdiNDg1YTY0N2Y5MTEwNzE4Mjk4YTdiZWViZiBsZWdhY3ktdHJ1bmsKKzgxOTMyIDg0ZGFiMjliZGVhNzBhMzkyMzE4NDM4YzkxNzY2ZWJlOTQ5YTY5ZGQgbGVnYWN5LXRydW5rCis4MTkzMyBjMmI5MjM4MzRkZWE3NWRlYWU1YTM2OWNjNjNkZThiYWI2MzBmOWNiIGxlZ2FjeS10cnVuaworODE5MzQgNjFkNGNjNjc4MTY1NWRlOTk5YzZiOGU4MTc1NzkzOGRlZDlkYmM5OCByZWxlYXNlMjYtbWFpbnQKKzgxOTM1IDgwMTEwZmQ0MzE5MTE5MjkxOTg2OTU4NjRlOWQ1MzE0ZDMyMjk5MWIgcmVsZWFzZTI2LW1haW50Cis4MTkzNiA2Y2U3ZWJjZjkzNThkZTVmOTU2MzI1MWFlM2JiOWNkOWExNTdjOTYxIHB5M2sKKzgxOTM3IDUyZWIwYzA5M2I2ODg3YjlkZTg2NWFiYzY4YWU1NzVhMDg5ZGZjYTYgcHkzaworODE5MzggYTQ5MGFhMzAzZDhhZGRmYjgzMDIwOTVjN2MwODYwNDcxMTAzNTQ0ZSBweTNrCis4MTkzOSA0ZTlkZDZkODAwNjM4MGRkYmY1ZDllOThiNTU1MzFhZmFiNTQ4YmYzIGxlZ2FjeS10cnVuaworODE5NDAgMzFmMDFjODgxYzQ2MGYzNmMwNjlhYjMzZmI1N2FlZjAyODEwYmNhYSBsZWdhY3ktdHJ1bmsKKzgxOTQxIGFjYTEzYTVkNjE0NGQzOGI2ODYyNmE4ODk5YjZlYTJhNmFiZWI1MTggbGVnYWN5LXRydW5rCis4MTk0MiA0MWVkNThlZDVjOTNiYWMxZDY4ZTU5NjNhNGNjZmE5NjVlOWQyY2FhIGxlZ2FjeS10cnVuaworODE5NDMgOGYyN2I2MWE0MGZhOTkwNTMzMWE3MzAzOWM4ODA1NzBiZmMzNWE3ZiByZWxlYXNlMjYtbWFpbnQKKzgxOTQ0IDYwNmJhZDU4NDM0NDY0ZDMxY2EwMGI5YWU5MzE3OTBhZDAwZjJiNzMgcHkzaworODE5NDUgZGI1NTE2N2ZhNWU3OTg4OGU3N2RiNDc3NGM5NTdlODc5YWQ1ZTI5ZiBsZWdhY3ktdHJ1bmsKKzgxOTQ2IDUxNjAwNDhkNTM2MTcxMTBjMTgzYjNmOGU5MDZiNDExOGVjN2M2NzIgcHkzaworODE5NDcgYmQ4NmJiYTVlZDMzYTAxZWIzMzU5NWJhOWI2YTEzMzk1M2I3Y2Y2MSBweTNrCis4MTk0OCBlNTVmYWQzZDVhZTQ4NGM0MWNkMTcyZThhYTlhODNjMjQ0ZDI3ZDM3IHB5M2sKKzgxOTQ5IDk1NTBlZGExYzA5NjRlNjRjYjZkNzYxZTgzMWY1Y2M0ZmViNTU2YmIgcHkzaworODE5NTAgOWIzMzNiZjA4ZDQ1Zjc1YzBiNjkxYzAwYTgzNWI3ZTgzZmJkZDVlYSBweTNrCis4MTk1MSA0NGNhYzVjNTY1YjdmMDk5OTMzNjc1ZWU5YWM2ODQ0NTA5ZmNjMjMzIHB5M2sKKzgxOTUyIGQwNjU3N2RiNzI3ODUyYzUwYmJhNDI5NmQ5ZDM4MmMwYmQ3MzdkNjQgcHkzaworODE5NTMgNzNlNTM1NGY5MmU3MTQyOGFjYzEzMThiOGU4ZDQ0NzU3OTI0MmU5ZSBsZWdhY3ktdHJ1bmsKKzgxOTU0IGUwYzRkYWRkZmM1NDY5Y2VkMDc3OTBkMWI3NzkwNzU2OWQzZGYwZTYgcHkzaworODE5NTUgYjkwZTMzNWE2MDlhOTc5MWM1ZDk2MDI2Yzg0ZGU1ZjUwNDlmOTkyOSBweTNrCis4MTk1NiA4YmMwYmYyMjAxNGQ4MzFhODQ0YjUwZDI4NWQ5Zjg3YmY2M2RiZDFjIHB5M2sKKzgxOTU3IDBhNTVhZGU2ZDg1NzgxYzM4YzgyMGJmNzZiMjI2NjAzNTk3NjgxZDQgbGVnYWN5LXRydW5rCis4MTk1OCAwYjJlMGI2ODM5YTI3MzViYzhmMjFjOWFmZjkzZDBmZjNmMTEyZDY4IHB5M2sKKzgxOTU5IGIwMGM3MzY1NTVkZTcwZTNjZDJlYWE0N2MwMmFjNDdiMjU2N2M5MGIgcmVsZWFzZTI2LW1haW50Cis4MTk2MCAwZjVkMTE0ZWZmMDE0NDJhM2IyMTBjZGZmZWNjOGNjZTg3MjNmYzBhIHJlbGVhc2UzMS1tYWludAorODE5NjEgZTU4NWIyNDMxYzRhNTQ2OWQ1YjQ5OGI2MmE4MGNlYThkNTdhYjNmNSBweTNrCis4MTk2MiA1Mjk1YjRkYmYzNTVhODRkNjkxMDg0ODdlMTU3NzU3NTU3ZTEwOTcwIHJlbGVhc2UzMS1tYWludAorODE5NjMgYjllY2RjZWMwZmYwZDhiZGMxZjg4ZTQzZGQyNTBkY2JiMjZmMzE2YSBsZWdhY3ktdHJ1bmsKKzgxOTY0IDhmMTM3YTVjNDEzY2EzMTYyN2U5Zjc5ZmRlZTc5ZTMwNTI2NDZhOGQgbGVnYWN5LXRydW5rCis4MTk2NSA3YWM2MTQ4ZTZhN2Y4NGE2YmRlZTRhZTY5NWE3MjJjMzQwMDIwZjM5IHB5M2sKKzgxOTY2IDRlYWMxMzVhMzNhZmQ2OTRkMzcwMzg1MmU0M2RkZWJjZjhhOTZiYTMgcmVsZWFzZTMxLW1haW50Cis4MTk2NyBjZmYwYTkyMzE0MGJlOGVjOGI3ODhmYjhhZmU2ZTZjMTE3Y2EwYTNjIGxlZ2FjeS10cnVuaworODE5NjggZDA2NGU4OTM0ZjRkMGNjZTA0Yzk1Y2E1YTgwZjkwZTU4MWZhNWE0OCBweTNrCis4MTk2OSAyZTUyZmJjYWFhNzNiZGRjMjMxMTgxNTI1MjlkNTEwZTFhYjNjNTQwIGxlZ2FjeS10cnVuaworODE5NzAgMTM4M2I4NGIxN2FjZjc2Y2U1MWY1NzMwMGExNzExOTkyNGI5MzQ1YSBweTNrCis4MTk3MSBmODJkOTZiOWYwM2VkYWFhZGVjYjQ1ZWI0YWUxNTMyN2RkZmMxMjM3IGxlZ2FjeS10cnVuaworODE5NzIgYjA4NGMwYTkzNGE3ZTk2MzgxNzQ5ZDhmNWY3Y2FjYjA2ZTVkYWJmZSBweTNrCis4MTk3MyBiMzJhMjgxNmY2ZTljNzg0NDM5M2JkZjUxMmQ5ODc0Y2UyYmRlYzUzIHB5M2sKKzgxOTc0IDA4NDBhMjgzYWY1ZjlhYjYyZWRhZWNiNzE5ZDhlZmQ4Mzk5MmQ0ZjggcHkzaworODE5NzUgOWNiOTAxNjliMjVhODYzZGY3MmRmOGY1ZjU4ZTc1MjFiYTZlNTAxMiByZWxlYXNlMzEtbWFpbnQKKzgxOTc2IDk5YjgwYzI4OGZhYzQ1ZWVkMGY4MjNlNjcyZWU2Yjc1YzVkNWUyMjUgcHkzay1jZGVjaW1hbAorODE5NzcgOTJiOGI2Nzg0NGUxMDE3ZDY2ZTY5ZjgzZTY3OGE4NmIzYTQ4MDA4OCBweTNrLWNkZWNpbWFsCis4MTk3OCA4NjdiOTc2ZTM0OWRhZDIzOTk3YTg3ODE1NTAwYjEzZGFmZTdlYzFiIHB5M2stY2RlY2ltYWwKKzgxOTc5IDA3MjNlZTE5NTQ3Yjk1NjE1YzA2ZGMxMTU0NTdjNzJjM2IwNWFhNTIgcHkzay1jZGVjaW1hbAorODE5ODAgZDc4YjE1ODA4NzEwYTdkNjc1ZDhiYWY5NDEyMjM4ZTAxZmFjZjEzOSBweTNrLWNkZWNpbWFsCis4MTk4MSBiNzhhOTE4YjdhMGVjNjRiZTg5YzJjOGRhY2RmMGZhOTVhYWMxNmQ1IHB5M2sKKzgxOTg0IDliZTYwYzE4NTAzMmE2NWUyMmE1OTYxODk0ODJiNDc3MjdjN2QwMWUgbGVnYWN5LXRydW5rCis4MTk4OCBlZjVkZTU2ZjI0YzY0Y2RlMDYwNGIzZjcxMTQ1ZjMzN2IyMjI1ZjAxIHB5M2sKKzgxOTg5IDYyM2I3MzgxMTZkMjQyZjBiYmNiZmJkYzVkNTkxNmU3YTMyMGYzM2MgcHkzaworODE5OTAgOTViNWNhMjQ2OGNjNjBhMmNkMjQ2NGIzZTMzNzk5NWQyMWY0NzFjNiBweTNrCis4MTk5MSBhNTdkNTljY2NiOGZhNWNlYjJhM2EyM2QzMTU3OTgxM2UwMWE2MzMxIGxlZ2FjeS10cnVuaworODE5OTIgNmY5YjBjMjQwMTkxZGY3M2MyZjEwNTdiMTk2MjE2YjYwZTkyZGQwZiBsZWdhY3ktdHJ1bmsKKzgxOTkzIDhmM2ZjYzIzOTc4MWI3NjRjMzUxM2IxYWZmYWEwZGY4YjA4ZTMxY2IgcmVsZWFzZTI2LW1haW50Cis4MTk5NCAwZWJjNzJlMzY2YTFkOTZmYjhlOGNjNjk1NWY3Mjg4YTllODRjY2FkIHB5M2sKKzgxOTk1IDdhYzBmNjdlYmJiYTg5NGJjZDliMGI2NWZhOTNhNjM2N2I2ZmI1ODYgcmVsZWFzZTMxLW1haW50Cis4MTk5NiA5MWJiNTcyYjc1NmUwNmQ0NzZkNmJkYTAwYjA0ZmM4ZTk4MDYzMzU2IHJlbGVhc2UzMS1tYWludAorODE5OTcgM2VhNjZlM2ExMjlhNGY5N2IzYjdjNmM0ODVlNzI3ZGQ0NWNjMDQ4OCBweTNrLWNkZWNpbWFsCis4MTk5OSBlNDNhYjUyYjU3YjIzNDM5ZTk4OGVjZjM0YjRkNzVlOGE1MGM1MjNiIHB5M2sKKzgyMDAwIDMyYzRmZmY0NDVhZDJjZmZmMDk3YWM4ZmU0ZjMzOWE1MzI1MGYxODMgcHkzaworODIwMDEgNDlkZDU5OTE1MGNhNzE1YzIxZTBhNzlhYWNhZDY5YzZmZTkxNjQ1YSBweTNrCis4MjAwMiBmYTg5NzczMjRlZDg2NzBhYjBhZTE3ZjU5YzJmMTkzMjU0YWMzNzhhIHJlbGVhc2UzMS1tYWludAorODIwMDMgZjE5YWU1Y2VjOGNlNzlmMTYwNWY5M2JiMWI1ZjU2M2Q4YWI4MGIzYiBweTNrCis4MjAwNCAzNTRiNzUxZTQ2ZDYxY2I3MWY1OTQwYjAwODg2MjQ4YWFlYTc1ZGQ2IHB5M2sKKzgyMDA1IDM1NmQwZWE4ZWEzNDdmMGQ3ZDBhZGFhNzY1MTZhMjVlNmM2Yzk5ZjAgcHkzaworODIwMDYgMjQ2NmFmZWQ2ZjVlY2U2OWUxNTNiYTYzZDcyZWFkN2U4YzBlMzUxMSBweTNrLWNkZWNpbWFsCis4MjAwNyBiODQ4ODczOTg3OWVjOThhNTAxMzNlMTc4ZGU3NGI0MGRmOGUyYzJmIHJlbGVhc2UyNi1tYWludAorODIwMDggODE4NTVjZWRjMTU2ZjU5OGNiNjkzOGQ3ZDhhZTU4NWI1MWUwNzc2OCBweTNrCis4MjAwOSA0OGY1ODU5NzYwZWY0YTNiYjI4NWY2YjdlNmY4M2U3OTE1NDMzNTU2IHJlbGVhc2UzMS1tYWludAorODIwMTAgOGE4N2M1YWZhZGRhYmUzMTU4NjYxMGNkNjk1ZmE0ODFiZTExMDc0ZSByZWxlYXNlMjYtbWFpbnQKKzgyMDExIDU4NDEzNjc2YmVmYjY0YmMzMDk0N2E3ZTkyNGJmYjVlY2EyZDNjNTIgcHkzaworODIwMTIgMjJlYTY5NmFhNzdhYzYzZTUzZDIyYjZjZGQ0NDM0OTFjMzAxNGVlYyByZWxlYXNlMzEtbWFpbnQKKzgyMDEzIDdiYzgxZjg1MzVlYTQxNjA0YjRmZDlhOTc4OTUwODZkY2IzNDczYzcgcmVsZWFzZTI2LW1haW50Cis4MjAxNCBhZGI4YzgxY2MzOWE0NGYxMzAyZjQ4OTI1NmI0NjNiYWNiOWZmNTI3IHB5M2sKKzgyMDE1IDlkYzg0YzQyNGU0MTM2NTdhZjg3ZjM4NzkxNmNkNDc1YjQ2ZWVmMGQgcHkzaworODIwMTYgNDIyYTE4M2UwYmJkY2M3MmE4MDY1ZDM4MWU5NjRiNTc4ZDc4MGMzMyByZWxlYXNlMzEtbWFpbnQKKzgyMDE3IDAwMzBhNzQ3MDY2NjAxMTZiZGIyZDNjYzA1NGU5N2YwZGRlNGJiMmUgcmVsZWFzZTI2LW1haW50Cis4MjAxOCA4NGZlZmJmMWQ2YzA4MGIyYjE1MTMxYzJmODRlYjk0OTYyNTBlNmUzIGxlZ2FjeS10cnVuaworODIwMTkgZTc1MzU2MmNjMDIzYzAzZjFhYWEzNTA4MjRiMDU1Y2NlZTExNGJjOCByZWxlYXNlMzEtbWFpbnQKKzgyMDIwIGM0MWNiNDg0ZjA5MDZjZTBmNmMzNzY1MzlkYTczNmU0MzVlMGMxMmEgcmVsZWFzZTI2LW1haW50Cis4MjAyMSBkMzBmNmM1OWY4MTA3NTc2OTFmNTNhZTBkOWFkOTA3YjU3Mjc5MTcxIHB5M2staml0Cis4MjAyMiBkMzM3N2ViZDNlZTU0ZmZkNzdmYWFiZjI1MTBhNmEyMWMwYTYwMzg2IHB5M2sKKzgyMDIzIGI0MjM3NzAzYTBjYzUxNDExZmVlYWYwNzljYzQ5ZmQzMWRiNjhlNDEgcmVsZWFzZTMxLW1haW50Cis4MjAyNCA4MTEzNWNjZjVmNTVlM2UyMGRmNmZhOWQ1MGUzNzVlNzI3MzlhNWFhIHB5M2stZHRvYQorODIwMjUgNTVlMjRjMjQzZTJmMWE4N2NiOWMwNGFhZjMwNmNhYjM5YjcyNzQ2NiBweTNrLWR0b2EKKzgyMDI2IGM2ODQ1ZTgzMDg2ZjVmODMxNTg5Nzg0ZmQyZDQ5MDljMTljNmFlZjEgbGVnYWN5LXRydW5rCis4MjAyNyBkYTNjNDc5NGQ2ZGQ2YzUxOTk3NmY5ODRlY2ZhNmM5NzZmMmExODZiIHJlbGVhc2UyNi1tYWludAorODIwMjggMzQ2Y2UyNTVhNTJmZWYxZGVlMWM2YWYxYmM0MmQ3ODVkMmNiMDVjNCBweTNrCis4MjAyOSBlNGQ1MDY0MGYwNzc3YzQ3ODZmNjE0M2JiY2Q0N2JjYTAxMDM5NmM4IHJlbGVhc2UzMS1tYWludAorODIwMzAgNzM1NzgyYTI3NWY1MGE4NTRjN2I1MThiNmRjNTkxMmUzNjdkYmZiZSBweTNrLWppdAorODIwMzEgZjM0MTM1NTNmOGY1ZWExYTI2OTJiZGQ3Njg3NTcyOTY2MmY0NGJhNyBweTNrLWR0b2EKKzgyMDMyIDg1NjI3Njk1MmUwODYzOTdhNTA1N2QyNjdkNGI1MjI0ZDNjYTUxOWMgcHkzay1kdG9hCis4MjAzMyBiY2MwYTk5N2YzMjFmY2FlMWQ0ZTE0MTE3NWNlZGY2NTZmYjEzNjcwIHJlbGVhc2UzMS1tYWludAorODIwMzQgNmQzYjA1YTQyOWI1YWNhNWUyZjUwZmM0NDE5YWU2ODBjY2E3N2JlNSBweTNrCis4MjAzNSAyZGQxZmU3MDQ3ZmZkOWZkNzY2YWZiZjVhZmIyMTY4ODYyNGZhOTIwIHB5M2sKKzgyMDM2IDFiMDhhNTQxNTUxYWFkODY3ZWM1OWY4YjRjYWFiMzJlNGZkYWQ5MDEgcmVsZWFzZTMxLW1haW50Cis4MjAzNyAyODNkOTQ3MmRmNGVkM2I3YTViZjgwMDRmNGYxZDZlMWI4MzAwOTVmIHB5M2sKKzgyMDM4IDgwN2NkZWE0NzgxN2JiZTc4MmU3ODY3MTRhMTJkODlmOGQxYWM5MjggcHkzaworODIwMzkgMDE3ZTYwYWU2MDVmNGJlMWUyMTM2NTJhZTAxNTM5MDk1YjVmMmU0NSBsZWdhY3ktdHJ1bmsKKzgyMDQwIGY1ODg5ZjJhYzM5YmIzOGUyMjY5MDUxZDMyNTYwOWQzYmY5OGYzNDUgcmVsZWFzZTI2LW1haW50Cis4MjA0MSAyYmIwYTI3YTNlMzVjNDI3Y2EwZmZiMzcyNTg5MzhhNzFkYjhlNGY4IHB5M2sKKzgyMDQyIDhjYzBlMWM5YmE2ZDYwOWZiOGE1MzViNzNkMDdhMzgyNWNjMWFiZTggcmVsZWFzZTMxLW1haW50Cis4MjA0MyBjYjQ5OTdiNmFhOGJlNjk4YjlmYTg5MzlkMTVhYWUyZjdjYTU2YjNmIHB5M2sKKzgyMDQ0IDJjYzA5ZjA2OTUwYjA0ODI1ZTIzNzZlM2UxMGFmODM1NDU1NTI3N2EgcmVsZWFzZTMxLW1haW50Cis4MjA0NSA0ZDI1NjM5YTNiMTRiZDZiY2UyZDhmYzQ4MGUwMGE2YTFlZGQ5M2VjIHB5M2sKKzgyMDQ2IGIxZDZjY2FkOGVhZDY2NjY0ZjA2YjBiOTc4OWI0ODBkMDdhYWI0ZTIgcmVsZWFzZTMxLW1haW50Cis4MjA0NyA4NGVkMzQ0NmEyOWExYjgzMGY2YmFlN2QwYWYzNjBkNTdhMTljNTIwIGxlZ2FjeS10cnVuaworODIwNDggMTc2NGUwYmU0ODRjNmM4MmY0MDBjOWEyNmIzNWE4MjUzN2Q1ZGE5ZCByZWxlYXNlMjYtbWFpbnQKKzgyMDQ5IDJmZTA4MDJjNDJjNzQ1ZGNlNzJjNWZlMDc4MDVmMWYzMGI2MjMwN2IgcHkzaworODIwNTAgYzJlNzNkODQ0ZDgyMmJkMzJlODRkZGJhYTkzMGQ5YjU4YmI2NmVjOCByZWxlYXNlMzEtbWFpbnQKKzgyMDUxIGM0OGRkYzk2ZjQ1NGFlMjhiNDJmYjg2NTdiYmU1YzU3MTVmZTVkOGMgcHkzaworODIwNTIgNmJmZGNkMjVlZWE3MGRmMDNlM2NiMTMyNmRlOGMzMDBhYTE0ODY1MiByZWxlYXNlMzEtbWFpbnQKKzgyMDUzIDVjMGQ4YzI4NGMzMmRjOGU3YTAyNjkzZjI5MmQ4YmUwZTYxODc1ZDcgcHkzaworODIwNTQgNmE5OTkwZWY0YTZmNWU5NzMyYTM5OGIxZGFiMjdkODMzOTFjMzBjYSByZWxlYXNlMzEtbWFpbnQKKzgyMDU1IDQ2YWI1ZTRkYmE2YmFjN2QxZTdiYjIwZGJjZmUwMDA1ZTI4YTY2M2IgcHkzaworODIwNTYgMWRhNzczM2U4ZjI0NzMxYTBiODhkYmQ2OTA3ODA0Y2EwMmExMWRjMyBsZWdhY3ktdHJ1bmsKKzgyMDU3IGYzZGQ5MzA2NjViZDE3OTM2MzA4ODEzMzA0YTJjNDA4NGM1YmIwOTEgcHkzaworODIwNTggZGExYWFmYTU1YWUwMjM5ZWU1MjZmZWM4NGE0YzQwNDI2NmExMzFjZCByZWxlYXNlMzEtbWFpbnQKKzgyMDU5IDkwN2Y1NjQ0NzZiZTY2OWViZWFlZDQxOGVmZWFkMmViZTYwYmZjYWMgcHkzaworODIwNjAgNTljNjBhNTliMjdhNTdlN2M0ZTE2MmI2YmVkMjY0ZGYwMmM2ZmRiNiByZWxlYXNlMzEtbWFpbnQKKzgyMDYxIDlkNGQ0YWMwYTdiZmU4MTE3NGFmNGQwMTE1ZWNmZDBkNGE2YWMxOTAgcHkzaworODIwNjIgMDc0NDliMzY3OTM1N2RiMmVlYTk2YTgzMDJkZjg3YzAzY2JhNWI1YyByZWxlYXNlMzEtbWFpbnQKKzgyMDYzIGZhODMwMzcxYzcyNDE3NGZiYTFiNTNhMDk5MWYwYTNkNTE4ZDIxMDYgcmVsZWFzZTMxLW1haW50Cis4MjA2OCA0ZDY5YmRiNzFjOWFkNTFjZGM2ODY5NjQ1MjZjMjU2ZGJmMjc4ZDNkIHB5M2sKKzgyMDY5IDQ2MzU2MjY3Y2U4ZmJiNTlkOWIwNjc1Mjg4NTdkYTgxMDJmYWQ1YTYgcmVsZWFzZTMxLW1haW50Cis4MjA3MCBlNWY1MDA4ZmQ1NmQ1MGY0OTgwM2I1ZTVkYjJmODliYjcwYjkyODM3IHB5M2sKKzgyMDcxIGJmOTRlYjhmYWY2MjUzN2ZkNzQ0NmJlNDNkODljOWIyMmIzNTM1ZTYgcHkzaworODIwNzIgZWEyNTEyOWI5NGZlZWM1MDA5ODQ4MmM0ZWZhODI1ZWQ3MWQ1MzY1NiByZWxlYXNlMzEtbWFpbnQKKzgyMDczIDkwY2MyNjY3OThhMjRmYzUwYzE1Yjc2MjFjMWIzNDg0ODkyMDExNjQgcHkzaworODIwNzQgYzU0ZGQ1NzZkZDA1NTQ4MmYxY2MxNzMwNDRjZTdlZDBkNThkNjM2MSByZWxlYXNlMzEtbWFpbnQKKzgyMDc1IGRhNTU4NDYxZDlhOTRiYjdlZTllNzlmY2MyYmMwZTI0ZmU4YWU3MDggbGVnYWN5LXRydW5rCis4MjA3NiBlZjhhMmFiMjZlOWZlZmVmYjM5ZjU3ZjlmYzMyMGFmOGZiOTRjOTgxIHB5M2sKKzgyMDc3IDFmMGUwNzgxZjczZTQ2MWIxYTU5OTBiMTViMWViNTlmODlmMzk4MTkgcmVsZWFzZTI2LW1haW50Cis4MjA3OCA1ZGU1MmViMjUyZGE3MDZkYTNmNjk1NGQ1MGUxZTg0YTdjMTNjMGY5IHJlbGVhc2UzMS1tYWludAorODIwNzkgZGQ3MDA1MTQ1ZjZlNjVmMjM2ZWFiNWYyMDg1ODc5OTNiMmIzZDNjYiBweTNrLWR0b2EKKzgyMDgwIDE4YmNmNmMyZDFlMzdiMjgxODE0ZjQ0NDA1OTRkOGJiN2ViZDM1YTggcHkzay1kdG9hCis4MjA4MSBmNjc2N2RkZTliMjk4OWI4N2ZmMDYzMTY2MGM3YTc5Njg2YTRlMjVjIHB5M2stZHRvYQorODIwODIgYjRhNWE4NjllMWM1OWQ4YWYzNTk5OWEyNjZlOGVkYmM4OGE2NzdmYyBweTNrLWR0b2EKKzgyMDg0IDNhZmM3ZDhhNDQ1YWE1YWM5NWYyMTdjNTM4N2M2Mzc5YjVjNTc1NWQgcHkzaworODIwODUgMGRhNGM3ZDFmM2VmMjMzZTVhMzQzZTY0ZmQ1YzI5NDlkZGQ1NzczZSByZWxlYXNlMzEtbWFpbnQKKzgyMDg2IGI5MDE5ZjBkZDg5ZDNlMTc2OTEyNTJkMTI4ZjEwYTgzNWYxMGJkYWUgcHkzay1kdG9hCis4MjA4NyA0MjliMzI5YTAzZjgzMzRhNjI4Y2FkY2YyZTNhNjMzZDEwMGYyYTQ5IHB5M2stZHRvYQorODIwODggMzQzMDA1YzRhNGUzZjVlMWUxZGEwNjk5OTYyNjcyYWM2ZjcyMjE0NCBweTNrLXNpZ25hbGZkLWlzc3VlODQwNworODIwODkgNDQ2YTk2Njg1OGYxNDgxZTcwNDdiZjAyN2VjMjc2ZTQ1YjcyMmVmYSBweTNrCis4MjA5MCBjNGY1YzczNGRhNmU0YzEzN2FkMDYyNjkzM2EwMDg3NmM1OTg0OGMyIHB5M2sKKzgyMDkxIDVhMjhjNmNiNDc1MjdiOWQ0Nzc5M2ZlYmQ4ZmFlMDhkNzM0OTM1MzUgcHkzay1zaWduYWxmZC1pc3N1ZTg0MDcKKzgyMDkyIDA2OTUzNWU1MGE5ZTRmZGQ0ZGYwZGI2YmRlNmZmOTEyNTVmNTljYzUgcHkzay1zaWduYWxmZC1pc3N1ZTg0MDcKKzgyMDkzIDQ2NmMxNjJjNzMwYzIwY2Q0ZGM3NmQzNGRkYWFiZTRmMmY5YTY3MzMgcHkzay1zaWduYWxmZC1pc3N1ZTg0MDcKKzgyMDk0IDg5YTQyZTA3MTNkZGI5ZWViMDlkZjUwMTMwYjNhYmJjYjk4NDlmZTIgcHkzay1zaWduYWxmZC1pc3N1ZTg0MDcKKzgyMDk1IGVkMDc3NDBjNzY2N2FmZjllOWE3MGZhNTUxYzA1MzExZTc5OWM5ZGUgcHkzay1zaWduYWxmZC1pc3N1ZTg0MDcKKzgyMDk2IDg4MGJkZTVhYjdjNTQzNDUzMWNkNGQzMjY3OGJjN2U3ZmI0NjAyMGQgcHkzay1zaWduYWxmZC1pc3N1ZTg0MDcKKzgyMDk3IGFjNWY1NTM3YzczYjZkZTQ3NTRjZTkxNGUwY2I3ZDE4ZDI5NDBmNWUgcHkzay1zaWduYWxmZC1pc3N1ZTg0MDcKKzgyMDk4IDgwZDQ4MDA3NzQzMzllZWI1MmJmNjlhZDZjNzYzYWZlOGY2YmU3NjYgcHkzay1zaWduYWxmZC1pc3N1ZTg0MDcKKzgyMDk5IGY3M2ZhMzVmNmYwNWRlNDViNWRhNjgxZGYwOTM1MzNlNGM5NDA2NTQgcHkzay1zaWduYWxmZC1pc3N1ZTg0MDcKKzgyMTAwIDM1ZjgwMTUyNjI3OGQ0YTRkMjY4YTI2ZGY3YzY4Y2NiMDFmYjQ4ZTkgcHkzay1zaWduYWxmZC1pc3N1ZTg0MDcKKzgyMTAxIDVjZmUwNWYyYTRlOWM1NmFjMGNhMzYyMDM4NTU1ZDUwMzJjZjlmMmQgcHkzay1zaWduYWxmZC1pc3N1ZTg0MDcKKzgyMTAyIGNlYzFiNTU4NDUxN2IwOTc1MjdlMzRjODI1OTVkNjk3NDkzMmY1ZDcgcHkzay1zaWduYWxmZC1pc3N1ZTg0MDcKKzgyMTAzIDgwNjEzZGNmODA5MTBkNmQwYmFlMzk3Mjk1M2UwMDUzNzFjYjE4MDcgcHkzay1zaWduYWxmZC1pc3N1ZTg0MDcKKzgyMTA0IDQ4M2YzNjJiOGVjMzA0MzgzMmE2MTE3ZjQ0NWE1MDNlODY1YTk3MDAgcHkzay1zaWduYWxmZC1pc3N1ZTg0MDcKKzgyMTA1IDMwNjMzNmExY2UyOTExNzBhZTM4MDQzNjRlNGZmZTE2ZmZiYmM3YTYgcHkzay1zaWduYWxmZC1pc3N1ZTg0MDcKKzgyMTA2IGE1NmZhYTZiOGZhMDJmZDY2NDljMTE5ZTY1ZTViZjlmNjdlMThiNmIgcHkzay1zaWduYWxmZC1pc3N1ZTg0MDcKKzgyMTA3IDE5OTFhOWFhZmY1ZTM5ODUxNTIyN2UyMzU0NTZjNjJlMjA3M2U2M2EgcHkzay1zaWduYWxmZC1pc3N1ZTg0MDcKKzgyMTA4IGI2MTQ2NDdhMzQwMDUyYjcxNzNlMDEzNDVlMjZkYmE1YWI1NmE4YTkgcHkzay1zaWduYWxmZC1pc3N1ZTg0MDcKKzgyMTA5IGViYWMyZWI3MjU1YjY1NTNiMWU3M2Q3ZGQ4YmE1OTlhNjA4NDg4YjggcHkzay1zaWduYWxmZC1pc3N1ZTg0MDcKKzgyMTEyIDkzODk2YTA5NDZjMmVmNTg0YTk3YzUzZGYwNTk0ODg2M2E3MjJiMDcgbGVnYWN5LXRydW5rCis4MjExMyA1Yzg0ZmNjMWQ5MDZlYWVjOWI1ZmQ0MDAzNWQ3YjUxOTIzMTlmMGNjIHB5M2sKKzgyMTE0IDZkOTc0NmNkOTM1YzYwZDdmNTk3NzRmNTJlMjRkODAwOGY4YmVhZTUgcHkzaworODIxMTUgNjU0ZTUzZTc1Y2QyYjAyY2FjMzgwMDcxMTcyMWU3NzFkMGI5ZTU1MyBweTNrCis4MjExNyBlZTM1ZjcxNTY3NjEyYjFlNTk3OGQ1Y2FmMmJlNDA5MjNmYzRlNTdmIGxlZ2FjeS10cnVuaworODIxMTggYzkxNTM4YzFhN2U2YzA3Nzg4MDhkOTk4NThjNTc3MzAyMTE5NDc3MSBweTNrLXNpZ25hbGZkLWlzc3VlODQwNworODIxMTkgNmFjZGRiNWZlOGUyMWJlNmRhYzA4OTU4ZDczMDI1OWJmODg3YTA0MiBweTNrCis4MjEyMCBiZGVmNDU0ZjcyMTJhOGJhYmUwMGRmNmM5ZDkxYzU3NzM5ZWU1M2M4IGxlZ2FjeS10cnVuaworODIxMjEgOTIzNzM1MTM3MDMwZjJjNGM5MDcxMjliMTM3ZDE3ODEzMWJlODQ5NiBweTNrLXNpZ25hbGZkLWlzc3VlODQwNworODIxMjIgM2YwOWNjMzhlOTdlMzBjZTMzNDFkYTM1YTJhMjc5MDg1ZTFhM2Y5YiBweTNrLXNpZ25hbGZkLWlzc3VlODQwNworODIxMjMgOTY1YTQ0YzJiMjk3YjliNmNlMmM4NzQwZWIxODEwM2ZkYTk2ZGRhNCBweTNrLXNpZ25hbGZkLWlzc3VlODQwNworODIxMjQgNTNkM2QwNjhiZjRjNGI5ZTcyMGRlYThlNWYxYTc4YThhMjE4NWNjYSBweTNrLXNpZ25hbGZkLWlzc3VlODQwNworODIxMjUgOTg2M2JjODYzMGEzOWRkNzNhYTZlN2Q2OGJmNWRlZjI2ODM2YmI3NyBweTNrCis4MjEyNiBjZTIxZWI1YzE3YTVmMzAzY2MyNzliMDU0YzQwNGY3ZjcwMjg1YWRhIGxlZ2FjeS10cnVuaworODIxMjcgZDAxNGQxZjY1ODIzMTk1YzExYWZjMzFhMmVhNjdkYjJlYzVmZGU5YSBsZWdhY3ktdHJ1bmsKKzgyMTI4IGRkODgwNTdiMjdiMWNkOWY1YmU5YmRmMWFhNDI1YmFkZGExYjM5ODkgcHkzaworODIxMjkgZjNkNDVjNDQzYjEzNzllMThiZjdkOGI2ODcyZmQyMGE3Mjc2ODcxNyByZWxlYXNlMzEtbWFpbnQKKzgyMTMwIDFhODZkODQ1ZmJjNmYzOTRhZGQ2YTQyMGMyN2Y5OGE4MjUwYmNiNWQgbGVnYWN5LXRydW5rCis4MjEzMSA3M2Y4ZmFjYTI5MGJmZWI2NDBjY2ZiZTQxZWI2ODZjMDI1MjU5ZWY3IHB5M2sKKzgyMTMyIGExMDFkMDczYTVjZDFmYmM0NTRmY2I1YzJmMDU1NWQ1NjY1ZTljZDUgcmVsZWFzZTI2LW1haW50Cis4MjEzMyAxYWY5NTY3NDU4OGQxZDNhZTJjYTg4NWVkMDMyMTYwZjg5NWUyYjgzIHJlbGVhc2UzMS1tYWludAorODIxMzYgNTgxNzM5NWEwNDhlNWZmMTRmYzg1MTQ3NzA2ZWZiZjYwNWY1MDdmYSBsZWdhY3ktdHJ1bmsKKzgyMTM3IDEzZTViMGIyMDcxYTJhNDIwNjdmYjAzZmFjYzkzMTQwOWZhNmJhNTAgbGVnYWN5LXRydW5rCis4MjEzOCA3ZTRjZDcwM2ExOGI3MzMzZTg4N2I1NWM5NTcxMDQwOTIxYzcyOWQ5IHB5M2sKKzgyMTM5IDFmMTBjOTEyYzEyN2ZjMzBkZjlmZTYzMjIxNmNkZmYwNThmOTFkZmMgbGVnYWN5LXRydW5rCis4MjE0MCBkYWE5MTg4OGRhNTJhMzk2NjM1OTRkNDFiMGJmMzc4MTlhMjkyMGI3IHJlbGVhc2UzMS1tYWludAorODIxNDEgZjI2OGMyYWUwODM1ZjQyNGIzYjA3ZGRlOWM5NGNjNTQxN2MzZTAyMiByZWxlYXNlMzEtbWFpbnQKKzgyMTQyIGFmNzUxYTFkNmY0NDk0N2EyNDE0M2FlYzU1YTRhNzA3NzkyMzhhZTggbGVnYWN5LXRydW5rCis4MjE0NiAwY2Q5OWY4YzMwZTEzOTAwMDhhOTVlMTQwYzY0YzI5NjQ4OTA0YjhmIHB5M2sKKzgyMTQ3IDBhZmQ3NjBlN2M3NjUzMWIwZGZkNDFhYjMwMDU1YTE0NDhmMjBkYzQgcmVsZWFzZTMxLW1haW50Cis4MjE0OCAwYjdhY2RiZDAyZWIzNDM4NDI5NjhjNzg1OWMzYjJmMzdjNWFmYTg5IHB5M2sKKzgyMTQ5IDVhMzI1ZTBmMWZkMDEzNTdmODRiNThiNWVlZTE1MzY0YzQzNjdhYjIgbGVnYWN5LXRydW5rCis4MjE1MCA2ZTVkMjFlMjIzZDIyNDg0MTZmNjhlZWQwZDRkYWU5Y2JlYjNlODNhIGxlZ2FjeS10cnVuaworODIxNTIgNTZlZDY4YzIxNWE3MWZmOTdhNDJmZjU5NjhmNTY5NTIyYWIzYzAxMSBweTNrCis4MjE1MyA1ZDMyYjZhZmI1MmVlZWQ5MjY0ZDUyNjA1MjM3ZDYzMTE1NDM3ZWZkIHJlbGVhc2UzMS1tYWludAorODIxNTUgMTA4Zjk0ZDUzZWRiZTJhMWQwYWI4MzBiMDkyYjRiMTc0YzNhYjg5OCBsZWdhY3ktdHJ1bmsKKzgyMTU2IGQ5ZmNiYTRjYzE0NTQ1YTlhODRlNGZkZjc5ZjgwYjAzMzJhNGVhN2IgcHkzaworODIxNTcgZjkxOGQzNWVjNTZiODUyODkwMzk0OWU2MGZiMDMwMTk5N2EwMWE0OCBsZWdhY3ktdHJ1bmsKKzgyMTU4IDM3NmU4MWY5ZWJiMWQzOTFmN2M5YmEwYzZkMTU1NzZkOTc0ZGI5NjEgcmVsZWFzZTI2LW1haW50Cis4MjE1OSA5MDYwNjNjZTcxMTk2NTk1OWM5OWRiNDViZjg1MTBhZDkzZjY3NDg3IHB5M2sKKzgyMTYwIDE4NjM1Y2JkNjZlMGEzM2FkNDI5ZTU1NDFhN2ZmNzA5N2EyZmY0NjggbGVnYWN5LXRydW5rCis4MjE2MSBmNzhmY2IxYjIzZjViOGUwMDEwM2RjMTZlMDgwMmI1MWFlMDA3ZjNjIGxlZ2FjeS10cnVuaworODIxNjIgMWM2OTVjMGFhZmZiNDhjMmQyMjZjNWFhN2YyZTA0NjBmYmM2NTFhYSBweTNrCis4MjE2MyA0ZTI0ZGZlZGY4MGM1MWU1MDA5YWFiOTY0MmFlYTY4ODYxYTY2NDcwIHB5M2sKKzgyMTY0IGExMjA2YTY5ZTc3YTUzYjkwY2JkNjZjYTA0ZDQ5MmFmMmQxZTBhM2QgcmVsZWFzZTMxLW1haW50Cis4MjE2NSA1M2ExNTJiNDAwYTdlNWJjNjNjM2U3MjhkOTgyNDJlYTEyYjFhNmIwIGxlZ2FjeS10cnVuaworODIxNjYgZjE3YTJjMWUyOTE5MjhjNDYzNzE2ZTAwNDcxN2M4ZDY5YjllYjJjMiBweTNrCis4MjE2NyA0ZGQ4Y2ZmNmI3YmViMWY2ZjEwM2M0Y2NlNmUwOGQwNDZiODgwYzE2IGxlZ2FjeS10cnVuaworODIxNjggZDE1YmU4YjVjN2NhZDk2ZDRmYmYzZDA2YmQxYWE5MGQ1MGQ2YWEwZiBweTNrCis4MjE2OSBlOWZiMDQyZTQ2ZmI1MDAwNWY3N2VhMTY0MzNlNGY0MTg1ZWY0MmRjIGxlZ2FjeS10cnVuaworODIxNzAgODgzNmQyNzE2NzBiNmJiODY0ZjFhYjNjNDRkNjUyYTk5MjI2ODM3OSByZWxlYXNlMjYtbWFpbnQKKzgyMTcxIGViOTVhZjBhOTljYmIxYmEwYWJmNWRhNWE0MTk2Zjk1NTZiM2QzNmUgcHkzaworODIxNzIgMjkwN2NlOGJmYmI2MDI3NjE3YjlmYTQwOWZiNjIwNGRiYjhjNjY2ZCByZWxlYXNlMzEtbWFpbnQKKzgyMTc3IGNhNGYyZTk4NjliNjc1MmZjZDljYmFiMTEyYjExZDkyNmQ3N2M2YzkgbGVnYWN5LXRydW5rCis4MjE3OCA0MjZlZjljMzc5MTZmYWZkM2I4YjVkYTQ2Njk3MjEwZTliMjlmNmUyIHJlbGVhc2UyNi1tYWludAorODIxNzkgMDc0ODU5ZWNkYzE4NzMyMmRhOTYyMzY3ZWYwZDdhZWVkYjUxMjcwYSByZWxlYXNlMjYtbWFpbnQKKzgyMTgwIDc2YmM2YjU3NzM3M2NmNTRkZmVkZDFiMTBiMmY3NGQ0OTM1ODNjN2YgcHkzaworODIxODEgYzhkNWQxMjA1ZmU4MzBhNWIxZDZhNDIwNjAxYjYxYmFiZWQwY2ExNiBweTNrCis4MjE4MiAwZTQ2MzdlYTIwZDAwMTNhNTcwZGM5MTIwNjhkYzc0Mzg1MWMzODgwIHJlbGVhc2UzMS1tYWludAorODIxODMgNjZlZjlhNzdjOGFmZDVjYzE4NTJhNjc2MjJhYWUzMmU4MWFlYWMwNSBsZWdhY3ktdHJ1bmsKKzgyMTg0IDNjZjM1MjMxZjdkM2VkMzc1YTFhOTlkZmQ4NWI2ZmYwYmM2NjZhZjYgcHkzaworODIxODUgM2FmZTM2MWVmY2YzOGJmODg2NjVlYTcxMjMxNzQwYWY3YzE3N2Y1YSBweTNrCis4MjE4NiBjZjc5NzQxZjdhMjNmYzU1ZmU1MDM3YTc1YmFjZjNhNGVjMWMyNzdjIHB5M2sKKzgyMTg3IDk1ZDIwMzVhMTY0YjliMDVlMDU0MGQ2NmE4MzY1N2MxNGM1MTE0ZGMgcmVsZWFzZTMxLW1haW50Cis4MjE4OCA1ZjQ1NjkyNDg5ZGExZmQzNTYxZDA2MzljNjgwNGYzZDEwZGE3ZWRmIGxlZ2FjeS10cnVuaworODIxODkgY2IxYWI4ZTkxNTgxMDcwODdlMDFjM2Y5ZWEyZmU4ODVlNTNjM2U3OSBsZWdhY3ktdHJ1bmsKKzgyMTkwIDYxZmM4NGJjNGIxNDYyNjVkMGNjOWJkOTQ0NzM2OTNhZTFkY2UxMjcgcHkzaworODIxOTEgYjE3ZmNkZDM4YTViNDAyYTBhMDExOWJjYjYwYzEyMzcwOTExODI1MyBsZWdhY3ktdHJ1bmsKKzgyMTkyIDBkNDI0NTQxMmQwYjUzM2I1NTk5NWVkYTJhODM0NmYwM2QyODQxMzggcmVsZWFzZTI2LW1haW50Cis4MjE5MyBjNTUxNTdlMDNhYjk0M2Y5OGJiMmE0ZjQ2OTg2ODI1ZWY2YmFmZjgwIHB5M2sKKzgyMTk0IDQ1YmFhNDI5ZmM0OWNjZDk5MTViNmQzMjA0NTUzMTZlYWM5NWEyN2QgcHkzaworODIxOTUgM2Q2ZjBhMjA1MGUyOTI2ZjcwOTNkYTJiMWNlOTUxMjZiZGZjNTU4ZCByZWxlYXNlMzEtbWFpbnQKKzgyMjAwIDVkNTM4ZDFlNzA5OGQ5NmFhMWIxOWFjNTUxMDM2NzdkYTFiYWUwNjYgcHkzaworODIyMDEgYTM5YjUyZWUwYjFkNGQ5MmVhYjYyYWE5OWRmYWVjOTAzYmQ4Zjg0NyByZWxlYXNlMzEtbWFpbnQKKzgyMjAyIDg5Mzk3MDE0MTYwODJhMjliZTUxOTRmMGY1NWQwZjUxNWU2ZjYzNDMgcHkzaworODIyMDMgMzQ3NDRhNzYxNDNhOGU2NTZlMWI2MWE3Yzk0ZjNkM2Q2ODIzM2MxMCByZWxlYXNlMzEtbWFpbnQKKzgyMjA0IDIxZTg2ZGQzMjhmMTU3ZWM1ZmM3MzExZjc1MTlkNWQzYjNkOTcyODEgcHkzaworODIyMDUgYjhiMGExNWY4YTdjYTRlODQzMWJhOWEwYTUzZWIzODRmMmZkMzAyMCByZWxlYXNlMzEtbWFpbnQKKzgyMjA2IGJiNjIyMmE0ZWQyNDI2ZTljN2JlY2M5ODc1ZjFjMDk1YjBlMWZiYjIgcHkzaworODIyMDcgMTNiMmE1OTJjMTg2ODNlMmZkZmUwNDc2YTA4MTNiNWFkMGFiYTAwMCByZWxlYXNlMzEtbWFpbnQKKzgyMjA4IGJjYzBlODI1ZmFhMGNhODBlOTMzYTczODRkZWE4ZmM5NDkyOWMwZTEgcHkzaworODIyMDkgYzRkZDVhODg5ZWNkZmI2ODNmZDk2NTg2ZWVjNmMyZGE1MGIzOTk3NiByZWxlYXNlMzEtbWFpbnQKKzgyMjEwIDQ2YjQ4N2U0YTc1YjhjMzlmMDg4MGZkM2M5Yzg2ODNhNGM2M2U5MjIgbGVnYWN5LXRydW5rCis4MjIxMSA1NzExNWFiMDZiMjc4MDA2MTM2ZGEzOWVmNGRiNzdiNGE5MjViZjM2IHB5M2sKKzgyMjEyIDU5OGU4ZGMxOGI4M2U4OWQ2YjcwMmM5NDI1YTFmZDBhYmI5Y2I5NjIgcmVsZWFzZTI2LW1haW50Cis4MjIxMyBlZjY0MmUyNDA0N2FiNjgxNTY0OGYzYzllMmRjNzliMTExZTdiYTM1IHJlbGVhc2UzMS1tYWludAorODIyMTQgNGUwOTllNTAwNGExZTgyNWNjMjQ0ZjExMzcxMTZhNmE1NzhkNmE1NyBweTNrCis4MjIxNSBkOTZhY2M0MWM1OWYyZjQ3N2Q0YWRhNTFiNGVkYzIyOGQ0ZGRhM2Y4IHJlbGVhc2UzMS1tYWludAorODIyMjAgNjlmZGY2OGUwYjViNDYwNDExNTJiMjFiMGMwOGViOTQ3YTVlMDcxNSBweTNrCis4MjIyMSBiYTU1ODQ0YmY1YzAzMTRiNjk1NTNmMWJiNzM3YjI2ZWI5NDc2YzhjIGxlZ2FjeS10cnVuaworODIyMjIgODNjYTBlYTllZjFmYjIxNmNhZmNmNTBlNWU2YWJiZTBkZjZhNjRkMCByZWxlYXNlMjYtbWFpbnQKKzgyMjIzIDFjNWMxNDZkZTY0MjVkMDBlMDlkMGFjODM1YjlmMGQ5ZDVlNWY4MjMgcHkzaworODIyMjQgMGM4NzQ5MDc2N2JmMWM1MTY3OTI2MzZjYzdhZTIxNzRmODA2YzkwMSByZWxlYXNlMzEtbWFpbnQKKzgyMjI1IGI2NjNjZjZiYmU4YjM3MWNiYzRiMTA2ZDhmYWU5NjE3NDkyNmQ5NTMgbGVnYWN5LXRydW5rCis4MjIyNiAwOWViMzYyNmQyYWFlODExZDZlNDNiMzBlY2VlMzkzM2QzN2E1NzhiIHB5M2sKKzgyMjI3IDNkMzEwOGFjMjJiMmM2ZTU2ODU1MTk3MDZhNjhkYTUwOTIxYjljZjcgbGVnYWN5LXRydW5rCis4MjIyOCAyY2QyMjI1N2E4NmQ3YjgwNjlhNjMwZTRhNjA0ZDA2ZTllNWRjZTlkIHB5M2sKKzgyMjI5IGEzNGZkNmY4MTY1MTc5YmZhMzUyZmRmMWUxYThiYmU4MDA0N2I5ZjAgbGVnYWN5LXRydW5rCis4MjIzMCBlMjQ5OTBkMDU0NGZmZmY5ZjI0YTY3NmFjYTUwYWM1YTlhMTFmMTQxIHB5M2sKKzgyMjMxIGYyMzJjNTY5ZDIyNWQ3YzE0NzBkMjZjNmMwMWE1YWQ3YTVjOGNlYTEgcHkzaworODIyMzIgYzUxYmYzMTUzZjJjYTg5YjQwYTg4YjYwNGIyOGMwYWYxMzRmMzJiYyBweTNrCis4MjIzMyAxYmEwYWIwMmUzYjg1NzA3MzQxYWFmZjEyMjM3ZGVmZDMyN2NiMmY5IGxlZ2FjeS10cnVuaworODIyMzQgY2I2ZDliZDU1OWVmZDNhZDMzNmU1OTQ4NTVjZWExYTlmNDRlZWE4ZCBweTNrCis4MjIzNSBhNDU2YjAwYzNiNzUzYmRkOTY1ZWU3ODU4MTdiYzAwYTU3NWI0NzcwIHJlbGVhc2UzMS1tYWludAorODIyMzYgN2RjY2U2YTI4MWNlMmJmNmE1ZDQ3ZTg5OTlmMGU5MzQyMGNkNzJkZiBsZWdhY3ktdHJ1bmsKKzgyMjM3IDE1MmI0NDY0MmIyYzQxN2ViNmFlMmFiMDI0ZDNmZTZmZmNmZTQzMTggcmVsZWFzZTI2LW1haW50Cis4MjIzOCA0YWZlZjJlNDBiNjMzMjQ5YmQ2MGMzNjU2YjRlZTUzZjY2YWVhMWRlIHB5M2sKKzgyMjM5IDIxNTUyYTQ4ZWJkMTk2OGRiOTE1OGM0OTVmZTQ5YmU1NzcwYTUzMjQgcmVsZWFzZTMxLW1haW50Cis4MjI0MiAyZjZmZWQ2MDYxM2UxMmM4ZTkyMTEzMzQwZWM2YWM1YzFiMGY0N2NhIGxlZ2FjeS10cnVuaworODIyNDMgN2IwNGQ5YTY5OGFlZTY3NmMyYjA1OGRiZTliYTI1NDc2M2YxM2Y1NiByZWxlYXNlMjYtbWFpbnQKKzgyMjQ0IGQxNzEyNzZlZDc2ZGE3MjMzNGI3ODAwNjJmZDJhZmRkMTVlM2QyMjAgcHkzaworODIyNDUgMWRjYWU1MmM0OTVjODQ2YzFjZmNkNmQ4ZGI5ZDExMzJiNDQ1NDk3NCByZWxlYXNlMzEtbWFpbnQKKzgyMjQ2IDI5ZTUwOTc5M2QzYzQ4MThhOGYwYzU3MGJmNjk1ZDkwNTM1NWE0OGIgbGVnYWN5LXRydW5rCis4MjI0NyBhZGFmZWU5NTg5ZTQ0MjlhZGFiMDdmZjJjY2E1MWZmMGJkMzBjYzEyIHB5M2sKKzgyMjQ4IGVkODliMWFhZGM5M2QyZDFkYTc5MDg5MzU1ODkzODNhNDBkNDcyOWYgbGVnYWN5LXRydW5rCis4MjI0OSBjOTEyYjViMjRjOGYyZDFiMjRhNzA3NDVmMzI2YTE4NGM3MDljMzliIHJlbGVhc2UyNi1tYWludAorODIyNTAgMDE0ZTdjMDBkYzI4MDU4MzFmMmVmMjRmMTQ2OTlhZDI1YmUxYzdlNSByZWxlYXNlMjYtbWFpbnQKKzgyMjUxIDM5NmViNjYwZWU5YjQwYmQ5ZWYyNTg1MmY1MDIzMDdlZmU2ZjNiZTAgbGVnYWN5LXRydW5rCis4MjI1MiAzNTJkZGEwNzcwN2JmOTI4ZDNkYjllOWNlNGM4ZDhmMWNiZDhmZDIxIHB5M2sKKzgyMjUzIGEzOWNlYjZjZWRlMzE1ZDgzMzU4MjMzNzdkMmFiMzI1YTIwNDk2YzYgcmVsZWFzZTMxLW1haW50Cis4MjI1NCA0NTZkNmM1ZDI2ZGM2ZTZlNWVmNjU5Njc1MDFhMjBkNjU4YWYzNGNkIHJlbGVhc2UyNi1tYWludAorODIyNTUgN2ZkM2Y2ZWFmNjQ5NWMzMDdkZWI0NTk2ODMzMDg3YzFlYWJjZGMyMyBweTNrCis4MjI1NiA3MDY2ODhmZTQ1OTM1NjczZjk1MzQ0OGI3OGE3YjIyY2ZjYzMxNWY3IHJlbGVhc2UzMS1tYWludAorODIyNTcgNWZiM2YxYTc0NzI2YTZiODNkOWFhYjRkYzA3M2Y4MWZlMTIxNWI3MyByZWxlYXNlMjYtbWFpbnQKKzgyMjU4IGY2ZDVlYTc2OTI3Mjc5NjM0MzE4MzAyOWU0MmY5NjQyNjdmYzAzODAgcmVsZWFzZTMxLW1haW50Cis4MjI1OSBlNDc1Mzg1NWVjMDFiYmU1MTYxNDcyMjdiNTE3ZjdmODY1MWE1OTM1IHB5M2sKKzgyMjYyIDZlYTZkODUxNTBiMTJiODFiNzkzNDhhOTEzOGU0NmE4YTk5ZjhhNDQgcHkzaworODIyNjMgNTQ3ZTY1ZGI0ZDM4ODJlZmViOTkzMzdkY2MyNGZkOWU1ZDJmOTg0OCBweTNrCis4MjI2NCA2YjQ1NDM3N2FmZmVkNThmNzc3ZDUwNjBjZGJkOGFhNTNhYzgzNTI2IGxlZ2FjeS10cnVuaworODIyNjUgODE1Mjg0YzlkNzE5MTU0ZGEzNzkzMjBhMTFhZGE5ZGYwMTE5M2M0YiBsZWdhY3ktdHJ1bmsKKzgyMjY2IDY3NmE0ODBlZmMwOGNiZGE0Y2U4NTdiOTUxNzhlYjg5MjdhYzJmNDMgbGVnYWN5LXRydW5rCis4MjI2NyBmNzliZTc5ODEzMGYyYjFjZmM4NWIyZmJmODkxYWU2ODNkYTZkOGE2IGxlZ2FjeS10cnVuaworODIyNjggZWUxZWQ4MGQ3OTYzMzkxNzk1Y2MyNTE1N2I0ZTMyODYwZGY4MDA2YiByZWxlYXNlMzEtbWFpbnQKKzgyMjY5IDFhM2Q4ZWMwYzVmYThhYjY1ZGVlMTU1NGI0M2Q5ODcwMDY2NTY2YTggcHkzaworODIyNzAgNWIzOGI1MjM0ZGVkYjcyYWRjNzQ2ZDUyNjg0NGFkNzUxZDM2YzAwZiBweTNrCis4MjI3MSAwMjg0MmVjZDhlNWI5NGFkYThiYWMzYmQ2MjI5M2FmYzU3ZWQ3ZjdlIGxlZ2FjeS10cnVuaworODIyNzIgYTNkZDM5ZTM2YzlkZjE5YzYwMGZmNWY4MWE5ZmNkM2QyZDQzZDdiOCBsZWdhY3ktdHJ1bmsKKzgyMjczIGYxMTc0ZTc5ZjdmNDNlNzU5N2Y2YjczYzUxMzNmYTAzMTE0NDlhMDAgcHkzaworODIyNzQgZDNjNzVjMmY0NmJlMjZiYmM2OWVmMDlmYzJmNjgxYWIxYjM0ZjY5MSByZWxlYXNlMjYtbWFpbnQKKzgyMjc1IDAyMDQ0NTczZWVlYzFlYWEzM2MzYWE0NjczMGI4ZjU5ZjQzY2EwNzQgcmVsZWFzZTMxLW1haW50Cis4MjI3NiA2YjAzMTI0OTM3NTU5ZTcwOWI0ZDgyZWExYTdkYThjYjFkOTY3M2RiIGxlZ2FjeS10cnVuaworODIyNzcgYzUwNTYzODI0MDk0NDQ5YTc4MDI5NTRkOTY1NzJhNzk0YWE3YTRiZiByZWxlYXNlMjYtbWFpbnQKKzgyMjc4IGM4OGY3NjAwYmIxN2JhZTcwODU4MTZlMDQ0ZWI0MWMzZDZjN2FkOWIgcHkzaworODIyNzkgZjUwNWRmMDNhN2Q3Y2JmNzM5NjEyZDcyNDdkYWQxOWFhNDE1YTdhNyByZWxlYXNlMzEtbWFpbnQKKzgyMjgwIGIwNGNlZjU1ZmRmNDNjYzZjMjI4YzNhNjE1OWIwMWZjOGRjNjg4YjUgcmVsZWFzZTI2LW1haW50Cis4MjI4MSA3ZDkyODAyOWJjMGU5ZjM2MDY3ZTdjMGQ3ZmI1YjllMzM3N2EzYTg2IHB5M2sKKzgyMjgyIGVlZTI1NzkyODMwMDFhOTgwNDk1NjhmMmVkNGI3N2NkZjFkNDMyYzUgcmVsZWFzZTMxLW1haW50Cis4MjI4MyBkY2Y5YmNkOWExZTA4MTA0N2RkZjNmMDNiMmY5ZTIwZjhiOWYzZmY3IHB5M2sKKzgyMjg0IGExODMyM2ZiYWY5NThmYTQ3YTE1MzAwNDNlMTEwMTJkYzdlMjFmNWIgbGVnYWN5LXRydW5rCis4MjI4NSBkZWVkMTU2ZDMzZDgwNmYwZGRjMzY4YmQ3NDBkOTgxMjBjNTI0Mjc1IHJlbGVhc2UyNi1tYWludAorODIyODYgMGJlMjQzOWJiY2Q4MDE4NWZlY2UyMWZhMzBkM2ViZTk1MWYzMDBiYSBweTNrCis4MjI4NyBlNjQ3NDZlMDJlNDEwMTAwZjI2ZTJiOGExMmUxN2NmMDc1NDhhYjllIHJlbGVhc2UzMS1tYWludAorODIyODggMjgxODI4M2MxNDlhMmY0N2JlMzgwYmQyZDk4OGY2Y2Y0ZDM1MDFiNCBweTNrCis4MjI4OSA5MzNhMzU1NmY1NjMzNTg4ZmIxMmIzNjg4ZDlmMWM3ZjNlZDAyOGM5IHB5M2sKKzgyMjkwIGVjMGZkNWE2YmI0NTZmNzg3ZTA0MjdlYjBiNTFjZWZhYmM3OTE2MjcgcHkzaworODIyOTEgY2I2ZjNhNDQxYWMyZGUxNmUxZWRmZDZkYWNjNjgxZWE0ZjljZjA1NCBweTNrCis4MjI5MiAyZjM1MDFmOGQ0NTZmZGZkNDBjZGEwYmMyOTA3MjlhZGE0M2E2NjkxIHB5M2sKKzgyMjkzIDM1OGQ4NmE1NzJmYjE4OWEyNDM1MDllODY1OTVmZWE0MTc2NmI4YzcgcHkzaworODIyOTQgY2JkNTEzOWU4ZmU0ODk3NWNkYmE5ZDMyNTJjOWQ3M2I2YTg2NGZlNCBweTNrCis4MjI5NSAwODk3M2U2MDhhMmE0NDBmNWU3NWFkNmJkYWQ5NGIzNmU4YmExYzBlIHB5M2sKKzgyMjk2IDA1NTU4ODRlOTg2MjM0YjgzMjA5M2E3MzllZWI3MDYxNDdjMWNiYzIgcHkzaworODIyOTcgODIwZjNiNmNiNTUxMTg3NDk3NzFmZDNjYTlkYjI0NGIyZmNlMmVlOCBweTNrCis4MjI5OCA1MDRjNDk5ZThjOTU4MmQ1YjE3ZGI2NmE3MzFiMjY2MDgyNWUzMjEyIHB5M2sKKzgyMjk5IDlmMjI5NDg3NDkxMGNlZGRiYjFmZTVmYWE2MTczZTUwYWI5ZDEzNTggcHkzaworODIzMDAgOGE3Y2NiOTYxODE0NTkxZjliYjg3ODY0N2Q5NGMxZjU2MDBhMmVkZCBweTNrCis4MjMwMSA4ZGY2MTkyNTkwNTY0ZTY1ZTY3YTY0ZmMwNjFhMmQyM2ZhMjk2OTIyIHB5M2sKKzgyMzAyIDMyNjUxZWU3NzllZDAwY2YxNzIwNzVlMWFlM2ExNTAwOTc3YWEzNGIgcHkzaworODIzMDMgMzY3MGM2NmVlMTQ5YTVjMzgzOTk2YjkyNzMxZDkwNDhjZWJkNWQ1NCBsZWdhY3ktdHJ1bmsKKzgyMzA0IDFkMTc5N2FmNDYyMjBiNTcyMDUyZDEwYTFlYmExNjM0NGY5MGY1MDQgcHkzaworODIzMDUgYWEyNjJjNWIxOGI1MzI2ZGJhMTJjZjJiZTg5MzM4ZDhiYjlkNjhjNCBweTNrCis4MjMwNiA5MzUwNzVkMzM1ZmU4YmU3YmJiOGVlMzc1ZDg2Y2Y1YTI0ZjMzOTlkIHB5M2sKKzgyMzA3IDQ2ZmVjNzdmOTVlOGQxNWVkMDI0NzY5MjZmY2FjYmQ1NjhkNTRhMmUgcHkzaworODIzMDggNmVjODI1YzliM2I1MDFmMmFjMTI4ODMyZGI3M2YyZjRkODRlN2I2ZSBweTNrCis4MjMwOSAyZTM3NjAzY2EwNGRhMjZiNDEzNzE1YmQ4OWRjMmU4NTJiMGY1MmMwIHB5M2sKKzgyMzEwIDRhYTViOTU4OWM0MjEyMDkyMzgyYzFhM2Q5NjdmNGIyMTU1NTE4NDEgcHkzaworODIzMTEgYTg1N2RkNDA3OTY0ODJmYWY0MmI4MTZhYTM5ZGIyODVhZTExZTgxYyBweTNrCis4MjMxMiAyYmMwODAwMGE4NTcyN2UxMGVhOTQ4MzQxZDA0M2E1YWRjYTM5MmVhIHB5M2sKKzgyMzEzIGRkMzBiYzVkMTg0ZTkxNDZhYThlNDViNGZiMjc0Zjg5YTcxZTM5ZjcgcHkzaworODIzMTQgNDg5M2U0MDA5ZjU2NzEyNDhiODZiMGQxOWY3NGM5ODkxYzM4ZGI3YyBweTNrCis4MjMxNSA5ZjY5OWU1MTRhNjJjMjdlNTI4NjgzZmVjZDEwNDliYjMxY2JkNDkwIHB5M2sKKzgyMzE2IGE5Y2VkNDIzZGFjZTc1YTI3MzJhNTgxMDNjYTBmODFkOTBjODI3MGYgcHkzaworODIzMTcgNDdlMjlhNWMzZGRmZmYyNTBkZTM2M2M1MzE5ZGM1OTRhZjk2NGRmYSBsZWdhY3ktdHJ1bmsKKzgyMzE4IDNiZGNkZWNlYTU2MTBlMjZmNzUzNGZhOTYyMTY2ZmE5ZDg5YzcyOTEgcHkzaworODIzMjAgYjA3YjJjOTU0YTgwNzdmNGM5YWQzZmM0ODkzMTRlZDg1NzRmMmNhMSBweTNrCis4MjMyMSBkN2UzNDIzYzlkYTgyMDFiYjRiMmFkM2UyM2U5MjQ0MzBhZDAzYWUzIHB5M2sKKzgyMzIyIGU0MmJlNmU2YWMyZDczNjQyZDNmMDJhOWYzYTFmZWZkZDljMTczMjAgbGVnYWN5LXRydW5rCis4MjMyMyBmZDFhMTEyOTNlNjJlMWNiNGJjMjAxNzliODQ2NDk5ZDk0MGQ1YWNlIHJlbGVhc2UyNi1tYWludAorODIzMjQgOWYwMTg4ZTRmODFhODg2MjcwOTRmZTFiYTNlNjNiOGU0OThmYTIzMCBsZWdhY3ktdHJ1bmsKKzgyMzI1IDIwMDNiNzBhOWJhZGRiNjUxMGU4ZmU5OTE0YjRhOWRkMTE1MjAyMDEgcmVsZWFzZTI2LW1haW50Cis4MjMyNiBlYWM2NGE0NjEwZjEyMjYyYjZiNTViMTQzYjQ4ZGFmNDdlMzA4ZjE2IHB5M2sKKzgyMzI3IGI4ZDM2NWRhMTc5ODk0MWI3NTMxMjVlZDJiYjU4Zjk1MWMzYTJlNGIgcmVsZWFzZTMxLW1haW50Cis4MjMyOCAyOGY5YTAwMGEzNzlkNGM1ZTEwOGFmNTk4ZjExMDNlOGZiZGYwNTE1IHB5M2sKKzgyMzI5IDNjZDE2YWM1MTg3NzE1M2ViMmZkODY1MWNlZDUxMzZmMTBiZmI2MDQgcmVsZWFzZTMxLW1haW50Cis4MjMzMCBjMGE0OWI2YTZmYjExZDg4MDY4MDk2YTg5ZGU5ZDg4MDk1YmNkODU5IGxlZ2FjeS10cnVuaworODIzMzEgZjgxNmI5OTFlNWIzMWNhNzcyMWU4YzI3MTBlOTQ1ZDM3ZGUzOWFmMiBweTNrCis4MjMzMiA4ODI3NjE3YTA3ZGM5MWY2ZTJkNjQzNjg1ZDcyMmM5NDU2YjZkYjI0IGxlZ2FjeS10cnVuaworODIzMzMgZDcxNDExYTBhNDczMTZhZWIzOGMxZWM5YThkMTQwMzY3Y2Y2ZjAxOCBweTNrCis4MjMzNCAyZGNmNDdiNTk0M2Y0ZWU0ZjVkOTMxNjliNjExMGUxZWM1NGE2YTQzIGxlZ2FjeS10cnVuaworODIzMzUgMzdjZTVhZGFlOGI5Yjg4ZTk3NGE1ZDlhOTg2YzljYjBkOTVjZGNmMCByZWxlYXNlMjYtbWFpbnQKKzgyMzM2IDc0NjU3OWE5ZWFkNzA1Y2U3ZmNkZGFkNTg4YzUzYTFhZDczYTA2ZDAgcHkzaworODIzMzcgMjViNzIyMWRkYTY5MWJjNWFiMzRlNWFhZTk1NWU3MTRmOWVkZjFlMCByZWxlYXNlMzEtbWFpbnQKKzgyMzM4IDNjYjNjZTdkY2FiODUwZjhmMTVjZGI3ZGZmYmUyNTdhYzVjMDdjMDAgbGVnYWN5LXRydW5rCis4MjM0MCAwMjkwNGM2ZWU1MDI5NzYxMTNkMmE2YTk0NTEzNGU4N2E2YzM5ZjQ0IGxlZ2FjeS10cnVuaworODIzNDEgMjUyMGI4MThkYTA1MjE5M2Q4ZmEwZjczNTBhODZjYTQzMDM1Nzc3ZCBsZWdhY3ktdHJ1bmsKKzgyMzQyIGM4YmRiMzJiMDRhYWFjYWFiMmM5OTlkZDI1YjcxODQ2NzYxNjM3ODEgcHkzaworODIzNDMgNjhiNjcwZjM2MTRlOTBiNDFkZGZiYmE3ZGMxMjhkNTk1NTgwMjQ5NSBweTNrCis4MjM0NCBjZTAzMjUyNzZkMmFmYWYyNDAzODFiMjJkNDI3OTYxMmRjOTBlYjM5IHJlbGVhc2UzMS1tYWludAorODIzNDUgOWNhOTUyNGQzZTU3OGE0MWFkNTg0MmIyZDUyYzk2N2UwNDM4Mzc1OCBsZWdhY3ktdHJ1bmsKKzgyMzQ2IDY5ZjZkMjEzMDI4MTI0YzczMDk5NWY3ZWI5YzU3NTE0MzkzNmZjYjIgcHkzaworODIzNDcgYjgxN2U3MTY1MTZlZGYwM2JmODYzNWQ3NjQ2MTUyNzlkYjgwYWFkOCBweTNrCis4MjM0OSA5NWY4YjI1ZTUzY2UwOWU0ZWU4MTMxZGIzYjU4NTEzZjU3NDQ1OGI4IHB5M2sKKzgyMzUxIDJjZjRjYTFlZDZkNmNkNmYzYWVkZDA2ZGE3ODVmNzczZTkwZmMwNmIgcHkzaworODIzNTIgYWNkODY0ODg2NWFhYzVlMWYzY2U3Njg3Y2RiNjVhZjM5Njg3NDBhMiByZWxlYXNlMzEtbWFpbnQKKzgyMzU0IGRmYmRiOThjOTJlN2YxYjdmM2Y2ZDc3M2M2YmU1YTdlZDE2MmJiZGIgcHkzaworODIzNTUgMGUxNmRkZDQ0MTU3OGViZGZjY2Q3OTEwMWY1ZWE1ZDIwMTI0ODVhYSByZWxlYXNlMzEtbWFpbnQKKzgyMzU2IDJhOGM2OGJhMDAwYmE0ZjIwNzVkOWY2OTNkYzg5NzEwODE1NjY0NjkgbGVnYWN5LXRydW5rCis4MjM1NyBlYmZiNmJjMDgyZDkyZWQ5YTQ5OTRjMDE0NzkzZGE3NTk4MzU3MThjIHB5M2sKKzgyMzU4IGE0ZTFjNTZiZTUzMmNlNThmNTUwYWZjZGQ0YjBkYWNmYWZhYjUxYzggcHkzaworODIzNTkgMmY5MDUxZmU2YWQ5YzY1MTUyMGY0YTFhNmUzMmZkNDNhZDNjOTFlMyBweTNrCis4MjM2MCBmZTQ0ODI4ZWE3ZWRkZTFkZWI1NzY5MTQ5ZjU0MTllZGQ2ZTI5N2YzIHB5M2sKKzgyMzYxIGM1MTkyOTIzM2UxOTU0OWYxMDQwMjEzZTFlZDU3NjkyNDJhZTY5ODcgcmVsZWFzZTI2LW1haW50Cis4MjM2MyAxNGY5NGMwMWEwMDJhNTgxMTk3ZDNlODg5NGNjMThmY2M1ZGUwMDlmIGxlZ2FjeS10cnVuaworODIzNjQgZjdiNTQzNTI3NzFkMmNmYmI3YzIwODQ5NmRmZjE1ZWM1NTk3ZTNmZiByZWxlYXNlMjYtbWFpbnQKKzgyMzY1IGI3MmMzM2Y0OTZhYzhlMWQ3NTc3MzA2OTVlOTI5ODYyMjA4ZmQ2MzggcHkzaworODIzNjcgNzE5OWZmMzg2ZjllYzdjZjJjOWFiYmNhYTg2MDJiN2MxMDgyN2VmNiBsZWdhY3ktdHJ1bmsKKzgyMzY4IDJmOGQxNzYyNmNkZmY0NGQ1Y2NhMDFlODNhNmJiMzA1YzhhNTc4OGYgbGVnYWN5LXRydW5rCis4MjM2OSAxN2YxN2RjNmQ0OGJjNGViOWY4MGFhMDQ1MTZhNjQ0NzJlZjgyMjAzIHJlbGVhc2UyNi1tYWludAorODIzNzAgMDcxMzFmMDhjM2RlMTk1YzAzODM1OTFjMzQ1YjRhYTMyM2VlMWMwYiBweTNrCis4MjM3MSAyOTY0MjQzNzQ4MzYxNjU2ZDkwMTA2ODY3MDM1ODZiYzk0YTZmMGJmIHB5M2sKKzgyMzczIDllMjkxYWMwN2M1YmNmNTcyNTBmNTNlZDQ1YzZmYTkwZTM2ZmM0NWYgcHkzaworODIzNzQgMGZlOTc5MzI2NDJlNzdiYTdlNDJkNDM1OWRhNzMxZTc3MzkwMjNiMCByZWxlYXNlMzEtbWFpbnQKKzgyMzc1IDUwNzI1OTBiNGRmZGM0ZjAzZTcwMmUwNTNlM2QxYzY3OWRkYzdhOGEgcHkzaworODIzNzYgMjkwYmQwYzE1MGE2NDU4ZDgxNzJhMTQwOTE5N2VmMTQ5OGJmNTY4ZSBweTNrCis4MjM3NyAxNTgxNjZlZjZmMDZkMDE0ZmRlMDg5OTVkZmFlN2M3Zjg1NTYyMmU3IHB5M2sKKzgyMzc4IGE5MmFjNzU3MDExODNhYTE1ZmUyOTQ2NjhhMjRhYzI4ZTE1MDFiYjEgcmVsZWFzZTMxLW1haW50Cis4MjM3OSBiNWRmYTMzOTQ5OWMyODQ0MTRjNjA0NzU2YWY1MWI1OWRkN2M3YTZkIGxlZ2FjeS10cnVuaworODIzODAgYjg4ZGE0Zjc3ZjY4NmM3NWQzNDExMTA3MDRmZjJhNGQzNjRjMTQwZCByZWxlYXNlMjYtbWFpbnQKKzgyMzgxIGZjYWU5NTlhMmZhYjUyZjQwNmU3ZTcyMWI1Y2RhNmY0NmViZTNiOTUgcHkzaworODIzODIgMzIxZWRiYTVmNzk1YmY2YTAwZmVkNmE2YjYxNWJmYzhlMjc1ZTQ1ZCByZWxlYXNlMzEtbWFpbnQKKzgyMzgzIDI1ZmJmMDIzMTAyZDliOTBjNjdlNDhhNDJjNGU0NmYxNmIwMTE2NzYgcHkzaworODIzODQgZTZiYjk5MGFjOWY2ODcwMjA0YmNjNjAyMTAyOGJmYTc2YTZiYzJkOCBweTNrCis4MjM4NiA0ZmNlMjVhYmZkZDgyZmJkMDUxYmIxMjRjNjA3OWQ4YjM4NjNhNjA2IHB5M2sKKzgyMzg3IDE2ZDg4ZWNhM2MzM2ExOWRmMjVkZDY1ZjMyMmRiMjBhMjE4ZjYxYmEgcHkzaworODIzODkgZDM0Y2UwZGU5NDFjYTg5YTRjMzNkNTkzYzU1MWZiZTg2YzllZjBkMiByZWxlYXNlMzEtbWFpbnQKKzgyMzkwIGU2ZjFiM2QxMDQwYTQ3NWEwNDc2NTIxYmFiZjE1ZWU0Mjg5YjMzNDggcmVsZWFzZTMxLW1haW50Cis4MjM5MSAyYmM1NGRhNGI4MmMxYWI0YzI5ZTQ3MGQ3MmE2ZmY2ODliYmZiZTZhIHB5M2sKKzgyMzkyIDMwODQzYmUyZTExYTI2YzM0NTFlMTYwMTRjM2E3NTQxYjg5NTZmOGQgcHkzaworODIzOTMgMDQzZWYwNGY2NGQyMmM3YjY5OTg4MzRkYmE2MDEzZWYyYzY0M2EzOSBweTNrCis4MjM5NCAzMGUxZDhkMDgxMDU3ODBmMzNmMmFjNGZiZjFiYTczYWRjYWE5OWMwIHB5M2sKKzgyMzk5IDlkY2M5M2ZlNzUyODJlZGY4ZDJkODJmN2E0ODExOWI1NzFjZDVhYWUgbGVnYWN5LXRydW5rCis4MjQwMCBjNWFmZTk1NTI3NzkzYzgyODg0NmIzODZhZTQwODNmMGU5MmE5ZWIwIGxlZ2FjeS10cnVuaworODI0MDEgOWY1NDMwZTQ3NzcwMDdlM2U3M2NiNTA1ZTcyYzU0NjU0ZGMzYjhhOCByZWxlYXNlMjYtbWFpbnQKKzgyNDAyIDAxYzk1ODFjN2UzZjQ5NGRjMGYwMzIzY2MxMDU3ZWI4YmMwOWQxYmIgcHkzaworODI0MDMgZTljOGE5NjU4NGQ0MzRlMTA2MjNjZjRlMzBjMWI5ZjBiZmU4NGIwNyBsZWdhY3ktdHJ1bmsKKzgyNDA0IDc2YmMyNTVkMjlmZGY0ZTNiZTcwZTA2ODc3ZmQwNWUzODI3NWJiMWQgbGVnYWN5LXRydW5rCis4MjQwNSBkYjZmZDQwNWU1OTRmZDZjMzI5ODI2MzQ1MDM3MWYxNTlhOGZhODYxIHB5M2sKKzgyNDA2IDgxNmNkODU4ZDMzMWE4ZDUwNjY0MzljYzZlZTg3MzlhZTk3MDFmM2QgcmVsZWFzZTI2LW1haW50Cis4MjQwNyAzZTg3OGUyNjliMDllZTViMWQwNDYxYWVkNGY0ZjdjYzQ4YTczOGIwIHB5M2sKKzgyNDA4IDNhOTNhMDZlNWUzMGNkZmE4OTRiNzU3ZWZlZmIzN2Q3NzI3YWNhYjYgcmVsZWFzZTMxLW1haW50Cis4MjQwOSBiMDQ2MTZiZTdmMTRkNzA2MDQ0N2YwMzNkNDg2NjM0ZDI0NGQ5OTUwIGxlZ2FjeS10cnVuaworODI0MTAgY2U4MTQyMmVlMzViMzEwNThlODgwNGZjY2VkYTg1OTVkZWE5Nzc3MyBweTNrCis4MjQxMyBlMGQ1YTRhNDkxMTJhMjhlMTFkMDc5OTc4OTdhMDc0MTYxODUyMmI4IHB5M2sKKzgyNDE1IDhiOGYzNjk5NDFjMWVkYjQyODkwNmQ1Mjc5YmZlMzM0NmNjM2YwZjggbGVnYWN5LXRydW5rCis4MjQxNiAzMTg1YjA1NWY5Mzc2NmQyYWNmNGZiODNlYTg3MWIwNTRlOWM2ZjhhIHB5M2sKKzgyNDE3IGE4OWEzZDkyZjhhZWFkZmI4MjVjNTQzNjZkYzkyZjNhOTU0OTJlNzQgcHkzaworODI0MTggYTlhMjY3YTgxZGFjNDIzYWQ1OGJkNjQ1YTBlMGRhZDNiZWVkMjZkNyByZWxlYXNlMjYtbWFpbnQKKzgyNDIwIGM1M2UxMzVhMDhiNjkwYTkwNDU3MjdlYzM5NzdiNWQwMGRhMjA5NTUgbGVnYWN5LXRydW5rCis4MjQyMSBhOTI3MTliNDllNWViYWU4NWYwM2JiN2EzYTlhYTdjNzVmZjA4NDAxIHJlbGVhc2UyNi1tYWludAorODI0MjIgZmExMWQyYjRmOThhMmVlYjExNjFlNjdmMzhiZGVlN2E5MDcwYjQ2MyBweTNrCis4MjQyMyAxM2MwNmE2ZjQ2NzY3NmU2ZGQ5MzBlMzVhYzg4Mjg5ZTRiNGRiODMwIHJlbGVhc2UzMS1tYWludAorODI0MjkgNDNmMDZjYTM2YWIzMGQxNjhhMGNmMDdkYmFlYjQzNmRlZWEwOTNmMSBsZWdhY3ktdHJ1bmsKKzgyNDMwIGZlOTU1M2E2Zjc5OGQ3MTE5Mzg2YmU2NmU5MmQ1ZmI0NDBmOGQyY2QgcHkzaworODI0MzEgNmQwZGVkYjNhMjRlYzA3Njc0NDdlMWI5OTliYmUxZmJiNDMyNjZjMSByZWxlYXNlMjYtbWFpbnQKKzgyNDMzIGJhOWNmMGRmMjFiMDA5OTA3MmYxYTNhYzgwNzQzZmU5YmU2YmQwZWQgbGVnYWN5LXRydW5rCis4MjQzNCBmZWY2MzQ4YzJkZDZjZjIxYjUxMzdmMThhOTc1ZTI2MzFmN2U3NzhjIHB5M2sKKzgyNDM3IDRiMGM4ODI3NWYzYjY0MjU4NTM5NDQxMTg0ZTljMzY2OWFmOTg5ZjQgcHkzaworODI0MzggMzUzNzBkNzIzNmM5YzZhZTYyYjY0MjA1MDU4OGQ4MmEwOThjNzZjZiBweTNrCis4MjQzOSAxNzg2NjI4ZWE2ZmY2NDEwZGI5MDNlZjI0ZWYxMjRlZDU4NjZlNzlhIGxlZ2FjeS10cnVuaworODI0NDAgZTE3YjFjYjFiNjFjOWNjNjNmNjBmYzFlYzljMDljNGE3MDA3YjI4NSBweTNrCis4MjQ0MSBmNDMwYTg5MTk2YzlhZmVmM2RlZjc4YTI5NzVkM2E5MmUyNDFlOTU4IGxlZ2FjeS10cnVuaworODI0NDIgMzMwNGRjNTZkZGE0NDA3ZjhjYzY1Mjg4NzA4ZDg4OWFmYjY3YTQ3NSBweTNrCis4MjQ0MyBiM2JmYWJjMDQ0N2M1MThhN2Y4YjZiNTNlZTgwM2U5MWFiMDJhZDIzIHB5M2sKKzgyNDQ0IDM2YWJkNzU1NGJhZDhjY2EyNzY3MzZkZGY0ZjRjM2I2MWQ1ZTI0MmQgcmVsZWFzZTI2LW1haW50Cis4MjQ0NSA4YTY4OWYyOTc5NzBjOTVjNDA2OWNhOWY5MTA2YWY2ZTI2OTk3OTM4IHJlbGVhc2UzMS1tYWludAorODI0NDYgZWY2Nzk4YTk5ZWFkMmViNjcwMzNhOTc4N2I4M2YyOThmMzQ0NGI1NiBsZWdhY3ktdHJ1bmsKKzgyNDQ3IGI1NDBhNjEyZjYwMTcwMTVlYmM1OTVlNjBlMzQ0YWZlYTljNzBiYTcgbGVnYWN5LXRydW5rCis4MjQ0OCA3ZjE0OTZlNDExMjQ3MzhkZWY0YTY3OGZmYmY2ZWFjMWFiNmQ2ZDM1IHB5M2sKKzgyNDQ5IGU4MzRjNWQzYTlhMzNlMzA0NTg2ZjA5MWIxMTlhMTkwNThiYjVkYjcgcmVsZWFzZTI2LW1haW50Cis4MjQ1MCBhZWM0MjIxMTFjZGVhMzU3MzdmMDliOWNmMDNmMzAxYjA3YTZmOGEwIHJlbGVhc2UzMS1tYWludAorODI0NTEgZjFiYTRlNmQ2YzEyMzE3MzQyMWRmYzMwYThhOWE3MDBiMzY5OWE4OSByZWxlYXNlMjYtbWFpbnQKKzgyNDUyIDYxYWQ2ODk0ZWQ2YWE3NmMwYTM5OTdjODVlOWRhOGE5NzcxNWY1YjAgcHkzaworODI0NTMgY2I3ODAwYzY0OTEyM2NjNzQzMGFlMzEyYWE2NjJmYjVhNTlmYWY2ZCByZWxlYXNlMzEtbWFpbnQKKzgyNDU1IGRlMTZhOTE1YmQyYWM3ZDU4N2QyMGMzMzcwNmExNjY1OGMzNTAyMDQgbGVnYWN5LXRydW5rCis4MjQ1NiA1MjliMjE3NTMzOWJmMDYxNTc3OWZmMmNiODRlN2MzOTcwN2EzODhjIHB5M2sKKzgyNDU3IDQzYzA0NzExYWFjYmNiYWI1MjRhZGVjZmVhODRkY2RjNTU5MzI5MDMgbGVnYWN5LXRydW5rCis4MjQ1OCAzMTQ0M2NmNGRlZjJmMmMxYjU2NGM0YjdlODE2ZDRlYjQ4OTZlZTg4IHJlbGVhc2UyNi1tYWludAorODI0NTkgZmExNmFjYjJmZmRkNjE4NWE2M2FkYmRkOWJjZjEzN2FjNjcyZTZkZSBsZWdhY3ktdHJ1bmsKKzgyNDYwIGM3MmZkOGEyYWUwMWQwNjZiMGZhOGU4Y2RjY2JmYWZjYTcxYTM0YjYgcmVsZWFzZTI2LW1haW50Cis4MjQ2MSAxZWIzNmYxNjljOTcyOGZmYzcwMzczOWY0MGJhNGI0YzZmNmJmNmM4IGxlZ2FjeS10cnVuaworODI0NjIgZDNmYTE5OWI0YTE3NDY2ZDlkMzU2ZWFhNmU1MmViZDRlYzM4ZjM5OCBweTNrCis4MjQ2MyA4YmY2ZDhiZWFmZTFkNTRlOGM3MDEzZjY2M2U4Yzg3NjZlYzU5NjIxIHJlbGVhc2UzMS1tYWludAorODI0NjQgZjI3MWUxZDBlOWM0NDI0OTU0YjFjOGY3NmE0YjdiZDdjMmE0ZjZhZSBweTNrCis4MjQ2NSBkODMxZmMwYzI2MzQyYzMzY2Q3NTNiNDAyNGMxNWE3NzY0OThmMzUwIHB5M2sKKzgyNDY2IGI4YjExZDQzNDk0MDYxZDQyZjRmNmExOTEwYmJiNmI4NjM5ZjhjZGMgbGVnYWN5LXRydW5rCis4MjQ2NyBiMGJlODlmNzBmZjliNzZlZGMwZGI0MWNhMjA4ZDkxY2Y2ZjcwYjM2IHB5M2sKKzgyNDY4IDk5MDBhOTk4YjQ2MGNlZDAwYzVmMjQyZDI4ZDJhOGUzZGU5YTY3MWMgcHkzaworODI0NjkgOWRjNWYzODVmNDk0MmM0Nzk1ZGNkNGVjMDZhZTdjM2MxNjIxMTllYiByZWxlYXNlMzEtbWFpbnQKKzgyNDcwIDRkZTEzZmVhZWEwMTgwNWUxNDgxYzgxNTA2ZGFiNzNiNTIzZmExYmEgcmVsZWFzZTI2LW1haW50Cis4MjQ3MSBlYmUxYjNmZjhkMzAyMTgxODVhNDU3ZWIwMTIzOTc1Mzc1YWJhNDY0IHB5M2sKKzgyNDcyIDYxY2I5NDEwYTg0MjRiNTA4NTEzNzE5YTQyZmMyYWU0Y2QwMjFiOGUgcHkzaworODI0NzMgNGQzYjRmMzQxOTJiMjM5ZTg3ZDhiYTA3NzM2NjIwMTU2ODI5Y2M0MSBsZWdhY3ktdHJ1bmsKKzgyNDc0IDMyMzk2ZTgwMDQ4ZjlhODcwNmIxNmFlNjFiZDgyOWQ4OWQzMTlmMDYgbGVnYWN5LXRydW5rCis4MjQ3NSA2OTc1NmNkZjUzN2I0ZmEzN2RjYTlkN2M4ZjBmMzk5MzhhMjQ4ZTBiIGxlZ2FjeS10cnVuaworODI0NzYgOGUyMGZmYzYxOTg2NzNjYWFmZGM3MjAxYWI5YmZmNjgwOTU2ZmE5NyBsZWdhY3ktdHJ1bmsKKzgyNDc3IGNjNGJkNzY2ZmUxMDlhNTcyMWQ2NTFhYWUzNjU2NzA3YjM5MjIwZWIgcmVsZWFzZTI2LW1haW50Cis4MjQ3OCBjNTg1NWRkZGYwZTFmYWJhZTk4MWE3NWVkNGE5MzQ2NTA5MmI4OTljIHB5M2sKKzgyNDc5IDU2MTNkMmUxZDc3OTUyN2VhYjhjNGU4ZWQ3YTI2OGQyZTA4NGIwY2UgcmVsZWFzZTMxLW1haW50Cis4MjQ4MCBhYWU3MzgxYWMwYjJkMGE1YzQ5OGViNTJlMzNkN2M5NzQzNDI3MWM2IHB5M2sKKzgyNDgxIGQ5N2MyNDUyMzMyMTBjNzliYjY0OTk3YmRlOTFhYjQ3OGM5ODY2ODMgcHkzaworODI0ODIgMmFhYjk1N2JmNjFmZWM2NWFhY2JhZGU1YTVlN2ZmNmUyMDlkYjBlOCBsZWdhY3ktdHJ1bmsKKzgyNDgzIDZjZmU3YjkwNDY0OWEwNzNjMjBjODM2NDZjMDQ0ZmRmZGI1NjE3N2IgbGVnYWN5LXRydW5rCis4MjQ4NCA1ZDgzNGZjZGY5ODBjZGZhMWZhZDA0YmJlYzEzYmUzNDg5MzVmOGRmIHB5M2sKKzgyNDg1IDIzM2M4ZGFiOGZmYTlmNzEwNTI5YjA2NzFmYTUwZWZlZmQ1NjQzMGQgcHkzaworODI0ODYgYWM4MjNlNzE2ZDU3MTdlOGNjYzBlMTAyZjE2N2EzZGI4Njc0Y2YxNyByZWxlYXNlMjYtbWFpbnQKKzgyNDg3IGJiMjExYTJkZGFiZDVmMGI4NjJjYjhjZTJiZjc1ODRkNWEwZmY0MDUgcHkzaworODI0ODggNTVlZGY3OWFkODI3N2YzOTljNDdkMDllMzE0NTNlNjJlNDdmNjMyNyBweTNrCis4MjQ4OSBkMzVmOGU1YjQxOTdhOGQ3YTE1MDRmZjQ3NGRmMmY5ZThkMTUxMzAxIGxlZ2FjeS10cnVuaworODI0OTAgNDBmMTliMGJmYTYxYTU2YjQxNDBkMWNmNjVhYzAyZWI2Y2M3ZDEwNSBsZWdhY3ktdHJ1bmsKKzgyNDkxIDZhY2IyNTM1NmQyZjFhNjlkZjE0NDgxZDRmNGQ4NTVhMTk5NDkyN2UgbGVnYWN5LXRydW5rCis4MjQ5MiBiZThlMWE2ZWJmN2FiZTc1YTM4MTRjNDJkMzI5MDNiODliZWNmODg2IGxlZ2FjeS10cnVuaworODI0OTMgNGNhNWQwYWVhNDFkMzYwOWNmNDY2YmZlODM1OTExMmZmZjI1YTc2MyBsZWdhY3ktdHJ1bmsKKzgyNDk0IDhiYjkzMjg4ZGI2ZDY4ZTljMThhODVjYWI5NWVkYjJlMDNkMTUyYjUgcmVsZWFzZTI2LW1haW50Cis4MjQ5NSAyOTExNmIyZmNmZmU5MjgxMzcxNjRlMjc1ODU4ZmIzYzY5MDZkZGQ3IHB5M2sKKzgyNDk2IDcxODQ0MjFmODNiNTY0ZmFiNTlmZTJmYjMwYjQyMjc2NmFhMDJjNDAgcmVsZWFzZTMxLW1haW50Cis4MjQ5NyBiM2I5MTJkNDUzYTU4MmU0MWRmZmZlNzFhOTE0ZTFjZmRlN2JiNGY3IGxlZ2FjeS10cnVuaworODI0OTggOTljODRhNTFmNTc2NWJiZWJiZmY3NTA4ZmFmYzVmNGUwMWE1NDBhZSBsZWdhY3ktdHJ1bmsKKzgyNDk5IDJkNWY1MTUwZGNlMjRkYTdjYjY4NmJlY2NlZTAyYjI5NzU1ODNhMDcgbGVnYWN5LXRydW5rCis4MjUwMCA4MGM4YjQzNDEzMTJhMzM5YTAwZjM3NjMxYzM4NTUwMDc4NzhkN2NkIGxlZ2FjeS10cnVuaworODI1MDEgNTRmZGNjMGY0YmFjZjM3NDg0ZGJiY2NmMmQ3YWVlYzJiYzgyYTcxOCBsZWdhY3ktdHJ1bmsKKzgyNTAyIDIxNDU1OTNkMTA4ZGU2MmViZjc3MDk4N2E0YWMyYTU3ZDI2OGM5ZDEgbGVnYWN5LXRydW5rCis4MjUwMyA3ZjdkODIzNDAyYzY5YWU2MjMyYWUyNjA5M2NkNDgyYTRmMzU3ZjNiIHJlbGVhc2UyNy1tYWludAorODI1MDQgM2Y0NmY4YTlkYjU0OTUxOTMzOWZiOWQ1OThiNGJiMGZjZmRhYmQyMyBsZWdhY3ktdHJ1bmsKKzgyNTA2IDc2ZDkwODQzZGJhNjEzYzUwMTM4MWY1NjM1YjVhZWQ2YWY0NDFkZjYgcmVsZWFzZTI3LW1haW50Cis4MjUwNyAzNmQwMWMwMTdiOWJlZWY5MTdmNWJiZTQ4MDc4NTEyZTBlN2Y0OGQwIHB5M2sKKzgyNTA4IDE5NGI2ZTYyYmU5NTBkMGNjOThlYTVjYmE1ZWMyMzY1NmQwNTBiMzEgcmVsZWFzZTI3LW1haW50Cis4MjUxMCAyNjI1MjlkMWMzMTVjZDE5ZTlkNjVkMTA0MWRiZTdlNDJkYzlmOThhIHB5M2sKKzgyNTExIDJhZWU4MjllZGZlMjgwMjI4YmNmOThhOWJkZmUzYTJkZTFiOWI5ZDYgcmVsZWFzZTMxLW1haW50Cis4MjUxMiBkNzZkMGVlYjIzY2FiODQzYWJjNjM3YWE5NDIzYWYwZjRmZjIxYzY2IHJlbGVhc2UzMS1tYWludAorODI1MTMgOTc2YWE0YThiY2YzMDdhYmI1MmVjMDBlMzMxMmM5YTJiMTJiZTg4ZCByZWxlYXNlMjctbWFpbnQKKzgyNTE0IGU0MmJhZjY3OGQxNDQwMDYyMDIyYWFlOThlODZkNzYzZjJlOWFhNGUgcHkzaworODI1MTUgZmU0NmE4ZGJhZjY4Y2E3NDRkZjZhYWQ5MTY2YzkzZTU4YTY2ZjMxOSBweTNrCis4MjUxNiAxNzg0NTVhMmYxYWE1YmJkOTYwMGEwYWYxZjY1YjI5ZWNkMDJmZDhmIHB5M2sKKzgyNTE3IDMxYTY4NTRmNzgxMzk5MTlmOTIxZTRiYzg2NmE4OTM4NGVlYTcyNGQgcHkzaworODI1MTggMzRkODI3MjQ5Y2UwYmMyOThmYjllM2QyYzBjODJjZjdhNWJhZGMxNyBweTNrCis4MjUxOSBmYTcxNTEyYTc0ZjkxNGQ2OTc2MGU5MDM3YjgwZmIxYWRmYmMzNDZmIHB5M2sKKzgyNTIwIDZjM2M1NDNlZGU4YzQ5N2VlZWY0ZjcyYzBlN2MwMGIyYTkzZGY5NDcgcHkzaworODI1MjEgMjY3NGQzYmRkYjE4MWU4ZTMzYzY3YzBjNzVhYmE3NjVmNWNkMmY4OCBweTNrCis4MjUyMiAzNGYwMTViY2E1NGVkYjMzMzkxNjRmNzYzNzY3YzZhMGE0OGZiZDE5IHB5M2sKKzgyNTIzIDMyNjgyYjI1M2ZmYzgxN2UxNmRhOWE2ZTEyMTVhZjNhZmVjODAxY2IgcHkzaworODI1MjQgNGMzMGE2ZjQwZTY4NGU2Mzg1MzgzZDk3ZmU3Y2I1ZGZkZmQ0ZjEyZSBweTNrCis4MjUyNiA0YjkzNDgwM2NkMzQxNDI0MzE0ZGFkODcwYzJmOGZjMGQ4NmY2MjM1IHB5M2sKKzgyNTI3IDEzNTU3NTk0ZTIwYjdhZDA4NjQ3NDkxMDFiY2NmOGMzNzUyYWU0ODYgcHkzaworODI1MjggYjY3ZjcyMDk5OGE4ODAxYThhZDhiNzRjYmFhODNlMmFmYjA3ODFkNSByZWxlYXNlMzEtbWFpbnQKKzgyNTI5IDBmNjU0OGE4Njc2OGIzMjgxMDYzMjFiODg0ODkzY2VkMzY4NDBhMmYgcmVsZWFzZTI3LW1haW50Cis4MjUzMiBlY2Q3MWI2MTI3ZTQyNjc4ZGMxYTJiMWY1NzFmNjQxY2VkMGEyOGMzIHJlbGVhc2UyNy1tYWludAorODI1MzMgMzQzOTAzMTE4Y2I1YmI2NzFlMTY5YzQ1MWJlYzQ5OWM2ZmE1MGU3NSBweTNrCis4MjUzNCAxMjRhNzZhZTdhNzBlNzU3MGQ5NDIzZWQ3YTY1ZjZkNDk0OWI5YzRmIHJlbGVhc2UyNi1tYWludAorODI1MzUgZjA2OTFiNGEzODNiODJhZWU4NTNhMTNhZjczOTk2NGZhZTg1ZGMzOCBweTNrCis4MjUzNiAzZmNlNmNkYjQ3MzM3NzExNjk1MzgzMTkzYjQ3NGRmOTRlYzdhOGM1IHJlbGVhc2UzMS1tYWludAorODI1MzcgMWVhZjRiYmU0YjFjMWMxOGI5MWNlY2U5ZDk5YzQ2NjhiYTRmM2Q4YiBweTNrCis4MjUzOCA2MWNhY2VjY2Y4MDU4MTM1M2I4NGQ3M2MwZGFhMTA5OTE2YTFhYmUxIHB5M2sKKzgyNTM5IDE4MjgyMDM5YzVjOWMwMDZkYzVmZDVmM2YwNjIxZmExMTBiMzFkOTYgcmVsZWFzZTMxLW1haW50Cis4MjU0MCA5MzkzMjYxOTk2Y2VlMjMwYzY1Mjg1YWRkN2UzMGZhNWY3YTkwNmM2IHB5M2sKKzgyNTQxIDllMzU0ZWEzODJjY2U3Y2IwMGNlZjViZTJiZWRlMGNmOTljMzlmMzEgcHkzaworODI1NDIgNzY3YjRjNTdhZWE0ZDliZDdhNDBmNmZmM2E5YzU2YThjMDk2ZDZkOCBweTNrCis4MjU0MyAzODMwMzllZjI2YTBlMDllNTE2MGY2YTk0ODRjMjdlZDE5MDM0MmI1IHJlbGVhc2UyNy1tYWludAorODI1NDQgM2FlOTEzYTljZGE5MGVhM2UyNWQ5NzlkMjc1NDRmOTI0MTY2MWYwNiByZWxlYXNlMzEtbWFpbnQKKzgyNTQ1IGE2M2Y2YmFiYTZiNTRkZTk4Nzg4OTM0Y2QzOGZkMWQxMTBlZjI5MWMgcmVsZWFzZTI3LW1haW50Cis4MjU0NiBiZTY2MmQxMjQzODU5ZWQ0MzdjMDg2OWI2NmQzYjc5NzlhYmY4MWM5IHJlbGVhc2UyNi1tYWludAorODI1NDcgMzYxNDMxYzRkMzQ0YzQ0YWNmNmU2ZWRjZTA3ZTIwMDQ3NjBiZjU1OCBweTNrCis4MjU0OCA3Y2U2ZTM2NGUxMTgzMDY3ZTdjYTgzNzlmYWQyNjgxZjQ2M2E5MmNhIHJlbGVhc2UyNy1tYWludAorODI1NDkgM2IxNTQ4NjYwOGYwNWJlY2QxNGM3NjA1NGM1ZDk5YmE0NTQ4MjY4YSByZWxlYXNlMzEtbWFpbnQKKzgyNTUwIGIwNzQzZDUyYjZhMzE3YjI5MWY3NTNkNWViYjczNTdhYzFkODUyZjYgcHkzaworODI1NTEgMzQzY2Y1YTA4ZmYwMGYwNzIzN2MxOTA5NWYzNGIxOTRlNzZjNDJjMiBweTNrCis4MjU1MiBjNmYxNmI4Y2I4NThkYjk1OGIxODRiZDZkNDUyMjIxMGE3ZmEwNTZiIHB5M2sKKzgyNTUzIGQyODMwMDkxMjM3Y2VhM2NjMjM1YTZkMDUxZmUwMzJjMzEwMTQwZWMgcHkzaworODI1NTQgNjkyYjc5ODljZDkyMDM2OTA1MGU3NWJiNmFkMGI1NWIzY2JlY2VjZCByZWxlYXNlMzEtbWFpbnQKKzgyNTU1IGZiMzYwYzA3OTA1OTc2YjFkMGU3NzZmY2M2ZDY5YTYyOTE3NDgyYjQgcHkzaworODI1NTYgM2FhMjI0Mjg1ODJhMzhhMjcxYjllYWVlNmMzNGExYzMyN2UxZmYwMCByZWxlYXNlMzEtbWFpbnQKKzgyNTU3IDgzN2UzY2QzZDA4MzQ2MzNkZWIxOWZmM2VkYTllNjE2MWJmNWYxZTkgcHkzaworODI1NTggZDg4MGMxMTQzMTc1NjdiYzg5OWNlZTY4NGU4YjM1N2FmYjNmZGUxOSBweTNrCis4MjU1OSBjMWEyM2E1NDBhMjlkZjYyNmM4ZDU0N2Y4YTgxMGM5NDhkMTZhNTFmIHB5M2sKKzgyNTYwIGZlNTIxN2E4YWZmYmRjMGY0YWM3NjgwNzRkOWFhZjJjYjY2ZTkxMjggcHkzaworODI1NjEgNDZhYmRlMDcxZmZmY2UwMTMyY2QzYzg3NzljYjA5ZjZlYzBkMmE1ZSBweTNrCis4MjU2MyBhMWM0NTYzMTdiN2MzYTIzNjhlNmU4MmIzYTFkNzdlZDBlYzMxZjAyIHJlbGVhc2UyNy1tYWludAorODI1NjcgN2ZmZDJhNDQ5NDJjZjY1NjI3OGQwNGZkOWQyNjdiMWVmNzQ5YWU2NyBweTNrCis4MjU3MCBkY2MyZThiZjY0Y2ZmNjFmZGJjOTg3NzY1OTI2YTRhNTY2YTUzZjM3IHB5M2sKKzgyNTcxIDAxNDUwMTIwYzBkZDE4ZDQ4N2IxZDNiNGQ1ZDhkNDIzMDhmYTY1MzkgcmVsZWFzZTI3LW1haW50Cis4MjU3MiBlMWY0OGViMDE0YzcwNDZhZWUxNmZmOWNlMGNkNTZmNzA2ODE0MjgyIHJlbGVhc2UzMS1tYWludAorODI1NzMgY2Y0ZjdmOThmMTllNzJiYzFjYjZmMWVjYjg0MTRhMTE3N2Q5ZDhmNyBweTNrCis4MjU3NCBlODRkNTE2NDQxNDQ2MGEzNmZmZjc4MGMyN2Y3MzI0ODU5NjEyYjY3IHJlbGVhc2UyNy1tYWludAorODI1NzUgYzgxZmMxZmZlOTQ2NzAzYzc5MWVmYmZjMGZkMWVjMGNjM2M5NmYwMCByZWxlYXNlMzEtbWFpbnQKKzgyNTc2IDcyNjQ4M2Q5N2I1YzA5MzZmODBmZWZjZDg2NzIwM2Y5NWQyN2NmNjcgcHkzaworODI1NzcgYTdjOGI0YTY2NzhiZjEwMjEzMDBlYTcwNmQzZjg5MTA0MmNiMTc3NyBweTNrCis4MjU3OCAzNmQ1ZTJmNWQ2MDA0Mzk1NGExNTVkMDQ2ZTMxOTcyYWU1NWY5YWRjIHB5M2sKKzgyNTc5IDhlZDdkMTExYjJjOTdmZWQ2MGU2YWM0Mjg0MWZlMDUyM2RkMjU0NzYgcmVsZWFzZTMxLW1haW50Cis4MjU4MSA3MDU4NjlkMWJkZjBmZGEyMTFmMDk5YzFkNDI1OTY1MmY0YWQzZjUwIHJlbGVhc2UyNy1tYWludAorODI1ODUgNDAwMWQ0NThmMGIyMGNjN2YzYTE0ZGJkOGNlYWM5YzM3ZTA4Yjc4MyBweTNrCis4MjU4NiBlZTllZTJmOWZlYjljY2ZjMGI2N2JiMTZmMTBmMWMyN2MwMjg5ODA4IHJlbGVhc2UyNy1tYWludAorODI1ODcgOWQ1ZmU5MzYxZGUyMWRlNjhjYmZmMzdiOTYzYzJhYjkyM2M4ZTZlMyBweTNrCis4MjU4OCA2ODBiZjZiOGFiODI0MGE5NmVlZTliNDNjNGYxZTBmMzU1N2I4YjE3IHJlbGVhc2UyNy1tYWludAorODI1ODkgNmVjNTcyMmEwN2E1ZjJhYmU4YTc2Y2ZkNzc5MDM2ZThlYzE2YThiOSBweTNrCis4MjU5MSBiNmZlZTU1ZmFhMWJiYmM4MDg2YjZiOTJmOWY3OGQwN2E5ZTRjNjY5IHB5M2sKKzgyNTkyIDNiNzNmYjgwODA3YWExYmMyZmUwZjk4ZDgxOGJlYTM0MjZkZWFjNGYgcmVsZWFzZTI3LW1haW50Cis4MjU5MyA4N2NkYWZlM2JkNmM3MGEzNjJjYmRmMjllZWU5NGJkMTBmNDEyYmFkIHB5M2sKKzgyNTk0IDhiYmYyNGU1MWNjZmFhZGEzZDcyZjkwYTRmYmNhNDZkNGZmZTJiZjQgcHkzaworODI1OTUgNTA5N2IxYjQ5NjAxMmUxZTM0MGY5ZGI2NjBmZDVlMGZkZjkzODExZCBweTNrCis4MjU5NiBhMDdlZjVlYWI5MGJiMjViMTA0ZTY1ODVkYWEwZjFiNzZmMzMzOTQzIHJlbGVhc2UyNy1tYWludAorODI1OTcgNGQyOTFhZDA3ODkxNDlmYzExZDAxNjI1NWFmYWViOTgwNTc5MGIxZSBweTNrCis4MjU5OCAzZGMyMTkwNzM4NzU3NGU3MzhhYzdmMjNlNDNjYTVjOGUxZDQ5YTFkIHJlbGVhc2UzMS1tYWludAorODI1OTkgOTE0NTdiMjAxNGU0MGI2MTkxNjIwZTllNzUxZWNiMjRhY2NiYzU2OSBweTNrCis4MjYwMCA4NzBiNmI0NTVlZjA1ZDFiNTNhMzMwOTM4ZjgwYmM3NjY1NTkzY2U1IHB5M2sKKzgyNjAxIDFmMjgxNGViNGQxZGQxYjFhNjcxNDMzOGQ4M2ZlMTFhNmU3MzRlYTMgcHkzaworODI2MDIgODY4OTA0NDZhNDdiY2Y1Mjg0YmRmZjNhMmRhMTkxYmUyNjEwNTA1ZCByZWxlYXNlMzEtbWFpbnQKKzgyNjAzIDM5YzdkNTRmMjg0OGMwZDFmYTJlMzAwOGY3NGJlOWY1MDg2ZDllMjYgcmVsZWFzZTI3LW1haW50Cis4MjYwNCAxZjM3ZDA4MmE5YWFmODAzN2UwM2Y2YjMwNWRjNzhlZDEwOWNiZWJiIHB5M2sKKzgyNjA3IGYxYTQxNDdiM2MwMjNjY2VhN2M2ZGY4ZmNjNjEzMGE5ZDM5MDcxNDUgcHkzaworODI2MDggMjM5OWUwNDUxZDBkZWM4NjYwMWYzNGMxZmJiY2UzMWVlMjhhMGFiNyByZWxlYXNlMjctbWFpbnQKKzgyNjA5IGQzNmRjMzdjNjdmODg3MDYzZWRlZmEzNzE0YzA4MGZjZmE5NjQwMGQgcmVsZWFzZTI2LW1haW50Cis4MjYwOSA3NGIwZWI3NjVhNTA0OWIyNTNlMWNjMzUxZGE4ZmYzOWUzMDgyYzY2IHJlbGVhc2UyNy1tYWludAorODI2MDkgMDcyOGIyOTVmNTNiZDZhM2Q3MGY1ZjVjNzI1YTg1NWI4ZjNhZjIyOSBweTNrCis4MjYxMCAyMDJmMzFkNDAzODljZTNmNjU5ZmIxNTYzMDhlODJjZWUwMDM4MDdkIHB5M2sKKzgyNjExIDA2MThjNjIzMWExZjE5MjcxNjU5OWNkNjAyZmY0YmEwMDIyMmZlOWYgcHkzay1kdG9hCis4MjYxMiBlMTJhZWNkYzMzMmM3ODc3OTZkZjI5MzAzY2ZmNjFjZjExZDc1Yjg1IHB5M2stZHRvYQorODI2MTMgNGZlNDkzZDk5ZGNjMWMyMTdiY2M1MjdiMGYzNjNmYmMwMGRlZGRjYyByZWxlYXNlMzEtbWFpbnQKKzgyNjE0IDcwYjAzODhmOWQzZjUyNTY1YTg1ODkwY2FhYzNmYjk0NGUzMGUyYTQgcHkzay1kdG9hCis4MjYxNSAzZWE2ZjY5ZGIyNDI2MTk4MjRiMDhiYTgyMmI3ZmRlZTIwY2QyZjkxIHB5M2sKKzgyNjE3IDU4MTJkZDQ0ODA3YWY5NjUxN2VmMmYzYWY4MTFjMWFkNGQ3YzgzYTMgcHkzaworODI2MTggZDJiMTY4OWEzMzgxZWM2NTJkN2M0ZWM4NTIzYzkyNzZhYjQ4ZGZhZiByZWxlYXNlMzEtbWFpbnQKKzgyNjIwIDA1NjJmMmUwNTI4ZDEyZGJkMmUyNTRhZjA0ZDQyMGJmZDA5OTg2NGQgcmVsZWFzZTI3LW1haW50Cis4MjYyMSA0M2FiYTA5ZTg5NDY5MzZlZDUzZTJiYWI4MmFiNjhkZWI5OGEyMWI4IHJlbGVhc2UzMS1tYWludAorODI2MjMgOTEyYWIyZmI0M2Y1OGIwMTI5ODgzOTM0YWJkYmY0NjdkMDc3MGExYyByZWxlYXNlMjctbWFpbnQKKzgyNjI0IGY2NDFiZDU0NmRlNDEyOGNkNzljZTc5MzIwN2QyMzAwYjRlZjg3MDAgcHkzaworODI2MjUgZTY1NTg0OWU3OWM2YzgyYTlkNDk3Yjc4YzA2YjA0MzFhYjM5MjUxZiBweTNrCis4MjYyNiA4NzU1NWY0NWNkNmJlNTg2N2Q4MmQ5ODI2Njk0ZTJhNGViYmRjN2RhIHB5M2sKKzgyNjI4IDc0YjJjYmRhOWJkYTQ0N2Y5OTc4MzgxMjM1NTkzOTkxNTgxMzcwZDkgcHkzaworODI2MjkgY2NmOGU2MDIwY2YzNGI1ZjVlYzg4ZGQ1ZjI2OGIxMzM3NDZhZjEwZCBweTNrCis4MjYzMCBmNjI2NmM0NTkxNTYzMDZjOWJhYmQ1ZmQ4ZjMyZDc3NmMzZDEwYzBhIHB5M2sKKzgyNjMxIGU3ZGE5NjhlM2U1YTBkYTY0YmFkOWRlZDlmNGFmNWEyMDQ2ODgzNDEgcmVsZWFzZTI3LW1haW50Cis4MjYzMiA1ZjNlMTg2YmVmMGYwODM1M2I3MmFkMzk0MDk5YTFjYjJjNGY2NjVlIHB5M2sKKzgyNjMzIDM0ZTNkYmQ0N2U0ZmEzZWQwYjZmNjU0YTJjZWQ0MTM5Y2Q3YTUzMWMgcHkzaworODI2MzQgOTQ2NDY0ZmQ2OTIxMGQ3MGI0YWM1ZGRmNjc5ZTI3OWZhYWZiNWVlMiByZWxlYXNlMjctbWFpbnQKKzgyNjM1IDU1M2YxMGIwMzdkOWVlMjMzYmQ1MWFjMGM4MzkxOWNjN2E1ZjhjNWIgcmVsZWFzZTI3LW1haW50Cis4MjYzNiAzODRmNzNhMTA0ZTk0ZTEwZDc5ZTljMTkzZTdmZDBlMmYyYzg0ODg0IHB5M2sKKzgyNjM3IDM4MmRjYjBjNjA3M2ExNDY4YmY0NzBiMjJmNzJjZmUwNzRlZTY0OTQgcHkzaworODI2MzggNTVhMDI0ZjUxNTI0YmZkMDM3MTg4ZDYxZjhhZWViYmYyMzIxZjVhNCByZWxlYXNlMzEtbWFpbnQKKzgyNjM5IDhjNmIzZGM2NTJmYjkyMzIyYThkMzRmNmE2MzU0MWIzZTNkMzI2NDkgcmVsZWFzZTMxLW1haW50Cis4MjY0MCBhMDA4MmE3NGQxMjVhMmU4NWY4Y2QwNWE1M2IxNjEwNjZiYWRiNTU2IHJlbGVhc2UyNy1tYWludAorODI2NDIgMDQwNjc5MDg3ZDAzNTJiNTY1MTNjZTUyOTQyM2MyOTIwYzIyNjYxOSBweTNrCis4MjY0NCBjYTA1MzcxY2ZmMTBhMmY5ZDBmMmEwM2I1MTM4NDQ4NDg4Njg3MWEwIHB5M2sKKzgyNjQ1IGY4NDVlZDFkODlkNWJiOGMwMzBhOGExNzEwY2Q4MGI1MWEyYjU4MWIgcmVsZWFzZTMxLW1haW50Cis4MjY0NiBjYTBhMzMwMWE3ZWExYmFhYmFmNWMwMmRjNjUzYjI3ZmI4OWZiMzRhIHB5M2sKKzgyNjQ3IDEwZTZhNTQzMGI3OTQ0YjZiZWJmMTUzZTFkNmZhYTNhNDA1YjgwOTAgcHkzaworODI2NDggYzczMDViYTg0NjE5N2I5MzViZmVkYTA1ZDk0OGVjODVmNjJhMTE5NiByZWxlYXNlMjctbWFpbnQKKzgyNjQ5IGQxNTZmN2IzOWMzYzM0MzIzZmFmOTQ3YjlmYmYyMDM2ZjgxODY1NzEgcHkzaworODI2NTAgNWJjN2RiZDMxZDFiNDk0NmMzOTVkYzYzMjBjZDRlYTFlNjMwZWJjNCBweTNrCis4MjY1MSBiMDQ0NjI1MzIyZTMxNmM2NDg0YTUzMjYxZGZkYjNlYjRhZmUwYWYyIHJlbGVhc2UzMS1tYWludAorODI2NTIgYTYzMThkYWZiOGViNWMyZDgxOWZkNzA4MjJkYmViNWU1ZmY3MGZlZiByZWxlYXNlMjctbWFpbnQKKzgyNjUzIDNkOGE3ZjcwMWNiMWMyNTM3ZjU4MWExNzgwYTEyNmVmZjY1NTJkNjkgcmVsZWFzZTI2LW1haW50Cis4MjY1NCAwOWY1ZmQwMTNjMGJlMmZlN2JiMGY0OTQ2NGFlMzFlNzI2NjM0YTk3IHB5M2sKKzgyNjU1IDk3NTJiODVjMDExOTJmZTgzOGRhZWQwZWZhYmE1MjcwNmQwMjZjNTEgcmVsZWFzZTMxLW1haW50Cis4MjY1NiA2ZWRjM2UyYTdkYTRhYWRhZmFjZTQ1NjliMGZjN2JiYjM1NTQ0M2IyIHJlbGVhc2UyNy1tYWludAorODI2NTcgOTc0ZjhkOGJjMGQ0NGQxNWQ4YjhkZjUzODUyZWJiYThjZTdkODYwYyByZWxlYXNlMjYtbWFpbnQKKzgyNjU4IGM4YmVjZjYwNmEwYWFjMDk2YmY4NWY0OTZkNjhiOTYzODI4Njc0Y2EgcmVsZWFzZTI3LW1haW50Cis4MjY1OSA3MzBiNzI4ZTVhZWZiNTZjY2ZjNGU5YzJjYzkzNGMyYWQ4NjM4MDU5IHB5M2sKKzgyNjYxIDdhMjE2YmMyYmVkNjUwYjk3MDViNjg4YThjMGI2OGUyNzQzY2Q2ZDkgcHkzaworODI2NjIgMzUyOGM0ZTc4MGJmMDdiOGY5MDJhY2U3NTM3MGQ3Njc4NTdjMGZiZiBweTNrCis4MjY2MyBlNGJkYTRhNTIwY2E3NTI5MmExNzE2MGI1NTQ5ZDNkNjM0MDMwY2ViIHB5M2sKKzgyNjY0IGZmMmQxYjJjZGM2OTEzOWYzMmRlNzg0NzEzZDFiZGYwNWQyOGUyMzEgaW1wb3J0X3VuaWNvZGUKKzgyNjY1IGM2N2Y5OGFkYjhmMzYxY2IxOTM2NzZjOGY1MWM5MTU2ZTkyN2FiMGMgaW1wb3J0X3VuaWNvZGUKKzgyNjY2IDViNjMxODUzNzJkMWYzN2FhNzFkNmYxMmJjYjM0NjczNzdjYzk3YzMgaW1wb3J0X3VuaWNvZGUKKzgyNjY3IDE2ZTM0OGYxNjVmODVkMzRkNmViOGI5NzQ5NTQyZjRkY2UxZWZmYjggaW1wb3J0X3VuaWNvZGUKKzgyNjY4IDQ0YmQ0YWQxZjZkNDJmYWIyMDQ0NTA2NDQ4NTAwZDIzNzAzN2VkM2YgaW1wb3J0X3VuaWNvZGUKKzgyNjY5IDViNmYwM2YzOTFkYWZlMjQ2MGEwYTM5OTg1ODNiNTYyOTdkZTczMTEgaW1wb3J0X3VuaWNvZGUKKzgyNjcwIGU5NjI3OWFjNmQxNDY4YTM0ZDFhN2Y0MzI3MDc1MzhlMGI0MjgxNjAgaW1wb3J0X3VuaWNvZGUKKzgyNjcxIGE5N2Y3NTAzZTUwYzQwNTZmZTMwYmE1ZjQzNDkyNTIwY2RkYzIxYzggaW1wb3J0X3VuaWNvZGUKKzgyNjcyIDYwZmM5NDQ2YWEyZTAzNTM3NmRmYTA3MTEzY2VhNmZmZDZjOTMxY2QgaW1wb3J0X3VuaWNvZGUKKzgyNjczIGMzMGQ4NDgwN2M2MmQwOTVlODRkZGE1ZmQzMjc1MGJkYWEzZWIzNzkgaW1wb3J0X3VuaWNvZGUKKzgyNjc0IGRmZTI2MDIzMWM0OWMxNDI5OGFlMTNiNTE0ZGFlMzA1OGY0NjBhYWYgaW1wb3J0X3VuaWNvZGUKKzgyNjc1IDBjZDk0MTZhMWMxZTY3YjdmNDA5ZTZmMzMzYTdkYjYxMjI1ZGIxNTkgaW1wb3J0X3VuaWNvZGUKKzgyNjc2IGY3MzViYjJiMDZkZTE4NTk4ZGMzMDhhMTk0NDgyMTIzYjMyNjUxYWYgaW1wb3J0X3VuaWNvZGUKKzgyNjc3IGJlYmNiNmFiMDlhNTY1YjEzNzZkZTFhNzBiZDg1OWE1NTFhZjZkMmQgaW1wb3J0X3VuaWNvZGUKKzgyNjc4IGM4NzJlNGZhYTFlNzQyMzkxZWJlMDcyNWZjODMzMzZlZGNiODE5NzAgaW1wb3J0X3VuaWNvZGUKKzgyNjc5IDE0ZGE3YzNlOTIyMzJiMTRjMzhkN2YwMGY1MWE3YzcwYzhhMmUwZGIgaW1wb3J0X3VuaWNvZGUKKzgyNjgwIDA5NTJlMmRmM2M0ZDFiOTg0Y2MwZWRkYjc2NWQ5OGIyMmZiMjgyMjQgaW1wb3J0X3VuaWNvZGUKKzgyNjgxIDc2ZjM2Y2ExMDYxZjQ0ZmE1YTdiOTEzYjY5MjQyNGYzNzk0MWFlZTMgaW1wb3J0X3VuaWNvZGUKKzgyNjgyIDIyYjkzODhkN2MwZWY5MGE3ZTY2MTRjZWU0MDRiZjA1ZDU5ZmVhYzAgaW1wb3J0X3VuaWNvZGUKKzgyNjgzIGU0MjMzZTljODQ2MTIyNjUxZGFjODE1YmU4NDIxNzY0MGM3OTJjNzUgaW1wb3J0X3VuaWNvZGUKKzgyNjg0IGU3NjZmN2JjYjJkNTVjMzQ3NzRkYTMyYmU1Y2Y5YjhlY2EzZGEzNjEgaW1wb3J0X3VuaWNvZGUKKzgyNjg1IDVjYTQxZGVlYmQwZmZhMmVlZjg2MzBkZGE3YjhmY2RkMGY0ZTRmNzUgaW1wb3J0X3VuaWNvZGUKKzgyNjg2IDJlOWZjNTMyZDFkMWJkOWJjODFiMDViOTQ5OTBhMDQxMzlkZTJjNWYgaW1wb3J0X3VuaWNvZGUKKzgyNjg3IGUxZDg2Y2YyY2ZlNDRiZTA5NDUzZjFlYTE5OGJlMGI5MTgyYzRlZmEgaW1wb3J0X3VuaWNvZGUKKzgyNjg4IGUwZmI0OWVjOTQ1Y2NhNTcyNDI5NDY3YTA2ODk1MzYzMzU4YmUyMDcgaW1wb3J0X3VuaWNvZGUKKzgyNjg5IGEyYzdmMjA2MGU1YmRiZDg3Y2ZiYWZkNTQ3NzlmYzU5ZjRiNjNjODUgaW1wb3J0X3VuaWNvZGUKKzgyNjkwIDFjMWZkOTVlMTNiNDJlYmVmYmMyNjgxZjAzMTg3NmUyNDQyNTU4ZTEgaW1wb3J0X3VuaWNvZGUKKzgyNjkxIDBhMzBiNTZjYTNhYzlkZTFiMTVjOGEzNjZmZDBkYzE2ZWViMjA5YWQgaW1wb3J0X3VuaWNvZGUKKzgyNjkyIDM2MGUxYTA4ZTUzYjk0ODBhYTVkY2IzOGUwOTllZGRiYzI5NjNmZjIgaW1wb3J0X3VuaWNvZGUKKzgyNjkzIDYwZmJmYWE3ZDkzZGZkYjE5ZDRkYjEzZjkzMmEyYzFkMDUzZWMzNGUgaW1wb3J0X3VuaWNvZGUKKzgyNjk0IDk1MGI0NzU0YmJlMmFiZmMwYzUwMWJiZjFmNjBiOTI1M2E1ODExOTQgaW1wb3J0X3VuaWNvZGUKKzgyNjk1IGZmZWI4NTEyOGM3ZTg0ODMzMTY5NmI2ZTE0YjIzYTRlYTdmOThlYTkgaW1wb3J0X3VuaWNvZGUKKzgyNjk2IDAxZTRlM2QzNzc0ZDYwNDVjMjk5MjM1ODRjMDhmN2U4NDUyMjg0YzUgaW1wb3J0X3VuaWNvZGUKKzgyNjk3IGU4MWVkM2FkMDY5ZDlhYzJlNWVhOWNjZjg5M2E1ODBhZmQ5MDNjODAgaW1wb3J0X3VuaWNvZGUKKzgyNjk4IDFhZGMyM2RjZTk3MTdjNDg0MDEwMGFkMmUzMzkyZTRjNjM2M2JhMzMgaW1wb3J0X3VuaWNvZGUKKzgyNjk5IDE3N2E4MmVjZmY2NzEwNmFiYmM0YzY3NTY1YzBmNTFjYmU2MDAyNTMgaW1wb3J0X3VuaWNvZGUKKzgyNzAwIDgyNDk3ZjFjMWM1NDE1MjgzYWFjYmViYTAzYjNhY2E3MzRmMDc4MDkgaW1wb3J0X3VuaWNvZGUKKzgyNzAxIDkwY2E0NWQ2NTZjMmQ2NTcwNTVhZTU2N2JmZDVjYjAzNTI0OWY4ZDkgaW1wb3J0X3VuaWNvZGUKKzgyNzAyIDMwYmJjMTg2MGZiYjJlN2JkMDY2NjljNDY2YWU3NzQ4NzRhN2ZkNjIgaW1wb3J0X3VuaWNvZGUKKzgyNzAzIDg2NWQxOGFmZGExNTEwOTkzYmNlYjRkYTIwNmEwNTQyNmY2YzViODcgaW1wb3J0X3VuaWNvZGUKKzgyNzA0IDdhZjIyOWVhMmU2NjVhOWVjMWFlYTZmNzcxYzVlMGYwZGZmZWVlZjQgaW1wb3J0X3VuaWNvZGUKKzgyNzA1IGEyOWNjMzg1MDAyOWY1N2U3MjIzMWFhM2QzNmM2YjNhOWNjODQ4YzggaW1wb3J0X3VuaWNvZGUKKzgyNzA2IGE0MjFiNGI0NWFhNjYyMGYyZDFhNDUxZjViMWY4MmY3MGFmNjhlNjQgaW1wb3J0X3VuaWNvZGUKKzgyNzA3IGE3YmI4NGY4NDk4YTFmNmJjNTViY2QxYzJkYTNjNmUxYjA1NTM3MmIgaW1wb3J0X3VuaWNvZGUKKzgyNzA4IGFmN2VjMTY5MTA0N2JjYzMyYTA2MjU3MDhmYjEyZWUzNTkxZmI5ZDggaW1wb3J0X3VuaWNvZGUKKzgyNzA5IDY4YjBlNzJlZjRmMjIxZDBiNWU2YTNiZWE3NTJhNGJjYzg5NjZhZDggaW1wb3J0X3VuaWNvZGUKKzgyNzEwIDhlNzBhNWVjMWFjYTYyOTU0OGU5YzI3ZjExNzMwNWRmOWM4OWNlZTQgaW1wb3J0X3VuaWNvZGUKKzgyNzExIDZkY2E5MzcwMmU2YmQwMmRkYzdlYWI0MmNhMWI5N2I4MTc3MGNmZTggaW1wb3J0X3VuaWNvZGUKKzgyNzEyIDc2YzM1ZDhhMjZhMDEyMGQ4ZDBiNzkzODI0ZjlkODk4ZTBlY2EzZDkgaW1wb3J0X3VuaWNvZGUKKzgyNzEzIGE3Y2Y5MDNiMTdkY2IxZTI1NmY3Mjc3ZWQ1OGU2YzViMjhiZGU0ODAgaW1wb3J0X3VuaWNvZGUKKzgyNzE0IDc4ZTZhNmZiZDM2MjFiZDhmNzEwMzQ5NzMyMWY0ODU3NzFhMjlmOGMgaW1wb3J0X3VuaWNvZGUKKzgyNzE1IGFiMTdiMGMyMmJhMWQyNGUwNTRkYjkzOTRkNTBjZmY3MWI5NjJlMGMgaW1wb3J0X3VuaWNvZGUKKzgyNzE2IDA5NWIyOTcyYzQ0ZjExMjM2YzBlMjkzMDNjMjM3ZDAwNGVkOWM1MGUgaW1wb3J0X3VuaWNvZGUKKzgyNzE3IDM2ZjZlZDA2NTFlMTM0MGViZjgxZTQ5ZDUwYjkyMjBmOWYxZTRjOWEgaW1wb3J0X3VuaWNvZGUKKzgyNzE4IDg1MmU0YTc1ZTE1NjkwNGFlNDdkZjliZjViZWRmZjZkNWM0NmYxNzUgaW1wb3J0X3VuaWNvZGUKKzgyNzE5IGYwZWY4M2Q5MTM1NDViZGUzMDljNGI0YTAwZmRjMDgxMzRiMmNlYTggaW1wb3J0X3VuaWNvZGUKKzgyNzIwIGVjYmE4ZmE1Yzc0M2VlMGEyMzk2NTU5MTY4OTIwMmE1ODlkNjEzNzAgaW1wb3J0X3VuaWNvZGUKKzgyNzIxIDhkY2Y4NDFmMWJkNDA1ZmVjYmVmYjA0NmFkNGI0MjUzMzE4NjUwYjAgaW1wb3J0X3VuaWNvZGUKKzgyNzIyIGJjMGI0YzkxOGRkYjRhN2QzZTg5MmNlNDk4NGNlNzk1MGEwMzA0ZGUgaW1wb3J0X3VuaWNvZGUKKzgyNzIzIDBlNzgyYTZlNmJiNzZlM2VkYTc2YTdhZDJmY2YwOGFiZTVlYWRmNzEgcHkzaworODI3MjQgYzdmMzYxNzAyOGE4Mzk5MTdiNTEyY2E1YmE1N2JmYjg2ZGU4ZDJkMiBweTNrCis4MjcyNSBhMjE3NzI2MmY2YjdlNWE3NDRmNzQyYjQwZGI3N2VkOTEzMDhjZGE1IHJlbGVhc2UyNy1tYWludAorODI3MjYgMDhlZWU4OWFmN2I5OWQxM2EwNTk4ZGY1OTI3NzhlOWE5NjIzMjhhMyByZWxlYXNlMjYtbWFpbnQKKzgyNzI3IDhjNjE0YmM3NjZiNDUzOTlmMzExZGUwYjMyZWFlMjgxODA2YTBhNjEgcmVsZWFzZTI2LW1haW50Cis4MjcyOCAwZDEyMjAxNzVmMjllZDAxZjAwOTY2ZDVjYWE2Y2E5ZDQ3YzI3MmMzIHJlbGVhc2UyNi1tYWludAorODI3MjkgOGFhYWYwMWZjZjAzZWNhNDQxYWI4NGU5ZjM4ZDNiMWUwYTBhZmU2YyByZWxlYXNlMjYtbWFpbnQKKzgyNzMwIGYzYmZkZmYyMTQ2YWE0ZTEwMzIzYTUwZmNjNGE5N2Y5OWNlMzczYjEgcHkzaworODI3MzEgY2ZjZjZmNjNlMGI0YWMwNWI1MmEwOTE1MTBlNWNkNWZlYTZhMWZmNSBweTNrCis4MjczMiA1ODVjNzBkYzFlYWE0ZjdlZWZiZmZiMWE3ZmIzMWQyZTA3Mzg5ZGM3IHJlbGVhc2UyNy1tYWludAorODI3MzMgZGIyOTNmZDc1MjhiOTRjMDE3Y2RjMmMwNmI1NWQzNzM3ZjdhMzY2ZiByZWxlYXNlMzEtbWFpbnQKKzgyNzM0IDUyM2FmZmQ0ZDQ3MjkzNzA5MDdjZWYzNTlkMGM1NDlkZjFjMzkyYjMgcmVsZWFzZTI3LW1haW50Cis4MjczNSA0M2EwZmMxODRhNTgxNzQ5MTJlYWExNGNjZWJmZDdhZjViZmYzZGUyIHB5M2sKKzgyNzM2IDQ3ZDQ5YjQwNjIwM2EwZjJhOTdmMTVlMWUwNjhhMjhmMzc2NDA1NGEgcmVsZWFzZTI3LW1haW50Cis4MjczNyBlMGRlZGQyZGNmYTgxZTAxMWE5NjcxZDVkNmNmZDA3YzBjNGJkNzBiIHB5M2sKKzgyNzM4IDdlOTRjMDNiYjg0ZTE1M2VjMWYxMWU0YTdkYTBjMjQ3MzAxNDZlNGEgcmVsZWFzZTI3LW1haW50Cis4MjczOSAxMGMwNjMwZjFjMTQzYTU2NzUzYzNjNDBmNWYwMGY4ZWYyOWM1ZmQ5IHB5M2sKKzgyNzQwIDA4OWZkNzEwZGNhODg0OTE1OWUzZWNjNTE1M2JhMjc3YWY4NTRkNTMgcmVsZWFzZTI2LW1haW50Cis4Mjc0MSA3ZDlhYjM1ZTQzYmM2NmFmOWM0MmQ5ZWQ3ODhiZGVkMzAyNjc5YTU0IHB5M2sKKzgyNzQyIDgxNWFlN2YzNzMyYmVlYmQxYTZlMWNhMzEyYTZhNWViMzBmMjJmMTQgcmVsZWFzZTI3LW1haW50Cis4Mjc0MyA1YWU3ZGY2YzkzZWQ5OWI0YmIxNTdhY2U4NjU2MGIzYTg5ZDMyZjYzIHB5M2sKKzgyNzQ0IGUzZjgzZjU2ZGQzY2RlOTM2YzdkMTkwZmYzODk4N2YxOWNiODhhZGUgcHkzaworODI3NDUgZTk3Y2RkNWM1ZTRmYzk5MTU2OTJiODFjNjZlZTMzOTJiNDBmNWIwMyBweTNrCis4Mjc0NiA5MmE5ZGM2NjhjOTUyOWYwMThhNjIwYjQ3MDdiYzA5Y2UxODYxNmMwIHB5M2sKKzgyNzQ3IGQ0MWEzMWY1YmY4MmY2MjRhZjIxOWY5NjlhN2U1NmNhNTM1NTk5NTMgcmVsZWFzZTI3LW1haW50Cis4Mjc0OCA0ZWZmOWMzNWM1NGE3YmI5ODU0ZmUxYjYzMTM0YTVlYzUyZTdhYmZlIHB5M2sKKzgyNzQ5IGZiYTllOTFlODhkY2RmMGM3NDkzNDZiZjY2ZDEwNDE0ZTY1OWZmN2QgcHkzaworODI3NTAgYzcwZDUwZDIxZjg1MWE2YTU3MTQwNjk5ZWYyZGE5ZTdiYWIzY2Y1NCBweTNrCis4Mjc1MSBkZTFiOWZjM2UxZTcyMjBmNDMyZjYwN2I1OGE0NjEzZmFhMWU1NjdmIHJlbGVhc2UzMS1tYWludAorODI3NTIgOGVhNjBhZTE0OTY4ZjM2OWEyOWMzNDIyODk1ZDY5NWM1ODUxNzMyMCByZWxlYXNlMzEtbWFpbnQKKzgyNzUzIGJkMTljNzE3OGYyNDJjMzg0MTQxZjYyMmEzMzA3YWNhMDYxYjE3ZGIgcHkzaworODI3NTQgZjQ3ODFhYTgyYjM3NTBiMWQ0ODlkNjBjMzFiNzZhNDljMzllMDNlMiByZWxlYXNlMzEtbWFpbnQKKzgyNzU1IDUwMjViYTA1NTNiNjMyOWViMTU4ZDQzZWMxNmMyNThjNTlmOTI2ZGQgcmVsZWFzZTMxLW1haW50Cis4Mjc1NiA2MzYxM2M0ZjYzMTdmMDZhMDUxNjVhM2U3MjZmNjEwZDM1MTA4MjA2IHJlbGVhc2UzMS1tYWludAorODI3NTcgNGQyMjJlZTJhMWM4NTQ3NmRjMGQ2Y2VkNWY4MmNmOTFjMGEzZjgyNCBweTNrCis4Mjc1OCA3YjU3Mjg5ZWJlMGQ0ZWY5OTFmNTVmZjFjOTdjOTA0MzgzZTUzY2IxIHB5M2sKKzgyNzU5IDk4M2UyYzBiZjhkY2RlY2RhOTliZjkxMjA3NjFmMjg1YTBjM2M5NTAgcHkzaworODI3NjAgMzVjNTlkMTFhZTEzODMyNzkzYjMwOGI0MWM3NGM5OTVlODRmYTk0NSBweTNrCis4Mjc2MSBiY2I3OWUxYWEwMGY3ZjQ0ZDA4YjZjNzg1NjdhNTUxMzgyZjYzMmY5IHB5M2sKKzgyNzYyIDMzZGU5Y2FmNzA5MDAwMDIyYTk3MmJiYmJkYTUwNmIxMmIwM2I4MDkgcHkzaworODI3NjMgMjU0ZWY1MjA1MTI4YWM2ZDYwMjkxYjZlMjlhNWQwMGM1M2FkNjUzYyBweTNrCis4Mjc2NCA5NDM3ODQ3MGFlMWM5MDc4M2YyMmU3ODg1OTg3MThjM2Q0N2E4MGJjIHB5M2sKKzgyNzY1IGZmMWE4MDM3NjQ4YzRiYzljNTQ4NzU4NzQ5NTA3YTcxYTUxNjAwMGEgcmVsZWFzZTI3LW1haW50Cis4Mjc2NiA4YmUyYjllNDg3MTg3YmRjMjg1N2JmYjgyODE0ZGU4NTgxNmZiOGIxIHB5M2sKKzgyNzY3IGFhYzA5MmVhZjlkMTgyZDE1NmJjMmQ3YTIwMGM5MzZmYTI2ZWJjMTcgcHkzaworODI3NjggMGZiZGMzZmEwMjRiZTU4ZThmMWIxZDg4ODdlZjhkOGU4ZDQ1YjAzYiByZWxlYXNlMzEtbWFpbnQKKzgyNzY5IGRhYjI4NmQyYmE4MmZmYWJjOTkyYTJjMTdkNmJjNzgwYzlkNzI5YTcgcmVsZWFzZTI3LW1haW50Cis4Mjc3MCA0OTg2MWRmYjI3MDE4MDIxMTE1ZjBhMjEwM2UyMzYwYzBiMjE0MmFjIHJlbGVhc2UyNi1tYWludAorODI3NzEgZWQzYmM3YTk2ZmZiNGJhMzdkM2I2MDM5MDI2ZWExYTc2MmU2MDBhMiBweTNrCis4Mjc3MiBhY2Q2Y2NjY2U4MzdiOTM1MTYxMDY0NjE2NmU2ZWRhNzM4MWViNzAyIHJlbGVhc2UzMS1tYWludAorODI3NzMgNDI5ZDBjN2NkYjg1NmRjNTliMjNhMTliZWIxODJjMTcxMjc3YWJiMSByZWxlYXNlMjctbWFpbnQKKzgyNzc0IGFjZWY1ZDY2MDgzMzAwOThjNjZmM2UxY2E4NmI0M2U4YjlhZWY0YzkgcmVsZWFzZTI2LW1haW50Cis4Mjc3NSAwM2Y3M2M0NmY4OWM3Y2E3NDJjODllNWVmNGIwM2RmOWNhYTMxMTUzIHJlbGVhc2UyNy1tYWludAorODI3NzYgMDMwMzZhZmNhNTQ5MWEwMTQ0OTcxNjhlMmIyYTk2MjQyZThjZWU3NyByZWxlYXNlMzEtbWFpbnQKKzgyNzc3IDVlNjBjN2RiMGY1MTBlZGJhMzE2ZmRhOWE4ZmM1YmNlZGYyODIzNmUgcHkzaworODI3NzggMjg3NTVlYjUzZjM4OTQ2MGVkYjBiMmUyYTJkNGZlNmQwNjI2Mjc1NiByZWxlYXNlMjctbWFpbnQKKzgyNzgwIGI1OGI0YWE0NjljNGY4MTc4ZjcyZWZiZjJhM2U3NTQxZmM5ZmZjNWYgcHkzaworODI3ODEgMTYzNjEyNGU1ZmZlZWI2Y2MxMTIyOTUxYWI0YTMzM2Y5ZmQ3MTBjMCByZWxlYXNlMzEtbWFpbnQKKzgyNzgyIDdlMDljNjRkNGE2NGNlMGQyNjQ3MWMyNzlkMDVhNDg2YWE0ZmQwNGEgcmVsZWFzZTI3LW1haW50Cis4Mjc4MyBmNzU1ZDFhYjgwNzQ2ZGI2Y2E1MGVhZjEzMGE2OTNmZTQ2MjU1Mzc1IHJlbGVhc2UyNi1tYWludAorODI3ODQgNTBmNGYxMTNiYmMzZjczMWZiZjAzMjEwZDI5YWNiNWNjMTljNTk5NSBweTNrCis4Mjc4NSBhOTllOGFkYWMwODFkZmNhMjViZjM4ZjVjMWIwYTJiMWUzNDMwNWQ1IHB5M2sKKzgyNzg2IDM2N2Q2MWU2YTcwZjA2OGYxNzViNzQ5OTU4YmZhNWYzOWY1OTg2ZDAgcmVsZWFzZTMxLW1haW50Cis4Mjc4NyA1NTUzM2Q1ODI4YjAzMWE2YWFiNjJmOWU4YzgwNTFkNTI1NWM4YWU2IHJlbGVhc2UyNy1tYWludAorODI3ODggZjBkZDAzYmY2YmM1ZmMwNzdkN2E1NTAxM2RhMDYyNTA0MjM1ZDAyMCByZWxlYXNlMjYtbWFpbnQKKzgyNzg5IDVkYjJlMDdjNDQ1MWZjMmIzOTEyMjkwZTcyYjA0ZmY2YjM2NGFlZDggcHkzaworODI3OTAgYmEwZjZlMTdlYjIyM2MwM2JkYTNhNmFlYmZhZTcwODBlMWIzZjJhOCBweTNrCis4Mjc5MSAwYjA3MWUxZWZkNDE0ZjBiZDQxOWQ4NTkyNWJiZTZmOGI3YTdiZDQzIHJlbGVhc2UyNy1tYWludAorODI3OTIgODFkMDU1N2RmNjQ3YmZmNWQ2MzgyZGY0ZDVmYzBiODQ4Y2FlM2I3OSByZWxlYXNlMzEtbWFpbnQKKzgyNzkzIGY5N2JlNTgwZDhjMTZlYjBmOWFiNjE1MDhmNmFlOTE0ZGMzZDE3YTkgcmVsZWFzZTI3LW1haW50Cis4Mjc5NCBiOTE1MTYyNDI3YWI0ZjZlNzQ5NzY5NDY4NTFlMWY5YWZkMmU5ZDU0IHJlbGVhc2UyNy1tYWludAorODI3OTUgNDI0ZTNmY2ZkM2FkMTFlMDUxNzU0NTQ4OThhMDJiMzY4OTBkMjg3OSByZWxlYXNlMzEtbWFpbnQKKzgyNzk2IGNlOTM1ZTcxYmQwN2U1MThlMmM3N2M0MTliMDE4MDBiY2Y5NTYyNWMgcHkzaworODI3OTcgNDcwN2VkZTRkMTRmZjE0ZTcxYjIzNTQ4OTE1MDMwOWQyMDA3ZjgzZCByZWxlYXNlMjYtbWFpbnQKKzgyNzk4IGM4Yjc3ZWZlOGI1NmU5NzM3NzNlZmY3YzEwZjJhMzhiNzhjMGUzZTAgcHkzaworODI3OTkgMGU2ZmJmNTE4ODUzZmViZmZkNzczY2U0ZjAwZGMzMzBjYTAwZmZkYSBweTNrCis4MjgwMCBlZGFiNTAxZjlkZjhlZmUxODIyMjU2YTFhNGZhNTJlM2Y2ZGI1NjY3IHJlbGVhc2UzMS1tYWludAorODI4MDEgMjk3ZjJjMjhmMTgyOTMzOWY0YThiMWYzYzBkMDhiZGM5ZjkxN2M3NyBweTNrCis4MjgwMiBkNWQ1MTJiODY1YTc1ZDNkYjI0NTgyZjcwYTA2OTUwZWUzOWJkNGYyIHJlbGVhc2UyNy1tYWludAorODI4MDMgNTAxMmZmYWUxOGZhYzZiOTJjYzM3ZWExM2YwNTQ2ZDIwZTVjYTQ2YSByZWxlYXNlMjctbWFpbnQKKzgyODA0IDkwYmYwNjMxYmZiOGVlODcwZGVjN2RiOWFhYTQ5ZDZiYmE4ZGQ4MjQgcHkzaworODI4MDUgNGNiMGU4N2MwN2NhMzZhMWYwZGYxNTkwNDRiNTg0NTRjYTliMmU5MSBweTNrCis4MjgwNiA2MTJlMTI2MzE1MTFiMjI0ZDNiNGQxODA0MGVmYTY4MTAzNzA2ZjcyIHB5M2sKKzgyODA3IGQwOTBmNjI1NGM0NTNkY2U3ZDc0ZGZiMDhlNzc2YzllMmZmNTZjOWUgcmVsZWFzZTI3LW1haW50Cis4MjgwOCAzNjVlZWFiNGEzNTAyNjBhZjdlMTA3NjEyYThmMjY2MGZmYWFlMzE5IHJlbGVhc2UzMS1tYWludAorODI4MDkgZmNmYTdiYmUxODVlYWZjMGE5YjE1N2M2MjlmMTI1YTExYmQ4NDNkZiByZWxlYXNlMzEtbWFpbnQKKzgyODEwIDdmNTc3NTM5NWQzMjhiMGMyMGRmMWNhMGM0MTdlNGEyZjUzODJhZWYgaW1wb3J0X3VuaWNvZGUKKzgyODExIGJlMTNmZjM3NTVlOWZhYjcxNjMxY2M4ZTg3NDNlYmM1NDk2ZDcwNGYgaW1wb3J0X3VuaWNvZGUKKzgyODEyIDgxZjBmMGQ1M2QxMDg0ZTYxNzJhZTI2MDNkZTUwN2VlNzg1NmVkMTIgaW1wb3J0X3VuaWNvZGUKKzgyODEzIGQxMzkxNGVjZDM3MGZmYmI0OTgxMmY1ZWZjN2I2YmEzODQ2NThmM2UgaW1wb3J0X3VuaWNvZGUKKzgyODE0IDE4OWZhOTJkMTVkYzU5NzgyOWU3NWYwNGRiMWQ5ODZiZjM2ZDE5YWMgcHkzaworODI4MTUgYjE0MzhkMjZjMTY3Yjg2MjFkZThjMjI4OWU3MDQxZWNiYTFmMjUxYiByZWxlYXNlMjctbWFpbnQKKzgyODE2IGEzNTJiOTE1NmNlZWNiMjc4ODQ5ODU5OTAzY2QwZDVlNGU1ZDg4N2YgcmVsZWFzZTMxLW1haW50Cis4MjgxNyAwZjRiN2MwN2QxYjM3YjUyMTFjN2MyMzVmMTA5MzQyMGViYzZmNGJjIHB5M2sKKzgyODE4IDUzZTdhZThjYTAzOTE0OGNkNGExMjU2NjhkZDcxYzI4ZjM3YzYzMzQgcHkzaworODI4MTkgZWFjY2YxYTFjYjkwM2I0ZGQ2ODIzZTIxMWY4OTkxNDBhOWZjYzAxZiBweTNrCis4MjgyMCA0YzExZTQxNDBjZWQxZmEzODhkNzRkNmFiZDk0ZmVhMDg4NDQzOTk4IHB5M2sKKzgyODIxIDA2YjM4OTFhNjM5NTM0YmI0ZTQzNTJiY2M3MTJmMTUwMGQ4NzFhZGMgcHkzaworODI4MjIgMWNmNDNjNmU2NTY2YjM2MjlmZjMyYzNiMjg3NDdiYmIxZTdmNmJmNiBweTNrCis4MjgyMyAxMTI5ZDRkZmVlZDZmZTFkMWJmZThjMmRjOTFhN2E5YWRjYjAxNzcwIHJlbGVhc2UyNy1tYWludAorODI4MjQgNDMyOTA4ZDUyMWNlZmVlYjk1NzUyZGJjZjRkNjk4ZTBmMGFiZjE2MCByZWxlYXNlMzEtbWFpbnQKKzgyODI1IDMyZDhiMjJiMGU3YzVlNjI5MGQwZjRlN2NjOTQ3MDdlZjVkNjI5YmIgcHkzaworODI4MjYgNWNhMjJhMWJlM2NkMjE2OGUzMTRhNDk3YmZkOThhMjM0ZmI3MjgxNSBpbXBvcnRfdW5pY29kZQorODI4MjcgMTk0Mzg0YjUzODBlNTI0MzhkMmFiYjRhYTA3MzYwYmE1NzQxMDJmNyBpbXBvcnRfdW5pY29kZQorODI4MjggNGRkOTg1MmRhZTliM2U3MGViOTk0MWEwYWZjZDM0YjdkMDYwZWY4MCBweTNrCis4MjgyOSA3Mzc1MTllZjE2MmU2ZWYyNzY2YTZlYmIxNDZiMDdkNGU2Zjg0MDZiIHJlbGVhc2UzMS1tYWludAorODI4MzAgYWIxMDJhMjI2MDM4M2IxMmRjNTczOTRjMDU1NjgzMGM4ZjY1NjQwOCBweTNrCis4MjgzMSAzZjM3ZTNjY2MxMzEzODc4N2VjYjg3YTM2NzFjMjZlMDljOTgyN2QxIHB5M2sKKzgyODMyIDY1NzZmZDRjMGQyZTMxMThkNDk0ZDBlZGYwZWIyNDExNDQ3YjA5ZjIgcHkzaworODI4MzMgNDliODNiZmNmYThmYmJhM2ZmOTZkNmI1MzZjNzM4ZDg2MmU4ZmViMSByZWxlYXNlMzEtbWFpbnQKKzgyODM0IDg0OWY2ZTIyMGFhMGQyMzEwZjhhNjMzMjYwNTAxMTBiYzkxYzQzMTQgcHkzaworODI4MzUgMzBmNjk1ZWM5NDliZDIyNTUzOGQ0OGExZGNjMzdlZTBiZTI4ZGQ5YSBweTNrCis4MjgzNiA4ZTQyYzdhNWRhYjhkOGZiNjRkYTEwZDJhMDBkZTFjNjhiYzQyMjU2IHJlbGVhc2UzMS1tYWludAorODI4MzcgZjViMThmMjY4ZjU3ZDhlOTYwMmVjZWYyNjBjZDA1YTFiMDFkZTI1NSBweTNrCis4MjgzOCAwYmI0ZGFkODE2MTRiNzlmMjI2ZmQzMmVmZjM4Y2ExMDZjZmZhNGNkIHB5M2sKKzgyODM5IDY2NGEyMGY0YTgzNmM3ODIyY2RiNTYxOTUwZWU5MjYyNjcxNDU0YTcgcHkzaworODI4NDAgN2VhYmE0MTNmZGE0YjhmMjU3NjAyYTA1NmY5MmIxNWUxY2EwYzM5NyByZWxlYXNlMjctbWFpbnQKKzgyODQxIDk0ZjUyOTc2NGMzODczYzY1MWVkNDUxODFlODBiMjY4YmIzNWUxODcgcmVsZWFzZTMxLW1haW50Cis4Mjg0MiBmY2Q0MTIzYWVkOTM0NmM2NzlmZjhlOGVhZTYwZDc2NGNiYjNkY2FjIHB5M2sKKzgyODQzIDYwZmRmMTQ3MDMyY2YxNWY5Nzk2OTFkN2I2Mjg0MzMzNGY2MGQ0MjEgcHkzaworODI4NDQgNjRjYWE3NDhhMjhlYWM5MWQ1YTA1NmViZGViYmVmOTA1MGUxODNmNSByZWxlYXNlMzEtbWFpbnQKKzgyODQ1IDRlZjYzOWY0ZDgxMDBiNDI5MGNkNTVhYzk2Mzk5MTExYTJkZGI2NzUgcmVsZWFzZTI3LW1haW50Cis4Mjg0NiAxZjk5ODIzZjRmYWU3OGExZDc1ZTljOTYyYTdhNWJiODYwMTFmYzQ0IHJlbGVhc2UzMS1tYWludAorODI4NDcgNWIzNTIxMzNjNDUyMWM5ZTgyOGIzMmVhMzljMGJjZTlhOWFkNWJiMSByZWxlYXNlMzEtbWFpbnQKKzgyODQ4IGI5ZWRkZjNjMWU5MGExZTY4OWE2MmNjNjJlYmYwNTBiOWFmNGNhYjYgcHkzaworODI4NDkgZWRmZDdlYTQ4ZWRiMjVlZDZmYzkxYjg0MDgwMGUxMTM3MzdlZjkxMyBweTNrCis4Mjg1MCBiNTc0OWRkOGM0MjFiYjFkMDgyNDY1MjY5MmNhZjZhZmE2OGJkMDNjIHB5M2sKKzgyODUxIGRhZWE5NzhhNDhhZTg5NGY3NjMxOWFjZTU1NzQ4MjVmNjJhYTU3ZjMgcmVsZWFzZTMxLW1haW50Cis4Mjg1MiBhZDUxYWI4YjY0YmQwM2U5MTFlMTcyZTk4NTIzOTEzOTc1MGEzMzE5IHJlbGVhc2UyNy1tYWludAorODI4NTMgNGZkNWJhMzVkZjZlNTY5NTE4MGQwMjg5YmE1MTgyMjgxMGU4YzhhOCByZWxlYXNlMjctbWFpbnQKKzgyODU0IDk4YTRlOTZmMWY2NzQwMWNlNmQ5YTYxN2QyYzM0YTQwYzViYjFhYzAgcmVsZWFzZTI3LW1haW50Cis4Mjg1NiAzMWEzZDc2ZjM4MzUxOWZlNmI1NDY4NTRlYTE2YzUyYmE1MDYxNzRlIHB5M2sKKzgyODU3IDJjNzU3OWUwNGFkMjE0NTVmYWZlZmFlZTQyODE4Y2YzYzg5ZjU0YTEgcHkzaworODI4NTggZWY2N2U3NDgxMjQ0Nzc1ZDU4ZGU5NWJiYmNkMjk4Mzc3NTBmYjgwNSByZWxlYXNlMzEtbWFpbnQKKzgyODU5IGFlZGI1M2Q4YzJiOGNkNTQ3MjFhOTY1MmYyNjkzNTg5NTlkNzUwZGMgcmVsZWFzZTMxLW1haW50Cis4Mjg2MCA2N2VkYzQyNGU5N2I4MmNkZWY4NTQ2NzA2OTZiMDk3MTAyMTY1ODgzIHJlbGVhc2UzMS1tYWludAorODI4NjEgZTYwN2ZlMTVmMmQ2OTQyNWY0NThhNmFkOTRlYTU5ZmNmZDg5ZmIzMCBpbXBvcnRfdW5pY29kZQorODI4NjIgMWUzNjdhZmVmZDdlMGU5OTQxMzJlYjRkMTIwNjdlYWE4MDlmOWNjZCBpbXBvcnRfdW5pY29kZQorODI4NjMgYTVmYjcwN2NhYmRlZWJkODZlOTk1MTRkOWQ2NzBkZmU1Njg0NTJjNiBpbXBvcnRfdW5pY29kZQorODI4NjQgZDQ5M2ExYjQ0NTdlOWE5MTFmNTcxMjVkNGQ5MTk0MDhiNTk1YjlkNSBpbXBvcnRfdW5pY29kZQorODI4NjUgMjBiYjZmZDBiZDljMzVmNWI1MDhmNTYxZDliODQ1OWVjNmViMGU0YiBpbXBvcnRfdW5pY29kZQorODI4NjYgMzMxZTM3ZTA1MmNmM2JjNTNiNzViODBhNjczMTY2MTFmYTY5ZWM4OSBpbXBvcnRfdW5pY29kZQorODI4NjcgM2M5YjM4NDRmOTc4ODExMGNlNzAyYzRkYTQwOGRmMzNiZTUxNmYxZiBpbXBvcnRfdW5pY29kZQorODI4NjggMDkxNmU4NTg1YWNiMmQ5ZTdkOTJhMzg5NGIzMGMxY2IyOWRjMjQ1OCBpbXBvcnRfdW5pY29kZQorODI4NjkgN2YwZGFiYjdmZDhkZDYxMjZhNTk0ZGM2ZTg2ZWIwZGUyN2IxNTc1MyBpbXBvcnRfdW5pY29kZQorODI4NzAgNWIxYjdmNTU3NGMwMDFiYjhhODI3Y2ZkZTA0NDA2MGI1MjY0NzJmNiByZWxlYXNlMjctbWFpbnQKKzgyODcxIDg2MzU1MjNlZjVjNjM5NTUwYTc2ZmM0NGIzZmFkYjUyNWRiZjYyZWUgcHkzaworODI4NzIgZDRmNjdiODY0OTI4OGE0YjUwOGFlMjVhZmZlNGFjMDNmNjhiMGZkNSBweTNrCis4Mjg3MyBhZDk1ZTIzMTI5Yzc2Y2IyNmQ5MGI1Mzk4YTAwNDYwZTU2MDFmNDY2IHB5M2sKKzgyODc0IGQzMGI5ZGZmYjg2ZDQxMDc1M2QzZmY4NmFmMzZjYjJlNmQ5ZTJiZmIgcHkzaworODI4NzUgNzcwMjMyOTJmYzYxNGJjYTk1NGNiODE3YmYwZDhmYjcwYWFlOTY0OSByZWxlYXNlMjctbWFpbnQKKzgyODc2IDE4YmRjNDNjZTVlZDI4ZTVkZTFmMzRhYzEyYzFjZmU2ZWQ4ODQyZmEgcmVsZWFzZTI3LW1haW50Cis4Mjg3NyA3ZDdlNjNlYjNiNTMwMTg0NTRkYzQ1M2JlYmEwYWY4NjFjZjY3MjM1IHJlbGVhc2UyNy1tYWludAorODI4NzggNzdkZmUyYTc3NWQxOTk5MGMzZjNiN2NkN2EzNzdlMGQ0NjNhZWVkZCByZWxlYXNlMjYtbWFpbnQKKzgyODc5IGViMDA3NWU2MDcyNWI5ZjEzMjNjY2EzZjkzNzM3ZmM3ZTcxOTJjZjMgcHkzaworODI4ODAgNDEzNjBmODAzOWFiZmIzNDYyNjJlOGE0ZTAyMmRmMjFiYzNhOGY1MyByZWxlYXNlMzEtbWFpbnQKKzgyODgxIGQ3NGRlMDUwYzQ0NWRiZTllY2E4M2E1OTYxYzJhZTU5NDJiNDNjNTEgcHkzaworODI4ODIgNGI0NTY3ODBjOGQ4YWY0MjlhZDlmYzMyMGFlM2U1OGI3MjFmYWZhZSByZWxlYXNlMzEtbWFpbnQKKzgyODgzIDYxNDFjYjJlMjZlMTQ3MDAzOWJjMGI0MjAzNjMyMmQyM2M1NDcyODcgcmVsZWFzZTI3LW1haW50Cis4Mjg4NCAwZjI0MzE0MDEwMjEyNzcxOTYzZTU5ZmE5YTZlYWNkZmU3YjMwMzZkIHJlbGVhc2UyNi1tYWludAorODI4ODUgYzBlMDc1NmUwOTk2NjM0ZWVkNWRjOWNjYWIwMzQzODA1ZGEyZTlkNCBweTNrCis4Mjg4NiAzODA1ZmZlOGZmMzgzMTVlYjZlMjIyNTAwZWRlNDE3ZjZkMzY0OThhIHJlbGVhc2UzMS1tYWludAorODI4ODcgNmM3NjNkNjMxZGJhMDU5NDc2N2UyY2Q3MmY1ZWZjZDA3N2UyOGY3MCBweTNrCis4Mjg4OCAyYjY4YTg0NDE0NTg3MmZmYWZlNTFjMjgzMzk2Y2E2YzFjOTEyODA3IHJlbGVhc2UzMS1tYWludAorODI4ODkgZDRmNjFiMzZjY2U2ZTZlNzAwMjdhOWVjMjVlMGIyNzFiZDY3YzVlNiByZWxlYXNlMjctbWFpbnQKKzgyODkwIDlmMWQ5YWVmMzc0Yzc3ZDk5OWFkZDJkZmYzMjBjZDc5MzMzMTA1ZWIgcHkzaworODI4OTEgMGY4M2NhMTIwNzUyOTBiYjA1ZDM2NGNlMjAxNTU0Mzc3MDhiYThmZiByZWxlYXNlMzEtbWFpbnQKKzgyODkyIDk2NzU3YzY5MGIwNWYyZGY0YmNlOWViNjljNzFmY2E0ZDAxMWEyYzIgcmVsZWFzZTI3LW1haW50Cis4Mjg5MyBjNzA4Yzk0NmZmM2U0M2U3ZGNjZmE5MDc2OGZmODFiOGVkZGRkMzA2IHJlbGVhc2UyNi1tYWludAorODI4OTUgYTFmN2RlYTM2MjE5NmI2YjFhYmM0NDUwYmM3YTc0MGZkNDhkZDAzOCBweTNrCis4Mjg5NiBhMjk3M2U3MDUwNTdhNzFjMDA3Y2M2YzUzZDJmMDY0YjZhZWQ5ZTQ5IHJlbGVhc2UzMS1tYWludAorODI4OTcgMGIyOTFlMmZmMDBmYzkxYTk3ZTgwYjUwNTBlNjZhNWFiYjlkZGU0MiByZWxlYXNlMjctbWFpbnQKKzgyODk4IDYzMzNkM2E3ZTVjNzM5ZTk1NTcxNzlkMTI1MDYzZmQ5ZDk2ODAzMzAgcmVsZWFzZTI2LW1haW50Cis4Mjg5OSA0NjkyNzgxMDI3OTA4N2EzMzhhYzEyNWY0Mzc0NTUwZTgwNDA2NzkzIHB5M2sKKzgyOTAwIDRmZTI4YTQ5MWE2MzA4OTNlYTVhNmM5ZGJhMjhjYmU2YTg4NTE3NTcgcmVsZWFzZTMxLW1haW50Cis4MjkwMSBjNzQ1ZGY5NDYyZTY3N2VkODEyZWU4NmY2MmI4MDIyMzcwZjdlNGJkIGltcG9ydF91bmljb2RlCis4MjkwMiBhZDI2M2NjMzg2YTU0MjIzMmJiMmVlZGNmMzY0NGExMWVhYWEwMTQ4IGltcG9ydF91bmljb2RlCis4MjkwMyBmZWNmZjA0ZDBhYjEzYjBlODljNjNiODcxNmFhY2Q1MmJkZGIxNDU1IGltcG9ydF91bmljb2RlCis4MjkwNCA3Y2RmYWNlMWFiMDk2MjZlZDFlNGFhNmNiNmE1NjVmNmI5M2YwODllIGltcG9ydF91bmljb2RlCis4MjkwNSA3MzBjOGI5MDdkN2RjYzg3OTFlZjZlMzQwMGJiOWI2YTM3NWE4MTEwIGltcG9ydF91bmljb2RlCis4MjkwNiBmZjlkZGMxNjFlZTNkMDY5N2JhMWMxZTk4ZmE2MjhlOTJmZGM4YmRmIGltcG9ydF91bmljb2RlCis4MjkwNyA3YjcxYjZkYzc0NDRlMGExY2NiYzA0ZTM1YjUxZTY1MDM4M2RiNTI3IGltcG9ydF91bmljb2RlCis4MjkwOCA4OWY5N2ExMjEzY2Q5YjA0NzU4NDExN2M4MjhhOGNmYzRjOGU3YjkzIGltcG9ydF91bmljb2RlCis4MjkxMCAyMDI2ZWE0NDI4ODk5YzkzYTdlZTM2MjA3YWQ4OTRjYTBlYjJiMTQ0IHB5M2sKKzgyOTEyIDBiNzUzYTNmZTRiMGUxNzllNDVmOTc4ZTAyZjFmYjQ2ZWFiYTFiMjkgcmVsZWFzZTMxLW1haW50Cis4MjkxMyA1ZmZmYWM5YWM3ZDZjMjY5NTZmNzlkOTEzY2EzNjJmMmU1ZGVjZGYwIGltcG9ydF91bmljb2RlCis4MjkxNSAxZjI3YTA1YzZjMzFkNGExMzE1MmQzYzM5ZjdmNzU5YzdkNDQ2MWFhIHB5M2sKKzgyOTE2IDI0ZjdmYTI1ODFlNmYxZDRkMmUwZmExMWQzNWIyYjU0ZDhhYzJlNDIgcmVsZWFzZTMxLW1haW50Cis4MjkxNyBlNzAzMTk4M2U2ZmRmM2M1NDg1MzdkN2M4ZjljMjE1ZjUwYmY1MzMzIHJlbGVhc2UyNy1tYWludAorODI5MTggZTJlYzVmYmM2Y2YxMzdjYzY0Y2EwYzNhNTliODAwZGQ5NDcwMGE5MiBweTNrCis4MjkxOSBhMGI5NTM3N2FhYWQ4ZDZlOWJkYmUxNDBjMzRmYmRjYWJlOTM0Yzg3IHB5M2sKKzgyOTIwIDdjYmY4YzRlMjcyNzkxZmQ3OGIxMzIzYzNhMWRjZjA0YzU3ZDgwODggcmVsZWFzZTMxLW1haW50Cis4MjkyMSA4NGZmNDE3OTRkM2YyYjQ4ZGEyNmU4ODYyZWVlZmRlMTdmOTMzZGZhIHB5M2sKKzgyOTIyIDNjNzMwMTBiZDBiMGNmN2YyZDgyNWJhOWIyZDJlZTRjYmMzNDU0MGQgcHkzaworODI5MjMgN2EwMGNhNGI5NTkyYjg1YTY1ZWUyMTA1ZDIzODNlMDg3ZDllNDkxYSByZWxlYXNlMzEtbWFpbnQKKzgyOTI0IDAxNzExZjYwZmZmY2ZjZDQyMWZmMTE5YjVlNmUyMmFkNjNiNTZlYWMgcmVsZWFzZTI3LW1haW50Cis4MjkyNSA0YzQ1YTMyYzNjYzk5OGVlNTIyZDI4NGMzNzE0MWQzYzJiMWIzODkyIHJlbGVhc2UyNi1tYWludAorODI5MjYgZWFmMDRhM2Y0NTFhMmRiYjAxZmY0NmQxZDljMGQ5ZDE3YWM2NmY0NCBweTNrLWNkZWNpbWFsCis4MjkyNyBjNzQxYTFmMjI5NzY5OGI5Njc4ZmVjMGUwZjA1YzFlYjMyYjAzMzhkIHB5M2sKKzgyOTI4IGZhOGYzODgzNDI4NzhlMjY5OGI0NWM1N2ZjNGRkZGU3YzJiOTBiYmQgcmVsZWFzZTMxLW1haW50Cis4MjkyOSBlMDViNjQ2ZDZiOTg1MDFmODEzN2U4Y2FkYTM2MzNhMDczMzRjOTdmIHJlbGVhc2UyNy1tYWludAorODI5MzAgYjIyODkzYmUwOGM3MWUxNzNmNjY4Mzg2NjU3OWFhNjk5NWNkZjBlNiByZWxlYXNlMjYtbWFpbnQKKzgyOTMxIGNmNGI4MzNhNDdkZTg1YWVjNDc1ODAwNDRmZTVkNmViYTUyZDY3YzIgcHkzaworODI5MzIgZjI4MzMwODgxZGI0NGU4MDUyM2I3NDA4ZTNmYzFhZTQ1ZWVlNzdkZCByZWxlYXNlMzEtbWFpbnQKKzgyOTMzIDkwNWZhNTcxOTQwMzBlYzU2YjAyYzI5YjM0MWUxYWUwNWEyZGY5ZWMgcmVsZWFzZTI3LW1haW50Cis4MjkzNCAyYTc5YjcyM2FiZGNmOTUyZTEyMzliMGQ5NTQyMDkxODcwMDAzODI3IHB5M2sKKzgyOTM1IDhjNDQwY2Y5MDc3NmQyZDQ3MzhjNzY5YTVkZjVmNTU0OWZjOTdhZTAgcmVsZWFzZTI3LW1haW50Cis4MjkzNiA5ZTYxOWYxNmY2NmFhNDI0YzRmODE2OTk0MjUyMjZiNTZhMGUwZDViIHJlbGVhc2UzMS1tYWludAorODI5MzcgM2M3OGIzY2ZkNDYyY2Y0OGFiYmRiOGM0YWIwZGU2Yjk0ZmRmMWI4YSBweTNrCis4MjkzOCBhYmY2OWQ0MDI4ODNiN2IzZGUyYzNjOWE5MjdlODM1NmYyNGFkZmM1IHJlbGVhc2UzMS1tYWludAorODI5MzkgZDFkODEyNDZiMjI5OTZlM2Y1NjgxN2U2ZDUwNjUxOWFiZDgzNTY2ZSByZWxlYXNlMjctbWFpbnQKKzgyOTQwIDFlMjFkOTRlMDVmNDYyOTM0NmVkMGRlZjJiMzZlNmRiODMxZTZjMGYgcmVsZWFzZTI3LW1haW50Cis4Mjk0MSAyNjgzMzMzNzU1ZjM2MmI2YjU0N2EwMDQyM2JjOTVmYjkxYTc0MDExIHB5M2sKKzgyOTQyIDY4MDM2ZjJiNWFjOGQ5ZjUzODkzMGM1MDJjZWRhYjMwNmU4NmQzZjAgcmVsZWFzZTMxLW1haW50Cis4Mjk0MyBiMWRjNjBiM2M3YWViYzI0NzBiMmNiNGNkMzk5OGY3NDRlOTczZjE0IHB5M2sKKzgyOTQ0IGRiMmRjY2EyNDA2OTQ3MjdiYjA5MWY5NGE3YjkyZjA1MzgxYWQzYTkgcmVsZWFzZTMxLW1haW50Cis4Mjk0NSAxOTE5MTU1OWVjMDJjNWRmYjJmZTlkNzIwYzE1MzRkNmQ3NmY5MzY2IHJlbGVhc2UyNy1tYWludAorODI5NDYgYzE2YjNmNmFjNTExYjYyNDczZDc5YjI0YzM2NDU5ZjBjN2JiZDRkZiByZWxlYXNlMjYtbWFpbnQKKzgyOTQ3IDIxMWUzMThkMjNlZmE4ZjZjZGEyOWYyZDI1MjU4YmMwMWM3NTlmYmMgcHkzaworODI5NDggZGIzYWQ2ZWMwYTRiMTZkOTdlMmMyMWIzMTNmZmU0YzkxNzkyODYyOSByZWxlYXNlMzEtbWFpbnQKKzgyOTQ5IDk3ODY4M2ZkZTgyMDM3NDE3ZDgxODQ0NTIwZjJkODdiMWRhMGViYzcgcHkzaworODI5NTEgNmRjM2QyMjI4M2ZmNTRmYzRiNjFmMGZhOWQyZDRlZWVjNTUyMjU4OSBweTNrCis4Mjk1MiAxNmU4NjJhNWI2ZjI2ZGVkOTg3YzA4N2EzOGJlZTM0NmFiMDkzYzFiIHB5M2sKKzgyOTUzIDRiZjAzMzc3NTg0ZGIwNzY0OWI4ZGUzNWU2ZWQyNmQ1M2E1OWVhOTAgcmVsZWFzZTI3LW1haW50Cis4Mjk1NCA0MWFiMTYxZDQ3YTdiZjQ1ZGM1OGI0Nzk2MTc2ODIwZTJkYWFiNTQxIHB5M2sKKzgyOTU1IDdlNDUxY2U5MGMxYTYyNDRhM2I0ZTliMDE4YTY5MjExZTA5MWQ2NDAgcmVsZWFzZTMxLW1haW50Cis4Mjk1NiAwZDkxODEyZjYyNjA5Njg3ZjBiMjNkYTM5MjJjNTFkNzZiZGU0YTAzIHJlbGVhc2UzMS1tYWludAorODI5NTcgMzFkZjZmOGU5ZjFkNGQwNDlkOWIyYjk2YWU4ZGI4Nzc0N2I5NmM0MCBweTNrCis4Mjk1OCA2N2Y4ZjA1Y2Q0MGRjMGUyNjFlYzJhYmVmMGQ3OGIxNDViNjNiY2Y2IHB5M2sKKzgyOTU5IGNjZDNlNTQ1NjJmYTdhMGQ2NTNjZmU3MDhhMTgwODllYTMyNjI3MDEgcHkzaworODI5NjAgYTRkYWU3ZTJkZjdlNjY2M2YwZDNjZmJiYTNhY2VjODUzZjBiOTU1MiBweTNrCis4Mjk2MSA0ODM1MTA2ZWNlMGM1MzI0YTIwYzYyMjZmNjFkOTljODAzNGQ5ZmZlIHB5M2sKKzgyOTYyIGE2NWM5OWY5NDg5MDA5NWIwY2NhNGEzMDIyNmVlNWMzNzE1NjI0OWMgcHkzaworODI5NjMgYmI3ZmMwOGY3MjNlYzdkYjdmYjFkZjllZjYzNjhjYjc4NmE0MThlYiByZWxlYXNlMzEtbWFpbnQKKzgyOTY0IDJmOTU1YmY5MzAzN2I2ZDY4Y2JiODRiMmQ0YzEzODZkYjgzNDIwMDkgcHkzaworODI5NjUgMjUyMTZhN2UyMzRkNmFhMzg1Y2IzYTI0ZmQyYTEyMzY5MDRjYWE0ZSBweTNrCis4Mjk2NiBkMzU3ODJhYzIxZjg2MWY5Njk5OTZkZDdkZDgxZTZjYjk0MTQ5YzJiIHB5M2sKKzgyOTY3IGI3OTQyOTE1NDgwZjc4YmE1Mzk2YWE5NDk2NDE2MTI5MGU3N2M5MDggcHkzaworODI5NjggYzkwMDIxZmQxZmJmYWZmYmZiZGI0ZjMzZDE0ZjQ3NWRiZTZjMzg5NCByZWxlYXNlMzEtbWFpbnQKKzgyOTY5IGM5NmE3MjJiZTFkYmMxYzRlMGQwYmI0NDZkMDc1NTNlMzRiYjJiZDIgcmVsZWFzZTI3LW1haW50Cis4Mjk3MCBiOWM5ODlhMmZhZDMxMzc3Y2IyNTkwNDllMzdiYjRiNmFlNGM4Y2VkIHJlbGVhc2UyNi1tYWludAorODI5NzEgYWEwYjU2ZGQxNGFmN2I4YjVkNDNhZTBmNGRjNDA0ODNkNjQ2ZWRiYiBweTNrCis4Mjk3MiBhZDY2ZWZmOTgwMGJiYzJjZjI0NjcyNmFhYmRkM2NmNjdiZmZkYmJhIHJlbGVhc2UzMS1tYWludAorODI5NzMgMzU0NTQ2ODQ2YzI5N2FlM2UxMzI5OGM5NTMzNzk0ZDJiZDY5ODVkOSByZWxlYXNlMjctbWFpbnQKKzgyOTc0IDNmZGQ5YjQzMDI0YzYyMWYxMmZjMjY5MmI4YzVjMGNlYjg2Y2EyNGMgcmVsZWFzZTI2LW1haW50Cis4Mjk3NSA3ZjMxM2VkOWU4OGYzMjQzOWEwZTRkM2IxNWM5ZWEzOGExMTYxYWZiIHJlbGVhc2UyNi1tYWludAorODI5NzcgYTExMjE0MDlmOTZiMjBkZWZhYTRmNDc1MTJmMTk0NTBiZWUyNmI0MSByZWxlYXNlMjctbWFpbnQKKzgyOTc4IDczZGRiOGIyYjU3NDdlOGMzMmIzYTE2ZDQyZTVkZjNiNmJiNjUxMDEgcHkzaworODI5NzkgNWNmZjA1OGQ2Y2VkNWMxNTliMWFmZGZhMzg5MjNjNjI3NDU1YjNjZSByZWxlYXNlMzEtbWFpbnQKKzgyOTgwIDNmYTYwNTY4OGQwMzVhNTQ1YjYwMjAxM2JiMGMwYzE2ZTc1ODIxMWIgcmVsZWFzZTI3LW1haW50Cis4Mjk4MSBlMWJjMmM4OTM1ZDIwYTdlOGY3MDJkMTllNzhmMjMwYWFiMmExNGUxIHJlbGVhc2UyNy1tYWludAorODI5ODIgMWM2NmY3MmY2YmM5M2IxZGI0M2MwMzUzZWNjYTQyMDhkMzA0NjRmMyByZWxlYXNlMjYtbWFpbnQKKzgyOTgzIGYyNDE1OTJlY2U0ZWJlNWRlYTkzMDA1Nzc1MDg5ZWY2OTI3MmI5YzcgcHkzaworODI5ODQgNzQyZmRmN2Y2NTQwMDU2MjZmZTc3YzcxYmZjZTViMjllY2M0NjMzZCByZWxlYXNlMjYtbWFpbnQKKzgyOTg1IDg3MmIzNGNiMjY4ODUxNDQyZTQxOTMzODAxZmU2NjQzOWRjNmE0NWMgcHkzaworODI5ODYgYjJmMTM4NWEyMzVlMGQ4OTg2ZTI5NzRkYzBhZTczNDlkYjAwMmIwMSBweTNrLWNkZWNpbWFsCis4Mjk4NyAzMzM3YTI5NTVlMTE5MjdiM2RmYTdhZTg4ZDc0YTk1N2E5MDAwZTFmIHB5M2stY2RlY2ltYWwKKzgyOTg4IDE2OTM0N2Y5ZDRjNGYyNWRiMDdjOWZkODRmZDM3NDk3MWU2YzE0MjMgcHkzay1jZGVjaW1hbAorODI5OTUgOWM3NjZjZDIxMWRiMGVhYTYyN2E1ODFiMTAxMzI4ZDA4ZDhkYTA0MSBweTNrCis4Mjk5NyBhMTRhNzg2OTJjN2ExNTgwZWE3OTk1NTUzNjAyZjYwYmMyZTdkZjc0IHB5M2sKKzgyOTk4IGMwZDhmZTI1ZTI2NmVjODY2MWYzNGY2ZTk3OWQ0Njc0YjAwNTI0ZTcgcHkzay1jZGVjaW1hbAorODI5OTkgMWUyNjFjY2U0MTE2NDVhMzZiNTdjODdmNDg0OGY1ZmUyYmUyNTg3NyByZWxlYXNlMzEtbWFpbnQKKzgzMDAwIDQ1ZWQwY2YyYzM4NmE2ZmJjOTdlNjA2ZjQyMDQzNmFjMjkxOWEwZTIgcmVsZWFzZTI2LW1haW50Cis4MzAwMSBjMTYyMDIyMGE0M2QyOGY3NzAwODIzMDlmODQ1ZjRlMjY3NjUyNGY5IHJlbGVhc2UyNy1tYWludAorODMwMDUgY2JkNmY1ZDI0YWY5MDYxZWEyYWJhYWViZTJiMTEyYzA2NDNiZWE5NiBweTNrCis4MzAwNiA5MDU3ZWEwMTQ0NjE3ZjI4NjQxMGVlZDI4NjI2YzZlNTgzNzM1NWViIHB5M2sKKzgzMDA3IDc1YWY0YTI3YTA3MDk3MWEwM2ViNGRiYzM4YmU3YTZiYjQ2YjFhMWQgcmVsZWFzZTI3LW1haW50Cis4MzAwOCBkMGJhM2I4YjBkNDgyYjExZWZmOTZkODhkYzY4MjM1ZDdkYjc2ODg5IHJlbGVhc2UyNi1tYWludAorODMwMDkgYmZkYjVmMDhjMGY4MWZiNTJjOWVkZWM5NWZiZDBhMTU5YWJiYjQ5NCBweTNrCis4MzAxMCAxNWVkZDVmYmJjYWUxZDNiYzE4ZDA5Njc1OTE3M2Y1ODc3Y2QyOTVhIHJlbGVhc2UzMS1tYWludAorODMwMTEgZmVlNDk5NDYyMGZiZjk4NTFhYzEzZDg3MDZmYzFjMWUxY2JlZjE4MCBweTNrCis4MzAxMiBmNGViMWM2YTM0ZWY0MzBhZDBlYmViMmY2YjFlMWU1Y2IyZDZlNmIwIHJlbGVhc2UzMS1tYWludAorODMwMTMgNzA3OWM2MDc4MTRjYWFiNGMwYjE4M2E2NTNjN2JhNTg2MTBkN2M1MCByZWxlYXNlMjctbWFpbnQKKzgzMDE2IDViNDY4Njg3NzY4Y2Q1MThhYjgyYzY3MTA3ZmUzMDY4YjNjYTZlYTMgcHkzaworODMwMTcgNzA5MjVkM2MwMjc5NDdmNjk5MzY5ODIyM2M4NGExNDJiMzg3MTk4NyByZWxlYXNlMzEtbWFpbnQKKzgzMDE4IDJmMWE4MzZmMGZhYzFhMjNmMGRiNTE5ZjdjOGQxOTU3ODhkNzJkMTQgcmVsZWFzZTI3LW1haW50Cis4MzAyNSAyMGU1NmVjY2RmNTIyNjM4NmFlNDFjZWMzMmVkZjA0NjhiYWIyMjk1IHB5M2sKKzgzMDI2IDRiNDBiZjkxZWJlYjMyNmU1OTc4NDgwNzhlMDU0YWI4MDc5ZmEyYTAgcmVsZWFzZTMxLW1haW50Cis4MzAyNyBiYjY4ZTUzNDU0YjZkNjRjNmQzNjBiMzIzMjBmYzgyNTU5ZTZmYmMyIHJlbGVhc2UyNy1tYWludAorODMwMzAgMzY3NTI5ZGMzNGQxMWYxMjUzNGYyYjMwMzVjYjI5NmFlYjVmYjQzZSBweTNrCis4MzAzMSBlNWNkYjEyNzY4Y2I0YWI5YmE5NDBjNzFjZjE0MzkzMWRkMzBkOTZmIHJlbGVhc2UyNy1tYWludAorODMwMzIgN2I1ZDE1MjdjMGNlOGEzMDkwNjU2ODVlZWFlOTNmZWFjODIwZWMwNyByZWxlYXNlMjYtbWFpbnQKKzgzMDMzIDUyMGJmNGQxY2I2NjUxNmI5MTA3NDZiYThiMTY3NzA1NjcyMGI2NjAgcmVsZWFzZTMxLW1haW50Cis4MzAzNSA0NTQ1ZmY1MDYxYjdhN2EyMjQzYmZjNjFjM2E4M2ExNmYwYmExNDdkIHB5M2sKKzgzMDM3IDlkYmJlNmU3YjY2OGMxNTg0NmQ3YzlmYjM1YTZlMDRiMzY2ZGFjNTUgcmVsZWFzZTMxLW1haW50Cis4MzA0NSAxZjRlZDcxYjY4ZTIyNDZlNWRkNjFlZTVhZjJiOGVhMzMxM2JlNmZjIHJlbGVhc2UyNy1tYWludAorODMwNDYgMzA1OTAyYjNjMWEwMDlmYmNkZTE3NDdhNTNhZGVmZDYxNzc1ZmQ1MyBweTNrCis4MzA1MyAyOWEzZWRhODk5OTUzZGMyYjMxNTY4ZDBlYzY3MjU5OTYxNjBlMzUxIHB5M2sKKzgzMDU0IGVlMDFmNTQ4MWM2ODBjOTBjYzNjZDE2ZDYwZjg4OWQ3Yjc5NjJjMTggcmVsZWFzZTMxLW1haW50Cis4MzA1OSAzZTYwOWJmNDYyZmYzMTFjYzMwNmQwOGU0MTY1OGU4OTViYTY3NDYzIHB5M2sKKzgzMDYyIDFjNDQxZTM5ZGJlNDZkODgwZjdmMTdmYTE2MDg0ZWIwNjcwZjAzNjUgcGVwLTAzODQKKzgzMDYzIDg4NTIwZmI0NWJmMmVkNGEzYjc5YTYzZDQ3ZGMwM2YwM2E2NTQ3MzEgcGVwLTAzODQKKzgzMDY1IDU5MTI0OWQ5ODM4M2FjNjM0MWRkYmMxNzYzOTQzOWQ4ODdkNmNmYmUgcHkzaworODMwNjYgMTZlZGQ0ZmJhNmE1YzJkNmJlMDQwZjFhOTZlYTIyYzVjNzhjN2JlMiBweTNrCis4MzA2NyAyYWQ4ZThjZTQ2YzZiOGY4ZTY5ZjM2OWE5MDYzNDk5NDRmZGQ0NjU1IHB5M2sKKzgzMDY5IDVhNjk4YTE1MmYzMDIzNWQwNDk5NDgzNTRkOTFhYTI1NWQ2MDdlYjEgcmVsZWFzZTMxLW1haW50Cis4MzA3MCA3MjFlNzI4YWMwNjBmMGE0MGJkMDFmOWViYzJiNjQ5NmU3YzliNGJlIHJlbGVhc2UyNy1tYWludAorODMwNzEgNTM1Y2FiMWE4YzAwNDk2ZTNjZjU4NzNkMWYzMTMwNDVhNzE2ZWQ2NiByZWxlYXNlMjctbWFpbnQKKzgzMDcyIDM3ZDg0ODkxYzY3MWEyZDE3YjQ1YWRlNDUyNmFmOTQ4NjE5YTZiN2UgcHkzaworODMwNzMgOGVmOTU3YzM4MWZkYTcyNzA5MWVhZDBlZjQzMTIwMTJmNWYxZjk2YyBweTNrCis4MzA3NCBmYWE1ZjAxN2ZlYTVkODlmOTNiNzU5NjI3ZTZhNDJjNjVhYWY3ZGFmIHJlbGVhc2UzMS1tYWludAorODMwNzUgZTYwZmRiMzQ4YmRjNjExMGFiMGVkNzhlMzAxY2UxZDBmODY0OTg0NyBweTNrCis4MzA3NiBjNDgzZjk0OTc4NzJiNjMyMWE5ZDVhYmVjYTgyZmYzOTQ1MGVlMjhmIHJlbGVhc2UzMS1tYWludAorODMwNzcgYmZmZDM5OWI3NjRjNmRkNjdkODM1MzkzODMwMGRhODJhZGViMjRkZiByZWxlYXNlMjctbWFpbnQKKzgzMDc4IDc2ZTA3OTIyNTA3OWM2ZjUzOTBmM2RjZDk0YWZjMmU2ZmIxMGRhYTYgcHkzaworODMwNzkgOTk2ZWU5ZTAzODE2NzA3NWU3ZTEzNWRhMjk1MThhYzllNWJmOTM3ZiByZWxlYXNlMjctbWFpbnQKKzgzMDgwIDNhOTNmZDJlYmI0MGNlYzJiZjZhMWM1NmI5YWY1Y2NiYWI3NTg3YWMgcHkzaworODMwODEgYzBjZjdkNzAwMWUyMzIwYzJiODI3Yjg2NzUwOTI1ZmM0ZDc5OGY5ZSByZWxlYXNlMzEtbWFpbnQKKzgzMDgyIDVjZTNjMDY0NDhhNzhlZjQ2ZjFlZmUyNWFhMjY5MDA3OTYxYjI3ODEgcmVsZWFzZTI3LW1haW50Cis4MzA4MyBiZGMwNjlhMWE3MjFiMjhhZDIxODQ5MjMyYmQ1NDI2ZGRhODcxNTA2IHJlbGVhc2UyNi1tYWludAorODMwODQgMTgzYzU2MjVlMDBiZGY2OGQwNDg3ZjY3NmViNmNiYWQ5MjAzYmEwZCByZWxlYXNlMzEtbWFpbnQKKzgzMDg1IDFjZTg0YzYxZjNiMTM2MDAxMzlhMTIxNmEzYmYwYTk2NDQ5YTM5NDIgcmVsZWFzZTI3LW1haW50Cis4MzA4NiBlMjY3ZWU5NzYwYmQxNGE4YjQyNzBlMTJhZjk4MmM5NDFmYTdhNjdkIHJlbGVhc2UyNi1tYWludAorODMwODggMTAyNzRhN2JjNTM3NzYxZmRiZjgyNjMwZTFhMzY5NDgxODg4YTg2OSBweTNrCis4MzA4OSBlNjM4M2M4MWRhNDFjYTA1NmI1Y2Y2MTdkMTllZGM5YmIzMzI3ZTFkIHB5M2sKKzgzMDkwIGY1MjNiMzk4NTJlNzQ2MGNmNzdkOTUwZTZmYjQ4NmU5NzI4ZGRkNmQgcHkzaworODMwOTEgMDQ4M2I4ZThiYzU5ZjE3Yzc4MWI1NDk3Yjc5OTdhZjgxYzNjYzYxZiBweTNrCis4MzA5MiAyODU1ZDYzNjMxOTI5ZmY1NTc0ZGIzZjE0ZDlhM2FlNDlmOWRiZjk3IHB5M2sKKzgzMDkzIGVjNDJiNzI4MjY0ZGI2Y2Q0ZDY4MGZmMTRhMGU3MTFkODJhOGNjOWEgcmVsZWFzZTMxLW1haW50Cis4MzA5NCAyNzg2ZDYyY2M3OWMzOGE3YTAxODQ4NzE1ODJjZTUxNDQ2NjcwZWE1IHB5M2sKKzgzMDk1IDc2NGVjOWJiZjAxM2ExZjAxMTBhNzNlMDMzYTdjMGU5NjA0OGZhNGEgcHkzaworODMwOTYgODcyM2MxZGQxZDI1YzFhODRiZDlmMmU4Y2QwNjY1OTEzMGU3MjM0NCBweTNrCis4MzA5NyAxZjhmY2JiNjM5NmJjNjllNmM5MjAwYjU5YmYyNzI2YWZkMGEyNmEwIHJlbGVhc2UzMS1tYWludAorODMwOTggOTdiODQxYjNiMGI0N2JjNjkyMmM5MTBjMWMwNjMwNzE0NjgzNjk0MyByZWxlYXNlMjctbWFpbnQKKzgzMDk5IDA2MGRlMDYwZjAzZmYwYjZkOTZiZWE3YTIxZDVmMjEyZWNhOGMwYTIgcHkzaworODMxMDAgNjg2MTljMzcyZWYwMTNmOWRiZThkYTMxZGUzYWNhNDFmMTM3MmFkYyBweTNrCis4MzEwMSA1ODBjNzg5Yjc4NWQ1ZDczOTYwOTcxMWIxMmZhMzc1N2E4MDE3ZTFhIHB5M2sKKzgzMTAyIDM4M2U4NDYzZjU2YzAwMDRiNTVjYTFiYmNlMTEyNjEyOTkzNDk4NjkgcHkzaworODMxMDMgMGYyYjBmMzc3NjQyNDZlYzE0MjgyM2I2NDYyZDJmMDk4Nzc2YmVjYSBweTNrCis4MzEwNCAyMjdkZWUyNzg2MzhhN2Y3OGUyMTUyYmMyYTcwNWE4ZjAyYzMxYjgwIHJlbGVhc2UzMS1tYWludAorODMxMDUgMzJmYWNiZWRmZDBlYmM0ZWEzNjIyODVkNDYyYWJmMmNkZjIzOTQ5ZCByZWxlYXNlMjctbWFpbnQKKzgzMTA2IDQ4MjcxNzk2MDI1N2EwOTBkMTMwYWFjMjhhNmE3NzUxNzYzMWIyMGYgcHkzaworODMxMDcgZTQzNzk1MzQyNWQ3MDU0MzI3Zjc2ZTI4ZjdlYTQ4YThjYzU1YzcwYiBweTNrCis4MzEwOCBhZjkzNDEzMjRkM2Q4MmUxODM4NmE4MGYwYWZjYTc3NDUwZDNiNTljIHB5M2sKKzgzMTA5IDcxZjFjMGJlOGFhNzc2NTQ4ZWMzMzM0Zjg0YWE2MDBjZjNjMzNkYzkgcHkzaworODMxMTAgZGIzN2FmMDdkNGMyNzEyMDg0YTZmYWNhZTM0ZWIzNGNkYWM3NGMxZiByZWxlYXNlMjYtbWFpbnQKKzgzMTExIGY5OTcwMzkxZWVhYjI4YzJhNmYxYzRlMTRlYTc2YmMyMGM1YWE5OTAgcHkzaworODMxMTIgYWZkYjUzMzIzMDY1OWE0MjdhMzZiMmY2NWIzN2JjZTNiMWY4ZjAwOSBweTNrCis4MzExMyBlNzczODg0NTc3YTUzMzRiNzcxYWNhMjBkNTcxNjcwODdlNDZlZjdkIHJlbGVhc2UzMS1tYWludAorODMxMTQgODk5MzFjODM2ODU3NGE4YjQ2NDJlMjdmYzY0OTcwYTkxNGI1NWNiNiByZWxlYXNlMjctbWFpbnQKKzgzMTE1IDRlZDYwYzRiYzhiNjAxNjliYmI0M2E2ZWY1MjA0ZDc2ZTlhM2JmNWIgcHkzaworODMxMTYgOGZhNDI0YWVjZDBkYjhlNmFlNzEwN2VlOWM2NWJlZmZjYzZjMmQ1ZSBweTNrCis4MzExNyBkYzJhN2MzNDRiYWFmZWExMGJhMGQ5MTBiY2YxMTE0ZmU2YTY0ZmZmIHJlbGVhc2UyNy1tYWludAorODMxMTggOTM1NzgwYzYyYzU5NTc3MDA5ZGFkMDBhNWFmYTFlNzlmOGE2YjUxZCByZWxlYXNlMzEtbWFpbnQKKzgzMTE5IGVkMzI4ZTY3MmFjZTFhM2Q4YTc4OThiYTJjNjI1MGE3Yzk2MDliMzYgcmVsZWFzZTI2LW1haW50Cis4MzEyMCA1YWE3MjY0MTRmOGYwOGQ0NjYwNWE1YzRjY2EwOWY5M2UyYzg3Yjk1IHB5M2sKKzgzMTIxIGIwYWY2M2FhMDllYWNhYmU1NjY5OTRiN2M0YzM1MGRiNDRlMzcxYTkgcmVsZWFzZTMxLW1haW50Cis4MzEyMiA4MDcyZGZkOTdlMWRkZjM3ZmQwY2RmYTk5OTk3ZDM4MThkMDc5MDhiIHJlbGVhc2UyNy1tYWludAorODMxMjMgYzM4NjZjZDkxYWUwMGU1ZGRjMjNmZWNhNzI4MTNhMTkwMTY1MmIxNSByZWxlYXNlMjctbWFpbnQKKzgzMTI0IGZmNjQ0OTY0MzE0MmUyNGNkMmQwYzUwZjM1ZTZhNjAxYzE3OGM5NDEgcmVsZWFzZTI3LW1haW50Cis4MzEyNSAzM2U0YTQ3YTZhZDEwZGI1NTMzMDNjYzJiMzM4ZDE3MTg0OThlODg0IHB5M2sKKzgzMTI2IGQ4OTZmM2Y5NGE0ZGYyMjg4ZjU2ZTYwNzUxNWUwMzNkZDJhNjkxZDcgcmVsZWFzZTI2LW1haW50Cis4MzEyNyA0Y2NiYzI5YzdmMTEzMjlhNzA5NzdkYmJkNWFiMTM3NmI5YWMyM2I2IHB5M2sKKzgzMTI4IDNmMjQ1YmU1OTMzOWJmZmIxYzhkMTZjMWJjOWM0Yjg0ZjQzNjYxMDYgcmVsZWFzZTI2LW1haW50Cis4MzEzMyBhZDVmMjc5M2Y3YWRmMDhmNjVlODgwNTFlMWI1MmFmMDllNGY5NDcwIHB5M2sKKzgzMTM0IGY4MTI2MzY3YTJkZWRkZGEyNmMzNjNlNDdmZTUzYmVmMDlkMjNmZmMgcmVsZWFzZTMxLW1haW50Cis4MzEzNSAzZTY1OTI1ODFkMGY1YTgyMjY0NTY2YmY1ZjViMGNmMWJiODc4MGUzIHJlbGVhc2UyNy1tYWludAorODMxMzYgNTM0M2VhN2MxOTg2MzQ5Yjk3ZDZlZTdkZDZlZjA2MzgwZWRjYmQ3ZCByZWxlYXNlMjYtbWFpbnQKKzgzMTM5IGExNmI1YmJkZjE5YjQyODJhNDU1NGQzOGQ2ZDhjMDM2YTQzYzUxMGQgcHkzaworODMxNDAgOWVjYmE4YTEwMTI1NTFhNjRmOTk1ZTdhZWZlNTg2ODU2NGUwZjRkYSBweTNrCis4MzE0MSAyYzU2ZjRhYjM2ZjI2YTRiM2M4NTA0MWNjNmYxNmE4NTdkZTJkZWExIHB5M2sKKzgzMTQyIDJkZDI5OWU3YTZkYmQzNzE1OTk0MDZlOWY0ZGM0OTA2N2NjMmZlNDQgcmVsZWFzZTI3LW1haW50Cis4MzE0MyBlZjliMzlkZjU5MzY4MDYyYjQ3NzcxZmUzZmIwMDlkMjYzMWJmZGJmIHJlbGVhc2UzMS1tYWludAorODMxNDQgYjE5ZjhhNDkyOWQ1YjNiOGI1NDk2ZmY4Mzg1MTljMmFhMjQ0Mjg2YSByZWxlYXNlMzEtbWFpbnQKKzgzMTQ1IGZkYjBjZmRjY2Y4NTgyNWYyODBhODM1ZTM2M2M5NjAwODQ1ZjhhNDkgcmVsZWFzZTI3LW1haW50Cis4MzE0NiBkODZjMTg1NjhlODk3NTc0YTVhMTJmZTBiMjgwZjYxZDZlZGM1MzEyIHJlbGVhc2UzMS1tYWludAorODMxNDcgZDMzZWJiM2VmMGIxMDdkODc1YTI5NzY4MzNlNGExYWJiMjhhYzhhZiByZWxlYXNlMjYtbWFpbnQKKzgzMTQ4IDkwNGIzYTE2MTZmMzdjMzgyNTlkODM4ODNmMzA1N2RjZWEwMmM5NjMgcmVsZWFzZTMxLW1haW50Cis4MzE0OSA5ZTMwM2Q2NzE1Y2U4OWFhNjZjNTM5MDc5ZGFjYjc5ODI5OWIyMzg0IHB5M2sKKzgzMTUwIDllY2JkZWZjOTg0OWFiOTA5YTAzYmM2MmJlOWRlNWVmYjRiYjYzOWUgcHkzaworODMxNTEgNTEzZTQ5OGIyMjNjMmE2ZDA3MWJlMjlhNzkzZjM2YWVlMjIxMmVjMCBweTNrCis4MzE1MiAxMGNlMDQxNDAwOTY4ODRjMjUxYTI0MTIwYmE1MmEzZmQyYTU0ZmU2IHB5M2sKKzgzMTUzIGZlOGEyY2U5MTRlYThjZGFhYzI3YTU4ZTllZGM5OWIwM2VhZTM2ZmMgcmVsZWFzZTI3LW1haW50Cis4MzE1NCBmZGI3MWQ2YzE4MjI0ZjgxMGUyYzhmYmM0Yzg3Y2YzYWZiNjExZTYzIHB5M2sKKzgzMTU1IGVlY2MwMThhYWMzZWRkZDdiZmM4MDk1NzJmNGU1ODhlZWQ3YmRmNGUgcmVsZWFzZTI3LW1haW50Cis4MzE1NiA1NWY0NWU5MDY3NGQ2YzA1NWVhY2ZmZDhiNzQ0YjgxNjJmMmZiYTFlIHB5M2sKKzgzMTU3IGY2YjkyODA4YjliMzQzNTZlNDMyM2FkYzgwNTBhNWRkOGU2YWM3NTkgcHkzaworODMxNTggNzRiMTZmNDM5ZTA3YmEwNDFhZWViNDNiOGRhMDIwMTc1MzIwMDVkYyByZWxlYXNlMjctbWFpbnQKKzgzMTU5IDRkM2RlMTZkMDJjYzI4OGVmOGNiZDhmNGRmOTRkZGUzOWJmYTlhOGEgcmVsZWFzZTMxLW1haW50Cis4MzE2MCBjM2JlMjBjMzkwYTI3MDk4YjAyYmUzOGNiMTkzNDE0ZDQ5YThlMjZmIHB5M2sKKzgzMTYxIDJjZWQxY2NkMzVlYTQwZWM5OGExNTU2ZTRlZWYwMjE1MWE3MTE1ZGMgcHkzaworODMxNjIgNmE5OWQ5MWJlMGY4YmNiODk4MmIxOWRmMWI1NTNjODY3MjU3YjMxNiBweTNrCis4MzE2MyA3YTQxZTBjNDg4NTUwYzMwM2ZmNjU0MGUxOGM4NDAwMGI4ZTI3NjBmIHB5M2sKKzgzMTY0IGNjYjIxOTljMTZiYTBlZTIxMzRiZGFlMDliNzY2NGUzYjdjMmE0YjEgcmVsZWFzZTI3LW1haW50Cis4MzE2NiBmOWEwMDdhZmQ0MGYzNzJmOGRlYWFkZWI1MjhjMmM5NTJjZjM4MzFmIHB5M2sKKzgzMTY4IDM1YzE0NTYyMzQ4MDJlMTE4MWVjODRhNDczNDBmOGM1YjVkMjdhYzYgcHkzaworODMxNjkgM2U5YjkyY2ZjYWNjNTFmN2I0NDRhMjk1ZTQ4NDY2NTBiMjU0NjAyYiBweTNrCis4MzE3MCAwOTcwNTc3MDA5ZTA1NzE3ZDBjNWMwMzZiNzhlOGM3YjAxM2M1YmU3IHB5M2sKKzgzMTcxIGFkZWZkNWMwMjM1ZGZiMzQxODI5ODdlYTJlOTJmYjRmNmM1NTE3M2IgcHkzaworODMxNzMgYmMwMzQ3NmNlOTAxOWIwM2EyNTczNDViNTdiNGU2YWZmMzRmMDY3YSBweTNrCis4MzE3NCAwYjg0MDk0YjE1MTU4Y2U2NDNhZDQzOTA2YmRkMzQzYmE5OGU5NDY0IHJlbGVhc2UyNy1tYWludAorODMxNzUgMzM1NTM1NmYxYzc0ZDQ0OGJhNWU1MDM2MjZhZTI5NmNkZGI0YTIxYyByZWxlYXNlMjctbWFpbnQKKzgzMTc2IDU1MjI0MzMxNTBlMWQ5OGNiMTVlMGE5YWQ5OTc3MjIzMDVjNWYyZmYgcmVsZWFzZTI3LW1haW50Cis4MzE3NyBmOWI4NjBlZjI0YmFkOTIxMjk4NjUwNDFhMTgwY2YzNjFiY2UxNjY1IHB5M2sKKzgzMTc4IGUxYzNhZGZhNTc0NGRmNzMyZGJmNTE0NDUyZGJjZmI5YjkzZTJiZmEgcmVsZWFzZTMxLW1haW50Cis4MzE3OSBkZmUwMDk1ZmNhYjBmNmY1YzhjYzdjZDc0NzFhNzI1ZDE5NzdhOTZmIHJlbGVhc2UyNy1tYWludAorODMxODEgMmRmNzMzOTUxYmFiNDdjMzU3NzAxNTAxMmY3MjBjMWZjMTU1Yzc3MSBweTNrCis4MzE4MiBmMjE0YWQwOWMzODQyZDEwNTQ0NjAyNjE5YmRiZTg5M2I1YThiNzcyIHB5M2sKKzgzMTgzIGUyZDYyYjVhODczMDExZTZkOWU2ZmExZmY3ZmIwOWQyM2FhNGU1MDAgcHkzaworODMxODQgZTkxOGFmZDM1MDg2ODg0MmQ5NWRhMDI5ZDBiODcyNDMzZTlhYmQ2NyBweTNrCis4MzE4NSBmZDliNDIxY2RiYWY1NWM1NGM3YTE1NGM3ZDBmOTE4Zjk3ZjY5ODExIHJlbGVhc2UzMS1tYWludAorODMxODYgNWI1YmNmNGI5ZmIwMjFhNmUwMTIxZGU0N2IzODU1ZmYwODQ0MzVkYSBweTNrCis4MzE4NyBjM2Y1ODMzZGI4NDMxY2RlZTNhNWIxMjQzN2U2OWU0Yzk3YzViZmJhIHJlbGVhc2UyNy1tYWludAorODMxODggNjg1ZDM5MThmMmE1ZTFiYzk0NDE3YmZiNTk5N2JiNWQyNmYzYmY1ZCBweTNrCis4MzE4OSBiNWYzZjc0MjMzMTg2NzE5NGQwMDhiZDA0YjUxZDNjYzE5ZWQ5Mjk5IHJlbGVhc2UzMS1tYWludAorODMxOTAgMWNkNDU0ZGE0OTI4YjNlY2E2NTI0ZmY3NTNhYTE3NDI5YzRkODJhZSByZWxlYXNlMjctbWFpbnQKKzgzMTkxIDgwMzI1MGY1YzRjMjY4ZjQ0M2JlMjdhY2YzNDVhNTIyMWU4YWM0N2UgcHkzaworODMxOTIgMTZmNWNmYjE2YzZhY2MyOTZjNGFlMjQ3NTUwZWEzNTdjMzgxNmFlNiByZWxlYXNlMjctbWFpbnQKKzgzMTkzIDQzZGMxMjk4OTJhZGRiYTBhZTAxOGM3MmJkNzFkOWY0ZThiYmFhOTMgcmVsZWFzZTMxLW1haW50Cis4MzE5NCBlNGFiMGZiYmJjOTQ2MGVjYjA3MGQ1YjNmNzY5YTc3YWMzYzI5ZjE3IHJlbGVhc2UyNi1tYWludAorODMxOTUgNGE3YjM5NWVkYjY5ZDc2ZGRjMTI3OGNmMTgzZGIyOWMyOWE5Y2RkYSBweTNrCis4MzE5NiA1ZWRjZTE0YjYyODc3MzI2ZjAwYWZkZmNhNDM0YmQyNDk1MWNhYWZmIHB5M2sKKzgzMTk3IGFjN2ViNmVhZWY2ODg3N2NmODIwYWVmZWFmNTgzNmU4MTNjMjNjMTYgcHkzaworODMxOTggNzRmZDdlODBiMWJlNDIzNjg4YTVlNjY0ZTNhMzA4YmQxZGVmMDQ4OCByZWxlYXNlMjctbWFpbnQKKzgzMTk5IDVkNDVjNjUxMzQ4YmUzYjhmMmY1OWJmNjIxOGE2ZjU2MmJjNGM0OGYgcmVsZWFzZTI2LW1haW50Cis4MzIwMCAzMTVjMmI1MjRjNTllOTU5NjExNGM0NWQyZmYwN2Y2OGI2ODlhMmVlIHJlbGVhc2UyNi1tYWludAorODMyMDEgMzA2ODMzZWYxMTlkMWNiNWU5Y2FiNTE1YTkwMTg5NTlkZWNkNjBiOCBweTNrCis4MzIwMiBiYjllZWY4ZDFhYzZhNGZjNThkM2Y1YWQ5NDg1ZWUyYTZlMjJkZGU4IHB5M2sKKzgzMjA0IDhlOGNiMTY4YTA4OWY3NDZhYTE3MDAwNGQ0YjNmOTRkZGI2OGZjZjAgcmVsZWFzZTI3LW1haW50Cis4MzIwNSBlMGJjYjk3MDM0NDJkYWQ4ODRlNDNkOTcxZTVjMzM3ODg0ZWI1YTkwIHJlbGVhc2UyNy1tYWludAorODMyMDYgNmQzMWI2MDM3MmM0ODM3Y2ZmMWM2ZDIyNjE0MTY2OGYyZDkyODZkZiByZWxlYXNlMjctbWFpbnQKKzgzMjA3IDE3NDNkZmVlYjliMDNkNmI3YjU5ODRhM2EwNDk3ZDExOTRlOWUyYWQgcmVsZWFzZTI3LW1haW50Cis4MzIwOCBlYTNiNTM1MTM2ZTdmODUzMjllNGNmZGU1MTM4NzU0OGJhMDE4NDkwIHJlbGVhc2UyNy1tYWludAorODMyMDkgOWJjYmMzNDM3NzhmM2NkYmI5MjgwZDJiZDBlYjhhMzI0ZTNjMmZlNSBweTNrCis4MzIxMCAzMTE5YzRkNzI3NmIxNWVkZDYxODk5ZjhkOGVhYTIxMDIyM2EzMzg1IHJlbGVhc2UzMS1tYWludAorODMyMTEgMGJiNDdjNTFlOTMzZjg2OGVlM2I0YWY4MDY2M2FiOTdkNTRmNDA3MyByZWxlYXNlMjctbWFpbnQKKzgzMjEyIGFhMTlhN2NjMWJmMzUyYmJkZTg2M2Y5YWUxYmM2YWE0NjA1Nzg2YmQgcHkzaworODMyMTMgNzllMzc2ODI0YjM4OGE3NmIyZDcyZDM0NjFiNTExNDlhNjUzZDhhZiBweTNrCis4MzIxNCAwMTMyZTRlZTllN2YyNDFjMDMwYzU2NWJhYTRlNjliYTU5OTYzNGYyIHB5M2sKKzgzMjE1IGQ1NWQyMWMzOTZjNWNkMjE5YmMyMzI0NTlkN2UxZmM1YjMwNTBmZDcgcHkzaworODMyMTYgYmU2ZDAxNGRmOTU2MGE5ZGU1ZGU3NGQ5ZWI0YWQ3NmNhNTM4ZGY3ZCBweTNrCis4MzIxNyA1MTQ2NmQ2NzcyMmUwNjEwMTFiZDEyNjJiMTRkYWRkMTI4NWI5MzAyIHB5M2sKKzgzMjE4IDNkOTk2OTY2ODlmOWIyYWQ5MWJlYjJkMDQ1MmJkNjcxYWQ2Y2QwZTAgcHkzaworODMyMTkgZTJlMzJhODY5ODEwZGY4ZjdjMWFmMTU2ZTkwY2U4MGVkNmUyNjg1NiBweTNrCis4MzIyMCBlNWEyZjUwZmVlNjRlMTIzM2E3MjhkZTY1N2FkZGNmYTg4NDM3ZjNhIHB5M2sKKzgzMjIxIDA3MTYwOTA2MGYwNTVhZjkzNjFhNWVhMzcyMTdhZjNkNmJhZWRkNTIgcmVsZWFzZTI3LW1haW50Cis4MzIyMiA1MmJjMTk0MDVjMGYzMzIzYTNkNWI1MjAwYjkyZTBmMDMzNGZjMjM3IHB5M2sKKzgzMjIzIDA1NGYzMjc5ZTNjY2U5NTYwYjM5NTY0NTFlMDJhYTViMzI4ODMzNjggcHkzaworODMyMjQgZWUzN2JjYjhmMDNlNzIyZWVmOWY3ZWU4OTg0N2Q0NGM0MTc1MGMxZCBweTNrCis4MzIyNSAwNTY0MzYwNjUyOTBmNzJiNWRmN2QzMGI3MGYzZjdlMGZjYTAyYmJmIHJlbGVhc2UzMS1tYWludAorODMyMjYgYTI3NDY4YWY1ZWMyZGI1YmE2NDM0ZDljNzVmNDZiNTU1NzRiMGI0NyBweTNrCis4MzIyNyAwNTQwZTY3ZDc5MjQxZjc5MjU5ZmNkYTEzZDg4ZTRlMmY0OTllMDNkIHB5M2sKKzgzMjI5IGY2ZDNiZjRmYWE5YTdiNTg1N2Q4M2QzYjE1ZjBlZWRlMjFhNDA3MGUgcHkzaworODMyMzAgZjIwZmY5OWEyNDI3NWYyZGZkMzAyNWExZDIzOTVlMjE5ZWJmZjVlYiBweTNrCis4MzIzMSA4MzQ3MTVmYWYxNjVhNTAwYmU5NjFlNGMyMDNhYzRkY2Y5OWY2MTE1IHB5M2sKKzgzMjMyIGM1NWZhZjQ3NDU5ZTJlYjc3M2U3NGNmM2IzYmZmMGM0OThmNjM0OTYgcHkzaworODMyMzQgMTI1MGIwNjhmMzE3MDFkOWFhY2EyYzdmM2VjYThhNmUyNjMxNjYzYiBweTNrCis4MzIzNSA5NGIzOTAzZGUxMDc2YjJiMzI1Njc1ZjU5OWQ1MTg2ZTJlNDM3YjQ4IHB5M2sKKzgzMjM2IDkxY2JiNTVlMjBiZTU0ZmEyNTliZGRkYmNmOTQ0ZDdjY2U2NDg0MGMgcHkzaworODMyMzcgMTYxODliN2RhM2I2MmY0NmY3ZTZiNmE2ZjUyOGZmZGEzZjRlMjAwMiBweTNrCis4MzIzOCBmNDM1YjdiOTg2OTA5N2M3ZGQzNjdiZjAwNmYwZTIyM2VkMmI0Y2JjIHB5M2sKKzgzMjM5IDI5YWI1MzZjZmVmNjdmMjlkNjhhMTVkMTE3ZGNmN2UwZGM3NDFkZmUgcHkzaworODMyNDAgOTAyMTMxYjMxOTIyN2Q4MThhN2UyODRlMTcxNDU1ZTk1MTY3NDA0YyByZWxlYXNlMzEtbWFpbnQKKzgzMjQxIGI3NWNhMjVhMTQwYmFjYzdlZmJlNGIzYzllYjEwNmEzNTBkNzlkZTIgcmVsZWFzZTI3LW1haW50Cis4MzI0MiA4OWQ3OGI2NjdkMDdiZTU0MTIwNTZiMmEwNDY2MGE0ZGFkMTljNDY2IHJlbGVhc2UyNi1tYWludAorODMyNDMgNGFlMGUxM2U5NDY2M2ViNzIzZWRlZmVmODE1ZGVhOTM5ZGExNDVhZSBpbXBvcnRfdW5pY29kZQorODMyNDQgOTcwN2M4NTUxNDhmNjhlNGRkZTEyNmJjMjE1NjEzODIyNDhhMmE1NiBpbXBvcnRfdW5pY29kZQorODMyNDUgOGE3OWNhYTRmNDczMjcxZGVkN2JkMDJjYjdkYTFkN2FkY2Q3MDA1ZCBpbXBvcnRfdW5pY29kZQorODMyNDYgMjdjNmE5NDg4OTQ4ZmRkNTc3N2MzNjZmMjNhMGRkZmFkZmYyOTJjNCBpbXBvcnRfdW5pY29kZQorODMyNDcgYTE1ZTEwZDFjZGMwZGZmNzhlMDg3NDc1NTczZjdkNDc1OWU3N2ZlNyBpbXBvcnRfdW5pY29kZQorODMyNDggOWE3NGM3NWRkODI1MjVmYjFhNDNmZmUwNWQwYWMzYzY0NGNjNjNhOSBpbXBvcnRfdW5pY29kZQorODMyNDkgZWQwOTAxMTZiNzM0ZjdjMzdlMjA2YjlhYzg1NmRlYWY2MjY4NzE5YyBpbXBvcnRfdW5pY29kZQorODMyNTAgNjIxOTk1OTEwOTM5MmUwZTU5NTMxM2ZmMDJlMjEwYjNkMDAxOGUzZiBpbXBvcnRfdW5pY29kZQorODMyNTEgMDk4MzU2ZjVjODQ2MWQzNGRiZTE3YTk0MWEyYzcxNGIwMmViZWY1OCByZWxlYXNlMjctbWFpbnQKKzgzMjUyIDMyNmIxNWQ4YzM0MTM2NTg3NTM5NGE5N2VkOGM5NjE2ODUyMDgwYjYgaW1wb3J0X3VuaWNvZGUKKzgzMjUzIGRlM2ZmZjQyNzJjODRiOGY0MDI0Y2FjNWY5ZTczMzk5ZDVkOWQxMzggaW1wb3J0X3VuaWNvZGUKKzgzMjU0IDgwN2JlZWZhZDUxYzRiZTU2N2QzYWNmZWJkNGM1M2VlN2M1OGU5YTcgaW1wb3J0X3VuaWNvZGUKKzgzMjU1IDA2MzM4MTU3YjRmNzA4M2UwYjhkZDM3NDcwNTY0ZGI0ZmI0MWUzM2MgaW1wb3J0X3VuaWNvZGUKKzgzMjU2IDA0ZTQ5MjVlNWE4Y2Q2Y2E5MTBkMzFhODIyODQwZDU2ZWNmZWU2NWIgaW1wb3J0X3VuaWNvZGUKKzgzMjU3IGRjNWRhMDIxMzZlOTg5ODJjMDJjOGU1MGI1NjZjNWQzNjc3NmE4ZjEgaW1wb3J0X3VuaWNvZGUKKzgzMjU4IGE0ZTBiN2FmNGJhNDRiMDIwNTdlZDg0MTAzMDA2ZGFhYWM1N2VmYTIgaW1wb3J0X3VuaWNvZGUKKzgzMjU5IGE5NjZjM2Q0M2E3ZWFhNjExMjQwZTlmOGM1MTZjODE2YjUyZjQyZGYgcHkzaworODMyNjAgY2IxOGJjOGRkNDY5M2E4NGNmZjRkYTllN2ZjOGI4MTMzNmZjNzVlYiBweTNrCis4MzI2MSAwYTE3NDhlMTNkZTk2ZGM1NTdjNWVhZGMwMTczMjg0NDNlMWMzNTk5IHB5M2sKKzgzMjYyIDBmNmExZTQ3NmQzMTBjYWVmMDQzMDI1YTM0OGU2ZWY4ODczZTJhMzcgcHkzaworODMyNjMgNDg1NTdkYjBlZWVhMThmODkyNTM3MWQ1YTQ1NDUyMDc0NmIzMTU1ZiBweTNrCis4MzI2NCAyNDk3NWFhZDQyNjgwOWE4YjA0YzJjNzdlY2VjNTIyMGQ0ZTZhYmY5IHB5M2sKKzgzMjY1IDcxMTFiNzk3ZWMxMTVmYzM0YTRjZmJlOWQ1ZGRmODI0MTUwYjk0YmYgcHkzaworODMyNjYgYzViZmUxODYwYTVkODBlMGRlZGY3ZjIzYzM3Yjc4NzkwMjc5ZTU5OCBweTNrCis4MzI2NyAyOTQxMjNhZWQ0NmI2NTEwZGUzZTY4OTdmNTFjN2VlMzRhMzZkMWZlIHJlbGVhc2UyNy1tYWludAorODMyNjggOTcwNGI5ZDgxMGU1YjcxZWI3NTk0NjhjZThhODk2MWNlNDQzMzhmYyBweTNrCis4MzI2OSA4NDA2MzNkMzcyYmNkYWVhZWIyZDgyYTBjZTQ4MDk1NGFlOWE3MzJjIHB5M2sKKzgzMjcwIGVmZDk3YTAzOTM3NDlhNWY1ZTg4NmM1ZTdkZDViYTczNWUyMmMzODYgcHkzaworODMyNzEgMDM3NmU2NDM1ZjU3YzEyZDQ1ZTE2ODA1M2JiNjExMmRmYzMxNDhiZCBweTNrCis4MzI3MiAxYzVmNjBmMzgxYjI2NGFjZDZmNzE0NGYwNzc2MzY4N2NkNTMxYjA0IHB5M2sKKzgzMjc0IGFkOThiNTI1YjU4N2M2NmFkNmFmYmU2MjIxMjZjYjQ2ZGFjMjA4ZWQgcHkzaworODMyNzUgNDBkNmE3YzE1ODM2YTJmMTY3NDJhMGU0ZjViNjVlOWEyYzJlNjg3NCBweTNrCis4MzI3NiBhMWUyYWY2NTM3ZGZmZjIyNDFkMDQzNGM2YTY0NjUzYmFkZGZlMDdlIHJlbGVhc2UyNy1tYWludAorODMyNzcgNDM4MGZiMjI2YjExMjcwNWJmNWVkNTNkMzE2Y2Y3MjhhZTA3NzQwOSBweTNrCis4MzI3OCA1NzliMzM5YWIxNWY1NjZiYjVlNDRmZmJhMDBkNTE4OTkzZjY5ZjllIHJlbGVhc2UzMS1tYWludAorODMyNzkgMjk4Yzk2OWY1NjViOTY1YmY3YzFiYjFkOWFiMDczNjY4NWFjYzY2NyByZWxlYXNlMjctbWFpbnQKKzgzMjgxIGE3Y2MwOGI0YmEyNjlkOWE3NGE4YTQ4YmExY2I3ZGRjMjgzMDE5NzAgcHkzaworODMyODIgYWJiYjQ5YWQxZmMzMzMwNjllMjQyNTU4ZWUyYWJhZGIwZGM4MmQzMSByZWxlYXNlMjctbWFpbnQKKzgzMjgzIDM4MTE4MGE4ZjQ0NzEyYmMxMzQ0MDVkNjFlZDI0MWRiMGJmNzY2OTcgcHkzaworODMyODQgOTM0YjA5MGRmZWM4MGVkNGI3Y2U0YjZiMGE3MTc0ZjhmYWZjYzFhNCBweTNrCis4MzI4NSBmZTRiYjdjYjFmZTg3YjJjMTAyZmZmMWIyN2RmZWNiNTIwMjdhMzUwIHB5M2sKKzgzMjg2IDJjOWE4ZTYxMTJiMzk5MjAxMTY4NTQxYmNlZWE1NWRhNWU1NzZiYWIgcHkzaworODMyODcgNDZkMmVjNzhlZjc5NTc2Y2E1YjljNjM1NzRjODEzYjU1OTI5MDg2NCBweTNrCis4MzI4OCBiY2Y5M2UzNzY2ZThlNDAzYmUzMGExODc1NzUwN2Q5NWJmOTk5NzJiIHB5M2sKKzgzMjg5IDc4YTNkYjJmN2UwZjE3MTBlZTkxYjkyYmJhNjJhNWMxY2ZhYjA1NjUgcHkzaworODMyOTAgMjBjYzkzMTc5Njk1ODZkOWZkYmQwMTA0ODZmZDVhYzQ2OTNmYWIwNSBpbXBvcnRfdW5pY29kZQorODMyOTEgYzNiNjczYjk0NjEyM2Y5MzUzMmEwMmI5NTQwMDdjMTgzMzlhZDkxYSBweTNrCis4MzI5MiBiODAzY2MyZDZhNWNiZjc3ZDFhNGFjN2MwN2Q3MGJiMjI0ZjQ5NjU0IHB5M2sKKzgzMjkzIDY3MGQ0Y2JmMTQ2NDUyMmFiNTQwNmVmYzE2MTA3MDNkNzAwN2M5ZTIgcHkzaworODMyOTQgNzg3MWFhZjExMWEyNWQyOTkwMTY5NGMxYjg1YjdlZDNmMjYxN2NjZiBweTNrCis4MzI5NSAxMDAyYzNkYzkwZDFhNWE3YjI5MjA3NjVkNDdhZjI2MjhkMWUzZTJiIGltcG9ydF91bmljb2RlCis4MzI5NiA0NjcwMTk1ODhmY2M3YjIzNmRkM2VmZjk2ZGQ3OTI5ZGIxMjYyYTc2IHB5M2sKKzgzMjk3IDA4Yjk0M2ExYTkzNDRkM2M4MGMwNjI0MzQwMzBiNWYzZWRlODlkM2QgaW1wb3J0X3VuaWNvZGUKKzgzMjk4IGM3ZGM1YzdiN2FmMTk1Zjc0YzY2NmE2MDYwNDA3MjQ0YTllYTViN2MgaW1wb3J0X3VuaWNvZGUKKzgzMjk5IDNlNzQ4NzNmMjFlYTU5YTNiZTIzNzQ5MmUyNTcxYWFjYzAzOTRiY2YgaW1wb3J0X3VuaWNvZGUKKzgzMzAwIDhjZjZkMjY0NDk3NTdmMjRlNzlkYTViYjRkY2YwMjQ5YjBjNjJkZjAgaW1wb3J0X3VuaWNvZGUKKzgzMzAxIDY1ZWUwYmM5NzQ3NWYxMzJkNWY2NzFhNmU0MDk0NWUwOWE0Nzk5YTYgaW1wb3J0X3VuaWNvZGUKKzgzMzAyIGQ2ZWJlZGNkNmVjNGU4ZTU0ODVmMDFkYTY2YjhkNzUwNzgwMzM3ZGQgaW1wb3J0X3VuaWNvZGUKKzgzMzAzIDUxMDVjMTJjMzFiMjdkOWIyODc5MjI4NDkyZDU0NTYyZjQxZWZjNzMgaW1wb3J0X3VuaWNvZGUKKzgzMzA0IDg4MmZkODU1ZjEwMmI0MzkyZWYxM2Q5ZjQwZjY4ODMxOTUwNGU1YTAgaW1wb3J0X3VuaWNvZGUKKzgzMzA1IDg4YWRiNjRhN2FmZDliZTdiZTJjNmMxMjc0NGUwMTI1MDIwMTc0YzkgaW1wb3J0X3VuaWNvZGUKKzgzMzA2IDAwNDk2MTgwMWQxODY1NjI2NmFjNWM1N2JlMjMwNzMxNDY1OWIxY2IgcmVsZWFzZTI3LW1haW50Cis4MzMwNyA4NDVjZWYyZWIxZDdjN2U3MzFjNjUyYjUxOTFmOWRkMjgxZGExN2U3IHB5M2sKKzgzMzA4IDdjNGE3NzYwNDAyNzczMmY2MDA0NzZmODM1ZjRlMmFiNjcxNTQ4NGMgcHkzaworODMzMTIgNjYxZTRiZjg1YzU4ODVkMmRjMDIwYjZhMDhhYjc0YzdmMjViMzExYyByZWxlYXNlMzEtbWFpbnQKKzgzMzEzIGMyZWEwNTE2MWM5MzA5N2M0MjBmNGQ1ZDA4YjI4NGE0YmNjMmQzZDEgcHkzaworODMzMTQgNTg5NDU5MGU5YzhkNWZhYmJiYjcwYjJhMDY2NDkyN2EzMjU0ZDhjOSByZWxlYXNlMjYtbWFpbnQKKzgzMzE1IGMzYjEzNjI2NjUzODhhYzllMDA4ZDlkZDMyNjI4NzBkZDk4NTJiZDYgcHkzaworODMzMTYgMzJkOTRmMzE2ZGE5ODQ3ZmZlMjZiNGNiMjI3NDNjYzI1M2YyM2M0NSBweTNrCis4MzMxNyA3YWE5NzU3NzcyMDIzZGIxNDQ2NDNjZGRkNDg2ZmJiYjQ1NTAzZTEzIHB5M2sKKzgzMzE4IDZiMjNhYTMwMDAzMjFkNzljZDE5OWFkNmU3YzE4YTc5ZTRiNzAzNmEgcHkzaworODMzMTkgZTE3YjE2MDBmNDQwNmI2ZWUxOWYwMmVjZGNjMDhmNGFiODhhMjc2ZCBweTNrCis4MzMyMCA1NTBiMzhjYWY1YzFmYzdiZmFhMDAwMWJlNjc0OGQzOWE0ZDg5MDQwIHB5M2sKKzgzMzIxIDhiNDI2OTNlOTViOGMzNzgzYjUyOWFiYjk4YjNjNWYxYzg3N2QxZDkgcHkzaworODMzMjIgZjU3NGEwNzE4ODZkZDdjNGFjNGViODRkNmYyZTNlYjRhYmU5N2QyMCBweTNrCis4MzMyMyA3OTAzNTNiZWNmOGNlY2I5YzU1MTJiNGU2YTEyNzBmODczYzY3NTgyIHB5M2sKKzgzMzI0IDU3ZWEwMDUxNmVkZWE5NTYxOTMxNDk0YTliMjA0MjQwZjVmMmYzMTcgcHkzaworODMzMjUgNmY4ZGVmZDAxN2Q3MzZlNzA1MzJhMWUwNWU1YjFiOWVhMGE1NGQzOSBweTNrCis4MzMyNiA2ZTEzZWFkMzg5NTYwNDg4MTEyZTZjYjFhYTNkZTA1YTM4MDJjY2YwIHB5M2sKKzgzMzI3IGE0NWIzOGRjZGYxNmNhMDA2N2RhZjI5Njg4MmZkMjJmYWQxYzJhMTYgcHkzaworODMzMjggNzQ1NTFjMGI1MTNiNmM5ODMyMDhiYmJiYWVjM2EyOTExYTZiYWJkZCBweTNrCis4MzMyOSBmYjZhMTM4MDdhYzk1YWUzMWFiNTU5OTBlNWUwNTE5M2VkZWM1ZDJlIHB5M2sKKzgzMzMwIGZjODE1ZjNiMjc4MTI3NGM4ZjhmOWFmMTU0YTkxNGI4OWU4OTk2MTYgcmVsZWFzZTMxLW1haW50Cis4MzMzMiAxYjUwZTYyN2M2M2FjZTVmMDIzODhkYTAyOWIxMDQ2ZDc2Y2E0ODYwIGltcG9ydF91bmljb2RlCis4MzMzMyAxOWZmMzYwMzI3ZTc4MzgyMWFiZWExZjk2OGFkZTAxMmJhNjNlYWQ1IGltcG9ydF91bmljb2RlCis4MzMzNSAwNDNjYWFjNmM4NzU5MzEzYThiZjM3NGQyNmZiMjg0MjBmNzc4NmViIHB5M2sKKzgzMzM2IDI5ZTYwY2U2M2FlNWJlMDZlMWU3ZTNhODYwZDgxMzljOTRhYWNhMTYgcHkzaworODMzMzcgZTQ4NmQxOWYyYjBiODFjM2I5MDYyOWRlNDU0OTk5OGU0NzU0MzUxYSBweTNrCis4MzMzOCA4YTgwMWEzYWNhMzQ5OWExYWEwYzI0MTI4NDE5ZDkzMGFkYzhlOWIyIHB5M2sKKzgzMzM5IDQzZDE0YmJkNmViMTE3ODQyYjdiZjFmNjczYjc0Y2RjZDlmMmMyOTkgcHkzaworODMzNDAgZGVkNThlNDQ5ZGEzMzJlNmY1NjFmM2FiNDZjZTBkMjFiYTNmZGFjNCBpbXBvcnRfdW5pY29kZQorODMzNDEgMTI1ZjU0YTcwYWI4ZmJlOGZmZjUyODliN2E3NWEyNTYwN2QxOTIzOSBweTNrCis4MzM0MiA1OTQ3YjFiYjBmZWNkYzE3ZTUxM2ZjN2Q0ZThkM2MyNzYyOTU1ZGI3IHB5M2sKKzgzMzQzIGIzN2I3ODM0NzU3NDkyZDAwOWI5OWNmMGNhNGQ0MmQyMTUzZDdmYWMgcHkzaworODMzNDUgZmNlNzhhMjA4ZGIyNzBiMDNjYzg5NTU0ODU5ODMxNzYyZmVmNDk2MyBweTNrCis4MzM0OCAwOWNhNDY0OTA3MDdlZjlkZTQzZTVjZDUwOWQzZGU5NGQ3ZmJhOTRjIHB5M2sKKzgzMzQ5IGE2YjcxOGU4MTQ0ODBjZmM2YjMxZTNhZDIzZjBiNjg0ZGVhMWVhMzggcHkzaworODMzNTAgYzU1ODc2YTZmYTNjYzAwMGE5M2FlZmVkZGI2ZTM2ZjVjMDI3MDQ5OCBweTNrCis4MzM1MSBiMTJkZGE2MmU5M2JiOTRhYzBhM2UwODBjNDRiNDYzOGI1ZWQ4OWZjIHB5M2sKKzgzMzUyIGUwMWQyNmEzNDY4OTljOGFjNTc5ZTQ5MDk5ZDdhYjJiZTliZDcxYmUgcHkzaworODMzNTMgNGRhM2M1NzAzNDNiYjExZTA5YjUxNmEzYWIxMzRmYTgwMGYwNzhhYyBweTNrCis4MzM1NCAyNWY2ZDU3MGU3YzE2MTI2MTNmN2YyMTgwNjM0NGE0MTNiMjMxYTA5IHJlbGVhc2UyNy1tYWludAorODMzNTUgYmU2MWM4MDhiNTI4OTZmMmUyYWJmODVhY2I5N2ZkZjJhNjI5NTAxZCBweTNrCis4MzM1NiBlMjUwZTg4NTI0ZDViMDliMmRjYmUyMDIxYzMzNTc5MmU3YjYzYTIxIHB5M2sKKzgzMzU3IDhiZGJkMzJjMmViYmRkNmEwMmJiY2QxZTIzN2ZhMDI2N2QzMmQyY2UgcHkzaworODMzNTggZjljYzA5ZGFjZWRhZGQ0YzUyYjkxZGEyNjBmMzBlNzJmZmIzYTJmOSBweTNrCis4MzM1OSBhYjg5ZDBmNTJhN2YzMGI3YjYwOWU3NGY5NjA3ODQ5NjdmYTdkNmU2IHB5M2sKKzgzMzYwIDllYjRiYTQ1YTZiMjg2YjZjNTYxMmM1MmU1NGExMDIwOTY0MTU2MjIgcHkzaworODMzNjEgZTIzN2IxNWMyYmU5OTQyNDM2MmM1YTk0NTE1NzMwNzg1OThlZDg5OCBweTNrCis4MzM2MiA2ZWM2Njg2MjJkNjRkOWNhMzAzZmUwNTVkYTkyYzhlMzgyMzkxZWZjIHB5M2sKKzgzMzYzIDZlZWVkMzUyNjYzNDI3NDc4MDUyYTcxNGUzMzE4N2EyN2E0N2JkNGEgaW1wb3J0X3VuaWNvZGUKKzgzMzY0IGIyNDg0MWMzMDliZTU0NjgxNTExY2E0NzMwYzQ5OTY2OTYxYjhjN2IgaW1wb3J0X3VuaWNvZGUKKzgzMzY1IDE4YjI3MzRmN2YzOGNjNWVlYjI5NmUwNzBkNDk5YWUzMGI0ZWE5OTEgcmVsZWFzZTI3LW1haW50Cis4MzM2NiAyNjNmYWRhMjU2NWRhMjMzYzIxZDY0ZDVjODVjN2Q0N2E4OGJhNjBlIHB5M2sKKzgzMzY3IDI2NTY1ZWJkNWUzMmVlN2Q0MTY1NTkwYTIxMDJmZTJmMzE3NDM5YjggaW1wb3J0X3VuaWNvZGUKKzgzMzY4IDZmNWJhNzEzMTZlNzE2MWI3N2ZmZmVmYzM5N2JjZTMxYTcxYTI3NTYgcHkzaworODMzNjkgYWY2OTJlZTkwZjY4MzgwNTZlOGZmOWM5MmViMTQ3MzliMWI4YTM1MiBweTNrCis4MzM3MCAyOGYzN2EyYjQ0NGJmMzU0YzdhZTc0YzcyOWYwZTA0MTcyMWFiZGNhIHB5M2sKKzgzMzcxIGUyYTlmNjMzZDYxMjZmYWZmYzc0MjI5ZjVjNTMxM2YwNGRmNzdmYjUgcHkzaworODMzNzIgMWNlOWQ0ZmIxM2MyNjUyMDIwOWJhN2FiNzM5M2Y0OWNkMzY4NjMzNyBweTNrCis4MzM3MyA2NWFmN2JlNjE0YTQ4MThjOGY0NGEzM2E4YjM5MmM0OTcyYjEyNzdiIHB5M2sKKzgzMzc0IDViMjRkMWUxODI2OTlkMTFmYTgzODUzMzk3MjRkNjM5M2NmNDQxODcgcHkzaworODMzNzUgMjFkOGM0MmMwYjEwNzgwMDk2OGQwY2NhZTU5OGViYWYyMTMzODMyZCBweTNrCis4MzM3NiAyODEyYmZkODRiNTAwMGE1YWM1N2ZlMjNlMzM5OTkyMGE4ZDYzZGViIHB5M2sKKzgzMzc3IDM4NzA0M2QyMDgwYjUzZmQ4M2ExOTc5MjE2MjNjNzg2N2E1ZmZkNDMgcmVsZWFzZTI2LW1haW50Cis4MzM3OSBmMjljMzE5ZmY1Njc5YTNmNjQxZTQ4OGYxNjkxNWQ2OTExOWMxOWZhIHJlbGVhc2UyNi1tYWludAorODMzODAgNDYwM2E1YzQ2NzVhNDMyMDI1NTUwODg3OTM5YmYwNmJkNGQ1MTM3OCBweTNrCis4MzM4MSBlODA1NzdkNTZhOGZjNDgzZDAyYmRkNDJlZDk4YzdmOGZkNzAyOTk1IHJlbGVhc2UyNy1tYWludAorODMzODIgZGNiMTZkNzAzNjUzOGExZDM3ZTAwYTgyYTE3MDFiNDYxNDQ4ZmNhOSByZWxlYXNlMjYtbWFpbnQKKzgzMzgzIGVkZGE3NTk2YzgzMTI3OTVmYjI5NWMxMzFmNzcyY2UwOTUxMzNmYzMgcmVsZWFzZTMxLW1haW50Cis4MzM4NCA3OGJjYWZmMGRkMmIwMmFjYmJiN2JjMThhNmZjNTcxYzg4NzZkMjcwIHB5M2sKKzgzMzg1IGRhZDA4NWM4ZGUwOTliMWI2OTc1MDJkMjI5ZTkyYWNkYjhjMDdkMjcgcHkzaworODMzODYgNmRlNzBkNDliOTE2NWFkODVmNjcxZmI1ODFhNDE2NTk4YWFlMmQxYiBweTNrCis4MzM4NyA5NzBiN2NkNTI0NTNiNWVhMzdjZGIzMTJlOGQ3NzBiYTQ3NGZhNWJlIHB5M2sKKzgzMzg4IDczNDQ0MjdlODdkZmNiMzU5ZTg0MjAxYTUyNDEzZjU1M2Q1MWIxOGMgcHkzaworODMzODkgNmJmMjkyZTkwNmMyYzIzZWIxMDRhMGRmNDE0OGFlOWI5NGU3OTM2MyBweTNrCis4MzM5MCAzYzRiZDg2MTMzODNlNGQ2MTUwMzk4ZGEzOTliMzA4NDQ3M2NjNWRlIHB5M2sKKzgzMzkxIDU0MTBlMTE2N2Y3ZDNjNTM1NjQ4NDY4NWYwYmRhNDlhMmM1MzAwMjkgcHkzaworODMzOTIgNmVmMzJkMjA4ZmNjNGY0ZTc1YzlhMmYzMTc1YmFjYTJmNDkwNmUzMiByZWxlYXNlMjctbWFpbnQKKzgzMzkzIDMxZjRjNGI2YzQ0NTAzMzA2ZjNhNDNmMTRjN2EyZmNhNmNhNGFhYTggcHkzaworODMzOTQgYTRhZDEwOTc1Nzc2YzU4ZTlmNWU0NTcxZDcxYzViMjk3NWU3NDFkMyBweTNrCis4MzM5NSA2NmNiMTVjNjJkYjQyZTZkNzUwYWU2ZTljYTZlNzViMmEyOWYxZWY4IHB5M2sKKzgzMzk2IGYyZjc5NjE5ZjZhNDk0NzA1YTgyMDRlMTdlZGY0OWIxNWFhNjIwYTUgcHkzaworODMzOTcgNWVlM2UyNzEyZDdkY2ZiZjdhMjM4ZGUyODNkZDNhYzM4N2ZkMmFjYSBweTNrCis4MzM5OCBjYjIzMWI3OTY5M2U0NmRmZWZlMmFmYjAxNzJhMzgzYTk1OTVkMTQ4IHB5M2sKKzgzMzk5IDZkMzVkNmU1ODU2MjFmZjNlNmYxZDY0Mzg0YjA4NTQwZGRhYjNhNzYgcHkzaworODM0MDAgODk3ZmQ1MTA1MWJiNmYyNmFlYTBiYzllZWExMDVhYzg4ZGUzYmMwMCBweTNrCis4MzQwMSAzOThmYTdiNzc1M2FlMGE2Njg2OWU5NjIyYTZjODY0Yzk4ZDZmMDg3IHJlbGVhc2UzMS1tYWludAorODM0MDIgNTFhYWQ1MDljMjBmMTUxNTk1NTFhZDhiZDM2NjNiMDc3YTk4YzgyOCByZWxlYXNlMjctbWFpbnQKKzgzNDAzIDFmMDI3MWMwMzZlMTY4ZmU0YWIyMDQwYzAxOTI5YWY5ZmU3MTg2NjkgcHkzaworODM0MDQgY2MyZjg2NGJhYzljZWUzYjhjODdhOWIzNDQ0YmU2MTdkZjMyMjJhMyBweTNrCis4MzQwNSAxMzViOTkxZDY1YjYwZTY4NzUxYjA1ZDUzN2I2NjgwZjRmY2I5OTM0IHB5M2sKKzgzNDA2IGNmOTg5YTM0Yzc3ZTMwMzliYTA1NzU1YjUyMDFhODUyM2E2MzdiZTggcHkzaworODM0MDcgODhjM2RiNmY0NzllNDNiOWM4NzhkNTVlNmNmNjNlZGJmOTA5MWY2YSBweTNrCis4MzQwOCAyMjk5M2QyN2ZjOGRlZTRjYmUwYTJmMzkzNTE4MWUxYjIxNjE4Yzk1IHB5M2sKKzgzNDA5IDBiZTU1MDQyMTNkMzgwZjBmYmJjYWI5NDYxZDAzYmUxOGY4NWI4MjcgcmVsZWFzZTMxLW1haW50Cis4MzQxMCBlMzE2NWVlYWE3MDBjNThkMWE2MDI5ZjBkMTkxMDg3MjhkYjgzOGUzIHJlbGVhc2UyNy1tYWludAorODM0MTEgNzQ1OTlkMzk1NGUyOGQ0YzlmNzQ2MTkzZTM1NzhkYjc2NWY3M2M4MSBweTNrCis4MzQxMiAwZmU1NWMyODZlZGZkNDcyNjRjOTdiOGIwMGM5NzA3NmY5MGEwNTgzIHJlbGVhc2UyNy1tYWludAorODM0MTMgNzY2MDVjZmM0Y2YzODNiYzhlYmZmZjMwNjFjYzAzZmFhNjllMWJmOCByZWxlYXNlMzEtbWFpbnQKKzgzNDE0IDYyNWMyMWRkZTEzODBmODFmNTRkNGEyZjI2YzBmZmI4MjYxZDllNDYgcmVsZWFzZTI2LW1haW50Cis4MzQxNSBjODNiYTU1MTUxYjFmMzBkMmNlZDU5ODNiNzRlZDA5NDAyNjUxYTk4IHB5M2sKKzgzNDE2IDMwMjAyYzAwMTQwMTU0ZDUzZDQ1YjNjNzY2NDIyN2Q4Mzk1OGNiMzQgcmVsZWFzZTMxLW1haW50Cis4MzQxNyBlZjc1ZWNkMGUxYTdiMzJhOTU0MGM0MjJlNmMyZjY2M2RhNWM4ZTU1IHB5M2sKKzgzNDE4IGNjMzM1MDhlODBjZDc4MTkyOTdiOWExZGFlN2EzNDExNWZmZWMyYjMgcmVsZWFzZTI3LW1haW50Cis4MzQxOSA3MWZjOTJiODhiMTliODAxZTg5ODliMzhkMWViZTg2YTZhMzcwNTJkIHJlbGVhc2UyNy1tYWludAorODM0MjAgMDFjYmQ5MzIwMjY0NDhhNzUxMDVjZmUwNWRhMDk2ODZlNWJmMzZkYSByZWxlYXNlMjYtbWFpbnQKKzgzNDIxIDg0MzYzYzc0N2MyMTIwYWE0MmI0OGExYmEwNGIxN2UwODkyYmUyYjYgcmVsZWFzZTI3LW1haW50Cis4MzQyMiA5ZWUxOTZhN2Y5YTJhMzJiZTQ0Zjg3NjExZWQ1N2EyZDJjMDY1ODI4IHJlbGVhc2UzMS1tYWludAorODM0MjMgZGJjOGRhODEzNjMwZTYxMGYwZmU1MDg4NTQ2ZmZlZTAyMTY5ZGIyMyByZWxlYXNlMzEtbWFpbnQKKzgzNDI0IDlkZTA3YzU1ZmRkYTI3NjllZGM1Nzk4NWZjOTk3NzY4MmY3MWUwMjMgcmVsZWFzZTI3LW1haW50Cis4MzQyNSBiYzY2ZTE1NjZhMTkyODQ3MmFiZjJhY2UxODg4YjAyMmY5MDMyNzA5IHJlbGVhc2UzMS1tYWludAorODM0MjYgYmY1YzYzMGRhYWY3NTJkMjY4NDMzYmQ4MjNhMjczYTkwNDgxNTE0YiByZWxlYXNlMjctbWFpbnQKKzgzNDI3IDkzYjNhZTYzZDJmMzEzODg0MTdmYmY2NDA5YzQxZjVkOTFmMTM2ZDEgcmVsZWFzZTMxLW1haW50Cis4MzQyOCAxMGMxYjYxNDFkNTM1YzVkZWJiNjBhMTNlZmY1ZDIwOGZhOTUzNzgxIHJlbGVhc2UzMS1tYWludAorODM0MjkgOWYyZmJlZTQyMGRhYzJhMWRjZDMzMjBiMWY4ZmQ3ODk4OWZmYjk2OCByZWxlYXNlMjctbWFpbnQKKzgzNDMwIDBkY2FlNDU1ZWMwNzZkYmQzOGY1ZTlmN2IwNDlkNWNiNTZlYmVkMGIgcmVsZWFzZTMxLW1haW50Cis4MzQzMSBiYTM0Mjc5NjIzMDYzN2E4ZjdlNDMyZjhjY2QxNWM1NTgwM2I4ODNlIHB5M2sKKzgzNDMyIDY2MWUwYjBiNDBiZjFmM2NjOGQwNWM4Y2FiZTVmYTEzNTYwODgwNTYgcmVsZWFzZTI3LW1haW50Cis4MzQzMyAyMGM3MjQ0YmNhNzgwMzc2NWUwZTY3NWE0NmI4MjRiMzFlMjViNGI1IHJlbGVhc2UzMS1tYWludAorODM0MzQgYjQ5MjAxNDg0ZjdmZTVmM2EwNDVkNzNmN2RlYmYzOWEwZjJkYTg3OSByZWxlYXNlMjctbWFpbnQKKzgzNDM1IDkxODAyODQwZjBmNzgzZjFkZDU1NDQ1ZTVkY2MzOTlkNDVkYzNmZDkgcmVsZWFzZTMxLW1haW50Cis4MzQzNiAzNDk5ZWQ2Y2JkMDc3Y2Q1NmM0NmQyNTUzNTUxNzAzMGUyZmFjNjBjIHJlbGVhc2UyNy1tYWludAorODM0MzcgNDkwM2U3NTc3NDU0ODU4YTU3MTRlYzkzOTRiNjFmYzQwODU1ZjUxNCByZWxlYXNlMzEtbWFpbnQKKzgzNDM4IDQ2YjE0YTI5NTBkMDBlYjc2NTM2M2FjMDFhYzg5ZDM5MzU3NDQ5MTggcmVsZWFzZTMxLW1haW50Cis4MzQzOSA0ZjY3OTEwNGNiODZiZGU2NDNjMTliNzMwYzlhMmZjNGQ0NmJlNzg5IHJlbGVhc2UyNy1tYWludAorODM0NDAgNDA0YTlhYzFhOWEyYjdlZTNmYjY1ZTVkYTEwOGMxYTQzYjRkNjM0YiBweTNrCis4MzQ0MSAzYzBmZmUzOTU1N2RlZTU1ZGFkNGVmOGVkZDcyZDk2ZThjOWQwZTFiIHJlbGVhc2UzMS1tYWludAorODM0NDIgYThjZmVmODg0MDhmM2M0NTVjZTQzNGE3OWJiMTNlZTk5M2NiNmQwNCByZWxlYXNlMjctbWFpbnQKKzgzNDQzIDcyMDc5OGExZWU3MTkyMmZhYTczNGFiYTVkY2NkNzdmN2RjMTY3MjAgcmVsZWFzZTI2LW1haW50Cis4MzQ0NCA3NjViZmQ4ZWM5Njg5OGNkNTNkOTQ2N2FmNjk5MjE1NmFhNWE2YjNmIHB5M2sKKzgzNDQ1IDVhZjM2MWFkYWFlOWZkZGJhYzdmNDBiMDhhZTM4ZDJlNGNlMzRjMzggcmVsZWFzZTMxLW1haW50Cis4MzQ0NiA3NWIzZWRkYTNjMmJkOTUzOGRiNjk3ZjM1YmI4MmUxNTNiNWZhYjBjIHJlbGVhc2UyNy1tYWludAorODM0NDcgMTQ2ZmVmMDI0OWY5ZmZjMTBkZjg3OTc2Njg2MDE4M2NmMWVkNWJlNCByZWxlYXNlMzEtbWFpbnQKKzgzNDQ4IDQxNWVhMmMzY2ZlOGE5YzBmMDgzMjIxMmEyY2ZlM2Q1NGVlYzVhZTAgcmVsZWFzZTMxLW1haW50Cis4MzQ0OSA0YTAwMmRhN2ZiZmIzZDk2NjFiNjhiMjJlNGNhMGIzM2ZiZjBlYTRjIHJlbGVhc2UyNy1tYWludAorODM0NTAgM2Q3ODIzZTY4OTdiNzYxMjAwNDUzN2IyNDc2ZjZiMmM3ODIzZDc5ZSByZWxlYXNlMjctbWFpbnQKKzgzNDUxIDJjYTg0MmRjYmUxMWU4NDRmMDFjYTJjYzE0ZWVmNzE3MmFjNTJlMGYgcmVsZWFzZTMxLW1haW50Cis4MzQ1MiA0NzNhODA2OGY2YzU0YTQyNzM1OTNmZGYxMWIwOWFmYmMzODc3YTUxIHJlbGVhc2UyNy1tYWludAorODM0NTMgYmVhYjJmYjI5NmNjZGI2ODEwNjcwNjIwZDJkMWNmNjhiZDNkZDdlZiByZWxlYXNlMzEtbWFpbnQKKzgzNDU0IDAxZDljYTgyZmQ0ZTRlZTMwM2VmZWJkYzhiOGEzODAzZmUzY2VjOWEgcmVsZWFzZTMxLW1haW50Cis4MzQ1NSBhYWQ1NzY2YmYzNmZjNmNjZDk4ZjI3ZGY5MzZmNTAzN2FhOWI4ODlhIHJlbGVhc2UzMS1tYWludAorODM0NTYgYzcwNmY4Njc5ZGZjZTNmNGE1N2NmOTFlN2IxOGY4ZmNiZTIxNzhhZiBweTNrCis4MzQ1NyA4YzEwNDViOTJiNmYxOWQyN2Q3ZDliODA3YTVjZTdhMmEwYWRhNjhhIHJlbGVhc2UyNy1tYWludAorODM0NTggZjA0ZjQyMTM0YTkyMTc0ZmQwMzg2M2U3MDRjZTVkZWQxNDU4MTNjZiByZWxlYXNlMzEtbWFpbnQKKzgzNDU5IDJiYzFmYzJkOGNjMDlkNzM0ZDViOGE0YmU3MmRhMGQ1ZmQ4ZmMzMTIgcmVsZWFzZTI3LW1haW50Cis4MzQ2MCA2OWY4N2Y5ZDMzZTcyMjBiNmJlYjE2OTVmYzgyNWUwNjRiNzI3NmViIHJlbGVhc2UzMS1tYWludAorODM0NjEgYmY2ODIyNWRkMmJjZTZkNWQ5NTcxZDNiOWEzODM4YWY2NTA2YzE2YyByZWxlYXNlMjctbWFpbnQKKzgzNDYyIDllYTVkYjU2N2JkZDhiZmY5MjgwNzY5OWU0MGRhYWIzZDA0ZTM1MTUgcmVsZWFzZTI3LW1haW50Cis4MzQ2MyBjNDMyYWRhYzExNmFkNzE0ODgyYzNiMjZmY2ViMjRiMTZkNDBlYWE5IHJlbGVhc2UzMS1tYWludAorODM0NjQgOTNkMTI0YTgxOTVjYzQ4YTViOWUyY2IzNDhlYWFlMTA5YWRlMDhmYiByZWxlYXNlMjYtbWFpbnQKKzgzNDY1IDlmMWVlY2JjYzM2NjIwZGUxNTgzMzNlODQ1ODg3N2E1YmQ3MTBjY2IgcmVsZWFzZTMxLW1haW50Cis4MzQ2NiAxOThiMmNkM2E2ZDFiODdiOGFjMmI5MzFhMWU4MTdmNWViNDAyMDZjIHJlbGVhc2UyNy1tYWludAorODM0NjcgMzk1ZWNhZTYwMmNiMTAxZTZkZDg2NTVlMDRiNjMzNWZmYjhlOTA0MCByZWxlYXNlMzEtbWFpbnQKKzgzNDY4IDViN2UzNWFhMWYxZDE3M2E4ZmQwZWM1M2RlZWQ1YjMxMzY3ZGE4NzAgcmVsZWFzZTMxLW1haW50Cis4MzQ2OSBjYjUyMjI1NzJmY2Q5M2ViNWIyNmVkNWViODYxOGE4YTk0OWQwOWY5IHJlbGVhc2UyNy1tYWludAorODM0NzAgY2QxMWUxYTFmZDg5YmMxNTZlNDNjMDc3YjMyMWJkOGM0YWI1MTk3ZCByZWxlYXNlMzEtbWFpbnQKKzgzNDcxIGYzNTQxNDY0MmRmZmEzMzViMjdiNzY4NDU0ZjBjYjhmOTU3MjhlNWEgcmVsZWFzZTI3LW1haW50Cis4MzQ3MiAyMjhhMGVmMjNhN2IyZTU0YWE0Mjg3Y2I2NjJkYWIwNGNhOTQwM2I3IHJlbGVhc2UzMS1tYWludAorODM0NzMgOTJmOTY4ZDg3NGI4NmU4MWRlZTZjMWI0OTM1MjA5ZjhlMDUzMDU0ZiByZWxlYXNlMjctbWFpbnQKKzgzNDc0IGY0NmRjZDhhMzExMzVhODMwYTZkYTkyOTg3OWRiMWE5YzNmMjNiZTcgcmVsZWFzZTMxLW1haW50Cis4MzQ3NSAyNzU0NGZiMGY3ZjE0ODU5MDQ5NDQ3MGEzZWFiOGRlMWYyYzM5MDgyIHJlbGVhc2UyNy1tYWludAorODM0NzYgMTMxMmU1OTRlYmU3ODQ4ZTY3NTA3YjBiYzJjNjc0MmQ1MWVlNjUzZCByZWxlYXNlMzEtbWFpbnQKKzgzNDc3IDliZjdhMGY0MmVhYzM5ZjUzOTYyOTE2Njk5NzU0OTYwOWU2ODMyNjIgcmVsZWFzZTI3LW1haW50Cis4MzQ3OCA2YWVhNzA5MjhhNmFjNmQ0OTY2Yzk2ZDQ0YzZhZDUzMTFkZjIzNTBjIHJlbGVhc2UzMS1tYWludAorODM0NzkgMWFiZGJjZmFhMDg5ZDA4MGIxMzZlYmFmZGQ1Njg5NDQ1YTg5ZmU3YSBweTNrCis4MzQ4MCBmMzZhMDQwNzhiZmRiZmViMjY0ZDc5MzMyMTU2ZDAzNWVlMDM4ZTQ1IHJlbGVhc2UyNy1tYWludAorODM0ODEgZWJkNGIyOGY0NmEwZjI5YmJmOWRlNTg3OGM2OGQyNjBiM2MxZDY4NCByZWxlYXNlMzEtbWFpbnQKKzgzNDgyIDBkZDQ4MDAzOGE4ODcyYzg3MmQ3ZWE5MTE4MWRmMzUyYmY0NDRkNDQgcmVsZWFzZTI3LW1haW50Cis4MzQ4MyBkMTViNDNjMjcyZmJiNmQ2NDdkY2JkODE3NjVmOTQyOGFjNTQyNmJkIHJlbGVhc2UyNy1tYWludAorODM0ODQgOTUwMWNkNjQwYzhlODdlMmVjZjExNzY5MjI3MGJjZGE2OGM5NWQ5YiByZWxlYXNlMzEtbWFpbnQKKzgzNDg1IDhmOGJhNGJmYmZhNTA2NDc2NGJjMmZjNDYyZmVmNjViMzFkNDU3ODUgcmVsZWFzZTI2LW1haW50Cis4MzQ4NiA3NDM0MDY3NDliMmQ3MDVjYzM5MWQxNDFlODhkZmRmNTE4NWMxMjYxIHJlbGVhc2UyNy1tYWludAorODM0ODcgZThmYzlhOWUxOTkxYTA3OTk3ODUxNTY0MmNkMzZiYzZhNTJhNmQ3NCByZWxlYXNlMjYtbWFpbnQKKzgzNDg4IGRlNmRlZjc5MzI2YzkzNjY3NmYxZGRhYzUxMWU4YWY4YWIzZjMxMTUgcHkzaworODM0ODkgMmE0YjJmZWM4Mjc3YzdiOGY1ZmI1YzMyMjA4ZTYzMDJjY2MyOTNlNiByZWxlYXNlMjYtbWFpbnQKKzgzNDkwIDJjMjUzZjZlMDJlN2Y5MjU0MDk1YzliZTM3Y2Y4MjllN2UzY2EyMTEgcmVsZWFzZTI2LW1haW50Cis4MzQ5MSAzODgxMjk0OGM1MzIxMTE3N2M5OTkxZDc4Y2U4ODY1MWJkNWZmZGFhIHJlbGVhc2UyNi1tYWludAorODM0OTIgOTdjYjFkZDg1NjZlYjIzNWNjZTY5NzUyZWM3ODU1NjE5NWQ2NmJmZCByZWxlYXNlMjYtbWFpbnQKKzgzNDkzIDVmZDA5ZTQxMGQzNmJmMzYwZWExZTIxNWI0MjQ4NzU2YTY0OTAxZmYgcmVsZWFzZTI2LW1haW50Cis4MzQ5NCBiN2Q1Y2JiZWExODBjZmZkYjQwOGJjOTNkMjBhZTlkMGQxNzY2OGZhIHB5M2sKKzgzNDk1IDYxYWQ4MWE3NzRjNTUwNjNmYjEyOWVjZTlkZjI4NzQ3ZTE5MzgwMDMgcmVsZWFzZTI2LW1haW50Cis4MzQ5NiA5Yzc1YTk0MTg3YzczZjZhNzg5NDU4NjAwMjQwNDBhYzI3YjU3MzJjIHJlbGVhc2UyNi1tYWludAorODM0OTcgMGRiNjVjNjUxMGRhYTU2OGYwZWUxYjM5NmE5MDc5MGMwNTlhYzAxYiByZWxlYXNlMjYtbWFpbnQKKzgzNDk4IDMxNzRkNWJhNDZlMzhmMWI4MDFlYmEwYjYzMzM1MTBjMDUxODc4MDAgcmVsZWFzZTI2LW1haW50Cis4MzQ5OSBiYzEwYTQ0MjcyZGZjN2VmOGZlYTllN2IwNjI5MmEwZjZhNzVlNGUwIHJlbGVhc2UyNy1tYWludAorODM1MDAgZmRiZmNmOWRhMmM3MTBjYmZiY2E4OGVhZWIyMTRmMzM5NzM3MDk2NyByZWxlYXNlMjYtbWFpbnQKKzgzNTAxIDhhZGEzNWU5ZjQ1ZDBmMTM3ZWE1M2MyNDBkZTM3ZjE5ZTQ0MGQ3MWYgcHkzaworODM1MDIgMmMzNjc1MDE2MTQ1MWRkNTAyYzMxMjc5ZDM0M2FkMGQwMjJjMTJiMiByZWxlYXNlMjYtbWFpbnQKKzgzNTAzIGU0OGVmNzEzMWNmYmM3ZjQ0MDQwZDY1MjY4MjU1MzE2MTcxZWZmNmIgcmVsZWFzZTMxLW1haW50Cis4MzUwNCBjOTY2MzEzMjM5MGRjZGM2NmJlNDA5ZWFmYzkwNmQ2YmM2YTY0MmFhIHJlbGVhc2UyNy1tYWludAorODM1MDUgMGFhYzdiODc3MWUxN2ZlM2E4MmI5NzUxNGZiZjg4MzU1MGExOGRhMyByZWxlYXNlMjYtbWFpbnQKKzgzNTA2IDhhMTQ5YTlmOWRhZjY1NzE2NDUwMDZlYjRlMzQzYzY2MDhkNzZjMjIgcHkzaworODM1MDcgMmU5N2FlYmFkZTRkZGJjZjM2ZTM2NDE5Nzg4Y2ZlOGNlYTlkMzlhNCByZWxlYXNlMzEtbWFpbnQKKzgzNTA4IDYzYjIzNDllZjc5MGQ0ZjQ2YjdjMGU0OGZkNzQyZDU0ZTA0MDM2M2EgcmVsZWFzZTI3LW1haW50Cis4MzUwOSA3MmM4ZmFiOTExNmViMDhiYjFjMjgzZjRhOTQyZTI1MGU5MWNmOTRmIHJlbGVhc2UyNy1tYWludAorODM1MTAgZGU5ZjM1M2VlODY1ZDllNTg1YjE2MmQ2M2IxNjUyM2M2MzBhMTc1MyByZWxlYXNlMjYtbWFpbnQKKzgzNTExIDM3ZDNjZDhjMTBmYjQ1MTE5N2U1NGU3YmRlZmNlZDdmZDA1Y2NhMjYgcmVsZWFzZTI2LW1haW50Cis4MzUxMiA3NTFjNmRkNzFiNWVkNTVkNDk1Y2U0MDc1MTQxZTEwOTJmMjAwN2Q4IHJlbGVhc2UyNi1tYWludAorODM1MTMgZWI2Zjk5MjU0MzEzNzM4ZGRjNzhlZjAyOGVlYTdlYmE2NmZhMzEyNCBweTNrCis4MzUxNCAxODVlM2Y3MjY2ZTkwZDc0M2EzOTcxZjVhOGQzN2FmZDBhN2M3YWYyIHJlbGVhc2UyNi1tYWludAorODM1MTUgMzAwODZhYTMzMTIzNTEyYWMzNGVmNGNiOWQ4ZDAwY2RjNTdiODBiMiByZWxlYXNlMjYtbWFpbnQKKzgzNTE2IGQ4ZGJmMjQwMGQ4YTIxYzllNGVhYWI0ODU5OWJhOTg4OTdlODE1ZTUgcHkzaworODM1MTcgOGEyYTgyYmI3MWM4MjI0N2UxZGYwODcyN2IxYjFjNmRjZmM4MWIwOCByZWxlYXNlMjYtbWFpbnQKKzgzNTE4IDJkYzBiNzEzMWM3MjEwODBhZDkxNjljNjk4NDAzZmY3ODQwNmM5MjYgcmVsZWFzZTI2LW1haW50Cis4MzUxOSAwN2M4NGI5ODE0MDE0ODYyZDAzZGE2MDQxYTA2ODA0ZTNkZWQyYzI0IHJlbGVhc2UyNi1tYWludAorODM1MjAgZmQ0YjA3YWI3OTc2OTk2NDAwNjUwMTBkYzNkZWI5ZmE5YjE3YzAxYiByZWxlYXNlMjYtbWFpbnQKKzgzNTIxIDM5ZTE0ZGY3NjVlNDMxYjlhNzhmYTQ3NTNhM2MzNzJkMTk2YTgzM2UgcHkzaworODM1MjIgOTA0ZWY0YmJmZjVlNTY0YmY0MTZkMDY1MGFmOTdlN2U4ZDcwYjI1NCByZWxlYXNlMzEtbWFpbnQKKzgzNTIzIGI2MTQ0ZGFhNDMzOWExOGFiMTBlNmUxZmY2MmQ2NDNlMmNhOTRhNDggcHkzaworODM1MjQgNjFkMzQ4MWViYTc0MWQ3NTcyNzdlMjdiNTc0MmJiYTczMjAzNGI5MSBweTNrCis4MzUyNSA3N2JiYjA1ZDMxMGU2M2RkZTZkZGM1YWM2YTMwNjYwOWUzZGE4YWU0IHB5M2sKKzgzNTI2IDkyNDZhYWRmY2Q3ODljMjNmMTMzOWFkNWEwMWY0YWFkYTY3M2Q1MmMgcHkzaworODM1MjcgZWI3OTA0OTVjNmE0NTAyYzlhMGViMTU2NWNiNjkwZDgyNDRlNTFjZiBweTNrCis4MzUyOCBhMzQ5ZmFkNTA3YTIyNDU4MTVlNTJiZDk3ZmJlZDliYjBjZjgyM2UxIHB5M2sKKzgzNTI5IDE2NDBlZmE3ZmYyOWM5MjRiODg3OGZjZmJkMTljOTQ4ZmExMDY3YTUgcHkzaworODM1MzAgYjA4ZDM1MDYyMDg4NWYwMmZhZjI0OTI1MDcyZmQ3MGU1ODM4ZTM3OSByZWxlYXNlMzEtbWFpbnQKKzgzNTMxIDg1Y2RhZjVmM2NkYzNlMTRjMDgxZTlmMjc5ODc0ODZlODVkOGE3NGUgcHkzaworODM1MzIgYTMxNDljOTMxNjU2NTZlOGY5NTAwNTM1OTkwOGZlMmNiMzU4ZjY0YiByZWxlYXNlMjYtbWFpbnQKKzgzNTMzIDZiYWViYTU0ZmQyNGJkNzFiYWUwMDU1OTBhMWZhYmEwMWJjZDBjNGIgcmVsZWFzZTI3LW1haW50Cis4MzUzNCAzMDY4ZTAwYTMyMDc2OGE1YzAyNDNmYzM0ZjVjNjM4OWNlZGRmNzkwIHJlbGVhc2UzMS1tYWludAorODM1MzUgM2JlMjQ2NGMwYzM5NDZkYzIyODU3ZDJjZTM5YWViYjg1ODhhNzVkNCByZWxlYXNlMjYtbWFpbnQKKzgzNTM2IGQ3ZjMwODVkMWIwM2U0MmZkNzZhODM1ZDA2OWQxZTUzOTZlOTk2OGUgcHkzaworODM1MzcgN2MzYjg0OWQxODFhZTJkOTgxMTU2MjQ5Y2I1ZjVmZWM2MDAwOTA5ZCByZWxlYXNlMjYtbWFpbnQKKzgzNTM4IDUxNmY5ZTM0YWYyMDk2ZGEwOWY2MzkzNWRlOTY4MDRjYzdjZDIyMTIgcHkzaworODM1MzkgY2E2MzJiYWQ2ZDYwY2I0NmE1YmMxMzI4Y2NiNzljYTBmNjA2M2NhYSByZWxlYXNlMjYtbWFpbnQKKzgzNTQwIGRiYTk5ODI4ZDkxYzNlOGVlMTk3N2QxMWM4MjhiZGYyMTM0NWM3YTMgcmVsZWFzZTI2LW1haW50Cis4MzU0MSA2NTM2MTUwZGQ0ZjQyODY1ZDI4NDQ3NzFmYWQyY2QyZjI5YzZjMjA1IHJlbGVhc2UyNi1tYWludAorODM1NDIgNThjMjJkMzBmNzQ5MzY0NzdiYTBiZDZkOWM4NzRkNzdkMzk3MzMxZiBweTNrCis4MzU0MyA2NzI0OTNmZmQ3NTNmOTljZWZhOTY1NzU5NzFkYWI2OTQxYjdmNDhjIHB5M2sKKzgzNTQ0IGNlY2M2ZDJhNWI0OWNiY2M0NGQ5N2EwNWQ3N2FhYjdiNGVmMzFlNjYgcmVsZWFzZTMxLW1haW50Cis4MzU0NSBiNmM1ZmNjY2I2ZGU1ZDU3ZGY5ZDUyODJlNTdhMmE1YzYyM2E5NTYwIHJlbGVhc2UyNy1tYWludAorODM1NDYgNzIwMmM5YTIwNTY2NjI5ZGFkNmQxNjc5NDMzNDhhZjlmOWU5YjgwMCBweTNrCis4MzU0NyAwYmYzNmNkZDgzMzQ1NDI1MTBjNWVkY2ZjYWM2MzkzNDJmZWQ2YjhlIHB5M2sKKzgzNTQ4IDZlM2MyMDkzYmIyMTA4NGMwMWRjYTQyZGZiZjU4YzIzNWQ1ODFlN2MgcHkzaworODM1NDkgZjhjZTY0YTk2Yzg5NjAyYTVmMGI5NWU5MDlhYjhhMmFkZTRiYTNjMyByZWxlYXNlMjYtbWFpbnQKKzgzNTUwIGEyNGM5YTc0MDFmNDUzNTE3ZTM1NmFjMDEwZWQ3MjUxMjgwMTBiYjEgcHkzaworODM1NTEgNjk5ZmNkYWY5OTgxMmNhOTFhYzkyNGI3NWRhNTYzYWE3NWU0ZjQ1OSBweTNrCis4MzU1MiAzMDdlMWNlZTRhNTgxMGY0MGViNGEzNzFhOTljMjgyZmUyNWJlMGU4IHB5M2sKKzgzNTUzIDdmNjhmODU1NDNkNGY5MWE3ZTIyNGE0YjY3MWYxN2ZiN2IyY2M0YTkgcHkzaworODM1NTQgN2YwNzEwODdkODIwZDk5MmRiMTZhN2IxNTAwN2UwYWNjZWQ0M2EwMCBweTNrCis4MzU1NSA2MmQ4Y2ZjY2QxOGI0NGY1NmU5NmM5NzYzMmFiY2QyN2I3NTk4YWIzIHB5M2sKKzgzNTU3IDUxMTAyYWJkZWM1MDIxMmYwNTY3NzEzNDJjYjFhNTU3Y2MxZTRhMmMgcmVsZWFzZTI2LW1haW50Cis4MzU1OCBiNGY2MTQ3MTc4ZTVjMmY3OTI3MmI0MjI0ZTg4Y2UxOWYwNzAwZDk1IHB5M2sKKzgzNTU5IGFmZjhkN2JjYTNmMzMzZmE5OTY1NDZlOWVjNTE5ZjY1ZjVjYmMwZmUgcmVsZWFzZTI2LW1haW50Cis4MzU2MCA0ODc0ZWZkMWY2NTdhMzZmNzcwZDRhYjkwZGNiMzRhYWY2NjQxMGFmIHB5M2sKKzgzNTYxIDdlYmY1ZjkwMTFiMTkwZDJlODM5NDRhNmVkOTU1NzkzY2M4MGZhZjMgcHkzaworODM1NjIgYjRiODlkMWI0MmNkNDQ1YmE1YjE0NmFmMDgzYjk2N2RiYzg2MjAyMSByZWxlYXNlMjYtbWFpbnQKKzgzNTYzIGJiMmRjZjEyMDNjNGM0NzBmNDFhNDhkMmM3NWIxMmIzZDM5ZjA4MzEgcHkzaworODM1NjQgYWMyOWY3MGM2MWRiYTM0NDZjNzViZGUyYjIwN2U4OTY0NzVlMDU1MCByZWxlYXNlMjYtbWFpbnQKKzgzNTY1IDQyZTE5YzE0YjE0OTJhNWM5YTYzMzMzYzVhODkxNmFjZWQ0YjYxNjUgcHkzaworODM1NjYgNDdiYTkwNWE3ZTg3ZGM2MWI3ODg4NTQ5MmFiZDc4Y2Y0MDY5MTQ0ZSBweTNrCis4MzU2NyBkMGJiODBlODFiMzlhNjNjNDYzZDNjNjc0ZTBjYzI2MjAwMzE3YmUxIHJlbGVhc2UyNy1tYWludAorODM1NjggMzdiYTQ3MjMyMDI3YTYwMjk5NGFmMTFiYTU1ZjBlMzQxYmRjY2E5OSByZWxlYXNlMjctbWFpbnQKKzgzNTY5IGZmNmZhYmYyNWNlZjQ5NTdjOTNlNzlhNDJmZTBiY2E2Y2ViZmJkOTQgcHkzaworODM1NzAgZGYzNzhlNDRiYTlhZDNlZjg0ZTAyNWQyZTkwOGRiNTIxOWFlMjVmNiByZWxlYXNlMjYtbWFpbnQKKzgzNTcxIDIzNjM5M2M1NTRmNzE0OTBkZWNjNmYyY2FmZmMzMTM5N2Y1NjBiZWQgcHkzaworODM1NzIgNzk1ODhkNDg2N2JjYjI0NzVkNjI2ODFhNzI0ZTI5NTEzNjkwOTA0YSByZWxlYXNlMjYtbWFpbnQKKzgzNTczIGRjOTQxMzQxODZjODc1M2M2YzBlNTM2YzM5MjY3ZmU1ZmFhMzFjZjkgcmVsZWFzZTI2LW1haW50Cis4MzU3NCA4ODE2ZjRlOWY3MTJjZjNiN2YxOWFiZDE0Yzk2Y2IzYTFlY2RhMjRkIHB5M2sKKzgzNTc1IDcwYTZhNzI3ZWNkNzMyOTM1Mzg1YTViYjlkZmQ4OWEyMzkyMDdiODUgcHkzaworODM1NzYgNjQ5NDc2YzY2M2ZjZjYxMGU1NmRjZDQ1MjIyZGFhYWIwOWY1NWEzOSByZWxlYXNlMjYtbWFpbnQKKzgzNTc3IGNjMzM2NjkyYmFiOTA1NDc1YjljNzVlNWUzYjJmMmExNTA1OTFjOWMgcmVsZWFzZTI2LW1haW50Cis4MzU3OCA5NTk0MDBhZTA1YjA0NmM2MGVkODkzYWZjZmExZTYwYzNhY2RiMmNiIHJlbGVhc2UyNi1tYWludAorODM1NzkgMzE5YzlmOWRjNDU2MTk0NmRjZDViYjQ4YTFkMzM5MDQ4ZmFhMTk5OSByZWxlYXNlMjYtbWFpbnQKKzgzNTgwIDNkMDExYzJlYzIzN2NkOTM1NThlYWJlZjdjMGFmOTI3YjZlMzE2MzMgcHkzaworODM1ODEgM2FmNmNhZTVlMDI2YmJhNzNjZDY0NTZmYmExMmU2YTA3YjJmZTJhOSByZWxlYXNlMjYtbWFpbnQKKzgzNTgyIGQ2YWMzZDA5Yjc5ZDRhNzdlZDc1NzMzZjZiN2IwZDJmYjM3ZjQ0N2QgcmVsZWFzZTI2LW1haW50Cis4MzU4MyBiODVjZjg1YjdlZGJjNTRlNTE1NTkyODY5YzUzYjdjZTFmZjgzOTYwIHJlbGVhc2UyNi1tYWludAorODM1ODQgY2VhNmVkN2EwYWExMWEwZjg0OTc4OTc0MTFjNGJlY2VjM2ZlODkwNiBweTNrCis4MzU4NSA0ZGZiOGE2MWU2OWZkMDM4ZjM4MmU4MGNjNDAxZDdmNzA4MmFjYmQ2IHJlbGVhc2UyNi1tYWludAorODM1ODYgNzZlMWM1ZjMxOTMxZjBmZTA3OWI2ZTQ1MzA5ZDBhYmVhOGFiYjc4OSByZWxlYXNlMjYtbWFpbnQKKzgzNTg3IGU5NzFjMTA0YTVjMjFlM2QzNzQ4MGZiODRkYzI1NzgxM2RmMGViM2IgcmVsZWFzZTI3LW1haW50Cis4MzU4OCBmZDI0OTc1MGNiYWU1YTRlNjAwNDg1OGI5OThhMTgxNGZjYTk5ZDUyIHJlbGVhc2UyNi1tYWludAorODM1ODkgNmY4MWQ2ZjlhNmQxYzRhN2RjZGQzNTgyNTVjZjY0Y2Y0OGM5M2JiZiByZWxlYXNlMjctbWFpbnQKKzgzNTkwIDY3MzBjZjlkNjI3YTVkYWU4MWI0OTc1YWFlMjEzY2EzY2ExODgxZWUgcmVsZWFzZTI3LW1haW50Cis4MzU5MSA3NDQ5ZDA0MjEzYzZlNDFlN2E3NDQzNjk5M2EwMzcyMzYwNDEyOWMwIHJlbGVhc2UyNy1tYWludAorODM1OTIgMjE2MjBkOWIwODQ4MGNlM2FkYzM2NmRhZTY4MmI3OWFjYjc4ZDg2NyByZWxlYXNlMjYtbWFpbnQKKzgzNTkzIDU5NTY3NmU0NjZjMGQ0MzBjMGVhMjEwZTdmZGRkMDdjOGZmYmJlZTAgcmVsZWFzZTI3LW1haW50Cis4MzU5NCBhOWNkMjU1MGZmNDBhY2ViMGQ3NjRmMmQwMjQwOWE2NWRiNThjY2VkIHJlbGVhc2UyNi1tYWludAorODM1OTUgMTNkMmJhY2M1NmE0MTU0NTJkN2YxMDI5YjI1ZGUyMTBkYzg4M2M4MCByZWxlYXNlMjctbWFpbnQKKzgzNTk2IGYzZmVmMjBhNjZkZDA4YmQyYmVkYTEwYTQwNTI4NTJiMDQ1ZjlkMGYgcmVsZWFzZTI2LW1haW50Cis4MzU5NyAyOWQzNGU0ZDBhOWEzNjdhZTgwNDMyODVlZjdlODA0N2MyOGU4Y2RkIHJlbGVhc2UyNi1tYWludAorODM1OTggNjFiNjliZjFlZWJkY2UxMWFmY2IzMGEwN2M4ZDgwMWZjNGJhMjQ5MSByZWxlYXNlMjctbWFpbnQKKzgzNTk5IGYyZDgzYTEzNzAzZmE5ZmMxNTIwMGE4ZDU5NzNiYWU4YzY3ZjM2M2QgcHkzaworODM2MDAgNWM0Y2RmMzNjMTMyNWE3MDU2ZTc4ODBkOWU1NzdjZDZlYTM1YmM3NyByZWxlYXNlMjctbWFpbnQKKzgzNjAxIDEyYzkxZjRiYjQxNDQ5YWJhYzZhZGFmZmMyZDZjOGRkMGJkN2VhNmQgcmVsZWFzZTI2LW1haW50Cis4MzYwMiA2M2ZiOGRiYmZkYTI1ZTQyOTRiOWEzZmJkZTRiZWRjZDJkZDcwYjQ4IHJlbGVhc2UyNi1tYWludAorODM2MDMgNDQzODk2ZjMyNGNlMjBmYTY5NjA2ODc3MDg2YzAzZmNlYjgwMDI5MCByZWxlYXNlMjYtbWFpbnQKKzgzNjA0IGEyZjAxMzAyMWUxZGRiMWJmZjA4NTYzMTE5OTQ1NzRjMTVlMzJlODcgcmVsZWFzZTI2LW1haW50Cis4MzYwNSAzN2QzOTlhYThjMTZmZGE2NzVlOTJjNjQ1Nzc4ZmE1NTE1ZDAyMTc0IHB5M2sKKzgzNjA2IGZkMjBlYmExZjIwMTFkNjMwNDJkMzNiOWE0Y2VlZmRmMjg2YWViYTkgcHkzaworODM2MDcgNDc1MGE4YThiNGNmNDE3NDVmMjNiMDk1YjFlOTBmYjMyZTdhODM3YyBweTNrCis4MzYwOCA2Mzg0MTBhMjkwNDY4MWNiMDgyNjllODY5YmJmZDg3NDE4Y2Y2YWZiIHB5M2sKKzgzNjA5IDdhNDdjNGQzMGY2ZTFiM2Y0NmViZDBiNDRmODcxZDAxNzEwM2Y4OTkgcHkzaworODM2MTAgZDQ4NWM2ODBjNjVmYWM5MzczZDA5MzJlYTljZmZiNmIxNmU2MmNmMiBweTNrCis4MzYxMSA5NTJhOGRlNWNhNjVhMTc3ZDk0ZmZlNGRiYTYzZGM5OTMyMjk5Mzg3IHB5M2sKKzgzNjEyIDU5M2Q2NDE3ZWRmMTA3OWYyYzNlNTM1MDJmNjA1N2U2MjQ0OWVjNmMgcHkzaworODM2MTMgMjAyNDJhZjI0M2QyMGUyMzA3N2NiZDQzNWE4YmFhMjNlN2FhNjFjMSBweTNrCis4MzYxNCAyZDAzZDZjNGM4MjljMjkwZDkwNTE0ZjFmNWZlZTc0YWUyM2Q1Nzk0IHB5M2sKKzgzNjE1IDQ0ODJhNDI4ODVmNzVhNTE2MWRkNmVhY2QwNTIyYTJkODQxZTJhMTggcHkzaworODM2MTYgMjlmMjBlZjEwNzU1YTBhYTI0YTBhMTE0YWY4YzkwMjYzOWU5MzU3NiBweTNrCis4MzYxNyA2MDE1YjZlYzgxZjJjNzcwM2NjMWIyMWRiMjhmMDcwNTA3N2M1MDFjIHB5M2sKKzgzNjE4IDAzMWU2YjM0OGE4ZThhZjlkM2IxM2U0YzM2ZDg1NjQ3MWU1YWM1YjQgcHkzaworODM2MTkgNzYyZDg5ZmFjZWFhYWFjNjk4MTY1YjQ3NTc1OGFhZjZiNTY2YmE4MyByZWxlYXNlMjYtbWFpbnQKKzgzNjIwIDQ1NDBiNmY0MjhkMzYzNDc0ODQ2OGIzNzFmMjJhODcwODk4YTc0NjMgcmVsZWFzZTI2LW1haW50Cis4MzYyMSBkNTc1NTJhYmYxODBlNThkZDI0MGM1ODY1ODU0M2JmNWQ5NjVjNDFiIHJlbGVhc2UyNi1tYWludAorODM2MjIgYjkyZjBjNDlmMGU4ZjljYTY1NjViM2JhYjUxOWRmM2IzMDVmMDMzNiByZWxlYXNlMjYtbWFpbnQKKzgzNjIzIDY4Y2ZjODRlNGRiMWM4NmMyOTQ5OWZjZGQ5Y2RiMzRkZjZhODYwMTcgcmVsZWFzZTI2LW1haW50Cis4MzYyNCA0YzBiMzdkODY5Y2FmODc4NmI4ZTgxMzhlODNlYjE2MGM2MDc0ZjUwIHJlbGVhc2UyNi1tYWludAorODM2MjUgYTY5MzRhMWJmYTNiMGZjNjA1MWUxOTNlYTAwYzVkMTM2NTU3NWJjMSByZWxlYXNlMjYtbWFpbnQKKzgzNjI2IDY1N2FlODc3YzBiZjIwMDA2MGNhZTFiODAwZmUzNTQ4ZDNlNDRmMmEgcmVsZWFzZTI2LW1haW50Cis4MzYyNyA4Yzc5OTA5YTdlZTdhNjFmOTNlN2MxMjc2MzhmY2IzMGQ3YWNkY2M5IHJlbGVhc2UyNi1tYWludAorODM2MjggNGRmNzJmZWIzOWQ5MDU4MWNjZGE1ZmQxMDcwNjM2NjBkYTNhYWM1MiByZWxlYXNlMjYtbWFpbnQKKzgzNjI5IGVmMTE5ZGJiZTg4NzY2MTU1YzhhNGU0YjdkNTk1YzYwZGQxZjNmMTcgcmVsZWFzZTI2LW1haW50Cis4MzYzMCBhODhjYjgwMDUxMTBmNTczZGJiYzkwNmNmMWQxYjhjM2JlOGM5ZDI4IHJlbGVhc2UyNi1tYWludAorODM2MzEgYjFlMDQzZGU5YzVhNTg0MDE0YmNhNTgyNmFjZWZjNWY5M2FkYjk4NyByZWxlYXNlMjYtbWFpbnQKKzgzNjMyIDVjZjY3OWJlM2RmYzRlYThmM2ZmODZkYzI1ZDE3NDBiYmJjZmZiMWMgcmVsZWFzZTI2LW1haW50Cis4MzYzMyA2ZmZmMGZmZmY4NWI0ZWZiZjBkZjMzNTMyMDBkNzllODJhZjMzOWI1IHJlbGVhc2UyNi1tYWludAorODM2MzQgMmFjYTM0NDYwZmRiNDA5Y2Y1YzExYzMyMGIzMTIxNDEwM2Q5ZDRiMCByZWxlYXNlMjYtbWFpbnQKKzgzNjM1IDNlZmI0NTgxNzkwYTMxYzc3ODYyMGQ0OTY0NThjZDVhNGEyNGYzZmEgcmVsZWFzZTI2LW1haW50Cis4MzYzNiA2YTZjMTNhN2YwMzAzOGEwZGM4NGQzYmU2NjE0MjVmZjUwNmY1MzEzIHB5M2sKKzgzNjM3IDMwYTgwMGQ3ZWFjY2FhYTcxODc2MGZiMTIyOGU1Zjg3NDc0N2VjNjcgcmVsZWFzZTI2LW1haW50Cis4MzYzOCBlN2U3YzU2NzE4YWYyNmY1NTYwNjYyZGRjMTAxM2I4N2JmMzQ4MTU5IHJlbGVhc2UyNi1tYWludAorODM2MzkgMTk5NjQ5NDRjYzAxM2U3YzFmNTFkZTdjNzM1MDZiMmRlOWRkNTU1YiByZWxlYXNlMjYtbWFpbnQKKzgzNjQwIDg2ZDExOWU5NGRhM2EwNmJjMDJiZTc2YmM5NzdiNGZlN2M0NjRkMzIgcmVsZWFzZTI2LW1haW50Cis4MzY0MSA2M2YzODM3OWU0ZWRhMGI2NzYxZDUwOGFjY2EzYmU3ZDVhYmNjM2ZhIHJlbGVhc2UyNi1tYWludAorODM2NDIgN2I1ODRhMTNiYzk2NWFiYmJmNjk2MzM4Y2IzY2ZjNzdjNjM5MzFkZSByZWxlYXNlMjYtbWFpbnQKKzgzNjQzIGYzMDYwZTZmYjcxNzU4NWRhNDZmY2I2MmRiMjFlYmU2NzhlMTVjYjMgcmVsZWFzZTI3LW1haW50Cis4MzY0NCAxOGM4YzUwMDQxMDllZDcyOGQ4OGUwODI5ZWU2N2U2NjQ3OTgxNTZmIHB5M2sKKzgzNjQ1IDY5NDU0MTZjOGQwNDVjNjhhZWFmYzg2NDJhYmViN2FhZTBmZTIwYWEgcmVsZWFzZTMxLW1haW50Cis4MzY0NiA1MTc4NTljYjBlOTIwMDIzZDVhYWMwOTMzYjM0NTFiOTBhZTJiYWEyIHJlbGVhc2UyNy1tYWludAorODM2NDcgYzgyYjZlZmZiNjk1MzFhNWYzYzg4ZmNjY2M3YTk5MjUxYmM1ZTZjZiByZWxlYXNlMjYtbWFpbnQKKzgzNjQ4IGNkZjZhM2E1MDQwNzQ2ZDMxMGE1MjRmZGI4NWVjMGZlNWQwZTU4NWIgcmVsZWFzZTI2LW1haW50Cis4MzY0OSAxMjg4YTI1OTMyODc2ZjYzNDVkMjdhYTc4NmExNTk2ODgxZGFhZWU0IHB5M2sKKzgzNjUwIDU3MTA1ZTg3NTYwNGZlZmJhZGUxMzc2NjdiZGM1Mzc1YzRkNTEwNTkgcmVsZWFzZTI2LW1haW50Cis4MzY1MSBlYmM5MDUxN2I4ZDk2YmZmODJhMTdkMDNkNTJiZThiYzA4Nzg3MTg1IHJlbGVhc2UyNi1tYWludAorODM2NTIgZTFlZjUyNjMzMzUwZGY2NDM2NGM3MmI4YjNjNDE0ZDA5NjZiOGQ2OSByZWxlYXNlMjYtbWFpbnQKKzgzNjUzIGY4NjRmZmI4ZjJlZGVmNjg2Yzc3NmU3NTliNzg2MzU1ZDg2OTM0M2YgcmVsZWFzZTI2LW1haW50Cis4MzY1NCBkMjY1ZjkxYzM4N2QyZmE4NDA4ODU5NDJmNGM5NTA3NWZlNjZkNTAzIHJlbGVhc2UyNi1tYWludAorODM2NTUgYTc5MzdkYTYyNTkxYzI1ZThjYTcwMTk0N2E3YTA2YzM5YjUwMGFhMCByZWxlYXNlMjYtbWFpbnQKKzgzNjU2IDQ4YzU5ZTkwNTUzMjUxZTdmNTg0MjBhYmMwYjM3YTU2YzcyZTRkYjggcmVsZWFzZTI2LW1haW50Cis4MzY1NyA3Y2VlMWI5NjA5ZTQ3ZGUwM2ZmMDgxNTQ0NDRmOTExMzBmMmY3YzdhIHJlbGVhc2UyNi1tYWludAorODM2NTggYjIwNjY2NzhkOTM3Y2Y5OTBmZWY1ZTg4MGVlNTgyOTAzYjZjZWIwNiByZWxlYXNlMjYtbWFpbnQKKzgzNjU5IGUyMTBlZDYzYjA0ZTQyMzhjODIxNzE4ZjZmMTU5MDBmMmNmODNjZDMgcHkzaworODM2NjAgM2RjZmUyOWQ5Y2E1NDQ3YzBmODZkNDAyOTZkNjg1MDFlZjhlZjk1YyBweTNrCis4MzY2MSBhM2Y2NDUzODFkNjFjZTJlMWZhZTYyYjQxMDU0MjM1NjMzNjk2YjAyIHJlbGVhc2UyNy1tYWludAorODM2NjIgZjljNGYwOTlhMjRkZGRmNzc0OTU5MTgxZWNmYzg2NGUyMjdlYTNhOSByZWxlYXNlMzEtbWFpbnQKKzgzNjYzIDY2NjAxZmI5MGQzZGY2NDQ4YjA3ZmE4MTRmZjk1MzQxM2ZiNzdmOTggcHkzaworODM2NjQgNzFhZTUyM2ViYTViYWRkZjdiODFhOGJjYThiNzczMGUwNWM2NGViZCByZWxlYXNlMjctbWFpbnQKKzgzNjY1IDQ1ZGJhMjJhNzRmYzlhMzllODE4YmFhMDNjNjQ4ZTZmZjBlNzI0NGUgcmVsZWFzZTMxLW1haW50Cis4MzY2NiA5ZDlhODNiMjUwNDU3ODFmZWJlN2QwYWNmMTE3Mzc3NThmMDBiOWY2IHJlbGVhc2UyNy1tYWludAorODM2NjcgYWYzNjU1ZjJmMjQ4YzNkMzQ0ZjIxZWY3NWEwOGRhNDQwMzJiOTI3NyBweTNrCis4MzY2OCAzM2U5YmUyZmE0ZDIzOTFlNzUwYTNhNmMyYzJhZmU5OGM4NzJkNTVhIHJlbGVhc2UzMS1tYWludAorODM2NjkgNjNlMWQwZGM0NGVlMDdhMTZmNjk2ZWE4NzhjZTRmNTU5MmEyZmUxZSByZWxlYXNlMjctbWFpbnQKKzgzNjcwIDMzZDJmNDI0NTU2MTAzMzZiZTI3YjRhYzAxOWNmMjkxZTM1MDczNGYgcHkzaworODM2NzEgZGMyMGRmOWM5YmE5NWYwYWM2Nzk0ODY3ZmM1MjdjZjI1MGZkNDAyMSByZWxlYXNlMzEtbWFpbnQKKzgzNjcyIDAzYWEwNWViZDliYzViYmU5OTRiNDFjYzdlNGJmY2U2ODAyNzJiYTQgcmVsZWFzZTI3LW1haW50Cis4MzY3MyA3MWM0MzE1ZDQ5ZjI3ZjIxODFmYmE4MWRmYmUyZmNmNjgyYjFjNDNhIHB5M2sKKzgzNjc0IGZmNDQ1NmRkNGE3OGNhNGQzYWEzMTZjNDFkNTgwMDJjZTAyMjJjMDIgcmVsZWFzZTMxLW1haW50Cis4MzY3NSAyODUwYmQ5MTkyNzcwZDRiMWQ2Mjg3ZGM4ZTI5YTczN2U4YWUwMjg0IHB5M2sKKzgzNjc2IDIzYzA4OWRjNWNmZjBlOTA3NDBlNmY5NTgyNWQyZWQ3NzJiZjcxZjcgcmVsZWFzZTI3LW1haW50Cis4MzY3NyBkNmIzMzZkZDY0NTc3NmZlMTBmNDY4OTY5NjZmMGJhZDVlMGNlMjlhIHB5M2sKKzgzNjc4IDlkNjhlNzg0NWU0MjA1MDk1MGY0MzEyNWI5ZmVjOTMxNTEwZDEzYzIgcHkzaworODM2NzkgYzRiYmRhMmQ0YzQ5ODY1ZDI2ZWIzOWY5Y2U4ZDk3NzBiNGI1NzkwYSByZWxlYXNlMzEtbWFpbnQKKzgzNjgwIDA0MjBmNTQ3ZjNiZjI0MTEwNjFjNjgxZDM4MDUyNmNjZmNlODBjM2YgcmVsZWFzZTI3LW1haW50Cis4MzY4MSAzOThhMjVjZDYxMmRkYWFlZDVjZTlmZWMwNDgxOTI1MzUzNDBjZTI5IHB5M2sKKzgzNjgyIDk3MTllNWU4YThhZjkyZWJlOGUxNzQxNWMwOWVhYjBiOTU5MWRmNjUgcmVsZWFzZTMxLW1haW50Cis4MzY4MyBiMzNjODBmN2FiMTc2NmI1Yzc3MDAyOGVlNGVkZjIxODgwN2U5MjNkIHB5M2sKKzgzNjg0IGYyODM4ZWIxYmIxZWY5MGFmOTU3MDdkYWU4NmNkMWQ0YTY0MDZmY2MgcmVsZWFzZTMxLW1haW50Cis4MzY4NSA4YTllOTc2MTI3YWIxMzk3NmY3MTIzZjAyNGQxNzY4YmQwMTY1ZjZjIHJlbGVhc2UyNy1tYWludAorODM2ODYgMzc3NWJmODI5OWIzMTM1NmZiOGM3OWJmMjEzMmNhMjA1MWE1YWNhYiByZWxlYXNlMjYtbWFpbnQKKzgzNjg3IGY0M2Y2ZDE3MzA3NmU5YWI1YTdlNjc1NjUzODdiNGUxNDAzNDlmZTYgcmVsZWFzZTI2LW1haW50Cis4MzY4OCBjZjlmZWEyMmMzYTllMTYxZjljMmFjZTYyNDFjMjQzMmZmNDhiMzNhIHJlbGVhc2UyNi1tYWludAorODM2ODkgZDY4NmYzMDMzMTc0YTkzMDI1ZWJlZjQwNjk4OTI1OTE5MmExZDcyOSByZWxlYXNlMzEtbWFpbnQKKzgzNjkwIDIwZDczZmVjOWY2MjMwMWRkMjQzZGFkYjNmMDNhY2UyOGRhMDY1MGEgcHkzaworODM2OTEgYzFkYzllNzk4NmEyYThlMTA3MGVjN2JlZTc0ODUyMGZlYmVmMzgyZSByZWxlYXNlMjYtbWFpbnQKKzgzNjkyIDVhNzNkZDE1YmUwODRiZTVkODEyMmVmMmE4MmRlZmQ3Y2I2OTc4Y2QgcmVsZWFzZTI2LW1haW50Cis4MzY5NCAyMWE5Yzk0MDExMGQyNjVlM2Q2MzU2YzdmYjg3MzcyODM1YzllMmEwIHJlbGVhc2UzMS1tYWludAorODM2OTUgZmNhM2M5ZmI1YTFiNjNjMjQ1NzE1ODNkMzY2YzhiZDVlMWZjNzY1NCByZWxlYXNlMjctbWFpbnQKKzgzNjk2IGJmNjk1MDk2MjZmZjk1NGExY2NiMjEyNDhlNGM2Nzk1NDAzMjI1NjAgcHkzaworODM2OTcgNmU3OTVlYzM4ZTgwMDgyODUwYzJjOWJhMTYxYmRhODdhNmNlNzQ1NiByZWxlYXNlMzEtbWFpbnQKKzgzNjk4IGFmMzllMjU1ZmVhZDA1NmFkMzAxMmJiYzc2ZDQ2MDQ1MzNiNTA3YTUgcHkzaworODM2OTkgZjBlY2E3NGYwMGUxNGIyZGYyMjU4YTk4MjcwNzZlZDRlYTY5MTZjMCBweTNrCis4MzcwMCAxNDg5ZjM5OWFiYTFlNzFlMDZhMWZmNDM2ZDYxYjYzOTI4NDQwMWFkIHJlbGVhc2UyNy1tYWludAorODM3MDEgZjRjOWY2ZjFmZTc2YTYyZTNhNmIwYjc4NzZjNmM2MmMwMjhlODE5MyBweTNrCis4MzcwMiA5MTViMDI4Yjk1NGQ3NWMzYWQ4M2FhOTI2NGUzM2U4ZjNlMmRlYWQ3IHJlbGVhc2UzMS1tYWludAorODM3MDMgNTgzMzQzNTc4NzMyZTJlYjM0ZDgzZWM5NGMwYWJmMDQ4ZmFlZmYzOCByZWxlYXNlMjctbWFpbnQKKzgzNzA0IGIzZmRkNDQ1ZTAzNzlkNzMxNDQ1ZTUyZGNjZjg1N2ZhOWM5MDI2MGQgcmVsZWFzZTI2LW1haW50Cis4MzcwNSA4OTg5M2EwMDIyNzNlZWM1NTllMjM3ZTdhOWY2ZjY4MDM5NTY3NjgzIHB5M2sKKzgzNzA2IGJhNzM1MzE0NzUwNzc3ODZjZjhmY2NhYmRhMTU2YWRkMmEwZjI4Y2IgcmVsZWFzZTMxLW1haW50Cis4MzcwNyA0YzRkOGFkZTlkYmFhMTZjNTMzYTFmNjkyYWQ4MDJkMGI1Y2Q3ZDk3IHB5M2sKKzgzNzA4IGY1OTg0MjNhNDYyMTY5ZjczMTIwMGRkZGQyNjhmNDE4MTQ1YTM5OGIgcHkzaworODM3MDkgZTY4ODYzNTk3MDYxM2Y1MWIyNTY4NzY1Mzg2M2ViMjQxMDQyOTVmMSBweTNrCis4MzcxMCA3NzE5Y2M3ZWNmNDU0NmFhZDJmMDNiOGE3ZjNkZTdkNWQ2MzcxOGZlIHJlbGVhc2UzMS1tYWludAorODM3MTEgZTVmMTI1OGNmYzU4OTVmMTA2OThmMWJlNGYwODM3ZDkwMGNiNWQwMyByZWxlYXNlMjctbWFpbnQKKzgzNzEyIDZjMTJiMTcxNzkyZTI1MGY4ZTc1YmRmNDBmZGVmNDdlN2YxNWM4ZWQgcHkzaworODM3MTMgNTkzMTExMmVhYmU3N2ZkMTA4N2YxZmM2YWQ3M2QzNDNhM2QyYzc5NCBweTNrCis4MzcxNCA3MTZlNjAxNTcwZGExYzUxOWE0OTI0OGY2MzA0MmYzZTQyYjZiMmFiIHB5M2sKKzgzNzE1IDQ4NWMwNTRjOWFhMTY1MTUwY2M0YTBkZjBjZjQyMTIwYzk3MTQzZTMgcHkzaworODM3MTYgNzA0MmZhNTM5ZTdjODE1NGNiYmMwMGRiYmU5NmU1OGQ4MTllZTRmMSByZWxlYXNlMzEtbWFpbnQKKzgzNzE3IGM1YTI4Mjc5N2Q1ZTM1MmVkZDAzMDhiZjFmNDY4NDNiYzVmMGZlYzAgcmVsZWFzZTI3LW1haW50Cis4MzcxOCAwZTQ1MjlkNzMzYWM0MWExY2QzYzMxZjQ4OTRmYmYyNGI1ZDJjOTA5IHJlbGVhc2UyNi1tYWludAorODM3MTkgNTc2Yjc2NTg0NGFmOTJkYTUzMzZjYTE1ZDQ5NzcxZjk4MTNmNTljOSBweTNrCis4MzcyMCBiMzk4NDZiYzdiYTU1NjdlM2Y0YTdiZGUzYTZhNDM3YjgzZGQ2ZWY2IHJlbGVhc2UyNi1tYWludAorODM3MjEgY2IzNGNkNjMwMDAwMjAwYTM5Y2ZkMjZjZDU5NjE4NWY1ZGIxYTA4MiByZWxlYXNlMjYtbWFpbnQKKzgzNzIyIGZkN2Y3M2UxMjU2ODAwYzcwNzE2YmU2NGE5NTgxNDU3M2Y3OGI4NjAgcHkzaworODM3MjMgODMwNDNjMTUyNTY2ODFlNmVhNWNlODVmZDBlNGMzMjY1Njg1ZmFhMCByZWxlYXNlMzEtbWFpbnQKKzgzNzI0IDlkZTU2YzQzMTdjOTQzZTBhOTBhMzFmMDQ0MTI0MTQzMmMwNWJkMTcgcmVsZWFzZTMxLW1haW50Cis4MzcyNSBiNGE1MzMyZDJiY2FjY2E4MjJlZmM2N2YzMTVlOTIzMmE2NGE5ODA2IHJlbGVhc2UyNy1tYWludAorODM3MjYgMmQ4OGNhNjRhOTBiYzFkMThlNzhhYWVkY2ZiYTMwM2FjOTIwNmRlMiBweTNrCis4MzcyNyA4MjgyMjdhMDA1Mzg5OGJhZTQyN2EzMjI1ZDljOTBiZDI4ZTExNzA1IHB5M2sKKzgzNzI4IDM1ZmVlOTIxMWYzYjU4NWM5ZGE1NTkwZjkzYWExOTJmZGNmMzE1OTYgcmVsZWFzZTI3LW1haW50Cis4MzcyOSA4ZjRmNDY4ZmUyOWUwOGFmYzYxYmQ0ZWE2MTk5ODRiMzZkNmE3NmIxIHB5M2sKKzgzNzMwIDljNzA0NmZkNGQ2NjcyMDk3YmMwNTA5ZDQ3ZmQ2YWIzYzhlYjI2NjMgcmVsZWFzZTMxLW1haW50Cis4MzczMSBjYTdlZDk0MWJjYjkzNDQxM2VkYzRjMzQ2OTNhYTYzNDFkMWFkZGRlIHB5M2sKKzgzNzMyIGNhNmQ2ZWQyM2IyMzhiNzk2NzNiMDRiYTRmNDg2NzRjYTEyYTJlNTkgcHkzaworODM3MzMgOTVmZDRmYzI3YjliYjVlY2M5MjQyNWU4ZjIyNTgzZDM0OGVmMzNmMiByZWxlYXNlMzEtbWFpbnQKKzgzNzM0IDU2YWI5ZTExMWMxYzBmNWI3Mzk5YTc2YTEyMWRhNzc4MjgyYjE0YzkgcmVsZWFzZTI3LW1haW50Cis4MzczNSAzNDc0ZGRmMWViZmU0YTM4NDFiM2U5Y2FlMGMzMzc1YTNjNTkyM2Y5IHB5M2sKKzgzNzM2IGVhZmUwN2Q0MGViNzM1OWUwN2IxOTQwZTljOWZjNjhjMzMyZDk5ZmIgcHkzaworODM3MzcgYzE1YWNkMWU5MTZiMzUwNGY0N2IwMDgxZThmMTE0NmU4ZDVkY2NmNSByZWxlYXNlMjctbWFpbnQKKzgzNzM4IGExODVjYWVkZjMyY2ZlZGRiODQxOGQxZjE5MzFkNzMwMWQyZjk5ZmMgcmVsZWFzZTI2LW1haW50Cis4MzczOSAzNWJkNTdkM2QyMzJjZGJkMzYxZDdkNzkxZmE2YTc0NzljYzkwYzYzIHJlbGVhc2UyNy1tYWludAorODM3NDEgODEwMDAxNzkzOWY0OTljN2Y4NTZhMzU3ODdmNDAyMGVjOWZjMjcyMiBweTNrCis4Mzc0MiA2MzM5YTdiMzI0NWNjYzNlZmFmZTY3MjEzNjU5ZmYyZjMxZTgxYTc3IHB5M2sKKzgzNzQzIDY3NjUyYTdmMGFlZTIzNzg3YTJkYTExMWJhYjkyMTJmM2VlZTAwY2UgcmVsZWFzZTI2LW1haW50Cis4Mzc0NCBjMTY4MDNiYmQ3OTBkNzMyYTk5ODVlOTM4OGM4ODMwZjgzYWUxYWM4IHB5M2sKKzgzNzQ1IDcyZjAwNjcwNGZiZGM4MTQ1MmY0NTcyYWUwMzJjZWFhZjE3MjdkY2EgcHkzaworODM3NDYgMzg0ZDIxODlhOTZhOTAxZjY5YTFlNjYwMWJlNGQ0YzNiNDJiZmFiZiByZWxlYXNlMjctbWFpbnQKKzgzNzQ3IDI5MjI2YzA4ZTU0N2Q4ODgwYTQ0Y2UzOGI1NjFmNjZjNjliNmQ2MzkgcHkzaworODM3NDggYTAzNzM5YWY5ZDM4NWViMmI1ZjkyMWE1NzJmODBjZTc5Mjk1NmQ1ZSByZWxlYXNlMzEtbWFpbnQKKzgzNzQ5IGZjYjdlMzU5MjRlNjM0ZmNlYjMxZDJiODI0NmRkNjliODU4NjdmOTEgcmVsZWFzZTI3LW1haW50Cis4Mzc1MCBiYjJhMzE1ZDZhMDM1MDAyZDEzYTk5MjNhNDJiODNmYWYxZmI5MWE5IHB5M2sKKzgzNzUxIGY4MDZmYjNkMWYyNzc2MzliNzU4NWMyOTkzM2NhOWFjMWFmODFiNmMgcHkzaworODM3NTIgODhjZjlhMGVkMTE4MTNmNTk4NjA5YjQ1YWE3ZDFkOWI5NWJjYWI4YiBweTNrCis4Mzc1MyA2YjI4Yjg4ZjZjNGU4ODVmNGM4ZjEyZmFhZGNjNGUzMjIyMGE1ZjMwIHJlbGVhc2UzMS1tYWludAorODM3NTQgYjkwNmU5ZTVmMmE3ZmE5Mzg0MGI1YzZlNTE0NGQyOWUzZTExY2E1NyByZWxlYXNlMjctbWFpbnQKKzgzNzU1IDc2Zjg0MDJjYTdmMzU0MGVmMDMyNGNmZmViOGExZjhkZDcxNWM3OWMgcHkzaworODM3NTYgZmE2MzE0YjE0MWRjNDJkMjdhNzkwNThkYThlZTc0OTdlM2U3MmY5YiByZWxlYXNlMzEtbWFpbnQKKzgzNzU3IDBmOGE0ZmNmZGQxZTU5NGMzZTA0NGE2ZjU5Njc5Y2U2YTM3Y2MwNmIgcmVsZWFzZTI3LW1haW50Cis4Mzc1OCBiMDYyMjJmMTU1ZmY1ZWQ1YjM1YTY3MGU1ODM1YTUyZmZlMzI3YTMxIHB5M2sKKzgzNzU5IGFkMjkyZmNlNzlmOWVjYjM2MmZmMGZiNDNmZmMxZjc4NGU3MTJjNzUgcHkzaworODM3NjAgMmMxMDUxMGExYWVmYzU1NTVkY2NhMTNmMGE5YmNkZDExMDRiZDMzZCByZWxlYXNlMjctbWFpbnQKKzgzNzYxIGJiMjYwOGY3M2ViN2M2ZDM0ODJmOGQ5NGNjZmQzNzZmMDk3YjQwZjkgcmVsZWFzZTMxLW1haW50Cis4Mzc2MiBmN2JkMjhiM2M2ODM5NGQxZDZjOWMwMzk5OGFiMDUwZmU0NDE1ODRhIHB5M2sKKzgzNzYzIDhjZTY5MDk2OTZkNDJmMTc2MjgxOTk4Yzg0ZTEzMDA1ZGE4ZmFjMzMgcHkzaworODM3NjQgZDE0ZTFlNzI0OGJhM2Y2ZmFlYzkwYTBiNjA2ODIwMGI0MGY1MmQyMyByZWxlYXNlMzEtbWFpbnQKKzgzNzY1IDMwNzVhN2U4NWMxODgxNDM2ZWQ1NjgyMDA0NWMwZjg0NmM5YmY2MDYgcmVsZWFzZTI3LW1haW50Cis4Mzc2NiA3Njg2NGFjNWI2N2QwMTI2M2RlZjgxZDI3MGUyMDY0YjAxMjkwYmI2IHJlbGVhc2UzMS1tYWludAorODM3NjcgMDZiYmRkYTEzMmYzNTQ5NThjYWU3NTg4NTA2NjllNzQ3NDU0MzkyYSBweTNrCis4Mzc2OCA0M2U2YmY4NmMzN2YyYzMwNDhkNGU0MDU2YmY1ZDZlYzc5YjI3ZTBmIHB5M2sKKzgzNzY5IDA4YWVkMDBmYmVjMzM5YTBkN2YzYzFmZjU1MTczOWUzNGEwMmUzNDAgcmVsZWFzZTI3LW1haW50Cis4Mzc3MCAyNjBhYmU5Y2VmYWMyOGEyMzhjMmE4OGNmYThlZmQ5ZDU4MGZiMTQwIHB5M2sKKzgzNzcxIDdiY2Y2MjU1ZGUyZmZmM2QyYjk5MWU1ZjcwMzk3OGVhMGE0OWYwZmMgcHkzaworODM3NzIgMzk0ZTQ4YzUxNmM0YTNiMTIzNjZlYjg3N2I5ZDA4OTJhOGM0NDg3MiByZWxlYXNlMzEtbWFpbnQKKzgzNzczIDQwYjQ4Mzc4MzNhOGI1MzJmZjM3NDU4YTdhYTUyMTJlZmQwNmUwMGMgcmVsZWFzZTI3LW1haW50Cis4Mzc3NCA5ZDFjNjVmODMyM2VmYzJkZWYyMjMzZjY1NTkyM2ZjMGUzNzlmNDZiIHB5M2sKKzgzNzc1IDA2MzI3OWM2ZmMxNjBlMGFkMzkzYmUxYzhmNWMwZDIwNWU4YTJjM2EgcHkzaworODM3NzYgYmNjYzg0ZTA0YTJjYWU3MzA5NGE0ZDNjOGIwZmE4MTRlZWY0OTcyMyBweTNrCis4Mzc3NyBlYzMyMTdhOWU1MjE2ZGZiMmVmM2Q3MmUyMGEwNTNlZjEwYTliMzhkIHB5M2sKKzgzNzc4IDc2MDg1MzJmOTMzYTQ2ZWFmNDJlZjA3YjhkNjQwNzVmYzYzYmI3YTAgcHkzaworODM3NzkgMjc1YWNmY2NjY2NiMDhiNTc1OTNmYzU3Y2ViNDQ0MTllNDM4YmYzOSBweTNrCis4Mzc4MCA5YjgwMmI2YjQzOTUwOWQzYWVlYjc1NGIxYjlkODY3ZjBjODQ2NTU2IHB5M2sKKzgzNzgxIGYyN2IyN2M4MmQ4ZmY0OGJiM2FkYzUwNTUyM2ZhMDU1NzllZWViY2IgcmVsZWFzZTMxLW1haW50Cis4Mzc4MiA3MTc1ZDE4MDVjYzBkZjYwYWVjMWM0NjdmOWRlZjM2NDFmODlkODJiIHJlbGVhc2UyNy1tYWludAorODM3ODMgMGVkNjY1ZThhMTE1NDI5YmZjZjVhZDIzZGI2ZDQ2MjUzOGQ3MWFhOCBweTNrCis4Mzc4NCAyODEzNmFmMDBjY2FiNmQ0N2M5Y2ViYjE1ZWViYWUzZjM5MTY1NjQ0IHB5M2sKKzgzNzg1IDRlMzI1ODg5NDg4OWZiZGFhZWYyYzA1YTQ5ZTIxYzM3MzJmYzJlNzcgcHkzaworODM3ODYgYzZkODkyNmM5OWRmNTg1MGI3MzI1NGZjMGJkNzZiYzRlYzRmZjAxNCByZWxlYXNlMzEtbWFpbnQKKzgzNzg3IDg3ZjMzMzAzODAzNWU3OGMxZjkwOWE5NGYyOTBiNmNmNjBmNjJkM2UgcmVsZWFzZTI3LW1haW50Cis4Mzc5MiBjMWQ3ZjdmZTQ3YTA1NzA3MDdlNTY5NjRiMTFlMDY3MTQ0ZjQzMDIzIHB5M2sKKzgzNzkzIGZiMDZmYWIxNmEzZmU2MDViOTJhMzlmZDAyMTJhOWNjZjgwZmY3NmMgcmVsZWFzZTMxLW1haW50Cis4Mzc5NCBhZThjMjVmOTRhZGY0ZDM1MTlkZGU4ZDE4ODE0NzFlMWM2MTI1Yjg0IHJlbGVhc2UyNy1tYWludAorODM3OTUgZDk1ZmJjNGFlZTdjM2I4ZTYxMjIxYTdjOTlmOTkxODExMTcwNGY0MyBweTNrCis4Mzc5NiA5ZDNiYTBkNjY1YTY1MDhjNDE3YjUzNThkNmVkYjNhOGVkZTFjMGMxIHJlbGVhc2UzMS1tYWludAorODM4MDIgMjRiM2RlZDUxODI1NGMzYWY3YjMzNzJjNzI5MTY4YWFhMDM4YmY0ZSBweTNrCis4MzgwNCA0ZWZlZDYyZWFjM2E4NmMxZWRmNjI0NTUxZGUyNmJmMzE1OTg3YmEzIHB5M2sKKzgzODA1IDYwM2MzNTUwOGIzNjNkYzNiYmU1Y2VlNzdmODE2ZWM4MDQwZGQwODAgcmVsZWFzZTMxLW1haW50Cis4MzgwNiA3MDk5ZWMwYmNiZDJjOTkyOGIyNjA4ZGQxNzk5ZmNjN2YyZjc3MmFhIHJlbGVhc2UyNy1tYWludAorODM4MDcgMTU4MzljYTQzZDk2YTM1ZTNmMTg5ZjE1NmE0NjEyNjlhMmI2ZGM1ZiByZWxlYXNlMzEtbWFpbnQKKzgzODA4IGJiZTIyMjNlMzc1MDZhMDRiNTZiODg4ODU0OTRlZWRjNTJjMjNiYTQgcHkzaworODM4MDkgNGJjZDUzNjE3YTY1NmJlZDczNTBhNjgzOGE0YjYxNmM3MDQyYzg2YyBweTNrCis4MzgxMCAyOGZlZjllN2MzYmI3MzJmMWYxNjA5NjhhMGU2ZDUzOTg4MGE5MDUyIHJlbGVhc2UzMS1tYWludAorODM4MTIgOTI0NzM4YWFiNzBmZGQ2OWRlZDE1MGEyOTZiYzk3NjEzMWI4YmVlNSBweTNrLWR0b2EKKzgzODEzIDhjMjEwZTYxY2E3NzU0MTBmNzJmODRkYTEzZTY4YzYxYzY5YjZhNjkgcHkzay1kdG9hCis4MzgxNCBiZmZkMWUyODU0YjNkMzZiMTUzNTg4ODk3NzAwNzNkNzUxMGYxMTE2IHB5M2stZHRvYQorODM4MTUgYTBiZGNkZDBmMDg2NDM3YzgzMWNmYjE4MjQwN2U4NWE0ZTk3ZGE3MiByZWxlYXNlMjctbWFpbnQKKzgzODE2IGU0MWNhNjY3MmY4MjJlMDk2Y2U2ZTY5ODVkZDIwYzM2YzU1MGNjOGEgcHkzaworODM4MTcgZjRkOTJjNmQ0ZDQyYTUzZDA2MGE3M2U4M2FiZjliM2JmZDBmMTgzOCByZWxlYXNlMzEtbWFpbnQKKzgzODE4IGJmMzM1OWI3ZWQyZWQ1YTdiNzliYzI4NDU2YWUzMGJiNDQyNWYzZGUgcHkzaworODM4MTkgZTYxYTA5NGI0ODE4ZDQ1OTMxN2ZlM2M2MjBiNWNlZGVhZjUyZTlmNyByZWxlYXNlMzEtbWFpbnQKKzgzODIwIDRiMjRiN2E0MjBjOTI3ZmU1MmFmMDJkMzRhYzAwNDlkZTE3NDEyN2QgcmVsZWFzZTI3LW1haW50Cis4MzgyMSAwMTc4NzU2M2UyY2IzNDRmZTkzNDE3M2E0MDdiZTVjOWIyMjc2ZmI0IHB5M2stZHRvYQorODM4MjIgMDM3MGMxMWZkMjFkZjNkNGE5NDRmNzBhYmRmZjMyZGIwMzQ2MjVkZSBweTNrCis4MzgyMyBiNmZlYjY3YTA1ZjFmMTZmYWI3YjNlNTFmYjZjNzVjZTRhZjJkN2JhIHJlbGVhc2UzMS1tYWludAorODM4MjQgZTE2NTYwNTg1ZTM1YzZiMzY0ZTMzZmU2MDMxNGYxMDk5NGI5OTVkMCByZWxlYXNlMjctbWFpbnQKKzgzODI1IDVlYTcwN2QyY2FhODhlOWZmMzFiNjUzNGUxZmZlZTgwYmQ4MmFmNjkgaW1wb3J0X3VuaWNvZGUKKzgzODI2IGJlMTU5ZjNkYjVkNmFlMGRlMzE2MmRiZDI1MGQ3YjY0MjZhZjFiMjggaW1wb3J0X3VuaWNvZGUKKzgzODI4IDEwODZkYWQ1MGM3NDgwOTIwZDgzMGUxZWM1ODU3NmY3NWYzN2E0NTkgcHkzaworODM4MjkgNmIyMTg5ZDhlOGM0NGQyZjQyMjBiYTFjYmNmNTZkY2NlYzYxN2Y5NiBweTNrCis4MzgzMCBiNGY1NDYzOWI3YjE5NWNmOWI3ODA1MTk4N2FiZGIyYmZiYjQ0MTdkIHB5M2sKKzgzODMxIDk4M2YxMTBhMjI0ZTJhNDVlYjU5ODNmOWY3NWYwZGUzOGVmZGViYjEgcmVsZWFzZTMxLW1haW50Cis4MzgzMiBjYzVhMjQ2YjJkYTFiYjgyZThmMTdmNDQ2OGQ2ODEzZGI0OTEwZWIyIHJlbGVhc2UyNy1tYWludAorODM4MzMgNzVlYmU2Y2M4MDgzMzUxYTU1ZmIxZTc2OTNjZmIyZmQ3NTRkOTMzOCBweTNrCis4MzgzNCBjNTJmNWRmNTA0NDg4OTc1ZDlhZDlhMmE5MzBlNjE4NmFjZTQ1M2M2IHB5M2sKKzgzODM1IDg2ODNhZWE0YjcyZWY4ZGM3OTkxYWIzZDhmODQxNTcwODFmZGNjNzkgcHkzaworODM4MzYgZTEzZWE4M2UyZWRiM2RlMjJlNzJkZTUzNzRlMjc2MWVhZmE0NWJjNyByZWxlYXNlMjctbWFpbnQKKzgzODM3IDQwZDExYjgxMzlkYTUwYjA0N2ZlYjJmNWY4MTkwYTk1NjJmNGZkNWYgcHkzaworODM4MzggNTE1ZTBkNzA1NTQzZmU1NzU5N2U3YTI5NDQwZTZlNjlkZTE5OWFmOSBweTNrCis4MzgzOSAwOGUwNWQ0MjRkOTdhNjI5MzAzOGRkNWVhM2ZkODBjYzU0MDAwZDhlIHB5M2sKKzgzODQwIDYwYWM0MWFlN2YzMTIwZDA1NmNkNjBkOWJiMTQ5M2Q0NDM2YjUxNDAgcmVsZWFzZTI3LW1haW50Cis4Mzg0MSBiOWQxOTgwMjE3NDU4OTQyODc2ZTI3NzFlNGZjZmZkMDgzZDI2MjVjIHB5M2sKKzgzODQyIGRmMjU4OTE1ZjUyZmNiNGFhZjM2Y2YwYjU5NmQ3ZDkxNzE5OGY4N2QgcmVsZWFzZTMxLW1haW50Cis4Mzg0MyA1ZTdmMTVmMmMwYmU2Y2NlYjFmMzlhYTM0NWEyYmY4MDYxNGRkOWJjIHJlbGVhc2UyNy1tYWludAorODM4NDUgOGIzNzk2Y2MzMDllOGY5ODA1OWViMmNiNDZmZThjYzY5YmFiNmE4NyBweTNrCis4Mzg0NiBjYzBlZTZiYjVlOWI4NzFlZGZkMTkyOGIwNWE3NzE5ODQ2NDRkNjYwIHB5M2sKKzgzODQ3IGZlZmZjMWEyNTk5YzczZTc1OWMwZTg1MTE2NDU3NDEwOTJiZDRiNGMgcmVsZWFzZTI3LW1haW50Cis4Mzg0OCA3NmJhNDFiNzdmNTM4OTM5NTI4NDlmNzEzNjFlOWQ2YTMyODJjN2M5IHJlbGVhc2UyNy1tYWludAorODM4NDkgNDQ2MTlhNTY2YjZiNjM2MTNmOWJhOWYwYzBkMjAwYjgxZjdhYTA4OCByZWxlYXNlMzEtbWFpbnQKKzgzODUwIGZhODYyMjI2NTYwOTEyMDcxZjY1N2MzZDYyYjc3NGQ5YTk4YTU2NzUgcmVsZWFzZTMxLW1haW50Cis4Mzg1MSA1N2U2MzFmMDg4ZDczNjA1NDMyODQ3YjNhNDRmOTEzMTg4NWYwYjU0IHB5M2sKKzgzODU0IDRjYTQ5N2Y0ODE5Y2ZkYWQ4MjY3MDFiYmE2N2QxZTNlNTFhYzJlN2YgcHkzaworODM4NTUgNzdjNmY2MGExYjI0MGI1MDlkZGNjYjRhMjllMGNhMzZlZTVmZDdmNyByZWxlYXNlMzEtbWFpbnQKKzgzODU2IDU1YzcwZTc5YzY4ODg2N2MxMWQ3Mjg4Y2YwNDQwMmFkNjIzNjU5ZTggcmVsZWFzZTI3LW1haW50Cis4Mzg1OCA1NTM5NzUzM2RhNTE4YTAzYmI0M2M4YTNiMmQ1MzdmMTAyODI4ZjQ0IHJlbGVhc2UyNy1tYWludAorODM4NTkgZWI1YWE5MWYwZTE2ZjZkZGIxNDc0OTkzN2U0MjhiZTdmNjNlZGZlMyBweTNrCis4Mzg2MCA3ZDQ0MjVlMzA4ZjdiODUyNjZlYmIyMDNhOGY0NjIzNmU0ZDU4ZmFkIHB5M2sKKzgzODYxIDFiZDM1MzQxMzZhMDM2NDM1NzNlYTliZDQ0N2Q1YTY5ODU0ODVmNzggcHkzaworODM4NjIgMWFkNTkyMmFlYzQ1M2U0NzAzMTdmMWYwYWYxYTc0MDI3NzlkY2YwZCBweTNrCis4Mzg2MyBkMjI4MDY4MThmZTNhNTNkYjQwM2UyYjIyMTQyZmQ2MTRlZmRjYTZmIHB5M2sKKzgzODY0IGVhM2EyZDFiZGVkMmEwNWI1ZGQwNzMzNWRkZjFiY2QzZmFkM2ZjMjAgcHkzaworODM4NjUgOGQ2YjRmZmMwNTEyYWE0NzE3MThhYzVjMjY5YzU1Mjc1OGU2MGI2ZiBpbXBvcnRfdW5pY29kZQorODM4NjYgMDIxMzUxNTk1ZmFjMzZiMjE3ZmQyMmFlMTY4OWQ2MjcxNWE2ZjhlZiBpbXBvcnRfdW5pY29kZQorODM4NjcgMGRhM2I1OWMzZDM4MDYxN2NiNWI2YmY1NDg1NWFmOTMwZmRkOWMxMiBpbXBvcnRfdW5pY29kZQorODM4NjggZjgxMmI3OTY0MTE5OWEwZTk2ZDkwZWU3ZmY5YzljZjQ5MzM0YjkxYSBpbXBvcnRfdW5pY29kZQorODM4NjkgM2Y4Y2VmODM3ZjA3M2MyYmMzNzc5NzA1MWIyYTVmZGI5NmVmMTRjZCBweTNrCis4Mzg3MCAxMGM5NWMwZjM0ZDM1NWJlOWY1ZDY5N2U5ODc0NTM5YjJjOGM2ZWZkIHB5M2sKKzgzODcxIDUyMzU0Y2IyOTY0NDkyNmExOTU5ZGQyYTJiNDI0MTQ5YWQyOGJiY2YgcHkzaworODM4NzIgOWM0NDViYWQzNWIwODZkMDQxNzMxMzBhNWY5ODRjNWI4MzQ4NWNmNyBweTNrCis4Mzg3MyA3ZjVlMTE1ZDc2ZGZhZDNmNjQ4ODUzY2QyZjE3YWVmYzJhZjRkYjg2IHJlbGVhc2UyNy1tYWludAorODM4NzQgYTEzYmRiMmI4Mzk4ZmJmMTkxZDMyMTJjYzIyMWQ5ODk3YzE5OTRiYyBweTNrCis4Mzg3NSA4Y2UxZGYzNTI4Yjc2ZmNiMmFlZTJiNzBlZTcwZTlhYTllMjk0NDhjIHB5M2sKKzgzODc2IGM3OTk1ZTliYzJlMzZkOWYxYTIxNjcxNTAyYzU3MGNmZmU3M2JkYWEgcHkzaworODM4NzcgOGI5M2NmMzNiOTg3Yzg3NzlkZWNmNTgwMWJhMTVjNTFhZWE5Nzg2ZCBweTNrCis4Mzg3OCA2ODhlZGJiYmU2NTgxNzVlNmI4ZmUzODA1N2U3ZmE3YzYwYmYxOThmIHB5M2sKKzgzODc5IDVlM2M2MWNiNzAxNDFkMzYzMGQzZWUwYmQyMjZkZDgyZjMwZDIwODMgcmVsZWFzZTI3LW1haW50Cis4Mzg4MCA5NDY4ZDEzMDQyODQyNWQyNjUyMTkwODJjNGZlOWVkZmE2ZTkyMDFhIHB5M2sKKzgzODgxIDNhZTk1ZjIwNzYwNjM0NGY0MjNiNTVlZmIyOGI1ODgyN2Y2MWFlYzQgcmVsZWFzZTMxLW1haW50Cis4Mzg4MiA3YjdlYmY1NTg4OTQ4NTQ3MzhjNDE4MzRkMTM0ZTVkMjlkYWY4NzdhIHB5M2sKKzgzODgzIDAwMTUyOWQ2NDdmZTQ5ZGFhZDE0MDFmZjMyMzU1M2ZkNWU4YmQ2NTIgcmVsZWFzZTMxLW1haW50Cis4Mzg4NSAzYTRiZTlkMjVhNWY4MzA2MGNkMjdkODFlOTY3ZGUyNzI4YTI4MDY4IHB5M2sKKzgzODg2IDVhZTM5MGFjNmM2MWQ4YWU5YTZkOTdhNDQ3MGQ4NWE3OTU4NzUzMDMgcHkzaworODM4ODcgNWMwZDVkZTU2ZmRmOWFhYmU4OTUwMTdkODVmZWU2MDFmZTFlNzkyOSBweTNrCis4Mzg4OCBkZTA4MDk3NzJkN2U3MDNlMGQwOTExODY2OWE0MWYxOTFmYzYzZmNlIHB5M2sKKzgzODg5IDhiYTA5Y2RiNmZjNDhiMmFkZjBlYzZiYzc2YzE4MjFlODkzYThjZjcgcHkzaworODM4OTAgNzk1ZWIxMjQwM2I5NDQyMGRiNDg4YzQwMzhmNmRkZWVkMmE0MjY2YSBweTNrCis4Mzg5MSBkZmJiZTdiMzBlOTAxYjM2ZmE0NTE4NDg5YjM5NzY5NzI3YTE2YjhkIHB5M2sKKzgzODkyIGUxNjA3OWM2YTQ4ZjU4M2NkMzY4ZDhmNGYwODA2ZmZjZjc4MTZlZDggcHkzaworODM4OTMgZjE2MjdjZmNjODkwNTBiNmY3NTM2OWE5ZjQzMWQ1NjNkOWRlZGEwYyByZWxlYXNlMjctbWFpbnQKKzgzODk0IGMzOGYzYjk2OWI0YWU1MDQ0NGNkYjViNjZjNzBiZmIzN2U5NzMzNjcgcHkzaworODM4OTUgN2RjMzdhZTE3NWZjZDU3MDdlNzRlNjBhNTFlMDY0Y2ZmOTc0OWQyYyBweTNrCis4Mzg5NyA2ZmIwMzEwMzdmMjliNTBiYjk0ZDE3MDIzMDljZmE3MjMyYjlhYTY2IHB5M2stZHRvYQorODM4OTggMzU1ZDcyNzM3MzY0ZmJkZDg1OTllOGYzMzczYTQ4OGNmNTI3M2JmYyBweTNrLWR0b2EKKzgzOTAwIDcyZDA1MDRlNjQ4OTYwNDI0ZmIyY2I1MWRjYjhkZmI3OTFiZDRiYjggcHkzaworODM5MDEgYzg5YWQ2ZjljZGRjMTgyMjNjZTRjNzE1ODRjZWNhNDkxOTlkMTI5ZSBweTNrCis4MzkwMiA5NTExN2FhYjlhODZkZjcyZDJmMTliYzFkMWZhODY3ZDU0N2EwZmEzIHJlbGVhc2UyNy1tYWludAorODM5MDMgNTAzODhhODNlYzNmN2UwYjJjOTQ2YmMyYjJlNDRmOGM5ODRjYWJiYyByZWxlYXNlMzEtbWFpbnQKKzgzOTA0IDUwZjhmNTI0N2M4MTBhZWI4MDE4ZTRjYTM3YTQ0ZTA1YjY3OTI2YzkgcmVsZWFzZTMxLW1haW50Cis4MzkwNSAwYWU3MDZhNzFhM2E1MGRjMWQxNWI5NWQwZTk1NTRiZDAyMjE3Yjg2IHJlbGVhc2UyNy1tYWludAorODM5MDYgYTU2ZDhhODBiODgzOWU1NTk3ZGZkMzA1YTc2NDIxYTYzODliMzExOSByZWxlYXNlMjctbWFpbnQKKzgzOTA3IDQ2ZDQ4ZDcxNTQ0MmZjYmI4MDJlZWQzOTc1NmZkMzIwOTI5ZmI4MmMgcmVsZWFzZTI3LW1haW50Cis4MzkwOCA2MDA3NmYyOGMwMjNhYzZlYWEyODg1ODIzOWQ4YmY3ZTljYmYzNjBkIHB5M2sKKzgzOTA5IGMyZTFkYjMwZjc1NjJmYWNlNTBkYTFhNTQ4ZGY3ZDU2ZGIwZjcwNGMgcmVsZWFzZTI3LW1haW50Cis4MzkxMCAzMGNjMjdlYjM1NGFjZjUxYzQ2YmRlMmYyNzEwNTE0Y2U2YjhmMWNiIGJidGVzdAorODM5MTEgOTg1MzY1OGE4MzU1YmJmYjhlNDM4ODMyNTViMTIwMTIyMDRlNzk4NCBiYnRlc3QKKzgzOTEzIDI5YWY5YWJjNzZjYWRhMTUzZmFjNzE4NjJmOTAzNGFmMmI0ODUxYWEgcmVsZWFzZTI2LW1haW50Cis4MzkxNCBiMTg5MmI3ZjE5NjZmNGVjOGI5MzA3ZmZjNDk5MTBlNTEzZjE2ZjFkIHJlbGVhc2UyNi1tYWludAorODM5MTUgNGM1MjNlMWVmMTBmMmI3MjFmNjA3NGMyYmZjNjEzNDEyY2QzZWY4MyByZWxlYXNlMjYtbWFpbnQKKzgzOTE2IGMzOTEyYWFjMWI3M2Y2MGY5YjZjZTk3N2JjMGU5ZGRmMjZmOTdmOGQgcmVsZWFzZTI3LW1haW50Cis4MzkxNyA2Y2QyOTJjOWMyOTYwZTgwOTc1MmM1ODAxMWI5YWM0YzYzNWE1ZmMxIHJlbGVhc2UyNy1tYWludAorODM5MTggMzcxNTY5MDdmMzU5Y2I5ZGE1YTg5YTJjOWFlZTY2ODg1MDAzYjE0NCBweTNrCis4MzkxOSAxMDliZGU1ZTQxYjk0NGVmM2FkZTk4YWM2MTQ4ZjZiYzI2ZTRhNThjIHJlbGVhc2UzMS1tYWludAorODM5MjAgYjY1ZGNlNTkwMmEyODQ3YmZjNTM5YTc1ZDQ0MmZkYzQ5ZGY2MGFhYiByZWxlYXNlMjctbWFpbnQKKzgzOTIxIGZmOTYxNGVkZjNhMDU0NmZjNmYxNWI5ZjJjMDU1ODBmZTZiNDM2MjkgcHkzaworODM5MjIgMTRmYjY3ZTdmYTA0NjhjMTA3YjZkMTE4NWQ4NDMwMTM5N2ZiM2MyOCByZWxlYXNlMzEtbWFpbnQKKzgzOTIzIGZhNDg1ZGNlYTYxM2U5MTVhMzllMTQ5MTU4MjRiYmMzMWVmYzMyNTYgcmVsZWFzZTI3LW1haW50Cis4MzkyNCBiY2VhMzVhMmQyZDJiZDk1ZTEwNWQ4ZThiMTJjMWQ1MDQyMWRhMjc0IHJlbGVhc2UyNy1tYWludAorODM5MjUgMTlhZjA4Mjg3Y2M3OTI5M2YxNjE0OTU1OWI4NTE5ODdjYjk0YjFkMCByZWxlYXNlMjctbWFpbnQKKzgzOTI2IGFkNmM4ZTIyODcxMmU0Yzk0MWM5ZmE4Y2E1MjFlZDg0NDUyNjRlNmYgcmVsZWFzZTMxLW1haW50Cis4MzkyNyBjMmRiMjdhYTZiZjI1MDBiYWNiYmM4ZjUzOWM1ZTQwMGYzYzAzNjljIHB5M2sKKzgzOTI4IDEzMjJlZjNjNGE2YzgyOTJlODBkOTlhY2VhZWQ0YTQ2ZGNkYTZhNzcgcmVsZWFzZTI3LW1haW50Cis4MzkyOSBkZWExZDI2OGUzNGVkNjdmMTMyY2Q5YjA1ODFkMWQyYTZiNWJhMzU2IHJlbGVhc2UzMS1tYWludAorODM5MzAgOWUwMDNhMjYyMDkzM2M5ODZiYjVmMTM4MGExYTc4Yjc1MTliZjVmYiByZWxlYXNlMjctbWFpbnQKKzgzOTMxIDRmNzZjZTY5YWVkMGRjMjc0NDRiZDM0NWI5ODA3MTM5NWUzMmI2MWMgcmVsZWFzZTI3LW1haW50Cis4MzkzMiAzOTA5MmY4NmIwYWYzMmRlYTVjMGIwOTUwYjFiYTAyY2VlMzkxMzNlIHB5M2sKKzgzOTMzIGEzODUzYmZhMjUxODE2ZGQ1NzFlNGI2YzVkOGJlMjc4YzE1NWQwNzYgcHkzaworODM5MzQgM2Q2YTAyZjBhMmQ4YTdhZTM3NzdjMDVlYjk4ZTZiMTE0ZDUzNjIwOSBpbXBvcnRfdW5pY29kZQorODM5MzUgN2U1MjVlMTI1YjcxNWUzOWExNjZmM2FiZTdhYWU5YTdkMzRjYjM5MCBpbXBvcnRfdW5pY29kZQorODM5MzYgN2RkNWY1Y2ZhMTc5NDY3Njc5MzU0YjJiNDAwNTc0NDI5MjdjMDk3MSBweTNrCis4MzkzNyAwYTFhZDliMTE0OTYyMjU1ZDIzMDUwZTkwNDEyMmRkZDYzMTY3OTRkIHB5M2sKKzgzOTM4IDJjYjU4MTc0YWE3ZGEwNzJjNTlkNTUzMWI0ZTZjMDliZTU2NGUzYmYgcmVsZWFzZTMxLW1haW50Cis4MzkzOSAyOWUyMGJkYjJiMTFhYjBjZTE0NjczNjY5ZjJhM2JkNWQyMjYxZGY1IHB5M2sKKzgzOTQwIDQwNTU2YWU0MjRiNzM3OWY0ZTRhNjEyZjJjOWRjMjdkOGU5MTgwMDQgcmVsZWFzZTI2LW1haW50Cis4Mzk0MyA2ODk2OWI5ZGMzYjA2MDA1NmNkZGE2ZGJmMDUyOGQzNWYyYzMyOTlkIHB5M2sKKzgzOTQ0IDczNjQ5NDA2NzJmMDA0NDcxM2VlYTQ4YWMzZmM0NzMxN2VhNzExZjkgcHkzaworODM5NDUgOTMwYjI4MDNjNzE2NmIyMjNjZTE3MGZhZWY0YzQ4MWFhNmNjZDY4ZSByZWxlYXNlMzEtbWFpbnQKKzgzOTQ2IGMzZmY2ZTkxMDA2OGIyZmU4NzdkNTBkZTVjOGQwZmJhZWY3Zjg5MDYgcmVsZWFzZTI3LW1haW50Cis4Mzk0NyA1NjA2NmE1ODI1Y2EyMGJjZDUyNzRjNGFkNjliODVlNDAxOTI3NWZjIHB5M2sKKzgzOTQ4IDc2ZDQ2M2M5OTAwNjM5NmRjNDE1MTIzMzgxYTFlYjI4ZjNlYTM2NGEgcHkzaworODM5NDkgOTEwOGU3ZGNkN2Q4MDVlN2JjZDA4ZGIxZGQ2YzYxNWEwNmE3NzZjMCBweTNrCis4Mzk1MCBhMWRlNDYzOTU2NGU1YWYxZDllMmY3NDJkY2JkODU5YzBkNDM4MWMwIHJlbGVhc2UyNy1tYWludAorODM5NTEgZjIyZTk1MDU1MWFkMmI4OWMwNDhjNDVkODBiYTViYjA3YmRmNTgyNiBweTNrCis4Mzk1MiAzZmE4ZjQxYTExMDNjOThjYWYyNjk0YmNhN2VlYTYyMTEwY2M2ZjMxIHJlbGVhc2UzMS1tYWludAorODM5NTMgZDFiMDM1ZTI0MzcyYmUwMTdkZmRkNGRkMjRkMGIxMzZkNDc0OTY1ZiByZWxlYXNlMzEtbWFpbnQKKzgzOTU0IDNkYmJjZDM0ZDQ5NGUyNThiMGM5ZmU1NDBkYjViZjI5OTA1ZTNlYzggcmVsZWFzZTI3LW1haW50Cis4Mzk1NiA4NDk5YWU1ZDk3MTk2YTcyYTViODc0YjNjYmY5MGE4M2RhNGU3MzU5IHJlbGVhc2UzMS1tYWludAorODM5NTcgYWIyZDk0OTMxYjBjMTA1ZmE1M2M2MDIzOWZjYjM5YjgxZGVkNDNjYiByZWxlYXNlMjctbWFpbnQKKzgzOTU4IDU5ZGIzNjNmYTU5NDVjMTc5MDc4NTRiZmQwMDIyY2Q2NGM3YmExODcgcmVsZWFzZTI3LW1haW50Cis4Mzk1OSBmZDQ2MDZlZmM3MDBhYmIyNTc4ZGJmODg2MDIwMTVmZTk5MjVhZmM4IHB5M2sKKzgzOTYwIGY3ZDhhYTEwYzNlZmE3NjhhNzVjMTYwYTA0ODFiYjZmNDRiMGY5OTIgcHkzaworODM5NjEgZWQ2NmIyNDE3MWFmMTJlOGI3NTY1YmY5ZTllMGM1ZjRhZjlhYWE4NyByZWxlYXNlMjctbWFpbnQKKzgzOTYyIDY4YzQ4ZjhhYTU1NTM4MjM0ZmQ1YmE2Y2UzMmJmZTkyNzkzMmYyZGYgcmVsZWFzZTMxLW1haW50Cis4Mzk2NCA1MzQzZjU3MTRmZWVjNTFhZDNjZmUxYTdhNWE2ODQwZTIwYzYyMjc1IHJlbGVhc2UyNi1tYWludAorODM5NjUgYmU4M2QyOTNhMWU5YWY5ZTY3Yzg3MDUyZjJkOWNlOGEwMTFhYmRlYyByZWxlYXNlMjYtbWFpbnQKKzgzOTY2IDAwNTcyMWU1MGUwYmExNGZiMzhiYjI1MDVmMTgxMTE0MTAxZmUyZWEgcHkzaworODM5NjcgNjRiNWM2ZjI5NjAxY2Q4OWU0ZmNkZmE3NzIyODI1MmNkOTZiYTRjMSByZWxlYXNlMjYtbWFpbnQKKzgzOTY4IGNiNDYxYTkxNDRkYjAzNTQzYzY1NTJlZGQwMDNlMmFmOGRjMzRkNjMgcmVsZWFzZTMxLW1haW50Cis4Mzk2OSBkMmI3MjExODViZmEyY2QxMjc0NDQ4ZjJhYjY5NjBlNjJiOTFmYmViIHJlbGVhc2UyNi1tYWludAorODM5NzAgNGE1YWQ5MThmN2FmNDU0NGI5MWYxODczZWRiZjM0YmQxZGMwMDMyMCByZWxlYXNlMjYtbWFpbnQKKzgzOTcxIDg3YjJkYTg0MDI1MmU3YWJhZmM4ZjkyNzYxMWU5ZDZmY2Y1YmI2ZmEgcHkzaworODM5NzIgMDNlODg0ZmFjNGRiYTI1MjkwYjc4YmU2MDQ0NWZmODE0YWRiODQyMyBweTNrCis4Mzk3MyAyZGQ5NjRkYWQxNjg1NGYyNzE1ZWU4NzkxM2YyNTRiZjg3ZGEzODlhIHB5M2sKKzgzOTc0IGE0NDljZTFmMzg1YjczNDUwNmNmMDMyNzk3NWExMjI5NzQ0Yzc0N2YgcHkzaworODM5NzUgYWE4OWNiYjdiYzIxOWJlYTExOGMxNDU0YTVkYWQxYWY5MTNiYzU1MCBweTNrCis4Mzk3NiBmYTJkOTcyMGE2NmNiMTBmNjExMDQxNzE5MTMyMDdkNGRkZmFlYjk0IHB5M2sKKzgzOTc3IGQ2ZjhlODZhMWJlYzIyYzNhZmNiNTM0OGQ3NTM1MTMyMTkyY2FiMTIgcHkzaworODM5NzggNzU1NWIwMDM1YTc3NzQxMWQ4NGQxOTZjOGQyZDE1NmRkOGIwZDZmYSBweTNrCis4Mzk3OSAyN2I1NTNjZGQ4NWI2NDZhYjlkNGNjYjhiNGIxOTdkOTljMTZlMjBjIHB5M2sKKzgzOTgwIGYxZDkyMmQ4MjBjYWFjYWFiNGQ2NzhiZjg2YWQ4YjQwZDNlZTNkZGEgcHkzaworODM5ODEgOTEzYWE4YTQzMDRjNTc0YjJlZDIyMmNiYzNiYzY1NzQ5MzUxMjhjNyBweTNrCis4Mzk4MiAzYTgwZTY3YTBkMzcyNWE4YmU3ZDFjZDNlZWViM2E4NTA2NmI1ZDUzIHB5M2sKKzgzOTgzIGFhOWM4ZTgyYzQzNTc2YmYxNzVmN2FiYWJhN2ExMzQwY2FkN2Q2ZGEgcHkzaworODM5ODQgZDRiNjcwYWE2ZDZiODNkYzY3M2VkYzlhN2Y5MmU0MjQ5NjI1OGMwNiByZWxlYXNlMzEtbWFpbnQKKzgzOTg1IDA2ODI5MWQ0NGZkN2Y4YTFhNWMwZTU0YzViMGMzOGJhMDk1NTc0MzkgcmVsZWFzZTI3LW1haW50Cis4Mzk4NiBlNTRiYWViYmQ2ZmYwMTA0Mzc1MmNiZGRlNTI0ZjdmNDVlMTU3MGJiIHB5M2sKKzgzOTg3IDI5MWM5YWZhYjEyY2UwNWQ4ZGIyYzVmZTdjZTJjOTk1MWZiOGZmYmYgcHkzaworODM5ODggNDc0MmU3YWVhMmY1OWNjZjYyZDgwOTgxYmRlMjU3OTE0MmQzODVjNSBweTNrCis4Mzk4OSA3YmU1OTE2MzMzZGZkYTZmMDc3ZDliMzM0MmQ1YzMxM2U4ZmJiMWQ4IHB5M2sKKzgzOTkwIDUwYzBkYmFlYWEwNDgwMTE2OTdmMzdkZGQ3NGE4YTliNDIxMGE2YjkgcHkzaworODM5OTEgYWI2OTQ2OTcyYjdmZGJiZDQ4ZmY5ZGIwMGUwYzRlMzZhMmZiMDY2MyBweTNrCis4Mzk5MiBkODY4NmM2ZTZiNWViZDZkMzIyZTA0NWYwNzQ1ZThmY2E1OWM4NGU5IHJlbGVhc2UyNi1tYWludAorODM5OTMgM2FmNTk3ZjEyMzJhZjY4YTE1ZDA5YzUzYjBhYjI0M2FmYTYyNWNiYyBweTNrCis4Mzk5NCBkNTRkYTkyNDhlZDlmZmFmNjVmNjUxY2E3MTk4OGNkY2IxMzBjZDgyIHJlbGVhc2UzMS1tYWludAorODM5OTUgNzA2MzRjM2UwMzEwN2ExZGRhZjMyNjFkZGU5MWQyMWU0YzA5OTNkYyByZWxlYXNlMzEtbWFpbnQKKzgzOTk2IGY3NjM5ZGNkZmZjMzZkYmE0ZGIyMTE4YTA0Y2I4YmZmMzEwNWFhMDggcmVsZWFzZTI3LW1haW50Cis4Mzk5NyA5NDIzMmEwYzQ1YWUzNDg2NWUwZTliZWNiNGRjYzE2YTc0YjUxODJlIHJlbGVhc2UyNy1tYWludAorODM5OTggY2JhMmE5NjExMTcwMTQ3NzI4MDUxYzY4MTRkZWM1MjhlMzA0MTlmZCBweTNrCis4Mzk5OSAxYjU1YjcxYzdjMjEwZWFhNGVjNTdmMWZlY2JlOTExOWFhMTk4ZDAwIHB5M2sKKzg0MDAwIGY4YjRlYmU5YzQxYjlkOWQ2ZTg3M2NmMzYxNTlmOGIyOTAxNzQ2NzEgcHkzaworODQwMDEgMzhkMmI2NGFiN2MxNWZiNzViZjc4YmYzNzQ3N2IwY2JmODA3ODc4ZSBweTNrCis4NDAwMiBkNDYwMGVlNWU4MmYwZTk3MTY0ZTMwN2Q3OTU3ZjYzZTg4NmQzMjIzIHJlbGVhc2UzMS1tYWludAorODQwMDMgNDk0YTFiOTU0NTY5NmI1YjcyNmQxZTE2ZjU4ZmMzN2YyZGQyZThhNSByZWxlYXNlMjctbWFpbnQKKzg0MDA0IDk3MTI0OWM3NGU4MDVkOGI3NmZkNzg3OWNlNzczMDVhMzg2MmJlOGQgcmVsZWFzZTI3LW1haW50Cis4NDAwNSA5ODE1NTVlOTk4NmUzMjk0YzQyMTQ2ZTUyMzlhYjk2MGZlN2M3YWU1IHB5M2sKKzg0MDA2IGFlZDRkN2YxMjgyMWQ3MTFhMGMwYzUyYTM4ZDk1YjY5NjExNzVjNDYgcHkzaworODQwMDcgMDYzYzk5ZDgwMzJjNTE4NzUyMzNiYzk4NWViMDg1ZTllOTRjYjhjNiBweTNrCis4NDAwOCA3OTRlYjQwYmVmM2E2NTU0YTg5OWMwNjc1YzllOWY1ZmRlZWU4MWMzIHB5M2sKKzg0MDA5IDJkN2JiYTFjZjNiYzU3NTI5MjNjYWI0MDYwNGUwNjM4ZDQ4ZmVhM2EgcHkzaworODQwMTAgMjkzZTMzMmI4YjRiMDVhNjk3MjJjZTk2MzdjNTkzODczZWQ4Mzk5MyByZWxlYXNlMzEtbWFpbnQKKzg0MDExIDg1YWRmZTU3ODc3YjFjOTU1OTUwOGRmOGRiMmZkMjZkYmIxMTA1NTMgcHkzaworODQwMTIgOTUzMDEwYzBiMTY4N2ZmOWY0NjU5MTZlOGZlZjdmYmRhZWNkOGU0ZSBweTNrCis4NDAxMyBhNjU5MmZjZjc1ZTc3ZWY0NGE2OTZjODRjM2NmYzM2NjY4MmYwZmY4IHB5M2sKKzg0MDE0IGUwMTM4NTA4NjBmYWYxMzViNzc5MWUyMTllNWI4ZjE2YTE2YjhhMjAgcmVsZWFzZTI3LW1haW50Cis4NDAxNSAyYjBkZjllMWY2OWVjOWU2MTQ1Y2EyYjAyY2M4ZWYwZTEwNjliMjE3IHB5M2sKKzg0MDE2IGYxZDE4ZjRkNjE2M2I1OWFmMzJhZmNiMjRkOTZhYjA0NjQzNjFjYjYgcHkzaworODQwMTcgOTRiMjkwYWJiYWZiYWE1M2I0OGExMTk3ZDM0YzMwMTI4MTY2NmE3MiBweTNrCis4NDAxOCBhNGZkMzdhMWJmMzc0MzVkOGY1MDFhNDk3Yzg5OWE5NDlkZWYzYjQ0IHB5M2sKKzg0MDE5IDEyZmU0Yzg4ZjllNjY3NGRhYmFmODA0ZDlkZTJlYzhjOWRmNDIzN2IgcHkzaworODQwMjAgMjc3MTFiMGNkMWYwM2I1NGEzYjc1ZmFhY2I3MjQwZGQ4MjkyMTBjZiBweTNrCis4NDAyMSAyODU0NGQ2NjhlZDBkZmI0NjU3ZjQxM2E4MTM3N2MzYzkzMjZmZWJhIHB5M2sKKzg0MDIyIGVmNzU5NTUxMzhkMjI3NTllNmUzMzc1YmI1ZmMzZjEwMjIwYzE4MzUgcHkzaworODQwMjMgMGFhYzQwYzc3NDQ0MzQyODEzZmIyMGViNDIxZWU1M2MwNzlmODJmOSBweTNrCis4NDAyNCBiN2FiNzdmZDI3YjcwNzMwMzAxMDU0NGEzYzVlM2MzMzNmMGNhYzQ4IHB5M2sKKzg0MDI1IDJjNmQxM2M0MDUxOGJlYTIzNmMxN2NkMzVkMmZmZDkxNzJiOTNjZGUgcHkzaworODQwMjYgYjcyMjBlNDI5YWJiNDc0ODAxMTE0MTZhYjIxODgyMzg1Y2JjYzAwMiBweTNrCis4NDAyNyA5YmQwODI3MDE3NzY3MzY1YjY1NmEwNGY4ZjRjODMzYjAwZTVlOTJmIHJlbGVhc2UzMS1tYWludAorODQwMjggNDViMjRhZGZkMDY0OWYwODhiNzIxYWMxMDIwMjAzMTgzNGRlNTAyMiBweTNrCis4NDAyOSBhYjY3MGU0MTRjMjY5ZTdiNGRiYzk5N2FlNTU1MjJiMzQyZTcwYzAzIHJlbGVhc2UyNy1tYWludAorODQwMzAgZDM2MDMxMWYwZTUyNDc2YWUxN2RiMGQwYjRiNWE1MzIwZjM4Zjg1NyBweTNrCis4NDAzMSA1ZjMzNjUzZTM4MzdlZWUwMDZhMTEzYTAzODkyMDMxZDYzYTJkYjlkIHJlbGVhc2UyNi1tYWludAorODQwMzIgM2E3OWFhMmM0NTQ5ZmUzNTM4M2ViNTNlYTA2NTBlODU4ODFlMGU1MyBweTNrCis4NDAzMyBmMjkyM2ExNzUxZDgyNTQ2YmJmYmMyZDM4NzI0ZjUxZDI4OWVmMDAzIHJlbGVhc2UzMS1tYWludAorODQwMzQgMGU3MjE4MzA2N2VlN2ZlOTgwYjYxZjg2OWI5ZThjN2U3ZTAwOTkzZiByZWxlYXNlMjctbWFpbnQKKzg0MDM1IGM2OGYyNzEzNDJkMDY1ZGYzOTExYjYzNTUxZjU2ODkxZWI1NWNjNWQgcHkzaworODQwMzYgMzdjNDg3OTBkMDhlMGRmOWJjMTRkN2ZhODM0M2E4MjU3MzJiMGJmMyBweTNrCis4NDAzNyA2NTZmZTYyOTJmOWY2ZTliNzZhYTEzNzIyZjI5NTBhNWZkZDUyOWRiIHJlbGVhc2UzMS1tYWludAorODQwMzggYjFmOTkzMzVjNjc3NGU3YjVlNGMxMDlkNGQwYTQzMGNkY2VhZTJkYSBweTNrCis4NDAzOSBhZmFlOTk5NzgyMjY5ZjM0N2VjY2IyZTM0ZDFkZTliZDI5ZDljOTAyIHB5M2sKKzg0MDQwIDFlN2RjZmMwNDA2MTliOGFkYTVkYTllYTI3NTVkMjBkNzU2YjIzYzcgcmVsZWFzZTMxLW1haW50Cis4NDA0MyAzYTFiNWIxYzA2OWIyYTQ2NTMwYTMzM2ZiNTYyZmU2ZDU3ZDQ4NTI1IHB5M2sKKzg0MDQ0IDk1Y2U4ZGEzN2U3ODdmZTVjYmE1ZjdjZGM3ZmM2ZDE5MjY1Yzc2ZTYgcmVsZWFzZTMxLW1haW50Cis4NDA0NSBkOGQwYWJlNjFlODNlN2EwMDhhYjdkYThmNTUwYThiOGU3ZjJhMTg1IHB5M2sKKzg0MDQ2IDA1YmE4ODI5MmQ0YzVkOWNjNjdjMGU3YmE2NDBjMjYwNWY3MDE5ODIgcmVsZWFzZTI3LW1haW50Cis4NDA0NyBkNjY3YmE5M2YwMmFjODg3MTdhMTllNzMwODg3NDg4MjE4YzY2ZjQ0IHB5M2sKKzg0MDQ4IDIwM2IxOGQ1YzYyNmRmYTk2MzkwODEzYmE3NDAyZjk1OTJiNWIxYzMgcmVsZWFzZTI3LW1haW50Cis4NDA0OSA3NTM4MDQ5ZWZkZTg5Y2IxNmI1ZWUzYzZlMTM0ZTA4NDU4NDczN2MzIHJlbGVhc2UzMS1tYWludAorODQwNTAgMzUzNDM1MWM4MzAwMTQxYTMzN2NhNmNkNDVkNzQ1NDlmMDhlMTE5MiBweTNrCis4NDA1MSA4ZGI1YmQ3MDFhYjM2MGZhMDJkMWQ4MzY0NWMwZWZlMDZkNzgzMzkxIHJlbGVhc2UzMS1tYWludAorODQwNTIgMDE1ZjA1MTI5N2M1MjM5YWQzOTM2MGQ2NjQ1NjJjNjBhNTAyMjA1NCByZWxlYXNlMjctbWFpbnQKKzg0MDUzIGMyMzNjODRiZjQwM2I0Y2IwNGNmODJiNTNmZTljMTA4OTkyMmY5ZDggcmVsZWFzZTI3LW1haW50Cis4NDA1NCA4ZDBhYjU1NWExNjAwZGNkMjY3NWMxZDA1NDNkYTVmNzgwNjdjNjJjIHB5M2sKKzg0MDU1IDI2NmYzYTg3N2Y2NGM4Y2U2NjcyMjkxYThlMjAxYmRhN2FmYTZiZmQgcmVsZWFzZTI3LW1haW50Cis4NDA1NiA2ZGZjN2RhMTc5MTQzNDQwMmNjMGI4ZWEwOWNjNjk0YjllOTQ2MDg0IHB5M2sKKzg0MDU3IDJiMzZmMjljMzNmYzZlNDdhM2UxNjY2ZGNhY2Q1NjFkNDEzYTAyZDIgcHkzaworODQwNTggOTRkMWRhZDU1OTU1MzQ3NTVkODAwODFhZjY5YjEyYTAzYzgwYzhmNiBweTNrCis4NDA1OSA2NGZiMGJkNTVkM2NkZDRiZmEzMmFmMGM0MWRlMDcyMGEwMjU3OTQ3IHB5M2sKKzg0MDYwIDhlMDk5MWJhMjlmNDU3M2RhYjMwNjhmNTVlYmQxY2Y1N2MyOGQ3ZDUgcHkzaworODQwNjEgZjg4Y2RkOWE0NGVhNmMxN2UxOWU4ZjU5MjU0YmRlNGJmMmZlOTA1YSByZWxlYXNlMzEtbWFpbnQKKzg0MDYyIDhmMmYwNThiN2Q4OTEyMmMyNzg3NGFmYTA2OWIwNWNlN2ZhZmY5ZDcgcHkzaworODQwNjMgNTY3ZDAwOTIwZWQ2MzY2Y2JiYTc0YjE4ZTk4Yzc2OWE0ZmU3MDIyMCBweTNrCis4NDA2NCA3YTFhZGJlYzBkYjg3NjU3YjgyMmI5YjNiNWQwYzg3YTc4YTRkNTJiIHJlbGVhc2UzMS1tYWludAorODQwNjUgYjlkZDQ2N2QwNTc0MTg5MTYxYTJiMDVmNmZkMTQzZGY1MTIxN2RjOSBweTNrCis4NDA2NiA5OTY2MmRiOWRjNDE5ODZkYWQ0YTA3MWVmNjYwYTEwYWYyMWFmZWFmIHJlbGVhc2UyNy1tYWludAorODQwNjcgODI3YTYzM2U2OGNkM2U0NGQ1NGFlNDk1MmM4YzU3ZjA0ZGVjNmFjNyBweTNrCis4NDA2OCA2ZmIxMDEzZTMwNzlhYTAzZjMxNTkwNzFjMGI4MmEzOWFjZDViNWMzIHB5M2sKKzg0MDY5IDAwODc1Y2MzNGQxNzUxMjdhNjJmNjcwNGE4ZWUxNDM3MDE0NjAxOTMgcHkzaworODQwNzAgOTAyOGYyM2RiNzRiZTQxZWNmZTc3NjExMzMxNGEzZTdhZTAwMDlmOCBweTNrCis4NDA3MiBlNzgzYzdkNWFlMzY0NjQ4YmFjZWMyZDFlYjNmYTUxZmIxMjUzYTAwIHB5M2sKKzg0MDczIDdhNTQ4NDhkNDkyOTQ4Zjc4NzFkZTc5ZDhjYTBmYzdlNmMwYmYxZjggcmVsZWFzZTMxLW1haW50Cis4NDA3NCA5ODY4NmIxMDMxNGU5OGQwMWY5YzgxMDY2NTdjMmM2ZGRiZmIwZWRjIHB5M2sKKzg0MDc1IGRlNDZlNDI1MDQzMWM2YjY0YjE5YmY4ZWE1NDE3YWFjNjllNDc5MjggcmVsZWFzZTMxLW1haW50Cis4NDA3NiAyMGZkZDI0ZGQ5YWFmMjRkM2E0ZTNjMGZhZjQyNzA3OGVlNmQ5ZjU1IHB5M2sKKzg0MDc3IDc5ZDU3MmVhMTdkZjQzMmQyMDM1ZjI5YzNhNGMxNjAzODlmMDkxZTggcmVsZWFzZTMxLW1haW50Cis4NDA3OCA2ZThmNTg3ODg0OWM4ZTZkMzllMDczNjFkNzFhMGQwNzEwZDA0NDJiIHB5M2sKKzg0MDc5IGQxNTg4MDhkYmQ1YTI2OTlhODVjM2I1ZjM2NDExOWNlMzc2MTU2N2MgcmVsZWFzZTMxLW1haW50Cis4NDA4MCA2NzNjNGU4YTAxYzQ3YmJmOTQ1NjcyZWRhODk0Y2MyNzc0ODYxZWNiIHB5M2sKKzg0MDgxIGIwOWY5M2ZlMjlmYmY4MDU3MmJiM2Y0YmY5NjYxNThkMjk0YmY4ODcgcHkzaworODQwODIgYTkyN2E1OWNlZTA2YzU3YzhmOTM5NzVkMDhlMzRhZGFlNjg2YWE4NiBweTNrCis4NDA4MyAxODM5OGY5OWZjNTVmZDI3ZmRjMzYxNDMzZDI1MTRkMGI5NDczMjQ0IHB5M2sKKzg0MDg0IDEzNDI3NmVlZDI4MDg4YTQyNzMzZTM3MWMxMWZhYjBkYzBiYmIyYzEgcHkzaworODQwODUgZTllMGEwMGNjZmIzNTFhYTRiN2MwNDFmNTE3MjM1YzYzNmI0ZTBkZSBweTNrCis4NDA4NiA4NWFlNDQyZmY4YTVkMzUzNTg3MmUwNWY0YWU2ZmI4NzMzYjg0OGEyIHB5M2sKKzg0MDg3IDhjYzhjZTdjMzkwOTQxMWExYmQ2NmY5ZTIwNzM0ZDM4ODM2MjI3NWYgcmVsZWFzZTI3LW1haW50Cis4NDA4OCBmMDk4ZTFjOGJjNTk3NjY4ZTQ1YjcyMGNjZDRmMmNlOGY1MmIyOTJjIHB5M2sKKzg0MDg5IDkyZjc4NzcwODhhZmU0Njk3OWNlOWViMGVjMjE5NjFlYjgwYzQxNTUgcHkzaworODQwOTAgYmYxOGRkNzBjMTgwMzA0NjI2NTgyY2VhMjE4M2JmYWI4YWMxNjBkZiByZWxlYXNlMzEtbWFpbnQKKzg0MDkxIGI0ZDg4ZjllZjNmOTkyMzRkMTUzMmM0NjY1MTExZDc2ZGQ2ZTFjMDMgcmVsZWFzZTI3LW1haW50Cis4NDA5MiA5MWQ0YzdiMWJjMjVmODkyOWYxMmZlZjc5MDViYjVlYjQzNTVkMTRjIHB5M2sKKzg0MDkzIDRiMjNlMjY5YzRkOTlhNjg0YzYwOTZhNjg3ZjZhNTI2MDMzZjc4MzkgcmVsZWFzZTI2LW1haW50Cis4NDA5NCA1ZDliZGY1YWEwN2JmZDQ4ZTc4YjM3YjkyZGE0ZjRkZDUzNDVlNDU1IHB5M2sKKzg0MDk1IGZjODliOGRlZmYxZTFjY2Q1ZGJkOGEyOTNjM2VmOGQxOTA3ODY2MzQgcHkzaworODQwOTYgYWFlM2UwYzUxMGZmZTUwNjgxZWRhN2IxYzU0OTY0YTc4NDAwZmJmMyBweTNrCis4NDA5NyBkNTJmOWM4ZmU1ZDYwOWI0NTY3NGVlZmQyYjBiNjkxMGM2ZDViNWFjIHB5M2sKKzg0MDk4IDcxNWM0NGI2MGVmMzczNmU0M2FmNDY2OWU1M2Q3OGRkMmE5OTliNDYgcHkzaworODQwOTkgYTIzM2JlNjhkMzJlYThjOWYzMDIwNDdmY2Y3N2RjYjVjZmUwZDkzOSBweTNrCis4NDEwMCBlNDQzMmVmYzg4YjlmOGEyNDE2NTJiODU0NjJmNjJmMGEyNjU1M2IyIHJlbGVhc2UyNy1tYWludAorODQxMDEgOTA3ZjczZTIyN2E2YjllMWZlODA0MGZjZjBjNjI4YmY2MTg2OGIxMSByZWxlYXNlMjYtbWFpbnQKKzg0MTAyIDg5OTRkOGQ2MTBkNDQ5OWU4MDUwYjMzMDc3NDc3MWY1MjM5YjM0NzMgcmVsZWFzZTI3LW1haW50Cis4NDEwMyA5ZmU3NGViMDI4YWIwMWY5YzMwMWJmMDI3NDcxZjI1N2RkOTU3YTlmIHJlbGVhc2UyNi1tYWludAorODQxMDQgZGVlMzBjNDY3MzllYmQxYzg5ZmE2NjFlNzVkYmUzM2RkYmI0MmM2NyByZWxlYXNlMzEtbWFpbnQKKzg0MTA1IGRjMzJhN2Q5ZGE4MDI5ZmM0NzkzMTlkODU4ZmE2NTVjZDQzMmY5ZmUgcHkzaworODQxMDYgZTNkZjM0NTQ0ZGI5MDg5ZjM3NmIxOTA2ZThjNGY4MjgzMWU3MjNhYyBweTNrCis4NDEwNyA0MDg1Y2M1NjBlOWVhNTMyODg3MmQyZjRhNDdlYjRlZTgyMWZkZDczIHJlbGVhc2UzMS1tYWludAorODQxMDggNzU2ZjhiMzk4MjMwYjNhOWRlNmNlZGNjOWVmOGQ1Yzc3YzY3NDIyNyByZWxlYXNlMjctbWFpbnQKKzg0MTA5IGJlMGFhMWQxMzg0Y2Y2MmE4NmY4NTU1MDkxOTVlOWRmMWJmOTJiNjkgcHkzaworODQxMTAgMWQ4M2Q5MmVmZmU4MTEwNGFhODBiOGU2Yzk5MDZjNjQwNDM5YjFkYyByZWxlYXNlMjctbWFpbnQKKzg0MTExIGIwODllZDU3NmIxMzI1YjVjZmNiZmY0NTM0MzU5NjNmMGQ1YTdlNTAgcHkzaworODQxMTIgNzdiMDUyYzY0ZWJiYzJlMjc4MWEzNTU2MDA0MWRlNGZlNzRlYmZjMSBweTNrCis4NDExMyA0NzI1MDgyYzI4MmYwM2ZlNWFmZTlkMWE5OGQ0NWIwOWNhOWQ4YmUwIHB5M2sKKzg0MTE0IDE3ZDViMDMwZTg3Nzk5MDJkODJmNzZlZDMyYTY5ZDhkNWU3MTEzMWEgcmVsZWFzZTI2LW1haW50Cis4NDExNSA0ZGYwZDJhMTNhYTE0ZjEzZmJmYTJhOGRkYWU5Y2MxMDI0MWU3ZjA5IHJlbGVhc2UzMS1tYWludAorODQxMTYgNDFjNjA4N2YyZTZkYWU4ZjE0MjkzZjhlYWVlMjNjNTA1ZWUxZmY4ZiByZWxlYXNlMjYtbWFpbnQKKzg0MTE3IDgwNTllNmI2MjQ2MzYwOGY3M2ZlMDg3YjViYzVhYmZkZmQwZjRmMGYgcmVsZWFzZTI2LW1haW50Cis4NDExOCBlMTg5ZGM4ZmQ2NjE1NGVmNDZkOWNkMjI1ODRkNTY2NjliNTQ0Y2EzIHJlbGVhc2UyNi1tYWludAorODQxMTkgOTUyZDY1MGEwYWZkNzY5Y2Q2MmZlNDlkYzBlYWViZGEyN2JkNjE3YiByZWxlYXNlMjYtbWFpbnQKKzg0MTIwIGI2NjJhMzlmMDgyM2VhOTRmMzVlOTUzOGU0NWNjMDI3MGRhZThjNGUgcHkzaworODQxMjEgMGM4YmZkMjg1ZWY5NDI4MTcwZjI3ZDlkMjE4YTlkZDU2ODhiYWM5ZCBweTNrCis4NDEyMiAwNWM0YmFhODc1NDljM2Q1ZTJlZDBmOTQ0ZjE2NzY1YWM5MWQ4MWVkIHB5M2sKKzg0MTIzIDA0OThkNjhkYWQ1ZDM3OTFjMmRkNDZhMDU5N2UyY2U2ZGFjNDljMzcgcHkzaworODQxMjQgYjkxMDU5ZTU5ZDBkYzIyNTNlOGI5N2FkOGU1ZjIzZWY2NDA4ZDA2MyBweTNrCis4NDEyNSA3NDViZDYzOWVkNGRjZDZhY2M4YmFhMmRkZjAzMjM2NWYyNGFlNGFkIHB5M2sKKzg0MTI2IDBhZGE3Y2UyNGRlMmNkNDkxN2E4YjhjNmY2YzNhN2I4MDNkNDQ2YTkgcHkzaworODQxMjcgOTdmNDdlYWMwOWRiNGFkZTg3YWFlYmNiMTQzZDkyMThkNDIxMTI2YSByZWxlYXNlMjctbWFpbnQKKzg0MTI4IDYwYTQ3NzdhNzNhMDYyZmY1NzdiYThkYjYyZDQ4MWVlODA4ZDZjNDYgcmVsZWFzZTMxLW1haW50Cis4NDEyOSAyNzY3OGZmMGNkYTE0NGQxYTAzOTBkYWEzMjMwOGY4ZjAwZmZmZWU0IHB5M2sKKzg0MTMwIDZjYjc3NmU1NzI5NmJhM2YxYzc1NGU1NzVmODVhM2I4ZDkwZDViNzcgcHkzaworODQxMzEgNDU0OGY0YWIxOWNlZTNjNDNmZmE5ZGVjMDExYjA3MDljZWNkZTUwZCBweTNrCis4NDEzMiA3N2JmNTgyOTZjODcwNTlmNmM0NjQ5ZTYyMjgwMzNmNGY5YTU1ZDE1IHB5M2sKKzg0MTMzIGIyYTlhNTljMmQ1NzJiZmEyNDkwODhjNzQ1NjcyMTFlNGNjYmE0OWQgcHkzaworODQxMzQgYTA0OWUyMjBmMDMwOTYwNmQ4NDcwNDA2YjYwNzM0YzYzOWIwZTY5MSBweTNrCis4NDEzNSA2Y2M2NTU0MTZkNjM5YmZlMjgyNjMzYjUwZGRmZWQ4MDAxZDIwNzBlIHJlbGVhc2UyNy1tYWludAorODQxMzYgMjRlMDY4MzNiNWIzYjcyN2RiYjAwMDZjYjUzYmMzZDBlZGQzNWYzMSByZWxlYXNlMzEtbWFpbnQKKzg0MTM3IDlkZDc2MzQyM2E1NjZkZGM2OGEyZDA4ZWQ4MGM1ZjkyNmU5NWQwOGIgcHkzaworODQxMzggNWZjZTAxYTUxYWE1ZTUxNTQ1OWMxZmJjYzMyZmI1MWUzNzViMzU5ZiBweTNrCis4NDEzOSA0YmM5ZGZkOTVjODA3NTZiNjdhMWY1YWYxYTg5OThhYTIzOGJhM2Y1IHB5M2sKKzg0MTQwIDIxMmExNmY5MDZhNjcyNWM4MTg5YjZiNmE5ODVlOWFkZGFhM2QwZGEgcHkzaworODQxNDEgNmZkOTZjMDFiNDM3MTI2ZDkwNjYzMDliOWM0NDU3MWEzNTc0ZjUxZiBweTNrCis4NDE0MiA5OTBhNzY2ZmY5ODMzNTYwZDcwOGYyM2ZmZDY0ZDkwMTZmMmFiMTNkIHB5M2sKKzg0MTQzIGNhMmE4NTllOWJmNjM1MTBjMGVjM2U4YzdhOTA3NjFmODFkZmI1YjMgcHkzaworODQxNDQgY2FlZWJmNzQ5N2MzOGQ1N2Q3MzUxODk0NzE0NzNkOTdhMzJmY2U4NyBweTNrCis4NDE0NSAyN2UxNzYxNjkzM2VmODlmMmMxMThjN2VhODNiZmZlMzdlNTZhYzk5IHB5M2sKKzg0MTQ2IGVlM2RjZGZlMmY4NzM2NWY1YjAzMzk2YTVjYWUzMzVjNmZjODJkMjQgcHkzaworODQxNDcgNzkyNWJiZGZjODA1ZjAxMzc3MzE1NTE5ODFhMjIxZTMzOTA1MmY2OCBweTNrCis4NDE0OCA2ZWQzODEzNTVkMGQ0NDhhMDMxZDQ2YjJlZjUxOTFlZDEwM2RhMTBjIHJlbGVhc2UyNy1tYWludAorODQxNDkgMzVlNjdhZjgwNmU1MDNkNDA2ZDE4NmRkZjI2MWQ3YzM3ZGM3YWY0MSBweTNrCis4NDE1MCBiNjI0Yzc0MTdhZDRlNmU5MWJiYzM5YjcwMzFjM2VlMDlhMmFmNDAzIHB5M2sKKzg0MTUxIDJhNGNlZWJkZmNmYjI1OGVkNmVkYWZiNWFkZDM2Mzc4ZDkwNzAwZDAgcmVsZWFzZTMxLW1haW50Cis4NDE1MiBmZWJhZWExYTY4NzFlZmZkODM3OTQxODBmZTMyNjc5NzMzZWFhOTdkIHJlbGVhc2UyNi1tYWludAorODQxNTMgMzllMWQzODI2ZjRlYTBlZjM5MWNjYjE5ZDNmZDRmODRlOTRiOTAxNCBweTNrCis4NDE1NCBmM2Q1ODM3ZTMxYjc4NmMzYzRiMzY5YTllMzkwMWJhOTViODkxZDFjIHB5M2sKKzg0MTU1IDNmYTBhOTU1MzQwMjRkODk2MDk4MGFkMDc5OThmY2E1NjY4M2JjYmUgcHkzaworODQxNTYgZmRhOWQxZmU3ZjA2Yjc2ZDJiNDU2NTRmMDQ0YWYzOTU0OGExYmUwNCBweTNrCis4NDE1NyA1MWE3Nzg0NjI5YmJhZDg0ZGE4YzJlN2IzMzlkNDJkYmU0YzYwOTExIHB5M2sKKzg0MTU4IDM1YzUzZTdlMjI4MGRjN2E5ODA2YzYwYjg3NWNiZDQ4ZWIyNDIxOGIgcmVsZWFzZTMxLW1haW50Cis4NDE1OSA5YTU0OTQwYTMzMmVlNjkxNzdlZWY3OTU5ZjgyNTJjMTI4MTI4NDBjIHB5M2sKKzg0MTYwIGY3ODMyNzg3OTBjYTYzOTM5MjMzYTEyYjU0NmRhMGNjZjA1ODI3YTggcmVsZWFzZTMxLW1haW50Cis4NDE2MSBhMDE5OTJlMjE5YzA5MDMzOTc2YjY4YmI4M2I0OGZjYTJhNzFmYTJkIHJlbGVhc2UzMS1tYWludAorODQxNjIgMmIzMjMxMmRjYWIxNTA2YWU5ZWJmNzg1Y2E2NWFlYjRkMmVjY2VkNSBweTNrCis4NDE2MyA2ODZiMThiZmZiODY0ZmFlODNiM2FkZTg3MzQ2NTEyMjcxMzU4YTM3IHB5M2sKKzg0MTY0IGZjNzk0YWRkNTU5ZDVhYWI3NDRjZDdkNjQ0ZDI0NDM2MzFhMDBlNTAgcHkzaworODQxNjUgNDk0MzA3OGM5MGM5YWQ0ODVmMjdkZTBlZTZlZDUxYTFhMjlhZGM1MyBweTNrCis4NDE2NiA3MTQwMGNlMGM3MjFkMTU3MDhlMDQ1ZjZlMTY3YWQwNjdhMzhjMmM4IHB5M2sKKzg0MTY3IGJkZDc2YWQzYmM3NmIwMTE2MDBhYjYzYWU4N2I2YzdmOTUxMjhhNjIgcHkzaworODQxNjggZWU3NjVhNjdjMGIxMWIxOTU0MmM1NjM1ZDcxMzFkOTE5OWEyYzc5YyBweTNrCis4NDE3MCAwZWQ3NmM3Yjk4NDc0YmQ2NDVlYzNiMTQ4OWM2MzlkOGE3MGE3ZTBhIHB5M2sKKzg0MTcxIGE4ZDhkZTIzY2I3Nzg1YzQwNzJhZDkxY2U1MTA2MmIwYzg3NGJkNmYgcHkzaworODQxNzIgYzcwOTM1MTQ1OGE2NmFmNjk5N2VkODU0MDJhZjQ1MTI3ZTYwY2QwYyBweTNrCis4NDE3MyBjMTMwZjQzMmYyNGEwMzliZjZiZWZmZGU4MTMwY2NkYjMwMzk3MDExIHB5M2sKKzg0MTc0IGNhNTU3OTQ4YTVjZjY3YjUyMDY0NDU3NjMyZDhkMzliNzE0MDJkY2IgcmVsZWFzZTI3LW1haW50Cis4NDE3NSA2Y2RhNWZkMGEzY2YyM2ZjMzk1ZmFkYTBhY2QwM2ZjOTNjNmVhOWIxIHJlbGVhc2UzMS1tYWludAorODQxNzYgYjg3MTI0NGQ3Zjc5Nzg5MGY3MGQ1NGMwZmJiMmI0NDUzMWE3ODNhZCBweTNrCis4NDE3NyA4Zjk3YzY0YjIzMzM2MjE2MGM0YjczNzU4NDhjM2NlZWY1YmFjMTUwIHB5M2sKKzg0MTc4IDc0OWMyMmZmYTM2ZWM3NTc3YmQ4MTM1Yzg0MTMzYThhM2FkYjU4NWIgcmVsZWFzZTI3LW1haW50Cis4NDE3OSBjMzcwODY2ZjMwYTc1YWE5ZmFjNjI2MzcyOWY4NDQ5ZmM0NzVkNDc2IHB5M2sKKzg0MTgwIGRmOTYxMDY0ZjgxMWNmY2QxOWQ5NDNjNzM0MDRlNzQ4MTdmYWJlZTYgcHkzaworODQxODEgMjNhNTk4YzAxOTExZjIwNDIwNWE0ZWQ3MTQwNmMyZTI3NWViMDUxNyBweTNrCis4NDE4MiA2ODdjYzg1NGNiNGJmZGY5YjQ5OGEzMDUzZGQ1ZTI1OTVlYjdhZjY4IHB5M2sKKzg0MTgzIGU2N2UwN2NiNTE3MWNkODk1Mjk4MjhhYjU3M2ViNTk4MzQ0YmQxYTkgcHkzaworODQxODQgMDVhM2RmZGEwNGZmYzZhMzI1Zjg5NjMxMzhmZTVhMTgxYzllN2U4YiBweTNrCis4NDE4NSA3OTBkNDg3ODg4NzRjNTE4MTIyNDhhOTVhMWVlMWU3NTdkNzdiMjVmIHB5M2sKKzg0MTg2IDgwZjk4YWYxN2RlZjg4M2RhNDM1Yzc3ZWJlODQ0MDc5M2YzMTIyNDMgcHkzaworODQxODcgMjI4ZTZmMDAxYWUxM2IxNDExZDkxYmYxNWM5MjRlYzRkN2U2OWU3MSBweTNrCis4NDE4OCA5YWRlYTk0NTU3NTM5ZTRjYzVjNmJkZmI2NjM3YWVhNWEyZTA0YWUxIHB5M2sKKzg0MTg5IGVhMGRlY2QyYWNmYjYyZDdiMDBkOTE3NTM3ZDQyNzZiNjc2MGFkMGUgcHkzaworODQxOTAgNGY4MzFkNDUxMjVmMGU1OTFiNjdjMmUyZjllZjA4NzkyYWU5MTY4YSByZWxlYXNlMzEtbWFpbnQKKzg0MTkxIDY1ZmUwNTliOTdiZjMzODkyOGIyZWY5OGZhZWE4MDA0OTIzNjdlNjcgcHkzaworODQxOTIgYWMxMmQ5NDhhODk1NzY0MjJlODE2ZWRhZmFmYzFhNWNmOWFjYjQxYSByZWxlYXNlMjctbWFpbnQKKzg0MTkzIGE5ZTc4ZjZmNjk0ZTY1YTk4YTYyNzljNTc5YTc0MzBmMzA3NDNhMmMgcHkzaworODQxOTQgMmNiMjY2M2UzMzY4OTBmNThlNjczMjBkZjg1YjRhN2FkMWRhNTAzZSBweTNrCis4NDE5NSBhYjg0YTBjN2Q2M2M2MGY2Y2Q1NDc0ZWYxZWE0Y2VhNGI4OTFmOTE4IHB5M2sKKzg0MTk2IGY2NzIzZDU1ZGU0YjZjZTcxMTE4Zjk0MjUyZTY5MDgwMWM1MWZhYzAgcmVsZWFzZTMxLW1haW50Cis4NDE5NyBkMGU5ZmViZmEwMGFjNzFhZjA5NjhmOWYyNDA4YjEwYWQyZDljZjk4IHJlbGVhc2UzMS1tYWludAorODQxOTggODU3ODA2MTQ3ZWU3MzQxZDZiNjM0ZGQ3ZGEwOWQzNzYwZTI0ZmE3ZSByZWxlYXNlMjctbWFpbnQKKzg0MTk5IGYyNDMwNTg1OTYzYzU4NDVlZTIxMWYzNGJhYjg3ZjZkMDhiMDAxODggcHkzaworODQyMDAgZjg3MTJhMDdiMGIxMTMyMTZjMThmYmQzOGY5YTI5MDQ1YzAzNjczZiBweTNrCis4NDIwMSAwODJlYWZhMDg4MDI3MjFmYTczNzI1YjhkZjc1MWNmMTg5Njg1N2FkIHB5M2sKKzg0MjAyIGY2NWJiZmJiODIzZmZjMWFmNDBlZDFmZTMwYTc3MTYwNDRkNjEzZjEgcHkzaworODQyMDMgMzhjZTk0N2MyOGZiNDAxNjEzYjE4ZDc0Mjk0ODQ1NDZlY2I3ZjE2OSBweTNrCis4NDIwNCA5MTU1ZGI2NTljMjBmZmYxZjcxZGI3N2I1NGIwN2Y4ODMxOTQxNWQwIHB5M2sKKzg0MjA1IGE0ZWM3YTZhNjg5NWU0ZTQ2Yjg4NGM3NWQ4NTg3NTAwMWQ3ODIwODQgcHkzaworODQyMDYgNWQzY2ExYzAxOGFlNDM0MTBlMDNkMTIwYTg1Y2JmNWJkZTEwMzZmYyBweTNrCis4NDIwNyAwNTJmNDJkMDIyMmZkOWY1OTAzNjdjZGQ2ZGQ3OTU4MmU4YmIzYTY2IHJlbGVhc2UyNy1tYWludAorODQyMDggNjYxNDNjMjM2ODRkYTNiZjU0ZjRjODljZWZkZGU4ZmYwZGQzYjEwOCBweTNrCis4NDIwOSA1ZmQyNmY0NTI2MDAwYWYzZWI5NTRiM2NjYjQwYWEzOWU2NDY2OGU3IHB5M2sKKzg0MjEwIGFmNGE5MWM5NDA3MTdiOTE2ZTQ2OTQ2OWNlMGQ3YWExNTc1NDRkMDkgcHkzaworODQyMTEgODhlODQzY2UxMTYwZTgyMGEzNGYzZTMwOWM2OWZmZDY0OWJiNjI4YiByZWxlYXNlMzEtbWFpbnQKKzg0MjEyIGJhNmZkZThhM2E5OTdkNTZkYWUwMmI3NzViODBlMDRiZTA5ODI4YjEgcmVsZWFzZTI3LW1haW50Cis4NDIxMiA4YzZjNzJiNmYxZWQwYTYxMDU1OWIwZjhjODNjNmIzYmMzNzc1NmZmIHB5M2sKKzg0MjEzIDU0YzljODZhZDEwNGIyN2FhNDY2NGJjYTk4ZGE1NTkyMmE5ZDVlNTkgcmVsZWFzZTMxLW1haW50Cis4NDIxNCBjMThlZWI5NjkxMDJmMjRhZDk2YWRlMzE2YjE0YmJmZGM2M2EzNDY0IHB5M2sKKzg0MjE1IDM4Y2VlYWUwZDFmMDc5NmYwMjE2MGYwMDM2ZjAzZDc1NWNkNjA3OGUgcmVsZWFzZTMxLW1haW50Cis4NDIxNyA1NDlhNDBjYTIwNzRkNzIzODg1NGQzMjkwMjk2YzlhMDMwNTlhYTkzIHJlbGVhc2UyNy1tYWludAorODQyMTggMzUyOGJhN2I0MzA1Y2E3NWJmN2EwNmMxY2QzMWExNmE1ZjE0YzM0OSBweTNrCis4NDIxOSBmMmM3ZTRiMWQ4MDQ1YzEyMzUxOGI3ZDZhZmRkMzA2MTQzMTQ2NWJkIHJlbGVhc2UzMS1tYWludAorODQyMjAgMzlkYWMwYTg4OTZhMjc4NmJhMTVjZTQ0NGNiMjc0ODUwYjM3NDk4YiByZWxlYXNlMzEtbWFpbnQKKzg0MjIxIDMwYTBkY2Y1YTNkOGE1ODFiNWVlMTI0ODQ3MjUwNThmOTY1ODgzZmYgcHkzaworODQyMjIgNWEyOTlkNzg1OTg3ODM2MTY3ZTIwNDZlZTgyOWEyMDEwNGIxYThkNSBweTNrCis4NDIyMyA4N2Q0NjhhZTNjM2MyY2Y3MTRlN2I4YTE4NWE0ZTU1YWU3NTY1ZGJhIHB5M2sKKzg0MjI0IGQ0ZTIwZjlmMTI3YTlmNGZkZTY5ZGRiNDVjNmE3NjQ3OWI5OGZkMTkgcHkzaworODQyMjUgYWI2M2M0NTc4YjFiZDE0NDE0YmVmYzgxMTA0YzM5NzRjNmRmNDdlNCBweTNrCis4NDIyNiA2NWNlOTkyMzY4OTc4NjU4NDY2MzExYzFmYWQ0NmEyMWE5ZmJiMzA0IHB5M2sKKzg0MjI3IGYzZGI1MDRjZGZiMWYzZjU1Mzg3OTFhNTRlYjc4MDQzYzhjYTE3ZDkgcHkzaworODQyMjggODM5N2YyZTAwN2ViYzI0ZTRlYWE0ZDcxYmQ2NGYyMzU3ZTNmM2Y4NiBweTNrCis4NDIyOSBmYTdkMWQ1ZDJhZmI2MDE1YTk3MzBhZmZmMzlmYjdhZGJmYTdmMzMwIHB5M2sKKzg0MjMwIDdkMmJkODk1NWVkYjgzYjA5NDg5MjhlOGI0ZDNmNjUzNTNjYWY5OWMgcmVsZWFzZTI3LW1haW50Cis4NDIzMSAwYzNkNzYzZjM4ZjE0MmE3ODVlYWJlNzcwOGJkODg1OWEzYmYwNzQ1IHB5M2sKKzg0MjMyIDlkNTkxNmFiNjBlMGYzMjQxMTE3YzllYjFjMTIwOTJmNGQzNDE5MzIgcmVsZWFzZTI3LW1haW50Cis4NDIzMyA5OTY2MDRjZGU0MWY1ZmU4MGNkNjg0ZWM5MWNmZDM3ODFlOTkwOTBjIHJlbGVhc2UyNy1tYWludAorODQyMzQgYWJjZjk1NzdkNWRiM2ZjNTU0ZDA0OTczYzUyZGUwZTIxZjkzOTk0NyBweTNrCis4NDIzNSAxZWZlODIzZTFmMTg4NWU3ZDBkMTdiYmM0MmE0Y2Y4YWVkZWI5YTMwIHJlbGVhc2UyNy1tYWludAorODQyMzYgYzRmNWQ5OGVlODdiMDNiMWU4ZjU3MjhhNjkwNGJlYmFmODQ5OWJmYSBweTNrCis4NDIzNyA0OTdhN2UyODRlNGRjOGUwMDM0MWRhMGNlNmY2MGU1NmQwOGJlNWM2IHB5M2sKKzg0MjM4IDJmM2FjODM0YjUzNjM0ZWViYTU4MDhmNTBhNTQzZDA5MGM2MGRiNWYgcHkzaworODQyMzkgYjE4YzgwYzY4NzU0MDBiZmE5YWM1MzE0YjE0OTEyNWVkZmJjNTVmYyBweTNrCis4NDI0MCBkZmQwMjI5NzQ4ZWZkNGMxYTY1YmFkOTFiNzlhZTZlZGJhNDA4ZGFjIHJlbGVhc2UyNy1tYWludAorODQyNDEgOTdhNWZiMWM5NmNlYjNlMTg1ZTQ4NDI0N2I5NTAxZTQ5MTlkNzdkZSByZWxlYXNlMzEtbWFpbnQKKzg0MjQyIDhlMTg0YThiYjAwZTY0OTc0MWEyNDYzYjg5MDdlYzY0NGIzZGZjZjkgcHkzaworODQyNDMgNDYxYTIwYWI0MzNmZWU0YjdiN2MwYzYyNWYxODllY2FmNTBkNmU0OCBweTNrCis4NDI0NCAzMDJmZTI1Y2Q2YjExODhmMmJiZDVmMDQ4ZDVkYjNmODdlMDE3OTU3IHB5M2sKKzg0MjQ1IDEwZGY5Mzg3MmNhNzMwNDIwMjc1YWI1Yjc4Mzg4NTk3MWNiMWRlY2IgcmVsZWFzZTI3LW1haW50Cis4NDI0NiBmNWRlZTMwY2NkMzlmZDUwZDg0OTRkOTA0NTY4YTViNDkzMDhkOWQwIHJlbGVhc2UzMS1tYWludAorODQyNDcgZjlhYjljOTJkYjhkYjI0ZGU2YzVlNWU5NDM1YTEwNDFjZjdlMmY0NiBweTNrCis4NDI0OCBhYWNiMTUyOTFkNTQ2MTBjZTMxYjc1ZjA4NGVmMjk4YjAyZTJjOTc1IHB5M2sKKzg0MjQ5IGEzNGJlMDNmNzA5YTM0OWI2MTFmMjNiOWQ2ZGNkNWExYTAzNjc2NGMgcHkzaworODQyNTIgMDFiMGE2Y2IxM2Q0M2M5ZWEzNWY1MmUwYzRlNTQ5MzUxMTNjODUyYyBweTNrCis4NDI1MyA2ZTBmZTFiODNmZjA5NTZkNWFjNTY1NDA5NzRhYmUzZDg0YThlOWFlIHJlbGVhc2UzMS1tYWludAorODQyNTQgOWM0ZTg1Nzg1ZDRlNGM1ZTk0MDY4Y2QyZTY4ODQyZGNlZjhmMzRlOCByZWxlYXNlMjctbWFpbnQKKzg0MjU1IDAxMzBlNTc0ZjViZTVhMzg3MjdkMzRlZDBjMGI4ZTUzM2YwMTM5MTQgcmVsZWFzZTI3LW1haW50Cis4NDI1NiA3ZmYzZmE0Mjk3MjE4M2E1YmEyMmQ0NWJhOTk5MDRkNGFlYzk1OGVkIHB5M2sKKzg0MjU3IGE1YTU4NzIwNTBlMzAzODRkZjg2Nzk5NzgzN2ExNjM4NWY3ZGE1MzUgcHkzaworODQyNTggYjAxN2E0ZWY3Njk0ZmFlYTkzY2Q0YzBiMDUyOGZlZTBjNzEyNTdiYyBweTNrCis4NDI1OSA0YWNmYTNmZTZhNWViNTJjMTUyYmVhZWRjYzZkN2Q2MmYzZTljZDE1IHJlbGVhc2UyNy1tYWludAorODQyNTkgZTQ5YzUzZjc1MzVjMDhkNTE3NmE4MTgzZjgwOWFlNjc4YzRjYThlYyBweTNrCis4NDI2MCBlODE5MDZlOTJmOTlhZWRlNjY0MGE2NTBmYzc0NTZkZjg3MWVjNzI5IHJlbGVhc2UyNy1tYWludAorODQyNjAgNmFiNjU2NzY1YmNhMzg3Zjc1ZDI2YWI3NGY4ZmFmYmJlOTBiMWY0YSBweTNrCis4NDI2MSAzNTMwNGMyZmU5ZTBiYjg4MTMxYTA1YmEzMGE2OGQwODM5OTUyYzQ1IHB5M2sKKzg0MjYyIGU5MTg0OWNkMDY2ODlkZGUzMTc1ZjEyYmQwMmY5YjQzNmM1NDg0ZjkgcHkzaworODQyNjMgZjJlOTFlMDhjMWM1N2YwYWUwM2FmZjg1ZGI4MzQ3ZjBjMjBkOGQzMSBweTNrCis4NDI2NCAzYWNkODZmOGM1NTI0NzNhYjliNjI2YTk5NDE0Y2I0YjIwYjEyYjAzIHB5M2sKKzg0MjY1IDFjODgzNGYzY2RiOTYzODc3YzcyNDQxYWM5Mjc5NDExODRjNzVmYjMgcHkzaworODQyNjYgNTk0OGU0OGZiZDg4MGNkMTRlZTRkOTg0MjBhY2U5M2Q3ZGMyOWRkZiByZWxlYXNlMjctbWFpbnQKKzg0MjY3IDhmNWZhZjU2OTZlN2FmMmUxMTgxMzdlMTViNGI2NTljYmM5ODgzODQgcHkzaworODQyNjggMDJlMmQ5ZWFiNzMwMTk5YzViYWE5NDYxOTAyYjMwMjZkYzY2ZjVhMCBweTNrCis4NDI2OSA3MTZkM2QxMDJjMGFhMTI2ZDU5MWE1OGQyOTRlMWMwZWU5MjNhYTUxIHJlbGVhc2UzMS1tYWludAorODQyNzAgYTQxMmNlZWVmMGYxZWViYWM3ZmU3ZWVhN2Q4ZDVjNWRhOGRiODVjMiBweTNrCis4NDI3MSBjZjM5OWRlMTJiNTQyN2Q3YWJmYmQ5NDRhMWNjYjNjZDVlNWZkZDQ4IHB5M2sKKzg0Mjc3IDdlMWUzNDNiNzA4YjE4MmY3ODc1YzQ3MDM3NTNmY2Q0YjM2YzI1ODMgcHkzaworODQyNzggYWEyNWI4Njc3Y2MzZjc5ZDRiNTM1NGY4YmNhY2QxY2ExMGZmZDg4NyBweTNrCis4NDI3OSA1MWEyNGE5MTU0MDg1OTNiODlmZDEwY2ZhMzI5YTYyYjM1NGNjYjY3IHB5M2sKKzg0MjgwIGI1MzVjZGU5MzI3MzgzZjgxZGYwMmVlYjBkMDhiZjcxNmJkYzVhOGEgcmVsZWFzZTI3LW1haW50Cis4NDI4MSAxYTA4NTk2MjM4ODJmNzFkZWVmMTZmNThmZGYwMDQ2MjE3NjhlMDgxIHB5M2sKKzg0MjgyIDQyYzcwZjE3YzJmZWRlNjExNjEwODU2OGE3NWIwZWVjMDhiM2M3M2EgcmVsZWFzZTI3LW1haW50Cis4NDI4MiA5ZDRkYzU4NTVjNTE1YjgwNDUyOTNmMWI0MGE2ZGRjOWNiMTE2MzAxIHB5M2sKKzg0MjgzIGJhNTM2YWM3YWI0ZTRkYjAyODk5NmViZTliY2M1MTIxNTlkMmRiZGEgcHkzaworODQyODQgZTc5YmE1NTU5MjJhMTY4N2JiNzE5ZGJmN2RiOTI4NzhjYzgxMmQyOSBweTNrCis4NDI4NSA3NmU5Y2Y4NDU2NzYwMmI5MGE3YzRhNzcwNzY1OGZlYjI0NDRlYWViIHJlbGVhc2UzMS1tYWludAorODQyODYgYjk1ZWMxNzFmNTAzNjQzYzdjOTZkMmNiYTIxNGVjMGEwYmNhOGRkNiByZWxlYXNlMjctbWFpbnQKKzg0Mjg3IGVmYWE0N2U5MmE4ZTg3ZTAzMzMzMjg2OTU4MmVlNDlmMGFmMmUzMmIgcHkzaworODQyODggNzg5NWM0NTUzYmY1NDQ5MDY3YzUwZmVmZDg5MDRjNzc4MmNlMTE3YiBweTNrCis4NDI4OSA5MGJmMjI0MzU1MmQzMzQzYTY1ODM2ZjVjNjU3YzQ5MmY3Mjc1MmJkIHB5M2sKKzg0MjkwIGUyYmNlMWM1OTZiZWIzYTllY2U3YWEzZjhhN2YxYjdiNDcwMGNiNzQgcmVsZWFzZTMxLW1haW50Cis4NDI5MSBlNzE2YWEyMDk0ZmE4ZDk2Y2IzNzVkMDY0MzYxYTY5ZTUzYmM0ZWQ2IHJlbGVhc2UyNy1tYWludAorODQyOTIgOWY4NzcxZTA5MDUyNzdmOGIzYzI3OTkxMTNhMDYyZmRhNDE2NDk5NSByZWxlYXNlMjYtbWFpbnQKKzg0MjkzIDZkYjc4MzViMGE5NWFmYzFkNGYwYWU5ZjE3Mzk0OGI4NTRlN2JhMGUgcmVsZWFzZTI2LW1haW50Cis4NDI5NCAyZGU5ZDQ0NTcwODIxMjNkOTAwOWE3ZjI1ZDBkOTRjY2Y2NWI3MjUzIHB5M2sKKzg0Mjk1IGMxYTgzZjJjNzA4NzU3ZGRkMmNmMmIyMWFiMDlhNTEwNWFkMGZlYzkgcHkzaworODQyOTYgZDRhMWY5MTQyZjdhOWQ0NzdlYTc4NDJmZWQwYWM2M2Y4MjFmNGE4MiByZWxlYXNlMjctbWFpbnQKKzg0Mjk4IGRiMjkzNjBjYWQwZmFjM2E2NDk5M2I5ODg2ZjE0ZGY3YTE3YTJiYzIgcmVsZWFzZTI2LW1haW50Cis4NDI5OSA0YjEyOTZiMjYyY2E0YmVhZmM1YWM1N2NlYzgyNDk3N2M2NDQ4ODU2IHB5M2sKKzg0MzAwIGY5MWYyOWVmNGVlN2I1ZjVlY2ZiYzkwNWUyN2Q5YWZhOWEwMDk5N2QgcmVsZWFzZTI3LW1haW50Cis4NDMwMSBjMWM0ZjhmODUwNzBkYTRkN2I2OWFlMzZlOWUwMTIxYzkwNWUxNWZlIHB5M2sKKzg0MzAyIDhmZTM2ZTJiOGVkMTNjMjIyMmZkMWQ1YjdkN2U5ZGEwOWVhMTk4YTEgcmVsZWFzZTMxLW1haW50Cis4NDMwMyA4MGE0ODE0ZWNmNWQ2NTIxZDYxY2U2MDBiNmFhNWI2ZDY5OGRhMWMyIHB5M2sKKzg0MzA0IGJlNzZiMzdmZTdmZDg0MDlkM2QyZjI3ZjI4MmU5YjQxZWMzZDgxZmMgcHkzaworODQzMDUgNjE4MGY0NTY0NzE0ZGIxMzNlY2ZkMjUzN2EwZDZkZWYzZDhlNjExMiByZWxlYXNlMjctbWFpbnQKKzg0MzA2IGY2NWU5YzE1OGMwNDA2MjNhOTY3YmU1M2IwNGVjNjQyZjQ3NmRhZGUgcHkzaworODQzMDcgODY3Njk5YzliNjNmZjU4NDVlYzAyZjE3NDRlM2U3NmRmZDcxODUxMiBweTNrCis4NDMwOCAxNDg4Y2QxMDNkN2I4MjE0ZjdhMTEwMzAwNzQwZmVmNmZjMzVhZDVlIHB5M2sKKzg0MzA5IDFlMjNjM2IyZTIzMjU5YTkwYTkzYmY0YmNmNTU1NjBjNWQwY2JkZmMgcHkzaworODQzMTAgODdiZGY1M2ZmNGJiZmNhNDI5OTY1MzBhN2YwZTlhODViNTQzMzFjOCBweTNrCis4NDMxMSBmNmIzZTY0Yjc2MjA2NzgwMjg2YmIyNWYzNWI0ZTMwZDZlOTZmM2JmIHJlbGVhc2UyNy1tYWludAorODQzMTIgMDUzZmY2NWJlNTRjYjM2M2M1YTI4NDgxNTZmYTIzY2I3NDI3MDBiOSByZWxlYXNlMzEtbWFpbnQKKzg0MzEzIDJjY2QwNDNhYWQ1YzEwOTBhYzU5NGIzYzk2YTkyNzQxNDcxZTJkYzAgcHkzaworODQzMTQgODcwMzdkODM4MGJmNGEzOWVmMTM3ZjFmNDA4ODQwYjkwZDY5NjNhNiBweTNrCis4NDMxNSAzYWM5YTM3ZTQyOWJhNjI3OTFhZmEyNmJlZmYyYTQ5ZTYwMzM2ODM3IHB5M2sKKzg0MzE2IDk0YzBmOTc5MTdkZGM2OTI4MTc4ZmY3MmQwYzIxZWJhZjA3NWE4ZGUgcHkzaworODQzMTcgMDQ4MmIzMGNhNDY2MjkzZWU4MmNiYzM1NmMyMjVjODU5M2M3NjkwZCBweTNrCis4NDMxOSBhZWZiYTg5OWVhZWViNDI0N2ExYWYyZjJhYmQxMTM5YWRjNzQ1YjQyIHB5M2sKKzg0MzIwIDgzMzAzNDZiNWM1ZmE4YjZmZWI5NGRlYzg0OWZmYTcxMGQxODJhMmMgcHkzaworODQzMjEgZWJmYjk0ZjJjYmMzNTY0Yzg5MmM1ZGM4NmEzOGE4YjA5M2Q1NTI0OSByZWxlYXNlMjctbWFpbnQKKzg0MzIyIDE5MDM3NTQ0NTI0MTk4NmEzYTg0N2M4YTRkNzhlODE0ZWQ1NGEwYWQgcmVsZWFzZTMxLW1haW50Cis4NDMyMyA2NTUyMDU1NjI2OTUwMWUzOWZkYWRiODMwZjI3NGRjZGZlMjZjZThkIHB5M2sKKzg0MzI0IDc5MTVkMjY2ZWUyYjI1ZGNhNDY1ZjcwNDY1MmQzNGUxOTIxYzAxNTIgcmVsZWFzZTI3LW1haW50Cis4NDMyNSBlZDgzZDU0NjMxNWQyZTBhM2FiM2UwNjA1ZmEwNTM2MzZkODlhYzNlIHJlbGVhc2UzMS1tYWludAorODQzMjYgMzI1ZDAxNmMxOWY3MWY4NDc0MzkyZGNkNzA2YjY3ZjlhMjY4NTdhMCBweTNrCis4NDMyNyA5ZDRhZmQ4ZTg2MjExNTRjMWY4ZTY5NWI2MDJmOTRmNWM0MTAzYjdkIHB5M2sKKzg0MzI4IGRlYmMyODQyYjRiMWJmOTRjODQ2MDgxODIyMGU0MTA1MTliYjAyMzEgcGVwLTAzODQKKzg0MzI5IDAxMTJmMDY0Y2VkZmFiMmFmODg3NWE1ODlhMGM1Y2YxYjQ3NzkxOTIgcHkzaworODQzMzAgZDBiNDYwYTQ3ZjdmZmE1OGRmOThkNWM2MTA0MjFlMGU3NTJkMWZmMyBwZXAtMDM4NAorODQzMzEgMDkzYTA5NWFhNzRjNjQ4OTk5NjY0YjhmNjdmMDg5YmVkODg0YjQyZiBwZXAtMDM4NAorODQzMzIgMWFiYTczMzlmYTZjMmI4OGU1MzVlYTFmMWNhZjQ5NTBiODZjZjg4OCBweTNrCis4NDMzMyBjYjFmNWQwNTQ1MTBlNDdhNGNiMzA2OTM2ZjIxYTNiNTVhNjE1MmQ5IHB5M2sKKzg0MzM0IDM0ZGZlZTU5MGEzMDcxYjFlZmZkNDA0YzYxZWIyYzJhYjI1MzExYjAgcGVwLTAzODQKKzg0MzM1IGQ3MTYyMjA3MzE4ZjY3Y2IwOGFiNDhmOTJlODdjNzM5YWI0ODEyOGUgcGVwLTAzODQKKzg0MzM2IDMzYzRjY2FmYzRmNTM4YTEyY2Q2ZGFkMmM3M2I4YzI4YWY1OWU2OGUgcGVwLTAzODQKKzg0MzM3IDlmYWMxOTcwZDM4MDZmMjNiNTgyN2MzZGFjNTJiNTQ2Yzc2YmU3MGMgcHkzaworODQzMzggNzhlNDAzMTZlMDIzNDZhZmM2NzdmOWQzNWFhNDc4OTAxNWExMDM3MSBweTNrCis4NDMzOSBlYWFlMGRmNmQwNjMwZTE1MjQ2NTFiYzBjNmZlZDNmY2NkZjMyYjY4IHB5M2sKKzg0MzQxIDVkYzA2YTA1OTYzMGFkYzM2ZmNlYmFjODFkNTlkM2JmNTJmYzAxNTYgcHkzaworODQzNDQgMDI2NWQ1ZjdiZDA3MjE2NmEyYjgzYWI5NDY5M2M4ODY1YTNkMTc4OSBweTNrCis4NDM0NSA0Yzk3OGNkMzY0MGZjOWU3YzQ0Nzk0Yjk2NGJjNTg0ZjM4YWNmZGY1IHJlbGVhc2UzMS1tYWludAorODQzNDYgYjJlOGRjZDE1MDQwMzQxZmNmNzYxOGQyMWEwNjBlZjUxODQ3NGY2NiByZWxlYXNlMjctbWFpbnQKKzg0MzQ3IDhmNmU0MWMzYTIxOGE5OGYwMDI2ZjUxMzNjMWY5YWVmODcwZjVjZGUgcHkzaworODQzNDggNWM4OWY5NTcxYmE1NDkwZWM0NjUyMWZiNzI5ODBjMTFiMTIxZDNjMyByZWxlYXNlMzEtbWFpbnQKKzg0MzQ5IDNlMjBhYmQ3ZGVmNmUzNjAwOGJhZDVhNDBiYTc5MzBkOWNjOWE0ZWQgcmVsZWFzZTI3LW1haW50Cis4NDM1MCA0YmIzMTdlYjQ5NmEwODc1N2EyYmNmZGM4YjU1YjIzM2Y5ZGQzNTg2IHJlbGVhc2UyNy1tYWludAorODQzNTEgOWNiYTk5MDY4YzU0YWE5ZmU4ZWNjZWZiOGIxYjQ1NmM2YjQwZjViNiBweTNrCis4NDM1MiA5Mjk3OTc0NjA0ZmZkYjMxOWE5ZTZkOWYxMTg0YWUyNGVjNjFiYWY2IHB5M2sKKzg0MzUzIDkxNWRhOWYyZGExOTllOGI1NGE0ZDU0ZGEwZWZiZjgwODg4NWFlMWIgcHkzaworODQzNTUgODBkMmU3ZDFkN2Q1MzRmYTQ2NTkxMmNhYjRhYzQwMWY0MDliNjA2NyBweTNrCis4NDM1NiA5YzUxZjM4MzY1NjMyYTFiN2I3ODVhMjc4ZDUxNGIyODE2ZWEwZjBhIHB5M2sKKzg0MzU3IDcyNjcwNWQwMmFkZDIxZTZkMmMxYmM1NTA3YWYzZDM2YzE0NGNjNDAgcHkzaworODQzNTggZWZlOWY2YzhhMzFkNGZjODBkNTM3MWViZjg4ZDA1Y2VmYjNiMGY1NiByZWxlYXNlMzEtbWFpbnQKKzg0MzU5IDhhZDU5YjUyM2ZkOGEwNjQyNmY1NDBkNWQzNjE3MmJlMWNmNTFlZDUgcHkzaworODQzNjAgZTFkY2RjYjUyMDFkNDg0ZjhhMGU1YWNiMzg1NjFmZjg0ZTM4ZTIzOSBweTNrCis4NDM2MSAyOTQxMDFmNzdjYmVjYTRhMWE3OTE0NzM0ZGYwYmU4NjA2YjRmNjU5IHJlbGVhc2UzMS1tYWludAorODQzNjIgZTZiNDU2ZjkzNDQ3YTEwMDVjYWIxZjQ2Njg1YjUzZmZkM2MyZGY5NiBweTNrCis4NDM2MyAwNDBlZTk0YTkzNTBlYTI0Mzc4MDIwNTBhMjNiMzk4YjIyOTdlYWUxIHB5M2sKKzg0MzY0IGZlNzIxNGJjNmQ2NmIzMzlmZjFmZjMxYTFmYzZiMWU5ZDM3NzliZjkgcHkzaworODQzNjUgYTQ5MmYxYWMwNTc1NDc5ZTZiOGVkYTcwZWQ3MTU3ZDA3ZjAxMzZiOSByZWxlYXNlMzEtbWFpbnQKKzg0MzY2IDUzNzBkODFhNWYyZDJiMzAwNGVjODM1ZTJjYzZjOWNjYjkwNjQ3YjIgcHkzaworODQzNjcgMGE3ODRmNmFjYWU3NjgyNGNhYWEzNDU2YjE2YmNhYTJlNzZmNDdhMiByZWxlYXNlMzEtbWFpbnQKKzg0MzY4IGY5MjA0M2M3ZmY5ODQwZTM4YmQ2MjJhY2ExZDUxYTQ5YTE3NDM0MTQgcmVsZWFzZTI3LW1haW50Cis4NDM2OSBlYTg5M2RiMjNlNzM4YzYwODhjNTA0MTQzN2ZlZTFiNGE1NDkxYTBlIHJlbGVhc2UyNy1tYWludAorODQzNjkgNDc0MzczOGNjYWZlMTdhYzllNWEzY2U2ZDM0MzFkODFkODg3OGIwZSBweTNrCis4NDM3MCA4NDg4MzYwN2UyMWE0YjFhZmVhZTQ4YmU4MTYyNTk2MDQxZjQ5MmMxIHB5M2sKKzg0MzcyIDdiMmQwZDc3ZTRhYzZlNTQ3NzNhZTk4Njk5MGM0MjRmNGQwNjNhNTMgcHkzaworODQzNzMgODAzODkyOTMzM2E5Yzc4MjliNTcwMGQwODVmZTJmMWQxZjkxMWJjNSBweTNrCis4NDM3NCAwOGY3YWUxMGNjNzkyYWVhYjA4ZTk2ZDQyY2VjNTFlOGJjOWZiN2E4IHB5M2sKKzg0Mzc2IGNhOGY4YzZjYzJiMWIyODE3ZTE0NGM3NzBjZmY2MzI5Njk2OTczZmYgcHkzaworODQzNzcgYWMzN2EyOGRkYzhmNDliNGE5YjRhN2VhODY3YmRhNWY4MDlkN2JjYyByZWxlYXNlMzEtbWFpbnQKKzg0Mzc4IDE1NzBmNmU5YTY4NzQ1OWViN2VlZjRlMTlkMjZhNDEyZGFmN2RjODkgcHkzaworODQzNzkgZDUwM2Y3YTQ1NDU2NmI5NDhiYjFjNzZkM2Y1YmFmZTU4YWU0ZmJmNSBweTNrCis4NDM4MCA2MjkzMGNiMDVlZDhiOGExNDRhZTIyZTM1YjBiMDg2ZjkyNTRhZTQ5IHB5M2sKKzg0MzgxIDAzMjY4YmY5YTI1NjRmODRmY2YxYzg1OTI4MzEwMDhlZjcwMzJmYzAgcHkzaworODQzODIgNGYyOTA1ZWE3ODA5NjczZjA0NTJmMzJmOWQxZDJiZTVmOThjMWE4NiByZWxlYXNlMjctbWFpbnQKKzg0MzgzIGEwZTc1NmQ5MmQ2MDA2MTBmOWJiODE5YzVhM2RkODYzMDM3M2JkNGMgcHkzaworODQzODQgOGMyMTYwYjVjODFhZjdhODgyMGVmNjRjOWM2MThiZmIzMzBkNTI4MCBweTNrCis4NDM4NSA5Y2E4M2M2NGY3N2FlMTU1OTI2ZDJmMGE2OTU0ODZlMzJhYmQ4YjI3IHJlbGVhc2UzMS1tYWludAorODQzODYgMmU1NzYxNWU2MWYwZjFhY2E2ZTUxNzg2OGE2YjU1Y2FiMWZhMmM5NiByZWxlYXNlMzEtbWFpbnQKKzg0Mzg3IDlmZDMyNmFmNjJkNDVjOGRjMmFjNjkwMzIyOTJjYWFkYjgxYmYwNWQgcHkzaworODQzODggNDk4MGIzZTllODRhMTgxNDliNmJmYjcwZGM4YzY3MzM4YzEzYTkzOCBweTNrCis4NDM4OSA3ZTlhYmQ1M2I5Mjk4ZTcwZmY2ZTRhY2YwNjhiN2RlMjJmZTBlNjc4IHB5M2sKKzg0MzkwIDI5NzNkYWE0NzI0YjFlZDZhZjNkOWViZmI5NGVjNWE5MjE5NTRjNGYgcmVsZWFzZTMxLW1haW50Cis4NDM5MSBkMjQ4NzBkMDBjNDI1OWY4MGM3NzY0Y2YzOTM2YjIwYjYyMmQ2MmIzIHB5M2sKKzg0MzkyIGIzYjhkMDhmOWQwNmVjZmJkODM2M2I0YmIyODViMGIwNjI1NTA2YTcgcmVsZWFzZTMxLW1haW50Cis4NDM5MyBkYTE5ZDAyYWFhYWEzZDZmYjc4ZTBlOThhM2FiOGZmODk5NTBjN2JkIHJlbGVhc2UyNy1tYWludAorODQzOTQgNWEzMTAxZjU1OGVkZGUzNDNhY2M0NDM5YWRkMGU0MDllNTgyNGI5MSBweTNrCis4NDM5NSA0MTM0OTgxNzQ2OTc2OGY3ZjJjMjhhYjBjZGZmMjU0ZDlmZmYzZTM4IHJlbGVhc2UyNy1tYWludAorODQzOTYgM2QxYzcyNjJhYTE0ZGNjMzg3OGRhNjQyOTE3NWE1YTFkMTg5Mjc5ZiByZWxlYXNlMzEtbWFpbnQKKzg0Mzk3IDk0NDIzMjUyMTYyNGJiNzhjYjEwMWY4M2ZjOWUzMmJiODFhMjE1OTkgcHkzaworODQzOTggZDg1MGMzN2I2NmI2ZjZmZDMwNzVhNTZkMDI5Nzc4ZDJlM2MwNDhkMiByZWxlYXNlMzEtbWFpbnQKKzg0Mzk5IDA2MWUyNzAzMmU2MTkzNjMyZmRjZmE4ZjVkOTIxZGU2MzNiMDY2YWMgcmVsZWFzZTI3LW1haW50Cis4NDQwMCAyZGMxN2RjYzk3MzQ2OWYyOWZmYWYzZTMyZTAzZjllYmVkMTUyZWM3IHB5M2sKKzg0NDAxIGRlNDIwN2M5YjljMTI4ZDgyNjM4ZTZjODg3MDc3ZGU5MGM1MTdlN2MgcHkzaworODQ0MDIgMzA0NWViOTQwNTk3YmMyYzQ0YjI0NWU0ZTc0NmNlYjQ3ZDA3NTFmMiByZWxlYXNlMjctbWFpbnQKKzg0NDAzIGZhOGI1N2Y5ODdjNWYxNWI4NDU5NDYzNWUwN2QyYWFhM2Y5MDM0NTIgcHkzaworODQ0MDQgZDY2ODA3YzUwMzhiZmI2NmY0ZjMzMzU4MGM4YTdmOTZiZTIwNDFlZiByZWxlYXNlMzEtbWFpbnQKKzg0NDA1IDZiYTAzMzIyYmMyMzNiYmRkMjgzNWNhNjY4NWRjODc0OThkMzhmMTEgcHkzaworODQ0MDYgMDYzYjU1NGQzMTUzZjM2ZjZlZTQ3YzZjNDFiNWQwZTAxNTZlZjE2ZiBweTNrCis4NDQwNyA0ZDhhMjVhNGQxZjYwODA1ZDgyNGMxNDA3ZGIwMDYyZWFkNDRhZTZlIHB5M2sKKzg0NDA4IDkyNWU5MTEzZjBhYWVmZjEzYjYzZGVhN2Y4ZTgyZTQwMmRlMmU0NmIgcHkzaworODQ0MDkgN2EzOTViY2VhYzkxYWYzNjBkMzNiNTgzMzk5NDRhMzcxYzg3NzUyOCBweTNrCis4NDQxMCA0NTQ3YjE0OTExNjkwMzdjMGRmNTQyODJmNmE0NTA0M2UzYzNmMDJhIHJlbGVhc2UzMS1tYWludAorODQ0MTEgZmE0ZDc4YjllM2EyYTZiODRiODQ1OGVhZDcyZDU3Zjc0NDExZjE1OSByZWxlYXNlMjctbWFpbnQKKzg0NDEyIDYxOWFmYzgxYzk3MzFlMTVkNWUxZGIyZjhiNTU1M2JiYTJlMzQ2NDcgcmVsZWFzZTI3LW1haW50Cis4NDQxMyBmYTk0OTUzMTZjYTkwMGQxOTE3NjE3NGQxNmJkMDBkNjI3YjdhMWM0IHJlbGVhc2UzMS1tYWludAorODQ0MTQgYTNiNjQxOTI5NmU1ODRiZjdiZGE1MjkwMTJjNTE1ODQ5ZDc5N2Y3MSBweTNrCis4NDQxNSAyNWVkYjZmNDM4YjkyNmQ5OWM5MWQ3ZTkzYWJiMzRhMWQwN2MyNDVmIHB5M2sKKzg0NDE2IDUzOGFlNjIyNGE1ZWI1ZWZlZDk4ZjdhNThmZjk5ZjZkMDljYzEzMDYgaW1wb3J0X3VuaWNvZGUKKzg0NDE3IGQ3OTIxNmZjMjFjZTc1MTE5Y2I5N2ExYjUzZGIxNjZmNDQwYzZkNzEgaW1wb3J0X3VuaWNvZGUKKzg0NDE4IDgyZWFjM2MyYzY5N2RmMGExMGJiMmYwZjY2YTJiNGU3YjI1ODdlODUgaW1wb3J0X3VuaWNvZGUKKzg0NDE5IGVkM2Q4NjFjNDkwY2EyZmM3MDQzZGQ3MTk0MmVjNTRmZTU5MTc2MjcgaW1wb3J0X3VuaWNvZGUKKzg0NDIwIGEzOWJhN2FjYmUyODcwNGEyODIxNTk0OTcyMWJlNjZkZDZmZjkzNWEgaW1wb3J0X3VuaWNvZGUKKzg0NDIxIGU2NjBlN2JkNzk5ZDcwZmNhN2E3MmZhMzRkOGY0Y2Q4MjNlODIxNmIgaW1wb3J0X3VuaWNvZGUKKzg0NDIyIDgwNjQxYzdhNmY0ZjljMjRmZmVmZWNhYzA3Njg0NzE5YTBkYjRhYjEgaW1wb3J0X3VuaWNvZGUKKzg0NDIzIDNkNzg1MmI4NjEyODRkOWM2NzE3YTVlZWI4NTA5NDYwZjU0ZGExNmUgaW1wb3J0X3VuaWNvZGUKKzg0NDI0IGIyMWZkOTRmNGZiMzdiMzM4MTg2MzhmY2NmMTAzMTIwNTlmOTQ3MzUgaW1wb3J0X3VuaWNvZGUKKzg0NDI1IGYwZDBhMDcwZjEyOGYyYjcwZmFmZDhhMzUxN2ZhZWY0ZjRhNWJjMWYgcmVsZWFzZTMxLW1haW50Cis4NDQyNiA5M2Q2YWQ4NTIzNTM0MWRmYzIxN2NkOGU0ZDdhYTdlNjc1MWY0ZTMyIHJlbGVhc2UyNy1tYWludAorODQ0MjcgODIyMTFiMTg1MGQ0ZGEyYmMzZDcwMmYxNmE0ODU4Mjk1ZTQwY2RjMyByZWxlYXNlMjctbWFpbnQKKzg0NDI4IGRjYjJhYTQxY2Q3ODBhMDAzY2Q3ZDEwZWQyZmI1NWI2YjEyNTliMmIgcmVsZWFzZTMxLW1haW50Cis4NDQyOSBhMGQ4ZGUwNGMzYTgyODUyYmI4NzdmYTcwMjRkZjY1MTdiNmI4YmUwIHB5M2sKKzg0NDMwIDFmMDRiMDA3NmZkODE1ZTM5NGQ3YmM0YmY3ZjBmNmFiMGFiODYyZjggcHkzaworODQ0MzEgYTdjYWRkN2IzNGI1MjZmMDI3NTdkMzQ5YWEzNjlkYTUzZmEwNDU1MyBweTNrCis4NDQzMiA0N2I5M2NkYTkxZGY1YjJiZDJjOTdkNzA0ZTAyYTYyNWY4YmM2ZGZhIHB5M2sKKzg0NDM0IDgxYTlhYzczZDYxOTYzMjlmYjIwZWQwOGMwMTRlMWQ5NDk5M2ZmNTUgcHkzaworODQ0MzUgMDI2MGUwNGQyY2ZjODI5ODkyYjgyMTg4NTdlOTZhY2M0OWQyZTYxYiBweTNrCis4NDQzNiAxMWZjNzk4YThiNDMyNzIyZTA5ZjZiYTBiNDc4Mzk2YTk0Y2MxMTE5IHB5M2sKKzg0NDM3IGJkNzQzNWE4NzA4YjYzN2VmMmZhMmI4YmZkNzM1ZDU0ZGJiMDlmZDEgcHkzaworODQ0MzggNTVkYjYwZmNhYjU0MjQyNzBiNWUxNWVmNWY1NWIwYmM2NmY2MWEwZCBweTNrCis4NDQzOSBiOGNmYmJmZTE4MzkwNjdlNzVlMmU3M2UxMDgxYWI0NTU3MzAyYzAyIHB5M2sKKzg0NDQwIGQxYzZiMWFiNWJhNzg1NDA4MTcyNGVhNWQ2ZWM5OGExNzc1YjExMTEgcHkzaworODQ0NDEgOGI5NGYxNWNiNjUwYmExYWFkZWIyNTkyMDBmNzM2Y2IxYTBmNmJhOCByZWxlYXNlMzEtbWFpbnQKKzg0NDQyIDRhZDdlZmQ5MDliY2U5NGJjMmZhMWVlYzMyMzY0MTM0NGQ0MDY2YTYgcmVsZWFzZTI3LW1haW50Cis4NDQ0MyAxNmNlZmRmZWQ2ODIwZDJjNTY0NzYyMTk4ZTE0OGRhYzI5YmRiNGQyIHJlbGVhc2UyNy1tYWludAorODQ0NDQgMTZkOGE0ZTk0ZGQwODcyNDk2MjJhZjliM2RlYTg1ZjU1YzYwNWVjOCBweTNrCis4NDQ0NSAzM2NmYWEzMmM4ZTgwZTc1ZWM1OGJlOWRiMjViMjE4NjJhYzhjZWRmIHJlbGVhc2UyNy1tYWludAorODQ0NDYgOGRiZDMxNmJlYmRmOTg3MjUxZGNhMjJmZTJiNjA0NzRjMDllMmNiMCByZWxlYXNlMjctbWFpbnQKKzg0NDQ3IGQ1NmIzY2FmYjFlNjU1ZWZiODFjODU2ODg0NDllZGIyZTYwOTc5N2QgcHkzaworODQ0NDggYjY1ZDAzNzFhNzMxNThiNGI5NmU2MTdmMjgwODkwM2ZjNTk2MGUyZSBweTNrCis4NDQ0OSBiOGVlODA4NjNkNjNmYWI4MDdmZDdjMzlmNTlhOWNjY2JlYmEzYzU1IHB5M2sKKzg0NDUwIDdkMTc1MmQ2MjA1MGM5YTMzNjBmZTg0OTI2ZWIwOWMzYmNjMmZjOWYgcHkzaworODQ0NTEgNjMzMTY2ZDRmYzEyYWQ5MmE3ZDhjMWM3OWU4ZjNhYjdkMWVmMDRkNCByZWxlYXNlMzEtbWFpbnQKKzg0NDUyIDgzYTZmZmYzZjY4MzM0ZmQ3Y2JkYTRjMzE3ODFjMTAyNTExMzZkNWIgcHkzaworODQ0NTMgMTI3MDQ1MWY0NjA0OWQ3YTlkOTE2NmVjM2JjMDNiZDBiMTk0YWU4MyByZWxlYXNlMzEtbWFpbnQKKzg0NDU0IDM1Njk5ZjM4N2RhNmU3ZDJkNmRkNjc2YjE4YzY0ZWMwYTcyOTI0YTcgcmVsZWFzZTI3LW1haW50Cis4NDQ1NSA5OGYzMzdhNjk1N2MxM2M5MDhlZGEwYjllZDRkNzNlOTUyYjU4Yjg2IHB5M2sKKzg0NDU2IDcyNjQwZTcxMTM0NDE4YTcwMDY1YTc1NjM0YmMxZGU5ODQ3ZGE4NmUgcHkzaworODQ0NTggNWUzM2IyN2M3MWE4NjE3MjE5NzU5MzRlOGJmZTNjMDc1ZGYxNmIzZiBweTNrCis4NDQ1OSAyMDI3NDdkYWUzY2ZhZWI0ZDY4YjA4MTgxMTI0ZTAwMjYzMzQ4MWZmIHB5M2sKKzg0NDYyIGJhODdjYWVlY2I5MTRmN2IxODM2Njc0NDhjOTcwYTY4MzY3NWQ3NzcgcHkzaworODQ0NjMgYjdjYjI3NzczZTcyOTFmNWYwNjQ1MGI2YTAzNTZlMmUyZTZjMDVjMyByZWxlYXNlMzEtbWFpbnQKKzg0NDY0IDcwMDE5YzVjZjM1ZjhlYzdjYjNmZTI5MmMzN2M4ZGUzNjVkODdiOWEgcHkzaworODQ0NjUgOTg4NzE4ZTlmOTNkMTVlMmE5MzdhNmUxYzg2YzBkYjQyZmQ3ZmJjNiByZWxlYXNlMzEtbWFpbnQKKzg0NDY3IDA2ZTVmZDQ5NTllOGExZTQwNDA1ZjBkMmY3YjJjYjUwN2MwOTRlMDcgcHkzaworODQ0NjggMWY0NzIwNmQ1NzdmMDdhY2UzZDIxY2QxNTdhZWE0ZDIwMDhhNjk1NyBweTNrCis4NDQ2OSBmOGJhOTU1OGFkYmY5MTViYTJmOTIzNzAxNDJkMjhiYzViNDM5YjYyIHB5M2sKKzg0NDcwIDNmNzc2NGM0MGMwYmZiOTUyYTk1NWQ3N2M2MGE5NjllMGY2NDZiZTMgcHkzaworODQ0NzEgZGJjOTU3NjJjZjU4NjM1YzY1ZDE3MTVkMTE4ZWI3YjRhNzI2YTUwMiBweTNrCis4NDQ3MiA1MjRiNDQ0YTgwOTUwOTVhNmQ5Y2JhYzFiZTIwZTQ0MGQ1NTUzZGJmIHB5M2sKKzg0NDczIGU5MmFkYTY0MmRiZGZkYjcxN2QzM2M4YWIzOWRiZTc3YTEyMzllZGIgcmVsZWFzZTMxLW1haW50Cis4NDQ3NCA4OTVhZWI0NTk1YzJmNzBlNmFkNTA2MTdiNGZiYjJiYTFiMTk1ZTUwIHJlbGVhc2UyNy1tYWludAorODQ0NzUgNDcyZGNmNTBjYTcxYzg3ZmM4MzFiOTk5N2ZmYjc1NTAyZmJmZjJjMiBweTNrCis4NDQ3NiA1MzMwNWJhZWY1ODhkODU3Y2UxMGIwNjIyYzIxOGUzYzM0YTU1YzdmIHB5M2sKKzg0NDc3IDQwNTJkM2UyODY1YmY4YTFhZjQ3YWI0NzkxN2MwMGM5OTExODFjYWQgcHkzaworODQ0NzggNWU1NWU5NWQ1Yzc3NGI0ZmMyYzEyMzc1MTNmZDY1OWQyMjNkOWY0ZiBweTNrCis4NDQ3OSA2OGZkNDMwODU5YTQ5YzNhODM3ZTFlOGExMTc5NmE1NTExYzhhMjZhIHB5M2sKKzg0NDgwIGVhNmQwODJhOWNmODA4NjdjYzFiMzIwZjFmZjI1YWIxMDE5NzhkZjMgcHkzaworODQ0ODEgNDBlYjU5ZTJmMmQzNTA2ZmRlN2RhNWE3NWY5ZTIyNTkwOGEyNjE4OCBweTNrCis4NDQ4MiBlNWFlMDNlZjdmYzEzYzg1NzJlNjM0NGEzODQ3NDg2MWRhZmVhOTExIHB5M2sKKzg0NDgzIGRlOGQzZDc5MWU2YTdmNDFjYjg1YzNlODA5NmIwYWIwMDc2MmQ2YWUgcHkzaworODQ0ODQgMDMyNTRmYzgzOTAxMTYzZDNjNDkzYzRmNDBjN2QwNTgwZGQ3NjM2OCBweTNrCis4NDQ4NSBlOWNkMTVkNTM5ZTFhM2ZlZGEwMDVjYmI5ZWNiM2ZlZTI5NDVlMjcyIHB5M2sKKzg0NDg2IGIyYjI2MmM1ZGFhODYzMDczYTAwYzJiMGZmNDQ5YTA5MWVlNzIwMTYgcHkzaworODQ0ODcgYjcwZDMzZWVmZDk2MGU0ZDBjMmQ2YzM0OGJlMmQ1NjdmMjU5YjkyZSBweTNrCis4NDQ4OCAwMGM2OTU3Yzc3MTkwYjI5MWJkYmFjM2JhMzRmYzBhZTA5YjcwZTZmIHB5M2sKKzg0NDg5IDkwZWI0Yzk3M2Y1MmFmZjUxYTVmYTlmMTM1MjIzYjY0M2M4OTZjNzYgcHkzaworODQ0OTAgMGFmOTRlZTk5YTQ4NGJkYzI1MjFiM2QyYmE3MTE5NzQxZTU4NzQzMCByZWxlYXNlMzEtbWFpbnQKKzg0NDkxIDkxOTdiYWU2MTlhYTQwYjI1OTgyYTU0NGQ0MmNlMzQ3NDY4MWQ2YTggcmVsZWFzZTI3LW1haW50Cis4NDQ5MiBlZDQ1YTI2ZjY2NjRkYTcxOTg2MjM0YWJkZDU1MGQyNjIxYzcyNmQ3IHB5M2sKKzg0NDkzIDQzMzE5ZTI5MmQ2NGJhMTlhOTI4MDcyN2FmNzgyZGMzNmEwNWEzMGEgcmVsZWFzZTMxLW1haW50Cis4NDQ5NCA1OGI4MTAxZWFjMjM4ZTYwNTNhZDE4MjVhMTk2ZDNiZjY0ODBiNDlhIHJlbGVhc2UyNy1tYWludAorODQ0OTUgMGY2ZWU1OWMyYTc2M2E4MmE3NWFlZGU1OTUxM2I0MTk4OTdhM2VjOCBweTNrCis4NDQ5NiBkYWJjMTE1MTE2YmQ3NDhkMjExZWQ4M2ZmMGI5ZjIxODUwNzllNTVmIHB5M2sKKzg0NDk3IGQyYjhmMTEwMzIxMjRiYmIyNzIzY2Y3MjIyMzU2OWRjNmVmNTA5OTYgcHkzaworODQ0OTggZjk5NGU2ZmQwNjgwNjIxNDI0MjkyNmY2ODNlZDgwM2U2M2UzYzgwZiByZWxlYXNlMzEtbWFpbnQKKzg0NDk5IDhlY2UyOWM4YmJhMjhlZDVhNmUyNDFjNGQwZThiZTRkMTQ3MmRiMDggcmVsZWFzZTI3LW1haW50Cis4NDUwMCAxYjVlZTZlODQ1Y2RmMDE3MzdkODk1NmY5ZTc3ZjM2ZjVjOTI1NzA1IHB5M2sKKzg0NTAxIDcyNTIzMTIxMTI3MzI3YzAyMjA5NmQzMGU3YjI4YTRhNWE4OTQ5NWQgcHkzaworODQ1MDIgY2U1NDZhMWI5ZmVjMWY2MGJlZGIzZjMxNDZkMDZmMDk4ODA1Y2Q3ZCBweTNrCis4NDUwMyBhNDE1Y2Y5NGM3ZGE3ZjM1OGJjNDk1ZWY4YWU1ZDYzMTE2NmM4YjI3IHJlbGVhc2UzMS1tYWludAorODQ1MDQgNTk5N2FlMmVhYjM3MTkxNzg3NGI3M2QyNmEzMTMzYzdjM2EwYjI2MiBweTNrCis4NDUwNSBjM2FkODgzYjk0MGJlNGVlYWI3NTJiMGVhYmRlZjZkZjYwMDljMDA1IHB5M2sKKzg0NTA2IDc4ZWE0NDIyZGY0YzJjOGQ4MTNiZDM3YzU2MDc3MDU5ODBiZjZjYmQgcHkzaworODQ1MDcgMjNjZjU0MTg2ZjU2NTMyMDY5Y2Y4MzkzNzc0OWU4YThjODY5MDRhOSByZWxlYXNlMzEtbWFpbnQKKzg0NTA4IDk4MDgzZjg3NjQ1NTQ3MjYyZDk4MTYyN2M4YjA2NDFjZWRhZmMzNjIgcmVsZWFzZTI3LW1haW50Cis4NDUwOSA5NzIwODM2YWEzY2I4OTMxNTZkNDRjMzc3NjlhZDU3NGM5NTA4N2M3IHB5M2sKKzg0NTEwIDYxYzQ0NzkzMjM4ZDE3MTRlY2QwZjY5ZmRkNTFhOTA4YTI0ZmMyZjAgcHkzaworODQ1MTEgYjMyY2JmYTk2NzM5NGUzMzkyZWM0NGIwMWY1N2E4Mzg1YmJiYmViNyBweTNrCis4NDUxMiBjNzhlYjAxNmQxYzUxNDg2ZGE2MTFmNDA3OTU2NjFmNzE1ZDY3NzVlIHB5M2sKKzg0NTEzIGM0YjM0YjJhNWNjMGVlZWI1NzI1YWFkN2MwMDM3NzdkYzMwMTVkN2QgcHkzaworODQ1MTQgMGIwYmQ4MTAyODkxYmI5M2U2ZWFiZjYwNTUwYjYzYzYwMzc4NTEyNiBweTNrCis4NDUxNSA3YTM0ZGVmMzVkZTc0YmQ3MmZiNjVjMWFlY2UzYzI4Yjg2ZTA1NGNhIHB5M2sKKzg0NTE2IDNjMzY4NDlmMDYzOTdiNWExZjQ2MjA0Y2QzNTQ1NGI5MTFjNjczNWYgcHkzaworODQ1MTcgYThkNTRlODAyM2YyMWE2MmYzYjM2YmEzODJmMDRkYmJkYWMzNTc5YyBweTNrCis4NDUxOCA4YmIxNjJiMDE5MjZmNWFmOThiZjQ5OWJlYTNlNjg4NTFkOGRmODk2IHB5M2sKKzg0NTE5IDI2M2IxMDc3YWI5NzViM2RlZTA5ZTY2MDMyZWM2MGU5ODkzYzAyYzUgcHkzaworODQ1MjAgMGQ4NjE0MDc1NWYwZDQ5NTM5M2U4ZjY2MTAxNTVmZjliZGVlYThmZiBweTNrCis4NDUyMiA1NmRjMmE1YWYyMGExYWVkYmVlZTQ5MDljYWJkNmYwMTVkNTQ3OWYzIHB5M2sKKzg0NTIzIDYyMDk4NzUxZGE2N2I1ZWVmOWJiODViMjE1NzEyMmEyMmRjMDcxNGQgcHkzaworODQ1MjQgMTYxMTkxMjkzMjRkNDFmYWYzNDQ3YTM2OTMwMThmMDUzMjUyZWQ3NSBweTNrCis4NDUyNSA3ZDliNGUwMThjNjJlOTIzZGNlOTUyZWU2OGUwMGVmMmVhYjkxOWMwIHB5M2sKKzg0NTI4IDc4YzRkZGE3Y2RjNjM3MzdmYTI0ODdlMTUyNTFkZjFlOTVhMmI4YzAgcHkzaworODQ1MjkgNTEwNDhmNjI3NmNlODRhM2M5OTE5NTk0MWQwNTBmYmEyYzBlZmVkMyBweTNrCis4NDUzMCBkYzU4OTJmNzNlMDM2ZGY4NDYwY2RlYzAyY2Q3YTFjYmEyYzA1MmVkIHB5M2sKKzg0NTMxIDRmN2I1NmI3ODcyNTI1NjE3YzU2YjdiZmM4NDk3ZjJlMzBkMjFhNzEgcHkzaworODQ1MzIgYTc1ZTk4OTM3NTQyYmM1MzIzNDMyOWQwNmM0MjE1N2U3ZWUwY2M2NiBweTNrCis4NDUzMyBiMGFiODMyZjg5MjEyODE4ODJlNGUyMTdmYzBkMzMwOWEwOGZlNTMzIHB5M2sKKzg0NTM0IDc4MTRkYzlmMzFhMjVjOTM3N2VjNjZjNTNlMzE5YzI1YTY2NDFiNDIgcHkzaworODQ1MzUgN2UwZDg2NmNhODcxNDgyNGNiMmE5ZjhlNTRlZWJjODU5ODM4ZTc2OCBweTNrCis4NDUzNyA3YTdiNTMxYmNiNjRkMTI1ZGQzYmIwMWY0YjcwMzFhNzAwNDU5OGE1IHB5M2sKKzg0NTM4IDc4ODc5NzFkZGE0ODNiY2JmZjIxOWYxZWJhNTlkMzBmMGVlNDlmMWQgcHkzaworODQ1MzkgMjEzOTE2MDI4N2ExMWEyZDA2ZWFhYjE2MjJlYTkzMGUzMTExNTY0ZiBweTNrCis4NDU0MCA1NmQ0MzczY2VjYjczYzhiNDUxMjZiYTdiMDQ1YjNjN2IzZjk0YjBiIHB5M2sKKzg0NTQxIDFkMGQzM2MwNTE1ZWU4YmM2ZmZlNjc0ZDlhMWMyZWY2OWM5MTA1M2IgcHkzaworODQ1NDIgNWM5OWY4YzkwZTY2NDE2NTRhMzNkMzc3ZWYyMGJhMzNkODc4OTE5YSBweTNrCis4NDU0MyBjMzQ4OTI1NzViYzBlNGFmMTExMDA1MTAwMGY5NzZhMWNiNDMxMGNlIHJlbGVhc2UzMS1tYWludAorODQ1NDQgODdhYTYyYmQxNzE1NmU5ZTI4OGFkYzAyMThkNzNhZmFmYzMzMzU3YiBweTNrCis4NDU0NSA4ZWY2OGViZWMwZTFlMmU2YjE2OGZjMTI3ZjY3OGI1Y2E0OTdkODFmIHB5M2sKKzg0NTQ2IDY5Y2IwOWYyNjQyNDBjYTNjMzAzMTc2MGRmM2ExMzRkNjBmMjQ1NTAgcHkzaworODQ1NDcgZTU1OGFjNDI1YTUxODViZjFiNTYwODMxMTYyNGQwOTU2ZWYxMjYyNCBweTNrCis4NDU0OCAwNzEyMjVhZjY0YTNkNzA1NmIwZDUzNDZhMDBkZTk3YWMxMjhlMzY1IHB5M2sKKzg0NTQ5IDY1N2Y3OTUxOTliOWU3ZTM0OTEyN2VmZmMyZmZlMjk3NjM1ZTRmZDMgcHkzaworODQ1NTAgNjMyNGQyMzk2M2E3MTkwNDVjNTM0ZmNiMTEzYTQxZmQ2MmYyN2U5MiBweTNrCis4NDU1MSBkMzg5Mzc0NzFmODk4NGFjOTYwNWE5ZTU3YmFmYjIyYzcxZGM2MTcyIHB5M2sKKzg0NTUyIDM5YWFhMmE3ZmQ0YmY2ZWEyNTY1ZTQzY2QxNTgyYjQxNmIzM2RjZTYgcHkzaworODQ1NTMgMWQzNzRlNWJhMmYxMzJlYjk5YjdkNTVjNmRjNDExY2UyZWU3ZjYwOSBweTNrCis4NDU1NCA0OTQ0MWU4OGNjYzE0YWQ0OGZmYzFjMjFhMzY0ZDExNjFiNzY5NThlIHB5M2sKKzg0NTU1IGQ5MzljODBjNjY2YmQzNzM4YjQwNzc5OWUyNzZkNWZhYzQ4ZjMxMTEgcHkzaworODQ1NTYgMDYyYWI1MTQ3NDg3NDU5N2NlYjY1ZTEzYTM4NDQ3M2E5YTFhNzc3MiBweTNrCis4NDU1NyAwNDdhOWQ3Y2EyNDFkYzFiOGNmZjZiYmFjOGQwOTNmYjhjNDhkY2VmIHJlbGVhc2UzMS1tYWludAorODQ1NTggMmMyYTM4ZTBjZjMwNzY1NTFjYWM4NTc3ZDE2ZGVhZjRiMWI5YTMzMyByZWxlYXNlMjctbWFpbnQKKzg0NTU5IDliZGM1OTAxMjA3YjhjZDgwZjczYzc1ZGM3Y2M1ZWM3YmZiYTQyYTIgcHkzaworODQ1NjAgNGExNDU1ZDM2OGZmNWZmYWRjODE0ZjdlOWQ2YWJmNTVkNzNhMTJiMyByZWxlYXNlMjctbWFpbnQKKzg0NTYxIGY2ZGZkNmM1NjNlMTE1OGE0ODZjNmYzYTY0ZWRkYTUyZTdiOGY4YmUgcHkzaworODQ1NjIgMjE0MDU4MTJmMzEyNzBjZmZhNDYwZDdkYzQzNTU0ZWFiOGNjYWE1ZiBweTNrCis4NDU2MyAwYzBmMWQwZWI3N2U5ODBmNzBmYjQzZWNkODNkODY3MGJkNDU2ODU1IHB5M2sKKzg0NTY0IDU0MTMzODc5NTk1MDcxMTlhMTFmNjk5ZmI2NDg5YjNmZDE5MGVmMzkgcHkzaworODQ1NjUgZWYxNmI0Yjc5ZDU0N2Y2Mjk4OWYyMGE4ZTRjNGU0Yzk4Mzk5NjZlYSBweTNrCis4NDU2NiA2YThiNWE2MThlN2FlZjBjNGY0NmFlMjQ2MzQwMDBiZTZjYWVhY2EyIHB5M2sKKzg0NTY3IGIzMDYxMDViZjgzZGZhMjY1ZWZjMDI1YWNmOGE3ZTIxN2FiOTM5NzYgcHkzaworODQ1NjggMTI0N2ZhNzUxNzcyMWFkY2E3ZTUzNTQxYWIxNzM3MTBlY2E5YWNjYSBweTNrCis4NDU2OSBmYWFhYjVhNjU3ZWI1NDliMjE3ZGRiMGQ0YjJiM2IwMDljMTAxYTI2IHJlbGVhc2UzMS1tYWludAorODQ1NjkgMTY5MmMwYjYwMzE3NjQxNTYyNzNmMjA5Mzc3M2FlNzgzYjk1ODczZSByZWxlYXNlMjctbWFpbnQKKzg0NTY5IGNkOTE4YWM3YmQ1NTRjODk2ZjU5M2I5NmJiNTk1NGQyZmEyY2U0ODQgcHkzaworODQ1NzAgNTRiNzk2NGRkN2E5NWUzMDkwMjEwMjY2NTdmYmVmMGQzN2IzYzI4NiBweTNrCis4NDU3MSA1Njc4NzU5YTgwMDlhNzA3ZDg1NmI1MTkyNjU5ZDNmYWM3YmFjNjBjIHB5M2sKKzg0NTcyIDUzY2Q4ZWNkY2U4YWU2NzFhYjU5NjIzN2ZmNmQyYWY3OTU1NTliMjcgcmVsZWFzZTI3LW1haW50Cis4NDU3MyBiMzJmZGE5ZjcyZmY5NWQxNGQxZTBjYWNlZWEwZTFlNjQ2ZTQ5YmZkIHB5M2sKKzg0NTc0IDY1NjQyZjA4NWM1NWM5NDVhOWJiMDUzMGE0OTBiMjkyMGQ0MThlY2MgcHkzaworODQ1NzUgMTFiYTYzOTdlM2E0ZmU0NzQ3YWUxMTU2YTA3YzE4NmY4ZDEyNzE0YyBweTNrCis4NDU3NiBjMmY4NDE4YTBlMTQ2MTM5MWRmNjEyYzVmZDIzODg3MzIzNDdlMmM2IHB5M2sKKzg0NTc3IGUwN2M0NDgzYWQzYjZmYjE1MTVkNzdjODkwY2MyZDkxMGU4NWQ2NDAgcHkzaworODQ1NzggOWNlZDdmMmYyMGIzZjFkNzNhYzczYzE5ZGMxOTEwNThlNmYyZGRmZCBweTNrCis4NDU3OSA5NGUxZjIzNmM4OGQ3NzkzZjZiYjE3YzRjYzllMzJmMzA1N2QzNDJiIHB5M2sKKzg0NTgwIDZiYTIwYjkwMzlhZTY5OTAyOGY5ODI0MGY5MWEzYTQ4YTA2ODYxNzggcHkzaworODQ1ODEgZTgzYWYxNDFkZmZkYWE4ZjU1YTI3ZWMxNmM0NDAyMzk2ZmE4NThjMyBweTNrCis4NDU4MiAxYTFlNzI1NGQ5NjU1NjdmYTRkMWU2YWMxZGUxNWQyM2Y4YjExOTA4IHB5M2sKKzg0NTgzIGU0ZGUyMTc2Zjk4ZTMwZjRjNGU4YjBhYzdiNWM0MjU5YTBiZmY4ZjAgcmVsZWFzZTI3LW1haW50Cis4NDU4NCA0YWM4YWU3ZTgwMjJjNDRlY2NlNzFlYjkwMWUxZGYzMDY5YTFhZTY5IHB5M2sKKzg0NTg1IGFkZmExZTQ4ODczNGUyY2NlNTcyYjhjMjUxNTQ4ZGRlOTljODYxYTQgcmVsZWFzZTI3LW1haW50Cis4NDU4NiBjMjE5OTE3NWFkYThkZTgxZjJjZTFmYWNhNWJkYTY1ZmM4OTMyMWMxIHJlbGVhc2UzMS1tYWludAorODQ1ODcgNjA5NWVhOWRjZmY0MDA5NTAyMGNlZDgzNTI2NDU5YWU4NTM4YjZjMCBweTNrCis4NDU4OCAxYzIyYzFlNDUzZDRhMWNjZTc4NTM4NGM4Mzc4ZGYxMGQyZTFhMjQ0IHB5M2sKKzg0NTg5IDg0YzI0ZGIxMzY3N2M3NDAyMTBhZjJhNDZjODMzNzRlMWI1YThhOGYgcHkzaworODQ1OTAgM2U1YTg5Mzc2ZGY1NDQwNGZjZjUxZjA5NDU5YjA1NGMwNGQyNTRlYSByZWxlYXNlMzEtbWFpbnQKKzg0NTkxIDc0MzJlNTA4ZWI2NmE5ZTBjOGFkYzQ0NjZlNWEwMjVhNzhmN2NjODcgcmVsZWFzZTI3LW1haW50Cis4NDU5MiA0YTNkZGI4NjJhNzJjYWZkZjVhYTgzMWIwZTVlMGZmMThmODExOGQ1IHB5M2sKKzg0NTkzIDVkZDFlNTk0ZDkxOTVlYjUxMjkwODUxYTAxYTNhOGQxNzkwMTgxMWQgcmVsZWFzZTMxLW1haW50Cis4NDU5NCA0YjY4ZDQ3MzQ4YTRkYWI3ODU0NTYyMjkwODdhMDY2MjQ3NzljNGE2IHJlbGVhc2UyNy1tYWludAorODQ1OTUgNzcwYzNlYzA1Njg1NmI0NDg0YmIzNDYyNzgyMzk0ZTQyZDNjM2E1MCBweTNrCis4NDU5NiA4OWZlNTE3OWFlYzVmMDBjNTgyZjk5MTkzOWFhMDE0OTFmZGZkNzRlIHB5M2sKKzg0NTk3IDkxYzdmNDRlNGJlYTlkY2FmYTE4M2E0MmViY2Q2MDNiMDMyOGVlY2MgcHkzaworODQ1OTggYjJmN2NmOWM2Nzc2MzU5ZjI3NTE2MGZhZDE1M2Q1ODhlMjE3MzE3ZiBweTNrCis4NDU5OSA2M2NlZWYwNDUzZjQwNmFiZDIwZjljNGY1ZjIyMTljN2ViMzg0MmI1IHB5M2sKKzg0NjAwIDI0MDBmNTVlYTMxMjUzMDg4ODg4NWUwY2Y4Y2Y4OWMwMjAyNWZhNjIgcmVsZWFzZTMxLW1haW50Cis4NDYwMSA1ZDczYjAzNjU3M2I3ODdmNTAyMDE1NmE2ZGQwMzVmYTU2ODI4NGVlIHB5M2sKKzg0NjAyIGQ2ZDRiODQ2NGI4Y2Y2ZWIxMDI4NGRlMTVhZjliYmMwMTM2YzEyNmMgcHkzaworODQ2MDMgYWY0MTRiMjlkNDY3ODcxM2MyNGY5M2RiYjFhYTk3Zjk4Nzg4MzUxYSByZWxlYXNlMjctbWFpbnQKKzg0NjA0IGVmMGEwN2Q1NGRjMTdkMzBiODQ5NTA2MjE2ZDQ0MmQyMWZmYWUxYjYgcHkzaworODQ2MDUgNGM2NGU2ODhmNjY1ZWZkNjI1MDQ3MTE0Zjg3NjQ3MDQ3M2Q5MDU0MSByZWxlYXNlMzEtbWFpbnQKKzg0NjA2IGQwMDhmNDA2ZGM5OGM5ZDFjM2I3ZGRkNGQ2NTFjNjllNTE0YzY2NjggcmVsZWFzZTI3LW1haW50Cis4NDYwNyBjMmQ2ZjBjZjkyNmEyZjNlM2ZhMDBhMTY2MTJkOTkwZDNlMWE1YjVkIHB5M2sKKzg0NjA4IDk2MGRlMDEwMDgxYjc2MzEwM2E5NTc0YWQwYTAyZGI4OGQ4MDA1OTkgcHkzaworODQ2MDkgMzg0YWVlNjI3M2U4MDViNjk2ZjAzM2E1ZWZlZGQ0MmQ2OWM4NWYzZCByZWxlYXNlMzEtbWFpbnQKKzg0NjEwIDAzYTZmNzgzOWQ2ZDM1MzJmZWU2YmMzODEzMTE2NjEyM2E3ZjJlYjggcmVsZWFzZTI3LW1haW50Cis4NDYxMSA1NThmMzM4ZTEzMjA4MTE3N2VjNmIwYmUzNWE5NzY3YzQyOTI3YWFjIHB5M2sKKzg0NjEyIGUwNjIzYjZiNDNiNjM3YTMyMTA1YzI5MmY4ZDI0YWZkZTljOGY2OWUgcmVsZWFzZTMxLW1haW50Cis4NDYxMyBiYWYxYTQ4MmI1N2Q3NjZmN2M1ZTY1Nzk1MTU2NTQ1OTRhMTE0YjA3IHJlbGVhc2UyNy1tYWludAorODQ2MTQgODkyM2UxNDkzYTM0NDkzNmVjYjdhOGM5NzMwNzNkZjM1NGY4ZDUxMiBweTNrCis4NDYxNSBkMjdkNGJkNDg4ZGM4Mzk0NjRlZTBjNTJlMDI0ZTZiOGVhMWU0NTU0IHJlbGVhc2UzMS1tYWludAorODQ2MTYgMGZkYTgyYjFiZmJiYzUzOGRhNjY5OWJlNWNjNDJkMTdjN2FjY2Y0ZSByZWxlYXNlMjctbWFpbnQKKzg0NjE3IGQ1MzMxNzEyYjUwOWQ1N2Y0MjVlMWEwZDc0MDRjOTE3NTRjNTllMDAgcHkzaworODQ2MTkgNzlhMTRkMzY4NTQwMWMzNTE5ZDg5MTg1YWRjZWE2ZmIwNzZjY2E1ZiBweTNrCis4NDYyMCBlM2VkZDJmOWJiNmFjMzA2YzE2NGIxYzAzNTc4ZDRhZTYyMGUxMDhmIHB5M2sKKzg0NjIxIGU2MGVmMTc1NjFkY2VjNDI2YjIyMWVhMmIyMmMwOTJjYzFmM2UxMmIgcmVsZWFzZTI3LW1haW50Cis4NDYyMiBhMGI0YjJkZmQ5ZDVhODEzY2M0NTA5Yzc0MDIxYzJlM2QxZWMyMTRmIHJlbGVhc2UyNy1tYWludAorODQ2MjMgODUxNjcyNDk4ZmU1MzRkYjZlNjU1N2JmMTE5NWExNjM2MGJhYzgwZCBweTNrCis4NDYyNCBjNDdmZjNhNTNhNGE1MWFhZTAwNmYzYTdhYjI2ZjNlZjhiMWRiYTY3IHJlbGVhc2UzMS1tYWludAorODQ2MjUgNTc1ODQ0NDI3YTk1Y2ZjMTQxNGZmMDA0NmRhODQ5YWQ2NzMyNGM4NiByZWxlYXNlMjctbWFpbnQKKzg0NjI2IGFhNjZkZjc3MmUyMzc4NDdhMzM5ZTFhM2VkZTQ2ZjkxNWJhODRhYjQgcmVsZWFzZTI3LW1haW50Cis4NDYyNyBmOGY2NmViY2Q1YjFlYjcxYTNjODJhZmIxZWFiNjk5MWVhYzVjNzBkIHJlbGVhc2UyNy1tYWludAorODQ2MjggZGM1OTg2ZDBlNWE0NDMxNmMyNzJjNzgzYWQxYTNhYjRjYWVjZGYzMCByZWxlYXNlMzEtbWFpbnQKKzg0NjI5IGE0Y2ZkNWI1ZGY5NjY5NzUzMWM5ZTg1MzhmOGZlYjY2NzBiMjg0MjUgcHkzaworODQ2MzAgNDViMjNmM2Y3ZjZiOWVjY2Q0NGVkMjM5NTk4NmVlMGZkNDg3M2NhMiByZWxlYXNlMzEtbWFpbnQKKzg0NjMxIDI5N2Y2NmNiMzc2NDRhNDUyNzA4NzQ5YTQwMzY2MmFkOGQ3ODBlMWIgcHkzaworODQ2MzIgYjE4NjVjYTdiNjVjMTQ2Y2UwZmM1YTJiZTRlMWEyYmMzZDkyZTM1NyBweTNrCis4NDYzMyA3YzJlYjViNmNjNThjNjRiYmUwNzExNmQ4Zjk4NWUyZDY5YTdiZTMxIHB5M2sKKzg0NjM0IDg2MjdjM2VjOTcxMTI2ZjQwOTQ3OTFiZThkNTNmMGQ2NTFjYTg3NTMgcHkzaworODQ2MzUgYTJhZWRkYzE5YjY2YjVjMzhlNTIxOWFjMzFiNmU2ZTllMTI3YjhkMSBweTNrCis4NDYzNiBiMWNmM2Y3ZjMwNGNmMDg0ZGY0ZTE5OWUwMjJjZjdkZDdhM2E1MDk4IHB5M2sKKzg0NjM3IDEzMjIyNjZmOTYxMTVhZDUyN2MwNGVlNjExMGExZmJhNWJmM2M3MDEgcmVsZWFzZTI3LW1haW50Cis4NDYzOCA0NDFlOTRjZTQwODcxNmZhZDY3NWRkMDJhMTVhYzNmYjQ4OWI0MWQwIHB5M2sKKzg0NjM5IGNhZjBiNGIwNTY5ZWFkMDcyMjdiNjE0MjA3ZjJjYjhkMjU4NDk4MWEgcHkzaworODQ2NDAgYTU4YmY2NjcyNWY4NmYwYzBmODg0ZGJkYWNiMjcxN2Q1ZWFmYTFmYyBweTNrCis4NDY0MSBmOGM4OTZhZDc4N2Y4ZDA4YjM3MjVlNjRiNzFhZWIwMDUyNmI5ZmQ4IHB5M2sKKzg0NjQyIDJjNTQ3MjEwZjhjOWY5MmFlMWZhZGI3MjcwYzc3YjE2ZWMxYzI0OGEgcHkzaworODQ2NDMgNDYyZTBiZTNiNmM0NmY2ZjdmZTZiOTBhZTkxMTI1NzEyZDM3OGNiMiBweTNrCis4NDY0NCBjODg1NTBjYTBmYWZiNjRhZTU5OWNhZDA2NDA1M2E4ZTZjZjU4ZjRkIHB5M2sKKzg0NjQ1IDYzNjE5YjQyNWVjYWEzOTE0ZmZhNmNlOWQzOWNiMGVlNzFmY2MyMTkgcHkzaworODQ2NDYgZmVhODZjNWUzMzg1ODkwYTUzZTM0MGExNzBkNWExZjg0OWYwZDcxNiBweTNrCis4NDY0NyA3MWIyNjRlMWJiNzE2NDQ3NzkxMWIxOGM1ZDVlNmM2NThmZGYwZThiIHB5M2sKKzg0NjQ4IDk2NTllOGM0MDA3OWIyOWYyNmU1YmRkNDJiNzRlMjE4ZGJkZTdhMWIgcHkzaworODQ2NDkgYmE1NDA5NmI3YTQyODkwZWZhYjliOTE5Y2JkMGI3Njc2NjA0MTBiOCBweTNrCis4NDY1MCAzOGNhNjM1MTgwODVmNTc0ZTQwMTMyMDRjZDUyODM0MTc4NDYwODY3IHB5M2sKKzg0NjUxIGE1MWY0NjdmNWUxZTgwYjAwYTU5NDNiNDM1Njc2NjdiODMzMTdkZGQgcmVsZWFzZTMxLW1haW50Cis4NDY1MiBkMTNjMmY5MGMxNjlhYTc2YTJmMDY3NDQ3OTdjY2Q5OWE5NDQ4Mjg3IHJlbGVhc2UyNy1tYWludAorODQ2NTMgMDI3ZjgxNTc5YjRhMGFjMDFmNTYyZTVkYTY3MjU3YzE0YWE4MjU3OCBweTNrCis4NDY1NCBkNDkyNzE1NGI3N2I4ZjIzNjEwZGYxOWUxNDE2Y2JhYjY5OTM2ODU2IHJlbGVhc2UzMS1tYWludAorODQ2NTUgZmM3NmU4YzYxN2RjNDdjNzc5ZDBjMzk0OTc4YjI4YWIxZTI1MzJmMiBweTNrCis4NDY1NiBhZTQ3MDc5NDljYjI0NjA5MWZiYjYyZTYxOTA0ODNkNjIyNWU2ZjJiIHJlbGVhc2UzMS1tYWludAorODQ2NTcgMWI3ZWE0M2U1Yzc5NjdiNTUzNmU0Y2UzN2NlYzA5YWE1NDZiNTZiOSBweTNrCis4NDY1OCA2ZjE0ZjAyMzU5ZTgwYWIzOGZjZDI3NDVkYmMyN2FkMTZhNDBhMTU1IHB5M2sKKzg0NjU5IDg0MjE3YjJkOGMwYzA2Y2Q2OThmYTYwYzUyNmVlNDQyODdmZDlmMmUgcHkzaworODQ2NjAgYmVlNjgzY2FlNzFmYzc5ZGU5MGY4YjY4NmU0NjZkZWFmNzQ3MTBhMSByZWxlYXNlMzEtbWFpbnQKKzg0NjYxIGYxMjA3ZDlhOWIwN2MxMzZjYzkxMjJjMzFkODIxMmE3YzNkNzAwYzIgcmVsZWFzZTI3LW1haW50Cis4NDY2MiAyZGE1ZWNkMjI0ZmZlN2ZlNzQ5Y2M3YWYzYzBmNDYyOWI5NWUwZTZlIHJlbGVhc2UyNy1tYWludAorODQ2NjMgNWFiYWNkMzUxNDg1MWRhMjc0YTFkYTdhY2VlOGE1YjcxMmIxN2NiYSByZWxlYXNlMjctbWFpbnQKKzg0NjY0IGIzMDQzMzZlMGUzNWI0NzhkNTBkOWMxN2FiYjZiZGUzNGJiNWRlNTUgcHkzaworODQ2NjUgZWRkMDU2YzRhNDBkMjIyNTYwZDY5MTIyZWQ3MWRhODVhZmJiYTU1ZCByZWxlYXNlMjctbWFpbnQKKzg0NjY2IGI4ZTUxMjVlNmZiZDczNmIxNDM5MTM5ZWE0MTAzZWU2ZDRjNDc2ODMgcHkzaworODQ2NjcgNDU3YWE4ZGE0OTBhODc3ZmVhYzA1MmFmMDQ0MzZkNDcxMDA0ZDYyNyByZWxlYXNlMjctbWFpbnQKKzg0NjY4IGMyMGRlOTZhNDM1YWM2MDk1MDRlMjI3OTllMDZlYTk1NmQ2YjE0MjcgcmVsZWFzZTMxLW1haW50Cis4NDY2OSA5ZmFhODBkMDExMWYxZjMyZWViNDczZGE5ZTVkNTFlYjIyOWQyMWZkIHB5M2sKKzg0NjcwIGIzMTRhZGM5YmNkZWVhZGQwMWVhMzMwYjBhYzM3YmYyOTdmODhjNTMgcmVsZWFzZTMxLW1haW50Cis4NDY3MSAyZWVhODlkMDkzZTIxNDIxMDhhYWIwNzQwZjMwNzUwYWQ0NTg4MGVlIHB5M2sKKzg0NjcyIGM2NjY5ZjRiZjhjNTRlZGM1NTNjY2JjYzMxN2M2OGQwYWUzOGE5MGEgcHkzaworODQ2NzMgZDBmOWFmY2IwNjE5ZWViMDhlMjc1ZDU0YmY4MDUzODI4ZjY2YzAzMSBweTNrCis4NDY3NCAzNzhlMTU3YWMwMjVmYzk5YWVlYTk0YjYzMzI0ODlkNWFiNWVkOTk3IHB5M2sKKzg0Njc1IGI0M2Q2M2JmMGY3OGYxMDQ1NDNhNjhmMjk4OTFkZGEzZjdiODRlMzggcmVsZWFzZTMxLW1haW50Cis4NDY3NiAyMWFlNDA0NmU0NzEwMWQ5MmM2M2FkYmY4YzQ3ZWE2NWIxOWNjMTk4IHJlbGVhc2UyNy1tYWludAorODQ2NzcgN2UyY2ViNWQyOGUzMzkzMmZlMjE1NTY3MDg4NTBlNjE3ZjQ1N2YxNyBweTNrCis4NDY3OCAzOTBhY2Y1MTM0ZTk0YWE0YzIyYmQ2YzM4Mzc5ZDIxNWZlNTdlOGU4IHJlbGVhc2UzMS1tYWludAorODQ2NzkgNWM0YmU2M2NhYjRhMjJlMTkwNDhmNWY4YzNlYTIxODRjMmUzMDkxOCBweTNrCis4NDY4MCA5MzM5NzM4Zjg1MDRmODgzNzIwOWZkMmQ1Njk3YjIzNzY0YzQ1MmUyIHB5M2sKKzg0NjgxIDE2YTQyZDVmMjIwOWMzY2ExMzllYjg0ZTI3YTBjMzA0ZjYzMGFlNjcgcHkzaworODQ2ODIgOWYwZDY5Y2FlZDNiMmRlMTY4NThmYzA4ZmM1ODc3ZDc2ZDgyNzBkOCByZWxlYXNlMzEtbWFpbnQKKzg0NjgzIGUyNzAzMGUwY2NlZGE4ZTg4Nzk5ODdiODkzOTdhNjViMjY0NjA2MzggcmVsZWFzZTI3LW1haW50Cis4NDY4NCBjYWVjYjZlYmM4M2MyYTU2YTBmYzhhYzBiZDU2OTQ3YjIzMGQwMDlkIHB5M2sKKzg0Njg1IDI1Y2MyMjZkYzliZDRhYjBlMjRlNDgyNDZhZDczOWZmMDJjNDgyMjEgcHkzaworODQ2ODYgMjUyODk1ZDQ5MTU3MGQ1YTI3NDUyODA5YjU4MjcxN2JlNDA5YjI0ZCBweTNrCis4NDY4NyA5OTlkN2QyMTJmMTc5MmUwNGNkZjNhOGZjNjliMTE4MjU2MzY1MTNmIHB5M2sKKzg0Njg4IDU4MzA3OWRlMzdlMTM5MGE4MjM4ZDMxNDUxNmQyZTZiNTMwZTU0NjUgcHkzaworODQ2ODkgOTI2NTc1MmExYzgzZDlhNTE5ZDFiMTIwODkzODQ3ZWNmNWU2YzQxYyBweTNrCis4NDY5MCBlODI3YjliOGE3YjRhNWVlYTJjY2JhY2JlMGRhMGRhYWE1MDFkNTdhIHB5M2sKKzg0NjkxIDExNjdlMzkzYWE0ZDZhNGVlMGFhMzhjNzYzYzhhNjk5OTAzMTBkMjQgcmVsZWFzZTI3LW1haW50Cis4NDY5MiA2YWNjYzJjNjVjYjg0NzgwMWViN2RjMjQ3MTBlZDM5ZDBhODcyY2E4IHB5M2sKKzg0NjkzIDU2ODQ0YjcxNmNkNzU2MGFjMTAwMmZkNzBjMTYxMmU2MzRjNzZiNGQgcHkzaworODQ2OTQgNTg2YTQxMWNhYzdjNzBmODg4NmM4Yzc1MGNjZjliYjI3NDEyMGM4YiBweTNrCis4NDY5NSA0NzBhNTM2MDU3MGNjMDFlN2U1OWVlNDJkMmIzZDk1OGE4NjAwYTZmIHB5M2sKKzg0Njk2IGE2MDhmZTFlODZmMDA4MjI0NDdhMGRiNTRmNTMxMzk4MjA0MzA2YmQgcHkzaworODQ2OTcgZjMxZTBjN2MwMmUzMzNkNzkyMGUyMzNhNjg2NmY4Mjk5ZjRhMDBiMyBweTNrCis4NDY5OCBlMDgwZjExZmNhMTliMGRkMjBmYTlkMDc4NGJlMWRmYjRjNmIxNGIyIHB5M2sKKzg0Njk5IDE3NjQ3OTZlOWVjYTJkMzU1ZTRkZjdjMGNjZDMyYTZkNTg0OTIxOTUgcHkzaworODQ3MDAgZmU0N2VhODk3MmViZTZiYTNmODhiNjI1NmFjOTFkNzlhNWQ1NzNiMCBweTNrCis4NDcwMSA4ODdlZjM5OTc2ZDM5ZGQ4NWFmZDg0MTEyMWQyMjVlZGIyZTI2MzhhIHB5M2sKKzg0NzAyIGVmYzk5YTIwN2JiZTdkMmQ2MjhlYjY2NjIzNmIxY2JmYWE2NTkzN2QgcmVsZWFzZTMxLW1haW50Cis4NDcwMyAyMGEyMTUzYjBkZGE4OTVkNGIwYTRjMWJhZGEwZGM1NGE2NTNkNWZiIHB5M2sKKzg0NzA0IDFjZmFkNTVkZTViZDY2MGEyY2M3Mjk2ZWQ2MWVkZjNjZDU2ZjEyZTggcHkzaworODQ3MDUgNWM5YzA0YzI5YjJjMGJmYThjZWFlN2JkMzczZjIzYjQyNGRjNmUxNCBweTNrCis4NDcwNiBlYzkyYTlmZDc3ODA2ZjBhNzkxM2JlNzA5Mzg2YmRkNDRmNDI3OWJlIHB5M2sKKzg0NzA3IGY3MmZkMmNkYTM0NDJmNTk1MDQyYzQ0YTQwN2YwZWY3Mjc2Yjk2NzEgcHkzaworODQ3MDggY2I5MTMwN2Y3MDcyZWJhYzk0ZTZhYmUxOTkxODY3MDBhZTgzZmFlMyByZWxlYXNlMjctbWFpbnQKKzg0NzA5IGUwYTdiNjk2ODU1ZjQwYzk0OTMyZTk4N2NhNTQ1MTZjNjhiYzcyMmIgcmVsZWFzZTI3LW1haW50Cis4NDcwOSA1MjFlYjdmZWU2N2E3ODFjYWI1ZWQxZjUzOGRjYWM5N2JhNTc5NGQyIHB5M2sKKzg0NzEwIDFiZTg3NGNlNGVhZWYzMDQ0MjRjZThlY2YzOGE5ZDk3NmIyZmRhZGIgcHkzaworODQ3MTEgN2NmM2JmMDE1MGE0ZDVjNjAyNGNjNzA0NmQzNzdkMGQ1ZTJhOGU1NiBweTNrCis4NDcxMiAwMDQyNTIwOWM0NmVlMjU1N2E3NmFmYjhlYmNkMGQ2YzM2NDlkNmQwIHJlbGVhc2UzMS1tYWludAorODQ3MTMgNmViNGFmYmU3N2U4NTQ4MGMzNzEwODRmMWZiMjg3YTc5N2Q0OGVlYSByZWxlYXNlMjctbWFpbnQKKzg0NzE0IGQ5MDVjOTRmOWFlMWQxYWVkYzYyNzM0MTYxNWYxZWZmOWE5MDc0YTQgcHkzaworODQ3MTUgOGY4MWVkOGFjYmIwMjQ0NGVhNzQxYTY2NWU2NDhhNDNmY2E4YjQ0OCByZWxlYXNlMzEtbWFpbnQKKzg0NzE2IDYwMWEwZGVmZDE1YmIyYjk5MmFmMTQxMGY1Y2M3YTMxZGZmZDAwMDMgcmVsZWFzZTMxLW1haW50Cis4NDcxNyA3YzhmMzQ1OWQ5YWY4YTc2YzMyMTY0NzZiZWViODYzMDUwNjk0NmY3IHB5M2sKKzg0NzE4IDE3YThmNzA0ZjA3ZDg5NDJiNTdiNTJhZDI1NTI2MDE1NmZlNDBjYjcgcmVsZWFzZTMxLW1haW50Cis4NDcxOSBmZDY3MzdhYTg4ZGM0NmRmYTNjZTc5YTQzNjRhNzM1MWU2N2NiNzQyIHB5M2sKKzg0NzIwIDUzMzg1OGEyOTg5YTJmYjhkN2Q2OGEwMWEwMzgzOGVlMDM1YTEyMzIgcmVsZWFzZTMxLW1haW50Cis4NDcyMSBjNGU3MjMzZjU0OGRiZGU4ZmViNjY3M2VhNDM5NTk5YzM5M2UyYmZmIHJlbGVhc2UyNy1tYWludAorODQ3MjIgYjAwNzAwMWZjYTcxMGM1YzA2MGVlMTMzYWFlOGNjZTRjYjg5MDQzZiByZWxlYXNlMjctbWFpbnQKKzg0NzIzIGEzNTEwODYxMDVjNTNjZTE0MzNmNjZkNDdiZDkwM2U1ZjcyNjQ2ZTAgcmVsZWFzZTMxLW1haW50Cis4NDcyNCA1ZjNhNjQ1NjRjNTFhMTI4NjFiMGFlMWYxZGZlYjQxNDg4ZjM2MTkzIHB5M2sKKzg0NzI1IDU2NzE0ZTljNjNlZmI4NGM5YzU3MmRlZTk0NTYwYmExMzgyYWVkNTMgcmVsZWFzZTI3LW1haW50Cis4NDcyNiBjMzViNDJhOGRhM2ZiODZkODcyMTQ4MjA0ZjVkYTQ0ZTUyN2U5NjIzIHB5M2sKKzg0NzI3IGYzYjFlZWExMWNlMTk1YmIzN2MxOTQ2ZTFkOWQ2ZmEyMjEwNmVhYmIgcHkzaworODQ3MjggZjQzMjBlMTI0YjFmYjFmYjcwNWU4YjEzZTFjNDM3ZjBkODZjYzQyOCBweTNrCis4NDcyOSBiMGM5YTgyZTBlYzVhMzM3ZWE2NGYwMjliMmFkMzcyMWIzODFmMGJkIHJlbGVhc2UzMS1tYWludAorODQ3MzAgODUyYmIwNTIxNTZhODEwOWM4MWI1MTBlMDJmYjI5OTQ3MGNlMjBjMyBweTNrCis4NDczMSBlZDQzZWJkYTM1ZjJlNWRmMzk4NjRkYzM5NWI3Y2YzOGEyZjdhMmNmIHB5M2sKKzg0NzMyIDYzOTM5YWZhZjk4NGI0YTc5MGNmZWQ0YzUwN2VjMzgwN2EwNGVjYjcgcmVsZWFzZTMxLW1haW50Cis4NDczMyBlZjZmMDM5NzFmYjM0ODcwY2QxOWMwMjU3OWM5Y2QwNDkxOWUyMDg1IHJlbGVhc2UzMS1tYWludAorODQ3MzUgMzgwOGUzNzlmYzNjZTkzYTc3ODY5NGZhOTNiMjhiMWRiYmM0NDVmYSBweTNrCis4NDczNiAzNzc0ZjRkZWY3NTRmMWY4YTZiNWE5YWQ5MzEwMjk3ODVmMTVjNzJmIHJlbGVhc2UzMS1tYWludAorODQ3MzcgZmI5MGYyZmYxNzY0YjljZTgyNjk5NmVlYThkNmE5ZDllYTcxNjJhNCBweTNrCis4NDczOCA2N2VkNmQ0ZjcwYjFhNjZmYjkyNmZhYWFkNmE3YmIyNWY4YjBiMDYzIHJlbGVhc2UzMS1tYWludAorODQ3MzkgN2FjMGU2MDdjNGQ2NjJhM2JkNjQ3YzUyNzczZWMzN2MwZjM0ODQxOCByZWxlYXNlMjctbWFpbnQKKzg0NzQwIGQyZTU4MTk4OTMzYmU0OGJmMWI5ZmQxYmFlODE4MzExNmRiMjU3NTggcmVsZWFzZTI3LW1haW50Cis4NDc0MSA4ODY5YjFiODU0MzQ4YzQwOTZmY2VhZGNlMzg3N2U3Mzk0NDg5YWJmIHB5M2sKKzg0NzQyIDYzYmRhNzg5ZDczYjYzZjdhYTgzZTczNmUyMzQwOGY3OTFhNmY1NWMgcmVsZWFzZTMxLW1haW50Cis4NDc0MyBmYTk1MTBjNzk2NDgxYTBkOTQ2NTg5ODdkMzQ4MTk3MzRjZjU0Y2IxIHB5M2sKKzg0NzQ0IGI3ZTI0NGYzNGNjODBkMDNiNzUxYTY3MjU1MWE4NDFjMmQ4MmZlODcgcHkzaworODQ3NDUgNzZiOGRhZGEwNmNiZTZhOTMyNTAwYjg2NDk2NjcwM2QyYmUwODQwNiByZWxlYXNlMzEtbWFpbnQKKzg0NzQ2IDRiOWM4NTI2ZWE0Y2I3MGNlNDgwODA4ZjJhNjNiYzUzNDYwYWNlOTYgcmVsZWFzZTI3LW1haW50Cis4NDc0NyA2ZDI4MmI1OGQ5MGFhMmZkMzZhODEzMDk4NjU1OGQ2NzI5OWQ0ZTdjIHB5M2sKKzg0NzQ4IDJiYjRkZDJhZDViNTA3MDdhOGE5ZTE0MjFlMzIyZTQ2MmViOGY1OGMgcHkzaworODQ3NDkgN2FiNTkyMzNlODNmNjliNWIzNzFmZjcxMTg4OTE2MjA5Y2U5NWJhMiBweTNrCis4NDc1MCA5MjEwMjk1MDdhZDdkNDRjNDc1OWM5MDYwYmY5ZjNlM2Q1YzAzZmJjIHB5M2sKKzg0NzUxIGMxYjcwOTA3NmJmNjNhMWQxYjc1MjIyOWE2Nzk1MTVhN2I4NTk0N2MgcHkzaworODQ3NTIgOWNkYmE2ODY0ZWI2MGNhMmE1OTM0NDkxZDE5NWM5NTk4ZDk3MTY1OSBweTNrCis4NDc1MyBhM2VlODc3ZmVkODliNWVkMzdjY2I5OGQzMGM4NWQxZWVkMTEwZjUxIHB5M2sKKzg0NzU0IGIxODZhZmEzNzBlNmQxMDU1ZTUxY2ZiZGMyMTQ2ZTI1M2I2NDY3ZDEgcHkzaworODQ3NTUgY2ZhMTE5YzNlNDNjZmU4NzJkZDU1M2Q1MDUzOGJhNTIwNTI5NTU0MCBweTNrCis4NDc1NiBlZTk2N2YxYzczMWI3ZDAzNmZmMDQzMTVkMDUwMmNiZjg4NjE1MDI0IHB5M2sKKzg0NzU3IDBkZTgxNjQ3NTUzYmEwNGFiNzE0MTczNmU0YWYzMTc1MjBjOTFlNDggcmVsZWFzZTI3LW1haW50Cis4NDc1OCA5MDY0ZmM1N2QzZmE5MDdkMTEwMWZmNjEzMWJiYTUwNDlhYWRlYzZiIHJlbGVhc2UzMS1tYWludAorODQ3NTkgMWU4OWI1ZWUwMmY4NWVmOWIyNzA4Y2E0NDZhOWExNjQxODU2NjYwNiBweTNrCis4NDc2MCA1ODRiMWVkYTExNDE0NzYzYjBhZmFkMGI1YWIzODI5NWMzNjZjOTMwIHB5M2sKKzg0NzYxIDMxNGQ0MTZmNGQyM2UyOGM2NTZkZDU3NzAxZTk5NDMyNmE2YjU1MGIgcmVsZWFzZTMxLW1haW50Cis4NDc2MiBiMWU3NjZjNzlhMzY3NzQ5YzliZTNlYWZiNzIxY2VkNTUyODYyZGI5IHB5M2sKKzg0NzYzIGFkZDY2NDkyNGFlOTkxMWMwNGQ3ZjFmYzM5NTQ4YzdjM2UxYWY2NDYgcHkzaworODQ3NjQgYjBkMjZlOGQ4YTMzMGFhNTY0MjAzN2JiMTg5YTU3NGRlMmM1Y2FiYSByZWxlYXNlMjctbWFpbnQKKzg0NzY1IDJmODM3MDUzOGZmYmIxN2MzYWNhZDllNjRjZGJkMTBlYWVhODNjYzUgcHkzaworODQ3NjYgMjhlNmE0MWM1YmEwYjA0MmRjOGZkYjkwOTg2M2RhNTY4NzJiYmE2MyByZWxlYXNlMjctbWFpbnQKKzg0NzY3IDgyZGI4MGI2MGI4N2JiYWJmM2FkZjU4N2FlNDY1OGRkNzYyMTMxYjYgcmVsZWFzZTMxLW1haW50Cis4NDc2OCBkMGZjMzU3ODc0Njc0Njk0MzJjNDFlZDcyYjgyN2NkNzc3Yzk2NTllIHJlbGVhc2UyNy1tYWludAorODQ3NjkgMWU5MjJkNzFjZTRiZjZhMTg5NzNmNTMzN2Y4NmMzNGVmNzU4YWYxZCByZWxlYXNlMzEtbWFpbnQKKzg0NzcwIGJiYThmYTg4ZDE5YTIxYjkzODI5ZjVlZGMzYTE5NjE2NTg2N2M4NzQgcmVsZWFzZTI3LW1haW50Cis4NDc3MSBhNTlhZTkzODkxMzE5MzY1ODA2YWMwOWM1YzQ3MThiYzE4ZTAxYjIzIHJlbGVhc2UyNy1tYWludAorODQ3NzIgMjc0YTBiZjQ2ODcxZWYzYTU5MWYyYjkzYTMxM2VmYzgyMDY5ZGQzYiByZWxlYXNlMjctbWFpbnQKKzg0NzczIDQ0MTk5YWE4OTMyYjdkMTRkMDNhMGUwMzE4YTliODA1YTkwZGJiZDIgcmVsZWFzZTI3LW1haW50Cis4NDc3NCA1NTdlMjUzN2M5YWUyMzUzOGQ5ZGRiNGVhMWViNDliZGM0NTlkZmU4IHB5M2sKKzg0Nzc2IDMzMGQ3OWZjYjNkM2Q1ODYyOGY4Y2VhYjM1NTgxNTNjOTY1NGE0YWQgcHkzaworODQ3NzcgMGYzYjhmOTI4ZWMxM2Q4ZjkxZWM0OTBlNWI1MjRmZTkwYmE3ZmFhYyByZWxlYXNlMjctbWFpbnQKKzg0Nzc4IDNkMjJlZTY1ZTQwNzVhOWIzNmIzNzFjMmE0MzgxNTMzMWU0NWI0NjggcmVsZWFzZTI3LW1haW50Cis4NDc3OSAyYWQ4ZDdjYmNlYWJiMDE3MjA1OTEyODJmMTM1Nzc1YjQ1ZTViYmU4IHJlbGVhc2UyNy1tYWludAorODQ3ODAgZWExMjFmODczMWE3OGJiNTU1Y2E0MjUwYmFlZDRlZmQwYzhjZjNmMyBweTNrCis4NDc4MSA2ZmYwZWYxZmNiM2NkOThlNTFiMzM1ODc0YTg2ODJhYWU4ZWFhNGRmIHB5M2sKKzg0NzgyIDIwNWZmMmIwMmM3NzEyMGVlMjBiMTc3ZGMzYjc2OGJlNzQ2NDdmNjggcmVsZWFzZTI3LW1haW50Cis4NDc4MyA3ZGJmYzdlZjM5ZjJiNjM2ZDMwYTg3NjQ1MTMxM2Q5NzdjMThkODM5IHJlbGVhc2UzMS1tYWludAorODQ3ODQgNTU3MzU1ZTQ2YmE2MTlkZTUzNzYyZjc1MzBlYmQ0ZWQ3ZjllYTVjZiBweTNrCis4NDc4NSA3N2M4OWM4OWY2MGUxMTIyODlmZTc5YzQzZDk3YmVlMjU3YmJiOWU1IHB5M2sKKzg0Nzg2IDJkMDg0YWQ0NjhkYmQwMGM5ODkwY2E4MTQ5NjAyNzdkZjdlMmUzMzkgcHkzaworODQ3ODcgODIzNGQyNmIxM2MxOWVmNTY5ZDA0ODE4MThiYzBmZDA5NTNmYzk0NCByZWxlYXNlMjctbWFpbnQKKzg0Nzg4IDkxYTAwYjZiMTI4YmVkMGQwNGVjODNlNzk1ZmNhMmUwYjM2ZmE0ZDEgcHkzaworODQ3ODkgZWE4NDgzZjllNTVhYTY2MDkzMzIwYzJmMTQyMmE4NjU0Y2MwMTk4NyBweTNrCis4NDc5MCA5ZjU1ZmFhYTMxOTNhY2M2NzI0MmMzMjJlOWM2MzNlNDc4N2M3NmM2IHB5M2sKKzg0NzkxIGUyZGVjOWMwZDEzY2ZjYWJjMTA3YWM4NGJjNDNkOGZjYzkyYjExMzUgcHkzaworODQ3OTIgY2ZhZjBmN2VlMGMyYzkyZWMzMTA3YmQyYmRkNjI2Y2I1ZTE0N2YxOCBweTNrCis4NDc5MyBhNjBkZWVjYWMyNDI0ZWZkMGEzZWQwNGJjM2E1MDNjMDljOTg5ZDIyIHJlbGVhc2UyNy1tYWludAorODQ3OTQgM2EyOTYzYjZmNDQzZTg1MDE5MDhmYzcxY2YwMDgwM2JhNDU4MTk4OSBweTNrCis4NDc5NSBmYmU1ZDA4YTk4NjYxMzk5YmY2NTcxZTkyZThiYzllNjc3YTdlYTMwIHB5M2sKKzg0Nzk2IDY5ZWQ1ZWNiNTAyNmFkZGNiNTIyMzczZTdhZjVhZmI2ZmM2YTZmMWUgcHkzaworODQ3OTcgNDRlNDNiZWQ2NzRhNTRlNTkxMzg0MTg4MTFlMjQxNDgwYTllZjYxMyBweTNrCis4NDc5OCBlNWYwZmY3ZDdhMDZlZTkwYjNjNmRiOTkzYTlkYTVhZTFjYTgyYzhkIHB5M2sKKzg0Nzk5IDRhNGZiZTAyMjdhYTQ5NTI1ZmJhYTJiNWUzZDVkMDY2ZWFhZjM3YjMgcHkzaworODQ4MDAgMmQ4ZTQwODU5MzUxMmVjYzBkNWQwMTg1MGE4NjEzZTI4N2Q3NDJkOCByZWxlYXNlMjctbWFpbnQKKzg0ODAxIDIwYzQ1Y2RhZDljZjFlOGQ0MWU2YzVjOTIwNzZiOGFjNTEyMWFmOGMgcmVsZWFzZTMxLW1haW50Cis4NDgwMiBiMjc0YTkwYThlMmJkZmUwOWEwYTAwNTQzYzhjMzlkMDMwZWIxMzZiIHJlbGVhc2UyNy1tYWludAorODQ4MDMgYTQyZGI4ZjU0YmExNzA2ZDMxOGFkNzZlNWJiZmU3M2NhNDJlODExZiBweTNrCis4NDgwNCAxMjNmMzUxNGI0NWI1MjdiZjI2MjEwNzU1NzFlNDczNTJkYmIxNTdkIHJlbGVhc2UzMS1tYWludAorODQ4MDUgZGI5ZTYyYzI2NWZmNTBlNTkzY2IyZTQ2N2NkZjY1N2RjMmJlZGUxYiByZWxlYXNlMjctbWFpbnQKKzg0ODA2IDdmOTlhYzUzMDE0YTU0MjgxZjk5YmVkMWM5MmRlMmY0NzIxNTQ4MWEgcmVsZWFzZTI3LW1haW50Cis4NDgwNyAwZTk2ZjlmYTg0YTI0YTY5ZjVhMWNhYTRjODEzNGVmZmNhZmUyZTkzIHB5M2sKKzg0ODA4IGZlNWY5Y2M0MDc2ZWJiNzk2YmU3ZGFmYzljNWJlNDA4YTZlNTA1MmEgcmVsZWFzZTI3LW1haW50Cis4NDgwOSA4MGQxYzc3MzRkZjI1N2U0N2E5YzYxYmI4NGFhMTg4OTQ0N2Q5YTM4IHJlbGVhc2UzMS1tYWludAorODQ4MTAgMGUyOWFlNTFkOWJjNmFlMDNhOTdmMjQ2MTM0ZmFjZjA3Y2MxODU2OSBweTNrCis4NDgxMSA5MDVlZTllM2RhNmRlMDcxYTgxZDU3NWJjYTk2YjhhNTQ5ZTU3YzhlIHJlbGVhc2UzMS1tYWludAorODQ4MTIgZWRlZDBjYWVlNjIxMzMxMDAyZTlhZTU4YmRiZmRkZDAyYzljN2Q3OSByZWxlYXNlMjctbWFpbnQKKzg0ODEzIDUzNDg1M2JhOGNkMzZhYjVmMmNlZWM4YWM3ZTg2NWVkNWE5MWZhZjggcHkzaworODQ4MTQgMmJmMmE3YTRlMTdkNjQ1MmJlNzQwNTY2Njk2YzIwNjdjYjMwOTRmNyBweTNrCis4NDgxNSBkN2FlMWI5ZjEwYWI3YjY4MDMzZDg4NzZlOGQ2MjZiNTExNjNkZTQzIHJlbGVhc2UzMS1tYWludAorODQ4MTYgMmI5ZGVhMmEyZmZmZDYyOTEzMTZjNGFkOGExOWRkOTg2NDhhZDcwYiByZWxlYXNlMjctbWFpbnQKKzg0ODE3IDA3MWJkOGYzNTM1YWMwZGZjZWI0MDRhMjYzODBkNDk3OWJmMTI5ZDggcmVsZWFzZTMxLW1haW50Cis4NDgxOCAzOTc3ZGMzNDlhZTc5NDMwYTA3YjVlOTYwNGQzY2Y1YjFlMzc2NjRiIHB5M2sKKzg0ODE5IDkxNTFkNWZhYWUzZDZhODcyNGE1Yjc1YmQ3MjE2NWJiNjUzOWVmZWQgcHkzaworODQ4MjAgYjgxZThlM2ZhNWJiZTY3NmRiZGEwODRmY2VjOWJhYTBlMDQ4M2U5ZCBweTNrCis4NDgyMSBmNjQzZDUzYzUxYmQ4YjE3MmNlYjE5ODhlYmQ4YTUwNzc0MGJiMTlhIHB5M2sKKzg0ODIyIGU2MzNlM2E2YjI1NTY4ZmEwZWRiMzk1NDEyNzllZDM5ZDkzYjBjMGYgcHkzaworODQ4MjMgYjY5NTFiMDUyMTdiMjFhYWM2ODc3MGIzY2UzZjYyZjc2ZjQ1M2IzYSBweTNrCis4NDgyNCAzNTg0OGEzYjdkOGE1YWZiZDJhZDgyNTBiZjg2NGNjYzM0ZDU1MmNhIHJlbGVhc2UzMS1tYWludAorODQ4MjUgN2VmNWM2YmU3MjMyOTdmZjc3MjZkYzQzZDIwNzQyYWNhNGE4MTM4NiBweTNrCis4NDgyNiA5YWZmYjRkNmU5N2UyZDJlYWVlM2U3NWUwZjQyNTY0ZDE0NWYwYTM3IHB5M2sKKzg0ODI3IGM3NzlkZTY0NDA1YTkwM2Q0MThhZmMzMTdjYTY2NzBlM2YxNzljNmQgcHkzaworODQ4MjggZDg4ZmRmNWM1YjM3NjQyZTE0YjlmZDhmYzM4MGNlNWQzOGU0MGUyZSBweTNrCis4NDgyOSBiZWQ5NTBjYmQwYzAxZTUzMGRiNjkxYzBjNmJmMmJmNzgwNTgzYTQwIHB5M2sKKzg0ODMwIDViMDE4N2MwZDAwMjQ4MTJjZGMyMGYzY2RlODQ3Nzc2YTlhMWI1YjggcHkzaworODQ4MzEgYmNlOTc5M2ZiNTQ1MGVkOTFiNTVhYTQxZGRmZjc5Y2M1ZmVhOWJmMiByZWxlYXNlMjctbWFpbnQKKzg0ODMyIGE5N2QxMmU1NDY1Zjc5NTI5NzRkNGQwZWM4MDliYjBlMDUyODFiZTMgcmVsZWFzZTMxLW1haW50Cis4NDgzMyA2MWRmYzc5NjU3ZDczN2QyYzA3MmNlY2MwZmFlMDJkMWQyMGFlM2ZjIHJlbGVhc2UzMS1tYWludAorODQ4MzQgYzBkMzE2Nzc3M2E5NzMyMzhiYTY4ZDc5OWExYTIwNjA0MTYzMjBhYyByZWxlYXNlMjctbWFpbnQKKzg0ODM1IGJlYjlkMTc2NTAzZTQ2MmE0NTNiYTdmOTdlZjk3MmNlNjM5ZTFhYjMgcmVsZWFzZTI3LW1haW50Cis4NDgzNiBhZDYzZjk2NjkyM2M0MTAzNDE2M2FhYmYwYWZjODBjNzI2NjVmOGQ4IHB5M2sKKzg0ODM3IDNlZGMyNjM4MGU0OTZhYjBmM2I4NmFiYjI3Y2I1ZjY1MDQ4ZWFhZGEgcmVsZWFzZTMxLW1haW50Cis4NDgzOCAxZGViZmY0MmVhNDZkMTEzZWMwMGUwMmUxY2E0MDA2NDI5MWNiYTcyIHB5M2sKKzg0ODM5IGYyZWMwMTE1ZjhiMjAzZTUxZDQ3ODM1YzBjOTNhZTNhMzBlNzc1NmEgcHkzaworODQ4NDAgYTE2YjY3ZDRmMzAzMTZkMTBjYmM0MTMxZjZjM2ZlYWQyODRiZjg1YSBweTNrCis4NDg0MSBiNTc3NGIyN2IzZGJkOWFlZDJmODgxNDg3MDI1ZWZjYTM0OGRjNjkwIHB5M2sKKzg0ODQzIDk4NTA3MmNkMzFkMDNiODJmYmM4YjU0NTk3YTcxZThlNTkxNjBmMjEgcHkzaworODQ4NDQgZDY1N2U4YTYwMTI2NjQ5Y2Y5NTM2YzM2MmM0ZGZlYzg3MzczNWYzNCBweTNrCis4NDg0NiBkMTc3MWI0Y2QwY2JhODMyYWI3YTE0NDczNjY4ODUzODg2NzRlNWM3IHJlbGVhc2UyNy1tYWludAorODQ4NDcgMWJlOTUwZGNiYjFhNWY4MWFlY2YyYmI0ZmVhNGNhNTgzYTFkZDcyYyBweTNrCis4NDg0OCAyMzI0MTY3ZWMwMWQzYWEyMGY2MzUzMWU1YzQzOTY4OTlkZmQ1YzIwIHJlbGVhc2UzMS1tYWludAorODQ4NDkgM2YwMDA0NzM2ZDI4MzljYTQ0NjQ0MGM0YjBlNGMyN2U3N2NhOGY3YyBweTNrCis4NDg1MSBmZDVjNGNmZWQ3Y2QwYzNhZGIwYjM3YTViNjNkYmMzNDA5YmM2NzIxIHB5M2sKKzg0ODUyIGExNzdkZGRlNDVkMWI3NGExNjc3OWViZWU2ZGY0ZWUyMjE2MGZmZDQgcHkzaworODQ4NTYgNTc2MWY4ZTM1MmVjMjFmZGQ2ZTc2M2Q4ZDAyYzA2ZmY1NTgzMGQ4NyBweTNrCis4NDg1NyA2ODlhODEzZjRhZmMwZGQ5ZDk2NmJkMDg3M2M2ZmZkNGU1MGEwNWZhIHB5M2sKKzg0ODU4IGE4ODY5YWY1ZDVkMGNhNjc1MjY5ZWY1MWVmNGJlMTlmMWQ2ZGQ5MjYgcmVsZWFzZTI3LW1haW50Cis4NDg1OCA4MjU4OWE4ODllMDcwZmY3NzcxMWM3ZmNlNjdhNzFlMDI0ZWUwZWEwIHB5M2sKKzg0ODU5IGM0MzhmOTYzNDZlOTBmMWFiZWRmN2IzMTQxYWJkOTcxZWRhNTg5NjMgcmVsZWFzZTI3LW1haW50Cis4NDg1OSBlM2MzYzMwZjE0MDk4MDg4YTRkMWY5OGJlNWFhOGI3ZmQzOWNkOGExIHB5M2sKKzg0ODYwIGZhNDdhZjczYTY5MWUwMDZiZjcxMDVkN2U2NTQxMTM1NDc4MjYxYzEgcmVsZWFzZTI3LW1haW50Cis4NDg2MSBjYTM1NDJhZGVlMGRhZWJjMmNhZDZhNjQ3ZjY5YmNkZTE4ODZkMDQyIHB5M2sKKzg0ODYyIGUwNjQxZGJkYzhmNjJhN2U5YWI2Mzc1NWVhODQ3MzZiNmMxN2IzZjkgcmVsZWFzZTI3LW1haW50Cis4NDg2MyBlMzlhZDVkYzExY2ZlNGQ3NDAwNjNiMTk3ZGE5M2FjNzJjMjhhODE4IHJlbGVhc2UzMS1tYWludAorODQ4NjQgZGM0MjJkYWE1ZGFkZDBiZmM1NDI4Nzg0NDJkYTUxZGRjZTc3NDVjMCBweTNrCis4NDg2NSBhNDMxYzQ4YWQ0MmIxYTE5ODMxYWE1YzFkNDVhNGM4OTk2ZTRhODE3IHB5M2sKKzg0ODY2IGY3N2NiOGQ3NmU5OTE1N2E0MDIwM2E0NGRlYjZmNTFiMjdkYWRkNjIgcHkzaworODQ4NjcgY2QyZWY3NTI4NzM2NWI2ZTlhNTU0Y2UyY2NkNmNkOTI1MTc0OGZkYyBweTNrCis4NDg2OCA5MzhkODQyNTdkMTEwMjYwZGNjMTI2NjY1NmNhODFkN2MwYzZiNDljIHJlbGVhc2UyNy1tYWludAorODQ4NjkgYzg3ZWQ2ZjU4YjgzMDk4ODFmMTE0MjAwZTg3ZTFiNWNkMjVmMjk3MCBweTNrCis4NDg3MCBkZjM5YjBiYzQxMDY3M2I1ODE2ODJjNmVjMWU0OTNiMTc2ZWIyNzk5IHB5M2sKKzg0ODcxIDAwNjQ5MGYwZTcxZmQ2NmVjNTFkM2E0ZDQ0YzIxZjMxNmRiZmFiYjggcHkzaworODQ4NzIgMDFkYmI4Mjc3MTc4ODk2MjVmYWE1MDc4ZjY4MTJlNzdlOWM2NmIzZSByZWxlYXNlMzEtbWFpbnQKKzg0ODczIDE1MTgxNzE3NzUxNDljN2NhZGIxYzUzMzJhYzM0NWRiNDE4NDEyNGEgcmVsZWFzZTI3LW1haW50Cis4NDg3NCBkMDYwNDc0ZTBlMjQ1ODU2NDFkYTQ4ZmZmYWVjOTlmNmJhMWRkMzdmIHB5M2sKKzg0ODc1IDJmMjgwNzI3YTMwN2Y2ZWQ5NmM3MGNmNDg1ZWU1NjE3NjJjMTY4OTcgcHkzaworODQ4NzYgMjg2N2FlOTAyZmEzMTQ3MzY0NjQzZmJhYjgwZjVhNGIyY2I4YjUwMSBweTNrCis4NDg3NyBkMzkwNDAwZDcxZjdiOTZlYzIzMWE0YzFmODI2ODI4NzZmNmEzNjJjIHJlbGVhc2UyNy1tYWludAorODQ4NzggYjQ5YWVlMzg3NzliYzBhOWRiMjY3MTU4Y2RjMzM0ZWJmOTkxZTYwZCBweTNrCis4NDg3OSA0YWEyYTIwYWMzMzViZjA1YTVhZDVmNWUyOWU4Y2QzMDgwZGVjY2Q1IHJlbGVhc2UyNy1tYWludAorODQ4ODAgMjllYWQ1NGMwNWFkODc3YWMxYWY4NWExMGQ4NGY4YWU5ZTI4ZTEzYSByZWxlYXNlMzEtbWFpbnQKKzg0ODgxIDJkYzFkMTg3ZWUwNGFlM2VkM2QxZGFmNzc0OWQxNjE5ZjhjNDAwOTMgcmVsZWFzZTI3LW1haW50Cis4NDg4MiA0NDlkMTA0ZTE4MzYyNzNhZWFlNWQ4Yjc2MGNlMTNlZDY4NWU0MmI0IHB5M2sKKzg0ODgzIDQ5ODFjZjBhOWNhNGNmOWUxNzdlOTNlN2EyNzNjNmM4MmEwNTZlMDQgcHkzaworODQ4ODQgNzc0MjVmMmQ3ZDc2NTk3NTc2NDkwODMzODE1ODlmNTExMzFhOGE2ZSByZWxlYXNlMzEtbWFpbnQKKzg0ODg1IDA0YjQ1ZDQ1MTA1OWY1MGYxZWZhZjMwM2Y2ZDk4N2Q3MzUyOGI2OWYgcmVsZWFzZTI3LW1haW50Cis4NDg4NiA5MjkxYWEzZDhkMzU3MjM3NzUyYjRiNDllM2JjYmU0ZjJlZjI2YzFiIHJlbGVhc2UzMS1tYWludAorODQ4ODcgZjNkY2IzMTRjM2UzMDJlNTU0MjJmODZjNDZlYzc2YTNhZTYwNmExNyBweTNrCis4NDg4OCA3MWI5NTk0MmMzYTQ5Yjg4OTIyZjkxODg4NjMwYjZjYmI4Y2MzNmVkIHB5M2sKKzg0ODg5IDlkYzg0NTIyNDQ4NjEyOTgxMjg5YTI1N2ViY2NjM2ExOTY0MTRhNTYgcHkzaworODQ4OTAgYjY5ODQyYjUwZTI2Mzg4MjhmMWIzNGIzNDZjODVjYTIyODhiM2I3OSByZWxlYXNlMjctbWFpbnQKKzg0ODkxIDY1ZjVlMmMzZjJkZDE5MTk4MGZmYTZkM2ZmYzk5ZGVkZTU3NDUwMmIgcmVsZWFzZTMxLW1haW50Cis4NDg5MiA5MjU4ODk4NmI3OGJkMjhhZGIzZDAyYzk0ODVmZTFmOTlhNDcwODkwIHB5M2sKKzg0ODkzIGU1Mjk0Y2EyN2FiZTJkMTIzMDQwYTNlM2QzOTZjN2RjZTE5OGIzYjQgcHkzaworODQ4OTQgZjdhNzZmYzk3YjIyMGRmMzI1OWM0ZDJlMTMzMDZhOWViMTMyMjRkNiByZWxlYXNlMzEtbWFpbnQKKzg0ODk1IDQ1MTEzOTMyMmExMzExOTVkNzAwMzFiYjMxNDEzMWI5MDdkY2I3ODQgcHkzaworODQ4OTYgY2Q1YjlhNzBhNjg1YmI3MzM5ODMzOWJkZTE4Y2MwODM2OWVhOTZkOCByZWxlYXNlMjctbWFpbnQKKzg0ODk3IDUwMWFlOTRlNWJmNjE1ODQwZGJjZjAyZWNmZDdiZWM2NTIzYjQyMjcgcHkzaworODQ4OTggNDRjODljNTk5M2M4M2ExODk3N2QzNmM4ZGUwYTIxMjQ1OWIxNjQ4NyByZWxlYXNlMjctbWFpbnQKKzg0ODk5IDBhY2U5ZWVmMTIwYmUxZjFmMWE0OTU0MmMwYTIzNzdkMmQ4ZDc2ODYgcHkzaworODQ5MDAgYTQ4ZTAzMWQ4MTc4ZmI4MGNhMGE5ZWMzMzZmY2FhZDE1YTc5YWIwMiByZWxlYXNlMzEtbWFpbnQKKzg0OTAxIDc4NWE5NmZjZDM0MGRmMmQ1OTRmYTUxN2FjNDFlMGFmNGVlYTFlZTUgcmVsZWFzZTI3LW1haW50Cis4NDkwMiBiMjllODU1NjAxNWNiNzMxMGExODU4NzBlNmZjOWFlMjIxMTQyNDE3IHB5M2sKKzg0OTAzIGEwNTQzMzA2MDk0MTE4NmUxOTk0YWFkYjA2ZWFhNjk1ZWQ5ODViYTAgcHkzaworODQ5MDQgNTM0YWY5MWYzODQ1NDA2MmZlMjZkYzcxNzgyZmRlZWQ2M2YzZGNmMCByZWxlYXNlMjctbWFpbnQKKzg0OTA1IDkzM2Q0YjViN2YzZDY4Yjc4NDU1YjkxOWE1YmJkM2ZjNzRmOTYwNWQgcHkzaworODQ5MDYgNzYwNTFlYjA3NDIyYzc4OGYzNWQzMmM5OGEyMjAwNzRlYWQ1ZDdkYyBweTNrCis4NDkwNyA4ZGZiZjY2ZjM2OWNmNWEyZTdhYTU2MmU3ZDg0ODhlMTc5ZTc5MzRiIHB5M2sKKzg0OTA4IGRkMzA4MGI4MGRkYTkxOTQ1NTdkY2YyMzRhNzliOTQxYmE3YmFkMzAgcHkzaworODQ5MDkgNDM3NGIxZWFlYWQxNzc2ZjViOTJkNjhiZDI4NjQ3MjFkODg2NGI5ZSBweTNrCis4NDkxMCAxN2VjOWVkNTAxMzNiOGJhZWRkYTYwZTI4MzIzYzY3NjRkYTE0NjIzIHB5M2sKKzg0OTExIDAzNjU4NTM4MmRlMTliYjk3ZjE1MTBjMDJhNzExNmY1ZjU2YTQwYTcgcHkzaworODQ5MTIgNGY0YmRkZGFjMjViMjNiNjUzMjRiNmRiMzdkODk0N2M5Njc3YmViNCBweTNrCis4NDkxMyA3NmZkNjhiYmExYTg4NWE0NWYwNzQ3MWRhYmJmYWZkNjJkZjgyZTI2IHB5M2sKKzg0OTE0IDhlNDI4YjhlN2Q4MTU4NmUyM2I1ZjkyZjljYTliMThkYWYxNGY0NDkgcHkzaworODQ5MTUgNmM3Nzc1N2QwODgxMTVhMDFjZGQyOTMxZjAwMmQ3MDY4N2EyZTMwMiBweTNrCis4NDkxNiBiNTU3MjUzNTk4YjFmOWNkMzgwMjAzM2IwMWY5ZDdiZTNlNzA0MTg4IHB5M2sKKzg0OTE3IGVjMDI4MDY3MDQ5ZGE2N2M3NTFkMjc5ODU4ZGI3MWQ3YmY2ZDQwZDYgcHkzaworODQ5MTggMmNkZGY4NzhlMzk1NTUzYjZmYWU5Nzk5NzIzOGExZTk1NDVkNGU2MiBweTNrCis4NDkxOSBjZjg4MTcxNDk5YjVhNzg1MGJlZWU3YWViZGE0MmZlZWRjMTU2NDUzIHB5M2sKKzg0OTIwIDNhNGFmYWE5NmFjMzMyM2MwZGM0NTczMTMxOTFmYWIwNGU1NzdlNmIgcHkzaworODQ5MjEgNDg2YzJkNmE3NTQ2NWQwMWY2MTZiYTE2YWM4YTUwZDZhYzdiMjlkNSBweTNrCis4NDkyMiBhODhkZmYyN2JlMWY3YjJlYjA5ZDA5ODA0YmY0ZDlmYTE0OWIyNDk3IHB5M2sKKzg0OTIzIGYzNWJkMDhjMTJhZWYyYzQ2YjRkYjc5YThjZmE3ZmRlOWJhZmMzOTkgcmVsZWFzZTMxLW1haW50Cis4NDkyNCA2YmQyNzZmNWQxYmNlNzk5Njc1ZjhjODExZjFiODI3OTgzZTJiMGQzIHJlbGVhc2UyNy1tYWludAorODQ5MjUgOTZkYjY0MDY3NGNiN2FhYTUzZWYwOTQxZDk2Mjc3ZjU0OTI5YmUyMCBweTNrCis4NDkyNiAzY2FjZTEyODlkZTQ4OGJhY2Y2MjBiYTE0ZWQ0NGM4NzVmNTE5NGI2IHB5M2sKKzg0OTI3IDM4YjBkNWQwZGQzMGU1MGE3MzAzZTRmNDNkNjVlZmRiMWNlZmFhNDUgcHkzaworODQ5MjggMGQwZjFkYjYzNDMxM2YzNjMxM2UxNGI5OWEzYjUyY2I2OGY4ZDg1YiBweTNrCis4NDkyOSAwMGU0Y2UzMWQ0MDQwZDVjMzRiNjU3ZGQxNzljZWE1OTY1NjgyM2QxIHB5M2sKKzg0OTMwIGE2YWY5YzdjOGU2N2U4ZTQ2Yzc5NzgwOWI4MTNjNzY4NTBhYzg4ZTggcHkzaworODQ5MzEgODYxYzM1Y2VmN2FhOWU1MjI2ZDRjYzJlYjFlOWViNTI5YTFjOTg0OCBweTNrCis4NDkzMiAyYzczZTZjZTZhNzU2ODQ2OGM3MzgzNmExYzcyNjNjZWJiMTY2ODIyIHJlbGVhc2UyNy1tYWludAorODQ5MzMgYmYwMTFlMzBmYzA3NjI3YjUyOGFiOGNmMTViODU0ZDQ5NzhhNmRkMSBweTNrCis4NDkzNCA0N2IxMGU0YTUxZDdlOGQ0YzBkZmY3NjRlNDhlYzJmYTc2NzNiYmU3IHJlbGVhc2UzMS1tYWludAorODQ5MzUgMzY0ZDZlZjdjY2FlNGNjMjQxNzdlZTQ1OGQ3ZDNjOTk5YzNkNDdjYSByZWxlYXNlMjctbWFpbnQKKzg0OTM2IGU5MDQyNzk4NDQ0MmNmNWI5ODliZGIzMDRjMGE1ZTMzZmFkMTVlNTcgcHkzaworODQ5MzcgNjAzNjc5ZDg1MzI5MzA4OTJhMmQ4ODdmMDU2ZjA4ODk0N2VlNjg5OSBweTNrCis4NDkzOCA3ZDQ1ZjUzOWRiOTdjODExZjJjNTc1ZjBlNmE0OTExMzdlNDBiYTUxIHB5M2sKKzg0OTM5IGIxZWM0OGI3ZmZkZmZlYjUyYWZkZjJiMjc1ZTg2NTJlZTc2MTMzYTIgcmVsZWFzZTI3LW1haW50Cis4NDk0MCBkOGJiOThlNDJjMmZmY2EzOGU4ZmE3YzY4ZmYzZTE1YWRjZGZjNTQ5IHJlbGVhc2UzMS1tYWludAorODQ5NDEgZjhjZTlmMzU5ZjNhNjRmOTFkZDI1YzZlZjExYTNhODM5NjBmZTVlNiBweTNrCis4NDk0MiBhMGUwY2I4OTNlMzFlMzIwY2FlYzc4MWFiNWVjMmQ3ODZjZWQzYzFkIHJlbGVhc2UyNy1tYWludAorODQ5NDMgMzM1OWQyZTBhOTY3MTcwOWJmZDYwY2UzZDAyNmQ3N2I0NWM1YmJlYSByZWxlYXNlMzEtbWFpbnQKKzg0OTQ0IGU1OWExODgyNThiMzQ4ODM4ZmY3ZDYyNDRjMDhmM2QwYjI1OTNlMzQgcHkzaworODQ5NDUgZDZkNjU1ZmRkZjIyYWNlY2RjNjljMTVjM2ViMzdjMmYyNTU3YjZkOCBweTNrCis4NDk0NiA0ODg5YTgxNmVlYzE2OWQ4YWE5NWRjZDJlYWI3NjMzZjU2MzgwYjE2IHB5M2sKKzg0OTQ3IGIxZjUxMzRiMDA0OWJkNjhlYWQ5OTVkNTg1YzJjYTMxZjNmYzk1YWUgcmVsZWFzZTMxLW1haW50Cis4NDk0OCA0ZWMxMjExNTZlZTllZjQ5MjcwZmY0MWQ1YzgzYzJiYzk4NGI4ZjBlIHJlbGVhc2UyNy1tYWludAorODQ5NDkgYTRlZThhNWM2ODQzNzI0NDVkODYwZWJhZjMwNTAzMzY4ZDU0YmY2MiBweTNrCis4NDk1MCA5YWQ2OWZjNGFlZjc1ZDFjMzAxZjg1ZTQwN2NhZDk4ZDg2NGQ5MGRmIHB5M2sKKzg0OTUxIDhjZWViNTlmNDU1MGFmNTFkYTQ3NDUwOGY2OGU5YTFmYmE3MjMxNjIgcmVsZWFzZTI3LW1haW50Cis4NDk1MiAwOGJkMWEwOGM2MmY3NWU0ZDYzOTNhZWRmNTM1MzE4MDQyN2NlYTVjIHB5M2sKKzg0OTUzIDJiOTMyNzc3NzgzMmEyNDRhZjIxZmY3MmFhZTg1ZDBjOTQwMzBkYjggcHkzaworODQ5NTQgOWUyMjE2NDIwY2Q3OTViMjliMzc4Zjg2NmEzMGE4OTZhYWVmMmE1YyByZWxlYXNlMzEtbWFpbnQKKzg0OTU1IGM1Mzc3MGIxNTQ2ZGFkNGI5Mjk5NTljZTM1M2M3MzIyOTJjOTYxZTMgcmVsZWFzZTI3LW1haW50Cis4NDk1NiBjOWVkYmNlM2ZjYWQ4YzZjZDJkNTQzMTAyYTFiZTcwYmNmYTE1NWM0IHB5M2sKKzg0OTU3IGUxYzhlYjM5MDUwNzAyOGE5MTAyMGQ2YjY5NzYyNDNiNTlhMTAyMmMgcHkzaworODQ5NTggMDVhNWY3MWMxYTc4ZjdkY2Q4ZDk5NDYwMzIxMDAzNGY2MmVhMmIyYyByZWxlYXNlMjctbWFpbnQKKzg0OTU5IDgyMDhhNDMxOTFlMjljOTI0NzAwYTkwODhiOGNjZTFjOTgwMTI5ZDYgcmVsZWFzZTMxLW1haW50Cis4NDk2MCA4YWM3MGIxMmNhNjFmYWUyMTQ4NzQwNjc0M2UxYTMyYjhmNDdmNzY2IHJlbGVhc2UzMS1tYWludAorODQ5NjEgYjNkMGRlYWY1MGU1MjMyYzZkOWJlYzc1YjQwNmQ1YmVkYjJjMzljYyBweTNrCis4NDk2MiBkNWZlMDQwZjRhNDhhMjc4MGZlMzMxMmQ5MzgxOGQ1ODgwMDgzNTgyIHB5M2sKKzg0OTYzIDZiOWY4OGRkYjRjZWU5MTQ5YTFjZmQ1Zjc5MDNmN2I0MTM4OTNmNzggcHkzaworODQ5NjQgZjJjZWVhYWFjOTM4MGI1NDIzZTJjNTNkM2Q5NjUxYTJhZjA1YWYxOSByZWxlYXNlMjctbWFpbnQKKzg0OTY1IGViY2Q4MTE1NThkNjdkNjA0NjdhMjI1MDBjYWYxMmJhZTI0ZGJmNmQgcHkzaworODQ5NjYgMzQ3NGNlZTljNzU4YTg2ZTk0MjdlMzFlMWY1NzM3Y2ZmZDViZmQyMSBweTNrCis4NDk2NyBkNTAwMWQ2Yzc3MzY4ZWZiZGFlZjMzNjI5YjE5MjI1NjMyMWM1MDcyIHB5M2sKKzg0OTY4IGY3MDNhNjQzZTZjZTA3YjhjMTk1OGZlMGE3NGQ4MWY2MjAzMWYxNWYgcHkzaworODQ5NjkgMjI1YTZkMWNmODExZjcwYTc0ODMyMTE4ZGJlNDE2NWE5NDk4M2UwMiBweTNrCis4NDk3MCA5ZWE1MDRkNDVlZWFhN2UxYmY0MjhmOGE2NDI5ZGJiY2FmMDU3OWM3IHB5M2sKKzg0OTcxIDk2ZTdlZTIzMmFiZjExZTJkY2I4M2FjMTdhOGU5NjY0ZTlkOGViMzMgcHkzaworODQ5NzIgZGZkNTU4NGViMWFjYjU5OWJkNDJiZWU0YTgyMjRjYmY5ZTk0YzYxNSByZWxlYXNlMjctbWFpbnQKKzg0OTczIGE2NzZhYzA2ZWFjYzA4N2Q2ODFjZDM3MDY3NzFjYWU4ZTIwODA4NWQgcHkzaworODQ5NzQgZmY5MmNjMzU2YzM1ODMxMzRhMmM1MzVkZjRlOGU2MTJkNmU4YTc1ZiBweTNrCis4NDk3NSBlZTE1Mjg1MmM5NGRmOTQ2NzQyZjY5MGZlNjJmYWFkOWFlYmI0ODY5IHJlbGVhc2UyNy1tYWludAorODQ5NzYgZjRhMWM3OTZiYzk4NzQ1M2U1NjhmNjJjNWJhNGI1ZWMyY2M2YTdjYyBweTNrCis4NDk3NyA2MzNjNmIxMWE1YTllNzg1MWFmOTcxMzY2ZmFjOTMxMmFjMjRmNTlkIHB5M2sKKzg0OTc4IGQ1NjBlZWNlMDg1N2YwNmMzZDBkNTNkOGJlNjg2Y2Q1MGZjMTllOGQgcHkzaworODQ5NzkgZTMxNDkyZjQ0MGM5ZThlNTFhOWJlMmI1YzNlMWIwN2YzNDA0Yzg2MyBweTNrCis4NDk4MCBhMGVjYjhlMmQ3NjllN2EzYzI2YWZmZWNhNTVjMDhlZTkwM2VkYzVkIHB5M2sKKzg0OTgxIDUxZDhmZmZjZDI2MGU4MGFhMjVkNTMxMTgwMDYyZjM3ZmNjNTg0MmQgcmVsZWFzZTMxLW1haW50Cis4NDk4MiAyMGYzNDVmYzAzNjExNGI5NGY1Zjk5ZmFlNDc2NDVjZjllODI5YTQyIHJlbGVhc2UyNy1tYWludAorODQ5ODMgZDA4OGZhYTM1NDU2ZWFmYjdlNjI1NDUzMjJkYjQxOWU0ZjhiYWY5MyBweTNrCis4NDk4NCAyZTViZGUzODNhNWM3NGFhMThmMmU0NGNhZjYwMWEzZGZkMmE5MmE2IHB5M2sKKzg0OTg1IDBjNzdkMDBmNGY4MjRlMjg4YjRiODE0OGJmZTE3ZmZkYzkyYjM2YWIgcHkzaworODQ5ODYgYWIzZDkyZmVhOWZkYTVlNWJmOWRlN2U3NTJlMDkyYWYyMTQ4MzE1MSByZWxlYXNlMzEtbWFpbnQKKzg0OTg3IDFkZWJjY2ZiY2JjOWE4ZWVkMDhhMzk1MDZjMGMwNjc3NzBiZGU4MTggcHkzaworODQ5ODggMjhkNDFkMzRhMmU2MTU1OTA1NTQ4ZDUzYjM2NjJhMzNkOWMyYjM5MyBweTNrCis4NDk4OSA3YWNhNDU4NDYxYWIyNzFlNzAzZmY4YmUxNTRjMzg2OTE4MjA0OGNiIHB5M2sKKzg0OTkwIDc5NTJjZmFiYmI4ODc1Zjk4NzRlNzYyN2RmNGFiZWE4YWVlOTdlODEgcmVsZWFzZTMxLW1haW50Cis4NDk5MSA4N2FmZTQ3NDI5YzU2ZDE3ZjQ5NTQ1NTBiZTcyODVjZDZlZmMyYTQ0IHB5M2sKKzg0OTkyIGFhNTZlYmI4ZmU5NDczNGEzMmYxMDljYzBlYTg1MGQ5ZTUxYzc4NjcgcHkzaworODQ5OTMgMjYwZGM3ZGUxZTg3YmU5YjVhYjdmZTNhY2EyZjFmYzgyMDRjOTk2NyBweTNrCis4NDk5NCAwMDcyMjhkMGU1Njk4NDYzMWU4ODAwZTc2YjgxOWUxZThiNjgyN2YwIHB5M2sKKzg0OTk1IDIzNTA0NGIzOWE5MjExYTU2YmI0ZDRjOTZjZGVlNzk4ZTE5YmViMzAgcmVsZWFzZTMxLW1haW50Cis4NDk5NiAxMmUwZGZmZWY3YmQyNDgyNWJiM2JkNzkzNWUzNDQ3NjZlMDdlMzc5IHJlbGVhc2UyNy1tYWludAorODQ5OTcgZjZhMGViNzMwYTliNzg0YmMwYjQ3ZjNjYTVkYzhkZDAyM2Q3OTVmNiBweTNrCis4NDk5OCA4Y2M0YmU2NDhhYjQ5MDZkZGI0ZDZjMWI2NWE2MTY4MTBkNzFiZTRhIHJlbGVhc2UyNy1tYWludAorODQ5OTkgMjYwZGMzNmMyYzg2MWVmN2JjY2E4OWVkNGU4Mjg1NzgwY2JiMWMyMCBweTNrCis4NTAwMCBiOTQ1M2Q1MDRmOGNhNGFlZmEyODVkZjRkMTNiMjRmY2YwOTRiZjJkIHB5M2sKKzg1MDAxIGIyNzhkOTNmOTU4ZWVjMTg0MzgzMDEwMDEyZWVmZTM4NGYwZTgyMDQgcmVsZWFzZTMxLW1haW50Cis4NTAwMiBlNWI3MDc5MzU2NmVkZGE1ZWU0YWVjZTUzNDcxMDI4NTYwMmU2NzdjIHJlbGVhc2UyNy1tYWludAorODUwMDMgYzllMjk5MjQ5MzIzODI1ZjYzYmJlZThhMDg4NzI1ZmMyMjIxYjZiNiBweTNrCis4NTAwNCA5Nzc0YzExZTAzZjZiMGI4ZDg1MzJiMTIwNTcxN2MwMmQ3MWU0MzU5IHJlbGVhc2UyNy1tYWludAorODUwMDUgNGNkMGVkZjBiMzU2MTk3MGRmYmE1YmQwYmViOTJiMzQzZjZmZDkzNSBweTNrCis4NTAwNiBjOWIwOGM1OGYwNjMwYjkxYzliM2Y4ODJhNTgzODk2YzJlMmEzM2MyIHJlbGVhc2UyNy1tYWludAorODUwMDggMGI0OGM2Zjg2NzFmZDRlMzBjMTk4YmVkY2Q1NTYyNGRiYzZhOGZkMCBweTNrCis4NTAwOSBjNTJmNzVjM2ZiYTJkODY0OThhMDUzOTZmMzJhNzkxMWMxYjBmOGI3IHJlbGVhc2UyNy1tYWludAorODUwMTAgNjUxMTE2NWU0ODMwZDhmZjY4NDZkNDc5OTVkYjdmMWIyZTM0YzEyNiByZWxlYXNlMjctbWFpbnQKKzg1MDExIGJjN2Q4ODA4ZjE5NWM5ZDI1MTQ3YzdhZjAzNDBmODNlOTEwMDJiNzMgcHkzaworODUwMTIgMjY1ZjcwMTc3NzJiODcxMTJmMDY1NjFlN2I1MWIzNjdiZWZkMjE5ZSByZWxlYXNlMjctbWFpbnQKKzg1MDEyIDQzZmQ5ZTJiNWU3ZDFmYzNjYmM0Y2ZjYzcxMTAxNmQ3ZjE3MmNkMDkgcHkzaworODUwMTMgNjNiYTdhNGU3YzEwMjIzMWFmNjczMWE1NGY2ODBkMjg3NTE5ZTVlMiByZWxlYXNlMjctbWFpbnQKKzg1MDEzIDQwOWQ2Yzc2YzMwN2U0MzBjZjIyNGZjOGU2ZTYxNzQ3ODE3NmExMGQgcHkzaworODUwMTUgNDAzYWYzNWY0OTQ4N2I5NGU2ODExMGNjNzczZTM1MzlkMTUwN2MyNyBweTNrCis4NTAxNiA2YzY4ZGJmOTMyZDA2ODRmMGUzZTg3NGVkNzVhMWNjMzU0NjhhZGM1IHJlbGVhc2UyNy1tYWludAorODUwMTcgYWM4YWEyMjVjNDE3NWFmZGFjYTMyODdhNmU2ZGQzMDNkY2RlZTY5NyByZWxlYXNlMjctbWFpbnQKKzg1MDE3IDI4ZThmZmIyYWNjYjY5ODQ1YjExZGJlOWU5MDcyNDUzOWQxODhhNWEgcHkzaworODUwMTggMjZkZmU0NGM5ZmFhNDU5ZjBkMGU3ZTAzMmQ5MTE4ZTE2ZWMyOGNlZCBweTNrCis4NTAyMCAwNWM1OGIzZDZkMzk0MWFhZDMxYzNhZTQ2MTRkNzViOWZhYjU1MTkyIHJlbGVhc2UyNy1tYWludAorODUwMjIgN2FjMzBkNThiMWQyMTZkODNhNTQzMDY0YTRhNGYyMGI3YTNiMzc2ZCByZWxlYXNlMjctbWFpbnQKKzg1MDI1IDJmYzczZDdjNzYyMmQyMDZlZTlmMzE5ZDQxZjFmYTBhOTgzNmQ5ZTMgcHkzaworODUwMjYgODg4MTI2MGQxZDE0ZmJkOWQxYWQxZDhmNGZkODZlM2ViMDNlZWQ0ZSByZWxlYXNlMzEtbWFpbnQKKzg1MDI3IDNmMGZmYzgxOTllYWZjZjAzMTFlOWM1MjBmY2Y5Y2IzMjhjY2NhYzkgcmVsZWFzZTI3LW1haW50Cis4NTAyOCBmZDVlNTEwMzUzMzViMzhiOWQwZGI0MzMxMWVhODhjZjk2NDM4MThhIHB5M2sKKzg1MDI5IGU5MzhlY2M1NTAwNTQ4YmE5NDU2NWRhNzgyMjA4ZjhmZTc3MTFjMTcgcmVsZWFzZTI3LW1haW50Cis4NTAyOSA1MmVmYjEwNDRkZTU5MzRmOTczMTk1NDU5OWFlNjAyZjg4MGZiYmVhIHB5M2sKKzg1MDMxIGZmNWQzZTVjNGJiNTk1ODgwYmUzNzhmMTg5ZGRkNjkwMzM5ODg4ZTAgcHkzaworODUwMzIgYWVkMDRiM2YwZmUzODIyZmY1Mzc0YWNhMjFhYWVlODhmZDYwMmUyYyBweTNrCis4NTAzMyA2YjQ5ZWExMWIxNTc3OTBiMTZmNjI2ZGQ3MmJhYWE5MzNiMDdmN2MyIHB5M2sKKzg1MDM0IDVhN2JiODVhNWQ5OWMzNTYzN2JjNDQzODM2NWFjZTY1ZTIzMGY4YWMgcmVsZWFzZTMxLW1haW50Cis4NTAzNSAxZGMyYjUwZDM0NGY4NWU2M2M5YjRjMTUwZDQwNTVjOTAwYmFhYWMxIHJlbGVhc2UyNy1tYWludAorODUwMzYgN2JkYTBhNjMyYjBkNDU1YzU0OTRlMTJlN2JkZWIyNDk3NTM1YTgwMSByZWxlYXNlMjctbWFpbnQKKzg1MDM3IDRkM2ZiY2Y2Zjk2YTBlODIzODg4N2Q1NjRlNTdkOGU5MjQ2ZjhiMTYgcmVsZWFzZTMxLW1haW50Cis4NTAzOCBjZTRhMjJmYzljYzQ0MWM5NTMyMDNhZTRlOTZhYjU0NThiMTI4MDAxIHB5M2stdHRrLWRlYnVnLW9uLXhwNQorODUwNDMgM2Q0OTBjM2EwMTllMjEwYjYzNGVmYmI3YTExMDRkODhhOTk2ZWUxMyBweTNrCis4NTA0NCBmNzZlZjFmNDYyNjYzNzA2NDA0Y2NhN2MxMmNjNmY5NDg0N2IyYjA0IHB5M2stdHRrLWRlYnVnLW9uLXhwNQorODUwNDUgN2RmYTk5MDBmOGM3ODg1Y2ZjY2M5YzBhYTlhMTQ5NmQ0ZGY0NDRhYSByZWxlYXNlMzEtbWFpbnQKKzg1MDQ2IGUxMmJhNDJmODYxZmM3ZWIwNTBjYzg0MjMwZTQxZDczODgzNWRlN2IgcmVsZWFzZTMxLW1haW50Cis4NTA0NyBlMzgyZmY3NDE3OTAyNjJlOWNiNGQ5ZjM3NWMxNmEwYTM3YWVmN2E1IHB5M2sKKzg1MDQ4IGM4ZGM0YjVlNTRmYmQ0ZTE0Y2Y1NjU1MmM3Yjk2OWRiZDc4ZTRhNDQgcHkzaworODUwNDkgM2Y0MjczZDMwYjM4NTI1MTFhMzYwMjFkNTY2ODFjM2YzNmI5ZDc2NiByZWxlYXNlMjctbWFpbnQtdHRrLWRlYnVnLW9uLXhwNQorODUwNTAgMDk4MTIzYTdhMDNjYjdiMWE1YzEyYjdhNGFiOTJhN2Q5ZTQ2YjZiMSByZWxlYXNlMjctbWFpbnQKKzg1MDUxIDRjNDhlYmExMjEyM2VlNTY3OTFjYjhmMDc0YTRiMzA3MDg1NDNmYmIgcmVsZWFzZTI3LW1haW50Cis4NTA1MiA2OTRjYjVkODY1MjUxNTBjYzFlZjM0NjRlNmQxYzA4OTQ2ZWQ1ZWY1IHJlbGVhc2UyNy1tYWludC10dGstZGVidWctb24teHA1Cis4NTA1MyBhNGIzOTk4YTdhZDQyZGE2MTAwM2ZlNTdlMDk0NzVlNjhhMmZhZWVjIHB5M2stdHRrLWRlYnVnLW9uLXhwNQorODUwNTQgZmFmZTg0MmUzMjAwY2I4YWQ1NzQ5MjhiMWY4MzUwYTcxM2VmMTM3ZiBweTNrCis4NTA1NSA0ZTVkMjAxZmYyOTQwMWIwNTg5N2ZlNTk5YjUzZGRjMzAxOWRlMTdjIHB5M2sKKzg1MDU2IDM1M2YwYzJiYWY3N2QyZGQ1ZjkwOTQ1NWNlYzY1YWVhMTI3MzlmYmMgcHkzay10dGstZGVidWctb24teHA1Cis4NTA1NyBjZWEzN2ZiMDNkYzBmNDlmZGZjY2M3ODE3NjM5OTdjNTQ1NTliMzMwIHJlbGVhc2UyNy1tYWludC10dGstZGVidWctb24teHA1Cis4NTA1OCA0NWY1NmUzMGFmYTU3NWYzMjJkMTM3NTMzMDRmNDRmNTRiNGRkN2JmIHJlbGVhc2UyNy1tYWludC10dGstZGVidWctb24teHA1Cis4NTA1OSA5NTIzZGJlMGI2NDk5ZTlhMTBmYjZiYzMxZTZkNWY4YTg4NjhjZGYzIHB5M2sKKzg1MDYwIGUwNjI4ODQ3NjVkNjVhZGY4NDkxZWYyOGQ3MzQ1M2U5OTc1OTRiY2IgcmVsZWFzZTI3LW1haW50Cis4NTA2MSAwNWNlNTg1ZjY0YzQ4OGE4OWE2MDE0ZGQ2MzdlNTViN2I3NTFkZTAyIHJlbGVhc2UzMS1tYWludAorODUwNjIgZTMzMmNkOTVmNDE0YWEwODljZGViZDhiNGJjNWNkNDRkYmJlY2FlZSBweTNrCis4NTA2MyA5ZGExM2U1NjBhM2E5NmRkNTRiM2MxZWFlZmYyYmJlZTUxOWFmMjU2IHJlbGVhc2UzMS1tYWludAorODUwNjQgYWZiMmYxNDRiOThjMjM2NTVhOGVkOGJhMTYxYzQ4ODkzOGZhYmU2NyByZWxlYXNlMjctbWFpbnQKKzg1MDY1IDQzYjc5ZDgwZjVhZWNlYWJhMzA3Y2FkOTg5NTc0N2EyMzI5YjRiMTggcmVsZWFzZTI3LW1haW50LXR0ay1kZWJ1Zy1vbi14cDUKKzg1MDY2IDdkOWJhZjY0OWYyZDhkN2RkMjQxN2Y5Y2E5NmI1NDhjNzVkNDUzNzEgcHkzaworODUwNjcgNjRlNDExN2Y3ODg3NTRhZmYwNDIzZGMwOTBhMGI4ZTA4YTEwY2ZlZSByZWxlYXNlMzEtbWFpbnQKKzg1MDY4IGQxYmVlN2NmNmMyZjJhZTVkZTU1YTlhOTFkNjhlNWZlMTY5MjUwOTYgcmVsZWFzZTI3LW1haW50Cis4NTA2OSBmYWQ3OGU4NmQxNmVjZDM1YmJiNTliYjdjZmRiNjhiMmU2YTE0NjcyIHJlbGVhc2UyNy1tYWludAorODUwNzAgZGQ5NGFjMmE0MmIxN2VmYWNkNTExZDc1NGMyNDNmOGQ0Zjk5YjUyYSBweTNrCis4NTA3MSA3ZTI3NWE0Y2Y5NDEwZDQyOTBkYmJjNGNkNDc4NGUxOWExYjY4ZmNkIHB5M2sKKzg1MDcyIGEwOGU0Mjc4OWU2ZDUxZDIyNDYzNTJkYWQ0OGZiYWU3ODgxZWM2ODkgcHkzaworODUwNzMgNDcyYTZlZWMxOTZhYmZjMTRkZDUwNDM4OWUzY2IzMjBlNWZkNmEyNCBweTNrCis4NTA3NCAwZjhjMmViODlmNDZkNWMwZmFiNzNiODcyZTkyZmNkMWFhMTQwZjk4IHB5M2sKKzg1MDc1IGRjMzgzMzk4NDczNGIyNDkzZWRmMjFjMjE4ZmI2YjYzMjZhMWI1ZDggcHkzaworODUwNzYgNmM4YWRjMjAwZWUwMmYxZDNhMDI0ZjQzMWI5ZWZkYjNiODI2NzdkNSByZWxlYXNlMzEtbWFpbnQKKzg1MDc3IDZjMWYxMGUwNzQ1NTY0MDdjYTk0Mzc2NWMzYjMzOWU0YzhiNGZjNmQgcHkzaworODUwNzggZmI3ZWUwZjJjNmY0YTA0N2E3MDFhMWJmNTA1ZTAzZDBmYjNmMzQxNiBweTNrCis4NTA3OSBjMTg0MjNmNGI5Njg4Yzg5YTA5ZmU2NDBhZTk1OWNmNTBkYjg1ZDNhIHJlbGVhc2UzMS1tYWludAorODUwODAgZDEyZDU1MGViZjM0NTVhYjg5MDFmZjRhNTE5ZmVmMDE5Yzk3NWI2YSBweTNrCis4NTA4MSA1NTIyYzZiMmFmODcyY2UxMGI0NDAxODk1NTBmZDk1MjFiMDJkZGRjIHJlbGVhc2UzMS1tYWludAorODUwODIgNGNmNzdkMTkzZjU3ZjVlMDc2YjFhMTk5NTVlYWJiZGVlN2ViYmQzNCBweTNrCis4NTA4MyBkYzQ1NTU2NDZlODA3ZDgyNmYyNjUwZDg5ZGU4OWQ2ODhiOTBkMjdhIHJlbGVhc2UzMS1tYWludAorODUwODQgMDZmNWUxOTA4NTVhM2ZkNzcyODQ4ODkwZGQyYzhiOTI0MTM4N2U3MCBweTNrCis4NTA4NSBjODY5ZWEwN2NkOWQyNjhjOWU2ZWM4M2ZhYzIyZTA4MmIwMjY5YmI2IHJlbGVhc2UzMS1tYWludAorODUwODYgYjNjN2U1MTYyN2ZkYzY5OTBiZGE2YWE2NTBkNmQwMTEyOWU1NDNmMiBweTNrCis4NTA4NyA3YmIwNTEzY2QwYjgyODkyZWIyNTdjZmU3ZDMwNjgzN2U0YzJmNDFmIHB5M2sKKzg1MDg4IDczNDg1Y2JkNmM5ZWI2ZWM0ZTAwYTA1YjY3MjY0MDhhMjQ3ZGQ1MzggcHkzaworODUwODkgNTlkZmIyMTM4M2Y4YmY5ZjZkMTZmZWE4ZTI5NTU5MjQ0YTU1ZGJmNCByZWxlYXNlMzEtbWFpbnQKKzg1MDkwIDBlZTIxMTNhNGZkZTYyMzY2ZGI2NzM3MjljYzUzNzUwNjAzOWY5MzkgcHkzaworODUwOTEgNzc4Y2I4ZTZjNjM4MzA0MDM0MWFlNDc3NmEwY2RmMWNjY2M5NDg1ZiByZWxlYXNlMzEtbWFpbnQKKzg1MDkyIGUxMmIxMDQzNTUzMDhkYmY3MjVhOTVkNWYzZTkyMzY1ODI1MjlhNGMgcmVsZWFzZTI3LW1haW50Cis4NTA5MyA3YzdkMWQ5NmUyYzMzNDE0YmQ0OWIxMWJlMDA1MjE0OWU4MDhmOWU5IHB5M2sKKzg1MDk0IGM2MjBmZTg3YzcwM2IwOTBmYzdlYTBmZDk0NzI5ZjI5N2YwYWM3M2UgcHkzaworODUwOTUgYWM4ZDljYWMzMDMzNWUzYTIzYzgxZmJlYWE4ZDQ4YzQ4MzUxZWVlNCBweTNrCis4NTA5NiAxOTFlZDJhZDU5OTdjMWZjNTZmYTIzNjkzNWU1OTU4N2I4Y2YyMzVmIHB5M2sKKzg1MDk3IDk2MWY1MzU0ZWI1NDFmNDQ1MGU1MGY0NTE4ZGEwNDMxNzhhYmFiM2IgcHkzaworODUwOTggODAwYWRkYzk4NTcxOWZlZTQxNjdmNzM3ZmRhNGE4MmY4NzAwNjY3MSBweTNrLWlzc3VlOTk3OAorODUwOTkgM2ZiNTgzYzhlOTdlN2Y2NDkwMjlkYzYwZTg2MTdhYzNhMGZmYTA2OSBweTNrLWlzc3VlOTk3OAorODUxMDAgZjRkMDQ3NDkxY2I0MmE4M2YyYTY5NjI3MGVkMzg3ODVjZmIxNDQ2YyBweTNrCis4NTEwMSA5NDEwOTBlZDk2ZGY0ZjA3YWY3ODYxODM1OWJmYWU4OWNmZjRlYWI4IHB5M2sKKzg1MTAyIDY0MzRjZGNlNzE1Mjg1MjNhOWQyZGQxMTNlMTQ0Mzc3YmQ1OTYzNWIgcmVsZWFzZTMxLW1haW50Cis4NTEwMyAwYjRiZjZjZGUxMWRlZTBkNDU2NGRiZDI3Y2Q2ZmFkMmYwMGE0MDRlIHJlbGVhc2UyNy1tYWludAorODUxMDQgMWQxNWI1NjdhNzRiMjgzZWIzZDZmOGI5OGQ5OGNjYzI1MGI0YmFjNSBweTNrLWlzc3VlOTk3OAorODUxMDUgYWY5ZGVlMTI3ZTNjMmI1ZDA2YTdiYTM5YmZlN2MzMzkyMzc2MjkzMiBweTNrLWlzc3VlOTk3OAorODUxMDYgYzRjNmQ4NDJkODJhMDE4NzI1OTBkMDJhMzVmZWQzYzZlNDQ2NjE5NiBweTNrLWlzc3VlOTk3OAorODUxMDcgMzRhYmUzNjkxOWU1M2E0YTIyYzQxYzFmZDA1OTY4MzJjNjI4ODQ2MyBweTNrLWlzc3VlOTk3OAorODUxMDggMTQ3MjU4YTBhZGY4NWNjNGJjNmFjYjlkZGJlY2VmNzJlYTA4MWRjMSBweTNrLWlzc3VlOTk3OAorODUxMDkgMjVlOGI3ODI3YzdkZjM5NmI0YWI0YWYxYmIyZGNlMTcwOTllYTU3MSBweTNrCis4NTExMCBhNDMwZjhmZWM0YTBmYzRkYWM4Yzk2YzdkODc0YTcyNWI1YWNkOTVkIHJlbGVhc2UyNy1tYWludAorODUxMTEgMDA3N2VlMzAxMzRjNmIzZDRkN2IxZjA2OTJiYjA5ZWZiOTI4NTA1MCBweTNrCis4NTExMyA2ZGRjZjc0MjgyMjdhMjI0ODUxZDc0YjZhZDIxZTkzMDM4ZGQwYTYwIHB5M2sKKzg1MTE0IDU5MzZlYzNjNGVjMDI3ZmY5M2ZkMGJhNmNmMDUwNzQ0ODU0ZWI5MDEgcHkzaworODUxMTUgMDFiOTZmNzhmYjcwYjdiZWFiOGY3ZTIxMmI4MWM0ZmQ2ODIwY2MxMiBweTNrCis4NTExNiAxYWRkOGU1ZjMxOTg1MThiMzIzZTc3ZjJhZmNjNDlkZWE5ZDQ0M2ViIHB5M2sKKzg1MTE3IDc0NmU5MTUwMTE5YWRiNzA4MjE2MDQ0YjEwMjQ3M2ZmMmI2NGRlOGIgcHkzaworODUxMTggZTcxMGU3OTJlZjJlNzZiNDkxZmY2MDRjOWNjYTBhY2M5MWZlMTcwYiBweTNrCis4NTExOSBlZjE2ODY4OGFmMGE5NmY4MTVkZDI3MWIzMTYyM2EyOWZiNWZiZjg3IHB5M2sKKzg1MTIwIGE5MzQ5ZmQzZDBmN2JjYWVhMTU2MGFmYTRjNWNkODkzMzAxZjA4YzYgcHkzaworODUxMjEgZWE0NzIzYWFjNDc4ZjRiZDQ0OThiMTJhM2UyYTc4YWFjN2UyNzJhOCBweTNrCis4NTEyMiA0MDMzZjgzYzJkZjE4ZDk4ZmEyNzZlZjM1N2FhMjNiOWNhYzA5ZTA3IHJlbGVhc2UyNy1tYWludC10dGstZGVidWctb24teHA1Cis4NTEyMyA5ZmUxZGNlMmJmYTQ0NTA2Mjk4MjIwYjViMjgzM2YyOWFhNzFjYzczIHJlbGVhc2UyNy1tYWludC10dGstZGVidWctb24teHA1Cis4NTEyNCBkOTU3M2UzNjI0ZWMxMjIxZWY5ZDlkZWUxYTZmODljNTdjZmU2ZGZlIHJlbGVhc2UyNy1tYWludC10dGstZGVidWctb24teHA1Cis4NTEyNSA3YWRkNDViY2M5YzY3MmMzODQzMjYwYzkzNDcxOGYyNmVhN2JjYzBiIHB5M2sKKzg1MTI2IGQ3ODdlZjlhY2I3MjRlOGM1OTc0OTc0ZTBhN2M2Y2RkNjQxMzhiZDUgcmVsZWFzZTMxLW1haW50Cis4NTEyNyBiOTlmNTI3ZTBkNzdjNzAzM2VjMWRlNzk4YzM1OGQ2MTcyZDU5ODljIHJlbGVhc2UyNy1tYWludAorODUxMzAgOWYyN2Q3MmJmNWRmODkzMDhiZjQwYzY4MmE2MTllODljZGE5MzhhOSBweTNrCis4NTEzMiAyODJjNzdkYjNkMzg5YmQ3MzQxYjRiZDZhOGM1YzA4NTgwOWQ1ZTdmIHB5M2sKKzg1MTMzIGNiMmZiYjVlNjQwOTY0ZTdmN2RlNmRmMGZjN2U0NDk3N2ExYTkxZDYgcmVsZWFzZTMxLW1haW50Cis4NTEzNSAwNGY1M2NhNDE1OTZlZTgwMTAzOTMyMzA3NTgxMjYxZWRmNDVhZmFlIHB5M2sKKzg1MTM2IDg3ZjRiMzI5MDVkZjEwNTBlZjBhYzg2NWY1ODRiNGRhZjUzMjA5NGMgcmVsZWFzZTI3LW1haW50Cis4NTEzNyA1OTc4MDRiNDExMjU5YjhjMGY1NjU4NDlhNjQ5NGNlMWM2ZjdhM2FlIHB5M2sKKzg1MTM4IGRhZWNlN2EyMzRkYzkxYTgxOTA2NDM0NTMwOThiMGFkNTE2ZmRlYjMgcmVsZWFzZTI3LW1haW50Cis4NTEzOSA1OWRlMjI1YTE5Y2Y4YWM1NDdhMGNkYmI0OWE5ZmQ3YzJlMDY4NTI1IHJlbGVhc2UzMS1tYWludAorODUxNDAgYTlhMzBjZmI4OWE1ZDM0YmY4NmY3MDE3MDYyY2ZiYTk1MTU4OWY3MyBweTNrCis4NTE0MSA2ZjEzM2U4N2E0ZjhiMWVlZTA4MDlhZDU1YWVmZDU4MzQwNzBlMzg3IHJlbGVhc2UzMS1tYWludAorODUxNDIgMTVjMzY3MWMxNzgzMmQ5YWY5YjE3ZWUxOTg2OWZmZmE5OGM2NTIxMSBweTNrCis4NTE0MyA5YjVlNmE1N2FiMTA1NDI5MWU3N2NlNTEwOGUzMTE5YmY5NmQ2MWIxIHJlbGVhc2UzMS1tYWludAorODUxNDQgMmY2ODMxY2QyNDFlZDcyOTE3NDk4YjBkOWI1YWQxMGEyY2M4YjU0ZCByZWxlYXNlMjctbWFpbnQKKzg1MTQ1IDA2MjJkNGQwOGFmMDI1ZjI1MWI2ZmZlNmJlNWRjMGNiM2QxYzRiYjQgcmVsZWFzZTI3LW1haW50Cis4NTE0NiAyZTY4NDBjMGMxMjY2YjQ2MDZlODU0NTg2ZjdmMmIyOTEwZDRlNGJjIHB5M2sKKzg1MTUzIDk1MjU4YTZhMDY4M2U2YTU0OTVjZDBkMTU0YmZmZWVjZDMwYWZlOWMgcHkzaworODUxNTQgMzQwZDFiZjU5NTFlMTA4YjNmZDAwMzk5ZTUwZWMxM2UxNjIyMjg4NyBweTNrCis4NTE1NSA0NzFkYmQ5MDZhYWQwMTFkMjRkZDhiMjRkMzJmNGIzM2Y4MDFhOWNjIHJlbGVhc2UyNy1tYWludAorODUxNTYgOTFlNjIzODkwYjk0YzFkZTA0MmY2NzAwODQ1NGJkMzMwODIyNWZjNCBweTNrCis4NTE1NyBkZTQxOGQ5ZGQ3MzMxYjYzMjgyNWQzOGZjNjc4NzE5MWE4ODExMGE5IHJlbGVhc2UzMS1tYWludAorODUxNTggY2U0NzVkMzViNTBmYzYzNmU1MmEwNTVlZjUyNzk5MDI1MDU5MDMwZSByZWxlYXNlMjctbWFpbnQKKzg1MTY5IDdjMGYxODM3ZThjYmUyNWQ0N2IzODE3NWNhMzM2MGYzZjZhMjAxODYgcHkzaworODUxNzAgYmViZTVlMzU2NjFlMjA3NmVhN2ExMWE0Mjg2Mzk0ZjA1ZWQ0ZGZhZiByZWxlYXNlMzEtbWFpbnQKKzg1MTcxIGE3NDhiZmNiNjk3MzNjZDlmZDBlOTM4Nzg1N2IzNDYyZDkzYzBlMGMgcmVsZWFzZTI3LW1haW50Cis4NTE3MiBkZTdjZGI3MjYzNTAyYjc0Nzc4NjRjOWRhYjBlNzBjZTJjMDVhYmVmIHB5M2sKKzg1MTczIDBjYzNmZjgwMjBhZTY1Yzk2Y2QzYmNkMzU3YWVjMjhlOTBiZjVmMjMgcHkzaworODUxNzQgNDI4MzE0ZWViMmM3NjNiOWNjYjg3YzMwZDY0N2E1N2Y0YjhiYWRjYiBweTNrCis4NTE3NSBiYjVlMThhOWJkZTNhZTIyN2MzZjFkMDJiZmFmZDYzOWIzM2Y3OTRiIHB5M2sKKzg1MTc2IDhkZTUzNWRlZjEyMjJlNGI3NjVmMDI5NDhjZDMxZDQxMGMxNDUxMGEgcHkzaworODUxNzcgOTA0ODgwN2JlODNhYmI5OTkwM2U1NzM4MDg0MTBiYjUwMjU4ZjhmYiBweTNrCis4NTE3OCBjOTkwZWI5YjYwYTllNDc5YjFlZjU4NzNiZmI0Yzk5ZTI0MGZmOTNmIHB5M2sKKzg1MTc5IGVmNWM1NzIxN2IyMDNlYTc1MGNiOGY0YmY1NTUxZmNmMTI1MTJmODEgcHkzaworODUxODAgMTIxMmU1MDBhNTg1MGU5NDQ0MTEzNGFmMDVkMWY1ZDUxZGFjZmQ2MCByZWxlYXNlMzEtbWFpbnQKKzg1MTgxIGYzYTcwZDk5ZDdlMGZiNWNhNWI2ZDA1MTJmNDdjODdiZjgwZDkyOGYgcmVsZWFzZTI3LW1haW50Cis4NTE4MiAwNzBhOGY2NjQyMjBlNmM1MzhlNThhZDc0ZGNkMzQ4YjU2MmIzMThhIHB5M2sKKzg1MTgzIDM5NGUyNTM4MmE1OTIzNmI3ZDU0OGI0YWMzYzA5ZWZiYzFiNTFkMzEgcmVsZWFzZTMxLW1haW50Cis4NTE5MyBkZWMwODc4OWE5YjQyMzNmNzMzZWYzYjE1YjhkZTk3YzY4MjJhZTk0IHB5M2sKKzg1MTk0IDBmODcwODViMjkwZjQwNjBmYTgwZDlhZmQ0ZWQ2YjlhM2UyMThmODIgcmVsZWFzZTI3LW1haW50Cis4NTE5NSBiOWUyNmIwYzQ2MTc5ODc5NWFjZjRjYWZlNTMyNGRmYTc0NzhhMGE4IHJlbGVhc2UzMS1tYWludAorODUxOTYgOWJiZDQ0OTg2NThlZTM3MTJjMWEzNTI4YjYzZTBiYTk4NjRmNjQwZSBwZXAtMzgyCis4NTE5NyAzYmIzZWU2ZTYwZTBhODIyMTliODkyNmQ2YWQ5YTNkZTliYmEyYzZmIHB5M2sKKzg1MTk4IGJhOGNkMjAwN2QyOTIyZjU0ZWNkMDU1Y2Y1NjljMzBkMjE5OGVlZDAgcmVsZWFzZTMxLW1haW50Cis4NTE5OSAxMzlkZDRjZmI4MGY1NzhkNjUzYzczYmFhNWIzMGFmNTRlODM1OGQ5IHB5M2sKKzg1MjAwIGY3YzkxMDdmN2FiZGUyZjUwN2FhZjc5OWM1YzAyMWU0MGUzNjIxZTQgcmVsZWFzZTMxLW1haW50Cis4NTIwMSBkMWUwY2Y4MThhZDI5OWZmZTY0NWFiZTlhMTJiOGNmZmY1MGZmMWM5IHJlbGVhc2UyNy1tYWludAorODUyMDIgMmMyYmExYjMwODIzZjIwOGQ2MGEzOTQ5MDA1NzNmYmU3ZDAyZmYxNCBweTNrCis4NTIwMyA5NDVhNTVkNGU3M2VmODI1MTQwNzNhZmI2M2E5YmQzODVkYWY5ZGU0IHJlbGVhc2UzMS1tYWludAorODUyMDQgZjExZGM5NDA0ZDExODYxYzJjMTFmZDQ1MDI4NzY3MGNmOWRhY2I0OSByZWxlYXNlMjctbWFpbnQKKzg1MjA1IGFkNDFmYmYzM2UzYjk4ZDRkN2IyNjg1MzE0ODc2MGY0NzQ2ZjdjOWQgcHkzaworODUyMDYgMzJjMzJiNzBhYTMzYmIzNDA2YzIwYzhiNDI4NzcxNjI3MTNmOGY5NyByZWxlYXNlMzEtbWFpbnQKKzg1MjA3IGUxZjZjZTgzNmZjNTMxN2ZhMzkwNWRjZGM4NDM4NjdlYzUzZWIxNTAgcmVsZWFzZTI3LW1haW50Cis4NTIwOCA5ZWI5ZTNmNjZlM2FkOGZlYWZmZGQ1Zjc1NmY2ODhjZTA2ZjgwNzNhIHB5M2sKKzg1MjA5IDhiZDBhMDYzY2ViOWNlN2E5MTQxMWViMDM1ZDJkZmYzZmM1MTZjZjEgcHkzaworODUyMTAgYjc3ZTkxNDQ1ZDliNzFmMWE0NDE5YjZmOWIzMjZlZTQxZTM0OTJkNSByZWxlYXNlMzEtbWFpbnQKKzg1MjExIGIzMzRlYWFkYjUwOGNlZTI0ZmVhZTEzNTliYTE2NzYyOTg3ZjE1NmQgcHkzaworODUyMTIgNmFmN2I0MTAyZDc3ZGNhMTMzOTc5MTE2ODEyNmVkYzQzZGM3ZTdlYyByZWxlYXNlMzEtbWFpbnQKKzg1MjEzIDM2MzNkOGZlNTU1MDZhOWEzZDg3MTVkZWJlNzUwYWE0MTY0YzlkYzEgcmVsZWFzZTI3LW1haW50Cis4NTIxNSBkMTYxZjhjOTY0ZWI4YWI2YWRlNGM1NGY0YjcyNTM1Yzk4OGE0YWM0IHB5M2sKKzg1MjIwIGMyOGZkZWVlYTc4NjA4ODg5OTU4YTllMjQ2NDRkZWZhNTAxNDJlOGQgcHkzaworODUyMjEgNWYyMGY3ZjE1ZWRmNzA0NWQ5YmYzZTgyYTY2ZGMwYmQ4MWNjMjZiNSBweTNrCis4NTIyMiA4ZmU4YjI4MTM1NmMzZGIzYjg1MzFlMTE2ZTg2ZWQwYWM2MzM5MDYxIHB5M2sKKzg1MjIzIDc1M2JmMjNlNDVjNWJlOGMyMzdkYTJiYmY1NGU0MGE4YjYzYTZhMTUgcHkzaworODUyMjQgYjA2NWIxOTQwY2JkOWZhM2NlNjYzNDZmZjYzYmU5MzA1NzYwOGFiNCByZWxlYXNlMzEtbWFpbnQKKzg1MjI1IDEyYzZkYTVhY2Q3MzA2N2M5MWQxNmM4MzdjNWU0OWQ2ZmZmYmM2M2UgcmVsZWFzZTI3LW1haW50Cis4NTIyNiAwOTgxNmZjOWNkZTU1N2QxMTZlYjJhNmMzOTg1MmU4OTU2NGM2YWM1IHB5M2sKKzg1MjI4IGZiODI4NDBmMGU3MGJlY2Y3NWExMmEwOWZhOGZlY2JjMTdkYWIxN2QgcHkzaworODUyMjkgOTk4ODkwY2ZmMjA1ZjMyNDVmN2RmMGYzNjQ3ZDVjNWQwM2MzNDZjNCBweTNrCis4NTIzMiAzZDQyNTBjY2NjZTkxODI2NWM3YTRkNTBlYWZhYTRhZDdhMTJlMjE4IHB5M2sKKzg1MjMzIDc3NjA5NWFhMDU4ZDFlMTA5M2E0MjgxYzZjZmIzNjM1Mjk0MGQ3MGQgcmVsZWFzZTMxLW1haW50Cis4NTIzNCBjNmRkYmZiN2FiNDM4MTk1NGY2YWIwYjYwY2I2NGFiM2MwNDI4ZGQ3IHJlbGVhc2UyNy1tYWludAorODUyMzUgNzliYjdjYWU2OWJlY2I5NjRlMDE4ZDc2YzgwY2RmNzE5MTBjNWQ2MSBweTNrCis4NTIzNiA3NTllNWQyNzViZWIzOTlhMWNiMmIyZDdkNjg4MTIzYzJhYjkwMjYzIHB5M2sKKzg1MjM3IDY0Y2EwMWVjMTcxNWZiMzZlMTgzNzM2MmQ3MjU3OTAwZDUxNDAzNTUgcmVsZWFzZTMxLW1haW50Cis4NTIzOCBjZDczOTE3ZjI0NzgzODY2ZWZlZjRjMTA5ZGEyZDI4MDE4MDZlMmQ5IHJlbGVhc2UyNy1tYWludAorODUyMzkgMWM0MTc4MTFlNTA4Zjk5ZTg1YjFkYzQwZTRjNTY0YmRmOGI2ZWQ4YyBweTNrCis4NTI0MCA4YmNiZGQ2NzMwYTc1NzM4Y2QwNTFkMzlhNjRmZDgwZTU2NDYyMDRlIHB5M2sKKzg1MjQxIDdhMGI0MWYxYzczYjg1MmFmNGNmNWQwOTExN2VlNmM0OThmMzhjZWUgcmVsZWFzZTMxLW1haW50Cis4NTI0MiBlZWRiZTVlYTQ0Y2IyMTU5M2RhYjNiY2RmMzE2MTc4NjBmODg4MDc3IHJlbGVhc2UzMS1tYWludAorODUyNDMgZWI3ZDY5ZDg5NjUwMWNiOTZlMTY0YTBjOTIxMTcyZTQ4YjBjOWM4NiByZWxlYXNlMzEtbWFpbnQKKzg1MjQ0IGE2OGY4NzYzNTU1YjIxNGVmNzM1MjljOTI3NzIxMTIzYWFlMGY5ODUgcmVsZWFzZTMxLW1haW50Cis4NTI0NSA1MzcwZDRmMDg2NDgwOWNlZTFlM2VmNjI5Zjc1ODBkYTgxZTU5ZDc4IHJlbGVhc2UzMS1tYWludAorODUyNDYgYTRjOTc0NmNiMDNjNWE1YmE4NDJiYWRjYmQ4MGM4YmFiODc0NGU0ZSByZWxlYXNlMzEtbWFpbnQKKzg1MjQ3IGJmZWU1NDc4MWJhMWY5M2U0ZDkwZGNmNmVmZjA3ZjE3ZGYzYTVlZTQgcmVsZWFzZTMxLW1haW50Cis4NTI0OCBjOTg3OWIzNDAyZTRhYjcyZDJkMzliNDVkYjVhYTIzZTNkY2Y2ZWE2IHJlbGVhc2UzMS1tYWludAorODUyNDkgZWI4ZTEzNzg0ZGU3Mzg0YzU5ZmRiZTQ3NmFlMzljYjAyYTEyMDU2ZSByZWxlYXNlMzEtbWFpbnQKKzg1MjUwIGI5YTc1ZGQ3NDIwZDA1NjZiNzMyMjU4NzJhNzQ1ZGI2OWI4NzcxYmYgcmVsZWFzZTMxLW1haW50Cis4NTI1MSA5MGUxNzM1ZGY0ZDk2MmNlZTAwYzQ4NjExY2EwYWVmZThlNThlYjA0IHJlbGVhc2UzMS1tYWludAorODUyNTIgMmRlODMyM2JkNGViYTJhYTM1M2NkYjFmZDY4MGExOTNhNzQzOWE0YSByZWxlYXNlMzEtbWFpbnQKKzg1MjUzIGEwNDc5MzQwZjAzNTJmMmFlNjNiYjM2ZmQ4ZDY0ZjYxNjlkOTQ3MDUgcHkzaworODUyNTQgZjAwNDQwYWY5NDEzNzhkYWI0NGQ0ZTFkMDc0YmJiYzBjNTM2MDkyYSByZWxlYXNlMzEtbWFpbnQKKzg1MjU1IDA0NGNjOGE5ZjE5Y2ZhMWI3N2ZhZDBiOGVhMzYxZjlmZWE1NDRkMTAgcmVsZWFzZTMxLW1haW50Cis4NTI1NiA2ZjlkMTVmY2NmYTRhY2YxYWZhMzcwZjIxZmIzY2ZkZmFiMjNhNzY4IHJlbGVhc2UzMS1tYWludAorODUyNTcgYzYxYzAyYWMyMDk5ZmJmNzg2NGVmZmNiZWI0NDA2N2M5M2RiZDIyMiByZWxlYXNlMzEtbWFpbnQKKzg1MjU4IDY5NTlhZGJhM2I2YTVkMjI3ZGI4OTE5ODFiMjk4YjA4Y2M5ZmQ5ZWMgcmVsZWFzZTMxLW1haW50Cis4NTI1OSBhNWM2M2IzYTk2YTlhOGYyMjQyYzNkMjA5NzMzYjNhZTg0ODIzZjRiIHJlbGVhc2UzMS1tYWludAorODUyNjAgMjgzMDYyNDRhZmEwZjQ1ODljMWM1OWVkNzQ0MDM4YjgyZGRiNDkzYiByZWxlYXNlMzEtbWFpbnQKKzg1MjYxIDY0OTg5YjAzMzk4Y2EyZjhmYjY2ODg0ZjIxOWRhOWQ5M2FhNzBmODMgcmVsZWFzZTI3LW1haW50Cis4NTI2MiBmZjczNGYyMjViNDdlOTY4OWJkMmRkMTA1ODVlNzAyYzY0NDhkMDIzIHJlbGVhc2UyNy1tYWludAorODUyNjMgY2FiNDU4NjM4ZTRkYjU0N2UwZGY2M2Q0MDc5NWYyY2Y5ZDJlODgyOSByZWxlYXNlMzEtbWFpbnQKKzg1MjY0IGJhYTk4YmE4NWZkNDExODljMGE5NWMxNTBmZmQ0NTVjZWRkZmM3NjEgcmVsZWFzZTI3LW1haW50Cis4NTI2NSAyYzExNWJmNTJjZmY5Y2U1ZmJmYzIzMGNjNGRiMGFmNTY3NGVjZGE5IHJlbGVhc2UyNy1tYWludAorODUyNjYgMjg1NjUxYTE1MzU1ZWNkZTQwNTk4OTk0YWY5NWI0MmRjMjA3OGQyNCByZWxlYXNlMjctbWFpbnQKKzg1MjY3IGNlMjAyMTUyZTIxYTExNDNlNmU5YmVhY2FmODAyZmViN2UxOWNlZjAgcmVsZWFzZTI3LW1haW50Cis4NTI2OCA1MzZkODY1MGRhM2RmMGQ5NjdkYzk3NzhlMzM0M2FiMmFjOTg5NmNhIHJlbGVhc2UyNy1tYWludAorODUyNjkgZTllMjQxYTkzZjllZTMwY2VmOTM4MTA2MjNhZmQ3YTgwZDliOTJjYyByZWxlYXNlMjctbWFpbnQKKzg1MjcwIDc4Mzk2ZWY0ZDgxY2Q2Yjc1M2NhNTgzNzNhOGNlZmE0OGY1M2YwYmQgcmVsZWFzZTI3LW1haW50Cis4NTI3MSAxYTBlMDY2OTc3OWNjYWY2ZDgyNzA4ODEwNzU2MTNiYWYyMWU2ZGY5IHJlbGVhc2UyNy1tYWludAorODUyNzIgNTIxZWFjMzFhODkzYTk4YTBkNWFmMzQ0NmU4MzViMGRmZjQ3YzRiNSBweTNrCis4NTI3MyAxY2ZkM2IxMjQ4OWRhZTk0YTFmNjRhNzk3ZmM2MDJjOTlkN2IwYjU0IHB5M2sKKzg1Mjc0IDlhZmVkNzBkM2FjYTFjNjM3OGFlMmMzNGQzYTVkZGNmZjc5YTc3Y2EgcHkzaworODUyNzYgZGY4NDRiYjY3MjlhNGJjNjYxOGJhZGUyYzYwYmQ4YTU4ZTkwZDc1ZSBweTNrCis4NTI3NyA5MjU3ZjA4M2ZjZmYyMmY0M2ZjYTk4ZWQwYzdhZjk3NmRiM2ZlNGM0IHJlbGVhc2UzMS1tYWludAorODUyNzggMDE5MjA1NWJjYzNiZTkxNTkwNzYxNzdmYjU4MjczMThkMGNjMDNhZCByZWxlYXNlMjctbWFpbnQKKzg1Mjc5IGQ2NzI3NTNhMDNmMDA4Y2U5YjI4NGFkOWJlNDdkMDMwYzE4NDdiM2IgcmVsZWFzZTMxLW1haW50Cis4NTI4MCA3MDE4MjYxZjJhYzFkYTExMTBlNTc3NmY2MzBmN2QwY2RhZTQzOGJkIHJlbGVhc2UyNy1tYWludAorODUyODEgMmQ5OWVkYzRmMTBkZmIwY2ZkYTRhMjZhN2ZjMWMwZDBiNDJlNThjOCByZWxlYXNlMzEtbWFpbnQKKzg1MjgyIDViNTVlOGE5YzEwNzFkMzY0NDk0NDgzODJiY2Y1NWZiOGNiN2ZiY2YgcmVsZWFzZTI3LW1haW50Cis4NTI4NyAwNjZmYjNmYWY2ZDUzOTJmMmVmMzIyMzMwOGQ4ZTMxMGU1NzE4NjRiIHB5M2sKKzg1Mjg4IDg2MjlmN2Q4YjVlMzM3YjBhMDk3YWY4MDc3OTI1Mzc5ZDcwNDY4OTcgcHkzaworODUyODkgZDBjZTNlYjExYjI4NmFiNTQ5OTk5MmQxZWI4YjMyZGYwNWY5MzMyYSBweTNrCis4NTI5MCA0ZGE1NWM0OTM0MzU3MDAxNWE0OTQ4ZjBkYzFlM2E5MzM1Mzc2YjA1IHB5M2sKKzg1MjkxIGI4ZTc4Y2ZjOTRlYmE2YWU0NjI1ZTk3YjI5NTY2NDE4YTIzYTQ4NTIgcHkzaworODUyOTIgMzJkY2NjZGM3M2Y4ZjZmZGU4NWY4YTU4M2NhZWQ0NDk4ZDc4NmQxMSByZWxlYXNlMjctbWFpbnQKKzg1MjkzIDdjMTAzMWQzODIzY2M0ZGI0NDU5Mjg3ZDM4NDUwNDBhYTQxNjhjNzcgcmVsZWFzZTMxLW1haW50Cis4NTI5NSA2MmM1OGRjOTEyZTgxNjU1NGI4NzhjZjc2ZGNmYzFmZGNhYjA2YTdmIHB5M2sKKzg1Mjk2IGYyMzdmZGU5MjVmYTdkZDRlODc3MjJkNzY4MmIzOWFlYjAwYTViYjQgcHkzaworODUyOTcgYzFlOTU0MmI2Yzc0YWE2M2YwOGE2YTQ0ZGE3YzgzYTZjOGM2NjQ5YyBweTNrCis4NTI5OCBlM2FlNWIwMGJhMTVlZWU3YjY1YjQwY2EwOTJiNTQwNTQ5ZDkyZjMxIHB5M2sKKzg1Mjk5IGE2MmM0ZDVjZGY2Yzc0MzgxNzBlYzYyM2NhYzg1ZmVmMjFmMjQzMTEgcHkzaworODUzMDAgYjI0NTdlYjgzNGFlMDlkMjg0NjI4ODM3OWVjYmYzNzE1OTllODUzYyByZWxlYXNlMzEtbWFpbnQKKzg1MzAxIGRmYjM0ZTVmZTA2NjE5YTg1YzJkODhjYjBlMDcxOTc2OWI0OWZjZGQgcmVsZWFzZTI3LW1haW50Cis4NTMwMiAwNzFmMWY3YWY1MjIzYjg4YjIxZWYzYzZhNmQyYzFkYmUxMTcwNDc2IHB5M2sKKzg1MzA0IDM5MDE0ZjBhYmMzMjgyOTViM2I3ODBjNzYxMjc5MDc0OTg3ODVlNWQgcHkzaworODUzMDUgNzg3OWE4ZWM3Zjc5YTkzMjNjY2M1MGFlZjU0MGU4ZmY0ZjY2YmI5MCBweTNrCis4NTMwNiAxZjM5MTlhZjhhNTM2ZDE4ZWVkNDc1NDhjMDViMmU4NjkwMThjMTg0IHB5M2sKKzg1MzA3IDIxNDdjYzE1MjIyNzE1NDExOTAwY2MyNTI1NzUzN2MyZDdiOGUwMGQgcHkzaworODUzMDggOGZkNWQwNjQ2MmU2YjhkNWYxNjE4NjllN2M3Yzc0ZWM5NDUwMTQ0OCBweTNrCis4NTMwOSBlNGJkZDA3Y2UwYzYyNjkzOGNjZDk5MzZmZjIzZjE1OWZlZGExOGQ1IHB5M2sKKzg1MzEwIDFjNDc3NGI0ZTk4YTQ2MmNjZDAwMjBiMDVjZGFhOTAzZDIzNzVlYjcgcHkzaworODUzMTEgNzdhNmEyNDllMjRlOGU2MmVlZjVmMzVmMGViMGIxMmI2Njc0NGYyMSBweTNrCis4NTMxMiBmYTZlNTAyMDhkOTMwOTVhNDhmYjI2YmYzNWZlOGZmNDE1NmI5NTBkIHJlbGVhc2UyNy1tYWludAorODUzMTMgMzlhMGI5NDNlM2UxZjE3ZjEyMmYxZGVjODAxZjA2NWVmZTdkNTI3ZiByZWxlYXNlMzEtbWFpbnQKKzg1MzE0IDg4NGM3MWNkOGRjNjk1YTkyYjE2YzMxMzg3NzkyYWFmYzEyYzNkMWEgcHkzaworODUzMTUgYTE0ZTA3NGZhNDJmYzU1MmMyNDlkYzY3YjEyNzc1MjQ0NGNlYjUzZiBweTNrCis4NTMxNiBjNDExNTUyY2RjN2NkM2JlODlmNjEyMzUxNTcyZjYwMWMzY2I2ZWExIHB5M2sKKzg1MzE3IDhjNTc2MDJlYTFiMzBjMmFhMjFlZGJjN2VkY2ExZTIyZjA4YzdmZDkgcmVsZWFzZTMxLW1haW50Cis4NTMxOCBhY2RiMzIwMDVjMGFjMzBmYWMyODVmODM5NDlhZGE4MTY1Mjk2MWEwIHJlbGVhc2UyNy1tYWludAorODUzMTkgNmEyZjhmNjkyZjA0OGNjODllODI0YzI5ZTgyZGQ0ZWZjMDMwNjI2YyByZWxlYXNlMjctbWFpbnQKKzg1MzIwIGE5OTY0YTRkM2MyOWYwNjFmZWMxOTBlMWRlYzI5MDI0OTE2ZjZkYWMgcmVsZWFzZTI3LW1haW50Cis4NTMyMSA0Yzk4ZWVmZjM3ZTdmM2MzMmVhOTYwMGE3NzY5MWU1YTAzNTBmMGIwIHB5M2sKKzg1MzIyIDFhMDQxZjM2NDkxNmJiM2QzYWIxYjM4NmJhNDA1YzY2OGEwNzFlY2EgcHkzaworODUzMjMgNDk4NzM0NGNlZTIwMDEyOGVhYTI3NWY5MGI4ZDk2OWY3ZGJlNTNiMCBweTNrCis4NTMyNCBiMWZiMDUzOWJmOThiY2I0NDk2NDljMjEwYjgyNDczY2UxMjkwYzA1IHB5M2sKKzg1MzI1IGRiZTAyZTkxNmFlY2NmNGJlODU3NWQ1MDE4YTVmNzE1OGU1ODljNTkgcHkzaworODUzMjYgNTY5M2RlZGU5YTNhMDg0MDJhNzBlZjAxZDExNzhjOWRiZjczZWUyNiBweTNrCis4NTMyNyA5YzAyNjE4M2Q4MmE0ZWE5MDQxODlkYzAyZWY0M2JjMjZiMWI3YThjIHB5M2sKKzg1MzI4IGFlZGRiMTg3ZmNiZWJhNTZlMzdjNDcwMzE4ZjdkNDIzMzEyN2IyN2YgcHkzaworODUzMjkgMGJiYzNiYjAwZmM0ZWJkYmVjN2U0MThjOTg4NDgxNGJmZTc3OWY4YyByZWxlYXNlMzEtbWFpbnQKKzg1MzMwIDUxNTc1YmRjNTQyMDZmZWFmODFhMDg1YTdlMDVkNzQ1OWQwNTNiZTUgcmVsZWFzZTI3LW1haW50Cis4NTMzNSA0MmQ2YzI2MmM5NDY2NzA1N2VjNDI1YmRiMmJiZGJmNmM5ZjMwNTAwIHJlbGVhc2UyNy1tYWludAorODUzMzYgMGM0ODg0ZGI1M2UwNDkwMjVjZmQ1NjZmNWJjNjkyMzg0MGNjMzNjZSBweTNrCis4NTMzNyA2NTQzZmE0YjE0NTgxNTIzNGJiMmI5Zjc3MTZjMTUxYzJhYTdhZWVlIHJlbGVhc2UzMS1tYWludAorODUzMzggN2UwMWQ2OTY0ZDVkN2UwYWIwNzdhY2JlNzIwY2Q2YWFmYjQ1OTcxZiByZWxlYXNlMzEtbWFpbnQKKzg1MzM5IDJkMTY0YjFhZWI3OWI3ZGUzMWNkZTRjMjk1ZWIwMTI3ODI1YmUxZjYgcHkzaworODUzNDAgYTdhYjA0OGM2ODQ1ZDhlOTNjM2FjY2FiYTJmN2QwYzI3MzFmODg4MSBweTNrCis4NTM0MSBlN2M5YTg1ZmU5NjNiNThkZTBmNjg0ZDZhMzlkM2RjMzk1ZDY0NDJlIHBlcC0zODIKKzg1MzQyIGNmMmM1ODNiMmNiZWJmMThiZGFiNDkxMDFmMWU1MzJhZmZiNzNmNjkgcHkzaworODUzNDMgODEwYjU0MGFlNjUwZjc2ZGMwMmJlOGFkMTBmNWRjODVkMjI2OGRlMyByZWxlYXNlMzEtbWFpbnQKKzg1MzQ0IDBmNmZiYTY1YmNkZTdkMjkxNDkwZjgwYmQ2YjUyNjQ3MmI4NjVkMmUgcmVsZWFzZTI3LW1haW50Cis4NTM0NSBiNjI4OTllZDdmYjdkNWIzNzYyZjE4YTZkMDRlNzExZWFmYzIxOWFkIHB5M2sKKzg1MzQ2IGQ0NzVjOTQ1NDZiZWQ2NTRlOTVlODMzZWYzYzQ1ODZlYjE5MmZkMzcgcmVsZWFzZTMxLW1haW50Cis4NTM0NyBmZGViMGRjYjlhM2ZkMGQxOWY0NjNiZGEyYTFmNjY4ZTU2N2I4M2VjIHB5M2sKKzg1MzQ4IDJmYTlkNzM0NWFjN2ZhM2M5NDgxMzYxMTMyZDRhZjQ2NDUxNmVkOTQgcmVsZWFzZTMxLW1haW50Cis4NTM0OSA1MWQzMDRlYzZjMTFiNTk3NGY3NGVkNTg4YTVhODI2MmQ0YjkzMWQ4IHB5M2sKKzg1MzUwIGE5YTQ1NjI0Y2VkZjFkZTMyNDU1Y2QyZTI2ZTg2ODIwOTNhZjhiOTYgcmVsZWFzZTI3LW1haW50Cis4NTM1MSAyMzEzNGUxNjczZDcxYmE5YmQwZjQ0ODcwZTM3YTgxYzZmNmI5OGNhIHJlbGVhc2UzMS1tYWludAorODUzNTIgZWQ1ZTU5OGRhMTUwZWY2YjkwNTZhMDcyNzMwYTRiNDkzYThiMzNiYiBweTNrCis4NTM1MyAyNWQwNzg3MzljMmE0ZWQ4Mzg1ZGQ2YWQxNmU3MWU3Mzk2ZDBiMTQwIHB5M2sKKzg1MzU0IGMwMTllOTc3ZjIyMmMzMGJkMzZlYTMwMDcxMmE4NzUxNTQzNDNhNjIgcHkzaworODUzNTUgZWYyMWY4Yzk5ZmIzNDA1MmNlZDM2YmViZTI4ZjlkNGM1ZGVhNjVlMiBweTNrCis4NTM1NyBkYTAxMmQ5YTJjMjNkMTQ0ZTM5OWQyZTAxYTU1YjhhODNhZDk0NTczIHB5M2sKKzg1MzU4IGFkMTViODkxMDZkZTNiZTA1ZTBmMDM5NmIwNjdhODdjZWRmZTBlMDEgcmVsZWFzZTI3LW1haW50Cis4NTM1OSA0NTE4YjJjMmQ2MTRmMTM4MTdkOGU4NzVmOTUwMzMyY2E1YTcxOGVmIHB5M2sKKzg1MzYwIGNkYzk1ZmRkZGI3YjJiYTlkYWEwMzI3Y2FhNWZlOWMxZjhiY2YyZGUgcmVsZWFzZTI3LW1haW50Cis4NTM2MSA1ZWRlMTVlMTI0NTgxNjk5MDkzZWNjNDUyMDZmYTBiN2Y1ZDNmMDBhIHJlbGVhc2UyNy1tYWludAorODUzNjEgZDUwYmZiN2FiNTdjOTI2YmYwN2ZhYmI5OGNiNzhhYWMwNjA4MzhiNyBweTNrCis4NTM2MiA0NzU4MzA0MjRjMWU4MTg2MDU5OTQ1M2IzMDlhOTc0ZTZlM2ZjYWM2IHB5M2stdHRrLWRlYnVnLW9uLXhwNQorODUzNjMgNWFhZWZhOTc1MmFjYjQ5YTgwN2FkY2VjYTM1ZDIwODViYTM0MTM2NiBweTNrLXR0ay1kZWJ1Zy1vbi14cDUKKzg1MzY0IDYyYzE0ZWQ2YjhhMGE2MjRhOWEwNTliOGEwNDRkYTdiOGY1YWM1N2QgaXNzdWU5MDAzCis4NTM2NSAyNjc2YWY2NTUxNGQ0ZDk3YTlmYTJiOGI3NDQyODMxMTBmZmY1ODNlIGlzc3VlOTAwMworODUzNjYgZDQ5MDlhMDU2ZDRlNzgwM2JlOGEwOTIxZTE4MTdhYjJlNWQ4OWYwMyByZWxlYXNlMjctbWFpbnQKKzg1MzY3IDQxYTlmOTUxZWJlYTVlMWFjNmNlZTYzMTFkZmNkNzM0NTg4NTcyNzAgaXNzdWU5MDAzCis4NTM2OCAwYWRiNjQ0MDU4MWVlMWQ1YTZmM2E2ZWE0NDFmY2M1ZTk2NzljZDY3IGlzc3VlOTQzNworODUzNjkgZjdmNzA1MjkzMTBmODRiOTEzYzkyYzgxNDZkZmZlYWY3YzdiZWQzMCBpc3N1ZTk0MzcKKzg1MzcwIDlkNmQ4MzA2M2VjMjJiZGM0MjNkNDExYWVjMDAwYjM4ZDkzZmNlYzYgcHkzaworODUzNzEgY2JkZTgxZWY0YWY3YzAyZWM4NGU4YTg4YzBkMmUzMjQxYWVkNGNjZSBweTNrCis4NTM3MiAxOGI3MjU5Y2Q5MmQ4MzhlZjY5ZmRjZGE3NjgzN2IzYzhkNWZlNmQ1IHB5M2sKKzg1MzczIDk3ZjgwZDBhMWQ1NjM4YTNhMWYzZTcyZmZhNDRmMDZlNTQ0MDdlYjggcGVwLTM4MgorODUzNzQgNjY5YzM3Mjg3NTBiMTc1NmZiZGI4YTI5ZWFkMTYyYmMzOWUxYzAxMyBwZXAtMzgyCis4NTM3NSA1ZmExMjVhZTA3YTY0MTcyMzhhMGY1ZDc0MDFlY2M4YWUxNzFmYTQyIHB5M2sKKzg1Mzc2IGYzMjAwYmU0ZWFhMDk4NGQ4MTMzYjUzYTdlYTBmMDY4YzMyNDE1YmEgcmVsZWFzZTMxLW1haW50Cis4NTM3NyBmYWE0ZTIyYWFiYTdlNGIzNmVmOTNmYTBjZTYxYjBmMGRjYTMzMTNiIHJlbGVhc2UyNy1tYWludAorODUzNzggOGNmMWFmZjE4NTljNjI2M2E3NWEwMGVlZmM0ODEyYjVmOGVhYWZiMCBwZXAtMzgyCis4NTM3OSA2ZDkxOGQ5MTBhOTY4N2Y5OGU5OGU0YjIzOTQ3OTdjYTNjZjY3MTdiIHBlcC0zODIKKzg1MzgyIGQyNDkyOGMyODAwMTkxOGI0ZGM2ZWMzZTEzMWVjOTI1ZTY1ZjAxYTQgcHkzaworODUzODMgOWM3MjNhZmE0NGRhYmI0MjE4MTlhN2M3NDQyZTY4ZjRjMjhkZTRiZCBweTNrCis4NTM4NCA0NjEzZTE0NDkwMDA2ODI0M2ZjMGQ4MjhlZGI3YzFlMTE5NzYzY2NkIHB5M2sKKzg1Mzg1IDllMTQ3YzM0OTEyNmM2ZTgxZDYxNGM1MGI3OTZiM2RmNzQwYWRkNmEgcHkzaworODUzODYgZGVkNjFlMjZiODQxNGY0N2FkZDZjYTc0OTlhMWY0NDM2OWQ1ZDcwNyBweTNrCis4NTM4NyBhODE3MjA1ZDI1NGE5Zjc5ZmU3ZmRlYzIzZTNjMmViNDVhYTk2NjZjIHB5M2sKKzg1Mzg5IDM5YjM4Y2ExYWMwNGJkMWI1MWFjYjFlOTVmMWI1YmZkMTRkM2VjODggcHkzaworODUzOTAgMmZmYmZiYzBkM2NiMTZjNjE3ZTJjODlhNjQ2Yzk0NmFmMWYwZTM5ZSByZWxlYXNlMjctbWFpbnQKKzg1MzkxIDYxNzMxZWM5YTA0ODFlNTcxNjA2ODAxOTQ2MWYzZWI5OTdhZjExYmQgcmVsZWFzZTMxLW1haW50Cis4NTM5MiBlMmFhM2IxZDA4YmNiYzEwYWY0M2RiMGYyY2UzMzZlMGIyODdhOTU1IHB5M2sKKzg1MzkzIDc5MDk0MzY0MDhlMmVlMDhjNGExYjEyYTc5YTZiMjBmYjI4YTc2MjYgcmVsZWFzZTI3LW1haW50Cis4NTM5NCAzZThkMjg4ODZhZDY2MGQ5YzM5NGIxNDJmMmFhOGZiOGVhYWIzM2U2IHJlbGVhc2UzMS1tYWludAorODUzOTUgZjJmNTJiNDBjMWYyOGQyODA0ZWE0NjBlMGMxNGYyY2Y3ZGEwOGU1YiBweTNrCis4NTM5NiBkN2E3MWYxZDFlMzQxYzJhOWNkMWMzMmQ0NWE5ZTZhYjM3MTA3ZjBiIHJlbGVhc2UzMS1tYWludAorODUzOTcgMjE5NTdiM2IwYWNhMDkzMzQxYzA2MjYyNWI1M2U1NGViNWM3NzNlYyByZWxlYXNlMjctbWFpbnQKKzg1Mzk4IDc1YmViNjc2MmUzYjAyMzY3OWQyMGZiNmRlZTliM2QxODdkM2MyNDQgcHkzaworODUzOTkgYzA5MDhjZWJmMTg0MTBmYzcwZDhjZTNkOTJhZTE2NGY0OGE3NDU3MyByZWxlYXNlMjctbWFpbnQKKzg1NDAwIGQwZjYwYmViMjhmMjNmMjMwNDc5YjJkYTIzZmU5ODIzNTI1YTU3ZWQgcHkzaworODU0MDEgZWFkNTM2NGM0YTU5YTczM2E0YWUwZGQyNmJhNmJmMjUyMDZiODczOSBweTNrCis4NTQwMiBmMjljZTBjYzFkNGNlNmI2Y2QwZGUyMGEzMDU5YTJjMTBiNDdhNzJiIHB5M2sKKzg1NDAzIDc1MjA2ZGY4ZTU4YzYwMjg1MGQwZWY5ZmQ2YzFiNjY4YmExNDZiMTcgcHkzaworODU0MDQgMmNlNjQ5NjBkNDkwZGI2ZGZhNDczYmYzZDZkNWMwZDg1ZmY3MTVhNiBweTNrCis4NTQwNSAyMGY0NjNhNDU4NGQ3YzQyZTAzODZhOGYxMDA2YTM4ZWU5OTAzZmFjIHJlbGVhc2UyNy1tYWludAorODU0MDYgMjQ2ZDNkZmNlN2IxMDNkMGQ1N2YyNGQxOWVlMTBlOTA1NmI3YzlmYSByZWxlYXNlMzEtbWFpbnQKKzg1NDA3IDIzZWMwYmUwN2UyMGVkZGY4OTljNGM1MTQ3N2VjODM2NzQ1YjBhMzcgcHkzaworODU0MDggMTIzMjdiOWQzMzI1MTk4MWE1ODEzMWE2MDFlNTI1ODlhYjA2ZWYwYSBweTNrCis4NTQwOSBjYjZlOWIwM2QwYzMyMGM4NmIzZWQ2ZmQ5MTdmM2IxMWVmY2ZhNTA1IHB5M2sKKzg1NDEwIGExNTY3ODkzNzgzZjIzMmRlMGEzNjhiZjY1ZjliN2VmYjIxNjYyMzcgcHkzaworODU0MTEgYmY1Y2ZlOWEwYmI1ZTUxZTgyOTUxM2I2NDU3NDEwZDQ1MWUxNDY2ZSBweTNrCis4NTQxMiBkMDJkNmJiMDI1Mzg1MjUzOTZmYjI3MDBjYTMxNjgyY2E5OWFlYTc1IHB5M2sKKzg1NDEzIGU1MTdjM2Y1NjA5MTg0YjFhMzdlZGY0ODQxNTkwZmI0NThmNWE5MjIgcHkzaworODU0MTQgNWVmNzZiYzE3MWFkNmQ3ZDg4NGJiZTRhN2FlZjVjNDk3MDMxYWFhMSBweTNrCis4NTQxNSAzNzIxMzQzOGUyMWZhZmZmZTcxY2Y3MGVhYjdkNzIxZTY5NDVkOTBkIHB5M2sKKzg1NDE2IDQwZWNiNGQwMGYyNWFiOWIxNDZlYmU5MmUwMjE1MjlkYTg2NjIwYzkgcGVwLTM4MgorODU0MTcgYzQ4YzA5ZTY5M2U2YzkxOGU0OGQyMTkxZGVjYzVjMGEwOTA2OTEzNyBweTNrCis4NTQxOCBmYTkwNTcwMDc3NTU1MWY0NzUwNjk0NjQ1NjhjOWZmNWEyN2QwMTdlIHB5M2sKKzg1NDE5IDBkMTZkNTBjNTdhMGYyMzQyY2UyODU3YWEwMDgwODVkMGFhYmU0OWEgcHkzaworODU0MjAgMTg3NWJmZWQ1Njg5YjlkMDI5MjliNjhkZmE5ZmE4YmNhZjkyMTE1MSBweTNrCis4NTQyMSAzNjE5YzEyMTQwMDdkM2Q1ZTNkMDdkMjM1N2Y2N2IyMmFkMjQzMmY3IHJlbGVhc2UzMS1tYWludAorODU0MjIgZWVhZWRjYmUyODFkNTg0NGZiMzVhM2QwMzRhMzAzMGNlNGY4ZWYyMiBweTNrCis4NTQyMyA2ODk5YTljYTVmMzUzNWRiMzQ5MmFiZGEwMWY2YzQ4ZjE1ODNkZTc0IHB5M2sKKzg1NDI0IDhiMTkyNTAyYTRhOWFkNzg4MzkwNjk2Y2RhMzdjMjZmMTNjNmI3ODggcmVsZWFzZTMxLW1haW50Cis4NTQyNSA2MTBjMjViNWNmYTI4OWJmNzU0Njc4YjZkMzQ2ZmM2NTA5M2Y5YjI2IHJlbGVhc2UyNy1tYWludAorODU0MjYgYTFlZGRjNjRiNzUwNDljOTc4ODEwNWE5M2UxZTM3NDdiYWU1OTk1MCBwZXAtMDM4NAorODU0MjkgMTk2MGY1OGFmNzg1ZDRhNzBhZGJmYzA0MTkyZTc4MmI4MTZiZjE5NSBweTNrCis4NTQzMCBhNzVmZDMxZGRhYmJlZWNiMDM4YWVjNmJmNGI0YjVjNzFiZDc2YzliIHB5M2sKKzg1NDMxIDAwZDEzYjJmODFhM2MzMWExMjM4ODVmZmYwYmJiNzg0NmJjYTY1YjEgcmVsZWFzZTMxLW1haW50Cis4NTQzMiA2MWMzNTQ3MmE0ZjgxYTQyMjc3NzFjMWY4MGRiNzBhODNlMTVhYzY2IHB5M2sKKzg1NDMzIDY0NzRhZGRkMjgzOGI3Njk3N2ZkYjg1YmZjNjIzNzAwY2IzNDdiM2UgcmVsZWFzZTI3LW1haW50Cis4NTQzNCBmMmY3YjcwZmM1ZWJlNGY5MGFhNDM1MDg0YjkxZmM5NGUxZDdjNjMxIHJlbGVhc2UyNy1tYWludAorODU0MzUgMzMzNWVkY2U0OGEzNTQ2NDliMmE4YThiYzhkY2NiYmFhNzIwNTE1NSBweTNrCis4NTQzNiBhNGE2ZDgyM2ZmODk1MTY2MjJmMTUyM2U0ZDE5NmE5OTkwYmNkZDJkIHB5M2sKKzg1NDM3IDQ3NTU3NDQ3MjRmMjBiYWQ0Nzc5NmI1Y2Q3NjdmYTA2NzY5ZWIxNjAgcmVsZWFzZTMxLW1haW50Cis4NTQzOCAxZjIyNWQ2Njk0MWE5MjMwMjY1MjIxYzgwMjAzNmVhODQxYzJiN2I1IHJlbGVhc2UzMS1tYWludAorODU0MzkgZTc2ZjU1NDE1OGE4NWJlYTNhZjUxZDlkOGY3NzZlNzg0OTY4OWJkZiByZWxlYXNlMjctbWFpbnQKKzg1NDQwIGU5ZWEwOTc4N2EzNWNmOTNjZjUzNWY5NjY0OWRmYWMxMjZiMGVmZDQgcHkzaworODU0NDEgNGM1NzA2YmMyZjQzMDUxZmM2OGJmNjQyZTAxN2ExZDRiZjZkMGVlMSBweTNrCis4NTQ0MiA0OWRmNzc4ODg5ZTZmYWNjZTM5NmUwZDFiY2NjZTY3MjlhNTlhMTM4IHB5M2sKKzg1NDQzIGE0NjcxMWRlOTI5MTIwNzJiZDE4NzhjYWNkNzFiZmRhYWExNTVkMDYgcHkzaworODU0NDQgNzhhMTJiODI5YTlhYTllNzdjNGJhZjljMzQyMDE2YTI1ZDYxNmJkNiBweTNrCis4NTQ0NSAxZTcyYWJmMDczYzU2ZjVlMzEwMzEyMDJlYmQ4M2UzNmM4NDYwMzM4IHJlbGVhc2UzMS1tYWludAorODU0NDYgZWJlMTRjY2JhMWI3YjUxYTg0YjE4YjlhMDY5NDI3YzVmOGNjMmZiYSByZWxlYXNlMjctbWFpbnQKKzg1NDQ3IDZmZDQ5ZDA1MjEzNDVkYWQxZmM4MmU5NjM1N2JhYzVjYTc2NTNlNDUgcmVsZWFzZTI3LW1haW50Cis4NTQ0OCBmYTI3ZGQxMjk4ZmU1Nzc2NTA4NzJkY2QxNjRmNmVhYTE0MDJkNGNjIHJlbGVhc2UyNy1tYWludAorODU0NDkgMmYzZTBlZWNjNzYyNzdiZjUzYzE3NzBhNDYyNzg5ZWUwZDU2ZmQ5YyByZWxlYXNlMjctbWFpbnQKKzg1NDUwIGNjYzQyNGM5NjY0MjZiZDE1MjIyMDJmMjA5NGYyOTJmZWIwYTQ5NGUgcHkzaworODU0NTEgYjVjZTA2YmJiMDZmZTIxMzAzMTA3MjkyNDVlMzVkYzk2MjE5ZjBkMSBweTNrCis4NTQ1MiBlYTJmZTk1ODFjMmQ4ZjBhMjAzN2ZhMWFiMGY4NDkzMjEyMmZlNmU1IHB5M2sKKzg1NDUzIDMwYjNkN2M1MjUzZDU4OGViNTA3MDY5MDVlZTkxOTIyOTRlZDI3NjYgcHkzaworODU0NTQgMzYxMWVhNDJiNzkyZGMxM2M1NTQ4Yzk2OGI1ZDM3OGZlMjk5MzU5ZCBweTNrCis4NTQ1NSBiYTY1ODFlY2I2ZjFlZTdhNDgzMjM1NGI3ODg5YjBkMmY5NDJkODZjIHB5M2sKKzg1NDU2IGZkMDQ0Y2RhOTdkODM3MGZjZTMzYTEzOTA4ZWJjMDYwYjgwZjkxNTggcHkzaworODU0NTcgNmFiMGY5MjE5NjYwYjg4MmVmZDRkZjY0YzkzMTYxNWM4ZjU4MWJjYiBweTNrCis4NTQ1OCBiZWFlNzZlZDVlYmZlM2Y4ZTNjMDZiYzg2NmFkMGU2Y2RmOWI0YmVkIHB5M2sKKzg1NDU5IDdkNzk2ODgxNTZkYjVmZGJjOTAwZDhjNzcwNzJlNjE3YjQ5MWUyNDcgcHkzaworODU0NjAgZGMyMDBjZjJmNTY1OGFjMTA1ZGVmNTJkNjkzYWU3NzUyZDk2NWQ5MCBweTNrCis4NTQ2MSAyZjE3OWEzY2IyMDY2MGEzMmNjZjgxNWU3ZjQ0YjE1Y2M1MzFkYTNlIHB5M2sKKzg1NDYyIDgyY2RlOGI3MzcyODIzMTkxYzk5OGQ0MDBjNDdmYmEyM2VkN2Y3ZDEgcHkzaworODU0NjMgNGE4ZTBkODk3NTViNjRjMmU5MDM1MzJlYmZiNjExOWI1ZWMwNWQ2YSBweTNrCis4NTQ2NCA2N2EyMTg1NzBmNGE0ZTE2YjA0NWEzNTgzNjgxYzEwNjFhMGVlYTNkIHB5M2sKKzg1NDY1IDY2MGFmZGFlYjJkNmU2MDcyM2VhZGNiNjU3NGZhMDVhYWFhOGJkZmYgcHkzaworODU0NjYgMjg1M2NhZDljYmMwMjQzMDBlMDU3YjAwNGFhNTZkODQ4ODcwYWUxNyBweTNrCis4NTQ2NyBlMmM5OGM2MGRkNjRkMGE1ZDIxMDRkNzNmY2I1ODZhMjQxMGUxNzQzIHB5M2sKKzg1NDY4IGI2NTIwNjEyOWI1Yzk0YzY4NmQxNDc1YTkzMDkxMjg4ZGRjNTQ0YjcgcHkzaworODU0NjkgOTk1YzMzZTIyNjNiMWM5MTBhYWI0MWFmNGYxYTFlYmFmN2NiODg3OSBweTNrCis4NTQ3MCBhNWVlYWQxNDFjYjQ2MzU2ZjVlYmNkZDlkMmU0Y2I1MTg4ODNhODkzIHJlbGVhc2UyNy1tYWludAorODU0NzEgNmE4NDg5NTU0MDE5ODJjMjZkNmZjZGFhOTU3MjI3MzY2NGIzZmE4YiByZWxlYXNlMjctbWFpbnQKKzg1NDcyIDcxZTc2ZDAzZmM2N2YyNTA3NzRhY2JmYWZmYmVkZjRjNDQ0ZjZhZjQgcHkzaworODU0NzMgZDdmOTA3MzU3ZGE3ZTk1MGNiY2RjNDE5ODdjMDU4ZjFiN2NjNjlmYiByZWxlYXNlMzEtbWFpbnQKKzg1NDc0IDgxM2I1MWE2YTQxNzk5N2Q1NWMxODU3OTRjZmY0YzFlYWZlMmE5NGMgcmVsZWFzZTI3LW1haW50Cis4NTQ3NSA5ODJjOGVjNzNhZTM3ZTBlZDZkNTQ5NzNlYmEzZjcwYmY2MzllYzhjIHB5M2sKKzg1NDc2IDNkOWVmMDk4ZGFmMmUzNmZjYmM2ZDIyZjdhOTU2YWI2NzNiMDEzMGQgcHkzaworODU0NzcgYTI3ZmMwZmYzNjc4YjAwOTY2MzQwNzY1MGYyOWVhNGYyMTczNGYwMSBweTNrCis4NTQ3OSAwOGE5YzA0NjAwNGRkMTFhOTRhZjlmMWVjMzEyMmZhZDQyOGRiNmZlIHJlbGVhc2UyNy1tYWludAorODU0ODAgMTI0NDJhYzNmN2RkYmJhM2NiZTk4MDRhOTMyODkwNTRlOWJkZWM0NCBweTNrCis4NTQ4MSAxOTBmMjQ3ZWRiOWVlYmNmMzBkZmZiMmFmZDE0OTk3ZWViMGJjNzFiIHB5M2sKKzg1NDgyIGFkNDBjMGEzZTIyMTU2YTFlM2M1Y2NmNTJkODhkOGJlYjU2MDNhZDIgcHkzaworODU0ODMgYjgzZjBhNjY3ZTdjZWIyZWVkMWMwZDM2ZDhhNGIwNzRkYTgzNmY5NSByZWxlYXNlMzEtbWFpbnQKKzg1NDg0IDA3YjZiYjc2ZWU0MzkyM2M1NTZmZDAwOTcxNWYwYzNhNTVkNTljM2YgcmVsZWFzZTI3LW1haW50Cis4NTQ4NSAwNzhlMmU0N2U1MmIwNmFmZTEyZDE4MTk5OTllZWZkYTIxNjdlNjMyIHB5M2sKKzg1NDg2IGI4ODZiZjYwMjUxM2I0ZjdlOTdlMTU3MTVmZjQwM2Q1Y2I4N2M3ZTcgcHkzaworODU0ODcgOTBjMmI2NTQ5MGM3NTMyMzE2YWQwZDcxNWQzYTY3MzY5YzUzYzE0NCBweTNrCis4NTQ4OCA4MGQzYTM3NDk5YjFiMmIyMDlhNmVkODU3OWY2NzZiMDU1NDc0ZTM3IHJlbGVhc2UzMS1tYWludAorODU0ODkgMDY3ZThiMjAwMGRkMDU3OTJlZjA0M2E2MDY3NmU1ZjVmNWNlMjNiMyBweTNrCis4NTQ5MCAzZTc5MTM0YzY1MzU3YTc2MmRhMjVmYWUxMDZlNTFlZjNhYTQwMGViIHB5M2sKKzg1NDkxIDFhNjAxM2VlOTc0YjA4NzdiOTRhMTMzYzYwYmQzMjkyYzQ3OGNjN2QgcmVsZWFzZTMxLW1haW50Cis4NTQ5MiAyNTNhMjY4Nzg1ODU3NDhmYmU4YmY2NTgxMjcwYWVjODY0NzY2ODhlIHB5M2sKKzg1NDkzIGI3ZWNkOTQ0YjdjZWIyYWQxYzdmY2JlMTA4MmEyYmE3YjBiZmIyOTggcmVsZWFzZTMxLW1haW50Cis4NTQ5NCBkNTJkNWQzNTlkYjMxMDAxMGVmNzVkNWFiNWE3ZjI1ZDViZWUyODI2IHJlbGVhc2UyNy1tYWludAorODU0OTUgMDUyYzE5OWFlMTlhOWIwOWI4MzI0OWQ2MmExNzUyOTQ2YTBiYmFmNiBweTNrCis4NTQ5NiBmM2RhOGNkNzQxMTM3OGI2ZDA5ZDUwNjg4NTA3YjE5Yzg1MzBkMmUwIHJlbGVhc2UyNy1tYWludAorODU0OTcgNDY5NTZhMjVjMjY0MWJmZTdiYzhjNWFjM2VjNTZiMTg4OTk4ODcwNiBweTNrCis4NTQ5OCA2Mjk2NjMyYWQyY2JlNjVmNzAzMWJiZTFjZTZmZjFjMjMzMjJiYWZjIHJlbGVhc2UzMS1tYWludAorODU0OTkgNDI2OTI2N2U2ZTU3ZGEyNDMyNWRkNzZiMzYyMDM0MWFhZmIyOTg0OCByZWxlYXNlMjctbWFpbnQKKzg1NTAwIDZjZjIyM2VjYWE2ZjBkYzUzMjdjNWMxOTI2ZTMxNWY4NzE2MDQxNzIgcHkzaworODU1MDEgY2ViMTI3MDNjNmRiYTMzMDI2MTVlYzBlZTE2ZDY3NzY2MjU4Yjk4NCByZWxlYXNlMjctbWFpbnQKKzg1NTAyIDI3YzA1MTI0NzIzM2E2ZTI0YjM2YjE3NjNlNTFiNjE0Y2RhYmZlMjUgcHkzaworODU1MDMgNGQ1ZjBjNDQ4N2ViOWZmYjM2NWU5MzMyZDc1YTRkZWQzM2JiYzU5NiBweTNrCis4NTUwNCAxNzgyZGE0NDBmYjFlNDQ2Zjc3OGRkN2U0MzI1YWI1Yzg2Njk5OWE3IHJlbGVhc2UzMS1tYWludAorODU1MDUgZmVhOGYyMWIxOTlkNzRkN2I0MDhkYTk1ZTdkNTM1YTkwZjA2YjI1NyByZWxlYXNlMjctbWFpbnQKKzg1NTA5IDdkMWU0NTNiMTIwYjZlNjJiOWE1MDYxYWFmNjI0YmNjYTg3OTBmY2EgcmVsZWFzZTI3LW1haW50Cis4NTUxMCA4OWE4YmY1MzI1Y2QxNWZlYTllMzBlZThmYTkzNzhlODNmNjc0ZGU1IHB5M2sKKzg1NTExIDVlMTU3NjA1MDc0OWJlYmExOGIxYzI5Y2EzODQ3ZTU4NDllMmQ4ZmUgcmVsZWFzZTMxLW1haW50Cis4NTUxMiAxNzgwNjg0YWUzYWQ5N2MwZmJlNmNhM2FhYzcxZjA3OTE2YjA1NDEwIHB5M2sKKzg1NTEzIGMzZjJjNWQzNWFmYWZjZDg5Zjc4MGVkZjEwZDgzYTk5MDI1YTQ0MzcgcmVsZWFzZTMxLW1haW50Cis4NTUxNCBlNTEyMzcyZjc0OTQ2ZDZmOGEzYjYwNTg2ODBiZjMyNTExYTZlYTY4IHB5M2sKKzg1NTE1IGNjMWQ4YTJkYjM0ODZlNDEyODM3YTA5Yjk1ZDJjOTA0YTQ0MDBiYTYgcHkzaworODU1MTYgZjYzZDc0NzYyMmJkNTE3MzQ3ZjFlYWZlMDEyYTEyYWI5ZWYyYTU3MCBweTNrCis4NTUxNyA0NTNmZDgxODJjMmY5NmU5ZTBlMTdjM2YzM2NkZjcyZDUwMmVhMmJmIHB5M2sKKzg1NTE4IGJiMzAzOTNkMWVhMTg5YWQzY2I2N2I5NTRlN2Y3Mzc4MDIzODlmNzMgcHkzaworODU1MTkgMTU3NzUxY2M0Y2Q1MTg4MzcwMGU5OTM2ZjIyOTdjOWNkNmI1MmRlZiBweTNrCis4NTUyMCBlNzczYTFmMjNkNDMzOTNlN2JiZjdhMzJmNzRiNDE1MDc5YmY2MDMxIHB5M2sKKzg1NTIxIDljNzNmZTNmNDdlMjY5MDYwOTkzZDM1YTc3YzNjNTA0YzliODRkOTYgcHkzaworODU1MjIgNmEzNjViOWEyMmJhOWMzYjAxZGU1MDg3YjA2ZDJhMmE1NWExMTgzZiBweTNrCis4NTUyMyA1MjAyNWMzNTQxZDg4OGZkMTliMDQ3NWQ0YmU5MmQxYWRmZDBiNTU3IHB5M2sKKzg1NTI0IDFmNWEyOGJhNzQ3N2QwMmEzYjgxNTIwMjlhMjk5MWE4Y2U2MDNjOWYgcHkzaworODU1MjUgODhiZGVmNTM2MGFmMDNhY2VmZmViN2NmMTc4NTlhOTBlYzcwM2E3OSBweTNrCis4NTUyNiAzMjBkMGZhMjE2NThkMWRmNzQxODk2YjQ3MzUyMzYwNWIxOTYxOTk0IHB5M2sKKzg1NTI3IDRlYmMwMzA4ZjRiMTJlZTNmOGI1OGQ5YmM4YWVkZDllNmM2YTM3NGMgcHkzaworODU1MjggMGI1MGQ4NzA2MTM0NDYzNGE3MTEzMjkyZmZlMzkxMjMwZmE3NGIxMSBweTNrCis4NTUyOSA4MGZlMDY2YzEzNWE5MDQ3NjgxYjVlNDcxYzM1NDUzZjFiOGU1ODczIHJlbGVhc2UyNy1tYWludAorODU1MzAgNDE4NjhjYTUyNzQ0YzhlZDJmM2E3ZTBkNDU0Zjc0NjA3MmJlYTE0MSBweTNrCis4NTUzMSA1NjMzYWY1OTAwNTcwMmI5NTMxMDA1NmQxYTVlNGZhNGJmZTYxODdmIHB5M2sKKzg1NTMyIDhmNmFiYTIzZmIyYWJjNzViZTllYjJjMGNjZTk0YmYxMmRkZDU4YmMgcHkzaworODU1MzMgMTA0MzU4YjVkNGQxNDQ2ZGJjMDVhYmUwZWZiYzhjZGIyM2UxNTQwOCBweTNrCis4NTUzNCBkYzI1YzUwYTdjMTE2MDY4ODQ5MTJkMDJiNTAxMTM2YmQwODAwNWRkIHB5M2sKKzg1NTM1IDZiODMxNDM3NmRlMmVlYjRlNDU2ZWUwNzQ1Zjg1ZTJmMTYxMDVmZmQgcHkzaworODU1MzYgOTJlYTU2YjUyZDhmNzMxNGJjNTdhYTk3YzE4NTJhODE4ZmQzMDI5OCBweTNrCis4NTUzNyA5NzEyNTg2ZmE0MmY1ZjlmZWEwZTM3MTA1NTdlODFjOGI4MzhkN2JlIHB5M2sKKzg1NTM4IGFjODY4MDY4NWZkZWFhM2U3N2Y4MDg1ZGY1NDY3NTg1M2VlNjY4YzYgcHkzaworODU1MzkgZDgzODRmY2UzYzczYjlkYWFmNDZhN2JjZDUxNTBmMThlMGY5NmVkMSBweTNrCis4NTU0MCA3OGQ1Mzg1OTM5NWE0NDYyZTczZjZlYzY3MzVjNTYzMTM1MmI1MWQ4IHB5M2sKKzg1NTQxIGYzM2JiODUwNzg5ZWE4NTJlZDM4NjY0NTU0NmE4ZGQyNTk4NDkzNDUgcHkzaworODU1NDIgN2RlMzY1YzE5ODZiYWJhYjZkYzk4ZWU3YjE3N2YzNGUyNjQ0ZDE3YiBweTNrCis4NTU0MyA2ZjRjZjczMDMyZmM5YjhmYzg0NmIyYWEyYjQxNmEyNzE2MmUzMmQ2IHB5M2sKKzg1NTQ0IDkzNDdiMGE4NWNhZjU4NmFjMGVkMTZlZDM4YzM1ZjU5YTFhMTg4MGUgcmVsZWFzZTI3LW1haW50Cis4NTU0NSBlZWM0OTk4NDdkZjdiYjlkODM4NGJiYWRiODQyYTNkMTg4NjYzMzdhIHJlbGVhc2UyNy1tYWludAorODU1NDYgYjcxYWFmNGU3ZDhkOTAxYmFmZjA2Y2NkMTU1NTkxYWRjYWIzZjUyZCBweTNrCis4NTU0NyAwZTJjYmMzMWZjOTI1ZTI5NjIyZTg0ZmJmZjM0MjRjODA2YmEwMGE5IHB5M2sKKzg1NTQ4IDM5NGMwMGI0YzkxOTRjZmQ3MjZlYTMyYjMxMjgyMWY4NzQ2ZjkzMGYgcHkzaworODU1NDkgODQ0ZWQ2ZGRkYzAzMWVmZTk2NGUzNWRjYmI4ZDUyOWMyMGZmYTRmZSBweTNrCis4NTU1MCAzNDhmMzM2OTY0MDIxNTUwMTQ5OWM3ZjJlYTgwNTlhZjkxZjk3MGMyIHB5M2sKKzg1NTUyIDkwMDUyODg5Y2UzZGUzM2MxYWUwYTA5YjRkMDRmYjNjMTJiY2U4NmEgcHkzaworODU1NTMgMjkyYjFkZjAxYmFkODdjN2MzZDcxNzVmNmE2NzgzMWY3NDgxOWJjYSBweTNrCis4NTU1NCAzYzQyMjViZjg3YjQxMjY2MzQ1Njg4M2FiOGQ1ZTNkNWY2ZTc4ZmY0IHB5M2sKKzg1NTU1IDJiMTdiZTYyYzc0ZmNjODAzNTIzMTQxNzYwMGRhZjc0ZjkyMzdmNWMgcHkzaworODU1NTYgZDQzOTBiNmJmN2VjOGUxNmYyZTQxMGUzOTU1NzEyZjA2MWQ1NzMyMiByZWxlYXNlMjctbWFpbnQKKzg1NTU3IGRkZjJlYWQyNmFhYTQ1ZWE2OWUwOGYxMWYxMzFmMTkzZTVjZDczYzggcmVsZWFzZTMxLW1haW50Cis4NTU1OCA0ZDZjNjNjNjU1NTBjMjM2OTk0ODI2ODJjNDc0NmFiNjdjYmVjZGFiIHJlbGVhc2UyNy1tYWludAorODU1NTkgOTMyZjk3YmZiZGMwYzUwNDlmZWFmYzgyMWE4YWIxNDZkMTQxN2QxMiBweTNrCis4NTU2MCBmY2RjMmZhZTUwYzA4MWFjOWI3MDNkY2FjOTU3ZjlmYjAzMzRkMGVkIHB5M2sKKzg1NTYxIGY5OGMzZTJmZDA1NTAzMzEyNDUyZTEwYThiNWM3NzYwNTFjM2IzODEgcHkzaworODU1NjIgZmQ1YzgzZjc2NDQ3NTBiZDI0YWFmZjBjYzJiZTg4NzZiMzE3OTNlYiBweTNrCis4NTU2MyAzNjE4ZDlkNzkwMmQzY2I0NDhiMjUxN2IwZmQ0ODBkNDA4YWIxNWZmIHJlbGVhc2UzMS1tYWludAorODU1NjQgMGJkMGU4N2E2ODUxNTQyMjQ2ZGE1YTdlM2ZlNTlmNzM1ZDI5MjY1OCByZWxlYXNlMjctbWFpbnQKKzg1NTY1IGY5MTg0ZTdjZDI1Y2UxMzA3NTIwNGRhNzhkZjQzYjgxNzJmNzZmYzggcHkzaworODU1NjYgZGQwODY3YmQ5NTU3OTBkOGM4NjM1OTY3MTRkM2Q0ZjJjOTU4MjMwNSBweTNrCis4NTU2NyAwOWVmZmZlNzAwMzA3MDE4ZWZlMWIxNjdlMGVmNmQzZmY0YzY3ZTBkIHB5M2sKKzg1NTY4IDc2Yzg4OGZkMjM4MGRmMjZiODAzMjZmMWY2NjViOTg5Mjk1YjExM2YgcHkzaworODU1NjkgNTVlZDVjNTI0NDI4Y2EyMjg2NGRiNjRkOGIwNWY2NTQ2OGI1ZGI1ZCBweTNrCis4NTU3MCA5ZWQ2OGRkNmI3MWZmNzIzMzliN2JhOTdjYTVkMjQ3NDc1ZTNlZTljIHB5M2sKKzg1NTcxIDYwMzk4NDUwOTM0MzAyYzEwNmViOTM0Mjk5YThiNDY1YzEyNWI1NDAgcHkzaworODU1NzIgNjg2YTJhOTFmODI2MDgwZWU4ZTVjMzJiOWJmN2YwOTU1ZjI3NmVhZCBweTNrCis4NTU3MyAzZjJlMTQ1YzRhMDJlNjYyMGZjYzg1NTA2Y2Q2MmZkZjI1NDM1YWQzIHB5M2sKKzg1NTc0IDUxODFjM2JmODk3MGUxN2JlMTNkMjEzNDQ2YTEwYmI2M2M4ZTQ2ZGEgcmVsZWFzZTI3LW1haW50Cis4NTU3NSBhNDQyZWNiNzA4NDFmMmRkN2M1NWEwOTU0NzU5YzZjNjRmYTVmNjM2IHJlbGVhc2UyNy1tYWludAorODU1NzYgMGJhNTBkNDg1ZjA3MjY4YTM0N2U1MDVhNmZhZDdjZDNkMmE1YmY4ZSBweTNrCis4NTU3NyBiNGJkZDQyOGViMmIxZjIzOWEzMjQ0MjNiNDE3YWI1NGQzYTYwMjVmIHB5M2sKKzg1NTc4IGI3NDlkYzRjMzc0YzE2N2ViYTEyOGM5YTk2MjUyNWRiMWIyNmZkZTUgcHkzaworODU1NzkgZTFkYzk4NjFiNDNmMzljMTEyMjdkNmIzZDAxMTFlNTI2OGYyMzg0OCBweTNrCis4NTU4MCA2ZGNiYTkzZDYyNjIwMmFjMDU5ZTBkYTAxZTE4MWJlZjMyYjY1ZDE0IHB5M2sKKzg1NTgxIGRmMGUzNDhlNzE3NjJlOWE1ODQ1Y2RiZjgwZmJkNmE5YzQ5NWIzNDYgcHkzaworODU1ODIgMzc5NGM5YjUwODI0ZmQ3YjVmODM4NDZlZjg3OTljMDYyMWViYzI2NiBweTNrCis4NTU4MyBiYTg2ZjM0ZjA4ZGE2YmNhMWE4OGFjOTZlN2Y4NWJmMzgyYzI3YjA4IHB5M2sKKzg1NTg0IDkzMDZmZjFjM2Q0NmY3ZDE3YmYxYjBjNjMxN2QwYjAzNTIyZDk0YmIgcHkzaworODU1ODUgMzQwMzU5ZDgwY2EwNTZhMjBjZjUyNDU5MTdjMGYwMjkxMjFmZjY0OSBweTNrCis4NTU4NiA0NDNhYjJjYmFiY2JjYWRhZGY4OTkwYTllYTdlNmM4MGEwZmFlODhjIHB5M2sKKzg1NTg3IDAyODMwNTUzZGJkMTk5Mjk3Nzc5MzJhNjAwNDBlZTg3NzY4MmY3MjkgcHkzaworODU1ODggZmQ1MTM1Y2JkOTI4ZGYzMzBlMzk3ZTI2ODhlNzk5NWM4NThiNTNkYiBweTNrCis4NTU4OSA2MDg3YjFmNmNhOWI3NGViODJjY2I1MDZmMzgwMmY1NjlkYmVlMmM5IHB5M2sKKzg1NTkwIDZiMjY2ODg3M2YzMGQyOTFjMDk2NjNmZTFmYTM2NjNkNTBjZTExMzUgcHkzaworODU1OTEgNDM1NzViMDk2OWVkMDYzYzA5Zjc0NGRhODFjMGMzNjJjYzg4ODkyMiBweTNrCis4NTU5MiA2ZWNlNjI5NDQ1YjYwYjM1MTViNjJhN2Y0YjM4ZDJhMjA3MDkyNDM4IHJlbGVhc2UyNy1tYWludAorODU1OTMgMWJmNzY3ZjI4ZGI0ZGY2MjM0ZTIyMDBiY2M4ZTc3NmJiMDdkY2RhZCByZWxlYXNlMzEtbWFpbnQKKzg1NTk0IDA1MDVlYmE2MjM0NzJmY2VmYmZjMWI2MzkxY2Q3MWQzNjE0OWRlODkgcHkzaworODU1OTUgYzk5Y2Y5MTAyNDc2YzQ5YzU1MDVkM2Y5N2U0YjcxM2I4ZWZkY2ZhOCBweTNrCis4NTU5NiBlYWJjNWM1M2YxMzRlYWNjYzUxYjcwNTE0OWM5YzFlZDNhZDMzMGE5IHB5M2sKKzg1NTk3IDI4ODBlNzJhNDY0YmQxYzFhODg1MWVmNTllODJkMDMwZmNjOTkwZjQgcHkzaworODU1OTggNmU1NTk3OTNlNDUwY2VlMzU2NTMyNjY4MDg1YWIwM2JlY2IyOGJmMCBweTNrCis4NTU5OSAxNTg1OTc0MGFhZTZjMmQ3MDJjNWM3OWM0ZTliMWE4ODBhZDlkZjZmIHJlbGVhc2UzMS1tYWludAorODU2MDAgNzAyNTI3OGM1YTQxYThiNmM4NTkzNDFmZDQ3MzFjMGE0YTIxNjhhMCByZWxlYXNlMjctbWFpbnQKKzg1NjAxIGY2MjE2YzVmMDY4MDNhZTViZDllNWY5NjM3M2NkZmZhY2UxZmMzMmUgcmVsZWFzZTI3LW1haW50Cis4NTYwMiAxNWUzYWQwY2EzNjQ4YjlmOTcwY2ZlZmVkNmRiY2U4MmY2MTA3YzVkIHJlbGVhc2UyNy1tYWludAorODU2MDMgY2FhMTdhMDMzMTc2YjI5ZTg2NjRlNjFmMTA1MjU3MGUzYTdmZTIzOSByZWxlYXNlMjctbWFpbnQKKzg1NjA0IDA4ODQwMjQ2OTAxNmJhNTFmOWI1YmFlMGE4MzhhOTc0NjcwOGYwNzQgcHkzaworODU2MDUgOTMxZjIzOTA4Mjk2NmZmY2M5ZGY2OTNjNDRkYzBkM2NjNjE1YzgyOCByZWxlYXNlMjctbWFpbnQKKzg1NjA2IDg3MzNjNjkwM2ZjY2EyNmRmZmJmMDlhYWNkNDI2MTYyMzg1OWNjOTggcHkzaworODU2MDcgYmU2MGM5NjBhYzA5YTQwZTA0MjUxMDAwOTdmMzRjMmZiYjEzMWExMCBweTNrCis4NTYwOCAyZTg1MDQ3MTE5ZDIxYmFmZjkxNDc4YzVkNjkwNmIwMmFmMWRlOTkyIHB5M2sKKzg1NjA5IDViMmFmMzViOGI0YjYwNmEyYzBiMGI1YTczMGFkMzAxNGVkNDY1NTkgcHkzaworODU2MTAgZDI1MzQ2YzBiOWQwOGQ2MmJhYzNiZmI2MGMyMjdlNDNiZmEyNzU1MyBweTNrCis4NTYxMSAzYjVlZDg0OTBhYjJjMmEzMmEwNmNjNTAwOWFlOWViN2YwOTg0Mjg3IHB5M2sKKzg1NjEyIDY5NzQxZDRiOGE2MDAzOWQwNWRhNGIzMDk5ZDBlYjEyYzc5MTNmMDUgcHkzaworODU2MTMgOTZkN2U3ODc0ZjhjNDYyNjUxZTkzMWMxMzRmMTEyZDc2OTk4YzhjYyBweTNrCis4NTYxNCA5NjZlYzMxYjgzNDJjNzYyMDg4M2IyODc1NTQ0ODU1NWE3MjZhODE4IHB5M2sKKzg1NjE1IDVkYTgzN2ZjZjY3NTkzYWVhNTQ3MjQ3ODkyOGQ0MjRjOGYzMmJmNDAgcHkzaworODU2MTYgNDczYjkyMWUzYTFmM2I2ZDE1ZWY3OTY2NjgyNjI2NDZhNGFiNGI4YyBweTNrCis4NTYxNyA3ZGRmNjBjODg5NmFhMDQxODk5NjFjYmIzNTEyODkwNjc3Y2YxMmRiIHB5M2sKKzg1NjE4IGE0ZGQzODM5MTJkODk4ZGJkYmE2NTg3OWFiODNhN2U0MGY0YWQ5YmMgcHkzaworODU2MTkgYTkwNDdjZTFlODFkYWMyNzBjMmNkOWVjZTA3OGYwMzBhYTgxZTcwOSBweTNrCis4NTYyMCAxOWNhNzBiNDYzYzU5OTJjYmFmN2ViYjdhZTUzMjVhOGVhYzAwNzU2IHB5M2sKKzg1NjIxIGFhMmU0NjM3ZjZjZTk3MTY0MmE0NzgxZWM5MWE0MWVjMzliOWNkOGQgcHkzaworODU2MjIgNTczN2FkNzFlOWUxOWU5NDZlMmM1MGI2YjYzMDVlMzQ2NTk1NjUwZiBweTNrCis4NTYyMyA4N2RjZWJlNzhkNjdjYTJiMjc4MWI2OGIzZTc1OTI5M2UxMWM1MTg2IHJlbGVhc2UyNS1tYWludAorODU2MjQgMDk5OWUzYTQ0NzM1YmU2MWU1ZWMxNmEwMWJhMmQ5NzUxMjk2ODQwNiBweTNrCis4NTYyNSBkNjk5NzA4ZGMyYzE5MDRiYzkzMGVjYzU4MThmODgzNGViNzE0YjY5IHJlbGVhc2UyNS1tYWludAorODU2MjYgNWEyZDM0NDliNTc1ZTNhMTA1N2ExZGJiZGIwMGU1NTE5MGQxNzA1NCBweTNrCis4NTYyNyAwNjYwOGNjMjVmYjIwNGNhZTQ3NjBlNWUzMzgwM2QwMDg1MTJhMTBjIHB5M2sKKzg1NjI4IGNlNGQ4MTAyNTdiNDRkOGI1YWQ2ZWFlOTI4YzliNTE1ZDA1YjI5YjAgcmVsZWFzZTI1LW1haW50Cis4NTYyOSBjYTk2OTA5MmY0NWE2Y2RiODkyMTEzYmEyZDM5MWE2ZDBiZGY2ZmFhIHB5M2sKKzg1NjMwIDMxMWQ3YWJiZmJlMzAwYTFjYmNhNGJmMjAzYmE2OTViZjhmYWNlMTkgcHkzaworODU2MzEgYmIyMTM1OWU4OGI5NDY0ZTI2ODFkOTc4Zjk5ZTgzYzI4M2FjYzhkZCBweTNrCis4NTYzMiAzMTc1MGM3MjdhZTMwNTBjMDAxYzgwMjI3MzVlNmU2ZjE1OTcxZWUwIHJlbGVhc2UyNy1tYWludAorODU2MzMgYmNiMjYwZDY4YjE1OGFhZWQzMGJiYTUyNzIxZGE0YzUxNWRmYmRlZCBweTNrCis4NTYzNCA4N2U1YjU5MzhjNjVmMGNhYzQzMDhjNTg4ZTIxMmQ2NWFhNzNmZTg0IHJlbGVhc2UzMS1tYWludAorODU2MzUgNDIyYTRmYjBhNDkxMjQ0ZDU0MzQwOTBiN2E2MDIxNGU0ZDA2ZWRhZSBweTNrCis4NTYzNiAwNzNlMWJlNzZiNDc0MzU4OTRlNmZkZDg3YTlmZWEwZWFiMTRmMDlkIHB5M2sKKzg1NjM3IDliMjI1MGZiODBkOGI1YmI0YjkwMTA1MmVlYzI0YThkMjE3ODQwMmIgcmVsZWFzZTI3LW1haW50Cis4NTYzOCA5ZTQ1ZmM4MDUyODhhNzdjODRhMjUyM2I5NGI3YTVlYWU3ZmQzNGE2IHB5M2sKKzg1NjM5IDY4NDQwMjcyNTRmYWU2YjFiZjk2YWUyN2RiYWQzNmJkMzRiMWNkZjAgcHkzaworODU2NDAgMTg2YWYwNTFkMDRmMjEwYjFjN2UwNmU4OTNkNGU4ZGNlYmU3NmY1MCByZWxlYXNlMjctbWFpbnQKKzg1NjQxIDk5NGI4Nzk5ZjI4ZDY4YTVlNGI5MGMyYTgyODQ4NzEyYTk3NzVhYmMgcHkzaworODU2NDIgMjFkZDcxOTM4YTQ0NzJkMjQ2ZTU4Mzg1MDY1MGI3NmJjMzkwYjAyNSBweTNrCis4NTY0MyA3NGQ4MWEzYTBkNTY1YTE4Nzg1OWRkNmE5YzMwMGNlNTdjZmJhYzk2IHB5M2sKKzg1NjQ0IDA1ZDdiMTk5MWZmNzJlNzRmMTUyNmE4YTFlYzc1NTM3NjczNjMzNTQgcmVsZWFzZTMxLW1haW50Cis4NTY0NSBiNDJmOTQ5NjQ4YmFjNTdmZGMwMDExOWIzYjc1OTdhNzUxZTc5NDE0IHB5M2sKKzg1NjQ2IDYzM2RlNTdmYjczYWUxMTYzMjI0MDk3NzQwZDFhNDIxMjRmMGZmOTEgcHkzaworODU2NDcgM2M5YWZhOTJmOGZkYzY1MzJiMTE4Njc5ODAwMmMwMDQ5NzJiMTcwNSByZWxlYXNlMjctbWFpbnQKKzg1NjQ4IDYyM2RlYWU3NzMyNDM2N2Q1MTZhYTRlMWYyZDQyZDUyODYyOWQwNzIgcmVsZWFzZTMxLW1haW50Cis4NTY0OSAzOWEyYzNiMTBhN2IxZmVmYWZmNGY3YjI2MzNkNDBiNzEwYmY5NzNiIHB5M2sKKzg1NjUwIDlhYzNmZTJjYTQ5ZWI1ZWZhYjg0M2JjODU1ZDEwZmQzNTlhZGU2OTMgcmVsZWFzZTI3LW1haW50Cis4NTY1MSBlZmQzNjk5ODFiOGRkNTYxY2I2YWJjN2NhMjUzZWY5ZmM2ZTlhNzM1IHJlbGVhc2UzMS1tYWludAorODU2NTIgMzhhZDU3ZGI4OGFjNGJlMmY1MmM3MDc1MWFhNGIzMTA4YmU1NzE2OCBweTNrCis4NTY1MyAyNDRjYmNiNjdkY2Q4N2UxMWI2MzYzNDcwYjJiODdmYjZmNTFhY2Y4IHB5M2sKKzg1NjU0IDM5Y2RjYzdkM2UyMGQ1NDRlYWE4YTVjNGFhM2Q2OTA2ODY4ZThmN2IgcHkzaworODU2NTUgMDIzYjQxMzc2MjkwYTEyMWM3N2EyNGI3MDE0NzBjYWU3MGExYjIzZiBweTNrCis4NTY1NiAzYTQ3ZmJjYjI5YjEyMDUwODdjOWUzY2E5YjAyNTU2YTdkZGU3ZTY2IHB5M2sKKzg1NjU3IDdhZjQwNmYyMTlhNGU2MWI0OThhZGM3MWY1YWEyN2ZjZmNiOWFlMzEgcHkzaworODU2NTggZDU4Y2UzZmZiMWNiNjk3ZjFlZWRiNGE1M2VhM2IxMTI3NmJkOGVlMSByZWxlYXNlMjctbWFpbnQKKzg1NjU5IGIwMjI4YWY2ZGIxMTgwYTE3MWM3ZGUxMjA1N2FkOTM2NjA1M2FkYzIgcHkzaworODU2NjAgOTVlM2FlZWJiNWFiY2Q4MWU0ODE3NWI0ZmYwZDIyOTk1ZGUxNWUyNiBweTNrCis4NTY2MSBkMWRlZjdiMmFiZDJmNTliNDMyNTRiYTMyNDA5NzQ2MmYxZGIyMGZiIHB5M2sKKzg1NjYyIGIyYTljYTJiNjFhMjQxYjBlZDhmZDc4MDg4MTEzMDA4ZTM0Mjc0YTAgcHkzaworODU2NjMgYzE0N2Y5MTBhZjcwMDg2ZmQ2M2RlYWUwZTNmNjIwYjkxNjNiNDBkOCBweTNrCis4NTY2NCBlODk2OWZiODIyZmMyYTI3OWFlMzRiZTczZjhlMWUxNWM0NTNhM2QwIHB5M2sKKzg1NjY1IGY4ZmMyZDAzZDdlNDJhMTJlOTJlYzI3NDg2MzQ3NTA5MmVhZDhlN2QgcHkzaworODU2NjYgZTc1ODA2NTJhZmI4ZTZjZTZhMzk1YWRmZWZmYzUxNTYzNDcyYmNlYyByZWxlYXNlMzEtbWFpbnQKKzg1NjY3IGEzMTY1ODEyOTAwODA3NDBmN2I2MzIwY2Q1NzMzNDM4MWIyNjc2YjkgcmVsZWFzZTI3LW1haW50Cis4NTY2OCBiMWNhN2Q1YTljNzRkNzBjYWMxNDRkNDI5ZDcxMmY3OGI3NzMxNTRkIHB5M2sKKzg1NjY5IGIxYmRhMWVjOTk1ZmExMDM2ZGUwOWZhYTMzYzM1NTBiMmY0MzZmNDcgcHkzaworODU2NzAgZTBjY2I1ZjUwZTBjNzkwNjM3ZWUzMTE1Mjc3MDUwNDM4MDAzNzFiYiBweTNrCis4NTY3MSAxNmVhZDgzZjc5Y2M5OWNlMTQxN2IzZjA0ODNhOGExZWI0ZWRlMWY1IHB5M2sKKzg1NjcyIDk2YTY5NzYyYjQ4MTYxNjc4MTYwNzM4ZjQzOTBiNDAyMmI0M2ZiYTQgcmVsZWFzZTMxLW1haW50Cis4NTY3MyA3YWExNGNhYzZmNGQwMjczOWVjZGI0YjVkMzA1ZDY4MWQ1OTM4MTY3IHJlbGVhc2UyNy1tYWludAorODU2NzQgZWI4ODM3ZWZkODRjNWIxZWRhYWZjYmU5MDQ1ZTc0MTVmZDk3NmY5MiBweTNrCis4NTY3NSAzNTFkNzk0ZDMyZjQ0MzI5YzEwNzM3M2UxZGFlYzg2MjUzMGVlZDIzIHB5M2sKKzg1Njc2IGFhMjAzZDQ3OGJiODEwZjZkZTJiNjEwMmZlNDE1OWE0MjExNjIwZmMgcmVsZWFzZTMxLW1haW50Cis4NTY3NyBkMzk3YjAyNjMxYjU0N2Q5NGM2N2I0YjkxMzg0ZTk1ZTZkMTMwZjA5IHJlbGVhc2UyNy1tYWludAorODU2NzggYmVhMTRmMDBkM2UwMTAwNzI3ZmY3YzBmODg4NTFkNzYzZTA2N2NhMyBweTNrCis4NTY3OSBiMGE4ZmNkYTA2NTQ3ZDZkMzRlMzM0NzIyODI1OWMyNTEwMzRlMmZlIHB5M2sKKzg1NjgwIGNlOWY1Y2UzM2FkMmEwZjVkMDNjZDA4YWFhNzgzNTgzNjFkMmY4NGIgcHkzaworODU2ODEgYTRjMTBhNDRkOWFlMTFiZWM5Yzk5OTQyNmU4NzQ0Njk2ZWNhMWNlNSBweTNrCis4NTY4MiAxN2M5NmFhZjkzYzg3ZDEwN2EzYTMwNTc5ODQ5Zjk0OWIzNGFmYmU3IHB5M2sKKzg1NjgzIDViMDY5ODkyZTQxM2E5ZTExNWFiYTk2MDQ5NDg4OWNmZGJjMmQ5NDMgcHkzaworODU2ODQgOGYwNjI1OTU0ZmZhM2NkZDcxMTYyMzljNWNjOThhMDY2YWYzNzI2NyBweTNrCis4NTY4NSBjZGZkMTk4YTZmMWRlMzEzNjY5OTVlYzZkODUwZmE2ODkwOGRhNmNiIHB5M2sKKzg1Njg2IDc1MmU0YjVjNjRlOTVjYWM0MTYyNjQxZGM0MzcxNjQwYTU2NWViYzEgcHkzaworODU2ODcgYzcyNzU3MDMzZDQ0Zjg1M2QwZjY0YjU5YTI4MGYyYjA2MDg1NGU3YSBweTNrCis4NTY4OCA2OGJkNzVjNjlkYjE1MGZmZGNjYjIwMzdkNDJmZGYzZjQxZGQ1ZDQxIHB5M2sKKzg1Njg5IDNjMzM2MzQ4YTJlOTg2ZmU0Nzc5YzE1M2Y3ODc0YzQ1OTg3MTFmMTggcHkzaworODU2OTAgMzcyYzk4MDdkNzVkOTcxNGU2MDY0M2I5MGFmMGExYThiMGQ5NjE4MyBweTNrCis4NTY5MSA3N2MxM2M5YzZlNTllMzllOTY4YzRiNGVmZmI2M2Y3MThlMzUzNThhIHB5M2sKKzg1NjkyIDUxOTU5ZjM5YTdmYjEzNmE1ZWYyOTM2OGJiNzM4MzExYjg2NWZlN2QgcHkzaworODU2OTMgYjBiYTdlZWI5OGE1NWU5NDQyYjFkMDUxOWQ4M2JhZmRmZWEwZWRmYiByZWxlYXNlMzEtbWFpbnQKKzg1Njk0IDJmN2UwMTY5NDkyNjc1ODY2NWIxNjliNGM4OWQzZjFjYmZlNTMyODIgcmVsZWFzZTI3LW1haW50Cis4NTY5NSA4NmYwMDYxMmNiZDYwZTllMTY1NDBlODI0YmJkZDY0NTFmMTczNDE0IHB5M2sKKzg1Njk2IGVjZmY0MWUwNjhlNmZlOTFlMzBkMWJhNDg4ZGZmZGJiYjFkNDJjMjIgcHkzaworODU2OTcgODJiMDgzYzk2YTM5ZmJmNzEzMDljYTgzYjcyYzNlMmYyODJlNWMzNyBweTNrCis4NTY5OCAyNDZjMDhjODI1YTEwNTg4ZDgwNmFjZWIxMmQ4YzE0MmM4YTkyNTE2IHB5M2sKKzg1Njk5IDUwMzYwMGJiMjVlYWE4OThmZTI2YjhmNzYzOGFiYmQ2ZjJlMmI3ZWMgcHkzaworODU3MDAgM2ZhZmY3ZTUxZjQwZGVlZDBkNDZmYjlmMmUxMmVkMTJkZmFiNTM1OCBweTNrCis4NTcwMSAxNWU0MTU1MmRjYmQ3Y2MwMzIxNjY2YzQyMmU5MTM3MDJkNzM0NjlmIHB5M2sKKzg1NzAyIGJiMzMzOTczZGUzOGJjMzM5MDgyNmQwNWYxYjcxYjljM2YyZWM0OGYgcHkzaworODU3MDMgMjdjZTk5ZmMyNTI3MDE0NzVlOWY5OTA4MWE0YmY4MGJhY2Y3NGVhMiBwZXAtMzgyCis4NTcwNCAxYTkwNTM5MWUzZWQ2ZWQ0MjhiN2I2YjUzOTc2NjYxOTVmYzNiNjJhIHB5M2sKKzg1NzA1IDg5MTIxOTI5ODJjYzgzNzgxOTMyOWEzZmY4NTEwOThjZDJhNDAxY2EgcHkzaworODU3MDYgNjYyOGY4NmRiMmI2Yjc4OTAyYWNiYjUyNjY5MDU1MWY1NTlmZDJkYiBwZXAtMzgyCis4NTcwNyAxZWMyYmZhNTRjYWJiOWJiNjM0NzhiNWJiNjE5YzlmZWUzMzNmYjc5IHBlcC0zODIKKzg1NzA4IDAyNjM1YmFlYWQ1ZjVhYjVhNzMxNmNhYTZlMGFiMTQzMjZkNTI0ZjYgcGVwLTM4MgorODU3MDkgZTJiYTEyNDlhMmY1NjM2NjAyMmI5Njg3OTFhOGZhNTUzYzZjODVjMiBweTNrCis4NTcxMCBkNjA3YjYzMTMwNWRjMGE3MDIwOGRhODI0NWFkMGZkNWNhYTExOTJlIHBlcC0zODIKKzg1NzExIDRkNTVmMGIwOTBkNTgwZDgyZjViZDU3OGMwNjhmZDJiMTlmNzMxYTkgcGVwLTM4MgorODU3MTIgMTMwM2NlYWY0NDFhOWM5M2Y4MmUzZDQ0MjAwZWUyOTI3MTI2MjE1OSBwZXAtMzgyCis4NTcxMyBiNDdlNGVlMTU0MDMyY2U4YjQ0YzhhYWUyMDg1ZWI0YTA4OTE4MGE5IHBlcC0zODIKKzg1NzE0IDcwZDJiNGFlZGMwOWVhNDdmMDE0ZWEyMjFmZTE2ZjNiNjg1OWNiOWUgcGVwLTM4MgorODU3MTUgNTllOWI1OGRkYWY4NDhkM2FlMGQwODYxZGExNDYzYTg3NmFlYTZhZCBwZXAtMzgyCis4NTcxNiA0MmI4NGQzMTg4ZDEwZWZiMjI2YjViODJlYjJmMzEwMDc4YWZiOWZmIHJlbGVhc2UzMS1tYWludAorODU3MTcgNGYwZGRkYWY4MmQ2YTc0NzdlNDRjNTZjNDMxZTc1ZDUwMzEzMjk3MSByZWxlYXNlMjctbWFpbnQKKzg1NzE4IDc3MTdmOGM0NWZjYzM3ZmY3MDUyMzFhYjI2YTQ4ODBmMjMxM2FiYmYgcGVwLTM4MgorODU3MTkgNmU4ZDJlMmQ4ZDgyOGY3Mzk4OWQ3NTNkNmU1YWIyYzI3Y2NlZmRiOCBwZXAtMzgyCis4NTcyMCBlM2U2YWE2MzNmMzNiNGU5NjdmNzAzZmQ1N2JmNWYyMTA0Y2MyMDIyIHB5M2sKKzg1NzIxIDcwNzJhNWIyODFkMzdlNWM5NzJhN2FlODE3MjI1YWQ3OGE0YWNhZjIgcGVwLTM4MgorODU3MjIgYjUwMjU1NjljYmQ0MDZjYmFlOTRiOTM3YzY5YWVkOWU0YmZlYzBhMiByZWxlYXNlMjctbWFpbnQKKzg1NzIzIDhlNjBkN2E5NjE0MjI3MmZmMTcxYmU3YzA2Y2ViZWU2YjFjNmFkYmEgcmVsZWFzZTMxLW1haW50Cis4NTcyNCBhZDg5MjM3NjBkNWMwZGE3NDIzODU5OTQ3ODY2NzA1MzI4NDg4MTI5IHB5M2sKKzg1NzI1IDA1MTFjODY4YTRlMzhhNGM0MGJhNWY5NTgzYjUzZjU1NjUyZWRjOTIgcHkzaworODU3MjYgYjZhZDQwMTM3N2ZjNTliY2E5MTkwY2MxNTNhMTdhM2UyMWZmYTI3ZCByZWxlYXNlMzEtbWFpbnQKKzg1NzI3IDFmMGFiNzI5YzYzMjUzNWI0ZTIwNzMwOGRjOTMwMTE3MWE3ZjgyYjIgcmVsZWFzZTI3LW1haW50Cis4NTcyOCAwNDA5MGFiMzUzMWU0MzIzZTE0Mzg5OWRmNGVmZjRiYmU1YWRlOGYwIHB5M2sKKzg1NzI5IGM0N2VmMTgwYmUzOWQ2YzRlZTFhNGU5M2NiNGJhOGI2MDg3MDFjODcgcHkzaworODU3MzAgZTExYWMzMDE5OWIxMGFjMzU3OWJlNjYzZjgxNTRjMzRiZTMyODNiYyBweTNrCis4NTczMSAzNGJlYWI5NTk1OTU5YWRlZWQ0NzgzNzZhY2M5YzEzM2I1ZTI0NzZkIHB5M2sKKzg1NzMyIDAzNjc3MGRkOTA5NjdjYTJkOTQ2ZjU4ZDQ0MWY2NTVhMmU4ZDUzNWMgcHkzaworODU3MzMgOTYyZTFmNGM5YzAwM2I0ODI3MjdiZDQ1NDQ0MDNmYzAwM2JkYmE3OSBweTNrCis4NTczNCAwODY1MTljMWU3ZDI5YTgyNDc2NzljZTZkY2ZlZTRlOWJmNDMzMmJhIHB5M2sKKzg1NzM1IGQzYjYxZGM3MzJlZmYyNTcxZjE0M2FlMzNkYzMzZGFmMTlkMDQ3NDMgcHkzaworODU3MzYgYTY2MWI0MjRlZDQ3YTliZjQzMzdkMzA5Y2VmZTA1NGNlZjc4NDZiZCByZWxlYXNlMjctbWFpbnQKKzg1NzM2IGE4ZWZmMzlhZWIwOTk1YThjMzJiZDBkYjk2MGVkYzBmMTEwZTUzM2UgcHkzaworODU3MzcgY2Y2MzRhMzk3YmVjODFhNDJhODNkNzZmNWQ1ZThlMDZkYjI3ZDIxMiBpc3N1ZTQzODgKKzg1NzM4IGQ0ZDUzYjRkYjk2ZWQzODg5YWU1ZDY5NjYzNTA5ODhjZjhhNTY4NTggaXNzdWU0Mzg4Cis4NTczOSA1MmNiZjQ1OWRhOGJjZmFhZmJjN2RiYTZmNmNkZmMxMmVlZGRkMzQ3IGlzc3VlNDM4OAorODU3NDAgZWRjZmM0Yzg5ZjMwNDAxNTUyNzdkNDIwYTFiOGYyMDQ5MzU0NjUwMCBpc3N1ZTQzODgKKzg1NzQxIDU5YWFjMDc0NWVjNzViOGM1YjJhOTIyOTRmZDZlOTM5ODFkYTg4NDYgcHkzay1zdGF0LW9uLXdpbmRvd3MKKzg1NzQyIDNiYWVjZDRlMGMxMmExM2NhNjFmZWVmMGUxNTYzYzgwOWI1Nzk0MmQgcHkzaworODU3NDMgNmRjZjYxNDQ3YzMzZjY4MWYxNDY2YTM3NjIwZTQzMDkwNjkwNTY1OSByZWxlYXNlMjctbWFpbnQKKzg1NzQ0IDE2MThjYjE1YjViOTg0NDAwZDhhZThhMjkyMDRmMmJlNjRhMjNlNzMgcHkzaworODU3NDUgZTg1MGJiOTMwYzg0MmYxYjVjNWQzZTZlY2ViNTE1OTlhOWI2Nzk0NSByZWxlYXNlMjctbWFpbnQKKzg1NzQ2IDVjZjFlNmU2MWM2YzM3NWFlYThmYTJjOTBiYTg1YTBjMGVkNjExYzUgcmVsZWFzZTMxLW1haW50Cis4NTc0NyA1MGRkODZmNmYyNGFkNGI4NzhkN2I4MjlhMDM5YjNhNTNhMGEzMzBjIHB5M2stc3RhdC1vbi13aW5kb3dzCis4NTc0OCAzMDE2YTZhNGE2ODBiODRhM2MwZTRkMjA2MjAxMWQ3MjU0MDlhNGJjIGlzc3VlNDM4OAorODU3NDkgNjQzYTA3Y2M5ZDdmYjg5Mzk4MWU3NGI0YWQ5ODg3MmZiNDBjOTA3NCBpc3N1ZTQzODgKKzg1NzUwIGU1M2M4MGIwMTYzMzMyODdlZjMxNmYxYzNiY2Q2MWJjODRiYjY3YjIgaXNzdWU0Mzg4Cis4NTc1MSBkN2NlMzdiOWJjZWQyMDM2ZjFlNzA2YTk3YzY4NjIzNWEwZjM5NjUzIGlzc3VlNDM4OAorODU3NTIgMmYxYTU1MDY3OTMxMTUxNzVkZTdkNDRmYmZmNzUwN2Q3ZjI4NDE3MyBpc3N1ZTQzODgKKzg1NzUzIGY4ZmMyNGExZjlhNmMyZGJiNjY1YTUzYTFlNjRhNzQ1YzViZGU2YjAgaXNzdWU0Mzg4Cis4NTc1NCBlY2ZjMGRkMTVkNTdmMGQ5YThhZjc2MjE4Y2I5MDhkZTM1OTgyYWE0IGlzc3VlNDM4OAorODU3NTUgZTcxMWI4NTg2MTdiZTcyY2M2NjQxOTkyOWY5YWJmMjU1ODg3Yzg5MiBweTNrCis4NTc1NiA5ODU4OWQwZjExMDEyYWM2M2Y4YTlkZTlhZjdhNDczNDhjNjRhMWY2IHB5M2sKKzg1NzU3IGM1Zjk3YjA1NDE1ODU4MjVjNjZkYzBhNDNiOGZjZTQ0NmQzMmVjZTAgcHkzaworODU3NTggODBjMDQ2OWY5ODU5N2Y4MWU2YzM4NjFlODg1YjZlMTJhMDRlYzA3YyByZWxlYXNlMjctbWFpbnQKKzg1NzU5IDhlNmI3YWIxZTFhMTQwN2Q2ZjA5Y2NmZTgxZjgzODlhYjJlNDYxM2QgcmVsZWFzZTMxLW1haW50Cis4NTc2MCBjYmUwMjI0NzAxNDcxYzQ3MjlmNDcxNjIxYjUxZWMyMjQ0MzRkM2Q4IGlzc3VlNDM4OAorODU3NjEgMzkzNjZiYTVmMWMxMDc0YjdkM2FkMTkzNTQyYjYzNTk0YTU0Yjg0MSBweTNrCis4NTc2MiBiZWMxNmE1ZTBjZGFjMWVmMzhlZTY2NDRjYjg5NzFhMTk1M2NjYTViIHB5M2sKKzg1NzYzIGFiZGE4MjQwYTY0MDVkYmU5YTllMzk3ODk4YzQ5NjZlZjFiMjNkMzcgcHkzaworODU3NjQgYWVjYjU2YzNmNGViNWU3MmYzY2VhOTM3NjkzZjk5OTg0OGU5ZDk0ZiBpc3N1ZTQzODgKKzg1NzY1IDQ1MDc5YWQxZTI2MDA5YWNjMGY1NzI0NDBjYWMyMmFiMGE3NzQ5NTAgcHkzaworODU3NjYgMzgxNmViMTI4NmMwY2U1OTU4YmVhOTVjYmI2ODkxMjJiZjYzNDBjYSBweTNrCis4NTc2NyAyZTE5ZDFmNGI2MTJlYzg5M2RmMGY4NmU2ODBmYTQ5Yjg4MWJlYjgzIHB5M2sKKzg1NzY4IDcxN2FhY2ZkMmRjZDY4MzZjYTk4ZmU3ZmRkNGNiZDk4MDViMmU2ZDUgcHkzaworODU3NjkgZThkNWFkMGMyZjViY2IxZTA0Y2I4M2Q2NzU2ZTMwN2M3ODQ2Y2UyNCBweTNrCis4NTc3MCBhMmJiNTBmZmRmZjNkNGY5ZjQxMjdhMjM0Mzc0ZmNhZjdkYzA1YjRjIHB5M2sKKzg1NzcxIDJmOTRkNjhjMjczMTI3NzdhODM0ZDZiNzNkYzdjMjliNzMxM2EwNmQgcHkzaworODU3NzIgMGI1YmZiYTdhOTA3ZTZiOWEwMTAwYWUzNGY1Y2QzZjg0ZmQ2NjRjZSBweTNrCis4NTc3MyBjYWE1NmNmZjJmYjNhNzhlYWMyYjM0ZmQ3ODNjN2RkMTdkY2RlNGI3IHB5M2sKKzg1Nzc0IDA4MDE0NWQzYmJmNzY4MWE2MTU3ODU5N2ZkOWQ4ZDljNTAzMmE3ODcgcHkzaworODU3NzUgZTQ1M2U1YWIyMDdjYTQyM2MzMjU3YmI5NGFiMDgxYmNlNjc3ZjM5MCBweTNrCis4NTc3NiAyNDQwOTA0Mzg2MjNlMTFmMTJjNDM3NGVlNzgwZDc2NjgyNWI3NmZkIHJlbGVhc2UyNy1tYWludAorODU3NzcgZTc5YzU3NjdiZDA1ZDA2ZjM5M2NmYjYxMGE0ODY2YTQ1YmMyMjI4MSBweTNrCis4NTc3OCAwMmMxNjI2ZmY2MGZlMmEwZTljNTY1NTk4MmMwNGJjYTk2YWUzOGUwIHB5M2sKKzg1Nzc5IDI3MmI4ZmY2MGJhNGMwODQzZTA3ODFjNmJlYzliNDEzYzM2ZGY1YjQgcmVsZWFzZTMxLW1haW50Cis4NTc4MCA4Nzg3ZjRiYjRiMjE2MDUxOTg5YWM1NWRiNGE3MzY3YjJkODQ2MmNkIHJlbGVhc2UyNy1tYWludAorODU3ODIgYmQxYjMxYzM3NDEwYmMwM2FjODUxMTFjNWQxMGY1Mjc4MDg2ZmI0MCBpc3N1ZTU2MzkKKzg1NzgzIDZlNGVlYTc1NDNiYzM2ODk0ZDUxYThiMzNiYzZlZWIyNDRjOTZkZTYgaXNzdWU1NjM5Cis4NTc4NCA3YjU0NjI5NTFhYzliNTExZTc5Y2ExMmEyZTdmOWJhZDViOTZkOTdlIHJlbGVhc2UyNy1tYWludAorODU3ODUgZjk4NDQ2OWRlMGJiNmQzZGNkMWI2ZjUzZmM2ZjVlNDNkMjRiMjBiNiBweTNrCis4NTc4NiA4NTI1NTQ0OTY4ZjNhNTk2NGZiZTJmMDU4ZWRmN2Q5YmM1ODQxZDY2IHB5M2sKKzg1Nzg3IDEyZWIyNDQ2MzYxMDk0MTdjOTQ2NjM0MWJiNmYyNmNjNjJmMjcxOGQgcHkzaworODU3ODggYzZhMGViN2Y3M2JmY2ZkNzE2ZjhhYjI5YWNiNjllYTIwNWU2NWY3OCBweTNrCis4NTc4OSA0NmJiYmRjZDc3N2Y1NWI2YmMyNWUwNjFiMjU3ZDUyYWUzNzJiNTliIHB5M2sKKzg1NzkwIGZlMzU1N2RiZWY4OTI1MjM1Mjc0MDE1ZGFhZGI3MjgyOGRiMmViZmYgcmVsZWFzZTI3LW1haW50Cis4NTc5MSAzMWEwYWI3YWMyZDViNTUyN2NiYTVhZGI5YWIyYWUzNDMyODYyMDc0IHJlbGVhc2UyNy1tYWludAorODU3OTIgZWEwZjgzY2Y3ZTk5NTk2MzIyNjcyMDE3NDA4NDMyOWM2NmNjZTZlYSBweTNrCis4NTc5MyA4NDZjMGUxMzQyZDBiYTFhZWQ1MWFjMDE4NzIzZTExNmEyNjk0NDZlIHB5M2sKKzg1Nzk0IDE0MzhkNmI2NzA1MjY1MGY4MjYxNTBkZDViNzJhZTIwYzZhYmFhOGMgcHkzaworODU3OTUgMDZkZmFlYjU4YmRlMDFjMzY4ZjNkMTVlZjUxOTQ4Y2NhZmQwMjQ4MCByZWxlYXNlMzEtbWFpbnQKKzg1Nzk2IDg1OGFmNjBiMmRiYmNkOWJjYzRjNmZmMDA1NTEwOTc0N2RjYzI5YjggcHkzaworODU3OTcgZDk4NWJhOTgxMWU5OGVhNTgwYzEzYWY3NWY1YTc4ZWQ5NDc2MTg0NSBweTNrCis4NTc5OCA5OTEyZDYxY2RmMzRjMmIwOTIwMGM0MGIyOTVhZWM1YTcyYmY4ZGMzIHB5M2sKKzg1Nzk5IGNkODBkMDVmMmZkNjdkYjYxNjAwOGFjNjdmMDhjMWI2ZWQwZWJkM2YgcHkzaworODU4MDAgNWI2ZTEzYjZiNDczYjVmZGMyZmY1MGQ1OTkwYzJmZmM1NWJiODNhZCBweTNrCis4NTgwMSAzODM1YmNiZmIyOWMwYzZiMzEwMjY1YjBiNGQxMjQ4MmFjYzAyMGJmIHB5M2sKKzg1ODAyIDkwMmY1NzdlN2Y5NDk1OWIwNTczOTE3NjZjMGUxNGEzYTE2Yjg4OGYgcmVsZWFzZTMxLW1haW50Cis4NTgwMyBiZThhZTZiMTc1MzlkMjk5NWMwNmNhNjkwZmNmMWYyZTUwMjUwMGQ1IHB5M2sKKzg1ODA0IDhkN2YxODMzMmRiN2RkNDE5NGRiNzFmMWIzZjExNGM5NTc1YjYxNjAgcHkzaworODU4MDUgMWEwOGY0YTllYWZkYzQzZWFmM2RhYjYzZWVhY2NiY2JlZGE1M2QyMyBweTNrCis4NTgwNiBhMzBlNzU4MjBiOGRlZWY3MTAxYjIxY2U3ZWQ3NmMzYTc4ZDUyYzkzIHB5M2sKKzg1ODA3IDc5MjAwNWRlMjc3Yzg2YThhNDgxOWVlNGNmZWQwMmNmY2ZhNzMxYmUgcHkzaworODU4MDggZTk5NmM2MWU0N2M3YjM5Mzk1NjE1ZTliODY5Y2QyMzc4NTJjZjFhZiBweTNrCis4NTgwOSAwOTgxNzdhY2Y3M2YyMDg2MDgxYmIxN2FhMjMxMzMxOWIzODI0MTVlIHB5M2sKKzg1ODEwIGI5ZGNmZGZmY2I2MjBjNTI3MjRhMWRkYmVkMGU5YmY1MDVkYWQwMzUgcHkzaworODU4MTEgZWJmNjc0MWE4ZDZlMzc5ZGM3MTBmOWE5MDg3ZGMyMjRkNDcyZDVlYyBweTNrCis4NTgxMiBhOTRmYjhkYjlmMWE1MGY2MWIwY2FmNTRhNzc3NDA5ZGU4NjY2OGZiIHJlbGVhc2UyNy1tYWludAorODU4MTMgZGI1YWJkODFkYzk0ZWQ2YTY4ZDgwN2Q4OTJhMjU2OTkyOTkyMDcxYiByZWxlYXNlMzEtbWFpbnQKKzg1ODE0IDE4OTg5YWQ0NDYzNmFkNzVlZjE4NTg1MDZhZTk0ZTg4Y2FkYjM1YTYgcHkzaworODU4MTUgNTM2MzllNTdiYTQwOTIzYWYzNWM0MzNiMGRhMzZmMGNlMTYyOWQ3MCByZWxlYXNlMzEtbWFpbnQKKzg1ODE2IGE0YTI3MjQwZmUwOTM0YjgwOWI3MzhhYjcyOWNhY2YxNjllYWRjZTMgcmVsZWFzZTI3LW1haW50Cis4NTgxNyBmMTQ4Zjg2NGIxNjhiMDg3ZTg5MjczODA2ZDI3N2VlMWQ4NThjYTU4IHB5M2sKKzg1ODE4IGIxNzJkNzUzN2I5OWI1NDA0Yzk2ODk2OGViM2MxM2ViOThkODY4NzEgcHkzaworODU4MTkgNWI1MzZjOTBjYTM2ZGVmYjMwZjY3ODU4YmZhZjdkY2M0YjQzZjQ1MyByZWxlYXNlMjctbWFpbnQKKzg1ODIwIGE4MjA3MmNhMDZiYWEwNTFkM2MwMDFiMTlhMGRkZDU5ZTY3ZmQ4YWQgcHkzaworODU4MjEgYzVhZWJmZmM5ZmFjNDY1ZmE4MjA1Yzg3MzY2MjkzMDAzZTBiZWQ1ZSByZWxlYXNlMzEtbWFpbnQKKzg1ODIyIGNjZjJmZjA4ODY2YjliZTZjMmFkNWM2OTAyMGIxMmE0ZTAxNTIxYTMgcHkzaworODU4MjMgYjRlMzcwYzhlN2NhZjQzMjEyNTFhOGU4MmM3MDg2OWRmMDQ1MzE0NCBweTNrCis4NTgyNCAzOWI5ZTlkZTM3MmIyMDEwMzBmNTVlZmJiMGU2NTFlMTJlMTFlNzZkIHB5M2sKKzg1ODI1IDVhMDU0NTRlNTY1ZmE3OGYzNTA3NjM4Y2IzZGExZmVhY2JkNTQ0ZjAgcHkzaworODU4MjYgMTkwOGExNDZlOTYxZGMzOWY4MGIwZDk0OGRmOTVmMzkyNjBmNDA3ZCBweTNrCis4NTgyNyBkYjVhNTA4MGY5YjhhMGVlMWViNmQ0ZGQ5YTY4MmE5MzgwM2Q0YzkyIHB5M2sKKzg1ODI4IGNiNjQxOGY0ZDYwYjljZjY0OWIwMzQ0NjA0OGVlZjM0NTdhYjg1OTAgcHkzaworODU4MjkgNGUzNjA2NTI4M2NmMmM2Zjc2ZDc1Y2YxMzZhYzMyNjc3OTg2NDZlYSBweTNrCis4NTgzMCAxNTk1MzBmMGU0MDZhODY0ZTI0NDU5NzgxMTZkZTFhMDA1ZDU4NjQ2IHB5M2sKKzg1ODMxIDY2MGQ1ZjMyNDgyZWY0ODk0M2EwNmVjODc4YTBhNzQ2M2JkZGVjODEgcGVwLTAzODQKKzg1ODMyIGY1NzBkYTlhNDNmODZlMGNiMWJiNzZjMDc4MjJlNzg0OTY0YjVhYjQgcmVsZWFzZTI3LW1haW50Cis4NTgzMyA0NGQ4MTkyMmE4OGYzNWRiYmVjMjVkODZjMmVmNjUzZTc2NTQxZDhjIHB5M2sKKzg1ODM0IDVjMWNlNWMzNjBkYTIxZmRlM2YwYjBlZGIzN2Y0MGNjZTE2N2EyOTEgcHkzaworODU4MzUgM2E5YzNlYzVlOWQyY2ZmYjBjZmJhNjQ1ODc1ZGVhYTA5ZGRjYjc3YiBweTNrCis4NTgzNiAyMzUyZTVlNDQwNTNlOTViYjY4NmJmYjc2ODkxOGMyZTE2MGQwMDRjIHB5M2sKKzg1ODM3IDBmMDdkMmRiZjgyMGI4OTQ5MjUwYzRlOTBhMWE0MWI2MWRmMmZkNTggcHkzaworODU4MzggNGU5MmNkZWZlNGM3NDM3ZmY5MmE4ZjEyZTNiYzY2Mzk1OWJhNmE4ZSBweTNrCis4NTgzOSBkN2QzMjNkZTM1ZTc2ZDI4MDkyOTI2ZWVlNzE5OWM1MDM3OWJmYzY3IHB5M2sKKzg1ODQwIDlkM2ViYTAzZmQyNWQxZDdlZWE0Yzg1ZjdkNDYwMzFkYjA3NDA4ODggcHkzaworODU4NDEgY2VlYmIzZjQ1ZjlmYzYyMzg5ZDM4ZmFhYWYyYmFkNGYzOTEyMjk0NSByZWxlYXNlMjctbWFpbnQKKzg1ODQyIDc3MmI1NWYwMjgzNWRlNjc2OGNiMzhmMThiY2ViNjBhN2M4NDJkYjUgcmVsZWFzZTMxLW1haW50Cis4NTg0MyBkMzUxMDBjYzZjNmIxYjQ5MDM1MzU5NTYyYjVhMzZjZDlmOThhMWMwIHB5M2sKKzg1ODQ0IGU1NWEwMGNmNjc4YTdlOTcxZGNiMWNmMDEzZmEwM2E3YzVhNWYxYTggcHkzaworODU4NDUgYjljN2JkY2FhMDMxZDg5MjE2NTRjNjI4ZGRlNmNkM2MwNzViODNjYyBweTNrCis4NTg0NiBlNTE1ZDEyNDE4NTg2ZTUxMzNkYzRiNTk3YzcwNDIwYzQ3NTY5YTY0IHB5M2sKKzg1ODQ3IDMyYzRlOGU5NWNhM2NiNWJmODhkZGRkMzk1ZDRlZWYwZGFjNjJlMzcgcmVsZWFzZTMxLW1haW50Cis4NTg0OCA4NDE4OTJlMjcxZjdmODUxNDFiYWJiZDA2NjliMTIzZDg4ZjYyNWRjIHB5M2sKKzg1ODQ5IGE5Yzc5YTlkMmQ5MWQwOWZhMjg0Y2U0ZjQ5Yjc0NGExZjEyNjNiOTMgcHkzaworODU4NTAgOWRhNWUwNGIwNzkzYjk5MjZmMTAxYThkMDMxMjFmYTY4N2EwODgyNCBweTNrCis4NTg1MSAxMTg3MTU2YTFmMzJjMTE2ZDdiYTRhOWRhNTIzMTRlYjEzZGZiMWY2IHB5M2sKKzg1ODUyIGM4OTJlNDU0N2ZlZGNjOTYyNjVkZmYxYTNhYjZiZDFkOTQzYzk4MzQgcHkzaworODU4NTMgMjlhZjE4MWRlMmYyZDg4ZjM5YTMyMTMxM2RjMWI5Yjg5ZGYzMjA0NSBweTNrCis4NTg1NCBiYTFjNzNlMTZjOGIxZjkzYThhYTVmOTQzMGI1YTFlMzBlM2QxNTdkIHJlbGVhc2UyNy1tYWludAorODU4NTUgZmY2ZmEyMGJkYWY4ZGVjY2M1ZDg0YTYwYmY5NGM1NTYzNmI4N2VlYiBweTNrCis4NTg1NiA5ZTRhMjgwOWU1NWNlMGYwNzQ0M2U2MjgzMzMxMDY5YTVjZTQ4YTViIHB5M2sKKzg1ODU3IDRiNTQyMjE3ZTkzZWQwMTdmNWVlYjE5YzJlY2JmNTdhOGJhMjdlYjcgcHkzaworODU4NTggYmY1ZGE2MzYwNTNhYjk5MjZkYzdhZGJhNjUwYjdhOTY5ZjBjZTRmMCBweTNrCis4NTg1OSA2OTM4ZDdhZDYwZTQxYWU1MDljYWI0Yjk1NDIzYzBhYjQ4Y2Y0NWMxIHJlbGVhc2UzMS1tYWludAorODU4NjAgZGYwMjA5MzU4OGQ2YmMyYTFlZDg4ODBmNWI0ZWIwYTk0NWMwODRhNSByZWxlYXNlMjctbWFpbnQKKzg1ODYxIDRkY2EzZjBlMGZjMDQ2N2Q3N2NiY2U5Yjg2MjllNTU4M2Y2YzI2ZmYgcHkzaworODU4NjIgZTllM2ZlNGM5ZTMwMGU1YWNjMjE1NzM5ZDRhMGJkNzhkYzczMzNiMCByZWxlYXNlMzEtbWFpbnQKKzg1ODYzIGViYjgyZjAxZGJlMjYxMDljNGY0ZGExZGIwYzM1YzE5YzQ1ODEzMjIgcmVsZWFzZTI3LW1haW50Cis4NTg2NCA1OWFiZGI5Mjc4ZjcyMDMyNDM3M2NhMmViMWZmODMwNTA0Y2ExOGNmIHB5M2sKKzg1ODY1IDBkNTBhOTExZDc0ZmU2MmFjMGM2OTViYWU4NTRmZWVlZjlkZDNmMTIgcmVsZWFzZTMxLW1haW50Cis4NTg2NiBhZjA2ZjA5NzJkOTdhNzY4N2M2YTFmMmNmOWY4MDI3MzQ5NjNiMzliIHJlbGVhc2UyNy1tYWludAorODU4NjcgMDUxYWE0MjdkZmVkZmY1OWQyZDI5MDI1NTAxNTRjMjc0MjM3NmExZCBweTNrCis4NTg2OCAyMTRiOTA1MTg0MWVhODllOTdkOTEzMzQwYzg2MmE1MjJjM2Q0ZjdhIHB5M2sKKzg1ODY5IGFkZDFiYzA1ZTQyNjZkYmI5ZDA4NGVkMmQ2OTM4ZjI4ZTI1N2VhYTggcmVsZWFzZTMxLW1haW50Cis4NTg3MCBmNWUzZGU4N2IxNGJmMDQwNzkwYjUxYjA1MmQ1MzhlMDFhNDFhODA0IHJlbGVhc2UyNy1tYWludAorODU4NzEgNjRkZTE3NDZjZDZlMzk2MzIwYTJjOGMxZTE1ZTFmMzk3MzU2NTIyNiByZWxlYXNlMjctbWFpbnQKKzg1ODcyIDNlNzhlZGU4ZmQyMTI0N2I3YWJlYjA3ZDRlYTNiN2EyOWQ0ZTc4NjUgcmVsZWFzZTI3LW1haW50Cis4NTg3MyBlNDQyNWQ2OGRhZGYyYzM4NjQ3NTk4NDBlZjBjNzM3OWNiOGE3N2YzIHJlbGVhc2UzMS1tYWludAorODU4NzQgYTI4MTk4OWEyMThiMGMxZDVlOWZjNTVlNzQzNTU3OWQ3YWNmNThhOCBweTNrCis4NTg3NSAzZmY5OTA4OWMwMmUzMDQ5MTZiYmNjZGRmM2E1YTJjMGQ2NWE4OTAwIHB5M2sKKzg1ODc2IDZkZmY1ODFkMzBmMzgxZmMwOGUzNWQ3NGNkZDg5MDcxNzg3NTkzZWMgcHkzaworODU4NzcgZTVmMjY5ZGQzMThiODdlYTE3ZTYxZTllZTk3MjU3NDA2YjlmMTJhNCBweTNrCis4NTg3OCA1YTg4MmY3ODllYzFlN2Q1OGFiZjFkMGMzOGZkNGEzYTBiZTkwOWQxIHB5M2sKKzg1ODc5IDViMTYzZjJhNjAyYmVjYTMxODIxYjhmZWRhNmU3Mzc2ZmY4NWY3OWMgcHkzaworODU4ODAgN2FkMzVhY2IyMGIwZDQ5OGMyMjAzNTdlZjIwZjg5YjJmYTRhZDBjMiBweTNrCis4NTg4MSAyMTEwZDI2OWE4NmVjMDBlZDM0NWIzZTAwYWY1MGI4NTgzNGMzYjUzIHB5M2sKKzg1ODgyIDczMTIzM2Y5MDQ4NjlkOWY1OTdjNTMzNThjYmYyMGEyNzdkNGRiNDEgaXNzdWUxMDIwOQorODU4ODMgYjljYTEwMmE3NmQwMzM0MzQ0NDlmYjc3ZTM0MTM0ODhiOTNmY2I2NiBpc3N1ZTEwMjA5Cis4NTg4NCA2NmI0NGNjYTI5YmI4MzMwNTA0MmU5MzVjZGMwZTQyZWQ5OTQ0MDg1IGlzc3VlMTAyMDkKKzg1ODg2IGQwN2I5YjBjYWFlZjFlNGE5NGE4Y2E2MGNlOTE4NTFmYTIxOGQ3ZTIgaXNzdWUxMDIwOQorODU4ODcgM2Y3ZDAzNDI5NDkxODZlNTEzMjZkODFjOTY2NmFiNGNiODlhOWE4YyBpc3N1ZTEwMjA5Cis4NTg4OCA2ZjMxZjBhZjUzNTc2NTAwYTU1MjA4YWNiNzNlZmFjZmIwMDNkZWFlIHB5M2sKKzg1ODg5IDViOGU2ODhlYTVhZWRkOWNkNWI5NTA2ZmYwNGVmZWQwYWMxMTVjYmMgcHkzaworODU4OTAgMTVlYWNiNGM1NDIyODMyMWYzODk2MTNiMGQ3MDMxZDU5MmJkZmQ2YyBpc3N1ZTEwMjA5Cis4NTg5MSBkYzA2YWVkOWI5ODQ1ZjBjYzY5Nzg0ZjM0MTg5OTY2ZjkxNDQ5M2ZjIHB5M2sKKzg1ODkyIDUzODNhZThkYjNjZGQxYjVlMDE5NTQ1ZTkyOGYwZTE3ZjI2ZmZkMDUgcmVsZWFzZTI3LW1haW50Cis4NTg5MyAxYzExNGQzOWFlNTI2MmFjNTNkZmI4NTNiZDY0MjhiNzI3MWI5YjdlIHB5M2sKKzg1ODk0IDY5OGQzMGI0NTExNmNiYzQwZDk2ZWRlNTZjMTE5NWRiMWYwZDI2YjcgcHkzaworODU4OTUgNjEzYzdiNTk2ZmU3ODEyZGU4N2I0MDE3ZmU1YzE3ZWJjYWVhZjA2NyBweTNrCis4NTg5NiAxYjdhMDM4NWM2NWY3YWI4ODk3NzMxMzgyZjE1OTMwYmVlN2QyNjI2IHB5M2sKKzg1ODk3IDcwZWJkYmQ3OWEwMmQwODNjZmI4YmI2MTE4Mzk4MGEzNWMyZGI5NmMgcHkzaworODU4OTggYzZkODY0MzlhYTkxODQ1MTg1NDFmOWUwMWRlOTA1NjRiMzZhZDYyYyByZWxlYXNlMzEtbWFpbnQKKzg1ODk5IDQxYTMwMTQwOTI1YmUxMzUyNmU0YjQ4MDAwNWY0Mjc2YTEyZWUzMDAgcHkzaworODU5MDIgYTU2YTJhODAzY2Q3OGVmOTQxN2U5ZDAwNmU0OWJjOTNkZTM3NDcxYSBweTNrCis4NTkwMyBiNjZkZWQ0YmZmMjEzN2NiMmM0YTFhZmU1NmRkOThjYTFlNWFhMzlkIHB5M2sKKzg1OTA0IDZhYzE4NTc2ZThmYTk5NmVhYmZlOGYwZmUxYjdjMjVlYjExZGVmMDggcHkzaworODU5MDUgNjRjZWU4ZDExZjJlOGI4YjY1ZTZlY2JkNzM2MGYxZjdiYTJjN2E1MiByZWxlYXNlMjctbWFpbnQKKzg1OTA2IGU4Yzg0MDBjYWE5OWNhNTdmOWNiZjM2MjM5YmI4YzY5MDJlOGQ5NDkgcmVsZWFzZTMxLW1haW50Cis4NTkwNyA0YWYxNGY5YWE5NzA1NjViMjA0MTJjODI1NzNlNzgzMWM2MjY5OWE5IHB5M2sKKzg1OTA4IDVlNzIwZjlkMWU2YzE5ZDdmYzNlMzMxMGQ5NTJmNTYwMGUzMGEyNWIgcHkzaworODU5MDkgOGM1YTEwMWE2MzU0NTgzNzAzNWVjYjVlNTUxYjUxYWViNmM3M2IyZSBweTNrCis4NTkxMCA4YThmMmFhOWRiMGY5OTBkNWJhNzMzZWUyOGVhNWMzZWY0N2Q3M2JlIHB5M2sKKzg1OTExIDcyMmIyYTRmYWUwZDE5NmY2M2M2MzEwZDdlMGEwZTQ1ZWYwYThiZWMgcHkzaworODU5MTMgNGQyM2RlNGY0MTAyM2M3OTNjYjY2NjhkZTlhZGFkYjg3ZTRmOTg5MyByZWxlYXNlMjctbWFpbnQKKzg1OTE0IDA4NjBiZTljODM0MzNhNjNmOTljN2Y0YmFjNjY2MjBlNGQxNmY5NjYgcHkzaworODU5MTUgMTZiOTI5NzFjMmQ0NDBjMmVmZGFiNTcyZThhOTZiMjkzM2ZhMjI0YyByZWxlYXNlMjctbWFpbnQKKzg1OTE2IDA1MGYwZjdiZTExZTI2MjI0OTkwMTFjMGFlNWY1MDZmODZlNzc4MzEgcHkzaworODU5MTcgZjM0OTg4OGZhZTY0MzljMGJiY2JiMjI3NmRmOWM0MWUyZTA2ZGU4MyByZWxlYXNlMjctbWFpbnQKKzg1OTIwIGNmZjc4ZmZiOTMyYTI3NmZjZDMwZGEzNDgzMzI3YzE4NTI5MjFlZjEgcHkzaworODU5MjEgMGI1ZTZmN2VkZjZlNjJhZmNmOGZlODQ1MTJhZjJkOWMzN2MxYjBhZCBweTNrCis4NTkyMiA4ZTYzMzhjZTA4NDY2NGJlYWM3ZjVlMmU2YTI4ODFiMzQ0YmMzMDBlIHB5M2sKKzg1OTIzIDRhN2EzZTUxY2QyOWEwMjY4YWM3NTFmOTQ4MTlkMzU1MmFjNjAzNGUgcHkzaworODU5MjQgZDE0NzI2ZjRiNDEwN2I1NmUxODhiOGE4MWZhNjcyZDJlYmY3Y2IyNyBweTNrCis4NTkyNSBjZjFkMjczMjFjNzgyMTcyOGE3ZGMwMmZlMTczOTgwNGUzM2M4Zjk1IHB5M2sKKzg1OTI2IDQwNDI3NzYwZTE2Mjk0YWE5NDc0NDYzYWUyNTcwZDU5NGQ0OGIxNGMgcHkzaworODU5MjcgMzcyZDZhZmYxNWJlOGM2NGU2ZTI4OTMyNDE4MmU4OTlhNzE3ZWYxNiBweTNrCis4NTkyOCA4ZmExMzJhM2FmYjViZTlmYTVmOTEzNTNmNmI2ZTc4NGExMGJjYmFmIHJlbGVhc2UzMS1tYWludAorODU5MjkgNWMxM2NkMGY5OWI0NWU0NTk2YThiOGQ4NzNkYWU0MGY1NTE2YzA5MCByZWxlYXNlMjctbWFpbnQKKzg1OTMwIDE1MzJjYTIxYjkyMDU4Njc2NGQ1ZWQxM2NhZTk4OTljOGJiZmM1ZTIgcHkzaworODU5MzEgNjFhOWFlNTIyZGNjYTZiNDk2MDI0OTllODhkYzEzODJmY2RkMWJhMiBweTNrCis4NTkzMiBmM2ExZWFjNjM1Zjk4YzdjZWQ3NGI2MjAxMmQ5MmQwZDllMDJlMDY2IHJlbGVhc2UzMS1tYWludAorODU5MzMgZjhkMzQ0ODQ5NTk2ZTE1MTZhNGJhYjQxODRlZmNmZGZjZGE0YmNhNSByZWxlYXNlMjctbWFpbnQKKzg1OTM0IGE0ZmQzZGM3NDI5OTcwNzY3YTk2MWNlMDIwNzFhZjY2MTkyMGQxMjYgcHkzaworODU5MzUgOGIzMmU0ZjZiZDk5ZDJmYjNkNWE0MmVjNjJiYmY0NjAyOTIyODA5MiBweTNrCis4NTkzNiBiMTgyNzViMTE3ZDIxMGI0MTE4ZDU4M2UwMTU1MDI3MDQxMDk0MGMxIHB5M2sKKzg1OTM3IGEwNjI2Zjk3MjdlMGYyZDA4YTI5NTMzOTc3MjY1ZmEyMDlkODczOGUgcHkzaworODU5MzggNzY1ZDQyMWQ5NDNjNzM1MTRmMGZhODM0YjdlNDlkODYyMjEwNzFhYiBweTNrCis4NTkzOSAxZDU1Y2MyODRkNGFiNWFmZTM3NGJkYWQzZDkyMDA5YTlhODAyOWU4IHB5M2sKKzg1OTQwIDJjMmVjZWQ2MzVmNjBkMGEzYjc3OTk5MDRkNmQ2ODdlYTY4NjMyYzIgcHkzaworODU5NDEgZWI1MGM0OGQ5Y2I0OTA4YWE0YzU1ZGFiM2ZkY2RiNWYzYTJlZTU4MCByZWxlYXNlMzEtbWFpbnQKKzg1OTQyIDNkYTIzZGViNmU5YTUxOWViNmY5ODU3ZGFhMmFjZTM0NTA2MTA3YzMgcHkzaworODU5NDMgZDE2MTcxNGU3YzkyOGM0ZTMzYTM3ZjhlMDI1ZWY0ZWE4ZTY3NGI3YiBweTNrCis4NTk0NCA1NTZmNTkxNjY1NDk5YzI0MjExNDk2N2MwN2ZjODM4YWQ1NzM2YTJlIHB5M2sKKzg1OTQ1IGJlZGVkNDdiYjE3ZjhiMGUzZTA2ZDc3NzQ2NDc4ZTk3NjQzZGZkN2MgcHkzaworODU5NDYgOTI2ZThiNmI2YzlkNmY3ODNhZGYzZjFmN2FlOTJlN2I4MzNhOGZiYyBweTNrCis4NTk0NyBlNzI3Y2YzNTQ3MjAxMDgzMzJmZGNkMDJkY2JmOTNhMzhiODc5OTNkIHB5M2sKKzg1OTQ4IDUzODZmMWY0MjhhMTVlYWI1OGU3Y2IzNjM2MmM2N2I0Mjg1ZmQxYzAgcHkzaworODU5NDkgZjI0YTUzZWRlOWVkOGU4NGNiYzkxNGFjM2FhZTk5ZTk0NDFlNzdhZiBweTNrCis4NTk1MCAxYzAyMGJjZDUwY2Q3ZWI0NTBkZGE2NDMyNWY5YWVlMTFiYjc0MDkwIHB5M2sKKzg1OTUxIDVjMDEzZWMyNzMyN2RkYWY5MTY5M2U5Njk4YmI5YTdjYWM1ZGMyMTEgcHkzaworODU5NTIgZTM4ZDJkMTczMDg1ZmYyODVlYzQ2OWFlNjUwYmVmY2NiMzM1N2NkYSBweTNrCis4NTk1MyA0MGFjNDVhMDkyYjc3ZDRhMTdjMTlmNjQ2MzAyOTY5Y2QxODRmN2Q4IHB5M2sKKzg1OTU0IGM4NWY1MzM5MDY4YTExYjliMTUxMTY1MWE1YTY5NWRjZWFhMTQwOWEgcHkzaworODU5NTUgNjRlZjYxZDlmZmRjNDE0MWNhMjEyMWZlMWJjMmFjMjgzMWM1N2UxNCBweTNrCis4NTk1NiAzY2NjNmFiNTQ2YzNiMTIwNjM3MmEyYWE5Mjk4YmViYjBhODdlYTI2IHB5M2sKKzg1OTU3IDNmZGJjNmE0YjBkMGY3ZDgxMDI0NzExNDVhYmU4YzYxZGQ5ZDc2ZTQgcHkzaworODU5NTggMTg4MzAyOWM3YjhhNzQ5NDE2ZjI0N2NhN2VkYmQ3ZmY2MTRlNzgxNyBweTNrCis4NTk1OSBiYWFkNTJlNzhkY2IzY2EyZjBhN2IxZDg5M2VhMzFkZDA4Y2VlZmNlIHB5M2sKKzg1OTYwIDBmNzY1YzMzZjRkZTI3M2Y4Nzc2NWJkNjM0MjcwMTFiYjU3MjRmMTcgcHkzaworODU5NjEgM2IyMTBkMDQ4ZjVkYWM0OWNkZDE4ODVmZGUwNjczODhkOWQyZjI3ZSBweTNrCis4NTk2MiA5OGNlY2EyNTE5ODhlMmVkMzhhOTZiMjg4ZmNkYTM2MzdlODY2YzJhIHB5M2sKKzg1OTYzIDliNjZhOWYxMzdiNmMwOTg4MGMzYjU1MjEyZmI5YTdhMTI2MTFjNTcgcHkzaworODU5NjQgNjAzMDEwYWY4MGNmMzY3ZjAyMTA1MWZmMmRlNmE4ZDdmMjBlN2RkNCBweTNrCis4NTk2NiA2NGE5N2M0ZWJhZGNmNDk0YjliZjEzYzc4ZDk4NTJlODM4NzVlZjExIHJlbGVhc2UyNy1tYWludAorODU5NjcgMTgyY2IzZjgyYjBiNjU3ODNiZWNkNzA0MjgxZTE0MzFlNjczNWI1YiBweTNrCis4NTk2OCA0ODBlNDU4MjhkNGIxOTEyMGNhZWFlYjlhMzQxOGI3OWYxZDJhNmI3IHJlbGVhc2UzMS1tYWludAorODU5NjkgMGEyZWMxNzRmYmNkNjI4YzEyM2Q2ODk3N2JkMGM1NzViNzdjMTE2NSByZWxlYXNlMjctbWFpbnQKKzg1OTcwIDkwYmM3MWQ2YmVkZmExNzI2M2RhOThiNmFjZWQ3YzA4NWRkNzFhNGEgcHkzaworODU5NzEgMzIyN2I2ZjIwNGNjNGIyNjBjZGY3ZjU4NGQxMjY1MTYwMTA4Njk5ZCBweTNrCis4NTk3MiBhYmJkOWQyNmFlNmM2NGVlNDgzNTNiZGZjNmY1OWNlYjNjNzljMzI3IHBlcC0wMzg0Cis4NTk3MyBlYTdiMjYwMGZkYzU5OGFmMzVlMGQ0MmVhNDQyOTk0OTMzZDYyMjZmIHBlcC0wMzg0Cis4NTk3NSA3MTA5NjhhMmUxNjNiOGQ5NzI0YzQ2ZGIxZjJlNGI1NWE0M2MxNGZhIHB5M2sKKzg1OTc2IDkzNTZkNzY1ZDc4ZTNkMWIwOThmYzMwMTdlM2JkNGE1OGFkYzlhNjYgcGVwLTAzODQKKzg1OTc3IGY5NzIxYThmODdiZDhiZDNkODNkYWJlNTg5OWE2YTdhMjE3NTBkODAgcHkzaworODU5NzggZWY2ZGFkNzUxN2M1YzU0Zjk4NzBhNGJlZjI5NmFlZDNkZTE3NjZiZiBweTNrCis4NTk3OSBlNmFmMTQ2YmIzOGI4ODYwYzQ3MGQ5ZGY0MGE4Mjg2YTE3ZGJmZTRjIHB5M2sKKzg1OTgwIGVhMTQ5NzdhMzZkZWY4OGFiZGQ1ZjVlMGNiNzIyN2Q2MmEzMGQ5MGMgcHkzaworODU5ODEgYjAzNzc5ZjAwNzM5ZDRjNmM5NGU4ZDAyNTdmMDI2MDA4NjYwMmJkNiByZWxlYXNlMzEtbWFpbnQKKzg1OTgyIDgxOWIxZTA1MzVkMTkwYTZkNTQ4NTBmNjlmODNiNzUyZDIxNjY0ODYgcHkzaworODU5ODMgYjcxODBhZmEwZGZmMmY3OGU3NWUwYmQ3ZDFkMDFhOGMxZGZiMDgyNiBweTNrCis4NTk4NCAzNmVhNzE5MDJmYzhkMWM5ODJhYTIxY2E3ODZiYjAwZTk0ZTM5ZjFmIHB5M2sKKzg1OTg1IDM4NTZjNjFiNWM4YmJiZWQzZDM1ZGY3MjE4MjRlOWY0ZTNhMDIyZmQgcmVsZWFzZTI3LW1haW50Cis4NTk4NiBiMDFmYzNhNDJkMzVmYjhiZDlkNGE5NjQzOTIwOThjZjJhMWQ1MTAwIHJlbGVhc2UzMS1tYWludAorODU5ODcgNzJhMmQ0ZDk0MDAzMmQyNTViZTRhOTU4OGM4YzNmOTZiNmNlNzFhNSBweTNrCis4NTk4OCBkNjk4MjA1NTQzYmQ3MTk2MDk1ZjU5YzNiYzVhNDkxOWJkOTE5MzhiIHJlbGVhc2UzMS1tYWludAorODU5ODkgZTIwM2VkMDcxZmNhYjQzNzFjYWMzYTRkMDY0MmU2YmI4MjQ4N2Q3OSByZWxlYXNlMjctbWFpbnQKKzg1OTkwIGI5NDM5NjVmYzQyYmM5MWY3MGYzZDJmODhlZDY3MzI5N2UwYWEzMzYgcHkzaworODU5OTEgOGQ4MjQzNDgzMjI4YzAzZmRlOWM4NTZiMTRmZWMyOTJhN2FhYTljZCByZWxlYXNlMzEtbWFpbnQKKzg1OTkyIDI0YjE4Y2Q0ZDVmMzU0OTcyNGFkYmJmZDczYmMyZDVlYmRkOWFhMmYgcHkzaworODU5OTMgNDJhZDRhZTZkOGVlYmI2YjI0MGE5NzVkMmYxYTA2NDJlOTYzZjNiNSBweTNrCis4NTk5NCA2MjRlODMxY2U3MDAyOTFmZThlMTNjZDI2NjU4YmMzN2IyZTI2ZDMyIHB5M2sKKzg1OTk1IGNlNTNmZWE3Zjk1NzNmOGFmZThiNjY1OGJkOGY5MDdmN2FlZWQ2MDAgcHkzaworODU5OTYgNWI2MjcwMzVhOTIyZjdhNDEyMTU1ODgzMzliNTJlZmZiYTY4OTE5NiBweTNrCis4NTk5NyA5MjUxYmEyNzJmMmNhMzNmMDhhYmM1MWE4ZThhNTI2ZWQ2ODZmYzg2IHB5M2sKKzg1OTk4IDBiYzJiMDY0MDZmOGJlM2EzMTYxMjRlODM2M2FiM2E5MmU5MTQ2MWEgcHkzaworODU5OTkgMTk1NGM4ZTMxY2IzOGE4OWQ2N2IzMTVjNDY2MzM2YTkwZWU1OTJiMCBweTNrCis4NjAwMCBmMTgyNTE4ZjNmNDI4Y2NjZWYzNzhjOTc1ZjQ0MjQxMWZhMjRlNDVhIHB5M2sKKzg2MDAxIDcxZjRmM2IxYzMzNTZlZWM1YzhjYzVlMTZkMmRjZTBiM2ZmYTYxZjcgcmVsZWFzZTMxLW1haW50Cis4NjAwMiA5ZjEwOTY4ZjUxMWQ3M2YxYmFjM2Y5Mzc0NzM2NDk4YTZmZDVjYzkxIHJlbGVhc2UyNy1tYWludAorODYwMDMgNzM2ZjNhMTBkMTczMzEwMzI3NWVhOTAwNWE1ZjAxZGQxNDI0MzdkMiBweTNrCis4NjAwNCAwNmUyMTUwMDExOWEyOWNlZjA3MWZlNjdiODhjMmYyYTkxZDE4ZmQzIHJlbGVhc2UzMS1tYWludAorODYwMDUgNzMyZmZhODZjNzk4YTlhZTZiYzI5ZTdiODMzYWNlMmMyNGE3OGE2NSByZWxlYXNlMjctbWFpbnQKKzg2MDA2IDIxMTg1ODcyM2I4Y2E5NGI1N2ViZDYzNjY4MTg4ZTAwZDBiOWI5ZDEgcHkzaworODYwMDcgMmUxYWQ3MTIxZTI5N2YxNzZhYWRhMmQ2MWY0NGFhMGEwODUzNjMxYSByZWxlYXNlMjctbWFpbnQKKzg2MDA4IDQ1OWU5NWI2OTMxYmU0M2EzMjAzZGUxNTRhZjQ2OTk1OGI0ODlmYzkgcHkzaworODYwMDkgODc3MDljNmU1NjkwNTczN2IxMDk5ZTE2YmM4Y2Y2ZmI2MTk0NmViMCBweTNrCis4NjAxMCA5MGJjMGM1ZDcyMmY3NzRjNTQ4OGFkZDZmNWM3NTJjODk1NmQ4OGVkIHJlbGVhc2UzMS1tYWludAorODYwMTEgMzA1ZTkzZmQ1YjZkNGFlZGI2ZjM1ZDdjZTFmMzZmNjI5ODI1NzhlYyByZWxlYXNlMjctbWFpbnQKKzg2MDEyIDNhNzU1OWJhOGViNTkyMDM2YTJhY2UwZDE4MzZkYmQwMTJjNWRlNzkgcHkzaworODYwMTMgNDlhMzFhZTAzNDhhNThjMTRhM2RlMjExZTFlZWM4ODE1N2UyMmFjNyBweTNrCis4NjAxNCA2MTJhYmIxZTc2NzYyMWM3YjZiMjdmZGM3MTA0MTA5NDFmNjZjNWI4IHB5M2sKKzg2MDE1IDhiZTA4NzYxZGRjMGJlNTdmNDU0ZGZkYjMzMDYwMTc3OTBlOTlkNjggcHkzaworODYwMTYgOTdmMzJiYTVmZjg1NGE2YWJkMmVmOTM3Y2M3OTlkNTI5NjVkNDc3NyBweTNrCis4NjAxNyAwZWU4NmZkOTAyZjFlZjM1YmRlYTY0YTM5YzM1YjlhNjlmZWFmNjRkIHB5M2sKKzg2MDE4IDBlYzMxNzBmYWE5NWU1ODJlNWYwYTk2NTE3MGE5MzQxYzI3NzUwNWQgcHkzaworODYwMTkgYWY5ZjllZmNiYjlkYjY0ZDY1YTNmNDNkM2E1MDVmZjI3MjM2N2Q0ZSBweTNrCis4NjAyMCAwODVkZTk2MDNiNjI5ZmYyMTQ1MGUwYTYwMmZiOWU4ZGQxNjkwYTRmIHJlbGVhc2UzMS1tYWludAorODYwMjEgNzYwOGRjYWY3ODZkZGRkYmZiMGRmMDdkMzc2N2JmZjQyMDlhMDUxZCByZWxlYXNlMjctbWFpbnQKKzg2MDIyIDk0YzVhZDk4MWMxYjdmNjFhMzUwYzE0YWY2NDA4NzYwZjAxZTAxZDAgcHkzaworODYwMjMgYjQ4MTk4MzhlYjViNzNmMjE0MTRkYTk0YzE3Zjk0YjEwZjkzOTVmMSBweTNrCis4NjAyNCAyMTg3MmMyNGEyNWI5MDljYjQ0ODIyMmE0ODJkNDUyZmQ1ZWMyODcxIHJlbGVhc2UzMS1tYWludAorODYwMjUgOWUyOTFiZTQ4OWNmNTUxNGZiNDI3MWI0YjIxZmY2MmQ5MzMxMzlmMSByZWxlYXNlMjctbWFpbnQKKzg2MDI2IGZjODY1ODYxOWJkZjQ5ZGVhM2NhNDE5ZmFhN2UzZTBiNTcxODlhZDIgcmVsZWFzZTMxLW1haW50Cis4NjAyNyBkOGQzMzY0OGQxYjJjN2U4YmEyOTQ3ZjY2N2VjNThlN2RhZTkxMmJhIHJlbGVhc2UyNy1tYWludAorODYwMjggYzk4MjA3MzE4ODNkOWJkNGZmNGIwYTBiOTFhYTMzNTkxNGZkNjM0NSByZWxlYXNlMzEtbWFpbnQKKzg2MDI5IGYzYWZhMTBjZTc3NzE5ZTNiYmRjMDJhODE3Y2RlMzY2MTMwZmJkODMgcmVsZWFzZTI3LW1haW50Cis4NjAzMCAxMzFlN2NjOWU0MTZjZDYxODgxZjkwM2IzY2JjMWNhNmMyOGE2ZGY5IHJlbGVhc2UyNy1tYWludAorODYwMzEgMzJjMTkxYTVjMWNmOTQ5NWJkYTBmYzQ2ODgxY2I0MjJmNTc3OGY3MyByZWxlYXNlMjctbWFpbnQKKzg2MDMyIGI4OWIwYzdmMzcwOTRhMGI3MzNhMDk2YWQ0YTQ4NTk2NDgzZjM5ZTkgcmVsZWFzZTMxLW1haW50Cis4NjAzMyBhZTA2YzA0OGRlMjQ3MjgwNDMxOGU4ZWI1MDYwZDEzNGJiZjBmOWZhIHJlbGVhc2UyNy1tYWludAorODYwMzQgMzIxN2IxMGY4NDEzYThhZDc5OGNhNzA5NjkzNjAzZTM0Y2NhOWUxMCBweTNrCis4NjAzNSA5YjgxNDI5NjIwZjRiNzc0NWVlYjNkYzJkYjZmYmQyNjlkZDg0YWQ2IHB5M2sKKzg2MDM2IDQxMjdhYjFmNjMzOGMyYzgwZTQzNTY3NDI2ODhjNTdiN2Y1ZjVjMzIgcHkzaworODYwMzcgOTdkZjVkZGU5ZjgxYmE2ZDRlMjdiYTRlMTY4MmVkYWZmZmYyMTgzMyBweTNrCis4NjAzOCBhNjgzMGNjODIyYWFiZTMzM2Q5NTI4NjdmZjk2NzY5ZmYwNDQ5NzlhIHJlbGVhc2UzMS1tYWludAorODYwMzkgMTQwZDQ3MWIwNjFhNTNkMTcyZjllNDJhNjIwMzYxYjcxMTRmMzczMyByZWxlYXNlMjctbWFpbnQKKzg2MDQwIDc1YWMxM2ZlN2RhMDNiYmNhNGMzM2U5MTBiOWViMmIwZDJjYjM3MzAgcHkzaworODYwNDEgNmZhNDhmYTJhODY1NjhjOTU4MzUyMzJmYjc5MGUzNjUwNDFjZTNjMCByZWxlYXNlMjctbWFpbnQKKzg2MDQyIDk0NDMyZTRjZGRjZjYyNDFjOTMwM2QwODc4NjhmZDY0MzQ0ZGEyMjIgcHkzaworODYwNDMgNWM1YjdhOWJhYzA1YzY0NTljZThkOTI0OGE2MTQ3ZjE2YWRmNDEyYiByZWxlYXNlMjctbWFpbnQKKzg2MDQ0IDQ5Nzk2NGNmOWU1OGU2MGJhYjdmYjFkYTk4MTk5NDFjNTA1NWE3MDEgcmVsZWFzZTMxLW1haW50Cis4NjA0NSA1YmRjMGQ2YzY5MzkzM2JjODNkOTJmMGQyNjUxNGE5ODQzY2VmZDE5IHB5M2sKKzg2MDQ2IDU3NTc5NDI1OTNhMGViYjUwNzlmYTIxNmMxMzA2ZjdlNDI4MGJkNGMgcHkzaworODYwNDcgZGUxZTVlZWE3ZTc1ZDEwNWJlMDhhYzRiYmYyYzIwMDkwZTFmMzNmNyBweTNrCis4NjA0OCA3MTllYmNiOTM0ZjNkYzQ0MDE1NTY2NjhjMWFlNWMwNzYwNmY5MmE2IHB5M2sKKzg2MDQ5IGJjNmNjZTRhYjNjNjM2NzcwMGY5ZDZhZDJhNDhhZDllMjlkOWIwNmUgcHkzaworODYwNTAgMDAwNWExODFkMTBiYmI5NGZhMGUxMjJkZmI5Mzk2MzllNDE2NzM5OCBweTNrCis4NjA1MSBlYTJjMmZjMDE5ZDY1YzQxM2JlMWI2MmZmZWQzYzE0MzVhZGQ4MTc4IHB5M2sKKzg2MDUyIDQxZDVkM2Q3ZGEyMThmOWEyNGU3MDM5ZWJjNmY0ZTJhZjI2ZDM1ZTggcmVsZWFzZTMxLW1haW50Cis4NjA1MyAwYTk0OTIzNzgzYTQ3ZDQwMTk4ZTQyNTE3MzZlNmY4NGI2OTU0ODgxIHJlbGVhc2UyNy1tYWludAorODYwNTQgNDNhY2M5NTQzNDE2YjQ1YjA1MGJmYTg3ZWEzYzc3OTk3MzhkMDkyNSBweTNrCis4NjA1NSA5MTAzYWE5YjI3MDRjOWI1OWNjMzBlYjhjNTZmMjdjZjg3ODdhMjkyIHB5M2sKKzg2MDU2IDA1OTlkMjE4ODgzN2VjNDIxZjA5NTZkZjk3ZmNmZmJlYmM5MmFmOGMgcGVwLTAzODQKKzg2MDU3IGZlZGRiOWE4M2FlZjFjNmFjNjgxNTNjNDgxNDY3ZTFiNWQxNzkyMjYgcGVwLTAzODQKKzg2MDU4IDA4OTJiMmMzNjM2ZDllMGMyOGMzMGViNzZmMzFmN2YwODQ5M2FiMjEgcGVwLTAzODQKKzg2MDU5IDk3YjlkNDA4ODkxNGUzODRiMWIyM2EzMWViMWVjZmJmMDQzOGRlNDIgcGVwLTAzODQKKzg2MDYwIDEyNDMzZTk4OWQ5YzkwMTllNzNkM2FhZjEzY2QwY2RjMzYyNjMyYzcgcGVwLTAzODQKKzg2MDYxIDM5MzNhYjZmNmY3YWM5M2Q5ZTc4ODlmNWY3YWIyNDllYTBhNjI1YWQgcHkzaworODYwNjIgNTNiNTFmNWU5NWM0Y2NiYTM1NWM1NTIxN2FkMTJkOTU5YTcwYzA1NyBweTNrCis4NjA2MyBkMGYxY2ExYTgxMzkxY2QzMzI0ZGFiOThhMmU4MGU0ZmRjMzgzOTdhIHB5M2sKKzg2MDY0IGI2NDI0NDFkYTFlYTU5MGZiMjcwY2M0MjM5YWYzMWIzNWMwNTU0ZDUgcHkzaworODYwNjUgZWFhNTA3MjUxMjJiNjZjNTkyZTMzZjM0ODFjMzlkNGI5MmQyZTNiOSBweTNrCis4NjA2NiBhMmNlODIxOGUwMjkyZGNkYmM5MzE3M2FmZDdlN2EzYjRmY2ViOTYzIHB5M2sKKzg2MDY3IDY0NzA1NjYxOTZiM2QzNWQ1Mzg3ZjYwMTk2Yzk4ODc1ZjdhZjhiYWQgcHkzaworODYwNjggMGEzYWU0YTI1NWRlM2FiNzU1MDVlMWZjODRkMDAyOWUxM2MxNTY4NCByZWxlYXNlMzEtbWFpbnQKKzg2MDY5IGZiMTJlZWIxZTdhOWJhMjE4ZWE5ZWU1ZmNlNWZhOWYwOTc5OTVkYWEgcmVsZWFzZTI3LW1haW50Cis4NjA3MCBkMGIyMGE2NTIxZDIxNDZlZDU4N2JiNDlkMjEyY2I1ZjBjMzEwNWFhIHJlbGVhc2UyNy1tYWludAorODYwNzEgYjVlMWU2ZjMxNDM3ZjJjNzU2YzY1NWQ4N2FiN2EyNDU5ODQ0YjIwOCBweTNrCis4NjA3MiBjODI0ODc1MTNlNzY5MDZhYjQwNzAyMWM5ZWI4MTA4NmI3OTgyMTk0IHJlbGVhc2UzMS1tYWludAorODYwNzMgZmYyYzVjOWMwNzliYTA2YzNlOWE3NzM0Mzc2NWM4MTFmZTczOGY2MiBweTNrCis4NjA3NCA3ZGMxMzZhMDEwMTM3MDY2YjJhOGY5MTVlMTVlOTMzMjdlNjlhNmE5IHJlbGVhc2UzMS1tYWludAorODYwNzUgNDUxYzliYjc1MTU5ZTQyYWZkOTIxZjg1NTk2Zjg3Yzg5NzUwMTg0NiBweTNrCis4NjA3NiA3MjBkNDVhNmUzMTY5ZDZiNTVjNjJmZDk1MGZlZDZiNzQ1ZTY4YjRmIHJlbGVhc2UyNy1tYWludAorODYwNzcgZmUyZDE5YjJhNWM2ZDJkZjhmOGIwYTUyYWQ4ZjU2OWFmOTQ2ZGFlMyBweTNrCis4NjA3OCBiYTJhZTA5N2Y1Njc1MzEyYjA5ZTFkYWEzYmM2ZGZhMDU2ZGNlNjhlIHJlbGVhc2UzMS1tYWludAorODYwNzkgMjA2ZGVkOTQzNTM0ZDM2YjY1ZjQxMGIzZGM5MDhjYWExOTliODU2ZiByZWxlYXNlMjctbWFpbnQKKzg2MDgwIDhlNjU4NDlmNzFmNTA5MzhlNmRmZmM2M2U2MjNjMjI5Yjc3Y2VmMWQgcHkzaworODYwODEgYmVlZGM3ODU2ZjViMTM5Mjk5Yzc2MGJmNGE5MDk4MDk2ZTBkMGQ3MSBweTNrCis4NjA4MiA5ZDExMzNjMTg2M2U0YzA2NmMxNDgxYjRkNTlkNzdjZmQ4YjI2NjQxIHJlbGVhc2UzMS1tYWludAorODYwODMgOWRiODU3OTYwNDAyNzIzNWZkNjdhMzU5OGM2NDY2MjEyYjZhNDA0OCByZWxlYXNlMjctbWFpbnQKKzg2MDg0IGYwMzAwNTg0YzgyNDQ0YzhiYmZhOTNmZWE3YTYxODMwMTcwZDk5ZTAgcmVsZWFzZTI3LW1haW50Cis4NjA4NSBlNWRiMzJmNGY0Y2Q2ODJhMjdmODM3YjU3Y2YzNWE2ZmE4NGQwZTkwIHJlbGVhc2UzMS1tYWludAorODYwODYgZTcxYzJlMWRhZjU3MGJmYmRjNGNhOTdiZWIwYmYzZTVhODhlNTQ3YSBweTNrCis4NjA4NyA0OTNhMmQ0MDdjOTQ0NjgwNjFmZmRiNzIyMjZkNWU0MDM5ZDU0MDEwIHJlbGVhc2UyNy1tYWludAorODYwODggNDNkMmQ1YWZiZjczOGI1OTE0MzNmMDg4NTVlZTQzMGE0Yzg4NWIwZiByZWxlYXNlMzEtbWFpbnQKKzg2MDg5IDdjNThmYWYyMmU5ZjJlYzU3Nzk4ODRjZmI4YTA4YjRjMWQ5ZGY3ZTIgcHkzaworODYwOTAgY2I5ZTEwMDM0ZTRhNjVlYzI3MWRlZTBjMDMzMzQyY2FiN2M0NTUxMyBweTNrCis4NjA5MSA4NDg5MTI3ODliNzk0YWI0MDVlYTkyNmJlMjRlMjY4ODJiNjA2ODI1IHJlbGVhc2UyNy1tYWludAorODYwOTIgZDhhYjM1ZWM0ODZlOTA4NjYzYmY4OGVlMDU0ZDAwNWExMjM5YWVlNCBweTNrCis4NjA5MyA1OTUyYjkzN2FiOWEyOGIyMjI1ZDNjOThjNmJlZmEzZWQwZjhkYWQ1IHJlbGVhc2UyNy1tYWludAorODYwOTQgYjNjMDk4YzNhODI2NjlmMjE5NGUzYjM5YmYxMzBjNjI3MjBmNWM5YyBweTNrCis4NjA5NSA2MjFmM2U5YWNlZGRjNWU3OGQ2OGY4ODkyNWFlNjNiOWUyNTkwYTk5IHB5M2sKKzg2MDk2IDM1MjBmZWE1ZTkyMmViN2EzMTA3YmI1NWZiMTdmM2ZjYWY4NjcxMjEgcHkzaworODYwOTcgNTIwODRlYTYzYzQyMTIxYTk3YTQ1ODliMTJmYjA4YWQ1NzI3MTVjMiBweTNrCis4NjA5OCBjNzkxZDAyNjEwMDYyNGI0MzExNjMzMTFjNDA4NmMyOGQ1ZWIwOGEyIHB5M2sKKzg2MDk5IDUzOGY0NGIzMmIwYThkYjk5MDY3YTI0NmMxMDY3OWU0ZjM0NzM5MTcgcHkzaworODYxMDAgZmY4MTY4ODlhYTYxZmM2MjI3YWU4NWRhODlmMDQzZDk4ZDRkNzAzNiBweTNrCis4NjEwMSA5YzdhZDBlZDY2Y2JlY2FkYjU2YWJkNWZkNmZlZjUyZTZhOTc2YTUzIHB5M2sKKzg2MTAyIGJlMWQ3ZjYxOWZjMGYwMDYxZjg2ZjE1ZWU3NGYyODI5YWYwNDY3MmIgcHkzaworODYxMDMgOGUxOWZmOTY0Y2M4ZGExNjIwYjU4N2U3ODIzYjczNzMwYjg2MGRmYSBweTNrCis4NjEwNCA0ZWE5NGM1ZjZkMTAyNTI1NGQ5NzkzZWU1YmVlYjA1NzQ5ZDk5ZTNjIHJlbGVhc2UyNy1tYWludAorODYxMDUgODg5ZmQ4ZWNiZmY0MjQ0OWRhNTNmYWQ2NGJlYjEzN2UwM2U3MjQxNiBweTNrCis4NjEwNiBhMzdkNmQ4MWY0YjFlOWQ1YjhhMDRkN2E5MDY2NDk0MzYyNDdhN2IxIHJlbGVhc2UyNy1tYWludAorODYxMDcgYTYzOTU5ZWVjOGZmNGFkZGJiODk0OTY0ZDMwMGJmOThlNzJjNTBjMyBweTNrCis4NjEwOCBiMzQ2YzhkMzNlNTYwMWVjN2EwOWI5NWI4YjlmNjQxYTM2NjI4YzhlIHJlbGVhc2UzMS1tYWludAorODYxMDkgZGViMjNjYmFiNWFiNjIzNTM5NTZlNjA4MzkyYjBjZTZhM2MxNzAyYyByZWxlYXNlMjctbWFpbnQKKzg2MTExIGZmNmYzOWIzYzM4ZTQ2YmQ1YTUyNGI0NjQ2Nzg2Y2NkZTFlMGFlOTkgcHkzaworODYxMTIgNTczZGIyYWYyZGRhNzRmMjMzN2RjYWU0N2RkMWNiOTlhZmYxZTViNiByZWxlYXNlMjctbWFpbnQKKzg2MTEzIGYzYjcxODgxNzFjMDJjYjVjZDdhN2Y3OTYyNzQ5OTRlZWRjMTNmM2IgcHkzaworODYxMTQgMzY4NzJhMGVkOTQzMzVkODA4MDAxYTIwMzUxZjEyNTNmY2RmMDNjMCBweTNrCis4NjExNSBkN2VkZDE1YmEwZjJhYzEwNGYzNmM3M2U2N2E2NjQ4ZGRlM2NkMGY5IHJlbGVhc2UyNy1tYWludAorODYxMTYgMTU3Njc5MDJiNTQ1ZmM3YmM0MmJiM2ExYThiNTk2YjgxOGNkYjRlYSBweTNrCis4NjExNyA0OWYxOGE5NTMzY2RlMjYyMDhlMDdlNWJlZTE3OTZiZjAxZTE5MjBhIHB5M2sKKzg2MTE4IGVkZjQwNmVhYjFkYjdmYTJlMDM5YTRhNTZmNmEzMTU5MjI0N2I3ZTcgcHkzaworODYxMTkgNmVlZDBmYzE4ODE4YzEwYTY1MzZmOTI2ZjViN2RhMmZjODMzYWMyMiByZWxlYXNlMzEtbWFpbnQKKzg2MTIwIDRjY2QwNjhjYmEwYzliMDIyNmIxMWU3MjJhZDM2ZGI0ZTljNmZlYTAgcmVsZWFzZTMxLW1haW50Cis4NjEyMiBmNGY3OTU1NmE1MjJlMDRmMDYzOGZhOTM4YmM2MWUxZTYxMzg5MzUzIHJlbGVhc2UzMS1tYWludAorODYxMjMgMDA0ZDVmMTY1NzM4ZGVjYzBjZjJjY2MzODFmNjMzYzQwZmNjMDQ1ZSByZWxlYXNlMjctbWFpbnQKKzg2MTI0IGEyODU4NDNlOTU4YTRjM2E3N2MzMzUxYzIwYWJhZDM0NDNlYmRiOTEgcmVsZWFzZTI3LW1haW50Cis4NjEyNSA0NTc3OTJhZmRlY2Q2MTBiZmJiZTJmZGMwOTk3OTRlNTNkM2QwM2Y0IHB5M2sKKzg2MTI2IDIzYjQ5Njc4NDAxZjE4MTcwYWQxZDQzZjQwZWM4OTIwMzUzY2MxZmEgcmVsZWFzZTI3LW1haW50Cis4NjEyNyA1M2ZiOTkxNjMyN2UwZmViZDU0ODA4N2U3MGQ1NDQyNjJhNjE2MmM2IHB5M2sKKzg2MTI4IDEwOTUzODcxNmM1OTFkMTYzMGU4OWY3ZGZlOTVjZTk0ZGIyYzJjMTIgcHkzaworODYxMjkgMGNlMGY4ZWJkZDI5ODUyMjM4MjMyMzdkNTE5ODdkNDYxYTc3ZmQ5ZCBweTNrCis4NjEzMCAxOTEwNjdmNDlmY2EwNTUyZjI2NmU2YmM5NjcxNjhlZDdjNTM0NTY4IHB5M2sKKzg2MTMxIGY5ODBmOTQ0YmUxOTM1NDI2ZDRmNGRmMTRjNTY2OTVlNmZkYTA0NDQgcmVsZWFzZTI3LW1haW50Cis4NjEzMiA2ODM0MWY5YzU5MzczZmJlODZiZWIyZWM1ZjZkZDk3ODJiZmUwZGNmIHJlbGVhc2UzMS1tYWludAorODYxMzMgMjY5NzMyNmQ0YTc3ZDNlYzg3YTkzNTk5MDI1MjI0NDgwNWExY2Q1OCBweTNrCis4NjEzNCBhOWRiYzg3YTNmZjRhY2E3NDc2MjY0MjY2NWExNDJlZTdhZWFjYWIxIHB5M2sKKzg2MTM1IDZkMjBkZGU5NjA5YzkxZTdlZjZiMzAyMDFhMzA3OTJlMzc1MmQyZWMgcHkzaworODYxMzYgYjk2ZWRiMDJlZjYzMGY3MTlmZTlkNjYzYTRiMmRmMDU2OWFlMjUxOCByZWxlYXNlMjctbWFpbnQKKzg2MTM3IDJkNDIyZjEwMDIyZmYwNzE0NzdiNGFmNTFiMTg2ZmJkYzY3YjI4NDggcHkzaworODYxMzkgNThlNTRmNTYzZGU3Y2YzZDQyYTYwYWNmMjBkYjQ2MGE1NDk5YzI3MyBweTNrCis4NjE0MCA4YTRlMjYzNzk2YTNlNWZmNTk1MjI2ZThjYTE2NTgzZTgxNTMxY2UyIHB5M2sKKzg2MTQxIGI4YzIwNmU1ZWQ0NGFjZmQzYzcyZWUyN2VmM2JiOTM1MzgyNWM0MWYgcHkzaworODYxNDIgOGVmMzI5NTVhMzQ5NGU5YzZjNGY5Y2FiZTgxMjBlMmY0ZjljOWRkMyBweTNrCis4NjE0MyA1YjA2NWNmNjBkZGUxMmEwNjlmOGZmYWRlM2UwYjQ2ZDc1NDE1NmNlIHB5M2sKKzg2MTQ0IGYyNTUwMTJiMzQ2YmM5NGExNjA1OTVkODAwYWI3YjFhM2M0NzMxZWQgcHkzaworODYxNDUgNjcwODVmMjAyMTQyOTEyMmZhMTJlZGFiN2YyMjhhMWQ5MzcyZDBlZCByZWxlYXNlMzEtbWFpbnQKKzg2MTQ2IDE0MmQ1MzkwYWM1YzZhMDJhYWIyZjljNDIzNjhlM2VjOWEzNTk3MTQgcHkzaworODYxNDcgNGQxYWIyZDI1YmFmNmQ4ZWM0YmI5NWJmYTg0MWE4MGE0MWVmOThkYyBweTNrCis4NjE0OCBkYzMwMzgyYmE4OWExMzA3Yzg0MGM1ZDljYmE5YTMwM2U5YmRiOTMwIHB5M2sKKzg2MTQ5IGYyOWY2MmMzNTdlMTRjOTVmZDI0NmE4M2M4NjA2NzAzNWQ3ODc4MjkgcHkzaworODYxNTAgODFiMGU4OWUzZGYzY2Q5NDNhZmY0MWVjNWQ3Yjc4MTQ5YzJkNGUzMSBweTNrCis4NjE1MSA4YTVmMDg3M2Q3MzgwMjE5ODViYTZlODI0NDk1NTU5ZTIxNGJkYjIxIHB5M2sKKzg2MTUyIDhkNjU5YTU0NzljYTg0ODkzYTM5ZmZhODQwMTk4ZDU2MzVkNWNiMDYgcmVsZWFzZTMxLW1haW50Cis4NjE1MyA0NjI0MWEzNWI1ZmM1MDdjM2RmMjY2ODZlOTE4NDc5YzcyNGYyOGQ1IHB5M2sKKzg2MTU0IDI5OTczNWU1ZmQ3ZjkxMTRjMzNhYmUyZTUyNzU4NGE3MWE0NDBhYjYgcmVsZWFzZTI3LW1haW50Cis4NjE1NSBjOTY3MzE0ZWY2MWU3M2YyZTc2YzRlZGZiNDEwZmNhYjdkNmVhMjQzIHJlbGVhc2UzMS1tYWludAorODYxNTggNzFhYzUyM2E2YjEyMzg0MjIzZTg3YjQ2ODQxM2E5NDc1YjMwZjJkNSByZWxlYXNlMjctbWFpbnQKKzg2MTU5IGUxYjYxYjA1MmM2NmJkM2Y0YTA5ODEzMmI0MTAyNjA2NjIxNTY0YjAgcHkzaworODYxNjAgMWU0ZDQ2YTYxZmJlZWVlYjNlYjQ1MDkwZjk4ZWE2YjdlYzg2YTMxMyByZWxlYXNlMzEtbWFpbnQKKzg2MTYxIDg0NGVjZTM3Mzc2NDE0Y2QzZjU4NmEyZmQxOTA1Njk3YTg5Mjc1MWYgcHkzay10dGstZGVidWctb24teHA1Cis4NjE2MyA3YzVkMWRjZTM5ZmFhYTZjMGMzNzAwYTBkOTM2NTI4NDdiZWVkMjc4IHB5M2sKKzg2MTY0IDUyMzFhNWEzN2E3YWNmZTg2NzNiMTI0MThhNjU0ZjkzM2ZjNWJmZDYgcmVsZWFzZTMxLW1haW50Cis4NjE2NSBiZWJhMmRlMjAwZGQxNjVlMmEzM2M0ZTUxOWZmOTg3ZjQxNzQ3YjQyIHB5M2sKKzg2MTY2IDZlMDdjN2U0YzdjY2E5NDg1NjVhZjA5ODY3ZGJkMGZlYzExNDI0NTQgcmVsZWFzZTI3LW1haW50Cis4NjE2NyBjYzdhODhlMDg4OTkzOWFhNjIwZTI0NzA3MWRiNmQ1M2QyYWYwMjQ3IHB5M2sKKzg2MTY4IGZmNjU4NWEyYTI0MzJjMWFhMWNmNDhlMTUxNGFkNTdlN2ZjZjYzM2QgcHkzaworODYxNjkgNjYzMWU1ZjZkMmNlZTQyMmUzMmNhMGM3ZGJjNzdmZjZkNjAyYzY2MCBweTNrCis4NjE3MCAwNWVlZDlmMGNlMDE1NTI2MDhlYWIwZDY5YzAyZjNjNmU1N2YyZjJlIHB5M2sKKzg2MTcxIDQyOTRlMmMwMDI0NTQwMDFkNDc0Zjk5NjRkOTFlNDY4NzhjMmJhYWUgcmVsZWFzZTMxLW1haW50Cis4NjE3MiAxZjQ1YmZiOTg0NzM3MDE3YzJmODc0YzY0YjIwMmRiYzBhMmYwOTg4IHJlbGVhc2UyNy1tYWludAorODYxNzMgZGRmMDAwYWVmNWIwN2E0NGVjNGRmYjk4YzM5OWNjOTUxNzY4MGRiZiBweTNrCis4NjE3NCAzMjkyY2MyMjJkNWNkODYxMzNkZGVkYTU0NWU4OWUzMzI0MGFkNWNmIHB5M2sKKzg2MTc1IDI3MGI1MDI5NmVhOWZiMGVkMDc1Yjg3MzFmZDQyZDYzMWM5NTExOTEgcHkzaworODYxNzYgZWE1YWVmMzJhMTdmMTczNmM5NjRlNDVhZDYwNWE0OWNhMDFkZWQ4OSByZWxlYXNlMzEtbWFpbnQKKzg2MTc3IDRiYjljOTc0ZjUxOTg3NmM3MDA0OGE2MTM2YjE0YTliZTZkZWZiZWIgcHkzaworODYxNzggNGVlNjgyZmJlYzMwZGJiMTQ2NDJiZTJiYzA2NTA3ODU1ODRhZmQ0YyByZWxlYXNlMjctbWFpbnQKKzg2MTc5IDYyYjNhMGE5OWIxOWU0YTZkNTY3ZWQzODk5Y2Q4YTg2ZDIwM2E1YTkgcHkzaworODYxODAgMmQ1ZGJkZTY0YTM1OGIyNjk5MzQ1NjQ5MTE4MmUyM2I4MWJmMTYwNCByZWxlYXNlMjctbWFpbnQKKzg2MTgxIDQ4ZTU1NDllMmMyNTg5ZjNkYmIxYzBlNTEyOGE2MmM1OWM5NDdmNzggcmVsZWFzZTI3LW1haW50Cis4NjE4MiA3YWI3MmJhMzhmZTAyZTEyYjE0ZDhiMTc4OTAwOWNkZTlhMGJiNDZmIHJlbGVhc2UzMS1tYWludAorODYxODMgYjgzNmYwNDc1OWNkMzYzM2ZhZjYyZmY1OGM5NGM1NmYyMDU1MzE5OSByZWxlYXNlMzEtbWFpbnQKKzg2MTg0IDk0N2I1YWNjNjRiZDkyN2U0ZDA2NzYyODBiMDhjYmE2YTkzNzQ3ZDYgcmVsZWFzZTI3LW1haW50Cis4NjE4NSA2ZTFhZTMyM2ZkZTYyNmI2MmZjYWIyZGFmMmQ2MWUxZTdhNWYxYzRkIHB5M2sKKzg2MTg2IDQzMGQ1MGUzYWM1MzFhNGYzOGIxMjBjYThhN2Y3M2E4N2E4NzhiZmYgcmVsZWFzZTI3LW1haW50Cis4NjE4NyA4Y2Y4YmI1ZGM1Zjg2ZWEyYzAxMWM5NDA5ZTY2ZTAwNGY1Njc0NWM3IHB5M2sKKzg2MTg4IGVjOWRkOTczNTMyZjNjMDQ4MjkwN2FkNGRhMjM1YzIzN2NjNzUyMjggcmVsZWFzZTMxLW1haW50Cis4NjE4OSBiYjY2YTRmNWViYzJhYmE4NTU5YjAxMzg1OGE5NjNhMjg5YzI5ZmJiIHJlbGVhc2UyNy1tYWludAorODYxOTAgMWNlNjllZTY5ZThlYzAxODU0MjQ4YzcxMGQyNWJmNDg1MjA4MTU3OCByZWxlYXNlMjctbWFpbnQKKzg2MTkxIDRjMWM0OGIzYWY2NjI2YjYwNjgwNWQxZGY2YWYzMjQyY2E2YmMwM2QgcHkzaworODYxOTIgNzliM2ZjNjgxY2IwOTQ4NmI0YTFiZjIxODIxNGE4M2IwYmI3YmZiYiBweTNrCis4NjE5MyAyZDA1ZTlmZGI1OTdmMDJkY2MxOTQ0ZmMyN2UwOWQ5OWZhZjQ1YmQ2IHJlbGVhc2UzMS1tYWludAorODYxOTQgN2QyODA4N2ZiYWYzYTlhNjk3ZjQ3Mjg3MDU3MjU4Yjc0MDAzMWEyNyByZWxlYXNlMjctbWFpbnQKKzg2MTk1IGIwMjQ5ZDA4MzllZGFiMTIzZTgzNDZjMTE2YmNiOTE1NWQ3ZjFmODAgcHkzaworODYxOTYgMTI0M2VjNjc5YzI5OGJhNjRlZjJmNTYxNGQyMWUwOGVhNmQ3MjJmYiByZWxlYXNlMzEtbWFpbnQKKzg2MTk3IDYyZmYxMTY0NDMzOTFkMGUzZDk5NWI0M2I3ZGM0NjYxZGIxNGRhMTYgcmVsZWFzZTI3LW1haW50Cis4NjE5OCAxODg5NmQ1ODAyOTBhY2EzMDZlOWM4ZWQyYWEyMjgzNDRlNjQwYmRmIHB5M2sKKzg2MTk5IGM1MDBiNDEzOGY3YjljMTE3OWE4MGQ5ZWJkOGUzMDE3N2Q0ODkyZTQgcmVsZWFzZTI3LW1haW50Cis4NjIwMCA2MjA4NTczM2Y3ZGZiOWVjMmFhMjJiY2Y0MjBkOTc2N2M0Zjg4M2M1IHJlbGVhc2UyNy1tYWludAorODYyMDEgYjI1NGM2NTA3YzM1ZDI3NDA4OTRlYjJjMzI1ZDFkNjI1NDBhNDAzNyBweTNrCis4NjIwMiAyNTlhOWJlYzIzMjZjNjkxYWZmY2U2MTdkZGQyNmVlOThlYTQwNzU2IHB5M2sKKzg2MjAzIGVkMzViMTFlYmVjNjhjZTdmNWQ2MDg5N2E4YTNhMzE0MTlmZDAyZTYgcmVsZWFzZTI3LW1haW50Cis4NjIwNCAyYTMzMmU3MTU3NjYzODZlZGM4ZmNjYWIxMjk3N2IwZDFhNzU0YzYzIHB5M2sKKzg2MjA1IGUyMTNlNDY1YTJkYzg1NTJjOThlNWM1NzdhMzk3YjI1ZjU4Mzc1MmUgcHkzaworODYyMDYgZWRmOGM0YjAwMDQxZTA5NThhMzgzYzkwNjg0Nzc3ZmQ5MjZhOTE4OCByZWxlYXNlMjctbWFpbnQKKzg2MjA3IGZlODk2MmZjMGUxMTk5M2RkYzQwNTE1OWEyNWVjMmNjN2I5ZjhkM2IgcHkzaworODYyMDggMjM5ZmZlZTVlZGFlNTI5NDQ2YWMzNGMzZmNhZjFlM2I5YzQ3ZTI5YyByZWxlYXNlMjctbWFpbnQKKzg2MjA5IDViMjExZGM5NjhkZmM3YmM5YTlmZjNlZTNkYWZkY2YyMWYyYmVlY2YgcHkzaworODYyMTAgZDMxZWFlYzg4M2ViM2ViYjcxMDhhY2FiYjZiZjVlNGQ1ODEwNDJlYyBweTNrCis4NjIxMSA0OWIwZDQyMzAyM2VkNzRmYTMwYzhiZDU5NzMzMTZiNmFlMzFlMWE0IHB5M2sKKzg2MjEyIGMzN2JlZjhkY2VhMmNiNTkwZDEwNWNiOTU2NGFhYjY2NDY5MGVlZTYgcmVsZWFzZTI3LW1haW50Cis4NjIxMyBlZGVmYzVkMmIzZDc0ZTlmYjU3MzRkNDQwZGIxYmY4MjA0ZTVkMzI5IHB5M2sKKzg2MjE0IGQzM2Q2MmFiOTFjY2FjZjZlMzc5M2E5MTU4ODJiMDcxYjkxMzM2ZjEgcHkzaworODYyMTUgNzNjYTZkZmIyMmFhMTUxMzgyMDM4OTEyZTA4MGU2NmM0YzE2YjE4NiByZWxlYXNlMzEtbWFpbnQKKzg2MjE2IDE4NWFiN2M0Yjk0NjkxYTg4ZWZmNzIzNTEyZGRjMTM0NjlkMjc1ZjUgcmVsZWFzZTI3LW1haW50Cis4NjIxNyAzODVkMjM5YmNiZmE3ODA2NjZiMTU0NzNiM2Q1OTVjNzdiZmU1MjY0IHB5M2sKKzg2MjE4IDgyMjIxNDEwNTYyYjNkYjA4Y2YxZDkzMGNmYWNkYjc0NWM3Mzg0MTEgcHkzaworODYyMTkgNDU4YjA1YWJmOTg3M2Q5YTc2ZTJiYzNlN2Q0OWQ0YjgyM2E4YzAyNiBweTNrCis4NjIyMCA1NzFkMzE3YjRjZDVmMmYzZTY1MzE5ODRiOWExNTI0ZmVlMWRhOGFjIHB5M2sKKzg2MjIxIDVkZWQyNWUwNmE5YWZiYWMyZmE5MGRkNWVkNDQwZmEzNzA5Y2UxZTcgcHkzaworODYyMjIgZjkwZWQzN2FlMTZmMGE0NDJmNDk5ZWEwNjFjOWM4NDcxM2MyMDM5NSBweTNrCis4NjIyMyAzYmY4Njc4NWNkOWM1ZTM3OTFiNTUyYmRkMTFjOTQ5NGVjMGY1NjFkIHB5M2sKKzg2MjI0IDEwZTA1ODA4OTVlZDQ1ODA0MjBhOGEzMWUzMjUyMmMyOGUxNzEzZGYgcHkzaworODYyMjUgZmRkMzY4MWIxNDM5OTY0MzI0OWViMzRlNzFlM2Y2NjExZDBjODE1MiByZWxlYXNlMjctbWFpbnQKKzg2MjI2IGUzZmQxMjA1YjEwNTVlNTg1NmU5MTU5OGQ2OTMzMDVhNjY3MjhmZDAgcHkzaworODYyMjcgMzIwN2Q5ZjRkMDBhZWQzMmU4MGQ1N2Y4MzIwNTViMDg5ZGVmN2NiMyByZWxlYXNlMjctbWFpbnQKKzg2MjI4IGEwOTBiZjcxNmE2ODczNTY3OWMxYTRmZDBhMzgzODQ2MTQ1MWM0ZmQgcHkzaworODYyMjkgOWQ3M2Y5ODI3YzlmNGE1ZjliM2NiNDNkYWY1YzNkODAxNzVmNTAzMSBweTNrCis4NjIzMCA1M2VjMzhkMzE5ODhhMWQyZDU5MTEyMGJkMTRhZWNlMmYwMzkzYjViIHJlbGVhc2UzMS1tYWludAorODYyMzEgODkxMWY0NzVhZDNkMmZmM2NkY2QxNjI1MDJiY2MxZmU4NTQxN2E3MyByZWxlYXNlMzEtbWFpbnQKKzg2MjMyIDk2ZGJiMGMxNjhiNjc5NTMxMzdlNTA4Y2NiOTFlZTc5ZTUyNDlmOTIgcmVsZWFzZTI3LW1haW50Cis4NjIzMyBhY2IwYTNjYzFlMThjNzA5ZDViNjMyYjIyMWMwNGI2ODM2ODRjMTI1IHJlbGVhc2UyNy1tYWludAorODYyMzQgOWY4NjIxMWYwYTQyNzNiYzkwMWI4NjU1ZWM1YTU2OTAwYTJmNzVjOCBweTNrCis4NjIzNSAyMjIzYWZlM2VhYmE5NDgwNDk3MTlmN2Y1NDYxMDliZTA0NjAxNjQwIHB5M2sKKzg2MjM2IDk2ZjMwZmQ1NGUwZmVhNmZiZGFlM2Y5N2M0MjI5MTUzNWE3YjVlODggcHkzaworODYyMzcgZjVkZDRhNTRkNzliNTE1ZjlmYTI5N2Q1OTkzYzg3NWQxZWI3NmU0MCByZWxlYXNlMzEtbWFpbnQKKzg2MjM4IGExN2IyMWMyN2EzMzg0NzQ5MjczZTc4NTViMzQ5NWY2YmVkZDg5ZGMgcmVsZWFzZTI3LW1haW50Cis4NjIzOSA1ZDg0ZjFiNzNkNTEwMjgyZDU1OTQzNmY0MzExM2YzZjcxNDk5NmVmIHB5M2sKKzg2MjQwIGZmMDcyYWE3MGMxZGE3NGE5MWMxNWVkMDgxZmM4MjYwYzEwYjhmMjIgcHkzaworODYyNDEgY2NkOTlkNTQ3OWRjZTc5MTdhOTU4NWQwYWY3MDQ0NzA0MmI5ZGQ5NCBweTNrCis4NjI0MiBkNDNiZjMwZmFmNmViODUwMDdlZWVmNzhiOWRmZDRjZjEwMzFmNGFhIHJlbGVhc2UzMS1tYWludAorODYyNDMgNjM2ZmVkOGU3OGQ2M2Y2MmFmMTgyMGI2MWViNmY4MzlkZmZlZjAwNyByZWxlYXNlMjctbWFpbnQKKzg2MjQ0IGI1NjQ4ZTEwYzIzYTdkYzFhODJkY2RjMjhiZTljNTdjMjI5ZmM1ZTYgcHkzaworODYyNDUgMmI3ZWIwZTg2ZDA3Y2RmYzVjYTUxZTM1ZWNmMDUyYTEwZWJkZWZmMCByZWxlYXNlMzEtbWFpbnQKKzg2MjQ2IGRmMzQ5OTFjN2QwZTk1YWI3Y2QwYTg0OTYzM2FiMTc0MDYyNzMyOWEgcmVsZWFzZTI3LW1haW50Cis4NjI0NyBmYzQ4Mzc1MDc5YTZhZTY5YTBlNzU3M2M0YzE2Yzc4MDA2YTcyY2JkIHB5M2sKKzg2MjQ4IDY4ZjhhOTViNTBjN2ZhZTI2YzNlYzIwODEwYTc5YTc0NDVmNjlkMTcgcHkzaworODYyNDkgNTExNWQ0YTJkODk4MjQ2MDNkMGUxODdhMzdhMGUxMzg0YjNkNzAxOCBweTNrCis4NjI1MCA3Y2I4MDQzNTgxYjU3ZmVmZjgzNzc0NGNhOTUzYzU2N2QwNThiMmZhIHJlbGVhc2UzMS1tYWludAorODYyNTEgMzA0NWFkYTM5MjY5MTU3NjI3YjEyZmYyMGZhNzRmMzA5NTBlZTg2YyByZWxlYXNlMjctbWFpbnQKKzg2MjUyIDZkZGM1NzYzNGRlNTZlZDMzMWE2YjU4YWMxYTJlZmI3ODA5NmM4MmMgcHkzaworODYyNTMgYmEwYWVjNjdiOTlhMGE4ZTNmYWU2Zjg2YzBmYzFhZWUxOTEwNDIzNyBweTNrCis4NjI1NCA4ODM4YzU2YjY5NTI1MWQyNjE2NjgyMmNmM2QxNTE5ZjE5YWY2ZTlhIHJlbGVhc2UyNy1tYWludAorODYyNTUgM2JmNDJkOTEwZGI4Yjg3ODc0YmE1MGUzYmQ0YjRiMTYwOGU2NTE3NCByZWxlYXNlMjctbWFpbnQKKzg2MjU2IGZmMTI1NzEyOGM3NTBlN2Q2OTRlMzFlNWM5ZjQ3NDZmNzI0ODY3YmYgcHkzaworODYyNjAgZjQ1N2M0NmY5MDk4MzZjOWMxZmUxOGIyOGExYTRiOGMzYTlkMTZjMiBweTNrCis4NjI2MiBlODUwMjU2N2VmYWY0OWUzZmFiZGFhOTcyZDMxZWRlMTJmNTYwYmJlIHB5M2sKKzg2MjYzIGJlNTQ2OTgwOGNlOWI4NzYzYTcyNjQyNmY5NmQ1ZmIzZTgwOGI2MzEgcHkzaworODYyNjQgMzgyNmFkY2E3YTNiZjRjYTQxODg3MDdmMzQxY2E1OWM4MDA3NzNjMSByZWxlYXNlMjctbWFpbnQKKzg2MjY1IDRmZWI1MWY2ZmQ3NmJkOWFhYzJkNDg5ZjE0NDg4M2FkYjAzZThkOGQgcmVsZWFzZTI3LW1haW50Cis4NjI2NyAwNzNiMDdiM2JkYWVjZDU5ZTEzNjQzZWMxM2I5MjRmYTA3M2JhNjhjIHJlbGVhc2UzMS1tYWludAorODYyNjggZGI2NTc0M2QwNjJmYzVhZjIxYzg2NDFmMDVlODNhZmRjMzQzN2RmZCBweTNrCis4NjI2OSA3NjJiOTQ0NTAzNjc1ZTQ3NTVhM2ZiNzIzOGRiOTZmNzMxMDdkNjdmIHJlbGVhc2UzMS1tYWludAorODYyNzAgZjBjN2UyYjExMjczOWYzZGQ4NWViNTJiODE4YzVkYWNjZDcwOGVlZiByZWxlYXNlMjctbWFpbnQKKzg2MjcxIDQzNDhjOWI2YTcyZDZkOTRiNTUxNzZkY2IwZWZkOTQ0YThiNTAwNjggcHkzaworODYyNzIgNzdiOGM5NWYwYzFiNTNjMDE5YTNiNDBkNjI0ZTQ4OTEyZTQ3OWQ2OCByZWxlYXNlMzEtbWFpbnQKKzg2MjczIDk3Yjk1YWUyMzQ4YjJhYTczMjBjZGMxNTg3ODA5MTAzMzQ3NjAwNjkgcmVsZWFzZTI3LW1haW50Cis4NjI3NCA3YTlkYmE4OWE3Y2U4NDZiNDliMzgyMGZlNDE4YjZjMjZiMmM0MjIwIHB5M2sKKzg2Mjc1IDEwYmRkYTI0MjY1NDU1MGY5YTNkODk2MzUzMDBmMjI2MTgzZGRkYmUgcHkzaworODYyNzYgYWYwNGFhZTE5M2ZmZjY1OWU2N2FiMzc2OTMyNTJiZDVkOGZkODA1MiBweTNrCis4NjI3NyA3MDQyNWZkNDc4NTY1MGJhZDRjN2Y3ZGQ1YTVmNWMxYzZmM2Q2OGQ3IHB5M2sKKzg2Mjc4IDJjYzNkNjJmMDY4MDg5OTNmNDU1YThhYzkyNzRiM2VjMGI4ZTMyNzYgcmVsZWFzZTMxLW1haW50Cis4NjI3OSAxNDk5ZGI5OWM0Y2RjZjJkZjMyMjY0Njc5YTA1M2IzMDM0M2E5YmViIHJlbGVhc2UyNy1tYWludAorODYyODAgMjg2NDI0ZTc1Y2Q5MjRlMWEyMTYyYjUwMmFkYTRmODE5YTE2M2FhMCByZWxlYXNlMjctbWFpbnQKKzg2MjgxIDM3ZjQzZGU2NWQxMGU5ZjgyZjc2MzE4OTA3YjA2ODJiZTc2ZTI3MjkgcHkzaworODYyODIgZDAzNjMyYzM2OGQzNzI4NWYxYzZiOWUwYTVmZTQyMTdjYWQ0YTAwOSBweTNrCis4NjI4MyA2MWJiZDRiNzU4NzRlMjA4NGMzNmU4MzRhYTAzNDZmOTNlN2MzNzVhIHB5M2sKKzg2Mjg0IGY2YjhmMzM2ZTAwYWEzNzY3ODkzZmFhZGZmNWQ4MjM2MGRjNTJkZjcgcHkzaworODYyODUgYjYwM2QyNDhkNGFkOTExMGQwZmRlYWZiNWYxODk3NDVhNTk2NWVkMSBweTNrCis4NjI4NiBiMWMwNmZhNDhjYzRiMDkzOTkxYWI0NWIxZjBmMDE0YjVmYWRlOWZiIHB5M2sKKzg2Mjg3IDMyODk5MmIwZWE3OWFmNGU4NzQ0ODE0YTYyMWMxZWRiMjIwNDEwYWIgcmVsZWFzZTMxLW1haW50Cis4NjI4OCBkY2YxN2ZhODQ4MjE3NmU3NmU1OTIxOTBhNzMwZTBiZDBmMTY5YmIyIHJlbGVhc2UyNy1tYWludAorODYyODkgMzk3OWUwY2MzM2MxMzMyMGRiMDQ4ZWMxYzA0ZDA5ZGYyYTgzODNiMiBweTNrCis4NjI5MCBhZDY0OTBhNTZkMTU4YjliNmZkMGVmMGNjNGY0Mzc3YmNmYWVlNWI0IHJlbGVhc2UzMS1tYWludAorODYyOTEgNzQ1ZDBmMTZkZjc2YThiMDEwYWI3MTY4ODVmNDBhZjczNDZkMjcwMiByZWxlYXNlMzEtbWFpbnQKKzg2MjkyIDZlODQzMjExNjY0ZDcyMTY5YTU3N2YzM2M4NmYzMmMwYzdmNWRjOWIgcmVsZWFzZTI3LW1haW50Cis4NjI5MyBlNDllYmJkMmM0OTYxZWQyYTdjZTc4YWMyNGE2MjI5Y2UxNDEzNWRmIHB5M2sKKzg2Mjk0IGMwOGY3ZDZhMDIzMTY5ZWI5MWI2OTE3NDg2NTMwYWMyMjI0YTZiMGIgcmVsZWFzZTMxLW1haW50Cis4NjI5NSA1Mzg0ZTRlNDYzNzRkYWQ1YmJjYTI2YzNhNDlkOWU3NDUyNjE4OTM3IHJlbGVhc2UyNy1tYWludAorODYyOTYgMDU0M2MwMmU5NDFjMTAyNGM2MzMzMGI0N2NkMmVhOTVmYTdmYjA0MCBweTNrCis4NjI5NyAyMjYyZjZjNDRlYmNhNjY5MzRhZjQ0MmJjMjhhNjU5MGY0NjljNDRmIHJlbGVhc2UzMS1tYWludAorODYyOTggOGYwOWVlZGNkNzBhMGE4OTNlODczZmY1NGVkODAxOGZiMTY3OTM4MyByZWxlYXNlMjctbWFpbnQKKzg2Mjk5IGZkY2FhYzBlMDEwYTAzNTk5MTc3MGRkOTcyOTQzODg4M2NmNzJmMzIgcHkzaworODYzMDAgMzM1NDIzZDczNmE3ZmY0M2IxZjdmYmUxMWQwZWI4NzAzNTkzZTJlMiBweTNrCis4NjMwMSBlOGYxZWY1ZmQ0MjM4Mzk2N2I1MzIzODRmZTIxZjZkMGI1MjQyZjYyIHB5M2sKKzg2MzAyIDQxOGRjYjFjNDVmN2ZiODAxZGY1OGQ2MDA1MzFkN2E5MWQ3Njg3ZWEgcHkzaworODYzMDMgODA0NzNhZDY5N2FjMzA2NzU5N2VjZjAwOGQzNGNmMjY2YTJkNzE0YSBweTNrCis4NjMwNCA4MTU0ZGI4YTE1OTMzZGI1ZDI2MDFlODZiNjJmZjM5ZDY3ZTZlOTE1IHB5M2sKKzg2MzA1IGY4MjA4YzMzOTc4ZjhmNGY3ZmQzNTdjNGEwZDVmODYwMmU1ZWZhMTAgcHkzaworODYzMDYgODhkMDRmMDE0M2M3Mjc2ZWZhYjdmMDhlOTYxYmRiMzk4NzljNWY4NyBweTNrLWNkZWNpbWFsCis4NjMwNyA4NTVhMTBlZmIxMGEyOWFmZTFkMjk0YmZjZjg5ZDE3NTgyZmViYTYyIHB5M2sKKzg2MzA4IDc2YmM3MThmZTdjOTJhOWU3MzFhM2I2ODY3OGU1MDdhNzk4NzAyMzcgcHkzaworODYzMDkgM2RiMTdhNDk0ZGM5NGQyNTU2ZTlmYjM0YmYxNDdiYjVmM2Y3NWEwYSBweTNrCis4NjMxMCAzYzFiZmU1NGNkMjA5NmExODZmZGE3NTRhYzhhOWFjODk3OWY4ZmE5IHB5M2sKKzg2MzExIDZkMTI5NGFkZmFmNDQwOWMwNzhmYTkzZjQ1MzZmZWRjM2JiMzBhYzcgcmVsZWFzZTMxLW1haW50Cis4NjMxMiA5NmM4MGY0MmJjZTZjYjk3YzEwYzQyYTBjMGMxODBkZWQ3YzczNGY1IHJlbGVhc2UzMS1tYWludAorODYzMTMgZDU1YjdkMGJjOTczN2ZjMDZmMTRkYzE3ZTYwNDE3ZGFkNTczNTlhMCBweTNrCis4NjMxNCAwNzQ1MzNhNzU5NjJlMGEyMGQwYzYxZDYwMWRiN2ZlOTRiNWUxY2VkIHJlbGVhc2UyNy1tYWludAorODYzMTUgMWZmYmQ2NzUzYTE1NDM3YWQ0MDVkZmNkY2Q0ZjBmODdkMmIxMWUxYyBweTNrCis4NjMxNiAyOTQ4ZDVmYjFlYmViNWY5OGExOTBjOTNiZjc3Mzg3ZTQ0MDBiNmVlIHB5M2sKKzg2MzE3IDJkNjgyNDg4NDQzNWI3YjczYjYyODZjYmZiNDA5NmUxYjExZGIxNDEgcmVsZWFzZTI3LW1haW50Cis4NjMxOCBhOGFhY2RiNDUyMGUxNmU4YzFmOWQ1YTIxYWRjZWJmMzU1ZGQ1YjBmIHB5M2stY2RlY2ltYWwKKzg2MzE5IGIwZGUwY2U4YTcyNjRiNDhkYjgzMGI5Y2RkNTZhMjZmMWRmMmU1MjcgcHkzay1jZGVjaW1hbAorODYzMjAgODM3OGViODA3NzQ2YmIxZTI3YzZjMzI5YmZiODM3ZTQwYjFiNDU2OSBweTNrLWNkZWNpbWFsCis4NjMyMSAxNjk4YjBmNjQwYjY0ZTVlMjQwMzBiMmQ2MWRkYWZjYTg2MzUzOGVjIHB5M2stY2RlY2ltYWwKKzg2MzIyIGNhMmI5MzdlMWE4ZDEyNjVlZjNjNjkxZjkxMTU5OWRkMGNlZGY3YTIgcHkzay1jZGVjaW1hbAorODYzMjMgMmIxZjg0YTRhZDMzYzE1ZjVkYTJmOGVkZjAzNDgyNGIyYjA3NTA0YSBweTNrLWNkZWNpbWFsCis4NjMyNCAwNzAzNjgxNzViMjQ5YzU3NGU1NTY5NTZmNGIxM2VhZDA3NTI3NTg3IHB5M2sKKzg2MzI1IDNiZDczMTEzZTgxMDdhZTVhMGU3MTBhNGMxZTE2NDg1YjcyYWE4ZjIgcHkzay1jZGVjaW1hbAorODYzMjYgNDI3MDgwZjJhYWI1ZWQzNWEzZjIzMTZmOTNiOTc5MmVjYTQ5ZWRjNiBweTNrCis4NjMyNyAzZjEwMzRiNDM0NzgzYzQwMjBjNzA1Y2VkYzc5MDMwMWYzNWIwMWVjIHB5M2sKKzg2MzI4IGYzYzUzMzg1N2ZhYmJiNzk2ZDMzYzdjMzg3MTY1NjI3YTcxYTdlMzMgcmVsZWFzZTMxLW1haW50Cis4NjMyOSAwYWQ2YTBkMDE0OWFhODJhMjUyMGQxNDMxMTgxMjNiMTM0NzcxMjQ3IHJlbGVhc2UyNy1tYWludAorODYzMzAgZDZkNzFkNGQ2YjY1MDZiNzU4MmM3NGM0ZTg4ZTMxMmUxYzg5MTczOCBweTNrLWNkZWNpbWFsCis4NjMzMSAxOGNiYWJhNjFmYTU2NDQzYjIwM2IxNzI0OGE4OGY0ZmQ0ZGEwZThkIHB5M2stY2RlY2ltYWwKKzg2MzMyIDAwYmMzYWY4OWI3Y2RhMTU2NGQzYTFlZDNmNmI1NzYxZWNkMmQwYjAgcHkzaworODYzMzMgOGFiMWRlMDgxM2IzYmY3NDYzNGY2OGZhNzk0ODBmN2UwMjgxZDA1MyBweTNrCis4NjMzNCA3ODgwM2NmMTRhOTRhZmIzYzg0ZDMyMjk2OTZiY2U0ZWZkMGFiMDY4IHB5M2stY2RlY2ltYWwKKzg2MzM1IGFkNjQ4ZjJiNWUwMDA1ZGYyYTYzNDJmMjczYzZlYzA0NjRmODJhYjcgcHkzay1jZGVjaW1hbAorODYzMzYgNDRjZDA0MGRkYTU2NjYyNWE5NTUxOGQzZjE5M2ZkMThjZjY0ZTdmYSBweTNrLWNkZWNpbWFsCis4NjMzNyA0MjhiNjEyY2IwNzZkODM4ODdkNTQzN2Q1NmUxZmM0OTk4MjU2NzA2IHB5M2stY2RlY2ltYWwKKzg2MzM4IGJhYjdlNzAzZTNlYTlkMTE0NzJiMzA0YzI0YTg1YmIwNzUyNjU2NGMgcHkzaworODYzMzkgNTZiNmNjY2ExZDRjYjVjN2U1NWE2NjQ3M2U2MmFiMDI4Mzg3YzcwZSBweTNrCis4NjM0MCA5MDA4MTFmNjcwNWQ3NWU0NDMyMDNlNmM1MTcwNTE0Yjk3YmRiMDcxIHB5M2sKKzg2MzQxIDFiNWY0N2UyZTBmMDMwZjE0YTgxNWY2OTcxZmI5ZDc4MzM2MjAzNmIgcHkzaworODYzNDIgNmEyYjkxMTdkNDc3Yjc2MGNhMmQwZmI0Y2QzYmJkOTBmMTQ5NGFhZSBweTNrCis4NjM0MyA3NmExYzVlODgzNTJmNzNkMmNhZjc0NmVlZTUwMTJlNWQ2Y2Y0ZmYzIHB5M2sKKzg2MzQ0IGZjM2IxMmViZmI5YTJiNDNjM2RiMWU1YWRhNDgxYTNhNmJkNDQwYzAgcHkzaworODYzNDUgNzVlMDJmZGJkMzNlNmNjYjIzOTNjZGZkYjlkNWFhNjBjMWM3YTZhZiBweTNrCis4NjM0NiAzMDYzMzljMzE3NTg2NTYxMDM4OTY2ZDk1YjRmZTQxNTMxMmM2NDY4IHB5M2sKKzg2MzQ3IDMyM2Q0M2U4OTUzYWY5MWM5NTRlOTZhYTc0OTgxZmI3ZGYyOWM4NTIgcHkzaworODYzNDggOWE2NmZlYjA3YTBhYzEyYWE2YWRjMGY4MDI4MjVkYzUxNWQ3M2M5OSBweTNrCis4NjM0OSBiMzQ3YjVjZDQxMTI2OTgzNjI0YjcxOTY3NjYxNzI0MWRmZGQ1NjVmIHJlbGVhc2UyNy1tYWludAorODYzNTAgNjQwYTA4ZWM4ZmEyOTRjNmRkYjE4NDgxNGJhYzg2NTEyYTA5YzhhNiBweTNrCis4NjM1MSBiNmRhOTc5MzBmNjMxZmFjYTk5NTJjMzRmNWEyNjEzNjJkNGVlMmRkIHB5M2sKKzg2MzUyIGI0OTM4YzM0YjgwMzYwY2M3YjE0NDI0ZTNiMjMxMjViMGE2ZjY5M2MgcmVsZWFzZTI3LW1haW50Cis4NjM1MyA0NDhhYjc1MTZjMGEwNmQ2YTg5MmIxYWM1Y2JhMTk1NjgwZWI2YmJjIHB5M2sKKzg2MzU0IDY0NmRmZGM0OGNhODZmMTI5MjEwNWFlZmRjY2RmNzM0NjZhZjMxNTQgcHkzaworODYzNTUgMTk0ZjMwZGM0NzAzNDU5NDE1ZDlmYzQ1ZDdkZTBkYTgxYTVjMTAzMyBweTNrCis4NjM1NiA5NGQwY2NiNjNiNDY0Y2NmZjYwMjRhNzQ3NThjYTM1MjcyYjcyZmZkIHB5M2sKKzg2MzU3IDc0ZmE2M2FhYjNmZDZjNzk3ZDBlZGIyNjI2NmVkMzU5OWE4ZjEzZTAgcHkzaworODYzNTggNmYyYTkyMWQ5NzIwMzE1ODk1N2Y0ZGUxNmVkOWNhYTkzZjE4MGExNyByZWxlYXNlMzEtbWFpbnQKKzg2MzU5IDQwZWIwYzlhM2Y5MjNmOTk0ZTgzYzhiNTRlNWJjMWQwM2JmZWIwZjYgcmVsZWFzZTI3LW1haW50Cis4NjM2MCA4NjE4ZGY2ZWNhZGQ5YjY2NjkwNzdjZjYwOWQzNmU3ZGZhMjBlYzBlIHB5M2stY2RlY2ltYWwKKzg2MzYxIGZlOWNmNTM1MTE5MDI3YjdmMWE3ZTFhNDViYjdlZGI4NzQwY2UyYTQgcHkzay1jZGVjaW1hbAorODYzNjIgNzM2NzJlNDQ1Y2M5MTMyM2ExNzA2MzczMDNiYzA5ZjFkYmVhY2I0NSBweTNrLWNkZWNpbWFsCis4NjM2MyA3YTg0MGI2ZDJmMjI0OTc1YzllNzc3ZjM3ZGIwOWRmY2M4MzFkM2E3IHB5M2stY2RlY2ltYWwKKzg2MzY0IDYwMDA1OTE0ZGZjNzYwYTgyMzA5M2Y2MDFjOTA0MDQ1MmY1N2Q4ZTAgcHkzaworODYzNjUgOWMwOTg1N2JkYTBiNDlkMDNmOGQwZDg3NTFiZmM5MWVhMWRhMDgzMCBweTNrCis4NjM2NiBhZjI2YmMwOTQ5NWUzY2UxNGJmNTI5YmQxNTZjNGE5YTBhOWIzNzQxIHB5M2sKKzg2MzY3IDMxMmFkOGY5OGZlMzcxN2U1YThhODdiZWFkYWQyNjA4ZGY4Y2U0YzggcHkzay1jZGVjaW1hbAorODYzNjggZTMzZjE2Y2E5ZWNmZGY2NjdmNGJmNWY0Zjg1ZjNmNTFhY2ZmMjFlYiBweTNrLWNkZWNpbWFsCis4NjM2OSBlZWViYjYyMmZkMDhmODUwMjI1MGYwMzEyZWY5NDA0ODEzOGM1ZTU0IHB5M2sKKzg2MzcwIDBhYThhZjc5MzU5ZDViNTBjNTk0MGNhMWQ4ZmUyNmZkMGE2ZDRhNWMgcHkzaworODYzNzEgOGY1ZDJiNTI3NjM0YThjMWYyZTMyMmNhNDZjMzAwMDQxMDg1OTVmNiBweTNrCis4NjM3MiBiYjllNDdjOTkxYjQxODJmY2IyYzAzOTEwZjU2NWMzMjM0YjZmYjE2IHB5M2sKKzg2MzczIDY1MzY0YzQ0ZTI5NThlOGVlYzdkODczYzhmYjBmMmNkY2NjNmYyZDIgcmVsZWFzZTMxLW1haW50Cis4NjM3NCBkMGZjMTA2NjE3ZTJhNzA1NzQ4MTg0OWI2NWIzNjE4MDkyYmUwYThiIHB5M2sKKzg2Mzc1IGM0ZGNiZTUxYzJlMzM4Y2U1YmI3ZTY5OGEwYjM0YzIxYjU1MjQ0ZDUgcHkzaworODYzNzYgOWZhNTI0NzhiMzJiOWZhN2Y5Y2FhMjE4Yjk0ODNiZTA0NDM5YTRlZiBweTNrCis4NjM3NyA1NTdiYmY2YjNkNzBhYzgyMTlmYTZjMDA1NjliZmQ2NjNjMzcyZTMxIHB5M2sKKzg2Mzc4IDJkZDUxOWU1OTljYzIzZDdmNWFiYzlhYjE5NWFkOGUyOTQxYmI4YWUgcHkzaworODYzNzkgNDkxOTY0MjZlZDJmMTQzMjI1ODU1MDkwZmI2YTBjZTZlNjk4ZjU0YiBweTNrLWNkZWNpbWFsCis4NjM4MCAxNmE0NmI2ZTcwNTQ0YTE0OTk2MzBkMWJkNjY0ZTFjOGYxMmNhYzdhIHB5M2sKKzg2MzgxIGYwMDUwMmY1N2IyOGFlODBkODRmMmU5Y2I2NGVhMzI0M2I3YTY4MTYgcmVsZWFzZTMxLW1haW50Cis4NjM4MiA2YTI4MWYwNDBiYjEzNGYyMmM1YTE4M2VkZjlmZWJjODIyMDdlYmMxIHJlbGVhc2UyNy1tYWludAorODYzODMgNTc0MjhlMzEyM2FjYzM0MWM2NjUzZmVlNzI3NzQxZTgyZWM2NjAyMCBweTNrCis4NjM4NCAxYjE2YmQyYmY2YzdkMGNhYmNjMzU4MWUzYzc0ODI4NzkwZGFhYjAwIHJlbGVhc2UzMS1tYWludAorODYzODUgYWU5MjZlY2NkZDBlZDBjYTkwMjQxZDliZjQxNTJjNmI3ZWMxNGMwNCByZWxlYXNlMjctbWFpbnQKKzg2Mzg2IDE4MTdhMTZkMWVhYjZhOTYwZGU3N2JiZTY3YjYyNmY0ODNkYWU1MjUgcmVsZWFzZTMxLW1haW50Cis4NjM4OCBlYjRhMzQ3Yjk4YzE2Y2RjM2IxZjE5YTM0MzljZjhmM2U5NjQ4ZmVkIHB5M2sKKzg2Mzg5IDE4MTdiNzA4OGQ4ZGZlZDFkMDBkNmYzZDIzYTMzZDcwMTZhZGI3ZTMgcmVsZWFzZTI3LW1haW50Cis4NjM5MCBmOTNmYWJkYjg3YWI0MTgzMTFlZTUwZjAzYmExYzc4NTNlZGUzZGJlIHB5M2sKKzg2MzkxIGUwMjc1OGU1NTJlOTI1Nzg4ZWQ3ZjRjMGZlNWU3NjAyMWExZjc5ZmEgcHkzaworODYzOTIgOTYxYzllODgyMWRkNWRiNTVjNWZkNzIyNjAxNTQ3MTUzMzI4ODFhYiByZWxlYXNlMzEtbWFpbnQKKzg2MzkzIGE1YjM5ZDg5ZGNjYjcwNjBlODk0NTY3MzkyMGI4YjA2NDQ1OGEzMjggcmVsZWFzZTI3LW1haW50Cis4NjM5NSAwNmY3NmVmMjdmODZjMDRiMjVhYjE3ODRlZmM5ZGM5Y2YwODk3NDc4IHB5M2sKKzg2Mzk2IGRlYTRmNzY0MTk0MGZlM2Q5YTMzODIwZjI0NjIxMWM5MzkwZGE2MzYgcmVsZWFzZTMxLW1haW50Cis4NjM5NyA3NGE1ODk0Yjk1MTM0ZjA4OWVmNTM1MjU5YWMyY2ZiMzZjM2JiNWRmIHJlbGVhc2UyNy1tYWludAorODYzOTggOGU2YTFjZDFmNDJiZjNmNzIwMGUxYTRhMjE1ODhhNzM0MjA3M2MxNyByZWxlYXNlMzEtbWFpbnQKKzg2Mzk5IDdjZWMwZGQzOTFkNjlmNzM2ZTNiNmZlNTNlZWU2NTg3NmYwYjBjYjkgcHkzaworODY0MDEgMzFiMWFhMzAzMDZjNTYzZDA2NDkyZGEwOTVlY2QwNjhjNTYyY2VlOCByZWxlYXNlMzEtbWFpbnQKKzg2NDAyIGU1NDZmNzYwNWNmMTIzMGFiMGQzMzM0NjVlYjU0NDY4NjhhZjM2YzUgcHkzaworODY0MDMgYzVlMDQ5ZmQ4MTcwYzhhNGFjYjMxMTE0ZGFmMzVhNmExYTA4OTgyMSBweTNrCis4NjQwNCBhYWZjZDVlMGZhZjFiZjllYzhjODAwYTEzODRiYjRlZWE4ODEyZGY0IHB5M2sKKzg2NDA1IDY3ZWIzZjUzZGVlYjkyOWM4MzdlNTVkOGQ0YTNhYzIyNjZiY2VkMGQgcmVsZWFzZTMxLW1haW50Cis4NjQwNiA1YjllYzVhY2RhYzQyNzRhZDQ0ZDZhZjgwYWFkNWE4ZTVkYTJmYTM2IHBlcC0zMTUxCis4NjQwNyA3NzkzNzdmMzA3N2Q5ZTA2MWU2NGY3YjljNGQ0ZWI2Zjg2MjBhMGQ0IHBlcC0zMTUxCis4NjQwOCA3MjNlZDFiNzc4NzFiYTIxZTU0NjU0ZGY2ZGVhNjQyMTZmNzFhYzU1IHBlcC0zMTUxCis4NjQwOSBiNTIyYWJmZDJmZGU3MDA0NGMyMDM3ODc3ODM4MGM3ZWU4ODgxNWQzIHB5M2sKKzg2NDEwIDk4YmQzY2ExZWQ4NjM2Zjk2YjUxM2JhNDc0NDFiZGI3ZGI0NTBlYTUgcHkzaworODY0MTEgYzY5YWEwNzI4MmE4OGFlODJjYTY3OGRmYjUyNzhiNDIwNmI0N2Q5ZSByZWxlYXNlMzEtbWFpbnQKKzg2NDEyIDEyZGE1ZmI4MTEzNDAxOGZmODhlNzMwZDI2MzQwYmY4ZTkyMTRmM2IgcmVsZWFzZTI3LW1haW50Cis4NjQxMyA1NTcyYjg2OTY3ZmY3NmU2YjI4ZDUxZjEyMjYxOTQ5Y2ZkYTYwOGVhIHB5M2sKKzg2NDE0IDg1N2Q5ZmU2MDE2OTgyNjNjM2RjYjQ2MTNkNDliNjhjMmM2MWNiMTMgcHkzaworODY0MTUgMTY2YzdiZTcyZTc4YTY2MjU2ZGYxMDUzYjdhNWE2MjA1YjMxM2M2YyByZWxlYXNlMzEtbWFpbnQKKzg2NDE2IGRmMmViZGRjMjhjNjMyYjIyZjJiZjg0ZWNmMjcwOTliYTZjNWNmMmUgcmVsZWFzZTI3LW1haW50Cis4NjQxNyBjM2Q4NWQyYWUxYzg3YTNmOTY5ZWM5YTg3MzllY2NhN2E4NWM3YmM2IHB5M2sKKzg2NDE4IDFhNjUyOTBlNmQwMzYwNWMwNjExNzk5ZmQwMzFkYmZjMWU2ZDRhMGQgcmVsZWFzZTI3LW1haW50Cis4NjQxOSA1MDMwN2E3OTU0MjQ1MjAzODY4ZTYzMDA0MjVhNjNiOTkwNzRiY2Y0IHB5M2sKKzg2NDIwIDBhMWE0YzQ0NDM4MTY4MWRlZGJiNDE5MmQxZTYxMzVhNGRhNGE4OGIgcmVsZWFzZTMxLW1haW50Cis4NjQyMSBiZTUwYzkxZTZkYTUzZjQxY2M1OTRmZDY0MDgxMDFjYzg1YWE4NzZhIHJlbGVhc2UyNy1tYWludAorODY0MjIgNjJhYjM5ZWZlMWM0YjQ5NTZhOTc4YTBjZDhiMDgwOTJlYjYyOWRmMCBweTNrCis4NjQyMyBlYzQyMTEyYzIxMDA5YmEzZTcwMmM5NzhkODc2MzY0YjM3ZmZlMTE2IHJlbGVhc2UzMS1tYWludAorODY0MjQgOGViMWM5ZTgxODdiZDg1MDQxNDVkZjFiMGE0OTQ0OGFhOTViOGY2ZiBweTNrCis4NjQyNSBjOWQzZTEyYmNkNDJlNmU5YThmNWU1Njc4Mzk1NzBlNTMxNjJjNWQ1IHB5M2sKKzg2NDI3IDA1MDllY2RmZjhhZTdjOTU4NTIyM2UxODQ5YzUzNGU4NzFhZjM0YWQgcHkzaworODY0MjggNTZmYjFlNzc2NzQ4NjE4NDJiNzM0MjhmYzFmYzEwNzc3ZWM5MTI2NyBweTNrCis4NjQyOSAwMzI5NjMxNmE4OTIzMWM2OGVmNmJhYWJkOGY3YjQ4YjcwYmFjYzViIHB5M2sKKzg2NDMwIDBhMjdjOWRiOWFjNzkzMzFhMmViNmQ4OGRlNzdiMzQ2YmE0YmZjOWQgcHkzaworODY0MzEgOGQ2NTE2OTQ5YTcxZDA3NTg1NWNlOTJhNmI5NmU1OTU0MmY0MjQ2OSBweTNrCis4NjQzMiAxMjYxMDJiYTc0OGY4ZjNmMmQ2ZGJhMzdlNTg2YTlmNmY0ZjMzOTMxIHJlbGVhc2UyNy1tYWludAorODY0MzMgNmFhNzc4M2VhMGU5ZTZhM2RjNWU1YTllNTk3ZWJlODUzOTQ4MzMzZSByZWxlYXNlMzEtbWFpbnQKKzg2NDM0IGQyZWY4OGU3MWI0YWM5Zjc0NGVjOTE3ZjkyNjQ1YzBkMWMwOGM4NjYgcmVsZWFzZTI3LW1haW50Cis4NjQzNSBlMmVmNDdiYzI4MWQ0OTgzMmY0NmFjNDk0NGJhYzc5M2NhMzg2Nzk4IHB5M2sKKzg2NDM2IGNlNDEyN2VjNWVlYjdkYWZkZWIwYzAyNjUxNTRlZjAxZmNmZTdiYmIgcmVsZWFzZTI3LW1haW50Cis4NjQzNyBmNmU4MTNiNDhhZjNkYWNhZTdiNjJkMjJiOTA4ZWRjNGQwODVhMjg3IHJlbGVhc2UyNy1tYWludAorODY0MzggM2Q1NDhiNzFkMDgyODFjZTU4MjczNGNmMjdmZjAxOTMxMWZhY2MwZCBweTNrCis4NjQzOSBjMjFhZWYzZmY1ZTJmMzdjNmVlMWUwNDdiYWY3MzE5YTM1ODRhNmI1IHJlbGVhc2UzMS1tYWludAorODY0NDAgY2EwZWRhNDAwMjE0ODE0MjZiMGFhMDEzZGE4MTdhMTc5YmU3N2UwMyByZWxlYXNlMjctbWFpbnQKKzg2NDQxIDVhY2UxZGEzMjc1ZTllODBmZTNmMTYwM2I5ZmM5NjdlMTI4YTQxOTUgcHkzaworODY0NDIgMDMyNDYyNDc5ZTBiZDMyYWZlNjc4NzQxYzQzOGFhNWQ3Y2RhYjI2MiBweTNrCis4NjQ0MyA1ZmQ5MTdkNDFjOWMyZDM3ZGRkM2Y4OWQ4ZGQ5ZjUxZGRiOTE2YzA5IHB5M2sKKzg2NDQ0IGNhYmM3NjExNTQ3ODQ5OWY0NDBkZTdkZDgyMmYwZWNhNGFlN2ZhNjUgcHkzaworODY0NDUgYTgzZDk4ODhhMGQ5YWJhMDdkMDQ2YWZiZmJhOWFhMTYxMDUwMDM4NiBweTNrCis4NjQ0NiBkMTJiOTkzNjI5YTE2NzgxOWEzYTliODRjM2MzMDEyMThmM2Q5NWY2IHB5M2sKKzg2NDQ3IDZiZGQzMmNiNTVhOWEyZjBmYzg0YTgyM2U3NTM3ZjAwZDgyOGNlMGQgcmVsZWFzZTMxLW1haW50Cis4NjQ0OCA0YzRmZTcxMzljNjhlMjFiYmZhNDgyMTM0ZjU0MzU4YTM2ZGQ2NGIwIHB5M2sKKzg2NDQ5IGIxMWE4NGRlNDQ5MjVkY2I5NjI3ZTFjYzEyNTliMDc2MTc2YTY2YzggcHkzaworODY0NTAgYzZiMmY0MTc4MzBlYWI0NTY1ZDhiYmU3ODUzMTM2NTBhOGI2YzY2NCBweTNrCis4NjQ1MSBkOTJhNWI4NTBmNWU1NjgwOGJlZGMwMTcyMzkwNmVkNjRjNWU2ZTJlIHB5M2sKKzg2NDUyIGQ5ZTZiOGE3NzA3MDUyYmQ0MDllZDQ2Zjg3NDY3NTZlZjUzNTlkMTIgcHkzaworODY0NTMgZDE4ZTlkNzFmMzY5ZDgyMTFmNmFjODcyNTJjNmQzMjExZjliZDA5ZiByZWxlYXNlMzEtbWFpbnQKKzg2NDU0IGQ1ZWU5NmU3YWNlYmIzZmI1MjBhYjM4MzgxOWE0ZmQxMGM2YTQ1N2IgcmVsZWFzZTMxLW1haW50Cis4NjQ1NSA2M2Q5ZjAwZmVhMDczMGMxYzQzN2E1MGY2NGE0MmI3NzkyYmRjYmZiIHJlbGVhc2UyNy1tYWludAorODY0NTYgNGQ0NWE0YWYzMmE5NmY3MThjMTNmNzkyNzQyZTI2MzAxMzNiYzNhYSByZWxlYXNlMjctbWFpbnQKKzg2NDU5IDUwMjJlNWI3M2FkMTk3YzE2Njc2NWNlN2MwYTIwNDY1YTU0MWMzNzIgcmVsZWFzZTI3LW1haW50Cis4NjQ2MCBjZTM4OGZiMWJlMDFmOTIxOWI1Zjg0MDY2Yzk5NTMxZTFjMzRkMjIzIHJlbGVhc2UzMS1tYWludAorODY0NjEgMGYzOTgxODhjN2Y2MDYxMDAyNDliZDBmOTNjNGJlNTQ1NmE4OTMyNyByZWxlYXNlMzEtbWFpbnQKKzg2NDYyIGI3ZDAyYWU0NWQxNTM1MTc0OGM4NGY1ODhjYWZkOWYyZTgwYjBkZWYgcmVsZWFzZTI3LW1haW50Cis4NjQ2MyBmY2FiZTQ3ZmUxZGU1MDRmMDNlYmNmNmVhY2Q0MzI5N2FiOTc2YzcwIHB5M2sKKzg2NDY1IDI0ZmM4Yzg1MmQxM2E0NzY1NjUxYmU3Njg4NjIyOGI3OWNlNTgyYzUgcmVsZWFzZTMxLW1haW50Cis4NjQ2NiBiNDVlYWJjN2MwMDQ2YzUxN2M0MTRiMWQ5YjBhZDc4ODQ3MDZkN2EwIHJlbGVhc2UyNy1tYWludAorODY0NjcgYmEwMTQ1NDNlZDJjMjM1YzY2NGZlYTRhMmE3NTdjYzk1MTBlOTQ2MSBweTNrCis4NjQ2OCA2ODMzMjcxMzczNjUxNDY5ODI3OWRiMjE0YmU2MzgwZTRhMDhjMWFhIHB5M2stY2RlY2ltYWwKKzg2NDY5IDYyODk1OWZiNDBjMzM5YTY5MjFmZWI2Mzc0NjUzMjY5NjUyODZjYTcgcHkzay1jZGVjaW1hbAorODY0NzAgZTQ1ZDBiYjc4MGRjYjNjZjIwYWFmZDIyZDExNDdjZWYzZjUwZmI3NSBweTNrLWNkZWNpbWFsCis4NjQ3MSBmNzIzYWExNTdhODJkOTc2NzI4OWU4NjI1NDY4ZjJjNDk4ZTZiM2M5IHB5M2stY2RlY2ltYWwKKzg2NDcyIGRhMDNjNjUwNTI0MGVhZWJlMjE5MGY4MDU0YjlhYTk1ZDYzYmU2NjggcHkzay1jZGVjaW1hbAorODY0NzMgNjljOTEzMWFhMzIyNGU3NjdkOGQ3NjIxNmQ5ZjI0N2IwYjVhZTkyNyBweTNrLWNkZWNpbWFsCis4NjQ3NCAzMzU4MjcxMGUwMTQxZmVjMDRhOWM2YjhjMzZiYmJmMzgzOGYyNDY2IHJlbGVhc2UzMS1tYWludAorODY0NzcgOThjOGU3OTNjMGIzZGNjZWZhNGU1YmUwYmYxODZiNGFiOGI0ZDA5ZSBweTNrLWNkZWNpbWFsCis4NjQ3OCAwZGY2YWM2MjI3MmJhOTVkMjJiM2U1YzgyNzc2ZTE3NjA0OGQyZjNjIHB5M2sKKzg2NDc5IDRiOGNlZDVmZWZiNzQ2YjM4MzNiNjg5ZGRiNzlmNmM1N2EzOTdhYjIgcHkzaworODY0ODAgMzQ2MjdkY2EyMTk2ZWQ4YzMyMzYzYTllYWEwZTkwOGNhNzBmYmQwZCBweTNrCis4NjQ4MSA1MmZlNjAyMTZlODkzMjMyMjE3YWRiOTczODFkMmMyYzI5ODEyMGQwIHJlbGVhc2UzMS1tYWludAorODY0ODQgYWU2NjEwY2E5MGExOWNmNjgzMTljMTBmNTUyNDljYzk4OTBjM2VmNyBweTNrCis4NjQ4NSA1NWFiYzA5NjVlOWQ3NjVkMzAzMzZhY2EyOWIyMGFkYjVhZGQwZjMyIHB5M2sKKzg2NDg2IGJiMTIzNzRjOGRjNmU3YWMxNTEwMGYwMDczNzAzNTc2MTUxYmRkNDkgcHkzaworODY0ODcgYzRmZTRiMTMwMGQ1Nzg5NTMxNTBkZGYxYjczYTRmYzI3NjljM2FhMCBweTNrCis4NjQ4OCBlZjFkYjdmNWM4YTlmMjEwNTViM2YzODk3Y2JkYmViNDlhZjQ3ZjBjIHB5M2sKKzg2NDg5IGZmNmIyYmY3NWQ4MTI2NzFhZGNiNzU5ZTA1OWJkMTM5MThjNjZhMmQgcmVsZWFzZTMxLW1haW50Cis4NjQ5MCA0Njc5ZmJkZmM4MTdmNjZiMTVhNjMwY2I0NmRkMWNmMWU5MDNkZTIyIHJlbGVhc2UyNy1tYWludAorODY0OTEgNTg2YTkyY2Y0Y2M3ZjQ3MzU4YWI5OThjOTQ5ZDA2MmVmNzUyYzk4ZSBweTNrCis4NjQ5MiBjOWZiMzBmZDFmMGE1Y2FmZDIyZTI2YWE0YTE5MWZkMzA3MmRlODcwIHB5M2sKKzg2NDkzIDBkMWI2NjIzMDI0N2M1NWNlMjhiYWYwNDM0ODAxMDBmOWE0NzA0ZjMgcHkzaworODY0OTUgNTJiZjc5ZmQ2ZDZjNmY0YjZhNjI5YjMyYTI0ODhjZWNmMmMyZTQ1ZiBweTNrLWNkZWNpbWFsCis4NjQ5NiBkNTRjOGYxNmM1MWMyYmY1ZmZmNDJmMjI1M2MyODM0ZWUyYTVhNGYwIHB5M2stY2RlY2ltYWwKKzg2NDk3IGJkNjhjZWY0ZjFlZTA5ODhkZTM5OWRkZGM4MzNiNjlkMzI4MmM3NjkgcHkzay1jZGVjaW1hbAorODY0OTggNzgyNmQ5MDdiNzY1YmQzZTI2NjgxNDM0ZDcyYTZlZGI0N2VlNTExZCBweTNrCis4NjQ5OSBkOGNjOTVkN2RlNjJhMWZiZTVlYmZlNjdhNTM1ZDMwYjA1NzdmMDgzIHB5M2sKKzg2NTAwIDc1YTgyZmUyNzRhN2M4NmZlN2E1NjYyYWUyMzQ4MDAyMTQ3YmE5MTYgcHkzaworODY1MDEgMzc5MDI5NzE0ZTI0NTk4OTcxMDZhMjM1NjZjYjgwODVjZDg3ZTAzYSBweTNrCis4NjUwMiA5NGJiY2VjZDk1ODI1N2RiMGExZDIzMDVmMzcwNWYwNjg0MmMxZWVkIHJlbGVhc2UzMS1tYWludAorODY1MDMgNTJlNTE5OWI2NTEzM2UwNTYzY2IwMWMyNzE0NWRhNDAyNDE0YWExMyByZWxlYXNlMjctbWFpbnQKKzg2NTA0IGI0MTQwNGEzZjdkNDE5YjFhZjI0YzRjNDg3NmM4YzY2NDRiMWYzNjUgcHkzaworODY1MDUgNjZlOGQzNWQ3MWZkZWFmYjc4MWE5Mjk1N2UxYTEwYmQzY2Y4MzljNyByZWxlYXNlMzEtbWFpbnQKKzg2NTA2IGNkYzM5ZjZiZWJmMTBiYmRmNzU1MmRlMTI2YTI0NmU5MjA0Njk2NjMgcHkzaworODY1MDcgYWYxM2ZiNmZiM2RmN2U0YTZkOWY1YmRiNjE5YmRmYWNiZDkyZGI0NCBweTNrCis4NjUwOCAxNWJkNTBlZTJjNGMzZTk4NjhhY2M5YzZjNjUzMDFiZWFmMTQ0YmZmIHB5M2sKKzg2NTA5IDgwNWMyOGRkNjdiM2UyMWIwNzcyODFlNGM5YjUyNjM5ZjQ4Zjc3ZDYgcHkzaworODY1MTAgNDgzYmJlYmM1N2JmZmI1ZjY5NDIxZmRmYTRhYzJhYjY3OWU3MjJiNCBweTNrCis4NjUxMSBmOWZiOTJlYTQ4NTAyOTI4MDc4NDdmMDFhODVlY2JiMzQ2NzQ5OTNkIHB5M2sKKzg2NTEyIGUxMDVlNmFjODUzNjUxNGQ2OTM2MzhjYTNhY2U0OWNhNjU0NDUyMGQgcmVsZWFzZTI3LW1haW50Cis4NjUxMyAyN2UzMmQ1MjAwNTU2MDg5NzUyNTM5NmRlNjZlZTIxNjIxZTBhY2JjIHB5M2sKKzg2NTE0IDViYzQ2M2IwNGM4MzMzZDMxZjc0YTZmMzUwODI1ZWM1N2U5NjFlNTYgcHkzaworODY1MTUgMDE5NDIxYTg5ZWY1OWRjMGIxNmZhNjkzZDQ4ZGMwZTRmYzUxYjE0OSByZWxlYXNlMzEtbWFpbnQKKzg2NTE2IDhiNmZhZWEzMDU3MzQwZDU2ZmVmOWU1NGRjODc5YmRiOTViNDVkYzMgcHkzaworODY1MTcgMjk3ODE2MGY0OTE0OTViYjEzNTJhMGEwMGQyMGRhYmFmNDExNjZlNCBweTNrCis4NjUxOCA4MmIxNjFmYTI4MTg0MTI0ZDk2N2VjZWJiY2IxMzk1YjU3MDEyZTJlIHB5M2stY2RlY2ltYWwKKzg2NTE5IGYwZGRjOTFiYWVjMDRhNDcyOWZiNGM3ZTM0NTg3MzU4YjE4YmY3MDcgcHkzay1jZGVjaW1hbAorODY1MjAgYmIyNzY5Mzg5YzUzMTQ3M2UwZTljOGMxNDdmZDlkYmM2MmE5MWZmOSBweTNrCis4NjUyMSAzNzhkNGY0ZTljYjUwZDhmZDIyNzk0ZGRiMmM0OTllYTQ0ZTA3MjUyIHB5M2sKKzg2NTIyIGZiN2RkZjFkMzU5NDAyOTI3MDNlNzAxZGU4NjdhNWMxZjUwMTg0NjQgcmVsZWFzZTMxLW1haW50Cis4NjUyMyA5MzJhM2ZmYTRlNTYxMWVlOTcwNmEyYjE2YjFmN2E0MWUyYTZlYTZjIHB5M2sKKzg2NTI0IGEwMTliYjRmZmI1MGU1NTc1NjlkOWEyYTZlZThiMWNlNWE0NDFjOWUgcmVsZWFzZTMxLW1haW50Cis4NjUyNSAxZGFhNDBiNDEyMTE3MjY4ZTRkMjA0MjVlMGJhN2ViZjkwNmUxNjlkIHB5M2sKKzg2NTI2IGFlMzE1YTdmNjJkMjc4MTFmM2QzNzkxMWEzYzE3MDEwOWRjYzU5MTcgcHkzaworODY1MjcgNjdhYjc0MDJlMGRlY2RlYjNhZjQzMzJlNmUxNjI3YTc2ZGY1NjEzNSByZWxlYXNlMzEtbWFpbnQKKzg2NTI4IDI3YzU0NTNhMTQ3ZjUxMWNjMjhlMzg5MDc0MmQ1YTQzMWIzYjk2MDYgcHkzaworODY1MjkgYjg0MjBlNzY3NjM4ZTU2MjZlNDk1Mzk2NjhlZmUwMjU5MGQ3ZDYzNSByZWxlYXNlMzEtbWFpbnQKKzg2NTMwIDBjY2E3M2IwYTViZjAwODc3N2VmOTQ1OTYxMjAzZmYwNGVkYWIxM2MgcHkzaworODY1MzMgYTFkYTgyNDNiNjNlNmFjMjdkMDI2NzdkMDRkOWU1ODE1YjUyYWVjYSBweTNrCis4NjUzNCA0MjAzMDE0MDA0MDNmMGUyMzlhN2E3NzI5YzY0N2VhOTdmNjk3NTg0IHJlbGVhc2UzMS1tYWludAorODY1MzUgZTk4M2ViMjIyOWRmZGEwZTdjY2MxNDA3Y2I1ZGY1ZTA2NjM4ZWFmZCBweTNrCis4NjUzNiA0YjNhNTUwMjAwMmQyMTg5MDBmZTk3MTQxZTY2OTFmY2NmOWQ1ZTQyIHJlbGVhc2UyNy1tYWludAorODY1MzcgZDljODkwNzIwNDRlNDhkNzViZDQ4OTFhOTY0MTUxNWI4NWFiN2ZlMCBweTNrCis4NjUzOCBlMzczNDRhOGYwYzkxYzM5NDEyNzI3YmFmZDU2ODk3NDdiNDhjMzEwIHB5M2sKKzg2NTM5IDM1MDg5OGUwOTVhYTZmYmNmMDVlZjliYjhkYzY0MzQ2MTg4MGNkNDUgcmVsZWFzZTMxLW1haW50Cis4NjU0MCBiOWJlNDVmNDMzYjkyZGI4NTMwMGUwMzkzMjBkMDQ5MzkyZTJjMzA4IHB5M2sKKzg2NTQxIDUxZjcyYzVmZTI4ZTRiZjFhYzg2YzgwOWNkNDE5NjhiMjc0Zjc4ZmIgcmVsZWFzZTMxLW1haW50Cis4NjU0MiBkNGY1ZTI3ZWQxODZiNmRiMzZhZGVjN2JiYmRkMGM4OGYyMTFiMzFhIHB5M2sKKzg2NTQzIDQ1NzJkMjhkYmFjNzMzYTNkNzExZmE0N2RiYWMzOWY4MWFhNDk3NmIgcmVsZWFzZTMxLW1haW50Cis4NjU0NCBjZGRjYmUzYmY1N2EyZTgzNzk3Y2NkNTQyMTY3ODQxNjYyMmUxOGE2IHB5M2sKKzg2NTQ1IGM2NGVkNmRhNDhiOWFiMzhiNTkyNjM4M2QwMGYwNWFjYjIwNDdhMzkgcHkzaworODY1NDYgZDIyYWE1YWU3NzYyNWY3NjllNzlkOTY2MDU5NjRhMDM2MjQ0NTc0YyByZWxlYXNlMzEtbWFpbnQKKzg2NTQ3IDVlZDM3YzJjMDU3NDFkZWU5YWIxMGY2OThiYTU2MjQ0MmFjZGJiZWUgcHkzaworODY1NDggZTlhYzNmMzExMTk5NTc4MWZiOTU2MWFiNWIxYmNmMGNkODk2YTFkMCBweTNrCis4NjU0OSA4NGEzMDVlMmU1NDg4OTMxNzRjNmE1MzBiMDM5MTAzOGVjNGY0MzgwIHB5M2sKKzg2NTUwIDRiNGM3MjEzMmFiNmViMmIzNWNkYmE5YWVlOWU3YzNhYWQwMTI2NmQgcHkzaworODY1NTEgZTUzMGZjNzY4MmJmMjk2NGJhNjk1MDQzMWI4NzQ0ZmZiZGFlYjEyNCBweTNrCis4NjU1MiA0MDk3MGU4OWU2MGFiYTM5ZjQ3NTI1NDM1MzNlNjA3MTkzYzgwZGMwIHB5M2sKKzg2NTUzIDgyNWU0ODBjOTMwZGExMDMxZWM3OTE3ZDA5YzQ0ZjAxMjM5YWIyYjYgcHkzaworODY1NTQgZjA3OTY0MzkxNWI1M2U5Y2YwMThmNjM4M2FmOTM4ODdiOGY3YzkyZiByZWxlYXNlMjctbWFpbnQKKzg2NTU1IDI0NWY2Y2EzYjIzMzBmZWI0YTI3ODFiZGM0Mjc2MGIyYTkxOGRjNTQgcHkzaworODY1NTYgNTNkZDcwMGEzNWI2ZjJmZTY3NzAwNzk4NDExMWVkZWMyMWVhZDZlNyByZWxlYXNlMjctbWFpbnQKKzg2NTU3IGRkYjNiYzhlNjk5MGRmNGYxYTYxNTY0ZDFmYWJiZjMzMTcyMzRmZTMgcmVsZWFzZTMxLW1haW50Cis4NjU1OCAxOWI3MTFhNzdlZmYxYjQzN2Q2NjQ2NGIwMGZlYzkwOTQ4MWFiYzJiIHJlbGVhc2UyNy1tYWludAorODY1NTkgMmRkNTM5MjVmMDA3MWRkNjVlOGUxMzMwN2M0ODIwMWQ3MmQyNTFlYyByZWxlYXNlMjctbWFpbnQKKzg2NTYwIDVkNTVjNWJiOGFiMWM0MDU0ZDc2NDA2MjFhZjFlZTQyZWU0MjVmOGUgcmVsZWFzZTMxLW1haW50Cis4NjU2MSBiNDZiY2U4N2QyYWYwMWU0NTg5ODI0ZDlmZjkyZDMzOTE3ODJjYTdkIHB5M2sKKzg2NTYyIGRlYmM3NjY0MTkxMjJhZjYwOGE3NmE1NzA4ODUwYTk5NDFiZmY2OGYgcHkzaworODY1NjQgNDBiMGM2OWJiMmJkNzUwNmY1OGRlOGM5ZTkwMGMzMDkxNzJjYTAyMSBweTNrCis4NjU2NSBjMjBhZGU2M2YzZGJjYTFiOGEyNzgyNGZiZWM2MDYxMTdjN2NiNjU4IHB5M2sKKzg2NTY2IDRlZDYxMDFmOGFiMjU1NTQzY2I3NWNmY2MwMzVkOWNmNzY2OTRiNDkgcHkzaworODY1NjcgN2YzMmM1ZjU2ZDFhMTE4ZDdlMDM3MDI5M2Y1ZGEyZjVhYzQwODk3MiBweTNrCis4NjU2OCBhMTkzNmZhNjM1ODBkNjJjOTMxZjUyMzA0OTg1Mjg5ODk5ZjE4NWU3IHJlbGVhc2UzMS1tYWludAorODY1NjkgNTllNTZiODJlNmNiMmNmYjU5NTMyOTdlNWIxMjVhMWRkMzg3OTIzZSByZWxlYXNlMjctbWFpbnQKKzg2NTcwIDRlMmRhNTI3ZjViMWRiMWFmZTE4NDgxY2E2ZjVhYTM2Y2VmNGE1MGYgcHkzaworODY1NzEgYWVmOGYxODUwZDI0ZDcwZGJlMjIxOTdiZTA3NTNkOTMxOTE2ODZmZiBweTNrCis4NjU3MiA3OGEzODBkNTdmZWExOTRhYzMyNGRmOTg1YmFhOWE3MDFmYTU4YTQzIHB5M2sKKzg2NTczIDUxZTFjYmRkOGZkMjg1NmRmZWEzYjY0ODBlNGNjN2I1OGEzYzNlYmQgcHkzaworODY1NzQgMmFlNGVlZDRhM2IzNzg3ZTg0OWFmYzhmY2Q2YzZmMDQ1Nzg1N2E3MSBweTNrCis4NjU3NSA4MzhmNjk0OGRlYjhiNmY4MDU2OGZkODllNzEwMGYyZTEzNmJhYjIwIHB5M2sKKzg2NTc2IDNkMmY1NWNjZDY2MGVjNjE1MzVhYjY0Y2RkM2ZhNmIxNzhkOTdjYmEgcHkzaworODY1NzcgODBiNDhhM2EyNDczNGM1Mzg4ZjE4ODFiYTc1OGUxMjUxY2I5NzJlMiBweTNrCis4NjU3OCBkNTcxODFhY2FmOGM0M2Q2NDNhMzhlZmRiMTQ3OWE3MjdjYzMyNzM4IHB5M2sKKzg2NTc5IDFlZjQ2NTFmZWVmODliODAyYWNkNzNlNTNjMzkwYjEyYmQ1YTEzODYgcHkzaworODY1ODAgNDFkNThiZWMzZTA4YjQ1YTM4MDI0NDUzM2VkOTllODU2YTc3OWM4NCBweTNrCis4NjU4MSA0ZTUxMmE5NDliNjBjMDQ4MDE1NzQ3YzU4NDI5NmY5ODRlYWFlOTYwIHJlbGVhc2UzMS1tYWludAorODY1ODIgYTdjMjIxMDdhZWNkMDQ1NzJiZjA0YzM4NGNjMGVmMTYwODYwNDk4MSByZWxlYXNlMjctbWFpbnQKKzg2NTgzIDY2ZDQwYjZhMmJiMWFkODBkYmY4ZDQ1MmM2NjUyZTU5Yzk4NGVlNTYgcHkzaworODY1ODQgM2EwZTcwMDBkYzhmOWQ3MDhhYTVlYWI1MTYxZDY0N2I3MTFiZmMzZSBweTNrCis4NjU4NSBlYTgzNTVjZGRkOWY4MTk3YmY4NTc4NzIzMDRjNWI3MjIwNTkzMWI0IHB5M2sKKzg2NTg2IGJjOWRjN2U3ZjM3M2RhYzZkNTUxNmNiODI0ZGI0OWI2MzA4OGU1MTkgcmVsZWFzZTI3LW1haW50Cis4NjU4NyAzYzliMWMwNWJhOWVjNTdiZDRjMWE5YzM5N2JjODkyYzlmMDRiNjgxIHB5M2sKKzg2NTg4IDdjZGJkYmYzNDgwYjhmMDJiOWQwOTdmOGEwZGU1YTI1NmQwODJiZDggcmVsZWFzZTMxLW1haW50Cis4NjU4OSBjNDA0YzJhMzQ2YTU4NDRiNWE5NThkYjAyZTM2NzAwYzQwNzBmNzNmIHJlbGVhc2UyNy1tYWludAorODY1OTAgNjMxZDg0NGJiYzQ1OTMyZDU4OGY1NGI2N2I5NGJmZGU2ZDUzNzM4YiByZWxlYXNlMjctbWFpbnQKKzg2NTkxIDk2NWY4NTllNjBhZmY5MTc2OGVmNmQ2MzE3Y2Y5Y2I3M2JjNzA4MzYgcmVsZWFzZTI3LW1haW50Cis4NjU5MiA1MDc1MTgyMmY2MjIzMDY2NWFhMWZjNDliMjdjMzVmYWIwNjgyMjBhIHB5M2sKKzg2NTkzIGMwNmVkMjVlNjliODMzMjdkNWI1YzlkYWI1OGM0Y2MxMmM3NjNjNGEgcHkzaworODY1OTQgNGYyOWFhOGY5ZjU0YjFhMjVkNjliNDBmZWU5MWYyOGI5YzUzMDRmNCBweTNrCis4NjU5NSA0M2U1MGJiOTIzYTk2ZWVhYTU4ZTE5Yzk5MGY5NDY1NDFlOWZmNTI2IHB5M2sKKzg2NTk2IDlmZTc2YzI2ZWE5ZmU3YmYzYmViMzRmZGQxMjk5Y2IxODBlYzZlYTggcHkzaworODY1OTcgZGVkZjcxOWIyNmEzNzRkMjkyNGEyYjAwYTZkMzdiMjRkYTllYzYyOSBwZXAtMDM4NAorODY1OTggMTI5M2Y4MTljZTM2NjIyZTRhYzM3NjU4MzM0ZDViMjA1YzM0OTg5NCBweTNrCis4NjU5OSA1M2JlMWE2N2U5NjRhZWNjMzkzOTRhYjRhMGZmMzI4ODE1Y2ViZTg4IHBlcC0wMzg0Cis4NjYwMCAxM2EyYTVkZTFiN2Y2ZWJjNTUzMDZjNTZjOTE1OTQwOTE5ODliZWNiIHBlcC0wMzg0Cis4NjYwMSA4NmUzZjYzMjRlNjUwMjM1MGUxZTFiY2M2NDQzOTRhNGZkMGEwZmYyIHB5M2sKKzg2NjAyIDQ0YjMxMjE5YWVjZDMzMmViZDJjZWIyYzliZTIyNjQ4MGRlN2M5NTMgcmVsZWFzZTI3LW1haW50Cis4NjYwMyA2NzFlNmJkMTgxMTQzZDI4NDZkYWMxMjgwNWEwMDFiZGMzZGNjYWJjIHB5M2sKKzg2NjA0IGI2ZDdjNWI2ZjFmMjAxM2IwMTQxZjVjNWIyZWRiZjE3YzFhM2RiYzcgcmVsZWFzZTMxLW1haW50Cis4NjYwNSBmNWRiNTM3ODM5MjJkMjc2Nzc3ODM5ODhmMmI5YWM3YjRlZjcwMDM5IHB5M2sKKzg2NjA2IGVlZDQyZDI4MzU2MjJkZjhhYTQ5NDUwYjU2N2Y0OWI2ZTA5YmRhM2MgcmVsZWFzZTMxLW1haW50Cis4NjYwNyA2ZWFiZjhjMWE3NWM3ZTUyMzJjZGFkZmIyYjVmMTg4MjQxOGYwNThiIHB5M2sKKzg2NjA4IDlmZWM2YWJjYTdkNzY3NjIyNjJlZmQ2NGE2ODg0YmVhYzBmNDVlNWIgcHkzaworODY2MDkgNGFlMmQwMTFhODBiYTVjZWI0YTQ1M2RhZGQ2MmRlYzY5Y2MxODJiNiByZWxlYXNlMjctbWFpbnQKKzg2NjEwIDU5MzA3YWE3ZDJmZTY3YTA4MWFlNGVmNzEzMzcxN2M0ZDgzYTJhMmQgcHkzaworODY2MTEgNDMzNTY5M2RmMjU5NzlkOWJmODc1MjBiYTA3N2UxYjliNTYyYmNkNCBweTNrCis4NjYxMiAxY2RjOWMxYzQzMGU4NWM1YjY1M2FkMTI2M2Q0MWY4MTdmNDEwZjNmIHJlbGVhc2UzMS1tYWludAorODY2MTMgN2FlYzIzODY4Mjg3N2IzOWIyYzQ2Mjg0MzIzZDc0OGRhYTc3YzM2OCByZWxlYXNlMjctbWFpbnQKKzg2NjE0IDEwYTFjMzk5ODY0ZTQ2M2JkMDc0MTdiMjNlMDNhZTg1ZmVhNmRjNjAgcHkzaworODY2MTUgY2ZkNTM4MzExYjZmYTYwZmJjOTM1ODM2YTRlYTQwN2Q5ZTUxOTg2YyByZWxlYXNlMzEtbWFpbnQKKzg2NjE2IDQ4ZmRjMmQ4Zjg5NmVjNzRkNTA3OTI2Mjk4NzZmOTc4OWZmNjYwNDQgcmVsZWFzZTI3LW1haW50Cis4NjYxNyA3YWYxOWU5OWQyZjg1ZWI5N2NlMGRkM2M3NDcyNzAyNDU5MDU1NmM5IHB5M2sKKzg2NjE4IDIzOGNhYWY2ODUyYjczM2VmMDUwZDE2NjlhZjk4NzdhNzJkMTMxZGMgcHkzaworODY2MTkgYWRkN2U5NzIxZjgwOTQ3MTM2MWViNGFiNGEzYzU3OTgwMThhNTFkZSBweTNrCis4NjYyMCBlMDEyMzc4MzFhZDJmYWQ2OWM1ZmRiZDEyNGI5MDcxZjIwZDhkNTAxIHB5M2sKKzg2NjIxIDM5OGIyMTgyMWQxYjRhMDBhNDQ3ZjJjMzI2YjJjZWEyYjA0NDVjMjUgcHkzaworODY2MjIgMjU3NTEyYjk3ZjgyM2QzZTcwMGFmYWJiODc5YmYwMGY5MGRkNTc2MiBweTNrCis4NjYyMyAxYjQ0OGZkN2UxYTI0OGM0OTMyMTU3YWYxNDJhOGYyN2YxYTZkNTkwIHB5M2sKKzg2NjI0IGFjZDk2MjgyNDgxOTE0ODllMDYzMWI4YWIzOWRhNTc3NTZhYmZjNWIgcHkzaworODY2MjUgNDU5YTY5MDI1ZDljMTZiZGI5YTg0MjYwMzIyMjg5YjYyODk4NzU0MSBweTNrCis4NjYyNiA2MjE4MmFiYzExNmFiYWM1NWU4ZmZkNzZiM2M0ZDE2YTJjYTBiNzIzIHB5M2sKKzg2NjI3IDA3Y2FkYzJjNjQzODI5OWZlM2M0ZTJkYWExYmU2Yjg2OTVkOWNmM2IgcmVsZWFzZTMxLW1haW50Cis4NjYyOCA4MzdhZDU4NTRmYzkzYjQwYzUxNDI5MmQwZmJiZjY5MjNjMDNlNTE4IHJlbGVhc2UyNy1tYWludAorODY2MjkgMmJlYjI1MzY5Mjg5NzUyNjc0MzQyYzBlYTg3NWQ3OTljMGZjZTUyMSByZWxlYXNlMzEtbWFpbnQKKzg2NjMwIDVjMDZkM2QxYjljOTBkNTAzOGY3ZWIyZWQzYThjYmJjOGM5MTk2ZjAgcHkzaworODY2MzEgNTQ0YjQ1M2U2MGE1OGVlYzBlNmE0MjgzNGQ3MDZjYTAzYmUxYzg2MiBweTNrCis4NjYzMiAyMDY4MjU1YjRkYTAwYTE4ZmM2Y2JiNmFmYzhjYmIxZTkwNWU1ODQ2IHB5M2sKKzg2NjMzIGZkZmM2ZGNhODA0ODNiM2QxM2ZjZTVjY2I2ZGMxOTI0MGU0NzNkNTIgcHkzaworODY2MzQgZDI5YTY3YzI2NjAwYzc2ODM0YjkwYzYxNzhmNmY1YjJjODI1M2IwOSBweTNrCis4NjYzNSA5YTBjMjQwMWM2YTZlMWYwMWJjZTc5NTIxMzBmZDU1MzE5NjYxMzhlIHB5M2sKKzg2NjM2IGY1NDc2OGE1ZTJmNTVkYzZlMWU3NzkyMDIwNTQ3NGJhMDA0MzA3NDggcHkzaworODY2MzcgNjE0Yzg0NjcwYzYzZDM1YTBmMjdhODg4ZDg2OTg1MzkwNDkzZmU3ZCByZWxlYXNlMjctbWFpbnQKKzg2NjM4IGMxM2Y4OTgwY2E3ZmRmYjM4YzQ1YjQwNmY4YTkzMzk1YTg3OTRkYjMgcHkzaworODY2MzkgZjhjZWI2YWZkN2E5MWFhYzlhNzk3OTkxNTliOWI2ZGNmNDM5NTMyMiBweTNrCis4NjY0MCA5NzE3MTUzZDU1OGQwNDllNGMzNTIxNTVlOTllODcxZGM3MThjNmZiIHB5M2sKKzg2NjQxIDYxZDFlYzMwN2JiMGRiNDkxZWI2Y2JiMWIyMGUyYWI3ZTgxNjljNzYgcHkzaworODY2NDIgMzIyYWEzZTgyNzY4YmUzYmM3YzI4NmE4N2I1ZTE4YmY1YjczNzQyMCBweTNrCis4NjY0MyAxNzlkYzRjMzQ3MGYzY2Y3NmRmYjljOThjMjc5MTEwN2JjYTU0NzQzIHJlbGVhc2UzMS1tYWludAorODY2NDQgOTQzYTg2NDk5MDBkZmY5ODU1MWVjMjI1NTU0ZmY2ZWE4OWEzYTI4NSByZWxlYXNlMjctbWFpbnQKKzg2NjQ1IGVlZDMyODhkZWQ4OTVmYjJkODllNGFjNGU5OTViNTIwZGViN2RlODkgcHkzaworODY2NDYgYTc4NDQ1N2UwMDBlNWMzYzk4NTc5NjUyMzQ0ODJiNmM4YWVmZTI3OCBweTNrCis4NjY0NyAxZWY4ZTlhNzVmZWYzYzcyMjMwNWY2NDhiN2I0ODRlZTY0NDgxMGIxIHB5M2sKKzg2NjQ4IDIyYmNkYWMxODFiY2E5MTFiZTgwMWFjNmE0NWQxNGY0NDRkZTZkNDAgcHkzaworODY2NDkgMWVjMDU4MGQ5ZDlkN2I2Nzg5ZjI5ZGI4ODEyOGNkNWRmNzFlMzdlMCBweTNrCis4NjY1MCA1YmE4YmZjZTdlYzFkNmRjMDYxMzViNDk3MWZmYjAwZDIyYzVkMGMyIHB5M2sKKzg2NjUxIDhiYTE2YWFiZDU2NDZiNzI4NjU4OGUxOWFkYWEwZGU0ZDA2YmRhMTUgcHkzaworODY2NTIgNDg1ZGNmZmM4OGI0NWUxNjg1ZWMxY2ZjNjg3Y2U2NGNkMDM1YjM3NSByZWxlYXNlMzEtbWFpbnQKKzg2NjUzIGY0N2ZjZDViNTAxZGVjMWE4MmRiM2Y4ZTQ0NDU0OTRhNmI3ZGY1NGQgcmVsZWFzZTI3LW1haW50Cis4NjY1NCA3YjE0ZjFmZjYwMmJiNTA4ZGQ1NTQ5YTk3NDE0ZTcxYjMyOTlhOTc2IHB5M2sKKzg2NjU1IGFkZDhhMDNkZGVlNmUzNWQ0NzZjNWU2Njk2ODJiYzQ0ZjgzNWJiZTQgcHkzaworODY2NTYgMDdhNDg3MGY2MGEwN2YwZjUzY2Q1ZTBmMTdmNDg1MWIzMjU3MjY5NiByZWxlYXNlMzEtbWFpbnQKKzg2NjU3IGEwODE2MjVkZDZjNjI3ZWIzNTQ3ZmY2NTA1MGQ3NGUyZGYwOGJhMGEgcmVsZWFzZTI3LW1haW50Cis4NjY1OCBmZmMzNzJjOGNmYTBjNzYzZTNjNDVmMzMyYjRkMWY4MDg4MTMyYWIyIHJlbGVhc2UzMS1tYWludAorODY2NTkgNWQxMTJjNzg3ZDZlOTRmMGQxN2ZiNDg3ZDIzMmNkOWQxNmRiYjJiMiByZWxlYXNlMjctbWFpbnQKKzg2NjYwIGYwMmYzYjMzZGQ4ZjkxZjQyYjFjNzAzMDMwMmE4MjU1OGIwZDQ1ZDQgcHkzaworODY2NjEgNWFiZmMxY2MyMmQxMWYzYzhjYTFiNmEwOGJjYzcyN2FiZDdlNTJmYiBweTNrCis4NjY2MiA2NmUwZjVjNjUxNTg2ODllM2NhNjFkZWVlZTUwZjY5NGUyMGYzNDQ4IHB5M2sKKzg2NjYzIGM1Y2ExYTliMWZkZjVmMmM0ZjdhZGZhOGM4ZTFlZjgzZDRlODU5ZTcgcmVsZWFzZTMxLW1haW50Cis4NjY2NCAwYjI3MTZmOGFmYjU5MDRkNDI4MjliNDk5YjE3YjdmNTViZTBhMjY3IHJlbGVhc2UyNy1tYWludAorODY2NjUgMGVmZDQyNTg5ZjE3MWUzODE4YTg4MWU5MDZhNmM4N2FhMmIyYzljMCBweTNrCis4NjY2NiBkYzZhMjdiZjg1OTI4Y2E3NWUzYmFhYmI0MGZiMTU0MzZiYzhlN2NiIHJlbGVhc2UzMS1tYWludAorODY2NjcgOWExOTA2OGJhOGIxMGUxMTNjNDRlMTQ4OWU2Y2Q2NDgyMTA0NzBjZiByZWxlYXNlMjctbWFpbnQKKzg2NjY4IDEwMmRiMGNmZmU1MWY2Y2M0YzllZjA3ZGRmM2Q0OGZmMGYyZmE1NjEgcHkzaworODY2NjkgM2U5NWYwODkyMzdhOWUyNzk5N2QyMWZkYzBjMmQxOTM5Mjk3MDAyYiBweTNrCis4NjY3MCAwODEzYzJhY2Y3NDE1NTE5NGRjMGQwMDlkYTY4YmZjYjhiNzQzMzNhIHB5M2sKKzg2NjcxIGFkYTY3ZGU2NDkxOTk3MWNhYjliYzIyNjJjMDczZGY1MjAwYWM5N2QgcHkzaworODY2NzIgNTM4MmNhOTVjM2Y2YzMxNmQ4ZmRiZjk2YzkwMjMwNTk0N2RlYzJlZCByZWxlYXNlMzEtbWFpbnQKKzg2NjczIGQ2YjZmOTlmNWFmOWUwMTUxYTIyODQzMWZkMWViNGNlYmE0NDJmOGIgcmVsZWFzZTI3LW1haW50Cis4NjY3NCBhYTY0ZDRmMWE3OTU2MTUzNWNhZjViMTY3MjczODU0MTM0YzY4Y2E3IHJlbGVhc2UzMS1tYWludAorODY2NzUgMmZmNzU4MzE1ZmExMGM1Yjg4NmRjNmVhZjI0OGVlNjZlM2Y1M2FjMiByZWxlYXNlMjctbWFpbnQKKzg2Njc2IDdiNzA1MTI4MjdjZjM5NGQyOWU4YjVhYzFhZDY0OWM3NDkwNjU0NDEgcHkzaworODY2NzcgMGE5ZmQ1Yzk0ZGMzNTk1ODlkNGNhMTIyYThiNGZjODEyNjg2ZDVlZSByZWxlYXNlMzEtbWFpbnQKKzg2Njc4IDRjMmIyYmU3MTQ1N2Y3NTBiYmM2Yzc2Nzk3MzRhMTBiYjAxMTMyZDQgcmVsZWFzZTI3LW1haW50Cis4NjY3OSBjNmI3ZGYxYmRmNTBlNDhiNjBkZDdmZDI0NDY3ZTc0ZWM3YTQ2MzhmIHB5M2sKKzg2NjgwIDdlZTU5MGFlYjJiMzQyMTI0ZWViMzZkYjA0MjFlMTI0OWEyNTZmZjAgcmVsZWFzZTMxLW1haW50Cis4NjY4MSBkOTc3NDEyMWE2ZGZkYTdmNWU5MGI5NDVmN2Y3MzQwYmVjNmY4M2RmIHB5M2sKKzg2NjgyIDZmMjVjYWMyODM2ZWFkNzk2MzllYjg0ZTVhYzEzOWJkMTA0NGRlYTIgcmVsZWFzZTMxLW1haW50Cis4NjY4MyA0ZjM1ODY2ZmQ4Y2IxMmVhODVlZmVjNjA2ZGRiZTYzZjY2OTY0YzgxIHJlbGVhc2UyNy1tYWludAorODY2ODQgZjE1MGI2Nzg1NDhlZGYwOWM5ODJkYWUxMWQ3ODgyY2M3ZDA4M2I5OCBweTNrCis4NjY4NSAzMzYyNTg5YzBjMDJhYmUyMDc1YmRmYmI5NWFiNGI1ZTUyOWFkMWZjIHJlbGVhc2UzMS1tYWludAorODY2ODYgZTBlY2NmYTlhZDZiYTBhMDRiZGM3ZDRiMjRjOWUyNWE4YTA3ODdmNyByZWxlYXNlMjctbWFpbnQKKzg2Njg3IDgyYWM3NTNiZjYyYTlhMGQ5MDA0NzZiZTYxMjZkOGFiYzM1ZmViNDMgcHkzay1jZGVjaW1hbAorODY2ODggZTg4NDAzMzFmNzc4ZTc3ZGJlMGRlNTk5NmIyZDlhOWU3MWIyYzk1ZiBweTNrLWNkZWNpbWFsCis4NjY4OSBhYTRkZWFmMzQ0ZDE5OTAyNmU3YzJkY2MyYzJjNWE1MzRiNDZmMGZkIHB5M2sKKzg2NjkwIGRjYWQ3MDZiMzhmYzQ4YjhkZWFhZGFmZjJiOTZmZTU2MzVmZGY3YjAgcHkzaworODY2OTEgMGM2NjgxNDZiMTI2YTZmZDQyYTE1MDAyYmFlOGQzYzkzNThkZDZkYyByZWxlYXNlMzEtbWFpbnQKKzg2NjkyIDhkY2IxNzc4MWU4MzI0ZmYwYWMyNTYzMWExMGFhZGZmZGEyMjA5YmIgcmVsZWFzZTI3LW1haW50Cis4NjY5MyAxMjdmNTE2OGE3NzRmOWNkZWY1NWY0NjA4MWE3NTA1NWE5ZTYzZjM5IHB5M2sKKzg2Njk0IDk4ZTFkZGQ1MDViYzI5YWZhNGE4ZmM0ZTgxODBhMmE2YTlkMTkwNTUgcHkzaworODY2OTUgNThhYzUxNjBkMWI3YmJiY2U3OGQxNTFkZWMwZWRmYjVhNmI2ZGQzOSByZWxlYXNlMzEtbWFpbnQKKzg2Njk2IDNmNjIzNTBlZGQyZTkzNjQ2N2UzNzBkNDUyMTYzNjZiNDNhYTE2NTQgcmVsZWFzZTI3LW1haW50Cis4NjY5NyA0MDEwOTMwMTgyODU0NGYwNDNhMTQ2ODAwZmE3ZjdlNTBiY2M3ODhmIHB5M2sKKzg2Njk4IGNjOWM1MWY5NTI0ZjlkZmUxYjMyMTZhOTQ0ZTY2MzA1ZDljNTllYjkgcmVsZWFzZTMxLW1haW50Cis4NjY5OSAyYzM3MDA2NWMxYjRkZTkxNTFmMDM4NDRlNTk4NWJjMDIwNDY2ZDA3IHB5M2sKKzg2NzAwIDI2MGZmMzc5MTE1YzdiN2M0NWU5ZTBlNmUzYjgxMzgxMzE3NDEwNDEgcHkzaworODY3MDEgZGNiNjBiZjI2ZGNlOThhNjBlMTg3Y2I0ODZlMDY2YTBjZjA3MTk0YyBweTNrCis4NjcwMiA1YTY5YTU4OWM2ZjA4Njk3ZWRlNWRlM2UzMzE5NWExNDg1NTc4MGU3IHB5M2sKKzg2NzAzIGE3Mzk4ODNlZTZjNTYwNjE3ZmM3NDNhYTY2NWNlYTVlNTVkZWE5NDYgcmVsZWFzZTMxLW1haW50Cis4NjcwNCA5NTIyODJhNTA0N2ZjMjFmZmFiMjI4NTFiMDQ1NzE3YWNmZWU1YWNiIHJlbGVhc2UyNy1tYWludAorODY3MDUgMzMwM2FiZTI5ZDBiMzhkMjI2OGExOWU0OWFlNTRkOTNjNzQ3ZTJiZiBweTNrCis4NjcwNiBhNGI3YTQxZGFiZDk0YzgzNjExNWFiNzA4MzkwNWUwZDc2ZWJlOTBiIHJlbGVhc2UyNy1tYWludAorODY3MDcgNjNmMTE0YjA5Y2FmYTkyMGY0MDA0ZWJiMzYwMjdmZWZhMGI2MzRhYSByZWxlYXNlMzEtbWFpbnQKKzg2NzA4IDBjZTU3OTUxYWVjNjJhOTIzMTE0MzJlMzc1NmMyODk3ZWQ0YTFjN2YgcHkzaworODY3MTAgYzg2ZjE3MTA0NjdlN2E1ZDRhYzg4NjFhOWMyMWQ4Nzc4OWM2ZmM3YiBweTNrLXVybGxpYgorODY3MTEgNmNhMjg5MGJhYjY3OGRmYjViMDNjYTMxODhmOTZhZjdkYTVlOGU3ZSBweTNrLXVybGxpYgorODY3MTIgMGY4YzUyZWM5ZjdmMTVjMWUxM2RkZjcxOWYxOTBiZTllMDJjNWJmOCBweTNrLXVybGxpYgorODY3MTMgOWFkZjM5N2Y1NmU3YjQzYzdkYTk3MTc2ZWFkZDAxOWNmN2Q2NzNiYSBweTNrCis4NjcxNCA4YjRhNTMxYWQzNTJhNDQ4YjhkN2Y5YTkzYTNhOTQxMWZjZmU1YmZiIGRtYWxjb2xtLWFzdC1vcHRpbWl6YXRpb24tYnJhbmNoCis4NjcxNSAxYWU1MWQxM2MyNWI5MjM1NjA2ODkzZDE4MzdiZDM2ZmEyZjVmZDY4IGRtYWxjb2xtLWFzdC1vcHRpbWl6YXRpb24tYnJhbmNoCis4NjcxNiBiZTBmNGQ4YmZjZWFhY2E1NjQyN2ExZTIxMWFkYjQ2MjI1NjY1NGRmIGRtYWxjb2xtLWFzdC1vcHRpbWl6YXRpb24tYnJhbmNoCis4NjcxNyA5ZjIzYzVmNDg1NmMwMjQ0ZTg3OTM2NDgwNjkzZjViMTYyMTEyYzMyIHB5M2sKKzg2NzE4IGJhYjljMjA3ZTFjZjhhZDE2ZDIzMjQ0ZDBkYTJjMTQzZTdkZWI0OTEgcmVsZWFzZTMxLW1haW50Cis4NjcxOSAxNDA0YWIwNzZiNThmNDRjNjIzYzZmMWJhYmFmOTVhMjFiMmQ3ZTRmIHJlbGVhc2UyNy1tYWludAorODY3MjAgNDM2ZGFmMDk1ZTg5NjhlNWNlYWM0ZjkxYWRjYWVjNThiOWRiYjdlNyBweTNrCis4NjcyMSAwODI4ODE0ZTAzYWRkYjgyMGE3NTRkYmE0MjQ0MTNiYzVhMjkzNTQ5IGRtYWxjb2xtLWFzdC1vcHRpbWl6YXRpb24tYnJhbmNoCis4NjcyMiA2MWY5ZDNiZjIzNGNmMGY5MGRmOTJiMzllN2ZiZDg2Y2JjNGNhZjVlIGRtYWxjb2xtLWFzdC1vcHRpbWl6YXRpb24tYnJhbmNoCis4NjcyMyAwOTI0ZjQwYmI2ZGM1MWM1YmNmNjYyNDhmZmViMmE0YzQ3NzVjN2NhIGRtYWxjb2xtLWFzdC1vcHRpbWl6YXRpb24tYnJhbmNoCis4NjcyNCA0MjU4ZTI4Y2Y0NDA2MGFlNDNkOWIzOTgwYmViYjBmYTYyOWQwYzJjIGRtYWxjb2xtLWFzdC1vcHRpbWl6YXRpb24tYnJhbmNoCis4NjcyNSA2NTJiYWYyM2MzNjg2ZTUyMGFlZDNkMGU3Yjc3YzZlNWE0YTI0NDNmIHB5M2sKKzg2NzI2IDI4ODllZDczNDFlMDdlOWZmOTRjYTE1Yzc5MzYyYTE0ODY4NTlhNzEgcmVsZWFzZTI3LW1haW50Cis4NjcyNyAwYTFiYWE2MTkxNzFhZjMyNDg2OWVjYmNiNmM3MTQ0MDI5ODc1OWVjIHB5M2sKKzg2NzI4IGYzYTYxZGFmYmY2YmFkODhmMTVmODFkN2Y1MzAzYTU1ZDQ3NDE4YzMgcmVsZWFzZTI3LW1haW50Cis4NjcyOSA0ZmVkMDA2NTk4MzE0MWJhMDJhYzA2NDYyNGJjYjY3ZDFiYjNjNDlmIHB5M2sKKzg2NzMwIDgzYjA1MTdkMGZjNWUwMmYxZTllYmI1NjA2MjE3OGQ0OGM3MGZkN2YgcHkzaworODY3MzEgYTc2M2VkM2Q2ZThjYWE4N2FjMTdhYjgyMDBlOTM3ZGU1Y2U5MjNmMSBweTNrCis4NjczMiA4MmRhMmFiY2U3MjIwYzM0NjMwYzVmOWM5MGYzMzI3MTFhNDQ0NGZmIHB5M2sKKzg2NzMzIDljZDEwMzY0NTVlN2Q2Mjg1YjRjMWZiMzQzZDMyMWIxZTZjNDc3MzkgcHkzaworODY3MzQgMzk1YWM2ZTMxOWE4OTU5YjMyMTE3ZjE1YTBjY2EzNzZlYjA4ODM5YSBweTNrCis4NjczNSAyNmY4MGY3MjRiNGZmMTY5MDA2NTcxYTVmM2Y0MGEwZWVlYjM2N2FjIHJlbGVhc2UzMS1tYWludAorODY3MzYgMjUzMmM0YmMwMzczYTE2OGNjZDhlNjc3OWM4YWZiYmU3NTcyNTEyMiByZWxlYXNlMjctbWFpbnQKKzg2NzM3IGQ2ZThiN2UyNTBjNjVhYzM3ZTkzOWRkODc3Yzc1MDBhNGE3MGI0ZjAgcHkzaworODY3MzggYjczODEyNjkwYzZlNjU4ZmJjOTlmZDdkY2QwNGQzZjdmODdkOWQxZiByZWxlYXNlMzEtbWFpbnQKKzg2NzM5IDI4NzcyNjViZGIwMWNhMTVhYjE1ZmY2YTcwYjViNDU4ZTg3M2UxNmEgcmVsZWFzZTI3LW1haW50Cis4Njc0MCA5OGNhNjU1MzIzYzA1Y2IzZDFhYTczMjZkOGYzNzlhNmEzNTI3ODRiIGRtYWxjb2xtLWFzdC1vcHRpbWl6YXRpb24tYnJhbmNoCis4Njc0MSA0ZGQ3ZWIyZDk4NTZjZWYzZmU0MTYyZTY3NDJiM2I5OWJkODlmNDAwIGRtYWxjb2xtLWFzdC1vcHRpbWl6YXRpb24tYnJhbmNoCis4Njc0MiA4NThlODZkYjQ0MmY1YWQ4MWFjYjQ0OTM4ODE4YTczYjQ0MzY0NWQ1IGRtYWxjb2xtLWFzdC1vcHRpbWl6YXRpb24tYnJhbmNoCis4Njc0MyBjZWFkMDRiM2M1ZWQxM2YyZjViM2JkYzRmZjFmYjg5OTc3NDJkMzAwIHB5M2sKKzg2NzQ0IDBjYjI2NTI2NDE5ZDg4YjdhNDZkNTM1ZWUzN2E1NzE2Nzc4ZWEyZmYgcHkzaworODY3NDUgYzU0YzQxMWQzZGE3YTE0YjZiM2U4OWUwMjU5NDFmMmRkNjI4NjQwNCBweTNrCis4Njc0NiAwM2Q5MzM5NDhiZjNlYWE4Yzc5YzY0OWRlYmQ1NmNiYjZjZjU5NTE2IHB5M2sKKzg2NzQ3IDY3ODgyMTA1ZGQ2NTU4YmNiNTBjM2YyNzcyNWFjOTcxN2NiOGU2ZTMgcHkzaworODY3NDggNGQzOTUyYTIxZTI1NzYwYTI5YTBjNjhjNzUzMzI4ZWI0NjE0NWU5NCBweTNrLXVybGxpYgorODY3NDkgYWU4MmM3NzA3NjljYWQ1NWYxZjIwNjk1OGRiODdjNTNmNWU3ZmQ0NCBweTNrLXVybGxpYgorODY3NTAgMTE3OGUyNTQ1ZGNiNWM2ODJhMjA2NWM1MmIzYWI1YzQ5ODJmOWVjNCBweTNrCis4Njc1MSBlZGVkNjkxNDk3Yjc0OGMzY2ViOGVkZTBjMWIxNjdkYzcyOGRhNTVmIHB5M2sKKzg2NzUyIGYzZGY5M2UyNjI2NzVhYzViOWNlOGQ3NzFmODA2ZTg5NzdmNWViNjQgcmVsZWFzZTMxLW1haW50Cis4Njc1MyAwZGE0MmNkMDE1NzY1NWRmY2ViMGNlMjExMDU4NzhhYmZkMWY5Y2U1IHJlbGVhc2UzMS1tYWludAorODY3NTYgNDU3YzdlNzA0ZWMyOTljMzlmNjE1MjdkZmI2NmVhMDVkMmQxZWU5MiBweTNrLWNkZWNpbWFsCis4Njc1NyAyZDZjZGM4MTg1Y2FlNTc1Y2ZkMjNkZmFiM2VkMTBlODM0OTU4YTBiIHB5M2stc3RhdC1vbi13aW5kb3dzLXYyCis4Njc1OCAxNDBkOGE2NTc3MDU0MzNhODM0NWVjODRjM2NmYjVkMjU1M2QxN2NjIHB5M2sKKzg2NzU5IDA2ZDIzMDI2ZjkwNDU2OWI3ZWUxNThmMmViY2FmZWI3ODA0MTk5ODUgcHkzaworODY3NjAgZjU5ZGJmMjhlMTJjM2Y2YjljYzhhOWE0NDZiMjBjODJkYzM4NTc2NSByZWxlYXNlMjctbWFpbnQKKzg2NzYxIGU0OGVkMmVmNmQ1ZmZiMzkyZDFiZDc4YjkwMzYyNjgyZDk3Y2JmNWEgcmVsZWFzZTI3LW1haW50Cis4Njc2MiA3YWI0ZmRhNzcwMzEyNzY1NTMxMjRiOGIwZDlmMjgwYjdkYjk0NWE5IHJlbGVhc2UyNy1tYWludAorODY3NjMgMTkyMzIwMjBlNDkxZDc4ZWYxYjA2YTNkN2E5M2VjNzk2NzUxMGUxNyByZWxlYXNlMjctbWFpbnQKKzg2NzY0IDhjZTlhZTVhMTU0MjdiMDdkZGZjMGEzYTE0YTYwNjRhZWYyNjVmY2YgcmVsZWFzZTI3LW1haW50Cis4Njc2NSA2YzM1YWJjN2QwZDIxOTJlMzIxMzlkMjFiYmY5NzI1ZDg3OTllMThlIHJlbGVhc2UyNy1tYWludAorODY3NjYgNDVhYjU1ZmEzZGMwZGY5NTgxNjRiYzAxNDQ4N2IwMGEzN2ZmMDA0MiByZWxlYXNlMjctbWFpbnQKKzg2NzY3IDc3NzcxYjA4NWVjYTc1ZDRiNzcwNThhM2M0OWRmZGU2NDFjMjY5MTkgcmVsZWFzZTI3LW1haW50Cis4Njc2OCBhODAzZmQ4NDFmZDE3YzNjNDM1OGYyOGQwYjFmNjJiYjU4ZGNjODZkIHJlbGVhc2UyNy1tYWludAorODY3NjkgZDZjNTc1MDE1M2JiMTE4NjQ0YmUxMDY5NTlhYTE1NTI3Y2JhZjEzOSByZWxlYXNlMjctbWFpbnQKKzg2NzcwIDM3YjM3YjZhODk3MmJkNmYwNTY4ZDkxZjk1ODhiZTZlYTA3ZjI1NmIgcmVsZWFzZTI3LW1haW50Cis4Njc3MSAyOTU1ZjMzNzk2OWU4MTY0NGYxMDdjYzJlNzg2MTlkMjBmNjA0NTk4IHJlbGVhc2UyNy1tYWludAorODY3NzIgZTEwZjYxOGM5NjdhYzI5M2M2YjJhMTZlNTg0YTEwODZkYmQ1OTY1ZSByZWxlYXNlMjctbWFpbnQKKzg2NzczIDgzNWMxNzYyMzlkMDI1N2IyZTY5NjYwMjE5MTE1ZGVjY2U0MGQxNzUgcmVsZWFzZTI3LW1haW50Cis4Njc3NCBmYjJhYTQ1YTFiMjJlM2IxYjVmMzM0Mzg0NmExZmUwYzUzMTI5YWIyIHJlbGVhc2UyNy1tYWludAorODY3NzUgOGI2YTllY2JlOTg5YzBiNGMwYjdiZGY4YmE1ZjlkZTU3NWY1OTRiZiByZWxlYXNlMjctbWFpbnQKKzg2Nzc2IDJlNTgxMjZkYmFkMDg3MDNiZTJmMzNjMzhhODdjNDFkZTZiNTZjZTcgcmVsZWFzZTI3LW1haW50Cis4Njc3NyA0MTM2NTE1Y2RmYWNkZmM3ODQ0OThhMmJiN2MxNGQzYWI4MjQ3YmEyIHJlbGVhc2UyNy1tYWludAorODY3NzggN2MwZWI4ZDU2MTQ2YjlhZWFmMzk3YzRlN2MwZDRmYjdmMDE2MGExNiByZWxlYXNlMjctbWFpbnQKKzg2Nzc5IDcxYjc3MTUxOTMzM2EwNGIxMjMzZDFiYTVhZmRmMjY2ODQ3Mzk1YTUgcmVsZWFzZTI3LW1haW50Cis4Njc4MCBhMzcyZmM0ODYyODE2Njc0MTY4NDQyODExNTIwZGEyOWRjN2ExNzYxIHJlbGVhc2UzMS1tYWludAorODY3ODEgNDVlNDkyNjllMGQ4ZWYxZGQyODIyM2Y2NDlhMmVhZTdiYTY5MTIzYiByZWxlYXNlMzEtbWFpbnQKKzg2NzgyIGU3NTkzZmViNWFkNWMzZmIyMmI3NDg4MTA5ZjdiNzdjM2UzMDUxMWUgcmVsZWFzZTMxLW1haW50Cis4Njc4MyBhOWYwZWM2MDRjOGFkMDg4MGJkYTE5N2QxZGIxOWU5YTU5YmVjMDIwIHJlbGVhc2UzMS1tYWludAorODY3ODQgMDVlZTZmOGMwMjYwYWE1YmUxZTVhMWY0Zjc2ODkxNDRkNWU5ZmJkYyByZWxlYXNlMzEtbWFpbnQKKzg2Nzg1IDM5YjVhZjc3M2U3NTk2YWI3NzcxOWFmMTNkMDY1Njk0N2Y1OWRmMjcgcmVsZWFzZTI3LW1haW50Cis4Njc4NiA5YmVhZDkwOWQ4ZWZlZGVjN2Y0MDYzNGQ2MDM2OWJlNTRmYjY4ZGI3IHJlbGVhc2UzMS1tYWludAorODY3ODcgOWIzNDRiZTFiZTlhN2U5YjkwMjU0ZWI0YWQyYmVjODA3NTlhYmVlNiByZWxlYXNlMzEtbWFpbnQKKzg2Nzg4IDNlZTZkMDM4YWY5YjQ2ZTgwOTM0ZmU5NzBjZWUwZTY3NzEyNjdlMmYgcmVsZWFzZTMxLW1haW50Cis4Njc4OSA3MjgxOTM3YjJkNjViM2Q1OGJjN2NiZDU4OWI0MzczOTQ0YzVlZmZiIHJlbGVhc2UzMS1tYWludAorODY3OTAgOWQ2ZTI0NjVmNTkyNTQ2NGZiMDk0ZGVlNWUxOGVhMmQ2ZWQxZDgyOSByZWxlYXNlMjctbWFpbnQKKzg2NzkxIDRlYTFjNmE0ZTkyZDBmYjk5NmI0NDk4MmUxNjgxZWY3ZGE3MTJiZDIgcHkzaworODY3OTIgMmMxNjcyODE2MmZkZGJlYjZiMmZjYjJmOWZhMjI4NzdmZjFmMjZhMSByZWxlYXNlMjctbWFpbnQKKzg2NzkzIDAwMDBiYmFiMDhiNDQ3Njg0NmMwMjFlNDU5NzkyMWZkMDY1MmUzZjQgcmVsZWFzZTMxLW1haW50Cis4Njc5NCBiMGU5N2RiZDk4Yjg0MzhlMWM2ZTgxNzYyYjQ0M2M0ODk1YjRhZjBiIHB5M2sKKzg2Nzk1IGZhMDE3YmNhZWUxMDAwM2IyMzg4YTFkZjMyNDE3ZmVhZWI4NjY1YTkgcHkzaworODY3OTYgNTA4NGNlOTQ4NDM3ODU5ZDUxYTI2NzYxNTA0NjcxYThjYzBiYzNlNCByZWxlYXNlMzEtbWFpbnQKKzg2Nzk3IDQ2ZmVhZWM3MjliZGM2N2JmYjIwNDkxZmRhY2Q2NjI5ZjRhNzBmOWEgcHkzaworODY3OTggZmI1YzQ1ZDM4ZTJhZjUxNTBkYjI1OGMyZjU0MzM4NjkwMGQzOWI5MiBweTNrCis4Njc5OSBhYzUyMDdkZDhkOWEzMzQ2NjNmNzg3NDg4Njk4YTU0ZTNhNzc1OWNmIHB5M2sKKzg2ODAwIGFjZWI0NTE2YThkNDRhMmQ1MGFlNWM1NmU2NDNhMGNiYWUzMTVkMjEgcHkzaworODY4MDEgYmY1ZjQxNzRiOGMyZDU4ODhhMDhiNGNjNmI2MzljZWQ1YjFlMDI3YSBweTNrCis4NjgwMyAyMzFiMGJiYzFmOTA0NjRjNWRkMzIyODc5ZWY4YWIwMmRiN2M3YmFhIHB5M2stc3RhdC1vbi13aW5kb3dzCis4NjgwNCAzMjk4NDJkZjA2YTEwYTNmNjkxNWIzYzEyMGVkZmNhMDE1MTk4ZjU1IHB5M2sKKzg2ODA1IDBlMWRkNDU0OGFhMTdjMWIwOGJmN2VkOGVhMjI4ZjFlZDY2NjI4OGQgcHkzay1zdGF0LW9uLXdpbmRvd3MKKzg2ODA2IDEzMmE5NGVjMGNlODBkNmVlNjVhNzdlZTY1MDRiM2RiYWVmMDVkZTUgcmVsZWFzZTI3LW1haW50Cis4NjgwNyA0Mjc5ZTQxN2IyYTAyNGIwY2I0YmU4MDJkMTEyMDlkMmFkOWUyMDMyIHJlbGVhc2UzMS1tYWludAorODY4MDggZmFkZjc0YzBjNTA0M2Q5Nzk4ZWIzOGE2MDJkYTY3NjBhZTIzZGU1YiBweTNrCis4NjgwOSA3ODZlZTExZTBjODQxYTBiNTNlNjE0NzEwMmRiZWQ1MzlhZGI5ODRhIHB5M2stc3RhdC1vbi13aW5kb3dzCis4NjgxMCBjN2EzNDJhNzk4ZTc3MTM3NzkwMDQ2Zjk4Y2UxOTljMTkyYTcyYjRkIHJlbGVhc2UzMS1tYWludAorODY4MTEgNzQ5YjFlNzEzOTFjYWUzNjIyZTQyODA1ZjM2N2IyZjZkZDFiZmUwOSBweTNrLXN0YXQtb24td2luZG93cworODY4MTIgYzgxNjNjMmExYjZmNGRlMTQxNjYwZTNmYjM5MWM5OTJhNzI3M2U4ZCByZWxlYXNlMjctbWFpbnQKKzg2ODEzIGM4MmNhM2JlYjRkZjE1ZTk1MzJkYzEzNzVmMzlmZGJjNmRiYTk4MjcgcmVsZWFzZTI3LW1haW50Cis4NjgxNCA5ZmVmZjE3N2Y0NGQxMjY5YWUyM2Q2MzY5MGNiNjMxMWMwZWY4Yjc2IHJlbGVhc2UyNy1tYWludAorODY4MTUgYWQ3OWY5YjNhMDIxOTcwYWYwZWVkNGUyYzdmNDFmZDM3OTdkMzQ1OSByZWxlYXNlMzEtbWFpbnQKKzg2ODE2IGYyMjIyNWE5ZDcyMDgyYWY2NmE5MzMzMDgyYTAxMWUzYjRkZjJkN2UgcmVsZWFzZTMxLW1haW50Cis4NjgxNyBlYTRlYzZkZTljZWZlMDlhODZkOGIzMjRhMmM4ZDBkODQ2MjgwZjZkIHB5M2stc3RhdC1vbi13aW5kb3dzCis4NjgxOCBhYmJjNThhMDZlNDNkNDhkOWVmM2Y4YjU0ZTZlZjY0OWQ3NTM0NDQzIHB5M2stc3RhdC1vbi13aW5kb3dzCis4NjgxOSA5NmNhOTlkZmVmZDhlZTcxYjQwM2RhOTZkYjliZWQ2ZDZlYmU2NGVkIHB5M2sKKzg2ODIwIDg2YTY1MzlkMmMyNTM1ZGVlYzUxOTQ3ZTQ5ZDZiZjM4MjE4N2Q0NWQgcHkzay1zdGF0LW9uLXdpbmRvd3MKKzg2ODIxIDBiNjM0MDczMDkxM2M0Y2M1NTc1OTZlNmQ4MjFlZTYyYmQ0YTU1YzQgcmVsZWFzZTMxLW1haW50Cis4NjgyMiBiNGJmZGM1MmFkNTEwNmIxNzRhOWRjMTY3M2VmYzhjOGUzMzQ3Y2M3IHJlbGVhc2UyNy1tYWludAorODY4MjMgY2NmMjYzM2I5NWRkODlmNWMxZWYxNTg5NjQzNTE0OWJkY2I2OTRjOSBweTNrCis4NjgyNCA2MzM0MWRkMzYwYWY1ZjcwMzg3MDJiZjZkOTE0ZmMwN2RkOTBhMWE4IHB5M2sKKzg2ODI1IGZlZTk4YjYwNDEzOWM3ZjViYTgxM2FhNzcyODZmZTRjZmI5ZjJkYzUgcHkzaworODY4MjggNTk2MjM5ZGEzZGI3OWRlZDBjNTgyYWQ4ODRmYTZhNTVkZTg1ODBlOCBweTNrCis4NjgyOSBkM2JhZDQxYWQ3MDE3Nzc4ODg0NTQxZGUyNzM0MjlkYjRkOGFkOTIzIHB5M2sKKzg2ODMwIDU4YzJhYzYwY2NiOWRhYjRkMjVlN2UyZTkwZGRlMjc2OWJkYjQ5N2YgcmVsZWFzZTMxLW1haW50Cis4NjgzMSA4MmFkZTIxM2E2NmRmOTJmYjc0Mzc5MjExN2Y1ZjBkYmQwYmY2ZmQ3IHJlbGVhc2UyNy1tYWludAorODY4MzIgNTM5NWY5NjU4OGQ0ZjAxOTlkMzI5Y2I3OWViMTA5NjQ4ZGM0ZWY1ZSByZWxlYXNlMjctbWFpbnQKKzg2ODMzIDdlMzhmOGZiYmFkZGFiOGExNmE2NjVhNDk0YWZlY2ZjZDUwZGYzZTggcmVsZWFzZTI3LW1haW50Cis4NjgzNCBhNGY3NTc3M2MwMDYwY2VlMzhiMGJiNjUxYTdhYmE2ZjU2YjBlOTk2IHJlbGVhc2UzMS1tYWludAorODY4MzUgZGMyNmU0YTdkMmU2MGQwNTIzZTYxMDIyMWM1NTk3MTVlODI5OGU0NiByZWxlYXNlMzEtbWFpbnQKKzg2ODM2IDYzYWIzOWQxMTg2MGUxNTYyODMwNDAzMmRiMzdiYjVhOWZjZTFhMmQgcmVsZWFzZTMxLW1haW50Cis4NjgzNyA4NzM3ZmIxN2Y0NDQwMWEwYTJlOTdkNTRjOWFlNTBkNWZjNGNjNzM1IHB5M2sKKzg2ODM4IGEyN2ZiMWU2ZTA5ZDQ0ZTRmMTFkNzdmNDk3MjE2NzQ0YmRhZDJlYWEgcHkzaworODY4MzkgNDFjZDA5MmJlOTNhYTQwNjQ0YmM4ODVjNzkzZjc1NDNjNDFkOWM5YyBweTNrCis4Njg0MCBmOTUxMjc0YWYzYzdmNTdjZjA4NDNkMGRmNWI5ZDc4NGNmYjFhYmNiIHJlbGVhc2UzMS1tYWludAorODY4NDEgNzJmMGJlYTA1NDU3NzkwMDg0YmY4Mjc4YWJhMDZlOWYwMmY1ZjhiNCByZWxlYXNlMjctbWFpbnQKKzg2ODQyIDFiNzdmMmViMTYwNjc4NjZhOGI5MjVlOWZkZWUzZmI4MzM5MDViNGQgcHkzaworODY4NDMgMGYwYzZiODc5Nzk2YmVlNzdlYTNiNzVjZjAyZGFmMjNiMjMzODlmZCBweTNrCis4Njg0NCBkMGExNmY5ZjM3NDFmZDNjOTM0Y2ZmZDM5NDkwNzYxZjc1NmNkYzg2IHB5M2sKKzg2ODQ1IDUzODE4ZTRjNGZjYTU2NDg4NDA3ZDljY2IyZjhjOGMxYmE2NWY2NjEgcHkzaworODY4NDYgNWJlM2VmYjQ3YmZkNTgzNjg3ODZiNTJlMzFjMGE0NTgzNzZlNmJlYSByZWxlYXNlMjctbWFpbnQKKzg2ODQ3IGUwYTUyNTIwMmM3N2NjNjc5NzU1ZmY4MWVlMzUzNTJlMWViYmRhNjQgcmVsZWFzZTMxLW1haW50Cis4Njg0OCBjNGFhYzhlNjk4ODg2NWI0MGVmN2E4ZjcxNzg2YmFkODg3NWQ1N2Y3IHJlbGVhc2UyNy1tYWludAorODY4NTAgMjdlZTQyYjBmYWY2Y2NiMDdlMzBiMjFkOWQ2ZjY0YjdjZTc4MGM3MCBkbWFsY29sbS1hc3Qtb3B0aW1pemF0aW9uLWJyYW5jaAorODY4NTEgNzJmZjQzNTMyMjE0ODBiNjNkNjgxODUzYjJjODAyYmQwZWY5NGY4MSBwZXAtMDM4NAorODY4NTIgZDI0YWEzYjFlZTI4MTY5NzQ0OThmZTMxMzM1YTZkOTAwNjI3NmVjZCBwZXAtMDM4NAorODY4NTQgMDNkMGQxODY3MTNiNGZlNDk3Y2NlODRkMGE4MzE3MzE0MjVjOTNlMCBweTNrCis4Njg1NSBiZGQ1Nzg0MWY1ZTJmNDZmOGMwZDZhMDJkNDI3MDhlYzU3NDQ0N2I0IHB5M2sKKzg2ODU2IDkzY2Q0ZGU4ZWUwYjA0YTEzMDJmYWNiODBmZmJkNDI2MjZkOGIwNTYgcHkzaworODY4NTcgNjllYzc3NTI2MTgwZmJlOTBlMGIyNDZkMmI4NjM3Yzc4Y2RmZmQwYSBweTNrCis4Njg1OSAxNmUzYzk1YmM0NmM1YTRlY2JlMjk3NjYzNWMxYTdmOGZlYjU2YWVjIHJlbGVhc2UzMS1tYWludAorODY4NjAgN2E1ZjI2NTQ4ZTFjMjg1MzBjODc0YWMxMjg2MWI5M2ZmNzU4YTQxNyByZWxlYXNlMjctbWFpbnQKKzg2ODYxIGU1ZmNiNDIyNmI0MmE2NzM2ZjQzZGYzMTQ3MGVlNzk0NGVlOGFiNDAgcHkzaworODY4NjIgMmUwZDkwMDlhYjZiOWUxYzcxZTFmOTZlNzJkOWQzZjMwMmIyOWRlYSByZWxlYXNlMzEtbWFpbnQKKzg2ODYzIDhmZDEzYzVkMzg4MjM5NzQ0MWI5NzA3NmE3MzRmMDFhYjkzZGY2Y2QgcmVsZWFzZTI3LW1haW50Cis4Njg2NCBlODEyZGIzNDRhNjVkNTUyYWMwMjAwZTU0ZTc3ZTFmOGYyNGZjY2FjIHB5M2sKKzg2ODY1IGVhZDUzMDcwM2I5YmU1Y2I4OWZhNGMyMzFmZTdmZTkzY2YzNTdhNjcgcmVsZWFzZTI3LW1haW50Cis4Njg2NiA2NjdkMjgzNDQwMTcxOWRhMmZhNDM5NWQ5N2EyOGRlMzk2NGRhOWY1IHJlbGVhc2UzMS1tYWludAorODY4NjcgY2Q2ZDBjYWZmZWYyNGJlMDZkMmVjODgwNmI2YzIwOTA4ZjMwZGFjNSBweTNrCis4Njg2OCBiMGZmMzMzZWMzZGExYmQ2MzI2YTE1NDdhMTcyYTA4NDZmODQzNWZlIHB5M2sKKzg2ODY5IGU4OWFhOTE0NzYyNGNhNjM5YjlhY2UzYjNhNTgwMDIxN2M2MTZlNmQgcHkzaworODY4NzAgZTczOTJmZmVlMDcxYTc2YWMwZWNiNTE4MDUxYzI1MjIyMjA4M2YxMyBweTNrCis4Njg3MSA2Y2E4OTIyZGFmYjUzYjU5ZDhlNzk3ZGVmZjdkZmFjZjQ1Zjk0MmIzIHBlcC0zODIKKzg2ODcyIDBjY2E5NjYxNTM5NTFiOTYzYmYxOWY1MWEwODA4YjFhMzhkY2UyYzAgcmVsZWFzZTMxLW1haW50Cis4Njg3MyBkZTZlNzljNWIxZWQ0NDNmZjhkNTRiMmZmYmY4NjdkODQyODRkY2M3IHJlbGVhc2UyNy1tYWludAorODY4NzQgNjc5OWQ1NGRiMzc4MTJhYmYxMGExZDJlMjA4Mzk1ZmE3ODUwM2Y0YyBweTNrCis4Njg3NSBlMzJhMzAwYWNhYzJmYzg2YzdkM2M0M2VlM2QxNDg0NzEyODFhY2M4IHB5M2sKKzg2ODc2IDllOWE3MDliMzg5ZWNhZTM2YjE0NmY5MDc4OTExYjFlZjY5MTc2ZTIgcmVsZWFzZTMxLW1haW50Cis4Njg3NyBlZDRiZmI3NWQyOGQ4ODA2NDVjODM0NTc5YWY1YjZmYTgwYTdmZjNhIHJlbGVhc2UyNy1tYWludAorODY4NzggMzEyYjI5MTZjZmQ0NWQ4YmYzMTFiZGJhMjYyOTNmYTg4NDk1ODYwYyBweTNrCis4Njg3OSAzMmU2NzVkYWEwZTUxYmZlMmY1NGQzNzJjY2JkZTJjNGI3YzNlYWU2IHB5M2sKKzg2ODgwIGYxNmJmNGNhZTVkNzM3ZmFmNDM2ZjBlMWVmZGNiNWY0NGRkNDcxYmYgcHkzaworODY4ODEgMjhiNjdiNTcwZjJiZjlhNTliZTQzNTJkYjE0Y2ZhMjI1NWRlZDQzMiBweTNrCis4Njg4MiBiNDA1YTdmMGFlZDcxYjhkYTU5MWJmZmUwZDdlMjBkZWYwNGI5YjM5IHB5M2sKKzg2ODgzIDgzMDRiZDc2NWJjZjc3ZjgzN2Y1MTY5YTg4YjVkNzQ0YjVlMmQwMzIgcHkzaworODY4ODQgNzI0OTIwYTAxNWY3MDFhMjFkZDdlMzI5YTQ4ZjU0ZTEzZDFkZTFhOSBweTNrCis4Njg4NSBlZGE4ZGEzYTc1YjNjNjI0NzAxNDM2OWRlZDU4OTBhZjIwOWZjNzliIHJlbGVhc2UyNy1tYWludAorODY4ODYgZGViOWYyZDM3YjYzYmQxMzFhYTk0ODg2OGFkZTNmZGU0OGM0ZTQwOSByZWxlYXNlMzEtbWFpbnQKKzg2ODg3IGZkNmU1NjUzYjMxMDI1MDYyZmI3YmE2MzljYzIyOTg2ZjJmYjAxZjggcHkzaworODY4ODggMTgzOTllNjIwYjQxMTBjZDQ5NmNjOTdlYTNlYTljOGVjYWMwNTAzMiBweTNrCis4Njg4OSBlNDQ0MTBlNTkyOGVlMzExNGM2NThkZjY3Y2QxODBlNWI1MDExNWQ5IHB5M2sKKzg2ODkwIGI4MGY1YmYyNmU5ODdiOGQ1NTBhNTMzZGM4ODQyNzU0NGFmMjkxNjEgcHkzaworODY4OTEgZjc5OTI4YWRhYjU3OWYzY2YxYWJmOGZkY2JlYjdhZmU3YzRiY2U0ZiBweTNrCis4Njg5MiA3ZWEwMmYzMWMyNTJjYmViNDNlN2ViYWNlNDkyMTYxMGE1Y2JlODRlIHB5M2sKKzg2ODkzIDJmNmQwZjM2MWFiOTJjOTdjNzk3NmU0MGE2NzEwNWIwYTQzMTc0ZDYgcHkzaworODY4OTQgMzQwMzY5ZmIyZTcwZWY0OTkxNzZjOGEzNGFhYjMzNzY2NTE0OWRhMyByZWxlYXNlMzEtbWFpbnQKKzg2ODk1IDc0NjdhMWMxMWFlYjQ2NTQ0NjU4OGFiNmNmODI2MTExMWQ3MTZmOTMgcHkzaworODY4OTYgNjU2ZDI0ZDE5NzQ5YjBiMmZhYzNkOWFkN2NhN2U4ZDJkYTE3N2E1MyBweTNrCis4Njg5NyBkNjEwMDc0OTcwZDc5ZTNmNTU3YjI3ZDFjNmI1Yzk4N2FjMzJhMDJkIHJlbGVhc2UyNy1tYWludAorODY4OTggMDRlOGJkOWExYWJhZTM3OTk4OWQ1MzFjODJjODQyZDQ1ODVjMDBjZSByZWxlYXNlMjctbWFpbnQKKzg2ODk5IDdmZDJjN2RiZGRhNjgzOGJkZjhjYjU4YjkwYmQwMjZkNmEzYTBiYTggcmVsZWFzZTMxLW1haW50Cis4NjkwMCAyOTg0YjU3ZDY3ZGE0OTNiODk5YjNkMzIwNTUxZGRmYjQ0ZDJmOTFmIHJlbGVhc2UyNy1tYWludAorODY5MDEgMmIyZmM0MjYyMTcwMWY4OTY5NTQyMzEyOTQ5YTc3MDhjOGZkOWZjYiBweTNrCis4NjkwMiAxMTU1MmVhNmE5NDRjM2IzMzY5MDdiMWEwMDlkNWQ5ZTAzNjIzNjNkIHB5M2sKKzg2OTAzIDY5M2Y3NDMwYzNjYTUwODA3YjMwNTBjNzE2MGY3YzM1YTk4NGFmOWEgcHkzaworODY5MDUgZmVlM2EyZjI0M2U4ZTdmMmIwMWQ5ZjEwNDQ3ZjE2MmFiM2ZhMzczYyBweTNrCis4NjkwNiAwOTIzZDliM2RlNmVhODIyYzI5ZDUxYTJmMTMxOGViNDZlYjRlZTBiIHB5M2sKKzg2OTA3IDVjYjUzZjA5NGMxYTg4ZDBjMWVjNThkZTE4MThjZmU3ODA5OTMyNzAgcHkzaworODY5MDggOTE4NGEzOTA5ZGUwYzk5MzkyZGJlYjM3NGU0NTQzMjkzZDUyOTQ0YiBweTNrCis4NjkwOSA4Yjk1ZWEzMTcyNWIzZWU4MWVhMjY4YzcxNTA5NDhkOGQ2NWNkNDZlIHB5M2sKKzg2OTEwIDM4YmVjOTBmZDhhYjYwM2Q4ZmY4ODkxOTQ4ZWQ5YjljYzkwODhjN2YgcHkzaworODY5MTEgMDBjOGNkZjUzOTM2YjM1YWJjMjFhZjAxNDNmMjkzOGRkOTMzNGM2OCBweTNrCis4NjkxMiAxNDg5NmYxMzEzZGIwOWZmNGNhZjM1MTBmZjVmMGNhN2IwYjQzMGE5IHB5M2sKKzg2OTEzIGZmN2M1OTM3NzkwMzAwYTYyYzE1ZGI4ZDY0NjIxYzM5YjFiNjdiMDkgcHkzaworODY5MTQgNzE4MDk4NWMxYzIyM2QzMzIwZDliMjY2MjY3YWM0ZTIyZTVhYjg3OSBweTNrCis4NjkxNSBlNWMyOGQ2NzY5Y2ZkMTcxNmYyNzMxZTNkYmMxYWE5NTk3Yjk4NzVjIHB5M2sKKzg2OTE2IDJiYWFkOGJkMGI0ZmM4NjVmMmQ4ZDRiZTI5YzQyMzYwZDA4MTk1ZDMgcHkzaworODY5MTcgMzcwMDJlNGZmNjc3MmZiZmVjOTFjNjE2Yzg1M2QzYzMwNGExZWJkZSBweTNrCis4NjkxOCA1ZGEwOTNiNDljMmEyZDM0MjM2OGMyOTY3ZTUwZGY5MTEwNzRmYmM0IHB5M2sKKzg2OTE5IDEzYzcxYzhjNWMwZjg1ZWQxNWMzMmQ5MDUzNjU2MjllZjA4YmUxMTEgcHkzaworODY5MjAgNGUxOGI5YmUyNWE0MDhlMWI4ZDNlNjc1NmRmYTYzZDI5YmUyNzc2MCBweTNrCis4NjkyMSBjZDg4NzY3YjhkMGM5ZmYxNDkxMmNmNWIwOTAwNThiNzM1OWZlNDE0IHB5M2sKKzg2OTIyIDQzOTY1NTgwYzU1NmRiOTQ1NGJmNzAxNDA4NjhkZmE3ZGIyOTYzYjQgcHkzaworODY5MjMgYzViNTQ4ZmQwYzhjODI2MTMyYzI1N2NjNGMwYzQ2Mjc0Y2MwYjJhNyBweTNrCis4NjkyNCBiOTMxN2E5YTNkM2FiNzQ3ZjYzZWZjMTkxOTY4ZWExMzFjZjcxNzQyIHB5M2sKKzg2OTI1IGUzMWE0OTcyMDg0YWY1MjY5NTI3ZmMxMGQwNmU4M2Y3NzgzZTAyODAgcHkzaworODY5MjYgMDc4ZTVjN2IzMTU5ZjBjYmZmMGU2Nzc0NzNkMTQ5ZGVhMzVjOWFhYiByZWxlYXNlMzEtbWFpbnQKKzg2OTI3IGU3ODQ0YjdmNmVkNDllYjgyZTQ4OTMyODc0MzVhNDEwYzg4YTg1N2UgcmVsZWFzZTI3LW1haW50Cis4NjkyOCAwOWVkNDExYTEwOTA2MjhlNmMzNzcwOTM0ODIzNGJkNjM5ZGNjOTdhIHB5M2sKKzg2OTI5IDkwYjZjYmYyYjExYjYxM2NiYWJiMjgyN2VlYzI3MjYxMzhlMmEyZjAgcHkzaworODY5MzAgODljZGEwODMzYmE2MDM5MWMxNjIxMzc5NDBkNDhmY2VjMjMyNmFkNyBweTNrCis4NjkzMSAwZGRmYTViY2ZiZDM3MDNhN2YyOTVhZjY2NmRlN2IwMzRlN2JiMjAwIHB5M2sKKzg2OTMyIGQyZWE3MTFhYjEwN2M1YjQ4NjkwMTg0ZmMyZjg1MmM2ZDQzZjhhNDUgcHkzaworODY5MzMgZGM3MzQ3MjkzNWM1OGRjOTI2MTNmOGFjNDQ3ZGIyY2Q5NWJhODA1OCBweTNrCis4NjkzNCA3ZTQ4MzM3NjRjODhjMDAzN2ExZjlkZmY3ZDRkYWY3MDYzNjQ0NGRmIHB5M2sKKzg2OTM1IDlhMjA1ODMwOWMxYWE2MDdkMjNjMTY4OWUwMmFhNzNlMGM0NGQxMWMgcHkzaworODY5MzYgYjhiYmMwZmM2MTkxODhjNDJlMWVlNDAzMzJhYmQyNzJjNzYzNGExOCBweTNrCis4NjkzNyBlMzM5ZmNhNmU1MWExMDE2ZjE4ODU3MDZkYTQwOTQ0NTFhMzRlN2MxIHB5M2sKKzg2OTM4IGEzNjMwZGQ5MjIxODBiMjE5ZmIzMWZiMzhhY2Q0MmJjMzljNmM0NzAgcmVsZWFzZTMxLW1haW50Cis4NjkzOSA0NWFmNWEwNjhjYzdmNDA2YWY4MWYzNmU5NWExNTk4ZGVjYzNiMTc1IHJlbGVhc2UyNy1tYWludAorODY5NDAgMWFkZDhjZWY3NTI3ZmU5YTZmZjY0OTEyOTMxNzkxYWI3MjAzMTA4NiBweTNrCis4Njk0MSA1ZjI0MTI4NDNiYjkxZTZkMWRmMjkzZThhYjE4YjEwNzRkOTA2ZDRlIHJlbGVhc2UzMS1tYWludAorODY5NDIgODYyOWMyYTIzNGRiMDM2ZDNkYjg0NjkwYjg0ZDZhZDFkNzI5Mzk4MSByZWxlYXNlMjctbWFpbnQKKzg2OTQzIGRlZTIwMTU1ZmQ2NTc0OGQ4ZmMyN2I0YmQ4MjUyZjQyNzk2MGY0MDYgcHkzaworODY5NDQgMThkODlhMzBmYWJmOTkzMzY5MWY0Njg4ZWUyNDE0Y2Q4YjFiYTU2NCBweTNrCis4Njk0NSBlMTFmN2U2NjIzNjkxMDZkMmEwN2IwM2UwYWM3OGY4ZTlkYTJlNTYzIHB5M2sKKzg2OTQ2IDk5NmY4NGU1MDViZTM1MmRkMDk0NWJjMDNkY2JlYTRhMWRkNDVmNWUgcHkzaworODY5NDcgYmY0OTVkZGUyMGUzOTMyZGE5YjcyY2IyOTZlN2JlYTBhNWIzNzFmZCBweTNrCis4Njk0OCAxMDk4ZmFiODVlNDcyNzM2YTg4YWY1M2NhNzdkNTdjOWMxMzg3NmJlIHB5M2sKKzg2OTQ5IGY5MDU4MmM2Y2I1ZmY2YjcyMzUxYmMyOGJkZTQ3N2FhNmU0Njk4YWYgcHkzaworODY5NTAgNjRjNjQyYmI3ZmY3OWFlNmIyNTFlYmVlMmU1ZWY0YjAwNTBiYjVhMyBweTNrCis4Njk1MSBlMDIwMjFmYmZlMjJiNWM1M2JiYjlhZWI4ZDc3M2JlYTZiYWQ2OWYxIHB5M2sKKzg2OTUyIDFjYmZlZmZlYTE5Zjc2N2RhNmEzMmExZWE5NzZmOWQwMzM5NmY2N2UgcHkzaworODY5NTMgNmU0OWFmMmUwODkxMDlmYzhhMjg2ZGQ3MTNkZTZmNjQ1MTdlOTgzMyBweTNrCis4Njk1NCBkN2RlMzFhZTk1YTQ0N2NjNTBiN2QxMzVhNTMxNTBhYTFkYjIyYzExIHB5M2sKKzg2OTU1IGQ3ZmExN2E0NjY5ZGI4NWFhYmQxNTA5NjFiMzk2YTc2ZDMyOTYyOWIgcHkzaworODY5NTYgYzYxNGY3ODY3NWQ0YTcwMTI0MzY0OGE0NTg4NjA1YTk2NjM5NGFkMiBweTNrCis4Njk1NyAwOWQyM2ZiMGQ0MjhlZGQ0MDQxMjY4YTRjMGNlM2RkZmM1MzliOWM1IHB5M2sKKzg2OTU4IGEwY2Y2NGE1MjkxZTc1YTMxY2UyM2JiOWQ5ZmRiYzZkMTIyNmVkM2MgcHkzaworODY5NTkgNzg1MWJmYjFiZDczMzlmODYwZWRiM2IxNjc4OTY1M2Q4YjMzYjg5ZSBweTNrCis4Njk2MCA3Njg1NGU0NWM0NjUyNzBmMmQwMDE4MDYxNTA2Y2ZhMDQ4ZTA5Mzg2IHB5M2sKKzg2OTYxIDhiZjkwYjg3MTBkMDM3ODI3YzkxNDE2M2Q1MDk2NDFlYjkwOGVhMWMgcHkzaworODY5NjIgYTVhM2FlOWJlMWZiMDM5NTI4Njg0YmJjMjI4OWZlZDI2ZDQxOGM2MiBweTNrCis4Njk2MyAxMDc1NjFjNThkZTEwNDM1MzE1YzNhZDFjOGYyZDVjN2M4Mzk3OTU0IHB5M2sKKzg2OTY0IDQ4YzI4YzI4MWQ1N2FmZmU0Njk3MWNmOWM5N2NlYWExMTgwZDBjMDEgcHkzaworODY5NjUgMzgzNTNiYTQwOGExZDg0MjZkYTc1ZjA1MTg4OGU0YTIwMjBjODZjZSBweTNrCis4Njk2NiA1NzdhMjVkNjU1YzRhYWZjMTg3ZWM0MDg5MDVmYzM0Nzg5ZjhhZTQ3IHB5M2sKKzg2OTY3IDgxZjRkMWZkZjU3MzQxMzJlZDMwM2E2MjkxMmQ0ZjAyYWJlYjE4MTMgcHkzaworODY5NjggN2MxYjRjYTQ1ZGI2ZGQ5ZTBjMjU4Yjk2MWRjNTFkMjUzN2QzNTA0MyBweTNrCis4Njk2OSA5NGZhNTNiNThlZTUzNDhlZmYxNWNhYzZkZDliMmQ0ZTVkZDg5ZDMzIHB5M2sKKzg2OTcwIDc4MjE2MjYzNDI1ZDE1ODFlOWZmOGVmYjdiOTk3OGE0Y2E1MDcwM2YgcHkzaworODY5NzEgNGE1OTk5MDIzMTBkYjhhNGQ5OWRjODZiMDhiMDFhNTU1NDQxZjEzNCBweTNrCis4Njk3MiA1YjY4Njc1ZDcyNjljNmE1YzA0OWRiZTM3YzJlNjFkMjQ4ODRhYjIwIHJlbGVhc2UzMS1tYWludAorODY5NzMgZmRiMzUyMzFlYmUyNTlmNTJlMjgzMThiMTFkOWFiOTFjZTEzZjkzYSByZWxlYXNlMjctbWFpbnQKKzg2OTc0IGZlMmE1NmExYmE3NDQzNGNjMDExYjViNzA4ZjVlMGZiMmMzZDllODQgcHkzaworODY5NzUgZmFhZDE3OTdmYzkyY2Q2MWVlNTdlOTMyMjZiMzA1OTlmZDg5OWNjMyBweTNrCis4Njk3NiA1ZmRhNTE5ODM0ZGY4NTJiOGU0ZjY2M2I3NTI2YmFiNjY2ODE1Y2Y3IHB5M2sKKzg2OTc3IGFlMTAyODJlN2Y0ZWM3ZjJkNzJjNDY1YzM1YjIyMTRjNzkzNjA2NjkgcHkzaworODY5NzggMzAxZDIzZDZkZDliNmVkODAzMzg2NDBkYWU3MWU4NTg0Mjg5NGUwYSByZWxlYXNlMjctbWFpbnQKKzg2OTc5IDUyM2E2ZmM1M2E3MDVjNDVjZmMyODk5YTM5MDY4NWQ2ZDZiYThlMjIgcHkzaworODY5ODAgYjMwMDQ4NjYzYjdiZmU2MWU3YjUyZGUwYmE5ODMxMGNhY2IzNzAyZiBweTNrCis4Njk4MSAzZDJiZmQyMGMyZjRkOTJkZjU0YmFkNzVmNTJlNDYzNTQwNjczOGIwIHB5M2sKKzg2OTgyIDMyMTRlMjMxYTFjNDU5M2U1ZmIzMGJjOWRiZGIzYTBkYjJlOGI1MTkgcGVwLTAzODQKKzg2OTgzIDIyZjBjZjFhMjcxMWIyNDQ3MTgwMTFmNjc2MzNkZDRkOGUwODNmNGYgcHkzaworODY5ODQgZjc0ZjVhMDgzYjZmNzg1N2I3Zjc1NGNiZDBkYWEyYjRhODVhOTliNCBweTNrCis4Njk4NSA4M2FkMDBhM2E0ODkxODE2NTJkNGJmMmVkNWJhZGMzYWJjNDI2ZWRkIHB5M2sKKzg2OTg2IGIwMzQ4MzI0MTRmNzg3ODA2ZDJhYTUzYThmOGM3NjFhNWI5MjVhMzMgcHkzaworODY5ODcgNjY1ZjBmYzZkZGQ3YmYzOGRmNTAxMTE5MTlkMzdmNmU1MjMzN2ZhOCByZWxlYXNlMzEtbWFpbnQKKzg2OTg4IDdjZTkwMDFkN2E3NzFkMjQ0ZjQyOWNmYTI1NGZhMmVkZTI4YTU3MWEgcmVsZWFzZTMxLW1haW50Cis4Njk4OSAzMTgyYzYwODdlNTJlZTEwZjZhZTE0ZDdmYzQ4MzA4NzQxNjhjNjBmIHBlcC0wMzg0Cis4Njk5MCA1NTZkZjA4N2RlNGZjMTMyZTlkZDQwNmQwODRiOWRlMzIyYjViYjkxIHJlbGVhc2UyNy1tYWludAorODY5OTEgZTc1NmVjOGY0MTQzYmI5YTNmMTQ4M2M0YzMyMjYwNjcyMmIyNjA3ZiBwZXAtMDM4NAorODY5OTIgNWE3MjNiN2FlZmI3MGY3MjhjY2VmM2Q1MjM1M2JjNWFhNDExMTZiMyByZWxlYXNlMjctbWFpbnQKKzg2OTkzIDRjOTg0NDczMjkyNTczMzliOTU5ZDE3YjJlM2ZiMDhjZjI1ZWM4MjQgcHkzaworODY5OTQgYmQzYmE4OTk0MmUzMTZkMzVjYTlhMjIxYzUyZTY0OTBiN2RmOGQwOCBwZXAtMDM4NAorODY5OTUgZjg5NWEyMjIxZmUxM2IwMDlmZGI1YmUwMjk1YjFjNmQyYmY5M2E2ZiBwZXAtMDM4NAorODY5OTYgM2RmZWM4ZjE0ZTczMmU3YmQ2ZTAzNWU2NmI0NWYyMDJhYzE5ZDhiNSBweTNrCis4Njk5NyAzZDlhODZiOGNjOTgwNDZmMGQ3NDU2NDc5ODI5NDEwZTM4NmJlNmIzIHB5M2sKKzg2OTk4IDYyYjYxYWJkMDJiOGQ3MDk1Mzk3Njg3OGVkNWNlMmMyMTU3OTE0ZmMgcHkzaworODY5OTkgMTQ4NjQxNmM4NmQ5N2Q4MjE4MTA3MzliYmZhY2ZkOGUzY2JhN2NkNiBweTNrCis4NzAwMCA2YjAzNDkxZWUxNzFiNDliZjE3MGUzMzJjMWRlZWU2MTkwZTYwZTRiIHB5M2sKKzg3MDAxIDRjZGFmYjAyYjIwZTE1NzQ1MmFmNDY5N2FmZDhjZDdkYzQ3YzgzOTYgcHkzaworODcwMDIgNWVjNGVkNTE4ZWY4ZmQ4NDljOTMzOTZiYzBiYTFmNTFhNmVlMjE1NCBweTNrCis4NzAwMyBhNmU5NDlhNmZmYzljOWYxZDcyNWY1OGYwOTgwMTE3YjE3YmE1NjBiIHB5M2sKKzg3MDA0IGQ2MTgzYmNlYmRkZTY4MmU5NDMyMDY2MGFhYzE4ZWMyZGU5ODk2M2UgcHkzaworODcwMDUgZDI5YjU1YWMxNjMxOTM4MDYwZjk0MjRiNGExNGY4OTQyZDhhZDk4OSByZWxlYXNlMjctbWFpbnQKKzg3MDA2IDdjMjNhNjhmYTNkZTg2YTM3ZGU5OTFmNmExNmJiYTY5NDZiMmQ2N2EgcmVsZWFzZTMxLW1haW50Cis4NzAwNyA3YjZhZjU2ZWU3NGQwODQ3MGQwYzExMjg1YjZjM2YxNWMwZTljNzdiIHB5M2sKKzg3MDA4IGEyZmFiZTIyNGU4NzM2MzIxMzgzMTg3ZTJiODgyZThjMzg4YmE4NGEgcHkzaworODcwMDkgYTkwNzExMGRmMjVhMDg5Nzg5YmUwYjg3YzUzMTdiZjc0YWYxODhlMiBweTNrCis4NzAxMCBiMzdkYTYwYzkwNzJhMTYzMDBlNWVlMTMzZDMzOTZiNmVhNzA0YjYzIHB5M2sKKzg3MDExIDU2ZWVkOGY0MDdiZjk0NjlhNGRkMjZmZGExNGY4YmE0YjAzNGM0ODMgcHkzaworODcwMTIgMWQzNTMxYWFjZWEwZTEwOTVkZmU1NjQ2MTM3NGZkNzJhZTYyNTAwYyBweTNrCis4NzAxMyA0ZGY4YjQzNDJlNzAyNDNmNzk1MTYxMDRhNjRiM2U5MTk3ZjQ4YjgzIHB5M2sKKzg3MDE0IGIxZTc4OTYzMWRiYzQyMWQzYmI2NDc1Y2IyY2EyOGVlMDFhNzU5MWUgcHkzaworODcwMTUgNTFkMjhhMGQxYzMyZThkOGJmYTVhMjQ3ODVkYzQ0MDM5Y2M3Njg3NyByZWxlYXNlMzEtbWFpbnQKKzg3MDE2IDNhYWYzN2MyNGRiOGZhNzc4NmVlZGFjYzRhNWQ3N2QyYTMzZTNmNzMgcmVsZWFzZTI3LW1haW50Cis4NzAxNyAyZTFmY2YyOGM5MTQ1Y2Y2NzBhYzhlZTdlZDhlMzRkYTY0ZDAzYWU0IHB5M2sKKzg3MDE4IDg5M2IwOTg5MjllN2VmZWU0Zjc1M2I1ZGFlOTA4NTgzNWQzYjc1MjYgcHkzaworODcwMTkgNzEzYzZiNmNhNWNlMjJlYTNjZWRhODBkZDFjZDRhYmVmYjdhMDc3NSBweTNrCis4NzAyMCA4YjAyZjdmOTQ3NWIyYTM3NDg5YTE3MmNkOGVlZmMzMzliNmY3N2Y3IHB5M2sKKzg3MDIxIGYzNWE2ZDdlMzI1ZmY1MzJjYjM5NjU1N2E2MzZlZjI1NjRmM2UxMWUgcHkzaworODcwMjIgNDhjNDA3MDk0MTdiOWM2MGRjNGJkY2ZiN2MwZDM3NTEyODE2YjNmNCBweTNrCis4NzAyMyBmODJlZWE0NzgxZjE1NjNhMzU4MjE5OGQ3ZDMwMjMzZjBlYTkwZWM0IHB5M2sKKzg3MDI0IDcyMTRkYzViZmY1Y2ZiNzk4OTE1NDU3MzczNDQ4YzFmYTM0NWFlYjYgcHkzaworODcwMjUgYzI1NzhhNjg4NzlkOWM1YjdlYjhjZjkzM2MyNzMxYzdhM2Q4Y2ZmMSBweTNrCis4NzAyNiAyOTZlNmY4NWY1NmQ0MTYzMDFhN2Y1OTViN2RiODZmNWM5ODMxZmJkIHB5M2sKKzg3MDI3IGQ1ODJkYWJiMzBmODViNzcwZjAyZmQ3MzlkMGU0YTEyN2RkOWI1OWUgcHkzaworODcwMjggNDg0NTBmMDU5NzBiOTAwODE0MWM3NjM2ZjIzM2ZkMjA3ZTM1Mjc1MSBweTNrCis4NzAyOSA4Y2FiY2Y0ZjkwMzM4YjVhOWE1MDU1ODg3Mjg4Y2U2ZDIzMThiMTA2IHB5M2sKKzg3MDMwIGJlZGU4M2UyMDg1MzRjMmRhZmFkZGJmMmY2M2VhM2RhOWQ2NDE0MjEgcHkzaworODcwMzEgZGU3ZjI4YTY0MGU1YTY5Y2I2Y2JlYzM0ZjczZDg2Y2ViYjYyNDY0NCBweTNrCis4NzAzMiA1NzNhNjcyNzYyMTcxZjA0ZDIxNjBkNDIxNWIyY2E4YzUzMDg2NTRlIHB5M2sKKzg3MDMzIGE4ZjM4NDc2MTlmNGRiMjQ4N2ZiYzZiNzYzNDAxNjYxMzllZjdlOGIgcmVsZWFzZTI3LW1haW50Cis4NzAzNCA5YjYwMzYxMWY2ZDRjNmQ0YWE0OWZmMzZlNzZmNDk2ZjBmYjBmYjI0IHJlbGVhc2UzMS1tYWludAorODcwMzUgMjk0ODA2Y2FjOGM1NGJlNTNiYmQ1ZjVlOGYwNDQ3YTVkMjI3Y2Q0MyByZWxlYXNlMzEtbWFpbnQKKzg3MDM2IGRkYzZjNDdiZjgyNWUzOThlMGY0YWQ1MWUwNGExMzkwMTQ4ZGQzYzkgcHkzaworODcwMzcgZjE0ZjYxOWQ3MDUwMDI3NTkwNDVlMDI2NDRhM2RlYWJiNjM5YTJkNSByZWxlYXNlMzEtbWFpbnQKKzg3MDM4IGIzMmQxOWViNDMzOGVjMTU2ZmRlODQyNWI0NTYyYTA5NjAzMjRmMTMgcHkzaworODcwMzkgZmQ2MzhjYTc0NjM0YWExN2ZjMzgyODdkNDY1NjVhMWE5MTNhMWE3NSBweTNrCis4NzA0MCBhZTNmYTc4MWVlZjJlNDAzNWZjMjFhYzg5MjBlM2NkZGU1NGE2MzY2IHB5M2sKKzg3MDQxIGYxYmUzNDkyMzRjM2U0ZGY0M2QwY2YzYmM1OTc5ZTViMDQyYmY5ZmUgcHkzaworODcwNDIgY2I2ZDVkMTUxYmI0MjFhMzYwNjA2YzdmMDgxOTM5OWJmYjkwZjJlMyBweTNrCis4NzA0MyBmMmE0YWRlMzZhMWVhODEzMDU0YzkyYTU2YTI3YmQ3ZmVlMDZlYjZhIHB5M2sKKzg3MDQ0IGI1NWYzZDYzOWNkODZmOTU0N2Q1NjgzY2VkY2Q4MTY3Y2E5MGI2ZmQgcHkzaworODcwNDUgYzJjYTg2N2NkZDFhMjA3ODcwMTBlMDMzZGI0ODMwZTRiZDM2MDQ0MyBweTNrCis4NzA0NiA1ZWViZTRhZDBkODc4ZDUxNDA3ZGFlZmFmYzhjMGQ3OTI0YzgyOTQ4IHJlbGVhc2UzMS1tYWludAorODcwNDcgMGZkNmFlMGE4NTY3ZGExODkxZmU1YWU0ZDBkYTk0NTM1ZDk5NDY0OSBweTNrCis4NzA0OCA5ODMyZTk2ZTczMGE5MDU0ZTIwN2RlMjlhNTQ1YzY1NTdmYTAyZGFmIHB5M2sKKzg3MDUwIDc1NzExZDE3NDNjY2U2ODdmNjliYWM4OTUzZmM5NTIzODBhMDZjZWUgcHkzaworODcwNTEgNGU2MjkyN2EyYmRhOTU5OTQ3NzA2NmQ1OWI2Nzk1MzRkNzczMDgyMCBweTNrCis4NzA1MiA3NzlhMjNhMDhkOGNlZWYwNzNmOTY4YWEyN2UwMzg3Mjc3YmFkODYzIHB5M2sKKzg3MDUzIDMzOWRkNjIyZGU1YTU4MzI0ODQxNDY3MDQ1OWQ5Mjk5OTRmMWU5YWQgcmVsZWFzZTMxLW1haW50Cis4NzA1NCBiYTcwOWFkM2ZmNGNhNjljZjZjZTg0MTdjNjlhMTAxYTExYWI1MTQ3IHB5M2sKKzg3MDU1IDA0Y2VjMmUxY2E0MWE4NzRjYjg1OWY2MjhmOGU0ZGNiNjk0M2Y1NTcgcmVsZWFzZTI3LW1haW50Cis4NzA1NiAxODI3YThhYzliMThlOWM4NDZjNjg1NjRlNTUzOTJlOGJkODI0NzdmIHB5M2sKKzg3MDU3IDNmZWU4OGU2NDQyYTNkYTI1ZjlmNWRhZmE2OTFkNDk3M2ZjZjdjZjkgcHkzaworODcwNTggZGZlODZkYTI3ZTY4YzM4ZTY4NDhhYTRjNDIyZTVlYjMxZjIyMzU0OSBweTNrCis4NzA1OSA2ODI1YjJjZDliODFjMzhiZGYyOTA4NmViOGRlMzA3MDEzNTgwODA0IHB5M2sKKzg3MDYwIDNkMWJjYjU0YTgyYjY2Y2Y0ZWZiYTUyMTJhZjA1ZGZhNDY0OTM1OGEgcHkzaworODcwNjEgYjdmMDhhMGFlYTI4ODY1MTJkOTFhMmU3YzJmNDg0ZmM4NjNjNzhlYSByZWxlYXNlMjctbWFpbnQKKzg3MDYyIDExMDk0YjUyODhmOTg5N2UyM2FjNTc1ODZkMzc2ZTc5Zjk0MGFiNDkgcHkzaworODcwNjMgNTZmNDJlMTg0YTE5NmU5ODcwODQ2Y2YwNmQ4MDE2Y2ZiMzc0YTYwNiBweTNrCis4NzA2NCAyZjVjZDE4NjliMWE1ZjZjMWMzYzIxYjllMWM5NjFmMWY1MDVkNGVhIHB5M2sKKzg3MDY1IGVjNzlhYWY4YzBiZmMyYzBmM2YzZjk1OWM5NTUyOWQ5MmIzYmYzYjYgcHkzaworODcwNjYgODM1OGRjMTNhNTc0ODViMDg5OGU2Y2Y0YjcxYTFmMzZkNjQ2ZjU0MSBweTNrCis4NzA2NyAxY2NiYmRkYmVhODgxZTdiZTY4MzJhMjNmNmFiNDE3NWExY2I4ZmFkIHB5M2sKKzg3MDY4IDgzOTU1ZTQ2MWM0YmE3MzVhYWZiMzZjNDg2NTYzYzM0MmE2NjQ1Y2IgcHkzaworODcwNjkgNmZiNTY0MDRiNmJiMjNlZDUyNWFkZGRhNjJjZTRhY2I2OGYyMmVkZCBweTNrCis4NzA3MCA0ZDBiZmMzMDM3MjQ2NDkzMmU0OTJlZTU3MmZiMmZkNTRhYTc0ZjBkIHB5M2sKKzg3MDcxIGMzOGRhNGM1NDE4NGU4ZjA3YWY3Zjk5MzhmNGJjNjM0NzRjZjcyNTQgcHkzaworODcwNzIgMDczMTc2ZjAzODEzZjBlNGRhMzMzZjY5YmMwODA2N2JhZDFmNDk4MiBweTNrCis4NzA3MyA2OWE1MGJhNDRlNjViN2Y5Y2E2ZmQ1NjFlNTcxNzBiMDc0NDE3NDBiIHB5M2sKKzg3MDc0IDI4NWUwY2ZiZjkwZjMxMzg5ZjJiOTA5ZTk1MDViNmZiYjlmNzM5MDIgcHkzaworODcwNzUgNWMzYWM4Nzk1ZTljNGQ0MzczMzY1MmU3YTQxNGI3Y2EwMmFmOTIxYyBweTNrCis4NzA3NiA2ODFhOGU4OWM2NWM4MjM4YWRhZTZlNGFlN2VlNjYwNDQyZGM3MDhmIHB5M2sKKzg3MDc3IGIzNjdiNTMyYTgyMzM5YTRjNDMxMDQxY2UyODQ0ZjMzMDljODUyOWYgcHkzaworODcwNzggY2IzY2ViY2ViYTUwZmQyYWE3ZDgxNDVkMzY1NzYwN2FhZjRjMDg0ZSBweTNrCis4NzA3OSBiOGVlZDdhNTZhOGNlZTU0M2Q1MDVkMTZhNzE4NzBmOThmYTMwN2RiIHB5M2sKKzg3MDgwIDU5Zjk3MmIxZDU2NzAxZjE1ZmQ2YWQ4ZTJhNDMyNDg0NDk0MGQ3NzEgcHkzaworODcwODEgNTk3YzMwNjlhZmQzOTkxNzQ3MDEwYjI3ODViNzc1ZDgxNjJiMDllMCBweTNrCis4NzA4MiAzZjI0MjQ0YjEwZmQ4OGQ2ZmMzNGNiMjU4Nzg1N2Y4NzBkNjJjYzI0IHB5M2sKKzg3MDgzIDgxNzA1NTU0MTZhYzQ0ODgyM2UzOTgxNzQxNDBmOGI4OTIxYWIyMGUgcHkzaworODcwODQgNWYyODZiYTAxMzk2ZTczMzhlODcxZTU1ZTAwNmJmNTMxZWRjN2ZlYyBweTNrCis4NzA4NSA0OTY1YmU5MGZlMTk5YTgzMzcyZDY2MzUzOTkyNDAyZjZmZGVmNmVhIHB5M2sKKzg3MDg2IDkwMmRiNDcyMjU5NGMyZjkwNTVlNTcyZTNkNTI2NzI1NjU1OTczOTcgcHkzaworODcwODcgOTA3OWVjZDQzM2EyMjU4OTQ1NmE4NWE4OTAzODA1MDUxOWExN2ViMSBweTNrCis4NzA4OCBiNjM1Y2VhOTQxOTU3ODBjODcxNmUyMzY0NzlhZjMxOWJjYzI2MjUzIHB5M2sKKzg3MDg5IGY0NDhkZDZiNjdkYmMwZmU1NjkwMTVjZTZiZTUwNjRkYmM4YzNkNzkgcHkzaworODcwOTMgMDYyOTA3ZjY4NWFjNGU3MWZlNzE3YmEwYjE5M2FiYjQ2ZThmY2MxZiBweTNrCis4NzA5NCAyM2ZmNGEwYzM3NWIzMzMyYTk3ZTU3OTgwNThiYzM3MzRkZWZjYTAxIHB5M2sKKzg3MDk1IDFlNGE2ZTU1NzZhZjRlNDcwMmJhZGM4ZTBmYTdjZmFlNWZlMWFkNzYgcmVsZWFzZTMxLW1haW50Cis4NzA5NiAyNmVkZmIyN2EwY2U4ZTk0M2M1ZGM4ZDU2MDU1Y2RmNDc3NmM3M2JlIHJlbGVhc2UyNy1tYWludAorODcwOTcgMGFlMDdjYWFiNTA2ZmVmMTQ4MTE5YTFjNWQyY2U2OTAyYTA4ZDUyNyByZWxlYXNlMzEtbWFpbnQKKzg3MDk4IDI2YzY1OTM1NzFmMWZhZTdkMDIzNDNmMzYyZGIzZThhMDlmYjUzMDIgcmVsZWFzZTI3LW1haW50Cis4NzA5OSBlMTE1YjJiZmE5ZDdjNjUzOWQwZDgxZjZiNTVhM2VmNTI2ZWRjZjNjIHJlbGVhc2UzMS1tYWludAorODcxMDAgMTVhNzU3MGUzZmZkMDNkMjc2ZTBhYWRlYzIyNDgxOTc4M2UyNjZkZiByZWxlYXNlMjctbWFpbnQKKzg3MTAxIDMwZWFjYTQ3MzVjYjhjOGU2MWI1ZjkyZmJiYThlZDRhNGVmY2UyMTQgcHkzaworODcxMDIgYzQ4OThjZWY0NzE1ZjA4ZmU3M2JjMjdjNjkzYzRlYmYzNWY4MGRiYSBweTNrCis4NzEwMyAyN2Q2YWE0ZjE4MTExZjUyMzg4NDIwZWNmNTc3MGMzMzQ0ZWEwOTYxIHB5M2sKKzg3MTA0IDI1MTNkODkyYjI1NDE4YjVkMGFhMmFiZTU1M2JlOTM4NTU3NWMyMmMgcHkzaworODcxMDUgODY4ZDU2YWMxYzU5MDY2MjhmM2U4MTIyZDBlYzEzZWYzYTQ4ZWE5MyBweTNrCis4NzEwNiBjMjM0OWI2YmZmYWYyYTQ5ZDNhZjQzYjZmN2Y4MWRmOGZhNWU0YWZjIHB5M2sKKzg3MTA3IDRhOTRjMmRiZjllODRhNDUxZWZjNjZiYTM1YTRmNjcyNDUxZjBkMTUgcHkzaworODcxMDggODdmMjNjNzk0OWVlODEwOTMzZjk0MTdmYzVjOTQ2MmExOTVlZjdkZSBweTNrCis4NzEwOSBhMWYzNmI5MzczYmJhZjE5MWY1MWE4MzI5YzhlYjg0YTBkNmM3MGRhIHB5M2sKKzg3MTEwIDM5MDA5ODQxNDcxYjU5N2EzYjJiNzhlN2Y1ZTNmMDgzZTk5M2EyYTQgcHkzaworODcxMTEgNmVmMWFlYWU0MmJlYjZlYzg1MWVkZmIwMzFjYzIwNWM5ODExMTMyMCByZWxlYXNlMjctbWFpbnQKKzg3MTEyIDExZmM2YzM4MDhiNjQwNDdlYmVjMjRiMzI0MTU2YjdjMmNjNzFkOTAgcHkzaworODcxMTMgMmZiMWVjNWM3MzVlYjIwMzdhZmRkMTU2YmUwMTQ1ZjI0MGZjYmY0ZiBweTNrCis4NzExNCAxMjFlZDg0OGM2NzBiMmI1MmU2ZTI2ZGI4MzIxYmRmNDA3NTkxNzk5IHB5M2sKKzg3MTE1IDM5NmQ5ZmE0ZmEyNDMyYWZmODhmNWU0ZTdkZmE2Nzk2ZWM3ZTk1ZjQgcHkzaworODcxMTYgYWIxMzU1MzcwMmY1NWMyNWUxYjNiNjdiOWM5NTg0MGFlNGNlMmZhYyBweTNrCis4NzExNyA0MTdmOGNjY2QyMDg5YTY5OTg1NGY5OWJjY2JhMTk4MjMzM2MwMDYwIHB5M2sKKzg3MTE4IDUwZGU5ZjFhNmQ1NDcwM2U0OTk4YTc3NTQ4MDUwYjIxYjE4NzQ3NzggcHkzaworODcxMTkgNzg4OTg0YjdkYTZmMmVlZjE4MDQ5ZjA4OWM1MjRlZjg5OTAyOGNhYiBweTNrCis4NzEyMCBiZGVkMDY3ZjkxZThkZDhiNTdjYjZiNjMxZDg2MzYzMThjOWRmMzU0IHJlbGVhc2UzMS1tYWludAorODcxMjEgNzVjYWI2Y2Q5N2M2MzUyM2E0MzliMTIxOTUyN2ZiNWY0MzUxMmViYiByZWxlYXNlMjctbWFpbnQKKzg3MTIyIDc4NmZiZWQ3OGQ1N2Q3NzcyNTBjMjYwZTU3NDg4MDgzNDQ1NDZkOWQgcmVsZWFzZTI3LW1haW50Cis4NzEyMyBhYTMwYjE2ZDA3YmM0NTRmZmI2MjU1NjhhMWU0YTAxODE5YmYwM2E1IHJlbGVhc2UyNi1tYWludAorODcxMjQgZjRmNTZlZmEyODcwMjAxY2ZjZDUzNWUwNTM0YTc2OGI4NmU4NzkyNyBweTNrCis4NzEyNSA5ZTcyYjZkMGY0OGJhM2Y5MjU3YmZlNjJiYjc3NjI2MTY1MmIyNjczIHB5M2sKKzg3MTI2IDA4MjFlZjEyMmQ1MzFkY2UxYTc5M2YyNmZmNzZkMTQ5ZjQ4MWVjZjQgcHkzaworODcxMjcgYTQ2ZTE5ZTg2NjgwMTY1MzM5NjExYWFhZGU0N2IzMGIxZTA3NzJmMCBweTNrCis4NzEyOCBjNzE4Y2I3ODZhZWI1ZmM1ODAyOTdlZWNkZjIwNzJmMjg2NTVlZTg4IHB5M2sKKzg3MTI5IDMyNGQ5M2Q2ODUzMzFkZjZhZjk4Y2E4NGUzZjk3Zjk0ZGYwODJjNDMgcHkzaworODcxMzAgZDk0ZDM2NWQ3Y2U1ZWM2ZmIwNWU4Mjc0MDYwNDY2OTFlYTUwNmNmYiBweTNrCis4NzEzMSA1MjIwMTIyZTNlOWJjN2QzOWZlYTczNmQ5YzllNmJlMDk3ZjNiMzU1IHB5M2sKKzg3MTMyIDdiN2Y2ZWY0Zjk5YzdmZjYxMjQwMTUzZWY3YmM1Zjg2ZjM5OGRjNzAgcHkzaworODcxMzMgOTVhNzNlNGIyY2ViM2UwMjlmODZlM2E5MTRjYWVjNDNiOWM5Y2U2OCBweTNrCis4NzEzNCA0YzdlMzJlNTkyODg1N2Y4MDZiMTM0MWFkMmFmYmEwZjg5YWM4NzY2IHB5M2sKKzg3MTM1IDExMzkyNWI3OWI5N2IwM2M2ZWViNzRhYmViN2NhNDMwM2MyODIwMGIgcHkzaworODcxMzYgZDU3NTkxYmRmNjFlOGU5ODM2NTRlZGJkMjVjOWYzYjgwY2MxZmQ2YyBweTNrCis4NzEzNyA1MGQxNzBiYjcxYzc1MzE4NjE0NjdjY2M1NzVkMDRiOTY4MjNkNGU0IHB5M2sKKzg3MTM4IGI4NDI2MWJkNmQ0YTRlNmViMGJhNzc0MjE0ZDE0MmY0Y2FiYzUzYWQgcmVsZWFzZTI3LW1haW50Cis4NzEzOSBlMDA3MmJkZGQyZDU1NzAwYTM4Y2ZhYmVmNjdkYTk4YWE5NGJhZDBiIHJlbGVhc2UzMS1tYWludAorODcxNDAgOGQ0ZmVlZGVhYWVkMzQ1YTRmZjQ1YTMxMDVkMWY1MTI3NTVjMmI1NCBweTNrCis4NzE0MSAxNjliZjAxYmI1MDdlMDc4OTRhYTNkODMwM2RhMGZjNGQzOGUzN2FiIHB5M2sKKzg3MTQyIDIxZGY4MTU1Yzc3MGYzY2ZhNjY2OTQ0MDAxMmM5YTkxYzIyMTQwZmUgcmVsZWFzZTI3LW1haW50Cis4NzE0MyBmOGJlYTk5NjA0NjIxMThiYjYxYjMzZDBkNzM0N2JiNmJlOWRjYzIzIHJlbGVhc2UyNy1tYWludAorODcxNDQgODAwNTYzYWMwNTdlZGFlM2U2ZTI1MWU1ZTNiYzAzYTg4ZDljOWM5YiByZWxlYXNlMzEtbWFpbnQKKzg3MTQ1IGQyODEyNmViZDYwZDAyZGE5NzIyMzQ1ZDEyM2JjNjExNTY5MmY1YjYgcHkzaworODcxNDYgNmU5ZjM5N2JiYTAyNWUyYWIzZWUyMDZiMmM1NmU4MWFkY2I2MTg4MCBweTNrCis4NzE0NyBjNTM3YmQzN2Y1MDhhZjEzYzIxMjhmNDJkNTIxZWEyNTYwZWZhMjk4IHB5M2sKKzg3MTQ4IDFiNjU5YTAwNTcwYmRiNGI3ZGIwYTZlMzJmY2QwOTZjZGIzYmRjNTYgcHkzaworODcxNDkgNzQwMzAyYmIzYWRmYjM4NGI2NzY0NmI0MTY4YjlkYjQ3OWQ4MmU5OSBweTNrCis4NzE1MCBiYmNlNDJmNmRkN2RiYmYyNmE5NjEyZDMyMmVmNjNiM2JkZjI1NjgwIHB5M2sKKzg3MTUxIDNjNTg5Y2E0MWQzYTNkMWIxNjE1YTI2NjRjZWM4MzQwYmY4MzgzOTUgcHkzaworODcxNTIgMTQ4NmQzMTcxYzY4Njc4YWY1N2IxNjk1OTY3Zjc4NDJjMDQ5NmEyZiBweTNrCis4NzE1MyAzOGRjNDEzOTg1NGM4Y2I4YWI2YzdmYTQ4ZjQ5NjYxMzQ5NWM2NTdmIHB5M2sKKzg3MTU0IDljYjJlY2JiMWYwY2E5Yjc2ZTQyZjkyZWIyNTM3ZjI2NjgzYzllMzYgcHkzaworODcxNTUgOGMyNTRiNjRhNDM4MDRjZDI5MWY1Y2FiOWYzMzI3MTA3MTM0MDk1NSBweTNrCis4NzE1NiA4ZGUzMzU2Mjg1NWZhZjljYjk2YWM2M2Y4ZGY0MzM5Y2M4MTY4YzMwIHB5M2sKKzg3MTU3IGM4NmRjMmJkM2FlODEzMTNlNDdmYWM5M2YyMmFhNzRkM2ZhNmZkMjggcHkzaworODcxNTggNzRmZTczYzEwNjExZDIzZDFlMzhiNjM1NTlkZTVjYTA5OWI5ZDhjYiBweTNrCis4NzE1OSA3MzhlYWVlZDBiMWEyNDcyOWQxNjAyOWVkNmQ0N2YzNDZlMWQzNDhkIHB5M2sKKzg3MTYwIDRmODQ5NzIwYmY0MTM3MzBmNmRiY2U3YjIzY2U4M2Y0NWYxNzE1ZDAgcHkzaworODcxNjEgMDEzM2I4Y2I3ZDgwNmQzN2UzNTczM2Q3YjQ5ZTk2NTA2YzQ1ODhmNiBweTNrCis4NzE2MiAzMzBhOTg1MjM5NmRmODhlZmQ2Y2U5MmU1Y2MyOWMzODMwOTZjZGViIHJlbGVhc2UyNy1tYWludAorODcxNjMgNzI1M2JlOTZhMTllYmYxNjg4YTZlYmM3ZjQ4MDQzZWUyZTQ4YmU2NiByZWxlYXNlMzEtbWFpbnQKKzg3MTY0IGZhNTViMDNiZTU3NDAyZTE4OTRmNGRmYzYzOTFmNDc0ZmIzOTY2MDkgcmVsZWFzZTI3LW1haW50Cis4NzE2NSAwNGVkOWRiYzZlMDUxYzMwOWQ2OWU4YjhjMThiZDEwYzNkY2FmMGJkIHJlbGVhc2UzMS1tYWludAorODcxNjYgNzE0YjhlMWVmNzI2M2UyODA5YzlhZDlhNTNmMDU5OGIwODNhYTUxZCByZWxlYXNlMjctbWFpbnQKKzg3MTY3IGFjM2M1NTI3MWZkZDQyYTAxYzEzZTY0YmYzYWY2YzI4YmVjYmE3MWYgcmVsZWFzZTI3LW1haW50Cis4NzE2OCBhYTk5ZGM4ZjcwNWRmYmE5MmQ1NWZhYjY2NDgxZjRiYzBiYjdkYWY0IHJlbGVhc2UyNy1tYWludAorODcxNjkgMjA3ZWE5YTA1MDYyZjI0MmE3Mjc2MTUwMTZiMzRkOWQ5ZWI1MzU2MSByZWxlYXNlMjctbWFpbnQKKzg3MTcxIGQ2YzcwMmQ0MGZmYjJkZThlMWJmNDI3NTYyZjUwYzUxNzU1MGE3MmEgcHkzaworODcxNzIgMzUzMDc5YWY0ZjUyNzVjOTExOWQyM2ExNWE0OGMzMjRkNzE0ZDk2NSBweTNrCis4NzE3MyA3MDQzNmI0NmU0MzRkMmQ5MmU4NjQ4NzQ5NzFhMzNhZjBhNTRhZDRmIHB5M2sKKzg3MTc0IGIxYmRlZjU2OTY2ZWUxMzQ5ZmI2OTEzOGIxMTQzNjE0NjM1ODI1N2QgcHkzaworODcxNzUgOGQzOGM2YTI3MTgxYzFkMTU3ZDg2MDAxN2IzOTU0M2VmNjA2YTc1YyBweTNrCis4NzE3NiBhODExZjdjMTBlODI1MGZiNGUzNDQ4MWMxNjA0MTU2Y2YyMThjOGRlIHB5M2sKKzg3MTc3IGYyMmQ5MTMzMmRiOTRmNmEzZjYwYWRkMjhhOGZlODQzNDA2NGJlNDUgcHkzaworODcxNzggMzA2ZDg4YTMyMzU3MjNkMzUzZDVkMTI3Zjg1MzBkNmQ5NzZhMmVlNSByZWxlYXNlMzEtbWFpbnQKKzg3MTc5IGI5N2Q4NDNkNjQ1NjI5NmVhMTM3NDE4YTk1ZGJmOTY5ZGZlZmM2ZDcgcHkzaworODcxODAgMjYzYzk5OGIyZjQ1OWM4NzE1NjFlMjdkNDUwOWEzMmM0ZGMyMmY3MiBweTNrCis4NzE4MSAzYjYyODU1NGUxYWExNWUzZjgyY2E3NjFhNWZkOGNhM2FlMWUxMGMyIHB5M2sKKzg3MTgyIDYxMmRkNWYyYWFiMzFhNzZkYmU4YWU4OTFlM2I0MjUyODk2MWQ3NmQgcHkzaworODcxODMgY2UyODc3Njg3MzcwMDZlNTA5YjEwOWFjOTY0ZGE4MTcyYWU5MGViNyBweTNrCis4NzE4NCA1M2JkZjFjODE0ODZiY2VkYTFmNDU4OGY1ZGFiYjA5NjY5YmQ5YzA1IHB5M2sKKzg3MTg1IDJjZjdiYjJiYmZiOGVlZjdiNjk0MjRhNmY2MDQyNjA3NTk1Nzg3OTYgcHkzaworODcxODYgOTk5YjFhYTI0Njc4M2FlZjkwZTI2NzVhOGYzNzJhYjUwYWI4ZjFiZSBweTNrCis4NzE4NyAxNTUzMWNiZTNmNTVmZDNlY2YxZjBlNDczNGM5OGNjMDAyYTYwNDFhIHJlbGVhc2UzMS1tYWludAorODcxODggMGVhZGQxYjJkMjU4YzgwNDYyMjA3Yjk5NzM0YmMxZDYyYjM5Yzc4ZSBweTNrCis4NzE4OSA1YmZhNDM2YTI4N2JmMDQwNDcwYjJlNzhmZGFiN2VmZDMzMTVmOTQyIHB5M2sKKzg3MTkwIDdhY2EzMmEyODkwZWYyMDRhNjg4ZjA5YmU0YzUyMzhhYWM2MDA4ODkgcHkzaworODcxOTEgNjZkOWUzODgxNzYxMDIyYTI3N2E5ZGU4MjM0YWI0NTVkNTkwZTY5NiBweTNrCis4NzE5MiBkMDJlNzZkYWNlNWJmMTFlMzEzNzU3NTJlZjI0ZTg5MjhmMGUzNzE5IHB5M2sKKzg3MTkzIDU1NGYyNmNlMzNlMTk5OWNjZjkyNmMwYmJkNzJkODhhY2RhMjIyNTcgcHkzaworODcxOTQgMzI0MmZkMTc3MTY2NGViMDc0ZjA2NzhiMjUwYjU5ZWIzNGExY2I5MCBweTNrCis4NzE5NSBiNzQwNTFjYWQ3MTc4MjM3MDdlYTA0NzNhMGE4MGFkODgxYjFhYmIyIHJlbGVhc2UzMS1tYWludAorODcxOTYgYTkxYjMxNjhmY2UyOTgxZWJlMWY1NzMyNmI3MWVhNWJkZDE2NTZhMCByZWxlYXNlMjctbWFpbnQKKzg3MTk3IGNmZTdjYTFhN2JhYjI0NWY1OWNiZGZiMzM2MzVkYzM4MDY0MWY5MjIgcHkzaworODcxOTggZjMxMzBjMmM0NmY1YTRlZTQzYTFkM2RkMGM2YmViNWRiNmNiYTE4YSBweTNrCis4NzE5OSA5OWVjYTYyZDY5MTk5NGI2ODA2ZDllNDVlZDc2YmQ2YTJjYzg1ODk5IHJlbGVhc2UzMS1tYWludAorODcyMDAgODA4MTc2MmViNmQxYWVjMWFlNjA5NTE4NjhmODhkY2Y2YzJhYWE1NCByZWxlYXNlMzEtbWFpbnQKKzg3MjAxIDEwZWU0ZjMyYjkxYzQwMmM4NDdhMGY0NTU1NWE1MzcyMzNkZTBiMDMgcHkzaworODcyMDIgYjdjZmI1ZjBmYzU1YjM2NjM2NzA5Y2MxMDlkNzE1N2U5ZDZiNDdiZiBweTNrCis4NzIwMyBlZDJhYzIxMDg0ZjRkOTkzNjQyNTUxYTQzYTVjOGZjZWZhM2JlNzBiIHB5M2sKKzg3MjA0IDI4NzJmNDZlODE5NzBkNGEwNGM4ZTVjM2JiMGNlYjQzN2MyZDc4YzYgcHkzaworODcyMDUgNDcwODhlNWNiNDAxMzFmZWMzNGUzY2VhYTJjOGI2YzU3MmViMjIzZiBweTNrCis4NzIwNiBlYWI4ZjkxZjU3NTRkZDg3ZWQ4YmY3ZjY4ZGMyMTYwYzU5NDQ0NGRiIHB5M2sKKzg3MjA3IGRlMDVkODQ2Nzk1ZTRiNzc2MWEyMzJmMzczMDA5Y2Q2MjFlNmI1NGQgcHkzaworODcyMDggZmEzZDA3ODcyOTkzNDExMTBlNzE1MzNkYjNlOGNiZTZkMDY2ZjNiYiBweTNrCis4NzIwOSAwNjIwNmYwMDFiY2Q0YzcyMWUzMGJiMjZiMmE4M2U4ZmMxNDIzN2FkIHB5M2sKKzg3MjEwIGJjODgwOWIzZTRiZTdmNWYxYWYxODMzYmE1MDU0NjdhMzllMTI2N2MgcHkzaworODcyMTIgZjdlOWVhOGM2MWEwMjc3NzUzY2YyNjA2YzM3ZjAxYzFlNjU2M2JkMCBweTNrCis4NzIxMyA2NjhjNDIxOGFlMjZlNzM2ZmQyZjFkNzU1ZDA5YzMxMTdjM2YzNDRmIHB5M2sKKzg3MjE0IDRmODFiNWQzNTZjY2Q0NWY0ZmM5ZWVhY2JmN2JkMTU1YWI0NTZiZTMgcHkzaworODcyMTUgNzk0ZjU0YmI5NzEzODBjNDQzOGQ5ODU0MWI2YzdlYzJjNWFkNGViYSBweTNrCis4NzIxNiBmOGNmOTczMTRhZWVhZTM2MGY0Zjk5ZjI3NGFmNjE4MGNhN2QzN2JmIHB5M2sKKzg3MjE3IGMyODc3MTE3N2ZjNDA1ZmQwMmVhMzQ1YWE5NWIwYzQyNWEwYWZlZGIgcHkzaworODcyMTggMTkxMTYxOTFkNTJkOGFiM2Q5ZWZhNmJmZDU4NzI1NTI4ZTQ5MmU0NCByZWxlYXNlMzEtbWFpbnQKKzg3MjE5IGJhZjBkMTg5ZWQwNzM0Yjc0ZjJkMTQzM2U1ZTM5MDU0MDg4MzBkYjkgcmVsZWFzZTI3LW1haW50Cis4NzIyMCAxNmI2YWU3NWRlOTQ2ODIwM2NmMGUzODg4MjczNTcwMjliMTE4N2FhIHJlbGVhc2UyNy1tYWludAorODcyMjEgMTBiZmQzYzEyOWRhZTI3MWJhZDY3NmQ3NjJkZGVjZjRlNWYyZWIyZiBweTNrCis4NzIyMiAyNjJiYTBhYjRlMjFlZjFlNzljNjAyYzM2NmU4MDA4MDhmYTE1NzE0IHB5M2sKKzg3MjIzIDdmOGNkY2ZiYjA4ZTE4MzVmZGQ0MWQ4NzBkMWYzYzBlOWVhNWUyODcgcmVsZWFzZTMxLW1haW50Cis4NzIyNCBhYzhkYTU1Nzg0OTNjNGQ0YjAwOWI1OWViYTVmYmFkN2MwN2IzYzQ3IHJlbGVhc2UyNy1tYWludAorODcyMjUgYjA4NGI1MGU0YWE2ZGM5MTgzZGMwZTgyNzY0ODdkOTU3Njg4YjgyZCBweTNrCis4NzIyNiA3MWZiMDMyNzRhODljYzNhNjk3OWNjMTRkNzY3M2M3YTYxNTExNTRlIHJlbGVhc2UzMS1tYWludAorODcyMjcgOWFjODY5OWQ4OGQ2MWRiMzFkZGQ0ZWUzYjVhZGRlNDQ5NTMxM2FmZCByZWxlYXNlMjctbWFpbnQKKzg3MjI4IDZmNDZhZmM1MTQzNGNhODkxMDk2NzlhMWE4ZjI1NTIyYmIwYzY1YjkgcHkzaworODcyMjkgNTliNDNkYzM0MTU4NTI5YmEyMDhkZWRlYmRkNzNmZGNlMzgxYTc0ZCBweTNrCis4NzIzMCBkYTIwZTdhMDFmYTYzYTZkOGFiMzRmMjEwZGExMjhjZTQ0MTU2NGVlIHB5M2sKKzg3MjMxIDY5Yjg1OTY0ZWM4ODgzODAwOTE5NzlhMTc1ODA2N2IwNGZmMzc2NzAgcmVsZWFzZTMxLW1haW50Cis4NzIzMiA4Y2NmNThiMGE1ZGE3NzYwMDZkN2ZjOThkOWU2OTc1YzgyMjY1YTc4IHJlbGVhc2UyNy1tYWludAorODcyMzMgNzY3NDIwODA4YTYyYWVmYTMxYjRjYWFkMWY2MzAxNGE1ZWI3ZmMwYSBweTNrCis4NzIzNCAwNzJlZTNmNzQzYzIxZjM3NzBjY2YxM2FkNDhlMTBhMTgwNDgwNjNmIHJlbGVhc2UyNy1tYWludAorODcyMzUgYjA2NmJkMGI2NGU3Y2Y2ODQyZjg4ZDk4NmZjOWMyOWQ3YzM1MmI0MyByZWxlYXNlMzEtbWFpbnQKKzg3MjM2IDEyMzgxZjE5ZTJhZGZjOGYxNjg1MGU5YzY1YzZjYTY3MTY3MDI4YzEgcHkzaworODcyMzcgMzExMGQ0YTQ4ODc4YjRkNTE3YzIwMzAyNGI3NmEwYzY3Yzg3ZmM0MCByZWxlYXNlMzEtbWFpbnQKKzg3MjM4IGYzYWQ1MmY2NmI4YTQyYTU3OTM5MzJjNzIyZDA0OWY4OWMyNmVkYzggcHkzaworODcyMzkgNmFmYmU0NjEyZDQ5NDNiZjdkZDNiNWQ0ODViN2I0ZTI3OGM1NTk5NCByZWxlYXNlMzEtbWFpbnQKKzg3MjQwIDc5YTJiNmExMjgwNTExZGZiZjNiODg1ZmEwMGFlODY3MDg0MDgwMTEgcmVsZWFzZTI3LW1haW50Cis4NzI0MSBkMThmNDMxM2IxOTdlNTZiMmIyMjFkNDM4MTY4MjgzYjNjZGYwYmE4IHB5M2sKKzg3MjQyIDc4M2YzMTFjYTg2OTNjZWUwMzJkZmRkNDc5ZGE1ZTYxYjA1MWRhNWUgcmVsZWFzZTMxLW1haW50Cis4NzI0MyA4ZDcxNzFiM2NkZDY5YTczODc4ZWFjMDk0MDg5ZDBlN2ViMzRkZDUwIHJlbGVhc2UyNy1tYWludAorODcyNDUgZTE1NjUxOWExYzYwMzc0NGY3MTcyZWVjN2Q3Nzg0NDllMmNkODkxNSBweTNrCis4NzI0NiAzOGFhYTcyYzAxMzFhOTU2OTI4MDE2NjE1MzIwMDcxODkwMDVmMmY4IHB5M2sKKzg3MjQ3IGQ2Y2NiZDNmNWI0NTUxY2U0ZmUyZDNkMGYwMzRhNzZlOTY3MmRmZjYgcHkzaworODcyNDggNDBmNTQzNjM2ODQ2Yzc4YjZjMGJjNjE0OTZiZjYxODQyMWUxYTMwMiBweTNrCis4NzI0OSBmOWQwOTU1OTZlYTk2NDAxZGQ5MjA5MmE1OGY5ZTlhOTQwM2U3MDVhIHJlbGVhc2UzMS1tYWludAorODcyNTAgZDcwOWQxMTRjZGUzYzA1YzRhMDc0NTZkY2NiY2QyNWFiNWNhMGM0NiByZWxlYXNlMjctbWFpbnQKKzg3MjUxIDUzMWY0MjNiMDE5ZDMxZjUxZTBhZGM0OWE2ODBkYmExOWZiZTI2NmEgcHkzaworODcyNTIgN2MzNzE1YjEwY2RkNDViZTJiZWY2YjIwMjhkMzA5ZGM0N2IxNWViZSByZWxlYXNlMzEtbWFpbnQKKzg3MjU1IDRlZTQwODZkZDFiNzQwNWQwYmMyODg4ODk3NDYxZDZmNTdjZDFkYWEgcmVsZWFzZTI3LW1haW50Cis4NzI1NiBhNjE1NDQ3NzhmYTc0MWM5ODU1ZjkxNWE3YmNhNzZlOTQ0ODNhMjgzIHB5M2sKKzg3MjU4IDFjMDI3YTA4M2E2ZTkwYjdiMzlmYjcxZDc2MjdiN2RkODZhMWRkMGEgcHkzaworODcyNjAgOGU3MDFiZmZlNmUyYzBiMmUzN2E4MTlkZTJmMDdjM2NlYWRlNzgwZCBweTNrCis4NzI2MSAxNzg1OGFiMmNkOTJhNDgwOTg2NDljMDQ1YjQ1OGNmNjcyOTRhZDZiIHB5M2sKKzg3MjYyIGNmYjdmNjMyMmZiYmJhYWJmZGQ5ZWI3ZDkyM2UwY2JhMGUyM2M3MGUgcHkzaworODcyNjMgNzlhOTBmYTA3OWE4YmYxODAyN2QxNTI3ZmUxNmJiYzQ4ODkxYTk0ZiBweTNrCis4NzI2NCBhYTQyOGFhOWI2OGIyYTcyMjc3NTYxNzVjMjAxMjQ3NmI0YTc0ODk4IHB5M2sKKzg3MjY1IDQwMTI1Y2RkYWZiOTA1MjlkMTJlZDA1ZDkxZmIzNDNkYTk5NmFiNWQgcHkzaworODcyNjYgYTk2YTJiY2NkZjhhMjdhMTIzYzY3NzZlYzIxMzI2OWViZmE4MzJlMiBweTNrCis4NzI2NyAwMTlhZDlmMzJjMTNlOGFiYWEyNzBkZjExMDg1Y2RlZWU0Mzc1ZWUwIHB5M2sKKzg3MjY4IDQ3MTYzMDg0MDQyNjNlYjE5YzUyY2UyOTZhOGE0NjgwMDYxNTE5Y2EgcHkzaworODcyNjkgYWZlNWY2YjFjNzY2Nzc3MWMxYTgyOGQ5NzdiMmVmYTg0NzZjZTAxZCBweTNrCis4NzI3MCAyM2RkYmQ4MzU5NTBiODljMTk4ZDY2MDk1ODIxMmUzZTUwZGYyOTUxIHB5M2sKKzg3MjcxIGEwZmNhZDkwNzBhZDFjN2M5YmMxMjJjNDZhZWJiMWFkNDY4YTU0MjQgcHkzaworODcyNzIgNmRhMzdjMzRmOGEzMDMyNDBlOGJkYmY1MWExN2IxZWJiY2JhYTNhMSBweTNrCis4NzI3MyBiNTgwOTI3ODcyMTM3NzQ0YjE5YWNmOGYyZjNiOTYzY2JlZmJhZWQyIHB5M2sKKzg3Mjc0IDRkY2VjMTQ2Yjk5ZDQ2ZWVlNDVjNDUxN2M4NGQzYmE1YzkwN2YwMzggcHkzaworODcyNzUgYTI4ZTg3MjExMTdjMjZjNDc4NjM3ZjdkY2ZkOTE2NWI2MjlmZWRlNCBweTNrCis4NzI3NiA5YTJlNTZkMTE0NmRmMjgzMGM5ZjY3ODRmYWJiYTQ0NThkNDY2ODU4IHB5M2sKKzg3Mjc3IDJkMjk5N2YxOWU5MGM1OTg2YTRiMjg5Njc4NDQ5NzQ5OGY4NmE1ZTYgcHkzaworODcyNzggMjYxMzE4M2VjMDI1MWIwYzg3YWYzYTBiODY4ZmM5NDM4ODUzZmNkNSByZWxlYXNlMzEtbWFpbnQKKzg3Mjc5IDViNDQwNTkyNDdkYjYyYmE4OGY1ZDc1YzMwY2YzMDlkNmY5YzVhNWQgcmVsZWFzZTI3LW1haW50Cis4NzI4MCAwMGY3ZjUxY2U4YmE1OTQ3YjEyMjU1OWY2NmExNzc1ZThhZmU2NDgyIHB5M2sKKzg3MjgxIGZmMDdhMDZmNmQ2NWQwYTMwMTY3ZTkxZmIyNjdhMjc5MGE0YzliZmYgcmVsZWFzZTMxLW1haW50Cis4NzI4MiAzYjVjYzY2MzhmM2QxMGQ0ODE2NWQ0MGJmNDMxYWQxZmUwZjhiNjEzIHJlbGVhc2UyNy1tYWludAorODcyODMgNWVjMmMyYmZhZGVkNTIzMTBkYjEyZjJhYzA4ODM1OTc3MGJkMDU3OSBweTNrCis4NzI4NCA5Y2MxOTc4ZWM5ZDQ5OGM0OTEyMzNmN2E1ZGMxZjRlNmVlMDA5Y2VkIHB5M2sKKzg3Mjg1IDliMTU5NGMxNTQ0YjdlY2M4NzQzNDY2ZTcxYzA3NDIzMTYzMzEzYTUgcmVsZWFzZTMxLW1haW50Cis4NzI4NyA4MGUzYWQ1YTYzMWQ1NzUzYTMwZDcwZGI5ZmMzYjIxNzZjMjkyNDNmIHJlbGVhc2UyNy1tYWludAorODcyODggNGFlMmMyMTExNmYxZGYzZGRhOGRjMzA2MGY5NGVhYjc4M2VhZDA5OCBweTNrCis4NzI4OSA3ZjU0OTkwOGJmNTAzMmE5ZmE0MDJkN2M4MmFkNmQxY2U2ZGZjYzlmIHB5M2sKKzg3MjkwIGE1MWE0ZjVlODdlNDllMjNiMDg2NTU2MGFjYWRiNTllMjUzYmI1MWMgcmVsZWFzZTMxLW1haW50Cis4NzI5MSA1Njk5OTQ5NWE5YmFjNWJiNDViNTcyNzM0MTI4N2MxMWU2MTJlZDcxIHJlbGVhc2UyNy1tYWludAorODcyOTIgYjc1MGM0NWE3NzJjZThiZDk2MWUxNTYzYjdhNDUwNDM2NjhmMjY2NCBweTNrCis4NzI5MyBmNTljZGE1N2E3ZmE4MzM5NDA4MmU3MGZhNWRlOWQzN2JkMWViNjRhIHB5M2sKKzg3Mjk0IGFkOWI1YzVkMjgzMWY0YmQwMjVlYzE2ZTZjNGYzNDlkYzQwZjliYWUgcHkzaworODcyOTUgZDJkNTI2ZGIyNzczNmFjYmJlNDBhODdkMjhjMWIzZjMxNWY5NWNhYiBweTNrCis4NzI5NiBjYTdhNWQxMjdkNTdjZGQ0YWU2MzYxNTllYzg1NzZlMDA5Y2NlMTlhIHB5M2sKKzg3Mjk3IGVjZDI4ZTg0YzQ0YjBmNGM0ZTc3Yzk2YjUyOTcwZGE4ODBhZmQ0NDggcHkzaworODcyOTggOWMxZmNlZGVmMmMxOWQ1ZjVmOTljNzExYzBhZWM2MTYxNDFiNDU4OCBweTNrCis4NzI5OSAzZGU2Y2Q5MDI2MjRjN2I5MDhmMGUwYmFmMGE1ODRlN2Q3MmMyZDUzIHB5M2sKKzg3MzAwIDNmMTc1MmQ0MjUzYmIxM2ZkOWExOWFmNTNhMTA3NWJkMTliZDZhNTkgcHkzaworODczMDEgMWFhNGU1Y2E5MTc0MjE3NDM3ZTE5ZGNhOTU2ODU0ZmUxNmM5YTkxZSBweTNrCis4NzMwMiBkZTViOTBkYWFiYjQyZTEyMTQ3Yjk5MzEwNjg1NzNiYzFmZDVjMjlmIHB5M2sKKzg3MzAzIGUwOGMyMGE2N2Y2NDdmZWFkODc4ZjMyMzdkODcxMDI3NjU4OWI1NmIgcHkzaworODczMDQgYTYxODI4N2VhZmQ2NThiMTlmOGIwZTY4ODE3NjNiMTMxNTFmMDIyNiBweTNrCis4NzMwNSAwMDM3ZDY1ZGViZDhkOThjOWU0MTI3ZTdhMDA5ZmFmZjMwYTlhMjIwIHJlbGVhc2UzMS1tYWludAorODczMDYgN2U4ZWI2MzRmMGE5MWM1NDdlODdlZjI3NGIyMDkyYmNmZDAwYzBlMSBweTNrCis4NzMwNyAyYWEwNTBhNDRhYTgxZjQ2NTBhNzVlZDcwYTMxZGIzMGMxOGNmYjdjIHJlbGVhc2UzMS1tYWludAorODczMDggNTllMjMwMjk3YmZmYWRkZDRkMzZkM2VjOTliZjBiYWNiYjYyOWI0YyByZWxlYXNlMjctbWFpbnQKKzg3MzEwIGQ4NGVjODU2MDBiMWE5ODA0ZDZiNTRlOTUyZDU4MDVjNjlkMDgyNjYgcmVsZWFzZTI3LW1haW50Cis4NzMxMSBmZDcyNjE0YjkwMzIxMDFhNTdhNDNhNGIwMGY3OTMwZDc5MTI4MTg3IHJlbGVhc2UyNy1tYWludAorODczMTIgNGMwNjE5YjgzMmUxYmNlM2UyNzZjM2NiMGZhMjRmN2U0NzJhNDQ4OSBweTNrCis4NzMxMyBkOWI0NDI2NDc5YWM2MTc4ZWU3YmU1ZjdiMDIwYWUwM2FlMjgzZWM3IHJlbGVhc2UzMS1tYWludAorODczMTQgYzY4ODNlYzQ4ODgwNDJiM2Y4MzAyZDgxMDZlY2JlM2E4ZGE1OWFmNyByZWxlYXNlMjctbWFpbnQKKzg3MzE1IDViOTJmYjAyZTgzYmM1ZmM5Yjg3MDViN2I2ZjA3YzBlMjBhMTE3ZmMgcHkzaworODczMTYgYWI2NTAwMzM0NmMxMWExNTFjNTJiMGQ3YzJhNDg3MDI5ODAyNzJhZSBweTNrCis4NzMxNyA0MzZiYmM3ZjBhYTY4YWE3NTY1OTVhMDY1NmEyY2Q0ZDA4ZGYwN2U4IHB5M2sKKzg3MzE4IGRjMzI3ODhmMGU0ZTMyNThiYmQ5OWU1NGY3ZDVhMTZkOTBmOTNjN2QgcmVsZWFzZTMxLW1haW50Cis4NzMxOSBmYzJmMGM4NmI0OTdjYjkzOGQ1NGJkMGNiY2EwODZmNTVlODNlZWE0IHJlbGVhc2UzMS1tYWludAorODczMjAgMmM0MjlkOGM1ZWUyMDJhMzcyMzgwM2Q2Mzc3Y2ZmNTg0NmI2MGQxMSByZWxlYXNlMjctbWFpbnQKKzg3MzIxIDg1YzJmZTMxYjExZWMwOTg0NmRlY2VkYmM4NWQzZDY2ODdkZTc0OGYgcmVsZWFzZTMxLW1haW50Cis4NzMyMiA0ZDJiNDI4ZDc4ODIyNThhNDFhNDc0YjhmYjNmMjc2MWMwMGZiMmEyIHJlbGVhc2UyNy1tYWludAorODczMjMgZTlkOTI0ZmUzN2UwM2EzMDVlNmE2ZWNlMmI1NjhkMmZjZjU4Y2QzNSBweTNrCis4NzMyNCBlYThmOTRjZTgyOTMyNjk2ZGUyZWNlYzM2ZjJkMmFjZDU1MGYwM2U3IHB5M2sKKzg3MzI1IGFlZDJiYmFmYTU1MGU5ZGZkZjQxZDMyMjg1N2YwMjRiNzViNGM3NmQgcmVsZWFzZTMxLW1haW50Cis4NzMyNiAyMzkxY2UzNWFkNjk3ZjJiMjY0MzcwNjNkZWY5ZDg1YTk1ODYxNmRjIHJlbGVhc2UyNy1tYWludAorODczMjcgOWJmZDZhYmYwMWNhMjljZGU0ZmJlZWM5MGY4ZTI0ODc5N2FhN2Y3NyBweTNrCis4NzMyOCAwNzRjMjE3MTRhMDI3OGU0ODI5MzQ5NWMzOTk0NDFlMDU1ZTQyMTJiIHB5M2sKKzg3MzI5IDBjMmE3ZTU3ODVjODYxMTJjY2RhYTVlMjk4YmM2MmQxMTk5ODI5OTcgcHkzaworODczMzAgN2E1NWI4MDhlNDkxYzEwMjc2NjIwMTE1NDI0YTI2ZDllMjJjZTczMyByZWxlYXNlMzEtbWFpbnQKKzg3MzMxIDY5YjNhMTUxYWVjNTc0MzIxOTNkMzZlZWI5ZmYzNGNlMzliZThlNTUgcmVsZWFzZTI3LW1haW50Cis4NzMzNyAwNzExM2QxZWY4ZTUxYTUyZmQ1NDdkZGE2NzEwZjE1YTYzMjAzODI5IHB5M2sKKzg3MzM4IDYxOTM1YzhkYzA5ZTBkYjVjOTY2MjY1ZGZiODA5NDQ1N2Y1YTVlNzUgcHkzaworODczMzkgMDE2YjQyNWYwY2QwY2U0NGViMzRmYzM3NTYzZGZmMGM5YmJmMjI0YiBweTNrCis4NzM0MCBiNmQzZmU3MDgwMmYzMjkwZDYzYWRiNWI5OGZjYTdiNGU0MDcxZmRjIHB5M2sKKzg3MzQxIDVhNmExY2EyNGUwNGNmYWExNWY3NzEzYmI3NzQxM2I5ZjUxMzk0ZDUgcHkzaworODczNDIgYzcwYWEwMTFjMDU5ODVlNDYyZWJkZDQ2ZmUxOWY0MjBjNDZjYWY1YiByZWxlYXNlMzEtbWFpbnQKKzg3MzQzIDM0MWI5M2Q4MzE1NzFkODQ4YWNhZTZkYjE4M2U3NGRhZWUwYjY0MjMgcmVsZWFzZTI3LW1haW50Cis4NzM0NCAyMmRiNGQyZjY1NTQ5ODk5OWRhNTI4ZWZjM2NiMzlkMDQ1YTI1YjA3IHB5M2sKKzg3MzQ1IDA1NTBhMjQ0N2MxZTYzMWEwMzlhNzQ4Y2Y5Y2U5N2I2MDc5YmE0OWEgcHkzaworODczNDYgM2EyOTUzZTIxZjc4NTczNDY4N2YxZDdjOTUzOGEyMWNlZjNlNTQ2YyBweTNrCis4NzM0OCA1YmJmNWI2ZDM2NTgwNTI1YzQ3YTVjN2JiNzNhMWUwY2E3MmI4NzI1IHB5M2sKKzg3MzQ5IGFjOGM2YzdjMGNiMzU2NzU0ZDlhOTQxNzVkZjA0OTc0MWY3OTVkZWEgcmVsZWFzZTI3LW1haW50Cis4NzM1MCA4OTIyMzYxMzdkYjk2MTgxMmI0OWVhOWNmY2Y1YzBlMWIxNTk4ZWU5IHB5M2sKKzg3MzUxIDQzYmM1OTIyZjI5OTA2NDVjNTEzNWZlNjNlNjA2MmY5MTY5ZTdlMmQgcHkzaworODczNTIgNjFiYzg2MjY2N2U2ZTNkOWYzYjEzYTU1MWM0MjE1MmMwM2RjYjlkNyBweTNrCis4NzM1MyAyNmMwZjc2OWU5YjQ3MWQxYjkwYjc3NTlhNmJiN2I1OWYwZDc1YTExIHB5M2sKKzg3MzU0IDI4NzE3ZGU0YzU2MmNjM2E5ZDFhZjNkOTc2N2Y2YzA4ZWQ5NGY1NGIgcHkzaworODczNTUgNDA5YmEyNTA4NzEyMjg4NGVhMDY2ZjhlMjM3NWYxYmMzYjk2Nzk4MiBweTNrCis4NzM1NiBhNWVkNGExMjQzMGFhN2IxZGY4N2QzYzU4NTBlYzA4N2RiMTQzYWUzIHB5M2sKKzg3MzU3IDg4NGIxNGVkOGY1NDNkZDc2YTEwNzQ1NThjOGE2YjE0N2MzNzJhZWUgcmVsZWFzZTMxLW1haW50Cis4NzM1OCA2OGE0MmI5NDRmZTM5OGFhNmI0OTQ0YmNjOWMwZDIyNTA3NDlkMGRlIHJlbGVhc2UyNy1tYWludAorODczNTkgY2QyN2MzYzQ0MjM0YWZlZTVhNTQyYjE4Y2Y0Yjc3OGE5ODM4Y2E0ZCBweTNrCis4NzM2MCBhMGE5OTVlMGU2NDAxOWY2YzBiODYxNTI5OTk5ZmE4OGY1MmQxNmEwIHB5M2sKKzg3MzYxIDc4YzE1MjI4OGY1M2E4ZmQzM2MzZjZlNDQzNjllZTJjOTgwYjRkOTcgcHkzaworODczNjIgNGMwNDI2MjYxMTQ4MzFmNzFkZDcwY2QyNDNiZTU0Yzg3MjIwOGJiMSBweTNrCis4NzM2MyBiZjM2ZDZiZGRlNjBiNGFmMDUwYjNlNWQ5YTRjYmE3YzIwNWVjNWNhIHB5M2sKKzg3MzY0IDljZjE1MTJmODgxMmMyMDAxZTBlNzUxZDZmOTJjZGM1YTIwZmY2YWUgcHkzaworODczNjUgYzdhMDUzN2M3ZjNjMjg2NzA4ZTVmYjI0ZGJiYjk5ZWI3M2Q4MjI4NiBweTNrCis4NzM2NiBhMDY2NDdmZjVkOTgxOGUxZmQxOWY1MDA2YzU0OTAyMDk5NGNlNzk1IHB5M2sKKzg3MzY3IGU2NWNkMjFkNWY3MzE0ZWU3YTUxMDg0NDFjYTk2NDdhNDViYWJmZTAgcHkzaworODczNjggZmU3YThhMWJkZjNkNmJjNzIxMDMwMjYyNjJlYWFmNzYzMzg3NjVhZCBweTNrCis4NzM2OSA3MmY1MzZkMTA3NTBmNGI4ZjE0ZDNmYzQ0Y2JiMzFmOTAwNGZjZWFiIHJlbGVhc2UyNy1tYWludAorODczNzAgNmZlOTRmYzAyZmM3NThkMzBlZDc0ZTVjODExM2UyZjY3NWM5MTJjZiByZWxlYXNlMzEtbWFpbnQKKzg3MzcxIDdhYzAzZWMzYjI3OGI5NWQ5NWIzNTliNmFjMDk3MjdiZmFhMWMwYWEgcHkzaworODczNzIgOGFkYjc1YzY5MzA0NzI4NzRiYTEzNTYxMGYzNmIyNWYyNDA0NjRmYiBweTNrCis4NzM3MyAwYjk0NjM1ZWQyZjZmYTg5MzkzMzljNDI2Mjg0NDBhMzM2MzY2NDE1IHB5M2sKKzg3Mzc0IDQ0MDEwMDM5YmRkZmE2OTlkNDhhZmFkNzVhNzVmNjgwYzM1YWI1YjkgcHkzaworODczNzUgMzgxNTU2MzY5Y2FmNmEyZWYzNGRlM2IzYmE5MDc5MTZhY2I2NWJiMyByZWxlYXNlMzEtbWFpbnQKKzg3Mzc2IDVmNDlkM2NiMTk0Zjk3MGQ1MTE5OWQxYzM5ZjMzOWU2ZGRlMGY4YjggcmVsZWFzZTI3LW1haW50Cis4NzM3NyA3MzY5NjRmNzA4ZGVjMjM4ZmM1MWEwNzNmMGNhOWFkZTA0NTAzOGIyIHB5M2sKKzg3Mzc4IDI5ZGI5N2MxNzZjOWNkOWQwMTUwMWEyZmEyNDc0YmY0YTk4Njg3M2MgcHkzaworODczNzkgNTE1ZGUyMjc3MDAxODRkMTNlNzRkMTlhNmE5YjcwZTU4YjU2YzJkMyByZWxlYXNlMzEtbWFpbnQKKzg3MzgwIDdhNDg1OTBhZmQ5MmU0YmY4ZjJhODFjNThlZDg0OThjNDdkYzg0MWQgcmVsZWFzZTI3LW1haW50Cis4NzM4MSBjMmQ1Y2QwMzJiYzkxNjFmOTQyNWJjOTQxYjljYWQyNGVjZGE2OTk2IHB5M2sKKzg3MzgyIDNjMTgyZjcxZDRjOWM1NjYwN2VhYWZlN2M0YjY1NTdhMGZmZTM5N2UgcmVsZWFzZTMxLW1haW50Cis4NzM4MyA5NjUzMTRmMTJmNzE5ZGI5YzNlZmE1MjIwYWY2NGZiZWQ0YjUxZmMwIHJlbGVhc2UyNy1tYWludAorODczODQgOTM4NWM1MzZmNDU0ODAyNzk3MTJlZGFjODZiYmQ2M2I4ODc2Mjg1NiBweTNrCis4NzM4NSBlZTliZGFjZDNjYjYxMDA5OTk3OWI5YzcwYmJlMWRkZjc2MTEyMzMwIHJlbGVhc2UzMS1tYWludAorODczODYgMGFmOTRmOTc2ZDUwMThmZDJjNWIwNmJjZjViODQ5NGY5MzEyODZkYiByZWxlYXNlMjctbWFpbnQKKzg3Mzg3IGRhZTUxNzZkN2I3ZjMwMGMyMmUxYjAwZDYxOTI4YmE0MjdjNDlhYWUgcmVsZWFzZTMxLW1haW50Cis4NzM4OCBkMTZhZGQ1NmRhYzAzNGI5ZWNjZGEwYzhjYTY3YmVlZjlkMTA0YjE2IHJlbGVhc2UyNy1tYWludAorODczODkgNTUyYmFjNzU1OGU3NzkyYjBiNDFiMTdlNjhmOTgwN2Q5ZTViYTQ1MiBweTNrCis4NzM5MCA0ZTIyMjAyZTYyZjgzY2QxMjMwYTJhMGMzZDNkZDE4MzI3YzIwOTg3IHB5M2sKKzg3MzkxIDlmYjg5ZmFhNTk1ODMzYTIwMDQ5ZDM3M2M1ZDJiOTRmYmNlY2MzYzMgcHkzaworODczOTIgNGUyYjg2MGU2NTdjOWFiYjQyZGJjMzVjMjQzN2U3NjIyNTA2NjJjMCBweTNrCis4NzM5MyBlNThmYTk4M2E5NGVmOGNmYzBhYjI1MWViOTZlZmEyMDE5NDFlZGNkIHB5M2sKKzg3Mzk0IDRmYWZlOTdkMGFkYmE2ZjA0MDMyOTIyZDUwZTA0N2VjMzBhZWJjNDMgcHkzaworODczOTUgNWI4MDI2ZmFhMGE3M2Q2MTc5MTU3NmY3YjVmNDdlYzg1MDEwNjJlZSBweTNrCis4NzM5NiAxM2I0YTBmNTJjMmMyY2JmNGRkNmQ2ZDMyZmNhZmZjNDI4Y2I2NTc1IHB5M2sKKzg3Mzk3IDdjMzBkMGYxMDI4YzRkMzc1NDZiNjUxODk1NTA2YmYyZTM4YjUzOGYgcHkzaworODczOTggNDdjYzQ4OTY1ZTUyNTM0OGJmZGJjNDRhYTkwY2MyZTRjMmZjYzE5MSBweTNrCis4NzM5OSA2ZjU2YjI0N2E3Y2QyODIzM2NiMDg3NTdmYTI4NGMzODAxZDMzN2Y5IHB5M2sKKzg3NDAwIGUzYWY1ZjNhNzkwNGMwZDUzNDNlYzk2MzNlYTY2ZTdhY2ZkMjNhNjYgcHkzaworODc0MDEgOWIyNjI0ODgzMGY2NWNhNjFkZThkNzYyYTFiZmZiYzk3NjBhNmJmYiBweTNrCis4NzQwMiBmYzk2YmQxOGJkYzYxYzU4OTI0MjAzMDAxNmRiMTA2YTA4YTQzMjg1IHB5M2sKKzg3NDAzIDZkNTYyN2EwNjY3NzhkZGQ5YjFlYjY2NTM3NmRkMmVjNGJhMjVlN2MgcHkzaworODc0MDUgM2Q4NmNkOWZjNTM0YWVmYWFmNTczNmNiZDQzYWVmOTg2YTg5Yzk0NSByZWxlYXNlMjctbWFpbnQKKzg3NDA2IDBjNGFmYzVmNTkzOGUyN2JlOTUwMjEzYjlhNTliYzkyZmVjNGRiYzUgcmVsZWFzZTI3LW1haW50Cis4NzQwNyA0N2RiZjNlYzFhZDdkODI5ZDE2ZDM4NDM4OGMyOWFiMzE3ZjNkNDJkIHJlbGVhc2UyNy1tYWludAorODc0MDggMjQ4OTRmYTdjNThjNTBjNWJmYTY4Yjc5N2U2OTIzZDEzZjVkMDE5MyBweTNrCis4NzQwOSA1MTc5NGFkYTY4MTBhZjQ5OGQ1NzIxYzQzNTZkMjZhMzA0YjI4MTdkIHJlbGVhc2UyNy1tYWludAorODc0MTAgMjJhMGVhN2Q5NzRlYjZkMjM2YmFhYTM5NDQ2MTQwZmFhOTdjOTAyOSByZWxlYXNlMzEtbWFpbnQKKzg3NDExIGY1NjdhNmM4NTkzNjQ1ZDg3NzY3MzRmMzViMzIzZWFlOGI2YzNiMzQgcHkzaworODc0MTIgZmNhYTk4N2NjZWEwMjA2MjdjNGYwZjc5NzY1NjcyMmYxYWZlMDU2MSByZWxlYXNlMzEtbWFpbnQKKzg3NDEzIDM2NzE5OGI3MzNjZGJiNDI2NmZhMTQxMzhmYmM4MDM2YjYzYTEwMjQgcmVsZWFzZTI3LW1haW50Cis4NzQxNCBiMTY4YjJjYzFiMjFkMmUyNDNhOGE2Y2U5MTE3ZWI2NWM2M2EzM2RmIHJlbGVhc2UyNy1tYWludAorODc0MTUgODE1YjY5MTc1NWZhMGJmYzI0NGIzNTI1NTkyMWQyNjVlN2Y0M2ZmOCBweTNrCis4NzQxNiA4Njg1NzExNTg2ZDQzMWVjNmJkNWQzNWMwN2YwMTRjYWNmMGFlNmI0IHJlbGVhc2UzMS1tYWludAorODc0MTcgNTY0YTQxNjY2ZWY2ZjRiMTYyNWM3NmRmNTJkNjFhMWVhYTNhMTk0OSByZWxlYXNlMjctbWFpbnQKKzg3NDE4IDhiNTNmMjU2MTU5YWEzYWFiODQwYWQ4ZDMzZTQzMmEyZjYyOTE1YTYgcHkzaworODc0MTkgNTJkMjljNzE1OGZlMjA3OTJhMzMxNDk2NzY0NWU3NzQ5MDMwNWIxZSByZWxlYXNlMzEtbWFpbnQKKzg3NDIwIGNkMWRlZTU1YWNlODRlZTY5Yzk2YWVjMTRjYjllMzU5OWQwNDY0ZjAgcmVsZWFzZTI3LW1haW50Cis4NzQyMSAyMDRiZjQzM2QzNjZhMzA3ZTQ2ZDlmYmNjMjk1M2Y3ZTJjM2RjMmQ5IHB5M2sKKzg3NDIyIDA5OGM5N2U5NWQ5MzE5ZjVjNzZlYjM4ZDZiODVlZDE0MjkzNjRlMDAgcmVsZWFzZTMxLW1haW50Cis4NzQyMyAwZGFmMzkxYTFmMWRmODY4ZDcwMGY0OWQ3N2ZlYmFkOWQzYmEwYzIxIHJlbGVhc2UyNy1tYWludAorODc0MjQgZDVjOGNlM2E3MGQ0ODk4ZDVmOWJmZjdlNDc2YjA4ZjJmMjA1ZTBmMyBweTNrCis4NzQyNSAyZjJkZTZjYzYyYzc4MDQ0ZDE2MDg0ODgxNTg4MWZiYzQyMGRlNWFhIHB5M2sKKzg3NDI2IDU3MmY3M2ZmMjhjMjIyZmU0MDJlZmNjOWM4NzA1OTVmYTM1MWM2ZjggcHkzaworODc0MjcgYTg0MjA0ZjExNmY4YjY3ZjRlMmMwOWE4YzdmZGM4MDFjYzgzMTI5OCBweTNrCis4NzQyOCA1Y2Y4NTU1ZTViZTU1YWUxMjQ2YTNlOTA1NTEwZjM5YWFjM2E1NzM0IHJlbGVhc2UzMS1tYWludAorODc0MjkgNTk1ZjI1ODgwNmVmZjBhZGJjYjVhNDU5MTY5MzQzODQ4ZGQxMTRmOCByZWxlYXNlMjctbWFpbnQKKzg3NDMwIDQzOGE0Njk4MDA0YWRkNTQ4NmNmN2JjNGJjZGM4ZDQyODM0ZWE0YTkgcHkzaworODc0MzEgNTYxZWE2NDAxODhiMzQ0ZDYwNGVjMGEyZGQxMzgwYWM0MTAyNThmNCByZWxlYXNlMzEtbWFpbnQKKzg3NDMyIDNmOTA1MWQ4NjYwMzI5MTkyNmFmZDBjMGZiM2UwMTQwNGEwNjc5NDEgcmVsZWFzZTI3LW1haW50Cis4NzQzMyA4ZTdkNGMzOTc0NTg3Y2QzNWI0NTk4YzIyNjM0MGNjMDM2YTY2NTQ3IHB5M2sKKzg3NDM0IDUzYTQxYTExNzQxMWJiYjBmMDE1OWJmM2ViYTJjZDVlYWFiYjBhZWEgcmVsZWFzZTMxLW1haW50Cis4NzQzNSBjNjNhY2U1YTUzNDZiYjBhOWIxNTIxMzcyMDkwNTAzMmE0Yzc2MDVmIHB5M2sKKzg3NDM2IGE4MmRmMjA5ODU4YTY0ZGZlMTFjZTE5Nzk2NmYxZDVmZTFiNDZkMzYgcHkzaworODc0MzcgNmZmNTBjZWY5ODRlZTU1OWIyOTk3N2Y0NDNhMjNmN2JmNTYwZGI5NyBweTNrCis4NzQzOCA5MjUwMmIzNjc0Y2JlYzc4Y2Y4MmIyMzBhZmRjYWZjNjFlNjMyM2ZlIHB5M2sKKzg3NDM5IDZmNDgzNDJlOWUzZGY2OWIyZTc2ZjE5Y2U2YjA0MjFmNTE0YjQ2NWUgcHkzaworODc0NDAgOTlkMTQ2M2VkYjU2YzFlZDc1ZWM4NTFjZDJmYzBjNjE3ZTRiNTlmZiBweTNrCis4NzQ0MSA4OWE0MTZmZDdjMjk3MDdiZDQxZmY4NDVhNzljMWVkNzZiMDZkYjQ0IHB5M2sKKzg3NDQyIDZhNjIzYTc2NzA2MjJjNzJjM2Q1NGQ4NjNkMmQ2ZDljNThlOTg3NjcgcHkzaworODc0NDMgZTIxOWZiNDEzNGUzYmQ3ZDZjODI3NzI1MzBiMzZmOTY0MWE4OTJjMSBweTNrCis4NzQ0NCA0ZGMyNDhhYzI2NGY1ODkwNDE4ZjMyNmE5MjVhMTJiOWRiZmU0YTFhIHJlbGVhc2UzMS1tYWludAorODc0NDUgY2YxOGQ5ZTUxYjlkNjAwNDMzYTNhN2JkZTNlZmYzZGU5MjVkYWIyMiBweTNrCis4NzQ0NiAzNmFjM2Q5ZDc0YzE1MDUyOWExY2NhNmU1NGE0MWVkOTJhMjVmNGNlIHB5M2sKKzg3NDQ3IDgzYmNkYWQyNTMzNWY4YjIxOGFhMTA1ZWI5YzM1NGQ5NDY5MjBhZTkgcHkzaworODc0NDggMTIxYmEwNGYwZmJiMTAxYWJiMzk3YWFiZTA0ZjZjZTllOGE2MmQ1YyBweTNrCis4NzQ0OSAyMTkyYmI5NWY1NGIwZGFlMWUzZjg5NTgwZGY4Y2U2ZDljYzMxODdjIHJlbGVhc2UzMS1tYWludAorODc0NTAgOTNmNTYxOTRjZjViODJjMzNiZTIzN2IwZjBiNDMyMzY4NmE0MTJhMCByZWxlYXNlMjctbWFpbnQKKzg3NDUxIDc2NTc5NmEzNGFiZTE4OGQwNDU5MzUyNmU2ZGFlNjY4MDNkODk0NTIgcHkzaworODc0NTIgODE5ODJhY2VkODZiYzk1YzczNWUwYmJmZTg3MjY4NzI4MTY2ZjQ1YyByZWxlYXNlMzEtbWFpbnQKKzg3NDUzIGI1ZDAzY2ViOGQ3OTA3OGUzOTNiN2E0MGMwNDdiNzg0MjE2NTgzZGEgcmVsZWFzZTI3LW1haW50Cis4NzQ1NCBkNGUwZGE3NjE4OGI2MDI2N2FiYTU4ZGM4M2QxZjNhZGFjM2JmYzlmIHB5M2sKKzg3NDU1IDNiNjE1ZWU3ODdiMGYwNjdlNDdkNGY3NTE1M2IyMTNlNTgzMzgwZTQgcHkzaworODc0NTYgYzM0YWM5ZjlkZTgzMTdkMzYyNmQ2OWMzZTE0NTVmMDM4NTIyNmIwOSByZWxlYXNlMzEtbWFpbnQKKzg3NDU3IDVjMDgyZjE5N2RkZjc3M2VkOWViMmExOTEwODc2ODU3MGRlOWM0M2EgcmVsZWFzZTI3LW1haW50Cis4NzQ1OCBmZGI4YjAyYzFlNjViMzUyM2ZiYmNlOGFiYTIwY2I0MjEyZjMzMWJjIHB5M2sKKzg3NDU5IGUxYmYzYzFjOTU2MTM0MjVhZGRlODVkOTdiNzM0ZWZiOWFkMmExZGIgcHkzaworODc0NjAgY2FmODlhNmExN2E3ZTg0YmEwZjRiYTJhMTRiMGZhYTMyYzQwNzBiZCBweTNrCis4NzQ2MSBjZWYyODE3ZWExNTcyNWU5NGYwOTI3NzVhMTQ5MGQ3MDU1NzA2NzI0IHB5M2sKKzg3NDYyIGQ1ZmFhOWZmZGYyYTkzMzg0ZTIyZGY4YzIyOTljNDNhMDY4Yzg0YTEgcHkzaworODc0NjMgMDk2NzMxNjIwZmYyYWVhY2NiNTQyM2U3Mzk3Y2VmMDM0NTRmMmE3MiBweTNrCis4NzQ2NCBjMzdkNmRiMDJjODRkMDNkYzY2MjYwZDNiZmJkOTUxMDY0NjQ1MmVkIHJlbGVhc2UyNy1tYWludAorODc0NjUgZDJjMjhhMzdmNzYzMDY3NTA0NDIwZTVhODg5MDkwNzAwZGQ3ZGMyNiByZWxlYXNlMzEtbWFpbnQKKzg3NDY2IDg5YWUyYzNiMDg1Y2MxYjM5N2I2MmMwOGVlZWRmNjdjMmMyZGE3MjggcHkzaworODc0NjcgNTEzMjQxNTRmODkzZjdiNTVlMTE5YmEwOGU1ODI5MWEzM2I4YjdkOCBweTNrCis4NzQ2OCAxYzU2MGY0YjVlNWI0OWQwNGUyY2NjMjJjYmU1NTkxMDRlNzA2NTg2IHB5M2sKKzg3NDY5IDk2OGRiM2U1YjFkODAwMDhmZTY2MjcwYzY2ODc4M2FmYTYzOGZiYmIgcHkzaworODc0NzAgNjE4NzY2MWNkYzA4OGJjMmIyMDE2NjBlMzdjZDlhZWM5ZTI3M2YxYiBweTNrCis4NzQ3MSAzOWNlYTk4MDkwNWQzZDJjMzFlYTczNTY5MjYwZDQyODhkMWI2Yjg0IHB5M2sKKzg3NDcyIDJlOTY3MGQ2NzAxNzMxZTVjZmNiMzA4NmY2YzJmZGFiMTM2NmRmMmMgcHkzaworODc0NzMgYzUxMGMxNTA1Y2U3MjM0ZWIwMzlmNTAzZWExZDY2OWEzYzliMTY1ZSBweTNrCis4NzQ3NCA1NzAxYTgwODQwMDE5MTdmNmZhMmZjMTZhYzllNzdlYjQ3NDE1ZWZjIHB5M2sKKzg3NDc1IDg0YzFkMjY3OTcwNzhmZjhmMDA5MjE3MGRhNzM2MjNkZjdlZTE0ODQgcHkzaworODc0NzYgMmQ4MmNkZjYyYjJjZGUyZmQ1ODUzNmNhNTc3MDQyYTU3ODQ3NDZjOSBweTNrCis4NzQ3NyA2YzhhMWMxMTc2MWI0ODkxMjQyOGQ1ZWEyZGQ2NGQxNTkyYTRjMDM1IHB5M2sKKzg3NDc4IDhlOWE0N2RiMzkzY2VmYmUzODM0YTQ5MmNkODY4N2NiYmU4ZjRhZTggcHkzaworODc0NzkgZWQ4ZGY1YTkwY2YxOTYyNTA1OGQyMmQ5MzZkMWQxNDRmOWQ5NjI0MCBweTNrCis4NzQ4MCA5NTAzYjA2NjI1MmRkYjE3OTliMzhhMjEyOTljNjE4MDFiZjRiMzI5IHJlbGVhc2UzMS1tYWludAorODc0ODEgZDUxYWZlNDdkZTczMmE0MGJlNWQxNTlmNzRmMzllMzEwMmNlYTcwZSByZWxlYXNlMjctbWFpbnQKKzg3NDgyIGZhNGRlNjZjN2RlZWIzYzdjOGZlM2JkMTk3NGUzOTA5ZDdjYzQzNDYgcHkzaworODc0ODMgYzU2NmM0MTMxNDM5ZjE3NzhmMzE1MzBiOWExMGRkZjc0NzFkYjk3MSBweTNrCis4NzQ4NCBhNjdiNDJiZmY0NzE4NjI3ZmZlMzEzMDk1NDVkZDAyNjFmMWMwZWZjIHB5M2stZnV0dXJlcy1vbi13aW5kb3dzCis4NzQ4NSAzOGQ2Njk4MDE4N2UyODQ2NDViMDgxZTZiMWYyYjE5Yjg4ZmVjZDg1IHB5M2sKKzg3NDg2IDY3OGQ4MzM2ZjRjM2RjNjZlMzU3M2MyODU3ZGE5NDkwNTZlNTY3OWIgcHkzaworODc0ODcgMWIyMTYwYWQ0YzZlNGE2YjkxNzYyYjQwZGJhZGE5MmYxN2I2OWQ4MCByZWxlYXNlMzEtbWFpbnQKKzg3NDg4IDQ4OGVkNTUwYjdmODg4Y2VmOGViMDViZDUxNzkzNDFlMTQyNTlhY2YgcmVsZWFzZTI3LW1haW50Cis4NzQ4OSA0YjkyNmExM2RjNTQyOGZhYWZjYmRlMWY3MGJlYzJlOWNjMjY2ZTZmIHB5M2sKKzg3NDkwIGEwMTUzM2IwMWI5YzliYzE2OGZlN2QxMDc1MDM2OTM3N2UzNmI0ZDkgcmVsZWFzZTMxLW1haW50Cis4NzQ5MSBkNWJiYzY1YmMyYjNlMDFhMzRlYWRiM2M2ODU5MDcwZDYyMGE0YmE1IHJlbGVhc2UyNy1tYWludAorODc0OTIgYzE3YTQ5OTcyMjQ0MTQ3NDg2YTc5NWZiY2RjMmVjYzc1Y2RmNmIwYyBweTNrCis4NzQ5MyBiZjA5ZWNmNjhhMTk5OTg2MWI3MWVhMTQyNjhiN2Q0NGY5ZDBjMzE2IHB5M2sKKzg3NDk0IDRkMjBhZWE2MDVjNWZiNDQwMGMzYjdiMTI2NzBiYjBjYjZlMTY2NmQgcmVsZWFzZTMxLW1haW50Cis4NzQ5NSBmYmJlZmNkNmExYTY5NWFkZmI2ZTBjYjQ3YTkzNGZkZTFmNGM0YzgwIHJlbGVhc2UyNy1tYWludAorODc0OTYgZjRiYTU0ZTBiYTc3NDUwNjMyNTY4MzE5OGM4ZWM4NTAxODA5NGJhMiBweTNrCis4NzQ5NyBjMmFlOTBhY2M5MDg4NTY2NjA4OWQ0YzVkNGUxMjc1MTY4NDMwMzgzIHB5M2sKKzg3NDk4IDEwOGJjMTI2OTMwZjdmOGYxMmVlYmNmNGJkNGMxMDllNzEyZTY2NzggcHkzaworODc0OTkgZTIwYTY0MzZhOTI3MGY4YWU3ZjUwYjI1ZDFjZTBlNDYyMGM4NzZkZiByZWxlYXNlMzEtbWFpbnQKKzg3NTAwIGRkNmQxZWNiZWI1NmQzY2EzMzJhZTJkOTIxMWM2YzQ2ZjRlMzBlMTIgcmVsZWFzZTI3LW1haW50Cis4NzUwMSBiY2Q2YTY1YjhiMjIzZTU1YTI5OTUzMjc1MzA5ZWExZmRkZDFkNmM5IHB5M2sKKzg3NTAyIDQ0MmYxZGEwMWE4OTgyZDRhZWM0N2ZkZjVmMjkwNGEyZjk0NDhjYWIgcmVsZWFzZTMxLW1haW50Cis4NzUwMyBkNGQzYzg5YWIzODhmMGM5NTFlZjQ4MjNhMzkyZmYyMjM0ZjIxM2I3IHJlbGVhc2UyNy1tYWludAorODc1MDQgOTNlOTViMmUxYTFhMjNiM2IxYjViZTljZWY2MmUwM2MzYTZlYTM4NSBweTNrCis4NzUwNSA0YmI3ZjdiMTUxZmVhOTQ5OGNiNTI2NzE5NzJiYzdjNzdkMzRjMTgzIHB5M2sKKzg3NTA2IDY2ZDg0NDZhMDE5YmU3Njc5OTQ0Y2MzYzkwNzZhZDk4YWY2NjI5YTUgcHkzaworODc1MDcgZjYxMTk2NDUzYzc4MWU3MDZmZWNiMThkZWIwNzk5Mjk3MWMyNGFkZSBweTNrCis4NzUwOCAyMmMxMmE1ZDhlZDMwNTE1NTI3MDU5YmM2OWMwNmQ3YTczNzZhNDkzIHB5M2sKKzg3NTA5IDVkYWUwNGQ0OWUxNWM5OWRlODU5Y2MyNTI4ZTIzN2MxOTFmNWZlZTggcmVsZWFzZTMxLW1haW50Cis4NzUxMCBjNjk0Njg1Yjc1ZTI0M2ExY2FhN2IyYjAxODhiNDNhNjZlM2JhYjkwIHJlbGVhc2UyNy1tYWludAorODc1MTIgNjY0NzA1ZGJmZTYyOTllMTlkMzAxM2I0NzJlZDA1OTE3NDI2NDBhMSBweTNrCis4NzUxMyBlZmRjNWQwZDgxYjcyMWMyOGNhNjNlODczYWQ0NjM1Y2VjZTllNjYwIHB5M2sKKzg3NTE0IGJiZjc1MWZkZjQyMDY3N2M1NGJkYzIzNDZlZmRiNmM3NzlkMmRlZGMgcHkzaworODc1MTUgMmQwOWFmNGMxMzdjOWM2ZjNjZjRiMTU1M2ZmZjVjNDcwNjQyODQwOCByZWxlYXNlMjctbWFpbnQKKzg3NTE2IDg5NTQ5NTM1ZDk3NTg3NDIzMGUyYjk5NWZlM2MxNWEyYzExMWQ4M2UgcHkzaworODc1MTcgNmYxOTYyMmRkMzQyYjRkOTJmMGM3ZTdiNTgwZjBjOWVjOGMxNmIyMCBweTNrCis4NzUxOCBmYzgzNGIzMjNmMjY3ZGQ0NGRmZTlhZTdlZjkxOTdkMjc4YmU1YWFmIHB5M2sKKzg3NTE5IDU2MDVmNjkyMGI2MzhlNDA4ZTliY2M1YmZiNTQyYmE0MDc1ZGVlYmEgcHkzaworODc1MjAgMzA1YWY2ZjVjYWJmOTRlYjQyYjk1NzA5NmJlMTI2Y2E5YTEyNDg4ZCBweTNrCis4NzUyMSA1MzIwOWQwMGQzYWIxOTJlNDY1YzM0NTc0YmE0ZDFlYjkzYzM2OGMwIHB5M2sKKzg3NTIyIDAwMDQwMTNhZTk4NGE5YzQxNTMwMzJlM2JiZTAwZTc4MGIzNmE2MjggcHkzaworODc1MjMgMTA5ZGVmYzFhOGNmYjJlMmIyZjQyMDczZDNkYTYwNjBlODAxMTIwZSBweTNrCis4NzUyNCAzYTQ4MTZjMzZkZjdmZWNkNzk2OTRlZmMyMWNkZjE4ZDk0M2Y4YzFmIHB5M2sKKzg3NTI1IGUwYzUyYzBlODU4NjIzMzBjZjIzMzVkNjZiZjRmN2YxYTM3OWE1NWYgcHkzaworODc1MjYgN2Q1NTFkNWVmNGZjZjQ2OThlZDYyY2E4ODUzYjc2YTk3MDk4OTlhZCBweTNrCis4NzUyNyBjZDZlMzQzZTI3OGU4YzI0YjEwOGE5MmNjNTA0YTY1ZDU4ODZjMTFjIHB5M2sKKzg3NTI4IDYxNDQ4Y2RjMGZhOGMwZjViMmUzMjdhODM4OTExMGViNzVjNmE5MDkgcHkzaworODc1MjkgZWY5MzUzMWQwYWM0N2M5MjFmZWYyOWU4YzA3NDlkNGM1NDM2M2UyNyBweTNrCis4NzUzMCAyZTI0NzZmYjgzZWZmOTBlZDdjZWYwNTNjYTI1MTI3NzQ0N2QwNTY3IHB5M2sKKzg3NTMxIDRhNzczOWM1Mjc0YjhhNWI4MmZmZDY0MTM4MTkxOTFiYzA0ZWY5YTMgcHkzaworODc1MzIgODgwNTg2YjhkMGQwMTU3YmFmNGQ5ZWQ2YjU1MDMwMmNlNDRlOGNmMyBweTNrCis4NzUzMyAwMTcxNGVmZGM2Y2YxMjA5NGNkNzBlNTQ4Zjg4MjdlNzM5NDk5OGNiIHB5M2sKKzg3NTM0IDhmY2I4ZjI2NTVhNTkyNDA4NTNjZjE2ZWZjOGZhNTFhZjIyYTc3OTUgcHkzaworODc1MzUgMTRmZDBkZmIxNmZmYzM2MjY5YTZhZDkzYjgyMjZkN2M5Mjc2NDM4ZCBweTNrCis4NzUzNiBmNTA5MTI5ODM0NjE3Yzk2MWFjMzc2NDNkZjcxYTM1YTI1MThiZjRhIHB5M2sKKzg3NTM3IGI5MDFkYTU2MWNkMTQwNzBmYmM3NjY0MjM1MmMwNDM4ZjM4MGVmYWEgcHkzaworODc1MzggYThiZTA1NjczZjM0Mzc3ZjBmNDEwNDk4ZmViOGI4YzEwNWMxYzhjOCBweTNrCis4NzUzOSA1YWE0MzNhMjc3ZjkzN2ZjNzhjYTJjZWUwMjdjNmVjNmJmOThhZmUzIHB5M2sKKzg3NTQwIGE0ZWMyMGNjOTA2NjY4MjFiMTY1YTk2ZGU2ODMwYzk1MjdiY2YzYjIgcmVsZWFzZTMxLW1haW50Cis4NzU0MSA1NGYxZDU2NTE1NTU3NGE3NzNiMzMxNTY0Mzc5MmM4MjI0ZTcwZDljIHJlbGVhc2UyNy1tYWludAorODc1NDIgMThiY2VlODU2OWJiMzdhNDRlMmJjYzllODUyMDM3YzBiYTI0OWY5OSBweTNrCis4NzU0MyBjYzc4YTZiZWZiZjJmMWY2ZWVhNGI1ODBmMjhhMTU5ZDdhODRkNjRjIHJlbGVhc2UyNy1tYWludAorODc1NDQgMDVjY2NkNDI1N2EyMmE4Nzg0MjkzN2ZjMjljN2ZmYWYxNzVjMzY2ZCByZWxlYXNlMjctbWFpbnQKKzg3NTQ1IDM1NDZjZTFhYTM1NWJjNjc0MTllNjViZDU0YTFmMmFhN2M0Nzc4NjUgcmVsZWFzZTMxLW1haW50Cis4NzU0NiA1MmE4NjE3NDYxMjk3YmI5NTk0NmM3ZjliYWU2OGEwNzA0YTFlMWZjIHJlbGVhc2UyNi1tYWludAorODc1NDcgNmNjZGIxZTAxNjExNTc0ZDFiZTAzZTlmZTUyMWI0ZWZhM2QyZjJhMyBweTNrCis4NzU0OCA2OTQ2MGM4MDU3MzdiZTgzNTFmNWNlYjJlNTBlYWY1NWViN2ViNDAxIHB5M2sKKzg3NTQ5IGI3YmU2NTJkYWY2ZWUzMjIyMDdiM2E0MGNhYmVkZTgxZGZhMDVjN2UgcHkzaworODc1NTAgNzdkZWRhYTM2ZDNhY2I4YWZjMzFjMzY1YjIxODdiOWJiOTNiY2FlYyBweTNrCis4NzU1MSA3NDFiOTNiYzY4YTViZWJlOGQ3MWVkYjQyOTBmNDY3MzA3Y2YyN2FiIHJlbGVhc2UzMS1tYWludAorODc1NTIgOTU1OWUxMTUyNTk1Yjk1ZGQyZDQxNzMyZjY1YjRlYTI1ODQzMjRmOSByZWxlYXNlMjctbWFpbnQKKzg3NTUzIDBkOTdiYjk5NDI1ZGVjYTFmYWNiZjkwNTI5MDhjY2FkYTA4M2YxZmQgcHkzaworODc1NTQgNWJiYzFkYzQ1OWE1ODFmNjc2ZDk1ODNiMjRlNmMyZDljNjcxZTViMiByZWxlYXNlMzEtbWFpbnQKKzg3NTU1IDFkZjIwMjFjN2MzYzQ3ZDJmYmFkMDhhY2JkNTAyYmJiNzBhOWJlYjIgcmVsZWFzZTI3LW1haW50Cis4NzU1NiAyNDk4OGY5Zjg1MGIxYzNlYTAxNmIxNjI0NzY4ZmI0ZjJlNjQ0YzEzIHB5M2sKKzg3NTU3IGZhNTk4OGY3YzhiZDI1NzA2NDhjNTRhMjA4NjA5ZjgzNGY3N2IwNTggcHkzaworODc1NTggMmE3NzNiZWY0MGMyMTE3NDNlMDRjNjViZmZmZWVkOGVjYWI3MWQzMSBweTNrCis4NzU1OSA2MDMyM2EwZTgwZDdjMWZmYTJiMzJmZTI0ZTNkY2QzYTJkODVmNmUwIHB5M2sKKzg3NTYwIDM3YTkxNWJkZjgyN2JhNTE0MjU2ZWViYjJkOGViYTI2MTJlMDc4YTMgcHkzaworODc1NjEgNDI3ZjlmMTU1MDQ4NWU4NDQyOGE4ZWZiOGQ3ZDUwOTUwNDJlNzliZiBweTNrCis4NzU2MiAyYjQwZTRjNzc3NzU1MzcyNmU3MjJkYzVjOGQyOGViZjk4NWFlMmUyIHB5M2sKKzg3NTYzIGIwZmFmN2E0NTIzOTUxMTQzNDAwZTc2MzhjNWFlY2U5YzZlOWVmMjIgcHkzaworODc1NjQgOGI1ZWViNWY0NTQ2NjRiYzdkNmRiNjgzNjcxMDcyZWI0M2M4ZjM0YiBweTNrCis4NzU2NSBlMmU1OWNiNGY1MGNiMmMyOWMwMDI3MTAxNjdhMmE0MjQxMGUwMmYxIHJlbGVhc2UzMS1tYWludAorODc1NjYgMDBiYjA0MDZiZmVkOTQwMWFhY2E0ZmZiZDM3OGVjM2IyNTIyZjZjYSByZWxlYXNlMjctbWFpbnQKKzg3NTY3IGFiNjFiYWIzMjFjMTAxMTk2NzAyMTdhYTFmNzkzYjBmODllZjA5MTMgcHkzaworODc1NjggN2U3MTZiOWE0MDNkMTQ5NDlkZjJhNGU5NWVkNjdiMjdmNjNiYTkxZiByZWxlYXNlMjctbWFpbnQKKzg3NTY5IGYwNjk3Y2E4YWQ0NzZkZDg4YWYzNmEyNjkyYjIxOGIyMmQ3MDU1NGYgcHkzaworODc1NzAgMmU1OTJhNGU2OGFiOGY2MDcxNDQ4YzBlYjg5NzMzODU1YWMwNDE0MyByZWxlYXNlMzEtbWFpbnQKKzg3NTcxIDJlMWRiYjI1MmYyNTc4MTlhMDEyOTNkNDdlNGRmY2Y4MmI1NTBhNjYgcHkzaworODc1NzMgMTBiODM2NjgzN2Q4MGRlNzM1YTFiYzIxMTQ5NDJlYjFkMWIzMjBjNiBweTNrCis4NzU3NCA0MWQ1YjZjYTE5MjNlZjlmNGI3MDc4YmYxMTM2OTllZTRiN2Y2ZmM5IHJlbGVhc2UzMS1tYWludAorODc1NzUgZThlNjRlYjRjYTRjZjU3ZjQ4ZGNlMTM2OTJhYTQ3YWYxMTgxOGE4ZiBweTNrCis4NzU3NiA5MTM4NjM0YjhiZDE0NjAyZGQyNWZhYWM1YWFhNGZjOGU3M2FhZjgzIHJlbGVhc2UzMS1tYWludAorODc1NzcgNGM4M2EyOWE3MTJmOTE1ZGE0ZjlmYmFlMjEzNzg4YmQzZTYwZmY0OCBweTNrCis4NzU3OSA4N2U2YmRiMzczZDEzZDU1Zjk4ZTZhMTBhMDM5OGI3NzJjNjM0N2E5IHB5M2sKKzg3NTgwIDE2MzE5ZjliZTk3YzRlYjlhMTVhZTMwODEzYTRkMWZkYzI5NWZjNzcgcHkzaworODc1ODEgNTRlZjUyZjk3MWE1MTk3ZjNjZTZhMDIxYTgzMDRlZGExYWJhYzNlOCBweTNrCis4NzU4MiA2M2JmODRjZmQ4YTYxNGViODU2MDAxMmM1OTBkYzRjOGZkNDQwZDI5IHB5M2sKKzg3NTgzIGYwYjU2YTM4YTUyNDNiZTAxN2MzZmZhOGNkMWFlZTNlNGRiNTg5MGQgcHkzaworODc1ODQgNDRlYjA5YTU1MzkzZjA3YmU5YTRiOWI4MWZiM2IzNzQ1NTIyMjcxYiBweTNrCis4NzU4NSBmMzdmOTZmY2U3Yjk0ZGE3ZjMzNzI5ZDVjZjc2NjRjOTJlYWY5M2Q5IHB5M2sKKzg3NTg2IGZkYjZiZDFkNTM1NGNlODM2ZTQ3MTQ5YzQwMGExNjg0NjI5OGJhNjYgcHkzaworODc1ODcgOGM3ZGYwMzU2MDM2MDIwZmVkZGEwNjg1Y2I5ZjNhMGYyY2NiMTliYiBweTNrCis4NzU4OCBjYWNmZmYzNDlkNDhkNzMyY2IwZmQ4YTk0MjJmZDQzOTVkOGRhZWNiIHB5M2sKKzg3NTg5IDBkZmI4Mzk3YTk3M2JhZTZiMTZkMWE3ZjFiNjk1NjY0OWIyMTE0MmEgcHkzaworODc1OTAgNzAyMDM3YzAzOWZmMDEzOTQ5NDRkZWJiZmMzZjNhMmNkY2I3MmYxMyBweTNrCis4NzU5MSBjNzJlZTZlM2I3ZGY4YmI5ZDE4Y2JmNDBmYTJkZjA0MzE1NzE0NDI5IHJlbGVhc2UzMS1tYWludAorODc1OTIgYTEzYjg2NjNmZWJhYzc3ZWRlNTQzM2NmNDQxNmNkN2RjNTgzYzAyNSByZWxlYXNlMjctbWFpbnQKKzg3NTkzIDU1MTAwNjNiMzlkNDAxZTBlOGY5OWMwOTM3MDQ0ZGEyOWZlYjJkYjQgcHkzaworODc1OTQgM2ZlNjZmYzIyMTdiMzAxYTliZTRlNjgwZDUwNzY2YTRjMzgyYjIzNSBweTNrCis4NzU5NSBiNjhmMzg3ZmJiNDhhOGJlNDUzYTFlMzgyNjVkYzhmNzAyMWIzZjA2IHB5M2sKKzg3NTk2IDg3NTcyMWRhNzQ2ZDM1YjdjYjk2MTZlYmZmNTYxOWY2NDI2MWJiZjkgcmVsZWFzZTMxLW1haW50Cis4NzU5NyA1M2RiMjkwZTQ2ZWY5M2I4OGRjZThjZTZjZWYzNTk2M2I4ZWI5NzY4IHJlbGVhc2UyNy1tYWludAorODc1OTggOGY5MjRjYWYyZTVlOThkYzk4NGNiYjUxMzU5ZGFmYTg2Nzg1OTFhMCBweTNrCis4NzU5OSBlY2EyNWYxZGVhZTczMTgzMGJiZWMyNDUzZGJlOGYxZmIxM2RlMjcwIHJlbGVhc2UzMS1tYWludAorODc2MDAgNTAwZWIzZDA4OTdmNDkxM2RhODhjYTIyMGY3ZmNjYmQwZGM0MTRjYiByZWxlYXNlMjctbWFpbnQKKzg3NjAxIDNiYzc0NjE2YzlmZmMzMTlhMjIzZTdkOTZiODJhMzI2YzZmNzYzMTYgcHkzaworODc2MDMgZmE4NTUwMjEzYmNmZGRlNzIzMmNmYTM0Njk1NzI4MjQxNmEzNzE1MCBweTNrCis4NzYwNCAzMzU0M2I0ZTBlNWQ2MTUwNTg4MDViZjU2NzRkODc2ZjY1OTU3ZDNkIHB5M2sKKzg3NjA2IGNkOGM5YjY3ZjAzMzg1MjY2NDMzMDU1N2MxNzc2NDU5OWYzMDk1Y2UgcHkzaworODc2MDcgNWRiYTY3Y2E2Y2NmYjU1YzAxN2U4YTY2MWY2NTY2NmFkYmNiZWY3ZSBweTNrCis4NzYwOCA3YmIzN2E0Y2Q3Y2Y3NTllZDAxNzU2ZDBkODc2NjQ1MDEyYTE1M2NiIHJlbGVhc2UyNy1tYWludAorODc2MDkgNWRiODk4NTNjYWNlMTk2ODA3YzAxZmZjNjMxYTg4MWNmYWRmNzRiMiByZWxlYXNlMzEtbWFpbnQKKzg3NjEwIDkwMGJhMDdlNDgyNGI4ZTA4ZWM5NmMzNWFmMTYxOWI2MjI3YjNlMzAgcHkzaworODc2MTEgY2NlZDBhN2NlYjQzZTgwNDE1N2FjMWY0MTRmNzI5M2QzODQyNTIwMSBweTNrCis4NzYxMiA0MTVhNzkyZTEyNDkzYjhjMjFiYWFlY2Q3N2Q1NThlNGQ5ODhlYTJiIHB5M2sKKzg3NjEzIGE5YWE1ZTRlYjhjM2FlNTVmOTBkMTYxZWRjOGFiNTU2ZWRkYTFkMjggcmVsZWFzZTI3LW1haW50Cis4NzYxNSBmOGMyZDg5MGZkMTA1NGI5ZDM1ZGNjYThlMDkyYjNjNDUyNjA1M2EzIHB5M2sKKzg3NjE2IDhkYmY4NTVjOTBlZGFjNzgxOTY5ZWVhNDYwNTFiNzcwZTQyMDE1ZmUgcHkzay1jZGVjaW1hbAorODc2MTcgNTc4NTdhNjBmYTk3ODViZWUwNDkyYzM1YjhiM2FjNGUwNzRmYzExZSBweTNrLWNkZWNpbWFsCis4NzYxOCBkZDQ5NDU1ZDhhOGM5MTc3NzI3YmU5YzVjYzhhZGM0MDY2OWJiNmZlIHB5M2stY2RlY2ltYWwKKzg3NjE5IDZhZjllODAwMDMzMjk3OGE0YTNkOGQ2YjgwZjQxZjEwNDc4MTVhMmMgcHkzay1jZGVjaW1hbAorODc2MjAgYTZjZDg0Y2E3YjJhNzk2NTBmNDQyZTA3ZGJjZDUyOGI1ZjI1Mzk3OSBweTNrLWNkZWNpbWFsCis4NzYyMSBhZWU0NTQ0MDBlZDcxN2I4MjdiZmVhZTUzOGYzMzc2Njc4M2QyODc0IHB5M2stY2RlY2ltYWwKKzg3NjIyIDRhYTY2ZTUxNDg4ZjM5NDVhZGJmN2YxZmY1MmNiYWRiOTA0ZDZlMmEgcHkzay1jZGVjaW1hbAorODc2MjMgMGIyZWE5MDMwMGMwYzliZmZlYTUxNTEzMjk2MTU5ZmQwYWJjMzhhNyBweTNrLWNkZWNpbWFsCis4NzYyNCBkMmNhNWIzMTA0YWEzY2I5N2MxNGQ3MDVjMjM3YmRkY2Y3MDkyZDVkIHB5M2stY2RlY2ltYWwKKzg3NjI1IGQzOTNlYzUzNmNhOWQ1ZDNlYTMyMDEyMjM3ZDE5NDg2OTA2MjlkMDggcHkzay1jZGVjaW1hbAorODc2MjYgM2ZlYWRhNzIyMzNjNDczNGU3MmM5NDIzN2YyYjRlNDQ0ODc3ZjMxMCByZWxlYXNlMjctbWFpbnQKKzg3NjI3IGRjNjI0NWJmZTU2NjFhZjk2ZmM5MjZjNjFiZjFkOTg3NjYzMzVmMzcgcHkzaworODc2MjggNzQzNmRhZWM5NDIxMGUyNTFmYjhhNjkwMjUyZGNkOWRhNTJjOWFjZCBweTNrCis4NzYyOSA0NDk2ZGViMjYyNjVkYTM2MDdlMDg2YWM1MDMzZTY4NGI4YWFlYjIyIHB5M2stY2RlY2ltYWwKKzg3NjMwIDc5OGFhM2ZlMDM0N2I1OWQ5OWJjMDg3ZWEzNTE4MzQ3ZDFmNDdlNDcgcHkzay1jZGVjaW1hbAorODc2MzEgMjFlNGYxYWEyNDMwYzJmYzU5OTZhMzdjNjcwYTRhMWFlZjZjMzk2NiBweTNrLWNkZWNpbWFsCis4NzYzMiAwZmMyNDkzYTM4NjNkN2UyZDE1MzMwODE2MjQ0ZjYyMWI3MGYyZmQ0IHB5M2stY2RlY2ltYWwKKzg3NjMzIDVkMzZmMGE1Mzc4M2FkZTQwYmQxYmU3NTYzYzQyMzQxYzE1MWE5ZDAgcHkzay1jZGVjaW1hbAorODc2MzQgZTcwYzkzNjEyZDdmY2JkMmJjOTlmMWZmMWY2MzNjYTNmYzQ3NjVkNCBweTNrLWNkZWNpbWFsCis4NzYzNSBkNDRiYTc1MjEwM2YyM2I3YWE3ODI5YTlhOGIzNjc2MTViY2RkNjJhIHB5M2stY2RlY2ltYWwKKzg3NjM2IDE2ZTg4NmE3NmM1YTU5YzQ5OGNlYTlhNzA0Yjg4MzFmNmZmNjZmYzMgcHkzay1jZGVjaW1hbAorODc2MzcgZmU3MjNiOGQ3YzVmZTMwOTdhZmM4OWU3YWVkNWRkNzVmYzJkZDYwOSBweTNrLWNkZWNpbWFsCis4NzYzOCA2NDAxNDkxM2ViODgwOWI4NWZkYjZjOWUyNzI5Y2FkMGM0YjlhMmNlIHB5M2sKKzg3NjM5IGIzNDQzNzdmZGQ4ZGI1NmI0MDEwOWQ4MTU3NTk5ZDIyNjI5MjRjZmQgcHkzaworODc2NDAgMzM2NWM3YjY0ODkzN2RmZTUyZDBhNTZlY2M5Mjc4M2RkZjk0ZDFlNiByZWxlYXNlMjctbWFpbnQKKzg3NjQxIDhmMzNiNTAyMTgzYmYwMzk0ODEyZWQ1MWNhYmZhM2QxYTA4MTdiMDUgcmVsZWFzZTMxLW1haW50Cis4NzY0MiBmZjEyNjFhMTQ1NzMzYTQ2ZGJmYzBiMTRlMDkxNzMzODJmOWQyNTQzIHB5M2sKKzg3NjQzIDllYTEyZTg2ZDU2NTIyN2YzZjY5ZjI5YTlkNTM1NDM3NmNmYmYxZWEgcmVsZWFzZTI3LW1haW50Cis4NzY0NCAxNTJhMDk4NWIxMzhiNzkxOGQxN2Q3YzhjZTViNGUzMmFkZmRmYTU5IHJlbGVhc2UyNy1tYWludAorODc2NDUgMGFmYzQxMzljYzcwMjkxYzRhMWYzMDI0Mzg3NDM0YWQ2MjVlYTc4ZiByZWxlYXNlMjctbWFpbnQKKzg3NjQ2IDBjYWUyMWRlOTkyMTM4ZjRkNTVhNjRmNjJiYzk3NDI0YTRmOGVjOTkgcHkzaworODc2NDcgMDA3MWExNzM0NjkwOTkwN2FhNmM1MDJkNzAwMzA3MGUzOWJkYmExZiBweTNrLWNkZWNpbWFsCis4NzY0OCA2YzQ2M2IwN2RiZGI3MmFjNTRkNDEwZGY5MjRkZWFlMjA4NTczMWNhIHB5M2sKKzg3NjQ5IGRiYjZmYjJjNWI5ZDdlNmEwOTljOGFmOTJmMDViNGMyY2I3N2QwMjggcmVsZWFzZTMxLW1haW50Cis4NzY1MCBlYjk1NGM3NjU1MjFhYTcyN2Q0MjY0Zjc0MjBlM2ZjOWJkNDQ5YjRjIHJlbGVhc2UyNy1tYWludAorODc2NTEgYTVhZTNhMTdkNWZiMTgxNDE1ZmMzMmM1ZjQ0YmFlZmZhNmEzZDRlZSBweTNrCis4NzY1MiBlMGU0ZWZiNjMzNTRjZGI2ZjQ2NmNlNTA2MzIyODNhZWNjMzdmZTdiIHB5M2stZnV0dXJlcy1vbi13aW5kb3dzCis4NzY1MyAyNTZmNzk0YzJjYzAyODQ0NDBiZjVlY2M3NjIwZjMzODcwZTAyZmQ5IHB5M2sKKzg3NjU0IDU4MWU2NzI0NzhmN2VhNGExZjMyNzJiZTdlYTgwNmU4MjkyNWViMjggcHkzaworODc2NTUgYzRkNjdmYTkwOWRjZDJkYTE5ZDFjNDFlZjA1NmEyMDc2NjJiYjQ4MCBweTNrCis4NzY1NiBiMDIwZGY5ZWUzODE2Y2IwYTkzNjRlNDBjNGVhN2FiODUwMjNhMGI3IHB5M2sKKzg3NjU3IGQzOWVmYTU0ZGVhZjA0OTMwOTk4ZTQwMjkxNzI4ZTJmZjcxNGNiZjAgcHkzaworODc2NTggNDI2MGUzMDI1MmViMmJiN2Q1NWViNDgzZGJlNTUyOGQ2NjliYzU3YiByZWxlYXNlMzEtbWFpbnQKKzg3NjU5IDczMGIxYWYwOTIzODc0ODNkMDcyODg4MWZhODlmMDZkZDZmNmIzOGEgcmVsZWFzZTI3LW1haW50Cis4NzY2MCAwNGFhNWJlNzA2YWMwMTc3MTFhMWFhOTViMWE5ZjUzNDI0M2ZhMGQzIHJlbGVhc2UzMS1tYWludAorODc2NjEgYTVkYWExNDAwMWE4ZWViYTRhZDAyOTdiNjY3ZWU1OTYyYTA1OGY4YiBweTNrLWZ1dHVyZXMtb24td2luZG93cworODc2NjIgZjg5ZTM3Y2Q2YzY1NzcxNjhkY2IzZjAyNTMwNjdjMjI2ZGJlM2FiNCByZWxlYXNlMzEtbWFpbnQKKzg3NjYzIDg4ZTVhZTViN2RjMjZhMDFjNjViYWU5NTIzMjgxZDc5YzVjMTNiZDQgcmVsZWFzZTI3LW1haW50Cis4NzY2NCBlMjg4NjhjZjk4MjU4OWM3NWUxN2QwZDQwZGUzYTI5OGM3YTgzN2IxIHJlbGVhc2UyNi1tYWludAorODc2NjUgNzQ2MTQzZWMxZjYwZGExMjk1NGE3ZWE2NzFmOTE1MzZmNDAyOTJhMCBweTNrCis4NzY2NiA0YWY5ODdlYzAzM2EwZDA2ZTEzMTk5Zjg5YTUyZWZlYWFlY2ExMGFlIHB5M2sKKzg3NjY3IDI4NTM4ZjJlMGNjMjQ3ZjNmNWY4OWE0NzA4ZmE0ZmZhZjQ5Mzg0ZDEgcHkzaworODc2NjggZDhlZDBjYzllMzM4MmMyNjk0Y2NkMGY0ZWEzMTJhY2YzYjVhMTViZiByZWxlYXNlMzEtbWFpbnQKKzg3NjY5IDkzYjdjMDAwOGIwODVlMDdhMjk0NDRmODk2MWE5ZjJmN2YyYzEwYjcgcmVsZWFzZTI3LW1haW50Cis4NzY3MCA3M2IyNDQ3NmNhM2JhYWY3MDdlNzc2M2I3YmZkN2Y3MjI1MGZkNTMzIHB5M2stZnV0dXJlcy1vbi13aW5kb3dzCis4NzY3MSBhMDQ4ZDBjZjJhZDFkODIxMDc4NDk1Y2UzOTcwMmJiNDQ3M2RhYTk1IHB5M2sKKzg3NjcyIDUzODRlNzIwZjI4ZmQxOTgzNjBkY2Q2NmU5ODU2ZmIxM2U5YmQ3N2EgcHkzaworODc2NzMgNDM5YmY5NjgwYmVmMjY2MDNjOGY0YTc3MTkyOTE4YWUzNzM3ZTIwNiBweTNrCis4NzY3NSBlOGJjYzdkYmFiN2RjMjBjMzM5ZjM4MzEzZjhhNDRjNGRhNTQzY2ViIHJlbGVhc2UzMS1tYWludAorODc2NzYgYzg5OGRkMjE1YmEwNjY1NzRmN2FlNDhlMTlhNzZmODgzNWZmNTYzYSByZWxlYXNlMjctbWFpbnQKKzg3Njc3IGZhNTlhYzExNjQ4NDBkZTljMThiNDkyY2NhMzQzNjZkODI2NjgzOWIgcHkzaworODc2NzggNTc3NmY0MjRkODU3ODEyZDcxZmFiZDY3MTU4NjEzN2QyMjIzZTMyMCBweTNrCis4NzY3OSAyODExOTA2MWY3ZDAxMTg4ZGU0MjU4MTE5ZjYzMDQwZmQ4ZmM4N2NhIHB5M2sKKzg3NjgwIDgwNjAwYzBjMzNiNzhiMWRjODVkNzFlOGEyZGEwMjIwNGMyNzRhNGIgcHkzaworODc2ODEgZjViMTA1YzlmNDZiZjZmMmFiYzM3Y2UxNGE2N2NlNWMyZWIwM2JmYSBweTNrCis4NzY4MiBiYTE2ZmY4NmQ0ZjZjZDE1OTZkYTI2MGJkM2IzYTE3ODliZmRkNWQ0IHB5M2sKKzg3NjgzIGRiYTliOWM3YTJkYjc2Zjg0NzcwYWMyMTNmNmQ5Mzg2YWE2NTQxMDMgcHkzaworODc2ODQgNmNiN2VkN2I2Njk3ZTUzNTJhM2ZmNGVlNDQxYzA0NTdlOGVjMTllOCBweTNrCis4NzY4NSA5NDg2OTI3MTJmZDcxMGQ0YzMxMThmMTIwYTJiZWViYmVhOTk2YTA5IHB5M2sKKzg3Njg2IDkzMWQyMzIwZjU2YTA3YjQ3MWRkNDYzMzg0ZjAzNTc2MGQ2OTc1NjcgcHkzaworODc2ODcgNGM0NmY2NjMyZGRmOTc3NjRiZWQwNDJlNDcwYzhhOWIwOTgzMGU4ZiBweTNrCis4NzY4OCA3NzQ4M2YzZTQ5MWE3OTM2MGMwMDlkYmM0Y2Q0NTZjYWZlM2VhYWExIHB5M2sKKzg3Njg5IGM0MTdkODA1NzY4Mjc0MDk3Y2QzNWM5YjBmMDAxZjNhYjBjOGNiZjMgcHkzaworODc2OTAgNzQ3YzU1YTk0Y2IwZTVlNTE4ZGZlNjY4NmM2YTIxN2ZiMWY2YWNmNyByZWxlYXNlMzEtbWFpbnQKKzg3NjkxIDZiN2Q5ZjFjMmNlNTFhODRjZjBhMjMyNjhkYzRhZjgwODQ3MDFmOWUgcHkzaworODc2OTIgMjQ1MzU5MzgyYjBmYWQzZTQzMjhjN2JkYjUwZGM1MzBhZGJhNmVjZCByZWxlYXNlMjctbWFpbnQKKzg3NjkzIGZlYjIzZTI0ZGNiNWM3MGYzMzExMDc5OWNmNzI5NmEyZDQxYTc2ZDAgcmVsZWFzZTMxLW1haW50Cis4NzY5NCBhMzNlMWYwMjA5MWY4ZmExNWU3YjgyYjA3NGViMmM5NTk0NDllOTAzIHJlbGVhc2UyNy1tYWludAorODc2OTUgYTY2YTZlNDI1MzhmZTQwOTEzZjY1NjNkMmJjZWQ0YWZlN2E5NzJmNSBweTNrCis4NzY5NiBlOWE1MWQ0NjM1NzkyNDQzMTU2M2E3YTYyZTA5NDhlMzZjMzRiOWRhIHJlbGVhc2UzMS1tYWludAorODc2OTcgYTQ3NmViMDg3ZWU5NzY4MzMxZTgzYTM1MjQ4MDQ4MzU1NzU5N2FiYyByZWxlYXNlMjctbWFpbnQKKzg3Njk4IDhhYzRiY2NhOGUzMTYxZjJlZmI3YmRhZWNjMTdlNzlmMjQ0YmIxYWUgcHkzaworODc2OTkgOWFjZWQ1YWVkMTFhZjVhZTE3YmM3ZjQ0NGI1YjhjMzY2ZDdjZTcyMiByZWxlYXNlMzEtbWFpbnQKKzg3NzAwIGIwYjQ0MTRjMGJkYzIxZGU0MzY1MjQ3ODg4MDg3ZGQ3MzExZjYwOWQgcmVsZWFzZTI3LW1haW50Cis4NzcwMSA3OGRlM2E3ZmI4OTYzNGUyOTZiYzI1NzRhNWQyYTU0MTFlM2JiMmU2IHJlbGVhc2UyNy1tYWludAorODc3MDIgMjc1ZmI5ODQ5NDkxZmUxNWE3ZjIwYmMxYmI3YzZlYzI2M2Y0ZTI5ZiByZWxlYXNlMzEtbWFpbnQKKzg3NzAzIGY0OThlYTk3OGM2ZmUwZWRjOWRhNWVhODhlOTljNDBmOGI5OGU0NDIgcHkzaworODc3MDQgNjExNTY3ZWM0ZDdiNzE1Y2I4MDY4YzAwOTI0MmZkYjhkNzM0NDFiNyBweTNrCis4NzcwNSA4YzE4OTkyZDM3NTBhYzIzZGFiNzkwMWM2NmM1MTdjMTg0YWRiZjUxIHB5M2sKKzg3NzA2IGY2MGE4OTlhMjA0ZTViMjhlZGNjNmVlYjQxMzc3YjdjM2Q0YjIxZjMgcmVsZWFzZTMxLW1haW50Cis4NzcwNyA0MDk0YmMxM2FjZmNjNDEzMGYzYzI0OTYzODE0MzE4MTNkNjI4ZGM5IHJlbGVhc2UyNy1tYWludAorODc3MDggOWY0OWVlNTIzOTc1NjEwOTgwMmVlNzQzMmY2MDdlNTBmZDEyMDg4ZSByZWxlYXNlMzEtbWFpbnQKKzg3NzA5IDViY2YxMDhhM2Y1ZGZmMjdkYTIxMDc4OGVjMzNiNjllNTViMDJiYzAgcmVsZWFzZTI3LW1haW50Cis4NzcxMCA2ZTVhYWRhNGZkZDVmMTc2ODg2MmJlYjRiZjcwNTEzZTQyNWEwNWFjIHB5M2sKKzg3NzExIDUwMTE4NzBlYzg2YmQ0ZjE4YjI1NDRiZTRiNmEyNjUzN2I1MmFhMjEgcHkzaworODc3MTIgYTdjNDk5MjY2YTlmZTAyNTFiNmU3MThmOGY4YWFjZGRmZTM0ODljYSBweTNrCis4NzcxMyA4ZjUwOWM1MjYwYTk4YWMzOThlYWU4NTgyZjEzNTdmMTZkYjFlYTIxIHB5M2sKKzg3NzE0IDg5MzI3M2Q3OTNjNmVmNTFjNTUyOWM4MGUyYjc4MmI5MjQwMzIwMzUgcHkzaworODc3MTUgNzMxZGVjNGU3NTEzODE2NGFkOWM4YjNkZGQwYTgxMDMwMmQ2Mzg2NCByZWxlYXNlMjctbWFpbnQKKzg3NzE2IDlhZDg5NjQyNmY3OTY0MTgwMTNiYWYzNTlhZWE0ZjgwY2ZjZWVmNzMgcHkzaworODc3MTcgNzBiZWEyZGFkZWY4YTcxNGQyYjNhN2QzZmNmNjU2NGUwZDdmNmI5NCBweTNrCis4NzcxOCA4Yjg0OGQzYzZhZDAxNDQ1MDg5OWZlY2QwZjhjZTJhNDcxYzE1Y2RjIHB5M2sKKzg3NzE5IGQzNmUzNDVhMWEzY2VjYmU5ZGRmOGY2NjAwMGZkMGYxMmMzNGIzNzkgcHkzaworODc3MjAgZjBlYjM0NDhjZTM4NDU5MjkzNDA3YzNmYTBjOTQ0MjhkNzlkODljMSBweTNrCis4NzcyMSA5Y2Q4M2M2NThiYTQ2MjBiZjMyMzM4YmM2ZmE5NjdmYjE0YWRkMmY3IHB5M2sKKzg3NzIyIDM3NGRjOTEwZGIzM2FkNjhjMDczODg5ZjdhOTU2ZGQ0OGNlZDA3ZTcgcHkzaworODc3MjMgMThkYmMzYmExNmMwZWFmZDgwYzY3MmYzNzhhNjdjNDdmMmZlYjEzZCByZWxlYXNlMjctbWFpbnQKKzg3NzI0IGMwMDdjM2RiYmQzZmJkOWVlM2JkNWI4NGNjNmM3NmZlZjFlOTZiODYgcmVsZWFzZTMxLW1haW50Cis4NzcyNiBhZDJmMzQzODBhYWM4Njc4NDc0YmQ2NTNjZTEzOTZiY2ViZGM2YzVjIHJlbGVhc2UzMS1tYWludAorODc3MjcgM2UxYzNkMmE4Njg5MDcwNWYxMzcyNzY5MDQ1YWQ2YTliYmQzNDQ2MiByZWxlYXNlMjctbWFpbnQKKzg3NzI4IGY3OGU3ZGIxZDVlODY0ZWNlNzk5ZDllN2UxOTU3OTczNjExYTEyZTYgcHkzaworODc3MjkgNDU0OTQyNmVlNGQ2NTJlYmM4NWRiZmNhYzBkMjAzNjUwMTMwNjhjNSBweTNrCis4NzczMCBmNGE4MDhmNWE2NmQxY2VkZGNlNDQzNTE4MzcwMzhjN2ZlNmNmMGMwIHB5M2sKKzg3NzMxIGE3ZDE1ZGY3ZDY3ZDNmMGYxMTMxZmU0OGMwOGViZGVkOGQwN2Y1Y2IgcHkzaworODc3MzIgOThjOGFhMjM3ZmMxY2MxMzk4ZTJkOGQ1NzAxZDg1MTYwMTRhZWRiYiBweTNrCis4NzczMyAzYmY0ZDlmMTY2MGE0YzFkY2VhNTM1Yjk0NDRlNjQ5MmNkNjkyNDNlIHB5M2sKKzg3NzM0IGNkMjc5ODIwODdlYWM0YmIyNDE4ZTU5MzBiYjVhNzAwYzdjMzBiZWUgcHkzaworODc3MzUgOGFhOGRjYTQ2Njg0YjU0ZmJjZGRlZTU3OWRmN2ExZTY4ZmJiYTY5MSBweTNrCis4NzczNiAxZTYyYTBjZWUwOTIyYzNmOWZiODM3YzUxOWY4YTM5MzM4ZTNhMzdhIHB5M2sKKzg3NzM3IDY0MmM4ODA2ODMwZjVmYjQyMDI0MTAxZDFhODE3MjllYmQ2ODdjNzEgcHkzaworODc3MzggMjAwNDNkYTc4NzI2YTM5NGEyYjJiNmQyYTMwNTBmNjJhNTg1MWIwMyBweTNrCis4NzczOSA2MjllYjNiNjk5MDlmMWNjYjZmMWUwYWFkZWQzZmE0OWI1MDRhYTZkIHB5M2sKKzg3NzQwIDM0NzhkMDA3ZGYyMzcyMmRmOWZkMzdmYjJlN2Y0NWNlMDY0Y2I1N2IgcHkzaworODc3NDEgYTNiN2MyOTA3NTRhMGExNTIzODFhOGNhODEzY2JlZjk3NDg5NmE0MCByZWxlYXNlMzEtbWFpbnQKKzg3NzQyIGE2YmM0OTdiMTk2MjQzY2VkOGUzMjAxMTEwMWE5YzVjNGU3ZDgzNzAgcmVsZWFzZTI3LW1haW50Cis4Nzc0MyA3YzVjMzdiOTYyODE2Yjc4NzU0ZTkwNWNhOWRmZDNlYjc1OTE3ZjczIHJlbGVhc2UyNy1tYWludAorODc3NDQgOGFmNmU4ZmMwMjA1YmNjYzY1ODAyN2QxZWYzNzkzY2U3NjI2OGJjYiBweTNrCis4Nzc0NSA0NTU3ZDQ5NWE0ODQ2YzNlNTIyNWY1ZmQ1YTBjNmE1NDhhOTllMjQ1IHJlbGVhc2UzMS1tYWludAorODc3NDYgMDgxOTIyNjVkMTcyYzRjMTA4OTc0N2I2YzA4MTI5MjNkMjQ3M2M4ZSBweTNrCis4Nzc0NyBjMGZlZjhhMTQ0ZmFkOThkZThlZDZhZTBkMjkwZDM1MjQwNWIxMzJjIHB5M2sKKzg3NzQ4IGVmY2IxNGY5NGU3NjkxM2JkZmMxNjEzZTc2OTg3MjhhZjM5MjYxOGEgcHkzaworODc3NDkgZGQzZjI4ZmZkMDI5MDg5ZDA4ZDFmMTZmMzUyOGY2Y2QwYjU4OTg0NCBweTNrCis4Nzc1MCA0OTc4OWE1MmE5NzYyNDQ0MzM2ZDQ4MmMyOGViMzY5MDZjMzY5Y2I4IHB5M2sKKzg3NzUxIDBlZmZiMTc1Yzk4MTliOTQ0MmUyNTBjNjRjY2M5ODVlNzFlNzQwM2EgcmVsZWFzZTMxLW1haW50Cis4Nzc1MiA4NWZiZDc3NTUzNGViN2Q4MDgzNmFjOGJmNTRjOTk1ODExZDVlMWRlIHJlbGVhc2UyNy1tYWludAorODc3NTMgYTBkNGVkYThkYTBhZjBmZThjMDQxNjY2OTQyYzIxYTVlZmFlMmZhMCBweTNrCis4Nzc1NCA0Y2M0N2E5MDgzZTM4OTk5NmZmYWQ0ZTliNmIzOTYyOGJiMmYxNjgyIHB5M2sKKzg3NzU1IDRhODJiZTQ3YTk0ODFiMWMwM2JiOTUxYWU4ZThjNjhjNWU5YTAxZTIgcHkzaworODc3NTYgZGU4NjJkYzBjY2NhZjY5MTIxZTFlOGU3NDg0Njk0MzBlMGYwMGU0YiBweTNrCis4Nzc1NyAyOTYxYWY4MGQ1NDU1OGI2N2VjNGIzNWM3NjNmN2YzMGRkYmJjYTE0IHB5M2sKKzg3NzU4IDUwNjBhOTJhODU5N2U1MGVlZTM5OGExN2MwZTQ5NThkNTQzYmM5ZGYgcHkzaworODc3NTkgZTkzNDhkNjhjZmNkMDAwOGU5ZDg4NTY4NjkyMDE0MTYxMDJiMjQyNCBweTNrCis4Nzc2MCBjMDQyNWI1ZWRlNDdhZDZmMmE3ZDExYjQyMDM1MTZmZGRmZDA3M2U3IHB5M2sKKzg3NzYxIGE0NGJhZGY5ZTAwZjYzZDNkYzVkZjllOWQ3MDYxMDE1YmU1ZmM0ZGQgcHkzaworODc3NjIgYmM1N2ZkZDg5NTYyYjE3MjMxOTg3MDBkMThhNGFhMDk0MDE3MDJmZiBweTNrCis4Nzc2MyA3OTljZDE1MjMxMTE3ZjkzMzk5MDA1M2EwZDZmYmQ0MTNiYzE3ZmU0IHJlbGVhc2UzMS1tYWludAorODc3NjQgYjc0MjZiZTZiYmI0Y2ExZjM4ZmFjYTc5MTVjZTJkODgzNzE0NWZlZiByZWxlYXNlMjctbWFpbnQKKzg3NzY1IDc0NTIyNWFlMjllZjA4MWJmZWQ2MGUxYjc1NmE1ZDFlZjM1YTRjMjIgcHkzaworODc3NjYgOTEyZmQyMGRlMGUwNzIwY2IwNDRmZTQ3ZWJlMzBmMjdjYzkzNmYyYyBweTNrCis4Nzc2NyAxMzIzNzRkNTM3ZTRkMTBkNzZkNmZmZTc2OGYzZTg0MmNiNDMxODhmIHB5M2sKKzg3NzY4IGVkMDI1OTIzMDYxMTJhMGNlMmQ3MDIzMjgxODg4MzcwNzM1NDhlM2QgcHkzaworODc3NjkgYmRiNTdmNDYzYzg1ZmI1NGYzZjlkMmQxMmUwZjc0NzczZjRlOTdlNyBweTNrCis4Nzc3MCA0YmYzYTVhMDQxMjA5Mzc5Zjc3YWQ3NzFhOTAzNTNkNDg0NDU4YWE1IHJlbGVhc2UzMS1tYWludAorODc3NzEgMDc2Mjg5OGZkODAyODZlODdmZjlkYWExZDAyNjlkMjlkMWVlMDNjNCBweTNrCis4Nzc3MiA4ZjUzYTRlODk2MzEzYzU2ZGZlNzVmMjE0ODVlNmI1OGNjODA1OTMwIHB5M2sKKzg3NzczIGRlMzg3OTRkMTc0OTg5YTM5ZWQ1ZWYyMTg2NWYyNjlhOWNjZDlkMTEgcHkzaworODc3NzQgZjA2YzI3OGI0ZjIxMjNlYmJlZjdmYzFhNDRkOTFkNDEwYTg1ZTNlNyBweTNrCis4Nzc3NSA1OGI3ODQ1NTNjYTRmNWE4NDJlZjJlOGQyYzkxNGFiNzIzMDc5ZmExIHB5M2sKKzg3Nzc2IDkyZjYxYTY5MmUzOTQxMzFhZGIzNWEzMGQ0NjZhOTljZDA5NzE4MzYgcHkzaworODc3NzcgNTEwZjdlMjllNzI4MTdlZTFmNmFkODk0OGMxZGJiYmYzNmE1NGY1ZCBweTNrCis4Nzc3OCAyMGUzYWYxZDUzMGE4ZmIzOTkyYzczYzFkNjkyZjQ3NThiNzNhOTg5IHB5M2sKKzg3Nzc5IGNmOWUxZjc0NjRkYzU4ZWNlOWE3NzJkZGVmYWM2Mzk5MDhmOTMwN2IgcHkzaworODc3ODAgOTJmMmQ3ZDI4ZmVlZGIzMjBkNmE1YTFlZTQ0ZjFmYmZmODg4ZmU0NyBweTNrCis4Nzc4MSAzNGQ4OTE1ODBmMzhkNDU2ZjAyMzUwMDY4NDZjOGJiYzQzNDc1MWNmIHB5M2sKKzg3NzgyIDI0N2I3YmE2ZmZhZDQ0ODkxODkwN2I0YjdkMDExNGRkY2E2YTgyMmQgcHkzaworODc3ODMgOGM0NDhhNDI3N2EwZDRmYjlhNjVjYTVjZjhiODY3ZjQ4NmFlNjkwNiBweTNrCis4Nzc4NCBhYmI2ODZhNWExZGZjZDZjMDJmZjQ1N2EzZjIyNzIyYWNiYjU4YjRlIHB5M2sKKzg3Nzg1IGM5YjQ4NGYyYTBiNzA3NDk1N2VjMjY4NTliMTU5OWM3YzUyNTVmMzUgcmVsZWFzZTMxLW1haW50Cis4Nzc4NiA3MWUxYTk5NjE4MzYxOWEzYTI2MjMwNWI0OGZjZGUzYzFlYTRkZmQzIHB5M2sKKzg3Nzg3IDNkODI0YjUxMzdkZGIxMzNkZmU1N2E1ODZmNTcwYTA2NTM2ZGVhZjMgcHkzaworODc3ODggZDgyNGU5Y2ZiZWU4NmRmMGE1YjM1MTlhMmZlNmZiNzZlMzcyNzI3MCBweTNrCis4Nzc4OSBhMzI4OGE0ZTJlYWQ5YWQxMDM3NmQzYmNhNDFmMjNmYzI1NTlmZjBmIHB5M2sKKzg3NzkwIDE0MjI4ODA4OWMxYTQ2NTZhMWEyZDk2MmQ5YzhlYjhlM2YxZjIyMTIgcHkzaworODc3OTEgNWQ2NjY4NTQ4NDI4NDJmOTFjYWFhMzU5YzIxOGU3MmJhMzFlMDM3MSBweTNrCis4Nzc5MiBjY2JjODQyMjJmZGE1OGEzNjA2Y2NmYjk0OWNjMWQyNDdiNWY0MjljIHB5M2sKKzg3NzkzIDE3NzRkNmEyZjViZmVmOGYxZTZiNDE0NTliMTU0ODg2Y2Y3NWYzOWYgcmVsZWFzZTMxLW1haW50Cis4Nzc5NCAyNjgzNmU0N2RmYjkxYzQ3MWI2YTE5MWY1NmQ1ZDg0YzRlNGI2YjExIHJlbGVhc2UyNy1tYWludAorODc3OTUgZDJhNjQ2MTJkMjM1YjZlZjI0MmVkOWFjM2ZlM2Q3YjI3ZDUyODBkMiBweTNrCis4Nzc5NiA2NGMyNDUzMTNjZmY5ZmRkNDZlNTRkY2QzYzViMzk5ODI0NGY0MDE5IHB5M2sKKzg3Nzk3IGE0Y2ZiMjc4MjQxNjRhZmQxY2NiMjU1YzcyNzAwOGE0YTAxZDRhYTQgcHkzaworODc3OTggNTkxOTIyMjk5YWNjMTExOGFkMDMzYTdhYjg4NDFmZmYxNjk3ODA3ZiByZWxlYXNlMzEtbWFpbnQKKzg3Nzk5IGIzMzJlNzNiNTU2NzA3YzRhMTA4OGIwMDg5ZDAzZTY3MTYyYzhjMTUgcmVsZWFzZTI3LW1haW50Cis4NzgwMCA3ZTdmYzk0ZmQwZDQxNGZiZWMyMzNlN2EyNGI1MjY2YjZmYmYzMzk4IHJlbGVhc2UzMS1tYWludAorODc4MDEgNDE5Y2EwODlkMzY1ZjMwMTRhNGUwMmI1MGE5NGVmMzBmNzY1ZDcyMSByZWxlYXNlMjctbWFpbnQKKzg3ODAyIDZhMWQwODA2MjNkNzdiODI1YzFkZTc3Mjk5ZjM4NjgzM2I2YzM1ZDAgcHkzaworODc4MDMgNzIyMjY5Nzk2NGZjNzQ0Mzk5YzhlZTExOGJiMzk0OGFkMTVkZDFkYSByZWxlYXNlMzEtbWFpbnQKKzg3ODA0IGM3ZmQ5YjZhYTAwMmVlMzAxY2UzZmY5ZThlN2MxNmYyZWVkYTBiZmIgcmVsZWFzZTI3LW1haW50Cis4NzgwNSA4YTMwMmEwOWVlODNhNzY5MDVlZWQyZTA1N2ZmZmU4YjkwYTZiMDMyIHB5M2sKKzg3ODA2IDAyMGRhOWI4N2RhYTg5MTMzNGJiNzg0MzhhMTA0ZjBhYWQzZWQ3MjcgcHkzaworODc4MDcgMWQ0ZGM5ZGYyNDk2NzI4MjM1NmZiOTY4ZWE0ODQwMGQ2NzI0NmM4NCBweTNrCis4NzgwOCAwMWIyNTMzMzFhODZlMDY4MGI3ZDRiN2ZiNGE2ODgyM2E4NzI5YjQ2IHB5M2sKKzg3ODEwIDdiYTVmNTdjNzRlNTc2MjhjYTQxY2Y1NWY2MzBkOTQyY2ZiMTkxYjkgcHkzaworODc4MTEgN2U1Nzc3ZTFmMGZkYTNmMTM2YzljMTQ2ZTkzMGJjMmRiYjMwYTI5ZiBweTNrCis4NzgxMiAxMmNjODEwNjJkNGE4NGY2NzBiOGJhODgzZDQ2ZTg5M2EwMjU5YzgzIHB5M2sKKzg3ODEzIDQzYzhjMWJkZDk0ZmQ4YWVmZTk4ODVlMzIxYzExZjg2MTA3NGFkZDcgcHkzaworODc4MjAgODNkM2Q1ZTA2ODdlZmU0ZDExODg3ZTBiZWFkMzliYjdhMTQ1YmI0YSBweTNrCis4NzgyMSAyZWU2YjQ0NGM5M2RlZTQ4NTAxMTYwNjAzNGI5ZDc5YTA0MGMwZjEwIHB5M2sKKzg3ODIyIDUyNjBmZDEyYzc2M2RkZDNjOWQzMjNmNWQzMTM0OTUzNDEyYjM0NjkgcHkzaworODc4MjMgMGIwYTJiNmMzYWQ5ODM1NzdiODQyNzJkZDViNmJjNDc4ZTk5YTY4YyBweTNrCis4NzgyNCAwOTMzYzM3NTNhNzEyYjlmOGFmMmQyM2U0MGFlMGRkYTFmOGFjMjU0IHB5M2sKKzg3ODI1IDE0MjcwZmU4NGRjNzcxZjlkZGY4Njc1ZGRhOWIwMDgzNjRkNDEwY2IgcHkzaworODc4MjYgM2VhMjgwOTk3MDAxZDQyM2FhNGE4ZjA0ZmRkODZjOTBlYTk0NGE4NyBweTNrCis4NzgyNyAzNzc4MTU5ODVjYWYwZDAzYzNlMzY4YjliNDkwM2E0YzNjZTA5YWU5IHB5M2sKKzg3ODI4IDVmOGViOWU3YWNkYzA2NWFlM2EwMDZlMTc5MWZlZWM3OTI2NTgzZDYgcHkzaworODc4MjkgMTIwNzRmM2FiODA5NWY5MWE0NzM2OGFiYWQ3MWQxZjZmYWZjNWExMiBweTNrCis4NzgzMCBkZjlhMDYxNjAwNGQ5MmU5N2Y4NzFhOGE5NWRlMzk3ZDBkOTBmNTlhIHB5M2sKKzg3ODMxIDEzM2RlZTgyYTAwOTYxNmUxYzBkY2NmYTVkYmE4ZjkyYjE3MzM4OTMgcHkzaworODc4MzIgM2U3NWNmM2Y2MzU1NTY3ZGRhODZmMGE2NjdmYTc3NzJhZDZlOThmZCBweTNrCis4NzgzMyA2NjU4N2U5MGZkZmI2MjdmODhhYjFhYzdhMjlmMzEwNGRhMmE4ZmQ0IHB5M2sKKzg3ODM0IGY1OTUwZGYwM2NlMjEwYzUwY2NkOTY1MWVhNGMwNjZjYmJkOTQ5MzIgcHkzaworODc4MzUgNmE1NzExOTY1NTcxYWIyMDZiNTQ5ZWY0ZjAwNjM2NjkwZDQ2MTcxNSBweTNrCis4NzgzNiA1NGZhNjIxNjU4NTMzNWIyM2FjNTRkYzNiZWZmYWRlYjY1YjQwZTQxIHJlbGVhc2UzMS1tYWludAorODc4MzcgMGRlMTkwNWE3NjFmODdhZDgyMzQ1YzY2ZjRhZTMyY2NiMzU3ZWY4OSByZWxlYXNlMjctbWFpbnQKKzg3ODM4IDA4MGEwZTk2YjQ4MmIxM2MwODg3Y2UyZWI2MjlhNzA3NzdhNDRkYjYgcHkzaworODc4MzkgYjBiNzljMzczNGFjZGZhZjlmZjQzZTc1ZmUzOWE5MDBlNmVkMjg3OSBweTNrCis4Nzg0MCBjYWQxODExZDllMTNlOWZlODE1ZDE0Nzg3OGVlYzMwNjA0N2ZhYzFlIHB5M2sKKzg3ODQxIDM5N2I5OWY1OTEyZTc2YjZjNTc1MTFmZjk4N2Q1MTkzOWJmNzMzZGUgcmVsZWFzZTMxLW1haW50Cis4Nzg0MiA2MzFlODMwMDE2YzBlNzRmNWQ5MzRhZDM1ZjA3ZmI0YTdjYjhiNTM1IHJlbGVhc2UyNy1tYWludAorODc4NDMgMzE0NjU5NjhhZTI2MzVjNjVmNzA3ZWU4MjVmZDFkMTQyYWQyMTY0ZCBweTNrCis4Nzg0NCBjNmI4YzViNTY0YThjNDQ4NjI2N2IyODliNTM5MmIzNTQxMjVkNzFkIHB5M2sKKzg3ODQ1IDg3NTdjZDY1OTI5MTk0YTRiNGM4MGFjMGNmM2QwOGY4NjY1OGZiYWYgcHkzaworODc4NDYgMjUzZDkxZTRmNjcyOTE0NDI1Njg5NmYwY2MwNjk2YzUxNWVjMjU0MCBweTNrCis4Nzg0NyAzYjc5ZWM4M2NlMjE2NjZmNGI1MDY1YTc3NWM4OTkxZDRlYWYzOWMwIHB5M2sKKzg3ODQ4IGU0ODA2MDQ3NjdjNGQzMTM3ODIyNzgyNjA5MjA1YmVjNDQxNTdkY2EgcHkzaworODc4NDkgMTU5NjdiN2YwNThmMWI3ODJhOWQwYjYxZmZhYjRhYjIxZWI5YTQ4YSBweTNrCis4Nzg1MCAwZTFmNGRmNDc4ZjY2OGE3NGRiMTdkZDViN2U1NWJmNzU1MGNjYTQ0IHB5M2sKKzg3ODUzIDY0OTJhNzEzODg3ZThkOTM1MGNkMDYzZThjNGRjYzM5MzFmNWEwMjQgcHkzaworODc4NTYgZGM5YTU2ZGRhNDI4N2Y3NzYwODY2NDMxZDJiMjFhNjk4NDIyMmFkNyBweTNrCis4Nzg1NyA5MGNiYTZhNjcyZjBlOWJkN2MzYjZhNTRiZjVjYjk5YzY2MjhmNmY5IHJlbGVhc2UzMS1tYWludAorODc4NTggZDY1NjZhNzBjYWEwYTg0YjRmMjE3YTJhN2U3ZjIwNDYzNzU2Nzg5NCBweTNrCis4Nzg1OSA4MjM5ZWM2ZjM5ZTYyNTUxMDg5N2U5MzdlOWRmZTU1ZGMwZmNmYmIzIHB5M2sKKzg3ODYwIGMwM2Y2NGM3MWIwNWFjZTBlY2JjNWQyZTc2N2ZlNmNiMjhmNTA5YzggcHkzaworODc4NjEgMDkzMjNjOTExMDlkMmZjZTFlNTcwNTUzODQwNDc2NWViZTU1ZTRkNiBweTNrCis4Nzg2MiBjNmQ0NTM0NTYyZjQwYTEyNzJkY2NjZTgxMWQzYTY1MjJhYjYwZTcyIHB5M2sKKzg3ODYzIGYxMmRhNTNiOGQ2ODMwNTY3ZWI1YmU3ODI5Y2RiOWNmZDE1NDdiYzIgcHkzaworODc4NjQgYWJlMjAxZGZkM2RjZTJmYjcxMTg4OWVjZGFkZDZkNjQzY2UzZWRhNCByZWxlYXNlMzEtbWFpbnQKKzg3ODY1IDA3NTk3NGE5MGMzMWIwYzdlZTA1ZTI2ZDgyNjUzZDU0NTgyNDEwOWIgcHkzaworODc4NjYgNGQxOTI3MDkxYjM5Zjc5ZmEwNGIwNTIzMGJiMjkwMmE5ZmE5ZmUyMSByZWxlYXNlMjctbWFpbnQKKzg3ODY3IGVhMGI5NGQ0NzU0ZDc1NWJlZmE0ODc1NmU4MGFjMjFjZDM2ZmJlM2YgcHkzaworODc4NjggMjA1MTdhYTNhMzU4OWFjNjA4OWE4ZjgxYWIxMGQxZTc1OTJkYjJiOSBweTNrCis4Nzg2OSA3MjYzYmQ5MGUxMTBkNDY2YTQ0ZDJjOGYxMmFhNzRkM2EwNDJjNTQzIHB5M2sKKzg3ODcwIDNlZDNjN2M2YjYwNWQ3ODA3MGUwYmExNTI5M2Q0MjQ3YzNlNTQxNzUgcHkzaworODc4NzEgMWY3MWM0M2FkN2UzMzhmZjMwZTVmNzNlMDkzYWZiOGJiZWNjNWU5MiBweTNrCis4Nzg3MiA2MTU3NzhiZTk4ZTk5NTI1ZTdkZmUyNzEyMGNkZTBmMjE1ODkzOTNkIHJlbGVhc2UyNy1tYWludAorODc4NzMgOGJiZmYxYzI0YTMxMmEwYmY3MzM4NDM4ZWI5NjdkM2JkNjJhMGIyNCBweTNrCis4Nzg3NCA5NjZiODdmMjM5NWNjOWM3MmI2OWYzZGE5NGExOWNmNTliMDdmZWU5IHJlbGVhc2UzMS1tYWludAorODc4NzUgYWRjN2UxNjcxZDhjMzk1YTJiODg4NTYzMGUyNDRhOGQ4ZTcxYzNmZiByZWxlYXNlMjctbWFpbnQKKzg3ODc2IDlmMTNkYzQzOWRjNTFjNjk1NWQyMmZiYWUyZWFhYzg0NTI3ZDhhMmEgcHkzaworODc4NzcgMTljMDUwNTFiZjFhMDJkMjBmOGQyMTBiZTYwNTUyNzlhZDQ5MDYwOCBweTNrCis4Nzg3OCA5YjJlNjBhZTRmZWY5N2RiMzBkNzM3MmZhMWM2ZWYyZTVhYWEzNjJlIHJlbGVhc2UyNy1tYWludAorODc4NzkgN2VjMjE2NTNhNGQxZTU3MmU2N2U4NWMzNDk0Zjk2ZGViZDdmNDlkZiByZWxlYXNlMjctbWFpbnQKKzg3ODgwIDk1MzAxYTQyODUyZjU0MjVlOWFlMTBkOWE4MWJjYWYxMTk0MTI4ZjMgcmVsZWFzZTI3LW1haW50Cis4Nzg4MSAyZTc0MzY5YjRmNDA2MGFjNjc3OWM2MjhmM2VjMGVjM2JjY2M4ZjFhIHJlbGVhc2UzMS1tYWludAorODc4ODIgMGM5NGM2ODFmYzUzMjBkYzI4MDg4MTMyMzQ4N2Q0NmI5YTBjNDFiOSByZWxlYXNlMjctbWFpbnQKKzg3ODgzIGU0ZDA3YTZmN2FiZmMxNjYxOWZhNTg5MzExY2NjYzlhYjVmZTZhOGYgcmVsZWFzZTI3LW1haW50Cis4Nzg4NCA1YWI5NjM2NGU3NjE5MDBkNDUzMmE3MWU3OGQ5NDJjNGRmOTBiYmI2IHJlbGVhc2UzMS1tYWludAorODc4ODUgZGU3NjJiMDFjMzY2NGI0OTQ3Y2EzODIzNWViOWI1NjFhMjA5OWUzYSByZWxlYXNlMzEtbWFpbnQKKzg3ODg2IDU4YTFiN2U4ZTc1MzIzNjlkMGZjNWY5OWViYzEzZjdmMWQ2NjNmMzQgcmVsZWFzZTI3LW1haW50Cis4Nzg4NyA1Zjc3OTA3YjAwNDFlN2UxMmE5MTRmZjliYmY1NmY1NDkzN2NiMTEzIHJlbGVhc2UzMS1tYWludAorODc4ODggNGFkNjE5NmYzMGE1YjIyMDhhZmE3NjkyZTg5N2QzMmU0YWI1NDBhNiByZWxlYXNlMjctbWFpbnQKKzg3ODg5IGUxYjgwZTM5ZTQwZjMwYzMyNzUwYTJiMjkxNzZmMDVmN2M1N2ZmNTIgcmVsZWFzZTI3LW1haW50Cis4Nzg5MCBiMzNiZjY2NGM0OGFhNDk1ZThlYjk3MjM3YmIyYjc2MjBlZGI0YTMxIHB5M2sKKzg3ODkxIDE1NzFjYzA3MmZjMmFlMzA4ZTc5OTkzNDc2ZDJiZGFmODRhYTE3NTUgcHkzaworODc4OTIgNjgxZDA1NDJiYmJkMDdlNjQyODllMzljNzA1MzczOWQwNmYzYmQwOCByZWxlYXNlMjctbWFpbnQKKzg3ODkzIGZmYjJjMjRiY2I2MjZkZDhlMTJlOGYzMzQ5YTA5YTI5OTFjOTM0MDQgcmVsZWFzZTMxLW1haW50Cis4Nzg5NCA0YmQyOTZjNDk1MjZmNjM1MDM1NjFiMjRiNzcyYzYxNDBjYjUzYzU4IHJlbGVhc2UyNy1tYWludAorODc4OTUgYTIyZDYxYmU0ODQyYjQwYzc0NTQ3OWYwOWRiYTNlOWRjOWU0MjBhOCBweTNrCis4Nzg5NiBmZTZmY2FmN2JiMTdkYTRmZjA1OTU0Y2FjNmI5N2YxNTczNTIzMzU1IHB5M2sKKzg3ODk3IGY4YzY4MzE4NGFmZmRiN2ZmZmJiY2I1YmZlNDE5MmQ1OTNjNDhmODkgcHkzaworODc4OTggOTc0YjI3YzlkODQ5ZGY0YzlkNWEyMzE2Njk4YmRmZmY0MDU4ODg4YSBweTNrCis4Nzg5OSAxYTM3ZjRiYTFmOTIwMTgzZmU4MjE2NzJhNDczZjE4M2E4N2QzZGQ3IHB5M2sKKzg3OTAwIGMyYzRhOTk0NDU5NmY0YzEzNmUwNDg3ZGQzZDNlZTNjZjg3M2ZiNzEgcHkzaworODc5MDEgYzRhNTI1MjZlNzdmYTY0MjE2ZGIzNGJjMDM3Y2I4NzdiOWIyMzQ2ZiBweTNrCis4NzkwMiBiNWE3OWI1Y2EyMDM3MmE2MDE3YjRhYWJhZjVmNzE0ZjkzY2FjNWZhIHB5M2sKKzg3OTAzIDNjMTJhYjllMjE0ZTllY2Q1MTQwZTIxMjI0MzdiMmI5ODI2NzUwYjQgcHkzaworODc5MDQgZWEzYWM2MmVmZTY3Y2Q0Y2RmN2ZhMjc1YzhiMGY0N2ZmMzRiNWMzNiBweTNrCis4NzkwNSBhMmIxNjFmMTc1MjUyZmRlN2QxNGZiY2ZlY2QxZTk3ZjAwNTFmODNlIHJlbGVhc2UzMS1tYWludAorODc5MDYgNTY3ZDk2MWJlMDgzYzU3NGVhNjM0ZDkxNWMwZDE5MWRiZWM4YjBlNCBweTNrCis4NzkwNyBlYzU4ODkwOTc1ZjFkMmYwY2JmYzlhYmZlYmYxNmRiZWIyMGNiZjY4IHB5M2sKKzg3OTA4IDk4NTVjOGNjY2IzNmMwZTA0YWQxOTU0ZDIwZTc3ZWE0OGM3YzA2ZmEgcHkzaworODc5MDkgZGI3YTMyZDkwY2Y0YTJkOTM1OGI3MGNmMzRlOWQ2Y2Q0ZmUzM2M4NCByZWxlYXNlMjctbWFpbnQKKzg3OTEwIDNlNmRlODg1MWYyMzEwMTY1Zjc5ZDFlYjM0MGJkMDVkNjIxMWQ5N2YgcHkzaworODc5MTEgMTQ1MDUyMWI5ZDkzZjRhYzBlNWVhYTYyZGYxMWNmZDhhMzEwN2ExMCBweTNrCis4NzkxMiBlMGE2NmFhMzQyN2E2OTY5YjNjYTgzMTFkMGJiODM3NWRkNGVhMjQ2IHB5M2sKKzg3OTEzIGU0N2Q4ZDk1NWJkNjEwODNkZjE5YzMxZGJiMzZiMjA2OTM4NDgwYzMgcmVsZWFzZTMxLW1haW50Cis4NzkxNCBhZTk5NGJkNDY2MTc4YzkyZTg5M2ZkNDQzNWZkMGFjM2FkNjhmZTliIHB5M2sKKzg3OTE1IDY1YWRkN2E0MGY3MDIyZjI5YzQ5MDViMzYwMWQxMjgyOWYyYjZiNDcgcHkzaworODc5MTYgZWRmMzAxYWYyNjE2MTNhZGQwYjczOWQzOTVjNzFiNjU1YWY4NjkxNyBweTNrCis4NzkxNyBhYzZjYzE0MDRlMTUwNTc0NDBlY2VhODA2YzdmYTAwN2Y5N2U1ODAwIHB5M2sKKzg3OTE4IDFjNjVhYjQ0ZDM2NzFiM2Q0OGZjYTQxYjYyN2ExNTQ1ZTE3MGJhMTQgcmVsZWFzZTI3LW1haW50Cis4NzkxOSBkNzA1MjJjYzlkNGZlN2E2NDJlMWQ1NzNmMTk3YmQ3MGMwMWMxNGMzIHB5M2sKKzg3OTIwIGFkMGViNTdlYjJiNWI4NzZkOTdhMDczNTFlNTlkMmE4YmYxMTE5Y2QgcHkzaworODc5MjEgYzBmM2FjMTkzOTJiNjE5MzQzOGY4ZmVmY2M0MTViZTA1OGMxMDYyNyBweTNrCis4NzkyMiBiMTZiMGQ3NTRmYzkzYTU3ZWFjNmQ5MTAxNmYwZThmZWI4NmNkMTI2IHB5M2sKKzg3OTI0IGQ1NzM5NzEzMTEyNDJhZTg4MmJjMGFiOWUwNTk1NjA4NDY3ZTJiM2QgcHkzaworODc5MjUgZGI4ZDE1OTMzMTIxYzI3ZmI2MGVmN2Q5ZmE0YjQxYzI4MmU5ZjIwOSBweTNrCis4NzkyNiA3OGZmMDhjY2QxOGI3ZmRiYTlkMWZjOTFlYjQ0NGUyNTA3ZGYwM2Y0IHB5M2sKKzg3OTI3IDc1MTM3MmI3OWVkNjkyNWE3NzE0YzQ1NWQyZjY3YjM1YmQyMzFiNzcgcmVsZWFzZTMxLW1haW50Cis4NzkyOCAyMDk2OTgyMWJiNjE0YTNhYjk3NjI1MmRlMzA3OTI4MjcyOThkMjk1IHJlbGVhc2UyNy1tYWludAorODc5MjkgN2I1MTU5NGExNWRlZDE1OGQ0YmIyNzQzODVlZWJjMmM5ZjM2ZTg2ZSBweTNrLWNkZWNpbWFsCis4NzkzMCBlZDZkMDUzZWViYTVlYjY3MmU4ODlkYzg4OTUzYTM2YzgxMGEyNDg1IHB5M2stY2RlY2ltYWwKKzg3OTMxIDlmYTA3ZTdjZGYzODYyYWY1MDdmMzM5NWZlZWI1YTMwMjI0YzFiMGUgcHkzay1jZGVjaW1hbAorODc5MzIgNGI0NjljODdkN2UyZWE4MTMzNTIyNDM5ZmUxMWI5MjQ3OGMzODQ3MiBweTNrLWNkZWNpbWFsCis4NzkzMyA4MzA5NTJhNzFkMjE3N2Q4MWE0YWRlZmEzM2I2NmM3OWZiNDU5NDFkIHB5M2stY2RlY2ltYWwKKzg3OTM0IDA0OGFkMDcxN2E0NTIyOWFmMzBiNzhiYzk3ZGE0YTA4NGI5NzMzYWQgcmVsZWFzZTMxLW1haW50Cis4NzkzNSBmODI3ZjcwM2VmNjVjMGU0MDNjMmVhOGNkNTg5ZDIyZDdkMzZhZTJlIHJlbGVhc2UyNy1tYWludAorODc5MzYgYTNjMzc5NThhMjA5NDhkYzU4YTFkMjBlMzc5NDcxZWY1NGMzNDRiNSBweTNrLWNkZWNpbWFsCis4NzkzNyA3MDdmODkyN2Q2NjMwNjBiN2MyZWM3ZDZhMTJlMjJjZmEyOTIxNjdmIHB5M2stY2RlY2ltYWwKKzg3OTM4IDIyNDRhYzZjMmE5YmZiZmQzZmM2ZDMxOGU0MzA2ZTUzMTZmYTVkOGMgcHkzaworODc5MzkgNTRjODY0NDQ1M2Y5MTM0ZGMxYjg1ZGVjNWYyYTcwZTFkMzk1NGYwOCBweTNrCis4Nzk0MCBjMGI5NWNkYWY0NjBhMmE4MjMzZmFhZmY5MDc4NjQwZjI4ZTI4ZmZmIHB5M2sKKzg3OTQxIGNiNzU0YTU4MmIzNDBjNTkwMTljNGQ0MzA0MzA3ODJlN2VhZTdlZWIgcHkzaworODc5NDIgMjU4MWExN2IyOWFmMDMzMTkyMjViMDNiODdiMDA0M2IxZGViZTA0YiBweTNrCis4Nzk0MyBkZjM0YmIwODY5YmM4NTJkNGI0ZmQwN2NlMjY3YjFjYTc3MDQ0NTMxIHB5M2sKKzg3OTQ0IGVjOTZiNWI1NzIzYmNmNDMyNjc1MDEyNDVjNDdjOThiZTljZjc0MTkgcmVsZWFzZTI3LW1haW50Cis4Nzk0NSAxYjFhNjQyOTcxNDk3YWQwY2U1ODBkNjcxYWY4MzE3N2ZjNjI5ZmNhIHJlbGVhc2UyNy1tYWludAorODc5NDYgN2YwZDBjOWEyZDcyOTM5OWMyZjI4Y2MzOTAyOGNjNTI5MGZjYWQ2NiBweTNrCis4Nzk0NyAyNjljZjQ2YzA5YWY1YjgzMzdiOTAyMTdiMjI2OTAyNDY0YWIyOWI0IHB5M2sKKzg3OTQ4IGZlZjUyMWY0NWFmM2E5MGE2OGI2NzQwOTcxNTMzZDUxYTc4MzdkZDEgcHkzaworODc5NDkgNDliMGIyYmMwZTgzMzFiZGY5ZTQyMGJkYWYzMmY4MWJkZjFiNmQ4ZiBweTNrCis4Nzk1MCA0MzUwNzIxZGVlNTUzZjNjYzYxNWZmYjQ2NDNlNzJkMjExYzIwYWU1IHJlbGVhc2UyNy1tYWludAorODc5NTEgNjAwOTM4OGNhNWEyM2ZmY2FiNzYyMTViZjNmOWJhMWM5OGEyMWMxMSByZWxlYXNlMzEtbWFpbnQKKzg3OTUyIDc0YmY5M2JlNTY3MTAyZDExOGY0MzQyODMzNGZjYTk1ZTMxNDdhMmUgcHkzaworODc5NTMgNjAxYmNiNmZmNzUyZDc1YzcwMmYxYmNlYjI0ODBkMTcwM2I2YTdmMSBweTNrCis4Nzk1NCAyMzZlMTFiYTE4YzU3Mzk2ZDU3MmU0YjgyZTRhNTcxZWY4ZjkzNmYzIHB5M2sKKzg3OTU1IDJlYTFjZmRmOTI5YmVlMDkzODZlNTYzYzBjMjQxMTQwNDA3MDU2ZjAgcmVsZWFzZTMxLW1haW50Cis4Nzk1NiBkZGFhMTdjMDk4ZDkzZGVkYzY3Y2I3NmFmNjA3ZjgyMzU1OTQxYWUzIHJlbGVhc2UyNy1tYWludAorODc5NTcgOTE0NDY4MTdjYzNlOGU3M2ZjZTQwYTc5M2Q3NTBkYzI2MGU1MDhmYiBweTNrCis4Nzk1OCBhNTAyMTQ5NjZkMjQ4MmVhNmVlYWUyN2Y2ZWNiMmEwNzRiMTZjMGY3IHB5M2sKKzg3OTU5IDc3ZmUzZjE2MDg3YWY5ZjFjNzM1ZTYxYThhZWQxMDE0ZGU2ZGVhM2YgcmVsZWFzZTMxLW1haW50Cis4Nzk2MCBhZWNjYmQxNjk3MGY4ZjY1YTIyZjZhNTdlZjA5OGVlMzBlOGQ5NDJjIHB5M2sKKzg3OTYxIGUxNTI2MGE0NGU0NDc4ZmE0NmRmNzBjMmVjNzkyMGIwM2RhYTNhZmYgcmVsZWFzZTI3LW1haW50Cis4Nzk2MiA1MDQ4YjI3MjAwZDc0YTEwNzVjZmU1Y2JlM2UwNzVlNTJlZWVhZWEwIHJlbGVhc2UyNy1tYWludAorODc5NjMgNmNjNTI3N2Y1ZTdhYTMzMzUyMWVjNzQ1NmZlMTViM2U2YWVmN2FmMCByZWxlYXNlMzEtbWFpbnQKKzg3OTY0IGFjMGViNWRmMmMwNWJlYzE4ZTNhOTc3YzJjOWMyMDhhNThhYzZkMDkgcmVsZWFzZTI3LW1haW50Cis4Nzk2NSBkMTIwMjE4ZDgwYWI0M2I0YzdlZTkyYTI1YmFhZjNmZWJkM2YyMWQ3IHJlbGVhc2UzMS1tYWludAorODc5NjYgM2VlYWVjZjAwNWMxNGQzOGM0ZjdkMjA1YTM1OWRiMWVmNjljNDMyYyBweTNrCis4Nzk2NyA2ZGNkNDkxNTA2ZWQ1MDUzMzE4ODQ3MmE1OTU5YjNkODJiN2UxNDJjIHJlbGVhc2UzMS1tYWludAorODc5NjggYjliNTUxZWQwODU4ZDJiN2RiMTQzM2IwMzFlODE1ZDQ0MjEyNzAyOCBweTNrCis4Nzk2OSA0NWEzOTFjZGM2OGFjMjhkY2QzZDRhYmY4YTJhMGYyMzY5ZmEzZjFhIHB5M2sKKzg3OTcwIDRhYmZiNzY3MGVhZGRhOTA3YmQ2MWUyMmUxNTIxOTcwMjMzNjIxZjggcmVsZWFzZTMxLW1haW50Cis4Nzk3MSA0MWJkYzAzMmU3MWFjZDdmNDQ1NTU0YTUxMWVhYTlmNWNiMDY2MDZmIHB5M2sKKzg3OTcyIGUxY2MzNTcyODQ4MWVlZGQ0Yjc1M2U2MGFiNzFhZjAyZTczOTA5ZTkgcHkzaworODc5NzMgNGU4NmQ2OTViYTk4YTU4MjI5ZGU0ODJlMzUyZDBiNjgzZjk2ZTFhMiBweTNrCis4Nzk3NCBjNjY5YTY5NzZiZjhjZjJiN2E3NDczNjEwNWU1NTJlYjRhYjAyNWVmIHB5M2sKKzg3OTc1IGNjYmQ2NTg3ZjhlZDVjODcyMmQwNDcyMjViYTNjMDFlMTY3MGJkYmYgcHkzaworODc5NzggZjkxNmMyYWEyMzhmZThhMjBjZTY1OGEyYjlmYWEwODVhZDAzNDY5YyBweTNrCis4Nzk3OSBlZmRmMjU2MTdiN2NkNDI3ZWE0N2I4OTRiZWMzYjhhYzJhZTllNTQ5IHJlbGVhc2UzMS1tYWludAorODc5ODAgZTEyNWQ5MmY3NDM4ZTEyZmZmOGYzY2QzZGM2NTk4YzczYzE4MDUwMSBweTNrCis4Nzk4MSA4NzE5ZGQ3MTIzODRkYjU5NjlhNTI5M2VkMmE0ZGMxOTczZTQzZmNjIHB5M2sKKzg3OTgyIDEwZDY3ZGI2Nzk0MjBmNGU3NTM3OTVjYjQyNjE5NWE0NmRlZDBmYmMgcHkzaworODc5ODMgY2JkYzhiMWU2YmQzOWNhMWM1YTliNGMwYzc5NjkxNjNjMDNiYjdlZiBweTNrCis4Nzk4NCA0ZWFlMzNmMzc5N2M1ZDFjZDIyZTY5ZDQ5ODQxZmViN2NmZTg3NzM5IHB5M2sKKzg3OTg1IDI1ZDUzZTQ0OTdkODUyN2Q4OWUyNjAwYjdkODVkNzlmMGQ5YTEzZWUgcmVsZWFzZTI3LW1haW50Cis4Nzk4NiAyZjA4OTRjMDJiZjJiODhjYTAyMmYxOWEzZTkyZGNlOGVmODJiODA3IHB5M2sKKzg3OTg4IDdjYmI1ZjNiNjk1NGI5YWMyZjI1YjI5OGE1MWE2YjAwNGI2NGZhNWYgcHkzaworODc5ODkgN2Q2NThiNDliM2UxNGU5YjE2M2VjMmIzYmMxNmQ5NDkxZDE0NTAxMCBweTNrCis4Nzk5MCAzYWM5YjdjZjc2MTRjZGUwMmY1YWRhMDUzNDViMzAzYjg1NmFiNzcwIHB5M2sKKzg3OTkxIDYwOGYzYTYxNThhOGM4MTMzNzg5MDc1MzIxNjFlYjE1NTU4MTlhOGIgcHkzaworODc5OTIgNDc0YjJjZTA3OTRmZmFmZmNhZTRlMzZkYzUxZmQ5NTFmNDU1YTFiNyByZWxlYXNlMjctbWFpbnQKKzg3OTkzIDAzNTNiMTYxM2FhODE0YmM2YzkzZTI0NDllMjIzNDliZTEyODhhNDAgcHkzaworODc5OTQgZjE5ODI0YWFiMzljODBiZDQ2Y2VjY2Y5ODliYTE2MDNjZmE4YzYxZCByZWxlYXNlMzEtbWFpbnQKKzg3OTk1IDI0NGEyNzQ3NzM5NmQ0YTI5ODA0YTRiZmJhYWUxMDY4YzM3MmY5YjEgcmVsZWFzZTMxLW1haW50Cis4Nzk5NiBmNmU5YWM0Yjg4MTM2YjM4ZDk0N2MxZTYwMTVmZmEyOTFhZjE2YWVhIHB5M2sKKzg3OTk3IDdmODg4OGI0ZmRmY2FmZTlhM2QwMGU4MjIxOWE2NWM5ZTFmZTczN2MgcHkzaworODc5OTggZDg2NDMyOGE3NGU0MTQyYWEyODZmODIyYzRiODI3ZDFiNzBjZDkzMCBweTNrCis4Nzk5OSA5NmZmZTRhMzExZGQ0ZDVmMDU0OGMzYmQwNWQ0ZTMzYmVlNGNmMzZlIHB5M2sKKzg4MDAwIDM1OTNiMGQ5Y2FhNzRjOTA0OGIwOWQ4NGUwMTlkNDE3NWYwMGMwMjYgcHkzaworODgwMDEgZmViZTA0YTZkNDg2NGRkODhhODgyZjE3ZjMzZjAxMDJiNDdmOTYyMyBweTNrCis4ODAwMiA0NDMwZTRkNjM1OTQ3YTJhMTRiZDU4YjM2NDQ0MjI1ODgxYTViMjE4IHJlbGVhc2UzMS1tYWludAorODgwMDMgMThhYjhlMGU2NzAyNWJjMzM5YmI0MmRkYmYzYmUwNDg5MzIyMjlhNiBweTNrCis4ODAwNCAyYWZjZGY2OGEzODkxZjc5NTJiYTFjOGUzMzMzNGQzNzliNjQ1MDFlIHB5M2sKKzg4MDA1IGIwNGRhNTQ0ZTEzYmJmNTQzZDdmY2RmMmZjYjQ0MDA1NmQ2ODM2MTkgcHkzaworODgwMDYgNDg0NTQ3NjVkOGUwY2U2NTUwYTA0YzRkNTNhYjM3YTI4YTk3Yzg2OCBweTNrCis4ODAwNyA5MTFkMGE3NDYwOWUyMTgwMjBkM2RmZTJlZDBhMTg0YzA1MGM1NTA4IHB5M2sKKzg4MDA4IDdiMmQ3Y2VkYWZiMGExMTYyZjBkMjViZmM4ZmI2MGNkZjU3MGMzZTUgcHkzaworODgwMDkgMGI0Yzk5NTI5OWRkY2VkZDE1MjdhMmNlY2UyYjkwN2EyNmVmYjEyNiBweTNrCis4ODAxMCA0ZGM1NTAzNzMxZmVhMTc2N2NkNmNhZThlZDlhOGMwZjNhZTM5ZGU0IHJlbGVhc2UzMS1tYWludAorODgwMTEgMjkzMDM5M2YwYmJiOTFkYTVjNGU2MDQ1NWE1ZTZkYWU0MWI4M2FhMSBweTNrCis4ODAxMiBhZTA5OTQ1ODMzNDUxYmI4Y2I1YzczMTllZjFhZTc5ZjkyZjJlOTk4IHB5M2sKKzg4MDEzIGMwYzU5NGFlZjg0MjM1ZTcwMGEyZjMyYWM2ZjQ5MjlkYmJiYzQzYTEgcHkzaworODgwMTQgMzk2OWE2Y2ExNmFmMjkxNzZjNDg2NTI4M2I4NmYyZTA4ZGU1ZDI5ZCBweTNrCis4ODAxNSAzZjk5YzM2ZDAwYjhhZDVmMjdjNTY5ZWMwMTg2NzJjMTYyNzU3MTVmIHB5M2sKKzg4MDE2IDkzYjdjMDU4MGM0MzQ2OWJmYmExN2NmNTExODg0NWQ4YzE0YTM0MmUgcHkzaworODgwMTcgZjEzMGJlMDFkMjMwMGQ5OTQzMmYzYmFlY2NlZjFmNGJhZjc5MTIzMCBweTNrCis4ODAxOCBiZWVhYjBmYTQxZTVlYWZmNjk2YWFlNTlmMjMyYzZiNDdlMDAzNzJjIHB5M2sKKzg4MDE5IGIwMzc0N2FkYTQ0ZDZhODAyNTEzNjEyYTJhNDk5MDdlMmI3Mzc2MTQgcmVsZWFzZTMxLW1haW50Cis4ODAyMCBlZjA3NzdhZjk5NzhlZTJiMjdmNDRiOTg5ZjZhY2ZlZjZmNGMwNWIyIHJlbGVhc2UyNy1tYWludAorODgwMjEgYjhmOTdkOGNkNDg1ZjI3YWQzNWMzM2RiZGE4NGFkMDRmMjBlYjAyMiBweTNrCis4ODAyMiAzYzMxNjIzNmVhYmQyYWVkNzdkYjU5ZGQwNmY5NzQ4ZGU5MjE2NGE0IHB5M2sKKzg4MDIzIDQxZDg3NGVjYmQ4MWZiNDY2MTdmNzhkYjAxNWE1NGUwZmZlODc5YWUgcmVsZWFzZTMxLW1haW50Cis4ODAyNCA3YWNiODM5ZjM2MTMyZWI0OGFjNmU4MGYwNjVhZTM3Y2E5N2JiN2ViIHJlbGVhc2UyNy1tYWludAorODgwMjYgOGRkY2FlMmI2NGI0NzFmZDNlZWE3MDI0OWMyMmFmNzM0MmQyMmUxYSBweTNrCis4ODAyOCA0YTIwZTNjYTI1ZTlhZDc4MTQzNGNmODFmNWFjMzRmNDYwODU4ZGYzIHB5M2sKKzg4MDMyIDkwNzZlNDIyMGZhNGYwZDM3MGU3MDc0ZWUyMDI3YmJlMDFkZWY5NTkgcHkzaworODgwMzMgZTg0ZDVlZmE2ZDc1NGIxM2U0NjdkYzliODQwODY4ODVmM2MyYWU4NSBweTNrCis4ODAzNSBhYjlkYzQyNTQ3YzA5OGUzNDc4NjRmNmEyMDViNGE1OTY2ZGJkZTExIHB5M2sKKzg4MDM2IDg2NWQ1YjI0YmYyOGNhNDFiNTM2YmVmYzMyNjQwN2MwM2U3NGE0ZDUgcHkzaworODgwMzcgZmUxMDIzYWY2YjU5NjlkNGM1MTRjNDJlOTFlY2ZjZWZjMTJiZTZhYSByZWxlYXNlMzEtbWFpbnQKKzg4MDM4IGFkYTcwMmMwNGQxNGMzNzRiZWY2MWY2MmYxZGJiZDU2NDEwZGM2OGEgcmVsZWFzZTI3LW1haW50Cis4ODAzOSA0MmVmYzExYWI3ODJkMGQxZDAyYzU4Zjg3YzYyZDE1OWM3YmU5OTlhIHB5M2sKKzg4MDQwIDg1NjVlNzIzYjRhMGVhM2RhYTE0YjUzNWVhMjQ1YWU3NDFjY2ZjZGYgcHkzaworODgwNDEgZmMxZDE1OTE3ODk1NWZjMjE5NmIxZDgyOTQ4YWI4ZGIxNDk0ZDNjYyBweTNrCis4ODA0MiBiMTEwNGI0MjUxMzRjNmU5ZGQxNjM4YmE0YmRjNDZjYzY4YzA2NTFhIHB5M2sKKzg4MDQzIDlmMjgyY2ZhODlhMjE4NmE1ZTk2YjNmMzVlNTMzNzk3NTc4ZjFmNjAgcHkzaworODgwNDQgYjdhOTdmMTFiNDFiMzc2ZDk0MWFiNDRkMzNiMWJmNDhhNGNhMDJmNSBweTNrCis4ODA0NiBjOTFkZTMyNjgzNWU5NzhmZDk1ZmU5ZTU2MGJkMDU2OTUzNTM2NWJlIHJlbGVhc2UyNy1tYWludAorODgwNDcgMWY2ZTA0NWU4YTY5YmFiNWM1NWNmNmUyZThiZGJmNjZiNzdhMDMyYiBweTNrCis4ODA0OCBkNjcwNDgyYTU4MjExNzVmOWNmOTExNzIzZGQwNTQzNWIxZDIxMzQ4IHB5M2sKKzg4MDQ5IDQ1ZGE4MzMyNzYzNWZkYmNkNWM0ODQ1M2ExMjhiY2IxNTFhZGYwZTMgcHkzaworODgwNTAgMmNmNjdjNmFhNmVlNjhmMGFiZTgwN2E2NTNkMjFkZWFkMGVmMWQxZiBweTNrCis4ODA1MSAzODQ3MzdhNzQwODBlM2UxNzRiNWU4NWM4ZmI2NTBkNTY1N2E3NjI1IHB5M2sKKzg4MDUyIDQ3MjRiOTRjNTc0NTY4YjYyMzhiZDc1MDUzMWExMjk4YmQ2OGI0ZDggcHkzaworODgwNTMgMzY4ZTkxMDMxODgwMjAwYjA4NGYzZjYxNmQ4ZjFlMmNiZGZmYzYyYiBweTNrCis4ODA1NCBhZWVmYTIyMWJiZTY1MjgwNWYwZjUyZjg0NjE0M2ZhYTM5MTk1MDNiIHB5M2sKKzg4MDU1IDY5MWJjMmMyZmMyMmQ1NWVjZGQ1NWYyYTA0YWM2YmViNmFkYmU2N2QgcHkzaworODgwNTYgNTI1YWVhYTNkNTNmMjlmZTUwYTQ5NjVkNzg3MmYxN2ZkMmM2N2FmZSBweTNrCis4ODA1NyBmYWVjMWI1YTk2ZGI3NDRkNzZiOTliMWUxMmM4NTZkMGE3NmY4MDVmIHB5M2sKKzg4MDU4IDM2OTEwODUxYTcxNWNmYjVmNTU0ZWUzMjI0NjBkNzEzZmE0YWY3MDAgcHkzaworODgwNjIgN2IzMWJlYjg4Y2RiMmYxOTY4MzA0ZTAyOGNkNDg5YzBjZGZhZWNjMyByZWxlYXNlMzEtbWFpbnQKKzg4MDYzIDM2NzRkY2I0MWE5NGYzMGMwNzBlOWVmY2RhYWI5NTk4OWRmZDcwMGMgcHkzaworODgwNjQgZGQ4N2IwZWZjZGQ4MzRhMmU1YmM0NTkxMDQxYWY2MjQ3NTE2MWNhZCByZWxlYXNlMjctbWFpbnQKKzg4MDY1IGM1OWNlYTIxODU0NzY3MzVkMGI3ZGVjNzM1YTk5YjgxZjU5NWYwZmMgcmVsZWFzZTMxLW1haW50Cis4ODA2NiBkZjhiNmEyYmRkZGQ3MmY4ZDQwYTgyNjQzMDExMWE5YTZlYWFhZGQzIHB5M2sKKzg4MDY3IDgxMWI0ZmI4ZjBjYzY5MjAxYTRiMTc5ZDBjZjI3MWI4YjBhYzVkNDMgcmVsZWFzZTMxLW1haW50Cis4ODA2OCAxZjZkMTQxOGNjMTgzMTY3YmJkYWY2YmMwYjZhMGM1ZmU4MGI5Yjc2IHJlbGVhc2UyNy1tYWludAorODgwNjkgYTc4YzZkMGMzZjY5Y2Q5Zjc2M2IyMTdhMGMzMzMzNGVkMTQ3Y2MzMCBweTNrCis4ODA3MCA2ZThlMGZlMTgyMDVmMDBhMjUyNjllMWI4NzI4MmQ5ZTM3MjY3ZGZkIHJlbGVhc2UyNy1tYWludAorODgwNzEgYjk0OGRiZDFmYWMxYjRiN2M2YjQxMWMxYWZjNjExYTVjNjhhMjhjZCByZWxlYXNlMzEtbWFpbnQKKzg4MDcyIGNhY2MzNWExZTBjM2QxNTlkZTgzMTQ5NDljNmQ0N2Y0ZmY3YjgwYjAgcHkzaworODgwNzMgZDM1YTI0YTk0NzE3OGQ0OTNlNDM3Y2FhZDJjYTA2MTUwNTdlMTJiNSBweTNrCis4ODA3NCA0ZDI3NWM1ODIxNGIzMTMyOTFkMjlkYTNhOGI1MmNjNDQxZmZlN2RhIHB5M2sKKzg4MDc1IGVkZTI2MGE1M2ZiNTBhODdhOWZmNGUyY2IyNzNhZDhiZDkwNTU1NDYgcHkzaworODgwNzYgMjk1ZmY1NWEyNjVlN2I4NzE0ZmIxMDUwZDM3NjkzY2Y5ODE0ZTU2ZiBweTNrCis4ODA3NyA5YTAwZGUyNTBlMWU0OTgyYzJjZDIxMjAwMjE2YzkzMmFjMmU4NWNlIHB5M2sKKzg4MDc4IDg5NjI4ZjNlY2RjYmI3YjlhZmQxMzQwZDVlNzdlZjAwMzE5ZjljNDQgcHkzaworODgwNzkgNDE1MTczZjg3ZjQ1ZDgyMWRjMTMyOTk5MGM0ZTI4NWE2NTIxODZmMiBweTNrCis4ODA4MCA2ZTY4MjY1Mzg5NzQzYjEzZWJkNWFhM2IzYTliMDkzYzM4NGM3ZDc0IHB5M2sKKzg4MDgxIGZkOGU4MGZjMmQ5NDM2NGVkNGU5NDI2MjdkNDI1M2RmOTgwMmY2NjUgcmVsZWFzZTMxLW1haW50Cis4ODA4MiA2MTAxNjI5ODEwZTAwZGQyNTE2MzczZGNjZWFiMDg4NzczM2VhOWFkIHJlbGVhc2UyNy1tYWludAorODgwODMgOTllYWI1ZWRmOTlkZWM3MmZjN2QwMzk3NjAyN2RjNTgzYjJkNjI0YSBweTNrCis4ODA4NCA1N2JkMGQ4NjRjYjAzN2ExNDdjYzFlMTBmZDQ3NzRlMGU3NGJlNGQ5IHB5M2sKKzg4MDg1IGY1YTNiNjM5N2E1MzhkODEwMjI5YzM2YzRmOTE0NDA5MmNkYmYwMGEgcHkzaworODgwODggZWQ4ZjA1OGRjNjRiMDc1Y2Y1NmUyNzk2ODMwMjE2ZjU0ZGFhMjUzYiByZWxlYXNlMzEtbWFpbnQKKzg4MDg5IDUyZTgwMjkxNGNmODk2MjBjOGVhNzg2NjYyMjMyYzRkNDRkZDFhYzMgcmVsZWFzZTI3LW1haW50Cis4ODA5MCAyZDQyZjY0YjI4ZmRlZjIxY2I4YTU5OTMxMGM2NDU5YzRhNGUyZmJmIHJlbGVhc2UyNy1tYWludAorODgwOTEgMzRkNDg4NDhkNDFiYzgxMWIzNjIyZmNjYWZkMmQxZjdiZmM3Y2JiNyByZWxlYXNlMzEtbWFpbnQKKzg4MDkyIGY0NDFjNmUzYTc2OTEyOWMxMTgwNGM3ZWU4MzQ3ZWZhMjU3NTUyMzAgcHkzaworODgwOTMgNGUwYmNlYzgwOWRkODA5NGI5OWYxZjUxNzI3ZDAwZDQyNzZhNmVhMCBweTNrCis4ODA5NCA3NjFlOWFkMTY1ZWYxZmMxOWJkM2Y1ZWMzZmQ0ZTI4ODBiMWUzZjdkIHB5M2sKKzg4MDk3IGZjNWQwMmFlNTJkZDZiZDgyNzUyMDNkNTcyZmY1NDg1MDZmNzUzOTUgcHkzaworODgwOTggMmZkZTVhYmZiNWYxYjdmYmEwZjE3OWRjMzJkMzg0MzIyNTY2Y2MwYSByZWxlYXNlMzEtbWFpbnQKKzg4MDk5IGVhYzU0NTdmZjE5NWIwOGVmNzU0NDA5OWIzMWM1NGMzYjIzM2VkNmYgcmVsZWFzZTI3LW1haW50Cis4ODEwMCA0OTZlYTUwMjhjMDFhYzVkNzI4MjE3NTM0MTFmZDcwNDM1YmMzYjY5IHB5M2sKKzg4MTAxIDM4MjRiZWYzNzZjYzdmZWFjZjMwODgwOWQ0MmQ3ODg0MTgyYjcxYTcgcHkzaworODgxMDIgMTA5YWYwMzlmNDRmMGQ1OTY2MjcyYWE1NmQzMWExMDYxY2QzYjg3NCBweTNrCis4ODEwMyBjYzg5NzU3MjRmOWE4YmY0OGE1YjNlZTQyMmEwNjk0Mjk1ZDQwNzE2IHB5M2sKKzg4MTA0IGQ3MDU4Zjc0YmQwNGI0ZmE2ZmQ1YThmNmQ3Y2MzZDllNDc3ZjYzNzkgcHkzaworODgxMDUgNDFjNTFmNWNmNWQ5OTQ4MDA2MmQ1MDA3MDIxNzgwMGJlMDgxNjhiYiBweTNrCis4ODEwNiBhN2FhODM3M2I1ZmNiNTIwNGE3MWY4OTZiOGQxYTExMmIwNTEwOWVmIHB5M2sKKzg4MTA3IDNjMWM4ZDQyNjk2NjMwMWFiZWVlMzg3MTdmOTJkMTVkN2Y4ZTUyZGUgcHkzaworODgxMDggOTkxNDcwYmUwMzQwYmUwYzZiYWRkNmYwMmZjMDIyNGU5YzZiMmE1MiBweTNrCis4ODEwOSBkZTkyNTM2MWViYTUxMTY3NjlkY2UzNWUxNmYyYWY5NGRiZTBiYWM0IHB5M2sKKzg4MTExIDkxYWJlODU1MDcyYTM2NmQyZDg4MThjMDUwMjg3NzMzNmQ2ZGQzYzMgcHkzaworODgxMTIgMDdlMWViMjQ0ZGY4OGIzNjgwMGYyYmE2ODdhMjgyMmU2NzNjNjQ4MiByZWxlYXNlMzEtbWFpbnQKKzg4MTEzIDAyZWMxOTk3ZDc1ZTg3Y2M1Yjk4ZjM4YjE0ZGE2ODc3ZTMzMjBmOWQgcmVsZWFzZTI3LW1haW50Cis4ODExNCBjMzU0MDBjMzYzMDRlODk3YTg0MGU0OGIyMjlmMzVjNzNhZmM1YTM4IHB5M2sKKzg4MTE1IGE5MjVlYTRlMTA1ZjgxNGZmYWZjOWZkOWYzMTRiOTFmYmYzNzRkZTMgcHkzaworODgxMTYgYjg4MGM4MjI3YzAyNzJjMmQyMTljMWI3NjlmYTQwMzExYWE4MWUyMCByZWxlYXNlMjctbWFpbnQKKzg4MTE3IDIzM2NjNzQwMjc0YjcxMjZiNDdmYWU3ODk1YjQ0YTAyNGY1NGIzYWUgcHkzaworODgxMTggZTRlNGJmYzA5ZTE4ZGIzY2ZjYzQ5YTViMGIyOTZlYjkwNGM3ZjBlYiBweTNrCis4ODExOSA2YjhiNmU1YWVjMGE1ZjQ0OGQ2ODUxYTRiY2Q5M2QxMDkyNWQ0NDgyIHB5M2sKKzg4MTIwIDdmN2MyYWFiODYxYzExYTg0MGY0NGJhNDFmMzY4ZGZmMDI5NDhhNWYgcHkzaworODgxMjEgZGE0NGJiMGNkNGU5OTJkODc2ODE5ZmY3N2EyZTFkMjNkNGYwYzYyNSBweTNrCis4ODEyMiBmYmViZjBmMDYwNTc5ODA5YjNmYjIzZTExZjg2Yjc2MTdiZDkxZWU3IHB5M2sKKzg4MTI1IDNiM2M1MzYzMDYzN2E1YTNiNzQ4ZGFhMjFhOWJiZTlmNTBiMmUyYWQgcHkzaworODgxMjYgYWVmNDgyNDIwZTk2Y2NiYTM4ZmU4MDcyOWRiNGU4ZmI4YTZhMzkxNiBweTNrCis4ODEyNyBjZTQwNzU0YTg0MmEzZGI1MWMxYzYyNDg1MDE3Mjg0ZTEyNTNkNDdkIHB5M2sKKzg4MTI4IDNkMzNmNDFlODE4ZGJmMWNlNmFjOGQwMWYwYWI2YzlmYjg1YTI3YjIgcHkzaworODgxMjkgOTNlOThkNDBmMmE1YTU0OTlkMTJkMjMyZDBiNTQwYjM1OGRkZWU0YiBweTNrCis4ODEzMCA1ZTcwZWVlODZjNjEzMGIxYmQyMTc2YTUzMDI4YjA2ODdjMWJlN2VmIHB5M2sKKzg4MTMxIGM4Mzk2ZDI3ZjU2ZThkNjU5ZWQ5MjgzNGY0M2U4NTMyNjZjYWUyZjMgcHkzaworODgxMzIgZjM2NTM4YmE5MGE4ZmEzMGEwZWM4MTkzOWY5ODg2MzI0OWFhNDg4MiByZWxlYXNlMzEtbWFpbnQKKzg4MTMzIGRmOTFhMDE4ZGUzYWI1MDU4Y2NhMDYxM2U2ZTNhMzIyNjVlYTZmYWMgcmVsZWFzZTI3LW1haW50Cis4ODEzNCBmYjY2OGFhYTJmYTRmMGQ3NWNhOGE4ODU1YjVmODBhOGY4ODVhNTg5IHB5M2sKKzg4MTM1IGU0ZTMyYzRmZjYyNjI3YTNlNWMwYjY0MTZkOTIzYmIwZTk0NWVkODYgcHkzaworODgxMzYgY2MyMTYyNzA4YmY2MmI1YmY3NWFjMTQwMGFhYTZhNzFhMDE4ZTk0YyBweTNrCis4ODEzNyA4ZTBiNjE3YzZjMjIxNmQzNDlkODE4OTRmMDM2Y2U0ZDM4NGJiNDRhIHB5M2sKKzg4MTM4IDE2NDgwMTFjNjVkYTlhMGMyNmRiYmY0NjdkNDE1YTY0ZGU5NDBkYWUgcmVsZWFzZTMxLW1haW50Cis4ODEzOSAyNDE2MWNmNDA1ZjRjMjIzNzQzMGI3ZmU5NmEwOTc4NTdkNGFhZWQyIHJlbGVhc2UzMS1tYWludAorODgxMzkgZGU4ZGI3YWFmN2EyOTYwNTdhZTI2MTI1Yjk5NjE4Yzk2MWI0ZmVmNiByZWxlYXNlMjctbWFpbnQKKzg4MTM5IGM0MDgxN2M5NTUxNGIxNDcxZGIyNjcwZTM0NzQ3NDhlYzg0MzkwYmEgcHkzaworODgxNDAgYjk2ODA1M2FmYWQwZGM1MWU4YjA4N2U1OWZmMTFlNTk0OTg2MzgxYyBweTNrCis4ODE0MSA3ODhiMDFiNWE3NGVhMTdjNjBmNzdkNmIyZDFlOWZhODBmNWI1NzhlIHB5M2sKKzg4MTQyIDMwYzkxMzQyYjZhZTYzNjViNzMzYjEzMzYwNzIxZGQ5NGIwNzJkNzcgcHkzaworODgxNDMgYjNjYWRmNWNmNzQyNmM1YjI3ODIwZTRmNzc4OTc5MGJkYzViMDAxMCBweTNrCis4ODE0NCAwODY3M2U1ZjU0OWEyN2NjNzE1ODFlNjc5OWVmN2QwZDZhYmY2YzEzIHB5M2sKKzg4MTQ1IGJhYTkyMmI0NjIzN2RiMmIyOWEyODQwMzE0ZGQwNmMzNzFlMTM5NTYgcHkzaworODgxNDYgNGY3ZjM5OTUxOTRhMWM4YjAzZDQzODYzMWJkNjhhY2E0ZTEzODEwZSBweTNrCis4ODE0NyA0YzRhYmZiODg0ZmI0OGZlMTVjY2Q2YWM2ZWJhNTllZThmZDUyZDIzIHB5M2sKKzg4MTQ4IGJjZjAzMGY3M2VlZWI0MTU3Y2Q5ZGY4ZjIzNTBhN2VkNTBiMzdmMzkgcmVsZWFzZTMxLW1haW50Cis4ODE0OSBiOGMwY2EzNTk3OWEyY2RlOGMxZjg3ZmZlNDI1MGQzZDg3NGQ1NmRlIHB5M2sKKzg4MTUwIDQzMWRkY2RiNDMxMDZhZDliNmJlYjM4YTY0YjZkOWYzMGZkMTA2YjcgcHkzaworODgxNTEgZmMyYWRlODhhYjQxNzlmYjhjMWVkMzk4OWVhY2FkNzBhMDAwYzU2YiBweTNrCis4ODE1MiBkMWMwNjMwNmMxOWJlODJiZTM5YjI0YmI2ZmNmNmQ1ZWJjOTFiMzU5IHB5M2sKKzg4MTUzIGEwYTVjNWQ5YWE0ZmRmMWYxNjQ0MjdkMDFmOWEyYzcwNjc3YmZiYzEgcHkzaworODgxNTQgM2JiMjFkZjY0YWE1MTIwMTVlYjRiYzQ2OTE4ZTU5YjFjZDRjZWEwMCBweTNrCis4ODE1NSA0MDYzZTUyNjk4MmYyNmJhMDJjMjYzYTJiZTdkZWJjODhlYTY2NTRkIHB5M2sKKzg4MTU2IDZmNDBiNDcwOWU5YTUyZmQ4ZWNhNjRhMTdiYzBiNDEyZTMyN2VjNzAgcHkzaworODgxNTcgNWE2NWVjMjg3NzEzNzQ1OTZmMmVlNGNmYjAyMzllYzMyNjZjYzIzYiBweTNrCis4ODE1OCBkZDI3ZGY4ZDE0ZWZjMTk3ZmViMTc5OTg4OTU5YTUyOTMwYmRhNWY5IHB5M2sKKzg4MTU5IDJkZTY5OWU1ZjhmMzFhNTMyMWUyMDc4MTgxMmRjNDE4YzY0M2M5ZGMgcHkzaworODgxNjAgOTBhMmQ5YjcwMmJjYmFhZmJhOWNhZDc3NzIxNmFiYTFkNWU3ZWNmYSBweTNrCis4ODE2MSBmM2JmZWIyZmJjZmIwNmQ1ZjNiZWIyODAxNGNmNDk5Y2RhMWRkNGNjIHB5M2sKKzg4MTYyIDAzZTJhODc1NTcwOTBhYTUyYmEwMjhiNGRiYjY2YmY3NDNlMjM1ZmQgcHkzaworODgxNjMgYzE3NWY1ZGZmMzk2MDRiZDkwN2U0NTI4ZTdiNGNkODQwZmM0ZDc1YyBweTNrCis4ODE2NCA4MjVlYmFkZWJmOWJhMjkyMTg1ZWQ2ZWRkMzQ4YjM1MzM3MjQwNmM3IHB5M2sKKzg4MTY1IDFlM2YxNjliOWU0NmFlNGUxYmE4MzEyMjkxOTJiYzVjYWNjNmRiZjUgcHkzaworODgxNjYgNzA5MTliYWQ3NDU4NDFkMDI2NmM3YWJmYjdjMWVlNmEyMzg0ODZlMyBweTNrCis4ODE2OSA3ZjlhOThmNzY2ZDc1YzliNTk0NDg5MDJjZGY1NDkxY2Q0NWJhYWRjIHJlbGVhc2UyNy1tYWludAorODgxNzAgNDczZTQzNjgzOWVlNjM5MWUyYzU3MDY2ZTFjZDUxZGViOWMzZWU3YSBweTNrCis4ODE3MSA4YTMwYTJjYjRiOWUzNDcyZDg5MmRiYTM2ZDhkZDBkOTBiYTI1ZThmIHB5M2sKKzg4MTcyIDU5OGMxOTVlNTJmMzYwODZmZTkzOTAyOGRjZTcxYzQ4ZmZmMTIzMjIgcHkzaworODgxNzMgM2I5M2QwMDk5Y2VkMDdjN2E1Y2JkNGFhOGE5ZWFkZDAzNzg5ODRlOSByZWxlYXNlMzEtbWFpbnQKKzg4MTc0IGIwMjI1OTU3ZTAwNjU5OTVmYjIxYTc4YTJhMzAzMTYzYTA0MDg1MTkgcHkzaworODgxNzUgOTNhNDFkZjhjNzM3OGNmYWI2Zjc2ODg1NmM5OGUyZmJkMmNjYWFmMSByZWxlYXNlMjctbWFpbnQKKzg4MTc2IDBiNTI5OGU3YjJkNTQwNWJkNzIzNzllZDY2YjM2ODMyODg5ODg3MWMgcHkzaworODgxNzcgZWI0YmEwM2Q3YzRkZjMyMzIyM2M3NmJiYzYxZDJjODFjMWM1NDJiYiByZWxlYXNlMzEtbWFpbnQKKzg4MTc4IDBkNmVjY2YwMGI1YmQ2N2QxYzIwOTllY2ZiN2UzODA5MzcwOTY0MjMgcHkzaworODgxNzkgNzEyODEwMTdjNDNmYzQzZmZiMTc3ZDJhZDgxZjA1ZTZjZTNmYTFiMyBweTNrCis4ODE4MCBmYWUxOWU1NTE3YjY1YmUyYmYzMDczZDMzNzUwMzgxNzIwZDYwZTNlIHB5M2sKKzg4MTgxIDAzMjIwZWQ0OGJjYWUwZGUwZmNjZGNiYzBhZDhjNjhhNWIwY2Q4NzkgcHkzaworODgxODIgYzJiZDY5MjA3OGQyMGU3M2FlNDE5NmQyZTQ4MWUyY2NiODc0YjQ4ZSBweTNrCis4ODE4MyAzMmM4OTY2ODhjOTFkMDY4YTg2M2I3NjNkMmUzNzc4MzVkYzRiYzkwIHB5M2sKKzg4MTg0IDA4ZjMyZDExYjdlZmJhMjU0NTVkYzBkNjk5NzJkOTc2ZjA2YjljZmMgcHkzaworODgxODUgODlhM2Y2YzEyZjAyMTJkZDYxZmY1YWUwMDljMjNhMjZmZWZkMzc5MiBweTNrCis4ODE4NiA3NTdhOWIxODM2YjE5ZjJiNjdmNmFmYjZiMTNkYWE2ZmQwOTQwOTk3IHB5M2sKKzg4MTg3IDAwNzUzZDA0YmJiZmIzM2Q1ODVhMWQxNjdiYjlkZDAwYWUwMmVkZDYgcHkzaworODgxODggM2NhYmNlMGI2Y2FmY2FjYzkwMThmYTVkZmFmY2EzZTBiYzJiODA0YyBweTNrCis4ODE4OSAyMTk3NTRlOWMzOWMyZmEwNjI4MDQwYzlmMmE3NWEyMzNiNjkyMzhlIHRlc3Rfc3VicHJvY2Vzc18xMDgyNgorODgxOTAgNzA1NzgwYmE5ZTNhMDUzYjVjOGM1MmIzNzZkYzQ3OWQxY2NjZmJmZCB0ZXN0X3N1YnByb2Nlc3NfMTA4MjYKKzg4MTkxIDc3NmMzYzI5NGJiNzM1YzQ4OWMwNDZiODhmODg3NWMwZTRmNGE3YWUgcHkzaworODgxOTIgZjYzOTJjNGNlNjE5ODc3NzdkZjdmYzkzNGZhMGI4OWU1YjNlYjRjNCByZWxlYXNlMjctbWFpbnQKKzg4MTkzIDMyZmMxY2FmZmIxNzAyNmZhODVhN2ZjMjJlNWQxMGE1NmQ1ZTliNTQgdGVzdF9zdWJwcm9jZXNzXzEwODI2Cis4ODE5NCA4MmI3ZjUzYzJhY2Q0YTkzYTdkYjNjNmU0NDIwMmM3NGM5OGVhMGYzIHRlc3Rfc3VicHJvY2Vzc18xMDgyNgorODgxOTYgZjk4YWQ2NTA5MDI5NWE1NDQyNGQ1YjU5ZTIzNjY3MGM0OTMxODcyYSBweTNrCis4ODE5NyA2NWIwOTdhZWRhODAxM2NhNzcyN2M1OTlhODAzMzQzZWY4NDAwNzBiIHB5M2sKKzg4MTk4IDdiMzBkOWNmYTBkOWU1MTg4NGI1NGYyNGFkYWJjZWQ1MjBkZGE1ZjUgcHkzaworODgxOTkgNDg3MThiMTljMGRjMDgyZTBhZTIwMWJkZGM3MTgwZGY4YzdmZWZmYSBweTNrCis4ODIwMCBiZGY5ODY0ZmQyNzYwODUzMDNhOWExNjBmZDRkOTY5NDdkNTNiMWM4IHB5M2sKKzg4MjAxIDFmMjE1ZmRhMjM4MzhjZTM3NTg3NzgxZDlhZjFmZDExMzdhZTg5MDEgcHkzaworODgyMDIgYTY3NWE0NDY4NjIwODQzOTc4ODVkMTdhMzA2MThiMDNmM2JkNGYyMyByZWxlYXNlMjctbWFpbnQKKzg4MjAzIDFkM2JlN2IwMWQ4NDVlYTY0ZWMwZjkzNDBkMmRmODQyZGYxN2EwNDUgcHkzaworODgyMDQgOGVhYTMyNzk3ZjkyZTI5MmU5NDVkMGMwZGU5MzhlOTIwNGNkMjY3MCBweTNrCis4ODIwNSBhYzQ3ZDExYThjYTI0ZDQ2MWY2MGE0NzliY2UwZjcxNjI5YjQ2Y2E2IHJlbGVhc2UzMS1tYWludAorODgyMDYgNDRjMWI1NmQ3Nzg3ZDcxNTIyMzI5NjQzN2VjNDM2MTk1ODg1NzlkOCByZWxlYXNlMjctbWFpbnQKKzg4MjA3IDgwNTYxNzZjMDUzZjA1ZmMxMTdlZDlhNTI2NTI5OTllNDlkMWYwNDMgcHkzaworODgyMDggMjc5YTBjOTU5ZjdkYWVmMGI5YzI2MTNlZTM5ZGQyNTE3ZmUwOWEyZSByZWxlYXNlMzEtbWFpbnQKKzg4MjA5IDU5MWQ1NGZmZTk2OWQ3NDY3Y2RjMTAxOGI4ODQ3YWQwYWQwOWFjYTkgcHkzaworODgyMTAgZjgyYTA0Y2IxNTBhMmMwNjhmMTU5YzllMzlkNzIwY2EzMDYxYWNjOCBweTNrCis4ODIxMSBiMGFiMzM1MjJkZGE5ZjgzY2JhZTE0M2RjOTlkMDdhM2FjMjIwOTliIHB5M2sKKzg4MjEyIDBlMzBkNDEzYjllOTdmNDZjY2E5ODBkNzY0ZGE4N2ZjNTI4ZTNkNzcgcHkzaworODgyMTMgYmFjMjk2NjgwY2Y4NDY3YmNkMmQ5MTdiNmE5YzZkYWQ5ZDJiOTljZCBweTNrCis4ODIxNCBiMjJjYzc1NjNiMjg4MjMxMWJkOWFkZWE0NmUzOTc4ZDMxODQ0NjNhIHJlbGVhc2UyNy1tYWludAorODgyMTQgZmMyYWI3Y2RkY2YwMDU4YTUxZjkxNTJmOGYxOWMwMzBlMDNkYWZmNiBweTNrCis4ODIxNSBkZDczMjg2NzI5NjgzMWUwM2ExNzgyMjAxZmNiMzBkNDhjMTc5NTJlIHB5M2sKKzg4MjIwIGQyMWNiNmE3YTE0ZWU5YWMzM2EwMzI3Y2EyYTkyZDYyNjQ2NWJmOGYgcHkzaworODgyMjEgZTc5NTkzMDlmNTljNjViNGVhMjg2MzZkN2IyMzg5Y2FlMjNkNzQ0YSBweTNrCis4ODIyMiBlNDA2NDNhM2MzMWRmZmYzYWJhNzZlZmM2NWY3ODY1ZGJkZmE2ZTE2IHB5M2sKKzg4MjIzIDdjN2VlNGUxMTg1MGQwNzdmNzU1NzZmYWY1N2I4NWNlN2Y4NGNmOWUgcHkzaworODgyMjQgMmRiNjE3ZTkwY2EwYzEyMGQzYzNhZjcwZjAyYmNmNzBiYWRhOGM2OSB0ZXN0X3N1YnByb2Nlc3NfMTA4MjYKKzg4MjI2IDNlZjg2NTMyN2Q3YjA1ODBlYzBiMDIxNGExMmM4YmQ1OTk1OGRlNDkgcHkzaworODgyMjggODUyMTg2ZTVhZTJhYzY5ZTIxZDA0MjEzMDI0OTgxNjdjNjA3MWRmNCBweTNrCis4ODIyOSBjZjc1MDBmMDgwZmQzYWM2M2U0MzBjNjRmOTM3MjkxNTQ4MWMyY2RjIHJlbGVhc2UzMS1tYWludAorODgyMzAgZDdjZDFiNjI2MDhiOTgzMWM1NDFmNDQwYTYwYTJiMzk2ZjUyOTczYSBweTNrCis4ODIzMSAwODVlMGRkNjM3OTZiODBkM2Y4ZGVlN2Y5MGVkNzNkYWZkOWIwOTY2IHB5M2sKKzg4MjMyIDVjNTE3MjRiZjQxMTE2YTA4MzJiMGMzMzc2ZGJmYThkMjEyYjQzNzEgcHkzaworODgyMzMgYmUxMWU1NjUzZmRhOTc1NGZlY2I0MTRiNDE2OGYzNGU3MjhjYTE3YyByZWxlYXNlMzEtbWFpbnQKKzg4MjM0IDY0NzEzZTMxNjgzZjhiNzFlMjRiNzljZjk4N2RiOWMwMzFkNTU4MTYgcHkzaworODgyMzUgMzM0ODEyYmE1ODc0MjJiZGM0Yjg5MGY3OWJkMzRjMTc4NWM1M2U3NCBweTNrCis4ODIzNiA2YTFmYjk0NjQ3Y2I0ZGRmYzhjZmE5ZGQ2N2Q4OGYzODc0MDc2MzM1IHB5M2sKKzg4MjM3IDJhYWQ3MDdlZGE2Mjc4YTJhM2M2NjU2OTA2NWVkNDE0YWIzMDMxMzggcmVsZWFzZTMxLW1haW50Cis4ODIzOCBmMTJmZTY4NWU0NGQyOGRjOTczYzYxMmQ2ZWViYWQ2NjAwMzAzYTY0IHJlbGVhc2UyNy1tYWludAorODgyMzkgNzkxZjUyZmJlNWUwNjBhZmJkZTQ1OWQ5MGNjYzc3YzkyODQ0NzUyNiBweTNrCis4ODI0MCA1ZjFhZDY1YTFiODRjNzc3ZmQ1MzQxMzkwMjVlMDc2NTQ1YmRhOTA2IHB5M2sKKzg4MjQxIDNjNzc3MmZmZmJhZDM0YTI2MzAyY2QzMzEyNDZkYjk1NWU0NDVlNTQgcmVsZWFzZTMxLW1haW50Cis4ODI0MiBjNjkwNjA5OTk1YTYyNzYyNzM3M2Q2NGZjOGFmZDc3OTNjZTQwZDFjIHJlbGVhc2UzMS1tYWludAorODgyNDMgYjBlZmI2ZjBmZTk0MzI2M2Y3NjVlMzAwYWRlMDExYzBkOGRhZjMyNiByZWxlYXNlMjctbWFpbnQKKzg4MjQ0IDBjNjA0ZTY1NDI5ZTMyYjgyMzQ3ZDk3MzE0MTg1NzVkZmUyODg0ZjMgcHkzaworODgyNDUgNDZmMDdkYzQzN2ZmYmQ3OTI1YTUzMWZlZWU0ODg3OTBkYzNmN2VlMyBweTNrCis4ODI0NiA4YTE5ZjYwMjljZTU5N2UyOTc0YTJlNGJiZjA3NWIzODQ1MDljOWFiIHB5M2sKKzg4MjQ3IGM4MjU4OGNhM2E3OTA5ZGNhN2Q2ZjkwMTA5M2NjYjRjOWY5MzkyODEgcHkzaworODgyNDggZDNiNGZhMmRkNzI4OGVjNzAxMTUyZjc3MDc3NTFmMjRmMDBkZDY1MSByZWxlYXNlMjctbWFpbnQKKzg4MjUxIDJjOTM3MmExYzY4NWI1YjkwZTRiY2FhNTU1YjA4NmZhNjFlMTEyMGMgcHkzaworODgyNTIgZGM1MDFlZmEwNWI0MTI1YmM1ZTViZTYzY2U5MzliZjIxYzNmNTcxMCBweTNrCis4ODI1NiAzNmVlYjI4MmNkODQ0ZWE4OTBkMjE4N2YzZjFhNDQzMGQ3MTc5MzdiIHB5M2sKKzg4MjU4IGJmYTU4MzVlMTBmMGU3MTg1YWQ3NDY0OGI5MWQ2MDdkNmQzN2I4ODEgcHkzaworODgyNTkgNTk1YzJiNTY2ODFlYmI3NmRkYTg2ZjcwMzFiYjkwODUyYTI2YjExMSBweTNrCis4ODI2MSBkZmJkOTU2OGY0OWNiZTkwMTczYjY2M2RmMDE2NmNlYjAxNWRkNDA2IHB5M2sKKzg4MjYzIDJiZWY3YWI2MjU2YjQyMTI0NDQ1OWRjYWNmYWFiNTNlY2E2MGJkOGQgcHkzaworODgyNjQgOTNjNDA4MWRmZDE5NWNiZGIwN2JlOGZlMTgyNWMzMjFkYzBhNjAwNCBweTNrCis4ODI2NSAyNjU3NGIwMjcwNDJjODgwMzFhNzhhNzY5ZWY4YjViNjcwMWIxZWU0IHB5M2sKKzg4MjY2IGFjZjNlMjRkZDBkMGRmZDFlMjBjOTA3ZDY5NmQzZGE5NjVhOGY1NmYgcHkzaworODgyNjcgN2MzZGFmYmVlOWQwYjZiMWMxMTIxNWE1MmMxNjljNzY4M2QwY2NiZSBweTNrCis4ODI2OCBlODI1MDE4MTJhZTNkMzE2NTYzNWQ5N2Y2Zjk3YTlmOGYxZGNmNzBmIHJlbGVhc2UyNy1tYWludAorODgyNjkgYTlkZGRmYmFiMjQxNzljMGI2OWViMDgzMTFjZDZlN2FlMTk1YjQ2ZSByZWxlYXNlMzEtbWFpbnQKKzg4MjcwIDE4MjA3YjlkOWE2MGY4MTU2MjBiZTU2ZTA1Y2EwZjVjOTc2OGQzMjQgcmVsZWFzZTI3LW1haW50Cis4ODI3MSAwZjBjNWY5YWNlOWYzYmI0YjUyMGJjNGY0NGQ5NDNlZGU5Yzc1OGIwIHB5M2sKKzg4MjcyIGRlNjc5MmJkZDk2NTkzYmQ1MWUyMTBiODc5NzkyMjEyYTZhMTg4MDAgcHkzaworODgyNzMgMDg2YzJiY2Q4ZDc0ZTZiNDQ3NDY4Zjc0NjM1ZmFlMjY0YWI2YmVmZSBweTNrCis4ODI3NCA0YTI3MjIyNWMzZGU3MWU2MWEwNzE4NWU0NDAzYjkyNGJmMGI4ODZhIHB5M2sKKzg4Mjc1IGJjMDlkYjgyYTVkMGY1NDM2OTEwZTUxMGY4Nzg3MjYwMDExM2EzNzQgcHkzaworODgyNzYgMDJlZmRiOWUwOWU5MGVjMjU5MDAzOTQ2ZDRmNDRmY2MxOWJhMTM4MiBweTNrCis4ODI4MCA0Zjk0ODczODQ2YTNmYTVmZjk0ZWMyYjU3OWFmOTk1M2IyMzUwYzQwIHB5M2sKKzg4MjgxIDBhOWY2ODBhMmNmMDVjM2JhZWM0YzY5YTRkNjdjMGRjZDE5OTBiNTkgcHkzaworODgyODIgOTg3ZTY2MTVhMDc5NmFkOTAwNGZjMWMzYWEwOTAxNDZiZWE1YjQwYyByZWxlYXNlMzEtbWFpbnQKKzg4MjgzIGE2ZGYzYzNlMzc0MjM2MTI0ZmY5Njg5MGM3NjM0NjJkMWMyN2E1YmMgcmVsZWFzZTI3LW1haW50Cis4ODI4NCAzMWY0MGJlOTIyNTI0YzYyOTNlZDc3MDY2MmU1NzBiMGIwMjYyZjE1IHB5M2sKKzg4Mjg1IDhmYTczYTA4ODVjOTVlOGUxNmY1ZGE3MDJlYWQwMjQyY2Y3YWMzYTcgcmVsZWFzZTMxLW1haW50Cis4ODI4NiBjYTkwOTQzOGNmOWY4OTFiZjA3NDc0NDRlNGZmZTYzOWViMDIzZjI0IHJlbGVhc2UyNy1tYWludAorODgyOTkgNzNjNDk1NzlhNDg3YzRiZDFiNzU4ZDhjNWNlMjg4ZjE0YTE0MzQ4MyBweTNrCis4ODMwMCA5MDBmYzFlZTQ0ODdlZmUxODc4MDA2MTBmODYzYzU2MGI0MzNmZGVmIHJlbGVhc2UzMS1tYWludAorODgzMDEgOTQ0YWRmN2VkYTJlYmIxZWE2MTE0YjUxNmJmNmExMmU5YjkxYjFkYSBweTNrCis4ODMwMiA5ZTY1OTUxMjY2YTIwNTEyOTUwMTU3ZWVlYTZkZGI4OTllY2JiZjk3IHB5M2sKKzg4MzE4IGFhODczMDA0Y2VhODBkZTdhZGZiZmIxNWMyNmU5MzAwYzlmNjhjOWIgcmVsZWFzZTI3LW1haW50Cis4ODMxOSA3NzNjYjMzMmNjNjNiNmM2YTdjNTUzNGMyODA2MWM0OTg1ODQwZTM5IHJlbGVhc2UzMS1tYWludAorODgzMjAgZDMzOTAzZWIzMzg4NTQxZmFlZDdjNDNhOTE3NWQxMDg0YjA4ZjNkZiByZWxlYXNlMjctbWFpbnQKKzg4MzIxIDE3ZDZmMTY1ZWFlOTdmOWI0ZWM2Y2Q3MWYxOWU1YjhjYWMwOGE1M2UgcmVsZWFzZTMxLW1haW50Cis4ODMyMiA1YmU3MDExMzkwODljZjhmODRmNTkyMjQ0MmU0ZGUzMjUyODgyNTg4IHB5M2sKKzg4MzIzIDhlOTk2OTQxOGRiZWJjYjhiYmY0NDlhNjU2ZjQzOWEzODQ2ZWQ5NDcgcmVsZWFzZTMxLW1haW50Cis4ODMyNCBiMjE3ODY0MTliYjgzM2RiMTM2NzAxMDI0Mzk1MzFjMWVkNTgwMWEyIHJlbGVhc2UzMS1tYWludAorODgzMjUgNzgyYmY1ZjM3YWNiMDZmZWQ2ZjA0YmQxZGMzZjFmZTc2ZWJjMzk3YiByZWxlYXNlMzEtbWFpbnQKKzg4MzI2IDJlM2M1ODQxYTBhNjY0MGVlNzY0NDFhNjYwNjhkMTdkOTYwYjMwNjAgcmVsZWFzZTMxLW1haW50Cis4ODMyNyBhMWQxYmZjMzgzZWZjZjZlMWQ3M2U4NGI4NjUzYzA4NWY4MTUxNzFiIHJlbGVhc2UzMS1tYWludAorODgzMjggNjI3MDk0NjExNWQwODQ1YzVmOTliZDM1N2M2Y2IyZjgyOGQ4N2E3MiByZWxlYXNlMjctbWFpbnQKKzg4MzI5IDAzODY0M2QzOWZjMTU2ZGYzYjM2MmZhZWE1NTBiYjUyYzJmYzAwMWIgcHkzaworODgzMzAgNDUwNjQ5NTY1ODYzMWJlYjkyZjBjNjE2OGU3ZmM3YjRiYzkwYjFhYSBweTNrCis4ODMzMSA4Y2MxMDI3OWFjN2RkNmU0Njc1MzkzZWM4M2I4YWMxMDNjMDg0MjlhIHB5M2sKKzg4MzMyIGU1NjY4YWRjMWVkOWU2YWJhMDZkZjY5ODVhZjUzOWY4MjA1OGQ2NTIgcHkzaworODgzMzMgMDc3NDZiZTBiYmFkNDdlNjZjMTU4MGMyYTMxYzAxMjE4ODdmMmEwOCBweTNrCis4ODMzNCAwYmJhNTMzYzA5NTlmNjI1NDAwZDVlZTc3ODIyODVkY2UwZmQxOGQ4IHB5M2sKKzg4MzM1IGY5MDJmYzc3OTNlMTJiNDhiNjAxMzhjMjg2ZTVhY2MzZDlkZGE4MTMgcmVsZWFzZTMxLW1haW50Cis4ODMzNiBmMjJjOTlkYjhhNDY1NmZmNTYwYzljNmYyN2NkZGJlZmI3MjNhYWJlIHJlbGVhc2UyNy1tYWludAorODgzMzcgY2U4ZGI0ODVlMjZlNDM1NjhhZDM4ZTYzYzhlNGI2ODY5ZTllNWQxNCBweTNrCis4ODMzOCBkYzU2YzgyNzFmYTg1MWZjNzBkNDlhYzcxNjdlYzgyZDgxNzViZjIyIHJlbGVhc2UyNy1tYWludAorODgzMzkgNDM1NTIxMmZlMmM0MzAzMTFhODJiMDhiOTIzMzA1ZmUyZGExMWQwNyByZWxlYXNlMzEtbWFpbnQKKzg4MzQwIGNjZmI1YmE1MGE0NGU5YzFjMDc0ZWRiMTQyZjgxNzQyZGQyMDU2MmIgcHkzaworODgzNDEgNWE1MDQ4NWEzNzVmMTFjOGUxNjBlODliMjUwNTc0NTAzNzlmODNhNSBweTNrCis4ODM0MiBiYzY4NWFkYmFhMTVjZTE2MmQ0NjFjYzEyNjUzNzg4MmZkZWQzZGY1IHB5M2sKKzg4MzQzIDQ2MGYyZjFjNWVjODNmYmMwZGQ2ZDk4MTZhMTZhZWI0ODA4MjhhZTIgcHkzaworODgzNDQgYmIzZjZkM2NjMGIzYzM3ZGRmMWRiOWY4MzRiODk1ZTRkM2IwZTNhZiBweTNrCis4ODM0NSA1MjY3ZTUyNjNlNDc3ZDRmZjg2NjU2MDdhYTU4MjhjYmJiMmJmYWRjIHB5M2sKKzg4MzQ2IDM5YjVmYzZjNzkyZDRiNTk2OWRjODhlMDFlMTlhOTY3ODJiY2Y1YzEgcHkzaworODgzNDcgODhkNjljMmY5ZWZhMzIzMzVlMzRkZjQwOTRhZjc2NjdlNWM0YWZhZiBweTNrCis4ODM0OCA5YjMzZDY1Y2RhZTRhZWI2NWNjMjhiODJkMzBkMTljNjBmNDQ1ZTA1IHB5M2sKKzg4MzQ5IDhkMjU5MjU5MTBiMTBiNTU2ZGM4ZjE5Y2Q5ZjdiNDBmMzIzOGYyNWUgcHkzaworODgzNTAgMGRhNjhlMmU0ZDc4MGI2OGJkNWZhZjdiM2Q3MWIwMDRkODZhMjNlOCBweTNrCis4ODM1MSBhY2E5MWM1NWYzOGQ0NTBmZmZkZTc1ZTI0YWY1ZGRjYTU3ZmFhYmMzIHB5M2sKKzg4MzUyIGFiYWIyYzUzZjU4ZmQzMzc0MDZiNGJhMDFmMDQ2YWVmYzMzNmEyYjQgcHkzaworODgzNTMgNDA1YTQ0YzZkY2VkYjQ1N2MzZDM5ZDQwNDM5OWRmYzVjOTI1ODAwMiByZWxlYXNlMjctbWFpbnQKKzg4MzU0IGI1ZTM2YTU0OWMyNTM3OTFlYTQ5YzM5Y2JiYTQ4MmIzYTY3OTk0OWYgcmVsZWFzZTMxLW1haW50Cis4ODM1NSA4ZTIwOTg2YjNkNmU5YjhkZGNjNmE1ZjI0Y2ExNWYzMTNlOGJhOTA3IHB5M2sKKzg4MzU2IDUxNmI5ZGI2YWZlNGFmNDhjOTkxNjc0YzBiZDA0ZTkxNTdkODgxNzIgcHkzaworODgzNTcgMzk0Y2IwMjI0N2ZjMzZiOTE2N2MwNjIwYjQ5MjQ1MmQ1Mjk1Y2ZhMyBweTNrCis4ODM1OCBiN2IxZGNlM2U3N2YyOTY1M2VmZWQxM2U0ZTEwYTE3NjIwZWY0ZmNmIHB5M2sKKzg4MzU5IGQ2MWViZmNlMThlZDNhZTEyYjhkZGVkNzRkYWMyNTFmY2VhNjVjNTMgcHkzaworODgzNjAgMTUxOGI5MzVkZTEwZTcwNzMwNTkxOGJmYmQ2MGU2YTliNzA4NTk1ZiBweTNrCis4ODM2MSBiNTcwMmIyMGI0NzYwZTU5MWJkNDA3NjcwNmZjOTAzMmViZjM4MGNmIHB5M2sKKzg4MzYyIGI0YzdkMjAzYzNkMTQzMGNjYjc1NTFkNDJjOWM5ZDJmNGYzN2NkODggcHkzaworODgzNjMgM2I5ZDdiODQ1NjE4MzkyODBkODhlYzExMTIzZTZkNzE4M2YxY2FjOCBweTNrCis4ODM2NCAwOWYwN2M3ZGMzZGMyNWRlMTU4OWMzMDQ0YmNkNjU4Yjc4MDUwNzY3IHB5M2sKKzg4MzY1IDNlMDIxMzY2ZTUxZmFjNjJhYTU0ZWNiOWM4MWQ3ZjVhMjdkNzE3NzMgcHkzaworODgzNjYgZjFmYWVjNDkzNTBkY2RhNmU4OWNhZDIwYzhmMTkzZDFkZTBiYTc0OCBweTNrCis4ODM2NyBiY2U3NTg5MzlkNzk5M2JjMDNhODE3ZjVhZTkxNGFiY2RkODk2ZjFmIHB5M2sKKzg4MzY4IDFkOWM1YTJhYTY5NGU3ZjJlNTI1YWViNGUxZDQ1MjQxZTdjNmQ4YjggcHkzaworODgzNjkgMjYxMzY3ZTllNmMxYzhhMWNkNmIwMmM4MWQ0MzA0N2MzZDBmZjI1MCBweTNrCis4ODM3MCAzNDExY2M3ZjY0ZGY2NjljNGEwMmJiZDg2ZGUzZTY5MGUzY2RiZTEzIHB5M2sKKzg4MzcxIDlmZGZjMDVlZmJiNWJmY2Y3YzdhNTU0ZjE3OTY5NDgwOTVmYzUwOGMgcHkzaworODgzNzIgOTQ2ZWNlMjZhNDhmM2JmZTlhZDhkNWMxNDJiZmEyNTVmMzdiNGQ5YyByZWxlYXNlMzEtbWFpbnQKKzg4MzczIDY4ZDYxN2RkMzBjZDM5MTk4ZWVmZGIwMDA2MTFjOGZhMjMyY2VlY2YgcmVsZWFzZTI3LW1haW50Cis4ODM3NCA3YzcxYjBhNWEyOTAxNGI5NjAwZjYwM2M4OWRkODg0NWYxZTViMzQ3IHB5M2sKKzg4Mzc1IGU5ZmI2ZDUwNDU5YWY1YzVkYWU1OWI1MTBhYjE1OWUxYzkwOGQ5OWEgcHkzaworODgzNzYgYmI3NTdmYWNiZmE2MTEyMDM2ZDY1YzU0ZmZmYzI5MTE2ZjVlY2ZlNSByZWxlYXNlMjctbWFpbnQKKzg4Mzc3IDU3NDJjNzkwODZhODc5ODA0NzZhM2QwNjU0ZDhlMWZkN2FlY2QxZTIgcHkzaworODgzNzggZjUyZTM1Yzc1ZTMzYzZmOGRkMTdkN2I4N2Y4ZDA3ZTFiNTdmZjdkMCByZWxlYXNlMzEtbWFpbnQKKzg4MzgxIGQ2OTY2ZDliNzYwOWZjYzczMWIzZjk4Zjk2ODQwYjQzMjkzNzFkMzEgcHkzaworODgzODIgZGNmMTc5MWNiMTc2N2E1MTY4NzQ4OTNiZWUwYTRiYjMwZWM4YTcxYyBweTNrCis4ODM4MyAwNzFkMjVhZmFkYWE4OTZlOTcxY2VjYWYzM2E2YzY3Mzc0ZTA5ZmEyIHB5M2sKKzg4Mzg0IDY0M2FjOTQ2ZWZmNDlmNDc1NWExYTEyYTI2NjY0NzlkYWMzODY4Y2EgcHkzaworODgzODUgMTQ2ZTgxZTRlNTFlNGE5NTQ3NWY3MTI5MGM0MTAyN2Y4Y2VhZjA3MiBweTNrCis4ODM4NiBmNWI4ODljMzZmOTkwYTZkZjhiMDE5NWUxYWFhOTFhMGM2MmYyNmE5IHB5M2sKKzg4Mzg3IDVkZmUwYzQyZmZlOGQ0MjI5ZGRjNWYxMmU1ZWE4YzViM2RmZjIwMDQgcHkzaworODgzODggNTZlNjE3YzJiNWU4M2VjMTcwYWE3MTE1YTNjNDg5OGE4ZjkxYzBlYyBweTNrCis4ODM4OSA3MmI0MmRjMDQxZjNmZjU4NzZiMmM1NTk2NGNlYmM3NmVjYjc2NGRmIHB5M2sKKzg4MzkwIDAzN2YxNmIwMmNhNTUyYzZmZDZjODkyZmZiNmQ2MDg1MWI1ZDBmNDAgcmVsZWFzZTMxLW1haW50Cis4ODM5MSAyYjQ4MjJiN2M0MjRlYzU5ODM3YmU2MTA2NWJkODFlYmYzOGMzYjc3IHJlbGVhc2UyNy1tYWludAorODgzOTIgZDFiNWQ4MDRkMmE1NDUyNzEzNzcxODI4MDI5ZDhiNTc2MjYwNmM2OSByZWxlYXNlMzEtbWFpbnQKKzg4MzkzIDgwODRjNjY4YjYzNzczNTU1ODRmODIxMGM4MmIzOWM0Y2NlZDJmODkgcmVsZWFzZTMxLW1haW50Cis4ODM5NCBiNDA5ZDdlY2I2NjU3NDI2MjQ2ZDk0MWE4MzhjMWM5ZmNjNzFhZjRiIHB5M2sKKzg4Mzk1IDEyYWNhZjdhNDk1NWRkYTUwYjMzOGEwODVlMWUzM2Q3YjJlZDBmOGQgcHkzaworODgzOTYgNGQyYTU4OTE4ZGYxNTg3NjJmYzU1ZTBlMTg3MjhiNDQ0OTE5MzU1ZiBweTNrCis4ODM5NyA4OWQ1MmVmZmMzMGFhN2QzOWMyN2FjMGQ4NTliZjRiZTZjZThiMTNkIHJlbGVhc2UyNy1tYWludAorODgzOTggZDliNzEzZTk1ZjM5ZTkwZDNhNWExNzEzMGI1YWU4YTY0NTFkNjY2NSByZWxlYXNlMjctbWFpbnQKKzg4Mzk5IDAyYjg4MTMyNmY2ZWQ4MmMwZTA5NjliNzViNWE2MmNmODZiNmUwOWUgcHkzaworODg0MDAgMjBkODI4NzNhYTk3N2E5ZjU2ZjE4YWIwMGM1MzYzNDBkY2E2ZTFkOSBweTNrCis4ODQwMSAwNmE2NTdkMWEzYWMxOTlmNWQ0MGEyYTQ0OTc1YmMzNmEzYjU3MDgyIHB5M2sKKzg4NDAyIGMzMTBkMjk0ZmRkZTBmYjA3Njk2NzM2Y2ZlY2E1ZTM5Njc5NDc0ZTkgcHkzaworODg0MDMgMmNiZTlkMDU4ZjdlOTJiMWRiNGM4NWQwYTI3MzU5YTNkYjFiYThhMCBweTNrCis4ODQwNCAxMTE1NzdiZjViYTg5NjZmN2JjYTk4ZWQ3OWNmZTEzNTkwYWVhMzQ2IHJlbGVhc2UzMS1tYWludAorODg0MDUgMTFjNjdhNjA4NGM4ZWQ0ZjJmMzExMWFhZDE5ZTJhZTA1MDM2NmRkOCByZWxlYXNlMjctbWFpbnQKKzg4NDA2IGJiYWY5MzA0YTBkMDRhMGNjNDI1OGYyNTczNTFlMDgxZDIwODQ4MzAgcmVsZWFzZTI3LW1haW50Cis4ODQwNyBmM2NlNGFiYmFhZjg1ZThmYjNkZWIwNThlMjBhYjVjNjM0NGZjZjdmIHB5M2sKKzg4NDA4IDg4M2EwMjNlYjk0MzNkNjJmMDI3M2M2YTcwNmZhOWNlNTFmMzFhMDkgcmVsZWFzZTI3LW1haW50Cis4ODQwOSA3ZDMyMDgyMGY0NjJkZDgzYjUzZjc0MjJhZTRkNmY0Y2ZkNTQ5OTEwIHJlbGVhc2UzMS1tYWludAorODg0MTAgYmE5NWMwYmRkOGE4ZDc4MzQ5ZTEwOTZkNDg0YTI2MjBiZjg0ZGY3NiByZWxlYXNlMjctbWFpbnQKKzg4NDExIDEwNjYwM2NhNTNjMzdjMGQ1YTgyMmYwODFiNDBlMWM5YzUyYjJiMTYgcHkzaworODg0MTIgNmE1NDMxMTZiZjE3NDc1YzIyOGU3NjA0ZjA1NzY4ZTc4MjE2YTIxOSBweTNrCis4ODQxMyAxOGMxZjUyODk2NTAxYzdlZTEzYjAzODQ1NGEzOWFjYjQ1YTg3OTc5IHB5M2sKKzg4NDE0IDkzZGY5NWU0MDNkMWE0ODYxNTFmM2U0YTkxZDVkMzYwNjc0NTJhZWEgcHkzaworODg0MTggYjQ1ZjRmMzlmMjA0ZDg2NWM5MmRmYzA3YjBkMzIzNGFhOTA1N2VmMCByZWxlYXNlMzEtbWFpbnQKKzg4NDE5IDA4ODU1MTRkODk3YzBjNGI3Y2JlMmFjZTNlNDI0ZjhmZDljNGFkYjcgcmVsZWFzZTI3LW1haW50Cis4ODQyMCA1YmFhYzE4NmYwYzI4YmVjNWEzMzgwZWMyMDZlNDI2ZTIzMGYzYTM0IHB5M2sKKzg4NDIxIDAzZWM2MWUxMzQ2MGIyNzFhYTVmNzlkYzY0ZDRhOTI5OTc4MmIwYTggcHkzaworODg0MjIgZDFkOWQ3ZTAwYjRhNWExOTg4ODIxMTlmZDEzOGQyNmNkOTdjNWRmNiByZWxlYXNlMjctbWFpbnQKKzg4NDIzIGQ4MDMxYmEzOGUxNmQzZWRjOGFjM2JiNWFiZGFkYzZhNzQ0MjU1MzYgcHkzaworODg0MjQgNDNhZjllMzZiZGQ1OGEyYmE3OGQ2YjBkZTJhZDQ3MGJjZmI0ZjNhYiBweTNrCis4ODQyNSAyZWUyYzc2MDgyYzhjNmFlZjVlNjI1NTYyMGRhNzY3MTMxNjVhYjBlIHJlbGVhc2UzMS1tYWludAorODg0MjYgOWZmM2I2Njk1NDhmODMyYTkyOWQ4YWJhYjQ1MTZiMTJmMDRmNTdiZiBweTNrCis4ODQyNyA3YTg5ZjRhNzNkMWFmZDY2NDQ5ZGZmN2QwYjU3MzFjNzZkZGU0MjIwIHJlbGVhc2UyNy1tYWludAorODg0MjggNWU3ZGQ2NTdmOWViNzUxZjNiMTRlNmViNTkwMDYzOGY1MjAyZWFhMyByZWxlYXNlMzEtbWFpbnQKKzg4NDI5IDkwN2YzODc5MjM1YThkNGFlYTYxMDI4YTI4YThlN2MzNGZjMDFmZjQgcmVsZWFzZTI3LW1haW50Cis4ODQzMCBhZDJmOGM2ODZlMDg1NWE3MjJkMzAwNzM1OWQyMzFkYTA1MWUyNjI3IHB5M2sKKzg4NDMxIDM5Y2YyMGQ1YWQ0YzVlYTU1MzdhOWYxY2MzMDVjNTNkZDg5ZWM5MzIgcHkzaworODg0MzIgNmQzOWRhZWRlZGQ1NTM2ZTc5ZmM1NmQ3MzI1ZjE1YzkzNWQ1M2VlYyBweTNrCis4ODQzNCA2YzFjYTlkZWI0MmE5NTI4NmJiMjdlYjU1YjZjYTRjNDJlNWNhNDhlIHB5M2sKKzg4NDM1IDE1YThlMjJjNDEwMWRlZGE5NWFlYWFhZDAxODE2Mzc3M2M5MWU2NjIgcHkzaworODg0MzYgMjJkOTRmNTViMGM3MDM0MmFiODdkZjk2YmY3OWFjYTc3ZjI3ZmQ0ZiByZWxlYXNlMjctbWFpbnQKKzg4NDM4IDkyZGViZGY5ODFjNWYzNDQzZTg3N2Y1OGI0ODYxMTU3YjdjZDI4NjQgcHkzaworODg0MzkgNmNhYjlhOTk0MTA1MDM1NDBmZTIxZGRiOTIwN2RmMzBhZWQ3MjAyYSBweTNrCis4ODQ0MCA1YWYwMzU1ODlhYTc3NzJlZmZkMDQyN2M2NzRjMjllOWUyNjc2YTY3IHB5M2sKKzg4NDQxIDVlMzc2NjkxNzJjOGQyNzgzNGRhZjg2OGU2ZGYyOGNjZDgxYTMwODEgcHkzaworODg0NDIgMTAxYmM2Njk1MWM3Y2E0ZTYzOWJkZTg2OWFmNDE1YzM0N2NmZmI5MyBweTNrCis4ODQ0MyA3ODhlYWZhZWY3ZGM0ODIwZGI3OGNiNDlhNTdhMGFkZjYzZmM1MGNlIHB5M2sKKzg4NDQ0IDU5MDBkOTQ4ZmU1N2E0Mzk5ZGMyZmZlYzNiYTEyNjRiMjE3ZDRlMTYgcHkzaworODg0NDUgNDk2YWM0ZDFhOWFiYjk2NWM5ZTExOWUyNDRlNjNjN2RiMTZkMTg0OCBweTNrCis4ODQ0NiBhMjIyYTAxNWUyOGQ4YWU5YWYzODk5MjU4ZGM2YzE1YzNkNDBhZGQwIHJlbGVhc2UzMi1tYWludAorODg0NDcgNjYzODFjZWM2YzczMjVjMzA2MDY3MzRkZDM3NjY1ZGQxMDRkNjVlYiBweTNrCis4ODQ0OCAyMDM5NDUwNjBiYWZmMjA2YTZhNzdjODZiYWFkODg3MDFhZDQ0Zjc4IHB5M2sKKzg4NDQ5IDBmNTJjZmM5MWZhZWMwODk5Nzc1NDg3YzJmZGIwNDQ1ZDMwY2VjZjEgcHkzaworODg0NTAgNDQxOTA3YzA4MTRlNWM3MWU4Y2U0NDkzNjQ5OGJmYWI3MzBlZDdiZiByZWxlYXNlMzItbWFpbnQKKzg4NDUxIGE4M2NjOTYxYzQzYTJkMzI2OWJkYTRlNzNjZWI5ODk5MWFjMzQyMTkgcHkzaworODg0NTIgMzVjMGUzN2ZlOTUwMTIzZjBiY2VjNWM1OTRmNTU0NWI5ZTZmNmY4OSByZWxlYXNlMjctbWFpbnQKKzg4NDUzIGFlYzk1MjdmNjIyMzI3Njk5NjcyMTk1OGQ4YzFjMzU2MmQ5YTVhNjkgcmVsZWFzZTI3LW1haW50Cis4ODQ1NSBiZjg2NDM5NWQxYzg4YjFjMzJjMmFmOTVhODhhODQ2ODE2NThiNDgzIHJlbGVhc2UzMi1tYWludAorODg0NTYgN2IwMTFjZjY0ZjkwNmMyMmZhOGNhZTRjY2ViNzU4NGE4ZDg0YzI1NSBweTNrCis4ODQ1NyAzNzFmMDRlMWJkM2Y4YjNlOTJiY2MyZGU2OGI2OWQ0N2I0N2ViMGQ1IHJlbGVhc2UzMi1tYWludAorODg0NTggNzkwMmY1YmUyYzkwNmJmMGI3NmFhNDM3ZDU3MDZkYWM3YmMxNGFkNSByZWxlYXNlMzItbWFpbnQKKzg4NDU5IDk4MzYzMDc5NzMzOGUyZGY3YjBhZWJlMGYzM2I0MWNiNmZmYmY1YzQgcHkzaworODg0NjAgNTFhMDgwYmFjYjI1MDhkNTQ2MGJhYzAzZDAxYjBjZDdlNDI0MGJkMSBweTNrCis4ODQ2MSBkYTVkZDNlMjNjODcwMjUyMDg5YzBjNGRmM2RjOTRkMjJmZjhkYWZiIHJlbGVhc2UzMi1tYWludAorODg0NjIgNmMxZTA1YTRiNTQxZjFlMjAxYWYzNDllZTQxODE1NGNiNTkzY2JkYiByZWxlYXNlMzItbWFpbnQKKzg4NDYzIDI3ZWEzYWUzNjJjZDUxZmY2YTJiYjAyZGIxNzQyMjlmODNkM2FhMmQgcHkzaworODg0NjQgOTU0Y2Q1ZGI1MWRjMzVlZjQzYjhmNDM5NDVjZGQyZmE4ODFmNWVmMCBweTNrCis4ODQ2NSA5ZjgxNDZmNDVlYWU4N2M5Mjg5NTM4MmEwY2NkMDA2N2ZmYTVmMDg1IHB5M2sKKzg4NDY2IGExZjM1YzIxYTcxMmMxMTg1ZjVjMGEzMjNiNTBiYzM2ODM5ZDUxZTkgcHkzaworODg0NjcgNjE0ZTMyOTAwZWY3ZGI4NmM2YTBjOGRlMWMwODczOThkNTI2NWY2ZSBweTNrCis4ODQ2OCBlYjhmYzFjZTFjODFlYjgzZmE3NmUyNjE5Yjk3YWFiYTliZTJhNTAyIHJlbGVhc2UzMi1tYWludAorODg0NjkgNDgyNTg3MTgwMjU1YTUxYjA5MjE2NDVlZTY4NDFlMzZiNDgxMDRhNiByZWxlYXNlMzItbWFpbnQKKzg4NDcwIGIxN2JiYTFjNzMwM2NlN2U1OWRmYmMyNzhmNjRlNTU3OTY3MzJmNDAgcHkzaworODg0NzEgNDUwZjhkNTFkZGE4NjliM2YzNTgyOWVjMjU1NmExY2FiZjc0OTYxNSByZWxlYXNlMzItbWFpbnQKKzg4NDcyIGZmODZhMTc5YmMxM2NhNzEzNTM3MGI1NzNhMmZlNWUzNjM4NTk4ZDcgcmVsZWFzZTMyLW1haW50Cis4ODQ3MyAxODUzOTg5Zjc0ZTc2YWI0NzVjYjI2NDU0NjdiY2I5YTg4MzA4YTIwIHJlbGVhc2UzMi1tYWludAorODg0NzQgMTU4ZDZkZWYyZWY4N2YzMTI5YWUwZDQxYzZmZDIwNmExYmRhMzU3MiBweTNrCis4ODQ3NSBhMDM2YzMwYWI1YWU0YWM5ZDcwNWJmZTdmNjRhZTNkNjE2NTBjOTkzIHB5M2sKKzg4NDc2IGFiMTY2NGIyOThmY2RiMWY4ZTk2YzliM2Y0MGFjOTdlZjkxNjBkZTEgcHkzaworODg0NzcgMDBhNGZmYTcyZGJlM2QxZWExZDJkNDZmMzUyNjk1MTA0NzkwNzJlNyByZWxlYXNlMzItbWFpbnQKKzg4NDc4IGJiODU3ZDljMzA3MTIwYzVkZmEyMjI0NDYxY2I0NTljNzc3NWZkMjYgcHkzaworODg0NzkgMjg0MDI2ZTAwMzQyZDRhZWUzMjkwYzgwZGVkMmIxYTYxN2U0YmI0ZSByZWxlYXNlMjctbWFpbnQKKzg4NDgwIDJiOGU2YTIxYWVhYTE5NTRiMzlkYmZhZTMyMWY5YTQzZjI4MTllYWIgcHkzaworODg0ODEgZWYyOGFhZDNiYmFlMGY1N2YyNjRhMGFiZGU1ZDU0YThiNjE3ZGE3MSBweTNrCis4ODQ4MiBiNGMxNWQ4NzA5NGQ5ZWE1MTdkZmRmY2RkNDVkYzU4ZThhNzEwYTg5IGlzc3VlMTAyNzYtc25vd2xlb3BhcmQKKzg4NDgzIDIzZGUzYWE3MjIzMDZkMmJmZmViMGZlY2ExNDU3NWIxMWNhMTkzNzcgaXNzdWUxMDI3Ni1zbm93bGVvcGFyZAorODg0ODQgZjVlOWMxN2I4NWFkMDZiMTdiZDVkMzFjZjg4MTViMGZkNTM3MzEwZSBweTNrCis4ODQ4NSBjNjA2MGVmNWM0MDUxNDZjZWQyMmJlYTQ4ZGRiMjQ4OWU4OTVmZjRmIHJlbGVhc2UzMi1tYWludAorODg0ODYgNDFjNTI4MDMzMGZkNjI0MmQ3MWUzZjBhOTIyMWU3NzI4NjExNTIyYiBweTNrCis4ODQ4NyA0Mjk1ZTA5NWFkNGZiOGU5MmJjZjYxZTYwYTUwNmU5ZGY0NGE0MWRiIHJlbGVhc2UzMi1tYWludAorODg0ODggYjU1ODY5NTk4NjgzZmE5YjViN2UwNDkxMzJhOTAzNGQwNzMyNmU3YyByZWxlYXNlMjctbWFpbnQKKzg4NDkwIDc4NjYwNzE0ZjE3YTM1NTdmOGI1ZTQxN2ZhYmJhMjJjNzQzZWVkZTAgcHkzaworODg0OTEgNjdlYzI2Y2M0YjRmN2UzMWQzYzNjZDQ4NGJmYzcyNzc3NWNkNzdiOSBweTNrCis4ODQ5MiBjZTIwYWM0MWUzMWZkOTQwNDA0Y2QwOGM2ZjgzMmQ5ODYyMDZkZDQwIHB5M2sKKzg4NDkzIGZlZDc2OGI3MTEzNjE4M2Y2ZTI0MjU2NmY4MGFmYWVhNDNkYjdlOGQgcHkzaworODg0OTQgN2Y4NWZiYzE2Y2FlZGQwODM4MjgyZjgxY2RiOThkNjU3NDEwY2UzYiBweTNrCis4ODQ5NSA0NzNkMjMzYTA0NzgxZGZmMzc5MjczOWY5NzhkMzQ0MDA2OGVhNjdhIHJlbGVhc2UzMi1tYWludAorODg0OTYgYWUxODZiM2IyYzU1NmUxY2IzMmIzYzFlOTg2N2EwZDVmZTM4MzIzNSBweTNrCis4ODQ5NyAxOWRmNDc4MzliY2FiNTVmN2Y2MzE5MzZhMTE2OGI0ZDNkOTFjYmNlIHJlbGVhc2UzMi1tYWludAorODg0OTggZWEyNjBkMzkzY2RlZTNjM2UzNjE0Zjk1N2RlYjcyZGJkNzdmYjA3MCBweTNrCis4ODQ5OSBjOTBlMGU1YjBkMjU0NzEwNTFlMmFlNmMxMzJmNDU0Zjc0M2JkYWZlIHJlbGVhc2UzMi1tYWludAorODg1MDAgMzcyYjJlZjBmZjM3YjZhMWFhMTJlNDMwY2IyZGVjOTk5YjY0NzkzYyBweTNrCis4ODUwMSAyNDMzOWJmMGM3ZTY2YTdlYTFlY2EyYTUyYzI0ZjI4ZmNhZDRmZWY1IHB5M2sKKzg4NTAyIDMwNDExYWYzNGVlYmZhZmE3NTVmZTMzOGZmMzhlNTQyZDM3MDJhNWUgcmVsZWFzZTMyLW1haW50Cis4ODUwMyA1Y2U0OTkxODBkMjQ1ZjgwYjY2YTA1N2U4ZGVjYjJhMzM1YWQxZGM1IHB5M2sKKzg4NTA0IDk4MDY5Nzc2OTg2NjIwNWQwOWQzMDAyMDFmZjg1MjU3NzA0ODdjM2YgcmVsZWFzZTMyLW1haW50Cis4ODUwNSAyNDdhMjgxMDkzMmFhNTVjMTI1YzU2MTA2NWMyOTI3NDM0YzQwOTU1IHB5M2sKKzg4NTA2IGE3NTE1YTk0ZmRiNWI1MDU4OWIyM2YxMjFmNjBlZDRhOGRlZjZjMWMgcHkzaworODg1MDcgZTJmOTZiZDI5MjUyZTYyMWJiOWUxNTYzZmJiYjBlY2E4MjMxZGU1MyBweTNrCis4ODUwOCA2NDgyZGQxYzExZWQxYzFhZmI5OWQyMzRlMjgzMGYzNGM5ZjM0Nzg2IHB5M2sKKzg4NTA5IDE2ZWU0MmRlMGZhYjkyZjE5MGM4Y2NhMjc0Yzk0ZWQ0NmI0OTFkMWQgcmVsZWFzZTMyLW1haW50Cis4ODUxMCAyYjU0YmU2NTUxNjk4YTcxODU2YTUyZTVjMWFhZDEyMmM4ODQzMzM1IHJlbGVhc2UzMi1tYWludAorODg1MTEgMzI3YTVhNzhhMjU3Y2ZlMjdhY2Q5MDFjNjVlMDg0YmE3MTk2MThkOSBpc3N1ZTEwMjc2LXNub3dsZW9wYXJkCis4ODUxMiAyZjhlYzc3ZDMyY2Q0NzE4YWFjNzQxNTU1M2JmNzQ1ZDU4MzBhYmEzIHB5M2sKKzg4NTEzIDA1ODZjNjk5ZDQ2N2E2NGMzZTIzZGQ4NzZkMmQzNjJlNjMzZDg5MGQgcHkzaworODg1MTQgNjI5OTQ2NjI2NzZhN2JlNzkwZTBkY2NjNjMyODE4Yjc4OGY2YmYyMSBweTNrCis4ODUxNSAwZTlmM2JiNjNkMDBiN2FhNTBkZGJiMWU1NzY4YTA4ODFlMjJkZDZlIHJlbGVhc2UzMi1tYWludAorODg1MTYgMmY4OWNiYmVjMGI0ODRkMTFiOTY0MTA1ZDBkYzMyNDk2ZmFmMjhhOCBweTNrCis4ODUxNyAwODc0Njk4YjEyMDFkZjljMmVjOTVkMDlkZTgxMDg4ZDVkYzkxODkyIHB5M2sKKzg4NTE4IGVjM2MwNjc2MTg1NmRkNjMwYTk1ZTM5OTMxNjlhZmI3ODhlZTdlYzMgcHkzaworODg1MTkgYWMwZDhlMjFhNDdkZWI1NWVhYzkyNzQ5NGEyMzhjMTg2MmQ3MDA0MyByZWxlYXNlMzItbWFpbnQKKzg4NTIwIDQ0Y2M5ZWY0MzEyN2Y4YjZkOWI1ZmE0MWZjZjdhNjEzOTdiYTdkYmEgcHkzaworODg1MjEgZjJlZGFmNjJkODIzZmI2NmZlNzlmNGRiZjFiZmY3MzgzMjIxZTA4MCBweTNrCis4ODUyMiA3ZjhkYTEwYmZjZWZjZjM3ZWRjYTc5YThiYWRlNzhmYmQyMWIyY2QwIHB5M2sKKzg4NTIzIDE2NWQwMTVhMmJhZjA3ZjMzN2QwZjU2MmQzMmRjNWYyYmJmMGM2MjggcmVsZWFzZTMyLW1haW50Cis4ODUyNCAwM2Y3YWZiYzE2MDg0OGQ0ZTE3YjY2MGQzZGVmNTdkNzI5NGZiZDE5IHB5M2sKKzg4NTI1IGM4YzU3ZTc2NjQyODUzMWRmNjhiYWExY2Y1N2ZiNzY2YmY3MDkyNmQgcHkzaworODg1MjYgNzQ4NjFhNDJhNmU2YTI4OWMzYWI1Yjc3MTliZjBjZjRmMGI3NTAyMyBweTNrCis4ODUyNyBiYTFhZWIzNjIxODIxZjIyMjEyOTE0ZjU1ZDg3MThkNjU0YzUxZjZhIHJlbGVhc2UzMi1tYWludAorODg1MjggMDM1ZWZkYWY4MjI5Yzc5YzQyMGQxMDQ2MWIwNjhkZTRjNzY0Y2ZlMCBweTNrCis4ODUyOSAyMzI1ZmUzNmFhMzQ1NjYzZTk0ZWZkZjI0NjJkMDYxN2ZmZTRmNzY5IHB5M2sKKzg4NTMwIDVhOWQ5MGQ0Zjg5ZWI4MGYxMzQzYmNmMzg1Yjc3ZTg1MTVmZWE4NmQgcmVsZWFzZTMyLW1haW50Cis4ODUzMSBhYmExNmE1NjgzZDM2ODVlZWUxZDYxYWE3NDU2M2NiNmMxODBlY2FiIHB5M2sKKzg4NTMyIDMyMzg2ZmE2N2ExMmE3NjkxNzMzN2EzYzNiODM4NDI4NjdiMTk5ZDMgcmVsZWFzZTMyLW1haW50Cis4ODUzMyBjZjkxNzZmMmE2MjA1YWRjNGYzNDA0YjZlOTI2NmQyYTJjN2NhYjg1IHJlbGVhc2UzMi1tYWludAorODg1MzQgYTFjZmU4MTVkOTdhYWQwYWY0OTJlZWY1ZThlMjI5NjU5YzUxMzIyNyBweTNrCis4ODUzNSA1YTI5OGFmYWNiOTU1NDc1N2I3ZDEyMWFlOTBjMTY3Y2ZmZTI1NTcyIHB5M2sKKzg4NTM3IGRlNWMzYTM5YWRlNzI0ZGI0MjY1YjI4ZjBmNjAwZmMzNzg1YmE2Y2MgcmVsZWFzZTI3LW1haW50Cis4ODUzOCBlOGRmZTYwMmVmYTFjZGVhOThmYzVjZTFhODhhNTUwZDZlNGRkN2E3IHJlbGVhc2UzMi1tYWludAorODg1MzkgOTg2MWRjMTE4MzIyMmZlMGJiNTliZmFlZWIxMzEzMDkxMzBiMmNkZiBweTNrCis4ODU0MCA4YmE3NjUzMjgwMzA2YTQzZjA5Mjg2ZTY5MzliZWJiZmEyY2ZjNGIwIHB5M2sKKzg4NTQxIDczMjZmMDY0ZDgzYWZlYTUyMGNhNjYzYzhmMzNmYmFlZGM5YTk4NTQgcHkzaworODg1NDIgNjA5ZjJiODIzMzUwZTQyYzI2NjRlYmIwMThjYzg1MmE2ODc2OTQyMCBweTNrCis4ODU0MyBiZjg5MDZjZTEwNGI1MDNkYzhiMjg1YjZiMzQxZDAzY2QzNDNmMWUxIHJlbGVhc2UzMi1tYWludAorODg1NDUgZmQ2ZWM1ZTA4NGEyYzdlNmUxZDM1ZTYxNGZkNzY0NzQ5MDA4NzZkYiByZWxlYXNlMzItbWFpbnQKKzg4NTQ2IGRiN2VmMzRlZWRhZjViZWI5Y2Q5MjVhNjNhMGM0YzE3MzI0Nzg0YTEgcHkzaworODg1NDcgM2U0ZDk1OWY4ZTEyZWRmZWUyZWE1ZjVkMDcxN2Q4ZWU1MzMyOGQ5MyBweTNrCis4ODU0OCBmZWFiMjMwYmQwZGRlNDBhNTk5ZjA0M2U3Y2M1MmFkZjlhNmM5Zjc0IHJlbGVhc2UzMi1tYWludAorODg1NDkgY2MzYzNhNDM4Mzk4ZGRhZjA5YTcyZmU0YjQxYzY3OTc2MTk1ODZjYSByZWxlYXNlMzItbWFpbnQKKzg4NTUwIDU3MGM1OTM5YmMwM2U3MjI4YjkyMDQwNTdmNmY5OGVhN2Y2M2M1NDcgcmVsZWFzZTI3LW1haW50Cis4ODU1MSBjYmNiMjZhOWQyYmRkZDkyMDRjYjk0MGYxZjYyZmIzYzg0NmNhMzE1IHB5M2sKKzg4NTUyIDQ1NzM5Y2E2M2ViMzQ1YjAwYTFhYjEwMTA5ODkyN2UzMzRlMmY2NDUgcmVsZWFzZTMyLW1haW50Cis4ODU1MyAyMzZjNGRjNmYwZTdkN2JiODI2NDdjNmQ4MzNlY2ViZDBlYmE0YThlIHB5M2sKKzg4NTU0IGM4YzBlNDI5NDRhMTY5N2E2OTljM2FkMmE5ODMwOGFkMDExMGQ2NmQgcHkzaworODg1NTUgMzY0ZTRjMTA2Mjk3ZWFmYWU2ZjI0YWJiOWM0MTcyNWViYzYzZDYxYiByZWxlYXNlMzItbWFpbnQKKzg4NTU2IGIyNDVkNjliNGYwYWQ0ZTdhZjg2OTBhM2Y1ZDk3NWYyZjczZTZjZTEgcmVsZWFzZTMxLW1haW50Cis4ODU1NyBjNzk2NjVmYjI2N2FhMzc0NzBjZDIzNjVkMTcyZDljN2RlMDJkNjIyIHJlbGVhc2UzMS1tYWludAorODg1NTggNjE0YThjN2I5NTI1YWQwNjI4YTJkNjRiYTFlMDBkNzkwOTUyNGQxNiBweTNrCis4ODU1OSA5MjYyOWNjYWFlNzY0NmU1NGIyYzUwMzI3ZGFkY2RjZTVmNDZkOWI4IHJlbGVhc2UzMS1tYWludAorODg1NjAgNTg1ZGIwNjgwNjllZDYxNmVlZDQ0ZjI1MzM3NTVlNDkxYzIxMmM1YSByZWxlYXNlMzEtbWFpbnQKKzg4NTYxIGVmZjJlOGYxNWJlZDA4ZjI2NWEwYWQzMGVlM2FmNTJiOGE4NTU2MDEgcmVsZWFzZTMxLW1haW50Cis4ODU2MiA1YjM1YmJiZTMyZTcwYWI2NzBkYWI0MTkzN2I0OTQzNjNiODUyMmZmIHJlbGVhc2UzMS1tYWludAorODg1NjMgZTNjNjg0MTVhMzJkMTAwYzZkZTMyY2ZiOTI3MzQ5N2U0NDZiZmViMCByZWxlYXNlMzEtbWFpbnQKKzg4NTY0IGQzNTY2NDk1MDRmOWY0NzZhNzFlNGIxYjU5MjJhZTMyNWJlODI0ZWEgcmVsZWFzZTI3LW1haW50Cis4ODU2NSA4ZWVlZTlkNmQzMmI5MTMxZmMyMWRkNzlkYjUxOGU2MTZkZmVkYWMzIHJlbGVhc2UyNy1tYWludAorODg1NjYgYzdjNzZjZmJkYjRlMDE5ZTc5ZjY2MmUzNmIxNjE3YzU1NTExOTM1MyByZWxlYXNlMjctbWFpbnQKKzg4NTY3IDNlNWYyZTJhODRhYmU0ZThkMTM0ZGM3YzY1NGI3MmRhZDllZDY2NmQgcHkzaworODg1NjggMjI2ZjAwMWE3MDFmZjM0YWZiNWYwZTg4ZWM1NTg1OGE4NTVjOWE4MCByZWxlYXNlMjctbWFpbnQKKzg4NTY5IDM0YWUzMTYzMThlZjQ1NGY5YzIzOTNkMmUzYjdkNjAwYWY3ZjAzOTMgcmVsZWFzZTI3LW1haW50Cis4ODU3MCA3MjBhMmY0NGNiZjJjY2EwZjc0YzNkM2U1OWI1NjgzY2U5ZjUwMmY0IHJlbGVhc2UyNy1tYWludAorODg1NzEgNzhkYjNkMGM2ZGI3MmExYjZkMTlmMDk4MTZiNDY2OWIyOGU4ZDE2ZCByZWxlYXNlMjctbWFpbnQKKzg4NTcyIGIzNTZiODcxYmY2N2QyYjUwZmUzMGJlODdkNTA2Mjg0M2FkZTZhYjUgcmVsZWFzZTI3LW1haW50Cis4ODU3MyAwMWM5NmIzNzU4NmRkNjdjNDlkZmU3ZDZjODFhOWIxMTQyMzNmZTM1IHJlbGVhc2UzMS1tYWludAorODg1NzQgMDM1MjY3ODEyODJhZTI1OGJiNmQ0ZDE5NWRkNzhmNTM3YmVjZWI0MyBweTNrCis4ODU3NSA3NDBhYjkyN2JmODk4YmRjY2M2ZjE0ZTk1MGUzYTE0ZGQ3OGI5M2M0IHB5M2sKKzg4NTc2IGIxN2EwNjQ5MjliMDRjOGY3NmEzZTY5MmMwMmEwYjlhODViMGYxYTMgcHkzaworODg1NzcgOWZmN2JjMzYxMDYwNDMzOGRlZmFkMWFhMmUzYTNiZjRhN2YwNzhlZiBweTNrCis4ODU3OCBlYjVlZDNkYTY4NjIzNGEwMTU4YjRlMWIyNDVmZDdlYmVjOWViNDk4IHB5M2sKKzg4NTc5IDE3NjJkNzllYWI2NWY1ZmMzYjYyOTdiNTU5MzQ3NzQyOTNkZTBiNzEgcHkzaworODg1ODAgN2ZkODBjNjFkZGFhM2Y4MGViMjRhZTRmMjYxMzJmYmEwYWY3OGFiYiBweTNrCis4ODU4MSBkM2Y5M2ExMmQ2YTkxNWVlNDIzMDEzMDAwOTZlNzFiYTc5NjRkZjBiIHB5M2sKKzg4NTgyIDYzNmIyYjU1MjA3M2QxZjBiODJiZWJhMGEwZWQ0NTdlYjQ3MjQ2ZTggcmVsZWFzZTMyLW1haW50Cis4ODU4MyBmZDQwMTEwZDVkODczN2Y4YWQ3YTIyNDkyMmM5MjA5ZDM0ZjY3YTdiIHJlbGVhc2UyNy1tYWludAorODg1ODQgYmQyNTJjMTJkYTFkODgzYzQxZDNiYjYwYTI4ZjFhMWEzZDM4NjNhYSBweTNrCis4ODU4NSBmNGIxYTY1Nzk1NDE3YjRiYmU4ZWQ4OTQ3YjllY2IxODJkMmFkYTNkIHB5M2sKKzg4NTg2IGJlNmMzOGQxODE3YjMwMjBiNzYwNDAwYWEyZjVhZWY3MTdhOWM5MjMgcHkzaworODg1ODcgMzZjMWI2OGIwNTg2NWZiOWZhMTg5YjViOWUwZDFmODgwODhhMzJiZCBweTNrCis4ODU4OCAxOWQwN2ZhNDIwMDRiMTI0MWVmNjkzMWE4YjIxZmY4MDNiY2ZmZjA5IHB5M2sKKzg4NTg5IDg0MmZlZTZhZTBlNTAzMDg5MGVkZjVkNzA5M2JlNWI4OWE1Mzg2ZGQgcHkzaworODg2MDIgN2FiNTY5YjE4Yzk4Zjg4NGFiYTVlNWNiNTI3NTFmZjYzZmE5YWE3NCBweTNrCis4ODYwMyA4YzViODExNDg0YmMyZDJlZTEzNDZhM2RhNTQ2NTJjZTgzNDkyMGUyIHB5M2sKKzg4NjA0IDEyY2E0NzdjNDM3OGMxNzU4ZDA5OTk1MTZlMDliNDQ5MWNmMGFkNzMgcHkzaworODg2MDUgYjdlODVmZDBkMWM5MmRiOWZmOWIyZDA3ZTdlYTdmZjBmYmI2MTk4NSByZWxlYXNlMzItbWFpbnQKKzg4NjA2IDE4NjM2Yjg3MWQwMTc0MjI5OWNmYTgwZDM5ODU5ZmRjMWZiZThkNzYgcmVsZWFzZTI3LW1haW50Cis4ODYwNyA0YjYwNTIzMjBlOTgzYWQ3OThkNDFkMzBjNDk2ZmQ5YzE3MjEyNDA3IHB5M2sKKzg4NjA4IGEwMzgzNDI4NzJhMzRjNTRkNzA5M2E3NDY4MzhjMWVhZmE2NDFjMTcgcHkzaworODg2MDkgYTllYjAwODdiNjAyMTQzYmQ2NTlmYjFkYTk1YTA3N2YyNDM4MGEzZSBweTNrCis4ODYxMCA3ODU5MzNiYTQ4YWM2YjA0NzYxZTUwZjQyMDliYzYwODAxNDZlNGUyIHB5M2sKKzg4NjExIDY2ZWQ3MWE2ZTI5YThmMWJmMzliYmEzZjY4YjI2ZjBmYTYyMDg0NGUgcmVsZWFzZTMyLW1haW50Cis4ODYxMiA2NzViNDhjNGM4OGExYmI3MWU4YmFiNTFlZGQwNzM4YzRmMWQxNjE3IHJlbGVhc2UyNy1tYWludAorODg2MTMgNzA2YmU2ZWU5NjY4YjQ2NDQwNWJkYjY1YjZkODM1OTcxZmQ1YTkzMyBweTNrCis4ODYxNCA2ZjEyYWFkZmZjOWZiOTFkM2UxMzlkYWVhNjU2NTcyYjgzYjczZGEyIHJlbGVhc2UzMi1tYWludAorODg2MTUgOGIzZWY3MTliY2VkMmRhYThmODQwYjAxOTE0MmM2YjNlNTA0OWMyNiByZWxlYXNlMzEtbWFpbnQKKzg4NjE2IGRiNDZlZGEyMGZkMDI5ZmI3MDEyMDk0YzRhNDA1YjQxMzE3YzhlNGMgcHkzaworODg2MTcgYTc0OTI0ZWVhODYxYTlkZTk2MWY1N2QzZWU3ZDA2NjNmMjFkOTk0YiByZWxlYXNlMjctbWFpbnQKKzg4NjE4IGY3MWFjYzRiMjM0MTAyYjY3NTc5YmVkMmMxMzdlMGYwMmU2N2U2NWEgcHkzaworODg2MTkgODc0MjVkYzIzZjI2ZTVkZWYxY2UyYzZhMDJlM2IwMzNlZDMwMjJmMiBweTNrCis4ODYyMCBkMjE5MDA1MTE2NzVjZWE0OWE5MGM3YWNiYjAyYTFlZTVlZmM1ZDMwIHB5M2sKKzg4NjIxIDI3OTYxZGNhODMzMzAyYzFmMjE1ZjBjOTY1N2YwODJlOTI5YmMxMzQgcHkzaworODg2MjIgMTdkMWM2Y2VkZTdlZDNiY2NlMjUyMTUzYWVkYWE4MWIyODRkMDZjOCBweTNrCis4ODYyMyA1OWY5ZWQxMmYxN2E0ZWZlZjQzMTgzMDQ1ODVkMTYwMmVhYWQxY2ZmIHJlbGVhc2UzMi1tYWludAorODg2MjQgM2QzYmE0NTJmOGFkZWM1MzNjZDMyODYxYmM3Zjc5N2EzMzE4MjliMyBweTNrCis4ODYyNSBhYWFmN2I1OGUyMDkwYzJlYjY1MDg2Y2VkMzQzNGIwYTZjN2MwMDkzIHB5M2sKKzg4NjI2IDI2N2RiZDZjOThjMzE5MzAxZTk1YzcwMWNiYzFhODcwNmVhMjQ1MjMgcHkzaworODg2MjcgNTNhNDVmYjcwNzg2ZmEzZGNlZDEzMWQ3NmY5MzdhNGQ0ZTY4ZmQ0NSBweTNrCis4ODYyOCA3M2M1YWJiNDEyOTZkNjk5NzRmNmIyMzFiMTM5OWQwMmFiMGFkZThlIHB5M2sKKzg4NjI5IDJhMTlmMDI1Yjk3NGFhNWJkZTMzM2Q4YzE4YjA1MGU0OWZjMWExYzggcHkzaworODg2MzAgYTg2N2YwMmQ4ZjhkN2Y2YjJkOWMwZWU1MTcxZWUzZDlkMDdhNDE4MSBweTNrCis4ODYzMSA2NTRjOWYxM2NmZTllMTA3MmY0ZmJiMTIwYTU2ZDU1YzAyYzgzY2UxIHB5M2sKKzg4NjMyIGY0NTU1ZDM0ZjM0MGEzMDliMTAyYjAzMTE2Mzc4NjdmYjFhMDQ5YmMgcHkzaworODg2MzMgYjMyMjZhZDlhMzk4ZGY5ZGZiNmY1OTA3MjI3M2IwY2YxNzliYWU2YSBweTNrCis4ODYzNCBiYThlMzAyYjYyNmMwMDhkMWQzMWYzOWY4OTZlZWM3YWNmYTgxNzMyIHJlbGVhc2UzMi1tYWludAorODg2MzUgYzZkMzAzYjk5YzgyYWFmMjhhOGNmMTgxZjc5MmUyYTQ0ZjQxNmM0YiBwZXAtMzE1MQorODg2MzYgNGRkOTNkMGY1ZDFlMDc4ZGU3MzE0NzliMjMyOTJlYTMwNTlmNzE0ZiBweTNrCis4ODYzNyA2ODA4ZDVkYmExZWMxM2YwZmE5ODhiYTkyNWU4MWRmZDVkY2I0NjRkIHBlcC0zMTUxCis4ODYzOCA5ZWIyMDJlNjMyMGU0YWRjOTdlZGM5YzI4OWY2NzE5M2YwNWRhYjJkIGVtcHR5Cis4ODYzOSA0MDkyMjk2YTNkOGRhNWIxZjFhMDYyZmFjMjM0YTE0YWI3YTg1MWI1IHB5M2sKKzg4NjQwIDdmYTg2YTkxOTU2NzJjOGQ4ODg0ZWI3NjA0MmRjZTAzMjI1YjM0YTEgcHkzaworODg2NDEgNjBhNWI0YjIzNTVkZTVmNzM2NjY1N2M4M2ZjYjVkMjdmMTkxNGMyMyByZWxlYXNlMzEtbWFpbnQKKzg4NjQyIDBiNTk2ZmY2ZDQ2OTc1N2UyNzMyMDE3MGMzZjY4ZTJhMWE4OWYxZWUgcmVsZWFzZTI3LW1haW50Cis4ODY0MyA3M2RhZjkxYzYxNWM1M2NjNzhiNWQ0OWM4NjQwYzVhYWVjM2JiYjllIHB5M2sKKzg4NjQ0IDc2NDFmZTA4OWRhMWRhZDdjYWYzZjA5MzI4ZGQ0YTkwMGQ2NzNjM2EgcmVsZWFzZTMyLW1haW50Cis4ODY0NCA5MDdkNWIyZWQ1YTE5ZjVlMjNkNjE1ZDJiMjE0YmUyMWFhMGZiMjhiIHB5M2sKKzg4NjQ1IDU3MTdkZDIxNjZlZTA1ODQ2MjUyZmVkZWY3ZDhkNDk4NTQ1MjMzNDkgcmVsZWFzZTMyLW1haW50Cis4ODY0NSA3ZWVhMmE1NzRkZmM4NGM3MDkxODA5NDUzODhjOGRkZDYzM2JiNWMxIHB5M2sKKzg4NjQ2IDc2NGI5OWVlOGM4MTA5ZjQwY2Y4ZjAyNjNkMTYyMzZiZGJjZjFmNWUgcmVsZWFzZTMyLW1haW50Cis4ODY0NiBjODZmOTAzNDBjZDdkMjI3MmQ2N2ViMWM5MGY0MTVlM2VhYWM3NTNhIHB5M2sKKzg4NjQ3IDA3YWZmYTAzMzhiYWQyOTQxMDUxYTNlYzg2OWNlYjRlZjRmZjIwZTkgcHkzaworODg2NDggMzFkNGIwNGNiNWIwNTY3ZDJlZDRhZjc3M2QxODhmODQ1ZmNhZWRlMyByZWxlYXNlMzEtbWFpbnQKKzg4NjQ5IDk3ZDA1MGMzMTcyZjllMmVkYzgyYjI5MjI4ZGJkNjg5MWZjZDJiYTAgcmVsZWFzZTI3LW1haW50Cis4ODY1MCAyNzZkZTliMjkzMDMwYzEwNGRlYjdjNjc1ZTNhZjY5OTY5YTk4NzQyIHB5M2sKKzg4NjUxIDM3NGYwYjIyZTRhNGM1YjFiZTQwZDA2MWQ1Zjg0NjliYTFkNTRiMmQgcmVsZWFzZTMyLW1haW50Cis4ODY1MiAwOTEyOWFhZmI5NTM2YmRjZmJmZDdhNDRjM2JjMmUxZDAyOTcyZTM1IHB5M2sKKzg4NjUzIGZlZDJjNmQ0OWYxOTgwMDZlNTRiMzc5MWE0OTVmN2JiYWNiZTA4OWEgcHkzaworODg2NTQgOTc5ZGE4ZjEzOWRkM2Q2ZTIxOWYwYmFiZmY0NzZmOTVjY2U2YTUyMSByZWxlYXNlMzItbWFpbnQKKzg4NjU0IDZhOGZhMmU5YjEwNTVjYWQ3Y2MyMTgzOTkwM2Y5ZjM5ODNjMzU3ODAgcHkzaworODg2NTUgY2QxNDc4Mjg4NmNhYTI4NTAzYmIzNTZmNWIzYzM3YTQxZTIxMWI0MSByZWxlYXNlMzItbWFpbnQKKzg4NjU2IDcyMmFlZWI1N2VhYmJkZmY5YmY1MWI0Zjg0M2VhMWZjNDBmZWQwMTkgcHkzaworODg2NTggMTAyNTZiZDY4Nzg3OTE1ZjhmM2ZmZDU5NDYxMWQ2NzAwNjkwMjdlMiBweTNrCis4ODY1OSA1OWY3NGFhZDk3MDMxZjE5ZGVhZGNlOGY4NjkwNDVhZGZkOTg0NzkwIHJlbGVhc2UzMi1tYWludAorODg2NjAgYzc3YjI1YWRmZWMyM2M0MTQxYTUxY2RlMWE4NTkzOTVkOTMxMGMxNSBweTNrCis4ODY2MiBhNTgxMjljZGQzNjU3MzI0YTJlZjA4ODRkNDlmZGM0ZGJmYjRjNTE2IHJlbGVhc2UyNy1tYWludAorODg2NjMgODY4N2ExYjczNTE2Y2M1MjAzMWM3NzA5ODJkOTJkOTJmYmU0ZGJkYyBweTNrCis4ODY2NCAxOTA5YzEyZWYwNmM3YzFjMmUyMjQyNjI5YzNiODJkMWQ3NzQ0ODc1IHB5M2sKKzg4NjY1IDZjZWMwOTEwMjBhMmM5OTY5YWM4YWEyOTdkYWYyZjM2ZGVkNDlmZDQgcmVsZWFzZTMyLW1haW50Cis4ODY2NiA3NDJkNzNhOTk0MjU3NGI1MTMwYzk0ZGUxZjNhMjg2YzFlMjI3MGNiIHJlbGVhc2UyNy1tYWludAorODg2NjggNjUwZDE0ODIwYmQ4YzY2ZGY0YTBiYWE1ZDFkZGFlM2Q0MDg3NWIwZiBweTNrCis4ODY2OSBhOTU2NTkyNWJhNzA2MWQ2MzcxODQwNjRkNzhmYjUyZjhkYzgyYjIzIHJlbGVhc2UyNy1tYWludAorODg2NzAgYTViNWZkYTY2ODljNjUzZDg1ZDZmNDdlN2UwYTQ2ZDRlMjFkMWIzZCByZWxlYXNlMzItbWFpbnQKKzg4NjcxIDJmMDdkMzc1Y2U2ZWVjYWI0NzFlNWQ4ZWJiODg5MTA2ZjE2OWRhMTAgcHkzaworODg2NzIgNDU2NTBlYjM0Njg1MTE3YTdiODZmNzU2ZmIxMjZkY2IyZjNmZDUxMSByZWxlYXNlMzItbWFpbnQKKzg4NjczIDIxNDM2ZTQ4MTYxZmMzMTcwMjAxMDAxY2NhYmE3YTU1YjM5ZGI1NzUgcmVsZWFzZTI3LW1haW50Cis4ODY3NCBkYzg2MjZlMDg1NzdkNmIxZmQxMmU0MGZkNTljOWU1MjMwMDhkNmEzIHJlbGVhc2UyNy1tYWludAorODg2NzUgNzI4ZmJjMjYzNTljMTA3ZmY3NTVjZTViYjZiOWIzYjA4MGYxYmVmMSBwZXAtMzE1MQorODg2NzkgY2JkMDYwODEwM2Y2MTA2ZWZhMWQ2NTIzZDllMGVhYjk5NGRjYTE0ZiBweTNrCis4ODY4MCBiN2Q2MmJjMDE5OTg4OTIxMmJkY2Q0MGQ1ZDA0YTNjYTk4OGQzNDVmIHB5M2sKKzg4NjgyIDJkZGNhNTVlMDk4ZGRhMmIxYTY4NTZhMzU5ZTE5Zjc4ZDk4NWM2ODggcHkzaworODg2ODMgYmJkZGFjNWMxOGQzOTgwZTc2NThhMDliZDRmZTg1NDE3OThjMzUzYyBweTNrCis4ODY4NCA3YzZiMjFkYjAwZTNlM2YxNTVkMmI4YTkxZDEyY2QyODQ4MjA4NzRlIHB5M2sKKzg4Njg1IGEyZDYxMTE3YzJkMjY0OWY5MDkwZjY4OWFhODVjNTU3NWE2ZDczMzkgcHkzaworODg2ODYgMTBiODM4ZjZlNWExYTk0YmE3M2ExZDNjNjVjOTUwY2RkOGQ1ZGIzMyBweTNrCis4ODY4NyBmZGYzMmZhMGY0NDBlNzFlNTBkMGZmYzM1MjI5ZDZhMTRjN2QyYTQyIHJlbGVhc2UzMi1tYWludAorODg2ODggYjI5NGZmNzU3MzM2NWNkZGNjYThhMjdjMTY0OWZkMThkMTk5NDQ4YyBwZXAtMzgyCis4ODY4OSBmOGE3N2ZkNjc1ZjVhM2NlMDUxZWU0MDRjN2I1NmRiMWM3MmViZjFkIHJlbGVhc2UzMS1tYWludAorODg2OTAgNDQ3MzRkMzc1MzkzMTU0OGFjNGE4ZWQ5MjgyYjAzNDliOGI2MDE1MiByZWxlYXNlMzEtbWFpbnQKKzg4NjkxIDI2MTFjYmQ3NWM0Zjk3MWNmNmZiZjZiMzM3Mjc5OTY2N2I1OTUwMzAgcHkzaworODg2OTIgYTM2NjA5NmI5NWFkMmE2YjVmOGE4NmI0YTkwOGQyMjg3MWI4Y2RjOSByZWxlYXNlMzItbWFpbnQKKzg4NjkzIDE3OTczMDBmODdiOTk4NjViNjY1ODFjZWRhYTg0NzZkMjQ1ODc1MWYgcmVsZWFzZTI3LW1haW50Cis4ODY5NCA5YWNjOTAyMWYxMWUzMDIxODM2Yzg5Y2U4MjU4M2JiZjhlZjk3YTkzIHBlcC0zODIKKzg4Njk2IDhlMDdmYzk0ODY4MDY4NDkwNWYyNmVjYTRlNjJjYjhmYmRhZWQ2NDggcHkzaworODg2OTcgOWI3MjU0NjcwY2U5ZGEwMDI3NTNjYTAwYzI0OGVhYmY1ZGRmM2ZhZSBweTNrCis4ODY5OCA3MmYzMGY4ZWYzMzFlOWI1ZjUxNDBlOGYzMWVhN2RjYmViOTAwMGEyIHJlbGVhc2UzMi1tYWludAorODg2OTkgYjgyYzNlNTkzZGI2NTU1ZmI4MTY1ODE2YmM3YTI5Y2ExYjIyN2M0NiBweTNrCis4ODcwMCAxZDE5ODUxOGNiODc1YzM5ZTUzYWVlM2FmN2Q1NGE2NmZjMTJkM2YzIHB5M2sKKzg4NzAxIDVkYzM0OTNlMDdhOWYyYTgzMGU3OWFiMzA4MWMwNjQ5MDMwYzNkMTYgcmVsZWFzZTMyLW1haW50Cis4ODcwMiBkYTk1NDQwZDkyYjM2YjAwODIxODcxMTE1ZDMzYjBjNTEwOGMxMWYzIHB5M2sKKzg4NzAzIDczYTQ5OWYwZWFmMWIwYWVmMjg0NGE2MWExOWMxMzQwOTk3ZjhkN2MgcHkzaworODg3MDQgODdkZTAxN2RhNGJmN2NiM2Q2MDI3NjUxN2QyMTgzMGIzYWU5ZTBkNyBweTNrCis4ODcwNSA3MjkwYjhmM2M5ZmI5OTg0NjY5ZDA4MDdlOTg0YmVjNzEzNTEzZjAzIHB5M2sKKzg4NzA2IDMzZTc2OGQyM2IxNmE1NzEwZTRmNTIyYTYyMDhlOTJiY2MyZDNjZTkgcHkzaworODg3MDcgNmYxMTdkMjdhZDFjNWU2MzIzOWRkNTJjMzI1NjJkODI0MjVhZjg2NyBweTNrCis4ODcwOCBjN2E5MzYzNjIyODE5ZjNlYWI3NzJjNzgwNDM0YjIzNDcxZmUwYjI1IHB5M2sKKzg4NzA5IDM3OGVlMzI4YjYwZTBiMTYzNmFhMjQ3NTdiZWExYTE1ZjkyODFhZTQgcHkzaworODg3MTAgYTFkYmU1M2YzNzk4NDVmZjYzNjcwOWIwOGFiNDU2MzM3Yzg2NWM5MyBweTNrCis4ODcxMSA0ZGFjNDc2OWVhMjQ4YWFjYzgzMDc3ZTU3YTY0ZDJjMTM0MWMyM2FhIHB5M2sKKzg4NzEyIDZiMTJkMmI2OGYyNTMzM2RkNWFmZmU2ZTNlOGY0NmI1NWNkNDI0MjQgcHkzaworODg3MTcgMGRjNmE5MGRlZTIxOTEyMmFiZjU2NmFjODU4YWVhNjVjNDMwMDgyZiBweTNrCis4ODcxOCA2YzhlYzVmOGI5ZTUxYmNlMTU0ZTExOGVmYTkxZjcxYjAwOTZlYmQwIHJlbGVhc2UzMi1tYWludAorODg3MTkgYTRlN2ZiZWQ3NTNjNzMxYTU1MjY3Y2U3MTAwOWE4MGQ4MjcwNGQ0YSBweTNrCis4ODcyMCA3MzhmZWVjOWNlZDAxZmMzMTM4OTJkYjNiMTA1ODlmYjYwMjViODdhIHB5M2sKKzg4NzIxIDIwYTVhMDhjM2I2Y2E5ZDhhNDA4Njk3Yjk1NzY3MGQ1ZTNkNjI5YzAgcHkzaworODg3MjIgMjA4YTUyOTBmZDM4ZWM4YzRmZTEzOGU3OWU4MjNkMDE4NzQzZWNjNiBweTNrCis4ODcyMyBhMTcyNzA2M2E3ZGZlYjBkMmE2M2E2YjFhMjlmNDZmZWMzMmIwNTgyIHJlbGVhc2UzMi1tYWludAorODg3MjQgZjUzOThmYjgxNDI4OWIyNGE4YjA1ZmFlZDM0NGY3ZjkwYjc3NTZkNyBweTNrCis4ODcyNSAyZmNlOWM3NDJjZGVhYjRkZWQxMTE1MmVjYmRkOTA2N2UxMGVmMGUyIHJlbGVhc2UzMS1tYWludAorODg3MjYgZGRjMGJiNmE3YjdjNzJjN2FiYjdiMWM0ODBkZWE4ZmQ5MThkYjljZSBweTNrCis4ODcyNyA1OGNiMGZlMDZkYWEzNjUxOTUzNTUxYmU1YjExYjE0NTAxNTQ3YjAwIHJlbGVhc2UzMi1tYWludAorODg3MjggOTY1YWI5OTExZmNkMGVmMTRhZmUwZGE5ZjgzNTU1YzY4OTc4ZTdkMCByZWxlYXNlMjctbWFpbnQKKzg4NzI5IGYyMDQ2ZGZjYTczMTEzNjcyZDU5YjUwNDZmZjg2YjBiMDNiNDFkMDkgcHkzaworODg3MzAgYjUyODFmNWZhZGU0ZGQ1NjdmMWYxZDU2ZmFjOWNlN2Q1N2ViOWY5OSBweTNrCis4ODczMSBiYzllZmJiZTYzY2YzZWIzYTNiN2MxYjkyNDZjNTQ0ZjZmYTVmZWIyIHJlbGVhc2UzMi1tYWludAorODg3MzIgYTgzODk0NjhlNjUxMzdjNTA2NWY3MDJjODQ2YjljMGU1NjFlNTk3MiByZWxlYXNlMjctbWFpbnQKKzg4NzMzIDA4ODA0YWVhMDhmMWM0OGExNmM4NDlkYTEyNzA3ZTUxYTg3ZDg2ZDkgcHkzaworODg3MzQgMmY1Zjc1NWIyNjg3OGNiMGZiMzVjMGM1OTA3M2FhZjE4ZWJlMzY4MyBweTNrCis4ODczNSBkMmI1YmRlNWMxZmE0Yzk0YTc0N2M2NzAxNjNkNmFjNzAxZjk2MDk2IHB5M2sKKzg4NzM5IDFhMDViYzM2YTMzNDBhNGU2YjU5NjE1Mzg1NDNmMTBlOWJmOGNmN2EgcmVsZWFzZTMyLW1haW50Cis4ODc0MCAzZjcwYzU0ZDg2ZDg5YWRjZjdhNzQ1MjAyNTk2N2E4ZjcwYmUyOWNmIHB5M2sKKzg4NzQxIGUyZGZjOGYyNGQzZjZlYTgzODYzZDJlMzJjMGMzMDNlMDI2YWFhZmQgcmVsZWFzZTI3LW1haW50Cis4ODc0MiA5M2ZkMTY2NzA3NzRhMjc3YjkxNzM5MDQyNmI4NGMyOGFiNzk2YzdhIHB5M2sKKzg4NzQ0IGU3NDIwOWI5YjJmNTI4OGY5MzdkNmUzNDExYTJjZjEwYTg2NDZiMDQgcHkzaworODg3NDUgZTdiNmFkYmE1NzFhYTkzYTQ0MTQ1ZjBlYmY3YjViYmEyZTM4NTkzMSBweTNrCis4ODc0NiA1MGIzOGU0YjAyMzEyNjdiOTE3NTVjNGQxYTAwNzIwZjM4MTk1MjY4IHB5M2sKKzg4NzQ3IDBlNzE4MGU0YzNjZGI5NDg0MThiYzE3YjU3NGQxZmY2NTE0MjlmNGQgcHkzaworODg3NTIgODVhMzRhMzE2OTY5Mjc4NTkzZDQ1NGE4NmVmNDNhMmY3NmMyZDc2YyBweTNrLWNkZWNpbWFsCmRpZmYgLS1naXQgYS9NaXNjL3ZhbGdyaW5kLXB5dGhvbi5zdXBwIGIvTWlzYy92YWxncmluZC1weXRob24uc3VwcAppbmRleCBhNjYzMDViLi45NWUxYjllIDEwMDY0NAotLS0gYS9NaXNjL3ZhbGdyaW5kLXB5dGhvbi5zdXBwCisrKyBiL01pc2MvdmFsZ3JpbmQtcHl0aG9uLnN1cHAKQEAgLTEzNyw2ICsxMzcsMTggQEAKICMjI30KICMjIwogIyMjeworIyMjICAgQUREUkVTU19JTl9SQU5HRS9Vc2Ugb2YgdW5pbml0aWFsaXNlZCB2YWx1ZSBvZiBzaXplIDgKKyMjIyAgIE1lbWNoZWNrOkFkZHI4CisjIyMgICBmdW46UHlPYmplY3RfRnJlZQorIyMjfQorIyMjCisjIyN7CisjIyMgICBBRERSRVNTX0lOX1JBTkdFL1VzZSBvZiB1bmluaXRpYWxpc2VkIHZhbHVlIG9mIHNpemUgOAorIyMjICAgTWVtY2hlY2s6VmFsdWU4CisjIyMgICBmdW46UHlPYmplY3RfRnJlZQorIyMjfQorIyMjCisjIyN7CiAjIyMgICBBRERSRVNTX0lOX1JBTkdFL0NvbmRpdGlvbmFsIGp1bXAgb3IgbW92ZSBkZXBlbmRzIG9uIHVuaW5pdGlhbGlzZWQgdmFsdWUKICMjIyAgIE1lbWNoZWNrOkNvbmQKICMjIyAgIGZ1bjpQeU9iamVjdF9GcmVlCkBAIC0xNTUsNiArMTY3LDE4IEBACiAjIyN9CiAjIyMKICMjI3sKKyMjIyAgIEFERFJFU1NfSU5fUkFOR0UvVXNlIG9mIHVuaW5pdGlhbGlzZWQgdmFsdWUgb2Ygc2l6ZSA4CisjIyMgICBNZW1jaGVjazpBZGRyOAorIyMjICAgZnVuOlB5T2JqZWN0X1JlYWxsb2MKKyMjI30KKyMjIworIyMjeworIyMjICAgQUREUkVTU19JTl9SQU5HRS9Vc2Ugb2YgdW5pbml0aWFsaXNlZCB2YWx1ZSBvZiBzaXplIDgKKyMjIyAgIE1lbWNoZWNrOlZhbHVlOAorIyMjICAgZnVuOlB5T2JqZWN0X1JlYWxsb2MKKyMjI30KKyMjIworIyMjewogIyMjICAgQUREUkVTU19JTl9SQU5HRS9Db25kaXRpb25hbCBqdW1wIG9yIG1vdmUgZGVwZW5kcyBvbiB1bmluaXRpYWxpc2VkIHZhbHVlCiAjIyMgICBNZW1jaGVjazpDb25kCiAjIyMgICBmdW46UHlPYmplY3RfUmVhbGxvYwpAQCAtMjg2LDYgKzMxMCwzOCBAQAogIyMjICAgZnVuOk1ENV9VcGRhdGUKICMjI30KIAorIyBGZWRvcmEncyBwYWNrYWdlICJvcGVuc3NsLTEuMC4xLTAuMS5iZXRhMi5mYzE3Lng4Nl82NCIgb24geDg2XzY0CisjIFNlZSBodHRwOi8vYnVncy5weXRob24ub3JnL2lzc3VlMTQxNzEKK3sKKyAgIG9wZW5zc2wgMS4wLjEgcHJuZyAxCisgICBNZW1jaGVjazpDb25kCisgICBmdW46YmNtcAorICAgZnVuOmZpcHNfZ2V0X2VudHJvcHkKKyAgIGZ1bjpGSVBTX2RyYmdfaW5zdGFudGlhdGUKKyAgIGZ1bjpSQU5EX2luaXRfZmlwcworICAgZnVuOk9QRU5TU0xfaW5pdF9saWJyYXJ5CisgICBmdW46U1NMX2xpYnJhcnlfaW5pdAorICAgZnVuOmluaXRfaGFzaGxpYgorfQorCit7CisgICBvcGVuc3NsIDEuMC4xIHBybmcgMgorICAgTWVtY2hlY2s6Q29uZAorICAgZnVuOmZpcHNfZ2V0X2VudHJvcHkKKyAgIGZ1bjpGSVBTX2RyYmdfaW5zdGFudGlhdGUKKyAgIGZ1bjpSQU5EX2luaXRfZmlwcworICAgZnVuOk9QRU5TU0xfaW5pdF9saWJyYXJ5CisgICBmdW46U1NMX2xpYnJhcnlfaW5pdAorICAgZnVuOmluaXRfaGFzaGxpYgorfQorCit7CisgICBvcGVuc3NsIDEuMC4xIHBybmcgMworICAgTWVtY2hlY2s6VmFsdWU4CisgICBmdW46X3g4Nl82NF9BRVNfZW5jcnlwdF9jb21wYWN0CisgICBmdW46QUVTX2VuY3J5cHQKK30KKwogIwogIyBBbGwgb2YgdGhlc2UgcHJvYmxlbXMgY29tZSBmcm9tIHVzaW5nIHRlc3Rfc29ja2V0X3NzbAogIwpAQCAtMzg4LDQgKzQ0NCwxNSBAQAogICAgZnVuOlNIQTFfVXBkYXRlCiB9CiAKK3sKKyAgIHRlc3RfYnVmZmVyX25vbl9kZWJ1ZworICAgTWVtY2hlY2s6QWRkcjQKKyAgIGZ1bjpQeVVuaWNvZGVVQ1MyX0ZTQ29udmVydGVyCit9CisKK3sKKyAgIHRlc3RfYnVmZmVyX25vbl9kZWJ1ZworICAgTWVtY2hlY2s6QWRkcjQKKyAgIGZ1bjpQeVVuaWNvZGVfRlNDb252ZXJ0ZXIKK30KIApkaWZmIC0tZ2l0IGEvTW9kdWxlcy9TZXR1cC5kaXN0IGIvTW9kdWxlcy9TZXR1cC5kaXN0CmluZGV4IDkyNjlkZGYuLjZhYmFmZmYgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvU2V0dXAuZGlzdAorKysgYi9Nb2R1bGVzL1NldHVwLmRpc3QKQEAgLTEyNyw2ICsxMjcsOSBAQAogIyBidWlsdGluIG1vZHVsZSBhdm9pZHMgc29tZSBib290c3RyYXBwaW5nIHByb2JsZW1zIGFuZCByZWR1Y2VzIG92ZXJoZWFkLgogemlwaW1wb3J0IHppcGltcG9ydC5jCiAKKyMgZmF1bHRoYW5kbGVyIG1vZHVsZQorZmF1bHRoYW5kbGVyIGZhdWx0aGFuZGxlci5jCisKICMgVGhlIHJlc3Qgb2YgdGhlIG1vZHVsZXMgbGlzdGVkIGluIHRoaXMgZmlsZSBhcmUgYWxsIGNvbW1lbnRlZCBvdXQgYnkKICMgZGVmYXVsdC4gIFVzdWFsbHkgdGhleSBjYW4gYmUgZGV0ZWN0ZWQgYW5kIGJ1aWx0IGFzIGR5bmFtaWNhbGx5CiAjIGxvYWRlZCBtb2R1bGVzIGJ5IHRoZSBuZXcgc2V0dXAucHkgc2NyaXB0IGFkZGVkIGluIFB5dGhvbiAyLjEuICBJZgpAQCAtMjA3LDcgKzIxMCw3IEBACiAjCiAjIEZpcnN0LCBsb29rIGF0IFNldHVwLmNvbmZpZzsgY29uZmlndXJlIG1heSBoYXZlIHNldCB0aGlzIGZvciB5b3UuCiAKLSNjcnlwdCBjcnlwdG1vZHVsZS5jICMgLWxjcnlwdAkjIGNyeXB0KDMpOyBuZWVkcyAtbGNyeXB0IG9uIHNvbWUgc3lzdGVtcworI19jcnlwdCBfY3J5cHRtb2R1bGUuYyAjIC1sY3J5cHQJIyBjcnlwdCgzKTsgbmVlZHMgLWxjcnlwdCBvbiBzb21lIHN5c3RlbXMKIAogCiAjIFNvbWUgbW9yZSBVTklYIGRlcGVuZGVudCBtb2R1bGVzIC0tIG9mZiBieSBkZWZhdWx0LCBzaW5jZSB0aGVzZQpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9fYmlzZWN0bW9kdWxlLmMgYi9Nb2R1bGVzL19iaXNlY3Rtb2R1bGUuYwppbmRleCA3ZmVjZmM2Li44Y2RhNjQyIDEwMDY0NAotLS0gYS9Nb2R1bGVzL19iaXNlY3Rtb2R1bGUuYworKysgYi9Nb2R1bGVzL19iaXNlY3Rtb2R1bGUuYwpAQCAtODYsNyArODYsOSBAQAogICAgICAgICBpZiAoUHlMaXN0X0luc2VydChsaXN0LCBpbmRleCwgaXRlbSkgPCAwKQogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfSBlbHNlIHsKLSAgICAgICAgcmVzdWx0ID0gUHlPYmplY3RfQ2FsbE1ldGhvZChsaXN0LCAiaW5zZXJ0IiwgIm5PIiwgaW5kZXgsIGl0ZW0pOworICAgICAgICBfUHlfSURFTlRJRklFUihpbnNlcnQpOworCisgICAgICAgIHJlc3VsdCA9IF9QeU9iamVjdF9DYWxsTWV0aG9kSWQobGlzdCwgJlB5SWRfaW5zZXJ0LCAibk8iLCBpbmRleCwgaXRlbSk7CiAgICAgICAgIGlmIChyZXN1bHQgPT0gTlVMTCkKICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICBQeV9ERUNSRUYocmVzdWx0KTsKQEAgLTE4Niw3ICsxODgsOSBAQAogICAgICAgICBpZiAoUHlMaXN0X0luc2VydChsaXN0LCBpbmRleCwgaXRlbSkgPCAwKQogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfSBlbHNlIHsKLSAgICAgICAgcmVzdWx0ID0gUHlPYmplY3RfQ2FsbE1ldGhvZChsaXN0LCAiaW5zZXJ0IiwgImlPIiwgaW5kZXgsIGl0ZW0pOworICAgICAgICBfUHlfSURFTlRJRklFUihpbnNlcnQpOworCisgICAgICAgIHJlc3VsdCA9IF9QeU9iamVjdF9DYWxsTWV0aG9kSWQobGlzdCwgJlB5SWRfaW5zZXJ0LCAiaU8iLCBpbmRleCwgaXRlbSk7CiAgICAgICAgIGlmIChyZXN1bHQgPT0gTlVMTCkKICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICBQeV9ERUNSRUYocmVzdWx0KTsKZGlmZiAtLWdpdCBhL01vZHVsZXMvX2J6Mm1vZHVsZS5jIGIvTW9kdWxlcy9fYnoybW9kdWxlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjQwN2RmOQotLS0gL2Rldi9udWxsCisrKyBiL01vZHVsZXMvX2J6Mm1vZHVsZS5jCkBAIC0wLDAgKzEsNTkwIEBACisvKiBfYnoyIC0gTG93LWxldmVsIFB5dGhvbiBpbnRlcmZhY2UgdG8gbGliYnppcDIuICovCisKKyNkZWZpbmUgUFlfU1NJWkVfVF9DTEVBTgorCisjaW5jbHVkZSAiUHl0aG9uLmgiCisjaW5jbHVkZSAic3RydWN0bWVtYmVyLmgiCisKKyNpZmRlZiBXSVRIX1RIUkVBRAorI2luY2x1ZGUgInB5dGhyZWFkLmgiCisjZW5kaWYKKworI2luY2x1ZGUgPGJ6bGliLmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKworCisjaWZuZGVmIEJaX0NPTkZJR19FUlJPUgorI2RlZmluZSBCWjJfYnpDb21wcmVzcyBiekNvbXByZXNzCisjZGVmaW5lIEJaMl9iekNvbXByZXNzSW5pdCBiekNvbXByZXNzSW5pdAorI2RlZmluZSBCWjJfYnpDb21wcmVzc0VuZCBiekNvbXByZXNzRW5kCisjZGVmaW5lIEJaMl9iekRlY29tcHJlc3MgYnpEZWNvbXByZXNzCisjZGVmaW5lIEJaMl9iekRlY29tcHJlc3NJbml0IGJ6RGVjb21wcmVzc0luaXQKKyNkZWZpbmUgQloyX2J6RGVjb21wcmVzc0VuZCBiekRlY29tcHJlc3NFbmQKKyNlbmRpZiAgLyogISBCWl9DT05GSUdfRVJST1IgKi8KKworCisjaWZkZWYgV0lUSF9USFJFQUQKKyNkZWZpbmUgQUNRVUlSRV9MT0NLKG9iaikgZG8geyBcCisgICAgaWYgKCFQeVRocmVhZF9hY3F1aXJlX2xvY2soKG9iaiktPmxvY2ssIDApKSB7IFwKKyAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUyBcCisgICAgICAgIFB5VGhyZWFkX2FjcXVpcmVfbG9jaygob2JqKS0+bG9jaywgMSk7IFwKKyAgICAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMgXAorICAgIH0gfSB3aGlsZSAoMCkKKyNkZWZpbmUgUkVMRUFTRV9MT0NLKG9iaikgUHlUaHJlYWRfcmVsZWFzZV9sb2NrKChvYmopLT5sb2NrKQorI2Vsc2UKKyNkZWZpbmUgQUNRVUlSRV9MT0NLKG9iaikKKyNkZWZpbmUgUkVMRUFTRV9MT0NLKG9iaikKKyNlbmRpZgorCisjZGVmaW5lIE1JTihYLCBZKSAoKChYKSA8IChZKSkgPyAoWCkgOiAoWSkpCisKKwordHlwZWRlZiBzdHJ1Y3QgeworICAgIFB5T2JqZWN0X0hFQUQKKyAgICBiel9zdHJlYW0gYnpzOworICAgIGludCBmbHVzaGVkOworI2lmZGVmIFdJVEhfVEhSRUFECisgICAgUHlUaHJlYWRfdHlwZV9sb2NrIGxvY2s7CisjZW5kaWYKK30gQloyQ29tcHJlc3NvcjsKKwordHlwZWRlZiBzdHJ1Y3QgeworICAgIFB5T2JqZWN0X0hFQUQKKyAgICBiel9zdHJlYW0gYnpzOworICAgIGNoYXIgZW9mOyAgICAgICAgICAgLyogVF9CT09MIGV4cGVjdHMgYSBjaGFyICovCisgICAgUHlPYmplY3QgKnVudXNlZF9kYXRhOworI2lmZGVmIFdJVEhfVEhSRUFECisgICAgUHlUaHJlYWRfdHlwZV9sb2NrIGxvY2s7CisjZW5kaWYKK30gQloyRGVjb21wcmVzc29yOworCisKKy8qIEhlbHBlciBmdW5jdGlvbnMuICovCisKK3N0YXRpYyBpbnQKK2NhdGNoX2J6Ml9lcnJvcihpbnQgYnplcnJvcikKK3sKKyAgICBzd2l0Y2goYnplcnJvcikgeworICAgICAgICBjYXNlIEJaX09LOgorICAgICAgICBjYXNlIEJaX1JVTl9PSzoKKyAgICAgICAgY2FzZSBCWl9GTFVTSF9PSzoKKyAgICAgICAgY2FzZSBCWl9GSU5JU0hfT0s6CisgICAgICAgIGNhc2UgQlpfU1RSRUFNX0VORDoKKyAgICAgICAgICAgIHJldHVybiAwOworCisjaWZkZWYgQlpfQ09ORklHX0VSUk9SCisgICAgICAgIGNhc2UgQlpfQ09ORklHX0VSUk9SOgorICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1N5c3RlbUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsaWJiemlwMiB3YXMgbm90IGNvbXBpbGVkIGNvcnJlY3RseSIpOworICAgICAgICAgICAgcmV0dXJuIDE7CisjZW5kaWYKKyAgICAgICAgY2FzZSBCWl9QQVJBTV9FUlJPUjoKKyAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICJJbnRlcm5hbCBlcnJvciAtICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaW52YWxpZCBwYXJhbWV0ZXJzIHBhc3NlZCB0byBsaWJiemlwMiIpOworICAgICAgICAgICAgcmV0dXJuIDE7CisgICAgICAgIGNhc2UgQlpfTUVNX0VSUk9SOgorICAgICAgICAgICAgUHlFcnJfTm9NZW1vcnkoKTsKKyAgICAgICAgICAgIHJldHVybiAxOworICAgICAgICBjYXNlIEJaX0RBVEFfRVJST1I6CisgICAgICAgIGNhc2UgQlpfREFUQV9FUlJPUl9NQUdJQzoKKyAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19JT0Vycm9yLCAiSW52YWxpZCBkYXRhIHN0cmVhbSIpOworICAgICAgICAgICAgcmV0dXJuIDE7CisgICAgICAgIGNhc2UgQlpfSU9fRVJST1I6CisgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfSU9FcnJvciwgIlVua25vd24gSS9PIGVycm9yIik7CisgICAgICAgICAgICByZXR1cm4gMTsKKyAgICAgICAgY2FzZSBCWl9VTkVYUEVDVEVEX0VPRjoKKyAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19FT0ZFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQ29tcHJlc3NlZCBmaWxlIGVuZGVkIGJlZm9yZSB0aGUgbG9naWNhbCAiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgImVuZC1vZi1zdHJlYW0gd2FzIGRldGVjdGVkIik7CisgICAgICAgICAgICByZXR1cm4gMTsKKyAgICAgICAgY2FzZSBCWl9TRVFVRU5DRV9FUlJPUjoKKyAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19SdW50aW1lRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkludGVybmFsIGVycm9yIC0gIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICJJbnZhbGlkIHNlcXVlbmNlIG9mIGNvbW1hbmRzIHNlbnQgdG8gbGliYnppcDIiKTsKKyAgICAgICAgICAgIHJldHVybiAxOworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX0lPRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgIlVucmVjb2duaXplZCBlcnJvciBmcm9tIGxpYmJ6aXAyOiAlZCIsIGJ6ZXJyb3IpOworICAgICAgICAgICAgcmV0dXJuIDE7CisgICAgfQorfQorCisjaWYgQlVGU0laIDwgODE5MgorI2RlZmluZSBTTUFMTENIVU5LIDgxOTIKKyNlbHNlCisjZGVmaW5lIFNNQUxMQ0hVTksgQlVGU0laCisjZW5kaWYKKworc3RhdGljIGludAorZ3Jvd19idWZmZXIoUHlPYmplY3QgKipidWYpCit7CisgICAgLyogRXhwYW5kIHRoZSBidWZmZXIgYnkgYW4gYW1vdW50IHByb3BvcnRpb25hbCB0byB0aGUgY3VycmVudCBzaXplLAorICAgICAgIGdpdmluZyB1cyBhbW9ydGl6ZWQgbGluZWFyLXRpbWUgYmVoYXZpb3IuIFVzZSBhIGxlc3MtdGhhbi1kb3VibGUKKyAgICAgICBncm93dGggZmFjdG9yIHRvIGF2b2lkIGV4Y2Vzc2l2ZSBhbGxvY2F0aW9uLiAqLworICAgIHNpemVfdCBzaXplID0gUHlCeXRlc19HRVRfU0laRSgqYnVmKTsKKyAgICByZXR1cm4gX1B5Qnl0ZXNfUmVzaXplKGJ1Ziwgc2l6ZSArIChzaXplID4+IDMpICsgNik7Cit9CisKKworLyogQloyQ29tcHJlc3NvciBjbGFzcy4gKi8KKworc3RhdGljIFB5T2JqZWN0ICoKK2NvbXByZXNzKEJaMkNvbXByZXNzb3IgKmMsIGNoYXIgKmRhdGEsIHNpemVfdCBsZW4sIGludCBhY3Rpb24pCit7CisgICAgc2l6ZV90IGRhdGFfc2l6ZSA9IDA7CisgICAgUHlPYmplY3QgKnJlc3VsdDsKKworICAgIHJlc3VsdCA9IFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUoTlVMTCwgU01BTExDSFVOSyk7CisgICAgaWYgKHJlc3VsdCA9PSBOVUxMKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBjLT5ienMubmV4dF9pbiA9IGRhdGE7CisgICAgLyogT24gYSA2NC1iaXQgc3lzdGVtLCBsZW4gbWlnaHQgbm90IGZpdCBpbiBhdmFpbF9pbiAoYW4gdW5zaWduZWQgaW50KS4KKyAgICAgICBEbyBjb21wcmVzc2lvbiBpbiBjaHVua3Mgb2Ygbm8gbW9yZSB0aGFuIFVJTlRfTUFYIGJ5dGVzIGVhY2guICovCisgICAgYy0+YnpzLmF2YWlsX2luID0gTUlOKGxlbiwgVUlOVF9NQVgpOworICAgIGxlbiAtPSBjLT5ienMuYXZhaWxfaW47CisgICAgYy0+YnpzLm5leHRfb3V0ID0gUHlCeXRlc19BU19TVFJJTkcocmVzdWx0KTsKKyAgICBjLT5ienMuYXZhaWxfb3V0ID0gUHlCeXRlc19HRVRfU0laRShyZXN1bHQpOworICAgIGZvciAoOzspIHsKKyAgICAgICAgY2hhciAqdGhpc19vdXQ7CisgICAgICAgIGludCBiemVycm9yOworCisgICAgICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKKyAgICAgICAgdGhpc19vdXQgPSBjLT5ienMubmV4dF9vdXQ7CisgICAgICAgIGJ6ZXJyb3IgPSBCWjJfYnpDb21wcmVzcygmYy0+YnpzLCBhY3Rpb24pOworICAgICAgICBkYXRhX3NpemUgKz0gYy0+YnpzLm5leHRfb3V0IC0gdGhpc19vdXQ7CisgICAgICAgIFB5X0VORF9BTExPV19USFJFQURTCisgICAgICAgIGlmIChjYXRjaF9iejJfZXJyb3IoYnplcnJvcikpCisgICAgICAgICAgICBnb3RvIGVycm9yOworCisgICAgICAgIGlmIChjLT5ienMuYXZhaWxfaW4gPT0gMCAmJiBsZW4gPiAwKSB7CisgICAgICAgICAgICBjLT5ienMuYXZhaWxfaW4gPSBNSU4obGVuLCBVSU5UX01BWCk7CisgICAgICAgICAgICBsZW4gLT0gYy0+YnpzLmF2YWlsX2luOworICAgICAgICB9CisKKyAgICAgICAgLyogSW4gcmVndWxhciBjb21wcmVzc2lvbiBtb2RlLCBzdG9wIHdoZW4gaW5wdXQgZGF0YSBpcyBleGhhdXN0ZWQuCisgICAgICAgICAgIEluIGZsdXNoaW5nIG1vZGUsIHN0b3Agd2hlbiBhbGwgYnVmZmVyZWQgZGF0YSBoYXMgYmVlbiBmbHVzaGVkLiAqLworICAgICAgICBpZiAoKGFjdGlvbiA9PSBCWl9SVU4gJiYgYy0+YnpzLmF2YWlsX2luID09IDApIHx8CisgICAgICAgICAgICAoYWN0aW9uID09IEJaX0ZJTklTSCAmJiBiemVycm9yID09IEJaX1NUUkVBTV9FTkQpKQorICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgaWYgKGMtPmJ6cy5hdmFpbF9vdXQgPT0gMCkgeworICAgICAgICAgICAgaWYgKGdyb3dfYnVmZmVyKCZyZXN1bHQpIDwgMCkKKyAgICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICAgICAgYy0+YnpzLm5leHRfb3V0ID0gUHlCeXRlc19BU19TVFJJTkcocmVzdWx0KSArIGRhdGFfc2l6ZTsKKyAgICAgICAgICAgIGMtPmJ6cy5hdmFpbF9vdXQgPSBQeUJ5dGVzX0dFVF9TSVpFKHJlc3VsdCkgLSBkYXRhX3NpemU7CisgICAgICAgIH0KKyAgICB9CisgICAgaWYgKGRhdGFfc2l6ZSAhPSBQeUJ5dGVzX0dFVF9TSVpFKHJlc3VsdCkpCisgICAgICAgIGlmIChfUHlCeXRlc19SZXNpemUoJnJlc3VsdCwgZGF0YV9zaXplKSA8IDApCisgICAgICAgICAgICBnb3RvIGVycm9yOworICAgIHJldHVybiByZXN1bHQ7CisKK2Vycm9yOgorICAgIFB5X1hERUNSRUYocmVzdWx0KTsKKyAgICByZXR1cm4gTlVMTDsKK30KKworUHlEb2NfU1RSVkFSKEJaMkNvbXByZXNzb3JfY29tcHJlc3NfX2RvY19fLAorImNvbXByZXNzKGRhdGEpIC0+IGJ5dGVzXG4iCisiXG4iCisiUHJvdmlkZSBkYXRhIHRvIHRoZSBjb21wcmVzc29yIG9iamVjdC4gUmV0dXJucyBhIGNodW5rIG9mXG4iCisiY29tcHJlc3NlZCBkYXRhIGlmIHBvc3NpYmxlLCBvciBiJycgb3RoZXJ3aXNlLlxuIgorIlxuIgorIldoZW4geW91IGhhdmUgZmluaXNoZWQgcHJvdmlkaW5nIGRhdGEgdG8gdGhlIGNvbXByZXNzb3IsIGNhbGwgdGhlXG4iCisiZmx1c2goKSBtZXRob2QgdG8gZmluaXNoIHRoZSBjb21wcmVzc2lvbiBwcm9jZXNzLlxuIik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitCWjJDb21wcmVzc29yX2NvbXByZXNzKEJaMkNvbXByZXNzb3IgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5X2J1ZmZlciBidWZmZXI7CisgICAgUHlPYmplY3QgKnJlc3VsdCA9IE5VTEw7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgInkqOmNvbXByZXNzIiwgJmJ1ZmZlcikpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgQUNRVUlSRV9MT0NLKHNlbGYpOworICAgIGlmIChzZWxmLT5mbHVzaGVkKQorICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwgIkNvbXByZXNzb3IgaGFzIGJlZW4gZmx1c2hlZCIpOworICAgIGVsc2UKKyAgICAgICAgcmVzdWx0ID0gY29tcHJlc3Moc2VsZiwgYnVmZmVyLmJ1ZiwgYnVmZmVyLmxlbiwgQlpfUlVOKTsKKyAgICBSRUxFQVNFX0xPQ0soc2VsZik7CisgICAgUHlCdWZmZXJfUmVsZWFzZSgmYnVmZmVyKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCitQeURvY19TVFJWQVIoQloyQ29tcHJlc3Nvcl9mbHVzaF9fZG9jX18sCisiZmx1c2goKSAtPiBieXRlc1xuIgorIlxuIgorIkZpbmlzaCB0aGUgY29tcHJlc3Npb24gcHJvY2Vzcy4gUmV0dXJucyB0aGUgY29tcHJlc3NlZCBkYXRhIGxlZnRcbiIKKyJpbiBpbnRlcm5hbCBidWZmZXJzLlxuIgorIlxuIgorIlRoZSBjb21wcmVzc29yIG9iamVjdCBtYXkgbm90IGJlIHVzZWQgYWZ0ZXIgdGhpcyBtZXRob2QgaXMgY2FsbGVkLlxuIik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitCWjJDb21wcmVzc29yX2ZsdXNoKEJaMkNvbXByZXNzb3IgKnNlbGYsIFB5T2JqZWN0ICpub2FyZ3MpCit7CisgICAgUHlPYmplY3QgKnJlc3VsdCA9IE5VTEw7CisKKyAgICBBQ1FVSVJFX0xPQ0soc2VsZik7CisgICAgaWYgKHNlbGYtPmZsdXNoZWQpCisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLCAiUmVwZWF0ZWQgY2FsbCB0byBmbHVzaCgpIik7CisgICAgZWxzZSB7CisgICAgICAgIHNlbGYtPmZsdXNoZWQgPSAxOworICAgICAgICByZXN1bHQgPSBjb21wcmVzcyhzZWxmLCBOVUxMLCAwLCBCWl9GSU5JU0gpOworICAgIH0KKyAgICBSRUxFQVNFX0xPQ0soc2VsZik7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKworc3RhdGljIGludAorQloyQ29tcHJlc3Nvcl9pbml0KEJaMkNvbXByZXNzb3IgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQoreworICAgIGludCBjb21wcmVzc2xldmVsID0gOTsKKyAgICBpbnQgYnplcnJvcjsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAifGk6QloyQ29tcHJlc3NvciIsICZjb21wcmVzc2xldmVsKSkKKyAgICAgICAgcmV0dXJuIC0xOworICAgIGlmICghKDEgPD0gY29tcHJlc3NsZXZlbCAmJiBjb21wcmVzc2xldmVsIDw9IDkpKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgImNvbXByZXNzbGV2ZWwgbXVzdCBiZSBiZXR3ZWVuIDEgYW5kIDkiKTsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKworI2lmZGVmIFdJVEhfVEhSRUFECisgICAgc2VsZi0+bG9jayA9IFB5VGhyZWFkX2FsbG9jYXRlX2xvY2soKTsKKyAgICBpZiAoc2VsZi0+bG9jayA9PSBOVUxMKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19NZW1vcnlFcnJvciwgIlVuYWJsZSB0byBhbGxvY2F0ZSBsb2NrIik7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisjZW5kaWYKKworICAgIGJ6ZXJyb3IgPSBCWjJfYnpDb21wcmVzc0luaXQoJnNlbGYtPmJ6cywgY29tcHJlc3NsZXZlbCwgMCwgMCk7CisgICAgaWYgKGNhdGNoX2J6Ml9lcnJvcihiemVycm9yKSkKKyAgICAgICAgZ290byBlcnJvcjsKKworICAgIHJldHVybiAwOworCitlcnJvcjoKKyNpZmRlZiBXSVRIX1RIUkVBRAorICAgIFB5VGhyZWFkX2ZyZWVfbG9jayhzZWxmLT5sb2NrKTsKKyAgICBzZWxmLT5sb2NrID0gTlVMTDsKKyNlbmRpZgorICAgIHJldHVybiAtMTsKK30KKworc3RhdGljIHZvaWQKK0JaMkNvbXByZXNzb3JfZGVhbGxvYyhCWjJDb21wcmVzc29yICpzZWxmKQoreworICAgIEJaMl9iekNvbXByZXNzRW5kKCZzZWxmLT5ienMpOworI2lmZGVmIFdJVEhfVEhSRUFECisgICAgaWYgKHNlbGYtPmxvY2sgIT0gTlVMTCkKKyAgICAgICAgUHlUaHJlYWRfZnJlZV9sb2NrKHNlbGYtPmxvY2spOworI2VuZGlmCisgICAgUHlfVFlQRShzZWxmKS0+dHBfZnJlZSgoUHlPYmplY3QgKilzZWxmKTsKK30KKworc3RhdGljIFB5TWV0aG9kRGVmIEJaMkNvbXByZXNzb3JfbWV0aG9kc1tdID0geworICAgIHsiY29tcHJlc3MiLCAoUHlDRnVuY3Rpb24pQloyQ29tcHJlc3Nvcl9jb21wcmVzcywgTUVUSF9WQVJBUkdTLAorICAgICBCWjJDb21wcmVzc29yX2NvbXByZXNzX19kb2NfX30sCisgICAgeyJmbHVzaCIsICAgIChQeUNGdW5jdGlvbilCWjJDb21wcmVzc29yX2ZsdXNoLCAgICBNRVRIX05PQVJHUywKKyAgICAgQloyQ29tcHJlc3Nvcl9mbHVzaF9fZG9jX199LAorICAgIHtOVUxMfQorfTsKKworUHlEb2NfU1RSVkFSKEJaMkNvbXByZXNzb3JfX2RvY19fLAorIkJaMkNvbXByZXNzb3IoY29tcHJlc3NsZXZlbD05KVxuIgorIlxuIgorIkNyZWF0ZSBhIGNvbXByZXNzb3Igb2JqZWN0IGZvciBjb21wcmVzc2luZyBkYXRhIGluY3JlbWVudGFsbHkuXG4iCisiXG4iCisiY29tcHJlc3NsZXZlbCwgaWYgZ2l2ZW4sIG11c3QgYmUgYSBudW1iZXIgYmV0d2VlbiAxIGFuZCA5LlxuIgorIlxuIgorIkZvciBvbmUtc2hvdCBjb21wcmVzc2lvbiwgdXNlIHRoZSBjb21wcmVzcygpIGZ1bmN0aW9uIGluc3RlYWQuXG4iKTsKKworc3RhdGljIFB5VHlwZU9iamVjdCBCWjJDb21wcmVzc29yX1R5cGUgPSB7CisgICAgUHlWYXJPYmplY3RfSEVBRF9JTklUKE5VTEwsIDApCisgICAgIl9iejIuQloyQ29tcHJlc3NvciIsICAgICAgICAgICAgICAgLyogdHBfbmFtZSAqLworICAgIHNpemVvZihCWjJDb21wcmVzc29yKSwgICAgICAgICAgICAgIC8qIHRwX2Jhc2ljc2l6ZSAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2l0ZW1zaXplICovCisgICAgKGRlc3RydWN0b3IpQloyQ29tcHJlc3Nvcl9kZWFsbG9jLCAgLyogdHBfZGVhbGxvYyAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX3ByaW50ICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfZ2V0YXR0ciAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX3NldGF0dHIgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9yZXNlcnZlZCAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX3JlcHIgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9hc19udW1iZXIgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9hc19zZXF1ZW5jZSAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2FzX21hcHBpbmcgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9oYXNoICAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2NhbGwgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9zdHIgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9nZXRhdHRybyAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX3NldGF0dHJvICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfYXNfYnVmZmVyICovCisgICAgUHlfVFBGTEFHU19ERUZBVUxULCAgICAgICAgICAgICAgICAgLyogdHBfZmxhZ3MgKi8KKyAgICBCWjJDb21wcmVzc29yX19kb2NfXywgICAgICAgICAgICAgICAvKiB0cF9kb2MgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF90cmF2ZXJzZSAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2NsZWFyICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfcmljaGNvbXBhcmUgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF93ZWFrbGlzdG9mZnNldCAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2l0ZXIgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9pdGVybmV4dCAqLworICAgIEJaMkNvbXByZXNzb3JfbWV0aG9kcywgICAgICAgICAgICAgIC8qIHRwX21ldGhvZHMgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9tZW1iZXJzICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfZ2V0c2V0ICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfYmFzZSAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2RpY3QgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9kZXNjcl9nZXQgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9kZXNjcl9zZXQgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9kaWN0b2Zmc2V0ICovCisgICAgKGluaXRwcm9jKUJaMkNvbXByZXNzb3JfaW5pdCwgICAgICAgLyogdHBfaW5pdCAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2FsbG9jICovCisgICAgUHlUeXBlX0dlbmVyaWNOZXcsICAgICAgICAgICAgICAgICAgLyogdHBfbmV3ICovCit9OworCisKKy8qIEJaMkRlY29tcHJlc3NvciBjbGFzcy4gKi8KKworc3RhdGljIFB5T2JqZWN0ICoKK2RlY29tcHJlc3MoQloyRGVjb21wcmVzc29yICpkLCBjaGFyICpkYXRhLCBzaXplX3QgbGVuKQoreworICAgIHNpemVfdCBkYXRhX3NpemUgPSAwOworICAgIFB5T2JqZWN0ICpyZXN1bHQ7CisKKyAgICByZXN1bHQgPSBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplKE5VTEwsIFNNQUxMQ0hVTkspOworICAgIGlmIChyZXN1bHQgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICBkLT5ienMubmV4dF9pbiA9IGRhdGE7CisgICAgLyogT24gYSA2NC1iaXQgc3lzdGVtLCBsZW4gbWlnaHQgbm90IGZpdCBpbiBhdmFpbF9pbiAoYW4gdW5zaWduZWQgaW50KS4KKyAgICAgICBEbyBkZWNvbXByZXNzaW9uIGluIGNodW5rcyBvZiBubyBtb3JlIHRoYW4gVUlOVF9NQVggYnl0ZXMgZWFjaC4gKi8KKyAgICBkLT5ienMuYXZhaWxfaW4gPSBNSU4obGVuLCBVSU5UX01BWCk7CisgICAgbGVuIC09IGQtPmJ6cy5hdmFpbF9pbjsKKyAgICBkLT5ienMubmV4dF9vdXQgPSBQeUJ5dGVzX0FTX1NUUklORyhyZXN1bHQpOworICAgIGQtPmJ6cy5hdmFpbF9vdXQgPSBQeUJ5dGVzX0dFVF9TSVpFKHJlc3VsdCk7CisgICAgZm9yICg7OykgeworICAgICAgICBjaGFyICp0aGlzX291dDsKKyAgICAgICAgaW50IGJ6ZXJyb3I7CisKKyAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUworICAgICAgICB0aGlzX291dCA9IGQtPmJ6cy5uZXh0X291dDsKKyAgICAgICAgYnplcnJvciA9IEJaMl9iekRlY29tcHJlc3MoJmQtPmJ6cyk7CisgICAgICAgIGRhdGFfc2l6ZSArPSBkLT5ienMubmV4dF9vdXQgLSB0aGlzX291dDsKKyAgICAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKyAgICAgICAgaWYgKGNhdGNoX2J6Ml9lcnJvcihiemVycm9yKSkKKyAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgIGlmIChiemVycm9yID09IEJaX1NUUkVBTV9FTkQpIHsKKyAgICAgICAgICAgIGQtPmVvZiA9IDE7CisgICAgICAgICAgICBsZW4gKz0gZC0+YnpzLmF2YWlsX2luOworICAgICAgICAgICAgaWYgKGxlbiA+IDApIHsgLyogU2F2ZSBsZWZ0b3ZlciBpbnB1dCB0byB1bnVzZWRfZGF0YSAqLworICAgICAgICAgICAgICAgIFB5X0NMRUFSKGQtPnVudXNlZF9kYXRhKTsKKyAgICAgICAgICAgICAgICBkLT51bnVzZWRfZGF0YSA9IFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUoZC0+YnpzLm5leHRfaW4sIGxlbik7CisgICAgICAgICAgICAgICAgaWYgKGQtPnVudXNlZF9kYXRhID09IE5VTEwpCisgICAgICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgICBpZiAoZC0+YnpzLmF2YWlsX2luID09IDApIHsKKyAgICAgICAgICAgIGlmIChsZW4gPT0gMCkKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGQtPmJ6cy5hdmFpbF9pbiA9IE1JTihsZW4sIFVJTlRfTUFYKTsKKyAgICAgICAgICAgIGxlbiAtPSBkLT5ienMuYXZhaWxfaW47CisgICAgICAgIH0KKyAgICAgICAgaWYgKGQtPmJ6cy5hdmFpbF9vdXQgPT0gMCkgeworICAgICAgICAgICAgaWYgKGdyb3dfYnVmZmVyKCZyZXN1bHQpIDwgMCkKKyAgICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICAgICAgZC0+YnpzLm5leHRfb3V0ID0gUHlCeXRlc19BU19TVFJJTkcocmVzdWx0KSArIGRhdGFfc2l6ZTsKKyAgICAgICAgICAgIGQtPmJ6cy5hdmFpbF9vdXQgPSBQeUJ5dGVzX0dFVF9TSVpFKHJlc3VsdCkgLSBkYXRhX3NpemU7CisgICAgICAgIH0KKyAgICB9CisgICAgaWYgKGRhdGFfc2l6ZSAhPSBQeUJ5dGVzX0dFVF9TSVpFKHJlc3VsdCkpCisgICAgICAgIGlmIChfUHlCeXRlc19SZXNpemUoJnJlc3VsdCwgZGF0YV9zaXplKSA8IDApCisgICAgICAgICAgICBnb3RvIGVycm9yOworICAgIHJldHVybiByZXN1bHQ7CisKK2Vycm9yOgorICAgIFB5X1hERUNSRUYocmVzdWx0KTsKKyAgICByZXR1cm4gTlVMTDsKK30KKworUHlEb2NfU1RSVkFSKEJaMkRlY29tcHJlc3Nvcl9kZWNvbXByZXNzX19kb2NfXywKKyJkZWNvbXByZXNzKGRhdGEpIC0+IGJ5dGVzXG4iCisiXG4iCisiUHJvdmlkZSBkYXRhIHRvIHRoZSBkZWNvbXByZXNzb3Igb2JqZWN0LiBSZXR1cm5zIGEgY2h1bmsgb2ZcbiIKKyJkZWNvbXByZXNzZWQgZGF0YSBpZiBwb3NzaWJsZSwgb3IgYicnIG90aGVyd2lzZS5cbiIKKyJcbiIKKyJBdHRlbXB0aW5nIHRvIGRlY29tcHJlc3MgZGF0YSBhZnRlciB0aGUgZW5kIG9mIHN0cmVhbSBpcyByZWFjaGVkXG4iCisicmFpc2VzIGFuIEVPRkVycm9yLiBBbnkgZGF0YSBmb3VuZCBhZnRlciB0aGUgZW5kIG9mIHRoZSBzdHJlYW1cbiIKKyJpcyBpZ25vcmVkIGFuZCBzYXZlZCBpbiB0aGUgdW51c2VkX2RhdGEgYXR0cmlidXRlLlxuIik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitCWjJEZWNvbXByZXNzb3JfZGVjb21wcmVzcyhCWjJEZWNvbXByZXNzb3IgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5X2J1ZmZlciBidWZmZXI7CisgICAgUHlPYmplY3QgKnJlc3VsdCA9IE5VTEw7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgInkqOmRlY29tcHJlc3MiLCAmYnVmZmVyKSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICBBQ1FVSVJFX0xPQ0soc2VsZik7CisgICAgaWYgKHNlbGYtPmVvZikKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX0VPRkVycm9yLCAiRW5kIG9mIHN0cmVhbSBhbHJlYWR5IHJlYWNoZWQiKTsKKyAgICBlbHNlCisgICAgICAgIHJlc3VsdCA9IGRlY29tcHJlc3Moc2VsZiwgYnVmZmVyLmJ1ZiwgYnVmZmVyLmxlbik7CisgICAgUkVMRUFTRV9MT0NLKHNlbGYpOworICAgIFB5QnVmZmVyX1JlbGVhc2UoJmJ1ZmZlcik7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKworc3RhdGljIGludAorQloyRGVjb21wcmVzc29yX2luaXQoQloyRGVjb21wcmVzc29yICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKK3sKKyAgICBpbnQgYnplcnJvcjsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiOkJaMkRlY29tcHJlc3NvciIpKQorICAgICAgICByZXR1cm4gLTE7CisKKyNpZmRlZiBXSVRIX1RIUkVBRAorICAgIHNlbGYtPmxvY2sgPSBQeVRocmVhZF9hbGxvY2F0ZV9sb2NrKCk7CisgICAgaWYgKHNlbGYtPmxvY2sgPT0gTlVMTCkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfTWVtb3J5RXJyb3IsICJVbmFibGUgdG8gYWxsb2NhdGUgbG9jayIpOworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorI2VuZGlmCisKKyAgICBzZWxmLT51bnVzZWRfZGF0YSA9IFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUoIiIsIDApOworICAgIGlmIChzZWxmLT51bnVzZWRfZGF0YSA9PSBOVUxMKQorICAgICAgICBnb3RvIGVycm9yOworCisgICAgYnplcnJvciA9IEJaMl9iekRlY29tcHJlc3NJbml0KCZzZWxmLT5ienMsIDAsIDApOworICAgIGlmIChjYXRjaF9iejJfZXJyb3IoYnplcnJvcikpCisgICAgICAgIGdvdG8gZXJyb3I7CisKKyAgICByZXR1cm4gMDsKKworZXJyb3I6CisgICAgUHlfQ0xFQVIoc2VsZi0+dW51c2VkX2RhdGEpOworI2lmZGVmIFdJVEhfVEhSRUFECisgICAgUHlUaHJlYWRfZnJlZV9sb2NrKHNlbGYtPmxvY2spOworICAgIHNlbGYtPmxvY2sgPSBOVUxMOworI2VuZGlmCisgICAgcmV0dXJuIC0xOworfQorCitzdGF0aWMgdm9pZAorQloyRGVjb21wcmVzc29yX2RlYWxsb2MoQloyRGVjb21wcmVzc29yICpzZWxmKQoreworICAgIEJaMl9iekRlY29tcHJlc3NFbmQoJnNlbGYtPmJ6cyk7CisgICAgUHlfQ0xFQVIoc2VsZi0+dW51c2VkX2RhdGEpOworI2lmZGVmIFdJVEhfVEhSRUFECisgICAgaWYgKHNlbGYtPmxvY2sgIT0gTlVMTCkKKyAgICAgICAgUHlUaHJlYWRfZnJlZV9sb2NrKHNlbGYtPmxvY2spOworI2VuZGlmCisgICAgUHlfVFlQRShzZWxmKS0+dHBfZnJlZSgoUHlPYmplY3QgKilzZWxmKTsKK30KKworc3RhdGljIFB5TWV0aG9kRGVmIEJaMkRlY29tcHJlc3Nvcl9tZXRob2RzW10gPSB7CisgICAgeyJkZWNvbXByZXNzIiwgKFB5Q0Z1bmN0aW9uKUJaMkRlY29tcHJlc3Nvcl9kZWNvbXByZXNzLCBNRVRIX1ZBUkFSR1MsCisgICAgIEJaMkRlY29tcHJlc3Nvcl9kZWNvbXByZXNzX19kb2NfX30sCisgICAge05VTEx9Cit9OworCitQeURvY19TVFJWQVIoQloyRGVjb21wcmVzc29yX2VvZl9fZG9jX18sCisiVHJ1ZSBpZiB0aGUgZW5kLW9mLXN0cmVhbSBtYXJrZXIgaGFzIGJlZW4gcmVhY2hlZC4iKTsKKworUHlEb2NfU1RSVkFSKEJaMkRlY29tcHJlc3Nvcl91bnVzZWRfZGF0YV9fZG9jX18sCisiRGF0YSBmb3VuZCBhZnRlciB0aGUgZW5kIG9mIHRoZSBjb21wcmVzc2VkIHN0cmVhbS4iKTsKKworc3RhdGljIFB5TWVtYmVyRGVmIEJaMkRlY29tcHJlc3Nvcl9tZW1iZXJzW10gPSB7CisgICAgeyJlb2YiLCBUX0JPT0wsIG9mZnNldG9mKEJaMkRlY29tcHJlc3NvciwgZW9mKSwKKyAgICAgUkVBRE9OTFksIEJaMkRlY29tcHJlc3Nvcl9lb2ZfX2RvY19ffSwKKyAgICB7InVudXNlZF9kYXRhIiwgVF9PQkpFQ1RfRVgsIG9mZnNldG9mKEJaMkRlY29tcHJlc3NvciwgdW51c2VkX2RhdGEpLAorICAgICBSRUFET05MWSwgQloyRGVjb21wcmVzc29yX3VudXNlZF9kYXRhX19kb2NfX30sCisgICAge05VTEx9Cit9OworCitQeURvY19TVFJWQVIoQloyRGVjb21wcmVzc29yX19kb2NfXywKKyJCWjJEZWNvbXByZXNzb3IoKVxuIgorIlxuIgorIkNyZWF0ZSBhIGRlY29tcHJlc3NvciBvYmplY3QgZm9yIGRlY29tcHJlc3NpbmcgZGF0YSBpbmNyZW1lbnRhbGx5LlxuIgorIlxuIgorIkZvciBvbmUtc2hvdCBkZWNvbXByZXNzaW9uLCB1c2UgdGhlIGRlY29tcHJlc3MoKSBmdW5jdGlvbiBpbnN0ZWFkLlxuIik7CisKK3N0YXRpYyBQeVR5cGVPYmplY3QgQloyRGVjb21wcmVzc29yX1R5cGUgPSB7CisgICAgUHlWYXJPYmplY3RfSEVBRF9JTklUKE5VTEwsIDApCisgICAgIl9iejIuQloyRGVjb21wcmVzc29yIiwgICAgICAgICAgICAgLyogdHBfbmFtZSAqLworICAgIHNpemVvZihCWjJEZWNvbXByZXNzb3IpLCAgICAgICAgICAgIC8qIHRwX2Jhc2ljc2l6ZSAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2l0ZW1zaXplICovCisgICAgKGRlc3RydWN0b3IpQloyRGVjb21wcmVzc29yX2RlYWxsb2MsLyogdHBfZGVhbGxvYyAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX3ByaW50ICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfZ2V0YXR0ciAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX3NldGF0dHIgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9yZXNlcnZlZCAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX3JlcHIgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9hc19udW1iZXIgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9hc19zZXF1ZW5jZSAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2FzX21hcHBpbmcgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9oYXNoICAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2NhbGwgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9zdHIgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9nZXRhdHRybyAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX3NldGF0dHJvICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfYXNfYnVmZmVyICovCisgICAgUHlfVFBGTEFHU19ERUZBVUxULCAgICAgICAgICAgICAgICAgLyogdHBfZmxhZ3MgKi8KKyAgICBCWjJEZWNvbXByZXNzb3JfX2RvY19fLCAgICAgICAgICAgICAvKiB0cF9kb2MgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF90cmF2ZXJzZSAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2NsZWFyICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfcmljaGNvbXBhcmUgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF93ZWFrbGlzdG9mZnNldCAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2l0ZXIgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9pdGVybmV4dCAqLworICAgIEJaMkRlY29tcHJlc3Nvcl9tZXRob2RzLCAgICAgICAgICAgIC8qIHRwX21ldGhvZHMgKi8KKyAgICBCWjJEZWNvbXByZXNzb3JfbWVtYmVycywgICAgICAgICAgICAvKiB0cF9tZW1iZXJzICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfZ2V0c2V0ICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfYmFzZSAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2RpY3QgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9kZXNjcl9nZXQgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9kZXNjcl9zZXQgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9kaWN0b2Zmc2V0ICovCisgICAgKGluaXRwcm9jKUJaMkRlY29tcHJlc3Nvcl9pbml0LCAgICAgLyogdHBfaW5pdCAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2FsbG9jICovCisgICAgUHlUeXBlX0dlbmVyaWNOZXcsICAgICAgICAgICAgICAgICAgLyogdHBfbmV3ICovCit9OworCisKKy8qIE1vZHVsZSBpbml0aWFsaXphdGlvbi4gKi8KKworc3RhdGljIHN0cnVjdCBQeU1vZHVsZURlZiBfYnoybW9kdWxlID0geworICAgIFB5TW9kdWxlRGVmX0hFQURfSU5JVCwKKyAgICAiX2J6MiIsCisgICAgTlVMTCwKKyAgICAtMSwKKyAgICBOVUxMLAorICAgIE5VTEwsCisgICAgTlVMTCwKKyAgICBOVUxMLAorICAgIE5VTEwKK307CisKK1B5TU9ESU5JVF9GVU5DCitQeUluaXRfX2J6Mih2b2lkKQoreworICAgIFB5T2JqZWN0ICptOworCisgICAgaWYgKFB5VHlwZV9SZWFkeSgmQloyQ29tcHJlc3Nvcl9UeXBlKSA8IDApCisgICAgICAgIHJldHVybiBOVUxMOworICAgIGlmIChQeVR5cGVfUmVhZHkoJkJaMkRlY29tcHJlc3Nvcl9UeXBlKSA8IDApCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgbSA9IFB5TW9kdWxlX0NyZWF0ZSgmX2J6Mm1vZHVsZSk7CisgICAgaWYgKG0gPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICBQeV9JTkNSRUYoJkJaMkNvbXByZXNzb3JfVHlwZSk7CisgICAgUHlNb2R1bGVfQWRkT2JqZWN0KG0sICJCWjJDb21wcmVzc29yIiwgKFB5T2JqZWN0ICopJkJaMkNvbXByZXNzb3JfVHlwZSk7CisKKyAgICBQeV9JTkNSRUYoJkJaMkRlY29tcHJlc3Nvcl9UeXBlKTsKKyAgICBQeU1vZHVsZV9BZGRPYmplY3QobSwgIkJaMkRlY29tcHJlc3NvciIsCisgICAgICAgICAgICAgICAgICAgICAgIChQeU9iamVjdCAqKSZCWjJEZWNvbXByZXNzb3JfVHlwZSk7CisKKyAgICByZXR1cm4gbTsKK30KZGlmZiAtLWdpdCBhL01vZHVsZXMvX2NvZGVjc21vZHVsZS5jIGIvTW9kdWxlcy9fY29kZWNzbW9kdWxlLmMKaW5kZXggZWI3NDBmOS4uNzgxOGY5YSAxMDA2NDQKLS0tIGEvTW9kdWxlcy9fY29kZWNzbW9kdWxlLmMKKysrIGIvTW9kdWxlcy9fY29kZWNzbW9kdWxlLmMKQEAgLTM4LDYgKzM4LDEwIEBACiAjZGVmaW5lIFBZX1NTSVpFX1RfQ0xFQU4KICNpbmNsdWRlICJQeXRob24uaCIKIAorI2lmZGVmIE1TX1dJTkRPV1MKKyNpbmNsdWRlIDx3aW5kb3dzLmg+CisjZW5kaWYKKwogLyogLS0tIFJlZ2lzdHJ5IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCiAKIFB5RG9jX1NUUlZBUihyZWdpc3Rlcl9fZG9jX18sCkBAIC0xNjIsNyArMTY2LDYgQEAKIGVzY2FwZV9lbmNvZGUoUHlPYmplY3QgKnNlbGYsCiAgICAgICAgICAgICAgIFB5T2JqZWN0ICphcmdzKQogewotICAgIHN0YXRpYyBjb25zdCBjaGFyICpoZXhkaWdpdHMgPSAiMDEyMzQ1Njc4OWFiY2RlZiI7CiAgICAgUHlPYmplY3QgKnN0cjsKICAgICBQeV9zc2l6ZV90IHNpemU7CiAgICAgUHlfc3NpemVfdCBuZXdzaXplOwpAQCAtMjA1LDggKzIwOCw4IEBACiAgICAgICAgICAgICBlbHNlIGlmIChjIDwgJyAnIHx8IGMgPj0gMHg3ZikgewogICAgICAgICAgICAgICAgICpwKysgPSAnXFwnOwogICAgICAgICAgICAgICAgICpwKysgPSAneCc7Ci0gICAgICAgICAgICAgICAgKnArKyA9IGhleGRpZ2l0c1soYyAmIDB4ZjApID4+IDRdOwotICAgICAgICAgICAgICAgICpwKysgPSBoZXhkaWdpdHNbYyAmIDB4Zl07CisgICAgICAgICAgICAgICAgKnArKyA9IFB5X2hleGRpZ2l0c1soYyAmIDB4ZjApID4+IDRdOworICAgICAgICAgICAgICAgICpwKysgPSBQeV9oZXhkaWdpdHNbYyAmIDB4Zl07CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgKnArKyA9IGM7CkBAIC0yMzYsOCArMjM5LDEwIEBACiAgICAgICAgIHJldHVybiBOVUxMOwogCiAgICAgaWYgKFB5VW5pY29kZV9DaGVjayhvYmopKSB7CisgICAgICAgIGlmIChQeVVuaWNvZGVfUkVBRFkob2JqKSA8IDApCisgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICAgICAgUHlfSU5DUkVGKG9iaik7Ci0gICAgICAgIHJldHVybiBjb2RlY190dXBsZShvYmosIFB5VW5pY29kZV9HRVRfU0laRShvYmopKTsKKyAgICAgICAgcmV0dXJuIGNvZGVjX3R1cGxlKG9iaiwgUHlVbmljb2RlX0dFVF9MRU5HVEgob2JqKSk7CiAgICAgfQogICAgIGVsc2UgewogICAgICAgICBpZiAoUHlPYmplY3RfQXNSZWFkQnVmZmVyKG9iaiwgKGNvbnN0IHZvaWQgKiopJmRhdGEsICZzaXplKSkKQEAgLTU4OCw3ICs1OTMsNyBAQAogICAgIHJldHVybiBjb2RlY190dXBsZSh1bmljb2RlLCBwYnVmLmxlbik7CiB9CiAKLSNpZiBkZWZpbmVkKE1TX1dJTkRPV1MpICYmIGRlZmluZWQoSEFWRV9VU0FCTEVfV0NIQVJfVCkKKyNpZmRlZiBIQVZFX01CQ1MKIAogc3RhdGljIFB5T2JqZWN0ICoKIG1iY3NfZGVjb2RlKFB5T2JqZWN0ICpzZWxmLApAQCAtNjEzLDcgKzYxOCwzMiBAQAogICAgIHJldHVybiBjb2RlY190dXBsZShkZWNvZGVkLCBjb25zdW1lZCk7CiB9CiAKLSNlbmRpZiAvKiBNU19XSU5ET1dTICovCitzdGF0aWMgUHlPYmplY3QgKgorY29kZV9wYWdlX2RlY29kZShQeU9iamVjdCAqc2VsZiwKKyAgICAgICAgICAgICAgICAgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlfYnVmZmVyIHBidWY7CisgICAgY29uc3QgY2hhciAqZXJyb3JzID0gTlVMTDsKKyAgICBpbnQgZmluYWwgPSAwOworICAgIFB5X3NzaXplX3QgY29uc3VtZWQ7CisgICAgUHlPYmplY3QgKmRlY29kZWQgPSBOVUxMOworICAgIGludCBjb2RlX3BhZ2U7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIml5Knx6aTpjb2RlX3BhZ2VfZGVjb2RlIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgJmNvZGVfcGFnZSwgJnBidWYsICZlcnJvcnMsICZmaW5hbCkpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIGNvbnN1bWVkID0gcGJ1Zi5sZW47CisKKyAgICBkZWNvZGVkID0gUHlVbmljb2RlX0RlY29kZUNvZGVQYWdlU3RhdGVmdWwoY29kZV9wYWdlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYnVmLmJ1ZiwgcGJ1Zi5sZW4sIGVycm9ycywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmluYWwgPyBOVUxMIDogJmNvbnN1bWVkKTsKKyAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZwYnVmKTsKKyAgICBpZiAoZGVjb2RlZCA9PSBOVUxMKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICByZXR1cm4gY29kZWNfdHVwbGUoZGVjb2RlZCwgY29uc3VtZWQpOworfQorCisjZW5kaWYgLyogSEFWRV9NQkNTICovCiAKIC8qIC0tLSBFbmNvZGVyIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwogCkBAIC02NDUsMTcgKzY3NSwzMSBAQAogICAgIFB5T2JqZWN0ICpvYmo7CiAgICAgY29uc3QgY2hhciAqZXJyb3JzID0gTlVMTDsKICAgICBjb25zdCBjaGFyICpkYXRhOwotICAgIFB5X3NzaXplX3Qgc2l6ZTsKKyAgICBQeV9zc2l6ZV90IGxlbiwgc2l6ZTsKKworICAgIGlmIChQeUVycl9XYXJuRXgoUHlFeGNfRGVwcmVjYXRpb25XYXJuaW5nLAorICAgICAgICAgICAgICAgICAgICAgInVuaWNvZGVfaW50ZXJuYWwgY29kZWMgaGFzIGJlZW4gZGVwcmVjYXRlZCIsCisgICAgICAgICAgICAgICAgICAgICAxKSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CiAKICAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIk98ejp1bmljb2RlX2ludGVybmFsX2VuY29kZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICZvYmosICZlcnJvcnMpKQogICAgICAgICByZXR1cm4gTlVMTDsKIAogICAgIGlmIChQeVVuaWNvZGVfQ2hlY2sob2JqKSkgewotICAgICAgICBkYXRhID0gUHlVbmljb2RlX0FTX0RBVEEob2JqKTsKLSAgICAgICAgc2l6ZSA9IFB5VW5pY29kZV9HRVRfREFUQV9TSVpFKG9iaik7Ci0gICAgICAgIHJldHVybiBjb2RlY190dXBsZShQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplKGRhdGEsIHNpemUpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0dFVF9TSVpFKG9iaikpOworICAgICAgICBQeV9VTklDT0RFICp1OworCisgICAgICAgIGlmIChQeVVuaWNvZGVfUkVBRFkob2JqKSA8IDApCisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKworICAgICAgICB1ID0gUHlVbmljb2RlX0FzVW5pY29kZUFuZFNpemUob2JqLCAmbGVuKTsKKyAgICAgICAgaWYgKHUgPT0gTlVMTCkKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICBpZiAobGVuID4gUFlfU1NJWkVfVF9NQVggLyBzaXplb2YoUHlfVU5JQ09ERSkpCisgICAgICAgICAgICByZXR1cm4gUHlFcnJfTm9NZW1vcnkoKTsKKyAgICAgICAgc2l6ZSA9IGxlbiAqIHNpemVvZihQeV9VTklDT0RFKTsKKyAgICAgICAgcmV0dXJuIGNvZGVjX3R1cGxlKFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUoKGNvbnN0IGNoYXIqKXUsIHNpemUpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0dFVF9MRU5HVEgob2JqKSk7CiAgICAgfQogICAgIGVsc2UgewogICAgICAgICBpZiAoUHlPYmplY3RfQXNSZWFkQnVmZmVyKG9iaiwgKGNvbnN0IHZvaWQgKiopJmRhdGEsICZzaXplKSkKQEAgLTY3NiwxNCArNzIwLDEyIEBACiAgICAgICAgIHJldHVybiBOVUxMOwogCiAgICAgc3RyID0gUHlVbmljb2RlX0Zyb21PYmplY3Qoc3RyKTsKLSAgICBpZiAoc3RyID09IE5VTEwpCisgICAgaWYgKHN0ciA9PSBOVUxMIHx8IFB5VW5pY29kZV9SRUFEWShzdHIpIDwgMCkgeworICAgICAgICBQeV9YREVDUkVGKHN0cik7CiAgICAgICAgIHJldHVybiBOVUxMOwotICAgIHYgPSBjb2RlY190dXBsZShQeVVuaWNvZGVfRW5jb2RlVVRGNyhQeVVuaWNvZGVfQVNfVU5JQ09ERShzdHIpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfR0VUX1NJWkUoc3RyKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JzKSwKLSAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0dFVF9TSVpFKHN0cikpOworICAgIH0KKyAgICB2ID0gY29kZWNfdHVwbGUoX1B5VW5pY29kZV9FbmNvZGVVVEY3KHN0ciwgMCwgMCwgZXJyb3JzKSwKKyAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0dFVF9MRU5HVEgoc3RyKSk7CiAgICAgUHlfREVDUkVGKHN0cik7CiAgICAgcmV0dXJuIHY7CiB9CkBAIC03MDAsMTIgKzc0MiwxMiBAQAogICAgICAgICByZXR1cm4gTlVMTDsKIAogICAgIHN0ciA9IFB5VW5pY29kZV9Gcm9tT2JqZWN0KHN0cik7Ci0gICAgaWYgKHN0ciA9PSBOVUxMKQorICAgIGlmIChzdHIgPT0gTlVMTCB8fCBQeVVuaWNvZGVfUkVBRFkoc3RyKSA8IDApIHsKKyAgICAgICAgUHlfWERFQ1JFRihzdHIpOwogICAgICAgICByZXR1cm4gTlVMTDsKLSAgICB2ID0gY29kZWNfdHVwbGUoUHlVbmljb2RlX0VuY29kZVVURjgoUHlVbmljb2RlX0FTX1VOSUNPREUoc3RyKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0dFVF9TSVpFKHN0ciksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9ycyksCi0gICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9HRVRfU0laRShzdHIpKTsKKyAgICB9CisgICAgdiA9IGNvZGVjX3R1cGxlKFB5VW5pY29kZV9Bc0VuY29kZWRTdHJpbmcoc3RyLCAidXRmLTgiLCBlcnJvcnMpLAorICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfR0VUX0xFTkdUSChzdHIpKTsKICAgICBQeV9ERUNSRUYoc3RyKTsKICAgICByZXR1cm4gdjsKIH0KQEAgLTczMCwxMyArNzcyLDEyIEBACiAgICAgICAgIHJldHVybiBOVUxMOwogCiAgICAgc3RyID0gUHlVbmljb2RlX0Zyb21PYmplY3Qoc3RyKTsKLSAgICBpZiAoc3RyID09IE5VTEwpCisgICAgaWYgKHN0ciA9PSBOVUxMIHx8IFB5VW5pY29kZV9SRUFEWShzdHIpIDwgMCkgeworICAgICAgICBQeV9YREVDUkVGKHN0cik7CiAgICAgICAgIHJldHVybiBOVUxMOwotICAgIHYgPSBjb2RlY190dXBsZShQeVVuaWNvZGVfRW5jb2RlVVRGMTYoUHlVbmljb2RlX0FTX1VOSUNPREUoc3RyKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9HRVRfU0laRShzdHIpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnl0ZW9yZGVyKSwKLSAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0dFVF9TSVpFKHN0cikpOworICAgIH0KKyAgICB2ID0gY29kZWNfdHVwbGUoX1B5VW5pY29kZV9FbmNvZGVVVEYxNihzdHIsIGVycm9ycywgYnl0ZW9yZGVyKSwKKyAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0dFVF9MRU5HVEgoc3RyKSk7CiAgICAgUHlfREVDUkVGKHN0cik7CiAgICAgcmV0dXJuIHY7CiB9CkBAIC03NTMsMTMgKzc5NCwxMiBAQAogICAgICAgICByZXR1cm4gTlVMTDsKIAogICAgIHN0ciA9IFB5VW5pY29kZV9Gcm9tT2JqZWN0KHN0cik7Ci0gICAgaWYgKHN0ciA9PSBOVUxMKQorICAgIGlmIChzdHIgPT0gTlVMTCB8fCBQeVVuaWNvZGVfUkVBRFkoc3RyKSA8IDApIHsKKyAgICAgICAgUHlfWERFQ1JFRihzdHIpOwogICAgICAgICByZXR1cm4gTlVMTDsKLSAgICB2ID0gY29kZWNfdHVwbGUoUHlVbmljb2RlX0VuY29kZVVURjE2KFB5VW5pY29kZV9BU19VTklDT0RFKHN0ciksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfR0VUX1NJWkUoc3RyKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9ycywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xKSwKLSAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0dFVF9TSVpFKHN0cikpOworICAgIH0KKyAgICB2ID0gY29kZWNfdHVwbGUoX1B5VW5pY29kZV9FbmNvZGVVVEYxNihzdHIsIGVycm9ycywgLTEpLAorICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfR0VUX0xFTkdUSChzdHIpKTsKICAgICBQeV9ERUNSRUYoc3RyKTsKICAgICByZXR1cm4gdjsKIH0KQEAgLTc3NiwxMyArODE2LDEyIEBACiAgICAgICAgIHJldHVybiBOVUxMOwogCiAgICAgc3RyID0gUHlVbmljb2RlX0Zyb21PYmplY3Qoc3RyKTsKLSAgICBpZiAoc3RyID09IE5VTEwpCisgICAgaWYgKHN0ciA9PSBOVUxMIHx8IFB5VW5pY29kZV9SRUFEWShzdHIpIDwgMCkgeworICAgICAgICBQeV9YREVDUkVGKHN0cik7CiAgICAgICAgIHJldHVybiBOVUxMOwotICAgIHYgPSBjb2RlY190dXBsZShQeVVuaWNvZGVfRW5jb2RlVVRGMTYoUHlVbmljb2RlX0FTX1VOSUNPREUoc3RyKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9HRVRfU0laRShzdHIpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKzEpLAotICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfR0VUX1NJWkUoc3RyKSk7CisgICAgfQorICAgIHYgPSBjb2RlY190dXBsZShfUHlVbmljb2RlX0VuY29kZVVURjE2KHN0ciwgZXJyb3JzLCArMSksCisgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9HRVRfTEVOR1RIKHN0cikpOwogICAgIFB5X0RFQ1JFRihzdHIpOwogICAgIHJldHVybiB2OwogfQpAQCAtODA3LDEzICs4NDYsMTIgQEAKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKICAgICBzdHIgPSBQeVVuaWNvZGVfRnJvbU9iamVjdChzdHIpOwotICAgIGlmIChzdHIgPT0gTlVMTCkKKyAgICBpZiAoc3RyID09IE5VTEwgfHwgUHlVbmljb2RlX1JFQURZKHN0cikgPCAwKSB7CisgICAgICAgIFB5X1hERUNSRUYoc3RyKTsKICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgdiA9IGNvZGVjX3R1cGxlKFB5VW5pY29kZV9FbmNvZGVVVEYzMihQeVVuaWNvZGVfQVNfVU5JQ09ERShzdHIpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0dFVF9TSVpFKHN0ciksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBieXRlb3JkZXIpLAotICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfR0VUX1NJWkUoc3RyKSk7CisgICAgfQorICAgIHYgPSBjb2RlY190dXBsZShfUHlVbmljb2RlX0VuY29kZVVURjMyKHN0ciwgZXJyb3JzLCBieXRlb3JkZXIpLAorICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfR0VUX0xFTkdUSChzdHIpKTsKICAgICBQeV9ERUNSRUYoc3RyKTsKICAgICByZXR1cm4gdjsKIH0KQEAgLTgzMCwxMyArODY4LDEyIEBACiAgICAgICAgIHJldHVybiBOVUxMOwogCiAgICAgc3RyID0gUHlVbmljb2RlX0Zyb21PYmplY3Qoc3RyKTsKLSAgICBpZiAoc3RyID09IE5VTEwpCisgICAgaWYgKHN0ciA9PSBOVUxMIHx8IFB5VW5pY29kZV9SRUFEWShzdHIpIDwgMCkgeworICAgICAgICBQeV9YREVDUkVGKHN0cik7CiAgICAgICAgIHJldHVybiBOVUxMOwotICAgIHYgPSBjb2RlY190dXBsZShQeVVuaWNvZGVfRW5jb2RlVVRGMzIoUHlVbmljb2RlX0FTX1VOSUNPREUoc3RyKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9HRVRfU0laRShzdHIpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEpLAotICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfR0VUX1NJWkUoc3RyKSk7CisgICAgfQorICAgIHYgPSBjb2RlY190dXBsZShfUHlVbmljb2RlX0VuY29kZVVURjMyKHN0ciwgZXJyb3JzLCAtMSksCisgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9HRVRfTEVOR1RIKHN0cikpOwogICAgIFB5X0RFQ1JFRihzdHIpOwogICAgIHJldHVybiB2OwogfQpAQCAtODUzLDEzICs4OTAsMTIgQEAKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKICAgICBzdHIgPSBQeVVuaWNvZGVfRnJvbU9iamVjdChzdHIpOwotICAgIGlmIChzdHIgPT0gTlVMTCkKKyAgICBpZiAoc3RyID09IE5VTEwgfHwgUHlVbmljb2RlX1JFQURZKHN0cikgPCAwKSB7CisgICAgICAgIFB5X1hERUNSRUYoc3RyKTsKICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgdiA9IGNvZGVjX3R1cGxlKFB5VW5pY29kZV9FbmNvZGVVVEYzMihQeVVuaWNvZGVfQVNfVU5JQ09ERShzdHIpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0dFVF9TSVpFKHN0ciksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICArMSksCi0gICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9HRVRfU0laRShzdHIpKTsKKyAgICB9CisgICAgdiA9IGNvZGVjX3R1cGxlKF9QeVVuaWNvZGVfRW5jb2RlVVRGMzIoc3RyLCBlcnJvcnMsICsxKSwKKyAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0dFVF9MRU5HVEgoc3RyKSk7CiAgICAgUHlfREVDUkVGKHN0cik7CiAgICAgcmV0dXJuIHY7CiB9CkBAIC04NzYsMTEgKzkxMiwxMiBAQAogICAgICAgICByZXR1cm4gTlVMTDsKIAogICAgIHN0ciA9IFB5VW5pY29kZV9Gcm9tT2JqZWN0KHN0cik7Ci0gICAgaWYgKHN0ciA9PSBOVUxMKQorICAgIGlmIChzdHIgPT0gTlVMTCB8fCBQeVVuaWNvZGVfUkVBRFkoc3RyKSA8IDApIHsKKyAgICAgICAgUHlfWERFQ1JFRihzdHIpOwogICAgICAgICByZXR1cm4gTlVMTDsKLSAgICB2ID0gY29kZWNfdHVwbGUoUHlVbmljb2RlX0VuY29kZVVuaWNvZGVFc2NhcGUoUHlVbmljb2RlX0FTX1VOSUNPREUoc3RyKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0dFVF9TSVpFKHN0cikpLAotICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfR0VUX1NJWkUoc3RyKSk7CisgICAgfQorICAgIHYgPSBjb2RlY190dXBsZShQeVVuaWNvZGVfQXNVbmljb2RlRXNjYXBlU3RyaW5nKHN0ciksCisgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9HRVRfTEVOR1RIKHN0cikpOwogICAgIFB5X0RFQ1JFRihzdHIpOwogICAgIHJldHVybiB2OwogfQpAQCAtODk3LDEyICs5MzQsMTIgQEAKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKICAgICBzdHIgPSBQeVVuaWNvZGVfRnJvbU9iamVjdChzdHIpOwotICAgIGlmIChzdHIgPT0gTlVMTCkKKyAgICBpZiAoc3RyID09IE5VTEwgfHwgUHlVbmljb2RlX1JFQURZKHN0cikgPCAwKSB7CisgICAgICAgIFB5X1hERUNSRUYoc3RyKTsKICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgdiA9IGNvZGVjX3R1cGxlKFB5VW5pY29kZV9FbmNvZGVSYXdVbmljb2RlRXNjYXBlKAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9BU19VTklDT0RFKHN0ciksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0dFVF9TSVpFKHN0cikpLAotICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfR0VUX1NJWkUoc3RyKSk7CisgICAgfQorICAgIHYgPSBjb2RlY190dXBsZShQeVVuaWNvZGVfQXNSYXdVbmljb2RlRXNjYXBlU3RyaW5nKHN0ciksCisgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9HRVRfTEVOR1RIKHN0cikpOwogICAgIFB5X0RFQ1JFRihzdHIpOwogICAgIHJldHVybiB2OwogfQpAQCAtOTE5LDEzICs5NTYsMTIgQEAKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKICAgICBzdHIgPSBQeVVuaWNvZGVfRnJvbU9iamVjdChzdHIpOwotICAgIGlmIChzdHIgPT0gTlVMTCkKKyAgICBpZiAoc3RyID09IE5VTEwgfHwgUHlVbmljb2RlX1JFQURZKHN0cikgPCAwKSB7CisgICAgICAgIFB5X1hERUNSRUYoc3RyKTsKICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgdiA9IGNvZGVjX3R1cGxlKFB5VW5pY29kZV9FbmNvZGVMYXRpbjEoCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0FTX1VOSUNPREUoc3RyKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfR0VUX1NJWkUoc3RyKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcnMpLAotICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfR0VUX1NJWkUoc3RyKSk7CisgICAgfQorICAgIHYgPSBjb2RlY190dXBsZShfUHlVbmljb2RlX0FzTGF0aW4xU3RyaW5nKHN0ciwgZXJyb3JzKSwKKyAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0dFVF9MRU5HVEgoc3RyKSk7CiAgICAgUHlfREVDUkVGKHN0cik7CiAgICAgcmV0dXJuIHY7CiB9CkBAIC05NDIsMTMgKzk3OCwxMiBAQAogICAgICAgICByZXR1cm4gTlVMTDsKIAogICAgIHN0ciA9IFB5VW5pY29kZV9Gcm9tT2JqZWN0KHN0cik7Ci0gICAgaWYgKHN0ciA9PSBOVUxMKQorICAgIGlmIChzdHIgPT0gTlVMTCB8fCBQeVVuaWNvZGVfUkVBRFkoc3RyKSA8IDApIHsKKyAgICAgICAgUHlfWERFQ1JFRihzdHIpOwogICAgICAgICByZXR1cm4gTlVMTDsKLSAgICB2ID0gY29kZWNfdHVwbGUoUHlVbmljb2RlX0VuY29kZUFTQ0lJKAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9BU19VTklDT0RFKHN0ciksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0dFVF9TSVpFKHN0ciksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JzKSwKLSAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0dFVF9TSVpFKHN0cikpOworICAgIH0KKyAgICB2ID0gY29kZWNfdHVwbGUoX1B5VW5pY29kZV9Bc0FTQ0lJU3RyaW5nKHN0ciwgZXJyb3JzKSwKKyAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0dFVF9MRU5HVEgoc3RyKSk7CiAgICAgUHlfREVDUkVGKHN0cik7CiAgICAgcmV0dXJuIHY7CiB9CkBAIC05NjgsMTQgKzEwMDMsMTIgQEAKICAgICAgICAgbWFwcGluZyA9IE5VTEw7CiAKICAgICBzdHIgPSBQeVVuaWNvZGVfRnJvbU9iamVjdChzdHIpOwotICAgIGlmIChzdHIgPT0gTlVMTCkKKyAgICBpZiAoc3RyID09IE5VTEwgfHwgUHlVbmljb2RlX1JFQURZKHN0cikgPCAwKSB7CisgICAgICAgIFB5X1hERUNSRUYoc3RyKTsKICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgdiA9IGNvZGVjX3R1cGxlKFB5VW5pY29kZV9FbmNvZGVDaGFybWFwKAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9BU19VTklDT0RFKHN0ciksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0dFVF9TSVpFKHN0ciksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwcGluZywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcnMpLAotICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfR0VUX1NJWkUoc3RyKSk7CisgICAgfQorICAgIHYgPSBjb2RlY190dXBsZShfUHlVbmljb2RlX0VuY29kZUNoYXJtYXAoc3RyLCBtYXBwaW5nLCBlcnJvcnMpLAorICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfR0VUX0xFTkdUSChzdHIpKTsKICAgICBQeV9ERUNSRUYoc3RyKTsKICAgICByZXR1cm4gdjsKIH0KQEAgLTk4OSw3ICsxMDIyLDcgQEAKICAgICByZXR1cm4gUHlVbmljb2RlX0J1aWxkRW5jb2RpbmdNYXAobWFwKTsKIH0KIAotI2lmIGRlZmluZWQoTVNfV0lORE9XUykgJiYgZGVmaW5lZChIQVZFX1VTQUJMRV9XQ0hBUl9UKQorI2lmZGVmIEhBVkVfTUJDUwogCiBzdGF0aWMgUHlPYmplY3QgKgogbWJjc19lbmNvZGUoUHlPYmplY3QgKnNlbGYsCkBAIC0xMDAzLDE4ICsxMDM2LDQyIEBACiAgICAgICAgIHJldHVybiBOVUxMOwogCiAgICAgc3RyID0gUHlVbmljb2RlX0Zyb21PYmplY3Qoc3RyKTsKLSAgICBpZiAoc3RyID09IE5VTEwpCisgICAgaWYgKHN0ciA9PSBOVUxMIHx8IFB5VW5pY29kZV9SRUFEWShzdHIpIDwgMCkgeworICAgICAgICBQeV9YREVDUkVGKHN0cik7CiAgICAgICAgIHJldHVybiBOVUxMOwotICAgIHYgPSBjb2RlY190dXBsZShQeVVuaWNvZGVfRW5jb2RlTUJDUygKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfQVNfVU5JQ09ERShzdHIpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9HRVRfU0laRShzdHIpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9ycyksCi0gICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9HRVRfU0laRShzdHIpKTsKKyAgICB9CisgICAgdiA9IGNvZGVjX3R1cGxlKFB5VW5pY29kZV9FbmNvZGVDb2RlUGFnZShDUF9BQ1AsIHN0ciwgZXJyb3JzKSwKKyAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0dFVF9MRU5HVEgoc3RyKSk7CiAgICAgUHlfREVDUkVGKHN0cik7CiAgICAgcmV0dXJuIHY7CiB9CiAKLSNlbmRpZiAvKiBNU19XSU5ET1dTICovCitzdGF0aWMgUHlPYmplY3QgKgorY29kZV9wYWdlX2VuY29kZShQeU9iamVjdCAqc2VsZiwKKyAgICAgICAgICAgICAgICAgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKnN0ciwgKnY7CisgICAgY29uc3QgY2hhciAqZXJyb3JzID0gTlVMTDsKKyAgICBpbnQgY29kZV9wYWdlOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJpT3x6OmNvZGVfcGFnZV9lbmNvZGUiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAmY29kZV9wYWdlLCAmc3RyLCAmZXJyb3JzKSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICBzdHIgPSBQeVVuaWNvZGVfRnJvbU9iamVjdChzdHIpOworICAgIGlmIChzdHIgPT0gTlVMTCB8fCBQeVVuaWNvZGVfUkVBRFkoc3RyKSA8IDApIHsKKyAgICAgICAgUHlfWERFQ1JFRihzdHIpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisgICAgdiA9IGNvZGVjX3R1cGxlKFB5VW5pY29kZV9FbmNvZGVDb2RlUGFnZShjb2RlX3BhZ2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcnMpLAorICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfR0VUX0xFTkdUSChzdHIpKTsKKyAgICBQeV9ERUNSRUYoc3RyKTsKKyAgICByZXR1cm4gdjsKK30KKworI2VuZGlmIC8qIEhBVkVfTUJDUyAqLwogCiAvKiAtLS0gRXJyb3IgaGFuZGxlciByZWdpc3RyeSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KIApAQCAtMTEwMSw5ICsxMTU4LDExIEBACiAgICAgeyJjaGFybWFwX2RlY29kZSIsICAgICAgICAgIGNoYXJtYXBfZGVjb2RlLCAgICAgICAgICAgICAgICAgTUVUSF9WQVJBUkdTfSwKICAgICB7ImNoYXJtYXBfYnVpbGQiLCAgICAgICAgICAgY2hhcm1hcF9idWlsZCwgICAgICAgICAgICAgICAgICBNRVRIX1ZBUkFSR1N9LAogICAgIHsicmVhZGJ1ZmZlcl9lbmNvZGUiLCAgICAgICByZWFkYnVmZmVyX2VuY29kZSwgICAgICAgICAgICAgIE1FVEhfVkFSQVJHU30sCi0jaWYgZGVmaW5lZChNU19XSU5ET1dTKSAmJiBkZWZpbmVkKEhBVkVfVVNBQkxFX1dDSEFSX1QpCisjaWZkZWYgSEFWRV9NQkNTCiAgICAgeyJtYmNzX2VuY29kZSIsICAgICAgICAgICAgIG1iY3NfZW5jb2RlLCAgICAgICAgICAgICAgICAgICAgTUVUSF9WQVJBUkdTfSwKICAgICB7Im1iY3NfZGVjb2RlIiwgICAgICAgICAgICAgbWJjc19kZWNvZGUsICAgICAgICAgICAgICAgICAgICBNRVRIX1ZBUkFSR1N9LAorICAgIHsiY29kZV9wYWdlX2VuY29kZSIsICAgICAgICBjb2RlX3BhZ2VfZW5jb2RlLCAgICAgICAgICAgICAgIE1FVEhfVkFSQVJHU30sCisgICAgeyJjb2RlX3BhZ2VfZGVjb2RlIiwgICAgICAgIGNvZGVfcGFnZV9kZWNvZGUsICAgICAgICAgICAgICAgTUVUSF9WQVJBUkdTfSwKICNlbmRpZgogICAgIHsicmVnaXN0ZXJfZXJyb3IiLCAgICAgICAgICByZWdpc3Rlcl9lcnJvciwgICAgICAgICAgICAgICAgIE1FVEhfVkFSQVJHUywKICAgICAgICAgcmVnaXN0ZXJfZXJyb3JfX2RvY19ffSwKZGlmZiAtLWdpdCBhL01vZHVsZXMvX2NvbGxlY3Rpb25zbW9kdWxlLmMgYi9Nb2R1bGVzL19jb2xsZWN0aW9uc21vZHVsZS5jCmluZGV4IDQzNDMxNTkuLmRjMThlN2UgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvX2NvbGxlY3Rpb25zbW9kdWxlLmMKKysrIGIvTW9kdWxlcy9fY29sbGVjdGlvbnNtb2R1bGUuYwpAQCAtNzY3LDggKzc2Nyw5IEBACiBkZXF1ZV9yZWR1Y2UoZGVxdWVvYmplY3QgKmRlcXVlKQogewogICAgIFB5T2JqZWN0ICpkaWN0LCAqcmVzdWx0LCAqYXNsaXN0OworICAgIF9QeV9JREVOVElGSUVSKF9fZGljdF9fKTsKIAotICAgIGRpY3QgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKChQeU9iamVjdCAqKWRlcXVlLCAiX19kaWN0X18iKTsKKyAgICBkaWN0ID0gX1B5T2JqZWN0X0dldEF0dHJJZCgoUHlPYmplY3QgKilkZXF1ZSwgJlB5SWRfX19kaWN0X18pOwogICAgIGlmIChkaWN0ID09IE5VTEwpCiAgICAgICAgIFB5RXJyX0NsZWFyKCk7CiAgICAgYXNsaXN0ID0gUHlTZXF1ZW5jZV9MaXN0KChQeU9iamVjdCAqKWRlcXVlKTsKQEAgLTgzMiw4ICs4MzMsNyBAQAogCiAgICAgaWYgKCFQeU9iamVjdF9UeXBlQ2hlY2sodiwgJmRlcXVlX3R5cGUpIHx8CiAgICAgICAgICFQeU9iamVjdF9UeXBlQ2hlY2sodywgJmRlcXVlX3R5cGUpKSB7Ci0gICAgICAgIFB5X0lOQ1JFRihQeV9Ob3RJbXBsZW1lbnRlZCk7Ci0gICAgICAgIHJldHVybiBQeV9Ob3RJbXBsZW1lbnRlZDsKKyAgICAgICAgUHlfUkVUVVJOX05PVElNUExFTUVOVEVEOwogICAgIH0KIAogICAgIC8qIFNob3J0Y3V0cyAqLwpAQCAtMTMzNSwxMyArMTMzNSwxNSBAQAogICAgIFB5T2JqZWN0ICppdGVtczsKICAgICBQeU9iamVjdCAqaXRlcjsKICAgICBQeU9iamVjdCAqcmVzdWx0OworICAgIF9QeV9JREVOVElGSUVSKGl0ZW1zKTsKKwogICAgIGlmIChkZC0+ZGVmYXVsdF9mYWN0b3J5ID09IE5VTEwgfHwgZGQtPmRlZmF1bHRfZmFjdG9yeSA9PSBQeV9Ob25lKQogICAgICAgICBhcmdzID0gUHlUdXBsZV9OZXcoMCk7CiAgICAgZWxzZQogICAgICAgICBhcmdzID0gUHlUdXBsZV9QYWNrKDEsIGRkLT5kZWZhdWx0X2ZhY3RvcnkpOwogICAgIGlmIChhcmdzID09IE5VTEwpCiAgICAgICAgIHJldHVybiBOVUxMOwotICAgIGl0ZW1zID0gUHlPYmplY3RfQ2FsbE1ldGhvZCgoUHlPYmplY3QgKilkZCwgIml0ZW1zIiwgIigpIik7CisgICAgaXRlbXMgPSBfUHlPYmplY3RfQ2FsbE1ldGhvZElkKChQeU9iamVjdCAqKWRkLCAmUHlJZF9pdGVtcywgIigpIik7CiAgICAgaWYgKGl0ZW1zID09IE5VTEwpIHsKICAgICAgICAgUHlfREVDUkVGKGFyZ3MpOwogICAgICAgICByZXR1cm4gTlVMTDsKQEAgLTE1NTQsMTIgKzE1NTYsOCBAQAogICAgIGlmIChQeURpY3RfQ2hlY2tFeGFjdChtYXBwaW5nKSkgewogICAgICAgICB3aGlsZSAoMSkgewogICAgICAgICAgICAga2V5ID0gUHlJdGVyX05leHQoaXQpOwotICAgICAgICAgICAgaWYgKGtleSA9PSBOVUxMKSB7Ci0gICAgICAgICAgICAgICAgaWYgKFB5RXJyX09jY3VycmVkKCkgJiYgUHlFcnJfRXhjZXB0aW9uTWF0Y2hlcyhQeUV4Y19TdG9wSXRlcmF0aW9uKSkKLSAgICAgICAgICAgICAgICAgICAgUHlFcnJfQ2xlYXIoKTsKLSAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKGtleSA9PSBOVUxMKQorICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgb2xkdmFsID0gUHlEaWN0X0dldEl0ZW0obWFwcGluZywga2V5KTsKICAgICAgICAgICAgIGlmIChvbGR2YWwgPT0gTlVMTCkgewogICAgICAgICAgICAgICAgIGlmIChQeURpY3RfU2V0SXRlbShtYXBwaW5nLCBrZXksIG9uZSkgPT0gLTEpCkBAIC0xNTc3LDEyICsxNTc1LDggQEAKICAgICB9IGVsc2UgewogICAgICAgICB3aGlsZSAoMSkgewogICAgICAgICAgICAga2V5ID0gUHlJdGVyX05leHQoaXQpOwotICAgICAgICAgICAgaWYgKGtleSA9PSBOVUxMKSB7Ci0gICAgICAgICAgICAgICAgaWYgKFB5RXJyX09jY3VycmVkKCkgJiYgUHlFcnJfRXhjZXB0aW9uTWF0Y2hlcyhQeUV4Y19TdG9wSXRlcmF0aW9uKSkKLSAgICAgICAgICAgICAgICAgICAgUHlFcnJfQ2xlYXIoKTsKLSAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKGtleSA9PSBOVUxMKQorICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgb2xkdmFsID0gUHlPYmplY3RfR2V0SXRlbShtYXBwaW5nLCBrZXkpOwogICAgICAgICAgICAgaWYgKG9sZHZhbCA9PSBOVUxMKSB7CiAgICAgICAgICAgICAgICAgaWYgKCFQeUVycl9PY2N1cnJlZCgpIHx8ICFQeUVycl9FeGNlcHRpb25NYXRjaGVzKFB5RXhjX0tleUVycm9yKSkKZGlmZiAtLWdpdCBhL01vZHVsZXMvY3J5cHRtb2R1bGUuYyBiL01vZHVsZXMvX2NyeXB0bW9kdWxlLmMKc2ltaWxhcml0eSBpbmRleCA5NyUKcmVuYW1lIGZyb20gTW9kdWxlcy9jcnlwdG1vZHVsZS5jCnJlbmFtZSB0byBNb2R1bGVzL19jcnlwdG1vZHVsZS5jCmluZGV4IGQ1YTQyZmYuLjUxMDA3ODggMTAwNjQ0Ci0tLSBhL01vZHVsZXMvY3J5cHRtb2R1bGUuYworKysgYi9Nb2R1bGVzL19jcnlwdG1vZHVsZS5jCkBAIC00NSw3ICs0NSw3IEBACiAKIHN0YXRpYyBzdHJ1Y3QgUHlNb2R1bGVEZWYgY3J5cHRtb2R1bGUgPSB7CiAgICAgUHlNb2R1bGVEZWZfSEVBRF9JTklULAotICAgICJjcnlwdCIsCisgICAgIl9jcnlwdCIsCiAgICAgTlVMTCwKICAgICAtMSwKICAgICBjcnlwdF9tZXRob2RzLApAQCAtNTYsNyArNTYsNyBAQAogfTsKIAogUHlNT0RJTklUX0ZVTkMKLVB5SW5pdF9jcnlwdCh2b2lkKQorUHlJbml0X19jcnlwdCh2b2lkKQogewogICAgIHJldHVybiBQeU1vZHVsZV9DcmVhdGUoJmNyeXB0bW9kdWxlKTsKIH0KZGlmZiAtLWdpdCBhL01vZHVsZXMvX2Nzdi5jIGIvTW9kdWxlcy9fY3N2LmMKaW5kZXggYTc0OWNlYy4uNDQzMzA5YyAxMDA2NDQKLS0tIGEvTW9kdWxlcy9fY3N2LmMKKysrIGIvTW9kdWxlcy9fY3N2LmMKQEAgLTQ3LDkgKzQ3LDkgQEAKICAgICBQeU9iamVjdF9IRUFECiAKICAgICBpbnQgZG91YmxlcXVvdGU7ICAgICAgICAgICAgLyogaXMgIiByZXByZXNlbnRlZCBieSAiIj8gKi8KLSAgICBQeV9VTklDT0RFIGRlbGltaXRlcjsgICAgICAgLyogZmllbGQgc2VwYXJhdG9yICovCi0gICAgUHlfVU5JQ09ERSBxdW90ZWNoYXI7ICAgICAgIC8qIHF1b3RlIGNoYXJhY3RlciAqLwotICAgIFB5X1VOSUNPREUgZXNjYXBlY2hhcjsgICAgICAvKiBlc2NhcGUgY2hhcmFjdGVyICovCisgICAgUHlfVUNTNCBkZWxpbWl0ZXI7ICAgICAgIC8qIGZpZWxkIHNlcGFyYXRvciAqLworICAgIFB5X1VDUzQgcXVvdGVjaGFyOyAgICAgICAvKiBxdW90ZSBjaGFyYWN0ZXIgKi8KKyAgICBQeV9VQ1M0IGVzY2FwZWNoYXI7ICAgICAgLyogZXNjYXBlIGNoYXJhY3RlciAqLwogICAgIGludCBza2lwaW5pdGlhbHNwYWNlOyAgICAgICAvKiBpZ25vcmUgc3BhY2VzIGZvbGxvd2luZyBkZWxpbWl0ZXI/ICovCiAgICAgUHlPYmplY3QgKmxpbmV0ZXJtaW5hdG9yOyAvKiBzdHJpbmcgdG8gd3JpdGUgYmV0d2VlbiByZWNvcmRzICovCiAgICAgaW50IHF1b3Rpbmc7ICAgICAgICAgICAgICAgIC8qIHN0eWxlIG9mIHF1b3RpbmcgdG8gd3JpdGUgKi8KQEAgLTY4LDcgKzY4LDcgQEAKIAogICAgIFB5T2JqZWN0ICpmaWVsZHM7ICAgICAgICAgICAvKiBmaWVsZCBsaXN0IGZvciBjdXJyZW50IHJlY29yZCAqLwogICAgIFBhcnNlclN0YXRlIHN0YXRlOyAgICAgICAgICAvKiBjdXJyZW50IENTViBwYXJzZSBzdGF0ZSAqLwotICAgIFB5X1VOSUNPREUgKmZpZWxkOyAgICAgICAgICAvKiBidWlsZCBjdXJyZW50IGZpZWxkIGluIGhlcmUgKi8KKyAgICBQeV9VQ1M0ICpmaWVsZDsgICAgICAgICAgICAgLyogdGVtcG9yYXJ5IGJ1ZmZlciAqLwogICAgIFB5X3NzaXplX3QgZmllbGRfc2l6ZTsgICAgICAvKiBzaXplIG9mIGFsbG9jYXRlZCBidWZmZXIgKi8KICAgICBQeV9zc2l6ZV90IGZpZWxkX2xlbjsgICAgICAgLyogbGVuZ3RoIG9mIGN1cnJlbnQgZmllbGQgKi8KICAgICBpbnQgbnVtZXJpY19maWVsZDsgICAgICAgICAgLyogdHJlYXQgZmllbGQgYXMgbnVtZXJpYyAqLwpAQCAtODYsNyArODYsNyBAQAogCiAgICAgRGlhbGVjdE9iaiAqZGlhbGVjdDsgICAgLyogcGFyc2luZyBkaWFsZWN0ICovCiAKLSAgICBQeV9VTklDT0RFICpyZWM7ICAgICAgICAgICAgLyogYnVmZmVyIGZvciBwYXJzZXIuam9pbiAqLworICAgIFB5X1VDUzQgKnJlYzsgICAgICAgICAgICAvKiBidWZmZXIgZm9yIHBhcnNlci5qb2luICovCiAgICAgUHlfc3NpemVfdCByZWNfc2l6ZTsgICAgICAgIC8qIHNpemUgb2YgYWxsb2NhdGVkIHJlY29yZCAqLwogICAgIFB5X3NzaXplX3QgcmVjX2xlbjsgICAgICAgICAvKiBsZW5ndGggb2YgcmVjb3JkICovCiAgICAgaW50IG51bV9maWVsZHM7ICAgICAgICAgICAgIC8qIG51bWJlciBvZiBmaWVsZHMgaW4gcmVjb3JkICovCkBAIC0xMjEsMTQgKzEyMSwxNCBAQAogfQogCiBzdGF0aWMgUHlPYmplY3QgKgotZ2V0X251bGxjaGFyX2FzX05vbmUoUHlfVU5JQ09ERSBjKQorZ2V0X251bGxjaGFyX2FzX05vbmUoUHlfVUNTNCBjKQogewogICAgIGlmIChjID09ICdcMCcpIHsKICAgICAgICAgUHlfSU5DUkVGKFB5X05vbmUpOwogICAgICAgICByZXR1cm4gUHlfTm9uZTsKICAgICB9CiAgICAgZWxzZQotICAgICAgICByZXR1cm4gUHlVbmljb2RlX0Zyb21Vbmljb2RlKChQeV9VTklDT0RFICopJmMsIDEpOworICAgICAgICByZXR1cm4gUHlVbmljb2RlX0Zyb21PcmRpbmFsKGMpOwogfQogCiBzdGF0aWMgUHlPYmplY3QgKgpAQCAtMTk5LDI1ICsxOTksMjMgQEAKIH0KIAogc3RhdGljIGludAotX3NldF9jaGFyKGNvbnN0IGNoYXIgKm5hbWUsIFB5X1VOSUNPREUgKnRhcmdldCwgUHlPYmplY3QgKnNyYywgUHlfVU5JQ09ERSBkZmx0KQorX3NldF9jaGFyKGNvbnN0IGNoYXIgKm5hbWUsIFB5X1VDUzQgKnRhcmdldCwgUHlPYmplY3QgKnNyYywgUHlfVUNTNCBkZmx0KQogewogICAgIGlmIChzcmMgPT0gTlVMTCkKICAgICAgICAgKnRhcmdldCA9IGRmbHQ7CiAgICAgZWxzZSB7CiAgICAgICAgICp0YXJnZXQgPSAnXDAnOwogICAgICAgICBpZiAoc3JjICE9IFB5X05vbmUpIHsKLSAgICAgICAgICAgIFB5X1VOSUNPREUgKmJ1ZjsKICAgICAgICAgICAgIFB5X3NzaXplX3QgbGVuOwotICAgICAgICAgICAgYnVmID0gUHlVbmljb2RlX0FzVW5pY29kZShzcmMpOwotICAgICAgICAgICAgbGVuID0gUHlVbmljb2RlX0dldFNpemUoc3JjKTsKLSAgICAgICAgICAgIGlmIChidWYgPT0gTlVMTCB8fCBsZW4gPiAxKSB7CisgICAgICAgICAgICBsZW4gPSBQeVVuaWNvZGVfR2V0TGVuZ3RoKHNyYyk7CisgICAgICAgICAgICBpZiAobGVuID4gMSkgewogICAgICAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsCiAgICAgICAgICAgICAgICAgICAgICJcIiVzXCIgbXVzdCBiZSBhbiAxLWNoYXJhY3RlciBzdHJpbmciLAogICAgICAgICAgICAgICAgICAgICBuYW1lKTsKICAgICAgICAgICAgICAgICByZXR1cm4gLTE7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBpZiAobGVuID4gMCkKLSAgICAgICAgICAgICAgICAqdGFyZ2V0ID0gYnVmWzBdOworICAgICAgICAgICAgICAgICp0YXJnZXQgPSBQeVVuaWNvZGVfUkVBRF9DSEFSKHNyYywgMCk7CiAgICAgICAgIH0KICAgICB9CiAgICAgcmV0dXJuIDA7CkBAIC00OTgsNyArNDk2LDggQEAKIHsKICAgICBQeU9iamVjdCAqZmllbGQ7CiAKLSAgICBmaWVsZCA9IFB5VW5pY29kZV9Gcm9tVW5pY29kZShzZWxmLT5maWVsZCwgc2VsZi0+ZmllbGRfbGVuKTsKKyAgICBmaWVsZCA9IFB5VW5pY29kZV9Gcm9tS2luZEFuZERhdGEoUHlVbmljb2RlXzRCWVRFX0tJTkQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh2b2lkICopIHNlbGYtPmZpZWxkLCBzZWxmLT5maWVsZF9sZW4pOwogICAgIGlmIChmaWVsZCA9PSBOVUxMKQogICAgICAgICByZXR1cm4gLTE7CiAgICAgc2VsZi0+ZmllbGRfbGVuID0gMDsKQEAgLTUwNywxMSArNTA2LDkgQEAKIAogICAgICAgICBzZWxmLT5udW1lcmljX2ZpZWxkID0gMDsKICAgICAgICAgdG1wID0gUHlOdW1iZXJfRmxvYXQoZmllbGQpOwotICAgICAgICBpZiAodG1wID09IE5VTEwpIHsKLSAgICAgICAgICAgIFB5X0RFQ1JFRihmaWVsZCk7Ci0gICAgICAgICAgICByZXR1cm4gLTE7Ci0gICAgICAgIH0KICAgICAgICAgUHlfREVDUkVGKGZpZWxkKTsKKyAgICAgICAgaWYgKHRtcCA9PSBOVUxMKQorICAgICAgICAgICAgcmV0dXJuIC0xOwogICAgICAgICBmaWVsZCA9IHRtcDsKICAgICB9CiAgICAgUHlMaXN0X0FwcGVuZChzZWxmLT5maWVsZHMsIGZpZWxkKTsKQEAgLTUyNiwxNiArNTIzLDE2IEBACiAgICAgICAgIHNlbGYtPmZpZWxkX3NpemUgPSA0MDk2OwogICAgICAgICBpZiAoc2VsZi0+ZmllbGQgIT0gTlVMTCkKICAgICAgICAgICAgIFB5TWVtX0ZyZWUoc2VsZi0+ZmllbGQpOwotICAgICAgICBzZWxmLT5maWVsZCA9IFB5TWVtX05ldyhQeV9VTklDT0RFLCBzZWxmLT5maWVsZF9zaXplKTsKKyAgICAgICAgc2VsZi0+ZmllbGQgPSBQeU1lbV9OZXcoUHlfVUNTNCwgc2VsZi0+ZmllbGRfc2l6ZSk7CiAgICAgfQogICAgIGVsc2UgeworICAgICAgICBQeV9VQ1M0ICpmaWVsZCA9IHNlbGYtPmZpZWxkOwogICAgICAgICBpZiAoc2VsZi0+ZmllbGRfc2l6ZSA+IFBZX1NTSVpFX1RfTUFYIC8gMikgewogICAgICAgICAgICAgUHlFcnJfTm9NZW1vcnkoKTsKICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICB9CiAgICAgICAgIHNlbGYtPmZpZWxkX3NpemUgKj0gMjsKLSAgICAgICAgc2VsZi0+ZmllbGQgPSBQeU1lbV9SZXNpemUoc2VsZi0+ZmllbGQsIFB5X1VOSUNPREUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYtPmZpZWxkX3NpemUpOworICAgICAgICBzZWxmLT5maWVsZCA9IFB5TWVtX1Jlc2l6ZShmaWVsZCwgUHlfVUNTNCwgc2VsZi0+ZmllbGRfc2l6ZSk7CiAgICAgfQogICAgIGlmIChzZWxmLT5maWVsZCA9PSBOVUxMKSB7CiAgICAgICAgIFB5RXJyX05vTWVtb3J5KCk7CkBAIC01NDUsNyArNTQyLDcgQEAKIH0KIAogc3RhdGljIGludAotcGFyc2VfYWRkX2NoYXIoUmVhZGVyT2JqICpzZWxmLCBQeV9VTklDT0RFIGMpCitwYXJzZV9hZGRfY2hhcihSZWFkZXJPYmogKnNlbGYsIFB5X1VDUzQgYykKIHsKICAgICBpZiAoc2VsZi0+ZmllbGRfbGVuID49IGZpZWxkX2xpbWl0KSB7CiAgICAgICAgIFB5RXJyX0Zvcm1hdChlcnJvcl9vYmosICJmaWVsZCBsYXJnZXIgdGhhbiBmaWVsZCBsaW1pdCAoJWxkKSIsCkBAIC01NTksNyArNTU2LDcgQEAKIH0KIAogc3RhdGljIGludAotcGFyc2VfcHJvY2Vzc19jaGFyKFJlYWRlck9iaiAqc2VsZiwgUHlfVU5JQ09ERSBjKQorcGFyc2VfcHJvY2Vzc19jaGFyKFJlYWRlck9iaiAqc2VsZiwgUHlfVUNTNCBjKQogewogICAgIERpYWxlY3RPYmogKmRpYWxlY3QgPSBzZWxmLT5kaWFsZWN0OwogCkBAIC03NDQsMTAgKzc0MSwxMiBAQAogc3RhdGljIFB5T2JqZWN0ICoKIFJlYWRlcl9pdGVybmV4dChSZWFkZXJPYmogKnNlbGYpCiB7Ci0gICAgUHlPYmplY3QgKmxpbmVvYmo7CiAgICAgUHlPYmplY3QgKmZpZWxkcyA9IE5VTEw7Ci0gICAgUHlfVU5JQ09ERSAqbGluZSwgYzsKLSAgICBQeV9zc2l6ZV90IGxpbmVsZW47CisgICAgUHlfVUNTNCBjOworICAgIFB5X3NzaXplX3QgcG9zLCBsaW5lbGVuOworICAgIHVuc2lnbmVkIGludCBraW5kOworICAgIHZvaWQgKmRhdGE7CisgICAgUHlPYmplY3QgKmxpbmVvYmo7CiAKICAgICBpZiAocGFyc2VfcmVzZXQoc2VsZikgPCAwKQogICAgICAgICByZXR1cm4gTlVMTDsKQEAgLTc3MSwxNCArNzcwLDEyIEBACiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICAgICAgfQogICAgICAgICArK3NlbGYtPmxpbmVfbnVtOwotICAgICAgICBsaW5lID0gUHlVbmljb2RlX0FzVW5pY29kZShsaW5lb2JqKTsKLSAgICAgICAgbGluZWxlbiA9IFB5VW5pY29kZV9HZXRTaXplKGxpbmVvYmopOwotICAgICAgICBpZiAobGluZSA9PSBOVUxMIHx8IGxpbmVsZW4gPCAwKSB7Ci0gICAgICAgICAgICBQeV9ERUNSRUYobGluZW9iaik7Ci0gICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgfQorICAgICAgICBraW5kID0gUHlVbmljb2RlX0tJTkQobGluZW9iaik7CisgICAgICAgIGRhdGEgPSBQeVVuaWNvZGVfREFUQShsaW5lb2JqKTsKKyAgICAgICAgcG9zID0gMDsKKyAgICAgICAgbGluZWxlbiA9IFB5VW5pY29kZV9HRVRfTEVOR1RIKGxpbmVvYmopOwogICAgICAgICB3aGlsZSAobGluZWxlbi0tKSB7Ci0gICAgICAgICAgICBjID0gKmxpbmUrKzsKKyAgICAgICAgICAgIGMgPSBQeVVuaWNvZGVfUkVBRChraW5kLCBkYXRhLCBwb3MpOwogICAgICAgICAgICAgaWYgKGMgPT0gJ1wwJykgewogICAgICAgICAgICAgICAgIFB5X0RFQ1JFRihsaW5lb2JqKTsKICAgICAgICAgICAgICAgICBQeUVycl9Gb3JtYXQoZXJyb3Jfb2JqLApAQCAtNzg5LDYgKzc4Niw3IEBACiAgICAgICAgICAgICAgICAgUHlfREVDUkVGKGxpbmVvYmopOwogICAgICAgICAgICAgICAgIGdvdG8gZXJyOwogICAgICAgICAgICAgfQorICAgICAgICAgICAgcG9zKys7CiAgICAgICAgIH0KICAgICAgICAgUHlfREVDUkVGKGxpbmVvYmopOwogICAgICAgICBpZiAocGFyc2VfcHJvY2Vzc19jaGFyKHNlbGYsIDApIDwgMCkKQEAgLTk0NSwxMyArOTQzLDEzIEBACiAgKiByZWNvcmQgbGVuZ3RoLgogICovCiBzdGF0aWMgUHlfc3NpemVfdAotam9pbl9hcHBlbmRfZGF0YShXcml0ZXJPYmogKnNlbGYsIFB5X1VOSUNPREUgKmZpZWxkLCBpbnQgcXVvdGVfZW1wdHksCi0gICAgICAgICAgICAgICAgIGludCAqcXVvdGVkLCBpbnQgY29weV9waGFzZSkKK2pvaW5fYXBwZW5kX2RhdGEoV3JpdGVyT2JqICpzZWxmLCB1bnNpZ25lZCBpbnQgZmllbGRfa2luZCwgdm9pZCAqZmllbGRfZGF0YSwKKyAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBmaWVsZF9sZW4sIGludCBxdW90ZV9lbXB0eSwgaW50ICpxdW90ZWQsCisgICAgICAgICAgICAgICAgIGludCBjb3B5X3BoYXNlKQogewogICAgIERpYWxlY3RPYmogKmRpYWxlY3QgPSBzZWxmLT5kaWFsZWN0OwogICAgIGludCBpOwogICAgIFB5X3NzaXplX3QgcmVjX2xlbjsKLSAgICBQeV9VTklDT0RFICpsaW5ldGVybTsKIAogI2RlZmluZSBBRERDSChjKSBcCiAgICAgZG8ge1wKQEAgLTk2MCwxMCArOTU4LDYgQEAKICAgICAgICAgcmVjX2xlbisrO1wKICAgICB9IHdoaWxlKDApCiAKLSAgICBsaW5ldGVybSA9IFB5VW5pY29kZV9Bc1VuaWNvZGUoZGlhbGVjdC0+bGluZXRlcm1pbmF0b3IpOwotICAgIGlmIChsaW5ldGVybSA9PSBOVUxMKQotICAgICAgICByZXR1cm4gLTE7Ci0KICAgICByZWNfbGVuID0gc2VsZi0+cmVjX2xlbjsKIAogICAgIC8qIElmIHRoaXMgaXMgbm90IHRoZSBmaXJzdCBmaWVsZCB3ZSBuZWVkIGEgZmllbGQgc2VwYXJhdG9yICovCkBAIC05NzYsMTcgKzk3MCwxNiBAQAogCiAgICAgLyogQ29weS9jb3VudCBmaWVsZCBkYXRhICovCiAgICAgLyogSWYgZmllbGQgaXMgbnVsbCBqdXN0IHBhc3Mgb3ZlciAqLwotICAgIGZvciAoaSA9IDA7IGZpZWxkOyBpKyspIHsKLSAgICAgICAgUHlfVU5JQ09ERSBjID0gZmllbGRbaV07CisgICAgZm9yIChpID0gMDsgZmllbGRfZGF0YSAmJiAoaSA8IGZpZWxkX2xlbik7IGkrKykgeworICAgICAgICBQeV9VQ1M0IGMgPSBQeVVuaWNvZGVfUkVBRChmaWVsZF9raW5kLCBmaWVsZF9kYXRhLCBpKTsKICAgICAgICAgaW50IHdhbnRfZXNjYXBlID0gMDsKIAotICAgICAgICBpZiAoYyA9PSAnXDAnKQotICAgICAgICAgICAgYnJlYWs7Ci0KICAgICAgICAgaWYgKGMgPT0gZGlhbGVjdC0+ZGVsaW1pdGVyIHx8CiAgICAgICAgICAgICBjID09IGRpYWxlY3QtPmVzY2FwZWNoYXIgfHwKICAgICAgICAgICAgIGMgPT0gZGlhbGVjdC0+cXVvdGVjaGFyICB8fAotICAgICAgICAgICAgUHlfVU5JQ09ERV9zdHJjaHIobGluZXRlcm0sIGMpKSB7CisgICAgICAgICAgICBQeVVuaWNvZGVfRmluZENoYXIoCisgICAgICAgICAgICAgICAgZGlhbGVjdC0+bGluZXRlcm1pbmF0b3IsIGMsIDAsCisgICAgICAgICAgICAgICAgUHlVbmljb2RlX0dFVF9MRU5HVEgoZGlhbGVjdC0+bGluZXRlcm1pbmF0b3IpLCAxKSA+PSAwKSB7CiAgICAgICAgICAgICBpZiAoZGlhbGVjdC0+cXVvdGluZyA9PSBRVU9URV9OT05FKQogICAgICAgICAgICAgICAgIHdhbnRfZXNjYXBlID0gMTsKICAgICAgICAgICAgIGVsc2UgewpAQCAtMTA0OSwxNCArMTA0MiwxMyBAQAogICAgICAgICAgICAgc2VsZi0+cmVjX3NpemUgPSAocmVjX2xlbiAvIE1FTV9JTkNSICsgMSkgKiBNRU1fSU5DUjsKICAgICAgICAgICAgIGlmIChzZWxmLT5yZWMgIT0gTlVMTCkKICAgICAgICAgICAgICAgICBQeU1lbV9GcmVlKHNlbGYtPnJlYyk7Ci0gICAgICAgICAgICBzZWxmLT5yZWMgPSBQeU1lbV9OZXcoUHlfVU5JQ09ERSwgc2VsZi0+cmVjX3NpemUpOworICAgICAgICAgICAgc2VsZi0+cmVjID0gUHlNZW1fTmV3KFB5X1VDUzQsIHNlbGYtPnJlY19zaXplKTsKICAgICAgICAgfQogICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgIFB5X1VOSUNPREUqIG9sZF9yZWMgPSBzZWxmLT5yZWM7CisgICAgICAgICAgICBQeV9VQ1M0KiBvbGRfcmVjID0gc2VsZi0+cmVjOwogCiAgICAgICAgICAgICBzZWxmLT5yZWNfc2l6ZSA9IChyZWNfbGVuIC8gTUVNX0lOQ1IgKyAxKSAqIE1FTV9JTkNSOwotICAgICAgICAgICAgc2VsZi0+cmVjID0gUHlNZW1fUmVzaXplKHNlbGYtPnJlYywgUHlfVU5JQ09ERSwKLSAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLT5yZWNfc2l6ZSk7CisgICAgICAgICAgICBzZWxmLT5yZWMgPSBQeU1lbV9SZXNpemUob2xkX3JlYywgUHlfVUNTNCwgc2VsZi0+cmVjX3NpemUpOwogICAgICAgICAgICAgaWYgKHNlbGYtPnJlYyA9PSBOVUxMKQogICAgICAgICAgICAgICAgIFB5TWVtX0ZyZWUob2xkX3JlYyk7CiAgICAgICAgIH0KQEAgLTEwNjksMTEgKzEwNjEsMjAgQEAKIH0KIAogc3RhdGljIGludAotam9pbl9hcHBlbmQoV3JpdGVyT2JqICpzZWxmLCBQeV9VTklDT0RFICpmaWVsZCwgaW50ICpxdW90ZWQsIGludCBxdW90ZV9lbXB0eSkKK2pvaW5fYXBwZW5kKFdyaXRlck9iaiAqc2VsZiwgUHlPYmplY3QgKmZpZWxkLCBpbnQgKnF1b3RlZCwgaW50IHF1b3RlX2VtcHR5KQogeworICAgIHVuc2lnbmVkIGludCBmaWVsZF9raW5kID0gLTE7CisgICAgdm9pZCAqZmllbGRfZGF0YSA9IE5VTEw7CisgICAgUHlfc3NpemVfdCBmaWVsZF9sZW4gPSAwOwogICAgIFB5X3NzaXplX3QgcmVjX2xlbjsKIAotICAgIHJlY19sZW4gPSBqb2luX2FwcGVuZF9kYXRhKHNlbGYsIGZpZWxkLCBxdW90ZV9lbXB0eSwgcXVvdGVkLCAwKTsKKyAgICBpZiAoZmllbGQgIT0gTlVMTCkgeworICAgICAgICBmaWVsZF9raW5kID0gUHlVbmljb2RlX0tJTkQoZmllbGQpOworICAgICAgICBmaWVsZF9kYXRhID0gUHlVbmljb2RlX0RBVEEoZmllbGQpOworICAgICAgICBmaWVsZF9sZW4gPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChmaWVsZCk7CisgICAgfQorICAgIHJlY19sZW4gPSBqb2luX2FwcGVuZF9kYXRhKHNlbGYsIGZpZWxkX2tpbmQsIGZpZWxkX2RhdGEsIGZpZWxkX2xlbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBxdW90ZV9lbXB0eSwgcXVvdGVkLCAwKTsKICAgICBpZiAocmVjX2xlbiA8IDApCiAgICAgICAgIHJldHVybiAwOwogCkBAIC0xMDgxLDcgKzEwODIsOCBAQAogICAgIGlmICgham9pbl9jaGVja19yZWNfc2l6ZShzZWxmLCByZWNfbGVuKSkKICAgICAgICAgcmV0dXJuIDA7CiAKLSAgICBzZWxmLT5yZWNfbGVuID0gam9pbl9hcHBlbmRfZGF0YShzZWxmLCBmaWVsZCwgcXVvdGVfZW1wdHksIHF1b3RlZCwgMSk7CisgICAgc2VsZi0+cmVjX2xlbiA9IGpvaW5fYXBwZW5kX2RhdGEoc2VsZiwgZmllbGRfa2luZCwgZmllbGRfZGF0YSwgZmllbGRfbGVuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHF1b3RlX2VtcHR5LCBxdW90ZWQsIDEpOwogICAgIHNlbGYtPm51bV9maWVsZHMrKzsKIAogICAgIHJldHVybiAxOwpAQCAtMTA5MCwxMCArMTA5MiwxMSBAQAogc3RhdGljIGludAogam9pbl9hcHBlbmRfbGluZXRlcm1pbmF0b3IoV3JpdGVyT2JqICpzZWxmKQogewotICAgIFB5X3NzaXplX3QgdGVybWluYXRvcl9sZW47Ci0gICAgUHlfVU5JQ09ERSAqdGVybWluYXRvcjsKKyAgICBQeV9zc2l6ZV90IHRlcm1pbmF0b3JfbGVuLCBpOworICAgIHVuc2lnbmVkIGludCB0ZXJtX2tpbmQ7CisgICAgdm9pZCAqdGVybV9kYXRhOwogCi0gICAgdGVybWluYXRvcl9sZW4gPSBQeVVuaWNvZGVfR2V0U2l6ZShzZWxmLT5kaWFsZWN0LT5saW5ldGVybWluYXRvcik7CisgICAgdGVybWluYXRvcl9sZW4gPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChzZWxmLT5kaWFsZWN0LT5saW5ldGVybWluYXRvcik7CiAgICAgaWYgKHRlcm1pbmF0b3JfbGVuID09IC0xKQogICAgICAgICByZXR1cm4gMDsKIApAQCAtMTEwMSwxMSArMTEwNCwxMCBAQAogICAgIGlmICgham9pbl9jaGVja19yZWNfc2l6ZShzZWxmLCBzZWxmLT5yZWNfbGVuICsgdGVybWluYXRvcl9sZW4pKQogICAgICAgICByZXR1cm4gMDsKIAotICAgIHRlcm1pbmF0b3IgPSBQeVVuaWNvZGVfQXNVbmljb2RlKHNlbGYtPmRpYWxlY3QtPmxpbmV0ZXJtaW5hdG9yKTsKLSAgICBpZiAodGVybWluYXRvciA9PSBOVUxMKQotICAgICAgICByZXR1cm4gMDsKLSAgICBtZW1tb3ZlKHNlbGYtPnJlYyArIHNlbGYtPnJlY19sZW4sIHRlcm1pbmF0b3IsCi0gICAgICAgIHNpemVvZihQeV9VTklDT0RFKSp0ZXJtaW5hdG9yX2xlbik7CisgICAgdGVybV9raW5kID0gUHlVbmljb2RlX0tJTkQoc2VsZi0+ZGlhbGVjdC0+bGluZXRlcm1pbmF0b3IpOworICAgIHRlcm1fZGF0YSA9IFB5VW5pY29kZV9EQVRBKHNlbGYtPmRpYWxlY3QtPmxpbmV0ZXJtaW5hdG9yKTsKKyAgICBmb3IgKGkgPSAwOyBpIDwgdGVybWluYXRvcl9sZW47IGkrKykKKyAgICAgICAgc2VsZi0+cmVjW3NlbGYtPnJlY19sZW4gKyBpXSA9IFB5VW5pY29kZV9SRUFEKHRlcm1fa2luZCwgdGVybV9kYXRhLCBpKTsKICAgICBzZWxmLT5yZWNfbGVuICs9IHRlcm1pbmF0b3JfbGVuOwogCiAgICAgcmV0dXJuIDE7CkBAIC0xMTIyLDYgKzExMjQsNyBAQAogewogICAgIERpYWxlY3RPYmogKmRpYWxlY3QgPSBzZWxmLT5kaWFsZWN0OwogICAgIFB5X3NzaXplX3QgbGVuLCBpOworICAgIFB5T2JqZWN0ICpsaW5lLCAqcmVzdWx0OwogCiAgICAgaWYgKCFQeVNlcXVlbmNlX0NoZWNrKHNlcSkpCiAgICAgICAgIHJldHVybiBQeUVycl9Gb3JtYXQoZXJyb3Jfb2JqLCAic2VxdWVuY2UgZXhwZWN0ZWQiKTsKQEAgLTExNTUsMTQgKzExNTgsMTEgQEAKICAgICAgICAgfQogCiAgICAgICAgIGlmIChQeVVuaWNvZGVfQ2hlY2soZmllbGQpKSB7Ci0gICAgICAgICAgICBhcHBlbmRfb2sgPSBqb2luX2FwcGVuZChzZWxmLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0FTX1VOSUNPREUoZmllbGQpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3RlZCwgbGVuID09IDEpOworICAgICAgICAgICAgYXBwZW5kX29rID0gam9pbl9hcHBlbmQoc2VsZiwgZmllbGQsICZxdW90ZWQsIGxlbiA9PSAxKTsKICAgICAgICAgICAgIFB5X0RFQ1JFRihmaWVsZCk7CiAgICAgICAgIH0KICAgICAgICAgZWxzZSBpZiAoZmllbGQgPT0gUHlfTm9uZSkgewotICAgICAgICAgICAgYXBwZW5kX29rID0gam9pbl9hcHBlbmQoc2VsZiwgTlVMTCwKLSAgICAgICAgICAgICAgICAgICAgICAgICZxdW90ZWQsIGxlbiA9PSAxKTsKKyAgICAgICAgICAgIGFwcGVuZF9vayA9IGpvaW5fYXBwZW5kKHNlbGYsIE5VTEwsICZxdW90ZWQsIGxlbiA9PSAxKTsKICAgICAgICAgICAgIFB5X0RFQ1JFRihmaWVsZCk7CiAgICAgICAgIH0KICAgICAgICAgZWxzZSB7CkBAIC0xMTcyLDkgKzExNzIsNyBAQAogICAgICAgICAgICAgUHlfREVDUkVGKGZpZWxkKTsKICAgICAgICAgICAgIGlmIChzdHIgPT0gTlVMTCkKICAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgICAgIGFwcGVuZF9vayA9IGpvaW5fYXBwZW5kKHNlbGYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfQVNfVU5JQ09ERShzdHIpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnF1b3RlZCwgbGVuID09IDEpOworICAgICAgICAgICAgYXBwZW5kX29rID0gam9pbl9hcHBlbmQoc2VsZiwgc3RyLCAmcXVvdGVkLCBsZW4gPT0gMSk7CiAgICAgICAgICAgICBQeV9ERUNSRUYoc3RyKTsKICAgICAgICAgfQogICAgICAgICBpZiAoIWFwcGVuZF9vaykKQEAgLTExODYsOSArMTE4NCwxMyBAQAogICAgIGlmICgham9pbl9hcHBlbmRfbGluZXRlcm1pbmF0b3Ioc2VsZikpCiAgICAgICAgIHJldHVybiAwOwogCi0gICAgcmV0dXJuIFB5T2JqZWN0X0NhbGxGdW5jdGlvbihzZWxmLT53cml0ZWxpbmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiKHUjKSIsIHNlbGYtPnJlYywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYtPnJlY19sZW4pOworICAgIGxpbmUgPSBQeVVuaWNvZGVfRnJvbUtpbmRBbmREYXRhKFB5VW5pY29kZV80QllURV9LSU5ELAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh2b2lkICopIHNlbGYtPnJlYywgc2VsZi0+cmVjX2xlbik7CisgICAgaWYgKGxpbmUgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgcmVzdWx0ID0gUHlPYmplY3RfQ2FsbEZ1bmN0aW9uT2JqQXJncyhzZWxmLT53cml0ZWxpbmUsIGxpbmUsIE5VTEwpOworICAgIFB5X0RFQ1JFRihsaW5lKTsKKyAgICByZXR1cm4gcmVzdWx0OwogfQogCiBQeURvY19TVFJWQVIoY3N2X3dyaXRlcm93c19kb2MsCkBAIC0xMzEyLDYgKzEzMTQsNyBAQAogewogICAgIFB5T2JqZWN0ICogb3V0cHV0X2ZpbGUsICogZGlhbGVjdCA9IE5VTEw7CiAgICAgV3JpdGVyT2JqICogc2VsZiA9IFB5T2JqZWN0X0dDX05ldyhXcml0ZXJPYmosICZXcml0ZXJfVHlwZSk7CisgICAgX1B5X0lERU5USUZJRVIod3JpdGUpOwogCiAgICAgaWYgKCFzZWxmKQogICAgICAgICByZXR1cm4gTlVMTDsKQEAgLTEzMjgsNyArMTMzMSw3IEBACiAgICAgICAgIFB5X0RFQ1JFRihzZWxmKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQotICAgIHNlbGYtPndyaXRlbGluZSA9IFB5T2JqZWN0X0dldEF0dHJTdHJpbmcob3V0cHV0X2ZpbGUsICJ3cml0ZSIpOworICAgIHNlbGYtPndyaXRlbGluZSA9IF9QeU9iamVjdF9HZXRBdHRySWQob3V0cHV0X2ZpbGUsICZQeUlkX3dyaXRlKTsKICAgICBpZiAoc2VsZi0+d3JpdGVsaW5lID09IE5VTEwgfHwgIVB5Q2FsbGFibGVfQ2hlY2soc2VsZi0+d3JpdGVsaW5lKSkgewogICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLAogICAgICAgICAgICAgICAgICAgICAgICAgImFyZ3VtZW50IDEgbXVzdCBoYXZlIGEgXCJ3cml0ZVwiIG1ldGhvZCIpOwpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9fY3R5cGVzL19jdHlwZXMuYyBiL01vZHVsZXMvX2N0eXBlcy9fY3R5cGVzLmMKaW5kZXggOGJlNTk1OC4uNzUxNjMwNiAxMDA2NDQKLS0tIGEvTW9kdWxlcy9fY3R5cGVzL19jdHlwZXMuYworKysgYi9Nb2R1bGVzL19jdHlwZXMvX2N0eXBlcy5jCkBAIC0xMTQyLDYgKzExNDIsOCBAQAogV0NoYXJBcnJheV9zZXRfdmFsdWUoQ0RhdGFPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICp2YWx1ZSkKIHsKICAgICBQeV9zc2l6ZV90IHJlc3VsdCA9IDA7CisgICAgUHlfVU5JQ09ERSAqd3N0cjsKKyAgICBQeV9zc2l6ZV90IGxlbjsKIAogICAgIGlmICh2YWx1ZSA9PSBOVUxMKSB7CiAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsCkBAIC0xMTU1LDcgKzExNTcsMTEgQEAKICAgICAgICAgcmV0dXJuIC0xOwogICAgIH0gZWxzZQogICAgICAgICBQeV9JTkNSRUYodmFsdWUpOwotICAgIGlmICgodW5zaWduZWQpUHlVbmljb2RlX0dFVF9TSVpFKHZhbHVlKSA+IHNlbGYtPmJfc2l6ZS9zaXplb2Yod2NoYXJfdCkpIHsKKworICAgIHdzdHIgPSBQeVVuaWNvZGVfQXNVbmljb2RlQW5kU2l6ZSh2YWx1ZSwgJmxlbik7CisgICAgaWYgKHdzdHIgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIC0xOworICAgIGlmICgodW5zaWduZWQpbGVuID4gc2VsZi0+Yl9zaXplL3NpemVvZih3Y2hhcl90KSkgewogICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwKICAgICAgICAgICAgICAgICAgICAgICAgICJzdHJpbmcgdG9vIGxvbmciKTsKICAgICAgICAgcmVzdWx0ID0gLTE7CkBAIC0xODQzLDExICsxODQ5LDkgQEAKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogICAgIGlmIChQeVVuaWNvZGVfQ2hlY2socHJvdG8pKSB7Ci0gICAgICAgIFB5T2JqZWN0ICp2ID0gX1B5VW5pY29kZV9Bc0RlZmF1bHRFbmNvZGVkU3RyaW5nKHByb3RvLCBOVUxMKTsKLSAgICAgICAgaWYgKCF2KQorICAgICAgICBwcm90b19zdHIgPSBQeVVuaWNvZGVfQXNVVEY4QW5kU2l6ZShwcm90bywgJnByb3RvX2xlbik7CisgICAgICAgIGlmICghcHJvdG9fc3RyKQogICAgICAgICAgICAgZ290byBlcnJvcjsKLSAgICAgICAgcHJvdG9fc3RyID0gUHlCeXRlc19BU19TVFJJTkcodik7Ci0gICAgICAgIHByb3RvX2xlbiA9IFB5Qnl0ZXNfR0VUX1NJWkUodik7CiAgICAgfSBlbHNlIHsKICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwKICAgICAgICAgICAgICJjbGFzcyBtdXN0IGRlZmluZSBhICdfdHlwZV8nIHN0cmluZyBhdHRyaWJ1dGUiKTsKQEAgLTM2ODEsOCArMzY4NSwxMCBAQAogICAgICAgICAgICAgUHlUdXBsZV9TRVRfSVRFTSh0dXAsIGluZGV4LCB2KTsKICAgICAgICAgICAgIGluZGV4Kys7CiAgICAgICAgIH0gZWxzZSBpZiAoYml0ICYgb3V0bWFzaykgeworICAgICAgICAgICAgX1B5X0lERU5USUZJRVIoX19jdHlwZXNfZnJvbV9vdXRwYXJhbV9fKTsKKwogICAgICAgICAgICAgdiA9IFB5VHVwbGVfR0VUX0lURU0oY2FsbGFyZ3MsIGkpOwotICAgICAgICAgICAgdiA9IFB5T2JqZWN0X0NhbGxNZXRob2QodiwgIl9fY3R5cGVzX2Zyb21fb3V0cGFyYW1fXyIsIE5VTEwpOworICAgICAgICAgICAgdiA9IF9QeU9iamVjdF9DYWxsTWV0aG9kSWQodiwgJlB5SWRfX19jdHlwZXNfZnJvbV9vdXRwYXJhbV9fLCBOVUxMKTsKICAgICAgICAgICAgIGlmICh2ID09IE5VTEwgfHwgbnVtcmV0dmFscyA9PSAxKSB7CiAgICAgICAgICAgICAgICAgUHlfREVDUkVGKGNhbGxhcmdzKTsKICAgICAgICAgICAgICAgICByZXR1cm4gdjsKQEAgLTQyNDksNyArNDI1NSw3IEBACiAgICAgICAgICAgICB3Y2hhcl90ICpkZXN0OwogCiAgICAgICAgICAgICBpZiAoc2xpY2VsZW4gPD0gMCkKLSAgICAgICAgICAgICAgICByZXR1cm4gUHlVbmljb2RlX0Zyb21Vbmljb2RlKE5VTEwsIDApOworICAgICAgICAgICAgICAgIHJldHVybiBQeVVuaWNvZGVfTmV3KDAsIDApOwogICAgICAgICAgICAgaWYgKHN0ZXAgPT0gMSkgewogICAgICAgICAgICAgICAgIHJldHVybiBQeVVuaWNvZGVfRnJvbVdpZGVDaGFyKHB0ciArIHN0YXJ0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsaWNlbGVuKTsKQEAgLTQ1OTksMzggKzQ2MDUsMjAgQEAKIHN0YXRpYyBQeU9iamVjdCAqCiBTaW1wbGVfcmVwcihDRGF0YU9iamVjdCAqc2VsZikKIHsKLSAgICBQeU9iamVjdCAqdmFsLCAqbmFtZSwgKmFyZ3MsICpyZXN1bHQ7Ci0gICAgc3RhdGljIFB5T2JqZWN0ICpmb3JtYXQ7CisgICAgUHlPYmplY3QgKnZhbCwgKnJlc3VsdDsKIAogICAgIGlmIChQeV9UWVBFKHNlbGYpLT50cF9iYXNlICE9ICZTaW1wbGVfVHlwZSkgewogICAgICAgICByZXR1cm4gUHlVbmljb2RlX0Zyb21Gb3JtYXQoIjwlcyBvYmplY3QgYXQgJXA+IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlfVFlQRShzZWxmKS0+dHBfbmFtZSwgc2VsZik7CiAgICAgfQogCi0gICAgaWYgKGZvcm1hdCA9PSBOVUxMKSB7Ci0gICAgICAgIGZvcm1hdCA9IFB5VW5pY29kZV9JbnRlcm5Gcm9tU3RyaW5nKCIlcyglcikiKTsKLSAgICAgICAgaWYgKGZvcm1hdCA9PSBOVUxMKQotICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgfQotCiAgICAgdmFsID0gU2ltcGxlX2dldF92YWx1ZShzZWxmKTsKICAgICBpZiAodmFsID09IE5VTEwpCiAgICAgICAgIHJldHVybiBOVUxMOwogCi0gICAgbmFtZSA9IFB5VW5pY29kZV9Gcm9tU3RyaW5nKFB5X1RZUEUoc2VsZiktPnRwX25hbWUpOwotICAgIGlmIChuYW1lID09IE5VTEwpIHsKLSAgICAgICAgUHlfREVDUkVGKHZhbCk7Ci0gICAgICAgIHJldHVybiBOVUxMOwotICAgIH0KLQotICAgIGFyZ3MgPSBQeVR1cGxlX1BhY2soMiwgbmFtZSwgdmFsKTsKLSAgICBQeV9ERUNSRUYobmFtZSk7CisgICAgcmVzdWx0ID0gUHlVbmljb2RlX0Zyb21Gb3JtYXQoIiVzKCVSKSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlfVFlQRShzZWxmKS0+dHBfbmFtZSwgdmFsKTsKICAgICBQeV9ERUNSRUYodmFsKTsKLSAgICBpZiAoYXJncyA9PSBOVUxMKQotICAgICAgICByZXR1cm4gTlVMTDsKLQotICAgIHJlc3VsdCA9IFB5VW5pY29kZV9Gb3JtYXQoZm9ybWF0LCBhcmdzKTsKLSAgICBQeV9ERUNSRUYoYXJncyk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIApAQCAtNDk0Miw3ICs0OTMwLDcgQEAKICAgICAgICAgICAgIHdjaGFyX3QgKmRlc3Q7CiAKICAgICAgICAgICAgIGlmIChsZW4gPD0gMCkKLSAgICAgICAgICAgICAgICByZXR1cm4gUHlVbmljb2RlX0Zyb21Vbmljb2RlKE5VTEwsIDApOworICAgICAgICAgICAgICAgIHJldHVybiBQeVVuaWNvZGVfTmV3KDAsIDApOwogICAgICAgICAgICAgaWYgKHN0ZXAgPT0gMSkgewogICAgICAgICAgICAgICAgIHJldHVybiBQeVVuaWNvZGVfRnJvbVdpZGVDaGFyKHB0ciArIHN0YXJ0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlbik7CmRpZmYgLS1naXQgYS9Nb2R1bGVzL19jdHlwZXMvY2FsbHByb2MuYyBiL01vZHVsZXMvX2N0eXBlcy9jYWxscHJvYy5jCmluZGV4IDFmM2MxYzAuLmRkNDQxZjUgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvX2N0eXBlcy9jYWxscHJvYy5jCisrKyBiL01vZHVsZXMvX2N0eXBlcy9jYWxscHJvYy5jCkBAIC02NTgsMTMgKzY1OCw2IEBACiAKICNpZmRlZiBDVFlQRVNfVU5JQ09ERQogICAgIGlmIChQeVVuaWNvZGVfQ2hlY2sob2JqKSkgewotI2lmIFB5X1VOSUNPREVfU0laRSA9PSBTSVpFT0ZfV0NIQVJfVAotICAgICAgICBwYS0+ZmZpX3R5cGUgPSAmZmZpX3R5cGVfcG9pbnRlcjsKLSAgICAgICAgcGEtPnZhbHVlLnAgPSBQeVVuaWNvZGVfQVNfVU5JQ09ERShvYmopOwotICAgICAgICBQeV9JTkNSRUYob2JqKTsKLSAgICAgICAgcGEtPmtlZXAgPSBvYmo7Ci0gICAgICAgIHJldHVybiAwOwotI2Vsc2UKICAgICAgICAgcGEtPmZmaV90eXBlID0gJmZmaV90eXBlX3BvaW50ZXI7CiAgICAgICAgIHBhLT52YWx1ZS5wID0gUHlVbmljb2RlX0FzV2lkZUNoYXJTdHJpbmcob2JqLCBOVUxMKTsKICAgICAgICAgaWYgKHBhLT52YWx1ZS5wID09IE5VTEwpCkBAIC02NzUsNyArNjY4LDYgQEAKICAgICAgICAgICAgIHJldHVybiAtMTsKICAgICAgICAgfQogICAgICAgICByZXR1cm4gMDsKLSNlbmRpZgogICAgIH0KICNlbmRpZgogCkBAIC05NTIsOSArOTQ0LDkgQEAKICAgICBlbHNlIHsKICAgICAgICAgUHlFcnJfQ2xlYXIoKTsKICAgICAgICAgUHlVbmljb2RlX0FwcGVuZEFuZERlbCgmcywgUHlVbmljb2RlX0Zyb21TdHJpbmcoIj8/PyIpKTsKLSAgICAgICAgaWYgKHMgPT0gTlVMTCkKLSAgICAgICAgICAgIGdvdG8gZXJyb3I7CiAgICAgfQorICAgIGlmIChzID09IE5VTEwpCisgICAgICAgIGdvdG8gZXJyb3I7CiAgICAgUHlFcnJfU2V0T2JqZWN0KGV4Y19jbGFzcywgcyk7CiBlcnJvcjoKICAgICBQeV9YREVDUkVGKHRwKTsKQEAgLTE2OTUsMTMgKzE2ODcsMTUgQEAKICAgICBQeU9iamVjdCAqc3RhdGU7CiAgICAgUHlPYmplY3QgKnJlc3VsdDsKICAgICBQeU9iamVjdCAqdG1wOworICAgIF9QeV9JREVOVElGSUVSKF9fbmV3X18pOworICAgIF9QeV9JREVOVElGSUVSKF9fc2V0c3RhdGVfXyk7CiAKICAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIk9PIiwgJnR5cCwgJnN0YXRlKSkKICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgcmVzdWx0ID0gUHlPYmplY3RfQ2FsbE1ldGhvZCh0eXAsICJfX25ld19fIiwgIk8iLCB0eXApOworICAgIHJlc3VsdCA9IF9QeU9iamVjdF9DYWxsTWV0aG9kSWQodHlwLCAmUHlJZF9fX25ld19fLCAiTyIsIHR5cCk7CiAgICAgaWYgKHJlc3VsdCA9PSBOVUxMKQogICAgICAgICByZXR1cm4gTlVMTDsKLSAgICB0bXAgPSBQeU9iamVjdF9DYWxsTWV0aG9kKHJlc3VsdCwgIl9fc2V0c3RhdGVfXyIsICJPIiwgc3RhdGUpOworICAgIHRtcCA9IF9QeU9iamVjdF9DYWxsTWV0aG9kSWQocmVzdWx0LCAmUHlJZF9fX3NldHN0YXRlX18sICJPIiwgc3RhdGUpOwogICAgIGlmICh0bXAgPT0gTlVMTCkgewogICAgICAgICBQeV9ERUNSRUYocmVzdWx0KTsKICAgICAgICAgcmV0dXJuIE5VTEw7CmRpZmYgLS1naXQgYS9Nb2R1bGVzL19jdHlwZXMvY2ZpZWxkLmMgYi9Nb2R1bGVzL19jdHlwZXMvY2ZpZWxkLmMKaW5kZXggZTJkMWU0Yi4uMWM0ZWJhOSAxMDA2NDQKLS0tIGEvTW9kdWxlcy9fY3R5cGVzL2NmaWVsZC5jCisrKyBiL01vZHVsZXMvX2N0eXBlcy9jZmllbGQuYwpAQCAtOSw3ICs5LDYgQEAKIAogI2RlZmluZSBDVFlQRVNfQ0ZJRUxEX0NBUFNVTEVfTkFNRV9QWU1FTSAiX2N0eXBlcy9jZmllbGQuYyBweW1lbSIKIAotI2lmIFB5X1VOSUNPREVfU0laRSAhPSBTSVpFT0ZfV0NIQVJfVAogc3RhdGljIHZvaWQgcHltZW1fZGVzdHJ1Y3RvcihQeU9iamVjdCAqcHRyKQogewogICAgIHZvaWQgKnAgPSBQeUNhcHN1bGVfR2V0UG9pbnRlcihwdHIsIENUWVBFU19DRklFTERfQ0FQU1VMRV9OQU1FX1BZTUVNKTsKQEAgLTE3LDcgKzE2LDYgQEAKICAgICAgICAgUHlNZW1fRnJlZShwKTsKICAgICB9CiB9Ci0jZW5kaWYKIAogCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwpAQCAtNTIsNyArNTAsNyBAQAogewogICAgIENGaWVsZE9iamVjdCAqc2VsZjsKICAgICBQeU9iamVjdCAqcHJvdG87Ci0gICAgUHlfc3NpemVfdCBzaXplLCBhbGlnbiwgbGVuZ3RoOworICAgIFB5X3NzaXplX3Qgc2l6ZSwgYWxpZ247CiAgICAgU0VURlVOQyBzZXRmdW5jID0gTlVMTDsKICAgICBHRVRGVU5DIGdldGZ1bmMgPSBOVUxMOwogICAgIFN0Z0RpY3RPYmplY3QgKmRpY3Q7CkBAIC0xMDYsNyArMTA0LDYgQEAKICAgICB9CiAKICAgICBzaXplID0gZGljdC0+c2l6ZTsKLSAgICBsZW5ndGggPSBkaWN0LT5sZW5ndGg7CiAgICAgcHJvdG8gPSBkZXNjOwogCiAgICAgLyogIEZpZWxkIGRlc2NyaXB0b3JzIGZvciAnY19jaGFyICogbicgYXJlIGJlIHNjcGVjaWFsIGNhc2VkIHRvCkBAIC0xMjM5LDM3ICsxMjM2LDMwIEBACiBzdGF0aWMgUHlPYmplY3QgKgogVV9nZXQodm9pZCAqcHRyLCBQeV9zc2l6ZV90IHNpemUpCiB7Ci0gICAgUHlPYmplY3QgKnJlc3VsdDsKICAgICBQeV9zc2l6ZV90IGxlbjsKLSAgICBQeV9VTklDT0RFICpwOworICAgIHdjaGFyX3QgKnA7CiAKICAgICBzaXplIC89IHNpemVvZih3Y2hhcl90KTsgLyogd2UgY291bnQgY2hhcmFjdGVyIHVuaXRzIGhlcmUsIG5vdCBieXRlcyAqLwogCi0gICAgcmVzdWx0ID0gUHlVbmljb2RlX0Zyb21XaWRlQ2hhcigod2NoYXJfdCAqKXB0ciwgc2l6ZSk7Ci0gICAgaWYgKCFyZXN1bHQpCi0gICAgICAgIHJldHVybiBOVUxMOwogICAgIC8qIFdlIG5lZWQgJ3Jlc3VsdCcgdG8gYmUgYWJsZSB0byBjb3VudCB0aGUgY2hhcmFjdGVycyB3aXRoIHdjc2xlbiwKICAgICAgICBzaW5jZSBwdHIgbWF5IG5vdCBiZSBOVUwgdGVybWluYXRlZC4gIElmIHRoZSBsZW5ndGggaXMgc21hbGxlciAoaWYKICAgICAgICBpdCB3YXMgYWN0dWFsbHkgTlVMIHRlcm1pbmF0ZWQsIHdlIGNvbnN0cnVjdCBhIG5ldyBvbmUgYW5kIHRocm93CiAgICAgICAgYXdheSB0aGUgcmVzdWx0LgogICAgICovCiAgICAgLyogY2hvcCBvZmYgYXQgdGhlIGZpcnN0IE5VTCBjaGFyYWN0ZXIsIGlmIGFueS4gKi8KLSAgICBwID0gUHlVbmljb2RlX0FTX1VOSUNPREUocmVzdWx0KTsKLSAgICBmb3IgKGxlbiA9IDA7IGxlbiA8IHNpemU7ICsrbGVuKQorICAgIHAgPSAod2NoYXJfdCopcHRyOworICAgIGZvciAobGVuID0gMDsgbGVuIDwgc2l6ZTsgKytsZW4pIHsKICAgICAgICAgaWYgKCFwW2xlbl0pCiAgICAgICAgICAgICBicmVhazsKLQotICAgIGlmIChsZW4gPCBzaXplKSB7Ci0gICAgICAgIFB5T2JqZWN0ICpvYiA9IFB5VW5pY29kZV9Gcm9tV2lkZUNoYXIoKHdjaGFyX3QgKilwdHIsIGxlbik7Ci0gICAgICAgIFB5X0RFQ1JFRihyZXN1bHQpOwotICAgICAgICByZXR1cm4gb2I7CiAgICAgfQotICAgIHJldHVybiByZXN1bHQ7CisKKyAgICByZXR1cm4gUHlVbmljb2RlX0Zyb21XaWRlQ2hhcigod2NoYXJfdCAqKXB0ciwgbGVuKTsKIH0KIAogc3RhdGljIFB5T2JqZWN0ICoKIFVfc2V0KHZvaWQgKnB0ciwgUHlPYmplY3QgKnZhbHVlLCBQeV9zc2l6ZV90IGxlbmd0aCkKIHsKKyAgICBQeV9VTklDT0RFICp3c3RyOwogICAgIFB5X3NzaXplX3Qgc2l6ZTsKIAogICAgIC8qIEl0J3MgZWFzaWVyIHRvIGNhbGN1bGF0ZSBpbiBjaGFyYWN0ZXJzIHRoYW4gaW4gYnl0ZXMgKi8KQEAgLTEyODIsNyArMTI3MiwxMCBAQAogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9IGVsc2UKICAgICAgICAgUHlfSU5DUkVGKHZhbHVlKTsKLSAgICBzaXplID0gUHlVbmljb2RlX0dFVF9TSVpFKHZhbHVlKTsKKworICAgIHdzdHIgPSBQeVVuaWNvZGVfQXNVbmljb2RlQW5kU2l6ZSh2YWx1ZSwgJnNpemUpOworICAgIGlmICh3c3RyID09IE5VTEwpCisgICAgICAgIHJldHVybiBOVUxMOwogICAgIGlmIChzaXplID4gbGVuZ3RoKSB7CiAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19WYWx1ZUVycm9yLAogICAgICAgICAgICAgICAgICAgICAgInN0cmluZyB0b28gbG9uZyAoJXpkLCBtYXhpbXVtIGxlbmd0aCAlemQpIiwKQEAgLTE0MDIsNiArMTM5NSw5IEBACiBzdGF0aWMgUHlPYmplY3QgKgogWl9zZXQodm9pZCAqcHRyLCBQeU9iamVjdCAqdmFsdWUsIFB5X3NzaXplX3Qgc2l6ZSkKIHsKKyAgICBQeU9iamVjdCAqa2VlcDsKKyAgICB3Y2hhcl90ICpidWZmZXI7CisKICAgICBpZiAodmFsdWUgPT0gUHlfTm9uZSkgewogICAgICAgICAqKHdjaGFyX3QgKiopcHRyID0gTlVMTDsKICAgICAgICAgUHlfSU5DUkVGKHZhbHVlKTsKQEAgLTE0MjEsMzcgKzE0MTcsMjAgQEAKICAgICAgICAgICAgICAgICAgICAgICJ1bmljb2RlIHN0cmluZyBvciBpbnRlZ2VyIGFkZHJlc3MgZXhwZWN0ZWQgaW5zdGVhZCBvZiAlcyBpbnN0YW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZS0+b2JfdHlwZS0+dHBfbmFtZSk7CiAgICAgICAgIHJldHVybiBOVUxMOwotICAgIH0gZWxzZQotICAgICAgICBQeV9JTkNSRUYodmFsdWUpOwotI2lmIFB5X1VOSUNPREVfU0laRSA9PSBTSVpFT0ZfV0NIQVJfVAotICAgIC8qIFdlIGNhbiBjb3B5IGRpcmVjdGx5LiAgSG0sIGFyZSB1bmljb2RlIG9iamVjdHMgYWx3YXlzIE5VTAotICAgICAgIHRlcm1pbmF0ZWQgaW4gUHl0aG9uLCBpbnRlcm5hbGx5PwotICAgICAqLwotICAgICood2NoYXJfdCAqKilwdHIgPSAod2NoYXJfdCAqKSBQeVVuaWNvZGVfQVNfVU5JQ09ERSh2YWx1ZSk7Ci0gICAgcmV0dXJuIHZhbHVlOwotI2Vsc2UKLSAgICB7Ci0gICAgICAgIC8qIFdlIG11c3QgY3JlYXRlIGEgd2NoYXJfdCogYnVmZmVyIGZyb20gdGhlIHVuaWNvZGUgb2JqZWN0LAotICAgICAgICAgICBhbmQga2VlcCBpdCBhbGl2ZSAqLwotICAgICAgICBQeU9iamVjdCAqa2VlcDsKLSAgICAgICAgd2NoYXJfdCAqYnVmZmVyOwotCi0gICAgICAgIGJ1ZmZlciA9IFB5VW5pY29kZV9Bc1dpZGVDaGFyU3RyaW5nKHZhbHVlLCBOVUxMKTsKLSAgICAgICAgaWYgKCFidWZmZXIpIHsKLSAgICAgICAgICAgIFB5X0RFQ1JFRih2YWx1ZSk7Ci0gICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgfQotICAgICAgICBrZWVwID0gUHlDYXBzdWxlX05ldyhidWZmZXIsIENUWVBFU19DRklFTERfQ0FQU1VMRV9OQU1FX1BZTUVNLCBweW1lbV9kZXN0cnVjdG9yKTsKLSAgICAgICAgaWYgKCFrZWVwKSB7Ci0gICAgICAgICAgICBQeV9ERUNSRUYodmFsdWUpOwotICAgICAgICAgICAgUHlNZW1fRnJlZShidWZmZXIpOwotICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgIH0KLSAgICAgICAgKih3Y2hhcl90ICoqKXB0ciA9ICh3Y2hhcl90ICopYnVmZmVyOwotICAgICAgICBQeV9ERUNSRUYodmFsdWUpOwotICAgICAgICByZXR1cm4ga2VlcDsKICAgICB9Ci0jZW5kaWYKKworICAgIC8qIFdlIG11c3QgY3JlYXRlIGEgd2NoYXJfdCogYnVmZmVyIGZyb20gdGhlIHVuaWNvZGUgb2JqZWN0LAorICAgICAgIGFuZCBrZWVwIGl0IGFsaXZlICovCisgICAgYnVmZmVyID0gUHlVbmljb2RlX0FzV2lkZUNoYXJTdHJpbmcodmFsdWUsIE5VTEwpOworICAgIGlmICghYnVmZmVyKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBrZWVwID0gUHlDYXBzdWxlX05ldyhidWZmZXIsIENUWVBFU19DRklFTERfQ0FQU1VMRV9OQU1FX1BZTUVNLCBweW1lbV9kZXN0cnVjdG9yKTsKKyAgICBpZiAoIWtlZXApIHsKKyAgICAgICAgUHlNZW1fRnJlZShidWZmZXIpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisgICAgKih3Y2hhcl90ICoqKXB0ciA9IGJ1ZmZlcjsKKyAgICByZXR1cm4ga2VlcDsKIH0KIAogc3RhdGljIFB5T2JqZWN0ICoKQEAgLTE0OTYsMTMgKzE0NzUsMTYgQEAKIAogICAgIC8qIGNyZWF0ZSBhIEJTVFIgZnJvbSB2YWx1ZSAqLwogICAgIGlmICh2YWx1ZSkgewotICAgICAgICBQeV9zc2l6ZV90IHNpemUgPSBQeVVuaWNvZGVfR0VUX1NJWkUodmFsdWUpOworICAgICAgICB3Y2hhcl90KiB3dmFsdWU7CisgICAgICAgIFB5X3NzaXplX3Qgc2l6ZTsKKyAgICAgICAgd3ZhbHVlID0gUHlVbmljb2RlX0FzVW5pY29kZUFuZFNpemUodmFsdWUsICZzaXplKTsKKyAgICAgICAgaWYgKHd2YWx1ZSA9PSBOVUxMKQorICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgIGlmICgodW5zaWduZWQpIHNpemUgIT0gc2l6ZSkgewogICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsICJTdHJpbmcgdG9vIGxvbmcgZm9yIEJTVFIiKTsKICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICB9Ci0gICAgICAgIGJzdHIgPSBTeXNBbGxvY1N0cmluZ0xlbihQeVVuaWNvZGVfQVNfVU5JQ09ERSh2YWx1ZSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodW5zaWduZWQpc2l6ZSk7CisgICAgICAgIGJzdHIgPSBTeXNBbGxvY1N0cmluZ0xlbih3dmFsdWUsICh1bnNpZ25lZClzaXplKTsKICAgICAgICAgUHlfREVDUkVGKHZhbHVlKTsKICAgICB9IGVsc2UKICAgICAgICAgYnN0ciA9IE5VTEw7CmRpZmYgLS1naXQgYS9Nb2R1bGVzL19jdHlwZXMvc3RnZGljdC5jIGIvTW9kdWxlcy9fY3R5cGVzL3N0Z2RpY3QuYwppbmRleCAyNjJkMGI0Li5lNWIwZTRjIDEwMDY0NAotLS0gYS9Nb2R1bGVzL19jdHlwZXMvc3RnZGljdC5jCisrKyBiL01vZHVsZXMvX2N0eXBlcy9zdGdkaWN0LmMKQEAgLTQyNiw5ICs0MjYsOSBAQAogICAgICAgICBTdGdEaWN0T2JqZWN0ICpkaWN0OwogICAgICAgICBpbnQgYml0c2l6ZSA9IDA7CiAKLSAgICAgICAgaWYgKCFwYWlyIHx8ICFQeUFyZ19QYXJzZVR1cGxlKHBhaXIsICJPT3xpIiwgJm5hbWUsICZkZXNjLCAmYml0c2l6ZSkpIHsKLSAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19BdHRyaWJ1dGVFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiJ19maWVsZHNfJyBtdXN0IGJlIGEgc2VxdWVuY2Ugb2YgcGFpcnMiKTsKKyAgICAgICAgaWYgKCFwYWlyIHx8ICFQeUFyZ19QYXJzZVR1cGxlKHBhaXIsICJVT3xpIiwgJm5hbWUsICZkZXNjLCAmYml0c2l6ZSkpIHsKKyAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIidfZmllbGRzXycgbXVzdCBiZSBhIHNlcXVlbmNlIG9mIChuYW1lLCBDIHR5cGUpIHBhaXJzIik7CiAgICAgICAgICAgICBQeV9YREVDUkVGKHBhaXIpOwogICAgICAgICAgICAgcmV0dXJuIC0xOwogICAgICAgICB9CkBAIC00NzgsNiArNDc4LDcgQEAKICAgICAgICAgICAgIH0KICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICBiaXRzaXplID0gMDsKKwogICAgICAgICBpZiAoaXNTdHJ1Y3QgJiYgIWlzUGFja2VkKSB7CiAgICAgICAgICAgICBjaGFyICpmaWVsZGZtdCA9IGRpY3QtPmZvcm1hdCA/IGRpY3QtPmZvcm1hdCA6ICJCIjsKICAgICAgICAgICAgIGNoYXIgKmZpZWxkbmFtZSA9IF9QeVVuaWNvZGVfQXNTdHJpbmcobmFtZSk7CkBAIC00ODcsMTAgKzQ4OCw2IEBACiAKICAgICAgICAgICAgIGlmIChmaWVsZG5hbWUgPT0gTlVMTCkKICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3RydWN0dXJlIGZpZWxkIG5hbWUgbXVzdCBiZSBzdHJpbmcgbm90ICVzIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZS0+b2JfdHlwZS0+dHBfbmFtZSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgIFB5X0RFQ1JFRihwYWlyKTsKICAgICAgICAgICAgICAgICByZXR1cm4gLTE7CiAgICAgICAgICAgICB9CkBAIC01MTUsNiArNTEyLDcgQEAKICAgICAgICAgICAgICAgICByZXR1cm4gLTE7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KKwogICAgICAgICBpZiAoaXNTdHJ1Y3QpIHsKICAgICAgICAgICAgIHByb3AgPSBQeUNGaWVsZF9Gcm9tRGVzYyhkZXNjLCBpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZmllbGRfc2l6ZSwgYml0c2l6ZSwgJmJpdG9mcywKZGlmZiAtLWdpdCBhL01vZHVsZXMvX2N1cnNlc21vZHVsZS5jIGIvTW9kdWxlcy9fY3Vyc2VzbW9kdWxlLmMKaW5kZXggNWUxYWZhOS4uZGU0NWY1MSAxMDA2NDQKLS0tIGEvTW9kdWxlcy9fY3Vyc2VzbW9kdWxlLmMKKysrIGIvTW9kdWxlcy9fY3Vyc2VzbW9kdWxlLmMKQEAgLTEwNSwxMCArMTA1LDYgQEAKICNpbmNsdWRlICJQeXRob24uaCIKIAogCi0jaWZkZWYgX19vc2ZfXwotI2RlZmluZSBTVFJJQ1RfU1lTVl9DVVJTRVMgICAgICAvKiBEb24ndCB1c2UgbmN1cnNlcyBleHRlbnNpb25zICovCi0jZW5kaWYKLQogI2lmZGVmIF9faHB1eAogI2RlZmluZSBTVFJJQ1RfU1lTVl9DVVJTRVMKICNlbmRpZgpAQCAtMTI1LDYgKzEyMSwxMCBAQAogI2luY2x1ZGUgPHRlcm0uaD4KICNlbmRpZgogCisjaWZkZWYgSEFWRV9MQU5HSU5GT19ICisjaW5jbHVkZSA8bGFuZ2luZm8uaD4KKyNlbmRpZgorCiAjaWYgIWRlZmluZWQoSEFWRV9OQ1VSU0VTX0gpICYmIChkZWZpbmVkKHNnaSkgfHwgZGVmaW5lZChfX3N1bikgfHwgZGVmaW5lZChTQ081KSkKICNkZWZpbmUgU1RSSUNUX1NZU1ZfQ1VSU0VTICAgICAgIC8qIERvbid0IHVzZSBuY3Vyc2VzIGV4dGVuc2lvbnMgKi8KIHR5cGVkZWYgY2h0eXBlIGF0dHJfdDsgICAgICAgICAgIC8qIE5vIGF0dHJfdCB0eXBlIGlzIGF2YWlsYWJsZSAqLwpAQCAtMTQ3LDYgKzE0Nyw4IEBACiAvKiBUZWxscyB3aGV0aGVyIHN0YXJ0X2NvbG9yKCkgaGFzIGJlZW4gY2FsbGVkIHRvIGluaXRpYWxpc2UgY29sb3IgdXNhZ2UuICovCiBzdGF0aWMgaW50IGluaXRpYWxpc2VkY29sb3JzID0gRkFMU0U7CiAKK3N0YXRpYyBjaGFyICpzY3JlZW5fZW5jb2RpbmcgPSBOVUxMOworCiAvKiBVdGlsaXR5IE1hY3JvcyAqLwogI2RlZmluZSBQeUN1cnNlc1NldHVwVGVybUNhbGxlZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIGlmIChpbml0aWFsaXNlZF9zZXR1cHRlcm0gIT0gVFJVRSkgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXApAQCAtMTc5LDcgKzE4MSw3IEBACiAgKi8KIAogc3RhdGljIFB5T2JqZWN0ICoKLVB5Q3Vyc2VzQ2hlY2tFUlIoaW50IGNvZGUsIGNoYXIgKmZuYW1lKQorUHlDdXJzZXNDaGVja0VSUihpbnQgY29kZSwgY29uc3QgY2hhciAqZm5hbWUpCiB7CiAgICAgaWYgKGNvZGUgIT0gRVJSKSB7CiAgICAgICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKQEAgLTE5NCwyNSArMTk2LDE5MyBAQAogICAgIH0KIH0KIAorLyogQ29udmVydCBhbiBvYmplY3QgdG8gYSBieXRlIChhbiBpbnRlZ2VyIG9mIHR5cGUgY2h0eXBlKToKKworICAgLSBpbnQKKyAgIC0gYnl0ZXMgb2YgbGVuZ3RoIDEKKyAgIC0gc3RyIG9mIGxlbmd0aCAxCisKKyAgIFJldHVybiAxIG9uIHN1Y2Nlc3MsIDAgb24gZXJyb3IgKGludmFsaWQgdHlwZSBvciBpbnRlZ2VyIG92ZXJmbG93KS4gKi8KIHN0YXRpYyBpbnQKLVB5Q3Vyc2VzX0NvbnZlcnRUb0NodHlwZShQeU9iamVjdCAqb2JqLCBjaHR5cGUgKmNoKQorUHlDdXJzZXNfQ29udmVydFRvQ2h0eXBlKFB5Q3Vyc2VzV2luZG93T2JqZWN0ICp3aW4sIFB5T2JqZWN0ICpvYmosIGNodHlwZSAqY2gpCiB7Ci0gICAgaWYgKFB5TG9uZ19DaGVja0V4YWN0KG9iaikpIHsKLSAgICAgICAgaW50IG92ZXJmbG93OwotICAgICAgICAvKiBYWFggc2hvdWxkIHRoZSB0cnVuY2F0aW9uIGJ5IHRoZSBjYXN0IGFsc28gYmUgcmVwb3J0ZWQKLSAgICAgICAgICAgYXMgYW4gZXJyb3I/ICovCi0gICAgICAgICpjaCA9IChjaHR5cGUpIFB5TG9uZ19Bc0xvbmdBbmRPdmVyZmxvdyhvYmosICZvdmVyZmxvdyk7Ci0gICAgICAgIGlmIChvdmVyZmxvdykKKyAgICBsb25nIHZhbHVlOworICAgIGlmKFB5Qnl0ZXNfQ2hlY2sob2JqKSAmJiBQeUJ5dGVzX1NpemUob2JqKSA9PSAxKSB7CisgICAgICAgIHZhbHVlID0gKHVuc2lnbmVkIGNoYXIpUHlCeXRlc19Bc1N0cmluZyhvYmopWzBdOworICAgIH0KKyAgICBlbHNlIGlmIChQeVVuaWNvZGVfQ2hlY2sob2JqKSkgeworICAgICAgICBpZiAoUHlVbmljb2RlX0dldExlbmd0aChvYmopICE9IDEpIHsKKyAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgImV4cGVjdCBieXRlcyBvciBzdHIgb2YgbGVuZ3RoIDEsIG9yIGludCwgIgorICAgICAgICAgICAgICAgICAgICAgICAgICJnb3QgYSBzdHIgb2YgbGVuZ3RoICV6aSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0dFVF9MRU5HVEgob2JqKSk7CiAgICAgICAgICAgICByZXR1cm4gMDsKLSAgICB9IGVsc2UgaWYoUHlCeXRlc19DaGVjayhvYmopCi0gICAgICAgICAgICAgICYmIChQeUJ5dGVzX1NpemUob2JqKSA9PSAxKSkgewotICAgICAgICAqY2ggPSAoY2h0eXBlKSAqUHlCeXRlc19Bc1N0cmluZyhvYmopOwotICAgIH0gZWxzZSBpZiAoUHlVbmljb2RlX0NoZWNrKG9iaikgJiYgUHlVbmljb2RlX0dldFNpemUob2JqKSA9PSAxKSB7Ci0gICAgICAgICpjaCA9IChjaHR5cGUpICpQeVVuaWNvZGVfQVNfVU5JQ09ERShvYmopOwotICAgIH0gZWxzZSB7CisgICAgICAgIH0KKyAgICAgICAgdmFsdWUgPSBQeVVuaWNvZGVfUkVBRF9DSEFSKG9iaiwgMCk7CisgICAgICAgIGlmICgxMjggPCB2YWx1ZSkgeworICAgICAgICAgICAgUHlPYmplY3QgKmJ5dGVzOworICAgICAgICAgICAgY29uc3QgY2hhciAqZW5jb2Rpbmc7CisgICAgICAgICAgICBpZiAod2luKQorICAgICAgICAgICAgICAgIGVuY29kaW5nID0gd2luLT5lbmNvZGluZzsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBlbmNvZGluZyA9IHNjcmVlbl9lbmNvZGluZzsKKyAgICAgICAgICAgIGJ5dGVzID0gUHlVbmljb2RlX0FzRW5jb2RlZE9iamVjdChvYmosIGVuY29kaW5nLCBOVUxMKTsKKyAgICAgICAgICAgIGlmIChieXRlcyA9PSBOVUxMKQorICAgICAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICAgICAgaWYgKFB5Qnl0ZXNfR0VUX1NJWkUoYnl0ZXMpID09IDEpCisgICAgICAgICAgICAgICAgdmFsdWUgPSAodW5zaWduZWQgY2hhcilQeUJ5dGVzX0FTX1NUUklORyhieXRlcylbMF07CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgdmFsdWUgPSAtMTsKKyAgICAgICAgICAgIFB5X0RFQ1JFRihieXRlcyk7CisgICAgICAgICAgICBpZiAodmFsdWUgPCAwKQorICAgICAgICAgICAgICAgIGdvdG8gb3ZlcmZsb3c7CisgICAgICAgIH0KKyAgICB9CisgICAgZWxzZSBpZiAoUHlMb25nX0NoZWNrRXhhY3Qob2JqKSkgeworICAgICAgICBpbnQgbG9uZ19vdmVyZmxvdzsKKyAgICAgICAgdmFsdWUgPSBQeUxvbmdfQXNMb25nQW5kT3ZlcmZsb3cob2JqLCAmbG9uZ19vdmVyZmxvdyk7CisgICAgICAgIGlmIChsb25nX292ZXJmbG93KQorICAgICAgICAgICAgZ290byBvdmVyZmxvdzsKKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAiZXhwZWN0IGJ5dGVzIG9yIHN0ciBvZiBsZW5ndGggMSwgb3IgaW50LCBnb3QgJXMiLAorICAgICAgICAgICAgICAgICAgICAgUHlfVFlQRShvYmopLT50cF9uYW1lKTsKICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQorICAgICpjaCA9IChjaHR5cGUpdmFsdWU7CisgICAgaWYgKChsb25nKSpjaCAhPSB2YWx1ZSkKKyAgICAgICAgZ290byBvdmVyZmxvdzsKICAgICByZXR1cm4gMTsKKworb3ZlcmZsb3c6CisgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX092ZXJmbG93RXJyb3IsCisgICAgICAgICAgICAgICAgICAgICJieXRlIGRvZXNuJ3QgZml0IGluIGNodHlwZSIpOworICAgIHJldHVybiAwOworfQorCisvKiBDb252ZXJ0IGFuIG9iamVjdCB0byBhIGJ5dGUgKGNodHlwZSkgb3IgYSBjaGFyYWN0ZXIgKGNjaGFyX3QpOgorCisgICAgLSBpbnQKKyAgICAtIGJ5dGVzIG9mIGxlbmd0aCAxCisgICAgLSBzdHIgb2YgbGVuZ3RoIDEKKworICAgUmV0dXJuOgorCisgICAgLSAyIGlmIG9iaiBpcyBhIGNoYXJhY3RlciAod3JpdHRlbiBpbnRvICp3Y2gpCisgICAgLSAxIGlmIG9iaiBpcyBhIGJ5dGUgKHdyaXR0ZW4gaW50byAqY2gpCisgICAgLSAwIG9uIGVycm9yOiByYWlzZSBhbiBleGNlcHRpb24gKi8KK3N0YXRpYyBpbnQKK1B5Q3Vyc2VzX0NvbnZlcnRUb0NjaGFyX3QoUHlDdXJzZXNXaW5kb3dPYmplY3QgKndpbiwgUHlPYmplY3QgKm9iaiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY2h0eXBlICpjaAorI2lmZGVmIEhBVkVfTkNVUlNFU1cKKyAgICAgICAgICAgICAgICAgICAgICAgICAgLCBjY2hhcl90ICp3Y2gKKyNlbmRpZgorICAgICAgICAgICAgICAgICAgICAgICAgICApCit7CisgICAgaW50IHJldCA9IDA7CisgICAgbG9uZyB2YWx1ZTsKKyNpZmRlZiBIQVZFX05DVVJTRVNXCisgICAgd2NoYXJfdCBidWZmZXJbMl07CisjZW5kaWYKKworICAgIGlmIChQeVVuaWNvZGVfQ2hlY2sob2JqKSkgeworI2lmZGVmIEhBVkVfTkNVUlNFU1cKKyAgICAgICAgaWYgKFB5VW5pY29kZV9Bc1dpZGVDaGFyKG9iaiwgYnVmZmVyLCAyKSAhPSAxKSB7CisgICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICJleHBlY3QgYnl0ZXMgb3Igc3RyIG9mIGxlbmd0aCAxLCBvciBpbnQsICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAiZ290IGEgc3RyIG9mIGxlbmd0aCAlemkiLAorICAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9HRVRfTEVOR1RIKG9iaikpOworICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIH0KKyAgICAgICAgbWVtc2V0KHdjaC0+Y2hhcnMsIDAsIHNpemVvZih3Y2gtPmNoYXJzKSk7CisgICAgICAgIHdjaC0+Y2hhcnNbMF0gPSBidWZmZXJbMF07CisgICAgICAgIHJldHVybiAyOworI2Vsc2UKKyAgICAgICAgcmV0dXJuIFB5Q3Vyc2VzX0NvbnZlcnRUb0NodHlwZSh3aW4sIG9iaiwgY2gpOworI2VuZGlmCisgICAgfQorICAgIGVsc2UgaWYoUHlCeXRlc19DaGVjayhvYmopICYmIFB5Qnl0ZXNfU2l6ZShvYmopID09IDEpIHsKKyAgICAgICAgdmFsdWUgPSAodW5zaWduZWQgY2hhcilQeUJ5dGVzX0FzU3RyaW5nKG9iailbMF07CisgICAgICAgIHJldCA9IDE7CisgICAgfQorICAgIGVsc2UgaWYgKFB5TG9uZ19DaGVja0V4YWN0KG9iaikpIHsKKyAgICAgICAgaW50IG92ZXJmbG93OworICAgICAgICB2YWx1ZSA9IFB5TG9uZ19Bc0xvbmdBbmRPdmVyZmxvdyhvYmosICZvdmVyZmxvdyk7CisgICAgICAgIGlmIChvdmVyZmxvdykgeworICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX092ZXJmbG93RXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgImludCBkb2Vzbid0IGZpdCBpbiBsb25nIik7CisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgfQorI2lmZGVmIEhBVkVfTkNVUlNFU1cKKyAgICAgICAgcmV0ID0gMjsKKyNlbHNlCisgICAgICAgIHJldCA9IDE7CisjZW5kaWYKKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAiZXhwZWN0IGJ5dGVzIG9yIHN0ciBvZiBsZW5ndGggMSwgb3IgaW50LCBnb3QgJXMiLAorICAgICAgICAgICAgICAgICAgICAgUHlfVFlQRShvYmopLT50cF9uYW1lKTsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorI2lmZGVmIEhBVkVfTkNVUlNFU1cKKyAgICBpZiAocmV0ID09IDIpIHsKKyAgICAgICAgbWVtc2V0KHdjaC0+Y2hhcnMsIDAsIHNpemVvZih3Y2gtPmNoYXJzKSk7CisgICAgICAgIHdjaC0+Y2hhcnNbMF0gPSAod2NoYXJfdCl2YWx1ZTsKKyAgICAgICAgaWYgKChsb25nKXdjaC0+Y2hhcnNbMF0gIT0gdmFsdWUpIHsKKyAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19PdmVyZmxvd0Vycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICJjaGFyYWN0ZXIgZG9lc24ndCBmaXQgaW4gd2NoYXJfdCIpOworICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIH0KKyAgICB9CisgICAgZWxzZQorI2VuZGlmCisgICAgeworICAgICAgICAqY2ggPSAoY2h0eXBlKXZhbHVlOworICAgICAgICBpZiAoKGxvbmcpKmNoICE9IHZhbHVlKSB7CisgICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfT3ZlcmZsb3dFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAiYnl0ZSBkb2Vzbid0IGZpdCBpbiBjaHR5cGUiKTsKKyAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICB9CisgICAgfQorICAgIHJldHVybiByZXQ7Cit9CisKKy8qIENvbnZlcnQgYW4gb2JqZWN0IHRvIGEgYnl0ZSBzdHJpbmcgKGNoYXIqKSBvciBhIHdpZGUgY2hhcmFjdGVyIHN0cmluZworICAgKHdjaGFyX3QqKS4gUmV0dXJuOgorCisgICAgLSAyIGlmIG9iaiBpcyBhIGNoYXJhY3RlciBzdHJpbmcgKHdyaXR0ZW4gaW50byAqd2NoKQorICAgIC0gMSBpZiBvYmogaXMgYSBieXRlIHN0cmluZyAod3JpdHRlbiBpbnRvICpieXRlcykKKyAgICAtIDAgb24gZXJyb3I6IHJhaXNlIGFuIGV4Y2VwdGlvbiAqLworc3RhdGljIGludAorUHlDdXJzZXNfQ29udmVydFRvU3RyaW5nKFB5Q3Vyc2VzV2luZG93T2JqZWN0ICp3aW4sIFB5T2JqZWN0ICpvYmosCisgICAgICAgICAgICAgICAgICAgICAgICAgUHlPYmplY3QgKipieXRlcywgd2NoYXJfdCAqKndzdHIpCit7CisgICAgaWYgKFB5VW5pY29kZV9DaGVjayhvYmopKSB7CisjaWZkZWYgSEFWRV9OQ1VSU0VTVworICAgICAgICBhc3NlcnQgKHdzdHIgIT0gTlVMTCk7CisgICAgICAgICp3c3RyID0gUHlVbmljb2RlX0FzV2lkZUNoYXJTdHJpbmcob2JqLCBOVUxMKTsKKyAgICAgICAgaWYgKCp3c3RyID09IE5VTEwpCisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgcmV0dXJuIDI7CisjZWxzZQorICAgICAgICBhc3NlcnQgKHdzdHIgPT0gTlVMTCk7CisgICAgICAgICpieXRlcyA9IFB5VW5pY29kZV9Bc0VuY29kZWRPYmplY3Qob2JqLCB3aW4tPmVuY29kaW5nLCBOVUxMKTsKKyAgICAgICAgaWYgKCpieXRlcyA9PSBOVUxMKQorICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIHJldHVybiAxOworI2VuZGlmCisgICAgfQorICAgIGVsc2UgaWYgKFB5Qnl0ZXNfQ2hlY2sob2JqKSkgeworICAgICAgICBQeV9JTkNSRUYob2JqKTsKKyAgICAgICAgKmJ5dGVzID0gb2JqOworICAgICAgICByZXR1cm4gMTsKKyAgICB9CisKKyAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLCAiZXhwZWN0IGJ5dGVzIG9yIHN0ciwgZ290ICVzIiwKKyAgICAgICAgICAgICAgICAgUHlfVFlQRShvYmopLT50cF9uYW1lKTsKKyAgICByZXR1cm4gMDsKIH0KIAogLyogRnVuY3Rpb24gdmVyc2lvbnMgb2YgdGhlIDMgZnVuY3Rpb25zIGZvciB0ZXN0aW5nIHdoZXRoZXIgY3Vyc2VzIGhhcyBiZWVuCkBAIC0zNTgsMTMgKzUyOCwzNyBAQAogLyogQWxsb2NhdGlvbiBhbmQgZGVhbGxvY2F0aW9uIG9mIFdpbmRvdyBPYmplY3RzICovCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1QeUN1cnNlc1dpbmRvd19OZXcoV0lORE9XICp3aW4pCitQeUN1cnNlc1dpbmRvd19OZXcoV0lORE9XICp3aW4sIGNvbnN0IGNoYXIgKmVuY29kaW5nKQogewogICAgIFB5Q3Vyc2VzV2luZG93T2JqZWN0ICp3bzsKIAorICAgIGlmIChlbmNvZGluZyA9PSBOVUxMKSB7CisjaWYgZGVmaW5lZChNU19XSU5ET1dTKQorICAgICAgICBjaGFyICpidWZmZXJbMTAwXTsKKyAgICAgICAgVUlOVCBjcDsKKyAgICAgICAgY3AgPSBHZXRDb25zb2xlT3V0cHV0Q1AoKTsKKyAgICAgICAgaWYgKGNwICE9IDApIHsKKyAgICAgICAgICAgIFB5T1Nfc25wcmludGYoYnVmZmVyLCBzaXplb2YoYnVmZmVyKSwgImNwJXUiLCBjcCk7CisgICAgICAgICAgICBlbmNvZGluZyA9IGJ1ZmZlcjsKKyAgICAgICAgfQorI2VsaWYgZGVmaW5lZChDT0RFU0VUKQorICAgICAgICBjb25zdCBjaGFyICpjb2Rlc2V0ID0gbmxfbGFuZ2luZm8oQ09ERVNFVCk7CisgICAgICAgIGlmIChjb2Rlc2V0ICE9IE5VTEwgJiYgY29kZXNldFswXSAhPSAwKQorICAgICAgICAgICAgZW5jb2RpbmcgPSBjb2Rlc2V0OworI2VuZGlmCisgICAgICAgIGlmIChlbmNvZGluZyA9PSBOVUxMKQorICAgICAgICAgICAgZW5jb2RpbmcgPSAidXRmLTgiOworICAgIH0KKwogICAgIHdvID0gUHlPYmplY3RfTkVXKFB5Q3Vyc2VzV2luZG93T2JqZWN0LCAmUHlDdXJzZXNXaW5kb3dfVHlwZSk7CiAgICAgaWYgKHdvID09IE5VTEwpIHJldHVybiBOVUxMOwogICAgIHdvLT53aW4gPSB3aW47CisgICAgd28tPmVuY29kaW5nID0gc3RyZHVwKGVuY29kaW5nKTsKKyAgICBpZiAod28tPmVuY29kaW5nID09IE5VTEwpIHsKKyAgICAgICAgUHlfREVDUkVGKHdvKTsKKyAgICAgICAgUHlFcnJfTm9NZW1vcnkoKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQogICAgIHJldHVybiAoUHlPYmplY3QgKil3bzsKIH0KIApAQCAtMzcyLDYgKzU2Niw4IEBACiBQeUN1cnNlc1dpbmRvd19EZWFsbG9jKFB5Q3Vyc2VzV2luZG93T2JqZWN0ICp3bykKIHsKICAgICBpZiAod28tPndpbiAhPSBzdGRzY3IpIGRlbHdpbih3by0+d2luKTsKKyAgICBpZiAod28tPmVuY29kaW5nICE9IE5VTEwpCisgICAgICAgIGZyZWUod28tPmVuY29kaW5nKTsKICAgICBQeU9iamVjdF9ERUwod28pOwogfQogCkBAIC0zODEsMjkgKzU3NywzNCBAQAogUHlDdXJzZXNXaW5kb3dfQWRkQ2goUHlDdXJzZXNXaW5kb3dPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQogewogICAgIGludCBydG4sIHgsIHksIHVzZV94eSA9IEZBTFNFOwotICAgIFB5T2JqZWN0ICp0ZW1wOwotICAgIGNodHlwZSBjaCA9IDA7CisgICAgUHlPYmplY3QgKmNob2JqOworICAgIGludCB0eXBlOworICAgIGNodHlwZSBjaDsKKyNpZmRlZiBIQVZFX05DVVJTRVNXCisgICAgY2NoYXJfdCB3Y2g7CisjZW5kaWYKICAgICBhdHRyX3QgYXR0ciA9IEFfTk9STUFMOwogICAgIGxvbmcgbGF0dHI7CisgICAgY29uc3QgY2hhciAqZnVuY25hbWU7CiAKICAgICBzd2l0Y2ggKFB5VHVwbGVfU2l6ZShhcmdzKSkgewogICAgIGNhc2UgMToKLSAgICAgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJPO2NoIG9yIGludCIsICZ0ZW1wKSkKKyAgICAgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJPO2NoIG9yIGludCIsICZjaG9iaikpCiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSAyOgotICAgICAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIk9sO2NoIG9yIGludCxhdHRyIiwgJnRlbXAsICZsYXR0cikpCisgICAgICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiT2w7Y2ggb3IgaW50LGF0dHIiLCAmY2hvYmosICZsYXR0cikpCiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICAgICAgYXR0ciA9IGxhdHRyOwogICAgICAgICBicmVhazsKICAgICBjYXNlIDM6Ci0gICAgICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCJpaU87eSx4LGNoIG9yIGludCIsICZ5LCAmeCwgJnRlbXApKQorICAgICAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywiaWlPO3kseCxjaCBvciBpbnQiLCAmeSwgJngsICZjaG9iaikpCiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICAgICAgdXNlX3h5ID0gVFJVRTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSA0OgogICAgICAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywiaWlPbDt5LHgsY2ggb3IgaW50LCBhdHRyIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZ5LCAmeCwgJnRlbXAsICZsYXR0cikpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmeSwgJngsICZjaG9iaiwgJmxhdHRyKSkKICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICBhdHRyID0gbGF0dHI7CiAgICAgICAgIHVzZV94eSA9IFRSVUU7CkBAIC00MTMsMTcgKzYxNCwzMyBAQAogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAKLSAgICBpZiAoIVB5Q3Vyc2VzX0NvbnZlcnRUb0NodHlwZSh0ZW1wLCAmY2gpKSB7Ci0gICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsICJhcmd1bWVudCAxIG9yIDMgbXVzdCBiZSBhIGNoIG9yIGFuIGludCIpOworI2lmZGVmIEhBVkVfTkNVUlNFU1cKKyAgICB0eXBlID0gUHlDdXJzZXNfQ29udmVydFRvQ2NoYXJfdChzZWxmLCBjaG9iaiwgJmNoLCAmd2NoKTsKKyAgICBpZiAodHlwZSA9PSAyKSB7CisgICAgICAgIGZ1bmNuYW1lID0gImFkZF93Y2giOworICAgICAgICB3Y2guYXR0ciA9IGF0dHI7CisgICAgICAgIGlmICh1c2VfeHkgPT0gVFJVRSkKKyAgICAgICAgICAgIHJ0biA9IG12d2FkZF93Y2goc2VsZi0+d2luLHkseCwgJndjaCk7CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgcnRuID0gd2FkZF93Y2goc2VsZi0+d2luLCAmd2NoKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBlbHNlCisjZWxzZQorICAgIHR5cGUgPSBQeUN1cnNlc19Db252ZXJ0VG9DY2hhcl90KHNlbGYsIGNob2JqLCAmY2gpOworI2VuZGlmCisgICAgaWYgKHR5cGUgPT0gMSkgeworICAgICAgICBmdW5jbmFtZSA9ICJhZGRjaCI7CisgICAgICAgIGlmICh1c2VfeHkgPT0gVFJVRSkKKyAgICAgICAgICAgIHJ0biA9IG12d2FkZGNoKHNlbGYtPndpbix5LHgsIGNoIHwgYXR0cik7CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgcnRuID0gd2FkZGNoKHNlbGYtPndpbiwgY2ggfCBhdHRyKTsKKyAgICAgICAgfQorICAgIH0KKyAgICBlbHNlIHsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQotCi0gICAgaWYgKHVzZV94eSA9PSBUUlVFKQotICAgICAgICBydG4gPSBtdndhZGRjaChzZWxmLT53aW4seSx4LCBjaCB8IGF0dHIpOwotICAgIGVsc2UgewotICAgICAgICBydG4gPSB3YWRkY2goc2VsZi0+d2luLCBjaCB8IGF0dHIpOwotICAgIH0KLSAgICByZXR1cm4gUHlDdXJzZXNDaGVja0VSUihydG4sICJhZGRjaCIpOworICAgIHJldHVybiBQeUN1cnNlc0NoZWNrRVJSKHJ0biwgZnVuY25hbWUpOwogfQogCiBzdGF0aWMgUHlPYmplY3QgKgpAQCAtNDMxLDI5ICs2NDgsMzQgQEAKIHsKICAgICBpbnQgcnRuOwogICAgIGludCB4LCB5OwotICAgIGNoYXIgKnN0cjsKKyAgICBpbnQgc3RydHlwZTsKKyAgICBQeU9iamVjdCAqc3Ryb2JqLCAqYnl0ZXNvYmogPSBOVUxMOworI2lmZGVmIEhBVkVfTkNVUlNFU1cKKyAgICB3Y2hhcl90ICp3c3RyID0gTlVMTDsKKyNlbmRpZgogICAgIGF0dHJfdCBhdHRyID0gQV9OT1JNQUwgLCBhdHRyX29sZCA9IEFfTk9STUFMOwogICAgIGxvbmcgbGF0dHI7CiAgICAgaW50IHVzZV94eSA9IEZBTFNFLCB1c2VfYXR0ciA9IEZBTFNFOworICAgIGNvbnN0IGNoYXIgKmZ1bmNuYW1lOwogCiAgICAgc3dpdGNoIChQeVR1cGxlX1NpemUoYXJncykpIHsKICAgICBjYXNlIDE6Ci0gICAgICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCJzO3N0ciIsICZzdHIpKQorICAgICAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywiTztzdHIiLCAmc3Ryb2JqKSkKICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICBicmVhazsKICAgICBjYXNlIDI6Ci0gICAgICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCJzbDtzdHIsYXR0ciIsICZzdHIsICZsYXR0cikpCisgICAgICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCJPbDtzdHIsYXR0ciIsICZzdHJvYmosICZsYXR0cikpCiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICAgICAgYXR0ciA9IGxhdHRyOwogICAgICAgICB1c2VfYXR0ciA9IFRSVUU7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgMzoKLSAgICAgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsImlpcztpbnQsaW50LHN0ciIsICZ5LCAmeCwgJnN0cikpCisgICAgICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCJpaU87aW50LGludCxzdHIiLCAmeSwgJngsICZzdHJvYmopKQogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgIHVzZV94eSA9IFRSVUU7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgNDoKLSAgICAgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsImlpc2w7aW50LGludCxzdHIsYXR0ciIsICZ5LCAmeCwgJnN0ciwgJmxhdHRyKSkKKyAgICAgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsImlpT2w7aW50LGludCxzdHIsYXR0ciIsICZ5LCAmeCwgJnN0cm9iaiwgJmxhdHRyKSkKICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICBhdHRyID0gbGF0dHI7CiAgICAgICAgIHVzZV94eSA9IHVzZV9hdHRyID0gVFJVRTsKQEAgLTQ2Miw0NyArNjg0LDc0IEBACiAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsICJhZGRzdHIgcmVxdWlyZXMgMSB0byA0IGFyZ3VtZW50cyIpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9Ci0KKyNpZmRlZiBIQVZFX05DVVJTRVNXCisgICAgc3RydHlwZSA9IFB5Q3Vyc2VzX0NvbnZlcnRUb1N0cmluZyhzZWxmLCBzdHJvYmosICZieXRlc29iaiwgJndzdHIpOworI2Vsc2UKKyAgICBzdHJ0eXBlID0gUHlDdXJzZXNfQ29udmVydFRvU3RyaW5nKHNlbGYsIHN0cm9iaiwgJmJ5dGVzb2JqLCBOVUxMKTsKKyNlbmRpZgorICAgIGlmIChzdHJ0eXBlID09IDApCisgICAgICAgIHJldHVybiBOVUxMOwogICAgIGlmICh1c2VfYXR0ciA9PSBUUlVFKSB7CiAgICAgICAgIGF0dHJfb2xkID0gZ2V0YXR0cnMoc2VsZi0+d2luKTsKICAgICAgICAgKHZvaWQpd2F0dHJzZXQoc2VsZi0+d2luLGF0dHIpOwogICAgIH0KLSAgICBpZiAodXNlX3h5ID09IFRSVUUpCi0gICAgICAgIHJ0biA9IG12d2FkZHN0cihzZWxmLT53aW4seSx4LHN0cik7CisjaWZkZWYgSEFWRV9OQ1VSU0VTVworICAgIGlmIChzdHJ0eXBlID09IDIpIHsKKyAgICAgICAgZnVuY25hbWUgPSAiYWRkd3N0ciI7CisgICAgICAgIGlmICh1c2VfeHkgPT0gVFJVRSkKKyAgICAgICAgICAgIHJ0biA9IG12d2FkZHdzdHIoc2VsZi0+d2luLHkseCx3c3RyKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgcnRuID0gd2FkZHdzdHIoc2VsZi0+d2luLHdzdHIpOworICAgICAgICBQeU1lbV9GcmVlKHdzdHIpOworICAgIH0KICAgICBlbHNlCi0gICAgICAgIHJ0biA9IHdhZGRzdHIoc2VsZi0+d2luLHN0cik7CisjZW5kaWYKKyAgICB7CisgICAgICAgIGNoYXIgKnN0ciA9IFB5Qnl0ZXNfQVNfU1RSSU5HKGJ5dGVzb2JqKTsKKyAgICAgICAgZnVuY25hbWUgPSAiYWRkc3RyIjsKKyAgICAgICAgaWYgKHVzZV94eSA9PSBUUlVFKQorICAgICAgICAgICAgcnRuID0gbXZ3YWRkc3RyKHNlbGYtPndpbix5LHgsc3RyKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgcnRuID0gd2FkZHN0cihzZWxmLT53aW4sc3RyKTsKKyAgICAgICAgUHlfREVDUkVGKGJ5dGVzb2JqKTsKKyAgICB9CiAgICAgaWYgKHVzZV9hdHRyID09IFRSVUUpCiAgICAgICAgICh2b2lkKXdhdHRyc2V0KHNlbGYtPndpbixhdHRyX29sZCk7Ci0gICAgcmV0dXJuIFB5Q3Vyc2VzQ2hlY2tFUlIocnRuLCAiYWRkc3RyIik7CisgICAgcmV0dXJuIFB5Q3Vyc2VzQ2hlY2tFUlIocnRuLCBmdW5jbmFtZSk7CiB9CiAKIHN0YXRpYyBQeU9iamVjdCAqCiBQeUN1cnNlc1dpbmRvd19BZGROU3RyKFB5Q3Vyc2VzV2luZG93T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKIHsKICAgICBpbnQgcnRuLCB4LCB5LCBuOwotICAgIGNoYXIgKnN0cjsKKyAgICBpbnQgc3RydHlwZTsKKyAgICBQeU9iamVjdCAqc3Ryb2JqLCAqYnl0ZXNvYmogPSBOVUxMOworI2lmZGVmIEhBVkVfTkNVUlNFU1cKKyAgICB3Y2hhcl90ICp3c3RyID0gTlVMTDsKKyNlbmRpZgogICAgIGF0dHJfdCBhdHRyID0gQV9OT1JNQUwgLCBhdHRyX29sZCA9IEFfTk9STUFMOwogICAgIGxvbmcgbGF0dHI7CiAgICAgaW50IHVzZV94eSA9IEZBTFNFLCB1c2VfYXR0ciA9IEZBTFNFOworICAgIGNvbnN0IGNoYXIgKmZ1bmNuYW1lOwogCiAgICAgc3dpdGNoIChQeVR1cGxlX1NpemUoYXJncykpIHsKICAgICBjYXNlIDI6Ci0gICAgICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCJzaTtzdHIsbiIsICZzdHIsICZuKSkKKyAgICAgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsIk9pO3N0cixuIiwgJnN0cm9iaiwgJm4pKQogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgMzoKLSAgICAgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsInNpbDtzdHIsbixhdHRyIiwgJnN0ciwgJm4sICZsYXR0cikpCisgICAgICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCJPaWw7c3RyLG4sYXR0ciIsICZzdHJvYmosICZuLCAmbGF0dHIpKQogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgIGF0dHIgPSBsYXR0cjsKICAgICAgICAgdXNlX2F0dHIgPSBUUlVFOwogICAgICAgICBicmVhazsKICAgICBjYXNlIDQ6Ci0gICAgICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCJpaXNpO3kseCxzdHIsbiIsICZ5LCAmeCwgJnN0ciwgJm4pKQorICAgICAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywiaWlPaTt5LHgsc3RyLG4iLCAmeSwgJngsICZzdHJvYmosICZuKSkKICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICB1c2VfeHkgPSBUUlVFOwogICAgICAgICBicmVhazsKICAgICBjYXNlIDU6Ci0gICAgICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCJpaXNpbDt5LHgsc3RyLG4sYXR0ciIsICZ5LCAmeCwgJnN0ciwgJm4sICZsYXR0cikpCisgICAgICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCJpaU9pbDt5LHgsc3RyLG4sYXR0ciIsICZ5LCAmeCwgJnN0cm9iaiwgJm4sICZsYXR0cikpCiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICAgICAgYXR0ciA9IGxhdHRyOwogICAgICAgICB1c2VfeHkgPSB1c2VfYXR0ciA9IFRSVUU7CkBAIC01MTEsMTggKzc2MCw0MSBAQAogICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCAiYWRkbnN0ciByZXF1aXJlcyAyIHRvIDUgYXJndW1lbnRzIik7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KKyNpZmRlZiBIQVZFX05DVVJTRVNXCisgICAgc3RydHlwZSA9IFB5Q3Vyc2VzX0NvbnZlcnRUb1N0cmluZyhzZWxmLCBzdHJvYmosICZieXRlc29iaiwgJndzdHIpOworI2Vsc2UKKyAgICBzdHJ0eXBlID0gUHlDdXJzZXNfQ29udmVydFRvU3RyaW5nKHNlbGYsIHN0cm9iaiwgJmJ5dGVzb2JqLCBOVUxMKTsKKyNlbmRpZgorICAgIGlmIChzdHJ0eXBlID09IDApCisgICAgICAgIHJldHVybiBOVUxMOwogCiAgICAgaWYgKHVzZV9hdHRyID09IFRSVUUpIHsKICAgICAgICAgYXR0cl9vbGQgPSBnZXRhdHRycyhzZWxmLT53aW4pOwogICAgICAgICAodm9pZCl3YXR0cnNldChzZWxmLT53aW4sYXR0cik7CiAgICAgfQotICAgIGlmICh1c2VfeHkgPT0gVFJVRSkKLSAgICAgICAgcnRuID0gbXZ3YWRkbnN0cihzZWxmLT53aW4seSx4LHN0cixuKTsKKyNpZmRlZiBIQVZFX05DVVJTRVNXCisgICAgaWYgKHN0cnR5cGUgPT0gMikgeworICAgICAgICBmdW5jbmFtZSA9ICJhZGRud3N0ciI7CisgICAgICAgIGlmICh1c2VfeHkgPT0gVFJVRSkKKyAgICAgICAgICAgIHJ0biA9IG12d2FkZG53c3RyKHNlbGYtPndpbix5LHgsd3N0cixuKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgcnRuID0gd2FkZG53c3RyKHNlbGYtPndpbix3c3RyLG4pOworICAgICAgICBQeU1lbV9GcmVlKHdzdHIpOworICAgIH0KICAgICBlbHNlCi0gICAgICAgIHJ0biA9IHdhZGRuc3RyKHNlbGYtPndpbixzdHIsbik7CisjZW5kaWYKKyAgICB7CisgICAgICAgIGNoYXIgKnN0ciA9IFB5Qnl0ZXNfQVNfU1RSSU5HKGJ5dGVzb2JqKTsKKyAgICAgICAgZnVuY25hbWUgPSAiYWRkbnN0ciI7CisgICAgICAgIGlmICh1c2VfeHkgPT0gVFJVRSkKKyAgICAgICAgICAgIHJ0biA9IG12d2FkZG5zdHIoc2VsZi0+d2luLHkseCxzdHIsbik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHJ0biA9IHdhZGRuc3RyKHNlbGYtPndpbixzdHIsbik7CisgICAgICAgIFB5X0RFQ1JFRihieXRlc29iaik7CisgICAgfQogICAgIGlmICh1c2VfYXR0ciA9PSBUUlVFKQogICAgICAgICAodm9pZCl3YXR0cnNldChzZWxmLT53aW4sYXR0cl9vbGQpOwotICAgIHJldHVybiBQeUN1cnNlc0NoZWNrRVJSKHJ0biwgImFkZG5zdHIiKTsKKyAgICByZXR1cm4gUHlDdXJzZXNDaGVja0VSUihydG4sIGZ1bmNuYW1lKTsKIH0KIAogc3RhdGljIFB5T2JqZWN0ICoKQEAgLTU0OCwxMCArODIwLDggQEAKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogCi0gICAgaWYgKCFQeUN1cnNlc19Db252ZXJ0VG9DaHR5cGUodGVtcCwgJmJrZ2QpKSB7Ci0gICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsICJhcmd1bWVudCAxIG9yIDMgbXVzdCBiZSBhIGNoIG9yIGFuIGludCIpOworICAgIGlmICghUHlDdXJzZXNfQ29udmVydFRvQ2h0eXBlKHNlbGYsIHRlbXAsICZia2dkKSkKICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgfQogCiAgICAgcmV0dXJuIFB5Q3Vyc2VzQ2hlY2tFUlIod2JrZ2Qoc2VsZi0+d2luLCBia2dkIHwgYXR0ciksICJia2dkIik7CiB9CkBAIC02MDYsMTAgKzg3Niw4IEBACiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KIAotICAgIGlmICghUHlDdXJzZXNfQ29udmVydFRvQ2h0eXBlKHRlbXAsICZia2dkKSkgewotICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCAiYXJndW1lbnQgMSBtdXN0IGJlIGEgY2ggb3IgYW4gaW50Iik7CisgICAgaWYgKCFQeUN1cnNlc19Db252ZXJ0VG9DaHR5cGUoc2VsZiwgdGVtcCwgJmJrZ2QpKQogICAgICAgICByZXR1cm4gTlVMTDsKLSAgICB9CiAKICAgICB3YmtnZHNldChzZWxmLT53aW4sIGJrZ2QgfCBhdHRyKTsKICAgICByZXR1cm4gUHlDdXJzZXNDaGVja0VSUigwLCAiYmtnZHNldCIpOwpAQCAtNjM0LDExICs5MDIsOCBAQAogICAgICAgICByZXR1cm4gTlVMTDsKIAogICAgIGZvcihpPTA7IGk8ODsgaSsrKSB7Ci0gICAgICAgIGlmICh0ZW1wW2ldICE9IE5VTEwgJiYgIVB5Q3Vyc2VzX0NvbnZlcnRUb0NodHlwZSh0ZW1wW2ldLCAmY2hbaV0pKSB7Ci0gICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgICJhcmd1bWVudCAlaSBtdXN0IGJlIGEgY2ggb3IgYW4gaW50IiwgaSsxKTsKKyAgICAgICAgaWYgKHRlbXBbaV0gIT0gTlVMTCAmJiAhUHlDdXJzZXNfQ29udmVydFRvQ2h0eXBlKHNlbGYsIHRlbXBbaV0sICZjaFtpXSkpCiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgfQogICAgIH0KIAogICAgIHdib3JkZXIoc2VsZi0+d2luLApAQCAtNzgzLDcgKzEwNDgsNyBAQAogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAKLSAgICByZXR1cm4gKFB5T2JqZWN0ICopUHlDdXJzZXNXaW5kb3dfTmV3KHdpbik7CisgICAgcmV0dXJuIChQeU9iamVjdCAqKVB5Q3Vyc2VzV2luZG93X05ldyh3aW4sIE5VTEwpOwogfQogCiBzdGF0aWMgUHlPYmplY3QgKgpAQCAtODExLDEwICsxMDc2LDggQEAKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogCi0gICAgaWYgKCFQeUN1cnNlc19Db252ZXJ0VG9DaHR5cGUodGVtcCwgJmNoKSkgewotICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCAiYXJndW1lbnQgMSBtdXN0IGJlIGEgY2ggb3IgYW4gaW50Iik7CisgICAgaWYgKCFQeUN1cnNlc19Db252ZXJ0VG9DaHR5cGUoc2VsZiwgdGVtcCwgJmNoKSkKICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgfQogCiAjaWZkZWYgV0lORE9XX0hBU19GTEFHUwogICAgIGlmIChzZWxmLT53aW4tPl9mbGFncyAmIF9JU1BBRCkKQEAgLTkxMCw2ICsxMTczLDQwIEBACiAgICAgfQogfQogCisjaWZkZWYgSEFWRV9OQ1VSU0VTVworc3RhdGljIFB5T2JqZWN0ICoKK1B5Q3Vyc2VzV2luZG93X0dldF9XQ2goUHlDdXJzZXNXaW5kb3dPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQoreworICAgIGludCB4LCB5OworICAgIGludCBjdDsKKyAgICB3aW50X3QgcnRuOworCisgICAgc3dpdGNoIChQeVR1cGxlX1NpemUoYXJncykpIHsKKyAgICBjYXNlIDA6CisgICAgICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKKyAgICAgICAgY3QgPSB3Z2V0X3djaChzZWxmLT53aW4sJnJ0bik7CisgICAgICAgIFB5X0VORF9BTExPV19USFJFQURTCisgICAgICAgIGJyZWFrOworICAgIGNhc2UgMjoKKyAgICAgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsImlpO3kseCIsJnksJngpKQorICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKKyAgICAgICAgY3QgPSBtdndnZXRfd2NoKHNlbGYtPndpbix5LHgsJnJ0bik7CisgICAgICAgIFB5X0VORF9BTExPV19USFJFQURTCisgICAgICAgIGJyZWFrOworICAgIGRlZmF1bHQ6CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsICJnZXRfd2NoIHJlcXVpcmVzIDAgb3IgMiBhcmd1bWVudHMiKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorICAgIGlmIChjdCA9PSBFUlIpIHsKKyAgICAgICAgLyogZ2V0X3djaCgpIHJldHVybnMgRVJSIGluIG5vZGVsYXkgbW9kZSAqLworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlDdXJzZXNFcnJvciwgIm5vIGlucHV0Iik7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKyAgICByZXR1cm4gUHlMb25nX0Zyb21Mb25nKHJ0bik7Cit9CisjZW5kaWYKKwogc3RhdGljIFB5T2JqZWN0ICoKIFB5Q3Vyc2VzV2luZG93X0dldFN0cihQeUN1cnNlc1dpbmRvd09iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCiB7CkBAIC0xMDAxLDExICsxMjk4LDggQEAKICAgICB9CiAKICAgICBpZiAoY29kZSAhPSBFUlIpIHsKLSAgICAgICAgaWYgKCFQeUN1cnNlc19Db252ZXJ0VG9DaHR5cGUodGVtcCwgJmNoKSkgewotICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYXJndW1lbnQgMSBvciAzIG11c3QgYmUgYSBjaCBvciBhbiBpbnQiKTsKKyAgICAgICAgaWYgKCFQeUN1cnNlc19Db252ZXJ0VG9DaHR5cGUoc2VsZiwgdGVtcCwgJmNoKSkKICAgICAgICAgICAgIHJldHVybiBOVUxMOwotICAgICAgICB9CiAgICAgICAgIHJldHVybiBQeUN1cnNlc0NoZWNrRVJSKHdobGluZShzZWxmLT53aW4sIGNoIHwgYXR0ciwgbiksICJobGluZSIpOwogICAgIH0gZWxzZQogICAgICAgICByZXR1cm4gUHlDdXJzZXNDaGVja0VSUihjb2RlLCAid21vdmUiKTsKQEAgLTEwNDYsMTEgKzEzNDAsOCBAQAogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAKLSAgICBpZiAoIVB5Q3Vyc2VzX0NvbnZlcnRUb0NodHlwZSh0ZW1wLCAmY2gpKSB7Ci0gICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAgICAiYXJndW1lbnQgMSBvciAzIG11c3QgYmUgYSBjaCBvciBhbiBpbnQiKTsKKyAgICBpZiAoIVB5Q3Vyc2VzX0NvbnZlcnRUb0NodHlwZShzZWxmLCB0ZW1wLCAmY2gpKQogICAgICAgICByZXR1cm4gTlVMTDsKLSAgICB9CiAKICAgICBpZiAodXNlX3h5ID09IFRSVUUpCiAgICAgICAgIHJ0biA9IG12d2luc2NoKHNlbGYtPndpbix5LHgsIGNoIHwgYXR0cik7CkBAIC0xMTIxLDI5ICsxNDEyLDM0IEBACiB7CiAgICAgaW50IHJ0bjsKICAgICBpbnQgeCwgeTsKLSAgICBjaGFyICpzdHI7CisgICAgaW50IHN0cnR5cGU7CisgICAgUHlPYmplY3QgKnN0cm9iaiwgKmJ5dGVzb2JqID0gTlVMTDsKKyNpZmRlZiBIQVZFX05DVVJTRVNXCisgICAgd2NoYXJfdCAqd3N0ciA9IE5VTEw7CisjZW5kaWYKICAgICBhdHRyX3QgYXR0ciA9IEFfTk9STUFMICwgYXR0cl9vbGQgPSBBX05PUk1BTDsKICAgICBsb25nIGxhdHRyOwogICAgIGludCB1c2VfeHkgPSBGQUxTRSwgdXNlX2F0dHIgPSBGQUxTRTsKKyAgICBjb25zdCBjaGFyICpmdW5jbmFtZTsKIAogICAgIHN3aXRjaCAoUHlUdXBsZV9TaXplKGFyZ3MpKSB7CiAgICAgY2FzZSAxOgotICAgICAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywicztzdHIiLCAmc3RyKSkKKyAgICAgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsIk87c3RyIiwgJnN0cm9iaikpCiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSAyOgotICAgICAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywic2w7c3RyLGF0dHIiLCAmc3RyLCAmbGF0dHIpKQorICAgICAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywiT2w7c3RyLGF0dHIiLCAmc3Ryb2JqLCAmbGF0dHIpKQogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgIGF0dHIgPSBsYXR0cjsKICAgICAgICAgdXNlX2F0dHIgPSBUUlVFOwogICAgICAgICBicmVhazsKICAgICBjYXNlIDM6Ci0gICAgICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCJpaXM7eSx4LHN0ciIsICZ5LCAmeCwgJnN0cikpCisgICAgICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCJpaU87eSx4LHN0ciIsICZ5LCAmeCwgJnN0cm9iaikpCiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICAgICAgdXNlX3h5ID0gVFJVRTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSA0OgotICAgICAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywiaWlzbDt5LHgsc3RyLGF0dHIiLCAmeSwgJngsICZzdHIsICZsYXR0cikpCisgICAgICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCJpaU9sO3kseCxzdHIsYXR0ciIsICZ5LCAmeCwgJnN0cm9iaiwgJmxhdHRyKSkKICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICBhdHRyID0gbGF0dHI7CiAgICAgICAgIHVzZV94eSA9IHVzZV9hdHRyID0gVFJVRTsKQEAgLTExNTMsNDYgKzE0NDksNzUgQEAKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogCisjaWZkZWYgSEFWRV9OQ1VSU0VTVworICAgIHN0cnR5cGUgPSBQeUN1cnNlc19Db252ZXJ0VG9TdHJpbmcoc2VsZiwgc3Ryb2JqLCAmYnl0ZXNvYmosICZ3c3RyKTsKKyNlbHNlCisgICAgc3RydHlwZSA9IFB5Q3Vyc2VzX0NvbnZlcnRUb1N0cmluZyhzZWxmLCBzdHJvYmosICZieXRlc29iaiwgTlVMTCk7CisjZW5kaWYKKyAgICBpZiAoc3RydHlwZSA9PSAwKQorICAgICAgICByZXR1cm4gTlVMTDsKKwogICAgIGlmICh1c2VfYXR0ciA9PSBUUlVFKSB7CiAgICAgICAgIGF0dHJfb2xkID0gZ2V0YXR0cnMoc2VsZi0+d2luKTsKICAgICAgICAgKHZvaWQpd2F0dHJzZXQoc2VsZi0+d2luLGF0dHIpOwogICAgIH0KLSAgICBpZiAodXNlX3h5ID09IFRSVUUpCi0gICAgICAgIHJ0biA9IG12d2luc3N0cihzZWxmLT53aW4seSx4LHN0cik7CisjaWZkZWYgSEFWRV9OQ1VSU0VTVworICAgIGlmIChzdHJ0eXBlID09IDIpIHsKKyAgICAgICAgZnVuY25hbWUgPSAiaW5zd3N0ciI7CisgICAgICAgIGlmICh1c2VfeHkgPT0gVFJVRSkKKyAgICAgICAgICAgIHJ0biA9IG12d2luc193c3RyKHNlbGYtPndpbix5LHgsd3N0cik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHJ0biA9IHdpbnNfd3N0cihzZWxmLT53aW4sd3N0cik7CisgICAgICAgIFB5TWVtX0ZyZWUod3N0cik7CisgICAgfQogICAgIGVsc2UKLSAgICAgICAgcnRuID0gd2luc3N0cihzZWxmLT53aW4sc3RyKTsKKyNlbmRpZgorICAgIHsKKyAgICAgICAgY2hhciAqc3RyID0gUHlCeXRlc19BU19TVFJJTkcoYnl0ZXNvYmopOworICAgICAgICBmdW5jbmFtZSA9ICJpbnNzdHIiOworICAgICAgICBpZiAodXNlX3h5ID09IFRSVUUpCisgICAgICAgICAgICBydG4gPSBtdndpbnNzdHIoc2VsZi0+d2luLHkseCxzdHIpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBydG4gPSB3aW5zc3RyKHNlbGYtPndpbixzdHIpOworICAgICAgICBQeV9ERUNSRUYoYnl0ZXNvYmopOworICAgIH0KICAgICBpZiAodXNlX2F0dHIgPT0gVFJVRSkKICAgICAgICAgKHZvaWQpd2F0dHJzZXQoc2VsZi0+d2luLGF0dHJfb2xkKTsKLSAgICByZXR1cm4gUHlDdXJzZXNDaGVja0VSUihydG4sICJpbnNzdHIiKTsKKyAgICByZXR1cm4gUHlDdXJzZXNDaGVja0VSUihydG4sIGZ1bmNuYW1lKTsKIH0KIAogc3RhdGljIFB5T2JqZWN0ICoKIFB5Q3Vyc2VzV2luZG93X0luc05TdHIoUHlDdXJzZXNXaW5kb3dPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQogewogICAgIGludCBydG4sIHgsIHksIG47Ci0gICAgY2hhciAqc3RyOworICAgIGludCBzdHJ0eXBlOworICAgIFB5T2JqZWN0ICpzdHJvYmosICpieXRlc29iaiA9IE5VTEw7CisjaWZkZWYgSEFWRV9OQ1VSU0VTVworICAgIHdjaGFyX3QgKndzdHIgPSBOVUxMOworI2VuZGlmCiAgICAgYXR0cl90IGF0dHIgPSBBX05PUk1BTCAsIGF0dHJfb2xkID0gQV9OT1JNQUw7CiAgICAgbG9uZyBsYXR0cjsKICAgICBpbnQgdXNlX3h5ID0gRkFMU0UsIHVzZV9hdHRyID0gRkFMU0U7CisgICAgY29uc3QgY2hhciAqZnVuY25hbWU7CiAKICAgICBzd2l0Y2ggKFB5VHVwbGVfU2l6ZShhcmdzKSkgewogICAgIGNhc2UgMjoKLSAgICAgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsInNpO3N0cixuIiwgJnN0ciwgJm4pKQorICAgICAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywiT2k7c3RyLG4iLCAmc3Ryb2JqLCAmbikpCiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSAzOgotICAgICAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywic2lsO3N0cixuLGF0dHIiLCAmc3RyLCAmbiwgJmxhdHRyKSkKKyAgICAgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsIk9pbDtzdHIsbixhdHRyIiwgJnN0cm9iaiwgJm4sICZsYXR0cikpCiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICAgICAgYXR0ciA9IGxhdHRyOwogICAgICAgICB1c2VfYXR0ciA9IFRSVUU7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgNDoKLSAgICAgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsImlpc2k7eSx4LHN0cixuIiwgJnksICZ4LCAmc3RyLCAmbikpCisgICAgICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCJpaU9pO3kseCxzdHIsbiIsICZ5LCAmeCwgJnN0cm9iaiwgJm4pKQogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgIHVzZV94eSA9IFRSVUU7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgNToKLSAgICAgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsImlpc2lsO3kseCxzdHIsbixhdHRyIiwgJnksICZ4LCAmc3RyLCAmbiwgJmxhdHRyKSkKKyAgICAgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsImlpT2lsO3kseCxzdHIsbixhdHRyIiwgJnksICZ4LCAmc3Ryb2JqLCAmbiwgJmxhdHRyKSkKICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICBhdHRyID0gbGF0dHI7CiAgICAgICAgIHVzZV94eSA9IHVzZV9hdHRyID0gVFJVRTsKQEAgLTEyMDIsMTcgKzE1MjcsNDEgQEAKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogCisjaWZkZWYgSEFWRV9OQ1VSU0VTVworICAgIHN0cnR5cGUgPSBQeUN1cnNlc19Db252ZXJ0VG9TdHJpbmcoc2VsZiwgc3Ryb2JqLCAmYnl0ZXNvYmosICZ3c3RyKTsKKyNlbHNlCisgICAgc3RydHlwZSA9IFB5Q3Vyc2VzX0NvbnZlcnRUb1N0cmluZyhzZWxmLCBzdHJvYmosICZieXRlc29iaiwgTlVMTCk7CisjZW5kaWYKKyAgICBpZiAoc3RydHlwZSA9PSAwKQorICAgICAgICByZXR1cm4gTlVMTDsKKwogICAgIGlmICh1c2VfYXR0ciA9PSBUUlVFKSB7CiAgICAgICAgIGF0dHJfb2xkID0gZ2V0YXR0cnMoc2VsZi0+d2luKTsKICAgICAgICAgKHZvaWQpd2F0dHJzZXQoc2VsZi0+d2luLGF0dHIpOwogICAgIH0KLSAgICBpZiAodXNlX3h5ID09IFRSVUUpCi0gICAgICAgIHJ0biA9IG12d2luc25zdHIoc2VsZi0+d2luLHkseCxzdHIsbik7CisjaWZkZWYgSEFWRV9OQ1VSU0VTVworICAgIGlmIChzdHJ0eXBlID09IDIpIHsKKyAgICAgICAgZnVuY25hbWUgPSAiaW5zbl93c3RyIjsKKyAgICAgICAgaWYgKHVzZV94eSA9PSBUUlVFKQorICAgICAgICAgICAgcnRuID0gbXZ3aW5zX253c3RyKHNlbGYtPndpbix5LHgsd3N0cixuKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgcnRuID0gd2luc19ud3N0cihzZWxmLT53aW4sd3N0cixuKTsKKyAgICAgICAgUHlNZW1fRnJlZSh3c3RyKTsKKyAgICB9CiAgICAgZWxzZQotICAgICAgICBydG4gPSB3aW5zbnN0cihzZWxmLT53aW4sc3RyLG4pOworI2VuZGlmCisgICAgeworICAgICAgICBjaGFyICpzdHIgPSBQeUJ5dGVzX0FTX1NUUklORyhieXRlc29iaik7CisgICAgICAgIGZ1bmNuYW1lID0gImluc25zdHIiOworICAgICAgICBpZiAodXNlX3h5ID09IFRSVUUpCisgICAgICAgICAgICBydG4gPSBtdndpbnNuc3RyKHNlbGYtPndpbix5LHgsc3RyLG4pOworICAgICAgICBlbHNlCisgICAgICAgICAgICBydG4gPSB3aW5zbnN0cihzZWxmLT53aW4sc3RyLG4pOworICAgICAgICBQeV9ERUNSRUYoYnl0ZXNvYmopOworICAgIH0KICAgICBpZiAodXNlX2F0dHIgPT0gVFJVRSkKICAgICAgICAgKHZvaWQpd2F0dHJzZXQoc2VsZi0+d2luLGF0dHJfb2xkKTsKLSAgICByZXR1cm4gUHlDdXJzZXNDaGVja0VSUihydG4sICJpbnNuc3RyIik7CisgICAgcmV0dXJuIFB5Q3Vyc2VzQ2hlY2tFUlIocnRuLCBmdW5jbmFtZSk7CiB9CiAKIHN0YXRpYyBQeU9iamVjdCAqCkBAIC0xMzg1LDEwICsxNzM0LDEyIEBACiAgICAgd2hpbGUgKDEpIHsKICAgICAgICAgY2hhciBidWZbQlVGU0laXTsKICAgICAgICAgUHlfc3NpemVfdCBuID0gZnJlYWQoYnVmLCAxLCBCVUZTSVosIGZwKTsKKyAgICAgICAgX1B5X0lERU5USUZJRVIod3JpdGUpOworCiAgICAgICAgIGlmIChuIDw9IDApCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgUHlfREVDUkVGKHJlcyk7Ci0gICAgICAgIHJlcyA9IFB5T2JqZWN0X0NhbGxNZXRob2Qoc3RyZWFtLCAid3JpdGUiLCAieSMiLCBidWYsIG4pOworICAgICAgICByZXMgPSBfUHlPYmplY3RfQ2FsbE1ldGhvZElkKHN0cmVhbSwgJlB5SWRfd3JpdGUsICJ5IyIsIGJ1Ziwgbik7CiAgICAgICAgIGlmIChyZXMgPT0gTlVMTCkKICAgICAgICAgICAgIGJyZWFrOwogICAgIH0KQEAgLTE0OTMsNyArMTg0NCw3IEBACiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KIAotICAgIHJldHVybiAoUHlPYmplY3QgKilQeUN1cnNlc1dpbmRvd19OZXcod2luKTsKKyAgICByZXR1cm4gKFB5T2JqZWN0ICopUHlDdXJzZXNXaW5kb3dfTmV3KHdpbiwgc2VsZi0+ZW5jb2RpbmcpOwogfQogCiBzdGF0aWMgUHlPYmplY3QgKgpAQCAtMTU2OSwxNiArMTkyMCw1MSBAQAogICAgIH0KIAogICAgIGlmIChjb2RlICE9IEVSUikgewotICAgICAgICBpZiAoIVB5Q3Vyc2VzX0NvbnZlcnRUb0NodHlwZSh0ZW1wLCAmY2gpKSB7Ci0gICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhcmd1bWVudCAxIG9yIDMgbXVzdCBiZSBhIGNoIG9yIGFuIGludCIpOworICAgICAgICBpZiAoIVB5Q3Vyc2VzX0NvbnZlcnRUb0NodHlwZShzZWxmLCB0ZW1wLCAmY2gpKQogICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgIH0KICAgICAgICAgcmV0dXJuIFB5Q3Vyc2VzQ2hlY2tFUlIod3ZsaW5lKHNlbGYtPndpbiwgY2ggfCBhdHRyLCBuKSwgInZsaW5lIik7CiAgICAgfSBlbHNlCiAgICAgICAgIHJldHVybiBQeUN1cnNlc0NoZWNrRVJSKGNvZGUsICJ3bW92ZSIpOwogfQogCitzdGF0aWMgUHlPYmplY3QgKgorUHlDdXJzZXNXaW5kb3dfZ2V0X2VuY29kaW5nKFB5Q3Vyc2VzV2luZG93T2JqZWN0ICpzZWxmLCB2b2lkICpjbG9zdXJlKQoreworICAgIHJldHVybiBQeVVuaWNvZGVfRnJvbVN0cmluZyhzZWxmLT5lbmNvZGluZyk7Cit9CisKK3N0YXRpYyBpbnQKK1B5Q3Vyc2VzV2luZG93X3NldF9lbmNvZGluZyhQeUN1cnNlc1dpbmRvd09iamVjdCAqc2VsZiwgUHlPYmplY3QgKnZhbHVlKQoreworICAgIFB5T2JqZWN0ICphc2NpaTsKKyAgICBjaGFyICplbmNvZGluZzsKKworICAgIC8qIEl0IGlzIGlsbGVnYWwgdG8gZGVsIHdpbi5lbmNvZGluZyAqLworICAgIGlmICh2YWx1ZSA9PSBOVUxMKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAiZW5jb2RpbmcgbWF5IG5vdCBiZSBkZWxldGVkIik7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisKKyAgICBpZiAoIVB5VW5pY29kZV9DaGVjayh2YWx1ZSkpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICJzZXR0aW5nIGVuY29kaW5nIHRvIGEgbm9uLXN0cmluZyIpOworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorICAgIGFzY2lpID0gUHlVbmljb2RlX0FzQVNDSUlTdHJpbmcodmFsdWUpOworICAgIGlmIChhc2NpaSA9PSBOVUxMKQorICAgICAgICByZXR1cm4gLTE7CisgICAgZW5jb2RpbmcgPSBzdHJkdXAoUHlCeXRlc19BU19TVFJJTkcoYXNjaWkpKTsKKyAgICBpZiAoZW5jb2RpbmcgPT0gTlVMTCkgeworICAgICAgICBQeUVycl9Ob01lbW9yeSgpOworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorICAgIGZyZWUoc2VsZi0+ZW5jb2RpbmcpOworICAgIHNlbGYtPmVuY29kaW5nID0gZW5jb2Rpbmc7CisgICAgcmV0dXJuIDA7Cit9CisKKwogc3RhdGljIFB5TWV0aG9kRGVmIFB5Q3Vyc2VzV2luZG93X01ldGhvZHNbXSA9IHsKICAgICB7ImFkZGNoIiwgICAgICAgICAgIChQeUNGdW5jdGlvbilQeUN1cnNlc1dpbmRvd19BZGRDaCwgTUVUSF9WQVJBUkdTfSwKICAgICB7ImFkZG5zdHIiLCAgICAgICAgIChQeUNGdW5jdGlvbilQeUN1cnNlc1dpbmRvd19BZGROU3RyLCBNRVRIX1ZBUkFSR1N9LApAQCAtMTYwOCw2ICsxOTk0LDkgQEAKICAgICB7ImdldGJrZ2QiLCAgICAgICAgIChQeUNGdW5jdGlvbilQeUN1cnNlc1dpbmRvd19HZXRCa2dkLCBNRVRIX05PQVJHU30sCiAgICAgeyJnZXRjaCIsICAgICAgICAgICAoUHlDRnVuY3Rpb24pUHlDdXJzZXNXaW5kb3dfR2V0Q2gsIE1FVEhfVkFSQVJHU30sCiAgICAgeyJnZXRrZXkiLCAgICAgICAgICAoUHlDRnVuY3Rpb24pUHlDdXJzZXNXaW5kb3dfR2V0S2V5LCBNRVRIX1ZBUkFSR1N9LAorI2lmZGVmIEhBVkVfTkNVUlNFU1cKKyAgICB7ImdldF93Y2giLCAgICAgICAgIChQeUNGdW5jdGlvbilQeUN1cnNlc1dpbmRvd19HZXRfV0NoLCBNRVRIX1ZBUkFSR1N9LAorI2VuZGlmCiAgICAgeyJnZXRtYXh5eCIsICAgICAgICAoUHlDRnVuY3Rpb24pUHlDdXJzZXNXaW5kb3dfZ2V0bWF4eXgsIE1FVEhfTk9BUkdTfSwKICAgICB7ImdldHBhcnl4IiwgICAgICAgIChQeUNGdW5jdGlvbilQeUN1cnNlc1dpbmRvd19nZXRwYXJ5eCwgTUVUSF9OT0FSR1N9LAogICAgIHsiZ2V0c3RyIiwgICAgICAgICAgKFB5Q0Z1bmN0aW9uKVB5Q3Vyc2VzV2luZG93X0dldFN0ciwgTUVUSF9WQVJBUkdTfSwKQEAgLTE2NjMsNiArMjA1MiwxNCBAQAogICAgIHtOVUxMLCAgICAgICAgICAgICAgICAgIE5VTEx9ICAgLyogc2VudGluZWwgKi8KIH07CiAKK3N0YXRpYyBQeUdldFNldERlZiBQeUN1cnNlc1dpbmRvd19nZXRzZXRzW10gPSB7CisgICAgeyJlbmNvZGluZyIsCisgICAgIChnZXR0ZXIpUHlDdXJzZXNXaW5kb3dfZ2V0X2VuY29kaW5nLAorICAgICAoc2V0dGVyKVB5Q3Vyc2VzV2luZG93X3NldF9lbmNvZGluZywKKyAgICAgInRoZSB0eXBlY29kZSBjaGFyYWN0ZXIgdXNlZCB0byBjcmVhdGUgdGhlIGFycmF5In0sCisgICAge05VTEwsIE5VTEwsIE5VTEwsIE5VTEwgfSAgLyogc2VudGluZWwgKi8KK307CisKIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogCiBQeVR5cGVPYmplY3QgUHlDdXJzZXNXaW5kb3dfVHlwZSA9IHsKQEAgLTE2OTUsNiArMjA5Miw4IEBACiAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfaXRlciovCiAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfaXRlcm5leHQqLwogICAgIFB5Q3Vyc2VzV2luZG93X01ldGhvZHMsICAgICAvKnRwX21ldGhvZHMqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9tZW1iZXJzICovCisgICAgUHlDdXJzZXNXaW5kb3dfZ2V0c2V0cywgICAgIC8qIHRwX2dldHNldCAqLwogfTsKIAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgpAQCAtMTg3NSw2ICsyMjc0LDcgQEAKICAgICBXSU5ET1cgKndpbjsKIAogICAgIFB5Q3Vyc2VzSW5pdGlhbGlzZWQ7CisgICAgX1B5X0lERU5USUZJRVIocmVhZCk7CiAKICAgICBzdHJjcHkoZm4sICIvdG1wL3B5LmN1cnNlcy5nZXR3aW4uWFhYWFhYIik7CiAgICAgZmQgPSBta3N0ZW1wKGZuKTsKQEAgLTE4ODYsNyArMjI4Niw3IEBACiAgICAgICAgIHJlbW92ZShmbik7CiAgICAgICAgIHJldHVybiBQeUVycl9TZXRGcm9tRXJybm9XaXRoRmlsZW5hbWUoUHlFeGNfSU9FcnJvciwgZm4pOwogICAgIH0KLSAgICBkYXRhID0gUHlPYmplY3RfQ2FsbE1ldGhvZChzdHJlYW0sICJyZWFkIiwgIiIpOworICAgIGRhdGEgPSBfUHlPYmplY3RfQ2FsbE1ldGhvZElkKHN0cmVhbSwgJlB5SWRfcmVhZCwgIiIpOwogICAgIGlmIChkYXRhID09IE5VTEwpIHsKICAgICAgICAgZmNsb3NlKGZwKTsKICAgICAgICAgcmVtb3ZlKGZuKTsKQEAgLTE5MTcsNyArMjMxNyw3IEBACiAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUN1cnNlc0Vycm9yLCBjYXRjaGFsbF9OVUxMKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQotICAgIHJldHVybiBQeUN1cnNlc1dpbmRvd19OZXcod2luKTsKKyAgICByZXR1cm4gUHlDdXJzZXNXaW5kb3dfTmV3KHdpbiwgTlVMTCk7CiB9CiAKIHN0YXRpYyBQeU9iamVjdCAqCkBAIC0xOTk1LDEwICsyMzk1LDExIEBACiBQeUN1cnNlc19Jbml0U2NyKFB5T2JqZWN0ICpzZWxmKQogewogICAgIFdJTkRPVyAqd2luOworICAgIFB5Q3Vyc2VzV2luZG93T2JqZWN0ICp3aW5vYmo7CiAKICAgICBpZiAoaW5pdGlhbGlzZWQgPT0gVFJVRSkgewogICAgICAgICB3cmVmcmVzaChzdGRzY3IpOwotICAgICAgICByZXR1cm4gKFB5T2JqZWN0ICopUHlDdXJzZXNXaW5kb3dfTmV3KHN0ZHNjcik7CisgICAgICAgIHJldHVybiAoUHlPYmplY3QgKilQeUN1cnNlc1dpbmRvd19OZXcoc3Rkc2NyLCBOVUxMKTsKICAgICB9CiAKICAgICB3aW4gPSBpbml0c2NyKCk7CkBAIC0yMDkwLDcgKzI0OTEsOSBAQAogICAgIFNldERpY3RJbnQoIkxJTkVTIiwgTElORVMpOwogICAgIFNldERpY3RJbnQoIkNPTFMiLCBDT0xTKTsKIAotICAgIHJldHVybiAoUHlPYmplY3QgKilQeUN1cnNlc1dpbmRvd19OZXcod2luKTsKKyAgICB3aW5vYmogPSAoUHlDdXJzZXNXaW5kb3dPYmplY3QgKilQeUN1cnNlc1dpbmRvd19OZXcod2luLCBOVUxMKTsKKyAgICBzY3JlZW5fZW5jb2RpbmcgPSB3aW5vYmotPmVuY29kaW5nOworICAgIHJldHVybiAoUHlPYmplY3QgKil3aW5vYmo7CiB9CiAKIHN0YXRpYyBQeU9iamVjdCAqCkBAIC0yMjkyLDcgKzI2OTUsNyBAQAogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAKLSAgICByZXR1cm4gKFB5T2JqZWN0ICopUHlDdXJzZXNXaW5kb3dfTmV3KHdpbik7CisgICAgcmV0dXJuIChQeU9iamVjdCAqKVB5Q3Vyc2VzV2luZG93X05ldyh3aW4sIE5VTEwpOwogfQogCiBzdGF0aWMgUHlPYmplY3QgKgpAQCAtMjMyNCw3ICsyNzI3LDcgQEAKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogCi0gICAgcmV0dXJuIChQeU9iamVjdCAqKVB5Q3Vyc2VzV2luZG93X05ldyh3aW4pOworICAgIHJldHVybiAoUHlPYmplY3QgKilQeUN1cnNlc1dpbmRvd19OZXcod2luLCBOVUxMKTsKIH0KIAogc3RhdGljIFB5T2JqZWN0ICoKQEAgLTI0MTYsNiArMjgxOSw4IEBACiB7CiAgICAgUHlPYmplY3QgKm87CiAgICAgUHlPYmplY3QgKm0gPSBQeUltcG9ydF9JbXBvcnRNb2R1bGVOb0Jsb2NrKCJjdXJzZXMiKTsKKyAgICBfUHlfSURFTlRJRklFUihMSU5FUyk7CisgICAgX1B5X0lERU5USUZJRVIoQ09MUyk7CiAKICAgICBpZiAoIW0pCiAgICAgICAgIHJldHVybiAwOwpAQCAtMjQyNSwxMiArMjgzMCwxMyBAQAogICAgICAgICBQeV9ERUNSRUYobSk7CiAgICAgICAgIHJldHVybiAwOwogICAgIH0KLSAgICBpZiAoUHlPYmplY3RfU2V0QXR0clN0cmluZyhtLCAiTElORVMiLCBvKSkgeworICAgIGlmIChfUHlPYmplY3RfU2V0QXR0cklkKG0sICZQeUlkX0xJTkVTLCBvKSkgewogICAgICAgICBQeV9ERUNSRUYobSk7CiAgICAgICAgIFB5X0RFQ1JFRihvKTsKICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQotICAgIGlmIChQeURpY3RfU2V0SXRlbVN0cmluZyhNb2REaWN0LCAiTElORVMiLCBvKSkgeworICAgIC8qIFB5SWRfTElORVMub2JqZWN0IHdpbGwgYmUgaW5pdGlhbGl6ZWQgaGVyZS4gKi8KKyAgICBpZiAoUHlEaWN0X1NldEl0ZW0oTW9kRGljdCwgUHlJZF9MSU5FUy5vYmplY3QsIG8pKSB7CiAgICAgICAgIFB5X0RFQ1JFRihtKTsKICAgICAgICAgUHlfREVDUkVGKG8pOwogICAgICAgICByZXR1cm4gMDsKQEAgLTI0NDEsMTIgKzI4NDcsMTIgQEAKICAgICAgICAgUHlfREVDUkVGKG0pOwogICAgICAgICByZXR1cm4gMDsKICAgICB9Ci0gICAgaWYgKFB5T2JqZWN0X1NldEF0dHJTdHJpbmcobSwgIkNPTFMiLCBvKSkgeworICAgIGlmIChfUHlPYmplY3RfU2V0QXR0cklkKG0sICZQeUlkX0NPTFMsIG8pKSB7CiAgICAgICAgIFB5X0RFQ1JFRihtKTsKICAgICAgICAgUHlfREVDUkVGKG8pOwogICAgICAgICByZXR1cm4gMDsKICAgICB9Ci0gICAgaWYgKFB5RGljdF9TZXRJdGVtU3RyaW5nKE1vZERpY3QsICJDT0xTIiwgbykpIHsKKyAgICBpZiAoUHlEaWN0X1NldEl0ZW0oTW9kRGljdCwgUHlJZF9DT0xTLm9iamVjdCwgbykpIHsKICAgICAgICAgUHlfREVDUkVGKG0pOwogICAgICAgICBQeV9ERUNSRUYobyk7CiAgICAgICAgIHJldHVybiAwOwpAQCAtMjYzOCwxMCArMzA0NCw4IEBACiAKICAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywiTztjaCBvciBpbnQiLCZ0ZW1wKSkgcmV0dXJuIE5VTEw7CiAKLSAgICBpZiAoIVB5Q3Vyc2VzX0NvbnZlcnRUb0NodHlwZSh0ZW1wLCAmY2gpKSB7Ci0gICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsICJhcmd1bWVudCBtdXN0IGJlIGEgY2ggb3IgYW4gaW50Iik7CisgICAgaWYgKCFQeUN1cnNlc19Db252ZXJ0VG9DaHR5cGUoTlVMTCwgdGVtcCwgJmNoKSkKICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgfQogCiAgICAgcmV0dXJuIFB5Qnl0ZXNfRnJvbVN0cmluZyh1bmN0cmwoY2gpKTsKIH0KQEAgLTI2NTQsMTYgKzMwNTgsODAgQEAKIAogICAgIFB5Q3Vyc2VzSW5pdGlhbGlzZWQ7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywiTztjaCBvciBpbnQiLCZ0ZW1wKSkgcmV0dXJuIE5VTEw7Ci0KLSAgICBpZiAoIVB5Q3Vyc2VzX0NvbnZlcnRUb0NodHlwZSh0ZW1wLCAmY2gpKSB7Ci0gICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsICJhcmd1bWVudCBtdXN0IGJlIGEgY2ggb3IgYW4gaW50Iik7CisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsIk87Y2ggb3IgaW50IiwmdGVtcCkpCiAgICAgICAgIHJldHVybiBOVUxMOwotICAgIH0KKworICAgIGlmICghUHlDdXJzZXNfQ29udmVydFRvQ2h0eXBlKE5VTEwsIHRlbXAsICZjaCkpCisgICAgICAgIHJldHVybiBOVUxMOwogCiAgICAgcmV0dXJuIFB5Q3Vyc2VzQ2hlY2tFUlIodW5nZXRjaChjaCksICJ1bmdldGNoIik7CiB9CiAKKyNpZmRlZiBIQVZFX05DVVJTRVNXCisvKiBDb252ZXJ0IGFuIG9iamVjdCB0byBhIGNoYXJhY3RlciAod2NoYXJfdCk6CisKKyAgICAtIGludAorICAgIC0gc3RyIG9mIGxlbmd0aCAxCisKKyAgIFJldHVybiAxIG9uIHN1Y2Nlc3MsIDAgb24gZXJyb3IuICovCitzdGF0aWMgaW50CitQeUN1cnNlc19Db252ZXJ0VG9XY2hhcl90KFB5T2JqZWN0ICpvYmosCisgICAgICAgICAgICAgICAgICAgICAgICAgIHdjaGFyX3QgKndjaCkKK3sKKyAgICBpZiAoUHlVbmljb2RlX0NoZWNrKG9iaikpIHsKKyAgICAgICAgd2NoYXJfdCBidWZmZXJbMl07CisgICAgICAgIGlmIChQeVVuaWNvZGVfQXNXaWRlQ2hhcihvYmosIGJ1ZmZlciwgMikgIT0gMSkgeworICAgICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1R5cGVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwZWN0IGJ5dGVzIG9yIHN0ciBvZiBsZW5ndGggMSwgb3IgaW50LCAiCisgICAgICAgICAgICAgICAgICAgICAgICAgImdvdCBhIHN0ciBvZiBsZW5ndGggJXppIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfR0VUX0xFTkdUSChvYmopKTsKKyAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICB9CisgICAgICAgICp3Y2ggPSBidWZmZXJbMF07CisgICAgICAgIHJldHVybiAyOworICAgIH0KKyAgICBlbHNlIGlmIChQeUxvbmdfQ2hlY2tFeGFjdChvYmopKSB7CisgICAgICAgIGxvbmcgdmFsdWU7CisgICAgICAgIGludCBvdmVyZmxvdzsKKyAgICAgICAgdmFsdWUgPSBQeUxvbmdfQXNMb25nQW5kT3ZlcmZsb3cob2JqLCAmb3ZlcmZsb3cpOworICAgICAgICBpZiAob3ZlcmZsb3cpIHsKKyAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19PdmVyZmxvd0Vycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpbnQgZG9lc24ndCBmaXQgaW4gbG9uZyIpOworICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIH0KKyAgICAgICAgKndjaCA9ICh3Y2hhcl90KXZhbHVlOworICAgICAgICBpZiAoKGxvbmcpKndjaCAhPSB2YWx1ZSkgeworICAgICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX092ZXJmbG93RXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgImNoYXJhY3RlciBkb2Vzbid0IGZpdCBpbiB3Y2hhcl90Iik7CisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gMTsKKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAiZXhwZWN0IGJ5dGVzIG9yIHN0ciBvZiBsZW5ndGggMSwgb3IgaW50LCBnb3QgJXMiLAorICAgICAgICAgICAgICAgICAgICAgUHlfVFlQRShvYmopLT50cF9uYW1lKTsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorfQorCitzdGF0aWMgUHlPYmplY3QgKgorUHlDdXJzZXNfVW5nZXRfV2NoKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeU9iamVjdCAqb2JqOworICAgIHdjaGFyX3Qgd2NoOworCisgICAgUHlDdXJzZXNJbml0aWFsaXNlZDsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCJPIiwgJm9iaikpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgaWYgKCFQeUN1cnNlc19Db252ZXJ0VG9XY2hhcl90KG9iaiwgJndjaCkpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIHJldHVybiBQeUN1cnNlc0NoZWNrRVJSKHVuZ2V0X3djaCh3Y2gpLCAidW5nZXRfd2NoIik7Cit9CisjZW5kaWYKKwogc3RhdGljIFB5T2JqZWN0ICoKIFB5Q3Vyc2VzX1VzZV9FbnYoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQogewpAQCAtMjc5MSw2ICszMjU5LDkgQEAKICAgICB7InR5cGVhaGVhZCIsICAgICAgICAgICAoUHlDRnVuY3Rpb24pUHlDdXJzZXNfVHlwZUFoZWFkLCBNRVRIX1ZBUkFSR1N9LAogICAgIHsidW5jdHJsIiwgICAgICAgICAgICAgIChQeUNGdW5jdGlvbilQeUN1cnNlc19VbkN0cmwsIE1FVEhfVkFSQVJHU30sCiAgICAgeyJ1bmdldGNoIiwgICAgICAgICAgICAgKFB5Q0Z1bmN0aW9uKVB5Q3Vyc2VzX1VuZ2V0Q2gsIE1FVEhfVkFSQVJHU30sCisjaWZkZWYgSEFWRV9OQ1VSU0VTVworICAgIHsidW5nZXRfd2NoIiwgICAgICAgICAgIChQeUNGdW5jdGlvbilQeUN1cnNlc19VbmdldF9XY2gsIE1FVEhfVkFSQVJHU30sCisjZW5kaWYKICAgICB7InVzZV9lbnYiLCAgICAgICAgICAgICAoUHlDRnVuY3Rpb24pUHlDdXJzZXNfVXNlX0VudiwgTUVUSF9WQVJBUkdTfSwKICNpZm5kZWYgU1RSSUNUX1NZU1ZfQ1VSU0VTCiAgICAgeyJ1c2VfZGVmYXVsdF9jb2xvcnMiLCAgKFB5Q0Z1bmN0aW9uKVB5Q3Vyc2VzX1VzZV9EZWZhdWx0X0NvbG9ycywgTUVUSF9OT0FSR1N9LApkaWZmIC0tZ2l0IGEvTW9kdWxlcy9fZGF0ZXRpbWVtb2R1bGUuYyBiL01vZHVsZXMvX2RhdGV0aW1lbW9kdWxlLmMKaW5kZXggOGY1NzFhZC4uOTYzYTFhYyAxMDA2NDQKLS0tIGEvTW9kdWxlcy9fZGF0ZXRpbWVtb2R1bGUuYworKysgYi9Nb2R1bGVzL19kYXRldGltZW1vZHVsZS5jCkBAIC03LDggKzcsNiBAQAogCiAjaW5jbHVkZSA8dGltZS5oPgogCi0jaW5jbHVkZSAiX3RpbWUuaCIKLQogLyogRGlmZmVyZW50aWF0ZSBiZXR3ZWVuIGJ1aWxkaW5nIHRoZSBjb3JlIG1vZHVsZSBhbmQgYnVpbGRpbmcgZXh0ZW5zaW9uCiAgKiBtb2R1bGVzLgogICovCkBAIC03NjYsNyArNzY0LDcgQEAKICAgICBQeU9iamVjdCAqbmFtZTsKIH0gUHlEYXRlVGltZV9UaW1lWm9uZTsKIAotLyogVGhlIGludGVybmVkIFVUQyB0aW1lem9uZSBpbnN0YW5jZSAqLyAKKy8qIFRoZSBpbnRlcm5lZCBVVEMgdGltZXpvbmUgaW5zdGFuY2UgKi8KIHN0YXRpYyBQeU9iamVjdCAqUHlEYXRlVGltZV9UaW1lWm9uZV9VVEM7CiAKIC8qIENyZWF0ZSBuZXcgdGltZXpvbmUgaW5zdGFuY2UgY2hlY2tpbmcgb2Zmc2V0IHJhbmdlLiAgVGhpcwpAQCAtOTQ2LDYgKzk0NCw3IEBACiBjYWxsX3R6bmFtZShQeU9iamVjdCAqdHppbmZvLCBQeU9iamVjdCAqdHppbmZvYXJnKQogewogICAgIFB5T2JqZWN0ICpyZXN1bHQ7CisgICAgX1B5X0lERU5USUZJRVIodHpuYW1lKTsKIAogICAgIGFzc2VydCh0emluZm8gIT0gTlVMTCk7CiAgICAgYXNzZXJ0KGNoZWNrX3R6aW5mb19zdWJjbGFzcyh0emluZm8pID49IDApOwpAQCAtOTU0LDcgKzk1Myw3IEBACiAgICAgaWYgKHR6aW5mbyA9PSBQeV9Ob25lKQogICAgICAgICBQeV9SRVRVUk5fTk9ORTsKIAotICAgIHJlc3VsdCA9IFB5T2JqZWN0X0NhbGxNZXRob2QodHppbmZvLCAidHpuYW1lIiwgIk8iLCB0emluZm9hcmcpOworICAgIHJlc3VsdCA9IF9QeU9iamVjdF9DYWxsTWV0aG9kSWQodHppbmZvLCAmUHlJZF90em5hbWUsICJPIiwgdHppbmZvYXJnKTsKIAogICAgIGlmIChyZXN1bHQgPT0gTlVMTCB8fCByZXN1bHQgPT0gUHlfTm9uZSkKICAgICAgICAgcmV0dXJuIHJlc3VsdDsKQEAgLTk4NSw5ICs5ODQsOCBAQAogICAgIGlmICh0emluZm8gPT0gUHlfTm9uZSkKICAgICAgICAgcmV0dXJuIHJlcHI7CiAgICAgLyogR2V0IHJpZCBvZiB0aGUgdHJhaWxpbmcgJyknLiAqLwotICAgIGFzc2VydChQeVVuaWNvZGVfQVNfVU5JQ09ERShyZXByKVtQeVVuaWNvZGVfR0VUX1NJWkUocmVwciktMV0gPT0gJyknKTsKLSAgICB0ZW1wID0gUHlVbmljb2RlX0Zyb21Vbmljb2RlKFB5VW5pY29kZV9BU19VTklDT0RFKHJlcHIpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfR0VUX1NJWkUocmVwcikgLSAxKTsKKyAgICBhc3NlcnQoUHlVbmljb2RlX1JFQURfQ0hBUihyZXByLCBQeVVuaWNvZGVfR0VUX0xFTkdUSChyZXByKS0xKSA9PSAnKScpOworICAgIHRlbXAgPSBQeVVuaWNvZGVfU3Vic3RyaW5nKHJlcHIsIDAsIFB5VW5pY29kZV9HRVRfTEVOR1RIKHJlcHIpIC0gMSk7CiAgICAgUHlfREVDUkVGKHJlcHIpOwogICAgIGlmICh0ZW1wID09IE5VTEwpCiAgICAgICAgIHJldHVybiBOVUxMOwpAQCAtMTA3OSw2ICsxMDc3LDggQEAKICAgICBQeU9iamVjdCAqdGVtcDsKICAgICBQeU9iamVjdCAqdHppbmZvID0gZ2V0X3R6aW5mb19tZW1iZXIob2JqZWN0KTsKICAgICBQeU9iamVjdCAqWnJlcGxhY2VtZW50ID0gUHlVbmljb2RlX0Zyb21TdHJpbmdBbmRTaXplKE5VTEwsIDApOworICAgIF9QeV9JREVOVElGSUVSKHJlcGxhY2UpOworCiAgICAgaWYgKFpyZXBsYWNlbWVudCA9PSBOVUxMKQogICAgICAgICByZXR1cm4gTlVMTDsKICAgICBpZiAodHppbmZvID09IFB5X05vbmUgfHwgdHppbmZvID09IE5VTEwpCkBAIC0xMDk5LDcgKzEwOTksNyBAQAogICAgICAqIHN0cmZ0aW1lIGRvZXNuJ3QgdHJlYXQgdGhlbSBhcyBmb3JtYXQgY29kZXMuCiAgICAgICovCiAgICAgUHlfREVDUkVGKFpyZXBsYWNlbWVudCk7Ci0gICAgWnJlcGxhY2VtZW50ID0gUHlPYmplY3RfQ2FsbE1ldGhvZCh0ZW1wLCAicmVwbGFjZSIsICJzcyIsICIlIiwgIiUlIik7CisgICAgWnJlcGxhY2VtZW50ID0gX1B5T2JqZWN0X0NhbGxNZXRob2RJZCh0ZW1wLCAmUHlJZF9yZXBsYWNlLCAic3MiLCAiJSIsICIlJSIpOwogICAgIFB5X0RFQ1JFRih0ZW1wKTsKICAgICBpZiAoWnJlcGxhY2VtZW50ID09IE5VTEwpCiAgICAgICAgIHJldHVybiBOVUxMOwpAQCAtMTE2NiwzMSArMTE2Niw2IEBACiAgICAgaWYgKCFwaW4pCiAgICAgICAgIHJldHVybiBOVUxMOwogCi0gICAgLyogR2l2ZSB1cCBpZiB0aGUgeWVhciBpcyBiZWZvcmUgMTAwMC4KLSAgICAgKiBQeXRob24gc3RyZnRpbWUoKSBwbGF5cyBnYW1lcyB3aXRoIHRoZSB5ZWFyLCBhbmQgZGlmZmVyZW50Ci0gICAgICogZ2FtZXMgZGVwZW5kaW5nIG9uIHdoZXRoZXIgZW52YXIgUFlUSE9OMksgaXMgc2V0LiAgVGhpcyBtYWtlcwotICAgICAqIHllYXJzIGJlZm9yZSAxMDAwIGEgbmlnaHRtYXJlLCBldmVuIGlmIHRoZSBwbGF0Zm9ybSBzdHJmdGltZQotICAgICAqIHN1cHBvcnRzIHRoZW0gKGFuZCBub3QgYWxsIGRvKS4KLSAgICAgKiBXZSBjb3VsZCBnZXQgYSBsb3QgZmFydGhlciBoZXJlIGJ5IGF2b2lkaW5nIFB5dGhvbidzIHN0cmZ0aW1lCi0gICAgICogd3JhcHBlciBhbmQgY2FsbGluZyB0aGUgQyBzdHJmdGltZSgpIGRpcmVjdGx5LCBidXQgdGhhdCBpc24ndAotICAgICAqIGFuIG9wdGlvbiBpbiB0aGUgUHl0aG9uIGltcGxlbWVudGF0aW9uIG9mIHRoaXMgbW9kdWxlLgotICAgICAqLwotICAgIHsKLSAgICAgICAgbG9uZyB5ZWFyOwotICAgICAgICBQeU9iamVjdCAqcHl5ZWFyID0gUHlTZXF1ZW5jZV9HZXRJdGVtKHRpbWV0dXBsZSwgMCk7Ci0gICAgICAgIGlmIChweXllYXIgPT0gTlVMTCkgcmV0dXJuIE5VTEw7Ci0gICAgICAgIGFzc2VydChQeUxvbmdfQ2hlY2socHl5ZWFyKSk7Ci0gICAgICAgIHllYXIgPSBQeUxvbmdfQXNMb25nKHB5eWVhcik7Ci0gICAgICAgIFB5X0RFQ1JFRihweXllYXIpOwotICAgICAgICBpZiAoeWVhciA8IDEwMDApIHsKLSAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19WYWx1ZUVycm9yLCAieWVhcj0lbGQgaXMgYmVmb3JlICIKLSAgICAgICAgICAgICAgICAgICAgICAgICAiMTAwMDsgdGhlIGRhdGV0aW1lIHN0cmZ0aW1lKCkgIgotICAgICAgICAgICAgICAgICAgICAgICAgICJtZXRob2RzIHJlcXVpcmUgeWVhciA+PSAxMDAwIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICB5ZWFyKTsKLSAgICAgICAgICAgIHJldHVybiBOVUxMOwotICAgICAgICB9Ci0gICAgfQotCiAgICAgLyogU2NhbiB0aGUgaW5wdXQgZm9ybWF0LCBsb29raW5nIGZvciAlei8lWi8lZiBlc2NhcGVzLCBidWlsZGluZwogICAgICAqIGEgbmV3IGZvcm1hdC4gIFNpbmNlIGNvbXB1dGluZyB0aGUgcmVwbGFjZW1lbnRzIGZvciB0aG9zZSBjb2RlcwogICAgICAqIGlzIGV4cGVuc2l2ZSwgZG9uJ3QgdW5sZXNzIHRoZXkncmUgYWN0dWFsbHkgdXNlZC4KQEAgLTEzMDcsMTIgKzEyODIsMTUgQEAKICAgICB7CiAgICAgICAgIFB5T2JqZWN0ICpmb3JtYXQ7CiAgICAgICAgIFB5T2JqZWN0ICp0aW1lID0gUHlJbXBvcnRfSW1wb3J0TW9kdWxlTm9CbG9jaygidGltZSIpOworCiAgICAgICAgIGlmICh0aW1lID09IE5VTEwpCiAgICAgICAgICAgICBnb3RvIERvbmU7CiAgICAgICAgIGZvcm1hdCA9IFB5VW5pY29kZV9Gcm9tU3RyaW5nKFB5Qnl0ZXNfQVNfU1RSSU5HKG5ld2ZtdCkpOwogICAgICAgICBpZiAoZm9ybWF0ICE9IE5VTEwpIHsKLSAgICAgICAgICAgIHJlc3VsdCA9IFB5T2JqZWN0X0NhbGxNZXRob2QodGltZSwgInN0cmZ0aW1lIiwgIk9PIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0LCB0aW1ldHVwbGUsIE5VTEwpOworICAgICAgICAgICAgX1B5X0lERU5USUZJRVIoc3RyZnRpbWUpOworCisgICAgICAgICAgICByZXN1bHQgPSBfUHlPYmplY3RfQ2FsbE1ldGhvZElkKHRpbWUsICZQeUlkX3N0cmZ0aW1lLCAiT08iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtYXQsIHRpbWV0dXBsZSwgTlVMTCk7CiAgICAgICAgICAgICBQeV9ERUNSRUYoZm9ybWF0KTsKICAgICAgICAgfQogICAgICAgICBQeV9ERUNSRUYodGltZSk7CkBAIC0xMzM4LDcgKzEzMTYsOSBAQAogICAgIFB5T2JqZWN0ICp0aW1lID0gUHlJbXBvcnRfSW1wb3J0TW9kdWxlTm9CbG9jaygidGltZSIpOwogCiAgICAgaWYgKHRpbWUgIT0gTlVMTCkgewotICAgICAgICByZXN1bHQgPSBQeU9iamVjdF9DYWxsTWV0aG9kKHRpbWUsICJ0aW1lIiwgIigpIik7CisgICAgICAgIF9QeV9JREVOVElGSUVSKHRpbWUpOworCisgICAgICAgIHJlc3VsdCA9IF9QeU9iamVjdF9DYWxsTWV0aG9kSWQodGltZSwgJlB5SWRfdGltZSwgIigpIik7CiAgICAgICAgIFB5X0RFQ1JFRih0aW1lKTsKICAgICB9CiAgICAgcmV0dXJuIHJlc3VsdDsKQEAgLTEzNTUsMTMgKzEzMzUsMTUgQEAKIAogICAgIHRpbWUgPSBQeUltcG9ydF9JbXBvcnRNb2R1bGVOb0Jsb2NrKCJ0aW1lIik7CiAgICAgaWYgKHRpbWUgIT0gTlVMTCkgewotICAgICAgICByZXN1bHQgPSBQeU9iamVjdF9DYWxsTWV0aG9kKHRpbWUsICJzdHJ1Y3RfdGltZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIigoaWlpaWlpaWlpKSkiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHksIG0sIGQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGgsIG1tLCBzcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3ZWVrZGF5KHksIG0sIGQpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRheXNfYmVmb3JlX21vbnRoKHksIG0pICsgZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkc3RmbGFnKTsKKyAgICAgICAgX1B5X0lERU5USUZJRVIoc3RydWN0X3RpbWUpOworCisgICAgICAgIHJlc3VsdCA9IF9QeU9iamVjdF9DYWxsTWV0aG9kSWQodGltZSwgJlB5SWRfc3RydWN0X3RpbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIigoaWlpaWlpaWlpKSkiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHksIG0sIGQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGgsIG1tLCBzcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3ZWVrZGF5KHksIG0sIGQpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRheXNfYmVmb3JlX21vbnRoKHksIG0pICsgZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkc3RmbGFnKTsKICAgICAgICAgUHlfREVDUkVGKHRpbWUpOwogICAgIH0KICAgICByZXR1cm4gcmVzdWx0OwpAQCAtMTQ2MSw3ICsxNDQzLDcgQEAKICAgICAgICAgZ290byBEb25lOwogICAgIFB5X0RFQ1JFRih4MSk7CiAgICAgUHlfREVDUkVGKHgyKTsKLSAgICB4MSA9IHgyID0gTlVMTDsKKyAgICAvKiB4MSA9ICovIHgyID0gTlVMTDsKIAogICAgIC8qIHgzIGhhcyBkYXlzK3NlY29uZHMgaW4gc2Vjb25kcyAqLwogICAgIHgxID0gUHlOdW1iZXJfTXVsdGlwbHkoeDMsIHVzX3Blcl9zZWNvbmQpOyAgICAgICAgICAvKiB1cyAqLwpAQCAtMTU5NCwxMSArMTU3NiwxMiBAQAogICAgIFB5T2JqZWN0ICpyZXN1bHQgPSBOVUxMOwogICAgIFB5T2JqZWN0ICpweXVzX2luID0gTlVMTCwgKnRlbXAsICpweXVzX291dDsKICAgICBQeU9iamVjdCAqcmF0aW8gPSBOVUxMOworICAgIF9QeV9JREVOVElGSUVSKGFzX2ludGVnZXJfcmF0aW8pOwogCiAgICAgcHl1c19pbiA9IGRlbHRhX3RvX21pY3Jvc2Vjb25kcyhkZWx0YSk7CiAgICAgaWYgKHB5dXNfaW4gPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgcmF0aW8gPSBQeU9iamVjdF9DYWxsTWV0aG9kKGZsb2F0b2JqLCAiYXNfaW50ZWdlcl9yYXRpbyIsIE5VTEwpOworICAgIHJhdGlvID0gX1B5T2JqZWN0X0NhbGxNZXRob2RJZChmbG9hdG9iaiwgJlB5SWRfYXNfaW50ZWdlcl9yYXRpbywgTlVMTCk7CiAgICAgaWYgKHJhdGlvID09IE5VTEwpCiAgICAgICAgIGdvdG8gZXJyb3I7CiAgICAgdGVtcCA9IFB5TnVtYmVyX011bHRpcGx5KHB5dXNfaW4sIFB5VHVwbGVfR0VUX0lURU0ocmF0aW8sIDApKTsKQEAgLTE2OTIsMTEgKzE2NzUsMTIgQEAKICAgICBQeU9iamVjdCAqcmVzdWx0ID0gTlVMTDsKICAgICBQeU9iamVjdCAqcHl1c19pbiA9IE5VTEwsICp0ZW1wLCAqcHl1c19vdXQ7CiAgICAgUHlPYmplY3QgKnJhdGlvID0gTlVMTDsKKyAgICBfUHlfSURFTlRJRklFUihhc19pbnRlZ2VyX3JhdGlvKTsKIAogICAgIHB5dXNfaW4gPSBkZWx0YV90b19taWNyb3NlY29uZHMoZGVsdGEpOwogICAgIGlmIChweXVzX2luID09IE5VTEwpCiAgICAgICAgIHJldHVybiBOVUxMOwotICAgIHJhdGlvID0gUHlPYmplY3RfQ2FsbE1ldGhvZChmLCAiYXNfaW50ZWdlcl9yYXRpbyIsIE5VTEwpOworICAgIHJhdGlvID0gX1B5T2JqZWN0X0NhbGxNZXRob2RJZChmLCAmUHlJZF9hc19pbnRlZ2VyX3JhdGlvLCBOVUxMKTsKICAgICBpZiAocmF0aW8gPT0gTlVMTCkKICAgICAgICAgZ290byBlcnJvcjsKICAgICB0ZW1wID0gUHlOdW1iZXJfTXVsdGlwbHkocHl1c19pbiwgUHlUdXBsZV9HRVRfSVRFTShyYXRpbywgMSkpOwpAQCAtMTgzNyw4ICsxODIxLDcgQEAKICAgICAgICAgcmV0dXJuIGRpZmZfdG9fYm9vbChkaWZmLCBvcCk7CiAgICAgfQogICAgIGVsc2UgewotICAgICAgICBQeV9JTkNSRUYoUHlfTm90SW1wbGVtZW50ZWQpOwotICAgICAgICByZXR1cm4gUHlfTm90SW1wbGVtZW50ZWQ7CisgICAgICAgIFB5X1JFVFVSTl9OT1RJTVBMRU1FTlRFRDsKICAgICB9CiB9CiAKQEAgLTE5MzYsMTAgKzE5MTksOCBAQAogICAgIFB5T2JqZWN0ICpweXVzX3JlbWFpbmRlcjsKICAgICBQeU9iamVjdCAqcmVtYWluZGVyOwogCi0gICAgaWYgKCFQeURlbHRhX0NoZWNrKGxlZnQpIHx8ICFQeURlbHRhX0NoZWNrKHJpZ2h0KSkgewotICAgICAgICBQeV9JTkNSRUYoUHlfTm90SW1wbGVtZW50ZWQpOwotICAgICAgICByZXR1cm4gUHlfTm90SW1wbGVtZW50ZWQ7Ci0gICAgfQorICAgIGlmICghUHlEZWx0YV9DaGVjayhsZWZ0KSB8fCAhUHlEZWx0YV9DaGVjayhyaWdodCkpCisgICAgICAgIFB5X1JFVFVSTl9OT1RJTVBMRU1FTlRFRDsKIAogICAgIHB5dXNfbGVmdCA9IGRlbHRhX3RvX21pY3Jvc2Vjb25kcygoUHlEYXRlVGltZV9EZWx0YSAqKWxlZnQpOwogICAgIGlmIChweXVzX2xlZnQgPT0gTlVMTCkKQEAgLTE5NzQsMTAgKzE5NTUsOCBAQAogICAgIFB5T2JqZWN0ICpkZWx0YTsKICAgICBQeU9iamVjdCAqcmVzdWx0OwogCi0gICAgaWYgKCFQeURlbHRhX0NoZWNrKGxlZnQpIHx8ICFQeURlbHRhX0NoZWNrKHJpZ2h0KSkgewotICAgICAgICBQeV9JTkNSRUYoUHlfTm90SW1wbGVtZW50ZWQpOwotICAgICAgICByZXR1cm4gUHlfTm90SW1wbGVtZW50ZWQ7Ci0gICAgfQorICAgIGlmICghUHlEZWx0YV9DaGVjayhsZWZ0KSB8fCAhUHlEZWx0YV9DaGVjayhyaWdodCkpCisgICAgICAgIFB5X1JFVFVSTl9OT1RJTVBMRU1FTlRFRDsKIAogICAgIHB5dXNfbGVmdCA9IGRlbHRhX3RvX21pY3Jvc2Vjb25kcygoUHlEYXRlVGltZV9EZWx0YSAqKWxlZnQpOwogICAgIGlmIChweXVzX2xlZnQgPT0gTlVMTCkKQEAgLTI0NjAsMjYgKzI0MzksMjkgQEAKIAogLyogUmV0dXJuIG5ldyBkYXRlIGZyb20gbG9jYWx0aW1lKHQpLiAqLwogc3RhdGljIFB5T2JqZWN0ICoKLWRhdGVfbG9jYWxfZnJvbV90aW1lX3QoUHlPYmplY3QgKmNscywgZG91YmxlIHRzKQorZGF0ZV9sb2NhbF9mcm9tX29iamVjdChQeU9iamVjdCAqY2xzLCBQeU9iamVjdCAqb2JqKQogewogICAgIHN0cnVjdCB0bSAqdG07CiAgICAgdGltZV90IHQ7Ci0gICAgUHlPYmplY3QgKnJlc3VsdCA9IE5VTEw7CiAKLSAgICB0ID0gX1B5VGltZV9Eb3VibGVUb1RpbWV0KHRzKTsKLSAgICBpZiAodCA9PSAodGltZV90KS0xICYmIFB5RXJyX09jY3VycmVkKCkpCisgICAgaWYgKF9QeVRpbWVfT2JqZWN0VG9UaW1lX3Qob2JqLCAmdCkgPT0gLTEpCiAgICAgICAgIHJldHVybiBOVUxMOworCiAgICAgdG0gPSBsb2NhbHRpbWUoJnQpOwotICAgIGlmICh0bSkKLSAgICAgICAgcmVzdWx0ID0gUHlPYmplY3RfQ2FsbEZ1bmN0aW9uKGNscywgImlpaSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0bS0+dG1feWVhciArIDE5MDAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0bS0+dG1fbW9uICsgMSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRtLT50bV9tZGF5KTsKLSAgICBlbHNlCi0gICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgInRpbWVzdGFtcCBvdXQgb2YgcmFuZ2UgZm9yICIKLSAgICAgICAgICAgICAgICAgICAgICAgICJwbGF0Zm9ybSBsb2NhbHRpbWUoKSBmdW5jdGlvbiIpOwotICAgIHJldHVybiByZXN1bHQ7CisgICAgaWYgKHRtID09IE5VTEwpIHsKKyAgICAgICAgLyogdW5jb252ZXJ0aWJsZSB0aW1lICovCisjaWZkZWYgRUlOVkFMCisgICAgICAgIGlmIChlcnJubyA9PSAwKQorICAgICAgICAgICAgZXJybm8gPSBFSU5WQUw7CisjZW5kaWYKKyAgICAgICAgUHlFcnJfU2V0RnJvbUVycm5vKFB5RXhjX09TRXJyb3IpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisKKyAgICByZXR1cm4gUHlPYmplY3RfQ2FsbEZ1bmN0aW9uKGNscywgImlpaSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0bS0+dG1feWVhciArIDE5MDAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0bS0+dG1fbW9uICsgMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRtLT50bV9tZGF5KTsKIH0KIAogLyogUmV0dXJuIG5ldyBkYXRlIGZyb20gY3VycmVudCB0aW1lLgpAQCAtMjQ5Miw2ICsyNDc0LDcgQEAKIHsKICAgICBQeU9iamVjdCAqdGltZTsKICAgICBQeU9iamVjdCAqcmVzdWx0OworICAgIF9QeV9JREVOVElGSUVSKGZyb210aW1lc3RhbXApOwogCiAgICAgdGltZSA9IHRpbWVfdGltZSgpOwogICAgIGlmICh0aW1lID09IE5VTEwpCkBAIC0yNTAzLDcgKzI0ODYsNyBAQAogICAgICAqIHRpbWUudGltZSgpIGRlbGl2ZXJzOyBpZiBzb21lb25lIHdlcmUgZ29uem8gYWJvdXQgb3B0aW1pemF0aW9uLAogICAgICAqIGRhdGUudG9kYXkoKSBjb3VsZCBnZXQgYXdheSB3aXRoIHBsYWluIEMgdGltZSgpLgogICAgICAqLwotICAgIHJlc3VsdCA9IFB5T2JqZWN0X0NhbGxNZXRob2QoY2xzLCAiZnJvbXRpbWVzdGFtcCIsICJPIiwgdGltZSk7CisgICAgcmVzdWx0ID0gX1B5T2JqZWN0X0NhbGxNZXRob2RJZChjbHMsICZQeUlkX2Zyb210aW1lc3RhbXAsICJPIiwgdGltZSk7CiAgICAgUHlfREVDUkVGKHRpbWUpOwogICAgIHJldHVybiByZXN1bHQ7CiB9CkBAIC0yNTEyLDExICsyNDk1LDExIEBACiBzdGF0aWMgUHlPYmplY3QgKgogZGF0ZV9mcm9tdGltZXN0YW1wKFB5T2JqZWN0ICpjbHMsIFB5T2JqZWN0ICphcmdzKQogewotICAgIGRvdWJsZSB0aW1lc3RhbXA7CisgICAgUHlPYmplY3QgKnRpbWVzdGFtcDsKICAgICBQeU9iamVjdCAqcmVzdWx0ID0gTlVMTDsKIAotICAgIGlmIChQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJkOmZyb210aW1lc3RhbXAiLCAmdGltZXN0YW1wKSkKLSAgICAgICAgcmVzdWx0ID0gZGF0ZV9sb2NhbF9mcm9tX3RpbWVfdChjbHMsIHRpbWVzdGFtcCk7CisgICAgaWYgKFB5QXJnX1BhcnNlVHVwbGUoYXJncywgIk86ZnJvbXRpbWVzdGFtcCIsICZ0aW1lc3RhbXApKQorICAgICAgICByZXN1bHQgPSBkYXRlX2xvY2FsX2Zyb21fb2JqZWN0KGNscywgdGltZXN0YW1wKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCkBAIC0yNTcxLDEwICsyNTU0LDkgQEAKIHN0YXRpYyBQeU9iamVjdCAqCiBkYXRlX2FkZChQeU9iamVjdCAqbGVmdCwgUHlPYmplY3QgKnJpZ2h0KQogewotICAgIGlmIChQeURhdGVUaW1lX0NoZWNrKGxlZnQpIHx8IFB5RGF0ZVRpbWVfQ2hlY2socmlnaHQpKSB7Ci0gICAgICAgIFB5X0lOQ1JFRihQeV9Ob3RJbXBsZW1lbnRlZCk7Ci0gICAgICAgIHJldHVybiBQeV9Ob3RJbXBsZW1lbnRlZDsKLSAgICB9CisgICAgaWYgKFB5RGF0ZVRpbWVfQ2hlY2sobGVmdCkgfHwgUHlEYXRlVGltZV9DaGVjayhyaWdodCkpCisgICAgICAgIFB5X1JFVFVSTl9OT1RJTVBMRU1FTlRFRDsKKwogICAgIGlmIChQeURhdGVfQ2hlY2sobGVmdCkpIHsKICAgICAgICAgLyogZGF0ZSArID8/PyAqLwogICAgICAgICBpZiAoUHlEZWx0YV9DaGVjayhyaWdodCkpCkBAIC0yNTkzLDE3ICsyNTc1LDE1IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChQeURhdGVUaW1lX0RlbHRhICopIGxlZnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDApOwogICAgIH0KLSAgICBQeV9JTkNSRUYoUHlfTm90SW1wbGVtZW50ZWQpOwotICAgIHJldHVybiBQeV9Ob3RJbXBsZW1lbnRlZDsKKyAgICBQeV9SRVRVUk5fTk9USU1QTEVNRU5URUQ7CiB9CiAKIHN0YXRpYyBQeU9iamVjdCAqCiBkYXRlX3N1YnRyYWN0KFB5T2JqZWN0ICpsZWZ0LCBQeU9iamVjdCAqcmlnaHQpCiB7Ci0gICAgaWYgKFB5RGF0ZVRpbWVfQ2hlY2sobGVmdCkgfHwgUHlEYXRlVGltZV9DaGVjayhyaWdodCkpIHsKLSAgICAgICAgUHlfSU5DUkVGKFB5X05vdEltcGxlbWVudGVkKTsKLSAgICAgICAgcmV0dXJuIFB5X05vdEltcGxlbWVudGVkOwotICAgIH0KKyAgICBpZiAoUHlEYXRlVGltZV9DaGVjayhsZWZ0KSB8fCBQeURhdGVUaW1lX0NoZWNrKHJpZ2h0KSkKKyAgICAgICAgUHlfUkVUVVJOX05PVElNUExFTUVOVEVEOworCiAgICAgaWYgKFB5RGF0ZV9DaGVjayhsZWZ0KSkgewogICAgICAgICBpZiAoUHlEYXRlX0NoZWNrKHJpZ2h0KSkgewogICAgICAgICAgICAgLyogZGF0ZSAtIGRhdGUgKi8KQEAgLTI2MjIsOCArMjYwMiw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEpOwogICAgICAgICB9CiAgICAgfQotICAgIFB5X0lOQ1JFRihQeV9Ob3RJbXBsZW1lbnRlZCk7Ci0gICAgcmV0dXJuIFB5X05vdEltcGxlbWVudGVkOworICAgIFB5X1JFVFVSTl9OT1RJTVBMRU1FTlRFRDsKIH0KIAogCkBAIC0yNjQ4LDcgKzI2MjcsOSBAQAogc3RhdGljIFB5T2JqZWN0ICoKIGRhdGVfc3RyKFB5RGF0ZVRpbWVfRGF0ZSAqc2VsZikKIHsKLSAgICByZXR1cm4gUHlPYmplY3RfQ2FsbE1ldGhvZCgoUHlPYmplY3QgKilzZWxmLCAiaXNvZm9ybWF0IiwgIigpIik7CisgICAgX1B5X0lERU5USUZJRVIoaXNvZm9ybWF0KTsKKworICAgIHJldHVybiBfUHlPYmplY3RfQ2FsbE1ldGhvZElkKChQeU9iamVjdCAqKXNlbGYsICZQeUlkX2lzb2Zvcm1hdCwgIigpIik7CiB9CiAKIApAQCAtMjY2NywxMyArMjY0OCwxNCBAQAogICAgIFB5T2JqZWN0ICpyZXN1bHQ7CiAgICAgUHlPYmplY3QgKnR1cGxlOwogICAgIFB5T2JqZWN0ICpmb3JtYXQ7CisgICAgX1B5X0lERU5USUZJRVIodGltZXR1cGxlKTsKICAgICBzdGF0aWMgY2hhciAqa2V5d29yZHNbXSA9IHsiZm9ybWF0IiwgTlVMTH07CiAKICAgICBpZiAoISBQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3csICJVOnN0cmZ0aW1lIiwga2V5d29yZHMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZmb3JtYXQpKQogICAgICAgICByZXR1cm4gTlVMTDsKIAotICAgIHR1cGxlID0gUHlPYmplY3RfQ2FsbE1ldGhvZCgoUHlPYmplY3QgKilzZWxmLCAidGltZXR1cGxlIiwgIigpIik7CisgICAgdHVwbGUgPSBfUHlPYmplY3RfQ2FsbE1ldGhvZElkKChQeU9iamVjdCAqKXNlbGYsICZQeUlkX3RpbWV0dXBsZSwgIigpIik7CiAgICAgaWYgKHR1cGxlID09IE5VTEwpCiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIHJlc3VsdCA9IHdyYXBfc3RyZnRpbWUoKFB5T2JqZWN0ICopc2VsZiwgZm9ybWF0LCB0dXBsZSwKQEAgLTI2ODYsMTUgKzI2NjgsMTYgQEAKIGRhdGVfZm9ybWF0KFB5RGF0ZVRpbWVfRGF0ZSAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCiB7CiAgICAgUHlPYmplY3QgKmZvcm1hdDsKKyAgICBfUHlfSURFTlRJRklFUihzdHJmdGltZSk7CiAKICAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIlU6X19mb3JtYXRfXyIsICZmb3JtYXQpKQogICAgICAgICByZXR1cm4gTlVMTDsKIAogICAgIC8qIGlmIHRoZSBmb3JtYXQgaXMgemVybyBsZW5ndGgsIHJldHVybiBzdHIoc2VsZikgKi8KLSAgICBpZiAoUHlVbmljb2RlX0dldFNpemUoZm9ybWF0KSA9PSAwKQorICAgIGlmIChQeVVuaWNvZGVfR2V0TGVuZ3RoKGZvcm1hdCkgPT0gMCkKICAgICAgICAgcmV0dXJuIFB5T2JqZWN0X1N0cigoUHlPYmplY3QgKilzZWxmKTsKIAotICAgIHJldHVybiBQeU9iamVjdF9DYWxsTWV0aG9kKChQeU9iamVjdCAqKXNlbGYsICJzdHJmdGltZSIsICJPIiwgZm9ybWF0KTsKKyAgICByZXR1cm4gX1B5T2JqZWN0X0NhbGxNZXRob2RJZCgoUHlPYmplY3QgKilzZWxmLCAmUHlJZF9zdHJmdGltZSwgIk8iLCBmb3JtYXQpOwogfQogCiAvKiBJU08gbWV0aG9kcy4gKi8KQEAgLTI3NDAsMTAgKzI3MjMsOCBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICBfUHlEYXRlVGltZV9EQVRFX0RBVEFTSVpFKTsKICAgICAgICAgcmV0dXJuIGRpZmZfdG9fYm9vbChkaWZmLCBvcCk7CiAgICAgfQotICAgIGVsc2UgewotICAgICAgICBQeV9JTkNSRUYoUHlfTm90SW1wbGVtZW50ZWQpOwotICAgICAgICByZXR1cm4gUHlfTm90SW1wbGVtZW50ZWQ7Ci0gICAgfQorICAgIGVsc2UKKyAgICAgICAgUHlfUkVUVVJOX05PVElNUExFTUVOVEVEOwogfQogCiBzdGF0aWMgUHlPYmplY3QgKgpAQCAtMjc3NSwyNyArMjc1NiwxMCBAQAogICAgIHJldHVybiBjbG9uZTsKIH0KIAotLyoKLSAgICBCb3Jyb3dlZCBmcm9tIHN0cmluZ29iamVjdC5jLCBvcmlnaW5hbGx5IGl0IHdhcyBzdHJpbmdfaGFzaCgpCi0qLwogc3RhdGljIFB5X2hhc2hfdAogZ2VuZXJpY19oYXNoKHVuc2lnbmVkIGNoYXIgKmRhdGEsIGludCBsZW4pCiB7Ci0gICAgcmVnaXN0ZXIgdW5zaWduZWQgY2hhciAqcDsKLSAgICByZWdpc3RlciBQeV9oYXNoX3QgeDsKLQotICAgIGFzc2VydChfUHlfSGFzaFNlY3JldF9Jbml0aWFsaXplZCk7Ci0gICAgcCA9ICh1bnNpZ25lZCBjaGFyICopIGRhdGE7Ci0gICAgeCA9IF9QeV9IYXNoU2VjcmV0LnByZWZpeDsKLSAgICB4IF49ICpwIDw8IDc7Ci0gICAgd2hpbGUgKC0tbGVuID49IDApCi0gICAgICAgIHggPSAoMTAwMDAwMyp4KSBeICpwKys7Ci0gICAgeCBePSBsZW47Ci0gICAgeCBePSBfUHlfSGFzaFNlY3JldC5zdWZmaXg7Ci0gICAgaWYgKHggPT0gLTEpCi0gICAgICAgIHggPSAtMjsKLQotICAgIHJldHVybiB4OworICAgIHJldHVybiBfUHlfSGFzaEJ5dGVzKGRhdGEsIGxlbik7CiB9CiAKIApAQCAtMzEwMCwxMiArMzA2NCwxNCBAQAogewogICAgIFB5T2JqZWN0ICphcmdzLCAqc3RhdGUsICp0bXA7CiAgICAgUHlPYmplY3QgKmdldGluaXRhcmdzLCAqZ2V0c3RhdGU7CisgICAgX1B5X0lERU5USUZJRVIoX19nZXRpbml0YXJnc19fKTsKKyAgICBfUHlfSURFTlRJRklFUihfX2dldHN0YXRlX18pOwogCiAgICAgdG1wID0gUHlUdXBsZV9OZXcoMCk7CiAgICAgaWYgKHRtcCA9PSBOVUxMKQogICAgICAgICByZXR1cm4gTlVMTDsKIAotICAgIGdldGluaXRhcmdzID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyhzZWxmLCAiX19nZXRpbml0YXJnc19fIik7CisgICAgZ2V0aW5pdGFyZ3MgPSBfUHlPYmplY3RfR2V0QXR0cklkKHNlbGYsICZQeUlkX19fZ2V0aW5pdGFyZ3NfXyk7CiAgICAgaWYgKGdldGluaXRhcmdzICE9IE5VTEwpIHsKICAgICAgICAgYXJncyA9IFB5T2JqZWN0X0NhbGxPYmplY3QoZ2V0aW5pdGFyZ3MsIHRtcCk7CiAgICAgICAgIFB5X0RFQ1JFRihnZXRpbml0YXJncyk7CkBAIC0zMTIwLDcgKzMwODYsNyBAQAogICAgICAgICBQeV9JTkNSRUYoYXJncyk7CiAgICAgfQogCi0gICAgZ2V0c3RhdGUgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKHNlbGYsICJfX2dldHN0YXRlX18iKTsKKyAgICBnZXRzdGF0ZSA9IF9QeU9iamVjdF9HZXRBdHRySWQoc2VsZiwgJlB5SWRfX19nZXRzdGF0ZV9fKTsKICAgICBpZiAoZ2V0c3RhdGUgIT0gTlVMTCkgewogICAgICAgICBzdGF0ZSA9IFB5T2JqZWN0X0NhbGxPYmplY3QoZ2V0c3RhdGUsIHRtcCk7CiAgICAgICAgIFB5X0RFQ1JFRihnZXRzdGF0ZSk7CkBAIC0zMjQzLDEwICszMjA5LDggQEAKIHRpbWV6b25lX3JpY2hjb21wYXJlKFB5RGF0ZVRpbWVfVGltZVpvbmUgKnNlbGYsCiAgICAgICAgICAgICAgICAgICAgICBQeURhdGVUaW1lX1RpbWVab25lICpvdGhlciwgaW50IG9wKQogewotICAgIGlmIChvcCAhPSBQeV9FUSAmJiBvcCAhPSBQeV9ORSkgewotICAgICAgICBQeV9JTkNSRUYoUHlfTm90SW1wbGVtZW50ZWQpOwotICAgICAgICByZXR1cm4gUHlfTm90SW1wbGVtZW50ZWQ7Ci0gICAgfQorICAgIGlmIChvcCAhPSBQeV9FUSAmJiBvcCAhPSBQeV9ORSkKKyAgICAgICAgUHlfUkVUVVJOX05PVElNUExFTUVOVEVEOwogICAgIHJldHVybiBkZWx0YV9yaWNoY29tcGFyZShzZWxmLT5vZmZzZXQsIG90aGVyLT5vZmZzZXQsIG9wKTsKIH0KIApAQCAtMzI5MSw3ICszMjU1LDYgQEAKIHN0YXRpYyBQeU9iamVjdCAqCiB0aW1lem9uZV9zdHIoUHlEYXRlVGltZV9UaW1lWm9uZSAqc2VsZikKIHsKLSAgICBjaGFyIGJ1ZlsxMF07CiAgICAgaW50IGhvdXJzLCBtaW51dGVzLCBzZWNvbmRzOwogICAgIFB5T2JqZWN0ICpvZmZzZXQ7CiAgICAgY2hhciBzaWduOwpAQCAtMzMxNywxMSArMzI4MCw5IEBACiAgICAgUHlfREVDUkVGKG9mZnNldCk7CiAgICAgbWludXRlcyA9IGRpdm1vZChzZWNvbmRzLCA2MCwgJnNlY29uZHMpOwogICAgIGhvdXJzID0gZGl2bW9kKG1pbnV0ZXMsIDYwLCAmbWludXRlcyk7Ci0gICAgYXNzZXJ0KHNlY29uZHMgPT0gMCk7CiAgICAgLyogWFhYIGlnbm9yZSBzdWItbWludXRlIGRhdGEsIGN1cmVudGx5IG5vdCBhbGxvd2VkLiAqLwotICAgIFB5T1Nfc25wcmludGYoYnVmLCBzaXplb2YoYnVmKSwgIlVUQyVjJTAyZDolMDJkIiwgc2lnbiwgaG91cnMsIG1pbnV0ZXMpOwotCi0gICAgcmV0dXJuIFB5VW5pY29kZV9Gcm9tU3RyaW5nKGJ1Zik7CisgICAgYXNzZXJ0KHNlY29uZHMgPT0gMCk7CisgICAgcmV0dXJuIFB5VW5pY29kZV9Gcm9tRm9ybWF0KCJVVEMlYyUwMmQ6JTAyZCIsIHNpZ24sIGhvdXJzLCBtaW51dGVzKTsKIH0KIAogc3RhdGljIFB5T2JqZWN0ICoKQEAgLTM2MTgsNyArMzU3OSw5IEBACiBzdGF0aWMgUHlPYmplY3QgKgogdGltZV9zdHIoUHlEYXRlVGltZV9UaW1lICpzZWxmKQogewotICAgIHJldHVybiBQeU9iamVjdF9DYWxsTWV0aG9kKChQeU9iamVjdCAqKXNlbGYsICJpc29mb3JtYXQiLCAiKCkiKTsKKyAgICBfUHlfSURFTlRJRklFUihpc29mb3JtYXQpOworCisgICAgcmV0dXJuIF9QeU9iamVjdF9DYWxsTWV0aG9kSWQoKFB5T2JqZWN0ICopc2VsZiwgJlB5SWRfaXNvZm9ybWF0LCAiKCkiKTsKIH0KIAogc3RhdGljIFB5T2JqZWN0ICoKQEAgLTM2OTUsMTAgKzM2NTgsOCBAQAogICAgIFB5T2JqZWN0ICpvZmZzZXQxLCAqb2Zmc2V0MjsKICAgICBpbnQgZGlmZjsKIAotICAgIGlmICghIFB5VGltZV9DaGVjayhvdGhlcikpIHsKLSAgICAgICAgUHlfSU5DUkVGKFB5X05vdEltcGxlbWVudGVkKTsKLSAgICAgICAgcmV0dXJuIFB5X05vdEltcGxlbWVudGVkOwotICAgIH0KKyAgICBpZiAoISBQeVRpbWVfQ2hlY2sob3RoZXIpKQorICAgICAgICBQeV9SRVRVUk5fTk9USU1QTEVNRU5URUQ7CiAKICAgICBpZiAoR0VUX1RJTUVfVFpJTkZPKHNlbGYpID09IEdFVF9USU1FX1RaSU5GTyhvdGhlcikpIHsKICAgICAgICAgZGlmZiA9IG1lbWNtcCgoKFB5RGF0ZVRpbWVfVGltZSAqKXNlbGYpLT5kYXRhLApAQCAtNDA5OSwzMyArNDA2MCwzMyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlPYmplY3QgKnR6aW5mbykKIHsKICAgICBzdHJ1Y3QgdG0gKnRtOwotICAgIFB5T2JqZWN0ICpyZXN1bHQgPSBOVUxMOwogCiAgICAgdG0gPSBmKCZ0aW1ldCk7Ci0gICAgaWYgKHRtKSB7Ci0gICAgICAgIC8qIFRoZSBwbGF0Zm9ybSBsb2NhbHRpbWUvZ210aW1lIG1heSBpbnNlcnQgbGVhcCBzZWNvbmRzLAotICAgICAgICAgKiBpbmRpY2F0ZWQgYnkgdG0tPnRtX3NlYyA+IDU5LiAgV2UgZG9uJ3QgY2FyZSBhYm91dCB0aGVtLAotICAgICAgICAgKiBleGNlcHQgdG8gdGhlIGV4dGVudCB0aGF0IHBhc3NpbmcgdGhlbSBvbiB0byB0aGUgZGF0ZXRpbWUKLSAgICAgICAgICogY29uc3RydWN0b3Igd291bGQgcmFpc2UgVmFsdWVFcnJvciBmb3IgYSByZWFzb24gdGhhdAotICAgICAgICAgKiBtYWRlIG5vIHNlbnNlIHRvIHRoZSB1c2VyLgotICAgICAgICAgKi8KLSAgICAgICAgaWYgKHRtLT50bV9zZWMgPiA1OSkKLSAgICAgICAgICAgIHRtLT50bV9zZWMgPSA1OTsKLSAgICAgICAgcmVzdWx0ID0gUHlPYmplY3RfQ2FsbEZ1bmN0aW9uKGNscywgImlpaWlpaWlPIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRtLT50bV95ZWFyICsgMTkwMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRtLT50bV9tb24gKyAxLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG0tPnRtX21kYXksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0bS0+dG1faG91ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRtLT50bV9taW4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0bS0+dG1fc2VjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0emluZm8pOworICAgIGlmICh0bSA9PSBOVUxMKSB7CisjaWZkZWYgRUlOVkFMCisgICAgICAgIGlmIChlcnJubyA9PSAwKQorICAgICAgICAgICAgZXJybm8gPSBFSU5WQUw7CisjZW5kaWYKKyAgICAgICAgcmV0dXJuIFB5RXJyX1NldEZyb21FcnJubyhQeUV4Y19PU0Vycm9yKTsKICAgICB9Ci0gICAgZWxzZQotICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ0aW1lc3RhbXAgb3V0IG9mIHJhbmdlIGZvciAiCi0gICAgICAgICAgICAgICAgICAgICAgICAicGxhdGZvcm0gbG9jYWx0aW1lKCkvZ210aW1lKCkgZnVuY3Rpb24iKTsKLSAgICByZXR1cm4gcmVzdWx0OworCisgICAgLyogVGhlIHBsYXRmb3JtIGxvY2FsdGltZS9nbXRpbWUgbWF5IGluc2VydCBsZWFwIHNlY29uZHMsCisgICAgICogaW5kaWNhdGVkIGJ5IHRtLT50bV9zZWMgPiA1OS4gIFdlIGRvbid0IGNhcmUgYWJvdXQgdGhlbSwKKyAgICAgKiBleGNlcHQgdG8gdGhlIGV4dGVudCB0aGF0IHBhc3NpbmcgdGhlbSBvbiB0byB0aGUgZGF0ZXRpbWUKKyAgICAgKiBjb25zdHJ1Y3RvciB3b3VsZCByYWlzZSBWYWx1ZUVycm9yIGZvciBhIHJlYXNvbiB0aGF0CisgICAgICogbWFkZSBubyBzZW5zZSB0byB0aGUgdXNlci4KKyAgICAgKi8KKyAgICBpZiAodG0tPnRtX3NlYyA+IDU5KQorICAgICAgICB0bS0+dG1fc2VjID0gNTk7CisgICAgcmV0dXJuIFB5T2JqZWN0X0NhbGxGdW5jdGlvbihjbHMsICJpaWlpaWlpTyIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0bS0+dG1feWVhciArIDE5MDAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0bS0+dG1fbW9uICsgMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRtLT50bV9tZGF5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG0tPnRtX2hvdXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0bS0+dG1fbWluLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG0tPnRtX3NlYywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHppbmZvKTsKIH0KIAogLyogSW50ZXJuYWwgaGVscGVyLgpAQCAtNDEzNiwzMiArNDA5NywxNSBAQAogICogdG8gZ2V0IHRoYXQgbXVjaCBwcmVjaXNpb24gKGUuZy4sIEMgdGltZSgpIGlzbid0IGdvb2QgZW5vdWdoKS4KICAqLwogc3RhdGljIFB5T2JqZWN0ICoKLWRhdGV0aW1lX2Zyb21fdGltZXN0YW1wKFB5T2JqZWN0ICpjbHMsIFRNX0ZVTkMgZiwgZG91YmxlIHRpbWVzdGFtcCwKK2RhdGV0aW1lX2Zyb21fdGltZXN0YW1wKFB5T2JqZWN0ICpjbHMsIFRNX0ZVTkMgZiwgUHlPYmplY3QgKnRpbWVzdGFtcCwKICAgICAgICAgICAgICAgICAgICAgICAgIFB5T2JqZWN0ICp0emluZm8pCiB7CiAgICAgdGltZV90IHRpbWV0OwotICAgIGRvdWJsZSBmcmFjdGlvbjsKLSAgICBpbnQgdXM7CisgICAgbG9uZyB1czsKIAotICAgIHRpbWV0ID0gX1B5VGltZV9Eb3VibGVUb1RpbWV0KHRpbWVzdGFtcCk7Ci0gICAgaWYgKHRpbWV0ID09ICh0aW1lX3QpLTEgJiYgUHlFcnJfT2NjdXJyZWQoKSkKKyAgICBpZiAoX1B5VGltZV9PYmplY3RUb1RpbWV2YWwodGltZXN0YW1wLCAmdGltZXQsICZ1cykgPT0gLTEpCiAgICAgICAgIHJldHVybiBOVUxMOwotICAgIGZyYWN0aW9uID0gdGltZXN0YW1wIC0gKGRvdWJsZSl0aW1ldDsKLSAgICB1cyA9IChpbnQpcm91bmRfdG9fbG9uZyhmcmFjdGlvbiAqIDFlNik7Ci0gICAgaWYgKHVzIDwgMCkgewotICAgICAgICAvKiBUcnVuY2F0aW9uIHRvd2FyZHMgemVybyBpcyBub3Qgd2hhdCB3ZSB3YW50ZWQKLSAgICAgICAgICAgZm9yIG5lZ2F0aXZlIG51bWJlcnMgKFB5dGhvbidzIG1vZCBzZW1hbnRpY3MpICovCi0gICAgICAgIHRpbWV0IC09IDE7Ci0gICAgICAgIHVzICs9IDEwMDAwMDA7Ci0gICAgfQotICAgIC8qIElmIHRpbWVzdGFtcCBpcyBsZXNzIHRoYW4gb25lIG1pY3Jvc2Vjb25kIHNtYWxsZXIgdGhhbiBhCi0gICAgICogZnVsbCBzZWNvbmQsIHJvdW5kIHVwLiBPdGhlcndpc2UsIFZhbHVlRXJyb3JzIGFyZSByYWlzZWQKLSAgICAgKiBmb3Igc29tZSBmbG9hdHMuICovCi0gICAgaWYgKHVzID09IDEwMDAwMDApIHsKLSAgICAgICAgdGltZXQgKz0gMTsKLSAgICAgICAgdXMgPSAwOwotICAgIH0KLSAgICByZXR1cm4gZGF0ZXRpbWVfZnJvbV90aW1ldF9hbmRfdXMoY2xzLCBmLCB0aW1ldCwgdXMsIHR6aW5mbyk7CisgICAgcmV0dXJuIGRhdGV0aW1lX2Zyb21fdGltZXRfYW5kX3VzKGNscywgZiwgdGltZXQsIChpbnQpdXMsIHR6aW5mbyk7CiB9CiAKIC8qIEludGVybmFsIGhlbHBlci4KQEAgLTQxOTksNyArNDE0Myw5IEBACiAgICAgaWYgKHNlbGYgIT0gTlVMTCAmJiB0emluZm8gIT0gUHlfTm9uZSkgewogICAgICAgICAvKiBDb252ZXJ0IFVUQyB0byB0emluZm8ncyB6b25lLiAqLwogICAgICAgICBQeU9iamVjdCAqdGVtcCA9IHNlbGY7Ci0gICAgICAgIHNlbGYgPSBQeU9iamVjdF9DYWxsTWV0aG9kKHR6aW5mbywgImZyb211dGMiLCAiTyIsIHNlbGYpOworICAgICAgICBfUHlfSURFTlRJRklFUihmcm9tdXRjKTsKKworICAgICAgICBzZWxmID0gX1B5T2JqZWN0X0NhbGxNZXRob2RJZCh0emluZm8sICZQeUlkX2Zyb211dGMsICJPIiwgc2VsZik7CiAgICAgICAgIFB5X0RFQ1JFRih0ZW1wKTsKICAgICB9CiAgICAgcmV0dXJuIHNlbGY7CkBAIC00MjE5LDExICs0MTY1LDExIEBACiBkYXRldGltZV9mcm9tdGltZXN0YW1wKFB5T2JqZWN0ICpjbHMsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3cpCiB7CiAgICAgUHlPYmplY3QgKnNlbGY7Ci0gICAgZG91YmxlIHRpbWVzdGFtcDsKKyAgICBQeU9iamVjdCAqdGltZXN0YW1wOwogICAgIFB5T2JqZWN0ICp0emluZm8gPSBQeV9Ob25lOwogICAgIHN0YXRpYyBjaGFyICprZXl3b3Jkc1tdID0geyJ0aW1lc3RhbXAiLCAidHoiLCBOVUxMfTsKIAotICAgIGlmICghIFB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrdywgImR8Tzpmcm9tdGltZXN0YW1wIiwKKyAgICBpZiAoISBQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3csICJPfE86ZnJvbXRpbWVzdGFtcCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleXdvcmRzLCAmdGltZXN0YW1wLCAmdHppbmZvKSkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgaWYgKGNoZWNrX3R6aW5mb19zdWJjbGFzcyh0emluZm8pIDwgMCkKQEAgLTQyMzYsNyArNDE4Miw5IEBACiAgICAgaWYgKHNlbGYgIT0gTlVMTCAmJiB0emluZm8gIT0gUHlfTm9uZSkgewogICAgICAgICAvKiBDb252ZXJ0IFVUQyB0byB0emluZm8ncyB6b25lLiAqLwogICAgICAgICBQeU9iamVjdCAqdGVtcCA9IHNlbGY7Ci0gICAgICAgIHNlbGYgPSBQeU9iamVjdF9DYWxsTWV0aG9kKHR6aW5mbywgImZyb211dGMiLCAiTyIsIHNlbGYpOworICAgICAgICBfUHlfSURFTlRJRklFUihmcm9tdXRjKTsKKworICAgICAgICBzZWxmID0gX1B5T2JqZWN0X0NhbGxNZXRob2RJZCh0emluZm8sICZQeUlkX2Zyb211dGMsICJPIiwgc2VsZik7CiAgICAgICAgIFB5X0RFQ1JFRih0ZW1wKTsKICAgICB9CiAgICAgcmV0dXJuIHNlbGY7CkBAIC00MjQ2LDEwICs0MTk0LDEwIEBACiBzdGF0aWMgUHlPYmplY3QgKgogZGF0ZXRpbWVfdXRjZnJvbXRpbWVzdGFtcChQeU9iamVjdCAqY2xzLCBQeU9iamVjdCAqYXJncykKIHsKLSAgICBkb3VibGUgdGltZXN0YW1wOworICAgIFB5T2JqZWN0ICp0aW1lc3RhbXA7CiAgICAgUHlPYmplY3QgKnJlc3VsdCA9IE5VTEw7CiAKLSAgICBpZiAoUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiZDp1dGNmcm9tdGltZXN0YW1wIiwgJnRpbWVzdGFtcCkpCisgICAgaWYgKFB5QXJnX1BhcnNlVHVwbGUoYXJncywgIk86dXRjZnJvbXRpbWVzdGFtcCIsICZ0aW1lc3RhbXApKQogICAgICAgICByZXN1bHQgPSBkYXRldGltZV9mcm9tX3RpbWVzdGFtcChjbHMsIGdtdGltZSwgdGltZXN0YW1wLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeV9Ob25lKTsKICAgICByZXR1cm4gcmVzdWx0OwpAQCAtNDI2MCw5ICs0MjA4LDEwIEBACiBkYXRldGltZV9zdHJwdGltZShQeU9iamVjdCAqY2xzLCBQeU9iamVjdCAqYXJncykKIHsKICAgICBzdGF0aWMgUHlPYmplY3QgKm1vZHVsZSA9IE5VTEw7Ci0gICAgY29uc3QgUHlfVU5JQ09ERSAqc3RyaW5nLCAqZm9ybWF0OworICAgIFB5T2JqZWN0ICpzdHJpbmcsICpmb3JtYXQ7CisgICAgX1B5X0lERU5USUZJRVIoX3N0cnB0aW1lX2RhdGV0aW1lKTsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAidXU6c3RycHRpbWUiLCAmc3RyaW5nLCAmZm9ybWF0KSkKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIlVVOnN0cnB0aW1lIiwgJnN0cmluZywgJmZvcm1hdCkpCiAgICAgICAgIHJldHVybiBOVUxMOwogCiAgICAgaWYgKG1vZHVsZSA9PSBOVUxMKSB7CkBAIC00MjcwLDggKzQyMTksOCBAQAogICAgICAgICBpZiAobW9kdWxlID09IE5VTEwpCiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9Ci0gICAgcmV0dXJuIFB5T2JqZWN0X0NhbGxNZXRob2QobW9kdWxlLCAiX3N0cnB0aW1lX2RhdGV0aW1lIiwgIk91dSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xzLCBzdHJpbmcsIGZvcm1hdCk7CisgICAgcmV0dXJuIF9QeU9iamVjdF9DYWxsTWV0aG9kSWQobW9kdWxlLCAmUHlJZF9fc3RycHRpbWVfZGF0ZXRpbWUsICJPT08iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xzLCBzdHJpbmcsIGZvcm1hdCk7CiB9CiAKIC8qIFJldHVybiBuZXcgZGF0ZXRpbWUgZnJvbSBkYXRlL2RhdGV0aW1lIGFuZCB0aW1lIGFyZ3VtZW50cy4gKi8KQEAgLTQzODcsOCArNDMzNiw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChQeURhdGVUaW1lX0RlbHRhICopIGxlZnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEpOwogICAgIH0KLSAgICBQeV9JTkNSRUYoUHlfTm90SW1wbGVtZW50ZWQpOwotICAgIHJldHVybiBQeV9Ob3RJbXBsZW1lbnRlZDsKKyAgICBQeV9SRVRVUk5fTk9USU1QTEVNRU5URUQ7CiB9CiAKIHN0YXRpYyBQeU9iamVjdCAqCkBAIC00NTE3LDcgKzQ0NjUsOSBAQAogc3RhdGljIFB5T2JqZWN0ICoKIGRhdGV0aW1lX3N0cihQeURhdGVUaW1lX0RhdGVUaW1lICpzZWxmKQogewotICAgIHJldHVybiBQeU9iamVjdF9DYWxsTWV0aG9kKChQeU9iamVjdCAqKXNlbGYsICJpc29mb3JtYXQiLCAiKHMpIiwgIiAiKTsKKyAgICBfUHlfSURFTlRJRklFUihpc29mb3JtYXQpOworCisgICAgcmV0dXJuIF9QeU9iamVjdF9DYWxsTWV0aG9kSWQoKFB5T2JqZWN0ICopc2VsZiwgJlB5SWRfaXNvZm9ybWF0LCAiKHMpIiwgIiAiKTsKIH0KIAogc3RhdGljIFB5T2JqZWN0ICoKQEAgLTQ1OTAsOCArNDU0MCw3IEBACiAgICAgICAgICAgICAgICAgUHlfUkVUVVJOX1RSVUU7CiAgICAgICAgICAgICByZXR1cm4gY21wZXJyb3Ioc2VsZiwgb3RoZXIpOwogICAgICAgICB9Ci0gICAgICAgIFB5X0lOQ1JFRihQeV9Ob3RJbXBsZW1lbnRlZCk7Ci0gICAgICAgIHJldHVybiBQeV9Ob3RJbXBsZW1lbnRlZDsKKyAgICAgICAgUHlfUkVUVVJOX05PVElNUExFTUVOVEVEOwogICAgIH0KIAogICAgIGlmIChHRVRfRFRfVFpJTkZPKHNlbGYpID09IEdFVF9EVF9UWklORk8ob3RoZXIpKSB7CkBAIC00NzI1LDYgKzQ2NzQsNyBAQAogICAgIFB5T2JqZWN0ICpvZmZzZXQ7CiAgICAgUHlPYmplY3QgKnRlbXA7CiAgICAgUHlPYmplY3QgKnR6aW5mbzsKKyAgICBfUHlfSURFTlRJRklFUihmcm9tdXRjKTsKICAgICBzdGF0aWMgY2hhciAqa2V5d29yZHNbXSA9IHsidHoiLCBOVUxMfTsKIAogICAgIGlmICghIFB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrdywgIk8hOmFzdGltZXpvbmUiLCBrZXl3b3JkcywKQEAgLTQ3NjYsNyArNDcxNiw3IEBACiAgICAgUHlfREVDUkVGKHRlbXApOwogCiAgICAgdGVtcCA9IHJlc3VsdDsKLSAgICByZXN1bHQgPSBQeU9iamVjdF9DYWxsTWV0aG9kKHR6aW5mbywgImZyb211dGMiLCAiTyIsIHRlbXApOworICAgIHJlc3VsdCA9IF9QeU9iamVjdF9DYWxsTWV0aG9kSWQodHppbmZvLCAmUHlJZF9mcm9tdXRjLCAiTyIsIHRlbXApOwogICAgIFB5X0RFQ1JFRih0ZW1wKTsKIAogICAgIHJldHVybiByZXN1bHQ7CmRpZmYgLS1naXQgYS9Nb2R1bGVzL19kYm1tb2R1bGUuYyBiL01vZHVsZXMvX2RibW1vZHVsZS5jCmluZGV4IDgyN2FjY2UuLjMyN2I4NzMgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvX2RibW1vZHVsZS5jCisrKyBiL01vZHVsZXMvX2RibW1vZHVsZS5jCkBAIC0yMTIsNiArMjEyLDcgQEAKIHsKICAgICBkYm1vYmplY3QgKmRwID0gKGRibW9iamVjdCAqKXNlbGY7CiAgICAgZGF0dW0ga2V5LCB2YWw7CisgICAgUHlfc3NpemVfdCBzaXplOwogCiAgICAgaWYgKChkcCktPmRpX2RibSA9PSBOVUxMKSB7CiAgICAgICAgIFB5RXJyX1NldFN0cmluZyhEYm1FcnJvciwKQEAgLTIxOSw4ICsyMjAsOSBAQAogICAgICAgICAgcmV0dXJuIC0xOwogICAgIH0KICAgICBpZiAoUHlVbmljb2RlX0NoZWNrKGFyZykpIHsKLSAgICAgICAgYXJnID0gX1B5VW5pY29kZV9Bc0RlZmF1bHRFbmNvZGVkU3RyaW5nKGFyZywgTlVMTCk7Ci0gICAgICAgIGlmIChhcmcgPT0gTlVMTCkKKyAgICAgICAga2V5LmRwdHIgPSBQeVVuaWNvZGVfQXNVVEY4QW5kU2l6ZShhcmcsICZzaXplKTsKKyAgICAgICAga2V5LmRzaXplID0gc2l6ZTsKKyAgICAgICAgaWYgKGtleS5kcHRyID09IE5VTEwpCiAgICAgICAgICAgICByZXR1cm4gLTE7CiAgICAgfQogICAgIGlmICghUHlCeXRlc19DaGVjayhhcmcpKSB7CkBAIC0yMjksOCArMjMxLDEwIEBACiAgICAgICAgICAgICAgICAgICAgICBhcmctPm9iX3R5cGUtPnRwX25hbWUpOwogICAgICAgICByZXR1cm4gLTE7CiAgICAgfQotICAgIGtleS5kcHRyID0gUHlCeXRlc19BU19TVFJJTkcoYXJnKTsKLSAgICBrZXkuZHNpemUgPSBQeUJ5dGVzX0dFVF9TSVpFKGFyZyk7CisgICAgZWxzZSB7CisgICAgICAgIGtleS5kcHRyID0gUHlCeXRlc19BU19TVFJJTkcoYXJnKTsKKyAgICAgICAga2V5LmRzaXplID0gUHlCeXRlc19HRVRfU0laRShhcmcpOworICAgIH0KICAgICB2YWwgPSBkYm1fZmV0Y2goZHAtPmRpX2RibSwga2V5KTsKICAgICByZXR1cm4gdmFsLmRwdHIgIT0gTlVMTDsKIH0KZGlmZiAtLWdpdCBhL01vZHVsZXMvX2VsZW1lbnR0cmVlLmMgYi9Nb2R1bGVzL19lbGVtZW50dHJlZS5jCmluZGV4IDc4ODc3MjEuLmE1MGEzZTcgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvX2VsZW1lbnR0cmVlLmMKKysrIGIvTW9kdWxlcy9fZWxlbWVudHRyZWUuYwpAQCAtNzAsNyArNzAsNyBAQAogICAgaGVscHMgaWYgeW91IGhhdmUgbG90cyBvZiBsZWFmIG5vZGVzIHdpdGggYXR0cmlidXRlcykuICovCiAKIC8qIEFsc28gbm90ZSB0aGF0IHB5bWFsbG9jIGFsd2F5cyBhbGxvY2F0ZXMgYmxvY2tzIGluIG11bHRpcGxlcyBvZgotICAgZWlnaHQgYnl0ZXMuICBGb3IgdGhlIGN1cnJlbnQgdmVyc2lvbiBvZiBjRWxlbWVudFRyZWUsIHRoaXMgbWVhbnMKKyAgIGVpZ2h0IGJ5dGVzLiAgRm9yIHRoZSBjdXJyZW50IEMgdmVyc2lvbiBvZiBFbGVtZW50VHJlZSwgdGhpcyBtZWFucwogICAgdGhhdCB0aGUgbnVtYmVyIG9mIGNoaWxkcmVuIHNob3VsZCBiZSBhbiBldmVuIG51bWJlciwgYXQgbGVhc3Qgb24KICAgIDMyLWJpdCBwbGF0Zm9ybXMuICovCiAKQEAgLTk0LDI1ICs5NCw2IEBACiAjZGVmaW5lIExPQ0FMKHR5cGUpIHN0YXRpYyB0eXBlCiAjZW5kaWYKIAotLyogY29tcGF0aWJpbGl0eSBtYWNyb3MgKi8KLSNpZiAoUFlfVkVSU0lPTl9IRVggPCAweDAyMDYwMDAwKQotI2RlZmluZSBQeV9SRUZDTlQob2IpICgoKFB5T2JqZWN0Kikob2IpKS0+b2JfcmVmY250KQotI2RlZmluZSBQeV9UWVBFKG9iKSAoKChQeU9iamVjdCopKG9iKSktPm9iX3R5cGUpCi0jZW5kaWYKLQotI2lmIChQWV9WRVJTSU9OX0hFWCA8IDB4MDIwNTAwMDApCi10eXBlZGVmIGludCBQeV9zc2l6ZV90OwotI2RlZmluZSBsZW5mdW5jIGlucXVpcnkKLSNlbmRpZgotCi0jaWYgKFBZX1ZFUlNJT05fSEVYIDwgMHgwMjA0MDAwMCkKLSNkZWZpbmUgUHlEaWN0X0NoZWNrRXhhY3QgUHlEaWN0X0NoZWNrCi0KLSNpZiAhZGVmaW5lZChQeV9SRVRVUk5fTk9ORSkKLSNkZWZpbmUgUHlfUkVUVVJOX05PTkUgcmV0dXJuIFB5X0lOQ1JFRihQeV9Ob25lKSwgUHlfTm9uZQotI2VuZGlmCi0jZW5kaWYKLQogLyogbWFjcm9zIHVzZWQgdG8gc3RvcmUgJ2pvaW4nIGZsYWdzIGluIHN0cmluZyBvYmplY3QgcG9pbnRlcnMuICBub3RlCiAgICB0aGF0IGFsbCB1c2Ugb2YgdGV4dCBhbmQgdGFpbCBhcyBvYmplY3QgcG9pbnRlcnMgbXVzdCBiZSB3cmFwcGVkIGluCiAgICBKT0lOX09CSi4gIHNlZSBjb21tZW50cyBpbiB0aGUgRWxlbWVudE9iamVjdCBkZWZpbml0aW9uIGZvciBtb3JlCkBAIC0xMjMsNyArMTA0LDYgQEAKIAogLyogZ2x1ZSBmdW5jdGlvbnMgKHNlZSB0aGUgaW5pdCBmdW5jdGlvbiBmb3IgZGV0YWlscykgKi8KIHN0YXRpYyBQeU9iamVjdCogZWxlbWVudHRyZWVfcGFyc2VlcnJvcl9vYmo7Ci1zdGF0aWMgUHlPYmplY3QqIGVsZW1lbnR0cmVlX2NvcHllbGVtZW50X29iajsKIHN0YXRpYyBQeU9iamVjdCogZWxlbWVudHRyZWVfZGVlcGNvcHlfb2JqOwogc3RhdGljIFB5T2JqZWN0KiBlbGVtZW50dHJlZV9pdGVyX29iajsKIHN0YXRpYyBQeU9iamVjdCogZWxlbWVudHRyZWVfaXRlcnRleHRfb2JqOwpAQCAtMjExLDcgKzE5MSw3IEBACiB9CiAKIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCi0vKiB0aGUgZWxlbWVudCB0eXBlICovCisvKiB0aGUgRWxlbWVudCB0eXBlICovCiAKIHR5cGVkZWYgc3RydWN0IHsKIApAQCAtMjI2LDcgKzIwNiw3IEBACiAgICAgUHlPYmplY3QqICpjaGlsZHJlbjsKIAogICAgIFB5T2JqZWN0KiBfY2hpbGRyZW5bU1RBVElDX0NISUxEUkVOXTsKLSAgICAKKwogfSBFbGVtZW50T2JqZWN0RXh0cmE7CiAKIHR5cGVkZWYgc3RydWN0IHsKQEAgLTI1NiwxMCArMjM2LDEwIEBACiAjZGVmaW5lIEVsZW1lbnRfQ2hlY2tFeGFjdChvcCkgKFB5X1RZUEUob3ApID09ICZFbGVtZW50X1R5cGUpCiAKIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCi0vKiBlbGVtZW50IGNvbnN0cnVjdG9yIGFuZCBkZXN0cnVjdG9yICovCisvKiBFbGVtZW50IGNvbnN0cnVjdG9ycyBhbmQgZGVzdHJ1Y3RvciAqLwogCiBMT0NBTChpbnQpCi1lbGVtZW50X25ld19leHRyYShFbGVtZW50T2JqZWN0KiBzZWxmLCBQeU9iamVjdCogYXR0cmliKQorY3JlYXRlX2V4dHJhKEVsZW1lbnRPYmplY3QqIHNlbGYsIFB5T2JqZWN0KiBhdHRyaWIpCiB7CiAgICAgc2VsZi0+ZXh0cmEgPSBQeU9iamVjdF9NYWxsb2Moc2l6ZW9mKEVsZW1lbnRPYmplY3RFeHRyYSkpOwogICAgIGlmICghc2VsZi0+ZXh0cmEpCkBAIC0yNzksNyArMjU5LDcgQEAKIH0KIAogTE9DQUwodm9pZCkKLWVsZW1lbnRfZGVhbGxvY19leHRyYShFbGVtZW50T2JqZWN0KiBzZWxmKQorZGVhbGxvY19leHRyYShFbGVtZW50T2JqZWN0KiBzZWxmKQogewogICAgIGludCBpOwogCkBAIC0yOTQsOCArMjc0LDExIEBACiAgICAgUHlPYmplY3RfRnJlZShzZWxmLT5leHRyYSk7CiB9CiAKKy8qIENvbnZlbmllbmNlIGludGVybmFsIGZ1bmN0aW9uIHRvIGNyZWF0ZSBuZXcgRWxlbWVudCBvYmplY3RzIHdpdGggdGhlIGdpdmVuCisgKiB0YWcgYW5kIGF0dHJpYnV0ZXMuCisqLwogTE9DQUwoUHlPYmplY3QqKQotZWxlbWVudF9uZXcoUHlPYmplY3QqIHRhZywgUHlPYmplY3QqIGF0dHJpYikKK2NyZWF0ZV9uZXdfZWxlbWVudChQeU9iamVjdCogdGFnLCBQeU9iamVjdCogYXR0cmliKQogewogICAgIEVsZW1lbnRPYmplY3QqIHNlbGY7CiAKQEAgLTMxMCwxNiArMjkzLDEwIEBACiAgICAgc2VsZi0+ZXh0cmEgPSBOVUxMOwogCiAgICAgaWYgKGF0dHJpYiAhPSBQeV9Ob25lKSB7Ci0KLSAgICAgICAgaWYgKGVsZW1lbnRfbmV3X2V4dHJhKHNlbGYsIGF0dHJpYikgPCAwKSB7CisgICAgICAgIGlmIChjcmVhdGVfZXh0cmEoc2VsZiwgYXR0cmliKSA8IDApIHsKICAgICAgICAgICAgIFB5T2JqZWN0X0RlbChzZWxmKTsKICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICB9Ci0KLSAgICAgICAgc2VsZi0+ZXh0cmEtPmxlbmd0aCA9IDA7Ci0gICAgICAgIHNlbGYtPmV4dHJhLT5hbGxvY2F0ZWQgPSBTVEFUSUNfQ0hJTERSRU47Ci0gICAgICAgIHNlbGYtPmV4dHJhLT5jaGlsZHJlbiA9IHNlbGYtPmV4dHJhLT5fY2hpbGRyZW47Ci0KICAgICB9CiAKICAgICBQeV9JTkNSRUYodGFnKTsKQEAgLTMzNiw2ICszMTMsODYgQEAKICAgICByZXR1cm4gKFB5T2JqZWN0Kikgc2VsZjsKIH0KIAorc3RhdGljIFB5T2JqZWN0ICoKK2VsZW1lbnRfbmV3KFB5VHlwZU9iamVjdCAqdHlwZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2RzKQoreworICAgIEVsZW1lbnRPYmplY3QgKmUgPSAoRWxlbWVudE9iamVjdCAqKXR5cGUtPnRwX2FsbG9jKHR5cGUsIDApOworICAgIGlmIChlICE9IE5VTEwpIHsKKyAgICAgICAgUHlfSU5DUkVGKFB5X05vbmUpOworICAgICAgICBlLT50YWcgPSBQeV9Ob25lOworCisgICAgICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKKyAgICAgICAgZS0+dGV4dCA9IFB5X05vbmU7CisKKyAgICAgICAgUHlfSU5DUkVGKFB5X05vbmUpOworICAgICAgICBlLT50YWlsID0gUHlfTm9uZTsKKworICAgICAgICBlLT5leHRyYSA9IE5VTEw7CisgICAgfQorICAgIHJldHVybiAoUHlPYmplY3QgKillOworfQorCitzdGF0aWMgaW50CitlbGVtZW50X2luaXQoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dkcykKK3sKKyAgICBQeU9iamVjdCAqdGFnOworICAgIFB5T2JqZWN0ICp0bXA7CisgICAgUHlPYmplY3QgKmF0dHJpYiA9IE5VTEw7CisgICAgRWxlbWVudE9iamVjdCAqc2VsZl9lbGVtOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJPfE8hOkVsZW1lbnQiLCAmdGFnLCAmUHlEaWN0X1R5cGUsICZhdHRyaWIpKQorICAgICAgICByZXR1cm4gLTE7CisKKyAgICBpZiAoYXR0cmliIHx8IGt3ZHMpIHsKKyAgICAgICAgYXR0cmliID0gKGF0dHJpYikgPyBQeURpY3RfQ29weShhdHRyaWIpIDogUHlEaWN0X05ldygpOworICAgICAgICBpZiAoIWF0dHJpYikKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgaWYgKGt3ZHMpCisgICAgICAgICAgICBQeURpY3RfVXBkYXRlKGF0dHJpYiwga3dkcyk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgUHlfSU5DUkVGKFB5X05vbmUpOworICAgICAgICBhdHRyaWIgPSBQeV9Ob25lOworICAgIH0KKworICAgIHNlbGZfZWxlbSA9IChFbGVtZW50T2JqZWN0ICopc2VsZjsKKworICAgIC8qIFVzZSBOb25lIGZvciBlbXB0eSBkaWN0aW9uYXJpZXMgKi8KKyAgICBpZiAoUHlEaWN0X0NoZWNrRXhhY3QoYXR0cmliKSAmJiBQeURpY3RfU2l6ZShhdHRyaWIpID09IDApIHsKKyAgICAgICAgUHlfSU5DUkVGKFB5X05vbmUpOworICAgICAgICBhdHRyaWIgPSBQeV9Ob25lOworICAgIH0KKworICAgIGlmIChhdHRyaWIgIT0gUHlfTm9uZSkgeworICAgICAgICBpZiAoY3JlYXRlX2V4dHJhKHNlbGZfZWxlbSwgYXR0cmliKSA8IDApIHsKKyAgICAgICAgICAgIFB5T2JqZWN0X0RlbChzZWxmX2VsZW0pOworICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICB9CisgICAgfQorCisgICAgLyogSWYgY3JlYXRlX2V4dHJhIG5lZWRlZCBhdHRyaWIsIGl0IHRvb2sgYSByZWZlcmVuY2UgdG8gaXQsIHNvIHdlIGNhbgorICAgICAqIHJlbGVhc2Ugb3VycyBhbnl3YXkuCisgICAgKi8KKyAgICBQeV9ERUNSRUYoYXR0cmliKTsKKworICAgIC8qIFJlcGxhY2UgdGhlIG9iamVjdHMgYWxyZWFkeSBwb2ludGVkIHRvIGJ5IHRhZywgdGV4dCBhbmQgdGFpbC4gKi8KKyAgICB0bXAgPSBzZWxmX2VsZW0tPnRhZzsKKyAgICBzZWxmX2VsZW0tPnRhZyA9IHRhZzsKKyAgICBQeV9JTkNSRUYodGFnKTsKKyAgICBQeV9ERUNSRUYodG1wKTsKKworICAgIHRtcCA9IHNlbGZfZWxlbS0+dGV4dDsKKyAgICBzZWxmX2VsZW0tPnRleHQgPSBQeV9Ob25lOworICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKKyAgICBQeV9ERUNSRUYoSk9JTl9PQkoodG1wKSk7CisKKyAgICB0bXAgPSBzZWxmX2VsZW0tPnRhaWw7CisgICAgc2VsZl9lbGVtLT50YWlsID0gUHlfTm9uZTsKKyAgICBQeV9JTkNSRUYoUHlfTm9uZSk7CisgICAgUHlfREVDUkVGKEpPSU5fT0JKKHRtcCkpOworCisgICAgcmV0dXJuIDA7Cit9CisKIExPQ0FMKGludCkKIGVsZW1lbnRfcmVzaXplKEVsZW1lbnRPYmplY3QqIHNlbGYsIGludCBleHRyYSkKIHsKQEAgLTM0Niw3ICs0MDMsNyBAQAogICAgICAgIGVsZW1lbnRzLiAgc2V0IGFuIGV4Y2VwdGlvbiBhbmQgcmV0dXJuIC0xIGlmIGFsbG9jYXRpb24gZmFpbGVkICovCiAKICAgICBpZiAoIXNlbGYtPmV4dHJhKQotICAgICAgICBlbGVtZW50X25ld19leHRyYShzZWxmLCBOVUxMKTsKKyAgICAgICAgY3JlYXRlX2V4dHJhKHNlbGYsIE5VTEwpOwogCiAgICAgc2l6ZSA9IHNlbGYtPmV4dHJhLT5sZW5ndGggKyBleHRyYTsKIApAQCAtMzU0LDE0ICs0MTEsMTQgQEAKICAgICAgICAgLyogdXNlIFB5dGhvbiAyLjQncyBsaXN0IGdyb3d0aCBzdHJhdGVneSAqLwogICAgICAgICBzaXplID0gKHNpemUgPj4gMykgKyAoc2l6ZSA8IDkgPyAzIDogNikgKyBzaXplOwogICAgICAgICAvKiBDb3Zlcml0eSBDSUQgIzE4MiBzaXplX2Vycm9yOiBBbGxvY2F0aW5nIDEgYnl0ZXMgdG8gcG9pbnRlciAiY2hpbGRyZW4iCi0gICAgICAgICAqIHdoaWNoIG5lZWRzIGF0IGxlYXN0IDQgYnl0ZXMuIAotICAgICAgICAgKiBBbHRob3VnaCBpdCdzIGEgZmFsc2UgYWxhcm0gYWx3YXlzIGFzc3VtZSBhdCBsZWFzdCBvbmUgY2hpbGQgdG8gCisgICAgICAgICAqIHdoaWNoIG5lZWRzIGF0IGxlYXN0IDQgYnl0ZXMuCisgICAgICAgICAqIEFsdGhvdWdoIGl0J3MgYSBmYWxzZSBhbGFybSBhbHdheXMgYXNzdW1lIGF0IGxlYXN0IG9uZSBjaGlsZCB0bwogICAgICAgICAgKiBiZSBzYWZlLgogICAgICAgICAgKi8KICAgICAgICAgc2l6ZSA9IHNpemUgPyBzaXplIDogMTsKICAgICAgICAgaWYgKHNlbGYtPmV4dHJhLT5jaGlsZHJlbiAhPSBzZWxmLT5leHRyYS0+X2NoaWxkcmVuKSB7CiAgICAgICAgICAgICAvKiBDb3Zlcml0eSBDSUQgIzE4MiBzaXplX2Vycm9yOiBBbGxvY2F0aW5nIDEgYnl0ZXMgdG8gcG9pbnRlcgotICAgICAgICAgICAgICogImNoaWxkcmVuIiwgd2hpY2ggbmVlZHMgYXQgbGVhc3QgNCBieXRlcy4gQWx0aG91Z2ggaXQncyBhIAorICAgICAgICAgICAgICogImNoaWxkcmVuIiwgd2hpY2ggbmVlZHMgYXQgbGVhc3QgNCBieXRlcy4gQWx0aG91Z2ggaXQncyBhCiAgICAgICAgICAgICAgKiBmYWxzZSBhbGFybSBhbHdheXMgYXNzdW1lIGF0IGxlYXN0IG9uZSBjaGlsZCB0byBiZSBzYWZlLgogICAgICAgICAgICAgICovCiAgICAgICAgICAgICBjaGlsZHJlbiA9IFB5T2JqZWN0X1JlYWxsb2Moc2VsZi0+ZXh0cmEtPmNoaWxkcmVuLApAQCAtNDY0LDM1ICs1MjEsNiBAQAogfQogCiBzdGF0aWMgUHlPYmplY3QqCi1lbGVtZW50KFB5T2JqZWN0KiBzZWxmLCBQeU9iamVjdCogYXJncywgUHlPYmplY3QqIGt3KQotewotICAgIFB5T2JqZWN0KiBlbGVtOwotCi0gICAgUHlPYmplY3QqIHRhZzsKLSAgICBQeU9iamVjdCogYXR0cmliID0gTlVMTDsKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIk98TyE6RWxlbWVudCIsICZ0YWcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICZQeURpY3RfVHlwZSwgJmF0dHJpYikpCi0gICAgICAgIHJldHVybiBOVUxMOwotCi0gICAgaWYgKGF0dHJpYiB8fCBrdykgewotICAgICAgICBhdHRyaWIgPSAoYXR0cmliKSA/IFB5RGljdF9Db3B5KGF0dHJpYikgOiBQeURpY3RfTmV3KCk7Ci0gICAgICAgIGlmICghYXR0cmliKQotICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgIGlmIChrdykKLSAgICAgICAgICAgIFB5RGljdF9VcGRhdGUoYXR0cmliLCBrdyk7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgUHlfSU5DUkVGKFB5X05vbmUpOwotICAgICAgICBhdHRyaWIgPSBQeV9Ob25lOwotICAgIH0KLQotICAgIGVsZW0gPSBlbGVtZW50X25ldyh0YWcsIGF0dHJpYik7Ci0KLSAgICBQeV9ERUNSRUYoYXR0cmliKTsKLQotICAgIHJldHVybiBlbGVtOwotfQotCi1zdGF0aWMgUHlPYmplY3QqCiBzdWJlbGVtZW50KFB5T2JqZWN0KiBzZWxmLCBQeU9iamVjdCogYXJncywgUHlPYmplY3QqIGt3KQogewogICAgIFB5T2JqZWN0KiBlbGVtOwpAQCAtNTE2LDcgKzU0NCw3IEBACiAgICAgICAgIGF0dHJpYiA9IFB5X05vbmU7CiAgICAgfQogCi0gICAgZWxlbSA9IGVsZW1lbnRfbmV3KHRhZywgYXR0cmliKTsKKyAgICBlbGVtID0gY3JlYXRlX25ld19lbGVtZW50KHRhZywgYXR0cmliKTsKIAogICAgIFB5X0RFQ1JFRihhdHRyaWIpOwogCkBAIC01MzIsNyArNTYwLDcgQEAKIGVsZW1lbnRfZGVhbGxvYyhFbGVtZW50T2JqZWN0KiBzZWxmKQogewogICAgIGlmIChzZWxmLT5leHRyYSkKLSAgICAgICAgZWxlbWVudF9kZWFsbG9jX2V4dHJhKHNlbGYpOworICAgICAgICBkZWFsbG9jX2V4dHJhKHNlbGYpOwogCiAgICAgLyogZGlzY2FyZCBhdHRyaWJ1dGVzICovCiAgICAgUHlfREVDUkVGKHNlbGYtPnRhZyk7CkBAIC01NDEsNyArNTY5LDcgQEAKIAogICAgIFJFTEVBU0Uoc2l6ZW9mKEVsZW1lbnRPYmplY3QpLCAiZGVzdHJveSBlbGVtZW50Iik7CiAKLSAgICBQeU9iamVjdF9EZWwoc2VsZik7CisgICAgUHlfVFlQRShzZWxmKS0+dHBfZnJlZSgoUHlPYmplY3QgKilzZWxmKTsKIH0KIAogLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KQEAgLTU2Nyw3ICs1OTUsNyBAQAogICAgICAgICByZXR1cm4gTlVMTDsKIAogICAgIGlmIChzZWxmLT5leHRyYSkgewotICAgICAgICBlbGVtZW50X2RlYWxsb2NfZXh0cmEoc2VsZik7CisgICAgICAgIGRlYWxsb2NfZXh0cmEoc2VsZik7CiAgICAgICAgIHNlbGYtPmV4dHJhID0gTlVMTDsKICAgICB9CiAKQEAgLTU5MSw3ICs2MTksNyBAQAogICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiOl9fY29weV9fIikpCiAgICAgICAgIHJldHVybiBOVUxMOwogCi0gICAgZWxlbWVudCA9IChFbGVtZW50T2JqZWN0KikgZWxlbWVudF9uZXcoCisgICAgZWxlbWVudCA9IChFbGVtZW50T2JqZWN0KikgY3JlYXRlX25ld19lbGVtZW50KAogICAgICAgICBzZWxmLT50YWcsIChzZWxmLT5leHRyYSkgPyBzZWxmLT5leHRyYS0+YXR0cmliIDogUHlfTm9uZQogICAgICAgICApOwogICAgIGlmICghZWxlbWVudCkKQEAgLTYwNiw3ICs2MzQsNyBAQAogICAgIFB5X0lOQ1JFRihKT0lOX09CSihlbGVtZW50LT50YWlsKSk7CiAKICAgICBpZiAoc2VsZi0+ZXh0cmEpIHsKLSAgICAgICAgCisKICAgICAgICAgaWYgKGVsZW1lbnRfcmVzaXplKGVsZW1lbnQsIHNlbGYtPmV4dHJhLT5sZW5ndGgpIDwgMCkgewogICAgICAgICAgICAgUHlfREVDUkVGKGVsZW1lbnQpOwogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CkBAIC02MTgsNyArNjQ2LDcgQEAKICAgICAgICAgfQogCiAgICAgICAgIGVsZW1lbnQtPmV4dHJhLT5sZW5ndGggPSBzZWxmLT5leHRyYS0+bGVuZ3RoOwotICAgICAgICAKKwogICAgIH0KIAogICAgIHJldHVybiAoUHlPYmplY3QqKSBlbGVtZW50OwpAQCAtNjU0LDE0ICs2ODIsMTQgQEAKICAgICAgICAgYXR0cmliID0gUHlfTm9uZTsKICAgICB9CiAKLSAgICBlbGVtZW50ID0gKEVsZW1lbnRPYmplY3QqKSBlbGVtZW50X25ldyh0YWcsIGF0dHJpYik7CisgICAgZWxlbWVudCA9IChFbGVtZW50T2JqZWN0KikgY3JlYXRlX25ld19lbGVtZW50KHRhZywgYXR0cmliKTsKIAogICAgIFB5X0RFQ1JFRih0YWcpOwogICAgIFB5X0RFQ1JFRihhdHRyaWIpOwogCiAgICAgaWYgKCFlbGVtZW50KQogICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAKKwogICAgIHRleHQgPSBkZWVwY29weShKT0lOX09CSihzZWxmLT50ZXh0KSwgbWVtbyk7CiAgICAgaWYgKCF0ZXh0KQogICAgICAgICBnb3RvIGVycm9yOwpAQCAtNjc1LDcgKzcwMyw3IEBACiAgICAgZWxlbWVudC0+dGFpbCA9IEpPSU5fU0VUKHRhaWwsIEpPSU5fR0VUKHNlbGYtPnRhaWwpKTsKIAogICAgIGlmIChzZWxmLT5leHRyYSkgewotICAgICAgICAKKwogICAgICAgICBpZiAoZWxlbWVudF9yZXNpemUoZWxlbWVudCwgc2VsZi0+ZXh0cmEtPmxlbmd0aCkgPCAwKQogICAgICAgICAgICAgZ290byBlcnJvcjsKIApAQCAtNjg5LDcgKzcxNyw3IEBACiAgICAgICAgIH0KIAogICAgICAgICBlbGVtZW50LT5leHRyYS0+bGVuZ3RoID0gc2VsZi0+ZXh0cmEtPmxlbmd0aDsKLSAgICAgICAgCisKICAgICB9CiAKICAgICAvKiBhZGQgb2JqZWN0IHRvIG1lbW8gZGljdGlvbmFyeSAoc28gZGVlcGNvcHkgd29uJ3QgdmlzaXQgaXQgYWdhaW4pICovCkBAIC03MjMsMTMgKzc1MSwxNiBAQAogICAgIChjaCA9PSAnLycgfHwgY2ggPT0gJyonIHx8IGNoID09ICdbJyB8fCBjaCA9PSAnQCcgfHwgY2ggPT0gJy4nKQogCiAgICAgaWYgKFB5VW5pY29kZV9DaGVjayh0YWcpKSB7Ci0gICAgICAgIFB5X1VOSUNPREUgKnAgPSBQeVVuaWNvZGVfQVNfVU5JQ09ERSh0YWcpOwotICAgICAgICBmb3IgKGkgPSAwOyBpIDwgUHlVbmljb2RlX0dFVF9TSVpFKHRhZyk7IGkrKykgewotICAgICAgICAgICAgaWYgKHBbaV0gPT0gJ3snKQorICAgICAgICBjb25zdCBQeV9zc2l6ZV90IGxlbiA9IFB5VW5pY29kZV9HRVRfTEVOR1RIKHRhZyk7CisgICAgICAgIHZvaWQgKmRhdGEgPSBQeVVuaWNvZGVfREFUQSh0YWcpOworICAgICAgICB1bnNpZ25lZCBpbnQga2luZCA9IFB5VW5pY29kZV9LSU5EKHRhZyk7CisgICAgICAgIGZvciAoaSA9IDA7IGkgPCBsZW47IGkrKykgeworICAgICAgICAgICAgUHlfVUNTNCBjaCA9IFB5VW5pY29kZV9SRUFEKGtpbmQsIGRhdGEsIGkpOworICAgICAgICAgICAgaWYgKGNoID09ICd7JykKICAgICAgICAgICAgICAgICBjaGVjayA9IDA7Ci0gICAgICAgICAgICBlbHNlIGlmIChwW2ldID09ICd9JykKKyAgICAgICAgICAgIGVsc2UgaWYgKGNoID09ICd9JykKICAgICAgICAgICAgICAgICBjaGVjayA9IDE7Ci0gICAgICAgICAgICBlbHNlIGlmIChjaGVjayAmJiBQQVRIQ0hBUihwW2ldKSkKKyAgICAgICAgICAgIGVsc2UgaWYgKGNoZWNrICYmIFBBVEhDSEFSKGNoKSkKICAgICAgICAgICAgICAgICByZXR1cm4gMTsKICAgICAgICAgfQogICAgICAgICByZXR1cm4gMDsKQEAgLTc4NywyMCArODE4LDIyIEBACiBlbGVtZW50X2ZpbmQoRWxlbWVudE9iamVjdCogc2VsZiwgUHlPYmplY3QqIGFyZ3MpCiB7CiAgICAgaW50IGk7Ci0KICAgICBQeU9iamVjdCogdGFnOwogICAgIFB5T2JqZWN0KiBuYW1lc3BhY2VzID0gUHlfTm9uZTsKKwogICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiT3xPOmZpbmQiLCAmdGFnLCAmbmFtZXNwYWNlcykpCiAgICAgICAgIHJldHVybiBOVUxMOwogCi0gICAgaWYgKGNoZWNrcGF0aCh0YWcpIHx8IG5hbWVzcGFjZXMgIT0gUHlfTm9uZSkKLSAgICAgICAgcmV0dXJuIFB5T2JqZWN0X0NhbGxNZXRob2QoCi0gICAgICAgICAgICBlbGVtZW50cGF0aF9vYmosICJmaW5kIiwgIk9PTyIsIHNlbGYsIHRhZywgbmFtZXNwYWNlcworICAgIGlmIChjaGVja3BhdGgodGFnKSB8fCBuYW1lc3BhY2VzICE9IFB5X05vbmUpIHsKKyAgICAgICAgX1B5X0lERU5USUZJRVIoZmluZCk7CisgICAgICAgIHJldHVybiBfUHlPYmplY3RfQ2FsbE1ldGhvZElkKAorICAgICAgICAgICAgZWxlbWVudHBhdGhfb2JqLCAmUHlJZF9maW5kLCAiT09PIiwgc2VsZiwgdGFnLCBuYW1lc3BhY2VzCiAgICAgICAgICAgICApOworICAgIH0KIAogICAgIGlmICghc2VsZi0+ZXh0cmEpCiAgICAgICAgIFB5X1JFVFVSTl9OT05FOwotICAgICAgICAKKwogICAgIGZvciAoaSA9IDA7IGkgPCBzZWxmLT5leHRyYS0+bGVuZ3RoOyBpKyspIHsKICAgICAgICAgUHlPYmplY3QqIGl0ZW0gPSBzZWxmLT5leHRyYS0+Y2hpbGRyZW5baV07CiAgICAgICAgIGlmIChFbGVtZW50X0NoZWNrRXhhY3QoaXRlbSkgJiYKQEAgLTgxNywxNiArODUwLDE3IEBACiBlbGVtZW50X2ZpbmR0ZXh0KEVsZW1lbnRPYmplY3QqIHNlbGYsIFB5T2JqZWN0KiBhcmdzKQogewogICAgIGludCBpOwotCiAgICAgUHlPYmplY3QqIHRhZzsKICAgICBQeU9iamVjdCogZGVmYXVsdF92YWx1ZSA9IFB5X05vbmU7CiAgICAgUHlPYmplY3QqIG5hbWVzcGFjZXMgPSBQeV9Ob25lOworICAgIF9QeV9JREVOVElGSUVSKGZpbmR0ZXh0KTsKKwogICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiT3xPTzpmaW5kdGV4dCIsICZ0YWcsICZkZWZhdWx0X3ZhbHVlLCAmbmFtZXNwYWNlcykpCiAgICAgICAgIHJldHVybiBOVUxMOwogCiAgICAgaWYgKGNoZWNrcGF0aCh0YWcpIHx8IG5hbWVzcGFjZXMgIT0gUHlfTm9uZSkKLSAgICAgICAgcmV0dXJuIFB5T2JqZWN0X0NhbGxNZXRob2QoCi0gICAgICAgICAgICBlbGVtZW50cGF0aF9vYmosICJmaW5kdGV4dCIsICJPT09PIiwgc2VsZiwgdGFnLCBkZWZhdWx0X3ZhbHVlLCBuYW1lc3BhY2VzCisgICAgICAgIHJldHVybiBfUHlPYmplY3RfQ2FsbE1ldGhvZElkKAorICAgICAgICAgICAgZWxlbWVudHBhdGhfb2JqLCAmUHlJZF9maW5kdGV4dCwgIk9PT08iLCBzZWxmLCB0YWcsIGRlZmF1bHRfdmFsdWUsIG5hbWVzcGFjZXMKICAgICAgICAgICAgICk7CiAKICAgICBpZiAoIXNlbGYtPmV4dHJhKSB7CkBAIC04NTUsMTYgKzg4OSwxOCBAQAogewogICAgIGludCBpOwogICAgIFB5T2JqZWN0KiBvdXQ7Ci0KICAgICBQeU9iamVjdCogdGFnOwogICAgIFB5T2JqZWN0KiBuYW1lc3BhY2VzID0gUHlfTm9uZTsKKwogICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiT3xPOmZpbmRhbGwiLCAmdGFnLCAmbmFtZXNwYWNlcykpCiAgICAgICAgIHJldHVybiBOVUxMOwogCi0gICAgaWYgKGNoZWNrcGF0aCh0YWcpIHx8IG5hbWVzcGFjZXMgIT0gUHlfTm9uZSkKLSAgICAgICAgcmV0dXJuIFB5T2JqZWN0X0NhbGxNZXRob2QoCi0gICAgICAgICAgICBlbGVtZW50cGF0aF9vYmosICJmaW5kYWxsIiwgIk9PTyIsIHNlbGYsIHRhZywgbmFtZXNwYWNlcworICAgIGlmIChjaGVja3BhdGgodGFnKSB8fCBuYW1lc3BhY2VzICE9IFB5X05vbmUpIHsKKyAgICAgICAgX1B5X0lERU5USUZJRVIoZmluZGFsbCk7CisgICAgICAgIHJldHVybiBfUHlPYmplY3RfQ2FsbE1ldGhvZElkKAorICAgICAgICAgICAgZWxlbWVudHBhdGhfb2JqLCAmUHlJZF9maW5kYWxsLCAiT09PIiwgc2VsZiwgdGFnLCBuYW1lc3BhY2VzCiAgICAgICAgICAgICApOworICAgIH0KIAogICAgIG91dCA9IFB5TGlzdF9OZXcoMCk7CiAgICAgaWYgKCFvdXQpCkBAIC04OTIsMTEgKzkyOCwxMyBAQAogewogICAgIFB5T2JqZWN0KiB0YWc7CiAgICAgUHlPYmplY3QqIG5hbWVzcGFjZXMgPSBQeV9Ob25lOworICAgIF9QeV9JREVOVElGSUVSKGl0ZXJmaW5kKTsKKwogICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiT3xPOml0ZXJmaW5kIiwgJnRhZywgJm5hbWVzcGFjZXMpKQogICAgICAgICByZXR1cm4gTlVMTDsKIAotICAgIHJldHVybiBQeU9iamVjdF9DYWxsTWV0aG9kKAotICAgICAgICBlbGVtZW50cGF0aF9vYmosICJpdGVyZmluZCIsICJPT08iLCBzZWxmLCB0YWcsIG5hbWVzcGFjZXMKKyAgICByZXR1cm4gX1B5T2JqZWN0X0NhbGxNZXRob2RJZCgKKyAgICAgICAgZWxlbWVudHBhdGhfb2JqLCAmUHlJZF9pdGVyZmluZCwgIk9PTyIsIHNlbGYsIHRhZywgbmFtZXNwYWNlcwogICAgICAgICApOwogfQogCkBAIC05NTMsNyArOTkxLDcgQEAKIGVsZW1lbnRfaXRlcihFbGVtZW50T2JqZWN0KiBzZWxmLCBQeU9iamVjdCogYXJncykKIHsKICAgICBQeU9iamVjdCogcmVzdWx0OwotICAgIAorCiAgICAgUHlPYmplY3QqIHRhZyA9IFB5X05vbmU7CiAgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJ8TzppdGVyIiwgJnRhZykpCiAgICAgICAgIHJldHVybiBOVUxMOwpAQCAtOTg1LDcgKzEwMjMsNyBAQAogZWxlbWVudF9pdGVydGV4dChFbGVtZW50T2JqZWN0KiBzZWxmLCBQeU9iamVjdCogYXJncykKIHsKICAgICBQeU9iamVjdCogcmVzdWx0OwotICAgIAorCiAgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICI6aXRlcnRleHQiKSkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKQEAgLTEwMzksNyArMTA3Nyw3IEBACiAgICAgICAgIHJldHVybiBOVUxMOwogCiAgICAgaWYgKCFzZWxmLT5leHRyYSkKLSAgICAgICAgZWxlbWVudF9uZXdfZXh0cmEoc2VsZiwgTlVMTCk7CisgICAgICAgIGNyZWF0ZV9leHRyYShzZWxmLCBOVUxMKTsKIAogICAgIGlmIChpbmRleCA8IDApIHsKICAgICAgICAgaW5kZXggKz0gc2VsZi0+ZXh0cmEtPmxlbmd0aDsKQEAgLTExMTAsNyArMTE0OCw3IEBACiAgICAgaWYgKCFhdHRyaWIpCiAgICAgICAgIHJldHVybiBOVUxMOwogCi0gICAgZWxlbSA9IGVsZW1lbnRfbmV3KHRhZywgYXR0cmliKTsKKyAgICBlbGVtID0gY3JlYXRlX25ld19lbGVtZW50KHRhZywgYXR0cmliKTsKIAogICAgIFB5X0RFQ1JFRihhdHRyaWIpOwogCkBAIC0xMTE4LDMxICsxMTU2LDYgQEAKIH0KIAogc3RhdGljIFB5T2JqZWN0KgotZWxlbWVudF9yZWR1Y2UoRWxlbWVudE9iamVjdCogc2VsZiwgUHlPYmplY3QqIGFyZ3MpCi17Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICI6X19yZWR1Y2VfXyIpKQotICAgICAgICByZXR1cm4gTlVMTDsKLQotICAgIC8qIEhhY2sgYWxlcnQ6IFRoaXMgbWV0aG9kIGlzIHVzZWQgdG8gd29yayBhcm91bmQgYSBfX2NvcHlfXwotICAgICAgIHByb2JsZW0gb24gY2VydGFpbiAyLjMgYW5kIDIuNCB2ZXJzaW9ucy4gIFRvIHNhdmUgdGltZSBhbmQKLSAgICAgICBzaW1wbGlmeSB0aGUgY29kZSwgd2UgY3JlYXRlIHRoZSBjb3B5IGluIGhlcmUsIGFuZCB1c2UgYSBkdW1teQotICAgICAgIGNvcHllbGVtZW50IGhlbHBlciB0byB0cmljayB0aGUgY29weSBtb2R1bGUgaW50byBkb2luZyB0aGUKLSAgICAgICByaWdodCB0aGluZy4gKi8KLQotICAgIGlmICghZWxlbWVudHRyZWVfY29weWVsZW1lbnRfb2JqKSB7Ci0gICAgICAgIFB5RXJyX1NldFN0cmluZygKLSAgICAgICAgICAgIFB5RXhjX1J1bnRpbWVFcnJvciwKLSAgICAgICAgICAgICJjb3B5ZWxlbWVudCBoZWxwZXIgbm90IGZvdW5kIgotICAgICAgICAgICAgKTsKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgfQotCi0gICAgcmV0dXJuIFB5X0J1aWxkVmFsdWUoCi0gICAgICAgICJPKE4pIiwgZWxlbWVudHRyZWVfY29weWVsZW1lbnRfb2JqLCBlbGVtZW50X2NvcHkoc2VsZiwgYXJncykKLSAgICAgICAgKTsKLX0KLQotc3RhdGljIFB5T2JqZWN0KgogZWxlbWVudF9yZW1vdmUoRWxlbWVudE9iamVjdCogc2VsZiwgUHlPYmplY3QqIGFyZ3MpCiB7CiAgICAgaW50IGk7CkBAIC0xMTg5LDcgKzEyMDIsMTAgQEAKIHN0YXRpYyBQeU9iamVjdCoKIGVsZW1lbnRfcmVwcihFbGVtZW50T2JqZWN0KiBzZWxmKQogewotICAgIHJldHVybiBQeVVuaWNvZGVfRnJvbUZvcm1hdCgiPEVsZW1lbnQgJVIgYXQgJXA+Iiwgc2VsZi0+dGFnLCBzZWxmKTsKKyAgICBpZiAoc2VsZi0+dGFnKQorICAgICAgICByZXR1cm4gUHlVbmljb2RlX0Zyb21Gb3JtYXQoIjxFbGVtZW50ICVSIGF0ICVwPiIsIHNlbGYtPnRhZywgc2VsZik7CisgICAgZWxzZQorICAgICAgICByZXR1cm4gUHlVbmljb2RlX0Zyb21Gb3JtYXQoIjxFbGVtZW50IGF0ICVwPiIsIHNlbGYpOwogfQogCiBzdGF0aWMgUHlPYmplY3QqCkBAIC0xMjAzLDcgKzEyMTksNyBAQAogICAgICAgICByZXR1cm4gTlVMTDsKIAogICAgIGlmICghc2VsZi0+ZXh0cmEpCi0gICAgICAgIGVsZW1lbnRfbmV3X2V4dHJhKHNlbGYsIE5VTEwpOworICAgICAgICBjcmVhdGVfZXh0cmEoc2VsZiwgTlVMTCk7CiAKICAgICBhdHRyaWIgPSBlbGVtZW50X2dldF9hdHRyaWIoc2VsZik7CiAgICAgaWYgKCFhdHRyaWIpCkBAIC0xMjUwLDEzICsxMjY2LDggQEAKIHsKICAgICBFbGVtZW50T2JqZWN0KiBzZWxmID0gKEVsZW1lbnRPYmplY3QqKSBzZWxmXzsKIAotI2lmIChQWV9WRVJTSU9OX0hFWCA8IDB4MDIwNTAwMDApCi0gICAgaWYgKFB5SW50X0NoZWNrKGl0ZW0pIHx8IFB5TG9uZ19DaGVjayhpdGVtKSkgewotICAgICAgICBsb25nIGkgPSBQeUludF9Bc0xvbmcoaXRlbSk7Ci0jZWxzZQogICAgIGlmIChQeUluZGV4X0NoZWNrKGl0ZW0pKSB7CiAgICAgICAgIFB5X3NzaXplX3QgaSA9IFB5TnVtYmVyX0FzU3NpemVfdChpdGVtLCBQeUV4Y19JbmRleEVycm9yKTsKLSNlbmRpZgogCiAgICAgICAgIGlmIChpID09IC0xICYmIFB5RXJyX09jY3VycmVkKCkpIHsKICAgICAgICAgICAgIHJldHVybiBOVUxMOwpAQCAtMTMwNywxMyArMTMxOCw4IEBACiB7CiAgICAgRWxlbWVudE9iamVjdCogc2VsZiA9IChFbGVtZW50T2JqZWN0Kikgc2VsZl87CiAKLSNpZiAoUFlfVkVSU0lPTl9IRVggPCAweDAyMDUwMDAwKQotICAgIGlmIChQeUludF9DaGVjayhpdGVtKSB8fCBQeUxvbmdfQ2hlY2soaXRlbSkpIHsKLSAgICAgICAgbG9uZyBpID0gUHlJbnRfQXNMb25nKGl0ZW0pOwotI2Vsc2UKICAgICBpZiAoUHlJbmRleF9DaGVjayhpdGVtKSkgewogICAgICAgICBQeV9zc2l6ZV90IGkgPSBQeU51bWJlcl9Bc1NzaXplX3QoaXRlbSwgUHlFeGNfSW5kZXhFcnJvcik7Ci0jZW5kaWYKIAogICAgICAgICBpZiAoaSA9PSAtMSAmJiBQeUVycl9PY2N1cnJlZCgpKSB7CiAgICAgICAgICAgICByZXR1cm4gLTE7CkBAIC0xMzI5LDcgKzEzMzUsNyBAQAogICAgICAgICBQeU9iamVjdCogc2VxID0gTlVMTDsKIAogICAgICAgICBpZiAoIXNlbGYtPmV4dHJhKQotICAgICAgICAgICAgZWxlbWVudF9uZXdfZXh0cmEoc2VsZiwgTlVMTCk7CisgICAgICAgICAgICBjcmVhdGVfZXh0cmEoc2VsZiwgTlVMTCk7CiAKICAgICAgICAgaWYgKFB5U2xpY2VfR2V0SW5kaWNlc0V4KGl0ZW0sCiAgICAgICAgICAgICAgICAgc2VsZi0+ZXh0cmEtPmxlbmd0aCwKQEAgLTEzMzcsOSArMTM0Myw3NCBAQAogICAgICAgICAgICAgcmV0dXJuIC0xOwogICAgICAgICB9CiAKLSAgICAgICAgaWYgKHZhbHVlID09IE5VTEwpCi0gICAgICAgICAgICBuZXdsZW4gPSAwOworICAgICAgICBpZiAodmFsdWUgPT0gTlVMTCkgeworICAgICAgICAgICAgLyogRGVsZXRlIHNsaWNlICovCisgICAgICAgICAgICBzaXplX3QgY3VyOworICAgICAgICAgICAgUHlfc3NpemVfdCBpOworCisgICAgICAgICAgICBpZiAoc2xpY2VsZW4gPD0gMCkKKyAgICAgICAgICAgICAgICByZXR1cm4gMDsKKworICAgICAgICAgICAgLyogU2luY2Ugd2UncmUgZGVsZXRpbmcsIHRoZSBkaXJlY3Rpb24gb2YgdGhlIHJhbmdlIGRvZXNuJ3QgbWF0dGVyLAorICAgICAgICAgICAgICogc28gZm9yIHNpbXBsaWNpdHkgbWFrZSBpdCBhbHdheXMgYXNjZW5kaW5nLgorICAgICAgICAgICAgKi8KKyAgICAgICAgICAgIGlmIChzdGVwIDwgMCkgeworICAgICAgICAgICAgICAgIHN0b3AgPSBzdGFydCArIDE7CisgICAgICAgICAgICAgICAgc3RhcnQgPSBzdG9wICsgc3RlcCAqIChzbGljZWxlbiAtIDEpIC0gMTsKKyAgICAgICAgICAgICAgICBzdGVwID0gLXN0ZXA7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGFzc2VydCgoc2l6ZV90KXNsaWNlbGVuIDw9IFBZX1NJWkVfTUFYIC8gc2l6ZW9mKFB5T2JqZWN0ICopKTsKKworICAgICAgICAgICAgLyogcmVjeWNsZSBpcyBhIGxpc3QgdGhhdCB3aWxsIGNvbnRhaW4gYWxsIHRoZSBjaGlsZHJlbgorICAgICAgICAgICAgICogc2NoZWR1bGVkIGZvciByZW1vdmFsLgorICAgICAgICAgICAgKi8KKyAgICAgICAgICAgIGlmICghKHJlY3ljbGUgPSBQeUxpc3RfTmV3KHNsaWNlbGVuKSkpIHsKKyAgICAgICAgICAgICAgICBQeUVycl9Ob01lbW9yeSgpOworICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgLyogVGhpcyBsb29wIHdhbGtzIG92ZXIgYWxsIHRoZSBjaGlsZHJlbiB0aGF0IGhhdmUgdG8gYmUgZGVsZXRlZCwKKyAgICAgICAgICAgICAqIHdpdGggY3VyIHBvaW50aW5nIGF0IHRoZW0uIG51bV9tb3ZlZCBpcyB0aGUgYW1vdW50IG9mIGNoaWxkcmVuCisgICAgICAgICAgICAgKiB1bnRpbCB0aGUgbmV4dCBkZWxldGVkIGNoaWxkIHRoYXQgaGF2ZSB0byBiZSAic2hpZnRlZCBkb3duIiB0bworICAgICAgICAgICAgICogb2NjdXB5IHRoZSBkZWxldGVkJ3MgcGxhY2VzLgorICAgICAgICAgICAgICogTm90ZSB0aGF0IGluIHRoZSBpdGggaXRlcmF0aW9uLCBzaGlmdGluZyBpcyBkb25lIGkraSBwbGFjZXMgZG93bgorICAgICAgICAgICAgICogYmVjYXVzZSBpIGNoaWxkcmVuIHdlcmUgYWxyZWFkeSByZW1vdmVkLgorICAgICAgICAgICAgKi8KKyAgICAgICAgICAgIGZvciAoY3VyID0gc3RhcnQsIGkgPSAwOyBjdXIgPCAoc2l6ZV90KXN0b3A7IGN1ciArPSBzdGVwLCArK2kpIHsKKyAgICAgICAgICAgICAgICAvKiBDb21wdXRlIGhvdyBtYW55IGNoaWxkcmVuIGhhdmUgdG8gYmUgbW92ZWQsIGNsaXBwaW5nIGF0IHRoZQorICAgICAgICAgICAgICAgICAqIGxpc3QgZW5kLgorICAgICAgICAgICAgICAgICovCisgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBudW1fbW92ZWQgPSBzdGVwIC0gMTsKKyAgICAgICAgICAgICAgICBpZiAoY3VyICsgc3RlcCA+PSAoc2l6ZV90KXNlbGYtPmV4dHJhLT5sZW5ndGgpIHsKKyAgICAgICAgICAgICAgICAgICAgbnVtX21vdmVkID0gc2VsZi0+ZXh0cmEtPmxlbmd0aCAtIGN1ciAtIDE7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgUHlMaXN0X1NFVF9JVEVNKHJlY3ljbGUsIGksIHNlbGYtPmV4dHJhLT5jaGlsZHJlbltjdXJdKTsKKworICAgICAgICAgICAgICAgIG1lbW1vdmUoCisgICAgICAgICAgICAgICAgICAgIHNlbGYtPmV4dHJhLT5jaGlsZHJlbiArIGN1ciAtIGksCisgICAgICAgICAgICAgICAgICAgIHNlbGYtPmV4dHJhLT5jaGlsZHJlbiArIGN1ciArIDEsCisgICAgICAgICAgICAgICAgICAgIG51bV9tb3ZlZCAqIHNpemVvZihQeU9iamVjdCAqKSk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIC8qIExlZnRvdmVyICJ0YWlsIiBhZnRlciB0aGUgbGFzdCByZW1vdmVkIGNoaWxkICovCisgICAgICAgICAgICBjdXIgPSBzdGFydCArIChzaXplX3Qpc2xpY2VsZW4gKiBzdGVwOworICAgICAgICAgICAgaWYgKGN1ciA8IChzaXplX3Qpc2VsZi0+ZXh0cmEtPmxlbmd0aCkgeworICAgICAgICAgICAgICAgIG1lbW1vdmUoCisgICAgICAgICAgICAgICAgICAgIHNlbGYtPmV4dHJhLT5jaGlsZHJlbiArIGN1ciAtIHNsaWNlbGVuLAorICAgICAgICAgICAgICAgICAgICBzZWxmLT5leHRyYS0+Y2hpbGRyZW4gKyBjdXIsCisgICAgICAgICAgICAgICAgICAgIChzZWxmLT5leHRyYS0+bGVuZ3RoIC0gY3VyKSAqIHNpemVvZihQeU9iamVjdCAqKSk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIHNlbGYtPmV4dHJhLT5sZW5ndGggLT0gc2xpY2VsZW47CisKKyAgICAgICAgICAgIC8qIERpc2NhcmQgdGhlIHJlY3ljbGUgbGlzdCB3aXRoIGFsbCB0aGUgZGVsZXRlZCBzdWItZWxlbWVudHMgKi8KKyAgICAgICAgICAgIFB5X1hERUNSRUYocmVjeWNsZSk7CisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgfQogICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIC8qIEEgbmV3IHNsaWNlIGlzIGFjdHVhbGx5IGJlaW5nIGFzc2lnbmVkICovCiAgICAgICAgICAgICBzZXEgPSBQeVNlcXVlbmNlX0Zhc3QodmFsdWUsICIiKTsKICAgICAgICAgICAgIGlmICghc2VxKSB7CiAgICAgICAgICAgICAgICAgUHlFcnJfRm9ybWF0KApAQCAtMTM1NCwxOSArMTQyNSwxMyBAQAogICAgICAgICBpZiAoc3RlcCAhPSAgMSAmJiBuZXdsZW4gIT0gc2xpY2VsZW4pCiAgICAgICAgIHsKICAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19WYWx1ZUVycm9yLAotI2lmIChQWV9WRVJTSU9OX0hFWCA8IDB4MDIwNTAwMDApCi0gICAgICAgICAgICAgICAgImF0dGVtcHQgdG8gYXNzaWduIHNlcXVlbmNlIG9mIHNpemUgJWQgIgotICAgICAgICAgICAgICAgICJ0byBleHRlbmRlZCBzbGljZSBvZiBzaXplICVkIiwKLSNlbHNlCiAgICAgICAgICAgICAgICAgImF0dGVtcHQgdG8gYXNzaWduIHNlcXVlbmNlIG9mIHNpemUgJXpkICIKICAgICAgICAgICAgICAgICAidG8gZXh0ZW5kZWQgc2xpY2Ugb2Ygc2l6ZSAlemQiLAotI2VuZGlmCiAgICAgICAgICAgICAgICAgbmV3bGVuLCBzbGljZWxlbgogICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgICByZXR1cm4gLTE7CiAgICAgICAgIH0KIAotCiAgICAgICAgIC8qIFJlc2l6ZSBiZWZvcmUgY3JlYXRpbmcgdGhlIHJlY3ljbGUgYmluLCB0byBwcmV2ZW50IHJlZmxlYWtzLiAqLwogICAgICAgICBpZiAobmV3bGVuID4gc2xpY2VsZW4pIHsKICAgICAgICAgICAgIGlmIChlbGVtZW50X3Jlc2l6ZShzZWxmLCBuZXdsZW4gLSBzbGljZWxlbikgPCAwKSB7CkBAIC0xNDYwLDE4ICsxNTI1LDYgQEAKICAgICB7Il9fY29weV9fIiwgKFB5Q0Z1bmN0aW9uKSBlbGVtZW50X2NvcHksIE1FVEhfVkFSQVJHU30sCiAgICAgeyJfX2RlZXBjb3B5X18iLCAoUHlDRnVuY3Rpb24pIGVsZW1lbnRfZGVlcGNvcHksIE1FVEhfVkFSQVJHU30sCiAKLSAgICAvKiBTb21lIDIuMyBhbmQgMi40IHZlcnNpb25zIGRvIG5vdCBoYW5kbGUgdGhlIF9fY29weV9fIG1ldGhvZCBvbgotICAgICAgIEMgb2JqZWN0cyBjb3JyZWN0bHksIHNvIHdlIGhhdmUgdG8gZmFrZSBpdCB1c2luZyBhIF9fcmVkdWNlX18tCi0gICAgICAgYmFzZWQgaGFjayAoc2VlIHRoZSBlbGVtZW50X3JlZHVjZSBpbXBsZW1lbnRhdGlvbiBhYm92ZSBmb3IKLSAgICAgICBkZXRhaWxzKS4gKi8KLQotICAgIC8qIFRoZSBiZWhhdmlvdXIgaGFzIGJlZW4gY2hhbmdlZCBpbiAyLjMuNSBhbmQgMi40LjEsIHNvIHdlJ3JlCi0gICAgICAgdXNpbmcgYSBydW50aW1lIHRlc3QgdG8gZmlndXJlIG91dCBpZiB3ZSBuZWVkIHRvIGZha2UgdGhpbmdzCi0gICAgICAgb3Igbm93IChzZWUgdGhlIGluaXQgY29kZSBiZWxvdykuICBUaGUgZm9sbG93aW5nIGVudHJ5IGlzCi0gICAgICAgZW5hYmxlZCBvbmx5IGlmIHRoZSBoYWNrIGlzIG5lZWRlZC4gKi8KLQotICAgIHsiIV9fcmVkdWNlX18iLCAoUHlDRnVuY3Rpb24pIGVsZW1lbnRfcmVkdWNlLCBNRVRIX1ZBUkFSR1N9LAotCiAgICAge05VTEwsIE5VTEx9CiB9OwogCkBAIC0xNDgzLDcgKzE1MzYsNyBAQAogCiAgICAgaWYgKFB5VW5pY29kZV9DaGVjayhuYW1lb2JqKSkKICAgICAgICAgbmFtZSA9IF9QeVVuaWNvZGVfQXNTdHJpbmcobmFtZW9iaik7Ci0gICAgCisKICAgICBpZiAobmFtZSA9PSBOVUxMKQogICAgICAgICByZXR1cm4gTlVMTDsKIApAQCAtMTUxMCw3ICsxNTYzLDcgQEAKICAgICB9IGVsc2UgaWYgKHN0cmNtcChuYW1lLCAiYXR0cmliIikgPT0gMCkgewogICAgICAgICBQeUVycl9DbGVhcigpOwogICAgICAgICBpZiAoIXNlbGYtPmV4dHJhKQotICAgICAgICAgICAgZWxlbWVudF9uZXdfZXh0cmEoc2VsZiwgTlVMTCk7CisgICAgICAgICAgICBjcmVhdGVfZXh0cmEoc2VsZiwgTlVMTCk7CiAgICAgICAgIHJlcyA9IGVsZW1lbnRfZ2V0X2F0dHJpYihzZWxmKTsKICAgICB9CiAKQEAgLTE1NDYsNyArMTU5OSw3IEBACiAgICAgICAgIFB5X0lOQ1JFRihzZWxmLT50YWlsKTsKICAgICB9IGVsc2UgaWYgKHN0cmNtcChuYW1lLCAiYXR0cmliIikgPT0gMCkgewogICAgICAgICBpZiAoIXNlbGYtPmV4dHJhKQotICAgICAgICAgICAgZWxlbWVudF9uZXdfZXh0cmEoc2VsZiwgTlVMTCk7CisgICAgICAgICAgICBjcmVhdGVfZXh0cmEoc2VsZiwgTlVMTCk7CiAgICAgICAgIFB5X0RFQ1JFRihzZWxmLT5leHRyYS0+YXR0cmliKTsKICAgICAgICAgc2VsZi0+ZXh0cmEtPmF0dHJpYiA9IHZhbHVlOwogICAgICAgICBQeV9JTkNSRUYoc2VsZi0+ZXh0cmEtPmF0dHJpYik7CkBAIC0xNTc4LDMxICsxNjMxLDQxIEBACiAgICAgUHlWYXJPYmplY3RfSEVBRF9JTklUKE5VTEwsIDApCiAgICAgIkVsZW1lbnQiLCBzaXplb2YoRWxlbWVudE9iamVjdCksIDAsCiAgICAgLyogbWV0aG9kcyAqLwotICAgIChkZXN0cnVjdG9yKWVsZW1lbnRfZGVhbGxvYywgLyogdHBfZGVhbGxvYyAqLwotICAgIDAsIC8qIHRwX3ByaW50ICovCi0gICAgMCwgLyogdHBfZ2V0YXR0ciAqLwotICAgIChzZXRhdHRyZnVuYyllbGVtZW50X3NldGF0dHIsIC8qIHRwX3NldGF0dHIgKi8KLSAgICAwLCAvKiB0cF9yZXNlcnZlZCAqLwotICAgIChyZXByZnVuYyllbGVtZW50X3JlcHIsIC8qIHRwX3JlcHIgKi8KLSAgICAwLCAvKiB0cF9hc19udW1iZXIgKi8KLSAgICAmZWxlbWVudF9hc19zZXF1ZW5jZSwgLyogdHBfYXNfc2VxdWVuY2UgKi8KLSAgICAmZWxlbWVudF9hc19tYXBwaW5nLCAvKiB0cF9hc19tYXBwaW5nICovCi0gICAgMCwgLyogdHBfaGFzaCAqLwotICAgIDAsIC8qIHRwX2NhbGwgKi8KLSAgICAwLCAvKiB0cF9zdHIgKi8KLSAgICAoZ2V0YXR0cm9mdW5jKWVsZW1lbnRfZ2V0YXR0cm8sIC8qIHRwX2dldGF0dHJvICovCi0gICAgMCwgLyogdHBfc2V0YXR0cm8gKi8KLSAgICAwLCAvKiB0cF9hc19idWZmZXIgKi8KLSAgICBQeV9UUEZMQUdTX0RFRkFVTFQsIC8qIHRwX2ZsYWdzICovCi0gICAgMCwgLyogdHBfZG9jICovCi0gICAgMCwgLyogdHBfdHJhdmVyc2UgKi8KLSAgICAwLCAvKiB0cF9jbGVhciAqLwotICAgIDAsIC8qIHRwX3JpY2hjb21wYXJlICovCi0gICAgMCwgLyogdHBfd2Vha2xpc3RvZmZzZXQgKi8KLSAgICAwLCAvKiB0cF9pdGVyICovCi0gICAgMCwgLyogdHBfaXRlcm5leHQgKi8KLSAgICBlbGVtZW50X21ldGhvZHMsIC8qIHRwX21ldGhvZHMgKi8KLSAgICAwLCAvKiB0cF9tZW1iZXJzICovCisgICAgKGRlc3RydWN0b3IpZWxlbWVudF9kZWFsbG9jLCAgICAgICAgICAgICAgICAgICAgLyogdHBfZGVhbGxvYyAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX3ByaW50ICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfZ2V0YXR0ciAqLworICAgIChzZXRhdHRyZnVuYyllbGVtZW50X3NldGF0dHIsICAgICAgICAgICAgICAgICAgIC8qIHRwX3NldGF0dHIgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9yZXNlcnZlZCAqLworICAgIChyZXByZnVuYyllbGVtZW50X3JlcHIsICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX3JlcHIgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9hc19udW1iZXIgKi8KKyAgICAmZWxlbWVudF9hc19zZXF1ZW5jZSwgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9hc19zZXF1ZW5jZSAqLworICAgICZlbGVtZW50X2FzX21hcHBpbmcsICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2FzX21hcHBpbmcgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9oYXNoICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfY2FsbCAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX3N0ciAqLworICAgIChnZXRhdHRyb2Z1bmMpZWxlbWVudF9nZXRhdHRybywgICAgICAgICAgICAgICAgIC8qIHRwX2dldGF0dHJvICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfc2V0YXR0cm8gKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9hc19idWZmZXIgKi8KKyAgICBQeV9UUEZMQUdTX0RFRkFVTFQgfCBQeV9UUEZMQUdTX0JBU0VUWVBFLCAgICAgICAvKiB0cF9mbGFncyAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2RvYyAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX3RyYXZlcnNlICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfY2xlYXIgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9yaWNoY29tcGFyZSAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX3dlYWtsaXN0b2Zmc2V0ICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfaXRlciAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2l0ZXJuZXh0ICovCisgICAgZWxlbWVudF9tZXRob2RzLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfbWV0aG9kcyAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX21lbWJlcnMgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9nZXRzZXQgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9iYXNlICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfZGljdCAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2Rlc2NyX2dldCAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2Rlc2NyX3NldCAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2RpY3RvZmZzZXQgKi8KKyAgICAoaW5pdHByb2MpZWxlbWVudF9pbml0LCAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9pbml0ICovCisgICAgUHlUeXBlX0dlbmVyaWNBbGxvYywgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfYWxsb2MgKi8KKyAgICBlbGVtZW50X25ldywgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9uZXcgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9mcmVlICovCiB9OwogCiAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwpAQCAtMTcwMCwxMyArMTc2Myw2IEBACiAvKiBoYW5kbGVycyAqLwogCiBMT0NBTChQeU9iamVjdCopCi10cmVlYnVpbGRlcl9oYW5kbGVfeG1sKFRyZWVCdWlsZGVyT2JqZWN0KiBzZWxmLCBQeU9iamVjdCogZW5jb2RpbmcsCi0gICAgICAgICAgICAgICAgICAgICAgIFB5T2JqZWN0KiBzdGFuZGFsb25lKQotewotICAgIFB5X1JFVFVSTl9OT05FOwotfQotCi1MT0NBTChQeU9iamVjdCopCiB0cmVlYnVpbGRlcl9oYW5kbGVfc3RhcnQoVHJlZUJ1aWxkZXJPYmplY3QqIHNlbGYsIFB5T2JqZWN0KiB0YWcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgUHlPYmplY3QqIGF0dHJpYikKIHsKQEAgLTE3MjgsNyArMTc4NCw3IEBACiAgICAgICAgIHNlbGYtPmRhdGEgPSBOVUxMOwogICAgIH0KIAotICAgIG5vZGUgPSBlbGVtZW50X25ldyh0YWcsIGF0dHJpYik7CisgICAgbm9kZSA9IGNyZWF0ZV9uZXdfZWxlbWVudCh0YWcsIGF0dHJpYik7CiAgICAgaWYgKCFub2RlKQogICAgICAgICByZXR1cm4gTlVMTDsKIApAQCAtMTk3NywyMiArMjAzMywxMCBAQAogICAgIHJldHVybiB0cmVlYnVpbGRlcl9oYW5kbGVfc3RhcnQoc2VsZiwgdGFnLCBhdHRyaWIpOwogfQogCi1zdGF0aWMgUHlPYmplY3QqCi10cmVlYnVpbGRlcl94bWwoVHJlZUJ1aWxkZXJPYmplY3QqIHNlbGYsIFB5T2JqZWN0KiBhcmdzKQotewotICAgIFB5T2JqZWN0KiBlbmNvZGluZzsKLSAgICBQeU9iamVjdCogc3RhbmRhbG9uZTsKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIk9POnhtbCIsICZlbmNvZGluZywgJnN0YW5kYWxvbmUpKQotICAgICAgICByZXR1cm4gTlVMTDsKLQotICAgIHJldHVybiB0cmVlYnVpbGRlcl9oYW5kbGVfeG1sKHNlbGYsIGVuY29kaW5nLCBzdGFuZGFsb25lKTsKLX0KLQogc3RhdGljIFB5TWV0aG9kRGVmIHRyZWVidWlsZGVyX21ldGhvZHNbXSA9IHsKICAgICB7ImRhdGEiLCAoUHlDRnVuY3Rpb24pIHRyZWVidWlsZGVyX2RhdGEsIE1FVEhfVkFSQVJHU30sCiAgICAgeyJzdGFydCIsIChQeUNGdW5jdGlvbikgdHJlZWJ1aWxkZXJfc3RhcnQsIE1FVEhfVkFSQVJHU30sCiAgICAgeyJlbmQiLCAoUHlDRnVuY3Rpb24pIHRyZWVidWlsZGVyX2VuZCwgTUVUSF9WQVJBUkdTfSwKLSAgICB7InhtbCIsIChQeUNGdW5jdGlvbikgdHJlZWJ1aWxkZXJfeG1sLCBNRVRIX1ZBUkFSR1N9LAogICAgIHsiY2xvc2UiLCAoUHlDRnVuY3Rpb24pIHRyZWVidWlsZGVyX2Nsb3NlLCBNRVRIX1ZBUkFSR1N9LAogICAgIHtOVUxMLCBOVUxMfQogfTsKQEAgLTIwNTMsOCArMjA5Nyw2IEBACiAKICAgICBQeU9iamVjdCogbmFtZXM7CiAKLSAgICBQeU9iamVjdCogaGFuZGxlX3htbDsKLQogICAgIFB5T2JqZWN0KiBoYW5kbGVfc3RhcnQ7CiAgICAgUHlPYmplY3QqIGhhbmRsZV9kYXRhOwogICAgIFB5T2JqZWN0KiBoYW5kbGVfZW5kOwpAQCAtMjExMyw3ICsyMTU1LDcgQEAKICAgICAgICAgICAgIFB5X0lOQ1JFRihrZXkpOwogICAgICAgICAgICAgdGFnID0ga2V5OwogICAgICAgICB9Ci0gICAgICAgIAorCiAgICAgICAgIC8qIGRlY29kZSB1bml2ZXJzYWwgbmFtZSAqLwogICAgICAgICBwID0gUHlCeXRlc19BU19TVFJJTkcodGFnKTsKICAgICAgICAgdmFsdWUgPSBQeVVuaWNvZGVfRGVjb2RlVVRGOChwLCBzaXplLCAic3RyaWN0Iik7CkBAIC0yMTM1LDIwICsyMTc3LDM5IEBACiAgICAgcmV0dXJuIHZhbHVlOwogfQogCisvKiBTZXQgdGhlIFBhcnNlRXJyb3IgZXhjZXB0aW9uIHdpdGggdGhlIGdpdmVuIHBhcmFtZXRlcnMuCisgKiBJZiBtZXNzYWdlIGlzIG5vdCBOVUxMLCBpdCdzIHVzZWQgYXMgdGhlIGVycm9yIHN0cmluZy4gT3RoZXJ3aXNlLCB0aGUKKyAqIG1lc3NhZ2Ugc3RyaW5nIGlzIHRoZSBkZWZhdWx0IGZvciB0aGUgZ2l2ZW4gZXJyb3JfY29kZS4KKyovCiBzdGF0aWMgdm9pZAotZXhwYXRfc2V0X2Vycm9yKGNvbnN0IGNoYXIqIG1lc3NhZ2UsIGludCBsaW5lLCBpbnQgY29sdW1uKQorZXhwYXRfc2V0X2Vycm9yKGVudW0gWE1MX0Vycm9yIGVycm9yX2NvZGUsIGludCBsaW5lLCBpbnQgY29sdW1uLCBjaGFyICptZXNzYWdlKQogewotICAgIFB5T2JqZWN0ICplcnJvcjsKLSAgICBQeU9iamVjdCAqcG9zaXRpb247Ci0gICAgY2hhciBidWZmZXJbMjU2XTsKKyAgICBQeU9iamVjdCAqZXJybXNnLCAqZXJyb3IsICpwb3NpdGlvbiwgKmNvZGU7CiAKLSAgICBzcHJpbnRmKGJ1ZmZlciwgIiUuMTAwczogbGluZSAlZCwgY29sdW1uICVkIiwgbWVzc2FnZSwgbGluZSwgY29sdW1uKTsKKyAgICBlcnJtc2cgPSBQeVVuaWNvZGVfRnJvbUZvcm1hdCgiJXM6IGxpbmUgJWQsIGNvbHVtbiAlZCIsCisgICAgICAgICAgICAgICAgbWVzc2FnZSA/IG1lc3NhZ2UgOiBFWFBBVChFcnJvclN0cmluZykoZXJyb3JfY29kZSksCisgICAgICAgICAgICAgICAgbGluZSwgY29sdW1uKTsKKyAgICBpZiAoZXJybXNnID09IE5VTEwpCisgICAgICAgIHJldHVybjsKIAotICAgIGVycm9yID0gUHlPYmplY3RfQ2FsbEZ1bmN0aW9uKGVsZW1lbnR0cmVlX3BhcnNlZXJyb3Jfb2JqLCAicyIsIGJ1ZmZlcik7CisgICAgZXJyb3IgPSBQeU9iamVjdF9DYWxsRnVuY3Rpb24oZWxlbWVudHRyZWVfcGFyc2VlcnJvcl9vYmosICJPIiwgZXJybXNnKTsKKyAgICBQeV9ERUNSRUYoZXJybXNnKTsKICAgICBpZiAoIWVycm9yKQogICAgICAgICByZXR1cm47CiAKLSAgICAvKiBhZGQgcG9zaXRpb24gYXR0cmlidXRlICovCisgICAgLyogQWRkIGNvZGUgYW5kIHBvc2l0aW9uIGF0dHJpYnV0ZXMgKi8KKyAgICBjb2RlID0gUHlMb25nX0Zyb21Mb25nKChsb25nKWVycm9yX2NvZGUpOworICAgIGlmICghY29kZSkgeworICAgICAgICBQeV9ERUNSRUYoZXJyb3IpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIGlmIChQeU9iamVjdF9TZXRBdHRyU3RyaW5nKGVycm9yLCAiY29kZSIsIGNvZGUpID09IC0xKSB7CisgICAgICAgIFB5X0RFQ1JFRihlcnJvcik7CisgICAgICAgIFB5X0RFQ1JFRihjb2RlKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBQeV9ERUNSRUYoY29kZSk7CisKICAgICBwb3NpdGlvbiA9IFB5X0J1aWxkVmFsdWUoIihpaSkiLCBsaW5lLCBjb2x1bW4pOwogICAgIGlmICghcG9zaXRpb24pIHsKICAgICAgICAgUHlfREVDUkVGKGVycm9yKTsKQEAgLTIyMDAsOSArMjI2MSwxMCBAQAogICAgICAgICBjaGFyIG1lc3NhZ2VbMTI4XSA9ICJ1bmRlZmluZWQgZW50aXR5ICI7CiAgICAgICAgIHN0cm5jYXQobWVzc2FnZSwgZGF0YV9pbiwgZGF0YV9sZW4gPCAxMDA/ZGF0YV9sZW46MTAwKTsKICAgICAgICAgZXhwYXRfc2V0X2Vycm9yKAotICAgICAgICAgICAgbWVzc2FnZSwKKyAgICAgICAgICAgIFhNTF9FUlJPUl9VTkRFRklORURfRU5USVRZLAogICAgICAgICAgICAgRVhQQVQoR2V0RXJyb3JMaW5lTnVtYmVyKShzZWxmLT5wYXJzZXIpLAotICAgICAgICAgICAgRVhQQVQoR2V0RXJyb3JDb2x1bW5OdW1iZXIpKHNlbGYtPnBhcnNlcikKKyAgICAgICAgICAgIEVYUEFUKEdldEVycm9yQ29sdW1uTnVtYmVyKShzZWxmLT5wYXJzZXIpLAorICAgICAgICAgICAgbWVzc2FnZQogICAgICAgICAgICAgKTsKICAgICB9CiAKQEAgLTIzOTksMjkgKzI0NjEsMzMgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYTUxfRW5jb2RpbmcgKmluZm8pCiB7CiAgICAgUHlPYmplY3QqIHU7Ci0gICAgUHlfVU5JQ09ERSogcDsKICAgICB1bnNpZ25lZCBjaGFyIHNbMjU2XTsKICAgICBpbnQgaTsKKyAgICB2b2lkICpkYXRhOworICAgIHVuc2lnbmVkIGludCBraW5kOwogCiAgICAgbWVtc2V0KGluZm8sIDAsIHNpemVvZihYTUxfRW5jb2RpbmcpKTsKIAogICAgIGZvciAoaSA9IDA7IGkgPCAyNTY7IGkrKykKICAgICAgICAgc1tpXSA9IGk7Ci0gICAgCisKICAgICB1ID0gUHlVbmljb2RlX0RlY29kZSgoY2hhciopIHMsIDI1NiwgbmFtZSwgInJlcGxhY2UiKTsKICAgICBpZiAoIXUpCiAgICAgICAgIHJldHVybiBYTUxfU1RBVFVTX0VSUk9SOworICAgIGlmIChQeVVuaWNvZGVfUkVBRFkodSkpCisgICAgICAgIHJldHVybiBYTUxfU1RBVFVTX0VSUk9SOwogCi0gICAgaWYgKFB5VW5pY29kZV9HRVRfU0laRSh1KSAhPSAyNTYpIHsKKyAgICBpZiAoUHlVbmljb2RlX0dFVF9MRU5HVEgodSkgIT0gMjU2KSB7CiAgICAgICAgIFB5X0RFQ1JFRih1KTsKICAgICAgICAgcmV0dXJuIFhNTF9TVEFUVVNfRVJST1I7CiAgICAgfQogCi0gICAgcCA9IFB5VW5pY29kZV9BU19VTklDT0RFKHUpOwotCisgICAga2luZCA9IFB5VW5pY29kZV9LSU5EKHUpOworICAgIGRhdGEgPSBQeVVuaWNvZGVfREFUQSh1KTsKICAgICBmb3IgKGkgPSAwOyBpIDwgMjU2OyBpKyspIHsKLSAgICAgICAgaWYgKHBbaV0gIT0gUHlfVU5JQ09ERV9SRVBMQUNFTUVOVF9DSEFSQUNURVIpCi0gICAgICAgICAgICBpbmZvLT5tYXBbaV0gPSBwW2ldOworICAgICAgICBQeV9VQ1M0IGNoID0gUHlVbmljb2RlX1JFQUQoa2luZCwgZGF0YSwgaSk7CisgICAgICAgIGlmIChjaCAhPSBQeV9VTklDT0RFX1JFUExBQ0VNRU5UX0NIQVJBQ1RFUikKKyAgICAgICAgICAgIGluZm8tPm1hcFtpXSA9IGNoOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICBpbmZvLT5tYXBbaV0gPSAtMTsKICAgICB9CkBAIC0yNDY2LDcgKzI1MzIsNyBAQAogICAgICAgICBQeU9iamVjdF9EZWwoc2VsZik7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KLSAgICAgCisKICAgICBzZWxmLT5uYW1lcyA9IFB5RGljdF9OZXcoKTsKICAgICBpZiAoIXNlbGYtPm5hbWVzKSB7CiAgICAgICAgIFB5T2JqZWN0X0RlbChzZWxmLT5lbnRpdHkpOwpAQCAtMjUwMSw3ICsyNTY3LDYgQEAKICAgICAgICAgUHlfSU5DUkVGKHRhcmdldCk7CiAgICAgc2VsZi0+dGFyZ2V0ID0gdGFyZ2V0OwogCi0gICAgc2VsZi0+aGFuZGxlX3htbCA9IFB5T2JqZWN0X0dldEF0dHJTdHJpbmcodGFyZ2V0LCAieG1sIik7CiAgICAgc2VsZi0+aGFuZGxlX3N0YXJ0ID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyh0YXJnZXQsICJzdGFydCIpOwogICAgIHNlbGYtPmhhbmRsZV9kYXRhID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyh0YXJnZXQsICJkYXRhIik7CiAgICAgc2VsZi0+aGFuZGxlX2VuZCA9IFB5T2JqZWN0X0dldEF0dHJTdHJpbmcodGFyZ2V0LCAiZW5kIik7CkBAIC0yNTU3LDcgKzI2MjIsNiBAQAogICAgIFB5X1hERUNSRUYoc2VsZi0+aGFuZGxlX2VuZCk7CiAgICAgUHlfWERFQ1JFRihzZWxmLT5oYW5kbGVfZGF0YSk7CiAgICAgUHlfWERFQ1JFRihzZWxmLT5oYW5kbGVfc3RhcnQpOwotICAgIFB5X1hERUNSRUYoc2VsZi0+aGFuZGxlX3htbCk7CiAKICAgICBQeV9ERUNSRUYoc2VsZi0+dGFyZ2V0KTsKICAgICBQeV9ERUNSRUYoc2VsZi0+ZW50aXR5KTsKQEAgLTI1ODMsOSArMjY0NywxMCBAQAogCiAgICAgaWYgKCFvaykgewogICAgICAgICBleHBhdF9zZXRfZXJyb3IoCi0gICAgICAgICAgICBFWFBBVChFcnJvclN0cmluZykoRVhQQVQoR2V0RXJyb3JDb2RlKShzZWxmLT5wYXJzZXIpKSwKKyAgICAgICAgICAgIEVYUEFUKEdldEVycm9yQ29kZSkoc2VsZi0+cGFyc2VyKSwKICAgICAgICAgICAgIEVYUEFUKEdldEVycm9yTGluZU51bWJlcikoc2VsZi0+cGFyc2VyKSwKLSAgICAgICAgICAgIEVYUEFUKEdldEVycm9yQ29sdW1uTnVtYmVyKShzZWxmLT5wYXJzZXIpCisgICAgICAgICAgICBFWFBBVChHZXRFcnJvckNvbHVtbk51bWJlcikoc2VsZi0+cGFyc2VyKSwKKyAgICAgICAgICAgIE5VTEwKICAgICAgICAgICAgICk7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KQEAgLTI2MzYsNiArMjcwMSw3IEBACiAKICAgICBQeU9iamVjdCogcmVhZGVyOwogICAgIFB5T2JqZWN0KiBidWZmZXI7CisgICAgUHlPYmplY3QqIHRlbXA7CiAgICAgUHlPYmplY3QqIHJlczsKIAogICAgIFB5T2JqZWN0KiBmaWxlb2JqOwpAQCAtMjY0NSw3ICsyNzExLDcgQEAKICAgICByZWFkZXIgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKGZpbGVvYmosICJyZWFkIik7CiAgICAgaWYgKCFyZWFkZXIpCiAgICAgICAgIHJldHVybiBOVUxMOwotICAgIAorCiAgICAgLyogcmVhZCBmcm9tIG9wZW4gZmlsZSBvYmplY3QgKi8KICAgICBmb3IgKDs7KSB7CiAKQEAgLTI2NTcsNyArMjcyMywyNyBAQAogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgIH0KIAotICAgICAgICBpZiAoIVB5Qnl0ZXNfQ2hlY2tFeGFjdChidWZmZXIpIHx8IFB5Qnl0ZXNfR0VUX1NJWkUoYnVmZmVyKSA9PSAwKSB7CisgICAgICAgIGlmIChQeVVuaWNvZGVfQ2hlY2tFeGFjdChidWZmZXIpKSB7CisgICAgICAgICAgICAvKiBBIHVuaWNvZGUgb2JqZWN0IGlzIGVuY29kZWQgaW50byBieXRlcyB1c2luZyBVVEYtOCAqLworICAgICAgICAgICAgaWYgKFB5VW5pY29kZV9HRVRfU0laRShidWZmZXIpID09IDApIHsKKyAgICAgICAgICAgICAgICBQeV9ERUNSRUYoYnVmZmVyKTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHRlbXAgPSBQeVVuaWNvZGVfQXNFbmNvZGVkU3RyaW5nKGJ1ZmZlciwgInV0Zi04IiwgInN1cnJvZ2F0ZXBhc3MiKTsKKyAgICAgICAgICAgIGlmICghdGVtcCkgeworICAgICAgICAgICAgICAgIC8qIFByb3BhZ2F0ZSBleGNlcHRpb24gZnJvbSBQeVVuaWNvZGVfQXNFbmNvZGVkU3RyaW5nICovCisgICAgICAgICAgICAgICAgUHlfREVDUkVGKGJ1ZmZlcik7CisgICAgICAgICAgICAgICAgUHlfREVDUkVGKHJlYWRlcik7CisgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIC8qIEhlcmUgd2Ugbm8gbG9uZ2VyIG5lZWQgdGhlIG9yaWdpbmFsIGJ1ZmZlciBzaW5jZSBpdCBjb250YWlucworICAgICAgICAgICAgICogdW5pY29kZS4gTWFrZSBpdCBwb2ludCB0byB0aGUgZW5jb2RlZCBieXRlcyBvYmplY3QuCisgICAgICAgICAgICAqLworICAgICAgICAgICAgUHlfREVDUkVGKGJ1ZmZlcik7CisgICAgICAgICAgICBidWZmZXIgPSB0ZW1wOworICAgICAgICB9CisgICAgICAgIGVsc2UgaWYgKCFQeUJ5dGVzX0NoZWNrRXhhY3QoYnVmZmVyKSB8fCBQeUJ5dGVzX0dFVF9TSVpFKGJ1ZmZlcikgPT0gMCkgewogICAgICAgICAgICAgUHlfREVDUkVGKGJ1ZmZlcik7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQpAQCAtMjcwNSw3ICsyNzkxLDcgQEAKICAgICBpZiAoIVRyZWVCdWlsZGVyX0NoZWNrRXhhY3Qoc2VsZi0+dGFyZ2V0KSkgewogICAgICAgICBQeUVycl9TZXRTdHJpbmcoCiAgICAgICAgICAgICBQeUV4Y19UeXBlRXJyb3IsCi0gICAgICAgICAgICAiZXZlbnQgaGFuZGxpbmcgb25seSBzdXBwb3J0ZWQgZm9yIGNFbGVtZW50VHJlZS5UcmVlYnVpbGRlciAiCisgICAgICAgICAgICAiZXZlbnQgaGFuZGxpbmcgb25seSBzdXBwb3J0ZWQgZm9yIEVsZW1lbnRUcmVlLlRyZWVCdWlsZGVyICIKICAgICAgICAgICAgICJ0YXJnZXRzIgogICAgICAgICAgICAgKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CkBAIC0yNzk2LDcgKzI4ODIsNyBAQAogICAgIHtOVUxMLCBOVUxMfQogfTsKIAotc3RhdGljIFB5T2JqZWN0KiAgCitzdGF0aWMgUHlPYmplY3QqCiB4bWxwYXJzZXJfZ2V0YXR0cm8oWE1MUGFyc2VyT2JqZWN0KiBzZWxmLCBQeU9iamVjdCogbmFtZW9iaikKIHsKICAgICBpZiAoUHlVbmljb2RlX0NoZWNrKG5hbWVvYmopKSB7CkBAIC0yODU3LDEyICsyOTQzLDEwIEBACiAvKiBweXRob24gbW9kdWxlIGludGVyZmFjZSAqLwogCiBzdGF0aWMgUHlNZXRob2REZWYgX2Z1bmN0aW9uc1tdID0gewotICAgIHsiRWxlbWVudCIsIChQeUNGdW5jdGlvbikgZWxlbWVudCwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFN9LAogICAgIHsiU3ViRWxlbWVudCIsIChQeUNGdW5jdGlvbikgc3ViZWxlbWVudCwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFN9LAogICAgIHsiVHJlZUJ1aWxkZXIiLCAoUHlDRnVuY3Rpb24pIHRyZWVidWlsZGVyLCBNRVRIX1ZBUkFSR1N9LAogI2lmIGRlZmluZWQoVVNFX0VYUEFUKQogICAgIHsiWE1MUGFyc2VyIiwgKFB5Q0Z1bmN0aW9uKSB4bWxwYXJzZXIsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTfSwKLSAgICB7IlhNTFRyZWVCdWlsZGVyIiwgKFB5Q0Z1bmN0aW9uKSB4bWxwYXJzZXIsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTfSwKICNlbmRpZgogICAgIHtOVUxMLCBOVUxMfQogfTsKQEAgLTI5MTcsNTQgKzMwMDEsOCBAQAogCiAgICAgYm9vdHN0cmFwID0gKAogCi0gICAgICAgICJmcm9tIGNvcHkgaW1wb3J0IGNvcHksIGRlZXBjb3B5XG4iCi0KLSAgICAgICAgInRyeTpcbiIKLSAgICAgICAgIiAgZnJvbSB4bWwuZXRyZWUgaW1wb3J0IEVsZW1lbnRUcmVlXG4iCi0gICAgICAgICJleGNlcHQgSW1wb3J0RXJyb3I6XG4iCi0gICAgICAgICIgIGltcG9ydCBFbGVtZW50VHJlZVxuIgotICAgICAgICAiRVQgPSBFbGVtZW50VHJlZVxuIgotICAgICAgICAiZGVsIEVsZW1lbnRUcmVlXG4iCi0KLSAgICAgICAgImltcG9ydCBfZWxlbWVudHRyZWUgYXMgY0VsZW1lbnRUcmVlXG4iCi0KLSAgICAgICAgInRyeTpcbiIgLyogY2hlY2sgaWYgY29weSB3b3JrcyBhcyBpcyAqLwotICAgICAgICAiICBjb3B5KGNFbGVtZW50VHJlZS5FbGVtZW50KCd4JykpXG4iCi0gICAgICAgICJleGNlcHQ6XG4iCi0gICAgICAgICIgIGRlZiBjb3B5ZWxlbWVudChlbGVtKTpcbiIKLSAgICAgICAgIiAgICByZXR1cm4gZWxlbVxuIgotCi0gICAgICAgICJjbGFzcyBDb21tZW50UHJveHk6XG4iCi0gICAgICAgICIgZGVmIF9fY2FsbF9fKHNlbGYsIHRleHQ9Tm9uZSk6XG4iCi0gICAgICAgICIgIGVsZW1lbnQgPSBjRWxlbWVudFRyZWUuRWxlbWVudChFVC5Db21tZW50KVxuIgotICAgICAgICAiICBlbGVtZW50LnRleHQgPSB0ZXh0XG4iCi0gICAgICAgICIgIHJldHVybiBlbGVtZW50XG4iCi0gICAgICAgICIgZGVmIF9fZXFfXyhzZWxmLCBvdGhlcik6XG4iCi0gICAgICAgICIgIHJldHVybiBFVC5Db21tZW50ID09IG90aGVyXG4iCi0gICAgICAgICJjRWxlbWVudFRyZWUuQ29tbWVudCA9IENvbW1lbnRQcm94eSgpXG4iCi0KLSAgICAgICAgImNsYXNzIEVsZW1lbnRUcmVlKEVULkVsZW1lbnRUcmVlKTpcbiIgLyogcHVibGljICovCi0gICAgICAgICIgIGRlZiBwYXJzZShzZWxmLCBzb3VyY2UsIHBhcnNlcj1Ob25lKTpcbiIKLSAgICAgICAgIiAgICBjbG9zZV9zb3VyY2UgPSBGYWxzZVxuIgotICAgICAgICAiICAgIGlmIG5vdCBoYXNhdHRyKHNvdXJjZSwgJ3JlYWQnKTpcbiIKLSAgICAgICAgIiAgICAgIHNvdXJjZSA9IG9wZW4oc291cmNlLCAncmInKVxuIgotICAgICAgICAiICAgICAgY2xvc2Vfc291cmNlID0gVHJ1ZVxuIgotICAgICAgICAiICAgIHRyeTpcbiIKLSAgICAgICAgIiAgICAgIGlmIHBhcnNlciBpcyBub3QgTm9uZTpcbiIKLSAgICAgICAgIiAgICAgICAgd2hpbGUgMTpcbiIKLSAgICAgICAgIiAgICAgICAgICBkYXRhID0gc291cmNlLnJlYWQoNjU1MzYpXG4iCi0gICAgICAgICIgICAgICAgICAgaWYgbm90IGRhdGE6XG4iCi0gICAgICAgICIgICAgICAgICAgICBicmVha1xuIgotICAgICAgICAiICAgICAgICAgIHBhcnNlci5mZWVkKGRhdGEpXG4iCi0gICAgICAgICIgICAgICAgIHNlbGYuX3Jvb3QgPSBwYXJzZXIuY2xvc2UoKVxuIgotICAgICAgICAiICAgICAgZWxzZTpcbiIgCi0gICAgICAgICIgICAgICAgIHBhcnNlciA9IGNFbGVtZW50VHJlZS5YTUxQYXJzZXIoKVxuIgotICAgICAgICAiICAgICAgICBzZWxmLl9yb290ID0gcGFyc2VyLl9wYXJzZShzb3VyY2UpXG4iCi0gICAgICAgICIgICAgICByZXR1cm4gc2VsZi5fcm9vdFxuIgotICAgICAgICAiICAgIGZpbmFsbHk6XG4iCi0gICAgICAgICIgICAgICBpZiBjbG9zZV9zb3VyY2U6XG4iCi0gICAgICAgICIgICAgICAgIHNvdXJjZS5jbG9zZSgpXG4iCi0gICAgICAgICJjRWxlbWVudFRyZWUuRWxlbWVudFRyZWUgPSBFbGVtZW50VHJlZVxuIgorICAgICAgICAiZnJvbSBjb3B5IGltcG9ydCBkZWVwY29weVxuIgorICAgICAgICAiZnJvbSB4bWwuZXRyZWUgaW1wb3J0IEVsZW1lbnRQYXRoXG4iCiAKICAgICAgICAgImRlZiBpdGVyKG5vZGUsIHRhZz1Ob25lKTpcbiIgLyogaGVscGVyICovCiAgICAgICAgICIgIGlmIHRhZyA9PSAnKic6XG4iCkBAIC0yOTg0LDEyMyArMzAyMiwxMiBAQAogICAgICAgICAiICAgIGlmIGUudGFpbDpcbiIKICAgICAgICAgIiAgICAgIHlpZWxkIGUudGFpbFxuIgogCi0gICAgICAgICJkZWYgcGFyc2Uoc291cmNlLCBwYXJzZXI9Tm9uZSk6XG4iIC8qIHB1YmxpYyAqLwotICAgICAgICAiICB0cmVlID0gRWxlbWVudFRyZWUoKVxuIgotICAgICAgICAiICB0cmVlLnBhcnNlKHNvdXJjZSwgcGFyc2VyKVxuIgotICAgICAgICAiICByZXR1cm4gdHJlZVxuIgotICAgICAgICAiY0VsZW1lbnRUcmVlLnBhcnNlID0gcGFyc2VcbiIKLQotICAgICAgICAiY2xhc3MgaXRlcnBhcnNlOlxuIgotICAgICAgICAiIHJvb3QgPSBOb25lXG4iCi0gICAgICAgICIgZGVmIF9faW5pdF9fKHNlbGYsIGZpbGUsIGV2ZW50cz1Ob25lKTpcbiIKLSAgICAgICAgIiAgc2VsZi5fY2xvc2VfZmlsZSA9IEZhbHNlXG4iCi0gICAgICAgICIgIGlmIG5vdCBoYXNhdHRyKGZpbGUsICdyZWFkJyk6XG4iCi0gICAgICAgICIgICAgZmlsZSA9IG9wZW4oZmlsZSwgJ3JiJylcbiIKLSAgICAgICAgIiAgICBzZWxmLl9jbG9zZV9maWxlID0gVHJ1ZVxuIgotICAgICAgICAiICBzZWxmLl9maWxlID0gZmlsZVxuIgotICAgICAgICAiICBzZWxmLl9ldmVudHMgPSBbXVxuIgotICAgICAgICAiICBzZWxmLl9pbmRleCA9IDBcbiIKLSAgICAgICAgIiAgc2VsZi5fZXJyb3IgPSBOb25lXG4iCi0gICAgICAgICIgIHNlbGYucm9vdCA9IHNlbGYuX3Jvb3QgPSBOb25lXG4iCi0gICAgICAgICIgIGIgPSBjRWxlbWVudFRyZWUuVHJlZUJ1aWxkZXIoKVxuIgotICAgICAgICAiICBzZWxmLl9wYXJzZXIgPSBjRWxlbWVudFRyZWUuWE1MUGFyc2VyKGIpXG4iCi0gICAgICAgICIgIHNlbGYuX3BhcnNlci5fc2V0ZXZlbnRzKHNlbGYuX2V2ZW50cywgZXZlbnRzKVxuIgotICAgICAgICAiIGRlZiBfX25leHRfXyhzZWxmKTpcbiIKLSAgICAgICAgIiAgd2hpbGUgMTpcbiIKLSAgICAgICAgIiAgICB0cnk6XG4iCi0gICAgICAgICIgICAgICBpdGVtID0gc2VsZi5fZXZlbnRzW3NlbGYuX2luZGV4XVxuIgotICAgICAgICAiICAgICAgc2VsZi5faW5kZXggKz0gMVxuIgotICAgICAgICAiICAgICAgcmV0dXJuIGl0ZW1cbiIKLSAgICAgICAgIiAgICBleGNlcHQgSW5kZXhFcnJvcjpcbiIKLSAgICAgICAgIiAgICAgIHBhc3NcbiIKLSAgICAgICAgIiAgICBpZiBzZWxmLl9lcnJvcjpcbiIKLSAgICAgICAgIiAgICAgIGUgPSBzZWxmLl9lcnJvclxuIgotICAgICAgICAiICAgICAgc2VsZi5fZXJyb3IgPSBOb25lXG4iCi0gICAgICAgICIgICAgICByYWlzZSBlXG4iCi0gICAgICAgICIgICAgaWYgc2VsZi5fcGFyc2VyIGlzIE5vbmU6XG4iCi0gICAgICAgICIgICAgICBzZWxmLnJvb3QgPSBzZWxmLl9yb290XG4iCi0gICAgICAgICIgICAgICBpZiBzZWxmLl9jbG9zZV9maWxlOlxuIgotICAgICAgICAiICAgICAgICBzZWxmLl9maWxlLmNsb3NlKClcbiIKLSAgICAgICAgIiAgICAgIHJhaXNlIFN0b3BJdGVyYXRpb25cbiIKLSAgICAgICAgIiAgICAjIGxvYWQgZXZlbnQgYnVmZmVyXG4iCi0gICAgICAgICIgICAgZGVsIHNlbGYuX2V2ZW50c1s6XVxuIgotICAgICAgICAiICAgIHNlbGYuX2luZGV4ID0gMFxuIgotICAgICAgICAiICAgIGRhdGEgPSBzZWxmLl9maWxlLnJlYWQoMTYzODQpXG4iCi0gICAgICAgICIgICAgaWYgZGF0YTpcbiIKLSAgICAgICAgIiAgICAgIHRyeTpcbiIKLSAgICAgICAgIiAgICAgICAgc2VsZi5fcGFyc2VyLmZlZWQoZGF0YSlcbiIKLSAgICAgICAgIiAgICAgIGV4Y2VwdCBTeW50YXhFcnJvciBhcyBleGM6XG4iCi0gICAgICAgICIgICAgICAgIHNlbGYuX2Vycm9yID0gZXhjXG4iCi0gICAgICAgICIgICAgZWxzZTpcbiIKLSAgICAgICAgIiAgICAgIHNlbGYuX3Jvb3QgPSBzZWxmLl9wYXJzZXIuY2xvc2UoKVxuIgotICAgICAgICAiICAgICAgc2VsZi5fcGFyc2VyID0gTm9uZVxuIgotICAgICAgICAiIGRlZiBfX2l0ZXJfXyhzZWxmKTpcbiIKLSAgICAgICAgIiAgcmV0dXJuIHNlbGZcbiIKLSAgICAgICAgImNFbGVtZW50VHJlZS5pdGVycGFyc2UgPSBpdGVycGFyc2VcbiIKLQotICAgICAgICAiY2xhc3MgUElQcm94eTpcbiIKLSAgICAgICAgIiBkZWYgX19jYWxsX18oc2VsZiwgdGFyZ2V0LCB0ZXh0PU5vbmUpOlxuIgotICAgICAgICAiICBlbGVtZW50ID0gY0VsZW1lbnRUcmVlLkVsZW1lbnQoRVQuUEkpXG4iCi0gICAgICAgICIgIGVsZW1lbnQudGV4dCA9IHRhcmdldFxuIgotICAgICAgICAiICBpZiB0ZXh0OlxuIgotICAgICAgICAiICAgIGVsZW1lbnQudGV4dCA9IGVsZW1lbnQudGV4dCArICcgJyArIHRleHRcbiIKLSAgICAgICAgIiAgcmV0dXJuIGVsZW1lbnRcbiIKLSAgICAgICAgIiBkZWYgX19lcV9fKHNlbGYsIG90aGVyKTpcbiIKLSAgICAgICAgIiAgcmV0dXJuIEVULlBJID09IG90aGVyXG4iCi0gICAgICAgICJjRWxlbWVudFRyZWUuUEkgPSBjRWxlbWVudFRyZWUuUHJvY2Vzc2luZ0luc3RydWN0aW9uID0gUElQcm94eSgpXG4iCi0KLSAgICAgICAgImRlZiBYTUwodGV4dCk6XG4iIC8qIHB1YmxpYyAqLwotICAgICAgICAiICBwYXJzZXIgPSBjRWxlbWVudFRyZWUuWE1MUGFyc2VyKClcbiIKLSAgICAgICAgIiAgcGFyc2VyLmZlZWQodGV4dClcbiIKLSAgICAgICAgIiAgcmV0dXJuIHBhcnNlci5jbG9zZSgpXG4iCi0gICAgICAgICJjRWxlbWVudFRyZWUuWE1MID0gY0VsZW1lbnRUcmVlLmZyb21zdHJpbmcgPSBYTUxcbiIKLQotICAgICAgICAiZGVmIFhNTElEKHRleHQpOlxuIiAvKiBwdWJsaWMgKi8KLSAgICAgICAgIiAgdHJlZSA9IFhNTCh0ZXh0KVxuIgotICAgICAgICAiICBpZHMgPSB7fVxuIgotICAgICAgICAiICBmb3IgZWxlbSBpbiB0cmVlLml0ZXIoKTpcbiIKLSAgICAgICAgIiAgICBpZCA9IGVsZW0uZ2V0KCdpZCcpXG4iCi0gICAgICAgICIgICAgaWYgaWQ6XG4iCi0gICAgICAgICIgICAgICBpZHNbaWRdID0gZWxlbVxuIgotICAgICAgICAiICByZXR1cm4gdHJlZSwgaWRzXG4iCi0gICAgICAgICJjRWxlbWVudFRyZWUuWE1MSUQgPSBYTUxJRFxuIgotCi0gICAgICAgICJ0cnk6XG4iCi0gICAgICAgICIgcmVnaXN0ZXJfbmFtZXNwYWNlID0gRVQucmVnaXN0ZXJfbmFtZXNwYWNlXG4iCi0gICAgICAgICJleGNlcHQgQXR0cmlidXRlRXJyb3I6XG4iCi0gICAgICAgICIgZGVmIHJlZ2lzdGVyX25hbWVzcGFjZShwcmVmaXgsIHVyaSk6XG4iCi0gICAgICAgICIgIEVULl9uYW1lc3BhY2VfbWFwW3VyaV0gPSBwcmVmaXhcbiIKLSAgICAgICAgImNFbGVtZW50VHJlZS5yZWdpc3Rlcl9uYW1lc3BhY2UgPSByZWdpc3Rlcl9uYW1lc3BhY2VcbiIKLQotICAgICAgICAiY0VsZW1lbnRUcmVlLmR1bXAgPSBFVC5kdW1wXG4iCi0gICAgICAgICJjRWxlbWVudFRyZWUuRWxlbWVudFBhdGggPSBFbGVtZW50UGF0aCA9IEVULkVsZW1lbnRQYXRoXG4iCi0gICAgICAgICJjRWxlbWVudFRyZWUuaXNlbGVtZW50ID0gRVQuaXNlbGVtZW50XG4iCi0gICAgICAgICJjRWxlbWVudFRyZWUuUU5hbWUgPSBFVC5RTmFtZVxuIgotICAgICAgICAiY0VsZW1lbnRUcmVlLnRvc3RyaW5nID0gRVQudG9zdHJpbmdcbiIKLSAgICAgICAgImNFbGVtZW50VHJlZS5mcm9tc3RyaW5nbGlzdCA9IEVULmZyb21zdHJpbmdsaXN0XG4iCi0gICAgICAgICJjRWxlbWVudFRyZWUudG9zdHJpbmdsaXN0ID0gRVQudG9zdHJpbmdsaXN0XG4iCi0gICAgICAgICJjRWxlbWVudFRyZWUuVkVSU0lPTiA9ICciIFZFUlNJT04gIidcbiIKLSAgICAgICAgImNFbGVtZW50VHJlZS5fX3ZlcnNpb25fXyA9ICciIFZFUlNJT04gIidcbiIKLQogICAgICAgICk7CiAKICAgICBpZiAoIVB5UnVuX1N0cmluZyhib290c3RyYXAsIFB5X2ZpbGVfaW5wdXQsIGcsIE5VTEwpKQogICAgICAgICByZXR1cm4gTlVMTDsKIAogICAgIGVsZW1lbnRwYXRoX29iaiA9IFB5RGljdF9HZXRJdGVtU3RyaW5nKGcsICJFbGVtZW50UGF0aCIpOwotCi0gICAgZWxlbWVudHRyZWVfY29weWVsZW1lbnRfb2JqID0gUHlEaWN0X0dldEl0ZW1TdHJpbmcoZywgImNvcHllbGVtZW50Iik7Ci0gICAgaWYgKGVsZW1lbnR0cmVlX2NvcHllbGVtZW50X29iaikgewotICAgICAgICAvKiByZWR1Y2UgaGFjayBuZWVkZWQ7IGVuYWJsZSByZWR1Y2UgbWV0aG9kICovCi0gICAgICAgIFB5TWV0aG9kRGVmKiBtcDsKLSAgICAgICAgZm9yIChtcCA9IGVsZW1lbnRfbWV0aG9kczsgbXAtPm1sX25hbWU7IG1wKyspCi0gICAgICAgICAgICBpZiAobXAtPm1sX21ldGggPT0gKFB5Q0Z1bmN0aW9uKSBlbGVtZW50X3JlZHVjZSkgewotICAgICAgICAgICAgICAgIG1wLT5tbF9uYW1lID0gIl9fcmVkdWNlX18iOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgfQotICAgIH0gZWxzZQotICAgICAgICBQeUVycl9DbGVhcigpOwotCiAgICAgZWxlbWVudHRyZWVfZGVlcGNvcHlfb2JqID0gUHlEaWN0X0dldEl0ZW1TdHJpbmcoZywgImRlZXBjb3B5Iik7CiAgICAgZWxlbWVudHRyZWVfaXRlcl9vYmogPSBQeURpY3RfR2V0SXRlbVN0cmluZyhnLCAiaXRlciIpOwogICAgIGVsZW1lbnR0cmVlX2l0ZXJ0ZXh0X29iaiA9IFB5RGljdF9HZXRJdGVtU3RyaW5nKGcsICJpdGVydGV4dCIpOwpAQCAtMzEyMCwxMCArMzA0NywxMyBAQAogI2VuZGlmCiAKICAgICBlbGVtZW50dHJlZV9wYXJzZWVycm9yX29iaiA9IFB5RXJyX05ld0V4Y2VwdGlvbigKLSAgICAgICAgImNFbGVtZW50VHJlZS5QYXJzZUVycm9yIiwgUHlFeGNfU3ludGF4RXJyb3IsIE5VTEwKKyAgICAgICAgInhtbC5ldHJlZS5FbGVtZW50VHJlZS5QYXJzZUVycm9yIiwgUHlFeGNfU3ludGF4RXJyb3IsIE5VTEwKICAgICAgICAgKTsKICAgICBQeV9JTkNSRUYoZWxlbWVudHRyZWVfcGFyc2VlcnJvcl9vYmopOwogICAgIFB5TW9kdWxlX0FkZE9iamVjdChtLCAiUGFyc2VFcnJvciIsIGVsZW1lbnR0cmVlX3BhcnNlZXJyb3Jfb2JqKTsKIAorICAgIFB5X0lOQ1JFRigoUHlPYmplY3QgKikmRWxlbWVudF9UeXBlKTsKKyAgICBQeU1vZHVsZV9BZGRPYmplY3QobSwgIkVsZW1lbnQiLCAoUHlPYmplY3QgKikmRWxlbWVudF9UeXBlKTsKKwogICAgIHJldHVybiBtOwogfQpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9fZnVuY3Rvb2xzbW9kdWxlLmMgYi9Nb2R1bGVzL19mdW5jdG9vbHNtb2R1bGUuYwppbmRleCBkOGEyODNiLi4zZmYwN2JjIDEwMDY0NAotLS0gYS9Nb2R1bGVzL19mdW5jdG9vbHNtb2R1bGUuYworKysgYi9Nb2R1bGVzL19mdW5jdG9vbHNtb2R1bGUuYwpAQCAtMTU1LDQ0ICsxNTUsOCBAQAogICAgIHtOVUxMfSAgLyogU2VudGluZWwgKi8KIH07CiAKLXN0YXRpYyBQeU9iamVjdCAqCi1wYXJ0aWFsX2dldF9kaWN0KHBhcnRpYWxvYmplY3QgKnB0bykKLXsKLSAgICBpZiAocHRvLT5kaWN0ID09IE5VTEwpIHsKLSAgICAgICAgcHRvLT5kaWN0ID0gUHlEaWN0X05ldygpOwotICAgICAgICBpZiAocHRvLT5kaWN0ID09IE5VTEwpCi0gICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICB9Ci0gICAgUHlfSU5DUkVGKHB0by0+ZGljdCk7Ci0gICAgcmV0dXJuIHB0by0+ZGljdDsKLX0KLQotc3RhdGljIGludAotcGFydGlhbF9zZXRfZGljdChwYXJ0aWFsb2JqZWN0ICpwdG8sIFB5T2JqZWN0ICp2YWx1ZSkKLXsKLSAgICBQeU9iamVjdCAqdG1wOwotCi0gICAgLyogSXQgaXMgaWxsZWdhbCB0byBkZWwgcC5fX2RpY3RfXyAqLwotICAgIGlmICh2YWx1ZSA9PSBOVUxMKSB7Ci0gICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAgICAiYSBwYXJ0aWFsIG9iamVjdCdzIGRpY3Rpb25hcnkgbWF5IG5vdCBiZSBkZWxldGVkIik7Ci0gICAgICAgIHJldHVybiAtMTsKLSAgICB9Ci0gICAgLyogQ2FuIG9ubHkgc2V0IF9fZGljdF9fIHRvIGEgZGljdGlvbmFyeSAqLwotICAgIGlmICghUHlEaWN0X0NoZWNrKHZhbHVlKSkgewotICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgInNldHRpbmcgcGFydGlhbCBvYmplY3QncyBkaWN0aW9uYXJ5IHRvIGEgbm9uLWRpY3QiKTsKLSAgICAgICAgcmV0dXJuIC0xOwotICAgIH0KLSAgICB0bXAgPSBwdG8tPmRpY3Q7Ci0gICAgUHlfSU5DUkVGKHZhbHVlKTsKLSAgICBwdG8tPmRpY3QgPSB2YWx1ZTsKLSAgICBQeV9YREVDUkVGKHRtcCk7Ci0gICAgcmV0dXJuIDA7Ci19Ci0KIHN0YXRpYyBQeUdldFNldERlZiBwYXJ0aWFsX2dldHNldGxpc3RbXSA9IHsKLSAgICB7Il9fZGljdF9fIiwgKGdldHRlcilwYXJ0aWFsX2dldF9kaWN0LCAoc2V0dGVyKXBhcnRpYWxfc2V0X2RpY3R9LAorICAgIHsiX19kaWN0X18iLCBQeU9iamVjdF9HZW5lcmljR2V0RGljdCwgUHlPYmplY3RfR2VuZXJpY1NldERpY3R9LAogICAgIHtOVUxMfSAvKiBTZW50aW5lbCAqLwogfTsKIApAQCAtMzMwLDYgKzI5NCwxNzYgQEAKIH07CiAKIAorLyogY21wX3RvX2tleSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKK3R5cGVkZWYgc3RydWN0IHsKKyAgICBQeU9iamVjdF9IRUFECisgICAgUHlPYmplY3QgKmNtcDsKKyAgICBQeU9iamVjdCAqb2JqZWN0OworfSBrZXlvYmplY3Q7CisKK3N0YXRpYyB2b2lkCitrZXlvYmplY3RfZGVhbGxvYyhrZXlvYmplY3QgKmtvKQoreworICAgIFB5X0RFQ1JFRihrby0+Y21wKTsKKyAgICBQeV9YREVDUkVGKGtvLT5vYmplY3QpOworICAgIFB5T2JqZWN0X0ZSRUUoa28pOworfQorCitzdGF0aWMgaW50CitrZXlvYmplY3RfdHJhdmVyc2Uoa2V5b2JqZWN0ICprbywgdmlzaXRwcm9jIHZpc2l0LCB2b2lkICphcmcpCit7CisgICAgUHlfVklTSVQoa28tPmNtcCk7CisgICAgaWYgKGtvLT5vYmplY3QpCisgICAgICAgIFB5X1ZJU0lUKGtvLT5vYmplY3QpOworICAgIHJldHVybiAwOworfQorCitzdGF0aWMgaW50CitrZXlvYmplY3RfY2xlYXIoa2V5b2JqZWN0ICprbykKK3sKKyAgICBQeV9DTEVBUihrby0+Y21wKTsKKyAgICBpZiAoa28tPm9iamVjdCkKKyAgICAgICAgUHlfQ0xFQVIoa28tPm9iamVjdCk7CisgICAgcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBQeU1lbWJlckRlZiBrZXlvYmplY3RfbWVtYmVyc1tdID0geworICAgIHsib2JqIiwgVF9PQkpFQ1QsCisgICAgIG9mZnNldG9mKGtleW9iamVjdCwgb2JqZWN0KSwgMCwKKyAgICAgUHlEb2NfU1RSKCJWYWx1ZSB3cmFwcGVkIGJ5IGEga2V5IGZ1bmN0aW9uLiIpfSwKKyAgICB7TlVMTH0KK307CisKK3N0YXRpYyBQeU9iamVjdCAqCitrZXlvYmplY3RfY2FsbChrZXlvYmplY3QgKmtvLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3ZHMpOworCitzdGF0aWMgUHlPYmplY3QgKgora2V5b2JqZWN0X3JpY2hjb21wYXJlKFB5T2JqZWN0ICprbywgUHlPYmplY3QgKm90aGVyLCBpbnQgb3ApOworCitzdGF0aWMgUHlUeXBlT2JqZWN0IGtleW9iamVjdF90eXBlID0geworICAgIFB5VmFyT2JqZWN0X0hFQURfSU5JVCgmUHlUeXBlX1R5cGUsIDApCisgICAgImZ1bmN0b29scy5LZXlXcmFwcGVyIiwgICAgICAgICAgICAgLyogdHBfbmFtZSAqLworICAgIHNpemVvZihrZXlvYmplY3QpLCAgICAgICAgICAgICAgICAgIC8qIHRwX2Jhc2ljc2l6ZSAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2l0ZW1zaXplICovCisgICAgLyogbWV0aG9kcyAqLworICAgIChkZXN0cnVjdG9yKWtleW9iamVjdF9kZWFsbG9jLCAgICAgIC8qIHRwX2RlYWxsb2MgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9wcmludCAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2dldGF0dHIgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9zZXRhdHRyICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfcmVzZXJ2ZWQgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9yZXByICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfYXNfbnVtYmVyICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfYXNfc2VxdWVuY2UgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9hc19tYXBwaW5nICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfaGFzaCAqLworICAgICh0ZXJuYXJ5ZnVuYylrZXlvYmplY3RfY2FsbCwgICAgICAgIC8qIHRwX2NhbGwgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9zdHIgKi8KKyAgICBQeU9iamVjdF9HZW5lcmljR2V0QXR0ciwgICAgICAgICAgICAvKiB0cF9nZXRhdHRybyAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX3NldGF0dHJvICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfYXNfYnVmZmVyICovCisgICAgUHlfVFBGTEFHU19ERUZBVUxULCAgICAgICAgICAgICAgICAgLyogdHBfZmxhZ3MgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9kb2MgKi8KKyAgICAodHJhdmVyc2Vwcm9jKWtleW9iamVjdF90cmF2ZXJzZSwgICAvKiB0cF90cmF2ZXJzZSAqLworICAgIChpbnF1aXJ5KWtleW9iamVjdF9jbGVhciwgICAgICAgICAgIC8qIHRwX2NsZWFyICovCisgICAga2V5b2JqZWN0X3JpY2hjb21wYXJlLCAgICAgICAgICAgICAgLyogdHBfcmljaGNvbXBhcmUgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF93ZWFrbGlzdG9mZnNldCAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2l0ZXIgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9pdGVybmV4dCAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX21ldGhvZHMgKi8KKyAgICBrZXlvYmplY3RfbWVtYmVycywgICAgICAgICAgICAgICAgICAvKiB0cF9tZW1iZXJzICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfZ2V0c2V0ICovCit9OworCitzdGF0aWMgUHlPYmplY3QgKgora2V5b2JqZWN0X2NhbGwoa2V5b2JqZWN0ICprbywgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2RzKQoreworICAgIFB5T2JqZWN0ICpvYmplY3Q7CisgICAga2V5b2JqZWN0ICpyZXN1bHQ7CisgICAgc3RhdGljIGNoYXIgKmt3YXJnc1tdID0geyJvYmoiLCBOVUxMfTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3ZHMsICJPOksiLCBrd2FyZ3MsICZvYmplY3QpKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICByZXN1bHQgPSBQeU9iamVjdF9OZXcoa2V5b2JqZWN0LCAma2V5b2JqZWN0X3R5cGUpOworICAgIGlmICghcmVzdWx0KQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBQeV9JTkNSRUYoa28tPmNtcCk7CisgICAgcmVzdWx0LT5jbXAgPSBrby0+Y21wOworICAgIFB5X0lOQ1JFRihvYmplY3QpOworICAgIHJlc3VsdC0+b2JqZWN0ID0gb2JqZWN0OworICAgIHJldHVybiAoUHlPYmplY3QgKilyZXN1bHQ7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitrZXlvYmplY3RfcmljaGNvbXBhcmUoUHlPYmplY3QgKmtvLCBQeU9iamVjdCAqb3RoZXIsIGludCBvcCkKK3sKKyAgICBQeU9iamVjdCAqcmVzOworICAgIFB5T2JqZWN0ICphcmdzOworICAgIFB5T2JqZWN0ICp4OworICAgIFB5T2JqZWN0ICp5OworICAgIFB5T2JqZWN0ICpjb21wYXJlOworICAgIFB5T2JqZWN0ICphbnN3ZXI7CisgICAgc3RhdGljIFB5T2JqZWN0ICp6ZXJvOworCisgICAgaWYgKHplcm8gPT0gTlVMTCkgeworICAgICAgICB6ZXJvID0gUHlMb25nX0Zyb21Mb25nKDApOworICAgICAgICBpZiAoIXplcm8pCisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisKKyAgICBpZiAoUHlfVFlQRShvdGhlcikgIT0gJmtleW9iamVjdF90eXBlKXsKKyAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1R5cGVFcnJvciwgIm90aGVyIGFyZ3VtZW50IG11c3QgYmUgSyBpbnN0YW5jZSIpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisgICAgY29tcGFyZSA9ICgoa2V5b2JqZWN0ICopIGtvKS0+Y21wOworICAgIGFzc2VydChjb21wYXJlICE9IE5VTEwpOworICAgIHggPSAoKGtleW9iamVjdCAqKSBrbyktPm9iamVjdDsKKyAgICB5ID0gKChrZXlvYmplY3QgKikgb3RoZXIpLT5vYmplY3Q7CisgICAgaWYgKCF4IHx8ICF5KXsKKyAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX0F0dHJpYnV0ZUVycm9yLCAib2JqZWN0Iik7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKworICAgIC8qIENhbGwgdGhlIHVzZXIncyBjb21wYXJpc29uIGZ1bmN0aW9uIGFuZCB0cmFuc2xhdGUgdGhlIDMtd2F5CisgICAgICogcmVzdWx0IGludG8gdHJ1ZSBvciBmYWxzZSAob3IgZXJyb3IpLgorICAgICAqLworICAgIGFyZ3MgPSBQeVR1cGxlX05ldygyKTsKKyAgICBpZiAoYXJncyA9PSBOVUxMKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBQeV9JTkNSRUYoeCk7CisgICAgUHlfSU5DUkVGKHkpOworICAgIFB5VHVwbGVfU0VUX0lURU0oYXJncywgMCwgeCk7CisgICAgUHlUdXBsZV9TRVRfSVRFTShhcmdzLCAxLCB5KTsKKyAgICByZXMgPSBQeU9iamVjdF9DYWxsKGNvbXBhcmUsIGFyZ3MsIE5VTEwpOworICAgIFB5X0RFQ1JFRihhcmdzKTsKKyAgICBpZiAocmVzID09IE5VTEwpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIGFuc3dlciA9IFB5T2JqZWN0X1JpY2hDb21wYXJlKHJlcywgemVybywgb3ApOworICAgIFB5X0RFQ1JFRihyZXMpOworICAgIHJldHVybiBhbnN3ZXI7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitmdW5jdG9vbHNfY21wX3RvX2tleShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2RzKQoreworICAgIFB5T2JqZWN0ICpjbXA7CisgICAgc3RhdGljIGNoYXIgKmt3YXJnc1tdID0geyJteWNtcCIsIE5VTEx9OworICAgIGtleW9iamVjdCAqb2JqZWN0OworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dkcywgIk86Y21wX3RvX2tleSIsIGt3YXJncywgJmNtcCkpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIG9iamVjdCA9IFB5T2JqZWN0X05ldyhrZXlvYmplY3QsICZrZXlvYmplY3RfdHlwZSk7CisgICAgaWYgKCFvYmplY3QpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIFB5X0lOQ1JFRihjbXApOworICAgIG9iamVjdC0+Y21wID0gY21wOworICAgIG9iamVjdC0+b2JqZWN0ID0gTlVMTDsKKyAgICByZXR1cm4gKFB5T2JqZWN0ICopb2JqZWN0OworfQorCitQeURvY19TVFJWQVIoZnVuY3Rvb2xzX2NtcF90b19rZXlfZG9jLAorIkNvbnZlcnQgYSBjbXA9IGZ1bmN0aW9uIGludG8gYSBrZXk9IGZ1bmN0aW9uLiIpOworCiAvKiByZWR1Y2UgKHVzZWQgdG8gYmUgYSBidWlsdGluKSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIAogc3RhdGljIFB5T2JqZWN0ICoKQEAgLTQxMyw2ICs1NDcsOCBAQAogCiBzdGF0aWMgUHlNZXRob2REZWYgbW9kdWxlX21ldGhvZHNbXSA9IHsKICAgICB7InJlZHVjZSIsICAgICAgICAgIGZ1bmN0b29sc19yZWR1Y2UsICAgICBNRVRIX1ZBUkFSR1MsIGZ1bmN0b29sc19yZWR1Y2VfZG9jfSwKKyAgICB7ImNtcF90b19rZXkiLCAgICAgIChQeUNGdW5jdGlvbilmdW5jdG9vbHNfY21wX3RvX2tleSwKKyAgICAgTUVUSF9WQVJBUkdTIHwgTUVUSF9LRVlXT1JEUywgZnVuY3Rvb2xzX2NtcF90b19rZXlfZG9jfSwKICAgICB7TlVMTCwgICAgICAgICAgICAgIE5VTEx9ICAgICAgICAgICAvKiBzZW50aW5lbCAqLwogfTsKIApkaWZmIC0tZ2l0IGEvTW9kdWxlcy9fZ2VzdGFsdC5jIGIvTW9kdWxlcy9fZ2VzdGFsdC5jCmluZGV4IGE0NTc4MGYuLmNkMzA2ODMgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvX2dlc3RhbHQuYworKysgYi9Nb2R1bGVzL19nZXN0YWx0LmMKQEAgLTMzLDcgKzMzLDcgQEAKIGNvbnZlcnRfdG9fT1NUeXBlKFB5T2JqZWN0ICp2LCBPU1R5cGUgKnByKQogewogICAgIHVpbnQzMl90IHRtcDsKLSAgICBpZiAoIVB5VW5pY29kZV9DaGVjayh2KSB8fCBQeVVuaWNvZGVfR2V0U2l6ZSh2KSAhPSA0KSB7CisgICAgaWYgKCFQeVVuaWNvZGVfQ2hlY2sodikgfHwgUHlVbmljb2RlX0dldExlbmd0aCh2KSAhPSA0KSB7CiAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwKICAgICAgICAgICAgICAgICAgICAgIk9TVHlwZSBhcmcgbXVzdCBiZSBzdHJpbmcgb2YgNCBjaGFycyIpOwogICAgIHJldHVybiAwOwpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9faGFzaG9wZW5zc2wuYyBiL01vZHVsZXMvX2hhc2hvcGVuc3NsLmMKaW5kZXggZGQ0MzE3Zi4uZDM3Njg5ZSAxMDA2NDQKLS0tIGEvTW9kdWxlcy9faGFzaG9wZW5zc2wuYworKysgYi9Nb2R1bGVzL19oYXNob3BlbnNzbC5jCkBAIC0yMDEsMTMgKzIwMSwxMSBAQAogCiAgICAgLyogTWFrZSBoZXggdmVyc2lvbiBvZiB0aGUgZGlnZXN0ICovCiAgICAgZm9yKGk9aj0wOyBpPGRpZ2VzdF9zaXplOyBpKyspIHsKLSAgICAgICAgY2hhciBjOworICAgICAgICB1bnNpZ25lZCBjaGFyIGM7CiAgICAgICAgIGMgPSAoZGlnZXN0W2ldID4+IDQpICYgMHhmOwotICAgICAgICBjID0gKGM+OSkgPyBjKydhJy0xMCA6IGMgKyAnMCc7Ci0gICAgICAgIGhleF9kaWdlc3RbaisrXSA9IGM7CisgICAgICAgIGhleF9kaWdlc3RbaisrXSA9IFB5X2hleGRpZ2l0c1tjXTsKICAgICAgICAgYyA9IChkaWdlc3RbaV0gJiAweGYpOwotICAgICAgICBjID0gKGM+OSkgPyBjKydhJy0xMCA6IGMgKyAnMCc7Ci0gICAgICAgIGhleF9kaWdlc3RbaisrXSA9IGM7CisgICAgICAgIGhleF9kaWdlc3RbaisrXSA9IFB5X2hleGRpZ2l0c1tjXTsKICAgICB9CiAgICAgcmV0dmFsID0gUHlVbmljb2RlX0Zyb21TdHJpbmdBbmRTaXplKGhleF9kaWdlc3QsIGRpZ2VzdF9zaXplICogMik7CiAgICAgUHlNZW1fRnJlZShoZXhfZGlnZXN0KTsKZGlmZiAtLWdpdCBhL01vZHVsZXMvX2lvL19pb21vZHVsZS5jIGIvTW9kdWxlcy9faW8vX2lvbW9kdWxlLmMKaW5kZXggNGM5MDQzMy4uMzFlZWEzYyAxMDA2NDQKLS0tIGEvTW9kdWxlcy9faW8vX2lvbW9kdWxlLmMKKysrIGIvTW9kdWxlcy9faW8vX2lvbW9kdWxlLmMKQEAgLTEsOSArMSw5IEBACiAvKgogICAgIEFuIGltcGxlbWVudGF0aW9uIG9mIHRoZSBuZXcgSS9PIGxpYiBhcyBkZWZpbmVkIGJ5IFBFUCAzMTE2IC0gIk5ldyBJL08iCi0gICAgCisKICAgICBDbGFzc2VzIGRlZmluZWQgaGVyZTogVW5zdXBwb3J0ZWRPcGVyYXRpb24sIEJsb2NraW5nSU9FcnJvci4KICAgICBGdW5jdGlvbnMgZGVmaW5lZCBoZXJlOiBvcGVuKCkuCi0gICAgCisKICAgICBNb3N0bHkgd3JpdHRlbiBieSBBbWF1cnkgRm9yZ2VvdCBkJ0FyYwogKi8KIApAQCAtMzYsNiArMzYsNyBAQAogUHlPYmplY3QgKl9QeUlPX3N0cl9yZWFkOwogUHlPYmplY3QgKl9QeUlPX3N0cl9yZWFkMTsKIFB5T2JqZWN0ICpfUHlJT19zdHJfcmVhZGFibGU7CitQeU9iamVjdCAqX1B5SU9fc3RyX3JlYWRhbGw7CiBQeU9iamVjdCAqX1B5SU9fc3RyX3JlYWRpbnRvOwogUHlPYmplY3QgKl9QeUlPX3N0cl9yZWFkbGluZTsKIFB5T2JqZWN0ICpfUHlJT19zdHJfcmVzZXQ7CkBAIC05MCw5NCArOTEsMTEgQEAKIAwKIAogLyoKLSAqIEJsb2NraW5nSU9FcnJvciBleHRlbmRzIElPRXJyb3IKLSAqLwotCi1zdGF0aWMgaW50Ci1ibG9ja2luZ2lvZXJyb3JfaW5pdChQeUJsb2NraW5nSU9FcnJvck9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsCi0gICAgICAgICAgICAgICAgICAgICBQeU9iamVjdCAqa3dkcykKLXsKLSAgICBQeU9iamVjdCAqbXllcnJubyA9IE5VTEwsICpzdHJlcnJvciA9IE5VTEw7Ci0gICAgUHlPYmplY3QgKmJhc2VhcmdzID0gTlVMTDsKLSAgICBQeV9zc2l6ZV90IHdyaXR0ZW4gPSAwOwotCi0gICAgYXNzZXJ0KFB5VHVwbGVfQ2hlY2soYXJncykpOwotCi0gICAgc2VsZi0+d3JpdHRlbiA9IDA7Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJPT3xuOkJsb2NraW5nSU9FcnJvciIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICZteWVycm5vLCAmc3RyZXJyb3IsICZ3cml0dGVuKSkKLSAgICAgICAgcmV0dXJuIC0xOwotCi0gICAgYmFzZWFyZ3MgPSBQeVR1cGxlX1BhY2soMiwgbXllcnJubywgc3RyZXJyb3IpOwotICAgIGlmIChiYXNlYXJncyA9PSBOVUxMKQotICAgICAgICByZXR1cm4gLTE7Ci0gICAgLyogVGhpcyB3aWxsIHRha2UgY2FyZSBvZiBpbml0aWFsaXppbmcgb2YgbXllcnJubyBhbmQgc3RyZXJyb3IgbWVtYmVycyAqLwotICAgIGlmICgoKFB5VHlwZU9iamVjdCAqKVB5RXhjX0lPRXJyb3IpLT50cF9pbml0KAotICAgICAgICAgICAgICAgIChQeU9iamVjdCAqKXNlbGYsIGJhc2VhcmdzLCBrd2RzKSA9PSAtMSkgewotICAgICAgICBQeV9ERUNSRUYoYmFzZWFyZ3MpOwotICAgICAgICByZXR1cm4gLTE7Ci0gICAgfQotICAgIFB5X0RFQ1JFRihiYXNlYXJncyk7Ci0KLSAgICBzZWxmLT53cml0dGVuID0gd3JpdHRlbjsKLSAgICByZXR1cm4gMDsKLX0KLQotc3RhdGljIFB5TWVtYmVyRGVmIGJsb2NraW5naW9lcnJvcl9tZW1iZXJzW10gPSB7Ci0gICAgeyJjaGFyYWN0ZXJzX3dyaXR0ZW4iLCBUX1BZU1NJWkVULCBvZmZzZXRvZihQeUJsb2NraW5nSU9FcnJvck9iamVjdCwgd3JpdHRlbiksIDB9LAotICAgIHtOVUxMfSAgLyogU2VudGluZWwgKi8KLX07Ci0KLXN0YXRpYyBQeVR5cGVPYmplY3QgX1B5RXhjX0Jsb2NraW5nSU9FcnJvciA9IHsKLSAgICBQeVZhck9iamVjdF9IRUFEX0lOSVQoTlVMTCwgMCkKLSAgICAiQmxvY2tpbmdJT0Vycm9yIiwgLyp0cF9uYW1lKi8KLSAgICBzaXplb2YoUHlCbG9ja2luZ0lPRXJyb3JPYmplY3QpLCAvKnRwX2Jhc2ljc2l6ZSovCi0gICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfaXRlbXNpemUqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX2RlYWxsb2MqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX3ByaW50Ki8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9nZXRhdHRyKi8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9zZXRhdHRyKi8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9jb21wYXJlICovCi0gICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfcmVwciovCi0gICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfYXNfbnVtYmVyKi8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9hc19zZXF1ZW5jZSovCi0gICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfYXNfbWFwcGluZyovCi0gICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfaGFzaCAqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX2NhbGwqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX3N0ciovCi0gICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfZ2V0YXR0cm8qLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX3NldGF0dHJvKi8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9hc19idWZmZXIqLwotICAgIFB5X1RQRkxBR1NfREVGQVVMVCB8IFB5X1RQRkxBR1NfQkFTRVRZUEUsIC8qdHBfZmxhZ3MqLwotICAgIFB5RG9jX1NUUigiRXhjZXB0aW9uIHJhaXNlZCB3aGVuIEkvTyB3b3VsZCBibG9jayAiCi0gICAgICAgICAgICAgICJvbiBhIG5vbi1ibG9ja2luZyBJL08gc3RyZWFtIiksIC8qIHRwX2RvYyAqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF90cmF2ZXJzZSAqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9jbGVhciAqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9yaWNoY29tcGFyZSAqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF93ZWFrbGlzdG9mZnNldCAqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9pdGVyICovCi0gICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2l0ZXJuZXh0ICovCi0gICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX21ldGhvZHMgKi8KLSAgICBibG9ja2luZ2lvZXJyb3JfbWVtYmVycywgICAgLyogdHBfbWVtYmVycyAqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9nZXRzZXQgKi8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfYmFzZSAqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9kaWN0ICovCi0gICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2Rlc2NyX2dldCAqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9kZXNjcl9zZXQgKi8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfZGljdG9mZnNldCAqLwotICAgIChpbml0cHJvYylibG9ja2luZ2lvZXJyb3JfaW5pdCwgLyogdHBfaW5pdCAqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9hbGxvYyAqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9uZXcgKi8KLX07Ci1QeU9iamVjdCAqUHlFeGNfQmxvY2tpbmdJT0Vycm9yID0gKFB5T2JqZWN0ICopJl9QeUV4Y19CbG9ja2luZ0lPRXJyb3I7Ci0MCi0KLS8qCiAgKiBUaGUgbWFpbiBvcGVuKCkgZnVuY3Rpb24KICAqLwogUHlEb2NfU1RSVkFSKG9wZW5fZG9jLAogIm9wZW4oZmlsZSwgbW9kZT0ncicsIGJ1ZmZlcmluZz0tMSwgZW5jb2Rpbmc9Tm9uZSxcbiIKLSIgICAgIGVycm9ycz1Ob25lLCBuZXdsaW5lPU5vbmUsIGNsb3NlZmQ9VHJ1ZSkgLT4gZmlsZSBvYmplY3RcbiIKKyIgICAgIGVycm9ycz1Ob25lLCBuZXdsaW5lPU5vbmUsIGNsb3NlZmQ9VHJ1ZSwgb3BlbmVyPU5vbmUpIC0+IGZpbGUgb2JqZWN0XG4iCiAiXG4iCiAiT3BlbiBmaWxlIGFuZCByZXR1cm4gYSBzdHJlYW0uICBSYWlzZSBJT0Vycm9yIHVwb24gZmFpbHVyZS5cbiIKICJcbiIKQEAgLTE5MCwxOCArMTA4LDE5IEBACiAibW9kZSBpcyBhbiBvcHRpb25hbCBzdHJpbmcgdGhhdCBzcGVjaWZpZXMgdGhlIG1vZGUgaW4gd2hpY2ggdGhlIGZpbGVcbiIKICJpcyBvcGVuZWQuIEl0IGRlZmF1bHRzIHRvICdyJyB3aGljaCBtZWFucyBvcGVuIGZvciByZWFkaW5nIGluIHRleHRcbiIKICJtb2RlLiAgT3RoZXIgY29tbW9uIHZhbHVlcyBhcmUgJ3cnIGZvciB3cml0aW5nICh0cnVuY2F0aW5nIHRoZSBmaWxlIGlmXG4iCi0iaXQgYWxyZWFkeSBleGlzdHMpLCBhbmQgJ2EnIGZvciBhcHBlbmRpbmcgKHdoaWNoIG9uIHNvbWUgVW5peCBzeXN0ZW1zLFxuIgotIm1lYW5zIHRoYXQgYWxsIHdyaXRlcyBhcHBlbmQgdG8gdGhlIGVuZCBvZiB0aGUgZmlsZSByZWdhcmRsZXNzIG9mIHRoZVxuIgotImN1cnJlbnQgc2VlayBwb3NpdGlvbikuIEluIHRleHQgbW9kZSwgaWYgZW5jb2RpbmcgaXMgbm90IHNwZWNpZmllZCB0aGVcbiIKLSJlbmNvZGluZyB1c2VkIGlzIHBsYXRmb3JtIGRlcGVuZGVudC4gKEZvciByZWFkaW5nIGFuZCB3cml0aW5nIHJhd1xuIgotImJ5dGVzIHVzZSBiaW5hcnkgbW9kZSBhbmQgbGVhdmUgZW5jb2RpbmcgdW5zcGVjaWZpZWQuKSBUaGUgYXZhaWxhYmxlXG4iCi0ibW9kZXMgYXJlOlxuIgorIml0IGFscmVhZHkgZXhpc3RzKSwgJ3gnIGZvciBjcmVhdGluZyBhbmQgd3JpdGluZyB0byBhIG5ldyBmaWxlLCBhbmRcbiIKKyInYScgZm9yIGFwcGVuZGluZyAod2hpY2ggb24gc29tZSBVbml4IHN5c3RlbXMsIG1lYW5zIHRoYXQgYWxsIHdyaXRlc1xuIgorImFwcGVuZCB0byB0aGUgZW5kIG9mIHRoZSBmaWxlIHJlZ2FyZGxlc3Mgb2YgdGhlIGN1cnJlbnQgc2VlayBwb3NpdGlvbikuXG4iCisiSW4gdGV4dCBtb2RlLCBpZiBlbmNvZGluZyBpcyBub3Qgc3BlY2lmaWVkIHRoZSBlbmNvZGluZyB1c2VkIGlzIHBsYXRmb3JtXG4iCisiZGVwZW5kZW50LiAoRm9yIHJlYWRpbmcgYW5kIHdyaXRpbmcgcmF3IGJ5dGVzIHVzZSBiaW5hcnkgbW9kZSBhbmQgbGVhdmVcbiIKKyJlbmNvZGluZyB1bnNwZWNpZmllZC4pIFRoZSBhdmFpbGFibGUgbW9kZXMgYXJlOlxuIgogIlxuIgogIj09PT09PT09PSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiIKICJDaGFyYWN0ZXIgTWVhbmluZ1xuIgogIi0tLS0tLS0tLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKICIncicgICAgICAgb3BlbiBmb3IgcmVhZGluZyAoZGVmYXVsdClcbiIKICIndycgICAgICAgb3BlbiBmb3Igd3JpdGluZywgdHJ1bmNhdGluZyB0aGUgZmlsZSBmaXJzdFxuIgorIid4JyAgICAgICBjcmVhdGUgYSBuZXcgZmlsZSBhbmQgb3BlbiBpdCBmb3Igd3JpdGluZ1xuIgogIidhJyAgICAgICBvcGVuIGZvciB3cml0aW5nLCBhcHBlbmRpbmcgdG8gdGhlIGVuZCBvZiB0aGUgZmlsZSBpZiBpdCBleGlzdHNcbiIKICInYicgICAgICAgYmluYXJ5IG1vZGVcbiIKICIndCcgICAgICAgdGV4dCBtb2RlIChkZWZhdWx0KVxuIgpAQCAtMjEyLDcgKzEzMSw4IEBACiAiXG4iCiAiVGhlIGRlZmF1bHQgbW9kZSBpcyAncnQnIChvcGVuIGZvciByZWFkaW5nIHRleHQpLiBGb3IgYmluYXJ5IHJhbmRvbVxuIgogImFjY2VzcywgdGhlIG1vZGUgJ3crYicgb3BlbnMgYW5kIHRydW5jYXRlcyB0aGUgZmlsZSB0byAwIGJ5dGVzLCB3aGlsZVxuIgotIidyK2InIG9wZW5zIHRoZSBmaWxlIHdpdGhvdXQgdHJ1bmNhdGlvbi5cbiIKKyIncitiJyBvcGVucyB0aGUgZmlsZSB3aXRob3V0IHRydW5jYXRpb24uIFRoZSAneCcgbW9kZSBpbXBsaWVzICd3JyBhbmRcbiIKKyJyYWlzZXMgYW4gYEZpbGVFeGlzdHNFcnJvcmAgaWYgdGhlIGZpbGUgYWxyZWFkeSBleGlzdHMuXG4iCiAiXG4iCiAiUHl0aG9uIGRpc3Rpbmd1aXNoZXMgYmV0d2VlbiBmaWxlcyBvcGVuZWQgaW4gYmluYXJ5IGFuZCB0ZXh0IG1vZGVzLFxuIgogImV2ZW4gd2hlbiB0aGUgdW5kZXJseWluZyBvcGVyYXRpbmcgc3lzdGVtIGRvZXNuJ3QuIEZpbGVzIG9wZW5lZCBpblxuIgpAQCAtMjcyLDYgKzE5MiwxMiBAQAogIndoZW4gdGhlIGZpbGUgaXMgY2xvc2VkLiBUaGlzIGRvZXMgbm90IHdvcmsgd2hlbiBhIGZpbGUgbmFtZSBpcyBnaXZlblxuIgogImFuZCBtdXN0IGJlIFRydWUgaW4gdGhhdCBjYXNlLlxuIgogIlxuIgorIkEgY3VzdG9tIG9wZW5lciBjYW4gYmUgdXNlZCBieSBwYXNzaW5nIGEgY2FsbGFibGUgYXMgKm9wZW5lciouIFRoZVxuIgorInVuZGVybHlpbmcgZmlsZSBkZXNjcmlwdG9yIGZvciB0aGUgZmlsZSBvYmplY3QgaXMgdGhlbiBvYnRhaW5lZCBieVxuIgorImNhbGxpbmcgKm9wZW5lciogd2l0aCAoKmZpbGUqLCAqZmxhZ3MqKS4gKm9wZW5lciogbXVzdCByZXR1cm4gYW4gb3BlblxuIgorImZpbGUgZGVzY3JpcHRvciAocGFzc2luZyBvcy5vcGVuIGFzICpvcGVuZXIqIHJlc3VsdHMgaW4gZnVuY3Rpb25hbGl0eVxuIgorInNpbWlsYXIgdG8gcGFzc2luZyBOb25lKS5cbiIKKyJcbiIKICJvcGVuKCkgcmV0dXJucyBhIGZpbGUgb2JqZWN0IHdob3NlIHR5cGUgZGVwZW5kcyBvbiB0aGUgbW9kZSwgYW5kXG4iCiAidGhyb3VnaCB3aGljaCB0aGUgc3RhbmRhcmQgZmlsZSBvcGVyYXRpb25zIHN1Y2ggYXMgcmVhZGluZyBhbmQgd3JpdGluZ1xuIgogImFyZSBwZXJmb3JtZWQuIFdoZW4gb3BlbigpIGlzIHVzZWQgdG8gb3BlbiBhIGZpbGUgaW4gYSB0ZXh0IG1vZGUgKCd3JyxcbiIKQEAgLTI5MiwxNCArMjE4LDE0IEBACiB7CiAgICAgY2hhciAqa3dsaXN0W10gPSB7ImZpbGUiLCAibW9kZSIsICJidWZmZXJpbmciLAogICAgICAgICAgICAgICAgICAgICAgICJlbmNvZGluZyIsICJlcnJvcnMiLCAibmV3bGluZSIsCi0gICAgICAgICAgICAgICAgICAgICAgImNsb3NlZmQiLCBOVUxMfTsKLSAgICBQeU9iamVjdCAqZmlsZTsKKyAgICAgICAgICAgICAgICAgICAgICAiY2xvc2VmZCIsICJvcGVuZXIiLCBOVUxMfTsKKyAgICBQeU9iamVjdCAqZmlsZSwgKm9wZW5lciA9IFB5X05vbmU7CiAgICAgY2hhciAqbW9kZSA9ICJyIjsKICAgICBpbnQgYnVmZmVyaW5nID0gLTEsIGNsb3NlZmQgPSAxOwogICAgIGNoYXIgKmVuY29kaW5nID0gTlVMTCwgKmVycm9ycyA9IE5VTEwsICpuZXdsaW5lID0gTlVMTDsKICAgICB1bnNpZ25lZCBpOwogCi0gICAgaW50IHJlYWRpbmcgPSAwLCB3cml0aW5nID0gMCwgYXBwZW5kaW5nID0gMCwgdXBkYXRpbmcgPSAwOworICAgIGludCBjcmVhdGluZyA9IDAsIHJlYWRpbmcgPSAwLCB3cml0aW5nID0gMCwgYXBwZW5kaW5nID0gMCwgdXBkYXRpbmcgPSAwOwogICAgIGludCB0ZXh0ID0gMCwgYmluYXJ5ID0gMCwgdW5pdmVyc2FsID0gMDsKIAogICAgIGNoYXIgcmF3bW9kZVs1XSwgKm07CkBAIC0zMDcsMTAgKzIzMywxNCBAQAogCiAgICAgUHlPYmplY3QgKnJhdywgKm1vZGVvYmogPSBOVUxMLCAqYnVmZmVyID0gTlVMTCwgKndyYXBwZXIgPSBOVUxMOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dkcywgIk98c2l6enppOm9wZW4iLCBrd2xpc3QsCisgICAgX1B5X0lERU5USUZJRVIoaXNhdHR5KTsKKyAgICBfUHlfSURFTlRJRklFUihmaWxlbm8pOworICAgIF9QeV9JREVOVElGSUVSKG1vZGUpOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dkcywgIk98c2l6enppTzpvcGVuIiwga3dsaXN0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZmaWxlLCAmbW9kZSwgJmJ1ZmZlcmluZywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZW5jb2RpbmcsICZlcnJvcnMsICZuZXdsaW5lLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZjbG9zZWZkKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZjbG9zZWZkLCAmb3BlbmVyKSkgewogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAKQEAgLTMyNiw2ICsyNTYsOSBAQAogICAgICAgICBjaGFyIGMgPSBtb2RlW2ldOwogCiAgICAgICAgIHN3aXRjaCAoYykgeworICAgICAgICBjYXNlICd4JzoKKyAgICAgICAgICAgIGNyZWF0aW5nID0gMTsKKyAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlICdyJzoKICAgICAgICAgICAgIHJlYWRpbmcgPSAxOwogICAgICAgICAgICAgYnJlYWs7CkBAIC0zNjIsNiArMjk1LDcgQEAKICAgICB9CiAKICAgICBtID0gcmF3bW9kZTsKKyAgICBpZiAoY3JlYXRpbmcpICAqKG0rKykgPSAneCc7CiAgICAgaWYgKHJlYWRpbmcpICAgKihtKyspID0gJ3InOwogICAgIGlmICh3cml0aW5nKSAgICoobSsrKSA9ICd3JzsKICAgICBpZiAoYXBwZW5kaW5nKSAqKG0rKykgPSAnYSc7CkBAIC0zODQsOSArMzE4LDkgQEAKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogCi0gICAgaWYgKHJlYWRpbmcgKyB3cml0aW5nICsgYXBwZW5kaW5nID4gMSkgeworICAgIGlmIChjcmVhdGluZyArIHJlYWRpbmcgKyB3cml0aW5nICsgYXBwZW5kaW5nID4gMSkgewogICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICAgICJtdXN0IGhhdmUgZXhhY3RseSBvbmUgb2YgcmVhZC93cml0ZS9hcHBlbmQgbW9kZSIpOworICAgICAgICAgICAgICAgICAgICAgICAgIm11c3QgaGF2ZSBleGFjdGx5IG9uZSBvZiBjcmVhdGUvcmVhZC93cml0ZS9hcHBlbmQgbW9kZSIpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAKQEAgLTQxMCw3ICszNDQsNyBAQAogCiAgICAgLyogQ3JlYXRlIHRoZSBSYXcgZmlsZSBzdHJlYW0gKi8KICAgICByYXcgPSBQeU9iamVjdF9DYWxsRnVuY3Rpb24oKFB5T2JqZWN0ICopJlB5RmlsZUlPX1R5cGUsCi0JCQkJIk9zaSIsIGZpbGUsIHJhd21vZGUsIGNsb3NlZmQpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiT3NpTyIsIGZpbGUsIHJhd21vZGUsIGNsb3NlZmQsIG9wZW5lcik7CiAgICAgaWYgKHJhdyA9PSBOVUxMKQogICAgICAgICByZXR1cm4gTlVMTDsKIApAQCAtNDIwLDcgKzM1NCw3IEBACiAKICAgICAvKiBidWZmZXJpbmcgKi8KICAgICB7Ci0gICAgICAgIFB5T2JqZWN0ICpyZXMgPSBQeU9iamVjdF9DYWxsTWV0aG9kKHJhdywgImlzYXR0eSIsIE5VTEwpOworICAgICAgICBQeU9iamVjdCAqcmVzID0gX1B5T2JqZWN0X0NhbGxNZXRob2RJZChyYXcsICZQeUlkX2lzYXR0eSwgTlVMTCk7CiAgICAgICAgIGlmIChyZXMgPT0gTlVMTCkKICAgICAgICAgICAgIGdvdG8gZXJyb3I7CiAgICAgICAgIGlzYXR0eSA9IFB5TG9uZ19Bc0xvbmcocmVzKTsKQEAgLTQ0Miw3ICszNzYsNyBAQAogICAgICAgICB7CiAgICAgICAgICAgICBzdHJ1Y3Qgc3RhdCBzdDsKICAgICAgICAgICAgIGxvbmcgZmlsZW5vOwotICAgICAgICAgICAgUHlPYmplY3QgKnJlcyA9IFB5T2JqZWN0X0NhbGxNZXRob2QocmF3LCAiZmlsZW5vIiwgTlVMTCk7CisgICAgICAgICAgICBQeU9iamVjdCAqcmVzID0gX1B5T2JqZWN0X0NhbGxNZXRob2RJZChyYXcsICZQeUlkX2ZpbGVubywgTlVMTCk7CiAgICAgICAgICAgICBpZiAocmVzID09IE5VTEwpCiAgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKIApAQCAtNDgwLDcgKzQxNCw3IEBACiAKICAgICAgICAgaWYgKHVwZGF0aW5nKQogICAgICAgICAgICAgQnVmZmVyZWRfY2xhc3MgPSAoUHlPYmplY3QgKikmUHlCdWZmZXJlZFJhbmRvbV9UeXBlOwotICAgICAgICBlbHNlIGlmICh3cml0aW5nIHx8IGFwcGVuZGluZykKKyAgICAgICAgZWxzZSBpZiAoY3JlYXRpbmcgfHwgd3JpdGluZyB8fCBhcHBlbmRpbmcpCiAgICAgICAgICAgICBCdWZmZXJlZF9jbGFzcyA9IChQeU9iamVjdCAqKSZQeUJ1ZmZlcmVkV3JpdGVyX1R5cGU7CiAgICAgICAgIGVsc2UgaWYgKHJlYWRpbmcpCiAgICAgICAgICAgICBCdWZmZXJlZF9jbGFzcyA9IChQeU9iamVjdCAqKSZQeUJ1ZmZlcmVkUmVhZGVyX1R5cGU7CkBAIC01MTMsNyArNDQ3LDcgQEAKICAgICBpZiAod3JhcHBlciA9PSBOVUxMKQogICAgICAgICBnb3RvIGVycm9yOwogCi0gICAgaWYgKFB5T2JqZWN0X1NldEF0dHJTdHJpbmcod3JhcHBlciwgIm1vZGUiLCBtb2Rlb2JqKSA8IDApCisgICAgaWYgKF9QeU9iamVjdF9TZXRBdHRySWQod3JhcHBlciwgJlB5SWRfbW9kZSwgbW9kZW9iaikgPCAwKQogICAgICAgICBnb3RvIGVycm9yOwogICAgIFB5X0RFQ1JFRihtb2Rlb2JqKTsKICAgICByZXR1cm4gd3JhcHBlcjsKQEAgLTU3Niw3ICs1MTAsNyBAQAogCiAKIC8qIEJhc2ljYWxseSB0aGUgIm4iIGZvcm1hdCBjb2RlIHdpdGggdGhlIGFiaWxpdHkgdG8gdHVybiBOb25lIGludG8gLTEuICovCi1pbnQgCitpbnQKIF9QeUlPX0NvbnZlcnRTc2l6ZV90KFB5T2JqZWN0ICpvYmosIHZvaWQgKnJlc3VsdCkgewogICAgIFB5X3NzaXplX3QgbGltaXQ7CiAgICAgaWYgKG9iaiA9PSBQeV9Ob25lKSB7CkBAIC02MDMsNyArNTM3LDYgQEAKICAgICBfUHlJT19TdGF0ZSAqc3RhdGUgPSBJT19NT0RfU1RBVEUobW9kKTsKICAgICBpZiAoIXN0YXRlLT5pbml0aWFsaXplZCkKICAgICAgICAgcmV0dXJuIDA7Ci0gICAgUHlfVklTSVQoc3RhdGUtPm9zX21vZHVsZSk7CiAgICAgaWYgKHN0YXRlLT5sb2NhbGVfbW9kdWxlICE9IE5VTEwpIHsKICAgICAgICAgUHlfVklTSVQoc3RhdGUtPmxvY2FsZV9tb2R1bGUpOwogICAgIH0KQEAgLTYxNyw3ICs1NTAsNiBAQAogICAgIF9QeUlPX1N0YXRlICpzdGF0ZSA9IElPX01PRF9TVEFURShtb2QpOwogICAgIGlmICghc3RhdGUtPmluaXRpYWxpemVkKQogICAgICAgICByZXR1cm4gMDsKLSAgICBQeV9DTEVBUihzdGF0ZS0+b3NfbW9kdWxlKTsKICAgICBpZiAoc3RhdGUtPmxvY2FsZV9tb2R1bGUgIT0gTlVMTCkKICAgICAgICAgUHlfQ0xFQVIoc3RhdGUtPmxvY2FsZV9tb2R1bGUpOwogICAgIFB5X0NMRUFSKHN0YXRlLT51bnN1cHBvcnRlZF9vcGVyYXRpb24pOwpAQCAtNjYxLDExICs1OTMsNiBAQAogICAgIHN0YXRlID0gSU9fTU9EX1NUQVRFKG0pOwogICAgIHN0YXRlLT5pbml0aWFsaXplZCA9IDA7CiAKLSAgICAvKiBwdXQgb3MgaW4gdGhlIG1vZHVsZSBzdGF0ZSAqLwotICAgIHN0YXRlLT5vc19tb2R1bGUgPSBQeUltcG9ydF9JbXBvcnRNb2R1bGUoIm9zIik7Ci0gICAgaWYgKHN0YXRlLT5vc19tb2R1bGUgPT0gTlVMTCkKLSAgICAgICAgZ290byBmYWlsOwotCiAjZGVmaW5lIEFERF9UWVBFKHR5cGUsIG5hbWUpIFwKICAgICBpZiAoUHlUeXBlX1JlYWR5KHR5cGUpIDwgMCkgXAogICAgICAgICBnb3RvIGZhaWw7IFwKQEAgLTY5MCw5ICs2MTcsMTEgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlLT51bnN1cHBvcnRlZF9vcGVyYXRpb24pIDwgMCkKICAgICAgICAgZ290byBmYWlsOwogCi0gICAgLyogQmxvY2tpbmdJT0Vycm9yICovCi0gICAgX1B5RXhjX0Jsb2NraW5nSU9FcnJvci50cF9iYXNlID0gKFB5VHlwZU9iamVjdCAqKSBQeUV4Y19JT0Vycm9yOwotICAgIEFERF9UWVBFKCZfUHlFeGNfQmxvY2tpbmdJT0Vycm9yLCAiQmxvY2tpbmdJT0Vycm9yIik7CisgICAgLyogQmxvY2tpbmdJT0Vycm9yLCBmb3IgY29tcGF0aWJpbGl0eSAqLworICAgIFB5X0lOQ1JFRihQeUV4Y19CbG9ja2luZ0lPRXJyb3IpOworICAgIGlmIChQeU1vZHVsZV9BZGRPYmplY3QobSwgIkJsb2NraW5nSU9FcnJvciIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAoUHlPYmplY3QgKikgUHlFeGNfQmxvY2tpbmdJT0Vycm9yKSA8IDApCisgICAgICAgIGdvdG8gZmFpbDsKIAogICAgIC8qIENvbmNyZXRlIGJhc2UgdHlwZXMgb2YgdGhlIElPIEFCQ3MuCiAgICAgICAgKHRoZSBBQkNzIHRoZW1zZWx2ZXMgYXJlIGRlY2xhcmVkIHRocm91Z2ggaW5oZXJpdGFuY2UgaW4gaW8ucHkpCkBAIC03NTgsNiArNjg3LDcgQEAKICAgICBBRERfSU5URVJORUQocmVhZCkKICAgICBBRERfSU5URVJORUQocmVhZDEpCiAgICAgQUREX0lOVEVSTkVEKHJlYWRhYmxlKQorICAgIEFERF9JTlRFUk5FRChyZWFkYWxsKQogICAgIEFERF9JTlRFUk5FRChyZWFkaW50bykKICAgICBBRERfSU5URVJORUQocmVhZGxpbmUpCiAgICAgQUREX0lOVEVSTkVEKHJlc2V0KQpAQCAtNzg4LDcgKzcxOCw2IEBACiAgICAgcmV0dXJuIG07CiAKICAgZmFpbDoKLSAgICBQeV9YREVDUkVGKHN0YXRlLT5vc19tb2R1bGUpOwogICAgIFB5X1hERUNSRUYoc3RhdGUtPnVuc3VwcG9ydGVkX29wZXJhdGlvbik7CiAgICAgUHlfREVDUkVGKG0pOwogICAgIHJldHVybiBOVUxMOwpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9faW8vX2lvbW9kdWxlLmggYi9Nb2R1bGVzL19pby9faW9tb2R1bGUuaAppbmRleCA5MjVlNGYyLi45ODdhYWM4IDEwMDY0NAotLS0gYS9Nb2R1bGVzL19pby9faW9tb2R1bGUuaAorKysgYi9Nb2R1bGVzL19pby9faW9tb2R1bGUuaApAQCAtNTAsMjUgKzUwLDE2IEBACiAgICBgKmNvbnN1bWVkYC4KICAgIElmIG5vdCBmb3VuZCwgcmV0dXJucyAtMSBhbmQgc2V0cyBgKmNvbnN1bWVkYCB0byB0aGUgbnVtYmVyIG9mIGNoYXJhY3RlcnMKICAgIHdoaWNoIGNhbiBiZSBzYWZlbHkgcHV0IGFzaWRlIHVudGlsIGFub3RoZXIgc2VhcmNoLgotICAgCi0gICBOT1RFOiBmb3IgcGVyZm9ybWFuY2UgcmVhc29ucywgYGVuZGAgbXVzdCBwb2ludCB0byBhIE5VTCBjaGFyYWN0ZXIgKCdcMCcpLiAKKworICAgTk9URTogZm9yIHBlcmZvcm1hbmNlIHJlYXNvbnMsIGBlbmRgIG11c3QgcG9pbnQgdG8gYSBOVUwgY2hhcmFjdGVyICgnXDAnKS4KICAgIE90aGVyd2lzZSwgdGhlIGZ1bmN0aW9uIHdpbGwgc2NhbiBmdXJ0aGVyIGFuZCByZXR1cm4gZ2FyYmFnZS4gKi8KIGV4dGVybiBQeV9zc2l6ZV90IF9QeUlPX2ZpbmRfbGluZV9lbmRpbmcoCiAgICAgaW50IHRyYW5zbGF0ZWQsIGludCB1bml2ZXJzYWwsIFB5T2JqZWN0ICpyZWFkbmwsCi0gICAgUHlfVU5JQ09ERSAqc3RhcnQsIFB5X1VOSUNPREUgKmVuZCwgUHlfc3NpemVfdCAqY29uc3VtZWQpOworICAgIGludCBraW5kLCBjaGFyICpzdGFydCwgY2hhciAqZW5kLCBQeV9zc2l6ZV90ICpjb25zdW1lZCk7CiAKIAogI2RlZmluZSBERUZBVUxUX0JVRkZFUl9TSVpFICg4ICogMTAyNCkgIC8qIGJ5dGVzICovCiAKLXR5cGVkZWYgc3RydWN0IHsKLSAgICBQeUV4Y2VwdGlvbl9IRUFECi0gICAgUHlPYmplY3QgKm15ZXJybm87Ci0gICAgUHlPYmplY3QgKnN0cmVycm9yOwotICAgIFB5T2JqZWN0ICpmaWxlbmFtZTsgLyogTm90IHVzZWQsIGJ1dCBwYXJ0IG9mIHRoZSBJT0Vycm9yIG9iamVjdCAqLwotICAgIFB5X3NzaXplX3Qgd3JpdHRlbjsKLX0gUHlCbG9ja2luZ0lPRXJyb3JPYmplY3Q7Ci1QeUFQSV9EQVRBKFB5T2JqZWN0ICopIFB5RXhjX0Jsb2NraW5nSU9FcnJvcjsKLQogLyoKICAqIE9mZnNldCB0eXBlIGZvciBwb3NpdGlvbmluZy4KICAqLwpAQCAtMTMzLDcgKzEyNCw2IEBACiAKIHR5cGVkZWYgc3RydWN0IHsKICAgICBpbnQgaW5pdGlhbGl6ZWQ7Ci0gICAgUHlPYmplY3QgKm9zX21vZHVsZTsKICAgICBQeU9iamVjdCAqbG9jYWxlX21vZHVsZTsKIAogICAgIFB5T2JqZWN0ICp1bnN1cHBvcnRlZF9vcGVyYXRpb247CkBAIC0xNTUsNiArMTQ1LDcgQEAKIGV4dGVybiBQeU9iamVjdCAqX1B5SU9fc3RyX3JlYWQ7CiBleHRlcm4gUHlPYmplY3QgKl9QeUlPX3N0cl9yZWFkMTsKIGV4dGVybiBQeU9iamVjdCAqX1B5SU9fc3RyX3JlYWRhYmxlOworZXh0ZXJuIFB5T2JqZWN0ICpfUHlJT19zdHJfcmVhZGFsbDsKIGV4dGVybiBQeU9iamVjdCAqX1B5SU9fc3RyX3JlYWRpbnRvOwogZXh0ZXJuIFB5T2JqZWN0ICpfUHlJT19zdHJfcmVhZGxpbmU7CiBleHRlcm4gUHlPYmplY3QgKl9QeUlPX3N0cl9yZXNldDsKZGlmZiAtLWdpdCBhL01vZHVsZXMvX2lvL2J1ZmZlcmVkaW8uYyBiL01vZHVsZXMvX2lvL2J1ZmZlcmVkaW8uYwppbmRleCA0YzQzYzY5Li44YTlhZTQ3IDEwMDY0NAotLS0gYS9Nb2R1bGVzL19pby9idWZmZXJlZGlvLmMKKysrIGIvTW9kdWxlcy9faW8vYnVmZmVyZWRpby5jCkBAIC0xLDkgKzEsOSBAQAogLyoKICAgICBBbiBpbXBsZW1lbnRhdGlvbiBvZiBCdWZmZXJlZCBJL08gYXMgZGVmaW5lZCBieSBQRVAgMzExNiAtICJOZXcgSS9PIgotICAgIAorCiAgICAgQ2xhc3NlcyBkZWZpbmVkIGhlcmU6IEJ1ZmZlcmVkSU9CYXNlLCBCdWZmZXJlZFJlYWRlciwgQnVmZmVyZWRXcml0ZXIsCiAgICAgQnVmZmVyZWRSYW5kb20uCi0gICAgCisKICAgICBXcml0dGVuIGJ5IEFtYXVyeSBGb3JnZW90IGQnQXJjIGFuZCBBbnRvaW5lIFBpdHJvdQogKi8KIApAQCAtMTMsNiArMTMsMjAgQEAKICNpbmNsdWRlICJweXRocmVhZC5oIgogI2luY2x1ZGUgIl9pb21vZHVsZS5oIgogCitfUHlfSURFTlRJRklFUihjbG9zZSk7CitfUHlfSURFTlRJRklFUihfZGVhbGxvY193YXJuKTsKK19QeV9JREVOVElGSUVSKGZsdXNoKTsKK19QeV9JREVOVElGSUVSKGlzYXR0eSk7CitfUHlfSURFTlRJRklFUihtb2RlKTsKK19QeV9JREVOVElGSUVSKG5hbWUpOworX1B5X0lERU5USUZJRVIocGVlayk7CitfUHlfSURFTlRJRklFUihyZWFkKTsKK19QeV9JREVOVElGSUVSKHJlYWQxKTsKK19QeV9JREVOVElGSUVSKHJlYWRhYmxlKTsKK19QeV9JREVOVElGSUVSKHJlYWRpbnRvKTsKK19QeV9JREVOVElGSUVSKHdyaXRhYmxlKTsKK19QeV9JREVOVElGSUVSKHdyaXRlKTsKKwogLyoKICAqIEJ1ZmZlcmVkSU9CYXNlIGNsYXNzLCBpbmhlcml0cyBmcm9tIElPQmFzZS4KICAqLwpAQCAtMzgsMTIgKzUyLDEzIEBACiAgICAgUHlfYnVmZmVyIGJ1ZjsKICAgICBQeV9zc2l6ZV90IGxlbjsKICAgICBQeU9iamVjdCAqZGF0YTsKKyAgICBfUHlfSURFTlRJRklFUihyZWFkKTsKIAogICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAidyo6cmVhZGludG8iLCAmYnVmKSkgewogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAKLSAgICBkYXRhID0gUHlPYmplY3RfQ2FsbE1ldGhvZChzZWxmLCAicmVhZCIsICJuIiwgYnVmLmxlbik7CisgICAgZGF0YSA9IF9QeU9iamVjdF9DYWxsTWV0aG9kSWQoc2VsZiwgJlB5SWRfcmVhZCwgIm4iLCBidWYubGVuKTsKICAgICBpZiAoZGF0YSA9PSBOVUxMKQogICAgICAgICBnb3RvIGVycm9yOwogCkBAIC0xOTgsNyArMjEzLDcgQEAKICAgICBpbnQgcmVhZGFibGU7CiAgICAgaW50IHdyaXRhYmxlOwogICAgIGludCBkZWFsbG9jYXRpbmc7Ci0gICAgCisKICAgICAvKiBUcnVlIGlmIHRoaXMgaXMgYSB2YW5pbGxhIEJ1ZmZlcmVkIG9iamVjdCAocmF0aGVyIHRoYW4gYSB1c2VyIGRlcml2ZWQKICAgICAgICBjbGFzcykgKmFuZCogdGhlIHJhdyBzdHJlYW0gaXMgYSB2YW5pbGxhIEZpbGVJTyBvYmplY3QuICovCiAgICAgaW50IGZhc3RfY2xvc2VkX2NoZWNrczsKQEAgLTIzNyw3ICsyNTIsNyBAQAogCiAvKgogICAgIEltcGxlbWVudGF0aW9uIG5vdGVzOgotICAgIAorCiAgICAgKiBCdWZmZXJlZFJlYWRlciwgQnVmZmVyZWRXcml0ZXIgYW5kIEJ1ZmZlcmVkUmFuZG9tIHRyeSB0byBzaGFyZSBtb3N0CiAgICAgICBtZXRob2RzICh0aGlzIGlzIGhlbHBlZCBieSB0aGUgbWVtYmVycyBgcmVhZGFibGVgIGFuZCBgd3JpdGFibGVgLCB3aGljaAogICAgICAgYXJlIGluaXRpYWxpemVkIGluIHRoZSByZXNwZWN0aXZlIGNvbnN0cnVjdG9ycykKQEAgLTI1NSw3ICsyNzAsNyBAQAogICAgIE5PVEU6IHdlIHNob3VsZCB0cnkgdG8gbWFpbnRhaW4gYmxvY2sgYWxpZ25tZW50IG9mIHJlYWRzIGFuZCB3cml0ZXMgdG8gdGhlCiAgICAgcmF3IHN0cmVhbSAoYWNjb3JkaW5nIHRvIHRoZSBidWZmZXIgc2l6ZSksIGJ1dCBmb3Igbm93IGl0IGlzIG9ubHkgZG9uZQogICAgIGluIHJlYWQoKSBhbmQgZnJpZW5kcy4KLSAgICAKKwogKi8KIAogLyogVGhlc2UgbWFjcm9zIHByb3RlY3QgdGhlIGJ1ZmZlcmVkIG9iamVjdCBhZ2FpbnN0IGNvbmN1cnJlbnQgb3BlcmF0aW9ucy4gKi8KQEAgLTQxMCw3ICs0MjUsNyBAQAogewogICAgIGlmIChzZWxmLT5vayAmJiBzZWxmLT5yYXcpIHsKICAgICAgICAgUHlPYmplY3QgKnI7Ci0gICAgICAgIHIgPSBQeU9iamVjdF9DYWxsTWV0aG9kKHNlbGYtPnJhdywgIl9kZWFsbG9jX3dhcm4iLCAiTyIsIHNvdXJjZSk7CisgICAgICAgIHIgPSBfUHlPYmplY3RfQ2FsbE1ldGhvZElkKHNlbGYtPnJhdywgJlB5SWRfX2RlYWxsb2Nfd2FybiwgIk8iLCBzb3VyY2UpOwogICAgICAgICBpZiAocikKICAgICAgICAgICAgIFB5X0RFQ1JFRihyKTsKICAgICAgICAgZWxzZQpAQCAtNTQzLDE0ICs1NTgsMTQgQEAKIGJ1ZmZlcmVkX25hbWVfZ2V0KGJ1ZmZlcmVkICpzZWxmLCB2b2lkICpjb250ZXh0KQogewogICAgIENIRUNLX0lOSVRJQUxJWkVEKHNlbGYpCi0gICAgcmV0dXJuIFB5T2JqZWN0X0dldEF0dHJTdHJpbmcoc2VsZi0+cmF3LCAibmFtZSIpOworICAgIHJldHVybiBfUHlPYmplY3RfR2V0QXR0cklkKHNlbGYtPnJhdywgJlB5SWRfbmFtZSk7CiB9CiAKIHN0YXRpYyBQeU9iamVjdCAqCiBidWZmZXJlZF9tb2RlX2dldChidWZmZXJlZCAqc2VsZiwgdm9pZCAqY29udGV4dCkKIHsKICAgICBDSEVDS19JTklUSUFMSVpFRChzZWxmKQotICAgIHJldHVybiBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKHNlbGYtPnJhdywgIm1vZGUiKTsKKyAgICByZXR1cm4gX1B5T2JqZWN0X0dldEF0dHJJZChzZWxmLT5yYXcsICZQeUlkX21vZGUpOwogfQogCiAvKiBMb3dlci1sZXZlbCBBUElzICovCkBAIC01ODksMTQgKzYwNCwxNSBAQAogc3RhdGljIHZvaWQKIF9idWZmZXJlZHdyaXRlcl9yZXNldF9idWYoYnVmZmVyZWQgKnNlbGYpOwogc3RhdGljIFB5T2JqZWN0ICoKLV9idWZmZXJlZHJlYWRlcl9wZWVrX3VubG9ja2VkKGJ1ZmZlcmVkICpzZWxmLCBQeV9zc2l6ZV90KTsKK19idWZmZXJlZHJlYWRlcl9wZWVrX3VubG9ja2VkKGJ1ZmZlcmVkICpzZWxmKTsKIHN0YXRpYyBQeU9iamVjdCAqCiBfYnVmZmVyZWRyZWFkZXJfcmVhZF9hbGwoYnVmZmVyZWQgKnNlbGYpOwogc3RhdGljIFB5T2JqZWN0ICoKIF9idWZmZXJlZHJlYWRlcl9yZWFkX2Zhc3QoYnVmZmVyZWQgKnNlbGYsIFB5X3NzaXplX3QpOwogc3RhdGljIFB5T2JqZWN0ICoKIF9idWZmZXJlZHJlYWRlcl9yZWFkX2dlbmVyaWMoYnVmZmVyZWQgKnNlbGYsIFB5X3NzaXplX3QpOwotCitzdGF0aWMgUHlfc3NpemVfdAorX2J1ZmZlcmVkcmVhZGVyX3Jhd19yZWFkKGJ1ZmZlcmVkICpzZWxmLCBjaGFyICpzdGFydCwgUHlfc3NpemVfdCBsZW4pOwogCiAvKgogICogSGVscGVycwpAQCAtNjIwLDE0ICs2MzYsMTQgQEAKIF9idWZmZXJlZF9jaGVja19ibG9ja2luZ19lcnJvcih2b2lkKQogewogICAgIFB5T2JqZWN0ICp0LCAqdiwgKnRiOwotICAgIFB5QmxvY2tpbmdJT0Vycm9yT2JqZWN0ICplcnI7CisgICAgUHlPU0Vycm9yT2JqZWN0ICplcnI7CiAKICAgICBQeUVycl9GZXRjaCgmdCwgJnYsICZ0Yik7CiAgICAgaWYgKHYgPT0gTlVMTCB8fCAhUHlFcnJfR2l2ZW5FeGNlcHRpb25NYXRjaGVzKHYsIFB5RXhjX0Jsb2NraW5nSU9FcnJvcikpIHsKICAgICAgICAgUHlFcnJfUmVzdG9yZSh0LCB2LCB0Yik7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KLSAgICBlcnIgPSAoUHlCbG9ja2luZ0lPRXJyb3JPYmplY3QgKikgdjsKKyAgICBlcnIgPSAoUHlPU0Vycm9yT2JqZWN0ICopIHY7CiAgICAgLyogVE9ETzogc2FuaXR5IGNoZWNrIChlcnItPndyaXR0ZW4gPj0gMCkgKi8KICAgICBQeUVycl9SZXN0b3JlKHQsIHYsIHRiKTsKICAgICByZXR1cm4gJmVyci0+d3JpdHRlbjsKQEAgLTY0Nyw3ICs2NjMsNyBAQAogICAgICAgICBpZiAoIVB5RXJyX09jY3VycmVkKCkpCiAgICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfSU9FcnJvciwKICAgICAgICAgICAgICAgICAgICAgICAgICAiUmF3IHN0cmVhbSByZXR1cm5lZCBpbnZhbGlkIHBvc2l0aW9uICUiIFBZX1BSSWRPRkYsCi0JCQkgKFBZX09GRl9UX0NPTVBBVCluKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAoUFlfT0ZGX1RfQ09NUEFUKW4pOwogICAgICAgICByZXR1cm4gLTE7CiAgICAgfQogICAgIHNlbGYtPmFic19wb3MgPSBuOwpAQCAtNjgwLDcgKzY5Niw3IEBACiAgICAgICAgIGlmICghUHlFcnJfT2NjdXJyZWQoKSkKICAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19JT0Vycm9yLAogICAgICAgICAgICAgICAgICAgICAgICAgICJSYXcgc3RyZWFtIHJldHVybmVkIGludmFsaWQgcG9zaXRpb24gJSIgUFlfUFJJZE9GRiwKLQkJCSAoUFlfT0ZGX1RfQ09NUEFUKW4pOworICAgICAgICAgICAgICAgICAgICAgICAgIChQWV9PRkZfVF9DT01QQVQpbik7CiAgICAgICAgIHJldHVybiAtMTsKICAgICB9CiAgICAgc2VsZi0+YWJzX3BvcyA9IG47CkBAIC04MjEsNyArODM3LDcgQEAKICAgICAgICAgICAgIGdvdG8gZW5kOwogICAgICAgICBQeV9DTEVBUihyZXMpOwogICAgIH0KLSAgICByZXMgPSBfYnVmZmVyZWRyZWFkZXJfcGVla191bmxvY2tlZChzZWxmLCBuKTsKKyAgICByZXMgPSBfYnVmZmVyZWRyZWFkZXJfcGVla191bmxvY2tlZChzZWxmKTsKIAogZW5kOgogICAgIExFQVZFX0JVRkZFUkVEKHNlbGYpCkBAIC04ODUsNjEgKzkwMSwxMTIgQEAKICAgICBpZiAobiA9PSAwKQogICAgICAgICByZXR1cm4gUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZShOVUxMLCAwKTsKIAotICAgIGlmICghRU5URVJfQlVGRkVSRUQoc2VsZikpCi0gICAgICAgIHJldHVybiBOVUxMOwotICAgIAogICAgIC8qIFJldHVybiB1cCB0byBuIGJ5dGVzLiAgSWYgYXQgbGVhc3Qgb25lIGJ5dGUgaXMgYnVmZmVyZWQsIHdlCiAgICAgICAgb25seSByZXR1cm4gYnVmZmVyZWQgYnl0ZXMuICBPdGhlcndpc2UsIHdlIGRvIG9uZSByYXcgcmVhZC4gKi8KIAotICAgIC8qIFhYWDogdGhpcyBtaW1pY2tzIHRoZSBpby5weSBpbXBsZW1lbnRhdGlvbiBidXQgaXMgcHJvYmFibHkgd3JvbmcuCi0gICAgICAgSWYgd2UgbmVlZCB0byByZWFkIGZyb20gdGhlIHJhdyBzdHJlYW0sIHRoZW4gd2UgY291bGQgYWN0dWFsbHkgcmVhZAotICAgICAgIGFsbCBgbmAgYnl0ZXMgYXNrZWQgYnkgdGhlIGNhbGxlciAoYW5kIHBvc3NpYmx5IG1vcmUsIHNvIGFzIHRvIGZpbGwKLSAgICAgICBvdXIgYnVmZmVyIGZvciB0aGUgbmV4dCByZWFkcykuICovCi0KICAgICBoYXZlID0gUHlfU0FGRV9ET1dOQ0FTVChSRUFEQUhFQUQoc2VsZiksIFB5X29mZl90LCBQeV9zc2l6ZV90KTsKICAgICBpZiAoaGF2ZSA+IDApIHsKLSAgICAgICAgaWYgKG4gPiBoYXZlKQotICAgICAgICAgICAgbiA9IGhhdmU7Ci0gICAgICAgIHJlcyA9IFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUoc2VsZi0+YnVmZmVyICsgc2VsZi0+cG9zLCBuKTsKLSAgICAgICAgaWYgKHJlcyA9PSBOVUxMKQotICAgICAgICAgICAgZ290byBlbmQ7Ci0gICAgICAgIHNlbGYtPnBvcyArPSBuOwotICAgICAgICBnb3RvIGVuZDsKKyAgICAgICAgbiA9IFB5X01JTihoYXZlLCBuKTsKKyAgICAgICAgcmVzID0gX2J1ZmZlcmVkcmVhZGVyX3JlYWRfZmFzdChzZWxmLCBuKTsKKyAgICAgICAgYXNzZXJ0KHJlcyAhPSBQeV9Ob25lKTsKKyAgICAgICAgcmV0dXJuIHJlczsKICAgICB9Ci0KLSAgICBpZiAoc2VsZi0+d3JpdGFibGUpIHsKLSAgICAgICAgcmVzID0gYnVmZmVyZWRfZmx1c2hfYW5kX3Jld2luZF91bmxvY2tlZChzZWxmKTsKLSAgICAgICAgaWYgKHJlcyA9PSBOVUxMKQotICAgICAgICAgICAgZ290byBlbmQ7CisgICAgcmVzID0gUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZShOVUxMLCBuKTsKKyAgICBpZiAocmVzID09IE5VTEwpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIGlmICghRU5URVJfQlVGRkVSRUQoc2VsZikpIHsKICAgICAgICAgUHlfREVDUkVGKHJlcyk7CisgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KLQotICAgIC8qIEZpbGwgdGhlIGJ1ZmZlciBmcm9tIHRoZSByYXcgc3RyZWFtLCBhbmQgY29weSBpdCB0byB0aGUgcmVzdWx0LiAqLwogICAgIF9idWZmZXJlZHJlYWRlcl9yZXNldF9idWYoc2VsZik7Ci0gICAgciA9IF9idWZmZXJlZHJlYWRlcl9maWxsX2J1ZmZlcihzZWxmKTsKLSAgICBpZiAociA9PSAtMSkKLSAgICAgICAgZ290byBlbmQ7CisgICAgciA9IF9idWZmZXJlZHJlYWRlcl9yYXdfcmVhZChzZWxmLCBQeUJ5dGVzX0FTX1NUUklORyhyZXMpLCBuKTsKKyAgICBMRUFWRV9CVUZGRVJFRChzZWxmKQorICAgIGlmIChyID09IC0xKSB7CisgICAgICAgIFB5X0RFQ1JFRihyZXMpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CiAgICAgaWYgKHIgPT0gLTIpCiAgICAgICAgIHIgPSAwOwogICAgIGlmIChuID4gcikKLSAgICAgICAgbiA9IHI7Ci0gICAgcmVzID0gUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZShzZWxmLT5idWZmZXIsIG4pOwotICAgIGlmIChyZXMgPT0gTlVMTCkKLSAgICAgICAgZ290byBlbmQ7Ci0gICAgc2VsZi0+cG9zID0gbjsKLQotZW5kOgotICAgIExFQVZFX0JVRkZFUkVEKHNlbGYpCisgICAgICAgIF9QeUJ5dGVzX1Jlc2l6ZSgmcmVzLCByKTsKICAgICByZXR1cm4gcmVzOwogfQogCiBzdGF0aWMgUHlPYmplY3QgKgogYnVmZmVyZWRfcmVhZGludG8oYnVmZmVyZWQgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQogeworICAgIFB5X2J1ZmZlciBidWY7CisgICAgUHlfc3NpemVfdCBuLCB3cml0dGVuID0gMCwgcmVtYWluaW5nOworICAgIFB5T2JqZWN0ICpyZXMgPSBOVUxMOworCiAgICAgQ0hFQ0tfSU5JVElBTElaRUQoc2VsZikKLSAgICAKLSAgICAvKiBUT0RPOiB1c2UgcmF3LnJlYWRpbnRvKCkgKG9yIGEgZGlyZWN0IGNvcHkgZnJvbSBvdXIgYnVmZmVyKSBpbnN0ZWFkISAqLwotICAgIHJldHVybiBidWZmZXJlZGlvYmFzZV9yZWFkaW50bygoUHlPYmplY3QgKilzZWxmLCBhcmdzKTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAidyo6cmVhZGludG8iLCAmYnVmKSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICBuID0gUHlfU0FGRV9ET1dOQ0FTVChSRUFEQUhFQUQoc2VsZiksIFB5X29mZl90LCBQeV9zc2l6ZV90KTsKKyAgICBpZiAobiA+IDApIHsKKyAgICAgICAgaWYgKG4gPj0gYnVmLmxlbikgeworICAgICAgICAgICAgbWVtY3B5KGJ1Zi5idWYsIHNlbGYtPmJ1ZmZlciArIHNlbGYtPnBvcywgYnVmLmxlbik7CisgICAgICAgICAgICBzZWxmLT5wb3MgKz0gYnVmLmxlbjsKKyAgICAgICAgICAgIHJlcyA9IFB5TG9uZ19Gcm9tU3NpemVfdChidWYubGVuKTsKKyAgICAgICAgICAgIGdvdG8gZW5kX3VubG9ja2VkOworICAgICAgICB9CisgICAgICAgIG1lbWNweShidWYuYnVmLCBzZWxmLT5idWZmZXIgKyBzZWxmLT5wb3MsIG4pOworICAgICAgICBzZWxmLT5wb3MgKz0gbjsKKyAgICAgICAgd3JpdHRlbiA9IG47CisgICAgfQorCisgICAgaWYgKCFFTlRFUl9CVUZGRVJFRChzZWxmKSkKKyAgICAgICAgZ290byBlbmRfdW5sb2NrZWQ7CisKKyAgICBpZiAoc2VsZi0+d3JpdGFibGUpIHsKKyAgICAgICAgcmVzID0gYnVmZmVyZWRfZmx1c2hfYW5kX3Jld2luZF91bmxvY2tlZChzZWxmKTsKKyAgICAgICAgaWYgKHJlcyA9PSBOVUxMKQorICAgICAgICAgICAgZ290byBlbmQ7CisgICAgICAgIFB5X0NMRUFSKHJlcyk7CisgICAgfQorCisgICAgX2J1ZmZlcmVkcmVhZGVyX3Jlc2V0X2J1ZihzZWxmKTsKKyAgICBzZWxmLT5wb3MgPSAwOworCisgICAgZm9yIChyZW1haW5pbmcgPSBidWYubGVuIC0gd3JpdHRlbjsKKyAgICAgICAgIHJlbWFpbmluZyA+IDA7CisgICAgICAgICB3cml0dGVuICs9IG4sIHJlbWFpbmluZyAtPSBuKSB7CisgICAgICAgIC8qIElmIHJlbWFpbmluZyBieXRlcyBpcyBsYXJnZXIgdGhhbiBpbnRlcm5hbCBidWZmZXIgc2l6ZSwgY29weQorICAgICAgICAgKiBkaXJlY3RseSBpbnRvIGNhbGxlcidzIGJ1ZmZlci4gKi8KKyAgICAgICAgaWYgKHJlbWFpbmluZyA+IHNlbGYtPmJ1ZmZlcl9zaXplKSB7CisgICAgICAgICAgICBuID0gX2J1ZmZlcmVkcmVhZGVyX3Jhd19yZWFkKHNlbGYsIChjaGFyICopIGJ1Zi5idWYgKyB3cml0dGVuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW1haW5pbmcpOworICAgICAgICB9CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgbiA9IF9idWZmZXJlZHJlYWRlcl9maWxsX2J1ZmZlcihzZWxmKTsKKyAgICAgICAgICAgIGlmIChuID4gMCkgeworICAgICAgICAgICAgICAgIGlmIChuID4gcmVtYWluaW5nKQorICAgICAgICAgICAgICAgICAgICBuID0gcmVtYWluaW5nOworICAgICAgICAgICAgICAgIG1lbWNweSgoY2hhciAqKSBidWYuYnVmICsgd3JpdHRlbiwKKyAgICAgICAgICAgICAgICAgICAgICAgc2VsZi0+YnVmZmVyICsgc2VsZi0+cG9zLCBuKTsKKyAgICAgICAgICAgICAgICBzZWxmLT5wb3MgKz0gbjsKKyAgICAgICAgICAgICAgICBjb250aW51ZTsgLyogc2hvcnQgY2lyY3VpdCAqLworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIGlmIChuID09IDAgfHwgKG4gPT0gLTIgJiYgd3JpdHRlbiA+IDApKQorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGlmIChuIDwgMCkgeworICAgICAgICAgICAgaWYgKG4gPT0gLTIpIHsKKyAgICAgICAgICAgICAgICBQeV9JTkNSRUYoUHlfTm9uZSk7CisgICAgICAgICAgICAgICAgcmVzID0gUHlfTm9uZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGdvdG8gZW5kOworICAgICAgICB9CisgICAgfQorICAgIHJlcyA9IFB5TG9uZ19Gcm9tU3NpemVfdCh3cml0dGVuKTsKKworZW5kOgorICAgIExFQVZFX0JVRkZFUkVEKHNlbGYpOworZW5kX3VubG9ja2VkOgorICAgIFB5QnVmZmVyX1JlbGVhc2UoJmJ1Zik7CisgICAgcmV0dXJuIHJlczsKIH0KIAogc3RhdGljIFB5T2JqZWN0ICoKQEAgLTEyMzEsNyArMTI5OCw3IEBACiB7CiAgICAgUHlPYmplY3QgKm5hbWVvYmosICpyZXM7CiAKLSAgICBuYW1lb2JqID0gUHlPYmplY3RfR2V0QXR0clN0cmluZygoUHlPYmplY3QgKikgc2VsZiwgIm5hbWUiKTsKKyAgICBuYW1lb2JqID0gX1B5T2JqZWN0X0dldEF0dHJJZCgoUHlPYmplY3QgKikgc2VsZiwgJlB5SWRfbmFtZSk7CiAgICAgaWYgKG5hbWVvYmogPT0gTlVMTCkgewogICAgICAgICBpZiAoUHlFcnJfRXhjZXB0aW9uTWF0Y2hlcyhQeUV4Y19BdHRyaWJ1dGVFcnJvcikpCiAgICAgICAgICAgICBQeUVycl9DbGVhcigpOwpAQCAtMTM1NywzMyArMTQyNCw1OCBAQAogX2J1ZmZlcmVkcmVhZGVyX3JlYWRfYWxsKGJ1ZmZlcmVkICpzZWxmKQogewogICAgIFB5X3NzaXplX3QgY3VycmVudF9zaXplOwotICAgIFB5T2JqZWN0ICpyZXMsICpkYXRhID0gTlVMTDsKLSAgICBQeU9iamVjdCAqY2h1bmtzID0gUHlMaXN0X05ldygwKTsKLQotICAgIGlmIChjaHVua3MgPT0gTlVMTCkKLSAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgUHlPYmplY3QgKnJlcywgKmRhdGEgPSBOVUxMLCAqY2h1bmssICpjaHVua3M7CiAKICAgICAvKiBGaXJzdCBjb3B5IHdoYXQgd2UgaGF2ZSBpbiB0aGUgY3VycmVudCBidWZmZXIuICovCiAgICAgY3VycmVudF9zaXplID0gUHlfU0FGRV9ET1dOQ0FTVChSRUFEQUhFQUQoc2VsZiksIFB5X29mZl90LCBQeV9zc2l6ZV90KTsKICAgICBpZiAoY3VycmVudF9zaXplKSB7CiAgICAgICAgIGRhdGEgPSBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplKAogICAgICAgICAgICAgc2VsZi0+YnVmZmVyICsgc2VsZi0+cG9zLCBjdXJyZW50X3NpemUpOwotICAgICAgICBpZiAoZGF0YSA9PSBOVUxMKSB7Ci0gICAgICAgICAgICBQeV9ERUNSRUYoY2h1bmtzKTsKKyAgICAgICAgaWYgKGRhdGEgPT0gTlVMTCkKICAgICAgICAgICAgIHJldHVybiBOVUxMOwotICAgICAgICB9CiAgICAgICAgIHNlbGYtPnBvcyArPSBjdXJyZW50X3NpemU7CiAgICAgfQogICAgIC8qIFdlJ3JlIGdvaW5nIHBhc3QgdGhlIGJ1ZmZlcidzIGJvdW5kcywgZmx1c2ggaXQgKi8KICAgICBpZiAoc2VsZi0+d3JpdGFibGUpIHsKICAgICAgICAgcmVzID0gYnVmZmVyZWRfZmx1c2hfYW5kX3Jld2luZF91bmxvY2tlZChzZWxmKTsKLSAgICAgICAgaWYgKHJlcyA9PSBOVUxMKSB7Ci0gICAgICAgICAgICBQeV9ERUNSRUYoY2h1bmtzKTsKKyAgICAgICAgaWYgKHJlcyA9PSBOVUxMKQogICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgIH0KICAgICAgICAgUHlfQ0xFQVIocmVzKTsKICAgICB9CiAgICAgX2J1ZmZlcmVkcmVhZGVyX3Jlc2V0X2J1ZihzZWxmKTsKKworICAgIGlmIChQeU9iamVjdF9IYXNBdHRyKHNlbGYtPnJhdywgX1B5SU9fc3RyX3JlYWRhbGwpKSB7CisgICAgICAgIGNodW5rID0gUHlPYmplY3RfQ2FsbE1ldGhvZE9iakFyZ3Moc2VsZi0+cmF3LCBfUHlJT19zdHJfcmVhZGFsbCwgTlVMTCk7CisgICAgICAgIGlmIChjaHVuayA9PSBOVUxMKQorICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIGlmIChjaHVuayAhPSBQeV9Ob25lICYmICFQeUJ5dGVzX0NoZWNrKGNodW5rKSkgeworICAgICAgICAgICAgUHlfWERFQ1JFRihkYXRhKTsKKyAgICAgICAgICAgIFB5X0RFQ1JFRihjaHVuayk7CisgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCAicmVhZGFsbCgpIHNob3VsZCByZXR1cm4gYnl0ZXMiKTsKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICB9CisgICAgICAgIGlmIChjaHVuayA9PSBQeV9Ob25lKSB7CisgICAgICAgICAgICBpZiAoY3VycmVudF9zaXplID09IDApCisgICAgICAgICAgICAgICAgcmV0dXJuIGNodW5rOworICAgICAgICAgICAgZWxzZSB7CisgICAgICAgICAgICAgICAgUHlfREVDUkVGKGNodW5rKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gZGF0YTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBlbHNlIGlmIChjdXJyZW50X3NpemUpIHsKKyAgICAgICAgICAgIFB5Qnl0ZXNfQ29uY2F0KCZkYXRhLCBjaHVuayk7CisgICAgICAgICAgICBQeV9ERUNSRUYoY2h1bmspOworICAgICAgICAgICAgaWYgKGRhdGEgPT0gTlVMTCkKKyAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgICAgIHJldHVybiBkYXRhOworICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgIHJldHVybiBjaHVuazsKKyAgICB9CisKKyAgICBjaHVua3MgPSBQeUxpc3RfTmV3KDApOworICAgIGlmIChjaHVua3MgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKICAgICB3aGlsZSAoMSkgewogICAgICAgICBpZiAoZGF0YSkgewogICAgICAgICAgICAgaWYgKFB5TGlzdF9BcHBlbmQoY2h1bmtzLCBkYXRhKSA8IDApIHsKQEAgLTE1NDUsNyArMTYzNyw3IEBACiB9CiAKIHN0YXRpYyBQeU9iamVjdCAqCi1fYnVmZmVyZWRyZWFkZXJfcGVla191bmxvY2tlZChidWZmZXJlZCAqc2VsZiwgUHlfc3NpemVfdCBuKQorX2J1ZmZlcmVkcmVhZGVyX3BlZWtfdW5sb2NrZWQoYnVmZmVyZWQgKnNlbGYpCiB7CiAgICAgUHlfc3NpemVfdCBoYXZlLCByOwogCkBAIC0xNTg3LDYgKzE2NzksNyBAQAogICAgIHsicmVhZCIsIChQeUNGdW5jdGlvbilidWZmZXJlZF9yZWFkLCBNRVRIX1ZBUkFSR1N9LAogICAgIHsicGVlayIsIChQeUNGdW5jdGlvbilidWZmZXJlZF9wZWVrLCBNRVRIX1ZBUkFSR1N9LAogICAgIHsicmVhZDEiLCAoUHlDRnVuY3Rpb24pYnVmZmVyZWRfcmVhZDEsIE1FVEhfVkFSQVJHU30sCisgICAgeyJyZWFkaW50byIsIChQeUNGdW5jdGlvbilidWZmZXJlZF9yZWFkaW50bywgTUVUSF9WQVJBUkdTfSwKICAgICB7InJlYWRsaW5lIiwgKFB5Q0Z1bmN0aW9uKWJ1ZmZlcmVkX3JlYWRsaW5lLCBNRVRIX1ZBUkFSR1N9LAogICAgIHsic2VlayIsIChQeUNGdW5jdGlvbilidWZmZXJlZF9zZWVrLCBNRVRIX1ZBUkFSR1N9LAogICAgIHsidGVsbCIsIChQeUNGdW5jdGlvbilidWZmZXJlZF90ZWxsLCBNRVRIX05PQVJHU30sCkBAIC0yMTM1LDEzICsyMjI4LDEzIEBACiB9CiAKIHN0YXRpYyBQeU9iamVjdCAqCi1fZm9yd2FyZF9jYWxsKGJ1ZmZlcmVkICpzZWxmLCBjb25zdCBjaGFyICpuYW1lLCBQeU9iamVjdCAqYXJncykKK19mb3J3YXJkX2NhbGwoYnVmZmVyZWQgKnNlbGYsIF9QeV9JZGVudGlmaWVyICpuYW1lLCBQeU9iamVjdCAqYXJncykKIHsKLSAgICBQeU9iamVjdCAqZnVuYyA9IFB5T2JqZWN0X0dldEF0dHJTdHJpbmcoKFB5T2JqZWN0ICopc2VsZiwgbmFtZSk7CisgICAgUHlPYmplY3QgKmZ1bmMgPSBfUHlPYmplY3RfR2V0QXR0cklkKChQeU9iamVjdCAqKXNlbGYsIG5hbWUpOwogICAgIFB5T2JqZWN0ICpyZXQ7CiAKICAgICBpZiAoZnVuYyA9PSBOVUxMKSB7Ci0gICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19BdHRyaWJ1dGVFcnJvciwgbmFtZSk7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19BdHRyaWJ1dGVFcnJvciwgbmFtZS0+c3RyaW5nKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogCkBAIC0yMTUzLDY2ICsyMjQ2LDY2IEBACiBzdGF0aWMgUHlPYmplY3QgKgogYnVmZmVyZWRyd3BhaXJfcmVhZChyd3BhaXIgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQogewotICAgIHJldHVybiBfZm9yd2FyZF9jYWxsKHNlbGYtPnJlYWRlciwgInJlYWQiLCBhcmdzKTsKKyAgICByZXR1cm4gX2ZvcndhcmRfY2FsbChzZWxmLT5yZWFkZXIsICZQeUlkX3JlYWQsIGFyZ3MpOwogfQogCiBzdGF0aWMgUHlPYmplY3QgKgogYnVmZmVyZWRyd3BhaXJfcGVlayhyd3BhaXIgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQogewotICAgIHJldHVybiBfZm9yd2FyZF9jYWxsKHNlbGYtPnJlYWRlciwgInBlZWsiLCBhcmdzKTsKKyAgICByZXR1cm4gX2ZvcndhcmRfY2FsbChzZWxmLT5yZWFkZXIsICZQeUlkX3BlZWssIGFyZ3MpOwogfQogCiBzdGF0aWMgUHlPYmplY3QgKgogYnVmZmVyZWRyd3BhaXJfcmVhZDEocndwYWlyICpzZWxmLCBQeU9iamVjdCAqYXJncykKIHsKLSAgICByZXR1cm4gX2ZvcndhcmRfY2FsbChzZWxmLT5yZWFkZXIsICJyZWFkMSIsIGFyZ3MpOworICAgIHJldHVybiBfZm9yd2FyZF9jYWxsKHNlbGYtPnJlYWRlciwgJlB5SWRfcmVhZDEsIGFyZ3MpOwogfQogCiBzdGF0aWMgUHlPYmplY3QgKgogYnVmZmVyZWRyd3BhaXJfcmVhZGludG8ocndwYWlyICpzZWxmLCBQeU9iamVjdCAqYXJncykKIHsKLSAgICByZXR1cm4gX2ZvcndhcmRfY2FsbChzZWxmLT5yZWFkZXIsICJyZWFkaW50byIsIGFyZ3MpOworICAgIHJldHVybiBfZm9yd2FyZF9jYWxsKHNlbGYtPnJlYWRlciwgJlB5SWRfcmVhZGludG8sIGFyZ3MpOwogfQogCiBzdGF0aWMgUHlPYmplY3QgKgogYnVmZmVyZWRyd3BhaXJfd3JpdGUocndwYWlyICpzZWxmLCBQeU9iamVjdCAqYXJncykKIHsKLSAgICByZXR1cm4gX2ZvcndhcmRfY2FsbChzZWxmLT53cml0ZXIsICJ3cml0ZSIsIGFyZ3MpOworICAgIHJldHVybiBfZm9yd2FyZF9jYWxsKHNlbGYtPndyaXRlciwgJlB5SWRfd3JpdGUsIGFyZ3MpOwogfQogCiBzdGF0aWMgUHlPYmplY3QgKgogYnVmZmVyZWRyd3BhaXJfZmx1c2gocndwYWlyICpzZWxmLCBQeU9iamVjdCAqYXJncykKIHsKLSAgICByZXR1cm4gX2ZvcndhcmRfY2FsbChzZWxmLT53cml0ZXIsICJmbHVzaCIsIGFyZ3MpOworICAgIHJldHVybiBfZm9yd2FyZF9jYWxsKHNlbGYtPndyaXRlciwgJlB5SWRfZmx1c2gsIGFyZ3MpOwogfQogCiBzdGF0aWMgUHlPYmplY3QgKgogYnVmZmVyZWRyd3BhaXJfcmVhZGFibGUocndwYWlyICpzZWxmLCBQeU9iamVjdCAqYXJncykKIHsKLSAgICByZXR1cm4gX2ZvcndhcmRfY2FsbChzZWxmLT5yZWFkZXIsICJyZWFkYWJsZSIsIGFyZ3MpOworICAgIHJldHVybiBfZm9yd2FyZF9jYWxsKHNlbGYtPnJlYWRlciwgJlB5SWRfcmVhZGFibGUsIGFyZ3MpOwogfQogCiBzdGF0aWMgUHlPYmplY3QgKgogYnVmZmVyZWRyd3BhaXJfd3JpdGFibGUocndwYWlyICpzZWxmLCBQeU9iamVjdCAqYXJncykKIHsKLSAgICByZXR1cm4gX2ZvcndhcmRfY2FsbChzZWxmLT53cml0ZXIsICJ3cml0YWJsZSIsIGFyZ3MpOworICAgIHJldHVybiBfZm9yd2FyZF9jYWxsKHNlbGYtPndyaXRlciwgJlB5SWRfd3JpdGFibGUsIGFyZ3MpOwogfQogCiBzdGF0aWMgUHlPYmplY3QgKgogYnVmZmVyZWRyd3BhaXJfY2xvc2UocndwYWlyICpzZWxmLCBQeU9iamVjdCAqYXJncykKIHsKLSAgICBQeU9iamVjdCAqcmV0ID0gX2ZvcndhcmRfY2FsbChzZWxmLT53cml0ZXIsICJjbG9zZSIsIGFyZ3MpOworICAgIFB5T2JqZWN0ICpyZXQgPSBfZm9yd2FyZF9jYWxsKHNlbGYtPndyaXRlciwgJlB5SWRfY2xvc2UsIGFyZ3MpOwogICAgIGlmIChyZXQgPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgUHlfREVDUkVGKHJldCk7CiAKLSAgICByZXR1cm4gX2ZvcndhcmRfY2FsbChzZWxmLT5yZWFkZXIsICJjbG9zZSIsIGFyZ3MpOworICAgIHJldHVybiBfZm9yd2FyZF9jYWxsKHNlbGYtPnJlYWRlciwgJlB5SWRfY2xvc2UsIGFyZ3MpOwogfQogCiBzdGF0aWMgUHlPYmplY3QgKgogYnVmZmVyZWRyd3BhaXJfaXNhdHR5KHJ3cGFpciAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCiB7Ci0gICAgUHlPYmplY3QgKnJldCA9IF9mb3J3YXJkX2NhbGwoc2VsZi0+d3JpdGVyLCAiaXNhdHR5IiwgYXJncyk7CisgICAgUHlPYmplY3QgKnJldCA9IF9mb3J3YXJkX2NhbGwoc2VsZi0+d3JpdGVyLCAmUHlJZF9pc2F0dHksIGFyZ3MpOwogCiAgICAgaWYgKHJldCAhPSBQeV9GYWxzZSkgewogICAgICAgICAvKiBlaXRoZXIgVHJ1ZSBvciBleGNlcHRpb24gKi8KQEAgLTIyMjAsNyArMjMxMyw3IEBACiAgICAgfQogICAgIFB5X0RFQ1JFRihyZXQpOwogCi0gICAgcmV0dXJuIF9mb3J3YXJkX2NhbGwoc2VsZi0+cmVhZGVyLCAiaXNhdHR5IiwgYXJncyk7CisgICAgcmV0dXJuIF9mb3J3YXJkX2NhbGwoc2VsZi0+cmVhZGVyLCAmUHlJZF9pc2F0dHksIGFyZ3MpOwogfQogCiBzdGF0aWMgUHlPYmplY3QgKgpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9faW8vYnl0ZXNpby5jIGIvTW9kdWxlcy9faW8vYnl0ZXNpby5jCmluZGV4IGI0MDUxM2YuLjY1ZWM5MzEgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvX2lvL2J5dGVzaW8uYworKysgYi9Nb2R1bGVzL19pby9ieXRlc2lvLmMKQEAgLTkzOCwxMyArOTM4LDExIEBACiBieXRlc2lvYnVmX2dldGJ1ZmZlcihieXRlc2lvYnVmICpvYmosIFB5X2J1ZmZlciAqdmlldywgaW50IGZsYWdzKQogewogICAgIGludCByZXQ7Ci0gICAgdm9pZCAqcHRyOwogICAgIGJ5dGVzaW8gKmIgPSAoYnl0ZXNpbyAqKSBvYmotPnNvdXJjZTsKICAgICBpZiAodmlldyA9PSBOVUxMKSB7CiAgICAgICAgIGItPmV4cG9ydHMrKzsKICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQotICAgIHB0ciA9ICh2b2lkICopIG9iajsKICAgICByZXQgPSBQeUJ1ZmZlcl9GaWxsSW5mbyh2aWV3LCAoUHlPYmplY3QqKW9iaiwgYi0+YnVmLCBiLT5zdHJpbmdfc2l6ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLCBmbGFncyk7CiAgICAgaWYgKHJldCA+PSAwKSB7CmRpZmYgLS1naXQgYS9Nb2R1bGVzL19pby9maWxlaW8uYyBiL01vZHVsZXMvX2lvL2ZpbGVpby5jCmluZGV4IGQ1YjAzZWUuLjM0ZmYxZTAgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvX2lvL2ZpbGVpby5jCisrKyBiL01vZHVsZXMvX2lvL2ZpbGVpby5jCkBAIC00Niw2ICs0Niw3IEBACiB0eXBlZGVmIHN0cnVjdCB7CiAgICAgUHlPYmplY3RfSEVBRAogICAgIGludCBmZDsKKyAgICB1bnNpZ25lZCBpbnQgY3JlYXRlZCA6IDE7CiAgICAgdW5zaWduZWQgaW50IHJlYWRhYmxlIDogMTsKICAgICB1bnNpZ25lZCBpbnQgd3JpdGFibGUgOiAxOwogICAgIHNpZ25lZCBpbnQgc2Vla2FibGUgOiAyOyAvKiAtMSBtZWFucyB1bmtub3duICovCkBAIC0xMjIsNiArMTIzLDcgQEAKIHN0YXRpYyBQeU9iamVjdCAqCiBmaWxlaW9fY2xvc2UoZmlsZWlvICpzZWxmKQogeworICAgIF9QeV9JREVOVElGSUVSKGNsb3NlKTsKICAgICBpZiAoIXNlbGYtPmNsb3NlZmQpIHsKICAgICAgICAgc2VsZi0+ZmQgPSAtMTsKICAgICAgICAgUHlfUkVUVVJOX05PTkU7CkBAIC0xMzcsOCArMTM5LDggQEAKICAgICBpZiAoZXJybm8gPCAwKQogICAgICAgICByZXR1cm4gTlVMTDsKIAotICAgIHJldHVybiBQeU9iamVjdF9DYWxsTWV0aG9kKChQeU9iamVjdCopJlB5UmF3SU9CYXNlX1R5cGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNsb3NlIiwgIk8iLCBzZWxmKTsKKyAgICByZXR1cm4gX1B5T2JqZWN0X0NhbGxNZXRob2RJZCgoUHlPYmplY3QqKSZQeVJhd0lPQmFzZV9UeXBlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZQeUlkX2Nsb3NlLCAiTyIsIHNlbGYpOwogfQogCiBzdGF0aWMgUHlPYmplY3QgKgpAQCAtMTUxLDYgKzE1Myw3IEBACiAgICAgc2VsZiA9IChmaWxlaW8gKikgdHlwZS0+dHBfYWxsb2ModHlwZSwgMCk7CiAgICAgaWYgKHNlbGYgIT0gTlVMTCkgewogICAgICAgICBzZWxmLT5mZCA9IC0xOworICAgICAgICBzZWxmLT5jcmVhdGVkID0gMDsKICAgICAgICAgc2VsZi0+cmVhZGFibGUgPSAwOwogICAgICAgICBzZWxmLT53cml0YWJsZSA9IDA7CiAgICAgICAgIHNlbGYtPnNlZWthYmxlID0gLTE7CkBAIC0yMTEsOSArMjE0LDkgQEAKIGZpbGVpb19pbml0KFB5T2JqZWN0ICpvc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2RzKQogewogICAgIGZpbGVpbyAqc2VsZiA9IChmaWxlaW8gKikgb3NlbGY7Ci0gICAgc3RhdGljIGNoYXIgKmt3bGlzdFtdID0geyJmaWxlIiwgIm1vZGUiLCAiY2xvc2VmZCIsIE5VTEx9OworICAgIHN0YXRpYyBjaGFyICprd2xpc3RbXSA9IHsiZmlsZSIsICJtb2RlIiwgImNsb3NlZmQiLCAib3BlbmVyIiwgTlVMTH07CiAgICAgY29uc3QgY2hhciAqbmFtZSA9IE5VTEw7Ci0gICAgUHlPYmplY3QgKm5hbWVvYmosICpzdHJpbmdvYmogPSBOVUxMOworICAgIFB5T2JqZWN0ICpuYW1lb2JqLCAqc3RyaW5nb2JqID0gTlVMTCwgKm9wZW5lciA9IFB5X05vbmU7CiAgICAgY2hhciAqbW9kZSA9ICJyIjsKICAgICBjaGFyICpzOwogI2lmZGVmIE1TX1dJTkRPV1MKQEAgLTIzMiw4ICsyMzUsOSBAQAogICAgICAgICAgICAgcmV0dXJuIC0xOwogICAgIH0KIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3ZHMsICJPfHNpOmZpbGVpbyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga3dsaXN0LCAmbmFtZW9iaiwgJm1vZGUsICZjbG9zZWZkKSkKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2RzLCAiT3xzaU86ZmlsZWlvIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrd2xpc3QsICZuYW1lb2JqLCAmbW9kZSwgJmNsb3NlZmQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJm9wZW5lcikpCiAgICAgICAgIHJldHVybiAtMTsKIAogICAgIGlmIChQeUZsb2F0X0NoZWNrKG5hbWVvYmopKSB7CkBAIC0yNjAsOSArMjY0LDEwIEBACiAgICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgImVtYmVkZGVkIE5VTCBjaGFyYWN0ZXIiKTsKICAgICAgICAgICAgIHJldHVybiAtMTsKICAgICAgICAgfQotICAgICAgICB3aWRlbmFtZSA9IFB5VW5pY29kZV9BU19VTklDT0RFKG5hbWVvYmopOwotICAgIH0KLSAgICBpZiAod2lkZW5hbWUgPT0gTlVMTCkKKyAgICAgICAgd2lkZW5hbWUgPSBQeVVuaWNvZGVfQXNVbmljb2RlKG5hbWVvYmopOworICAgICAgICBpZiAod2lkZW5hbWUgPT0gTlVMTCkKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICB9IGVsc2UKICNlbmRpZgogICAgIGlmIChmZCA8IDApCiAgICAgewpAQCAtMjc1LDE1ICsyODAsMjMgQEAKICAgICBzID0gbW9kZTsKICAgICB3aGlsZSAoKnMpIHsKICAgICAgICAgc3dpdGNoICgqcysrKSB7Ci0gICAgICAgIGNhc2UgJ3InOgorICAgICAgICBjYXNlICd4JzoKICAgICAgICAgICAgIGlmIChyd2EpIHsKICAgICAgICAgICAgIGJhZF9tb2RlOgogICAgICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTXVzdCBoYXZlIGV4YWN0bHkgb25lIG9mIHJlYWQvd3JpdGUvYXBwZW5kICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk11c3QgaGF2ZSBleGFjdGx5IG9uZSBvZiBjcmVhdGUvcmVhZC93cml0ZS9hcHBlbmQgIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibW9kZSBhbmQgYXQgbW9zdCBvbmUgcGx1cyIpOwogICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICByd2EgPSAxOworICAgICAgICAgICAgc2VsZi0+Y3JlYXRlZCA9IDE7CisgICAgICAgICAgICBzZWxmLT53cml0YWJsZSA9IDE7CisgICAgICAgICAgICBmbGFncyB8PSBPX0VYQ0wgfCBPX0NSRUFUOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgJ3InOgorICAgICAgICAgICAgaWYgKHJ3YSkKKyAgICAgICAgICAgICAgICBnb3RvIGJhZF9tb2RlOworICAgICAgICAgICAgcndhID0gMTsKICAgICAgICAgICAgIHNlbGYtPnJlYWRhYmxlID0gMTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlICd3JzoKQEAgLTM0OSwxOSArMzYyLDM5IEBACiAgICAgICAgICAgICBnb3RvIGVycm9yOwogICAgICAgICB9CiAKLSAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwogICAgICAgICBlcnJubyA9IDA7CisgICAgICAgIGlmIChvcGVuZXIgPT0gUHlfTm9uZSkgeworICAgICAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwogI2lmZGVmIE1TX1dJTkRPV1MKLSAgICAgICAgaWYgKHdpZGVuYW1lICE9IE5VTEwpCi0gICAgICAgICAgICBzZWxmLT5mZCA9IF93b3Blbih3aWRlbmFtZSwgZmxhZ3MsIDA2NjYpOwotICAgICAgICBlbHNlCisgICAgICAgICAgICBpZiAod2lkZW5hbWUgIT0gTlVMTCkKKyAgICAgICAgICAgICAgICBzZWxmLT5mZCA9IF93b3Blbih3aWRlbmFtZSwgZmxhZ3MsIDA2NjYpOworICAgICAgICAgICAgZWxzZQogI2VuZGlmCi0gICAgICAgICAgICBzZWxmLT5mZCA9IG9wZW4obmFtZSwgZmxhZ3MsIDA2NjYpOwotICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworICAgICAgICAgICAgICAgIHNlbGYtPmZkID0gb3BlbihuYW1lLCBmbGFncywgMDY2Nik7CisgICAgICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgUHlPYmplY3QgKmZkb2JqID0gUHlPYmplY3RfQ2FsbEZ1bmN0aW9uKAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5lciwgIk9pIiwgbmFtZW9iaiwgZmxhZ3MpOworICAgICAgICAgICAgaWYgKGZkb2JqID09IE5VTEwpCisgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgICAgIGlmICghUHlMb25nX0NoZWNrKGZkb2JqKSkgeworICAgICAgICAgICAgICAgIFB5X0RFQ1JFRihmZG9iaik7CisgICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICJleHBlY3RlZCBpbnRlZ2VyIGZyb20gb3BlbmVyIik7CisgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgc2VsZi0+ZmQgPSBQeUxvbmdfQXNMb25nKGZkb2JqKTsKKyAgICAgICAgICAgIFB5X0RFQ1JFRihmZG9iaik7CisgICAgICAgICAgICBpZiAoc2VsZi0+ZmQgPT0gLTEpIHsKKyAgICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICAgICAgfQorICAgICAgICB9CisKICAgICAgICAgaWYgKHNlbGYtPmZkIDwgMCkgewogI2lmZGVmIE1TX1dJTkRPV1MKICAgICAgICAgICAgIGlmICh3aWRlbmFtZSAhPSBOVUxMKQotICAgICAgICAgICAgICAgIFB5RXJyX1NldEZyb21FcnJub1dpdGhVbmljb2RlRmlsZW5hbWUoUHlFeGNfSU9FcnJvciwgd2lkZW5hbWUpOworICAgICAgICAgICAgICAgIFB5RXJyX1NldEZyb21FcnJub1dpdGhGaWxlbmFtZU9iamVjdChQeUV4Y19JT0Vycm9yLCBuYW1lb2JqKTsKICAgICAgICAgICAgIGVsc2UKICNlbmRpZgogICAgICAgICAgICAgICAgIFB5RXJyX1NldEZyb21FcnJub1dpdGhGaWxlbmFtZShQeUV4Y19JT0Vycm9yLCBuYW1lKTsKQEAgLTUzMywyMSArNTY2LDI1IEBACiB9CiAKIHN0YXRpYyBzaXplX3QKLW5ld19idWZmZXJzaXplKGZpbGVpbyAqc2VsZiwgc2l6ZV90IGN1cnJlbnRzaXplKQorbmV3X2J1ZmZlcnNpemUoZmlsZWlvICpzZWxmLCBzaXplX3QgY3VycmVudHNpemUKKyNpZmRlZiBIQVZFX0ZTVEFUCisgICAgICAgICAgICAgICAsIFB5X29mZl90IHBvcywgUHlfb2ZmX3QgZW5kCisjZW5kaWYKKyAgICAgICAgICAgICAgICkKIHsKICNpZmRlZiBIQVZFX0ZTVEFUCi0gICAgb2ZmX3QgcG9zLCBlbmQ7Ci0gICAgc3RydWN0IHN0YXQgc3Q7Ci0gICAgaWYgKGZzdGF0KHNlbGYtPmZkLCAmc3QpID09IDApIHsKLSAgICAgICAgZW5kID0gc3Quc3Rfc2l6ZTsKLSAgICAgICAgcG9zID0gbHNlZWsoc2VsZi0+ZmQsIDBMLCBTRUVLX0NVUik7CisgICAgaWYgKGVuZCAhPSAoUHlfb2ZmX3QpLTEpIHsKICAgICAgICAgLyogRmlsZXMgY2xhaW1pbmcgYSBzaXplIHNtYWxsZXIgdGhhbiBTTUFMTENIVU5LIG1heQogICAgICAgICAgICBhY3R1YWxseSBiZSBzdHJlYW1pbmcgcHNldWRvLWZpbGVzLiBJbiB0aGlzIGNhc2UsIHdlCiAgICAgICAgICAgIGFwcGx5IHRoZSBtb3JlIGFnZ3Jlc3NpdmUgYWxnb3JpdGhtIGJlbG93LgogICAgICAgICAqLwogICAgICAgICBpZiAoZW5kID49IFNNQUxMQ0hVTksgJiYgZW5kID49IHBvcyAmJiBwb3MgPj0gMCkgewogICAgICAgICAgICAgLyogQWRkIDEgc28gaWYgdGhlIGZpbGUgd2VyZSB0byBncm93IHdlJ2Qgbm90aWNlLiAqLwotICAgICAgICAgICAgcmV0dXJuIGN1cnJlbnRzaXplICsgZW5kIC0gcG9zICsgMTsKKyAgICAgICAgICAgIFB5X29mZl90IGJ1ZnNpemUgPSBjdXJyZW50c2l6ZSArIGVuZCAtIHBvcyArIDE7CisgICAgICAgICAgICBpZiAoYnVmc2l6ZSA8IFBZX1NTSVpFX1RfTUFYKQorICAgICAgICAgICAgICAgIHJldHVybiAoc2l6ZV90KWJ1ZnNpemU7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgcmV0dXJuIFBZX1NTSVpFX1RfTUFYOwogICAgICAgICB9CiAgICAgfQogI2VuZGlmCkBAIC01NjAsOSArNTk3LDE0IEBACiBzdGF0aWMgUHlPYmplY3QgKgogZmlsZWlvX3JlYWRhbGwoZmlsZWlvICpzZWxmKQogeworI2lmZGVmIEhBVkVfRlNUQVQKKyAgICBzdHJ1Y3Qgc3RhdCBzdDsKKyAgICBQeV9vZmZfdCBwb3MsIGVuZDsKKyNlbmRpZgogICAgIFB5T2JqZWN0ICpyZXN1bHQ7CiAgICAgUHlfc3NpemVfdCB0b3RhbCA9IDA7CiAgICAgaW50IG47CisgICAgc2l6ZV90IG5ld3NpemU7CiAKICAgICBpZiAoc2VsZi0+ZmQgPCAwKQogICAgICAgICByZXR1cm4gZXJyX2Nsb3NlZCgpOwpAQCAtNTczLDggKzYxNSwyMyBAQAogICAgIGlmIChyZXN1bHQgPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKKyNpZmRlZiBIQVZFX0ZTVEFUCisjaWYgZGVmaW5lZChNU19XSU42NCkgfHwgZGVmaW5lZChNU19XSU5ET1dTKQorICAgIHBvcyA9IF9sc2Vla2k2NChzZWxmLT5mZCwgMEwsIFNFRUtfQ1VSKTsKKyNlbHNlCisgICAgcG9zID0gbHNlZWsoc2VsZi0+ZmQsIDBMLCBTRUVLX0NVUik7CisjZW5kaWYKKyAgICBpZiAoZnN0YXQoc2VsZi0+ZmQsICZzdCkgPT0gMCkKKyAgICAgICAgZW5kID0gc3Quc3Rfc2l6ZTsKKyAgICBlbHNlCisgICAgICAgIGVuZCA9IChQeV9vZmZfdCktMTsKKyNlbmRpZgogICAgIHdoaWxlICgxKSB7Ci0gICAgICAgIHNpemVfdCBuZXdzaXplID0gbmV3X2J1ZmZlcnNpemUoc2VsZiwgdG90YWwpOworI2lmZGVmIEhBVkVfRlNUQVQKKyAgICAgICAgbmV3c2l6ZSA9IG5ld19idWZmZXJzaXplKHNlbGYsIHRvdGFsLCBwb3MsIGVuZCk7CisjZWxzZQorICAgICAgICBuZXdzaXplID0gbmV3X2J1ZmZlcnNpemUoc2VsZiwgdG90YWwpOworI2VuZGlmCiAgICAgICAgIGlmIChuZXdzaXplID4gUFlfU1NJWkVfVF9NQVggfHwgbmV3c2l6ZSA8PSAwKSB7CiAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfT3ZlcmZsb3dFcnJvciwKICAgICAgICAgICAgICAgICAidW5ib3VuZGVkIHJlYWQgcmV0dXJuZWQgbW9yZSBieXRlcyAiCkBAIC02MTMsNiArNjcwLDkgQEAKICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICB9CiAgICAgICAgIHRvdGFsICs9IG47CisjaWZkZWYgSEFWRV9GU1RBVAorICAgICAgICBwb3MgKz0gbjsKKyNlbmRpZgogICAgIH0KIAogICAgIGlmIChQeUJ5dGVzX0dFVF9TSVpFKHJlc3VsdCkgPiB0b3RhbCkgewpAQCAtOTI2LDYgKzk4NiwxMiBAQAogc3RhdGljIGNoYXIgKgogbW9kZV9zdHJpbmcoZmlsZWlvICpzZWxmKQogeworICAgIGlmIChzZWxmLT5jcmVhdGVkKSB7CisgICAgICAgIGlmIChzZWxmLT5yZWFkYWJsZSkKKyAgICAgICAgICAgIHJldHVybiAieGIrIjsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgcmV0dXJuICJ4YiI7CisgICAgfQogICAgIGlmIChzZWxmLT5yZWFkYWJsZSkgewogICAgICAgICBpZiAoc2VsZi0+d3JpdGFibGUpCiAgICAgICAgICAgICByZXR1cm4gInJiKyI7CkBAIC05MzksMTIgKzEwMDUsMTMgQEAKIHN0YXRpYyBQeU9iamVjdCAqCiBmaWxlaW9fcmVwcihmaWxlaW8gKnNlbGYpCiB7CisgICAgX1B5X0lERU5USUZJRVIobmFtZSk7CiAgICAgUHlPYmplY3QgKm5hbWVvYmosICpyZXM7CiAKICAgICBpZiAoc2VsZi0+ZmQgPCAwKQogICAgICAgICByZXR1cm4gUHlVbmljb2RlX0Zyb21Gb3JtYXQoIjxfaW8uRmlsZUlPIFtjbG9zZWRdPiIpOwogCi0gICAgbmFtZW9iaiA9IFB5T2JqZWN0X0dldEF0dHJTdHJpbmcoKFB5T2JqZWN0ICopIHNlbGYsICJuYW1lIik7CisgICAgbmFtZW9iaiA9IF9QeU9iamVjdF9HZXRBdHRySWQoKFB5T2JqZWN0ICopIHNlbGYsICZQeUlkX25hbWUpOwogICAgIGlmIChuYW1lb2JqID09IE5VTEwpIHsKICAgICAgICAgaWYgKFB5RXJyX0V4Y2VwdGlvbk1hdGNoZXMoUHlFeGNfQXR0cmlidXRlRXJyb3IpKQogICAgICAgICAgICAgUHlFcnJfQ2xlYXIoKTsKQEAgLTk4NCwxMyArMTA1MSwxOSBAQAogCiAKIFB5RG9jX1NUUlZBUihmaWxlaW9fZG9jLAotImZpbGUobmFtZTogc3RyWywgbW9kZTogc3RyXSkgLT4gZmlsZSBJTyBvYmplY3RcbiIKKyJmaWxlKG5hbWU6IHN0clssIG1vZGU6IHN0cl1bLCBvcGVuZXI6IE5vbmVdKSAtPiBmaWxlIElPIG9iamVjdFxuIgogIlxuIgotIk9wZW4gYSBmaWxlLiAgVGhlIG1vZGUgY2FuIGJlICdyJywgJ3cnIG9yICdhJyBmb3IgcmVhZGluZyAoZGVmYXVsdCksXG4iCi0id3JpdGluZyBvciBhcHBlbmRpbmcuICBUaGUgZmlsZSB3aWxsIGJlIGNyZWF0ZWQgaWYgaXQgZG9lc24ndCBleGlzdFxuIgotIndoZW4gb3BlbmVkIGZvciB3cml0aW5nIG9yIGFwcGVuZGluZzsgaXQgd2lsbCBiZSB0cnVuY2F0ZWQgd2hlblxuIgotIm9wZW5lZCBmb3Igd3JpdGluZy4gIEFkZCBhICcrJyB0byB0aGUgbW9kZSB0byBhbGxvdyBzaW11bHRhbmVvdXNcbiIKLSJyZWFkaW5nIGFuZCB3cml0aW5nLiIpOworIk9wZW4gYSBmaWxlLiAgVGhlIG1vZGUgY2FuIGJlICdyJywgJ3cnLCAneCcgb3IgJ2EnIGZvciByZWFkaW5nIChkZWZhdWx0KSxcbiIKKyJ3cml0aW5nLCBleGNsdXNpdmUgY3JlYXRpb24gb3IgYXBwZW5kaW5nLiAgVGhlIGZpbGUgd2lsbCBiZSBjcmVhdGVkIGlmIGl0XG4iCisiZG9lc24ndCBleGlzdCB3aGVuIG9wZW5lZCBmb3Igd3JpdGluZyBvciBhcHBlbmRpbmc7IGl0IHdpbGwgYmUgdHJ1bmNhdGVkXG4iCisid2hlbiBvcGVuZWQgZm9yIHdyaXRpbmcuICBBIGBGaWxlRXhpc3RzRXJyb3JgIHdpbGwgYmUgcmFpc2VkIGlmIGl0IGFscmVhZHlcbiIKKyJleGlzdHMgd2hlbiBvcGVuZWQgZm9yIGNyZWF0aW5nLiBPcGVuaW5nIGEgZmlsZSBmb3IgY3JlYXRpbmcgaW1wbGllc1xuIgorIndyaXRpbmcgc28gdGhpcyBtb2RlIGJlaGF2ZXMgaW4gYSBzaW1pbGFyIHdheSB0byAndycuQWRkIGEgJysnIHRvIHRoZSBtb2RlXG4iCisidG8gYWxsb3cgc2ltdWx0YW5lb3VzIHJlYWRpbmcgYW5kIHdyaXRpbmcuIEEgY3VzdG9tIG9wZW5lciBjYW4gYmUgdXNlZCBieVxuIgorInBhc3NpbmcgYSBjYWxsYWJsZSBhcyAqb3BlbmVyKi4gVGhlIHVuZGVybHlpbmcgZmlsZSBkZXNjcmlwdG9yIGZvciB0aGUgZmlsZVxuIgorIm9iamVjdCBpcyB0aGVuIG9idGFpbmVkIGJ5IGNhbGxpbmcgb3BlbmVyIHdpdGggKCpuYW1lKiwgKmZsYWdzKikuXG4iCisiKm9wZW5lciogbXVzdCByZXR1cm4gYW4gb3BlbiBmaWxlIGRlc2NyaXB0b3IgKHBhc3Npbmcgb3Mub3BlbiBhcyAqb3BlbmVyKlxuIgorInJlc3VsdHMgaW4gZnVuY3Rpb25hbGl0eSBzaW1pbGFyIHRvIHBhc3NpbmcgTm9uZSkuIik7CiAKIFB5RG9jX1NUUlZBUihyZWFkX2RvYywKICJyZWFkKHNpemU6IGludCkgLT4gYnl0ZXMuICByZWFkIGF0IG1vc3Qgc2l6ZSBieXRlcywgcmV0dXJuZWQgYXMgYnl0ZXMuXG4iCmRpZmYgLS1naXQgYS9Nb2R1bGVzL19pby9pb2Jhc2UuYyBiL01vZHVsZXMvX2lvL2lvYmFzZS5jCmluZGV4IDM1YzdjZGQuLmIzMGJiYjYgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvX2lvL2lvYmFzZS5jCisrKyBiL01vZHVsZXMvX2lvL2lvYmFzZS5jCkBAIC01OSw4ICs1OSw5IEBACiAgICBvZiB0aGUgSU9CYXNlIG9iamVjdCByYXRoZXIgdGhhbiB0aGUgdmlydHVhbCBgY2xvc2VkYCBhdHRyaWJ1dGUgYXMgcmV0dXJuZWQKICAgIGJ5IHdoYXRldmVyIHN1YmNsYXNzLiAqLwogCitfUHlfSURFTlRJRklFUihfX0lPQmFzZV9jbG9zZWQpOwogI2RlZmluZSBJU19DTE9TRUQoc2VsZikgXAotICAgIFB5T2JqZWN0X0hhc0F0dHJTdHJpbmcoc2VsZiwgIl9fSU9CYXNlX2Nsb3NlZCIpCisgICAgX1B5T2JqZWN0X0hhc0F0dHJJZChzZWxmLCAmUHlJZF9fX0lPQmFzZV9jbG9zZWQpCiAKIC8qIEludGVybmFsIG1ldGhvZHMgKi8KIHN0YXRpYyBQeU9iamVjdCAqCkBAIC05Nyw3ICs5OCw5IEBACiBzdGF0aWMgUHlPYmplY3QgKgogaW9iYXNlX3RlbGwoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQogewotICAgIHJldHVybiBQeU9iamVjdF9DYWxsTWV0aG9kKHNlbGYsICJzZWVrIiwgImlpIiwgMCwgMSk7CisgICAgX1B5X0lERU5USUZJRVIoc2Vlayk7CisKKyAgICByZXR1cm4gX1B5T2JqZWN0X0NhbGxNZXRob2RJZChzZWxmLCAmUHlJZF9zZWVrLCAiaWkiLCAwLCAxKTsKIH0KIAogUHlEb2NfU1RSVkFSKGlvYmFzZV90cnVuY2F0ZV9kb2MsCkBAIC0xNTYsMTkgKzE1OSw2IEBACiAgICAgcmV0dXJuIFB5Qm9vbF9Gcm9tTG9uZyhJU19DTE9TRUQoc2VsZikpOwogfQogCi1zdGF0aWMgUHlPYmplY3QgKgotaW9iYXNlX2dldF9kaWN0KFB5T2JqZWN0ICpzZWxmKQotewotICAgIFB5T2JqZWN0ICoqZGljdHB0ciA9IF9QeU9iamVjdF9HZXREaWN0UHRyKHNlbGYpOwotICAgIFB5T2JqZWN0ICpkaWN0OwotICAgIGFzc2VydChkaWN0cHRyKTsKLSAgICBkaWN0ID0gKmRpY3RwdHI7Ci0gICAgaWYgKGRpY3QgPT0gTlVMTCkKLSAgICAgICAgZGljdCA9ICpkaWN0cHRyID0gUHlEaWN0X05ldygpOwotICAgIFB5X1hJTkNSRUYoZGljdCk7Ci0gICAgcmV0dXJuIGRpY3Q7Ci19Ci0KIFB5T2JqZWN0ICoKIF9QeUlPQmFzZV9jaGVja19jbG9zZWQoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQogewpAQCAtMTkwLDEyICsxODAsMTMgQEAKIGlvYmFzZV9jbG9zZShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCiB7CiAgICAgUHlPYmplY3QgKnJlczsKKyAgICBfUHlfSURFTlRJRklFUihfX0lPQmFzZV9jbG9zZWQpOwogCiAgICAgaWYgKElTX0NMT1NFRChzZWxmKSkKICAgICAgICAgUHlfUkVUVVJOX05PTkU7CiAKICAgICByZXMgPSBQeU9iamVjdF9DYWxsTWV0aG9kT2JqQXJncyhzZWxmLCBfUHlJT19zdHJfZmx1c2gsIE5VTEwpOwotICAgIFB5T2JqZWN0X1NldEF0dHJTdHJpbmcoc2VsZiwgIl9fSU9CYXNlX2Nsb3NlZCIsIFB5X1RydWUpOworICAgIF9QeU9iamVjdF9TZXRBdHRySWQoc2VsZiwgJlB5SWRfX19JT0Jhc2VfY2xvc2VkLCBQeV9UcnVlKTsKICAgICBpZiAocmVzID09IE5VTEwpIHsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQpAQCAtNDY0LDEyICs0NTUsMTQgQEAKICAgICBpbnQgaGFzX3BlZWsgPSAwOwogICAgIFB5T2JqZWN0ICpidWZmZXIsICpyZXN1bHQ7CiAgICAgUHlfc3NpemVfdCBvbGRfc2l6ZSA9IC0xOworICAgIF9QeV9JREVOVElGSUVSKHJlYWQpOworICAgIF9QeV9JREVOVElGSUVSKHBlZWspOwogCiAgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJ8TyY6cmVhZGxpbmUiLCAmX1B5SU9fQ29udmVydFNzaXplX3QsICZsaW1pdCkpIHsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogCi0gICAgaWYgKFB5T2JqZWN0X0hhc0F0dHJTdHJpbmcoc2VsZiwgInBlZWsiKSkKKyAgICBpZiAoX1B5T2JqZWN0X0hhc0F0dHJJZChzZWxmLCAmUHlJZF9wZWVrKSkKICAgICAgICAgaGFzX3BlZWsgPSAxOwogCiAgICAgYnVmZmVyID0gUHlCeXRlQXJyYXlfRnJvbVN0cmluZ0FuZFNpemUoTlVMTCwgMCk7CkBAIC00ODEsNyArNDc0LDkgQEAKICAgICAgICAgUHlPYmplY3QgKmI7CiAKICAgICAgICAgaWYgKGhhc19wZWVrKSB7Ci0gICAgICAgICAgICBQeU9iamVjdCAqcmVhZGFoZWFkID0gUHlPYmplY3RfQ2FsbE1ldGhvZChzZWxmLCAicGVlayIsICJpIiwgMSk7CisgICAgICAgICAgICBfUHlfSURFTlRJRklFUihwZWVrKTsKKyAgICAgICAgICAgIFB5T2JqZWN0ICpyZWFkYWhlYWQgPSBfUHlPYmplY3RfQ2FsbE1ldGhvZElkKHNlbGYsICZQeUlkX3BlZWssICJpIiwgMSk7CisKICAgICAgICAgICAgIGlmIChyZWFkYWhlYWQgPT0gTlVMTCkKICAgICAgICAgICAgICAgICBnb3RvIGZhaWw7CiAgICAgICAgICAgICBpZiAoIVB5Qnl0ZXNfQ2hlY2socmVhZGFoZWFkKSkgewpAQCAtNTE1LDcgKzUxMCw3IEBACiAgICAgICAgICAgICBQeV9ERUNSRUYocmVhZGFoZWFkKTsKICAgICAgICAgfQogCi0gICAgICAgIGIgPSBQeU9iamVjdF9DYWxsTWV0aG9kKHNlbGYsICJyZWFkIiwgIm4iLCBucmVhZGFoZWFkKTsKKyAgICAgICAgYiA9IF9QeU9iamVjdF9DYWxsTWV0aG9kSWQoc2VsZiwgJlB5SWRfcmVhZCwgIm4iLCBucmVhZGFoZWFkKTsKICAgICAgICAgaWYgKGIgPT0gTlVMTCkKICAgICAgICAgICAgIGdvdG8gZmFpbDsKICAgICAgICAgaWYgKCFQeUJ5dGVzX0NoZWNrKGIpKSB7CkBAIC02MDEsNyArNTk2LDkgQEAKICAgICAgICAgLyogWFhYIHNwZWNpYWwtY2FzaW5nIHRoaXMgbWFkZSBzZW5zZSBpbiB0aGUgUHl0aG9uIHZlcnNpb24gaW4gb3JkZXIKICAgICAgICAgICAgdG8gcmVtb3ZlIHRoZSBieXRlY29kZSBpbnRlcnByZXRhdGlvbiBvdmVyaGVhZCwgYnV0IGl0IGNvdWxkCiAgICAgICAgICAgIHByb2JhYmx5IGJlIHJlbW92ZWQgaGVyZS4gKi8KLSAgICAgICAgUHlPYmplY3QgKnJldCA9IFB5T2JqZWN0X0NhbGxNZXRob2QocmVzdWx0LCAiZXh0ZW5kIiwgIk8iLCBzZWxmKTsKKyAgICAgICAgX1B5X0lERU5USUZJRVIoZXh0ZW5kKTsKKyAgICAgICAgUHlPYmplY3QgKnJldCA9IF9QeU9iamVjdF9DYWxsTWV0aG9kSWQocmVzdWx0LCAmUHlJZF9leHRlbmQsICJPIiwgc2VsZik7CisKICAgICAgICAgaWYgKHJldCA9PSBOVUxMKSB7CiAgICAgICAgICAgICBQeV9ERUNSRUYocmVzdWx0KTsKICAgICAgICAgICAgIHJldHVybiBOVUxMOwpAQCAtNzA0LDcgKzcwMSw3IEBACiB9OwogCiBzdGF0aWMgUHlHZXRTZXREZWYgaW9iYXNlX2dldHNldFtdID0gewotICAgIHsiX19kaWN0X18iLCAoZ2V0dGVyKWlvYmFzZV9nZXRfZGljdCwgTlVMTCwgTlVMTH0sCisgICAgeyJfX2RpY3RfXyIsIFB5T2JqZWN0X0dlbmVyaWNHZXREaWN0LCBOVUxMLCBOVUxMfSwKICAgICB7ImNsb3NlZCIsIChnZXR0ZXIpaW9iYXNlX2Nsb3NlZF9nZXQsIE5VTEwsIE5VTEx9LAogICAgIHtOVUxMfQogfTsKQEAgLTc4MSw4ICs3NzgsMTEgQEAKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogCi0gICAgaWYgKG4gPCAwKQotICAgICAgICByZXR1cm4gUHlPYmplY3RfQ2FsbE1ldGhvZChzZWxmLCAicmVhZGFsbCIsIE5VTEwpOworICAgIGlmIChuIDwgMCkgeworICAgICAgICBfUHlfSURFTlRJRklFUihyZWFkYWxsKTsKKworICAgICAgICByZXR1cm4gX1B5T2JqZWN0X0NhbGxNZXRob2RJZChzZWxmLCAmUHlJZF9yZWFkYWxsLCBOVUxMKTsKKyAgICB9CiAKICAgICAvKiBUT0RPOiBhbGxvY2F0ZSBhIGJ5dGVzIG9iamVjdCBkaXJlY3RseSBpbnN0ZWFkIGFuZCBtYW51YWxseSBjb25zdHJ1Y3QKICAgICAgICBhIHdyaXRhYmxlIG1lbW9yeXZpZXcgcG9pbnRpbmcgdG8gaXQuICovCkBAIC04MjMsOCArODIzLDkgQEAKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKICAgICB3aGlsZSAoMSkgewotICAgICAgICBQeU9iamVjdCAqZGF0YSA9IFB5T2JqZWN0X0NhbGxNZXRob2Qoc2VsZiwgInJlYWQiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImkiLCBERUZBVUxUX0JVRkZFUl9TSVpFKTsKKyAgICAgICAgX1B5X0lERU5USUZJRVIocmVhZCk7CisgICAgICAgIFB5T2JqZWN0ICpkYXRhID0gX1B5T2JqZWN0X0NhbGxNZXRob2RJZChzZWxmLCAmUHlJZF9yZWFkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImkiLCBERUZBVUxUX0JVRkZFUl9TSVpFKTsKICAgICAgICAgaWYgKCFkYXRhKSB7CiAgICAgICAgICAgICBQeV9ERUNSRUYoY2h1bmtzKTsKICAgICAgICAgICAgIHJldHVybiBOVUxMOwpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9faW8vc3RyaW5naW8uYyBiL01vZHVsZXMvX2lvL3N0cmluZ2lvLmMKaW5kZXggYzlkMTRiMS4uYzQ3OTRjOSAxMDA2NDQKLS0tIGEvTW9kdWxlcy9faW8vc3RyaW5naW8uYworKysgYi9Nb2R1bGVzL19pby9zdHJpbmdpby5jCkBAIC03LDEzICs3LDI1IEBACiAgICB0aGFuIHRoZSBlbmNsb3NlZCBzdHJpbmcsIGZvciBwcm9wZXIgZnVuY3Rpb25pbmcgb2YgX1B5SU9fZmluZF9saW5lX2VuZGluZy4KICovCiAKKyNkZWZpbmUgU1RBVEVfUkVBTElaRUQgMQorI2RlZmluZSBTVEFURV9BQ0NVTVVMQVRJTkcgMgorCiB0eXBlZGVmIHN0cnVjdCB7CiAgICAgUHlPYmplY3RfSEVBRAotICAgIFB5X1VOSUNPREUgKmJ1ZjsKKyAgICBQeV9VQ1M0ICpidWY7CiAgICAgUHlfc3NpemVfdCBwb3M7CiAgICAgUHlfc3NpemVfdCBzdHJpbmdfc2l6ZTsKICAgICBzaXplX3QgYnVmX3NpemU7CiAKKyAgICAvKiBUaGUgc3RyaW5naW8gb2JqZWN0IGNhbiBiZSBpbiB0d28gc3RhdGVzOiBhY2N1bXVsYXRpbmcgb3IgcmVhbGl6ZWQuCisgICAgICAgSW4gYWNjdW11bGF0aW5nIHN0YXRlLCB0aGUgaW50ZXJuYWwgYnVmZmVyIGNvbnRhaW5zIG5vdGhpbmcgYW5kCisgICAgICAgdGhlIGNvbnRlbnRzIGFyZSBnaXZlbiBieSB0aGUgZW1iZWRkZWQgX1B5QWNjdSBzdHJ1Y3R1cmUuCisgICAgICAgSW4gcmVhbGl6ZWQgc3RhdGUsIHRoZSBpbnRlcm5hbCBidWZmZXIgaXMgbWVhbmluZ2Z1bCBhbmQgdGhlCisgICAgICAgX1B5QWNjdSBpcyBkZXN0cm95ZWQuCisgICAgKi8KKyAgICBpbnQgc3RhdGU7CisgICAgX1B5QWNjdSBhY2N1OworCiAgICAgY2hhciBvazsgLyogaW5pdGlhbGl6ZWQ/ICovCiAgICAgY2hhciBjbG9zZWQ7CiAgICAgY2hhciByZWFkdW5pdmVyc2FsOwpAQCAtMjEsNyArMzMsNyBAQAogICAgIFB5T2JqZWN0ICpkZWNvZGVyOwogICAgIFB5T2JqZWN0ICpyZWFkbmw7CiAgICAgUHlPYmplY3QgKndyaXRlbmw7Ci0gICAgCisKICAgICBQeU9iamVjdCAqZGljdDsKICAgICBQeU9iamVjdCAqd2Vha3JlZmxpc3Q7CiB9IHN0cmluZ2lvOwpAQCAtNDAsNiArNTIsMTEgQEAKICAgICAgICAgcmV0dXJuIE5VTEw7IFwKICAgICB9CiAKKyNkZWZpbmUgRU5TVVJFX1JFQUxJWkVEKHNlbGYpIFwKKyAgICBpZiAocmVhbGl6ZShzZWxmKSA8IDApIHsgXAorICAgICAgICByZXR1cm4gTlVMTDsgXAorICAgIH0KKwogUHlEb2NfU1RSVkFSKHN0cmluZ2lvX2RvYywKICAgICAiVGV4dCBJL08gaW1wbGVtZW50YXRpb24gdXNpbmcgYW4gaW4tbWVtb3J5IGJ1ZmZlci5cbiIKICAgICAiXG4iCkBAIC01Niw3ICs3Myw3IEBACiAgICAgLyogSGVyZSwgdW5zaWduZWQgdHlwZXMgYXJlIHVzZWQgdG8gYXZvaWQgZGVhbGluZyB3aXRoIHNpZ25lZCBpbnRlZ2VyCiAgICAgICAgb3ZlcmZsb3csIHdoaWNoIGlzIHVuZGVmaW5lZCBpbiBDLiAqLwogICAgIHNpemVfdCBhbGxvYyA9IHNlbGYtPmJ1Zl9zaXplOwotICAgIFB5X1VOSUNPREUgKm5ld19idWYgPSBOVUxMOworICAgIFB5X1VDUzQgKm5ld19idWYgPSBOVUxMOwogCiAgICAgYXNzZXJ0KHNlbGYtPmJ1ZiAhPSBOVUxMKTsKIApAQCAtODQsMTAgKzEwMSw5IEBACiAgICAgICAgIGFsbG9jID0gc2l6ZSArIDE7CiAgICAgfQogCi0gICAgaWYgKGFsbG9jID4gKChzaXplX3QpLTEpIC8gc2l6ZW9mKFB5X1VOSUNPREUpKQorICAgIGlmIChhbGxvYyA+IFBZX1NJWkVfTUFYIC8gc2l6ZW9mKFB5X1VDUzQpKQogICAgICAgICBnb3RvIG92ZXJmbG93OwotICAgIG5ld19idWYgPSAoUHlfVU5JQ09ERSAqKVB5TWVtX1JlYWxsb2Moc2VsZi0+YnVmLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxsb2MgKiBzaXplb2YoUHlfVU5JQ09ERSkpOworICAgIG5ld19idWYgPSAoUHlfVUNTNCAqKVB5TWVtX1JlYWxsb2Moc2VsZi0+YnVmLCBhbGxvYyAqIHNpemVvZihQeV9VQ1M0KSk7CiAgICAgaWYgKG5ld19idWYgPT0gTlVMTCkgewogICAgICAgICBQeUVycl9Ob01lbW9yeSgpOwogICAgICAgICByZXR1cm4gLTE7CkBAIC0xMDMsMTQgKzExOSw2MiBAQAogICAgIHJldHVybiAtMTsKIH0KIAorc3RhdGljIFB5T2JqZWN0ICoKK21ha2VfaW50ZXJtZWRpYXRlKHN0cmluZ2lvICpzZWxmKQoreworICAgIFB5T2JqZWN0ICppbnRlcm1lZGlhdGUgPSBfUHlBY2N1X0ZpbmlzaCgmc2VsZi0+YWNjdSk7CisgICAgc2VsZi0+c3RhdGUgPSBTVEFURV9SRUFMSVpFRDsKKyAgICBpZiAoaW50ZXJtZWRpYXRlID09IE5VTEwpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIGlmIChfUHlBY2N1X0luaXQoJnNlbGYtPmFjY3UpIHx8CisgICAgICAgIF9QeUFjY3VfQWNjdW11bGF0ZSgmc2VsZi0+YWNjdSwgaW50ZXJtZWRpYXRlKSkgeworICAgICAgICBQeV9ERUNSRUYoaW50ZXJtZWRpYXRlKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorICAgIHNlbGYtPnN0YXRlID0gU1RBVEVfQUNDVU1VTEFUSU5HOworICAgIHJldHVybiBpbnRlcm1lZGlhdGU7Cit9CisKK3N0YXRpYyBpbnQKK3JlYWxpemUoc3RyaW5naW8gKnNlbGYpCit7CisgICAgUHlfc3NpemVfdCBsZW47CisgICAgUHlPYmplY3QgKmludGVybWVkaWF0ZTsKKworICAgIGlmIChzZWxmLT5zdGF0ZSA9PSBTVEFURV9SRUFMSVpFRCkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgYXNzZXJ0KHNlbGYtPnN0YXRlID09IFNUQVRFX0FDQ1VNVUxBVElORyk7CisgICAgc2VsZi0+c3RhdGUgPSBTVEFURV9SRUFMSVpFRDsKKworICAgIGludGVybWVkaWF0ZSA9IF9QeUFjY3VfRmluaXNoKCZzZWxmLT5hY2N1KTsKKyAgICBpZiAoaW50ZXJtZWRpYXRlID09IE5VTEwpCisgICAgICAgIHJldHVybiAtMTsKKworICAgIC8qIEFwcGVuZCB0aGUgaW50ZXJtZWRpYXRlIHN0cmluZyB0byB0aGUgaW50ZXJuYWwgYnVmZmVyLgorICAgICAgIFRoZSBsZW5ndGggc2hvdWxkIGJlIGVxdWFsIHRvIHRoZSBjdXJyZW50IGN1cnNvciBwb3NpdGlvbi4KKyAgICAgKi8KKyAgICBsZW4gPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChpbnRlcm1lZGlhdGUpOworICAgIGlmIChyZXNpemVfYnVmZmVyKHNlbGYsIGxlbikgPCAwKSB7CisgICAgICAgIFB5X0RFQ1JFRihpbnRlcm1lZGlhdGUpOworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorICAgIGlmICghUHlVbmljb2RlX0FzVUNTNChpbnRlcm1lZGlhdGUsIHNlbGYtPmJ1ZiwgbGVuLCAwKSkgeworICAgICAgICBQeV9ERUNSRUYoaW50ZXJtZWRpYXRlKTsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKworICAgIFB5X0RFQ1JFRihpbnRlcm1lZGlhdGUpOworICAgIHJldHVybiAwOworfQorCiAvKiBJbnRlcm5hbCByb3V0aW5lIGZvciB3cml0aW5nIGEgd2hvbGUgUHlVbmljb2RlIG9iamVjdCB0byB0aGUgYnVmZmVyIG9mIGEKICAgIFN0cmluZ0lPIG9iamVjdC4gUmV0dXJucyAwIG9uIHN1Y2Nlc3MsIG9yIC0xIG9uIGVycm9yLiAqLwogc3RhdGljIFB5X3NzaXplX3QKIHdyaXRlX3N0cihzdHJpbmdpbyAqc2VsZiwgUHlPYmplY3QgKm9iaikKIHsKLSAgICBQeV9VTklDT0RFICpzdHI7CiAgICAgUHlfc3NpemVfdCBsZW47CiAgICAgUHlPYmplY3QgKmRlY29kZWQgPSBOVUxMOworCiAgICAgYXNzZXJ0KHNlbGYtPmJ1ZiAhPSBOVUxMKTsKICAgICBhc3NlcnQoc2VsZi0+cG9zID49IDApOwogCkBAIC0xMzIsOSArMTk2LDExIEBACiAgICAgICAgIHJldHVybiAtMTsKIAogICAgIGFzc2VydChQeVVuaWNvZGVfQ2hlY2soZGVjb2RlZCkpOwotICAgIHN0ciA9IFB5VW5pY29kZV9BU19VTklDT0RFKGRlY29kZWQpOwotICAgIGxlbiA9IFB5VW5pY29kZV9HRVRfU0laRShkZWNvZGVkKTsKLQorICAgIGlmIChQeVVuaWNvZGVfUkVBRFkoZGVjb2RlZCkpIHsKKyAgICAgICAgUHlfREVDUkVGKGRlY29kZWQpOworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorICAgIGxlbiA9IFB5VW5pY29kZV9HRVRfTEVOR1RIKGRlY29kZWQpOwogICAgIGFzc2VydChsZW4gPj0gMCk7CiAKICAgICAvKiBUaGlzIG92ZXJmbG93IGNoZWNrIGlzIG5vdCBzdHJpY3RseSBuZWNlc3NhcnkuIEhvd2V2ZXIsIGl0IGF2b2lkcyB1cyB0bwpAQCAtMTQ1LDYgKzIxMSwxNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgIm5ldyBwb3NpdGlvbiB0b28gbGFyZ2UiKTsKICAgICAgICAgZ290byBmYWlsOwogICAgIH0KKworICAgIGlmIChzZWxmLT5zdGF0ZSA9PSBTVEFURV9BQ0NVTVVMQVRJTkcpIHsKKyAgICAgICAgaWYgKHNlbGYtPnN0cmluZ19zaXplID09IHNlbGYtPnBvcykgeworICAgICAgICAgICAgaWYgKF9QeUFjY3VfQWNjdW11bGF0ZSgmc2VsZi0+YWNjdSwgZGVjb2RlZCkpCisgICAgICAgICAgICAgICAgZ290byBmYWlsOworICAgICAgICAgICAgZ290byBzdWNjZXNzOworICAgICAgICB9CisgICAgICAgIGlmIChyZWFsaXplKHNlbGYpKQorICAgICAgICAgICAgZ290byBmYWlsOworICAgIH0KKwogICAgIGlmIChzZWxmLT5wb3MgKyBsZW4gPiBzZWxmLT5zdHJpbmdfc2l6ZSkgewogICAgICAgICBpZiAocmVzaXplX2J1ZmZlcihzZWxmLCBzZWxmLT5wb3MgKyBsZW4pIDwgMCkKICAgICAgICAgICAgIGdvdG8gZmFpbDsKQEAgLTE2MSwxOCArMjM4LDIyIEBACiAKICAgICAgICAgKi8KICAgICAgICAgbWVtc2V0KHNlbGYtPmJ1ZiArIHNlbGYtPnN0cmluZ19zaXplLCAnXDAnLAotICAgICAgICAgICAgICAgKHNlbGYtPnBvcyAtIHNlbGYtPnN0cmluZ19zaXplKSAqIHNpemVvZihQeV9VTklDT0RFKSk7CisgICAgICAgICAgICAgICAoc2VsZi0+cG9zIC0gc2VsZi0+c3RyaW5nX3NpemUpICogc2l6ZW9mKFB5X1VDUzQpKTsKICAgICB9CiAKICAgICAvKiBDb3B5IHRoZSBkYXRhIHRvIHRoZSBpbnRlcm5hbCBidWZmZXIsIG92ZXJ3cml0aW5nIHNvbWUgb2YgdGhlCiAgICAgICAgZXhpc3RpbmcgZGF0YSBpZiBzZWxmLT5wb3MgPCBzZWxmLT5zdHJpbmdfc2l6ZS4gKi8KLSAgICBtZW1jcHkoc2VsZi0+YnVmICsgc2VsZi0+cG9zLCBzdHIsIGxlbiAqIHNpemVvZihQeV9VTklDT0RFKSk7Ci0gICAgc2VsZi0+cG9zICs9IGxlbjsKKyAgICBpZiAoIVB5VW5pY29kZV9Bc1VDUzQoZGVjb2RlZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi0+YnVmICsgc2VsZi0+cG9zLAorICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLT5idWZfc2l6ZSAtIHNlbGYtPnBvcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgMCkpCisgICAgICAgIGdvdG8gZmFpbDsKIAorc3VjY2VzczoKICAgICAvKiBTZXQgdGhlIG5ldyBsZW5ndGggb2YgdGhlIGludGVybmFsIHN0cmluZyBpZiBpdCBoYXMgY2hhbmdlZC4gKi8KLSAgICBpZiAoc2VsZi0+c3RyaW5nX3NpemUgPCBzZWxmLT5wb3MpIHsKKyAgICBzZWxmLT5wb3MgKz0gbGVuOworICAgIGlmIChzZWxmLT5zdHJpbmdfc2l6ZSA8IHNlbGYtPnBvcykKICAgICAgICAgc2VsZi0+c3RyaW5nX3NpemUgPSBzZWxmLT5wb3M7Ci0gICAgfQogCiAgICAgUHlfREVDUkVGKGRlY29kZWQpOwogICAgIHJldHVybiAwOwpAQCAtMTkwLDcgKzI3MSwxMCBAQAogewogICAgIENIRUNLX0lOSVRJQUxJWkVEKHNlbGYpOwogICAgIENIRUNLX0NMT1NFRChzZWxmKTsKLSAgICByZXR1cm4gUHlVbmljb2RlX0Zyb21Vbmljb2RlKHNlbGYtPmJ1Ziwgc2VsZi0+c3RyaW5nX3NpemUpOworICAgIGlmIChzZWxmLT5zdGF0ZSA9PSBTVEFURV9BQ0NVTVVMQVRJTkcpCisgICAgICAgIHJldHVybiBtYWtlX2ludGVybWVkaWF0ZShzZWxmKTsKKyAgICByZXR1cm4gUHlVbmljb2RlX0Zyb21LaW5kQW5kRGF0YShQeVVuaWNvZGVfNEJZVEVfS0lORCwgc2VsZi0+YnVmLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYtPnN0cmluZ19zaXplKTsKIH0KIAogUHlEb2NfU1RSVkFSKHN0cmluZ2lvX3RlbGxfZG9jLApAQCAtMjE0LDcgKzI5OCw3IEBACiBzdHJpbmdpb19yZWFkKHN0cmluZ2lvICpzZWxmLCBQeU9iamVjdCAqYXJncykKIHsKICAgICBQeV9zc2l6ZV90IHNpemUsIG47Ci0gICAgUHlfVU5JQ09ERSAqb3V0cHV0OworICAgIFB5X1VDUzQgKm91dHB1dDsKICAgICBQeU9iamVjdCAqYXJnID0gUHlfTm9uZTsKIAogICAgIENIRUNLX0lOSVRJQUxJWkVEKHNlbGYpOwpAQCAtMjQ1LDIxICszMjksMjkgQEAKICAgICAgICAgICAgIHNpemUgPSAwOwogICAgIH0KIAorICAgIC8qIE9wdGltaXphdGlvbiBmb3Igc2VlaygwKTsgcmVhZCgpICovCisgICAgaWYgKHNlbGYtPnN0YXRlID09IFNUQVRFX0FDQ1VNVUxBVElORyAmJiBzZWxmLT5wb3MgPT0gMCAmJiBzaXplID09IG4pIHsKKyAgICAgICAgUHlPYmplY3QgKnJlc3VsdCA9IG1ha2VfaW50ZXJtZWRpYXRlKHNlbGYpOworICAgICAgICBzZWxmLT5wb3MgPSBzZWxmLT5zdHJpbmdfc2l6ZTsKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9CisKKyAgICBFTlNVUkVfUkVBTElaRUQoc2VsZik7CiAgICAgb3V0cHV0ID0gc2VsZi0+YnVmICsgc2VsZi0+cG9zOwogICAgIHNlbGYtPnBvcyArPSBzaXplOwotICAgIHJldHVybiBQeVVuaWNvZGVfRnJvbVVuaWNvZGUob3V0cHV0LCBzaXplKTsKKyAgICByZXR1cm4gUHlVbmljb2RlX0Zyb21LaW5kQW5kRGF0YShQeVVuaWNvZGVfNEJZVEVfS0lORCwgb3V0cHV0LCBzaXplKTsKIH0KIAogLyogSW50ZXJuYWwgaGVscGVyLCB1c2VkIGJ5IHN0cmluZ2lvX3JlYWRsaW5lIGFuZCBzdHJpbmdpb19pdGVybmV4dCAqLwogc3RhdGljIFB5T2JqZWN0ICoKIF9zdHJpbmdpb19yZWFkbGluZShzdHJpbmdpbyAqc2VsZiwgUHlfc3NpemVfdCBsaW1pdCkKIHsKLSAgICBQeV9VTklDT0RFICpzdGFydCwgKmVuZCwgb2xkX2NoYXI7CisgICAgUHlfVUNTNCAqc3RhcnQsICplbmQsIG9sZF9jaGFyOwogICAgIFB5X3NzaXplX3QgbGVuLCBjb25zdW1lZDsKIAogICAgIC8qIEluIGNhc2Ugb2Ygb3ZlcnNlZWssIHJldHVybiB0aGUgZW1wdHkgc3RyaW5nICovCiAgICAgaWYgKHNlbGYtPnBvcyA+PSBzZWxmLT5zdHJpbmdfc2l6ZSkKLSAgICAgICAgcmV0dXJuIFB5VW5pY29kZV9Gcm9tU3RyaW5nKCIiKTsKKyAgICAgICAgcmV0dXJuIFB5VW5pY29kZV9OZXcoMCwgMCk7CiAKICAgICBzdGFydCA9IHNlbGYtPmJ1ZiArIHNlbGYtPnBvczsKICAgICBpZiAobGltaXQgPCAwIHx8IGxpbWl0ID4gc2VsZi0+c3RyaW5nX3NpemUgLSBzZWxmLT5wb3MpCkBAIC0yNzAsMTQgKzM2MiwxNCBAQAogICAgICplbmQgPSAnXDAnOwogICAgIGxlbiA9IF9QeUlPX2ZpbmRfbGluZV9lbmRpbmcoCiAgICAgICAgIHNlbGYtPnJlYWR0cmFuc2xhdGUsIHNlbGYtPnJlYWR1bml2ZXJzYWwsIHNlbGYtPnJlYWRubCwKLSAgICAgICAgc3RhcnQsIGVuZCwgJmNvbnN1bWVkKTsKKyAgICAgICAgUHlVbmljb2RlXzRCWVRFX0tJTkQsIChjaGFyKilzdGFydCwgKGNoYXIqKWVuZCwgJmNvbnN1bWVkKTsKICAgICAqZW5kID0gb2xkX2NoYXI7CiAgICAgLyogSWYgd2UgaGF2ZW4ndCBmb3VuZCBhbnkgbGluZSBlbmRpbmcsIHdlIGp1c3QgcmV0dXJuIGV2ZXJ5dGhpbmcKICAgICAgICAoYGNvbnN1bWVkYCBpcyBpZ25vcmVkKS4gKi8KICAgICBpZiAobGVuIDwgMCkKICAgICAgICAgbGVuID0gbGltaXQ7CiAgICAgc2VsZi0+cG9zICs9IGxlbjsKLSAgICByZXR1cm4gUHlVbmljb2RlX0Zyb21Vbmljb2RlKHN0YXJ0LCBsZW4pOworICAgIHJldHVybiBQeVVuaWNvZGVfRnJvbUtpbmRBbmREYXRhKFB5VW5pY29kZV80QllURV9LSU5ELCBzdGFydCwgbGVuKTsKIH0KIAogUHlEb2NfU1RSVkFSKHN0cmluZ2lvX3JlYWRsaW5lX2RvYywKQEAgLTI5NSw2ICszODcsNyBAQAogICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAifE86cmVhZGxpbmUiLCAmYXJnKSkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgQ0hFQ0tfQ0xPU0VEKHNlbGYpOworICAgIEVOU1VSRV9SRUFMSVpFRChzZWxmKTsKIAogICAgIGlmIChQeU51bWJlcl9DaGVjayhhcmcpKSB7CiAgICAgICAgIGxpbWl0ID0gUHlOdW1iZXJfQXNTc2l6ZV90KGFyZywgUHlFeGNfT3ZlcmZsb3dFcnJvcik7CkBAIC0zMTYsNiArNDA5LDcgQEAKIAogICAgIENIRUNLX0lOSVRJQUxJWkVEKHNlbGYpOwogICAgIENIRUNLX0NMT1NFRChzZWxmKTsKKyAgICBFTlNVUkVfUkVBTElaRUQoc2VsZik7CiAKICAgICBpZiAoUHlfVFlQRShzZWxmKSA9PSAmUHlTdHJpbmdJT19UeXBlKSB7CiAgICAgICAgIC8qIFNraXAgbWV0aG9kIGNhbGwgb3ZlcmhlYWQgZm9yIHNwZWVkICovCkBAIC0zMzcsNyArNDMxLDcgQEAKICAgICBpZiAobGluZSA9PSBOVUxMKQogICAgICAgICByZXR1cm4gTlVMTDsKIAotICAgIGlmIChQeVVuaWNvZGVfR0VUX1NJWkUobGluZSkgPT0gMCkgeworICAgIGlmIChQeVVuaWNvZGVfR0VUX0xFTkdUSChsaW5lKSA9PSAwKSB7CiAgICAgICAgIC8qIFJlYWNoZWQgRU9GICovCiAgICAgICAgIFB5X0RFQ1JFRihsaW5lKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CkBAIC0zODYsNiArNDgwLDcgQEAKICAgICB9CiAKICAgICBpZiAoc2l6ZSA8IHNlbGYtPnN0cmluZ19zaXplKSB7CisgICAgICAgIEVOU1VSRV9SRUFMSVpFRChzZWxmKTsKICAgICAgICAgaWYgKHJlc2l6ZV9idWZmZXIoc2VsZiwgc2l6ZSkgPCAwKQogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgIHNlbGYtPnN0cmluZ19zaXplID0gc2l6ZTsKQEAgLTQ2Miw4ICs1NTcsMTAgQEAKICAgICAgICAgICAgICAgICAgICAgIFB5X1RZUEUob2JqKS0+dHBfbmFtZSk7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KKyAgICBpZiAoUHlVbmljb2RlX1JFQURZKG9iaikpCisgICAgICAgIHJldHVybiBOVUxMOwogICAgIENIRUNLX0NMT1NFRChzZWxmKTsKLSAgICBzaXplID0gUHlVbmljb2RlX0dFVF9TSVpFKG9iaik7CisgICAgc2l6ZSA9IFB5VW5pY29kZV9HRVRfTEVOR1RIKG9iaik7CiAKICAgICBpZiAoc2l6ZSA+IDAgJiYgd3JpdGVfc3RyKHNlbGYsIG9iaikgPCAwKQogICAgICAgICByZXR1cm4gTlVMTDsKQEAgLTQ4NCw2ICs1ODEsNyBAQAogICAgIC8qIEZyZWUgdXAgc29tZSBtZW1vcnkgKi8KICAgICBpZiAocmVzaXplX2J1ZmZlcihzZWxmLCAwKSA8IDApCiAgICAgICAgIHJldHVybiBOVUxMOworICAgIF9QeUFjY3VfRGVzdHJveSgmc2VsZi0+YWNjdSk7CiAgICAgUHlfQ0xFQVIoc2VsZi0+cmVhZG5sKTsKICAgICBQeV9DTEVBUihzZWxmLT53cml0ZW5sKTsKICAgICBQeV9DTEVBUihzZWxmLT5kZWNvZGVyKTsKQEAgLTUxMyw2ICs2MTEsNyBAQAogICAgICAgICBQeU1lbV9GcmVlKHNlbGYtPmJ1Zik7CiAgICAgICAgIHNlbGYtPmJ1ZiA9IE5VTEw7CiAgICAgfQorICAgIF9QeUFjY3VfRGVzdHJveSgmc2VsZi0+YWNjdSk7CiAgICAgUHlfQ0xFQVIoc2VsZi0+cmVhZG5sKTsKICAgICBQeV9DTEVBUihzZWxmLT53cml0ZW5sKTsKICAgICBQeV9DTEVBUihzZWxmLT5kZWNvZGVyKTsKQEAgLTUzNSw3ICs2MzQsNyBAQAogICAgIC8qIHRwX2FsbG9jIGluaXRpYWxpemVzIGFsbCB0aGUgZmllbGRzIHRvIHplcm8uIFNvIHdlIGRvbid0IGhhdmUgdG8KICAgICAgICBpbml0aWFsaXplIHRoZW0gaGVyZS4gKi8KIAotICAgIHNlbGYtPmJ1ZiA9IChQeV9VTklDT0RFICopUHlNZW1fTWFsbG9jKDApOworICAgIHNlbGYtPmJ1ZiA9IChQeV9VQ1M0ICopUHlNZW1fTWFsbG9jKDApOwogICAgIGlmIChzZWxmLT5idWYgPT0gTlVMTCkgewogICAgICAgICBQeV9ERUNSRUYoc2VsZik7CiAgICAgICAgIHJldHVybiBQeUVycl9Ob01lbW9yeSgpOwpAQCAtNTUxLDYgKzY1MCw3IEBACiAgICAgUHlPYmplY3QgKnZhbHVlID0gTlVMTDsKICAgICBQeU9iamVjdCAqbmV3bGluZV9vYmogPSBOVUxMOwogICAgIGNoYXIgKm5ld2xpbmUgPSAiXG4iOworICAgIFB5X3NzaXplX3QgdmFsdWVfbGVuOwogCiAgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dkcywgInxPTzpfX2luaXRfXyIsIGt3bGlzdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmdmFsdWUsICZuZXdsaW5lX29iaikpCkBAIC01OTIsNiArNjkyLDcgQEAKIAogICAgIHNlbGYtPm9rID0gMDsKIAorICAgIF9QeUFjY3VfRGVzdHJveSgmc2VsZi0+YWNjdSk7CiAgICAgUHlfQ0xFQVIoc2VsZi0+cmVhZG5sKTsKICAgICBQeV9DTEVBUihzZWxmLT53cml0ZW5sKTsKICAgICBQeV9DTEVBUihzZWxmLT5kZWNvZGVyKTsKQEAgLTYyOCwxOSArNzI5LDI3IEBACiAgICAgLyogTm93IGV2ZXJ5dGhpbmcgaXMgc2V0IHVwLCByZXNpemUgYnVmZmVyIHRvIHNpemUgb2YgaW5pdGlhbCB2YWx1ZSwKICAgICAgICBhbmQgY29weSBpdCAqLwogICAgIHNlbGYtPnN0cmluZ19zaXplID0gMDsKLSAgICBpZiAodmFsdWUgJiYgdmFsdWUgIT0gUHlfTm9uZSkgewotICAgICAgICBQeV9zc2l6ZV90IGxlbiA9IFB5VW5pY29kZV9HZXRTaXplKHZhbHVlKTsKKyAgICBpZiAodmFsdWUgJiYgdmFsdWUgIT0gUHlfTm9uZSkKKyAgICAgICAgdmFsdWVfbGVuID0gUHlVbmljb2RlX0dldExlbmd0aCh2YWx1ZSk7CisgICAgZWxzZQorICAgICAgICB2YWx1ZV9sZW4gPSAwOworICAgIGlmICh2YWx1ZV9sZW4gPiAwKSB7CiAgICAgICAgIC8qIFRoaXMgaXMgYSBoZXVyaXN0aWMsIGZvciBuZXdsaW5lIHRyYW5zbGF0aW9uIG1pZ2h0IGNoYW5nZQogICAgICAgICAgICB0aGUgc3RyaW5nIGxlbmd0aC4gKi8KLSAgICAgICAgaWYgKHJlc2l6ZV9idWZmZXIoc2VsZiwgbGVuKSA8IDApCisgICAgICAgIGlmIChyZXNpemVfYnVmZmVyKHNlbGYsIDApIDwgMCkKICAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgc2VsZi0+c3RhdGUgPSBTVEFURV9SRUFMSVpFRDsKICAgICAgICAgc2VsZi0+cG9zID0gMDsKICAgICAgICAgaWYgKHdyaXRlX3N0cihzZWxmLCB2YWx1ZSkgPCAwKQogICAgICAgICAgICAgcmV0dXJuIC0xOwogICAgIH0KICAgICBlbHNlIHsKKyAgICAgICAgLyogRW1wdHkgc3RyaW5naW8gb2JqZWN0LCB3ZSBjYW4gc3RhcnQgYnkgYWNjdW11bGF0aW5nICovCiAgICAgICAgIGlmIChyZXNpemVfYnVmZmVyKHNlbGYsIDApIDwgMCkKICAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgaWYgKF9QeUFjY3VfSW5pdCgmc2VsZi0+YWNjdSkpCisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIHNlbGYtPnN0YXRlID0gU1RBVEVfQUNDVU1VTEFUSU5HOwogICAgIH0KICAgICBzZWxmLT5wb3MgPSAwOwogCkBAIC03NDcsMTEgKzg1NiwyMiBAQAogICAgICAgIG9uY2UgYnkgX19pbml0X18uIFNvIHdlIGRvIG5vdCB0YWtlIGFueSBjaGFuY2UgYW5kIHJlcGxhY2Ugb2JqZWN0J3MKICAgICAgICBidWZmZXIgY29tcGxldGVseS4gKi8KICAgICB7Ci0gICAgICAgIFB5X1VOSUNPREUgKmJ1ZiA9IFB5VW5pY29kZV9BU19VTklDT0RFKFB5VHVwbGVfR0VUX0lURU0oc3RhdGUsIDApKTsKLSAgICAgICAgUHlfc3NpemVfdCBidWZzaXplID0gUHlVbmljb2RlX0dFVF9TSVpFKFB5VHVwbGVfR0VUX0lURU0oc3RhdGUsIDApKTsKLSAgICAgICAgaWYgKHJlc2l6ZV9idWZmZXIoc2VsZiwgYnVmc2l6ZSkgPCAwKQorICAgICAgICBQeU9iamVjdCAqaXRlbTsKKyAgICAgICAgUHlfVUNTNCAqYnVmOworICAgICAgICBQeV9zc2l6ZV90IGJ1ZnNpemU7CisKKyAgICAgICAgaXRlbSA9IFB5VHVwbGVfR0VUX0lURU0oc3RhdGUsIDApOworICAgICAgICBidWYgPSBQeVVuaWNvZGVfQXNVQ1M0Q29weShpdGVtKTsKKyAgICAgICAgaWYgKGJ1ZiA9PSBOVUxMKQogICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgIG1lbWNweShzZWxmLT5idWYsIGJ1ZiwgYnVmc2l6ZSAqIHNpemVvZihQeV9VTklDT0RFKSk7CisgICAgICAgIGJ1ZnNpemUgPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChpdGVtKTsKKworICAgICAgICBpZiAocmVzaXplX2J1ZmZlcihzZWxmLCBidWZzaXplKSA8IDApIHsKKyAgICAgICAgICAgIFB5TWVtX0ZyZWUoYnVmKTsKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICB9CisgICAgICAgIG1lbWNweShzZWxmLT5idWYsIGJ1ZiwgYnVmc2l6ZSAqIHNpemVvZihQeV9VQ1M0KSk7CisgICAgICAgIFB5TWVtX0ZyZWUoYnVmKTsKICAgICAgICAgc2VsZi0+c3RyaW5nX3NpemUgPSBidWZzaXplOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvTW9kdWxlcy9faW8vdGV4dGlvLmMgYi9Nb2R1bGVzL19pby90ZXh0aW8uYwppbmRleCBiYWYwYTk3Li44MzNhNTI3IDEwMDY0NAotLS0gYS9Nb2R1bGVzL19pby90ZXh0aW8uYworKysgYi9Nb2R1bGVzL19pby90ZXh0aW8uYwpAQCAtMTEsNiArMTEsMjcgQEAKICNpbmNsdWRlICJzdHJ1Y3RtZW1iZXIuaCIKICNpbmNsdWRlICJfaW9tb2R1bGUuaCIKIAorX1B5X0lERU5USUZJRVIoY2xvc2UpOworX1B5X0lERU5USUZJRVIoX2RlYWxsb2Nfd2Fybik7CitfUHlfSURFTlRJRklFUihkZWNvZGUpOworX1B5X0lERU5USUZJRVIoZmlsZW5vKTsKK19QeV9JREVOVElGSUVSKGZsdXNoKTsKK19QeV9JREVOVElGSUVSKGdldHByZWZlcnJlZGVuY29kaW5nKTsKK19QeV9JREVOVElGSUVSKGlzYXR0eSk7CitfUHlfSURFTlRJRklFUihtb2RlKTsKK19QeV9JREVOVElGSUVSKG5hbWUpOworX1B5X0lERU5USUZJRVIocmF3KTsKK19QeV9JREVOVElGSUVSKHJlYWQpOworX1B5X0lERU5USUZJRVIocmVhZDEpOworX1B5X0lERU5USUZJRVIocmVhZGFibGUpOworX1B5X0lERU5USUZJRVIocmVwbGFjZSk7CitfUHlfSURFTlRJRklFUihyZXNldCk7CitfUHlfSURFTlRJRklFUihzZWVrKTsKK19QeV9JREVOVElGSUVSKHNlZWthYmxlKTsKK19QeV9JREVOVElGSUVSKHNldHN0YXRlKTsKK19QeV9JREVOVElGSUVSKHRlbGwpOworX1B5X0lERU5USUZJRVIod3JpdGFibGUpOworCiAvKiBUZXh0SU9CYXNlICovCiAKIFB5RG9jX1NUUlZBUih0ZXh0aW9iYXNlX2RvYywKQEAgLTI3NCwxOCArMjk1LDI2IEBACiAgICAgICAgIGdvdG8gZXJyb3I7CiAgICAgfQogCi0gICAgb3V0cHV0X2xlbiA9IFB5VW5pY29kZV9HRVRfU0laRShvdXRwdXQpOworICAgIGlmIChQeVVuaWNvZGVfUkVBRFkob3V0cHV0KSA9PSAtMSkKKyAgICAgICAgZ290byBlcnJvcjsKKworICAgIG91dHB1dF9sZW4gPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChvdXRwdXQpOwogICAgIGlmIChzZWxmLT5wZW5kaW5nY3IgJiYgKGZpbmFsIHx8IG91dHB1dF9sZW4gPiAwKSkgewotICAgICAgICBQeV9VTklDT0RFICpvdXQ7Ci0gICAgICAgIFB5T2JqZWN0ICptb2RpZmllZCA9IFB5VW5pY29kZV9Gcm9tVW5pY29kZShOVUxMLCBvdXRwdXRfbGVuICsgMSk7CisgICAgICAgIC8qIFByZWZpeCBvdXRwdXQgd2l0aCBDUiAqLworICAgICAgICBpbnQga2luZDsKKyAgICAgICAgUHlPYmplY3QgKm1vZGlmaWVkOworICAgICAgICBjaGFyICpvdXQ7CisKKyAgICAgICAgbW9kaWZpZWQgPSBQeVVuaWNvZGVfTmV3KG91dHB1dF9sZW4gKyAxLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX01BWF9DSEFSX1ZBTFVFKG91dHB1dCkpOwogICAgICAgICBpZiAobW9kaWZpZWQgPT0gTlVMTCkKICAgICAgICAgICAgIGdvdG8gZXJyb3I7Ci0gICAgICAgIG91dCA9IFB5VW5pY29kZV9BU19VTklDT0RFKG1vZGlmaWVkKTsKLSAgICAgICAgb3V0WzBdID0gJ1xyJzsKLSAgICAgICAgbWVtY3B5KG91dCArIDEsIFB5VW5pY29kZV9BU19VTklDT0RFKG91dHB1dCksCi0gICAgICAgICAgICAgICBvdXRwdXRfbGVuICogc2l6ZW9mKFB5X1VOSUNPREUpKTsKKyAgICAgICAga2luZCA9IFB5VW5pY29kZV9LSU5EKG1vZGlmaWVkKTsKKyAgICAgICAgb3V0ID0gUHlVbmljb2RlX0RBVEEobW9kaWZpZWQpOworICAgICAgICBQeVVuaWNvZGVfV1JJVEUoa2luZCwgUHlVbmljb2RlX0RBVEEobW9kaWZpZWQpLCAwLCAnXHInKTsKKyAgICAgICAgbWVtY3B5KG91dCArIGtpbmQsIFB5VW5pY29kZV9EQVRBKG91dHB1dCksIGtpbmQgKiBvdXRwdXRfbGVuKTsKICAgICAgICAgUHlfREVDUkVGKG91dHB1dCk7Ci0gICAgICAgIG91dHB1dCA9IG1vZGlmaWVkOworICAgICAgICBvdXRwdXQgPSBtb2RpZmllZDsgLyogb3V0cHV0IHJlbWFpbnMgcmVhZHkgKi8KICAgICAgICAgc2VsZi0+cGVuZGluZ2NyID0gMDsKICAgICAgICAgb3V0cHV0X2xlbisrOwogICAgIH0KQEAgLTI5NSwyMSArMzI0LDEzIEBACiAgICAgICovCiAgICAgaWYgKCFmaW5hbCkgewogICAgICAgICBpZiAob3V0cHV0X2xlbiA+IDAKLSAgICAgICAgICAgICYmIFB5VW5pY29kZV9BU19VTklDT0RFKG91dHB1dClbb3V0cHV0X2xlbiAtIDFdID09ICdccicpIHsKLQotICAgICAgICAgICAgaWYgKFB5X1JFRkNOVChvdXRwdXQpID09IDEpIHsKLSAgICAgICAgICAgICAgICBpZiAoUHlVbmljb2RlX1Jlc2l6ZSgmb3V0cHV0LCBvdXRwdXRfbGVuIC0gMSkgPCAwKQotICAgICAgICAgICAgICAgICAgICBnb3RvIGVycm9yOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICAgICAgUHlPYmplY3QgKm1vZGlmaWVkID0gUHlVbmljb2RlX0Zyb21Vbmljb2RlKAotICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfQVNfVU5JQ09ERShvdXRwdXQpLAotICAgICAgICAgICAgICAgICAgICBvdXRwdXRfbGVuIC0gMSk7Ci0gICAgICAgICAgICAgICAgaWYgKG1vZGlmaWVkID09IE5VTEwpCi0gICAgICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7Ci0gICAgICAgICAgICAgICAgUHlfREVDUkVGKG91dHB1dCk7Ci0gICAgICAgICAgICAgICAgb3V0cHV0ID0gbW9kaWZpZWQ7Ci0gICAgICAgICAgICB9CisgICAgICAgICAgICAmJiBQeVVuaWNvZGVfUkVBRF9DSEFSKG91dHB1dCwgb3V0cHV0X2xlbiAtIDEpID09ICdccicpCisgICAgICAgIHsKKyAgICAgICAgICAgIFB5T2JqZWN0ICptb2RpZmllZCA9IFB5VW5pY29kZV9TdWJzdHJpbmcob3V0cHV0LCAwLCBvdXRwdXRfbGVuIC0xKTsKKyAgICAgICAgICAgIGlmIChtb2RpZmllZCA9PSBOVUxMKQorICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgICAgICBQeV9ERUNSRUYob3V0cHV0KTsKKyAgICAgICAgICAgIG91dHB1dCA9IG1vZGlmaWVkOwogICAgICAgICAgICAgc2VsZi0+cGVuZGluZ2NyID0gMTsKICAgICAgICAgfQogICAgIH0KQEAgLTMxNywxMyArMzM4LDE1IEBACiAgICAgLyogUmVjb3JkIHdoaWNoIG5ld2xpbmVzIGFyZSByZWFkIGFuZCBkbyBuZXdsaW5lIHRyYW5zbGF0aW9uIGlmIGRlc2lyZWQsCiAgICAgICAgYWxsIGluIG9uZSBwYXNzLiAqLwogICAgIHsKLSAgICAgICAgUHlfVU5JQ09ERSAqaW5fc3RyOworICAgICAgICB2b2lkICppbl9zdHI7CiAgICAgICAgIFB5X3NzaXplX3QgbGVuOwogICAgICAgICBpbnQgc2Vlbm5sID0gc2VsZi0+c2Vlbm5sOwogICAgICAgICBpbnQgb25seV9sZiA9IDA7CisgICAgICAgIGludCBraW5kOwogCi0gICAgICAgIGluX3N0ciA9IFB5VW5pY29kZV9BU19VTklDT0RFKG91dHB1dCk7Ci0gICAgICAgIGxlbiA9IFB5VW5pY29kZV9HRVRfU0laRShvdXRwdXQpOworICAgICAgICBpbl9zdHIgPSBQeVVuaWNvZGVfREFUQShvdXRwdXQpOworICAgICAgICBsZW4gPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChvdXRwdXQpOworICAgICAgICBraW5kID0gUHlVbmljb2RlX0tJTkQob3V0cHV0KTsKIAogICAgICAgICBpZiAobGVuID09IDApCiAgICAgICAgICAgICByZXR1cm4gb3V0cHV0OwpAQCAtMzMyLDcgKzM1NSw3IEBACiAgICAgICAgICAgIGZvciB0aGUgXHIgKmJ5dGUqIHdpdGggdGhlIGxpYmMncyBvcHRpbWl6ZWQgbWVtY2hyLgogICAgICAgICAgICAqLwogICAgICAgICBpZiAoc2Vlbm5sID09IFNFRU5fTEYgfHwgc2Vlbm5sID09IDApIHsKLSAgICAgICAgICAgIG9ubHlfbGYgPSAobWVtY2hyKGluX3N0ciwgJ1xyJywgbGVuICogc2l6ZW9mKFB5X1VOSUNPREUpKSA9PSBOVUxMKTsKKyAgICAgICAgICAgIG9ubHlfbGYgPSAobWVtY2hyKGluX3N0ciwgJ1xyJywga2luZCAqIGxlbikgPT0gTlVMTCk7CiAgICAgICAgIH0KIAogICAgICAgICBpZiAob25seV9sZikgewpAQCAtMzQwLDUxICszNjMsNTEgQEAKICAgICAgICAgICAgICAgICh0aGVyZSdzIG5vdGhpbmcgZWxzZSB0byBiZSBkb25lLCBldmVuIHdoZW4gaW4gdHJhbnNsYXRpb24gbW9kZSkKICAgICAgICAgICAgICovCiAgICAgICAgICAgICBpZiAoc2Vlbm5sID09IDAgJiYKLSAgICAgICAgICAgICAgICBtZW1jaHIoaW5fc3RyLCAnXG4nLCBsZW4gKiBzaXplb2YoUHlfVU5JQ09ERSkpICE9IE5VTEwpIHsKLSAgICAgICAgICAgICAgICBQeV9VTklDT0RFICpzLCAqZW5kOwotICAgICAgICAgICAgICAgIHMgPSBpbl9zdHI7Ci0gICAgICAgICAgICAgICAgZW5kID0gaW5fc3RyICsgbGVuOwotICAgICAgICAgICAgICAgIGZvciAoOzspIHsKLSAgICAgICAgICAgICAgICAgICAgUHlfVU5JQ09ERSBjOwotICAgICAgICAgICAgICAgICAgICAvKiBGYXN0IGxvb3AgZm9yIG5vbi1jb250cm9sIGNoYXJhY3RlcnMgKi8KLSAgICAgICAgICAgICAgICAgICAgd2hpbGUgKCpzID4gJ1xuJykKLSAgICAgICAgICAgICAgICAgICAgICAgIHMrKzsKLSAgICAgICAgICAgICAgICAgICAgYyA9ICpzKys7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChjID09ICdcbicpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIHNlZW5ubCB8PSBTRUVOX0xGOwotICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgbWVtY2hyKGluX3N0ciwgJ1xuJywga2luZCAqIGxlbikgIT0gTlVMTCkgeworICAgICAgICAgICAgICAgIGlmIChraW5kID09IFB5VW5pY29kZV8xQllURV9LSU5EKQorICAgICAgICAgICAgICAgICAgICBzZWVubmwgfD0gU0VFTl9MRjsKKyAgICAgICAgICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBpID0gMDsKKyAgICAgICAgICAgICAgICAgICAgZm9yICg7OykgeworICAgICAgICAgICAgICAgICAgICAgICAgUHlfVUNTNCBjOworICAgICAgICAgICAgICAgICAgICAgICAgLyogRmFzdCBsb29wIGZvciBub24tY29udHJvbCBjaGFyYWN0ZXJzICovCisgICAgICAgICAgICAgICAgICAgICAgICB3aGlsZSAoUHlVbmljb2RlX1JFQUQoa2luZCwgaW5fc3RyLCBpKSA+ICdcbicpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaSsrOworICAgICAgICAgICAgICAgICAgICAgICAgYyA9IFB5VW5pY29kZV9SRUFEKGtpbmQsIGluX3N0ciwgaSsrKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjID09ICdcbicpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWVubmwgfD0gU0VFTl9MRjsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpID49IGxlbikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICBpZiAocyA+IGVuZCkKLSAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KICAgICAgICAgICAgIC8qIEZpbmlzaGVkOiB3ZSBoYXZlIHNjYW5uZWQgZm9yIG5ld2xpbmVzLCBhbmQgbm9uZSBvZiB0aGVtCiAgICAgICAgICAgICAgICBuZWVkIHRyYW5zbGF0aW5nICovCiAgICAgICAgIH0KICAgICAgICAgZWxzZSBpZiAoIXNlbGYtPnRyYW5zbGF0ZSkgewotICAgICAgICAgICAgUHlfVU5JQ09ERSAqcywgKmVuZDsKKyAgICAgICAgICAgIFB5X3NzaXplX3QgaSA9IDA7CiAgICAgICAgICAgICAvKiBXZSBoYXZlIGFscmVhZHkgc2VlbiBhbGwgbmV3bGluZSB0eXBlcywgbm8gbmVlZCB0byBzY2FuIGFnYWluICovCiAgICAgICAgICAgICBpZiAoc2Vlbm5sID09IFNFRU5fQUxMKQogICAgICAgICAgICAgICAgIGdvdG8gZW5kc2NhbjsKLSAgICAgICAgICAgIHMgPSBpbl9zdHI7Ci0gICAgICAgICAgICBlbmQgPSBpbl9zdHIgKyBsZW47CiAgICAgICAgICAgICBmb3IgKDs7KSB7Ci0gICAgICAgICAgICAgICAgUHlfVU5JQ09ERSBjOworICAgICAgICAgICAgICAgIFB5X1VDUzQgYzsKICAgICAgICAgICAgICAgICAvKiBGYXN0IGxvb3AgZm9yIG5vbi1jb250cm9sIGNoYXJhY3RlcnMgKi8KLSAgICAgICAgICAgICAgICB3aGlsZSAoKnMgPiAnXHInKQotICAgICAgICAgICAgICAgICAgICBzKys7Ci0gICAgICAgICAgICAgICAgYyA9ICpzKys7CisgICAgICAgICAgICAgICAgd2hpbGUgKFB5VW5pY29kZV9SRUFEKGtpbmQsIGluX3N0ciwgaSkgPiAnXHInKQorICAgICAgICAgICAgICAgICAgICBpKys7CisgICAgICAgICAgICAgICAgYyA9IFB5VW5pY29kZV9SRUFEKGtpbmQsIGluX3N0ciwgaSsrKTsKICAgICAgICAgICAgICAgICBpZiAoYyA9PSAnXG4nKQogICAgICAgICAgICAgICAgICAgICBzZWVubmwgfD0gU0VFTl9MRjsKICAgICAgICAgICAgICAgICBlbHNlIGlmIChjID09ICdccicpIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKCpzID09ICdcbicpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKFB5VW5pY29kZV9SRUFEKGtpbmQsIGluX3N0ciwgaSkgPT0gJ1xuJykgewogICAgICAgICAgICAgICAgICAgICAgICAgc2Vlbm5sIHw9IFNFRU5fQ1JMRjsKLSAgICAgICAgICAgICAgICAgICAgICAgIHMrKzsKKyAgICAgICAgICAgICAgICAgICAgICAgIGkrKzsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICBzZWVubmwgfD0gU0VFTl9DUjsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgaWYgKHMgPiBlbmQpCisgICAgICAgICAgICAgICAgaWYgKGkgPj0gbGVuKQogICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICBpZiAoc2Vlbm5sID09IFNFRU5fQUxMKQogICAgICAgICAgICAgICAgICAgICBicmVhazsKQEAgLTM5Myw2MSArNDE2LDUxIEBACiAgICAgICAgICAgICA7CiAgICAgICAgIH0KICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICBQeU9iamVjdCAqdHJhbnNsYXRlZCA9IE5VTEw7Ci0gICAgICAgICAgICBQeV9VTklDT0RFICpvdXRfc3RyOwotICAgICAgICAgICAgUHlfVU5JQ09ERSAqaW4sICpvdXQsICplbmQ7Ci0gICAgICAgICAgICBpZiAoUHlfUkVGQ05UKG91dHB1dCkgIT0gMSkgewotICAgICAgICAgICAgICAgIC8qIFdlIGNvdWxkIHRyeSB0byBvcHRpbWl6ZSB0aGlzIHNvIHRoYXQgd2Ugb25seSBkbyBhIGNvcHkKLSAgICAgICAgICAgICAgICAgICB3aGVuIHRoZXJlIGlzIHNvbWV0aGluZyB0byB0cmFuc2xhdGUuIE9uIHRoZSBvdGhlciBoYW5kLAotICAgICAgICAgICAgICAgICAgIG1vc3QgZGVjb2RlcnMgc2hvdWxkIG9ubHkgb3V0cHV0IG5vbi1zaGFyZWQgc3RyaW5ncywgaS5lLgotICAgICAgICAgICAgICAgICAgIHRyYW5zbGF0aW9uIGlzIGRvbmUgaW4gcGxhY2UuICovCi0gICAgICAgICAgICAgICAgdHJhbnNsYXRlZCA9IFB5VW5pY29kZV9Gcm9tVW5pY29kZShOVUxMLCBsZW4pOwotICAgICAgICAgICAgICAgIGlmICh0cmFuc2xhdGVkID09IE5VTEwpCi0gICAgICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7Ci0gICAgICAgICAgICAgICAgYXNzZXJ0KFB5X1JFRkNOVCh0cmFuc2xhdGVkKSA9PSAxKTsKLSAgICAgICAgICAgICAgICBtZW1jcHkoUHlVbmljb2RlX0FTX1VOSUNPREUodHJhbnNsYXRlZCksCi0gICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9BU19VTklDT0RFKG91dHB1dCksCi0gICAgICAgICAgICAgICAgICAgICAgIGxlbiAqIHNpemVvZihQeV9VTklDT0RFKSk7CisgICAgICAgICAgICB2b2lkICp0cmFuc2xhdGVkOworICAgICAgICAgICAgaW50IGtpbmQgPSBQeVVuaWNvZGVfS0lORChvdXRwdXQpOworICAgICAgICAgICAgdm9pZCAqaW5fc3RyID0gUHlVbmljb2RlX0RBVEEob3V0cHV0KTsKKyAgICAgICAgICAgIFB5X3NzaXplX3QgaW4sIG91dDsKKyAgICAgICAgICAgIC8qIFhYWDogUHJldmlvdXMgaW4tcGxhY2UgdHJhbnNsYXRpb24gaGVyZSBpcyBkaXNhYmxlZCBhcworICAgICAgICAgICAgICAgcmVzaXppbmcgaXMgbm90IHBvc3NpYmxlIGFueW1vcmUgKi8KKyAgICAgICAgICAgIC8qIFdlIGNvdWxkIHRyeSB0byBvcHRpbWl6ZSB0aGlzIHNvIHRoYXQgd2Ugb25seSBkbyBhIGNvcHkKKyAgICAgICAgICAgICAgIHdoZW4gdGhlcmUgaXMgc29tZXRoaW5nIHRvIHRyYW5zbGF0ZS4gT24gdGhlIG90aGVyIGhhbmQsCisgICAgICAgICAgICAgICB3ZSBhbHJlYWR5IGtub3cgdGhlcmUgaXMgYSBcciBieXRlLCBzbyBjaGFuY2VzIGFyZSBoaWdoCisgICAgICAgICAgICAgICB0aGF0IHNvbWV0aGluZyBuZWVkcyB0byBiZSBkb25lLiAqLworICAgICAgICAgICAgdHJhbnNsYXRlZCA9IFB5TWVtX01hbGxvYyhraW5kICogbGVuKTsKKyAgICAgICAgICAgIGlmICh0cmFuc2xhdGVkID09IE5VTEwpIHsKKyAgICAgICAgICAgICAgICBQeUVycl9Ob01lbW9yeSgpOworICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgICAgICB0cmFuc2xhdGVkID0gb3V0cHV0OwotICAgICAgICAgICAgfQotICAgICAgICAgICAgb3V0X3N0ciA9IFB5VW5pY29kZV9BU19VTklDT0RFKHRyYW5zbGF0ZWQpOwotICAgICAgICAgICAgaW4gPSBpbl9zdHI7Ci0gICAgICAgICAgICBvdXQgPSBvdXRfc3RyOwotICAgICAgICAgICAgZW5kID0gaW5fc3RyICsgbGVuOworICAgICAgICAgICAgaW4gPSBvdXQgPSAwOwogICAgICAgICAgICAgZm9yICg7OykgewotICAgICAgICAgICAgICAgIFB5X1VOSUNPREUgYzsKKyAgICAgICAgICAgICAgICBQeV9VQ1M0IGM7CiAgICAgICAgICAgICAgICAgLyogRmFzdCBsb29wIGZvciBub24tY29udHJvbCBjaGFyYWN0ZXJzICovCi0gICAgICAgICAgICAgICAgd2hpbGUgKChjID0gKmluKyspID4gJ1xyJykKLSAgICAgICAgICAgICAgICAgICAgKm91dCsrID0gYzsKKyAgICAgICAgICAgICAgICB3aGlsZSAoKGMgPSBQeVVuaWNvZGVfUkVBRChraW5kLCBpbl9zdHIsIGluKyspKSA+ICdccicpCisgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9XUklURShraW5kLCB0cmFuc2xhdGVkLCBvdXQrKywgYyk7CiAgICAgICAgICAgICAgICAgaWYgKGMgPT0gJ1xuJykgewotICAgICAgICAgICAgICAgICAgICAqb3V0KysgPSBjOworICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfV1JJVEUoa2luZCwgdHJhbnNsYXRlZCwgb3V0KyssIGMpOwogICAgICAgICAgICAgICAgICAgICBzZWVubmwgfD0gU0VFTl9MRjsKICAgICAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIGlmIChjID09ICdccicpIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKCppbiA9PSAnXG4nKSB7CisgICAgICAgICAgICAgICAgICAgIGlmIChQeVVuaWNvZGVfUkVBRChraW5kLCBpbl9zdHIsIGluKSA9PSAnXG4nKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBpbisrOwogICAgICAgICAgICAgICAgICAgICAgICAgc2Vlbm5sIHw9IFNFRU5fQ1JMRjsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICBzZWVubmwgfD0gU0VFTl9DUjsKLSAgICAgICAgICAgICAgICAgICAgKm91dCsrID0gJ1xuJzsKKyAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX1dSSVRFKGtpbmQsIHRyYW5zbGF0ZWQsIG91dCsrLCAnXG4nKTsKICAgICAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGlmIChpbiA+IGVuZCkKKyAgICAgICAgICAgICAgICBpZiAoaW4gPiBsZW4pCiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgICpvdXQrKyA9IGM7CisgICAgICAgICAgICAgICAgUHlVbmljb2RlX1dSSVRFKGtpbmQsIHRyYW5zbGF0ZWQsIG91dCsrLCBjKTsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlmICh0cmFuc2xhdGVkICE9IG91dHB1dCkgewotICAgICAgICAgICAgICAgIFB5X0RFQ1JFRihvdXRwdXQpOwotICAgICAgICAgICAgICAgIG91dHB1dCA9IHRyYW5zbGF0ZWQ7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBpZiAob3V0IC0gb3V0X3N0ciAhPSBsZW4pIHsKLSAgICAgICAgICAgICAgICBpZiAoUHlVbmljb2RlX1Jlc2l6ZSgmb3V0cHV0LCBvdXQgLSBvdXRfc3RyKSA8IDApCi0gICAgICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7Ci0gICAgICAgICAgICB9CisgICAgICAgICAgICBQeV9ERUNSRUYob3V0cHV0KTsKKyAgICAgICAgICAgIG91dHB1dCA9IFB5VW5pY29kZV9Gcm9tS2luZEFuZERhdGEoa2luZCwgdHJhbnNsYXRlZCwgb3V0KTsKKyAgICAgICAgICAgIFB5TWVtX0ZyZWUodHJhbnNsYXRlZCk7CisgICAgICAgICAgICBpZiAoIW91dHB1dCkKKyAgICAgICAgICAgICAgICBnb3RvIGVycm9yOwogICAgICAgICB9CiAgICAgICAgIHNlbGYtPnNlZW5ubCB8PSBzZWVubmw7CiAgICAgfQpAQCAtNTE0LDggKzUyNyw4IEBACiAgICAgZmxhZyA+Pj0gMTsKIAogICAgIGlmIChzZWxmLT5kZWNvZGVyICE9IFB5X05vbmUpCi0gICAgICAgIHJldHVybiBQeU9iamVjdF9DYWxsTWV0aG9kKHNlbGYtPmRlY29kZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzZXRzdGF0ZSIsICIoKE9LKSkiLCBidWZmZXIsIGZsYWcpOworICAgICAgICByZXR1cm4gX1B5T2JqZWN0X0NhbGxNZXRob2RJZChzZWxmLT5kZWNvZGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmUHlJZF9zZXRzdGF0ZSwgIigoT0spKSIsIGJ1ZmZlciwgZmxhZyk7CiAgICAgZWxzZQogICAgICAgICBQeV9SRVRVUk5fTk9ORTsKIH0KQEAgLTY4MCwxMiArNjkzLDE2IEBACiAgICAgUHlPYmplY3QgKnBlbmRpbmdfYnl0ZXM7ICAgICAgIC8qIGxpc3Qgb2YgYnl0ZXMgb2JqZWN0cyB3YWl0aW5nIHRvIGJlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdyaXR0ZW4sIG9yIE5VTEwgKi8KICAgICBQeV9zc2l6ZV90IHBlbmRpbmdfYnl0ZXNfY291bnQ7Ci0gICAgUHlPYmplY3QgKnNuYXBzaG90OworCiAgICAgLyogc25hcHNob3QgaXMgZWl0aGVyIE5vbmUsIG9yIGEgdHVwbGUgKGRlY19mbGFncywgbmV4dF9pbnB1dCkgd2hlcmUKICAgICAgKiBkZWNfZmxhZ3MgaXMgdGhlIHNlY29uZCAoaW50ZWdlcikgaXRlbSBvZiB0aGUgZGVjb2RlciBzdGF0ZSBhbmQKICAgICAgKiBuZXh0X2lucHV0IGlzIHRoZSBjaHVuayBvZiBpbnB1dCBieXRlcyB0aGF0IGNvbWVzIG5leHQgYWZ0ZXIgdGhlCiAgICAgICogc25hcHNob3QgcG9pbnQuICBXZSB1c2UgdGhpcyB0byByZWNvbnN0cnVjdCBkZWNvZGVyIHN0YXRlcyBpbiB0ZWxsKCkuCiAgICAgICovCisgICAgUHlPYmplY3QgKnNuYXBzaG90OworICAgIC8qIEJ5dGVzLXRvLWNoYXJhY3RlcnMgcmF0aW8gZm9yIHRoZSBjdXJyZW50IGNodW5rLiBTZXJ2ZXMgYXMgaW5wdXQgZm9yCisgICAgICAgdGhlIGhldXJpc3RpYyBpbiB0ZWxsKCkuICovCisgICAgZG91YmxlIGIyY3JhdGlvOwogCiAgICAgLyogQ2FjaGUgcmF3IG9iamVjdCBpZiBpdCdzIGEgRmlsZUlPIG9iamVjdCAqLwogICAgIFB5T2JqZWN0ICpyYXc7CkBAIC03MDEsMjUgKzcxOCwyMSBAQAogc3RhdGljIFB5T2JqZWN0ICoKIGFzY2lpX2VuY29kZSh0ZXh0aW8gKnNlbGYsIFB5T2JqZWN0ICp0ZXh0KQogewotICAgIHJldHVybiBQeVVuaWNvZGVfRW5jb2RlQVNDSUkoUHlVbmljb2RlX0FTX1VOSUNPREUodGV4dCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfR0VUX1NJWkUodGV4dCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeUJ5dGVzX0FTX1NUUklORyhzZWxmLT5lcnJvcnMpKTsKKyAgICByZXR1cm4gX1B5VW5pY29kZV9Bc0FTQ0lJU3RyaW5nKHRleHQsIFB5Qnl0ZXNfQVNfU1RSSU5HKHNlbGYtPmVycm9ycykpOwogfQogCiBzdGF0aWMgUHlPYmplY3QgKgogdXRmMTZiZV9lbmNvZGUodGV4dGlvICpzZWxmLCBQeU9iamVjdCAqdGV4dCkKIHsKLSAgICByZXR1cm4gUHlVbmljb2RlX0VuY29kZVVURjE2KFB5VW5pY29kZV9BU19VTklDT0RFKHRleHQpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0dFVF9TSVpFKHRleHQpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlCeXRlc19BU19TVFJJTkcoc2VsZi0+ZXJyb3JzKSwgMSk7CisgICAgcmV0dXJuIF9QeVVuaWNvZGVfRW5jb2RlVVRGMTYodGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeUJ5dGVzX0FTX1NUUklORyhzZWxmLT5lcnJvcnMpLCAxKTsKIH0KIAogc3RhdGljIFB5T2JqZWN0ICoKIHV0ZjE2bGVfZW5jb2RlKHRleHRpbyAqc2VsZiwgUHlPYmplY3QgKnRleHQpCiB7Ci0gICAgcmV0dXJuIFB5VW5pY29kZV9FbmNvZGVVVEYxNihQeVVuaWNvZGVfQVNfVU5JQ09ERSh0ZXh0KSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9HRVRfU0laRSh0ZXh0KSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5Qnl0ZXNfQVNfU1RSSU5HKHNlbGYtPmVycm9ycyksIC0xKTsKKyAgICByZXR1cm4gX1B5VW5pY29kZV9FbmNvZGVVVEYxNih0ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5Qnl0ZXNfQVNfU1RSSU5HKHNlbGYtPmVycm9ycyksIC0xKTsKIH0KIAogc3RhdGljIFB5T2JqZWN0ICoKQEAgLTczMywyNSArNzQ2LDIyIEBACiAgICAgICAgIHJldHVybiB1dGYxNmxlX2VuY29kZShzZWxmLCB0ZXh0KTsKICNlbmRpZgogICAgIH0KLSAgICByZXR1cm4gUHlVbmljb2RlX0VuY29kZVVURjE2KFB5VW5pY29kZV9BU19VTklDT0RFKHRleHQpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0dFVF9TSVpFKHRleHQpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlCeXRlc19BU19TVFJJTkcoc2VsZi0+ZXJyb3JzKSwgMCk7CisgICAgcmV0dXJuIF9QeVVuaWNvZGVfRW5jb2RlVVRGMTYodGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeUJ5dGVzX0FTX1NUUklORyhzZWxmLT5lcnJvcnMpLCAwKTsKIH0KIAogc3RhdGljIFB5T2JqZWN0ICoKIHV0ZjMyYmVfZW5jb2RlKHRleHRpbyAqc2VsZiwgUHlPYmplY3QgKnRleHQpCiB7Ci0gICAgcmV0dXJuIFB5VW5pY29kZV9FbmNvZGVVVEYzMihQeVVuaWNvZGVfQVNfVU5JQ09ERSh0ZXh0KSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9HRVRfU0laRSh0ZXh0KSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5Qnl0ZXNfQVNfU1RSSU5HKHNlbGYtPmVycm9ycyksIDEpOworICAgIHJldHVybiBfUHlVbmljb2RlX0VuY29kZVVURjMyKHRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlCeXRlc19BU19TVFJJTkcoc2VsZi0+ZXJyb3JzKSwgMSk7CiB9CiAKIHN0YXRpYyBQeU9iamVjdCAqCiB1dGYzMmxlX2VuY29kZSh0ZXh0aW8gKnNlbGYsIFB5T2JqZWN0ICp0ZXh0KQogewotICAgIHJldHVybiBQeVVuaWNvZGVfRW5jb2RlVVRGMzIoUHlVbmljb2RlX0FTX1VOSUNPREUodGV4dCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfR0VUX1NJWkUodGV4dCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeUJ5dGVzX0FTX1NUUklORyhzZWxmLT5lcnJvcnMpLCAtMSk7CisgICAgcmV0dXJuIF9QeVVuaWNvZGVfRW5jb2RlVVRGMzIodGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeUJ5dGVzX0FTX1NUUklORyhzZWxmLT5lcnJvcnMpLCAtMSk7CiB9CiAKIHN0YXRpYyBQeU9iamVjdCAqCkBAIC03NjUsMjUgKzc3NSwyMCBAQAogICAgICAgICByZXR1cm4gdXRmMzJsZV9lbmNvZGUoc2VsZiwgdGV4dCk7CiAjZW5kaWYKICAgICB9Ci0gICAgcmV0dXJuIFB5VW5pY29kZV9FbmNvZGVVVEYzMihQeVVuaWNvZGVfQVNfVU5JQ09ERSh0ZXh0KSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9HRVRfU0laRSh0ZXh0KSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5Qnl0ZXNfQVNfU1RSSU5HKHNlbGYtPmVycm9ycyksIDApOworICAgIHJldHVybiBfUHlVbmljb2RlX0VuY29kZVVURjMyKHRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlCeXRlc19BU19TVFJJTkcoc2VsZi0+ZXJyb3JzKSwgMCk7CiB9CiAKIHN0YXRpYyBQeU9iamVjdCAqCiB1dGY4X2VuY29kZSh0ZXh0aW8gKnNlbGYsIFB5T2JqZWN0ICp0ZXh0KQogewotICAgIHJldHVybiBQeVVuaWNvZGVfRW5jb2RlVVRGOChQeVVuaWNvZGVfQVNfVU5JQ09ERSh0ZXh0KSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0dFVF9TSVpFKHRleHQpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeUJ5dGVzX0FTX1NUUklORyhzZWxmLT5lcnJvcnMpKTsKKyAgICByZXR1cm4gX1B5VW5pY29kZV9Bc1VURjhTdHJpbmcodGV4dCwgUHlCeXRlc19BU19TVFJJTkcoc2VsZi0+ZXJyb3JzKSk7CiB9CiAKIHN0YXRpYyBQeU9iamVjdCAqCiBsYXRpbjFfZW5jb2RlKHRleHRpbyAqc2VsZiwgUHlPYmplY3QgKnRleHQpCiB7Ci0gICAgcmV0dXJuIFB5VW5pY29kZV9FbmNvZGVMYXRpbjEoUHlVbmljb2RlX0FTX1VOSUNPREUodGV4dCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0dFVF9TSVpFKHRleHQpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5Qnl0ZXNfQVNfU1RSSU5HKHNlbGYtPmVycm9ycykpOworICAgIHJldHVybiBfUHlVbmljb2RlX0FzTGF0aW4xU3RyaW5nKHRleHQsIFB5Qnl0ZXNfQVNfU1RSSU5HKHNlbGYtPmVycm9ycykpOwogfQogCiAvKiBNYXAgbm9ybWFsaXplZCBlbmNvZGluZyBuYW1lcyBvbnRvIHRoZSBzcGVjaWFsaXplZCBlbmNvZGluZyBmdW5jcyAqLwpAQCAtODUyLDExICs4NTcsMTIgQEAKICAgICBzZWxmLT5kZWNvZGVkX2NoYXJzX3VzZWQgPSAwOwogICAgIHNlbGYtPnBlbmRpbmdfYnl0ZXNfY291bnQgPSAwOwogICAgIHNlbGYtPmVuY29kZWZ1bmMgPSBOVUxMOworICAgIHNlbGYtPmIyY3JhdGlvID0gMC4wOwogCiAgICAgaWYgKGVuY29kaW5nID09IE5VTEwpIHsKICAgICAgICAgLyogVHJ5IG9zLmRldmljZV9lbmNvZGluZyhmaWxlbm8pICovCiAgICAgICAgIFB5T2JqZWN0ICpmaWxlbm87Ci0gICAgICAgIGZpbGVubyA9IFB5T2JqZWN0X0NhbGxNZXRob2QoYnVmZmVyLCAiZmlsZW5vIiwgTlVMTCk7CisgICAgICAgIGZpbGVubyA9IF9QeU9iamVjdF9DYWxsTWV0aG9kSWQoYnVmZmVyLCAmUHlJZF9maWxlbm8sIE5VTEwpOwogICAgICAgICAvKiBJZ25vcmUgb25seSBBdHRyaWJ1dGVFcnJvciBhbmQgVW5zdXBwb3J0ZWRPcGVyYXRpb24gKi8KICAgICAgICAgaWYgKGZpbGVubyA9PSBOVUxMKSB7CiAgICAgICAgICAgICBpZiAoUHlFcnJfRXhjZXB0aW9uTWF0Y2hlcyhQeUV4Y19BdHRyaWJ1dGVFcnJvcikgfHwKQEAgLTg2OCw5ICs4NzQsMTMgQEAKICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgIHNlbGYtPmVuY29kaW5nID0gUHlPYmplY3RfQ2FsbE1ldGhvZChzdGF0ZS0+b3NfbW9kdWxlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZXZpY2VfZW5jb2RpbmciLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJOIiwgZmlsZW5vKTsKKyAgICAgICAgICAgIGludCBmZCA9IChpbnQpIFB5TG9uZ19Bc0xvbmcoZmlsZW5vKTsKKyAgICAgICAgICAgIFB5X0RFQ1JFRihmaWxlbm8pOworICAgICAgICAgICAgaWYgKGZkID09IC0xICYmIFB5RXJyX09jY3VycmVkKCkpIHsKKyAgICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBzZWxmLT5lbmNvZGluZyA9IF9QeV9kZXZpY2VfZW5jb2RpbmcoZmQpOwogICAgICAgICAgICAgaWYgKHNlbGYtPmVuY29kaW5nID09IE5VTEwpCiAgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKICAgICAgICAgICAgIGVsc2UgaWYgKCFQeVVuaWNvZGVfQ2hlY2soc2VsZi0+ZW5jb2RpbmcpKQpAQCAtODg3LDggKzg5Nyw4IEBACiAgICAgICAgIH0KICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgdXNlX2xvY2FsZToKLSAgICAgICAgICAgIHNlbGYtPmVuY29kaW5nID0gUHlPYmplY3RfQ2FsbE1ldGhvZCgKLSAgICAgICAgICAgICAgICBzdGF0ZS0+bG9jYWxlX21vZHVsZSwgImdldHByZWZlcnJlZGVuY29kaW5nIiwgTlVMTCk7CisgICAgICAgICAgICBzZWxmLT5lbmNvZGluZyA9IF9QeU9iamVjdF9DYWxsTWV0aG9kSWQoCisgICAgICAgICAgICAgICAgc3RhdGUtPmxvY2FsZV9tb2R1bGUsICZQeUlkX2dldHByZWZlcnJlZGVuY29kaW5nLCBOVUxMKTsKICAgICAgICAgICAgIGlmIChzZWxmLT5lbmNvZGluZyA9PSBOVUxMKSB7CiAgICAgICAgICAgICAgIGNhdGNoX0ltcG9ydEVycm9yOgogICAgICAgICAgICAgICAgIC8qCkBAIC05NTMsNyArOTYzLDcgQEAKICNlbmRpZgogCiAgICAgLyogQnVpbGQgdGhlIGRlY29kZXIgb2JqZWN0ICovCi0gICAgcmVzID0gUHlPYmplY3RfQ2FsbE1ldGhvZChidWZmZXIsICJyZWFkYWJsZSIsIE5VTEwpOworICAgIHJlcyA9IF9QeU9iamVjdF9DYWxsTWV0aG9kSWQoYnVmZmVyLCAmUHlJZF9yZWFkYWJsZSwgTlVMTCk7CiAgICAgaWYgKHJlcyA9PSBOVUxMKQogICAgICAgICBnb3RvIGVycm9yOwogICAgIHIgPSBQeU9iamVjdF9Jc1RydWUocmVzKTsKQEAgLTk3OCw3ICs5ODgsNyBAQAogICAgIH0KIAogICAgIC8qIEJ1aWxkIHRoZSBlbmNvZGVyIG9iamVjdCAqLwotICAgIHJlcyA9IFB5T2JqZWN0X0NhbGxNZXRob2QoYnVmZmVyLCAid3JpdGFibGUiLCBOVUxMKTsKKyAgICByZXMgPSBfUHlPYmplY3RfQ2FsbE1ldGhvZElkKGJ1ZmZlciwgJlB5SWRfd3JpdGFibGUsIE5VTEwpOwogICAgIGlmIChyZXMgPT0gTlVMTCkKICAgICAgICAgZ290byBlcnJvcjsKICAgICByID0gUHlPYmplY3RfSXNUcnVlKHJlcyk7CkBAIC05OTUsNyArMTAwNSw3IEBACiAgICAgICAgIGNpID0gX1B5Q29kZWNfTG9va3VwKGVuY29kaW5nKTsKICAgICAgICAgaWYgKGNpID09IE5VTEwpCiAgICAgICAgICAgICBnb3RvIGVycm9yOwotICAgICAgICByZXMgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKGNpLCAibmFtZSIpOworICAgICAgICByZXMgPSBfUHlPYmplY3RfR2V0QXR0cklkKGNpLCAmUHlJZF9uYW1lKTsKICAgICAgICAgUHlfREVDUkVGKGNpKTsKICAgICAgICAgaWYgKHJlcyA9PSBOVUxMKSB7CiAgICAgICAgICAgICBpZiAoUHlFcnJfRXhjZXB0aW9uTWF0Y2hlcyhQeUV4Y19BdHRyaWJ1dGVFcnJvcikpCkBAIC0xMDIyLDcgKzEwMzIsNyBAQAogICAgIGlmIChQeV9UWVBFKGJ1ZmZlcikgPT0gJlB5QnVmZmVyZWRSZWFkZXJfVHlwZSB8fAogICAgICAgICBQeV9UWVBFKGJ1ZmZlcikgPT0gJlB5QnVmZmVyZWRXcml0ZXJfVHlwZSB8fAogICAgICAgICBQeV9UWVBFKGJ1ZmZlcikgPT0gJlB5QnVmZmVyZWRSYW5kb21fVHlwZSkgewotICAgICAgICByYXcgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKGJ1ZmZlciwgInJhdyIpOworICAgICAgICByYXcgPSBfUHlPYmplY3RfR2V0QXR0cklkKGJ1ZmZlciwgJlB5SWRfcmF3KTsKICAgICAgICAgLyogQ2FjaGUgdGhlIHJhdyBGaWxlSU8gb2JqZWN0IHRvIHNwZWVkIHVwICdjbG9zZWQnIGNoZWNrcyAqLwogICAgICAgICBpZiAocmF3ID09IE5VTEwpIHsKICAgICAgICAgICAgIGlmIChQeUVycl9FeGNlcHRpb25NYXRjaGVzKFB5RXhjX0F0dHJpYnV0ZUVycm9yKSkKQEAgLTEwMzYsMTMgKzEwNDYsMTMgQEAKICAgICAgICAgICAgIFB5X0RFQ1JFRihyYXcpOwogICAgIH0KIAotICAgIHJlcyA9IFB5T2JqZWN0X0NhbGxNZXRob2QoYnVmZmVyLCAic2Vla2FibGUiLCBOVUxMKTsKKyAgICByZXMgPSBfUHlPYmplY3RfQ2FsbE1ldGhvZElkKGJ1ZmZlciwgJlB5SWRfc2Vla2FibGUsIE5VTEwpOwogICAgIGlmIChyZXMgPT0gTlVMTCkKICAgICAgICAgZ290byBlcnJvcjsKICAgICBzZWxmLT5zZWVrYWJsZSA9IHNlbGYtPnRlbGxpbmcgPSBQeU9iamVjdF9Jc1RydWUocmVzKTsKICAgICBQeV9ERUNSRUYocmVzKTsKIAotICAgIHNlbGYtPmhhc19yZWFkMSA9IFB5T2JqZWN0X0hhc0F0dHJTdHJpbmcoYnVmZmVyLCAicmVhZDEiKTsKKyAgICBzZWxmLT5oYXNfcmVhZDEgPSBfUHlPYmplY3RfSGFzQXR0cklkKGJ1ZmZlciwgJlB5SWRfcmVhZDEpOwogCiAgICAgc2VsZi0+ZW5jb2Rpbmdfc3RhcnRfb2Zfc3RyZWFtID0gMDsKICAgICBpZiAoc2VsZi0+c2Vla2FibGUgJiYgc2VsZi0+ZW5jb2RlcikgewpAQCAtMTIwOCwxOCArMTIxOCw2IEBACiAgICAgcmV0dXJuIGJ1ZmZlcjsKIH0KIAotUHlfTE9DQUxfSU5MSU5FKGNvbnN0IFB5X1VOSUNPREUgKikKLWZpbmRjaGFyKGNvbnN0IFB5X1VOSUNPREUgKnMsIFB5X3NzaXplX3Qgc2l6ZSwgUHlfVU5JQ09ERSBjaCkKLXsKLSAgICAvKiBsaWtlIHdjc2NociwgYnV0IGRvZXNuJ3Qgc3RvcCBhdCBOVUxMIGNoYXJhY3RlcnMgKi8KLSAgICB3aGlsZSAoc2l6ZS0tID4gMCkgewotICAgICAgICBpZiAoKnMgPT0gY2gpCi0gICAgICAgICAgICByZXR1cm4gczsKLSAgICAgICAgcysrOwotICAgIH0KLSAgICByZXR1cm4gTlVMTDsKLX0KLQogLyogRmx1c2ggdGhlIGludGVybmFsIHdyaXRlIGJ1ZmZlci4gVGhpcyBkb2Vzbid0IGV4cGxpY2l0bHkgZmx1c2ggdGhlCiAgICB1bmRlcmx5aW5nIGJ1ZmZlcmVkIG9iamVjdCwgdGhvdWdoLiAqLwogc3RhdGljIGludApAQCAtMTI2NCw2ICsxMjYyLDkgQEAKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogCisgICAgaWYgKFB5VW5pY29kZV9SRUFEWSh0ZXh0KSA9PSAtMSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKICAgICBDSEVDS19DTE9TRUQoc2VsZik7CiAKICAgICBpZiAoc2VsZi0+ZW5jb2RlciA9PSBOVUxMKQpAQCAtMTI3MSwxNiArMTI3MiwxNSBAQAogCiAgICAgUHlfSU5DUkVGKHRleHQpOwogCi0gICAgdGV4dGxlbiA9IFB5VW5pY29kZV9HZXRTaXplKHRleHQpOworICAgIHRleHRsZW4gPSBQeVVuaWNvZGVfR0VUX0xFTkdUSCh0ZXh0KTsKIAogICAgIGlmICgoc2VsZi0+d3JpdGV0cmFuc2xhdGUgJiYgc2VsZi0+d3JpdGVubCAhPSBOVUxMKSB8fCBzZWxmLT5saW5lX2J1ZmZlcmluZykKLSAgICAgICAgaWYgKGZpbmRjaGFyKFB5VW5pY29kZV9BU19VTklDT0RFKHRleHQpLAotICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0dFVF9TSVpFKHRleHQpLCAnXG4nKSkKKyAgICAgICAgaWYgKFB5VW5pY29kZV9GaW5kQ2hhcih0ZXh0LCAnXG4nLCAwLCBQeVVuaWNvZGVfR0VUX0xFTkdUSCh0ZXh0KSwgMSkgIT0gLTEpCiAgICAgICAgICAgICBoYXNsZiA9IDE7CiAKICAgICBpZiAoaGFzbGYgJiYgc2VsZi0+d3JpdGV0cmFuc2xhdGUgJiYgc2VsZi0+d3JpdGVubCAhPSBOVUxMKSB7Ci0gICAgICAgIFB5T2JqZWN0ICpuZXd0ZXh0ID0gUHlPYmplY3RfQ2FsbE1ldGhvZCgKLSAgICAgICAgICAgIHRleHQsICJyZXBsYWNlIiwgInNzIiwgIlxuIiwgc2VsZi0+d3JpdGVubCk7CisgICAgICAgIFB5T2JqZWN0ICpuZXd0ZXh0ID0gX1B5T2JqZWN0X0NhbGxNZXRob2RJZCgKKyAgICAgICAgICAgIHRleHQsICZQeUlkX3JlcGxhY2UsICJzcyIsICJcbiIsIHNlbGYtPndyaXRlbmwpOwogICAgICAgICBQeV9ERUNSRUYodGV4dCk7CiAgICAgICAgIGlmIChuZXd0ZXh0ID09IE5VTEwpCiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKQEAgLTEyOTEsOCArMTI5MSw3IEBACiAgICAgICAgIG5lZWRmbHVzaCA9IDE7CiAgICAgZWxzZSBpZiAoc2VsZi0+bGluZV9idWZmZXJpbmcgJiYKICAgICAgICAgKGhhc2xmIHx8Ci0gICAgICAgICBmaW5kY2hhcihQeVVuaWNvZGVfQVNfVU5JQ09ERSh0ZXh0KSwKLSAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9HRVRfU0laRSh0ZXh0KSwgJ1xyJykpKQorICAgICAgICAgUHlVbmljb2RlX0ZpbmRDaGFyKHRleHQsICdccicsIDAsIFB5VW5pY29kZV9HRVRfTEVOR1RIKHRleHQpLCAxKSAhPSAtMSkpCiAgICAgICAgIG5lZWRmbHVzaCA9IDE7CiAKICAgICAvKiBYWFggV2hhdCBpZiB3ZSB3ZXJlIGp1c3QgcmVhZGluZz8gKi8KQEAgLTEzMzYsNyArMTMzNSw3IEBACiAgICAgUHlfQ0xFQVIoc2VsZi0+c25hcHNob3QpOwogCiAgICAgaWYgKHNlbGYtPmRlY29kZXIpIHsKLSAgICAgICAgcmV0ID0gUHlPYmplY3RfQ2FsbE1ldGhvZChzZWxmLT5kZWNvZGVyLCAicmVzZXQiLCBOVUxMKTsKKyAgICAgICAgcmV0ID0gX1B5T2JqZWN0X0NhbGxNZXRob2RJZChzZWxmLT5kZWNvZGVyLCAmUHlJZF9yZXNldCwgTlVMTCk7CiAgICAgICAgIGlmIChyZXQgPT0gTlVMTCkKICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICBQeV9ERUNSRUYocmV0KTsKQEAgLTEzNjQsNyArMTM2Myw4IEBACiAgICAgaWYgKHNlbGYtPmRlY29kZWRfY2hhcnMgPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIFB5VW5pY29kZV9Gcm9tU3RyaW5nQW5kU2l6ZShOVUxMLCAwKTsKIAotICAgIGF2YWlsID0gKFB5VW5pY29kZV9HRVRfU0laRShzZWxmLT5kZWNvZGVkX2NoYXJzKQorICAgIC8qIGRlY29kZWRfY2hhcnMgaXMgZ3VhcmFudGVlZCB0byBiZSAicmVhZHkiLiAqLworICAgIGF2YWlsID0gKFB5VW5pY29kZV9HRVRfTEVOR1RIKHNlbGYtPmRlY29kZWRfY2hhcnMpCiAgICAgICAgICAgICAgLSBzZWxmLT5kZWNvZGVkX2NoYXJzX3VzZWQpOwogCiAgICAgYXNzZXJ0KGF2YWlsID49IDApOwpAQCAtMTM3Myw5ICsxMzczLDkgQEAKICAgICAgICAgbiA9IGF2YWlsOwogCiAgICAgaWYgKHNlbGYtPmRlY29kZWRfY2hhcnNfdXNlZCA+IDAgfHwgbiA8IGF2YWlsKSB7Ci0gICAgICAgIGNoYXJzID0gUHlVbmljb2RlX0Zyb21Vbmljb2RlKAotICAgICAgICAgICAgUHlVbmljb2RlX0FTX1VOSUNPREUoc2VsZi0+ZGVjb2RlZF9jaGFycykKLSAgICAgICAgICAgICsgc2VsZi0+ZGVjb2RlZF9jaGFyc191c2VkLCBuKTsKKyAgICAgICAgY2hhcnMgPSBQeVVuaWNvZGVfU3Vic3RyaW5nKHNlbGYtPmRlY29kZWRfY2hhcnMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLT5kZWNvZGVkX2NoYXJzX3VzZWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLT5kZWNvZGVkX2NoYXJzX3VzZWQgKyBuKTsKICAgICAgICAgaWYgKGNoYXJzID09IE5VTEwpCiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CkBAIC0xMzkxLDEyICsxMzkxLDEzIEBACiAvKiBSZWFkIGFuZCBkZWNvZGUgdGhlIG5leHQgY2h1bmsgb2YgZGF0YSBmcm9tIHRoZSBCdWZmZXJlZFJlYWRlci4KICAqLwogc3RhdGljIGludAotdGV4dGlvd3JhcHBlcl9yZWFkX2NodW5rKHRleHRpbyAqc2VsZikKK3RleHRpb3dyYXBwZXJfcmVhZF9jaHVuayh0ZXh0aW8gKnNlbGYsIFB5X3NzaXplX3Qgc2l6ZV9oaW50KQogewogICAgIFB5T2JqZWN0ICpkZWNfYnVmZmVyID0gTlVMTDsKICAgICBQeU9iamVjdCAqZGVjX2ZsYWdzID0gTlVMTDsKICAgICBQeU9iamVjdCAqaW5wdXRfY2h1bmsgPSBOVUxMOwogICAgIFB5T2JqZWN0ICpkZWNvZGVkX2NoYXJzLCAqY2h1bmtfc2l6ZTsKKyAgICBQeV9zc2l6ZV90IG5ieXRlcywgbmNoYXJzOwogICAgIGludCBlb2Y7CiAKICAgICAvKiBUaGUgcmV0dXJuIHZhbHVlIGlzIFRydWUgdW5sZXNzIEVPRiB3YXMgcmVhY2hlZC4gIFRoZSBkZWNvZGVkIHN0cmluZyBpcwpAQCAtMTQzMiw3ICsxNDMzLDEwIEBACiAgICAgfQogCiAgICAgLyogUmVhZCBhIGNodW5rLCBkZWNvZGUgaXQsIGFuZCBwdXQgdGhlIHJlc3VsdCBpbiBzZWxmLl9kZWNvZGVkX2NoYXJzLiAqLwotICAgIGNodW5rX3NpemUgPSBQeUxvbmdfRnJvbVNzaXplX3Qoc2VsZi0+Y2h1bmtfc2l6ZSk7CisgICAgaWYgKHNpemVfaGludCA+IDApIHsKKyAgICAgICAgc2l6ZV9oaW50ID0gKFB5X3NzaXplX3QpKFB5X01BWChzZWxmLT5iMmNyYXRpbywgMS4wKSAqIHNpemVfaGludCk7CisgICAgfQorICAgIGNodW5rX3NpemUgPSBQeUxvbmdfRnJvbVNzaXplX3QoUHlfTUFYKHNlbGYtPmNodW5rX3NpemUsIHNpemVfaGludCkpOwogICAgIGlmIChjaHVua19zaXplID09IE5VTEwpCiAgICAgICAgIGdvdG8gZmFpbDsKICAgICBpbnB1dF9jaHVuayA9IFB5T2JqZWN0X0NhbGxNZXRob2RPYmpBcmdzKHNlbGYtPmJ1ZmZlciwKQEAgLTE0NDMsNyArMTQ0Nyw4IEBACiAgICAgICAgIGdvdG8gZmFpbDsKICAgICBhc3NlcnQoUHlCeXRlc19DaGVjayhpbnB1dF9jaHVuaykpOwogCi0gICAgZW9mID0gKFB5Qnl0ZXNfU2l6ZShpbnB1dF9jaHVuaykgPT0gMCk7CisgICAgbmJ5dGVzID0gUHlCeXRlc19TaXplKGlucHV0X2NodW5rKTsKKyAgICBlb2YgPSAobmJ5dGVzID09IDApOwogCiAgICAgaWYgKFB5X1RZUEUoc2VsZi0+ZGVjb2RlcikgPT0gJlB5SW5jcmVtZW50YWxOZXdsaW5lRGVjb2Rlcl9UeXBlKSB7CiAgICAgICAgIGRlY29kZWRfY2hhcnMgPSBfUHlJbmNyZW1lbnRhbE5ld2xpbmVEZWNvZGVyX2RlY29kZSgKQEAgLTE0NTcsOCArMTQ2MiwxNSBAQAogICAgIC8qIFRPRE8gc2FuaXR5IGNoZWNrOiBpc2luc3RhbmNlKGRlY29kZWRfY2hhcnMsIHVuaWNvZGUpICovCiAgICAgaWYgKGRlY29kZWRfY2hhcnMgPT0gTlVMTCkKICAgICAgICAgZ290byBmYWlsOworICAgIGlmIChQeVVuaWNvZGVfUkVBRFkoZGVjb2RlZF9jaGFycykgPT0gLTEpCisgICAgICAgIGdvdG8gZmFpbDsKICAgICB0ZXh0aW93cmFwcGVyX3NldF9kZWNvZGVkX2NoYXJzKHNlbGYsIGRlY29kZWRfY2hhcnMpOwotICAgIGlmIChQeVVuaWNvZGVfR0VUX1NJWkUoZGVjb2RlZF9jaGFycykgPiAwKQorICAgIG5jaGFycyA9IFB5VW5pY29kZV9HRVRfTEVOR1RIKGRlY29kZWRfY2hhcnMpOworICAgIGlmIChuY2hhcnMgPiAwKQorICAgICAgICBzZWxmLT5iMmNyYXRpbyA9IChkb3VibGUpIG5ieXRlcyAvIG5jaGFyczsKKyAgICBlbHNlCisgICAgICAgIHNlbGYtPmIyY3JhdGlvID0gMC4wOworICAgIGlmIChuY2hhcnMgPiAwKQogICAgICAgICBlb2YgPSAwOwogCiAgICAgaWYgKHNlbGYtPnRlbGxpbmcpIHsKQEAgLTE1MDUsMTIgKzE1MTcsMTcgQEAKIAogICAgIGlmIChuIDwgMCkgewogICAgICAgICAvKiBSZWFkIGV2ZXJ5dGhpbmcgKi8KLSAgICAgICAgUHlPYmplY3QgKmJ5dGVzID0gUHlPYmplY3RfQ2FsbE1ldGhvZChzZWxmLT5idWZmZXIsICJyZWFkIiwgTlVMTCk7CisgICAgICAgIFB5T2JqZWN0ICpieXRlcyA9IF9QeU9iamVjdF9DYWxsTWV0aG9kSWQoc2VsZi0+YnVmZmVyLCAmUHlJZF9yZWFkLCBOVUxMKTsKICAgICAgICAgUHlPYmplY3QgKmRlY29kZWQ7CiAgICAgICAgIGlmIChieXRlcyA9PSBOVUxMKQogICAgICAgICAgICAgZ290byBmYWlsOwotICAgICAgICBkZWNvZGVkID0gUHlPYmplY3RfQ2FsbE1ldGhvZE9iakFyZ3Moc2VsZi0+ZGVjb2RlciwgX1B5SU9fc3RyX2RlY29kZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ5dGVzLCBQeV9UcnVlLCBOVUxMKTsKKworICAgICAgICBpZiAoUHlfVFlQRShzZWxmLT5kZWNvZGVyKSA9PSAmUHlJbmNyZW1lbnRhbE5ld2xpbmVEZWNvZGVyX1R5cGUpCisgICAgICAgICAgICBkZWNvZGVkID0gX1B5SW5jcmVtZW50YWxOZXdsaW5lRGVjb2Rlcl9kZWNvZGUoc2VsZi0+ZGVjb2RlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBieXRlcywgMSk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGRlY29kZWQgPSBQeU9iamVjdF9DYWxsTWV0aG9kT2JqQXJncygKKyAgICAgICAgICAgICAgICBzZWxmLT5kZWNvZGVyLCBfUHlJT19zdHJfZGVjb2RlLCBieXRlcywgUHlfVHJ1ZSwgTlVMTCk7CiAgICAgICAgIFB5X0RFQ1JFRihieXRlcyk7CiAgICAgICAgIGlmIChkZWNvZGVkID09IE5VTEwpCiAgICAgICAgICAgICBnb3RvIGZhaWw7CkBAIC0xNTM2LDExICsxNTUzLDEzIEBACiAgICAgICAgIHJlc3VsdCA9IHRleHRpb3dyYXBwZXJfZ2V0X2RlY29kZWRfY2hhcnMoc2VsZiwgbik7CiAgICAgICAgIGlmIChyZXN1bHQgPT0gTlVMTCkKICAgICAgICAgICAgIGdvdG8gZmFpbDsKLSAgICAgICAgcmVtYWluaW5nIC09IFB5VW5pY29kZV9HRVRfU0laRShyZXN1bHQpOworICAgICAgICBpZiAoUHlVbmljb2RlX1JFQURZKHJlc3VsdCkgPT0gLTEpCisgICAgICAgICAgICBnb3RvIGZhaWw7CisgICAgICAgIHJlbWFpbmluZyAtPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChyZXN1bHQpOwogCiAgICAgICAgIC8qIEtlZXAgcmVhZGluZyBjaHVua3MgdW50aWwgd2UgaGF2ZSBuIGNoYXJhY3RlcnMgdG8gcmV0dXJuICovCiAgICAgICAgIHdoaWxlIChyZW1haW5pbmcgPiAwKSB7Ci0gICAgICAgICAgICByZXMgPSB0ZXh0aW93cmFwcGVyX3JlYWRfY2h1bmsoc2VsZik7CisgICAgICAgICAgICByZXMgPSB0ZXh0aW93cmFwcGVyX3JlYWRfY2h1bmsoc2VsZiwgcmVtYWluaW5nKTsKICAgICAgICAgICAgIGlmIChyZXMgPCAwKQogICAgICAgICAgICAgICAgIGdvdG8gZmFpbDsKICAgICAgICAgICAgIGlmIChyZXMgPT0gMCkgIC8qIEVPRiAqLwpAQCAtMTU1MCwxMyArMTU2OSwxNCBAQAogICAgICAgICAgICAgICAgIGlmIChjaHVua3MgPT0gTlVMTCkKICAgICAgICAgICAgICAgICAgICAgZ290byBmYWlsOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgaWYgKFB5TGlzdF9BcHBlbmQoY2h1bmtzLCByZXN1bHQpIDwgMCkKKyAgICAgICAgICAgIGlmIChQeVVuaWNvZGVfR0VUX0xFTkdUSChyZXN1bHQpID4gMCAmJgorICAgICAgICAgICAgICAgIFB5TGlzdF9BcHBlbmQoY2h1bmtzLCByZXN1bHQpIDwgMCkKICAgICAgICAgICAgICAgICBnb3RvIGZhaWw7CiAgICAgICAgICAgICBQeV9ERUNSRUYocmVzdWx0KTsKICAgICAgICAgICAgIHJlc3VsdCA9IHRleHRpb3dyYXBwZXJfZ2V0X2RlY29kZWRfY2hhcnMoc2VsZiwgcmVtYWluaW5nKTsKICAgICAgICAgICAgIGlmIChyZXN1bHQgPT0gTlVMTCkKICAgICAgICAgICAgICAgICBnb3RvIGZhaWw7Ci0gICAgICAgICAgICByZW1haW5pbmcgLT0gUHlVbmljb2RlX0dFVF9TSVpFKHJlc3VsdCk7CisgICAgICAgICAgICByZW1haW5pbmcgLT0gUHlVbmljb2RlX0dFVF9MRU5HVEgocmVzdWx0KTsKICAgICAgICAgfQogICAgICAgICBpZiAoY2h1bmtzICE9IE5VTEwpIHsKICAgICAgICAgICAgIGlmIChyZXN1bHQgIT0gTlVMTCAmJiBQeUxpc3RfQXBwZW5kKGNodW5rcywgcmVzdWx0KSA8IDApCkBAIC0xNTc2LDM2ICsxNTk2LDM5IEBACiB9CiAKIAotLyogTk9URTogYGVuZGAgbXVzdCBwb2ludCB0byB0aGUgcmVhbCBlbmQgb2YgdGhlIFB5X1VOSUNPREUgc3RvcmFnZSwKKy8qIE5PVEU6IGBlbmRgIG11c3QgcG9pbnQgdG8gdGhlIHJlYWwgZW5kIG9mIHRoZSBQeV9VQ1M0IHN0b3JhZ2UsCiAgICB0aGF0IGlzIHRvIHRoZSBOVUwgY2hhcmFjdGVyLiBPdGhlcndpc2UgdGhlIGZ1bmN0aW9uIHdpbGwgcHJvZHVjZQogICAgaW5jb3JyZWN0IHJlc3VsdHMuICovCi1zdGF0aWMgUHlfVU5JQ09ERSAqCi1maW5kX2NvbnRyb2xfY2hhcihQeV9VTklDT0RFICpzdGFydCwgUHlfVU5JQ09ERSAqZW5kLCBQeV9VTklDT0RFIGNoKQorc3RhdGljIGNoYXIgKgorZmluZF9jb250cm9sX2NoYXIoaW50IGtpbmQsIGNoYXIgKnMsIGNoYXIgKmVuZCwgUHlfVUNTNCBjaCkKIHsKLSAgICBQeV9VTklDT0RFICpzID0gc3RhcnQ7CisgICAgaWYgKGtpbmQgPT0gUHlVbmljb2RlXzFCWVRFX0tJTkQpIHsKKyAgICAgICAgYXNzZXJ0KGNoIDwgMjU2KTsKKyAgICAgICAgcmV0dXJuIChjaGFyICopIG1lbWNocigodm9pZCAqKSBzLCAoY2hhcikgY2gsIGVuZCAtIHMpOworICAgIH0KICAgICBmb3IgKDs7KSB7Ci0gICAgICAgIHdoaWxlICgqcyA+IGNoKQotICAgICAgICAgICAgcysrOwotICAgICAgICBpZiAoKnMgPT0gY2gpCisgICAgICAgIHdoaWxlIChQeVVuaWNvZGVfUkVBRChraW5kLCBzLCAwKSA+IGNoKQorICAgICAgICAgICAgcyArPSBraW5kOworICAgICAgICBpZiAoUHlVbmljb2RlX1JFQUQoa2luZCwgcywgMCkgPT0gY2gpCiAgICAgICAgICAgICByZXR1cm4gczsKICAgICAgICAgaWYgKHMgPT0gZW5kKQogICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgIHMrKzsKKyAgICAgICAgcyArPSBraW5kOwogICAgIH0KIH0KIAogUHlfc3NpemVfdAogX1B5SU9fZmluZF9saW5lX2VuZGluZygKICAgICBpbnQgdHJhbnNsYXRlZCwgaW50IHVuaXZlcnNhbCwgUHlPYmplY3QgKnJlYWRubCwKLSAgICBQeV9VTklDT0RFICpzdGFydCwgUHlfVU5JQ09ERSAqZW5kLCBQeV9zc2l6ZV90ICpjb25zdW1lZCkKKyAgICBpbnQga2luZCwgY2hhciAqc3RhcnQsIGNoYXIgKmVuZCwgUHlfc3NpemVfdCAqY29uc3VtZWQpCiB7Ci0gICAgUHlfc3NpemVfdCBsZW4gPSBlbmQgLSBzdGFydDsKKyAgICBQeV9zc2l6ZV90IGxlbiA9ICgoY2hhciopZW5kIC0gKGNoYXIqKXN0YXJ0KS9raW5kOwogCiAgICAgaWYgKHRyYW5zbGF0ZWQpIHsKICAgICAgICAgLyogTmV3bGluZXMgYXJlIGFscmVhZHkgdHJhbnNsYXRlZCwgb25seSBzZWFyY2ggZm9yIFxuICovCi0gICAgICAgIFB5X1VOSUNPREUgKnBvcyA9IGZpbmRfY29udHJvbF9jaGFyKHN0YXJ0LCBlbmQsICdcbicpOworICAgICAgICBjaGFyICpwb3MgPSBmaW5kX2NvbnRyb2xfY2hhcihraW5kLCBzdGFydCwgZW5kLCAnXG4nKTsKICAgICAgICAgaWYgKHBvcyAhPSBOVUxMKQotICAgICAgICAgICAgcmV0dXJuIHBvcyAtIHN0YXJ0ICsgMTsKKyAgICAgICAgICAgIHJldHVybiAocG9zIC0gc3RhcnQpL2tpbmQgKyAxOwogICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICpjb25zdW1lZCA9IGxlbjsKICAgICAgICAgICAgIHJldHVybiAtMTsKQEAgLTE2MTUsNjMgKzE2MzgsNjYgQEAKICAgICAgICAgLyogVW5pdmVyc2FsIG5ld2xpbmUgc2VhcmNoLiBGaW5kIGFueSBvZiBcciwgXHJcbiwgXG4KICAgICAgICAgICogVGhlIGRlY29kZXIgZW5zdXJlcyB0aGF0IFxyXG4gYXJlIG5vdCBzcGxpdCBpbiB0d28gcGllY2VzCiAgICAgICAgICAqLwotICAgICAgICBQeV9VTklDT0RFICpzID0gc3RhcnQ7CisgICAgICAgIGNoYXIgKnMgPSBzdGFydDsKICAgICAgICAgZm9yICg7OykgewotICAgICAgICAgICAgUHlfVU5JQ09ERSBjaDsKKyAgICAgICAgICAgIFB5X1VDUzQgY2g7CiAgICAgICAgICAgICAvKiBGYXN0IHBhdGggZm9yIG5vbi1jb250cm9sIGNoYXJzLiBUaGUgbG9vcCBhbHdheXMgZW5kcwotICAgICAgICAgICAgICAgc2luY2UgdGhlIFB5X1VOSUNPREUgc3RvcmFnZSBpcyBOVUwtdGVybWluYXRlZC4gKi8KLSAgICAgICAgICAgIHdoaWxlICgqcyA+ICdccicpCi0gICAgICAgICAgICAgICAgcysrOworICAgICAgICAgICAgICAgc2luY2UgdGhlIFVuaWNvZGUgc3RyaW5nIGlzIE5VTC10ZXJtaW5hdGVkLiAqLworICAgICAgICAgICAgd2hpbGUgKFB5VW5pY29kZV9SRUFEKGtpbmQsIHMsIDApID4gJ1xyJykKKyAgICAgICAgICAgICAgICBzICs9IGtpbmQ7CiAgICAgICAgICAgICBpZiAocyA+PSBlbmQpIHsKICAgICAgICAgICAgICAgICAqY29uc3VtZWQgPSBsZW47CiAgICAgICAgICAgICAgICAgcmV0dXJuIC0xOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgY2ggPSAqcysrOworICAgICAgICAgICAgY2ggPSBQeVVuaWNvZGVfUkVBRChraW5kLCBzLCAwKTsKKyAgICAgICAgICAgIHMgKz0ga2luZDsKICAgICAgICAgICAgIGlmIChjaCA9PSAnXG4nKQotICAgICAgICAgICAgICAgIHJldHVybiBzIC0gc3RhcnQ7CisgICAgICAgICAgICAgICAgcmV0dXJuIChzIC0gc3RhcnQpL2tpbmQ7CiAgICAgICAgICAgICBpZiAoY2ggPT0gJ1xyJykgewotICAgICAgICAgICAgICAgIGlmICgqcyA9PSAnXG4nKQotICAgICAgICAgICAgICAgICAgICByZXR1cm4gcyAtIHN0YXJ0ICsgMTsKKyAgICAgICAgICAgICAgICBpZiAoUHlVbmljb2RlX1JFQUQoa2luZCwgcywgMCkgPT0gJ1xuJykKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChzIC0gc3RhcnQpL2tpbmQgKyAxOwogICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHMgLSBzdGFydDsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChzIC0gc3RhcnQpL2tpbmQ7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9CiAgICAgZWxzZSB7CiAgICAgICAgIC8qIE5vbi11bml2ZXJzYWwgbW9kZS4gKi8KLSAgICAgICAgUHlfc3NpemVfdCByZWFkbmxfbGVuID0gUHlVbmljb2RlX0dFVF9TSVpFKHJlYWRubCk7Ci0gICAgICAgIFB5X1VOSUNPREUgKm5sID0gUHlVbmljb2RlX0FTX1VOSUNPREUocmVhZG5sKTsKKyAgICAgICAgUHlfc3NpemVfdCByZWFkbmxfbGVuID0gUHlVbmljb2RlX0dFVF9MRU5HVEgocmVhZG5sKTsKKyAgICAgICAgY2hhciAqbmwgPSBQeVVuaWNvZGVfREFUQShyZWFkbmwpOworICAgICAgICAvKiBBc3N1bWUgdGhhdCByZWFkbmwgaXMgYW4gQVNDSUkgY2hhcmFjdGVyLiAqLworICAgICAgICBhc3NlcnQoUHlVbmljb2RlX0tJTkQocmVhZG5sKSA9PSBQeVVuaWNvZGVfMUJZVEVfS0lORCk7CiAgICAgICAgIGlmIChyZWFkbmxfbGVuID09IDEpIHsKLSAgICAgICAgICAgIFB5X1VOSUNPREUgKnBvcyA9IGZpbmRfY29udHJvbF9jaGFyKHN0YXJ0LCBlbmQsIG5sWzBdKTsKKyAgICAgICAgICAgIGNoYXIgKnBvcyA9IGZpbmRfY29udHJvbF9jaGFyKGtpbmQsIHN0YXJ0LCBlbmQsIG5sWzBdKTsKICAgICAgICAgICAgIGlmIChwb3MgIT0gTlVMTCkKLSAgICAgICAgICAgICAgICByZXR1cm4gcG9zIC0gc3RhcnQgKyAxOworICAgICAgICAgICAgICAgIHJldHVybiAocG9zIC0gc3RhcnQpL2tpbmQgKyAxOwogICAgICAgICAgICAgKmNvbnN1bWVkID0gbGVuOwogICAgICAgICAgICAgcmV0dXJuIC0xOwogICAgICAgICB9CiAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgUHlfVU5JQ09ERSAqcyA9IHN0YXJ0OwotICAgICAgICAgICAgUHlfVU5JQ09ERSAqZSA9IGVuZCAtIHJlYWRubF9sZW4gKyAxOwotICAgICAgICAgICAgUHlfVU5JQ09ERSAqcG9zOworICAgICAgICAgICAgY2hhciAqcyA9IHN0YXJ0OworICAgICAgICAgICAgY2hhciAqZSA9IGVuZCAtIChyZWFkbmxfbGVuIC0gMSkqa2luZDsKKyAgICAgICAgICAgIGNoYXIgKnBvczsKICAgICAgICAgICAgIGlmIChlIDwgcykKICAgICAgICAgICAgICAgICBlID0gczsKICAgICAgICAgICAgIHdoaWxlIChzIDwgZSkgewogICAgICAgICAgICAgICAgIFB5X3NzaXplX3QgaTsKLSAgICAgICAgICAgICAgICBQeV9VTklDT0RFICpwb3MgPSBmaW5kX2NvbnRyb2xfY2hhcihzLCBlbmQsIG5sWzBdKTsKKyAgICAgICAgICAgICAgICBjaGFyICpwb3MgPSBmaW5kX2NvbnRyb2xfY2hhcihraW5kLCBzLCBlbmQsIG5sWzBdKTsKICAgICAgICAgICAgICAgICBpZiAocG9zID09IE5VTEwgfHwgcG9zID49IGUpCiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgIGZvciAoaSA9IDE7IGkgPCByZWFkbmxfbGVuOyBpKyspIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHBvc1tpXSAhPSBubFtpXSkKKyAgICAgICAgICAgICAgICAgICAgaWYgKFB5VW5pY29kZV9SRUFEKGtpbmQsIHBvcywgaSkgIT0gbmxbaV0pCiAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgaWYgKGkgPT0gcmVhZG5sX2xlbikKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHBvcyAtIHN0YXJ0ICsgcmVhZG5sX2xlbjsKLSAgICAgICAgICAgICAgICBzID0gcG9zICsgMTsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChwb3MgLSBzdGFydCkva2luZCArIHJlYWRubF9sZW47CisgICAgICAgICAgICAgICAgcyA9IHBvcyArIGtpbmQ7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBwb3MgPSBmaW5kX2NvbnRyb2xfY2hhcihlLCBlbmQsIG5sWzBdKTsKKyAgICAgICAgICAgIHBvcyA9IGZpbmRfY29udHJvbF9jaGFyKGtpbmQsIGUsIGVuZCwgbmxbMF0pOwogICAgICAgICAgICAgaWYgKHBvcyA9PSBOVUxMKQogICAgICAgICAgICAgICAgICpjb25zdW1lZCA9IGxlbjsKICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAqY29uc3VtZWQgPSBwb3MgLSBzdGFydDsKKyAgICAgICAgICAgICAgICAqY29uc3VtZWQgPSAocG9zIC0gc3RhcnQpL2tpbmQ7CiAgICAgICAgICAgICByZXR1cm4gLTE7CiAgICAgICAgIH0KICAgICB9CkBAIC0xNjkyLDE1ICsxNzE4LDE2IEBACiAgICAgY2h1bmtlZCA9IDA7CiAKICAgICB3aGlsZSAoMSkgewotICAgICAgICBQeV9VTklDT0RFICpwdHI7CisgICAgICAgIGNoYXIgKnB0cjsKICAgICAgICAgUHlfc3NpemVfdCBsaW5lX2xlbjsKKyAgICAgICAgaW50IGtpbmQ7CiAgICAgICAgIFB5X3NzaXplX3QgY29uc3VtZWQgPSAwOwogCiAgICAgICAgIC8qIEZpcnN0LCBnZXQgc29tZSBkYXRhIGlmIG5lY2Vzc2FyeSAqLwogICAgICAgICByZXMgPSAxOwogICAgICAgICB3aGlsZSAoIXNlbGYtPmRlY29kZWRfY2hhcnMgfHwKLSAgICAgICAgICAgICAgICFQeVVuaWNvZGVfR0VUX1NJWkUoc2VsZi0+ZGVjb2RlZF9jaGFycykpIHsKLSAgICAgICAgICAgIHJlcyA9IHRleHRpb3dyYXBwZXJfcmVhZF9jaHVuayhzZWxmKTsKKyAgICAgICAgICAgICAgICFQeVVuaWNvZGVfR0VUX0xFTkdUSChzZWxmLT5kZWNvZGVkX2NoYXJzKSkgeworICAgICAgICAgICAgcmVzID0gdGV4dGlvd3JhcHBlcl9yZWFkX2NodW5rKHNlbGYsIDApOwogICAgICAgICAgICAgaWYgKHJlcyA8IDApCiAgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKICAgICAgICAgICAgIGlmIChyZXMgPT0gMCkKQEAgLTE3MjQsMTggKzE3NTEsMjQgQEAKICAgICAgICAgICAgIGFzc2VydChzZWxmLT5kZWNvZGVkX2NoYXJzX3VzZWQgPT0gMCk7CiAgICAgICAgICAgICBsaW5lID0gUHlVbmljb2RlX0NvbmNhdChyZW1haW5pbmcsIHNlbGYtPmRlY29kZWRfY2hhcnMpOwogICAgICAgICAgICAgc3RhcnQgPSAwOwotICAgICAgICAgICAgb2Zmc2V0X3RvX2J1ZmZlciA9IFB5VW5pY29kZV9HRVRfU0laRShyZW1haW5pbmcpOworICAgICAgICAgICAgb2Zmc2V0X3RvX2J1ZmZlciA9IFB5VW5pY29kZV9HRVRfTEVOR1RIKHJlbWFpbmluZyk7CiAgICAgICAgICAgICBQeV9DTEVBUihyZW1haW5pbmcpOwogICAgICAgICAgICAgaWYgKGxpbmUgPT0gTlVMTCkKICAgICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICAgICAgaWYgKFB5VW5pY29kZV9SRUFEWShsaW5lKSA9PSAtMSkKKyAgICAgICAgICAgICAgICBnb3RvIGVycm9yOwogICAgICAgICB9CiAKLSAgICAgICAgcHRyID0gUHlVbmljb2RlX0FTX1VOSUNPREUobGluZSk7Ci0gICAgICAgIGxpbmVfbGVuID0gUHlVbmljb2RlX0dFVF9TSVpFKGxpbmUpOworICAgICAgICBwdHIgPSBQeVVuaWNvZGVfREFUQShsaW5lKTsKKyAgICAgICAgbGluZV9sZW4gPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChsaW5lKTsKKyAgICAgICAga2luZCA9IFB5VW5pY29kZV9LSU5EKGxpbmUpOwogCiAgICAgICAgIGVuZHBvcyA9IF9QeUlPX2ZpbmRfbGluZV9lbmRpbmcoCiAgICAgICAgICAgICBzZWxmLT5yZWFkdHJhbnNsYXRlLCBzZWxmLT5yZWFkdW5pdmVyc2FsLCBzZWxmLT5yZWFkbmwsCi0gICAgICAgICAgICBwdHIgKyBzdGFydCwgcHRyICsgbGluZV9sZW4sICZjb25zdW1lZCk7CisgICAgICAgICAgICBraW5kLAorICAgICAgICAgICAgcHRyICsga2luZCAqIHN0YXJ0LAorICAgICAgICAgICAgcHRyICsga2luZCAqIGxpbmVfbGVuLAorICAgICAgICAgICAgJmNvbnN1bWVkKTsKICAgICAgICAgaWYgKGVuZHBvcyA+PSAwKSB7CiAgICAgICAgICAgICBlbmRwb3MgKz0gc3RhcnQ7CiAgICAgICAgICAgICBpZiAobGltaXQgPj0gMCAmJiAoZW5kcG9zIC0gc3RhcnQpICsgY2h1bmtlZCA+PSBsaW1pdCkKQEAgLTE3NTksMjEgKzE3OTIsMjAgQEAKICAgICAgICAgICAgICAgICBpZiAoY2h1bmtzID09IE5VTEwpCiAgICAgICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBzID0gUHlVbmljb2RlX0Zyb21Vbmljb2RlKHB0ciArIHN0YXJ0LCBlbmRwb3MgLSBzdGFydCk7CisgICAgICAgICAgICBzID0gUHlVbmljb2RlX1N1YnN0cmluZyhsaW5lLCBzdGFydCwgZW5kcG9zKTsKICAgICAgICAgICAgIGlmIChzID09IE5VTEwpCiAgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKICAgICAgICAgICAgIGlmIChQeUxpc3RfQXBwZW5kKGNodW5rcywgcykgPCAwKSB7CiAgICAgICAgICAgICAgICAgUHlfREVDUkVGKHMpOwogICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBjaHVua2VkICs9IFB5VW5pY29kZV9HRVRfU0laRShzKTsKKyAgICAgICAgICAgIGNodW5rZWQgKz0gUHlVbmljb2RlX0dFVF9MRU5HVEgocyk7CiAgICAgICAgICAgICBQeV9ERUNSRUYocyk7CiAgICAgICAgIH0KICAgICAgICAgLyogVGhlcmUgbWF5IGJlIHNvbWUgcmVtYWluaW5nIGJ5dGVzIHdlJ2xsIGhhdmUgdG8gcHJlcGVuZCB0byB0aGUKICAgICAgICAgICAgbmV4dCBjaHVuayBvZiBkYXRhICovCiAgICAgICAgIGlmIChlbmRwb3MgPCBsaW5lX2xlbikgewotICAgICAgICAgICAgcmVtYWluaW5nID0gUHlVbmljb2RlX0Zyb21Vbmljb2RlKAotICAgICAgICAgICAgICAgICAgICBwdHIgKyBlbmRwb3MsIGxpbmVfbGVuIC0gZW5kcG9zKTsKKyAgICAgICAgICAgIHJlbWFpbmluZyA9IFB5VW5pY29kZV9TdWJzdHJpbmcobGluZSwgZW5kcG9zLCBsaW5lX2xlbik7CiAgICAgICAgICAgICBpZiAocmVtYWluaW5nID09IE5VTEwpCiAgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKICAgICAgICAgfQpAQCAtMTc4NSwxOSArMTgxNywxMiBAQAogICAgIGlmIChsaW5lICE9IE5VTEwpIHsKICAgICAgICAgLyogT3VyIGxpbmUgZW5kcyBpbiB0aGUgY3VycmVudCBidWZmZXIgKi8KICAgICAgICAgc2VsZi0+ZGVjb2RlZF9jaGFyc191c2VkID0gZW5kcG9zIC0gb2Zmc2V0X3RvX2J1ZmZlcjsKLSAgICAgICAgaWYgKHN0YXJ0ID4gMCB8fCBlbmRwb3MgPCBQeVVuaWNvZGVfR0VUX1NJWkUobGluZSkpIHsKLSAgICAgICAgICAgIGlmIChzdGFydCA9PSAwICYmIFB5X1JFRkNOVChsaW5lKSA9PSAxKSB7Ci0gICAgICAgICAgICAgICAgaWYgKFB5VW5pY29kZV9SZXNpemUoJmxpbmUsIGVuZHBvcykgPCAwKQotICAgICAgICAgICAgICAgICAgICBnb3RvIGVycm9yOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICAgICAgUHlPYmplY3QgKnMgPSBQeVVuaWNvZGVfRnJvbVVuaWNvZGUoCi0gICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfQVNfVU5JQ09ERShsaW5lKSArIHN0YXJ0LCBlbmRwb3MgLSBzdGFydCk7Ci0gICAgICAgICAgICAgICAgUHlfQ0xFQVIobGluZSk7Ci0gICAgICAgICAgICAgICAgaWYgKHMgPT0gTlVMTCkKLSAgICAgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKLSAgICAgICAgICAgICAgICBsaW5lID0gczsKLSAgICAgICAgICAgIH0KKyAgICAgICAgaWYgKHN0YXJ0ID4gMCB8fCBlbmRwb3MgPCBQeVVuaWNvZGVfR0VUX0xFTkdUSChsaW5lKSkgeworICAgICAgICAgICAgUHlPYmplY3QgKnMgPSBQeVVuaWNvZGVfU3Vic3RyaW5nKGxpbmUsIHN0YXJ0LCBlbmRwb3MpOworICAgICAgICAgICAgUHlfQ0xFQVIobGluZSk7CisgICAgICAgICAgICBpZiAocyA9PSBOVUxMKQorICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgICAgICBsaW5lID0gczsKICAgICAgICAgfQogICAgIH0KICAgICBpZiAocmVtYWluaW5nICE9IE5VTEwpIHsKQEAgLTE4MTEsMTYgKzE4MzYsMjAgQEAKICAgICAgICAgUHlfQ0xFQVIocmVtYWluaW5nKTsKICAgICB9CiAgICAgaWYgKGNodW5rcyAhPSBOVUxMKSB7Ci0gICAgICAgIGlmIChsaW5lICE9IE5VTEwgJiYgUHlMaXN0X0FwcGVuZChjaHVua3MsIGxpbmUpIDwgMCkKLSAgICAgICAgICAgIGdvdG8gZXJyb3I7Ci0gICAgICAgIFB5X0NMRUFSKGxpbmUpOworICAgICAgICBpZiAobGluZSAhPSBOVUxMKSB7CisgICAgICAgICAgICBpZiAoUHlMaXN0X0FwcGVuZChjaHVua3MsIGxpbmUpIDwgMCkKKyAgICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICAgICAgUHlfREVDUkVGKGxpbmUpOworICAgICAgICB9CiAgICAgICAgIGxpbmUgPSBQeVVuaWNvZGVfSm9pbihfUHlJT19lbXB0eV9zdHIsIGNodW5rcyk7CiAgICAgICAgIGlmIChsaW5lID09IE5VTEwpCiAgICAgICAgICAgICBnb3RvIGVycm9yOwotICAgICAgICBQeV9ERUNSRUYoY2h1bmtzKTsKKyAgICAgICAgUHlfQ0xFQVIoY2h1bmtzKTsKICAgICB9Ci0gICAgaWYgKGxpbmUgPT0gTlVMTCkKLSAgICAgICAgbGluZSA9IFB5VW5pY29kZV9Gcm9tU3RyaW5nQW5kU2l6ZShOVUxMLCAwKTsKKyAgICBpZiAobGluZSA9PSBOVUxMKSB7CisgICAgICAgIFB5X0lOQ1JFRihfUHlJT19lbXB0eV9zdHIpOworICAgICAgICBsaW5lID0gX1B5SU9fZW1wdHlfc3RyOworICAgIH0KIAogICAgIHJldHVybiBsaW5lOwogCkBAIC0xOTQzLDggKzE5NzIsOCBAQAogICAgIGlmIChjb29raWUtPnN0YXJ0X3BvcyA9PSAwICYmIGNvb2tpZS0+ZGVjX2ZsYWdzID09IDApCiAgICAgICAgIHJlcyA9IFB5T2JqZWN0X0NhbGxNZXRob2RPYmpBcmdzKHNlbGYtPmRlY29kZXIsIF9QeUlPX3N0cl9yZXNldCwgTlVMTCk7CiAgICAgZWxzZQotICAgICAgICByZXMgPSBQeU9iamVjdF9DYWxsTWV0aG9kKHNlbGYtPmRlY29kZXIsICJzZXRzdGF0ZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIigoeWkpKSIsICIiLCBjb29raWUtPmRlY19mbGFncyk7CisgICAgICAgIHJlcyA9IF9QeU9iamVjdF9DYWxsTWV0aG9kSWQoc2VsZi0+ZGVjb2RlciwgJlB5SWRfc2V0c3RhdGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIigoeWkpKSIsICIiLCBjb29raWUtPmRlY19mbGFncyk7CiAgICAgaWYgKHJlcyA9PSBOVUxMKQogICAgICAgICByZXR1cm4gLTE7CiAgICAgUHlfREVDUkVGKHJlcyk7CkBAIC0yMDA4LDEzICsyMDM3LDEyIEBACiAgICAgICAgICAqIHN5bmMgdGhlIHVuZGVybHlpbmcgYnVmZmVyIHdpdGggdGhlIGN1cnJlbnQgcG9zaXRpb24uCiAgICAgICAgICAqLwogICAgICAgICBQeV9ERUNSRUYoY29va2llT2JqKTsKLSAgICAgICAgY29va2llT2JqID0gUHlPYmplY3RfQ2FsbE1ldGhvZCgoUHlPYmplY3QgKilzZWxmLCAidGVsbCIsIE5VTEwpOworICAgICAgICBjb29raWVPYmogPSBfUHlPYmplY3RfQ2FsbE1ldGhvZElkKChQeU9iamVjdCAqKXNlbGYsICZQeUlkX3RlbGwsIE5VTEwpOwogICAgICAgICBpZiAoY29va2llT2JqID09IE5VTEwpCiAgICAgICAgICAgICBnb3RvIGZhaWw7CiAgICAgfQogICAgIGVsc2UgaWYgKHdoZW5jZSA9PSAyKSB7CiAgICAgICAgIC8qIHNlZWsgcmVsYXRpdmUgdG8gZW5kIG9mIGZpbGUgKi8KLQogICAgICAgICBjbXAgPSBQeU9iamVjdF9SaWNoQ29tcGFyZUJvb2woY29va2llT2JqLCBfUHlJT196ZXJvLCBQeV9FUSk7CiAgICAgICAgIGlmIChjbXAgPCAwKQogICAgICAgICAgICAgZ290byBmYWlsOwpAQCAtMjAyNCw3ICsyMDUyLDcgQEAKICAgICAgICAgICAgIGdvdG8gZmFpbDsKICAgICAgICAgfQogCi0gICAgICAgIHJlcyA9IFB5T2JqZWN0X0NhbGxNZXRob2QoKFB5T2JqZWN0ICopc2VsZiwgImZsdXNoIiwgTlVMTCk7CisgICAgICAgIHJlcyA9IF9QeU9iamVjdF9DYWxsTWV0aG9kSWQoKFB5T2JqZWN0ICopc2VsZiwgJlB5SWRfZmx1c2gsIE5VTEwpOwogICAgICAgICBpZiAocmVzID09IE5VTEwpCiAgICAgICAgICAgICBnb3RvIGZhaWw7CiAgICAgICAgIFB5X0RFQ1JFRihyZXMpOwpAQCAtMjAzMiwxMyArMjA2MCwxMyBAQAogICAgICAgICB0ZXh0aW93cmFwcGVyX3NldF9kZWNvZGVkX2NoYXJzKHNlbGYsIE5VTEwpOwogICAgICAgICBQeV9DTEVBUihzZWxmLT5zbmFwc2hvdCk7CiAgICAgICAgIGlmIChzZWxmLT5kZWNvZGVyKSB7Ci0gICAgICAgICAgICByZXMgPSBQeU9iamVjdF9DYWxsTWV0aG9kKHNlbGYtPmRlY29kZXIsICJyZXNldCIsIE5VTEwpOworICAgICAgICAgICAgcmVzID0gX1B5T2JqZWN0X0NhbGxNZXRob2RJZChzZWxmLT5kZWNvZGVyLCAmUHlJZF9yZXNldCwgTlVMTCk7CiAgICAgICAgICAgICBpZiAocmVzID09IE5VTEwpCiAgICAgICAgICAgICAgICAgZ290byBmYWlsOwogICAgICAgICAgICAgUHlfREVDUkVGKHJlcyk7CiAgICAgICAgIH0KIAotICAgICAgICByZXMgPSBQeU9iamVjdF9DYWxsTWV0aG9kKHNlbGYtPmJ1ZmZlciwgInNlZWsiLCAiaWkiLCAwLCAyKTsKKyAgICAgICAgcmVzID0gX1B5T2JqZWN0X0NhbGxNZXRob2RJZChzZWxmLT5idWZmZXIsICZQeUlkX3NlZWssICJpaSIsIDAsIDIpOwogICAgICAgICBQeV9YREVDUkVGKGNvb2tpZU9iaik7CiAgICAgICAgIHJldHVybiByZXM7CiAgICAgfQpAQCAtMjA5MSw4ICsyMTE5LDggQEAKIAogICAgIGlmIChjb29raWUuY2hhcnNfdG9fc2tpcCkgewogICAgICAgICAvKiBKdXN0IGxpa2UgX3JlYWRfY2h1bmssIGZlZWQgdGhlIGRlY29kZXIgYW5kIHNhdmUgYSBzbmFwc2hvdC4gKi8KLSAgICAgICAgUHlPYmplY3QgKmlucHV0X2NodW5rID0gUHlPYmplY3RfQ2FsbE1ldGhvZCgKLSAgICAgICAgICAgIHNlbGYtPmJ1ZmZlciwgInJlYWQiLCAiaSIsIGNvb2tpZS5ieXRlc190b19mZWVkKTsKKyAgICAgICAgUHlPYmplY3QgKmlucHV0X2NodW5rID0gX1B5T2JqZWN0X0NhbGxNZXRob2RJZCgKKyAgICAgICAgICAgIHNlbGYtPmJ1ZmZlciwgJlB5SWRfcmVhZCwgImkiLCBjb29raWUuYnl0ZXNfdG9fZmVlZCk7CiAgICAgICAgIFB5T2JqZWN0ICpkZWNvZGVkOwogCiAgICAgICAgIGlmIChpbnB1dF9jaHVuayA9PSBOVUxMKQpAQCAtMjEwNiwxNiArMjEzNCwyMCBAQAogICAgICAgICAgICAgZ290byBmYWlsOwogICAgICAgICB9CiAKLSAgICAgICAgZGVjb2RlZCA9IFB5T2JqZWN0X0NhbGxNZXRob2Qoc2VsZi0+ZGVjb2RlciwgImRlY29kZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJPaSIsIGlucHV0X2NodW5rLCAoaW50KWNvb2tpZS5uZWVkX2VvZik7CisgICAgICAgIGRlY29kZWQgPSBfUHlPYmplY3RfQ2FsbE1ldGhvZElkKHNlbGYtPmRlY29kZXIsICZQeUlkX2RlY29kZSwKKyAgICAgICAgICAgICJPaSIsIGlucHV0X2NodW5rLCAoaW50KWNvb2tpZS5uZWVkX2VvZik7CiAKICAgICAgICAgaWYgKGRlY29kZWQgPT0gTlVMTCkKICAgICAgICAgICAgIGdvdG8gZmFpbDsKKyAgICAgICAgaWYgKFB5VW5pY29kZV9SRUFEWShkZWNvZGVkKSA9PSAtMSkgeworICAgICAgICAgICAgUHlfREVDUkVGKGRlY29kZWQpOworICAgICAgICAgICAgZ290byBmYWlsOworICAgICAgICB9CiAKICAgICAgICAgdGV4dGlvd3JhcHBlcl9zZXRfZGVjb2RlZF9jaGFycyhzZWxmLCBkZWNvZGVkKTsKIAogICAgICAgICAvKiBTa2lwIGNoYXJzX3RvX3NraXAgb2YgdGhlIGRlY29kZWQgY2hhcmFjdGVycy4gKi8KLSAgICAgICAgaWYgKFB5VW5pY29kZV9HZXRTaXplKHNlbGYtPmRlY29kZWRfY2hhcnMpIDwgY29va2llLmNoYXJzX3RvX3NraXApIHsKKyAgICAgICAgaWYgKFB5VW5pY29kZV9HZXRMZW5ndGgoc2VsZi0+ZGVjb2RlZF9jaGFycykgPCBjb29raWUuY2hhcnNfdG9fc2tpcCkgewogICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX0lPRXJyb3IsICJjYW4ndCByZXN0b3JlIGxvZ2ljYWwgZmlsZSBwb3NpdGlvbiIpOwogICAgICAgICAgICAgZ290byBmYWlsOwogICAgICAgICB9CkBAIC0yMTQ3LDggKzIxNzksMTIgQEAKICAgICBjb29raWVfdHlwZSBjb29raWUgPSB7MCwwLDAsMCwwfTsKICAgICBQeU9iamVjdCAqbmV4dF9pbnB1dDsKICAgICBQeV9zc2l6ZV90IGNoYXJzX3RvX3NraXAsIGNoYXJzX2RlY29kZWQ7CisgICAgUHlfc3NpemVfdCBza2lwX2J5dGVzLCBza2lwX2JhY2s7CiAgICAgUHlPYmplY3QgKnNhdmVkX3N0YXRlID0gTlVMTDsKICAgICBjaGFyICppbnB1dCwgKmlucHV0X2VuZDsKKyAgICBjaGFyICpkZWNfYnVmZmVyOworICAgIFB5X3NzaXplX3QgZGVjX2J1ZmZlcl9sZW47CisgICAgaW50IGRlY19mbGFnczsKIAogICAgIENIRUNLX0lOSVRJQUxJWkVEKHNlbGYpOwogICAgIENIRUNLX0NMT1NFRChzZWxmKTsKQEAgLTIxNjUsMTcgKzIyMDEsMTcgQEAKIAogICAgIGlmIChfdGV4dGlvd3JhcHBlcl93cml0ZWZsdXNoKHNlbGYpIDwgMCkKICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgcmVzID0gUHlPYmplY3RfQ2FsbE1ldGhvZCgoUHlPYmplY3QgKilzZWxmLCAiZmx1c2giLCBOVUxMKTsKKyAgICByZXMgPSBfUHlPYmplY3RfQ2FsbE1ldGhvZElkKChQeU9iamVjdCAqKXNlbGYsICZQeUlkX2ZsdXNoLCBOVUxMKTsKICAgICBpZiAocmVzID09IE5VTEwpCiAgICAgICAgIGdvdG8gZmFpbDsKICAgICBQeV9ERUNSRUYocmVzKTsKIAotICAgIHBvc29iaiA9IFB5T2JqZWN0X0NhbGxNZXRob2Qoc2VsZi0+YnVmZmVyLCAidGVsbCIsIE5VTEwpOworICAgIHBvc29iaiA9IF9QeU9iamVjdF9DYWxsTWV0aG9kSWQoc2VsZi0+YnVmZmVyLCAmUHlJZF90ZWxsLCBOVUxMKTsKICAgICBpZiAocG9zb2JqID09IE5VTEwpCiAgICAgICAgIGdvdG8gZmFpbDsKIAogICAgIGlmIChzZWxmLT5kZWNvZGVyID09IE5VTEwgfHwgc2VsZi0+c25hcHNob3QgPT0gTlVMTCkgewotICAgICAgICBhc3NlcnQgKHNlbGYtPmRlY29kZWRfY2hhcnMgPT0gTlVMTCB8fCBQeVVuaWNvZGVfR2V0U2l6ZShzZWxmLT5kZWNvZGVkX2NoYXJzKSA9PSAwKTsKKyAgICAgICAgYXNzZXJ0IChzZWxmLT5kZWNvZGVkX2NoYXJzID09IE5VTEwgfHwgUHlVbmljb2RlX0dldExlbmd0aChzZWxmLT5kZWNvZGVkX2NoYXJzKSA9PSAwKTsKICAgICAgICAgcmV0dXJuIHBvc29iajsKICAgICB9CiAKQEAgLTIxODQsNiArMjIyMCw3IEBACiAjZWxzZQogICAgIGNvb2tpZS5zdGFydF9wb3MgPSBQeUxvbmdfQXNMb25nKHBvc29iaik7CiAjZW5kaWYKKyAgICBQeV9ERUNSRUYocG9zb2JqKTsKICAgICBpZiAoUHlFcnJfT2NjdXJyZWQoKSkKICAgICAgICAgZ290byBmYWlsOwogCkBAIC0yMTk4LDU3ICsyMjM1LDk5IEBACiAgICAgLyogSG93IG1hbnkgZGVjb2RlZCBjaGFyYWN0ZXJzIGhhdmUgYmVlbiB1c2VkIHVwIHNpbmNlIHRoZSBzbmFwc2hvdD8gKi8KICAgICBpZiAoc2VsZi0+ZGVjb2RlZF9jaGFyc191c2VkID09IDApICB7CiAgICAgICAgIC8qIFdlIGhhdmVuJ3QgbW92ZWQgZnJvbSB0aGUgc25hcHNob3QgcG9pbnQuICovCi0gICAgICAgIFB5X0RFQ1JFRihwb3NvYmopOwogICAgICAgICByZXR1cm4gdGV4dGlvd3JhcHBlcl9idWlsZF9jb29raWUoJmNvb2tpZSk7CiAgICAgfQogCiAgICAgY2hhcnNfdG9fc2tpcCA9IHNlbGYtPmRlY29kZWRfY2hhcnNfdXNlZDsKIAotICAgIC8qIFN0YXJ0aW5nIGZyb20gdGhlIHNuYXBzaG90IHBvc2l0aW9uLCB3ZSB3aWxsIHdhbGsgdGhlIGRlY29kZXIKLSAgICAgKiBmb3J3YXJkIHVudGlsIGl0IGdpdmVzIHVzIGVub3VnaCBkZWNvZGVkIGNoYXJhY3RlcnMuCi0gICAgICovCisgICAgLyogRGVjb2RlciBzdGF0ZSB3aWxsIGJlIHJlc3RvcmVkIGF0IHRoZSBlbmQgKi8KICAgICBzYXZlZF9zdGF0ZSA9IFB5T2JqZWN0X0NhbGxNZXRob2RPYmpBcmdzKHNlbGYtPmRlY29kZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfUHlJT19zdHJfZ2V0c3RhdGUsIE5VTEwpOwogICAgIGlmIChzYXZlZF9zdGF0ZSA9PSBOVUxMKQogICAgICAgICBnb3RvIGZhaWw7CiAKLSAgICAvKiBOb3RlIG91ciBpbml0aWFsIHN0YXJ0IHBvaW50LiAqLwotICAgIGlmIChfdGV4dGlvd3JhcHBlcl9kZWNvZGVyX3NldHN0YXRlKHNlbGYsICZjb29raWUpIDwgMCkKLSAgICAgICAgZ290byBmYWlsOworI2RlZmluZSBERUNPREVSX0dFVFNUQVRFKCkgZG8geyBcCisgICAgICAgIFB5T2JqZWN0ICpfc3RhdGUgPSBQeU9iamVjdF9DYWxsTWV0aG9kT2JqQXJncyhzZWxmLT5kZWNvZGVyLCBcCisgICAgICAgICAgICBfUHlJT19zdHJfZ2V0c3RhdGUsIE5VTEwpOyBcCisgICAgICAgIGlmIChfc3RhdGUgPT0gTlVMTCkgXAorICAgICAgICAgICAgZ290byBmYWlsOyBcCisgICAgICAgIGlmICghUHlBcmdfUGFyc2UoX3N0YXRlLCAiKHkjaSkiLCAmZGVjX2J1ZmZlciwgJmRlY19idWZmZXJfbGVuLCAmZGVjX2ZsYWdzKSkgeyBcCisgICAgICAgICAgICBQeV9ERUNSRUYoX3N0YXRlKTsgXAorICAgICAgICAgICAgZ290byBmYWlsOyBcCisgICAgICAgIH0gXAorICAgICAgICBQeV9ERUNSRUYoX3N0YXRlKTsgXAorICAgIH0gd2hpbGUgKDApCiAKLSAgICAvKiBGZWVkIHRoZSBkZWNvZGVyIG9uZSBieXRlIGF0IGEgdGltZS4gIEFzIHdlIGdvLCBub3RlIHRoZQotICAgICAqIG5lYXJlc3QgInNhZmUgc3RhcnQgcG9pbnQiIGJlZm9yZSB0aGUgY3VycmVudCBsb2NhdGlvbgotICAgICAqIChhIHBvaW50IHdoZXJlIHRoZSBkZWNvZGVyIGhhcyBub3RoaW5nIGJ1ZmZlcmVkLCBzbyBzZWVrKCkKKyAgICAvKiBUT0RPOiByZXBsYWNlIGFzc2VydCB3aXRoIGV4Y2VwdGlvbiAqLworI2RlZmluZSBERUNPREVSX0RFQ09ERShzdGFydCwgbGVuLCByZXMpIGRvIHsgXAorICAgICAgICBQeU9iamVjdCAqX2RlY29kZWQgPSBfUHlPYmplY3RfQ2FsbE1ldGhvZElkKCBcCisgICAgICAgICAgICBzZWxmLT5kZWNvZGVyLCAmUHlJZF9kZWNvZGUsICJ5IyIsIHN0YXJ0LCBsZW4pOyBcCisgICAgICAgIGlmIChfZGVjb2RlZCA9PSBOVUxMKSBcCisgICAgICAgICAgICBnb3RvIGZhaWw7IFwKKyAgICAgICAgYXNzZXJ0IChQeVVuaWNvZGVfQ2hlY2soX2RlY29kZWQpKTsgXAorICAgICAgICByZXMgPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChfZGVjb2RlZCk7IFwKKyAgICAgICAgUHlfREVDUkVGKF9kZWNvZGVkKTsgXAorICAgIH0gd2hpbGUgKDApCisKKyAgICAvKiBGYXN0IHNlYXJjaCBmb3IgYW4gYWNjZXB0YWJsZSBzdGFydCBwb2ludCwgY2xvc2UgdG8gb3VyCisgICAgICAgY3VycmVudCBwb3MgKi8KKyAgICBza2lwX2J5dGVzID0gKFB5X3NzaXplX3QpIChzZWxmLT5iMmNyYXRpbyAqIGNoYXJzX3RvX3NraXApOworICAgIHNraXBfYmFjayA9IDE7CisgICAgYXNzZXJ0KHNraXBfYmFjayA8PSBQeUJ5dGVzX0dFVF9TSVpFKG5leHRfaW5wdXQpKTsKKyAgICBpbnB1dCA9IFB5Qnl0ZXNfQVNfU1RSSU5HKG5leHRfaW5wdXQpOworICAgIHdoaWxlIChza2lwX2J5dGVzID4gMCkgeworICAgICAgICAvKiBEZWNvZGUgdXAgdG8gdGVtcHRhdGl2ZSBzdGFydCBwb2ludCAqLworICAgICAgICBpZiAoX3RleHRpb3dyYXBwZXJfZGVjb2Rlcl9zZXRzdGF0ZShzZWxmLCAmY29va2llKSA8IDApCisgICAgICAgICAgICBnb3RvIGZhaWw7CisgICAgICAgIERFQ09ERVJfREVDT0RFKGlucHV0LCBza2lwX2J5dGVzLCBjaGFyc19kZWNvZGVkKTsKKyAgICAgICAgaWYgKGNoYXJzX2RlY29kZWQgPD0gY2hhcnNfdG9fc2tpcCkgeworICAgICAgICAgICAgREVDT0RFUl9HRVRTVEFURSgpOworICAgICAgICAgICAgaWYgKGRlY19idWZmZXJfbGVuID09IDApIHsKKyAgICAgICAgICAgICAgICAvKiBCZWZvcmUgcG9zIGFuZCBubyBieXRlcyBidWZmZXJlZCBpbiBkZWNvZGVyID0+IE9LICovCisgICAgICAgICAgICAgICAgY29va2llLmRlY19mbGFncyA9IGRlY19mbGFnczsKKyAgICAgICAgICAgICAgICBjaGFyc190b19za2lwIC09IGNoYXJzX2RlY29kZWQ7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgICAgICAvKiBTa2lwIGJhY2sgYnkgYnVmZmVyZWQgYW1vdW50IGFuZCByZXNldCBoZXVyaXN0aWMgKi8KKyAgICAgICAgICAgIHNraXBfYnl0ZXMgLT0gZGVjX2J1ZmZlcl9sZW47CisgICAgICAgICAgICBza2lwX2JhY2sgPSAxOworICAgICAgICB9CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgLyogV2UncmUgdG9vIGZhciBhaGVhZCwgc2tpcCBiYWNrIGEgYml0ICovCisgICAgICAgICAgICBza2lwX2J5dGVzIC09IHNraXBfYmFjazsKKyAgICAgICAgICAgIHNraXBfYmFjayAqPSAyOworICAgICAgICB9CisgICAgfQorICAgIGlmIChza2lwX2J5dGVzIDw9IDApIHsKKyAgICAgICAgc2tpcF9ieXRlcyA9IDA7CisgICAgICAgIGlmIChfdGV4dGlvd3JhcHBlcl9kZWNvZGVyX3NldHN0YXRlKHNlbGYsICZjb29raWUpIDwgMCkKKyAgICAgICAgICAgIGdvdG8gZmFpbDsKKyAgICB9CisKKyAgICAvKiBOb3RlIG91ciBpbml0aWFsIHN0YXJ0IHBvaW50LiAqLworICAgIGNvb2tpZS5zdGFydF9wb3MgKz0gc2tpcF9ieXRlczsKKyAgICBjb29raWUuY2hhcnNfdG9fc2tpcCA9IGNoYXJzX3RvX3NraXA7CisgICAgaWYgKGNoYXJzX3RvX3NraXAgPT0gMCkKKyAgICAgICAgZ290byBmaW5hbGx5OworCisgICAgLyogV2Ugc2hvdWxkIGJlIGNsb3NlIHRvIHRoZSBkZXNpcmVkIHBvc2l0aW9uLiAgTm93IGZlZWQgdGhlIGRlY29kZXIgb25lCisgICAgICogYnl0ZSBhdCBhIHRpbWUgdW50aWwgd2UgcmVhY2ggdGhlIGBjaGFyc190b19za2lwYCB0YXJnZXQuCisgICAgICogQXMgd2UgZ28sIG5vdGUgdGhlIG5lYXJlc3QgInNhZmUgc3RhcnQgcG9pbnQiIGJlZm9yZSB0aGUgY3VycmVudAorICAgICAqIGxvY2F0aW9uIChhIHBvaW50IHdoZXJlIHRoZSBkZWNvZGVyIGhhcyBub3RoaW5nIGJ1ZmZlcmVkLCBzbyBzZWVrKCkKICAgICAgKiBjYW4gc2FmZWx5IHN0YXJ0IGZyb20gdGhlcmUgYW5kIGFkdmFuY2UgdG8gdGhpcyBsb2NhdGlvbikuCiAgICAgICovCiAgICAgY2hhcnNfZGVjb2RlZCA9IDA7CiAgICAgaW5wdXQgPSBQeUJ5dGVzX0FTX1NUUklORyhuZXh0X2lucHV0KTsKICAgICBpbnB1dF9lbmQgPSBpbnB1dCArIFB5Qnl0ZXNfR0VUX1NJWkUobmV4dF9pbnB1dCk7CisgICAgaW5wdXQgKz0gc2tpcF9ieXRlczsKICAgICB3aGlsZSAoaW5wdXQgPCBpbnB1dF9lbmQpIHsKLSAgICAgICAgUHlPYmplY3QgKnN0YXRlOwotICAgICAgICBjaGFyICpkZWNfYnVmZmVyOwotICAgICAgICBQeV9zc2l6ZV90IGRlY19idWZmZXJfbGVuOwotICAgICAgICBpbnQgZGVjX2ZsYWdzOworICAgICAgICBQeV9zc2l6ZV90IG47CiAKLSAgICAgICAgUHlPYmplY3QgKmRlY29kZWQgPSBQeU9iamVjdF9DYWxsTWV0aG9kKAotICAgICAgICAgICAgc2VsZi0+ZGVjb2RlciwgImRlY29kZSIsICJ5IyIsIGlucHV0LCAxKTsKLSAgICAgICAgaWYgKGRlY29kZWQgPT0gTlVMTCkKLSAgICAgICAgICAgIGdvdG8gZmFpbDsKLSAgICAgICAgYXNzZXJ0IChQeVVuaWNvZGVfQ2hlY2soZGVjb2RlZCkpOwotICAgICAgICBjaGFyc19kZWNvZGVkICs9IFB5VW5pY29kZV9HRVRfU0laRShkZWNvZGVkKTsKLSAgICAgICAgUHlfREVDUkVGKGRlY29kZWQpOwotCisgICAgICAgIERFQ09ERVJfREVDT0RFKGlucHV0LCAxLCBuKTsKKyAgICAgICAgLyogV2UgZ290IG4gY2hhcnMgZm9yIDEgYnl0ZSAqLworICAgICAgICBjaGFyc19kZWNvZGVkICs9IG47CiAgICAgICAgIGNvb2tpZS5ieXRlc190b19mZWVkICs9IDE7Ci0KLSAgICAgICAgc3RhdGUgPSBQeU9iamVjdF9DYWxsTWV0aG9kT2JqQXJncyhzZWxmLT5kZWNvZGVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9QeUlPX3N0cl9nZXRzdGF0ZSwgTlVMTCk7Ci0gICAgICAgIGlmIChzdGF0ZSA9PSBOVUxMKQotICAgICAgICAgICAgZ290byBmYWlsOwotICAgICAgICBpZiAoIVB5QXJnX1BhcnNlKHN0YXRlLCAiKHkjaSkiLCAmZGVjX2J1ZmZlciwgJmRlY19idWZmZXJfbGVuLCAmZGVjX2ZsYWdzKSkgewotICAgICAgICAgICAgUHlfREVDUkVGKHN0YXRlKTsKLSAgICAgICAgICAgIGdvdG8gZmFpbDsKLSAgICAgICAgfQotICAgICAgICBQeV9ERUNSRUYoc3RhdGUpOworICAgICAgICBERUNPREVSX0dFVFNUQVRFKCk7CiAKICAgICAgICAgaWYgKGRlY19idWZmZXJfbGVuID09IDAgJiYgY2hhcnNfZGVjb2RlZCA8PSBjaGFyc190b19za2lwKSB7CiAgICAgICAgICAgICAvKiBEZWNvZGVyIGJ1ZmZlciBpcyBlbXB0eSwgc28gdGhpcyBpcyBhIHNhZmUgc3RhcnQgcG9pbnQuICovCkBAIC0yMjY0LDEyICsyMzQzLDEyIEBACiAgICAgfQogICAgIGlmIChpbnB1dCA9PSBpbnB1dF9lbmQpIHsKICAgICAgICAgLyogV2UgZGlkbid0IGdldCBlbm91Z2ggZGVjb2RlZCBkYXRhOyBzaWduYWwgRU9GIHRvIGdldCBtb3JlLiAqLwotICAgICAgICBQeU9iamVjdCAqZGVjb2RlZCA9IFB5T2JqZWN0X0NhbGxNZXRob2QoCi0gICAgICAgICAgICBzZWxmLT5kZWNvZGVyLCAiZGVjb2RlIiwgInlpIiwgIiIsIC8qIGZpbmFsID0gKi8gMSk7CisgICAgICAgIFB5T2JqZWN0ICpkZWNvZGVkID0gX1B5T2JqZWN0X0NhbGxNZXRob2RJZCgKKyAgICAgICAgICAgIHNlbGYtPmRlY29kZXIsICZQeUlkX2RlY29kZSwgInlpIiwgIiIsIC8qIGZpbmFsID0gKi8gMSk7CiAgICAgICAgIGlmIChkZWNvZGVkID09IE5VTEwpCiAgICAgICAgICAgICBnb3RvIGZhaWw7CiAgICAgICAgIGFzc2VydCAoUHlVbmljb2RlX0NoZWNrKGRlY29kZWQpKTsKLSAgICAgICAgY2hhcnNfZGVjb2RlZCArPSBQeVVuaWNvZGVfR0VUX1NJWkUoZGVjb2RlZCk7CisgICAgICAgIGNoYXJzX2RlY29kZWQgKz0gUHlVbmljb2RlX0dFVF9MRU5HVEgoZGVjb2RlZCk7CiAgICAgICAgIFB5X0RFQ1JFRihkZWNvZGVkKTsKICAgICAgICAgY29va2llLm5lZWRfZW9mID0gMTsKIApAQCAtMjI4MCw5ICsyMzU5LDggQEAKICAgICAgICAgfQogICAgIH0KIAotICAgIC8qIGZpbmFsbHkgKi8KLSAgICBQeV9YREVDUkVGKHBvc29iaik7Ci0gICAgcmVzID0gUHlPYmplY3RfQ2FsbE1ldGhvZChzZWxmLT5kZWNvZGVyLCAic2V0c3RhdGUiLCAiKE8pIiwgc2F2ZWRfc3RhdGUpOworZmluYWxseToKKyAgICByZXMgPSBfUHlPYmplY3RfQ2FsbE1ldGhvZElkKHNlbGYtPmRlY29kZXIsICZQeUlkX3NldHN0YXRlLCAiKE8pIiwgc2F2ZWRfc3RhdGUpOwogICAgIFB5X0RFQ1JFRihzYXZlZF9zdGF0ZSk7CiAgICAgaWYgKHJlcyA9PSBOVUxMKQogICAgICAgICByZXR1cm4gTlVMTDsKQEAgLTIyOTIsMTMgKzIzNzAsMTIgQEAKICAgICBjb29raWUuY2hhcnNfdG9fc2tpcCA9IFB5X1NBRkVfRE9XTkNBU1QoY2hhcnNfdG9fc2tpcCwgUHlfc3NpemVfdCwgaW50KTsKICAgICByZXR1cm4gdGV4dGlvd3JhcHBlcl9idWlsZF9jb29raWUoJmNvb2tpZSk7CiAKLSAgZmFpbDoKLSAgICBQeV9YREVDUkVGKHBvc29iaik7CitmYWlsOgogICAgIGlmIChzYXZlZF9zdGF0ZSkgewogICAgICAgICBQeU9iamVjdCAqdHlwZSwgKnZhbHVlLCAqdHJhY2ViYWNrOwogICAgICAgICBQeUVycl9GZXRjaCgmdHlwZSwgJnZhbHVlLCAmdHJhY2ViYWNrKTsKIAotICAgICAgICByZXMgPSBQeU9iamVjdF9DYWxsTWV0aG9kKHNlbGYtPmRlY29kZXIsICJzZXRzdGF0ZSIsICIoTykiLCBzYXZlZF9zdGF0ZSk7CisgICAgICAgIHJlcyA9IF9QeU9iamVjdF9DYWxsTWV0aG9kSWQoc2VsZi0+ZGVjb2RlciwgJlB5SWRfc2V0c3RhdGUsICIoTykiLCBzYXZlZF9zdGF0ZSk7CiAgICAgICAgIFB5X0RFQ1JFRihzYXZlZF9zdGF0ZSk7CiAgICAgICAgIGlmIChyZXMgPT0gTlVMTCkKICAgICAgICAgICAgIHJldHVybiBOVUxMOwpAQCAtMjMzOCw3ICsyNDE1LDcgQEAKICAgICByZXMgPSBQeVVuaWNvZGVfRnJvbVN0cmluZygiPF9pby5UZXh0SU9XcmFwcGVyIik7CiAgICAgaWYgKHJlcyA9PSBOVUxMKQogICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBuYW1lb2JqID0gUHlPYmplY3RfR2V0QXR0clN0cmluZygoUHlPYmplY3QgKikgc2VsZiwgIm5hbWUiKTsKKyAgICBuYW1lb2JqID0gX1B5T2JqZWN0X0dldEF0dHJJZCgoUHlPYmplY3QgKikgc2VsZiwgJlB5SWRfbmFtZSk7CiAgICAgaWYgKG5hbWVvYmogPT0gTlVMTCkgewogICAgICAgICBpZiAoUHlFcnJfRXhjZXB0aW9uTWF0Y2hlcyhQeUV4Y19BdHRyaWJ1dGVFcnJvcikpCiAgICAgICAgICAgICBQeUVycl9DbGVhcigpOwpAQCAtMjM1NCw3ICsyNDMxLDcgQEAKICAgICAgICAgaWYgKHJlcyA9PSBOVUxMKQogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQotICAgIG1vZGVvYmogPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKChQeU9iamVjdCAqKSBzZWxmLCAibW9kZSIpOworICAgIG1vZGVvYmogPSBfUHlPYmplY3RfR2V0QXR0cklkKChQeU9iamVjdCAqKSBzZWxmLCAmUHlJZF9tb2RlKTsKICAgICBpZiAobW9kZW9iaiA9PSBOVUxMKSB7CiAgICAgICAgIGlmIChQeUVycl9FeGNlcHRpb25NYXRjaGVzKFB5RXhjX0F0dHJpYnV0ZUVycm9yKSkKICAgICAgICAgICAgIFB5RXJyX0NsZWFyKCk7CkBAIC0yMzg2LDM1ICsyNDYzLDM1IEBACiB0ZXh0aW93cmFwcGVyX2ZpbGVubyh0ZXh0aW8gKnNlbGYsIFB5T2JqZWN0ICphcmdzKQogewogICAgIENIRUNLX0lOSVRJQUxJWkVEKHNlbGYpOwotICAgIHJldHVybiBQeU9iamVjdF9DYWxsTWV0aG9kKHNlbGYtPmJ1ZmZlciwgImZpbGVubyIsIE5VTEwpOworICAgIHJldHVybiBfUHlPYmplY3RfQ2FsbE1ldGhvZElkKHNlbGYtPmJ1ZmZlciwgJlB5SWRfZmlsZW5vLCBOVUxMKTsKIH0KIAogc3RhdGljIFB5T2JqZWN0ICoKIHRleHRpb3dyYXBwZXJfc2Vla2FibGUodGV4dGlvICpzZWxmLCBQeU9iamVjdCAqYXJncykKIHsKICAgICBDSEVDS19JTklUSUFMSVpFRChzZWxmKTsKLSAgICByZXR1cm4gUHlPYmplY3RfQ2FsbE1ldGhvZChzZWxmLT5idWZmZXIsICJzZWVrYWJsZSIsIE5VTEwpOworICAgIHJldHVybiBfUHlPYmplY3RfQ2FsbE1ldGhvZElkKHNlbGYtPmJ1ZmZlciwgJlB5SWRfc2Vla2FibGUsIE5VTEwpOwogfQogCiBzdGF0aWMgUHlPYmplY3QgKgogdGV4dGlvd3JhcHBlcl9yZWFkYWJsZSh0ZXh0aW8gKnNlbGYsIFB5T2JqZWN0ICphcmdzKQogewogICAgIENIRUNLX0lOSVRJQUxJWkVEKHNlbGYpOwotICAgIHJldHVybiBQeU9iamVjdF9DYWxsTWV0aG9kKHNlbGYtPmJ1ZmZlciwgInJlYWRhYmxlIiwgTlVMTCk7CisgICAgcmV0dXJuIF9QeU9iamVjdF9DYWxsTWV0aG9kSWQoc2VsZi0+YnVmZmVyLCAmUHlJZF9yZWFkYWJsZSwgTlVMTCk7CiB9CiAKIHN0YXRpYyBQeU9iamVjdCAqCiB0ZXh0aW93cmFwcGVyX3dyaXRhYmxlKHRleHRpbyAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCiB7CiAgICAgQ0hFQ0tfSU5JVElBTElaRUQoc2VsZik7Ci0gICAgcmV0dXJuIFB5T2JqZWN0X0NhbGxNZXRob2Qoc2VsZi0+YnVmZmVyLCAid3JpdGFibGUiLCBOVUxMKTsKKyAgICByZXR1cm4gX1B5T2JqZWN0X0NhbGxNZXRob2RJZChzZWxmLT5idWZmZXIsICZQeUlkX3dyaXRhYmxlLCBOVUxMKTsKIH0KIAogc3RhdGljIFB5T2JqZWN0ICoKIHRleHRpb3dyYXBwZXJfaXNhdHR5KHRleHRpbyAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCiB7CiAgICAgQ0hFQ0tfSU5JVElBTElaRUQoc2VsZik7Ci0gICAgcmV0dXJuIFB5T2JqZWN0X0NhbGxNZXRob2Qoc2VsZi0+YnVmZmVyLCAiaXNhdHR5IiwgTlVMTCk7CisgICAgcmV0dXJuIF9QeU9iamVjdF9DYWxsTWV0aG9kSWQoc2VsZi0+YnVmZmVyLCAmUHlJZF9pc2F0dHksIE5VTEwpOwogfQogCiBzdGF0aWMgUHlPYmplY3QgKgpAQCAtMjQzMyw3ICsyNTEwLDcgQEAKICAgICBzZWxmLT50ZWxsaW5nID0gc2VsZi0+c2Vla2FibGU7CiAgICAgaWYgKF90ZXh0aW93cmFwcGVyX3dyaXRlZmx1c2goc2VsZikgPCAwKQogICAgICAgICByZXR1cm4gTlVMTDsKLSAgICByZXR1cm4gUHlPYmplY3RfQ2FsbE1ldGhvZChzZWxmLT5idWZmZXIsICJmbHVzaCIsIE5VTEwpOworICAgIHJldHVybiBfUHlPYmplY3RfQ2FsbE1ldGhvZElkKHNlbGYtPmJ1ZmZlciwgJlB5SWRfZmx1c2gsIE5VTEwpOwogfQogCiBzdGF0aWMgUHlPYmplY3QgKgpAQCAtMjQ1NiwyMCArMjUzMywyMCBAQAogICAgIH0KICAgICBlbHNlIHsKICAgICAgICAgaWYgKHNlbGYtPmRlYWxsb2NhdGluZykgewotICAgICAgICAgICAgcmVzID0gUHlPYmplY3RfQ2FsbE1ldGhvZChzZWxmLT5idWZmZXIsICJfZGVhbGxvY193YXJuIiwgIk8iLCBzZWxmKTsKKyAgICAgICAgICAgIHJlcyA9IF9QeU9iamVjdF9DYWxsTWV0aG9kSWQoc2VsZi0+YnVmZmVyLCAmUHlJZF9fZGVhbGxvY193YXJuLCAiTyIsIHNlbGYpOwogICAgICAgICAgICAgaWYgKHJlcykKICAgICAgICAgICAgICAgICBQeV9ERUNSRUYocmVzKTsKICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICBQeUVycl9DbGVhcigpOwogICAgICAgICB9Ci0gICAgICAgIHJlcyA9IFB5T2JqZWN0X0NhbGxNZXRob2QoKFB5T2JqZWN0ICopc2VsZiwgImZsdXNoIiwgTlVMTCk7CisgICAgICAgIHJlcyA9IF9QeU9iamVjdF9DYWxsTWV0aG9kSWQoKFB5T2JqZWN0ICopc2VsZiwgJlB5SWRfZmx1c2gsIE5VTEwpOwogICAgICAgICBpZiAocmVzID09IE5VTEwpIHsKICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICB9CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIFB5X0RFQ1JFRihyZXMpOwogCi0gICAgICAgIHJldHVybiBQeU9iamVjdF9DYWxsTWV0aG9kKHNlbGYtPmJ1ZmZlciwgImNsb3NlIiwgTlVMTCk7CisgICAgICAgIHJldHVybiBfUHlPYmplY3RfQ2FsbE1ldGhvZElkKHNlbGYtPmJ1ZmZlciwgJlB5SWRfY2xvc2UsIE5VTEwpOwogICAgIH0KIH0KIApAQCAtMjQ5NywxMCArMjU3NCwxMCBAQAogICAgICAgICB9CiAgICAgfQogCi0gICAgaWYgKGxpbmUgPT0gTlVMTCkKKyAgICBpZiAobGluZSA9PSBOVUxMIHx8IFB5VW5pY29kZV9SRUFEWShsaW5lKSA9PSAtMSkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKLSAgICBpZiAoUHlVbmljb2RlX0dFVF9TSVpFKGxpbmUpID09IDApIHsKKyAgICBpZiAoUHlVbmljb2RlX0dFVF9MRU5HVEgobGluZSkgPT0gMCkgewogICAgICAgICAvKiBSZWFjaGVkIEVPRiBvciB3b3VsZCBoYXZlIGJsb2NrZWQgKi8KICAgICAgICAgUHlfREVDUkVGKGxpbmUpOwogICAgICAgICBQeV9DTEVBUihzZWxmLT5zbmFwc2hvdCk7CkBAIC0yNTE1LDcgKzI1OTIsNyBAQAogdGV4dGlvd3JhcHBlcl9uYW1lX2dldCh0ZXh0aW8gKnNlbGYsIHZvaWQgKmNvbnRleHQpCiB7CiAgICAgQ0hFQ0tfSU5JVElBTElaRUQoc2VsZik7Ci0gICAgcmV0dXJuIFB5T2JqZWN0X0dldEF0dHJTdHJpbmcoc2VsZi0+YnVmZmVyLCAibmFtZSIpOworICAgIHJldHVybiBfUHlPYmplY3RfR2V0QXR0cklkKHNlbGYtPmJ1ZmZlciwgJlB5SWRfbmFtZSk7CiB9CiAKIHN0YXRpYyBQeU9iamVjdCAqCmRpZmYgLS1naXQgYS9Nb2R1bGVzL19qc29uLmMgYi9Nb2R1bGVzL19qc29uLmMKaW5kZXggMDkyNDg3My4uY2FmZDVhOSAxMDA2NDQKLS0tIGEvTW9kdWxlcy9fanNvbi5jCisrKyBiL01vZHVsZXMvX2pzb24uYwpAQCAtNzYsNiArNzYsMjEgQEAKIH07CiAKIHN0YXRpYyBQeU9iamVjdCAqCitqb2luX2xpc3RfdW5pY29kZShQeU9iamVjdCAqbHN0KQoreworICAgIC8qIHJldHVybiB1Jycuam9pbihsc3QpICovCisgICAgc3RhdGljIFB5T2JqZWN0ICpzZXAgPSBOVUxMOworICAgIGlmIChzZXAgPT0gTlVMTCkgeworICAgICAgICBzZXAgPSBQeVVuaWNvZGVfRnJvbVN0cmluZ0FuZFNpemUoIiIsIDApOworICAgICAgICBpZiAoc2VwID09IE5VTEwpCisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisgICAgcmV0dXJuIFB5VW5pY29kZV9Kb2luKHNlcCwgbHN0KTsKK30KKworLyogRm9yd2FyZCBkZWNscyAqLworCitzdGF0aWMgUHlPYmplY3QgKgogYXNjaWlfZXNjYXBlX3VuaWNvZGUoUHlPYmplY3QgKnB5c3RyKTsKIHN0YXRpYyBQeU9iamVjdCAqCiBweV9lbmNvZGVfYmFzZXN0cmluZ19hc2NpaShQeU9iamVjdCogc2VsZiBVTlVTRUQsIFB5T2JqZWN0ICpweXN0cik7CkBAIC0xMDEsMTEgKzExNiwxMSBAQAogc3RhdGljIGludAogZW5jb2Rlcl9jbGVhcihQeU9iamVjdCAqc2VsZik7CiBzdGF0aWMgaW50Ci1lbmNvZGVyX2xpc3RlbmNvZGVfbGlzdChQeUVuY29kZXJPYmplY3QgKnMsIFB5T2JqZWN0ICpydmFsLCBQeU9iamVjdCAqc2VxLCBQeV9zc2l6ZV90IGluZGVudF9sZXZlbCk7CitlbmNvZGVyX2xpc3RlbmNvZGVfbGlzdChQeUVuY29kZXJPYmplY3QgKnMsIF9QeUFjY3UgKmFjYywgUHlPYmplY3QgKnNlcSwgUHlfc3NpemVfdCBpbmRlbnRfbGV2ZWwpOwogc3RhdGljIGludAotZW5jb2Rlcl9saXN0ZW5jb2RlX29iaihQeUVuY29kZXJPYmplY3QgKnMsIFB5T2JqZWN0ICpydmFsLCBQeU9iamVjdCAqb2JqLCBQeV9zc2l6ZV90IGluZGVudF9sZXZlbCk7CitlbmNvZGVyX2xpc3RlbmNvZGVfb2JqKFB5RW5jb2Rlck9iamVjdCAqcywgX1B5QWNjdSAqYWNjLCBQeU9iamVjdCAqb2JqLCBQeV9zc2l6ZV90IGluZGVudF9sZXZlbCk7CiBzdGF0aWMgaW50Ci1lbmNvZGVyX2xpc3RlbmNvZGVfZGljdChQeUVuY29kZXJPYmplY3QgKnMsIFB5T2JqZWN0ICpydmFsLCBQeU9iamVjdCAqZGN0LCBQeV9zc2l6ZV90IGluZGVudF9sZXZlbCk7CitlbmNvZGVyX2xpc3RlbmNvZGVfZGljdChQeUVuY29kZXJPYmplY3QgKnMsIF9QeUFjY3UgKmFjYywgUHlPYmplY3QgKmRjdCwgUHlfc3NpemVfdCBpbmRlbnRfbGV2ZWwpOwogc3RhdGljIFB5T2JqZWN0ICoKIF9lbmNvZGVkX2NvbnN0KFB5T2JqZWN0ICpvYmopOwogc3RhdGljIHZvaWQKQEAgLTEyMiwxMyArMTM3LDYgQEAKICNkZWZpbmUgU19DSEFSKGMpIChjID49ICcgJyAmJiBjIDw9ICd+JyAmJiBjICE9ICdcXCcgJiYgYyAhPSAnIicpCiAjZGVmaW5lIElTX1dISVRFU1BBQ0UoYykgKCgoYykgPT0gJyAnKSB8fCAoKGMpID09ICdcdCcpIHx8ICgoYykgPT0gJ1xuJykgfHwgKChjKSA9PSAnXHInKSkKIAotI2RlZmluZSBNSU5fRVhQQU5TSU9OIDYKLSNpZmRlZiBQeV9VTklDT0RFX1dJREUKLSNkZWZpbmUgTUFYX0VYUEFOU0lPTiAoMiAqIE1JTl9FWFBBTlNJT04pCi0jZWxzZQotI2RlZmluZSBNQVhfRVhQQU5TSU9OIE1JTl9FWFBBTlNJT04KLSNlbmRpZgotCiBzdGF0aWMgaW50CiBfY29udmVydFB5SW50X0FzU3NpemVfdChQeU9iamVjdCAqbywgUHlfc3NpemVfdCAqc2l6ZV9wdHIpCiB7CkBAIC0xNDcsNyArMTU1LDcgQEAKIH0KIAogc3RhdGljIFB5X3NzaXplX3QKLWFzY2lpX2VzY2FwZV91bmljaGFyKFB5X1VOSUNPREUgYywgUHlfVU5JQ09ERSAqb3V0cHV0LCBQeV9zc2l6ZV90IGNoYXJzKQorYXNjaWlfZXNjYXBlX3VuaWNoYXIoUHlfVUNTNCBjLCB1bnNpZ25lZCBjaGFyICpvdXRwdXQsIFB5X3NzaXplX3QgY2hhcnMpCiB7CiAgICAgLyogRXNjYXBlIHVuaWNvZGUgY29kZSBwb2ludCBjIHRvIEFTQ0lJIGVzY2FwZSBzZXF1ZW5jZXMKICAgICBpbiBjaGFyICpvdXRwdXQuIG91dHB1dCBtdXN0IGhhdmUgYXQgbGVhc3QgMTIgYnl0ZXMgdW51c2VkIHRvCkBAIC0xNjIsMjUgKzE3MCwyMyBAQAogICAgICAgICBjYXNlICdccic6IG91dHB1dFtjaGFycysrXSA9ICdyJzsgYnJlYWs7CiAgICAgICAgIGNhc2UgJ1x0Jzogb3V0cHV0W2NoYXJzKytdID0gJ3QnOyBicmVhazsKICAgICAgICAgZGVmYXVsdDoKLSNpZmRlZiBQeV9VTklDT0RFX1dJREUKICAgICAgICAgICAgIGlmIChjID49IDB4MTAwMDApIHsKICAgICAgICAgICAgICAgICAvKiBVVEYtMTYgc3Vycm9nYXRlIHBhaXIgKi8KLSAgICAgICAgICAgICAgICBQeV9VTklDT0RFIHYgPSBjIC0gMHgxMDAwMDsKKyAgICAgICAgICAgICAgICBQeV9VQ1M0IHYgPSBjIC0gMHgxMDAwMDsKICAgICAgICAgICAgICAgICBjID0gMHhkODAwIHwgKCh2ID4+IDEwKSAmIDB4M2ZmKTsKICAgICAgICAgICAgICAgICBvdXRwdXRbY2hhcnMrK10gPSAndSc7Ci0gICAgICAgICAgICAgICAgb3V0cHV0W2NoYXJzKytdID0gIjAxMjM0NTY3ODlhYmNkZWYiWyhjID4+IDEyKSAmIDB4Zl07Ci0gICAgICAgICAgICAgICAgb3V0cHV0W2NoYXJzKytdID0gIjAxMjM0NTY3ODlhYmNkZWYiWyhjID4+ICA4KSAmIDB4Zl07Ci0gICAgICAgICAgICAgICAgb3V0cHV0W2NoYXJzKytdID0gIjAxMjM0NTY3ODlhYmNkZWYiWyhjID4+ICA0KSAmIDB4Zl07Ci0gICAgICAgICAgICAgICAgb3V0cHV0W2NoYXJzKytdID0gIjAxMjM0NTY3ODlhYmNkZWYiWyhjICAgICAgKSAmIDB4Zl07CisgICAgICAgICAgICAgICAgb3V0cHV0W2NoYXJzKytdID0gUHlfaGV4ZGlnaXRzWyhjID4+IDEyKSAmIDB4Zl07CisgICAgICAgICAgICAgICAgb3V0cHV0W2NoYXJzKytdID0gUHlfaGV4ZGlnaXRzWyhjID4+ICA4KSAmIDB4Zl07CisgICAgICAgICAgICAgICAgb3V0cHV0W2NoYXJzKytdID0gUHlfaGV4ZGlnaXRzWyhjID4+ICA0KSAmIDB4Zl07CisgICAgICAgICAgICAgICAgb3V0cHV0W2NoYXJzKytdID0gUHlfaGV4ZGlnaXRzWyhjICAgICAgKSAmIDB4Zl07CiAgICAgICAgICAgICAgICAgYyA9IDB4ZGMwMCB8ICh2ICYgMHgzZmYpOwogICAgICAgICAgICAgICAgIG91dHB1dFtjaGFycysrXSA9ICdcXCc7CiAgICAgICAgICAgICB9Ci0jZW5kaWYKICAgICAgICAgICAgIG91dHB1dFtjaGFycysrXSA9ICd1JzsKLSAgICAgICAgICAgIG91dHB1dFtjaGFycysrXSA9ICIwMTIzNDU2Nzg5YWJjZGVmIlsoYyA+PiAxMikgJiAweGZdOwotICAgICAgICAgICAgb3V0cHV0W2NoYXJzKytdID0gIjAxMjM0NTY3ODlhYmNkZWYiWyhjID4+ICA4KSAmIDB4Zl07Ci0gICAgICAgICAgICBvdXRwdXRbY2hhcnMrK10gPSAiMDEyMzQ1Njc4OWFiY2RlZiJbKGMgPj4gIDQpICYgMHhmXTsKLSAgICAgICAgICAgIG91dHB1dFtjaGFycysrXSA9ICIwMTIzNDU2Nzg5YWJjZGVmIlsoYyAgICAgICkgJiAweGZdOworICAgICAgICAgICAgb3V0cHV0W2NoYXJzKytdID0gUHlfaGV4ZGlnaXRzWyhjID4+IDEyKSAmIDB4Zl07CisgICAgICAgICAgICBvdXRwdXRbY2hhcnMrK10gPSBQeV9oZXhkaWdpdHNbKGMgPj4gIDgpICYgMHhmXTsKKyAgICAgICAgICAgIG91dHB1dFtjaGFycysrXSA9IFB5X2hleGRpZ2l0c1soYyA+PiAgNCkgJiAweGZdOworICAgICAgICAgICAgb3V0cHV0W2NoYXJzKytdID0gUHlfaGV4ZGlnaXRzWyhjICAgICAgKSAmIDB4Zl07CiAgICAgfQogICAgIHJldHVybiBjaGFyczsKIH0KQEAgLTE5Miw1NCArMTk4LDUyIEBACiAgICAgUHlfc3NpemVfdCBpOwogICAgIFB5X3NzaXplX3QgaW5wdXRfY2hhcnM7CiAgICAgUHlfc3NpemVfdCBvdXRwdXRfc2l6ZTsKLSAgICBQeV9zc2l6ZV90IG1heF9vdXRwdXRfc2l6ZTsKICAgICBQeV9zc2l6ZV90IGNoYXJzOwogICAgIFB5T2JqZWN0ICpydmFsOwotICAgIFB5X1VOSUNPREUgKm91dHB1dDsKLSAgICBQeV9VTklDT0RFICppbnB1dF91bmljb2RlOworICAgIHZvaWQgKmlucHV0OworICAgIHVuc2lnbmVkIGNoYXIgKm91dHB1dDsKKyAgICBpbnQga2luZDsKIAotICAgIGlucHV0X2NoYXJzID0gUHlVbmljb2RlX0dFVF9TSVpFKHB5c3RyKTsKLSAgICBpbnB1dF91bmljb2RlID0gUHlVbmljb2RlX0FTX1VOSUNPREUocHlzdHIpOworICAgIGlmIChQeVVuaWNvZGVfUkVBRFkocHlzdHIpID09IC0xKQorICAgICAgICByZXR1cm4gTlVMTDsKIAotICAgIC8qIE9uZSBjaGFyIGlucHV0IGNhbiBiZSB1cCB0byA2IGNoYXJzIG91dHB1dCwgZXN0aW1hdGUgNCBvZiB0aGVzZSAqLwotICAgIG91dHB1dF9zaXplID0gMiArIChNSU5fRVhQQU5TSU9OICogNCkgKyBpbnB1dF9jaGFyczsKLSAgICBtYXhfb3V0cHV0X3NpemUgPSAyICsgKGlucHV0X2NoYXJzICogTUFYX0VYUEFOU0lPTik7Ci0gICAgcnZhbCA9IFB5VW5pY29kZV9Gcm9tU3RyaW5nQW5kU2l6ZShOVUxMLCBvdXRwdXRfc2l6ZSk7CisgICAgaW5wdXRfY2hhcnMgPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChweXN0cik7CisgICAgaW5wdXQgPSBQeVVuaWNvZGVfREFUQShweXN0cik7CisgICAga2luZCA9IFB5VW5pY29kZV9LSU5EKHB5c3RyKTsKKworICAgIC8qIENvbXB1dGUgdGhlIG91dHB1dCBzaXplICovCisgICAgZm9yIChpID0gMCwgb3V0cHV0X3NpemUgPSAyOyBpIDwgaW5wdXRfY2hhcnM7IGkrKykgeworICAgICAgICBQeV9VQ1M0IGMgPSBQeVVuaWNvZGVfUkVBRChraW5kLCBpbnB1dCwgaSk7CisgICAgICAgIGlmIChTX0NIQVIoYykpCisgICAgICAgICAgICBvdXRwdXRfc2l6ZSsrOworICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIHN3aXRjaChjKSB7CisgICAgICAgICAgICBjYXNlICdcXCc6IGNhc2UgJyInOiBjYXNlICdcYic6IGNhc2UgJ1xmJzoKKyAgICAgICAgICAgIGNhc2UgJ1xuJzogY2FzZSAnXHInOiBjYXNlICdcdCc6CisgICAgICAgICAgICAgICAgb3V0cHV0X3NpemUgKz0gMjsgYnJlYWs7CisgICAgICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgICAgIG91dHB1dF9zaXplICs9IGMgPj0gMHgxMDAwMCA/IDEyIDogNjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KKworICAgIHJ2YWwgPSBQeVVuaWNvZGVfTmV3KG91dHB1dF9zaXplLCAxMjcpOwogICAgIGlmIChydmFsID09IE5VTEwpIHsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQotICAgIG91dHB1dCA9IFB5VW5pY29kZV9BU19VTklDT0RFKHJ2YWwpOworICAgIG91dHB1dCA9IFB5VW5pY29kZV8xQllURV9EQVRBKHJ2YWwpOwogICAgIGNoYXJzID0gMDsKICAgICBvdXRwdXRbY2hhcnMrK10gPSAnIic7CiAgICAgZm9yIChpID0gMDsgaSA8IGlucHV0X2NoYXJzOyBpKyspIHsKLSAgICAgICAgUHlfVU5JQ09ERSBjID0gaW5wdXRfdW5pY29kZVtpXTsKKyAgICAgICAgUHlfVUNTNCBjID0gUHlVbmljb2RlX1JFQUQoa2luZCwgaW5wdXQsIGkpOwogICAgICAgICBpZiAoU19DSEFSKGMpKSB7CiAgICAgICAgICAgICBvdXRwdXRbY2hhcnMrK10gPSBjOwogICAgICAgICB9CiAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgY2hhcnMgPSBhc2NpaV9lc2NhcGVfdW5pY2hhcihjLCBvdXRwdXQsIGNoYXJzKTsKICAgICAgICAgfQotICAgICAgICBpZiAob3V0cHV0X3NpemUgLSBjaGFycyA8ICgxICsgTUFYX0VYUEFOU0lPTikpIHsKLSAgICAgICAgICAgIC8qIFRoZXJlJ3MgbW9yZSB0aGFuIGZvdXIsIHNvIGxldCdzIHJlc2l6ZSBieSBhIGxvdCAqLwotICAgICAgICAgICAgUHlfc3NpemVfdCBuZXdfb3V0cHV0X3NpemUgPSBvdXRwdXRfc2l6ZSAqIDI7Ci0gICAgICAgICAgICAvKiBUaGlzIGlzIGFuIHVwcGVyIGJvdW5kICovCi0gICAgICAgICAgICBpZiAobmV3X291dHB1dF9zaXplID4gbWF4X291dHB1dF9zaXplKSB7Ci0gICAgICAgICAgICAgICAgbmV3X291dHB1dF9zaXplID0gbWF4X291dHB1dF9zaXplOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgLyogTWFrZSBzdXJlIHRoYXQgdGhlIG91dHB1dCBzaXplIGNoYW5nZWQgYmVmb3JlIHJlc2l6aW5nICovCi0gICAgICAgICAgICBpZiAobmV3X291dHB1dF9zaXplICE9IG91dHB1dF9zaXplKSB7Ci0gICAgICAgICAgICAgICAgb3V0cHV0X3NpemUgPSBuZXdfb3V0cHV0X3NpemU7Ci0gICAgICAgICAgICAgICAgaWYgKFB5VW5pY29kZV9SZXNpemUoJnJ2YWwsIG91dHB1dF9zaXplKSA9PSAtMSkgewotICAgICAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgb3V0cHV0ID0gUHlVbmljb2RlX0FTX1VOSUNPREUocnZhbCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KICAgICB9CiAgICAgb3V0cHV0W2NoYXJzKytdID0gJyInOwotICAgIGlmIChQeVVuaWNvZGVfUmVzaXplKCZydmFsLCBjaGFycykgPT0gLTEpIHsKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgfQogICAgIHJldHVybiBydmFsOwogfQogCkBAIC0yNjcsMTkgKzI3MSw2IEBACiB9CiAKIHN0YXRpYyBQeU9iamVjdCAqCi1qb2luX2xpc3RfdW5pY29kZShQeU9iamVjdCAqbHN0KQotewotICAgIC8qIHJldHVybiB1Jycuam9pbihsc3QpICovCi0gICAgc3RhdGljIFB5T2JqZWN0ICpzZXAgPSBOVUxMOwotICAgIGlmIChzZXAgPT0gTlVMTCkgewotICAgICAgICBzZXAgPSBQeVVuaWNvZGVfRnJvbVN0cmluZ0FuZFNpemUoIiIsIDApOwotICAgICAgICBpZiAoc2VwID09IE5VTEwpCi0gICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICB9Ci0gICAgcmV0dXJuIFB5VW5pY29kZV9Kb2luKHNlcCwgbHN0KTsKLX0KLQotc3RhdGljIFB5T2JqZWN0ICoKIF9idWlsZF9ydmFsX2luZGV4X3R1cGxlKFB5T2JqZWN0ICpydmFsLCBQeV9zc2l6ZV90IGlkeCkgewogICAgIC8qIHJldHVybiAocnZhbCwgaWR4KSB0dXBsZSwgc3RlYWxpbmcgcmVmZXJlbmNlIHRvIHJ2YWwgKi8KICAgICBQeU9iamVjdCAqdHBsOwpAQCAtMzMzLDIyICszMjQsMzAgQEAKICAgICBSZXR1cm4gdmFsdWUgaXMgYSBuZXcgUHlVbmljb2RlCiAgICAgKi8KICAgICBQeU9iamVjdCAqcnZhbCA9IE5VTEw7Ci0gICAgUHlfc3NpemVfdCBsZW4gPSBQeVVuaWNvZGVfR0VUX1NJWkUocHlzdHIpOworICAgIFB5X3NzaXplX3QgbGVuOwogICAgIFB5X3NzaXplX3QgYmVnaW4gPSBlbmQgLSAxOwotICAgIFB5X3NzaXplX3QgbmV4dCA9IGJlZ2luOwotICAgIGNvbnN0IFB5X1VOSUNPREUgKmJ1ZiA9IFB5VW5pY29kZV9BU19VTklDT0RFKHB5c3RyKTsKKyAgICBQeV9zc2l6ZV90IG5leHQgLyogPSBiZWdpbiAqLzsKKyAgICBjb25zdCB2b2lkICpidWY7CisgICAgaW50IGtpbmQ7CiAgICAgUHlPYmplY3QgKmNodW5rcyA9IE5VTEw7CiAgICAgUHlPYmplY3QgKmNodW5rID0gTlVMTDsKIAorICAgIGlmIChQeVVuaWNvZGVfUkVBRFkocHlzdHIpID09IC0xKQorICAgICAgICByZXR1cm4gMDsKKworICAgIGxlbiA9IFB5VW5pY29kZV9HRVRfTEVOR1RIKHB5c3RyKTsKKyAgICBidWYgPSBQeVVuaWNvZGVfREFUQShweXN0cik7CisgICAga2luZCA9IFB5VW5pY29kZV9LSU5EKHB5c3RyKTsKKwogICAgIGlmIChlbmQgPCAwIHx8IGxlbiA8PSBlbmQpIHsKICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsICJlbmQgaXMgb3V0IG9mIGJvdW5kcyIpOwogICAgICAgICBnb3RvIGJhaWw7CiAgICAgfQogICAgIHdoaWxlICgxKSB7CiAgICAgICAgIC8qIEZpbmQgdGhlIGVuZCBvZiB0aGUgc3RyaW5nIG9yIHRoZSBuZXh0IGVzY2FwZSAqLwotICAgICAgICBQeV9VTklDT0RFIGMgPSAwOworICAgICAgICBQeV9VQ1M0IGMgPSAwOwogICAgICAgICBmb3IgKG5leHQgPSBlbmQ7IG5leHQgPCBsZW47IG5leHQrKykgewotICAgICAgICAgICAgYyA9IGJ1ZltuZXh0XTsKKyAgICAgICAgICAgIGMgPSBQeVVuaWNvZGVfUkVBRChraW5kLCBidWYsIG5leHQpOwogICAgICAgICAgICAgaWYgKGMgPT0gJyInIHx8IGMgPT0gJ1xcJykgewogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgfQpAQCAtMzY0LDcgKzM2MywxMCBAQAogICAgICAgICAvKiBQaWNrIHVwIHRoaXMgY2h1bmsgaWYgaXQncyBub3QgemVybyBsZW5ndGggKi8KICAgICAgICAgaWYgKG5leHQgIT0gZW5kKSB7CiAgICAgICAgICAgICBBUFBFTkRfT0xEX0NIVU5LCi0gICAgICAgICAgICBjaHVuayA9IFB5VW5pY29kZV9Gcm9tVW5pY29kZSgmYnVmW2VuZF0sIG5leHQgLSBlbmQpOworICAgICAgICAgICAgICAgIGNodW5rID0gUHlVbmljb2RlX0Zyb21LaW5kQW5kRGF0YSgKKyAgICAgICAgICAgICAgICAgICAga2luZCwKKyAgICAgICAgICAgICAgICAgICAgKGNoYXIqKWJ1ZiArIGtpbmQgKiBlbmQsCisgICAgICAgICAgICAgICAgICAgIG5leHQgLSBlbmQpOwogICAgICAgICAgICAgaWYgKGNodW5rID09IE5VTEwpIHsKICAgICAgICAgICAgICAgICBnb3RvIGJhaWw7CiAgICAgICAgICAgICB9CkBAIC0zNzgsNyArMzgwLDcgQEAKICAgICAgICAgICAgIHJhaXNlX2Vycm1zZygiVW50ZXJtaW5hdGVkIHN0cmluZyBzdGFydGluZyBhdCIsIHB5c3RyLCBiZWdpbik7CiAgICAgICAgICAgICBnb3RvIGJhaWw7CiAgICAgICAgIH0KLSAgICAgICAgYyA9IGJ1ZltuZXh0XTsKKyAgICAgICAgYyA9IFB5VW5pY29kZV9SRUFEKGtpbmQsIGJ1ZiwgbmV4dCk7CiAgICAgICAgIGlmIChjICE9ICd1JykgewogICAgICAgICAgICAgLyogTm9uLXVuaWNvZGUgYmFja3NsYXNoIGVzY2FwZXMgKi8KICAgICAgICAgICAgIGVuZCA9IG5leHQgKyAxOwpAQCAtNDA4LDcgKzQxMCw3IEBACiAgICAgICAgICAgICB9CiAgICAgICAgICAgICAvKiBEZWNvZGUgNCBoZXggZGlnaXRzICovCiAgICAgICAgICAgICBmb3IgKDsgbmV4dCA8IGVuZDsgbmV4dCsrKSB7Ci0gICAgICAgICAgICAgICAgUHlfVU5JQ09ERSBkaWdpdCA9IGJ1ZltuZXh0XTsKKyAgICAgICAgICAgICAgICBQeV9VQ1M0IGRpZ2l0ID0gUHlVbmljb2RlX1JFQUQoa2luZCwgYnVmLCBuZXh0KTsKICAgICAgICAgICAgICAgICBjIDw8PSA0OwogICAgICAgICAgICAgICAgIHN3aXRjaCAoZGlnaXQpIHsKICAgICAgICAgICAgICAgICAgICAgY2FzZSAnMCc6IGNhc2UgJzEnOiBjYXNlICcyJzogY2FzZSAnMyc6IGNhc2UgJzQnOgpAQCAtNDI1LDIyICs0MjcsMjIgQEAKICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gYmFpbDsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9Ci0jaWZkZWYgUHlfVU5JQ09ERV9XSURFCiAgICAgICAgICAgICAvKiBTdXJyb2dhdGUgcGFpciAqLwogICAgICAgICAgICAgaWYgKChjICYgMHhmYzAwKSA9PSAweGQ4MDApIHsKLSAgICAgICAgICAgICAgICBQeV9VTklDT0RFIGMyID0gMDsKKyAgICAgICAgICAgICAgICBQeV9VQ1M0IGMyID0gMDsKICAgICAgICAgICAgICAgICBpZiAoZW5kICsgNiA+PSBsZW4pIHsKICAgICAgICAgICAgICAgICAgICAgcmFpc2VfZXJybXNnKCJVbnBhaXJlZCBoaWdoIHN1cnJvZ2F0ZSIsIHB5c3RyLCBlbmQgLSA1KTsKICAgICAgICAgICAgICAgICAgICAgZ290byBiYWlsOwogICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBpZiAoYnVmW25leHQrK10gIT0gJ1xcJyB8fCBidWZbbmV4dCsrXSAhPSAndScpIHsKKyAgICAgICAgICAgICAgICBpZiAoUHlVbmljb2RlX1JFQUQoa2luZCwgYnVmLCBuZXh0KyspICE9ICdcXCcgfHwKKyAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX1JFQUQoa2luZCwgYnVmLCBuZXh0KyspICE9ICd1JykgewogICAgICAgICAgICAgICAgICAgICByYWlzZV9lcnJtc2coIlVucGFpcmVkIGhpZ2ggc3Vycm9nYXRlIiwgcHlzdHIsIGVuZCAtIDUpOwogICAgICAgICAgICAgICAgICAgICBnb3RvIGJhaWw7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIGVuZCArPSA2OwogICAgICAgICAgICAgICAgIC8qIERlY29kZSA0IGhleCBkaWdpdHMgKi8KICAgICAgICAgICAgICAgICBmb3IgKDsgbmV4dCA8IGVuZDsgbmV4dCsrKSB7Ci0gICAgICAgICAgICAgICAgICAgIFB5X1VOSUNPREUgZGlnaXQgPSBidWZbbmV4dF07CisgICAgICAgICAgICAgICAgICAgIFB5X1VDUzQgZGlnaXQgPSBQeVVuaWNvZGVfUkVBRChraW5kLCBidWYsIG5leHQpOwogICAgICAgICAgICAgICAgICAgICBjMiA8PD0gNDsKICAgICAgICAgICAgICAgICAgICAgc3dpdGNoIChkaWdpdCkgewogICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnMCc6IGNhc2UgJzEnOiBjYXNlICcyJzogY2FzZSAnMyc6IGNhc2UgJzQnOgpAQCAtNDY3LDEwICs0NjksOSBAQAogICAgICAgICAgICAgICAgIHJhaXNlX2Vycm1zZygiVW5wYWlyZWQgbG93IHN1cnJvZ2F0ZSIsIHB5c3RyLCBlbmQgLSA1KTsKICAgICAgICAgICAgICAgICBnb3RvIGJhaWw7CiAgICAgICAgICAgICB9Ci0jZW5kaWYKICAgICAgICAgfQogICAgICAgICBBUFBFTkRfT0xEX0NIVU5LCi0gICAgICAgIGNodW5rID0gUHlVbmljb2RlX0Zyb21Vbmljb2RlKCZjLCAxKTsKKyAgICAgICAgY2h1bmsgPSBQeVVuaWNvZGVfRnJvbUtpbmRBbmREYXRhKFB5VW5pY29kZV80QllURV9LSU5ELCAmYywgMSk7CiAgICAgICAgIGlmIChjaHVuayA9PSBOVUxMKSB7CiAgICAgICAgICAgICBnb3RvIGJhaWw7CiAgICAgICAgIH0KQEAgLTYwOCw4ICs2MDksOSBAQAogCiAgICAgUmV0dXJucyBhIG5ldyBQeU9iamVjdCAodXN1YWxseSBhIGRpY3QsIGJ1dCBvYmplY3RfaG9vayBjYW4gY2hhbmdlIHRoYXQpCiAgICAgKi8KLSAgICBQeV9VTklDT0RFICpzdHIgPSBQeVVuaWNvZGVfQVNfVU5JQ09ERShweXN0cik7Ci0gICAgUHlfc3NpemVfdCBlbmRfaWR4ID0gUHlVbmljb2RlX0dFVF9TSVpFKHB5c3RyKSAtIDE7CisgICAgdm9pZCAqc3RyOworICAgIGludCBraW5kOworICAgIFB5X3NzaXplX3QgZW5kX2lkeDsKICAgICBQeU9iamVjdCAqdmFsID0gTlVMTDsKICAgICBQeU9iamVjdCAqcnZhbCA9IE5VTEw7CiAgICAgUHlPYmplY3QgKmtleSA9IE5VTEw7CkBAIC02MTcsNiArNjE5LDEzIEBACiAgICAgaW50IGhhc19wYWlyc19ob29rID0gKHMtPm9iamVjdF9wYWlyc19ob29rICE9IFB5X05vbmUpOwogICAgIFB5X3NzaXplX3QgbmV4dF9pZHg7CiAKKyAgICBpZiAoUHlVbmljb2RlX1JFQURZKHB5c3RyKSA9PSAtMSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICBzdHIgPSBQeVVuaWNvZGVfREFUQShweXN0cik7CisgICAga2luZCA9IFB5VW5pY29kZV9LSU5EKHB5c3RyKTsKKyAgICBlbmRfaWR4ID0gUHlVbmljb2RlX0dFVF9MRU5HVEgocHlzdHIpIC0gMTsKKwogICAgIGlmIChoYXNfcGFpcnNfaG9vaykKICAgICAgICAgcnZhbCA9IFB5TGlzdF9OZXcoMCk7CiAgICAgZWxzZQpAQCAtNjI1LDE1ICs2MzQsMTUgQEAKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKICAgICAvKiBza2lwIHdoaXRlc3BhY2UgYWZ0ZXIgeyAqLwotICAgIHdoaWxlIChpZHggPD0gZW5kX2lkeCAmJiBJU19XSElURVNQQUNFKHN0cltpZHhdKSkgaWR4Kys7CisgICAgd2hpbGUgKGlkeCA8PSBlbmRfaWR4ICYmIElTX1dISVRFU1BBQ0UoUHlVbmljb2RlX1JFQUQoa2luZCxzdHIsIGlkeCkpKSBpZHgrKzsKIAogICAgIC8qIG9ubHkgbG9vcCBpZiB0aGUgb2JqZWN0IGlzIG5vbi1lbXB0eSAqLwotICAgIGlmIChpZHggPD0gZW5kX2lkeCAmJiBzdHJbaWR4XSAhPSAnfScpIHsKKyAgICBpZiAoaWR4IDw9IGVuZF9pZHggJiYgUHlVbmljb2RlX1JFQUQoa2luZCwgc3RyLCBpZHgpICE9ICd9JykgewogICAgICAgICB3aGlsZSAoaWR4IDw9IGVuZF9pZHgpIHsKICAgICAgICAgICAgIFB5T2JqZWN0ICptZW1va2V5OwogCiAgICAgICAgICAgICAvKiByZWFkIGtleSAqLwotICAgICAgICAgICAgaWYgKHN0cltpZHhdICE9ICciJykgeworICAgICAgICAgICAgaWYgKFB5VW5pY29kZV9SRUFEKGtpbmQsIHN0ciwgaWR4KSAhPSAnIicpIHsKICAgICAgICAgICAgICAgICByYWlzZV9lcnJtc2coIkV4cGVjdGluZyBwcm9wZXJ0eSBuYW1lIiwgcHlzdHIsIGlkeCk7CiAgICAgICAgICAgICAgICAgZ290byBiYWlsOwogICAgICAgICAgICAgfQpAQCAtNjUzLDEzICs2NjIsMTMgQEAKICAgICAgICAgICAgIGlkeCA9IG5leHRfaWR4OwogCiAgICAgICAgICAgICAvKiBza2lwIHdoaXRlc3BhY2UgYmV0d2VlbiBrZXkgYW5kIDogZGVsaW1pdGVyLCByZWFkIDosIHNraXAgd2hpdGVzcGFjZSAqLwotICAgICAgICAgICAgd2hpbGUgKGlkeCA8PSBlbmRfaWR4ICYmIElTX1dISVRFU1BBQ0Uoc3RyW2lkeF0pKSBpZHgrKzsKLSAgICAgICAgICAgIGlmIChpZHggPiBlbmRfaWR4IHx8IHN0cltpZHhdICE9ICc6JykgeworICAgICAgICAgICAgd2hpbGUgKGlkeCA8PSBlbmRfaWR4ICYmIElTX1dISVRFU1BBQ0UoUHlVbmljb2RlX1JFQUQoa2luZCwgc3RyLCBpZHgpKSkgaWR4Kys7CisgICAgICAgICAgICBpZiAoaWR4ID4gZW5kX2lkeCB8fCBQeVVuaWNvZGVfUkVBRChraW5kLCBzdHIsIGlkeCkgIT0gJzonKSB7CiAgICAgICAgICAgICAgICAgcmFpc2VfZXJybXNnKCJFeHBlY3RpbmcgOiBkZWxpbWl0ZXIiLCBweXN0ciwgaWR4KTsKICAgICAgICAgICAgICAgICBnb3RvIGJhaWw7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBpZHgrKzsKLSAgICAgICAgICAgIHdoaWxlIChpZHggPD0gZW5kX2lkeCAmJiBJU19XSElURVNQQUNFKHN0cltpZHhdKSkgaWR4Kys7CisgICAgICAgICAgICB3aGlsZSAoaWR4IDw9IGVuZF9pZHggJiYgSVNfV0hJVEVTUEFDRShQeVVuaWNvZGVfUkVBRChraW5kLCBzdHIsIGlkeCkpKSBpZHgrKzsKIAogICAgICAgICAgICAgLyogcmVhZCBhbnkgSlNPTiB0ZXJtICovCiAgICAgICAgICAgICB2YWwgPSBzY2FuX29uY2VfdW5pY29kZShzLCBweXN0ciwgaWR4LCAmbmV4dF9pZHgpOwpAQCAtNjg3LDI2ICs2OTYsMjYgQEAKICAgICAgICAgICAgIGlkeCA9IG5leHRfaWR4OwogCiAgICAgICAgICAgICAvKiBza2lwIHdoaXRlc3BhY2UgYmVmb3JlIH0gb3IgLCAqLwotICAgICAgICAgICAgd2hpbGUgKGlkeCA8PSBlbmRfaWR4ICYmIElTX1dISVRFU1BBQ0Uoc3RyW2lkeF0pKSBpZHgrKzsKKyAgICAgICAgICAgIHdoaWxlIChpZHggPD0gZW5kX2lkeCAmJiBJU19XSElURVNQQUNFKFB5VW5pY29kZV9SRUFEKGtpbmQsIHN0ciwgaWR4KSkpIGlkeCsrOwogCiAgICAgICAgICAgICAvKiBiYWlsIGlmIHRoZSBvYmplY3QgaXMgY2xvc2VkIG9yIHdlIGRpZG4ndCBnZXQgdGhlICwgZGVsaW1pdGVyICovCiAgICAgICAgICAgICBpZiAoaWR4ID4gZW5kX2lkeCkgYnJlYWs7Ci0gICAgICAgICAgICBpZiAoc3RyW2lkeF0gPT0gJ30nKSB7CisgICAgICAgICAgICBpZiAoUHlVbmljb2RlX1JFQUQoa2luZCwgc3RyLCBpZHgpID09ICd9JykgewogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgZWxzZSBpZiAoc3RyW2lkeF0gIT0gJywnKSB7CisgICAgICAgICAgICBlbHNlIGlmIChQeVVuaWNvZGVfUkVBRChraW5kLCBzdHIsIGlkeCkgIT0gJywnKSB7CiAgICAgICAgICAgICAgICAgcmFpc2VfZXJybXNnKCJFeHBlY3RpbmcgLCBkZWxpbWl0ZXIiLCBweXN0ciwgaWR4KTsKICAgICAgICAgICAgICAgICBnb3RvIGJhaWw7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBpZHgrKzsKIAogICAgICAgICAgICAgLyogc2tpcCB3aGl0ZXNwYWNlIGFmdGVyICwgZGVsaW1pdGVyICovCi0gICAgICAgICAgICB3aGlsZSAoaWR4IDw9IGVuZF9pZHggJiYgSVNfV0hJVEVTUEFDRShzdHJbaWR4XSkpIGlkeCsrOworICAgICAgICAgICAgd2hpbGUgKGlkeCA8PSBlbmRfaWR4ICYmIElTX1dISVRFU1BBQ0UoUHlVbmljb2RlX1JFQUQoa2luZCwgc3RyLCBpZHgpKSkgaWR4Kys7CiAgICAgICAgIH0KICAgICB9CiAKICAgICAvKiB2ZXJpZnkgdGhhdCBpZHggPCBlbmRfaWR4LCBzdHJbaWR4XSBzaG91bGQgYmUgJ30nICovCi0gICAgaWYgKGlkeCA+IGVuZF9pZHggfHwgc3RyW2lkeF0gIT0gJ30nKSB7CisgICAgaWYgKGlkeCA+IGVuZF9pZHggfHwgUHlVbmljb2RlX1JFQUQoa2luZCwgc3RyLCBpZHgpICE9ICd9JykgewogICAgICAgICByYWlzZV9lcnJtc2coIkV4cGVjdGluZyBvYmplY3QiLCBweXN0ciwgZW5kX2lkeCk7CiAgICAgICAgIGdvdG8gYmFpbDsKICAgICB9CkBAIC03NDIsMTkgKzc1MSwyNyBAQAogCiAgICAgUmV0dXJucyBhIG5ldyBQeUxpc3QKICAgICAqLwotICAgIFB5X1VOSUNPREUgKnN0ciA9IFB5VW5pY29kZV9BU19VTklDT0RFKHB5c3RyKTsKLSAgICBQeV9zc2l6ZV90IGVuZF9pZHggPSBQeVVuaWNvZGVfR0VUX1NJWkUocHlzdHIpIC0gMTsKKyAgICB2b2lkICpzdHI7CisgICAgaW50IGtpbmQ7CisgICAgUHlfc3NpemVfdCBlbmRfaWR4OwogICAgIFB5T2JqZWN0ICp2YWwgPSBOVUxMOwogICAgIFB5T2JqZWN0ICpydmFsID0gUHlMaXN0X05ldygwKTsKICAgICBQeV9zc2l6ZV90IG5leHRfaWR4OwogICAgIGlmIChydmFsID09IE5VTEwpCiAgICAgICAgIHJldHVybiBOVUxMOwogCisgICAgaWYgKFB5VW5pY29kZV9SRUFEWShweXN0cikgPT0gLTEpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgc3RyID0gUHlVbmljb2RlX0RBVEEocHlzdHIpOworICAgIGtpbmQgPSBQeVVuaWNvZGVfS0lORChweXN0cik7CisgICAgZW5kX2lkeCA9IFB5VW5pY29kZV9HRVRfTEVOR1RIKHB5c3RyKSAtIDE7CisKICAgICAvKiBza2lwIHdoaXRlc3BhY2UgYWZ0ZXIgWyAqLwotICAgIHdoaWxlIChpZHggPD0gZW5kX2lkeCAmJiBJU19XSElURVNQQUNFKHN0cltpZHhdKSkgaWR4Kys7CisgICAgd2hpbGUgKGlkeCA8PSBlbmRfaWR4ICYmIElTX1dISVRFU1BBQ0UoUHlVbmljb2RlX1JFQUQoa2luZCwgc3RyLCBpZHgpKSkgaWR4Kys7CiAKICAgICAvKiBvbmx5IGxvb3AgaWYgdGhlIGFycmF5IGlzIG5vbi1lbXB0eSAqLwotICAgIGlmIChpZHggPD0gZW5kX2lkeCAmJiBzdHJbaWR4XSAhPSAnXScpIHsKKyAgICBpZiAoaWR4IDw9IGVuZF9pZHggJiYgUHlVbmljb2RlX1JFQUQoa2luZCwgc3RyLCBpZHgpICE9ICddJykgewogICAgICAgICB3aGlsZSAoaWR4IDw9IGVuZF9pZHgpIHsKIAogICAgICAgICAgICAgLyogcmVhZCBhbnkgSlNPTiB0ZXJtICAqLwpAQCAtNzY5LDI2ICs3ODYsMjYgQEAKICAgICAgICAgICAgIGlkeCA9IG5leHRfaWR4OwogCiAgICAgICAgICAgICAvKiBza2lwIHdoaXRlc3BhY2UgYmV0d2VlbiB0ZXJtIGFuZCAsICovCi0gICAgICAgICAgICB3aGlsZSAoaWR4IDw9IGVuZF9pZHggJiYgSVNfV0hJVEVTUEFDRShzdHJbaWR4XSkpIGlkeCsrOworICAgICAgICAgICAgd2hpbGUgKGlkeCA8PSBlbmRfaWR4ICYmIElTX1dISVRFU1BBQ0UoUHlVbmljb2RlX1JFQUQoa2luZCwgc3RyLCBpZHgpKSkgaWR4Kys7CiAKICAgICAgICAgICAgIC8qIGJhaWwgaWYgdGhlIGFycmF5IGlzIGNsb3NlZCBvciB3ZSBkaWRuJ3QgZ2V0IHRoZSAsIGRlbGltaXRlciAqLwogICAgICAgICAgICAgaWYgKGlkeCA+IGVuZF9pZHgpIGJyZWFrOwotICAgICAgICAgICAgaWYgKHN0cltpZHhdID09ICddJykgeworICAgICAgICAgICAgaWYgKFB5VW5pY29kZV9SRUFEKGtpbmQsIHN0ciwgaWR4KSA9PSAnXScpIHsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGVsc2UgaWYgKHN0cltpZHhdICE9ICcsJykgeworICAgICAgICAgICAgZWxzZSBpZiAoUHlVbmljb2RlX1JFQUQoa2luZCwgc3RyLCBpZHgpICE9ICcsJykgewogICAgICAgICAgICAgICAgIHJhaXNlX2Vycm1zZygiRXhwZWN0aW5nICwgZGVsaW1pdGVyIiwgcHlzdHIsIGlkeCk7CiAgICAgICAgICAgICAgICAgZ290byBiYWlsOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgaWR4Kys7CiAKICAgICAgICAgICAgIC8qIHNraXAgd2hpdGVzcGFjZSBhZnRlciAsICovCi0gICAgICAgICAgICB3aGlsZSAoaWR4IDw9IGVuZF9pZHggJiYgSVNfV0hJVEVTUEFDRShzdHJbaWR4XSkpIGlkeCsrOworICAgICAgICAgICAgd2hpbGUgKGlkeCA8PSBlbmRfaWR4ICYmIElTX1dISVRFU1BBQ0UoUHlVbmljb2RlX1JFQUQoa2luZCwgc3RyLCBpZHgpKSkgaWR4Kys7CiAgICAgICAgIH0KICAgICB9CiAKLSAgICAvKiB2ZXJpZnkgdGhhdCBpZHggPCBlbmRfaWR4LCBzdHJbaWR4XSBzaG91bGQgYmUgJ10nICovCi0gICAgaWYgKGlkeCA+IGVuZF9pZHggfHwgc3RyW2lkeF0gIT0gJ10nKSB7CisgICAgLyogdmVyaWZ5IHRoYXQgaWR4IDwgZW5kX2lkeCwgUHlVbmljb2RlX1JFQUQoa2luZCwgc3RyLCBpZHgpIHNob3VsZCBiZSAnXScgKi8KKyAgICBpZiAoaWR4ID4gZW5kX2lkeCB8fCBQeVVuaWNvZGVfUkVBRChraW5kLCBzdHIsIGlkeCkgIT0gJ10nKSB7CiAgICAgICAgIHJhaXNlX2Vycm1zZygiRXhwZWN0aW5nIG9iamVjdCIsIHB5c3RyLCBlbmRfaWR4KTsKICAgICAgICAgZ290byBiYWlsOwogICAgIH0KQEAgLTgyMCw3ICs4MzcsNyBAQAogCiAgICAgLyogcnZhbCA9IHBhcnNlX2NvbnN0YW50KGNvbnN0YW50KSAqLwogICAgIHJ2YWwgPSBQeU9iamVjdF9DYWxsRnVuY3Rpb25PYmpBcmdzKHMtPnBhcnNlX2NvbnN0YW50LCBjc3RyLCBOVUxMKTsKLSAgICBpZHggKz0gUHlVbmljb2RlX0dFVF9TSVpFKGNzdHIpOworICAgIGlkeCArPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChjc3RyKTsKICAgICBQeV9ERUNSRUYoY3N0cik7CiAgICAgKm5leHRfaWR4X3B0ciA9IGlkeDsKICAgICByZXR1cm4gcnZhbDsKQEAgLTgzNywxNSArODU0LDI0IEBACiAgICAgICAgIFB5SW50LCBQeUxvbmcsIG9yIFB5RmxvYXQuCiAgICAgICAgIE1heSByZXR1cm4gb3RoZXIgdHlwZXMgaWYgcGFyc2VfaW50IG9yIHBhcnNlX2Zsb2F0IGFyZSBzZXQKICAgICAqLwotICAgIFB5X1VOSUNPREUgKnN0ciA9IFB5VW5pY29kZV9BU19VTklDT0RFKHB5c3RyKTsKLSAgICBQeV9zc2l6ZV90IGVuZF9pZHggPSBQeVVuaWNvZGVfR0VUX1NJWkUocHlzdHIpIC0gMTsKKyAgICB2b2lkICpzdHI7CisgICAgaW50IGtpbmQ7CisgICAgUHlfc3NpemVfdCBlbmRfaWR4OwogICAgIFB5X3NzaXplX3QgaWR4ID0gc3RhcnQ7CiAgICAgaW50IGlzX2Zsb2F0ID0gMDsKICAgICBQeU9iamVjdCAqcnZhbDsKLSAgICBQeU9iamVjdCAqbnVtc3RyOworICAgIFB5T2JqZWN0ICpudW1zdHIgPSBOVUxMOworICAgIFB5T2JqZWN0ICpjdXN0b21fZnVuYzsKKworICAgIGlmIChQeVVuaWNvZGVfUkVBRFkocHlzdHIpID09IC0xKQorICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIHN0ciA9IFB5VW5pY29kZV9EQVRBKHB5c3RyKTsKKyAgICBraW5kID0gUHlVbmljb2RlX0tJTkQocHlzdHIpOworICAgIGVuZF9pZHggPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChweXN0cikgLSAxOwogCiAgICAgLyogcmVhZCBhIHNpZ24gaWYgaXQncyB0aGVyZSwgbWFrZSBzdXJlIGl0J3Mgbm90IHRoZSBlbmQgb2YgdGhlIHN0cmluZyAqLwotICAgIGlmIChzdHJbaWR4XSA9PSAnLScpIHsKKyAgICBpZiAoUHlVbmljb2RlX1JFQUQoa2luZCwgc3RyLCBpZHgpID09ICctJykgewogICAgICAgICBpZHgrKzsKICAgICAgICAgaWYgKGlkeCA+IGVuZF9pZHgpIHsKICAgICAgICAgICAgIFB5RXJyX1NldE5vbmUoUHlFeGNfU3RvcEl0ZXJhdGlvbik7CkBAIC04NTQsMTIgKzg4MCwxMiBAQAogICAgIH0KIAogICAgIC8qIHJlYWQgYXMgbWFueSBpbnRlZ2VyIGRpZ2l0cyBhcyB3ZSBmaW5kIGFzIGxvbmcgYXMgaXQgZG9lc24ndCBzdGFydCB3aXRoIDAgKi8KLSAgICBpZiAoc3RyW2lkeF0gPj0gJzEnICYmIHN0cltpZHhdIDw9ICc5JykgeworICAgIGlmIChQeVVuaWNvZGVfUkVBRChraW5kLCBzdHIsIGlkeCkgPj0gJzEnICYmIFB5VW5pY29kZV9SRUFEKGtpbmQsIHN0ciwgaWR4KSA8PSAnOScpIHsKICAgICAgICAgaWR4Kys7Ci0gICAgICAgIHdoaWxlIChpZHggPD0gZW5kX2lkeCAmJiBzdHJbaWR4XSA+PSAnMCcgJiYgc3RyW2lkeF0gPD0gJzknKSBpZHgrKzsKKyAgICAgICAgd2hpbGUgKGlkeCA8PSBlbmRfaWR4ICYmIFB5VW5pY29kZV9SRUFEKGtpbmQsIHN0ciwgaWR4KSA+PSAnMCcgJiYgUHlVbmljb2RlX1JFQUQoa2luZCwgc3RyLCBpZHgpIDw9ICc5JykgaWR4Kys7CiAgICAgfQogICAgIC8qIGlmIGl0IHN0YXJ0cyB3aXRoIDAgd2Ugb25seSBleHBlY3Qgb25lIGludGVnZXIgZGlnaXQgKi8KLSAgICBlbHNlIGlmIChzdHJbaWR4XSA9PSAnMCcpIHsKKyAgICBlbHNlIGlmIChQeVVuaWNvZGVfUkVBRChraW5kLCBzdHIsIGlkeCkgPT0gJzAnKSB7CiAgICAgICAgIGlkeCsrOwogICAgIH0KICAgICAvKiBubyBpbnRlZ2VyIGRpZ2l0cywgZXJyb3IgKi8KQEAgLTg2OSwyNSArODk1LDI1IEBACiAgICAgfQogCiAgICAgLyogaWYgdGhlIG5leHQgY2hhciBpcyAnLicgZm9sbG93ZWQgYnkgYSBkaWdpdCB0aGVuIHJlYWQgYWxsIGZsb2F0IGRpZ2l0cyAqLwotICAgIGlmIChpZHggPCBlbmRfaWR4ICYmIHN0cltpZHhdID09ICcuJyAmJiBzdHJbaWR4ICsgMV0gPj0gJzAnICYmIHN0cltpZHggKyAxXSA8PSAnOScpIHsKKyAgICBpZiAoaWR4IDwgZW5kX2lkeCAmJiBQeVVuaWNvZGVfUkVBRChraW5kLCBzdHIsIGlkeCkgPT0gJy4nICYmIFB5VW5pY29kZV9SRUFEKGtpbmQsIHN0ciwgaWR4ICsgMSkgPj0gJzAnICYmIFB5VW5pY29kZV9SRUFEKGtpbmQsIHN0ciwgaWR4ICsgMSkgPD0gJzknKSB7CiAgICAgICAgIGlzX2Zsb2F0ID0gMTsKICAgICAgICAgaWR4ICs9IDI7Ci0gICAgICAgIHdoaWxlIChpZHggPD0gZW5kX2lkeCAmJiBzdHJbaWR4XSA+PSAnMCcgJiYgc3RyW2lkeF0gPD0gJzknKSBpZHgrKzsKKyAgICAgICAgd2hpbGUgKGlkeCA8PSBlbmRfaWR4ICYmIFB5VW5pY29kZV9SRUFEKGtpbmQsIHN0ciwgaWR4KSA+PSAnMCcgJiYgUHlVbmljb2RlX1JFQUQoa2luZCwgc3RyLCBpZHgpIDw9ICc5JykgaWR4Kys7CiAgICAgfQogCiAgICAgLyogaWYgdGhlIG5leHQgY2hhciBpcyAnZScgb3IgJ0UnIHRoZW4gbWF5YmUgcmVhZCB0aGUgZXhwb25lbnQgKG9yIGJhY2t0cmFjaykgKi8KLSAgICBpZiAoaWR4IDwgZW5kX2lkeCAmJiAoc3RyW2lkeF0gPT0gJ2UnIHx8IHN0cltpZHhdID09ICdFJykpIHsKKyAgICBpZiAoaWR4IDwgZW5kX2lkeCAmJiAoUHlVbmljb2RlX1JFQUQoa2luZCwgc3RyLCBpZHgpID09ICdlJyB8fCBQeVVuaWNvZGVfUkVBRChraW5kLCBzdHIsIGlkeCkgPT0gJ0UnKSkgewogICAgICAgICBQeV9zc2l6ZV90IGVfc3RhcnQgPSBpZHg7CiAgICAgICAgIGlkeCsrOwogCiAgICAgICAgIC8qIHJlYWQgYW4gZXhwb25lbnQgc2lnbiBpZiBwcmVzZW50ICovCi0gICAgICAgIGlmIChpZHggPCBlbmRfaWR4ICYmIChzdHJbaWR4XSA9PSAnLScgfHwgc3RyW2lkeF0gPT0gJysnKSkgaWR4Kys7CisgICAgICAgIGlmIChpZHggPCBlbmRfaWR4ICYmIChQeVVuaWNvZGVfUkVBRChraW5kLCBzdHIsIGlkeCkgPT0gJy0nIHx8IFB5VW5pY29kZV9SRUFEKGtpbmQsIHN0ciwgaWR4KSA9PSAnKycpKSBpZHgrKzsKIAogICAgICAgICAvKiByZWFkIGFsbCBkaWdpdHMgKi8KLSAgICAgICAgd2hpbGUgKGlkeCA8PSBlbmRfaWR4ICYmIHN0cltpZHhdID49ICcwJyAmJiBzdHJbaWR4XSA8PSAnOScpIGlkeCsrOworICAgICAgICB3aGlsZSAoaWR4IDw9IGVuZF9pZHggJiYgUHlVbmljb2RlX1JFQUQoa2luZCwgc3RyLCBpZHgpID49ICcwJyAmJiBQeVVuaWNvZGVfUkVBRChraW5kLCBzdHIsIGlkeCkgPD0gJzknKSBpZHgrKzsKIAogICAgICAgICAvKiBpZiB3ZSBnb3QgYSBkaWdpdCwgdGhlbiBwYXJzZSBhcyBmbG9hdC4gaWYgbm90LCBiYWNrdHJhY2sgKi8KLSAgICAgICAgaWYgKHN0cltpZHggLSAxXSA+PSAnMCcgJiYgc3RyW2lkeCAtIDFdIDw9ICc5JykgeworICAgICAgICBpZiAoUHlVbmljb2RlX1JFQUQoa2luZCwgc3RyLCBpZHggLSAxKSA+PSAnMCcgJiYgUHlVbmljb2RlX1JFQUQoa2luZCwgc3RyLCBpZHggLSAxKSA8PSAnOScpIHsKICAgICAgICAgICAgIGlzX2Zsb2F0ID0gMTsKICAgICAgICAgfQogICAgICAgICBlbHNlIHsKQEAgLTg5NSwyMiArOTIxLDM5IEBACiAgICAgICAgIH0KICAgICB9CiAKLSAgICAvKiBjb3B5IHRoZSBzZWN0aW9uIHdlIGRldGVybWluZWQgdG8gYmUgYSBudW1iZXIgKi8KLSAgICBudW1zdHIgPSBQeVVuaWNvZGVfRnJvbVVuaWNvZGUoJnN0cltzdGFydF0sIGlkeCAtIHN0YXJ0KTsKLSAgICBpZiAobnVtc3RyID09IE5VTEwpCi0gICAgICAgIHJldHVybiBOVUxMOwotICAgIGlmIChpc19mbG9hdCkgewotICAgICAgICAvKiBwYXJzZSBhcyBhIGZsb2F0IHVzaW5nIGEgZmFzdCBwYXRoIGlmIGF2YWlsYWJsZSwgb3RoZXJ3aXNlIGNhbGwgdXNlciBkZWZpbmVkIG1ldGhvZCAqLwotICAgICAgICBpZiAocy0+cGFyc2VfZmxvYXQgIT0gKFB5T2JqZWN0ICopJlB5RmxvYXRfVHlwZSkgewotICAgICAgICAgICAgcnZhbCA9IFB5T2JqZWN0X0NhbGxGdW5jdGlvbk9iakFyZ3Mocy0+cGFyc2VfZmxvYXQsIG51bXN0ciwgTlVMTCk7Ci0gICAgICAgIH0KLSAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICBydmFsID0gUHlGbG9hdF9Gcm9tU3RyaW5nKG51bXN0cik7Ci0gICAgICAgIH0KKyAgICBpZiAoaXNfZmxvYXQgJiYgcy0+cGFyc2VfZmxvYXQgIT0gKFB5T2JqZWN0ICopJlB5RmxvYXRfVHlwZSkKKyAgICAgICAgY3VzdG9tX2Z1bmMgPSBzLT5wYXJzZV9mbG9hdDsKKyAgICBlbHNlIGlmICghaXNfZmxvYXQgJiYgcy0+cGFyc2VfaW50ICE9IChQeU9iamVjdCAqKSAmUHlMb25nX1R5cGUpCisgICAgICAgIGN1c3RvbV9mdW5jID0gcy0+cGFyc2VfaW50OworICAgIGVsc2UKKyAgICAgICAgY3VzdG9tX2Z1bmMgPSBOVUxMOworCisgICAgaWYgKGN1c3RvbV9mdW5jKSB7CisgICAgICAgIC8qIGNvcHkgdGhlIHNlY3Rpb24gd2UgZGV0ZXJtaW5lZCB0byBiZSBhIG51bWJlciAqLworICAgICAgICBudW1zdHIgPSBQeVVuaWNvZGVfRnJvbUtpbmRBbmREYXRhKGtpbmQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNoYXIqKXN0ciArIGtpbmQgKiBzdGFydCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZHggLSBzdGFydCk7CisgICAgICAgIGlmIChudW1zdHIgPT0gTlVMTCkKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICBydmFsID0gUHlPYmplY3RfQ2FsbEZ1bmN0aW9uT2JqQXJncyhjdXN0b21fZnVuYywgbnVtc3RyLCBOVUxMKTsKICAgICB9CiAgICAgZWxzZSB7Ci0gICAgICAgIC8qIG5vIGZhc3QgcGF0aCBmb3IgdW5pY29kZSAtPiBpbnQsIGp1c3QgY2FsbCAqLwotICAgICAgICBydmFsID0gUHlPYmplY3RfQ2FsbEZ1bmN0aW9uT2JqQXJncyhzLT5wYXJzZV9pbnQsIG51bXN0ciwgTlVMTCk7CisgICAgICAgIFB5X3NzaXplX3QgaSwgbjsKKyAgICAgICAgY2hhciAqYnVmOworICAgICAgICAvKiBTdHJhaWdodCBjb252ZXJzaW9uIHRvIEFTQ0lJLCB0byBhdm9pZCBjb3N0bHkgY29udmVyc2lvbiBvZgorICAgICAgICAgICBkZWNpbWFsIHVuaWNvZGUgZGlnaXRzICh3aGljaCBjYW5ub3QgYXBwZWFyIGhlcmUpICovCisgICAgICAgIG4gPSBpZHggLSBzdGFydDsKKyAgICAgICAgbnVtc3RyID0gUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZShOVUxMLCBuKTsKKyAgICAgICAgaWYgKG51bXN0ciA9PSBOVUxMKQorICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIGJ1ZiA9IFB5Qnl0ZXNfQVNfU1RSSU5HKG51bXN0cik7CisgICAgICAgIGZvciAoaSA9IDA7IGkgPCBuOyBpKyspIHsKKyAgICAgICAgICAgIGJ1ZltpXSA9IChjaGFyKSBQeVVuaWNvZGVfUkVBRChraW5kLCBzdHIsIGkgKyBzdGFydCk7CisgICAgICAgIH0KKyAgICAgICAgaWYgKGlzX2Zsb2F0KQorICAgICAgICAgICAgcnZhbCA9IFB5RmxvYXRfRnJvbVN0cmluZyhudW1zdHIpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBydmFsID0gUHlMb25nX0Zyb21TdHJpbmcoYnVmLCBOVUxMLCAxMCk7CiAgICAgfQogICAgIFB5X0RFQ1JFRihudW1zdHIpOwogICAgICpuZXh0X2lkeF9wdHIgPSBpZHg7CkBAIC05MjgsMTMgKzk3MSwyMyBAQAogICAgIFJldHVybnMgYSBuZXcgUHlPYmplY3QgcmVwcmVzZW50YXRpb24gb2YgdGhlIHRlcm0uCiAgICAgKi8KICAgICBQeU9iamVjdCAqcmVzOwotICAgIFB5X1VOSUNPREUgKnN0ciA9IFB5VW5pY29kZV9BU19VTklDT0RFKHB5c3RyKTsKLSAgICBQeV9zc2l6ZV90IGxlbmd0aCA9IFB5VW5pY29kZV9HRVRfU0laRShweXN0cik7CisgICAgdm9pZCAqc3RyOworICAgIGludCBraW5kOworICAgIFB5X3NzaXplX3QgbGVuZ3RoOworCisgICAgaWYgKFB5VW5pY29kZV9SRUFEWShweXN0cikgPT0gLTEpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgc3RyID0gUHlVbmljb2RlX0RBVEEocHlzdHIpOworICAgIGtpbmQgPSBQeVVuaWNvZGVfS0lORChweXN0cik7CisgICAgbGVuZ3RoID0gUHlVbmljb2RlX0dFVF9MRU5HVEgocHlzdHIpOworCiAgICAgaWYgKGlkeCA+PSBsZW5ndGgpIHsKICAgICAgICAgUHlFcnJfU2V0Tm9uZShQeUV4Y19TdG9wSXRlcmF0aW9uKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQotICAgIHN3aXRjaCAoc3RyW2lkeF0pIHsKKworICAgIHN3aXRjaCAoUHlVbmljb2RlX1JFQUQoa2luZCwgc3RyLCBpZHgpKSB7CiAgICAgICAgIGNhc2UgJyInOgogICAgICAgICAgICAgLyogc3RyaW5nICovCiAgICAgICAgICAgICByZXR1cm4gc2NhbnN0cmluZ191bmljb2RlKHB5c3RyLCBpZHggKyAxLApAQCAtOTU4LDcgKzEwMTEsNyBAQAogICAgICAgICAgICAgcmV0dXJuIHJlczsKICAgICAgICAgY2FzZSAnbic6CiAgICAgICAgICAgICAvKiBudWxsICovCi0gICAgICAgICAgICBpZiAoKGlkeCArIDMgPCBsZW5ndGgpICYmIHN0cltpZHggKyAxXSA9PSAndScgJiYgc3RyW2lkeCArIDJdID09ICdsJyAmJiBzdHJbaWR4ICsgM10gPT0gJ2wnKSB7CisgICAgICAgICAgICBpZiAoKGlkeCArIDMgPCBsZW5ndGgpICYmIFB5VW5pY29kZV9SRUFEKGtpbmQsIHN0ciwgaWR4ICsgMSkgPT0gJ3UnICYmIFB5VW5pY29kZV9SRUFEKGtpbmQsIHN0ciwgaWR4ICsgMikgPT0gJ2wnICYmIFB5VW5pY29kZV9SRUFEKGtpbmQsIHN0ciwgaWR4ICsgMykgPT0gJ2wnKSB7CiAgICAgICAgICAgICAgICAgUHlfSU5DUkVGKFB5X05vbmUpOwogICAgICAgICAgICAgICAgICpuZXh0X2lkeF9wdHIgPSBpZHggKyA0OwogICAgICAgICAgICAgICAgIHJldHVybiBQeV9Ob25lOwpAQCAtOTY2LDcgKzEwMTksNyBAQAogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgJ3QnOgogICAgICAgICAgICAgLyogdHJ1ZSAqLwotICAgICAgICAgICAgaWYgKChpZHggKyAzIDwgbGVuZ3RoKSAmJiBzdHJbaWR4ICsgMV0gPT0gJ3InICYmIHN0cltpZHggKyAyXSA9PSAndScgJiYgc3RyW2lkeCArIDNdID09ICdlJykgeworICAgICAgICAgICAgaWYgKChpZHggKyAzIDwgbGVuZ3RoKSAmJiBQeVVuaWNvZGVfUkVBRChraW5kLCBzdHIsIGlkeCArIDEpID09ICdyJyAmJiBQeVVuaWNvZGVfUkVBRChraW5kLCBzdHIsIGlkeCArIDIpID09ICd1JyAmJiBQeVVuaWNvZGVfUkVBRChraW5kLCBzdHIsIGlkeCArIDMpID09ICdlJykgewogICAgICAgICAgICAgICAgIFB5X0lOQ1JFRihQeV9UcnVlKTsKICAgICAgICAgICAgICAgICAqbmV4dF9pZHhfcHRyID0gaWR4ICsgNDsKICAgICAgICAgICAgICAgICByZXR1cm4gUHlfVHJ1ZTsKQEAgLTk3NCw3ICsxMDI3LDEwIEBACiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSAnZic6CiAgICAgICAgICAgICAvKiBmYWxzZSAqLwotICAgICAgICAgICAgaWYgKChpZHggKyA0IDwgbGVuZ3RoKSAmJiBzdHJbaWR4ICsgMV0gPT0gJ2EnICYmIHN0cltpZHggKyAyXSA9PSAnbCcgJiYgc3RyW2lkeCArIDNdID09ICdzJyAmJiBzdHJbaWR4ICsgNF0gPT0gJ2UnKSB7CisgICAgICAgICAgICBpZiAoKGlkeCArIDQgPCBsZW5ndGgpICYmIFB5VW5pY29kZV9SRUFEKGtpbmQsIHN0ciwgaWR4ICsgMSkgPT0gJ2EnICYmCisgICAgICAgICAgICAgICAgUHlVbmljb2RlX1JFQUQoa2luZCwgc3RyLCBpZHggKyAyKSA9PSAnbCcgJiYKKyAgICAgICAgICAgICAgICBQeVVuaWNvZGVfUkVBRChraW5kLCBzdHIsIGlkeCArIDMpID09ICdzJyAmJgorICAgICAgICAgICAgICAgIFB5VW5pY29kZV9SRUFEKGtpbmQsIHN0ciwgaWR4ICsgNCkgPT0gJ2UnKSB7CiAgICAgICAgICAgICAgICAgUHlfSU5DUkVGKFB5X0ZhbHNlKTsKICAgICAgICAgICAgICAgICAqbmV4dF9pZHhfcHRyID0gaWR4ICsgNTsKICAgICAgICAgICAgICAgICByZXR1cm4gUHlfRmFsc2U7CkBAIC05ODIsMTkgKzEwMzgsMzMgQEAKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlICdOJzoKICAgICAgICAgICAgIC8qIE5hTiAqLwotICAgICAgICAgICAgaWYgKChpZHggKyAyIDwgbGVuZ3RoKSAmJiBzdHJbaWR4ICsgMV0gPT0gJ2EnICYmIHN0cltpZHggKyAyXSA9PSAnTicpIHsKKyAgICAgICAgICAgIGlmICgoaWR4ICsgMiA8IGxlbmd0aCkgJiYgUHlVbmljb2RlX1JFQUQoa2luZCwgc3RyLCBpZHggKyAxKSA9PSAnYScgJiYKKyAgICAgICAgICAgICAgICBQeVVuaWNvZGVfUkVBRChraW5kLCBzdHIsIGlkeCArIDIpID09ICdOJykgewogICAgICAgICAgICAgICAgIHJldHVybiBfcGFyc2VfY29uc3RhbnQocywgIk5hTiIsIGlkeCwgbmV4dF9pZHhfcHRyKTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlICdJJzoKICAgICAgICAgICAgIC8qIEluZmluaXR5ICovCi0gICAgICAgICAgICBpZiAoKGlkeCArIDcgPCBsZW5ndGgpICYmIHN0cltpZHggKyAxXSA9PSAnbicgJiYgc3RyW2lkeCArIDJdID09ICdmJyAmJiBzdHJbaWR4ICsgM10gPT0gJ2knICYmIHN0cltpZHggKyA0XSA9PSAnbicgJiYgc3RyW2lkeCArIDVdID09ICdpJyAmJiBzdHJbaWR4ICsgNl0gPT0gJ3QnICYmIHN0cltpZHggKyA3XSA9PSAneScpIHsKKyAgICAgICAgICAgIGlmICgoaWR4ICsgNyA8IGxlbmd0aCkgJiYgUHlVbmljb2RlX1JFQUQoa2luZCwgc3RyLCBpZHggKyAxKSA9PSAnbicgJiYKKyAgICAgICAgICAgICAgICBQeVVuaWNvZGVfUkVBRChraW5kLCBzdHIsIGlkeCArIDIpID09ICdmJyAmJgorICAgICAgICAgICAgICAgIFB5VW5pY29kZV9SRUFEKGtpbmQsIHN0ciwgaWR4ICsgMykgPT0gJ2knICYmCisgICAgICAgICAgICAgICAgUHlVbmljb2RlX1JFQUQoa2luZCwgc3RyLCBpZHggKyA0KSA9PSAnbicgJiYKKyAgICAgICAgICAgICAgICBQeVVuaWNvZGVfUkVBRChraW5kLCBzdHIsIGlkeCArIDUpID09ICdpJyAmJgorICAgICAgICAgICAgICAgIFB5VW5pY29kZV9SRUFEKGtpbmQsIHN0ciwgaWR4ICsgNikgPT0gJ3QnICYmCisgICAgICAgICAgICAgICAgUHlVbmljb2RlX1JFQUQoa2luZCwgc3RyLCBpZHggKyA3KSA9PSAneScpIHsKICAgICAgICAgICAgICAgICByZXR1cm4gX3BhcnNlX2NvbnN0YW50KHMsICJJbmZpbml0eSIsIGlkeCwgbmV4dF9pZHhfcHRyKTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlICctJzoKICAgICAgICAgICAgIC8qIC1JbmZpbml0eSAqLwotICAgICAgICAgICAgaWYgKChpZHggKyA4IDwgbGVuZ3RoKSAmJiBzdHJbaWR4ICsgMV0gPT0gJ0knICYmIHN0cltpZHggKyAyXSA9PSAnbicgJiYgc3RyW2lkeCArIDNdID09ICdmJyAmJiBzdHJbaWR4ICsgNF0gPT0gJ2knICYmIHN0cltpZHggKyA1XSA9PSAnbicgJiYgc3RyW2lkeCArIDZdID09ICdpJyAmJiBzdHJbaWR4ICsgN10gPT0gJ3QnICYmIHN0cltpZHggKyA4XSA9PSAneScpIHsKKyAgICAgICAgICAgIGlmICgoaWR4ICsgOCA8IGxlbmd0aCkgJiYgUHlVbmljb2RlX1JFQUQoa2luZCwgc3RyLCBpZHggKyAxKSA9PSAnSScgJiYKKyAgICAgICAgICAgICAgICBQeVVuaWNvZGVfUkVBRChraW5kLCBzdHIsIGlkeCArIDIpID09ICduJyAmJgorICAgICAgICAgICAgICAgIFB5VW5pY29kZV9SRUFEKGtpbmQsIHN0ciwgaWR4ICsgMykgPT0gJ2YnICYmCisgICAgICAgICAgICAgICAgUHlVbmljb2RlX1JFQUQoa2luZCwgc3RyLCBpZHggKyA0KSA9PSAnaScgJiYKKyAgICAgICAgICAgICAgICBQeVVuaWNvZGVfUkVBRChraW5kLCBzdHIsIGlkeCArIDUpID09ICduJyAmJgorICAgICAgICAgICAgICAgIFB5VW5pY29kZV9SRUFEKGtpbmQsIHN0ciwgaWR4ICsgNikgPT0gJ2knICYmCisgICAgICAgICAgICAgICAgUHlVbmljb2RlX1JFQUQoa2luZCwgc3RyLCBpZHggKyA3KSA9PSAndCcgJiYKKyAgICAgICAgICAgICAgICBQeVVuaWNvZGVfUkVBRChraW5kLCBzdHIsIGlkeCArIDgpID09ICd5JykgewogICAgICAgICAgICAgICAgIHJldHVybiBfcGFyc2VfY29uc3RhbnQocywgIi1JbmZpbml0eSIsIGlkeCwgbmV4dF9pZHhfcHRyKTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGJyZWFrOwpAQCAtMTIxMCwyMiArMTI4MCwyMiBAQAogICAgIC8qIFB5dGhvbiBjYWxsYWJsZSBpbnRlcmZhY2UgdG8gZW5jb2RlX2xpc3RlbmNvZGVfb2JqICovCiAgICAgc3RhdGljIGNoYXIgKmt3bGlzdFtdID0geyJvYmoiLCAiX2N1cnJlbnRfaW5kZW50X2xldmVsIiwgTlVMTH07CiAgICAgUHlPYmplY3QgKm9iajsKLSAgICBQeU9iamVjdCAqcnZhbDsKICAgICBQeV9zc2l6ZV90IGluZGVudF9sZXZlbDsKICAgICBQeUVuY29kZXJPYmplY3QgKnM7CisgICAgX1B5QWNjdSBhY2M7CisKICAgICBhc3NlcnQoUHlFbmNvZGVyX0NoZWNrKHNlbGYpKTsKICAgICBzID0gKFB5RW5jb2Rlck9iamVjdCAqKXNlbGY7CiAgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dkcywgIk9PJjpfaXRlcmVuY29kZSIsIGt3bGlzdCwKICAgICAgICAgJm9iaiwgX2NvbnZlcnRQeUludF9Bc1NzaXplX3QsICZpbmRlbnRfbGV2ZWwpKQogICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBydmFsID0gUHlMaXN0X05ldygwKTsKLSAgICBpZiAocnZhbCA9PSBOVUxMKQorICAgIGlmIChfUHlBY2N1X0luaXQoJmFjYykpCiAgICAgICAgIHJldHVybiBOVUxMOwotICAgIGlmIChlbmNvZGVyX2xpc3RlbmNvZGVfb2JqKHMsIHJ2YWwsIG9iaiwgaW5kZW50X2xldmVsKSkgewotICAgICAgICBQeV9ERUNSRUYocnZhbCk7CisgICAgaWYgKGVuY29kZXJfbGlzdGVuY29kZV9vYmoocywgJmFjYywgb2JqLCBpbmRlbnRfbGV2ZWwpKSB7CisgICAgICAgIF9QeUFjY3VfRGVzdHJveSgmYWNjKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQotICAgIHJldHVybiBydmFsOworICAgIHJldHVybiBfUHlBY2N1X0ZpbmlzaEFzTGlzdCgmYWNjKTsKIH0KIAogc3RhdGljIFB5T2JqZWN0ICoKQEAgLTEyOTcsMTggKzEzNjcsMTkgQEAKIH0KIAogc3RhdGljIGludAotX3N0ZWFsX2xpc3RfYXBwZW5kKFB5T2JqZWN0ICpsc3QsIFB5T2JqZWN0ICpzdG9sZW4pCitfc3RlYWxfYWNjdW11bGF0ZShfUHlBY2N1ICphY2MsIFB5T2JqZWN0ICpzdG9sZW4pCiB7CiAgICAgLyogQXBwZW5kIHN0b2xlbiBhbmQgdGhlbiBkZWNyZW1lbnQgaXRzIHJlZmVyZW5jZSBjb3VudCAqLwotICAgIGludCBydmFsID0gUHlMaXN0X0FwcGVuZChsc3QsIHN0b2xlbik7CisgICAgaW50IHJ2YWwgPSBfUHlBY2N1X0FjY3VtdWxhdGUoYWNjLCBzdG9sZW4pOwogICAgIFB5X0RFQ1JFRihzdG9sZW4pOwogICAgIHJldHVybiBydmFsOwogfQogCiBzdGF0aWMgaW50Ci1lbmNvZGVyX2xpc3RlbmNvZGVfb2JqKFB5RW5jb2Rlck9iamVjdCAqcywgUHlPYmplY3QgKnJ2YWwsIFB5T2JqZWN0ICpvYmosIFB5X3NzaXplX3QgaW5kZW50X2xldmVsKQorZW5jb2Rlcl9saXN0ZW5jb2RlX29iaihQeUVuY29kZXJPYmplY3QgKnMsIF9QeUFjY3UgKmFjYywKKyAgICAgICAgICAgICAgICAgICAgICAgUHlPYmplY3QgKm9iaiwgUHlfc3NpemVfdCBpbmRlbnRfbGV2ZWwpCiB7Ci0gICAgLyogRW5jb2RlIFB5dGhvbiBvYmplY3Qgb2JqIHRvIGEgSlNPTiB0ZXJtLCBydmFsIGlzIGEgUHlMaXN0ICovCisgICAgLyogRW5jb2RlIFB5dGhvbiBvYmplY3Qgb2JqIHRvIGEgSlNPTiB0ZXJtICovCiAgICAgUHlPYmplY3QgKm5ld29iajsKICAgICBpbnQgcnY7CiAKQEAgLTEzMTYsMzggKzEzODcsMzggQEAKICAgICAgICAgUHlPYmplY3QgKmNzdHIgPSBfZW5jb2RlZF9jb25zdChvYmopOwogICAgICAgICBpZiAoY3N0ciA9PSBOVUxMKQogICAgICAgICAgICAgcmV0dXJuIC0xOwotICAgICAgICByZXR1cm4gX3N0ZWFsX2xpc3RfYXBwZW5kKHJ2YWwsIGNzdHIpOworICAgICAgICByZXR1cm4gX3N0ZWFsX2FjY3VtdWxhdGUoYWNjLCBjc3RyKTsKICAgICB9CiAgICAgZWxzZSBpZiAoUHlVbmljb2RlX0NoZWNrKG9iaikpCiAgICAgewogICAgICAgICBQeU9iamVjdCAqZW5jb2RlZCA9IGVuY29kZXJfZW5jb2RlX3N0cmluZyhzLCBvYmopOwogICAgICAgICBpZiAoZW5jb2RlZCA9PSBOVUxMKQogICAgICAgICAgICAgcmV0dXJuIC0xOwotICAgICAgICByZXR1cm4gX3N0ZWFsX2xpc3RfYXBwZW5kKHJ2YWwsIGVuY29kZWQpOworICAgICAgICByZXR1cm4gX3N0ZWFsX2FjY3VtdWxhdGUoYWNjLCBlbmNvZGVkKTsKICAgICB9CiAgICAgZWxzZSBpZiAoUHlMb25nX0NoZWNrKG9iaikpIHsKICAgICAgICAgUHlPYmplY3QgKmVuY29kZWQgPSBQeU9iamVjdF9TdHIob2JqKTsKICAgICAgICAgaWYgKGVuY29kZWQgPT0gTlVMTCkKICAgICAgICAgICAgIHJldHVybiAtMTsKLSAgICAgICAgcmV0dXJuIF9zdGVhbF9saXN0X2FwcGVuZChydmFsLCBlbmNvZGVkKTsKKyAgICAgICAgcmV0dXJuIF9zdGVhbF9hY2N1bXVsYXRlKGFjYywgZW5jb2RlZCk7CiAgICAgfQogICAgIGVsc2UgaWYgKFB5RmxvYXRfQ2hlY2sob2JqKSkgewogICAgICAgICBQeU9iamVjdCAqZW5jb2RlZCA9IGVuY29kZXJfZW5jb2RlX2Zsb2F0KHMsIG9iaik7CiAgICAgICAgIGlmIChlbmNvZGVkID09IE5VTEwpCiAgICAgICAgICAgICByZXR1cm4gLTE7Ci0gICAgICAgIHJldHVybiBfc3RlYWxfbGlzdF9hcHBlbmQocnZhbCwgZW5jb2RlZCk7CisgICAgICAgIHJldHVybiBfc3RlYWxfYWNjdW11bGF0ZShhY2MsIGVuY29kZWQpOwogICAgIH0KICAgICBlbHNlIGlmIChQeUxpc3RfQ2hlY2sob2JqKSB8fCBQeVR1cGxlX0NoZWNrKG9iaikpIHsKICAgICAgICAgaWYgKFB5X0VudGVyUmVjdXJzaXZlQ2FsbCgiIHdoaWxlIGVuY29kaW5nIGEgSlNPTiBvYmplY3QiKSkKICAgICAgICAgICAgIHJldHVybiAtMTsKLSAgICAgICAgcnYgPSBlbmNvZGVyX2xpc3RlbmNvZGVfbGlzdChzLCBydmFsLCBvYmosIGluZGVudF9sZXZlbCk7CisgICAgICAgIHJ2ID0gZW5jb2Rlcl9saXN0ZW5jb2RlX2xpc3QocywgYWNjLCBvYmosIGluZGVudF9sZXZlbCk7CiAgICAgICAgIFB5X0xlYXZlUmVjdXJzaXZlQ2FsbCgpOwogICAgICAgICByZXR1cm4gcnY7CiAgICAgfQogICAgIGVsc2UgaWYgKFB5RGljdF9DaGVjayhvYmopKSB7CiAgICAgICAgIGlmIChQeV9FbnRlclJlY3Vyc2l2ZUNhbGwoIiB3aGlsZSBlbmNvZGluZyBhIEpTT04gb2JqZWN0IikpCiAgICAgICAgICAgICByZXR1cm4gLTE7Ci0gICAgICAgIHJ2ID0gZW5jb2Rlcl9saXN0ZW5jb2RlX2RpY3QocywgcnZhbCwgb2JqLCBpbmRlbnRfbGV2ZWwpOworICAgICAgICBydiA9IGVuY29kZXJfbGlzdGVuY29kZV9kaWN0KHMsIGFjYywgb2JqLCBpbmRlbnRfbGV2ZWwpOwogICAgICAgICBQeV9MZWF2ZVJlY3Vyc2l2ZUNhbGwoKTsKICAgICAgICAgcmV0dXJuIHJ2OwogICAgIH0KQEAgLTEzNzgsNyArMTQ0OSw3IEBACiAKICAgICAgICAgaWYgKFB5X0VudGVyUmVjdXJzaXZlQ2FsbCgiIHdoaWxlIGVuY29kaW5nIGEgSlNPTiBvYmplY3QiKSkKICAgICAgICAgICAgIHJldHVybiAtMTsKLSAgICAgICAgcnYgPSBlbmNvZGVyX2xpc3RlbmNvZGVfb2JqKHMsIHJ2YWwsIG5ld29iaiwgaW5kZW50X2xldmVsKTsKKyAgICAgICAgcnYgPSBlbmNvZGVyX2xpc3RlbmNvZGVfb2JqKHMsIGFjYywgbmV3b2JqLCBpbmRlbnRfbGV2ZWwpOwogICAgICAgICBQeV9MZWF2ZVJlY3Vyc2l2ZUNhbGwoKTsKIAogICAgICAgICBQeV9ERUNSRUYobmV3b2JqKTsKQEAgLTEzOTgsOSArMTQ2OSwxMCBAQAogfQogCiBzdGF0aWMgaW50Ci1lbmNvZGVyX2xpc3RlbmNvZGVfZGljdChQeUVuY29kZXJPYmplY3QgKnMsIFB5T2JqZWN0ICpydmFsLCBQeU9iamVjdCAqZGN0LCBQeV9zc2l6ZV90IGluZGVudF9sZXZlbCkKK2VuY29kZXJfbGlzdGVuY29kZV9kaWN0KFB5RW5jb2Rlck9iamVjdCAqcywgX1B5QWNjdSAqYWNjLAorICAgICAgICAgICAgICAgICAgICAgICAgUHlPYmplY3QgKmRjdCwgUHlfc3NpemVfdCBpbmRlbnRfbGV2ZWwpCiB7Ci0gICAgLyogRW5jb2RlIFB5dGhvbiBkaWN0IGRjdCBhIEpTT04gdGVybSwgcnZhbCBpcyBhIFB5TGlzdCAqLworICAgIC8qIEVuY29kZSBQeXRob24gZGljdCBkY3QgYSBKU09OIHRlcm0gKi8KICAgICBzdGF0aWMgUHlPYmplY3QgKm9wZW5fZGljdCA9IE5VTEw7CiAgICAgc3RhdGljIFB5T2JqZWN0ICpjbG9zZV9kaWN0ID0gTlVMTDsKICAgICBzdGF0aWMgUHlPYmplY3QgKmVtcHR5X2RpY3QgPSBOVUxMOwpAQCAtMTQyMCw3ICsxNDkyLDcgQEAKICAgICAgICAgICAgIHJldHVybiAtMTsKICAgICB9CiAgICAgaWYgKFB5X1NJWkUoZGN0KSA9PSAwKQotICAgICAgICByZXR1cm4gUHlMaXN0X0FwcGVuZChydmFsLCBlbXB0eV9kaWN0KTsKKyAgICAgICAgcmV0dXJuIF9QeUFjY3VfQWNjdW11bGF0ZShhY2MsIGVtcHR5X2RpY3QpOwogCiAgICAgaWYgKHMtPm1hcmtlcnMgIT0gUHlfTm9uZSkgewogICAgICAgICBpbnQgaGFzX2tleTsKQEAgLTE0MzgsNyArMTUxMCw3IEBACiAgICAgICAgIH0KICAgICB9CiAKLSAgICBpZiAoUHlMaXN0X0FwcGVuZChydmFsLCBvcGVuX2RpY3QpKQorICAgIGlmIChfUHlBY2N1X0FjY3VtdWxhdGUoYWNjLCBvcGVuX2RpY3QpKQogICAgICAgICBnb3RvIGJhaWw7CiAKICAgICBpZiAocy0+aW5kZW50ICE9IFB5X05vbmUpIHsKQEAgLTE1MjUsNyArMTU5Nyw3IEBACiAgICAgICAgIH0KIAogICAgICAgICBpZiAoaWR4KSB7Ci0gICAgICAgICAgICBpZiAoUHlMaXN0X0FwcGVuZChydmFsLCBzLT5pdGVtX3NlcGFyYXRvcikpCisgICAgICAgICAgICBpZiAoX1B5QWNjdV9BY2N1bXVsYXRlKGFjYywgcy0+aXRlbV9zZXBhcmF0b3IpKQogICAgICAgICAgICAgICAgIGdvdG8gYmFpbDsKICAgICAgICAgfQogCkBAIC0xNTMzLDE2ICsxNjA1LDE2IEBACiAgICAgICAgIFB5X0NMRUFSKGtzdHIpOwogICAgICAgICBpZiAoZW5jb2RlZCA9PSBOVUxMKQogICAgICAgICAgICAgZ290byBiYWlsOwotICAgICAgICBpZiAoUHlMaXN0X0FwcGVuZChydmFsLCBlbmNvZGVkKSkgeworICAgICAgICBpZiAoX1B5QWNjdV9BY2N1bXVsYXRlKGFjYywgZW5jb2RlZCkpIHsKICAgICAgICAgICAgIFB5X0RFQ1JFRihlbmNvZGVkKTsKICAgICAgICAgICAgIGdvdG8gYmFpbDsKICAgICAgICAgfQogICAgICAgICBQeV9ERUNSRUYoZW5jb2RlZCk7Ci0gICAgICAgIGlmIChQeUxpc3RfQXBwZW5kKHJ2YWwsIHMtPmtleV9zZXBhcmF0b3IpKQorICAgICAgICBpZiAoX1B5QWNjdV9BY2N1bXVsYXRlKGFjYywgcy0+a2V5X3NlcGFyYXRvcikpCiAgICAgICAgICAgICBnb3RvIGJhaWw7CiAKICAgICAgICAgdmFsdWUgPSBQeVR1cGxlX0dFVF9JVEVNKGl0ZW0sIDEpOwotICAgICAgICBpZiAoZW5jb2Rlcl9saXN0ZW5jb2RlX29iaihzLCBydmFsLCB2YWx1ZSwgaW5kZW50X2xldmVsKSkKKyAgICAgICAgaWYgKGVuY29kZXJfbGlzdGVuY29kZV9vYmoocywgYWNjLCB2YWx1ZSwgaW5kZW50X2xldmVsKSkKICAgICAgICAgICAgIGdvdG8gYmFpbDsKICAgICAgICAgaWR4ICs9IDE7CiAgICAgICAgIFB5X0RFQ1JFRihpdGVtKTsKQEAgLTE1NTYsMTQgKzE2MjgsMTMgQEAKICAgICAgICAgICAgIGdvdG8gYmFpbDsKICAgICAgICAgUHlfQ0xFQVIoaWRlbnQpOwogICAgIH0KKyAgICAvKiBUT0RPIERPRVMgTk9UIFJVTjsgZGVhZCBjb2RlCiAgICAgaWYgKHMtPmluZGVudCAhPSBQeV9Ob25lKSB7Ci0gICAgICAgIC8qIFRPRE86IERPRVMgTk9UIFJVTiAqLwogICAgICAgICBpbmRlbnRfbGV2ZWwgLT0gMTsKLSAgICAgICAgLyoKLSAgICAgICAgICAgIHlpZWxkICdcbicgKyAoJyAnICogKF9pbmRlbnQgKiBfY3VycmVudF9pbmRlbnRfbGV2ZWwpKQotICAgICAgICAqLwotICAgIH0KLSAgICBpZiAoUHlMaXN0X0FwcGVuZChydmFsLCBjbG9zZV9kaWN0KSkKKworICAgICAgICB5aWVsZCAnXG4nICsgKCcgJyAqIChfaW5kZW50ICogX2N1cnJlbnRfaW5kZW50X2xldmVsKSkKKyAgICB9Ki8KKyAgICBpZiAoX1B5QWNjdV9BY2N1bXVsYXRlKGFjYywgY2xvc2VfZGljdCkpCiAgICAgICAgIGdvdG8gYmFpbDsKICAgICByZXR1cm4gMDsKIApAQCAtMTU3Nyw5ICsxNjQ4LDEwIEBACiAKIAogc3RhdGljIGludAotZW5jb2Rlcl9saXN0ZW5jb2RlX2xpc3QoUHlFbmNvZGVyT2JqZWN0ICpzLCBQeU9iamVjdCAqcnZhbCwgUHlPYmplY3QgKnNlcSwgUHlfc3NpemVfdCBpbmRlbnRfbGV2ZWwpCitlbmNvZGVyX2xpc3RlbmNvZGVfbGlzdChQeUVuY29kZXJPYmplY3QgKnMsIF9QeUFjY3UgKmFjYywKKyAgICAgICAgICAgICAgICAgICAgICAgIFB5T2JqZWN0ICpzZXEsIFB5X3NzaXplX3QgaW5kZW50X2xldmVsKQogewotICAgIC8qIEVuY29kZSBQeXRob24gbGlzdCBzZXEgdG8gYSBKU09OIHRlcm0sIHJ2YWwgaXMgYSBQeUxpc3QgKi8KKyAgICAvKiBFbmNvZGUgUHl0aG9uIGxpc3Qgc2VxIHRvIGEgSlNPTiB0ZXJtICovCiAgICAgc3RhdGljIFB5T2JqZWN0ICpvcGVuX2FycmF5ID0gTlVMTDsKICAgICBzdGF0aWMgUHlPYmplY3QgKmNsb3NlX2FycmF5ID0gTlVMTDsKICAgICBzdGF0aWMgUHlPYmplY3QgKmVtcHR5X2FycmF5ID0gTlVMTDsKQEAgLTE2MDMsNyArMTY3NSw3IEBACiAgICAgbnVtX2l0ZW1zID0gUHlTZXF1ZW5jZV9GYXN0X0dFVF9TSVpFKHNfZmFzdCk7CiAgICAgaWYgKG51bV9pdGVtcyA9PSAwKSB7CiAgICAgICAgIFB5X0RFQ1JFRihzX2Zhc3QpOwotICAgICAgICByZXR1cm4gUHlMaXN0X0FwcGVuZChydmFsLCBlbXB0eV9hcnJheSk7CisgICAgICAgIHJldHVybiBfUHlBY2N1X0FjY3VtdWxhdGUoYWNjLCBlbXB0eV9hcnJheSk7CiAgICAgfQogCiAgICAgaWYgKHMtPm1hcmtlcnMgIT0gUHlfTm9uZSkgewpAQCAtMTYyMyw3ICsxNjk1LDcgQEAKICAgICB9CiAKICAgICBzZXFfaXRlbXMgPSBQeVNlcXVlbmNlX0Zhc3RfSVRFTVMoc19mYXN0KTsKLSAgICBpZiAoUHlMaXN0X0FwcGVuZChydmFsLCBvcGVuX2FycmF5KSkKKyAgICBpZiAoX1B5QWNjdV9BY2N1bXVsYXRlKGFjYywgb3Blbl9hcnJheSkpCiAgICAgICAgIGdvdG8gYmFpbDsKICAgICBpZiAocy0+aW5kZW50ICE9IFB5X05vbmUpIHsKICAgICAgICAgLyogVE9ETzogRE9FUyBOT1QgUlVOICovCkBAIC0xNjM3LDEwICsxNzA5LDEwIEBACiAgICAgZm9yIChpID0gMDsgaSA8IG51bV9pdGVtczsgaSsrKSB7CiAgICAgICAgIFB5T2JqZWN0ICpvYmogPSBzZXFfaXRlbXNbaV07CiAgICAgICAgIGlmIChpKSB7Ci0gICAgICAgICAgICBpZiAoUHlMaXN0X0FwcGVuZChydmFsLCBzLT5pdGVtX3NlcGFyYXRvcikpCisgICAgICAgICAgICBpZiAoX1B5QWNjdV9BY2N1bXVsYXRlKGFjYywgcy0+aXRlbV9zZXBhcmF0b3IpKQogICAgICAgICAgICAgICAgIGdvdG8gYmFpbDsKICAgICAgICAgfQotICAgICAgICBpZiAoZW5jb2Rlcl9saXN0ZW5jb2RlX29iaihzLCBydmFsLCBvYmosIGluZGVudF9sZXZlbCkpCisgICAgICAgIGlmIChlbmNvZGVyX2xpc3RlbmNvZGVfb2JqKHMsIGFjYywgb2JqLCBpbmRlbnRfbGV2ZWwpKQogICAgICAgICAgICAgZ290byBiYWlsOwogICAgIH0KICAgICBpZiAoaWRlbnQgIT0gTlVMTCkgewpAQCAtMTY0OCwxNCArMTcyMCwxNCBAQAogICAgICAgICAgICAgZ290byBiYWlsOwogICAgICAgICBQeV9DTEVBUihpZGVudCk7CiAgICAgfQorCisgICAgLyogVE9ETzogRE9FUyBOT1QgUlVOCiAgICAgaWYgKHMtPmluZGVudCAhPSBQeV9Ob25lKSB7Ci0gICAgICAgIC8qIFRPRE86IERPRVMgTk9UIFJVTiAqLwogICAgICAgICBpbmRlbnRfbGV2ZWwgLT0gMTsKLSAgICAgICAgLyoKLSAgICAgICAgICAgIHlpZWxkICdcbicgKyAoJyAnICogKF9pbmRlbnQgKiBfY3VycmVudF9pbmRlbnRfbGV2ZWwpKQotICAgICAgICAqLwotICAgIH0KLSAgICBpZiAoUHlMaXN0X0FwcGVuZChydmFsLCBjbG9zZV9hcnJheSkpCisKKyAgICAgICAgeWllbGQgJ1xuJyArICgnICcgKiAoX2luZGVudCAqIF9jdXJyZW50X2luZGVudF9sZXZlbCkpCisgICAgfSovCisgICAgaWYgKF9QeUFjY3VfQWNjdW11bGF0ZShhY2MsIGNsb3NlX2FycmF5KSkKICAgICAgICAgZ290byBiYWlsOwogICAgIFB5X0RFQ1JFRihzX2Zhc3QpOwogICAgIHJldHVybiAwOwpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9fbG9jYWxlbW9kdWxlLmMgYi9Nb2R1bGVzL19sb2NhbGVtb2R1bGUuYwppbmRleCAxMDAxZGQyLi4yMGM1OWE0IDEwMDY0NAotLS0gYS9Nb2R1bGVzL19sb2NhbGVtb2R1bGUuYworKysgYi9Nb2R1bGVzL19sb2NhbGVtb2R1bGUuYwpAQCAtNDIsNDMgKzQyLDYgQEAKIAogc3RhdGljIFB5T2JqZWN0ICpFcnJvcjsKIAotLyogQ29udmVydCBhIGNoYXIqIHRvIGEgVW5pY29kZSBvYmplY3QgYWNjb3JkaW5nIHRvIHRoZSBjdXJyZW50IGxvY2FsZSAqLwotc3RhdGljIFB5T2JqZWN0Kgotc3RyMnVuaShjb25zdCBjaGFyKiBzKQotewotI2lmZGVmIEhBVkVfQlJPS0VOX01CU1RPV0NTCi0gICAgc2l6ZV90IG5lZWRlZCA9IHN0cmxlbihzKTsKLSNlbHNlCi0gICAgc2l6ZV90IG5lZWRlZCA9IG1ic3Rvd2NzKE5VTEwsIHMsIDApOwotI2VuZGlmCi0gICAgc2l6ZV90IHJlczE7Ci0gICAgd2NoYXJfdCBzbWFsbGJ1ZlszMF07Ci0gICAgd2NoYXJfdCAqZGVzdDsKLSAgICBQeU9iamVjdCAqcmVzMjsKLSAgICBpZiAobmVlZGVkID09IChzaXplX3QpLTEpIHsKLSAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsICJDYW5ub3QgY29udmVydCBieXRlIHRvIHN0cmluZyIpOwotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICB9Ci0gICAgaWYgKG5lZWRlZCpzaXplb2Yod2NoYXJfdCkgPCBzaXplb2Yoc21hbGxidWYpKQotICAgICAgICBkZXN0ID0gc21hbGxidWY7Ci0gICAgZWxzZSB7Ci0gICAgICAgIGRlc3QgPSBQeU1lbV9NYWxsb2MoKG5lZWRlZCsxKSpzaXplb2Yod2NoYXJfdCkpOwotICAgICAgICBpZiAoIWRlc3QpCi0gICAgICAgICAgICByZXR1cm4gUHlFcnJfTm9NZW1vcnkoKTsKLSAgICB9Ci0gICAgLyogVGhpcyBzaG91bGRuJ3QgZmFpbCBub3cgKi8KLSAgICByZXMxID0gbWJzdG93Y3MoZGVzdCwgcywgbmVlZGVkKzEpOwotI2lmZGVmIEhBVkVfQlJPS0VOX01CU1RPV0NTCi0gICAgYXNzZXJ0KHJlczEgIT0gKHNpemVfdCktMSk7Ci0jZWxzZQotICAgIGFzc2VydChyZXMxID09IG5lZWRlZCk7Ci0jZW5kaWYKLSAgICByZXMyID0gUHlVbmljb2RlX0Zyb21XaWRlQ2hhcihkZXN0LCByZXMxKTsKLSAgICBpZiAoZGVzdCAhPSBzbWFsbGJ1ZikKLSAgICAgICAgUHlNZW1fRnJlZShkZXN0KTsKLSAgICByZXR1cm4gcmVzMjsKLX0KLQogLyogc3VwcG9ydCBmdW5jdGlvbnMgZm9yIGZvcm1hdHRpbmcgZmxvYXRpbmcgcG9pbnQgbnVtYmVycyAqLwogCiBQeURvY19TVFJWQVIoc2V0bG9jYWxlX19kb2NfXywKQEAgLTE0OSw3ICsxMTIsNyBAQAogICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKEVycm9yLCAidW5zdXBwb3J0ZWQgbG9jYWxlIHNldHRpbmciKTsKICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICB9Ci0gICAgICAgIHJlc3VsdF9vYmplY3QgPSBzdHIydW5pKHJlc3VsdCk7CisgICAgICAgIHJlc3VsdF9vYmplY3QgPSBQeVVuaWNvZGVfRGVjb2RlTG9jYWxlKHJlc3VsdCwgTlVMTCk7CiAgICAgICAgIGlmICghcmVzdWx0X29iamVjdCkKICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0gZWxzZSB7CkBAIC0xNTksNyArMTIyLDcgQEAKICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhFcnJvciwgImxvY2FsZSBxdWVyeSBmYWlsZWQiKTsKICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICB9Ci0gICAgICAgIHJlc3VsdF9vYmplY3QgPSBzdHIydW5pKHJlc3VsdCk7CisgICAgICAgIHJlc3VsdF9vYmplY3QgPSBQeVVuaWNvZGVfRGVjb2RlTG9jYWxlKHJlc3VsdCwgTlVMTCk7CiAgICAgfQogICAgIHJldHVybiByZXN1bHRfb2JqZWN0OwogfQpAQCAtMTg1LDcgKzE0OCw3IEBACiAgICAgICAgaW52b2x2ZWQgaGVyZWluICovCiAKICNkZWZpbmUgUkVTVUxUX1NUUklORyhzKVwKLSAgICB4ID0gc3RyMnVuaShsLT5zKTsgICBcCisgICAgeCA9IFB5VW5pY29kZV9EZWNvZGVMb2NhbGUobC0+cywgTlVMTCk7ICAgXAogICAgIGlmICgheCkgZ290byBmYWlsZWQ7XAogICAgIFB5RGljdF9TZXRJdGVtU3RyaW5nKHJlc3VsdCwgI3MsIHgpO1wKICAgICBQeV9YREVDUkVGKHgpCkBAIC0yNzEsMzcgKzIzNCwyOCBAQAogc3RhdGljIFB5T2JqZWN0KgogUHlMb2NhbGVfc3RyeGZybShQeU9iamVjdCogc2VsZiwgUHlPYmplY3QqIGFyZ3MpCiB7Ci0gICAgUHlfVU5JQ09ERSAqczA7Ci0gICAgUHlfc3NpemVfdCBuMDsKLSAgICB3Y2hhcl90ICpzLCAqYnVmID0gTlVMTDsKLSAgICBzaXplX3QgbjEsIG4yOworICAgIFB5T2JqZWN0ICpzdHI7CisgICAgUHlfc3NpemVfdCBuMTsKKyAgICB3Y2hhcl90ICpzID0gTlVMTCwgKmJ1ZiA9IE5VTEw7CisgICAgc2l6ZV90IG4yOwogICAgIFB5T2JqZWN0ICpyZXN1bHQgPSBOVUxMOwotI2lmIFB5X1VOSUNPREVfU0laRSAhPSBTSVpFT0ZfV0NIQVJfVAotICAgIFB5X3NzaXplX3QgaTsKLSNlbmRpZgogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJ1IzpzdHJ4ZnJtIiwgJnMwLCAmbjApKQorICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiVTpzdHJ4ZnJtIiwgJnN0cikpCiAgICAgICAgIHJldHVybiBOVUxMOwogCi0jaWYgUHlfVU5JQ09ERV9TSVpFID09IFNJWkVPRl9XQ0hBUl9UCi0gICAgcyA9ICh3Y2hhcl90ICopIHMwOwotI2Vsc2UKLSAgICBzID0gUHlNZW1fTWFsbG9jKChuMCsxKSpzaXplb2Yod2NoYXJfdCkpOwotICAgIGlmICghcykKLSAgICAgICAgcmV0dXJuIFB5RXJyX05vTWVtb3J5KCk7Ci0gICAgZm9yIChpPTA7IGk8PW4wOyBpKyspCi0gICAgICAgIHNbaV0gPSBzMFtpXTsKLSNlbmRpZgorICAgIHMgPSBQeVVuaWNvZGVfQXNXaWRlQ2hhclN0cmluZyhzdHIsICZuMSk7CisgICAgaWYgKHMgPT0gTlVMTCkKKyAgICAgICAgZ290byBleGl0OwogCiAgICAgLyogYXNzdW1lIG5vIGNoYW5nZSBpbiBzaXplLCBmaXJzdCAqLwotICAgIG4xID0gd2NzbGVuKHMpICsgMTsKLSAgICBidWYgPSBQeU1lbV9NYWxsb2MobjEqc2l6ZW9mKHdjaGFyX3QpKTsKKyAgICBuMSA9IG4xICsgMTsKKyAgICBidWYgPSBQeU1lbV9NYWxsb2MobjEgKiBzaXplb2Yod2NoYXJfdCkpOwogICAgIGlmICghYnVmKSB7CiAgICAgICAgIFB5RXJyX05vTWVtb3J5KCk7CiAgICAgICAgIGdvdG8gZXhpdDsKICAgICB9CiAgICAgbjIgPSB3Y3N4ZnJtKGJ1ZiwgcywgbjEpOwotICAgIGlmIChuMiA+PSBuMSkgeworICAgIGlmIChuMiA+PSAoc2l6ZV90KW4xKSB7CiAgICAgICAgIC8qIG1vcmUgc3BhY2UgbmVlZGVkICovCiAgICAgICAgIGJ1ZiA9IFB5TWVtX1JlYWxsb2MoYnVmLCAobjIrMSkqc2l6ZW9mKHdjaGFyX3QpKTsKICAgICAgICAgaWYgKCFidWYpIHsKQEAgLTMxMSwxMSArMjY1LDExIEBACiAgICAgICAgIG4yID0gd2NzeGZybShidWYsIHMsIG4yKzEpOwogICAgIH0KICAgICByZXN1bHQgPSBQeVVuaWNvZGVfRnJvbVdpZGVDaGFyKGJ1ZiwgbjIpOwotIGV4aXQ6Ci0gICAgaWYgKGJ1ZikgUHlNZW1fRnJlZShidWYpOwotI2lmIFB5X1VOSUNPREVfU0laRSAhPSBTSVpFT0ZfV0NIQVJfVAotICAgIFB5TWVtX0ZyZWUocyk7Ci0jZW5kaWYKK2V4aXQ6CisgICAgaWYgKGJ1ZikKKyAgICAgICAgUHlNZW1fRnJlZShidWYpOworICAgIGlmIChzKQorICAgICAgICBQeU1lbV9GcmVlKHMpOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAjZW5kaWYKQEAgLTQ4NSw3ICs0MzksNyBAQAogICAgICAgICAgICAgICAgaW5zdGVhZCBvZiBhbiBlbXB0eSBzdHJpbmcgZm9yIG5sX2xhbmdpbmZvKEVSQSkuICAqLwogICAgICAgICAgICAgY29uc3QgY2hhciAqcmVzdWx0ID0gbmxfbGFuZ2luZm8oaXRlbSk7CiAgICAgICAgICAgICByZXN1bHQgPSByZXN1bHQgIT0gTlVMTCA/IHJlc3VsdCA6ICIiOwotICAgICAgICAgICAgcmV0dXJuIHN0cjJ1bmkocmVzdWx0KTsKKyAgICAgICAgICAgIHJldHVybiBQeVVuaWNvZGVfRGVjb2RlTG9jYWxlKHJlc3VsdCwgTlVMTCk7CiAgICAgICAgIH0KICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwgInVuc3VwcG9ydGVkIGxhbmdpbmZvIGNvbnN0YW50Iik7CiAgICAgcmV0dXJuIE5VTEw7CkBAIC01MDQsNyArNDU4LDcgQEAKICAgICBjaGFyICppbjsKICAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgInMiLCAmaW4pKQogICAgICAgICByZXR1cm4gMDsKLSAgICByZXR1cm4gc3RyMnVuaShnZXR0ZXh0KGluKSk7CisgICAgcmV0dXJuIFB5VW5pY29kZV9EZWNvZGVMb2NhbGUoZ2V0dGV4dChpbiksIE5VTEwpOwogfQogCiBQeURvY19TVFJWQVIoZGdldHRleHRfX2RvY19fLApAQCAtNTE3LDcgKzQ3MSw3IEBACiAgICAgY2hhciAqZG9tYWluLCAqaW47CiAgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJ6cyIsICZkb21haW4sICZpbikpCiAgICAgICAgIHJldHVybiAwOwotICAgIHJldHVybiBzdHIydW5pKGRnZXR0ZXh0KGRvbWFpbiwgaW4pKTsKKyAgICByZXR1cm4gUHlVbmljb2RlX0RlY29kZUxvY2FsZShkZ2V0dGV4dChkb21haW4sIGluKSwgTlVMTCk7CiB9CiAKIFB5RG9jX1NUUlZBUihkY2dldHRleHRfX2RvY19fLApAQCAtNTMxLDcgKzQ4NSw3IEBACiAgICAgaW50IGNhdGVnb3J5OwogICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAienNpIiwgJmRvbWFpbiwgJm1zZ2lkLCAmY2F0ZWdvcnkpKQogICAgICAgICByZXR1cm4gMDsKLSAgICByZXR1cm4gc3RyMnVuaShkY2dldHRleHQoZG9tYWluLG1zZ2lkLGNhdGVnb3J5KSk7CisgICAgcmV0dXJuIFB5VW5pY29kZV9EZWNvZGVMb2NhbGUoZGNnZXR0ZXh0KGRvbWFpbixtc2dpZCxjYXRlZ29yeSksIE5VTEwpOwogfQogCiBQeURvY19TVFJWQVIodGV4dGRvbWFpbl9fZG9jX18sCkBAIC01NDksNyArNTAzLDcgQEAKICAgICAgICAgUHlFcnJfU2V0RnJvbUVycm5vKFB5RXhjX09TRXJyb3IpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9Ci0gICAgcmV0dXJuIHN0cjJ1bmkoZG9tYWluKTsKKyAgICByZXR1cm4gUHlVbmljb2RlX0RlY29kZUxvY2FsZShkb21haW4sIE5VTEwpOwogfQogCiBQeURvY19TVFJWQVIoYmluZHRleHRkb21haW5fX2RvY19fLApAQCAtNTgxLDcgKzUzNSw3IEBACiAgICAgICAgIFB5RXJyX1NldEZyb21FcnJubyhQeUV4Y19PU0Vycm9yKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQotICAgIHJlc3VsdCA9IHN0cjJ1bmkoY3VycmVudF9kaXJuYW1lKTsKKyAgICByZXN1bHQgPSBQeVVuaWNvZGVfRGVjb2RlTG9jYWxlKGN1cnJlbnRfZGlybmFtZSwgTlVMTCk7CiAgICAgUHlfWERFQ1JFRihkaXJuYW1lX2J5dGVzKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtNTk5LDcgKzU1Myw3IEBACiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIGNvZGVzZXQgPSBiaW5kX3RleHRkb21haW5fY29kZXNldChkb21haW4sIGNvZGVzZXQpOwogICAgIGlmIChjb2Rlc2V0KQotICAgICAgICByZXR1cm4gc3RyMnVuaShjb2Rlc2V0KTsKKyAgICAgICAgcmV0dXJuIFB5VW5pY29kZV9EZWNvZGVMb2NhbGUoY29kZXNldCwgTlVMTCk7CiAgICAgUHlfUkVUVVJOX05PTkU7CiB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL01vZHVsZXMvX2xzcHJvZi5jIGIvTW9kdWxlcy9fbHNwcm9mLmMKaW5kZXggY2M0MTJiZi4uYjBhMjI2YiAxMDA2NDQKLS0tIGEvTW9kdWxlcy9fbHNwcm9mLmMKKysrIGIvTW9kdWxlcy9fbHNwcm9mLmMKQEAgLTE3NiwzNiArMTc2LDI5IEBACiAgICAgaWYgKGZuLT5tX3NlbGYgPT0gTlVMTCkgewogICAgICAgICAvKiBidWlsdC1pbiBmdW5jdGlvbjogbG9vayB1cCB0aGUgbW9kdWxlIG5hbWUgKi8KICAgICAgICAgUHlPYmplY3QgKm1vZCA9IGZuLT5tX21vZHVsZTsKLSAgICAgICAgY29uc3QgY2hhciAqbW9kbmFtZTsKLSAgICAgICAgaWYgKG1vZCAmJiBQeVVuaWNvZGVfQ2hlY2sobW9kKSkgewotICAgICAgICAgICAgLyogWFhYOiBUaGUgZm9sbG93aW5nIHdpbGwgdHJ1bmNhdGUgbW9kdWxlIG5hbWVzIHdpdGggZW1iZWRkZWQKLSAgICAgICAgICAgICAqIG51bGwtY2hhcmFjdGVycy4gIEl0IGlzIHVubGlrZWx5IHRoYXQgdGhpcyBjYW4gaGFwcGVuIGluCi0gICAgICAgICAgICAgKiBwcmFjdGljZSBhbmQgdGhlIGNvbmNlcXVlbmNlcyBhcmUgbm90IHNlcmlvdXMgZW5vdWdoIHRvCi0gICAgICAgICAgICAgKiBpbnRyb2R1Y2UgZXh0cmEgY2hlY2tzIGhlcmUuCi0gICAgICAgICAgICAgKi8KLSAgICAgICAgICAgIG1vZG5hbWUgPSBfUHlVbmljb2RlX0FzU3RyaW5nKG1vZCk7Ci0gICAgICAgICAgICBpZiAobW9kbmFtZSA9PSBOVUxMKSB7Ci0gICAgICAgICAgICAgICAgbW9kbmFtZSA9ICI8ZW5jb2RpbmcgZXJyb3I+IjsKLSAgICAgICAgICAgICAgICBQeUVycl9DbGVhcigpOworICAgICAgICBQeU9iamVjdCAqbW9kbmFtZSA9IE5VTEw7CisgICAgICAgIGlmIChtb2QgIT0gTlVMTCkgeworICAgICAgICAgICAgaWYgKFB5VW5pY29kZV9DaGVjayhtb2QpKSB7CisgICAgICAgICAgICAgICAgbW9kbmFtZSA9IG1vZDsKKyAgICAgICAgICAgICAgICBQeV9JTkNSRUYobW9kbmFtZSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBlbHNlIGlmIChQeU1vZHVsZV9DaGVjayhtb2QpKSB7CisgICAgICAgICAgICAgICAgbW9kbmFtZSA9IFB5TW9kdWxlX0dldE5hbWVPYmplY3QobW9kKTsKKyAgICAgICAgICAgICAgICBpZiAobW9kbmFtZSA9PSBOVUxMKQorICAgICAgICAgICAgICAgICAgICBQeUVycl9DbGVhcigpOwogICAgICAgICAgICAgfQogICAgICAgICB9Ci0gICAgICAgIGVsc2UgaWYgKG1vZCAmJiBQeU1vZHVsZV9DaGVjayhtb2QpKSB7Ci0gICAgICAgICAgICBtb2RuYW1lID0gUHlNb2R1bGVfR2V0TmFtZShtb2QpOwotICAgICAgICAgICAgaWYgKG1vZG5hbWUgPT0gTlVMTCkgewotICAgICAgICAgICAgICAgIFB5RXJyX0NsZWFyKCk7Ci0gICAgICAgICAgICAgICAgbW9kbmFtZSA9ICJidWlsdGlucyI7CisgICAgICAgIGlmIChtb2RuYW1lICE9IE5VTEwpIHsKKyAgICAgICAgICAgIGlmIChQeVVuaWNvZGVfQ29tcGFyZVdpdGhBU0NJSVN0cmluZyhtb2RuYW1lLCAiYnVpbHRpbnMiKSAhPSAwKSB7CisgICAgICAgICAgICAgICAgUHlPYmplY3QgKnJlc3VsdDsKKyAgICAgICAgICAgICAgICByZXN1bHQgPSBQeVVuaWNvZGVfRnJvbUZvcm1hdCgiPCVVLiVzPiIsIG1vZG5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm4tPm1fbWwtPm1sX25hbWUpOworICAgICAgICAgICAgICAgIFB5X0RFQ1JFRihtb2RuYW1lKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgICAgICAgICAgfQorICAgICAgICAgICAgUHlfREVDUkVGKG1vZG5hbWUpOwogICAgICAgICB9Ci0gICAgICAgIGVsc2UgewotICAgICAgICAgICAgbW9kbmFtZSA9ICJidWlsdGlucyI7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKHN0cmNtcChtb2RuYW1lLCAiYnVpbHRpbnMiKSAhPSAwKQotICAgICAgICAgICAgcmV0dXJuIFB5VW5pY29kZV9Gcm9tRm9ybWF0KCI8JXMuJXM+IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RuYW1lLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZuLT5tX21sLT5tbF9uYW1lKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgcmV0dXJuIFB5VW5pY29kZV9Gcm9tRm9ybWF0KCI8JXM+IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbi0+bV9tbC0+bWxfbmFtZSk7CisgICAgICAgIHJldHVybiBQeVVuaWNvZGVfRnJvbUZvcm1hdCgiPCVzPiIsIGZuLT5tX21sLT5tbF9uYW1lKTsKICAgICB9CiAgICAgZWxzZSB7CiAgICAgICAgIC8qIGJ1aWx0LWluIG1ldGhvZDogdHJ5IHRvIHJldHVybgpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9fbHptYW1vZHVsZS5jIGIvTW9kdWxlcy9fbHptYW1vZHVsZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE2OTM3N2MKLS0tIC9kZXYvbnVsbAorKysgYi9Nb2R1bGVzL19sem1hbW9kdWxlLmMKQEAgLTAsMCArMSwxMTExIEBACisvKiBfbHptYSAtIExvdy1sZXZlbCBQeXRob24gaW50ZXJmYWNlIHRvIGxpYmx6bWEuCisKKyAgIEluaXRpYWwgaW1wbGVtZW50YXRpb24gYnkgUGVyIMOYeXZpbmQgS2FybHNlbi4KKyAgIFJld3JpdHRlbiBieSBOYWRlZW0gVmF3ZGEuCisKKyovCisKKyNkZWZpbmUgUFlfU1NJWkVfVF9DTEVBTgorCisjaW5jbHVkZSAiUHl0aG9uLmgiCisjaW5jbHVkZSAic3RydWN0bWVtYmVyLmgiCisjaWZkZWYgV0lUSF9USFJFQUQKKyNpbmNsdWRlICJweXRocmVhZC5oIgorI2VuZGlmCisKKyNpbmNsdWRlIDxzdGRhcmcuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKworI2luY2x1ZGUgPGx6bWEuaD4KKworCisjaWZuZGVmIFBZX0xPTkdfTE9ORworI2Vycm9yICJUaGlzIG1vZHVsZSByZXF1aXJlcyBQWV9MT05HX0xPTkcgdG8gYmUgZGVmaW5lZCIKKyNlbmRpZgorCisKKyNpZmRlZiBXSVRIX1RIUkVBRAorI2RlZmluZSBBQ1FVSVJFX0xPQ0sob2JqKSBkbyB7IFwKKyAgICBpZiAoIVB5VGhyZWFkX2FjcXVpcmVfbG9jaygob2JqKS0+bG9jaywgMCkpIHsgXAorICAgICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTIFwKKyAgICAgICAgUHlUaHJlYWRfYWNxdWlyZV9sb2NrKChvYmopLT5sb2NrLCAxKTsgXAorICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUyBcCisgICAgfSB9IHdoaWxlICgwKQorI2RlZmluZSBSRUxFQVNFX0xPQ0sob2JqKSBQeVRocmVhZF9yZWxlYXNlX2xvY2soKG9iaiktPmxvY2spCisjZWxzZQorI2RlZmluZSBBQ1FVSVJFX0xPQ0sob2JqKQorI2RlZmluZSBSRUxFQVNFX0xPQ0sob2JqKQorI2VuZGlmCisKKworLyogQ29udGFpbmVyIGZvcm1hdHM6ICovCitlbnVtIHsKKyAgICBGT1JNQVRfQVVUTywKKyAgICBGT1JNQVRfWFosCisgICAgRk9STUFUX0FMT05FLAorICAgIEZPUk1BVF9SQVcsCit9OworCisjZGVmaW5lIExaTUFfQ0hFQ0tfVU5LTk9XTiAoTFpNQV9DSEVDS19JRF9NQVggKyAxKQorCisKK3R5cGVkZWYgc3RydWN0IHsKKyAgICBQeU9iamVjdF9IRUFECisgICAgbHptYV9zdHJlYW0gbHpzOworICAgIGludCBmbHVzaGVkOworI2lmZGVmIFdJVEhfVEhSRUFECisgICAgUHlUaHJlYWRfdHlwZV9sb2NrIGxvY2s7CisjZW5kaWYKK30gQ29tcHJlc3NvcjsKKwordHlwZWRlZiBzdHJ1Y3QgeworICAgIFB5T2JqZWN0X0hFQUQKKyAgICBsem1hX3N0cmVhbSBsenM7CisgICAgaW50IGNoZWNrOworICAgIGNoYXIgZW9mOworICAgIFB5T2JqZWN0ICp1bnVzZWRfZGF0YTsKKyNpZmRlZiBXSVRIX1RIUkVBRAorICAgIFB5VGhyZWFkX3R5cGVfbG9jayBsb2NrOworI2VuZGlmCit9IERlY29tcHJlc3NvcjsKKworLyogTFpNQUVycm9yIGNsYXNzIG9iamVjdC4gKi8KK3N0YXRpYyBQeU9iamVjdCAqRXJyb3I7CisKKy8qIEFuIGVtcHR5IHR1cGxlLCB1c2VkIGJ5IHRoZSBmaWx0ZXIgc3BlY2lmaWVyIHBhcnNpbmcgY29kZS4gKi8KK3N0YXRpYyBQeU9iamVjdCAqZW1wdHlfdHVwbGU7CisKKworLyogSGVscGVyIGZ1bmN0aW9ucy4gKi8KKworc3RhdGljIGludAorY2F0Y2hfbHptYV9lcnJvcihsem1hX3JldCBsenJldCkKK3sKKyAgICBzd2l0Y2ggKGx6cmV0KSB7CisgICAgICAgIGNhc2UgTFpNQV9PSzoKKyAgICAgICAgY2FzZSBMWk1BX0dFVF9DSEVDSzoKKyAgICAgICAgY2FzZSBMWk1BX05PX0NIRUNLOgorICAgICAgICBjYXNlIExaTUFfU1RSRUFNX0VORDoKKyAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICBjYXNlIExaTUFfVU5TVVBQT1JURURfQ0hFQ0s6CisgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoRXJyb3IsICJVbnN1cHBvcnRlZCBpbnRlZ3JpdHkgY2hlY2siKTsKKyAgICAgICAgICAgIHJldHVybiAxOworICAgICAgICBjYXNlIExaTUFfTUVNX0VSUk9SOgorICAgICAgICAgICAgUHlFcnJfTm9NZW1vcnkoKTsKKyAgICAgICAgICAgIHJldHVybiAxOworICAgICAgICBjYXNlIExaTUFfTUVNTElNSVRfRVJST1I6CisgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoRXJyb3IsICJNZW1vcnkgdXNhZ2UgbGltaXQgZXhjZWVkZWQiKTsKKyAgICAgICAgICAgIHJldHVybiAxOworICAgICAgICBjYXNlIExaTUFfRk9STUFUX0VSUk9SOgorICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKEVycm9yLCAiSW5wdXQgZm9ybWF0IG5vdCBzdXBwb3J0ZWQgYnkgZGVjb2RlciIpOworICAgICAgICAgICAgcmV0dXJuIDE7CisgICAgICAgIGNhc2UgTFpNQV9PUFRJT05TX0VSUk9SOgorICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKEVycm9yLCAiSW52YWxpZCBvciB1bnN1cHBvcnRlZCBvcHRpb25zIik7CisgICAgICAgICAgICByZXR1cm4gMTsKKyAgICAgICAgY2FzZSBMWk1BX0RBVEFfRVJST1I6CisgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoRXJyb3IsICJDb3JydXB0IGlucHV0IGRhdGEiKTsKKyAgICAgICAgICAgIHJldHVybiAxOworICAgICAgICBjYXNlIExaTUFfQlVGX0VSUk9SOgorICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKEVycm9yLCAiSW5zdWZmaWNpZW50IGJ1ZmZlciBzcGFjZSIpOworICAgICAgICAgICAgcmV0dXJuIDE7CisgICAgICAgIGNhc2UgTFpNQV9QUk9HX0VSUk9SOgorICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKEVycm9yLCAiSW50ZXJuYWwgZXJyb3IiKTsKKyAgICAgICAgICAgIHJldHVybiAxOworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgUHlFcnJfRm9ybWF0KEVycm9yLCAiVW5yZWNvZ25pemVkIGVycm9yIGZyb20gbGlibHptYTogJWQiLCBsenJldCk7CisgICAgICAgICAgICByZXR1cm4gMTsKKyAgICB9Cit9CisKKyNpZiBCVUZTSVogPCA4MTkyCisjZGVmaW5lIElOSVRJQUxfQlVGRkVSX1NJWkUgODE5MgorI2Vsc2UKKyNkZWZpbmUgSU5JVElBTF9CVUZGRVJfU0laRSBCVUZTSVoKKyNlbmRpZgorCitzdGF0aWMgaW50Citncm93X2J1ZmZlcihQeU9iamVjdCAqKmJ1ZikKK3sKKyAgICBzaXplX3Qgc2l6ZSA9IFB5Qnl0ZXNfR0VUX1NJWkUoKmJ1Zik7CisgICAgcmV0dXJuIF9QeUJ5dGVzX1Jlc2l6ZShidWYsIHNpemUgKyAoc2l6ZSA+PiAzKSArIDYpOworfQorCisKKy8qIFNvbWUgY3VzdG9tIHR5cGUgY29udmVyc2lvbnMgZm9yIFB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcygpLAorICAgc2luY2UgdGhlIHByZWRlZmluZWQgY29udmVyc2lvbiBzcGVjaWZpZXJzIGRvIG5vdCBzdWl0IG91ciBuZWVkczoKKworICAgICAgdWludDMyX3QgLSB0aGUgIkkiICh1bnNpZ25lZCBpbnQpIHNwZWNpZmllciBpcyB0aGUgcmlnaHQgc2l6ZSwgYnV0CisgICAgICBzaWxlbnRseSBpZ25vcmVzIG92ZXJmbG93cyBvbiBjb252ZXJzaW9uLgorCisgICAgICBsem1hX21vZGUgYW5kIGx6bWFfbWF0Y2hfZmluZGVyIC0gdGhlc2UgYXJlIGVudW1lcmF0aW9uIHR5cGVzLCBhbmQKKyAgICAgIHNvIHRoZSBzaXplIG9mIGVhY2ggaXMgaW1wbGVtZW50YXRpb24tZGVmaW5lZC4gV29yc2UsIGRpZmZlcmVudAorICAgICAgZW51bSB0eXBlcyBjYW4gYmUgb2YgZGlmZmVyZW50IHNpemVzIHdpdGhpbiB0aGUgc2FtZSBwcm9ncmFtLCBzbworICAgICAgdG8gYmUgc3RyaWN0bHkgY29ycmVjdCwgd2UgbmVlZCB0byBkZWZpbmUgdHdvIHNlcGFyYXRlIGNvbnZlcnRlcnMuCisgKi8KKworI2RlZmluZSBJTlRfVFlQRV9DT05WRVJURVJfRlVOQyhUWVBFLCBGVU5DTkFNRSkgXAorICAgIHN0YXRpYyBpbnQgXAorICAgIEZVTkNOQU1FKFB5T2JqZWN0ICpvYmosIHZvaWQgKnB0cikgXAorICAgIHsgXAorICAgICAgICB1bnNpZ25lZCBsb25nIHZhbDsgXAorICAgICAgICBcCisgICAgICAgIHZhbCA9IFB5TG9uZ19Bc1Vuc2lnbmVkTG9uZyhvYmopOyBcCisgICAgICAgIGlmIChQeUVycl9PY2N1cnJlZCgpKSBcCisgICAgICAgICAgICByZXR1cm4gMDsgXAorICAgICAgICBpZiAoKHVuc2lnbmVkIGxvbmcpKFRZUEUpdmFsICE9IHZhbCkgeyBcCisgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfT3ZlcmZsb3dFcnJvciwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICJWYWx1ZSB0b28gbGFyZ2UgZm9yICIgI1RZUEUgIiB0eXBlIik7IFwKKyAgICAgICAgICAgIHJldHVybiAwOyBcCisgICAgICAgIH0gXAorICAgICAgICAqKFRZUEUgKilwdHIgPSB2YWw7IFwKKyAgICAgICAgcmV0dXJuIDE7IFwKKyAgICB9CisKK0lOVF9UWVBFX0NPTlZFUlRFUl9GVU5DKHVpbnQzMl90LCB1aW50MzJfY29udmVydGVyKQorSU5UX1RZUEVfQ09OVkVSVEVSX0ZVTkMobHptYV9tb2RlLCBsem1hX21vZGVfY29udmVydGVyKQorSU5UX1RZUEVfQ09OVkVSVEVSX0ZVTkMobHptYV9tYXRjaF9maW5kZXIsIGx6bWFfbWZfY29udmVydGVyKQorCisjdW5kZWYgSU5UX1RZUEVfQ09OVkVSVEVSX0ZVTkMKKworCisvKiBGaWx0ZXIgc3BlY2lmaWVyIHBhcnNpbmcgZnVuY3Rpb25zLiAqLworCitzdGF0aWMgdm9pZCAqCitwYXJzZV9maWx0ZXJfc3BlY19sem1hKFB5T2JqZWN0ICpzcGVjKQoreworICAgIHN0YXRpYyBjaGFyICpvcHRuYW1lc1tdID0geyJpZCIsICJwcmVzZXQiLCAiZGljdF9zaXplIiwgImxjIiwgImxwIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGIiLCAibW9kZSIsICJuaWNlX2xlbiIsICJtZiIsICJkZXB0aCIsIE5VTEx9OworICAgIFB5T2JqZWN0ICppZDsKKyAgICBQeU9iamVjdCAqcHJlc2V0X29iajsKKyAgICB1aW50MzJfdCBwcmVzZXQgPSBMWk1BX1BSRVNFVF9ERUZBVUxUOworICAgIGx6bWFfb3B0aW9uc19sem1hICpvcHRpb25zOworCisgICAgLyogRmlyc3QsIGZpbGwgaW4gZGVmYXVsdCB2YWx1ZXMgZm9yIGFsbCB0aGUgb3B0aW9ucyB1c2luZyBhIHByZXNldC4KKyAgICAgICBUaGVuLCBvdmVycmlkZSB0aGUgZGVmYXVsdHMgd2l0aCBhbnkgdmFsdWVzIGdpdmVuIGJ5IHRoZSBjYWxsZXIuICovCisKKyAgICBwcmVzZXRfb2JqID0gUHlNYXBwaW5nX0dldEl0ZW1TdHJpbmcoc3BlYywgInByZXNldCIpOworICAgIGlmIChwcmVzZXRfb2JqID09IE5VTEwpIHsKKyAgICAgICAgaWYgKFB5RXJyX0V4Y2VwdGlvbk1hdGNoZXMoUHlFeGNfS2V5RXJyb3IpKQorICAgICAgICAgICAgUHlFcnJfQ2xlYXIoKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfSBlbHNlIHsKKyAgICAgICAgaW50IG9rID0gdWludDMyX2NvbnZlcnRlcihwcmVzZXRfb2JqLCAmcHJlc2V0KTsKKyAgICAgICAgUHlfREVDUkVGKHByZXNldF9vYmopOworICAgICAgICBpZiAoIW9rKQorICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorCisgICAgb3B0aW9ucyA9IChsem1hX29wdGlvbnNfbHptYSAqKVB5TWVtX01hbGxvYyhzaXplb2YgKm9wdGlvbnMpOworICAgIGlmIChvcHRpb25zID09IE5VTEwpCisgICAgICAgIHJldHVybiBQeUVycl9Ob01lbW9yeSgpOworICAgIG1lbXNldChvcHRpb25zLCAwLCBzaXplb2YgKm9wdGlvbnMpOworCisgICAgaWYgKGx6bWFfbHptYV9wcmVzZXQob3B0aW9ucywgcHJlc2V0KSkgeworICAgICAgICBQeU1lbV9GcmVlKG9wdGlvbnMpOworICAgICAgICBQeUVycl9Gb3JtYXQoRXJyb3IsICJsem1hX2x6bWFfcHJlc2V0KCkgZmFpbGVkIGZvciBwcmVzZXQgJSN4IiwgcHJlc2V0KTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoZW1wdHlfdHVwbGUsIHNwZWMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInxPT08mTyZPJk8mTyZPJk8mTyYiLCBvcHRuYW1lcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmaWQsICZwcmVzZXRfb2JqLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl9jb252ZXJ0ZXIsICZvcHRpb25zLT5kaWN0X3NpemUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX2NvbnZlcnRlciwgJm9wdGlvbnMtPmxjLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl9jb252ZXJ0ZXIsICZvcHRpb25zLT5scCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfY29udmVydGVyLCAmb3B0aW9ucy0+cGIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbHptYV9tb2RlX2NvbnZlcnRlciwgJm9wdGlvbnMtPm1vZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX2NvbnZlcnRlciwgJm9wdGlvbnMtPm5pY2VfbGVuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGx6bWFfbWZfY29udmVydGVyLCAmb3B0aW9ucy0+bWYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX2NvbnZlcnRlciwgJm9wdGlvbnMtPmRlcHRoKSkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICJJbnZhbGlkIGZpbHRlciBzcGVjaWZpZXIgZm9yIExaTUEgZmlsdGVyIik7CisgICAgICAgIFB5TWVtX0ZyZWUob3B0aW9ucyk7CisgICAgICAgIG9wdGlvbnMgPSBOVUxMOworICAgIH0KKyAgICByZXR1cm4gb3B0aW9uczsKK30KKworc3RhdGljIHZvaWQgKgorcGFyc2VfZmlsdGVyX3NwZWNfZGVsdGEoUHlPYmplY3QgKnNwZWMpCit7CisgICAgc3RhdGljIGNoYXIgKm9wdG5hbWVzW10gPSB7ImlkIiwgImRpc3QiLCBOVUxMfTsKKyAgICBQeU9iamVjdCAqaWQ7CisgICAgdWludDMyX3QgZGlzdCA9IDE7CisgICAgbHptYV9vcHRpb25zX2RlbHRhICpvcHRpb25zOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoZW1wdHlfdHVwbGUsIHNwZWMsICJ8T08mIiwgb3B0bmFtZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmlkLCB1aW50MzJfY29udmVydGVyLCAmZGlzdCkpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAiSW52YWxpZCBmaWx0ZXIgc3BlY2lmaWVyIGZvciBkZWx0YSBmaWx0ZXIiKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorCisgICAgb3B0aW9ucyA9IChsem1hX29wdGlvbnNfZGVsdGEgKilQeU1lbV9NYWxsb2Moc2l6ZW9mICpvcHRpb25zKTsKKyAgICBpZiAob3B0aW9ucyA9PSBOVUxMKQorICAgICAgICByZXR1cm4gUHlFcnJfTm9NZW1vcnkoKTsKKyAgICBtZW1zZXQob3B0aW9ucywgMCwgc2l6ZW9mICpvcHRpb25zKTsKKyAgICBvcHRpb25zLT50eXBlID0gTFpNQV9ERUxUQV9UWVBFX0JZVEU7CisgICAgb3B0aW9ucy0+ZGlzdCA9IGRpc3Q7CisgICAgcmV0dXJuIG9wdGlvbnM7Cit9CisKK3N0YXRpYyB2b2lkICoKK3BhcnNlX2ZpbHRlcl9zcGVjX2JjaihQeU9iamVjdCAqc3BlYykKK3sKKyAgICBzdGF0aWMgY2hhciAqb3B0bmFtZXNbXSA9IHsiaWQiLCAic3RhcnRfb2Zmc2V0IiwgTlVMTH07CisgICAgUHlPYmplY3QgKmlkOworICAgIHVpbnQzMl90IHN0YXJ0X29mZnNldCA9IDA7CisgICAgbHptYV9vcHRpb25zX2JjaiAqb3B0aW9uczsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGVtcHR5X3R1cGxlLCBzcGVjLCAifE9PJiIsIG9wdG5hbWVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZpZCwgdWludDMyX2NvbnZlcnRlciwgJnN0YXJ0X29mZnNldCkpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAiSW52YWxpZCBmaWx0ZXIgc3BlY2lmaWVyIGZvciBCQ0ogZmlsdGVyIik7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKworICAgIG9wdGlvbnMgPSAobHptYV9vcHRpb25zX2JjaiAqKVB5TWVtX01hbGxvYyhzaXplb2YgKm9wdGlvbnMpOworICAgIGlmIChvcHRpb25zID09IE5VTEwpCisgICAgICAgIHJldHVybiBQeUVycl9Ob01lbW9yeSgpOworICAgIG1lbXNldChvcHRpb25zLCAwLCBzaXplb2YgKm9wdGlvbnMpOworICAgIG9wdGlvbnMtPnN0YXJ0X29mZnNldCA9IHN0YXJ0X29mZnNldDsKKyAgICByZXR1cm4gb3B0aW9uczsKK30KKworc3RhdGljIHZvaWQgKgorcGFyc2VfZmlsdGVyX3NwZWMobHptYV9maWx0ZXIgKmYsIFB5T2JqZWN0ICpzcGVjKQoreworICAgIFB5T2JqZWN0ICppZF9vYmo7CisKKyAgICBpZiAoIVB5TWFwcGluZ19DaGVjayhzcGVjKSkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgIkZpbHRlciBzcGVjaWZpZXIgbXVzdCBiZSBhIGRpY3Qgb3IgZGljdC1saWtlIG9iamVjdCIpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisgICAgaWRfb2JqID0gUHlNYXBwaW5nX0dldEl0ZW1TdHJpbmcoc3BlYywgImlkIik7CisgICAgaWYgKGlkX29iaiA9PSBOVUxMKSB7CisgICAgICAgIGlmIChQeUVycl9FeGNlcHRpb25NYXRjaGVzKFB5RXhjX0tleUVycm9yKSkKKyAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICJGaWx0ZXIgc3BlY2lmaWVyIG11c3QgaGF2ZSBhbiBcImlkXCIgZW50cnkiKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorICAgIGYtPmlkID0gUHlMb25nX0FzVW5zaWduZWRMb25nTG9uZyhpZF9vYmopOworICAgIFB5X0RFQ1JFRihpZF9vYmopOworICAgIGlmIChQeUVycl9PY2N1cnJlZCgpKQorICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIHN3aXRjaCAoZi0+aWQpIHsKKyAgICAgICAgY2FzZSBMWk1BX0ZJTFRFUl9MWk1BMToKKyAgICAgICAgY2FzZSBMWk1BX0ZJTFRFUl9MWk1BMjoKKyAgICAgICAgICAgIGYtPm9wdGlvbnMgPSBwYXJzZV9maWx0ZXJfc3BlY19sem1hKHNwZWMpOworICAgICAgICAgICAgcmV0dXJuIGYtPm9wdGlvbnM7CisgICAgICAgIGNhc2UgTFpNQV9GSUxURVJfREVMVEE6CisgICAgICAgICAgICBmLT5vcHRpb25zID0gcGFyc2VfZmlsdGVyX3NwZWNfZGVsdGEoc3BlYyk7CisgICAgICAgICAgICByZXR1cm4gZi0+b3B0aW9uczsKKyAgICAgICAgY2FzZSBMWk1BX0ZJTFRFUl9YODY6CisgICAgICAgIGNhc2UgTFpNQV9GSUxURVJfUE9XRVJQQzoKKyAgICAgICAgY2FzZSBMWk1BX0ZJTFRFUl9JQTY0OgorICAgICAgICBjYXNlIExaTUFfRklMVEVSX0FSTToKKyAgICAgICAgY2FzZSBMWk1BX0ZJTFRFUl9BUk1USFVNQjoKKyAgICAgICAgY2FzZSBMWk1BX0ZJTFRFUl9TUEFSQzoKKyAgICAgICAgICAgIGYtPm9wdGlvbnMgPSBwYXJzZV9maWx0ZXJfc3BlY19iY2ooc3BlYyk7CisgICAgICAgICAgICByZXR1cm4gZi0+b3B0aW9uczsKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19WYWx1ZUVycm9yLCAiSW52YWxpZCBmaWx0ZXIgSUQ6ICVsbHUiLCBmLT5pZCk7CisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9Cit9CisKK3N0YXRpYyB2b2lkCitmcmVlX2ZpbHRlcl9jaGFpbihsem1hX2ZpbHRlciBmaWx0ZXJzW10pCit7CisgICAgaW50IGk7CisKKyAgICBmb3IgKGkgPSAwOyBmaWx0ZXJzW2ldLmlkICE9IExaTUFfVkxJX1VOS05PV047IGkrKykKKyAgICAgICAgUHlNZW1fRnJlZShmaWx0ZXJzW2ldLm9wdGlvbnMpOworfQorCitzdGF0aWMgaW50CitwYXJzZV9maWx0ZXJfY2hhaW5fc3BlYyhsem1hX2ZpbHRlciBmaWx0ZXJzW10sIFB5T2JqZWN0ICpmaWx0ZXJzcGVjcykKK3sKKyAgICBQeV9zc2l6ZV90IGksIG51bV9maWx0ZXJzOworCisgICAgbnVtX2ZpbHRlcnMgPSBQeVNlcXVlbmNlX0xlbmd0aChmaWx0ZXJzcGVjcyk7CisgICAgaWYgKG51bV9maWx0ZXJzID09IC0xKQorICAgICAgICByZXR1cm4gLTE7CisgICAgaWYgKG51bV9maWx0ZXJzID4gTFpNQV9GSUxURVJTX01BWCkgeworICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVmFsdWVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICJUb28gbWFueSBmaWx0ZXJzIC0gbGlibHptYSBzdXBwb3J0cyBhIG1heGltdW0gb2YgJWQiLAorICAgICAgICAgICAgICAgICAgICAgTFpNQV9GSUxURVJTX01BWCk7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisKKyAgICBmb3IgKGkgPSAwOyBpIDwgbnVtX2ZpbHRlcnM7IGkrKykgeworICAgICAgICBpbnQgb2sgPSAxOworICAgICAgICBQeU9iamVjdCAqc3BlYyA9IFB5U2VxdWVuY2VfR2V0SXRlbShmaWx0ZXJzcGVjcywgaSk7CisgICAgICAgIGlmIChzcGVjID09IE5VTEwgfHwgcGFyc2VfZmlsdGVyX3NwZWMoJmZpbHRlcnNbaV0sIHNwZWMpID09IE5VTEwpCisgICAgICAgICAgICBvayA9IDA7CisgICAgICAgIFB5X1hERUNSRUYoc3BlYyk7CisgICAgICAgIGlmICghb2spIHsKKyAgICAgICAgICAgIGZpbHRlcnNbaV0uaWQgPSBMWk1BX1ZMSV9VTktOT1dOOworICAgICAgICAgICAgZnJlZV9maWx0ZXJfY2hhaW4oZmlsdGVycyk7CisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIH0KKyAgICB9CisgICAgZmlsdGVyc1tudW1fZmlsdGVyc10uaWQgPSBMWk1BX1ZMSV9VTktOT1dOOworICAgIHJldHVybiAwOworfQorCisKKy8qIExaTUFDb21wcmVzc29yIGNsYXNzLiAqLworCitzdGF0aWMgUHlPYmplY3QgKgorY29tcHJlc3MoQ29tcHJlc3NvciAqYywgdWludDhfdCAqZGF0YSwgc2l6ZV90IGxlbiwgbHptYV9hY3Rpb24gYWN0aW9uKQoreworICAgIHNpemVfdCBkYXRhX3NpemUgPSAwOworICAgIFB5T2JqZWN0ICpyZXN1bHQ7CisKKyAgICByZXN1bHQgPSBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplKE5VTEwsIElOSVRJQUxfQlVGRkVSX1NJWkUpOworICAgIGlmIChyZXN1bHQgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgYy0+bHpzLm5leHRfaW4gPSBkYXRhOworICAgIGMtPmx6cy5hdmFpbF9pbiA9IGxlbjsKKyAgICBjLT5senMubmV4dF9vdXQgPSAodWludDhfdCAqKVB5Qnl0ZXNfQVNfU1RSSU5HKHJlc3VsdCk7CisgICAgYy0+bHpzLmF2YWlsX291dCA9IFB5Qnl0ZXNfR0VUX1NJWkUocmVzdWx0KTsKKyAgICBmb3IgKDs7KSB7CisgICAgICAgIGx6bWFfcmV0IGx6cmV0OworCisgICAgICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKKyAgICAgICAgbHpyZXQgPSBsem1hX2NvZGUoJmMtPmx6cywgYWN0aW9uKTsKKyAgICAgICAgZGF0YV9zaXplID0gKGNoYXIgKiljLT5senMubmV4dF9vdXQgLSBQeUJ5dGVzX0FTX1NUUklORyhyZXN1bHQpOworICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworICAgICAgICBpZiAoY2F0Y2hfbHptYV9lcnJvcihsenJldCkpCisgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICBpZiAoKGFjdGlvbiA9PSBMWk1BX1JVTiAmJiBjLT5senMuYXZhaWxfaW4gPT0gMCkgfHwKKyAgICAgICAgICAgIChhY3Rpb24gPT0gTFpNQV9GSU5JU0ggJiYgbHpyZXQgPT0gTFpNQV9TVFJFQU1fRU5EKSkgeworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0gZWxzZSBpZiAoYy0+bHpzLmF2YWlsX291dCA9PSAwKSB7CisgICAgICAgICAgICBpZiAoZ3Jvd19idWZmZXIoJnJlc3VsdCkgPT0gLTEpCisgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgICAgIGMtPmx6cy5uZXh0X291dCA9ICh1aW50OF90ICopUHlCeXRlc19BU19TVFJJTkcocmVzdWx0KSArIGRhdGFfc2l6ZTsKKyAgICAgICAgICAgIGMtPmx6cy5hdmFpbF9vdXQgPSBQeUJ5dGVzX0dFVF9TSVpFKHJlc3VsdCkgLSBkYXRhX3NpemU7CisgICAgICAgIH0KKyAgICB9CisgICAgaWYgKGRhdGFfc2l6ZSAhPSBQeUJ5dGVzX0dFVF9TSVpFKHJlc3VsdCkpCisgICAgICAgIGlmIChfUHlCeXRlc19SZXNpemUoJnJlc3VsdCwgZGF0YV9zaXplKSA9PSAtMSkKKyAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgcmV0dXJuIHJlc3VsdDsKKworZXJyb3I6CisgICAgUHlfWERFQ1JFRihyZXN1bHQpOworICAgIHJldHVybiBOVUxMOworfQorCitQeURvY19TVFJWQVIoQ29tcHJlc3Nvcl9jb21wcmVzc19kb2MsCisiY29tcHJlc3MoZGF0YSkgLT4gYnl0ZXNcbiIKKyJcbiIKKyJQcm92aWRlIGRhdGEgdG8gdGhlIGNvbXByZXNzb3Igb2JqZWN0LiBSZXR1cm5zIGEgY2h1bmsgb2ZcbiIKKyJjb21wcmVzc2VkIGRhdGEgaWYgcG9zc2libGUsIG9yIGJcIlwiIG90aGVyd2lzZS5cbiIKKyJcbiIKKyJXaGVuIHlvdSBoYXZlIGZpbmlzaGVkIHByb3ZpZGluZyBkYXRhIHRvIHRoZSBjb21wcmVzc29yLCBjYWxsIHRoZVxuIgorImZsdXNoKCkgbWV0aG9kIHRvIGZpbmlzaCB0aGUgY29udmVyc2lvbiBwcm9jZXNzLlxuIik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitDb21wcmVzc29yX2NvbXByZXNzKENvbXByZXNzb3IgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5X2J1ZmZlciBidWZmZXI7CisgICAgUHlPYmplY3QgKnJlc3VsdCA9IE5VTEw7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgInkqOmNvbXByZXNzIiwgJmJ1ZmZlcikpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgQUNRVUlSRV9MT0NLKHNlbGYpOworICAgIGlmIChzZWxmLT5mbHVzaGVkKQorICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwgIkNvbXByZXNzb3IgaGFzIGJlZW4gZmx1c2hlZCIpOworICAgIGVsc2UKKyAgICAgICAgcmVzdWx0ID0gY29tcHJlc3Moc2VsZiwgYnVmZmVyLmJ1ZiwgYnVmZmVyLmxlbiwgTFpNQV9SVU4pOworICAgIFJFTEVBU0VfTE9DSyhzZWxmKTsKKyAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZidWZmZXIpOworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK1B5RG9jX1NUUlZBUihDb21wcmVzc29yX2ZsdXNoX2RvYywKKyJmbHVzaCgpIC0+IGJ5dGVzXG4iCisiXG4iCisiRmluaXNoIHRoZSBjb21wcmVzc2lvbiBwcm9jZXNzLiBSZXR1cm5zIHRoZSBjb21wcmVzc2VkIGRhdGEgbGVmdFxuIgorImluIGludGVybmFsIGJ1ZmZlcnMuXG4iCisiXG4iCisiVGhlIGNvbXByZXNzb3Igb2JqZWN0IGNhbm5vdCBiZSB1c2VkIGFmdGVyIHRoaXMgbWV0aG9kIGlzIGNhbGxlZC5cbiIpOworCitzdGF0aWMgUHlPYmplY3QgKgorQ29tcHJlc3Nvcl9mbHVzaChDb21wcmVzc29yICpzZWxmLCBQeU9iamVjdCAqbm9hcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXN1bHQgPSBOVUxMOworCisgICAgQUNRVUlSRV9MT0NLKHNlbGYpOworICAgIGlmIChzZWxmLT5mbHVzaGVkKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLCAiUmVwZWF0ZWQgY2FsbCB0byBmbHVzaCgpIik7CisgICAgfSBlbHNlIHsKKyAgICAgICAgc2VsZi0+Zmx1c2hlZCA9IDE7CisgICAgICAgIHJlc3VsdCA9IGNvbXByZXNzKHNlbGYsIE5VTEwsIDAsIExaTUFfRklOSVNIKTsKKyAgICB9CisgICAgUkVMRUFTRV9MT0NLKHNlbGYpOworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK3N0YXRpYyBpbnQKK0NvbXByZXNzb3JfaW5pdF94eihsem1hX3N0cmVhbSAqbHpzLCBpbnQgY2hlY2ssIHVpbnQzMl90IHByZXNldCwKKyAgICAgICAgICAgICAgICAgICBQeU9iamVjdCAqZmlsdGVyc3BlY3MpCit7CisgICAgbHptYV9yZXQgbHpyZXQ7CisKKyAgICBpZiAoZmlsdGVyc3BlY3MgPT0gUHlfTm9uZSkgeworICAgICAgICBsenJldCA9IGx6bWFfZWFzeV9lbmNvZGVyKGx6cywgcHJlc2V0LCBjaGVjayk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgbHptYV9maWx0ZXIgZmlsdGVyc1tMWk1BX0ZJTFRFUlNfTUFYICsgMV07CisKKyAgICAgICAgaWYgKHBhcnNlX2ZpbHRlcl9jaGFpbl9zcGVjKGZpbHRlcnMsIGZpbHRlcnNwZWNzKSA9PSAtMSkKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgbHpyZXQgPSBsem1hX3N0cmVhbV9lbmNvZGVyKGx6cywgZmlsdGVycywgY2hlY2spOworICAgICAgICBmcmVlX2ZpbHRlcl9jaGFpbihmaWx0ZXJzKTsKKyAgICB9CisgICAgaWYgKGNhdGNoX2x6bWFfZXJyb3IobHpyZXQpKQorICAgICAgICByZXR1cm4gLTE7CisgICAgZWxzZQorICAgICAgICByZXR1cm4gMDsKK30KKworc3RhdGljIGludAorQ29tcHJlc3Nvcl9pbml0X2Fsb25lKGx6bWFfc3RyZWFtICpsenMsIHVpbnQzMl90IHByZXNldCwgUHlPYmplY3QgKmZpbHRlcnNwZWNzKQoreworICAgIGx6bWFfcmV0IGx6cmV0OworCisgICAgaWYgKGZpbHRlcnNwZWNzID09IFB5X05vbmUpIHsKKyAgICAgICAgbHptYV9vcHRpb25zX2x6bWEgb3B0aW9uczsKKworICAgICAgICBpZiAobHptYV9sem1hX3ByZXNldCgmb3B0aW9ucywgcHJlc2V0KSkgeworICAgICAgICAgICAgUHlFcnJfRm9ybWF0KEVycm9yLCAiSW52YWxpZCBjb21wcmVzc2lvbiBwcmVzZXQ6ICUjeCIsIHByZXNldCk7CisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIH0KKyAgICAgICAgbHpyZXQgPSBsem1hX2Fsb25lX2VuY29kZXIobHpzLCAmb3B0aW9ucyk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgbHptYV9maWx0ZXIgZmlsdGVyc1tMWk1BX0ZJTFRFUlNfTUFYICsgMV07CisKKyAgICAgICAgaWYgKHBhcnNlX2ZpbHRlcl9jaGFpbl9zcGVjKGZpbHRlcnMsIGZpbHRlcnNwZWNzKSA9PSAtMSkKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgaWYgKGZpbHRlcnNbMF0uaWQgPT0gTFpNQV9GSUxURVJfTFpNQTEgJiYKKyAgICAgICAgICAgIGZpbHRlcnNbMV0uaWQgPT0gTFpNQV9WTElfVU5LTk9XTikgeworICAgICAgICAgICAgbHpyZXQgPSBsem1hX2Fsb25lX2VuY29kZXIobHpzLCBmaWx0ZXJzWzBdLm9wdGlvbnMpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkludmFsaWQgZmlsdGVyIGNoYWluIGZvciBGT1JNQVRfQUxPTkUgLSAiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm11c3QgYmUgYSBzaW5nbGUgTFpNQTEgZmlsdGVyIik7CisgICAgICAgICAgICBsenJldCA9IExaTUFfUFJPR19FUlJPUjsKKyAgICAgICAgfQorICAgICAgICBmcmVlX2ZpbHRlcl9jaGFpbihmaWx0ZXJzKTsKKyAgICB9CisgICAgaWYgKFB5RXJyX09jY3VycmVkKCkgfHwgY2F0Y2hfbHptYV9lcnJvcihsenJldCkpCisgICAgICAgIHJldHVybiAtMTsKKyAgICBlbHNlCisgICAgICAgIHJldHVybiAwOworfQorCitzdGF0aWMgaW50CitDb21wcmVzc29yX2luaXRfcmF3KGx6bWFfc3RyZWFtICpsenMsIFB5T2JqZWN0ICpmaWx0ZXJzcGVjcykKK3sKKyAgICBsem1hX2ZpbHRlciBmaWx0ZXJzW0xaTUFfRklMVEVSU19NQVggKyAxXTsKKyAgICBsem1hX3JldCBsenJldDsKKworICAgIGlmIChmaWx0ZXJzcGVjcyA9PSBQeV9Ob25lKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgIk11c3Qgc3BlY2lmeSBmaWx0ZXJzIGZvciBGT1JNQVRfUkFXIik7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisgICAgaWYgKHBhcnNlX2ZpbHRlcl9jaGFpbl9zcGVjKGZpbHRlcnMsIGZpbHRlcnNwZWNzKSA9PSAtMSkKKyAgICAgICAgcmV0dXJuIC0xOworICAgIGx6cmV0ID0gbHptYV9yYXdfZW5jb2RlcihsenMsIGZpbHRlcnMpOworICAgIGZyZWVfZmlsdGVyX2NoYWluKGZpbHRlcnMpOworICAgIGlmIChjYXRjaF9sem1hX2Vycm9yKGx6cmV0KSkKKyAgICAgICAgcmV0dXJuIC0xOworICAgIGVsc2UKKyAgICAgICAgcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQKK0NvbXByZXNzb3JfaW5pdChDb21wcmVzc29yICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKK3sKKyAgICBzdGF0aWMgY2hhciAqYXJnX25hbWVzW10gPSB7ImZvcm1hdCIsICJjaGVjayIsICJwcmVzZXQiLCAiZmlsdGVycyIsIE5VTEx9OworICAgIGludCBmb3JtYXQgPSBGT1JNQVRfWFo7CisgICAgaW50IGNoZWNrID0gLTE7CisgICAgdWludDMyX3QgcHJlc2V0ID0gTFpNQV9QUkVTRVRfREVGQVVMVDsKKyAgICBQeU9iamVjdCAqcHJlc2V0X29iaiA9IFB5X05vbmU7CisgICAgUHlPYmplY3QgKmZpbHRlcnNwZWNzID0gUHlfTm9uZTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAifGlpT086TFpNQUNvbXByZXNzb3IiLCBhcmdfbmFtZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmZvcm1hdCwgJmNoZWNrLCAmcHJlc2V0X29iaiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZmlsdGVyc3BlY3MpKQorICAgICAgICByZXR1cm4gLTE7CisKKyAgICBpZiAoZm9ybWF0ICE9IEZPUk1BVF9YWiAmJiBjaGVjayAhPSAtMSAmJiBjaGVjayAhPSBMWk1BX0NIRUNLX05PTkUpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAiSW50ZWdyaXR5IGNoZWNrcyBhcmUgb25seSBzdXBwb3J0ZWQgYnkgRk9STUFUX1haIik7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisKKyAgICBpZiAocHJlc2V0X29iaiAhPSBQeV9Ob25lICYmIGZpbHRlcnNwZWNzICE9IFB5X05vbmUpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAiQ2Fubm90IHNwZWNpZnkgYm90aCBwcmVzZXQgYW5kIGZpbHRlciBjaGFpbiIpOworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorCisgICAgaWYgKHByZXNldF9vYmogIT0gUHlfTm9uZSkKKyAgICAgICAgaWYgKCF1aW50MzJfY29udmVydGVyKHByZXNldF9vYmosICZwcmVzZXQpKQorICAgICAgICAgICAgcmV0dXJuIC0xOworCisjaWZkZWYgV0lUSF9USFJFQUQKKyAgICBzZWxmLT5sb2NrID0gUHlUaHJlYWRfYWxsb2NhdGVfbG9jaygpOworICAgIGlmIChzZWxmLT5sb2NrID09IE5VTEwpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX01lbW9yeUVycm9yLCAiVW5hYmxlIHRvIGFsbG9jYXRlIGxvY2siKTsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKyNlbmRpZgorCisgICAgc2VsZi0+Zmx1c2hlZCA9IDA7CisgICAgc3dpdGNoIChmb3JtYXQpIHsKKyAgICAgICAgY2FzZSBGT1JNQVRfWFo6CisgICAgICAgICAgICBpZiAoY2hlY2sgPT0gLTEpCisgICAgICAgICAgICAgICAgY2hlY2sgPSBMWk1BX0NIRUNLX0NSQzY0OworICAgICAgICAgICAgaWYgKENvbXByZXNzb3JfaW5pdF94eigmc2VsZi0+bHpzLCBjaGVjaywgcHJlc2V0LCBmaWx0ZXJzcGVjcykgIT0gMCkKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIHJldHVybiAwOworCisgICAgICAgIGNhc2UgRk9STUFUX0FMT05FOgorICAgICAgICAgICAgaWYgKENvbXByZXNzb3JfaW5pdF9hbG9uZSgmc2VsZi0+bHpzLCBwcmVzZXQsIGZpbHRlcnNwZWNzKSAhPSAwKQorICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgcmV0dXJuIDA7CisKKyAgICAgICAgY2FzZSBGT1JNQVRfUkFXOgorICAgICAgICAgICAgaWYgKENvbXByZXNzb3JfaW5pdF9yYXcoJnNlbGYtPmx6cywgZmlsdGVyc3BlY3MpICE9IDApCisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICByZXR1cm4gMDsKKworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1ZhbHVlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgIkludmFsaWQgY29udGFpbmVyIGZvcm1hdDogJWQiLCBmb3JtYXQpOworICAgICAgICAgICAgYnJlYWs7CisgICAgfQorCisjaWZkZWYgV0lUSF9USFJFQUQKKyAgICBQeVRocmVhZF9mcmVlX2xvY2soc2VsZi0+bG9jayk7CisgICAgc2VsZi0+bG9jayA9IE5VTEw7CisjZW5kaWYKKyAgICByZXR1cm4gLTE7Cit9CisKK3N0YXRpYyB2b2lkCitDb21wcmVzc29yX2RlYWxsb2MoQ29tcHJlc3NvciAqc2VsZikKK3sKKyAgICBsem1hX2VuZCgmc2VsZi0+bHpzKTsKKyNpZmRlZiBXSVRIX1RIUkVBRAorICAgIGlmIChzZWxmLT5sb2NrICE9IE5VTEwpCisgICAgICAgIFB5VGhyZWFkX2ZyZWVfbG9jayhzZWxmLT5sb2NrKTsKKyNlbmRpZgorICAgIFB5X1RZUEUoc2VsZiktPnRwX2ZyZWUoKFB5T2JqZWN0ICopc2VsZik7Cit9CisKK3N0YXRpYyBQeU1ldGhvZERlZiBDb21wcmVzc29yX21ldGhvZHNbXSA9IHsKKyAgICB7ImNvbXByZXNzIiwgKFB5Q0Z1bmN0aW9uKUNvbXByZXNzb3JfY29tcHJlc3MsIE1FVEhfVkFSQVJHUywKKyAgICAgQ29tcHJlc3Nvcl9jb21wcmVzc19kb2N9LAorICAgIHsiZmx1c2giLCAoUHlDRnVuY3Rpb24pQ29tcHJlc3Nvcl9mbHVzaCwgTUVUSF9OT0FSR1MsCisgICAgIENvbXByZXNzb3JfZmx1c2hfZG9jfSwKKyAgICB7TlVMTH0KK307CisKK1B5RG9jX1NUUlZBUihDb21wcmVzc29yX2RvYywKKyJMWk1BQ29tcHJlc3Nvcihmb3JtYXQ9Rk9STUFUX1haLCBjaGVjaz0tMSwgcHJlc2V0PU5vbmUsIGZpbHRlcnM9Tm9uZSlcbiIKKyJcbiIKKyJDcmVhdGUgYSBjb21wcmVzc29yIG9iamVjdCBmb3IgY29tcHJlc3NpbmcgZGF0YSBpbmNyZW1lbnRhbGx5LlxuIgorIlxuIgorImZvcm1hdCBzcGVjaWZpZXMgdGhlIGNvbnRhaW5lciBmb3JtYXQgdG8gdXNlIGZvciB0aGUgb3V0cHV0LiBUaGlzIGNhblxuIgorImJlIEZPUk1BVF9YWiAoZGVmYXVsdCksIEZPUk1BVF9BTE9ORSwgb3IgRk9STUFUX1JBVy5cbiIKKyJcbiIKKyJjaGVjayBzcGVjaWZpZXMgdGhlIGludGVncml0eSBjaGVjayB0byB1c2UuIEZvciBGT1JNQVRfWFosIHRoZSBkZWZhdWx0XG4iCisiaXMgQ0hFQ0tfQ1JDNjQuIEZPUk1BVF9BTE9ORSBhbmQgRk9STUFUX1JBVyBkbyBub3Qgc3Vwb3J0IGludGVncml0eVxuIgorImNoZWNrczsgZm9yIHRoZXNlIGZvcm1hdHMsIGNoZWNrIG11c3QgYmUgb21pdHRlZCwgb3IgYmUgQ0hFQ0tfTk9ORS5cbiIKKyJcbiIKKyJUaGUgc2V0dGluZ3MgdXNlZCBieSB0aGUgY29tcHJlc3NvciBjYW4gYmUgc3BlY2lmaWVkIGVpdGhlciBhcyBhXG4iCisicHJlc2V0IGNvbXByZXNzaW9uIGxldmVsICh3aXRoIHRoZSAncHJlc2V0JyBhcmd1bWVudCksIG9yIGluIGRldGFpbFxuIgorImFzIGEgY3VzdG9tIGZpbHRlciBjaGFpbiAod2l0aCB0aGUgJ2ZpbHRlcnMnIGFyZ3VtZW50KS4gRm9yIEZPUk1BVF9YWlxuIgorImFuZCBGT1JNQVRfQUxPTkUsIHRoZSBkZWZhdWx0IGlzIHRvIHVzZSB0aGUgUFJFU0VUX0RFRkFVTFQgcHJlc2V0XG4iCisibGV2ZWwuIEZvciBGT1JNQVRfUkFXLCB0aGUgY2FsbGVyIG11c3QgYWx3YXlzIHNwZWNpZnkgYSBmaWx0ZXIgY2hhaW47XG4iCisidGhlIHJhdyBjb21wcmVzc29yIGRvZXMgbm90IHN1cHBvcnQgcHJlc2V0IGNvbXByZXNzaW9uIGxldmVscy5cbiIKKyJcbiIKKyJwcmVzZXQgKGlmIHByb3ZpZGVkKSBzaG91bGQgYmUgYW4gaW50ZWdlciBpbiB0aGUgcmFuZ2UgMC05LCBvcHRpb25hbGx5XG4iCisiT1ItZWQgd2l0aCB0aGUgY29uc3RhbnQgUFJFU0VUX0VYVFJFTUUuXG4iCisiXG4iCisiZmlsdGVycyAoaWYgcHJvdmlkZWQpIHNob3VsZCBiZSBhIHNlcXVlbmNlIG9mIGRpY3RzLiBFYWNoIGRpY3Qgc2hvdWxkXG4iCisiaGF2ZSBhbiBlbnRyeSBmb3IgXCJpZFwiIGluZGljYXRpbmcgdGhlIElEIG9mIHRoZSBmaWx0ZXIsIHBsdXNcbiIKKyJhZGRpdGlvbmFsIGVudHJpZXMgZm9yIG9wdGlvbnMgdG8gdGhlIGZpbHRlci5cbiIKKyJcbiIKKyJGb3Igb25lLXNob3QgY29tcHJlc3Npb24sIHVzZSB0aGUgY29tcHJlc3MoKSBmdW5jdGlvbiBpbnN0ZWFkLlxuIik7CisKK3N0YXRpYyBQeVR5cGVPYmplY3QgQ29tcHJlc3Nvcl90eXBlID0geworICAgIFB5VmFyT2JqZWN0X0hFQURfSU5JVChOVUxMLCAwKQorICAgICJfbHptYS5MWk1BQ29tcHJlc3NvciIsICAgICAgICAgICAgIC8qIHRwX25hbWUgKi8KKyAgICBzaXplb2YoQ29tcHJlc3NvciksICAgICAgICAgICAgICAgICAvKiB0cF9iYXNpY3NpemUgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9pdGVtc2l6ZSAqLworICAgIChkZXN0cnVjdG9yKUNvbXByZXNzb3JfZGVhbGxvYywgICAgIC8qIHRwX2RlYWxsb2MgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9wcmludCAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2dldGF0dHIgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9zZXRhdHRyICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfcmVzZXJ2ZWQgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9yZXByICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfYXNfbnVtYmVyICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfYXNfc2VxdWVuY2UgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9hc19tYXBwaW5nICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfaGFzaCAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2NhbGwgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9zdHIgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9nZXRhdHRybyAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX3NldGF0dHJvICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfYXNfYnVmZmVyICovCisgICAgUHlfVFBGTEFHU19ERUZBVUxULCAgICAgICAgICAgICAgICAgLyogdHBfZmxhZ3MgKi8KKyAgICBDb21wcmVzc29yX2RvYywgICAgICAgICAgICAgICAgICAgICAvKiB0cF9kb2MgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF90cmF2ZXJzZSAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2NsZWFyICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfcmljaGNvbXBhcmUgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF93ZWFrbGlzdG9mZnNldCAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2l0ZXIgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9pdGVybmV4dCAqLworICAgIENvbXByZXNzb3JfbWV0aG9kcywgICAgICAgICAgICAgICAgIC8qIHRwX21ldGhvZHMgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9tZW1iZXJzICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfZ2V0c2V0ICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfYmFzZSAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2RpY3QgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9kZXNjcl9nZXQgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9kZXNjcl9zZXQgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9kaWN0b2Zmc2V0ICovCisgICAgKGluaXRwcm9jKUNvbXByZXNzb3JfaW5pdCwgICAgICAgICAgLyogdHBfaW5pdCAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2FsbG9jICovCisgICAgUHlUeXBlX0dlbmVyaWNOZXcsICAgICAgICAgICAgICAgICAgLyogdHBfbmV3ICovCit9OworCisKKy8qIExaTUFEZWNvbXByZXNzb3IgY2xhc3MuICovCisKK3N0YXRpYyBQeU9iamVjdCAqCitkZWNvbXByZXNzKERlY29tcHJlc3NvciAqZCwgdWludDhfdCAqZGF0YSwgc2l6ZV90IGxlbikKK3sKKyAgICBzaXplX3QgZGF0YV9zaXplID0gMDsKKyAgICBQeU9iamVjdCAqcmVzdWx0OworCisgICAgcmVzdWx0ID0gUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZShOVUxMLCBJTklUSUFMX0JVRkZFUl9TSVpFKTsKKyAgICBpZiAocmVzdWx0ID09IE5VTEwpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIGQtPmx6cy5uZXh0X2luID0gZGF0YTsKKyAgICBkLT5senMuYXZhaWxfaW4gPSBsZW47CisgICAgZC0+bHpzLm5leHRfb3V0ID0gKHVpbnQ4X3QgKilQeUJ5dGVzX0FTX1NUUklORyhyZXN1bHQpOworICAgIGQtPmx6cy5hdmFpbF9vdXQgPSBQeUJ5dGVzX0dFVF9TSVpFKHJlc3VsdCk7CisgICAgZm9yICg7OykgeworICAgICAgICBsem1hX3JldCBsenJldDsKKworICAgICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCisgICAgICAgIGx6cmV0ID0gbHptYV9jb2RlKCZkLT5senMsIExaTUFfUlVOKTsKKyAgICAgICAgZGF0YV9zaXplID0gKGNoYXIgKilkLT5senMubmV4dF9vdXQgLSBQeUJ5dGVzX0FTX1NUUklORyhyZXN1bHQpOworICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworICAgICAgICBpZiAoY2F0Y2hfbHptYV9lcnJvcihsenJldCkpCisgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICBpZiAobHpyZXQgPT0gTFpNQV9HRVRfQ0hFQ0sgfHwgbHpyZXQgPT0gTFpNQV9OT19DSEVDSykKKyAgICAgICAgICAgIGQtPmNoZWNrID0gbHptYV9nZXRfY2hlY2soJmQtPmx6cyk7CisgICAgICAgIGlmIChsenJldCA9PSBMWk1BX1NUUkVBTV9FTkQpIHsKKyAgICAgICAgICAgIGQtPmVvZiA9IDE7CisgICAgICAgICAgICBpZiAoZC0+bHpzLmF2YWlsX2luID4gMCkgeworICAgICAgICAgICAgICAgIFB5X0NMRUFSKGQtPnVudXNlZF9kYXRhKTsKKyAgICAgICAgICAgICAgICBkLT51bnVzZWRfZGF0YSA9IFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUoCisgICAgICAgICAgICAgICAgICAgICAgICAoY2hhciAqKWQtPmx6cy5uZXh0X2luLCBkLT5senMuYXZhaWxfaW4pOworICAgICAgICAgICAgICAgIGlmIChkLT51bnVzZWRfZGF0YSA9PSBOVUxMKQorICAgICAgICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICAgICAgfQorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0gZWxzZSBpZiAoZC0+bHpzLmF2YWlsX2luID09IDApIHsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9IGVsc2UgaWYgKGQtPmx6cy5hdmFpbF9vdXQgPT0gMCkgeworICAgICAgICAgICAgaWYgKGdyb3dfYnVmZmVyKCZyZXN1bHQpID09IC0xKQorICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgICAgICBkLT5senMubmV4dF9vdXQgPSAodWludDhfdCAqKVB5Qnl0ZXNfQVNfU1RSSU5HKHJlc3VsdCkgKyBkYXRhX3NpemU7CisgICAgICAgICAgICBkLT5senMuYXZhaWxfb3V0ID0gUHlCeXRlc19HRVRfU0laRShyZXN1bHQpIC0gZGF0YV9zaXplOworICAgICAgICB9CisgICAgfQorICAgIGlmIChkYXRhX3NpemUgIT0gUHlCeXRlc19HRVRfU0laRShyZXN1bHQpKQorICAgICAgICBpZiAoX1B5Qnl0ZXNfUmVzaXplKCZyZXN1bHQsIGRhdGFfc2l6ZSkgPT0gLTEpCisgICAgICAgICAgICBnb3RvIGVycm9yOworICAgIHJldHVybiByZXN1bHQ7CisKK2Vycm9yOgorICAgIFB5X1hERUNSRUYocmVzdWx0KTsKKyAgICByZXR1cm4gTlVMTDsKK30KKworUHlEb2NfU1RSVkFSKERlY29tcHJlc3Nvcl9kZWNvbXByZXNzX2RvYywKKyJkZWNvbXByZXNzKGRhdGEpIC0+IGJ5dGVzXG4iCisiXG4iCisiUHJvdmlkZSBkYXRhIHRvIHRoZSBkZWNvbXByZXNzb3Igb2JqZWN0LiBSZXR1cm5zIGEgY2h1bmsgb2ZcbiIKKyJkZWNvbXByZXNzZWQgZGF0YSBpZiBwb3NzaWJsZSwgb3IgYlwiXCIgb3RoZXJ3aXNlLlxuIgorIlxuIgorIkF0dGVtcHRpbmcgdG8gZGVjb21wcmVzcyBkYXRhIGFmdGVyIHRoZSBlbmQgb2YgdGhlIHN0cmVhbSBpc1xuIgorInJlYWNoZWQgcmFpc2VzIGFuIEVPRkVycm9yLiBBbnkgZGF0YSBmb3VuZCBhZnRlciB0aGUgZW5kIG9mIHRoZVxuIgorInN0cmVhbSBpcyBpZ25vcmVkLCBhbmQgc2F2ZWQgaW4gdGhlIHVudXNlZF9kYXRhIGF0dHJpYnV0ZS5cbiIpOworCitzdGF0aWMgUHlPYmplY3QgKgorRGVjb21wcmVzc29yX2RlY29tcHJlc3MoRGVjb21wcmVzc29yICpzZWxmLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeV9idWZmZXIgYnVmZmVyOworICAgIFB5T2JqZWN0ICpyZXN1bHQgPSBOVUxMOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJ5KjpkZWNvbXByZXNzIiwgJmJ1ZmZlcikpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgQUNRVUlSRV9MT0NLKHNlbGYpOworICAgIGlmIChzZWxmLT5lb2YpCisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19FT0ZFcnJvciwgIkFscmVhZHkgYXQgZW5kIG9mIHN0cmVhbSIpOworICAgIGVsc2UKKyAgICAgICAgcmVzdWx0ID0gZGVjb21wcmVzcyhzZWxmLCBidWZmZXIuYnVmLCBidWZmZXIubGVuKTsKKyAgICBSRUxFQVNFX0xPQ0soc2VsZik7CisgICAgUHlCdWZmZXJfUmVsZWFzZSgmYnVmZmVyKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCitzdGF0aWMgaW50CitEZWNvbXByZXNzb3JfaW5pdF9yYXcobHptYV9zdHJlYW0gKmx6cywgUHlPYmplY3QgKmZpbHRlcnNwZWNzKQoreworICAgIGx6bWFfZmlsdGVyIGZpbHRlcnNbTFpNQV9GSUxURVJTX01BWCArIDFdOworICAgIGx6bWFfcmV0IGx6cmV0OworCisgICAgaWYgKHBhcnNlX2ZpbHRlcl9jaGFpbl9zcGVjKGZpbHRlcnMsIGZpbHRlcnNwZWNzKSA9PSAtMSkKKyAgICAgICAgcmV0dXJuIC0xOworICAgIGx6cmV0ID0gbHptYV9yYXdfZGVjb2RlcihsenMsIGZpbHRlcnMpOworICAgIGZyZWVfZmlsdGVyX2NoYWluKGZpbHRlcnMpOworICAgIGlmIChjYXRjaF9sem1hX2Vycm9yKGx6cmV0KSkKKyAgICAgICAgcmV0dXJuIC0xOworICAgIGVsc2UKKyAgICAgICAgcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQKK0RlY29tcHJlc3Nvcl9pbml0KERlY29tcHJlc3NvciAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCit7CisgICAgc3RhdGljIGNoYXIgKmFyZ19uYW1lc1tdID0geyJmb3JtYXQiLCAibWVtbGltaXQiLCAiZmlsdGVycyIsIE5VTEx9OworICAgIGNvbnN0IHVpbnQzMl90IGRlY29kZXJfZmxhZ3MgPSBMWk1BX1RFTExfQU5ZX0NIRUNLIHwgTFpNQV9URUxMX05PX0NIRUNLOworICAgIGludCBmb3JtYXQgPSBGT1JNQVRfQVVUTzsKKyAgICB1aW50NjRfdCBtZW1saW1pdCA9IFVJTlQ2NF9NQVg7CisgICAgUHlPYmplY3QgKm1lbWxpbWl0X29iaiA9IFB5X05vbmU7CisgICAgUHlPYmplY3QgKmZpbHRlcnNwZWNzID0gUHlfTm9uZTsKKyAgICBsem1hX3JldCBsenJldDsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAifGlPTzpMWk1BRGVjb21wcmVzc29yIiwgYXJnX25hbWVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZmb3JtYXQsICZtZW1saW1pdF9vYmosICZmaWx0ZXJzcGVjcykpCisgICAgICAgIHJldHVybiAtMTsKKworICAgIGlmIChtZW1saW1pdF9vYmogIT0gUHlfTm9uZSkgeworICAgICAgICBpZiAoZm9ybWF0ID09IEZPUk1BVF9SQVcpIHsKKyAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICJDYW5ub3Qgc3BlY2lmeSBtZW1vcnkgbGltaXQgd2l0aCBGT1JNQVRfUkFXIik7CisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIH0KKyAgICAgICAgbWVtbGltaXQgPSBQeUxvbmdfQXNVbnNpZ25lZExvbmdMb25nKG1lbWxpbWl0X29iaik7CisgICAgICAgIGlmIChQeUVycl9PY2N1cnJlZCgpKQorICAgICAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKworICAgIGlmIChmb3JtYXQgPT0gRk9STUFUX1JBVyAmJiBmaWx0ZXJzcGVjcyA9PSBQeV9Ob25lKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgIk11c3Qgc3BlY2lmeSBmaWx0ZXJzIGZvciBGT1JNQVRfUkFXIik7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9IGVsc2UgaWYgKGZvcm1hdCAhPSBGT1JNQVRfUkFXICYmIGZpbHRlcnNwZWNzICE9IFB5X05vbmUpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAiQ2Fubm90IHNwZWNpZnkgZmlsdGVycyBleGNlcHQgd2l0aCBGT1JNQVRfUkFXIik7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisKKyNpZmRlZiBXSVRIX1RIUkVBRAorICAgIHNlbGYtPmxvY2sgPSBQeVRocmVhZF9hbGxvY2F0ZV9sb2NrKCk7CisgICAgaWYgKHNlbGYtPmxvY2sgPT0gTlVMTCkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfTWVtb3J5RXJyb3IsICJVbmFibGUgdG8gYWxsb2NhdGUgbG9jayIpOworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorI2VuZGlmCisKKyAgICBzZWxmLT5jaGVjayA9IExaTUFfQ0hFQ0tfVU5LTk9XTjsKKyAgICBzZWxmLT51bnVzZWRfZGF0YSA9IFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUoTlVMTCwgMCk7CisgICAgaWYgKHNlbGYtPnVudXNlZF9kYXRhID09IE5VTEwpCisgICAgICAgIGdvdG8gZXJyb3I7CisKKyAgICBzd2l0Y2ggKGZvcm1hdCkgeworICAgICAgICBjYXNlIEZPUk1BVF9BVVRPOgorICAgICAgICAgICAgbHpyZXQgPSBsem1hX2F1dG9fZGVjb2Rlcigmc2VsZi0+bHpzLCBtZW1saW1pdCwgZGVjb2Rlcl9mbGFncyk7CisgICAgICAgICAgICBpZiAoY2F0Y2hfbHptYV9lcnJvcihsenJldCkpCisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICByZXR1cm4gMDsKKworICAgICAgICBjYXNlIEZPUk1BVF9YWjoKKyAgICAgICAgICAgIGx6cmV0ID0gbHptYV9zdHJlYW1fZGVjb2Rlcigmc2VsZi0+bHpzLCBtZW1saW1pdCwgZGVjb2Rlcl9mbGFncyk7CisgICAgICAgICAgICBpZiAoY2F0Y2hfbHptYV9lcnJvcihsenJldCkpCisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICByZXR1cm4gMDsKKworICAgICAgICBjYXNlIEZPUk1BVF9BTE9ORToKKyAgICAgICAgICAgIHNlbGYtPmNoZWNrID0gTFpNQV9DSEVDS19OT05FOworICAgICAgICAgICAgbHpyZXQgPSBsem1hX2Fsb25lX2RlY29kZXIoJnNlbGYtPmx6cywgbWVtbGltaXQpOworICAgICAgICAgICAgaWYgKGNhdGNoX2x6bWFfZXJyb3IobHpyZXQpKQorICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgcmV0dXJuIDA7CisKKyAgICAgICAgY2FzZSBGT1JNQVRfUkFXOgorICAgICAgICAgICAgc2VsZi0+Y2hlY2sgPSBMWk1BX0NIRUNLX05PTkU7CisgICAgICAgICAgICBpZiAoRGVjb21wcmVzc29yX2luaXRfcmF3KCZzZWxmLT5senMsIGZpbHRlcnNwZWNzKSA9PSAtMSkKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIHJldHVybiAwOworCisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVmFsdWVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAiSW52YWxpZCBjb250YWluZXIgZm9ybWF0OiAlZCIsIGZvcm1hdCk7CisgICAgICAgICAgICBicmVhazsKKyAgICB9CisKK2Vycm9yOgorICAgIFB5X0NMRUFSKHNlbGYtPnVudXNlZF9kYXRhKTsKKyNpZmRlZiBXSVRIX1RIUkVBRAorICAgIFB5VGhyZWFkX2ZyZWVfbG9jayhzZWxmLT5sb2NrKTsKKyAgICBzZWxmLT5sb2NrID0gTlVMTDsKKyNlbmRpZgorICAgIHJldHVybiAtMTsKK30KKworc3RhdGljIHZvaWQKK0RlY29tcHJlc3Nvcl9kZWFsbG9jKERlY29tcHJlc3NvciAqc2VsZikKK3sKKyAgICBsem1hX2VuZCgmc2VsZi0+bHpzKTsKKyAgICBQeV9DTEVBUihzZWxmLT51bnVzZWRfZGF0YSk7CisjaWZkZWYgV0lUSF9USFJFQUQKKyAgICBpZiAoc2VsZi0+bG9jayAhPSBOVUxMKQorICAgICAgICBQeVRocmVhZF9mcmVlX2xvY2soc2VsZi0+bG9jayk7CisjZW5kaWYKKyAgICBQeV9UWVBFKHNlbGYpLT50cF9mcmVlKChQeU9iamVjdCAqKXNlbGYpOworfQorCitzdGF0aWMgUHlNZXRob2REZWYgRGVjb21wcmVzc29yX21ldGhvZHNbXSA9IHsKKyAgICB7ImRlY29tcHJlc3MiLCAoUHlDRnVuY3Rpb24pRGVjb21wcmVzc29yX2RlY29tcHJlc3MsIE1FVEhfVkFSQVJHUywKKyAgICAgRGVjb21wcmVzc29yX2RlY29tcHJlc3NfZG9jfSwKKyAgICB7TlVMTH0KK307CisKK1B5RG9jX1NUUlZBUihEZWNvbXByZXNzb3JfY2hlY2tfZG9jLAorIklEIG9mIHRoZSBpbnRlZ3JpdHkgY2hlY2sgdXNlZCBieSB0aGUgaW5wdXQgc3RyZWFtLiIpOworCitQeURvY19TVFJWQVIoRGVjb21wcmVzc29yX2VvZl9kb2MsCisiVHJ1ZSBpZiB0aGUgZW5kLW9mLXN0cmVhbSBtYXJrZXIgaGFzIGJlZW4gcmVhY2hlZC4iKTsKKworUHlEb2NfU1RSVkFSKERlY29tcHJlc3Nvcl91bnVzZWRfZGF0YV9kb2MsCisiRGF0YSBmb3VuZCBhZnRlciB0aGUgZW5kIG9mIHRoZSBjb21wcmVzc2VkIHN0cmVhbS4iKTsKKworc3RhdGljIFB5TWVtYmVyRGVmIERlY29tcHJlc3Nvcl9tZW1iZXJzW10gPSB7CisgICAgeyJjaGVjayIsIFRfSU5ULCBvZmZzZXRvZihEZWNvbXByZXNzb3IsIGNoZWNrKSwgUkVBRE9OTFksCisgICAgIERlY29tcHJlc3Nvcl9jaGVja19kb2N9LAorICAgIHsiZW9mIiwgVF9CT09MLCBvZmZzZXRvZihEZWNvbXByZXNzb3IsIGVvZiksIFJFQURPTkxZLAorICAgICBEZWNvbXByZXNzb3JfZW9mX2RvY30sCisgICAgeyJ1bnVzZWRfZGF0YSIsIFRfT0JKRUNUX0VYLCBvZmZzZXRvZihEZWNvbXByZXNzb3IsIHVudXNlZF9kYXRhKSwgUkVBRE9OTFksCisgICAgIERlY29tcHJlc3Nvcl91bnVzZWRfZGF0YV9kb2N9LAorICAgIHtOVUxMfQorfTsKKworUHlEb2NfU1RSVkFSKERlY29tcHJlc3Nvcl9kb2MsCisiTFpNQURlY29tcHJlc3Nvcihmb3JtYXQ9Rk9STUFUX0FVVE8sIG1lbWxpbWl0PU5vbmUsIGZpbHRlcnM9Tm9uZSlcbiIKKyJcbiIKKyJDcmVhdGUgYSBkZWNvbXByZXNzb3Igb2JqZWN0IGZvciBkZWNvbXByZXNzaW5nIGRhdGEgaW5jcmVtZW50YWxseS5cbiIKKyJcbiIKKyJmb3JtYXQgc3BlY2lmaWVzIHRoZSBjb250YWluZXIgZm9ybWF0IG9mIHRoZSBpbnB1dCBzdHJlYW0uIElmIHRoaXMgaXNcbiIKKyJGT1JNQVRfQVVUTyAodGhlIGRlZmF1bHQpLCB0aGUgZGVjb21wcmVzc29yIHdpbGwgYXV0b21hdGljYWxseSBkZXRlY3RcbiIKKyJ3aGV0aGVyIHRoZSBpbnB1dCBpcyBGT1JNQVRfWFogb3IgRk9STUFUX0FMT05FLiBTdHJlYW1zIGNyZWF0ZWQgd2l0aFxuIgorIkZPUk1BVF9SQVcgY2Fubm90IGJlIGF1dG9kZXRlY3RlZC5cbiIKKyJcbiIKKyJtZW1saW1pdCBjYW4gYmUgc3BlY2lmaWVkIHRvIGxpbWl0IHRoZSBhbW91bnQgb2YgbWVtb3J5IHVzZWQgYnkgdGhlXG4iCisiZGVjb21wcmVzc29yLiBUaGlzIHdpbGwgY2F1c2UgZGVjb21wcmVzc2lvbiB0byBmYWlsIGlmIHRoZSBpbnB1dFxuIgorImNhbm5vdCBiZSBkZWNvbXByZXNzZWQgd2l0aGluIHRoZSBnaXZlbiBsaW1pdC5cbiIKKyJcbiIKKyJmaWx0ZXJzIHNwZWNpZmllcyBhIGN1c3RvbSBmaWx0ZXIgY2hhaW4uIFRoaXMgYXJndW1lbnQgaXMgcmVxdWlyZWQgZm9yXG4iCisiRk9STUFUX1JBVywgYW5kIG5vdCBhY2NlcHRlZCB3aXRoIGFueSBvdGhlciBmb3JtYXQuIFdoZW4gcHJvdmlkZWQsXG4iCisidGhpcyBzaG91bGQgYmUgYSBzZXF1ZW5jZSBvZiBkaWN0cywgZWFjaCBpbmRpY2F0aW5nIHRoZSBJRCBhbmQgb3B0aW9uc1xuIgorImZvciBhIHNpbmdsZSBmaWx0ZXIuXG4iCisiXG4iCisiRm9yIG9uZS1zaG90IGRlY29tcHJlc3Npb24sIHVzZSB0aGUgZGVjb21wcmVzcygpIGZ1bmN0aW9uIGluc3RlYWQuXG4iKTsKKworc3RhdGljIFB5VHlwZU9iamVjdCBEZWNvbXByZXNzb3JfdHlwZSA9IHsKKyAgICBQeVZhck9iamVjdF9IRUFEX0lOSVQoTlVMTCwgMCkKKyAgICAiX2x6bWEuTFpNQURlY29tcHJlc3NvciIsICAgICAgICAgICAvKiB0cF9uYW1lICovCisgICAgc2l6ZW9mKERlY29tcHJlc3NvciksICAgICAgICAgICAgICAgLyogdHBfYmFzaWNzaXplICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfaXRlbXNpemUgKi8KKyAgICAoZGVzdHJ1Y3RvcilEZWNvbXByZXNzb3JfZGVhbGxvYywgICAvKiB0cF9kZWFsbG9jICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfcHJpbnQgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9nZXRhdHRyICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfc2V0YXR0ciAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX3Jlc2VydmVkICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfcmVwciAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2FzX251bWJlciAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2FzX3NlcXVlbmNlICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfYXNfbWFwcGluZyAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2hhc2ggKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9jYWxsICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfc3RyICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfZ2V0YXR0cm8gKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9zZXRhdHRybyAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2FzX2J1ZmZlciAqLworICAgIFB5X1RQRkxBR1NfREVGQVVMVCwgICAgICAgICAgICAgICAgIC8qIHRwX2ZsYWdzICovCisgICAgRGVjb21wcmVzc29yX2RvYywgICAgICAgICAgICAgICAgICAgLyogdHBfZG9jICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfdHJhdmVyc2UgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9jbGVhciAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX3JpY2hjb21wYXJlICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfd2Vha2xpc3RvZmZzZXQgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9pdGVyICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfaXRlcm5leHQgKi8KKyAgICBEZWNvbXByZXNzb3JfbWV0aG9kcywgICAgICAgICAgICAgICAvKiB0cF9tZXRob2RzICovCisgICAgRGVjb21wcmVzc29yX21lbWJlcnMsICAgICAgICAgICAgICAgLyogdHBfbWVtYmVycyAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2dldHNldCAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2Jhc2UgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9kaWN0ICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfZGVzY3JfZ2V0ICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfZGVzY3Jfc2V0ICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfZGljdG9mZnNldCAqLworICAgIChpbml0cHJvYylEZWNvbXByZXNzb3JfaW5pdCwgICAgICAgIC8qIHRwX2luaXQgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9hbGxvYyAqLworICAgIFB5VHlwZV9HZW5lcmljTmV3LCAgICAgICAgICAgICAgICAgIC8qIHRwX25ldyAqLworfTsKKworCisvKiBNb2R1bGUtbGV2ZWwgZnVuY3Rpb25zLiAqLworCitQeURvY19TVFJWQVIoY2hlY2tfaXNfc3VwcG9ydGVkX2RvYywKKyJjaGVja19pc19zdXBwb3J0ZWQoY2hlY2tfaWQpIC0+IGJvb2xcbiIKKyJcbiIKKyJUZXN0IHdoZXRoZXIgdGhlIGdpdmVuIGludGVncml0eSBjaGVjayBpcyBzdXBwb3J0ZWQuXG4iCisiXG4iCisiQWx3YXlzIHJldHVybnMgVHJ1ZSBmb3IgQ0hFQ0tfTk9ORSBhbmQgQ0hFQ0tfQ1JDMzIuXG4iKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2NoZWNrX2lzX3N1cHBvcnRlZChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgaW50IGNoZWNrX2lkOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJpOmNoZWNrX2lzX3N1cHBvcnRlZCIsICZjaGVja19pZCkpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgcmV0dXJuIFB5Qm9vbF9Gcm9tTG9uZyhsem1hX2NoZWNrX2lzX3N1cHBvcnRlZChjaGVja19pZCkpOworfQorCisKKy8qIE1vZHVsZSBpbml0aWFsaXphdGlvbi4gKi8KKworc3RhdGljIFB5TWV0aG9kRGVmIG1vZHVsZV9tZXRob2RzW10gPSB7CisgICAgeyJjaGVja19pc19zdXBwb3J0ZWQiLCAoUHlDRnVuY3Rpb24pY2hlY2tfaXNfc3VwcG9ydGVkLAorICAgICBNRVRIX1ZBUkFSR1MsIGNoZWNrX2lzX3N1cHBvcnRlZF9kb2N9LAorICAgIHtOVUxMfQorfTsKKworc3RhdGljIFB5TW9kdWxlRGVmIF9sem1hbW9kdWxlID0geworICAgIFB5TW9kdWxlRGVmX0hFQURfSU5JVCwKKyAgICAiX2x6bWEiLAorICAgIE5VTEwsCisgICAgLTEsCisgICAgbW9kdWxlX21ldGhvZHMsCisgICAgTlVMTCwKKyAgICBOVUxMLAorICAgIE5VTEwsCisgICAgTlVMTCwKK307CisKKy8qIFNvbWUgb2Ygb3VyIGNvbnN0YW50cyBhcmUgbW9yZSB0aGFuIDMyIGJpdHMgd2lkZSwgc28gUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQKKyAgIHdvdWxkIG5vdCB3b3JrIGNvcnJlY3RseSBvbiBwbGF0Zm9ybXMgd2l0aCAzMi1iaXQgbG9uZ3MuICovCitzdGF0aWMgaW50Cittb2R1bGVfYWRkX2ludF9jb25zdGFudChQeU9iamVjdCAqbSwgY29uc3QgY2hhciAqbmFtZSwgUFlfTE9OR19MT05HIHZhbHVlKQoreworICAgIFB5T2JqZWN0ICpvID0gUHlMb25nX0Zyb21Mb25nTG9uZyh2YWx1ZSk7CisgICAgaWYgKG8gPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIC0xOworICAgIGlmIChQeU1vZHVsZV9BZGRPYmplY3QobSwgbmFtZSwgbykgPT0gMCkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgUHlfREVDUkVGKG8pOworICAgIHJldHVybiAtMTsKK30KKworI2RlZmluZSBBRERfSU5UX1BSRUZJWF9NQUNSTyhtLCBtYWNybykgXAorICAgIG1vZHVsZV9hZGRfaW50X2NvbnN0YW50KG0sICNtYWNybywgTFpNQV8gIyMgbWFjcm8pCisKK1B5TU9ESU5JVF9GVU5DCitQeUluaXRfX2x6bWEodm9pZCkKK3sKKyAgICBQeU9iamVjdCAqbTsKKworICAgIGVtcHR5X3R1cGxlID0gUHlUdXBsZV9OZXcoMCk7CisgICAgaWYgKGVtcHR5X3R1cGxlID09IE5VTEwpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgbSA9IFB5TW9kdWxlX0NyZWF0ZSgmX2x6bWFtb2R1bGUpOworICAgIGlmIChtID09IE5VTEwpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgaWYgKFB5TW9kdWxlX0FkZEludE1hY3JvKG0sIEZPUk1BVF9BVVRPKSA9PSAtMSB8fAorICAgICAgICBQeU1vZHVsZV9BZGRJbnRNYWNybyhtLCBGT1JNQVRfWFopID09IC0xIHx8CisgICAgICAgIFB5TW9kdWxlX0FkZEludE1hY3JvKG0sIEZPUk1BVF9BTE9ORSkgPT0gLTEgfHwKKyAgICAgICAgUHlNb2R1bGVfQWRkSW50TWFjcm8obSwgRk9STUFUX1JBVykgPT0gLTEgfHwKKyAgICAgICAgQUREX0lOVF9QUkVGSVhfTUFDUk8obSwgQ0hFQ0tfTk9ORSkgPT0gLTEgfHwKKyAgICAgICAgQUREX0lOVF9QUkVGSVhfTUFDUk8obSwgQ0hFQ0tfQ1JDMzIpID09IC0xIHx8CisgICAgICAgIEFERF9JTlRfUFJFRklYX01BQ1JPKG0sIENIRUNLX0NSQzY0KSA9PSAtMSB8fAorICAgICAgICBBRERfSU5UX1BSRUZJWF9NQUNSTyhtLCBDSEVDS19TSEEyNTYpID09IC0xIHx8CisgICAgICAgIEFERF9JTlRfUFJFRklYX01BQ1JPKG0sIENIRUNLX0lEX01BWCkgPT0gLTEgfHwKKyAgICAgICAgQUREX0lOVF9QUkVGSVhfTUFDUk8obSwgQ0hFQ0tfVU5LTk9XTikgPT0gLTEgfHwKKyAgICAgICAgQUREX0lOVF9QUkVGSVhfTUFDUk8obSwgRklMVEVSX0xaTUExKSA9PSAtMSB8fAorICAgICAgICBBRERfSU5UX1BSRUZJWF9NQUNSTyhtLCBGSUxURVJfTFpNQTIpID09IC0xIHx8CisgICAgICAgIEFERF9JTlRfUFJFRklYX01BQ1JPKG0sIEZJTFRFUl9ERUxUQSkgPT0gLTEgfHwKKyAgICAgICAgQUREX0lOVF9QUkVGSVhfTUFDUk8obSwgRklMVEVSX1g4NikgPT0gLTEgfHwKKyAgICAgICAgQUREX0lOVF9QUkVGSVhfTUFDUk8obSwgRklMVEVSX0lBNjQpID09IC0xIHx8CisgICAgICAgIEFERF9JTlRfUFJFRklYX01BQ1JPKG0sIEZJTFRFUl9BUk0pID09IC0xIHx8CisgICAgICAgIEFERF9JTlRfUFJFRklYX01BQ1JPKG0sIEZJTFRFUl9BUk1USFVNQikgPT0gLTEgfHwKKyAgICAgICAgQUREX0lOVF9QUkVGSVhfTUFDUk8obSwgRklMVEVSX1NQQVJDKSA9PSAtMSB8fAorICAgICAgICBBRERfSU5UX1BSRUZJWF9NQUNSTyhtLCBGSUxURVJfUE9XRVJQQykgPT0gLTEgfHwKKyAgICAgICAgQUREX0lOVF9QUkVGSVhfTUFDUk8obSwgTUZfSEMzKSA9PSAtMSB8fAorICAgICAgICBBRERfSU5UX1BSRUZJWF9NQUNSTyhtLCBNRl9IQzQpID09IC0xIHx8CisgICAgICAgIEFERF9JTlRfUFJFRklYX01BQ1JPKG0sIE1GX0JUMikgPT0gLTEgfHwKKyAgICAgICAgQUREX0lOVF9QUkVGSVhfTUFDUk8obSwgTUZfQlQzKSA9PSAtMSB8fAorICAgICAgICBBRERfSU5UX1BSRUZJWF9NQUNSTyhtLCBNRl9CVDQpID09IC0xIHx8CisgICAgICAgIEFERF9JTlRfUFJFRklYX01BQ1JPKG0sIE1PREVfRkFTVCkgPT0gLTEgfHwKKyAgICAgICAgQUREX0lOVF9QUkVGSVhfTUFDUk8obSwgTU9ERV9OT1JNQUwpID09IC0xIHx8CisgICAgICAgIEFERF9JTlRfUFJFRklYX01BQ1JPKG0sIFBSRVNFVF9ERUZBVUxUKSA9PSAtMSB8fAorICAgICAgICBBRERfSU5UX1BSRUZJWF9NQUNSTyhtLCBQUkVTRVRfRVhUUkVNRSkgPT0gLTEpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgRXJyb3IgPSBQeUVycl9OZXdFeGNlcHRpb25XaXRoRG9jKAorICAgICAgICAgICAgIl9sem1hLkxaTUFFcnJvciIsICJDYWxsIHRvIGxpYmx6bWEgZmFpbGVkLiIsIE5VTEwsIE5VTEwpOworICAgIGlmIChFcnJvciA9PSBOVUxMKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBQeV9JTkNSRUYoRXJyb3IpOworICAgIGlmIChQeU1vZHVsZV9BZGRPYmplY3QobSwgIkxaTUFFcnJvciIsIEVycm9yKSA9PSAtMSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICBpZiAoUHlUeXBlX1JlYWR5KCZDb21wcmVzc29yX3R5cGUpID09IC0xKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBQeV9JTkNSRUYoJkNvbXByZXNzb3JfdHlwZSk7CisgICAgaWYgKFB5TW9kdWxlX0FkZE9iamVjdChtLCAiTFpNQUNvbXByZXNzb3IiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgKFB5T2JqZWN0ICopJkNvbXByZXNzb3JfdHlwZSkgPT0gLTEpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgaWYgKFB5VHlwZV9SZWFkeSgmRGVjb21wcmVzc29yX3R5cGUpID09IC0xKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBQeV9JTkNSRUYoJkRlY29tcHJlc3Nvcl90eXBlKTsKKyAgICBpZiAoUHlNb2R1bGVfQWRkT2JqZWN0KG0sICJMWk1BRGVjb21wcmVzc29yIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIChQeU9iamVjdCAqKSZEZWNvbXByZXNzb3JfdHlwZSkgPT0gLTEpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgcmV0dXJuIG07Cit9CmRpZmYgLS1naXQgYS9Nb2R1bGVzL19tdWx0aXByb2Nlc3NpbmcvY29ubmVjdGlvbi5oIGIvTW9kdWxlcy9fbXVsdGlwcm9jZXNzaW5nL2Nvbm5lY3Rpb24uaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAyZDVhYS4uMDAwMDAwMAotLS0gYS9Nb2R1bGVzL19tdWx0aXByb2Nlc3NpbmcvY29ubmVjdGlvbi5oCisrKyAvZGV2L251bGwKQEAgLTEsNTI3ICswLDAgQEAKLS8qCi0gKiBEZWZpbml0aW9uIG9mIGEgYENvbm5lY3Rpb25gIHR5cGUuCi0gKiBVc2VkIGJ5IGBzb2NrZXRfY29ubmVjdGlvbi5jYCBhbmQgYHBpcGVfY29ubmVjdGlvbi5jYC4KLSAqCi0gKiBjb25uZWN0aW9uLmgKLSAqCi0gKiBDb3B5cmlnaHQgKGMpIDIwMDYtMjAwOCwgUiBPdWRrZXJrIC0tLSBzZWUgQ09QWUlORy50eHQKLSAqLwotCi0jaWZuZGVmIENPTk5FQ1RJT05fSAotI2RlZmluZSBDT05ORUNUSU9OX0gKLQotLyoKLSAqIFJlYWQvd3JpdGUgZmxhZ3MKLSAqLwotCi0jZGVmaW5lIFJFQURBQkxFIDEKLSNkZWZpbmUgV1JJVEFCTEUgMgotCi0jZGVmaW5lIENIRUNLX1JFQURBQkxFKHNlbGYpIFwKLSAgICBpZiAoIShzZWxmLT5mbGFncyAmIFJFQURBQkxFKSkgeyBcCi0gICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX0lPRXJyb3IsICJjb25uZWN0aW9uIGlzIHdyaXRlLW9ubHkiKTsgXAotICAgIHJldHVybiBOVUxMOyBcCi0gICAgfQotCi0jZGVmaW5lIENIRUNLX1dSSVRBQkxFKHNlbGYpIFwKLSAgICBpZiAoIShzZWxmLT5mbGFncyAmIFdSSVRBQkxFKSkgeyBcCi0gICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX0lPRXJyb3IsICJjb25uZWN0aW9uIGlzIHJlYWQtb25seSIpOyBcCi0gICAgcmV0dXJuIE5VTEw7IFwKLSAgICB9Ci0KLS8qCi0gKiBBbGxvY2F0aW9uIGFuZCBkZWFsbG9jYXRpb24KLSAqLwotCi1zdGF0aWMgUHlPYmplY3QgKgotY29ubmVjdGlvbl9uZXcoUHlUeXBlT2JqZWN0ICp0eXBlLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3ZHMpCi17Ci0gICAgQ29ubmVjdGlvbk9iamVjdCAqc2VsZjsKLSAgICBIQU5ETEUgaGFuZGxlOwotICAgIEJPT0wgcmVhZGFibGUgPSBUUlVFLCB3cml0YWJsZSA9IFRSVUU7Ci0KLSAgICBzdGF0aWMgY2hhciAqa3dsaXN0W10gPSB7ImhhbmRsZSIsICJyZWFkYWJsZSIsICJ3cml0YWJsZSIsIE5VTEx9OwotCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dkcywgRl9IQU5ETEUgInxpaSIsIGt3bGlzdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmaGFuZGxlLCAmcmVhZGFibGUsICZ3cml0YWJsZSkpCi0gICAgICAgIHJldHVybiBOVUxMOwotCi0gICAgaWYgKGhhbmRsZSA9PSBJTlZBTElEX0hBTkRMRV9WQUxVRSB8fCAoUHlfc3NpemVfdCloYW5kbGUgPCAwKSB7Ci0gICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19JT0Vycm9yLCAiaW52YWxpZCBoYW5kbGUgJXpkIiwKLSAgICAgICAgICAgICAgICAgICAgIChQeV9zc2l6ZV90KWhhbmRsZSk7Ci0gICAgICAgIHJldHVybiBOVUxMOwotICAgIH0KLQotICAgIGlmICghcmVhZGFibGUgJiYgIXdyaXRhYmxlKSB7Ci0gICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgImVpdGhlciByZWFkYWJsZSBvciB3cml0YWJsZSBtdXN0IGJlIHRydWUiKTsKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgfQotCi0gICAgc2VsZiA9IFB5T2JqZWN0X05ldyhDb25uZWN0aW9uT2JqZWN0LCB0eXBlKTsKLSAgICBpZiAoc2VsZiA9PSBOVUxMKQotICAgICAgICByZXR1cm4gTlVMTDsKLQotICAgIHNlbGYtPndlYWtyZWZsaXN0ID0gTlVMTDsKLSAgICBzZWxmLT5oYW5kbGUgPSBoYW5kbGU7Ci0gICAgc2VsZi0+ZmxhZ3MgPSAwOwotCi0gICAgaWYgKHJlYWRhYmxlKQotICAgICAgICBzZWxmLT5mbGFncyB8PSBSRUFEQUJMRTsKLSAgICBpZiAod3JpdGFibGUpCi0gICAgICAgIHNlbGYtPmZsYWdzIHw9IFdSSVRBQkxFOwotICAgIGFzc2VydChzZWxmLT5mbGFncyA+PSAxICYmIHNlbGYtPmZsYWdzIDw9IDMpOwotCi0gICAgcmV0dXJuIChQeU9iamVjdCopc2VsZjsKLX0KLQotc3RhdGljIHZvaWQKLWNvbm5lY3Rpb25fZGVhbGxvYyhDb25uZWN0aW9uT2JqZWN0KiBzZWxmKQotewotICAgIGlmIChzZWxmLT53ZWFrcmVmbGlzdCAhPSBOVUxMKQotICAgICAgICBQeU9iamVjdF9DbGVhcldlYWtSZWZzKChQeU9iamVjdCopc2VsZik7Ci0KLSAgICBpZiAoc2VsZi0+aGFuZGxlICE9IElOVkFMSURfSEFORExFX1ZBTFVFKSB7Ci0gICAgICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKLSAgICAgICAgQ0xPU0Uoc2VsZi0+aGFuZGxlKTsKLSAgICAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKLSAgICB9Ci0gICAgUHlPYmplY3RfRGVsKHNlbGYpOwotfQotCi0vKgotICogRnVuY3Rpb25zIGZvciB0cmFuc2ZlcnJpbmcgYnVmZmVycwotICovCi0KLXN0YXRpYyBQeU9iamVjdCAqCi1jb25uZWN0aW9uX3NlbmRieXRlcyhDb25uZWN0aW9uT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKLXsKLSAgICBQeV9idWZmZXIgcGJ1ZmZlcjsKLSAgICBjaGFyICpidWZmZXI7Ci0gICAgUHlfc3NpemVfdCBsZW5ndGgsIG9mZnNldD0wLCBzaXplPVBZX1NTSVpFX1RfTUlOOwotICAgIGludCByZXM7Ci0KLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgRl9SQlVGRkVSICIqfCIgRl9QWV9TU0laRV9UIEZfUFlfU1NJWkVfVCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgJnBidWZmZXIsICZvZmZzZXQsICZzaXplKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgYnVmZmVyID0gcGJ1ZmZlci5idWY7Ci0gICAgbGVuZ3RoID0gcGJ1ZmZlci5sZW47Ci0KLSAgICBDSEVDS19XUklUQUJMRShzZWxmKTsgLyogWFhYIHJlbGVhc2UgYnVmZmVyIGluIGNhc2Ugb2YgZmFpbHVyZSAqLwotCi0gICAgaWYgKG9mZnNldCA8IDApIHsKLSAgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmcGJ1ZmZlcik7Ci0gICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLCAib2Zmc2V0IGlzIG5lZ2F0aXZlIik7Ci0gICAgICAgIHJldHVybiBOVUxMOwotICAgIH0KLSAgICBpZiAobGVuZ3RoIDwgb2Zmc2V0KSB7Ci0gICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJnBidWZmZXIpOwotICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwgImJ1ZmZlciBsZW5ndGggPCBvZmZzZXQiKTsKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgfQotCi0gICAgaWYgKHNpemUgPT0gUFlfU1NJWkVfVF9NSU4pIHsKLSAgICAgICAgc2l6ZSA9IGxlbmd0aCAtIG9mZnNldDsKLSAgICB9IGVsc2UgewotICAgICAgICBpZiAoc2l6ZSA8IDApIHsKLSAgICAgICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJnBidWZmZXIpOwotICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsICJzaXplIGlzIG5lZ2F0aXZlIik7Ci0gICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgfQotICAgICAgICBpZiAob2Zmc2V0ICsgc2l6ZSA+IGxlbmd0aCkgewotICAgICAgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmcGJ1ZmZlcik7Ci0gICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYnVmZmVyIGxlbmd0aCA8IG9mZnNldCArIHNpemUiKTsKLSAgICAgICAgICAgIHJldHVybiBOVUxMOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgcmVzID0gY29ubl9zZW5kX3N0cmluZyhzZWxmLCBidWZmZXIgKyBvZmZzZXQsIHNpemUpOwotCi0gICAgUHlCdWZmZXJfUmVsZWFzZSgmcGJ1ZmZlcik7Ci0gICAgaWYgKHJlcyA8IDApIHsKLSAgICAgICAgaWYgKFB5RXJyX09jY3VycmVkKCkpCi0gICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgcmV0dXJuIG1wX1NldEVycm9yKFB5RXhjX0lPRXJyb3IsIHJlcyk7Ci0gICAgfQotCi0gICAgUHlfUkVUVVJOX05PTkU7Ci19Ci0KLXN0YXRpYyBQeU9iamVjdCAqCi1jb25uZWN0aW9uX3JlY3ZieXRlcyhDb25uZWN0aW9uT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKLXsKLSAgICBjaGFyICpmcmVlbWUgPSBOVUxMOwotICAgIFB5X3NzaXplX3QgcmVzLCBtYXhsZW5ndGggPSBQWV9TU0laRV9UX01BWDsKLSAgICBQeU9iamVjdCAqcmVzdWx0ID0gTlVMTDsKLQotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAifCIgRl9QWV9TU0laRV9ULCAmbWF4bGVuZ3RoKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0KLSAgICBDSEVDS19SRUFEQUJMRShzZWxmKTsKLQotICAgIGlmIChtYXhsZW5ndGggPCAwKSB7Ci0gICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLCAibWF4bGVuZ3RoIDwgMCIpOwotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICB9Ci0KLSAgICByZXMgPSBjb25uX3JlY3Zfc3RyaW5nKHNlbGYsIHNlbGYtPmJ1ZmZlciwgQ09OTkVDVElPTl9CVUZGRVJfU0laRSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICZmcmVlbWUsIG1heGxlbmd0aCk7Ci0KLSAgICBpZiAocmVzIDwgMCkgewotICAgICAgICBpZiAocmVzID09IE1QX0JBRF9NRVNTQUdFX0xFTkdUSCkgewotICAgICAgICAgICAgaWYgKChzZWxmLT5mbGFncyAmIFdSSVRBQkxFKSA9PSAwKSB7Ci0gICAgICAgICAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgICAgICAgICAgICAgIENMT1NFKHNlbGYtPmhhbmRsZSk7Ci0gICAgICAgICAgICAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKLSAgICAgICAgICAgICAgICBzZWxmLT5oYW5kbGUgPSBJTlZBTElEX0hBTkRMRV9WQUxVRTsKLSAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgc2VsZi0+ZmxhZ3MgPSBXUklUQUJMRTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgICAgICBtcF9TZXRFcnJvcihQeUV4Y19JT0Vycm9yLCByZXMpOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIGlmIChmcmVlbWUgPT0gTlVMTCkgewotICAgICAgICAgICAgcmVzdWx0ID0gUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZShzZWxmLT5idWZmZXIsIHJlcyk7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICByZXN1bHQgPSBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplKGZyZWVtZSwgcmVzKTsKLSAgICAgICAgICAgIFB5TWVtX0ZyZWUoZnJlZW1lKTsKLSAgICAgICAgfQotICAgIH0KLQotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLXN0YXRpYyBQeU9iamVjdCAqCi1jb25uZWN0aW9uX3JlY3ZieXRlc19pbnRvKENvbm5lY3Rpb25PYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQotewotICAgIGNoYXIgKmZyZWVtZSA9IE5VTEwsICpidWZmZXIgPSBOVUxMOwotICAgIFB5X3NzaXplX3QgcmVzLCBsZW5ndGgsIG9mZnNldCA9IDA7Ci0gICAgUHlPYmplY3QgKnJlc3VsdCA9IE5VTEw7Ci0gICAgUHlfYnVmZmVyIHBidWY7Ci0KLSAgICBDSEVDS19SRUFEQUJMRShzZWxmKTsKLQotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAidyp8IiBGX1BZX1NTSVpFX1QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICZwYnVmLCAmb2Zmc2V0KSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0KLSAgICBidWZmZXIgPSBwYnVmLmJ1ZjsKLSAgICBsZW5ndGggPSBwYnVmLmxlbjsKLQotICAgIGlmIChvZmZzZXQgPCAwKSB7Ci0gICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLCAibmVnYXRpdmUgb2Zmc2V0Iik7Ci0gICAgICAgIGdvdG8gX2Vycm9yOwotICAgIH0KLQotICAgIGlmIChvZmZzZXQgPiBsZW5ndGgpIHsKLSAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsICJvZmZzZXQgdG9vIGxhcmdlIik7Ci0gICAgICAgIGdvdG8gX2Vycm9yOwotICAgIH0KLQotICAgIHJlcyA9IGNvbm5fcmVjdl9zdHJpbmcoc2VsZiwgYnVmZmVyK29mZnNldCwgbGVuZ3RoLW9mZnNldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICZmcmVlbWUsIFBZX1NTSVpFX1RfTUFYKTsKLQotICAgIGlmIChyZXMgPCAwKSB7Ci0gICAgICAgIGlmIChyZXMgPT0gTVBfQkFEX01FU1NBR0VfTEVOR1RIKSB7Ci0gICAgICAgICAgICBpZiAoKHNlbGYtPmZsYWdzICYgV1JJVEFCTEUpID09IDApIHsKLSAgICAgICAgICAgICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCi0gICAgICAgICAgICAgICAgQ0xPU0Uoc2VsZi0+aGFuZGxlKTsKLSAgICAgICAgICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwotICAgICAgICAgICAgICAgIHNlbGYtPmhhbmRsZSA9IElOVkFMSURfSEFORExFX1ZBTFVFOwotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICBzZWxmLT5mbGFncyA9IFdSSVRBQkxFOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgICAgIG1wX1NldEVycm9yKFB5RXhjX0lPRXJyb3IsIHJlcyk7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgaWYgKGZyZWVtZSA9PSBOVUxMKSB7Ci0gICAgICAgICAgICByZXN1bHQgPSBQeUludF9Gcm9tU3NpemVfdChyZXMpOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgcmVzdWx0ID0gUHlPYmplY3RfQ2FsbEZ1bmN0aW9uKEJ1ZmZlclRvb1Nob3J0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZfUkJVRkZFUiAiIyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJlZW1lLCByZXMpOwotICAgICAgICAgICAgUHlNZW1fRnJlZShmcmVlbWUpOwotICAgICAgICAgICAgaWYgKHJlc3VsdCkgewotICAgICAgICAgICAgICAgIFB5RXJyX1NldE9iamVjdChCdWZmZXJUb29TaG9ydCwgcmVzdWx0KTsKLSAgICAgICAgICAgICAgICBQeV9ERUNSRUYocmVzdWx0KTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGdvdG8gX2Vycm9yOwotICAgICAgICB9Ci0gICAgfQotCi1fY2xlYW51cDoKLSAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZwYnVmKTsKLSAgICByZXR1cm4gcmVzdWx0OwotCi1fZXJyb3I6Ci0gICAgcmVzdWx0ID0gTlVMTDsKLSAgICBnb3RvIF9jbGVhbnVwOwotfQotCi0vKgotICogRnVuY3Rpb25zIGZvciB0cmFuc2ZlcnJpbmcgb2JqZWN0cwotICovCi0KLXN0YXRpYyBQeU9iamVjdCAqCi1jb25uZWN0aW9uX3NlbmRfb2JqKENvbm5lY3Rpb25PYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpvYmopCi17Ci0gICAgY2hhciAqYnVmZmVyOwotICAgIGludCByZXM7Ci0gICAgUHlfc3NpemVfdCBsZW5ndGg7Ci0gICAgUHlPYmplY3QgKnBpY2tsZWRfc3RyaW5nID0gTlVMTDsKLQotICAgIENIRUNLX1dSSVRBQkxFKHNlbGYpOwotCi0gICAgcGlja2xlZF9zdHJpbmcgPSBQeU9iamVjdF9DYWxsRnVuY3Rpb25PYmpBcmdzKHBpY2tsZV9kdW1wcywgb2JqLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwaWNrbGVfcHJvdG9jb2wsIE5VTEwpOwotICAgIGlmICghcGlja2xlZF9zdHJpbmcpCi0gICAgICAgIGdvdG8gZmFpbHVyZTsKLQotICAgIGlmIChQeUJ5dGVzX0FzU3RyaW5nQW5kU2l6ZShwaWNrbGVkX3N0cmluZywgJmJ1ZmZlciwgJmxlbmd0aCkgPCAwKQotICAgICAgICBnb3RvIGZhaWx1cmU7Ci0KLSAgICByZXMgPSBjb25uX3NlbmRfc3RyaW5nKHNlbGYsIGJ1ZmZlciwgKGludClsZW5ndGgpOwotCi0gICAgaWYgKHJlcyA8IDApIHsKLSAgICAgICAgbXBfU2V0RXJyb3IoUHlFeGNfSU9FcnJvciwgcmVzKTsKLSAgICAgICAgZ290byBmYWlsdXJlOwotICAgIH0KLQotICAgIFB5X1hERUNSRUYocGlja2xlZF9zdHJpbmcpOwotICAgIFB5X1JFVFVSTl9OT05FOwotCi0gIGZhaWx1cmU6Ci0gICAgUHlfWERFQ1JFRihwaWNrbGVkX3N0cmluZyk7Ci0gICAgcmV0dXJuIE5VTEw7Ci19Ci0KLXN0YXRpYyBQeU9iamVjdCAqCi1jb25uZWN0aW9uX3JlY3Zfb2JqKENvbm5lY3Rpb25PYmplY3QgKnNlbGYpCi17Ci0gICAgY2hhciAqZnJlZW1lID0gTlVMTDsKLSAgICBQeV9zc2l6ZV90IHJlczsKLSAgICBQeU9iamVjdCAqdGVtcCA9IE5VTEwsICpyZXN1bHQgPSBOVUxMOwotCi0gICAgQ0hFQ0tfUkVBREFCTEUoc2VsZik7Ci0KLSAgICByZXMgPSBjb25uX3JlY3Zfc3RyaW5nKHNlbGYsIHNlbGYtPmJ1ZmZlciwgQ09OTkVDVElPTl9CVUZGRVJfU0laRSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICZmcmVlbWUsIFBZX1NTSVpFX1RfTUFYKTsKLQotICAgIGlmIChyZXMgPCAwKSB7Ci0gICAgICAgIGlmIChyZXMgPT0gTVBfQkFEX01FU1NBR0VfTEVOR1RIKSB7Ci0gICAgICAgICAgICBpZiAoKHNlbGYtPmZsYWdzICYgV1JJVEFCTEUpID09IDApIHsKLSAgICAgICAgICAgICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCi0gICAgICAgICAgICAgICAgQ0xPU0Uoc2VsZi0+aGFuZGxlKTsKLSAgICAgICAgICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwotICAgICAgICAgICAgICAgIHNlbGYtPmhhbmRsZSA9IElOVkFMSURfSEFORExFX1ZBTFVFOwotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICBzZWxmLT5mbGFncyA9IFdSSVRBQkxFOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgICAgIG1wX1NldEVycm9yKFB5RXhjX0lPRXJyb3IsIHJlcyk7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgaWYgKGZyZWVtZSA9PSBOVUxMKSB7Ci0gICAgICAgICAgICB0ZW1wID0gUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZShzZWxmLT5idWZmZXIsIHJlcyk7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICB0ZW1wID0gUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZShmcmVlbWUsIHJlcyk7Ci0gICAgICAgICAgICBQeU1lbV9GcmVlKGZyZWVtZSk7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBpZiAodGVtcCkKLSAgICAgICAgcmVzdWx0ID0gUHlPYmplY3RfQ2FsbEZ1bmN0aW9uT2JqQXJncyhwaWNrbGVfbG9hZHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVtcCwgTlVMTCk7Ci0gICAgUHlfWERFQ1JFRih0ZW1wKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotCi0vKgotICogT3RoZXIgZnVuY3Rpb25zCi0gKi8KLQotc3RhdGljIFB5T2JqZWN0ICoKLWNvbm5lY3Rpb25fcG9sbChDb25uZWN0aW9uT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKLXsKLSAgICBQeU9iamVjdCAqdGltZW91dF9vYmogPSBOVUxMOwotICAgIGRvdWJsZSB0aW1lb3V0ID0gMC4wOwotICAgIGludCByZXM7Ci0KLSAgICBDSEVDS19SRUFEQUJMRShzZWxmKTsKLQotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAifE8iLCAmdGltZW91dF9vYmopKQotICAgICAgICByZXR1cm4gTlVMTDsKLQotICAgIGlmICh0aW1lb3V0X29iaiA9PSBOVUxMKSB7Ci0gICAgICAgIHRpbWVvdXQgPSAwLjA7Ci0gICAgfSBlbHNlIGlmICh0aW1lb3V0X29iaiA9PSBQeV9Ob25lKSB7Ci0gICAgICAgIHRpbWVvdXQgPSAtMS4wOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIGJsb2NrIGZvcmV2ZXIgKi8KLSAgICB9IGVsc2UgewotICAgICAgICB0aW1lb3V0ID0gUHlGbG9hdF9Bc0RvdWJsZSh0aW1lb3V0X29iaik7Ci0gICAgICAgIGlmIChQeUVycl9PY2N1cnJlZCgpKQotICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgIGlmICh0aW1lb3V0IDwgMC4wKQotICAgICAgICAgICAgdGltZW91dCA9IDAuMDsKLSAgICB9Ci0KLSAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCi0gICAgcmVzID0gY29ubl9wb2xsKHNlbGYsIHRpbWVvdXQsIF9zYXZlKTsKLSAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwotCi0gICAgc3dpdGNoIChyZXMpIHsKLSAgICBjYXNlIFRSVUU6Ci0gICAgICAgIFB5X1JFVFVSTl9UUlVFOwotICAgIGNhc2UgRkFMU0U6Ci0gICAgICAgIFB5X1JFVFVSTl9GQUxTRTsKLSAgICBkZWZhdWx0OgotICAgICAgICByZXR1cm4gbXBfU2V0RXJyb3IoUHlFeGNfSU9FcnJvciwgcmVzKTsKLSAgICB9Ci19Ci0KLXN0YXRpYyBQeU9iamVjdCAqCi1jb25uZWN0aW9uX2ZpbGVubyhDb25uZWN0aW9uT2JqZWN0KiBzZWxmKQotewotICAgIGlmIChzZWxmLT5oYW5kbGUgPT0gSU5WQUxJRF9IQU5ETEVfVkFMVUUpIHsKLSAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX0lPRXJyb3IsICJoYW5kbGUgaXMgaW52YWxpZCIpOwotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICB9Ci0gICAgcmV0dXJuIFB5SW50X0Zyb21Mb25nKChsb25nKXNlbGYtPmhhbmRsZSk7Ci19Ci0KLXN0YXRpYyBQeU9iamVjdCAqCi1jb25uZWN0aW9uX2Nsb3NlKENvbm5lY3Rpb25PYmplY3QgKnNlbGYpCi17Ci0gICAgaWYgKHNlbGYtPmhhbmRsZSAhPSBJTlZBTElEX0hBTkRMRV9WQUxVRSkgewotICAgICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCi0gICAgICAgIENMT1NFKHNlbGYtPmhhbmRsZSk7Ci0gICAgICAgIFB5X0VORF9BTExPV19USFJFQURTCi0gICAgICAgIHNlbGYtPmhhbmRsZSA9IElOVkFMSURfSEFORExFX1ZBTFVFOwotICAgIH0KLQotICAgIFB5X1JFVFVSTl9OT05FOwotfQotCi1zdGF0aWMgUHlPYmplY3QgKgotY29ubmVjdGlvbl9yZXByKENvbm5lY3Rpb25PYmplY3QgKnNlbGYpCi17Ci0gICAgc3RhdGljIGNoYXIgKmNvbm5fdHlwZVtdID0geyJyZWFkLW9ubHkiLCAid3JpdGUtb25seSIsICJyZWFkLXdyaXRlIn07Ci0KLSAgICBhc3NlcnQoc2VsZi0+ZmxhZ3MgPj0gMSAmJiBzZWxmLT5mbGFncyA8PSAzKTsKLSAgICByZXR1cm4gRlJPTV9GT1JNQVQoIjwlcyAlcywgaGFuZGxlICV6ZD4iLAotICAgICAgICAgICAgICAgICAgICAgICBjb25uX3R5cGVbc2VsZi0+ZmxhZ3MgLSAxXSwKLSAgICAgICAgICAgICAgICAgICAgICAgQ09OTkVDVElPTl9OQU1FLCAoUHlfc3NpemVfdClzZWxmLT5oYW5kbGUpOwotfQotCi0vKgotICogR2V0dGVycyBhbmQgc2V0dGVycwotICovCi0KLXN0YXRpYyBQeU9iamVjdCAqCi1jb25uZWN0aW9uX2Nsb3NlZChDb25uZWN0aW9uT2JqZWN0ICpzZWxmLCB2b2lkICpjbG9zdXJlKQotewotICAgIHJldHVybiBQeUJvb2xfRnJvbUxvbmcoKGxvbmcpKHNlbGYtPmhhbmRsZSA9PSBJTlZBTElEX0hBTkRMRV9WQUxVRSkpOwotfQotCi1zdGF0aWMgUHlPYmplY3QgKgotY29ubmVjdGlvbl9yZWFkYWJsZShDb25uZWN0aW9uT2JqZWN0ICpzZWxmLCB2b2lkICpjbG9zdXJlKQotewotICAgIHJldHVybiBQeUJvb2xfRnJvbUxvbmcoKGxvbmcpKHNlbGYtPmZsYWdzICYgUkVBREFCTEUpKTsKLX0KLQotc3RhdGljIFB5T2JqZWN0ICoKLWNvbm5lY3Rpb25fd3JpdGFibGUoQ29ubmVjdGlvbk9iamVjdCAqc2VsZiwgdm9pZCAqY2xvc3VyZSkKLXsKLSAgICByZXR1cm4gUHlCb29sX0Zyb21Mb25nKChsb25nKShzZWxmLT5mbGFncyAmIFdSSVRBQkxFKSk7Ci19Ci0KLS8qCi0gKiBUYWJsZXMKLSAqLwotCi1zdGF0aWMgUHlNZXRob2REZWYgY29ubmVjdGlvbl9tZXRob2RzW10gPSB7Ci0gICAgeyJzZW5kX2J5dGVzIiwgKFB5Q0Z1bmN0aW9uKWNvbm5lY3Rpb25fc2VuZGJ5dGVzLCBNRVRIX1ZBUkFSR1MsCi0gICAgICJzZW5kIHRoZSBieXRlIGRhdGEgZnJvbSBhIHJlYWRhYmxlIGJ1ZmZlci1saWtlIG9iamVjdCJ9LAotICAgIHsicmVjdl9ieXRlcyIsIChQeUNGdW5jdGlvbiljb25uZWN0aW9uX3JlY3ZieXRlcywgTUVUSF9WQVJBUkdTLAotICAgICAicmVjZWl2ZSBieXRlIGRhdGEgYXMgYSBzdHJpbmcifSwKLSAgICB7InJlY3ZfYnl0ZXNfaW50byIsKFB5Q0Z1bmN0aW9uKWNvbm5lY3Rpb25fcmVjdmJ5dGVzX2ludG8sTUVUSF9WQVJBUkdTLAotICAgICAicmVjZWl2ZSBieXRlIGRhdGEgaW50byBhIHdyaXRlYWJsZSBidWZmZXItbGlrZSBvYmplY3RcbiIKLSAgICAgInJldHVybnMgdGhlIG51bWJlciBvZiBieXRlcyByZWFkIn0sCi0KLSAgICB7InNlbmQiLCAoUHlDRnVuY3Rpb24pY29ubmVjdGlvbl9zZW5kX29iaiwgTUVUSF9PLAotICAgICAic2VuZCBhIChwaWNrbGFibGUpIG9iamVjdCJ9LAotICAgIHsicmVjdiIsIChQeUNGdW5jdGlvbiljb25uZWN0aW9uX3JlY3Zfb2JqLCBNRVRIX05PQVJHUywKLSAgICAgInJlY2VpdmUgYSAocGlja2xhYmxlKSBvYmplY3QifSwKLQotICAgIHsicG9sbCIsIChQeUNGdW5jdGlvbiljb25uZWN0aW9uX3BvbGwsIE1FVEhfVkFSQVJHUywKLSAgICAgIndoZXRoZXIgdGhlcmUgaXMgYW55IGlucHV0IGF2YWlsYWJsZSB0byBiZSByZWFkIn0sCi0gICAgeyJmaWxlbm8iLCAoUHlDRnVuY3Rpb24pY29ubmVjdGlvbl9maWxlbm8sIE1FVEhfTk9BUkdTLAotICAgICAiZmlsZSBkZXNjcmlwdG9yIG9yIGhhbmRsZSBvZiB0aGUgY29ubmVjdGlvbiJ9LAotICAgIHsiY2xvc2UiLCAoUHlDRnVuY3Rpb24pY29ubmVjdGlvbl9jbG9zZSwgTUVUSF9OT0FSR1MsCi0gICAgICJjbG9zZSB0aGUgY29ubmVjdGlvbiJ9LAotCi0gICAge05VTEx9ICAvKiBTZW50aW5lbCAqLwotfTsKLQotc3RhdGljIFB5R2V0U2V0RGVmIGNvbm5lY3Rpb25fZ2V0c2V0W10gPSB7Ci0gICAgeyJjbG9zZWQiLCAoZ2V0dGVyKWNvbm5lY3Rpb25fY2xvc2VkLCBOVUxMLAotICAgICAiVHJ1ZSBpZiB0aGUgY29ubmVjdGlvbiBpcyBjbG9zZWQiLCBOVUxMfSwKLSAgICB7InJlYWRhYmxlIiwgKGdldHRlciljb25uZWN0aW9uX3JlYWRhYmxlLCBOVUxMLAotICAgICAiVHJ1ZSBpZiB0aGUgY29ubmVjdGlvbiBpcyByZWFkYWJsZSIsIE5VTEx9LAotICAgIHsid3JpdGFibGUiLCAoZ2V0dGVyKWNvbm5lY3Rpb25fd3JpdGFibGUsIE5VTEwsCi0gICAgICJUcnVlIGlmIHRoZSBjb25uZWN0aW9uIGlzIHdyaXRhYmxlIiwgTlVMTH0sCi0gICAge05VTEx9Ci19OwotCi0vKgotICogQ29ubmVjdGlvbiB0eXBlCi0gKi8KLQotUHlEb2NfU1RSVkFSKGNvbm5lY3Rpb25fZG9jLAotICAgICAgICAgICAgICJDb25uZWN0aW9uIHR5cGUgd2hvc2UgY29uc3RydWN0b3Igc2lnbmF0dXJlIGlzXG5cbiIKLSAgICAgICAgICAgICAiICAgIENvbm5lY3Rpb24oaGFuZGxlLCByZWFkYWJsZT1UcnVlLCB3cml0YWJsZT1UcnVlKS5cblxuIgotICAgICAgICAgICAgICJUaGUgY29uc3RydWN0b3IgZG9lcyAqbm90KiBkdXBsaWNhdGUgdGhlIGhhbmRsZS4iKTsKLQotUHlUeXBlT2JqZWN0IENPTk5FQ1RJT05fVFlQRSA9IHsKLSAgICBQeVZhck9iamVjdF9IRUFEX0lOSVQoTlVMTCwgMCkKLSAgICAvKiB0cF9uYW1lICAgICAgICAgICAqLyAiX211bHRpcHJvY2Vzc2luZy4iIENPTk5FQ1RJT05fTkFNRSwKLSAgICAvKiB0cF9iYXNpY3NpemUgICAgICAqLyBzaXplb2YoQ29ubmVjdGlvbk9iamVjdCksCi0gICAgLyogdHBfaXRlbXNpemUgICAgICAgKi8gMCwKLSAgICAvKiB0cF9kZWFsbG9jICAgICAgICAqLyAoZGVzdHJ1Y3Rvciljb25uZWN0aW9uX2RlYWxsb2MsCi0gICAgLyogdHBfcHJpbnQgICAgICAgICAgKi8gMCwKLSAgICAvKiB0cF9nZXRhdHRyICAgICAgICAqLyAwLAotICAgIC8qIHRwX3NldGF0dHIgICAgICAgICovIDAsCi0gICAgLyogdHBfcmVzZXJ2ZWQgICAgICAgKi8gMCwKLSAgICAvKiB0cF9yZXByICAgICAgICAgICAqLyAocmVwcmZ1bmMpY29ubmVjdGlvbl9yZXByLAotICAgIC8qIHRwX2FzX251bWJlciAgICAgICovIDAsCi0gICAgLyogdHBfYXNfc2VxdWVuY2UgICAgKi8gMCwKLSAgICAvKiB0cF9hc19tYXBwaW5nICAgICAqLyAwLAotICAgIC8qIHRwX2hhc2ggICAgICAgICAgICovIDAsCi0gICAgLyogdHBfY2FsbCAgICAgICAgICAgKi8gMCwKLSAgICAvKiB0cF9zdHIgICAgICAgICAgICAqLyAwLAotICAgIC8qIHRwX2dldGF0dHJvICAgICAgICovIDAsCi0gICAgLyogdHBfc2V0YXR0cm8gICAgICAgKi8gMCwKLSAgICAvKiB0cF9hc19idWZmZXIgICAgICAqLyAwLAotICAgIC8qIHRwX2ZsYWdzICAgICAgICAgICovIFB5X1RQRkxBR1NfREVGQVVMVCB8IFB5X1RQRkxBR1NfQkFTRVRZUEUgfAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5X1RQRkxBR1NfSEFWRV9XRUFLUkVGUywKLSAgICAvKiB0cF9kb2MgICAgICAgICAgICAqLyBjb25uZWN0aW9uX2RvYywKLSAgICAvKiB0cF90cmF2ZXJzZSAgICAgICAqLyAwLAotICAgIC8qIHRwX2NsZWFyICAgICAgICAgICovIDAsCi0gICAgLyogdHBfcmljaGNvbXBhcmUgICAgKi8gMCwKLSAgICAvKiB0cF93ZWFrbGlzdG9mZnNldCAqLyBvZmZzZXRvZihDb25uZWN0aW9uT2JqZWN0LCB3ZWFrcmVmbGlzdCksCi0gICAgLyogdHBfaXRlciAgICAgICAgICAgKi8gMCwKLSAgICAvKiB0cF9pdGVybmV4dCAgICAgICAqLyAwLAotICAgIC8qIHRwX21ldGhvZHMgICAgICAgICovIGNvbm5lY3Rpb25fbWV0aG9kcywKLSAgICAvKiB0cF9tZW1iZXJzICAgICAgICAqLyAwLAotICAgIC8qIHRwX2dldHNldCAgICAgICAgICovIGNvbm5lY3Rpb25fZ2V0c2V0LAotICAgIC8qIHRwX2Jhc2UgICAgICAgICAgICovIDAsCi0gICAgLyogdHBfZGljdCAgICAgICAgICAgKi8gMCwKLSAgICAvKiB0cF9kZXNjcl9nZXQgICAgICAqLyAwLAotICAgIC8qIHRwX2Rlc2NyX3NldCAgICAgICovIDAsCi0gICAgLyogdHBfZGljdG9mZnNldCAgICAgKi8gMCwKLSAgICAvKiB0cF9pbml0ICAgICAgICAgICAqLyAwLAotICAgIC8qIHRwX2FsbG9jICAgICAgICAgICovIDAsCi0gICAgLyogdHBfbmV3ICAgICAgICAgICAgKi8gY29ubmVjdGlvbl9uZXcsCi19OwotCi0jZW5kaWYgLyogQ09OTkVDVElPTl9IICovCmRpZmYgLS1naXQgYS9Nb2R1bGVzL19tdWx0aXByb2Nlc3NpbmcvbXVsdGlwcm9jZXNzaW5nLmMgYi9Nb2R1bGVzL19tdWx0aXByb2Nlc3NpbmcvbXVsdGlwcm9jZXNzaW5nLmMKaW5kZXggZWUyNTBlMC4uZDM3MGY5YSAxMDA2NDQKLS0tIGEvTW9kdWxlcy9fbXVsdGlwcm9jZXNzaW5nL211bHRpcHJvY2Vzc2luZy5jCisrKyBiL01vZHVsZXMvX211bHRpcHJvY2Vzc2luZy9tdWx0aXByb2Nlc3NpbmcuYwpAQCAtOCwxNSArOCw5IEBACiAKICNpbmNsdWRlICJtdWx0aXByb2Nlc3NpbmcuaCIKIAotI2lmIChkZWZpbmVkKENNU0dfTEVOKSAmJiBkZWZpbmVkKFNDTV9SSUdIVFMpKQotICAgICNkZWZpbmUgSEFWRV9GRF9UUkFOU0ZFUiAxCi0jZWxzZQotICAgICNkZWZpbmUgSEFWRV9GRF9UUkFOU0ZFUiAwCi0jZW5kaWYKIAogUHlPYmplY3QgKmNyZWF0ZV93aW4zMl9uYW1lc3BhY2Uodm9pZCk7CiAKLVB5T2JqZWN0ICpwaWNrbGVfZHVtcHMsICpwaWNrbGVfbG9hZHMsICpwaWNrbGVfcHJvdG9jb2w7CiBQeU9iamVjdCAqUHJvY2Vzc0Vycm9yLCAqQnVmZmVyVG9vU2hvcnQ7CiAKIC8qCkBAIC00OSwxNiArNDMsNiBAQAogICAgIGNhc2UgTVBfTUVNT1JZX0VSUk9SOgogICAgICAgICBQeUVycl9Ob01lbW9yeSgpOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIE1QX0VORF9PRl9GSUxFOgotICAgICAgICBQeUVycl9TZXROb25lKFB5RXhjX0VPRkVycm9yKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBNUF9FQVJMWV9FTkRfT0ZfRklMRToKLSAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX0lPRXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZ290IGVuZCBvZiBmaWxlIGR1cmluZyBtZXNzYWdlIik7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgTVBfQkFEX01FU1NBR0VfTEVOR1RIOgotICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfSU9FcnJvciwgImJhZCBtZXNzYWdlIGxlbmd0aCIpOwotICAgICAgICBicmVhazsKICAgICBjYXNlIE1QX0VYQ0VQVElPTl9IQVNfQkVFTl9TRVQ6CiAgICAgICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6CkBAIC02OSwxMzggKzUzLDYgQEAKIH0KIAogCi0vKgotICogV2luZG93cyBvbmx5Ci0gKi8KLQotI2lmZGVmIE1TX1dJTkRPV1MKLQotLyogT24gV2luZG93cyB3ZSBzZXQgYW4gZXZlbnQgdG8gc2lnbmFsIEN0cmwtQzsgY29tcGFyZSB3aXRoIHRpbWVtb2R1bGUuYyAqLwotCi1IQU5ETEUgc2lnaW50X2V2ZW50ID0gTlVMTDsKLQotc3RhdGljIEJPT0wgV0lOQVBJCi1Qcm9jZXNzaW5nQ3RybEhhbmRsZXIoRFdPUkQgZHdDdHJsVHlwZSkKLXsKLSAgICBTZXRFdmVudChzaWdpbnRfZXZlbnQpOwotICAgIHJldHVybiBGQUxTRTsKLX0KLQotLyoKLSAqIFVuaXggb25seQotICovCi0KLSNlbHNlIC8qICFNU19XSU5ET1dTICovCi0KLSNpZiBIQVZFX0ZEX1RSQU5TRkVSCi0KLS8qIEZ1bmN0aW9ucyBmb3IgdHJhbnNmZXJyaW5nIGZpbGUgZGVzY3JpcHRvcnMgYmV0d2VlbiBwcm9jZXNzZXMuCi0gICBSZWltcGxlbWVudHMgc29tZSBvZiB0aGUgZnVuY3Rpb25hbGl0eSBvZiB0aGUgZmRjcmVkCi0gICBtb2R1bGUgYXQgaHR0cDovL3d3dy5tY2EtbHRkLmNvbS9yZXNvdXJjZXMvZmRjcmVkXzEudGd6LiAqLwotLyogQmFzZWQgaW4gaHR0cDovL3Jlc2luLmNzb2Z0Lm5ldC9jZ2ktYmluL21hbi5jZ2k/c2VjdGlvbj0zJnRvcGljPUNNU0dfREFUQSAqLwotCi1zdGF0aWMgUHlPYmplY3QgKgotbXVsdGlwcm9jZXNzaW5nX3NlbmRmZChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCi17Ci0gICAgaW50IGNvbm4sIGZkLCByZXM7Ci0gICAgc3RydWN0IGlvdmVjIGR1bW15X2lvdjsKLSAgICBjaGFyIGR1bW15X2NoYXI7Ci0gICAgc3RydWN0IG1zZ2hkciBtc2c7Ci0gICAgc3RydWN0IGNtc2doZHIgKmNtc2c7Ci0gICAgdW5pb24gewotICAgICAgICBzdHJ1Y3QgY21zZ2hkciBoZHI7Ci0gICAgICAgIHVuc2lnbmVkIGNoYXIgYnVmW0NNU0dfU1BBQ0Uoc2l6ZW9mKGludCkpXTsKLSAgICB9IGNtc2didWY7Ci0KLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgImlpIiwgJmNvbm4sICZmZCkpCi0gICAgICAgIHJldHVybiBOVUxMOwotCi0gICAgZHVtbXlfaW92Lmlvdl9iYXNlID0gJmR1bW15X2NoYXI7Ci0gICAgZHVtbXlfaW92Lmlvdl9sZW4gPSAxOwotCi0gICAgbWVtc2V0KCZtc2csIDAsIHNpemVvZihtc2cpKTsKLSAgICBtc2cubXNnX2NvbnRyb2wgPSAmY21zZ2J1Zi5idWY7Ci0gICAgbXNnLm1zZ19jb250cm9sbGVuID0gc2l6ZW9mKGNtc2didWYuYnVmKTsKLSAgICBtc2cubXNnX2lvdiA9ICZkdW1teV9pb3Y7Ci0gICAgbXNnLm1zZ19pb3ZsZW4gPSAxOwotCi0gICAgY21zZyA9IENNU0dfRklSU1RIRFIoJm1zZyk7Ci0gICAgY21zZy0+Y21zZ19sZW4gPSBDTVNHX0xFTihzaXplb2YoaW50KSk7Ci0gICAgY21zZy0+Y21zZ19sZXZlbCA9IFNPTF9TT0NLRVQ7Ci0gICAgY21zZy0+Y21zZ190eXBlID0gU0NNX1JJR0hUUzsKLSAgICAqIChpbnQgKikgQ01TR19EQVRBKGNtc2cpID0gZmQ7Ci0KLSAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCi0gICAgcmVzID0gc2VuZG1zZyhjb25uLCAmbXNnLCAwKTsKLSAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwotCi0gICAgaWYgKHJlcyA8IDApCi0gICAgICAgIHJldHVybiBQeUVycl9TZXRGcm9tRXJybm8oUHlFeGNfT1NFcnJvcik7Ci0gICAgUHlfUkVUVVJOX05PTkU7Ci19Ci0KLXN0YXRpYyBQeU9iamVjdCAqCi1tdWx0aXByb2Nlc3NpbmdfcmVjdmZkKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKLXsKLSAgICBpbnQgY29ubiwgZmQsIHJlczsKLSAgICBjaGFyIGR1bW15X2NoYXI7Ci0gICAgc3RydWN0IGlvdmVjIGR1bW15X2lvdjsKLSAgICBzdHJ1Y3QgbXNnaGRyIG1zZyA9IHswfTsKLSAgICBzdHJ1Y3QgY21zZ2hkciAqY21zZzsKLSAgICB1bmlvbiB7Ci0gICAgICAgIHN0cnVjdCBjbXNnaGRyIGhkcjsKLSAgICAgICAgdW5zaWduZWQgY2hhciBidWZbQ01TR19TUEFDRShzaXplb2YoaW50KSldOwotICAgIH0gY21zZ2J1ZjsKLQotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiaSIsICZjb25uKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0KLSAgICBkdW1teV9pb3YuaW92X2Jhc2UgPSAmZHVtbXlfY2hhcjsKLSAgICBkdW1teV9pb3YuaW92X2xlbiA9IDE7Ci0KLSAgICBtZW1zZXQoJm1zZywgMCwgc2l6ZW9mKG1zZykpOwotICAgIG1zZy5tc2dfY29udHJvbCA9ICZjbXNnYnVmLmJ1ZjsKLSAgICBtc2cubXNnX2NvbnRyb2xsZW4gPSBzaXplb2YoY21zZ2J1Zi5idWYpOwotICAgIG1zZy5tc2dfaW92ID0gJmR1bW15X2lvdjsKLSAgICBtc2cubXNnX2lvdmxlbiA9IDE7Ci0KLSAgICBjbXNnID0gQ01TR19GSVJTVEhEUigmbXNnKTsKLSAgICBjbXNnLT5jbXNnX2xldmVsID0gU09MX1NPQ0tFVDsKLSAgICBjbXNnLT5jbXNnX3R5cGUgPSBTQ01fUklHSFRTOwotICAgIGNtc2ctPmNtc2dfbGVuID0gQ01TR19MRU4oc2l6ZW9mKGludCkpOwotICAgIG1zZy5tc2dfY29udHJvbGxlbiA9IGNtc2ctPmNtc2dfbGVuOwotCi0gICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgIHJlcyA9IHJlY3Ztc2coY29ubiwgJm1zZywgMCk7Ci0gICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKLQotICAgIGlmIChyZXMgPCAwKQotICAgICAgICByZXR1cm4gUHlFcnJfU2V0RnJvbUVycm5vKFB5RXhjX09TRXJyb3IpOwotCi0gICAgaWYgKG1zZy5tc2dfY29udHJvbGxlbiA8IENNU0dfTEVOKHNpemVvZihpbnQpKSB8fAotICAgICAgICAoY21zZyA9IENNU0dfRklSU1RIRFIoJm1zZykpID09IE5VTEwgfHwKLSAgICAgICAgY21zZy0+Y21zZ19sZXZlbCAhPSBTT0xfU09DS0VUIHx8Ci0gICAgICAgIGNtc2ctPmNtc2dfdHlwZSAhPSBTQ01fUklHSFRTIHx8Ci0gICAgICAgIGNtc2ctPmNtc2dfbGVuIDwgQ01TR19MRU4oc2l6ZW9mKGludCkpKSB7Ci0gICAgICAgIC8qIElmIGF0IGxlYXN0IG9uZSBjb250cm9sIG1lc3NhZ2UgaXMgcHJlc2VudCwgdGhlcmUgc2hvdWxkIGJlCi0gICAgICAgICAgIG5vIHJvb20gZm9yIGFueSBmdXJ0aGVyIGRhdGEgaW4gdGhlIGJ1ZmZlci4gKi8KLSAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1J1bnRpbWVFcnJvciwgIk5vIGZpbGUgZGVzY3JpcHRvciByZWNlaXZlZCIpOwotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICB9Ci0KLSAgICBmZCA9ICogKGludCAqKSBDTVNHX0RBVEEoY21zZyk7Ci0gICAgcmV0dXJuIFB5X0J1aWxkVmFsdWUoImkiLCBmZCk7Ci19Ci0KLSNlbmRpZiAvKiBIQVZFX0ZEX1RSQU5TRkVSICovCi0KLSNlbmRpZiAvKiAhTVNfV0lORE9XUyAqLwotCi0KLS8qCi0gKiBBbGwgcGxhdGZvcm1zCi0gKi8KLQogc3RhdGljIFB5T2JqZWN0KgogbXVsdGlwcm9jZXNzaW5nX2FkZHJlc3Nfb2ZfYnVmZmVyKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqb2JqKQogewpAQCAtMjEwLDcgKzYyLDcgQEAKICAgICBpZiAoUHlPYmplY3RfQXNXcml0ZUJ1ZmZlcihvYmosICZidWZmZXIsICZidWZmZXJfbGVuKSA8IDApCiAgICAgICAgIHJldHVybiBOVUxMOwogCi0gICAgcmV0dXJuIFB5X0J1aWxkVmFsdWUoIk4iIEZfUFlfU1NJWkVfVCwKKyAgICByZXR1cm4gUHlfQnVpbGRWYWx1ZSgiTm4iLAogICAgICAgICAgICAgICAgICAgICAgICAgIFB5TG9uZ19Gcm9tVm9pZFB0cihidWZmZXIpLCBidWZmZXJfbGVuKTsKIH0KIApAQCAtMjIzLDE2ICs3NSw2IEBACiAgICAgeyJhZGRyZXNzX29mX2J1ZmZlciIsIG11bHRpcHJvY2Vzc2luZ19hZGRyZXNzX29mX2J1ZmZlciwgTUVUSF9PLAogICAgICAiYWRkcmVzc19vZl9idWZmZXIob2JqKSAtPiBpbnRcbiIKICAgICAgIlJldHVybiBhZGRyZXNzIG9mIG9iaiBhc3N1bWluZyBvYmogc3VwcG9ydHMgYnVmZmVyIGludGVmYWNlIn0sCi0jaWYgSEFWRV9GRF9UUkFOU0ZFUgotICAgIHsic2VuZGZkIiwgbXVsdGlwcm9jZXNzaW5nX3NlbmRmZCwgTUVUSF9WQVJBUkdTLAotICAgICAic2VuZGZkKHNvY2tmZCwgZmQpIC0+IE5vbmVcbiIKLSAgICAgIlNlbmQgZmlsZSBkZXNjcmlwdG9yIGdpdmVuIGJ5IGZkIG92ZXIgdGhlIHVuaXggZG9tYWluIHNvY2tldFxuIgotICAgICAid2hvc2UgZmlsZSBkZWNyaXB0b3IgaXMgc29ja2ZkIn0sCi0gICAgeyJyZWN2ZmQiLCBtdWx0aXByb2Nlc3NpbmdfcmVjdmZkLCBNRVRIX1ZBUkFSR1MsCi0gICAgICJyZWN2ZmQoc29ja2ZkKSAtPiBmZFxuIgotICAgICAiUmVjZWl2ZSBhIGZpbGUgZGVzY3JpcHRvciBvdmVyIGEgdW5peCBkb21haW4gc29ja2V0XG4iCi0gICAgICJ3aG9zZSBmaWxlIGRlY3JpcHRvciBpcyBzb2NrZmQifSwKLSNlbmRpZgogICAgIHtOVUxMfQogfTsKIApAQCAtMjU3LDIyICs5OSwxMyBAQAogUHlNT0RJTklUX0ZVTkMKIFB5SW5pdF9fbXVsdGlwcm9jZXNzaW5nKHZvaWQpCiB7Ci0gICAgUHlPYmplY3QgKm1vZHVsZSwgKnRlbXAsICp2YWx1ZTsKKyAgICBQeU9iamVjdCAqbW9kdWxlLCAqdGVtcCwgKnZhbHVlID0gTlVMTDsKIAogICAgIC8qIEluaXRpYWxpemUgbW9kdWxlICovCiAgICAgbW9kdWxlID0gUHlNb2R1bGVfQ3JlYXRlKCZtdWx0aXByb2Nlc3NpbmdfbW9kdWxlKTsKICAgICBpZiAoIW1vZHVsZSkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKLSAgICAvKiBHZXQgY29weSBvZiBvYmplY3RzIGZyb20gcGlja2xlICovCi0gICAgdGVtcCA9IFB5SW1wb3J0X0ltcG9ydE1vZHVsZShQSUNLTEVfTU9EVUxFKTsKLSAgICBpZiAoIXRlbXApCi0gICAgICAgIHJldHVybiBOVUxMOwotICAgIHBpY2tsZV9kdW1wcyA9IFB5T2JqZWN0X0dldEF0dHJTdHJpbmcodGVtcCwgImR1bXBzIik7Ci0gICAgcGlja2xlX2xvYWRzID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyh0ZW1wLCAibG9hZHMiKTsKLSAgICBwaWNrbGVfcHJvdG9jb2wgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKHRlbXAsICJISUdIRVNUX1BST1RPQ09MIik7Ci0gICAgUHlfWERFQ1JFRih0ZW1wKTsKLQogICAgIC8qIEdldCBjb3B5IG9mIEJ1ZmZlclRvb1Nob3J0ICovCiAgICAgdGVtcCA9IFB5SW1wb3J0X0ltcG9ydE1vZHVsZSgibXVsdGlwcm9jZXNzaW5nIik7CiAgICAgaWYgKCF0ZW1wKQpAQCAtMjgwLDEyICsxMTMsNiBAQAogICAgIEJ1ZmZlclRvb1Nob3J0ID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyh0ZW1wLCAiQnVmZmVyVG9vU2hvcnQiKTsKICAgICBQeV9YREVDUkVGKHRlbXApOwogCi0gICAgLyogQWRkIGNvbm5lY3Rpb24gdHlwZSB0byBtb2R1bGUgKi8KLSAgICBpZiAoUHlUeXBlX1JlYWR5KCZDb25uZWN0aW9uVHlwZSkgPCAwKQotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBQeV9JTkNSRUYoJkNvbm5lY3Rpb25UeXBlKTsKLSAgICBQeU1vZHVsZV9BZGRPYmplY3QobW9kdWxlLCAiQ29ubmVjdGlvbiIsIChQeU9iamVjdCopJkNvbm5lY3Rpb25UeXBlKTsKLQogI2lmIGRlZmluZWQoTVNfV0lORE9XUykgfHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAoZGVmaW5lZChIQVZFX1NFTV9PUEVOKSAmJiAhZGVmaW5lZChQT1NJWF9TRU1BUEhPUkVTX05PVF9FTkFCTEVEKSkKICAgICAvKiBBZGQgU2VtTG9jayB0eXBlIHRvIG1vZHVsZSAqLwpAQCAtMzA5LDI5ICsxMzYsMTEgQEAKICNlbmRpZgogCiAjaWZkZWYgTVNfV0lORE9XUwotICAgIC8qIEFkZCBQaXBlQ29ubmVjdGlvbiB0byBtb2R1bGUgKi8KLSAgICBpZiAoUHlUeXBlX1JlYWR5KCZQaXBlQ29ubmVjdGlvblR5cGUpIDwgMCkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgUHlfSU5DUkVGKCZQaXBlQ29ubmVjdGlvblR5cGUpOwotICAgIFB5TW9kdWxlX0FkZE9iamVjdChtb2R1bGUsICJQaXBlQ29ubmVjdGlvbiIsCi0gICAgICAgICAgICAgICAgICAgICAgIChQeU9iamVjdCopJlBpcGVDb25uZWN0aW9uVHlwZSk7Ci0KICAgICAvKiBJbml0aWFsaXplIHdpbjMyIGNsYXNzIGFuZCBhZGQgdG8gbXVsdGlwcm9jZXNzaW5nICovCiAgICAgdGVtcCA9IGNyZWF0ZV93aW4zMl9uYW1lc3BhY2UoKTsKICAgICBpZiAoIXRlbXApCiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIFB5TW9kdWxlX0FkZE9iamVjdChtb2R1bGUsICJ3aW4zMiIsIHRlbXApOwotCi0gICAgLyogSW5pdGlhbGl6ZSB0aGUgZXZlbnQgaGFuZGxlIHVzZWQgdG8gc2lnbmFsIEN0cmwtQyAqLwotICAgIHNpZ2ludF9ldmVudCA9IENyZWF0ZUV2ZW50KE5VTEwsIFRSVUUsIEZBTFNFLCBOVUxMKTsKLSAgICBpZiAoIXNpZ2ludF9ldmVudCkgewotICAgICAgICBQeUVycl9TZXRGcm9tV2luZG93c0VycigwKTsKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgfQotICAgIGlmICghU2V0Q29uc29sZUN0cmxIYW5kbGVyKFByb2Nlc3NpbmdDdHJsSGFuZGxlciwgVFJVRSkpIHsKLSAgICAgICAgUHlFcnJfU2V0RnJvbVdpbmRvd3NFcnIoMCk7Ci0gICAgICAgIHJldHVybiBOVUxMOwotICAgIH0KICNlbmRpZgogCiAgICAgLyogQWRkIGNvbmZpZ3VyYXRpb24gbWFjcm9zICovCkBAIC0zNTIsOSArMTYxLDYgQEAKICNpZmRlZiBIQVZFX1NFTV9USU1FRFdBSVQKICAgICBBRERfRkxBRyhIQVZFX1NFTV9USU1FRFdBSVQpOwogI2VuZGlmCi0jaWZkZWYgSEFWRV9GRF9UUkFOU0ZFUgotICAgIEFERF9GTEFHKEhBVkVfRkRfVFJBTlNGRVIpOwotI2VuZGlmCiAjaWZkZWYgSEFWRV9CUk9LRU5fU0VNX0dFVFZBTFVFCiAgICAgQUREX0ZMQUcoSEFWRV9CUk9LRU5fU0VNX0dFVFZBTFVFKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9fbXVsdGlwcm9jZXNzaW5nL211bHRpcHJvY2Vzc2luZy5oIGIvTW9kdWxlcy9fbXVsdGlwcm9jZXNzaW5nL211bHRpcHJvY2Vzc2luZy5oCmluZGV4IDE0NDI1ZGUuLmUzZGU5YmEgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvX211bHRpcHJvY2Vzc2luZy9tdWx0aXByb2Nlc3NpbmcuaAorKysgYi9Nb2R1bGVzL19tdWx0aXByb2Nlc3NpbmcvbXVsdGlwcm9jZXNzaW5nLmgKQEAgLTMsMTIgKzMsNiBAQAogCiAjZGVmaW5lIFBZX1NTSVpFX1RfQ0xFQU4KIAotI2lmZGVmIF9fc3VuCi0vKiBUaGUgY29udHJvbCBtZXNzYWdlIEFQSSBpcyBvbmx5IGF2YWlsYWJsZSBvbiBTb2xhcmlzIAotICAgaWYgWFBHIDQuMiBvciBsYXRlciBpcyByZXF1ZXN0ZWQuICovCi0jZGVmaW5lIF9YT1BFTl9TT1VSQ0UgNTAwCi0jZW5kaWYKLQogI2luY2x1ZGUgIlB5dGhvbi5oIgogI2luY2x1ZGUgInN0cnVjdG1lbWJlci5oIgogI2luY2x1ZGUgInB5dGhyZWFkLmgiCkBAIC0yOSwxMCArMjMsNiBAQAogIyAgZGVmaW5lIFNFTV9WQUxVRV9NQVggTE9OR19NQVgKICNlbHNlCiAjICBpbmNsdWRlIDxmY250bC5oPiAgICAgICAgICAgICAgICAgLyogT19DUkVBVCBhbmQgT19FWENMICovCi0jICBpbmNsdWRlIDxuZXRpbmV0L2luLmg+Ci0jICBpbmNsdWRlIDxzeXMvc29ja2V0Lmg+Ci0jICBpbmNsdWRlIDxzeXMvdWlvLmg+Ci0jICBpbmNsdWRlIDxhcnBhL2luZXQuaD4gICAgICAgICAgICAgLyogaHRvbmwoKSBhbmQgbnRvaGwoKSAqLwogIyAgaWYgZGVmaW5lZChIQVZFX1NFTV9PUEVOKSAmJiAhZGVmaW5lZChQT1NJWF9TRU1BUEhPUkVTX05PVF9FTkFCTEVEKQogIyAgICBpbmNsdWRlIDxzZW1hcGhvcmUuaD4KICAgICAgdHlwZWRlZiBzZW1fdCAqU0VNX0hBTkRMRTsKQEAgLTY0LDIwICs1NCw2IEBACiAKIAogLyoKLSAqIE1ha2Ugc3VyZSBQeV9zc2l6ZV90IGF2YWlsYWJsZQotICovCi0KLSNpZiBQWV9WRVJTSU9OX0hFWCA8IDB4MDIwNTAwMDAgJiYgIWRlZmluZWQoUFlfU1NJWkVfVF9NSU4pCi0gICB0eXBlZGVmIGludCBQeV9zc2l6ZV90OwotIyAgZGVmaW5lIFBZX1NTSVpFX1RfTUFYIElOVF9NQVgKLSMgIGRlZmluZSBQWV9TU0laRV9UX01JTiBJTlRfTUlOCi0jICBkZWZpbmUgRl9QWV9TU0laRV9UICJpIgotIyAgZGVmaW5lIFB5SW50X0Zyb21Tc2l6ZV90KG4pIFB5SW50X0Zyb21Mb25nKChsb25nKW4pCi0jZWxzZQotIyAgZGVmaW5lIEZfUFlfU1NJWkVfVCAibiIKLSNlbmRpZgotCi0vKgogICogRm9ybWF0IGNvZGVzCiAgKi8KIApAQCAtMTA1LDEyICs4MSw2IEBACiAjICBkZWZpbmUgVF9TRU1fSEFORExFIFRfUE9JTlRFUgogI2VuZGlmCiAKLSNpZiBQWV9WRVJTSU9OX0hFWCA+PSAweDAzMDAwMDAwCi0jICBkZWZpbmUgRl9SQlVGRkVSICJ5IgotI2Vsc2UKLSMgIGRlZmluZSBGX1JCVUZGRVIgInMiCi0jZW5kaWYKLQogLyoKICAqIEVycm9yIGNvZGVzIHdoaWNoIGNhbiBiZSByZXR1cm5lZCBieSBmdW5jdGlvbnMgY2FsbGVkIHdpdGhvdXQgR0lMCiAgKi8KQEAgLTExOCwxMSArODgsOCBAQAogI2RlZmluZSBNUF9TVUNDRVNTICgwKQogI2RlZmluZSBNUF9TVEFOREFSRF9FUlJPUiAoLTEpCiAjZGVmaW5lIE1QX01FTU9SWV9FUlJPUiAoLTEwMDEpCi0jZGVmaW5lIE1QX0VORF9PRl9GSUxFICgtMTAwMikKLSNkZWZpbmUgTVBfRUFSTFlfRU5EX09GX0ZJTEUgKC0xMDAzKQotI2RlZmluZSBNUF9CQURfTUVTU0FHRV9MRU5HVEggKC0xMDA0KQotI2RlZmluZSBNUF9TT0NLRVRfRVJST1IgKC0xMDA1KQotI2RlZmluZSBNUF9FWENFUFRJT05fSEFTX0JFRU5fU0VUICgtMTAwNikKKyNkZWZpbmUgTVBfU09DS0VUX0VSUk9SICgtMTAwMikKKyNkZWZpbmUgTVBfRVhDRVBUSU9OX0hBU19CRUVOX1NFVCAoLTEwMDMpCiAKIFB5T2JqZWN0ICptcF9TZXRFcnJvcihQeU9iamVjdCAqVHlwZSwgaW50IG51bSk7CiAKQEAgLTEzMCw1NyArOTcsMTQgQEAKICAqIEV4dGVybnMgLSBub3QgYWxsIHdpbGwgcmVhbGx5IGV4aXN0IG9uIGFsbCBwbGF0Zm9ybXMKICAqLwogCi1leHRlcm4gUHlPYmplY3QgKnBpY2tsZV9kdW1wczsKLWV4dGVybiBQeU9iamVjdCAqcGlja2xlX2xvYWRzOwotZXh0ZXJuIFB5T2JqZWN0ICpwaWNrbGVfcHJvdG9jb2w7CiBleHRlcm4gUHlPYmplY3QgKkJ1ZmZlclRvb1Nob3J0OwogZXh0ZXJuIFB5VHlwZU9iamVjdCBTZW1Mb2NrVHlwZTsKLWV4dGVybiBQeVR5cGVPYmplY3QgQ29ubmVjdGlvblR5cGU7CiBleHRlcm4gUHlUeXBlT2JqZWN0IFBpcGVDb25uZWN0aW9uVHlwZTsKLWV4dGVybiBIQU5ETEUgc2lnaW50X2V2ZW50OwotCi0vKgotICogUHkzayBjb21wYXRpYmlsaXR5Ci0gKi8KLQotI2lmIFBZX1ZFUlNJT05fSEVYID49IDB4MDMwMDAwMDAKLSMgIGRlZmluZSBQSUNLTEVfTU9EVUxFICJwaWNrbGUiCi0jICBkZWZpbmUgRlJPTV9GT1JNQVQgUHlVbmljb2RlX0Zyb21Gb3JtYXQKLSMgIGRlZmluZSBQeUludF9Gcm9tTG9uZyBQeUxvbmdfRnJvbUxvbmcKLSMgIGRlZmluZSBQeUludF9Gcm9tU3NpemVfdCBQeUxvbmdfRnJvbVNzaXplX3QKLSNlbHNlCi0jICBkZWZpbmUgUElDS0xFX01PRFVMRSAiY1BpY2tsZSIKLSMgIGRlZmluZSBGUk9NX0ZPUk1BVCBQeVN0cmluZ19Gcm9tRm9ybWF0Ci0jZW5kaWYKLQotI2lmbmRlZiBQeVZhck9iamVjdF9IRUFEX0lOSVQKLSMgIGRlZmluZSBQeVZhck9iamVjdF9IRUFEX0lOSVQodHlwZSwgc2l6ZSkgUHlPYmplY3RfSEVBRF9JTklUKHR5cGUpIHNpemUsCi0jZW5kaWYKLQotI2lmbmRlZiBQeV9UUEZMQUdTX0hBVkVfV0VBS1JFRlMKLSMgIGRlZmluZSBQeV9UUEZMQUdTX0hBVkVfV0VBS1JFRlMgMAotI2VuZGlmCi0KLS8qCi0gKiBDb25uZWN0aW9uIGRlZmluaXRpb24KLSAqLwotCi0jZGVmaW5lIENPTk5FQ1RJT05fQlVGRkVSX1NJWkUgMTAyNAotCi10eXBlZGVmIHN0cnVjdCB7Ci0gICAgUHlPYmplY3RfSEVBRAotICAgIEhBTkRMRSBoYW5kbGU7Ci0gICAgaW50IGZsYWdzOwotICAgIFB5T2JqZWN0ICp3ZWFrcmVmbGlzdDsKLSAgICBjaGFyIGJ1ZmZlcltDT05ORUNUSU9OX0JVRkZFUl9TSVpFXTsKLX0gQ29ubmVjdGlvbk9iamVjdDsKIAogLyoKICAqIE1pc2NlbGxhbmVvdXMKICAqLwogCi0jZGVmaW5lIE1BWF9NRVNTQUdFX0xFTkdUSCAweDdmZmZmZmZmCi0KICNpZm5kZWYgTUlOCiAjICBkZWZpbmUgTUlOKHgsIHkpICgoeCkgPCAoeSkgPyB4IDogeSkKICMgIGRlZmluZSBNQVgoeCwgeSkgKCh4KSA+ICh5KSA/IHggOiB5KQpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9fbXVsdGlwcm9jZXNzaW5nL3BpcGVfY29ubmVjdGlvbi5jIGIvTW9kdWxlcy9fbXVsdGlwcm9jZXNzaW5nL3BpcGVfY29ubmVjdGlvbi5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwNWRkZTBjLi4wMDAwMDAwCi0tLSBhL01vZHVsZXMvX211bHRpcHJvY2Vzc2luZy9waXBlX2Nvbm5lY3Rpb24uYworKysgL2Rldi9udWxsCkBAIC0xLDE0OSArMCwwIEBACi0vKgotICogQSB0eXBlIHdoaWNoIHdyYXBzIGEgcGlwZSBoYW5kbGUgaW4gbWVzc2FnZSBvcmllbnRlZCBtb2RlCi0gKgotICogcGlwZV9jb25uZWN0aW9uLmMKLSAqCi0gKiBDb3B5cmlnaHQgKGMpIDIwMDYtMjAwOCwgUiBPdWRrZXJrIC0tLSBzZWUgQ09QWUlORy50eHQKLSAqLwotCi0jaW5jbHVkZSAibXVsdGlwcm9jZXNzaW5nLmgiCi0KLSNkZWZpbmUgQ0xPU0UoaCkgQ2xvc2VIYW5kbGUoaCkKLQotLyoKLSAqIFNlbmQgc3RyaW5nIHRvIHRoZSBwaXBlOyBhc3N1bWVzIGluIG1lc3NhZ2Ugb3JpZW50ZWQgbW9kZQotICovCi0KLXN0YXRpYyBQeV9zc2l6ZV90Ci1jb25uX3NlbmRfc3RyaW5nKENvbm5lY3Rpb25PYmplY3QgKmNvbm4sIGNoYXIgKnN0cmluZywgc2l6ZV90IGxlbmd0aCkKLXsKLSAgICBEV09SRCBhbW91bnRfd3JpdHRlbjsKLSAgICBCT09MIHJldDsKLQotICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKLSAgICByZXQgPSBXcml0ZUZpbGUoY29ubi0+aGFuZGxlLCBzdHJpbmcsIGxlbmd0aCwgJmFtb3VudF93cml0dGVuLCBOVUxMKTsKLSAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwotCi0gICAgaWYgKHJldCA9PSAwICYmIEdldExhc3RFcnJvcigpID09IEVSUk9SX05PX1NZU1RFTV9SRVNPVVJDRVMpIHsKLSAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1ZhbHVlRXJyb3IsICJDYW5ubm90IHNlbmQgJSIgUFlfRk9STUFUX1NJWkVfVCAiZCBieXRlcyBvdmVyIGNvbm5lY3Rpb24iLCBsZW5ndGgpOwotICAgICAgICByZXR1cm4gTVBfU1RBTkRBUkRfRVJST1I7Ci0gICAgfQotCi0gICAgcmV0dXJuIHJldCA/IE1QX1NVQ0NFU1MgOiBNUF9TVEFOREFSRF9FUlJPUjsKLX0KLQotLyoKLSAqIEF0dGVtcHRzIHRvIHJlYWQgaW50byBidWZmZXIsIG9yIGlmIGJ1ZmZlciB0b28gc21hbGwgaW50byAqbmV3YnVmZmVyLgotICoKLSAqIFJldHVybnMgbnVtYmVyIG9mIGJ5dGVzIHJlYWQuICBBc3N1bWVzIGluIG1lc3NhZ2Ugb3JpZW50ZWQgbW9kZS4KLSAqLwotCi1zdGF0aWMgUHlfc3NpemVfdAotY29ubl9yZWN2X3N0cmluZyhDb25uZWN0aW9uT2JqZWN0ICpjb25uLCBjaGFyICpidWZmZXIsCi0gICAgICAgICAgICAgICAgIHNpemVfdCBidWZsZW5ndGgsIGNoYXIgKipuZXdidWZmZXIsIHNpemVfdCBtYXhsZW5ndGgpCi17Ci0gICAgRFdPUkQgbGVmdCwgbGVuZ3RoLCBmdWxsX2xlbmd0aCwgZXJyOwotICAgIEJPT0wgcmV0OwotICAgICpuZXdidWZmZXIgPSBOVUxMOwotCi0gICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgIHJldCA9IFJlYWRGaWxlKGNvbm4tPmhhbmRsZSwgYnVmZmVyLCBNSU4oYnVmbGVuZ3RoLCBtYXhsZW5ndGgpLAotICAgICAgICAgICAgICAgICAgJmxlbmd0aCwgTlVMTCk7Ci0gICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKLSAgICBpZiAocmV0KQotICAgICAgICByZXR1cm4gbGVuZ3RoOwotCi0gICAgZXJyID0gR2V0TGFzdEVycm9yKCk7Ci0gICAgaWYgKGVyciAhPSBFUlJPUl9NT1JFX0RBVEEpIHsKLSAgICAgICAgaWYgKGVyciA9PSBFUlJPUl9CUk9LRU5fUElQRSkKLSAgICAgICAgICAgIHJldHVybiBNUF9FTkRfT0ZfRklMRTsKLSAgICAgICAgcmV0dXJuIE1QX1NUQU5EQVJEX0VSUk9SOwotICAgIH0KLQotICAgIGlmICghUGVla05hbWVkUGlwZShjb25uLT5oYW5kbGUsIE5VTEwsIDAsIE5VTEwsIE5VTEwsICZsZWZ0KSkKLSAgICAgICAgcmV0dXJuIE1QX1NUQU5EQVJEX0VSUk9SOwotCi0gICAgZnVsbF9sZW5ndGggPSBsZW5ndGggKyBsZWZ0OwotICAgIGlmIChmdWxsX2xlbmd0aCA+IG1heGxlbmd0aCkKLSAgICAgICAgcmV0dXJuIE1QX0JBRF9NRVNTQUdFX0xFTkdUSDsKLQotICAgICpuZXdidWZmZXIgPSBQeU1lbV9NYWxsb2MoZnVsbF9sZW5ndGgpOwotICAgIGlmICgqbmV3YnVmZmVyID09IE5VTEwpCi0gICAgICAgIHJldHVybiBNUF9NRU1PUllfRVJST1I7Ci0KLSAgICBtZW1jcHkoKm5ld2J1ZmZlciwgYnVmZmVyLCBsZW5ndGgpOwotCi0gICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgIHJldCA9IFJlYWRGaWxlKGNvbm4tPmhhbmRsZSwgKm5ld2J1ZmZlcitsZW5ndGgsIGxlZnQsICZsZW5ndGgsIE5VTEwpOwotICAgIFB5X0VORF9BTExPV19USFJFQURTCi0gICAgaWYgKHJldCkgewotICAgICAgICBhc3NlcnQobGVuZ3RoID09IGxlZnQpOwotICAgICAgICByZXR1cm4gZnVsbF9sZW5ndGg7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgUHlNZW1fRnJlZSgqbmV3YnVmZmVyKTsKLSAgICAgICAgcmV0dXJuIE1QX1NUQU5EQVJEX0VSUk9SOwotICAgIH0KLX0KLQotLyoKLSAqIENoZWNrIHdoZXRoZXIgYW55IGRhdGEgaXMgYXZhaWxhYmxlIGZvciByZWFkaW5nCi0gKi8KLQotc3RhdGljIGludAotY29ubl9wb2xsKENvbm5lY3Rpb25PYmplY3QgKmNvbm4sIGRvdWJsZSB0aW1lb3V0LCBQeVRocmVhZFN0YXRlICpfc2F2ZSkKLXsKLSAgICBEV09SRCBieXRlcywgZGVhZGxpbmUsIGRlbGF5OwotICAgIGludCBkaWZmZXJlbmNlLCByZXM7Ci0gICAgQk9PTCBibG9jayA9IEZBTFNFOwotCi0gICAgaWYgKCFQZWVrTmFtZWRQaXBlKGNvbm4tPmhhbmRsZSwgTlVMTCwgMCwgTlVMTCwgJmJ5dGVzLCBOVUxMKSkKLSAgICAgICAgcmV0dXJuIE1QX1NUQU5EQVJEX0VSUk9SOwotCi0gICAgaWYgKHRpbWVvdXQgPT0gMC4wKQotICAgICAgICByZXR1cm4gYnl0ZXMgPiAwOwotCi0gICAgaWYgKHRpbWVvdXQgPCAwLjApCi0gICAgICAgIGJsb2NrID0gVFJVRTsKLSAgICBlbHNlCi0gICAgICAgIC8qIFhYWCBkb2VzIG5vdCBjaGVjayBmb3Igb3ZlcmZsb3cgKi8KLSAgICAgICAgZGVhZGxpbmUgPSBHZXRUaWNrQ291bnQoKSArIChEV09SRCkoMTAwMCAqIHRpbWVvdXQgKyAwLjUpOwotCi0gICAgU2xlZXAoMCk7Ci0KLSAgICBmb3IgKGRlbGF5ID0gMSA7IDsgZGVsYXkgKz0gMSkgewotICAgICAgICBpZiAoIVBlZWtOYW1lZFBpcGUoY29ubi0+aGFuZGxlLCBOVUxMLCAwLCBOVUxMLCAmYnl0ZXMsIE5VTEwpKQotICAgICAgICAgICAgcmV0dXJuIE1QX1NUQU5EQVJEX0VSUk9SOwotICAgICAgICBlbHNlIGlmIChieXRlcyA+IDApCi0gICAgICAgICAgICByZXR1cm4gVFJVRTsKLQotICAgICAgICBpZiAoIWJsb2NrKSB7Ci0gICAgICAgICAgICBkaWZmZXJlbmNlID0gZGVhZGxpbmUgLSBHZXRUaWNrQ291bnQoKTsKLSAgICAgICAgICAgIGlmIChkaWZmZXJlbmNlIDwgMCkKLSAgICAgICAgICAgICAgICByZXR1cm4gRkFMU0U7Ci0gICAgICAgICAgICBpZiAoKGludClkZWxheSA+IGRpZmZlcmVuY2UpCi0gICAgICAgICAgICAgICAgZGVsYXkgPSBkaWZmZXJlbmNlOwotICAgICAgICB9Ci0KLSAgICAgICAgaWYgKGRlbGF5ID4gMjApCi0gICAgICAgICAgICBkZWxheSA9IDIwOwotCi0gICAgICAgIFNsZWVwKGRlbGF5KTsKLQotICAgICAgICAvKiBjaGVjayBmb3Igc2lnbmFscyAqLwotICAgICAgICBQeV9CTE9DS19USFJFQURTCi0gICAgICAgIHJlcyA9IFB5RXJyX0NoZWNrU2lnbmFscygpOwotICAgICAgICBQeV9VTkJMT0NLX1RIUkVBRFMKLQotICAgICAgICBpZiAocmVzKQotICAgICAgICAgICAgcmV0dXJuIE1QX0VYQ0VQVElPTl9IQVNfQkVFTl9TRVQ7Ci0gICAgfQotfQotCi0vKgotICogImNvbm5lY3Rpb24uaCIgZGVmaW5lcyB0aGUgUGlwZUNvbm5lY3Rpb24gdHlwZSB1c2luZyB0aGUgZGVmaW5pdGlvbnMgYWJvdmUKLSAqLwotCi0jZGVmaW5lIENPTk5FQ1RJT05fTkFNRSAiUGlwZUNvbm5lY3Rpb24iCi0jZGVmaW5lIENPTk5FQ1RJT05fVFlQRSBQaXBlQ29ubmVjdGlvblR5cGUKLQotI2luY2x1ZGUgImNvbm5lY3Rpb24uaCIKZGlmZiAtLWdpdCBhL01vZHVsZXMvX211bHRpcHJvY2Vzc2luZy9zZW1hcGhvcmUuYyBiL01vZHVsZXMvX211bHRpcHJvY2Vzc2luZy9zZW1hcGhvcmUuYwppbmRleCAxZjM3ZDZhLi4wYzliMDRjIDEwMDY0NAotLS0gYS9Nb2R1bGVzL19tdWx0aXByb2Nlc3Npbmcvc2VtYXBob3JlLmMKKysrIGIvTW9kdWxlcy9fbXVsdGlwcm9jZXNzaW5nL3NlbWFwaG9yZS5jCkBAIC02Miw3ICs2Miw4IEBACiAgICAgaW50IGJsb2NraW5nID0gMTsKICAgICBkb3VibGUgdGltZW91dDsKICAgICBQeU9iamVjdCAqdGltZW91dF9vYmogPSBQeV9Ob25lOwotICAgIERXT1JEIHJlcywgZnVsbF9tc2VjcywgbXNlY3MsIHN0YXJ0LCB0aWNrczsKKyAgICBEV09SRCByZXMsIGZ1bGxfbXNlY3MsIG5oYW5kbGVzOworICAgIEhBTkRMRSBoYW5kbGVzWzJdLCBzaWdpbnRfZXZlbnQ7CiAKICAgICBzdGF0aWMgY2hhciAqa3dsaXN0W10gPSB7ImJsb2NrIiwgInRpbWVvdXQiLCBOVUxMfTsKIApAQCAtOTYsNTMgKzk3LDQwIEBACiAgICAgICAgIFB5X1JFVFVSTl9UUlVFOwogICAgIH0KIAotICAgIC8qIGNoZWNrIHdoZXRoZXIgd2UgY2FuIGFjcXVpcmUgd2l0aG91dCBibG9ja2luZyAqLworICAgIC8qIGNoZWNrIHdoZXRoZXIgd2UgY2FuIGFjcXVpcmUgd2l0aG91dCByZWxlYXNpbmcgdGhlIEdJTCBhbmQgYmxvY2tpbmcgKi8KICAgICBpZiAoV2FpdEZvclNpbmdsZU9iamVjdChzZWxmLT5oYW5kbGUsIDApID09IFdBSVRfT0JKRUNUXzApIHsKICAgICAgICAgc2VsZi0+bGFzdF90aWQgPSBHZXRDdXJyZW50VGhyZWFkSWQoKTsKICAgICAgICAgKytzZWxmLT5jb3VudDsKICAgICAgICAgUHlfUkVUVVJOX1RSVUU7CiAgICAgfQogCi0gICAgbXNlY3MgPSBmdWxsX21zZWNzOwotICAgIHN0YXJ0ID0gR2V0VGlja0NvdW50KCk7Ci0KLSAgICBmb3IgKCA7IDsgKSB7Ci0gICAgICAgIEhBTkRMRSBoYW5kbGVzWzJdID0ge3NlbGYtPmhhbmRsZSwgc2lnaW50X2V2ZW50fTsKLQotICAgICAgICAvKiBkbyB0aGUgd2FpdCAqLwotICAgICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCi0gICAgICAgIFJlc2V0RXZlbnQoc2lnaW50X2V2ZW50KTsKLSAgICAgICAgcmVzID0gV2FpdEZvck11bHRpcGxlT2JqZWN0cygyLCBoYW5kbGVzLCBGQUxTRSwgbXNlY3MpOwotICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwotCi0gICAgICAgIC8qIGhhbmRsZSByZXN1bHQgKi8KLSAgICAgICAgaWYgKHJlcyAhPSBXQUlUX09CSkVDVF8wICsgMSkKLSAgICAgICAgICAgIGJyZWFrOwotCi0gICAgICAgIC8qIGdvdCBTSUdJTlQgc28gZ2l2ZSBzaWduYWwgaGFuZGxlciBhIGNoYW5jZSB0byBydW4gKi8KLSAgICAgICAgU2xlZXAoMSk7Ci0KLSAgICAgICAgLyogaWYgdGhpcyBpcyBtYWluIHRocmVhZCBsZXQgS2V5Ym9hcmRJbnRlcnJ1cHQgYmUgcmFpc2VkICovCi0gICAgICAgIGlmIChQeUVycl9DaGVja1NpZ25hbHMoKSkKLSAgICAgICAgICAgIHJldHVybiBOVUxMOwotCi0gICAgICAgIC8qIHJlY2FsY3VsYXRlIHRpbWVvdXQgKi8KLSAgICAgICAgaWYgKG1zZWNzICE9IElORklOSVRFKSB7Ci0gICAgICAgICAgICB0aWNrcyA9IEdldFRpY2tDb3VudCgpOwotICAgICAgICAgICAgaWYgKChEV09SRCkodGlja3MgLSBzdGFydCkgPj0gZnVsbF9tc2VjcykKLSAgICAgICAgICAgICAgICBQeV9SRVRVUk5fRkFMU0U7Ci0gICAgICAgICAgICBtc2VjcyA9IGZ1bGxfbXNlY3MgLSAodGlja3MgLSBzdGFydCk7Ci0gICAgICAgIH0KKyAgICAvKiBwcmVwYXJlIGxpc3Qgb2YgaGFuZGxlcyAqLworICAgIG5oYW5kbGVzID0gMDsKKyAgICBoYW5kbGVzW25oYW5kbGVzKytdID0gc2VsZi0+aGFuZGxlOworICAgIGlmIChfUHlPU19Jc01haW5UaHJlYWQoKSkgeworICAgICAgICBzaWdpbnRfZXZlbnQgPSBfUHlPU19TaWdpbnRFdmVudCgpOworICAgICAgICBhc3NlcnQoc2lnaW50X2V2ZW50ICE9IE5VTEwpOworICAgICAgICBoYW5kbGVzW25oYW5kbGVzKytdID0gc2lnaW50X2V2ZW50OwogICAgIH0KIAorICAgIC8qIGRvIHRoZSB3YWl0ICovCisgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUworICAgIGlmIChzaWdpbnRfZXZlbnQgIT0gTlVMTCkKKyAgICAgICAgUmVzZXRFdmVudChzaWdpbnRfZXZlbnQpOworICAgIHJlcyA9IFdhaXRGb3JNdWx0aXBsZU9iamVjdHMobmhhbmRsZXMsIGhhbmRsZXMsIEZBTFNFLCBmdWxsX21zZWNzKTsKKyAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworCiAgICAgLyogaGFuZGxlIHJlc3VsdCAqLwogICAgIHN3aXRjaCAocmVzKSB7CiAgICAgY2FzZSBXQUlUX1RJTUVPVVQ6CiAgICAgICAgIFB5X1JFVFVSTl9GQUxTRTsKLSAgICBjYXNlIFdBSVRfT0JKRUNUXzA6CisgICAgY2FzZSBXQUlUX09CSkVDVF8wICsgMDoKICAgICAgICAgc2VsZi0+bGFzdF90aWQgPSBHZXRDdXJyZW50VGhyZWFkSWQoKTsKICAgICAgICAgKytzZWxmLT5jb3VudDsKICAgICAgICAgUHlfUkVUVVJOX1RSVUU7CisgICAgY2FzZSBXQUlUX09CSkVDVF8wICsgMToKKyAgICAgICAgZXJybm8gPSBFSU5UUjsKKyAgICAgICAgcmV0dXJuIFB5RXJyX1NldEZyb21FcnJubyhQeUV4Y19JT0Vycm9yKTsKICAgICBjYXNlIFdBSVRfRkFJTEVEOgogICAgICAgICByZXR1cm4gUHlFcnJfU2V0RnJvbVdpbmRvd3NFcnIoMCk7CiAgICAgZGVmYXVsdDoKQEAgLTQ4Myw3ICs0NzEsNyBAQAogc3RhdGljIFB5T2JqZWN0ICoKIHNlbWxvY2tfY291bnQoU2VtTG9ja09iamVjdCAqc2VsZikKIHsKLSAgICByZXR1cm4gUHlJbnRfRnJvbUxvbmcoKGxvbmcpc2VsZi0+Y291bnQpOworICAgIHJldHVybiBQeUxvbmdfRnJvbUxvbmcoKGxvbmcpc2VsZi0+Y291bnQpOwogfQogCiBzdGF0aWMgUHlPYmplY3QgKgpAQCAtNTA3LDcgKzQ5NSw3IEBACiAgICAgICAgdGhlIG51bWJlciBvZiB3YWl0aW5nIHRocmVhZHMgKi8KICAgICBpZiAoc3ZhbCA8IDApCiAgICAgICAgIHN2YWwgPSAwOwotICAgIHJldHVybiBQeUludF9Gcm9tTG9uZygobG9uZylzdmFsKTsKKyAgICByZXR1cm4gUHlMb25nX0Zyb21Mb25nKChsb25nKXN2YWwpOwogI2VuZGlmCiB9CiAKZGlmZiAtLWdpdCBhL01vZHVsZXMvX211bHRpcHJvY2Vzc2luZy9zb2NrZXRfY29ubmVjdGlvbi5jIGIvTW9kdWxlcy9fbXVsdGlwcm9jZXNzaW5nL3NvY2tldF9jb25uZWN0aW9uLmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdlYmYzMzguLjAwMDAwMDAKLS0tIGEvTW9kdWxlcy9fbXVsdGlwcm9jZXNzaW5nL3NvY2tldF9jb25uZWN0aW9uLmMKKysrIC9kZXYvbnVsbApAQCAtMSwyMDIgKzAsMCBAQAotLyoKLSAqIEEgdHlwZSB3aGljaCB3cmFwcyBhIHNvY2tldAotICoKLSAqIHNvY2tldF9jb25uZWN0aW9uLmMKLSAqCi0gKiBDb3B5cmlnaHQgKGMpIDIwMDYtMjAwOCwgUiBPdWRrZXJrIC0tLSBzZWUgQ09QWUlORy50eHQKLSAqLwotCi0jaW5jbHVkZSAibXVsdGlwcm9jZXNzaW5nLmgiCi0KLSNpZmRlZiBNU19XSU5ET1dTCi0jICBkZWZpbmUgV1JJVEUoaCwgYnVmZmVyLCBsZW5ndGgpIHNlbmQoKFNPQ0tFVCloLCBidWZmZXIsIGxlbmd0aCwgMCkKLSMgIGRlZmluZSBSRUFEKGgsIGJ1ZmZlciwgbGVuZ3RoKSByZWN2KChTT0NLRVQpaCwgYnVmZmVyLCBsZW5ndGgsIDApCi0jICBkZWZpbmUgQ0xPU0UoaCkgY2xvc2Vzb2NrZXQoKFNPQ0tFVCloKQotI2Vsc2UKLSMgIGRlZmluZSBXUklURShoLCBidWZmZXIsIGxlbmd0aCkgd3JpdGUoaCwgYnVmZmVyLCBsZW5ndGgpCi0jICBkZWZpbmUgUkVBRChoLCBidWZmZXIsIGxlbmd0aCkgcmVhZChoLCBidWZmZXIsIGxlbmd0aCkKLSMgIGRlZmluZSBDTE9TRShoKSBjbG9zZShoKQotI2VuZGlmCi0KLS8qCi0gKiBTZW5kIHN0cmluZyB0byBmaWxlIGRlc2NyaXB0b3IKLSAqLwotCi1zdGF0aWMgUHlfc3NpemVfdAotX2Nvbm5fc2VuZGFsbChIQU5ETEUgaCwgY2hhciAqc3RyaW5nLCBzaXplX3QgbGVuZ3RoKQotewotICAgIGNoYXIgKnAgPSBzdHJpbmc7Ci0gICAgUHlfc3NpemVfdCByZXM7Ci0KLSAgICB3aGlsZSAobGVuZ3RoID4gMCkgewotICAgICAgICByZXMgPSBXUklURShoLCBwLCBsZW5ndGgpOwotICAgICAgICBpZiAocmVzIDwgMCkKLSAgICAgICAgICAgIHJldHVybiBNUF9TT0NLRVRfRVJST1I7Ci0gICAgICAgIGxlbmd0aCAtPSByZXM7Ci0gICAgICAgIHAgKz0gcmVzOwotICAgIH0KLQotICAgIHJldHVybiBNUF9TVUNDRVNTOwotfQotCi0vKgotICogUmVjZWl2ZSBzdHJpbmcgb2YgZXhhY3QgbGVuZ3RoIGZyb20gZmlsZSBkZXNjcmlwdG9yCi0gKi8KLQotc3RhdGljIFB5X3NzaXplX3QKLV9jb25uX3JlY3ZhbGwoSEFORExFIGgsIGNoYXIgKmJ1ZmZlciwgc2l6ZV90IGxlbmd0aCkKLXsKLSAgICBzaXplX3QgcmVtYWluaW5nID0gbGVuZ3RoOwotICAgIFB5X3NzaXplX3QgdGVtcDsKLSAgICBjaGFyICpwID0gYnVmZmVyOwotCi0gICAgd2hpbGUgKHJlbWFpbmluZyA+IDApIHsKLSAgICAgICAgdGVtcCA9IFJFQUQoaCwgcCwgcmVtYWluaW5nKTsKLSAgICAgICAgaWYgKHRlbXAgPD0gMCkgewotICAgICAgICAgICAgaWYgKHRlbXAgPT0gMCkKLSAgICAgICAgICAgICAgICByZXR1cm4gcmVtYWluaW5nID09IGxlbmd0aCA/Ci0gICAgICAgICAgICAgICAgICAgIE1QX0VORF9PRl9GSUxFIDogTVBfRUFSTFlfRU5EX09GX0ZJTEU7Ci0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgcmV0dXJuIHRlbXA7Ci0gICAgICAgIH0KLSAgICAgICAgcmVtYWluaW5nIC09IHRlbXA7Ci0gICAgICAgIHAgKz0gdGVtcDsKLSAgICB9Ci0KLSAgICByZXR1cm4gTVBfU1VDQ0VTUzsKLX0KLQotLyoKLSAqIFNlbmQgYSBzdHJpbmcgcHJlcGVuZGVkIGJ5IHRoZSBzdHJpbmcgbGVuZ3RoIGluIG5ldHdvcmsgYnl0ZSBvcmRlcgotICovCi0KLXN0YXRpYyBQeV9zc2l6ZV90Ci1jb25uX3NlbmRfc3RyaW5nKENvbm5lY3Rpb25PYmplY3QgKmNvbm4sIGNoYXIgKnN0cmluZywgc2l6ZV90IGxlbmd0aCkKLXsKLSAgICBQeV9zc2l6ZV90IHJlczsKLSAgICAvKiBUaGUgImhlYWRlciIgb2YgdGhlIG1lc3NhZ2UgaXMgYSAzMiBiaXQgdW5zaWduZWQgbnVtYmVyIChpbgotICAgICAgIG5ldHdvcmsgb3JkZXIpIHdoaWNoIHNwZWNpZmllcyB0aGUgbGVuZ3RoIG9mIHRoZSAiYm9keSIuICBJZgotICAgICAgIHRoZSBtZXNzYWdlIGlzIHNob3J0ZXIgdGhhbiBhYm91dCAxNmtiIHRoZW4gaXQgaXMgcXVpY2tlciB0bwotICAgICAgIGNvbWJpbmUgdGhlICJoZWFkZXIiIGFuZCB0aGUgImJvZHkiIG9mIHRoZSBtZXNzYWdlIGFuZCBzZW5kCi0gICAgICAgdGhlbSBhdCBvbmNlLiAqLwotICAgIGlmIChsZW5ndGggPCAoMTYqMTAyNCkpIHsKLSAgICAgICAgY2hhciAqbWVzc2FnZTsKLQotICAgICAgICBtZXNzYWdlID0gUHlNZW1fTWFsbG9jKGxlbmd0aCs0KTsKLSAgICAgICAgaWYgKG1lc3NhZ2UgPT0gTlVMTCkKLSAgICAgICAgICAgIHJldHVybiBNUF9NRU1PUllfRVJST1I7Ci0KLSAgICAgICAgKihVSU5UMzIqKW1lc3NhZ2UgPSBodG9ubCgoVUlOVDMyKWxlbmd0aCk7Ci0gICAgICAgIG1lbWNweShtZXNzYWdlKzQsIHN0cmluZywgbGVuZ3RoKTsKLSAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgICAgICByZXMgPSBfY29ubl9zZW5kYWxsKGNvbm4tPmhhbmRsZSwgbWVzc2FnZSwgbGVuZ3RoKzQpOwotICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwotICAgICAgICBQeU1lbV9GcmVlKG1lc3NhZ2UpOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIFVJTlQzMiBsZW5idWZmOwotCi0gICAgICAgIGlmIChsZW5ndGggPiBNQVhfTUVTU0FHRV9MRU5HVEgpCi0gICAgICAgICAgICByZXR1cm4gTVBfQkFEX01FU1NBR0VfTEVOR1RIOwotCi0gICAgICAgIGxlbmJ1ZmYgPSBodG9ubCgoVUlOVDMyKWxlbmd0aCk7Ci0gICAgICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKLSAgICAgICAgcmVzID0gX2Nvbm5fc2VuZGFsbChjb25uLT5oYW5kbGUsIChjaGFyKikmbGVuYnVmZiwgNCkgfHwKLSAgICAgICAgICAgIF9jb25uX3NlbmRhbGwoY29ubi0+aGFuZGxlLCBzdHJpbmcsIGxlbmd0aCk7Ci0gICAgICAgIFB5X0VORF9BTExPV19USFJFQURTCi0gICAgfQotICAgIHJldHVybiByZXM7Ci19Ci0KLS8qCi0gKiBBdHRlbXB0cyB0byByZWFkIGludG8gYnVmZmVyLCBvciBmYWlsaW5nIHRoYXQgaW50byAqbmV3YnVmZmVyCi0gKgotICogUmV0dXJucyBudW1iZXIgb2YgYnl0ZXMgcmVhZC4KLSAqLwotCi1zdGF0aWMgUHlfc3NpemVfdAotY29ubl9yZWN2X3N0cmluZyhDb25uZWN0aW9uT2JqZWN0ICpjb25uLCBjaGFyICpidWZmZXIsCi0gICAgICAgICAgICAgICAgIHNpemVfdCBidWZsZW5ndGgsIGNoYXIgKipuZXdidWZmZXIsIHNpemVfdCBtYXhsZW5ndGgpCi17Ci0gICAgaW50IHJlczsKLSAgICBVSU5UMzIgdWxlbmd0aDsKLQotICAgICpuZXdidWZmZXIgPSBOVUxMOwotCi0gICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgIHJlcyA9IF9jb25uX3JlY3ZhbGwoY29ubi0+aGFuZGxlLCAoY2hhciopJnVsZW5ndGgsIDQpOwotICAgIFB5X0VORF9BTExPV19USFJFQURTCi0gICAgaWYgKHJlcyA8IDApCi0gICAgICAgIHJldHVybiByZXM7Ci0KLSAgICB1bGVuZ3RoID0gbnRvaGwodWxlbmd0aCk7Ci0gICAgaWYgKHVsZW5ndGggPiBtYXhsZW5ndGgpCi0gICAgICAgIHJldHVybiBNUF9CQURfTUVTU0FHRV9MRU5HVEg7Ci0KLSAgICBpZiAodWxlbmd0aCA8PSBidWZsZW5ndGgpIHsKLSAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgICAgICByZXMgPSBfY29ubl9yZWN2YWxsKGNvbm4tPmhhbmRsZSwgYnVmZmVyLCAoc2l6ZV90KXVsZW5ndGgpOwotICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwotICAgICAgICByZXR1cm4gcmVzIDwgMCA/IHJlcyA6IHVsZW5ndGg7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgKm5ld2J1ZmZlciA9IFB5TWVtX01hbGxvYygoc2l6ZV90KXVsZW5ndGgpOwotICAgICAgICBpZiAoKm5ld2J1ZmZlciA9PSBOVUxMKQotICAgICAgICAgICAgcmV0dXJuIE1QX01FTU9SWV9FUlJPUjsKLSAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgICAgICByZXMgPSBfY29ubl9yZWN2YWxsKGNvbm4tPmhhbmRsZSwgKm5ld2J1ZmZlciwgKHNpemVfdCl1bGVuZ3RoKTsKLSAgICAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKLSAgICAgICAgcmV0dXJuIHJlcyA8IDAgPyAoUHlfc3NpemVfdClyZXMgOiAoUHlfc3NpemVfdCl1bGVuZ3RoOwotICAgIH0KLX0KLQotLyoKLSAqIENoZWNrIHdoZXRoZXIgYW55IGRhdGEgaXMgYXZhaWxhYmxlIGZvciByZWFkaW5nIC0tIG5lZyB0aW1lb3V0IGJsb2NrcwotICovCi0KLXN0YXRpYyBpbnQKLWNvbm5fcG9sbChDb25uZWN0aW9uT2JqZWN0ICpjb25uLCBkb3VibGUgdGltZW91dCwgUHlUaHJlYWRTdGF0ZSAqX3NhdmUpCi17Ci0gICAgaW50IHJlczsKLSAgICBmZF9zZXQgcmZkczsKLQotICAgIC8qCi0gICAgICogVmVyaWZ5IHRoZSBoYW5kbGUsIGlzc3VlIDMzMjEuIE5vdCByZXF1aXJlZCBmb3Igd2luZG93cy4KLSAgICAgKi8KLSAgICAjaWZuZGVmIE1TX1dJTkRPV1MKLSAgICAgICAgaWYgKCgoaW50KWNvbm4tPmhhbmRsZSkgPCAwIHx8ICgoaW50KWNvbm4tPmhhbmRsZSkgPj0gRkRfU0VUU0laRSkgewotICAgICAgICAgICAgUHlfQkxPQ0tfVEhSRUFEUwotICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX0lPRXJyb3IsICJoYW5kbGUgb3V0IG9mIHJhbmdlIGluIHNlbGVjdCgpIik7Ci0gICAgICAgICAgICBQeV9VTkJMT0NLX1RIUkVBRFMKLSAgICAgICAgICAgIHJldHVybiBNUF9FWENFUFRJT05fSEFTX0JFRU5fU0VUOwotICAgICAgICB9Ci0gICAgI2VuZGlmCi0KLSAgICBGRF9aRVJPKCZyZmRzKTsKLSAgICBGRF9TRVQoKFNPQ0tFVCljb25uLT5oYW5kbGUsICZyZmRzKTsKLQotICAgIGlmICh0aW1lb3V0IDwgMC4wKSB7Ci0gICAgICAgIHJlcyA9IHNlbGVjdCgoaW50KWNvbm4tPmhhbmRsZSsxLCAmcmZkcywgTlVMTCwgTlVMTCwgTlVMTCk7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgc3RydWN0IHRpbWV2YWwgdHY7Ci0gICAgICAgIHR2LnR2X3NlYyA9IChsb25nKXRpbWVvdXQ7Ci0gICAgICAgIHR2LnR2X3VzZWMgPSAobG9uZykoKHRpbWVvdXQgLSB0di50dl9zZWMpICogMWU2ICsgMC41KTsKLSAgICAgICAgcmVzID0gc2VsZWN0KChpbnQpY29ubi0+aGFuZGxlKzEsICZyZmRzLCBOVUxMLCBOVUxMLCAmdHYpOwotICAgIH0KLQotICAgIGlmIChyZXMgPCAwKSB7Ci0gICAgICAgIHJldHVybiBNUF9TT0NLRVRfRVJST1I7Ci0gICAgfSBlbHNlIGlmIChGRF9JU1NFVChjb25uLT5oYW5kbGUsICZyZmRzKSkgewotICAgICAgICByZXR1cm4gVFJVRTsKLSAgICB9IGVsc2UgewotICAgICAgICBhc3NlcnQocmVzID09IDApOwotICAgICAgICByZXR1cm4gRkFMU0U7Ci0gICAgfQotfQotCi0vKgotICogImNvbm5lY3Rpb24uaCIgZGVmaW5lcyB0aGUgQ29ubmVjdGlvbiB0eXBlIHVzaW5nIGRlZnMgYWJvdmUKLSAqLwotCi0jZGVmaW5lIENPTk5FQ1RJT05fTkFNRSAiQ29ubmVjdGlvbiIKLSNkZWZpbmUgQ09OTkVDVElPTl9UWVBFIENvbm5lY3Rpb25UeXBlCi0KLSNpbmNsdWRlICJjb25uZWN0aW9uLmgiCmRpZmYgLS1naXQgYS9Nb2R1bGVzL19tdWx0aXByb2Nlc3Npbmcvd2luMzJfZnVuY3Rpb25zLmMgYi9Nb2R1bGVzL19tdWx0aXByb2Nlc3Npbmcvd2luMzJfZnVuY3Rpb25zLmMKaW5kZXggNDUyZDYwOC4uOTNjOGZjOSAxMDA2NDQKLS0tIGEvTW9kdWxlcy9fbXVsdGlwcm9jZXNzaW5nL3dpbjMyX2Z1bmN0aW9ucy5jCisrKyBiL01vZHVsZXMvX211bHRpcHJvY2Vzc2luZy93aW4zMl9mdW5jdGlvbnMuYwpAQCAtMTIsMTAgKzEyLDIzMCBAQAogI2RlZmluZSBXSU4zMl9GVU5DVElPTihmdW5jKSBcCiAgICAgeyNmdW5jLCAoUHlDRnVuY3Rpb24pd2luMzJfICMjIGZ1bmMsIE1FVEhfVkFSQVJHUyB8IE1FVEhfU1RBVElDLCAiIn0KIAorI2RlZmluZSBXSU4zMl9LV0FSR1NfRlVOQ1RJT04oZnVuYykgXAorICAgIHsjZnVuYywgKFB5Q0Z1bmN0aW9uKXdpbjMyXyAjIyBmdW5jLCBNRVRIX1ZBUkFSR1MgfCBNRVRIX0tFWVdPUkRTIHwgTUVUSF9TVEFUSUMsICIifQorCiAjZGVmaW5lIFdJTjMyX0NPTlNUQU5UKGZtdCwgY29uKSBcCiAgICAgUHlEaWN0X1NldEl0ZW1TdHJpbmcoV2luMzJUeXBlLnRwX2RpY3QsICNjb24sIFB5X0J1aWxkVmFsdWUoZm10LCBjb24pKQogCiAKKy8qIEdyYWIgQ2FuY2VsSW9FeCBkeW5hbWljYWxseSBmcm9tIGtlcm5lbDMyICovCitzdGF0aWMgaW50IGhhc19DYW5jZWxJb0V4ID0gLTE7CitzdGF0aWMgQk9PTCAoQ0FMTEJBQ0sgKlB5X0NhbmNlbElvRXgpKEhBTkRMRSwgTFBPVkVSTEFQUEVEKTsKKworc3RhdGljIGludAorY2hlY2tfQ2FuY2VsSW9FeCgpCit7CisgICAgaWYgKGhhc19DYW5jZWxJb0V4ID09IC0xKQorICAgIHsKKyAgICAgICAgSElOU1RBTkNFIGhLZXJuZWwzMiA9IEdldE1vZHVsZUhhbmRsZSgiS0VSTkVMMzIiKTsKKyAgICAgICAgKiAoRkFSUFJPQyAqKSAmUHlfQ2FuY2VsSW9FeCA9IEdldFByb2NBZGRyZXNzKGhLZXJuZWwzMiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJDYW5jZWxJb0V4Iik7CisgICAgICAgIGhhc19DYW5jZWxJb0V4ID0gKFB5X0NhbmNlbElvRXggIT0gTlVMTCk7CisgICAgfQorICAgIHJldHVybiBoYXNfQ2FuY2VsSW9FeDsKK30KKworCisvKgorICogQSBQeXRob24gb2JqZWN0IHdyYXBwaW5nIGFuIE9WRVJMQVBQRUQgc3RydWN0dXJlIGFuZCBvdGhlciB1c2VmdWwgZGF0YQorICogZm9yIG92ZXJsYXBwZWQgSS9PCisgKi8KKwordHlwZWRlZiBzdHJ1Y3QgeworICAgIFB5T2JqZWN0X0hFQUQKKyAgICBPVkVSTEFQUEVEIG92ZXJsYXBwZWQ7CisgICAgLyogRm9yIGNvbnZlbmllbmNlLCB3ZSBzdG9yZSB0aGUgZmlsZSBoYW5kbGUgdG9vICovCisgICAgSEFORExFIGhhbmRsZTsKKyAgICAvKiBXaGV0aGVyIHRoZXJlJ3MgSS9PIGluIGZsaWdodCAqLworICAgIGludCBwZW5kaW5nOworICAgIC8qIFdoZXRoZXIgSS9PIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkgKi8KKyAgICBpbnQgY29tcGxldGVkOworICAgIC8qIEJ1ZmZlciB1c2VkIGZvciByZWFkaW5nIChvcHRpb25hbCkgKi8KKyAgICBQeU9iamVjdCAqcmVhZF9idWZmZXI7CisgICAgLyogQnVmZmVyIHVzZWQgZm9yIHdyaXRpbmcgKG9wdGlvbmFsKSAqLworICAgIFB5X2J1ZmZlciB3cml0ZV9idWZmZXI7Cit9IE92ZXJsYXBwZWRPYmplY3Q7CisKK3N0YXRpYyB2b2lkCitvdmVybGFwcGVkX2RlYWxsb2MoT3ZlcmxhcHBlZE9iamVjdCAqc2VsZikKK3sKKyAgICBEV09SRCBieXRlczsKKyAgICBpbnQgZXJyID0gR2V0TGFzdEVycm9yKCk7CisgICAgaWYgKHNlbGYtPnBlbmRpbmcpIHsKKyAgICAgICAgLyogbWFrZSBpdCBhIHByb2dyYW1taW5nIGVycm9yIHRvIGRlYWxsb2NhdGUgd2hpbGUgb3BlcmF0aW9uCisgICAgICAgICAgIGlzIHBlbmRpbmcsIGV2ZW4gaWYgd2UgY2FuIHNhZmVseSBjYW5jZWwgaXQgKi8KKyAgICAgICAgaWYgKGNoZWNrX0NhbmNlbElvRXgoKSAmJgorICAgICAgICAgICAgICAgIFB5X0NhbmNlbElvRXgoc2VsZi0+aGFuZGxlLCAmc2VsZi0+b3ZlcmxhcHBlZCkpCisgICAgICAgICAgICBHZXRPdmVybGFwcGVkUmVzdWx0KHNlbGYtPmhhbmRsZSwgJnNlbGYtPm92ZXJsYXBwZWQsICZieXRlcywgVFJVRSk7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19SdW50aW1lRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAiSS9PIG9wZXJhdGlvbnMgc3RpbGwgaW4gZmxpZ2h0IHdoaWxlIGRlc3Ryb3lpbmcgIgorICAgICAgICAgICAgICAgICAgICAgICAgIk92ZXJsYXBwZWQgb2JqZWN0LCB0aGUgcHJvY2VzcyBtYXkgY3Jhc2giKTsKKyAgICAgICAgUHlFcnJfV3JpdGVVbnJhaXNhYmxlKE5VTEwpOworICAgIH0KKyAgICBDbG9zZUhhbmRsZShzZWxmLT5vdmVybGFwcGVkLmhFdmVudCk7CisgICAgU2V0TGFzdEVycm9yKGVycik7CisgICAgaWYgKHNlbGYtPndyaXRlX2J1ZmZlci5vYmopCisgICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJnNlbGYtPndyaXRlX2J1ZmZlcik7CisgICAgUHlfQ0xFQVIoc2VsZi0+cmVhZF9idWZmZXIpOworICAgIFB5T2JqZWN0X0RlbChzZWxmKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK292ZXJsYXBwZWRfR2V0T3ZlcmxhcHBlZFJlc3VsdChPdmVybGFwcGVkT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqd2FpdG9iaikKK3sKKyAgICBpbnQgd2FpdDsKKyAgICBCT09MIHJlczsKKyAgICBEV09SRCB0cmFuc2ZlcnJlZCA9IDA7CisgICAgRFdPUkQgZXJyOworCisgICAgd2FpdCA9IFB5T2JqZWN0X0lzVHJ1ZSh3YWl0b2JqKTsKKyAgICBpZiAod2FpdCA8IDApCisgICAgICAgIHJldHVybiBOVUxMOworICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKKyAgICByZXMgPSBHZXRPdmVybGFwcGVkUmVzdWx0KHNlbGYtPmhhbmRsZSwgJnNlbGYtPm92ZXJsYXBwZWQsICZ0cmFuc2ZlcnJlZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdhaXQgIT0gMCk7CisgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKworICAgIGVyciA9IHJlcyA/IEVSUk9SX1NVQ0NFU1MgOiBHZXRMYXN0RXJyb3IoKTsKKyAgICBzd2l0Y2ggKGVycikgeworICAgICAgICBjYXNlIEVSUk9SX1NVQ0NFU1M6CisgICAgICAgIGNhc2UgRVJST1JfTU9SRV9EQVRBOgorICAgICAgICBjYXNlIEVSUk9SX09QRVJBVElPTl9BQk9SVEVEOgorICAgICAgICAgICAgc2VsZi0+Y29tcGxldGVkID0gMTsKKyAgICAgICAgICAgIHNlbGYtPnBlbmRpbmcgPSAwOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgRVJST1JfSU9fSU5DT01QTEVURToKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgc2VsZi0+cGVuZGluZyA9IDA7CisgICAgICAgICAgICByZXR1cm4gUHlFcnJfU2V0RXhjRnJvbVdpbmRvd3NFcnIoUHlFeGNfSU9FcnJvciwgZXJyKTsKKyAgICB9CisgICAgaWYgKHNlbGYtPmNvbXBsZXRlZCAmJiBzZWxmLT5yZWFkX2J1ZmZlciAhPSBOVUxMKSB7CisgICAgICAgIGFzc2VydChQeUJ5dGVzX0NoZWNrRXhhY3Qoc2VsZi0+cmVhZF9idWZmZXIpKTsKKyAgICAgICAgaWYgKHRyYW5zZmVycmVkICE9IFB5Qnl0ZXNfR0VUX1NJWkUoc2VsZi0+cmVhZF9idWZmZXIpICYmCisgICAgICAgICAgICBfUHlCeXRlc19SZXNpemUoJnNlbGYtPnJlYWRfYnVmZmVyLCB0cmFuc2ZlcnJlZCkpCisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisgICAgcmV0dXJuIFB5X0J1aWxkVmFsdWUoIklJIiwgKHVuc2lnbmVkKSB0cmFuc2ZlcnJlZCwgKHVuc2lnbmVkKSBlcnIpOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3ZlcmxhcHBlZF9nZXRidWZmZXIoT3ZlcmxhcHBlZE9iamVjdCAqc2VsZikKK3sKKyAgICBQeU9iamVjdCAqcmVzOworICAgIGlmICghc2VsZi0+Y29tcGxldGVkKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgImNhbid0IGdldCByZWFkIGJ1ZmZlciBiZWZvcmUgR2V0T3ZlcmxhcHBlZFJlc3VsdCgpICIKKyAgICAgICAgICAgICAgICAgICAgICAgICJzaWduYWxzIHRoZSBvcGVyYXRpb24gY29tcGxldGVkIik7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKyAgICByZXMgPSBzZWxmLT5yZWFkX2J1ZmZlciA/IHNlbGYtPnJlYWRfYnVmZmVyIDogUHlfTm9uZTsKKyAgICBQeV9JTkNSRUYocmVzKTsKKyAgICByZXR1cm4gcmVzOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorb3ZlcmxhcHBlZF9jYW5jZWwoT3ZlcmxhcHBlZE9iamVjdCAqc2VsZikKK3sKKyAgICBCT09MIHJlcyA9IFRSVUU7CisKKyAgICBpZiAoc2VsZi0+cGVuZGluZykgeworICAgICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCisgICAgICAgIGlmIChjaGVja19DYW5jZWxJb0V4KCkpCisgICAgICAgICAgICByZXMgPSBQeV9DYW5jZWxJb0V4KHNlbGYtPmhhbmRsZSwgJnNlbGYtPm92ZXJsYXBwZWQpOworICAgICAgICBlbHNlCisgICAgICAgICAgICByZXMgPSBDYW5jZWxJbyhzZWxmLT5oYW5kbGUpOworICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworICAgIH0KKworICAgIC8qIENhbmNlbElvRXggcmV0dXJucyBFUlJPUl9OT1RfRk9VTkQgaWYgdGhlIEkvTyBjb21wbGV0ZWQgaW4tYmV0d2VlbiAqLworICAgIGlmICghcmVzICYmIEdldExhc3RFcnJvcigpICE9IEVSUk9SX05PVF9GT1VORCkKKyAgICAgICAgcmV0dXJuIFB5RXJyX1NldEV4Y0Zyb21XaW5kb3dzRXJyKFB5RXhjX0lPRXJyb3IsIDApOworICAgIHNlbGYtPnBlbmRpbmcgPSAwOworICAgIFB5X1JFVFVSTl9OT05FOworfQorCitzdGF0aWMgUHlNZXRob2REZWYgb3ZlcmxhcHBlZF9tZXRob2RzW10gPSB7CisgICAgeyJHZXRPdmVybGFwcGVkUmVzdWx0IiwgKFB5Q0Z1bmN0aW9uKSBvdmVybGFwcGVkX0dldE92ZXJsYXBwZWRSZXN1bHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUVUSF9PLCBOVUxMfSwKKyAgICB7ImdldGJ1ZmZlciIsIChQeUNGdW5jdGlvbikgb3ZlcmxhcHBlZF9nZXRidWZmZXIsIE1FVEhfTk9BUkdTLCBOVUxMfSwKKyAgICB7ImNhbmNlbCIsIChQeUNGdW5jdGlvbikgb3ZlcmxhcHBlZF9jYW5jZWwsIE1FVEhfTk9BUkdTLCBOVUxMfSwKKyAgICB7TlVMTH0KK307CisKK3N0YXRpYyBQeU1lbWJlckRlZiBvdmVybGFwcGVkX21lbWJlcnNbXSA9IHsKKyAgICB7ImV2ZW50IiwgVF9IQU5ETEUsCisgICAgIG9mZnNldG9mKE92ZXJsYXBwZWRPYmplY3QsIG92ZXJsYXBwZWQpICsgb2Zmc2V0b2YoT1ZFUkxBUFBFRCwgaEV2ZW50KSwKKyAgICAgUkVBRE9OTFksICJvdmVybGFwcGVkIGV2ZW50IGhhbmRsZSJ9LAorICAgIHtOVUxMfQorfTsKKworUHlUeXBlT2JqZWN0IE92ZXJsYXBwZWRUeXBlID0geworICAgIFB5VmFyT2JqZWN0X0hFQURfSU5JVChOVUxMLCAwKQorICAgIC8qIHRwX25hbWUgICAgICAgICAgICovICJfbXVsdGlwcm9jZXNzaW5nLndpbjMyLk92ZXJsYXBwZWQiLAorICAgIC8qIHRwX2Jhc2ljc2l6ZSAgICAgICovIHNpemVvZihPdmVybGFwcGVkT2JqZWN0KSwKKyAgICAvKiB0cF9pdGVtc2l6ZSAgICAgICAqLyAwLAorICAgIC8qIHRwX2RlYWxsb2MgICAgICAgICovIChkZXN0cnVjdG9yKSBvdmVybGFwcGVkX2RlYWxsb2MsCisgICAgLyogdHBfcHJpbnQgICAgICAgICAgKi8gMCwKKyAgICAvKiB0cF9nZXRhdHRyICAgICAgICAqLyAwLAorICAgIC8qIHRwX3NldGF0dHIgICAgICAgICovIDAsCisgICAgLyogdHBfcmVzZXJ2ZWQgICAgICAgKi8gMCwKKyAgICAvKiB0cF9yZXByICAgICAgICAgICAqLyAwLAorICAgIC8qIHRwX2FzX251bWJlciAgICAgICovIDAsCisgICAgLyogdHBfYXNfc2VxdWVuY2UgICAgKi8gMCwKKyAgICAvKiB0cF9hc19tYXBwaW5nICAgICAqLyAwLAorICAgIC8qIHRwX2hhc2ggICAgICAgICAgICovIDAsCisgICAgLyogdHBfY2FsbCAgICAgICAgICAgKi8gMCwKKyAgICAvKiB0cF9zdHIgICAgICAgICAgICAqLyAwLAorICAgIC8qIHRwX2dldGF0dHJvICAgICAgICovIDAsCisgICAgLyogdHBfc2V0YXR0cm8gICAgICAgKi8gMCwKKyAgICAvKiB0cF9hc19idWZmZXIgICAgICAqLyAwLAorICAgIC8qIHRwX2ZsYWdzICAgICAgICAgICovIFB5X1RQRkxBR1NfREVGQVVMVCwKKyAgICAvKiB0cF9kb2MgICAgICAgICAgICAqLyAiT1ZFUkxBUFBFRCBzdHJ1Y3R1cmUgd3JhcHBlciIsCisgICAgLyogdHBfdHJhdmVyc2UgICAgICAgKi8gMCwKKyAgICAvKiB0cF9jbGVhciAgICAgICAgICAqLyAwLAorICAgIC8qIHRwX3JpY2hjb21wYXJlICAgICovIDAsCisgICAgLyogdHBfd2Vha2xpc3RvZmZzZXQgKi8gMCwKKyAgICAvKiB0cF9pdGVyICAgICAgICAgICAqLyAwLAorICAgIC8qIHRwX2l0ZXJuZXh0ICAgICAgICovIDAsCisgICAgLyogdHBfbWV0aG9kcyAgICAgICAgKi8gb3ZlcmxhcHBlZF9tZXRob2RzLAorICAgIC8qIHRwX21lbWJlcnMgICAgICAgICovIG92ZXJsYXBwZWRfbWVtYmVycywKKyAgICAvKiB0cF9nZXRzZXQgICAgICAgICAqLyAwLAorICAgIC8qIHRwX2Jhc2UgICAgICAgICAgICovIDAsCisgICAgLyogdHBfZGljdCAgICAgICAgICAgKi8gMCwKKyAgICAvKiB0cF9kZXNjcl9nZXQgICAgICAqLyAwLAorICAgIC8qIHRwX2Rlc2NyX3NldCAgICAgICovIDAsCisgICAgLyogdHBfZGljdG9mZnNldCAgICAgKi8gMCwKKyAgICAvKiB0cF9pbml0ICAgICAgICAgICAqLyAwLAorICAgIC8qIHRwX2FsbG9jICAgICAgICAgICovIDAsCisgICAgLyogdHBfbmV3ICAgICAgICAgICAgKi8gMCwKK307CisKK3N0YXRpYyBPdmVybGFwcGVkT2JqZWN0ICoKK25ld19vdmVybGFwcGVkKEhBTkRMRSBoYW5kbGUpCit7CisgICAgT3ZlcmxhcHBlZE9iamVjdCAqc2VsZjsKKworICAgIHNlbGYgPSBQeU9iamVjdF9OZXcoT3ZlcmxhcHBlZE9iamVjdCwgJk92ZXJsYXBwZWRUeXBlKTsKKyAgICBpZiAoIXNlbGYpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIHNlbGYtPmhhbmRsZSA9IGhhbmRsZTsKKyAgICBzZWxmLT5yZWFkX2J1ZmZlciA9IE5VTEw7CisgICAgc2VsZi0+cGVuZGluZyA9IDA7CisgICAgc2VsZi0+Y29tcGxldGVkID0gMDsKKyAgICBtZW1zZXQoJnNlbGYtPm92ZXJsYXBwZWQsIDAsIHNpemVvZihPVkVSTEFQUEVEKSk7CisgICAgbWVtc2V0KCZzZWxmLT53cml0ZV9idWZmZXIsIDAsIHNpemVvZihQeV9idWZmZXIpKTsKKyAgICAvKiBNYW51YWwgcmVzZXQsIGluaXRpYWxseSBub24tc2lnbmFsbGVkICovCisgICAgc2VsZi0+b3ZlcmxhcHBlZC5oRXZlbnQgPSBDcmVhdGVFdmVudChOVUxMLCBUUlVFLCBGQUxTRSwgTlVMTCk7CisgICAgcmV0dXJuIHNlbGY7Cit9CisKKworLyoKKyAqIE1vZHVsZSBmdW5jdGlvbnMKKyAqLworCiBzdGF0aWMgUHlPYmplY3QgKgogd2luMzJfQ2xvc2VIYW5kbGUoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQogewpAQCAtMzYsMjAgKzI1Niw0NCBAQAogfQogCiBzdGF0aWMgUHlPYmplY3QgKgotd2luMzJfQ29ubmVjdE5hbWVkUGlwZShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCit3aW4zMl9Db25uZWN0TmFtZWRQaXBlKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3ZHMpCiB7CiAgICAgSEFORExFIGhOYW1lZFBpcGU7Ci0gICAgTFBPVkVSTEFQUEVEIGxwT3ZlcmxhcHBlZDsKKyAgICBpbnQgdXNlX292ZXJsYXBwZWQgPSAwOwogICAgIEJPT0wgc3VjY2VzczsKKyAgICBPdmVybGFwcGVkT2JqZWN0ICpvdmVybGFwcGVkID0gTlVMTDsKKyAgICBzdGF0aWMgY2hhciAqa3dsaXN0W10gPSB7ImhhbmRsZSIsICJvdmVybGFwcGVkIiwgTlVMTH07CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgRl9IQU5ETEUgRl9QT0lOVEVSLAotICAgICAgICAgICAgICAgICAgICAgICAgICAmaE5hbWVkUGlwZSwgJmxwT3ZlcmxhcHBlZCkpCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dkcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGX0hBTkRMRSAifGkiLCBrd2xpc3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmhOYW1lZFBpcGUsICZ1c2Vfb3ZlcmxhcHBlZCkpCiAgICAgICAgIHJldHVybiBOVUxMOwogCisgICAgaWYgKHVzZV9vdmVybGFwcGVkKSB7CisgICAgICAgIG92ZXJsYXBwZWQgPSBuZXdfb3ZlcmxhcHBlZChoTmFtZWRQaXBlKTsKKyAgICAgICAgaWYgKCFvdmVybGFwcGVkKQorICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorCiAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgIHN1Y2Nlc3MgPSBDb25uZWN0TmFtZWRQaXBlKGhOYW1lZFBpcGUsIGxwT3ZlcmxhcHBlZCk7CisgICAgc3VjY2VzcyA9IENvbm5lY3ROYW1lZFBpcGUoaE5hbWVkUGlwZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdmVybGFwcGVkID8gJm92ZXJsYXBwZWQtPm92ZXJsYXBwZWQgOiBOVUxMKTsKICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwogCisgICAgaWYgKG92ZXJsYXBwZWQpIHsKKyAgICAgICAgaW50IGVyciA9IEdldExhc3RFcnJvcigpOworICAgICAgICAvKiBPdmVybGFwcGVkIENvbm5lY3ROYW1lZFBpcGUgbmV2ZXIgcmV0dXJucyBhIHN1Y2Nlc3MgY29kZSAqLworICAgICAgICBhc3NlcnQoc3VjY2VzcyA9PSAwKTsKKyAgICAgICAgaWYgKGVyciA9PSBFUlJPUl9JT19QRU5ESU5HKQorICAgICAgICAgICAgb3ZlcmxhcHBlZC0+cGVuZGluZyA9IDE7CisgICAgICAgIGVsc2UgaWYgKGVyciA9PSBFUlJPUl9QSVBFX0NPTk5FQ1RFRCkKKyAgICAgICAgICAgIFNldEV2ZW50KG92ZXJsYXBwZWQtPm92ZXJsYXBwZWQuaEV2ZW50KTsKKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBQeV9ERUNSRUYob3ZlcmxhcHBlZCk7CisgICAgICAgICAgICByZXR1cm4gUHlFcnJfU2V0RnJvbVdpbmRvd3NFcnIoZXJyKTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gKFB5T2JqZWN0ICopIG92ZXJsYXBwZWQ7CisgICAgfQogICAgIGlmICghc3VjY2VzcykKICAgICAgICAgcmV0dXJuIFB5RXJyX1NldEZyb21XaW5kb3dzRXJyKDApOwogCkBAIC0yMTUsMTYgKzQ1OSwzMTYgQEAKICAgICBQeV9SRVRVUk5fTk9ORTsKIH0KIAorc3RhdGljIFB5T2JqZWN0ICoKK3dpbjMyX2Nsb3Nlc29ja2V0KFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBIQU5ETEUgaGFuZGxlOworICAgIGludCByZXQ7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgRl9IQU5ETEUgIjpjbG9zZXNvY2tldCIgLCAmaGFuZGxlKSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCisgICAgcmV0ID0gY2xvc2Vzb2NrZXQoKFNPQ0tFVCkgaGFuZGxlKTsKKyAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworCisgICAgaWYgKHJldCkKKyAgICAgICAgcmV0dXJuIFB5RXJyX1NldEV4Y0Zyb21XaW5kb3dzRXJyKFB5RXhjX0lPRXJyb3IsIFdTQUdldExhc3RFcnJvcigpKTsKKyAgICBQeV9SRVRVUk5fTk9ORTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK3dpbjMyX3JlY3YoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQoreworICAgIEhBTkRMRSBoYW5kbGU7CisgICAgaW50IHNpemUsIG5yZWFkOworICAgIFB5T2JqZWN0ICpidWY7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgRl9IQU5ETEUgImk6cmVjdiIgLCAmaGFuZGxlLCAmc2l6ZSkpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgYnVmID0gUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZShOVUxMLCBzaXplKTsKKyAgICBpZiAoIWJ1ZikKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCisgICAgbnJlYWQgPSByZWN2KChTT0NLRVQpIGhhbmRsZSwgUHlCeXRlc19BU19TVFJJTkcoYnVmKSwgc2l6ZSwgMCk7CisgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKworICAgIGlmIChucmVhZCA8IDApIHsKKyAgICAgICAgUHlfREVDUkVGKGJ1Zik7CisgICAgICAgIHJldHVybiBQeUVycl9TZXRFeGNGcm9tV2luZG93c0VycihQeUV4Y19JT0Vycm9yLCBXU0FHZXRMYXN0RXJyb3IoKSk7CisgICAgfQorICAgIF9QeUJ5dGVzX1Jlc2l6ZSgmYnVmLCBucmVhZCk7CisgICAgcmV0dXJuIGJ1ZjsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK3dpbjMyX3NlbmQoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQoreworICAgIEhBTkRMRSBoYW5kbGU7CisgICAgUHlfYnVmZmVyIGJ1ZjsKKyAgICBpbnQgcmV0OworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsIEZfSEFORExFICJ5KjpzZW5kIiAsICZoYW5kbGUsICZidWYpKQorICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKKyAgICByZXQgPSBzZW5kKChTT0NLRVQpIGhhbmRsZSwgYnVmLmJ1ZiwgYnVmLmxlbiwgMCk7CisgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKworICAgIFB5QnVmZmVyX1JlbGVhc2UoJmJ1Zik7CisgICAgaWYgKHJldCA8IDApCisgICAgICAgIHJldHVybiBQeUVycl9TZXRFeGNGcm9tV2luZG93c0VycihQeUV4Y19JT0Vycm9yLCBXU0FHZXRMYXN0RXJyb3IoKSk7CisgICAgcmV0dXJuIFB5TG9uZ19Gcm9tTG9uZyhyZXQpOworfQorCitzdGF0aWMgUHlPYmplY3QgKgord2luMzJfV3JpdGVGaWxlKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3ZHMpCit7CisgICAgSEFORExFIGhhbmRsZTsKKyAgICBQeV9idWZmZXIgX2J1ZiwgKmJ1ZjsKKyAgICBQeU9iamVjdCAqYnVmb2JqOworICAgIERXT1JEIHdyaXR0ZW47CisgICAgQk9PTCByZXQ7CisgICAgaW50IHVzZV9vdmVybGFwcGVkID0gMDsKKyAgICBEV09SRCBlcnI7CisgICAgT3ZlcmxhcHBlZE9iamVjdCAqb3ZlcmxhcHBlZCA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKmt3bGlzdFtdID0geyJoYW5kbGUiLCAiYnVmZmVyIiwgIm92ZXJsYXBwZWQiLCBOVUxMfTsKKworICAgIC8qIEZpcnN0IGdldCBoYW5kbGUgYW5kIHVzZV9vdmVybGFwcGVkIHRvIGtub3cgd2hpY2ggUHlfYnVmZmVyIHRvIHVzZSAqLworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3ZHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRl9IQU5ETEUgIk98aTpXcml0ZUZpbGUiLCBrd2xpc3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmhhbmRsZSwgJmJ1Zm9iaiwgJnVzZV9vdmVybGFwcGVkKSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICBpZiAodXNlX292ZXJsYXBwZWQpIHsKKyAgICAgICAgb3ZlcmxhcHBlZCA9IG5ld19vdmVybGFwcGVkKGhhbmRsZSk7CisgICAgICAgIGlmICghb3ZlcmxhcHBlZCkKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICBidWYgPSAmb3ZlcmxhcHBlZC0+d3JpdGVfYnVmZmVyOworICAgIH0KKyAgICBlbHNlCisgICAgICAgIGJ1ZiA9ICZfYnVmOworCisgICAgaWYgKCFQeUFyZ19QYXJzZShidWZvYmosICJ5KiIsIGJ1ZikpIHsKKyAgICAgICAgUHlfWERFQ1JFRihvdmVybGFwcGVkKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorCisgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUworICAgIHJldCA9IFdyaXRlRmlsZShoYW5kbGUsIGJ1Zi0+YnVmLCBidWYtPmxlbiwgJndyaXR0ZW4sCisgICAgICAgICAgICAgICAgICAgIG92ZXJsYXBwZWQgPyAmb3ZlcmxhcHBlZC0+b3ZlcmxhcHBlZCA6IE5VTEwpOworICAgIFB5X0VORF9BTExPV19USFJFQURTCisKKyAgICBlcnIgPSByZXQgPyAwIDogR2V0TGFzdEVycm9yKCk7CisKKyAgICBpZiAob3ZlcmxhcHBlZCkgeworICAgICAgICBpZiAoIXJldCkgeworICAgICAgICAgICAgaWYgKGVyciA9PSBFUlJPUl9JT19QRU5ESU5HKQorICAgICAgICAgICAgICAgIG92ZXJsYXBwZWQtPnBlbmRpbmcgPSAxOworICAgICAgICAgICAgZWxzZSB7CisgICAgICAgICAgICAgICAgUHlfREVDUkVGKG92ZXJsYXBwZWQpOworICAgICAgICAgICAgICAgIHJldHVybiBQeUVycl9TZXRFeGNGcm9tV2luZG93c0VycihQeUV4Y19JT0Vycm9yLCAwKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICByZXR1cm4gUHlfQnVpbGRWYWx1ZSgiTkkiLCAoUHlPYmplY3QgKikgb3ZlcmxhcHBlZCwgZXJyKTsKKyAgICB9CisKKyAgICBQeUJ1ZmZlcl9SZWxlYXNlKGJ1Zik7CisgICAgaWYgKCFyZXQpCisgICAgICAgIHJldHVybiBQeUVycl9TZXRFeGNGcm9tV2luZG93c0VycihQeUV4Y19JT0Vycm9yLCAwKTsKKyAgICByZXR1cm4gUHlfQnVpbGRWYWx1ZSgiSUkiLCB3cml0dGVuLCBlcnIpOworfQorCitzdGF0aWMgUHlPYmplY3QgKgord2luMzJfUmVhZEZpbGUoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dkcykKK3sKKyAgICBIQU5ETEUgaGFuZGxlOworICAgIGludCBzaXplOworICAgIERXT1JEIG5yZWFkOworICAgIFB5T2JqZWN0ICpidWY7CisgICAgQk9PTCByZXQ7CisgICAgaW50IHVzZV9vdmVybGFwcGVkID0gMDsKKyAgICBEV09SRCBlcnI7CisgICAgT3ZlcmxhcHBlZE9iamVjdCAqb3ZlcmxhcHBlZCA9IE5VTEw7CisgICAgc3RhdGljIGNoYXIgKmt3bGlzdFtdID0geyJoYW5kbGUiLCAic2l6ZSIsICJvdmVybGFwcGVkIiwgTlVMTH07CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2RzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZfSEFORExFICJpfGk6UmVhZEZpbGUiLCBrd2xpc3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmhhbmRsZSwgJnNpemUsICZ1c2Vfb3ZlcmxhcHBlZCkpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgYnVmID0gUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZShOVUxMLCBzaXplKTsKKyAgICBpZiAoIWJ1ZikKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgaWYgKHVzZV9vdmVybGFwcGVkKSB7CisgICAgICAgIG92ZXJsYXBwZWQgPSBuZXdfb3ZlcmxhcHBlZChoYW5kbGUpOworICAgICAgICBpZiAoIW92ZXJsYXBwZWQpIHsKKyAgICAgICAgICAgIFB5X0RFQ1JFRihidWYpOworICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIH0KKyAgICAgICAgLyogU3RlYWxzIHJlZmVyZW5jZSB0byBidWYgKi8KKyAgICAgICAgb3ZlcmxhcHBlZC0+cmVhZF9idWZmZXIgPSBidWY7CisgICAgfQorCisgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUworICAgIHJldCA9IFJlYWRGaWxlKGhhbmRsZSwgUHlCeXRlc19BU19TVFJJTkcoYnVmKSwgc2l6ZSwgJm5yZWFkLAorICAgICAgICAgICAgICAgICAgIG92ZXJsYXBwZWQgPyAmb3ZlcmxhcHBlZC0+b3ZlcmxhcHBlZCA6IE5VTEwpOworICAgIFB5X0VORF9BTExPV19USFJFQURTCisKKyAgICBlcnIgPSByZXQgPyAwIDogR2V0TGFzdEVycm9yKCk7CisKKyAgICBpZiAob3ZlcmxhcHBlZCkgeworICAgICAgICBpZiAoIXJldCkgeworICAgICAgICAgICAgaWYgKGVyciA9PSBFUlJPUl9JT19QRU5ESU5HKQorICAgICAgICAgICAgICAgIG92ZXJsYXBwZWQtPnBlbmRpbmcgPSAxOworICAgICAgICAgICAgZWxzZSBpZiAoZXJyICE9IEVSUk9SX01PUkVfREFUQSkgeworICAgICAgICAgICAgICAgIFB5X0RFQ1JFRihvdmVybGFwcGVkKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gUHlFcnJfU2V0RXhjRnJvbVdpbmRvd3NFcnIoUHlFeGNfSU9FcnJvciwgMCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIFB5X0J1aWxkVmFsdWUoIk5JIiwgKFB5T2JqZWN0ICopIG92ZXJsYXBwZWQsIGVycik7CisgICAgfQorCisgICAgaWYgKCFyZXQgJiYgZXJyICE9IEVSUk9SX01PUkVfREFUQSkgeworICAgICAgICBQeV9ERUNSRUYoYnVmKTsKKyAgICAgICAgcmV0dXJuIFB5RXJyX1NldEV4Y0Zyb21XaW5kb3dzRXJyKFB5RXhjX0lPRXJyb3IsIDApOworICAgIH0KKyAgICBpZiAoX1B5Qnl0ZXNfUmVzaXplKCZidWYsIG5yZWFkKSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgcmV0dXJuIFB5X0J1aWxkVmFsdWUoIk5JIiwgYnVmLCBlcnIpOworfQorCitzdGF0aWMgUHlPYmplY3QgKgord2luMzJfUGVla05hbWVkUGlwZShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgSEFORExFIGhhbmRsZTsKKyAgICBpbnQgc2l6ZSA9IDA7CisgICAgUHlPYmplY3QgKmJ1ZiA9IE5VTEw7CisgICAgRFdPUkQgbnJlYWQsIG5hdmFpbCwgbmxlZnQ7CisgICAgQk9PTCByZXQ7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgRl9IQU5ETEUgInxpOlBlZWtOYW1lZFBpcGUiICwgJmhhbmRsZSwgJnNpemUpKQorICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIGlmIChzaXplIDwgMCkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwgIm5lZ2F0aXZlIHNpemUiKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorCisgICAgaWYgKHNpemUpIHsKKyAgICAgICAgYnVmID0gUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZShOVUxMLCBzaXplKTsKKyAgICAgICAgaWYgKCFidWYpCisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUworICAgICAgICByZXQgPSBQZWVrTmFtZWRQaXBlKGhhbmRsZSwgUHlCeXRlc19BU19TVFJJTkcoYnVmKSwgc2l6ZSwgJm5yZWFkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICZuYXZhaWwsICZubGVmdCk7CisgICAgICAgIFB5X0VORF9BTExPV19USFJFQURTCisgICAgICAgIGlmICghcmV0KSB7CisgICAgICAgICAgICBQeV9ERUNSRUYoYnVmKTsKKyAgICAgICAgICAgIHJldHVybiBQeUVycl9TZXRFeGNGcm9tV2luZG93c0VycihQeUV4Y19JT0Vycm9yLCAwKTsKKyAgICAgICAgfQorICAgICAgICBpZiAoX1B5Qnl0ZXNfUmVzaXplKCZidWYsIG5yZWFkKSkKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICByZXR1cm4gUHlfQnVpbGRWYWx1ZSgiTmlpIiwgYnVmLCBuYXZhaWwsIG5sZWZ0KTsKKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKKyAgICAgICAgcmV0ID0gUGVla05hbWVkUGlwZShoYW5kbGUsIE5VTEwsIDAsIE5VTEwsICZuYXZhaWwsICZubGVmdCk7CisgICAgICAgIFB5X0VORF9BTExPV19USFJFQURTCisgICAgICAgIGlmICghcmV0KSB7CisgICAgICAgICAgICByZXR1cm4gUHlFcnJfU2V0RXhjRnJvbVdpbmRvd3NFcnIoUHlFeGNfSU9FcnJvciwgMCk7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIFB5X0J1aWxkVmFsdWUoImlpIiwgbmF2YWlsLCBubGVmdCk7CisgICAgfQorfQorCitzdGF0aWMgUHlPYmplY3QgKgord2luMzJfV2FpdEZvck11bHRpcGxlT2JqZWN0cyhQeU9iamVjdCogc2VsZiwgUHlPYmplY3QqIGFyZ3MpCit7CisgICAgRFdPUkQgcmVzdWx0OworICAgIFB5T2JqZWN0ICpoYW5kbGVfc2VxOworICAgIEhBTkRMRSBoYW5kbGVzW01BWElNVU1fV0FJVF9PQkpFQ1RTXTsKKyAgICBIQU5ETEUgc2lnaW50X2V2ZW50ID0gTlVMTDsKKyAgICBQeV9zc2l6ZV90IG5oYW5kbGVzLCBpOworICAgIGludCB3YWl0X2ZsYWc7CisgICAgaW50IG1pbGxpc2Vjb25kcyA9IElORklOSVRFOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJPaXxpOldhaXRGb3JNdWx0aXBsZU9iamVjdHMiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmaGFuZGxlX3NlcSwgJndhaXRfZmxhZywgJm1pbGxpc2Vjb25kcykpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgaWYgKCFQeVNlcXVlbmNlX0NoZWNrKGhhbmRsZV9zZXEpKSB7CisgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAic2VxdWVuY2UgdHlwZSBleHBlY3RlZCwgZ290ICclcyciLAorICAgICAgICAgICAgICAgICAgICAgUHlfVFlQRShoYW5kbGVfc2VxKS0+dHBfZG9jKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorICAgIG5oYW5kbGVzID0gUHlTZXF1ZW5jZV9MZW5ndGgoaGFuZGxlX3NlcSk7CisgICAgaWYgKG5oYW5kbGVzID09IC0xKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBpZiAobmhhbmRsZXMgPCAwIHx8IG5oYW5kbGVzID49IE1BWElNVU1fV0FJVF9PQkpFQ1RTIC0gMSkgeworICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVmFsdWVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICJuZWVkIGF0IG1vc3QgJXpkIGhhbmRsZXMsIGdvdCBhIHNlcXVlbmNlIG9mIGxlbmd0aCAlemQiLAorICAgICAgICAgICAgICAgICAgICAgTUFYSU1VTV9XQUlUX09CSkVDVFMgLSAxLCBuaGFuZGxlcyk7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKyAgICBmb3IgKGkgPSAwOyBpIDwgbmhhbmRsZXM7IGkrKykgeworICAgICAgICBIQU5ETEUgaDsKKyAgICAgICAgUHlPYmplY3QgKnYgPSBQeVNlcXVlbmNlX0dldEl0ZW0oaGFuZGxlX3NlcSwgaSk7CisgICAgICAgIGlmICh2ID09IE5VTEwpCisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgaWYgKCFQeUFyZ19QYXJzZSh2LCBGX0hBTkRMRSwgJmgpKSB7CisgICAgICAgICAgICBQeV9ERUNSRUYodik7CisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgfQorICAgICAgICBoYW5kbGVzW2ldID0gaDsKKyAgICAgICAgUHlfREVDUkVGKHYpOworICAgIH0KKyAgICAvKiBJZiB0aGlzIGlzIHRoZSBtYWluIHRocmVhZCB0aGVuIG1ha2UgdGhlIHdhaXQgaW50ZXJydXB0aWJsZQorICAgICAgIGJ5IEN0cmwtQyB1bmxlc3Mgd2UgYXJlIHdhaXRpbmcgZm9yICphbGwqIGhhbmRsZXMgKi8KKyAgICBpZiAoIXdhaXRfZmxhZyAmJiBfUHlPU19Jc01haW5UaHJlYWQoKSkgeworICAgICAgICBzaWdpbnRfZXZlbnQgPSBfUHlPU19TaWdpbnRFdmVudCgpOworICAgICAgICBhc3NlcnQoc2lnaW50X2V2ZW50ICE9IE5VTEwpOworICAgICAgICBoYW5kbGVzW25oYW5kbGVzKytdID0gc2lnaW50X2V2ZW50OworICAgIH0KKworICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKKyAgICBpZiAoc2lnaW50X2V2ZW50ICE9IE5VTEwpCisgICAgICAgIFJlc2V0RXZlbnQoc2lnaW50X2V2ZW50KTsKKyAgICByZXN1bHQgPSBXYWl0Rm9yTXVsdGlwbGVPYmplY3RzKChEV09SRCkgbmhhbmRsZXMsIGhhbmRsZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoQk9PTCkgd2FpdF9mbGFnLCAoRFdPUkQpIG1pbGxpc2Vjb25kcyk7CisgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKworICAgIGlmIChyZXN1bHQgPT0gV0FJVF9GQUlMRUQpCisgICAgICAgIHJldHVybiBQeUVycl9TZXRFeGNGcm9tV2luZG93c0VycihQeUV4Y19JT0Vycm9yLCAwKTsKKyAgICBlbHNlIGlmIChzaWdpbnRfZXZlbnQgIT0gTlVMTCAmJiByZXN1bHQgPT0gV0FJVF9PQkpFQ1RfMCArIG5oYW5kbGVzIC0gMSkgeworICAgICAgICBlcnJubyA9IEVJTlRSOworICAgICAgICByZXR1cm4gUHlFcnJfU2V0RnJvbUVycm5vKFB5RXhjX0lPRXJyb3IpOworICAgIH0KKworICAgIHJldHVybiBQeUxvbmdfRnJvbUxvbmcoKGludCkgcmVzdWx0KTsKK30KKworCiBzdGF0aWMgUHlNZXRob2REZWYgd2luMzJfbWV0aG9kc1tdID0gewogICAgIFdJTjMyX0ZVTkNUSU9OKENsb3NlSGFuZGxlKSwKICAgICBXSU4zMl9GVU5DVElPTihHZXRMYXN0RXJyb3IpLAogICAgIFdJTjMyX0ZVTkNUSU9OKE9wZW5Qcm9jZXNzKSwKICAgICBXSU4zMl9GVU5DVElPTihFeGl0UHJvY2VzcyksCi0gICAgV0lOMzJfRlVOQ1RJT04oQ29ubmVjdE5hbWVkUGlwZSksCisgICAgV0lOMzJfS1dBUkdTX0ZVTkNUSU9OKENvbm5lY3ROYW1lZFBpcGUpLAogICAgIFdJTjMyX0ZVTkNUSU9OKENyZWF0ZUZpbGUpLAogICAgIFdJTjMyX0ZVTkNUSU9OKENyZWF0ZU5hbWVkUGlwZSksCisgICAgV0lOMzJfS1dBUkdTX0ZVTkNUSU9OKFJlYWRGaWxlKSwKKyAgICBXSU4zMl9GVU5DVElPTihQZWVrTmFtZWRQaXBlKSwKICAgICBXSU4zMl9GVU5DVElPTihTZXROYW1lZFBpcGVIYW5kbGVTdGF0ZSksCisgICAgV0lOMzJfRlVOQ1RJT04oV2FpdEZvck11bHRpcGxlT2JqZWN0cyksCiAgICAgV0lOMzJfRlVOQ1RJT04oV2FpdE5hbWVkUGlwZSksCisgICAgV0lOMzJfS1dBUkdTX0ZVTkNUSU9OKFdyaXRlRmlsZSksCisgICAgV0lOMzJfRlVOQ1RJT04oY2xvc2Vzb2NrZXQpLAorICAgIFdJTjMyX0ZVTkNUSU9OKHJlY3YpLAorICAgIFdJTjMyX0ZVTkNUSU9OKHNlbmQpLAogICAgIHtOVUxMfQogfTsKIApAQCAtMjQzLDEwICs3ODcsMjMgQEAKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgUHlfSU5DUkVGKCZXaW4zMlR5cGUpOwogCisgICAgaWYgKFB5VHlwZV9SZWFkeSgmT3ZlcmxhcHBlZFR5cGUpIDwgMCkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgUHlEaWN0X1NldEl0ZW1TdHJpbmcoV2luMzJUeXBlLnRwX2RpY3QsICJPdmVybGFwcGVkIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAoUHlPYmplY3QgKikgJk92ZXJsYXBwZWRUeXBlKTsKKwogICAgIFdJTjMyX0NPTlNUQU5UKEZfRFdPUkQsIEVSUk9SX0FMUkVBRFlfRVhJU1RTKTsKKyAgICBXSU4zMl9DT05TVEFOVChGX0RXT1JELCBFUlJPUl9CUk9LRU5fUElQRSk7CisgICAgV0lOMzJfQ09OU1RBTlQoRl9EV09SRCwgRVJST1JfSU9fUEVORElORyk7CisgICAgV0lOMzJfQ09OU1RBTlQoRl9EV09SRCwgRVJST1JfTU9SRV9EQVRBKTsKKyAgICBXSU4zMl9DT05TVEFOVChGX0RXT1JELCBFUlJPUl9ORVROQU1FX0RFTEVURUQpOworICAgIFdJTjMyX0NPTlNUQU5UKEZfRFdPUkQsIEVSUk9SX05PX1NZU1RFTV9SRVNPVVJDRVMpOworICAgIFdJTjMyX0NPTlNUQU5UKEZfRFdPUkQsIEVSUk9SX09QRVJBVElPTl9BQk9SVEVEKTsKICAgICBXSU4zMl9DT05TVEFOVChGX0RXT1JELCBFUlJPUl9QSVBFX0JVU1kpOwogICAgIFdJTjMyX0NPTlNUQU5UKEZfRFdPUkQsIEVSUk9SX1BJUEVfQ09OTkVDVEVEKTsKICAgICBXSU4zMl9DT05TVEFOVChGX0RXT1JELCBFUlJPUl9TRU1fVElNRU9VVCk7CisgICAgV0lOMzJfQ09OU1RBTlQoRl9EV09SRCwgRklMRV9GTEFHX0ZJUlNUX1BJUEVfSU5TVEFOQ0UpOworICAgIFdJTjMyX0NPTlNUQU5UKEZfRFdPUkQsIEZJTEVfRkxBR19PVkVSTEFQUEVEKTsKICAgICBXSU4zMl9DT05TVEFOVChGX0RXT1JELCBHRU5FUklDX1JFQUQpOwogICAgIFdJTjMyX0NPTlNUQU5UKEZfRFdPUkQsIEdFTkVSSUNfV1JJVEUpOwogICAgIFdJTjMyX0NPTlNUQU5UKEZfRFdPUkQsIElORklOSVRFKTsKZGlmZiAtLWdpdCBhL01vZHVsZXMvX3BpY2tsZS5jIGIvTW9kdWxlcy9fcGlja2xlLmMKaW5kZXggZmM1Zjg3MS4uNWJhNTU5OSAxMDA2NDQKLS0tIGEvTW9kdWxlcy9fcGlja2xlLmMKKysrIGIvTW9kdWxlcy9fcGlja2xlLmMKQEAgLTMxOSw2ICszMTksNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmplY3RzIHRvIHN1cHBvcnQgc2VsZi1yZWZlcmVudGlhbCBvYmplY3RzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBpY2tsaW5nLiAqLwogICAgIFB5T2JqZWN0ICpwZXJzX2Z1bmM7ICAgICAgICAvKiBwZXJzaXN0ZW50X2lkKCkgbWV0aG9kLCBjYW4gYmUgTlVMTCAqLworICAgIFB5T2JqZWN0ICpkaXNwYXRjaF90YWJsZTsgICAvKiBwcml2YXRlIGRpc3BhdGNoX3RhYmxlLCBjYW4gYmUgTlVMTCAqLwogICAgIFB5T2JqZWN0ICphcmc7CiAKICAgICBQeU9iamVjdCAqd3JpdGU7ICAgICAgICAgICAgLyogd3JpdGUoKSBtZXRob2Qgb2YgdGhlIG91dHB1dCBzdHJlYW0uICovCkBAIC02MDUsNyArNjA2LDcgQEAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwogCiAvKiBIZWxwZXJzIGZvciBjcmVhdGluZyB0aGUgYXJndW1lbnQgdHVwbGUgcGFzc2VkIHRvIGZ1bmN0aW9ucy4gVGhpcyBoYXMgdGhlCi0gICBwZXJmb3JtYW5jZSBhZHZhbnRhZ2Ugb2YgY2FsbGluZyBQeVR1cGxlX05ldygpIG9ubHkgb25jZS4gCisgICBwZXJmb3JtYW5jZSBhZHZhbnRhZ2Ugb2YgY2FsbGluZyBQeVR1cGxlX05ldygpIG9ubHkgb25jZS4KIAogICAgWFhYKGF2YXNzYWxvdHRpKTogSW5saW5lIGRpcmVjdGx5IGluIF9QaWNrbGVyX0Zhc3RDYWxsKCkgYW5kCiAgICBfVW5waWNrbGVyX0Zhc3RDYWxsKCkuICovCkBAIC03NjQsNiArNzY1LDcgQEAKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKICAgICBzZWxmLT5wZXJzX2Z1bmMgPSBOVUxMOworICAgIHNlbGYtPmRpc3BhdGNoX3RhYmxlID0gTlVMTDsKICAgICBzZWxmLT5hcmcgPSBOVUxMOwogICAgIHNlbGYtPndyaXRlID0gTlVMTDsKICAgICBzZWxmLT5wcm90byA9IDA7CkBAIC04MTMsNyArODE1LDcgQEAKICAgICBmaXhfaW1wb3J0cyA9IFB5T2JqZWN0X0lzVHJ1ZShmaXhfaW1wb3J0c19vYmopOwogICAgIGlmIChmaXhfaW1wb3J0cyA9PSAtMSkKICAgICAgICAgcmV0dXJuIC0xOwotICAgIAorCiAgICAgc2VsZi0+cHJvdG8gPSBwcm90bzsKICAgICBzZWxmLT5iaW4gPSBwcm90byA+IDA7CiAgICAgc2VsZi0+Zml4X2ltcG9ydHMgPSBmaXhfaW1wb3J0cyAmJiBwcm90byA8IDM7CkBAIC04MjYsOCArODI4LDkgQEAKIHN0YXRpYyBpbnQKIF9QaWNrbGVyX1NldE91dHB1dFN0cmVhbShQaWNrbGVyT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqZmlsZSkKIHsKKyAgICBfUHlfSURFTlRJRklFUih3cml0ZSk7CiAgICAgYXNzZXJ0KGZpbGUgIT0gTlVMTCk7Ci0gICAgc2VsZi0+d3JpdGUgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKGZpbGUsICJ3cml0ZSIpOworICAgIHNlbGYtPndyaXRlID0gX1B5T2JqZWN0X0dldEF0dHJJZChmaWxlLCAmUHlJZF93cml0ZSk7CiAgICAgaWYgKHNlbGYtPndyaXRlID09IE5VTEwpIHsKICAgICAgICAgaWYgKFB5RXJyX0V4Y2VwdGlvbk1hdGNoZXMoUHlFeGNfQXR0cmlidXRlRXJyb3IpKQogICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwKQEAgLTkwOSw3ICs5MTIsNyBAQAogICAgIFB5X3NzaXplX3QgcmVhZF9zaXplLCBwcmVmZXRjaGVkX3NpemUgPSAwOwogCiAgICAgYXNzZXJ0KHNlbGYtPnJlYWQgIT0gTlVMTCk7Ci0gICAgCisKICAgICBpZiAoX1VucGlja2xlcl9Ta2lwQ29uc3VtZWQoc2VsZikgPCAwKQogICAgICAgICByZXR1cm4gLTE7CiAKQEAgLTEwMzcsNyArMTA0MCw3IEBACiAgICAgICAgIHNlbGYtPm5leHRfcmVhZF9pZHggPSBudW1fcmVhZDsKICAgICAgICAgcmV0dXJuIF9VbnBpY2tsZXJfQ29weUxpbmUoc2VsZiwgc2VsZi0+aW5wdXRfYnVmZmVyLCBudW1fcmVhZCwgcmVzdWx0KTsKICAgICB9Ci0gCisKICAgICAvKiBJZiB3ZSBnZXQgaGVyZSwgd2UndmUgcnVuIG9mZiB0aGUgZW5kIG9mIHRoZSBpbnB1dCBzdHJpbmcuIFJldHVybiB0aGUKICAgICAgICByZW1haW5pbmcgc3RyaW5nIGFuZCBsZXQgdGhlIGNhbGxlciBmaWd1cmUgaXQgb3V0LiAqLwogICAgICpyZXN1bHQgPSBzZWxmLT5pbnB1dF9idWZmZXIgKyBzZWxmLT5uZXh0X3JlYWRfaWR4OwpAQCAtMTE3MywxNSArMTE3NiwxOSBAQAogc3RhdGljIGludAogX1VucGlja2xlcl9TZXRJbnB1dFN0cmVhbShVbnBpY2tsZXJPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpmaWxlKQogewotICAgIHNlbGYtPnBlZWsgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKGZpbGUsICJwZWVrIik7CisgICAgX1B5X0lERU5USUZJRVIocGVlayk7CisgICAgX1B5X0lERU5USUZJRVIocmVhZCk7CisgICAgX1B5X0lERU5USUZJRVIocmVhZGxpbmUpOworCisgICAgc2VsZi0+cGVlayA9IF9QeU9iamVjdF9HZXRBdHRySWQoZmlsZSwgJlB5SWRfcGVlayk7CiAgICAgaWYgKHNlbGYtPnBlZWsgPT0gTlVMTCkgewogICAgICAgICBpZiAoUHlFcnJfRXhjZXB0aW9uTWF0Y2hlcyhQeUV4Y19BdHRyaWJ1dGVFcnJvcikpCiAgICAgICAgICAgICBQeUVycl9DbGVhcigpOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICByZXR1cm4gLTE7CiAgICAgfQotICAgIHNlbGYtPnJlYWQgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKGZpbGUsICJyZWFkIik7Ci0gICAgc2VsZi0+cmVhZGxpbmUgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKGZpbGUsICJyZWFkbGluZSIpOworICAgIHNlbGYtPnJlYWQgPSBfUHlPYmplY3RfR2V0QXR0cklkKGZpbGUsICZQeUlkX3JlYWQpOworICAgIHNlbGYtPnJlYWRsaW5lID0gX1B5T2JqZWN0X0dldEF0dHJJZChmaWxlLCAmUHlJZF9yZWFkbGluZSk7CiAgICAgaWYgKHNlbGYtPnJlYWRsaW5lID09IE5VTEwgfHwgc2VsZi0+cmVhZCA9PSBOVUxMKSB7CiAgICAgICAgIGlmIChQeUVycl9FeGNlcHRpb25NYXRjaGVzKFB5RXhjX0F0dHJpYnV0ZUVycm9yKSkKICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsCkBAIC0xNTQzLDcgKzE1NTAsMTAgQEAKICAgICAgICAgUHlFcnJfQ2xlYXIoKTsKICAgICB9CiAgICAgZWxzZQotICAgICAgICByZXR1cm4gc2F2ZV9pbnQoc2VsZiwgdmFsKTsKKyNpZiBTSVpFT0ZfTE9ORyA+IDQKKyAgICAgICAgaWYgKHZhbCA8PSAweDdmZmZmZmZmTCAmJiB2YWwgPj0gLTB4ODAwMDAwMDBMKQorI2VuZGlmCisgICAgICAgICAgICByZXR1cm4gc2F2ZV9pbnQoc2VsZiwgdmFsKTsKIAogICAgIGlmIChzZWxmLT5wcm90byA+PSAyKSB7CiAgICAgICAgIC8qIExpbmVhci10aW1lIHBpY2tsaW5nLiAqLwpAQCAtMTU5OCw3ICsxNjA4LDcgQEAKICAgICAgICAgICogYml0cy4KICAgICAgICAgICovCiAgICAgICAgIGlmIChzaWduIDwgMCAmJgotICAgICAgICAgICAgbmJ5dGVzID4gMSAmJiAKKyAgICAgICAgICAgIG5ieXRlcyA+IDEgJiYKICAgICAgICAgICAgIHBkYXRhW25ieXRlcyAtIDFdID09IDB4ZmYgJiYKICAgICAgICAgICAgIChwZGF0YVtuYnl0ZXMgLSAyXSAmIDB4ODApICE9IDApIHsKICAgICAgICAgICAgIG5ieXRlcy0tOwpAQCAtMTY2NCw3ICsxNjc0LDcgQEAKICAgICAgICAgICAgIHJldHVybiAtMTsKICAgICAgICAgaWYgKF9QaWNrbGVyX1dyaXRlKHNlbGYsIHBkYXRhLCA5KSA8IDApCiAgICAgICAgICAgICByZXR1cm4gLTE7Ci0gICB9IAorICAgfQogICAgIGVsc2UgewogICAgICAgICBpbnQgcmVzdWx0ID0gLTE7CiAgICAgICAgIGNoYXIgKmJ1ZiA9IE5VTEw7CkBAIC0xNzk4LDkwICsxODA4LDY1IEBACiAvKiBBIGNvcHkgb2YgUHlVbmljb2RlX0VuY29kZVJhd1VuaWNvZGVFc2NhcGUoKSB0aGF0IGFsc28gdHJhbnNsYXRlcwogICAgYmFja3NsYXNoIGFuZCBuZXdsaW5lIGNoYXJhY3RlcnMgdG8gXHVYWFhYIGVzY2FwZXMuICovCiBzdGF0aWMgUHlPYmplY3QgKgotcmF3X3VuaWNvZGVfZXNjYXBlKGNvbnN0IFB5X1VOSUNPREUgKnMsIFB5X3NzaXplX3Qgc2l6ZSkKK3Jhd191bmljb2RlX2VzY2FwZShQeU9iamVjdCAqb2JqKQogewogICAgIFB5T2JqZWN0ICpyZXByLCAqcmVzdWx0OwogICAgIGNoYXIgKnA7Ci0gICAgY2hhciAqcTsKKyAgICBQeV9zc2l6ZV90IGksIHNpemUsIGV4cGFuZHNpemU7CisgICAgdm9pZCAqZGF0YTsKKyAgICB1bnNpZ25lZCBpbnQga2luZDsKIAotICAgIHN0YXRpYyBjb25zdCBjaGFyICpoZXhkaWdpdHMgPSAiMDEyMzQ1Njc4OWFiY2RlZiI7CisgICAgaWYgKFB5VW5pY29kZV9SRUFEWShvYmopKQorICAgICAgICByZXR1cm4gTlVMTDsKIAotI2lmZGVmIFB5X1VOSUNPREVfV0lERQotICAgIGNvbnN0IFB5X3NzaXplX3QgZXhwYW5kc2l6ZSA9IDEwOwotI2Vsc2UKLSAgICBjb25zdCBQeV9zc2l6ZV90IGV4cGFuZHNpemUgPSA2OwotI2VuZGlmCi0gICAgCisgICAgc2l6ZSA9IFB5VW5pY29kZV9HRVRfTEVOR1RIKG9iaik7CisgICAgZGF0YSA9IFB5VW5pY29kZV9EQVRBKG9iaik7CisgICAga2luZCA9IFB5VW5pY29kZV9LSU5EKG9iaik7CisgICAgaWYgKGtpbmQgPT0gUHlVbmljb2RlXzRCWVRFX0tJTkQpCisgICAgICAgIGV4cGFuZHNpemUgPSAxMDsKKyAgICBlbHNlCisgICAgICAgIGV4cGFuZHNpemUgPSA2OworCiAgICAgaWYgKHNpemUgPiBQWV9TU0laRV9UX01BWCAvIGV4cGFuZHNpemUpCiAgICAgICAgIHJldHVybiBQeUVycl9Ob01lbW9yeSgpOwotICAgIAogICAgIHJlcHIgPSBQeUJ5dGVBcnJheV9Gcm9tU3RyaW5nQW5kU2l6ZShOVUxMLCBleHBhbmRzaXplICogc2l6ZSk7CiAgICAgaWYgKHJlcHIgPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgaWYgKHNpemUgPT0gMCkKICAgICAgICAgZ290byBkb25lOwogCi0gICAgcCA9IHEgPSBQeUJ5dGVBcnJheV9BU19TVFJJTkcocmVwcik7Ci0gICAgd2hpbGUgKHNpemUtLSA+IDApIHsKLSAgICAgICAgUHlfVU5JQ09ERSBjaCA9ICpzKys7Ci0jaWZkZWYgUHlfVU5JQ09ERV9XSURFCisgICAgcCA9IFB5Qnl0ZUFycmF5X0FTX1NUUklORyhyZXByKTsKKyAgICBmb3IgKGk9MDsgaSA8IHNpemU7IGkrKykgeworICAgICAgICBQeV9VQ1M0IGNoID0gUHlVbmljb2RlX1JFQUQoa2luZCwgZGF0YSwgaSk7CiAgICAgICAgIC8qIE1hcCAzMi1iaXQgY2hhcmFjdGVycyB0byAnXFV4eHh4eHh4eCcgKi8KICAgICAgICAgaWYgKGNoID49IDB4MTAwMDApIHsKICAgICAgICAgICAgICpwKysgPSAnXFwnOwogICAgICAgICAgICAgKnArKyA9ICdVJzsKLSAgICAgICAgICAgICpwKysgPSBoZXhkaWdpdHNbKGNoID4+IDI4KSAmIDB4Zl07Ci0gICAgICAgICAgICAqcCsrID0gaGV4ZGlnaXRzWyhjaCA+PiAyNCkgJiAweGZdOwotICAgICAgICAgICAgKnArKyA9IGhleGRpZ2l0c1soY2ggPj4gMjApICYgMHhmXTsKLSAgICAgICAgICAgICpwKysgPSBoZXhkaWdpdHNbKGNoID4+IDE2KSAmIDB4Zl07Ci0gICAgICAgICAgICAqcCsrID0gaGV4ZGlnaXRzWyhjaCA+PiAxMikgJiAweGZdOwotICAgICAgICAgICAgKnArKyA9IGhleGRpZ2l0c1soY2ggPj4gOCkgJiAweGZdOwotICAgICAgICAgICAgKnArKyA9IGhleGRpZ2l0c1soY2ggPj4gNCkgJiAweGZdOwotICAgICAgICAgICAgKnArKyA9IGhleGRpZ2l0c1tjaCAmIDE1XTsKKyAgICAgICAgICAgICpwKysgPSBQeV9oZXhkaWdpdHNbKGNoID4+IDI4KSAmIDB4Zl07CisgICAgICAgICAgICAqcCsrID0gUHlfaGV4ZGlnaXRzWyhjaCA+PiAyNCkgJiAweGZdOworICAgICAgICAgICAgKnArKyA9IFB5X2hleGRpZ2l0c1soY2ggPj4gMjApICYgMHhmXTsKKyAgICAgICAgICAgICpwKysgPSBQeV9oZXhkaWdpdHNbKGNoID4+IDE2KSAmIDB4Zl07CisgICAgICAgICAgICAqcCsrID0gUHlfaGV4ZGlnaXRzWyhjaCA+PiAxMikgJiAweGZdOworICAgICAgICAgICAgKnArKyA9IFB5X2hleGRpZ2l0c1soY2ggPj4gOCkgJiAweGZdOworICAgICAgICAgICAgKnArKyA9IFB5X2hleGRpZ2l0c1soY2ggPj4gNCkgJiAweGZdOworICAgICAgICAgICAgKnArKyA9IFB5X2hleGRpZ2l0c1tjaCAmIDE1XTsKICAgICAgICAgfQotICAgICAgICBlbHNlCi0jZWxzZQotICAgICAgICAgICAgLyogTWFwIFVURi0xNiBzdXJyb2dhdGUgcGFpcnMgdG8gJ1xVMDB4eHh4eHgnICovCi0gICAgICAgICAgICBpZiAoY2ggPj0gMHhEODAwICYmIGNoIDwgMHhEQzAwKSB7Ci0gICAgICAgICAgICAgICAgUHlfVU5JQ09ERSBjaDI7Ci0gICAgICAgICAgICAgICAgUHlfVUNTNCB1Y3M7Ci0KLSAgICAgICAgICAgICAgICBjaDIgPSAqcysrOwotICAgICAgICAgICAgICAgIHNpemUtLTsKLSAgICAgICAgICAgICAgICBpZiAoY2gyID49IDB4REMwMCAmJiBjaDIgPD0gMHhERkZGKSB7Ci0gICAgICAgICAgICAgICAgICAgIHVjcyA9ICgoKGNoICYgMHgwM0ZGKSA8PCAxMCkgfCAoY2gyICYgMHgwM0ZGKSkgKyAweDAwMDEwMDAwOwotICAgICAgICAgICAgICAgICAgICAqcCsrID0gJ1xcJzsKLSAgICAgICAgICAgICAgICAgICAgKnArKyA9ICdVJzsKLSAgICAgICAgICAgICAgICAgICAgKnArKyA9IGhleGRpZ2l0c1sodWNzID4+IDI4KSAmIDB4Zl07Ci0gICAgICAgICAgICAgICAgICAgICpwKysgPSBoZXhkaWdpdHNbKHVjcyA+PiAyNCkgJiAweGZdOwotICAgICAgICAgICAgICAgICAgICAqcCsrID0gaGV4ZGlnaXRzWyh1Y3MgPj4gMjApICYgMHhmXTsKLSAgICAgICAgICAgICAgICAgICAgKnArKyA9IGhleGRpZ2l0c1sodWNzID4+IDE2KSAmIDB4Zl07Ci0gICAgICAgICAgICAgICAgICAgICpwKysgPSBoZXhkaWdpdHNbKHVjcyA+PiAxMikgJiAweGZdOwotICAgICAgICAgICAgICAgICAgICAqcCsrID0gaGV4ZGlnaXRzWyh1Y3MgPj4gOCkgJiAweGZdOwotICAgICAgICAgICAgICAgICAgICAqcCsrID0gaGV4ZGlnaXRzWyh1Y3MgPj4gNCkgJiAweGZdOwotICAgICAgICAgICAgICAgICAgICAqcCsrID0gaGV4ZGlnaXRzW3VjcyAmIDB4Zl07Ci0gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAvKiBGYWxsIHRocm91Z2g6IGlzb2xhdGVkIHN1cnJvZ2F0ZXMgYXJlIGNvcGllZCBhcy1pcyAqLwotICAgICAgICAgICAgICAgIHMtLTsKLSAgICAgICAgICAgICAgICBzaXplKys7Ci0gICAgICAgICAgICB9Ci0jZW5kaWYKICAgICAgICAgLyogTWFwIDE2LWJpdCBjaGFyYWN0ZXJzIHRvICdcdXh4eHgnICovCi0gICAgICAgIGlmIChjaCA+PSAyNTYgfHwgY2ggPT0gJ1xcJyB8fCBjaCA9PSAnXG4nKSB7CisgICAgICAgIGVsc2UgaWYgKGNoID49IDI1NiB8fCBjaCA9PSAnXFwnIHx8IGNoID09ICdcbicpIHsKICAgICAgICAgICAgICpwKysgPSAnXFwnOwogICAgICAgICAgICAgKnArKyA9ICd1JzsKLSAgICAgICAgICAgICpwKysgPSBoZXhkaWdpdHNbKGNoID4+IDEyKSAmIDB4Zl07Ci0gICAgICAgICAgICAqcCsrID0gaGV4ZGlnaXRzWyhjaCA+PiA4KSAmIDB4Zl07Ci0gICAgICAgICAgICAqcCsrID0gaGV4ZGlnaXRzWyhjaCA+PiA0KSAmIDB4Zl07Ci0gICAgICAgICAgICAqcCsrID0gaGV4ZGlnaXRzW2NoICYgMTVdOworICAgICAgICAgICAgKnArKyA9IFB5X2hleGRpZ2l0c1soY2ggPj4gMTIpICYgMHhmXTsKKyAgICAgICAgICAgICpwKysgPSBQeV9oZXhkaWdpdHNbKGNoID4+IDgpICYgMHhmXTsKKyAgICAgICAgICAgICpwKysgPSBQeV9oZXhkaWdpdHNbKGNoID4+IDQpICYgMHhmXTsKKyAgICAgICAgICAgICpwKysgPSBQeV9oZXhkaWdpdHNbY2ggJiAxNV07CiAgICAgICAgIH0KICAgICAgICAgLyogQ29weSBldmVyeXRoaW5nIGVsc2UgYXMtaXMgKi8KICAgICAgICAgZWxzZQogICAgICAgICAgICAgKnArKyA9IChjaGFyKSBjaDsKICAgICB9Ci0gICAgc2l6ZSA9IHAgLSBxOworICAgIHNpemUgPSBwIC0gUHlCeXRlQXJyYXlfQVNfU1RSSU5HKHJlcHIpOwogCi0gIGRvbmU6Citkb25lOgogICAgIHJlc3VsdCA9IFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUoUHlCeXRlQXJyYXlfQVNfU1RSSU5HKHJlcHIpLCBzaXplKTsKICAgICBQeV9ERUNSRUYocmVwcik7CiAgICAgcmV0dXJuIHJlc3VsdDsKQEAgLTE4OTYsOSArMTg4MSw3IEBACiAgICAgaWYgKHNlbGYtPmJpbikgewogICAgICAgICBjaGFyIHBkYXRhWzVdOwogCi0gICAgICAgIGVuY29kZWQgPSBQeVVuaWNvZGVfRW5jb2RlVVRGOChQeVVuaWNvZGVfQVNfVU5JQ09ERShvYmopLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0dFVF9TSVpFKG9iaiksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3Vycm9nYXRlcGFzcyIpOworICAgICAgICBlbmNvZGVkID0gUHlVbmljb2RlX0FzRW5jb2RlZFN0cmluZyhvYmosICJ1dGYtOCIsICJzdXJyb2dhdGVwYXNzIik7CiAgICAgICAgIGlmIChlbmNvZGVkID09IE5VTEwpCiAgICAgICAgICAgICBnb3RvIGVycm9yOwogCkBAIC0xOTI0LDggKzE5MDcsNyBAQAogICAgIGVsc2UgewogICAgICAgICBjb25zdCBjaGFyIHVuaWNvZGVfb3AgPSBVTklDT0RFOwogCi0gICAgICAgIGVuY29kZWQgPSByYXdfdW5pY29kZV9lc2NhcGUoUHlVbmljb2RlX0FTX1VOSUNPREUob2JqKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfR0VUX1NJWkUob2JqKSk7CisgICAgICAgIGVuY29kZWQgPSByYXdfdW5pY29kZV9lc2NhcGUob2JqKTsKICAgICAgICAgaWYgKGVuY29kZWQgPT0gTlVMTCkKICAgICAgICAgICAgIGdvdG8gZXJyb3I7CiAKQEAgLTI1NDQsNyArMjUyNiw5IEBACiAgICAgICAgICAgICBzdGF0dXMgPSBiYXRjaF9kaWN0X2V4YWN0KHNlbGYsIG9iaik7CiAgICAgICAgICAgICBQeV9MZWF2ZVJlY3Vyc2l2ZUNhbGwoKTsKICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIGl0ZW1zID0gUHlPYmplY3RfQ2FsbE1ldGhvZChvYmosICJpdGVtcyIsICIoKSIpOworICAgICAgICAgICAgX1B5X0lERU5USUZJRVIoaXRlbXMpOworCisgICAgICAgICAgICBpdGVtcyA9IF9QeU9iamVjdF9DYWxsTWV0aG9kSWQob2JqLCAmUHlJZF9pdGVtcywgIigpIik7CiAgICAgICAgICAgICBpZiAoaXRlbXMgPT0gTlVMTCkKICAgICAgICAgICAgICAgICBnb3RvIGVycm9yOwogICAgICAgICAgICAgaXRlciA9IFB5T2JqZWN0X0dldEl0ZXIoaXRlbXMpOwpAQCAtMjgyOCw2ICsyODEyLDMwIEBACiB9CiAKIHN0YXRpYyBpbnQKK3NhdmVfZWxsaXBzaXMoUGlja2xlck9iamVjdCAqc2VsZiwgUHlPYmplY3QgKm9iaikKK3sKKyAgICBQeU9iamVjdCAqc3RyID0gUHlVbmljb2RlX0Zyb21TdHJpbmcoIkVsbGlwc2lzIik7CisgICAgaW50IHJlczsKKyAgICBpZiAoc3RyID09IE5VTEwpCisgICAgICAgIHJldHVybiAtMTsKKyAgICByZXMgPSBzYXZlX2dsb2JhbChzZWxmLCBQeV9FbGxpcHNpcywgc3RyKTsKKyAgICBQeV9ERUNSRUYoc3RyKTsKKyAgICByZXR1cm4gcmVzOworfQorCitzdGF0aWMgaW50CitzYXZlX25vdGltcGxlbWVudGVkKFBpY2tsZXJPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpvYmopCit7CisgICAgUHlPYmplY3QgKnN0ciA9IFB5VW5pY29kZV9Gcm9tU3RyaW5nKCJOb3RJbXBsZW1lbnRlZCIpOworICAgIGludCByZXM7CisgICAgaWYgKHN0ciA9PSBOVUxMKQorICAgICAgICByZXR1cm4gLTE7CisgICAgcmVzID0gc2F2ZV9nbG9iYWwoc2VsZiwgUHlfTm90SW1wbGVtZW50ZWQsIHN0cik7CisgICAgUHlfREVDUkVGKHN0cik7CisgICAgcmV0dXJuIHJlczsKK30KKworc3RhdGljIGludAogc2F2ZV9wZXJzKFBpY2tsZXJPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpvYmosIFB5T2JqZWN0ICpmdW5jKQogewogICAgIFB5T2JqZWN0ICpwaWQgPSBOVUxMOwpAQCAtMjg4MSw2ICsyODg5LDI4IEBACiAgICAgcmV0dXJuIHN0YXR1czsKIH0KIAorc3RhdGljIFB5T2JqZWN0ICoKK2dldF9jbGFzcyhQeU9iamVjdCAqb2JqKQoreworICAgIFB5T2JqZWN0ICpjbHM7CisgICAgc3RhdGljIFB5T2JqZWN0ICpzdHJfY2xhc3M7CisKKyAgICBpZiAoc3RyX2NsYXNzID09IE5VTEwpIHsKKyAgICAgICAgc3RyX2NsYXNzID0gUHlVbmljb2RlX0ludGVybkZyb21TdHJpbmcoIl9fY2xhc3NfXyIpOworICAgICAgICBpZiAoc3RyX2NsYXNzID09IE5VTEwpCisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisgICAgY2xzID0gUHlPYmplY3RfR2V0QXR0cihvYmosIHN0cl9jbGFzcyk7CisgICAgaWYgKGNscyA9PSBOVUxMKSB7CisgICAgICAgIGlmIChQeUVycl9FeGNlcHRpb25NYXRjaGVzKFB5RXhjX0F0dHJpYnV0ZUVycm9yKSkgeworICAgICAgICAgICAgUHlFcnJfQ2xlYXIoKTsKKyAgICAgICAgICAgIGNscyA9IChQeU9iamVjdCAqKSBQeV9UWVBFKG9iaik7CisgICAgICAgICAgICBQeV9JTkNSRUYoY2xzKTsKKyAgICAgICAgfQorICAgIH0KKyAgICByZXR1cm4gY2xzOworfQorCiAvKiBXZSdyZSBzYXZpbmcgb2JqLCBhbmQgYXJncyBpcyB0aGUgMi10aHJ1LTUgdHVwbGUgcmV0dXJuZWQgYnkgdGhlCiAgKiBhcHByb3ByaWF0ZSBfX3JlZHVjZV9fIG1ldGhvZCBmb3Igb2JqLgogICovCkBAIC0yOTQ2LDE3ICsyOTc2LDE4IEBACiAgICAgLyogUHJvdG9jb2wgMiBzcGVjaWFsIGNhc2U6IGlmIGNhbGxhYmxlJ3MgbmFtZSBpcyBfX25ld29ial9fLCB1c2UKICAgICAgICBORVdPQkouICovCiAgICAgaWYgKHVzZV9uZXdvYmopIHsKLSAgICAgICAgc3RhdGljIFB5T2JqZWN0ICpuZXdvYmpfc3RyID0gTlVMTDsKLSAgICAgICAgUHlPYmplY3QgKm5hbWVfc3RyOworICAgICAgICBzdGF0aWMgUHlPYmplY3QgKm5ld29ial9zdHIgPSBOVUxMLCAqbmFtZV9zdHIgPSBOVUxMOworICAgICAgICBQeU9iamVjdCAqbmFtZTsKIAogICAgICAgICBpZiAobmV3b2JqX3N0ciA9PSBOVUxMKSB7CiAgICAgICAgICAgICBuZXdvYmpfc3RyID0gUHlVbmljb2RlX0ludGVybkZyb21TdHJpbmcoIl9fbmV3b2JqX18iKTsKLSAgICAgICAgICAgIGlmIChuZXdvYmpfc3RyID09IE5VTEwpCisgICAgICAgICAgICBuYW1lX3N0ciA9IFB5VW5pY29kZV9JbnRlcm5Gcm9tU3RyaW5nKCJfX25hbWVfXyIpOworICAgICAgICAgICAgaWYgKG5ld29ial9zdHIgPT0gTlVMTCB8fCBuYW1lX3N0ciA9PSBOVUxMKQogICAgICAgICAgICAgICAgIHJldHVybiAtMTsKICAgICAgICAgfQogCi0gICAgICAgIG5hbWVfc3RyID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyhjYWxsYWJsZSwgIl9fbmFtZV9fIik7Ci0gICAgICAgIGlmIChuYW1lX3N0ciA9PSBOVUxMKSB7CisgICAgICAgIG5hbWUgPSBQeU9iamVjdF9HZXRBdHRyKGNhbGxhYmxlLCBuYW1lX3N0cik7CisgICAgICAgIGlmIChuYW1lID09IE5VTEwpIHsKICAgICAgICAgICAgIGlmIChQeUVycl9FeGNlcHRpb25NYXRjaGVzKFB5RXhjX0F0dHJpYnV0ZUVycm9yKSkKICAgICAgICAgICAgICAgICBQeUVycl9DbGVhcigpOwogICAgICAgICAgICAgZWxzZQpAQCAtMjk2NCw5ICsyOTk1LDkgQEAKICAgICAgICAgICAgIHVzZV9uZXdvYmogPSAwOwogICAgICAgICB9CiAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgdXNlX25ld29iaiA9IFB5VW5pY29kZV9DaGVjayhuYW1lX3N0cikgJiYgCi0gICAgICAgICAgICAgICAgUHlVbmljb2RlX0NvbXBhcmUobmFtZV9zdHIsIG5ld29ial9zdHIpID09IDA7Ci0gICAgICAgICAgICBQeV9ERUNSRUYobmFtZV9zdHIpOworICAgICAgICAgICAgdXNlX25ld29iaiA9IFB5VW5pY29kZV9DaGVjayhuYW1lKSAmJgorICAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9Db21wYXJlKG5hbWUsIG5ld29ial9zdHIpID09IDA7CisgICAgICAgICAgICBQeV9ERUNSRUYobmFtZSk7CiAgICAgICAgIH0KICAgICB9CiAgICAgaWYgKHVzZV9uZXdvYmopIHsKQEAgLTI5ODIsMjAgKzMwMTMsMTQgQEAKICAgICAgICAgfQogCiAgICAgICAgIGNscyA9IFB5VHVwbGVfR0VUX0lURU0oYXJndHVwLCAwKTsKLSAgICAgICAgaWYgKCFQeU9iamVjdF9IYXNBdHRyU3RyaW5nKGNscywgIl9fbmV3X18iKSkgeworICAgICAgICBpZiAoIVB5VHlwZV9DaGVjayhjbHMpKSB7CiAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUGlja2xpbmdFcnJvciwgImFyZ3NbMF0gZnJvbSAiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIl9fbmV3b2JqX18gYXJncyBoYXMgbm8gX19uZXdfXyIpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICJfX25ld29ial9fIGFyZ3MgaXMgbm90IGEgdHlwZSIpOwogICAgICAgICAgICAgcmV0dXJuIC0xOwogICAgICAgICB9CiAKICAgICAgICAgaWYgKG9iaiAhPSBOVUxMKSB7Ci0gICAgICAgICAgICBvYmpfY2xhc3MgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKG9iaiwgIl9fY2xhc3NfXyIpOwotICAgICAgICAgICAgaWYgKG9ial9jbGFzcyA9PSBOVUxMKSB7Ci0gICAgICAgICAgICAgICAgaWYgKFB5RXJyX0V4Y2VwdGlvbk1hdGNoZXMoUHlFeGNfQXR0cmlidXRlRXJyb3IpKQotICAgICAgICAgICAgICAgICAgICBQeUVycl9DbGVhcigpOwotICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC0xOwotICAgICAgICAgICAgfQorICAgICAgICAgICAgb2JqX2NsYXNzID0gZ2V0X2NsYXNzKG9iaik7CiAgICAgICAgICAgICBwID0gb2JqX2NsYXNzICE9IGNsczsgICAgLyogdHJ1ZSBpZmYgYSBwcm9ibGVtICovCiAgICAgICAgICAgICBQeV9ERUNSRUYob2JqX2NsYXNzKTsKICAgICAgICAgICAgIGlmIChwKSB7CkBAIC0zMDY5LDcgKzMwOTQsNyBAQAogICAgICAgICByZXR1cm4gLTE7CiAKICAgICBpZiAoc3RhdGUpIHsKLSAgICAgICAgaWYgKHNhdmUoc2VsZiwgc3RhdGUsIDApIDwgMCB8fCAKKyAgICAgICAgaWYgKHNhdmUoc2VsZiwgc3RhdGUsIDApIDwgMCB8fAogICAgICAgICAgICAgX1BpY2tsZXJfV3JpdGUoc2VsZiwgJmJ1aWxkX29wLCAxKSA8IDApCiAgICAgICAgICAgICByZXR1cm4gLTE7CiAgICAgfQpAQCAtMzExMyw2ICszMTM4LDE0IEBACiAgICAgICAgIHN0YXR1cyA9IHNhdmVfbm9uZShzZWxmLCBvYmopOwogICAgICAgICBnb3RvIGRvbmU7CiAgICAgfQorICAgIGVsc2UgaWYgKG9iaiA9PSBQeV9FbGxpcHNpcykgeworICAgICAgICBzdGF0dXMgPSBzYXZlX2VsbGlwc2lzKHNlbGYsIG9iaik7CisgICAgICAgIGdvdG8gZG9uZTsKKyAgICB9CisgICAgZWxzZSBpZiAob2JqID09IFB5X05vdEltcGxlbWVudGVkKSB7CisgICAgICAgIHN0YXR1cyA9IHNhdmVfbm90aW1wbGVtZW50ZWQoc2VsZiwgb2JqKTsKKyAgICAgICAgZ290byBkb25lOworICAgIH0KICAgICBlbHNlIGlmIChvYmogPT0gUHlfRmFsc2UgfHwgb2JqID09IFB5X1RydWUpIHsKICAgICAgICAgc3RhdHVzID0gc2F2ZV9ib29sKHNlbGYsIG9iaik7CiAgICAgICAgIGdvdG8gZG9uZTsKQEAgLTMxNzcsMTcgKzMyMTAsMjQgQEAKICAgICAvKiBYWFg6IFRoaXMgcGFydCBuZWVkcyBzb21lIHVuaXQgdGVzdHMuICovCiAKICAgICAvKiBHZXQgYSByZWR1Y3Rpb24gY2FsbGFibGUsIGFuZCBjYWxsIGl0LiAgVGhpcyBtYXkgY29tZSBmcm9tCi0gICAgICogY29weXJlZy5kaXNwYXRjaF90YWJsZSwgdGhlIG9iamVjdCdzIF9fcmVkdWNlX2V4X18gbWV0aG9kLAotICAgICAqIG9yIHRoZSBvYmplY3QncyBfX3JlZHVjZV9fIG1ldGhvZC4KKyAgICAgKiBzZWxmLmRpc3BhdGNoX3RhYmxlLCBjb3B5cmVnLmRpc3BhdGNoX3RhYmxlLCB0aGUgb2JqZWN0J3MKKyAgICAgKiBfX3JlZHVjZV9leF9fIG1ldGhvZCwgb3IgdGhlIG9iamVjdCdzIF9fcmVkdWNlX18gbWV0aG9kLgogICAgICAqLwotICAgIHJlZHVjZV9mdW5jID0gUHlEaWN0X0dldEl0ZW0oZGlzcGF0Y2hfdGFibGUsIChQeU9iamVjdCAqKXR5cGUpOworICAgIGlmIChzZWxmLT5kaXNwYXRjaF90YWJsZSA9PSBOVUxMKSB7CisgICAgICAgIHJlZHVjZV9mdW5jID0gUHlEaWN0X0dldEl0ZW0oZGlzcGF0Y2hfdGFibGUsIChQeU9iamVjdCAqKXR5cGUpOworICAgICAgICAvKiBQeURpY3RfR2V0SXRlbSgpIHVubGlrZSBQeU9iamVjdF9HZXRJdGVtKCkgYW5kCisgICAgICAgICAgIFB5T2JqZWN0X0dldEF0dHIoKSByZXR1cm5zIGEgYm9ycm93ZWQgcmVmICovCisgICAgICAgIFB5X1hJTkNSRUYocmVkdWNlX2Z1bmMpOworICAgIH0gZWxzZSB7CisgICAgICAgIHJlZHVjZV9mdW5jID0gUHlPYmplY3RfR2V0SXRlbShzZWxmLT5kaXNwYXRjaF90YWJsZSwgKFB5T2JqZWN0ICopdHlwZSk7CisgICAgICAgIGlmIChyZWR1Y2VfZnVuYyA9PSBOVUxMKSB7CisgICAgICAgICAgICBpZiAoUHlFcnJfRXhjZXB0aW9uTWF0Y2hlcyhQeUV4Y19LZXlFcnJvcikpCisgICAgICAgICAgICAgICAgUHlFcnJfQ2xlYXIoKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICB9CisgICAgfQogICAgIGlmIChyZWR1Y2VfZnVuYyAhPSBOVUxMKSB7Ci0gICAgICAgIC8qIEhlcmUsIHRoZSByZWZlcmVuY2UgY291bnQgb2YgdGhlIHJlZHVjZV9mdW5jIG9iamVjdCByZXR1cm5lZCBieQotICAgICAgICAgICBQeURpY3RfR2V0SXRlbSBuZWVkcyB0byBiZSBpbmNyZWFzZWQgdG8gYmUgY29uc2lzdGVudCB3aXRoIHRoZSBvbmUKLSAgICAgICAgICAgcmV0dXJuZWQgYnkgUHlPYmplY3RfR2V0QXR0ci4gVGhpcyBpcyBhbGxvdyB1cyB0byBibGluZGx5IERFQ1JFRgotICAgICAgICAgICByZWR1Y2VfZnVuYyBhdCB0aGUgZW5kIG9mIHRoZSBzYXZlKCkgcm91dGluZS4KLSAgICAgICAgKi8KLSAgICAgICAgUHlfSU5DUkVGKHJlZHVjZV9mdW5jKTsKICAgICAgICAgUHlfSU5DUkVGKG9iaik7CiAgICAgICAgIHJlZHVjZV92YWx1ZSA9IF9QaWNrbGVyX0Zhc3RDYWxsKHNlbGYsIHJlZHVjZV9mdW5jLCBvYmopOwogICAgIH0KQEAgLTMzMjMsNyArMzM2Myw3IEBACiAgICAgICAgRGV2ZWxvcGVycyBvZnRlbiBmb3JnZXQgdG8gY2FsbCBfX2luaXRfXygpIGluIHRoZWlyIHN1YmNsYXNzZXMsIHdoaWNoCiAgICAgICAgd291bGQgdHJpZ2dlciBhIHNlZ2ZhdWx0IHdpdGhvdXQgdGhpcyBjaGVjay4gKi8KICAgICBpZiAoc2VsZi0+d3JpdGUgPT0gTlVMTCkgewotICAgICAgICBQeUVycl9Gb3JtYXQoUGlja2xpbmdFcnJvciwgCisgICAgICAgIFB5RXJyX0Zvcm1hdChQaWNrbGluZ0Vycm9yLAogICAgICAgICAgICAgICAgICAgICAgIlBpY2tsZXIuX19pbml0X18oKSB3YXMgbm90IGNhbGxlZCBieSAlcy5fX2luaXRfXygpIiwKICAgICAgICAgICAgICAgICAgICAgIFB5X1RZUEUoc2VsZiktPnRwX25hbWUpOwogICAgICAgICByZXR1cm4gTlVMTDsKQEAgLTMzNjAsNiArMzQwMCw3IEBACiAgICAgUHlfWERFQ1JFRihzZWxmLT5vdXRwdXRfYnVmZmVyKTsKICAgICBQeV9YREVDUkVGKHNlbGYtPndyaXRlKTsKICAgICBQeV9YREVDUkVGKHNlbGYtPnBlcnNfZnVuYyk7CisgICAgUHlfWERFQ1JFRihzZWxmLT5kaXNwYXRjaF90YWJsZSk7CiAgICAgUHlfWERFQ1JFRihzZWxmLT5hcmcpOwogICAgIFB5X1hERUNSRUYoc2VsZi0+ZmFzdF9tZW1vKTsKIApAQCAtMzM3Myw2ICszNDE0LDcgQEAKIHsKICAgICBQeV9WSVNJVChzZWxmLT53cml0ZSk7CiAgICAgUHlfVklTSVQoc2VsZi0+cGVyc19mdW5jKTsKKyAgICBQeV9WSVNJVChzZWxmLT5kaXNwYXRjaF90YWJsZSk7CiAgICAgUHlfVklTSVQoc2VsZi0+YXJnKTsKICAgICBQeV9WSVNJVChzZWxmLT5mYXN0X21lbW8pOwogICAgIHJldHVybiAwOwpAQCAtMzM4NCw2ICszNDI2LDcgQEAKICAgICBQeV9DTEVBUihzZWxmLT5vdXRwdXRfYnVmZmVyKTsKICAgICBQeV9DTEVBUihzZWxmLT53cml0ZSk7CiAgICAgUHlfQ0xFQVIoc2VsZi0+cGVyc19mdW5jKTsKKyAgICBQeV9DTEVBUihzZWxmLT5kaXNwYXRjaF90YWJsZSk7CiAgICAgUHlfQ0xFQVIoc2VsZi0+YXJnKTsKICAgICBQeV9DTEVBUihzZWxmLT5mYXN0X21lbW8pOwogCkBAIC0zNDI3LDYgKzM0NzAsOCBAQAogICAgIFB5T2JqZWN0ICpmaWxlOwogICAgIFB5T2JqZWN0ICpwcm90b19vYmogPSBOVUxMOwogICAgIFB5T2JqZWN0ICpmaXhfaW1wb3J0cyA9IFB5X1RydWU7CisgICAgX1B5X0lERU5USUZJRVIocGVyc2lzdGVudF9pZCk7CisgICAgX1B5X0lERU5USUZJRVIoZGlzcGF0Y2hfdGFibGUpOwogCiAgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dkcywgIk98T086UGlja2xlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga3dsaXN0LCAmZmlsZSwgJnByb3RvX29iaiwgJmZpeF9pbXBvcnRzKSkKQEAgLTM0NjIsMTIgKzM1MDcsMTkgQEAKICAgICBzZWxmLT5mYXN0X25lc3RpbmcgPSAwOwogICAgIHNlbGYtPmZhc3RfbWVtbyA9IE5VTEw7CiAgICAgc2VsZi0+cGVyc19mdW5jID0gTlVMTDsKLSAgICBpZiAoUHlPYmplY3RfSGFzQXR0clN0cmluZygoUHlPYmplY3QgKilzZWxmLCAicGVyc2lzdGVudF9pZCIpKSB7Ci0gICAgICAgIHNlbGYtPnBlcnNfZnVuYyA9IFB5T2JqZWN0X0dldEF0dHJTdHJpbmcoKFB5T2JqZWN0ICopc2VsZiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGVyc2lzdGVudF9pZCIpOworICAgIGlmIChfUHlPYmplY3RfSGFzQXR0cklkKChQeU9iamVjdCAqKXNlbGYsICZQeUlkX3BlcnNpc3RlbnRfaWQpKSB7CisgICAgICAgIHNlbGYtPnBlcnNfZnVuYyA9IF9QeU9iamVjdF9HZXRBdHRySWQoKFB5T2JqZWN0ICopc2VsZiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmUHlJZF9wZXJzaXN0ZW50X2lkKTsKICAgICAgICAgaWYgKHNlbGYtPnBlcnNfZnVuYyA9PSBOVUxMKQogICAgICAgICAgICAgcmV0dXJuIC0xOwogICAgIH0KKyAgICBzZWxmLT5kaXNwYXRjaF90YWJsZSA9IE5VTEw7CisgICAgaWYgKF9QeU9iamVjdF9IYXNBdHRySWQoKFB5T2JqZWN0ICopc2VsZiwgJlB5SWRfZGlzcGF0Y2hfdGFibGUpKSB7CisgICAgICAgIHNlbGYtPmRpc3BhdGNoX3RhYmxlID0gX1B5T2JqZWN0X0dldEF0dHJJZCgoUHlPYmplY3QgKilzZWxmLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJlB5SWRfZGlzcGF0Y2hfdGFibGUpOworICAgICAgICBpZiAoc2VsZi0+ZGlzcGF0Y2hfdGFibGUgPT0gTlVMTCkKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICB9CiAgICAgcmV0dXJuIDA7CiB9CiAKQEAgLTM3NDksNiArMzgwMSw3IEBACiBzdGF0aWMgUHlNZW1iZXJEZWYgUGlja2xlcl9tZW1iZXJzW10gPSB7CiAgICAgeyJiaW4iLCBUX0lOVCwgb2Zmc2V0b2YoUGlja2xlck9iamVjdCwgYmluKX0sCiAgICAgeyJmYXN0IiwgVF9JTlQsIG9mZnNldG9mKFBpY2tsZXJPYmplY3QsIGZhc3QpfSwKKyAgICB7ImRpc3BhdGNoX3RhYmxlIiwgVF9PQkpFQ1RfRVgsIG9mZnNldG9mKFBpY2tsZXJPYmplY3QsIGRpc3BhdGNoX3RhYmxlKX0sCiAgICAge05VTEx9CiB9OwogCkBAIC0zODAzLDcgKzM4NTYsNyBAQAogICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfaXNfZ2MqLwogfTsKIAotLyogVGVtcG9yYXJ5IGhlbHBlciBmb3IgY2FsbGluZyBzZWxmLmZpbmRfY2xhc3MoKS4gCisvKiBUZW1wb3JhcnkgaGVscGVyIGZvciBjYWxsaW5nIHNlbGYuZmluZF9jbGFzcygpLgogCiAgICBYWFg6IEl0IHdvdWxkIGJlIG5pY2UgdG8gYWJsZSB0byBhdm9pZCBQeXRob24gZnVuY3Rpb24gY2FsbCBvdmVyaGVhZCwgYnkKICAgIHVzaW5nIGRpcmVjdGx5IHRoZSBDIHZlcnNpb24gb2YgZmluZF9jbGFzcygpLCB3aGVuIGZpbmRfY2xhc3MoKSBpcyBub3QKQEAgLTM4MTMsOCArMzg2NiwxMCBAQAogc3RhdGljIFB5T2JqZWN0ICoKIGZpbmRfY2xhc3MoVW5waWNrbGVyT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqbW9kdWxlX25hbWUsIFB5T2JqZWN0ICpnbG9iYWxfbmFtZSkKIHsKLSAgICByZXR1cm4gUHlPYmplY3RfQ2FsbE1ldGhvZCgoUHlPYmplY3QgKilzZWxmLCAiZmluZF9jbGFzcyIsICJPTyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kdWxlX25hbWUsIGdsb2JhbF9uYW1lKTsKKyAgICBfUHlfSURFTlRJRklFUihmaW5kX2NsYXNzKTsKKworICAgIHJldHVybiBfUHlPYmplY3RfQ2FsbE1ldGhvZElkKChQeU9iamVjdCAqKXNlbGYsICZQeUlkX2ZpbmRfY2xhc3MsICJPTyIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kdWxlX25hbWUsIGdsb2JhbF9uYW1lKTsKIH0KIAogc3RhdGljIFB5X3NzaXplX3QKQEAgLTM4NTYsNyArMzkxMSw3IEBACiAgICAgICAgIHJldHVybiBiYWRfcmVhZGxpbmUoKTsKIAogICAgIGVycm5vID0gMDsKLSAgICAvKiBYWFg6IFNob3VsZCB0aGUgYmFzZSBhcmd1bWVudCBvZiBzdHJ0b2woKSBiZSBleHBsaWNpdGx5IHNldCB0byAxMD8gCisgICAgLyogWFhYOiBTaG91bGQgdGhlIGJhc2UgYXJndW1lbnQgb2Ygc3RydG9sKCkgYmUgZXhwbGljaXRseSBzZXQgdG8gMTA/CiAgICAgICAgWFhYKGF2YXNzYWxvdHRpKTogU2hvdWxkIHRoaXMgdXNlcyBQeU9TX3N0cnRvbCgpPyAqLwogICAgIHggPSBzdHJ0b2wocywgJmVuZHB0ciwgMCk7CiAKQEAgLTQyMjEsNyArNDI3Niw3IEBACiAKICAgICB4ID0gY2FsY19iaW5pbnQocywgNCk7CiAgICAgaWYgKHggPCAwKSB7Ci0gICAgICAgIFB5RXJyX1NldFN0cmluZyhVbnBpY2tsaW5nRXJyb3IsIAorICAgICAgICBQeUVycl9TZXRTdHJpbmcoVW5waWNrbGluZ0Vycm9yLAogICAgICAgICAgICAgICAgICAgICAgICAgIkJJTlNUUklORyBwaWNrbGUgaGFzIG5lZ2F0aXZlIGJ5dGUgY291bnQiKTsKICAgICAgICAgcmV0dXJuIC0xOwogICAgIH0KQEAgLTQ0MTgsMTYgKzQ0NzMsMTkgQEAKIGluc3RhbnRpYXRlKFB5T2JqZWN0ICpjbHMsIFB5T2JqZWN0ICphcmdzKQogewogICAgIFB5T2JqZWN0ICpyZXN1bHQgPSBOVUxMOworICAgIF9QeV9JREVOVElGSUVSKF9fZ2V0aW5pdGFyZ3NfXyk7CiAgICAgLyogQ2FsbGVyIG11c3QgYXNzdXJlIGFyZ3MgYXJlIGEgdHVwbGUuICBOb3JtYWxseSwgYXJncyBjb21lIGZyb20KICAgICAgICBQZGF0YV9wb3B0dXBsZSB3aGljaCBwYWNrcyBvYmplY3RzIGZyb20gdGhlIHRvcCBvZiB0aGUgc3RhY2sKICAgICAgICBpbnRvIGEgbmV3bHkgY3JlYXRlZCB0dXBsZS4gKi8KICAgICBhc3NlcnQoUHlUdXBsZV9DaGVjayhhcmdzKSk7CiAgICAgaWYgKFB5X1NJWkUoYXJncykgPiAwIHx8ICFQeVR5cGVfQ2hlY2soY2xzKSB8fAotICAgICAgICBQeU9iamVjdF9IYXNBdHRyU3RyaW5nKGNscywgIl9fZ2V0aW5pdGFyZ3NfXyIpKSB7CisgICAgICAgIF9QeU9iamVjdF9IYXNBdHRySWQoY2xzLCAmUHlJZF9fX2dldGluaXRhcmdzX18pKSB7CiAgICAgICAgIHJlc3VsdCA9IFB5T2JqZWN0X0NhbGxPYmplY3QoY2xzLCBhcmdzKTsKICAgICB9CiAgICAgZWxzZSB7Ci0gICAgICAgIHJlc3VsdCA9IFB5T2JqZWN0X0NhbGxNZXRob2QoY2xzLCAiX19uZXdfXyIsICJPIiwgY2xzKTsKKyAgICAgICAgX1B5X0lERU5USUZJRVIoX19uZXdfXyk7CisKKyAgICAgICAgcmVzdWx0ID0gX1B5T2JqZWN0X0NhbGxNZXRob2RJZChjbHMsICZQeUlkX19fbmV3X18sICJPIiwgY2xzKTsKICAgICB9CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTQ5NjgsOCArNTAyNiw5IEBACiAgICAgfQogICAgIGVsc2UgewogICAgICAgICBQeU9iamVjdCAqYXBwZW5kX2Z1bmM7CisgICAgICAgIF9QeV9JREVOVElGSUVSKGFwcGVuZCk7CiAKLSAgICAgICAgYXBwZW5kX2Z1bmMgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKGxpc3QsICJhcHBlbmQiKTsKKyAgICAgICAgYXBwZW5kX2Z1bmMgPSBfUHlPYmplY3RfR2V0QXR0cklkKGxpc3QsICZQeUlkX2FwcGVuZCk7CiAgICAgICAgIGlmIChhcHBlbmRfZnVuYyA9PSBOVUxMKQogICAgICAgICAgICAgcmV0dXJuIC0xOwogICAgICAgICBmb3IgKGkgPSB4OyBpIDwgbGVuOyBpKyspIHsKQEAgLTUwMTUsNyArNTA3NCw3IEBACiAgICAgICAgIHJldHVybiBzdGFja191bmRlcmZsb3coKTsKICAgICBpZiAobGVuID09IHgpICAvKiBub3RoaW5nIHRvIGRvICovCiAgICAgICAgIHJldHVybiAwOwotICAgIGlmICgobGVuIC0geCkgJSAyICE9IDApIHsgCisgICAgaWYgKChsZW4gLSB4KSAlIDIgIT0gMCkgewogICAgICAgICAvKiBDdXJydXB0IG9yIGhvc3RpbGUgcGlja2xlIC0tIHdlIG5ldmVyIHdyaXRlIG9uZSBsaWtlIHRoaXMuICovCiAgICAgICAgIFB5RXJyX1NldFN0cmluZyhVbnBpY2tsaW5nRXJyb3IsICJvZGQgbnVtYmVyIG9mIGl0ZW1zIGZvciBTRVRJVEVNUyIpOwogICAgICAgICByZXR1cm4gLTE7CkBAIC01MDU2LDYgKzUxMTUsNyBAQAogICAgIFB5T2JqZWN0ICpzdGF0ZSwgKmluc3QsICpzbG90c3RhdGU7CiAgICAgUHlPYmplY3QgKnNldHN0YXRlOwogICAgIGludCBzdGF0dXMgPSAwOworICAgIF9QeV9JREVOVElGSUVSKF9fc2V0c3RhdGVfXyk7CiAKICAgICAvKiBTdGFjayBpcyAuLi4gaW5zdGFuY2UsIHN0YXRlLiAgV2Ugd2FudCB0byBsZWF2ZSBpbnN0YW5jZSBhdAogICAgICAqIHRoZSBzdGFjayB0b3AsIHBvc3NpYmx5IG11dGF0ZWQgdmlhIGluc3RhbmNlLl9fc2V0c3RhdGVfXyhzdGF0ZSkuCkBAIC01MDY5LDcgKzUxMjksNyBAQAogCiAgICAgaW5zdCA9IHNlbGYtPnN0YWNrLT5kYXRhW1B5X1NJWkUoc2VsZi0+c3RhY2spIC0gMV07CiAKLSAgICBzZXRzdGF0ZSA9IFB5T2JqZWN0X0dldEF0dHJTdHJpbmcoaW5zdCwgIl9fc2V0c3RhdGVfXyIpOworICAgIHNldHN0YXRlID0gX1B5T2JqZWN0X0dldEF0dHJJZChpbnN0LCAmUHlJZF9fX3NldHN0YXRlX18pOwogICAgIGlmIChzZXRzdGF0ZSA9PSBOVUxMKSB7CiAgICAgICAgIGlmIChQeUVycl9FeGNlcHRpb25NYXRjaGVzKFB5RXhjX0F0dHJpYnV0ZUVycm9yKSkKICAgICAgICAgICAgIFB5RXJyX0NsZWFyKCk7CkBAIC01MTEyLDEyICs1MTcyLDEzIEBACiAgICAgICAgIFB5T2JqZWN0ICpkaWN0OwogICAgICAgICBQeU9iamVjdCAqZF9rZXksICpkX3ZhbHVlOwogICAgICAgICBQeV9zc2l6ZV90IGk7CisgICAgICAgIF9QeV9JREVOVElGSUVSKF9fZGljdF9fKTsKIAogICAgICAgICBpZiAoIVB5RGljdF9DaGVjayhzdGF0ZSkpIHsKICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhVbnBpY2tsaW5nRXJyb3IsICJzdGF0ZSBpcyBub3QgYSBkaWN0aW9uYXJ5Iik7CiAgICAgICAgICAgICBnb3RvIGVycm9yOwogICAgICAgICB9Ci0gICAgICAgIGRpY3QgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKGluc3QsICJfX2RpY3RfXyIpOworICAgICAgICBkaWN0ID0gX1B5T2JqZWN0X0dldEF0dHJJZChpbnN0LCAmUHlJZF9fX2RpY3RfXyk7CiAgICAgICAgIGlmIChkaWN0ID09IE5VTEwpCiAgICAgICAgICAgICBnb3RvIGVycm9yOwogCkBAIC01MzcyLDcgKzU0MzMsNyBAQAogICAgICAgIG5vdCBjYWxsIFVucGlja2xlci5fX2luaXRfXygpLiBIZXJlLCB3ZSBzaW1wbHkgZW5zdXJlIHRoYXQgc2VsZi0+cmVhZAogICAgICAgIGlzIG5vdCBOVUxMLiAqLwogICAgIGlmIChzZWxmLT5yZWFkID09IE5VTEwpIHsKLSAgICAgICAgUHlFcnJfRm9ybWF0KFVucGlja2xpbmdFcnJvciwgCisgICAgICAgIFB5RXJyX0Zvcm1hdChVbnBpY2tsaW5nRXJyb3IsCiAgICAgICAgICAgICAgICAgICAgICAiVW5waWNrbGVyLl9faW5pdF9fKCkgd2FzIG5vdCBjYWxsZWQgYnkgJXMuX19pbml0X18oKSIsCiAgICAgICAgICAgICAgICAgICAgICBQeV9UWVBFKHNlbGYpLT50cF9uYW1lKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CkBAIC01NDc0LDcgKzU1MzUsNyBAQAogICAgICAgICBnbG9iYWwgPSBQeU9iamVjdF9HZXRBdHRyKG1vZHVsZSwgZ2xvYmFsX25hbWUpOwogICAgICAgICBQeV9ERUNSRUYobW9kdWxlKTsKICAgICB9Ci0gICAgZWxzZSB7IAorICAgIGVsc2UgewogICAgICAgICBnbG9iYWwgPSBQeU9iamVjdF9HZXRBdHRyKG1vZHVsZSwgZ2xvYmFsX25hbWUpOwogICAgIH0KICAgICByZXR1cm4gZ2xvYmFsOwpAQCAtNTU4Miw2ICs1NjQzLDcgQEAKICAgICBQeU9iamVjdCAqZml4X2ltcG9ydHMgPSBQeV9UcnVlOwogICAgIGNoYXIgKmVuY29kaW5nID0gTlVMTDsKICAgICBjaGFyICplcnJvcnMgPSBOVUxMOworICAgIF9QeV9JREVOVElGSUVSKHBlcnNpc3RlbnRfbG9hZCk7CiAKICAgICAvKiBYWFg6IFRoYXQgaXMgYW4gaG9ycmlibGUgZXJyb3IgbWVzc2FnZS4gQnV0LCBJIGRvbid0IGtub3cgaG93IHRvIGRvCiAgICAgICAgYmV0dGVyLi4uICovCkBAIC01NjE2LDkgKzU2NzgsOSBAQAogICAgIGlmIChzZWxmLT5maXhfaW1wb3J0cyA9PSAtMSkKICAgICAgICAgcmV0dXJuIC0xOwogCi0gICAgaWYgKFB5T2JqZWN0X0hhc0F0dHJTdHJpbmcoKFB5T2JqZWN0ICopc2VsZiwgInBlcnNpc3RlbnRfbG9hZCIpKSB7Ci0gICAgICAgIHNlbGYtPnBlcnNfZnVuYyA9IFB5T2JqZWN0X0dldEF0dHJTdHJpbmcoKFB5T2JqZWN0ICopc2VsZiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGVyc2lzdGVudF9sb2FkIik7CisgICAgaWYgKF9QeU9iamVjdF9IYXNBdHRySWQoKFB5T2JqZWN0ICopc2VsZiwgJlB5SWRfcGVyc2lzdGVudF9sb2FkKSkgeworICAgICAgICBzZWxmLT5wZXJzX2Z1bmMgPSBfUHlPYmplY3RfR2V0QXR0cklkKChQeU9iamVjdCAqKXNlbGYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJlB5SWRfcGVyc2lzdGVudF9sb2FkKTsKICAgICAgICAgaWYgKHNlbGYtPnBlcnNfZnVuYyA9PSBOVUxMKQogICAgICAgICAgICAgcmV0dXJuIC0xOwogICAgIH0KQEAgLTU2NTEsNyArNTcxMyw3IEBACiAgKiBpbnRlbnRpb25hbCwgYXMgdGhlc2Ugc2hvdWxkIGJlIHRyZWF0ZWQgYXMgYmxhY2stYm94IGltcGxlbWVudGF0aW9uIGRldGFpbHMuCiAgKgogICogV2UgZG8sIGhvd2V2ZXIsIGhhdmUgdG8gaW1wbGVtZW50IHBpY2tsaW5nL3VucGlja2xpbmcgc3VwcG9ydCBiZWNhdXNlIG9mCi0gKiByZWFsLXdvcmxkIGNvZGUgbGlrZSBjdnMyc3ZuLiAKKyAqIHJlYWwtd29ybGQgY29kZSBsaWtlIGN2czJzdm4uCiAgKi8KIAogdHlwZWRlZiBzdHJ1Y3QgewpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9fcG9zaXhzdWJwcm9jZXNzLmMgYi9Nb2R1bGVzL19wb3NpeHN1YnByb2Nlc3MuYwppbmRleCBkNTIwYzhjLi5iYWJmMDM5IDEwMDY0NAotLS0gYS9Nb2R1bGVzL19wb3NpeHN1YnByb2Nlc3MuYworKysgYi9Nb2R1bGVzL19wb3NpeHN1YnByb2Nlc3MuYwpAQCAtNDcsNyArNDcsOSBAQAogX2VuYWJsZV9nYyhQeU9iamVjdCAqZ2NfbW9kdWxlKQogewogICAgIFB5T2JqZWN0ICpyZXN1bHQ7Ci0gICAgcmVzdWx0ID0gUHlPYmplY3RfQ2FsbE1ldGhvZChnY19tb2R1bGUsICJlbmFibGUiLCBOVUxMKTsKKyAgICBfUHlfSURFTlRJRklFUihlbmFibGUpOworCisgICAgcmVzdWx0ID0gX1B5T2JqZWN0X0NhbGxNZXRob2RJZChnY19tb2R1bGUsICZQeUlkX2VuYWJsZSwgTlVMTCk7CiAgICAgaWYgKHJlc3VsdCA9PSBOVUxMKQogICAgICAgICByZXR1cm4gMTsKICAgICBQeV9ERUNSRUYocmVzdWx0KTsKQEAgLTc4LDcgKzgwLDcgQEAKICAqIHRoYXQgcHJvcGVybHkgc3VwcG9ydHMgL2Rldi9mZC4KICAqLwogc3RhdGljIGludAotX2lzX2ZkZXNjZnNfbW91bnRlZF9vbl9kZXZfZmQoKQorX2lzX2ZkZXNjZnNfbW91bnRlZF9vbl9kZXZfZmQodm9pZCkKIHsKICAgICBzdHJ1Y3Qgc3RhdCBkZXZfc3RhdDsKICAgICBzdHJ1Y3Qgc3RhdCBkZXZfZmRfc3RhdDsKQEAgLTUyMywxMCArNTI1LDEzIEBACiAgICAgLyogV2UgbmVlZCB0byBjYWxsIGdjLmRpc2FibGUoKSB3aGVuIHdlJ2xsIGJlIGNhbGxpbmcgcHJlZXhlY19mbiAqLwogICAgIGlmIChwcmVleGVjX2ZuICE9IFB5X05vbmUpIHsKICAgICAgICAgUHlPYmplY3QgKnJlc3VsdDsKKyAgICAgICAgX1B5X0lERU5USUZJRVIoaXNlbmFibGVkKTsKKyAgICAgICAgX1B5X0lERU5USUZJRVIoZGlzYWJsZSk7CisgICAgICAgIAogICAgICAgICBnY19tb2R1bGUgPSBQeUltcG9ydF9JbXBvcnRNb2R1bGUoImdjIik7CiAgICAgICAgIGlmIChnY19tb2R1bGUgPT0gTlVMTCkKICAgICAgICAgICAgIHJldHVybiBOVUxMOwotICAgICAgICByZXN1bHQgPSBQeU9iamVjdF9DYWxsTWV0aG9kKGdjX21vZHVsZSwgImlzZW5hYmxlZCIsIE5VTEwpOworICAgICAgICByZXN1bHQgPSBfUHlPYmplY3RfQ2FsbE1ldGhvZElkKGdjX21vZHVsZSwgJlB5SWRfaXNlbmFibGVkLCBOVUxMKTsKICAgICAgICAgaWYgKHJlc3VsdCA9PSBOVUxMKSB7CiAgICAgICAgICAgICBQeV9ERUNSRUYoZ2NfbW9kdWxlKTsKICAgICAgICAgICAgIHJldHVybiBOVUxMOwpAQCAtNTM3LDcgKzU0Miw3IEBACiAgICAgICAgICAgICBQeV9ERUNSRUYoZ2NfbW9kdWxlKTsKICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICB9Ci0gICAgICAgIHJlc3VsdCA9IFB5T2JqZWN0X0NhbGxNZXRob2QoZ2NfbW9kdWxlLCAiZGlzYWJsZSIsIE5VTEwpOworICAgICAgICByZXN1bHQgPSBfUHlPYmplY3RfQ2FsbE1ldGhvZElkKGdjX21vZHVsZSwgJlB5SWRfZGlzYWJsZSwgTlVMTCk7CiAgICAgICAgIGlmIChyZXN1bHQgPT0gTlVMTCkgewogICAgICAgICAgICAgUHlfREVDUkVGKGdjX21vZHVsZSk7CiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKZGlmZiAtLWdpdCBhL01vZHVsZXMvX3NxbGl0ZS9jYWNoZS5jIGIvTW9kdWxlcy9fc3FsaXRlL2NhY2hlLmMKaW5kZXggNzM1YTI0Mi4uMzY5MzM2MyAxMDA2NDQKLS0tIGEvTW9kdWxlcy9fc3FsaXRlL2NhY2hlLmMKKysrIGIvTW9kdWxlcy9fc3FsaXRlL2NhY2hlLmMKQEAgLTIxNyw4ICsyMTcsNiBAQAogICAgIHB5c3FsaXRlX05vZGUqIHB0cjsKICAgICBQeU9iamVjdCogcHJldmtleTsKICAgICBQeU9iamVjdCogbmV4dGtleTsKLSAgICBQeU9iamVjdCogZm10X2FyZ3M7Ci0gICAgUHlPYmplY3QqIHRlbXBsYXRlOwogICAgIFB5T2JqZWN0KiBkaXNwbGF5X3N0cjsKIAogICAgIHB0ciA9IHNlbGYtPmZpcnN0OwpAQCAtMjI5LDM2ICsyMjcsMjEgQEAKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIHByZXZrZXkgPSBQeV9Ob25lOwogICAgICAgICB9Ci0gICAgICAgIFB5X0lOQ1JFRihwcmV2a2V5KTsKIAogICAgICAgICBpZiAocHRyLT5uZXh0KSB7CiAgICAgICAgICAgICBuZXh0a2V5ID0gcHRyLT5uZXh0LT5rZXk7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBuZXh0a2V5ID0gUHlfTm9uZTsKICAgICAgICAgfQotICAgICAgICBQeV9JTkNSRUYobmV4dGtleSk7CiAKLSAgICAgICAgZm10X2FyZ3MgPSBQeV9CdWlsZFZhbHVlKCJPT08iLCBwcmV2a2V5LCBwdHItPmtleSwgbmV4dGtleSk7Ci0gICAgICAgIGlmICghZm10X2FyZ3MpIHsKLSAgICAgICAgICAgIHJldHVybiBOVUxMOwotICAgICAgICB9Ci0gICAgICAgIHRlbXBsYXRlID0gUHlVbmljb2RlX0Zyb21TdHJpbmcoIiVzIDwtICVzIC0+JXNcbiIpOwotICAgICAgICBpZiAoIXRlbXBsYXRlKSB7Ci0gICAgICAgICAgICBQeV9ERUNSRUYoZm10X2FyZ3MpOwotICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgIH0KLSAgICAgICAgZGlzcGxheV9zdHIgPSBQeVVuaWNvZGVfRm9ybWF0KHRlbXBsYXRlLCBmbXRfYXJncyk7Ci0gICAgICAgIFB5X0RFQ1JFRih0ZW1wbGF0ZSk7Ci0gICAgICAgIFB5X0RFQ1JFRihmbXRfYXJncyk7CisgICAgICAgIGRpc3BsYXlfc3RyID0gUHlVbmljb2RlX0Zyb21Gb3JtYXQoIiVTIDwtICVTIC0+ICVTXG4iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZXZrZXksIHB0ci0+a2V5LCBuZXh0a2V5KTsKICAgICAgICAgaWYgKCFkaXNwbGF5X3N0cikgewogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgIH0KICAgICAgICAgUHlPYmplY3RfUHJpbnQoZGlzcGxheV9zdHIsIHN0ZG91dCwgUHlfUFJJTlRfUkFXKTsKICAgICAgICAgUHlfREVDUkVGKGRpc3BsYXlfc3RyKTsKIAotICAgICAgICBQeV9ERUNSRUYocHJldmtleSk7Ci0gICAgICAgIFB5X0RFQ1JFRihuZXh0a2V5KTsKLQogICAgICAgICBwdHIgPSBwdHItPm5leHQ7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Nb2R1bGVzL19zcWxpdGUvY29ubmVjdGlvbi5jIGIvTW9kdWxlcy9fc3FsaXRlL2Nvbm5lY3Rpb24uYwppbmRleCA5ZDRjNzJmLi5iYzRjZTUwIDEwMDY0NAotLS0gYS9Nb2R1bGVzL19zcWxpdGUvY29ubmVjdGlvbi5jCisrKyBiL01vZHVsZXMvX3NxbGl0ZS9jb25uZWN0aW9uLmMKQEAgLTY3MSw3ICs2NzEsNyBAQAogewogICAgIFB5T2JqZWN0KiBmdW5jdGlvbl9yZXN1bHQgPSBOVUxMOwogICAgIFB5T2JqZWN0KiogYWdncmVnYXRlX2luc3RhbmNlOwotICAgIFB5T2JqZWN0KiBhZ2dyZWdhdGVfY2xhc3M7CisgICAgX1B5X0lERU5USUZJRVIoZmluYWxpemUpOwogCiAjaWZkZWYgV0lUSF9USFJFQUQKICAgICBQeUdJTFN0YXRlX1NUQVRFIHRocmVhZHN0YXRlOwpAQCAtNjc5LDggKzY3OSw2IEBACiAgICAgdGhyZWFkc3RhdGUgPSBQeUdJTFN0YXRlX0Vuc3VyZSgpOwogI2VuZGlmCiAKLSAgICBhZ2dyZWdhdGVfY2xhc3MgPSAoUHlPYmplY3QqKXNxbGl0ZTNfdXNlcl9kYXRhKGNvbnRleHQpOwotCiAgICAgYWdncmVnYXRlX2luc3RhbmNlID0gKFB5T2JqZWN0Kiopc3FsaXRlM19hZ2dyZWdhdGVfY29udGV4dChjb250ZXh0LCBzaXplb2YoUHlPYmplY3QqKSk7CiAgICAgaWYgKCEqYWdncmVnYXRlX2luc3RhbmNlKSB7CiAgICAgICAgIC8qIHRoaXMgYnJhbmNoIGlzIGV4ZWN1dGVkIGlmIHRoZXJlIHdhcyBhbiBleGNlcHRpb24gaW4gdGhlIGFnZ3JlZ2F0ZSdzCkBAIC02ODksNyArNjg3LDcgQEAKICAgICAgICAgZ290byBlcnJvcjsKICAgICB9CiAKLSAgICBmdW5jdGlvbl9yZXN1bHQgPSBQeU9iamVjdF9DYWxsTWV0aG9kKCphZ2dyZWdhdGVfaW5zdGFuY2UsICJmaW5hbGl6ZSIsICIiKTsKKyAgICBmdW5jdGlvbl9yZXN1bHQgPSBfUHlPYmplY3RfQ2FsbE1ldGhvZElkKCphZ2dyZWdhdGVfaW5zdGFuY2UsICZQeUlkX2ZpbmFsaXplLCAiIik7CiAgICAgaWYgKCFmdW5jdGlvbl9yZXN1bHQpIHsKICAgICAgICAgaWYgKF9lbmFibGVfY2FsbGJhY2tfdHJhY2ViYWNrcykgewogICAgICAgICAgICAgUHlFcnJfUHJpbnQoKTsKQEAgLTkwNSw2ICs5MDMsMzggQEAKICAgICByZXR1cm4gcmM7CiB9CiAKK3N0YXRpYyB2b2lkIF90cmFjZV9jYWxsYmFjayh2b2lkKiB1c2VyX2FyZywgY29uc3QgY2hhciogc3RhdGVtZW50X3N0cmluZykKK3sKKyAgICBQeU9iamVjdCAqcHlfc3RhdGVtZW50ID0gTlVMTDsKKyAgICBQeU9iamVjdCAqcmV0ID0gTlVMTDsKKworI2lmZGVmIFdJVEhfVEhSRUFECisgICAgUHlHSUxTdGF0ZV9TVEFURSBnaWxzdGF0ZTsKKworICAgIGdpbHN0YXRlID0gUHlHSUxTdGF0ZV9FbnN1cmUoKTsKKyNlbmRpZgorICAgIHB5X3N0YXRlbWVudCA9IFB5VW5pY29kZV9EZWNvZGVVVEY4KHN0YXRlbWVudF9zdHJpbmcsCisgICAgICAgICAgICBzdHJsZW4oc3RhdGVtZW50X3N0cmluZyksICJyZXBsYWNlIik7CisgICAgaWYgKHB5X3N0YXRlbWVudCkgeworICAgICAgICByZXQgPSBQeU9iamVjdF9DYWxsRnVuY3Rpb25PYmpBcmdzKChQeU9iamVjdCopdXNlcl9hcmcsIHB5X3N0YXRlbWVudCwgTlVMTCk7CisgICAgICAgIFB5X0RFQ1JFRihweV9zdGF0ZW1lbnQpOworICAgIH0KKworICAgIGlmIChyZXQpIHsKKyAgICAgICAgUHlfREVDUkVGKHJldCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgaWYgKF9lbmFibGVfY2FsbGJhY2tfdHJhY2ViYWNrcykgeworICAgICAgICAgICAgUHlFcnJfUHJpbnQoKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIFB5RXJyX0NsZWFyKCk7CisgICAgICAgIH0KKyAgICB9CisKKyNpZmRlZiBXSVRIX1RIUkVBRAorICAgIFB5R0lMU3RhdGVfUmVsZWFzZShnaWxzdGF0ZSk7CisjZW5kaWYKK30KKwogc3RhdGljIFB5T2JqZWN0KiBweXNxbGl0ZV9jb25uZWN0aW9uX3NldF9hdXRob3JpemVyKHB5c3FsaXRlX0Nvbm5lY3Rpb24qIHNlbGYsIFB5T2JqZWN0KiBhcmdzLCBQeU9iamVjdCoga3dhcmdzKQogewogICAgIFB5T2JqZWN0KiBhdXRob3JpemVyX2NiOwpAQCAtOTY0LDYgKzk5NCwzNCBAQAogICAgIHJldHVybiBQeV9Ob25lOwogfQogCitzdGF0aWMgUHlPYmplY3QqIHB5c3FsaXRlX2Nvbm5lY3Rpb25fc2V0X3RyYWNlX2NhbGxiYWNrKHB5c3FsaXRlX0Nvbm5lY3Rpb24qIHNlbGYsIFB5T2JqZWN0KiBhcmdzLCBQeU9iamVjdCoga3dhcmdzKQoreworICAgIFB5T2JqZWN0KiB0cmFjZV9jYWxsYmFjazsKKworICAgIHN0YXRpYyBjaGFyICprd2xpc3RbXSA9IHsgInRyYWNlX2NhbGxiYWNrIiwgTlVMTCB9OworCisgICAgaWYgKCFweXNxbGl0ZV9jaGVja190aHJlYWQoc2VsZikgfHwgIXB5c3FsaXRlX2NoZWNrX2Nvbm5lY3Rpb24oc2VsZikpIHsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLCAiTzpzZXRfdHJhY2VfY2FsbGJhY2siLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrd2xpc3QsICZ0cmFjZV9jYWxsYmFjaykpIHsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorCisgICAgaWYgKHRyYWNlX2NhbGxiYWNrID09IFB5X05vbmUpIHsKKyAgICAgICAgLyogTm9uZSBjbGVhcnMgdGhlIHRyYWNlIGNhbGxiYWNrIHByZXZpb3VzbHkgc2V0ICovCisgICAgICAgIHNxbGl0ZTNfdHJhY2Uoc2VsZi0+ZGIsIDAsICh2b2lkKikwKTsKKyAgICB9IGVsc2UgeworICAgICAgICBpZiAoUHlEaWN0X1NldEl0ZW0oc2VsZi0+ZnVuY3Rpb25fcGluYm9hcmQsIHRyYWNlX2NhbGxiYWNrLCBQeV9Ob25lKSA9PSAtMSkKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICBzcWxpdGUzX3RyYWNlKHNlbGYtPmRiLCBfdHJhY2VfY2FsbGJhY2ssIHRyYWNlX2NhbGxiYWNrKTsKKyAgICB9CisKKyAgICBQeV9JTkNSRUYoUHlfTm9uZSk7CisgICAgcmV0dXJuIFB5X05vbmU7Cit9CisKICNpZmRlZiBIQVZFX0xPQURfRVhURU5TSU9OCiBzdGF0aWMgUHlPYmplY3QqIHB5c3FsaXRlX2VuYWJsZV9sb2FkX2V4dGVuc2lvbihweXNxbGl0ZV9Db25uZWN0aW9uKiBzZWxmLCBQeU9iamVjdCogYXJncykKIHsKQEAgLTExNjksOCArMTIyNyw5IEBACiAgICAgUHlPYmplY3QqIGN1cnNvciA9IDA7CiAgICAgUHlPYmplY3QqIHJlc3VsdCA9IDA7CiAgICAgUHlPYmplY3QqIG1ldGhvZCA9IDA7CisgICAgX1B5X0lERU5USUZJRVIoY3Vyc29yKTsKIAotICAgIGN1cnNvciA9IFB5T2JqZWN0X0NhbGxNZXRob2QoKFB5T2JqZWN0KilzZWxmLCAiY3Vyc29yIiwgIiIpOworICAgIGN1cnNvciA9IF9QeU9iamVjdF9DYWxsTWV0aG9kSWQoKFB5T2JqZWN0KilzZWxmLCAmUHlJZF9jdXJzb3IsICIiKTsKICAgICBpZiAoIWN1cnNvcikgewogICAgICAgICBnb3RvIGVycm9yOwogICAgIH0KQEAgLTExOTgsOCArMTI1Nyw5IEBACiAgICAgUHlPYmplY3QqIGN1cnNvciA9IDA7CiAgICAgUHlPYmplY3QqIHJlc3VsdCA9IDA7CiAgICAgUHlPYmplY3QqIG1ldGhvZCA9IDA7CisgICAgX1B5X0lERU5USUZJRVIoY3Vyc29yKTsKIAotICAgIGN1cnNvciA9IFB5T2JqZWN0X0NhbGxNZXRob2QoKFB5T2JqZWN0KilzZWxmLCAiY3Vyc29yIiwgIiIpOworICAgIGN1cnNvciA9IF9QeU9iamVjdF9DYWxsTWV0aG9kSWQoKFB5T2JqZWN0KilzZWxmLCAmUHlJZF9jdXJzb3IsICIiKTsKICAgICBpZiAoIWN1cnNvcikgewogICAgICAgICBnb3RvIGVycm9yOwogICAgIH0KQEAgLTEyMjcsOCArMTI4Nyw5IEBACiAgICAgUHlPYmplY3QqIGN1cnNvciA9IDA7CiAgICAgUHlPYmplY3QqIHJlc3VsdCA9IDA7CiAgICAgUHlPYmplY3QqIG1ldGhvZCA9IDA7CisgICAgX1B5X0lERU5USUZJRVIoY3Vyc29yKTsKIAotICAgIGN1cnNvciA9IFB5T2JqZWN0X0NhbGxNZXRob2QoKFB5T2JqZWN0KilzZWxmLCAiY3Vyc29yIiwgIiIpOworICAgIGN1cnNvciA9IF9QeU9iamVjdF9DYWxsTWV0aG9kSWQoKFB5T2JqZWN0KilzZWxmLCAmUHlJZF9jdXJzb3IsICIiKTsKICAgICBpZiAoIWN1cnNvcikgewogICAgICAgICBnb3RvIGVycm9yOwogICAgIH0KQEAgLTEzNzUsMTAgKzE0MzYsMTIgQEAKICAgICBQeU9iamVjdCogdXBwZXJjYXNlX25hbWUgPSAwOwogICAgIFB5T2JqZWN0KiBuYW1lOwogICAgIFB5T2JqZWN0KiByZXR2YWw7Ci0gICAgUHlfVU5JQ09ERSogY2hrOwogICAgIFB5X3NzaXplX3QgaSwgbGVuOworICAgIF9QeV9JREVOVElGSUVSKHVwcGVyKTsKICAgICBjaGFyICp1cHBlcmNhc2VfbmFtZV9zdHI7CiAgICAgaW50IHJjOworICAgIHVuc2lnbmVkIGludCBraW5kOworICAgIHZvaWQgKmRhdGE7CiAKICAgICBpZiAoIXB5c3FsaXRlX2NoZWNrX3RocmVhZChzZWxmKSB8fCAhcHlzcWxpdGVfY2hlY2tfY29ubmVjdGlvbihzZWxmKSkgewogICAgICAgICBnb3RvIGZpbmFsbHk7CkBAIC0xMzg4LDE3ICsxNDUxLDIxIEBACiAgICAgICAgIGdvdG8gZmluYWxseTsKICAgICB9CiAKLSAgICB1cHBlcmNhc2VfbmFtZSA9IFB5T2JqZWN0X0NhbGxNZXRob2QobmFtZSwgInVwcGVyIiwgIiIpOworICAgIHVwcGVyY2FzZV9uYW1lID0gX1B5T2JqZWN0X0NhbGxNZXRob2RJZChuYW1lLCAmUHlJZF91cHBlciwgIiIpOwogICAgIGlmICghdXBwZXJjYXNlX25hbWUpIHsKICAgICAgICAgZ290byBmaW5hbGx5OwogICAgIH0KIAotICAgIGxlbiA9IFB5VW5pY29kZV9HRVRfU0laRSh1cHBlcmNhc2VfbmFtZSk7Ci0gICAgY2hrID0gUHlVbmljb2RlX0FTX1VOSUNPREUodXBwZXJjYXNlX25hbWUpOwotICAgIGZvciAoaT0wOyBpPGxlbjsgaSsrLCBjaGsrKykgewotICAgICAgICBpZiAoKCpjaGsgPj0gJzAnICYmICpjaGsgPD0gJzknKQotICAgICAgICAgfHwgKCpjaGsgPj0gJ0EnICYmICpjaGsgPD0gJ1onKQotICAgICAgICAgfHwgKCpjaGsgPT0gJ18nKSkKKyAgICBpZiAoUHlVbmljb2RlX1JFQURZKHVwcGVyY2FzZV9uYW1lKSkKKyAgICAgICAgZ290byBmaW5hbGx5OworICAgIGxlbiA9IFB5VW5pY29kZV9HRVRfTEVOR1RIKHVwcGVyY2FzZV9uYW1lKTsKKyAgICBraW5kID0gUHlVbmljb2RlX0tJTkQodXBwZXJjYXNlX25hbWUpOworICAgIGRhdGEgPSBQeVVuaWNvZGVfREFUQSh1cHBlcmNhc2VfbmFtZSk7CisgICAgZm9yIChpPTA7IGk8bGVuOyBpKyspIHsKKyAgICAgICAgUHlfVUNTNCBjaCA9IFB5VW5pY29kZV9SRUFEKGtpbmQsIGRhdGEsIGkpOworICAgICAgICBpZiAoKGNoID49ICcwJyAmJiBjaCA8PSAnOScpCisgICAgICAgICB8fCAoY2ggPj0gJ0EnICYmIGNoIDw9ICdaJykKKyAgICAgICAgIHx8IChjaCA9PSAnXycpKQogICAgICAgICB7CiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgfSBlbHNlIHsKQEAgLTE1MTcsNiArMTU4NCw4IEBACiAgICAgI2VuZGlmCiAgICAgeyJzZXRfcHJvZ3Jlc3NfaGFuZGxlciIsIChQeUNGdW5jdGlvbilweXNxbGl0ZV9jb25uZWN0aW9uX3NldF9wcm9ncmVzc19oYW5kbGVyLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywKICAgICAgICAgUHlEb2NfU1RSKCJTZXRzIHByb2dyZXNzIGhhbmRsZXIgY2FsbGJhY2suIE5vbi1zdGFuZGFyZC4iKX0sCisgICAgeyJzZXRfdHJhY2VfY2FsbGJhY2siLCAoUHlDRnVuY3Rpb24pcHlzcWxpdGVfY29ubmVjdGlvbl9zZXRfdHJhY2VfY2FsbGJhY2ssIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLAorICAgICAgICBQeURvY19TVFIoIlNldHMgYSB0cmFjZSBjYWxsYmFjayBjYWxsZWQgZm9yIGVhY2ggU1FMIHN0YXRlbWVudCAocGFzc2VkIGFzIHVuaWNvZGUpLiBOb24tc3RhbmRhcmQuIil9LAogICAgIHsiZXhlY3V0ZSIsIChQeUNGdW5jdGlvbilweXNxbGl0ZV9jb25uZWN0aW9uX2V4ZWN1dGUsIE1FVEhfVkFSQVJHUywKICAgICAgICAgUHlEb2NfU1RSKCJFeGVjdXRlcyBhIFNRTCBzdGF0ZW1lbnQuIE5vbi1zdGFuZGFyZC4iKX0sCiAgICAgeyJleGVjdXRlbWFueSIsIChQeUNGdW5jdGlvbilweXNxbGl0ZV9jb25uZWN0aW9uX2V4ZWN1dGVtYW55LCBNRVRIX1ZBUkFSR1MsCmRpZmYgLS1naXQgYS9Nb2R1bGVzL19zcWxpdGUvY29ubmVjdGlvbi5oIGIvTW9kdWxlcy9fc3FsaXRlL2Nvbm5lY3Rpb24uaAppbmRleCBjOGUyZjdjLi4wYzk3MzRjIDEwMDY0NAotLS0gYS9Nb2R1bGVzL19zcWxpdGUvY29ubmVjdGlvbi5oCisrKyBiL01vZHVsZXMvX3NxbGl0ZS9jb25uZWN0aW9uLmgKQEAgLTgzLDggKzgzLDcgQEAKIAogICAgIC8qIERldGVybWluZXMgaG93IGJ5dGVzdHJpbmdzIGZyb20gU1FMaXRlIGFyZSBjb252ZXJ0ZWQgdG8gUHl0aG9uIG9iamVjdHM6CiAgICAgICogLSBQeVVuaWNvZGVfVHlwZTogICAgICAgIFB5dGhvbiBVbmljb2RlIG9iamVjdHMgYXJlIGNvbnN0cnVjdGVkIGZyb20gVVRGLTggYnl0ZXN0cmluZ3MKLSAgICAgKiAtIE9wdGltaXplZFVuaWNvZGU6ICAgICAgTGlrZSBiZWZvcmUsIGJ1dCBmb3IgQVNDSUkgZGF0YSwgb25seSBQeVN0cmluZ3MgYXJlIGNyZWF0ZWQuCi0gICAgICogLSBQeUJ5dGVzX1R5cGU6ICAgICAgICAgUHlTdHJpbmdzIGFyZSBjcmVhdGVkIGFzLWlzLgorICAgICAqIC0gUHlCeXRlc19UeXBlOiAgICAgICAgICBUaGUgYnl0ZXN0cmluZ3MgYXJlIHJldHVybmVkIGFzLWlzLgogICAgICAqIC0gQW55IGN1c3RvbSBjYWxsYWJsZTogICBBbnkgb2JqZWN0IHJldHVybmVkIGZyb20gdGhlIGNhbGxhYmxlIGNhbGxlZCB3aXRoIHRoZSBieXRlc3RyaW5nCiAgICAgICogICAgICAgICAgICAgICAgICAgICAgICAgIGFzIHNpbmdsZSBwYXJhbWV0ZXIuCiAgICAgICovCmRpZmYgLS1naXQgYS9Nb2R1bGVzL19zcWxpdGUvY3Vyc29yLmMgYi9Nb2R1bGVzL19zcWxpdGUvY3Vyc29yLmMKaW5kZXggODZmYmQ0ZS4uOGE1NmQzYyAxMDA2NDQKLS0tIGEvTW9kdWxlcy9fc3FsaXRlL2N1cnNvci5jCisrKyBiL01vZHVsZXMvX3NxbGl0ZS9jdXJzb3IuYwpAQCAtMTI2LDExICsxMjYsOSBAQAogCiBzdGF0aWMgdm9pZCBweXNxbGl0ZV9jdXJzb3JfZGVhbGxvYyhweXNxbGl0ZV9DdXJzb3IqIHNlbGYpCiB7Ci0gICAgaW50IHJjOwotCiAgICAgLyogUmVzZXQgdGhlIHN0YXRlbWVudCBpZiB0aGUgdXNlciBoYXMgbm90IGNsb3NlZCB0aGUgY3Vyc29yICovCiAgICAgaWYgKHNlbGYtPnN0YXRlbWVudCkgewotICAgICAgICByYyA9IHB5c3FsaXRlX3N0YXRlbWVudF9yZXNldChzZWxmLT5zdGF0ZW1lbnQpOworICAgICAgICBweXNxbGl0ZV9zdGF0ZW1lbnRfcmVzZXQoc2VsZi0+c3RhdGVtZW50KTsKICAgICAgICAgUHlfREVDUkVGKHNlbGYtPnN0YXRlbWVudCk7CiAgICAgfQogCkBAIC0xNTIsOCArMTUwLDkgQEAKIHsKICAgICBQeU9iamVjdCogdXBjYXNlX2tleTsKICAgICBQeU9iamVjdCogcmV0dmFsOworICAgIF9QeV9JREVOVElGSUVSKHVwcGVyKTsKIAotICAgIHVwY2FzZV9rZXkgPSBQeU9iamVjdF9DYWxsTWV0aG9kKGtleSwgInVwcGVyIiwgIiIpOworICAgIHVwY2FzZV9rZXkgPSBfUHlPYmplY3RfQ2FsbE1ldGhvZElkKGtleSwgJlB5SWRfdXBwZXIsICIiKTsKICAgICBpZiAoIXVwY2FzZV9rZXkpIHsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQpAQCAtMjY4LDExICsyNjcsNiBAQAogICAgIH0KIH0KIAotUHlPYmplY3QqIHB5c3FsaXRlX3VuaWNvZGVfZnJvbV9zdHJpbmcoY29uc3QgY2hhciogdmFsX3N0ciwgUHlfc3NpemVfdCBzaXplLCBpbnQgb3B0aW1pemUpCi17Ci0gICAgcmV0dXJuIFB5VW5pY29kZV9Gcm9tU3RyaW5nQW5kU2l6ZSh2YWxfc3RyLCBzaXplKTsKLX0KLQogLyoKICAqIFJldHVybnMgYSByb3cgZnJvbSB0aGUgY3VycmVudGx5IGFjdGl2ZSBTUUxpdGUgc3RhdGVtZW50CiAgKgpAQCAtMzU2LDEyICszNTAsOCBAQAogICAgICAgICAgICAgfSBlbHNlIGlmIChjb2x0eXBlID09IFNRTElURV9URVhUKSB7CiAgICAgICAgICAgICAgICAgdmFsX3N0ciA9IChjb25zdCBjaGFyKilzcWxpdGUzX2NvbHVtbl90ZXh0KHNlbGYtPnN0YXRlbWVudC0+c3QsIGkpOwogICAgICAgICAgICAgICAgIG5ieXRlcyA9IHNxbGl0ZTNfY29sdW1uX2J5dGVzKHNlbGYtPnN0YXRlbWVudC0+c3QsIGkpOwotICAgICAgICAgICAgICAgIGlmICgoc2VsZi0+Y29ubmVjdGlvbi0+dGV4dF9mYWN0b3J5ID09IChQeU9iamVjdCopJlB5VW5pY29kZV9UeXBlKQotICAgICAgICAgICAgICAgICAgICB8fCAoc2VsZi0+Y29ubmVjdGlvbi0+dGV4dF9mYWN0b3J5ID09IHB5c3FsaXRlX09wdGltaXplZFVuaWNvZGUpKSB7Ci0KLSAgICAgICAgICAgICAgICAgICAgY29udmVydGVkID0gcHlzcWxpdGVfdW5pY29kZV9mcm9tX3N0cmluZyh2YWxfc3RyLCBuYnl0ZXMsCi0gICAgICAgICAgICAgICAgICAgICAgICBzZWxmLT5jb25uZWN0aW9uLT50ZXh0X2ZhY3RvcnkgPT0gcHlzcWxpdGVfT3B0aW1pemVkVW5pY29kZSA/IDEgOiAwKTsKLQorICAgICAgICAgICAgICAgIGlmIChzZWxmLT5jb25uZWN0aW9uLT50ZXh0X2ZhY3RvcnkgPT0gKFB5T2JqZWN0KikmUHlVbmljb2RlX1R5cGUpIHsKKyAgICAgICAgICAgICAgICAgICAgY29udmVydGVkID0gUHlVbmljb2RlX0Zyb21TdHJpbmdBbmRTaXplKHZhbF9zdHIsIG5ieXRlcyk7CiAgICAgICAgICAgICAgICAgICAgIGlmICghY29udmVydGVkKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBjb2xuYW1lID0gc3FsaXRlM19jb2x1bW5fbmFtZShzZWxmLT5zdGF0ZW1lbnQtPnN0LCBpKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghY29sbmFtZSkgewpAQCAtNDYwLDcgKzQ1MCw2IEBACiAgICAgaW50IHN0YXRlbWVudF90eXBlOwogICAgIFB5T2JqZWN0KiBkZXNjcmlwdG9yOwogICAgIFB5T2JqZWN0KiBzZWNvbmRfYXJndW1lbnQgPSBOVUxMOwotICAgIGludCBhbGxvd184Yml0X2NoYXJzOwogCiAgICAgaWYgKCFjaGVja19jdXJzb3Ioc2VsZikpIHsKICAgICAgICAgZ290byBlcnJvcjsKQEAgLTQ2OSwxMCArNDU4LDYgQEAKICAgICBzZWxmLT5sb2NrZWQgPSAxOwogICAgIHNlbGYtPnJlc2V0ID0gMDsKIAotICAgIC8qIE1ha2Ugc2hvb3RpbmcgeW91cnNlbGYgaW4gdGhlIGZvb3Qgd2l0aCBub3QgdXRmLTggZGVjb2RhYmxlIDgtYml0LXN0cmluZ3MgaGFyZGVyICovCi0gICAgYWxsb3dfOGJpdF9jaGFycyA9ICgoc2VsZi0+Y29ubmVjdGlvbi0+dGV4dF9mYWN0b3J5ICE9IChQeU9iamVjdCopJlB5VW5pY29kZV9UeXBlKSAmJgotICAgICAgICAoc2VsZi0+Y29ubmVjdGlvbi0+dGV4dF9mYWN0b3J5ICE9IHB5c3FsaXRlX09wdGltaXplZFVuaWNvZGUpKTsKLQogICAgIFB5X1hERUNSRUYoc2VsZi0+bmV4dF9yb3cpOwogICAgIHNlbGYtPm5leHRfcm93ID0gTlVMTDsKIApAQCAtNTM2LDcgKzUyMSw3IEBACiAKICAgICBpZiAoc2VsZi0+c3RhdGVtZW50ICE9IE5VTEwpIHsKICAgICAgICAgLyogVGhlcmUgaXMgYW4gYWN0aXZlIHN0YXRlbWVudCAqLwotICAgICAgICByYyA9IHB5c3FsaXRlX3N0YXRlbWVudF9yZXNldChzZWxmLT5zdGF0ZW1lbnQpOworICAgICAgICBweXNxbGl0ZV9zdGF0ZW1lbnRfcmVzZXQoc2VsZi0+c3RhdGVtZW50KTsKICAgICB9CiAKICAgICBvcGVyYXRpb25fY3N0ciA9IF9QeVVuaWNvZGVfQXNTdHJpbmdBbmRTaXplKG9wZXJhdGlvbiwgJm9wZXJhdGlvbl9sZW4pOwpAQCAtNjMxLDcgKzYxNiw3IEBACiAKICAgICAgICAgcHlzcWxpdGVfc3RhdGVtZW50X21hcmtfZGlydHkoc2VsZi0+c3RhdGVtZW50KTsKIAotICAgICAgICBweXNxbGl0ZV9zdGF0ZW1lbnRfYmluZF9wYXJhbWV0ZXJzKHNlbGYtPnN0YXRlbWVudCwgcGFyYW1ldGVycywgYWxsb3dfOGJpdF9jaGFycyk7CisgICAgICAgIHB5c3FsaXRlX3N0YXRlbWVudF9iaW5kX3BhcmFtZXRlcnMoc2VsZi0+c3RhdGVtZW50LCBwYXJhbWV0ZXJzKTsKICAgICAgICAgaWYgKFB5RXJyX09jY3VycmVkKCkpIHsKICAgICAgICAgICAgIGdvdG8gZXJyb3I7CiAgICAgICAgIH0KQEAgLTc0MSw3ICs3MjYsNyBAQAogICAgICAgICB9CiAKICAgICAgICAgaWYgKG11bHRpcGxlKSB7Ci0gICAgICAgICAgICByYyA9IHB5c3FsaXRlX3N0YXRlbWVudF9yZXNldChzZWxmLT5zdGF0ZW1lbnQpOworICAgICAgICAgICAgcHlzcWxpdGVfc3RhdGVtZW50X3Jlc2V0KHNlbGYtPnN0YXRlbWVudCk7CiAgICAgICAgIH0KICAgICAgICAgUHlfWERFQ1JFRihwYXJhbWV0ZXJzKTsKICAgICB9CmRpZmYgLS1naXQgYS9Nb2R1bGVzL19zcWxpdGUvbWljcm9wcm90b2NvbHMuYyBiL01vZHVsZXMvX3NxbGl0ZS9taWNyb3Byb3RvY29scy5jCmluZGV4IGM3MzBhZmEuLjIyNjFiODAgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvX3NxbGl0ZS9taWNyb3Byb3RvY29scy5jCisrKyBiL01vZHVsZXMvX3NxbGl0ZS9taWNyb3Byb3RvY29scy5jCkBAIC05NSw3ICs5NSw5IEBACiAKICAgICAvKiB0cnkgdG8gaGF2ZSB0aGUgcHJvdG9jb2wgYWRhcHQgdGhpcyBvYmplY3QqLwogICAgIGlmIChQeU9iamVjdF9IYXNBdHRyU3RyaW5nKHByb3RvLCAiX19hZGFwdF9fIikpIHsKLSAgICAgICAgUHlPYmplY3QgKmFkYXB0ZWQgPSBQeU9iamVjdF9DYWxsTWV0aG9kKHByb3RvLCAiX19hZGFwdF9fIiwgIk8iLCBvYmopOworICAgICAgICBfUHlfSURFTlRJRklFUihfX2FkYXB0X18pOworICAgICAgICBQeU9iamVjdCAqYWRhcHRlZCA9IF9QeU9iamVjdF9DYWxsTWV0aG9kSWQocHJvdG8sICZQeUlkX19fYWRhcHRfXywgIk8iLCBvYmopOworCiAgICAgICAgIGlmIChhZGFwdGVkKSB7CiAgICAgICAgICAgICBpZiAoYWRhcHRlZCAhPSBQeV9Ob25lKSB7CiAgICAgICAgICAgICAgICAgcmV0dXJuIGFkYXB0ZWQ7CkBAIC0xMTAsNyArMTEyLDkgQEAKIAogICAgIC8qIGFuZCBmaW5hbGx5IHRyeSB0byBoYXZlIHRoZSBvYmplY3QgYWRhcHQgaXRzZWxmICovCiAgICAgaWYgKFB5T2JqZWN0X0hhc0F0dHJTdHJpbmcob2JqLCAiX19jb25mb3JtX18iKSkgewotICAgICAgICBQeU9iamVjdCAqYWRhcHRlZCA9IFB5T2JqZWN0X0NhbGxNZXRob2Qob2JqLCAiX19jb25mb3JtX18iLCJPIiwgcHJvdG8pOworICAgICAgICBfUHlfSURFTlRJRklFUihfX2NvbmZvcm1fXyk7CisgICAgICAgIFB5T2JqZWN0ICphZGFwdGVkID0gX1B5T2JqZWN0X0NhbGxNZXRob2RJZChvYmosICZQeUlkX19fY29uZm9ybV9fLCJPIiwgcHJvdG8pOworCiAgICAgICAgIGlmIChhZGFwdGVkKSB7CiAgICAgICAgICAgICBpZiAoYWRhcHRlZCAhPSBQeV9Ob25lKSB7CiAgICAgICAgICAgICAgICAgcmV0dXJuIGFkYXB0ZWQ7CmRpZmYgLS1naXQgYS9Nb2R1bGVzL19zcWxpdGUvbW9kdWxlLmMgYi9Nb2R1bGVzL19zcWxpdGUvbW9kdWxlLmMKaW5kZXggY2JjM2I4ZS4uYmVhNmQ2YSAxMDA2NDQKLS0tIGEvTW9kdWxlcy9fc3FsaXRlL21vZHVsZS5jCisrKyBiL01vZHVsZXMvX3NxbGl0ZS9tb2R1bGUuYwpAQCAtMzcsNyArMzcsNyBAQAogCiBQeU9iamVjdCogcHlzcWxpdGVfRXJyb3IsICpweXNxbGl0ZV9XYXJuaW5nLCAqcHlzcWxpdGVfSW50ZXJmYWNlRXJyb3IsICpweXNxbGl0ZV9EYXRhYmFzZUVycm9yLAogICAgICpweXNxbGl0ZV9JbnRlcm5hbEVycm9yLCAqcHlzcWxpdGVfT3BlcmF0aW9uYWxFcnJvciwgKnB5c3FsaXRlX1Byb2dyYW1taW5nRXJyb3IsCi0gICAgKnB5c3FsaXRlX0ludGVncml0eUVycm9yLCAqcHlzcWxpdGVfRGF0YUVycm9yLCAqcHlzcWxpdGVfTm90U3VwcG9ydGVkRXJyb3IsICpweXNxbGl0ZV9PcHRpbWl6ZWRVbmljb2RlOworICAgICpweXNxbGl0ZV9JbnRlZ3JpdHlFcnJvciwgKnB5c3FsaXRlX0RhdGFFcnJvciwgKnB5c3FsaXRlX05vdFN1cHBvcnRlZEVycm9yOwogCiBQeU9iamVjdCogY29udmVydGVyczsKIGludCBfZW5hYmxlX2NhbGxiYWNrX3RyYWNlYmFja3M7CkBAIC0xNzksMTMgKzE3OSwxNCBAQAogICAgIFB5T2JqZWN0KiBuYW1lID0gTlVMTDsKICAgICBQeU9iamVjdCogY2FsbGFibGU7CiAgICAgUHlPYmplY3QqIHJldHZhbCA9IE5VTEw7CisgICAgX1B5X0lERU5USUZJRVIodXBwZXIpOwogCiAgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJVTyIsICZvcmlnX25hbWUsICZjYWxsYWJsZSkpIHsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogCiAgICAgLyogY29udmVydCB0aGUgbmFtZSB0byB1cHBlciBjYXNlICovCi0gICAgbmFtZSA9IFB5T2JqZWN0X0NhbGxNZXRob2Qob3JpZ19uYW1lLCAidXBwZXIiLCAiIik7CisgICAgbmFtZSA9IF9QeU9iamVjdF9DYWxsTWV0aG9kSWQob3JpZ19uYW1lLCAmUHlJZF91cHBlciwgIiIpOwogICAgIGlmICghbmFtZSkgewogICAgICAgICBnb3RvIGVycm9yOwogICAgIH0KQEAgLTQwNiwxMyArNDA3LDEzIEBACiAgICAgfQogICAgIFB5RGljdF9TZXRJdGVtU3RyaW5nKGRpY3QsICJOb3RTdXBwb3J0ZWRFcnJvciIsIHB5c3FsaXRlX05vdFN1cHBvcnRlZEVycm9yKTsKIAotICAgIC8qIFdlIGp1c3QgbmVlZCAic29tZXRoaW5nIiB1bmlxdWUgZm9yIHB5c3FsaXRlX09wdGltaXplZFVuaWNvZGUuIEl0IGRvZXMgbm90IHJlYWxseQotICAgICAqIG5lZWQgdG8gYmUgYSBzdHJpbmcgc3ViY2xhc3MuIEp1c3QgYW55dGhpbmcgdGhhdCBjYW4gYWN0IGFzIGEgc3BlY2lhbAotICAgICAqIG1hcmtlciBmb3IgdXMuIFNvIEkgcHVsbGVkIFB5Q2VsbF9UeXBlIG91dCBvZiBteSBtYWdpYyBoYXQuCi0gICAgICovCi0gICAgUHlfSU5DUkVGKChQeU9iamVjdCopJlB5Q2VsbF9UeXBlKTsKLSAgICBweXNxbGl0ZV9PcHRpbWl6ZWRVbmljb2RlID0gKFB5T2JqZWN0KikmUHlDZWxsX1R5cGU7Ci0gICAgUHlEaWN0X1NldEl0ZW1TdHJpbmcoZGljdCwgIk9wdGltaXplZFVuaWNvZGUiLCBweXNxbGl0ZV9PcHRpbWl6ZWRVbmljb2RlKTsKKyAgICAvKiBJbiBQeXRob24gMi54LCBzZXR0aW5nIENvbm5lY3Rpb24udGV4dF9mYWN0b3J5IHRvCisgICAgICAgT3B0aW1pemVkVW5pY29kZSBjYXVzZWQgVW5pY29kZSBvYmplY3RzIHRvIGJlIHJldHVybmVkIGZvcgorICAgICAgIG5vbi1BU0NJSSBkYXRhIGFuZCBieXRlc3RyaW5ncyB0byBiZSByZXR1cm5lZCBmb3IgQVNDSUkgZGF0YS4KKyAgICAgICBOb3cgT3B0aW1pemVkVW5pY29kZSBpcyBhbiBhbGlhcyBmb3Igc3RyLCBzbyBpdCBoYXMgbm8KKyAgICAgICBlZmZlY3QuICovCisgICAgUHlfSU5DUkVGKChQeU9iamVjdCopJlB5VW5pY29kZV9UeXBlKTsKKyAgICBQeURpY3RfU2V0SXRlbVN0cmluZyhkaWN0LCAiT3B0aW1pemVkVW5pY29kZSIsIChQeU9iamVjdCopJlB5VW5pY29kZV9UeXBlKTsKIAogICAgIC8qIFNldCBpbnRlZ2VyIGNvbnN0YW50cyAqLwogICAgIGZvciAoaSA9IDA7IF9pbnRfY29uc3RhbnRzW2ldLmNvbnN0YW50X25hbWUgIT0gMDsgaSsrKSB7CmRpZmYgLS1naXQgYS9Nb2R1bGVzL19zcWxpdGUvbW9kdWxlLmggYi9Nb2R1bGVzL19zcWxpdGUvbW9kdWxlLmgKaW5kZXggMGVkZGI2Ny4uYjUxNzI0YiAxMDA2NDQKLS0tIGEvTW9kdWxlcy9fc3FsaXRlL21vZHVsZS5oCisrKyBiL01vZHVsZXMvX3NxbGl0ZS9tb2R1bGUuaApAQCAtMzgsOCArMzgsNiBAQAogZXh0ZXJuIFB5T2JqZWN0KiBweXNxbGl0ZV9EYXRhRXJyb3I7CiBleHRlcm4gUHlPYmplY3QqIHB5c3FsaXRlX05vdFN1cHBvcnRlZEVycm9yOwogCi1leHRlcm4gUHlPYmplY3QqIHB5c3FsaXRlX09wdGltaXplZFVuaWNvZGU7Ci0KIC8qIHRoZSBmdW5jdGlvbnMgdGltZS50aW1lKCkgYW5kIHRpbWUuc2xlZXAoKSAqLwogZXh0ZXJuIFB5T2JqZWN0KiB0aW1lX3RpbWU7CiBleHRlcm4gUHlPYmplY3QqIHRpbWVfc2xlZXA7CmRpZmYgLS1naXQgYS9Nb2R1bGVzL19zcWxpdGUvcm93LmMgYi9Nb2R1bGVzL19zcWxpdGUvcm93LmMKaW5kZXggM2Q0NDA5NC4uYjUwNjU4YyAxMDA2NDQKLS0tIGEvTW9kdWxlcy9fc3FsaXRlL3Jvdy5jCisrKyBiL01vZHVsZXMvX3NxbGl0ZS9yb3cuYwpAQCAtMTczLDEwICsxNzMsOSBAQAogCiBzdGF0aWMgUHlPYmplY3QqIHB5c3FsaXRlX3Jvd19yaWNoY29tcGFyZShweXNxbGl0ZV9Sb3cgKnNlbGYsIFB5T2JqZWN0ICpfb3RoZXIsIGludCBvcGlkKQogewotICAgIGlmIChvcGlkICE9IFB5X0VRICYmIG9waWQgIT0gUHlfTkUpIHsKLSAgICAgICAgUHlfSU5DUkVGKFB5X05vdEltcGxlbWVudGVkKTsKLSAgICAgICAgcmV0dXJuIFB5X05vdEltcGxlbWVudGVkOwotICAgIH0KKyAgICBpZiAob3BpZCAhPSBQeV9FUSAmJiBvcGlkICE9IFB5X05FKQorICAgICAgICBQeV9SRVRVUk5fTk9USU1QTEVNRU5URUQ7CisKICAgICBpZiAoUHlUeXBlX0lzU3VidHlwZShQeV9UWVBFKF9vdGhlciksICZweXNxbGl0ZV9Sb3dUeXBlKSkgewogICAgICAgICBweXNxbGl0ZV9Sb3cgKm90aGVyID0gKHB5c3FsaXRlX1JvdyAqKV9vdGhlcjsKICAgICAgICAgUHlPYmplY3QgKnJlcyA9IFB5T2JqZWN0X1JpY2hDb21wYXJlKHNlbGYtPmRlc2NyaXB0aW9uLCBvdGhlci0+ZGVzY3JpcHRpb24sIG9waWQpOwpAQCAtMTg2LDggKzE4NSw3IEBACiAgICAgICAgICAgICByZXR1cm4gUHlPYmplY3RfUmljaENvbXBhcmUoc2VsZi0+ZGF0YSwgb3RoZXItPmRhdGEsIG9waWQpOwogICAgICAgICB9CiAgICAgfQotICAgIFB5X0lOQ1JFRihQeV9Ob3RJbXBsZW1lbnRlZCk7Ci0gICAgcmV0dXJuIFB5X05vdEltcGxlbWVudGVkOworICAgIFB5X1JFVFVSTl9OT1RJTVBMRU1FTlRFRDsKIH0KIAogUHlNYXBwaW5nTWV0aG9kcyBweXNxbGl0ZV9yb3dfYXNfbWFwcGluZyA9IHsKZGlmZiAtLWdpdCBhL01vZHVsZXMvX3NxbGl0ZS9zdGF0ZW1lbnQuYyBiL01vZHVsZXMvX3NxbGl0ZS9zdGF0ZW1lbnQuYwppbmRleCA4MGJjYzM4Li45ODg0ODYwIDEwMDY0NAotLS0gYS9Nb2R1bGVzL19zcWxpdGUvc3RhdGVtZW50LmMKKysrIGIvTW9kdWxlcy9fc3FsaXRlL3N0YXRlbWVudC5jCkBAIC04Nyw3ICs4Nyw3IEBACiAgICAgcmV0dXJuIHJjOwogfQogCi1pbnQgcHlzcWxpdGVfc3RhdGVtZW50X2JpbmRfcGFyYW1ldGVyKHB5c3FsaXRlX1N0YXRlbWVudCogc2VsZiwgaW50IHBvcywgUHlPYmplY3QqIHBhcmFtZXRlciwgaW50IGFsbG93XzhiaXRfY2hhcnMpCitpbnQgcHlzcWxpdGVfc3RhdGVtZW50X2JpbmRfcGFyYW1ldGVyKHB5c3FsaXRlX1N0YXRlbWVudCogc2VsZiwgaW50IHBvcywgUHlPYmplY3QqIHBhcmFtZXRlcikKIHsKICAgICBpbnQgcmMgPSBTUUxJVEVfT0s7CiAgICAgUFlfTE9OR19MT05HIGxvbmdsb25ndmFsOwpAQCAtMTY2LDcgKzE2Niw3IEBACiAgICAgfQogfQogCi12b2lkIHB5c3FsaXRlX3N0YXRlbWVudF9iaW5kX3BhcmFtZXRlcnMocHlzcWxpdGVfU3RhdGVtZW50KiBzZWxmLCBQeU9iamVjdCogcGFyYW1ldGVycywgaW50IGFsbG93XzhiaXRfY2hhcnMpCit2b2lkIHB5c3FsaXRlX3N0YXRlbWVudF9iaW5kX3BhcmFtZXRlcnMocHlzcWxpdGVfU3RhdGVtZW50KiBzZWxmLCBQeU9iamVjdCogcGFyYW1ldGVycykKIHsKICAgICBQeU9iamVjdCogY3VycmVudF9wYXJhbTsKICAgICBQeU9iamVjdCogYWRhcHRlZDsKQEAgLTIyMCw3ICsyMjAsNyBAQAogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgcmMgPSBweXNxbGl0ZV9zdGF0ZW1lbnRfYmluZF9wYXJhbWV0ZXIoc2VsZiwgaSArIDEsIGFkYXB0ZWQsIGFsbG93XzhiaXRfY2hhcnMpOworICAgICAgICAgICAgcmMgPSBweXNxbGl0ZV9zdGF0ZW1lbnRfYmluZF9wYXJhbWV0ZXIoc2VsZiwgaSArIDEsIGFkYXB0ZWQpOwogICAgICAgICAgICAgUHlfREVDUkVGKGFkYXB0ZWQpOwogCiAgICAgICAgICAgICBpZiAocmMgIT0gU1FMSVRFX09LKSB7CkBAIC0yNjUsNyArMjY1LDcgQEAKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIHJjID0gcHlzcWxpdGVfc3RhdGVtZW50X2JpbmRfcGFyYW1ldGVyKHNlbGYsIGksIGFkYXB0ZWQsIGFsbG93XzhiaXRfY2hhcnMpOworICAgICAgICAgICAgcmMgPSBweXNxbGl0ZV9zdGF0ZW1lbnRfYmluZF9wYXJhbWV0ZXIoc2VsZiwgaSwgYWRhcHRlZCk7CiAgICAgICAgICAgICBQeV9ERUNSRUYoYWRhcHRlZCk7CiAKICAgICAgICAgICAgIGlmIChyYyAhPSBTUUxJVEVfT0spIHsKQEAgLTM2OSwxMSArMzY5LDkgQEAKIAogdm9pZCBweXNxbGl0ZV9zdGF0ZW1lbnRfZGVhbGxvYyhweXNxbGl0ZV9TdGF0ZW1lbnQqIHNlbGYpCiB7Ci0gICAgaW50IHJjOwotCiAgICAgaWYgKHNlbGYtPnN0KSB7CiAgICAgICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKLSAgICAgICAgcmMgPSBzcWxpdGUzX2ZpbmFsaXplKHNlbGYtPnN0KTsKKyAgICAgICAgc3FsaXRlM19maW5hbGl6ZShzZWxmLT5zdCk7CiAgICAgICAgIFB5X0VORF9BTExPV19USFJFQURTCiAgICAgfQogCmRpZmYgLS1naXQgYS9Nb2R1bGVzL19zcWxpdGUvc3RhdGVtZW50LmggYi9Nb2R1bGVzL19zcWxpdGUvc3RhdGVtZW50LmgKaW5kZXggZTVkYTQyZS4uNDY4MTQ0MyAxMDA2NDQKLS0tIGEvTW9kdWxlcy9fc3FsaXRlL3N0YXRlbWVudC5oCisrKyBiL01vZHVsZXMvX3NxbGl0ZS9zdGF0ZW1lbnQuaApAQCAtNDYsOCArNDYsOCBAQAogaW50IHB5c3FsaXRlX3N0YXRlbWVudF9jcmVhdGUocHlzcWxpdGVfU3RhdGVtZW50KiBzZWxmLCBweXNxbGl0ZV9Db25uZWN0aW9uKiBjb25uZWN0aW9uLCBQeU9iamVjdCogc3FsKTsKIHZvaWQgcHlzcWxpdGVfc3RhdGVtZW50X2RlYWxsb2MocHlzcWxpdGVfU3RhdGVtZW50KiBzZWxmKTsKIAotaW50IHB5c3FsaXRlX3N0YXRlbWVudF9iaW5kX3BhcmFtZXRlcihweXNxbGl0ZV9TdGF0ZW1lbnQqIHNlbGYsIGludCBwb3MsIFB5T2JqZWN0KiBwYXJhbWV0ZXIsIGludCBhbGxvd184Yml0X2NoYXJzKTsKLXZvaWQgcHlzcWxpdGVfc3RhdGVtZW50X2JpbmRfcGFyYW1ldGVycyhweXNxbGl0ZV9TdGF0ZW1lbnQqIHNlbGYsIFB5T2JqZWN0KiBwYXJhbWV0ZXJzLCBpbnQgYWxsb3dfOGJpdF9jaGFycyk7CitpbnQgcHlzcWxpdGVfc3RhdGVtZW50X2JpbmRfcGFyYW1ldGVyKHB5c3FsaXRlX1N0YXRlbWVudCogc2VsZiwgaW50IHBvcywgUHlPYmplY3QqIHBhcmFtZXRlcik7Cit2b2lkIHB5c3FsaXRlX3N0YXRlbWVudF9iaW5kX3BhcmFtZXRlcnMocHlzcWxpdGVfU3RhdGVtZW50KiBzZWxmLCBQeU9iamVjdCogcGFyYW1ldGVycyk7CiAKIGludCBweXNxbGl0ZV9zdGF0ZW1lbnRfcmVjb21waWxlKHB5c3FsaXRlX1N0YXRlbWVudCogc2VsZiwgUHlPYmplY3QqIHBhcmFtZXRlcnMpOwogaW50IHB5c3FsaXRlX3N0YXRlbWVudF9maW5hbGl6ZShweXNxbGl0ZV9TdGF0ZW1lbnQqIHNlbGYpOwpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9fc3JlLmMgYi9Nb2R1bGVzL19zcmUuYwppbmRleCA0NzJiNWEzLi5jYjFmNzkxIDEwMDY0NAotLS0gYS9Nb2R1bGVzL19zcmUuYworKysgYi9Nb2R1bGVzL19zcmUuYwpAQCAtMTYzLDIxICsxNjMsMTcgQEAKIAogLyogdW5pY29kZS1zcGVjaWZpYyBjaGFyYWN0ZXIgcHJlZGljYXRlcyAqLwogCi0jaWYgZGVmaW5lZChIQVZFX1VOSUNPREUpCi0KLSNkZWZpbmUgU1JFX1VOSV9JU19ESUdJVChjaCkgUHlfVU5JQ09ERV9JU0RFQ0lNQUwoKFB5X1VOSUNPREUpKGNoKSkKLSNkZWZpbmUgU1JFX1VOSV9JU19TUEFDRShjaCkgUHlfVU5JQ09ERV9JU1NQQUNFKChQeV9VTklDT0RFKShjaCkpCi0jZGVmaW5lIFNSRV9VTklfSVNfTElORUJSRUFLKGNoKSBQeV9VTklDT0RFX0lTTElORUJSRUFLKChQeV9VTklDT0RFKShjaCkpCi0jZGVmaW5lIFNSRV9VTklfSVNfQUxOVU0oY2gpIFB5X1VOSUNPREVfSVNBTE5VTSgoUHlfVU5JQ09ERSkoY2gpKQotI2RlZmluZSBTUkVfVU5JX0lTX1dPUkQoY2gpIChTUkVfVU5JX0lTX0FMTlVNKChjaCkpIHx8IChjaCkgPT0gJ18nKQorI2RlZmluZSBTUkVfVU5JX0lTX0RJR0lUKGNoKSBQeV9VTklDT0RFX0lTREVDSU1BTChjaCkKKyNkZWZpbmUgU1JFX1VOSV9JU19TUEFDRShjaCkgUHlfVU5JQ09ERV9JU1NQQUNFKGNoKQorI2RlZmluZSBTUkVfVU5JX0lTX0xJTkVCUkVBSyhjaCkgUHlfVU5JQ09ERV9JU0xJTkVCUkVBSyhjaCkKKyNkZWZpbmUgU1JFX1VOSV9JU19BTE5VTShjaCkgUHlfVU5JQ09ERV9JU0FMTlVNKGNoKQorI2RlZmluZSBTUkVfVU5JX0lTX1dPUkQoY2gpIChTUkVfVU5JX0lTX0FMTlVNKGNoKSB8fCAoY2gpID09ICdfJykKIAogc3RhdGljIHVuc2lnbmVkIGludCBzcmVfbG93ZXJfdW5pY29kZSh1bnNpZ25lZCBpbnQgY2gpCiB7Ci0gICAgcmV0dXJuICh1bnNpZ25lZCBpbnQpIFB5X1VOSUNPREVfVE9MT1dFUigoUHlfVU5JQ09ERSkoY2gpKTsKKyAgICByZXR1cm4gKHVuc2lnbmVkIGludCkgUHlfVU5JQ09ERV9UT0xPV0VSKGNoKTsKIH0KIAotI2VuZGlmCi0KIExPQ0FMKGludCkKIHNyZV9jYXRlZ29yeShTUkVfQ09ERSBjYXRlZ29yeSwgdW5zaWduZWQgaW50IGNoKQogewpAQCAtMjA1LDcgKzIwMSw2IEBACiAgICAgY2FzZSBTUkVfQ0FURUdPUllfTE9DX05PVF9XT1JEOgogICAgICAgICByZXR1cm4gIVNSRV9MT0NfSVNfV09SRChjaCk7CiAKLSNpZiBkZWZpbmVkKEhBVkVfVU5JQ09ERSkKICAgICBjYXNlIFNSRV9DQVRFR09SWV9VTklfRElHSVQ6CiAgICAgICAgIHJldHVybiBTUkVfVU5JX0lTX0RJR0lUKGNoKTsKICAgICBjYXNlIFNSRV9DQVRFR09SWV9VTklfTk9UX0RJR0lUOgpAQCAtMjIyLDI0ICsyMTcsNiBAQAogICAgICAgICByZXR1cm4gU1JFX1VOSV9JU19MSU5FQlJFQUsoY2gpOwogICAgIGNhc2UgU1JFX0NBVEVHT1JZX1VOSV9OT1RfTElORUJSRUFLOgogICAgICAgICByZXR1cm4gIVNSRV9VTklfSVNfTElORUJSRUFLKGNoKTsKLSNlbHNlCi0gICAgY2FzZSBTUkVfQ0FURUdPUllfVU5JX0RJR0lUOgotICAgICAgICByZXR1cm4gU1JFX0lTX0RJR0lUKGNoKTsKLSAgICBjYXNlIFNSRV9DQVRFR09SWV9VTklfTk9UX0RJR0lUOgotICAgICAgICByZXR1cm4gIVNSRV9JU19ESUdJVChjaCk7Ci0gICAgY2FzZSBTUkVfQ0FURUdPUllfVU5JX1NQQUNFOgotICAgICAgICByZXR1cm4gU1JFX0lTX1NQQUNFKGNoKTsKLSAgICBjYXNlIFNSRV9DQVRFR09SWV9VTklfTk9UX1NQQUNFOgotICAgICAgICByZXR1cm4gIVNSRV9JU19TUEFDRShjaCk7Ci0gICAgY2FzZSBTUkVfQ0FURUdPUllfVU5JX1dPUkQ6Ci0gICAgICAgIHJldHVybiBTUkVfTE9DX0lTX1dPUkQoY2gpOwotICAgIGNhc2UgU1JFX0NBVEVHT1JZX1VOSV9OT1RfV09SRDoKLSAgICAgICAgcmV0dXJuICFTUkVfTE9DX0lTX1dPUkQoY2gpOwotICAgIGNhc2UgU1JFX0NBVEVHT1JZX1VOSV9MSU5FQlJFQUs6Ci0gICAgICAgIHJldHVybiBTUkVfSVNfTElORUJSRUFLKGNoKTsKLSAgICBjYXNlIFNSRV9DQVRFR09SWV9VTklfTk9UX0xJTkVCUkVBSzoKLSAgICAgICAgcmV0dXJuICFTUkVfSVNfTElORUJSRUFLKGNoKTsKLSNlbmRpZgogICAgIH0KICAgICByZXR1cm4gMDsKIH0KQEAgLTI4MCw2ICsyNTcsNyBAQAogLyogZ2VuZXJhdGUgOC1iaXQgdmVyc2lvbiAqLwogCiAjZGVmaW5lIFNSRV9DSEFSIHVuc2lnbmVkIGNoYXIKKyNkZWZpbmUgU1JFX0NIQVJHRVQoc3RhdGUsIGJ1ZiwgaW5kZXgpICgodW5zaWduZWQgY2hhciopYnVmKVtpbmRleF0KICNkZWZpbmUgU1JFX0FUIHNyZV9hdAogI2RlZmluZSBTUkVfQ09VTlQgc3JlX2NvdW50CiAjZGVmaW5lIFNSRV9DSEFSU0VUIHNyZV9jaGFyc2V0CkBAIC0yODcsMTUgKzI2NSwxMSBAQAogI2RlZmluZSBTUkVfTUFUQ0ggc3JlX21hdGNoCiAjZGVmaW5lIFNSRV9NQVRDSF9DT05URVhUIHNyZV9tYXRjaF9jb250ZXh0CiAjZGVmaW5lIFNSRV9TRUFSQ0ggc3JlX3NlYXJjaAotI2RlZmluZSBTUkVfTElURVJBTF9URU1QTEFURSBzcmVfbGl0ZXJhbF90ZW1wbGF0ZQotCi0jaWYgZGVmaW5lZChIQVZFX1VOSUNPREUpCiAKICNkZWZpbmUgU1JFX1JFQ1VSU0lWRQogI2luY2x1ZGUgIl9zcmUuYyIKICN1bmRlZiBTUkVfUkVDVVJTSVZFCiAKLSN1bmRlZiBTUkVfTElURVJBTF9URU1QTEFURQogI3VuZGVmIFNSRV9TRUFSQ0gKICN1bmRlZiBTUkVfTUFUQ0gKICN1bmRlZiBTUkVfTUFUQ0hfQ09OVEVYVApAQCAtMzA0LDEwICsyNzgsMTUgQEAKICN1bmRlZiBTUkVfQ09VTlQKICN1bmRlZiBTUkVfQVQKICN1bmRlZiBTUkVfQ0hBUgorI3VuZGVmIFNSRV9DSEFSR0VUCiAKLS8qIGdlbmVyYXRlIDE2LWJpdCB1bmljb2RlIHZlcnNpb24gKi8KKy8qIGdlbmVyYXRlIDgvMTYvMzItYml0IHVuaWNvZGUgdmVyc2lvbiAqLwogCi0jZGVmaW5lIFNSRV9DSEFSIFB5X1VOSUNPREUKKyNkZWZpbmUgU1JFX0NIQVIgdm9pZAorI2RlZmluZSBTUkVfQ0hBUkdFVChzdGF0ZSwgYnVmLCBpbmRleCkgXAorICAgICgoc3RhdGUtPmNoYXJzaXplPT0xKSA/ICgoUHlfVUNTMSopYnVmKVtpbmRleF0gOiBcCisgICAgIChzdGF0ZS0+Y2hhcnNpemU9PTIpID8gKChQeV9VQ1MyKilidWYpW2luZGV4XSA6IFwKKyAgICAgKChQeV9VQ1M0KilidWYpW2luZGV4XSkKICNkZWZpbmUgU1JFX0FUIHNyZV91YXQKICNkZWZpbmUgU1JFX0NPVU5UIHNyZV91Y291bnQKICNkZWZpbmUgU1JFX0NIQVJTRVQgc3JlX3VjaGFyc2V0CkBAIC0zMTUsOCArMjk0LDYgQEAKICNkZWZpbmUgU1JFX01BVENIIHNyZV91bWF0Y2gKICNkZWZpbmUgU1JFX01BVENIX0NPTlRFWFQgc3JlX3VtYXRjaF9jb250ZXh0CiAjZGVmaW5lIFNSRV9TRUFSQ0ggc3JlX3VzZWFyY2gKLSNkZWZpbmUgU1JFX0xJVEVSQUxfVEVNUExBVEUgc3JlX3VsaXRlcmFsX3RlbXBsYXRlCi0jZW5kaWYKIAogI2VuZGlmIC8qIFNSRV9SRUNVUlNJVkUgKi8KIApAQCAtMzI3LDcgKzMwNCw3IEBACiAgICBzZXR0aW5ncyAqLwogCiBMT0NBTChpbnQpCi1TUkVfQVQoU1JFX1NUQVRFKiBzdGF0ZSwgU1JFX0NIQVIqIHB0ciwgU1JFX0NPREUgYXQpCitTUkVfQVQoU1JFX1NUQVRFKiBzdGF0ZSwgY2hhciogcHRyLCBTUkVfQ09ERSBhdCkKIHsKICAgICAvKiBjaGVjayBpZiBwb2ludGVyIGlzIGF0IGdpdmVuIHBvc2l0aW9uICovCiAKQEAgLTM0MSwxNiArMzE4LDE2IEBACiAKICAgICBjYXNlIFNSRV9BVF9CRUdJTk5JTkdfTElORToKICAgICAgICAgcmV0dXJuICgodm9pZCopIHB0ciA9PSBzdGF0ZS0+YmVnaW5uaW5nIHx8Ci0gICAgICAgICAgICAgICAgU1JFX0lTX0xJTkVCUkVBSygoaW50KSBwdHJbLTFdKSk7CisgICAgICAgICAgICAgICAgU1JFX0lTX0xJTkVCUkVBSygoaW50KSBTUkVfQ0hBUkdFVChzdGF0ZSwgcHRyLCAtMSkpKTsKIAogICAgIGNhc2UgU1JFX0FUX0VORDoKLSAgICAgICAgcmV0dXJuICgoKHZvaWQqKSAocHRyKzEpID09IHN0YXRlLT5lbmQgJiYKLSAgICAgICAgICAgICAgICAgU1JFX0lTX0xJTkVCUkVBSygoaW50KSBwdHJbMF0pKSB8fAorICAgICAgICByZXR1cm4gKCgodm9pZCopIChwdHIrc3RhdGUtPmNoYXJzaXplKSA9PSBzdGF0ZS0+ZW5kICYmCisgICAgICAgICAgICAgICAgIFNSRV9JU19MSU5FQlJFQUsoKGludCkgU1JFX0NIQVJHRVQoc3RhdGUsIHB0ciwgMCkpKSB8fAogICAgICAgICAgICAgICAgICgodm9pZCopIHB0ciA9PSBzdGF0ZS0+ZW5kKSk7CiAKICAgICBjYXNlIFNSRV9BVF9FTkRfTElORToKICAgICAgICAgcmV0dXJuICgodm9pZCopIHB0ciA9PSBzdGF0ZS0+ZW5kIHx8Ci0gICAgICAgICAgICAgICAgU1JFX0lTX0xJTkVCUkVBSygoaW50KSBwdHJbMF0pKTsKKyAgICAgICAgICAgICAgICBTUkVfSVNfTElORUJSRUFLKChpbnQpIFNSRV9DSEFSR0VUKHN0YXRlLCBwdHIsIDApKSk7CiAKICAgICBjYXNlIFNSRV9BVF9FTkRfU1RSSU5HOgogICAgICAgICByZXR1cm4gKCh2b2lkKikgcHRyID09IHN0YXRlLT5lbmQpOwpAQCAtMzU5LDU3ICszMzYsNTUgQEAKICAgICAgICAgaWYgKHN0YXRlLT5iZWdpbm5pbmcgPT0gc3RhdGUtPmVuZCkKICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICB0aGF0cCA9ICgodm9pZCopIHB0ciA+IHN0YXRlLT5iZWdpbm5pbmcpID8KLSAgICAgICAgICAgIFNSRV9JU19XT1JEKChpbnQpIHB0clstMV0pIDogMDsKKyAgICAgICAgICAgIFNSRV9JU19XT1JEKChpbnQpIFNSRV9DSEFSR0VUKHN0YXRlLCBwdHIsIC0xKSkgOiAwOwogICAgICAgICB0aGlzcCA9ICgodm9pZCopIHB0ciA8IHN0YXRlLT5lbmQpID8KLSAgICAgICAgICAgIFNSRV9JU19XT1JEKChpbnQpIHB0clswXSkgOiAwOworICAgICAgICAgICAgU1JFX0lTX1dPUkQoKGludCkgU1JFX0NIQVJHRVQoc3RhdGUsIHB0ciwgMCkpIDogMDsKICAgICAgICAgcmV0dXJuIHRoaXNwICE9IHRoYXRwOwogCiAgICAgY2FzZSBTUkVfQVRfTk9OX0JPVU5EQVJZOgogICAgICAgICBpZiAoc3RhdGUtPmJlZ2lubmluZyA9PSBzdGF0ZS0+ZW5kKQogICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgIHRoYXRwID0gKCh2b2lkKikgcHRyID4gc3RhdGUtPmJlZ2lubmluZykgPwotICAgICAgICAgICAgU1JFX0lTX1dPUkQoKGludCkgcHRyWy0xXSkgOiAwOworICAgICAgICAgICAgU1JFX0lTX1dPUkQoKGludCkgU1JFX0NIQVJHRVQoc3RhdGUsIHB0ciwgLTEpKSA6IDA7CiAgICAgICAgIHRoaXNwID0gKCh2b2lkKikgcHRyIDwgc3RhdGUtPmVuZCkgPwotICAgICAgICAgICAgU1JFX0lTX1dPUkQoKGludCkgcHRyWzBdKSA6IDA7CisgICAgICAgICAgICBTUkVfSVNfV09SRCgoaW50KSBTUkVfQ0hBUkdFVChzdGF0ZSwgcHRyLCAwKSkgOiAwOwogICAgICAgICByZXR1cm4gdGhpc3AgPT0gdGhhdHA7CiAKICAgICBjYXNlIFNSRV9BVF9MT0NfQk9VTkRBUlk6CiAgICAgICAgIGlmIChzdGF0ZS0+YmVnaW5uaW5nID09IHN0YXRlLT5lbmQpCiAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgdGhhdHAgPSAoKHZvaWQqKSBwdHIgPiBzdGF0ZS0+YmVnaW5uaW5nKSA/Ci0gICAgICAgICAgICBTUkVfTE9DX0lTX1dPUkQoKGludCkgcHRyWy0xXSkgOiAwOworICAgICAgICAgICAgU1JFX0xPQ19JU19XT1JEKChpbnQpIFNSRV9DSEFSR0VUKHN0YXRlLCBwdHIsIC0xKSkgOiAwOwogICAgICAgICB0aGlzcCA9ICgodm9pZCopIHB0ciA8IHN0YXRlLT5lbmQpID8KLSAgICAgICAgICAgIFNSRV9MT0NfSVNfV09SRCgoaW50KSBwdHJbMF0pIDogMDsKKyAgICAgICAgICAgIFNSRV9MT0NfSVNfV09SRCgoaW50KSBTUkVfQ0hBUkdFVChzdGF0ZSwgcHRyLCAwKSkgOiAwOwogICAgICAgICByZXR1cm4gdGhpc3AgIT0gdGhhdHA7CiAKICAgICBjYXNlIFNSRV9BVF9MT0NfTk9OX0JPVU5EQVJZOgogICAgICAgICBpZiAoc3RhdGUtPmJlZ2lubmluZyA9PSBzdGF0ZS0+ZW5kKQogICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgIHRoYXRwID0gKCh2b2lkKikgcHRyID4gc3RhdGUtPmJlZ2lubmluZykgPwotICAgICAgICAgICAgU1JFX0xPQ19JU19XT1JEKChpbnQpIHB0clstMV0pIDogMDsKKyAgICAgICAgICAgIFNSRV9MT0NfSVNfV09SRCgoaW50KSBTUkVfQ0hBUkdFVChzdGF0ZSwgcHRyLCAtMSkpIDogMDsKICAgICAgICAgdGhpc3AgPSAoKHZvaWQqKSBwdHIgPCBzdGF0ZS0+ZW5kKSA/Ci0gICAgICAgICAgICBTUkVfTE9DX0lTX1dPUkQoKGludCkgcHRyWzBdKSA6IDA7CisgICAgICAgICAgICBTUkVfTE9DX0lTX1dPUkQoKGludCkgU1JFX0NIQVJHRVQoc3RhdGUsIHB0ciwgMCkpIDogMDsKICAgICAgICAgcmV0dXJuIHRoaXNwID09IHRoYXRwOwogCi0jaWYgZGVmaW5lZChIQVZFX1VOSUNPREUpCiAgICAgY2FzZSBTUkVfQVRfVU5JX0JPVU5EQVJZOgogICAgICAgICBpZiAoc3RhdGUtPmJlZ2lubmluZyA9PSBzdGF0ZS0+ZW5kKQogICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgIHRoYXRwID0gKCh2b2lkKikgcHRyID4gc3RhdGUtPmJlZ2lubmluZykgPwotICAgICAgICAgICAgU1JFX1VOSV9JU19XT1JEKChpbnQpIHB0clstMV0pIDogMDsKKyAgICAgICAgICAgIFNSRV9VTklfSVNfV09SRCgoaW50KSBTUkVfQ0hBUkdFVChzdGF0ZSwgcHRyLCAtMSkpIDogMDsKICAgICAgICAgdGhpc3AgPSAoKHZvaWQqKSBwdHIgPCBzdGF0ZS0+ZW5kKSA/Ci0gICAgICAgICAgICBTUkVfVU5JX0lTX1dPUkQoKGludCkgcHRyWzBdKSA6IDA7CisgICAgICAgICAgICBTUkVfVU5JX0lTX1dPUkQoKGludCkgU1JFX0NIQVJHRVQoc3RhdGUsIHB0ciwgMCkpIDogMDsKICAgICAgICAgcmV0dXJuIHRoaXNwICE9IHRoYXRwOwogCiAgICAgY2FzZSBTUkVfQVRfVU5JX05PTl9CT1VOREFSWToKICAgICAgICAgaWYgKHN0YXRlLT5iZWdpbm5pbmcgPT0gc3RhdGUtPmVuZCkKICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICB0aGF0cCA9ICgodm9pZCopIHB0ciA+IHN0YXRlLT5iZWdpbm5pbmcpID8KLSAgICAgICAgICAgIFNSRV9VTklfSVNfV09SRCgoaW50KSBwdHJbLTFdKSA6IDA7CisgICAgICAgICAgICBTUkVfVU5JX0lTX1dPUkQoKGludCkgU1JFX0NIQVJHRVQoc3RhdGUsIHB0ciwgLTEpKSA6IDA7CiAgICAgICAgIHRoaXNwID0gKCh2b2lkKikgcHRyIDwgc3RhdGUtPmVuZCkgPwotICAgICAgICAgICAgU1JFX1VOSV9JU19XT1JEKChpbnQpIHB0clswXSkgOiAwOworICAgICAgICAgICAgU1JFX1VOSV9JU19XT1JEKChpbnQpIFNSRV9DSEFSR0VUKHN0YXRlLCBwdHIsIDApKSA6IDA7CiAgICAgICAgIHJldHVybiB0aGlzcCA9PSB0aGF0cDsKLSNlbmRpZgogCiAgICAgfQogCkBAIC00NzYsNyArNDUxLDcgQEAKICAgICAgICAgICAgIGNvdW50ID0gKihzZXQrKyk7CiAKICAgICAgICAgICAgIGlmIChzaXplb2YoU1JFX0NPREUpID09IDIpIHsKLSAgICAgICAgICAgICAgICBibG9jayA9ICgodW5zaWduZWQgY2hhciopc2V0KVtjaCA+PiA4XTsKKyAgICAgICAgICAgICAgICBibG9jayA9ICgoY2hhciopc2V0KVtjaCA+PiA4XTsKICAgICAgICAgICAgICAgICBzZXQgKz0gMTI4OwogICAgICAgICAgICAgICAgIGlmIChzZXRbYmxvY2sqMTYgKyAoKGNoICYgMjU1KT4+NCldICYgKDEgPDwgKGNoICYgMTUpKSkKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9rOwpAQCAtNDg2LDcgKzQ2MSw3IEBACiAgICAgICAgICAgICAgICAgLyogIShjICYgfk4pID09IChjIDwgTisxKSBmb3IgYW55IHVuc2lnbmVkIGMsIHRoaXMgYXZvaWRzCiAgICAgICAgICAgICAgICAgICogd2FybmluZ3Mgd2hlbiBjJ3MgdHlwZSBzdXBwb3J0cyBvbmx5IG51bWJlcnMgPCBOKzEgKi8KICAgICAgICAgICAgICAgICBpZiAoIShjaCAmIH42NTUzNSkpCi0gICAgICAgICAgICAgICAgICAgIGJsb2NrID0gKCh1bnNpZ25lZCBjaGFyKilzZXQpW2NoID4+IDhdOworICAgICAgICAgICAgICAgICAgICBibG9jayA9ICgoY2hhciopc2V0KVtjaCA+PiA4XTsKICAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICAgIGJsb2NrID0gLTE7CiAgICAgICAgICAgICAgICAgc2V0ICs9IDY0OwpAQCAtNTEyLDI4ICs0ODcsMjkgQEAKIFNSRV9DT1VOVChTUkVfU1RBVEUqIHN0YXRlLCBTUkVfQ09ERSogcGF0dGVybiwgUHlfc3NpemVfdCBtYXhjb3VudCkKIHsKICAgICBTUkVfQ09ERSBjaHI7Ci0gICAgU1JFX0NIQVIqIHB0ciA9IChTUkVfQ0hBUiAqKXN0YXRlLT5wdHI7Ci0gICAgU1JFX0NIQVIqIGVuZCA9IChTUkVfQ0hBUiAqKXN0YXRlLT5lbmQ7CisgICAgY2hhciogcHRyID0gKGNoYXIgKilzdGF0ZS0+cHRyOworICAgIGNoYXIqIGVuZCA9IChjaGFyICopc3RhdGUtPmVuZDsKICAgICBQeV9zc2l6ZV90IGk7CiAKICAgICAvKiBhZGp1c3QgZW5kICovCiAgICAgaWYgKG1heGNvdW50IDwgZW5kIC0gcHRyICYmIG1heGNvdW50ICE9IDY1NTM1KQotICAgICAgICBlbmQgPSBwdHIgKyBtYXhjb3VudDsKKyAgICAgICAgZW5kID0gcHRyICsgbWF4Y291bnQqc3RhdGUtPmNoYXJzaXplOwogCiAgICAgc3dpdGNoIChwYXR0ZXJuWzBdKSB7CiAKICAgICBjYXNlIFNSRV9PUF9JTjoKICAgICAgICAgLyogcmVwZWF0ZWQgc2V0ICovCiAgICAgICAgIFRSQUNFKCgifCVwfCVwfENPVU5UIElOXG4iLCBwYXR0ZXJuLCBwdHIpKTsKLSAgICAgICAgd2hpbGUgKHB0ciA8IGVuZCAmJiBTUkVfQ0hBUlNFVChwYXR0ZXJuICsgMiwgKnB0cikpCi0gICAgICAgICAgICBwdHIrKzsKKyAgICAgICAgd2hpbGUgKHB0ciA8IGVuZCAmJgorICAgICAgICAgICAgICAgU1JFX0NIQVJTRVQocGF0dGVybiArIDIsIFNSRV9DSEFSR0VUKHN0YXRlLCBwdHIsIDApKSkKKyAgICAgICAgICAgIHB0ciArPSBzdGF0ZS0+Y2hhcnNpemU7CiAgICAgICAgIGJyZWFrOwogCiAgICAgY2FzZSBTUkVfT1BfQU5ZOgogICAgICAgICAvKiByZXBlYXRlZCBkb3Qgd2lsZGNhcmQuICovCiAgICAgICAgIFRSQUNFKCgifCVwfCVwfENPVU5UIEFOWVxuIiwgcGF0dGVybiwgcHRyKSk7Ci0gICAgICAgIHdoaWxlIChwdHIgPCBlbmQgJiYgIVNSRV9JU19MSU5FQlJFQUsoKnB0cikpCi0gICAgICAgICAgICBwdHIrKzsKKyAgICAgICAgd2hpbGUgKHB0ciA8IGVuZCAmJiAhU1JFX0lTX0xJTkVCUkVBSyhTUkVfQ0hBUkdFVChzdGF0ZSwgcHRyLCAwKSkpCisgICAgICAgICAgICBwdHIgKz0gc3RhdGUtPmNoYXJzaXplOwogICAgICAgICBicmVhazsKIAogICAgIGNhc2UgU1JFX09QX0FOWV9BTEw6CkBAIC01NDcsMzggKzUyMywzOCBAQAogICAgICAgICAvKiByZXBlYXRlZCBsaXRlcmFsICovCiAgICAgICAgIGNociA9IHBhdHRlcm5bMV07CiAgICAgICAgIFRSQUNFKCgifCVwfCVwfENPVU5UIExJVEVSQUwgJWRcbiIsIHBhdHRlcm4sIHB0ciwgY2hyKSk7Ci0gICAgICAgIHdoaWxlIChwdHIgPCBlbmQgJiYgKFNSRV9DT0RFKSAqcHRyID09IGNocikKLSAgICAgICAgICAgIHB0cisrOworICAgICAgICB3aGlsZSAocHRyIDwgZW5kICYmIChTUkVfQ09ERSkgU1JFX0NIQVJHRVQoc3RhdGUsIHB0ciwgMCkgPT0gY2hyKQorICAgICAgICAgICAgcHRyICs9IHN0YXRlLT5jaGFyc2l6ZTsKICAgICAgICAgYnJlYWs7CiAKICAgICBjYXNlIFNSRV9PUF9MSVRFUkFMX0lHTk9SRToKICAgICAgICAgLyogcmVwZWF0ZWQgbGl0ZXJhbCAqLwogICAgICAgICBjaHIgPSBwYXR0ZXJuWzFdOwogICAgICAgICBUUkFDRSgoInwlcHwlcHxDT1VOVCBMSVRFUkFMX0lHTk9SRSAlZFxuIiwgcGF0dGVybiwgcHRyLCBjaHIpKTsKLSAgICAgICAgd2hpbGUgKHB0ciA8IGVuZCAmJiAoU1JFX0NPREUpIHN0YXRlLT5sb3dlcigqcHRyKSA9PSBjaHIpCi0gICAgICAgICAgICBwdHIrKzsKKyAgICAgICAgd2hpbGUgKHB0ciA8IGVuZCAmJiAoU1JFX0NPREUpIHN0YXRlLT5sb3dlcihTUkVfQ0hBUkdFVChzdGF0ZSwgcHRyLCAwKSkgPT0gY2hyKQorICAgICAgICAgICAgcHRyICs9IHN0YXRlLT5jaGFyc2l6ZTsKICAgICAgICAgYnJlYWs7CiAKICAgICBjYXNlIFNSRV9PUF9OT1RfTElURVJBTDoKICAgICAgICAgLyogcmVwZWF0ZWQgbm9uLWxpdGVyYWwgKi8KICAgICAgICAgY2hyID0gcGF0dGVyblsxXTsKICAgICAgICAgVFJBQ0UoKCJ8JXB8JXB8Q09VTlQgTk9UX0xJVEVSQUwgJWRcbiIsIHBhdHRlcm4sIHB0ciwgY2hyKSk7Ci0gICAgICAgIHdoaWxlIChwdHIgPCBlbmQgJiYgKFNSRV9DT0RFKSAqcHRyICE9IGNocikKLSAgICAgICAgICAgIHB0cisrOworICAgICAgICB3aGlsZSAocHRyIDwgZW5kICYmIChTUkVfQ09ERSkgU1JFX0NIQVJHRVQoc3RhdGUsIHB0ciwgMCkgIT0gY2hyKQorICAgICAgICAgICAgcHRyICs9IHN0YXRlLT5jaGFyc2l6ZTsKICAgICAgICAgYnJlYWs7CiAKICAgICBjYXNlIFNSRV9PUF9OT1RfTElURVJBTF9JR05PUkU6CiAgICAgICAgIC8qIHJlcGVhdGVkIG5vbi1saXRlcmFsICovCiAgICAgICAgIGNociA9IHBhdHRlcm5bMV07CiAgICAgICAgIFRSQUNFKCgifCVwfCVwfENPVU5UIE5PVF9MSVRFUkFMX0lHTk9SRSAlZFxuIiwgcGF0dGVybiwgcHRyLCBjaHIpKTsKLSAgICAgICAgd2hpbGUgKHB0ciA8IGVuZCAmJiAoU1JFX0NPREUpIHN0YXRlLT5sb3dlcigqcHRyKSAhPSBjaHIpCi0gICAgICAgICAgICBwdHIrKzsKKyAgICAgICAgd2hpbGUgKHB0ciA8IGVuZCAmJiAoU1JFX0NPREUpIHN0YXRlLT5sb3dlcihTUkVfQ0hBUkdFVChzdGF0ZSwgcHRyLCAwKSkgIT0gY2hyKQorICAgICAgICAgICAgcHRyICs9IHN0YXRlLT5jaGFyc2l6ZTsKICAgICAgICAgYnJlYWs7CiAKICAgICBkZWZhdWx0OgogICAgICAgICAvKiByZXBlYXRlZCBzaW5nbGUgY2hhcmFjdGVyIHBhdHRlcm4gKi8KICAgICAgICAgVFJBQ0UoKCJ8JXB8JXB8Q09VTlQgU1VCUEFUVEVSTlxuIiwgcGF0dGVybiwgcHRyKSk7Ci0gICAgICAgIHdoaWxlICgoU1JFX0NIQVIqKSBzdGF0ZS0+cHRyIDwgZW5kKSB7CisgICAgICAgIHdoaWxlICgoY2hhciopIHN0YXRlLT5wdHIgPCBlbmQpIHsKICAgICAgICAgICAgIGkgPSBTUkVfTUFUQ0goc3RhdGUsIHBhdHRlcm4pOwogICAgICAgICAgICAgaWYgKGkgPCAwKQogICAgICAgICAgICAgICAgIHJldHVybiBpOwpAQCAtNTg2LDEyICs1NjIsMTIgQEAKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgICAgICBUUkFDRSgoInwlcHwlcHxDT1VOVCAlZFxuIiwgcGF0dGVybiwgcHRyLAotICAgICAgICAgICAgICAgKFNSRV9DSEFSKikgc3RhdGUtPnB0ciAtIHB0cikpOwotICAgICAgICByZXR1cm4gKFNSRV9DSEFSKikgc3RhdGUtPnB0ciAtIHB0cjsKKyAgICAgICAgICAgICAgICgoY2hhciopc3RhdGUtPnB0ciAtIHB0cikvc3RhdGUtPmNoYXJzaXplKSk7CisgICAgICAgIHJldHVybiAoKGNoYXIqKXN0YXRlLT5wdHIgLSBwdHIpL3N0YXRlLT5jaGFyc2l6ZTsKICAgICB9CiAKLSAgICBUUkFDRSgoInwlcHwlcHxDT1VOVCAlZFxuIiwgcGF0dGVybiwgcHRyLCBwdHIgLSAoU1JFX0NIQVIqKSBzdGF0ZS0+cHRyKSk7Ci0gICAgcmV0dXJuIHB0ciAtIChTUkVfQ0hBUiopIHN0YXRlLT5wdHI7CisgICAgVFJBQ0UoKCJ8JXB8JXB8Q09VTlQgJWRcbiIsIHBhdHRlcm4sIHB0ciwgKHB0ciAtIChjaGFyKikgc3RhdGUtPnB0cikvc3RhdGUtPmNoYXJzaXplKSk7CisgICAgcmV0dXJuIChwdHIgLSAoY2hhciopIHN0YXRlLT5wdHIpL3N0YXRlLT5jaGFyc2l6ZTsKIH0KIAogI2lmIDAgLyogbm90IHVzZWQgaW4gdGhpcyByZWxlYXNlICovCkBAIC02MDIsOCArNTc4LDggQEAKICAgICAgICByZXR1cm5zIHRoZSBudW1iZXIgb2YgU1JFX0NPREUgb2JqZWN0cyB0byBza2lwIGlmIHN1Y2Nlc3NmdWwsIDAKICAgICAgICBpZiBubyBtYXRjaCAqLwogCi0gICAgU1JFX0NIQVIqIGVuZCA9IHN0YXRlLT5lbmQ7Ci0gICAgU1JFX0NIQVIqIHB0ciA9IHN0YXRlLT5wdHI7CisgICAgY2hhciogZW5kID0gc3RhdGUtPmVuZDsKKyAgICBjaGFyKiBwdHIgPSBzdGF0ZS0+cHRyOwogICAgIFB5X3NzaXplX3QgaTsKIAogICAgIC8qIGNoZWNrIG1pbmltYWwgbGVuZ3RoICovCkBAIC02MTQsNyArNTkwLDcgQEAKICAgICBpZiAocGF0dGVyblsyXSAmIFNSRV9JTkZPX1BSRUZJWCAmJiBwYXR0ZXJuWzVdID4gMSkgewogICAgICAgICAvKiA8bGVuZ3RoPiA8c2tpcD4gPHByZWZpeCBkYXRhPiA8b3ZlcmxhcCBkYXRhPiAqLwogICAgICAgICBmb3IgKGkgPSAwOyBpIDwgcGF0dGVybls1XTsgaSsrKQotICAgICAgICAgICAgaWYgKChTUkVfQ09ERSkgcHRyW2ldICE9IHBhdHRlcm5bNyArIGldKQorICAgICAgICAgICAgaWYgKChTUkVfQ09ERSkgU1JFX0NIQVJHRVQoc3RhdGUsIHB0ciwgaSkgIT0gcGF0dGVybls3ICsgaV0pCiAgICAgICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgIHJldHVybiBwYXR0ZXJuWzBdICsgMiAqIHBhdHRlcm5bNl07CiAgICAgfQpAQCAtNzgzLDcgKzc1OSw3IEBACiB0eXBlZGVmIHN0cnVjdCB7CiAgICAgUHlfc3NpemVfdCBsYXN0X2N0eF9wb3M7CiAgICAgUHlfc3NpemVfdCBqdW1wOwotICAgIFNSRV9DSEFSKiBwdHI7CisgICAgY2hhciogcHRyOwogICAgIFNSRV9DT0RFKiBwYXR0ZXJuOwogICAgIFB5X3NzaXplX3QgY291bnQ7CiAgICAgUHlfc3NpemVfdCBsYXN0bWFyazsKQEAgLTc5OSw3ICs3NzUsNyBAQAogTE9DQUwoUHlfc3NpemVfdCkKIFNSRV9NQVRDSChTUkVfU1RBVEUqIHN0YXRlLCBTUkVfQ09ERSogcGF0dGVybikKIHsKLSAgICBTUkVfQ0hBUiogZW5kID0gKFNSRV9DSEFSICopc3RhdGUtPmVuZDsKKyAgICBjaGFyKiBlbmQgPSAoY2hhciopc3RhdGUtPmVuZDsKICAgICBQeV9zc2l6ZV90IGFsbG9jX3BvcywgY3R4X3BvcyA9IC0xOwogICAgIFB5X3NzaXplX3QgaSwgcmV0ID0gMDsKICAgICBQeV9zc2l6ZV90IGp1bXA7CkBAIC04MTgsMTIgKzc5NCwxMiBAQAogCiBlbnRyYW5jZToKIAotICAgIGN0eC0+cHRyID0gKFNSRV9DSEFSICopc3RhdGUtPnB0cjsKKyAgICBjdHgtPnB0ciA9IChjaGFyICopc3RhdGUtPnB0cjsKIAogICAgIGlmIChjdHgtPnBhdHRlcm5bMF0gPT0gU1JFX09QX0lORk8pIHsKICAgICAgICAgLyogb3B0aW1pemF0aW9uIGluZm8gYmxvY2sgKi8KICAgICAgICAgLyogPElORk8+IDwxPXNraXA+IDwyPWZsYWdzPiA8Mz1taW4+IC4uLiAqLwotICAgICAgICBpZiAoY3R4LT5wYXR0ZXJuWzNdICYmIChlbmQgLSBjdHgtPnB0cikgPCBjdHgtPnBhdHRlcm5bM10pIHsKKyAgICAgICAgaWYgKGN0eC0+cGF0dGVyblszXSAmJiAoZW5kIC0gY3R4LT5wdHIpL3N0YXRlLT5jaGFyc2l6ZSA8IGN0eC0+cGF0dGVyblszXSkgewogICAgICAgICAgICAgVFJBQ0UoKCJyZWplY3QgKGdvdCAlZCBjaGFycywgbmVlZCAlZClcbiIsCiAgICAgICAgICAgICAgICAgICAgKGVuZCAtIGN0eC0+cHRyKSwgY3R4LT5wYXR0ZXJuWzNdKSk7CiAgICAgICAgICAgICBSRVRVUk5fRkFJTFVSRTsKQEAgLTg2NSwxMCArODQxLDEwIEBACiAgICAgICAgICAgICAvKiA8TElURVJBTD4gPGNvZGU+ICovCiAgICAgICAgICAgICBUUkFDRSgoInwlcHwlcHxMSVRFUkFMICVkXG4iLCBjdHgtPnBhdHRlcm4sCiAgICAgICAgICAgICAgICAgICAgY3R4LT5wdHIsICpjdHgtPnBhdHRlcm4pKTsKLSAgICAgICAgICAgIGlmIChjdHgtPnB0ciA+PSBlbmQgfHwgKFNSRV9DT0RFKSBjdHgtPnB0clswXSAhPSBjdHgtPnBhdHRlcm5bMF0pCisgICAgICAgICAgICBpZiAoY3R4LT5wdHIgPj0gZW5kIHx8IChTUkVfQ09ERSkgU1JFX0NIQVJHRVQoc3RhdGUsIGN0eC0+cHRyLCAwKSAhPSBjdHgtPnBhdHRlcm5bMF0pCiAgICAgICAgICAgICAgICAgUkVUVVJOX0ZBSUxVUkU7CiAgICAgICAgICAgICBjdHgtPnBhdHRlcm4rKzsKLSAgICAgICAgICAgIGN0eC0+cHRyKys7CisgICAgICAgICAgICBjdHgtPnB0ciArPSBzdGF0ZS0+Y2hhcnNpemU7CiAgICAgICAgICAgICBicmVhazsKIAogICAgICAgICBjYXNlIFNSRV9PUF9OT1RfTElURVJBTDoKQEAgLTg3NiwxMCArODUyLDEwIEBACiAgICAgICAgICAgICAvKiA8Tk9UX0xJVEVSQUw+IDxjb2RlPiAqLwogICAgICAgICAgICAgVFJBQ0UoKCJ8JXB8JXB8Tk9UX0xJVEVSQUwgJWRcbiIsIGN0eC0+cGF0dGVybiwKICAgICAgICAgICAgICAgICAgICBjdHgtPnB0ciwgKmN0eC0+cGF0dGVybikpOwotICAgICAgICAgICAgaWYgKGN0eC0+cHRyID49IGVuZCB8fCAoU1JFX0NPREUpIGN0eC0+cHRyWzBdID09IGN0eC0+cGF0dGVyblswXSkKKyAgICAgICAgICAgIGlmIChjdHgtPnB0ciA+PSBlbmQgfHwgKFNSRV9DT0RFKSBTUkVfQ0hBUkdFVChzdGF0ZSwgY3R4LT5wdHIsIDApID09IGN0eC0+cGF0dGVyblswXSkKICAgICAgICAgICAgICAgICBSRVRVUk5fRkFJTFVSRTsKICAgICAgICAgICAgIGN0eC0+cGF0dGVybisrOwotICAgICAgICAgICAgY3R4LT5wdHIrKzsKKyAgICAgICAgICAgIGN0eC0+cHRyICs9IHN0YXRlLT5jaGFyc2l6ZTsKICAgICAgICAgICAgIGJyZWFrOwogCiAgICAgICAgIGNhc2UgU1JFX09QX1NVQ0NFU1M6CkBAIC05MDIsMTkgKzg3OCwxOSBAQAogICAgICAgICAgICAgLyogPENBVEVHT1JZPiA8Y29kZT4gKi8KICAgICAgICAgICAgIFRSQUNFKCgifCVwfCVwfENBVEVHT1JZICVkXG4iLCBjdHgtPnBhdHRlcm4sCiAgICAgICAgICAgICAgICAgICAgY3R4LT5wdHIsICpjdHgtPnBhdHRlcm4pKTsKLSAgICAgICAgICAgIGlmIChjdHgtPnB0ciA+PSBlbmQgfHwgIXNyZV9jYXRlZ29yeShjdHgtPnBhdHRlcm5bMF0sIGN0eC0+cHRyWzBdKSkKKyAgICAgICAgICAgIGlmIChjdHgtPnB0ciA+PSBlbmQgfHwgIXNyZV9jYXRlZ29yeShjdHgtPnBhdHRlcm5bMF0sIFNSRV9DSEFSR0VUKHN0YXRlLCBjdHgtPnB0ciwgMCkpKQogICAgICAgICAgICAgICAgIFJFVFVSTl9GQUlMVVJFOwogICAgICAgICAgICAgY3R4LT5wYXR0ZXJuKys7Ci0gICAgICAgICAgICBjdHgtPnB0cisrOworICAgICAgICAgICAgY3R4LT5wdHIgKz0gc3RhdGUtPmNoYXJzaXplOwogICAgICAgICAgICAgYnJlYWs7CiAKICAgICAgICAgY2FzZSBTUkVfT1BfQU5ZOgogICAgICAgICAgICAgLyogbWF0Y2ggYW55dGhpbmcgKGV4Y2VwdCBhIG5ld2xpbmUpICovCiAgICAgICAgICAgICAvKiA8QU5ZPiAqLwogICAgICAgICAgICAgVFJBQ0UoKCJ8JXB8JXB8QU5ZXG4iLCBjdHgtPnBhdHRlcm4sIGN0eC0+cHRyKSk7Ci0gICAgICAgICAgICBpZiAoY3R4LT5wdHIgPj0gZW5kIHx8IFNSRV9JU19MSU5FQlJFQUsoY3R4LT5wdHJbMF0pKQotICAgICAgICAgICAgICAgIFJFVFVSTl9GQUlMVVJFOwotICAgICAgICAgICAgY3R4LT5wdHIrKzsKKyAgICAgICAgICAgICAgICBpZiAoY3R4LT5wdHIgPj0gZW5kIHx8IFNSRV9JU19MSU5FQlJFQUsoU1JFX0NIQVJHRVQoc3RhdGUsIGN0eC0+cHRyLCAwKSkpCisgICAgICAgICAgICAgICAgICAgIFJFVFVSTl9GQUlMVVJFOworICAgICAgICAgICAgY3R4LT5wdHIgKz0gc3RhdGUtPmNoYXJzaXplOwogICAgICAgICAgICAgYnJlYWs7CiAKICAgICAgICAgY2FzZSBTUkVfT1BfQU5ZX0FMTDoKQEAgLTkyMyw0NyArODk5LDQ3IEBACiAgICAgICAgICAgICBUUkFDRSgoInwlcHwlcHxBTllfQUxMXG4iLCBjdHgtPnBhdHRlcm4sIGN0eC0+cHRyKSk7CiAgICAgICAgICAgICBpZiAoY3R4LT5wdHIgPj0gZW5kKQogICAgICAgICAgICAgICAgIFJFVFVSTl9GQUlMVVJFOwotICAgICAgICAgICAgY3R4LT5wdHIrKzsKKyAgICAgICAgICAgIGN0eC0+cHRyICs9IHN0YXRlLT5jaGFyc2l6ZTsKICAgICAgICAgICAgIGJyZWFrOwogCiAgICAgICAgIGNhc2UgU1JFX09QX0lOOgogICAgICAgICAgICAgLyogbWF0Y2ggc2V0IG1lbWJlciAob3Igbm9uX21lbWJlcikgKi8KICAgICAgICAgICAgIC8qIDxJTj4gPHNraXA+IDxzZXQ+ICovCiAgICAgICAgICAgICBUUkFDRSgoInwlcHwlcHxJTlxuIiwgY3R4LT5wYXR0ZXJuLCBjdHgtPnB0cikpOwotICAgICAgICAgICAgaWYgKGN0eC0+cHRyID49IGVuZCB8fCAhU1JFX0NIQVJTRVQoY3R4LT5wYXR0ZXJuICsgMSwgKmN0eC0+cHRyKSkKLSAgICAgICAgICAgICAgICBSRVRVUk5fRkFJTFVSRTsKKyAgICAgICAgICAgICAgICBpZiAoY3R4LT5wdHIgPj0gZW5kIHx8ICFTUkVfQ0hBUlNFVChjdHgtPnBhdHRlcm4gKyAxLCBTUkVfQ0hBUkdFVChzdGF0ZSwgY3R4LT5wdHIsIDApKSkKKyAgICAgICAgICAgICAgICAgICAgUkVUVVJOX0ZBSUxVUkU7CiAgICAgICAgICAgICBjdHgtPnBhdHRlcm4gKz0gY3R4LT5wYXR0ZXJuWzBdOwotICAgICAgICAgICAgY3R4LT5wdHIrKzsKKyAgICAgICAgICAgIGN0eC0+cHRyICs9IHN0YXRlLT5jaGFyc2l6ZTsKICAgICAgICAgICAgIGJyZWFrOwogCiAgICAgICAgIGNhc2UgU1JFX09QX0xJVEVSQUxfSUdOT1JFOgogICAgICAgICAgICAgVFJBQ0UoKCJ8JXB8JXB8TElURVJBTF9JR05PUkUgJWRcbiIsCiAgICAgICAgICAgICAgICAgICAgY3R4LT5wYXR0ZXJuLCBjdHgtPnB0ciwgY3R4LT5wYXR0ZXJuWzBdKSk7CiAgICAgICAgICAgICBpZiAoY3R4LT5wdHIgPj0gZW5kIHx8Ci0gICAgICAgICAgICAgICAgc3RhdGUtPmxvd2VyKCpjdHgtPnB0cikgIT0gc3RhdGUtPmxvd2VyKCpjdHgtPnBhdHRlcm4pKQorICAgICAgICAgICAgICAgIHN0YXRlLT5sb3dlcihTUkVfQ0hBUkdFVChzdGF0ZSwgY3R4LT5wdHIsIDApKSAhPSBzdGF0ZS0+bG93ZXIoKmN0eC0+cGF0dGVybikpCiAgICAgICAgICAgICAgICAgUkVUVVJOX0ZBSUxVUkU7CiAgICAgICAgICAgICBjdHgtPnBhdHRlcm4rKzsKLSAgICAgICAgICAgIGN0eC0+cHRyKys7CisgICAgICAgICAgICBjdHgtPnB0ciArPSBzdGF0ZS0+Y2hhcnNpemU7CiAgICAgICAgICAgICBicmVhazsKIAogICAgICAgICBjYXNlIFNSRV9PUF9OT1RfTElURVJBTF9JR05PUkU6CiAgICAgICAgICAgICBUUkFDRSgoInwlcHwlcHxOT1RfTElURVJBTF9JR05PUkUgJWRcbiIsCiAgICAgICAgICAgICAgICAgICAgY3R4LT5wYXR0ZXJuLCBjdHgtPnB0ciwgKmN0eC0+cGF0dGVybikpOwogICAgICAgICAgICAgaWYgKGN0eC0+cHRyID49IGVuZCB8fAotICAgICAgICAgICAgICAgIHN0YXRlLT5sb3dlcigqY3R4LT5wdHIpID09IHN0YXRlLT5sb3dlcigqY3R4LT5wYXR0ZXJuKSkKKyAgICAgICAgICAgICAgICBzdGF0ZS0+bG93ZXIoU1JFX0NIQVJHRVQoc3RhdGUsIGN0eC0+cHRyLCAwKSkgPT0gc3RhdGUtPmxvd2VyKCpjdHgtPnBhdHRlcm4pKQogICAgICAgICAgICAgICAgIFJFVFVSTl9GQUlMVVJFOwogICAgICAgICAgICAgY3R4LT5wYXR0ZXJuKys7Ci0gICAgICAgICAgICBjdHgtPnB0cisrOworICAgICAgICAgICAgY3R4LT5wdHIgKz0gc3RhdGUtPmNoYXJzaXplOwogICAgICAgICAgICAgYnJlYWs7CiAKICAgICAgICAgY2FzZSBTUkVfT1BfSU5fSUdOT1JFOgogICAgICAgICAgICAgVFJBQ0UoKCJ8JXB8JXB8SU5fSUdOT1JFXG4iLCBjdHgtPnBhdHRlcm4sIGN0eC0+cHRyKSk7CiAgICAgICAgICAgICBpZiAoY3R4LT5wdHIgPj0gZW5kCiAgICAgICAgICAgICAgICAgfHwgIVNSRV9DSEFSU0VUKGN0eC0+cGF0dGVybisxLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoU1JFX0NPREUpc3RhdGUtPmxvd2VyKCpjdHgtPnB0cikpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoU1JFX0NPREUpc3RhdGUtPmxvd2VyKFNSRV9DSEFSR0VUKHN0YXRlLCBjdHgtPnB0ciwgMCkpKSkKICAgICAgICAgICAgICAgICBSRVRVUk5fRkFJTFVSRTsKICAgICAgICAgICAgIGN0eC0+cGF0dGVybiArPSBjdHgtPnBhdHRlcm5bMF07Ci0gICAgICAgICAgICBjdHgtPnB0cisrOworICAgICAgICAgICAgY3R4LT5wdHIgKz0gc3RhdGUtPmNoYXJzaXplOwogICAgICAgICAgICAgYnJlYWs7CiAKICAgICAgICAgY2FzZSBTUkVfT1BfSlVNUDoKQEAgLTk4NiwxMSArOTYyLDExIEBACiAgICAgICAgICAgICBmb3IgKDsgY3R4LT5wYXR0ZXJuWzBdOyBjdHgtPnBhdHRlcm4gKz0gY3R4LT5wYXR0ZXJuWzBdKSB7CiAgICAgICAgICAgICAgICAgaWYgKGN0eC0+cGF0dGVyblsxXSA9PSBTUkVfT1BfTElURVJBTCAmJgogICAgICAgICAgICAgICAgICAgICAoY3R4LT5wdHIgPj0gZW5kIHx8Ci0gICAgICAgICAgICAgICAgICAgICAoU1JFX0NPREUpICpjdHgtPnB0ciAhPSBjdHgtPnBhdHRlcm5bMl0pKQorICAgICAgICAgICAgICAgICAgICAgKFNSRV9DT0RFKSBTUkVfQ0hBUkdFVChzdGF0ZSwgY3R4LT5wdHIsIDApICE9IGN0eC0+cGF0dGVyblsyXSkpCiAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgIGlmIChjdHgtPnBhdHRlcm5bMV0gPT0gU1JFX09QX0lOICYmCiAgICAgICAgICAgICAgICAgICAgIChjdHgtPnB0ciA+PSBlbmQgfHwKLSAgICAgICAgICAgICAgICAgICAgICFTUkVfQ0hBUlNFVChjdHgtPnBhdHRlcm4gKyAzLCAoU1JFX0NPREUpICpjdHgtPnB0cikpKQorICAgICAgICAgICAgICAgICAgICAgIVNSRV9DSEFSU0VUKGN0eC0+cGF0dGVybiArIDMsIChTUkVfQ09ERSkgU1JFX0NIQVJHRVQoc3RhdGUsIGN0eC0+cHRyLCAwKSkpKQogICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgICAgICBzdGF0ZS0+cHRyID0gY3R4LT5wdHI7CiAgICAgICAgICAgICAgICAgRE9fSlVNUChKVU1QX0JSQU5DSCwganVtcF9icmFuY2gsIGN0eC0+cGF0dGVybisxKTsKQEAgLTEwMjEsNyArOTk3LDcgQEAKICAgICAgICAgICAgIFRSQUNFKCgifCVwfCVwfFJFUEVBVF9PTkUgJWQgJWRcbiIsIGN0eC0+cGF0dGVybiwgY3R4LT5wdHIsCiAgICAgICAgICAgICAgICAgICAgY3R4LT5wYXR0ZXJuWzFdLCBjdHgtPnBhdHRlcm5bMl0pKTsKIAotICAgICAgICAgICAgaWYgKGN0eC0+cHRyICsgY3R4LT5wYXR0ZXJuWzFdID4gZW5kKQorICAgICAgICAgICAgaWYgKGN0eC0+cHRyICsgc3RhdGUtPmNoYXJzaXplICogY3R4LT5wYXR0ZXJuWzFdID4gZW5kKQogICAgICAgICAgICAgICAgIFJFVFVSTl9GQUlMVVJFOyAvKiBjYW5ub3QgbWF0Y2ggKi8KIAogICAgICAgICAgICAgc3RhdGUtPnB0ciA9IGN0eC0+cHRyOwpAQCAtMTAzMCw3ICsxMDA2LDcgQEAKICAgICAgICAgICAgIFJFVFVSTl9PTl9FUlJPUihyZXQpOwogICAgICAgICAgICAgREFUQV9MT09LVVBfQVQoU1JFX01BVENIX0NPTlRFWFQsIGN0eCwgY3R4X3Bvcyk7CiAgICAgICAgICAgICBjdHgtPmNvdW50ID0gcmV0OwotICAgICAgICAgICAgY3R4LT5wdHIgKz0gY3R4LT5jb3VudDsKKyAgICAgICAgICAgIGN0eC0+cHRyICs9IHN0YXRlLT5jaGFyc2l6ZSAqIGN0eC0+Y291bnQ7CiAKICAgICAgICAgICAgIC8qIHdoZW4gd2UgYXJyaXZlIGhlcmUsIGNvdW50IGNvbnRhaW5zIHRoZSBudW1iZXIgb2YKICAgICAgICAgICAgICAgIG1hdGNoZXMsIGFuZCBjdHgtPnB0ciBwb2ludHMgdG8gdGhlIHRhaWwgb2YgdGhlIHRhcmdldApAQCAtMTA1NCw4ICsxMDMwLDkgQEAKICAgICAgICAgICAgICAgICBjdHgtPnUuY2hyID0gY3R4LT5wYXR0ZXJuW2N0eC0+cGF0dGVyblswXSsxXTsKICAgICAgICAgICAgICAgICBmb3IgKDs7KSB7CiAgICAgICAgICAgICAgICAgICAgIHdoaWxlIChjdHgtPmNvdW50ID49IChQeV9zc2l6ZV90KSBjdHgtPnBhdHRlcm5bMV0gJiYKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIChjdHgtPnB0ciA+PSBlbmQgfHwgKmN0eC0+cHRyICE9IGN0eC0+dS5jaHIpKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBjdHgtPnB0ci0tOworICAgICAgICAgICAgICAgICAgICAgICAgICAgKGN0eC0+cHRyID49IGVuZCB8fAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNSRV9DSEFSR0VUKHN0YXRlLCBjdHgtPnB0ciwgMCkgIT0gY3R4LT51LmNocikpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGN0eC0+cHRyIC09IHN0YXRlLT5jaGFyc2l6ZTsKICAgICAgICAgICAgICAgICAgICAgICAgIGN0eC0+Y291bnQtLTsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICBpZiAoY3R4LT5jb3VudCA8IChQeV9zc2l6ZV90KSBjdHgtPnBhdHRlcm5bMV0pCkBAIC0xMDcwLDcgKzEwNDcsNyBAQAogCiAgICAgICAgICAgICAgICAgICAgIExBU1RNQVJLX1JFU1RPUkUoKTsKIAotICAgICAgICAgICAgICAgICAgICBjdHgtPnB0ci0tOworICAgICAgICAgICAgICAgICAgICBjdHgtPnB0ciAtPSBzdGF0ZS0+Y2hhcnNpemU7CiAgICAgICAgICAgICAgICAgICAgIGN0eC0+Y291bnQtLTsKICAgICAgICAgICAgICAgICB9CiAKQEAgLTEwODQsNyArMTA2MSw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICBSRVRVUk5fT05fRVJST1IocmV0KTsKICAgICAgICAgICAgICAgICAgICAgICAgIFJFVFVSTl9TVUNDRVNTOwogICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgIGN0eC0+cHRyLS07CisgICAgICAgICAgICAgICAgICAgIGN0eC0+cHRyIC09IHN0YXRlLT5jaGFyc2l6ZTsKICAgICAgICAgICAgICAgICAgICAgY3R4LT5jb3VudC0tOwogICAgICAgICAgICAgICAgICAgICBMQVNUTUFSS19SRVNUT1JFKCk7CiAgICAgICAgICAgICAgICAgfQpAQCAtMTEwNCw3ICsxMDgxLDcgQEAKICAgICAgICAgICAgIFRSQUNFKCgifCVwfCVwfE1JTl9SRVBFQVRfT05FICVkICVkXG4iLCBjdHgtPnBhdHRlcm4sIGN0eC0+cHRyLAogICAgICAgICAgICAgICAgICAgIGN0eC0+cGF0dGVyblsxXSwgY3R4LT5wYXR0ZXJuWzJdKSk7CiAKLSAgICAgICAgICAgIGlmIChjdHgtPnB0ciArIGN0eC0+cGF0dGVyblsxXSA+IGVuZCkKKyAgICAgICAgICAgIGlmIChjdHgtPnB0ciArIHN0YXRlLT5jaGFyc2l6ZSAqIGN0eC0+cGF0dGVyblsxXSA+IGVuZCkKICAgICAgICAgICAgICAgICBSRVRVUk5fRkFJTFVSRTsgLyogY2Fubm90IG1hdGNoICovCiAKICAgICAgICAgICAgIHN0YXRlLT5wdHIgPSBjdHgtPnB0cjsKQEAgLTExMjEsNyArMTA5OCw3IEBACiAgICAgICAgICAgICAgICAgICAgIFJFVFVSTl9GQUlMVVJFOwogICAgICAgICAgICAgICAgIC8qIGFkdmFuY2UgcGFzdCBtaW5pbXVtIG1hdGNoZXMgb2YgcmVwZWF0ICovCiAgICAgICAgICAgICAgICAgY3R4LT5jb3VudCA9IHJldDsKLSAgICAgICAgICAgICAgICBjdHgtPnB0ciArPSBjdHgtPmNvdW50OworICAgICAgICAgICAgICAgIGN0eC0+cHRyICs9IHN0YXRlLT5jaGFyc2l6ZSAqIGN0eC0+Y291bnQ7CiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIGlmIChjdHgtPnBhdHRlcm5bY3R4LT5wYXR0ZXJuWzBdXSA9PSBTUkVfT1BfU1VDQ0VTUykgewpAQCAtMTE0OCw3ICsxMTI1LDcgQEAKICAgICAgICAgICAgICAgICAgICAgaWYgKHJldCA9PSAwKQogICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgIGFzc2VydChyZXQgPT0gMSk7Ci0gICAgICAgICAgICAgICAgICAgIGN0eC0+cHRyKys7CisgICAgICAgICAgICAgICAgICAgIGN0eC0+cHRyICs9IHN0YXRlLT5jaGFyc2l6ZTsKICAgICAgICAgICAgICAgICAgICAgY3R4LT5jb3VudCsrOwogICAgICAgICAgICAgICAgICAgICBMQVNUTUFSS19SRVNUT1JFKCk7CiAgICAgICAgICAgICAgICAgfQpAQCAtMTMyMCwxNCArMTI5NywxNiBAQAogICAgICAgICAgICAgICAgIGlmIChncm91cHJlZiA+PSBzdGF0ZS0+bGFzdG1hcmspIHsKICAgICAgICAgICAgICAgICAgICAgUkVUVVJOX0ZBSUxVUkU7CiAgICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgU1JFX0NIQVIqIHAgPSAoU1JFX0NIQVIqKSBzdGF0ZS0+bWFya1tncm91cHJlZl07Ci0gICAgICAgICAgICAgICAgICAgIFNSRV9DSEFSKiBlID0gKFNSRV9DSEFSKikgc3RhdGUtPm1hcmtbZ3JvdXByZWYrMV07CisgICAgICAgICAgICAgICAgICAgIGNoYXIqIHAgPSAoY2hhciopIHN0YXRlLT5tYXJrW2dyb3VwcmVmXTsKKyAgICAgICAgICAgICAgICAgICAgY2hhciogZSA9IChjaGFyKikgc3RhdGUtPm1hcmtbZ3JvdXByZWYrMV07CiAgICAgICAgICAgICAgICAgICAgIGlmICghcCB8fCAhZSB8fCBlIDwgcCkKICAgICAgICAgICAgICAgICAgICAgICAgIFJFVFVSTl9GQUlMVVJFOwogICAgICAgICAgICAgICAgICAgICB3aGlsZSAocCA8IGUpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjdHgtPnB0ciA+PSBlbmQgfHwgKmN0eC0+cHRyICE9ICpwKQorICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGN0eC0+cHRyID49IGVuZCB8fAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNSRV9DSEFSR0VUKHN0YXRlLCBjdHgtPnB0ciwgMCkgIT0gU1JFX0NIQVJHRVQoc3RhdGUsIHAsIDApKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJFVFVSTl9GQUlMVVJFOwotICAgICAgICAgICAgICAgICAgICAgICAgcCsrOyBjdHgtPnB0cisrOworICAgICAgICAgICAgICAgICAgICAgICAgcCArPSBzdGF0ZS0+Y2hhcnNpemU7CisgICAgICAgICAgICAgICAgICAgICAgICBjdHgtPnB0ciArPSBzdGF0ZS0+Y2hhcnNpemU7CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9CkBAIC0xMzQ0LDE1ICsxMzIzLDE2IEBACiAgICAgICAgICAgICAgICAgaWYgKGdyb3VwcmVmID49IHN0YXRlLT5sYXN0bWFyaykgewogICAgICAgICAgICAgICAgICAgICBSRVRVUk5fRkFJTFVSRTsKICAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICBTUkVfQ0hBUiogcCA9IChTUkVfQ0hBUiopIHN0YXRlLT5tYXJrW2dyb3VwcmVmXTsKLSAgICAgICAgICAgICAgICAgICAgU1JFX0NIQVIqIGUgPSAoU1JFX0NIQVIqKSBzdGF0ZS0+bWFya1tncm91cHJlZisxXTsKKyAgICAgICAgICAgICAgICAgICAgY2hhciogcCA9IChjaGFyKikgc3RhdGUtPm1hcmtbZ3JvdXByZWZdOworICAgICAgICAgICAgICAgICAgICBjaGFyKiBlID0gKGNoYXIqKSBzdGF0ZS0+bWFya1tncm91cHJlZisxXTsKICAgICAgICAgICAgICAgICAgICAgaWYgKCFwIHx8ICFlIHx8IGUgPCBwKQogICAgICAgICAgICAgICAgICAgICAgICAgUkVUVVJOX0ZBSUxVUkU7CiAgICAgICAgICAgICAgICAgICAgIHdoaWxlIChwIDwgZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGN0eC0+cHRyID49IGVuZCB8fAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlLT5sb3dlcigqY3R4LT5wdHIpICE9IHN0YXRlLT5sb3dlcigqcCkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGUtPmxvd2VyKFNSRV9DSEFSR0VUKHN0YXRlLCBjdHgtPnB0ciwgMCkpICE9IHN0YXRlLT5sb3dlcigqcCkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUkVUVVJOX0ZBSUxVUkU7Ci0gICAgICAgICAgICAgICAgICAgICAgICBwKys7IGN0eC0+cHRyKys7CisgICAgICAgICAgICAgICAgICAgICAgICBwKys7CisgICAgICAgICAgICAgICAgICAgICAgICBjdHgtPnB0ciArPSBzdGF0ZS0+Y2hhcnNpemU7CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9CkBAIC0xMzg2LDcgKzEzNjYsNyBAQAogICAgICAgICAgICAgLyogPEFTU0VSVD4gPHNraXA+IDxiYWNrPiA8cGF0dGVybj4gKi8KICAgICAgICAgICAgIFRSQUNFKCgifCVwfCVwfEFTU0VSVCAlZFxuIiwgY3R4LT5wYXR0ZXJuLAogICAgICAgICAgICAgICAgICAgIGN0eC0+cHRyLCBjdHgtPnBhdHRlcm5bMV0pKTsKLSAgICAgICAgICAgIHN0YXRlLT5wdHIgPSBjdHgtPnB0ciAtIGN0eC0+cGF0dGVyblsxXTsKKyAgICAgICAgICAgIHN0YXRlLT5wdHIgPSBjdHgtPnB0ciAtIHN0YXRlLT5jaGFyc2l6ZSAqIGN0eC0+cGF0dGVyblsxXTsKICAgICAgICAgICAgIGlmIChzdGF0ZS0+cHRyIDwgc3RhdGUtPmJlZ2lubmluZykKICAgICAgICAgICAgICAgICBSRVRVUk5fRkFJTFVSRTsKICAgICAgICAgICAgIERPX0pVTVAoSlVNUF9BU1NFUlQsIGp1bXBfYXNzZXJ0LCBjdHgtPnBhdHRlcm4rMik7CkBAIC0xMzk5LDcgKzEzNzksNyBAQAogICAgICAgICAgICAgLyogPEFTU0VSVF9OT1Q+IDxza2lwPiA8YmFjaz4gPHBhdHRlcm4+ICovCiAgICAgICAgICAgICBUUkFDRSgoInwlcHwlcHxBU1NFUlRfTk9UICVkXG4iLCBjdHgtPnBhdHRlcm4sCiAgICAgICAgICAgICAgICAgICAgY3R4LT5wdHIsIGN0eC0+cGF0dGVyblsxXSkpOwotICAgICAgICAgICAgc3RhdGUtPnB0ciA9IGN0eC0+cHRyIC0gY3R4LT5wYXR0ZXJuWzFdOworICAgICAgICAgICAgc3RhdGUtPnB0ciA9IGN0eC0+cHRyIC0gc3RhdGUtPmNoYXJzaXplICogY3R4LT5wYXR0ZXJuWzFdOwogICAgICAgICAgICAgaWYgKHN0YXRlLT5wdHIgPj0gc3RhdGUtPmJlZ2lubmluZykgewogICAgICAgICAgICAgICAgIERPX0pVTVAoSlVNUF9BU1NFUlRfTk9ULCBqdW1wX2Fzc2VydF9ub3QsIGN0eC0+cGF0dGVybisyKTsKICAgICAgICAgICAgICAgICBpZiAocmV0KSB7CkBAIC0xNDgxLDggKzE0NjEsOCBAQAogTE9DQUwoUHlfc3NpemVfdCkKIFNSRV9TRUFSQ0goU1JFX1NUQVRFKiBzdGF0ZSwgU1JFX0NPREUqIHBhdHRlcm4pCiB7Ci0gICAgU1JFX0NIQVIqIHB0ciA9IChTUkVfQ0hBUiAqKXN0YXRlLT5zdGFydDsKLSAgICBTUkVfQ0hBUiogZW5kID0gKFNSRV9DSEFSICopc3RhdGUtPmVuZDsKKyAgICBjaGFyKiBwdHIgPSAoY2hhciopc3RhdGUtPnN0YXJ0OworICAgIGNoYXIqIGVuZCA9IChjaGFyKilzdGF0ZS0+ZW5kOwogICAgIFB5X3NzaXplX3Qgc3RhdHVzID0gMDsKICAgICBQeV9zc2l6ZV90IHByZWZpeF9sZW4gPSAwOwogICAgIFB5X3NzaXplX3QgcHJlZml4X3NraXAgPSAwOwpAQCAtMTUwMCw5ICsxNDgwLDkgQEAKICAgICAgICAgaWYgKHBhdHRlcm5bM10gPiAxKSB7CiAgICAgICAgICAgICAvKiBhZGp1c3QgZW5kIHBvaW50IChidXQgbWFrZSBzdXJlIHdlIGxlYXZlIGF0IGxlYXN0IG9uZQogICAgICAgICAgICAgICAgY2hhcmFjdGVyIGluIHRoZXJlLCBzbyBsaXRlcmFsIHNlYXJjaCB3aWxsIHdvcmspICovCi0gICAgICAgICAgICBlbmQgLT0gcGF0dGVyblszXS0xOworICAgICAgICAgICAgZW5kIC09IChwYXR0ZXJuWzNdLTEpICogc3RhdGUtPmNoYXJzaXplOwogICAgICAgICAgICAgaWYgKGVuZCA8PSBwdHIpCi0gICAgICAgICAgICAgICAgZW5kID0gcHRyKzE7CisgICAgICAgICAgICAgICAgZW5kID0gcHRyICsgc3RhdGUtPmNoYXJzaXplOwogICAgICAgICB9CiAKICAgICAgICAgaWYgKGZsYWdzICYgU1JFX0lORk9fUFJFRklYKSB7CkBAIC0xNTI4LDEwICsxNTA4LDEwIEBACiAgICAgICAgIC8qIHBhdHRlcm4gc3RhcnRzIHdpdGggYSBrbm93biBwcmVmaXguICB1c2UgdGhlIG92ZXJsYXAKICAgICAgICAgICAgdGFibGUgdG8gc2tpcCBmb3J3YXJkIGFzIGZhc3QgYXMgd2UgcG9zc2libHkgY2FuICovCiAgICAgICAgIFB5X3NzaXplX3QgaSA9IDA7Ci0gICAgICAgIGVuZCA9IChTUkVfQ0hBUiAqKXN0YXRlLT5lbmQ7CisgICAgICAgIGVuZCA9IChjaGFyICopc3RhdGUtPmVuZDsKICAgICAgICAgd2hpbGUgKHB0ciA8IGVuZCkgewogICAgICAgICAgICAgZm9yICg7OykgewotICAgICAgICAgICAgICAgIGlmICgoU1JFX0NPREUpIHB0clswXSAhPSBwcmVmaXhbaV0pIHsKKyAgICAgICAgICAgICAgICBpZiAoKFNSRV9DT0RFKSBTUkVfQ0hBUkdFVChzdGF0ZSwgcHRyLCAwKSAhPSBwcmVmaXhbaV0pIHsKICAgICAgICAgICAgICAgICAgICAgaWYgKCFpKQogICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgIGVsc2UKQEAgLTE1NDAsOCArMTUyMCw4IEBACiAgICAgICAgICAgICAgICAgICAgIGlmICgrK2kgPT0gcHJlZml4X2xlbikgewogICAgICAgICAgICAgICAgICAgICAgICAgLyogZm91bmQgYSBwb3RlbnRpYWwgbWF0Y2ggKi8KICAgICAgICAgICAgICAgICAgICAgICAgIFRSQUNFKCgifCVwfCVwfFNFQVJDSCBTQ0FOXG4iLCBwYXR0ZXJuLCBwdHIpKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlLT5zdGFydCA9IHB0ciArIDEgLSBwcmVmaXhfbGVuOwotICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGUtPnB0ciA9IHB0ciArIDEgLSBwcmVmaXhfbGVuICsgcHJlZml4X3NraXA7CisgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZS0+c3RhcnQgPSBwdHIgLSAocHJlZml4X2xlbiAtIDEpICogc3RhdGUtPmNoYXJzaXplOworICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGUtPnB0ciA9IHB0ciAtIChwcmVmaXhfbGVuIC0gcHJlZml4X3NraXAgLSAxKSAqIHN0YXRlLT5jaGFyc2l6ZTsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChmbGFncyAmIFNSRV9JTkZPX0xJVEVSQUwpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7IC8qIHdlIGdvdCBhbGwgb2YgaXQgKi8KICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1cyA9IFNSRV9NQVRDSChzdGF0ZSwgcGF0dGVybiArIDIqcHJlZml4X3NraXApOwpAQCAtMTU1Myw3ICsxNTMzLDcgQEAKICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQotICAgICAgICAgICAgcHRyKys7CisgICAgICAgICAgICBwdHIgKz0gc3RhdGUtPmNoYXJzaXplOwogICAgICAgICB9CiAgICAgICAgIHJldHVybiAwOwogICAgIH0KQEAgLTE1NjMsMTUgKzE1NDMsMTYgQEAKICAgICAgICAgLyogcGF0dGVybiBzdGFydHMgd2l0aCBhIGxpdGVyYWwgY2hhcmFjdGVyLiAgdGhpcyBpcyB1c2VkCiAgICAgICAgICAgIGZvciBzaG9ydCBwcmVmaXhlcywgYW5kIGlmIGZhc3Qgc2VhcmNoIGlzIGRpc2FibGVkICovCiAgICAgICAgIFNSRV9DT0RFIGNociA9IHBhdHRlcm5bMV07Ci0gICAgICAgIGVuZCA9IChTUkVfQ0hBUiAqKXN0YXRlLT5lbmQ7CisgICAgICAgIGVuZCA9IChjaGFyKilzdGF0ZS0+ZW5kOwogICAgICAgICBmb3IgKDs7KSB7Ci0gICAgICAgICAgICB3aGlsZSAocHRyIDwgZW5kICYmIChTUkVfQ09ERSkgcHRyWzBdICE9IGNocikKLSAgICAgICAgICAgICAgICBwdHIrKzsKKyAgICAgICAgICAgIHdoaWxlIChwdHIgPCBlbmQgJiYgKFNSRV9DT0RFKSBTUkVfQ0hBUkdFVChzdGF0ZSwgcHRyLCAwKSAhPSBjaHIpCisgICAgICAgICAgICAgICAgcHRyICs9IHN0YXRlLT5jaGFyc2l6ZTsKICAgICAgICAgICAgIGlmIChwdHIgPj0gZW5kKQogICAgICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICAgICAgVFJBQ0UoKCJ8JXB8JXB8U0VBUkNIIExJVEVSQUxcbiIsIHBhdHRlcm4sIHB0cikpOwogICAgICAgICAgICAgc3RhdGUtPnN0YXJ0ID0gcHRyOwotICAgICAgICAgICAgc3RhdGUtPnB0ciA9ICsrcHRyOworICAgICAgICAgICAgcHRyICs9IHN0YXRlLT5jaGFyc2l6ZTsKKyAgICAgICAgICAgIHN0YXRlLT5wdHIgPSBwdHI7CiAgICAgICAgICAgICBpZiAoZmxhZ3MgJiBTUkVfSU5GT19MSVRFUkFMKQogICAgICAgICAgICAgICAgIHJldHVybiAxOyAvKiB3ZSBnb3QgYWxsIG9mIGl0ICovCiAgICAgICAgICAgICBzdGF0dXMgPSBTUkVfTUFUQ0goc3RhdGUsIHBhdHRlcm4gKyAyKTsKQEAgLTE1ODAsMTAgKzE1NjEsMTAgQEAKICAgICAgICAgfQogICAgIH0gZWxzZSBpZiAoY2hhcnNldCkgewogICAgICAgICAvKiBwYXR0ZXJuIHN0YXJ0cyB3aXRoIGEgY2hhcmFjdGVyIGZyb20gYSBrbm93biBzZXQgKi8KLSAgICAgICAgZW5kID0gKFNSRV9DSEFSICopc3RhdGUtPmVuZDsKKyAgICAgICAgZW5kID0gKGNoYXIqKXN0YXRlLT5lbmQ7CiAgICAgICAgIGZvciAoOzspIHsKLSAgICAgICAgICAgIHdoaWxlIChwdHIgPCBlbmQgJiYgIVNSRV9DSEFSU0VUKGNoYXJzZXQsIHB0clswXSkpCi0gICAgICAgICAgICAgICAgcHRyKys7CisgICAgICAgICAgICB3aGlsZSAocHRyIDwgZW5kICYmICFTUkVfQ0hBUlNFVChjaGFyc2V0LCBTUkVfQ0hBUkdFVChzdGF0ZSwgcHRyLCAwKSkpCisgICAgICAgICAgICAgICAgcHRyICs9IHN0YXRlLT5jaGFyc2l6ZTsKICAgICAgICAgICAgIGlmIChwdHIgPj0gZW5kKQogICAgICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICAgICAgVFJBQ0UoKCJ8JXB8JXB8U0VBUkNIIENIQVJTRVRcbiIsIHBhdHRlcm4sIHB0cikpOwpAQCAtMTU5MiwxMyArMTU3MywxNCBAQAogICAgICAgICAgICAgc3RhdHVzID0gU1JFX01BVENIKHN0YXRlLCBwYXR0ZXJuKTsKICAgICAgICAgICAgIGlmIChzdGF0dXMgIT0gMCkKICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIHB0cisrOworICAgICAgICAgICAgcHRyICs9IHN0YXRlLT5jaGFyc2l6ZTsKICAgICAgICAgfQogICAgIH0gZWxzZQogICAgICAgICAvKiBnZW5lcmFsIGNhc2UgKi8KICAgICAgICAgd2hpbGUgKHB0ciA8PSBlbmQpIHsKICAgICAgICAgICAgIFRSQUNFKCgifCVwfCVwfFNFQVJDSFxuIiwgcGF0dGVybiwgcHRyKSk7Ci0gICAgICAgICAgICBzdGF0ZS0+c3RhcnQgPSBzdGF0ZS0+cHRyID0gcHRyKys7CisgICAgICAgICAgICBzdGF0ZS0+c3RhcnQgPSBzdGF0ZS0+cHRyID0gcHRyOworICAgICAgICAgICAgcHRyICs9IHN0YXRlLT5jaGFyc2l6ZTsKICAgICAgICAgICAgIHN0YXR1cyA9IFNSRV9NQVRDSChzdGF0ZSwgcGF0dGVybik7CiAgICAgICAgICAgICBpZiAoc3RhdHVzICE9IDApCiAgICAgICAgICAgICAgICAgYnJlYWs7CkBAIC0xNjA3LDE2ICsxNTg5LDYgQEAKICAgICByZXR1cm4gc3RhdHVzOwogfQogCi1MT0NBTChpbnQpCi1TUkVfTElURVJBTF9URU1QTEFURShTUkVfQ0hBUiogcHRyLCBQeV9zc2l6ZV90IGxlbikKLXsKLSAgICAvKiBjaGVjayBpZiBnaXZlbiBzdHJpbmcgaXMgYSBsaXRlcmFsIHRlbXBsYXRlIChpLmUuIG5vIGVzY2FwZXMpICovCi0gICAgd2hpbGUgKGxlbi0tID4gMCkKLSAgICAgICAgaWYgKCpwdHIrKyA9PSAnXFwnKQotICAgICAgICAgICAgcmV0dXJuIDA7Ci0gICAgcmV0dXJuIDE7Ci19Ci0KICNpZiAhZGVmaW5lZChTUkVfUkVDVVJTSVZFKQogCiAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwpAQCAtMTYyNCw3ICsxNTk2LDI0IEBACiAKIC8qIHNlZSBzcmUuaCBmb3Igb2JqZWN0IGRlY2xhcmF0aW9ucyAqLwogc3RhdGljIFB5T2JqZWN0KnBhdHRlcm5fbmV3X21hdGNoKFBhdHRlcm5PYmplY3QqLCBTUkVfU1RBVEUqLCBpbnQpOwotc3RhdGljIFB5T2JqZWN0KnBhdHRlcm5fc2Nhbm5lcihQYXR0ZXJuT2JqZWN0KiwgUHlPYmplY3QqKTsKK3N0YXRpYyBQeU9iamVjdCpwYXR0ZXJuX3NjYW5uZXIoUGF0dGVybk9iamVjdCosIFB5T2JqZWN0KiwgUHlPYmplY3QqIGt3KTsKKworc3RhdGljIGludAorc3JlX2xpdGVyYWxfdGVtcGxhdGUoaW50IGNoYXJzaXplLCBjaGFyKiBwdHIsIFB5X3NzaXplX3QgbGVuKQoreworICAgIC8qIGNoZWNrIGlmIGdpdmVuIHN0cmluZyBpcyBhIGxpdGVyYWwgdGVtcGxhdGUgKGkuZS4gbm8gZXNjYXBlcykgKi8KKyAgICBzdHJ1Y3QgeworICAgICAgICBpbnQgY2hhcnNpemU7CisgICAgfSBzdGF0ZSA9IHsKKyAgICAgICAgY2hhcnNpemUKKyAgICB9OworICAgIHdoaWxlIChsZW4tLSA+IDApIHsKKyAgICAgICAgaWYgKFNSRV9DSEFSR0VUKCgmc3RhdGUpLCBwdHIsIDApID09ICdcXCcpCisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgcHRyICs9IGNoYXJzaXplOworICAgIH0KKyAgICByZXR1cm4gMTsKK30KIAogc3RhdGljIFB5T2JqZWN0ICoKIHNyZV9jb2Rlc2l6ZShQeU9iamVjdCogc2VsZiwgUHlPYmplY3QgKnVudXNlZCkKQEAgLTE2NDEsMTEgKzE2MzAsNyBAQAogICAgIGlmIChmbGFncyAmIFNSRV9GTEFHX0xPQ0FMRSkKICAgICAgICAgcmV0dXJuIFB5X0J1aWxkVmFsdWUoImkiLCBzcmVfbG93ZXJfbG9jYWxlKGNoYXJhY3RlcikpOwogICAgIGlmIChmbGFncyAmIFNSRV9GTEFHX1VOSUNPREUpCi0jaWYgZGVmaW5lZChIQVZFX1VOSUNPREUpCiAgICAgICAgIHJldHVybiBQeV9CdWlsZFZhbHVlKCJpIiwgc3JlX2xvd2VyX3VuaWNvZGUoY2hhcmFjdGVyKSk7Ci0jZWxzZQotICAgICAgICByZXR1cm4gUHlfQnVpbGRWYWx1ZSgiaSIsIHNyZV9sb3dlcl9sb2NhbGUoY2hhcmFjdGVyKSk7Ci0jZW5kaWYKICAgICByZXR1cm4gUHlfQnVpbGRWYWx1ZSgiaSIsIHNyZV9sb3dlcihjaGFyYWN0ZXIpKTsKIH0KIApAQCAtMTY2NCw3ICsxNjQ5LDkgQEAKIH0KIAogc3RhdGljIHZvaWQqCi1nZXRzdHJpbmcoUHlPYmplY3QqIHN0cmluZywgUHlfc3NpemVfdCogcF9sZW5ndGgsIGludCogcF9jaGFyc2l6ZSwgUHlfYnVmZmVyICp2aWV3KQorZ2V0c3RyaW5nKFB5T2JqZWN0KiBzdHJpbmcsIFB5X3NzaXplX3QqIHBfbGVuZ3RoLAorICAgICAgICAgIGludCogcF9sb2dpY2FsX2NoYXJzaXplLCBpbnQqIHBfY2hhcnNpemUsCisgICAgICAgICAgUHlfYnVmZmVyICp2aWV3KQogewogICAgIC8qIGdpdmVuIGEgcHl0aG9uIG9iamVjdCwgcmV0dXJuIGEgZGF0YSBwb2ludGVyLCBhIGxlbmd0aCAoaW4KICAgICAgICBjaGFyYWN0ZXJzKSwgYW5kIGEgY2hhcmFjdGVyIHNpemUuICByZXR1cm4gTlVMTCBpZiB0aGUgb2JqZWN0CkBAIC0xNjc4LDEzICsxNjY1LDE2IEBACiAgICAgLyogVW5pY29kZSBvYmplY3RzIGRvIG5vdCBzdXBwb3J0IHRoZSBidWZmZXIgQVBJLiBTbywgZ2V0IHRoZSBkYXRhCiAgICAgICAgZGlyZWN0bHkgaW5zdGVhZC4gKi8KICAgICBpZiAoUHlVbmljb2RlX0NoZWNrKHN0cmluZykpIHsKLSAgICAgICAgcHRyID0gKHZvaWQgKilQeVVuaWNvZGVfQVNfREFUQShzdHJpbmcpOwotICAgICAgICAqcF9sZW5ndGggPSBQeVVuaWNvZGVfR0VUX1NJWkUoc3RyaW5nKTsKLSAgICAgICAgKnBfY2hhcnNpemUgPSBzaXplb2YoUHlfVU5JQ09ERSk7CisgICAgICAgIGlmIChQeVVuaWNvZGVfUkVBRFkoc3RyaW5nKSA9PSAtMSkKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICBwdHIgPSBQeVVuaWNvZGVfREFUQShzdHJpbmcpOworICAgICAgICAqcF9sZW5ndGggPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChzdHJpbmcpOworICAgICAgICAqcF9jaGFyc2l6ZSA9IFB5VW5pY29kZV9LSU5EKHN0cmluZyk7CisgICAgICAgICpwX2xvZ2ljYWxfY2hhcnNpemUgPSA0OwogICAgICAgICByZXR1cm4gcHRyOwogICAgIH0KIAotICAgIC8qIGdldCBwb2ludGVyIHRvIHN0cmluZyBidWZmZXIgKi8KKyAgICAvKiBnZXQgcG9pbnRlciB0byBieXRlIHN0cmluZyBidWZmZXIgKi8KICAgICB2aWV3LT5sZW4gPSAtMTsKICAgICBidWZmZXIgPSBQeV9UWVBFKHN0cmluZyktPnRwX2FzX2J1ZmZlcjsKICAgICBpZiAoIWJ1ZmZlciB8fCAhYnVmZmVyLT5iZl9nZXRidWZmZXIgfHwKQEAgLTE3MDcsMTAgKzE2OTcsNiBAQAogCiAgICAgaWYgKFB5Qnl0ZXNfQ2hlY2soc3RyaW5nKSB8fCBieXRlcyA9PSBzaXplKQogICAgICAgICBjaGFyc2l6ZSA9IDE7Ci0jaWYgZGVmaW5lZChIQVZFX1VOSUNPREUpCi0gICAgZWxzZSBpZiAoYnl0ZXMgPT0gKFB5X3NzaXplX3QpIChzaXplICogc2l6ZW9mKFB5X1VOSUNPREUpKSkKLSAgICAgICAgY2hhcnNpemUgPSBzaXplb2YoUHlfVU5JQ09ERSk7Ci0jZW5kaWYKICAgICBlbHNlIHsKICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgImJ1ZmZlciBzaXplIG1pc21hdGNoIik7CiAgICAgICAgIGdvdG8gZXJyOwpAQCAtMTcxOCw2ICsxNzA0LDcgQEAKIAogICAgICpwX2xlbmd0aCA9IHNpemU7CiAgICAgKnBfY2hhcnNpemUgPSBjaGFyc2l6ZTsKKyAgICAqcF9sb2dpY2FsX2NoYXJzaXplID0gY2hhcnNpemU7CiAKICAgICBpZiAocHRyID09IE5VTEwpIHsKICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLApAQCAtMTczOCw3ICsxNzI1LDcgQEAKICAgICAvKiBwcmVwYXJlIHN0YXRlIG9iamVjdCAqLwogCiAgICAgUHlfc3NpemVfdCBsZW5ndGg7Ci0gICAgaW50IGNoYXJzaXplOworICAgIGludCBsb2dpY2FsX2NoYXJzaXplLCBjaGFyc2l6ZTsKICAgICB2b2lkKiBwdHI7CiAKICAgICBtZW1zZXQoc3RhdGUsIDAsIHNpemVvZihTUkVfU1RBVEUpKTsKQEAgLTE3NDcsMTggKzE3MzQsMTggQEAKICAgICBzdGF0ZS0+bGFzdGluZGV4ID0gLTE7CiAKICAgICBzdGF0ZS0+YnVmZmVyLmJ1ZiA9IE5VTEw7Ci0gICAgcHRyID0gZ2V0c3RyaW5nKHN0cmluZywgJmxlbmd0aCwgJmNoYXJzaXplLCAmc3RhdGUtPmJ1ZmZlcik7CisgICAgcHRyID0gZ2V0c3RyaW5nKHN0cmluZywgJmxlbmd0aCwgJmxvZ2ljYWxfY2hhcnNpemUsICZjaGFyc2l6ZSwgJnN0YXRlLT5idWZmZXIpOwogICAgIGlmICghcHRyKQogICAgICAgICBnb3RvIGVycjsKIAotICAgIGlmIChjaGFyc2l6ZSA9PSAxICYmIHBhdHRlcm4tPmNoYXJzaXplID4gMSkgeworICAgIGlmIChsb2dpY2FsX2NoYXJzaXplID09IDEgJiYgcGF0dGVybi0+bG9naWNhbF9jaGFyc2l6ZSA+IDEpIHsKICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwKLQkJCSJjYW4ndCB1c2UgYSBzdHJpbmcgcGF0dGVybiBvbiBhIGJ5dGVzLWxpa2Ugb2JqZWN0Iik7CisgICAgICAgICAgICAgICAgICAgICAgICAiY2FuJ3QgdXNlIGEgc3RyaW5nIHBhdHRlcm4gb24gYSBieXRlcy1saWtlIG9iamVjdCIpOwogICAgICAgICBnb3RvIGVycjsKICAgICB9Ci0gICAgaWYgKGNoYXJzaXplID4gMSAmJiBwYXR0ZXJuLT5jaGFyc2l6ZSA9PSAxKSB7CisgICAgaWYgKGxvZ2ljYWxfY2hhcnNpemUgPiAxICYmIHBhdHRlcm4tPmxvZ2ljYWxfY2hhcnNpemUgPT0gMSkgewogICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLAotCQkJImNhbid0IHVzZSBhIGJ5dGVzIHBhdHRlcm4gb24gYSBzdHJpbmctbGlrZSBvYmplY3QiKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICJjYW4ndCB1c2UgYSBieXRlcyBwYXR0ZXJuIG9uIGEgc3RyaW5nLWxpa2Ugb2JqZWN0Iik7CiAgICAgICAgIGdvdG8gZXJyOwogICAgIH0KIApAQCAtMTc3Myw2ICsxNzYwLDcgQEAKICAgICBlbHNlIGlmIChlbmQgPiBsZW5ndGgpCiAgICAgICAgIGVuZCA9IGxlbmd0aDsKIAorICAgIHN0YXRlLT5sb2dpY2FsX2NoYXJzaXplID0gbG9naWNhbF9jaGFyc2l6ZTsKICAgICBzdGF0ZS0+Y2hhcnNpemUgPSBjaGFyc2l6ZTsKIAogICAgIHN0YXRlLT5iZWdpbm5pbmcgPSBwdHI7CkBAIC0xNzg4LDExICsxNzc2LDcgQEAKICAgICBpZiAocGF0dGVybi0+ZmxhZ3MgJiBTUkVfRkxBR19MT0NBTEUpCiAgICAgICAgIHN0YXRlLT5sb3dlciA9IHNyZV9sb3dlcl9sb2NhbGU7CiAgICAgZWxzZSBpZiAocGF0dGVybi0+ZmxhZ3MgJiBTUkVfRkxBR19VTklDT0RFKQotI2lmIGRlZmluZWQoSEFWRV9VTklDT0RFKQogICAgICAgICBzdGF0ZS0+bG93ZXIgPSBzcmVfbG93ZXJfdW5pY29kZTsKLSNlbHNlCi0gICAgICAgIHN0YXRlLT5sb3dlciA9IHNyZV9sb3dlcl9sb2NhbGU7Ci0jZW5kaWYKICAgICBlbHNlCiAgICAgICAgIHN0YXRlLT5sb3dlciA9IHNyZV9sb3dlcjsKIApAQCAtMTg5OSwxMiArMTg4MywxMCBAQAogCiAgICAgVFJBQ0UoKCJ8JXB8JXB8TUFUQ0hcbiIsIFBhdHRlcm5PYmplY3RfR2V0Q29kZShzZWxmKSwgc3RhdGUucHRyKSk7CiAKLSAgICBpZiAoc3RhdGUuY2hhcnNpemUgPT0gMSkgeworICAgIGlmIChzdGF0ZS5sb2dpY2FsX2NoYXJzaXplID09IDEpIHsKICAgICAgICAgc3RhdHVzID0gc3JlX21hdGNoKCZzdGF0ZSwgUGF0dGVybk9iamVjdF9HZXRDb2RlKHNlbGYpKTsKICAgICB9IGVsc2UgewotI2lmIGRlZmluZWQoSEFWRV9VTklDT0RFKQogICAgICAgICBzdGF0dXMgPSBzcmVfdW1hdGNoKCZzdGF0ZSwgUGF0dGVybk9iamVjdF9HZXRDb2RlKHNlbGYpKTsKLSNlbmRpZgogICAgIH0KIAogICAgIFRSQUNFKCgifCVwfCVwfEVORFxuIiwgUGF0dGVybk9iamVjdF9HZXRDb2RlKHNlbGYpLCBzdGF0ZS5wdHIpKTsKQEAgLTE5MzYsMTIgKzE5MTgsMTAgQEAKIAogICAgIFRSQUNFKCgifCVwfCVwfFNFQVJDSFxuIiwgUGF0dGVybk9iamVjdF9HZXRDb2RlKHNlbGYpLCBzdGF0ZS5wdHIpKTsKIAotICAgIGlmIChzdGF0ZS5jaGFyc2l6ZSA9PSAxKSB7CisgICAgaWYgKHN0YXRlLmxvZ2ljYWxfY2hhcnNpemUgPT0gMSkgewogICAgICAgICBzdGF0dXMgPSBzcmVfc2VhcmNoKCZzdGF0ZSwgUGF0dGVybk9iamVjdF9HZXRDb2RlKHNlbGYpKTsKICAgICB9IGVsc2UgewotI2lmIGRlZmluZWQoSEFWRV9VTklDT0RFKQogICAgICAgICBzdGF0dXMgPSBzcmVfdXNlYXJjaCgmc3RhdGUsIFBhdHRlcm5PYmplY3RfR2V0Q29kZShzZWxmKSk7Ci0jZW5kaWYKICAgICB9CiAKICAgICBUUkFDRSgoInwlcHwlcHxFTkRcbiIsIFBhdHRlcm5PYmplY3RfR2V0Q29kZShzZWxmKSwgc3RhdGUucHRyKSk7CkBAIC0yMDgzLDE2ICsyMDYzLDE0IEBACiAKICAgICAgICAgc3RhdGUucHRyID0gc3RhdGUuc3RhcnQ7CiAKLSAgICAgICAgaWYgKHN0YXRlLmNoYXJzaXplID09IDEpIHsKKyAgICAgICAgaWYgKHN0YXRlLmxvZ2ljYWxfY2hhcnNpemUgPT0gMSkgewogICAgICAgICAgICAgc3RhdHVzID0gc3JlX3NlYXJjaCgmc3RhdGUsIFBhdHRlcm5PYmplY3RfR2V0Q29kZShzZWxmKSk7CiAgICAgICAgIH0gZWxzZSB7Ci0jaWYgZGVmaW5lZChIQVZFX1VOSUNPREUpCiAgICAgICAgICAgICBzdGF0dXMgPSBzcmVfdXNlYXJjaCgmc3RhdGUsIFBhdHRlcm5PYmplY3RfR2V0Q29kZShzZWxmKSk7Ci0jZW5kaWYKICAgICAgICAgfQogCi0JaWYgKFB5RXJyX09jY3VycmVkKCkpCi0JICAgIGdvdG8gZXJyb3I7CisgICAgICAgIGlmIChQeUVycl9PY2N1cnJlZCgpKQorICAgICAgICAgICAgZ290byBlcnJvcjsKIAogICAgICAgICBpZiAoc3RhdHVzIDw9IDApIHsKICAgICAgICAgICAgIGlmIChzdGF0dXMgPT0gMCkKQEAgLTIxNTQsMTMgKzIxMzIsMTMgQEAKIAogI2lmIFBZX1ZFUlNJT05fSEVYID49IDB4MDIwMjAwMDAKIHN0YXRpYyBQeU9iamVjdCoKLXBhdHRlcm5fZmluZGl0ZXIoUGF0dGVybk9iamVjdCogcGF0dGVybiwgUHlPYmplY3QqIGFyZ3MpCitwYXR0ZXJuX2ZpbmRpdGVyKFBhdHRlcm5PYmplY3QqIHBhdHRlcm4sIFB5T2JqZWN0KiBhcmdzLCBQeU9iamVjdCoga3cpCiB7CiAgICAgUHlPYmplY3QqIHNjYW5uZXI7CiAgICAgUHlPYmplY3QqIHNlYXJjaDsKICAgICBQeU9iamVjdCogaXRlcmF0b3I7CiAKLSAgICBzY2FubmVyID0gcGF0dGVybl9zY2FubmVyKHBhdHRlcm4sIGFyZ3MpOworICAgIHNjYW5uZXIgPSBwYXR0ZXJuX3NjYW5uZXIocGF0dGVybiwgYXJncywga3cpOwogICAgIGlmICghc2Nhbm5lcikKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKQEAgLTIyMTMsMTYgKzIxOTEsMTQgQEAKIAogICAgICAgICBzdGF0ZS5wdHIgPSBzdGF0ZS5zdGFydDsKIAotICAgICAgICBpZiAoc3RhdGUuY2hhcnNpemUgPT0gMSkgeworICAgICAgICBpZiAoc3RhdGUubG9naWNhbF9jaGFyc2l6ZSA9PSAxKSB7CiAgICAgICAgICAgICBzdGF0dXMgPSBzcmVfc2VhcmNoKCZzdGF0ZSwgUGF0dGVybk9iamVjdF9HZXRDb2RlKHNlbGYpKTsKICAgICAgICAgfSBlbHNlIHsKLSNpZiBkZWZpbmVkKEhBVkVfVU5JQ09ERSkKICAgICAgICAgICAgIHN0YXR1cyA9IHNyZV91c2VhcmNoKCZzdGF0ZSwgUGF0dGVybk9iamVjdF9HZXRDb2RlKHNlbGYpKTsKLSNlbmRpZgogICAgICAgICB9CiAKLQlpZiAoUHlFcnJfT2NjdXJyZWQoKSkKLQkgICAgZ290byBlcnJvcjsKKyAgICAgICAgaWYgKFB5RXJyX09jY3VycmVkKCkpCisgICAgICAgICAgICBnb3RvIGVycm9yOwogCiAgICAgICAgIGlmIChzdGF0dXMgPD0gMCkgewogICAgICAgICAgICAgaWYgKHN0YXR1cyA9PSAwKQpAQCAtMjMwMyw3ICsyMjc5LDcgQEAKICAgICBpbnQgc3RhdHVzOwogICAgIFB5X3NzaXplX3QgbjsKICAgICBQeV9zc2l6ZV90IGksIGIsIGU7Ci0gICAgaW50IGJpbnQ7CisgICAgaW50IGxvZ2ljYWxfY2hhcnNpemUsIGNoYXJzaXplOwogICAgIGludCBmaWx0ZXJfaXNfY2FsbGFibGU7CiAgICAgUHlfYnVmZmVyIHZpZXc7CiAKQEAgLTIzMTYsMTYgKzIyOTIsMTAgQEAKICAgICAgICAgLyogaWYgbm90IGNhbGxhYmxlLCBjaGVjayBpZiBpdCdzIGEgbGl0ZXJhbCBzdHJpbmcgKi8KICAgICAgICAgaW50IGxpdGVyYWw7CiAgICAgICAgIHZpZXcuYnVmID0gTlVMTDsKLSAgICAgICAgcHRyID0gZ2V0c3RyaW5nKHB0ZW1wbGF0ZSwgJm4sICZiaW50LCAmdmlldyk7Ci0gICAgICAgIGIgPSBiaW50OworICAgICAgICBwdHIgPSBnZXRzdHJpbmcocHRlbXBsYXRlLCAmbiwgJmxvZ2ljYWxfY2hhcnNpemUsICZjaGFyc2l6ZSwgJnZpZXcpOworICAgICAgICBiID0gY2hhcnNpemU7CiAgICAgICAgIGlmIChwdHIpIHsKLSAgICAgICAgICAgIGlmIChiID09IDEpIHsKLQkJICAgIGxpdGVyYWwgPSBzcmVfbGl0ZXJhbF90ZW1wbGF0ZSgodW5zaWduZWQgY2hhciAqKXB0ciwgbik7Ci0gICAgICAgICAgICB9IGVsc2UgewotI2lmIGRlZmluZWQoSEFWRV9VTklDT0RFKQotCQkgICAgbGl0ZXJhbCA9IHNyZV91bGl0ZXJhbF90ZW1wbGF0ZSgoUHlfVU5JQ09ERSAqKXB0ciwgbik7Ci0jZW5kaWYKLSAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGxpdGVyYWwgPSBzcmVfbGl0ZXJhbF90ZW1wbGF0ZShiLCBwdHIsIG4pOwogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgUHlFcnJfQ2xlYXIoKTsKICAgICAgICAgICAgIGxpdGVyYWwgPSAwOwpAQCAtMjM2OSwxNiArMjMzOSwxNCBAQAogCiAgICAgICAgIHN0YXRlLnB0ciA9IHN0YXRlLnN0YXJ0OwogCi0gICAgICAgIGlmIChzdGF0ZS5jaGFyc2l6ZSA9PSAxKSB7CisgICAgICAgIGlmIChzdGF0ZS5sb2dpY2FsX2NoYXJzaXplID09IDEpIHsKICAgICAgICAgICAgIHN0YXR1cyA9IHNyZV9zZWFyY2goJnN0YXRlLCBQYXR0ZXJuT2JqZWN0X0dldENvZGUoc2VsZikpOwogICAgICAgICB9IGVsc2UgewotI2lmIGRlZmluZWQoSEFWRV9VTklDT0RFKQogICAgICAgICAgICAgc3RhdHVzID0gc3JlX3VzZWFyY2goJnN0YXRlLCBQYXR0ZXJuT2JqZWN0X0dldENvZGUoc2VsZikpOwotI2VuZGlmCiAgICAgICAgIH0KIAotCWlmIChQeUVycl9PY2N1cnJlZCgpKQotCSAgICBnb3RvIGVycm9yOworICAgICAgICBpZiAoUHlFcnJfT2NjdXJyZWQoKSkKKyAgICAgICAgICAgIGdvdG8gZXJyb3I7CiAKICAgICAgICAgaWYgKHN0YXR1cyA8PSAwKSB7CiAgICAgICAgICAgICBpZiAoc3RhdHVzID09IDApCkBAIC0yNTk2LDIyICsyNTY0LDIyIEBACiAKIHN0YXRpYyBQeU1ldGhvZERlZiBwYXR0ZXJuX21ldGhvZHNbXSA9IHsKICAgICB7Im1hdGNoIiwgKFB5Q0Z1bmN0aW9uKSBwYXR0ZXJuX21hdGNoLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywKLQlwYXR0ZXJuX21hdGNoX2RvY30sCisgICAgICAgIHBhdHRlcm5fbWF0Y2hfZG9jfSwKICAgICB7InNlYXJjaCIsIChQeUNGdW5jdGlvbikgcGF0dGVybl9zZWFyY2gsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLAotCXBhdHRlcm5fc2VhcmNoX2RvY30sCisgICAgICAgIHBhdHRlcm5fc2VhcmNoX2RvY30sCiAgICAgeyJzdWIiLCAoUHlDRnVuY3Rpb24pIHBhdHRlcm5fc3ViLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywKLQlwYXR0ZXJuX3N1Yl9kb2N9LAorICAgICAgICBwYXR0ZXJuX3N1Yl9kb2N9LAogICAgIHsic3VibiIsIChQeUNGdW5jdGlvbikgcGF0dGVybl9zdWJuLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywKLQlwYXR0ZXJuX3N1Ym5fZG9jfSwKKyAgICAgICAgcGF0dGVybl9zdWJuX2RvY30sCiAgICAgeyJzcGxpdCIsIChQeUNGdW5jdGlvbikgcGF0dGVybl9zcGxpdCwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsCi0JcGF0dGVybl9zcGxpdF9kb2N9LAorICAgICAgICBwYXR0ZXJuX3NwbGl0X2RvY30sCiAgICAgeyJmaW5kYWxsIiwgKFB5Q0Z1bmN0aW9uKSBwYXR0ZXJuX2ZpbmRhbGwsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLAotCXBhdHRlcm5fZmluZGFsbF9kb2N9LAorICAgICAgICBwYXR0ZXJuX2ZpbmRhbGxfZG9jfSwKICNpZiBQWV9WRVJTSU9OX0hFWCA+PSAweDAyMDIwMDAwCi0gICAgeyJmaW5kaXRlciIsIChQeUNGdW5jdGlvbikgcGF0dGVybl9maW5kaXRlciwgTUVUSF9WQVJBUkdTLAotCXBhdHRlcm5fZmluZGl0ZXJfZG9jfSwKKyAgICB7ImZpbmRpdGVyIiwgKFB5Q0Z1bmN0aW9uKSBwYXR0ZXJuX2ZpbmRpdGVyLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywKKyAgICAgICAgcGF0dGVybl9maW5kaXRlcl9kb2N9LAogI2VuZGlmCi0gICAgeyJzY2FubmVyIiwgKFB5Q0Z1bmN0aW9uKSBwYXR0ZXJuX3NjYW5uZXIsIE1FVEhfVkFSQVJHU30sCisgICAgeyJzY2FubmVyIiwgKFB5Q0Z1bmN0aW9uKSBwYXR0ZXJuX3NjYW5uZXIsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTfSwKICAgICB7Il9fY29weV9fIiwgKFB5Q0Z1bmN0aW9uKSBwYXR0ZXJuX2NvcHksIE1FVEhfTk9BUkdTfSwKICAgICB7Il9fZGVlcGNvcHlfXyIsIChQeUNGdW5jdGlvbikgcGF0dGVybl9kZWVwY29weSwgTUVUSF9PfSwKICAgICB7TlVMTCwgTlVMTH0KQEAgLTI2MzAsMzEgKzI1OTgsMzEgQEAKICAgICBQeVZhck9iamVjdF9IRUFEX0lOSVQoTlVMTCwgMCkKICAgICAiXyIgU1JFX01PRFVMRSAiLlNSRV9QYXR0ZXJuIiwKICAgICBzaXplb2YoUGF0dGVybk9iamVjdCksIHNpemVvZihTUkVfQ09ERSksCi0gICAgKGRlc3RydWN0b3IpcGF0dGVybl9kZWFsbG9jLAkvKiB0cF9kZWFsbG9jICovCi0gICAgMCwJCQkJCS8qIHRwX3ByaW50ICovCi0gICAgMCwJCQkJCS8qIHRwX2dldGF0dHIgKi8KLSAgICAwLAkJCQkJLyogdHBfc2V0YXR0ciAqLwotICAgIDAsCQkJCQkvKiB0cF9yZXNlcnZlZCAqLwotICAgIDAsCQkJCQkvKiB0cF9yZXByICovCi0gICAgMCwJCQkJCS8qIHRwX2FzX251bWJlciAqLwotICAgIDAsCQkJCQkvKiB0cF9hc19zZXF1ZW5jZSAqLwotICAgIDAsCQkJCQkvKiB0cF9hc19tYXBwaW5nICovCi0gICAgMCwJCQkJCS8qIHRwX2hhc2ggKi8KLSAgICAwLAkJCQkJLyogdHBfY2FsbCAqLwotICAgIDAsCQkJCQkvKiB0cF9zdHIgKi8KLSAgICAwLAkJCQkJLyogdHBfZ2V0YXR0cm8gKi8KLSAgICAwLAkJCQkJLyogdHBfc2V0YXR0cm8gKi8KLSAgICAwLAkJCQkJLyogdHBfYXNfYnVmZmVyICovCi0gICAgUHlfVFBGTEFHU19ERUZBVUxULAkJCS8qIHRwX2ZsYWdzICovCi0gICAgcGF0dGVybl9kb2MsCQkJLyogdHBfZG9jICovCi0gICAgMCwJCQkJCS8qIHRwX3RyYXZlcnNlICovCi0gICAgMCwJCQkJCS8qIHRwX2NsZWFyICovCi0gICAgMCwJCQkJCS8qIHRwX3JpY2hjb21wYXJlICovCi0gICAgb2Zmc2V0b2YoUGF0dGVybk9iamVjdCwgd2Vha3JlZmxpc3QpLAkvKiB0cF93ZWFrbGlzdG9mZnNldCAqLwotICAgIDAsCQkJCQkvKiB0cF9pdGVyICovCi0gICAgMCwJCQkJCS8qIHRwX2l0ZXJuZXh0ICovCi0gICAgcGF0dGVybl9tZXRob2RzLAkJCS8qIHRwX21ldGhvZHMgKi8KLSAgICBwYXR0ZXJuX21lbWJlcnMsCQkJLyogdHBfbWVtYmVycyAqLworICAgIChkZXN0cnVjdG9yKXBhdHRlcm5fZGVhbGxvYywgICAgICAgIC8qIHRwX2RlYWxsb2MgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9wcmludCAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2dldGF0dHIgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9zZXRhdHRyICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfcmVzZXJ2ZWQgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9yZXByICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfYXNfbnVtYmVyICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfYXNfc2VxdWVuY2UgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9hc19tYXBwaW5nICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfaGFzaCAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2NhbGwgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9zdHIgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9nZXRhdHRybyAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX3NldGF0dHJvICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfYXNfYnVmZmVyICovCisgICAgUHlfVFBGTEFHU19ERUZBVUxULCAgICAgICAgICAgICAgICAgLyogdHBfZmxhZ3MgKi8KKyAgICBwYXR0ZXJuX2RvYywgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9kb2MgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF90cmF2ZXJzZSAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2NsZWFyICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfcmljaGNvbXBhcmUgKi8KKyAgICBvZmZzZXRvZihQYXR0ZXJuT2JqZWN0LCB3ZWFrcmVmbGlzdCksICAgICAgIC8qIHRwX3dlYWtsaXN0b2Zmc2V0ICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfaXRlciAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2l0ZXJuZXh0ICovCisgICAgcGF0dGVybl9tZXRob2RzLCAgICAgICAgICAgICAgICAgICAgLyogdHBfbWV0aG9kcyAqLworICAgIHBhdHRlcm5fbWVtYmVycywgICAgICAgICAgICAgICAgICAgIC8qIHRwX21lbWJlcnMgKi8KIH07CiAKIHN0YXRpYyBpbnQgX3ZhbGlkYXRlKFBhdHRlcm5PYmplY3QgKnNlbGYpOyAvKiBGb3J3YXJkICovCkBAIC0yNzA4LDExICsyNjc2LDE0IEBACiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KIAotICAgIGlmIChwYXR0ZXJuID09IFB5X05vbmUpCisgICAgaWYgKHBhdHRlcm4gPT0gUHlfTm9uZSkgeworICAgICAgICBzZWxmLT5sb2dpY2FsX2NoYXJzaXplID0gLTE7CiAgICAgICAgIHNlbGYtPmNoYXJzaXplID0gLTE7CisgICAgfQogICAgIGVsc2UgewogICAgICAgICBQeV9zc2l6ZV90IHBfbGVuZ3RoOwotICAgICAgICBpZiAoIWdldHN0cmluZyhwYXR0ZXJuLCAmcF9sZW5ndGgsICZzZWxmLT5jaGFyc2l6ZSwgJnNlbGYtPnZpZXcpKSB7CisgICAgICAgIGlmICghZ2V0c3RyaW5nKHBhdHRlcm4sICZwX2xlbmd0aCwgJnNlbGYtPmxvZ2ljYWxfY2hhcnNpemUsCisgICAgICAgICAgICAgICAgICAgICAgICZzZWxmLT5jaGFyc2l6ZSwgJnNlbGYtPnZpZXcpKSB7CiAgICAgICAgICAgICBQeV9ERUNSRUYoc2VsZik7CiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICAgICAgfQpAQCAtMjk3NywxMyArMjk0OCwxMyBAQAogICAgICAgICAgICAgICAgICAgIDxJTkZPPiA8MT1za2lwPiA8Mj1mbGFncz4gPDM9bWluPiA8ND1tYXg+OwogICAgICAgICAgICAgICAgICAgIElmIFNSRV9JTkZPX1BSRUZJWCBvciBTUkVfSU5GT19DSEFSU0VUIGlzIGluIHRoZSBmbGFncywKICAgICAgICAgICAgICAgICAgICBtb3JlIGZvbGxvd3MuICovCi0gICAgICAgICAgICAgICAgU1JFX0NPREUgZmxhZ3MsIG1pbiwgbWF4LCBpOworICAgICAgICAgICAgICAgIFNSRV9DT0RFIGZsYWdzLCBpOwogICAgICAgICAgICAgICAgIFNSRV9DT0RFICpuZXdjb2RlOwogICAgICAgICAgICAgICAgIEdFVF9TS0lQOwogICAgICAgICAgICAgICAgIG5ld2NvZGUgPSBjb2RlK3NraXAtMTsKICAgICAgICAgICAgICAgICBHRVRfQVJHOyBmbGFncyA9IGFyZzsKLSAgICAgICAgICAgICAgICBHRVRfQVJHOyBtaW4gPSBhcmc7Ci0gICAgICAgICAgICAgICAgR0VUX0FSRzsgbWF4ID0gYXJnOworICAgICAgICAgICAgICAgIEdFVF9BUkc7CisgICAgICAgICAgICAgICAgR0VUX0FSRzsKICAgICAgICAgICAgICAgICAvKiBDaGVjayB0aGF0IG9ubHkgdmFsaWQgZmxhZ3MgYXJlIHByZXNlbnQgKi8KICAgICAgICAgICAgICAgICBpZiAoKGZsYWdzICYgfihTUkVfSU5GT19QUkVGSVggfAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNSRV9JTkZPX0xJVEVSQUwgfApAQCAtMjk5OSw5ICsyOTcwLDkgQEAKICAgICAgICAgICAgICAgICAgICAgRkFJTDsKICAgICAgICAgICAgICAgICAvKiBWYWxpZGF0ZSB0aGUgcHJlZml4ICovCiAgICAgICAgICAgICAgICAgaWYgKGZsYWdzICYgU1JFX0lORk9fUFJFRklYKSB7Ci0gICAgICAgICAgICAgICAgICAgIFNSRV9DT0RFIHByZWZpeF9sZW4sIHByZWZpeF9za2lwOworICAgICAgICAgICAgICAgICAgICBTUkVfQ09ERSBwcmVmaXhfbGVuOwogICAgICAgICAgICAgICAgICAgICBHRVRfQVJHOyBwcmVmaXhfbGVuID0gYXJnOwotICAgICAgICAgICAgICAgICAgICBHRVRfQVJHOyBwcmVmaXhfc2tpcCA9IGFyZzsKKyAgICAgICAgICAgICAgICAgICAgR0VUX0FSRzsKICAgICAgICAgICAgICAgICAgICAgLyogSGVyZSBjb21lcyB0aGUgcHJlZml4IHN0cmluZyAqLwogICAgICAgICAgICAgICAgICAgICBpZiAoY29kZStwcmVmaXhfbGVuIDwgY29kZSB8fCBjb2RlK3ByZWZpeF9sZW4gPiBuZXdjb2RlKQogICAgICAgICAgICAgICAgICAgICAgICAgRkFJTDsKQEAgLTMwNjUsMTAgKzMwMzYsOCBAQAogICAgICAgICAgICAgICAgIEdFVF9BUkc7IG1heCA9IGFyZzsKICAgICAgICAgICAgICAgICBpZiAobWluID4gbWF4KQogICAgICAgICAgICAgICAgICAgICBGQUlMOwotI2lmZGVmIFB5X1VOSUNPREVfV0lERQogICAgICAgICAgICAgICAgIGlmIChtYXggPiA2NTUzNSkKICAgICAgICAgICAgICAgICAgICAgRkFJTDsKLSNlbmRpZgogICAgICAgICAgICAgICAgIGlmICghX3ZhbGlkYXRlX2lubmVyKGNvZGUsIGNvZGUrc2tpcC00LCBncm91cHMpKQogICAgICAgICAgICAgICAgICAgICBGQUlMOwogICAgICAgICAgICAgICAgIGNvZGUgKz0gc2tpcC00OwpAQCAtMzA4NiwxMCArMzA1NSw4IEBACiAgICAgICAgICAgICAgICAgR0VUX0FSRzsgbWF4ID0gYXJnOwogICAgICAgICAgICAgICAgIGlmIChtaW4gPiBtYXgpCiAgICAgICAgICAgICAgICAgICAgIEZBSUw7Ci0jaWZkZWYgUHlfVU5JQ09ERV9XSURFCiAgICAgICAgICAgICAgICAgaWYgKG1heCA+IDY1NTM1KQogICAgICAgICAgICAgICAgICAgICBGQUlMOwotI2VuZGlmCiAgICAgICAgICAgICAgICAgaWYgKCFfdmFsaWRhdGVfaW5uZXIoY29kZSwgY29kZStza2lwLTMsIGdyb3VwcykpCiAgICAgICAgICAgICAgICAgICAgIEZBSUw7CiAgICAgICAgICAgICAgICAgY29kZSArPSBza2lwLTM7CkBAIC0zMjUyLDggKzMyMTksOCBAQAogICAgIFB5X3NzaXplX3QgaTsKIAogICAgIGlmIChpbmRleCA9PSBOVUxMKQotCS8qIERlZmF1bHQgdmFsdWUgKi8KLQlyZXR1cm4gMDsKKyAgICAgICAgLyogRGVmYXVsdCB2YWx1ZSAqLworICAgICAgICByZXR1cm4gMDsKIAogICAgIGlmIChQeUxvbmdfQ2hlY2soaW5kZXgpKQogICAgICAgICByZXR1cm4gUHlMb25nX0FzU3NpemVfdChpbmRleCk7CkBAIC0zNTkzLDcgKzM1NjAsNyBAQAogbWF0Y2hfbGFzdGluZGV4X2dldChNYXRjaE9iamVjdCAqc2VsZikKIHsKICAgICBpZiAoc2VsZi0+bGFzdGluZGV4ID49IDApCi0JcmV0dXJuIFB5X0J1aWxkVmFsdWUoImkiLCBzZWxmLT5sYXN0aW5kZXgpOworICAgICAgICByZXR1cm4gUHlfQnVpbGRWYWx1ZSgiaSIsIHNlbGYtPmxhc3RpbmRleCk7CiAgICAgUHlfSU5DUkVGKFB5X05vbmUpOwogICAgIHJldHVybiBQeV9Ob25lOwogfQpAQCAtMzY0NiwzMiArMzYxMywzMiBAQAogICAgIFB5VmFyT2JqZWN0X0hFQURfSU5JVChOVUxMLDApCiAgICAgIl8iIFNSRV9NT0RVTEUgIi5TUkVfTWF0Y2giLAogICAgIHNpemVvZihNYXRjaE9iamVjdCksIHNpemVvZihQeV9zc2l6ZV90KSwKLSAgICAoZGVzdHJ1Y3RvciltYXRjaF9kZWFsbG9jLAkvKiB0cF9kZWFsbG9jICovCi0gICAgMCwJCQkJLyogdHBfcHJpbnQgKi8KLSAgICAwLAkJCQkvKiB0cF9nZXRhdHRyICovCi0gICAgMCwJCQkJLyogdHBfc2V0YXR0ciAqLwotICAgIDAsCQkJCS8qIHRwX3Jlc2VydmVkICovCi0gICAgMCwJCQkJLyogdHBfcmVwciAqLwotICAgIDAsCQkJCS8qIHRwX2FzX251bWJlciAqLwotICAgIDAsCQkJCS8qIHRwX2FzX3NlcXVlbmNlICovCi0gICAgMCwJCQkJLyogdHBfYXNfbWFwcGluZyAqLwotICAgIDAsCQkJCS8qIHRwX2hhc2ggKi8KLSAgICAwLAkJCQkvKiB0cF9jYWxsICovCi0gICAgMCwJCQkJLyogdHBfc3RyICovCi0gICAgMCwJCQkJLyogdHBfZ2V0YXR0cm8gKi8KLSAgICAwLAkJCQkvKiB0cF9zZXRhdHRybyAqLwotICAgIDAsCQkJCS8qIHRwX2FzX2J1ZmZlciAqLwotICAgIFB5X1RQRkxBR1NfREVGQVVMVCwJCS8qIHRwX2ZsYWdzICovCi0gICAgMCwJCQkJLyogdHBfZG9jICovCi0gICAgMCwJCQkJLyogdHBfdHJhdmVyc2UgKi8KLSAgICAwLAkJCQkvKiB0cF9jbGVhciAqLwotICAgIDAsCQkJCS8qIHRwX3JpY2hjb21wYXJlICovCi0gICAgMCwJCQkJLyogdHBfd2Vha2xpc3RvZmZzZXQgKi8KLSAgICAwLAkJCQkvKiB0cF9pdGVyICovCi0gICAgMCwJCQkJLyogdHBfaXRlcm5leHQgKi8KLSAgICBtYXRjaF9tZXRob2RzLAkJLyogdHBfbWV0aG9kcyAqLwotICAgIG1hdGNoX21lbWJlcnMsCQkvKiB0cF9tZW1iZXJzICovCi0gICAgbWF0Y2hfZ2V0c2V0LCAgCSAgICAgICAgLyogdHBfZ2V0c2V0ICovCisgICAgKGRlc3RydWN0b3IpbWF0Y2hfZGVhbGxvYywgIC8qIHRwX2RlYWxsb2MgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfcHJpbnQgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfZ2V0YXR0ciAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9zZXRhdHRyICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX3Jlc2VydmVkICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX3JlcHIgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfYXNfbnVtYmVyICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2FzX3NlcXVlbmNlICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2FzX21hcHBpbmcgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfaGFzaCAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9jYWxsICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX3N0ciAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9nZXRhdHRybyAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9zZXRhdHRybyAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9hc19idWZmZXIgKi8KKyAgICBQeV9UUEZMQUdTX0RFRkFVTFQsICAgICAgICAgLyogdHBfZmxhZ3MgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfZG9jICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX3RyYXZlcnNlICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2NsZWFyICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX3JpY2hjb21wYXJlICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX3dlYWtsaXN0b2Zmc2V0ICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2l0ZXIgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfaXRlcm5leHQgKi8KKyAgICBtYXRjaF9tZXRob2RzLCAgICAgICAgICAgICAgLyogdHBfbWV0aG9kcyAqLworICAgIG1hdGNoX21lbWJlcnMsICAgICAgICAgICAgICAvKiB0cF9tZW1iZXJzICovCisgICAgbWF0Y2hfZ2V0c2V0LCAgICAgICAgICAgICAgIC8qIHRwX2dldHNldCAqLwogfTsKIAogc3RhdGljIFB5T2JqZWN0KgpAQCAtMzc2MCwxMiArMzcyNywxMCBAQAogCiAgICAgc3RhdGUtPnB0ciA9IHN0YXRlLT5zdGFydDsKIAotICAgIGlmIChzdGF0ZS0+Y2hhcnNpemUgPT0gMSkgeworICAgIGlmIChzdGF0ZS0+bG9naWNhbF9jaGFyc2l6ZSA9PSAxKSB7CiAgICAgICAgIHN0YXR1cyA9IHNyZV9tYXRjaChzdGF0ZSwgUGF0dGVybk9iamVjdF9HZXRDb2RlKHNlbGYtPnBhdHRlcm4pKTsKICAgICB9IGVsc2UgewotI2lmIGRlZmluZWQoSEFWRV9VTklDT0RFKQogICAgICAgICBzdGF0dXMgPSBzcmVfdW1hdGNoKHN0YXRlLCBQYXR0ZXJuT2JqZWN0X0dldENvZGUoc2VsZi0+cGF0dGVybikpOwotI2VuZGlmCiAgICAgfQogICAgIGlmIChQeUVycl9PY2N1cnJlZCgpKQogICAgICAgICByZXR1cm4gTlVMTDsKQEAgLTM3OTMsMTIgKzM3NTgsMTAgQEAKIAogICAgIHN0YXRlLT5wdHIgPSBzdGF0ZS0+c3RhcnQ7CiAKLSAgICBpZiAoc3RhdGUtPmNoYXJzaXplID09IDEpIHsKKyAgICBpZiAoc3RhdGUtPmxvZ2ljYWxfY2hhcnNpemUgPT0gMSkgewogICAgICAgICBzdGF0dXMgPSBzcmVfc2VhcmNoKHN0YXRlLCBQYXR0ZXJuT2JqZWN0X0dldENvZGUoc2VsZi0+cGF0dGVybikpOwogICAgIH0gZWxzZSB7Ci0jaWYgZGVmaW5lZChIQVZFX1VOSUNPREUpCiAgICAgICAgIHN0YXR1cyA9IHNyZV91c2VhcmNoKHN0YXRlLCBQYXR0ZXJuT2JqZWN0X0dldENvZGUoc2VsZi0+cGF0dGVybikpOwotI2VuZGlmCiAgICAgfQogICAgIGlmIChQeUVycl9PY2N1cnJlZCgpKQogICAgICAgICByZXR1cm4gTlVMTDsKQEAgLTM4MjIsNyArMzc4NSw3IEBACiAKICNkZWZpbmUgU0NBTl9PRkYoeCkgb2Zmc2V0b2YoU2Nhbm5lck9iamVjdCwgeCkKIHN0YXRpYyBQeU1lbWJlckRlZiBzY2FubmVyX21lbWJlcnNbXSA9IHsKLSAgICB7InBhdHRlcm4iLAlUX09CSkVDVCwJU0NBTl9PRkYocGF0dGVybiksCVJFQURPTkxZfSwKKyAgICB7InBhdHRlcm4iLCBUX09CSkVDVCwgU0NBTl9PRkYocGF0dGVybiksIFJFQURPTkxZfSwKICAgICB7TlVMTH0gIC8qIFNlbnRpbmVsICovCiB9OwogCkBAIC0zODMxLDM1ICszNzk0LDM1IEBACiAgICAgIl8iIFNSRV9NT0RVTEUgIi5TUkVfU2Nhbm5lciIsCiAgICAgc2l6ZW9mKFNjYW5uZXJPYmplY3QpLCAwLAogICAgIChkZXN0cnVjdG9yKXNjYW5uZXJfZGVhbGxvYywvKiB0cF9kZWFsbG9jICovCi0gICAgMCwJCQkJLyogdHBfcHJpbnQgKi8KLSAgICAwLAkJCQkvKiB0cF9nZXRhdHRyICovCi0gICAgMCwJCQkJLyogdHBfc2V0YXR0ciAqLwotICAgIDAsCQkJCS8qIHRwX3Jlc2VydmVkICovCi0gICAgMCwJCQkJLyogdHBfcmVwciAqLwotICAgIDAsCQkJCS8qIHRwX2FzX251bWJlciAqLwotICAgIDAsCQkJCS8qIHRwX2FzX3NlcXVlbmNlICovCi0gICAgMCwJCQkJLyogdHBfYXNfbWFwcGluZyAqLwotICAgIDAsCQkJCS8qIHRwX2hhc2ggKi8KLSAgICAwLAkJCQkvKiB0cF9jYWxsICovCi0gICAgMCwJCQkJLyogdHBfc3RyICovCi0gICAgMCwJCQkJLyogdHBfZ2V0YXR0cm8gKi8KLSAgICAwLAkJCQkvKiB0cF9zZXRhdHRybyAqLwotICAgIDAsCQkJCS8qIHRwX2FzX2J1ZmZlciAqLwotICAgIFB5X1RQRkxBR1NfREVGQVVMVCwJCS8qIHRwX2ZsYWdzICovCi0gICAgMCwJCQkJLyogdHBfZG9jICovCi0gICAgMCwJCQkJLyogdHBfdHJhdmVyc2UgKi8KLSAgICAwLAkJCQkvKiB0cF9jbGVhciAqLwotICAgIDAsCQkJCS8qIHRwX3JpY2hjb21wYXJlICovCi0gICAgMCwJCQkJLyogdHBfd2Vha2xpc3RvZmZzZXQgKi8KLSAgICAwLAkJCQkvKiB0cF9pdGVyICovCi0gICAgMCwJCQkJLyogdHBfaXRlcm5leHQgKi8KLSAgICBzY2FubmVyX21ldGhvZHMsCQkvKiB0cF9tZXRob2RzICovCi0gICAgc2Nhbm5lcl9tZW1iZXJzLAkJLyogdHBfbWVtYmVycyAqLwotICAgIDAsCQkJCS8qIHRwX2dldHNldCAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9wcmludCAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9nZXRhdHRyICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX3NldGF0dHIgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfcmVzZXJ2ZWQgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfcmVwciAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9hc19udW1iZXIgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfYXNfc2VxdWVuY2UgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfYXNfbWFwcGluZyAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9oYXNoICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2NhbGwgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfc3RyICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2dldGF0dHJvICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX3NldGF0dHJvICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2FzX2J1ZmZlciAqLworICAgIFB5X1RQRkxBR1NfREVGQVVMVCwgICAgICAgICAvKiB0cF9mbGFncyAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9kb2MgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfdHJhdmVyc2UgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfY2xlYXIgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfcmljaGNvbXBhcmUgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfd2Vha2xpc3RvZmZzZXQgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfaXRlciAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9pdGVybmV4dCAqLworICAgIHNjYW5uZXJfbWV0aG9kcywgICAgICAgICAgICAvKiB0cF9tZXRob2RzICovCisgICAgc2Nhbm5lcl9tZW1iZXJzLCAgICAgICAgICAgIC8qIHRwX21lbWJlcnMgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfZ2V0c2V0ICovCiB9OwogCiBzdGF0aWMgUHlPYmplY3QqCi1wYXR0ZXJuX3NjYW5uZXIoUGF0dGVybk9iamVjdCogcGF0dGVybiwgUHlPYmplY3QqIGFyZ3MpCitwYXR0ZXJuX3NjYW5uZXIoUGF0dGVybk9iamVjdCogcGF0dGVybiwgUHlPYmplY3QqIGFyZ3MsIFB5T2JqZWN0KiBrdykKIHsKICAgICAvKiBjcmVhdGUgc2VhcmNoIHN0YXRlIG9iamVjdCAqLwogCkBAIC0zODY4LDcgKzM4MzEsOSBAQAogICAgIFB5T2JqZWN0KiBzdHJpbmc7CiAgICAgUHlfc3NpemVfdCBzdGFydCA9IDA7CiAgICAgUHlfc3NpemVfdCBlbmQgPSBQWV9TU0laRV9UX01BWDsKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIk98bm46c2Nhbm5lciIsICZzdHJpbmcsICZzdGFydCwgJmVuZCkpCisgICAgc3RhdGljIGNoYXIqIGt3bGlzdFtdID0geyAic291cmNlIiwgInBvcyIsICJlbmRwb3MiLCBOVUxMIH07CisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3csICJPfG5uOnNjYW5uZXIiLCBrd2xpc3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnN0cmluZywgJnN0YXJ0LCAmZW5kKSkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKICAgICAvKiBjcmVhdGUgc2Nhbm5lciBvYmplY3QgKi8KQEAgLTM4OTcsMTUgKzM4NjIsMTUgQEAKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgUHlNb2R1bGVEZWYgc3JlbW9kdWxlID0gewotCVB5TW9kdWxlRGVmX0hFQURfSU5JVCwKLQkiXyIgU1JFX01PRFVMRSwKLQlOVUxMLAotCS0xLAotCV9mdW5jdGlvbnMsCi0JTlVMTCwKLQlOVUxMLAotCU5VTEwsCi0JTlVMTAorICAgICAgICBQeU1vZHVsZURlZl9IRUFEX0lOSVQsCisgICAgICAgICJfIiBTUkVfTU9EVUxFLAorICAgICAgICBOVUxMLAorICAgICAgICAtMSwKKyAgICAgICAgX2Z1bmN0aW9ucywKKyAgICAgICAgTlVMTCwKKyAgICAgICAgTlVMTCwKKyAgICAgICAgTlVMTCwKKyAgICAgICAgTlVMTAogfTsKIAogUHlNT0RJTklUX0ZVTkMgUHlJbml0X19zcmUodm9pZCkKQEAgLTM5MjEsNyArMzg4Niw3IEBACiAKICAgICBtID0gUHlNb2R1bGVfQ3JlYXRlKCZzcmVtb2R1bGUpOwogICAgIGlmIChtID09IE5VTEwpCi0gICAgCXJldHVybiBOVUxMOworICAgICAgICByZXR1cm4gTlVMTDsKICAgICBkID0gUHlNb2R1bGVfR2V0RGljdChtKTsKIAogICAgIHggPSBQeUxvbmdfRnJvbUxvbmcoU1JFX01BR0lDKTsKZGlmZiAtLWdpdCBhL01vZHVsZXMvX3NzbC5jIGIvTW9kdWxlcy9fc3NsLmMKaW5kZXggM2ZhMmQ2YS4uNjkwZDBiZSAxMDA2NDQKLS0tIGEvTW9kdWxlcy9fc3NsLmMKKysrIGIvTW9kdWxlcy9fc3NsLmMKQEAgLTE4LDE2ICsxOCwyMSBAQAogCiAjaWZkZWYgV0lUSF9USFJFQUQKICNpbmNsdWRlICJweXRocmVhZC5oIgorI2RlZmluZSBQeVNTTF9CRUdJTl9BTExPV19USFJFQURTX1Moc2F2ZSkgXAorICAgIGRvIHsgaWYgKF9zc2xfbG9ja3NfY291bnQ+MCkgeyAoc2F2ZSkgPSBQeUV2YWxfU2F2ZVRocmVhZCgpOyB9IH0gd2hpbGUgKDApCisjZGVmaW5lIFB5U1NMX0VORF9BTExPV19USFJFQURTX1Moc2F2ZSkgXAorICAgIGRvIHsgaWYgKF9zc2xfbG9ja3NfY291bnQ+MCkgeyBQeUV2YWxfUmVzdG9yZVRocmVhZChzYXZlKTsgfSB9IHdoaWxlICgwKQogI2RlZmluZSBQeVNTTF9CRUdJTl9BTExPV19USFJFQURTIHsgXAogICAgICAgICAgICAgUHlUaHJlYWRTdGF0ZSAqX3NhdmUgPSBOVUxMOyAgXAotICAgICAgICAgICAgaWYgKF9zc2xfbG9ja3NfY291bnQ+MCkge19zYXZlID0gUHlFdmFsX1NhdmVUaHJlYWQoKTt9Ci0jZGVmaW5lIFB5U1NMX0JMT0NLX1RIUkVBRFMgICAgIGlmIChfc3NsX2xvY2tzX2NvdW50PjApe1B5RXZhbF9SZXN0b3JlVGhyZWFkKF9zYXZlKX07Ci0jZGVmaW5lIFB5U1NMX1VOQkxPQ0tfVEhSRUFEUyAgIGlmIChfc3NsX2xvY2tzX2NvdW50PjApe19zYXZlID0gUHlFdmFsX1NhdmVUaHJlYWQoKX07Ci0jZGVmaW5lIFB5U1NMX0VORF9BTExPV19USFJFQURTIGlmIChfc3NsX2xvY2tzX2NvdW50PjApe1B5RXZhbF9SZXN0b3JlVGhyZWFkKF9zYXZlKTt9IFwKLSAgICAgICAgIH0KKyAgICAgICAgICAgIFB5U1NMX0JFR0lOX0FMTE9XX1RIUkVBRFNfUyhfc2F2ZSk7CisjZGVmaW5lIFB5U1NMX0JMT0NLX1RIUkVBRFMgICAgIFB5U1NMX0VORF9BTExPV19USFJFQURTX1MoX3NhdmUpOworI2RlZmluZSBQeVNTTF9VTkJMT0NLX1RIUkVBRFMgICBQeVNTTF9CRUdJTl9BTExPV19USFJFQURTX1MoX3NhdmUpOworI2RlZmluZSBQeVNTTF9FTkRfQUxMT1dfVEhSRUFEUyBQeVNTTF9FTkRfQUxMT1dfVEhSRUFEU19TKF9zYXZlKTsgfQogCiAjZWxzZSAgIC8qIG5vIFdJVEhfVEhSRUFEICovCiAKKyNkZWZpbmUgUHlTU0xfQkVHSU5fQUxMT1dfVEhSRUFEU19TKHNhdmUpCisjZGVmaW5lIFB5U1NMX0VORF9BTExPV19USFJFQURTX1Moc2F2ZSkKICNkZWZpbmUgUHlTU0xfQkVHSU5fQUxMT1dfVEhSRUFEUwogI2RlZmluZSBQeVNTTF9CTE9DS19USFJFQURTCiAjZGVmaW5lIFB5U1NMX1VOQkxPQ0tfVEhSRUFEUwpAQCAtOTQsNiArOTksMTEgQEAKIAogLyogU1NMIGVycm9yIG9iamVjdCAqLwogc3RhdGljIFB5T2JqZWN0ICpQeVNTTEVycm9yT2JqZWN0Oworc3RhdGljIFB5T2JqZWN0ICpQeVNTTFplcm9SZXR1cm5FcnJvck9iamVjdDsKK3N0YXRpYyBQeU9iamVjdCAqUHlTU0xXYW50UmVhZEVycm9yT2JqZWN0Oworc3RhdGljIFB5T2JqZWN0ICpQeVNTTFdhbnRXcml0ZUVycm9yT2JqZWN0Oworc3RhdGljIFB5T2JqZWN0ICpQeVNTTFN5c2NhbGxFcnJvck9iamVjdDsKK3N0YXRpYyBQeU9iamVjdCAqUHlTU0xFT0ZFcnJvck9iamVjdDsKIAogI2lmZGVmIFdJVEhfVEhSRUFECiAKQEAgLTEyNCw2ICsxMzQsMjggQEAKICMgdW5kZWYgSEFWRV9TU0xfQ1RYX0NMRUFSX09QVElPTlMKICNlbmRpZgogCisvKiBJbiBjYXNlIG9mICd0bHMtdW5pcXVlJyBpdCB3aWxsIGJlIDEyIGJ5dGVzIGZvciBUTFMsIDM2IGJ5dGVzIGZvcgorICogb2xkZXIgU1NMLCBidXQgbGV0J3MgYmUgc2FmZSAqLworI2RlZmluZSBQeVNTTF9DQl9NQVhMRU4gMTI4CisKKy8qIFNTTF9nZXRfZmluaXNoZWQgZ290IGFkZGVkIHRvIE9wZW5TU0wgaW4gMC45LjUgKi8KKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSID49IDB4MDA5MDUwMGZMCisjIGRlZmluZSBIQVZFX09QRU5TU0xfRklOSVNIRUQgMQorI2Vsc2UKKyMgZGVmaW5lIEhBVkVfT1BFTlNTTF9GSU5JU0hFRCAwCisjZW5kaWYKKworLyogRUNESCBzdXBwb3J0IGdvdCBhZGRlZCB0byBPcGVuU1NMIGluIDAuOS44ICovCisjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MDA5MDgwMGZMICYmICFkZWZpbmVkKE9QRU5TU0xfTk9fRUNESCkKKyMgZGVmaW5lIE9QRU5TU0xfTk9fRUNESAorI2VuZGlmCisKKy8qIGNvbXByZXNzaW9uIHN1cHBvcnQgZ290IGFkZGVkIHRvIE9wZW5TU0wgaW4gMC45LjggKi8KKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgwMDkwODAwZkwgJiYgIWRlZmluZWQoT1BFTlNTTF9OT19DT01QKQorIyBkZWZpbmUgT1BFTlNTTF9OT19DT01QCisjZW5kaWYKKworCiB0eXBlZGVmIHN0cnVjdCB7CiAgICAgUHlPYmplY3RfSEVBRAogICAgIFNTTF9DVFggKmN0eDsKQEAgLTEzNSw2ICsxNjcsNyBAQAogICAgIFNTTCAqc3NsOwogICAgIFg1MDkgKnBlZXJfY2VydDsKICAgICBpbnQgc2h1dGRvd25fc2Vlbl96ZXJvOworICAgIGVudW0gcHlfc3NsX3NlcnZlcl9vcl9jbGllbnQgc29ja2V0X3R5cGU7CiB9IFB5U1NMU29ja2V0OwogCiBzdGF0aWMgUHlUeXBlT2JqZWN0IFB5U1NMQ29udGV4dF9UeXBlOwpAQCAtMTc0LDYgKzIwNyw3IEBACiBQeVNTTF9TZXRFcnJvcihQeVNTTFNvY2tldCAqb2JqLCBpbnQgcmV0LCBjaGFyICpmaWxlbmFtZSwgaW50IGxpbmVubykKIHsKICAgICBQeU9iamVjdCAqdjsKKyAgICBQeU9iamVjdCAqdHlwZSA9IFB5U1NMRXJyb3JPYmplY3Q7CiAgICAgY2hhciBidWZbMjA0OF07CiAgICAgY2hhciAqZXJyc3RyOwogICAgIGludCBlcnI7CkBAIC0xODYsMTUgKzIyMCwxOCBAQAogCiAgICAgICAgIHN3aXRjaCAoZXJyKSB7CiAgICAgICAgIGNhc2UgU1NMX0VSUk9SX1pFUk9fUkVUVVJOOgotICAgICAgICAgICAgZXJyc3RyID0gIlRMUy9TU0wgY29ubmVjdGlvbiBoYXMgYmVlbiBjbG9zZWQiOworICAgICAgICAgICAgZXJyc3RyID0gIlRMUy9TU0wgY29ubmVjdGlvbiBoYXMgYmVlbiBjbG9zZWQgKEVPRikiOworICAgICAgICAgICAgdHlwZSA9IFB5U1NMWmVyb1JldHVybkVycm9yT2JqZWN0OwogICAgICAgICAgICAgcCA9IFBZX1NTTF9FUlJPUl9aRVJPX1JFVFVSTjsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIFNTTF9FUlJPUl9XQU5UX1JFQUQ6CiAgICAgICAgICAgICBlcnJzdHIgPSAiVGhlIG9wZXJhdGlvbiBkaWQgbm90IGNvbXBsZXRlIChyZWFkKSI7CisgICAgICAgICAgICB0eXBlID0gUHlTU0xXYW50UmVhZEVycm9yT2JqZWN0OwogICAgICAgICAgICAgcCA9IFBZX1NTTF9FUlJPUl9XQU5UX1JFQUQ7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBTU0xfRVJST1JfV0FOVF9XUklURToKICAgICAgICAgICAgIHAgPSBQWV9TU0xfRVJST1JfV0FOVF9XUklURTsKKyAgICAgICAgICAgIHR5cGUgPSBQeVNTTFdhbnRXcml0ZUVycm9yT2JqZWN0OwogICAgICAgICAgICAgZXJyc3RyID0gIlRoZSBvcGVyYXRpb24gZGlkIG5vdCBjb21wbGV0ZSAod3JpdGUpIjsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIFNTTF9FUlJPUl9XQU5UX1g1MDlfTE9PS1VQOgpAQCAtMjEzLDYgKzI1MCw3IEBACiAgICAgICAgICAgICAgICAgICA9IChQeVNvY2tldFNvY2tPYmplY3QgKikgUHlXZWFrcmVmX0dldE9iamVjdChvYmotPlNvY2tldCk7CiAgICAgICAgICAgICAgICAgaWYgKHJldCA9PSAwIHx8ICgoKFB5T2JqZWN0ICopcykgPT0gUHlfTm9uZSkpIHsKICAgICAgICAgICAgICAgICAgICAgcCA9IFBZX1NTTF9FUlJPUl9FT0Y7CisgICAgICAgICAgICAgICAgICAgIHR5cGUgPSBQeVNTTEVPRkVycm9yT2JqZWN0OwogICAgICAgICAgICAgICAgICAgICBlcnJzdHIgPSAiRU9GIG9jY3VycmVkIGluIHZpb2xhdGlvbiBvZiBwcm90b2NvbCI7CiAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChyZXQgPT0gLTEpIHsKICAgICAgICAgICAgICAgICAgICAgLyogdW5kZXJseWluZyBCSU8gcmVwb3J0ZWQgYW4gSS9PIGVycm9yICovCkBAIC0yMjMsNiArMjYxLDcgQEAKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHY7CiAgICAgICAgICAgICAgICAgfSBlbHNlIHsgLyogcG9zc2libGU/ICovCiAgICAgICAgICAgICAgICAgICAgIHAgPSBQWV9TU0xfRVJST1JfU1lTQ0FMTDsKKyAgICAgICAgICAgICAgICAgICAgdHlwZSA9IFB5U1NMU3lzY2FsbEVycm9yT2JqZWN0OwogICAgICAgICAgICAgICAgICAgICBlcnJzdHIgPSAiU29tZSBJL08gZXJyb3Igb2NjdXJyZWQiOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0gZWxzZSB7CkBAIC0yNTUsNyArMjk0LDcgQEAKICAgICBFUlJfY2xlYXJfZXJyb3IoKTsKICAgICB2ID0gUHlfQnVpbGRWYWx1ZSgiKGlzKSIsIHAsIGJ1Zik7CiAgICAgaWYgKHYgIT0gTlVMTCkgewotICAgICAgICBQeUVycl9TZXRPYmplY3QoUHlTU0xFcnJvck9iamVjdCwgdik7CisgICAgICAgIFB5RXJyX1NldE9iamVjdCh0eXBlLCB2KTsKICAgICAgICAgUHlfREVDUkVGKHYpOwogICAgIH0KICAgICByZXR1cm4gTlVMTDsKQEAgLTMyOCw2ICszNjcsNyBAQAogICAgICAgICBTU0xfc2V0X2FjY2VwdF9zdGF0ZShzZWxmLT5zc2wpOwogICAgIFB5U1NMX0VORF9BTExPV19USFJFQURTCiAKKyAgICBzZWxmLT5zb2NrZXRfdHlwZSA9IHNvY2tldF90eXBlOwogICAgIHNlbGYtPlNvY2tldCA9IFB5V2Vha3JlZl9OZXdSZWYoKFB5T2JqZWN0ICopIHNvY2ssIE5VTEwpOwogICAgIHJldHVybiBzZWxmOwogfQpAQCAtMzU2LDcgKzM5Niw2IEBACiAKICAgICAvKiBBY3R1YWxseSBuZWdvdGlhdGUgU1NMIGNvbm5lY3Rpb24gKi8KICAgICAvKiBYWFggSWYgU1NMX2RvX2hhbmRzaGFrZSgpIHJldHVybnMgMCwgaXQncyBhbHNvIGEgZmFpbHVyZS4gKi8KLSAgICBzb2Nrc3RhdGUgPSAwOwogICAgIGRvIHsKICAgICAgICAgUHlTU0xfQkVHSU5fQUxMT1dfVEhSRUFEUwogICAgICAgICByZXQgPSBTU0xfZG9faGFuZHNoYWtlKHNlbGYtPnNzbCk7CkBAIC05NzYsNiArMTAxNSwyNSBAQAogICAgIHJldHVybiBOVUxMOwogfQogCitzdGF0aWMgUHlPYmplY3QgKlB5U1NMX2NvbXByZXNzaW9uKFB5U1NMU29ja2V0ICpzZWxmKSB7CisjaWZkZWYgT1BFTlNTTF9OT19DT01QCisgICAgUHlfUkVUVVJOX05PTkU7CisjZWxzZQorICAgIGNvbnN0IENPTVBfTUVUSE9EICpjb21wX21ldGhvZDsKKyAgICBjb25zdCBjaGFyICpzaG9ydF9uYW1lOworCisgICAgaWYgKHNlbGYtPnNzbCA9PSBOVUxMKQorICAgICAgICBQeV9SRVRVUk5fTk9ORTsKKyAgICBjb21wX21ldGhvZCA9IFNTTF9nZXRfY3VycmVudF9jb21wcmVzc2lvbihzZWxmLT5zc2wpOworICAgIGlmIChjb21wX21ldGhvZCA9PSBOVUxMIHx8IGNvbXBfbWV0aG9kLT50eXBlID09IE5JRF91bmRlZikKKyAgICAgICAgUHlfUkVUVVJOX05PTkU7CisgICAgc2hvcnRfbmFtZSA9IE9CSl9uaWQyc24oY29tcF9tZXRob2QtPnR5cGUpOworICAgIGlmIChzaG9ydF9uYW1lID09IE5VTEwpCisgICAgICAgIFB5X1JFVFVSTl9OT05FOworICAgIHJldHVybiBQeVVuaWNvZGVfRGVjb2RlRlNEZWZhdWx0KHNob3J0X25hbWUpOworI2VuZGlmCit9CisKIHN0YXRpYyB2b2lkIFB5U1NMX2RlYWxsb2MoUHlTU0xTb2NrZXQgKnNlbGYpCiB7CiAgICAgaWYgKHNlbGYtPnBlZXJfY2VydCkgICAgICAgIC8qIFBvc3NpYmxlIG5vdCB0byBoYXZlIG9uZT8gKi8KQEAgLTEwOTYsNyArMTE1NCw2IEBACiAgICAgICAgIGdvdG8gZXJyb3I7CiAgICAgfQogICAgIGRvIHsKLSAgICAgICAgZXJyID0gMDsKICAgICAgICAgUHlTU0xfQkVHSU5fQUxMT1dfVEhSRUFEUwogICAgICAgICBsZW4gPSBTU0xfd3JpdGUoc2VsZi0+c3NsLCBidWYuYnVmLCBidWYubGVuKTsKICAgICAgICAgZXJyID0gU1NMX2dldF9lcnJvcihzZWxmLT5zc2wsIGxlbik7CkBAIC0xMjMyLDcgKzEyODksNiBAQAogICAgICAgICB9CiAgICAgfQogICAgIGRvIHsKLSAgICAgICAgZXJyID0gMDsKICAgICAgICAgUHlTU0xfQkVHSU5fQUxMT1dfVEhSRUFEUwogICAgICAgICBjb3VudCA9IFNTTF9yZWFkKHNlbGYtPnNzbCwgbWVtLCBsZW4pOwogICAgICAgICBlcnIgPSBTU0xfZ2V0X2Vycm9yKHNlbGYtPnNzbCwgY291bnQpOwpAQCAtMTM4NCw2ICsxNDQwLDQxIEBACiBEb2VzIHRoZSBTU0wgc2h1dGRvd24gaGFuZHNoYWtlIHdpdGggdGhlIHJlbW90ZSBlbmQsIGFuZCByZXR1cm5zXG5cCiB0aGUgdW5kZXJseWluZyBzb2NrZXQgb2JqZWN0LiIpOwogCisjaWYgSEFWRV9PUEVOU1NMX0ZJTklTSEVECitzdGF0aWMgUHlPYmplY3QgKgorUHlTU0xfdGxzX3VuaXF1ZV9jYihQeVNTTFNvY2tldCAqc2VsZikKK3sKKyAgICBQeU9iamVjdCAqcmV0dmFsID0gTlVMTDsKKyAgICBjaGFyIGJ1ZltQeVNTTF9DQl9NQVhMRU5dOworICAgIGludCBsZW47CisKKyAgICBpZiAoU1NMX3Nlc3Npb25fcmV1c2VkKHNlbGYtPnNzbCkgXiAhc2VsZi0+c29ja2V0X3R5cGUpIHsKKyAgICAgICAgLyogaWYgc2Vzc2lvbiBpcyByZXN1bWVkIFhPUiB3ZSBhcmUgdGhlIGNsaWVudCAqLworICAgICAgICBsZW4gPSBTU0xfZ2V0X2ZpbmlzaGVkKHNlbGYtPnNzbCwgYnVmLCBQeVNTTF9DQl9NQVhMRU4pOworICAgIH0KKyAgICBlbHNlIHsKKyAgICAgICAgLyogaWYgYSBuZXcgc2Vzc2lvbiBYT1Igd2UgYXJlIHRoZSBzZXJ2ZXIgKi8KKyAgICAgICAgbGVuID0gU1NMX2dldF9wZWVyX2ZpbmlzaGVkKHNlbGYtPnNzbCwgYnVmLCBQeVNTTF9DQl9NQVhMRU4pOworICAgIH0KKworICAgIC8qIEl0IGNhbm5vdCBiZSBuZWdhdGl2ZSBpbiBjdXJyZW50IE9wZW5TU0wgdmVyc2lvbiBhcyBvZiBKdWx5IDIwMTEgKi8KKyAgICBhc3NlcnQobGVuID49IDApOworICAgIGlmIChsZW4gPT0gMCkKKyAgICAgICAgUHlfUkVUVVJOX05PTkU7CisKKyAgICByZXR2YWwgPSBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplKGJ1ZiwgbGVuKTsKKworICAgIHJldHVybiByZXR2YWw7Cit9CisKK1B5RG9jX1NUUlZBUihQeVNTTF90bHNfdW5pcXVlX2NiX2RvYywKKyJ0bHNfdW5pcXVlX2NiKCkgLT4gYnl0ZXNcblwKK1xuXAorUmV0dXJucyB0aGUgJ3Rscy11bmlxdWUnIGNoYW5uZWwgYmluZGluZyBkYXRhLCBhcyBkZWZpbmVkIGJ5IFJGQyA1OTI5LlxuXAorXG5cCitJZiB0aGUgVExTIGhhbmRzaGFrZSBpcyBub3QgeWV0IGNvbXBsZXRlLCBOb25lIGlzIHJldHVybmVkIik7CisKKyNlbmRpZiAvKiBIQVZFX09QRU5TU0xfRklOSVNIRUQgKi8KIAogc3RhdGljIFB5TWV0aG9kRGVmIFB5U1NMTWV0aG9kc1tdID0gewogICAgIHsiZG9faGFuZHNoYWtlIiwgKFB5Q0Z1bmN0aW9uKVB5U1NMX1NTTGRvX2hhbmRzaGFrZSwgTUVUSF9OT0FSR1N9LApAQCAtMTM5Niw4ICsxNDg3LDEzIEBACiAgICAgeyJwZWVyX2NlcnRpZmljYXRlIiwgKFB5Q0Z1bmN0aW9uKVB5U1NMX3BlZXJjZXJ0LCBNRVRIX1ZBUkFSR1MsCiAgICAgIFB5U1NMX3BlZXJjZXJ0X2RvY30sCiAgICAgeyJjaXBoZXIiLCAoUHlDRnVuY3Rpb24pUHlTU0xfY2lwaGVyLCBNRVRIX05PQVJHU30sCisgICAgeyJjb21wcmVzc2lvbiIsIChQeUNGdW5jdGlvbilQeVNTTF9jb21wcmVzc2lvbiwgTUVUSF9OT0FSR1N9LAogICAgIHsic2h1dGRvd24iLCAoUHlDRnVuY3Rpb24pUHlTU0xfU1NMc2h1dGRvd24sIE1FVEhfTk9BUkdTLAogICAgICBQeVNTTF9TU0xzaHV0ZG93bl9kb2N9LAorI2lmIEhBVkVfT1BFTlNTTF9GSU5JU0hFRAorICAgIHsidGxzX3VuaXF1ZV9jYiIsIChQeUNGdW5jdGlvbilQeVNTTF90bHNfdW5pcXVlX2NiLCBNRVRIX05PQVJHUywKKyAgICAgUHlTU0xfdGxzX3VuaXF1ZV9jYl9kb2N9LAorI2VuZGlmCiAgICAge05VTEwsIE5VTEx9CiB9OwogCkBAIC0xNTkxLDE5ICsxNjg3LDExOCBAQAogICAgIHJldHVybiAwOwogfQogCit0eXBlZGVmIHN0cnVjdCB7CisgICAgUHlUaHJlYWRTdGF0ZSAqdGhyZWFkX3N0YXRlOworICAgIFB5T2JqZWN0ICpjYWxsYWJsZTsKKyAgICBjaGFyICpwYXNzd29yZDsKKyAgICBQeV9zc2l6ZV90IHNpemU7CisgICAgaW50IGVycm9yOworfSBfUHlTU0xQYXNzd29yZEluZm87CisKK3N0YXRpYyBpbnQKK19wd2luZm9fc2V0KF9QeVNTTFBhc3N3b3JkSW5mbyAqcHdfaW5mbywgUHlPYmplY3QqIHBhc3N3b3JkLAorICAgICAgICAgICAgY29uc3QgY2hhciAqYmFkX3R5cGVfZXJyb3IpCit7CisgICAgLyogU2V0IHRoZSBwYXNzd29yZCBhbmQgc2l6ZSBmaWVsZHMgb2YgYSBfUHlTU0xQYXNzd29yZEluZm8gc3RydWN0CisgICAgICAgZnJvbSBhIHVuaWNvZGUsIGJ5dGVzLCBvciBieXRlIGFycmF5IG9iamVjdC4KKyAgICAgICBUaGUgcGFzc3dvcmQgZmllbGQgd2lsbCBiZSBkeW5hbWljYWxseSBhbGxvY2F0ZWQgYW5kIG11c3QgYmUgZnJlZWQKKyAgICAgICBieSB0aGUgY2FsbGVyICovCisgICAgUHlPYmplY3QgKnBhc3N3b3JkX2J5dGVzID0gTlVMTDsKKyAgICBjb25zdCBjaGFyICpkYXRhID0gTlVMTDsKKyAgICBQeV9zc2l6ZV90IHNpemU7CisKKyAgICBpZiAoUHlVbmljb2RlX0NoZWNrKHBhc3N3b3JkKSkgeworICAgICAgICBwYXNzd29yZF9ieXRlcyA9IFB5VW5pY29kZV9Bc0VuY29kZWRTdHJpbmcocGFzc3dvcmQsIE5VTEwsIE5VTEwpOworICAgICAgICBpZiAoIXBhc3N3b3JkX2J5dGVzKSB7CisgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICB9CisgICAgICAgIGRhdGEgPSBQeUJ5dGVzX0FTX1NUUklORyhwYXNzd29yZF9ieXRlcyk7CisgICAgICAgIHNpemUgPSBQeUJ5dGVzX0dFVF9TSVpFKHBhc3N3b3JkX2J5dGVzKTsKKyAgICB9IGVsc2UgaWYgKFB5Qnl0ZXNfQ2hlY2socGFzc3dvcmQpKSB7CisgICAgICAgIGRhdGEgPSBQeUJ5dGVzX0FTX1NUUklORyhwYXNzd29yZCk7CisgICAgICAgIHNpemUgPSBQeUJ5dGVzX0dFVF9TSVpFKHBhc3N3b3JkKTsKKyAgICB9IGVsc2UgaWYgKFB5Qnl0ZUFycmF5X0NoZWNrKHBhc3N3b3JkKSkgeworICAgICAgICBkYXRhID0gUHlCeXRlQXJyYXlfQVNfU1RSSU5HKHBhc3N3b3JkKTsKKyAgICAgICAgc2l6ZSA9IFB5Qnl0ZUFycmF5X0dFVF9TSVpFKHBhc3N3b3JkKTsKKyAgICB9IGVsc2UgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCBiYWRfdHlwZV9lcnJvcik7CisgICAgICAgIGdvdG8gZXJyb3I7CisgICAgfQorCisgICAgZnJlZShwd19pbmZvLT5wYXNzd29yZCk7CisgICAgcHdfaW5mby0+cGFzc3dvcmQgPSBtYWxsb2Moc2l6ZSk7CisgICAgaWYgKCFwd19pbmZvLT5wYXNzd29yZCkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfTWVtb3J5RXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAidW5hYmxlIHRvIGFsbG9jYXRlIHBhc3N3b3JkIGJ1ZmZlciIpOworICAgICAgICBnb3RvIGVycm9yOworICAgIH0KKyAgICBtZW1jcHkocHdfaW5mby0+cGFzc3dvcmQsIGRhdGEsIHNpemUpOworICAgIHB3X2luZm8tPnNpemUgPSBzaXplOworCisgICAgUHlfWERFQ1JFRihwYXNzd29yZF9ieXRlcyk7CisgICAgcmV0dXJuIDE7CisKK2Vycm9yOgorICAgIFB5X1hERUNSRUYocGFzc3dvcmRfYnl0ZXMpOworICAgIHJldHVybiAwOworfQorCitzdGF0aWMgaW50CitfcGFzc3dvcmRfY2FsbGJhY2soY2hhciAqYnVmLCBpbnQgc2l6ZSwgaW50IHJ3ZmxhZywgdm9pZCAqdXNlcmRhdGEpCit7CisgICAgX1B5U1NMUGFzc3dvcmRJbmZvICpwd19pbmZvID0gKF9QeVNTTFBhc3N3b3JkSW5mbyopIHVzZXJkYXRhOworICAgIFB5T2JqZWN0ICpmbl9yZXQgPSBOVUxMOworCisgICAgUHlTU0xfRU5EX0FMTE9XX1RIUkVBRFNfUyhwd19pbmZvLT50aHJlYWRfc3RhdGUpOworCisgICAgaWYgKHB3X2luZm8tPmNhbGxhYmxlKSB7CisgICAgICAgIGZuX3JldCA9IFB5T2JqZWN0X0NhbGxGdW5jdGlvbk9iakFyZ3MocHdfaW5mby0+Y2FsbGFibGUsIE5VTEwpOworICAgICAgICBpZiAoIWZuX3JldCkgeworICAgICAgICAgICAgLyogVE9ETzogSXQgd291bGQgYmUgbmljZSB0byBtb3ZlIF9jdHlwZXNfYWRkX3RyYWNlYmFjaygpIGludG8gdGhlCisgICAgICAgICAgICAgICBjb3JlIHB5dGhvbiBBUEksIHNvIHdlIGNvdWxkIHVzZSBpdCB0byBhZGQgYSBmcmFtZSBoZXJlICovCisgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICB9CisKKyAgICAgICAgaWYgKCFfcHdpbmZvX3NldChwd19pbmZvLCBmbl9yZXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgInBhc3N3b3JkIGNhbGxiYWNrIG11c3QgcmV0dXJuIGEgc3RyaW5nIikpIHsKKyAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgIH0KKyAgICAgICAgUHlfQ0xFQVIoZm5fcmV0KTsKKyAgICB9CisKKyAgICBpZiAocHdfaW5mby0+c2l6ZSA+IHNpemUpIHsKKyAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1ZhbHVlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAicGFzc3dvcmQgY2Fubm90IGJlIGxvbmdlciB0aGFuICVkIGJ5dGVzIiwgc2l6ZSk7CisgICAgICAgIGdvdG8gZXJyb3I7CisgICAgfQorCisgICAgUHlTU0xfQkVHSU5fQUxMT1dfVEhSRUFEU19TKHB3X2luZm8tPnRocmVhZF9zdGF0ZSk7CisgICAgbWVtY3B5KGJ1ZiwgcHdfaW5mby0+cGFzc3dvcmQsIHB3X2luZm8tPnNpemUpOworICAgIHJldHVybiBwd19pbmZvLT5zaXplOworCitlcnJvcjoKKyAgICBQeV9YREVDUkVGKGZuX3JldCk7CisgICAgUHlTU0xfQkVHSU5fQUxMT1dfVEhSRUFEU19TKHB3X2luZm8tPnRocmVhZF9zdGF0ZSk7CisgICAgcHdfaW5mby0+ZXJyb3IgPSAxOworICAgIHJldHVybiAtMTsKK30KKwogc3RhdGljIFB5T2JqZWN0ICoKIGxvYWRfY2VydF9jaGFpbihQeVNTTENvbnRleHQgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dkcykKIHsKLSAgICBjaGFyICprd2xpc3RbXSA9IHsiY2VydGZpbGUiLCAia2V5ZmlsZSIsIE5VTEx9OwotICAgIFB5T2JqZWN0ICpjZXJ0ZmlsZSwgKmtleWZpbGUgPSBOVUxMOworICAgIGNoYXIgKmt3bGlzdFtdID0geyJjZXJ0ZmlsZSIsICJrZXlmaWxlIiwgInBhc3N3b3JkIiwgTlVMTH07CisgICAgUHlPYmplY3QgKmNlcnRmaWxlLCAqa2V5ZmlsZSA9IE5VTEwsICpwYXNzd29yZCA9IE5VTEw7CiAgICAgUHlPYmplY3QgKmNlcnRmaWxlX2J5dGVzID0gTlVMTCwgKmtleWZpbGVfYnl0ZXMgPSBOVUxMOworICAgIHBlbV9wYXNzd29yZF9jYiAqb3JpZ19wYXNzd2RfY2IgPSBzZWxmLT5jdHgtPmRlZmF1bHRfcGFzc3dkX2NhbGxiYWNrOworICAgIHZvaWQgKm9yaWdfcGFzc3dkX3VzZXJkYXRhID0gc2VsZi0+Y3R4LT5kZWZhdWx0X3Bhc3N3ZF9jYWxsYmFja191c2VyZGF0YTsKKyAgICBfUHlTU0xQYXNzd29yZEluZm8gcHdfaW5mbyA9IHsgTlVMTCwgTlVMTCwgTlVMTCwgMCwgMCB9OwogICAgIGludCByOwogCiAgICAgZXJybm8gPSAwOwogICAgIEVSUl9jbGVhcl9lcnJvcigpOwogICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3ZHMsCi0gICAgICAgICJPfE86bG9hZF9jZXJ0X2NoYWluIiwga3dsaXN0LAotICAgICAgICAmY2VydGZpbGUsICZrZXlmaWxlKSkKKyAgICAgICAgIk98T086bG9hZF9jZXJ0X2NoYWluIiwga3dsaXN0LAorICAgICAgICAmY2VydGZpbGUsICZrZXlmaWxlLCAmcGFzc3dvcmQpKQogICAgICAgICByZXR1cm4gTlVMTDsKICAgICBpZiAoa2V5ZmlsZSA9PSBQeV9Ob25lKQogICAgICAgICBrZXlmaWxlID0gTlVMTDsKQEAgLTE2MTcsMTIgKzE4MTIsMjYgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICJrZXlmaWxlIHNob3VsZCBiZSBhIHZhbGlkIGZpbGVzeXN0ZW0gcGF0aCIpOwogICAgICAgICBnb3RvIGVycm9yOwogICAgIH0KLSAgICBQeVNTTF9CRUdJTl9BTExPV19USFJFQURTCisgICAgaWYgKHBhc3N3b3JkICYmIHBhc3N3b3JkICE9IFB5X05vbmUpIHsKKyAgICAgICAgaWYgKFB5Q2FsbGFibGVfQ2hlY2socGFzc3dvcmQpKSB7CisgICAgICAgICAgICBwd19pbmZvLmNhbGxhYmxlID0gcGFzc3dvcmQ7CisgICAgICAgIH0gZWxzZSBpZiAoIV9wd2luZm9fc2V0KCZwd19pbmZvLCBwYXNzd29yZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhc3N3b3JkIHNob3VsZCBiZSBhIHN0cmluZyBvciBjYWxsYWJsZSIpKSB7CisgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICB9CisgICAgICAgIFNTTF9DVFhfc2V0X2RlZmF1bHRfcGFzc3dkX2NiKHNlbGYtPmN0eCwgX3Bhc3N3b3JkX2NhbGxiYWNrKTsKKyAgICAgICAgU1NMX0NUWF9zZXRfZGVmYXVsdF9wYXNzd2RfY2JfdXNlcmRhdGEoc2VsZi0+Y3R4LCAmcHdfaW5mbyk7CisgICAgfQorICAgIFB5U1NMX0JFR0lOX0FMTE9XX1RIUkVBRFNfUyhwd19pbmZvLnRocmVhZF9zdGF0ZSk7CiAgICAgciA9IFNTTF9DVFhfdXNlX2NlcnRpZmljYXRlX2NoYWluX2ZpbGUoc2VsZi0+Y3R4LAogICAgICAgICBQeUJ5dGVzX0FTX1NUUklORyhjZXJ0ZmlsZV9ieXRlcykpOwotICAgIFB5U1NMX0VORF9BTExPV19USFJFQURTCisgICAgUHlTU0xfRU5EX0FMTE9XX1RIUkVBRFNfUyhwd19pbmZvLnRocmVhZF9zdGF0ZSk7CiAgICAgaWYgKHIgIT0gMSkgewotICAgICAgICBpZiAoZXJybm8gIT0gMCkgeworICAgICAgICBpZiAocHdfaW5mby5lcnJvcikgeworICAgICAgICAgICAgRVJSX2NsZWFyX2Vycm9yKCk7CisgICAgICAgICAgICAvKiB0aGUgcGFzc3dvcmQgY2FsbGJhY2sgaGFzIGFscmVhZHkgc2V0IHRoZSBlcnJvciBpbmZvcm1hdGlvbiAqLworICAgICAgICB9CisgICAgICAgIGVsc2UgaWYgKGVycm5vICE9IDApIHsKICAgICAgICAgICAgIEVSUl9jbGVhcl9lcnJvcigpOwogICAgICAgICAgICAgUHlFcnJfU2V0RnJvbUVycm5vKFB5RXhjX0lPRXJyb3IpOwogICAgICAgICB9CkBAIC0xNjMxLDMzICsxODQwLDQzIEBACiAgICAgICAgIH0KICAgICAgICAgZ290byBlcnJvcjsKICAgICB9Ci0gICAgUHlTU0xfQkVHSU5fQUxMT1dfVEhSRUFEUworICAgIFB5U1NMX0JFR0lOX0FMTE9XX1RIUkVBRFNfUyhwd19pbmZvLnRocmVhZF9zdGF0ZSk7CiAgICAgciA9IFNTTF9DVFhfdXNlX1ByaXZhdGVLZXlfZmlsZShzZWxmLT5jdHgsCiAgICAgICAgIFB5Qnl0ZXNfQVNfU1RSSU5HKGtleWZpbGUgPyBrZXlmaWxlX2J5dGVzIDogY2VydGZpbGVfYnl0ZXMpLAogICAgICAgICBTU0xfRklMRVRZUEVfUEVNKTsKLSAgICBQeVNTTF9FTkRfQUxMT1dfVEhSRUFEUwotICAgIFB5X1hERUNSRUYoa2V5ZmlsZV9ieXRlcyk7Ci0gICAgUHlfWERFQ1JFRihjZXJ0ZmlsZV9ieXRlcyk7CisgICAgUHlTU0xfRU5EX0FMTE9XX1RIUkVBRFNfUyhwd19pbmZvLnRocmVhZF9zdGF0ZSk7CisgICAgUHlfQ0xFQVIoa2V5ZmlsZV9ieXRlcyk7CisgICAgUHlfQ0xFQVIoY2VydGZpbGVfYnl0ZXMpOwogICAgIGlmIChyICE9IDEpIHsKLSAgICAgICAgaWYgKGVycm5vICE9IDApIHsKKyAgICAgICAgaWYgKHB3X2luZm8uZXJyb3IpIHsKKyAgICAgICAgICAgIEVSUl9jbGVhcl9lcnJvcigpOworICAgICAgICAgICAgLyogdGhlIHBhc3N3b3JkIGNhbGxiYWNrIGhhcyBhbHJlYWR5IHNldCB0aGUgZXJyb3IgaW5mb3JtYXRpb24gKi8KKyAgICAgICAgfQorICAgICAgICBlbHNlIGlmIChlcnJubyAhPSAwKSB7CiAgICAgICAgICAgICBFUlJfY2xlYXJfZXJyb3IoKTsKICAgICAgICAgICAgIFB5RXJyX1NldEZyb21FcnJubyhQeUV4Y19JT0Vycm9yKTsKICAgICAgICAgfQogICAgICAgICBlbHNlIHsKICAgICAgICAgICAgIF9zZXRTU0xFcnJvcihOVUxMLCAwLCBfX0ZJTEVfXywgX19MSU5FX18pOwogICAgICAgICB9Ci0gICAgICAgIHJldHVybiBOVUxMOworICAgICAgICBnb3RvIGVycm9yOwogICAgIH0KLSAgICBQeVNTTF9CRUdJTl9BTExPV19USFJFQURTCisgICAgUHlTU0xfQkVHSU5fQUxMT1dfVEhSRUFEU19TKHB3X2luZm8udGhyZWFkX3N0YXRlKTsKICAgICByID0gU1NMX0NUWF9jaGVja19wcml2YXRlX2tleShzZWxmLT5jdHgpOwotICAgIFB5U1NMX0VORF9BTExPV19USFJFQURTCisgICAgUHlTU0xfRU5EX0FMTE9XX1RIUkVBRFNfUyhwd19pbmZvLnRocmVhZF9zdGF0ZSk7CiAgICAgaWYgKHIgIT0gMSkgewogICAgICAgICBfc2V0U1NMRXJyb3IoTlVMTCwgMCwgX19GSUxFX18sIF9fTElORV9fKTsKLSAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIGdvdG8gZXJyb3I7CiAgICAgfQorICAgIFNTTF9DVFhfc2V0X2RlZmF1bHRfcGFzc3dkX2NiKHNlbGYtPmN0eCwgb3JpZ19wYXNzd2RfY2IpOworICAgIFNTTF9DVFhfc2V0X2RlZmF1bHRfcGFzc3dkX2NiX3VzZXJkYXRhKHNlbGYtPmN0eCwgb3JpZ19wYXNzd2RfdXNlcmRhdGEpOworICAgIGZyZWUocHdfaW5mby5wYXNzd29yZCk7CiAgICAgUHlfUkVUVVJOX05PTkU7CiAKIGVycm9yOgorICAgIFNTTF9DVFhfc2V0X2RlZmF1bHRfcGFzc3dkX2NiKHNlbGYtPmN0eCwgb3JpZ19wYXNzd2RfY2IpOworICAgIFNTTF9DVFhfc2V0X2RlZmF1bHRfcGFzc3dkX2NiX3VzZXJkYXRhKHNlbGYtPmN0eCwgb3JpZ19wYXNzd2RfdXNlcmRhdGEpOworICAgIGZyZWUocHdfaW5mby5wYXNzd29yZCk7CiAgICAgUHlfWERFQ1JFRihrZXlmaWxlX2J5dGVzKTsKICAgICBQeV9YREVDUkVGKGNlcnRmaWxlX2J5dGVzKTsKICAgICByZXR1cm4gTlVMTDsKQEAgLTE3MjAsNiArMTkzOSwzOCBAQAogfQogCiBzdGF0aWMgUHlPYmplY3QgKgorbG9hZF9kaF9wYXJhbXMoUHlTU0xDb250ZXh0ICpzZWxmLCBQeU9iamVjdCAqZmlsZXBhdGgpCit7CisgICAgRklMRSAqZjsKKyAgICBESCAqZGg7CisKKyAgICBmID0gX1B5X2ZvcGVuKGZpbGVwYXRoLCAicmIiKTsKKyAgICBpZiAoZiA9PSBOVUxMKSB7CisgICAgICAgIGlmICghUHlFcnJfT2NjdXJyZWQoKSkKKyAgICAgICAgICAgIFB5RXJyX1NldEZyb21FcnJub1dpdGhGaWxlbmFtZU9iamVjdChQeUV4Y19PU0Vycm9yLCBmaWxlcGF0aCk7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKyAgICBlcnJubyA9IDA7CisgICAgUHlTU0xfQkVHSU5fQUxMT1dfVEhSRUFEUworICAgIGRoID0gUEVNX3JlYWRfREhwYXJhbXMoZiwgTlVMTCwgTlVMTCwgTlVMTCk7CisgICAgUHlTU0xfRU5EX0FMTE9XX1RIUkVBRFMKKyAgICBpZiAoZGggPT0gTlVMTCkgeworICAgICAgICBpZiAoZXJybm8gIT0gMCkgeworICAgICAgICAgICAgRVJSX2NsZWFyX2Vycm9yKCk7CisgICAgICAgICAgICBQeUVycl9TZXRGcm9tRXJybm9XaXRoRmlsZW5hbWVPYmplY3QoUHlFeGNfT1NFcnJvciwgZmlsZXBhdGgpOworICAgICAgICB9CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgX3NldFNTTEVycm9yKE5VTEwsIDAsIF9fRklMRV9fLCBfX0xJTkVfXyk7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorICAgIGlmIChTU0xfQ1RYX3NldF90bXBfZGgoc2VsZi0+Y3R4LCBkaCkgPT0gMCkKKyAgICAgICAgX3NldFNTTEVycm9yKE5VTEwsIDAsIF9fRklMRV9fLCBfX0xJTkVfXyk7CisgICAgREhfZnJlZShkaCk7CisgICAgUHlfUkVUVVJOX05PTkU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCiBjb250ZXh0X3dyYXBfc29ja2V0KFB5U1NMQ29udGV4dCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2RzKQogewogICAgIGNoYXIgKmt3bGlzdFtdID0geyJzb2NrIiwgInNlcnZlcl9zaWRlIiwgInNlcnZlcl9ob3N0bmFtZSIsIE5VTEx9OwpAQCAtMTgwNCw2ICsyMDU1LDM1IEBACiAgICAgUHlfUkVUVVJOX05PTkU7CiB9CiAKKyNpZm5kZWYgT1BFTlNTTF9OT19FQ0RICitzdGF0aWMgUHlPYmplY3QgKgorc2V0X2VjZGhfY3VydmUoUHlTU0xDb250ZXh0ICpzZWxmLCBQeU9iamVjdCAqbmFtZSkKK3sKKyAgICBQeU9iamVjdCAqbmFtZV9ieXRlczsKKyAgICBpbnQgbmlkOworICAgIEVDX0tFWSAqa2V5OworCisgICAgaWYgKCFQeVVuaWNvZGVfRlNDb252ZXJ0ZXIobmFtZSwgJm5hbWVfYnl0ZXMpKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBhc3NlcnQoUHlCeXRlc19DaGVjayhuYW1lX2J5dGVzKSk7CisgICAgbmlkID0gT0JKX3NuMm5pZChQeUJ5dGVzX0FTX1NUUklORyhuYW1lX2J5dGVzKSk7CisgICAgUHlfREVDUkVGKG5hbWVfYnl0ZXMpOworICAgIGlmIChuaWQgPT0gMCkgeworICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVmFsdWVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICJ1bmtub3duIGVsbGlwdGljIGN1cnZlIG5hbWUgJVIiLCBuYW1lKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorICAgIGtleSA9IEVDX0tFWV9uZXdfYnlfY3VydmVfbmFtZShuaWQpOworICAgIGlmIChrZXkgPT0gTlVMTCkgeworICAgICAgICBfc2V0U1NMRXJyb3IoTlVMTCwgMCwgX19GSUxFX18sIF9fTElORV9fKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorICAgIFNTTF9DVFhfc2V0X3RtcF9lY2RoKHNlbGYtPmN0eCwga2V5KTsKKyAgICBFQ19LRVlfZnJlZShrZXkpOworICAgIFB5X1JFVFVSTl9OT05FOworfQorI2VuZGlmCisKIHN0YXRpYyBQeUdldFNldERlZiBjb250ZXh0X2dldHNldGxpc3RbXSA9IHsKICAgICB7Im9wdGlvbnMiLCAoZ2V0dGVyKSBnZXRfb3B0aW9ucywKICAgICAgICAgICAgICAgICAoc2V0dGVyKSBzZXRfb3B0aW9ucywgTlVMTH0sCkBAIC0xODE5LDEyICsyMDk5LDE4IEBACiAgICAgICAgICAgICAgICAgICAgIE1FVEhfVkFSQVJHUywgTlVMTH0sCiAgICAgeyJsb2FkX2NlcnRfY2hhaW4iLCAoUHlDRnVuY3Rpb24pIGxvYWRfY2VydF9jaGFpbiwKICAgICAgICAgICAgICAgICAgICAgICAgIE1FVEhfVkFSQVJHUyB8IE1FVEhfS0VZV09SRFMsIE5VTEx9LAorICAgIHsibG9hZF9kaF9wYXJhbXMiLCAoUHlDRnVuY3Rpb24pIGxvYWRfZGhfcGFyYW1zLAorICAgICAgICAgICAgICAgICAgICAgICBNRVRIX08sIE5VTEx9LAogICAgIHsibG9hZF92ZXJpZnlfbG9jYXRpb25zIiwgKFB5Q0Z1bmN0aW9uKSBsb2FkX3ZlcmlmeV9sb2NhdGlvbnMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNRVRIX1ZBUkFSR1MgfCBNRVRIX0tFWVdPUkRTLCBOVUxMfSwKICAgICB7InNlc3Npb25fc3RhdHMiLCAoUHlDRnVuY3Rpb24pIHNlc3Npb25fc3RhdHMsCiAgICAgICAgICAgICAgICAgICAgICAgTUVUSF9OT0FSR1MsIE5VTEx9LAogICAgIHsic2V0X2RlZmF1bHRfdmVyaWZ5X3BhdGhzIiwgKFB5Q0Z1bmN0aW9uKSBzZXRfZGVmYXVsdF92ZXJpZnlfcGF0aHMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNRVRIX05PQVJHUywgTlVMTH0sCisjaWZuZGVmIE9QRU5TU0xfTk9fRUNESAorICAgIHsic2V0X2VjZGhfY3VydmUiLCAoUHlDRnVuY3Rpb24pIHNldF9lY2RoX2N1cnZlLAorICAgICAgICAgICAgICAgICAgICAgICBNRVRIX08sIE5VTEx9LAorI2VuZGlmCiAgICAge05VTEwsIE5VTEx9ICAgICAgICAvKiBzZW50aW5lbCAqLwogfTsKIApAQCAtMTg5NSw2ICsyMTgxLDY5IEBACiBib3VuZCBvbiB0aGUgZW50cm9weSBjb250YWluZWQgaW4gc3RyaW5nLiAgU2VlIFJGQyAxNzUwLiIpOwogCiBzdGF0aWMgUHlPYmplY3QgKgorUHlTU0xfUkFORChpbnQgbGVuLCBpbnQgcHNldWRvKQoreworICAgIGludCBvazsKKyAgICBQeU9iamVjdCAqYnl0ZXM7CisgICAgdW5zaWduZWQgbG9uZyBlcnI7CisgICAgY29uc3QgY2hhciAqZXJyc3RyOworICAgIFB5T2JqZWN0ICp2OworCisgICAgYnl0ZXMgPSBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplKE5VTEwsIGxlbik7CisgICAgaWYgKGJ5dGVzID09IE5VTEwpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIGlmIChwc2V1ZG8pIHsKKyAgICAgICAgb2sgPSBSQU5EX3BzZXVkb19ieXRlcygodW5zaWduZWQgY2hhciopUHlCeXRlc19BU19TVFJJTkcoYnl0ZXMpLCBsZW4pOworICAgICAgICBpZiAob2sgPT0gMCB8fCBvayA9PSAxKQorICAgICAgICAgICAgcmV0dXJuIFB5X0J1aWxkVmFsdWUoIk5PIiwgYnl0ZXMsIG9rID09IDEgPyBQeV9UcnVlIDogUHlfRmFsc2UpOworICAgIH0KKyAgICBlbHNlIHsKKyAgICAgICAgb2sgPSBSQU5EX2J5dGVzKCh1bnNpZ25lZCBjaGFyKilQeUJ5dGVzX0FTX1NUUklORyhieXRlcyksIGxlbik7CisgICAgICAgIGlmIChvayA9PSAxKQorICAgICAgICAgICAgcmV0dXJuIGJ5dGVzOworICAgIH0KKyAgICBQeV9ERUNSRUYoYnl0ZXMpOworCisgICAgZXJyID0gRVJSX2dldF9lcnJvcigpOworICAgIGVycnN0ciA9IEVSUl9yZWFzb25fZXJyb3Jfc3RyaW5nKGVycik7CisgICAgdiA9IFB5X0J1aWxkVmFsdWUoIihrcykiLCBlcnIsIGVycnN0cik7CisgICAgaWYgKHYgIT0gTlVMTCkgeworICAgICAgICBQeUVycl9TZXRPYmplY3QoUHlTU0xFcnJvck9iamVjdCwgdik7CisgICAgICAgIFB5X0RFQ1JFRih2KTsKKyAgICB9CisgICAgcmV0dXJuIE5VTEw7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitQeVNTTF9SQU5EX2J5dGVzKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBpbnQgbGVuOworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiaTpSQU5EX2J5dGVzIiwgJmxlbikpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIHJldHVybiBQeVNTTF9SQU5EKGxlbiwgMCk7Cit9CisKK1B5RG9jX1NUUlZBUihQeVNTTF9SQU5EX2J5dGVzX2RvYywKKyJSQU5EX2J5dGVzKG4pIC0+IGJ5dGVzXG5cCitcblwKK0dlbmVyYXRlIG4gY3J5cHRvZ3JhcGhpY2FsbHkgc3Ryb25nIHBzZXVkby1yYW5kb20gYnl0ZXMuIik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitQeVNTTF9SQU5EX3BzZXVkb19ieXRlcyhQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgaW50IGxlbjsKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgImk6UkFORF9wc2V1ZG9fYnl0ZXMiLCAmbGVuKSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgcmV0dXJuIFB5U1NMX1JBTkQobGVuLCAxKTsKK30KKworUHlEb2NfU1RSVkFSKFB5U1NMX1JBTkRfcHNldWRvX2J5dGVzX2RvYywKKyJSQU5EX3BzZXVkb19ieXRlcyhuKSAtPiAoYnl0ZXMsIGlzX2NyeXB0b2dyYXBoaWMpXG5cCitcblwKK0dlbmVyYXRlIG4gcHNldWRvLXJhbmRvbSBieXRlcy4gaXNfY3J5cHRvZ3JhcGhpYyBpcyBUcnVlIGlmIHRoZSBieXRlc1wKK2dlbmVyYXRlZCBhcmUgY3J5cHRvZ3JhcGhpY2FsbHkgc3Ryb25nLiIpOworCitzdGF0aWMgUHlPYmplY3QgKgogUHlTU0xfUkFORF9zdGF0dXMoUHlPYmplY3QgKnNlbGYpCiB7CiAgICAgcmV0dXJuIFB5TG9uZ19Gcm9tTG9uZyhSQU5EX3N0YXR1cygpKTsKQEAgLTE5NDcsNiArMjI5NiwxMCBAQAogI2lmZGVmIEhBVkVfT1BFTlNTTF9SQU5ECiAgICAgeyJSQU5EX2FkZCIsICAgICAgICAgICAgUHlTU0xfUkFORF9hZGQsIE1FVEhfVkFSQVJHUywKICAgICAgUHlTU0xfUkFORF9hZGRfZG9jfSwKKyAgICB7IlJBTkRfYnl0ZXMiLCAgICAgICAgICBQeVNTTF9SQU5EX2J5dGVzLCBNRVRIX1ZBUkFSR1MsCisgICAgIFB5U1NMX1JBTkRfYnl0ZXNfZG9jfSwKKyAgICB7IlJBTkRfcHNldWRvX2J5dGVzIiwgICBQeVNTTF9SQU5EX3BzZXVkb19ieXRlcywgTUVUSF9WQVJBUkdTLAorICAgICBQeVNTTF9SQU5EX3BzZXVkb19ieXRlc19kb2N9LAogICAgIHsiUkFORF9lZ2QiLCAgICAgICAgICAgIFB5U1NMX1JBTkRfZWdkLCBNRVRIX1ZBUkFSR1MsCiAgICAgIFB5U1NMX1JBTkRfZWdkX2RvY30sCiAgICAgeyJSQU5EX3N0YXR1cyIsICAgICAgICAgKFB5Q0Z1bmN0aW9uKVB5U1NMX1JBTkRfc3RhdHVzLCBNRVRIX05PQVJHUywKQEAgLTIwNjAsNiArMjQxMywyNyBAQAogICAgICptYWpvciA9IGxpYnZlciAmIDB4RkY7CiB9CiAKK1B5RG9jX1NUUlZBUihTU0xFcnJvcl9kb2MsCisiQW4gZXJyb3Igb2NjdXJyZWQgaW4gdGhlIFNTTCBpbXBsZW1lbnRhdGlvbi4iKTsKKworUHlEb2NfU1RSVkFSKFNTTFplcm9SZXR1cm5FcnJvcl9kb2MsCisiU1NML1RMUyBzZXNzaW9uIGNsb3NlZCBjbGVhbmx5LiIpOworCitQeURvY19TVFJWQVIoU1NMV2FudFJlYWRFcnJvcl9kb2MsCisiTm9uLWJsb2NraW5nIFNTTCBzb2NrZXQgbmVlZHMgdG8gcmVhZCBtb3JlIGRhdGFcbiIKKyJiZWZvcmUgdGhlIHJlcXVlc3RlZCBvcGVyYXRpb24gY2FuIGJlIGNvbXBsZXRlZC4iKTsKKworUHlEb2NfU1RSVkFSKFNTTFdhbnRXcml0ZUVycm9yX2RvYywKKyJOb24tYmxvY2tpbmcgU1NMIHNvY2tldCBuZWVkcyB0byB3cml0ZSBtb3JlIGRhdGFcbiIKKyJiZWZvcmUgdGhlIHJlcXVlc3RlZCBvcGVyYXRpb24gY2FuIGJlIGNvbXBsZXRlZC4iKTsKKworUHlEb2NfU1RSVkFSKFNTTFN5c2NhbGxFcnJvcl9kb2MsCisiU3lzdGVtIGVycm9yIHdoZW4gYXR0ZW1wdGluZyBTU0wgb3BlcmF0aW9uLiIpOworCitQeURvY19TVFJWQVIoU1NMRU9GRXJyb3JfZG9jLAorIlNTTC9UTFMgY29ubmVjdGlvbiB0ZXJtaW5hdGVkIGFicnVwdGx5LiIpOworCisKIFB5TU9ESU5JVF9GVU5DCiBQeUluaXRfX3NzbCh2b2lkKQogewpAQCAtMjA5NiwxMiArMjQ3MCwzOSBAQAogICAgIE9wZW5TU0xfYWRkX2FsbF9hbGdvcml0aG1zKCk7CiAKICAgICAvKiBBZGQgc3ltYm9scyB0byBtb2R1bGUgZGljdCAqLwotICAgIFB5U1NMRXJyb3JPYmplY3QgPSBQeUVycl9OZXdFeGNlcHRpb24oInNzbC5TU0xFcnJvciIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeVNvY2tldE1vZHVsZS5lcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwpOworICAgIFB5U1NMRXJyb3JPYmplY3QgPSBQeUVycl9OZXdFeGNlcHRpb25XaXRoRG9jKCJzc2wuU1NMRXJyb3IiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNTTEVycm9yX2RvYywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeUV4Y19PU0Vycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwpOwogICAgIGlmIChQeVNTTEVycm9yT2JqZWN0ID09IE5VTEwpCiAgICAgICAgIHJldHVybiBOVUxMOwotICAgIGlmIChQeURpY3RfU2V0SXRlbVN0cmluZyhkLCAiU1NMRXJyb3IiLCBQeVNTTEVycm9yT2JqZWN0KSAhPSAwKQorICAgIFB5U1NMWmVyb1JldHVybkVycm9yT2JqZWN0ID0gUHlFcnJfTmV3RXhjZXB0aW9uV2l0aERvYygKKyAgICAgICAgInNzbC5TU0xaZXJvUmV0dXJuRXJyb3IiLCBTU0xaZXJvUmV0dXJuRXJyb3JfZG9jLAorICAgICAgICBQeVNTTEVycm9yT2JqZWN0LCBOVUxMKTsKKyAgICBQeVNTTFdhbnRSZWFkRXJyb3JPYmplY3QgPSBQeUVycl9OZXdFeGNlcHRpb25XaXRoRG9jKAorICAgICAgICAic3NsLlNTTFdhbnRSZWFkRXJyb3IiLCBTU0xXYW50UmVhZEVycm9yX2RvYywKKyAgICAgICAgUHlTU0xFcnJvck9iamVjdCwgTlVMTCk7CisgICAgUHlTU0xXYW50V3JpdGVFcnJvck9iamVjdCA9IFB5RXJyX05ld0V4Y2VwdGlvbldpdGhEb2MoCisgICAgICAgICJzc2wuU1NMV2FudFdyaXRlRXJyb3IiLCBTU0xXYW50V3JpdGVFcnJvcl9kb2MsCisgICAgICAgIFB5U1NMRXJyb3JPYmplY3QsIE5VTEwpOworICAgIFB5U1NMU3lzY2FsbEVycm9yT2JqZWN0ID0gUHlFcnJfTmV3RXhjZXB0aW9uV2l0aERvYygKKyAgICAgICAgInNzbC5TU0xTeXNjYWxsRXJyb3IiLCBTU0xTeXNjYWxsRXJyb3JfZG9jLAorICAgICAgICBQeVNTTEVycm9yT2JqZWN0LCBOVUxMKTsKKyAgICBQeVNTTEVPRkVycm9yT2JqZWN0ID0gUHlFcnJfTmV3RXhjZXB0aW9uV2l0aERvYygKKyAgICAgICAgInNzbC5TU0xFT0ZFcnJvciIsIFNTTEVPRkVycm9yX2RvYywKKyAgICAgICAgUHlTU0xFcnJvck9iamVjdCwgTlVMTCk7CisgICAgaWYgKFB5U1NMWmVyb1JldHVybkVycm9yT2JqZWN0ID09IE5VTEwKKyAgICAgICAgfHwgUHlTU0xXYW50UmVhZEVycm9yT2JqZWN0ID09IE5VTEwKKyAgICAgICAgfHwgUHlTU0xXYW50V3JpdGVFcnJvck9iamVjdCA9PSBOVUxMCisgICAgICAgIHx8IFB5U1NMU3lzY2FsbEVycm9yT2JqZWN0ID09IE5VTEwKKyAgICAgICAgfHwgUHlTU0xFT0ZFcnJvck9iamVjdCA9PSBOVUxMKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBpZiAoUHlEaWN0X1NldEl0ZW1TdHJpbmcoZCwgIlNTTEVycm9yIiwgUHlTU0xFcnJvck9iamVjdCkgIT0gMAorICAgICAgICB8fCBQeURpY3RfU2V0SXRlbVN0cmluZyhkLCAiU1NMWmVyb1JldHVybkVycm9yIiwgUHlTU0xaZXJvUmV0dXJuRXJyb3JPYmplY3QpICE9IDAKKyAgICAgICAgfHwgUHlEaWN0X1NldEl0ZW1TdHJpbmcoZCwgIlNTTFdhbnRSZWFkRXJyb3IiLCBQeVNTTFdhbnRSZWFkRXJyb3JPYmplY3QpICE9IDAKKyAgICAgICAgfHwgUHlEaWN0X1NldEl0ZW1TdHJpbmcoZCwgIlNTTFdhbnRXcml0ZUVycm9yIiwgUHlTU0xXYW50V3JpdGVFcnJvck9iamVjdCkgIT0gMAorICAgICAgICB8fCBQeURpY3RfU2V0SXRlbVN0cmluZyhkLCAiU1NMU3lzY2FsbEVycm9yIiwgUHlTU0xTeXNjYWxsRXJyb3JPYmplY3QpICE9IDAKKyAgICAgICAgfHwgUHlEaWN0X1NldEl0ZW1TdHJpbmcoZCwgIlNTTEVPRkVycm9yIiwgUHlTU0xFT0ZFcnJvck9iamVjdCkgIT0gMCkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgaWYgKFB5RGljdF9TZXRJdGVtU3RyaW5nKGQsICJfU1NMQ29udGV4dCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChQeU9iamVjdCAqKSZQeVNTTENvbnRleHRfVHlwZSkgIT0gMCkKQEAgLTIxNTQsNiArMjU1NSwxNiBAQAogICAgIFB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJPUF9OT19TU0x2MiIsIFNTTF9PUF9OT19TU0x2Mik7CiAgICAgUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIk9QX05PX1NTTHYzIiwgU1NMX09QX05PX1NTTHYzKTsKICAgICBQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiT1BfTk9fVExTdjEiLCBTU0xfT1BfTk9fVExTdjEpOworICAgIFB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJPUF9DSVBIRVJfU0VSVkVSX1BSRUZFUkVOQ0UiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNTTF9PUF9DSVBIRVJfU0VSVkVSX1BSRUZFUkVOQ0UpOworICAgIFB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJPUF9TSU5HTEVfREhfVVNFIiwgU1NMX09QX1NJTkdMRV9ESF9VU0UpOworI2lmZGVmIFNTTF9PUF9TSU5HTEVfRUNESF9VU0UKKyAgICBQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiT1BfU0lOR0xFX0VDREhfVVNFIiwgU1NMX09QX1NJTkdMRV9FQ0RIX1VTRSk7CisjZW5kaWYKKyNpZmRlZiBTU0xfT1BfTk9fQ09NUFJFU1NJT04KKyAgICBQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiT1BfTk9fQ09NUFJFU1NJT04iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNTTF9PUF9OT19DT01QUkVTU0lPTik7CisjZW5kaWYKIAogI2lmZGVmIFNTTF9DVFJMX1NFVF9UTFNFWFRfSE9TVE5BTUUKICAgICByID0gUHlfVHJ1ZTsKQEAgLTIxNjMsNiArMjU3NCwyMiBAQAogICAgIFB5X0lOQ1JFRihyKTsKICAgICBQeU1vZHVsZV9BZGRPYmplY3QobSwgIkhBU19TTkkiLCByKTsKIAorI2lmIEhBVkVfT1BFTlNTTF9GSU5JU0hFRAorICAgIHIgPSBQeV9UcnVlOworI2Vsc2UKKyAgICByID0gUHlfRmFsc2U7CisjZW5kaWYKKyAgICBQeV9JTkNSRUYocik7CisgICAgUHlNb2R1bGVfQWRkT2JqZWN0KG0sICJIQVNfVExTX1VOSVFVRSIsIHIpOworCisjaWZkZWYgT1BFTlNTTF9OT19FQ0RICisgICAgciA9IFB5X0ZhbHNlOworI2Vsc2UKKyAgICByID0gUHlfVHJ1ZTsKKyNlbmRpZgorICAgIFB5X0lOQ1JFRihyKTsKKyAgICBQeU1vZHVsZV9BZGRPYmplY3QobSwgIkhBU19FQ0RIIiwgcik7CisKICAgICAvKiBPcGVuU1NMIHZlcnNpb24gKi8KICAgICAvKiBTU0xlYXkoKSBnaXZlcyB1cyB0aGUgdmVyc2lvbiBvZiB0aGUgbGlicmFyeSBsaW5rZWQgYWdhaW5zdCwKICAgICAgICB3aGljaCBjb3VsZCBiZSBkaWZmZXJlbnQgZnJvbSB0aGUgaGVhZGVycyB2ZXJzaW9uLgpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9fc3RydWN0LmMgYi9Nb2R1bGVzL19zdHJ1Y3QuYwppbmRleCAxNjA0YjkwLi5kY2RjODNlIDEwMDY0NAotLS0gYS9Nb2R1bGVzL19zdHJ1Y3QuYworKysgYi9Nb2R1bGVzL19zdHJ1Y3QuYwpAQCAtNTgsNiArNTgsNyBAQAogdHlwZWRlZiBzdHJ1Y3QgeyBjaGFyIGM7IGZsb2F0IHg7IH0gc3RfZmxvYXQ7CiB0eXBlZGVmIHN0cnVjdCB7IGNoYXIgYzsgZG91YmxlIHg7IH0gc3RfZG91YmxlOwogdHlwZWRlZiBzdHJ1Y3QgeyBjaGFyIGM7IHZvaWQgKng7IH0gc3Rfdm9pZF9wOwordHlwZWRlZiBzdHJ1Y3QgeyBjaGFyIGM7IHNpemVfdCB4OyB9IHN0X3NpemVfdDsKIAogI2RlZmluZSBTSE9SVF9BTElHTiAoc2l6ZW9mKHN0X3Nob3J0KSAtIHNpemVvZihzaG9ydCkpCiAjZGVmaW5lIElOVF9BTElHTiAoc2l6ZW9mKHN0X2ludCkgLSBzaXplb2YoaW50KSkKQEAgLTY1LDYgKzY2LDcgQEAKICNkZWZpbmUgRkxPQVRfQUxJR04gKHNpemVvZihzdF9mbG9hdCkgLSBzaXplb2YoZmxvYXQpKQogI2RlZmluZSBET1VCTEVfQUxJR04gKHNpemVvZihzdF9kb3VibGUpIC0gc2l6ZW9mKGRvdWJsZSkpCiAjZGVmaW5lIFZPSURfUF9BTElHTiAoc2l6ZW9mKHN0X3ZvaWRfcCkgLSBzaXplb2Yodm9pZCAqKSkKKyNkZWZpbmUgU0laRV9UX0FMSUdOIChzaXplb2Yoc3Rfc2l6ZV90KSAtIHNpemVvZihzaXplX3QpKQogCiAvKiBXZSBjYW4ndCBzdXBwb3J0IHEgYW5kIFEgaW4gbmF0aXZlIG1vZGUgdW5sZXNzIHRoZSBjb21waWxlciBkb2VzOwogICAgaW4gc3RkIG1vZGUsIHRoZXkncmUgOCBieXRlcyBvbiBhbGwgcGxhdGZvcm1zLiAqLwpAQCAtMjEzLDYgKzIxNSw1MiBAQAogCiAjZW5kaWYKIAorLyogU2FtZSwgYnV0IGhhbmRsaW5nIFB5X3NzaXplX3QgKi8KKworc3RhdGljIGludAorZ2V0X3NzaXplX3QoUHlPYmplY3QgKnYsIFB5X3NzaXplX3QgKnApCit7CisgICAgUHlfc3NpemVfdCB4OworCisgICAgdiA9IGdldF9weWxvbmcodik7CisgICAgaWYgKHYgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIC0xOworICAgIGFzc2VydChQeUxvbmdfQ2hlY2sodikpOworICAgIHggPSBQeUxvbmdfQXNTc2l6ZV90KHYpOworICAgIFB5X0RFQ1JFRih2KTsKKyAgICBpZiAoeCA9PSAoUHlfc3NpemVfdCktMSAmJiBQeUVycl9PY2N1cnJlZCgpKSB7CisgICAgICAgIGlmIChQeUVycl9FeGNlcHRpb25NYXRjaGVzKFB5RXhjX092ZXJmbG93RXJyb3IpKQorICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFN0cnVjdEVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhcmd1bWVudCBvdXQgb2YgcmFuZ2UiKTsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKyAgICAqcCA9IHg7CisgICAgcmV0dXJuIDA7Cit9CisKKy8qIFNhbWUsIGJ1dCBoYW5kbGluZyBzaXplX3QgKi8KKworc3RhdGljIGludAorZ2V0X3NpemVfdChQeU9iamVjdCAqdiwgc2l6ZV90ICpwKQoreworICAgIHNpemVfdCB4OworCisgICAgdiA9IGdldF9weWxvbmcodik7CisgICAgaWYgKHYgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIC0xOworICAgIGFzc2VydChQeUxvbmdfQ2hlY2sodikpOworICAgIHggPSBQeUxvbmdfQXNTaXplX3Qodik7CisgICAgUHlfREVDUkVGKHYpOworICAgIGlmICh4ID09IChzaXplX3QpLTEgJiYgUHlFcnJfT2NjdXJyZWQoKSkgeworICAgICAgICBpZiAoUHlFcnJfRXhjZXB0aW9uTWF0Y2hlcyhQeUV4Y19PdmVyZmxvd0Vycm9yKSkKKyAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhTdHJ1Y3RFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYXJndW1lbnQgb3V0IG9mIHJhbmdlIik7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisgICAgKnAgPSB4OworICAgIHJldHVybiAwOworfQorCiAKICNkZWZpbmUgUkFOR0VfRVJST1IoeCwgZiwgZmxhZywgbWFzaykgcmV0dXJuIF9yYW5nZV9lcnJvcihmLCBmbGFnKQogCkBAIC0zNjksNiArNDE3LDIzIEBACiAgICAgcmV0dXJuIFB5TG9uZ19Gcm9tVW5zaWduZWRMb25nKHgpOwogfQogCitzdGF0aWMgUHlPYmplY3QgKgorbnVfc3NpemVfdChjb25zdCBjaGFyICpwLCBjb25zdCBmb3JtYXRkZWYgKmYpCit7CisgICAgUHlfc3NpemVfdCB4OworICAgIG1lbWNweSgoY2hhciAqKSZ4LCBwLCBzaXplb2YgeCk7CisgICAgcmV0dXJuIFB5TG9uZ19Gcm9tU3NpemVfdCh4KTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK251X3NpemVfdChjb25zdCBjaGFyICpwLCBjb25zdCBmb3JtYXRkZWYgKmYpCit7CisgICAgc2l6ZV90IHg7CisgICAgbWVtY3B5KChjaGFyICopJngsIHAsIHNpemVvZiB4KTsKKyAgICByZXR1cm4gUHlMb25nX0Zyb21TaXplX3QoeCk7Cit9CisKKwogLyogTmF0aXZlIG1vZGUgZG9lc24ndCBzdXBwb3J0IHEgb3IgUSB1bmxlc3MgdGhlIHBsYXRmb3JtIEMgc3VwcG9ydHMKICAgIGxvbmcgbG9uZyAob3IsIG9uIFdpbmRvd3MsIF9faW50NjQpLiAqLwogCkBAIC01NTgsNiArNjIzLDI2IEBACiAgICAgcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyBpbnQKK25wX3NzaXplX3QoY2hhciAqcCwgUHlPYmplY3QgKnYsIGNvbnN0IGZvcm1hdGRlZiAqZikKK3sKKyAgICBQeV9zc2l6ZV90IHg7CisgICAgaWYgKGdldF9zc2l6ZV90KHYsICZ4KSA8IDApCisgICAgICAgIHJldHVybiAtMTsKKyAgICBtZW1jcHkocCwgKGNoYXIgKikmeCwgc2l6ZW9mIHgpOworICAgIHJldHVybiAwOworfQorCitzdGF0aWMgaW50CitucF9zaXplX3QoY2hhciAqcCwgUHlPYmplY3QgKnYsIGNvbnN0IGZvcm1hdGRlZiAqZikKK3sKKyAgICBzaXplX3QgeDsKKyAgICBpZiAoZ2V0X3NpemVfdCh2LCAmeCkgPCAwKQorICAgICAgICByZXR1cm4gLTE7CisgICAgbWVtY3B5KHAsIChjaGFyICopJngsIHNpemVvZiB4KTsKKyAgICByZXR1cm4gMDsKK30KKwogI2lmZGVmIEhBVkVfTE9OR19MT05HCiAKIHN0YXRpYyBpbnQKQEAgLTY1MSw2ICs3MzYsOCBAQAogICAgIHsnSScsICAgICAgIHNpemVvZihpbnQpLCAgICBJTlRfQUxJR04sICAgICAgbnVfdWludCwgICAgICAgIG5wX3VpbnR9LAogICAgIHsnbCcsICAgICAgIHNpemVvZihsb25nKSwgICBMT05HX0FMSUdOLCAgICAgbnVfbG9uZywgICAgICAgIG5wX2xvbmd9LAogICAgIHsnTCcsICAgICAgIHNpemVvZihsb25nKSwgICBMT05HX0FMSUdOLCAgICAgbnVfdWxvbmcsICAgICAgIG5wX3Vsb25nfSwKKyAgICB7J24nLCAgICAgICBzaXplb2Yoc2l6ZV90KSwgU0laRV9UX0FMSUdOLCAgIG51X3NzaXplX3QsICAgICBucF9zc2l6ZV90fSwKKyAgICB7J04nLCAgICAgICBzaXplb2Yoc2l6ZV90KSwgU0laRV9UX0FMSUdOLCAgIG51X3NpemVfdCwgICAgICBucF9zaXplX3R9LAogI2lmZGVmIEhBVkVfTE9OR19MT05HCiAgICAgeydxJywgICAgICAgc2l6ZW9mKFBZX0xPTkdfTE9ORyksIExPTkdfTE9OR19BTElHTiwgbnVfbG9uZ2xvbmcsIG5wX2xvbmdsb25nfSwKICAgICB7J1EnLCAgICAgICBzaXplb2YoUFlfTE9OR19MT05HKSwgTE9OR19MT05HX0FMSUdOLCBudV91bG9uZ2xvbmcsbnBfdWxvbmdsb25nfSwKQEAgLTE5NTEsNyArMjAzOCw4IEBACiAgIGw6bG9uZzsgTDp1bnNpZ25lZCBsb25nOyBmOmZsb2F0OyBkOmRvdWJsZS5cblwKIFNwZWNpYWwgY2FzZXMgKHByZWNlZGluZyBkZWNpbWFsIGNvdW50IGluZGljYXRlcyBsZW5ndGgpOlxuXAogICBzOnN0cmluZyAoYXJyYXkgb2YgY2hhcik7IHA6IHBhc2NhbCBzdHJpbmcgKHdpdGggY291bnQgYnl0ZSkuXG5cCi1TcGVjaWFsIGNhc2UgKG9ubHkgYXZhaWxhYmxlIGluIG5hdGl2ZSBmb3JtYXQpOlxuXAorU3BlY2lhbCBjYXNlcyAob25seSBhdmFpbGFibGUgaW4gbmF0aXZlIGZvcm1hdCk6XG5cCisgIG46c3NpemVfdDsgTjpzaXplX3Q7XG5cCiAgIFA6YW4gaW50ZWdlciB0eXBlIHRoYXQgaXMgd2lkZSBlbm91Z2ggdG8gaG9sZCBhIHBvaW50ZXIuXG5cCiBTcGVjaWFsIGNhc2UgKG5vdCBpbiBuYXRpdmUgbW9kZSB1bmxlc3MgJ2xvbmcgbG9uZycgaW4gcGxhdGZvcm0gQyk6XG5cCiAgIHE6bG9uZyBsb25nOyBROnVuc2lnbmVkIGxvbmcgbG9uZ1xuXApkaWZmIC0tZ2l0IGEvTW9kdWxlcy9fdGVzdGJ1ZmZlci5jIGIvTW9kdWxlcy9fdGVzdGJ1ZmZlci5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNjNGFlYTgKLS0tIC9kZXYvbnVsbAorKysgYi9Nb2R1bGVzL190ZXN0YnVmZmVyLmMKQEAgLTAsMCArMSwyODEzIEBACisvKiBDIEV4dGVuc2lvbiBtb2R1bGUgdG8gdGVzdCBhbGwgYXNwZWN0cyBvZiBQRVAtMzExOC4KKyAgIFdyaXR0ZW4gYnkgU3RlZmFuIEtyYWguICovCisKKworI2RlZmluZSBQWV9TU0laRV9UX0NMRUFOCisKKyNpbmNsdWRlICJQeXRob24uaCIKKworCisvKiBzdHJ1Y3QgbW9kdWxlICovCitQeU9iamVjdCAqc3RydWN0bW9kdWxlID0gTlVMTDsKK1B5T2JqZWN0ICpTdHJ1Y3QgPSBOVUxMOworUHlPYmplY3QgKmNhbGNzaXplID0gTlVMTDsKKworLyogY2FjaGUgc2ltcGxlIGZvcm1hdCBzdHJpbmcgKi8KK3N0YXRpYyBjb25zdCBjaGFyICpzaW1wbGVfZm10ID0gIkIiOworUHlPYmplY3QgKnNpbXBsZV9mb3JtYXQgPSBOVUxMOworI2RlZmluZSBTSU1QTEVfRk9STUFUKGZtdCkgKGZtdCA9PSBOVUxMIHx8IHN0cmNtcChmbXQsICJCIikgPT0gMCkKKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTkRBcnJheSBPYmplY3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKK3N0YXRpYyBQeVR5cGVPYmplY3QgTkRBcnJheV9UeXBlOworI2RlZmluZSBOREFycmF5X0NoZWNrKHYpIChQeV9UWVBFKHYpID09ICZOREFycmF5X1R5cGUpCisKKyNkZWZpbmUgQ0hFQ0tfTElTVF9PUl9UVVBMRSh2KSBcCisgICAgaWYgKCFQeUxpc3RfQ2hlY2sodikgJiYgIVB5VHVwbGVfQ2hlY2sodikpIHsgXAorICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCAgICAgICAgIFwKKyAgICAgICAgICAgICN2ICIgbXVzdCBiZSBhIGxpc3Qgb3IgYSB0dXBsZSIpOyAgICBcCisgICAgICAgIHJldHVybiBOVUxMOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKworI2RlZmluZSBQeU1lbV9YRnJlZSh2KSBcCisgICAgZG8geyBpZiAodikgUHlNZW1fRnJlZSh2KTsgfSB3aGlsZSAoMCkKKworLyogTWF4aW11bSBudW1iZXIgb2YgZGltZW5zaW9ucy4gKi8KKyNkZWZpbmUgTkRfTUFYX05ESU0gKDIgKiBQeUJVRl9NQVhfTkRJTSkKKworLyogQ2hlY2sgZm9yIHRoZSBwcmVzZW5jZSBvZiBzdWJvZmZzZXRzIGluIHRoZSBmaXJzdCBkaW1lbnNpb24uICovCisjZGVmaW5lIEhBVkVfUFRSKHN1Ym9mZnNldHMpIChzdWJvZmZzZXRzICYmIHN1Ym9mZnNldHNbMF0gPj0gMCkKKy8qIEFkanVzdCBwdHIgaWYgc3Vib2Zmc2V0cyBhcmUgcHJlc2VudC4gKi8KKyNkZWZpbmUgQURKVVNUX1BUUihwdHIsIHN1Ym9mZnNldHMpIFwKKyAgICAoSEFWRV9QVFIoc3Vib2Zmc2V0cykgPyAqKChjaGFyKiopcHRyKSArIHN1Ym9mZnNldHNbMF0gOiBwdHIpCisKKy8qIERlZmF1bHQ6IE51bVB5IHN0eWxlIChzdHJpZGVzKSwgcmVhZC1vbmx5LCBubyB2YXItZXhwb3J0LCBDLXN0eWxlIGxheW91dCAqLworI2RlZmluZSBORF9ERUZBVUxUICAgICAgICAgIDB4MDAwCisvKiBVc2VyIGNvbmZpZ3VyYWJsZSBmbGFncyBmb3IgdGhlIG5kYXJyYXkgKi8KKyNkZWZpbmUgTkRfVkFSRVhQT1JUICAgICAgICAweDAwMSAgIC8qIGNoYW5nZSBsYXlvdXQgd2hpbGUgYnVmZmVycyBhcmUgZXhwb3J0ZWQgKi8KKy8qIFVzZXIgY29uZmlndXJhYmxlIGZsYWdzIGZvciBlYWNoIGJhc2UgYnVmZmVyICovCisjZGVmaW5lIE5EX1dSSVRBQkxFICAgICAgICAgMHgwMDIgICAvKiBtYXJrIGJhc2UgYnVmZmVyIGFzIHdyaXRhYmxlICovCisjZGVmaW5lIE5EX0ZPUlRSQU4gICAgICAgICAgMHgwMDQgICAvKiBGb3J0cmFuIGNvbnRpZ3VvdXMgbGF5b3V0ICovCisjZGVmaW5lIE5EX1NDQUxBUiAgICAgICAgICAgMHgwMDggICAvKiBzY2FsYXI6IG5kaW0gPSAwICovCisjZGVmaW5lIE5EX1BJTCAgICAgICAgICAgICAgMHgwMTAgICAvKiBjb252ZXJ0IHRvIFBJTC1zdHlsZSBhcnJheSAoc3Vib2Zmc2V0cykgKi8KKyNkZWZpbmUgTkRfUkVESVJFQ1QgICAgICAgICAweDAyMCAgIC8qIHJlZGlyZWN0IGJ1ZmZlciByZXF1ZXN0cyAqLworI2RlZmluZSBORF9HRVRCVUZfRkFJTCAgICAgIDB4MDQwICAgLyogdHJpZ2dlciBnZXRidWZmZXIgZmFpbHVyZSAqLworI2RlZmluZSBORF9HRVRCVUZfVU5ERUZJTkVEIDB4MDgwICAgLyogdW5kZWZpbmVkIHZpZXcub2JqICovCisvKiBJbnRlcm5hbCBmbGFncyBmb3IgdGhlIGJhc2UgYnVmZmVyICovCisjZGVmaW5lIE5EX0MgICAgICAgICAgICAgICAgMHgxMDAgICAvKiBDIGNvbnRpZ3VvdXMgbGF5b3V0IChkZWZhdWx0KSAqLworI2RlZmluZSBORF9PV05fQVJSQVlTICAgICAgIDB4MjAwICAgLyogY29uc3VtZXIgb3ducyBhcnJheXMgKi8KKworLyogbmRhcnJheSBwcm9wZXJ0aWVzICovCisjZGVmaW5lIE5EX0lTX0NPTlNVTUVSKG5kKSBcCisgICAgKCgoTkRBcnJheU9iamVjdCAqKW5kKS0+aGVhZCA9PSAmKChOREFycmF5T2JqZWN0ICopbmQpLT5zdGF0aWNidWYpCisKKy8qIG5kYnVmLT5mbGFncyBwcm9wZXJ0aWVzICovCisjZGVmaW5lIE5EX0NfQ09OVElHVU9VUyhmbGFncykgKCEhKGZsYWdzJihORF9TQ0FMQVJ8TkRfQykpKQorI2RlZmluZSBORF9GT1JUUkFOX0NPTlRJR1VPVVMoZmxhZ3MpICghIShmbGFncyYoTkRfU0NBTEFSfE5EX0ZPUlRSQU4pKSkKKyNkZWZpbmUgTkRfQU5ZX0NPTlRJR1VPVVMoZmxhZ3MpICghIShmbGFncyYoTkRfU0NBTEFSfE5EX0N8TkRfRk9SVFJBTikpKQorCisvKiBnZXRidWZmZXIoKSByZXF1ZXN0cyAqLworI2RlZmluZSBSRVFfSU5ESVJFQ1QoZmxhZ3MpICgoZmxhZ3MmUHlCVUZfSU5ESVJFQ1QpID09IFB5QlVGX0lORElSRUNUKQorI2RlZmluZSBSRVFfQ19DT05USUdVT1VTKGZsYWdzKSAoKGZsYWdzJlB5QlVGX0NfQ09OVElHVU9VUykgPT0gUHlCVUZfQ19DT05USUdVT1VTKQorI2RlZmluZSBSRVFfRl9DT05USUdVT1VTKGZsYWdzKSAoKGZsYWdzJlB5QlVGX0ZfQ09OVElHVU9VUykgPT0gUHlCVUZfRl9DT05USUdVT1VTKQorI2RlZmluZSBSRVFfQU5ZX0NPTlRJR1VPVVMoZmxhZ3MpICgoZmxhZ3MmUHlCVUZfQU5ZX0NPTlRJR1VPVVMpID09IFB5QlVGX0FOWV9DT05USUdVT1VTKQorI2RlZmluZSBSRVFfU1RSSURFUyhmbGFncykgKChmbGFncyZQeUJVRl9TVFJJREVTKSA9PSBQeUJVRl9TVFJJREVTKQorI2RlZmluZSBSRVFfU0hBUEUoZmxhZ3MpICgoZmxhZ3MmUHlCVUZfTkQpID09IFB5QlVGX05EKQorI2RlZmluZSBSRVFfV1JJVEFCTEUoZmxhZ3MpIChmbGFncyZQeUJVRl9XUklUQUJMRSkKKyNkZWZpbmUgUkVRX0ZPUk1BVChmbGFncykgKGZsYWdzJlB5QlVGX0ZPUk1BVCkKKworCisvKiBTaW5nbGUgbm9kZSBvZiBhIGxpc3Qgb2YgYmFzZSBidWZmZXJzLiBUaGUgbGlzdCBpcyBuZWVkZWQgdG8gaW1wbGVtZW50CisgICBjaGFuZ2VzIGluIG1lbW9yeSBsYXlvdXQgd2hpbGUgZXhwb3J0ZWQgYnVmZmVycyBhcmUgYWN0aXZlLiAqLworc3RhdGljIFB5VHlwZU9iamVjdCBOREFycmF5X1R5cGU7CisKK3N0cnVjdCBuZGJ1ZjsKK3R5cGVkZWYgc3RydWN0IG5kYnVmIHsKKyAgICBzdHJ1Y3QgbmRidWYgKm5leHQ7CisgICAgc3RydWN0IG5kYnVmICpwcmV2OworICAgIFB5X3NzaXplX3QgbGVuOyAgICAgLyogbGVuZ3RoIG9mIGRhdGEgKi8KKyAgICBQeV9zc2l6ZV90IG9mZnNldDsgIC8qIHN0YXJ0IG9mIHRoZSBhcnJheSByZWxhdGl2ZSB0byBkYXRhICovCisgICAgY2hhciAqZGF0YTsgICAgICAgICAvKiByYXcgZGF0YSAqLworICAgIGludCBmbGFnczsgICAgICAgICAgLyogY2FwYWJpbGl0aWVzIG9mIHRoZSBiYXNlIGJ1ZmZlciAqLworICAgIFB5X3NzaXplX3QgZXhwb3J0czsgLyogbnVtYmVyIG9mIGV4cG9ydHMgKi8KKyAgICBQeV9idWZmZXIgYmFzZTsgICAgIC8qIGJhc2UgYnVmZmVyICovCit9IG5kYnVmX3Q7CisKK3R5cGVkZWYgc3RydWN0IHsKKyAgICBQeU9iamVjdF9IRUFECisgICAgaW50IGZsYWdzOyAgICAgICAgICAvKiBuZGFycmF5IGZsYWdzICovCisgICAgbmRidWZfdCBzdGF0aWNidWY7ICAvKiBzdGF0aWMgYnVmZmVyIGZvciByZS1leHBvcnRpbmcgbW9kZSAqLworICAgIG5kYnVmX3QgKmhlYWQ7ICAgICAgLyogY3VycmVudGx5IGFjdGl2ZSBiYXNlIGJ1ZmZlciAqLworfSBOREFycmF5T2JqZWN0OworCisKK3N0YXRpYyBuZGJ1Zl90ICoKK25kYnVmX25ldyhQeV9zc2l6ZV90IG5pdGVtcywgUHlfc3NpemVfdCBpdGVtc2l6ZSwgUHlfc3NpemVfdCBvZmZzZXQsIGludCBmbGFncykKK3sKKyAgICBuZGJ1Zl90ICpuZGJ1ZjsKKyAgICBQeV9idWZmZXIgKmJhc2U7CisgICAgUHlfc3NpemVfdCBsZW47CisKKyAgICBsZW4gPSBuaXRlbXMgKiBpdGVtc2l6ZTsKKyAgICBpZiAob2Zmc2V0ICUgaXRlbXNpemUpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsCisgICAgICAgICAgICAib2Zmc2V0IG11c3QgYmUgYSBtdWx0aXBsZSBvZiBpdGVtc2l6ZSIpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisgICAgaWYgKG9mZnNldCA8IDAgfHwgb2Zmc2V0K2l0ZW1zaXplID4gbGVuKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLCAib2Zmc2V0IG91dCBvZiBib3VuZHMiKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorCisgICAgbmRidWYgPSBQeU1lbV9NYWxsb2Moc2l6ZW9mICpuZGJ1Zik7CisgICAgaWYgKG5kYnVmID09IE5VTEwpIHsKKyAgICAgICAgUHlFcnJfTm9NZW1vcnkoKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorCisgICAgbmRidWYtPm5leHQgPSBOVUxMOworICAgIG5kYnVmLT5wcmV2ID0gTlVMTDsKKyAgICBuZGJ1Zi0+bGVuID0gbGVuOworICAgIG5kYnVmLT5vZmZzZXQ9IG9mZnNldDsKKworICAgIG5kYnVmLT5kYXRhID0gUHlNZW1fTWFsbG9jKGxlbik7CisgICAgaWYgKG5kYnVmLT5kYXRhID09IE5VTEwpIHsKKyAgICAgICAgUHlFcnJfTm9NZW1vcnkoKTsKKyAgICAgICAgUHlNZW1fRnJlZShuZGJ1Zik7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKworICAgIG5kYnVmLT5mbGFncyA9IGZsYWdzOworICAgIG5kYnVmLT5leHBvcnRzID0gMDsKKworICAgIGJhc2UgPSAmbmRidWYtPmJhc2U7CisgICAgYmFzZS0+b2JqID0gTlVMTDsKKyAgICBiYXNlLT5idWYgPSBuZGJ1Zi0+ZGF0YTsKKyAgICBiYXNlLT5sZW4gPSBsZW47CisgICAgYmFzZS0+aXRlbXNpemUgPSAxOworICAgIGJhc2UtPnJlYWRvbmx5ID0gMDsKKyAgICBiYXNlLT5mb3JtYXQgPSBOVUxMOworICAgIGJhc2UtPm5kaW0gPSAxOworICAgIGJhc2UtPnNoYXBlID0gTlVMTDsKKyAgICBiYXNlLT5zdHJpZGVzID0gTlVMTDsKKyAgICBiYXNlLT5zdWJvZmZzZXRzID0gTlVMTDsKKyAgICBiYXNlLT5pbnRlcm5hbCA9IG5kYnVmOworCisgICAgcmV0dXJuIG5kYnVmOworfQorCitzdGF0aWMgdm9pZAorbmRidWZfZnJlZShuZGJ1Zl90ICpuZGJ1ZikKK3sKKyAgICBQeV9idWZmZXIgKmJhc2UgPSAmbmRidWYtPmJhc2U7CisKKyAgICBQeU1lbV9YRnJlZShuZGJ1Zi0+ZGF0YSk7CisgICAgUHlNZW1fWEZyZWUoYmFzZS0+Zm9ybWF0KTsKKyAgICBQeU1lbV9YRnJlZShiYXNlLT5zaGFwZSk7CisgICAgUHlNZW1fWEZyZWUoYmFzZS0+c3RyaWRlcyk7CisgICAgUHlNZW1fWEZyZWUoYmFzZS0+c3Vib2Zmc2V0cyk7CisKKyAgICBQeU1lbV9GcmVlKG5kYnVmKTsKK30KKworc3RhdGljIHZvaWQKK25kYnVmX3B1c2goTkRBcnJheU9iamVjdCAqbmQsIG5kYnVmX3QgKmVsdCkKK3sKKyAgICBlbHQtPm5leHQgPSBuZC0+aGVhZDsKKyAgICBpZiAobmQtPmhlYWQpIG5kLT5oZWFkLT5wcmV2ID0gZWx0OworICAgIG5kLT5oZWFkID0gZWx0OworICAgIGVsdC0+cHJldiA9IE5VTEw7Cit9CisKK3N0YXRpYyB2b2lkCituZGJ1Zl9kZWxldGUoTkRBcnJheU9iamVjdCAqbmQsIG5kYnVmX3QgKmVsdCkKK3sKKyAgICBpZiAoZWx0LT5wcmV2KQorICAgICAgICBlbHQtPnByZXYtPm5leHQgPSBlbHQtPm5leHQ7CisgICAgZWxzZQorICAgICAgICBuZC0+aGVhZCA9IGVsdC0+bmV4dDsKKyAgICAKKyAgICBpZiAoZWx0LT5uZXh0KQorICAgICAgICBlbHQtPm5leHQtPnByZXYgPSBlbHQtPnByZXY7CisKKyAgICBuZGJ1Zl9mcmVlKGVsdCk7Cit9CisKK3N0YXRpYyB2b2lkCituZGJ1Zl9wb3AoTkRBcnJheU9iamVjdCAqbmQpCit7CisgICAgbmRidWZfZGVsZXRlKG5kLCBuZC0+aGVhZCk7Cit9CisKKworc3RhdGljIFB5T2JqZWN0ICoKK25kYXJyYXlfbmV3KFB5VHlwZU9iamVjdCAqdHlwZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2RzKQoreworICAgIE5EQXJyYXlPYmplY3QgKm5kOworCisgICAgbmQgPSBQeU9iamVjdF9OZXcoTkRBcnJheU9iamVjdCwgJk5EQXJyYXlfVHlwZSk7CisgICAgaWYgKG5kID09IE5VTEwpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgbmQtPmZsYWdzID0gMDsKKyAgICBuZC0+aGVhZCA9IE5VTEw7CisgICAgcmV0dXJuIChQeU9iamVjdCAqKW5kOworfQorCitzdGF0aWMgdm9pZAorbmRhcnJheV9kZWFsbG9jKE5EQXJyYXlPYmplY3QgKnNlbGYpCit7CisgICAgaWYgKHNlbGYtPmhlYWQpIHsKKyAgICAgICAgaWYgKE5EX0lTX0NPTlNVTUVSKHNlbGYpKSB7CisgICAgICAgICAgICBQeV9idWZmZXIgKmJhc2UgPSAmc2VsZi0+aGVhZC0+YmFzZTsKKyAgICAgICAgICAgIGlmIChzZWxmLT5oZWFkLT5mbGFncyAmIE5EX09XTl9BUlJBWVMpIHsKKyAgICAgICAgICAgICAgICBQeU1lbV9YRnJlZShiYXNlLT5zaGFwZSk7CisgICAgICAgICAgICAgICAgUHlNZW1fWEZyZWUoYmFzZS0+c3RyaWRlcyk7CisgICAgICAgICAgICAgICAgUHlNZW1fWEZyZWUoYmFzZS0+c3Vib2Zmc2V0cyk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBQeUJ1ZmZlcl9SZWxlYXNlKGJhc2UpOworICAgICAgICB9CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgd2hpbGUgKHNlbGYtPmhlYWQpCisgICAgICAgICAgICAgICAgbmRidWZfcG9wKHNlbGYpOworICAgICAgICB9CisgICAgfQorICAgIFB5T2JqZWN0X0RlbChzZWxmKTsKK30KKworc3RhdGljIGludAorbmRhcnJheV9pbml0X3N0YXRpY2J1ZihQeU9iamVjdCAqZXhwb3J0ZXIsIE5EQXJyYXlPYmplY3QgKm5kLCBpbnQgZmxhZ3MpCit7CisgICAgUHlfYnVmZmVyICpiYXNlID0gJm5kLT5zdGF0aWNidWYuYmFzZTsKKworICAgIGlmIChQeU9iamVjdF9HZXRCdWZmZXIoZXhwb3J0ZXIsIGJhc2UsIGZsYWdzKSA8IDApCisgICAgICAgIHJldHVybiAtMTsKKworICAgIG5kLT5oZWFkID0gJm5kLT5zdGF0aWNidWY7CisKKyAgICBuZC0+aGVhZC0+bmV4dCA9IE5VTEw7CisgICAgbmQtPmhlYWQtPnByZXYgPSBOVUxMOworICAgIG5kLT5oZWFkLT5sZW4gPSAtMTsKKyAgICBuZC0+aGVhZC0+b2Zmc2V0ID0gLTE7CisgICAgbmQtPmhlYWQtPmRhdGEgPSBOVUxMOworCisgICAgbmQtPmhlYWQtPmZsYWdzID0gYmFzZS0+cmVhZG9ubHkgPyAwIDogTkRfV1JJVEFCTEU7CisgICAgbmQtPmhlYWQtPmV4cG9ydHMgPSAwOworCisgICAgcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkCitpbml0X2ZsYWdzKG5kYnVmX3QgKm5kYnVmKQoreworICAgIGlmIChuZGJ1Zi0+YmFzZS5uZGltID09IDApCisgICAgICAgIG5kYnVmLT5mbGFncyB8PSBORF9TQ0FMQVI7CisgICAgaWYgKG5kYnVmLT5iYXNlLnN1Ym9mZnNldHMpCisgICAgICAgIG5kYnVmLT5mbGFncyB8PSBORF9QSUw7CisgICAgaWYgKFB5QnVmZmVyX0lzQ29udGlndW91cygmbmRidWYtPmJhc2UsICdDJykpCisgICAgICAgIG5kYnVmLT5mbGFncyB8PSBORF9DOworICAgIGlmIChQeUJ1ZmZlcl9Jc0NvbnRpZ3VvdXMoJm5kYnVmLT5iYXNlLCAnRicpKQorICAgICAgICBuZGJ1Zi0+ZmxhZ3MgfD0gTkRfRk9SVFJBTjsKK30KKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qICAgICAgICAgICAgICAgICAgICAgICAgICBCdWZmZXIvTGlzdCBjb252ZXJzaW9ucyAgICAgICAgICAgICAgICAgICAgICAgICAqLworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKK3N0YXRpYyBQeV9zc2l6ZV90ICpzdHJpZGVzX2Zyb21fc2hhcGUoY29uc3QgbmRidWZfdCAqLCBpbnQgZmxhZ3MpOworCisvKiBHZXQgbnVtYmVyIG9mIG1lbWJlcnMgaW4gYSBzdHJ1Y3Q6IHNlZSBpc3N1ZSAjMTI3NDAgKi8KK3R5cGVkZWYgc3RydWN0IHsKKyAgICBQeU9iamVjdF9IRUFECisgICAgUHlfc3NpemVfdCBzX3NpemU7CisgICAgUHlfc3NpemVfdCBzX2xlbjsKK30gUHlQYXJ0aWFsU3RydWN0T2JqZWN0OworCitzdGF0aWMgUHlfc3NpemVfdAorZ2V0X25tZW1iKFB5T2JqZWN0ICpzKQoreworICAgIHJldHVybiAoKFB5UGFydGlhbFN0cnVjdE9iamVjdCAqKXMpLT5zX2xlbjsKK30KKworLyogUGFjayBhbGwgaXRlbXMgaW50byB0aGUgYnVmZmVyIG9mICdvYmonLiBUaGUgJ2Zvcm1hdCcgcGFyYW1ldGVyIG11c3QgYmUKKyAgIGluIHN0cnVjdCBtb2R1bGUgc3ludGF4LiBGb3Igc3RhbmRhcmQgQyB0eXBlcywgYSBzaW5nbGUgaXRlbSBpcyBhbiBpbnRlZ2VyLgorICAgRm9yIGNvbXBvdW5kIHR5cGVzLCBhIHNpbmdsZSBpdGVtIGlzIGEgdHVwbGUgb2YgaW50ZWdlcnMuICovCitzdGF0aWMgaW50CitwYWNrX2Zyb21fbGlzdChQeU9iamVjdCAqb2JqLCBQeU9iamVjdCAqaXRlbXMsIFB5T2JqZWN0ICpmb3JtYXQsCisgICAgICAgICAgICAgICBQeV9zc2l6ZV90IGl0ZW1zaXplKQoreworICAgIFB5T2JqZWN0ICpzdHJ1Y3RvYmosICpwYWNrX2ludG87CisgICAgUHlPYmplY3QgKmFyZ3MsICpvZmZzZXQ7CisgICAgUHlPYmplY3QgKml0ZW0sICp0bXA7CisgICAgUHlfc3NpemVfdCBuaXRlbXM7IC8qIG51bWJlciBvZiBpdGVtcyAqLworICAgIFB5X3NzaXplX3Qgbm1lbWI7ICAvKiBudW1iZXIgb2YgbWVtYmVycyBpbiBhIHNpbmdsZSBpdGVtICovCisgICAgUHlfc3NpemVfdCBpLCBqOworICAgIGludCByZXQgPSAwOworCisgICAgYXNzZXJ0KFB5T2JqZWN0X0NoZWNrQnVmZmVyKG9iaikpOworICAgIGFzc2VydChQeUxpc3RfQ2hlY2soaXRlbXMpIHx8IFB5VHVwbGVfQ2hlY2soaXRlbXMpKTsKKworICAgIHN0cnVjdG9iaiA9IFB5T2JqZWN0X0NhbGxGdW5jdGlvbk9iakFyZ3MoU3RydWN0LCBmb3JtYXQsIE5VTEwpOworICAgIGlmIChzdHJ1Y3RvYmogPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIC0xOworCisgICAgbml0ZW1zID0gUHlTZXF1ZW5jZV9GYXN0X0dFVF9TSVpFKGl0ZW1zKTsKKyAgICBubWVtYiA9IGdldF9ubWVtYihzdHJ1Y3RvYmopOworICAgIGFzc2VydChubWVtYiA+PSAxKTsKKworICAgIHBhY2tfaW50byA9IFB5T2JqZWN0X0dldEF0dHJTdHJpbmcoc3RydWN0b2JqLCAicGFja19pbnRvIik7CisgICAgaWYgKHBhY2tfaW50byA9PSBOVUxMKSB7CisgICAgICAgIFB5X0RFQ1JFRihzdHJ1Y3RvYmopOworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorCisgICAgLyogbm1lbWIgPj0gMSAqLworICAgIGFyZ3MgPSBQeVR1cGxlX05ldygyICsgbm1lbWIpOworICAgIGlmIChhcmdzID09IE5VTEwpIHsKKyAgICAgICAgUHlfREVDUkVGKHBhY2tfaW50byk7CisgICAgICAgIFB5X0RFQ1JFRihzdHJ1Y3RvYmopOworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorCisgICAgb2Zmc2V0ID0gTlVMTDsKKyAgICBmb3IgKGkgPSAwOyBpIDwgbml0ZW1zOyBpKyspIHsKKyAgICAgICAgLyogTG9vcCBpbnZhcmlhbnQ6IGFyZ3Nbal0gYXJlIGJvcnJvd2VkIHJlZmVyZW5jZXMgb3IgTlVMTC4gKi8KKyAgICAgICAgUHlUdXBsZV9TRVRfSVRFTShhcmdzLCAwLCBvYmopOworICAgICAgICBmb3IgKGogPSAxOyBqIDwgMitubWVtYjsgaisrKQorICAgICAgICAgICAgUHlUdXBsZV9TRVRfSVRFTShhcmdzLCBqLCBOVUxMKTsKKworICAgICAgICBQeV9YREVDUkVGKG9mZnNldCk7CisgICAgICAgIG9mZnNldCA9IFB5TG9uZ19Gcm9tU3NpemVfdChpKml0ZW1zaXplKTsKKyAgICAgICAgaWYgKG9mZnNldCA9PSBOVUxMKSB7CisgICAgICAgICAgICByZXQgPSAtMTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgICAgIFB5VHVwbGVfU0VUX0lURU0oYXJncywgMSwgb2Zmc2V0KTsKKworICAgICAgICBpdGVtID0gUHlTZXF1ZW5jZV9GYXN0X0dFVF9JVEVNKGl0ZW1zLCBpKTsKKyAgICAgICAgaWYgKChQeUJ5dGVzX0NoZWNrKGl0ZW0pIHx8IFB5TG9uZ19DaGVjayhpdGVtKSB8fAorICAgICAgICAgICAgIFB5RmxvYXRfQ2hlY2soaXRlbSkpICYmIG5tZW1iID09IDEpIHsKKyAgICAgICAgICAgIFB5VHVwbGVfU0VUX0lURU0oYXJncywgMiwgaXRlbSk7CisgICAgICAgIH0KKyAgICAgICAgZWxzZSBpZiAoKFB5TGlzdF9DaGVjayhpdGVtKSB8fCBQeVR1cGxlX0NoZWNrKGl0ZW0pKSAmJgorICAgICAgICAgICAgICAgICBQeVNlcXVlbmNlX0xlbmd0aChpdGVtKSA9PSBubWVtYikgeworICAgICAgICAgICAgZm9yIChqID0gMDsgaiA8IG5tZW1iOyBqKyspIHsKKyAgICAgICAgICAgICAgICB0bXAgPSBQeVNlcXVlbmNlX0Zhc3RfR0VUX0lURU0oaXRlbSwgaik7CisgICAgICAgICAgICAgICAgUHlUdXBsZV9TRVRfSVRFTShhcmdzLCAyK2osIHRtcCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwKKyAgICAgICAgICAgICAgICAibWlzbWF0Y2ggYmV0d2VlbiBpbml0aWFsaXplciBlbGVtZW50IGFuZCBmb3JtYXQgc3RyaW5nIik7CisgICAgICAgICAgICByZXQgPSAtMTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAgdG1wID0gUHlPYmplY3RfQ2FsbE9iamVjdChwYWNrX2ludG8sIGFyZ3MpOworICAgICAgICBpZiAodG1wID09IE5VTEwpIHsKKyAgICAgICAgICAgIHJldCA9IC0xOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgUHlfREVDUkVGKHRtcCk7CisgICAgfQorCisgICAgUHlfSU5DUkVGKG9iaik7IC8qIGFyZ3NbMF0gKi8KKyAgICAvKiBhcmdzWzFdOiBvZmZzZXQgaXMgZWl0aGVyIE5VTEwgb3Igc2hvdWxkIGJlIGRlYWxsb2MnZCAqLworICAgIGZvciAoaSA9IDI7IGkgPCAyK25tZW1iOyBpKyspIHsKKyAgICAgICAgdG1wID0gUHlUdXBsZV9HRVRfSVRFTShhcmdzLCBpKTsKKyAgICAgICAgUHlfWElOQ1JFRih0bXApOworICAgIH0KKyAgICBQeV9ERUNSRUYoYXJncyk7CisKKyAgICBQeV9ERUNSRUYocGFja19pbnRvKTsKKyAgICBQeV9ERUNSRUYoc3RydWN0b2JqKTsKKyAgICByZXR1cm4gcmV0OworCit9CisKKy8qIFBhY2sgc2luZ2xlIGVsZW1lbnQgKi8KK3N0YXRpYyBpbnQKK3BhY2tfc2luZ2xlKGNoYXIgKnB0ciwgUHlPYmplY3QgKml0ZW0sIGNvbnN0IGNoYXIgKmZtdCwgUHlfc3NpemVfdCBpdGVtc2l6ZSkKK3sKKyAgICBQeU9iamVjdCAqc3RydWN0b2JqID0gTlVMTCwgKnBhY2tfaW50byA9IE5VTEwsICphcmdzID0gTlVMTDsKKyAgICBQeU9iamVjdCAqZm9ybWF0ID0gTlVMTCwgKm12aWV3ID0gTlVMTCwgKnplcm8gPSBOVUxMOworICAgIFB5X3NzaXplX3QgaSwgbm1lbWI7CisgICAgaW50IHJldCA9IC0xOworICAgIFB5T2JqZWN0ICp4OworCisgICAgaWYgKGZtdCA9PSBOVUxMKSBmbXQgPSAiQiI7CisKKyAgICBmb3JtYXQgPSBQeVVuaWNvZGVfRnJvbVN0cmluZyhmbXQpOworICAgIGlmIChmb3JtYXQgPT0gTlVMTCkKKyAgICAgICAgZ290byBvdXQ7CisKKyAgICBzdHJ1Y3RvYmogPSBQeU9iamVjdF9DYWxsRnVuY3Rpb25PYmpBcmdzKFN0cnVjdCwgZm9ybWF0LCBOVUxMKTsKKyAgICBpZiAoc3RydWN0b2JqID09IE5VTEwpCisgICAgICAgIGdvdG8gb3V0OworCisgICAgbm1lbWIgPSBnZXRfbm1lbWIoc3RydWN0b2JqKTsKKyAgICBhc3NlcnQobm1lbWIgPj0gMSk7CisKKyAgICBtdmlldyA9IFB5TWVtb3J5Vmlld19Gcm9tTWVtb3J5KHB0ciwgaXRlbXNpemUsIFB5QlVGX1dSSVRFKTsKKyAgICBpZiAobXZpZXcgPT0gTlVMTCkKKyAgICAgICAgZ290byBvdXQ7CisKKyAgICB6ZXJvID0gUHlMb25nX0Zyb21Mb25nKDApOworICAgIGlmICh6ZXJvID09IE5VTEwpCisgICAgICAgIGdvdG8gb3V0OworCisgICAgcGFja19pbnRvID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyhzdHJ1Y3RvYmosICJwYWNrX2ludG8iKTsKKyAgICBpZiAocGFja19pbnRvID09IE5VTEwpCisgICAgICAgIGdvdG8gb3V0OworCisgICAgYXJncyA9IFB5VHVwbGVfTmV3KDIrbm1lbWIpOworICAgIGlmIChhcmdzID09IE5VTEwpCisgICAgICAgIGdvdG8gb3V0OworCisgICAgUHlUdXBsZV9TRVRfSVRFTShhcmdzLCAwLCBtdmlldyk7CisgICAgUHlUdXBsZV9TRVRfSVRFTShhcmdzLCAxLCB6ZXJvKTsKKworICAgIGlmICgoUHlCeXRlc19DaGVjayhpdGVtKSB8fCBQeUxvbmdfQ2hlY2soaXRlbSkgfHwKKyAgICAgICAgIFB5RmxvYXRfQ2hlY2soaXRlbSkpICYmIG5tZW1iID09IDEpIHsKKyAgICAgICAgIFB5VHVwbGVfU0VUX0lURU0oYXJncywgMiwgaXRlbSk7CisgICAgfQorICAgIGVsc2UgaWYgKChQeUxpc3RfQ2hlY2soaXRlbSkgfHwgUHlUdXBsZV9DaGVjayhpdGVtKSkgJiYKKyAgICAgICAgICAgICBQeVNlcXVlbmNlX0xlbmd0aChpdGVtKSA9PSBubWVtYikgeworICAgICAgICBmb3IgKGkgPSAwOyBpIDwgbm1lbWI7IGkrKykgeworICAgICAgICAgICAgeCA9IFB5U2VxdWVuY2VfRmFzdF9HRVRfSVRFTShpdGVtLCBpKTsKKyAgICAgICAgICAgIFB5VHVwbGVfU0VUX0lURU0oYXJncywgMitpLCB4KTsKKyAgICAgICAgfQorICAgIH0KKyAgICBlbHNlIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsCisgICAgICAgICAgICAibWlzbWF0Y2ggYmV0d2VlbiBpbml0aWFsaXplciBlbGVtZW50IGFuZCBmb3JtYXQgc3RyaW5nIik7CisgICAgICAgIGdvdG8gYXJnc19vdXQ7CisgICAgfQorCisgICAgeCA9IFB5T2JqZWN0X0NhbGxPYmplY3QocGFja19pbnRvLCBhcmdzKTsKKyAgICBpZiAoeCAhPSBOVUxMKSB7CisgICAgICAgIFB5X0RFQ1JFRih4KTsKKyAgICAgICAgcmV0ID0gMDsKKyAgICB9CisKKworYXJnc19vdXQ6CisgICAgZm9yIChpID0gMDsgaSA8IDIrbm1lbWI7IGkrKykKKyAgICAgICAgUHlfWElOQ1JFRihQeVR1cGxlX0dFVF9JVEVNKGFyZ3MsIGkpKTsKKyAgICBQeV9YREVDUkVGKGFyZ3MpOworb3V0OgorICAgIFB5X1hERUNSRUYocGFja19pbnRvKTsKKyAgICBQeV9YREVDUkVGKHplcm8pOworICAgIFB5X1hERUNSRUYobXZpZXcpOworICAgIFB5X1hERUNSRUYoc3RydWN0b2JqKTsKKyAgICBQeV9YREVDUkVGKGZvcm1hdCk7CisgICAgcmV0dXJuIHJldDsKK30KKworc3RhdGljIHZvaWQKK2NvcHlfcmVjKGNvbnN0IFB5X3NzaXplX3QgKnNoYXBlLCBQeV9zc2l6ZV90IG5kaW0sIFB5X3NzaXplX3QgaXRlbXNpemUsCisgICAgICAgICBjaGFyICpkcHRyLCBjb25zdCBQeV9zc2l6ZV90ICpkc3RyaWRlcywgY29uc3QgUHlfc3NpemVfdCAqZHN1Ym9mZnNldHMsCisgICAgICAgICBjaGFyICpzcHRyLCBjb25zdCBQeV9zc2l6ZV90ICpzc3RyaWRlcywgY29uc3QgUHlfc3NpemVfdCAqc3N1Ym9mZnNldHMsCisgICAgICAgICBjaGFyICptZW0pCit7CisgICAgUHlfc3NpemVfdCBpOworCisgICAgYXNzZXJ0KG5kaW0gPj0gMSk7CisKKyAgICBpZiAobmRpbSA9PSAxKSB7CisgICAgICAgIGlmICghSEFWRV9QVFIoZHN1Ym9mZnNldHMpICYmICFIQVZFX1BUUihzc3Vib2Zmc2V0cykgJiYKKyAgICAgICAgICAgIGRzdHJpZGVzWzBdID09IGl0ZW1zaXplICYmIHNzdHJpZGVzWzBdID09IGl0ZW1zaXplKSB7CisgICAgICAgICAgICBtZW1tb3ZlKGRwdHIsIHNwdHIsIHNoYXBlWzBdICogaXRlbXNpemUpOworICAgICAgICB9CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgY2hhciAqcDsKKyAgICAgICAgICAgIGFzc2VydChtZW0gIT0gTlVMTCk7CisgICAgICAgICAgICBmb3IgKGk9MCwgcD1tZW07IGk8c2hhcGVbMF07IHArPWl0ZW1zaXplLCBzcHRyKz1zc3RyaWRlc1swXSwgaSsrKSB7CisgICAgICAgICAgICAgICAgY2hhciAqeHNwdHIgPSBBREpVU1RfUFRSKHNwdHIsIHNzdWJvZmZzZXRzKTsKKyAgICAgICAgICAgICAgICBtZW1jcHkocCwgeHNwdHIsIGl0ZW1zaXplKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGZvciAoaT0wLCBwPW1lbTsgaTxzaGFwZVswXTsgcCs9aXRlbXNpemUsIGRwdHIrPWRzdHJpZGVzWzBdLCBpKyspIHsKKyAgICAgICAgICAgICAgICBjaGFyICp4ZHB0ciA9IEFESlVTVF9QVFIoZHB0ciwgZHN1Ym9mZnNldHMpOworICAgICAgICAgICAgICAgIG1lbWNweSh4ZHB0ciwgcCwgaXRlbXNpemUpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBmb3IgKGkgPSAwOyBpIDwgc2hhcGVbMF07IGRwdHIrPWRzdHJpZGVzWzBdLCBzcHRyKz1zc3RyaWRlc1swXSwgaSsrKSB7CisgICAgICAgIGNoYXIgKnhkcHRyID0gQURKVVNUX1BUUihkcHRyLCBkc3Vib2Zmc2V0cyk7CisgICAgICAgIGNoYXIgKnhzcHRyID0gQURKVVNUX1BUUihzcHRyLCBzc3Vib2Zmc2V0cyk7CisKKyAgICAgICAgY29weV9yZWMoc2hhcGUrMSwgbmRpbS0xLCBpdGVtc2l6ZSwKKyAgICAgICAgICAgICAgICAgeGRwdHIsIGRzdHJpZGVzKzEsIGRzdWJvZmZzZXRzID8gZHN1Ym9mZnNldHMrMSA6IE5VTEwsCisgICAgICAgICAgICAgICAgIHhzcHRyLCBzc3RyaWRlcysxLCBzc3Vib2Zmc2V0cyA/IHNzdWJvZmZzZXRzKzEgOiBOVUxMLAorICAgICAgICAgICAgICAgICBtZW0pOworICAgIH0KK30KKworc3RhdGljIGludAorY21wX3N0cnVjdHVyZShQeV9idWZmZXIgKmRlc3QsIFB5X2J1ZmZlciAqc3JjKQoreworICAgIFB5X3NzaXplX3QgaTsKKyAgICBpbnQgc2FtZV9mbXQgPSAoKGRlc3QtPmZvcm1hdCA9PSBOVUxMICYmIHNyYy0+Zm9ybWF0ID09IE5VTEwpIHx8IFwKKyAgICAgICAgICAgICAgICAgICAgKHN0cmNtcChkZXN0LT5mb3JtYXQsIHNyYy0+Zm9ybWF0KSA9PSAwKSk7CisKKyAgICBpZiAoIXNhbWVfZm10IHx8CisgICAgICAgIGRlc3QtPml0ZW1zaXplICE9IHNyYy0+aXRlbXNpemUgfHwKKyAgICAgICAgZGVzdC0+bmRpbSAhPSBzcmMtPm5kaW0pCisgICAgICAgIHJldHVybiAtMTsKKworICAgIGZvciAoaSA9IDA7IGkgPCBkZXN0LT5uZGltOyBpKyspIHsKKyAgICAgICAgaWYgKGRlc3QtPnNoYXBlW2ldICE9IHNyYy0+c2hhcGVbaV0pCisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIGlmIChkZXN0LT5zaGFwZVtpXSA9PSAwKQorICAgICAgICAgICAgYnJlYWs7CisgICAgfQorCisgICAgcmV0dXJuIDA7Cit9CisKKy8qIENvcHkgc3JjIHRvIGRlc3QuIEJvdGggYnVmZmVycyBtdXN0IGhhdmUgdGhlIHNhbWUgZm9ybWF0LCBpdGVtc2l6ZSwKKyAgIG5kaW0gYW5kIHNoYXBlLiBDb3B5aW5nIGlzIGF0b21pYywgdGhlIGZ1bmN0aW9uIG5ldmVyIGZhaWxzIHdpdGgKKyAgIGEgcGFydGlhbCBjb3B5LiAqLworc3RhdGljIGludAorY29weV9idWZmZXIoUHlfYnVmZmVyICpkZXN0LCBQeV9idWZmZXIgKnNyYykKK3sKKyAgICBjaGFyICptZW0gPSBOVUxMOworCisgICAgYXNzZXJ0KGRlc3QtPm5kaW0gPiAwKTsKKworICAgIGlmIChjbXBfc3RydWN0dXJlKGRlc3QsIHNyYykgPCAwKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLAorICAgICAgICAgICAgIm5kYXJyYXkgYXNzaWdubWVudDogbHZhbHVlIGFuZCBydmFsdWUgaGF2ZSBkaWZmZXJlbnQgc3RydWN0dXJlcyIpOworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorCisgICAgaWYgKChkZXN0LT5zdWJvZmZzZXRzICYmIGRlc3QtPnN1Ym9mZnNldHNbZGVzdC0+bmRpbS0xXSA+PSAwKSB8fAorICAgICAgICAoc3JjLT5zdWJvZmZzZXRzICYmIHNyYy0+c3Vib2Zmc2V0c1tzcmMtPm5kaW0tMV0gPj0gMCkgfHwKKyAgICAgICAgZGVzdC0+c3RyaWRlc1tkZXN0LT5uZGltLTFdICE9IGRlc3QtPml0ZW1zaXplIHx8CisgICAgICAgIHNyYy0+c3RyaWRlc1tzcmMtPm5kaW0tMV0gIT0gc3JjLT5pdGVtc2l6ZSkgeworICAgICAgICBtZW0gPSBQeU1lbV9NYWxsb2MoZGVzdC0+c2hhcGVbZGVzdC0+bmRpbS0xXSAqIGRlc3QtPml0ZW1zaXplKTsKKyAgICAgICAgaWYgKG1lbSA9PSBOVUxMKSB7CisgICAgICAgICAgICBQeUVycl9Ob01lbW9yeSgpOworICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICB9CisgICAgfQorCisgICAgY29weV9yZWMoZGVzdC0+c2hhcGUsIGRlc3QtPm5kaW0sIGRlc3QtPml0ZW1zaXplLAorICAgICAgICAgICAgIGRlc3QtPmJ1ZiwgZGVzdC0+c3RyaWRlcywgZGVzdC0+c3Vib2Zmc2V0cywKKyAgICAgICAgICAgICBzcmMtPmJ1Ziwgc3JjLT5zdHJpZGVzLCBzcmMtPnN1Ym9mZnNldHMsCisgICAgICAgICAgICAgbWVtKTsKKworICAgIFB5TWVtX1hGcmVlKG1lbSk7CisgICAgcmV0dXJuIDA7Cit9CisKKworLyogVW5wYWNrIHNpbmdsZSBlbGVtZW50ICovCitzdGF0aWMgUHlPYmplY3QgKgordW5wYWNrX3NpbmdsZShjaGFyICpwdHIsIGNvbnN0IGNoYXIgKmZtdCwgUHlfc3NpemVfdCBpdGVtc2l6ZSkKK3sKKyAgICBQeU9iamVjdCAqeCwgKnVucGFja19mcm9tLCAqbXZpZXc7CisKKyAgICBpZiAoZm10ID09IE5VTEwpIHsKKyAgICAgICAgZm10ID0gIkIiOworICAgICAgICBpdGVtc2l6ZSA9IDE7CisgICAgfQorCisgICAgdW5wYWNrX2Zyb20gPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKHN0cnVjdG1vZHVsZSwgInVucGFja19mcm9tIik7CisgICAgaWYgKHVucGFja19mcm9tID09IE5VTEwpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgbXZpZXcgPSBQeU1lbW9yeVZpZXdfRnJvbU1lbW9yeShwdHIsIGl0ZW1zaXplLCBQeUJVRl9SRUFEKTsKKyAgICBpZiAobXZpZXcgPT0gTlVMTCkgeworICAgICAgICBQeV9ERUNSRUYodW5wYWNrX2Zyb20pOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisKKyAgICB4ID0gUHlPYmplY3RfQ2FsbEZ1bmN0aW9uKHVucGFja19mcm9tLCAic08iLCBmbXQsIG12aWV3KTsKKyAgICBQeV9ERUNSRUYodW5wYWNrX2Zyb20pOworICAgIFB5X0RFQ1JFRihtdmlldyk7CisgICAgaWYgKHggPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICBpZiAoUHlUdXBsZV9HRVRfU0laRSh4KSA9PSAxKSB7CisgICAgICAgIFB5T2JqZWN0ICp0bXAgPSBQeVR1cGxlX0dFVF9JVEVNKHgsIDApOworICAgICAgICBQeV9JTkNSRUYodG1wKTsKKyAgICAgICAgUHlfREVDUkVGKHgpOworICAgICAgICByZXR1cm4gdG1wOworICAgIH0KKworICAgIHJldHVybiB4OworfQorCisvKiBVbnBhY2sgYSBtdWx0aS1kaW1lbnNpb25hbCBtYXRyaXggaW50byBhIG5lc3RlZCBsaXN0LiBSZXR1cm4gYSBzY2FsYXIKKyAgIGZvciBuZGltID0gMC4gKi8KK3N0YXRpYyBQeU9iamVjdCAqCit1bnBhY2tfcmVjKFB5T2JqZWN0ICp1bnBhY2tfZnJvbSwgY2hhciAqcHRyLCBQeU9iamVjdCAqbXZpZXcsIGNoYXIgKml0ZW0sCisgICAgICAgICAgIGNvbnN0IFB5X3NzaXplX3QgKnNoYXBlLCBjb25zdCBQeV9zc2l6ZV90ICpzdHJpZGVzLAorICAgICAgICAgICBjb25zdCBQeV9zc2l6ZV90ICpzdWJvZmZzZXRzLCBQeV9zc2l6ZV90IG5kaW0sIFB5X3NzaXplX3QgaXRlbXNpemUpCit7CisgICAgUHlPYmplY3QgKmxzdCwgKng7CisgICAgUHlfc3NpemVfdCBpOworCisgICAgYXNzZXJ0KG5kaW0gPj0gMCk7CisgICAgYXNzZXJ0KHNoYXBlICE9IE5VTEwpOworICAgIGFzc2VydChzdHJpZGVzICE9IE5VTEwpOworCisgICAgaWYgKG5kaW0gPT0gMCkgeworICAgICAgICBtZW1jcHkoaXRlbSwgcHRyLCBpdGVtc2l6ZSk7CisgICAgICAgIHggPSBQeU9iamVjdF9DYWxsRnVuY3Rpb25PYmpBcmdzKHVucGFja19mcm9tLCBtdmlldywgTlVMTCk7CisgICAgICAgIGlmICh4ID09IE5VTEwpCisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgaWYgKFB5VHVwbGVfR0VUX1NJWkUoeCkgPT0gMSkgeworICAgICAgICAgICAgUHlPYmplY3QgKnRtcCA9IFB5VHVwbGVfR0VUX0lURU0oeCwgMCk7CisgICAgICAgICAgICBQeV9JTkNSRUYodG1wKTsKKyAgICAgICAgICAgIFB5X0RFQ1JFRih4KTsKKyAgICAgICAgICAgIHJldHVybiB0bXA7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIHg7CisgICAgfQorCisgICAgbHN0ID0gUHlMaXN0X05ldyhzaGFwZVswXSk7CisgICAgaWYgKGxzdCA9PSBOVUxMKQorICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIGZvciAoaSA9IDA7IGkgPCBzaGFwZVswXTsgcHRyKz1zdHJpZGVzWzBdLCBpKyspIHsKKyAgICAgICAgY2hhciAqbmV4dHB0ciA9IEFESlVTVF9QVFIocHRyLCBzdWJvZmZzZXRzKTsKKworICAgICAgICB4ID0gdW5wYWNrX3JlYyh1bnBhY2tfZnJvbSwgbmV4dHB0ciwgbXZpZXcsIGl0ZW0sCisgICAgICAgICAgICAgICAgICAgICAgIHNoYXBlKzEsIHN0cmlkZXMrMSwgc3Vib2Zmc2V0cyA/IHN1Ym9mZnNldHMrMSA6IE5VTEwsCisgICAgICAgICAgICAgICAgICAgICAgIG5kaW0tMSwgaXRlbXNpemUpOworICAgICAgICBpZiAoeCA9PSBOVUxMKSB7CisgICAgICAgICAgICBQeV9ERUNSRUYobHN0KTsKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICB9CisKKyAgICAgICAgUHlMaXN0X1NFVF9JVEVNKGxzdCwgaSwgeCk7CisgICAgfQorCisgICAgcmV0dXJuIGxzdDsKK30KKworCitzdGF0aWMgUHlPYmplY3QgKgorbmRhcnJheV9hc19saXN0KE5EQXJyYXlPYmplY3QgKm5kKQoreworICAgIFB5T2JqZWN0ICpzdHJ1Y3RvYmogPSBOVUxMLCAqdW5wYWNrX2Zyb20gPSBOVUxMOworICAgIFB5T2JqZWN0ICpsc3QgPSBOVUxMLCAqbXZpZXcgPSBOVUxMOworICAgIFB5X2J1ZmZlciAqYmFzZSA9ICZuZC0+aGVhZC0+YmFzZTsKKyAgICBQeV9zc2l6ZV90ICpzaGFwZSA9IGJhc2UtPnNoYXBlOworICAgIFB5X3NzaXplX3QgKnN0cmlkZXMgPSBiYXNlLT5zdHJpZGVzOworICAgIFB5X3NzaXplX3Qgc2ltcGxlX3NoYXBlWzFdOworICAgIFB5X3NzaXplX3Qgc2ltcGxlX3N0cmlkZXNbMV07CisgICAgY2hhciAqaXRlbSA9IE5VTEw7CisgICAgUHlPYmplY3QgKmZvcm1hdDsKKyAgICBjaGFyICpmbXQgPSBiYXNlLT5mb3JtYXQ7CisKKyAgICBiYXNlID0gJm5kLT5oZWFkLT5iYXNlOworCisgICAgaWYgKGZtdCA9PSBOVUxMKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLAorICAgICAgICAgICAgIm5kYXJyYXk6IHRvbGlzdCgpIGRvZXMgbm90IHN1cHBvcnQgZm9ybWF0PU5VTEwsIHVzZSAiCisgICAgICAgICAgICAidG9ieXRlcygpIik7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKyAgICBpZiAoc2hhcGUgPT0gTlVMTCkgeworICAgICAgICBhc3NlcnQoTkRfQ19DT05USUdVT1VTKG5kLT5oZWFkLT5mbGFncykpOworICAgICAgICBhc3NlcnQoYmFzZS0+c3RyaWRlcyA9PSBOVUxMKTsKKyAgICAgICAgYXNzZXJ0KGJhc2UtPm5kaW0gPD0gMSk7CisgICAgICAgIHNoYXBlID0gc2ltcGxlX3NoYXBlOworICAgICAgICBzaGFwZVswXSA9IGJhc2UtPmxlbjsKKyAgICAgICAgc3RyaWRlcyA9IHNpbXBsZV9zdHJpZGVzOworICAgICAgICBzdHJpZGVzWzBdID0gYmFzZS0+aXRlbXNpemU7CisgICAgfQorICAgIGVsc2UgaWYgKHN0cmlkZXMgPT0gTlVMTCkgeworICAgICAgICBhc3NlcnQoTkRfQ19DT05USUdVT1VTKG5kLT5oZWFkLT5mbGFncykpOworICAgICAgICBzdHJpZGVzID0gc3RyaWRlc19mcm9tX3NoYXBlKG5kLT5oZWFkLCAwKTsKKyAgICAgICAgaWYgKHN0cmlkZXMgPT0gTlVMTCkKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKworICAgIGZvcm1hdCA9IFB5VW5pY29kZV9Gcm9tU3RyaW5nKGZtdCk7CisgICAgaWYgKGZvcm1hdCA9PSBOVUxMKQorICAgICAgICBnb3RvIG91dDsKKworICAgIHN0cnVjdG9iaiA9IFB5T2JqZWN0X0NhbGxGdW5jdGlvbk9iakFyZ3MoU3RydWN0LCBmb3JtYXQsIE5VTEwpOworICAgIFB5X0RFQ1JFRihmb3JtYXQpOworICAgIGlmIChzdHJ1Y3RvYmogPT0gTlVMTCkKKyAgICAgICAgZ290byBvdXQ7CisKKyAgICB1bnBhY2tfZnJvbSA9IFB5T2JqZWN0X0dldEF0dHJTdHJpbmcoc3RydWN0b2JqLCAidW5wYWNrX2Zyb20iKTsKKyAgICBpZiAodW5wYWNrX2Zyb20gPT0gTlVMTCkKKyAgICAgICAgZ290byBvdXQ7CisKKyAgICBpdGVtID0gUHlNZW1fTWFsbG9jKGJhc2UtPml0ZW1zaXplKTsKKyAgICBpZiAoaXRlbSA9PSBOVUxMKSB7CisgICAgICAgIFB5RXJyX05vTWVtb3J5KCk7CisgICAgICAgIGdvdG8gb3V0OworICAgIH0KKworICAgIG12aWV3ID0gUHlNZW1vcnlWaWV3X0Zyb21NZW1vcnkoaXRlbSwgYmFzZS0+aXRlbXNpemUsIFB5QlVGX1dSSVRFKTsKKyAgICBpZiAobXZpZXcgPT0gTlVMTCkKKyAgICAgICAgZ290byBvdXQ7CisKKyAgICBsc3QgPSB1bnBhY2tfcmVjKHVucGFja19mcm9tLCBiYXNlLT5idWYsIG12aWV3LCBpdGVtLAorICAgICAgICAgICAgICAgICAgICAgc2hhcGUsIHN0cmlkZXMsIGJhc2UtPnN1Ym9mZnNldHMsCisgICAgICAgICAgICAgICAgICAgICBiYXNlLT5uZGltLCBiYXNlLT5pdGVtc2l6ZSk7CisKK291dDoKKyAgICBQeV9YREVDUkVGKG12aWV3KTsKKyAgICBQeU1lbV9YRnJlZShpdGVtKTsKKyAgICBQeV9YREVDUkVGKHVucGFja19mcm9tKTsKKyAgICBQeV9YREVDUkVGKHN0cnVjdG9iaik7CisgICAgaWYgKHN0cmlkZXMgIT0gYmFzZS0+c3RyaWRlcyAmJiBzdHJpZGVzICE9IHNpbXBsZV9zdHJpZGVzKQorICAgICAgICBQeU1lbV9YRnJlZShzdHJpZGVzKTsKKworICAgIHJldHVybiBsc3Q7Cit9CisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbml0aWFsaXplIG5kYnVmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKgorICAgU3RhdGUgb2YgYSBuZXcgbmRidWYgZHVyaW5nIGluaXRpYWxpemF0aW9uLiAnT0snIG1lYW5zIHRoYXQgaW5pdGlhbGl6YXRpb24KKyAgIGlzIGNvbXBsZXRlLiAnUFRSJyBtZWFucyB0aGF0IGEgcG9pbnRlciBoYXMgYmVlbiBpbml0aWFsaXplZCwgYnV0IHRoZQorICAgc3RhdGUgb2YgdGhlIG1lbW9yeSBpcyBzdGlsbCB1bmRlZmluZWQgYW5kIG5kYnVmLT5vZmZzZXQgaXMgZGlzcmVnYXJkZWQuCisKKyAgKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSsKKyAgfCAgICAgICAgICAgICAgICAgfCBuZGJ1Zl9uZXcgfCBpbml0X3NpbXBsZSB8IGluaXRfc3RydWN0dXJlIHwKKyAgKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSsKKyAgfCBuZXh0ICAgICAgICAgICAgfCBPSyAoTlVMTCkgfCAgICAgT0sgICAgICB8ICAgICAgIE9LICAgICAgIHwKKyAgKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSsKKyAgfCBwcmV2ICAgICAgICAgICAgfCBPSyAoTlVMTCkgfCAgICAgT0sgICAgICB8ICAgICAgIE9LICAgICAgIHwKKyAgKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSsKKyAgfCBsZW4gICAgICAgICAgICAgfCAgICBPSyAgICAgfCAgICAgT0sgICAgICB8ICAgICAgIE9LICAgICAgIHwKKyAgKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSsKKyAgfCBvZmZzZXQgICAgICAgICAgfCAgICBPSyAgICAgfCAgICAgT0sgICAgICB8ICAgICAgIE9LICAgICAgIHwKKyAgKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSsKKyAgfCBkYXRhICAgICAgICAgICAgfCAgICBQVFIgICAgfCAgICAgT0sgICAgICB8ICAgICAgIE9LICAgICAgIHwKKyAgKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSsKKyAgfCBmbGFncyAgICAgICAgICAgfCAgICB1c2VyICAgfCAgICB1c2VyICAgICB8ICAgICAgIE9LICAgICAgIHwKKyAgKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSsKKyAgfCBleHBvcnRzICAgICAgICAgfCAgIE9LICgwKSAgfCAgICAgT0sgICAgICB8ICAgICAgIE9LICAgICAgIHwKKyAgKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSsKKyAgfCBiYXNlLm9iaiAgICAgICAgfCBPSyAoTlVMTCkgfCAgICAgT0sgICAgICB8ICAgICAgIE9LICAgICAgIHwKKyAgKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSsKKyAgfCBiYXNlLmJ1ZiAgICAgICAgfCAgICBQVFIgICAgfCAgICAgUFRSICAgICB8ICAgICAgIE9LICAgICAgIHwKKyAgKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSsKKyAgfCBiYXNlLmxlbiAgICAgICAgfCBsZW4oZGF0YSkgfCAgbGVuKGRhdGEpICB8ICAgICAgIE9LICAgICAgIHwKKyAgKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSsKKyAgfCBiYXNlLml0ZW1zaXplICAgfCAgICAgMSAgICAgfCAgICAgT0sgICAgICB8ICAgICAgIE9LICAgICAgIHwKKyAgKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSsKKyAgfCBiYXNlLnJlYWRvbmx5ICAgfCAgICAgMCAgICAgfCAgICAgT0sgICAgICB8ICAgICAgIE9LICAgICAgIHwKKyAgKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSsKKyAgfCBiYXNlLmZvcm1hdCAgICAgfCAgICBOVUxMICAgfCAgICAgT0sgICAgICB8ICAgICAgIE9LICAgICAgIHwgIAorICArLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKworICB8IGJhc2UubmRpbSAgICAgICB8ICAgICAxICAgICB8ICAgICAgMSAgICAgIHwgICAgICAgT0sgICAgICAgfAorICArLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKworICB8IGJhc2Uuc2hhcGUgICAgICB8ICAgIE5VTEwgICB8ICAgIE5VTEwgICAgIHwgICAgICAgT0sgICAgICAgfAorICArLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKworICB8IGJhc2Uuc3RyaWRlcyAgICB8ICAgIE5VTEwgICB8ICAgIE5VTEwgICAgIHwgICAgICAgT0sgICAgICAgfAorICArLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKworICB8IGJhc2Uuc3Vib2Zmc2V0cyB8ICAgIE5VTEwgICB8ICAgIE5VTEwgICAgIHwgICAgICAgT0sgICAgICAgfAorICArLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKworICB8IGJhc2UuaW50ZXJuYWwgICB8ICAgIE9LICAgICB8ICAgIE9LICAgICAgIHwgICAgICAgT0sgICAgICAgfAorICArLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKworCisqLworCitzdGF0aWMgUHlfc3NpemVfdAorZ2V0X2l0ZW1zaXplKFB5T2JqZWN0ICpmb3JtYXQpCit7CisgICAgUHlPYmplY3QgKnRtcDsKKyAgICBQeV9zc2l6ZV90IGl0ZW1zaXplOworCisgICAgdG1wID0gUHlPYmplY3RfQ2FsbEZ1bmN0aW9uT2JqQXJncyhjYWxjc2l6ZSwgZm9ybWF0LCBOVUxMKTsKKyAgICBpZiAodG1wID09IE5VTEwpCisgICAgICAgIHJldHVybiAtMTsKKyAgICBpdGVtc2l6ZSA9IFB5TG9uZ19Bc1NzaXplX3QodG1wKTsKKyAgICBQeV9ERUNSRUYodG1wKTsKKworICAgIHJldHVybiBpdGVtc2l6ZTsKK30KKworc3RhdGljIGNoYXIgKgorZ2V0X2Zvcm1hdChQeU9iamVjdCAqZm9ybWF0KQoreworICAgIFB5T2JqZWN0ICp0bXA7CisgICAgY2hhciAqZm10OworCisgICAgdG1wID0gUHlVbmljb2RlX0FzQVNDSUlTdHJpbmcoZm9ybWF0KTsKKyAgICBpZiAodG1wID09IE5VTEwpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIGZtdCA9IFB5TWVtX01hbGxvYyhQeUJ5dGVzX0dFVF9TSVpFKHRtcCkrMSk7CisgICAgaWYgKGZtdCA9PSBOVUxMKSB7CisgICAgICAgIFB5RXJyX05vTWVtb3J5KCk7CisgICAgICAgIFB5X0RFQ1JFRih0bXApOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisgICAgc3RyY3B5KGZtdCwgUHlCeXRlc19BU19TVFJJTkcodG1wKSk7CisgICAgUHlfREVDUkVGKHRtcCk7CisKKyAgICByZXR1cm4gZm10OworfQorCitzdGF0aWMgaW50Citpbml0X3NpbXBsZShuZGJ1Zl90ICpuZGJ1ZiwgUHlPYmplY3QgKml0ZW1zLCBQeU9iamVjdCAqZm9ybWF0LAorICAgICAgICAgICAgUHlfc3NpemVfdCBpdGVtc2l6ZSkKK3sKKyAgICBQeU9iamVjdCAqbXZpZXc7CisgICAgUHlfYnVmZmVyICpiYXNlID0gJm5kYnVmLT5iYXNlOworICAgIGludCByZXQ7CisKKyAgICBtdmlldyA9IFB5TWVtb3J5Vmlld19Gcm9tQnVmZmVyKGJhc2UpOworICAgIGlmIChtdmlldyA9PSBOVUxMKQorICAgICAgICByZXR1cm4gLTE7CisKKyAgICByZXQgPSBwYWNrX2Zyb21fbGlzdChtdmlldywgaXRlbXMsIGZvcm1hdCwgaXRlbXNpemUpOworICAgIFB5X0RFQ1JFRihtdmlldyk7CisgICAgaWYgKHJldCA8IDApCisgICAgICAgIHJldHVybiAtMTsKKworICAgIGJhc2UtPnJlYWRvbmx5ID0gIShuZGJ1Zi0+ZmxhZ3MgJiBORF9XUklUQUJMRSk7CisgICAgYmFzZS0+aXRlbXNpemUgPSBpdGVtc2l6ZTsKKyAgICBiYXNlLT5mb3JtYXQgPSBnZXRfZm9ybWF0KGZvcm1hdCk7CisgICAgaWYgKGJhc2UtPmZvcm1hdCA9PSBOVUxMKQorICAgICAgICByZXR1cm4gLTE7CisKKyAgICByZXR1cm4gMDsKK30KKworc3RhdGljIFB5X3NzaXplX3QgKgorc2VxX2FzX3NzaXplX2FycmF5KFB5T2JqZWN0ICpzZXEsIFB5X3NzaXplX3QgbGVuLCBpbnQgaXNfc2hhcGUpCit7CisgICAgUHlfc3NpemVfdCAqZGVzdDsKKyAgICBQeV9zc2l6ZV90IHgsIGk7CisKKyAgICBkZXN0ID0gUHlNZW1fTWFsbG9jKGxlbiAqIChzaXplb2YgKmRlc3QpKTsKKyAgICBpZiAoZGVzdCA9PSBOVUxMKSB7CisgICAgICAgIFB5RXJyX05vTWVtb3J5KCk7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKworICAgIGZvciAoaSA9IDA7IGkgPCBsZW47IGkrKykgeworICAgICAgICBQeU9iamVjdCAqdG1wID0gUHlTZXF1ZW5jZV9GYXN0X0dFVF9JVEVNKHNlcSwgaSk7CisgICAgICAgIGlmICghUHlMb25nX0NoZWNrKHRtcCkpIHsKKyAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19WYWx1ZUVycm9yLAorICAgICAgICAgICAgICAgICJlbGVtZW50cyBvZiAlcyBtdXN0IGJlIGludGVnZXJzIiwKKyAgICAgICAgICAgICAgICBpc19zaGFwZSA/ICJzaGFwZSIgOiAic3RyaWRlcyIpOworICAgICAgICAgICAgUHlNZW1fRnJlZShkZXN0KTsKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICB9CisgICAgICAgIHggPSBQeUxvbmdfQXNTc2l6ZV90KHRtcCk7CisgICAgICAgIGlmIChQeUVycl9PY2N1cnJlZCgpKSB7CisgICAgICAgICAgICBQeU1lbV9GcmVlKGRlc3QpOworICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIH0KKyAgICAgICAgaWYgKGlzX3NoYXBlICYmIHggPCAwKSB7CisgICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVmFsdWVFcnJvciwKKyAgICAgICAgICAgICAgICAiZWxlbWVudHMgb2Ygc2hhcGUgbXVzdCBiZSBpbnRlZ2VycyA+PSAwIik7CisgICAgICAgICAgICBQeU1lbV9GcmVlKGRlc3QpOworICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIH0KKyAgICAgICAgZGVzdFtpXSA9IHg7CisgICAgfQorCisgICAgcmV0dXJuIGRlc3Q7Cit9CisKK3N0YXRpYyBQeV9zc2l6ZV90ICoKK3N0cmlkZXNfZnJvbV9zaGFwZShjb25zdCBuZGJ1Zl90ICpuZGJ1ZiwgaW50IGZsYWdzKQoreworICAgIGNvbnN0IFB5X2J1ZmZlciAqYmFzZSA9ICZuZGJ1Zi0+YmFzZTsKKyAgICBQeV9zc2l6ZV90ICpzLCBpOworCisgICAgcyA9IFB5TWVtX01hbGxvYyhiYXNlLT5uZGltICogKHNpemVvZiAqcykpOworICAgIGlmIChzID09IE5VTEwpIHsKKyAgICAgICAgUHlFcnJfTm9NZW1vcnkoKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorCisgICAgaWYgKGZsYWdzICYgTkRfRk9SVFJBTikgeworICAgICAgICBzWzBdID0gYmFzZS0+aXRlbXNpemU7CisgICAgICAgIGZvciAoaSA9IDE7IGkgPCBiYXNlLT5uZGltOyBpKyspCisgICAgICAgICAgICBzW2ldID0gc1tpLTFdICogYmFzZS0+c2hhcGVbaS0xXTsKKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIHNbYmFzZS0+bmRpbS0xXSA9IGJhc2UtPml0ZW1zaXplOworICAgICAgICBmb3IgKGkgPSBiYXNlLT5uZGltLTI7IGkgPj0gMDsgaS0tKQorICAgICAgICAgICAgc1tpXSA9IHNbaSsxXSAqIGJhc2UtPnNoYXBlW2krMV07CisgICAgfQorCisgICAgcmV0dXJuIHM7Cit9CisKKy8qIEJvdW5kcyBjaGVjazoKKworICAgICBsZW4gOj0gY29tcGxldGUgbGVuZ3RoIG9mIGFsbG9jYXRlZCBtZW1vcnkKKyAgICAgb2Zmc2V0IDo9IHN0YXJ0IG9mIHRoZSBhcnJheQorCisgICAgIEEgc2luZ2xlIGFycmF5IGVsZW1lbnQgaXMgaW5kZXhlZCBieToKKworICAgICAgIGkgPSBpbmRpY2VzWzBdICogc3RyaWRlc1swXSArIGluZGljZXNbMV0gKiBzdHJpZGVzWzFdICsgLi4uCisKKyAgICAgaW1pbiBpcyByZWFjaGVkIHdoZW4gYWxsIGluZGljZXNbbl0gY29tYmluZWQgd2l0aCBwb3NpdGl2ZSBzdHJpZGVzIGFyZSAwCisgICAgIGFuZCBhbGwgaW5kaWNlcyBjb21iaW5lZCB3aXRoIG5lZ2F0aXZlIHN0cmlkZXMgYXJlIHNoYXBlW25dLTEsIHdoaWNoIGlzCisgICAgIHRoZSBtYXhpbXVtIGluZGV4IGZvciB0aGUgbnRoIGRpbWVuc2lvbi4KKworICAgICBpbWF4IGlzIHJlYWNoZWQgd2hlbiBhbGwgaW5kaWNlc1tuXSBjb21iaW5lZCB3aXRoIG5lZ2F0aXZlIHN0cmlkZXMgYXJlIDAKKyAgICAgYW5kIGFsbCBpbmRpY2VzIGNvbWJpbmVkIHdpdGggcG9zaXRpdmUgc3RyaWRlcyBhcmUgc2hhcGVbbl0tMS4KKyovCitzdGF0aWMgaW50Cit2ZXJpZnlfc3RydWN0dXJlKFB5X3NzaXplX3QgbGVuLCBQeV9zc2l6ZV90IGl0ZW1zaXplLCBQeV9zc2l6ZV90IG9mZnNldCwKKyAgICAgICAgICAgICAgICAgY29uc3QgUHlfc3NpemVfdCAqc2hhcGUsIGNvbnN0IFB5X3NzaXplX3QgKnN0cmlkZXMsCisgICAgICAgICAgICAgICAgIFB5X3NzaXplX3QgbmRpbSkKK3sKKyAgICBQeV9zc2l6ZV90IGltaW4sIGltYXg7CisgICAgUHlfc3NpemVfdCBuOworCisgICAgYXNzZXJ0KG5kaW0gPj0gMCk7CisKKyAgICBpZiAobmRpbSA9PSAwICYmIChvZmZzZXQgPCAwIHx8IG9mZnNldCtpdGVtc2l6ZSA+IGxlbikpCisgICAgICAgIGdvdG8gaW52YWxpZF9jb21iaW5hdGlvbjsKKworICAgIGZvciAobiA9IDA7IG4gPCBuZGltOyBuKyspCisgICAgICAgIGlmIChzdHJpZGVzW25dICUgaXRlbXNpemUpIHsKKyAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLAorICAgICAgICAgICAgInN0cmlkZXMgbXVzdCBiZSBhIG11bHRpcGxlIG9mIGl0ZW1zaXplIik7CisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIH0KKworICAgIGZvciAobiA9IDA7IG4gPCBuZGltOyBuKyspCisgICAgICAgIGlmIChzaGFwZVtuXSA9PSAwKQorICAgICAgICAgICAgcmV0dXJuIDA7CisKKyAgICBpbWluID0gaW1heCA9IDA7CisgICAgZm9yIChuID0gMDsgbiA8IG5kaW07IG4rKykKKyAgICAgICAgaWYgKHN0cmlkZXNbbl0gPD0gMCkKKyAgICAgICAgICAgIGltaW4gKz0gKHNoYXBlW25dLTEpICogc3RyaWRlc1tuXTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgaW1heCArPSAoc2hhcGVbbl0tMSkgKiBzdHJpZGVzW25dOworCisgICAgaWYgKGltaW4gKyBvZmZzZXQgPCAwIHx8IGltYXggKyBvZmZzZXQgKyBpdGVtc2l6ZSA+IGxlbikKKyAgICAgICAgZ290byBpbnZhbGlkX2NvbWJpbmF0aW9uOworCisgICAgcmV0dXJuIDA7CisKKworaW52YWxpZF9jb21iaW5hdGlvbjoKKyAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwKKyAgICAgICAgImludmFsaWQgY29tYmluYXRpb24gb2YgYnVmZmVyLCBzaGFwZSBhbmQgc3RyaWRlcyIpOworICAgIHJldHVybiAtMTsKK30KKworLyoKKyAgIENvbnZlcnQgYSBOdW1QeS1zdHlsZSBhcnJheSB0byBhbiBhcnJheSB1c2luZyBzdWJvZmZzZXRzIHRvIHN0cmlkZSBpbgorICAgdGhlIGZpcnN0IGRpbWVuc2lvbi4gUmVxdWlyZW1lbnRzOiBuZGltID4gMC4KKworICAgQ29udGlndW91cyBleGFtcGxlCisgICA9PT09PT09PT09PT09PT09PT0KKworICAgICBJbnB1dDoKKyAgICAgLS0tLS0tCisgICAgICAgc2hhcGUgICAgICA9IHsyLCAyLCAzfTsKKyAgICAgICBzdHJpZGVzICAgID0gezYsIDMsIDF9OworICAgICAgIHN1Ym9mZnNldHMgPSBOVUxMOworICAgICAgIGRhdGEgICAgICAgPSB7MCwgMSwgMiwgMywgNCwgNSwgNiwgNywgOCwgOSwgMTAsIDExfTsKKyAgICAgICBidWYgICAgICAgID0gJmRhdGFbMF0KKworICAgICBPdXRwdXQ6CisgICAgIC0tLS0tLS0KKyAgICAgICBzaGFwZSAgICAgID0gezIsIDIsIDN9OworICAgICAgIHN0cmlkZXMgICAgPSB7c2l6ZW9mKGNoYXIgKiksIDMsIDF9OworICAgICAgIHN1Ym9mZnNldHMgPSB7MCwgLTEsIC0xfTsKKyAgICAgICBkYXRhICAgICAgID0ge3AxLCBwMiwgMCwgMSwgMiwgMywgNCwgNSwgNiwgNywgOCwgOSwgMTAsIDExfTsKKyAgICAgICAgICAgICAgICAgICAgIHwgICB8ICAgXiAgICAgICAgICAgICAgICAgXgorICAgICAgICAgICAgICAgICAgICAgYC0tLSctLS0nICAgICAgICAgICAgICAgICB8CisgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICBgLS0tLS0tLS0tLS0tLS0tLS0tLS0tJworICAgICAgIGJ1ZiAgICAgICAgPSAmZGF0YVswXQorCisgICAgIFNvLCBpbiB0aGUgZXhhbXBsZSB0aGUgaW5wdXQgcmVzZW1ibGVzIHRoZSB0aHJlZS1kaW1lbnNpb25hbCBhcnJheQorICAgICBjaGFyIHZbMl1bMl1bM10sIHdoaWxlIHRoZSBvdXRwdXQgcmVzZW1ibGVzIGFuIGFycmF5IG9mIHR3byBwb2ludGVycworICAgICB0byB0d28tZGltZW5zaW9uYWwgYXJyYXlzOiBjaGFyICgqdlsyXSlbMl1bM10uCisKKworICAgTm9uLWNvbnRpZ3VvdXMgZXhhbXBsZToKKyAgID09PT09PT09PT09PT09PT09PT09PT09CisKKyAgICAgSW5wdXQgKHdpdGggb2Zmc2V0IGFuZCBuZWdhdGl2ZSBzdHJpZGVzKToKKyAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgICAgICBzaGFwZSAgICAgID0gezIsIDIsIDN9OworICAgICAgIHN0cmlkZXMgICAgPSB7LTYsIDMsIC0xfTsKKyAgICAgICBvZmZzZXQgICAgID0gOAorICAgICAgIHN1Ym9mZnNldHMgPSBOVUxMOworICAgICAgIGRhdGEgICAgICAgPSB7MCwgMSwgMiwgMywgNCwgNSwgNiwgNywgOCwgOSwgMTAsIDExfTsKKworICAgICBPdXRwdXQ6CisgICAgIC0tLS0tLS0KKyAgICAgICBzaGFwZSAgICAgID0gezIsIDIsIDN9OworICAgICAgIHN0cmlkZXMgICAgPSB7LXNpemVvZihjaGFyICopLCAzLCAtMX07CisgICAgICAgc3Vib2Zmc2V0cyA9IHsyLCAtMSwgLTF9OworICAgICAgIG5ld2RhdGEgICAgPSB7cDEsIHAyLCAwLCAxLCAyLCAzLCA0LCA1LCA2LCA3LCA4LCA5LCAxMCwgMTF9OworICAgICAgICAgICAgICAgICAgICAgfCAgIHwgICBeICAgICBeICAgICAgICAgICBeICAgICBeCisgICAgICAgICAgICAgICAgICAgICBgLS0tJy0tLScgICAgIHwgICAgICAgICAgIHwgICAgIGAtIHAyK3N1Ym9mZnNldHNbMF0KKyAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgYC0tLS0tLS0tLS0tfC0tLSBwMStzdWJvZmZzZXRzWzBdCisgICAgICAgICAgICAgICAgICAgICAgICAgYC0tLS0tLS0tLS0tLS0tLS0tLS0tLScKKyAgICAgICBidWYgICAgICAgID0gJm5ld2RhdGFbMV0gICMgc3RyaWRpbmcgYmFja3dhcmRzIG92ZXIgdGhlIHBvaW50ZXJzLgorCisgICAgIHN1Ym9mZnNldHNbMF0gaXMgdGhlIHNhbWUgYXMgdGhlIG9mZnNldCB0aGF0IG9uZSB3b3VsZCBzcGVjaWZ5IGlmCisgICAgIHRoZSB0d28gezIsIDN9IHN1YmFycmF5cyB3ZXJlIGNyZWF0ZWQgZGlyZWN0bHksIGhlbmNlIHRoZSBuYW1lLgorKi8KK3N0YXRpYyBpbnQKK2luaXRfc3Vib2Zmc2V0cyhuZGJ1Zl90ICpuZGJ1ZikKK3sKKyAgICBQeV9idWZmZXIgKmJhc2UgPSAmbmRidWYtPmJhc2U7CisgICAgUHlfc3NpemVfdCBzdGFydCwgc3RlcDsKKyAgICBQeV9zc2l6ZV90IGltaW4sIHN1Ym9mZnNldDA7CisgICAgUHlfc3NpemVfdCBhZGRzaXplOworICAgIFB5X3NzaXplX3QgbjsKKyAgICBjaGFyICpkYXRhOworCisgICAgYXNzZXJ0KGJhc2UtPm5kaW0gPiAwKTsKKyAgICBhc3NlcnQoYmFzZS0+c3Vib2Zmc2V0cyA9PSBOVUxMKTsKKworICAgIC8qIEFsbG9jYXRlIG5ldyBkYXRhIHdpdGggYWRkaXRpb25hbCBzcGFjZSBmb3Igc2hhcGVbMF0gcG9pbnRlcnMuICovCisgICAgYWRkc2l6ZSA9IGJhc2UtPnNoYXBlWzBdICogKHNpemVvZiAoY2hhciAqKSk7CisKKyAgICAvKiBBbGlnbiBhcnJheSBzdGFydCB0byBhIG11bHRpcGxlIG9mIDguICovCisgICAgYWRkc2l6ZSA9IDggKiAoKGFkZHNpemUgKyA3KSAvIDgpOworCisgICAgZGF0YSA9IFB5TWVtX01hbGxvYyhuZGJ1Zi0+bGVuICsgYWRkc2l6ZSk7CisgICAgaWYgKGRhdGEgPT0gTlVMTCkgeworICAgICAgICBQeUVycl9Ob01lbW9yeSgpOworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorCisgICAgbWVtY3B5KGRhdGEgKyBhZGRzaXplLCBuZGJ1Zi0+ZGF0YSwgbmRidWYtPmxlbik7CisKKyAgICBQeU1lbV9GcmVlKG5kYnVmLT5kYXRhKTsKKyAgICBuZGJ1Zi0+ZGF0YSA9IGRhdGE7CisgICAgbmRidWYtPmxlbiArPSBhZGRzaXplOworICAgIGJhc2UtPmJ1ZiA9IG5kYnVmLT5kYXRhOworCisgICAgLyogaW1pbjogbWluaW11bSBpbmRleCBvZiB0aGUgaW5wdXQgYXJyYXkgcmVsYXRpdmUgdG8gbmRidWYtPm9mZnNldC4KKyAgICAgICBzdWJvZmZzZXQwOiBvZmZzZXQgZm9yIGVhY2ggc3ViLWFycmF5IG9mIHRoZSBvdXRwdXQuIFRoaXMgaXMgdGhlCisgICAgICAgICAgICAgICAgICAgc2FtZSBhcyBjYWxjdWxhdGluZyAtaW1pbicgZm9yIGEgc3ViLWFycmF5IG9mIG5kaW0tMS4gKi8KKyAgICBpbWluID0gc3Vib2Zmc2V0MCA9IDA7CisgICAgZm9yIChuID0gMDsgbiA8IGJhc2UtPm5kaW07IG4rKykgeworICAgICAgICBpZiAoYmFzZS0+c2hhcGVbbl0gPT0gMCkKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBpZiAoYmFzZS0+c3RyaWRlc1tuXSA8PSAwKSB7CisgICAgICAgICAgICBQeV9zc2l6ZV90IHggPSAoYmFzZS0+c2hhcGVbbl0tMSkgKiBiYXNlLT5zdHJpZGVzW25dOworICAgICAgICAgICAgaW1pbiArPSB4OworICAgICAgICAgICAgc3Vib2Zmc2V0MCArPSAobiA+PSAxKSA/IC14IDogMDsKKyAgICAgICAgfQorICAgIH0KKworICAgIC8qIEluaXRpYWxpemUgdGhlIGFycmF5IG9mIHBvaW50ZXJzIHRvIHRoZSBzdWItYXJyYXlzLiAqLworICAgIHN0YXJ0ID0gYWRkc2l6ZSArIG5kYnVmLT5vZmZzZXQgKyBpbWluOworICAgIHN0ZXAgPSBiYXNlLT5zdHJpZGVzWzBdIDwgMCA/IC1iYXNlLT5zdHJpZGVzWzBdIDogYmFzZS0+c3RyaWRlc1swXTsKKworICAgIGZvciAobiA9IDA7IG4gPCBiYXNlLT5zaGFwZVswXTsgbisrKQorICAgICAgICAoKGNoYXIgKiopYmFzZS0+YnVmKVtuXSA9IChjaGFyICopYmFzZS0+YnVmICsgc3RhcnQgKyBuKnN0ZXA7CisKKyAgICAvKiBJbml0aWFsaXplIHN1Ym9mZnNldHMuICovCisgICAgYmFzZS0+c3Vib2Zmc2V0cyA9IFB5TWVtX01hbGxvYyhiYXNlLT5uZGltICogKHNpemVvZiAqYmFzZS0+c3Vib2Zmc2V0cykpOworICAgIGlmIChiYXNlLT5zdWJvZmZzZXRzID09IE5VTEwpIHsKKyAgICAgICAgUHlFcnJfTm9NZW1vcnkoKTsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKyAgICBiYXNlLT5zdWJvZmZzZXRzWzBdID0gc3Vib2Zmc2V0MDsKKyAgICBmb3IgKG4gPSAxOyBuIDwgYmFzZS0+bmRpbTsgbisrKQorICAgICAgICBiYXNlLT5zdWJvZmZzZXRzW25dID0gLTE7CisKKyAgICAvKiBBZGp1c3Qgc3RyaWRlcyBmb3IgdGhlIGZpcnN0ICh6ZXJvdGgpIGRpbWVuc2lvbi4gKi8KKyAgICBpZiAoYmFzZS0+c3RyaWRlc1swXSA+PSAwKSB7CisgICAgICAgIGJhc2UtPnN0cmlkZXNbMF0gPSBzaXplb2YoY2hhciAqKTsKKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIC8qIFN0cmlkaW5nIGJhY2t3YXJkcy4gKi8KKyAgICAgICAgYmFzZS0+c3RyaWRlc1swXSA9IC0oUHlfc3NpemVfdClzaXplb2YoY2hhciAqKTsKKyAgICAgICAgaWYgKGJhc2UtPnNoYXBlWzBdID4gMCkKKyAgICAgICAgICAgIGJhc2UtPmJ1ZiA9IChjaGFyICopYmFzZS0+YnVmICsgKGJhc2UtPnNoYXBlWzBdLTEpICogc2l6ZW9mKGNoYXIgKik7CisgICAgfQorCisgICAgbmRidWYtPmZsYWdzICY9IH4oTkRfQ3xORF9GT1JUUkFOKTsKKyAgICBuZGJ1Zi0+b2Zmc2V0ID0gMDsKKyAgICByZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQKK2luaXRfbGVuKFB5X2J1ZmZlciAqYmFzZSkKK3sKKyAgICBQeV9zc2l6ZV90IGk7CisKKyAgICBiYXNlLT5sZW4gPSAxOworICAgIGZvciAoaSA9IDA7IGkgPCBiYXNlLT5uZGltOyBpKyspCisgICAgICAgIGJhc2UtPmxlbiAqPSBiYXNlLT5zaGFwZVtpXTsKKyAgICBiYXNlLT5sZW4gKj0gYmFzZS0+aXRlbXNpemU7Cit9CisKK3N0YXRpYyBpbnQKK2luaXRfc3RydWN0dXJlKG5kYnVmX3QgKm5kYnVmLCBQeU9iamVjdCAqc2hhcGUsIFB5T2JqZWN0ICpzdHJpZGVzLAorICAgICAgICAgICAgICAgUHlfc3NpemVfdCBuZGltKQoreworICAgIFB5X2J1ZmZlciAqYmFzZSA9ICZuZGJ1Zi0+YmFzZTsKKworICAgIGJhc2UtPm5kaW0gPSAoaW50KW5kaW07CisgICAgaWYgKG5kaW0gPT0gMCkgeworICAgICAgICBpZiAobmRidWYtPmZsYWdzICYgTkRfUElMKSB7CisgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLAorICAgICAgICAgICAgICAgICJuZGltID0gMCBjYW5ub3QgYmUgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIE5EX1BJTCIpOworICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICB9CisgICAgICAgIG5kYnVmLT5mbGFncyB8PSAoTkRfU0NBTEFSfE5EX0N8TkRfRk9SVFJBTik7CisgICAgICAgIHJldHVybiAwOworICAgIH0KKworICAgIC8qIHNoYXBlICovCisgICAgYmFzZS0+c2hhcGUgPSBzZXFfYXNfc3NpemVfYXJyYXkoc2hhcGUsIG5kaW0sIDEpOworICAgIGlmIChiYXNlLT5zaGFwZSA9PSBOVUxMKQorICAgICAgICByZXR1cm4gLTE7CisKKyAgICAvKiBzdHJpZGVzICovCisgICAgaWYgKHN0cmlkZXMpIHsKKyAgICAgICAgYmFzZS0+c3RyaWRlcyA9IHNlcV9hc19zc2l6ZV9hcnJheShzdHJpZGVzLCBuZGltLCAwKTsKKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIGJhc2UtPnN0cmlkZXMgPSBzdHJpZGVzX2Zyb21fc2hhcGUobmRidWYsIG5kYnVmLT5mbGFncyk7CisgICAgfQorICAgIGlmIChiYXNlLT5zdHJpZGVzID09IE5VTEwpCisgICAgICAgIHJldHVybiAtMTsKKyAgICBpZiAodmVyaWZ5X3N0cnVjdHVyZShiYXNlLT5sZW4sIGJhc2UtPml0ZW1zaXplLCBuZGJ1Zi0+b2Zmc2V0LAorICAgICAgICAgICAgICAgICAgICAgICAgIGJhc2UtPnNoYXBlLCBiYXNlLT5zdHJpZGVzLCBuZGltKSA8IDApCisgICAgICAgIHJldHVybiAtMTsKKworICAgIC8qIGJ1ZiAqLworICAgIGJhc2UtPmJ1ZiA9IG5kYnVmLT5kYXRhICsgbmRidWYtPm9mZnNldDsKKworICAgIC8qIGxlbiAqLworICAgIGluaXRfbGVuKGJhc2UpOworCisgICAgLyogbmRidWYtPmZsYWdzICovCisgICAgaWYgKFB5QnVmZmVyX0lzQ29udGlndW91cyhiYXNlLCAnQycpKQorICAgICAgICBuZGJ1Zi0+ZmxhZ3MgfD0gTkRfQzsKKyAgICBpZiAoUHlCdWZmZXJfSXNDb250aWd1b3VzKGJhc2UsICdGJykpCisgICAgICAgIG5kYnVmLT5mbGFncyB8PSBORF9GT1JUUkFOOworCisKKyAgICAvKiBjb252ZXJ0IG51bXB5IGFycmF5IHRvIHN1Ym9mZnNldCByZXByZXNlbnRhdGlvbiAqLworICAgIGlmIChuZGJ1Zi0+ZmxhZ3MgJiBORF9QSUwpIHsKKyAgICAgICAgLyogbW9kaWZpZXMgYmFzZS0+YnVmLCBiYXNlLT5zdHJpZGVzIGFuZCBiYXNlLT5zdWJvZmZzZXRzICoqLworICAgICAgICByZXR1cm4gaW5pdF9zdWJvZmZzZXRzKG5kYnVmKTsKKyAgICB9CisKKyAgICByZXR1cm4gMDsKK30KKworc3RhdGljIG5kYnVmX3QgKgoraW5pdF9uZGJ1ZihQeU9iamVjdCAqaXRlbXMsIFB5T2JqZWN0ICpzaGFwZSwgUHlPYmplY3QgKnN0cmlkZXMsCisgICAgICAgICAgIFB5X3NzaXplX3Qgb2Zmc2V0LCBQeU9iamVjdCAqZm9ybWF0LCBpbnQgZmxhZ3MpCit7CisgICAgbmRidWZfdCAqbmRidWY7CisgICAgUHlfc3NpemVfdCBuZGltOworICAgIFB5X3NzaXplX3Qgbml0ZW1zOworICAgIFB5X3NzaXplX3QgaXRlbXNpemU7CisKKyAgICAvKiBuZGltID0gbGVuKHNoYXBlKSAqLworICAgIENIRUNLX0xJU1RfT1JfVFVQTEUoc2hhcGUpCisgICAgbmRpbSA9IFB5U2VxdWVuY2VfRmFzdF9HRVRfU0laRShzaGFwZSk7CisgICAgaWYgKG5kaW0gPiBORF9NQVhfTkRJTSkgeworICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVmFsdWVFcnJvciwKKyAgICAgICAgICAgICJuZGltIG11c3Qgbm90IGV4Y2VlZCAlZCIsIE5EX01BWF9ORElNKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorCisgICAgLyogbGVuKHN0cmlkZXMpID0gbGVuKHNoYXBlKSAqLworICAgIGlmIChzdHJpZGVzKSB7CisgICAgICAgIENIRUNLX0xJU1RfT1JfVFVQTEUoc3RyaWRlcykKKyAgICAgICAgaWYgKFB5U2VxdWVuY2VfRmFzdF9HRVRfU0laRShzdHJpZGVzKSA9PSAwKQorICAgICAgICAgICAgc3RyaWRlcyA9IE5VTEw7CisgICAgICAgIGVsc2UgaWYgKGZsYWdzICYgTkRfRk9SVFJBTikgeworICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwKKyAgICAgICAgICAgICAgICAiTkRfRk9SVFJBTiBjYW5ub3QgYmUgdXNlZCB0b2dldGhlciB3aXRoIHN0cmlkZXMiKTsKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICB9CisgICAgICAgIGVsc2UgaWYgKFB5U2VxdWVuY2VfRmFzdF9HRVRfU0laRShzdHJpZGVzKSAhPSBuZGltKSB7CisgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwKKyAgICAgICAgICAgICAgICAibGVuKHNoYXBlKSAhPSBsZW4oc3RyaWRlcykiKTsKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICB9CisgICAgfQorCisgICAgLyogaXRlbXNpemUgKi8KKyAgICBpdGVtc2l6ZSA9IGdldF9pdGVtc2l6ZShmb3JtYXQpOworICAgIGlmIChpdGVtc2l6ZSA8PSAwKSB7CisgICAgICAgIGlmIChpdGVtc2l6ZSA9PSAwKSB7CisgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwKKyAgICAgICAgICAgICAgICAiaXRlbXNpemUgbXVzdCBub3QgYmUgemVybyIpOworICAgICAgICB9CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKworICAgIC8qIGNvbnZlcnQgc2NhbGFyIHRvIGxpc3QgKi8KKyAgICBpZiAobmRpbSA9PSAwKSB7CisgICAgICAgIGl0ZW1zID0gUHlfQnVpbGRWYWx1ZSgiKE8pIiwgaXRlbXMpOworICAgICAgICBpZiAoaXRlbXMgPT0gTlVMTCkKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKyAgICBlbHNlIHsKKyAgICAgICAgQ0hFQ0tfTElTVF9PUl9UVVBMRShpdGVtcykKKyAgICAgICAgUHlfSU5DUkVGKGl0ZW1zKTsKKyAgICB9CisKKyAgICAvKiBudW1iZXIgb2YgaXRlbXMgKi8KKyAgICBuaXRlbXMgPSBQeVNlcXVlbmNlX0Zhc3RfR0VUX1NJWkUoaXRlbXMpOworICAgIGlmIChuaXRlbXMgPT0gMCkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwKKyAgICAgICAgICAgICJpbml0aWFsaXplciBsaXN0IG9yIHR1cGxlIG11c3Qgbm90IGJlIGVtcHR5Iik7CisgICAgICAgIFB5X0RFQ1JFRihpdGVtcyk7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKworICAgIG5kYnVmID0gbmRidWZfbmV3KG5pdGVtcywgaXRlbXNpemUsIG9mZnNldCwgZmxhZ3MpOworICAgIGlmIChuZGJ1ZiA9PSBOVUxMKSB7CisgICAgICAgIFB5X0RFQ1JFRihpdGVtcyk7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKworCisgICAgaWYgKGluaXRfc2ltcGxlKG5kYnVmLCBpdGVtcywgZm9ybWF0LCBpdGVtc2l6ZSkgPCAwKQorICAgICAgICBnb3RvIGVycm9yOworICAgIGlmIChpbml0X3N0cnVjdHVyZShuZGJ1Ziwgc2hhcGUsIHN0cmlkZXMsIG5kaW0pIDwgMCkKKyAgICAgICAgZ290byBlcnJvcjsKKworICAgIFB5X0RFQ1JFRihpdGVtcyk7CisgICAgcmV0dXJuIG5kYnVmOworCitlcnJvcjoKKyAgICBQeV9ERUNSRUYoaXRlbXMpOworICAgIG5kYnVmX2ZyZWUobmRidWYpOworICAgIHJldHVybiBOVUxMOworfQorCisvKiBpbml0aWFsaXplIGFuZCBwdXNoIGEgbmV3IGJhc2Ugb250byB0aGUgbGlua2VkIGxpc3QgKi8KK3N0YXRpYyBpbnQKK25kYXJyYXlfcHVzaF9iYXNlKE5EQXJyYXlPYmplY3QgKm5kLCBQeU9iamVjdCAqaXRlbXMsCisgICAgICAgICAgICAgICAgICBQeU9iamVjdCAqc2hhcGUsIFB5T2JqZWN0ICpzdHJpZGVzLAorICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBvZmZzZXQsIFB5T2JqZWN0ICpmb3JtYXQsIGludCBmbGFncykKK3sKKyAgICBuZGJ1Zl90ICpuZGJ1ZjsKKworICAgIG5kYnVmID0gaW5pdF9uZGJ1ZihpdGVtcywgc2hhcGUsIHN0cmlkZXMsIG9mZnNldCwgZm9ybWF0LCBmbGFncyk7CisgICAgaWYgKG5kYnVmID09IE5VTEwpCisgICAgICAgIHJldHVybiAtMTsKKworICAgIG5kYnVmX3B1c2gobmQsIG5kYnVmKTsKKyAgICByZXR1cm4gMDsKK30KKworI2RlZmluZSBQeUJVRl9VTlVTRUQgMHgxMDAwMAorc3RhdGljIGludAorbmRhcnJheV9pbml0KFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3ZHMpCit7CisgICAgTkRBcnJheU9iamVjdCAqbmQgPSAoTkRBcnJheU9iamVjdCAqKXNlbGY7CisgICAgc3RhdGljIGNoYXIgKmt3bGlzdFtdID0geworICAgICAgICAib2JqIiwgInNoYXBlIiwgInN0cmlkZXMiLCAib2Zmc2V0IiwgImZvcm1hdCIsICJmbGFncyIsICJnZXRidWYiLCBOVUxMCisgICAgfTsKKyAgICBQeU9iamVjdCAqdiA9IE5VTEw7ICAvKiBpbml0aWFsaXplcjogc2NhbGFyLCBsaXN0LCB0dXBsZSBvciBiYXNlIG9iamVjdCAqLworICAgIFB5T2JqZWN0ICpzaGFwZSA9IE5VTEw7ICAgLyogc2l6ZSBvZiBlYWNoIGRpbWVuc2lvbiAqLworICAgIFB5T2JqZWN0ICpzdHJpZGVzID0gTlVMTDsgLyogbnVtYmVyIG9mIGJ5dGVzIHRvIHRoZSBuZXh0IGVsdCBpbiBlYWNoIGRpbSAqLworICAgIFB5X3NzaXplX3Qgb2Zmc2V0ID0gMDsgICAgICAgICAgICAvKiBidWZmZXIgb2Zmc2V0ICovCisgICAgUHlPYmplY3QgKmZvcm1hdCA9IHNpbXBsZV9mb3JtYXQ7IC8qIHN0cnVjdCBtb2R1bGUgc3BlY2lmaWVyOiAiQiIgKi8KKyAgICBpbnQgZmxhZ3MgPSBORF9ERUZBVUxUOyAgICAgICAgICAgLyogYmFzZSBidWZmZXIgYW5kIG5kYXJyYXkgZmxhZ3MgKi8KKworICAgIGludCBnZXRidWYgPSBQeUJVRl9VTlVTRUQ7IC8qIHJlLWV4cG9ydGVyOiBnZXRidWZmZXIgcmVxdWVzdCBmbGFncyAqLworCisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2RzLCAiT3xPT25PaWkiLCBrd2xpc3QsCisgICAgICAgICAgICAmdiwgJnNoYXBlLCAmc3RyaWRlcywgJm9mZnNldCwgJmZvcm1hdCwgJmZsYWdzLCAmZ2V0YnVmKSkKKyAgICAgICAgcmV0dXJuIC0xOworCisgICAgLyogTkRBcnJheU9iamVjdCBpcyByZS1leHBvcnRlciAqLworICAgIGlmIChQeU9iamVjdF9DaGVja0J1ZmZlcih2KSAmJiBzaGFwZSA9PSBOVUxMKSB7CisgICAgICAgIGlmIChzdHJpZGVzIHx8IG9mZnNldCB8fCBmb3JtYXQgIT0gc2ltcGxlX2Zvcm1hdCB8fAorICAgICAgICAgICAgIShmbGFncyA9PSBORF9ERUZBVUxUIHx8IGZsYWdzID09IE5EX1JFRElSRUNUKSkgeworICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwKKyAgICAgICAgICAgICAgICJjb25zdHJ1Y3Rpb24gZnJvbSBleHBvcnRlciBvYmplY3Qgb25seSB0YWtlcyAnb2JqJywgJ2dldGJ1ZicgIgorICAgICAgICAgICAgICAgImFuZCAnZmxhZ3MnIGFyZ3VtZW50cyIpOworICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICB9CisKKyAgICAgICAgZ2V0YnVmID0gKGdldGJ1ZiA9PSBQeUJVRl9VTlVTRUQpID8gUHlCVUZfRlVMTF9STyA6IGdldGJ1ZjsKKworICAgICAgICBpZiAobmRhcnJheV9pbml0X3N0YXRpY2J1Zih2LCBuZCwgZ2V0YnVmKSA8IDApCisgICAgICAgICAgICByZXR1cm4gLTE7CisKKyAgICAgICAgaW5pdF9mbGFncyhuZC0+aGVhZCk7CisgICAgICAgIG5kLT5oZWFkLT5mbGFncyB8PSBmbGFnczsKKworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisKKyAgICAvKiBOREFycmF5T2JqZWN0IGlzIHRoZSBvcmlnaW5hbCBiYXNlIG9iamVjdC4gKi8KKyAgICBpZiAoZ2V0YnVmICE9IFB5QlVGX1VOVVNFRCkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLAorICAgICAgICAgICAgImdldGJ1ZiBhcmd1bWVudCBvbmx5IHZhbGlkIGZvciBjb25zdHJ1Y3Rpb24gZnJvbSBleHBvcnRlciAiCisgICAgICAgICAgICAib2JqZWN0Iik7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisgICAgaWYgKHNoYXBlID09IE5VTEwpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwKKyAgICAgICAgICAgICJzaGFwZSBpcyBhIHJlcXVpcmVkIGFyZ3VtZW50IHdoZW4gY29uc3RydWN0aW5nIGZyb20gIgorICAgICAgICAgICAgImxpc3QsIHR1cGxlIG9yIHNjYWxhciIpOworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorCisgICAgaWYgKGZsYWdzICYgTkRfVkFSRVhQT1JUKSB7CisgICAgICAgIG5kLT5mbGFncyB8PSBORF9WQVJFWFBPUlQ7CisgICAgICAgIGZsYWdzICY9IH5ORF9WQVJFWFBPUlQ7CisgICAgfQorCisgICAgLyogSW5pdGlhbGl6ZSBhbmQgcHVzaCB0aGUgZmlyc3QgYmFzZSBidWZmZXIgb250byB0aGUgbGlua2VkIGxpc3QuICovCisgICAgcmV0dXJuIG5kYXJyYXlfcHVzaF9iYXNlKG5kLCB2LCBzaGFwZSwgc3RyaWRlcywgb2Zmc2V0LCBmb3JtYXQsIGZsYWdzKTsKK30KKworLyogUHVzaCBhbiBhZGRpdGlvbmFsIGJhc2Ugb250byB0aGUgbGlua2VkIGxpc3QuICovCitzdGF0aWMgUHlPYmplY3QgKgorbmRhcnJheV9wdXNoKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3ZHMpCit7CisgICAgTkRBcnJheU9iamVjdCAqbmQgPSAoTkRBcnJheU9iamVjdCAqKXNlbGY7CisgICAgc3RhdGljIGNoYXIgKmt3bGlzdFtdID0geworICAgICAgICAiaXRlbXMiLCAic2hhcGUiLCAic3RyaWRlcyIsICJvZmZzZXQiLCAiZm9ybWF0IiwgImZsYWdzIiwgTlVMTAorICAgIH07CisgICAgUHlPYmplY3QgKml0ZW1zID0gTlVMTDsgICAvKiBpbml0aWFsaXplcjogc2NhbGFyLCBsaXN0IG9yIHR1cGxlICovCisgICAgUHlPYmplY3QgKnNoYXBlID0gTlVMTDsgICAvKiBzaXplIG9mIGVhY2ggZGltZW5zaW9uICovCisgICAgUHlPYmplY3QgKnN0cmlkZXMgPSBOVUxMOyAvKiBudW1iZXIgb2YgYnl0ZXMgdG8gdGhlIG5leHQgZWx0IGluIGVhY2ggZGltICovCisgICAgUHlPYmplY3QgKmZvcm1hdCA9IHNpbXBsZV9mb3JtYXQ7ICAvKiBzdHJ1Y3QgbW9kdWxlIHNwZWNpZmllcjogIkIiICovCisgICAgUHlfc3NpemVfdCBvZmZzZXQgPSAwOyAgICAgICAgICAgICAvKiBidWZmZXIgb2Zmc2V0ICovCisgICAgaW50IGZsYWdzID0gTkRfREVGQVVMVDsgICAgICAgICAgICAvKiBiYXNlIGJ1ZmZlciBmbGFncyAqLworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dkcywgIk9PfE9uT2kiLCBrd2xpc3QsCisgICAgICAgICAgICAmaXRlbXMsICZzaGFwZSwgJnN0cmlkZXMsICZvZmZzZXQsICZmb3JtYXQsICZmbGFncykpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgaWYgKGZsYWdzICYgTkRfVkFSRVhQT1JUKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLAorICAgICAgICAgICAgIk5EX1ZBUkVYUE9SVCBmbGFnIGNhbiBvbmx5IGJlIHVzZWQgZHVyaW5nIG9iamVjdCBjcmVhdGlvbiIpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisgICAgaWYgKE5EX0lTX0NPTlNVTUVSKG5kKSkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfQnVmZmVyRXJyb3IsCisgICAgICAgICAgICAic3RydWN0dXJlIG9mIHJlLWV4cG9ydGluZyBvYmplY3QgaXMgaW1tdXRhYmxlIik7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKyAgICBpZiAoIShuZC0+ZmxhZ3MmTkRfVkFSRVhQT1JUKSAmJiBuZC0+aGVhZC0+ZXhwb3J0cyA+IDApIHsKKyAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX0J1ZmZlckVycm9yLAorICAgICAgICAgICAgImNhbm5vdCBjaGFuZ2Ugc3RydWN0dXJlOiAlemQgZXhwb3J0ZWQgYnVmZmVyJXMiLAorICAgICAgICAgICAgbmQtPmhlYWQtPmV4cG9ydHMsIG5kLT5oZWFkLT5leHBvcnRzPT0xID8gIiIgOiAicyIpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisKKyAgICBpZiAobmRhcnJheV9wdXNoX2Jhc2UobmQsIGl0ZW1zLCBzaGFwZSwgc3RyaWRlcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0LCBmb3JtYXQsIGZsYWdzKSA8IDApCisgICAgICAgIHJldHVybiBOVUxMOworICAgIFB5X1JFVFVSTl9OT05FOworfQorCisvKiBQb3AgYSBiYXNlIGZyb20gdGhlIGxpbmtlZCBsaXN0IChpZiBwb3NzaWJsZSkuICovCitzdGF0aWMgUHlPYmplY3QgKgorbmRhcnJheV9wb3AoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpkdW1teSkKK3sKKyAgICBOREFycmF5T2JqZWN0ICpuZCA9IChOREFycmF5T2JqZWN0ICopc2VsZjsKKyAgICBpZiAoTkRfSVNfQ09OU1VNRVIobmQpKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19CdWZmZXJFcnJvciwKKyAgICAgICAgICAgICJzdHJ1Y3R1cmUgb2YgcmUtZXhwb3J0aW5nIG9iamVjdCBpcyBpbW11dGFibGUiKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorICAgIGlmIChuZC0+aGVhZC0+ZXhwb3J0cyA+IDApIHsKKyAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX0J1ZmZlckVycm9yLAorICAgICAgICAgICAgImNhbm5vdCBjaGFuZ2Ugc3RydWN0dXJlOiAlemQgZXhwb3J0ZWQgYnVmZmVyJXMiLAorICAgICAgICAgICAgbmQtPmhlYWQtPmV4cG9ydHMsIG5kLT5oZWFkLT5leHBvcnRzPT0xID8gIiIgOiAicyIpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisgICAgaWYgKG5kLT5oZWFkLT5uZXh0ID09IE5VTEwpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX0J1ZmZlckVycm9yLAorICAgICAgICAgICAgImxpc3Qgb25seSBoYXMgYSBzaW5nbGUgYmFzZSIpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisKKyAgICBuZGJ1Zl9wb3AobmQpOworICAgIFB5X1JFVFVSTl9OT05FOworfQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRidWZmZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKK3N0YXRpYyBpbnQKK25kYXJyYXlfZ2V0YnVmKE5EQXJyYXlPYmplY3QgKnNlbGYsIFB5X2J1ZmZlciAqdmlldywgaW50IGZsYWdzKQoreworICAgIG5kYnVmX3QgKm5kYnVmID0gc2VsZi0+aGVhZDsKKyAgICBQeV9idWZmZXIgKmJhc2UgPSAmbmRidWYtPmJhc2U7CisgICAgaW50IGJhc2VmbGFncyA9IG5kYnVmLT5mbGFnczsKKworICAgIC8qIHJlZGlyZWN0IG1vZGUgKi8KKyAgICBpZiAoYmFzZS0+b2JqICE9IE5VTEwgJiYgKGJhc2VmbGFncyZORF9SRURJUkVDVCkpIHsKKyAgICAgICAgcmV0dXJuIFB5T2JqZWN0X0dldEJ1ZmZlcihiYXNlLT5vYmosIHZpZXcsIGZsYWdzKTsKKyAgICB9CisKKyAgICAvKiBzdGFydCB3aXRoIGNvbXBsZXRlIGluZm9ybWF0aW9uICovCisgICAgKnZpZXcgPSAqYmFzZTsKKyAgICB2aWV3LT5vYmogPSBOVUxMOworCisgICAgLyogcmVjb25zdHJ1Y3QgZm9ybWF0ICovCisgICAgaWYgKHZpZXctPmZvcm1hdCA9PSBOVUxMKQorICAgICAgICB2aWV3LT5mb3JtYXQgPSAiQiI7CisKKyAgICBpZiAoYmFzZS0+bmRpbSAhPSAwICYmCisgICAgICAgICgoUkVRX1NIQVBFKGZsYWdzKSAmJiBiYXNlLT5zaGFwZSA9PSBOVUxMKSB8fAorICAgICAgICAgKFJFUV9TVFJJREVTKGZsYWdzKSAmJiBiYXNlLT5zdHJpZGVzID09IE5VTEwpKSkgeworICAgICAgICAvKiBUaGUgbmRhcnJheSBpcyBhIHJlLWV4cG9ydGVyIHRoYXQgaGFzIGJlZW4gY3JlYXRlZCB3aXRob3V0IGZ1bGwKKyAgICAgICAgICAgaW5mb3JtYXRpb24gZm9yIHRlc3RpbmcgcHVycG9zZXMuIEluIHRoaXMgcGFydGljdWxhciBjYXNlIHRoZQorICAgICAgICAgICBuZGFycmF5IGlzIG5vdCBhIFBFUC0zMTE4IGNvbXBsaWFudCBidWZmZXIgcHJvdmlkZXIuICovCisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19CdWZmZXJFcnJvciwKKyAgICAgICAgICAgICJyZS1leHBvcnRlciBkb2VzIG5vdCBwcm92aWRlIGZvcm1hdCwgc2hhcGUgb3Igc3RyaWRlcyIpOworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorCisgICAgaWYgKGJhc2VmbGFncyAmIE5EX0dFVEJVRl9GQUlMKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19CdWZmZXJFcnJvciwKKyAgICAgICAgICAgICJORF9HRVRCVUZfRkFJTDogZm9yY2VkIHRlc3QgZXhjZXB0aW9uIik7CisgICAgICAgIGlmIChiYXNlZmxhZ3MgJiBORF9HRVRCVUZfVU5ERUZJTkVEKQorICAgICAgICAgICAgdmlldy0+b2JqID0gKFB5T2JqZWN0ICopMHgxOyAvKiB3cm9uZyBidXQgcGVybWl0dGVkIGluIDw9IDMuMiAqLworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorCisgICAgaWYgKFJFUV9XUklUQUJMRShmbGFncykgJiYgYmFzZS0+cmVhZG9ubHkpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX0J1ZmZlckVycm9yLAorICAgICAgICAgICAgIm5kYXJyYXkgaXMgbm90IHdyaXRhYmxlIik7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisgICAgaWYgKCFSRVFfRk9STUFUKGZsYWdzKSkgeworICAgICAgICAvKiBOVUxMIGluZGljYXRlcyB0aGF0IHRoZSBidWZmZXIncyBkYXRhIHR5cGUgaGFzIGJlZW4gY2FzdCB0byAnQicuCisgICAgICAgICAgIHZpZXctPml0ZW1zaXplIGlzIHRoZSBfcHJldmlvdXNfIGl0ZW1zaXplLiBJZiBzaGFwZSBpcyBwcmVzZW50LAorICAgICAgICAgICB0aGUgZXF1YWxpdHkgcHJvZHVjdChzaGFwZSkgKiBpdGVtc2l6ZSA9IGxlbiBzdGlsbCBob2xkcyBhdCB0aGlzCisgICAgICAgICAgIHBvaW50LiBUaGUgZXF1YWxpdHkgY2FsY3NpemUoZm9ybWF0KSA9IGl0ZW1zaXplIGRvZXMgX25vdF8gaG9sZAorICAgICAgICAgICBmcm9tIGhlcmUgb24hICovCisgICAgICAgIHZpZXctPmZvcm1hdCA9IE5VTEw7CisgICAgfQorCisgICAgaWYgKFJFUV9DX0NPTlRJR1VPVVMoZmxhZ3MpICYmICFORF9DX0NPTlRJR1VPVVMoYmFzZWZsYWdzKSkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfQnVmZmVyRXJyb3IsCisgICAgICAgICAgICAibmRhcnJheSBpcyBub3QgQy1jb250aWd1b3VzIik7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisgICAgaWYgKFJFUV9GX0NPTlRJR1VPVVMoZmxhZ3MpICYmICFORF9GT1JUUkFOX0NPTlRJR1VPVVMoYmFzZWZsYWdzKSkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfQnVmZmVyRXJyb3IsCisgICAgICAgICAgICAibmRhcnJheSBpcyBub3QgRm9ydHJhbiBjb250aWd1b3VzIik7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisgICAgaWYgKFJFUV9BTllfQ09OVElHVU9VUyhmbGFncykgJiYgIU5EX0FOWV9DT05USUdVT1VTKGJhc2VmbGFncykpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX0J1ZmZlckVycm9yLAorICAgICAgICAgICAgIm5kYXJyYXkgaXMgbm90IGNvbnRpZ3VvdXMiKTsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKyAgICBpZiAoIVJFUV9JTkRJUkVDVChmbGFncykgJiYgKGJhc2VmbGFncyAmIE5EX1BJTCkpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX0J1ZmZlckVycm9yLAorICAgICAgICAgICAgIm5kYXJyYXkgY2Fubm90IGJlIHJlcHJlc2VudGVkIHdpdGhvdXQgc3Vib2Zmc2V0cyIpOworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorICAgIGlmICghUkVRX1NUUklERVMoZmxhZ3MpKSB7CisgICAgICAgIGlmICghTkRfQ19DT05USUdVT1VTKGJhc2VmbGFncykpIHsKKyAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19CdWZmZXJFcnJvciwKKyAgICAgICAgICAgICAgICAibmRhcnJheSBpcyBub3QgQy1jb250aWd1b3VzIik7CisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIH0KKyAgICAgICAgdmlldy0+c3RyaWRlcyA9IE5VTEw7CisgICAgfQorICAgIGlmICghUkVRX1NIQVBFKGZsYWdzKSkgeworICAgICAgICAvKiBQeUJVRl9TSU1QTEUgb3IgUHlCVUZfV1JJVEFCTEU6IGF0IHRoaXMgcG9pbnQgYnVmIGlzIEMtY29udGlndW91cywKKyAgICAgICAgICAgc28gYmFzZS0+YnVmID0gbmRidWYtPmRhdGEuICovCisgICAgICAgIGlmICh2aWV3LT5mb3JtYXQgIT0gTlVMTCkgeworICAgICAgICAgICAgLyogUHlCVUZfU0lNUExFfFB5QlVGX0ZPUk1BVCBhbmQgUHlCVUZfV1JJVEFCTEV8UHlCVUZfRk9STUFUIGRvCisgICAgICAgICAgICAgICBub3QgbWFrZSBzZW5zZS4gKi8KKyAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19CdWZmZXJFcnJvciwKKyAgICAgICAgICAgICAgICAibmRhcnJheTogY2Fubm90IGNhc3QgdG8gdW5zaWduZWQgYnl0ZXMgaWYgdGhlIGZvcm1hdCBmbGFnICIKKyAgICAgICAgICAgICAgICAiaXMgcHJlc2VudCIpOworICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICB9CisgICAgICAgIC8qIHByb2R1Y3Qoc2hhcGUpICogaXRlbXNpemUgPSBsZW4gYW5kIGNhbGNzaXplKGZvcm1hdCkgPSBpdGVtc2l6ZQorICAgICAgICAgICBkbyBfbm90XyBob2xkIGZyb20gaGVyZSBvbiEgKi8KKyAgICAgICAgdmlldy0+bmRpbSA9IDE7CisgICAgICAgIHZpZXctPnNoYXBlID0gTlVMTDsKKyAgICB9CisKKyAgICB2aWV3LT5vYmogPSAoUHlPYmplY3QgKilzZWxmOworICAgIFB5X0lOQ1JFRih2aWV3LT5vYmopOworICAgIHNlbGYtPmhlYWQtPmV4cG9ydHMrKzsKKworICAgIHJldHVybiAwOworfQorCitzdGF0aWMgaW50CituZGFycmF5X3JlbGVhc2VidWYoTkRBcnJheU9iamVjdCAqc2VsZiwgUHlfYnVmZmVyICp2aWV3KQoreworICAgIGlmICghTkRfSVNfQ09OU1VNRVIoc2VsZikpIHsKKyAgICAgICAgbmRidWZfdCAqbmRidWYgPSB2aWV3LT5pbnRlcm5hbDsKKyAgICAgICAgaWYgKC0tbmRidWYtPmV4cG9ydHMgPT0gMCAmJiBuZGJ1ZiAhPSBzZWxmLT5oZWFkKQorICAgICAgICAgICAgbmRidWZfZGVsZXRlKHNlbGYsIG5kYnVmKTsKKyAgICB9CisKKyAgICByZXR1cm4gMDsKK30KKworc3RhdGljIFB5QnVmZmVyUHJvY3MgbmRhcnJheV9hc19idWZmZXIgPSB7CisgICAgKGdldGJ1ZmZlcnByb2MpbmRhcnJheV9nZXRidWYsICAgICAgICAvKiBiZl9nZXRidWZmZXIgKi8KKyAgICAocmVsZWFzZWJ1ZmZlcnByb2MpbmRhcnJheV9yZWxlYXNlYnVmIC8qIGJmX3JlbGVhc2VidWZmZXIgKi8KK307CisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyogICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRleGluZy9zbGljaW5nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCitzdGF0aWMgY2hhciAqCitwdHJfZnJvbV9pbmRleChQeV9idWZmZXIgKmJhc2UsIFB5X3NzaXplX3QgaW5kZXgpCit7CisgICAgY2hhciAqcHRyOworICAgIFB5X3NzaXplX3Qgbml0ZW1zOyAvKiBpdGVtcyBpbiB0aGUgZmlyc3QgZGltZW5zaW9uICovCisKKyAgICBpZiAoYmFzZS0+c2hhcGUpCisgICAgICAgIG5pdGVtcyA9IGJhc2UtPnNoYXBlWzBdOworICAgIGVsc2UgeworICAgICAgICBhc3NlcnQoYmFzZS0+bmRpbSA9PSAxICYmIFNJTVBMRV9GT1JNQVQoYmFzZS0+Zm9ybWF0KSk7CisgICAgICAgIG5pdGVtcyA9IGJhc2UtPmxlbjsKKyAgICB9CisKKyAgICBpZiAoaW5kZXggPCAwKSB7CisgICAgICAgIGluZGV4ICs9IG5pdGVtczsKKyAgICB9CisgICAgaWYgKGluZGV4IDwgMCB8fCBpbmRleCA+PSBuaXRlbXMpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX0luZGV4RXJyb3IsICJpbmRleCBvdXQgb2YgYm91bmRzIik7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKworICAgIHB0ciA9IChjaGFyICopYmFzZS0+YnVmOworCisgICAgaWYgKGJhc2UtPnN0cmlkZXMgPT0gTlVMTCkKKyAgICAgICAgIHB0ciArPSBiYXNlLT5pdGVtc2l6ZSAqIGluZGV4OworICAgIGVsc2UKKyAgICAgICAgIHB0ciArPSBiYXNlLT5zdHJpZGVzWzBdICogaW5kZXg7CisKKyAgICBwdHIgPSBBREpVU1RfUFRSKHB0ciwgYmFzZS0+c3Vib2Zmc2V0cyk7CisKKyAgICByZXR1cm4gcHRyOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorbmRhcnJheV9pdGVtKE5EQXJyYXlPYmplY3QgKnNlbGYsIFB5X3NzaXplX3QgaW5kZXgpCit7CisgICAgbmRidWZfdCAqbmRidWYgPSBzZWxmLT5oZWFkOworICAgIFB5X2J1ZmZlciAqYmFzZSA9ICZuZGJ1Zi0+YmFzZTsKKyAgICBjaGFyICpwdHI7CisKKyAgICBpZiAoYmFzZS0+bmRpbSA9PSAwKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsICJpbnZhbGlkIGluZGV4aW5nIG9mIHNjYWxhciIpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisKKyAgICBwdHIgPSBwdHJfZnJvbV9pbmRleChiYXNlLCBpbmRleCk7CisgICAgaWYgKHB0ciA9PSBOVUxMKQorICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIGlmIChiYXNlLT5uZGltID09IDEpIHsKKyAgICAgICAgcmV0dXJuIHVucGFja19zaW5nbGUocHRyLCBiYXNlLT5mb3JtYXQsIGJhc2UtPml0ZW1zaXplKTsKKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIE5EQXJyYXlPYmplY3QgKm5kOworICAgICAgICBQeV9idWZmZXIgKnN1YnZpZXc7CisKKyAgICAgICAgbmQgPSAoTkRBcnJheU9iamVjdCAqKW5kYXJyYXlfbmV3KCZOREFycmF5X1R5cGUsIE5VTEwsIE5VTEwpOworICAgICAgICBpZiAobmQgPT0gTlVMTCkKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworCisgICAgICAgIGlmIChuZGFycmF5X2luaXRfc3RhdGljYnVmKChQeU9iamVjdCAqKXNlbGYsIG5kLCBQeUJVRl9GVUxMX1JPKSA8IDApIHsKKyAgICAgICAgICAgIFB5X0RFQ1JFRihuZCk7CisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgfQorCisgICAgICAgIHN1YnZpZXcgPSAmbmQtPnN0YXRpY2J1Zi5iYXNlOworCisgICAgICAgIHN1YnZpZXctPmJ1ZiA9IHB0cjsKKyAgICAgICAgc3Vidmlldy0+bGVuIC89IHN1YnZpZXctPnNoYXBlWzBdOworCisgICAgICAgIHN1YnZpZXctPm5kaW0tLTsKKyAgICAgICAgc3Vidmlldy0+c2hhcGUrKzsKKyAgICAgICAgaWYgKHN1YnZpZXctPnN0cmlkZXMpIHN1YnZpZXctPnN0cmlkZXMrKzsKKyAgICAgICAgaWYgKHN1YnZpZXctPnN1Ym9mZnNldHMpIHN1YnZpZXctPnN1Ym9mZnNldHMrKzsKKworICAgICAgICBpbml0X2ZsYWdzKCZuZC0+c3RhdGljYnVmKTsKKworICAgICAgICByZXR1cm4gKFB5T2JqZWN0ICopbmQ7CisgICAgfQorfQorCisvKgorICBGb3IgZWFjaCBkaW1lbnNpb24sIHdlIGdldCB2YWxpZCAoc3RhcnQsIHN0b3AsIHN0ZXAsIHNsaWNlbGVuZ3RoKSBxdWFkcnVwbGVzCisgIGZyb20gUHlTbGljZV9HZXRJbmRpY2VzRXgoKS4KKworICBTbGljaW5nIE51bVB5IGFycmF5cworICA9PT09PT09PT09PT09PT09PT09PQorCisgICAgQSBwb2ludGVyIHRvIGFuIGVsZW1lbnQgaW4gYSBOdW1QeSBhcnJheSBpcyBkZWZpbmVkIGJ5OgorCisgICAgICBwdHIgPSAoY2hhciAqKWJ1ZiArIGluZGljZXNbMF0gKiBzdHJpZGVzWzBdICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgLi4uICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW5kaWNlc1tuZGltLTFdICogc3RyaWRlc1tuZGltLTFdCisKKyAgICBBZGp1c3QgYnVmOgorICAgIC0tLS0tLS0tLS0tCisgICAgICBBZGRpbmcgc3RhcnRbbl0gZm9yIGVhY2ggZGltZW5zaW9uIGVmZmVjdGl2ZWx5IGFkZHMgdGhlIGNvbnN0YW50OgorCisgICAgICAgIGMgPSBzdGFydFswXSAqIHN0cmlkZXNbMF0gKyAuLi4gKyBzdGFydFtuZGltLTFdICogc3RyaWRlc1tuZGltLTFdCisKKyAgICAgIFRoZXJlZm9yZSBpbml0X3NsaWNlKCkgYWRkcyBhbGwgc3RhcnRbbl0gZGlyZWN0bHkgdG8gYnVmLgorCisgICAgQWRqdXN0IHNoYXBlOgorICAgIC0tLS0tLS0tLS0tLS0KKyAgICAgIE9idmlvdXNseSBzaGFwZVtuXSA9IHNsaWNlbGVuZ3RoW25dCisKKyAgICBBZGp1c3Qgc3RyaWRlczoKKyAgICAtLS0tLS0tLS0tLS0tLS0KKyAgICAgIEluIHRoZSBvcmlnaW5hbCBhcnJheSwgdGhlIG5leHQgZWxlbWVudCBpbiBhIGRpbWVuc2lvbiBpcyByZWFjaGVkCisgICAgICBieSBhZGRpbmcgc3RyaWRlc1tuXSB0byB0aGUgcG9pbnRlci4gSW4gdGhlIHNsaWNlZCBhcnJheSwgZWxlbWVudHMKKyAgICAgIG1heSBiZSBza2lwcGVkLCBzbyB0aGUgbmV4dCBlbGVtZW50IGlzIHJlYWNoZWQgYnkgYWRkaW5nOgorCisgICAgICAgIHN0cmlkZXNbbl0gKiBzdGVwW25dCisKKyAgU2xpY2luZyBQSUwgYXJyYXlzCisgID09PT09PT09PT09PT09PT09PQorCisgICAgTGF5b3V0OgorICAgIC0tLS0tLS0KKyAgICAgIEluIHRoZSBmaXJzdCAoemVyb3RoKSBkaW1lbnNpb24sIFBJTCBhcnJheXMgaGF2ZSBhbiBhcnJheSBvZiBwb2ludGVycworICAgICAgdG8gc3ViLWFycmF5cyBvZiBuZGltLTEuIFN0cmlkaW5nIGluIHRoZSBmaXJzdCBkaW1lbnNpb24gaXMgZG9uZSBieQorICAgICAgZ2V0dGluZyB0aGUgaW5kZXggb2YgdGhlIG50aCBwb2ludGVyLCBkZXJlZmVyZW5jZSBpdCBhbmQgdGhlbiBhZGQgYQorICAgICAgc3Vib2Zmc2V0IHRvIGl0LiBUaGUgYXJyYXlzIHBvaW50ZWQgdG8gY2FuIGJlc3QgYmUgc2VlbiBhIHJlZ3VsYXIKKyAgICAgIE51bVB5IGFycmF5cy4KKworICAgIEFkanVzdCBidWY6CisgICAgLS0tLS0tLS0tLS0KKyAgICAgIEluIHRoZSBvcmlnaW5hbCBhcnJheSwgYnVmIHBvaW50cyB0byBhIGxvY2F0aW9uICh1c3VhbGx5IHRoZSBzdGFydCkKKyAgICAgIGluIHRoZSBhcnJheSBvZiBwb2ludGVycy4gRm9yIHRoZSBzbGljZWQgYXJyYXksIHN0YXJ0WzBdIGNhbiBiZQorICAgICAgYWRkZWQgdG8gYnVmIGluIHRoZSBzYW1lIG1hbm5lciBhcyBmb3IgTnVtUHkgYXJyYXlzLgorCisgICAgQWRqdXN0IHN1Ym9mZnNldHM6CisgICAgLS0tLS0tLS0tLS0tLS0tLS0tCisgICAgICBEdWUgdG8gdGhlIGRlcmVmZXJlbmNpbmcgc3RlcCBpbiB0aGUgYWRkcmVzc2luZyBzY2hlbWUsIGl0IGlzIG5vdAorICAgICAgcG9zc2libGUgdG8gYWRqdXN0IGJ1ZiBmb3IgaGlnaGVyIGRpbWVuc2lvbnMuIFJlY2FsbCB0aGF0IHRoZQorICAgICAgc3ViLWFycmF5cyBwb2ludGVkIHRvIGFyZSByZWd1bGFyIE51bVB5IGFycmF5cywgc28gZm9yIGVhY2ggb2YKKyAgICAgIHRob3NlIGFycmF5cyBhZGRpbmcgc3RhcnRbbl0gZWZmZWN0aXZlbHkgYWRkcyB0aGUgY29uc3RhbnQ6CisKKyAgICAgICAgYyA9IHN0YXJ0WzFdICogc3RyaWRlc1sxXSArIC4uLiArIHN0YXJ0W25kaW0tMV0gKiBzdHJpZGVzW25kaW0tMV0KKworICAgICAgVGhpcyBjb25zdGFudCBpcyBhZGRlZCB0byBzdWJvZmZzZXRzWzBdLiBzdWJvZmZzZXRzWzBdIGluIHR1cm4gaXMKKyAgICAgIGFkZGVkIHRvIGVhY2ggcG9pbnRlciByaWdodCBhZnRlciBkZXJlZmVyZW5jaW5nLgorCisgICAgQWRqdXN0IHNoYXBlIGFuZCBzdHJpZGVzOgorICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgICAgIFNoYXBlIGFuZCBzdHJpZGVzIGFyZSBub3QgaW5mbHVlbmNlZCBieSB0aGUgZGVyZWZlcmVuY2luZyBzdGVwLCBzbworICAgICAgdGhleSBhcmUgYWRqdXN0ZWQgaW4gdGhlIHNhbWUgbWFubmVyIGFzIGZvciBOdW1QeSBhcnJheXMuCisKKyAgTXVsdGlwbGUgbGV2ZWxzIG9mIHN1Ym9mZnNldHMKKyAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworICAgICAgRm9yIGEgY29uc3RydWN0IGxpa2UgYW4gYXJyYXkgb2YgcG9pbnRlcnMgdG8gYXJyYXkgb2YgcG9pbnRlcnMgdG8KKyAgICAgIHN1Yi1hcnJheXMgb2YgbmRpbS0yOgorCisgICAgICAgIHN1Ym9mZnNldHNbMF0gPSBzdGFydFsxXSAqIHN0cmlkZXNbMV0KKyAgICAgICAgc3Vib2Zmc2V0c1sxXSA9IHN0YXJ0WzJdICogc3RyaWRlc1syXSArIC4uLgorKi8KK3N0YXRpYyBpbnQKK2luaXRfc2xpY2UoUHlfYnVmZmVyICpiYXNlLCBQeU9iamVjdCAqa2V5LCBpbnQgZGltKQoreworICAgIFB5X3NzaXplX3Qgc3RhcnQsIHN0b3AsIHN0ZXAsIHNsaWNlbGVuZ3RoOworCisgICAgaWYgKFB5U2xpY2VfR2V0SW5kaWNlc0V4KGtleSwgYmFzZS0+c2hhcGVbZGltXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnN0YXJ0LCAmc3RvcCwgJnN0ZXAsICZzbGljZWxlbmd0aCkgPCAwKSB7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisKKworICAgIGlmIChiYXNlLT5zdWJvZmZzZXRzID09IE5VTEwgfHwgZGltID09IDApIHsKKyAgICBhZGp1c3RfYnVmOgorICAgICAgICBiYXNlLT5idWYgPSAoY2hhciAqKWJhc2UtPmJ1ZiArIGJhc2UtPnN0cmlkZXNbZGltXSAqIHN0YXJ0OworICAgIH0KKyAgICBlbHNlIHsKKyAgICAgICAgUHlfc3NpemVfdCBuID0gZGltLTE7CisgICAgICAgIHdoaWxlIChuID49IDAgJiYgYmFzZS0+c3Vib2Zmc2V0c1tuXSA8IDApCisgICAgICAgICAgICBuLS07CisgICAgICAgIGlmIChuIDwgMCkKKyAgICAgICAgICAgIGdvdG8gYWRqdXN0X2J1ZjsgLyogYWxsIHN1Ym9mZnNldHMgYXJlIG5lZ2F0aXZlICovCisgICAgICAgIGJhc2UtPnN1Ym9mZnNldHNbbl0gPSBiYXNlLT5zdWJvZmZzZXRzW25dICsgYmFzZS0+c3RyaWRlc1tkaW1dICogc3RhcnQ7CisgICAgfQorICAgIGJhc2UtPnNoYXBlW2RpbV0gPSBzbGljZWxlbmd0aDsKKyAgICBiYXNlLT5zdHJpZGVzW2RpbV0gPSBiYXNlLT5zdHJpZGVzW2RpbV0gKiBzdGVwOworCisgICAgcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQKK2NvcHlfc3RydWN0dXJlKFB5X2J1ZmZlciAqYmFzZSkKK3sKKyAgICBQeV9zc2l6ZV90ICpzaGFwZSA9IE5VTEwsICpzdHJpZGVzID0gTlVMTCwgKnN1Ym9mZnNldHMgPSBOVUxMOworICAgIFB5X3NzaXplX3QgaTsKKworICAgIHNoYXBlID0gUHlNZW1fTWFsbG9jKGJhc2UtPm5kaW0gKiAoc2l6ZW9mICpzaGFwZSkpOworICAgIHN0cmlkZXMgPSBQeU1lbV9NYWxsb2MoYmFzZS0+bmRpbSAqIChzaXplb2YgKnN0cmlkZXMpKTsKKyAgICBpZiAoc2hhcGUgPT0gTlVMTCB8fCBzdHJpZGVzID09IE5VTEwpCisgICAgICAgIGdvdG8gZXJyX25vbWVtOworCisgICAgc3Vib2Zmc2V0cyA9IE5VTEw7CisgICAgaWYgKGJhc2UtPnN1Ym9mZnNldHMpIHsKKyAgICAgICAgc3Vib2Zmc2V0cyA9IFB5TWVtX01hbGxvYyhiYXNlLT5uZGltICogKHNpemVvZiAqc3Vib2Zmc2V0cykpOworICAgICAgICBpZiAoc3Vib2Zmc2V0cyA9PSBOVUxMKQorICAgICAgICAgICAgZ290byBlcnJfbm9tZW07CisgICAgfQorCisgICAgZm9yIChpID0gMDsgaSA8IGJhc2UtPm5kaW07IGkrKykgeworICAgICAgICBzaGFwZVtpXSA9IGJhc2UtPnNoYXBlW2ldOworICAgICAgICBzdHJpZGVzW2ldID0gYmFzZS0+c3RyaWRlc1tpXTsKKyAgICAgICAgaWYgKHN1Ym9mZnNldHMpCisgICAgICAgICAgICBzdWJvZmZzZXRzW2ldID0gYmFzZS0+c3Vib2Zmc2V0c1tpXTsKKyAgICB9CisKKyAgICBiYXNlLT5zaGFwZSA9IHNoYXBlOworICAgIGJhc2UtPnN0cmlkZXMgPSBzdHJpZGVzOworICAgIGJhc2UtPnN1Ym9mZnNldHMgPSBzdWJvZmZzZXRzOworCisgICAgcmV0dXJuIDA7CisKK2Vycl9ub21lbToKKyAgICBQeUVycl9Ob01lbW9yeSgpOworICAgIFB5TWVtX1hGcmVlKHNoYXBlKTsKKyAgICBQeU1lbV9YRnJlZShzdHJpZGVzKTsKKyAgICBQeU1lbV9YRnJlZShzdWJvZmZzZXRzKTsKKyAgICByZXR1cm4gLTE7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCituZGFycmF5X3N1YnNjcmlwdChOREFycmF5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqa2V5KQoreworICAgIE5EQXJyYXlPYmplY3QgKm5kOworICAgIG5kYnVmX3QgKm5kYnVmOworICAgIFB5X2J1ZmZlciAqYmFzZSA9ICZzZWxmLT5oZWFkLT5iYXNlOworCisgICAgaWYgKGJhc2UtPm5kaW0gPT0gMCkgeworICAgICAgICBpZiAoUHlUdXBsZV9DaGVjayhrZXkpICYmIFB5VHVwbGVfR0VUX1NJWkUoa2V5KSA9PSAwKSB7CisgICAgICAgICAgICByZXR1cm4gdW5wYWNrX3NpbmdsZShiYXNlLT5idWYsIGJhc2UtPmZvcm1hdCwgYmFzZS0+aXRlbXNpemUpOworICAgICAgICB9CisgICAgICAgIGVsc2UgaWYgKGtleSA9PSBQeV9FbGxpcHNpcykgeworICAgICAgICAgICAgUHlfSU5DUkVGKHNlbGYpOworICAgICAgICAgICAgcmV0dXJuIChQeU9iamVjdCAqKXNlbGY7CisgICAgICAgIH0KKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCAiaW52YWxpZCBpbmRleGluZyBvZiBzY2FsYXIiKTsKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICB9CisgICAgfQorICAgIGlmIChQeUluZGV4X0NoZWNrKGtleSkpIHsKKyAgICAgICAgUHlfc3NpemVfdCBpbmRleCA9IFB5TG9uZ19Bc1NzaXplX3Qoa2V5KTsKKyAgICAgICAgaWYgKGluZGV4ID09IC0xICYmIFB5RXJyX09jY3VycmVkKCkpCisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgcmV0dXJuIG5kYXJyYXlfaXRlbShzZWxmLCBpbmRleCk7CisgICAgfQorCisgICAgbmQgPSAoTkRBcnJheU9iamVjdCAqKW5kYXJyYXlfbmV3KCZOREFycmF5X1R5cGUsIE5VTEwsIE5VTEwpOworICAgIGlmIChuZCA9PSBOVUxMKQorICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIC8qIG5ldyBuZGFycmF5IGlzIGEgY29uc3VtZXIgKi8KKyAgICBpZiAobmRhcnJheV9pbml0X3N0YXRpY2J1ZigoUHlPYmplY3QgKilzZWxmLCBuZCwgUHlCVUZfRlVMTF9STykgPCAwKSB7CisgICAgICAgIFB5X0RFQ1JFRihuZCk7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKworICAgIC8qIGNvcHkgc2hhcGUsIHN0cmlkZXMgYW5kIHN1Ym9mZnNldHMgKi8KKyAgICBuZGJ1ZiA9IG5kLT5oZWFkOworICAgIGJhc2UgPSAmbmRidWYtPmJhc2U7CisgICAgaWYgKGNvcHlfc3RydWN0dXJlKGJhc2UpIDwgMCkgeworICAgICAgICBQeV9ERUNSRUYobmQpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisgICAgbmRidWYtPmZsYWdzIHw9IE5EX09XTl9BUlJBWVM7CisKKyAgICBpZiAoUHlTbGljZV9DaGVjayhrZXkpKSB7CisgICAgICAgIC8qIG9uZS1kaW1lbnNpb25hbCBzbGljZSAqLworICAgICAgICBpZiAoaW5pdF9zbGljZShiYXNlLCBrZXksIDApIDwgMCkKKyAgICAgICAgICAgIGdvdG8gZXJyX29jY3VycmVkOworICAgIH0KKyAgICBlbHNlIGlmIFB5VHVwbGVfQ2hlY2soa2V5KSB7CisgICAgICAgIC8qIG11bHRpLWRpbWVuc2lvbmFsIHNsaWNlICovCisgICAgICAgIFB5T2JqZWN0ICp0dXBsZSA9IGtleTsKKyAgICAgICAgUHlfc3NpemVfdCBpLCBuOworCisgICAgICAgIG4gPSBQeVR1cGxlX0dFVF9TSVpFKHR1cGxlKTsKKyAgICAgICAgZm9yIChpID0gMDsgaSA8IG47IGkrKykgeworICAgICAgICAgICAga2V5ID0gUHlUdXBsZV9HRVRfSVRFTSh0dXBsZSwgaSk7CisgICAgICAgICAgICBpZiAoIVB5U2xpY2VfQ2hlY2soa2V5KSkKKyAgICAgICAgICAgICAgICBnb3RvIHR5cGVfZXJyb3I7CisgICAgICAgICAgICBpZiAoaW5pdF9zbGljZShiYXNlLCBrZXksIChpbnQpaSkgPCAwKQorICAgICAgICAgICAgICAgIGdvdG8gZXJyX29jY3VycmVkOworICAgICAgICB9CisgICAgfQorICAgIGVsc2UgeworICAgICAgICBnb3RvIHR5cGVfZXJyb3I7CisgICAgfQorCisgICAgaW5pdF9sZW4oYmFzZSk7CisgICAgaW5pdF9mbGFncyhuZGJ1Zik7CisKKyAgICByZXR1cm4gKFB5T2JqZWN0ICopbmQ7CisKKwordHlwZV9lcnJvcjoKKyAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLAorICAgICAgICAiY2Fubm90IGluZGV4IG1lbW9yeSB1c2luZyBcIiUuMjAwc1wiIiwKKyAgICAgICAga2V5LT5vYl90eXBlLT50cF9uYW1lKTsKK2Vycl9vY2N1cnJlZDoKKyAgICBQeV9ERUNSRUYobmQpOworICAgIHJldHVybiBOVUxMOworfQorCisKK3N0YXRpYyBpbnQKK25kYXJyYXlfYXNzX3N1YnNjcmlwdChOREFycmF5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqa2V5LCBQeU9iamVjdCAqdmFsdWUpCit7CisgICAgTkRBcnJheU9iamVjdCAqbmQ7CisgICAgUHlfYnVmZmVyICpkZXN0ID0gJnNlbGYtPmhlYWQtPmJhc2U7CisgICAgUHlfYnVmZmVyIHNyYzsKKyAgICBjaGFyICpwdHI7CisgICAgUHlfc3NpemVfdCBpbmRleDsKKyAgICBpbnQgcmV0ID0gLTE7CisKKyAgICBpZiAoZGVzdC0+cmVhZG9ubHkpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgIm5kYXJyYXkgaXMgbm90IHdyaXRhYmxlIik7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisgICAgaWYgKHZhbHVlID09IE5VTEwpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgIm5kYXJyYXkgZGF0YSBjYW5ub3QgYmUgZGVsZXRlZCIpOworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorICAgIGlmIChkZXN0LT5uZGltID09IDApIHsKKyAgICAgICAgaWYgKGtleSA9PSBQeV9FbGxpcHNpcyB8fAorICAgICAgICAgICAgKFB5VHVwbGVfQ2hlY2soa2V5KSAmJiBQeVR1cGxlX0dFVF9TSVpFKGtleSkgPT0gMCkpIHsKKyAgICAgICAgICAgIHB0ciA9IChjaGFyICopZGVzdC0+YnVmOworICAgICAgICAgICAgcmV0dXJuIHBhY2tfc2luZ2xlKHB0ciwgdmFsdWUsIGRlc3QtPmZvcm1hdCwgZGVzdC0+aXRlbXNpemUpOworICAgICAgICB9CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgImludmFsaWQgaW5kZXhpbmcgb2Ygc2NhbGFyIik7CisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIH0KKyAgICB9CisgICAgaWYgKGRlc3QtPm5kaW0gPT0gMSAmJiBQeUluZGV4X0NoZWNrKGtleSkpIHsKKyAgICAgICAgLyogcnZhbHVlIG11c3QgYmUgYSBzaW5nbGUgaXRlbSAqLworICAgICAgICBpbmRleCA9IFB5TG9uZ19Bc1NzaXplX3Qoa2V5KTsKKyAgICAgICAgaWYgKGluZGV4ID09IC0xICYmIFB5RXJyX09jY3VycmVkKCkpCisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgcHRyID0gcHRyX2Zyb21faW5kZXgoZGVzdCwgaW5kZXgpOworICAgICAgICAgICAgaWYgKHB0ciA9PSBOVUxMKQorICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gcGFja19zaW5nbGUocHRyLCB2YWx1ZSwgZGVzdC0+Zm9ybWF0LCBkZXN0LT5pdGVtc2l6ZSk7CisgICAgfQorCisgICAgLyogcnZhbHVlIG11c3QgYmUgYW4gZXhwb3J0ZXIgKi8KKyAgICBpZiAoUHlPYmplY3RfR2V0QnVmZmVyKHZhbHVlLCAmc3JjLCBQeUJVRl9GVUxMX1JPKSA9PSAtMSkKKyAgICAgICAgcmV0dXJuIC0xOworCisgICAgbmQgPSAoTkRBcnJheU9iamVjdCAqKW5kYXJyYXlfc3Vic2NyaXB0KHNlbGYsIGtleSk7CisgICAgaWYgKG5kICE9IE5VTEwpIHsKKyAgICAgICAgZGVzdCA9ICZuZC0+aGVhZC0+YmFzZTsKKyAgICAgICAgcmV0ID0gY29weV9idWZmZXIoZGVzdCwgJnNyYyk7CisgICAgICAgIFB5X0RFQ1JFRihuZCk7CisgICAgfQorCisgICAgUHlCdWZmZXJfUmVsZWFzZSgmc3JjKTsKKyAgICByZXR1cm4gcmV0OworfQorCitzdGF0aWMgUHlPYmplY3QgKgorc2xpY2VfaW5kaWNlcyhQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKnJldCwgKmtleSwgKnRtcDsKKyAgICBQeV9zc2l6ZV90IHNbNF07IC8qIHN0YXJ0LCBzdG9wLCBzdGVwLCBzbGljZWxlbmd0aCAqLworICAgIFB5X3NzaXplX3QgaSwgbGVuOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJPbiIsICZrZXksICZsZW4pKSB7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKyAgICBpZiAoIVB5U2xpY2VfQ2hlY2soa2V5KSkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLAorICAgICAgICAgICAgImZpcnN0IGFyZ3VtZW50IG11c3QgYmUgYSBzbGljZSBvYmplY3QiKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorICAgIGlmIChQeVNsaWNlX0dldEluZGljZXNFeChrZXksIGxlbiwgJnNbMF0sICZzWzFdLCAmc1syXSwgJnNbM10pIDwgMCkgeworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisKKyAgICByZXQgPSBQeVR1cGxlX05ldyg0KTsKKyAgICBpZiAocmV0ID09IE5VTEwpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgZm9yIChpID0gMDsgaSA8IDQ7IGkrKykgeworICAgICAgICB0bXAgPSBQeUxvbmdfRnJvbVNzaXplX3Qoc1tpXSk7CisgICAgICAgIGlmICh0bXAgPT0gTlVMTCkKKyAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgIFB5VHVwbGVfU0VUX0lURU0ocmV0LCBpLCB0bXApOworICAgIH0KKworICAgIHJldHVybiByZXQ7CisKK2Vycm9yOgorICAgIFB5X0RFQ1JFRihyZXQpOworICAgIHJldHVybiBOVUxMOworfQorCisKK3N0YXRpYyBQeU1hcHBpbmdNZXRob2RzIG5kYXJyYXlfYXNfbWFwcGluZyA9IHsKKyAgICBOVUxMLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG1wX2xlbmd0aCAqLworICAgIChiaW5hcnlmdW5jKW5kYXJyYXlfc3Vic2NyaXB0LCAgICAgICAgLyogbXBfc3Vic2NyaXB0ICovCisgICAgKG9iam9iamFyZ3Byb2MpbmRhcnJheV9hc3Nfc3Vic2NyaXB0ICAvKiBtcF9hc3Nfc3Vic2NyaXB0ICovCit9OworCitzdGF0aWMgUHlTZXF1ZW5jZU1ldGhvZHMgbmRhcnJheV9hc19zZXF1ZW5jZSA9IHsKKyAgICAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHNxX2xlbmd0aCAqLworICAgICAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogc3FfY29uY2F0ICovCisgICAgICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBzcV9yZXBlYXQgKi8KKyAgICAgICAgKHNzaXplYXJnZnVuYyluZGFycmF5X2l0ZW0sICAgICAgIC8qIHNxX2l0ZW0gKi8KK307CisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXR0ZXJzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCitzdGF0aWMgUHlPYmplY3QgKgorc3NpemVfYXJyYXlfYXNfdHVwbGUoUHlfc3NpemVfdCAqYXJyYXksIFB5X3NzaXplX3QgbGVuKQoreworICAgIFB5T2JqZWN0ICp0dXBsZSwgKng7CisgICAgUHlfc3NpemVfdCBpOworCisgICAgaWYgKGFycmF5ID09IE5VTEwpCisgICAgICAgIHJldHVybiBQeVR1cGxlX05ldygwKTsKKworICAgIHR1cGxlID0gUHlUdXBsZV9OZXcobGVuKTsKKyAgICBpZiAodHVwbGUgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICBmb3IgKGkgPSAwOyBpIDwgbGVuOyBpKyspIHsKKyAgICAgICAgeCA9IFB5TG9uZ19Gcm9tU3NpemVfdChhcnJheVtpXSk7CisgICAgICAgIGlmICh4ID09IE5VTEwpIHsKKyAgICAgICAgICAgIFB5X0RFQ1JFRih0dXBsZSk7CisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgfQorICAgICAgICBQeVR1cGxlX1NFVF9JVEVNKHR1cGxlLCBpLCB4KTsKKyAgICB9CisKKyAgICByZXR1cm4gdHVwbGU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCituZGFycmF5X2dldF9mbGFncyhOREFycmF5T2JqZWN0ICpzZWxmLCB2b2lkICpjbG9zdXJlKQoreworICAgIHJldHVybiBQeUxvbmdfRnJvbUxvbmcoc2VsZi0+aGVhZC0+ZmxhZ3MpOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorbmRhcnJheV9nZXRfb2Zmc2V0KE5EQXJyYXlPYmplY3QgKnNlbGYsIHZvaWQgKmNsb3N1cmUpCit7CisgICAgbmRidWZfdCAqbmRidWYgPSBzZWxmLT5oZWFkOworICAgIHJldHVybiBQeUxvbmdfRnJvbVNzaXplX3QobmRidWYtPm9mZnNldCk7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCituZGFycmF5X2dldF9vYmooTkRBcnJheU9iamVjdCAqc2VsZiwgdm9pZCAqY2xvc3VyZSkKK3sKKyAgICBQeV9idWZmZXIgKmJhc2UgPSAmc2VsZi0+aGVhZC0+YmFzZTsKKworICAgIGlmIChiYXNlLT5vYmogPT0gTlVMTCkgeyAKKyAgICAgICAgUHlfUkVUVVJOX05PTkU7CisgICAgfQorICAgIFB5X0lOQ1JFRihiYXNlLT5vYmopOworICAgIHJldHVybiBiYXNlLT5vYmo7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCituZGFycmF5X2dldF9uYnl0ZXMoTkRBcnJheU9iamVjdCAqc2VsZiwgdm9pZCAqY2xvc3VyZSkKK3sKKyAgICBQeV9idWZmZXIgKmJhc2UgPSAmc2VsZi0+aGVhZC0+YmFzZTsKKyAgICByZXR1cm4gUHlMb25nX0Zyb21Tc2l6ZV90KGJhc2UtPmxlbik7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCituZGFycmF5X2dldF9yZWFkb25seShOREFycmF5T2JqZWN0ICpzZWxmLCB2b2lkICpjbG9zdXJlKQoreworICAgIFB5X2J1ZmZlciAqYmFzZSA9ICZzZWxmLT5oZWFkLT5iYXNlOworICAgIHJldHVybiBQeUxvbmdfRnJvbUxvbmcoYmFzZS0+cmVhZG9ubHkpOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorbmRhcnJheV9nZXRfaXRlbXNpemUoTkRBcnJheU9iamVjdCAqc2VsZiwgdm9pZCAqY2xvc3VyZSkKK3sKKyAgICBQeV9idWZmZXIgKmJhc2UgPSAmc2VsZi0+aGVhZC0+YmFzZTsKKyAgICByZXR1cm4gUHlMb25nX0Zyb21Tc2l6ZV90KGJhc2UtPml0ZW1zaXplKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK25kYXJyYXlfZ2V0X2Zvcm1hdChOREFycmF5T2JqZWN0ICpzZWxmLCB2b2lkICpjbG9zdXJlKQoreworICAgIFB5X2J1ZmZlciAqYmFzZSA9ICZzZWxmLT5oZWFkLT5iYXNlOworICAgIGNoYXIgKmZtdCA9IGJhc2UtPmZvcm1hdCA/IGJhc2UtPmZvcm1hdCA6ICIiOworICAgIHJldHVybiBQeVVuaWNvZGVfRnJvbVN0cmluZyhmbXQpOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorbmRhcnJheV9nZXRfbmRpbShOREFycmF5T2JqZWN0ICpzZWxmLCB2b2lkICpjbG9zdXJlKQoreworICAgIFB5X2J1ZmZlciAqYmFzZSA9ICZzZWxmLT5oZWFkLT5iYXNlOworICAgIHJldHVybiBQeUxvbmdfRnJvbVNzaXplX3QoYmFzZS0+bmRpbSk7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCituZGFycmF5X2dldF9zaGFwZShOREFycmF5T2JqZWN0ICpzZWxmLCB2b2lkICpjbG9zdXJlKQoreworICAgIFB5X2J1ZmZlciAqYmFzZSA9ICZzZWxmLT5oZWFkLT5iYXNlOworICAgIHJldHVybiBzc2l6ZV9hcnJheV9hc190dXBsZShiYXNlLT5zaGFwZSwgYmFzZS0+bmRpbSk7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCituZGFycmF5X2dldF9zdHJpZGVzKE5EQXJyYXlPYmplY3QgKnNlbGYsIHZvaWQgKmNsb3N1cmUpCit7CisgICAgUHlfYnVmZmVyICpiYXNlID0gJnNlbGYtPmhlYWQtPmJhc2U7CisgICAgcmV0dXJuIHNzaXplX2FycmF5X2FzX3R1cGxlKGJhc2UtPnN0cmlkZXMsIGJhc2UtPm5kaW0pOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorbmRhcnJheV9nZXRfc3Vib2Zmc2V0cyhOREFycmF5T2JqZWN0ICpzZWxmLCB2b2lkICpjbG9zdXJlKQoreworICAgIFB5X2J1ZmZlciAqYmFzZSA9ICZzZWxmLT5oZWFkLT5iYXNlOworICAgIHJldHVybiBzc2l6ZV9hcnJheV9hc190dXBsZShiYXNlLT5zdWJvZmZzZXRzLCBiYXNlLT5uZGltKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK25kYXJyYXlfY19jb250aWcoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpkdW1teSkKK3sKKyAgICBOREFycmF5T2JqZWN0ICpuZCA9IChOREFycmF5T2JqZWN0ICopc2VsZjsKKyAgICBpbnQgcmV0ID0gUHlCdWZmZXJfSXNDb250aWd1b3VzKCZuZC0+aGVhZC0+YmFzZSwgJ0MnKTsKKworICAgIGlmIChyZXQgIT0gTkRfQ19DT05USUdVT1VTKG5kLT5oZWFkLT5mbGFncykpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1J1bnRpbWVFcnJvciwKKyAgICAgICAgICAgICJyZXN1bHRzIGZyb20gUHlCdWZmZXJfSXNDb250aWd1b3VzKCkgYW5kIGZsYWdzIGRpZmZlciIpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisgICAgcmV0dXJuIFB5Qm9vbF9Gcm9tTG9uZyhyZXQpOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorbmRhcnJheV9mb3J0cmFuX2NvbnRpZyhQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmR1bW15KQoreworICAgIE5EQXJyYXlPYmplY3QgKm5kID0gKE5EQXJyYXlPYmplY3QgKilzZWxmOworICAgIGludCByZXQgPSBQeUJ1ZmZlcl9Jc0NvbnRpZ3VvdXMoJm5kLT5oZWFkLT5iYXNlLCAnRicpOworCisgICAgaWYgKHJldCAhPSBORF9GT1JUUkFOX0NPTlRJR1VPVVMobmQtPmhlYWQtPmZsYWdzKSkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfUnVudGltZUVycm9yLAorICAgICAgICAgICAgInJlc3VsdHMgZnJvbSBQeUJ1ZmZlcl9Jc0NvbnRpZ3VvdXMoKSBhbmQgZmxhZ3MgZGlmZmVyIik7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKyAgICByZXR1cm4gUHlCb29sX0Zyb21Mb25nKHJldCk7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCituZGFycmF5X2NvbnRpZyhQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmR1bW15KQoreworICAgIE5EQXJyYXlPYmplY3QgKm5kID0gKE5EQXJyYXlPYmplY3QgKilzZWxmOworICAgIGludCByZXQgPSBQeUJ1ZmZlcl9Jc0NvbnRpZ3VvdXMoJm5kLT5oZWFkLT5iYXNlLCAnQScpOworCisgICAgaWYgKHJldCAhPSBORF9BTllfQ09OVElHVU9VUyhuZC0+aGVhZC0+ZmxhZ3MpKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19SdW50aW1lRXJyb3IsCisgICAgICAgICAgICAicmVzdWx0cyBmcm9tIFB5QnVmZmVyX0lzQ29udGlndW91cygpIGFuZCBmbGFncyBkaWZmZXIiKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorICAgIHJldHVybiBQeUJvb2xfRnJvbUxvbmcocmV0KTsKK30KKworCitzdGF0aWMgUHlHZXRTZXREZWYgbmRhcnJheV9nZXRzZXQgW10gPQoreworICAvKiBuZGJ1ZiAqLworICB7ICJmbGFncyIsICAgICAgICAoZ2V0dGVyKW5kYXJyYXlfZ2V0X2ZsYWdzLCAgICAgIE5VTEwsIE5VTEwsIE5VTEx9LAorICB7ICJvZmZzZXQiLCAgICAgICAoZ2V0dGVyKW5kYXJyYXlfZ2V0X29mZnNldCwgICAgIE5VTEwsIE5VTEwsIE5VTEx9LAorICAvKiBuZGJ1Zi5iYXNlICovCisgIHsgIm9iaiIsICAgICAgICAgIChnZXR0ZXIpbmRhcnJheV9nZXRfb2JqLCAgICAgICAgTlVMTCwgTlVMTCwgTlVMTH0sCisgIHsgIm5ieXRlcyIsICAgICAgIChnZXR0ZXIpbmRhcnJheV9nZXRfbmJ5dGVzLCAgICAgTlVMTCwgTlVMTCwgTlVMTH0sCisgIHsgInJlYWRvbmx5IiwgICAgIChnZXR0ZXIpbmRhcnJheV9nZXRfcmVhZG9ubHksICAgTlVMTCwgTlVMTCwgTlVMTH0sCisgIHsgIml0ZW1zaXplIiwgICAgIChnZXR0ZXIpbmRhcnJheV9nZXRfaXRlbXNpemUsICAgTlVMTCwgTlVMTCwgTlVMTH0sCisgIHsgImZvcm1hdCIsICAgICAgIChnZXR0ZXIpbmRhcnJheV9nZXRfZm9ybWF0LCAgICAgTlVMTCwgTlVMTCwgTlVMTH0sCisgIHsgIm5kaW0iLCAgICAgICAgIChnZXR0ZXIpbmRhcnJheV9nZXRfbmRpbSwgICAgICAgTlVMTCwgTlVMTCwgTlVMTH0sCisgIHsgInNoYXBlIiwgICAgICAgIChnZXR0ZXIpbmRhcnJheV9nZXRfc2hhcGUsICAgICAgTlVMTCwgTlVMTCwgTlVMTH0sCisgIHsgInN0cmlkZXMiLCAgICAgIChnZXR0ZXIpbmRhcnJheV9nZXRfc3RyaWRlcywgICAgTlVMTCwgTlVMTCwgTlVMTH0sCisgIHsgInN1Ym9mZnNldHMiLCAgIChnZXR0ZXIpbmRhcnJheV9nZXRfc3Vib2Zmc2V0cywgTlVMTCwgTlVMTCwgTlVMTH0sCisgIHsgImNfY29udGlndW91cyIsIChnZXR0ZXIpbmRhcnJheV9jX2NvbnRpZywgICAgICAgTlVMTCwgTlVMTCwgTlVMTH0sCisgIHsgImZfY29udGlndW91cyIsIChnZXR0ZXIpbmRhcnJheV9mb3J0cmFuX2NvbnRpZywgTlVMTCwgTlVMTCwgTlVMTH0sCisgIHsgImNvbnRpZ3VvdXMiLCAgIChnZXR0ZXIpbmRhcnJheV9jb250aWcsICAgICAgICAgTlVMTCwgTlVMTCwgTlVMTH0sCisgIHtOVUxMfQorfTsKKworc3RhdGljIFB5T2JqZWN0ICoKK25kYXJyYXlfdG9saXN0KFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqZHVtbXkpCit7CisgICAgcmV0dXJuIG5kYXJyYXlfYXNfbGlzdCgoTkRBcnJheU9iamVjdCAqKXNlbGYpOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorbmRhcnJheV90b2J5dGVzKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqZHVtbXkpCit7CisgICAgbmRidWZfdCAqbmRidWYgPSAoKE5EQXJyYXlPYmplY3QgKilzZWxmKS0+aGVhZDsKKyAgICBQeV9idWZmZXIgKnNyYyA9ICZuZGJ1Zi0+YmFzZTsKKyAgICBQeV9idWZmZXIgZGVzdDsKKyAgICBQeU9iamVjdCAqcmV0ID0gTlVMTDsKKyAgICBjaGFyICptZW07CisKKyAgICBpZiAoTkRfQ19DT05USUdVT1VTKG5kYnVmLT5mbGFncykpCisgICAgICAgIHJldHVybiBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplKHNyYy0+YnVmLCBzcmMtPmxlbik7CisKKyAgICBhc3NlcnQoc3JjLT5zaGFwZSAhPSBOVUxMKTsKKyAgICBhc3NlcnQoc3JjLT5zdHJpZGVzICE9IE5VTEwpOworICAgIGFzc2VydChzcmMtPm5kaW0gPiAwKTsKKworICAgIG1lbSA9IFB5TWVtX01hbGxvYyhzcmMtPmxlbik7CisgICAgaWYgKG1lbSA9PSBOVUxMKSB7CisgICAgICAgIFB5RXJyX05vTWVtb3J5KCk7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKworICAgIGRlc3QgPSAqc3JjOworICAgIGRlc3QuYnVmID0gbWVtOworICAgIGRlc3Quc3Vib2Zmc2V0cyA9IE5VTEw7CisgICAgZGVzdC5zdHJpZGVzID0gc3RyaWRlc19mcm9tX3NoYXBlKG5kYnVmLCAwKTsKKyAgICBpZiAoZGVzdC5zdHJpZGVzID09IE5VTEwpCisgICAgICAgIGdvdG8gb3V0OworICAgIGlmIChjb3B5X2J1ZmZlcigmZGVzdCwgc3JjKSA8IDApCisgICAgICAgIGdvdG8gb3V0OworCisgICAgcmV0ID0gUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZShtZW0sIHNyYy0+bGVuKTsKKworb3V0OgorICAgIFB5TWVtX1hGcmVlKGRlc3Quc3RyaWRlcyk7CisgICAgUHlNZW1fRnJlZShtZW0pOworICAgIHJldHVybiByZXQ7Cit9CisKKy8qIGFkZCByZWR1bmRhbnQgKG5lZ2F0aXZlKSBzdWJvZmZzZXRzIGZvciB0ZXN0aW5nICovCitzdGF0aWMgUHlPYmplY3QgKgorbmRhcnJheV9hZGRfc3Vib2Zmc2V0cyhQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmR1bW15KQoreworICAgIE5EQXJyYXlPYmplY3QgKm5kID0gKE5EQXJyYXlPYmplY3QgKilzZWxmOworICAgIFB5X2J1ZmZlciAqYmFzZSA9ICZuZC0+aGVhZC0+YmFzZTsKKyAgICBQeV9zc2l6ZV90IGk7CisKKyAgICBpZiAoYmFzZS0+c3Vib2Zmc2V0cyAhPSBOVUxMKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsCisgICAgICAgICAgICAiY2Fubm90IGFkZCBzdWJvZmZzZXRzIHRvIFBJTC1zdHlsZSBhcnJheSIpOworICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorICAgIGlmIChiYXNlLT5zdHJpZGVzID09IE5VTEwpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwKKyAgICAgICAgICAgICJjYW5ub3QgYWRkIHN1Ym9mZnNldHMgdG8gYXJyYXkgd2l0aG91dCBzdHJpZGVzIik7CisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisKKyAgICBiYXNlLT5zdWJvZmZzZXRzID0gUHlNZW1fTWFsbG9jKGJhc2UtPm5kaW0gKiAoc2l6ZW9mICpiYXNlLT5zdWJvZmZzZXRzKSk7CisgICAgaWYgKGJhc2UtPnN1Ym9mZnNldHMgPT0gTlVMTCkgeworICAgICAgICBQeUVycl9Ob01lbW9yeSgpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisKKyAgICBmb3IgKGkgPSAwOyBpIDwgYmFzZS0+bmRpbTsgaSsrKQorICAgICAgICBiYXNlLT5zdWJvZmZzZXRzW2ldID0gLTE7CisKKyAgICBQeV9SRVRVUk5fTk9ORTsKK30KKworLyogVGVzdCBQeU1lbW9yeVZpZXdfRnJvbUJ1ZmZlcigpOiByZXR1cm4gYSBtZW1vcnl2aWV3IGZyb20gYSBzdGF0aWMgYnVmZmVyLgorICAgT2J2aW91c2x5IHRoaXMgaXMgZnJhZ2lsZSBhbmQgb25seSBvbmUgc3VjaCB2aWV3IG1heSBiZSBhY3RpdmUgYXQgYW55CisgICB0aW1lLiBOZXZlciB1c2UgYW55dGhpbmcgbGlrZSB0aGlzIGluIHJlYWwgY29kZSEgKi8KK3N0YXRpYyBjaGFyICppbmZvYnVmID0gTlVMTDsKK3N0YXRpYyBQeU9iamVjdCAqCituZGFycmF5X21lbW9yeXZpZXdfZnJvbV9idWZmZXIoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpkdW1teSkKK3sKKyAgICBjb25zdCBOREFycmF5T2JqZWN0ICpuZCA9IChOREFycmF5T2JqZWN0ICopc2VsZjsKKyAgICBjb25zdCBQeV9idWZmZXIgKnZpZXcgPSAmbmQtPmhlYWQtPmJhc2U7CisgICAgY29uc3QgbmRidWZfdCAqbmRidWY7CisgICAgc3RhdGljIGNoYXIgZm9ybWF0W05EX01BWF9ORElNKzFdOworICAgIHN0YXRpYyBQeV9zc2l6ZV90IHNoYXBlW05EX01BWF9ORElNXTsKKyAgICBzdGF0aWMgUHlfc3NpemVfdCBzdHJpZGVzW05EX01BWF9ORElNXTsKKyAgICBzdGF0aWMgUHlfc3NpemVfdCBzdWJvZmZzZXRzW05EX01BWF9ORElNXTsKKyAgICBzdGF0aWMgUHlfYnVmZmVyIGluZm87CisgICAgY2hhciAqcDsKKworICAgIGlmICghTkRfSVNfQ09OU1VNRVIobmQpKQorICAgICAgICBuZGJ1ZiA9IG5kLT5oZWFkOyAvKiBzZWxmIGlzIG5kYXJyYXkvb3JpZ2luYWwgZXhwb3J0ZXIgKi8KKyAgICBlbHNlIGlmIChOREFycmF5X0NoZWNrKHZpZXctPm9iaikgJiYgIU5EX0lTX0NPTlNVTUVSKHZpZXctPm9iaikpCisgICAgICAgIC8qIHNlbGYgaXMgbmRhcnJheSBhbmQgY29uc3VtZXIgZnJvbSBuZGFycmF5L29yaWdpbmFsIGV4cG9ydGVyICovCisgICAgICAgIG5kYnVmID0gKChOREFycmF5T2JqZWN0ICopdmlldy0+b2JqKS0+aGVhZDsKKyAgICBlbHNlIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwKKyAgICAgICAgIm1lbW9yeXZpZXdfZnJvbV9idWZmZXIoKTogbmRhcnJheSBtdXN0IGJlIG9yaWdpbmFsIGV4cG9ydGVyIG9yICIKKyAgICAgICAgImNvbnN1bWVyIGZyb20gbmRhcnJheS9vcmlnaW5hbCBleHBvcnRlciIpOworICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorCisgICAgaW5mbyA9ICp2aWV3OworICAgIHAgPSBQeU1lbV9SZWFsbG9jKGluZm9idWYsIG5kYnVmLT5sZW4pOworICAgIGlmIChwID09IE5VTEwpIHsKKyAgICAgICAgUHlNZW1fRnJlZShpbmZvYnVmKTsKKyAgICAgICAgUHlFcnJfTm9NZW1vcnkoKTsKKyAgICAgICAgaW5mb2J1ZiA9IE5VTEw7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKyAgICBlbHNlIHsKKyAgICAgICAgaW5mb2J1ZiA9IHA7CisgICAgfQorICAgIC8qIGNvcHkgdGhlIGNvbXBsZXRlIHJhdyBkYXRhICovCisgICAgbWVtY3B5KGluZm9idWYsIG5kYnVmLT5kYXRhLCBuZGJ1Zi0+bGVuKTsKKyAgICBpbmZvLmJ1ZiA9IGluZm9idWYgKyAoKGNoYXIgKil2aWV3LT5idWYgLSBuZGJ1Zi0+ZGF0YSk7CisKKyAgICBpZiAodmlldy0+Zm9ybWF0KSB7CisgICAgICAgIGlmIChzdHJsZW4odmlldy0+Zm9ybWF0KSA+IE5EX01BWF9ORElNKSB7CisgICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLAorICAgICAgICAgICAgICAgICJtZW1vcnl2aWV3X2Zyb21fYnVmZmVyOiBmb3JtYXQgaXMgbGltaXRlZCB0byAlZCBjaGFyYWN0ZXJzIiwKKyAgICAgICAgICAgICAgICBORF9NQVhfTkRJTSk7CisgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIH0KKyAgICAgICAgc3RyY3B5KGZvcm1hdCwgdmlldy0+Zm9ybWF0KTsKKyAgICAgICAgaW5mby5mb3JtYXQgPSBmb3JtYXQ7CisgICAgfQorICAgIGlmICh2aWV3LT5uZGltID4gTkRfTUFYX05ESU0pIHsKKyAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1R5cGVFcnJvciwKKyAgICAgICAgICAgICJtZW1vcnl2aWV3X2Zyb21fYnVmZmVyOiBuZGltIGlzIGxpbWl0ZWQgdG8gJWQiLCBORF9NQVhfTkRJTSk7CisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisgICAgaWYgKHZpZXctPnNoYXBlKSB7CisgICAgICAgIG1lbWNweShzaGFwZSwgdmlldy0+c2hhcGUsIHZpZXctPm5kaW0gKiBzaXplb2YoUHlfc3NpemVfdCkpOworICAgICAgICBpbmZvLnNoYXBlID0gc2hhcGU7CisgICAgfQorICAgIGlmICh2aWV3LT5zdHJpZGVzKSB7CisgICAgICAgIG1lbWNweShzdHJpZGVzLCB2aWV3LT5zdHJpZGVzLCB2aWV3LT5uZGltICogc2l6ZW9mKFB5X3NzaXplX3QpKTsKKyAgICAgICAgaW5mby5zdHJpZGVzID0gc3RyaWRlczsKKyAgICB9CisgICAgaWYgKHZpZXctPnN1Ym9mZnNldHMpIHsKKyAgICAgICAgbWVtY3B5KHN1Ym9mZnNldHMsIHZpZXctPnN1Ym9mZnNldHMsIHZpZXctPm5kaW0gKiBzaXplb2YoUHlfc3NpemVfdCkpOworICAgICAgICBpbmZvLnN1Ym9mZnNldHMgPSBzdWJvZmZzZXRzOworICAgIH0KKworICAgIHJldHVybiBQeU1lbW9yeVZpZXdfRnJvbUJ1ZmZlcigmaW5mbyk7Cit9CisKKy8qIEdldCBhIHNpbmdsZSBpdGVtIGZyb20gYnVmb2JqIGF0IHRoZSBsb2NhdGlvbiBzcGVjaWZpZWQgYnkgc2VxLgorICAgc2VxIGlzIGEgbGlzdCBvciB0dXBsZSBvZiBpbmRpY2VzLiBUaGUgcHVycG9zZSBvZiB0aGlzIGZ1bmN0aW9uCisgICBpcyB0byBjaGVjayBvdGhlciBmdW5jdGlvbnMgYWdhaW5zdCBQeUJ1ZmZlcl9HZXRQb2ludGVyKCkuICovCitzdGF0aWMgUHlPYmplY3QgKgorZ2V0X3BvaW50ZXIoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpyZXQgPSBOVUxMLCAqYnVmb2JqLCAqc2VxOworICAgIFB5X2J1ZmZlciB2aWV3OworICAgIFB5X3NzaXplX3QgaW5kaWNlc1tORF9NQVhfTkRJTV07CisgICAgUHlfc3NpemVfdCBpOworICAgIHZvaWQgKnB0cjsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiT08iLCAmYnVmb2JqLCAmc2VxKSkgeworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisKKyAgICBDSEVDS19MSVNUX09SX1RVUExFKHNlcSk7CisgICAgaWYgKFB5T2JqZWN0X0dldEJ1ZmZlcihidWZvYmosICZ2aWV3LCBQeUJVRl9GVUxMX1JPKSA8IDApCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgaWYgKHZpZXcubmRpbSA+IE5EX01BWF9ORElNKSB7CisgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19WYWx1ZUVycm9yLAorICAgICAgICAgICAgImdldF9wb2ludGVyKCk6IG5kaW0gPiAlZCIsIE5EX01BWF9ORElNKTsKKyAgICAgICAgZ290byBvdXQ7CisgICAgfQorICAgIGlmIChQeVNlcXVlbmNlX0Zhc3RfR0VUX1NJWkUoc2VxKSAhPSB2aWV3Lm5kaW0pIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsCisgICAgICAgICAgICAiZ2V0X3BvaW50ZXIoKTogbGVuKGluZGljZXMpICE9IG5kaW0iKTsKKyAgICAgICAgZ290byBvdXQ7CisgICAgfQorCisgICAgZm9yIChpID0gMDsgaSA8IHZpZXcubmRpbTsgaSsrKSB7CisgICAgICAgIFB5T2JqZWN0ICp4ID0gUHlTZXF1ZW5jZV9GYXN0X0dFVF9JVEVNKHNlcSwgaSk7CisgICAgICAgIGluZGljZXNbaV0gPSBQeUxvbmdfQXNTc2l6ZV90KHgpOworICAgICAgICBpZiAoUHlFcnJfT2NjdXJyZWQoKSkKKyAgICAgICAgICAgIGdvdG8gb3V0OworICAgICAgICBpZiAoaW5kaWNlc1tpXSA8IDAgfHwgaW5kaWNlc1tpXSA+PSB2aWV3LnNoYXBlW2ldKSB7CisgICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVmFsdWVFcnJvciwKKyAgICAgICAgICAgICAgICAiZ2V0X3BvaW50ZXIoKTogaW52YWxpZCBpbmRleCAlemQgYXQgcG9zaXRpb24gJXpkIiwKKyAgICAgICAgICAgICAgICBpbmRpY2VzW2ldLCBpKTsKKyAgICAgICAgICAgIGdvdG8gb3V0OworICAgICAgICB9CisgICAgfQorCisgICAgcHRyID0gUHlCdWZmZXJfR2V0UG9pbnRlcigmdmlldywgaW5kaWNlcyk7CisgICAgcmV0ID0gdW5wYWNrX3NpbmdsZShwdHIsIHZpZXcuZm9ybWF0LCB2aWV3Lml0ZW1zaXplKTsKKworb3V0OgorICAgIFB5QnVmZmVyX1JlbGVhc2UoJnZpZXcpOworICAgIHJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBjaGFyCitnZXRfYXNjaWlfb3JkZXIoUHlPYmplY3QgKm9yZGVyKQoreworICAgIFB5T2JqZWN0ICphc2NpaV9vcmRlcjsKKyAgICBjaGFyIG9yZDsKKworICAgIGlmICghUHlVbmljb2RlX0NoZWNrKG9yZGVyKSkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLAorICAgICAgICAgICAgIm9yZGVyIG11c3QgYmUgYSBzdHJpbmciKTsKKyAgICAgICAgcmV0dXJuIENIQVJfTUFYOworICAgIH0KKworICAgIGFzY2lpX29yZGVyID0gUHlVbmljb2RlX0FzQVNDSUlTdHJpbmcob3JkZXIpOworICAgIGlmIChhc2NpaV9vcmRlciA9PSBOVUxMKSB7CisgICAgICAgIHJldHVybiBDSEFSX01BWDsKKyAgICB9CisKKyAgICBvcmQgPSBQeUJ5dGVzX0FTX1NUUklORyhhc2NpaV9vcmRlcilbMF07CisgICAgUHlfREVDUkVGKGFzY2lpX29yZGVyKTsKKyAgICByZXR1cm4gb3JkOworfQorCisvKiBHZXQgYSBjb250aWd1b3VzIG1lbW9yeXZpZXcuICovCitzdGF0aWMgUHlPYmplY3QgKgorZ2V0X2NvbnRpZ3VvdXMoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpvYmo7CisgICAgUHlPYmplY3QgKmJ1ZmZlcnR5cGU7CisgICAgUHlPYmplY3QgKm9yZGVyOworICAgIGxvbmcgdHlwZTsKKyAgICBjaGFyIG9yZDsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiT09PIiwgJm9iaiwgJmJ1ZmZlcnR5cGUsICZvcmRlcikpIHsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorCisgICAgaWYgKCFQeUxvbmdfQ2hlY2soYnVmZmVydHlwZSkpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwKKyAgICAgICAgICAgICJidWZmZXJ0eXBlIG11c3QgYmUgUHlCVUZfUkVBRCBvciBQeUJVRl9XUklURSIpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisgICAgdHlwZSA9IFB5TG9uZ19Bc0xvbmcoYnVmZmVydHlwZSk7CisgICAgaWYgKHR5cGUgPT0gLTEgJiYgUHlFcnJfT2NjdXJyZWQoKSkgeworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisKKyAgICBvcmQgPSBnZXRfYXNjaWlfb3JkZXIob3JkZXIpOworICAgIGlmIChvcmQgPT0gQ0hBUl9NQVgpIHsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorCisgICAgcmV0dXJuIFB5TWVtb3J5Vmlld19HZXRDb250aWd1b3VzKG9iaiwgKGludCl0eXBlLCBvcmQpOworfQorCitzdGF0aWMgaW50CitmbXRjbXAoY29uc3QgY2hhciAqZm10MSwgY29uc3QgY2hhciAqZm10MikKK3sKKyAgICBpZiAoZm10MSA9PSBOVUxMKSB7CisgICAgICAgIHJldHVybiBmbXQyID09IE5VTEwgfHwgc3RyY21wKGZtdDIsICJCIikgPT0gMDsKKyAgICB9CisgICAgaWYgKGZtdDIgPT0gTlVMTCkgeworICAgICAgICByZXR1cm4gZm10MSA9PSBOVUxMIHx8IHN0cmNtcChmbXQxLCAiQiIpID09IDA7CisgICAgfQorICAgIHJldHVybiBzdHJjbXAoZm10MSwgZm10MikgPT0gMDsKK30KKworc3RhdGljIGludAorYXJyYXljbXAoY29uc3QgUHlfc3NpemVfdCAqYTEsIGNvbnN0IFB5X3NzaXplX3QgKmEyLCBjb25zdCBQeV9zc2l6ZV90ICpzaGFwZSwKKyAgICAgICAgIFB5X3NzaXplX3QgbmRpbSkKK3sKKyAgICBQeV9zc2l6ZV90IGk7CisKKyAgICBpZiAobmRpbSA9PSAxICYmIHNoYXBlICYmIHNoYXBlWzBdID09IDEpIHsKKyAgICAgICAgLyogVGhpcyBpcyBmb3IgY29tcGFyaW5nIHN0cmlkZXM6IEZvciBleGFtcGxlLCB0aGUgYXJyYXkKKyAgICAgICAgICAgWzE3NV0sIHNoYXBlPVsxXSwgc3RyaWRlcz1bLTVdIGlzIGNvbnNpZGVyZWQgY29udGlndW91cy4gKi8KKyAgICAgICAgcmV0dXJuIDE7CisgICAgfQorCisgICAgZm9yIChpID0gMDsgaSA8IG5kaW07IGkrKykgeworICAgICAgICBpZiAoYTFbaV0gIT0gYTJbaV0pIHsKKyAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICB9CisgICAgfQorCisgICAgcmV0dXJuIDE7Cit9CisKKy8qIENvbXBhcmUgdHdvIGNvbnRpZ3VvdXMgYnVmZmVycyBmb3IgcGh5c2ljYWwgZXF1YWxpdHkuICovCitzdGF0aWMgUHlPYmplY3QgKgorY21wX2NvbnRpZyhQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKmIxLCAqYjI7IC8qIGJ1ZmZlciBvYmplY3RzICovCisgICAgUHlfYnVmZmVyIHYxLCB2MjsKKyAgICBQeU9iamVjdCAqcmV0OworICAgIGludCBlcXVhbCA9IDA7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIk9PIiwgJmIxLCAmYjIpKSB7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKworICAgIGlmIChQeU9iamVjdF9HZXRCdWZmZXIoYjEsICZ2MSwgUHlCVUZfRlVMTF9STykgPCAwKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsCisgICAgICAgICAgICAiY21wX2NvbnRpZzogZmlyc3QgYXJndW1lbnQgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBidWZmZXIgIgorICAgICAgICAgICAgInByb3RvY29sIik7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKyAgICBpZiAoUHlPYmplY3RfR2V0QnVmZmVyKGIyLCAmdjIsIFB5QlVGX0ZVTExfUk8pIDwgMCkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLAorICAgICAgICAgICAgImNtcF9jb250aWc6IHNlY29uZCBhcmd1bWVudCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGJ1ZmZlciAiCisgICAgICAgICAgICAicHJvdG9jb2wiKTsKKyAgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmdjEpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisKKyAgICBpZiAoIShQeUJ1ZmZlcl9Jc0NvbnRpZ3VvdXMoJnYxLCAnQycpJiZQeUJ1ZmZlcl9Jc0NvbnRpZ3VvdXMoJnYyLCAnQycpKSAmJgorICAgICAgICAhKFB5QnVmZmVyX0lzQ29udGlndW91cygmdjEsICdGJykmJlB5QnVmZmVyX0lzQ29udGlndW91cygmdjIsICdGJykpKSB7CisgICAgICAgIGdvdG8gcmVzdWx0OworICAgIH0KKworICAgIC8qIHJlYWRvbmx5IG1heSBkaWZmZXIgaWYgY3JlYXRlZCBmcm9tIG5vbi1jb250aWd1b3VzICovCisgICAgaWYgKHYxLmxlbiAhPSB2Mi5sZW4gfHwKKyAgICAgICAgdjEuaXRlbXNpemUgIT0gdjIuaXRlbXNpemUgfHwKKyAgICAgICAgdjEubmRpbSAhPSB2Mi5uZGltIHx8CisgICAgICAgICFmbXRjbXAodjEuZm9ybWF0LCB2Mi5mb3JtYXQpIHx8CisgICAgICAgICEhdjEuc2hhcGUgIT0gISF2Mi5zaGFwZSB8fAorICAgICAgICAhIXYxLnN0cmlkZXMgIT0gISF2Mi5zdHJpZGVzIHx8CisgICAgICAgICEhdjEuc3Vib2Zmc2V0cyAhPSAhIXYyLnN1Ym9mZnNldHMpIHsKKyAgICAgICAgZ290byByZXN1bHQ7CisgICAgfQorCisgICAgaWYgKCh2MS5zaGFwZSAmJiAhYXJyYXljbXAodjEuc2hhcGUsIHYyLnNoYXBlLCBOVUxMLCB2MS5uZGltKSkgfHwKKyAgICAgICAgKHYxLnN0cmlkZXMgJiYgIWFycmF5Y21wKHYxLnN0cmlkZXMsIHYyLnN0cmlkZXMsIHYxLnNoYXBlLCB2MS5uZGltKSkgfHwKKyAgICAgICAgKHYxLnN1Ym9mZnNldHMgJiYgIWFycmF5Y21wKHYxLnN1Ym9mZnNldHMsIHYyLnN1Ym9mZnNldHMsIE5VTEwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2MS5uZGltKSkpIHsKKyAgICAgICAgZ290byByZXN1bHQ7CisgICAgfQorCisgICAgaWYgKG1lbWNtcCgoY2hhciAqKXYxLmJ1ZiwgKGNoYXIgKil2Mi5idWYsIHYxLmxlbikgIT0gMCkgeworICAgICAgICBnb3RvIHJlc3VsdDsKKyAgICB9CisKKyAgICBlcXVhbCA9IDE7CisKK3Jlc3VsdDoKKyAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZ2MSk7CisgICAgUHlCdWZmZXJfUmVsZWFzZSgmdjIpOworCisgICAgcmV0ID0gZXF1YWwgPyBQeV9UcnVlIDogUHlfRmFsc2U7IAorICAgIFB5X0lOQ1JFRihyZXQpOworICAgIHJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitpc19jb250aWd1b3VzKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeU9iamVjdCAqb2JqOworICAgIFB5T2JqZWN0ICpvcmRlcjsKKyAgICBQeU9iamVjdCAqcmV0ID0gTlVMTDsKKyAgICBQeV9idWZmZXIgdmlldzsKKyAgICBjaGFyIG9yZDsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiT08iLCAmb2JqLCAmb3JkZXIpKSB7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKworICAgIGlmIChQeU9iamVjdF9HZXRCdWZmZXIob2JqLCAmdmlldywgUHlCVUZfRlVMTF9STykgPCAwKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsCisgICAgICAgICAgICAiaXNfY29udGlndW91czogb2JqZWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgYnVmZmVyICIKKyAgICAgICAgICAgICJwcm90b2NvbCIpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisKKyAgICBvcmQgPSBnZXRfYXNjaWlfb3JkZXIob3JkZXIpOworICAgIGlmIChvcmQgPT0gQ0hBUl9NQVgpIHsKKyAgICAgICAgZ290byByZWxlYXNlOworICAgIH0KKworICAgIHJldCA9IFB5QnVmZmVyX0lzQ29udGlndW91cygmdmlldywgb3JkKSA/IFB5X1RydWUgOiBQeV9GYWxzZTsKKyAgICBQeV9JTkNSRUYocmV0KTsKKworcmVsZWFzZToKKyAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZ2aWV3KTsKKyAgICByZXR1cm4gcmV0OworfQorCitzdGF0aWMgUHlfaGFzaF90CituZGFycmF5X2hhc2goUHlPYmplY3QgKnNlbGYpCit7CisgICAgY29uc3QgTkRBcnJheU9iamVjdCAqbmQgPSAoTkRBcnJheU9iamVjdCAqKXNlbGY7CisgICAgY29uc3QgUHlfYnVmZmVyICp2aWV3ID0gJm5kLT5oZWFkLT5iYXNlOworICAgIFB5T2JqZWN0ICpieXRlczsKKyAgICBQeV9oYXNoX3QgaGFzaDsKKworICAgIGlmICghdmlldy0+cmVhZG9ubHkpIHsKKyAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLAorICAgICAgICAgICAgICJjYW5ub3QgaGFzaCB3cml0YWJsZSBuZGFycmF5IG9iamVjdCIpOworICAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKyAgICBpZiAodmlldy0+b2JqICE9IE5VTEwgJiYgUHlPYmplY3RfSGFzaCh2aWV3LT5vYmopID09IC0xKSB7CisgICAgICAgICByZXR1cm4gLTE7CisgICAgfQorCisgICAgYnl0ZXMgPSBuZGFycmF5X3RvYnl0ZXMoc2VsZiwgTlVMTCk7CisgICAgaWYgKGJ5dGVzID09IE5VTEwpIHsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKworICAgIGhhc2ggPSBQeU9iamVjdF9IYXNoKGJ5dGVzKTsKKyAgICBQeV9ERUNSRUYoYnl0ZXMpOworICAgIHJldHVybiBoYXNoOworfQorCisKK3N0YXRpYyBQeU1ldGhvZERlZiBuZGFycmF5X21ldGhvZHMgW10gPQoreworICAgIHsgInRvbGlzdCIsIG5kYXJyYXlfdG9saXN0LCBNRVRIX05PQVJHUywgTlVMTCB9LAorICAgIHsgInRvYnl0ZXMiLCBuZGFycmF5X3RvYnl0ZXMsIE1FVEhfTk9BUkdTLCBOVUxMIH0sCisgICAgeyAicHVzaCIsIChQeUNGdW5jdGlvbiluZGFycmF5X3B1c2gsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBOVUxMIH0sCisgICAgeyAicG9wIiwgbmRhcnJheV9wb3AsIE1FVEhfTk9BUkdTLCBOVUxMIH0sCisgICAgeyAiYWRkX3N1Ym9mZnNldHMiLCBuZGFycmF5X2FkZF9zdWJvZmZzZXRzLCBNRVRIX05PQVJHUywgTlVMTCB9LAorICAgIHsgIm1lbW9yeXZpZXdfZnJvbV9idWZmZXIiLCBuZGFycmF5X21lbW9yeXZpZXdfZnJvbV9idWZmZXIsIE1FVEhfTk9BUkdTLCBOVUxMIH0sCisgICAge05VTEx9Cit9OworCitzdGF0aWMgUHlUeXBlT2JqZWN0IE5EQXJyYXlfVHlwZSA9IHsKKyAgICBQeVZhck9iamVjdF9IRUFEX0lOSVQoTlVMTCwgMCkKKyAgICAibmRhcnJheSIsICAgICAgICAgICAgICAgICAgIC8qIE5hbWUgb2YgdGhpcyB0eXBlICovCisgICAgc2l6ZW9mKE5EQXJyYXlPYmplY3QpLCAgICAgICAvKiBCYXNpYyBvYmplY3Qgc2l6ZSAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogSXRlbSBzaXplIGZvciB2YXJvYmplY3QgKi8KKyAgICAoZGVzdHJ1Y3RvciluZGFycmF5X2RlYWxsb2MsIC8qIHRwX2RlYWxsb2MgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX3ByaW50ICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9nZXRhdHRyICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9zZXRhdHRyICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9jb21wYXJlICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9yZXByICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9hc19udW1iZXIgKi8KKyAgICAmbmRhcnJheV9hc19zZXF1ZW5jZSwgICAgICAgIC8qIHRwX2FzX3NlcXVlbmNlICovCisgICAgJm5kYXJyYXlfYXNfbWFwcGluZywgICAgICAgICAvKiB0cF9hc19tYXBwaW5nICovCisgICAgKGhhc2hmdW5jKW5kYXJyYXlfaGFzaCwgICAgICAvKiB0cF9oYXNoICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9jYWxsICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9zdHIgKi8KKyAgICBQeU9iamVjdF9HZW5lcmljR2V0QXR0ciwgICAgIC8qIHRwX2dldGF0dHJvICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9zZXRhdHRybyAqLworICAgICZuZGFycmF5X2FzX2J1ZmZlciwgICAgICAgICAgLyogdHBfYXNfYnVmZmVyICovCisgICAgUHlfVFBGTEFHU19ERUZBVUxULCAgICAgICAgICAvKiB0cF9mbGFncyAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfZG9jICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF90cmF2ZXJzZSAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfY2xlYXIgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX3JpY2hjb21wYXJlICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF93ZWFrbGlzdG9mZnNldCAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfaXRlciAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfaXRlcm5leHQgKi8KKyAgICBuZGFycmF5X21ldGhvZHMsICAgICAgICAgICAgIC8qIHRwX21ldGhvZHMgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX21lbWJlcnMgKi8KKyAgICBuZGFycmF5X2dldHNldCwgICAgICAgICAgICAgIC8qIHRwX2dldHNldCAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfYmFzZSAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfZGljdCAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfZGVzY3JfZ2V0ICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9kZXNjcl9zZXQgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2RpY3RvZmZzZXQgKi8KKyAgICBuZGFycmF5X2luaXQsICAgICAgICAgICAgICAgIC8qIHRwX2luaXQgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2FsbG9jICovCisgICAgbmRhcnJheV9uZXcsICAgICAgICAgICAgICAgICAvKiB0cF9uZXcgKi8KK307CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qICAgICAgICAgICAgICAgICAgICAgICAgICBTdGF0aWNBcnJheSBPYmplY3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworc3RhdGljIFB5VHlwZU9iamVjdCBTdGF0aWNBcnJheV9UeXBlOworCit0eXBlZGVmIHN0cnVjdCB7CisgICAgUHlPYmplY3RfSEVBRAorICAgIGludCBsZWdhY3lfbW9kZTsgLyogaWYgdHJ1ZSwgdXNlIHRoZSB2aWV3Lm9iaj09TlVMTCBoYWNrICovCit9IFN0YXRpY0FycmF5T2JqZWN0OworCitzdGF0aWMgY2hhciBzdGF0aWNfbWVtWzEyXSA9IHswLDEsMiwzLDQsNSw2LDcsOCw5LDEwLDExfTsKK3N0YXRpYyBQeV9zc2l6ZV90IHN0YXRpY19zaGFwZVsxXSA9IHsxMn07CitzdGF0aWMgUHlfc3NpemVfdCBzdGF0aWNfc3RyaWRlc1sxXSA9IHsxfTsKK3N0YXRpYyBQeV9idWZmZXIgc3RhdGljX2J1ZmZlciA9IHsKKyAgICBzdGF0aWNfbWVtLCAgICAgLyogYnVmICovCisgICAgTlVMTCwgICAgICAgICAgIC8qIG9iaiAqLworICAgIDEyLCAgICAgICAgICAgICAvKiBsZW4gKi8KKyAgICAxLCAgICAgICAgICAgICAgLyogaXRlbXNpemUgKi8KKyAgICAxLCAgICAgICAgICAgICAgLyogcmVhZG9ubHkgKi8KKyAgICAxLCAgICAgICAgICAgICAgLyogbmRpbSAqLworICAgICJCIiwgICAgICAgICAgICAvKiBmb3JtYXQgKi8KKyAgICBzdGF0aWNfc2hhcGUsICAgLyogc2hhcGUgKi8KKyAgICBzdGF0aWNfc3RyaWRlcywgLyogc3RyaWRlcyAqLworICAgIE5VTEwsICAgICAgICAgICAvKiBzdWJvZmZzZXRzICovCisgICAgTlVMTCAgICAgICAgICAgIC8qIGludGVybmFsICovCit9OworCitzdGF0aWMgUHlPYmplY3QgKgorc3RhdGljYXJyYXlfbmV3KFB5VHlwZU9iamVjdCAqdHlwZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2RzKQoreworICAgIHJldHVybiAoUHlPYmplY3QgKilQeU9iamVjdF9OZXcoU3RhdGljQXJyYXlPYmplY3QsICZTdGF0aWNBcnJheV9UeXBlKTsKK30KKworc3RhdGljIGludAorc3RhdGljYXJyYXlfaW5pdChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2RzKQoreworICAgIFN0YXRpY0FycmF5T2JqZWN0ICphID0gKFN0YXRpY0FycmF5T2JqZWN0ICopc2VsZjsKKyAgICBzdGF0aWMgY2hhciAqa3dsaXN0W10gPSB7CisgICAgICAgICJsZWdhY3lfbW9kZSIsIE5VTEwKKyAgICB9OworICAgIFB5T2JqZWN0ICpsZWdhY3lfbW9kZSA9IFB5X0ZhbHNlOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dkcywgInxPIiwga3dsaXN0LCAmbGVnYWN5X21vZGUpKQorICAgICAgICByZXR1cm4gLTE7CisKKyAgICBhLT5sZWdhY3lfbW9kZSA9IChsZWdhY3lfbW9kZSAhPSBQeV9GYWxzZSk7CisgICAgcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkCitzdGF0aWNhcnJheV9kZWFsbG9jKFN0YXRpY0FycmF5T2JqZWN0ICpzZWxmKQoreworICAgIFB5T2JqZWN0X0RlbChzZWxmKTsKK30KKworLyogUmV0dXJuIGEgYnVmZmVyIGZvciBhIFB5QlVGX0ZVTExfUk8gcmVxdWVzdC4gRmxhZ3MgYXJlIG5vdCBjaGVja2VkLAorICAgd2hpY2ggbWFrZXMgdGhpcyBvYmplY3QgYSBub24tY29tcGxpYW50IGV4cG9ydGVyISAqLworc3RhdGljIGludAorc3RhdGljYXJyYXlfZ2V0YnVmKFN0YXRpY0FycmF5T2JqZWN0ICpzZWxmLCBQeV9idWZmZXIgKnZpZXcsIGludCBmbGFncykKK3sKKyAgICAqdmlldyA9IHN0YXRpY19idWZmZXI7CisKKyAgICBpZiAoc2VsZi0+bGVnYWN5X21vZGUpIHsKKyAgICAgICAgdmlldy0+b2JqID0gTlVMTDsgLyogRG9uJ3QgdXNlIHRoaXMgaW4gbmV3IGNvZGUuICovCisgICAgfQorICAgIGVsc2UgeworICAgICAgICB2aWV3LT5vYmogPSAoUHlPYmplY3QgKilzZWxmOworICAgICAgICBQeV9JTkNSRUYodmlldy0+b2JqKTsKKyAgICB9CisKKyAgICByZXR1cm4gMDsKK30KKworc3RhdGljIFB5QnVmZmVyUHJvY3Mgc3RhdGljYXJyYXlfYXNfYnVmZmVyID0geworICAgIChnZXRidWZmZXJwcm9jKXN0YXRpY2FycmF5X2dldGJ1ZiwgLyogYmZfZ2V0YnVmZmVyICovCisgICAgTlVMTCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBiZl9yZWxlYXNlYnVmZmVyICovCit9OworCitzdGF0aWMgUHlUeXBlT2JqZWN0IFN0YXRpY0FycmF5X1R5cGUgPSB7CisgICAgUHlWYXJPYmplY3RfSEVBRF9JTklUKE5VTEwsIDApCisgICAgInN0YXRpY2FycmF5IiwgICAgICAgICAgICAgICAgICAgLyogTmFtZSBvZiB0aGlzIHR5cGUgKi8KKyAgICBzaXplb2YoU3RhdGljQXJyYXlPYmplY3QpLCAgICAgICAvKiBCYXNpYyBvYmplY3Qgc2l6ZSAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIEl0ZW0gc2l6ZSBmb3IgdmFyb2JqZWN0ICovCisgICAgKGRlc3RydWN0b3Ipc3RhdGljYXJyYXlfZGVhbGxvYywgLyogdHBfZGVhbGxvYyAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX3ByaW50ICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfZ2V0YXR0ciAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX3NldGF0dHIgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9jb21wYXJlICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfcmVwciAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2FzX251bWJlciAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2FzX3NlcXVlbmNlICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfYXNfbWFwcGluZyAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2hhc2ggKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9jYWxsICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfc3RyICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfZ2V0YXR0cm8gKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9zZXRhdHRybyAqLworICAgICZzdGF0aWNhcnJheV9hc19idWZmZXIsICAgICAgICAgIC8qIHRwX2FzX2J1ZmZlciAqLworICAgIFB5X1RQRkxBR1NfREVGQVVMVCwgICAgICAgICAgICAgIC8qIHRwX2ZsYWdzICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfZG9jICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfdHJhdmVyc2UgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9jbGVhciAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX3JpY2hjb21wYXJlICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfd2Vha2xpc3RvZmZzZXQgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9pdGVyICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfaXRlcm5leHQgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9tZXRob2RzICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfbWVtYmVycyAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2dldHNldCAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2Jhc2UgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9kaWN0ICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfZGVzY3JfZ2V0ICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfZGVzY3Jfc2V0ICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfZGljdG9mZnNldCAqLworICAgIHN0YXRpY2FycmF5X2luaXQsICAgICAgICAgICAgICAgIC8qIHRwX2luaXQgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9hbGxvYyAqLworICAgIHN0YXRpY2FycmF5X25ldywgICAgICAgICAgICAgICAgIC8qIHRwX25ldyAqLworfTsKKworCitzdGF0aWMgc3RydWN0IFB5TWV0aG9kRGVmIF90ZXN0YnVmZmVyX2Z1bmN0aW9uc1tdID0geworICAgIHsic2xpY2VfaW5kaWNlcyIsIHNsaWNlX2luZGljZXMsIE1FVEhfVkFSQVJHUywgTlVMTH0sCisgICAgeyJnZXRfcG9pbnRlciIsIGdldF9wb2ludGVyLCBNRVRIX1ZBUkFSR1MsIE5VTEx9LAorICAgIHsiZ2V0X2NvbnRpZ3VvdXMiLCBnZXRfY29udGlndW91cywgTUVUSF9WQVJBUkdTLCBOVUxMfSwKKyAgICB7ImlzX2NvbnRpZ3VvdXMiLCBpc19jb250aWd1b3VzLCBNRVRIX1ZBUkFSR1MsIE5VTEx9LAorICAgIHsiY21wX2NvbnRpZyIsIGNtcF9jb250aWcsIE1FVEhfVkFSQVJHUywgTlVMTH0sCisgICAge05VTEwsIE5VTEx9Cit9OworCitzdGF0aWMgc3RydWN0IFB5TW9kdWxlRGVmIF90ZXN0YnVmZmVybW9kdWxlID0geworICAgIFB5TW9kdWxlRGVmX0hFQURfSU5JVCwKKyAgICAiX3Rlc3RidWZmZXIiLAorICAgIE5VTEwsCisgICAgLTEsCisgICAgX3Rlc3RidWZmZXJfZnVuY3Rpb25zLAorICAgIE5VTEwsCisgICAgTlVMTCwKKyAgICBOVUxMLAorICAgIE5VTEwKK307CisKKworUHlNT0RJTklUX0ZVTkMKK1B5SW5pdF9fdGVzdGJ1ZmZlcih2b2lkKQoreworICAgIFB5T2JqZWN0ICptOworCisgICAgbSA9IFB5TW9kdWxlX0NyZWF0ZSgmX3Rlc3RidWZmZXJtb2R1bGUpOworICAgIGlmIChtID09IE5VTEwpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgUHlfVFlQRSgmTkRBcnJheV9UeXBlKSA9ICZQeVR5cGVfVHlwZTsKKyAgICBQeV9JTkNSRUYoJk5EQXJyYXlfVHlwZSk7CisgICAgUHlNb2R1bGVfQWRkT2JqZWN0KG0sICJuZGFycmF5IiwgKFB5T2JqZWN0ICopJk5EQXJyYXlfVHlwZSk7CisKKyAgICBQeV9UWVBFKCZTdGF0aWNBcnJheV9UeXBlKSA9ICZQeVR5cGVfVHlwZTsKKyAgICBQeV9JTkNSRUYoJlN0YXRpY0FycmF5X1R5cGUpOworICAgIFB5TW9kdWxlX0FkZE9iamVjdChtLCAic3RhdGljYXJyYXkiLCAoUHlPYmplY3QgKikmU3RhdGljQXJyYXlfVHlwZSk7CisKKyAgICBzdHJ1Y3Rtb2R1bGUgPSBQeUltcG9ydF9JbXBvcnRNb2R1bGUoInN0cnVjdCIpOworICAgIGlmIChzdHJ1Y3Rtb2R1bGUgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICBTdHJ1Y3QgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKHN0cnVjdG1vZHVsZSwgIlN0cnVjdCIpOworICAgIGNhbGNzaXplID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyhzdHJ1Y3Rtb2R1bGUsICJjYWxjc2l6ZSIpOworICAgIGlmIChTdHJ1Y3QgPT0gTlVMTCB8fCBjYWxjc2l6ZSA9PSBOVUxMKQorICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIHNpbXBsZV9mb3JtYXQgPSBQeVVuaWNvZGVfRnJvbVN0cmluZyhzaW1wbGVfZm10KTsKKyAgICBpZiAoc2ltcGxlX2Zvcm1hdCA9PSBOVUxMKQorICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIFB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJORF9NQVhfTkRJTSIsIE5EX01BWF9ORElNKTsKKyAgICBQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiTkRfVkFSRVhQT1JUIiwgTkRfVkFSRVhQT1JUKTsKKyAgICBQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiTkRfV1JJVEFCTEUiLCBORF9XUklUQUJMRSk7CisgICAgUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIk5EX0ZPUlRSQU4iLCBORF9GT1JUUkFOKTsKKyAgICBQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiTkRfU0NBTEFSIiwgTkRfU0NBTEFSKTsKKyAgICBQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiTkRfUElMIiwgTkRfUElMKTsKKyAgICBQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiTkRfR0VUQlVGX0ZBSUwiLCBORF9HRVRCVUZfRkFJTCk7CisgICAgUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIk5EX0dFVEJVRl9VTkRFRklORUQiLCBORF9HRVRCVUZfVU5ERUZJTkVEKTsKKyAgICBQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiTkRfUkVESVJFQ1QiLCBORF9SRURJUkVDVCk7CisKKyAgICBQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiUHlCVUZfU0lNUExFIiwgUHlCVUZfU0lNUExFKTsKKyAgICBQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiUHlCVUZfV1JJVEFCTEUiLCBQeUJVRl9XUklUQUJMRSk7CisgICAgUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIlB5QlVGX0ZPUk1BVCIsIFB5QlVGX0ZPUk1BVCk7CisgICAgUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIlB5QlVGX05EIiwgUHlCVUZfTkQpOworICAgIFB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJQeUJVRl9TVFJJREVTIiwgUHlCVUZfU1RSSURFUyk7CisgICAgUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIlB5QlVGX0lORElSRUNUIiwgUHlCVUZfSU5ESVJFQ1QpOworICAgIFB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJQeUJVRl9DX0NPTlRJR1VPVVMiLCBQeUJVRl9DX0NPTlRJR1VPVVMpOworICAgIFB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJQeUJVRl9GX0NPTlRJR1VPVVMiLCBQeUJVRl9GX0NPTlRJR1VPVVMpOworICAgIFB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJQeUJVRl9BTllfQ09OVElHVU9VUyIsIFB5QlVGX0FOWV9DT05USUdVT1VTKTsKKyAgICBQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiUHlCVUZfRlVMTCIsIFB5QlVGX0ZVTEwpOworICAgIFB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJQeUJVRl9GVUxMX1JPIiwgUHlCVUZfRlVMTF9STyk7CisgICAgUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIlB5QlVGX1JFQ09SRFMiLCBQeUJVRl9SRUNPUkRTKTsKKyAgICBQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiUHlCVUZfUkVDT1JEU19STyIsIFB5QlVGX1JFQ09SRFNfUk8pOworICAgIFB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJQeUJVRl9TVFJJREVEIiwgUHlCVUZfU1RSSURFRCk7CisgICAgUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIlB5QlVGX1NUUklERURfUk8iLCBQeUJVRl9TVFJJREVEX1JPKTsKKyAgICBQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiUHlCVUZfQ09OVElHIiwgUHlCVUZfQ09OVElHKTsKKyAgICBQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiUHlCVUZfQ09OVElHX1JPIiwgUHlCVUZfQ09OVElHX1JPKTsKKworICAgIFB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJQeUJVRl9SRUFEIiwgUHlCVUZfUkVBRCk7CisgICAgUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIlB5QlVGX1dSSVRFIiwgUHlCVUZfV1JJVEUpOworCisgICAgcmV0dXJuIG07Cit9CisKKworCmRpZmYgLS1naXQgYS9Nb2R1bGVzL190ZXN0Y2FwaW1vZHVsZS5jIGIvTW9kdWxlcy9fdGVzdGNhcGltb2R1bGUuYwppbmRleCA5NGI2ZTY3Li45Y2FmYTczIDEwMDY0NAotLS0gYS9Nb2R1bGVzL190ZXN0Y2FwaW1vZHVsZS5jCisrKyBiL01vZHVsZXMvX3Rlc3RjYXBpbW9kdWxlLmMKQEAgLTIyLDE0ICsyMiw3IEBACiBzdGF0aWMgUHlPYmplY3QgKgogcmFpc2VUZXN0RXJyb3IoY29uc3QgY2hhciogdGVzdF9uYW1lLCBjb25zdCBjaGFyKiBtc2cpCiB7Ci0gICAgY2hhciBidWZbMjA0OF07Ci0KLSAgICBpZiAoc3RybGVuKHRlc3RfbmFtZSkgKyBzdHJsZW4obXNnKSA+IHNpemVvZihidWYpIC0gNTApCi0gICAgICAgIFB5RXJyX1NldFN0cmluZyhUZXN0RXJyb3IsICJpbnRlcm5hbCBlcnJvciBtc2cgdG9vIGxhcmdlIik7Ci0gICAgZWxzZSB7Ci0gICAgICAgIFB5T1Nfc25wcmludGYoYnVmLCBzaXplb2YoYnVmKSwgIiVzOiAlcyIsIHRlc3RfbmFtZSwgbXNnKTsKLSAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFRlc3RFcnJvciwgYnVmKTsKLSAgICB9CisgICAgUHlFcnJfRm9ybWF0KFRlc3RFcnJvciwgIiVzOiAlcyIsIHRlc3RfbmFtZSwgbXNnKTsKICAgICByZXR1cm4gTlVMTDsKIH0KIApAQCAtNDMsMTEgKzM2LDkgQEAKIHNpemVvZl9lcnJvcihjb25zdCBjaGFyKiBmYXRuYW1lLCBjb25zdCBjaGFyKiB0eXBuYW1lLAogICAgIGludCBleHBlY3RlZCwgaW50IGdvdCkKIHsKLSAgICBjaGFyIGJ1ZlsxMDI0XTsKLSAgICBQeU9TX3NucHJpbnRmKGJ1Ziwgc2l6ZW9mKGJ1ZiksCi0gICAgICAgICIlLjIwMHMgI2RlZmluZSA9PSAlZCBidXQgc2l6ZW9mKCUuMjAwcykgPT0gJWQiLAorICAgIFB5RXJyX0Zvcm1hdChUZXN0RXJyb3IsCisgICAgICAgICIlcyAjZGVmaW5lID09ICVkIGJ1dCBzaXplb2YoJXMpID09ICVkIiwKICAgICAgICAgZmF0bmFtZSwgZXhwZWN0ZWQsIHR5cG5hbWUsIGdvdCk7Ci0gICAgUHlFcnJfU2V0U3RyaW5nKFRlc3RFcnJvciwgYnVmKTsKICAgICByZXR1cm4gKFB5T2JqZWN0KilOVUxMOwogfQogCkBAIC0yODQsOTUgKzI3NSw2IEBACiB9CiAKIAotLyogSXNzdWUgIzczODU6IENoZWNrIHRoYXQgbWVtb3J5dmlldygpIGRvZXMgbm90IGNyYXNoCi0gKiAgIHdoZW4gYmZfZ2V0YnVmZmVyIHJldHVybnMgYW4gZXJyb3IKLSAqLwotCi1zdGF0aWMgaW50Ci1icm9rZW5fYnVmZmVyX2dldGJ1ZmZlcihQeU9iamVjdCAqc2VsZiwgUHlfYnVmZmVyICp2aWV3LCBpbnQgZmxhZ3MpCi17Ci0gICAgUHlFcnJfU2V0U3RyaW5nKAotICAgICAgICBUZXN0RXJyb3IsCi0gICAgICAgICJ0ZXN0X2Jyb2tlbl9tZW1vcnl2aWV3OiBleHBlY3RlZCBlcnJvciBpbiBiZl9nZXRidWZmZXIiKTsKLSAgICByZXR1cm4gLTE7Ci19Ci0KLXN0YXRpYyBQeUJ1ZmZlclByb2NzIG1lbW9yeXZpZXd0ZXN0ZXJfYXNfYnVmZmVyID0gewotICAgIChnZXRidWZmZXJwcm9jKWJyb2tlbl9idWZmZXJfZ2V0YnVmZmVyLCAgICAgLyogYmZfZ2V0YnVmZmVyICovCi0gICAgMCwgICAgICAgICAgLyogYmZfcmVsZWFzZWJ1ZmZlciAqLwotfTsKLQotc3RhdGljIFB5VHlwZU9iamVjdCBfTWVtb3J5Vmlld1Rlc3Rlcl9UeXBlID0gewotICAgIFB5VmFyT2JqZWN0X0hFQURfSU5JVChOVUxMLCAwKQotICAgICJtZW1vcnl2aWV3dGVzdGVyIiwgICAgICAgICAvKiBOYW1lIG9mIHRoaXMgdHlwZSAqLwotICAgIHNpemVvZihQeU9iamVjdCksICAgICAgICAgICAvKiBCYXNpYyBvYmplY3Qgc2l6ZSAqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBJdGVtIHNpemUgZm9yIHZhcm9iamVjdCAqLwotICAgIChkZXN0cnVjdG9yKVB5T2JqZWN0X0RlbCwgLyogdHBfZGVhbGxvYyAqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9wcmludCAqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9nZXRhdHRyICovCi0gICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX3NldGF0dHIgKi8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfY29tcGFyZSAqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9yZXByICovCi0gICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2FzX251bWJlciAqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9hc19zZXF1ZW5jZSAqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9hc19tYXBwaW5nICovCi0gICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2hhc2ggKi8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfY2FsbCAqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9zdHIgKi8KLSAgICBQeU9iamVjdF9HZW5lcmljR2V0QXR0ciwgIC8qIHRwX2dldGF0dHJvICovCi0gICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX3NldGF0dHJvICovCi0gICAgJm1lbW9yeXZpZXd0ZXN0ZXJfYXNfYnVmZmVyLCAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2FzX2J1ZmZlciAqLwotICAgIFB5X1RQRkxBR1NfREVGQVVMVCwgICAgICAgICAvKiB0cF9mbGFncyAqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9kb2MgKi8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfdHJhdmVyc2UgKi8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfY2xlYXIgKi8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfcmljaGNvbXBhcmUgKi8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfd2Vha2xpc3RvZmZzZXQgKi8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfaXRlciAqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9pdGVybmV4dCAqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9tZXRob2RzICovCi0gICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX21lbWJlcnMgKi8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfZ2V0c2V0ICovCi0gICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2Jhc2UgKi8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfZGljdCAqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9kZXNjcl9nZXQgKi8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfZGVzY3Jfc2V0ICovCi0gICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2RpY3RvZmZzZXQgKi8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfaW5pdCAqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9hbGxvYyAqLwotICAgIFB5VHlwZV9HZW5lcmljTmV3LCAgICAgICAgICAgICAgICAgIC8qIHRwX25ldyAqLwotfTsKLQotc3RhdGljIFB5T2JqZWN0KgotdGVzdF9icm9rZW5fbWVtb3J5dmlldyhQeU9iamVjdCogc2VsZikKLXsKLSAgICBQeU9iamVjdCAqb2JqID0gUHlPYmplY3RfTmV3KFB5T2JqZWN0LCAmX01lbW9yeVZpZXdUZXN0ZXJfVHlwZSk7Ci0gICAgUHlPYmplY3QgKnJlczsKLQotICAgIGlmIChvYmogPT0gTlVMTCkgewotICAgICAgICBQeUVycl9DbGVhcigpOwotICAgICAgICBQeUVycl9TZXRTdHJpbmcoCi0gICAgICAgICAgICBUZXN0RXJyb3IsCi0gICAgICAgICAgICAidGVzdF9icm9rZW5fbWVtb3J5dmlldzogZmFpbGVkIHRvIGNyZWF0ZSBvYmplY3QiKTsKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgfQotCi0gICAgcmVzID0gUHlNZW1vcnlWaWV3X0Zyb21PYmplY3Qob2JqKTsKLSAgICBpZiAocmVzIHx8ICFQeUVycl9PY2N1cnJlZCgpKXsKLSAgICAgICAgUHlFcnJfU2V0U3RyaW5nKAotICAgICAgICAgICAgVGVzdEVycm9yLAotICAgICAgICAgICAgInRlc3RfYnJva2VuX21lbW9yeXZpZXc6IG1lbW9yeXZpZXcoKSBkaWRuJ3QgcmFpc2UgYW4gRXhjZXB0aW9uIik7Ci0gICAgICAgIFB5X1hERUNSRUYocmVzKTsKLSAgICAgICAgUHlfREVDUkVGKG9iaik7Ci0gICAgICAgIHJldHVybiBOVUxMOwotICAgIH0KLQotICAgIFB5RXJyX0NsZWFyKCk7Ci0gICAgUHlfREVDUkVGKG9iaik7Ci0gICAgUHlfUkVUVVJOX05PTkU7Ci19Ci0KLQogLyogVGVzdHMgb2YgUHlMb25nX3tBcywgRnJvbX17VW5zaWduZWQsfUxvbmcoKSwgYW5kICgjaWZkZWYgSEFWRV9MT05HX0xPTkcpCiAgICBQeUxvbmdfe0FzLCBGcm9tfXtVbnNpZ25lZCx9TG9uZ0xvbmcoKS4KIApAQCAtNzc4LDYgKzY4MCw2OCBAQAogICAgIHJldHVybiBQeV9Ob25lOwogfQogCisvKiBUZXN0IHRoZSBQeUxvbmdfQXN7U2l6ZSxTc2l6ZX1fdCBBUEkuIEF0IHByZXNlbnQgdGhpcyBqdXN0IHRlc3RzIHRoYXQKKyAgIG5vbi1pbnRlZ2VyIGFyZ3VtZW50cyBhcmUgaGFuZGxlZCBjb3JyZWN0bHkuIEl0IHNob3VsZCBiZSBleHRlbmRlZCB0bworICAgdGVzdCBvdmVyZmxvdyBoYW5kbGluZy4KKyAqLworCitzdGF0aWMgUHlPYmplY3QgKgordGVzdF9sb25nX2FzX3NpemVfdChQeU9iamVjdCAqc2VsZikKK3sKKyAgICBzaXplX3Qgb3V0X3U7CisgICAgUHlfc3NpemVfdCBvdXRfczsKKworICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKKworICAgIG91dF91ID0gUHlMb25nX0FzU2l6ZV90KFB5X05vbmUpOworICAgIGlmIChvdXRfdSAhPSAoc2l6ZV90KS0xIHx8ICFQeUVycl9PY2N1cnJlZCgpKQorICAgICAgICByZXR1cm4gcmFpc2VUZXN0RXJyb3IoInRlc3RfbG9uZ19hc19zaXplX3QiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlB5TG9uZ19Bc1NpemVfdChOb25lKSBkaWRuJ3QgY29tcGxhaW4iKTsKKyAgICBpZiAoIVB5RXJyX0V4Y2VwdGlvbk1hdGNoZXMoUHlFeGNfVHlwZUVycm9yKSkKKyAgICAgICAgcmV0dXJuIHJhaXNlVGVzdEVycm9yKCJ0ZXN0X2xvbmdfYXNfc2l6ZV90IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJQeUxvbmdfQXNTaXplX3QoTm9uZSkgcmFpc2VkICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb21ldGhpbmcgb3RoZXIgdGhhbiBUeXBlRXJyb3IiKTsKKyAgICBQeUVycl9DbGVhcigpOworCisgICAgb3V0X3MgPSBQeUxvbmdfQXNTc2l6ZV90KFB5X05vbmUpOworICAgIGlmIChvdXRfcyAhPSAoUHlfc3NpemVfdCktMSB8fCAhUHlFcnJfT2NjdXJyZWQoKSkKKyAgICAgICAgcmV0dXJuIHJhaXNlVGVzdEVycm9yKCJ0ZXN0X2xvbmdfYXNfc2l6ZV90IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJQeUxvbmdfQXNTc2l6ZV90KE5vbmUpIGRpZG4ndCBjb21wbGFpbiIpOworICAgIGlmICghUHlFcnJfRXhjZXB0aW9uTWF0Y2hlcyhQeUV4Y19UeXBlRXJyb3IpKQorICAgICAgICByZXR1cm4gcmFpc2VUZXN0RXJyb3IoInRlc3RfbG9uZ19hc19zaXplX3QiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlB5TG9uZ19Bc1NzaXplX3QoTm9uZSkgcmFpc2VkICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzb21ldGhpbmcgb3RoZXIgdGhhbiBUeXBlRXJyb3IiKTsKKyAgICBQeUVycl9DbGVhcigpOworCisgICAgLyogUHlfSU5DUkVGKFB5X05vbmUpIG9taXR0ZWQgLSB3ZSBhbHJlYWR5IGhhdmUgYSByZWZlcmVuY2UgdG8gaXQuICovCisgICAgcmV0dXJuIFB5X05vbmU7Cit9CisKKy8qIFRlc3QgdGhlIFB5TG9uZ19Bc0RvdWJsZSBBUEkuIEF0IHByZXNlbnQgdGhpcyBqdXN0IHRlc3RzIHRoYXQKKyAgIG5vbi1pbnRlZ2VyIGFyZ3VtZW50cyBhcmUgaGFuZGxlZCBjb3JyZWN0bHkuCisgKi8KKworc3RhdGljIFB5T2JqZWN0ICoKK3Rlc3RfbG9uZ19hc19kb3VibGUoUHlPYmplY3QgKnNlbGYpCit7CisgICAgZG91YmxlIG91dDsKKworICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKKworICAgIG91dCA9IFB5TG9uZ19Bc0RvdWJsZShQeV9Ob25lKTsKKyAgICBpZiAob3V0ICE9IC0xLjAgfHwgIVB5RXJyX09jY3VycmVkKCkpCisgICAgICAgIHJldHVybiByYWlzZVRlc3RFcnJvcigidGVzdF9sb25nX2FzX2RvdWJsZSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUHlMb25nX0FzRG91YmxlKE5vbmUpIGRpZG4ndCBjb21wbGFpbiIpOworICAgIGlmICghUHlFcnJfRXhjZXB0aW9uTWF0Y2hlcyhQeUV4Y19UeXBlRXJyb3IpKQorICAgICAgICByZXR1cm4gcmFpc2VUZXN0RXJyb3IoInRlc3RfbG9uZ19hc19kb3VibGUiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlB5TG9uZ19Bc0RvdWJsZShOb25lKSByYWlzZWQgIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInNvbWV0aGluZyBvdGhlciB0aGFuIFR5cGVFcnJvciIpOworICAgIFB5RXJyX0NsZWFyKCk7CisKKyAgICAvKiBQeV9JTkNSRUYoUHlfTm9uZSkgb21pdHRlZCAtIHdlIGFscmVhZHkgaGF2ZSBhIHJlZmVyZW5jZSB0byBpdC4gKi8KKyAgICByZXR1cm4gUHlfTm9uZTsKK30KKwogLyogVGVzdCB0aGUgTCBjb2RlIGZvciBQeUFyZ19QYXJzZVR1cGxlLiAgVGhpcyBzaG91bGQgZGVsaXZlciBhIFBZX0xPTkdfTE9ORwogICAgZm9yIGJvdGggbG9uZyBhbmQgaW50IGFyZ3VtZW50cy4gIFRoZSB0ZXN0IG1heSBsZWFrIGEgbGl0dGxlIG1lbW9yeSBpZgogICAgaXQgZmFpbHMuCkBAIC0xMDEyLDYgKzk3NiwxNSBAQAogfQogCiBzdGF0aWMgUHlPYmplY3QgKgorZ2V0YXJnc19jKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBjaGFyIGM7CisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJjIiwgJmMpKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICByZXR1cm4gUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZSgmYywgMSk7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCiBnZXRhcmdzX3MoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQogewogICAgIGNoYXIgKnN0cjsKQEAgLTEyOTMsNyArMTI2Niw3IEBACiB0ZXN0X1pfY29kZShQeU9iamVjdCAqc2VsZikKIHsKICAgICBQeU9iamVjdCAqdHVwbGUsICpvYmo7Ci0gICAgUHlfVU5JQ09ERSAqdmFsdWUxLCAqdmFsdWUyOworICAgIGNvbnN0IFB5X1VOSUNPREUgKnZhbHVlMSwgKnZhbHVlMjsKICAgICBQeV9zc2l6ZV90IGxlbjEsIGxlbjI7CiAKICAgICB0dXBsZSA9IFB5VHVwbGVfTmV3KDIpOwpAQCAtMTM0Nyw2ICsxMzIwLDcgQEAKICNpZiBkZWZpbmVkKFNJWkVPRl9XQ0hBUl9UKSAmJiAoU0laRU9GX1dDSEFSX1QgPT0gNCkKICAgICBjb25zdCB3Y2hhcl90IHd0ZXh0WzJdID0geyh3Y2hhcl90KTB4MTBBQkNEdX07CiAgICAgc2l6ZV90IHd0ZXh0bGVuID0gMTsKKyAgICBjb25zdCB3Y2hhcl90IGludmFsaWRbMV0gPSB7KHdjaGFyX3QpMHgxMTAwMDB1fTsKICNlbHNlCiAgICAgY29uc3Qgd2NoYXJfdCB3dGV4dFszXSA9IHsod2NoYXJfdCkweERCRUF1LCAod2NoYXJfdCkweERGQ0R1fTsKICAgICBzaXplX3Qgd3RleHRsZW4gPSAyOwpAQCAtMTM2Myw3ICsxMzM3LDcgQEAKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogCi0gICAgaWYgKFB5VW5pY29kZV9HRVRfU0laRSh3aWRlKSAhPSBQeVVuaWNvZGVfR0VUX1NJWkUodXRmOCkpIHsKKyAgICBpZiAoUHlVbmljb2RlX0dFVF9MRU5HVEgod2lkZSkgIT0gUHlVbmljb2RlX0dFVF9MRU5HVEgodXRmOCkpIHsKICAgICAgICAgUHlfREVDUkVGKHdpZGUpOwogICAgICAgICBQeV9ERUNSRUYodXRmOCk7CiAgICAgICAgIHJldHVybiByYWlzZVRlc3RFcnJvcigidGVzdF93aWRlY2hhciIsCkBAIC0xMzgyLDYgKzEzNTYsMjMgQEAKIAogICAgIFB5X0RFQ1JFRih3aWRlKTsKICAgICBQeV9ERUNSRUYodXRmOCk7CisKKyNpZiBkZWZpbmVkKFNJWkVPRl9XQ0hBUl9UKSAmJiAoU0laRU9GX1dDSEFSX1QgPT0gNCkKKyAgICB3aWRlID0gUHlVbmljb2RlX0Zyb21XaWRlQ2hhcihpbnZhbGlkLCAxKTsKKyAgICBpZiAod2lkZSA9PSBOVUxMKQorICAgICAgICBQeUVycl9DbGVhcigpOworICAgIGVsc2UKKyAgICAgICAgcmV0dXJuIHJhaXNlVGVzdEVycm9yKCJ0ZXN0X3dpZGVjaGFyIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJQeVVuaWNvZGVfRnJvbVdpZGVDaGFyKExcIlxcVTAwMTEwMDAwXCIsIDEpIGRpZG4ndCBmYWlsIik7CisKKyAgICB3aWRlID0gUHlVbmljb2RlX0Zyb21Vbmljb2RlKGludmFsaWQsIDEpOworICAgIGlmICh3aWRlID09IE5VTEwpCisgICAgICAgIFB5RXJyX0NsZWFyKCk7CisgICAgZWxzZQorICAgICAgICByZXR1cm4gcmFpc2VUZXN0RXJyb3IoInRlc3Rfd2lkZWNoYXIiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlB5VW5pY29kZV9Gcm9tVW5pY29kZShMXCJcXFUwMDExMDAwMFwiLCAxKSBkaWRuJ3QgZmFpbCIpOworI2VuZGlmCisKICAgICBQeV9SRVRVUk5fTk9ORTsKIH0KIApAQCAtMTU3Niw3ICsxNTY3LDcgQEAKICAgICAgICAgICAgICB7LTB4ZmZmZmZmZkwsIDI4LCAtMX19OwogICAgIGludCBpOwogCi0gICAgZm9yIChpID0gMDsgaSA8IHNpemVvZih0ZXN0Y2FzZXMpIC8gc2l6ZW9mKHN0cnVjdCB0cmlwbGUpOyArK2kpIHsKKyAgICBmb3IgKGkgPSAwOyBpIDwgUHlfQVJSQVlfTEVOR1RIKHRlc3RjYXNlcyk7ICsraSkgewogICAgICAgICBQeU9iamVjdCAqcGxvbmcgPSBQeUxvbmdfRnJvbUxvbmcodGVzdGNhc2VzW2ldLmlucHV0KTsKICAgICAgICAgc2l6ZV90IG5iaXRzID0gX1B5TG9uZ19OdW1CaXRzKHBsb25nKTsKICAgICAgICAgaW50IHNpZ24gPSBfUHlMb25nX1NpZ24ocGxvbmcpOwpAQCAtMTc4NiwxMyArMTc3NywxMiBAQAogewogICAgIFB5T2JqZWN0ICpyZXN1bHQ7CiAgICAgY2hhciAqbXNnOwotICAgIHN0YXRpYyBjb25zdCBQeV9VTklDT0RFIG9uZVtdID0geycxJywgMH07CiAKICNkZWZpbmUgQ0hFQ0tfMV9GT1JNQVQoRk9STUFULCBUWVBFKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIHJlc3VsdCA9IFB5VW5pY29kZV9Gcm9tRm9ybWF0KEZPUk1BVCwgKFRZUEUpMSk7ICAgICAgICAgICAgICAgICBcCiAgICAgaWYgKHJlc3VsdCA9PSBOVUxMKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAgcmV0dXJuIE5VTEw7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgIGlmIChQeV9VTklDT0RFX3N0cmNtcChQeVVuaWNvZGVfQVNfVU5JQ09ERShyZXN1bHQpLCBvbmUpKSB7ICAgICBcCisgICAgaWYgKFB5VW5pY29kZV9Db21wYXJlV2l0aEFTQ0lJU3RyaW5nKHJlc3VsdCwgIjEiKSkgeyAgICAgXAogICAgICAgICBtc2cgPSBGT1JNQVQgIiBmYWlsZWQgYXQgMSI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgIGdvdG8gRmFpbDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXApAQCAtMjMxNyw2ICsyMzA3LDE0IEBACiAgICAgUHlUaHJlYWRTdGF0ZV9Td2FwKE5VTEwpOwogCiAgICAgc3Vic3RhdGUgPSBQeV9OZXdJbnRlcnByZXRlcigpOworICAgIGlmIChzdWJzdGF0ZSA9PSBOVUxMKSB7CisgICAgICAgIC8qIFNpbmNlIG5vIG5ldyB0aHJlYWQgc3RhdGUgd2FzIGNyZWF0ZWQsIHRoZXJlIGlzIG5vIGV4Y2VwdGlvbiB0bworICAgICAgICAgICBwcm9wYWdhdGU7IHJhaXNlIGEgZnJlc2ggb25lIGFmdGVyIHN3YXBwaW5nIGluIHRoZSBvbGQgdGhyZWFkCisgICAgICAgICAgIHN0YXRlLiAqLworICAgICAgICBQeVRocmVhZFN0YXRlX1N3YXAobWFpbnN0YXRlKTsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1J1bnRpbWVFcnJvciwgInN1Yi1pbnRlcnByZXRlciBjcmVhdGlvbiBmYWlsZWQiKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQogICAgIHIgPSBQeVJ1bl9TaW1wbGVTdHJpbmcoY29kZSk7CiAgICAgUHlfRW5kSW50ZXJwcmV0ZXIoc3Vic3RhdGUpOwogCkBAIC0yMzI1LDYgKzIzMjMsNTUgQEAKICAgICByZXR1cm4gUHlMb25nX0Zyb21Mb25nKHIpOwogfQogCitzdGF0aWMgUHlPYmplY3QqCitfUHlMb25nX0Zyb21UaW1lX3QodGltZV90IHZhbHVlKQoreworI2lmIGRlZmluZWQoSEFWRV9MT05HX0xPTkcpICYmIFNJWkVPRl9USU1FX1QgPT0gU0laRU9GX0xPTkdfTE9ORworICAgIHJldHVybiBQeUxvbmdfRnJvbUxvbmdMb25nKHZhbHVlKTsKKyNlbHNlCisgICAgYXNzZXJ0KHNpemVvZih0aW1lX3QpIDw9IHNpemVvZihsb25nKSk7CisgICAgcmV0dXJuIFB5TG9uZ19Gcm9tTG9uZyh2YWx1ZSk7CisjZW5kaWYKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK3Rlc3RfcHl0aW1lX29iamVjdF90b190aW1lX3QoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpvYmo7CisgICAgdGltZV90IHNlYzsKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIk86cHl0aW1lX29iamVjdF90b190aW1lX3QiLCAmb2JqKSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgaWYgKF9QeVRpbWVfT2JqZWN0VG9UaW1lX3Qob2JqLCAmc2VjKSA9PSAtMSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgcmV0dXJuIF9QeUxvbmdfRnJvbVRpbWVfdChzZWMpOworfQorCitzdGF0aWMgUHlPYmplY3QgKgordGVzdF9weXRpbWVfb2JqZWN0X3RvX3RpbWV2YWwoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpvYmo7CisgICAgdGltZV90IHNlYzsKKyAgICBsb25nIHVzZWM7CisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJPOnB5dGltZV9vYmplY3RfdG9fdGltZXZhbCIsICZvYmopKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBpZiAoX1B5VGltZV9PYmplY3RUb1RpbWV2YWwob2JqLCAmc2VjLCAmdXNlYykgPT0gLTEpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIHJldHVybiBQeV9CdWlsZFZhbHVlKCJObCIsIF9QeUxvbmdfRnJvbVRpbWVfdChzZWMpLCB1c2VjKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK3Rlc3RfcHl0aW1lX29iamVjdF90b190aW1lc3BlYyhQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKm9iajsKKyAgICB0aW1lX3Qgc2VjOworICAgIGxvbmcgbnNlYzsKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIk86cHl0aW1lX29iamVjdF90b190aW1lc3BlYyIsICZvYmopKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBpZiAoX1B5VGltZV9PYmplY3RUb1RpbWVzcGVjKG9iaiwgJnNlYywgJm5zZWMpID09IC0xKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICByZXR1cm4gUHlfQnVpbGRWYWx1ZSgiTmwiLCBfUHlMb25nX0Zyb21UaW1lX3Qoc2VjKSwgbnNlYyk7Cit9CisKIAogc3RhdGljIFB5TWV0aG9kRGVmIFRlc3RNZXRob2RzW10gPSB7CiAgICAgeyJyYWlzZV9leGNlcHRpb24iLCAgICAgICAgIHJhaXNlX2V4Y2VwdGlvbiwgICAgICAgICAgICAgICAgIE1FVEhfVkFSQVJHU30sCkBAIC0yMzM0LDEwICsyMzgxLDExIEBACiAgICAgeyJ0ZXN0X2xpc3RfYXBpIiwgICAgICAgICAgIChQeUNGdW5jdGlvbil0ZXN0X2xpc3RfYXBpLCAgICAgIE1FVEhfTk9BUkdTfSwKICAgICB7InRlc3RfZGljdF9pdGVyYXRpb24iLCAgICAgKFB5Q0Z1bmN0aW9uKXRlc3RfZGljdF9pdGVyYXRpb24sTUVUSF9OT0FSR1N9LAogICAgIHsidGVzdF9sYXp5X2hhc2hfaW5oZXJpdGFuY2UiLCAgICAgIChQeUNGdW5jdGlvbil0ZXN0X2xhenlfaGFzaF9pbmhlcml0YW5jZSxNRVRIX05PQVJHU30sCi0gICAgeyJ0ZXN0X2Jyb2tlbl9tZW1vcnl2aWV3IiwgICAgICAgICAgKFB5Q0Z1bmN0aW9uKXRlc3RfYnJva2VuX21lbW9yeXZpZXcsTUVUSF9OT0FSR1N9LAogICAgIHsidGVzdF9sb25nX2FwaSIsICAgICAgICAgICAoUHlDRnVuY3Rpb24pdGVzdF9sb25nX2FwaSwgICAgICBNRVRIX05PQVJHU30sCiAgICAgeyJ0ZXN0X2xvbmdfYW5kX292ZXJmbG93IiwgKFB5Q0Z1bmN0aW9uKXRlc3RfbG9uZ19hbmRfb3ZlcmZsb3csCiAgICAgIE1FVEhfTk9BUkdTfSwKKyAgICB7InRlc3RfbG9uZ19hc19kb3VibGUiLCAgICAgKFB5Q0Z1bmN0aW9uKXRlc3RfbG9uZ19hc19kb3VibGUsTUVUSF9OT0FSR1N9LAorICAgIHsidGVzdF9sb25nX2FzX3NpemVfdCIsICAgICAoUHlDRnVuY3Rpb24pdGVzdF9sb25nX2FzX3NpemVfdCxNRVRIX05PQVJHU30sCiAgICAgeyJ0ZXN0X2xvbmdfbnVtYml0cyIsICAgICAgIChQeUNGdW5jdGlvbil0ZXN0X2xvbmdfbnVtYml0cywgIE1FVEhfTk9BUkdTfSwKICAgICB7InRlc3Rfa19jb2RlIiwgICAgICAgICAgICAgKFB5Q0Z1bmN0aW9uKXRlc3Rfa19jb2RlLCAgICAgICAgTUVUSF9OT0FSR1N9LAogICAgIHsidGVzdF9lbXB0eV9hcmdwYXJzZSIsIChQeUNGdW5jdGlvbil0ZXN0X2VtcHR5X2FyZ3BhcnNlLE1FVEhfTk9BUkdTfSwKQEAgLTIzNjksNiArMjQxNyw3IEBACiAgICAgICAgIChQeUNGdW5jdGlvbil0ZXN0X2xvbmdfbG9uZ19hbmRfb3ZlcmZsb3csIE1FVEhfTk9BUkdTfSwKICAgICB7InRlc3RfTF9jb2RlIiwgICAgICAgICAgICAgKFB5Q0Z1bmN0aW9uKXRlc3RfTF9jb2RlLCAgICAgICAgTUVUSF9OT0FSR1N9LAogI2VuZGlmCisgICAgeyJnZXRhcmdzX2MiLCAgICAgICAgICAgICAgIGdldGFyZ3NfYywgICAgICAgICAgICAgICAgICAgICAgIE1FVEhfVkFSQVJHU30sCiAgICAgeyJnZXRhcmdzX3MiLCAgICAgICAgICAgICAgIGdldGFyZ3NfcywgICAgICAgICAgICAgICAgICAgICAgIE1FVEhfVkFSQVJHU30sCiAgICAgeyJnZXRhcmdzX3Nfc3RhciIsICAgICAgICAgIGdldGFyZ3Nfc19zdGFyLCAgICAgICAgICAgICAgICAgIE1FVEhfVkFSQVJHU30sCiAgICAgeyJnZXRhcmdzX3NfaGFzaCIsICAgICAgICAgIGdldGFyZ3Nfc19oYXNoLCAgICAgICAgICAgICAgICAgIE1FVEhfVkFSQVJHU30sCkBAIC0yNDEyLDYgKzI0NjEsOSBAQAogICAgICBNRVRIX05PQVJHU30sCiAgICAgeyJjcmFzaF9ub19jdXJyZW50X3RocmVhZCIsIChQeUNGdW5jdGlvbiljcmFzaF9ub19jdXJyZW50X3RocmVhZCwgTUVUSF9OT0FSR1N9LAogICAgIHsicnVuX2luX3N1YmludGVycCIsICAgICAgICBydW5faW5fc3ViaW50ZXJwLCAgICAgICAgICAgICAgICBNRVRIX1ZBUkFSR1N9LAorICAgIHsicHl0aW1lX29iamVjdF90b190aW1lX3QiLCB0ZXN0X3B5dGltZV9vYmplY3RfdG9fdGltZV90LCAgTUVUSF9WQVJBUkdTfSwKKyAgICB7InB5dGltZV9vYmplY3RfdG9fdGltZXZhbCIsIHRlc3RfcHl0aW1lX29iamVjdF90b190aW1ldmFsLCAgTUVUSF9WQVJBUkdTfSwKKyAgICB7InB5dGltZV9vYmplY3RfdG9fdGltZXNwZWMiLCB0ZXN0X3B5dGltZV9vYmplY3RfdG9fdGltZXNwZWMsICBNRVRIX1ZBUkFSR1N9LAogICAgIHtOVUxMLCBOVUxMfSAvKiBzZW50aW5lbCAqLwogfTsKIApAQCAtMjU5NCw3ICsyNjQ2LDYgQEAKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKICAgICBQeV9UWVBFKCZfSGFzaEluaGVyaXRhbmNlVGVzdGVyX1R5cGUpPSZQeVR5cGVfVHlwZTsKLSAgICBQeV9UWVBFKCZfTWVtb3J5Vmlld1Rlc3Rlcl9UeXBlKT0mUHlUeXBlX1R5cGU7CiAKICAgICBQeV9UWVBFKCZ0ZXN0X3N0cnVjdG1lbWJlcnNUeXBlKT0mUHlUeXBlX1R5cGU7CiAgICAgUHlfSU5DUkVGKCZ0ZXN0X3N0cnVjdG1lbWJlcnNUeXBlKTsKZGlmZiAtLWdpdCBhL01vZHVsZXMvX3RocmVhZG1vZHVsZS5jIGIvTW9kdWxlcy9fdGhyZWFkbW9kdWxlLmMKaW5kZXggZWEwMzhkZS4uNmUzOWNhMCAxMDA2NDQKLS0tIGEvTW9kdWxlcy9fdGhyZWFkbW9kdWxlLmMKKysrIGIvTW9kdWxlcy9fdGhyZWFkbW9kdWxlLmMKQEAgLTUzLDYgKzUzLDcgQEAKICAgICBfUHlUaW1lX3RpbWV2YWwgY3VydGltZTsKICAgICBfUHlUaW1lX3RpbWV2YWwgZW5kdGltZTsKIAorCiAgICAgaWYgKG1pY3Jvc2Vjb25kcyA+IDApIHsKICAgICAgICAgX1B5VGltZV9nZXR0aW1lb2ZkYXkoJmVuZHRpbWUpOwogICAgICAgICBlbmR0aW1lLnR2X3NlYyArPSBtaWNyb3NlY29uZHMgLyAoMTAwMCAqIDEwMDApOwpAQCAtNzUsNyArNzYsNyBAQAogCiAgICAgICAgICAgICAvKiBJZiB3ZSdyZSB1c2luZyBhIHRpbWVvdXQsIHJlY29tcHV0ZSB0aGUgdGltZW91dCBhZnRlciBwcm9jZXNzaW5nCiAgICAgICAgICAgICAgKiBzaWduYWxzLCBzaW5jZSB0aG9zZSBjYW4gdGFrZSB0aW1lLiAgKi8KLSAgICAgICAgICAgIGlmIChtaWNyb3NlY29uZHMgPj0gMCkgeworICAgICAgICAgICAgaWYgKG1pY3Jvc2Vjb25kcyA+IDApIHsKICAgICAgICAgICAgICAgICBfUHlUaW1lX2dldHRpbWVvZmRheSgmY3VydGltZSk7CiAgICAgICAgICAgICAgICAgbWljcm9zZWNvbmRzID0gKChlbmR0aW1lLnR2X3NlYyAtIGN1cnRpbWUudHZfc2VjKSAqIDEwMDAwMDAgKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZW5kdGltZS50dl91c2VjIC0gY3VydGltZS50dl91c2VjKSk7CkBAIC00MTMsNiArNDE0LDEyIEBACiAgICAgbG9uZyBvd25lcjsKICAgICB1bnNpZ25lZCBsb25nIGNvdW50OwogCisgICAgaWYgKHNlbGYtPnJsb2NrX2NvdW50ID09IDApIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1J1bnRpbWVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICJjYW5ub3QgcmVsZWFzZSB1bi1hY3F1aXJlZCBsb2NrIik7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKwogICAgIG93bmVyID0gc2VsZi0+cmxvY2tfb3duZXI7CiAgICAgY291bnQgPSBzZWxmLT5ybG9ja19jb3VudDsKICAgICBzZWxmLT5ybG9ja19jb3VudCA9IDA7CkBAIC0xMjIyLDExICsxMjI5LDkgQEAKIAogc3RhdGljIFB5TWV0aG9kRGVmIHRocmVhZF9tZXRob2RzW10gPSB7CiAgICAgeyJzdGFydF9uZXdfdGhyZWFkIiwgICAgICAgIChQeUNGdW5jdGlvbil0aHJlYWRfUHlUaHJlYWRfc3RhcnRfbmV3X3RocmVhZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBNRVRIX1ZBUkFSR1MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnRfbmV3X2RvY30sCisgICAgIE1FVEhfVkFSQVJHUywgc3RhcnRfbmV3X2RvY30sCiAgICAgeyJzdGFydF9uZXciLCAgICAgICAgICAgICAgIChQeUNGdW5jdGlvbil0aHJlYWRfUHlUaHJlYWRfc3RhcnRfbmV3X3RocmVhZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBNRVRIX1ZBUkFSR1MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnRfbmV3X2RvY30sCisgICAgIE1FVEhfVkFSQVJHUywgc3RhcnRfbmV3X2RvY30sCiAgICAgeyJhbGxvY2F0ZV9sb2NrIiwgICAgICAgICAgIChQeUNGdW5jdGlvbil0aHJlYWRfUHlUaHJlYWRfYWxsb2NhdGVfbG9jaywKICAgICAgTUVUSF9OT0FSR1MsIGFsbG9jYXRlX2RvY30sCiAgICAgeyJhbGxvY2F0ZSIsICAgICAgICAgICAgICAgIChQeUNGdW5jdGlvbil0aHJlYWRfUHlUaHJlYWRfYWxsb2NhdGVfbG9jaywKQEAgLTEyNDIsOCArMTI0Nyw3IEBACiAgICAgeyJfY291bnQiLCAgICAgICAgICAgICAgICAgIChQeUNGdW5jdGlvbil0aHJlYWRfX2NvdW50LAogICAgICBNRVRIX05PQVJHUywgX2NvdW50X2RvY30sCiAgICAgeyJzdGFja19zaXplIiwgICAgICAgICAgICAgIChQeUNGdW5jdGlvbil0aHJlYWRfc3RhY2tfc2l6ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBNRVRIX1ZBUkFSR1MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhY2tfc2l6ZV9kb2N9LAorICAgICBNRVRIX1ZBUkFSR1MsIHN0YWNrX3NpemVfZG9jfSwKICAgICB7TlVMTCwgICAgICAgICAgICAgICAgICAgICAgTlVMTH0gICAgICAgICAgIC8qIHNlbnRpbmVsICovCiB9OwogCkBAIC0xMzA3LDcgKzEzMTEsOSBAQAogCiAgICAgLyogQWRkIGEgc3ltYm9saWMgY29uc3RhbnQgKi8KICAgICBkID0gUHlNb2R1bGVfR2V0RGljdChtKTsKLSAgICBUaHJlYWRFcnJvciA9IFB5RXJyX05ld0V4Y2VwdGlvbigiX3RocmVhZC5lcnJvciIsIE5VTEwsIE5VTEwpOworICAgIFRocmVhZEVycm9yID0gUHlFeGNfUnVudGltZUVycm9yOworICAgIFB5X0lOQ1JFRihUaHJlYWRFcnJvcik7CisKICAgICBQeURpY3RfU2V0SXRlbVN0cmluZyhkLCAiZXJyb3IiLCBUaHJlYWRFcnJvcik7CiAgICAgTG9ja3R5cGUudHBfZG9jID0gbG9ja19kb2M7CiAgICAgUHlfSU5DUkVGKCZMb2NrdHlwZSk7CmRpZmYgLS1naXQgYS9Nb2R1bGVzL190aW1lLmMgYi9Nb2R1bGVzL190aW1lLmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDEwY2M4ZTEuLjAwMDAwMDAKLS0tIGEvTW9kdWxlcy9fdGltZS5jCisrKyAvZGV2L251bGwKQEAgLTEsMjggKzAsMCBAQAotI2luY2x1ZGUgIlB5dGhvbi5oIgotI2luY2x1ZGUgIl90aW1lLmgiCi0KLS8qIEV4cG9zZWQgaW4gdGltZWZ1bmNzLmguICovCi10aW1lX3QKLV9QeVRpbWVfRG91YmxlVG9UaW1ldChkb3VibGUgeCkKLXsKLSAgICB0aW1lX3QgcmVzdWx0OwotICAgIGRvdWJsZSBkaWZmOwotCi0gICAgcmVzdWx0ID0gKHRpbWVfdCl4OwotICAgIC8qIEhvdyBtdWNoIGluZm8gZGlkIHdlIGxvc2U/ICB0aW1lX3QgbWF5IGJlIGFuIGludGVncmFsIG9yCi0gICAgICogZmxvYXRpbmcgdHlwZSwgYW5kIHdlIGRvbid0IGtub3cgd2hpY2guICBJZiBpdCdzIGludGVncmFsLAotICAgICAqIHdlIGRvbid0IGtub3cgd2hldGhlciBDIHRydW5jYXRlcywgcm91bmRzLCByZXR1cm5zIHRoZSBmbG9vciwKLSAgICAgKiBldGMuICBJZiB3ZSBsb3N0IGEgc2Vjb25kIG9yIG1vcmUsIHRoZSBDIHJvdW5kaW5nIGlzCi0gICAgICogdW5yZWFzb25hYmxlLCBvciB0aGUgaW5wdXQganVzdCBkb2Vzbid0IGZpdCBpbiBhIHRpbWVfdDsKLSAgICAgKiBjYWxsIGl0IGFuIGVycm9yIHJlZ2FyZGxlc3MuICBOb3RlIHRoYXQgdGhlIG9yaWdpbmFsIGNhc3QgdG8KLSAgICAgKiB0aW1lX3QgY2FuIGNhdXNlIGEgQyBlcnJvciB0b28sIGJ1dCBub3RoaW5nIHdlIGNhbiBkbyB0bwotICAgICAqIHdvcmsgYXJvdW5kIHRoYXQuCi0gICAgICovCi0gICAgZGlmZiA9IHggLSAoZG91YmxlKXJlc3VsdDsKLSAgICBpZiAoZGlmZiA8PSAtMS4wIHx8IGRpZmYgPj0gMS4wKSB7Ci0gICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgInRpbWVzdGFtcCBvdXQgb2YgcmFuZ2UgZm9yIHBsYXRmb3JtIHRpbWVfdCIpOwotICAgICAgICByZXN1bHQgPSAodGltZV90KS0xOwotICAgIH0KLSAgICByZXR1cm4gcmVzdWx0OwotfQpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9fdGltZS5oIGIvTW9kdWxlcy9fdGltZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4MTY1OTNiLi4wMDAwMDAwCi0tLSBhL01vZHVsZXMvX3RpbWUuaAorKysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotLyogWFhYOiBJdCBpcyBwcm9iYWJseSBiZXN0IHRvIG1vdmUgdGltZWZ1bmNzLmggY29udGVudCBpbiBoZXJlLCBhbmQKLSAgIHJlbW92ZSBpdCBidXQgdXNlciBjb2RlIG1heSByZWx5IG9uIGl0LiAqLwotI2luY2x1ZGUgInRpbWVmdW5jcy5oIgpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9fdGtpbnRlci5jIGIvTW9kdWxlcy9fdGtpbnRlci5jCmluZGV4IDM2MDhlMmQuLmFiYmUwZWMgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvX3RraW50ZXIuYworKysgYi9Nb2R1bGVzL190a2ludGVyLmMKQEAgLTgwLDE4ICs4MCw2IEBACiAjZXJyb3IgIlRrIG9sZGVyIHRoYW4gOC4zLjEgbm90IHN1cHBvcnRlZCIKICNlbmRpZgogCi0vKiBVbmljb2RlIGNvbnZlcnNpb24gYXNzdW1lcyB0aGF0IFRjbF9VbmlDaGFyIGlzIHR3byBieXRlcy4KLSAgIFdlIGNhbm5vdCB0ZXN0IHRoaXMgZGlyZWN0bHksIHNvIHdlIHRlc3QgVVRGLTggc2l6ZSBpbnN0ZWFkLAotICAgZXhwZWN0aW5nIHRoYXQgVENMX1VURl9NQVggaXMgY2hhbmdlZCBpZiBUY2wgZXZlciBzdXBwb3J0cwotICAgZWl0aGVyIFVURi0xNiBvciBVQ1MtNC4KLSAgIFJlZGhhdCA4IHNldHMgVENMX1VURl9NQVggdG8gNiwgYW5kIHVzZXMgd2NoYXJfdCBmb3IKLSAgIFRjbF9VbmljaGFyLiBUaGlzIGlzIGFsc28gb2sgYXMgbG9uZyBhcyBQeXRob24gdXNlcyBVQ1MtNCwKLSAgIGFzIHdlbGwuCi0qLwotI2lmIFRDTF9VVEZfTUFYICE9IDMgJiYgIShkZWZpbmVkKFB5X1VOSUNPREVfV0lERSkgJiYgVENMX1VURl9NQVg9PTYpCi0jZXJyb3IgInVuc3VwcG9ydGVkIFRjbCBjb25maWd1cmF0aW9uIgotI2VuZGlmCi0KICNpZiAhKGRlZmluZWQoTVNfV0lORE9XUykgfHwgZGVmaW5lZChfX0NZR1dJTl9fKSkKICNkZWZpbmUgSEFWRV9DUkVBVEVGSUxFSEFORExFUgogI2VuZGlmCkBAIC05NzUsNDAgKzk2Myw0NiBAQAogICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KICAgICBlbHNlIGlmIChQeVVuaWNvZGVfQ2hlY2sodmFsdWUpKSB7Ci0gICAgICAgIFB5X1VOSUNPREUgKmluYnVmID0gUHlVbmljb2RlX0FTX1VOSUNPREUodmFsdWUpOwotICAgICAgICBQeV9zc2l6ZV90IHNpemUgPSBQeVVuaWNvZGVfR0VUX1NJWkUodmFsdWUpOwotICAgICAgICAvKiBUaGlzICNpZmRlZiBhc3N1bWVzIHRoYXQgVGNsIHVzZXMgVUNTLTIuCi0gICAgICAgICAgIFNlZSBUQ0xfVVRGX01BWCB0ZXN0IGFib3ZlLiAqLwotI2lmIGRlZmluZWQoUHlfVU5JQ09ERV9XSURFKSAmJiBUQ0xfVVRGX01BWCA9PSAzCisgICAgICAgIHZvaWQgKmluYnVmOworICAgICAgICBQeV9zc2l6ZV90IHNpemU7CisgICAgICAgIGludCBraW5kOwogICAgICAgICBUY2xfVW5pQ2hhciAqb3V0YnVmID0gTlVMTDsKICAgICAgICAgUHlfc3NpemVfdCBpOwotICAgICAgICBzaXplX3QgYWxsb2NzaXplID0gKChzaXplX3Qpc2l6ZSkgKiBzaXplb2YoVGNsX1VuaUNoYXIpOwotICAgICAgICBpZiAoYWxsb2NzaXplID49IHNpemUpCi0gICAgICAgICAgICBvdXRidWYgPSAoVGNsX1VuaUNoYXIqKWNrYWxsb2MoYWxsb2NzaXplKTsKKyAgICAgICAgc2l6ZV90IGFsbG9jc2l6ZTsKKworICAgICAgICBpZiAoUHlVbmljb2RlX1JFQURZKHZhbHVlKSA9PSAtMSkKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworCisgICAgICAgIGluYnVmID0gUHlVbmljb2RlX0RBVEEodmFsdWUpOworICAgICAgICBzaXplID0gUHlVbmljb2RlX0dFVF9MRU5HVEgodmFsdWUpOworICAgICAgICBraW5kID0gUHlVbmljb2RlX0tJTkQodmFsdWUpOworICAgICAgICBhbGxvY3NpemUgPSAoKHNpemVfdClzaXplKSAqIHNpemVvZihUY2xfVW5pQ2hhcik7CisgICAgICAgIG91dGJ1ZiA9IChUY2xfVW5pQ2hhciopY2thbGxvYyhhbGxvY3NpemUpOwogICAgICAgICAvKiBFbHNlIG92ZXJmbG93IG9jY3VycmVkLCBhbmQgd2UgdGFrZSB0aGUgbmV4dCBleGl0ICovCiAgICAgICAgIGlmICghb3V0YnVmKSB7CiAgICAgICAgICAgICBQeUVycl9Ob01lbW9yeSgpOwogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgIH0KICAgICAgICAgZm9yIChpID0gMDsgaSA8IHNpemU7IGkrKykgewotICAgICAgICAgICAgaWYgKGluYnVmW2ldID49IDB4MTAwMDApIHsKKyAgICAgICAgICAgIFB5X1VDUzQgY2ggPSBQeVVuaWNvZGVfUkVBRChraW5kLCBpbmJ1ZiwgaSk7CisgICAgICAgICAgICAvKiBXZSBjYW5ub3QgdGVzdCBmb3Igc2l6ZW9mKFRjbF9VbmlDaGFyKSBkaXJlY3RseSwKKyAgICAgICAgICAgICAgIHNvIHdlIHRlc3QgZm9yIFVURi04IHNpemUgaW5zdGVhZC4gKi8KKyNpZiBUQ0xfVVRGX01BWCA9PSAzCisgICAgICAgICAgICBpZiAoY2ggPj0gMHgxMDAwMCkgewogICAgICAgICAgICAgICAgIC8qIFRjbCBkb2Vzbid0IGRvIFVURi0xNiwgeWV0LiAqLwogICAgICAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19WYWx1ZUVycm9yLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY2hhcmFjdGVyIFUrJXggaXMgYWJvdmUgdGhlIHJhbmdlICIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIihVKzAwMDAtVStGRkZGKSBhbGxvd2VkIGJ5IFRjbCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluYnVmW2ldKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2gpOwogICAgICAgICAgICAgICAgIGNrZnJlZShGUkVFQ0FTVCBvdXRidWYpOwogICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOworI2VuZGlmCiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBvdXRidWZbaV0gPSBpbmJ1ZltpXTsKKyAgICAgICAgICAgIG91dGJ1ZltpXSA9IGNoOwogICAgICAgICB9CiAgICAgICAgIHJlc3VsdCA9IFRjbF9OZXdVbmljb2RlT2JqKG91dGJ1Ziwgc2l6ZSk7CiAgICAgICAgIGNrZnJlZShGUkVFQ0FTVCBvdXRidWYpOwogICAgICAgICByZXR1cm4gcmVzdWx0OwotI2Vsc2UKLSAgICAgICAgcmV0dXJuIFRjbF9OZXdVbmljb2RlT2JqKGluYnVmLCBzaXplKTsKLSNlbmRpZgotCiAgICAgfQogICAgIGVsc2UgaWYoUHlUY2xPYmplY3RfQ2hlY2sodmFsdWUpKSB7CiAgICAgICAgIFRjbF9PYmogKnYgPSAoKFB5VGNsT2JqZWN0Kil2YWx1ZSktPnZhbHVlOwpAQCAtMTA5MCwyNCArMTA4NCwxNCBAQAogICAgIH0KIAogICAgIGlmICh2YWx1ZS0+dHlwZVB0ciA9PSBhcHAtPlN0cmluZ1R5cGUpIHsKLSNpZiBkZWZpbmVkKFB5X1VOSUNPREVfV0lERSkgJiYgVENMX1VURl9NQVg9PTMKLSAgICAgICAgUHlPYmplY3QgKnJlc3VsdDsKLSAgICAgICAgaW50IHNpemU7Ci0gICAgICAgIFRjbF9VbmlDaGFyICppbnB1dDsKLSAgICAgICAgUHlfVU5JQ09ERSAqb3V0cHV0OwotCi0gICAgICAgIHNpemUgPSBUY2xfR2V0Q2hhckxlbmd0aCh2YWx1ZSk7Ci0gICAgICAgIHJlc3VsdCA9IFB5VW5pY29kZV9Gcm9tVW5pY29kZShOVUxMLCBzaXplKTsKLSAgICAgICAgaWYgKCFyZXN1bHQpCi0gICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgaW5wdXQgPSBUY2xfR2V0VW5pY29kZSh2YWx1ZSk7Ci0gICAgICAgIG91dHB1dCA9IFB5VW5pY29kZV9BU19VTklDT0RFKHJlc3VsdCk7Ci0gICAgICAgIHdoaWxlIChzaXplLS0pCi0gICAgICAgICAgICAqb3V0cHV0KysgPSAqaW5wdXQrKzsKLSAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyNpZiBUQ0xfVVRGX01BWD09MworICAgICAgICByZXR1cm4gUHlVbmljb2RlX0Zyb21LaW5kQW5kRGF0YSgKKyAgICAgICAgICAgIFB5VW5pY29kZV8yQllURV9LSU5ELCBUY2xfR2V0VW5pY29kZSh2YWx1ZSksCisgICAgICAgICAgICBUY2xfR2V0Q2hhckxlbmd0aCh2YWx1ZSkpOwogI2Vsc2UKLSAgICAgICAgcmV0dXJuIFB5VW5pY29kZV9Gcm9tVW5pY29kZShUY2xfR2V0VW5pY29kZSh2YWx1ZSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGNsX0dldENoYXJMZW5ndGgodmFsdWUpKTsKKyAgICAgICAgcmV0dXJuIFB5VW5pY29kZV9Gcm9tS2luZEFuZERhdGEoCisgICAgICAgICAgICBQeVVuaWNvZGVfNEJZVEVfS0lORCwgVGNsX0dldFVuaWNvZGUodmFsdWUpLAorICAgICAgICAgICAgVGNsX0dldENoYXJMZW5ndGgodmFsdWUpKTsKICNlbmRpZgogICAgIH0KIApAQCAtMjAwNyw3ICsxOTkxLDcgQEAKIFB5dGhvbkNtZChDbGllbnREYXRhIGNsaWVudERhdGEsIFRjbF9JbnRlcnAgKmludGVycCwgaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKIHsKICAgICBQeXRob25DbWRfQ2xpZW50RGF0YSAqZGF0YSA9IChQeXRob25DbWRfQ2xpZW50RGF0YSAqKWNsaWVudERhdGE7Ci0gICAgUHlPYmplY3QgKnNlbGYsICpmdW5jLCAqYXJnLCAqcmVzOworICAgIFB5T2JqZWN0ICpmdW5jLCAqYXJnLCAqcmVzOwogICAgIGludCBpLCBydjsKICAgICBUY2xfT2JqICpvYmpfcmVzOwogCkBAIC0yMDE2LDcgKzIwMDAsNiBAQAogICAgIC8qIFRCRDogbm8gZXJyb3IgY2hlY2tpbmcgaGVyZSBzaW5jZSB3ZSBrbm93LCB2aWEgdGhlCiAgICAgICogVGthcHBfQ3JlYXRlQ29tbWFuZCgpIHRoYXQgdGhlIGNsaWVudCBkYXRhIGlzIGEgdHdvLXR1cGxlCiAgICAgICovCi0gICAgc2VsZiA9IGRhdGEtPnNlbGY7CiAgICAgZnVuYyA9IGRhdGEtPmZ1bmM7CiAKICAgICAvKiBDcmVhdGUgYXJndW1lbnQgbGlzdCAoYXJndjEsIC4uLiwgYXJndk4pICovCkBAIC0yNDE1LDExICsyMzk4LDkgQEAKIFRrdHRfUmVwcihQeU9iamVjdCAqc2VsZikKIHsKICAgICBUa3R0T2JqZWN0ICp2ID0gKFRrdHRPYmplY3QgKilzZWxmOwotICAgIGNoYXIgYnVmWzEwMF07Ci0KLSAgICBQeU9TX3NucHJpbnRmKGJ1Ziwgc2l6ZW9mKGJ1ZiksICI8dGt0aW1lcnRva2VuIGF0ICVwJXM+IiwgdiwKLSAgICAgICAgICAgICAgICAgICAgdi0+ZnVuYyA9PSBOVUxMID8gIiwgaGFuZGxlciBkZWxldGVkIiA6ICIiKTsKLSAgICByZXR1cm4gUHlVbmljb2RlX0Zyb21TdHJpbmcoYnVmKTsKKyAgICByZXR1cm4gUHlVbmljb2RlX0Zyb21Gb3JtYXQoIjx0a3RpbWVydG9rZW4gYXQgJXAlcz4iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2LT5mdW5jID09IE5VTEwgPyAiLCBoYW5kbGVyIGRlbGV0ZWQiIDogIiIpOwogfQogCiBzdGF0aWMgUHlUeXBlT2JqZWN0IFRrdHRfVHlwZSA9CmRpZmYgLS1naXQgYS9Nb2R1bGVzL2FycmF5bW9kdWxlLmMgYi9Nb2R1bGVzL2FycmF5bW9kdWxlLmMKaW5kZXggNjQxZTI4My4uNzZhM2E2NSAxMDA2NDQKLS0tIGEvTW9kdWxlcy9hcnJheW1vZHVsZS5jCisrKyBiL01vZHVsZXMvYXJyYXltb2R1bGUuYwpAQCAtMjIsNyArMjIsNyBAQAogICogZnVuY3Rpb25zIGFyZW4ndCB2aXNpYmxlIHlldC4KICAqLwogc3RydWN0IGFycmF5ZGVzY3IgewotICAgIFB5X1VOSUNPREUgdHlwZWNvZGU7CisgICAgY2hhciB0eXBlY29kZTsKICAgICBpbnQgaXRlbXNpemU7CiAgICAgUHlPYmplY3QgKiAoKmdldGl0ZW0pKHN0cnVjdCBhcnJheW9iamVjdCAqLCBQeV9zc2l6ZV90KTsKICAgICBpbnQgKCpzZXRpdGVtKShzdHJ1Y3QgYXJyYXlvYmplY3QgKiwgUHlfc3NpemVfdCwgUHlPYmplY3QgKik7CkBAIC0xNzQsMjQgKzE3NCwyNSBAQAogc3RhdGljIFB5T2JqZWN0ICoKIHVfZ2V0aXRlbShhcnJheW9iamVjdCAqYXAsIFB5X3NzaXplX3QgaSkKIHsKLSAgICByZXR1cm4gUHlVbmljb2RlX0Zyb21Vbmljb2RlKCYoKFB5X1VOSUNPREUgKikgYXAtPm9iX2l0ZW0pW2ldLCAxKTsKKyAgICByZXR1cm4gUHlVbmljb2RlX0Zyb21PcmRpbmFsKCgoUHlfVUNTNCAqKSBhcC0+b2JfaXRlbSlbaV0pOwogfQogCiBzdGF0aWMgaW50CiB1X3NldGl0ZW0oYXJyYXlvYmplY3QgKmFwLCBQeV9zc2l6ZV90IGksIFB5T2JqZWN0ICp2KQogewotICAgIFB5X1VOSUNPREUgKnA7Ci0gICAgUHlfc3NpemVfdCBsZW47CisgICAgUHlPYmplY3QgKnA7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlKHYsICJ1IzthcnJheSBpdGVtIG11c3QgYmUgdW5pY29kZSBjaGFyYWN0ZXIiLCAmcCwgJmxlbikpCisgICAgaWYgKCFQeUFyZ19QYXJzZSh2LCAiVTthcnJheSBpdGVtIG11c3QgYmUgdW5pY29kZSBjaGFyYWN0ZXIiLCAmcCkpCiAgICAgICAgIHJldHVybiAtMTsKLSAgICBpZiAobGVuICE9IDEpIHsKKyAgICBpZiAoUHlVbmljb2RlX1JFQURZKHApKQorICAgICAgICByZXR1cm4gLTE7CisgICAgaWYgKFB5VW5pY29kZV9HRVRfTEVOR1RIKHApICE9IDEpIHsKICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwKICAgICAgICAgICAgICAgICAgICAgICAgICJhcnJheSBpdGVtIG11c3QgYmUgdW5pY29kZSBjaGFyYWN0ZXIiKTsKICAgICAgICAgcmV0dXJuIC0xOwogICAgIH0KICAgICBpZiAoaSA+PSAwKQotICAgICAgICAoKFB5X1VOSUNPREUgKilhcC0+b2JfaXRlbSlbaV0gPSBwWzBdOworICAgICAgICAoKFB5X1VDUzQgKilhcC0+b2JfaXRlbSlbaV0gPSBQeVVuaWNvZGVfUkVBRF9DSEFSKHAsIDApOwogICAgIHJldHVybiAwOwogfQogCkBAIC0zNTYsNiArMzU3LDU5IEBACiAgICAgcmV0dXJuIDA7CiB9CiAKKyNpZmRlZiBIQVZFX0xPTkdfTE9ORworCitzdGF0aWMgUHlPYmplY3QgKgorcV9nZXRpdGVtKGFycmF5b2JqZWN0ICphcCwgUHlfc3NpemVfdCBpKQoreworICAgIHJldHVybiBQeUxvbmdfRnJvbUxvbmdMb25nKCgoUFlfTE9OR19MT05HICopYXAtPm9iX2l0ZW0pW2ldKTsKK30KKworc3RhdGljIGludAorcV9zZXRpdGVtKGFycmF5b2JqZWN0ICphcCwgUHlfc3NpemVfdCBpLCBQeU9iamVjdCAqdikKK3sKKyAgICBQWV9MT05HX0xPTkcgeDsKKyAgICBpZiAoIVB5QXJnX1BhcnNlKHYsICJMO2FycmF5IGl0ZW0gbXVzdCBiZSBpbnRlZ2VyIiwgJngpKQorICAgICAgICByZXR1cm4gLTE7CisgICAgaWYgKGkgPj0gMCkKKyAgICAgICAgKChQWV9MT05HX0xPTkcgKilhcC0+b2JfaXRlbSlbaV0gPSB4OworICAgIHJldHVybiAwOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorUVFfZ2V0aXRlbShhcnJheW9iamVjdCAqYXAsIFB5X3NzaXplX3QgaSkKK3sKKyAgICByZXR1cm4gUHlMb25nX0Zyb21VbnNpZ25lZExvbmdMb25nKAorICAgICAgICAoKHVuc2lnbmVkIFBZX0xPTkdfTE9ORyAqKWFwLT5vYl9pdGVtKVtpXSk7Cit9CisKK3N0YXRpYyBpbnQKK1FRX3NldGl0ZW0oYXJyYXlvYmplY3QgKmFwLCBQeV9zc2l6ZV90IGksIFB5T2JqZWN0ICp2KQoreworICAgIHVuc2lnbmVkIFBZX0xPTkdfTE9ORyB4OworICAgIGlmIChQeUxvbmdfQ2hlY2sodikpIHsKKyAgICAgICAgeCA9IFB5TG9uZ19Bc1Vuc2lnbmVkTG9uZ0xvbmcodik7CisgICAgICAgIGlmICh4ID09ICh1bnNpZ25lZCBQWV9MT05HX0xPTkcpIC0xICYmIFB5RXJyX09jY3VycmVkKCkpCisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgfQorICAgIGVsc2UgeworICAgICAgICBQWV9MT05HX0xPTkcgeTsKKyAgICAgICAgaWYgKCFQeUFyZ19QYXJzZSh2LCAiTDthcnJheSBpdGVtIG11c3QgYmUgaW50ZWdlciIsICZ5KSkKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgaWYgKHkgPCAwKSB7CisgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfT3ZlcmZsb3dFcnJvciwKKyAgICAgICAgICAgICAgICAidW5zaWduZWQgbG9uZyBsb25nIGlzIGxlc3MgdGhhbiBtaW5pbXVtIik7CisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIH0KKyAgICAgICAgeCA9ICh1bnNpZ25lZCBQWV9MT05HX0xPTkcpeTsKKyAgICB9CisKKyAgICBpZiAoaSA+PSAwKQorICAgICAgICAoKHVuc2lnbmVkIFBZX0xPTkdfTE9ORyAqKWFwLT5vYl9pdGVtKVtpXSA9IHg7CisgICAgcmV0dXJuIDA7Cit9CisjZW5kaWYKKwogc3RhdGljIFB5T2JqZWN0ICoKIGZfZ2V0aXRlbShhcnJheW9iamVjdCAqYXAsIFB5X3NzaXplX3QgaSkKIHsKQEAgLTM5MCw2ICs0NDQsMTMgQEAKICAgICByZXR1cm4gMDsKIH0KIAorI2lmIFNJWkVPRl9JTlQgPT0gNAorIyAgZGVmaW5lIFNUUlVDVF9MT05HX0ZPUk1BVCAiSSIKKyNlbGlmIFNJWkVPRl9MT05HID09IDQKKyMgIGRlZmluZSBTVFJVQ1RfTE9OR19GT1JNQVQgIkwiCisjZWxzZQorIyAgZXJyb3IgIlVuYWJsZSB0byBnZXQgc3RydWN0IGZvcm1hdCBmb3IgUHlfVUNTNCIKKyNlbmRpZgogCiAvKiBEZXNjcmlwdGlvbiBvZiB0eXBlcy4KICAqCkBAIC0zOTksMTMgKzQ2MCwxNyBAQAogc3RhdGljIHN0cnVjdCBhcnJheWRlc2NyIGRlc2NyaXB0b3JzW10gPSB7CiAgICAgeydiJywgMSwgYl9nZXRpdGVtLCBiX3NldGl0ZW0sICJiIiwgMSwgMX0sCiAgICAgeydCJywgMSwgQkJfZ2V0aXRlbSwgQkJfc2V0aXRlbSwgIkIiLCAxLCAwfSwKLSAgICB7J3UnLCBzaXplb2YoUHlfVU5JQ09ERSksIHVfZ2V0aXRlbSwgdV9zZXRpdGVtLCAidSIsIDAsIDB9LAorICAgIHsndScsIHNpemVvZihQeV9VQ1M0KSwgdV9nZXRpdGVtLCB1X3NldGl0ZW0sIFNUUlVDVF9MT05HX0ZPUk1BVCwgMCwgMH0sCiAgICAgeydoJywgc2l6ZW9mKHNob3J0KSwgaF9nZXRpdGVtLCBoX3NldGl0ZW0sICJoIiwgMSwgMX0sCiAgICAgeydIJywgc2l6ZW9mKHNob3J0KSwgSEhfZ2V0aXRlbSwgSEhfc2V0aXRlbSwgIkgiLCAxLCAwfSwKICAgICB7J2knLCBzaXplb2YoaW50KSwgaV9nZXRpdGVtLCBpX3NldGl0ZW0sICJpIiwgMSwgMX0sCiAgICAgeydJJywgc2l6ZW9mKGludCksIElJX2dldGl0ZW0sIElJX3NldGl0ZW0sICJJIiwgMSwgMH0sCiAgICAgeydsJywgc2l6ZW9mKGxvbmcpLCBsX2dldGl0ZW0sIGxfc2V0aXRlbSwgImwiLCAxLCAxfSwKICAgICB7J0wnLCBzaXplb2YobG9uZyksIExMX2dldGl0ZW0sIExMX3NldGl0ZW0sICJMIiwgMSwgMH0sCisjaWZkZWYgSEFWRV9MT05HX0xPTkcKKyAgICB7J3EnLCBzaXplb2YoUFlfTE9OR19MT05HKSwgcV9nZXRpdGVtLCBxX3NldGl0ZW0sICJxIiwgMSwgMX0sCisgICAgeydRJywgc2l6ZW9mKFBZX0xPTkdfTE9ORyksIFFRX2dldGl0ZW0sIFFRX3NldGl0ZW0sICJRIiwgMSwgMH0sCisjZW5kaWYKICAgICB7J2YnLCBzaXplb2YoZmxvYXQpLCBmX2dldGl0ZW0sIGZfc2V0aXRlbSwgImYiLCAwLCAwfSwKICAgICB7J2QnLCBzaXplb2YoZG91YmxlKSwgZF9nZXRpdGVtLCBkX3NldGl0ZW0sICJkIiwgMCwgMH0sCiAgICAgeydcMCcsIDAsIDAsIDAsIDAsIDAsIDB9IC8qIFNlbnRpbmVsICovCkBAIC01MTQsMTAgKzU3OSw4IEBACiAgICAgUHlfc3NpemVfdCBpLCBrOwogICAgIFB5T2JqZWN0ICpyZXM7CiAKLSAgICBpZiAoIWFycmF5X0NoZWNrKHYpIHx8ICFhcnJheV9DaGVjayh3KSkgewotICAgICAgICBQeV9JTkNSRUYoUHlfTm90SW1wbGVtZW50ZWQpOwotICAgICAgICByZXR1cm4gUHlfTm90SW1wbGVtZW50ZWQ7Ci0gICAgfQorICAgIGlmICghYXJyYXlfQ2hlY2sodikgfHwgIWFycmF5X0NoZWNrKHcpKQorICAgICAgICBQeV9SRVRVUk5fTk9USU1QTEVNRU5URUQ7CiAKICAgICB2YSA9IChhcnJheW9iamVjdCAqKXY7CiAgICAgd2EgPSAoYXJyYXlvYmplY3QgKil3OwpAQCAtODc2LDcgKzkzOSw2IEBACiAgICAgaWYgKFB5X1NJWkUoc2VsZikgPiAwKSB7CiAgICAgICAgIGlmIChuIDwgMCkKICAgICAgICAgICAgIG4gPSAwOwotICAgICAgICBpdGVtcyA9IHNlbGYtPm9iX2l0ZW07CiAgICAgICAgIGlmICgoc2VsZi0+b2JfZGVzY3ItPml0ZW1zaXplICE9IDApICYmCiAgICAgICAgICAgICAoUHlfU0laRShzZWxmKSA+IFBZX1NTSVpFX1RfTUFYIC8gc2VsZi0+b2JfZGVzY3ItPml0ZW1zaXplKSkgewogICAgICAgICAgICAgcmV0dXJuIFB5RXJyX05vTWVtb3J5KCk7CkBAIC0xMTkxLDYgKzEyNTMsNyBAQAogICAgIFB5T2JqZWN0ICpmLCAqYiwgKnJlczsKICAgICBQeV9zc2l6ZV90IGl0ZW1zaXplID0gc2VsZi0+b2JfZGVzY3ItPml0ZW1zaXplOwogICAgIFB5X3NzaXplX3QgbiwgbmJ5dGVzOworICAgIF9QeV9JREVOVElGSUVSKHJlYWQpOwogICAgIGludCBub3RfZW5vdWdoX2J5dGVzOwogCiAgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJPbjpmcm9tZmlsZSIsICZmLCAmbikpCkBAIC0xMjAyLDcgKzEyNjUsNyBAQAogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAKLSAgICBiID0gUHlPYmplY3RfQ2FsbE1ldGhvZChmLCAicmVhZCIsICJuIiwgbmJ5dGVzKTsKKyAgICBiID0gX1B5T2JqZWN0X0NhbGxNZXRob2RJZChmLCAmUHlJZF9yZWFkLCAibiIsIG5ieXRlcyk7CiAgICAgaWYgKGIgPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKQEAgLTEyNTksMTIgKzEzMjIsMTQgQEAKICAgICAgICAgY2hhciogcHRyID0gc2VsZi0+b2JfaXRlbSArIGkqQkxPQ0tTSVpFOwogICAgICAgICBQeV9zc2l6ZV90IHNpemUgPSBCTE9DS1NJWkU7CiAgICAgICAgIFB5T2JqZWN0ICpieXRlcywgKnJlczsKKyAgICAgICAgX1B5X0lERU5USUZJRVIod3JpdGUpOworCiAgICAgICAgIGlmIChpKkJMT0NLU0laRSArIHNpemUgPiBuYnl0ZXMpCiAgICAgICAgICAgICBzaXplID0gbmJ5dGVzIC0gaSpCTE9DS1NJWkU7CiAgICAgICAgIGJ5dGVzID0gUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZShwdHIsIHNpemUpOwogICAgICAgICBpZiAoYnl0ZXMgPT0gTlVMTCkKICAgICAgICAgICAgIHJldHVybiBOVUxMOwotICAgICAgICByZXMgPSBQeU9iamVjdF9DYWxsTWV0aG9kKGYsICJ3cml0ZSIsICJPIiwgYnl0ZXMpOworICAgICAgICByZXMgPSBfUHlPYmplY3RfQ2FsbE1ldGhvZElkKGYsICZQeUlkX3dyaXRlLCAiTyIsIGJ5dGVzKTsKICAgICAgICAgUHlfREVDUkVGKGJ5dGVzKTsKICAgICAgICAgaWYgKHJlcyA9PSBOVUxMKQogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CkBAIC0xNDU0LDI1ICsxNTE5LDI2IEBACiBzdGF0aWMgUHlPYmplY3QgKgogYXJyYXlfZnJvbXVuaWNvZGUoYXJyYXlvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQogewotICAgIFB5X1VOSUNPREUgKnVzdHI7CisgICAgUHlPYmplY3QgKnVzdHI7CiAgICAgUHlfc3NpemVfdCBuOwotICAgIFB5X1VOSUNPREUgdHlwZWNvZGU7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgInUjOmZyb211bmljb2RlIiwgJnVzdHIsICZuKSkKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIlU6ZnJvbXVuaWNvZGUiLCAmdXN0cikpCiAgICAgICAgIHJldHVybiBOVUxMOwotICAgIHR5cGVjb2RlID0gc2VsZi0+b2JfZGVzY3ItPnR5cGVjb2RlOwotICAgIGlmICgodHlwZWNvZGUgIT0gJ3UnKSkgeworICAgIGlmIChzZWxmLT5vYl9kZXNjci0+dHlwZWNvZGUgIT0gJ3UnKSB7CiAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLAogICAgICAgICAgICAgImZyb211bmljb2RlKCkgbWF5IG9ubHkgYmUgY2FsbGVkIG9uICIKICAgICAgICAgICAgICJ1bmljb2RlIHR5cGUgYXJyYXlzIik7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KKyAgICBpZiAoUHlVbmljb2RlX1JFQURZKHVzdHIpKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBuID0gUHlVbmljb2RlX0dFVF9MRU5HVEgodXN0cik7CiAgICAgaWYgKG4gPiAwKSB7CiAgICAgICAgIFB5X3NzaXplX3Qgb2xkX3NpemUgPSBQeV9TSVpFKHNlbGYpOwogICAgICAgICBpZiAoYXJyYXlfcmVzaXplKHNlbGYsIG9sZF9zaXplICsgbikgPT0gLTEpCiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgbWVtY3B5KHNlbGYtPm9iX2l0ZW0gKyBvbGRfc2l6ZSAqIHNpemVvZihQeV9VTklDT0RFKSwKLSAgICAgICAgICAgICAgIHVzdHIsIG4gKiBzaXplb2YoUHlfVU5JQ09ERSkpOworICAgICAgICBpZiAoIVB5VW5pY29kZV9Bc1VDUzQodXN0ciwgKFB5X1VDUzQgKilzZWxmLT5vYl9pdGVtICsgb2xkX3NpemUsIG4sIDApKQorICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogCiAgICAgUHlfSU5DUkVGKFB5X05vbmUpOwpAQCAtMTQ5MSwxNCArMTU1NywxNCBAQAogc3RhdGljIFB5T2JqZWN0ICoKIGFycmF5X3RvdW5pY29kZShhcnJheW9iamVjdCAqc2VsZiwgUHlPYmplY3QgKnVudXNlZCkKIHsKLSAgICBQeV9VTklDT0RFIHR5cGVjb2RlOwotICAgIHR5cGVjb2RlID0gc2VsZi0+b2JfZGVzY3ItPnR5cGVjb2RlOwotICAgIGlmICgodHlwZWNvZGUgIT0gJ3UnKSkgeworICAgIGlmIChzZWxmLT5vYl9kZXNjci0+dHlwZWNvZGUgIT0gJ3UnKSB7CiAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLAogICAgICAgICAgICAgICJ0b3VuaWNvZGUoKSBtYXkgb25seSBiZSBjYWxsZWQgb24gdW5pY29kZSB0eXBlIGFycmF5cyIpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9Ci0gICAgcmV0dXJuIFB5VW5pY29kZV9Gcm9tVW5pY29kZSgoUHlfVU5JQ09ERSAqKSBzZWxmLT5vYl9pdGVtLCBQeV9TSVpFKHNlbGYpKTsKKyAgICByZXR1cm4gUHlVbmljb2RlX0Zyb21LaW5kQW5kRGF0YShQeVVuaWNvZGVfNEJZVEVfS0lORCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoUHlfVUNTNCAqKSBzZWxmLT5vYl9pdGVtLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5X1NJWkUoc2VsZikpOwogfQogCiBQeURvY19TVFJWQVIodG91bmljb2RlX2RvYywKQEAgLTE1ODgsNyArMTY1NCw3IEBACiAgKiBiZSBmb3VuZC4KICAqLwogc3RhdGljIGVudW0gbWFjaGluZV9mb3JtYXRfY29kZQotdHlwZWNvZGVfdG9fbWZvcm1hdF9jb2RlKGludCB0eXBlY29kZSkKK3R5cGVjb2RlX3RvX21mb3JtYXRfY29kZShjaGFyIHR5cGVjb2RlKQogewogI2lmZGVmIFdPUkRTX0JJR0VORElBTgogICAgIGNvbnN0IGludCBpc19iaWdfZW5kaWFuID0gMTsKQEAgLTE2MDUsMTMgKzE2NzEsNyBAQAogICAgICAgICByZXR1cm4gVU5TSUdORURfSU5UODsKIAogICAgIGNhc2UgJ3UnOgotICAgICAgICBpZiAoc2l6ZW9mKFB5X1VOSUNPREUpID09IDIpIHsKLSAgICAgICAgICAgIHJldHVybiBVVEYxNl9MRSArIGlzX2JpZ19lbmRpYW47Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKHNpemVvZihQeV9VTklDT0RFKSA9PSA0KSB7Ci0gICAgICAgICAgICByZXR1cm4gVVRGMzJfTEUgKyBpc19iaWdfZW5kaWFuOwotICAgICAgICB9Ci0gICAgICAgIHJldHVybiBVTktOT1dOX0ZPUk1BVDsKKyAgICAgICAgcmV0dXJuIFVURjMyX0xFICsgaXNfYmlnX2VuZGlhbjsKIAogICAgIGNhc2UgJ2YnOgogICAgICAgICBpZiAoc2l6ZW9mKGZsb2F0KSA9PSA0KSB7CkBAIC0xNjU4LDYgKzE3MTgsMTYgQEAKICAgICAgICAgaW50c2l6ZSA9IHNpemVvZihsb25nKTsKICAgICAgICAgaXNfc2lnbmVkID0gMDsKICAgICAgICAgYnJlYWs7CisjaWYgSEFWRV9MT05HX0xPTkcKKyAgICBjYXNlICdxJzoKKyAgICAgICAgaW50c2l6ZSA9IHNpemVvZihQWV9MT05HX0xPTkcpOworICAgICAgICBpc19zaWduZWQgPSAxOworICAgICAgICBicmVhazsKKyAgICBjYXNlICdRJzoKKyAgICAgICAgaW50c2l6ZSA9IHNpemVvZihQWV9MT05HX0xPTkcpOworICAgICAgICBpc19zaWduZWQgPSAwOworICAgICAgICBicmVhazsKKyNlbmRpZgogICAgIGRlZmF1bHQ6CiAgICAgICAgIHJldHVybiBVTktOT1dOX0ZPUk1BVDsKICAgICB9CkBAIC0xNjg4LDcgKzE3NTgsNyBAQAogICogTlVMTCBpcyByZXR1cm5lZCB0byBpbmRpY2F0ZSBhIGZhaWx1cmUuCiAgKi8KIHN0YXRpYyBQeU9iamVjdCAqCi1tYWtlX2FycmF5KFB5VHlwZU9iamVjdCAqYXJyYXl0eXBlLCBQeV9VTklDT0RFIHR5cGVjb2RlLCBQeU9iamVjdCAqaXRlbXMpCittYWtlX2FycmF5KFB5VHlwZU9iamVjdCAqYXJyYXl0eXBlLCBjaGFyIHR5cGVjb2RlLCBQeU9iamVjdCAqaXRlbXMpCiB7CiAgICAgUHlPYmplY3QgKm5ld19hcmdzOwogICAgIFB5T2JqZWN0ICphcnJheV9vYmo7CkBAIC0xNjk3LDcgKzE3NjcsNyBAQAogICAgIGFzc2VydChhcnJheXR5cGUgIT0gTlVMTCk7CiAgICAgYXNzZXJ0KGl0ZW1zICE9IE5VTEwpOwogCi0gICAgdHlwZWNvZGVfb2JqID0gUHlVbmljb2RlX0Zyb21Vbmljb2RlKCZ0eXBlY29kZSwgMSk7CisgICAgdHlwZWNvZGVfb2JqID0gUHlVbmljb2RlX0Zyb21PcmRpbmFsKHR5cGVjb2RlKTsKICAgICBpZiAodHlwZWNvZGVfb2JqID09IE5VTEwpCiAgICAgICAgIHJldHVybiBOVUxMOwogCkBAIC0xNzI3LDE3ICsxNzk3LDE0IEBACiAgICAgUHlPYmplY3QgKml0ZW1zOwogICAgIFB5T2JqZWN0ICpjb252ZXJ0ZWRfaXRlbXM7CiAgICAgUHlPYmplY3QgKnJlc3VsdDsKLSAgICBpbnQgdHlwZWNvZGVfaW50OwotICAgIFB5X1VOSUNPREUgdHlwZWNvZGU7CisgICAgaW50IHR5cGVjb2RlOwogICAgIGVudW0gbWFjaGluZV9mb3JtYXRfY29kZSBtZm9ybWF0X2NvZGU7CiAgICAgc3RydWN0IGFycmF5ZGVzY3IgKmRlc2NyOwogCiAgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJPQ2lPOmFycmF5Ll9hcnJheV9yZWNvbnN0cnVjdG9yIiwKLSAgICAgICAgICAgICAgICAgICAgJmFycmF5dHlwZSwgJnR5cGVjb2RlX2ludCwgJm1mb3JtYXRfY29kZSwgJml0ZW1zKSkKKyAgICAgICAgICAgICAgICAgICAgJmFycmF5dHlwZSwgJnR5cGVjb2RlLCAmbWZvcm1hdF9jb2RlLCAmaXRlbXMpKQogICAgICAgICByZXR1cm4gTlVMTDsKIAotICAgIHR5cGVjb2RlID0gKFB5X1VOSUNPREUpdHlwZWNvZGVfaW50OwotCiAgICAgaWYgKCFQeVR5cGVfQ2hlY2soYXJyYXl0eXBlKSkgewogICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLAogICAgICAgICAgICAgImZpcnN0IGFyZ3VtZW50IG11c3QgYSB0eXBlIG9iamVjdCwgbm90ICUuMjAwcyIsCkBAIC0xNzUxLDcgKzE4MTgsNyBAQAogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAgICAgZm9yIChkZXNjciA9IGRlc2NyaXB0b3JzOyBkZXNjci0+dHlwZWNvZGUgIT0gJ1wwJzsgZGVzY3IrKykgewotICAgICAgICBpZiAoZGVzY3ItPnR5cGVjb2RlID09IHR5cGVjb2RlKQorICAgICAgICBpZiAoKGludClkZXNjci0+dHlwZWNvZGUgPT0gdHlwZWNvZGUpCiAgICAgICAgICAgICBicmVhazsKICAgICB9CiAgICAgaWYgKGRlc2NyLT50eXBlY29kZSA9PSAnXDAnKSB7CkBAIC0xNzczLDkgKzE4NDAsOSBAQAogICAgIH0KIAogICAgIC8qIEZhc3QgcGF0aDogTm8gZGVjb2RpbmcgaGFzIHRvIGJlIGRvbmUuICovCi0gICAgaWYgKG1mb3JtYXRfY29kZSA9PSB0eXBlY29kZV90b19tZm9ybWF0X2NvZGUodHlwZWNvZGUpIHx8CisgICAgaWYgKG1mb3JtYXRfY29kZSA9PSB0eXBlY29kZV90b19tZm9ybWF0X2NvZGUoKGNoYXIpdHlwZWNvZGUpIHx8CiAgICAgICAgIG1mb3JtYXRfY29kZSA9PSBVTktOT1dOX0ZPUk1BVCkgewotICAgICAgICByZXR1cm4gbWFrZV9hcnJheShhcnJheXR5cGUsIHR5cGVjb2RlLCBpdGVtcyk7CisgICAgICAgIHJldHVybiBtYWtlX2FycmF5KGFycmF5dHlwZSwgKGNoYXIpdHlwZWNvZGUsIGl0ZW1zKTsKICAgICB9CiAKICAgICAvKiBTbG93IHBhdGg6IERlY29kZSB0aGUgYnl0ZSBzdHJpbmcgYWNjb3JkaW5nIHRvIHRoZSBnaXZlbiBtYWNoaW5lCkBAIC0xOTIxLDcgKzE5ODgsNyBAQAogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAKLSAgICByZXN1bHQgPSBtYWtlX2FycmF5KGFycmF5dHlwZSwgdHlwZWNvZGUsIGNvbnZlcnRlZF9pdGVtcyk7CisgICAgcmVzdWx0ID0gbWFrZV9hcnJheShhcnJheXR5cGUsIChjaGFyKXR5cGVjb2RlLCBjb252ZXJ0ZWRfaXRlbXMpOwogICAgIFB5X0RFQ1JFRihjb252ZXJ0ZWRfaXRlbXMpOwogICAgIHJldHVybiByZXN1bHQ7CiB9CkBAIC0xOTM2LDE0ICsyMDAzLDE2IEBACiAgICAgaW50IG1mb3JtYXRfY29kZTsKICAgICBzdGF0aWMgUHlPYmplY3QgKmFycmF5X3JlY29uc3RydWN0b3IgPSBOVUxMOwogICAgIGxvbmcgcHJvdG9jb2w7CisgICAgX1B5X0lERU5USUZJRVIoX2FycmF5X3JlY29uc3RydWN0b3IpOworICAgIF9QeV9JREVOVElGSUVSKF9fZGljdF9fKTsKIAogICAgIGlmIChhcnJheV9yZWNvbnN0cnVjdG9yID09IE5VTEwpIHsKICAgICAgICAgUHlPYmplY3QgKmFycmF5X21vZHVsZSA9IFB5SW1wb3J0X0ltcG9ydE1vZHVsZSgiYXJyYXkiKTsKICAgICAgICAgaWYgKGFycmF5X21vZHVsZSA9PSBOVUxMKQogICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgIGFycmF5X3JlY29uc3RydWN0b3IgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKAorICAgICAgICBhcnJheV9yZWNvbnN0cnVjdG9yID0gX1B5T2JqZWN0X0dldEF0dHJJZCgKICAgICAgICAgICAgIGFycmF5X21vZHVsZSwKLSAgICAgICAgICAgICJfYXJyYXlfcmVjb25zdHJ1Y3RvciIpOworICAgICAgICAgICAgJlB5SWRfX2FycmF5X3JlY29uc3RydWN0b3IpOwogICAgICAgICBQeV9ERUNSRUYoYXJyYXlfbW9kdWxlKTsKICAgICAgICAgaWYgKGFycmF5X3JlY29uc3RydWN0b3IgPT0gTlVMTCkKICAgICAgICAgICAgIHJldHVybiBOVUxMOwpAQCAtMTk1OCw3ICsyMDI3LDcgQEAKICAgICBpZiAocHJvdG9jb2wgPT0gLTEgJiYgUHlFcnJfT2NjdXJyZWQoKSkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKLSAgICBkaWN0ID0gUHlPYmplY3RfR2V0QXR0clN0cmluZygoUHlPYmplY3QgKilhcnJheSwgIl9fZGljdF9fIik7CisgICAgZGljdCA9IF9QeU9iamVjdF9HZXRBdHRySWQoKFB5T2JqZWN0ICopYXJyYXksICZQeUlkX19fZGljdF9fKTsKICAgICBpZiAoZGljdCA9PSBOVUxMKSB7CiAgICAgICAgIGlmICghUHlFcnJfRXhjZXB0aW9uTWF0Y2hlcyhQeUV4Y19BdHRyaWJ1dGVFcnJvcikpCiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKQEAgLTIwMTAsOCArMjA3OSw4IEBACiBzdGF0aWMgUHlPYmplY3QgKgogYXJyYXlfZ2V0X3R5cGVjb2RlKGFycmF5b2JqZWN0ICphLCB2b2lkICpjbG9zdXJlKQogewotICAgIFB5X1VOSUNPREUgdGMgPSBhLT5vYl9kZXNjci0+dHlwZWNvZGU7Ci0gICAgcmV0dXJuIFB5VW5pY29kZV9Gcm9tVW5pY29kZSgmdGMsIDEpOworICAgIGNoYXIgdHlwZWNvZGUgPSBhLT5vYl9kZXNjci0+dHlwZWNvZGU7CisgICAgcmV0dXJuIFB5VW5pY29kZV9Gcm9tT3JkaW5hbCh0eXBlY29kZSk7CiB9CiAKIHN0YXRpYyBQeU9iamVjdCAqCkBAIC0yMDgzLDcgKzIxNTIsNyBAQAogc3RhdGljIFB5T2JqZWN0ICoKIGFycmF5X3JlcHIoYXJyYXlvYmplY3QgKmEpCiB7Ci0gICAgUHlfVU5JQ09ERSB0eXBlY29kZTsKKyAgICBjaGFyIHR5cGVjb2RlOwogICAgIFB5T2JqZWN0ICpzLCAqdiA9IE5VTEw7CiAgICAgUHlfc3NpemVfdCBsZW47CiAKQEAgLTIwOTIsNyArMjE2MSw3IEBACiAgICAgaWYgKGxlbiA9PSAwKSB7CiAgICAgICAgIHJldHVybiBQeVVuaWNvZGVfRnJvbUZvcm1hdCgiYXJyYXkoJyVjJykiLCAoaW50KXR5cGVjb2RlKTsKICAgICB9Ci0gICAgaWYgKCh0eXBlY29kZSA9PSAndScpKQorICAgIGlmICh0eXBlY29kZSA9PSAndScpCiAgICAgICAgIHYgPSBhcnJheV90b3VuaWNvZGUoYSwgTlVMTCk7CiAgICAgZWxzZQogICAgICAgICB2ID0gYXJyYXlfdG9saXN0KGEsIE5VTEwpOwpAQCAtMjI4Nyw3ICsyMzU2LDcgQEAKICAgICAgICAgICAgICAgICBzZWxmLT5vYl9pdGVtICsgKGN1ciArIDEpICogaXRlbXNpemUsCiAgICAgICAgICAgICAgICAgbGltICogaXRlbXNpemUpOwogICAgICAgICB9Ci0gICAgICAgIGN1ciA9IHN0YXJ0ICsgc2xpY2VsZW5ndGggKiBzdGVwOworICAgICAgICBjdXIgPSBzdGFydCArIChzaXplX3Qpc2xpY2VsZW5ndGggKiBzdGVwOwogICAgICAgICBpZiAoY3VyIDwgKHNpemVfdClQeV9TSVpFKHNlbGYpKSB7CiAgICAgICAgICAgICBtZW1tb3ZlKHNlbGYtPm9iX2l0ZW0gKyAoY3VyLXNsaWNlbGVuZ3RoKSAqIGl0ZW1zaXplLAogICAgICAgICAgICAgICAgIHNlbGYtPm9iX2l0ZW0gKyBjdXIgKiBpdGVtc2l6ZSwKQEAgLTIzNTAsMTQgKzI0MTksOCBAQAogICAgICAgICB2aWV3LT5zdHJpZGVzID0gJih2aWV3LT5pdGVtc2l6ZSk7CiAgICAgdmlldy0+Zm9ybWF0ID0gTlVMTDsKICAgICB2aWV3LT5pbnRlcm5hbCA9IE5VTEw7Ci0gICAgaWYgKChmbGFncyAmIFB5QlVGX0ZPUk1BVCkgPT0gUHlCVUZfRk9STUFUKSB7CisgICAgaWYgKChmbGFncyAmIFB5QlVGX0ZPUk1BVCkgPT0gUHlCVUZfRk9STUFUKQogICAgICAgICB2aWV3LT5mb3JtYXQgPSBzZWxmLT5vYl9kZXNjci0+Zm9ybWF0czsKLSNpZmRlZiBQeV9VTklDT0RFX1dJREUKLSAgICAgICAgaWYgKHNlbGYtPm9iX2Rlc2NyLT50eXBlY29kZSA9PSAndScpIHsKLSAgICAgICAgICAgIHZpZXctPmZvcm1hdCA9ICJ3IjsKLSAgICAgICAgfQotI2VuZGlmCi0gICAgfQogCiAgZmluaXNoOgogICAgIHNlbGYtPm9iX2V4cG9ydHMrKzsKQEAgLTI0NzEsMTkgKzI1MzQsMjUgQEAKICAgICAgICAgICAgICAgICBQeV9ERUNSRUYodik7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBlbHNlIGlmIChpbml0aWFsICE9IE5VTEwgJiYgUHlVbmljb2RlX0NoZWNrKGluaXRpYWwpKSAgewotICAgICAgICAgICAgICAgIFB5X3NzaXplX3QgbiA9IFB5VW5pY29kZV9HRVRfREFUQV9TSVpFKGluaXRpYWwpOworICAgICAgICAgICAgICAgIFB5X3NzaXplX3QgbjsKKyAgICAgICAgICAgICAgICBpZiAoUHlVbmljb2RlX1JFQURZKGluaXRpYWwpKSB7CisgICAgICAgICAgICAgICAgICAgIFB5X0RFQ1JFRihhKTsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIG4gPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChpbml0aWFsKTsKICAgICAgICAgICAgICAgICBpZiAobiA+IDApIHsKICAgICAgICAgICAgICAgICAgICAgYXJyYXlvYmplY3QgKnNlbGYgPSAoYXJyYXlvYmplY3QgKilhOwotICAgICAgICAgICAgICAgICAgICBjaGFyICppdGVtID0gc2VsZi0+b2JfaXRlbTsKLSAgICAgICAgICAgICAgICAgICAgaXRlbSA9IChjaGFyICopUHlNZW1fUmVhbGxvYyhpdGVtLCBuKTsKKyAgICAgICAgICAgICAgICAgICAgUHlfVUNTNCAqaXRlbSA9IChQeV9VQ1M0ICopc2VsZi0+b2JfaXRlbTsKKyAgICAgICAgICAgICAgICAgICAgaXRlbSA9IChQeV9VQ1M0ICopUHlNZW1fUmVhbGxvYyhpdGVtLCBuICogc2l6ZW9mKFB5X1VDUzQpKTsKICAgICAgICAgICAgICAgICAgICAgaWYgKGl0ZW0gPT0gTlVMTCkgewogICAgICAgICAgICAgICAgICAgICAgICAgUHlFcnJfTm9NZW1vcnkoKTsKICAgICAgICAgICAgICAgICAgICAgICAgIFB5X0RFQ1JFRihhKTsKICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgIHNlbGYtPm9iX2l0ZW0gPSBpdGVtOwotICAgICAgICAgICAgICAgICAgICBQeV9TSVpFKHNlbGYpID0gbiAvIHNpemVvZihQeV9VTklDT0RFKTsKLSAgICAgICAgICAgICAgICAgICAgbWVtY3B5KGl0ZW0sIFB5VW5pY29kZV9BU19EQVRBKGluaXRpYWwpLCBuKTsKKyAgICAgICAgICAgICAgICAgICAgc2VsZi0+b2JfaXRlbSA9IChjaGFyKilpdGVtOworICAgICAgICAgICAgICAgICAgICBQeV9TSVpFKHNlbGYpID0gbjsKKyAgICAgICAgICAgICAgICAgICAgaWYgKCFQeVVuaWNvZGVfQXNVQ1M0KGluaXRpYWwsIGl0ZW0sIG4sIDApKQorICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgICAgICAgICAgICAgIHNlbGYtPmFsbG9jYXRlZCA9IFB5X1NJWkUoc2VsZik7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQpAQCAtMjUwNCw3ICsyNTczLDExIEBACiAgICAgICAgIH0KICAgICB9CiAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsCisjaWZkZWYgSEFWRV9MT05HX0xPTkcKKyAgICAgICAgImJhZCB0eXBlY29kZSAobXVzdCBiZSBiLCBCLCB1LCBoLCBILCBpLCBJLCBsLCBMLCBxLCBRLCBmIG9yIGQpIik7CisjZWxzZQogICAgICAgICAiYmFkIHR5cGVjb2RlIChtdXN0IGJlIGIsIEIsIHUsIGgsIEgsIGksIEksIGwsIEwsIGYgb3IgZCkiKTsKKyNlbmRpZgogICAgIHJldHVybiBOVUxMOwogfQogCkBAIC0yNTIwLDE4ICsyNTkzLDIxIEBACiAgICAgVHlwZSBjb2RlICAgQyBUeXBlICAgICAgICAgICAgIE1pbmltdW0gc2l6ZSBpbiBieXRlcyBcblwKICAgICAnYicgICAgICAgICBzaWduZWQgaW50ZWdlciAgICAgMSBcblwKICAgICAnQicgICAgICAgICB1bnNpZ25lZCBpbnRlZ2VyICAgMSBcblwKLSAgICAndScgICAgICAgICBVbmljb2RlIGNoYXJhY3RlciAgMiAoc2VlIG5vdGUpIFxuXAorICAgICd1JyAgICAgICAgIFVuaWNvZGUgY2hhcmFjdGVyICA0IFxuXAogICAgICdoJyAgICAgICAgIHNpZ25lZCBpbnRlZ2VyICAgICAyIFxuXAogICAgICdIJyAgICAgICAgIHVuc2lnbmVkIGludGVnZXIgICAyIFxuXAogICAgICdpJyAgICAgICAgIHNpZ25lZCBpbnRlZ2VyICAgICAyIFxuXAogICAgICdJJyAgICAgICAgIHVuc2lnbmVkIGludGVnZXIgICAyIFxuXAogICAgICdsJyAgICAgICAgIHNpZ25lZCBpbnRlZ2VyICAgICA0IFxuXAogICAgICdMJyAgICAgICAgIHVuc2lnbmVkIGludGVnZXIgICA0IFxuXAorICAgICdxJyAgICAgICAgIHNpZ25lZCBpbnRlZ2VyICAgICA4IChzZWUgbm90ZSkgXG5cCisgICAgJ1EnICAgICAgICAgdW5zaWduZWQgaW50ZWdlciAgIDggKHNlZSBub3RlKSBcblwKICAgICAnZicgICAgICAgICBmbG9hdGluZyBwb2ludCAgICAgNCBcblwKICAgICAnZCcgICAgICAgICBmbG9hdGluZyBwb2ludCAgICAgOCBcblwKIFxuXAotTk9URTogVGhlICd1JyB0eXBlY29kZSBjb3JyZXNwb25kcyB0byBQeXRob24ncyB1bmljb2RlIGNoYXJhY3Rlci4gT24gXG5cCi1uYXJyb3cgYnVpbGRzIHRoaXMgaXMgMi1ieXRlcyBvbiB3aWRlIGJ1aWxkcyB0aGlzIGlzIDQtYnl0ZXMuXG5cCitOT1RFOiBUaGUgJ3EnIGFuZCAnUScgdHlwZSBjb2RlcyBhcmUgb25seSBhdmFpbGFibGUgaWYgdGhlIHBsYXRmb3JtIFxuXAorQyBjb21waWxlciB1c2VkIHRvIGJ1aWxkIFB5dGhvbiBzdXBwb3J0cyAnbG9uZyBsb25nJywgb3IsIG9uIFdpbmRvd3MsIFxuXAorJ19faW50NjQnLlxuXAogXG5cCiBUaGUgY29uc3RydWN0b3IgaXM6XG5cCiBcblwKQEAgLTI3MzYsOSArMjgxMiw5IEBACiBQeUluaXRfYXJyYXkodm9pZCkKIHsKICAgICBQeU9iamVjdCAqbTsKKyAgICBjaGFyIGJ1ZmZlcltQeV9BUlJBWV9MRU5HVEgoZGVzY3JpcHRvcnMpXSwgKnA7CiAgICAgUHlPYmplY3QgKnR5cGVjb2RlczsKICAgICBQeV9zc2l6ZV90IHNpemUgPSAwOwotICAgIHJlZ2lzdGVyIFB5X1VOSUNPREUgKnA7CiAgICAgc3RydWN0IGFycmF5ZGVzY3IgKmRlc2NyOwogCiAgICAgaWYgKFB5VHlwZV9SZWFkeSgmQXJyYXl0eXBlKSA8IDApCkBAIC0yNzU3LDEzICsyODMzLDEzIEBACiAgICAgICAgIHNpemUrKzsKICAgICB9CiAKLSAgICB0eXBlY29kZXMgPSBQeVVuaWNvZGVfRnJvbVN0cmluZ0FuZFNpemUoTlVMTCwgc2l6ZSk7Ci0gICAgcCA9IFB5VW5pY29kZV9BU19VTklDT0RFKHR5cGVjb2Rlcyk7CisgICAgcCA9IGJ1ZmZlcjsKICAgICBmb3IgKGRlc2NyID0gZGVzY3JpcHRvcnM7IGRlc2NyLT50eXBlY29kZSAhPSAnXDAnOyBkZXNjcisrKSB7CiAgICAgICAgICpwKysgPSAoY2hhcilkZXNjci0+dHlwZWNvZGU7CiAgICAgfQorICAgIHR5cGVjb2RlcyA9IFB5VW5pY29kZV9EZWNvZGVBU0NJSShidWZmZXIsIHAgLSBidWZmZXIsIE5VTEwpOwogCi0gICAgUHlNb2R1bGVfQWRkT2JqZWN0KG0sICJ0eXBlY29kZXMiLCAoUHlPYmplY3QgKil0eXBlY29kZXMpOworICAgIFB5TW9kdWxlX0FkZE9iamVjdChtLCAidHlwZWNvZGVzIiwgdHlwZWNvZGVzKTsKIAogICAgIGlmIChQeUVycl9PY2N1cnJlZCgpKSB7CiAgICAgICAgIFB5X0RFQ1JFRihtKTsKZGlmZiAtLWdpdCBhL01vZHVsZXMvYXVkaW9vcC5jIGIvTW9kdWxlcy9hdWRpb29wLmMKaW5kZXggOWFiNDgzNC4uMDM3NWU0ZSAxMDA2NDQKLS0tIGEvTW9kdWxlcy9hdWRpb29wLmMKKysrIGIvTW9kdWxlcy9hdWRpb29wLmMKQEAgLTUxMyw3ICs1MTMsNiBAQAogCiAgICAgYmVzdF9yZXN1bHQgPSByZXN1bHQ7CiAgICAgYmVzdF9qID0gMDsKLSAgICBqID0gMDsKIAogICAgIGZvciAoIGo9MTsgajw9bGVuMS1sZW4yOyBqKyspIHsKICAgICAgICAgYWpfbTEgPSAoZG91YmxlKWNwMVtqLTFdOwpAQCAtNTk5LDcgKzU5OCw2IEBACiAKICAgICBiZXN0X3Jlc3VsdCA9IHJlc3VsdDsKICAgICBiZXN0X2ogPSAwOwotICAgIGogPSAwOwogCiAgICAgZm9yICggaj0xOyBqPD1sZW4xLWxlbjI7IGorKykgewogICAgICAgICBhal9tMSA9IChkb3VibGUpY3AxW2otMV07CkBAIC0xNDMzLDcgKzE0MzEsNiBAQAogICAgIGlmICggc3RhdGUgPT0gUHlfTm9uZSApIHsKICAgICAgICAgLyogRmlyc3QgdGltZSwgaXQgc2VlbXMuIFNldCBkZWZhdWx0cyAqLwogICAgICAgICB2YWxwcmVkID0gMDsKLSAgICAgICAgc3RlcCA9IDc7CiAgICAgICAgIGluZGV4ID0gMDsKICAgICB9IGVsc2UgaWYgKCAhUHlBcmdfUGFyc2VUdXBsZShzdGF0ZSwgImlpIiwgJnZhbHByZWQsICZpbmRleCkgKQogICAgICAgICByZXR1cm4gMDsKQEAgLTE1MzQsNyArMTUzMSw2IEBACiAgICAgaWYgKCBzdGF0ZSA9PSBQeV9Ob25lICkgewogICAgICAgICAvKiBGaXJzdCB0aW1lLCBpdCBzZWVtcy4gU2V0IGRlZmF1bHRzICovCiAgICAgICAgIHZhbHByZWQgPSAwOwotICAgICAgICBzdGVwID0gNzsKICAgICAgICAgaW5kZXggPSAwOwogICAgIH0gZWxzZSBpZiAoICFQeUFyZ19QYXJzZVR1cGxlKHN0YXRlLCAiaWkiLCAmdmFscHJlZCwgJmluZGV4KSApCiAgICAgICAgIHJldHVybiAwOwpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9iaW5hc2NpaS5jIGIvTW9kdWxlcy9iaW5hc2NpaS5jCmluZGV4IDE5NjgxYjQuLmFkNWUxYjEgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvYmluYXNjaWkuYworKysgYi9Nb2R1bGVzL2JpbmFzY2lpLmMKQEAgLTE4Myw2ICsxODMsNDQgQEAKICAgICAweDZlMTcsIDB4N2UzNiwgMHg0ZTU1LCAweDVlNzQsIDB4MmU5MywgMHgzZWIyLCAweDBlZDEsIDB4MWVmMCwKIH07CiAKK3N0YXRpYyBpbnQKK2FzY2lpX2J1ZmZlcl9jb252ZXJ0ZXIoUHlPYmplY3QgKmFyZywgUHlfYnVmZmVyICpidWYpCit7CisgICAgaWYgKGFyZyA9PSBOVUxMKSB7CisgICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoYnVmKTsKKyAgICAgICAgcmV0dXJuIDE7CisgICAgfQorICAgIGlmIChQeVVuaWNvZGVfQ2hlY2soYXJnKSkgeworICAgICAgICBpZiAoUHlVbmljb2RlX1JFQURZKGFyZykgPCAwKQorICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIGlmICghUHlVbmljb2RlX0lTX0FTQ0lJKGFyZykpIHsKKyAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzdHJpbmcgYXJndW1lbnQgc2hvdWxkIGNvbnRhaW4gb25seSBBU0NJSSBjaGFyYWN0ZXJzIik7CisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgfQorICAgICAgICBhc3NlcnQoUHlVbmljb2RlX0tJTkQoYXJnKSA9PSBQeVVuaWNvZGVfMUJZVEVfS0lORCk7CisgICAgICAgIGJ1Zi0+YnVmID0gKHZvaWQgKikgUHlVbmljb2RlXzFCWVRFX0RBVEEoYXJnKTsKKyAgICAgICAgYnVmLT5sZW4gPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChhcmcpOworICAgICAgICBidWYtPm9iaiA9IE5VTEw7CisgICAgICAgIHJldHVybiAxOworICAgIH0KKyAgICBpZiAoUHlPYmplY3RfR2V0QnVmZmVyKGFyZywgYnVmLCBQeUJVRl9TSU1QTEUpICE9IDApIHsKKyAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1R5cGVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICJhcmd1bWVudCBzaG91bGQgYmUgYnl0ZXMsIGJ1ZmZlciBvciBBU0NJSSBzdHJpbmcsICIKKyAgICAgICAgICAgICAgICAgICAgICJub3QgJVIiLCBQeV9UWVBFKGFyZykpOworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisgICAgaWYgKCFQeUJ1ZmZlcl9Jc0NvbnRpZ3VvdXMoYnVmLCAnQycpKSB7CisgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAiYXJndW1lbnQgc2hvdWxkIGJlIGEgY29udGlndW91cyBidWZmZXIsICIKKyAgICAgICAgICAgICAgICAgICAgICJub3QgJVIiLCBQeV9UWVBFKGFyZykpOworICAgICAgICBQeUJ1ZmZlcl9SZWxlYXNlKGJ1Zik7CisgICAgICAgIHJldHVybiAwOworICAgIH0KKyAgICByZXR1cm4gUHlfQ0xFQU5VUF9TVVBQT1JURUQ7Cit9CisKKwogUHlEb2NfU1RSVkFSKGRvY19hMmJfdXUsICIoYXNjaWkpIC0+IGJpbi4gRGVjb2RlIGEgbGluZSBvZiB1dWVuY29kZWQgZGF0YSIpOwogCiBzdGF0aWMgUHlPYmplY3QgKgpAQCAtMTk2LDcgKzIzNCw3IEBACiAgICAgUHlPYmplY3QgKnJ2OwogICAgIFB5X3NzaXplX3QgYXNjaWlfbGVuLCBiaW5fbGVuOwogCi0gICAgaWYgKCAhUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAieSo6YTJiX3V1IiwgJnBhc2NpaSkgKQorICAgIGlmICggIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIk8mOmEyYl91dSIsIGFzY2lpX2J1ZmZlcl9jb252ZXJ0ZXIsICZwYXNjaWkpICkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgYXNjaWlfZGF0YSA9IHBhc2NpaS5idWY7CiAgICAgYXNjaWlfbGVuID0gcGFzY2lpLmxlbjsKQEAgLTM3MCw3ICs0MDgsNyBAQAogICAgIFB5X3NzaXplX3QgYXNjaWlfbGVuLCBiaW5fbGVuOwogICAgIGludCBxdWFkX3BvcyA9IDA7CiAKLSAgICBpZiAoICFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJ5KjphMmJfYmFzZTY0IiwgJnBhc2NpaSkgKQorICAgIGlmICggIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIk8mOmEyYl9iYXNlNjQiLCBhc2NpaV9idWZmZXJfY29udmVydGVyLCAmcGFzY2lpKSApCiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIGFzY2lpX2RhdGEgPSBwYXNjaWkuYnVmOwogICAgIGFzY2lpX2xlbiA9IHBhc2NpaS5sZW47CkBAIC01NDYsNyArNTg0LDcgQEAKICAgICBQeV9zc2l6ZV90IGxlbjsKICAgICBpbnQgZG9uZSA9IDA7CiAKLSAgICBpZiAoICFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJ5KjphMmJfaHF4IiwgJnBhc2NpaSkgKQorICAgIGlmICggIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIk8mOmEyYl9ocXgiLCBhc2NpaV9idWZmZXJfY29udmVydGVyLCAmcGFzY2lpKSApCiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIGFzY2lpX2RhdGEgPSBwYXNjaWkuYnVmOwogICAgIGxlbiA9IHBhc2NpaS5sZW47CkBAIC0xMDc4LDEzICsxMTE2LDExIEBACiAKICAgICAvKiBtYWtlIGhleCB2ZXJzaW9uIG9mIHN0cmluZywgdGFrZW4gZnJvbSBzaGFtb2R1bGUuYyAqLwogICAgIGZvciAoaT1qPTA7IGkgPCBhcmdsZW47IGkrKykgewotICAgICAgICBjaGFyIGM7CisgICAgICAgIHVuc2lnbmVkIGNoYXIgYzsKICAgICAgICAgYyA9IChhcmdidWZbaV0gPj4gNCkgJiAweGY7Ci0gICAgICAgIGMgPSAoYz45KSA/IGMrJ2EnLTEwIDogYyArICcwJzsKLSAgICAgICAgcmV0YnVmW2orK10gPSBjOworICAgICAgICByZXRidWZbaisrXSA9IFB5X2hleGRpZ2l0c1tjXTsKICAgICAgICAgYyA9IGFyZ2J1ZltpXSAmIDB4ZjsKLSAgICAgICAgYyA9IChjPjkpID8gYysnYSctMTAgOiBjICsgJzAnOwotICAgICAgICByZXRidWZbaisrXSA9IGM7CisgICAgICAgIHJldGJ1ZltqKytdID0gUHlfaGV4ZGlnaXRzW2NdOwogICAgIH0KICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZwYXJnKTsKICAgICByZXR1cm4gcmV0dmFsOwpAQCAtMTEyMSw3ICsxMTU3LDcgQEAKICAgICBjaGFyKiByZXRidWY7CiAgICAgUHlfc3NpemVfdCBpLCBqOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJ5KjphMmJfaGV4IiwgJnBhcmcpKQorICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiTyY6YTJiX2hleCIsIGFzY2lpX2J1ZmZlcl9jb252ZXJ0ZXIsICZwYXJnKSkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgYXJnYnVmID0gcGFyZy5idWY7CiAgICAgYXJnbGVuID0gcGFyZy5sZW47CkBAIC0xMTk5LDggKzEyMzUsOCBAQAogICAgIHN0YXRpYyBjaGFyICprd2xpc3RbXSA9IHsiZGF0YSIsICJoZWFkZXIiLCBOVUxMfTsKICAgICBpbnQgaGVhZGVyID0gMDsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywgInkqfGkiLCBrd2xpc3QsICZwZGF0YSwKLSAgICAgICAgICAmaGVhZGVyKSkKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsICJPJnxpOmEyYl9xcCIsIGt3bGlzdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhc2NpaV9idWZmZXJfY29udmVydGVyLCAmcGRhdGEsICZoZWFkZXIpKQogICAgICAgICByZXR1cm4gTlVMTDsKICAgICBkYXRhID0gcGRhdGEuYnVmOwogICAgIGRhdGFsZW4gPSBwZGF0YS5sZW47CmRpZmYgLS1naXQgYS9Nb2R1bGVzL2J6Mm1vZHVsZS5jIGIvTW9kdWxlcy9iejJtb2R1bGUuYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTY3MWU4ZC4uMDAwMDAwMAotLS0gYS9Nb2R1bGVzL2J6Mm1vZHVsZS5jCisrKyAvZGV2L251bGwKQEAgLTEsMjE2OSArMCwwIEBACi0vKgotCi1weXRob24tYnoyIC0gcHl0aG9uIGJ6MiBsaWJyYXJ5IGludGVyZmFjZQotCi1Db3B5cmlnaHQgKGMpIDIwMDIgIEd1c3Rhdm8gTmllbWV5ZXIgPG5pZW1leWVyQGNvbmVjdGl2YS5jb20+Ci1Db3B5cmlnaHQgKGMpIDIwMDIgIFB5dGhvbiBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBBbGwgUmlnaHRzIFJlc2VydmVkCi0KLSovCi0KLSNpbmNsdWRlICJQeXRob24uaCIKLSNpbmNsdWRlIDxzdGRpby5oPgotI2luY2x1ZGUgPGJ6bGliLmg+Ci0jaW5jbHVkZSAic3RydWN0bWVtYmVyLmgiCi0KLSNpZmRlZiBXSVRIX1RIUkVBRAotI2luY2x1ZGUgInB5dGhyZWFkLmgiCi0jZW5kaWYKLQotc3RhdGljIGNoYXIgX19hdXRob3JfX1tdID0KLSJUaGUgYnoyIHB5dGhvbiBtb2R1bGUgd2FzIHdyaXR0ZW4gYnk6XG5cCi1cblwKLSAgICBHdXN0YXZvIE5pZW1leWVyIDxuaWVtZXllckBjb25lY3RpdmEuY29tPlxuXAotIjsKLQotLyogT3VyIHZlcnkgb3duIG9mZl90LWxpa2UgdHlwZSwgNjQtYml0IGlmIHBvc3NpYmxlICovCi0vKiBjb3BpZWQgZnJvbSBPYmplY3RzL2ZpbGVvYmplY3QuYyAqLwotI2lmICFkZWZpbmVkKEhBVkVfTEFSR0VGSUxFX1NVUFBPUlQpCi10eXBlZGVmIG9mZl90IFB5X29mZl90OwotI2VsaWYgU0laRU9GX09GRl9UID49IDgKLXR5cGVkZWYgb2ZmX3QgUHlfb2ZmX3Q7Ci0jZWxpZiBTSVpFT0ZfRlBPU19UID49IDgKLXR5cGVkZWYgZnBvc190IFB5X29mZl90OwotI2Vsc2UKLSNlcnJvciAiTGFyZ2UgZmlsZSBzdXBwb3J0LCBidXQgbmVpdGhlciBvZmZfdCBub3IgZnBvc190IGlzIGxhcmdlIGVub3VnaC4iCi0jZW5kaWYKLQotI2RlZmluZSBCVUYodikgUHlCeXRlc19BU19TVFJJTkcodikKLQotI2RlZmluZSBNT0RFX0NMT1NFRCAgIDAKLSNkZWZpbmUgTU9ERV9SRUFEICAgICAxCi0jZGVmaW5lIE1PREVfUkVBRF9FT0YgMgotI2RlZmluZSBNT0RFX1dSSVRFICAgIDMKLQotI2RlZmluZSBCWjJGaWxlT2JqZWN0X0NoZWNrKHYpICAoUHlfVFlQRSh2KSA9PSAmQloyRmlsZV9UeXBlKQotCi0KLSNpZmRlZiBCWl9DT05GSUdfRVJST1IKLQotI2lmIFNJWkVPRl9MT05HID49IDgKLSNkZWZpbmUgQlpTX1RPVEFMX09VVChienMpIFwKLSAgICAoKChsb25nKWJ6cy0+dG90YWxfb3V0X2hpMzIgPDwgMzIpICsgYnpzLT50b3RhbF9vdXRfbG8zMikKLSNlbGlmIFNJWkVPRl9MT05HX0xPTkcgPj0gOAotI2RlZmluZSBCWlNfVE9UQUxfT1VUKGJ6cykgXAotICAgICgoKFBZX0xPTkdfTE9ORylienMtPnRvdGFsX291dF9oaTMyIDw8IDMyKSArIGJ6cy0+dG90YWxfb3V0X2xvMzIpCi0jZWxzZQotI2RlZmluZSBCWlNfVE9UQUxfT1VUKGJ6cykgXAotICAgIGJ6cy0+dG90YWxfb3V0X2xvMzIKLSNlbmRpZgotCi0jZWxzZSAvKiAhIEJaX0NPTkZJR19FUlJPUiAqLwotCi0jZGVmaW5lIEJaMl9ielJlYWQgYnpSZWFkCi0jZGVmaW5lIEJaMl9ielJlYWRPcGVuIGJ6UmVhZE9wZW4KLSNkZWZpbmUgQloyX2J6UmVhZENsb3NlIGJ6UmVhZENsb3NlCi0jZGVmaW5lIEJaMl9ieldyaXRlIGJ6V3JpdGUKLSNkZWZpbmUgQloyX2J6V3JpdGVPcGVuIGJ6V3JpdGVPcGVuCi0jZGVmaW5lIEJaMl9ieldyaXRlQ2xvc2UgYnpXcml0ZUNsb3NlCi0jZGVmaW5lIEJaMl9iekNvbXByZXNzIGJ6Q29tcHJlc3MKLSNkZWZpbmUgQloyX2J6Q29tcHJlc3NJbml0IGJ6Q29tcHJlc3NJbml0Ci0jZGVmaW5lIEJaMl9iekNvbXByZXNzRW5kIGJ6Q29tcHJlc3NFbmQKLSNkZWZpbmUgQloyX2J6RGVjb21wcmVzcyBiekRlY29tcHJlc3MKLSNkZWZpbmUgQloyX2J6RGVjb21wcmVzc0luaXQgYnpEZWNvbXByZXNzSW5pdAotI2RlZmluZSBCWjJfYnpEZWNvbXByZXNzRW5kIGJ6RGVjb21wcmVzc0VuZAotCi0jZGVmaW5lIEJaU19UT1RBTF9PVVQoYnpzKSBienMtPnRvdGFsX291dAotCi0jZW5kaWYgLyogISBCWl9DT05GSUdfRVJST1IgKi8KLQotCi0jaWZkZWYgV0lUSF9USFJFQUQKLSNkZWZpbmUgQUNRVUlSRV9MT0NLKG9iaikgZG8geyBcCi0gICAgaWYgKCFQeVRocmVhZF9hY3F1aXJlX2xvY2sob2JqLT5sb2NrLCAwKSkgeyBcCi0gICAgICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMgXAotICAgICAgICBQeVRocmVhZF9hY3F1aXJlX2xvY2sob2JqLT5sb2NrLCAxKTsgXAotICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUyBcCi0gICAgfSB9IHdoaWxlKDApCi0jZGVmaW5lIFJFTEVBU0VfTE9DSyhvYmopIFB5VGhyZWFkX3JlbGVhc2VfbG9jayhvYmotPmxvY2spCi0jZWxzZQotI2RlZmluZSBBQ1FVSVJFX0xPQ0sob2JqKQotI2RlZmluZSBSRUxFQVNFX0xPQ0sob2JqKQotI2VuZGlmCi0KLS8qIEJpdHMgaW4gZl9uZXdsaW5ldHlwZXMgKi8KLSNkZWZpbmUgTkVXTElORV9VTktOT1dOIDAgICAgICAgLyogTm8gbmV3bGluZSBzZWVuLCB5ZXQgKi8KLSNkZWZpbmUgTkVXTElORV9DUiAxICAgICAgICAgICAgLyogXHIgbmV3bGluZSBzZWVuICovCi0jZGVmaW5lIE5FV0xJTkVfTEYgMiAgICAgICAgICAgIC8qIFxuIG5ld2xpbmUgc2VlbiAqLwotI2RlZmluZSBORVdMSU5FX0NSTEYgNCAgICAgICAgICAvKiBcclxuIG5ld2xpbmUgc2VlbiAqLwotCi0vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KLS8qIFN0cnVjdHVyZSBkZWZpbml0aW9ucy4gKi8KLQotdHlwZWRlZiBzdHJ1Y3QgewotICAgIFB5T2JqZWN0X0hFQUQKLSAgICBGSUxFICpyYXdmcDsKLQotICAgIGNoYXIqIGZfYnVmOyAgICAgICAgICAgICAgICAvKiBBbGxvY2F0ZWQgcmVhZGFoZWFkIGJ1ZmZlciAqLwotICAgIGNoYXIqIGZfYnVmZW5kOyAgICAgICAgICAgICAvKiBQb2ludHMgYWZ0ZXIgbGFzdCBvY2N1cGllZCBwb3NpdGlvbiAqLwotICAgIGNoYXIqIGZfYnVmcHRyOyAgICAgICAgICAgICAvKiBDdXJyZW50IGJ1ZmZlciBwb3NpdGlvbiAqLwotCi0gICAgQlpGSUxFICpmcDsKLSAgICBpbnQgbW9kZTsKLSAgICBQeV9vZmZfdCBwb3M7Ci0gICAgUHlfb2ZmX3Qgc2l6ZTsKLSNpZmRlZiBXSVRIX1RIUkVBRAotICAgIFB5VGhyZWFkX3R5cGVfbG9jayBsb2NrOwotI2VuZGlmCi19IEJaMkZpbGVPYmplY3Q7Ci0KLXR5cGVkZWYgc3RydWN0IHsKLSAgICBQeU9iamVjdF9IRUFECi0gICAgYnpfc3RyZWFtIGJ6czsKLSAgICBpbnQgcnVubmluZzsKLSNpZmRlZiBXSVRIX1RIUkVBRAotICAgIFB5VGhyZWFkX3R5cGVfbG9jayBsb2NrOwotI2VuZGlmCi19IEJaMkNvbXBPYmplY3Q7Ci0KLXR5cGVkZWYgc3RydWN0IHsKLSAgICBQeU9iamVjdF9IRUFECi0gICAgYnpfc3RyZWFtIGJ6czsKLSAgICBpbnQgcnVubmluZzsKLSAgICBQeU9iamVjdCAqdW51c2VkX2RhdGE7Ci0jaWZkZWYgV0lUSF9USFJFQUQKLSAgICBQeVRocmVhZF90eXBlX2xvY2sgbG9jazsKLSNlbmRpZgotfSBCWjJEZWNvbXBPYmplY3Q7Ci0KLS8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwotLyogVXRpbGl0eSBmdW5jdGlvbnMuICovCi0KLS8qIFJlZnVzZSByZWd1bGFyIEkvTyBpZiB0aGVyZSdzIGRhdGEgaW4gdGhlIGl0ZXJhdGlvbi1idWZmZXIuCi0gKiBNaXhpbmcgdGhlbSB3b3VsZCBjYXVzZSBkYXRhIHRvIGFycml2ZSBvdXQgb2Ygb3JkZXIsIGFzIHRoZSByZWFkKgotICogbWV0aG9kcyBkb24ndCB1c2UgdGhlIGl0ZXJhdGlvbiBidWZmZXIuICovCi1zdGF0aWMgaW50Ci1jaGVja19pdGVyYnVmZmVyZWQoQloyRmlsZU9iamVjdCAqZikKLXsKLSAgICBpZiAoZi0+Zl9idWYgIT0gTlVMTCAmJgotICAgICAgICAoZi0+Zl9idWZlbmQgLSBmLT5mX2J1ZnB0cikgPiAwICYmCi0gICAgICAgIGYtPmZfYnVmWzBdICE9ICdcMCcpIHsKLSAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsCi0gICAgICAgICAgICAiTWl4aW5nIGl0ZXJhdGlvbiBhbmQgcmVhZCBtZXRob2RzIHdvdWxkIGxvc2UgZGF0YSIpOwotICAgICAgICByZXR1cm4gLTE7Ci0gICAgfQotICAgIHJldHVybiAwOwotfQotCi1zdGF0aWMgaW50Ci1VdGlsX0NhdGNoQloyRXJyb3IoaW50IGJ6ZXJyb3IpCi17Ci0gICAgaW50IHJldCA9IDA7Ci0gICAgc3dpdGNoKGJ6ZXJyb3IpIHsKLSAgICAgICAgY2FzZSBCWl9PSzoKLSAgICAgICAgY2FzZSBCWl9TVFJFQU1fRU5EOgotICAgICAgICAgICAgYnJlYWs7Ci0KLSNpZmRlZiBCWl9DT05GSUdfRVJST1IKLSAgICAgICAgY2FzZSBCWl9DT05GSUdfRVJST1I6Ci0gICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfU3lzdGVtRXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInRoZSBiejIgbGlicmFyeSB3YXMgbm90IGNvbXBpbGVkICIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29ycmVjdGx5Iik7Ci0gICAgICAgICAgICByZXQgPSAxOwotICAgICAgICAgICAgYnJlYWs7Ci0jZW5kaWYKLQotICAgICAgICBjYXNlIEJaX1BBUkFNX0VSUk9SOgotICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInRoZSBiejIgbGlicmFyeSBoYXMgcmVjZWl2ZWQgd3JvbmcgIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwYXJhbWV0ZXJzIik7Ci0gICAgICAgICAgICByZXQgPSAxOwotICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgY2FzZSBCWl9NRU1fRVJST1I6Ci0gICAgICAgICAgICBQeUVycl9Ob01lbW9yeSgpOwotICAgICAgICAgICAgcmV0ID0gMTsKLSAgICAgICAgICAgIGJyZWFrOwotCi0gICAgICAgIGNhc2UgQlpfREFUQV9FUlJPUjoKLSAgICAgICAgY2FzZSBCWl9EQVRBX0VSUk9SX01BR0lDOgotICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX0lPRXJyb3IsICJpbnZhbGlkIGRhdGEgc3RyZWFtIik7Ci0gICAgICAgICAgICByZXQgPSAxOwotICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgY2FzZSBCWl9JT19FUlJPUjoKLSAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19JT0Vycm9yLCAidW5rbm93biBJTyBlcnJvciIpOwotICAgICAgICAgICAgcmV0ID0gMTsKLSAgICAgICAgICAgIGJyZWFrOwotCi0gICAgICAgIGNhc2UgQlpfVU5FWFBFQ1RFRF9FT0Y6Ci0gICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfRU9GRXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvbXByZXNzZWQgZmlsZSBlbmRlZCBiZWZvcmUgdGhlICIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9naWNhbCBlbmQtb2Ytc3RyZWFtIHdhcyBkZXRlY3RlZCIpOwotICAgICAgICAgICAgcmV0ID0gMTsKLSAgICAgICAgICAgIGJyZWFrOwotCi0gICAgICAgIGNhc2UgQlpfU0VRVUVOQ0VfRVJST1I6Ci0gICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfUnVudGltZUVycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ3cm9uZyBzZXF1ZW5jZSBvZiBiejIgbGlicmFyeSAiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvbW1hbmRzIHVzZWQiKTsKLSAgICAgICAgICAgIHJldCA9IDE7Ci0gICAgICAgICAgICBicmVhazsKLSAgICB9Ci0gICAgcmV0dXJuIHJldDsKLX0KLQotI2lmIEJVRlNJWiA8IDgxOTIKLSNkZWZpbmUgU01BTExDSFVOSyA4MTkyCi0jZWxzZQotI2RlZmluZSBTTUFMTENIVU5LIEJVRlNJWgotI2VuZGlmCi0KLS8qIFRoaXMgaXMgYSBoYWNrZWQgdmVyc2lvbiBvZiBQeXRob24ncyBmaWxlb2JqZWN0LmM6bmV3X2J1ZmZlcnNpemUoKS4gKi8KLXN0YXRpYyBzaXplX3QKLVV0aWxfTmV3QnVmZmVyU2l6ZShzaXplX3QgY3VycmVudHNpemUpCi17Ci0gICAgLyogRXhwYW5kIHRoZSBidWZmZXIgYnkgYW4gYW1vdW50IHByb3BvcnRpb25hbCB0byB0aGUgY3VycmVudCBzaXplLAotICAgICAgIGdpdmluZyB1cyBhbW9ydGl6ZWQgbGluZWFyLXRpbWUgYmVoYXZpb3IuIFVzZSBhIGxlc3MtdGhhbi1kb3VibGUKLSAgICAgICBncm93dGggZmFjdG9yIHRvIGF2b2lkIGV4Y2Vzc2l2ZSBhbGxvY2F0aW9uLiAqLwotICAgIHJldHVybiBjdXJyZW50c2l6ZSArIChjdXJyZW50c2l6ZSA+PiAzKSArIDY7Ci19Ci0KLS8qIFRoaXMgaXMgYSBoYWNrZWQgdmVyc2lvbiBvZiBQeXRob24ncyBmaWxlb2JqZWN0LmM6Z2V0X2xpbmUoKS4gKi8KLXN0YXRpYyBQeU9iamVjdCAqCi1VdGlsX0dldExpbmUoQloyRmlsZU9iamVjdCAqZiwgaW50IG4pCi17Ci0gICAgY2hhciBjOwotICAgIGNoYXIgKmJ1ZiwgKmVuZDsKLSAgICBzaXplX3QgdG90YWxfdl9zaXplOyAgICAgICAgLyogdG90YWwgIyBvZiBzbG90cyBpbiBidWZmZXIgKi8KLSAgICBzaXplX3QgdXNlZF92X3NpemU7ICAgICAgICAgLyogIyB1c2VkIHNsb3RzIGluIGJ1ZmZlciAqLwotICAgIHNpemVfdCBpbmNyZW1lbnQ7ICAgICAgIC8qIGFtb3VudCB0byBpbmNyZW1lbnQgdGhlIGJ1ZmZlciAqLwotICAgIFB5T2JqZWN0ICp2OwotICAgIGludCBiemVycm9yOwotICAgIGludCBieXRlc19yZWFkOwotCi0gICAgdG90YWxfdl9zaXplID0gbiA+IDAgPyBuIDogMTAwOwotICAgIHYgPSBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplKChjaGFyICopTlVMTCwgdG90YWxfdl9zaXplKTsKLSAgICBpZiAodiA9PSBOVUxMKQotICAgICAgICByZXR1cm4gTlVMTDsKLQotICAgIGJ1ZiA9IEJVRih2KTsKLSAgICBlbmQgPSBidWYgKyB0b3RhbF92X3NpemU7Ci0KLSAgICBmb3IgKDs7KSB7Ci0gICAgICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKLSAgICAgICAgZG8gewotICAgICAgICAgICAgYnl0ZXNfcmVhZCA9IEJaMl9ielJlYWQoJmJ6ZXJyb3IsIGYtPmZwLCAmYywgMSk7Ci0gICAgICAgICAgICBmLT5wb3MrKzsKLSAgICAgICAgICAgIGlmIChieXRlc19yZWFkID09IDApCi0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAqYnVmKysgPSBjOwotICAgICAgICB9IHdoaWxlIChiemVycm9yID09IEJaX09LICYmIGMgIT0gJ1xuJyAmJiBidWYgIT0gZW5kKTsKLSAgICAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKLSAgICAgICAgaWYgKGJ6ZXJyb3IgPT0gQlpfU1RSRUFNX0VORCkgewotICAgICAgICAgICAgZi0+c2l6ZSA9IGYtPnBvczsKLSAgICAgICAgICAgIGYtPm1vZGUgPSBNT0RFX1JFQURfRU9GOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0gZWxzZSBpZiAoYnplcnJvciAhPSBCWl9PSykgewotICAgICAgICAgICAgVXRpbF9DYXRjaEJaMkVycm9yKGJ6ZXJyb3IpOwotICAgICAgICAgICAgUHlfREVDUkVGKHYpOwotICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKGMgPT0gJ1xuJykKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAvKiBNdXN0IGJlIGJlY2F1c2UgYnVmID09IGVuZCAqLwotICAgICAgICBpZiAobiA+IDApCi0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgdXNlZF92X3NpemUgPSB0b3RhbF92X3NpemU7Ci0gICAgICAgIGluY3JlbWVudCA9IHRvdGFsX3Zfc2l6ZSA+PiAyOyAvKiBtaWxkIGV4cG9uZW50aWFsIGdyb3d0aCAqLwotICAgICAgICB0b3RhbF92X3NpemUgKz0gaW5jcmVtZW50OwotICAgICAgICBpZiAodG90YWxfdl9zaXplID4gSU5UX01BWCkgewotICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX092ZXJmbG93RXJyb3IsCi0gICAgICAgICAgICAgICAgImxpbmUgaXMgbG9uZ2VyIHRoYW4gYSBQeXRob24gc3RyaW5nIGNhbiBob2xkIik7Ci0gICAgICAgICAgICBQeV9ERUNSRUYodik7Ci0gICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgfQotICAgICAgICBpZiAoX1B5Qnl0ZXNfUmVzaXplKCZ2LCB0b3RhbF92X3NpemUpIDwgMCkgewotICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgIH0KLSAgICAgICAgYnVmID0gQlVGKHYpICsgdXNlZF92X3NpemU7Ci0gICAgICAgIGVuZCA9IEJVRih2KSArIHRvdGFsX3Zfc2l6ZTsKLSAgICB9Ci0KLSAgICB1c2VkX3Zfc2l6ZSA9IGJ1ZiAtIEJVRih2KTsKLSAgICBpZiAodXNlZF92X3NpemUgIT0gdG90YWxfdl9zaXplKSB7Ci0gICAgICAgIGlmIChfUHlCeXRlc19SZXNpemUoJnYsIHVzZWRfdl9zaXplKSA8IDApIHsKLSAgICAgICAgICAgIHYgPSBOVUxMOwotICAgICAgICB9Ci0gICAgfQotICAgIHJldHVybiB2OwotfQotCi0vKiBUaGlzIGlzIGEgaGFja2VkIHZlcnNpb24gb2YgUHl0aG9uJ3MgZmlsZW9iamVjdC5jOmRyb3BfcmVhZGFoZWFkKCkuICovCi1zdGF0aWMgdm9pZAotVXRpbF9Ecm9wUmVhZEFoZWFkKEJaMkZpbGVPYmplY3QgKmYpCi17Ci0gICAgaWYgKGYtPmZfYnVmICE9IE5VTEwpIHsKLSAgICAgICAgUHlNZW1fRnJlZShmLT5mX2J1Zik7Ci0gICAgICAgIGYtPmZfYnVmID0gTlVMTDsKLSAgICB9Ci19Ci0KLS8qIFRoaXMgaXMgYSBoYWNrZWQgdmVyc2lvbiBvZiBQeXRob24ncyBmaWxlb2JqZWN0LmM6cmVhZGFoZWFkKCkuICovCi1zdGF0aWMgaW50Ci1VdGlsX1JlYWRBaGVhZChCWjJGaWxlT2JqZWN0ICpmLCBpbnQgYnVmc2l6ZSkKLXsKLSAgICBpbnQgY2h1bmtzaXplOwotICAgIGludCBiemVycm9yOwotCi0gICAgaWYgKGYtPmZfYnVmICE9IE5VTEwpIHsKLSAgICAgICAgaWYoKGYtPmZfYnVmZW5kIC0gZi0+Zl9idWZwdHIpID49IDEpCi0gICAgICAgICAgICByZXR1cm4gMDsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgVXRpbF9Ecm9wUmVhZEFoZWFkKGYpOwotICAgIH0KLSAgICBpZiAoZi0+bW9kZSA9PSBNT0RFX1JFQURfRU9GKSB7Ci0gICAgICAgIGYtPmZfYnVmcHRyID0gZi0+Zl9idWY7Ci0gICAgICAgIGYtPmZfYnVmZW5kID0gZi0+Zl9idWY7Ci0gICAgICAgIHJldHVybiAwOwotICAgIH0KLSAgICBpZiAoKGYtPmZfYnVmID0gUHlNZW1fTWFsbG9jKGJ1ZnNpemUpKSA9PSBOVUxMKSB7Ci0gICAgICAgIFB5RXJyX05vTWVtb3J5KCk7Ci0gICAgICAgIHJldHVybiAtMTsKLSAgICB9Ci0gICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgIGNodW5rc2l6ZSA9IEJaMl9ielJlYWQoJmJ6ZXJyb3IsIGYtPmZwLCBmLT5mX2J1ZiwgYnVmc2l6ZSk7Ci0gICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKLSAgICBmLT5wb3MgKz0gY2h1bmtzaXplOwotICAgIGlmIChiemVycm9yID09IEJaX1NUUkVBTV9FTkQpIHsKLSAgICAgICAgZi0+c2l6ZSA9IGYtPnBvczsKLSAgICAgICAgZi0+bW9kZSA9IE1PREVfUkVBRF9FT0Y7Ci0gICAgfSBlbHNlIGlmIChiemVycm9yICE9IEJaX09LKSB7Ci0gICAgICAgIFV0aWxfQ2F0Y2hCWjJFcnJvcihiemVycm9yKTsKLSAgICAgICAgVXRpbF9Ecm9wUmVhZEFoZWFkKGYpOwotICAgICAgICByZXR1cm4gLTE7Ci0gICAgfQotICAgIGYtPmZfYnVmcHRyID0gZi0+Zl9idWY7Ci0gICAgZi0+Zl9idWZlbmQgPSBmLT5mX2J1ZiArIGNodW5rc2l6ZTsKLSAgICByZXR1cm4gMDsKLX0KLQotLyogVGhpcyBpcyBhIGhhY2tlZCB2ZXJzaW9uIG9mIFB5dGhvbidzCi0gKiBmaWxlb2JqZWN0LmM6cmVhZGFoZWFkX2dldF9saW5lX3NraXAoKS4gKi8KLXN0YXRpYyBQeUJ5dGVzT2JqZWN0ICoKLVV0aWxfUmVhZEFoZWFkR2V0TGluZVNraXAoQloyRmlsZU9iamVjdCAqZiwgaW50IHNraXAsIGludCBidWZzaXplKQotewotICAgIFB5Qnl0ZXNPYmplY3QqIHM7Ci0gICAgY2hhciAqYnVmcHRyOwotICAgIGNoYXIgKmJ1ZjsKLSAgICBpbnQgbGVuOwotCi0gICAgaWYgKGYtPmZfYnVmID09IE5VTEwpCi0gICAgICAgIGlmIChVdGlsX1JlYWRBaGVhZChmLCBidWZzaXplKSA8IDApCi0gICAgICAgICAgICByZXR1cm4gTlVMTDsKLQotICAgIGxlbiA9IGYtPmZfYnVmZW5kIC0gZi0+Zl9idWZwdHI7Ci0gICAgaWYgKGxlbiA9PSAwKQotICAgICAgICByZXR1cm4gKFB5Qnl0ZXNPYmplY3QgKikKLSAgICAgICAgICAgIFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUoTlVMTCwgc2tpcCk7Ci0gICAgYnVmcHRyID0gbWVtY2hyKGYtPmZfYnVmcHRyLCAnXG4nLCBsZW4pOwotICAgIGlmIChidWZwdHIgIT0gTlVMTCkgewotICAgICAgICBidWZwdHIrKzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogQ291bnQgdGhlICdcbicgKi8KLSAgICAgICAgbGVuID0gYnVmcHRyIC0gZi0+Zl9idWZwdHI7Ci0gICAgICAgIHMgPSAoUHlCeXRlc09iamVjdCAqKQotICAgICAgICAgICAgUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZShOVUxMLCBza2lwK2xlbik7Ci0gICAgICAgIGlmIChzID09IE5VTEwpCi0gICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgbWVtY3B5KFB5Qnl0ZXNfQVNfU1RSSU5HKHMpK3NraXAsIGYtPmZfYnVmcHRyLCBsZW4pOwotICAgICAgICBmLT5mX2J1ZnB0ciA9IGJ1ZnB0cjsKLSAgICAgICAgaWYgKGJ1ZnB0ciA9PSBmLT5mX2J1ZmVuZCkKLSAgICAgICAgICAgIFV0aWxfRHJvcFJlYWRBaGVhZChmKTsKLSAgICB9IGVsc2UgewotICAgICAgICBidWZwdHIgPSBmLT5mX2J1ZnB0cjsKLSAgICAgICAgYnVmID0gZi0+Zl9idWY7Ci0gICAgICAgIGYtPmZfYnVmID0gTlVMTDsgICAgICAgICAgICAgICAgLyogRm9yY2UgbmV3IHJlYWRhaGVhZCBidWZmZXIgKi8KLSAgICAgICAgcyA9IFV0aWxfUmVhZEFoZWFkR2V0TGluZVNraXAoZiwgc2tpcCtsZW4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1ZnNpemUgKyAoYnVmc2l6ZT4+MikpOwotICAgICAgICBpZiAocyA9PSBOVUxMKSB7Ci0gICAgICAgICAgICBQeU1lbV9GcmVlKGJ1Zik7Ci0gICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgfQotICAgICAgICBtZW1jcHkoUHlCeXRlc19BU19TVFJJTkcocykrc2tpcCwgYnVmcHRyLCBsZW4pOwotICAgICAgICBQeU1lbV9GcmVlKGJ1Zik7Ci0gICAgfQotICAgIHJldHVybiBzOwotfQotCi0vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KLS8qIE1ldGhvZHMgb2YgQloyRmlsZS4gKi8KLQotUHlEb2NfU1RSVkFSKEJaMkZpbGVfcmVhZF9fZG9jX18sCi0icmVhZChbc2l6ZV0pIC0+IHN0cmluZ1xuXAotXG5cCi1SZWFkIGF0IG1vc3Qgc2l6ZSB1bmNvbXByZXNzZWQgYnl0ZXMsIHJldHVybmVkIGFzIGEgc3RyaW5nLiBJZiB0aGUgc2l6ZVxuXAotYXJndW1lbnQgaXMgbmVnYXRpdmUgb3Igb21pdHRlZCwgcmVhZCB1bnRpbCBFT0YgaXMgcmVhY2hlZC5cblwKLSIpOwotCi0vKiBUaGlzIGlzIGEgaGFja2VkIHZlcnNpb24gb2YgUHl0aG9uJ3MgZmlsZW9iamVjdC5jOmZpbGVfcmVhZCgpLiAqLwotc3RhdGljIFB5T2JqZWN0ICoKLUJaMkZpbGVfcmVhZChCWjJGaWxlT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKLXsKLSAgICBsb25nIGJ5dGVzcmVxdWVzdGVkID0gLTE7Ci0gICAgc2l6ZV90IGJ5dGVzcmVhZCwgYnVmZmVyc2l6ZSwgY2h1bmtzaXplOwotICAgIGludCBiemVycm9yOwotICAgIFB5T2JqZWN0ICpyZXQgPSBOVUxMOwotCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJ8bDpyZWFkIiwgJmJ5dGVzcmVxdWVzdGVkKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0KLSAgICBBQ1FVSVJFX0xPQ0soc2VsZik7Ci0gICAgc3dpdGNoIChzZWxmLT5tb2RlKSB7Ci0gICAgICAgIGNhc2UgTU9ERV9SRUFEOgotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgTU9ERV9SRUFEX0VPRjoKLSAgICAgICAgICAgIHJldCA9IFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUoIiIsIDApOwotICAgICAgICAgICAgZ290byBjbGVhbnVwOwotICAgICAgICBjYXNlIE1PREVfQ0xPU0VEOgotICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIkkvTyBvcGVyYXRpb24gb24gY2xvc2VkIGZpbGUiKTsKLSAgICAgICAgICAgIGdvdG8gY2xlYW51cDsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19JT0Vycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJmaWxlIGlzIG5vdCByZWFkeSBmb3IgcmVhZGluZyIpOwotICAgICAgICAgICAgZ290byBjbGVhbnVwOwotICAgIH0KLQotICAgIC8qIHJlZnVzZSB0byBtaXggd2l0aCBmLm5leHQoKSAqLwotICAgIGlmIChjaGVja19pdGVyYnVmZmVyZWQoc2VsZikpCi0gICAgICAgIGdvdG8gY2xlYW51cDsKLQotICAgIGlmIChieXRlc3JlcXVlc3RlZCA8IDApCi0gICAgICAgIGJ1ZmZlcnNpemUgPSBVdGlsX05ld0J1ZmZlclNpemUoKHNpemVfdCkwKTsKLSAgICBlbHNlCi0gICAgICAgIGJ1ZmZlcnNpemUgPSBieXRlc3JlcXVlc3RlZDsKLSAgICBpZiAoYnVmZmVyc2l6ZSA+IElOVF9NQVgpIHsKLSAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX092ZXJmbG93RXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAgICAicmVxdWVzdGVkIG51bWJlciBvZiBieXRlcyBpcyAiCi0gICAgICAgICAgICAgICAgICAgICAgICAibW9yZSB0aGFuIGEgUHl0aG9uIHN0cmluZyBjYW4gaG9sZCIpOwotICAgICAgICBnb3RvIGNsZWFudXA7Ci0gICAgfQotICAgIHJldCA9IFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUoKGNoYXIgKilOVUxMLCBidWZmZXJzaXplKTsKLSAgICBpZiAocmV0ID09IE5VTEwgfHwgYnVmZmVyc2l6ZSA9PSAwKQotICAgICAgICBnb3RvIGNsZWFudXA7Ci0gICAgYnl0ZXNyZWFkID0gMDsKLQotICAgIGZvciAoOzspIHsKLSAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgICAgICBjaHVua3NpemUgPSBCWjJfYnpSZWFkKCZiemVycm9yLCBzZWxmLT5mcCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCVUYocmV0KStieXRlc3JlYWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVmZmVyc2l6ZS1ieXRlc3JlYWQpOwotICAgICAgICBzZWxmLT5wb3MgKz0gY2h1bmtzaXplOwotICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwotICAgICAgICBieXRlc3JlYWQgKz0gY2h1bmtzaXplOwotICAgICAgICBpZiAoYnplcnJvciA9PSBCWl9TVFJFQU1fRU5EKSB7Ci0gICAgICAgICAgICBzZWxmLT5zaXplID0gc2VsZi0+cG9zOwotICAgICAgICAgICAgc2VsZi0+bW9kZSA9IE1PREVfUkVBRF9FT0Y7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfSBlbHNlIGlmIChiemVycm9yICE9IEJaX09LKSB7Ci0gICAgICAgICAgICBVdGlsX0NhdGNoQloyRXJyb3IoYnplcnJvcik7Ci0gICAgICAgICAgICBQeV9ERUNSRUYocmV0KTsKLSAgICAgICAgICAgIHJldCA9IE5VTEw7Ci0gICAgICAgICAgICBnb3RvIGNsZWFudXA7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKGJ5dGVzcmVxdWVzdGVkIDwgMCkgewotICAgICAgICAgICAgYnVmZmVyc2l6ZSA9IFV0aWxfTmV3QnVmZmVyU2l6ZShidWZmZXJzaXplKTsKLSAgICAgICAgICAgIGlmIChfUHlCeXRlc19SZXNpemUoJnJldCwgYnVmZmVyc2l6ZSkgPCAwKSB7Ci0gICAgICAgICAgICAgICAgcmV0ID0gTlVMTDsKLSAgICAgICAgICAgICAgICBnb3RvIGNsZWFudXA7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgIH0KLSAgICBpZiAoYnl0ZXNyZWFkICE9IGJ1ZmZlcnNpemUpIHsKLSAgICAgICAgaWYgKF9QeUJ5dGVzX1Jlc2l6ZSgmcmV0LCBieXRlc3JlYWQpIDwgMCkgewotICAgICAgICAgICAgcmV0ID0gTlVMTDsKLSAgICAgICAgfQotICAgIH0KLQotY2xlYW51cDoKLSAgICBSRUxFQVNFX0xPQ0soc2VsZik7Ci0gICAgcmV0dXJuIHJldDsKLX0KLQotUHlEb2NfU1RSVkFSKEJaMkZpbGVfcmVhZGxpbmVfX2RvY19fLAotInJlYWRsaW5lKFtzaXplXSkgLT4gc3RyaW5nXG5cCi1cblwKLVJldHVybiB0aGUgbmV4dCBsaW5lIGZyb20gdGhlIGZpbGUsIGFzIGEgc3RyaW5nLCByZXRhaW5pbmcgbmV3bGluZS5cblwKLUEgbm9uLW5lZ2F0aXZlIHNpemUgYXJndW1lbnQgd2lsbCBsaW1pdCB0aGUgbWF4aW11bSBudW1iZXIgb2YgYnl0ZXMgdG9cblwKLXJldHVybiAoYW4gaW5jb21wbGV0ZSBsaW5lIG1heSBiZSByZXR1cm5lZCB0aGVuKS4gUmV0dXJuIGFuIGVtcHR5XG5cCi1zdHJpbmcgYXQgRU9GLlxuXAotIik7Ci0KLXN0YXRpYyBQeU9iamVjdCAqCi1CWjJGaWxlX3JlYWRsaW5lKEJaMkZpbGVPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQotewotICAgIFB5T2JqZWN0ICpyZXQgPSBOVUxMOwotICAgIGludCBzaXplaGludCA9IC0xOwotCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJ8aTpyZWFkbGluZSIsICZzaXplaGludCkpCi0gICAgICAgIHJldHVybiBOVUxMOwotCi0gICAgQUNRVUlSRV9MT0NLKHNlbGYpOwotICAgIHN3aXRjaCAoc2VsZi0+bW9kZSkgewotICAgICAgICBjYXNlIE1PREVfUkVBRDoKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIE1PREVfUkVBRF9FT0Y6Ci0gICAgICAgICAgICByZXQgPSBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplKCIiLCAwKTsKLSAgICAgICAgICAgIGdvdG8gY2xlYW51cDsKLSAgICAgICAgY2FzZSBNT0RFX0NMT1NFRDoKLSAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJJL08gb3BlcmF0aW9uIG9uIGNsb3NlZCBmaWxlIik7Ci0gICAgICAgICAgICBnb3RvIGNsZWFudXA7Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfSU9FcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZmlsZSBpcyBub3QgcmVhZHkgZm9yIHJlYWRpbmciKTsKLSAgICAgICAgICAgIGdvdG8gY2xlYW51cDsKLSAgICB9Ci0KLSAgICAvKiByZWZ1c2UgdG8gbWl4IHdpdGggZi5uZXh0KCkgKi8KLSAgICBpZiAoY2hlY2tfaXRlcmJ1ZmZlcmVkKHNlbGYpKQotICAgICAgICBnb3RvIGNsZWFudXA7Ci0KLSAgICBpZiAoc2l6ZWhpbnQgPT0gMCkKLSAgICAgICAgcmV0ID0gUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZSgiIiwgMCk7Ci0gICAgZWxzZQotICAgICAgICByZXQgPSBVdGlsX0dldExpbmUoc2VsZiwgKHNpemVoaW50IDwgMCkgPyAwIDogc2l6ZWhpbnQpOwotCi1jbGVhbnVwOgotICAgIFJFTEVBU0VfTE9DSyhzZWxmKTsKLSAgICByZXR1cm4gcmV0OwotfQotCi1QeURvY19TVFJWQVIoQloyRmlsZV9yZWFkbGluZXNfX2RvY19fLAotInJlYWRsaW5lcyhbc2l6ZV0pIC0+IGxpc3RcblwKLVxuXAotQ2FsbCByZWFkbGluZSgpIHJlcGVhdGVkbHkgYW5kIHJldHVybiBhIGxpc3Qgb2YgbGluZXMgcmVhZC5cblwKLVRoZSBvcHRpb25hbCBzaXplIGFyZ3VtZW50LCBpZiBnaXZlbiwgaXMgYW4gYXBwcm94aW1hdGUgYm91bmQgb24gdGhlXG5cCi10b3RhbCBudW1iZXIgb2YgYnl0ZXMgaW4gdGhlIGxpbmVzIHJldHVybmVkLlxuXAotIik7Ci0KLS8qIFRoaXMgaXMgYSBoYWNrZWQgdmVyc2lvbiBvZiBQeXRob24ncyBmaWxlb2JqZWN0LmM6ZmlsZV9yZWFkbGluZXMoKS4gKi8KLXN0YXRpYyBQeU9iamVjdCAqCi1CWjJGaWxlX3JlYWRsaW5lcyhCWjJGaWxlT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKLXsKLSAgICBsb25nIHNpemVoaW50ID0gMDsKLSAgICBQeU9iamVjdCAqbGlzdCA9IE5VTEw7Ci0gICAgUHlPYmplY3QgKmxpbmU7Ci0gICAgY2hhciBzbWFsbF9idWZmZXJbU01BTExDSFVOS107Ci0gICAgY2hhciAqYnVmZmVyID0gc21hbGxfYnVmZmVyOwotICAgIHNpemVfdCBidWZmZXJzaXplID0gU01BTExDSFVOSzsKLSAgICBQeU9iamVjdCAqYmlnX2J1ZmZlciA9IE5VTEw7Ci0gICAgc2l6ZV90IG5maWxsZWQgPSAwOwotICAgIHNpemVfdCBucmVhZDsKLSAgICBzaXplX3QgdG90YWxyZWFkID0gMDsKLSAgICBjaGFyICpwLCAqcSwgKmVuZDsKLSAgICBpbnQgZXJyOwotICAgIGludCBzaG9ydHJlYWQgPSAwOwotICAgIGludCBiemVycm9yOwotCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJ8bDpyZWFkbGluZXMiLCAmc2l6ZWhpbnQpKQotICAgICAgICByZXR1cm4gTlVMTDsKLQotICAgIEFDUVVJUkVfTE9DSyhzZWxmKTsKLSAgICBzd2l0Y2ggKHNlbGYtPm1vZGUpIHsKLSAgICAgICAgY2FzZSBNT0RFX1JFQUQ6Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBNT0RFX1JFQURfRU9GOgotICAgICAgICAgICAgbGlzdCA9IFB5TGlzdF9OZXcoMCk7Ci0gICAgICAgICAgICBnb3RvIGNsZWFudXA7Ci0gICAgICAgIGNhc2UgTU9ERV9DTE9TRUQ6Ci0gICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiSS9PIG9wZXJhdGlvbiBvbiBjbG9zZWQgZmlsZSIpOwotICAgICAgICAgICAgZ290byBjbGVhbnVwOwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX0lPRXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImZpbGUgaXMgbm90IHJlYWR5IGZvciByZWFkaW5nIik7Ci0gICAgICAgICAgICBnb3RvIGNsZWFudXA7Ci0gICAgfQotCi0gICAgLyogcmVmdXNlIHRvIG1peCB3aXRoIGYubmV4dCgpICovCi0gICAgaWYgKGNoZWNrX2l0ZXJidWZmZXJlZChzZWxmKSkKLSAgICAgICAgZ290byBjbGVhbnVwOwotCi0gICAgaWYgKChsaXN0ID0gUHlMaXN0X05ldygwKSkgPT0gTlVMTCkKLSAgICAgICAgZ290byBjbGVhbnVwOwotCi0gICAgZm9yICg7OykgewotICAgICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCi0gICAgICAgIG5yZWFkID0gQloyX2J6UmVhZCgmYnplcnJvciwgc2VsZi0+ZnAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBidWZmZXIrbmZpbGxlZCwgYnVmZmVyc2l6ZS1uZmlsbGVkKTsKLSAgICAgICAgc2VsZi0+cG9zICs9IG5yZWFkOwotICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwotICAgICAgICBpZiAoYnplcnJvciA9PSBCWl9TVFJFQU1fRU5EKSB7Ci0gICAgICAgICAgICBzZWxmLT5zaXplID0gc2VsZi0+cG9zOwotICAgICAgICAgICAgc2VsZi0+bW9kZSA9IE1PREVfUkVBRF9FT0Y7Ci0gICAgICAgICAgICBpZiAobnJlYWQgPT0gMCkgewotICAgICAgICAgICAgICAgIHNpemVoaW50ID0gMDsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHNob3J0cmVhZCA9IDE7Ci0gICAgICAgIH0gZWxzZSBpZiAoYnplcnJvciAhPSBCWl9PSykgewotICAgICAgICAgICAgVXRpbF9DYXRjaEJaMkVycm9yKGJ6ZXJyb3IpOwotICAgICAgICAgIGVycm9yOgotICAgICAgICAgICAgUHlfREVDUkVGKGxpc3QpOwotICAgICAgICAgICAgbGlzdCA9IE5VTEw7Ci0gICAgICAgICAgICBnb3RvIGNsZWFudXA7Ci0gICAgICAgIH0KLSAgICAgICAgdG90YWxyZWFkICs9IG5yZWFkOwotICAgICAgICBwID0gbWVtY2hyKGJ1ZmZlcituZmlsbGVkLCAnXG4nLCBucmVhZCk7Ci0gICAgICAgIGlmICghc2hvcnRyZWFkICYmIHAgPT0gTlVMTCkgewotICAgICAgICAgICAgLyogTmVlZCBhIGxhcmdlciBidWZmZXIgdG8gZml0IHRoaXMgbGluZSAqLwotICAgICAgICAgICAgbmZpbGxlZCArPSBucmVhZDsKLSAgICAgICAgICAgIGJ1ZmZlcnNpemUgKj0gMjsKLSAgICAgICAgICAgIGlmIChidWZmZXJzaXplID4gSU5UX01BWCkgewotICAgICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19PdmVyZmxvd0Vycm9yLAotICAgICAgICAgICAgICAgICJsaW5lIGlzIGxvbmdlciB0aGFuIGEgUHl0aG9uIHN0cmluZyBjYW4gaG9sZCIpOwotICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBpZiAoYmlnX2J1ZmZlciA9PSBOVUxMKSB7Ci0gICAgICAgICAgICAgICAgLyogQ3JlYXRlIHRoZSBiaWcgYnVmZmVyICovCi0gICAgICAgICAgICAgICAgYmlnX2J1ZmZlciA9IFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUoCi0gICAgICAgICAgICAgICAgICAgIE5VTEwsIGJ1ZmZlcnNpemUpOwotICAgICAgICAgICAgICAgIGlmIChiaWdfYnVmZmVyID09IE5VTEwpCi0gICAgICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7Ci0gICAgICAgICAgICAgICAgYnVmZmVyID0gUHlCeXRlc19BU19TVFJJTkcoYmlnX2J1ZmZlcik7Ci0gICAgICAgICAgICAgICAgbWVtY3B5KGJ1ZmZlciwgc21hbGxfYnVmZmVyLCBuZmlsbGVkKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgICAgIC8qIEdyb3cgdGhlIGJpZyBidWZmZXIgKi8KLSAgICAgICAgICAgICAgICBpZiAoX1B5Qnl0ZXNfUmVzaXplKCZiaWdfYnVmZmVyLCBidWZmZXJzaXplKSA8IDApewotICAgICAgICAgICAgICAgICAgICBiaWdfYnVmZmVyID0gTlVMTDsKLSAgICAgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgYnVmZmVyID0gUHlCeXRlc19BU19TVFJJTkcoYmlnX2J1ZmZlcik7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgfQotICAgICAgICBlbmQgPSBidWZmZXIrbmZpbGxlZCtucmVhZDsKLSAgICAgICAgcSA9IGJ1ZmZlcjsKLSAgICAgICAgd2hpbGUgKHAgIT0gTlVMTCkgewotICAgICAgICAgICAgLyogUHJvY2VzcyBjb21wbGV0ZSBsaW5lcyAqLwotICAgICAgICAgICAgcCsrOwotICAgICAgICAgICAgbGluZSA9IFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUocSwgcC1xKTsKLSAgICAgICAgICAgIGlmIChsaW5lID09IE5VTEwpCi0gICAgICAgICAgICAgICAgZ290byBlcnJvcjsKLSAgICAgICAgICAgIGVyciA9IFB5TGlzdF9BcHBlbmQobGlzdCwgbGluZSk7Ci0gICAgICAgICAgICBQeV9ERUNSRUYobGluZSk7Ci0gICAgICAgICAgICBpZiAoZXJyICE9IDApCi0gICAgICAgICAgICAgICAgZ290byBlcnJvcjsKLSAgICAgICAgICAgIHEgPSBwOwotICAgICAgICAgICAgcCA9IG1lbWNocihxLCAnXG4nLCBlbmQtcSk7Ci0gICAgICAgIH0KLSAgICAgICAgLyogTW92ZSB0aGUgcmVtYWluaW5nIGluY29tcGxldGUgbGluZSB0byB0aGUgc3RhcnQgKi8KLSAgICAgICAgbmZpbGxlZCA9IGVuZC1xOwotICAgICAgICBtZW1tb3ZlKGJ1ZmZlciwgcSwgbmZpbGxlZCk7Ci0gICAgICAgIGlmIChzaXplaGludCA+IDApCi0gICAgICAgICAgICBpZiAodG90YWxyZWFkID49IChzaXplX3Qpc2l6ZWhpbnQpCi0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGlmIChzaG9ydHJlYWQpIHsKLSAgICAgICAgICAgIHNpemVoaW50ID0gMDsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgfQotICAgIGlmIChuZmlsbGVkICE9IDApIHsKLSAgICAgICAgLyogUGFydGlhbCBsYXN0IGxpbmUgKi8KLSAgICAgICAgbGluZSA9IFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUoYnVmZmVyLCBuZmlsbGVkKTsKLSAgICAgICAgaWYgKGxpbmUgPT0gTlVMTCkKLSAgICAgICAgICAgIGdvdG8gZXJyb3I7Ci0gICAgICAgIGlmIChzaXplaGludCA+IDApIHsKLSAgICAgICAgICAgIC8qIE5lZWQgdG8gY29tcGxldGUgdGhlIGxhc3QgbGluZSAqLwotICAgICAgICAgICAgUHlPYmplY3QgKnJlc3QgPSBVdGlsX0dldExpbmUoc2VsZiwgMCk7Ci0gICAgICAgICAgICBpZiAocmVzdCA9PSBOVUxMKSB7Ci0gICAgICAgICAgICAgICAgUHlfREVDUkVGKGxpbmUpOwotICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBQeUJ5dGVzX0NvbmNhdCgmbGluZSwgcmVzdCk7Ci0gICAgICAgICAgICBQeV9ERUNSRUYocmVzdCk7Ci0gICAgICAgICAgICBpZiAobGluZSA9PSBOVUxMKQotICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7Ci0gICAgICAgIH0KLSAgICAgICAgZXJyID0gUHlMaXN0X0FwcGVuZChsaXN0LCBsaW5lKTsKLSAgICAgICAgUHlfREVDUkVGKGxpbmUpOwotICAgICAgICBpZiAoZXJyICE9IDApCi0gICAgICAgICAgICBnb3RvIGVycm9yOwotICAgIH0KLQotICBjbGVhbnVwOgotICAgIFJFTEVBU0VfTE9DSyhzZWxmKTsKLSAgICBpZiAoYmlnX2J1ZmZlcikgewotICAgICAgICBQeV9ERUNSRUYoYmlnX2J1ZmZlcik7Ci0gICAgfQotICAgIHJldHVybiBsaXN0OwotfQotCi1QeURvY19TVFJWQVIoQloyRmlsZV93cml0ZV9fZG9jX18sCi0id3JpdGUoZGF0YSkgLT4gTm9uZVxuXAotXG5cCi1Xcml0ZSB0aGUgJ2RhdGEnIHN0cmluZyB0byBmaWxlLiBOb3RlIHRoYXQgZHVlIHRvIGJ1ZmZlcmluZywgY2xvc2UoKSBtYXlcblwKLWJlIG5lZWRlZCBiZWZvcmUgdGhlIGZpbGUgb24gZGlzayByZWZsZWN0cyB0aGUgZGF0YSB3cml0dGVuLlxuXAotIik7Ci0KLS8qIFRoaXMgaXMgYSBoYWNrZWQgdmVyc2lvbiBvZiBQeXRob24ncyBmaWxlb2JqZWN0LmM6ZmlsZV93cml0ZSgpLiAqLwotc3RhdGljIFB5T2JqZWN0ICoKLUJaMkZpbGVfd3JpdGUoQloyRmlsZU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCi17Ci0gICAgUHlPYmplY3QgKnJldCA9IE5VTEw7Ci0gICAgUHlfYnVmZmVyIHBidWY7Ci0gICAgY2hhciAqYnVmOwotICAgIGludCBsZW47Ci0gICAgaW50IGJ6ZXJyb3I7Ci0KLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgInkqOndyaXRlIiwgJnBidWYpKQotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBidWYgPSBwYnVmLmJ1ZjsKLSAgICBsZW4gPSBwYnVmLmxlbjsKLQotICAgIEFDUVVJUkVfTE9DSyhzZWxmKTsKLSAgICBzd2l0Y2ggKHNlbGYtPm1vZGUpIHsKLSAgICAgICAgY2FzZSBNT0RFX1dSSVRFOgotICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgY2FzZSBNT0RFX0NMT1NFRDoKLSAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJJL08gb3BlcmF0aW9uIG9uIGNsb3NlZCBmaWxlIik7Ci0gICAgICAgICAgICBnb3RvIGNsZWFudXA7Ci0KLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19JT0Vycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJmaWxlIGlzIG5vdCByZWFkeSBmb3Igd3JpdGluZyIpOwotICAgICAgICAgICAgZ290byBjbGVhbnVwOwotICAgIH0KLQotICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKLSAgICBCWjJfYnpXcml0ZSAoJmJ6ZXJyb3IsIHNlbGYtPmZwLCBidWYsIGxlbik7Ci0gICAgc2VsZi0+cG9zICs9IGxlbjsKLSAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwotCi0gICAgaWYgKGJ6ZXJyb3IgIT0gQlpfT0spIHsKLSAgICAgICAgVXRpbF9DYXRjaEJaMkVycm9yKGJ6ZXJyb3IpOwotICAgICAgICBnb3RvIGNsZWFudXA7Ci0gICAgfQotCi0gICAgUHlfSU5DUkVGKFB5X05vbmUpOwotICAgIHJldCA9IFB5X05vbmU7Ci0KLWNsZWFudXA6Ci0gICAgUHlCdWZmZXJfUmVsZWFzZSgmcGJ1Zik7Ci0gICAgUkVMRUFTRV9MT0NLKHNlbGYpOwotICAgIHJldHVybiByZXQ7Ci19Ci0KLVB5RG9jX1NUUlZBUihCWjJGaWxlX3dyaXRlbGluZXNfX2RvY19fLAotIndyaXRlbGluZXMoc2VxdWVuY2Vfb2Zfc3RyaW5ncykgLT4gTm9uZVxuXAotXG5cCi1Xcml0ZSB0aGUgc2VxdWVuY2Ugb2Ygc3RyaW5ncyB0byB0aGUgZmlsZS4gTm90ZSB0aGF0IG5ld2xpbmVzIGFyZSBub3RcblwKLWFkZGVkLiBUaGUgc2VxdWVuY2UgY2FuIGJlIGFueSBpdGVyYWJsZSBvYmplY3QgcHJvZHVjaW5nIHN0cmluZ3MuIFRoaXMgaXNcblwKLWVxdWl2YWxlbnQgdG8gY2FsbGluZyB3cml0ZSgpIGZvciBlYWNoIHN0cmluZy5cblwKLSIpOwotCi0vKiBUaGlzIGlzIGEgaGFja2VkIHZlcnNpb24gb2YgUHl0aG9uJ3MgZmlsZW9iamVjdC5jOmZpbGVfd3JpdGVsaW5lcygpLiAqLwotc3RhdGljIFB5T2JqZWN0ICoKLUJaMkZpbGVfd3JpdGVsaW5lcyhCWjJGaWxlT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqc2VxKQotewotI2RlZmluZSBDSFVOS1NJWkUgMTAwMAotICAgIFB5T2JqZWN0ICpsaXN0ID0gTlVMTDsKLSAgICBQeU9iamVjdCAqaXRlciA9IE5VTEw7Ci0gICAgUHlPYmplY3QgKnJldCA9IE5VTEw7Ci0gICAgUHlPYmplY3QgKmxpbmU7Ci0gICAgaW50IGksIGosIGluZGV4LCBsZW4sIGlzbGlzdDsKLSAgICBpbnQgYnplcnJvcjsKLQotICAgIEFDUVVJUkVfTE9DSyhzZWxmKTsKLSAgICBzd2l0Y2ggKHNlbGYtPm1vZGUpIHsKLSAgICAgICAgY2FzZSBNT0RFX1dSSVRFOgotICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgY2FzZSBNT0RFX0NMT1NFRDoKLSAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJJL08gb3BlcmF0aW9uIG9uIGNsb3NlZCBmaWxlIik7Ci0gICAgICAgICAgICBnb3RvIGVycm9yOwotCi0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfSU9FcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZmlsZSBpcyBub3QgcmVhZHkgZm9yIHdyaXRpbmciKTsKLSAgICAgICAgICAgIGdvdG8gZXJyb3I7Ci0gICAgfQotCi0gICAgaXNsaXN0ID0gUHlMaXN0X0NoZWNrKHNlcSk7Ci0gICAgaWYgICghaXNsaXN0KSB7Ci0gICAgICAgIGl0ZXIgPSBQeU9iamVjdF9HZXRJdGVyKHNlcSk7Ci0gICAgICAgIGlmIChpdGVyID09IE5VTEwpIHsKLSAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsCi0gICAgICAgICAgICAgICAgIndyaXRlbGluZXMoKSByZXF1aXJlcyBhbiBpdGVyYWJsZSBhcmd1bWVudCIpOwotICAgICAgICAgICAgZ290byBlcnJvcjsKLSAgICAgICAgfQotICAgICAgICBsaXN0ID0gUHlMaXN0X05ldyhDSFVOS1NJWkUpOwotICAgICAgICBpZiAobGlzdCA9PSBOVUxMKQotICAgICAgICAgICAgZ290byBlcnJvcjsKLSAgICB9Ci0KLSAgICAvKiBTdHJhdGVneTogc2x1cnAgQ0hVTktTSVpFIGxpbmVzIGludG8gYSBwcml2YXRlIGxpc3QsCi0gICAgICAgY2hlY2tpbmcgdGhhdCB0aGV5IGFyZSBhbGwgc3RyaW5ncywgdGhlbiB3cml0ZSB0aGF0IGxpc3QKLSAgICAgICB3aXRob3V0IGhvbGRpbmcgdGhlIGludGVycHJldGVyIGxvY2ssIHRoZW4gY29tZSBiYWNrIGZvciBtb3JlLiAqLwotICAgIGZvciAoaW5kZXggPSAwOyA7IGluZGV4ICs9IENIVU5LU0laRSkgewotICAgICAgICBpZiAoaXNsaXN0KSB7Ci0gICAgICAgICAgICBQeV9YREVDUkVGKGxpc3QpOwotICAgICAgICAgICAgbGlzdCA9IFB5TGlzdF9HZXRTbGljZShzZXEsIGluZGV4LCBpbmRleCtDSFVOS1NJWkUpOwotICAgICAgICAgICAgaWYgKGxpc3QgPT0gTlVMTCkKLSAgICAgICAgICAgICAgICBnb3RvIGVycm9yOwotICAgICAgICAgICAgaiA9IFB5TGlzdF9HRVRfU0laRShsaXN0KTsKLSAgICAgICAgfQotICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgIGZvciAoaiA9IDA7IGogPCBDSFVOS1NJWkU7IGorKykgewotICAgICAgICAgICAgICAgIGxpbmUgPSBQeUl0ZXJfTmV4dChpdGVyKTsKLSAgICAgICAgICAgICAgICBpZiAobGluZSA9PSBOVUxMKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChQeUVycl9PY2N1cnJlZCgpKQotICAgICAgICAgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIFB5TGlzdF9TZXRJdGVtKGxpc3QsIGosIGxpbmUpOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgICAgIGlmIChqID09IDApCi0gICAgICAgICAgICBicmVhazsKLQotICAgICAgICAvKiBDaGVjayB0aGF0IGFsbCBlbnRyaWVzIGFyZSBpbmRlZWQgYnl0ZSBzdHJpbmdzLiBJZiBub3QsCi0gICAgICAgICAgIGFwcGx5IHRoZSBzYW1lIHJ1bGVzIGFzIGZvciBmaWxlLndyaXRlKCkgYW5kCi0gICAgICAgICAgIGNvbnZlcnQgdGhlIHJldHMgdG8gc3RyaW5ncy4gVGhpcyBpcyBzbG93LCBidXQKLSAgICAgICAgICAgc2VlbXMgdG8gYmUgdGhlIG9ubHkgd2F5IHNpbmNlIGFsbCBjb252ZXJzaW9uIEFQSXMKLSAgICAgICAgICAgY291bGQgcG90ZW50aWFsbHkgZXhlY3V0ZSBQeXRob24gY29kZS4gKi8KLSAgICAgICAgZm9yIChpID0gMDsgaSA8IGo7IGkrKykgewotICAgICAgICAgICAgUHlPYmplY3QgKnYgPSBQeUxpc3RfR0VUX0lURU0obGlzdCwgaSk7Ci0gICAgICAgICAgICBpZiAoIVB5Qnl0ZXNfQ2hlY2sodikpIHsKLSAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpidWZmZXI7Ci0gICAgICAgICAgICAgICAgUHlfc3NpemVfdCBsZW47Ci0gICAgICAgICAgICAgICAgaWYgKFB5T2JqZWN0X0FzQ2hhckJ1ZmZlcih2LCAmYnVmZmVyLCAmbGVuKSkgewotICAgICAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIndyaXRlbGluZXMoKSAiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYXJndW1lbnQgbXVzdCBiZSAiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYSBzZXF1ZW5jZSBvZiAiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYnl0ZXMgb2JqZWN0cyIpOwotICAgICAgICAgICAgICAgICAgICBnb3RvIGVycm9yOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBsaW5lID0gUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZShidWZmZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlbik7Ci0gICAgICAgICAgICAgICAgaWYgKGxpbmUgPT0gTlVMTCkKLSAgICAgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKLSAgICAgICAgICAgICAgICBQeV9ERUNSRUYodik7Ci0gICAgICAgICAgICAgICAgUHlMaXN0X1NFVF9JVEVNKGxpc3QsIGksIGxpbmUpOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0KLSAgICAgICAgLyogU2luY2Ugd2UgYXJlIHJlbGVhc2luZyB0aGUgZ2xvYmFsIGxvY2ssIHRoZQotICAgICAgICAgICBmb2xsb3dpbmcgY29kZSBtYXkgKm5vdCogZXhlY3V0ZSBQeXRob24gY29kZS4gKi8KLSAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgICAgICBmb3IgKGkgPSAwOyBpIDwgajsgaSsrKSB7Ci0gICAgICAgICAgICBsaW5lID0gUHlMaXN0X0dFVF9JVEVNKGxpc3QsIGkpOwotICAgICAgICAgICAgbGVuID0gUHlCeXRlc19HRVRfU0laRShsaW5lKTsKLSAgICAgICAgICAgIEJaMl9ieldyaXRlICgmYnplcnJvciwgc2VsZi0+ZnAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgUHlCeXRlc19BU19TVFJJTkcobGluZSksIGxlbik7Ci0gICAgICAgICAgICBpZiAoYnplcnJvciAhPSBCWl9PSykgewotICAgICAgICAgICAgICAgIFB5X0JMT0NLX1RIUkVBRFMKLSAgICAgICAgICAgICAgICBVdGlsX0NhdGNoQloyRXJyb3IoYnplcnJvcik7Ci0gICAgICAgICAgICAgICAgZ290byBlcnJvcjsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwotCi0gICAgICAgIGlmIChqIDwgQ0hVTktTSVpFKQotICAgICAgICAgICAgYnJlYWs7Ci0gICAgfQotCi0gICAgUHlfSU5DUkVGKFB5X05vbmUpOwotICAgIHJldCA9IFB5X05vbmU7Ci0KLSAgZXJyb3I6Ci0gICAgUkVMRUFTRV9MT0NLKHNlbGYpOwotICAgIFB5X1hERUNSRUYobGlzdCk7Ci0gICAgUHlfWERFQ1JFRihpdGVyKTsKLSAgICByZXR1cm4gcmV0OwotI3VuZGVmIENIVU5LU0laRQotfQotCi1QeURvY19TVFJWQVIoQloyRmlsZV9zZWVrX19kb2NfXywKLSJzZWVrKG9mZnNldCBbLCB3aGVuY2VdKSAtPiBOb25lXG5cCi1cblwKLU1vdmUgdG8gbmV3IGZpbGUgcG9zaXRpb24uIEFyZ3VtZW50IG9mZnNldCBpcyBhIGJ5dGUgY291bnQuIE9wdGlvbmFsXG5cCi1hcmd1bWVudCB3aGVuY2UgZGVmYXVsdHMgdG8gMCAob2Zmc2V0IGZyb20gc3RhcnQgb2YgZmlsZSwgb2Zmc2V0XG5cCi1zaG91bGQgYmUgPj0gMCk7IG90aGVyIHZhbHVlcyBhcmUgMSAobW92ZSByZWxhdGl2ZSB0byBjdXJyZW50IHBvc2l0aW9uLFxuXAotcG9zaXRpdmUgb3IgbmVnYXRpdmUpLCBhbmQgMiAobW92ZSByZWxhdGl2ZSB0byBlbmQgb2YgZmlsZSwgdXN1YWxseVxuXAotbmVnYXRpdmUsIGFsdGhvdWdoIG1hbnkgcGxhdGZvcm1zIGFsbG93IHNlZWtpbmcgYmV5b25kIHRoZSBlbmQgb2YgYSBmaWxlKS5cblwKLVxuXAotTm90ZSB0aGF0IHNlZWtpbmcgb2YgYnoyIGZpbGVzIGlzIGVtdWxhdGVkLCBhbmQgZGVwZW5kaW5nIG9uIHRoZSBwYXJhbWV0ZXJzXG5cCi10aGUgb3BlcmF0aW9uIG1heSBiZSBleHRyZW1lbHkgc2xvdy5cblwKLSIpOwotCi1zdGF0aWMgUHlPYmplY3QgKgotQloyRmlsZV9zZWVrKEJaMkZpbGVPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQotewotICAgIGludCB3aGVyZSA9IDA7Ci0gICAgUHlPYmplY3QgKm9mZm9iajsKLSAgICBQeV9vZmZfdCBvZmZzZXQ7Ci0gICAgY2hhciBzbWFsbF9idWZmZXJbU01BTExDSFVOS107Ci0gICAgY2hhciAqYnVmZmVyID0gc21hbGxfYnVmZmVyOwotICAgIHNpemVfdCBidWZmZXJzaXplID0gU01BTExDSFVOSzsKLSAgICBQeV9vZmZfdCBieXRlc3JlYWQgPSAwOwotICAgIHNpemVfdCByZWFkc2l6ZTsKLSAgICBpbnQgY2h1bmtzaXplOwotICAgIGludCBiemVycm9yOwotICAgIFB5T2JqZWN0ICpyZXQgPSBOVUxMOwotCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJPfGk6c2VlayIsICZvZmZvYmosICZ3aGVyZSkpCi0gICAgICAgIHJldHVybiBOVUxMOwotI2lmICFkZWZpbmVkKEhBVkVfTEFSR0VGSUxFX1NVUFBPUlQpCi0gICAgb2Zmc2V0ID0gUHlMb25nX0FzTG9uZyhvZmZvYmopOwotI2Vsc2UKLSAgICBvZmZzZXQgPSBQeUxvbmdfQ2hlY2sob2Zmb2JqKSA/Ci0gICAgICAgIFB5TG9uZ19Bc0xvbmdMb25nKG9mZm9iaikgOiBQeUxvbmdfQXNMb25nKG9mZm9iaik7Ci0jZW5kaWYKLSAgICBpZiAoUHlFcnJfT2NjdXJyZWQoKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0KLSAgICBBQ1FVSVJFX0xPQ0soc2VsZik7Ci0gICAgVXRpbF9Ecm9wUmVhZEFoZWFkKHNlbGYpOwotICAgIHN3aXRjaCAoc2VsZi0+bW9kZSkgewotICAgICAgICBjYXNlIE1PREVfUkVBRDoKLSAgICAgICAgY2FzZSBNT0RFX1JFQURfRU9GOgotICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgY2FzZSBNT0RFX0NMT1NFRDoKLSAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJJL08gb3BlcmF0aW9uIG9uIGNsb3NlZCBmaWxlIik7Ci0gICAgICAgICAgICBnb3RvIGNsZWFudXA7Ci0KLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19JT0Vycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzZWVrIHdvcmtzIG9ubHkgd2hpbGUgcmVhZGluZyIpOwotICAgICAgICAgICAgZ290byBjbGVhbnVwOwotICAgIH0KLQotICAgIGlmICh3aGVyZSA9PSAyKSB7Ci0gICAgICAgIGlmIChzZWxmLT5zaXplID09IC0xKSB7Ci0gICAgICAgICAgICBhc3NlcnQoc2VsZi0+bW9kZSAhPSBNT0RFX1JFQURfRU9GKTsKLSAgICAgICAgICAgIGZvciAoOzspIHsKLSAgICAgICAgICAgICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCi0gICAgICAgICAgICAgICAgY2h1bmtzaXplID0gQloyX2J6UmVhZCgmYnplcnJvciwgc2VsZi0+ZnAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWZmZXIsIGJ1ZmZlcnNpemUpOwotICAgICAgICAgICAgICAgIHNlbGYtPnBvcyArPSBjaHVua3NpemU7Ci0gICAgICAgICAgICAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKLQotICAgICAgICAgICAgICAgIGJ5dGVzcmVhZCArPSBjaHVua3NpemU7Ci0gICAgICAgICAgICAgICAgaWYgKGJ6ZXJyb3IgPT0gQlpfU1RSRUFNX0VORCkgewotICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGJ6ZXJyb3IgIT0gQlpfT0spIHsKLSAgICAgICAgICAgICAgICAgICAgVXRpbF9DYXRjaEJaMkVycm9yKGJ6ZXJyb3IpOwotICAgICAgICAgICAgICAgICAgICBnb3RvIGNsZWFudXA7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfQotICAgICAgICAgICAgc2VsZi0+bW9kZSA9IE1PREVfUkVBRF9FT0Y7Ci0gICAgICAgICAgICBzZWxmLT5zaXplID0gc2VsZi0+cG9zOwotICAgICAgICAgICAgYnl0ZXNyZWFkID0gMDsKLSAgICAgICAgfQotICAgICAgICBvZmZzZXQgPSBzZWxmLT5zaXplICsgb2Zmc2V0OwotICAgIH0gZWxzZSBpZiAod2hlcmUgPT0gMSkgewotICAgICAgICBvZmZzZXQgPSBzZWxmLT5wb3MgKyBvZmZzZXQ7Ci0gICAgfQotCi0gICAgLyogQmVmb3JlIGdldHRpbmcgaGVyZSwgb2Zmc2V0IG11c3QgYmUgdGhlIGFic29sdXRlIHBvc2l0aW9uIHRoZSBmaWxlCi0gICAgICogcG9pbnRlciBzaG91bGQgYmUgc2V0IHRvLiAqLwotCi0gICAgaWYgKG9mZnNldCA+PSBzZWxmLT5wb3MpIHsKLSAgICAgICAgLyogd2UgY2FuIG1vdmUgZm9yd2FyZCAqLwotICAgICAgICBvZmZzZXQgLT0gc2VsZi0+cG9zOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIC8qIHdlIGNhbm5vdCBtb3ZlIGJhY2ssIHNvIHJld2luZCB0aGUgc3RyZWFtICovCi0gICAgICAgIEJaMl9ielJlYWRDbG9zZSgmYnplcnJvciwgc2VsZi0+ZnApOwotICAgICAgICBpZiAoYnplcnJvciAhPSBCWl9PSykgewotICAgICAgICAgICAgVXRpbF9DYXRjaEJaMkVycm9yKGJ6ZXJyb3IpOwotICAgICAgICAgICAgZ290byBjbGVhbnVwOwotICAgICAgICB9Ci0gICAgICAgIHJld2luZChzZWxmLT5yYXdmcCk7Ci0gICAgICAgIHNlbGYtPnBvcyA9IDA7Ci0gICAgICAgIHNlbGYtPmZwID0gQloyX2J6UmVhZE9wZW4oJmJ6ZXJyb3IsIHNlbGYtPnJhd2ZwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsIDAsIE5VTEwsIDApOwotICAgICAgICBpZiAoYnplcnJvciAhPSBCWl9PSykgewotICAgICAgICAgICAgVXRpbF9DYXRjaEJaMkVycm9yKGJ6ZXJyb3IpOwotICAgICAgICAgICAgZ290byBjbGVhbnVwOwotICAgICAgICB9Ci0gICAgICAgIHNlbGYtPm1vZGUgPSBNT0RFX1JFQUQ7Ci0gICAgfQotCi0gICAgaWYgKG9mZnNldCA8PSAwIHx8IHNlbGYtPm1vZGUgPT0gTU9ERV9SRUFEX0VPRikKLSAgICAgICAgZ290byBleGl0OwotCi0gICAgLyogQmVmb3JlIGdldHRpbmcgaGVyZSwgb2Zmc2V0IG11c3QgYmUgc2V0IHRvIHRoZSBudW1iZXIgb2YgYnl0ZXMKLSAgICAgKiB0byB3YWxrIGZvcndhcmQuICovCi0gICAgZm9yICg7OykgewotICAgICAgICBpZiAob2Zmc2V0LWJ5dGVzcmVhZCA+IGJ1ZmZlcnNpemUpCi0gICAgICAgICAgICByZWFkc2l6ZSA9IGJ1ZmZlcnNpemU7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIC8qIG9mZnNldCBtaWdodCBiZSB3aWRlciB0aGF0IHJlYWRzaXplLCBidXQgdGhlIHJlc3VsdAotICAgICAgICAgICAgICogb2YgdGhlIHN1YnRyYWN0aW9uIGlzIGJvdW5kIGJ5IGJ1ZmZlcnNpemUgKHNlZSB0aGUKLSAgICAgICAgICAgICAqIGNvbmRpdGlvbiBhYm92ZSkuIGJ1ZmZlcnNpemUgaXMgODE5Mi4gKi8KLSAgICAgICAgICAgIHJlYWRzaXplID0gKHNpemVfdCkob2Zmc2V0LWJ5dGVzcmVhZCk7Ci0gICAgICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKLSAgICAgICAgY2h1bmtzaXplID0gQloyX2J6UmVhZCgmYnplcnJvciwgc2VsZi0+ZnAsIGJ1ZmZlciwgcmVhZHNpemUpOwotICAgICAgICBzZWxmLT5wb3MgKz0gY2h1bmtzaXplOwotICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwotICAgICAgICBieXRlc3JlYWQgKz0gY2h1bmtzaXplOwotICAgICAgICBpZiAoYnplcnJvciA9PSBCWl9TVFJFQU1fRU5EKSB7Ci0gICAgICAgICAgICBzZWxmLT5zaXplID0gc2VsZi0+cG9zOwotICAgICAgICAgICAgc2VsZi0+bW9kZSA9IE1PREVfUkVBRF9FT0Y7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfSBlbHNlIGlmIChiemVycm9yICE9IEJaX09LKSB7Ci0gICAgICAgICAgICBVdGlsX0NhdGNoQloyRXJyb3IoYnplcnJvcik7Ci0gICAgICAgICAgICBnb3RvIGNsZWFudXA7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKGJ5dGVzcmVhZCA9PSBvZmZzZXQpCi0gICAgICAgICAgICBicmVhazsKLSAgICB9Ci0KLWV4aXQ6Ci0gICAgUHlfSU5DUkVGKFB5X05vbmUpOwotICAgIHJldCA9IFB5X05vbmU7Ci0KLWNsZWFudXA6Ci0gICAgUkVMRUFTRV9MT0NLKHNlbGYpOwotICAgIHJldHVybiByZXQ7Ci19Ci0KLVB5RG9jX1NUUlZBUihCWjJGaWxlX3RlbGxfX2RvY19fLAotInRlbGwoKSAtPiBpbnRcblwKLVxuXAotUmV0dXJuIHRoZSBjdXJyZW50IGZpbGUgcG9zaXRpb24sIGFuIGludGVnZXIgKG1heSBiZSBhIGxvbmcgaW50ZWdlcikuXG5cCi0iKTsKLQotc3RhdGljIFB5T2JqZWN0ICoKLUJaMkZpbGVfdGVsbChCWjJGaWxlT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKLXsKLSAgICBQeU9iamVjdCAqcmV0ID0gTlVMTDsKLQotICAgIGlmIChzZWxmLT5tb2RlID09IE1PREVfQ0xPU0VEKSB7Ci0gICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgIkkvTyBvcGVyYXRpb24gb24gY2xvc2VkIGZpbGUiKTsKLSAgICAgICAgZ290byBjbGVhbnVwOwotICAgIH0KLQotI2lmICFkZWZpbmVkKEhBVkVfTEFSR0VGSUxFX1NVUFBPUlQpCi0gICAgcmV0ID0gUHlMb25nX0Zyb21Mb25nKHNlbGYtPnBvcyk7Ci0jZWxzZQotICAgIHJldCA9IFB5TG9uZ19Gcm9tTG9uZ0xvbmcoc2VsZi0+cG9zKTsKLSNlbmRpZgotCi1jbGVhbnVwOgotICAgIHJldHVybiByZXQ7Ci19Ci0KLVB5RG9jX1NUUlZBUihCWjJGaWxlX2Nsb3NlX19kb2NfXywKLSJjbG9zZSgpIC0+IE5vbmUgb3IgKHBlcmhhcHMpIGFuIGludGVnZXJcblwKLVxuXAotQ2xvc2UgdGhlIGZpbGUuIFNldHMgZGF0YSBhdHRyaWJ1dGUgLmNsb3NlZCB0byB0cnVlLiBBIGNsb3NlZCBmaWxlXG5cCi1jYW5ub3QgYmUgdXNlZCBmb3IgZnVydGhlciBJL08gb3BlcmF0aW9ucy4gY2xvc2UoKSBtYXkgYmUgY2FsbGVkIG1vcmVcblwKLXRoYW4gb25jZSB3aXRob3V0IGVycm9yLlxuXAotIik7Ci0KLXN0YXRpYyBQeU9iamVjdCAqCi1CWjJGaWxlX2Nsb3NlKEJaMkZpbGVPYmplY3QgKnNlbGYpCi17Ci0gICAgUHlPYmplY3QgKnJldCA9IE5VTEw7Ci0gICAgaW50IGJ6ZXJyb3IgPSBCWl9PSzsKLQotICAgIGlmIChzZWxmLT5tb2RlID09IE1PREVfQ0xPU0VEKSB7Ci0gICAgICAgIFB5X1JFVFVSTl9OT05FOwotICAgIH0KLQotICAgIEFDUVVJUkVfTE9DSyhzZWxmKTsKLSAgICBzd2l0Y2ggKHNlbGYtPm1vZGUpIHsKLSAgICAgICAgY2FzZSBNT0RFX1JFQUQ6Ci0gICAgICAgIGNhc2UgTU9ERV9SRUFEX0VPRjoKLSAgICAgICAgICAgIEJaMl9ielJlYWRDbG9zZSgmYnplcnJvciwgc2VsZi0+ZnApOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgTU9ERV9XUklURToKLSAgICAgICAgICAgIEJaMl9ieldyaXRlQ2xvc2UoJmJ6ZXJyb3IsIHNlbGYtPmZwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLCBOVUxMLCBOVUxMKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgIH0KLSAgICBzZWxmLT5tb2RlID0gTU9ERV9DTE9TRUQ7Ci0gICAgZmNsb3NlKHNlbGYtPnJhd2ZwKTsKLSAgICBzZWxmLT5yYXdmcCA9IE5VTEw7Ci0gICAgaWYgKGJ6ZXJyb3IgPT0gQlpfT0spIHsKLSAgICAgICAgUHlfSU5DUkVGKFB5X05vbmUpOwotICAgICAgICByZXQgPSBQeV9Ob25lOwotICAgIH0KLSAgICBlbHNlIHsKLSAgICAgICAgVXRpbF9DYXRjaEJaMkVycm9yKGJ6ZXJyb3IpOwotICAgIH0KLQotICAgIFJFTEVBU0VfTE9DSyhzZWxmKTsKLSAgICByZXR1cm4gcmV0OwotfQotCi1QeURvY19TVFJWQVIoQloyRmlsZV9lbnRlcl9kb2MsCi0iX19lbnRlcl9fKCkgLT4gc2VsZi4iKTsKLQotc3RhdGljIFB5T2JqZWN0ICoKLUJaMkZpbGVfZW50ZXIoQloyRmlsZU9iamVjdCAqc2VsZikKLXsKLSAgICBpZiAoc2VsZi0+bW9kZSA9PSBNT0RFX0NMT1NFRCkgewotICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwKLSAgICAgICAgICAgICJJL08gb3BlcmF0aW9uIG9uIGNsb3NlZCBmaWxlIik7Ci0gICAgICAgIHJldHVybiBOVUxMOwotICAgIH0KLSAgICBQeV9JTkNSRUYoc2VsZik7Ci0gICAgcmV0dXJuIChQeU9iamVjdCAqKSBzZWxmOwotfQotCi1QeURvY19TVFJWQVIoQloyRmlsZV9leGl0X2RvYywKLSJfX2V4aXRfXygqZXhjaW5mbykgLT4gTm9uZS4gIENsb3NlcyB0aGUgZmlsZS4iKTsKLQotc3RhdGljIFB5T2JqZWN0ICoKLUJaMkZpbGVfZXhpdChCWjJGaWxlT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKLXsKLSAgICBQeU9iamVjdCAqcmV0ID0gUHlPYmplY3RfQ2FsbE1ldGhvZCgoUHlPYmplY3QgKikgc2VsZiwgImNsb3NlIiwgTlVMTCk7Ci0gICAgaWYgKCFyZXQpCi0gICAgICAgIC8qIElmIGVycm9yIG9jY3VycmVkLCBwYXNzIHRocm91Z2ggKi8KLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgUHlfREVDUkVGKHJldCk7Ci0gICAgUHlfUkVUVVJOX05PTkU7Ci19Ci0KLQotc3RhdGljIFB5T2JqZWN0ICpCWjJGaWxlX2dldGl0ZXIoQloyRmlsZU9iamVjdCAqc2VsZik7Ci0KLXN0YXRpYyBQeU1ldGhvZERlZiBCWjJGaWxlX21ldGhvZHNbXSA9IHsKLSAgICB7InJlYWQiLCAoUHlDRnVuY3Rpb24pQloyRmlsZV9yZWFkLCBNRVRIX1ZBUkFSR1MsIEJaMkZpbGVfcmVhZF9fZG9jX199LAotICAgIHsicmVhZGxpbmUiLCAoUHlDRnVuY3Rpb24pQloyRmlsZV9yZWFkbGluZSwgTUVUSF9WQVJBUkdTLCBCWjJGaWxlX3JlYWRsaW5lX19kb2NfX30sCi0gICAgeyJyZWFkbGluZXMiLCAoUHlDRnVuY3Rpb24pQloyRmlsZV9yZWFkbGluZXMsIE1FVEhfVkFSQVJHUywgQloyRmlsZV9yZWFkbGluZXNfX2RvY19ffSwKLSAgICB7IndyaXRlIiwgKFB5Q0Z1bmN0aW9uKUJaMkZpbGVfd3JpdGUsIE1FVEhfVkFSQVJHUywgQloyRmlsZV93cml0ZV9fZG9jX199LAotICAgIHsid3JpdGVsaW5lcyIsIChQeUNGdW5jdGlvbilCWjJGaWxlX3dyaXRlbGluZXMsIE1FVEhfTywgQloyRmlsZV93cml0ZWxpbmVzX19kb2NfX30sCi0gICAgeyJzZWVrIiwgKFB5Q0Z1bmN0aW9uKUJaMkZpbGVfc2VlaywgTUVUSF9WQVJBUkdTLCBCWjJGaWxlX3NlZWtfX2RvY19ffSwKLSAgICB7InRlbGwiLCAoUHlDRnVuY3Rpb24pQloyRmlsZV90ZWxsLCBNRVRIX05PQVJHUywgQloyRmlsZV90ZWxsX19kb2NfX30sCi0gICAgeyJjbG9zZSIsIChQeUNGdW5jdGlvbilCWjJGaWxlX2Nsb3NlLCBNRVRIX05PQVJHUywgQloyRmlsZV9jbG9zZV9fZG9jX199LAotICAgIHsiX19lbnRlcl9fIiwgKFB5Q0Z1bmN0aW9uKUJaMkZpbGVfZW50ZXIsIE1FVEhfTk9BUkdTLCBCWjJGaWxlX2VudGVyX2RvY30sCi0gICAgeyJfX2V4aXRfXyIsIChQeUNGdW5jdGlvbilCWjJGaWxlX2V4aXQsIE1FVEhfVkFSQVJHUywgQloyRmlsZV9leGl0X2RvY30sCi0gICAge05VTEwsICAgICAgICAgICAgICBOVUxMfSAgICAgICAgICAgLyogc2VudGluZWwgKi8KLX07Ci0KLQotLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCi0vKiBHZXR0ZXJzIGFuZCBzZXR0ZXJzIG9mIEJaMkZpbGUuICovCi0KLXN0YXRpYyBQeU9iamVjdCAqCi1CWjJGaWxlX2dldF9jbG9zZWQoQloyRmlsZU9iamVjdCAqc2VsZiwgdm9pZCAqY2xvc3VyZSkKLXsKLSAgICByZXR1cm4gUHlMb25nX0Zyb21Mb25nKHNlbGYtPm1vZGUgPT0gTU9ERV9DTE9TRUQpOwotfQotCi1zdGF0aWMgUHlHZXRTZXREZWYgQloyRmlsZV9nZXRzZXRbXSA9IHsKLSAgICB7ImNsb3NlZCIsIChnZXR0ZXIpQloyRmlsZV9nZXRfY2xvc2VkLCBOVUxMLAotICAgICAgICAgICAgICAgICAgICAiVHJ1ZSBpZiB0aGUgZmlsZSBpcyBjbG9zZWQifSwKLSAgICB7TlVMTH0gICAgICAvKiBTZW50aW5lbCAqLwotfTsKLQotCi0vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KLS8qIFNsb3QgZGVmaW5pdGlvbnMgZm9yIEJaMkZpbGVfVHlwZS4gKi8KLQotc3RhdGljIGludAotQloyRmlsZV9pbml0KEJaMkZpbGVPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQotewotICAgIHN0YXRpYyBjaGFyICprd2xpc3RbXSA9IHsiZmlsZW5hbWUiLCAibW9kZSIsICJidWZmZXJpbmciLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY29tcHJlc3NsZXZlbCIsIDB9OwotICAgIFB5T2JqZWN0ICpuYW1lX29iaiA9IE5VTEw7Ci0gICAgY2hhciAqbmFtZTsKLSAgICBjaGFyICptb2RlID0gInIiOwotICAgIGludCBidWZmZXJpbmcgPSAtMTsKLSAgICBpbnQgY29tcHJlc3NsZXZlbCA9IDk7Ci0gICAgaW50IGJ6ZXJyb3I7Ci0gICAgaW50IG1vZGVfY2hhciA9IDA7Ci0KLSAgICBzZWxmLT5zaXplID0gLTE7Ci0KLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsICJPJnxzaWk6QloyRmlsZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga3dsaXN0LCBQeVVuaWNvZGVfRlNDb252ZXJ0ZXIsICZuYW1lX29iaiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbW9kZSwgJmJ1ZmZlcmluZywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmY29tcHJlc3NsZXZlbCkpCi0gICAgICAgIHJldHVybiAtMTsKLQotICAgIG5hbWUgPSBQeUJ5dGVzX0FzU3RyaW5nKG5hbWVfb2JqKTsKLSAgICBpZiAoY29tcHJlc3NsZXZlbCA8IDEgfHwgY29tcHJlc3NsZXZlbCA+IDkpIHsKLSAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAgICAiY29tcHJlc3NsZXZlbCBtdXN0IGJlIGJldHdlZW4gMSBhbmQgOSIpOwotICAgICAgICBQeV9ERUNSRUYobmFtZV9vYmopOwotICAgICAgICByZXR1cm4gLTE7Ci0gICAgfQotCi0gICAgZm9yICg7OykgewotICAgICAgICBpbnQgZXJyb3IgPSAwOwotICAgICAgICBzd2l0Y2ggKCptb2RlKSB7Ci0gICAgICAgICAgICBjYXNlICdyJzoKLSAgICAgICAgICAgIGNhc2UgJ3cnOgotICAgICAgICAgICAgICAgIGlmIChtb2RlX2NoYXIpCi0gICAgICAgICAgICAgICAgICAgIGVycm9yID0gMTsKLSAgICAgICAgICAgICAgICBtb2RlX2NoYXIgPSAqbW9kZTsKLSAgICAgICAgICAgICAgICBicmVhazsKLQotICAgICAgICAgICAgY2FzZSAnYic6Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICAgICAgZXJyb3IgPSAxOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICAgIGlmIChlcnJvcikgewotICAgICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1ZhbHVlRXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAgICAgImludmFsaWQgbW9kZSBjaGFyICVjIiwgKm1vZGUpOwotICAgICAgICAgICAgUHlfREVDUkVGKG5hbWVfb2JqKTsKLSAgICAgICAgICAgIHJldHVybiAtMTsKLSAgICAgICAgfQotICAgICAgICBtb2RlKys7Ci0gICAgICAgIGlmICgqbW9kZSA9PSAnXDAnKQotICAgICAgICAgICAgYnJlYWs7Ci0gICAgfQotCi0gICAgaWYgKG1vZGVfY2hhciA9PSAwKSB7Ci0gICAgICAgIG1vZGVfY2hhciA9ICdyJzsKLSAgICB9Ci0KLSAgICBtb2RlID0gKG1vZGVfY2hhciA9PSAncicpID8gInJiIiA6ICJ3YiI7Ci0KLSAgICBzZWxmLT5yYXdmcCA9IGZvcGVuKG5hbWUsIG1vZGUpOwotICAgIFB5X0RFQ1JFRihuYW1lX29iaik7Ci0gICAgaWYgKHNlbGYtPnJhd2ZwID09IE5VTEwpIHsKLSAgICAgICAgUHlFcnJfU2V0RnJvbUVycm5vKFB5RXhjX0lPRXJyb3IpOwotICAgICAgICByZXR1cm4gLTE7Ci0gICAgfQotICAgIC8qIFhYWCBJZ25vcmUgYnVmZmVyaW5nICovCi0KLSAgICAvKiBGcm9tIG5vdyBvbiwgd2UgaGF2ZSBzdHVmZiB0byBkZWFsbG9jLCBzbyBqdW1wIHRvIGVycm9yIGxhYmVsCi0gICAgICogaW5zdGVhZCBvZiByZXR1cm5pbmcgKi8KLQotI2lmZGVmIFdJVEhfVEhSRUFECi0gICAgc2VsZi0+bG9jayA9IFB5VGhyZWFkX2FsbG9jYXRlX2xvY2soKTsKLSAgICBpZiAoIXNlbGYtPmxvY2spIHsKLSAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX01lbW9yeUVycm9yLCAidW5hYmxlIHRvIGFsbG9jYXRlIGxvY2siKTsKLSAgICAgICAgZ290byBlcnJvcjsKLSAgICB9Ci0jZW5kaWYKLQotICAgIGlmIChtb2RlX2NoYXIgPT0gJ3InKQotICAgICAgICBzZWxmLT5mcCA9IEJaMl9ielJlYWRPcGVuKCZiemVycm9yLCBzZWxmLT5yYXdmcCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLCAwLCBOVUxMLCAwKTsKLSAgICBlbHNlCi0gICAgICAgIHNlbGYtPmZwID0gQloyX2J6V3JpdGVPcGVuKCZiemVycm9yLCBzZWxmLT5yYXdmcCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcHJlc3NsZXZlbCwgMCwgMCk7Ci0KLSAgICBpZiAoYnplcnJvciAhPSBCWl9PSykgewotICAgICAgICBVdGlsX0NhdGNoQloyRXJyb3IoYnplcnJvcik7Ci0gICAgICAgIGdvdG8gZXJyb3I7Ci0gICAgfQotCi0gICAgc2VsZi0+bW9kZSA9IChtb2RlX2NoYXIgPT0gJ3InKSA/IE1PREVfUkVBRCA6IE1PREVfV1JJVEU7Ci0KLSAgICByZXR1cm4gMDsKLQotZXJyb3I6Ci0gICAgZmNsb3NlKHNlbGYtPnJhd2ZwKTsKLSAgICBzZWxmLT5yYXdmcCA9IE5VTEw7Ci0jaWZkZWYgV0lUSF9USFJFQUQKLSAgICBpZiAoc2VsZi0+bG9jaykgewotICAgICAgICBQeVRocmVhZF9mcmVlX2xvY2soc2VsZi0+bG9jayk7Ci0gICAgICAgIHNlbGYtPmxvY2sgPSBOVUxMOwotICAgIH0KLSNlbmRpZgotICAgIHJldHVybiAtMTsKLX0KLQotc3RhdGljIHZvaWQKLUJaMkZpbGVfZGVhbGxvYyhCWjJGaWxlT2JqZWN0ICpzZWxmKQotewotICAgIGludCBiemVycm9yOwotI2lmZGVmIFdJVEhfVEhSRUFECi0gICAgaWYgKHNlbGYtPmxvY2spCi0gICAgICAgIFB5VGhyZWFkX2ZyZWVfbG9jayhzZWxmLT5sb2NrKTsKLSNlbmRpZgotICAgIHN3aXRjaCAoc2VsZi0+bW9kZSkgewotICAgICAgICBjYXNlIE1PREVfUkVBRDoKLSAgICAgICAgY2FzZSBNT0RFX1JFQURfRU9GOgotICAgICAgICAgICAgQloyX2J6UmVhZENsb3NlKCZiemVycm9yLCBzZWxmLT5mcCk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBNT0RFX1dSSVRFOgotICAgICAgICAgICAgQloyX2J6V3JpdGVDbG9zZSgmYnplcnJvciwgc2VsZi0+ZnAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsIE5VTEwsIE5VTEwpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgfQotICAgIFV0aWxfRHJvcFJlYWRBaGVhZChzZWxmKTsKLSAgICBpZiAoc2VsZi0+cmF3ZnAgIT0gTlVMTCkKLSAgICAgICAgZmNsb3NlKHNlbGYtPnJhd2ZwKTsKLSAgICBQeV9UWVBFKHNlbGYpLT50cF9mcmVlKChQeU9iamVjdCAqKXNlbGYpOwotfQotCi0vKiBUaGlzIGlzIGEgaGFja2VkIHZlcnNpb24gb2YgUHl0aG9uJ3MgZmlsZW9iamVjdC5jOmZpbGVfZ2V0aXRlcigpLiAqLwotc3RhdGljIFB5T2JqZWN0ICoKLUJaMkZpbGVfZ2V0aXRlcihCWjJGaWxlT2JqZWN0ICpzZWxmKQotewotICAgIGlmIChzZWxmLT5tb2RlID09IE1PREVfQ0xPU0VEKSB7Ci0gICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgIkkvTyBvcGVyYXRpb24gb24gY2xvc2VkIGZpbGUiKTsKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgfQotICAgIFB5X0lOQ1JFRigoUHlPYmplY3QqKXNlbGYpOwotICAgIHJldHVybiAoUHlPYmplY3QgKilzZWxmOwotfQotCi0vKiBUaGlzIGlzIGEgaGFja2VkIHZlcnNpb24gb2YgUHl0aG9uJ3MgZmlsZW9iamVjdC5jOmZpbGVfaXRlcm5leHQoKS4gKi8KLSNkZWZpbmUgUkVBREFIRUFEX0JVRlNJWkUgODE5Mgotc3RhdGljIFB5T2JqZWN0ICoKLUJaMkZpbGVfaXRlcm5leHQoQloyRmlsZU9iamVjdCAqc2VsZikKLXsKLSAgICBQeUJ5dGVzT2JqZWN0KiByZXQ7Ci0gICAgQUNRVUlSRV9MT0NLKHNlbGYpOwotICAgIGlmIChzZWxmLT5tb2RlID09IE1PREVfQ0xPU0VEKSB7Ci0gICAgICAgIFJFTEVBU0VfTE9DSyhzZWxmKTsKLSAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAgICAiSS9PIG9wZXJhdGlvbiBvbiBjbG9zZWQgZmlsZSIpOwotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICB9Ci0gICAgcmV0ID0gVXRpbF9SZWFkQWhlYWRHZXRMaW5lU2tpcChzZWxmLCAwLCBSRUFEQUhFQURfQlVGU0laRSk7Ci0gICAgUkVMRUFTRV9MT0NLKHNlbGYpOwotICAgIGlmIChyZXQgPT0gTlVMTCB8fCBQeUJ5dGVzX0dFVF9TSVpFKHJldCkgPT0gMCkgewotICAgICAgICBQeV9YREVDUkVGKHJldCk7Ci0gICAgICAgIHJldHVybiBOVUxMOwotICAgIH0KLSAgICByZXR1cm4gKFB5T2JqZWN0ICopcmV0OwotfQotCi0vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KLS8qIEJaMkZpbGVfVHlwZSBkZWZpbml0aW9uLiAqLwotCi1QeURvY19WQVIoQloyRmlsZV9fZG9jX18pID0KLVB5RG9jX1NUUigKLSJCWjJGaWxlKG5hbWUgWywgbW9kZT0ncicsIGJ1ZmZlcmluZz0wLCBjb21wcmVzc2xldmVsPTldKSAtPiBmaWxlIG9iamVjdFxuXAotXG5cCi1PcGVuIGEgYnoyIGZpbGUuIFRoZSBtb2RlIGNhbiBiZSAncicgb3IgJ3cnLCBmb3IgcmVhZGluZyAoZGVmYXVsdCkgb3JcblwKLXdyaXRpbmcuIFdoZW4gb3BlbmVkIGZvciB3cml0aW5nLCB0aGUgZmlsZSB3aWxsIGJlIGNyZWF0ZWQgaWYgaXQgZG9lc24ndFxuXAotZXhpc3QsIGFuZCB0cnVuY2F0ZWQgb3RoZXJ3aXNlLiBJZiB0aGUgYnVmZmVyaW5nIGFyZ3VtZW50IGlzIGdpdmVuLCAwIG1lYW5zXG5cCi11bmJ1ZmZlcmVkLCBhbmQgbGFyZ2VyIG51bWJlcnMgc3BlY2lmeSB0aGUgYnVmZmVyIHNpemUuIElmIGNvbXByZXNzbGV2ZWxcblwKLWlzIGdpdmVuLCBtdXN0IGJlIGEgbnVtYmVyIGJldHdlZW4gMSBhbmQgOS5cblwKLURhdGEgcmVhZCBpcyBhbHdheXMgcmV0dXJuZWQgaW4gYnl0ZXM7IGRhdGEgd3JpdHRlbiBvdWdodCB0byBiZSBieXRlcy5cblwKLSIpOwotCi1zdGF0aWMgUHlUeXBlT2JqZWN0IEJaMkZpbGVfVHlwZSA9IHsKLSAgICBQeVZhck9iamVjdF9IRUFEX0lOSVQoTlVMTCwgMCkKLSAgICAiYnoyLkJaMkZpbGUiLCAgICAgICAgICAgICAgLyp0cF9uYW1lKi8KLSAgICBzaXplb2YoQloyRmlsZU9iamVjdCksICAgICAgLyp0cF9iYXNpY3NpemUqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX2l0ZW1zaXplKi8KLSAgICAoZGVzdHJ1Y3RvcilCWjJGaWxlX2RlYWxsb2MsIC8qdHBfZGVhbGxvYyovCi0gICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfcHJpbnQqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX2dldGF0dHIqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX3NldGF0dHIqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX3Jlc2VydmVkKi8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9yZXByKi8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9hc19udW1iZXIqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX2FzX3NlcXVlbmNlKi8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9hc19tYXBwaW5nKi8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9oYXNoKi8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAvKnRwX2NhbGwqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgIC8qdHBfc3RyKi8KLSAgICBQeU9iamVjdF9HZW5lcmljR2V0QXR0ciwvKnRwX2dldGF0dHJvKi8KLSAgICBQeU9iamVjdF9HZW5lcmljU2V0QXR0ciwvKnRwX3NldGF0dHJvKi8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAvKnRwX2FzX2J1ZmZlciovCi0gICAgUHlfVFBGTEFHU19ERUZBVUxUfFB5X1RQRkxBR1NfQkFTRVRZUEUsIC8qdHBfZmxhZ3MqLwotICAgIEJaMkZpbGVfX2RvY19fLCAgICAgICAgIC8qdHBfZG9jKi8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAvKnRwX3RyYXZlcnNlKi8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAvKnRwX2NsZWFyKi8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAvKnRwX3JpY2hjb21wYXJlKi8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAvKnRwX3dlYWtsaXN0b2Zmc2V0Ki8KLSAgICAoZ2V0aXRlcmZ1bmMpQloyRmlsZV9nZXRpdGVyLCAvKnRwX2l0ZXIqLwotICAgIChpdGVybmV4dGZ1bmMpQloyRmlsZV9pdGVybmV4dCwgLyp0cF9pdGVybmV4dCovCi0gICAgQloyRmlsZV9tZXRob2RzLCAgICAgICAgLyp0cF9tZXRob2RzKi8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9tZW1iZXJzKi8KLSAgICBCWjJGaWxlX2dldHNldCwgICAgICAgICAvKnRwX2dldHNldCovCi0gICAgMCwgICAgICAgICAgICAgICAgICAgICAgLyp0cF9iYXNlKi8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAvKnRwX2RpY3QqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgIC8qdHBfZGVzY3JfZ2V0Ki8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAvKnRwX2Rlc2NyX3NldCovCi0gICAgMCwgICAgICAgICAgICAgICAgICAgICAgLyp0cF9kaWN0b2Zmc2V0Ki8KLSAgICAoaW5pdHByb2MpQloyRmlsZV9pbml0LCAvKnRwX2luaXQqLwotICAgIFB5VHlwZV9HZW5lcmljQWxsb2MsICAgIC8qdHBfYWxsb2MqLwotICAgIFB5VHlwZV9HZW5lcmljTmV3LCAgICAgIC8qdHBfbmV3Ki8KLSAgICBQeU9iamVjdF9GcmVlLCAgICAgICAgICAvKnRwX2ZyZWUqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgIC8qdHBfaXNfZ2MqLwotfTsKLQotCi0vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KLS8qIE1ldGhvZHMgb2YgQloyQ29tcC4gKi8KLQotUHlEb2NfU1RSVkFSKEJaMkNvbXBfY29tcHJlc3NfX2RvY19fLAotImNvbXByZXNzKGRhdGEpIC0+IHN0cmluZ1xuXAotXG5cCi1Qcm92aWRlIG1vcmUgZGF0YSB0byB0aGUgY29tcHJlc3NvciBvYmplY3QuIEl0IHdpbGwgcmV0dXJuIGNodW5rcyBvZlxuXAotY29tcHJlc3NlZCBkYXRhIHdoZW5ldmVyIHBvc3NpYmxlLiBXaGVuIHlvdSd2ZSBmaW5pc2hlZCBwcm92aWRpbmcgZGF0YVxuXAotdG8gY29tcHJlc3MsIGNhbGwgdGhlIGZsdXNoKCkgbWV0aG9kIHRvIGZpbmlzaCB0aGUgY29tcHJlc3Npb24gcHJvY2VzcyxcblwKLWFuZCByZXR1cm4gd2hhdCBpcyBsZWZ0IGluIHRoZSBpbnRlcm5hbCBidWZmZXJzLlxuXAotIik7Ci0KLXN0YXRpYyBQeU9iamVjdCAqCi1CWjJDb21wX2NvbXByZXNzKEJaMkNvbXBPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQotewotICAgIFB5X2J1ZmZlciBwZGF0YTsKLSAgICBjaGFyICpkYXRhOwotICAgIGludCBkYXRhc2l6ZTsKLSAgICBpbnQgYnVmc2l6ZSA9IFNNQUxMQ0hVTks7Ci0gICAgUFlfTE9OR19MT05HIHRvdGFsb3V0OwotICAgIFB5T2JqZWN0ICpyZXQgPSBOVUxMOwotICAgIGJ6X3N0cmVhbSAqYnpzID0gJnNlbGYtPmJ6czsKLSAgICBpbnQgYnplcnJvcjsKLQotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAieSo6Y29tcHJlc3MiLCAmcGRhdGEpKQotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBkYXRhID0gcGRhdGEuYnVmOwotICAgIGRhdGFzaXplID0gcGRhdGEubGVuOwotCi0gICAgaWYgKGRhdGFzaXplID09IDApIHsKLSAgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmcGRhdGEpOwotICAgICAgICByZXR1cm4gUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZSgiIiwgMCk7Ci0gICAgfQotCi0gICAgQUNRVUlSRV9MT0NLKHNlbGYpOwotICAgIGlmICghc2VsZi0+cnVubmluZykgewotICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICAgICJ0aGlzIG9iamVjdCB3YXMgYWxyZWFkeSBmbHVzaGVkIik7Ci0gICAgICAgIGdvdG8gZXJyb3I7Ci0gICAgfQotCi0gICAgcmV0ID0gUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZShOVUxMLCBidWZzaXplKTsKLSAgICBpZiAoIXJldCkKLSAgICAgICAgZ290byBlcnJvcjsKLQotICAgIGJ6cy0+bmV4dF9pbiA9IGRhdGE7Ci0gICAgYnpzLT5hdmFpbF9pbiA9IGRhdGFzaXplOwotICAgIGJ6cy0+bmV4dF9vdXQgPSBCVUYocmV0KTsKLSAgICBienMtPmF2YWlsX291dCA9IGJ1ZnNpemU7Ci0KLSAgICB0b3RhbG91dCA9IEJaU19UT1RBTF9PVVQoYnpzKTsKLQotICAgIGZvciAoOzspIHsKLSAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgICAgICBiemVycm9yID0gQloyX2J6Q29tcHJlc3MoYnpzLCBCWl9SVU4pOwotICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwotICAgICAgICBpZiAoYnplcnJvciAhPSBCWl9SVU5fT0spIHsKLSAgICAgICAgICAgIFV0aWxfQ2F0Y2hCWjJFcnJvcihiemVycm9yKTsKLSAgICAgICAgICAgIGdvdG8gZXJyb3I7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKGJ6cy0+YXZhaWxfaW4gPT0gMCkKLSAgICAgICAgICAgIGJyZWFrOyAvKiBubyBtb3JlIGlucHV0IGRhdGEgKi8KLSAgICAgICAgaWYgKGJ6cy0+YXZhaWxfb3V0ID09IDApIHsKLSAgICAgICAgICAgIGJ1ZnNpemUgPSBVdGlsX05ld0J1ZmZlclNpemUoYnVmc2l6ZSk7Ci0gICAgICAgICAgICBpZiAoX1B5Qnl0ZXNfUmVzaXplKCZyZXQsIGJ1ZnNpemUpIDwgMCkgewotICAgICAgICAgICAgICAgIEJaMl9iekNvbXByZXNzRW5kKGJ6cyk7Ci0gICAgICAgICAgICAgICAgZ290byBlcnJvcjsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGJ6cy0+bmV4dF9vdXQgPSBCVUYocmV0KSArIChCWlNfVE9UQUxfT1VUKGJ6cykKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIHRvdGFsb3V0KTsKLSAgICAgICAgICAgIGJ6cy0+YXZhaWxfb3V0ID0gYnVmc2l6ZSAtIChienMtPm5leHRfb3V0IC0gQlVGKHJldCkpOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgaWYgKF9QeUJ5dGVzX1Jlc2l6ZSgmcmV0LAotICAgICAgICAgICAgICAgICAgICAgICAoUHlfc3NpemVfdCkoQlpTX1RPVEFMX09VVChienMpIC0gdG90YWxvdXQpKSA8IDApCi0gICAgICAgIGdvdG8gZXJyb3I7Ci0KLSAgICBSRUxFQVNFX0xPQ0soc2VsZik7Ci0gICAgUHlCdWZmZXJfUmVsZWFzZSgmcGRhdGEpOwotICAgIHJldHVybiByZXQ7Ci0KLWVycm9yOgotICAgIFJFTEVBU0VfTE9DSyhzZWxmKTsKLSAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZwZGF0YSk7Ci0gICAgUHlfWERFQ1JFRihyZXQpOwotICAgIHJldHVybiBOVUxMOwotfQotCi1QeURvY19TVFJWQVIoQloyQ29tcF9mbHVzaF9fZG9jX18sCi0iZmx1c2goKSAtPiBzdHJpbmdcblwKLVxuXAotRmluaXNoIHRoZSBjb21wcmVzc2lvbiBwcm9jZXNzIGFuZCByZXR1cm4gd2hhdCBpcyBsZWZ0IGluIGludGVybmFsIGJ1ZmZlcnMuXG5cCi1Zb3UgbXVzdCBub3QgdXNlIHRoZSBjb21wcmVzc29yIG9iamVjdCBhZnRlciBjYWxsaW5nIHRoaXMgbWV0aG9kLlxuXAotIik7Ci0KLXN0YXRpYyBQeU9iamVjdCAqCi1CWjJDb21wX2ZsdXNoKEJaMkNvbXBPYmplY3QgKnNlbGYpCi17Ci0gICAgaW50IGJ1ZnNpemUgPSBTTUFMTENIVU5LOwotICAgIFB5T2JqZWN0ICpyZXQgPSBOVUxMOwotICAgIGJ6X3N0cmVhbSAqYnpzID0gJnNlbGYtPmJ6czsKLSAgICBQWV9MT05HX0xPTkcgdG90YWxvdXQ7Ci0gICAgaW50IGJ6ZXJyb3I7Ci0KLSAgICBBQ1FVSVJFX0xPQ0soc2VsZik7Ci0gICAgaWYgKCFzZWxmLT5ydW5uaW5nKSB7Ci0gICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLCAib2JqZWN0IHdhcyBhbHJlYWR5ICIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJmbHVzaGVkIik7Ci0gICAgICAgIGdvdG8gZXJyb3I7Ci0gICAgfQotICAgIHNlbGYtPnJ1bm5pbmcgPSAwOwotCi0gICAgcmV0ID0gUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZShOVUxMLCBidWZzaXplKTsKLSAgICBpZiAoIXJldCkKLSAgICAgICAgZ290byBlcnJvcjsKLQotICAgIGJ6cy0+bmV4dF9vdXQgPSBCVUYocmV0KTsKLSAgICBienMtPmF2YWlsX291dCA9IGJ1ZnNpemU7Ci0KLSAgICB0b3RhbG91dCA9IEJaU19UT1RBTF9PVVQoYnpzKTsKLQotICAgIGZvciAoOzspIHsKLSAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgICAgICBiemVycm9yID0gQloyX2J6Q29tcHJlc3MoYnpzLCBCWl9GSU5JU0gpOwotICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwotICAgICAgICBpZiAoYnplcnJvciA9PSBCWl9TVFJFQU1fRU5EKSB7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfSBlbHNlIGlmIChiemVycm9yICE9IEJaX0ZJTklTSF9PSykgewotICAgICAgICAgICAgVXRpbF9DYXRjaEJaMkVycm9yKGJ6ZXJyb3IpOwotICAgICAgICAgICAgZ290byBlcnJvcjsKLSAgICAgICAgfQotICAgICAgICBpZiAoYnpzLT5hdmFpbF9vdXQgPT0gMCkgewotICAgICAgICAgICAgYnVmc2l6ZSA9IFV0aWxfTmV3QnVmZmVyU2l6ZShidWZzaXplKTsKLSAgICAgICAgICAgIGlmIChfUHlCeXRlc19SZXNpemUoJnJldCwgYnVmc2l6ZSkgPCAwKQotICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7Ci0gICAgICAgICAgICBienMtPm5leHRfb3V0ID0gQlVGKHJldCk7Ci0gICAgICAgICAgICBienMtPm5leHRfb3V0ID0gQlVGKHJldCkgKyAoQlpTX1RPVEFMX09VVChienMpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSB0b3RhbG91dCk7Ci0gICAgICAgICAgICBienMtPmF2YWlsX291dCA9IGJ1ZnNpemUgLSAoYnpzLT5uZXh0X291dCAtIEJVRihyZXQpKTsKLSAgICAgICAgfQotICAgIH0KLQotICAgIGlmIChienMtPmF2YWlsX291dCAhPSAwKSB7Ci0gICAgICAgIGlmIChfUHlCeXRlc19SZXNpemUoJnJldCwKLSAgICAgICAgICAgICAgICAgICAgKFB5X3NzaXplX3QpKEJaU19UT1RBTF9PVVQoYnpzKSAtIHRvdGFsb3V0KSkgPCAwKQotICAgICAgICAgICAgZ290byBlcnJvcjsKLSAgICB9Ci0KLSAgICBSRUxFQVNFX0xPQ0soc2VsZik7Ci0gICAgcmV0dXJuIHJldDsKLQotZXJyb3I6Ci0gICAgUkVMRUFTRV9MT0NLKHNlbGYpOwotICAgIFB5X1hERUNSRUYocmV0KTsKLSAgICByZXR1cm4gTlVMTDsKLX0KLQotc3RhdGljIFB5TWV0aG9kRGVmIEJaMkNvbXBfbWV0aG9kc1tdID0gewotICAgIHsiY29tcHJlc3MiLCAoUHlDRnVuY3Rpb24pQloyQ29tcF9jb21wcmVzcywgTUVUSF9WQVJBUkdTLAotICAgICBCWjJDb21wX2NvbXByZXNzX19kb2NfX30sCi0gICAgeyJmbHVzaCIsIChQeUNGdW5jdGlvbilCWjJDb21wX2ZsdXNoLCBNRVRIX05PQVJHUywKLSAgICAgQloyQ29tcF9mbHVzaF9fZG9jX199LAotICAgIHtOVUxMLCAgICAgICAgICAgICAgTlVMTH0gICAgICAgICAgIC8qIHNlbnRpbmVsICovCi19OwotCi0KLS8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwotLyogU2xvdCBkZWZpbml0aW9ucyBmb3IgQloyQ29tcF9UeXBlLiAqLwotCi1zdGF0aWMgaW50Ci1CWjJDb21wX2luaXQoQloyQ29tcE9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCi17Ci0gICAgaW50IGNvbXByZXNzbGV2ZWwgPSA5OwotICAgIGludCBiemVycm9yOwotICAgIHN0YXRpYyBjaGFyICprd2xpc3RbXSA9IHsiY29tcHJlc3NsZXZlbCIsIDB9OwotCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLCAifGk6QloyQ29tcHJlc3NvciIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga3dsaXN0LCAmY29tcHJlc3NsZXZlbCkpCi0gICAgICAgIHJldHVybiAtMTsKLQotICAgIGlmIChjb21wcmVzc2xldmVsIDwgMSB8fCBjb21wcmVzc2xldmVsID4gOSkgewotICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICAgICJjb21wcmVzc2xldmVsIG11c3QgYmUgYmV0d2VlbiAxIGFuZCA5Iik7Ci0gICAgICAgIGdvdG8gZXJyb3I7Ci0gICAgfQotCi0jaWZkZWYgV0lUSF9USFJFQUQKLSAgICBzZWxmLT5sb2NrID0gUHlUaHJlYWRfYWxsb2NhdGVfbG9jaygpOwotICAgIGlmICghc2VsZi0+bG9jaykgewotICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfTWVtb3J5RXJyb3IsICJ1bmFibGUgdG8gYWxsb2NhdGUgbG9jayIpOwotICAgICAgICBnb3RvIGVycm9yOwotICAgIH0KLSNlbmRpZgotCi0gICAgbWVtc2V0KCZzZWxmLT5ienMsIDAsIHNpemVvZihiel9zdHJlYW0pKTsKLSAgICBiemVycm9yID0gQloyX2J6Q29tcHJlc3NJbml0KCZzZWxmLT5ienMsIGNvbXByZXNzbGV2ZWwsIDAsIDApOwotICAgIGlmIChiemVycm9yICE9IEJaX09LKSB7Ci0gICAgICAgIFV0aWxfQ2F0Y2hCWjJFcnJvcihiemVycm9yKTsKLSAgICAgICAgZ290byBlcnJvcjsKLSAgICB9Ci0KLSAgICBzZWxmLT5ydW5uaW5nID0gMTsKLQotICAgIHJldHVybiAwOwotZXJyb3I6Ci0jaWZkZWYgV0lUSF9USFJFQUQKLSAgICBpZiAoc2VsZi0+bG9jaykgewotICAgICAgICBQeVRocmVhZF9mcmVlX2xvY2soc2VsZi0+bG9jayk7Ci0gICAgICAgIHNlbGYtPmxvY2sgPSBOVUxMOwotICAgIH0KLSNlbmRpZgotICAgIHJldHVybiAtMTsKLX0KLQotc3RhdGljIHZvaWQKLUJaMkNvbXBfZGVhbGxvYyhCWjJDb21wT2JqZWN0ICpzZWxmKQotewotI2lmZGVmIFdJVEhfVEhSRUFECi0gICAgaWYgKHNlbGYtPmxvY2spCi0gICAgICAgIFB5VGhyZWFkX2ZyZWVfbG9jayhzZWxmLT5sb2NrKTsKLSNlbmRpZgotICAgIEJaMl9iekNvbXByZXNzRW5kKCZzZWxmLT5ienMpOwotICAgIFB5X1RZUEUoc2VsZiktPnRwX2ZyZWUoKFB5T2JqZWN0ICopc2VsZik7Ci19Ci0KLQotLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCi0vKiBCWjJDb21wX1R5cGUgZGVmaW5pdGlvbi4gKi8KLQotUHlEb2NfU1RSVkFSKEJaMkNvbXBfX2RvY19fLAotIkJaMkNvbXByZXNzb3IoW2NvbXByZXNzbGV2ZWw9OV0pIC0+IGNvbXByZXNzb3Igb2JqZWN0XG5cCi1cblwKLUNyZWF0ZSBhIG5ldyBjb21wcmVzc29yIG9iamVjdC4gVGhpcyBvYmplY3QgbWF5IGJlIHVzZWQgdG8gY29tcHJlc3NcblwKLWRhdGEgc2VxdWVudGlhbGx5LiBJZiB5b3Ugd2FudCB0byBjb21wcmVzcyBkYXRhIGluIG9uZSBzaG90LCB1c2UgdGhlXG5cCi1jb21wcmVzcygpIGZ1bmN0aW9uIGluc3RlYWQuIFRoZSBjb21wcmVzc2xldmVsIHBhcmFtZXRlciwgaWYgZ2l2ZW4sXG5cCi1tdXN0IGJlIGEgbnVtYmVyIGJldHdlZW4gMSBhbmQgOS5cblwKLSIpOwotCi1zdGF0aWMgUHlUeXBlT2JqZWN0IEJaMkNvbXBfVHlwZSA9IHsKLSAgICBQeVZhck9iamVjdF9IRUFEX0lOSVQoTlVMTCwgMCkKLSAgICAiYnoyLkJaMkNvbXByZXNzb3IiLCAgICAgICAgLyp0cF9uYW1lKi8KLSAgICBzaXplb2YoQloyQ29tcE9iamVjdCksICAgICAgLyp0cF9iYXNpY3NpemUqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX2l0ZW1zaXplKi8KLSAgICAoZGVzdHJ1Y3RvcilCWjJDb21wX2RlYWxsb2MsIC8qdHBfZGVhbGxvYyovCi0gICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfcHJpbnQqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX2dldGF0dHIqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX3NldGF0dHIqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX3Jlc2VydmVkKi8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9yZXByKi8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9hc19udW1iZXIqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX2FzX3NlcXVlbmNlKi8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9hc19tYXBwaW5nKi8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9oYXNoKi8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAvKnRwX2NhbGwqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgIC8qdHBfc3RyKi8KLSAgICBQeU9iamVjdF9HZW5lcmljR2V0QXR0ciwvKnRwX2dldGF0dHJvKi8KLSAgICBQeU9iamVjdF9HZW5lcmljU2V0QXR0ciwvKnRwX3NldGF0dHJvKi8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAvKnRwX2FzX2J1ZmZlciovCi0gICAgUHlfVFBGTEFHU19ERUZBVUxUfFB5X1RQRkxBR1NfQkFTRVRZUEUsIC8qdHBfZmxhZ3MqLwotICAgIEJaMkNvbXBfX2RvY19fLCAgICAgICAgIC8qdHBfZG9jKi8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAvKnRwX3RyYXZlcnNlKi8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAvKnRwX2NsZWFyKi8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAvKnRwX3JpY2hjb21wYXJlKi8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAvKnRwX3dlYWtsaXN0b2Zmc2V0Ki8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAvKnRwX2l0ZXIqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgIC8qdHBfaXRlcm5leHQqLwotICAgIEJaMkNvbXBfbWV0aG9kcywgICAgICAgIC8qdHBfbWV0aG9kcyovCi0gICAgMCwgICAgICAgICAgICAgICAgICAgICAgLyp0cF9tZW1iZXJzKi8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAvKnRwX2dldHNldCovCi0gICAgMCwgICAgICAgICAgICAgICAgICAgICAgLyp0cF9iYXNlKi8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAvKnRwX2RpY3QqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgIC8qdHBfZGVzY3JfZ2V0Ki8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAvKnRwX2Rlc2NyX3NldCovCi0gICAgMCwgICAgICAgICAgICAgICAgICAgICAgLyp0cF9kaWN0b2Zmc2V0Ki8KLSAgICAoaW5pdHByb2MpQloyQ29tcF9pbml0LCAvKnRwX2luaXQqLwotICAgIFB5VHlwZV9HZW5lcmljQWxsb2MsICAgIC8qdHBfYWxsb2MqLwotICAgIFB5VHlwZV9HZW5lcmljTmV3LCAgICAgIC8qdHBfbmV3Ki8KLSAgICBQeU9iamVjdF9GcmVlLCAgICAgICAgICAvKnRwX2ZyZWUqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgIC8qdHBfaXNfZ2MqLwotfTsKLQotCi0vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KLS8qIE1lbWJlcnMgb2YgQloyRGVjb21wLiAqLwotCi0jdW5kZWYgT0ZGCi0jZGVmaW5lIE9GRih4KSBvZmZzZXRvZihCWjJEZWNvbXBPYmplY3QsIHgpCi0KLXN0YXRpYyBQeU1lbWJlckRlZiBCWjJEZWNvbXBfbWVtYmVyc1tdID0gewotICAgIHsidW51c2VkX2RhdGEiLCBUX09CSkVDVCwgT0ZGKHVudXNlZF9kYXRhKSwgUkVBRE9OTFl9LAotICAgIHtOVUxMfSAgICAgIC8qIFNlbnRpbmVsICovCi19OwotCi0KLS8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwotLyogTWV0aG9kcyBvZiBCWjJEZWNvbXAuICovCi0KLVB5RG9jX1NUUlZBUihCWjJEZWNvbXBfZGVjb21wcmVzc19fZG9jX18sCi0iZGVjb21wcmVzcyhkYXRhKSAtPiBzdHJpbmdcblwKLVxuXAotUHJvdmlkZSBtb3JlIGRhdGEgdG8gdGhlIGRlY29tcHJlc3NvciBvYmplY3QuIEl0IHdpbGwgcmV0dXJuIGNodW5rc1xuXAotb2YgZGVjb21wcmVzc2VkIGRhdGEgd2hlbmV2ZXIgcG9zc2libGUuIElmIHlvdSB0cnkgdG8gZGVjb21wcmVzcyBkYXRhXG5cCi1hZnRlciB0aGUgZW5kIG9mIHN0cmVhbSBpcyBmb3VuZCwgRU9GRXJyb3Igd2lsbCBiZSByYWlzZWQuIElmIGFueSBkYXRhXG5cCi13YXMgZm91bmQgYWZ0ZXIgdGhlIGVuZCBvZiBzdHJlYW0sIGl0J2xsIGJlIGlnbm9yZWQgYW5kIHNhdmVkIGluXG5cCi11bnVzZWRfZGF0YSBhdHRyaWJ1dGUuXG5cCi0iKTsKLQotc3RhdGljIFB5T2JqZWN0ICoKLUJaMkRlY29tcF9kZWNvbXByZXNzKEJaMkRlY29tcE9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCi17Ci0gICAgUHlfYnVmZmVyIHBkYXRhOwotICAgIGNoYXIgKmRhdGE7Ci0gICAgaW50IGRhdGFzaXplOwotICAgIGludCBidWZzaXplID0gU01BTExDSFVOSzsKLSAgICBQWV9MT05HX0xPTkcgdG90YWxvdXQ7Ci0gICAgUHlPYmplY3QgKnJldCA9IE5VTEw7Ci0gICAgYnpfc3RyZWFtICpienMgPSAmc2VsZi0+YnpzOwotICAgIGludCBiemVycm9yOwotCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJ5KjpkZWNvbXByZXNzIiwgJnBkYXRhKSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgZGF0YSA9IHBkYXRhLmJ1ZjsKLSAgICBkYXRhc2l6ZSA9IHBkYXRhLmxlbjsKLQotICAgIEFDUVVJUkVfTE9DSyhzZWxmKTsKLSAgICBpZiAoIXNlbGYtPnJ1bm5pbmcpIHsKLSAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX0VPRkVycm9yLCAiZW5kIG9mIHN0cmVhbSB3YXMgIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhbHJlYWR5IGZvdW5kIik7Ci0gICAgICAgIGdvdG8gZXJyb3I7Ci0gICAgfQotCi0gICAgcmV0ID0gUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZShOVUxMLCBidWZzaXplKTsKLSAgICBpZiAoIXJldCkKLSAgICAgICAgZ290byBlcnJvcjsKLQotICAgIGJ6cy0+bmV4dF9pbiA9IGRhdGE7Ci0gICAgYnpzLT5hdmFpbF9pbiA9IGRhdGFzaXplOwotICAgIGJ6cy0+bmV4dF9vdXQgPSBCVUYocmV0KTsKLSAgICBienMtPmF2YWlsX291dCA9IGJ1ZnNpemU7Ci0KLSAgICB0b3RhbG91dCA9IEJaU19UT1RBTF9PVVQoYnpzKTsKLQotICAgIGZvciAoOzspIHsKLSAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgICAgICBiemVycm9yID0gQloyX2J6RGVjb21wcmVzcyhienMpOwotICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwotICAgICAgICBpZiAoYnplcnJvciA9PSBCWl9TVFJFQU1fRU5EKSB7Ci0gICAgICAgICAgICBpZiAoYnpzLT5hdmFpbF9pbiAhPSAwKSB7Ci0gICAgICAgICAgICAgICAgUHlfREVDUkVGKHNlbGYtPnVudXNlZF9kYXRhKTsKLSAgICAgICAgICAgICAgICBzZWxmLT51bnVzZWRfZGF0YSA9Ci0gICAgICAgICAgICAgICAgICAgIFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUoYnpzLT5uZXh0X2luLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBienMtPmF2YWlsX2luKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHNlbGYtPnJ1bm5pbmcgPSAwOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKGJ6ZXJyb3IgIT0gQlpfT0spIHsKLSAgICAgICAgICAgIFV0aWxfQ2F0Y2hCWjJFcnJvcihiemVycm9yKTsKLSAgICAgICAgICAgIGdvdG8gZXJyb3I7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKGJ6cy0+YXZhaWxfaW4gPT0gMCkKLSAgICAgICAgICAgIGJyZWFrOyAvKiBubyBtb3JlIGlucHV0IGRhdGEgKi8KLSAgICAgICAgaWYgKGJ6cy0+YXZhaWxfb3V0ID09IDApIHsKLSAgICAgICAgICAgIGJ1ZnNpemUgPSBVdGlsX05ld0J1ZmZlclNpemUoYnVmc2l6ZSk7Ci0gICAgICAgICAgICBpZiAoX1B5Qnl0ZXNfUmVzaXplKCZyZXQsIGJ1ZnNpemUpIDwgMCkgewotICAgICAgICAgICAgICAgIEJaMl9iekRlY29tcHJlc3NFbmQoYnpzKTsKLSAgICAgICAgICAgICAgICBnb3RvIGVycm9yOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgYnpzLT5uZXh0X291dCA9IEJVRihyZXQpOwotICAgICAgICAgICAgYnpzLT5uZXh0X291dCA9IEJVRihyZXQpICsgKEJaU19UT1RBTF9PVVQoYnpzKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gdG90YWxvdXQpOwotICAgICAgICAgICAgYnpzLT5hdmFpbF9vdXQgPSBidWZzaXplIC0gKGJ6cy0+bmV4dF9vdXQgLSBCVUYocmV0KSk7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBpZiAoYnpzLT5hdmFpbF9vdXQgIT0gMCkgewotICAgICAgICBpZiAoX1B5Qnl0ZXNfUmVzaXplKCZyZXQsCi0gICAgICAgICAgICAgICAgICAgIChQeV9zc2l6ZV90KShCWlNfVE9UQUxfT1VUKGJ6cykgLSB0b3RhbG91dCkpIDwgMCkKLSAgICAgICAgICAgIGdvdG8gZXJyb3I7Ci0gICAgfQotCi0gICAgUkVMRUFTRV9MT0NLKHNlbGYpOwotICAgIFB5QnVmZmVyX1JlbGVhc2UoJnBkYXRhKTsKLSAgICByZXR1cm4gcmV0OwotCi1lcnJvcjoKLSAgICBSRUxFQVNFX0xPQ0soc2VsZik7Ci0gICAgUHlCdWZmZXJfUmVsZWFzZSgmcGRhdGEpOwotICAgIFB5X1hERUNSRUYocmV0KTsKLSAgICByZXR1cm4gTlVMTDsKLX0KLQotc3RhdGljIFB5TWV0aG9kRGVmIEJaMkRlY29tcF9tZXRob2RzW10gPSB7Ci0gICAgeyJkZWNvbXByZXNzIiwgKFB5Q0Z1bmN0aW9uKUJaMkRlY29tcF9kZWNvbXByZXNzLCBNRVRIX1ZBUkFSR1MsIEJaMkRlY29tcF9kZWNvbXByZXNzX19kb2NfX30sCi0gICAge05VTEwsICAgICAgICAgICAgICBOVUxMfSAgICAgICAgICAgLyogc2VudGluZWwgKi8KLX07Ci0KLQotLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCi0vKiBTbG90IGRlZmluaXRpb25zIGZvciBCWjJEZWNvbXBfVHlwZS4gKi8KLQotc3RhdGljIGludAotQloyRGVjb21wX2luaXQoQloyRGVjb21wT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKLXsKLSAgICBpbnQgYnplcnJvcjsKLQotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiOkJaMkRlY29tcHJlc3NvciIpKQotICAgICAgICByZXR1cm4gLTE7Ci0KLSNpZmRlZiBXSVRIX1RIUkVBRAotICAgIHNlbGYtPmxvY2sgPSBQeVRocmVhZF9hbGxvY2F0ZV9sb2NrKCk7Ci0gICAgaWYgKCFzZWxmLT5sb2NrKSB7Ci0gICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19NZW1vcnlFcnJvciwgInVuYWJsZSB0byBhbGxvY2F0ZSBsb2NrIik7Ci0gICAgICAgIGdvdG8gZXJyb3I7Ci0gICAgfQotI2VuZGlmCi0KLSAgICBzZWxmLT51bnVzZWRfZGF0YSA9IFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUoIiIsIDApOwotICAgIGlmICghc2VsZi0+dW51c2VkX2RhdGEpCi0gICAgICAgIGdvdG8gZXJyb3I7Ci0KLSAgICBtZW1zZXQoJnNlbGYtPmJ6cywgMCwgc2l6ZW9mKGJ6X3N0cmVhbSkpOwotICAgIGJ6ZXJyb3IgPSBCWjJfYnpEZWNvbXByZXNzSW5pdCgmc2VsZi0+YnpzLCAwLCAwKTsKLSAgICBpZiAoYnplcnJvciAhPSBCWl9PSykgewotICAgICAgICBVdGlsX0NhdGNoQloyRXJyb3IoYnplcnJvcik7Ci0gICAgICAgIGdvdG8gZXJyb3I7Ci0gICAgfQotCi0gICAgc2VsZi0+cnVubmluZyA9IDE7Ci0KLSAgICByZXR1cm4gMDsKLQotZXJyb3I6Ci0jaWZkZWYgV0lUSF9USFJFQUQKLSAgICBpZiAoc2VsZi0+bG9jaykgewotICAgICAgICBQeVRocmVhZF9mcmVlX2xvY2soc2VsZi0+bG9jayk7Ci0gICAgICAgIHNlbGYtPmxvY2sgPSBOVUxMOwotICAgIH0KLSNlbmRpZgotICAgIFB5X0NMRUFSKHNlbGYtPnVudXNlZF9kYXRhKTsKLSAgICByZXR1cm4gLTE7Ci19Ci0KLXN0YXRpYyB2b2lkCi1CWjJEZWNvbXBfZGVhbGxvYyhCWjJEZWNvbXBPYmplY3QgKnNlbGYpCi17Ci0jaWZkZWYgV0lUSF9USFJFQUQKLSAgICBpZiAoc2VsZi0+bG9jaykKLSAgICAgICAgUHlUaHJlYWRfZnJlZV9sb2NrKHNlbGYtPmxvY2spOwotI2VuZGlmCi0gICAgUHlfWERFQ1JFRihzZWxmLT51bnVzZWRfZGF0YSk7Ci0gICAgQloyX2J6RGVjb21wcmVzc0VuZCgmc2VsZi0+YnpzKTsKLSAgICBQeV9UWVBFKHNlbGYpLT50cF9mcmVlKChQeU9iamVjdCAqKXNlbGYpOwotfQotCi0KLS8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwotLyogQloyRGVjb21wX1R5cGUgZGVmaW5pdGlvbi4gKi8KLQotUHlEb2NfU1RSVkFSKEJaMkRlY29tcF9fZG9jX18sCi0iQloyRGVjb21wcmVzc29yKCkgLT4gZGVjb21wcmVzc29yIG9iamVjdFxuXAotXG5cCi1DcmVhdGUgYSBuZXcgZGVjb21wcmVzc29yIG9iamVjdC4gVGhpcyBvYmplY3QgbWF5IGJlIHVzZWQgdG8gZGVjb21wcmVzc1xuXAotZGF0YSBzZXF1ZW50aWFsbHkuIElmIHlvdSB3YW50IHRvIGRlY29tcHJlc3MgZGF0YSBpbiBvbmUgc2hvdCwgdXNlIHRoZVxuXAotZGVjb21wcmVzcygpIGZ1bmN0aW9uIGluc3RlYWQuXG5cCi0iKTsKLQotc3RhdGljIFB5VHlwZU9iamVjdCBCWjJEZWNvbXBfVHlwZSA9IHsKLSAgICBQeVZhck9iamVjdF9IRUFEX0lOSVQoTlVMTCwgMCkKLSAgICAiYnoyLkJaMkRlY29tcHJlc3NvciIsICAgICAgLyp0cF9uYW1lKi8KLSAgICBzaXplb2YoQloyRGVjb21wT2JqZWN0KSwgLyp0cF9iYXNpY3NpemUqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX2l0ZW1zaXplKi8KLSAgICAoZGVzdHJ1Y3RvcilCWjJEZWNvbXBfZGVhbGxvYywgLyp0cF9kZWFsbG9jKi8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9wcmludCovCi0gICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfZ2V0YXR0ciovCi0gICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfc2V0YXR0ciovCi0gICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfcmVzZXJ2ZWQqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX3JlcHIqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX2FzX251bWJlciovCi0gICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfYXNfc2VxdWVuY2UqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX2FzX21hcHBpbmcqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX2hhc2gqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgIC8qdHBfY2FsbCovCi0gICAgMCwgICAgICAgICAgICAgICAgICAgICAgLyp0cF9zdHIqLwotICAgIFB5T2JqZWN0X0dlbmVyaWNHZXRBdHRyLC8qdHBfZ2V0YXR0cm8qLwotICAgIFB5T2JqZWN0X0dlbmVyaWNTZXRBdHRyLC8qdHBfc2V0YXR0cm8qLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgIC8qdHBfYXNfYnVmZmVyKi8KLSAgICBQeV9UUEZMQUdTX0RFRkFVTFR8UHlfVFBGTEFHU19CQVNFVFlQRSwgLyp0cF9mbGFncyovCi0gICAgQloyRGVjb21wX19kb2NfXywgICAgICAgLyp0cF9kb2MqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgIC8qdHBfdHJhdmVyc2UqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgIC8qdHBfY2xlYXIqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgIC8qdHBfcmljaGNvbXBhcmUqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgIC8qdHBfd2Vha2xpc3RvZmZzZXQqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgIC8qdHBfaXRlciovCi0gICAgMCwgICAgICAgICAgICAgICAgICAgICAgLyp0cF9pdGVybmV4dCovCi0gICAgQloyRGVjb21wX21ldGhvZHMsICAgICAgLyp0cF9tZXRob2RzKi8KLSAgICBCWjJEZWNvbXBfbWVtYmVycywgICAgICAvKnRwX21lbWJlcnMqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgIC8qdHBfZ2V0c2V0Ki8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAvKnRwX2Jhc2UqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgIC8qdHBfZGljdCovCi0gICAgMCwgICAgICAgICAgICAgICAgICAgICAgLyp0cF9kZXNjcl9nZXQqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgIC8qdHBfZGVzY3Jfc2V0Ki8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAvKnRwX2RpY3RvZmZzZXQqLwotICAgIChpbml0cHJvYylCWjJEZWNvbXBfaW5pdCwgLyp0cF9pbml0Ki8KLSAgICBQeVR5cGVfR2VuZXJpY0FsbG9jLCAgICAvKnRwX2FsbG9jKi8KLSAgICBQeVR5cGVfR2VuZXJpY05ldywgICAgICAvKnRwX25ldyovCi0gICAgUHlPYmplY3RfRnJlZSwgICAgICAgICAgLyp0cF9mcmVlKi8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAvKnRwX2lzX2djKi8KLX07Ci0KLQotLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCi0vKiBNb2R1bGUgZnVuY3Rpb25zLiAqLwotCi1QeURvY19TVFJWQVIoYnoyX2NvbXByZXNzX19kb2NfXywKLSJjb21wcmVzcyhkYXRhIFssIGNvbXByZXNzbGV2ZWw9OV0pIC0+IHN0cmluZ1xuXAotXG5cCi1Db21wcmVzcyBkYXRhIGluIG9uZSBzaG90LiBJZiB5b3Ugd2FudCB0byBjb21wcmVzcyBkYXRhIHNlcXVlbnRpYWxseSxcblwKLXVzZSBhbiBpbnN0YW5jZSBvZiBCWjJDb21wcmVzc29yIGluc3RlYWQuIFRoZSBjb21wcmVzc2xldmVsIHBhcmFtZXRlciwgaWZcblwKLWdpdmVuLCBtdXN0IGJlIGEgbnVtYmVyIGJldHdlZW4gMSBhbmQgOS5cblwKLSIpOwotCi1zdGF0aWMgUHlPYmplY3QgKgotYnoyX2NvbXByZXNzKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKLXsKLSAgICBpbnQgY29tcHJlc3NsZXZlbD05OwotICAgIFB5X2J1ZmZlciBwZGF0YTsKLSAgICBjaGFyICpkYXRhOwotICAgIGludCBkYXRhc2l6ZTsKLSAgICBpbnQgYnVmc2l6ZTsKLSAgICBQeU9iamVjdCAqcmV0ID0gTlVMTDsKLSAgICBiel9zdHJlYW0gX2J6czsKLSAgICBiel9zdHJlYW0gKmJ6cyA9ICZfYnpzOwotICAgIGludCBiemVycm9yOwotICAgIHN0YXRpYyBjaGFyICprd2xpc3RbXSA9IHsiZGF0YSIsICJjb21wcmVzc2xldmVsIiwgMH07Ci0KLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsICJ5KnxpIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrd2xpc3QsICZwZGF0YSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmY29tcHJlc3NsZXZlbCkpCi0gICAgICAgIHJldHVybiBOVUxMOwotICAgIGRhdGEgPSBwZGF0YS5idWY7Ci0gICAgZGF0YXNpemUgPSBwZGF0YS5sZW47Ci0KLSAgICBpZiAoY29tcHJlc3NsZXZlbCA8IDEgfHwgY29tcHJlc3NsZXZlbCA+IDkpIHsKLSAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAgICAiY29tcHJlc3NsZXZlbCBtdXN0IGJlIGJldHdlZW4gMSBhbmQgOSIpOwotICAgICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZwZGF0YSk7Ci0gICAgICAgIHJldHVybiBOVUxMOwotICAgIH0KLQotICAgIC8qIENvbmZvcm1pbmcgdG8gYnoyIG1hbnVhbCwgdGhpcyBpcyBsYXJnZSBlbm91Z2ggdG8gZml0IGNvbXByZXNzZWQKLSAgICAgKiBkYXRhIGluIG9uZSBzaG90LiBXZSB3aWxsIGNoZWNrIGl0IGxhdGVyIGFueXdheS4gKi8KLSAgICBidWZzaXplID0gZGF0YXNpemUgKyAoZGF0YXNpemUvMTAwKzEpICsgNjAwOwotCi0gICAgcmV0ID0gUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZShOVUxMLCBidWZzaXplKTsKLSAgICBpZiAoIXJldCkgewotICAgICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZwZGF0YSk7Ci0gICAgICAgIHJldHVybiBOVUxMOwotICAgIH0KLQotICAgIG1lbXNldChienMsIDAsIHNpemVvZihiel9zdHJlYW0pKTsKLQotICAgIGJ6cy0+bmV4dF9pbiA9IGRhdGE7Ci0gICAgYnpzLT5hdmFpbF9pbiA9IGRhdGFzaXplOwotICAgIGJ6cy0+bmV4dF9vdXQgPSBCVUYocmV0KTsKLSAgICBienMtPmF2YWlsX291dCA9IGJ1ZnNpemU7Ci0KLSAgICBiemVycm9yID0gQloyX2J6Q29tcHJlc3NJbml0KGJ6cywgY29tcHJlc3NsZXZlbCwgMCwgMCk7Ci0gICAgaWYgKGJ6ZXJyb3IgIT0gQlpfT0spIHsKLSAgICAgICAgVXRpbF9DYXRjaEJaMkVycm9yKGJ6ZXJyb3IpOwotICAgICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZwZGF0YSk7Ci0gICAgICAgIFB5X0RFQ1JFRihyZXQpOwotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICB9Ci0KLSAgICBmb3IgKDs7KSB7Ci0gICAgICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKLSAgICAgICAgYnplcnJvciA9IEJaMl9iekNvbXByZXNzKGJ6cywgQlpfRklOSVNIKTsKLSAgICAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKLSAgICAgICAgaWYgKGJ6ZXJyb3IgPT0gQlpfU1RSRUFNX0VORCkgewotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0gZWxzZSBpZiAoYnplcnJvciAhPSBCWl9GSU5JU0hfT0spIHsKLSAgICAgICAgICAgIEJaMl9iekNvbXByZXNzRW5kKGJ6cyk7Ci0gICAgICAgICAgICBVdGlsX0NhdGNoQloyRXJyb3IoYnplcnJvcik7Ci0gICAgICAgICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZwZGF0YSk7Ci0gICAgICAgICAgICBQeV9ERUNSRUYocmV0KTsKLSAgICAgICAgICAgIHJldHVybiBOVUxMOwotICAgICAgICB9Ci0gICAgICAgIGlmIChienMtPmF2YWlsX291dCA9PSAwKSB7Ci0gICAgICAgICAgICBidWZzaXplID0gVXRpbF9OZXdCdWZmZXJTaXplKGJ1ZnNpemUpOwotICAgICAgICAgICAgaWYgKF9QeUJ5dGVzX1Jlc2l6ZSgmcmV0LCBidWZzaXplKSA8IDApIHsKLSAgICAgICAgICAgICAgICBCWjJfYnpDb21wcmVzc0VuZChienMpOwotICAgICAgICAgICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJnBkYXRhKTsKLSAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGJ6cy0+bmV4dF9vdXQgPSBCVUYocmV0KSArIEJaU19UT1RBTF9PVVQoYnpzKTsKLSAgICAgICAgICAgIGJ6cy0+YXZhaWxfb3V0ID0gYnVmc2l6ZSAtIChienMtPm5leHRfb3V0IC0gQlVGKHJldCkpOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgaWYgKGJ6cy0+YXZhaWxfb3V0ICE9IDApIHsKLSAgICAgICAgaWYgKF9QeUJ5dGVzX1Jlc2l6ZSgmcmV0LCAoUHlfc3NpemVfdClCWlNfVE9UQUxfT1VUKGJ6cykpIDwgMCkgewotICAgICAgICAgICAgcmV0ID0gTlVMTDsKLSAgICAgICAgfQotICAgIH0KLSAgICBCWjJfYnpDb21wcmVzc0VuZChienMpOwotCi0gICAgUHlCdWZmZXJfUmVsZWFzZSgmcGRhdGEpOwotICAgIHJldHVybiByZXQ7Ci19Ci0KLVB5RG9jX1NUUlZBUihiejJfZGVjb21wcmVzc19fZG9jX18sCi0iZGVjb21wcmVzcyhkYXRhKSAtPiBkZWNvbXByZXNzZWQgZGF0YVxuXAotXG5cCi1EZWNvbXByZXNzIGRhdGEgaW4gb25lIHNob3QuIElmIHlvdSB3YW50IHRvIGRlY29tcHJlc3MgZGF0YSBzZXF1ZW50aWFsbHksXG5cCi11c2UgYW4gaW5zdGFuY2Ugb2YgQloyRGVjb21wcmVzc29yIGluc3RlYWQuXG5cCi0iKTsKLQotc3RhdGljIFB5T2JqZWN0ICoKLWJ6Ml9kZWNvbXByZXNzKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKLXsKLSAgICBQeV9idWZmZXIgcGRhdGE7Ci0gICAgY2hhciAqZGF0YTsKLSAgICBpbnQgZGF0YXNpemU7Ci0gICAgaW50IGJ1ZnNpemUgPSBTTUFMTENIVU5LOwotICAgIFB5T2JqZWN0ICpyZXQ7Ci0gICAgYnpfc3RyZWFtIF9ienM7Ci0gICAgYnpfc3RyZWFtICpienMgPSAmX2J6czsKLSAgICBpbnQgYnplcnJvcjsKLQotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAieSo6ZGVjb21wcmVzcyIsICZwZGF0YSkpCi0gICAgICAgIHJldHVybiBOVUxMOwotICAgIGRhdGEgPSBwZGF0YS5idWY7Ci0gICAgZGF0YXNpemUgPSBwZGF0YS5sZW47Ci0KLSAgICBpZiAoZGF0YXNpemUgPT0gMCkgewotICAgICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZwZGF0YSk7Ci0gICAgICAgIHJldHVybiBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplKCIiLCAwKTsKLSAgICB9Ci0KLSAgICByZXQgPSBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplKE5VTEwsIGJ1ZnNpemUpOwotICAgIGlmICghcmV0KSB7Ci0gICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJnBkYXRhKTsKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgfQotCi0gICAgbWVtc2V0KGJ6cywgMCwgc2l6ZW9mKGJ6X3N0cmVhbSkpOwotCi0gICAgYnpzLT5uZXh0X2luID0gZGF0YTsKLSAgICBienMtPmF2YWlsX2luID0gZGF0YXNpemU7Ci0gICAgYnpzLT5uZXh0X291dCA9IEJVRihyZXQpOwotICAgIGJ6cy0+YXZhaWxfb3V0ID0gYnVmc2l6ZTsKLQotICAgIGJ6ZXJyb3IgPSBCWjJfYnpEZWNvbXByZXNzSW5pdChienMsIDAsIDApOwotICAgIGlmIChiemVycm9yICE9IEJaX09LKSB7Ci0gICAgICAgIFV0aWxfQ2F0Y2hCWjJFcnJvcihiemVycm9yKTsKLSAgICAgICAgUHlfREVDUkVGKHJldCk7Ci0gICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJnBkYXRhKTsKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgfQotCi0gICAgZm9yICg7OykgewotICAgICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCi0gICAgICAgIGJ6ZXJyb3IgPSBCWjJfYnpEZWNvbXByZXNzKGJ6cyk7Ci0gICAgICAgIFB5X0VORF9BTExPV19USFJFQURTCi0gICAgICAgIGlmIChiemVycm9yID09IEJaX1NUUkVBTV9FTkQpIHsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9IGVsc2UgaWYgKGJ6ZXJyb3IgIT0gQlpfT0spIHsKLSAgICAgICAgICAgIEJaMl9iekRlY29tcHJlc3NFbmQoYnpzKTsKLSAgICAgICAgICAgIFV0aWxfQ2F0Y2hCWjJFcnJvcihiemVycm9yKTsKLSAgICAgICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJnBkYXRhKTsKLSAgICAgICAgICAgIFB5X0RFQ1JFRihyZXQpOwotICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKGJ6cy0+YXZhaWxfaW4gPT0gMCkgewotICAgICAgICAgICAgQloyX2J6RGVjb21wcmVzc0VuZChienMpOwotICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvdWxkbid0IGZpbmQgZW5kIG9mIHN0cmVhbSIpOwotICAgICAgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmcGRhdGEpOwotICAgICAgICAgICAgUHlfREVDUkVGKHJldCk7Ci0gICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgfQotICAgICAgICBpZiAoYnpzLT5hdmFpbF9vdXQgPT0gMCkgewotICAgICAgICAgICAgYnVmc2l6ZSA9IFV0aWxfTmV3QnVmZmVyU2l6ZShidWZzaXplKTsKLSAgICAgICAgICAgIGlmIChfUHlCeXRlc19SZXNpemUoJnJldCwgYnVmc2l6ZSkgPCAwKSB7Ci0gICAgICAgICAgICAgICAgQloyX2J6RGVjb21wcmVzc0VuZChienMpOwotICAgICAgICAgICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJnBkYXRhKTsKLSAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGJ6cy0+bmV4dF9vdXQgPSBCVUYocmV0KSArIEJaU19UT1RBTF9PVVQoYnpzKTsKLSAgICAgICAgICAgIGJ6cy0+YXZhaWxfb3V0ID0gYnVmc2l6ZSAtIChienMtPm5leHRfb3V0IC0gQlVGKHJldCkpOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgaWYgKGJ6cy0+YXZhaWxfb3V0ICE9IDApIHsKLSAgICAgICAgaWYgKF9QeUJ5dGVzX1Jlc2l6ZSgmcmV0LCAoUHlfc3NpemVfdClCWlNfVE9UQUxfT1VUKGJ6cykpIDwgMCkgewotICAgICAgICAgICAgcmV0ID0gTlVMTDsKLSAgICAgICAgfQotICAgIH0KLSAgICBCWjJfYnpEZWNvbXByZXNzRW5kKGJ6cyk7Ci0gICAgUHlCdWZmZXJfUmVsZWFzZSgmcGRhdGEpOwotCi0gICAgcmV0dXJuIHJldDsKLX0KLQotc3RhdGljIFB5TWV0aG9kRGVmIGJ6Ml9tZXRob2RzW10gPSB7Ci0gICAgeyJjb21wcmVzcyIsIChQeUNGdW5jdGlvbikgYnoyX2NvbXByZXNzLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywKLSAgICAgICAgYnoyX2NvbXByZXNzX19kb2NfX30sCi0gICAgeyJkZWNvbXByZXNzIiwgKFB5Q0Z1bmN0aW9uKSBiejJfZGVjb21wcmVzcywgTUVUSF9WQVJBUkdTLAotICAgICAgICBiejJfZGVjb21wcmVzc19fZG9jX199LAotICAgIHtOVUxMLCAgICAgICAgICAgICAgTlVMTH0gICAgICAgICAgIC8qIHNlbnRpbmVsICovCi19OwotCi0vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KLS8qIEluaXRpYWxpemF0aW9uIGZ1bmN0aW9uLiAqLwotCi1QeURvY19TVFJWQVIoYnoyX19kb2NfXywKLSJUaGUgcHl0aG9uIGJ6MiBtb2R1bGUgcHJvdmlkZXMgYSBjb21wcmVoZW5zaXZlIGludGVyZmFjZSBmb3JcblwKLXRoZSBiejIgY29tcHJlc3Npb24gbGlicmFyeS4gSXQgaW1wbGVtZW50cyBhIGNvbXBsZXRlIGZpbGVcblwKLWludGVyZmFjZSwgb25lIHNob3QgKGRlKWNvbXByZXNzaW9uIGZ1bmN0aW9ucywgYW5kIHR5cGVzIGZvclxuXAotc2VxdWVudGlhbCAoZGUpY29tcHJlc3Npb24uXG5cCi0iKTsKLQotCi1zdGF0aWMgc3RydWN0IFB5TW9kdWxlRGVmIGJ6Mm1vZHVsZSA9IHsKLSAgICBQeU1vZHVsZURlZl9IRUFEX0lOSVQsCi0gICAgImJ6MiIsCi0gICAgYnoyX19kb2NfXywKLSAgICAtMSwKLSAgICBiejJfbWV0aG9kcywKLSAgICBOVUxMLAotICAgIE5VTEwsCi0gICAgTlVMTCwKLSAgICBOVUxMCi19OwotCi1QeU1PRElOSVRfRlVOQwotUHlJbml0X2J6Mih2b2lkKQotewotICAgIFB5T2JqZWN0ICptOwotCi0gICAgaWYgKFB5VHlwZV9SZWFkeSgmQloyRmlsZV9UeXBlKSA8IDApCi0gICAgICAgIHJldHVybiBOVUxMOwotICAgIGlmIChQeVR5cGVfUmVhZHkoJkJaMkNvbXBfVHlwZSkgPCAwKQotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBpZiAoUHlUeXBlX1JlYWR5KCZCWjJEZWNvbXBfVHlwZSkgPCAwKQotICAgICAgICByZXR1cm4gTlVMTDsKLQotICAgIG0gPSBQeU1vZHVsZV9DcmVhdGUoJmJ6Mm1vZHVsZSk7Ci0gICAgaWYgKG0gPT0gTlVMTCkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0KLSAgICBQeU1vZHVsZV9BZGRPYmplY3QobSwgIl9fYXV0aG9yX18iLCBQeVVuaWNvZGVfRnJvbVN0cmluZyhfX2F1dGhvcl9fKSk7Ci0KLSAgICBQeV9JTkNSRUYoJkJaMkZpbGVfVHlwZSk7Ci0gICAgUHlNb2R1bGVfQWRkT2JqZWN0KG0sICJCWjJGaWxlIiwgKFB5T2JqZWN0ICopJkJaMkZpbGVfVHlwZSk7Ci0KLSAgICBQeV9JTkNSRUYoJkJaMkNvbXBfVHlwZSk7Ci0gICAgUHlNb2R1bGVfQWRkT2JqZWN0KG0sICJCWjJDb21wcmVzc29yIiwgKFB5T2JqZWN0ICopJkJaMkNvbXBfVHlwZSk7Ci0KLSAgICBQeV9JTkNSRUYoJkJaMkRlY29tcF9UeXBlKTsKLSAgICBQeU1vZHVsZV9BZGRPYmplY3QobSwgIkJaMkRlY29tcHJlc3NvciIsIChQeU9iamVjdCAqKSZCWjJEZWNvbXBfVHlwZSk7Ci0gICAgcmV0dXJuIG07Ci19CmRpZmYgLS1naXQgYS9Nb2R1bGVzL2Nqa2NvZGVjcy9fY29kZWNzX2NuLmMgYi9Nb2R1bGVzL2Nqa2NvZGVjcy9fY29kZWNzX2NuLmMKaW5kZXggYWI0ZTY1OS4uOWU5ZTk2YyAxMDA2NDQKLS0tIGEvTW9kdWxlcy9jamtjb2RlY3MvX2NvZGVjc19jbi5jCisrKyBiL01vZHVsZXMvY2prY29kZWNzL19jb2RlY3NfY24uYwpAQCAtODUsNyArODUsNyBAQAogICAgICAgICBUUllNQVBfREVDKGdiMjMxMiwgKipvdXRidWYsIGMgXiAweDgwLCBJTjIgXiAweDgwKSB7CiAgICAgICAgICAgICBORVhUKDIsIDEpCiAgICAgICAgIH0KLSAgICAgICAgZWxzZSByZXR1cm4gMjsKKyAgICAgICAgZWxzZSByZXR1cm4gMTsKICAgICB9CiAKICAgICByZXR1cm4gMDsKQEAgLTE0MSw3ICsxNDEsNyBAQAogICAgICAgICBSRVFVSVJFX0lOQlVGKDIpCiAKICAgICAgICAgR0JLX0RFQ09ERShjLCBJTjIsICoqb3V0YnVmKQotICAgICAgICBlbHNlIHJldHVybiAyOworICAgICAgICBlbHNlIHJldHVybiAxOwogCiAgICAgICAgIE5FWFQoMiwgMSkKICAgICB9CkBAIC0yNjcsNyArMjY3LDcgQEAKICAgICAgICAgICAgIGMzID0gSU4zOwogICAgICAgICAgICAgYzQgPSBJTjQ7CiAgICAgICAgICAgICBpZiAoYyA8IDB4ODEgfHwgYzMgPCAweDgxIHx8IGM0IDwgMHgzMCB8fCBjNCA+IDB4MzkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIDQ7CisgICAgICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgICAgICBjIC09IDB4ODE7ICBjMiAtPSAweDMwOwogICAgICAgICAgICAgYzMgLT0gMHg4MTsgYzQgLT0gMHgzMDsKIApAQCAtMjkyLDEyICsyOTIsMTIgQEAKICAgICAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQotICAgICAgICAgICAgcmV0dXJuIDQ7CisgICAgICAgICAgICByZXR1cm4gMTsKICAgICAgICAgfQogCiAgICAgICAgIEdCS19ERUNPREUoYywgYzIsICoqb3V0YnVmKQogICAgICAgICBlbHNlIFRSWU1BUF9ERUMoZ2IxODAzMGV4dCwgKipvdXRidWYsIGMsIGMyKTsKLSAgICAgICAgZWxzZSByZXR1cm4gMjsKKyAgICAgICAgZWxzZSByZXR1cm4gMTsKIAogICAgICAgICBORVhUKDIsIDEpCiAgICAgfQpAQCAtNDAwLDcgKzQwMCw3IEBACiAgICAgICAgICAgICBlbHNlIGlmIChjMiA9PSAnXG4nKQogICAgICAgICAgICAgICAgIDsgLyogbGluZS1jb250aW51YXRpb24gKi8KICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICByZXR1cm4gMjsKKyAgICAgICAgICAgICAgICByZXR1cm4gMTsKICAgICAgICAgICAgIE5FWFQoMiwgMCk7CiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgfQpAQCAtNDE5LDcgKzQxOSw3IEBACiAgICAgICAgICAgICAgICAgTkVYVCgyLCAxKQogICAgICAgICAgICAgfQogICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIHJldHVybiAyOworICAgICAgICAgICAgICAgIHJldHVybiAxOwogICAgICAgICB9CiAgICAgfQogCmRpZmYgLS1naXQgYS9Nb2R1bGVzL2Nqa2NvZGVjcy9fY29kZWNzX2hrLmMgYi9Nb2R1bGVzL2Nqa2NvZGVjcy9fY29kZWNzX2hrLmMKaW5kZXggNTU4YTQyZi4uZDNhZDA0YiAxMDA2NDQKLS0tIGEvTW9kdWxlcy9jamtjb2RlY3MvX2NvZGVjc19oay5jCisrKyBiL01vZHVsZXMvY2prY29kZWNzL19jb2RlY3NfaGsuYwpAQCAtMTYxLDcgKzE2MSw3IEBACiAgICAgICAgIGNhc2UgMHg4ODY0OiBXUklURTIoMHgwMGNhLCAweDAzMGMpOyBicmVhazsKICAgICAgICAgY2FzZSAweDg4YTM6IFdSSVRFMigweDAwZWEsIDB4MDMwNCk7IGJyZWFrOwogICAgICAgICBjYXNlIDB4ODhhNTogV1JJVEUyKDB4MDBlYSwgMHgwMzBjKTsgYnJlYWs7Ci0gICAgICAgIGRlZmF1bHQ6IHJldHVybiAyOworICAgICAgICBkZWZhdWx0OiByZXR1cm4gMTsKICAgICAgICAgfQogCiAgICAgICAgIE5FWFQoMiwgMikgLyogYWxsIGRlY29kZWQgY29kZXBvaW50cyBhcmUgcGFpcnMsIGFib3ZlLiAqLwpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9jamtjb2RlY3MvX2NvZGVjc19pc28yMDIyLmMgYi9Nb2R1bGVzL2Nqa2NvZGVjcy9fY29kZWNzX2lzbzIwMjIuYwppbmRleCAyNWMxYTM2Li5jYmMxNTQyIDEwMDY0NAotLS0gYS9Nb2R1bGVzL2Nqa2NvZGVjcy9fY29kZWNzX2lzbzIwMjIuYworKysgYi9Nb2R1bGVzL2Nqa2NvZGVjcy9fY29kZWNzX2lzbzIwMjIuYwpAQCAtMTIzLDcgKzEyMyw3IEBACiAKIENPREVDX0lOSVQoaXNvMjAyMikKIHsKLSAgICBjb25zdCBzdHJ1Y3QgaXNvMjAyMl9kZXNpZ25hdGlvbiAqZGVzaWcgPSBDT05GSUdfREVTSUdOQVRJT05TOworICAgIGNvbnN0IHN0cnVjdCBpc28yMDIyX2Rlc2lnbmF0aW9uICpkZXNpZzsKICAgICBmb3IgKGRlc2lnID0gQ09ORklHX0RFU0lHTkFUSU9OUzsgZGVzaWctPm1hcms7IGRlc2lnKyspCiAgICAgICAgIGlmIChkZXNpZy0+aW5pdGlhbGl6ZXIgIT0gTlVMTCAmJiBkZXNpZy0+aW5pdGlhbGl6ZXIoKSAhPSAwKQogICAgICAgICAgICAgcmV0dXJuIC0xOwpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9jamtjb2RlY3MvX2NvZGVjc19qcC5jIGIvTW9kdWxlcy9jamtjb2RlY3MvX2NvZGVjc19qcC5jCmluZGV4IGEwNWUwMWIuLmE1MDA2OTYgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvY2prY29kZWNzL19jb2RlY3NfanAuYworKysgYi9Nb2R1bGVzL2Nqa2NvZGVjcy9fY29kZWNzX2pwLmMKQEAgLTExMiw3ICsxMTIsNyBAQAogICAgICAgICBUUllNQVBfREVDKGNwOTMyZXh0LCAqKm91dGJ1ZiwgYywgYzIpOwogICAgICAgICBlbHNlIGlmICgoYyA+PSAweDgxICYmIGMgPD0gMHg5ZikgfHwgKGMgPj0gMHhlMCAmJiBjIDw9IDB4ZWEpKXsKICAgICAgICAgICAgIGlmIChjMiA8IDB4NDAgfHwgKGMyID4gMHg3ZSAmJiBjMiA8IDB4ODApIHx8IGMyID4gMHhmYykKLSAgICAgICAgICAgICAgICByZXR1cm4gMjsKKyAgICAgICAgICAgICAgICByZXR1cm4gMTsKIAogICAgICAgICAgICAgYyA9IChjIDwgMHhlMCA/IGMgLSAweDgxIDogYyAtIDB4YzEpOwogICAgICAgICAgICAgYzIgPSAoYzIgPCAweDgwID8gYzIgLSAweDQwIDogYzIgLSAweDQxKTsKQEAgLTEyMCw3ICsxMjAsNyBAQAogICAgICAgICAgICAgYzIgPSAoYzIgPCAweDVlID8gYzIgOiBjMiAtIDB4NWUpICsgMHgyMTsKIAogICAgICAgICAgICAgVFJZTUFQX0RFQyhqaXN4MDIwOCwgKipvdXRidWYsIGMsIGMyKTsKLSAgICAgICAgICAgIGVsc2UgcmV0dXJuIDI7CisgICAgICAgICAgICBlbHNlIHJldHVybiAxOwogICAgICAgICB9CiAgICAgICAgIGVsc2UgaWYgKGMgPj0gMHhmMCAmJiBjIDw9IDB4ZjkpIHsKICAgICAgICAgICAgIGlmICgoYzIgPj0gMHg0MCAmJiBjMiA8PSAweDdlKSB8fApAQCAtMTI4LDEwICsxMjgsMTAgQEAKICAgICAgICAgICAgICAgICBPVVQxKDB4ZTAwMCArIDE4OCAqIChjIC0gMHhmMCkgKwogICAgICAgICAgICAgICAgICAgICAgKGMyIDwgMHg4MCA/IGMyIC0gMHg0MCA6IGMyIC0gMHg0MSkpCiAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgcmV0dXJuIDI7CisgICAgICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgIH0KICAgICAgICAgZWxzZQotICAgICAgICAgICAgcmV0dXJuIDI7CisgICAgICAgICAgICByZXR1cm4gMTsKIAogICAgICAgICBORVhUKDIsIDEpCiAgICAgfQpAQCAtMjU2LDcgKzI1Niw3IEBACiAgICAgICAgICAgICAgICAgTkVYVCgyLCAxKQogICAgICAgICAgICAgfQogICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIHJldHVybiAyOworICAgICAgICAgICAgICAgIHJldHVybiAxOwogICAgICAgICB9CiAgICAgICAgIGVsc2UgaWYgKGMgPT0gMHg4ZikgewogICAgICAgICAgICAgdW5zaWduZWQgY2hhciBjMiwgYzM7CkBAIC0yNzQsNyArMjc0LDcgQEAKICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGVsc2UgVFJZTUFQX0RFQyhqaXN4MDIxMiwgKipvdXRidWYsIGMyLCBjMykgOwotICAgICAgICAgICAgZWxzZSByZXR1cm4gMzsKKyAgICAgICAgICAgIGVsc2UgcmV0dXJuIDE7CiAgICAgICAgICAgICBORVhUKDMsIDEpCiAgICAgICAgIH0KICAgICAgICAgZWxzZSB7CkBAIC0zMDAsNyArMzAwLDcgQEAKICAgICAgICAgICAgICAgICBORVhUKDIsIDIpCiAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBlbHNlIHJldHVybiAyOworICAgICAgICAgICAgZWxzZSByZXR1cm4gMTsKICAgICAgICAgICAgIE5FWFQoMiwgMSkKICAgICAgICAgfQogICAgIH0KQEAgLTM4OCw3ICszODgsNyBAQAogICAgICAgICAgICAgICAgIE5FWFQoMiwgMSkKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICByZXR1cm4gMjsKKyAgICAgICAgICAgICAgICByZXR1cm4gMTsKICAgICAgICAgfQogICAgICAgICBlbHNlIGlmIChjID09IDB4OGYpIHsKICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIgYzIsIGMzOwpAQCAtNDAxLDcgKzQwMSw3IEBACiAgICAgICAgICAgICAgICAgTkVYVCgzLCAxKQogICAgICAgICAgICAgfQogICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIHJldHVybiAzOworICAgICAgICAgICAgICAgIHJldHVybiAxOwogICAgICAgICB9CiAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgdW5zaWduZWQgY2hhciBjMjsKQEAgLTQxNyw3ICs0MTcsNyBAQAogI2VuZGlmCiAgICAgICAgICAgICAgICAgVFJZTUFQX0RFQyhqaXN4MDIwOCwgKipvdXRidWYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjIF4gMHg4MCwgYzIgXiAweDgwKSA7Ci0gICAgICAgICAgICBlbHNlIHJldHVybiAyOworICAgICAgICAgICAgZWxzZSByZXR1cm4gMTsKICAgICAgICAgICAgIE5FWFQoMiwgMSkKICAgICAgICAgfQogICAgIH0KQEAgLTUwMiw3ICs1MDIsNyBAQAogICAgICAgICAgICAgUkVRVUlSRV9JTkJVRigyKQogICAgICAgICAgICAgYzIgPSBJTjI7CiAgICAgICAgICAgICBpZiAoYzIgPCAweDQwIHx8IChjMiA+IDB4N2UgJiYgYzIgPCAweDgwKSB8fCBjMiA+IDB4ZmMpCi0gICAgICAgICAgICAgICAgcmV0dXJuIDI7CisgICAgICAgICAgICAgICAgcmV0dXJuIDE7CiAKICAgICAgICAgICAgIGMxID0gKGMgPCAweGUwID8gYyAtIDB4ODEgOiBjIC0gMHhjMSk7CiAgICAgICAgICAgICBjMiA9IChjMiA8IDB4ODAgPyBjMiAtIDB4NDAgOiBjMiAtIDB4NDEpOwpAQCAtNTIyLDEwICs1MjIsMTAgQEAKICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICByZXR1cm4gMjsKKyAgICAgICAgICAgICAgICByZXR1cm4gMTsKICAgICAgICAgfQogICAgICAgICBlbHNlCi0gICAgICAgICAgICByZXR1cm4gMjsKKyAgICAgICAgICAgIHJldHVybiAxOwogCiAgICAgICAgIE5FWFQoMSwgMSkgLyogSklTIFggMDIwMSAqLwogICAgIH0KQEAgLTY0NSw3ICs2NDUsNyBAQAogICAgICAgICAgICAgUkVRVUlSRV9JTkJVRigyKQogICAgICAgICAgICAgYzIgPSBJTjI7CiAgICAgICAgICAgICBpZiAoYzIgPCAweDQwIHx8IChjMiA+IDB4N2UgJiYgYzIgPCAweDgwKSB8fCBjMiA+IDB4ZmMpCi0gICAgICAgICAgICAgICAgcmV0dXJuIDI7CisgICAgICAgICAgICAgICAgcmV0dXJuIDE7CiAKICAgICAgICAgICAgIGMxID0gKGMgPCAweGUwID8gYyAtIDB4ODEgOiBjIC0gMHhjMSk7CiAgICAgICAgICAgICBjMiA9IChjMiA8IDB4ODAgPyBjMiAtIDB4NDAgOiBjMiAtIDB4NDEpOwpAQCAtNjcxLDcgKzY3MSw3IEBACiAgICAgICAgICAgICAgICAgICAgIE5FWFRfT1VUKDIpCiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDI7CisgICAgICAgICAgICAgICAgICAgIHJldHVybiAxOwogICAgICAgICAgICAgICAgIE5FWFRfSU4oMikKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGVsc2UgeyAvKiBQbGFuZSAyICovCkBAIC02ODksMTMgKzY4OSwxMyBAQAogICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICByZXR1cm4gMjsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgICAgICAgICAgTkVYVCgyLCAxKQogICAgICAgICAgICAgfQogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0KICAgICAgICAgZWxzZQotICAgICAgICAgICAgcmV0dXJuIDI7CisgICAgICAgICAgICByZXR1cm4gMTsKIAogICAgICAgICBORVhUKDEsIDEpIC8qIEpJUyBYIDAyMDEgKi8KICAgICB9CmRpZmYgLS1naXQgYS9Nb2R1bGVzL2Nqa2NvZGVjcy9fY29kZWNzX2tyLmMgYi9Nb2R1bGVzL2Nqa2NvZGVjcy9fY29kZWNzX2tyLmMKaW5kZXggOTI3MmUzNi4uZjU2OTdkZCAxMDA2NDQKLS0tIGEvTW9kdWxlcy9jamtjb2RlY3MvX2NvZGVjc19rci5jCisrKyBiL01vZHVsZXMvY2prY29kZWNzL19jb2RlY3Nfa3IuYwpAQCAtMTIzLDcgKzEyMyw3IEBACiAgICAgICAgICAgICBpZiAoKCppbmJ1ZilbMl0gIT0gRVVDS1JfSkFNT19GSVJTVEJZVEUgfHwKICAgICAgICAgICAgICAgICAoKmluYnVmKVs0XSAhPSBFVUNLUl9KQU1PX0ZJUlNUQllURSB8fAogICAgICAgICAgICAgICAgICgqaW5idWYpWzZdICE9IEVVQ0tSX0pBTU9fRklSU1RCWVRFKQotICAgICAgICAgICAgICAgIHJldHVybiA4OworICAgICAgICAgICAgICAgIHJldHVybiAxOwogCiAgICAgICAgICAgICBjID0gKCppbmJ1ZilbM107CiAgICAgICAgICAgICBpZiAoMHhhMSA8PSBjICYmIGMgPD0gMHhiZSkKQEAgLTE0Myw3ICsxNDMsNyBAQAogICAgICAgICAgICAgICAgIGpvbmcgPSBOT05FOwogCiAgICAgICAgICAgICBpZiAoY2hvID09IE5PTkUgfHwganVuZyA9PSBOT05FIHx8IGpvbmcgPT0gTk9ORSkKLSAgICAgICAgICAgICAgICByZXR1cm4gODsKKyAgICAgICAgICAgICAgICByZXR1cm4gMTsKIAogICAgICAgICAgICAgT1VUMSgweGFjMDAgKyBjaG8qNTg4ICsganVuZyoyOCArIGpvbmcpOwogICAgICAgICAgICAgTkVYVCg4LCAxKQpAQCAtMTUyLDcgKzE1Miw3IEBACiAgICAgICAgICAgICBORVhUKDIsIDEpCiAgICAgICAgIH0KICAgICAgICAgZWxzZQotICAgICAgICAgICAgcmV0dXJuIDI7CisgICAgICAgICAgICByZXR1cm4gMTsKICAgICB9CiAKICAgICByZXR1cm4gMDsKQEAgLTIwOCw3ICsyMDgsNyBAQAogICAgICAgICBSRVFVSVJFX0lOQlVGKDIpCiAgICAgICAgIFRSWU1BUF9ERUMoa3N4MTAwMSwgKipvdXRidWYsIGMgXiAweDgwLCBJTjIgXiAweDgwKTsKICAgICAgICAgZWxzZSBUUllNQVBfREVDKGNwOTQ5ZXh0LCAqKm91dGJ1ZiwgYywgSU4yKTsKLSAgICAgICAgZWxzZSByZXR1cm4gMjsKKyAgICAgICAgZWxzZSByZXR1cm4gMTsKIAogICAgICAgICBORVhUKDIsIDEpCiAgICAgfQpAQCAtMzc1LDcgKzM3NSw3IEBACiAgICAgICAgICAgICBpX2pvbmcgPSBqb2hhYmlkeF9qb25nc2VvbmdbY19qb25nXTsKIAogICAgICAgICAgICAgaWYgKGlfY2hvID09IE5PTkUgfHwgaV9qdW5nID09IE5PTkUgfHwgaV9qb25nID09IE5PTkUpCi0gICAgICAgICAgICAgICAgcmV0dXJuIDI7CisgICAgICAgICAgICAgICAgcmV0dXJuIDE7CiAKICAgICAgICAgICAgIC8qIHdlIGRvbid0IHVzZSBVKzExMDAgaGFuZ3VsIGphbW8geWV0LiAqLwogICAgICAgICAgICAgaWYgKGlfY2hvID09IEZJTEwpIHsKQEAgLTM5MSw3ICszOTEsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgT1VUMSgweDMxMDAgfAogICAgICAgICAgICAgICAgICAgICAgICAgICBqb2hhYmphbW9fanVuZ3Nlb25nW2NfanVuZ10pCiAgICAgICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAyOworICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICBpZiAoaV9qdW5nID09IEZJTEwpIHsKQEAgLTM5OSw3ICszOTksNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgT1VUMSgweDMxMDAgfAogICAgICAgICAgICAgICAgICAgICAgICAgICBqb2hhYmphbW9fY2hvc2VvbmdbY19jaG9dKQogICAgICAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMjsKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAxOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICAgIE9VVDEoMHhhYzAwICsKQEAgLTQxNCw3ICs0MTQsNyBAQAogICAgICAgICAgICAgICAgIGMyIDwgMHgzMSB8fCAoYzIgPj0gMHg4MCAmJiBjMiA8IDB4OTEpIHx8CiAgICAgICAgICAgICAgICAgKGMyICYgMHg3ZikgPT0gMHg3ZiB8fAogICAgICAgICAgICAgICAgIChjID09IDB4ZGEgJiYgKGMyID49IDB4YTEgJiYgYzIgPD0gMHhkMykpKQotICAgICAgICAgICAgICAgIHJldHVybiAyOworICAgICAgICAgICAgICAgIHJldHVybiAxOwogICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciB0MSwgdDI7CiAKQEAgLTQyNSw3ICs0MjUsNyBAQAogICAgICAgICAgICAgICAgIHQyID0gKHQyIDwgMHg1ZSA/IHQyIDogdDIgLSAweDVlKSArIDB4MjE7CiAKICAgICAgICAgICAgICAgICBUUllNQVBfREVDKGtzeDEwMDEsICoqb3V0YnVmLCB0MSwgdDIpOwotICAgICAgICAgICAgICAgIGVsc2UgcmV0dXJuIDI7CisgICAgICAgICAgICAgICAgZWxzZSByZXR1cm4gMTsKICAgICAgICAgICAgICAgICBORVhUKDIsIDEpCiAgICAgICAgICAgICB9CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL01vZHVsZXMvY2prY29kZWNzL19jb2RlY3NfdHcuYyBiL01vZHVsZXMvY2prY29kZWNzL19jb2RlY3NfdHcuYwppbmRleCAzOGNmNzIzLi45MTYyOThkIDEwMDY0NAotLS0gYS9Nb2R1bGVzL2Nqa2NvZGVjcy9fY29kZWNzX3R3LmMKKysrIGIvTW9kdWxlcy9jamtjb2RlY3MvX2NvZGVjc190dy5jCkBAIC01NSw3ICs1NSw3IEBACiAgICAgICAgIFRSWU1BUF9ERUMoYmlnNSwgKipvdXRidWYsIGMsIElOMikgewogICAgICAgICAgICAgTkVYVCgyLCAxKQogICAgICAgICB9Ci0gICAgICAgIGVsc2UgcmV0dXJuIDI7CisgICAgICAgIGVsc2UgcmV0dXJuIDE7CiAgICAgfQogCiAgICAgcmV0dXJuIDA7CkBAIC0xMDksNyArMTA5LDcgQEAKIAogICAgICAgICBUUllNQVBfREVDKGNwOTUwZXh0LCAqKm91dGJ1ZiwgYywgSU4yKTsKICAgICAgICAgZWxzZSBUUllNQVBfREVDKGJpZzUsICoqb3V0YnVmLCBjLCBJTjIpOwotICAgICAgICBlbHNlIHJldHVybiAyOworICAgICAgICBlbHNlIHJldHVybiAxOwogCiAgICAgICAgIE5FWFQoMiwgMSkKICAgICB9CmRpZmYgLS1naXQgYS9Nb2R1bGVzL2Nqa2NvZGVjcy9tdWx0aWJ5dGVjb2RlYy5jIGIvTW9kdWxlcy9jamtjb2RlY3MvbXVsdGlieXRlY29kZWMuYwppbmRleCA3YjA0ZjAyMC4uYWJhZDI1MSAxMDA2NDQKLS0tIGEvTW9kdWxlcy9jamtjb2RlY3MvbXVsdGlieXRlY29kZWMuYworKysgYi9Nb2R1bGVzL2Nqa2NvZGVjcy9tdWx0aWJ5dGVjb2RlYy5jCkBAIC00NDMsMTAgKzQ0MywxMiBAQAogICAgICAgICBnb3RvIGVycm9yZXhpdDsKICAgICB9CiAKKyAgICBpZiAoUHlVbmljb2RlX0FzVW5pY29kZShyZXR1bmkpID09IE5VTEwpCisgICAgICAgIGdvdG8gZXJyb3JleGl0OwogICAgIHJldHVuaXNpemUgPSBQeVVuaWNvZGVfR0VUX1NJWkUocmV0dW5pKTsKICAgICBpZiAocmV0dW5pc2l6ZSA+IDApIHsKICAgICAgICAgUkVRVUlSRV9ERUNPREVCVUZGRVIoYnVmLCByZXR1bmlzaXplKTsKLSAgICAgICAgbWVtY3B5KChjaGFyICopYnVmLT5vdXRidWYsIFB5VW5pY29kZV9BU19EQVRBKHJldHVuaSksCisgICAgICAgIG1lbWNweSgoY2hhciAqKWJ1Zi0+b3V0YnVmLCBQeVVuaWNvZGVfQVNfVU5JQ09ERShyZXR1bmkpLAogICAgICAgICAgICAgICAgICAgICAgICAgcmV0dW5pc2l6ZSAqIFB5X1VOSUNPREVfU0laRSk7CiAgICAgICAgIGJ1Zi0+b3V0YnVmICs9IHJldHVuaXNpemU7CiAgICAgfQpAQCAtNDgzLDYgKzQ4NSw3IEBACiAgICAgICAgIHJldHVybiBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplKE5VTEwsIDApOwogCiAgICAgYnVmLmV4Y29iaiA9IE5VTEw7CisgICAgYnVmLm91dG9iaiA9IE5VTEw7CiAgICAgYnVmLmluYnVmID0gYnVmLmluYnVmX3RvcCA9ICpkYXRhOwogICAgIGJ1Zi5pbmJ1Zl9lbmQgPSBidWYuaW5idWZfdG9wICsgZGF0YWxlbjsKIApAQCAtNTczLDggKzU3NiwxMSBAQAogICAgICAgICB9CiAgICAgfQogCi0gICAgZGF0YSA9IFB5VW5pY29kZV9BU19VTklDT0RFKGFyZyk7Ci0gICAgZGF0YWxlbiA9IFB5VW5pY29kZV9HRVRfU0laRShhcmcpOworICAgIGRhdGEgPSBQeVVuaWNvZGVfQXNVbmljb2RlQW5kU2l6ZShhcmcsICZkYXRhbGVuKTsKKyAgICBpZiAoZGF0YSA9PSBOVUxMKSB7CisgICAgICAgIFB5X1hERUNSRUYodWN2dCk7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KIAogICAgIGVycm9yY2IgPSBpbnRlcm5hbF9lcnJvcl9jYWxsYmFjayhlcnJvcnMpOwogICAgIGlmIChlcnJvcmNiID09IE5VTEwpIHsKQEAgLTYyNyw3ICs2MzMsNyBAQAogICAgIGlmIChkYXRhbGVuID09IDApIHsKICAgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmcGRhdGEpOwogICAgICAgICBFUlJPUl9ERUNSRUYoZXJyb3JjYik7Ci0gICAgICAgIHJldHVybiBtYWtlX3R1cGxlKFB5VW5pY29kZV9Gcm9tVW5pY29kZShOVUxMLCAwKSwgMCk7CisgICAgICAgIHJldHVybiBtYWtlX3R1cGxlKFB5VW5pY29kZV9OZXcoMCwgMCksIDApOwogICAgIH0KIAogICAgIGJ1Zi5leGNvYmogPSBOVUxMOwpAQCAtNjM3LDYgKzY0Myw4IEBACiAgICAgaWYgKGJ1Zi5vdXRvYmogPT0gTlVMTCkKICAgICAgICAgZ290byBlcnJvcmV4aXQ7CiAgICAgYnVmLm91dGJ1ZiA9IFB5VW5pY29kZV9BU19VTklDT0RFKGJ1Zi5vdXRvYmopOworICAgIGlmIChidWYub3V0YnVmID09IE5VTEwpCisgICAgICAgIGdvdG8gZXJyb3JleGl0OwogICAgIGJ1Zi5vdXRidWZfZW5kID0gYnVmLm91dGJ1ZiArIFB5VW5pY29kZV9HRVRfU0laRShidWYub3V0b2JqKTsKIAogICAgIGlmIChzZWxmLT5jb2RlYy0+ZGVjaW5pdCAhPSBOVUxMICYmCkBAIC03NDIsNiArNzUwLDcgQEAKICAgICBQeU9iamVjdCAqdWN2dCwgKnIgPSBOVUxMOwogICAgIFB5X1VOSUNPREUgKmluYnVmLCAqaW5idWZfZW5kLCAqaW5idWZfdG1wID0gTlVMTDsKICAgICBQeV9zc2l6ZV90IGRhdGFsZW4sIG9yaWdwZW5kaW5nOworICAgIHdjaGFyX3QgKmRhdGE7CiAKICAgICBpZiAoUHlVbmljb2RlX0NoZWNrKHVuaXN0cikpCiAgICAgICAgIHVjdnQgPSBOVUxMOwpAQCAtNzU3LDcgKzc2Niw5IEBACiAgICAgICAgIH0KICAgICB9CiAKLSAgICBkYXRhbGVuID0gUHlVbmljb2RlX0dFVF9TSVpFKHVuaXN0cik7CisgICAgZGF0YSA9IFB5VW5pY29kZV9Bc1VuaWNvZGVBbmRTaXplKHVuaXN0ciwgJmRhdGFsZW4pOworICAgIGlmIChkYXRhID09IE5VTEwpCisgICAgICAgIGdvdG8gZXJyb3JleGl0OwogICAgIG9yaWdwZW5kaW5nID0gY3R4LT5wZW5kaW5nc2l6ZTsKIAogICAgIGlmIChvcmlncGVuZGluZyA+IDApIHsKQEAgLTg0OCw3ICs4NTksOSBAQAogICAgICAgICBidWYtPm91dG9iaiA9IFB5VW5pY29kZV9Gcm9tVW5pY29kZShOVUxMLCBzaXplKTsKICAgICAgICAgaWYgKGJ1Zi0+b3V0b2JqID09IE5VTEwpCiAgICAgICAgICAgICByZXR1cm4gLTE7Ci0gICAgICAgIGJ1Zi0+b3V0YnVmID0gUHlVbmljb2RlX0FTX1VOSUNPREUoYnVmLT5vdXRvYmopOworICAgICAgICBidWYtPm91dGJ1ZiA9IFB5VW5pY29kZV9Bc1VuaWNvZGUoYnVmLT5vdXRvYmopOworICAgICAgICBpZiAoYnVmLT5vdXRidWYgPT0gTlVMTCkKKyAgICAgICAgICAgIHJldHVybiAtMTsKICAgICAgICAgYnVmLT5vdXRidWZfZW5kID0gYnVmLT5vdXRidWYgKwogICAgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfR0VUX1NJWkUoYnVmLT5vdXRvYmopOwogICAgIH0KQEAgLTkwMCwxMSArOTEzLDE3IEBACiBzdGF0aWMgUHlPYmplY3QgKgogbWJpZW5jb2Rlcl9yZXNldChNdWx0aWJ5dGVJbmNyZW1lbnRhbEVuY29kZXJPYmplY3QgKnNlbGYpCiB7Ci0gICAgaWYgKHNlbGYtPmNvZGVjLT5kZWNyZXNldCAhPSBOVUxMICYmCi0gICAgICAgIHNlbGYtPmNvZGVjLT5kZWNyZXNldCgmc2VsZi0+c3RhdGUsIHNlbGYtPmNvZGVjLT5jb25maWcpICE9IDApCi0gICAgICAgIHJldHVybiBOVUxMOworICAgIC8qIExvbmdlc3Qgb3V0cHV0OiA0IGJ5dGVzIChiJ1x4MEZceDFGKEInKSB3aXRoIElTTyAyMDIyICovCisgICAgdW5zaWduZWQgY2hhciBidWZmZXJbNF0sICpvdXRidWY7CisgICAgUHlfc3NpemVfdCByOworICAgIGlmIChzZWxmLT5jb2RlYy0+ZW5jcmVzZXQgIT0gTlVMTCkgeworICAgICAgICBvdXRidWYgPSBidWZmZXI7CisgICAgICAgIHIgPSBzZWxmLT5jb2RlYy0+ZW5jcmVzZXQoJnNlbGYtPnN0YXRlLCBzZWxmLT5jb2RlYy0+Y29uZmlnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZvdXRidWYsIHNpemVvZihidWZmZXIpKTsKKyAgICAgICAgaWYgKHIgIT0gMCkKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KICAgICBzZWxmLT5wZW5kaW5nc2l6ZSA9IDA7Ci0KICAgICBQeV9SRVRVUk5fTk9ORTsKIH0KIApAQCAtMTI0Niw3ICsxMjY1LDcgQEAKICAgICBQeV9zc2l6ZV90IHJzaXplLCBmaW5hbHNpemUgPSAwOwogCiAgICAgaWYgKHNpemVoaW50ID09IDApCi0gICAgICAgIHJldHVybiBQeVVuaWNvZGVfRnJvbVVuaWNvZGUoTlVMTCwgMCk7CisgICAgICAgIHJldHVybiBQeVVuaWNvZGVfTmV3KDAsIDApOwogCiAgICAgYnVmLm91dG9iaiA9IGJ1Zi5leGNvYmogPSBOVUxMOwogICAgIGNyZXMgPSBOVUxMOwpAQCAtMTU3MiwxMiArMTU5MSwxMyBAQAogICAgICAgICAgICAgICAgICAgICAgIFB5T2JqZWN0ICp1bmlzdHIpCiB7CiAgICAgUHlPYmplY3QgKnN0ciwgKndyOworICAgIF9QeV9JREVOVElGSUVSKHdyaXRlKTsKIAogICAgIHN0ciA9IGVuY29kZXJfZW5jb2RlX3N0YXRlZnVsKFNUQVRFRlVMX0VDVFgoc2VsZiksIHVuaXN0ciwgMCk7CiAgICAgaWYgKHN0ciA9PSBOVUxMKQogICAgICAgICByZXR1cm4gLTE7CiAKLSAgICB3ciA9IFB5T2JqZWN0X0NhbGxNZXRob2Qoc2VsZi0+c3RyZWFtLCAid3JpdGUiLCAiTyIsIHN0cik7CisgICAgd3IgPSBfUHlPYmplY3RfQ2FsbE1ldGhvZElkKHNlbGYtPnN0cmVhbSwgJlB5SWRfd3JpdGUsICJPIiwgc3RyKTsKICAgICBQeV9ERUNSRUYoc3RyKTsKICAgICBpZiAod3IgPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIC0xOwpAQCAtMTY0Myw3ICsxNjYzLDkgQEAKICAgICBhc3NlcnQoUHlCeXRlc19DaGVjayhwd3J0KSk7CiAgICAgaWYgKFB5Qnl0ZXNfU2l6ZShwd3J0KSA+IDApIHsKICAgICAgICAgUHlPYmplY3QgKndyOwotICAgICAgICB3ciA9IFB5T2JqZWN0X0NhbGxNZXRob2Qoc2VsZi0+c3RyZWFtLCAid3JpdGUiLCAiTyIsIHB3cnQpOworICAgICAgICBfUHlfSURFTlRJRklFUih3cml0ZSk7CisKKyAgICAgICAgd3IgPSBfUHlPYmplY3RfQ2FsbE1ldGhvZElkKHNlbGYtPnN0cmVhbSwgJlB5SWRfd3JpdGUsICJPIiwgcHdydCk7CiAgICAgICAgIGlmICh3ciA9PSBOVUxMKSB7CiAgICAgICAgICAgICBQeV9ERUNSRUYocHdydCk7CiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKZGlmZiAtLWdpdCBhL01vZHVsZXMvZXJybm9tb2R1bGUuYyBiL01vZHVsZXMvZXJybm9tb2R1bGUuYwppbmRleCA4NjcyMGFmLi44NmIwYTAxIDEwMDY0NAotLS0gYS9Nb2R1bGVzL2Vycm5vbW9kdWxlLmMKKysrIGIvTW9kdWxlcy9lcnJub21vZHVsZS5jCkBAIC04NCw2ICs4NCw4IEBACiAgICAgICogVGhlIG5hbWVzIGFuZCBjb21tZW50cyBhcmUgYm9ycm93ZWQgZnJvbSBsaW51eC9pbmNsdWRlL2Vycm5vLmgsCiAgICAgICogd2hpY2ggc2hvdWxkIGJlIHByZXR0eSBhbGwtaW5jbHVzaXZlLiAgSG93ZXZlciwgdGhlIFNvbGFyaXMgc3BlY2lmaWMKICAgICAgKiBuYW1lcyBhbmQgY29tbWVudHMgYXJlIGJvcnJvd2VkIGZyb20gc3lzL2Vycm5vLmggaW4gU29sYXJpcy4KKyAgICAgKiBNYWNPU1ggc3BlY2lmaWMgbmFtZXMgYW5kIGNvbW1lbnRzIGFyZSBib3Jyb3dlZCBmcm9tIHN5cy9lcnJuby5oIGluCisgICAgICogTWFjT1NYLgogICAgICAqLwogCiAjaWZkZWYgRU5PREVWCkBAIC04NDgsNiArODUwLDU5IEBACiAgICAgaW5zY29kZShkLCBkcywgZGUsICJFTk9UQUNUSVZFIiwgRU5PVEFDVElWRSwgIkZhY2lsaXR5IGlzIG5vdCBhY3RpdmUiKTsKICNlbmRpZgogCisgICAgLyogTWFjT1NYIHNwZWNpZmljIGVycm5vcyAqLworI2lmZGVmIEVBVVRICisgICAgaW5zY29kZShkLCBkcywgZGUsICJFQVVUSCIsIEVBVVRILCAiQXV0aGVudGljYXRpb24gZXJyb3IiKTsKKyNlbmRpZgorI2lmZGVmIEVCQURBUkNICisgICAgaW5zY29kZShkLCBkcywgZGUsICJFQkFEQVJDSCIsIEVCQURBUkNILCAiQmFkIENQVSB0eXBlIGluIGV4ZWN1dGFibGUiKTsKKyNlbmRpZgorI2lmZGVmIEVCQURFWEVDCisgICAgaW5zY29kZShkLCBkcywgZGUsICJFQkFERVhFQyIsIEVCQURFWEVDLCAiQmFkIGV4ZWN1dGFibGUgKG9yIHNoYXJlZCBsaWJyYXJ5KSIpOworI2VuZGlmCisjaWZkZWYgRUJBRE1BQ0hPCisgICAgaW5zY29kZShkLCBkcywgZGUsICJFQkFETUFDSE8iLCBFQkFETUFDSE8sICJNYWxmb3JtZWQgTWFjaC1vIGZpbGUiKTsKKyNlbmRpZgorI2lmZGVmIEVCQURSUEMKKyAgICBpbnNjb2RlKGQsIGRzLCBkZSwgIkVCQURSUEMiLCBFQkFEUlBDLCAiUlBDIHN0cnVjdCBpcyBiYWQiKTsKKyNlbmRpZgorI2lmZGVmIEVERVZFUlIKKyAgICBpbnNjb2RlKGQsIGRzLCBkZSwgIkVERVZFUlIiLCBFREVWRVJSLCAiRGV2aWNlIGVycm9yIik7CisjZW5kaWYKKyNpZmRlZiBFRlRZUEUKKyAgICBpbnNjb2RlKGQsIGRzLCBkZSwgIkVGVFlQRSIsIEVGVFlQRSwgIkluYXBwcm9wcmlhdGUgZmlsZSB0eXBlIG9yIGZvcm1hdCIpOworI2VuZGlmCisjaWZkZWYgRU5FRURBVVRICisgICAgaW5zY29kZShkLCBkcywgZGUsICJFTkVFREFVVEgiLCBFTkVFREFVVEgsICJOZWVkIGF1dGhlbnRpY2F0b3IiKTsKKyNlbmRpZgorI2lmZGVmIEVOT0FUVFIKKyAgICBpbnNjb2RlKGQsIGRzLCBkZSwgIkVOT0FUVFIiLCBFTk9BVFRSLCAiQXR0cmlidXRlIG5vdCBmb3VuZCIpOworI2VuZGlmCisjaWZkZWYgRU5PUE9MSUNZCisgICAgaW5zY29kZShkLCBkcywgZGUsICJFTk9QT0xJQ1kiLCBFTk9QT0xJQ1ksICJQb2xpY3kgbm90IGZvdW5kIik7CisjZW5kaWYKKyNpZmRlZiBFUFJPQ0xJTQorICAgIGluc2NvZGUoZCwgZHMsIGRlLCAiRVBST0NMSU0iLCBFUFJPQ0xJTSwgIlRvbyBtYW55IHByb2Nlc3NlcyIpOworI2VuZGlmCisjaWZkZWYgRVBST0NVTkFWQUlMCisgICAgaW5zY29kZShkLCBkcywgZGUsICJFUFJPQ1VOQVZBSUwiLCBFUFJPQ1VOQVZBSUwsICJCYWQgcHJvY2VkdXJlIGZvciBwcm9ncmFtIik7CisjZW5kaWYKKyNpZmRlZiBFUFJPR01JU01BVENICisgICAgaW5zY29kZShkLCBkcywgZGUsICJFUFJPR01JU01BVENIIiwgRVBST0dNSVNNQVRDSCwgIlByb2dyYW0gdmVyc2lvbiB3cm9uZyIpOworI2VuZGlmCisjaWZkZWYgRVBST0dVTkFWQUlMCisgICAgaW5zY29kZShkLCBkcywgZGUsICJFUFJPR1VOQVZBSUwiLCBFUFJPR1VOQVZBSUwsICJSUEMgcHJvZy4gbm90IGF2YWlsIik7CisjZW5kaWYKKyNpZmRlZiBFUFdST0ZGCisgICAgaW5zY29kZShkLCBkcywgZGUsICJFUFdST0ZGIiwgRVBXUk9GRiwgIkRldmljZSBwb3dlciBpcyBvZmYiKTsKKyNlbmRpZgorI2lmZGVmIEVSUENNSVNNQVRDSAorICAgIGluc2NvZGUoZCwgZHMsIGRlLCAiRVJQQ01JU01BVENIIiwgRVJQQ01JU01BVENILCAiUlBDIHZlcnNpb24gd3JvbmciKTsKKyNlbmRpZgorI2lmZGVmIEVTSExJQlZFUlMKKyAgICBpbnNjb2RlKGQsIGRzLCBkZSwgIkVTSExJQlZFUlMiLCBFU0hMSUJWRVJTLCAiU2hhcmVkIGxpYnJhcnkgdmVyc2lvbiBtaXNtYXRjaCIpOworI2VuZGlmCisKICAgICBQeV9ERUNSRUYoZGUpOwogICAgIHJldHVybiBtOwogfQpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9mYXVsdGhhbmRsZXIuYyBiL01vZHVsZXMvZmF1bHRoYW5kbGVyLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjE4YmJiYwotLS0gL2Rldi9udWxsCisrKyBiL01vZHVsZXMvZmF1bHRoYW5kbGVyLmMKQEAgLTAsMCArMSwxMzMyIEBACisjaW5jbHVkZSAiUHl0aG9uLmgiCisjaW5jbHVkZSAicHl0aHJlYWQuaCIKKyNpbmNsdWRlIDxzaWduYWwuaD4KKyNpbmNsdWRlIDxvYmplY3QuaD4KKyNpbmNsdWRlIDxmcmFtZW9iamVjdC5oPgorI2luY2x1ZGUgPHNpZ25hbC5oPgorI2lmIGRlZmluZWQoSEFWRV9QVEhSRUFEX1NJR01BU0spICYmICFkZWZpbmVkKEhBVkVfQlJPS0VOX1BUSFJFQURfU0lHTUFTSykKKyNpbmNsdWRlIDxwdGhyZWFkLmg+CisjZW5kaWYKKworLyogQWxsb2NhdGUgYXQgbWF4aW11bSAxMDAgTUIgb2YgdGhlIHN0YWNrIHRvIHJhaXNlIHRoZSBzdGFjayBvdmVyZmxvdyAqLworI2RlZmluZSBTVEFDS19PVkVSRkxPV19NQVhfU0laRSAoMTAwKjEwMjQqMTAyNCkKKworI2lmZGVmIFdJVEhfVEhSRUFECisjICBkZWZpbmUgRkFVTFRIQU5ETEVSX0xBVEVSCisjICBkZWZpbmUgRkFVTFRIQU5ETEVSX1dBVENIRE9HCisjZW5kaWYKKworI2lmbmRlZiBNU19XSU5ET1dTCisgICAvKiByZWdpc3RlcigpIGlzIHVzZWxlc3Mgb24gV2luZG93cywgYmVjYXVzZSBvbmx5IFNJR1NFR1YsIFNJR0FCUlQgYW5kCisgICAgICBTSUdJTEwgY2FuIGJlIGhhbmRsZWQgYnkgdGhlIHByb2Nlc3MsIGFuZCB0aGVzZSBzaWduYWxzIGNhbiBvbmx5IGJlIHVzZWQKKyAgICAgIHdpdGggZW5hYmxlKCksIG5vdCB1c2luZyByZWdpc3RlcigpICovCisjICBkZWZpbmUgRkFVTFRIQU5ETEVSX1VTRVIKKyNlbmRpZgorCisjZGVmaW5lIFBVVFMoZmQsIHN0cikgd3JpdGUoZmQsIHN0ciwgc3RybGVuKHN0cikpCisKKyNpZmRlZiBIQVZFX1NJR0FDVElPTgordHlwZWRlZiBzdHJ1Y3Qgc2lnYWN0aW9uIF9QeV9zaWdoYW5kbGVyX3Q7CisjZWxzZQordHlwZWRlZiBQeU9TX3NpZ2hhbmRsZXJfdCBfUHlfc2lnaGFuZGxlcl90OworI2VuZGlmCisKK3R5cGVkZWYgc3RydWN0IHsKKyAgICBpbnQgc2lnbnVtOworICAgIGludCBlbmFibGVkOworICAgIGNvbnN0IGNoYXIqIG5hbWU7CisgICAgX1B5X3NpZ2hhbmRsZXJfdCBwcmV2aW91czsKKyAgICBpbnQgYWxsX3RocmVhZHM7Cit9IGZhdWx0X2hhbmRsZXJfdDsKKworc3RhdGljIHN0cnVjdCB7CisgICAgaW50IGVuYWJsZWQ7CisgICAgUHlPYmplY3QgKmZpbGU7CisgICAgaW50IGZkOworICAgIGludCBhbGxfdGhyZWFkczsKKyAgICBQeUludGVycHJldGVyU3RhdGUgKmludGVycDsKK30gZmF0YWxfZXJyb3IgPSB7MCwgTlVMTCwgLTEsIDB9OworCisjaWZkZWYgRkFVTFRIQU5ETEVSX0xBVEVSCitzdGF0aWMgc3RydWN0IHsKKyAgICBQeU9iamVjdCAqZmlsZTsKKyAgICBpbnQgZmQ7CisgICAgUFlfVElNRU9VVF9UIHRpbWVvdXRfdXM7ICAgLyogdGltZW91dCBpbiBtaWNyb3NlY29uZHMgKi8KKyAgICBpbnQgcmVwZWF0OworICAgIFB5SW50ZXJwcmV0ZXJTdGF0ZSAqaW50ZXJwOworICAgIGludCBleGl0OworICAgIGNoYXIgKmhlYWRlcjsKKyAgICBzaXplX3QgaGVhZGVyX2xlbjsKKyAgICAvKiBUaGUgbWFpbiB0aHJlYWQgYWx3YXlzIGhvbGRzIHRoaXMgbG9jay4gSXQgaXMgb25seSByZWxlYXNlZCB3aGVuCisgICAgICAgZmF1bHRoYW5kbGVyX3RocmVhZCgpIGlzIGludGVycnVwdGVkIGJlZm9yZSB0aGlzIHRocmVhZCBleGl0cywgb3IgYXQKKyAgICAgICBQeXRob24gZXhpdC4gKi8KKyAgICBQeVRocmVhZF90eXBlX2xvY2sgY2FuY2VsX2V2ZW50OworICAgIC8qIHJlbGVhc2VkIGJ5IGNoaWxkIHRocmVhZCB3aGVuIGpvaW5lZCAqLworICAgIFB5VGhyZWFkX3R5cGVfbG9jayBydW5uaW5nOworfSB0aHJlYWQ7CisjZW5kaWYKKworI2lmZGVmIEZBVUxUSEFORExFUl9XQVRDSERPRworc3RhdGljIHN0cnVjdCB7CisgICAgaW50IHJmZDsKKyAgICBpbnQgd2ZkOworICAgIFBZX1RJTUVPVVRfVCBwZXJpb2RfdXM7ICAgLyogcGVyaW9kIGluIG1pY3Jvc2Vjb25kcyAqLworICAgIC8qIFRoZSBtYWluIHRocmVhZCBhbHdheXMgaG9sZHMgdGhpcyBsb2NrLiBJdCBpcyBvbmx5IHJlbGVhc2VkIHdoZW4KKyAgICAgICBmYXVsdGhhbmRsZXJfd2F0Y2hkb2coKSBpcyBpbnRlcnJ1cHRlZCBiZWZvcmUgdGhpcyB0aHJlYWQgZXhpdHMsIG9yIGF0CisgICAgICAgUHl0aG9uIGV4aXQuICovCisgICAgUHlUaHJlYWRfdHlwZV9sb2NrIGNhbmNlbF9ldmVudDsKKyAgICAvKiByZWxlYXNlZCBieSBjaGlsZCB0aHJlYWQgd2hlbiBqb2luZWQgKi8KKyAgICBQeVRocmVhZF90eXBlX2xvY2sgcnVubmluZzsKK30gd2F0Y2hkb2c7CisjZW5kaWYKKworI2lmZGVmIEZBVUxUSEFORExFUl9VU0VSCit0eXBlZGVmIHN0cnVjdCB7CisgICAgaW50IGVuYWJsZWQ7CisgICAgUHlPYmplY3QgKmZpbGU7CisgICAgaW50IGZkOworICAgIGludCBhbGxfdGhyZWFkczsKKyAgICBpbnQgY2hhaW47CisgICAgX1B5X3NpZ2hhbmRsZXJfdCBwcmV2aW91czsKKyAgICBQeUludGVycHJldGVyU3RhdGUgKmludGVycDsKK30gdXNlcl9zaWduYWxfdDsKKworc3RhdGljIHVzZXJfc2lnbmFsX3QgKnVzZXJfc2lnbmFsczsKKworLyogdGhlIGZvbGxvd2luZyBtYWNyb3MgY29tZSBmcm9tIFB5dGhvbjogTW9kdWxlcy9zaWduYWxtb2R1bGUuYyAqLworI2lmIGRlZmluZWQoUFlPU19PUzIpICYmICFkZWZpbmVkKFBZQ0NfR0NDKQorI2RlZmluZSBOU0lHIDEyCisjZW5kaWYKKyNpZm5kZWYgTlNJRworIyBpZiBkZWZpbmVkKF9OU0lHKQorIyAgZGVmaW5lIE5TSUcgX05TSUcgICAgICAgICAgICAvKiBGb3IgQlNEL1N5c1YgKi8KKyMgZWxpZiBkZWZpbmVkKF9TSUdNQVgpCisjICBkZWZpbmUgTlNJRyAoX1NJR01BWCArIDEpICAgIC8qIEZvciBRTlggKi8KKyMgZWxpZiBkZWZpbmVkKFNJR01BWCkKKyMgIGRlZmluZSBOU0lHIChTSUdNQVggKyAxKSAgICAgLyogRm9yIGRqZ3BwICovCisjIGVsc2UKKyMgIGRlZmluZSBOU0lHIDY0ICAgICAgICAgICAgICAgLyogVXNlIGEgcmVhc29uYWJsZSBkZWZhdWx0IHZhbHVlICovCisjIGVuZGlmCisjZW5kaWYKKworc3RhdGljIHZvaWQgZmF1bHRoYW5kbGVyX3VzZXIoaW50IHNpZ251bSk7CisjZW5kaWYgLyogRkFVTFRIQU5ETEVSX1VTRVIgKi8KKworCitzdGF0aWMgZmF1bHRfaGFuZGxlcl90IGZhdWx0aGFuZGxlcl9oYW5kbGVyc1tdID0geworI2lmZGVmIFNJR0JVUworICAgIHtTSUdCVVMsIDAsICJCdXMgZXJyb3IiLCB9LAorI2VuZGlmCisjaWZkZWYgU0lHSUxMCisgICAge1NJR0lMTCwgMCwgIklsbGVnYWwgaW5zdHJ1Y3Rpb24iLCB9LAorI2VuZGlmCisgICAge1NJR0ZQRSwgMCwgIkZsb2F0aW5nIHBvaW50IGV4Y2VwdGlvbiIsIH0sCisgICAge1NJR0FCUlQsIDAsICJBYm9ydGVkIiwgfSwKKyAgICAvKiBkZWZpbmUgU0lHU0VHViBhdCB0aGUgZW5kIHRvIG1ha2UgaXQgdGhlIGRlZmF1bHQgY2hvaWNlIGlmIHNlYXJjaGluZyB0aGUKKyAgICAgICBoYW5kbGVyIGZhaWxzIGluIGZhdWx0aGFuZGxlcl9mYXRhbF9lcnJvcigpICovCisgICAge1NJR1NFR1YsIDAsICJTZWdtZW50YXRpb24gZmF1bHQiLCB9Cit9Oworc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZmF1bHRoYW5kbGVyX25zaWduYWxzID0gXAorICAgIFB5X0FSUkFZX0xFTkdUSChmYXVsdGhhbmRsZXJfaGFuZGxlcnMpOworCisjaWZkZWYgSEFWRV9TSUdBTFRTVEFDSworc3RhdGljIHN0YWNrX3Qgc3RhY2s7CisjZW5kaWYKKworCisvKiBHZXQgdGhlIGZpbGUgZGVzY3JpcHRvciBvZiBhIGZpbGUgYnkgY2FsbGluZyBpdHMgZmlsZW5vKCkgbWV0aG9kIGFuZCB0aGVuCisgICBjYWxsIGl0cyBmbHVzaCgpIG1ldGhvZC4KKworICAgSWYgZmlsZSBpcyBOVUxMIG9yIFB5X05vbmUsIHVzZSBzeXMuc3RkZXJyIGFzIHRoZSBuZXcgZmlsZS4KKworICAgT24gc3VjY2VzcywgcmV0dXJuIHRoZSBuZXcgZmlsZSBhbmQgd3JpdGUgdGhlIGZpbGUgZGVzY3JpcHRvciBpbnRvICpwX2ZkLgorICAgT24gZXJyb3IsIHJldHVybiBOVUxMLiAqLworCitzdGF0aWMgUHlPYmplY3QqCitmYXVsdGhhbmRsZXJfZ2V0X2ZpbGVubyhQeU9iamVjdCAqZmlsZSwgaW50ICpwX2ZkKQoreworICAgIFB5T2JqZWN0ICpyZXN1bHQ7CisgICAgX1B5X0lERU5USUZJRVIoZmlsZW5vKTsKKyAgICBfUHlfSURFTlRJRklFUihmbHVzaCk7CisgICAgbG9uZyBmZF9sb25nOworICAgIGludCBmZDsKKworICAgIGlmIChmaWxlID09IE5VTEwgfHwgZmlsZSA9PSBQeV9Ob25lKSB7CisgICAgICAgIGZpbGUgPSBQeVN5c19HZXRPYmplY3QoInN0ZGVyciIpOworICAgICAgICBpZiAoZmlsZSA9PSBOVUxMKSB7CisgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfUnVudGltZUVycm9yLCAidW5hYmxlIHRvIGdldCBzeXMuc3RkZXJyIik7CisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgfQorICAgIH0KKworICAgIHJlc3VsdCA9IF9QeU9iamVjdF9DYWxsTWV0aG9kSWQoZmlsZSwgJlB5SWRfZmlsZW5vLCAiIik7CisgICAgaWYgKHJlc3VsdCA9PSBOVUxMKQorICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIGZkID0gLTE7CisgICAgaWYgKFB5TG9uZ19DaGVjayhyZXN1bHQpKSB7CisgICAgICAgIGZkX2xvbmcgPSBQeUxvbmdfQXNMb25nKHJlc3VsdCk7CisgICAgICAgIGlmICgwIDw9IGZkX2xvbmcgJiYgZmRfbG9uZyA8IElOVF9NQVgpCisgICAgICAgICAgICBmZCA9IChpbnQpZmRfbG9uZzsKKyAgICB9CisgICAgUHlfREVDUkVGKHJlc3VsdCk7CisKKyAgICBpZiAoZmQgPT0gLTEpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1J1bnRpbWVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICJmaWxlLmZpbGVubygpIGlzIG5vdCBhIHZhbGlkIGZpbGUgZGVzY3JpcHRvciIpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisKKyAgICByZXN1bHQgPSBfUHlPYmplY3RfQ2FsbE1ldGhvZElkKGZpbGUsICZQeUlkX2ZsdXNoLCAiIik7CisgICAgaWYgKHJlc3VsdCAhPSBOVUxMKQorICAgICAgICBQeV9ERUNSRUYocmVzdWx0KTsKKyAgICBlbHNlIHsKKyAgICAgICAgLyogaWdub3JlIGZsdXNoKCkgZXJyb3IgKi8KKyAgICAgICAgUHlFcnJfQ2xlYXIoKTsKKyAgICB9CisgICAgKnBfZmQgPSBmZDsKKyAgICByZXR1cm4gZmlsZTsKK30KKworLyogR2V0IHRoZSBzdGF0ZSBvZiB0aGUgY3VycmVudCB0aHJlYWQ6IG9ubHkgY2FsbCB0aGlzIGZ1bmN0aW9uIGlmIHRoZSBjdXJyZW50CisgICB0aHJlYWQgaG9sZHMgdGhlIEdJTC4gUmFpc2UgYW4gZXhjZXB0aW9uIG9uIGVycm9yLiAqLworc3RhdGljIFB5VGhyZWFkU3RhdGUqCitnZXRfdGhyZWFkX3N0YXRlKHZvaWQpCit7CisgICAgUHlUaHJlYWRTdGF0ZSAqdHN0YXRlID0gUHlUaHJlYWRTdGF0ZV9HZXQoKTsKKyAgICBpZiAodHN0YXRlID09IE5VTEwpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1J1bnRpbWVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ1bmFibGUgdG8gZ2V0IHRoZSBjdXJyZW50IHRocmVhZCBzdGF0ZSIpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisgICAgcmV0dXJuIHRzdGF0ZTsKK30KKworc3RhdGljIFB5T2JqZWN0KgorZmF1bHRoYW5kbGVyX2R1bXBfdHJhY2ViYWNrX3B5KFB5T2JqZWN0ICpzZWxmLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQoreworICAgIHN0YXRpYyBjaGFyICprd2xpc3RbXSA9IHsiZmlsZSIsICJhbGxfdGhyZWFkcyIsIE5VTEx9OworICAgIFB5T2JqZWN0ICpmaWxlID0gTlVMTDsKKyAgICBpbnQgYWxsX3RocmVhZHMgPSAxOworICAgIFB5VGhyZWFkU3RhdGUgKnRzdGF0ZTsKKyAgICBjb25zdCBjaGFyICplcnJtc2c7CisgICAgaW50IGZkOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLAorICAgICAgICAifE9pOmR1bXBfdHJhY2ViYWNrIiwga3dsaXN0LAorICAgICAgICAmZmlsZSwgJmFsbF90aHJlYWRzKSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICBmaWxlID0gZmF1bHRoYW5kbGVyX2dldF9maWxlbm8oZmlsZSwgJmZkKTsKKyAgICBpZiAoZmlsZSA9PSBOVUxMKQorICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIHRzdGF0ZSA9IGdldF90aHJlYWRfc3RhdGUoKTsKKyAgICBpZiAodHN0YXRlID09IE5VTEwpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgaWYgKGFsbF90aHJlYWRzKSB7CisgICAgICAgIGVycm1zZyA9IF9QeV9EdW1wVHJhY2ViYWNrVGhyZWFkcyhmZCwgdHN0YXRlLT5pbnRlcnAsIHRzdGF0ZSk7CisgICAgICAgIGlmIChlcnJtc2cgIT0gTlVMTCkgeworICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1J1bnRpbWVFcnJvciwgZXJybXNnKTsKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICB9CisgICAgfQorICAgIGVsc2UgeworICAgICAgICBfUHlfRHVtcFRyYWNlYmFjayhmZCwgdHN0YXRlKTsKKyAgICB9CisgICAgUHlfUkVUVVJOX05PTkU7Cit9CisKKworLyogSGFuZGxlciBmb3IgU0lHU0VHViwgU0lHRlBFLCBTSUdBQlJULCBTSUdCVVMgYW5kIFNJR0lMTCBzaWduYWxzLgorCisgICBEaXNwbGF5IHRoZSBjdXJyZW50IFB5dGhvbiB0cmFjZWJhY2ssIHJlc3RvcmUgdGhlIHByZXZpb3VzIGhhbmRsZXIgYW5kIGNhbGwKKyAgIHRoZSBwcmV2aW91cyBoYW5kbGVyLgorCisgICBPbiBXaW5kb3dzLCBkb24ndCBleHBsaWNpdGx5IGNhbGwgdGhlIHByZXZpb3VzIGhhbmRsZXIsIGJlY2F1c2UgdGhlIFdpbmRvd3MKKyAgIHNpZ25hbCBoYW5kbGVyIHdvdWxkIG5vdCBiZSBjYWxsZWQgKGZvciBhbiB1bmtub3duIHJlYXNvbikuIFRoZSBleGVjdXRpb24gb2YKKyAgIHRoZSBwcm9ncmFtIGNvbnRpbnVlcyBhdCBmYXVsdGhhbmRsZXJfZmF0YWxfZXJyb3IoKSBleGl0LCBidXQgdGhlIHNhbWUKKyAgIGluc3RydWN0aW9uIHdpbGwgcmFpc2UgdGhlIHNhbWUgZmF1bHQgKHNpZ25hbCksIGFuZCBzbyB0aGUgcHJldmlvdXMgaGFuZGxlcgorICAgd2lsbCBiZSBjYWxsZWQuCisKKyAgIFRoaXMgZnVuY3Rpb24gaXMgc2lnbmFsLXNhZmUgYW5kIHNob3VsZCBvbmx5IGNhbGwgc2lnbmFsLXNhZmUgZnVuY3Rpb25zLiAqLworCitzdGF0aWMgdm9pZAorZmF1bHRoYW5kbGVyX2ZhdGFsX2Vycm9yKGludCBzaWdudW0pCit7CisgICAgY29uc3QgaW50IGZkID0gZmF0YWxfZXJyb3IuZmQ7CisgICAgdW5zaWduZWQgaW50IGk7CisgICAgZmF1bHRfaGFuZGxlcl90ICpoYW5kbGVyID0gTlVMTDsKKyAgICBQeVRocmVhZFN0YXRlICp0c3RhdGU7CisgICAgaW50IHNhdmVfZXJybm8gPSBlcnJubzsKKworICAgIGlmICghZmF0YWxfZXJyb3IuZW5hYmxlZCkKKyAgICAgICAgcmV0dXJuOworCisgICAgZm9yIChpPTA7IGkgPCBmYXVsdGhhbmRsZXJfbnNpZ25hbHM7IGkrKykgeworICAgICAgICBoYW5kbGVyID0gJmZhdWx0aGFuZGxlcl9oYW5kbGVyc1tpXTsKKyAgICAgICAgaWYgKGhhbmRsZXItPnNpZ251bSA9PSBzaWdudW0pCisgICAgICAgICAgICBicmVhazsKKyAgICB9CisgICAgaWYgKGhhbmRsZXIgPT0gTlVMTCkgeworICAgICAgICAvKiBmYXVsdGhhbmRsZXJfbnNpZ25hbHMgPT0gMCAodW5saWtlbHkpICovCisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICAvKiByZXN0b3JlIHRoZSBwcmV2aW91cyBoYW5kbGVyICovCisjaWZkZWYgSEFWRV9TSUdBQ1RJT04KKyAgICAodm9pZClzaWdhY3Rpb24oc2lnbnVtLCAmaGFuZGxlci0+cHJldmlvdXMsIE5VTEwpOworI2Vsc2UKKyAgICAodm9pZClzaWduYWwoc2lnbnVtLCBoYW5kbGVyLT5wcmV2aW91cyk7CisjZW5kaWYKKyAgICBoYW5kbGVyLT5lbmFibGVkID0gMDsKKworICAgIFBVVFMoZmQsICJGYXRhbCBQeXRob24gZXJyb3I6ICIpOworICAgIFBVVFMoZmQsIGhhbmRsZXItPm5hbWUpOworICAgIFBVVFMoZmQsICJcblxuIik7CisKKyNpZmRlZiBXSVRIX1RIUkVBRAorICAgIC8qIFNJR1NFR1YsIFNJR0ZQRSwgU0lHQUJSVCwgU0lHQlVTIGFuZCBTSUdJTEwgYXJlIHN5bmNocm9ub3VzIHNpZ25hbHMgYW5kCisgICAgICAgYXJlIHRodXMgZGVsaXZlcmVkIHRvIHRoZSB0aHJlYWQgdGhhdCBjYXVzZWQgdGhlIGZhdWx0LiBHZXQgdGhlIFB5dGhvbgorICAgICAgIHRocmVhZCBzdGF0ZSBvZiB0aGUgY3VycmVudCB0aHJlYWQuCisKKyAgICAgICBQeVRocmVhZFN0YXRlX0dldCgpIGRvZXNuJ3QgZ2l2ZSB0aGUgc3RhdGUgb2YgdGhlIHRocmVhZCB0aGF0IGNhdXNlZCB0aGUKKyAgICAgICBmYXVsdCBpZiB0aGUgdGhyZWFkIHJlbGVhc2VkIHRoZSBHSUwsIGFuZCBzbyB0aGlzIGZ1bmN0aW9uIGNhbm5vdCBiZQorICAgICAgIHVzZWQuIFJlYWQgdGhlIHRocmVhZCBsb2NhbCBzdG9yYWdlIChUTFMpIGluc3RlYWQ6IGNhbGwKKyAgICAgICBQeUdJTFN0YXRlX0dldFRoaXNUaHJlYWRTdGF0ZSgpLiAqLworICAgIHRzdGF0ZSA9IFB5R0lMU3RhdGVfR2V0VGhpc1RocmVhZFN0YXRlKCk7CisjZWxzZQorICAgIHRzdGF0ZSA9IFB5VGhyZWFkU3RhdGVfR2V0KCk7CisjZW5kaWYKKworICAgIGlmIChmYXRhbF9lcnJvci5hbGxfdGhyZWFkcykKKyAgICAgICAgX1B5X0R1bXBUcmFjZWJhY2tUaHJlYWRzKGZkLCBmYXRhbF9lcnJvci5pbnRlcnAsIHRzdGF0ZSk7CisgICAgZWxzZSB7CisgICAgICAgIGlmICh0c3RhdGUgIT0gTlVMTCkKKyAgICAgICAgICAgIF9QeV9EdW1wVHJhY2ViYWNrKGZkLCB0c3RhdGUpOworICAgIH0KKworICAgIGVycm5vID0gc2F2ZV9lcnJubzsKKyNpZmRlZiBNU19XSU5ET1dTCisgICAgaWYgKHNpZ251bSA9PSBTSUdTRUdWKSB7CisgICAgICAgIC8qIGRvbid0IGV4cGxpY2l0bHkgY2FsbCB0aGUgcHJldmlvdXMgaGFuZGxlciBmb3IgU0lHU0VHViBpbiB0aGlzIHNpZ25hbAorICAgICAgICAgICBoYW5kbGVyLCBiZWNhdXNlIHRoZSBXaW5kb3dzIHNpZ25hbCBoYW5kbGVyIHdvdWxkIG5vdCBiZSBjYWxsZWQgKi8KKyAgICAgICAgcmV0dXJuOworICAgIH0KKyNlbmRpZgorICAgIC8qIGNhbGwgdGhlIHByZXZpb3VzIHNpZ25hbCBoYW5kbGVyOiBpdCBpcyBjYWxsZWQgaW1tZWRpYXRseSBpZiB3ZSB1c2UKKyAgICAgICBzaWdhY3Rpb24oKSB0aGFua3MgdG8gU0FfTk9ERUZFUiBmbGFnLCBvdGhlcndpc2UgaXQgaXMgZGVmZXJyZWQgKi8KKyAgICByYWlzZShzaWdudW0pOworfQorCisvKiBJbnN0YWxsIHRoZSBoYW5kbGVyIGZvciBmYXRhbCBzaWduYWxzLCBmYXVsdGhhbmRsZXJfZmF0YWxfZXJyb3IoKS4gKi8KKworc3RhdGljIFB5T2JqZWN0KgorZmF1bHRoYW5kbGVyX2VuYWJsZShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCit7CisgICAgc3RhdGljIGNoYXIgKmt3bGlzdFtdID0geyJmaWxlIiwgImFsbF90aHJlYWRzIiwgTlVMTH07CisgICAgUHlPYmplY3QgKmZpbGUgPSBOVUxMOworICAgIGludCBhbGxfdGhyZWFkcyA9IDE7CisgICAgdW5zaWduZWQgaW50IGk7CisgICAgZmF1bHRfaGFuZGxlcl90ICpoYW5kbGVyOworI2lmZGVmIEhBVkVfU0lHQUNUSU9OCisgICAgc3RydWN0IHNpZ2FjdGlvbiBhY3Rpb247CisjZW5kaWYKKyAgICBpbnQgZXJyOworICAgIGludCBmZDsKKyAgICBQeVRocmVhZFN0YXRlICp0c3RhdGU7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCisgICAgICAgICJ8T2k6ZW5hYmxlIiwga3dsaXN0LCAmZmlsZSwgJmFsbF90aHJlYWRzKSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICBmaWxlID0gZmF1bHRoYW5kbGVyX2dldF9maWxlbm8oZmlsZSwgJmZkKTsKKyAgICBpZiAoZmlsZSA9PSBOVUxMKQorICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIHRzdGF0ZSA9IGdldF90aHJlYWRfc3RhdGUoKTsKKyAgICBpZiAodHN0YXRlID09IE5VTEwpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgUHlfWERFQ1JFRihmYXRhbF9lcnJvci5maWxlKTsKKyAgICBQeV9JTkNSRUYoZmlsZSk7CisgICAgZmF0YWxfZXJyb3IuZmlsZSA9IGZpbGU7CisgICAgZmF0YWxfZXJyb3IuZmQgPSBmZDsKKyAgICBmYXRhbF9lcnJvci5hbGxfdGhyZWFkcyA9IGFsbF90aHJlYWRzOworICAgIGZhdGFsX2Vycm9yLmludGVycCA9IHRzdGF0ZS0+aW50ZXJwOworCisgICAgaWYgKCFmYXRhbF9lcnJvci5lbmFibGVkKSB7CisgICAgICAgIGZhdGFsX2Vycm9yLmVuYWJsZWQgPSAxOworCisgICAgICAgIGZvciAoaT0wOyBpIDwgZmF1bHRoYW5kbGVyX25zaWduYWxzOyBpKyspIHsKKyAgICAgICAgICAgIGhhbmRsZXIgPSAmZmF1bHRoYW5kbGVyX2hhbmRsZXJzW2ldOworI2lmZGVmIEhBVkVfU0lHQUNUSU9OCisgICAgICAgICAgICBhY3Rpb24uc2FfaGFuZGxlciA9IGZhdWx0aGFuZGxlcl9mYXRhbF9lcnJvcjsKKyAgICAgICAgICAgIHNpZ2VtcHR5c2V0KCZhY3Rpb24uc2FfbWFzayk7CisgICAgICAgICAgICAvKiBEbyBub3QgcHJldmVudCB0aGUgc2lnbmFsIGZyb20gYmVpbmcgcmVjZWl2ZWQgZnJvbSB3aXRoaW4KKyAgICAgICAgICAgICAgIGl0cyBvd24gc2lnbmFsIGhhbmRsZXIgKi8KKyAgICAgICAgICAgIGFjdGlvbi5zYV9mbGFncyA9IFNBX05PREVGRVI7CisjaWZkZWYgSEFWRV9TSUdBTFRTVEFDSworICAgICAgICAgICAgaWYgKHN0YWNrLnNzX3NwICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAvKiBDYWxsIHRoZSBzaWduYWwgaGFuZGxlciBvbiBhbiBhbHRlcm5hdGUgc2lnbmFsIHN0YWNrCisgICAgICAgICAgICAgICAgICAgcHJvdmlkZWQgYnkgc2lnYWx0c3RhY2soKSAqLworICAgICAgICAgICAgICAgIGFjdGlvbi5zYV9mbGFncyB8PSBTQV9PTlNUQUNLOworICAgICAgICAgICAgfQorI2VuZGlmCisgICAgICAgICAgICBlcnIgPSBzaWdhY3Rpb24oaGFuZGxlci0+c2lnbnVtLCAmYWN0aW9uLCAmaGFuZGxlci0+cHJldmlvdXMpOworI2Vsc2UKKyAgICAgICAgICAgIGhhbmRsZXItPnByZXZpb3VzID0gc2lnbmFsKGhhbmRsZXItPnNpZ251bSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhdWx0aGFuZGxlcl9mYXRhbF9lcnJvcik7CisgICAgICAgICAgICBlcnIgPSAoaGFuZGxlci0+cHJldmlvdXMgPT0gU0lHX0VSUik7CisjZW5kaWYKKyAgICAgICAgICAgIGlmIChlcnIpIHsKKyAgICAgICAgICAgICAgICBQeUVycl9TZXRGcm9tRXJybm8oUHlFeGNfUnVudGltZUVycm9yKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGhhbmRsZXItPmVuYWJsZWQgPSAxOworICAgICAgICB9CisgICAgfQorICAgIFB5X1JFVFVSTl9OT05FOworfQorCitzdGF0aWMgdm9pZAorZmF1bHRoYW5kbGVyX2Rpc2FibGUodm9pZCkKK3sKKyAgICB1bnNpZ25lZCBpbnQgaTsKKyAgICBmYXVsdF9oYW5kbGVyX3QgKmhhbmRsZXI7CisKKyAgICBpZiAoZmF0YWxfZXJyb3IuZW5hYmxlZCkgeworICAgICAgICBmYXRhbF9lcnJvci5lbmFibGVkID0gMDsKKyAgICAgICAgZm9yIChpPTA7IGkgPCBmYXVsdGhhbmRsZXJfbnNpZ25hbHM7IGkrKykgeworICAgICAgICAgICAgaGFuZGxlciA9ICZmYXVsdGhhbmRsZXJfaGFuZGxlcnNbaV07CisgICAgICAgICAgICBpZiAoIWhhbmRsZXItPmVuYWJsZWQpCisgICAgICAgICAgICAgICAgY29udGludWU7CisjaWZkZWYgSEFWRV9TSUdBQ1RJT04KKyAgICAgICAgICAgICh2b2lkKXNpZ2FjdGlvbihoYW5kbGVyLT5zaWdudW0sICZoYW5kbGVyLT5wcmV2aW91cywgTlVMTCk7CisjZWxzZQorICAgICAgICAgICAgKHZvaWQpc2lnbmFsKGhhbmRsZXItPnNpZ251bSwgaGFuZGxlci0+cHJldmlvdXMpOworI2VuZGlmCisgICAgICAgICAgICBoYW5kbGVyLT5lbmFibGVkID0gMDsKKyAgICAgICAgfQorICAgIH0KKworICAgIFB5X0NMRUFSKGZhdGFsX2Vycm9yLmZpbGUpOworfQorCitzdGF0aWMgUHlPYmplY3QqCitmYXVsdGhhbmRsZXJfZGlzYWJsZV9weShQeU9iamVjdCAqc2VsZikKK3sKKyAgICBpZiAoIWZhdGFsX2Vycm9yLmVuYWJsZWQpIHsKKyAgICAgICAgUHlfSU5DUkVGKFB5X0ZhbHNlKTsKKyAgICAgICAgcmV0dXJuIFB5X0ZhbHNlOworICAgIH0KKyAgICBmYXVsdGhhbmRsZXJfZGlzYWJsZSgpOworICAgIFB5X0lOQ1JFRihQeV9UcnVlKTsKKyAgICByZXR1cm4gUHlfVHJ1ZTsKK30KKworc3RhdGljIFB5T2JqZWN0KgorZmF1bHRoYW5kbGVyX2lzX2VuYWJsZWQoUHlPYmplY3QgKnNlbGYpCit7CisgICAgcmV0dXJuIFB5Qm9vbF9Gcm9tTG9uZyhmYXRhbF9lcnJvci5lbmFibGVkKTsKK30KKworI2lmZGVmIEZBVUxUSEFORExFUl9MQVRFUgorCitzdGF0aWMgdm9pZAorZmF1bHRoYW5kbGVyX3RocmVhZCh2b2lkICp1bnVzZWQpCit7CisgICAgUHlMb2NrU3RhdHVzIHN0OworICAgIGNvbnN0IGNoYXIqIGVycm1zZzsKKyAgICBQeVRocmVhZFN0YXRlICpjdXJyZW50OworICAgIGludCBvazsKKyNpZiBkZWZpbmVkKEhBVkVfUFRIUkVBRF9TSUdNQVNLKSAmJiAhZGVmaW5lZChIQVZFX0JST0tFTl9QVEhSRUFEX1NJR01BU0spCisgICAgc2lnc2V0X3Qgc2V0OworCisgICAgLyogd2UgZG9uJ3Qgd2FudCB0byByZWNlaXZlIGFueSBzaWduYWwgKi8KKyAgICBzaWdmaWxsc2V0KCZzZXQpOworICAgIHB0aHJlYWRfc2lnbWFzayhTSUdfU0VUTUFTSywgJnNldCwgTlVMTCk7CisjZW5kaWYKKworICAgIGRvIHsKKyAgICAgICAgc3QgPSBQeVRocmVhZF9hY3F1aXJlX2xvY2tfdGltZWQodGhyZWFkLmNhbmNlbF9ldmVudCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyZWFkLnRpbWVvdXRfdXMsIDApOworICAgICAgICBpZiAoc3QgPT0gUFlfTE9DS19BQ1FVSVJFRCkgeworICAgICAgICAgICAgUHlUaHJlYWRfcmVsZWFzZV9sb2NrKHRocmVhZC5jYW5jZWxfZXZlbnQpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgLyogVGltZW91dCA9PiBkdW1wIHRyYWNlYmFjayAqLworICAgICAgICBhc3NlcnQoc3QgPT0gUFlfTE9DS19GQUlMVVJFKTsKKworICAgICAgICAvKiBnZXQgdGhlIHRocmVhZCBob2xkaW5nIHRoZSBHSUwsIE5VTEwgaWYgbm8gdGhyZWFkIGhvbGQgdGhlIEdJTCAqLworICAgICAgICBjdXJyZW50ID0gX1B5X2F0b21pY19sb2FkX3JlbGF4ZWQoJl9QeVRocmVhZFN0YXRlX0N1cnJlbnQpOworCisgICAgICAgIHdyaXRlKHRocmVhZC5mZCwgdGhyZWFkLmhlYWRlciwgdGhyZWFkLmhlYWRlcl9sZW4pOworCisgICAgICAgIGVycm1zZyA9IF9QeV9EdW1wVHJhY2ViYWNrVGhyZWFkcyh0aHJlYWQuZmQsIHRocmVhZC5pbnRlcnAsIGN1cnJlbnQpOworICAgICAgICBvayA9IChlcnJtc2cgPT0gTlVMTCk7CisKKyAgICAgICAgaWYgKHRocmVhZC5leGl0KQorICAgICAgICAgICAgX2V4aXQoMSk7CisgICAgfSB3aGlsZSAob2sgJiYgdGhyZWFkLnJlcGVhdCk7CisKKyAgICAvKiBUaGUgb25seSB3YXkgb3V0ICovCisgICAgUHlUaHJlYWRfcmVsZWFzZV9sb2NrKHRocmVhZC5ydW5uaW5nKTsKK30KKworc3RhdGljIHZvaWQKK2NhbmNlbF9kdW1wX3RyYWNlYmFja3NfbGF0ZXIodm9pZCkKK3sKKyAgICAvKiBOb3RpZnkgY2FuY2VsbGF0aW9uICovCisgICAgUHlUaHJlYWRfcmVsZWFzZV9sb2NrKHRocmVhZC5jYW5jZWxfZXZlbnQpOworCisgICAgLyogV2FpdCBmb3IgdGhyZWFkIHRvIGpvaW4gKi8KKyAgICBQeVRocmVhZF9hY3F1aXJlX2xvY2sodGhyZWFkLnJ1bm5pbmcsIDEpOworICAgIFB5VGhyZWFkX3JlbGVhc2VfbG9jayh0aHJlYWQucnVubmluZyk7CisKKyAgICAvKiBUaGUgbWFpbiB0aHJlYWQgc2hvdWxkIGFsd2F5cyBob2xkIHRoZSBjYW5jZWxfZXZlbnQgbG9jayAqLworICAgIFB5VGhyZWFkX2FjcXVpcmVfbG9jayh0aHJlYWQuY2FuY2VsX2V2ZW50LCAxKTsKKworICAgIFB5X0NMRUFSKHRocmVhZC5maWxlKTsKKyAgICBpZiAodGhyZWFkLmhlYWRlcikgeworICAgICAgICBmcmVlKHRocmVhZC5oZWFkZXIpOworICAgICAgICB0aHJlYWQuaGVhZGVyID0gTlVMTDsKKyAgICB9Cit9CisKK3N0YXRpYyBjaGFyKgorZm9ybWF0X3RpbWVvdXQoZG91YmxlIHRpbWVvdXQpCit7CisgICAgdW5zaWduZWQgbG9uZyB1cywgc2VjLCBtaW4sIGhvdXI7CisgICAgZG91YmxlIGludHBhcnQsIGZyYWNwYXJ0OworICAgIGNoYXIgYnVmZmVyWzEwMF07CisKKyAgICBmcmFjcGFydCA9IG1vZGYodGltZW91dCwgJmludHBhcnQpOworICAgIHNlYyA9ICh1bnNpZ25lZCBsb25nKWludHBhcnQ7CisgICAgdXMgPSAodW5zaWduZWQgbG9uZykoZnJhY3BhcnQgKiAxZTYpOworICAgIG1pbiA9IHNlYyAvIDYwOworICAgIHNlYyAlPSA2MDsKKyAgICBob3VyID0gbWluIC8gNjA7CisgICAgbWluICU9IDYwOworCisgICAgaWYgKHVzICE9IDApCisgICAgICAgIFB5T1Nfc25wcmludGYoYnVmZmVyLCBzaXplb2YoYnVmZmVyKSwKKyAgICAgICAgICAgICAgICAgICAgICAiVGltZW91dCAoJWx1OiUwMmx1OiUwMmx1LiUwNmx1KSFcbiIsCisgICAgICAgICAgICAgICAgICAgICAgaG91ciwgbWluLCBzZWMsIHVzKTsKKyAgICBlbHNlCisgICAgICAgIFB5T1Nfc25wcmludGYoYnVmZmVyLCBzaXplb2YoYnVmZmVyKSwKKyAgICAgICAgICAgICAgICAgICAgICAiVGltZW91dCAoJWx1OiUwMmx1OiUwMmx1KSFcbiIsCisgICAgICAgICAgICAgICAgICAgICAgaG91ciwgbWluLCBzZWMpOworCisgICAgcmV0dXJuIHN0cmR1cChidWZmZXIpOworfQorCitzdGF0aWMgUHlPYmplY3QqCitmYXVsdGhhbmRsZXJfZHVtcF90cmFjZWJhY2tzX2xhdGVyKFB5T2JqZWN0ICpzZWxmLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKK3sKKyAgICBzdGF0aWMgY2hhciAqa3dsaXN0W10gPSB7InRpbWVvdXQiLCAicmVwZWF0IiwgImZpbGUiLCAiZXhpdCIsIE5VTEx9OworICAgIGRvdWJsZSB0aW1lb3V0OworICAgIFBZX1RJTUVPVVRfVCB0aW1lb3V0X3VzOworICAgIGludCByZXBlYXQgPSAwOworICAgIFB5T2JqZWN0ICpmaWxlID0gTlVMTDsKKyAgICBpbnQgZmQ7CisgICAgaW50IGV4aXQgPSAwOworICAgIFB5VGhyZWFkU3RhdGUgKnRzdGF0ZTsKKyAgICBjaGFyICpoZWFkZXI7CisgICAgc2l6ZV90IGhlYWRlcl9sZW47CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsCisgICAgICAgICJkfGlPaTpkdW1wX3RyYWNlYmFja3NfbGF0ZXIiLCBrd2xpc3QsCisgICAgICAgICZ0aW1lb3V0LCAmcmVwZWF0LCAmZmlsZSwgJmV4aXQpKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBpZiAoKHRpbWVvdXQgKiAxZTYpID49IChkb3VibGUpIFBZX1RJTUVPVVRfTUFYKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19PdmVyZmxvd0Vycm9yLCAgInRpbWVvdXQgdmFsdWUgaXMgdG9vIGxhcmdlIik7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKyAgICB0aW1lb3V0X3VzID0gKFBZX1RJTUVPVVRfVCkodGltZW91dCAqIDFlNik7CisgICAgaWYgKHRpbWVvdXRfdXMgPD0gMCkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwgInRpbWVvdXQgbXVzdCBiZSBncmVhdGVyIHRoYW4gMCIpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisKKyAgICB0c3RhdGUgPSBnZXRfdGhyZWFkX3N0YXRlKCk7CisgICAgaWYgKHRzdGF0ZSA9PSBOVUxMKQorICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIGZpbGUgPSBmYXVsdGhhbmRsZXJfZ2V0X2ZpbGVubyhmaWxlLCAmZmQpOworICAgIGlmIChmaWxlID09IE5VTEwpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgLyogZm9ybWF0IHRoZSB0aW1lb3V0ICovCisgICAgaGVhZGVyID0gZm9ybWF0X3RpbWVvdXQodGltZW91dCk7CisgICAgaWYgKGhlYWRlciA9PSBOVUxMKQorICAgICAgICByZXR1cm4gUHlFcnJfTm9NZW1vcnkoKTsKKyAgICBoZWFkZXJfbGVuID0gc3RybGVuKGhlYWRlcik7CisKKyAgICAvKiBDYW5jZWwgcHJldmlvdXMgdGhyZWFkLCBpZiBydW5uaW5nICovCisgICAgY2FuY2VsX2R1bXBfdHJhY2ViYWNrc19sYXRlcigpOworCisgICAgUHlfWERFQ1JFRih0aHJlYWQuZmlsZSk7CisgICAgUHlfSU5DUkVGKGZpbGUpOworICAgIHRocmVhZC5maWxlID0gZmlsZTsKKyAgICB0aHJlYWQuZmQgPSBmZDsKKyAgICB0aHJlYWQudGltZW91dF91cyA9IHRpbWVvdXRfdXM7CisgICAgdGhyZWFkLnJlcGVhdCA9IHJlcGVhdDsKKyAgICB0aHJlYWQuaW50ZXJwID0gdHN0YXRlLT5pbnRlcnA7CisgICAgdGhyZWFkLmV4aXQgPSBleGl0OworICAgIHRocmVhZC5oZWFkZXIgPSBoZWFkZXI7CisgICAgdGhyZWFkLmhlYWRlcl9sZW4gPSBoZWFkZXJfbGVuOworCisgICAgLyogQXJtIHRoZXNlIGxvY2tzIHRvIHNlcnZlIGFzIGV2ZW50cyB3aGVuIHJlbGVhc2VkICovCisgICAgUHlUaHJlYWRfYWNxdWlyZV9sb2NrKHRocmVhZC5ydW5uaW5nLCAxKTsKKworICAgIGlmIChQeVRocmVhZF9zdGFydF9uZXdfdGhyZWFkKGZhdWx0aGFuZGxlcl90aHJlYWQsIE5VTEwpID09IC0xKSB7CisgICAgICAgIFB5VGhyZWFkX3JlbGVhc2VfbG9jayh0aHJlYWQucnVubmluZyk7CisgICAgICAgIFB5X0NMRUFSKHRocmVhZC5maWxlKTsKKyAgICAgICAgZnJlZShoZWFkZXIpOworICAgICAgICB0aHJlYWQuaGVhZGVyID0gTlVMTDsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1J1bnRpbWVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ1bmFibGUgdG8gc3RhcnQgd2F0Y2hkb2cgdGhyZWFkIik7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKworICAgIFB5X1JFVFVSTl9OT05FOworfQorCitzdGF0aWMgUHlPYmplY3QqCitmYXVsdGhhbmRsZXJfY2FuY2VsX2R1bXBfdHJhY2ViYWNrc19sYXRlcl9weShQeU9iamVjdCAqc2VsZikKK3sKKyAgICBjYW5jZWxfZHVtcF90cmFjZWJhY2tzX2xhdGVyKCk7CisgICAgUHlfUkVUVVJOX05PTkU7Cit9CisjZW5kaWYgIC8qIEZBVUxUSEFORExFUl9MQVRFUiAqLworCisjaWZkZWYgRkFVTFRIQU5ETEVSX1dBVENIRE9HCisKK3N0YXRpYyB2b2lkCitmaWxlX3dhdGNoZG9nKHZvaWQgKnVudXNlZCkKK3sKKyAgICBQeUxvY2tTdGF0dXMgc3Q7CisgICAgUFlfVElNRU9VVF9UIHRpbWVvdXQ7CisKKyNkZWZpbmUgTUFYREFUQSAxMDI0CisgICAgY2hhciBidWYxW01BWERBVEFdLCBidWYyW01BWERBVEFdOworICAgIGNoYXIgKmRhdGEgPSBidWYxLCAqb2xkX2RhdGEgPSBidWYyOworICAgIFB5X3NzaXplX3QgZGF0YV9sZW4sIG9sZF9kYXRhX2xlbiA9IC0xOworCisjaWYgZGVmaW5lZChIQVZFX1BUSFJFQURfU0lHTUFTSykgJiYgIWRlZmluZWQoSEFWRV9CUk9LRU5fUFRIUkVBRF9TSUdNQVNLKQorICAgIHNpZ3NldF90IHNldDsKKworICAgIC8qIHdlIGRvbid0IHdhbnQgdG8gcmVjZWl2ZSBhbnkgc2lnbmFsICovCisgICAgc2lnZmlsbHNldCgmc2V0KTsKKyAgICBwdGhyZWFkX3NpZ21hc2soU0lHX1NFVE1BU0ssICZzZXQsIE5VTEwpOworI2VuZGlmCisKKyAgICAvKiBPbiBmaXJzdCBwYXNzLCBmZWVkIGZpbGUgY29udGVudHMgaW1tZWRpYXRlbHkgKi8KKyAgICB0aW1lb3V0ID0gMDsKKyAgICBkbyB7CisgICAgICAgIHN0ID0gUHlUaHJlYWRfYWNxdWlyZV9sb2NrX3RpbWVkKHdhdGNoZG9nLmNhbmNlbF9ldmVudCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGltZW91dCwgMCk7CisgICAgICAgIHRpbWVvdXQgPSB3YXRjaGRvZy5wZXJpb2RfdXM7CisgICAgICAgIGlmIChzdCA9PSBQWV9MT0NLX0FDUVVJUkVEKSB7CisgICAgICAgICAgICBQeVRocmVhZF9yZWxlYXNlX2xvY2sod2F0Y2hkb2cuY2FuY2VsX2V2ZW50KTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgICAgIC8qIFRpbWVvdXQgPT4gcmVhZCBhbmQgd3JpdGUgZGF0YSAqLworICAgICAgICBhc3NlcnQoc3QgPT0gUFlfTE9DS19GQUlMVVJFKTsKKworICAgICAgICBpZiAobHNlZWsod2F0Y2hkb2cucmZkLCAwLCBTRUVLX1NFVCkgPCAwKSB7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgICBkYXRhX2xlbiA9IHJlYWQod2F0Y2hkb2cucmZkLCBkYXRhLCBNQVhEQVRBKTsKKyAgICAgICAgaWYgKGRhdGFfbGVuIDwgMCkgeworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgaWYgKGRhdGFfbGVuICE9IG9sZF9kYXRhX2xlbiB8fCBtZW1jbXAoZGF0YSwgb2xkX2RhdGEsIGRhdGFfbGVuKSkgeworICAgICAgICAgICAgY2hhciAqdGRhdGE7CisgICAgICAgICAgICBQeV9zc2l6ZV90IHRsZW47CisgICAgICAgICAgICAvKiBDb250ZW50cyBjaGFuZ2VkLCBmZWVkIHRoZW0gdG8gd2ZkICovCisgICAgICAgICAgICBsb25nIHggPSAobG9uZykgZGF0YV9sZW47CisgICAgICAgICAgICAvKiBXZSBjYW4ndCBkbyBhbnl0aGluZyBpZiB0aGUgY29uc3VtZXIgaXMgdG9vIHNsb3csIGp1c3QgYmFpbCBvdXQgKi8KKyAgICAgICAgICAgIGlmICh3cml0ZSh3YXRjaGRvZy53ZmQsICh2b2lkICopICZ4LCBzaXplb2YoeCkpIDwgc2l6ZW9mKHgpKQorICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgaWYgKHdyaXRlKHdhdGNoZG9nLndmZCwgZGF0YSwgZGF0YV9sZW4pIDwgZGF0YV9sZW4pCisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB0ZGF0YSA9IGRhdGE7CisgICAgICAgICAgICBkYXRhID0gb2xkX2RhdGE7CisgICAgICAgICAgICBvbGRfZGF0YSA9IHRkYXRhOworICAgICAgICAgICAgdGxlbiA9IGRhdGFfbGVuOworICAgICAgICAgICAgZGF0YV9sZW4gPSBvbGRfZGF0YV9sZW47CisgICAgICAgICAgICBvbGRfZGF0YV9sZW4gPSB0bGVuOworICAgICAgICB9CisgICAgfSB3aGlsZSAoMSk7CisKKyAgICBjbG9zZSh3YXRjaGRvZy5yZmQpOworICAgIGNsb3NlKHdhdGNoZG9nLndmZCk7CisKKyAgICAvKiBUaGUgb25seSB3YXkgb3V0ICovCisgICAgUHlUaHJlYWRfcmVsZWFzZV9sb2NrKHdhdGNoZG9nLnJ1bm5pbmcpOworI3VuZGVmIE1BWERBVEEKK30KKworc3RhdGljIHZvaWQKK2NhbmNlbF9maWxlX3dhdGNoZG9nKHZvaWQpCit7CisgICAgLyogTm90aWZ5IGNhbmNlbGxhdGlvbiAqLworICAgIFB5VGhyZWFkX3JlbGVhc2VfbG9jayh3YXRjaGRvZy5jYW5jZWxfZXZlbnQpOworCisgICAgLyogV2FpdCBmb3IgdGhyZWFkIHRvIGpvaW4gKi8KKyAgICBQeVRocmVhZF9hY3F1aXJlX2xvY2sod2F0Y2hkb2cucnVubmluZywgMSk7CisgICAgUHlUaHJlYWRfcmVsZWFzZV9sb2NrKHdhdGNoZG9nLnJ1bm5pbmcpOworCisgICAgLyogVGhlIG1haW4gdGhyZWFkIHNob3VsZCBhbHdheXMgaG9sZCB0aGUgY2FuY2VsX2V2ZW50IGxvY2sgKi8KKyAgICBQeVRocmVhZF9hY3F1aXJlX2xvY2sod2F0Y2hkb2cuY2FuY2VsX2V2ZW50LCAxKTsKK30KKworc3RhdGljIFB5T2JqZWN0KgorZmF1bHRoYW5kbGVyX2ZpbGVfd2F0Y2hkb2coUHlPYmplY3QgKnNlbGYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKK3sKKyAgICBzdGF0aWMgY2hhciAqa3dsaXN0W10gPSB7InJmZCIsICJ3ZmQiLCAicGVyaW9kIiwgTlVMTH07CisgICAgZG91YmxlIHBlcmlvZDsKKyAgICBQWV9USU1FT1VUX1QgcGVyaW9kX3VzOworICAgIGludCByZmQsIHdmZDsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgImlpZDpfZmlsZV93YXRjaGRvZyIsIGt3bGlzdCwKKyAgICAgICAgJnJmZCwgJndmZCwgJnBlcmlvZCkpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIGlmICgocGVyaW9kICogMWU2KSA+PSAoZG91YmxlKSBQWV9USU1FT1VUX01BWCkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfT3ZlcmZsb3dFcnJvciwgICJwZXJpb2QgdmFsdWUgaXMgdG9vIGxhcmdlIik7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKyAgICBwZXJpb2RfdXMgPSAoUFlfVElNRU9VVF9UKShwZXJpb2QgKiAxZTYpOworICAgIGlmIChwZXJpb2RfdXMgPD0gMCkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwgInBlcmlvZCBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAwIik7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKworICAgIC8qIENhbmNlbCBwcmV2aW91cyB0aHJlYWQsIGlmIHJ1bm5pbmcgKi8KKyAgICBjYW5jZWxfZmlsZV93YXRjaGRvZygpOworCisgICAgd2F0Y2hkb2cucmZkID0gcmZkOworICAgIHdhdGNoZG9nLndmZCA9IHdmZDsKKyAgICB3YXRjaGRvZy5wZXJpb2RfdXMgPSBwZXJpb2RfdXM7CisKKyAgICAvKiBBcm0gdGhlc2UgbG9ja3MgdG8gc2VydmUgYXMgZXZlbnRzIHdoZW4gcmVsZWFzZWQgKi8KKyAgICBQeVRocmVhZF9hY3F1aXJlX2xvY2sod2F0Y2hkb2cucnVubmluZywgMSk7CisKKyAgICBpZiAoUHlUaHJlYWRfc3RhcnRfbmV3X3RocmVhZChmaWxlX3dhdGNoZG9nLCBOVUxMKSA9PSAtMSkgeworICAgICAgICBQeVRocmVhZF9yZWxlYXNlX2xvY2sod2F0Y2hkb2cucnVubmluZyk7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19SdW50aW1lRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAidW5hYmxlIHRvIHN0YXJ0IGZpbGUgd2F0Y2hkb2cgdGhyZWFkIik7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKworICAgIFB5X1JFVFVSTl9OT05FOworfQorCitzdGF0aWMgUHlPYmplY3QqCitmYXVsdGhhbmRsZXJfY2FuY2VsX2ZpbGVfd2F0Y2hkb2coUHlPYmplY3QgKnNlbGYpCit7CisgICAgY2FuY2VsX2ZpbGVfd2F0Y2hkb2coKTsKKyAgICBQeV9SRVRVUk5fTk9ORTsKK30KKyNlbmRpZiAgLyogRkFVTFRIQU5ETEVSX1dBVENIRE9HICovCisKKyNpZmRlZiBGQVVMVEhBTkRMRVJfVVNFUgorc3RhdGljIGludAorZmF1bHRoYW5kbGVyX3JlZ2lzdGVyKGludCBzaWdudW0sIGludCBjaGFpbiwgX1B5X3NpZ2hhbmRsZXJfdCAqcF9wcmV2aW91cykKK3sKKyNpZmRlZiBIQVZFX1NJR0FDVElPTgorICAgIHN0cnVjdCBzaWdhY3Rpb24gYWN0aW9uOworICAgIGFjdGlvbi5zYV9oYW5kbGVyID0gZmF1bHRoYW5kbGVyX3VzZXI7CisgICAgc2lnZW1wdHlzZXQoJmFjdGlvbi5zYV9tYXNrKTsKKyAgICAvKiBpZiB0aGUgc2lnbmFsIGlzIHJlY2VpdmVkIHdoaWxlIHRoZSBrZXJuZWwgaXMgZXhlY3V0aW5nIGEgc3lzdGVtCisgICAgICAgY2FsbCwgdHJ5IHRvIHJlc3RhcnQgdGhlIHN5c3RlbSBjYWxsIGluc3RlYWQgb2YgaW50ZXJydXB0aW5nIGl0IGFuZAorICAgICAgIHJldHVybiBFSU5UUi4gKi8KKyAgICBhY3Rpb24uc2FfZmxhZ3MgPSBTQV9SRVNUQVJUOworICAgIGlmIChjaGFpbikgeworICAgICAgICAvKiBkbyBub3QgcHJldmVudCB0aGUgc2lnbmFsIGZyb20gYmVpbmcgcmVjZWl2ZWQgZnJvbSB3aXRoaW4gaXRzCisgICAgICAgICAgIG93biBzaWduYWwgaGFuZGxlciAqLworICAgICAgICBhY3Rpb24uc2FfZmxhZ3MgPSBTQV9OT0RFRkVSOworICAgIH0KKyNpZmRlZiBIQVZFX1NJR0FMVFNUQUNLCisgICAgaWYgKHN0YWNrLnNzX3NwICE9IE5VTEwpIHsKKyAgICAgICAgLyogQ2FsbCB0aGUgc2lnbmFsIGhhbmRsZXIgb24gYW4gYWx0ZXJuYXRlIHNpZ25hbCBzdGFjaworICAgICAgICAgICBwcm92aWRlZCBieSBzaWdhbHRzdGFjaygpICovCisgICAgICAgIGFjdGlvbi5zYV9mbGFncyB8PSBTQV9PTlNUQUNLOworICAgIH0KKyNlbmRpZgorICAgIHJldHVybiBzaWdhY3Rpb24oc2lnbnVtLCAmYWN0aW9uLCBwX3ByZXZpb3VzKTsKKyNlbHNlCisgICAgX1B5X3NpZ2hhbmRsZXJfdCBwcmV2aW91czsKKyAgICBwcmV2aW91cyA9IHNpZ25hbChzaWdudW0sIGZhdWx0aGFuZGxlcl91c2VyKTsKKyAgICBpZiAocF9wcmV2aW91cyAhPSBOVUxMKQorICAgICAgICAqcF9wcmV2aW91cyA9IHByZXZpb3VzOworICAgIHJldHVybiAocHJldmlvdXMgPT0gU0lHX0VSUik7CisjZW5kaWYKK30KKworLyogSGFuZGxlciBvZiB1c2VyIHNpZ25hbHMgKGUuZy4gU0lHVVNSMSkuCisKKyAgIER1bXAgdGhlIHRyYWNlYmFjayBvZiB0aGUgY3VycmVudCB0aHJlYWQsIG9yIG9mIGFsbCB0aHJlYWRzIGlmCisgICB0aHJlYWQuYWxsX3RocmVhZHMgaXMgdHJ1ZS4KKworICAgVGhpcyBmdW5jdGlvbiBpcyBzaWduYWwgc2FmZSBhbmQgc2hvdWxkIG9ubHkgY2FsbCBzaWduYWwgc2FmZSBmdW5jdGlvbnMuICovCisKK3N0YXRpYyB2b2lkCitmYXVsdGhhbmRsZXJfdXNlcihpbnQgc2lnbnVtKQoreworICAgIHVzZXJfc2lnbmFsX3QgKnVzZXI7CisgICAgUHlUaHJlYWRTdGF0ZSAqdHN0YXRlOworICAgIGludCBzYXZlX2Vycm5vID0gZXJybm87CisKKyAgICB1c2VyID0gJnVzZXJfc2lnbmFsc1tzaWdudW1dOworICAgIGlmICghdXNlci0+ZW5hYmxlZCkKKyAgICAgICAgcmV0dXJuOworCisjaWZkZWYgV0lUSF9USFJFQUQKKyAgICAvKiBQeVRocmVhZFN0YXRlX0dldCgpIGRvZXNuJ3QgZ2l2ZSB0aGUgc3RhdGUgb2YgdGhlIGN1cnJlbnQgdGhyZWFkIGlmCisgICAgICAgdGhlIHRocmVhZCBkb2Vzbid0IGhvbGQgdGhlIEdJTC4gUmVhZCB0aGUgdGhyZWFkIGxvY2FsIHN0b3JhZ2UgKFRMUykKKyAgICAgICBpbnN0ZWFkOiBjYWxsIFB5R0lMU3RhdGVfR2V0VGhpc1RocmVhZFN0YXRlKCkuICovCisgICAgdHN0YXRlID0gUHlHSUxTdGF0ZV9HZXRUaGlzVGhyZWFkU3RhdGUoKTsKKyNlbHNlCisgICAgdHN0YXRlID0gUHlUaHJlYWRTdGF0ZV9HZXQoKTsKKyNlbmRpZgorCisgICAgaWYgKHVzZXItPmFsbF90aHJlYWRzKQorICAgICAgICBfUHlfRHVtcFRyYWNlYmFja1RocmVhZHModXNlci0+ZmQsIHVzZXItPmludGVycCwgdHN0YXRlKTsKKyAgICBlbHNlIHsKKyAgICAgICAgaWYgKHRzdGF0ZSA9PSBOVUxMKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICBfUHlfRHVtcFRyYWNlYmFjayh1c2VyLT5mZCwgdHN0YXRlKTsKKyAgICB9CisjaWZkZWYgSEFWRV9TSUdBQ1RJT04KKyAgICBpZiAodXNlci0+Y2hhaW4pIHsKKyAgICAgICAgKHZvaWQpc2lnYWN0aW9uKHNpZ251bSwgJnVzZXItPnByZXZpb3VzLCBOVUxMKTsKKyAgICAgICAgLyogY2FsbCB0aGUgcHJldmlvdXMgc2lnbmFsIGhhbmRsZXIgKi8KKyAgICAgICAgcmFpc2Uoc2lnbnVtKTsKKyAgICAgICAgKHZvaWQpZmF1bHRoYW5kbGVyX3JlZ2lzdGVyKHNpZ251bSwgdXNlci0+Y2hhaW4sIE5VTEwpOworICAgIH0KKyNlbHNlCisgICAgaWYgKHVzZXItPmNoYWluKSB7CisgICAgICAgIC8qIGNhbGwgdGhlIHByZXZpb3VzIHNpZ25hbCBoYW5kbGVyICovCisgICAgICAgIHVzZXItPnByZXZpb3VzKHNpZ251bSk7CisgICAgfQorI2VuZGlmCisgICAgZXJybm8gPSBzYXZlX2Vycm5vOworfQorCitzdGF0aWMgaW50CitjaGVja19zaWdudW0oaW50IHNpZ251bSkKK3sKKyAgICB1bnNpZ25lZCBpbnQgaTsKKworICAgIGZvciAoaT0wOyBpIDwgZmF1bHRoYW5kbGVyX25zaWduYWxzOyBpKyspIHsKKyAgICAgICAgaWYgKGZhdWx0aGFuZGxlcl9oYW5kbGVyc1tpXS5zaWdudW0gPT0gc2lnbnVtKSB7CisgICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfUnVudGltZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICJzaWduYWwgJWkgY2Fubm90IGJlIHJlZ2lzdGVyZWQsICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAidXNlIGVuYWJsZSgpIGluc3RlYWQiLAorICAgICAgICAgICAgICAgICAgICAgICAgIHNpZ251bSk7CisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgfQorICAgIH0KKyAgICBpZiAoc2lnbnVtIDwgMSB8fCBOU0lHIDw9IHNpZ251bSkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwgInNpZ25hbCBudW1iZXIgb3V0IG9mIHJhbmdlIik7CisgICAgICAgIHJldHVybiAwOworICAgIH0KKyAgICByZXR1cm4gMTsKK30KKworc3RhdGljIFB5T2JqZWN0KgorZmF1bHRoYW5kbGVyX3JlZ2lzdGVyX3B5KFB5T2JqZWN0ICpzZWxmLAorICAgICAgICAgICAgICAgICAgICAgICAgIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQoreworICAgIHN0YXRpYyBjaGFyICprd2xpc3RbXSA9IHsic2lnbnVtIiwgImZpbGUiLCAiYWxsX3RocmVhZHMiLCAiY2hhaW4iLCBOVUxMfTsKKyAgICBpbnQgc2lnbnVtOworICAgIFB5T2JqZWN0ICpmaWxlID0gTlVMTDsKKyAgICBpbnQgYWxsX3RocmVhZHMgPSAxOworICAgIGludCBjaGFpbiA9IDA7CisgICAgaW50IGZkOworICAgIHVzZXJfc2lnbmFsX3QgKnVzZXI7CisgICAgX1B5X3NpZ2hhbmRsZXJfdCBwcmV2aW91czsKKyAgICBQeVRocmVhZFN0YXRlICp0c3RhdGU7CisgICAgaW50IGVycjsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywKKyAgICAgICAgIml8T2lpOnJlZ2lzdGVyIiwga3dsaXN0LAorICAgICAgICAmc2lnbnVtLCAmZmlsZSwgJmFsbF90aHJlYWRzLCAmY2hhaW4pKQorICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIGlmICghY2hlY2tfc2lnbnVtKHNpZ251bSkpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgdHN0YXRlID0gZ2V0X3RocmVhZF9zdGF0ZSgpOworICAgIGlmICh0c3RhdGUgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICBmaWxlID0gZmF1bHRoYW5kbGVyX2dldF9maWxlbm8oZmlsZSwgJmZkKTsKKyAgICBpZiAoZmlsZSA9PSBOVUxMKQorICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIGlmICh1c2VyX3NpZ25hbHMgPT0gTlVMTCkgeworICAgICAgICB1c2VyX3NpZ25hbHMgPSBjYWxsb2MoTlNJRywgc2l6ZW9mKHVzZXJfc2lnbmFsX3QpKTsKKyAgICAgICAgaWYgKHVzZXJfc2lnbmFscyA9PSBOVUxMKQorICAgICAgICAgICAgcmV0dXJuIFB5RXJyX05vTWVtb3J5KCk7CisgICAgfQorICAgIHVzZXIgPSAmdXNlcl9zaWduYWxzW3NpZ251bV07CisKKyAgICBpZiAoIXVzZXItPmVuYWJsZWQpIHsKKyAgICAgICAgZXJyID0gZmF1bHRoYW5kbGVyX3JlZ2lzdGVyKHNpZ251bSwgY2hhaW4sICZwcmV2aW91cyk7CisgICAgICAgIGlmIChlcnIpIHsKKyAgICAgICAgICAgIFB5RXJyX1NldEZyb21FcnJubyhQeUV4Y19PU0Vycm9yKTsKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICB9CisgICAgfQorCisgICAgUHlfWERFQ1JFRih1c2VyLT5maWxlKTsKKyAgICBQeV9JTkNSRUYoZmlsZSk7CisgICAgdXNlci0+ZmlsZSA9IGZpbGU7CisgICAgdXNlci0+ZmQgPSBmZDsKKyAgICB1c2VyLT5hbGxfdGhyZWFkcyA9IGFsbF90aHJlYWRzOworICAgIHVzZXItPmNoYWluID0gY2hhaW47CisgICAgdXNlci0+cHJldmlvdXMgPSBwcmV2aW91czsKKyAgICB1c2VyLT5pbnRlcnAgPSB0c3RhdGUtPmludGVycDsKKyAgICB1c2VyLT5lbmFibGVkID0gMTsKKworICAgIFB5X1JFVFVSTl9OT05FOworfQorCitzdGF0aWMgaW50CitmYXVsdGhhbmRsZXJfdW5yZWdpc3Rlcih1c2VyX3NpZ25hbF90ICp1c2VyLCBpbnQgc2lnbnVtKQoreworICAgIGlmICghdXNlci0+ZW5hYmxlZCkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgdXNlci0+ZW5hYmxlZCA9IDA7CisjaWZkZWYgSEFWRV9TSUdBQ1RJT04KKyAgICAodm9pZClzaWdhY3Rpb24oc2lnbnVtLCAmdXNlci0+cHJldmlvdXMsIE5VTEwpOworI2Vsc2UKKyAgICAodm9pZClzaWduYWwoc2lnbnVtLCB1c2VyLT5wcmV2aW91cyk7CisjZW5kaWYKKyAgICBQeV9DTEVBUih1c2VyLT5maWxlKTsKKyAgICB1c2VyLT5mZCA9IC0xOworICAgIHJldHVybiAxOworfQorCitzdGF0aWMgUHlPYmplY3QqCitmYXVsdGhhbmRsZXJfdW5yZWdpc3Rlcl9weShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgaW50IHNpZ251bTsKKyAgICB1c2VyX3NpZ25hbF90ICp1c2VyOworICAgIGludCBjaGFuZ2U7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgImk6dW5yZWdpc3RlciIsICZzaWdudW0pKQorICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIGlmICghY2hlY2tfc2lnbnVtKHNpZ251bSkpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgaWYgKHVzZXJfc2lnbmFscyA9PSBOVUxMKQorICAgICAgICBQeV9SRVRVUk5fRkFMU0U7CisKKyAgICB1c2VyID0gJnVzZXJfc2lnbmFsc1tzaWdudW1dOworICAgIGNoYW5nZSA9IGZhdWx0aGFuZGxlcl91bnJlZ2lzdGVyKHVzZXIsIHNpZ251bSk7CisgICAgcmV0dXJuIFB5Qm9vbF9Gcm9tTG9uZyhjaGFuZ2UpOworfQorI2VuZGlmICAgLyogRkFVTFRIQU5ETEVSX1VTRVIgKi8KKworCitzdGF0aWMgUHlPYmplY3QgKgorZmF1bHRoYW5kbGVyX3JlYWRfbnVsbChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgdm9sYXRpbGUgaW50ICp4OworICAgIHZvbGF0aWxlIGludCB5OworICAgIGludCByZWxlYXNlX2dpbCA9IDA7CisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJ8aTpfcmVhZF9udWxsIiwgJnJlbGVhc2VfZ2lsKSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICB4ID0gTlVMTDsKKyAgICBpZiAocmVsZWFzZV9naWwpIHsKKyAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUworICAgICAgICB5ID0gKng7CisgICAgICAgIFB5X0VORF9BTExPV19USFJFQURTCisgICAgfSBlbHNlCisgICAgICAgIHkgPSAqeDsKKyAgICByZXR1cm4gUHlMb25nX0Zyb21Mb25nKHkpOworCit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitmYXVsdGhhbmRsZXJfc2lnc2VndihQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCit7CisjaWYgZGVmaW5lZChNU19XSU5ET1dTKQorICAgIC8qIEZvciBTSUdTRUdWLCBmYXVsdGhhbmRsZXJfZmF0YWxfZXJyb3IoKSByZXN0b3JlcyB0aGUgcHJldmlvdXMgc2lnbmFsCisgICAgICAgaGFuZGxlciBhbmQgdGhlbiBnaXZlcyBiYWNrIHRoZSBleGVjdXRpb24gZmxvdyB0byB0aGUgcHJvZ3JhbSAod2l0aG91dAorICAgICAgIGV4cGxpY2l0bHkgY2FsbGluZyB0aGUgcHJldmlvdXMgZXJyb3IgaGFuZGxlcikuIEluIGEgbm9ybWFsIGNhc2UsIHRoZQorICAgICAgIFNJR1NFR1Ygd2FzIHJhaXNlZCBieSB0aGUga2VybmVsIGJlY2F1c2Ugb2YgYSBmYXVsdCwgYW5kIHNvIGlmIHRoZQorICAgICAgIHByb2dyYW0gcmV0cmllcyB0byBleGVjdXRlIHRoZSBzYW1lIGluc3RydWN0aW9uLCB0aGUgZmF1bHQgd2lsbCBiZQorICAgICAgIHJhaXNlZCBhZ2Fpbi4KKworICAgICAgIEhlcmUgdGhlIGZhdWx0IGlzIHNpbXVsYXRlZCBieSBhIGZha2UgU0lHU0VHViBzaWduYWwgcmFpc2VkIGJ5IHRoZQorICAgICAgIGFwcGxpY2F0aW9uLiBXZSBoYXZlIHRvIHJhaXNlIFNJR1NFR1YgYXQgbGVhc2UgdHdpY2U6IG9uY2UgZm9yCisgICAgICAgZmF1bHRoYW5kbGVyX2ZhdGFsX2Vycm9yKCksIGFuZCBvbmUgbW9yZSB0aW1lIGZvciB0aGUgcHJldmlvdXMgc2lnbmFsCisgICAgICAgaGFuZGxlci4gKi8KKyAgICB3aGlsZSgxKQorICAgICAgICByYWlzZShTSUdTRUdWKTsKKyNlbHNlCisgICAgcmFpc2UoU0lHU0VHVik7CisjZW5kaWYKKyAgICBQeV9SRVRVUk5fTk9ORTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK2ZhdWx0aGFuZGxlcl9zaWdmcGUoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQoreworICAgIC8qIERvIGFuIGludGVnZXIgZGl2aXNpb24gYnkgemVybzogcmFpc2UgYSBTSUdGUEUgb24gSW50ZWwgQ1BVLCBidXQgbm90IG9uCisgICAgICAgUG93ZXJQQy4gVXNlIHZvbGF0aWxlIHRvIGRpc2FibGUgY29tcGlsZS10aW1lIG9wdGltaXphdGlvbnMuICovCisgICAgdm9sYXRpbGUgaW50IHggPSAxLCB5ID0gMCwgejsKKyAgICB6ID0geCAvIHk7CisgICAgLyogSWYgdGhlIGRpdmlzaW9uIGJ5IHplcm8gZGlkbid0IHJhaXNlIGEgU0lHRlBFIChlLmcuIG9uIFBvd2VyUEMpLAorICAgICAgIHJhaXNlIGl0IG1hbnVhbGx5LiAqLworICAgIHJhaXNlKFNJR0ZQRSk7CisgICAgLyogVGhpcyBsaW5lIGlzIG5ldmVyIHJlYWNoZWQsIGJ1dCB3ZSBwcmV0ZW5kIHRvIG1ha2Ugc29tZXRoaW5nIHdpdGggegorICAgICAgIHRvIHNpbGVuY2UgYSBjb21waWxlciB3YXJuaW5nLiAqLworICAgIHJldHVybiBQeUxvbmdfRnJvbUxvbmcoeik7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitmYXVsdGhhbmRsZXJfc2lnYWJydChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCit7CisjaWZkZWYgX01TQ19WRVIKKyAgICAvKiBWaXN1YWwgU3R1ZGlvOiBjb25maWd1cmUgYWJvcnQoKSB0byBub3QgZGlzcGxheSBhbiBlcnJvciBtZXNzYWdlIG5vcgorICAgICAgIG9wZW4gYSBwb3B1cCBhc2tpbmcgdG8gcmVwb3J0IHRoZSBmYXVsdC4gKi8KKyAgICBfc2V0X2Fib3J0X2JlaGF2aW9yKDAsIF9XUklURV9BQk9SVF9NU0cgfCBfQ0FMTF9SRVBPUlRGQVVMVCk7CisjZW5kaWYKKyAgICBhYm9ydCgpOworICAgIFB5X1JFVFVSTl9OT05FOworfQorCisjaWZkZWYgU0lHQlVTCitzdGF0aWMgUHlPYmplY3QgKgorZmF1bHRoYW5kbGVyX3NpZ2J1cyhQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgcmFpc2UoU0lHQlVTKTsKKyAgICBQeV9SRVRVUk5fTk9ORTsKK30KKyNlbmRpZgorCisjaWZkZWYgU0lHSUxMCitzdGF0aWMgUHlPYmplY3QgKgorZmF1bHRoYW5kbGVyX3NpZ2lsbChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgcmFpc2UoU0lHSUxMKTsKKyAgICBQeV9SRVRVUk5fTk9ORTsKK30KKyNlbmRpZgorCitzdGF0aWMgUHlPYmplY3QgKgorZmF1bHRoYW5kbGVyX2ZhdGFsX2Vycm9yX3B5KFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBjaGFyICptZXNzYWdlOworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAieTpmYXRhbF9lcnJvciIsICZtZXNzYWdlKSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgUHlfRmF0YWxFcnJvcihtZXNzYWdlKTsKKyAgICBQeV9SRVRVUk5fTk9ORTsKK30KKworI2lmIGRlZmluZWQoSEFWRV9TSUdBTFRTVEFDSykgJiYgZGVmaW5lZChIQVZFX1NJR0FDVElPTikKK3N0YXRpYyB2b2lkKgorc3RhY2tfb3ZlcmZsb3codm9pZCAqbWluX3NwLCB2b2lkICptYXhfc3AsIHNpemVfdCAqZGVwdGgpCit7CisgICAgLyogYWxsb2NhdGUgNDA5NiBieXRlcyBvbiB0aGUgc3RhY2sgYXQgZWFjaCBjYWxsICovCisgICAgdW5zaWduZWQgY2hhciBidWZmZXJbNDA5Nl07CisgICAgdm9pZCAqc3AgPSAmYnVmZmVyOworICAgICpkZXB0aCArPSAxOworICAgIGlmIChzcCA8IG1pbl9zcCB8fCBtYXhfc3AgPCBzcCkKKyAgICAgICAgcmV0dXJuIHNwOworICAgIGJ1ZmZlclswXSA9IDE7CisgICAgYnVmZmVyWzQwOTVdID0gMDsKKyAgICByZXR1cm4gc3RhY2tfb3ZlcmZsb3cobWluX3NwLCBtYXhfc3AsIGRlcHRoKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK2ZhdWx0aGFuZGxlcl9zdGFja19vdmVyZmxvdyhQeU9iamVjdCAqc2VsZikKK3sKKyAgICBzaXplX3QgZGVwdGgsIHNpemU7CisgICAgY2hhciAqc3AgPSAoY2hhciAqKSZkZXB0aCwgKnN0b3A7CisKKyAgICBkZXB0aCA9IDA7CisgICAgc3RvcCA9IHN0YWNrX292ZXJmbG93KHNwIC0gU1RBQ0tfT1ZFUkZMT1dfTUFYX1NJWkUsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHNwICsgU1RBQ0tfT1ZFUkZMT1dfTUFYX1NJWkUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICZkZXB0aCk7CisgICAgaWYgKHNwIDwgc3RvcCkKKyAgICAgICAgc2l6ZSA9IHN0b3AgLSBzcDsKKyAgICBlbHNlCisgICAgICAgIHNpemUgPSBzcCAtIHN0b3A7CisgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1J1bnRpbWVFcnJvciwKKyAgICAgICAgInVuYWJsZSB0byByYWlzZSBhIHN0YWNrIG92ZXJmbG93IChhbGxvY2F0ZWQgJXp1IGJ5dGVzICIKKyAgICAgICAgIm9uIHRoZSBzdGFjaywgJXp1IHJlY3Vyc2l2ZSBjYWxscykiLAorICAgICAgICBzaXplLCBkZXB0aCk7CisgICAgcmV0dXJuIE5VTEw7Cit9CisjZW5kaWYKKworCitzdGF0aWMgaW50CitmYXVsdGhhbmRsZXJfdHJhdmVyc2UoUHlPYmplY3QgKm1vZHVsZSwgdmlzaXRwcm9jIHZpc2l0LCB2b2lkICphcmcpCit7CisjaWZkZWYgRkFVTFRIQU5ETEVSX1VTRVIKKyAgICB1bnNpZ25lZCBpbnQgc2lnbnVtOworI2VuZGlmCisKKyNpZmRlZiBGQVVMVEhBTkRMRVJfTEFURVIKKyAgICBQeV9WSVNJVCh0aHJlYWQuZmlsZSk7CisjZW5kaWYKKyNpZmRlZiBGQVVMVEhBTkRMRVJfVVNFUgorICAgIGlmICh1c2VyX3NpZ25hbHMgIT0gTlVMTCkgeworICAgICAgICBmb3IgKHNpZ251bT0wOyBzaWdudW0gPCBOU0lHOyBzaWdudW0rKykKKyAgICAgICAgICAgIFB5X1ZJU0lUKHVzZXJfc2lnbmFsc1tzaWdudW1dLmZpbGUpOworICAgIH0KKyNlbmRpZgorICAgIFB5X1ZJU0lUKGZhdGFsX2Vycm9yLmZpbGUpOworICAgIHJldHVybiAwOworfQorCitQeURvY19TVFJWQVIobW9kdWxlX2RvYywKKyJmYXVsdGhhbmRsZXIgbW9kdWxlLiIpOworCitzdGF0aWMgUHlNZXRob2REZWYgbW9kdWxlX21ldGhvZHNbXSA9IHsKKyAgICB7ImVuYWJsZSIsCisgICAgIChQeUNGdW5jdGlvbilmYXVsdGhhbmRsZXJfZW5hYmxlLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywKKyAgICAgUHlEb2NfU1RSKCJlbmFibGUoZmlsZT1zeXMuc3RkZXJyLCBhbGxfdGhyZWFkcz1UcnVlKTogIgorICAgICAgICAgICAgICAgImVuYWJsZSB0aGUgZmF1bHQgaGFuZGxlciIpfSwKKyAgICB7ImRpc2FibGUiLCAoUHlDRnVuY3Rpb24pZmF1bHRoYW5kbGVyX2Rpc2FibGVfcHksIE1FVEhfTk9BUkdTLAorICAgICBQeURvY19TVFIoImRpc2FibGUoKTogZGlzYWJsZSB0aGUgZmF1bHQgaGFuZGxlciIpfSwKKyAgICB7ImlzX2VuYWJsZWQiLCAoUHlDRnVuY3Rpb24pZmF1bHRoYW5kbGVyX2lzX2VuYWJsZWQsIE1FVEhfTk9BUkdTLAorICAgICBQeURvY19TVFIoImlzX2VuYWJsZWQoKS0+Ym9vbDogY2hlY2sgaWYgdGhlIGhhbmRsZXIgaXMgZW5hYmxlZCIpfSwKKyAgICB7ImR1bXBfdHJhY2ViYWNrIiwKKyAgICAgKFB5Q0Z1bmN0aW9uKWZhdWx0aGFuZGxlcl9kdW1wX3RyYWNlYmFja19weSwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsCisgICAgIFB5RG9jX1NUUigiZHVtcF90cmFjZWJhY2soZmlsZT1zeXMuc3RkZXJyLCBhbGxfdGhyZWFkcz1UcnVlKTogIgorICAgICAgICAgICAgICAgImR1bXAgdGhlIHRyYWNlYmFjayBvZiB0aGUgY3VycmVudCB0aHJlYWQsIG9yIG9mIGFsbCB0aHJlYWRzICIKKyAgICAgICAgICAgICAgICJpZiBhbGxfdGhyZWFkcyBpcyBUcnVlLCBpbnRvIGZpbGUiKX0sCisjaWZkZWYgRkFVTFRIQU5ETEVSX0xBVEVSCisgICAgeyJkdW1wX3RyYWNlYmFja3NfbGF0ZXIiLAorICAgICAoUHlDRnVuY3Rpb24pZmF1bHRoYW5kbGVyX2R1bXBfdHJhY2ViYWNrc19sYXRlciwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsCisgICAgIFB5RG9jX1NUUigiZHVtcF90cmFjZWJhY2tzX2xhdGVyKHRpbWVvdXQsIHJlcGVhdD1GYWxzZSwgZmlsZT1zeXMuc3RkZXJybiwgZXhpdD1GYWxzZSk6XG4iCisgICAgICAgICAgICAgICAiZHVtcCB0aGUgdHJhY2ViYWNrIG9mIGFsbCB0aHJlYWRzIGluIHRpbWVvdXQgc2Vjb25kcyxcbiIKKyAgICAgICAgICAgICAgICJvciBlYWNoIHRpbWVvdXQgc2Vjb25kcyBpZiByZXBlYXQgaXMgVHJ1ZS4gSWYgZXhpdCBpcyBUcnVlLCAiCisgICAgICAgICAgICAgICAiY2FsbCBfZXhpdCgxKSB3aGljaCBpcyBub3Qgc2FmZS4iKX0sCisgICAgeyJjYW5jZWxfZHVtcF90cmFjZWJhY2tzX2xhdGVyIiwKKyAgICAgKFB5Q0Z1bmN0aW9uKWZhdWx0aGFuZGxlcl9jYW5jZWxfZHVtcF90cmFjZWJhY2tzX2xhdGVyX3B5LCBNRVRIX05PQVJHUywKKyAgICAgUHlEb2NfU1RSKCJjYW5jZWxfZHVtcF90cmFjZWJhY2tzX2xhdGVyKCk6XG5jYW5jZWwgdGhlIHByZXZpb3VzIGNhbGwgIgorICAgICAgICAgICAgICAgInRvIGR1bXBfdHJhY2ViYWNrc19sYXRlcigpLiIpfSwKKyNlbmRpZgorCisjaWZkZWYgRkFVTFRIQU5ETEVSX1dBVENIRE9HCisgICAgeyJfZmlsZV93YXRjaGRvZyIsCisgICAgIChQeUNGdW5jdGlvbilmYXVsdGhhbmRsZXJfZmlsZV93YXRjaGRvZywgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsCisgICAgIFB5RG9jX1NUUigiX2ZpbGVfd2F0Y2hkb2cocmZkLCB3ZmQsIHBlcmlvZCk6XG4iCisgICAgICAgICAgICAgICAiZmVlZCB0aGUgY29udGVudHMgb2YgJ3JmZCcgdG8gJ3dmZCcsIGlmIGNoYW5nZWQsXG4iCisgICAgICAgICAgICAgICAiZXZlcnkgJ3BlcmlvZCBzZWNvbmRzJy4iKX0sCisgICAgeyJfY2FuY2VsX2ZpbGVfd2F0Y2hkb2ciLAorICAgICAoUHlDRnVuY3Rpb24pZmF1bHRoYW5kbGVyX2NhbmNlbF9maWxlX3dhdGNoZG9nLCBNRVRIX05PQVJHUywKKyAgICAgUHlEb2NfU1RSKCJfY2FuY2VsX2ZpbGVfd2F0Y2hkb2coKTpcbmNhbmNlbCB0aGUgcHJldmlvdXMgY2FsbCAiCisgICAgICAgICAgICAgICAidG8gX2ZpbGVfd2F0Y2hkb2coKS4iKX0sCisjZW5kaWYKKworI2lmZGVmIEZBVUxUSEFORExFUl9VU0VSCisgICAgeyJyZWdpc3RlciIsCisgICAgIChQeUNGdW5jdGlvbilmYXVsdGhhbmRsZXJfcmVnaXN0ZXJfcHksIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLAorICAgICBQeURvY19TVFIoInJlZ2lzdGVyKHNpZ251bSwgZmlsZT1zeXMuc3RkZXJyLCBhbGxfdGhyZWFkcz1UcnVlLCBjaGFpbj1GYWxzZSk6ICIKKyAgICAgICAgICAgICAgICJyZWdpc3RlciBhbiBoYW5kbGVyIGZvciB0aGUgc2lnbmFsICdzaWdudW0nOiBkdW1wIHRoZSAiCisgICAgICAgICAgICAgICAidHJhY2ViYWNrIG9mIHRoZSBjdXJyZW50IHRocmVhZCwgb3Igb2YgYWxsIHRocmVhZHMgaWYgIgorICAgICAgICAgICAgICAgImFsbF90aHJlYWRzIGlzIFRydWUsIGludG8gZmlsZSIpfSwKKyAgICB7InVucmVnaXN0ZXIiLAorICAgICBmYXVsdGhhbmRsZXJfdW5yZWdpc3Rlcl9weSwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsCisgICAgIFB5RG9jX1NUUigidW5yZWdpc3RlcihzaWdudW0pOiB1bnJlZ2lzdGVyIHRoZSBoYW5kbGVyIG9mIHRoZSBzaWduYWwgIgorICAgICAgICAgICAgICAgICInc2lnbnVtJyByZWdpc3RlcmVkIGJ5IHJlZ2lzdGVyKCkiKX0sCisjZW5kaWYKKworICAgIHsiX3JlYWRfbnVsbCIsIGZhdWx0aGFuZGxlcl9yZWFkX251bGwsIE1FVEhfVkFSQVJHUywKKyAgICAgUHlEb2NfU1RSKCJfcmVhZF9udWxsKHJlbGVhc2VfZ2lsPUZhbHNlKTogcmVhZCBmcm9tIE5VTEwsIHJhaXNlICIKKyAgICAgICAgICAgICAgICJhIFNJR1NFR1Ygb3IgU0lHQlVTIHNpZ25hbCBkZXBlbmRpbmcgb24gdGhlIHBsYXRmb3JtIil9LAorICAgIHsiX3NpZ3NlZ3YiLCBmYXVsdGhhbmRsZXJfc2lnc2VndiwgTUVUSF9WQVJBUkdTLAorICAgICBQeURvY19TVFIoIl9zaWdzZWd2KCk6IHJhaXNlIGEgU0lHU0VHViBzaWduYWwiKX0sCisgICAgeyJfc2lnYWJydCIsIGZhdWx0aGFuZGxlcl9zaWdhYnJ0LCBNRVRIX1ZBUkFSR1MsCisgICAgIFB5RG9jX1NUUigiX3NpZ2FicnQoKTogcmFpc2UgYSBTSUdBQlJUIHNpZ25hbCIpfSwKKyAgICB7Il9zaWdmcGUiLCAoUHlDRnVuY3Rpb24pZmF1bHRoYW5kbGVyX3NpZ2ZwZSwgTUVUSF9OT0FSR1MsCisgICAgIFB5RG9jX1NUUigiX3NpZ2ZwZSgpOiByYWlzZSBhIFNJR0ZQRSBzaWduYWwiKX0sCisjaWZkZWYgU0lHQlVTCisgICAgeyJfc2lnYnVzIiwgKFB5Q0Z1bmN0aW9uKWZhdWx0aGFuZGxlcl9zaWdidXMsIE1FVEhfTk9BUkdTLAorICAgICBQeURvY19TVFIoIl9zaWdidXMoKTogcmFpc2UgYSBTSUdCVVMgc2lnbmFsIil9LAorI2VuZGlmCisjaWZkZWYgU0lHSUxMCisgICAgeyJfc2lnaWxsIiwgKFB5Q0Z1bmN0aW9uKWZhdWx0aGFuZGxlcl9zaWdpbGwsIE1FVEhfTk9BUkdTLAorICAgICBQeURvY19TVFIoIl9zaWdpbGwoKTogcmFpc2UgYSBTSUdJTEwgc2lnbmFsIil9LAorI2VuZGlmCisgICAgeyJfZmF0YWxfZXJyb3IiLCBmYXVsdGhhbmRsZXJfZmF0YWxfZXJyb3JfcHksIE1FVEhfVkFSQVJHUywKKyAgICAgUHlEb2NfU1RSKCJfZmF0YWxfZXJyb3IobWVzc2FnZSk6IGNhbGwgUHlfRmF0YWxFcnJvcihtZXNzYWdlKSIpfSwKKyNpZiBkZWZpbmVkKEhBVkVfU0lHQUxUU1RBQ0spICYmIGRlZmluZWQoSEFWRV9TSUdBQ1RJT04pCisgICAgeyJfc3RhY2tfb3ZlcmZsb3ciLCAoUHlDRnVuY3Rpb24pZmF1bHRoYW5kbGVyX3N0YWNrX292ZXJmbG93LCBNRVRIX05PQVJHUywKKyAgICAgUHlEb2NfU1RSKCJfc3RhY2tfb3ZlcmZsb3coKTogcmVjdXJzaXZlIGNhbGwgdG8gcmFpc2UgYSBzdGFjayBvdmVyZmxvdyIpfSwKKyNlbmRpZgorICAgIHtOVUxMLCBOVUxMfSAgLyogc2VudGluZWwgKi8KK307CisKK3N0YXRpYyBzdHJ1Y3QgUHlNb2R1bGVEZWYgbW9kdWxlX2RlZiA9IHsKKyAgICBQeU1vZHVsZURlZl9IRUFEX0lOSVQsCisgICAgImZhdWx0aGFuZGxlciIsCisgICAgbW9kdWxlX2RvYywKKyAgICAwLCAvKiBub24tbmVnYXRpdmUgc2l6ZSB0byBiZSBhYmxlIHRvIHVubG9hZCB0aGUgbW9kdWxlICovCisgICAgbW9kdWxlX21ldGhvZHMsCisgICAgTlVMTCwKKyAgICBmYXVsdGhhbmRsZXJfdHJhdmVyc2UsCisgICAgTlVMTCwKKyAgICBOVUxMCit9OworCitQeU1PRElOSVRfRlVOQworUHlJbml0X2ZhdWx0aGFuZGxlcih2b2lkKQoreworICAgIHJldHVybiBQeU1vZHVsZV9DcmVhdGUoJm1vZHVsZV9kZWYpOworfQorCisvKiBDYWxsIGZhdWx0aGFuZGxlci5lbmFibGUoKSBpZiB0aGUgUFlUSE9ORkFVTFRIQU5ETEVSIGVudmlyb25tZW50IHZhcmlhYmxlCisgICBpcyBkZWZpbmVkLCBvciBpZiBzeXMuX3hvcHRpb25zIGhhcyBhICdmYXVsdGhhbmRsZXInIGtleS4gKi8KKworc3RhdGljIGludAorZmF1bHRoYW5kbGVyX2Vudl9vcHRpb25zKHZvaWQpCit7CisgICAgUHlPYmplY3QgKnhvcHRpb25zLCAqa2V5LCAqbW9kdWxlLCAqcmVzOworICAgIF9QeV9JREVOVElGSUVSKGVuYWJsZSk7CisKKyAgICBpZiAoIVB5X0dFVEVOVigiUFlUSE9ORkFVTFRIQU5ETEVSIikpIHsKKyAgICAgICAgaW50IGhhc19rZXk7CisKKyAgICAgICAgeG9wdGlvbnMgPSBQeVN5c19HZXRYT3B0aW9ucygpOworICAgICAgICBpZiAoeG9wdGlvbnMgPT0gTlVMTCkKKyAgICAgICAgICAgIHJldHVybiAtMTsKKworICAgICAgICBrZXkgPSBQeVVuaWNvZGVfRnJvbVN0cmluZygiZmF1bHRoYW5kbGVyIik7CisgICAgICAgIGlmIChrZXkgPT0gTlVMTCkKKyAgICAgICAgICAgIHJldHVybiAtMTsKKworICAgICAgICBoYXNfa2V5ID0gUHlEaWN0X0NvbnRhaW5zKHhvcHRpb25zLCBrZXkpOworICAgICAgICBQeV9ERUNSRUYoa2V5KTsKKyAgICAgICAgaWYgKCFoYXNfa2V5KQorICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgfQorCisgICAgbW9kdWxlID0gUHlJbXBvcnRfSW1wb3J0TW9kdWxlKCJmYXVsdGhhbmRsZXIiKTsKKyAgICBpZiAobW9kdWxlID09IE5VTEwpIHsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKyAgICByZXMgPSBfUHlPYmplY3RfQ2FsbE1ldGhvZElkKG1vZHVsZSwgJlB5SWRfZW5hYmxlLCAiIik7CisgICAgUHlfREVDUkVGKG1vZHVsZSk7CisgICAgaWYgKHJlcyA9PSBOVUxMKQorICAgICAgICByZXR1cm4gLTE7CisgICAgUHlfREVDUkVGKHJlcyk7CisgICAgcmV0dXJuIDA7Cit9CisKK2ludCBfUHlGYXVsdGhhbmRsZXJfSW5pdCh2b2lkKQoreworI2lmZGVmIEhBVkVfU0lHQUxUU1RBQ0sKKyAgICBpbnQgZXJyOworCisgICAgLyogVHJ5IHRvIGFsbG9jYXRlIGFuIGFsdGVybmF0ZSBzdGFjayBmb3IgZmF1bHRoYW5kbGVyKCkgc2lnbmFsIGhhbmRsZXIgdG8KKyAgICAgKiBiZSBhYmxlIHRvIGFsbG9jYXRlIG1lbW9yeSBvbiB0aGUgc3RhY2ssIGV2ZW4gb24gYSBzdGFjayBvdmVyZmxvdy4gSWYgaXQKKyAgICAgKiBmYWlscywgaWdub3JlIHRoZSBlcnJvci4gKi8KKyAgICBzdGFjay5zc19mbGFncyA9IDA7CisgICAgc3RhY2suc3Nfc2l6ZSA9IFNJR1NUS1NaOworICAgIHN0YWNrLnNzX3NwID0gUHlNZW1fTWFsbG9jKHN0YWNrLnNzX3NpemUpOworICAgIGlmIChzdGFjay5zc19zcCAhPSBOVUxMKSB7CisgICAgICAgIGVyciA9IHNpZ2FsdHN0YWNrKCZzdGFjaywgTlVMTCk7CisgICAgICAgIGlmIChlcnIpIHsKKyAgICAgICAgICAgIFB5TWVtX0ZyZWUoc3RhY2suc3Nfc3ApOworICAgICAgICAgICAgc3RhY2suc3Nfc3AgPSBOVUxMOworICAgICAgICB9CisgICAgfQorI2VuZGlmCisjaWZkZWYgRkFVTFRIQU5ETEVSX0xBVEVSCisgICAgdGhyZWFkLmZpbGUgPSBOVUxMOworICAgIHRocmVhZC5jYW5jZWxfZXZlbnQgPSBQeVRocmVhZF9hbGxvY2F0ZV9sb2NrKCk7CisgICAgdGhyZWFkLnJ1bm5pbmcgPSBQeVRocmVhZF9hbGxvY2F0ZV9sb2NrKCk7CisgICAgaWYgKCF0aHJlYWQuY2FuY2VsX2V2ZW50IHx8ICF0aHJlYWQucnVubmluZykgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfUnVudGltZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgImNvdWxkIG5vdCBhbGxvY2F0ZSBsb2NrcyBmb3IgZmF1bHRoYW5kbGVyIik7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisgICAgUHlUaHJlYWRfYWNxdWlyZV9sb2NrKHRocmVhZC5jYW5jZWxfZXZlbnQsIDEpOworI2VuZGlmCisjaWZkZWYgRkFVTFRIQU5ETEVSX1dBVENIRE9HCisgICAgd2F0Y2hkb2cuY2FuY2VsX2V2ZW50ID0gUHlUaHJlYWRfYWxsb2NhdGVfbG9jaygpOworICAgIHdhdGNoZG9nLnJ1bm5pbmcgPSBQeVRocmVhZF9hbGxvY2F0ZV9sb2NrKCk7CisgICAgaWYgKCF3YXRjaGRvZy5jYW5jZWxfZXZlbnQgfHwgIXdhdGNoZG9nLnJ1bm5pbmcpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1J1bnRpbWVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICJjb3VsZCBub3QgYWxsb2NhdGUgbG9ja3MgZm9yIGZhdWx0aGFuZGxlciIpOworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorICAgIFB5VGhyZWFkX2FjcXVpcmVfbG9jayh3YXRjaGRvZy5jYW5jZWxfZXZlbnQsIDEpOworI2VuZGlmCisKKyAgICByZXR1cm4gZmF1bHRoYW5kbGVyX2Vudl9vcHRpb25zKCk7Cit9CisKK3ZvaWQgX1B5RmF1bHRoYW5kbGVyX0Zpbmkodm9pZCkKK3sKKyNpZmRlZiBGQVVMVEhBTkRMRVJfVVNFUgorICAgIHVuc2lnbmVkIGludCBzaWdudW07CisjZW5kaWYKKworI2lmZGVmIEZBVUxUSEFORExFUl9MQVRFUgorICAgIC8qIGxhdGVyICovCisgICAgaWYgKHRocmVhZC5jYW5jZWxfZXZlbnQpIHsKKyAgICAgICAgY2FuY2VsX2R1bXBfdHJhY2ViYWNrc19sYXRlcigpOworICAgICAgICBQeVRocmVhZF9yZWxlYXNlX2xvY2sodGhyZWFkLmNhbmNlbF9ldmVudCk7CisgICAgICAgIFB5VGhyZWFkX2ZyZWVfbG9jayh0aHJlYWQuY2FuY2VsX2V2ZW50KTsKKyAgICAgICAgdGhyZWFkLmNhbmNlbF9ldmVudCA9IE5VTEw7CisgICAgfQorICAgIGlmICh0aHJlYWQucnVubmluZykgeworICAgICAgICBQeVRocmVhZF9mcmVlX2xvY2sodGhyZWFkLnJ1bm5pbmcpOworICAgICAgICB0aHJlYWQucnVubmluZyA9IE5VTEw7CisgICAgfQorI2VuZGlmCisKKyNpZmRlZiBGQVVMVEhBTkRMRVJfV0FUQ0hET0cKKyAgICAvKiBmaWxlIHdhdGNoZG9nICovCisgICAgaWYgKHdhdGNoZG9nLmNhbmNlbF9ldmVudCkgeworICAgICAgICBjYW5jZWxfZmlsZV93YXRjaGRvZygpOworICAgICAgICBQeVRocmVhZF9yZWxlYXNlX2xvY2sod2F0Y2hkb2cuY2FuY2VsX2V2ZW50KTsKKyAgICAgICAgUHlUaHJlYWRfZnJlZV9sb2NrKHdhdGNoZG9nLmNhbmNlbF9ldmVudCk7CisgICAgICAgIHdhdGNoZG9nLmNhbmNlbF9ldmVudCA9IE5VTEw7CisgICAgfQorICAgIGlmICh3YXRjaGRvZy5ydW5uaW5nKSB7CisgICAgICAgIFB5VGhyZWFkX2ZyZWVfbG9jayh3YXRjaGRvZy5ydW5uaW5nKTsKKyAgICAgICAgd2F0Y2hkb2cucnVubmluZyA9IE5VTEw7CisgICAgfQorI2VuZGlmCisKKyNpZmRlZiBGQVVMVEhBTkRMRVJfVVNFUgorICAgIC8qIHVzZXIgKi8KKyAgICBpZiAodXNlcl9zaWduYWxzICE9IE5VTEwpIHsKKyAgICAgICAgZm9yIChzaWdudW09MDsgc2lnbnVtIDwgTlNJRzsgc2lnbnVtKyspCisgICAgICAgICAgICBmYXVsdGhhbmRsZXJfdW5yZWdpc3RlcigmdXNlcl9zaWduYWxzW3NpZ251bV0sIHNpZ251bSk7CisgICAgICAgIGZyZWUodXNlcl9zaWduYWxzKTsKKyAgICAgICAgdXNlcl9zaWduYWxzID0gTlVMTDsKKyAgICB9CisjZW5kaWYKKworICAgIC8qIGZhdGFsICovCisgICAgZmF1bHRoYW5kbGVyX2Rpc2FibGUoKTsKKyNpZmRlZiBIQVZFX1NJR0FMVFNUQUNLCisgICAgaWYgKHN0YWNrLnNzX3NwICE9IE5VTEwpIHsKKyAgICAgICAgUHlNZW1fRnJlZShzdGFjay5zc19zcCk7CisgICAgICAgIHN0YWNrLnNzX3NwID0gTlVMTDsKKyAgICB9CisjZW5kaWYKK30KZGlmZiAtLWdpdCBhL01vZHVsZXMvZmNudGxtb2R1bGUuYyBiL01vZHVsZXMvZmNudGxtb2R1bGUuYwppbmRleCBiZmM1OTg1Li42YjdlM2ZjIDEwMDY0NAotLS0gYS9Nb2R1bGVzL2ZjbnRsbW9kdWxlLmMKKysrIGIvTW9kdWxlcy9mY250bG1vZHVsZS5jCkBAIC01NDAsMTAgKzU0MCwxMyBAQAogICAgIGlmIChpbnMoZCwgIkZfU0hMQ0siLCAobG9uZylGX1NITENLKSkgcmV0dXJuIC0xOwogI2VuZGlmCiAKLS8qIE9TIFggKGFuZCBtYXliZSBvdGhlcnMpIGxldCB5b3UgdGVsbCB0aGUgc3RvcmFnZSBkZXZpY2UgdG8gZmx1c2ggdG8gcGh5c2ljYWwgbWVkaWEgKi8KKy8qIE9TIFggc3BlY2lmaWNzICovCiAjaWZkZWYgRl9GVUxMRlNZTkMKICAgICBpZiAoaW5zKGQsICJGX0ZVTExGU1lOQyIsIChsb25nKUZfRlVMTEZTWU5DKSkgcmV0dXJuIC0xOwogI2VuZGlmCisjaWZkZWYgRl9OT0NBQ0hFCisgICAgaWYgKGlucyhkLCAiRl9OT0NBQ0hFIiwgKGxvbmcpRl9OT0NBQ0hFKSkgcmV0dXJuIC0xOworI2VuZGlmCiAKIC8qIEZvciBGX3tHRVR8U0VUfUZMICovCiAjaWZkZWYgRkRfQ0xPRVhFQwpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9mcGVjdGxtb2R1bGUuYyBiL01vZHVsZXMvZnBlY3RsbW9kdWxlLmMKaW5kZXggMWJiNTFjZi4uNmFmMmY4MiAxMDA2NDQKLS0tIGEvTW9kdWxlcy9mcGVjdGxtb2R1bGUuYworKysgYi9Nb2R1bGVzL2ZwZWN0bG1vZHVsZS5jCkBAIC0xNzQsMTcgKzE3NCw2IEBACiAgICAgZnBfZW5hYmxlKFRSUF9JTlZBTElEIHwgVFJQX0RJVl9CWV9aRVJPIHwgVFJQX09WRVJGTE9XKTsKICAgICBQeU9TX3NldHNpZyhTSUdGUEUsIGhhbmRsZXIpOwogCi0vKi0tIERFQyBBTFBIQSBPU0YgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwotI2VsaWYgZGVmaW5lZChfX2FscGhhKSAmJiBkZWZpbmVkKF9fb3NmX18pCi0gICAgLyogUmVmZXJlbmNlczogICBleGNlcHRpb25faW50cm8sIGllZWUgbWFuIHBhZ2VzICovCi0gICAgLyogY2MgLWMgLUkvdXNyL2xvY2FsL3B5dGhvbi9pbmNsdWRlIGZwZWN0bG1vZHVsZS5jICovCi0gICAgLyogbGQgLXNoYXJlZCAtbyBmcGVjdGxtb2R1bGUuc28gZnBlY3RsbW9kdWxlLm8gKi8KLSNpbmNsdWRlIDxtYWNoaW5lL2ZwdS5oPgotICAgIHVuc2lnbmVkIGxvbmcgZnBfY29udHJvbCA9Ci0gICAgSUVFRV9UUkFQX0VOQUJMRV9JTlYgfCBJRUVFX1RSQVBfRU5BQkxFX0RaRSB8IElFRUVfVFJBUF9FTkFCTEVfT1ZGOwotICAgIGllZWVfc2V0X2ZwX2NvbnRyb2woZnBfY29udHJvbCk7Ci0gICAgUHlPU19zZXRzaWcoU0lHRlBFLCBoYW5kbGVyKTsKLQogLyotLSBERUMgQUxQSEEgTElOVVggLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICNlbGlmIGRlZmluZWQoX19hbHBoYSkgJiYgZGVmaW5lZChsaW51eCkKICNpbmNsdWRlIDxhc20vZnB1Lmg+CmRpZmYgLS1naXQgYS9Nb2R1bGVzL2djX3dlYWtyZWYudHh0IGIvTW9kdWxlcy9nY193ZWFrcmVmLnR4dAppbmRleCBkN2JlNmMzLi4yZjE4NDAyIDEwMDY0NAotLS0gYS9Nb2R1bGVzL2djX3dlYWtyZWYudHh0CisrKyBiL01vZHVsZXMvZ2Nfd2Vha3JlZi50eHQKQEAgLTE1LDggKzE1LDggQEAKIGhpc3RvcmljYWxseSBjb21tb24gYnVnKSwgdHBfY2xlYXIgZW1wdGllcyBhbiBpbnN0YW5jZSdzIF9fZGljdF9fLCBhbmQKICJpbXBvc3NpYmxlIiBBdHRyaWJ1dGVFcnJvcnMgcmVzdWx0LiAgQXQgd29yc3QsIHRwX2NsZWFyIGxlYXZlcyBiZWhpbmQgYW4KIGluc2FuZSBvYmplY3QgYXQgdGhlIEMgbGV2ZWwsIGFuZCBzZWdmYXVsdHMgcmVzdWx0IChoaXN0b3JpY2FsbHksIG1vc3QKLW9mdGVuIGJ5IHNldHRpbmcgYSBuZXctc3R5bGUgY2xhc3MncyBtcm8gcG9pbnRlciB0byBOVUxMLCBhZnRlciB3aGljaAotYXR0cmlidXRlIGxvb2t1cHMgcGVyZm9ybWVkIGJ5IHRoZSBjbGFzcyBjYW4gc2VnZmF1bHQpLgorb2Z0ZW4gYnkgc2V0dGluZyBhIGNsYXNzJ3MgbXJvIHBvaW50ZXIgdG8gTlVMTCwgYWZ0ZXIgd2hpY2ggYXR0cmlidXRlCitsb29rdXBzIHBlcmZvcm1lZCBieSB0aGUgY2xhc3MgY2FuIHNlZ2ZhdWx0KS4KIAogT1RPSCwgaXQncyBPSyB0byBydW4gUHl0aG9uLWxldmVsIGNvZGUgdGhhdCBjYW4ndCBhY2Nlc3MgdW5yZWFjaGFibGUKIG9iamVjdHMsIGFuZCBzb21ldGltZXMgdGhhdCdzIG5lY2Vzc2FyeS4gIFRoZSBjaGllZiBleGFtcGxlIGlzIHRoZSBjYWxsYmFjawpAQCAtMTE5LDcgKzExOSw3IEBACiBpdCB0b29rIHF1aXRlIGEgd2hpbGUgdG8gZHJlYW0gdXAgZmFpbGluZyB0ZXN0IGNhc2VzLiAgWm9wZTMgc2F3IHNlZ2ZhdWx0cwogZHVyaW5nIHNodXRkb3duLCBkdXJpbmcgdGhlIHNlY29uZCBjYWxsIG9mIGdjIGluIFB5X0ZpbmFsaXplLCBhZnRlciBtb3N0CiBtb2R1bGVzIGhhZCBiZWVuIHRvcm4gZG93bi4gIFRoYXQgY3JlYXRlcyBtYW55IHRyYXNoIGN5Y2xlcyAoZXNwLiB0aG9zZQotaW52b2x2aW5nIG5ldy1zdHlsZSBjbGFzc2VzKSwgbWFraW5nIHRoZSBwcm9ibGVtIG11Y2ggbW9yZSBsaWtlbHkuICBPbmNlIHlvdQoraW52b2x2aW5nIGNsYXNzZXMpLCBtYWtpbmcgdGhlIHByb2JsZW0gbXVjaCBtb3JlIGxpa2VseS4gIE9uY2UgeW91CiBrbm93IHdoYXQncyByZXF1aXJlZCB0byBwcm92b2tlIHRoZSBwcm9ibGVtLCB0aG91Z2gsIGl0J3MgZWFzeSB0byBjcmVhdGUKIHRlc3RzIHRoYXQgc2VnZmF1bHQgYmVmb3JlIHNodXRkb3duLgogCmRpZmYgLS1naXQgYS9Nb2R1bGVzL2djbW9kdWxlLmMgYi9Nb2R1bGVzL2djbW9kdWxlLmMKaW5kZXggMTBhNGVkNy4uMTg3NmU5MyAxMDA2NDQKLS0tIGEvTW9kdWxlcy9nY21vZHVsZS5jCisrKyBiL01vZHVsZXMvZ2Ntb2R1bGUuYwpAQCAtNjgwLDggKzY4MCw4IEBACiBzdGF0aWMgdm9pZAogZGVidWdfY3ljbGUoY2hhciAqbXNnLCBQeU9iamVjdCAqb3ApCiB7Ci0gICAgUHlTeXNfV3JpdGVTdGRlcnIoImdjOiAlLjEwMHMgPCUuMTAwcyAlcD5cbiIsCi0gICAgICAgICAgICAgICAgICAgICAgbXNnLCBQeV9UWVBFKG9wKS0+dHBfbmFtZSwgb3ApOworICAgIFB5U3lzX0Zvcm1hdFN0ZGVycigiZ2M6ICVzIDwlcyAlcD5cbiIsCisgICAgICAgICAgICAgICAgICAgICAgIG1zZywgUHlfVFlQRShvcCktPnRwX25hbWUsIG9wKTsKIH0KIAogLyogSGFuZGxlIHVuY29sbGVjdGFibGUgZ2FyYmFnZSAoY3ljbGVzIHdpdGggZmluYWxpemVycywgYW5kIHN0dWZmIHJlYWNoYWJsZQpAQCAtNzYyLDYgKzc2Miw5IEBACiAgICAgKHZvaWQpUHlUdXBsZV9DbGVhckZyZWVMaXN0KCk7CiAgICAgKHZvaWQpUHlVbmljb2RlX0NsZWFyRnJlZUxpc3QoKTsKICAgICAodm9pZClQeUZsb2F0X0NsZWFyRnJlZUxpc3QoKTsKKyAgICAodm9pZClQeUxpc3RfQ2xlYXJGcmVlTGlzdCgpOworICAgICh2b2lkKVB5RGljdF9DbGVhckZyZWVMaXN0KCk7CisgICAgKHZvaWQpUHlTZXRfQ2xlYXJGcmVlTGlzdCgpOwogfQogCiBzdGF0aWMgZG91YmxlCkBAIC03NjksNyArNzcyLDkgQEAKIHsKICAgICBkb3VibGUgcmVzdWx0ID0gMDsKICAgICBpZiAodG1vZCAhPSBOVUxMKSB7Ci0gICAgICAgIFB5T2JqZWN0ICpmID0gUHlPYmplY3RfQ2FsbE1ldGhvZCh0bW9kLCAidGltZSIsIE5VTEwpOworICAgICAgICBfUHlfSURFTlRJRklFUih0aW1lKTsKKworICAgICAgICBQeU9iamVjdCAqZiA9IF9QeU9iamVjdF9DYWxsTWV0aG9kSWQodG1vZCwgJlB5SWRfdGltZSwgTlVMTCk7CiAgICAgICAgIGlmIChmID09IE5VTEwpIHsKICAgICAgICAgICAgIFB5RXJyX0NsZWFyKCk7CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL01vZHVsZXMvZ2V0YnVpbGRpbmZvLmMgYi9Nb2R1bGVzL2dldGJ1aWxkaW5mby5jCmluZGV4IDcwNjliNmUuLjA5NzFhNjQgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvZ2V0YnVpbGRpbmZvLmMKKysrIGIvTW9kdWxlcy9nZXRidWlsZGluZm8uYwpAQCAtMjAsMTQgKzIwLDYgQEAKICNlbmRpZgogI2VuZGlmCiAKLS8qIG9uIHVuaXgsIFNWTlZFUlNJT04gaXMgcGFzc2VkIG9uIHRoZSBjb21tYW5kIGxpbmUuCi0gKiBvbiBXaW5kb3dzLCB0aGUgc3RyaW5nIGlzIGludGVycG9sYXRlZCB1c2luZwotICogc3Vid2NyZXYuZXhlCi0gKi8KLSNpZm5kZWYgU1ZOVkVSU0lPTgotI2RlZmluZSBTVk5WRVJTSU9OICIkV0NSQU5HRSQkV0NNT0RTP006JCIKLSNlbmRpZgotCiAvKiBYWFggT25seSB1bml4IGJ1aWxkIHByb2Nlc3MgaGFzIGJlZW4gdGVzdGVkICovCiAjaWZuZGVmIEhHVkVSU0lPTgogI2RlZmluZSBIR1ZFUlNJT04gIiIKQEAgLTU3LDE2ICs0OSw2IEBACiB9CiAKIGNvbnN0IGNoYXIgKgotX1B5X3N2bnZlcnNpb24odm9pZCkKLXsKLSAgICAvKiB0aGUgZm9sbG93aW5nIHN0cmluZyBjYW4gYmUgbW9kaWZpZWQgYnkgc3Vid2NyZXYuZXhlICovCi0gICAgc3RhdGljIGNvbnN0IGNoYXIgc3ZudmVyc2lvbltdID0gU1ZOVkVSU0lPTjsKLSAgICBpZiAoc3ZudmVyc2lvblswXSAhPSAnJCcpCi0gICAgICAgIHJldHVybiBzdm52ZXJzaW9uOyAvKiBpdCB3YXMgaW50ZXJwb2xhdGVkLCBvciBwYXNzZWQgb24gY29tbWFuZCBsaW5lICovCi0gICAgcmV0dXJuICJVbnZlcnNpb25lZCBkaXJlY3RvcnkiOwotfQotCi1jb25zdCBjaGFyICoKIF9QeV9oZ3ZlcnNpb24odm9pZCkKIHsKICAgICByZXR1cm4gSEdWRVJTSU9OOwpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9nZXRwYXRoLmMgYi9Nb2R1bGVzL2dldHBhdGguYwppbmRleCBiN2Y5NTczLi43MDkwODc5IDEwMDY0NAotLS0gYS9Nb2R1bGVzL2dldHBhdGguYworKysgYi9Nb2R1bGVzL2dldHBhdGguYwpAQCAtNDA2LDcgKzQwNiw3IEBACiAgICAgc3RhdGljIHdjaGFyX3QgZGVsaW1pdGVyWzJdID0ge0RFTElNLCAnXDAnfTsKICAgICBzdGF0aWMgd2NoYXJfdCBzZXBhcmF0b3JbMl0gPSB7U0VQLCAnXDAnfTsKICAgICBjaGFyICpfcnRweXBhdGggPSBQeV9HRVRFTlYoIlBZVEhPTlBBVEgiKTsgLyogWFhYIHVzZSB3aWRlIHZlcnNpb24gb24gV2luZG93cyAqLwotICAgIHdjaGFyX3QgcnRweXBhdGhbTUFYUEFUSExFTisxXTsKKyAgICB3Y2hhcl90ICpydHB5cGF0aCA9IE5VTEw7CiAgICAgd2NoYXJfdCAqaG9tZSA9IFB5X0dldFB5dGhvbkhvbWUoKTsKICAgICBjaGFyICpfcGF0aCA9IGdldGVudigiUEFUSCIpOwogICAgIHdjaGFyX3QgKnBhdGhfYnVmZmVyID0gTlVMTDsKQEAgLTYwNiwxMiArNjA2LDEyIEBACiAgICAgYnVmc3ogPSAwOwogCiAgICAgaWYgKF9ydHB5cGF0aCkgewotICAgICAgICBzaXplX3QgcyA9IG1ic3Rvd2NzKHJ0cHlwYXRoLCBfcnRweXBhdGgsIHNpemVvZihydHB5cGF0aCkvc2l6ZW9mKHdjaGFyX3QpKTsKLSAgICAgICAgaWYgKHMgPT0gKHNpemVfdCktMSB8fCBzID49c2l6ZW9mKHJ0cHlwYXRoKSkKLSAgICAgICAgICAgIC8qIFhYWCBkZWFsIHdpdGggZXJyb3JzIG1vcmUgZ3JhY2VmdWxseSAqLworICAgICAgICBzaXplX3QgcnRweXBhdGhfbGVuOworICAgICAgICBydHB5cGF0aCA9IF9QeV9jaGFyMndjaGFyKF9ydHB5cGF0aCwgJnJ0cHlwYXRoX2xlbik7CisgICAgICAgIGlmIChydHB5cGF0aCAhPSBOVUxMKQorICAgICAgICAgICAgYnVmc3ogKz0gcnRweXBhdGhfbGVuICsgMTsKKyAgICAgICAgZWxzZQogICAgICAgICAgICAgX3J0cHlwYXRoID0gTlVMTDsKLSAgICAgICAgaWYgKF9ydHB5cGF0aCkKLSAgICAgICAgICAgIGJ1ZnN6ICs9IHdjc2xlbihydHB5cGF0aCkgKyAxOwogICAgIH0KIAogICAgIGRlZnBhdGggPSBfcHl0aG9ucGF0aDsKQEAgLTY0NSw3ICs2NDUsNyBAQAogICAgIH0KICAgICBlbHNlIHsKICAgICAgICAgLyogUnVuLXRpbWUgdmFsdWUgb2YgJFBZVEhPTlBBVEggZ29lcyBmaXJzdCAqLwotICAgICAgICBpZiAoX3J0cHlwYXRoKSB7CisgICAgICAgIGlmIChydHB5cGF0aCkgewogICAgICAgICAgICAgd2NzY3B5KGJ1ZiwgcnRweXBhdGgpOwogICAgICAgICAgICAgd2NzY2F0KGJ1ZiwgZGVsaW1pdGVyKTsKICAgICAgICAgfQpAQCAtNzE5LDYgKzcxOSw4IEBACiAgICAgUHlNZW1fRnJlZShfcHl0aG9ucGF0aCk7CiAgICAgUHlNZW1fRnJlZShfcHJlZml4KTsKICAgICBQeU1lbV9GcmVlKF9leGVjX3ByZWZpeCk7CisgICAgaWYgKHJ0cHlwYXRoICE9IE5VTEwpCisgICAgICAgIFB5TWVtX0ZyZWUocnRweXBhdGgpOwogfQogCiAKZGlmZiAtLWdpdCBhL01vZHVsZXMvaXRlcnRvb2xzbW9kdWxlLmMgYi9Nb2R1bGVzL2l0ZXJ0b29sc21vZHVsZS5jCmluZGV4IDhiNmZhODUuLjE1YjBjMTcgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvaXRlcnRvb2xzbW9kdWxlLmMKKysrIGIvTW9kdWxlcy9pdGVydG9vbHNtb2R1bGUuYwpAQCAtNjI2LDYgKzYyNiw3IEBACiB7CiAgICAgUHlfc3NpemVfdCBpLCBuPTI7CiAgICAgUHlPYmplY3QgKml0LCAqaXRlcmFibGUsICpjb3B5YWJsZSwgKnJlc3VsdDsKKyAgICBfUHlfSURFTlRJRklFUihfX2NvcHlfXyk7CiAKICAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIk98biIsICZpdGVyYWJsZSwgJm4pKQogICAgICAgICByZXR1cm4gTlVMTDsKQEAgLTY0Myw3ICs2NDQsNyBAQAogICAgICAgICBQeV9ERUNSRUYocmVzdWx0KTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQotICAgIGlmICghUHlPYmplY3RfSGFzQXR0clN0cmluZyhpdCwgIl9fY29weV9fIikpIHsKKyAgICBpZiAoIV9QeU9iamVjdF9IYXNBdHRySWQoaXQsICZQeUlkX19fY29weV9fKSkgewogICAgICAgICBjb3B5YWJsZSA9IHRlZV9mcm9taXRlcmFibGUoaXQpOwogICAgICAgICBQeV9ERUNSRUYoaXQpOwogICAgICAgICBpZiAoY29weWFibGUgPT0gTlVMTCkgewpAQCAtNjU0LDcgKzY1NSw4IEBACiAgICAgICAgIGNvcHlhYmxlID0gaXQ7CiAgICAgUHlUdXBsZV9TRVRfSVRFTShyZXN1bHQsIDAsIGNvcHlhYmxlKTsKICAgICBmb3IgKGk9MSA7IGk8biA7IGkrKykgewotICAgICAgICBjb3B5YWJsZSA9IFB5T2JqZWN0X0NhbGxNZXRob2QoY29weWFibGUsICJfX2NvcHlfXyIsIE5VTEwpOworCisgICAgICAgIGNvcHlhYmxlID0gX1B5T2JqZWN0X0NhbGxNZXRob2RJZChjb3B5YWJsZSwgJlB5SWRfX19jb3B5X18sIE5VTEwpOwogICAgICAgICBpZiAoY29weWFibGUgPT0gTlVMTCkgewogICAgICAgICAgICAgUHlfREVDUkVGKHJlc3VsdCk7CiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKQEAgLTI1OTIsNiArMjU5NCw3IEBACiAgICAgUHlPYmplY3RfSEVBRAogICAgIFB5T2JqZWN0ICp0b3RhbDsKICAgICBQeU9iamVjdCAqaXQ7CisgICAgUHlPYmplY3QgKmJpbm9wOwogfSBhY2N1bXVsYXRlb2JqZWN0OwogCiBzdGF0aWMgUHlUeXBlT2JqZWN0IGFjY3VtdWxhdGVfdHlwZTsKQEAgLTI1OTksMTIgKzI2MDIsMTQgQEAKIHN0YXRpYyBQeU9iamVjdCAqCiBhY2N1bXVsYXRlX25ldyhQeVR5cGVPYmplY3QgKnR5cGUsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dkcykKIHsKLSAgICBzdGF0aWMgY2hhciAqa3dhcmdzW10gPSB7Iml0ZXJhYmxlIiwgTlVMTH07CisgICAgc3RhdGljIGNoYXIgKmt3YXJnc1tdID0geyJpdGVyYWJsZSIsICJmdW5jIiwgTlVMTH07CiAgICAgUHlPYmplY3QgKml0ZXJhYmxlOwogICAgIFB5T2JqZWN0ICppdDsKKyAgICBQeU9iamVjdCAqYmlub3AgPSBOVUxMOwogICAgIGFjY3VtdWxhdGVvYmplY3QgKmx6OwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dkcywgIk86YWNjdW11bGF0ZSIsIGt3YXJncywgJml0ZXJhYmxlKSkKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2RzLCAiT3xPOmFjY3VtdWxhdGUiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGt3YXJncywgJml0ZXJhYmxlLCAmYmlub3ApKQogICAgICAgICByZXR1cm4gTlVMTDsKIAogICAgIC8qIEdldCBpdGVyYXRvci4gKi8KQEAgLTI2MTksNiArMjYyNCw4IEBACiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KIAorICAgIFB5X1hJTkNSRUYoYmlub3ApOworICAgIGx6LT5iaW5vcCA9IGJpbm9wOwogICAgIGx6LT50b3RhbCA9IE5VTEw7CiAgICAgbHotPml0ID0gaXQ7CiAgICAgcmV0dXJuIChQeU9iamVjdCAqKWx6OwpAQCAtMjYyOCw2ICsyNjM1LDcgQEAKIGFjY3VtdWxhdGVfZGVhbGxvYyhhY2N1bXVsYXRlb2JqZWN0ICpseikKIHsKICAgICBQeU9iamVjdF9HQ19VblRyYWNrKGx6KTsKKyAgICBQeV9YREVDUkVGKGx6LT5iaW5vcCk7CiAgICAgUHlfWERFQ1JFRihsei0+dG90YWwpOwogICAgIFB5X1hERUNSRUYobHotPml0KTsKICAgICBQeV9UWVBFKGx6KS0+dHBfZnJlZShseik7CkBAIC0yNjM2LDYgKzI2NDQsNyBAQAogc3RhdGljIGludAogYWNjdW11bGF0ZV90cmF2ZXJzZShhY2N1bXVsYXRlb2JqZWN0ICpseiwgdmlzaXRwcm9jIHZpc2l0LCB2b2lkICphcmcpCiB7CisgICAgUHlfVklTSVQobHotPmJpbm9wKTsKICAgICBQeV9WSVNJVChsei0+aXQpOwogICAgIFB5X1ZJU0lUKGx6LT50b3RhbCk7CiAgICAgcmV0dXJuIDA7CkBAIC0yNjU1LDggKzI2NjQsMTEgQEAKICAgICAgICAgbHotPnRvdGFsID0gdmFsOwogICAgICAgICByZXR1cm4gbHotPnRvdGFsOwogICAgIH0KLSAgIAotICAgIG5ld3RvdGFsID0gUHlOdW1iZXJfQWRkKGx6LT50b3RhbCwgdmFsKTsKKworICAgIGlmIChsei0+Ymlub3AgPT0gTlVMTCkgCisgICAgICAgIG5ld3RvdGFsID0gUHlOdW1iZXJfQWRkKGx6LT50b3RhbCwgdmFsKTsKKyAgICBlbHNlCisgICAgICAgIG5ld3RvdGFsID0gUHlPYmplY3RfQ2FsbEZ1bmN0aW9uT2JqQXJncyhsei0+Ymlub3AsIGx6LT50b3RhbCwgdmFsLCBOVUxMKTsKICAgICBQeV9ERUNSRUYodmFsKTsKICAgICBpZiAobmV3dG90YWwgPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIE5VTEw7CkBAIC0yNjcwLDkgKzI2ODIsOSBAQAogfQogCiBQeURvY19TVFJWQVIoYWNjdW11bGF0ZV9kb2MsCi0iYWNjdW11bGF0ZShpdGVyYWJsZSkgLS0+IGFjY3VtdWxhdGUgb2JqZWN0XG5cCisiYWNjdW11bGF0ZShpdGVyYWJsZVssIGZ1bmNdKSAtLT4gYWNjdW11bGF0ZSBvYmplY3RcblwKIFxuXAotUmV0dXJuIHNlcmllcyBvZiBhY2N1bXVsYXRlZCBzdW1zLiIpOworUmV0dXJuIHNlcmllcyBvZiBhY2N1bXVsYXRlZCBzdW1zIChvciBvdGhlciBiaW5hcnkgZnVuY3Rpb24gcmVzdWx0cykuIik7CiAKIHN0YXRpYyBQeVR5cGVPYmplY3QgYWNjdW11bGF0ZV90eXBlID0gewogICAgIFB5VmFyT2JqZWN0X0hFQURfSU5JVChOVUxMLCAwKQpAQCAtMzYzMyw3ICszNjQ1LDcgQEAKIHJlcGVhdChlbGVtIFssbl0pIC0tPiBlbGVtLCBlbGVtLCBlbGVtLCAuLi4gZW5kbGVzc2x5IG9yIHVwIHRvIG4gdGltZXNcblwKIFxuXAogSXRlcmF0b3JzIHRlcm1pbmF0aW5nIG9uIHRoZSBzaG9ydGVzdCBpbnB1dCBzZXF1ZW5jZTpcblwKLWFjY3VtdWxhdGUocCwgc3RhcnQ9MCkgLS0+IHAwLCBwMCtwMSwgcDArcDErcDJcblwKK2FjY3VtdWxhdGUocFssIGZ1bmNdKSAtLT4gcDAsIHAwK3AxLCBwMCtwMStwMlxuXAogY2hhaW4ocCwgcSwgLi4uKSAtLT4gcDAsIHAxLCAuLi4gcGxhc3QsIHEwLCBxMSwgLi4uIFxuXAogY29tcHJlc3MoZGF0YSwgc2VsZWN0b3JzKSAtLT4gKGRbMF0gaWYgc1swXSksIChkWzFdIGlmIHNbMV0pLCAuLi5cblwKIGRyb3B3aGlsZShwcmVkLCBzZXEpIC0tPiBzZXFbbl0sIHNlcVtuKzFdLCBzdGFydGluZyB3aGVuIHByZWQgZmFpbHNcblwKZGlmZiAtLWdpdCBhL01vZHVsZXMvbWFpbi5jIGIvTW9kdWxlcy9tYWluLmMKaW5kZXggMTI4MmY0Ni4uNmViMDVlOSAxMDA2NDQKLS0tIGEvTW9kdWxlcy9tYWluLmMKKysrIGIvTW9kdWxlcy9tYWluLmMKQEAgLTYsNiArNiw3IEBACiAjaW5jbHVkZSA8bG9jYWxlLmg+CiAKICNpZmRlZiBfX1ZNUworI2Vycm9yICJQRVAgMTE6IFZNUyBpcyBub3cgdW5zdXBwb3J0ZWQsIGNvZGUgd2lsbCBiZSByZW1vdmVkIGluIFB5dGhvbiAzLjQiCiAjaW5jbHVkZSA8dW5peGxpYi5oPgogI2VuZGlmCiAKQEAgLTcyLDkgKzczLDYgQEAKIC1PICAgICA6IG9wdGltaXplIGdlbmVyYXRlZCBieXRlY29kZSBzbGlnaHRseTsgYWxzbyBQWVRIT05PUFRJTUlaRT14XG5cCiAtT08gICAgOiByZW1vdmUgZG9jLXN0cmluZ3MgaW4gYWRkaXRpb24gdG8gdGhlIC1PIG9wdGltaXphdGlvbnNcblwKIC1xICAgICA6IGRvbid0IHByaW50IHZlcnNpb24gYW5kIGNvcHlyaWdodCBtZXNzYWdlcyBvbiBpbnRlcmFjdGl2ZSBzdGFydHVwXG5cCi0tUiAgICAgOiB1c2UgYSBwc2V1ZG8tcmFuZG9tIHNhbHQgdG8gbWFrZSBoYXNoKCkgdmFsdWVzIG9mIHZhcmlvdXMgdHlwZXMgYmVcblwKLSAgICAgICAgIHVucHJlZGljdGFibGUgYmV0d2VlbiBzZXBhcmF0ZSBpbnZvY2F0aW9ucyBvZiB0aGUgaW50ZXJwcmV0ZXIsIGFzXG5cCi0gICAgICAgICBhIGRlZmVuY2UgYWdhaW5zdCBkZW5pYWwtb2Ytc2VydmljZSBhdHRhY2tzXG5cCiAtcyAgICAgOiBkb24ndCBhZGQgdXNlciBzaXRlIGRpcmVjdG9yeSB0byBzeXMucGF0aDsgYWxzbyBQWVRIT05OT1VTRVJTSVRFXG5cCiAtUyAgICAgOiBkb24ndCBpbXBseSAnaW1wb3J0IHNpdGUnIG9uIGluaXRpYWxpemF0aW9uXG5cCiAiOwpAQCAtMTAyLDEzICsxMDAsMTQgQEAKICJQWVRIT05IT01FICAgOiBhbHRlcm5hdGUgPHByZWZpeD4gZGlyZWN0b3J5IChvciA8cHJlZml4PiVjPGV4ZWNfcHJlZml4PikuXG4iCiAiICAgICAgICAgICAgICAgVGhlIGRlZmF1bHQgbW9kdWxlIHNlYXJjaCBwYXRoIHVzZXMgJXMuXG4iCiAiUFlUSE9OQ0FTRU9LIDogaWdub3JlIGNhc2UgaW4gJ2ltcG9ydCcgc3RhdGVtZW50cyAoV2luZG93cykuXG4iCi0iUFlUSE9OSU9FTkNPRElORzogRW5jb2RpbmdbOmVycm9yc10gdXNlZCBmb3Igc3RkaW4vc3Rkb3V0L3N0ZGVyci5cblwKKyJQWVRIT05JT0VOQ09ESU5HOiBFbmNvZGluZ1s6ZXJyb3JzXSB1c2VkIGZvciBzdGRpbi9zdGRvdXQvc3RkZXJyLlxuIgorIlBZVEhPTkZBVUxUSEFORExFUjogZHVtcCB0aGUgUHl0aG9uIHRyYWNlYmFjayBvbiBmYXRhbCBlcnJvcnMuXG5cCiAiOwogc3RhdGljIGNoYXIgKnVzYWdlXzYgPSAiXAotUFlUSE9OSEFTSFNFRUQ6IGlmIHRoaXMgdmFyaWFibGUgaXMgc2V0IHRvICdyYW5kb20nLCB0aGUgZWZmZWN0IGlzIHRoZSBzYW1lXG5cCi0gICBhcyBzcGVjaWZ5aW5nIHRoZSAtUiBvcHRpb246IGEgcmFuZG9tIHZhbHVlIGlzIHVzZWQgdG8gc2VlZCB0aGUgaGFzaGVzIG9mXG5cCi0gICBzdHIsIGJ5dGVzIGFuZCBkYXRldGltZSBvYmplY3RzLiAgSXQgY2FuIGFsc28gYmUgc2V0IHRvIGFuIGludGVnZXJcblwKLSAgIGluIHRoZSByYW5nZSBbMCw0Mjk0OTY3Mjk1XSB0byBnZXQgaGFzaCB2YWx1ZXMgd2l0aCBhIHByZWRpY3RhYmxlIHNlZWQuXG5cCitQWVRIT05IQVNIU0VFRDogaWYgdGhpcyB2YXJpYWJsZSBpcyBzZXQgdG8gJ3JhbmRvbScsIGEgcmFuZG9tIHZhbHVlIGlzIHVzZWRcblwKKyAgIHRvIHNlZWQgdGhlIGhhc2hlcyBvZiBzdHIsIGJ5dGVzIGFuZCBkYXRldGltZSBvYmplY3RzLiAgSXQgY2FuIGFsc28gYmVcblwKKyAgIHNldCB0byBhbiBpbnRlZ2VyIGluIHRoZSByYW5nZSBbMCw0Mjk0OTY3Mjk1XSB0byBnZXQgaGFzaCB2YWx1ZXMgd2l0aCBhXG5cCisgICBwcmVkaWN0YWJsZSBzZWVkLlxuXAogIjsKIAogc3RhdGljIGludApAQCAtMzQ1LDIxICszNDQsMTMgQEAKICAgICAgICAgICAgICAgIG5vdCBpbnRlcnByZXRlciBvcHRpb25zLiAqLwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KLSAgICAgICAgc3dpdGNoIChjKSB7Ci0gICAgICAgIGNhc2UgJ0UnOgorICAgICAgICBpZiAoYyA9PSAnRScpIHsKICAgICAgICAgICAgIFB5X0lnbm9yZUVudmlyb25tZW50RmxhZysrOwogICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgJ1InOgotICAgICAgICAgICAgUHlfSGFzaFJhbmRvbWl6YXRpb25GbGFnKys7Ci0gICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgIH0KLSAgICAvKiBUaGUgdmFyaWFibGUgaXMgb25seSB0ZXN0ZWQgZm9yIGV4aXN0ZW5jZSBoZXJlOyBfUHlSYW5kb21fSW5pdCB3aWxsCi0gICAgICAgY2hlY2sgaXRzIHZhbHVlIGZ1cnRoZXIuICovCi0gICAgaWYgKCFQeV9IYXNoUmFuZG9taXphdGlvbkZsYWcgJiYKLSAgICAgICAgKHAgPSBQeV9HRVRFTlYoIlBZVEhPTkhBU0hTRUVEIikpICYmICpwICE9ICdcMCcpCi0gICAgICAgIFB5X0hhc2hSYW5kb21pemF0aW9uRmxhZyA9IDE7CiAKKyAgICBQeV9IYXNoUmFuZG9taXphdGlvbkZsYWcgPSAxOwogICAgIF9QeVJhbmRvbV9Jbml0KCk7CiAKICAgICBQeVN5c19SZXNldFdhcm5PcHRpb25zKCk7CkBAIC00NjYsNyArNDU3LDcgQEAKICAgICAgICAgICAgIGJyZWFrOwogCiAgICAgICAgIGNhc2UgJ1InOgotICAgICAgICAgICAgLyogQWxyZWFkeSBoYW5kbGVkIGFib3ZlICovCisgICAgICAgICAgICAvKiBJZ25vcmVkICovCiAgICAgICAgICAgICBicmVhazsKIAogICAgICAgICAvKiBUaGlzIHNwYWNlIHJlc2VydmVkIGZvciBvdGhlciBvcHRpb25zICovCkBAIC01MzMsMTYgKzUyNCwxMyBAQAogICAgICAgICAgICAgLyogVXNlIHV0Zi04IG9uIE1hYyBPUyBYICovCiAgICAgICAgICAgICB1bmljb2RlID0gUHlVbmljb2RlX0Zyb21TdHJpbmcocCk7CiAjZWxzZQotICAgICAgICAgICAgd2NoYXJfdCAqd2NoYXI7Ci0gICAgICAgICAgICBzaXplX3QgbGVuOwotICAgICAgICAgICAgd2NoYXIgPSBfUHlfY2hhcjJ3Y2hhcihwLCAmbGVuKTsKLSAgICAgICAgICAgIGlmICh3Y2hhciA9PSBOVUxMKQotICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgdW5pY29kZSA9IFB5VW5pY29kZV9Gcm9tV2lkZUNoYXIod2NoYXIsIGxlbik7Ci0gICAgICAgICAgICBQeU1lbV9GcmVlKHdjaGFyKTsKKyAgICAgICAgICAgIHVuaWNvZGUgPSBQeVVuaWNvZGVfRGVjb2RlTG9jYWxlKHAsICJzdXJyb2dhdGVlc2NhcGUiKTsKICNlbmRpZgotICAgICAgICAgICAgaWYgKHVuaWNvZGUgPT0gTlVMTCkKKyAgICAgICAgICAgIGlmICh1bmljb2RlID09IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAvKiBpZ25vcmUgZXJyb3JzICovCisgICAgICAgICAgICAgICAgUHlFcnJfQ2xlYXIoKTsKICAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgIH0KICAgICAgICAgICAgIFB5U3lzX0FkZFdhcm5PcHRpb25Vbmljb2RlKHVuaWNvZGUpOwogICAgICAgICAgICAgUHlfREVDUkVGKHVuaWNvZGUpOwogICAgICAgICB9CkBAIC02MTcsNyArNjA1LDYgQEAKICAgICBpZiAoKHAgPSBQeV9HRVRFTlYoIlBZVEhPTkVYRUNVVEFCTEUiKSkgJiYgKnAgIT0gJ1wwJykgewogICAgICAgICB3Y2hhcl90KiBidWZmZXI7CiAgICAgICAgIHNpemVfdCBsZW4gPSBzdHJsZW4ocCk7Ci0gICAgICAgIHNpemVfdCByOwogCiAgICAgICAgIGJ1ZmZlciA9IG1hbGxvYyhsZW4gKiBzaXplb2Yod2NoYXJfdCkpOwogICAgICAgICBpZiAoYnVmZmVyID09IE5VTEwpIHsKQEAgLTYyNSw3ICs2MTIsNyBAQAogICAgICAgICAgICAgICAgIm5vdCBlbm91Z2ggbWVtb3J5IHRvIGNvcHkgUFlUSE9ORVhFQ1VUQUJMRSIpOwogICAgICAgICB9CiAKLSAgICAgICAgciA9IG1ic3Rvd2NzKGJ1ZmZlciwgcCwgbGVuKTsKKyAgICAgICAgbWJzdG93Y3MoYnVmZmVyLCBwLCBsZW4pOwogICAgICAgICBQeV9TZXRQcm9ncmFtTmFtZShidWZmZXIpOwogICAgICAgICAvKiBidWZmZXIgaXMgbm93IGhhbmRlZCBvZmYgLSBkbyBub3QgZnJlZSAqLwogICAgIH0gZWxzZSB7CmRpZmYgLS1naXQgYS9Nb2R1bGVzL21hdGhtb2R1bGUuYyBiL01vZHVsZXMvbWF0aG1vZHVsZS5jCmluZGV4IDJjNGNjNzMuLmQ2OTNkYTEgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvbWF0aG1vZHVsZS5jCisrKyBiL01vZHVsZXMvbWF0aG1vZHVsZS5jCkBAIC01NSwxMSArNTUsNiBAQAogI2luY2x1ZGUgIlB5dGhvbi5oIgogI2luY2x1ZGUgIl9tYXRoLmgiCiAKLSNpZmRlZiBfT1NGX1NPVVJDRQotLyogT1NGMSA1LjEgZG9lc24ndCBtYWtlIHRoaXMgYXZhaWxhYmxlIHdpdGggWE9QRU5fU09VUkNFX0VYVEVOREVEIGRlZmluZWQgKi8KLWV4dGVybiBkb3VibGUgY29weXNpZ24oZG91YmxlLCBkb3VibGUpOwotI2VuZGlmCi0KIC8qCiAgICBzaW4ocGkqeCksIGdpdmluZyBhY2N1cmF0ZSByZXN1bHRzIGZvciBhbGwgZmluaXRlIHggKGVzcGVjaWFsbHkgeAogICAgaW50ZWdyYWwgb3IgY2xvc2UgdG8gYW4gaW50ZWdlcikuICBUaGlzIGlzIGhlcmUgZm9yIHVzZSBpbiB0aGUKQEAgLTI0NCw3ICsyMzksOCBAQAogICAgIH0KICAgICBpZiAoeCA9PSAwLjApIHsKICAgICAgICAgZXJybm8gPSBFRE9NOwotICAgICAgICByZXR1cm4gMS4wL3g7IC8qIHRnYW1tYSgrLTAuMCkgPSArLWluZiwgZGl2aWRlLWJ5LXplcm8gKi8KKyAgICAgICAgLyogdGdhbW1hKCstMC4wKSA9ICstaW5mLCBkaXZpZGUtYnktemVybyAqLworICAgICAgICByZXR1cm4gY29weXNpZ24oUHlfSFVHRV9WQUwsIHgpOwogICAgIH0KIAogICAgIC8qIGludGVnZXIgYXJndW1lbnRzICovCkBAIC01ODIsNiArNTc4LDYxIEBACiAgICAgfQogfQogCisvKgorICAgbG9nMjogbG9nIHRvIGJhc2UgMi4KKworICAgVXNlcyBhbiBhbGdvcml0aG0gdGhhdCBzaG91bGQ6CisKKyAgICAgKGEpIHByb2R1Y2UgZXhhY3QgcmVzdWx0cyBmb3IgcG93ZXJzIG9mIDIsIGFuZAorICAgICAoYikgZ2l2ZSBhIG1vbm90b25pYyBsb2cyIChmb3IgcG9zaXRpdmUgZmluaXRlIGZsb2F0cyksCisgICAgICAgICBhc3N1bWluZyB0aGF0IHRoZSBzeXN0ZW0gbG9nIGlzIG1vbm90b25pYy4KKyovCisKK3N0YXRpYyBkb3VibGUKK21fbG9nMihkb3VibGUgeCkKK3sKKyAgICBpZiAoIVB5X0lTX0ZJTklURSh4KSkgeworICAgICAgICBpZiAoUHlfSVNfTkFOKHgpKQorICAgICAgICAgICAgcmV0dXJuIHg7IC8qIGxvZzIobmFuKSA9IG5hbiAqLworICAgICAgICBlbHNlIGlmICh4ID4gMC4wKQorICAgICAgICAgICAgcmV0dXJuIHg7IC8qIGxvZzIoK2luZikgPSAraW5mICovCisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgZXJybm8gPSBFRE9NOworICAgICAgICAgICAgcmV0dXJuIFB5X05BTjsgLyogbG9nMigtaW5mKSA9IG5hbiwgaW52YWxpZC1vcGVyYXRpb24gKi8KKyAgICAgICAgfQorICAgIH0KKworICAgIGlmICh4ID4gMC4wKSB7CisjaWZkZWYgSEFWRV9MT0cyCisgICAgICAgIHJldHVybiBsb2cyKHgpOworI2Vsc2UKKyAgICAgICAgZG91YmxlIG07CisgICAgICAgIGludCBlOworICAgICAgICBtID0gZnJleHAoeCwgJmUpOworICAgICAgICAvKiBXZSB3YW50IGxvZzIobSAqIDIqKmUpID09IGxvZyhtKSAvIGxvZygyKSArIGUuICBDYXJlIGlzIG5lZWRlZCB3aGVuCisgICAgICAgICAqIHggaXMganVzdCBncmVhdGVyIHRoYW4gMS4wOiBpbiB0aGF0IGNhc2UgZSBpcyAxLCBsb2cobSkgaXMgbmVnYXRpdmUsCisgICAgICAgICAqIGFuZCB3ZSBnZXQgc2lnbmlmaWNhbnQgY2FuY2VsbGF0aW9uIGVycm9yIGZyb20gdGhlIGFkZGl0aW9uIG9mCisgICAgICAgICAqIGxvZyhtKSAvIGxvZygyKSB0byBlLiAgVGhlIHNsaWdodCByZXdyaXRlIG9mIHRoZSBleHByZXNzaW9uIGJlbG93CisgICAgICAgICAqIGF2b2lkcyB0aGlzIHByb2JsZW0uCisgICAgICAgICAqLworICAgICAgICBpZiAoeCA+PSAxLjApIHsKKyAgICAgICAgICAgIHJldHVybiBsb2coMi4wICogbSkgLyBsb2coMi4wKSArIChlIC0gMSk7CisgICAgICAgIH0KKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICByZXR1cm4gbG9nKG0pIC8gbG9nKDIuMCkgKyBlOworICAgICAgICB9CisjZW5kaWYKKyAgICB9CisgICAgZWxzZSBpZiAoeCA9PSAwLjApIHsKKyAgICAgICAgZXJybm8gPSBFRE9NOworICAgICAgICByZXR1cm4gLVB5X0hVR0VfVkFMOyAvKiBsb2cyKDApID0gLWluZiwgZGl2aWRlLWJ5LXplcm8gKi8KKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIGVycm5vID0gRURPTTsKKyAgICAgICAgcmV0dXJuIFB5X05BTjsgLyogbG9nMigtaW5mKSA9IG5hbiwgaW52YWxpZC1vcGVyYXRpb24gKi8KKyAgICB9Cit9CisKIHN0YXRpYyBkb3VibGUKIG1fbG9nMTAoZG91YmxlIHgpCiB7CkBAIC04MzYsMTAgKzg4NywxMCBAQAogICAgICAgImF0YW5oKHgpXG5cblJldHVybiB0aGUgaHlwZXJib2xpYyBhcmMgdGFuZ2VudCAobWVhc3VyZWQgaW4gcmFkaWFucykgb2YgeC4iKQogCiBzdGF0aWMgUHlPYmplY3QgKiBtYXRoX2NlaWwoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpudW1iZXIpIHsKLSAgICBzdGF0aWMgUHlPYmplY3QgKmNlaWxfc3RyID0gTlVMTDsKKyAgICBfUHlfSURFTlRJRklFUihfX2NlaWxfXyk7CiAgICAgUHlPYmplY3QgKm1ldGhvZCwgKnJlc3VsdDsKIAotICAgIG1ldGhvZCA9IF9QeU9iamVjdF9Mb29rdXBTcGVjaWFsKG51bWJlciwgIl9fY2VpbF9fIiwgJmNlaWxfc3RyKTsKKyAgICBtZXRob2QgPSBfUHlPYmplY3RfTG9va3VwU3BlY2lhbChudW1iZXIsICZQeUlkX19fY2VpbF9fKTsKICAgICBpZiAobWV0aG9kID09IE5VTEwpIHsKICAgICAgICAgaWYgKFB5RXJyX09jY3VycmVkKCkpCiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKQEAgLTg3NCwxMCArOTI1LDEwIEBACiAgICAgICAiZmFicyh4KVxuXG5SZXR1cm4gdGhlIGFic29sdXRlIHZhbHVlIG9mIHRoZSBmbG9hdCB4LiIpCiAKIHN0YXRpYyBQeU9iamVjdCAqIG1hdGhfZmxvb3IoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpudW1iZXIpIHsKLSAgICBzdGF0aWMgUHlPYmplY3QgKmZsb29yX3N0ciA9IE5VTEw7CisgICAgX1B5X0lERU5USUZJRVIoX19mbG9vcl9fKTsKICAgICBQeU9iamVjdCAqbWV0aG9kLCAqcmVzdWx0OwogCi0gICAgbWV0aG9kID0gX1B5T2JqZWN0X0xvb2t1cFNwZWNpYWwobnVtYmVyLCAiX19mbG9vcl9fIiwgJmZsb29yX3N0cik7CisgICAgbWV0aG9kID0gX1B5T2JqZWN0X0xvb2t1cFNwZWNpYWwobnVtYmVyLCAmUHlJZF9fX2Zsb29yX18pOwogICAgIGlmIChtZXRob2QgPT0gTlVMTCkgewogICAgICAgICBpZiAoUHlFcnJfT2NjdXJyZWQoKSkKICAgICAgICAgICAgIHJldHVybiBOVUxMOwpAQCAtMTM4NCw3ICsxNDM1LDcgQEAKICAgICB9CiAKICAgICAvKiB1c2UgbG9va3VwIHRhYmxlIGlmIHggaXMgc21hbGwgKi8KLSAgICBpZiAoeCA8IChsb25nKShzaXplb2YoU21hbGxGYWN0b3JpYWxzKS9zaXplb2YoU21hbGxGYWN0b3JpYWxzWzBdKSkpCisgICAgaWYgKHggPCAobG9uZylQeV9BUlJBWV9MRU5HVEgoU21hbGxGYWN0b3JpYWxzKSkKICAgICAgICAgcmV0dXJuIFB5TG9uZ19Gcm9tVW5zaWduZWRMb25nKFNtYWxsRmFjdG9yaWFsc1t4XSk7CiAKICAgICAvKiBlbHNlIGV4cHJlc3MgaW4gdGhlIGZvcm0gb2RkX3BhcnQgKiAyKip0d29fdmFsdWF0aW9uLCBhbmQgY29tcHV0ZSBhcwpAQCAtMTQxMSw3ICsxNDYyLDcgQEAKIHN0YXRpYyBQeU9iamVjdCAqCiBtYXRoX3RydW5jKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqbnVtYmVyKQogewotICAgIHN0YXRpYyBQeU9iamVjdCAqdHJ1bmNfc3RyID0gTlVMTDsKKyAgICBfUHlfSURFTlRJRklFUihfX3RydW5jX18pOwogICAgIFB5T2JqZWN0ICp0cnVuYywgKnJlc3VsdDsKIAogICAgIGlmIChQeV9UWVBFKG51bWJlciktPnRwX2RpY3QgPT0gTlVMTCkgewpAQCAtMTQxOSw3ICsxNDcwLDcgQEAKICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KIAotICAgIHRydW5jID0gX1B5T2JqZWN0X0xvb2t1cFNwZWNpYWwobnVtYmVyLCAiX190cnVuY19fIiwgJnRydW5jX3N0cik7CisgICAgdHJ1bmMgPSBfUHlPYmplY3RfTG9va3VwU3BlY2lhbChudW1iZXIsICZQeUlkX19fdHJ1bmNfXyk7CiAgICAgaWYgKHRydW5jID09IE5VTEwpIHsKICAgICAgICAgaWYgKCFQeUVycl9PY2N1cnJlZCgpKQogICAgICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1R5cGVFcnJvciwKQEAgLTE2MjgsNiArMTY3OSwxNSBAQAogSWYgdGhlIGJhc2Ugbm90IHNwZWNpZmllZCwgcmV0dXJucyB0aGUgbmF0dXJhbCBsb2dhcml0aG0gKGJhc2UgZSkgb2YgeC4iKTsKIAogc3RhdGljIFB5T2JqZWN0ICoKK21hdGhfbG9nMihQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZykKK3sKKyAgICByZXR1cm4gbG9naGVscGVyKGFyZywgbV9sb2cyLCAibG9nMiIpOworfQorCitQeURvY19TVFJWQVIobWF0aF9sb2cyX2RvYywKKyJsb2cyKHgpXG5cblJldHVybiB0aGUgYmFzZSAyIGxvZ2FyaXRobSBvZiB4LiIpOworCitzdGF0aWMgUHlPYmplY3QgKgogbWF0aF9sb2cxMChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZykKIHsKICAgICByZXR1cm4gbG9naGVscGVyKGFyZywgbV9sb2cxMCwgImxvZzEwIik7CkBAIC0xODk5LDYgKzE5NTksNyBAQAogICAgIHsibG9nIiwgICAgICAgICAgICAgbWF0aF9sb2csICAgICAgIE1FVEhfVkFSQVJHUywgICBtYXRoX2xvZ19kb2N9LAogICAgIHsibG9nMXAiLCAgICAgICAgICAgbWF0aF9sb2cxcCwgICAgIE1FVEhfTywgICAgICAgICBtYXRoX2xvZzFwX2RvY30sCiAgICAgeyJsb2cxMCIsICAgICAgICAgICBtYXRoX2xvZzEwLCAgICAgTUVUSF9PLCAgICAgICAgIG1hdGhfbG9nMTBfZG9jfSwKKyAgICB7ImxvZzIiLCAgICAgICAgICAgIG1hdGhfbG9nMiwgICAgICBNRVRIX08sICAgICAgICAgbWF0aF9sb2cyX2RvY30sCiAgICAgeyJtb2RmIiwgICAgICAgICAgICBtYXRoX21vZGYsICAgICAgTUVUSF9PLCAgICAgICAgIG1hdGhfbW9kZl9kb2N9LAogICAgIHsicG93IiwgICAgICAgICAgICAgbWF0aF9wb3csICAgICAgIE1FVEhfVkFSQVJHUywgICBtYXRoX3Bvd19kb2N9LAogICAgIHsicmFkaWFucyIsICAgICAgICAgbWF0aF9yYWRpYW5zLCAgIE1FVEhfTywgICAgICAgICBtYXRoX3JhZGlhbnNfZG9jfSwKZGlmZiAtLWdpdCBhL01vZHVsZXMvbWQ1bW9kdWxlLmMgYi9Nb2R1bGVzL21kNW1vZHVsZS5jCmluZGV4IDIwODkzMGQuLjg2ZjYwMmUgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvbWQ1bW9kdWxlLmMKKysrIGIvTW9kdWxlcy9tZDVtb2R1bGUuYwpAQCAtMjQzLDcgKzI0Myw3IEBACiAgICAgICAgICAgIGluICAgICAgICAgICAgICs9IE1ENV9CTE9DS1NJWkU7CiAgICAgICAgICAgIGlubGVuICAgICAgICAgIC09IE1ENV9CTE9DS1NJWkU7CiAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgIG4gPSBNSU4oaW5sZW4sIChNRDVfQkxPQ0tTSVpFIC0gbWQ1LT5jdXJsZW4pKTsKKyAgICAgICAgICAgbiA9IE1JTihpbmxlbiwgKFB5X3NzaXplX3QpKE1ENV9CTE9DS1NJWkUgLSBtZDUtPmN1cmxlbikpOwogICAgICAgICAgICBtZW1jcHkobWQ1LT5idWYgKyBtZDUtPmN1cmxlbiwgaW4sIChzaXplX3Qpbik7CiAgICAgICAgICAgIG1kNS0+Y3VybGVuICAgICs9IG47CiAgICAgICAgICAgIGluICAgICAgICAgICAgICs9IG47CkBAIC0zNzYsNyArMzc2LDcgQEAKICAgICB1bnNpZ25lZCBjaGFyIGRpZ2VzdFtNRDVfRElHRVNUU0laRV07CiAgICAgc3RydWN0IG1kNV9zdGF0ZSB0ZW1wOwogICAgIFB5T2JqZWN0ICpyZXR2YWw7Ci0gICAgUHlfVU5JQ09ERSAqaGV4X2RpZ2VzdDsKKyAgICBQeV9VQ1MxICpoZXhfZGlnZXN0OwogICAgIGludCBpLCBqOwogCiAgICAgLyogR2V0IHRoZSByYXcgKGJpbmFyeSkgZGlnZXN0IHZhbHVlICovCkBAIC0zODQsMjQgKzM4NCwxOCBAQAogICAgIG1kNV9kb25lKCZ0ZW1wLCBkaWdlc3QpOwogCiAgICAgLyogQ3JlYXRlIGEgbmV3IHN0cmluZyAqLwotICAgIHJldHZhbCA9IFB5VW5pY29kZV9Gcm9tU3RyaW5nQW5kU2l6ZShOVUxMLCBNRDVfRElHRVNUU0laRSAqIDIpOworICAgIHJldHZhbCA9IFB5VW5pY29kZV9OZXcoTUQ1X0RJR0VTVFNJWkUgKiAyLCAxMjcpOwogICAgIGlmICghcmV0dmFsKQogICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgaGV4X2RpZ2VzdCA9IFB5VW5pY29kZV9BU19VTklDT0RFKHJldHZhbCk7Ci0gICAgaWYgKCFoZXhfZGlnZXN0KSB7Ci0gICAgICAgICAgICBQeV9ERUNSRUYocmV0dmFsKTsKLSAgICAgICAgICAgIHJldHVybiBOVUxMOwotICAgIH0KKyAgICBoZXhfZGlnZXN0ID0gUHlVbmljb2RlXzFCWVRFX0RBVEEocmV0dmFsKTsKIAogICAgIC8qIE1ha2UgaGV4IHZlcnNpb24gb2YgdGhlIGRpZ2VzdCAqLwogICAgIGZvcihpPWo9MDsgaTxNRDVfRElHRVNUU0laRTsgaSsrKSB7Ci0gICAgICAgIGNoYXIgYzsKKyAgICAgICAgdW5zaWduZWQgY2hhciBjOwogICAgICAgICBjID0gKGRpZ2VzdFtpXSA+PiA0KSAmIDB4ZjsKLSAgICAgICAgYyA9IChjPjkpID8gYysnYSctMTAgOiBjICsgJzAnOwotICAgICAgICBoZXhfZGlnZXN0W2orK10gPSBjOworICAgICAgICBoZXhfZGlnZXN0W2orK10gPSBQeV9oZXhkaWdpdHNbY107CiAgICAgICAgIGMgPSAoZGlnZXN0W2ldICYgMHhmKTsKLSAgICAgICAgYyA9IChjPjkpID8gYysnYSctMTAgOiBjICsgJzAnOwotICAgICAgICBoZXhfZGlnZXN0W2orK10gPSBjOworICAgICAgICBoZXhfZGlnZXN0W2orK10gPSBQeV9oZXhkaWdpdHNbY107CiAgICAgfQogICAgIHJldHVybiByZXR2YWw7CiB9CmRpZmYgLS1naXQgYS9Nb2R1bGVzL21tYXBtb2R1bGUuYyBiL01vZHVsZXMvbW1hcG1vZHVsZS5jCmluZGV4IGRhOTI4M2IuLmY1MmRjZTUgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvbW1hcG1vZHVsZS5jCisrKyBiL01vZHVsZXMvbW1hcG1vZHVsZS5jCkBAIC03OCw4ICs3OCw2IEBACiAjICBkZWZpbmUgTUFQX0FOT05ZTU9VUyBNQVBfQU5PTgogI2VuZGlmCiAKLXN0YXRpYyBQeU9iamVjdCAqbW1hcF9tb2R1bGVfZXJyb3I7Ci0KIHR5cGVkZWYgZW51bQogewogICAgIEFDQ0VTU19ERUZBVUxULApAQCAtMjQwLDE1ICsyMzgsMzcgQEAKICAgICByZXR1cm4gcmVzdWx0OwogfQogCisvKiBCYXNpY2FsbHkgdGhlICJuIiBmb3JtYXQgY29kZSB3aXRoIHRoZSBhYmlsaXR5IHRvIHR1cm4gTm9uZSBpbnRvIC0xLiAqLworc3RhdGljIGludAorbW1hcF9jb252ZXJ0X3NzaXplX3QoUHlPYmplY3QgKm9iaiwgdm9pZCAqcmVzdWx0KSB7CisgICAgUHlfc3NpemVfdCBsaW1pdDsKKyAgICBpZiAob2JqID09IFB5X05vbmUpIHsKKyAgICAgICAgbGltaXQgPSAtMTsKKyAgICB9CisgICAgZWxzZSBpZiAoUHlOdW1iZXJfQ2hlY2sob2JqKSkgeworICAgICAgICBsaW1pdCA9IFB5TnVtYmVyX0FzU3NpemVfdChvYmosIFB5RXhjX092ZXJmbG93RXJyb3IpOworICAgICAgICBpZiAobGltaXQgPT0gLTEgJiYgUHlFcnJfT2NjdXJyZWQoKSkKKyAgICAgICAgICAgIHJldHVybiAwOworICAgIH0KKyAgICBlbHNlIHsKKyAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1R5cGVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICJpbnRlZ2VyIGFyZ3VtZW50IGV4cGVjdGVkLCBnb3QgJyUuMjAwcyciLAorICAgICAgICAgICAgICAgICAgICAgUHlfVFlQRShvYmopLT50cF9uYW1lKTsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorICAgICooKFB5X3NzaXplX3QgKilyZXN1bHQpID0gbGltaXQ7CisgICAgcmV0dXJuIDE7Cit9CisKIHN0YXRpYyBQeU9iamVjdCAqCiBtbWFwX3JlYWRfbWV0aG9kKG1tYXBfb2JqZWN0ICpzZWxmLAogICAgICAgICAgICAgICAgICBQeU9iamVjdCAqYXJncykKIHsKLSAgICBQeV9zc2l6ZV90IG51bV9ieXRlcywgbjsKKyAgICBQeV9zc2l6ZV90IG51bV9ieXRlcyA9IC0xLCBuOwogICAgIFB5T2JqZWN0ICpyZXN1bHQ7CiAKICAgICBDSEVDS19WQUxJRChOVUxMKTsKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIm46cmVhZCIsICZudW1fYnl0ZXMpKQorICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAifE8mOnJlYWQiLCBtbWFwX2NvbnZlcnRfc3NpemVfdCwgJm51bV9ieXRlcykpCiAgICAgICAgIHJldHVybihOVUxMKTsKIAogICAgIC8qIHNpbGVudGx5ICdhZGp1c3QnIG91dC1vZi1yYW5nZSByZXF1ZXN0cyAqLwpAQCAtNDM3LDcgKzQ1Nyw3IEBACiAgICAgewogICAgICAgICBzdHJ1Y3Qgc3RhdCBidWY7CiAgICAgICAgIGlmICgtMSA9PSBmc3RhdChzZWxmLT5mZCwgJmJ1ZikpIHsKLSAgICAgICAgICAgIFB5RXJyX1NldEZyb21FcnJubyhtbWFwX21vZHVsZV9lcnJvcik7CisgICAgICAgICAgICBQeUVycl9TZXRGcm9tRXJybm8oUHlFeGNfT1NFcnJvcik7CiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICAgICAgfQogI2lmZGVmIEhBVkVfTEFSR0VGSUxFX1NVUFBPUlQKQEAgLTUyNyw3ICs1NDcsNyBAQAogICAgICAgICB2b2lkICpuZXdtYXA7CiAKICAgICAgICAgaWYgKGZ0cnVuY2F0ZShzZWxmLT5mZCwgc2VsZi0+b2Zmc2V0ICsgbmV3X3NpemUpID09IC0xKSB7Ci0gICAgICAgICAgICBQeUVycl9TZXRGcm9tRXJybm8obW1hcF9tb2R1bGVfZXJyb3IpOworICAgICAgICAgICAgUHlFcnJfU2V0RnJvbUVycm5vKFB5RXhjX09TRXJyb3IpOwogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgIH0KIApAQCAtNTQyLDcgKzU2Miw3IEBACiAjZW5kaWYKICAgICAgICAgaWYgKG5ld21hcCA9PSAodm9pZCAqKS0xKQogICAgICAgICB7Ci0gICAgICAgICAgICBQeUVycl9TZXRGcm9tRXJybm8obW1hcF9tb2R1bGVfZXJyb3IpOworICAgICAgICAgICAgUHlFcnJfU2V0RnJvbUVycm5vKFB5RXhjX09TRXJyb3IpOwogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgIH0KICAgICAgICAgc2VsZi0+ZGF0YSA9IG5ld21hcDsKQEAgLTU4Myw3ICs2MDMsNyBAQAogICAgIC8qIFhYWCBzZW1hbnRpY3Mgb2YgcmV0dXJuIHZhbHVlPyAqLwogICAgIC8qIFhYWCBmbGFncyBmb3IgbXN5bmM/ICovCiAgICAgaWYgKC0xID09IG1zeW5jKHNlbGYtPmRhdGEgKyBvZmZzZXQsIHNpemUsIE1TX1NZTkMpKSB7Ci0gICAgICAgIFB5RXJyX1NldEZyb21FcnJubyhtbWFwX21vZHVsZV9lcnJvcik7CisgICAgICAgIFB5RXJyX1NldEZyb21FcnJubyhQeUV4Y19PU0Vycm9yKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogICAgIHJldHVybiBQeUxvbmdfRnJvbUxvbmcoMCk7CkBAIC02NDUsOSArNjY1LDkgQEAKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfSBlbHNlIHsKICAgICAgICAgLyogYm91bmRzIGNoZWNrIHRoZSB2YWx1ZXMgKi8KLSAgICAgICAgaWYgKGNudCA8IDAgfHwgKGNudCArIGRlc3QpIDwgY250IHx8IChjbnQgKyBzcmMpIDwgY250IHx8Ci0gICAgICAgICAgIHNyYyA8IDAgfHwgc3JjID4gc2VsZi0+c2l6ZSB8fCAoc3JjICsgY250KSA+IHNlbGYtPnNpemUgfHwKLSAgICAgICAgICAgZGVzdCA8IDAgfHwgZGVzdCA+IHNlbGYtPnNpemUgfHwgKGRlc3QgKyBjbnQpID4gc2VsZi0+c2l6ZSkgeworICAgICAgICBpZiAoKGNudCArIGRlc3QpIDwgY250IHx8IChjbnQgKyBzcmMpIDwgY250IHx8CisgICAgICAgICAgIHNyYyA+IHNlbGYtPnNpemUgfHwgKHNyYyArIGNudCkgPiBzZWxmLT5zaXplIHx8CisgICAgICAgICAgIGRlc3QgPiBzZWxmLT5zaXplIHx8IChkZXN0ICsgY250KSA+IHNlbGYtPnNpemUpIHsKICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLAogICAgICAgICAgICAgICAgICJzb3VyY2UsIGRlc3RpbmF0aW9uLCBvciBjb3VudCBvdXQgb2YgcmFuZ2UiKTsKICAgICAgICAgICAgIHJldHVybiBOVUxMOwpAQCAtNjgwLDcgKzcwMCw5IEBACiBzdGF0aWMgUHlPYmplY3QgKgogbW1hcF9fZXhpdF9fbWV0aG9kKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKIHsKLSAgICByZXR1cm4gUHlPYmplY3RfQ2FsbE1ldGhvZChzZWxmLCAiY2xvc2UiLCBOVUxMKTsKKyAgICBfUHlfSURFTlRJRklFUihjbG9zZSk7CisKKyAgICByZXR1cm4gX1B5T2JqZWN0X0NhbGxNZXRob2RJZChzZWxmLCAmUHlJZF9jbG9zZSwgTlVMTCk7CiB9CiAKIHN0YXRpYyBzdHJ1Y3QgUHlNZXRob2REZWYgbW1hcF9vYmplY3RfbWV0aG9kc1tdID0gewpAQCAtOTM3LDEzICs5NTksMTMgQEAKIH0KIAogc3RhdGljIFB5U2VxdWVuY2VNZXRob2RzIG1tYXBfYXNfc2VxdWVuY2UgPSB7Ci0gICAgKGxlbmZ1bmMpbW1hcF9sZW5ndGgsICAgICAgICAgICAgICAgICAgICAgIC8qc3FfbGVuZ3RoKi8KLSAgICAoYmluYXJ5ZnVuYyltbWFwX2NvbmNhdCwgICAgICAgICAgICAgICAgICAgLypzcV9jb25jYXQqLwotICAgIChzc2l6ZWFyZ2Z1bmMpbW1hcF9yZXBlYXQsICAgICAgICAgICAgICAgICAvKnNxX3JlcGVhdCovCi0gICAgKHNzaXplYXJnZnVuYyltbWFwX2l0ZW0sICAgICAgICAgICAgICAgICAgICAgICAgICAgLypzcV9pdGVtKi8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKnNxX3NsaWNlKi8KLSAgICAoc3NpemVvYmphcmdwcm9jKW1tYXBfYXNzX2l0ZW0sICAgICAgICAgICAgLypzcV9hc3NfaXRlbSovCi0gICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLypzcV9hc3Nfc2xpY2UqLworICAgIChsZW5mdW5jKW1tYXBfbGVuZ3RoLCAgICAgICAgICAgIC8qc3FfbGVuZ3RoKi8KKyAgICAoYmluYXJ5ZnVuYyltbWFwX2NvbmNhdCwgICAgICAgICAvKnNxX2NvbmNhdCovCisgICAgKHNzaXplYXJnZnVuYyltbWFwX3JlcGVhdCwgICAgICAgLypzcV9yZXBlYXQqLworICAgIChzc2l6ZWFyZ2Z1bmMpbW1hcF9pdGVtLCAgICAgICAgIC8qc3FfaXRlbSovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLypzcV9zbGljZSovCisgICAgKHNzaXplb2JqYXJncHJvYyltbWFwX2Fzc19pdGVtLCAgLypzcV9hc3NfaXRlbSovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLypzcV9hc3Nfc2xpY2UqLwogfTsKIAogc3RhdGljIFB5TWFwcGluZ01ldGhvZHMgbW1hcF9hc19tYXBwaW5nID0gewpAQCAtMTAwNSw3ICsxMDI3LDcgQEAKICAgICBQeU9iamVjdF9HZW5lcmljR2V0QXR0ciwgICAgICAgICAgICAgICAgICAgIC8qdHBfZ2V0YXR0cm8qLwogICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9zZXRhdHRybyovCiAgICAgJm1tYXBfYXNfYnVmZmVyLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX2FzX2J1ZmZlciovCi0gICAgUHlfVFBGTEFHU19ERUZBVUxUIHwgUHlfVFBGTEFHU19CQVNFVFlQRSwgICAgICAgICAgICAgICAgICAgLyp0cF9mbGFncyovCisgICAgUHlfVFBGTEFHU19ERUZBVUxUIHwgUHlfVFBGTEFHU19CQVNFVFlQRSwgICAvKnRwX2ZsYWdzKi8KICAgICBtbWFwX2RvYywgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfZG9jKi8KICAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX3RyYXZlcnNlICovCiAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9jbGVhciAqLwpAQCAtMTAyMSwxMCArMTA0MywxMCBAQAogICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfZGVzY3JfZ2V0ICovCiAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9kZXNjcl9zZXQgKi8KICAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2RpY3RvZmZzZXQgKi8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfaW5pdCAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfaW5pdCAqLwogICAgIFB5VHlwZV9HZW5lcmljQWxsb2MsICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfYWxsb2MgKi8KICAgICBuZXdfbW1hcF9vYmplY3QsICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX25ldyAqLwotICAgIFB5T2JqZWN0X0RlbCwgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9mcmVlICovCisgICAgUHlPYmplY3RfRGVsLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9mcmVlICovCiB9OwogCiAKQEAgLTEwNzUsOCArMTA5Nyw4IEBACiAgICAgaW50IGRldnplcm8gPSAtMTsKICAgICBpbnQgYWNjZXNzID0gKGludClBQ0NFU1NfREVGQVVMVDsKICAgICBzdGF0aWMgY2hhciAqa2V5d29yZHNbXSA9IHsiZmlsZW5vIiwgImxlbmd0aCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImZsYWdzIiwgInByb3QiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhY2Nlc3MiLCAib2Zmc2V0IiwgTlVMTH07CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImZsYWdzIiwgInByb3QiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhY2Nlc3MiLCAib2Zmc2V0IiwgTlVMTH07CiAKICAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2RpY3QsICJpT3xpaWkiIF9QeV9QQVJTRV9PRkZfVCwga2V5d29yZHMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmZkLCAmbWFwX3NpemVfb2JqLCAmZmxhZ3MsICZwcm90LApAQCAtMTE4MSw3ICsxMjAzLDcgQEAKICAgICAgICAgZmQgPSBkZXZ6ZXJvID0gb3BlbigiL2Rldi96ZXJvIiwgT19SRFdSKTsKICAgICAgICAgaWYgKGRldnplcm8gPT0gLTEpIHsKICAgICAgICAgICAgIFB5X0RFQ1JFRihtX29iaik7Ci0gICAgICAgICAgICBQeUVycl9TZXRGcm9tRXJybm8obW1hcF9tb2R1bGVfZXJyb3IpOworICAgICAgICAgICAgUHlFcnJfU2V0RnJvbUVycm5vKFB5RXhjX09TRXJyb3IpOwogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgIH0KICNlbmRpZgpAQCAtMTE4OSw3ICsxMjExLDcgQEAKICAgICAgICAgbV9vYmotPmZkID0gZHVwKGZkKTsKICAgICAgICAgaWYgKG1fb2JqLT5mZCA9PSAtMSkgewogICAgICAgICAgICAgUHlfREVDUkVGKG1fb2JqKTsKLSAgICAgICAgICAgIFB5RXJyX1NldEZyb21FcnJubyhtbWFwX21vZHVsZV9lcnJvcik7CisgICAgICAgICAgICBQeUVycl9TZXRGcm9tRXJybm8oUHlFeGNfT1NFcnJvcik7CiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICAgICAgfQogICAgIH0KQEAgLTEyMDUsNyArMTIyNyw3IEBACiAgICAgaWYgKG1fb2JqLT5kYXRhID09IChjaGFyICopLTEpIHsKICAgICAgICAgbV9vYmotPmRhdGEgPSBOVUxMOwogICAgICAgICBQeV9ERUNSRUYobV9vYmopOwotICAgICAgICBQeUVycl9TZXRGcm9tRXJybm8obW1hcF9tb2R1bGVfZXJyb3IpOworICAgICAgICBQeUVycl9TZXRGcm9tRXJybm8oUHlFeGNfT1NFcnJvcik7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KICAgICBtX29iai0+YWNjZXNzID0gKGFjY2Vzc19tb2RlKWFjY2VzczsKQEAgLTEyMzgsOCArMTI2MCw4IEBACiAgICAgaW50IGFjY2VzcyA9IChhY2Nlc3NfbW9kZSlBQ0NFU1NfREVGQVVMVDsKICAgICBEV09SRCBmbFByb3RlY3QsIGR3RGVzaXJlZEFjY2VzczsKICAgICBzdGF0aWMgY2hhciAqa2V5d29yZHNbXSA9IHsgImZpbGVubyIsICJsZW5ndGgiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFnbmFtZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhY2Nlc3MiLCAib2Zmc2V0IiwgTlVMTCB9OworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGFnbmFtZSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhY2Nlc3MiLCAib2Zmc2V0IiwgTlVMTCB9OwogCiAgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dkaWN0LCAiaU98emlMIiwga2V5d29yZHMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmZpbGVubywgJm1hcF9zaXplX29iaiwKQEAgLTEyODYsMTIgKzEzMDgsMTIgQEAKICAgICBpZiAoZmlsZW5vICE9IC0xICYmIGZpbGVubyAhPSAwKSB7CiAgICAgICAgIC8qIEVuc3VyZSB0aGF0IGZpbGVubyBpcyB3aXRoaW4gdGhlIENSVCdzIHZhbGlkIHJhbmdlICovCiAgICAgICAgIGlmIChfUHlWZXJpZnlfZmQoZmlsZW5vKSA9PSAwKSB7Ci0gICAgICAgICAgICBQeUVycl9TZXRGcm9tRXJybm8obW1hcF9tb2R1bGVfZXJyb3IpOworICAgICAgICAgICAgUHlFcnJfU2V0RnJvbUVycm5vKFB5RXhjX09TRXJyb3IpOwogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgIH0KICAgICAgICAgZmggPSAoSEFORExFKV9nZXRfb3NmaGFuZGxlKGZpbGVubyk7CiAgICAgICAgIGlmIChmaD09KEhBTkRMRSktMSkgewotICAgICAgICAgICAgUHlFcnJfU2V0RnJvbUVycm5vKG1tYXBfbW9kdWxlX2Vycm9yKTsKKyAgICAgICAgICAgIFB5RXJyX1NldEZyb21FcnJubyhQeUV4Y19PU0Vycm9yKTsKICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICB9CiAgICAgICAgIC8qIFdpbjl4IGFwcGVhcnMgdG8gbmVlZCB1cyBzZWVrZWQgdG8gemVybyAqLwpAQCAtMTQ0NSwxMSArMTQ2Nyw3IEBACiAgICAgZGljdCA9IFB5TW9kdWxlX0dldERpY3QobW9kdWxlKTsKICAgICBpZiAoIWRpY3QpCiAgICAgICAgIHJldHVybiBOVUxMOwotICAgIG1tYXBfbW9kdWxlX2Vycm9yID0gUHlFcnJfTmV3RXhjZXB0aW9uKCJtbWFwLmVycm9yIiwKLSAgICAgICAgUHlFeGNfRW52aXJvbm1lbnRFcnJvciAsIE5VTEwpOwotICAgIGlmIChtbWFwX21vZHVsZV9lcnJvciA9PSBOVUxMKQotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBQeURpY3RfU2V0SXRlbVN0cmluZyhkaWN0LCAiZXJyb3IiLCBtbWFwX21vZHVsZV9lcnJvcik7CisgICAgUHlEaWN0X1NldEl0ZW1TdHJpbmcoZGljdCwgImVycm9yIiwgUHlFeGNfT1NFcnJvcik7CiAgICAgUHlEaWN0X1NldEl0ZW1TdHJpbmcoZGljdCwgIm1tYXAiLCAoUHlPYmplY3QqKSAmbW1hcF9vYmplY3RfdHlwZSk7CiAjaWZkZWYgUFJPVF9FWEVDCiAgICAgc2V0aW50KGRpY3QsICJQUk9UX0VYRUMiLCBQUk9UX0VYRUMpOwpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9uaXNtb2R1bGUuYyBiL01vZHVsZXMvbmlzbW9kdWxlLmMKaW5kZXggYTgxY2E4Yy4uMGFmNDk1ZiAxMDA2NDQKLS0tIGEvTW9kdWxlcy9uaXNtb2R1bGUuYworKysgYi9Nb2R1bGVzL25pc21vZHVsZS5jCkBAIC00MTEsNyArNDExLDcgQEAKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgaWYgKChsaXN0ID0gUHlMaXN0X05ldygwKSkgPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgZm9yIChtYXBzID0gbWFwczsgbWFwczsgbWFwcyA9IG1hcHMtPm5leHQpIHsKKyAgICBmb3IgKDsgbWFwczsgbWFwcyA9IG1hcHMtPm5leHQpIHsKICAgICAgICAgUHlPYmplY3QgKnN0ciA9IFB5VW5pY29kZV9Gcm9tU3RyaW5nKG1hcHMtPm1hcCk7CiAgICAgICAgIGlmICghc3RyIHx8IFB5TGlzdF9BcHBlbmQobGlzdCwgc3RyKSA8IDApCiAgICAgICAgIHsKZGlmZiAtLWdpdCBhL01vZHVsZXMvb3BlcmF0b3IuYyBiL01vZHVsZXMvb3BlcmF0b3IuYwppbmRleCA4NjZlYzNhLi4yZjQ3NTczIDEwMDY0NAotLS0gYS9Nb2R1bGVzL29wZXJhdG9yLmMKKysrIGIvTW9kdWxlcy9vcGVyYXRvci5jCkBAIC00MDIsNyArNDAyLDggQEAKICAgICBmb3IgKGlkeCA9IDA7IGlkeCA8IG5hdHRyczsgKytpZHgpIHsKICAgICAgICAgUHlPYmplY3QgKml0ZW0gPSBQeVR1cGxlX0dFVF9JVEVNKGFyZ3MsIGlkeCk7CiAgICAgICAgIFB5X3NzaXplX3QgaXRlbV9sZW47Ci0gICAgICAgIFB5X1VOSUNPREUgKml0ZW1fYnVmZmVyOworICAgICAgICB2b2lkICpkYXRhOworICAgICAgICB1bnNpZ25lZCBpbnQga2luZDsKICAgICAgICAgaW50IGRvdF9jb3VudDsKIAogICAgICAgICBpZiAoIVB5VW5pY29kZV9DaGVjayhpdGVtKSkgewpAQCAtNDExLDEzICs0MTIsMTggQEAKICAgICAgICAgICAgIFB5X0RFQ1JFRihhdHRyKTsKICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICB9Ci0gICAgICAgIGl0ZW1fbGVuID0gUHlVbmljb2RlX0dFVF9TSVpFKGl0ZW0pOwotICAgICAgICBpdGVtX2J1ZmZlciA9IFB5VW5pY29kZV9BU19VTklDT0RFKGl0ZW0pOworICAgICAgICBpZiAoUHlVbmljb2RlX1JFQURZKGl0ZW0pKSB7CisgICAgICAgICAgICBQeV9ERUNSRUYoYXR0cik7CisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgfQorICAgICAgICBpdGVtX2xlbiA9IFB5VW5pY29kZV9HRVRfTEVOR1RIKGl0ZW0pOworICAgICAgICBraW5kID0gUHlVbmljb2RlX0tJTkQoaXRlbSk7CisgICAgICAgIGRhdGEgPSBQeVVuaWNvZGVfREFUQShpdGVtKTsKIAogICAgICAgICAvKiBjaGVjayB3aGV0aGVyZSB0aGUgc3RyaW5nIGlzIGRvdHRlZCAqLwogICAgICAgICBkb3RfY291bnQgPSAwOwogICAgICAgICBmb3IgKGNoYXJfaWR4ID0gMDsgY2hhcl9pZHggPCBpdGVtX2xlbjsgKytjaGFyX2lkeCkgewotICAgICAgICAgICAgaWYgKGl0ZW1fYnVmZmVyW2NoYXJfaWR4XSA9PSAoUHlfVU5JQ09ERSknLicpCisgICAgICAgICAgICBpZiAoUHlVbmljb2RlX1JFQUQoa2luZCwgZGF0YSwgY2hhcl9pZHgpID09ICcuJykKICAgICAgICAgICAgICAgICArK2RvdF9jb3VudDsKICAgICAgICAgfQogCkBAIC00MzgsMTIgKzQ0NCwxMiBAQAogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBmb3IgKDsgZG90X2NvdW50ID4gMDsgLS1kb3RfY291bnQpIHsKLSAgICAgICAgICAgICAgICB3aGlsZSAoaXRlbV9idWZmZXJbdW5pYnVmZl90aWxsXSAhPSAoUHlfVU5JQ09ERSknLicpIHsKKyAgICAgICAgICAgICAgICB3aGlsZSAoUHlVbmljb2RlX1JFQUQoa2luZCwgZGF0YSwgdW5pYnVmZl90aWxsKSAhPSAnLicpIHsKICAgICAgICAgICAgICAgICAgICAgKyt1bmlidWZmX3RpbGw7CiAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGF0dHJfY2hhaW5faXRlbSA9IFB5VW5pY29kZV9Gcm9tVW5pY29kZSgKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbV9idWZmZXIgKyB1bmlidWZmX2Zyb20sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuaWJ1ZmZfdGlsbCAtIHVuaWJ1ZmZfZnJvbSk7CisgICAgICAgICAgICAgICAgYXR0cl9jaGFpbl9pdGVtID0gUHlVbmljb2RlX1N1YnN0cmluZyhpdGVtLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bmlidWZmX2Zyb20sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuaWJ1ZmZfdGlsbCk7CiAgICAgICAgICAgICAgICAgaWYgKGF0dHJfY2hhaW5faXRlbSA9PSBOVUxMKSB7CiAgICAgICAgICAgICAgICAgICAgIFB5X0RFQ1JFRihhdHRyX2NoYWluKTsKICAgICAgICAgICAgICAgICAgICAgUHlfREVDUkVGKGF0dHIpOwpAQCAtNDU2LDkgKzQ2Miw4IEBACiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIC8qIG5vdyBhZGQgdGhlIGxhc3QgZG90bGVzcyBuYW1lICovCi0gICAgICAgICAgICBhdHRyX2NoYWluX2l0ZW0gPSBQeVVuaWNvZGVfRnJvbVVuaWNvZGUoCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbV9idWZmZXIgKyB1bmlidWZmX2Zyb20sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbV9sZW4gLSB1bmlidWZmX2Zyb20pOworICAgICAgICAgICAgYXR0cl9jaGFpbl9pdGVtID0gUHlVbmljb2RlX1N1YnN0cmluZyhpdGVtLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bmlidWZmX2Zyb20sIGl0ZW1fbGVuKTsKICAgICAgICAgICAgIGlmIChhdHRyX2NoYWluX2l0ZW0gPT0gTlVMTCkgewogICAgICAgICAgICAgICAgIFB5X0RFQ1JFRihhdHRyX2NoYWluKTsKICAgICAgICAgICAgICAgICBQeV9ERUNSRUYoYXR0cik7CmRpZmYgLS1naXQgYS9Nb2R1bGVzL29zc2F1ZGlvZGV2LmMgYi9Nb2R1bGVzL29zc2F1ZGlvZGV2LmMKaW5kZXggYjM4Y2U1Mi4uYTE3YTY0NyAxMDA2NDQKLS0tIGEvTW9kdWxlcy9vc3NhdWRpb2Rldi5jCisrKyBiL01vZHVsZXMvb3NzYXVkaW9kZXYuYwpAQCAtMjE0LDYgKzIxNCwyMSBAQAogICogSGVscGVyIGZ1bmN0aW9ucwogICovCiAKKy8qIENoZWNrIGlmIGEgZ2l2ZW4gZmlsZSBkZXNjcmlwdG9yIGlzIHZhbGlkIChpLmUuIGhhc24ndCBiZWVuIGNsb3NlZCkuCisgKiBJZiB0cnVlLCByZXR1cm4gMS4gT3RoZXJ3aXNlLCByYWlzZSBWYWx1ZUVycm9yIGFuZCByZXR1cm4gMC4KKyAqLworc3RhdGljIGludCBfaXNfZmRfdmFsaWQoaW50IGZkKQoreworICAgIC8qIHRoZSBGRCBpcyBzZXQgdG8gLTEgaW4gb3NzX2Nsb3NlKCkvb3NzX21peGVyX2Nsb3NlKCkgKi8KKyAgICBpZiAoZmQgPj0gMCkgeworICAgICAgICByZXR1cm4gMTsKKyAgICB9IGVsc2UgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICJPcGVyYXRpb24gb24gY2xvc2VkIE9TUyBkZXZpY2UuIik7CisgICAgICAgIHJldHVybiAwOworICAgIH0KK30KKwogLyogX2RvX2lvY3RsXzEoKSBpcyBhIHByaXZhdGUgaGVscGVyIGZ1bmN0aW9uIHVzZWQgZm9yIHRoZSBPU1MgaW9jdGxzIC0tCiAgICBTTkRDVExfRFNQX3tTRVRGTVQsQ0hBTk5FTFMsU1BFRUR9IC0tIHRoYXQgdGhhdCBhcmUgY2FsbGVkIGZyb20gQwogICAgbGlrZSB0aGlzOgpAQCAtMzAxLDYgKzMxNiw5IEBACiBzdGF0aWMgUHlPYmplY3QgKgogb3NzX25vbmJsb2NrKG9zc19hdWRpb190ICpzZWxmLCBQeU9iamVjdCAqdW51c2VkKQogeworICAgIGlmICghX2lzX2ZkX3ZhbGlkKHNlbGYtPmZkKSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKICAgICAvKiBIbW1tOiBpdCBkb2Vzbid0IGFwcGVhciB0byBiZSBwb3NzaWJsZSB0byByZXR1cm4gdG8gYmxvY2tpbmcKICAgICAgICBtb2RlIG9uY2Ugd2UncmUgaW4gbm9uLWJsb2NraW5nIG1vZGUhICovCiAgICAgaWYgKGlvY3RsKHNlbGYtPmZkLCBTTkRDVExfRFNQX05PTkJMT0NLLCBOVUxMKSA9PSAtMSkKQEAgLTMxMiw2ICszMzAsOSBAQAogc3RhdGljIFB5T2JqZWN0ICoKIG9zc19zZXRmbXQob3NzX2F1ZGlvX3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQogeworICAgIGlmICghX2lzX2ZkX3ZhbGlkKHNlbGYtPmZkKSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKICAgICByZXR1cm4gX2RvX2lvY3RsXzEoc2VsZi0+ZmQsIGFyZ3MsICJzZXRmbXQiLCBTTkRDVExfRFNQX1NFVEZNVCk7CiB9CiAKQEAgLTMxOSw2ICszNDAsMTAgQEAKIG9zc19nZXRmbXRzKG9zc19hdWRpb190ICpzZWxmLCBQeU9iamVjdCAqdW51c2VkKQogewogICAgIGludCBtYXNrOworCisgICAgaWYgKCFfaXNfZmRfdmFsaWQoc2VsZi0+ZmQpKQorICAgICAgICByZXR1cm4gTlVMTDsKKwogICAgIGlmIChpb2N0bChzZWxmLT5mZCwgU05EQ1RMX0RTUF9HRVRGTVRTLCAmbWFzaykgPT0gLTEpCiAgICAgICAgIHJldHVybiBQeUVycl9TZXRGcm9tRXJybm8oUHlFeGNfSU9FcnJvcik7CiAgICAgcmV0dXJuIFB5TG9uZ19Gcm9tTG9uZyhtYXNrKTsKQEAgLTMyNywzMCArMzUyLDQ1IEBACiBzdGF0aWMgUHlPYmplY3QgKgogb3NzX2NoYW5uZWxzKG9zc19hdWRpb190ICpzZWxmLCBQeU9iamVjdCAqYXJncykKIHsKKyAgICBpZiAoIV9pc19mZF92YWxpZChzZWxmLT5mZCkpCisgICAgICAgIHJldHVybiBOVUxMOworCiAgICAgcmV0dXJuIF9kb19pb2N0bF8xKHNlbGYtPmZkLCBhcmdzLCAiY2hhbm5lbHMiLCBTTkRDVExfRFNQX0NIQU5ORUxTKTsKIH0KIAogc3RhdGljIFB5T2JqZWN0ICoKIG9zc19zcGVlZChvc3NfYXVkaW9fdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCiB7CisgICAgaWYgKCFfaXNfZmRfdmFsaWQoc2VsZi0+ZmQpKQorICAgICAgICByZXR1cm4gTlVMTDsKKwogICAgIHJldHVybiBfZG9faW9jdGxfMShzZWxmLT5mZCwgYXJncywgInNwZWVkIiwgU05EQ1RMX0RTUF9TUEVFRCk7CiB9CiAKIHN0YXRpYyBQeU9iamVjdCAqCiBvc3Nfc3luYyhvc3NfYXVkaW9fdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCiB7CisgICAgaWYgKCFfaXNfZmRfdmFsaWQoc2VsZi0+ZmQpKQorICAgICAgICByZXR1cm4gTlVMTDsKKwogICAgIHJldHVybiBfZG9faW9jdGxfMChzZWxmLT5mZCwgYXJncywgInN5bmMiLCBTTkRDVExfRFNQX1NZTkMpOwogfQogCiBzdGF0aWMgUHlPYmplY3QgKgogb3NzX3Jlc2V0KG9zc19hdWRpb190ICpzZWxmLCBQeU9iamVjdCAqYXJncykKIHsKKyAgICBpZiAoIV9pc19mZF92YWxpZChzZWxmLT5mZCkpCisgICAgICAgIHJldHVybiBOVUxMOworCiAgICAgcmV0dXJuIF9kb19pb2N0bF8wKHNlbGYtPmZkLCBhcmdzLCAicmVzZXQiLCBTTkRDVExfRFNQX1JFU0VUKTsKIH0KIAogc3RhdGljIFB5T2JqZWN0ICoKIG9zc19wb3N0KG9zc19hdWRpb190ICpzZWxmLCBQeU9iamVjdCAqYXJncykKIHsKKyAgICBpZiAoIV9pc19mZF92YWxpZChzZWxmLT5mZCkpCisgICAgICAgIHJldHVybiBOVUxMOworCiAgICAgcmV0dXJuIF9kb19pb2N0bF8wKHNlbGYtPmZkLCBhcmdzLCAicG9zdCIsIFNORENUTF9EU1BfUE9TVCk7CiB9CiAKQEAgLTM2NSw2ICs0MDUsOSBAQAogICAgIGNoYXIgKmNwOwogICAgIFB5T2JqZWN0ICpydjsKIAorICAgIGlmICghX2lzX2ZkX3ZhbGlkKHNlbGYtPmZkKSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKICAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgImk6cmVhZCIsICZzaXplKSkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgcnYgPSBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplKE5VTEwsIHNpemUpOwpAQCAtMzkyLDYgKzQzNSw5IEBACiAgICAgY2hhciAqY3A7CiAgICAgaW50IHJ2LCBzaXplOwogCisgICAgaWYgKCFfaXNfZmRfdmFsaWQoc2VsZi0+ZmQpKQorICAgICAgICByZXR1cm4gTlVMTDsKKwogICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAieSM6d3JpdGUiLCAmY3AsICZzaXplKSkgewogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CkBAIC00MjMsNiArNDY5LDkgQEAKICAgICAgICBtb2RlLCB0aGUgYmVoYXZpb3VyIG9mIHdyaXRlKCkgYW5kIHdyaXRlYWxsKCkgZnJvbSBQeXRob24gaXMKICAgICAgICBpbmRpc3Rpbmd1aXNoYWJsZS4gKi8KIAorICAgIGlmICghX2lzX2ZkX3ZhbGlkKHNlbGYtPmZkKSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKICAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgInkjOndyaXRlIiwgJmNwLCAmc2l6ZSkpCiAgICAgICAgIHJldHVybiBOVUxMOwogCkBAIC00ODIsMTAgKzUzMSwxMiBAQAogICAgIHJldHVybiBzZWxmOwogfQogCi1zdGF0aWMgUHlPYmplY3QgKiAKK3N0YXRpYyBQeU9iamVjdCAqCiBvc3NfZXhpdChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKnVudXNlZCkKIHsKLSAgICBQeU9iamVjdCAqcmV0ID0gUHlPYmplY3RfQ2FsbE1ldGhvZChzZWxmLCAiY2xvc2UiLCBOVUxMKTsKKyAgICBfUHlfSURFTlRJRklFUihjbG9zZSk7CisKKyAgICBQeU9iamVjdCAqcmV0ID0gX1B5T2JqZWN0X0NhbGxNZXRob2RJZChzZWxmLCAmUHlJZF9jbG9zZSwgTlVMTCk7CiAgICAgaWYgKCFyZXQpCiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIFB5X0RFQ1JFRihyZXQpOwpAQCAtNDk1LDYgKzU0Niw5IEBACiBzdGF0aWMgUHlPYmplY3QgKgogb3NzX2ZpbGVubyhvc3NfYXVkaW9fdCAqc2VsZiwgUHlPYmplY3QgKnVudXNlZCkKIHsKKyAgICBpZiAoIV9pc19mZF92YWxpZChzZWxmLT5mZCkpCisgICAgICAgIHJldHVybiBOVUxMOworCiAgICAgcmV0dXJuIFB5TG9uZ19Gcm9tTG9uZyhzZWxmLT5mZCk7CiB9CiAKQEAgLTUwOSw2ICs1NjMsOSBAQAogICAgIGludCBmbXQsIGNoYW5uZWxzLCByYXRlOwogICAgIFB5T2JqZWN0ICogcnY7ICAgICAgICAgICAgICAgICAgICAvKiByZXR1cm4gdHVwbGUgKGZtdCwgY2hhbm5lbHMsIHJhdGUpICovCiAKKyAgICBpZiAoIV9pc19mZF92YWxpZChzZWxmLT5mZCkpCisgICAgICAgIHJldHVybiBOVUxMOworCiAgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJpaWl8aTpzZXRwYXJhbWV0ZXJzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgJndhbnRlZF9mbXQsICZ3YW50ZWRfY2hhbm5lbHMsICZ3YW50ZWRfcmF0ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgJnN0cmljdCkpCkBAIC01OTksNiArNjU2LDkgQEAKICAgICBhdWRpb19idWZfaW5mbyBhaTsKICAgICBpbnQgbmNoYW5uZWxzPTAsIHNzaXplPTA7CiAKKyAgICBpZiAoIV9pc19mZF92YWxpZChzZWxmLT5mZCkpCisgICAgICAgIHJldHVybiBOVUxMOworCiAgICAgaWYgKF9zc2l6ZShzZWxmLCAmbmNoYW5uZWxzLCAmc3NpemUpIDwgMCB8fCAhbmNoYW5uZWxzIHx8ICFzc2l6ZSkgewogICAgICAgICBQeUVycl9TZXRGcm9tRXJybm8oUHlFeGNfSU9FcnJvcik7CiAgICAgICAgIHJldHVybiBOVUxMOwpAQCAtNjE4LDYgKzY3OCw5IEBACiAgICAgYXVkaW9fYnVmX2luZm8gYWk7CiAgICAgaW50IG5jaGFubmVscz0wLCBzc2l6ZT0wOwogCisgICAgaWYgKCFfaXNfZmRfdmFsaWQoc2VsZi0+ZmQpKQorICAgICAgICByZXR1cm4gTlVMTDsKKwogICAgIGlmIChfc3NpemUoc2VsZiwgJm5jaGFubmVscywgJnNzaXplKSA8IDAgfHwgIW5jaGFubmVscyB8fCAhc3NpemUpIHsKICAgICAgICAgUHlFcnJfU2V0RnJvbUVycm5vKFB5RXhjX0lPRXJyb3IpOwogICAgICAgICByZXR1cm4gTlVMTDsKQEAgLTYzOCw2ICs3MDEsOSBAQAogICAgIGF1ZGlvX2J1Zl9pbmZvIGFpOwogICAgIGludCBuY2hhbm5lbHM9MCwgc3NpemU9MDsKIAorICAgIGlmICghX2lzX2ZkX3ZhbGlkKHNlbGYtPmZkKSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKICAgICBpZiAoX3NzaXplKHNlbGYsICZuY2hhbm5lbHMsICZzc2l6ZSkgPCAwIHx8ICFuY2hhbm5lbHMgfHwgIXNzaXplKSB7CiAgICAgICAgIFB5RXJyX1NldEZyb21FcnJubyhQeUV4Y19JT0Vycm9yKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CkBAIC02NTUsNiArNzIxLDkgQEAKICAgICBjb3VudF9pbmZvIGluZm87CiAgICAgaW50IHJlcTsKIAorICAgIGlmICghX2lzX2ZkX3ZhbGlkKHNlbGYtPmZkKSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKICAgICBpZiAoc2VsZi0+bW9kZSA9PSBPX1JET05MWSkKICAgICAgICAgcmVxID0gU05EQ1RMX0RTUF9HRVRJUFRSOwogICAgIGVsc2UKQEAgLTY4NSw2ICs3NTQsOSBAQAogc3RhdGljIFB5T2JqZWN0ICoKIG9zc19taXhlcl9maWxlbm8ob3NzX21peGVyX3QgKnNlbGYsIFB5T2JqZWN0ICp1bnVzZWQpCiB7CisgICAgaWYgKCFfaXNfZmRfdmFsaWQoc2VsZi0+ZmQpKQorICAgICAgICByZXR1cm4gTlVMTDsKKwogICAgIHJldHVybiBQeUxvbmdfRnJvbUxvbmcoc2VsZi0+ZmQpOwogfQogCkBAIC02OTMsNiArNzY1LDkgQEAKIHN0YXRpYyBQeU9iamVjdCAqCiBvc3NfbWl4ZXJfY29udHJvbHMob3NzX21peGVyX3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQogeworICAgIGlmICghX2lzX2ZkX3ZhbGlkKHNlbGYtPmZkKSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKICAgICByZXR1cm4gX2RvX2lvY3RsXzFfaW50ZXJuYWwoc2VsZi0+ZmQsIGFyZ3MsICJjb250cm9scyIsCiAgICAgICAgIFNPVU5EX01JWEVSX1JFQURfREVWTUFTSyk7CiB9CkBAIC03MDAsNiArNzc1LDkgQEAKIHN0YXRpYyBQeU9iamVjdCAqCiBvc3NfbWl4ZXJfc3RlcmVvY29udHJvbHMob3NzX21peGVyX3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQogeworICAgIGlmICghX2lzX2ZkX3ZhbGlkKHNlbGYtPmZkKSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKICAgICByZXR1cm4gX2RvX2lvY3RsXzFfaW50ZXJuYWwoc2VsZi0+ZmQsIGFyZ3MsICJzdGVyZW9jb250cm9scyIsCiAgICAgICAgIFNPVU5EX01JWEVSX1JFQURfU1RFUkVPREVWUyk7CiB9CkBAIC03MDcsNiArNzg1LDkgQEAKIHN0YXRpYyBQeU9iamVjdCAqCiBvc3NfbWl4ZXJfcmVjY29udHJvbHMob3NzX21peGVyX3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQogeworICAgIGlmICghX2lzX2ZkX3ZhbGlkKHNlbGYtPmZkKSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKICAgICByZXR1cm4gX2RvX2lvY3RsXzFfaW50ZXJuYWwoc2VsZi0+ZmQsIGFyZ3MsICJyZWNjb250cm9scyIsCiAgICAgICAgIFNPVU5EX01JWEVSX1JFQURfUkVDTUFTSyk7CiB9CkBAIC03MTYsNiArNzk3LDkgQEAKIHsKICAgICBpbnQgY2hhbm5lbCwgdm9sdW1lOwogCisgICAgaWYgKCFfaXNfZmRfdmFsaWQoc2VsZi0+ZmQpKQorICAgICAgICByZXR1cm4gTlVMTDsKKwogICAgIC8qIENhbid0IHVzZSBfZG9faW9jdGxfMSBiZWNhdXNlIG9mIGVuY29kZWQgYXJnIHRoaW5neS4gKi8KICAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgImk6Z2V0IiwgJmNoYW5uZWwpKQogICAgICAgICByZXR1cm4gTlVMTDsKQEAgLTczNiw2ICs4MjAsOSBAQAogewogICAgIGludCBjaGFubmVsLCB2b2x1bWUsIGxlZnRWb2wsIHJpZ2h0Vm9sOwogCisgICAgaWYgKCFfaXNfZmRfdmFsaWQoc2VsZi0+ZmQpKQorICAgICAgICByZXR1cm4gTlVMTDsKKwogICAgIC8qIENhbid0IHVzZSBfZG9faW9jdGxfMSBiZWNhdXNlIG9mIGVuY29kZWQgYXJnIHRoaW5neS4gKi8KICAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgImkoaWkpOnNldCIsICZjaGFubmVsLCAmbGVmdFZvbCwgJnJpZ2h0Vm9sKSkKICAgICAgICAgcmV0dXJuIE5VTEw7CkBAIC03NjEsNiArODQ4LDkgQEAKIHN0YXRpYyBQeU9iamVjdCAqCiBvc3NfbWl4ZXJfZ2V0X3JlY3NyYyhvc3NfbWl4ZXJfdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCiB7CisgICAgaWYgKCFfaXNfZmRfdmFsaWQoc2VsZi0+ZmQpKQorICAgICAgICByZXR1cm4gTlVMTDsKKwogICAgIHJldHVybiBfZG9faW9jdGxfMV9pbnRlcm5hbChzZWxmLT5mZCwgYXJncywgImdldF9yZWNzcmMiLAogICAgICAgICBTT1VORF9NSVhFUl9SRUFEX1JFQ1NSQyk7CiB9CkBAIC03NjgsNiArODU4LDkgQEAKIHN0YXRpYyBQeU9iamVjdCAqCiBvc3NfbWl4ZXJfc2V0X3JlY3NyYyhvc3NfbWl4ZXJfdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCiB7CisgICAgaWYgKCFfaXNfZmRfdmFsaWQoc2VsZi0+ZmQpKQorICAgICAgICByZXR1cm4gTlVMTDsKKwogICAgIHJldHVybiBfZG9faW9jdGxfMShzZWxmLT5mZCwgYXJncywgInNldF9yZWNzcmMiLAogICAgICAgICBTT1VORF9NSVhFUl9XUklURV9SRUNTUkMpOwogfQpAQCAtOTcxLDggKzEwNjQsOCBAQAogICAgIGludCBudW1fY29udHJvbHM7CiAgICAgaW50IGk7CiAKLSAgICBudW1fY29udHJvbHMgPSBzaXplb2YoY29udHJvbF9sYWJlbHMpIC8gc2l6ZW9mKGNvbnRyb2xfbGFiZWxzWzBdKTsKLSAgICBhc3NlcnQobnVtX2NvbnRyb2xzID09IHNpemVvZihjb250cm9sX25hbWVzKSAvIHNpemVvZihjb250cm9sX25hbWVzWzBdKSk7CisgICAgbnVtX2NvbnRyb2xzID0gUHlfQVJSQVlfTEVOR1RIKGNvbnRyb2xfbGFiZWxzKTsKKyAgICBhc3NlcnQobnVtX2NvbnRyb2xzID09IFB5X0FSUkFZX0xFTkdUSChjb250cm9sX25hbWVzKSk7CiAKICAgICBsYWJlbHMgPSBQeUxpc3RfTmV3KG51bV9jb250cm9scyk7CiAgICAgbmFtZXMgPSBQeUxpc3RfTmV3KG51bV9jb250cm9scyk7CmRpZmYgLS1naXQgYS9Nb2R1bGVzL3BhcnNlcm1vZHVsZS5jIGIvTW9kdWxlcy9wYXJzZXJtb2R1bGUuYwppbmRleCAzY2RmMTM1Li45ZDFiY2E1IDEwMDY0NAotLS0gYS9Nb2R1bGVzL3BhcnNlcm1vZHVsZS5jCisrKyBiL01vZHVsZXMvcGFyc2VybW9kdWxlLmMKQEAgLTI5OCwyNSArMjk4LDI1IEBACiAKICAgICAvKiBDb252ZXJ0IHJldHVybiB2YWx1ZSB0byBhIEJvb2xlYW4gKi8KICAgICBzd2l0Y2ggKG9wKSB7Ci0gICAgY2FzZSBQeV9FUToKKyAgICAgIGNhc2UgUHlfRVE6CiAgICAgICAgIHYgPSBURVNUX0NPTkQocmVzdWx0ID09IDApOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIFB5X05FOgorICAgICAgY2FzZSBQeV9ORToKICAgICAgICAgdiA9IFRFU1RfQ09ORChyZXN1bHQgIT0gMCk7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgUHlfTEU6CisgICAgICBjYXNlIFB5X0xFOgogICAgICAgICB2ID0gVEVTVF9DT05EKHJlc3VsdCA8PSAwKTsKICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBQeV9HRToKKyAgICAgIGNhc2UgUHlfR0U6CiAgICAgICAgIHYgPSBURVNUX0NPTkQocmVzdWx0ID49IDApOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIFB5X0xUOgorICAgICAgY2FzZSBQeV9MVDoKICAgICAgICAgdiA9IFRFU1RfQ09ORChyZXN1bHQgPCAwKTsKICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBQeV9HVDoKKyAgICAgIGNhc2UgUHlfR1Q6CiAgICAgICAgIHYgPSBURVNUX0NPTkQocmVzdWx0ID4gMCk7CiAgICAgICAgIGJyZWFrOwotICAgIGRlZmF1bHQ6CisgICAgICBkZWZhdWx0OgogICAgICAgICBQeUVycl9CYWRBcmd1bWVudCgpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CkBAIC01ODEsOCArNTgxLDEwIEBACiAgICAgICAgICAgICBpZiAocmVzKQogICAgICAgICAgICAgICAgICgoUHlTVF9PYmplY3QgKilyZXMpLT5zdF9mbGFncy5jZl9mbGFncyA9IGZsYWdzICYgUHlDRl9NQVNLOwogICAgICAgICB9Ci0gICAgICAgIGVsc2UKKyAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICBQeVBhcnNlcl9TZXRFcnJvcigmZXJyKTsKKyAgICAgICAgfQorICAgICAgICBQeVBhcnNlcl9DbGVhckVycm9yKCZlcnIpOwogICAgIH0KICAgICByZXR1cm4gKHJlcyk7CiB9CkBAIC05NzQsNiArOTc2LDcgQEAKIFZBTElEQVRFUih0ZXN0bGlzdF9jb21wKTsgICAgICAgVkFMSURBVEVSKHlpZWxkX2V4cHIpOwogVkFMSURBVEVSKG9yX3Rlc3QpOwogVkFMSURBVEVSKHRlc3Rfbm9jb25kKTsgICAgICAgICBWQUxJREFURVIobGFtYmRlZl9ub2NvbmQpOworVkFMSURBVEVSKHlpZWxkX2FyZyk7CiAKICN1bmRlZiBWQUxJREFURVIKIApAQCAtMTYzNCwyMiArMTYzNyw0OSBAQAogfQogCiAKLS8qIHlpZWxkX2V4cHI6ICd5aWVsZCcgW3Rlc3RsaXN0XQorLyogeWllbGRfZXhwcjogJ3lpZWxkJyBbeWllbGRfYXJnXQogICovCiBzdGF0aWMgaW50CiB2YWxpZGF0ZV95aWVsZF9leHByKG5vZGUgKnRyZWUpCiB7CiAgICAgaW50IG5jaCA9IE5DSCh0cmVlKTsKLSAgICBpbnQgcmVzID0gKHZhbGlkYXRlX250eXBlKHRyZWUsIHlpZWxkX2V4cHIpCi0gICAgICAgICAgICAgICAmJiAoKG5jaCA9PSAxKSB8fCAobmNoID09IDIpKQotICAgICAgICAgICAgICAgJiYgdmFsaWRhdGVfbmFtZShDSElMRCh0cmVlLCAwKSwgInlpZWxkIikpOwotCi0gICAgaWYgKHJlcyAmJiAobmNoID09IDIpKQotICAgICAgICByZXMgPSB2YWxpZGF0ZV90ZXN0bGlzdChDSElMRCh0cmVlLCAxKSk7Ci0KLSAgICByZXR1cm4gKHJlcyk7CisgICAgaWYgKG5jaCA8IDEgfHwgbmNoID4gMikKKyAgICAgICAgcmV0dXJuIDA7CisgICAgaWYgKCF2YWxpZGF0ZV9udHlwZSh0cmVlLCB5aWVsZF9leHByKSkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgaWYgKCF2YWxpZGF0ZV9uYW1lKENISUxEKHRyZWUsIDApLCAieWllbGQiKSkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgaWYgKG5jaCA9PSAyKSB7CisgICAgICAgIGlmICghdmFsaWRhdGVfeWllbGRfYXJnKENISUxEKHRyZWUsIDEpKSkKKyAgICAgICAgICAgIHJldHVybiAwOworICAgIH0KKyAgICByZXR1cm4gMTsKIH0KIAorLyogeWllbGRfYXJnOiAnZnJvbScgdGVzdCB8IHRlc3RsaXN0CisgKi8KK3N0YXRpYyBpbnQKK3ZhbGlkYXRlX3lpZWxkX2FyZyhub2RlICp0cmVlKQoreworICAgIGludCBuY2ggPSBOQ0godHJlZSk7CisgICAgaWYgKCF2YWxpZGF0ZV9udHlwZSh0cmVlLCB5aWVsZF9hcmcpKQorICAgICAgICByZXR1cm4gMDsKKyAgICBzd2l0Y2ggKG5jaCkgeworICAgICAgY2FzZSAxOgorICAgICAgICBpZiAoIXZhbGlkYXRlX3Rlc3RsaXN0KENISUxEKHRyZWUsIG5jaCAtIDEpKSkKKyAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICBicmVhazsKKyAgICAgIGNhc2UgMjoKKyAgICAgICAgaWYgKCF2YWxpZGF0ZV9uYW1lKENISUxEKHRyZWUsIDApLCAiZnJvbSIpKQorICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIGlmICghdmFsaWRhdGVfdGVzdChDSElMRCh0cmVlLCAxKSkpCisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgYnJlYWs7CisgICAgICBkZWZhdWx0OgorICAgICAgICByZXR1cm4gMDsKKyAgICB9CisgICAgcmV0dXJuIDE7Cit9CiAKIC8qIHlpZWxkX3N0bXQ6IHlpZWxkX2V4cHIKICAqLwpAQCAtMjExOCwxNiArMjE0OCwxNiBAQAogICAgICAgICAgKi8KICAgICAgICAgdHJlZSA9IENISUxEKHRyZWUsIDApOwogICAgICAgICBzd2l0Y2ggKFRZUEUodHJlZSkpIHsKLSAgICAgICAgICAgIGNhc2UgTEVTUzoKLSAgICAgICAgICAgIGNhc2UgR1JFQVRFUjoKLSAgICAgICAgICAgIGNhc2UgRVFFUVVBTDoKLSAgICAgICAgICAgIGNhc2UgRVFVQUw6Ci0gICAgICAgICAgICBjYXNlIExFU1NFUVVBTDoKLSAgICAgICAgICAgIGNhc2UgR1JFQVRFUkVRVUFMOgotICAgICAgICAgICAgY2FzZSBOT1RFUVVBTDoKKyAgICAgICAgICBjYXNlIExFU1M6CisgICAgICAgICAgY2FzZSBHUkVBVEVSOgorICAgICAgICAgIGNhc2UgRVFFUVVBTDoKKyAgICAgICAgICBjYXNlIEVRVUFMOgorICAgICAgICAgIGNhc2UgTEVTU0VRVUFMOgorICAgICAgICAgIGNhc2UgR1JFQVRFUkVRVUFMOgorICAgICAgICAgIGNhc2UgTk9URVFVQUw6CiAgICAgICAgICAgICAgIHJlcyA9IDE7CiAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSBOQU1FOgorICAgICAgICAgIGNhc2UgTkFNRToKICAgICAgICAgICAgICAgcmVzID0gKChzdHJjbXAoU1RSKHRyZWUpLCAiaW4iKSA9PSAwKQogICAgICAgICAgICAgICAgICAgICAgfHwgKHN0cmNtcChTVFIodHJlZSksICJpcyIpID09IDApKTsKICAgICAgICAgICAgICAgaWYgKCFyZXMpIHsKQEAgLTI2NjMsOSArMjY5Myw5IEBACiB7CiAgICAgaW50IG5jaCA9IE5DSCh0cmVlKTsKICAgICBpbnQgcmVzID0gKHZhbGlkYXRlX250eXBlKHRyZWUsIGFyZ3VtZW50KQotICAgICAgICAgICAgICAgJiYgKChuY2ggPT0gMSkgfHwgKG5jaCA9PSAyKSB8fCAobmNoID09IDMpKQotICAgICAgICAgICAgICAgJiYgdmFsaWRhdGVfdGVzdChDSElMRCh0cmVlLCAwKSkpOwotCisgICAgICAgICAgICAgICAmJiAoKG5jaCA9PSAxKSB8fCAobmNoID09IDIpIHx8IChuY2ggPT0gMykpKTsKKyAgICBpZiAocmVzKSAKKyAgICAgICAgcmVzID0gdmFsaWRhdGVfdGVzdChDSElMRCh0cmVlLCAwKSk7CiAgICAgaWYgKHJlcyAmJiAobmNoID09IDIpKQogICAgICAgICByZXMgPSB2YWxpZGF0ZV9jb21wX2ZvcihDSElMRCh0cmVlLCAxKSk7CiAgICAgZWxzZSBpZiAocmVzICYmIChuY2ggPT0gMykpCkBAIC0zMjM5LDEwICszMjY5LDEzIEBACiAgICAgY29weXJlZyA9IFB5SW1wb3J0X0ltcG9ydE1vZHVsZU5vQmxvY2soImNvcHlyZWciKTsKICAgICBpZiAoY29weXJlZyAhPSBOVUxMKSB7CiAgICAgICAgIFB5T2JqZWN0ICpmdW5jLCAqcGlja2xlcjsKKyAgICAgICAgX1B5X0lERU5USUZJRVIocGlja2xlKTsKKyAgICAgICAgX1B5X0lERU5USUZJRVIoc2VxdWVuY2Uyc3QpOworICAgICAgICBfUHlfSURFTlRJRklFUihfcGlja2xlcik7CiAKLSAgICAgICAgZnVuYyA9IFB5T2JqZWN0X0dldEF0dHJTdHJpbmcoY29weXJlZywgInBpY2tsZSIpOwotICAgICAgICBwaWNrbGVfY29uc3RydWN0b3IgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKG1vZHVsZSwgInNlcXVlbmNlMnN0Iik7Ci0gICAgICAgIHBpY2tsZXIgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKG1vZHVsZSwgIl9waWNrbGVyIik7CisgICAgICAgIGZ1bmMgPSBfUHlPYmplY3RfR2V0QXR0cklkKGNvcHlyZWcsICZQeUlkX3BpY2tsZSk7CisgICAgICAgIHBpY2tsZV9jb25zdHJ1Y3RvciA9IF9QeU9iamVjdF9HZXRBdHRySWQobW9kdWxlLCAmUHlJZF9zZXF1ZW5jZTJzdCk7CisgICAgICAgIHBpY2tsZXIgPSBfUHlPYmplY3RfR2V0QXR0cklkKG1vZHVsZSwgJlB5SWRfX3BpY2tsZXIpOwogICAgICAgICBQeV9YSU5DUkVGKHBpY2tsZV9jb25zdHJ1Y3Rvcik7CiAgICAgICAgIGlmICgoZnVuYyAhPSBOVUxMKSAmJiAocGlja2xlX2NvbnN0cnVjdG9yICE9IE5VTEwpCiAgICAgICAgICAgICAmJiAocGlja2xlciAhPSBOVUxMKSkgewpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9wb3NpeG1vZHVsZS5jIGIvTW9kdWxlcy9wb3NpeG1vZHVsZS5jCmluZGV4IDlmNTc2NzMuLjAzYjNiOTUgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvcG9zaXhtb2R1bGUuYworKysgYi9Nb2R1bGVzL3Bvc2l4bW9kdWxlLmMKQEAgLTI4LDYgKzI4LDcgQEAKICNpbmNsdWRlICJQeXRob24uaCIKIAogI2lmIGRlZmluZWQoX19WTVMpCisjICAgIGVycm9yICJQRVAgMTE6IFZNUyBpcyBub3cgdW5zdXBwb3J0ZWQsIGNvZGUgd2lsbCBiZSByZW1vdmVkIGluIFB5dGhvbiAzLjQiCiAjICAgIGluY2x1ZGUgPHVuaXhpby5oPgogI2VuZGlmIC8qIGRlZmluZWQoX19WTVMpICovCiAKQEAgLTQzLDYgKzQ0LDcgQEAKIAogCiAjaWYgZGVmaW5lZChQWU9TX09TMikKKyNlcnJvciAiUEVQIDExOiBPUy8yIGlzIG5vdyB1bnN1cHBvcnRlZCwgY29kZSB3aWxsIGJlIHJlbW92ZWQgaW4gUHl0aG9uIDMuNCIKICNkZWZpbmUgIElOQ0xfRE9TCiAjZGVmaW5lICBJTkNMX0RPU0VSUk9SUwogI2RlZmluZSAgSU5DTF9ET1NQUk9DRVNTCkBAIC01Nyw2ICs1OSwxMCBAQAogI2luY2x1ZGUgIm9zZGVmcy5oIgogI2VuZGlmCiAKKyNpZmRlZiBIQVZFX1NZU19VSU9fSAorI2luY2x1ZGUgPHN5cy91aW8uaD4KKyNlbmRpZgorCiAjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAogI2luY2x1ZGUgPHN5cy90eXBlcy5oPgogI2VuZGlmIC8qIEhBVkVfU1lTX1RZUEVTX0ggKi8KQEAgLTkzLDYgKzk5LDQ4IEBACiAjaW5jbHVkZSA8bGFuZ2luZm8uaD4KICNlbmRpZgogCisjaWZkZWYgSEFWRV9TWVNfU0VOREZJTEVfSAorI2luY2x1ZGUgPHN5cy9zZW5kZmlsZS5oPgorI2VuZGlmCisKKyNpZmRlZiBIQVZFX1NDSEVEX0gKKyNpbmNsdWRlIDxzY2hlZC5oPgorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChDUFVfQUxMT0MpICYmIGRlZmluZWQoSEFWRV9TQ0hFRF9TRVRBRkZJTklUWSkKKyN1bmRlZiBIQVZFX1NDSEVEX1NFVEFGRklOSVRZCisjZW5kaWYKKworI2lmIGRlZmluZWQoSEFWRV9TWVNfWEFUVFJfSCkgJiYgZGVmaW5lZChfX0dMSUJDX18pCisjZGVmaW5lIFVTRV9YQVRUUlMKKyNlbmRpZgorCisjaWZkZWYgVVNFX1hBVFRSUworI2luY2x1ZGUgPHN5cy94YXR0ci5oPgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKF9fRnJlZUJTRF9fKSB8fCBkZWZpbmVkKF9fRHJhZ29uRmx5X18pIHx8IGRlZmluZWQoX19BUFBMRV9fKQorI2lmZGVmIEhBVkVfU1lTX1NPQ0tFVF9ICisjaW5jbHVkZSA8c3lzL3NvY2tldC5oPgorI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIEhBVkVfRExGQ05fSAorI2luY2x1ZGUgPGRsZmNuLmg+CisjZW5kaWYKKworI2lmIGRlZmluZWQoTVNfV0lORE9XUykKKyMgIGRlZmluZSBURVJNU0laRV9VU0VfQ09OSU8KKyNlbGlmIGRlZmluZWQoSEFWRV9TWVNfSU9DVExfSCkKKyMgIGluY2x1ZGUgPHN5cy9pb2N0bC5oPgorIyAgaWYgZGVmaW5lZChIQVZFX1RFUk1JT1NfSCkKKyMgICAgaW5jbHVkZSA8dGVybWlvcy5oPgorIyAgZW5kaWYKKyMgIGlmIGRlZmluZWQoVElPQ0dXSU5TWikKKyMgICAgZGVmaW5lIFRFUk1TSVpFX1VTRV9JT0NUTAorIyAgZW5kaWYKKyNlbmRpZiAvKiBNU19XSU5ET1dTICovCisKIC8qIFZhcmlvdXMgY29tcGlsZXJzIGhhdmUgb25seSBjZXJ0YWluIHBvc2l4IGZ1bmN0aW9ucyAqLwogLyogWFhYIEdvc2ggSSB3aXNoIHRoZXNlIHdlcmUgYWxsIG1vdmVkIGludG8gcHljb25maWcuaCAqLwogI2lmIGRlZmluZWQoUFlDQ19WQUNQUCkgJiYgZGVmaW5lZChQWU9TX09TMikKQEAgLTE1NSw2ICsyMDMsOSBAQAogI2VuZGlmICAvKiAhIF9fV0FUQ09NQ19fIHx8IF9fUU5YX18gKi8KICNlbmRpZiAvKiAhIF9fSUJNQ19fICovCiAKKworCisKICNpZm5kZWYgX01TQ19WRVIKIAogI2lmIGRlZmluZWQoX19zZ2kpJiZfQ09NUElMRVJfVkVSU0lPTj49NzAwCkBAIC0zNDcsNiArMzk4LDIyIEBACiAjZW5kaWYKICNlbmRpZgogCisvKiBBIGhlbHBlciB1c2VkIGJ5IGEgbnVtYmVyIG9mIFBPU0lYLW9ubHkgZnVuY3Rpb25zICovCisjaWZuZGVmIE1TX1dJTkRPV1MKK3N0YXRpYyBpbnQKK19wYXJzZV9vZmZfdChQeU9iamVjdCogYXJnLCB2b2lkKiBhZGRyKQoreworI2lmICFkZWZpbmVkKEhBVkVfTEFSR0VGSUxFX1NVUFBPUlQpCisgICAgKigob2ZmX3QqKWFkZHIpID0gUHlMb25nX0FzTG9uZyhhcmcpOworI2Vsc2UKKyAgICAqKChvZmZfdCopYWRkcikgPSBQeUxvbmdfQXNMb25nTG9uZyhhcmcpOworI2VuZGlmCisgICAgaWYgKFB5RXJyX09jY3VycmVkKCkpCisgICAgICAgIHJldHVybiAwOworICAgIHJldHVybiAxOworfQorI2VuZGlmCisKICNpZiBkZWZpbmVkIF9NU0NfVkVSICYmIF9NU0NfVkVSID49IDE0MDAKIC8qIE1pY3Jvc29mdCBDUlQgaW4gVlMyMDA1IGFuZCBoaWdoZXIgd2lsbCB2ZXJpZnkgdGhhdCBhIGZpbGVoYW5kbGUgaXMKICAqIHZhbGlkIGFuZCB0aHJvdyBhbiBhc3NlcnRpb24gaWYgaXQgaXNuJ3QuCkBAIC00OTgsNiArNTY1LDM0IEBACiAKICAgICByZXR1cm4gVFJVRTsKIH0KKworc3RhdGljIGludAord2luMzJfd2Fybl9ieXRlc19hcGkoKQoreworICAgIHJldHVybiBQeUVycl9XYXJuRXgoUHlFeGNfRGVwcmVjYXRpb25XYXJuaW5nLAorICAgICAgICAiVGhlIFdpbmRvd3MgYnl0ZXMgQVBJIGhhcyBiZWVuIGRlcHJlY2F0ZWQsICIKKyAgICAgICAgInVzZSBVbmljb2RlIGZpbGVuYW1lcyBpbnN0ZWFkIiwKKyAgICAgICAgMSk7Cit9CisKK3N0YXRpYyBQeU9iamVjdCoKK3dpbjMyX2RlY29kZV9maWxlbmFtZShQeU9iamVjdCAqb2JqKQoreworICAgIFB5T2JqZWN0ICp1bmljb2RlOworICAgIGlmIChQeVVuaWNvZGVfQ2hlY2sob2JqKSkgeworICAgICAgICBpZiAoUHlVbmljb2RlX1JFQURZKG9iaikpCisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgUHlfSU5DUkVGKG9iaik7CisgICAgICAgIHJldHVybiBvYmo7CisgICAgfQorICAgIGlmICghUHlVbmljb2RlX0ZTRGVjb2RlcihvYmosICZ1bmljb2RlKSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgaWYgKHdpbjMyX3dhcm5fYnl0ZXNfYXBpKCkpIHsKKyAgICAgICAgUHlfREVDUkVGKHVuaWNvZGUpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisgICAgcmV0dXJuIHVuaWNvZGU7Cit9CiAjZW5kaWYgLyogTVNfV0lORE9XUyAqLwogCiAvKiBSZXR1cm4gYSBkaWN0aW9uYXJ5IGNvcnJlc3BvbmRpbmcgdG8gdGhlIFBPU0lYIGVudmlyb25tZW50IHRhYmxlICovCkBAIC02NTMsNyArNzQ4LDcgQEAKIH0KIAogc3RhdGljIFB5T2JqZWN0ICoKLXdpbjMyX2Vycm9yX3VuaWNvZGUoY2hhciogZnVuY3Rpb24sIFB5X1VOSUNPREUqIGZpbGVuYW1lKQord2luMzJfZXJyb3JfdW5pY29kZShjaGFyKiBmdW5jdGlvbiwgd2NoYXJfdCogZmlsZW5hbWUpCiB7CiAgICAgLyogWFhYIC0gc2VlIHdpbjMyX2Vycm9yIGZvciBjb21tZW50cyBvbiAnZnVuY3Rpb24nICovCiAgICAgZXJybm8gPSBHZXRMYXN0RXJyb3IoKTsKQEAgLTY2MywyMSArNzU4LDE4IEBACiAgICAgICAgIHJldHVybiBQeUVycl9TZXRGcm9tV2luZG93c0VycihlcnJubyk7CiB9CiAKLXN0YXRpYyBpbnQKLWNvbnZlcnRfdG9fdW5pY29kZShQeU9iamVjdCAqKnBhcmFtKQorc3RhdGljIFB5T2JqZWN0ICoKK3dpbjMyX2Vycm9yX29iamVjdChjaGFyKiBmdW5jdGlvbiwgUHlPYmplY3QqIGZpbGVuYW1lKQogewotICAgIGlmIChQeVVuaWNvZGVfQ2hlY2tFeGFjdCgqcGFyYW0pKQotICAgICAgICBQeV9JTkNSRUYoKnBhcmFtKTsKLSAgICBlbHNlIGlmIChQeVVuaWNvZGVfQ2hlY2soKnBhcmFtKSkKLSAgICAgICAgLyogRm9yIGEgVW5pY29kZSBzdWJ0eXBlIHRoYXQncyBub3QgYSBVbmljb2RlIG9iamVjdCwKLSAgICAgICAgICAgcmV0dXJuIGEgdHJ1ZSBVbmljb2RlIG9iamVjdCB3aXRoIHRoZSBzYW1lIGRhdGEuICovCi0gICAgICAgICpwYXJhbSA9IFB5VW5pY29kZV9Gcm9tVW5pY29kZShQeVVuaWNvZGVfQVNfVU5JQ09ERSgqcGFyYW0pLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0dFVF9TSVpFKCpwYXJhbSkpOworICAgIC8qIFhYWCAtIHNlZSB3aW4zMl9lcnJvciBmb3IgY29tbWVudHMgb24gJ2Z1bmN0aW9uJyAqLworICAgIGVycm5vID0gR2V0TGFzdEVycm9yKCk7CisgICAgaWYgKGZpbGVuYW1lKQorICAgICAgICByZXR1cm4gUHlFcnJfU2V0RXhjRnJvbVdpbmRvd3NFcnJXaXRoRmlsZW5hbWVPYmplY3QoCisgICAgICAgICAgICAgICAgICAgIFB5RXhjX1dpbmRvd3NFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgZXJybm8sCisgICAgICAgICAgICAgICAgICAgIGZpbGVuYW1lKTsKICAgICBlbHNlCi0gICAgICAgICpwYXJhbSA9IFB5VW5pY29kZV9Gcm9tRW5jb2RlZE9iamVjdCgqcGFyYW0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeV9GaWxlU3lzdGVtRGVmYXVsdEVuY29kaW5nLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInN0cmljdCIpOwotICAgIHJldHVybiAoKnBhcmFtKSAhPSBOVUxMOworICAgICAgICByZXR1cm4gUHlFcnJfU2V0RnJvbVdpbmRvd3NFcnIoZXJybm8pOwogfQogCiAjZW5kaWYgLyogTVNfV0lORE9XUyAqLwpAQCAtODM0LDIyICs5MjYsMjggQEAKICAgICAgICAgICAgY2hhciogd2Zvcm1hdCwgQk9PTCAoX19zdGRjYWxsICpmdW5jVykoTFBXU1RSKSkKIHsKICAgICBQeU9iamVjdCAqdW5pOwotICAgIGNoYXIgKmFuc2k7CisgICAgY29uc3QgY2hhciAqYW5zaTsKICAgICBCT09MIHJlc3VsdDsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCB3Zm9ybWF0LCAmdW5pKSkKLSAgICAgICAgUHlFcnJfQ2xlYXIoKTsKLSAgICBlbHNlIHsKKyAgICBpZiAoUHlBcmdfUGFyc2VUdXBsZShhcmdzLCB3Zm9ybWF0LCAmdW5pKSkKKyAgICB7CisgICAgICAgIHdjaGFyX3QgKndzdHIgPSBQeVVuaWNvZGVfQXNVbmljb2RlKHVuaSk7CisgICAgICAgIGlmICh3c3RyID09IE5VTEwpCisgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgICAgICByZXN1bHQgPSBmdW5jVyhQeVVuaWNvZGVfQXNVbmljb2RlKHVuaSkpOworICAgICAgICByZXN1bHQgPSBmdW5jVyh3c3RyKTsKICAgICAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKICAgICAgICAgaWYgKCFyZXN1bHQpCi0gICAgICAgICAgICByZXR1cm4gd2luMzJfZXJyb3JfdW5pY29kZShmdW5jLCBQeVVuaWNvZGVfQXNVbmljb2RlKHVuaSkpOworICAgICAgICAgICAgcmV0dXJuIHdpbjMyX2Vycm9yX29iamVjdChmdW5jLCB1bmkpOwogICAgICAgICBQeV9JTkNSRUYoUHlfTm9uZSk7CiAgICAgICAgIHJldHVybiBQeV9Ob25lOwogICAgIH0KKyAgICBQeUVycl9DbGVhcigpOworCiAgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsIGZvcm1hdCwgJmFuc2kpKQogICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBpZiAod2luMzJfd2Fybl9ieXRlc19hcGkoKSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwogICAgIHJlc3VsdCA9IGZ1bmNBKGFuc2kpOwogICAgIFB5X0VORF9BTExPV19USFJFQURTCkBAIC0xMDY0LDE4ICsxMTYyLDE5IEBACiAKIC8qIEdyYWIgR2V0RmluYWxQYXRoTmFtZUJ5SGFuZGxlIGR5bmFtaWNhbGx5IGZyb20ga2VybmVsMzIgKi8KIHN0YXRpYyBpbnQgaGFzX0dldEZpbmFsUGF0aE5hbWVCeUhhbmRsZSA9IDA7Ci1zdGF0aWMgRFdPUkQgKENBTExCQUNLICpQeV9HZXRGaW5hbFBhdGhOYW1lQnlIYW5kbGVBKShIQU5ETEUsIExQU1RSLCBEV09SRCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERXT1JEKTsKIHN0YXRpYyBEV09SRCAoQ0FMTEJBQ0sgKlB5X0dldEZpbmFsUGF0aE5hbWVCeUhhbmRsZVcpKEhBTkRMRSwgTFBXU1RSLCBEV09SRCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERXT1JEKTsKIHN0YXRpYyBpbnQKIGNoZWNrX0dldEZpbmFsUGF0aE5hbWVCeUhhbmRsZSgpCiB7CiAgICAgSElOU1RBTkNFIGhLZXJuZWwzMjsKKyAgICBEV09SRCAoQ0FMTEJBQ0sgKlB5X0dldEZpbmFsUGF0aE5hbWVCeUhhbmRsZUEpKEhBTkRMRSwgTFBTVFIsIERXT1JELAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRFdPUkQpOworCiAgICAgLyogb25seSByZWNoZWNrICovCiAgICAgaWYgKCFoYXNfR2V0RmluYWxQYXRoTmFtZUJ5SGFuZGxlKQogICAgIHsKLSAgICAgICAgaEtlcm5lbDMyID0gR2V0TW9kdWxlSGFuZGxlKCJLRVJORUwzMiIpOworICAgICAgICBoS2VybmVsMzIgPSBHZXRNb2R1bGVIYW5kbGVXKEwiS0VSTkVMMzIiKTsKICAgICAgICAgKihGQVJQUk9DKikmUHlfR2V0RmluYWxQYXRoTmFtZUJ5SGFuZGxlQSA9IEdldFByb2NBZGRyZXNzKGhLZXJuZWwzMiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJHZXRGaW5hbFBhdGhOYW1lQnlIYW5kbGVBIik7CiAgICAgICAgICooRkFSUFJPQyopJlB5X0dldEZpbmFsUGF0aE5hbWVCeUhhbmRsZVcgPSBHZXRQcm9jQWRkcmVzcyhoS2VybmVsMzIsCkBAIC0xNTQ0LDkgKzE2NDMsMzkgQEAKICAgICAxMAogfTsKIAorI2lmIGRlZmluZWQoSEFWRV9XQUlUSUQpICYmICFkZWZpbmVkKF9fQVBQTEVfXykKK1B5RG9jX1NUUlZBUih3YWl0aWRfcmVzdWx0X19kb2NfXywKKyJ3YWl0aWRfcmVzdWx0OiBSZXN1bHQgZnJvbSB3YWl0aWQuXG5cblwKK1RoaXMgb2JqZWN0IG1heSBiZSBhY2Nlc3NlZCBlaXRoZXIgYXMgYSB0dXBsZSBvZlxuXAorICAoc2lfcGlkLCBzaV91aWQsIHNpX3NpZ25vLCBzaV9zdGF0dXMsIHNpX2NvZGUpLFxuXAorb3IgdmlhIHRoZSBhdHRyaWJ1dGVzIHNpX3BpZCwgc2lfdWlkLCBhbmQgc28gb24uXG5cCitcblwKK1NlZSBvcy53YWl0aWQgZm9yIG1vcmUgaW5mb3JtYXRpb24uIik7CisKK3N0YXRpYyBQeVN0cnVjdFNlcXVlbmNlX0ZpZWxkIHdhaXRpZF9yZXN1bHRfZmllbGRzW10gPSB7CisgICAgeyJzaV9waWQiLCAgfSwKKyAgICB7InNpX3VpZCIsIH0sCisgICAgeyJzaV9zaWdubyIsIH0sCisgICAgeyJzaV9zdGF0dXMiLCAgfSwKKyAgICB7InNpX2NvZGUiLCB9LAorICAgIHswfQorfTsKKworc3RhdGljIFB5U3RydWN0U2VxdWVuY2VfRGVzYyB3YWl0aWRfcmVzdWx0X2Rlc2MgPSB7CisgICAgIndhaXRpZF9yZXN1bHQiLCAvKiBuYW1lICovCisgICAgd2FpdGlkX3Jlc3VsdF9fZG9jX18sIC8qIGRvYyAqLworICAgIHdhaXRpZF9yZXN1bHRfZmllbGRzLAorICAgIDUKK307CitzdGF0aWMgUHlUeXBlT2JqZWN0IFdhaXRpZFJlc3VsdFR5cGU7CisjZW5kaWYKKwogc3RhdGljIGludCBpbml0aWFsaXplZDsKIHN0YXRpYyBQeVR5cGVPYmplY3QgU3RhdFJlc3VsdFR5cGU7CiBzdGF0aWMgUHlUeXBlT2JqZWN0IFN0YXRWRlNSZXN1bHRUeXBlOworI2lmIGRlZmluZWQoSEFWRV9TQ0hFRF9TRVRQQVJBTSkgfHwgZGVmaW5lZChIQVZFX1NDSEVEX1NFVFNDSEVEVUxFUikKK3N0YXRpYyBQeVR5cGVPYmplY3QgU2NoZWRQYXJhbVR5cGU7CisjZW5kaWYKIHN0YXRpYyBuZXdmdW5jIHN0cnVjdHNlcV9uZXc7CiAKIHN0YXRpYyBQeU9iamVjdCAqCkBAIC0xNzI3LDcgKzE4NTYsNyBAQAogICAgICAgICAgICAgICBpbnQgKCpzdGF0ZnVuYykoY29uc3QgY2hhciAqLCBTVFJVQ1RfU1RBVCAqKSwKICNlbmRpZgogICAgICAgICAgICAgICBjaGFyICp3Zm9ybWF0LAotICAgICAgICAgICAgICBpbnQgKCp3c3RhdGZ1bmMpKGNvbnN0IFB5X1VOSUNPREUgKiwgU1RSVUNUX1NUQVQgKikpCisgICAgICAgICAgICAgIGludCAoKndzdGF0ZnVuYykoY29uc3Qgd2NoYXJfdCAqLCBTVFJVQ1RfU1RBVCAqKSkKIHsKICAgICBTVFJVQ1RfU1RBVCBzdDsKICAgICBQeU9iamVjdCAqb3BhdGg7CkBAIC0xNzM2LDE4ICsxODY1LDE4IEBACiAgICAgUHlPYmplY3QgKnJlc3VsdDsKIAogI2lmZGVmIE1TX1dJTkRPV1MKLSAgICBQeVVuaWNvZGVPYmplY3QgKnBvOworICAgIFB5T2JqZWN0ICpwbzsKICAgICBpZiAoUHlBcmdfUGFyc2VUdXBsZShhcmdzLCB3Zm9ybWF0LCAmcG8pKSB7Ci0gICAgICAgIFB5X1VOSUNPREUgKndwYXRoID0gUHlVbmljb2RlX0FTX1VOSUNPREUocG8pOworICAgICAgICB3Y2hhcl90ICp3cGF0aCA9IFB5VW5pY29kZV9Bc1VuaWNvZGUocG8pOworICAgICAgICBpZiAod3BhdGggPT0gTlVMTCkKKyAgICAgICAgICAgIHJldHVybiBOVUxMOwogCiAgICAgICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKLSAgICAgICAgICAgIC8qIFB5VW5pY29kZV9BU19VTklDT0RFIHJlc3VsdCBPSyB3aXRob3V0Ci0gICAgICAgICAgICAgICB0aHJlYWQgbG9jayBhcyBpdCBpcyBhIHNpbXBsZSBkZXJlZmVyZW5jZS4gKi8KICAgICAgICAgcmVzID0gd3N0YXRmdW5jKHdwYXRoLCAmc3QpOwogICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwogCiAgICAgICAgIGlmIChyZXMgIT0gMCkKLSAgICAgICAgICAgIHJldHVybiB3aW4zMl9lcnJvcl91bmljb2RlKCJzdGF0Iiwgd3BhdGgpOworICAgICAgICAgICAgcmV0dXJuIHdpbjMyX2Vycm9yX29iamVjdCgic3RhdCIsIHBvKTsKICAgICAgICAgcmV0dXJuIF9weXN0YXRfZnJvbXN0cnVjdHN0YXQoJnN0KTsKICAgICB9CiAgICAgLyogRHJvcCB0aGUgYXJndW1lbnQgcGFyc2luZyBlcnJvciBhcyBuYXJyb3cgc3RyaW5ncwpAQCAtMTc1OCw2ICsxODg3LDEyIEBACiAgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsIGZvcm1hdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0ZTQ29udmVydGVyLCAmb3BhdGgpKQogICAgICAgICByZXR1cm4gTlVMTDsKKyNpZmRlZiBNU19XSU5ET1dTCisgICAgaWYgKHdpbjMyX3dhcm5fYnl0ZXNfYXBpKCkpIHsKKyAgICAgICAgUHlfREVDUkVGKG9wYXRoKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorI2VuZGlmCiAgICAgcGF0aCA9IFB5Qnl0ZXNfQXNTdHJpbmcob3BhdGgpOwogICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKICAgICByZXMgPSAoKnN0YXRmdW5jKShwYXRoLCAmc3QpOwpAQCAtMTc5MCwzMiArMTkyNSwzMSBAQAogc3RhdGljIFB5T2JqZWN0ICoKIHBvc2l4X2FjY2VzcyhQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCiB7Ci0gICAgUHlPYmplY3QgKm9wYXRoOwotICAgIGNoYXIgKnBhdGg7CisgICAgY29uc3QgY2hhciAqcGF0aDsKICAgICBpbnQgbW9kZTsKIAogI2lmZGVmIE1TX1dJTkRPV1MKICAgICBEV09SRCBhdHRyOwotICAgIFB5VW5pY29kZU9iamVjdCAqcG87CisgICAgUHlPYmplY3QgKnBvOwogICAgIGlmIChQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJVaTphY2Nlc3MiLCAmcG8sICZtb2RlKSkgeworICAgICAgICB3Y2hhcl90KiB3cGF0aCA9IFB5VW5pY29kZV9Bc1VuaWNvZGUocG8pOworICAgICAgICBpZiAod3BhdGggPT0gTlVMTCkKKyAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCi0gICAgICAgIC8qIFB5VW5pY29kZV9BU19VTklDT0RFIE9LIHdpdGhvdXQgdGhyZWFkIGxvY2sgYXMKLSAgICAgICAgICAgaXQgaXMgYSBzaW1wbGUgZGVyZWZlcmVuY2UuICovCi0gICAgICAgIGF0dHIgPSBHZXRGaWxlQXR0cmlidXRlc1coUHlVbmljb2RlX0FTX1VOSUNPREUocG8pKTsKKyAgICAgICAgYXR0ciA9IEdldEZpbGVBdHRyaWJ1dGVzVyh3cGF0aCk7CiAgICAgICAgIFB5X0VORF9BTExPV19USFJFQURTCiAgICAgICAgIGdvdG8gZmluaXNoOwogICAgIH0KICAgICAvKiBEcm9wIHRoZSBhcmd1bWVudCBwYXJzaW5nIGVycm9yIGFzIG5hcnJvdyBzdHJpbmdzCiAgICAgICAgYXJlIGFsc28gdmFsaWQuICovCiAgICAgUHlFcnJfQ2xlYXIoKTsKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIk8maTphY2Nlc3MiLAotICAgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfRlNDb252ZXJ0ZXIsICZvcGF0aCwgJm1vZGUpKQorICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAieWk6YWNjZXNzIiwgJnBhdGgsICZtb2RlKSkKICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgcGF0aCA9IFB5Qnl0ZXNfQXNTdHJpbmcob3BhdGgpOworICAgIGlmICh3aW4zMl93YXJuX2J5dGVzX2FwaSgpKQorICAgICAgICByZXR1cm4gTlVMTDsKICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCiAgICAgYXR0ciA9IEdldEZpbGVBdHRyaWJ1dGVzQShwYXRoKTsKICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwotICAgIFB5X0RFQ1JFRihvcGF0aCk7CiBmaW5pc2g6CiAgICAgaWYgKGF0dHIgPT0gMHhGRkZGRkZGRikKICAgICAgICAgLyogRmlsZSBkb2VzIG5vdCBleGlzdCwgb3IgY2Fubm90IHJlYWQgYXR0cmlidXRlcyAqLwpAQCAtMTgyNyw2ICsxOTYxLDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHx8ICEoYXR0ciAmIEZJTEVfQVRUUklCVVRFX1JFQURPTkxZKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfHwgKGF0dHIgJiBGSUxFX0FUVFJJQlVURV9ESVJFQ1RPUlkpKTsKICNlbHNlCisgICAgUHlPYmplY3QgKm9wYXRoOwogICAgIGludCByZXM7CiAgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJPJmk6YWNjZXNzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0ZTQ29udmVydGVyLCAmb3BhdGgsICZtb2RlKSkKQEAgLTE5NDYsMjggKzIwODEsMzAgQEAKIHBvc2l4X2NobW9kKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKIHsKICAgICBQeU9iamVjdCAqb3BhdGggPSBOVUxMOwotICAgIGNoYXIgKnBhdGggPSBOVUxMOworICAgIGNvbnN0IGNoYXIgKnBhdGggPSBOVUxMOwogICAgIGludCBpOwogICAgIGludCByZXM7CiAjaWZkZWYgTVNfV0lORE9XUwogICAgIERXT1JEIGF0dHI7Ci0gICAgUHlVbmljb2RlT2JqZWN0ICpwbzsKKyAgICBQeU9iamVjdCAqcG87CiAgICAgaWYgKFB5QXJnX1BhcnNlVHVwbGUoYXJncywgIlVpfDpjaG1vZCIsICZwbywgJmkpKSB7CisgICAgICAgIHdjaGFyX3QgKndwYXRoID0gUHlVbmljb2RlX0FzVW5pY29kZShwbyk7CisgICAgICAgIGlmICh3cGF0aCA9PSBOVUxMKQorICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKLSAgICAgICAgYXR0ciA9IEdldEZpbGVBdHRyaWJ1dGVzVyhQeVVuaWNvZGVfQVNfVU5JQ09ERShwbykpOworICAgICAgICBhdHRyID0gR2V0RmlsZUF0dHJpYnV0ZXNXKHdwYXRoKTsKICAgICAgICAgaWYgKGF0dHIgIT0gMHhGRkZGRkZGRikgewogICAgICAgICAgICAgaWYgKGkgJiBfU19JV1JJVEUpCiAgICAgICAgICAgICAgICAgYXR0ciAmPSB+RklMRV9BVFRSSUJVVEVfUkVBRE9OTFk7CiAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgYXR0ciB8PSBGSUxFX0FUVFJJQlVURV9SRUFET05MWTsKLSAgICAgICAgICAgIHJlcyA9IFNldEZpbGVBdHRyaWJ1dGVzVyhQeVVuaWNvZGVfQVNfVU5JQ09ERShwbyksIGF0dHIpOworICAgICAgICAgICAgcmVzID0gU2V0RmlsZUF0dHJpYnV0ZXNXKHdwYXRoLCBhdHRyKTsKICAgICAgICAgfQogICAgICAgICBlbHNlCiAgICAgICAgICAgICByZXMgPSAwOwogICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwogICAgICAgICBpZiAoIXJlcykKLSAgICAgICAgICAgIHJldHVybiB3aW4zMl9lcnJvcl91bmljb2RlKCJjaG1vZCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfQVNfVU5JQ09ERShwbykpOworICAgICAgICAgICAgcmV0dXJuIHdpbjMyX2Vycm9yX29iamVjdCgiY2htb2QiLCBwbyk7CiAgICAgICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKICAgICAgICAgcmV0dXJuIFB5X05vbmU7CiAgICAgfQpAQCAtMTk3NSwxMCArMjExMiwxMCBAQAogICAgICAgIGFyZSBhbHNvIHZhbGlkLiAqLwogICAgIFB5RXJyX0NsZWFyKCk7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIk8maTpjaG1vZCIsIFB5VW5pY29kZV9GU0NvbnZlcnRlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgJm9wYXRoLCAmaSkpCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJ5aTpjaG1vZCIsICZwYXRoLCAmaSkpCiAgICAgICAgIHJldHVybiBOVUxMOwotICAgIHBhdGggPSBQeUJ5dGVzX0FzU3RyaW5nKG9wYXRoKTsKKyAgICBpZiAod2luMzJfd2Fybl9ieXRlc19hcGkoKSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwogICAgIGF0dHIgPSBHZXRGaWxlQXR0cmlidXRlc0EocGF0aCk7CiAgICAgaWYgKGF0dHIgIT0gMHhGRkZGRkZGRikgewpAQCAtMTk5MywxMCArMjEzMCw4IEBACiAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKICAgICBpZiAoIXJlcykgewogICAgICAgICB3aW4zMl9lcnJvcigiY2htb2QiLCBwYXRoKTsKLSAgICAgICAgUHlfREVDUkVGKG9wYXRoKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQotICAgIFB5X0RFQ1JFRihvcGF0aCk7CiAgICAgUHlfSU5DUkVGKFB5X05vbmUpOwogICAgIHJldHVybiBQeV9Ob25lOwogI2Vsc2UgLyogTVNfV0lORE9XUyAqLwpAQCAtMjE0Myw2ICsyMjc4LDIxIEBACiB9CiAjZW5kaWYgLyogSEFWRV9GU1lOQyAqLwogCisjaWZkZWYgSEFWRV9TWU5DCitQeURvY19TVFJWQVIocG9zaXhfc3luY19fZG9jX18sCisic3luYygpXG5cblwKK0ZvcmNlIHdyaXRlIG9mIGV2ZXJ5dGhpbmcgdG8gZGlzay4iKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK3Bvc2l4X3N5bmMoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpub2FyZ3MpCit7CisgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUworICAgIHN5bmMoKTsKKyAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworICAgIFB5X1JFVFVSTl9OT05FOworfQorI2VuZGlmCisKICNpZmRlZiBIQVZFX0ZEQVRBU1lOQwogCiAjaWZkZWYgX19ocHV4CkBAIC0yMjc5LDYgKzI0MjksOSBAQAogICAgICAgICBpZiAod2J1ZjIgIT0gd2J1ZikgZnJlZSh3YnVmMik7CiAgICAgICAgIHJldHVybiByZXNvYmo7CiAgICAgfQorCisgICAgaWYgKHdpbjMyX3dhcm5fYnl0ZXNfYXBpKCkpCisgICAgICAgIHJldHVybiBOVUxMOwogI2VuZGlmCiAKICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCkBAIC0yMzM3LDQzICsyNDkwLDU2IEBACiBzdGF0aWMgUHlPYmplY3QgKgogd2luMzJfbGluayhQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCiB7Ci0gICAgUHlPYmplY3QgKm9zcmMsICpvZHN0OwotICAgIGNoYXIgKnNyYywgKmRzdDsKLSAgICBCT09MIHJzbHQ7CisgICAgUHlPYmplY3QgKnNyYywgKmRzdDsKKyAgICBCT09MIG9rOwogCi0gICAgUHlVbmljb2RlT2JqZWN0ICp1c3JjLCAqdWRzdDsKLSAgICBpZiAoUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiVVU6bGluayIsICZ1c3JjLCAmdWRzdCkpIHsKKyAgICBpZiAoUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiVVU6bGluayIsICZzcmMsICZkc3QpKQorICAgIHsKKyAgICAgICAgd2NoYXJfdCAqd3NyYywgKndkc3Q7CisKKyAgICAgICAgd3NyYyA9IFB5VW5pY29kZV9Bc1VuaWNvZGUoc3JjKTsKKyAgICAgICAgaWYgKHdzcmMgPT0gTlVMTCkKKyAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgIHdkc3QgPSBQeVVuaWNvZGVfQXNVbmljb2RlKGRzdCk7CisgICAgICAgIGlmICh3ZHN0ID09IE5VTEwpCisgICAgICAgICAgICBnb3RvIGVycm9yOworCiAgICAgICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKLSAgICAgICAgcnNsdCA9IENyZWF0ZUhhcmRMaW5rVyhQeVVuaWNvZGVfQVNfVU5JQ09ERSh1ZHN0KSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfQVNfVU5JQ09ERSh1c3JjKSwgTlVMTCk7CisgICAgICAgIG9rID0gQ3JlYXRlSGFyZExpbmtXKHdkc3QsIHdzcmMsIE5VTEwpOwogICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwogCi0gICAgICAgIGlmIChyc2x0ID09IDApCisgICAgICAgIGlmICghb2spCiAgICAgICAgICAgICByZXR1cm4gd2luMzJfZXJyb3IoImxpbmsiLCBOVUxMKTsKLQogICAgICAgICBQeV9SRVRVUk5fTk9ORTsKICAgICB9CisgICAgZWxzZSB7CisgICAgICAgIFB5RXJyX0NsZWFyKCk7CisgICAgICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiTyZPJjpsaW5rIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9GU0NvbnZlcnRlciwgJnNyYywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9GU0NvbnZlcnRlciwgJmRzdCkpCisgICAgICAgICAgICByZXR1cm4gTlVMTDsKIAotICAgIC8qIE5hcnJvdyBzdHJpbmdzIGFsc28gdmFsaWQuICovCi0gICAgUHlFcnJfQ2xlYXIoKTsKKyAgICAgICAgaWYgKHdpbjMyX3dhcm5fYnl0ZXNfYXBpKCkpCisgICAgICAgICAgICBnb3RvIGVycm9yOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJPJk8mOmxpbmsiLCBQeVVuaWNvZGVfRlNDb252ZXJ0ZXIsICZvc3JjLAotICAgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfRlNDb252ZXJ0ZXIsICZvZHN0KSkKKyAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUworICAgICAgICBvayA9IENyZWF0ZUhhcmRMaW5rQShQeUJ5dGVzX0FTX1NUUklORyhkc3QpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeUJ5dGVzX0FTX1NUUklORyhzcmMpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMKTsKKyAgICAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKworICAgICAgICBQeV9YREVDUkVGKHNyYyk7CisgICAgICAgIFB5X1hERUNSRUYoZHN0KTsKKworICAgICAgICBpZiAoIW9rKQorICAgICAgICAgICAgcmV0dXJuIHdpbjMyX2Vycm9yKCJsaW5rIiwgTlVMTCk7CisgICAgICAgIFB5X1JFVFVSTl9OT05FOworCisgICAgZXJyb3I6CisgICAgICAgIFB5X1hERUNSRUYoc3JjKTsKKyAgICAgICAgUHlfWERFQ1JFRihkc3QpOwogICAgICAgICByZXR1cm4gTlVMTDsKLQotICAgIHNyYyA9IFB5Qnl0ZXNfQXNTdHJpbmcob3NyYyk7Ci0gICAgZHN0ID0gUHlCeXRlc19Bc1N0cmluZyhvZHN0KTsKLQotICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKLSAgICByc2x0ID0gQ3JlYXRlSGFyZExpbmtBKGRzdCwgc3JjLCBOVUxMKTsKLSAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwotCi0gICAgUHlfREVDUkVGKG9zcmMpOwotICAgIFB5X0RFQ1JFRihvZHN0KTsKLSAgICBpZiAocnNsdCA9PSAwKQotICAgICAgICByZXR1cm4gd2luMzJfZXJyb3IoImxpbmsiLCBOVUxMKTsKLQotICAgIFB5X1JFVFVSTl9OT05FOworICAgIH0KIH0KICNlbmRpZiAvKiBNU19XSU5ET1dTICovCiAKQEAgLTIzOTgsNyArMjU2NCw4IEBACiAgICAgSEFORExFIGhGaW5kRmlsZTsKICAgICBCT09MIHJlc3VsdDsKICAgICBXSU4zMl9GSU5EX0RBVEEgRmlsZURhdGE7Ci0gICAgUHlPYmplY3QgKm9wYXRoOworICAgIGNvbnN0IGNoYXIgKnBhdGg7CisgICAgUHlfc3NpemVfdCBwYXRobGVuOwogICAgIGNoYXIgbmFtZWJ1ZltNQVhfUEFUSCs1XTsgLyogT3ZlcmFsbG9jYXRlIGZvciBcXCouKlwwICovCiAgICAgY2hhciAqYnVmcHRyID0gbmFtZWJ1ZjsKICAgICBQeV9zc2l6ZV90IGxlbiA9IHNpemVvZihuYW1lYnVmKS01OyAvKiBvbmx5IGNsYWltIHRvIGhhdmUgc3BhY2UgZm9yIE1BWF9QQVRIICovCkBAIC0yNDA2LDE0ICsyNTczLDE1IEBACiAgICAgUHlPYmplY3QgKnBvID0gTlVMTDsKICAgICBpZiAoUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAifFU6bGlzdGRpciIsICZwbykpIHsKICAgICAgICAgV0lOMzJfRklORF9EQVRBVyB3RmlsZURhdGE7Ci0gICAgICAgIFB5X1VOSUNPREUgKnduYW1lYnVmLCAqcG9fd2NoYXJzOworICAgICAgICB3Y2hhcl90ICp3bmFtZWJ1ZiwgKnBvX3djaGFyczsKIAogICAgICAgICBpZiAocG8gPT0gTlVMTCkgeyAvKiBEZWZhdWx0IGFyZzogIi4iICovCiAgICAgICAgICAgICBwb193Y2hhcnMgPSBMIi4iOwogICAgICAgICAgICAgbGVuID0gMTsKICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIHBvX3djaGFycyA9IFB5VW5pY29kZV9BU19VTklDT0RFKHBvKTsKLSAgICAgICAgICAgIGxlbiA9IFB5VW5pY29kZV9HRVRfU0laRShwbyk7CisgICAgICAgICAgICBwb193Y2hhcnMgPSBQeVVuaWNvZGVfQXNVbmljb2RlQW5kU2l6ZShwbywgJmxlbik7CisgICAgICAgICAgICBpZiAocG9fd2NoYXJzID09IE5VTEwpCisgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgIH0KICAgICAgICAgLyogT3ZlcmFsbG9jYXRlIGZvciBcXCouKlwwICovCiAgICAgICAgIHduYW1lYnVmID0gbWFsbG9jKChsZW4gKyA1KSAqIHNpemVvZih3Y2hhcl90KSk7CkBAIC0yNDIzLDcgKzI1OTEsNyBAQAogICAgICAgICB9CiAgICAgICAgIHdjc2NweSh3bmFtZWJ1ZiwgcG9fd2NoYXJzKTsKICAgICAgICAgaWYgKGxlbiA+IDApIHsKLSAgICAgICAgICAgIFB5X1VOSUNPREUgd2NoID0gd25hbWVidWZbbGVuLTFdOworICAgICAgICAgICAgd2NoYXJfdCB3Y2ggPSB3bmFtZWJ1ZltsZW4tMV07CiAgICAgICAgICAgICBpZiAod2NoICE9IEwnLycgJiYgd2NoICE9IEwnXFwnICYmIHdjaCAhPSBMJzonKQogICAgICAgICAgICAgICAgIHduYW1lYnVmW2xlbisrXSA9IEwnXFwnOwogICAgICAgICAgICAgd2NzY3B5KHduYW1lYnVmICsgbGVuLCBMIiouKiIpOwpAQCAtMjQ1MCw3ICsyNjE4LDcgQEAKICAgICAgICAgICAgIC8qIFNraXAgb3ZlciAuIGFuZCAuLiAqLwogICAgICAgICAgICAgaWYgKHdjc2NtcCh3RmlsZURhdGEuY0ZpbGVOYW1lLCBMIi4iKSAhPSAwICYmCiAgICAgICAgICAgICAgICAgd2NzY21wKHdGaWxlRGF0YS5jRmlsZU5hbWUsIEwiLi4iKSAhPSAwKSB7Ci0gICAgICAgICAgICAgICAgdiA9IFB5VW5pY29kZV9Gcm9tVW5pY29kZSh3RmlsZURhdGEuY0ZpbGVOYW1lLCB3Y3NsZW4od0ZpbGVEYXRhLmNGaWxlTmFtZSkpOworICAgICAgICAgICAgICAgIHYgPSBQeVVuaWNvZGVfRnJvbVdpZGVDaGFyKHdGaWxlRGF0YS5jRmlsZU5hbWUsIHdjc2xlbih3RmlsZURhdGEuY0ZpbGVOYW1lKSk7CiAgICAgICAgICAgICAgICAgaWYgKHYgPT0gTlVMTCkgewogICAgICAgICAgICAgICAgICAgICBQeV9ERUNSRUYoZCk7CiAgICAgICAgICAgICAgICAgICAgIGQgPSBOVUxMOwpAQCAtMjQ5MSwxNyArMjY1OSwxNiBAQAogICAgICAgIGFyZSBhbHNvIHZhbGlkLiAqLwogICAgIFB5RXJyX0NsZWFyKCk7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIk8mOmxpc3RkaXIiLAotICAgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfRlNDb252ZXJ0ZXIsICZvcGF0aCkpCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJ5IzpsaXN0ZGlyIiwgJnBhdGgsICZwYXRobGVuKSkKICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgaWYgKFB5Qnl0ZXNfR0VUX1NJWkUob3BhdGgpKzEgPiBNQVhfUEFUSCkgeworICAgIGlmICh3aW4zMl93YXJuX2J5dGVzX2FwaSgpKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBpZiAocGF0aGxlbisxID4gTUFYX1BBVEgpIHsKICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsICJwYXRoIHRvbyBsb25nIik7Ci0gICAgICAgIFB5X0RFQ1JFRihvcGF0aCk7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KLSAgICBzdHJjcHkobmFtZWJ1ZiwgUHlCeXRlc19Bc1N0cmluZyhvcGF0aCkpOwotICAgIGxlbiA9IFB5T2JqZWN0X1NpemUob3BhdGgpOwotICAgIFB5X0RFQ1JFRihvcGF0aCk7CisgICAgc3RyY3B5KG5hbWVidWYsIHBhdGgpOworICAgIGxlbiA9IHBhdGhsZW47CiAgICAgaWYgKGxlbiA+IDApIHsKICAgICAgICAgY2hhciBjaCA9IG5hbWVidWZbbGVuLTFdOwogICAgICAgICBpZiAoY2ggIT0gU0VQICYmIGNoICE9IEFMVFNFUCAmJiBjaCAhPSAnOicpCkBAIC0yNzE4LDM2ICsyODg1LDExNSBAQAogI2VuZGlmIC8qIHdoaWNoIE9TICovCiB9ICAvKiBlbmQgb2YgcG9zaXhfbGlzdGRpciAqLwogCisjaWZkZWYgSEFWRV9GRE9QRU5ESVIKK1B5RG9jX1NUUlZBUihwb3NpeF9mbGlzdGRpcl9fZG9jX18sCisiZmxpc3RkaXIoZmQpIC0+IGxpc3Rfb2Zfc3RyaW5nc1xuXG5cCitMaWtlIGxpc3RkaXIoKSwgYnV0IHVzZXMgYSBmaWxlIGRlc2NyaXB0b3IgaW5zdGVhZC4iKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK3Bvc2l4X2ZsaXN0ZGlyKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeU9iamVjdCAqZCwgKnY7CisgICAgRElSICpkaXJwOworICAgIHN0cnVjdCBkaXJlbnQgKmVwOworICAgIGludCBmZDsKKworICAgIGVycm5vID0gMDsKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgImk6Zmxpc3RkaXIiLCAmZmQpKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAvKiBjbG9zZWRpcigpIGNsb3NlcyB0aGUgRkQsIHNvIHdlIGR1cGxpY2F0ZSBpdCAqLworICAgIGZkID0gZHVwKGZkKTsKKyAgICBpZiAoZmQgPCAwKQorICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKKyAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCisgICAgZGlycCA9IGZkb3BlbmRpcihmZCk7CisgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKyAgICBpZiAoZGlycCA9PSBOVUxMKSB7CisgICAgICAgIGNsb3NlKGZkKTsKKyAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7CisgICAgfQorICAgIGlmICgoZCA9IFB5TGlzdF9OZXcoMCkpID09IE5VTEwpIHsKKyAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUworICAgICAgICBjbG9zZWRpcihkaXJwKTsKKyAgICAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorICAgIGZvciAoOzspIHsKKyAgICAgICAgZXJybm8gPSAwOworICAgICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCisgICAgICAgIGVwID0gcmVhZGRpcihkaXJwKTsKKyAgICAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKyAgICAgICAgaWYgKGVwID09IE5VTEwpIHsKKyAgICAgICAgICAgIGlmIChlcnJubyA9PSAwKSB7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKKyAgICAgICAgICAgICAgICByZXdpbmRkaXIoZGlycCk7CisgICAgICAgICAgICAgICAgY2xvc2VkaXIoZGlycCk7CisgICAgICAgICAgICAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKyAgICAgICAgICAgICAgICBQeV9ERUNSRUYoZCk7CisgICAgICAgICAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgaWYgKGVwLT5kX25hbWVbMF0gPT0gJy4nICYmCisgICAgICAgICAgICAoTkFNTEVOKGVwKSA9PSAxIHx8CisgICAgICAgICAgICAgKGVwLT5kX25hbWVbMV0gPT0gJy4nICYmIE5BTUxFTihlcCkgPT0gMikpKQorICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIHYgPSBQeVVuaWNvZGVfRGVjb2RlRlNEZWZhdWx0QW5kU2l6ZShlcC0+ZF9uYW1lLCBOQU1MRU4oZXApKTsKKyAgICAgICAgaWYgKHYgPT0gTlVMTCkgeworICAgICAgICAgICAgUHlfQ0xFQVIoZCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgICBpZiAoUHlMaXN0X0FwcGVuZChkLCB2KSAhPSAwKSB7CisgICAgICAgICAgICBQeV9ERUNSRUYodik7CisgICAgICAgICAgICBQeV9DTEVBUihkKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgICAgIFB5X0RFQ1JFRih2KTsKKyAgICB9CisgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUworICAgIHJld2luZGRpcihkaXJwKTsKKyAgICBjbG9zZWRpcihkaXJwKTsKKyAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworCisgICAgcmV0dXJuIGQ7Cit9CisjZW5kaWYKKwogI2lmZGVmIE1TX1dJTkRPV1MKIC8qIEEgaGVscGVyIGZ1bmN0aW9uIGZvciBhYnNwYXRoIG9uIHdpbjMyICovCiBzdGF0aWMgUHlPYmplY3QgKgogcG9zaXhfX2dldGZ1bGxwYXRobmFtZShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCiB7Ci0gICAgUHlPYmplY3QgKm9wYXRoOwotICAgIGNoYXIgKnBhdGg7CisgICAgY29uc3QgY2hhciAqcGF0aDsKICAgICBjaGFyIG91dGJ1ZltNQVhfUEFUSCoyXTsKICAgICBjaGFyICp0ZW1wOwotI2lmZGVmIE1TX1dJTkRPV1MKLSAgICBQeVVuaWNvZGVPYmplY3QgKnBvOwotICAgIGlmIChQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJVfDpfZ2V0ZnVsbHBhdGhuYW1lIiwgJnBvKSkgewotICAgICAgICBQeV9VTklDT0RFICp3cGF0aCA9IFB5VW5pY29kZV9BU19VTklDT0RFKHBvKTsKLSAgICAgICAgUHlfVU5JQ09ERSB3b3V0YnVmW01BWF9QQVRIKjJdLCAqd291dGJ1ZnAgPSB3b3V0YnVmOwotICAgICAgICBQeV9VTklDT0RFICp3dGVtcDsKKyAgICBQeU9iamVjdCAqcG87CisKKyAgICBpZiAoUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiVXw6X2dldGZ1bGxwYXRobmFtZSIsICZwbykpCisgICAgeworICAgICAgICB3Y2hhcl90ICp3cGF0aDsKKyAgICAgICAgd2NoYXJfdCB3b3V0YnVmW01BWF9QQVRIKjJdLCAqd291dGJ1ZnAgPSB3b3V0YnVmOworICAgICAgICB3Y2hhcl90ICp3dGVtcDsKICAgICAgICAgRFdPUkQgcmVzdWx0OwogICAgICAgICBQeU9iamVjdCAqdjsKKworICAgICAgICB3cGF0aCA9IFB5VW5pY29kZV9Bc1VuaWNvZGUocG8pOworICAgICAgICBpZiAod3BhdGggPT0gTlVMTCkKKyAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICByZXN1bHQgPSBHZXRGdWxsUGF0aE5hbWVXKHdwYXRoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZih3b3V0YnVmKS9zaXplb2Yod291dGJ1ZlswXSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlfQVJSQVlfTEVOR1RIKHdvdXRidWYpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdvdXRidWYsICZ3dGVtcCk7Ci0gICAgICAgIGlmIChyZXN1bHQgPiBzaXplb2Yod291dGJ1Zikvc2l6ZW9mKHdvdXRidWZbMF0pKSB7Ci0gICAgICAgICAgICB3b3V0YnVmcCA9IG1hbGxvYyhyZXN1bHQgKiBzaXplb2YoUHlfVU5JQ09ERSkpOworICAgICAgICBpZiAocmVzdWx0ID4gUHlfQVJSQVlfTEVOR1RIKHdvdXRidWYpKSB7CisgICAgICAgICAgICB3b3V0YnVmcCA9IG1hbGxvYyhyZXN1bHQgKiBzaXplb2Yod2NoYXJfdCkpOwogICAgICAgICAgICAgaWYgKCF3b3V0YnVmcCkKICAgICAgICAgICAgICAgICByZXR1cm4gUHlFcnJfTm9NZW1vcnkoKTsKICAgICAgICAgICAgIHJlc3VsdCA9IEdldEZ1bGxQYXRoTmFtZVcod3BhdGgsIHJlc3VsdCwgd291dGJ1ZnAsICZ3dGVtcCk7CiAgICAgICAgIH0KICAgICAgICAgaWYgKHJlc3VsdCkKLSAgICAgICAgICAgIHYgPSBQeVVuaWNvZGVfRnJvbVVuaWNvZGUod291dGJ1ZnAsIHdjc2xlbih3b3V0YnVmcCkpOworICAgICAgICAgICAgdiA9IFB5VW5pY29kZV9Gcm9tV2lkZUNoYXIod291dGJ1ZnAsIHdjc2xlbih3b3V0YnVmcCkpOwogICAgICAgICBlbHNlCi0gICAgICAgICAgICB2ID0gd2luMzJfZXJyb3JfdW5pY29kZSgiR2V0RnVsbFBhdGhOYW1lVyIsIHdwYXRoKTsKKyAgICAgICAgICAgIHYgPSB3aW4zMl9lcnJvcl9vYmplY3QoIkdldEZ1bGxQYXRoTmFtZVciLCBwbyk7CiAgICAgICAgIGlmICh3b3V0YnVmcCAhPSB3b3V0YnVmKQogICAgICAgICAgICAgZnJlZSh3b3V0YnVmcCk7CiAgICAgICAgIHJldHVybiB2OwpAQCAtMjc1NiwxOCArMzAwMiwxNiBAQAogICAgICAgIGFyZSBhbHNvIHZhbGlkLiAqLwogICAgIFB5RXJyX0NsZWFyKCk7CiAKLSNlbmRpZgotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZSAoYXJncywgIk8mOl9nZXRmdWxscGF0aG5hbWUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0ZTQ29udmVydGVyLCAmb3BhdGgpKQorICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZSAoYXJncywgInk6X2dldGZ1bGxwYXRobmFtZSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAmcGF0aCkpCiAgICAgICAgIHJldHVybiBOVUxMOwotICAgIHBhdGggPSBQeUJ5dGVzX0FzU3RyaW5nKG9wYXRoKTsKLSAgICBpZiAoIUdldEZ1bGxQYXRoTmFtZShwYXRoLCBzaXplb2Yob3V0YnVmKS9zaXplb2Yob3V0YnVmWzBdKSwKKyAgICBpZiAod2luMzJfd2Fybl9ieXRlc19hcGkoKSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgaWYgKCFHZXRGdWxsUGF0aE5hbWUocGF0aCwgUHlfQVJSQVlfTEVOR1RIKG91dGJ1ZiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0YnVmLCAmdGVtcCkpIHsKICAgICAgICAgd2luMzJfZXJyb3IoIkdldEZ1bGxQYXRoTmFtZSIsIHBhdGgpOwotICAgICAgICBQeV9ERUNSRUYob3BhdGgpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9Ci0gICAgUHlfREVDUkVGKG9wYXRoKTsKICAgICBpZiAoUHlVbmljb2RlX0NoZWNrKFB5VHVwbGVfR2V0SXRlbShhcmdzLCAwKSkpIHsKICAgICAgICAgcmV0dXJuIFB5VW5pY29kZV9EZWNvZGUob3V0YnVmLCBzdHJsZW4ob3V0YnVmKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlfRmlsZVN5c3RlbURlZmF1bHRFbmNvZGluZywgTlVMTCk7CkBAIC0yNzg1LDEyICszMDI5LDE0IEBACiAgICAgaW50IGJ1Zl9zaXplOwogICAgIHdjaGFyX3QgKnRhcmdldF9wYXRoOwogICAgIGludCByZXN1bHRfbGVuZ3RoOwotICAgIFB5T2JqZWN0ICpyZXN1bHQ7CisgICAgUHlPYmplY3QgKnBvLCAqcmVzdWx0OwogICAgIHdjaGFyX3QgKnBhdGg7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgInV8Ol9nZXRmaW5hbHBhdGhuYW1lIiwgJnBhdGgpKSB7CisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJVfDpfZ2V0ZmluYWxwYXRobmFtZSIsICZwbykpCiAgICAgICAgIHJldHVybiBOVUxMOwotICAgIH0KKyAgICBwYXRoID0gUHlVbmljb2RlX0FzVW5pY29kZShwbyk7CisgICAgaWYgKHBhdGggPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIE5VTEw7CiAKICAgICBpZighY2hlY2tfR2V0RmluYWxQYXRoTmFtZUJ5SGFuZGxlKCkpIHsKICAgICAgICAgLyogSWYgdGhlIE9TIGRvZXNuJ3QgaGF2ZSBHZXRGaW5hbFBhdGhOYW1lQnlIYW5kbGUsIHJldHVybiBhCkBAIC0yODA5LDE4ICszMDU1LDE1IEBACiAgICAgICAgIEZJTEVfRkxBR19CQUNLVVBfU0VNQU5USUNTLAogICAgICAgICBOVUxMKTsKIAotICAgIGlmKGhGaWxlID09IElOVkFMSURfSEFORExFX1ZBTFVFKSB7Ci0gICAgICAgIHJldHVybiB3aW4zMl9lcnJvcl91bmljb2RlKCJHZXRGaW5hbFBhdGhOYW15QnlIYW5kbGUiLCBwYXRoKTsKLSAgICAgICAgcmV0dXJuIFB5RXJyX0Zvcm1hdChQeUV4Y19SdW50aW1lRXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIkNvdWxkIG5vdCBnZXQgYSBoYW5kbGUgdG8gZmlsZS4iKTsKLSAgICB9CisgICAgaWYoaEZpbGUgPT0gSU5WQUxJRF9IQU5ETEVfVkFMVUUpCisgICAgICAgIHJldHVybiB3aW4zMl9lcnJvcl9vYmplY3QoIkNyZWF0ZUZpbGVXIiwgcG8pOwogCiAgICAgLyogV2UgaGF2ZSBhIGdvb2QgaGFuZGxlIHRvIHRoZSB0YXJnZXQsIHVzZSBpdCB0byBkZXRlcm1pbmUgdGhlCiAgICAgICAgdGFyZ2V0IHBhdGggbmFtZS4gKi8KICAgICBidWZfc2l6ZSA9IFB5X0dldEZpbmFsUGF0aE5hbWVCeUhhbmRsZVcoaEZpbGUsIDAsIDAsIFZPTFVNRV9OQU1FX05UKTsKIAogICAgIGlmKCFidWZfc2l6ZSkKLSAgICAgICAgcmV0dXJuIHdpbjMyX2Vycm9yX3VuaWNvZGUoIkdldEZpbmFsUGF0aE5hbWVCeUhhbmRsZSIsIHBhdGgpOworICAgICAgICByZXR1cm4gd2luMzJfZXJyb3Jfb2JqZWN0KCJHZXRGaW5hbFBhdGhOYW1lQnlIYW5kbGUiLCBwbyk7CiAKICAgICB0YXJnZXRfcGF0aCA9ICh3Y2hhcl90ICopbWFsbG9jKChidWZfc2l6ZSsxKSpzaXplb2Yod2NoYXJfdCkpOwogICAgIGlmKCF0YXJnZXRfcGF0aCkKQEAgLTI4MjksMTMgKzMwNzIsMTMgQEAKICAgICByZXN1bHRfbGVuZ3RoID0gUHlfR2V0RmluYWxQYXRoTmFtZUJ5SGFuZGxlVyhoRmlsZSwgdGFyZ2V0X3BhdGgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVmX3NpemUsIFZPTFVNRV9OQU1FX0RPUyk7CiAgICAgaWYoIXJlc3VsdF9sZW5ndGgpCi0gICAgICAgIHJldHVybiB3aW4zMl9lcnJvcl91bmljb2RlKCJHZXRGaW5hbFBhdGhOYW15QnlIYW5kbGUiLCBwYXRoKTsKKyAgICAgICAgcmV0dXJuIHdpbjMyX2Vycm9yX29iamVjdCgiR2V0RmluYWxQYXRoTmFteUJ5SGFuZGxlIiwgcG8pOwogCiAgICAgaWYoIUNsb3NlSGFuZGxlKGhGaWxlKSkKLSAgICAgICAgcmV0dXJuIHdpbjMyX2Vycm9yX3VuaWNvZGUoIkdldEZpbmFsUGF0aE5hbWVCeUhhbmRsZSIsIHBhdGgpOworICAgICAgICByZXR1cm4gd2luMzJfZXJyb3Jfb2JqZWN0KCJDbG9zZUhhbmRsZSIsIHBvKTsKIAogICAgIHRhcmdldF9wYXRoW3Jlc3VsdF9sZW5ndGhdID0gMDsKLSAgICByZXN1bHQgPSBQeVVuaWNvZGVfRnJvbVVuaWNvZGUodGFyZ2V0X3BhdGgsIHJlc3VsdF9sZW5ndGgpOworICAgIHJlc3VsdCA9IFB5VW5pY29kZV9Gcm9tV2lkZUNoYXIodGFyZ2V0X3BhdGgsIHJlc3VsdF9sZW5ndGgpOwogICAgIGZyZWUodGFyZ2V0X3BhdGgpOwogICAgIHJldHVybiByZXN1bHQ7CiAKQEAgLTI4NzIsMTMgKzMxMTUsMTQgQEAKIHN0YXRpYyBQeU9iamVjdCAqCiBwb3NpeF9faXNkaXIoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQogewotICAgIFB5T2JqZWN0ICpvcGF0aDsKLSAgICBjaGFyICpwYXRoOwotICAgIFB5VW5pY29kZU9iamVjdCAqcG87CisgICAgY29uc3QgY2hhciAqcGF0aDsKKyAgICBQeU9iamVjdCAqcG87CiAgICAgRFdPUkQgYXR0cmlidXRlczsKIAogICAgIGlmIChQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJVfDpfaXNkaXIiLCAmcG8pKSB7Ci0gICAgICAgIFB5X1VOSUNPREUgKndwYXRoID0gUHlVbmljb2RlX0FTX1VOSUNPREUocG8pOworICAgICAgICB3Y2hhcl90ICp3cGF0aCA9IFB5VW5pY29kZV9Bc1VuaWNvZGUocG8pOworICAgICAgICBpZiAod3BhdGggPT0gTlVMTCkKKyAgICAgICAgICAgIHJldHVybiBOVUxMOwogCiAgICAgICAgIGF0dHJpYnV0ZXMgPSBHZXRGaWxlQXR0cmlidXRlc1cod3BhdGgpOwogICAgICAgICBpZiAoYXR0cmlidXRlcyA9PSBJTlZBTElEX0ZJTEVfQVRUUklCVVRFUykKQEAgLTI4ODksMTEgKzMxMzMsMTAgQEAKICAgICAgICBhcmUgYWxzbyB2YWxpZC4gKi8KICAgICBQeUVycl9DbGVhcigpOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJPJjpfaXNkaXIiLAotICAgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfRlNDb252ZXJ0ZXIsICZvcGF0aCkpCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJ5Ol9pc2RpciIsICZwYXRoKSkKICAgICAgICAgcmV0dXJuIE5VTEw7Ci0KLSAgICBwYXRoID0gUHlCeXRlc19Bc1N0cmluZyhvcGF0aCk7CisgICAgaWYgKHdpbjMyX3dhcm5fYnl0ZXNfYXBpKCkpCisgICAgICAgIHJldHVybiBOVUxMOwogICAgIGF0dHJpYnV0ZXMgPSBHZXRGaWxlQXR0cmlidXRlc0EocGF0aCk7CiAgICAgaWYgKGF0dHJpYnV0ZXMgPT0gSU5WQUxJRF9GSUxFX0FUVFJJQlVURVMpCiAgICAgICAgIFB5X1JFVFVSTl9GQUxTRTsKQEAgLTI5MTQsNDQgKzMxNTcsNDMgQEAKIHBvc2l4X21rZGlyKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKIHsKICAgICBpbnQgcmVzOwotICAgIFB5T2JqZWN0ICpvcGF0aDsKLSAgICBjaGFyICpwYXRoOworICAgIGNvbnN0IGNoYXIgKnBhdGg7CiAgICAgaW50IG1vZGUgPSAwNzc3OwogCiAjaWZkZWYgTVNfV0lORE9XUwotICAgIFB5VW5pY29kZU9iamVjdCAqcG87Ci0gICAgaWYgKFB5QXJnX1BhcnNlVHVwbGUoYXJncywgIlV8aTpta2RpciIsICZwbywgJm1vZGUpKSB7CisgICAgUHlPYmplY3QgKnBvOworICAgIGlmIChQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJVfGk6bWtkaXIiLCAmcG8sICZtb2RlKSkKKyAgICB7CisgICAgICAgIHdjaGFyX3QgKndwYXRoID0gUHlVbmljb2RlX0FzVW5pY29kZShwbyk7CisgICAgICAgIGlmICh3cGF0aCA9PSBOVUxMKQorICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisKICAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgICAgICAvKiBQeVVuaWNvZGVfQVNfVU5JQ09ERSBPSyB3aXRob3V0IHRocmVhZCBsb2NrIGFzCi0gICAgICAgICAgIGl0IGlzIGEgc2ltcGxlIGRlcmVmZXJlbmNlLiAqLwotICAgICAgICByZXMgPSBDcmVhdGVEaXJlY3RvcnlXKFB5VW5pY29kZV9BU19VTklDT0RFKHBvKSwgTlVMTCk7CisgICAgICAgIHJlcyA9IENyZWF0ZURpcmVjdG9yeVcod3BhdGgsIE5VTEwpOwogICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwogICAgICAgICBpZiAoIXJlcykKLSAgICAgICAgICAgIHJldHVybiB3aW4zMl9lcnJvcl91bmljb2RlKCJta2RpciIsIFB5VW5pY29kZV9BU19VTklDT0RFKHBvKSk7CisgICAgICAgICAgICByZXR1cm4gd2luMzJfZXJyb3Jfb2JqZWN0KCJta2RpciIsIHBvKTsKICAgICAgICAgUHlfSU5DUkVGKFB5X05vbmUpOwogICAgICAgICByZXR1cm4gUHlfTm9uZTsKICAgICB9CiAgICAgLyogRHJvcCB0aGUgYXJndW1lbnQgcGFyc2luZyBlcnJvciBhcyBuYXJyb3cgc3RyaW5ncwogICAgICAgIGFyZSBhbHNvIHZhbGlkLiAqLwogICAgIFB5RXJyX0NsZWFyKCk7Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJPJnxpOm1rZGlyIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0ZTQ29udmVydGVyLCAmb3BhdGgsICZtb2RlKSkKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgInl8aTpta2RpciIsICZwYXRoLCAmbW9kZSkpCiAgICAgICAgIHJldHVybiBOVUxMOwotICAgIHBhdGggPSBQeUJ5dGVzX0FzU3RyaW5nKG9wYXRoKTsKKyAgICBpZiAod2luMzJfd2Fybl9ieXRlc19hcGkoKSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgIC8qIFB5VW5pY29kZV9BU19VTklDT0RFIE9LIHdpdGhvdXQgdGhyZWFkIGxvY2sgYXMKLSAgICAgICBpdCBpcyBhIHNpbXBsZSBkZXJlZmVyZW5jZS4gKi8KICAgICByZXMgPSBDcmVhdGVEaXJlY3RvcnlBKHBhdGgsIE5VTEwpOwogICAgIFB5X0VORF9BTExPV19USFJFQURTCiAgICAgaWYgKCFyZXMpIHsKICAgICAgICAgd2luMzJfZXJyb3IoIm1rZGlyIiwgcGF0aCk7Ci0gICAgICAgIFB5X0RFQ1JFRihvcGF0aCk7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KLSAgICBQeV9ERUNSRUYob3BhdGgpOwogICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKICAgICByZXR1cm4gUHlfTm9uZTsKICNlbHNlCisgICAgUHlPYmplY3QgKm9wYXRoOwogCiAgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJPJnxpOm1rZGlyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0ZTQ29udmVydGVyLCAmb3BhdGgsICZtb2RlKSkKQEAgLTMwMTUsNiArMzI1NywxMTAgQEAKIH0KICNlbmRpZiAvKiBIQVZFX05JQ0UgKi8KIAorCisjaWZkZWYgSEFWRV9HRVRQUklPUklUWQorUHlEb2NfU1RSVkFSKHBvc2l4X2dldHByaW9yaXR5X19kb2NfXywKKyJnZXRwcmlvcml0eSh3aGljaCwgd2hvKSAtPiBjdXJyZW50X3ByaW9yaXR5XG5cblwKK0dldCBwcm9ncmFtIHNjaGVkdWxpbmcgcHJpb3JpdHkuIik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitwb3NpeF9nZXRwcmlvcml0eShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgaW50IHdoaWNoLCB3aG8sIHJldHZhbDsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiaWkiLCAmd2hpY2gsICZ3aG8pKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBlcnJubyA9IDA7CisgICAgcmV0dmFsID0gZ2V0cHJpb3JpdHkod2hpY2gsIHdobyk7CisgICAgaWYgKGVycm5vICE9IDApCisgICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOworICAgIHJldHVybiBQeUxvbmdfRnJvbUxvbmcoKGxvbmcpcmV0dmFsKTsKK30KKyNlbmRpZiAvKiBIQVZFX0dFVFBSSU9SSVRZICovCisKKworI2lmZGVmIEhBVkVfU0VUUFJJT1JJVFkKK1B5RG9jX1NUUlZBUihwb3NpeF9zZXRwcmlvcml0eV9fZG9jX18sCisic2V0cHJpb3JpdHkod2hpY2gsIHdobywgcHJpbykgLT4gTm9uZVxuXG5cCitTZXQgcHJvZ3JhbSBzY2hlZHVsaW5nIHByaW9yaXR5LiIpOworCitzdGF0aWMgUHlPYmplY3QgKgorcG9zaXhfc2V0cHJpb3JpdHkoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQoreworICAgIGludCB3aGljaCwgd2hvLCBwcmlvLCByZXR2YWw7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgImlpaSIsICZ3aGljaCwgJndobywgJnByaW8pKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICByZXR2YWwgPSBzZXRwcmlvcml0eSh3aGljaCwgd2hvLCBwcmlvKTsKKyAgICBpZiAocmV0dmFsID09IC0xKQorICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKKyAgICBQeV9SRVRVUk5fTk9ORTsKK30KKyNlbmRpZiAvKiBIQVZFX1NFVFBSSU9SSVRZICovCisKKworc3RhdGljIFB5T2JqZWN0ICoKK2ludGVybmFsX3JlbmFtZShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIGludCBpc19yZXBsYWNlKQoreworI2lmZGVmIE1TX1dJTkRPV1MKKyAgICBQeU9iamVjdCAqc3JjLCAqZHN0OworICAgIEJPT0wgcmVzdWx0OworICAgIGludCBmbGFncyA9IGlzX3JlcGxhY2UgPyBNT1ZFRklMRV9SRVBMQUNFX0VYSVNUSU5HIDogMDsKKyAgICBpZiAoUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAgICAgICAgICAgICAgICAgIGlzX3JlcGxhY2UgPyAiVVU6cmVwbGFjZSIgOiAiVVU6cmVuYW1lIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAmc3JjLCAmZHN0KSkKKyAgICB7CisgICAgICAgIHdjaGFyX3QgKndzcmMsICp3ZHN0OworCisgICAgICAgIHdzcmMgPSBQeVVuaWNvZGVfQXNVbmljb2RlKHNyYyk7CisgICAgICAgIGlmICh3c3JjID09IE5VTEwpCisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgd2RzdCA9IFB5VW5pY29kZV9Bc1VuaWNvZGUoZHN0KTsKKyAgICAgICAgaWYgKHdkc3QgPT0gTlVMTCkKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCisgICAgICAgIHJlc3VsdCA9IE1vdmVGaWxlRXhXKHdzcmMsIHdkc3QsIGZsYWdzKTsKKyAgICAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKyAgICAgICAgaWYgKCFyZXN1bHQpCisgICAgICAgICAgICByZXR1cm4gd2luMzJfZXJyb3IoaXNfcmVwbGFjZSA/ICJyZXBsYWNlIiA6ICJyZW5hbWUiLCBOVUxMKTsKKyAgICAgICAgUHlfSU5DUkVGKFB5X05vbmUpOworICAgICAgICByZXR1cm4gUHlfTm9uZTsKKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIFB5RXJyX0NsZWFyKCk7CisgICAgICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNfcmVwbGFjZSA/ICJPJk8mOnJlcGxhY2UiIDogIk8mTyY6cmVuYW1lIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9GU0NvbnZlcnRlciwgJnNyYywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9GU0NvbnZlcnRlciwgJmRzdCkpCisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKworICAgICAgICBpZiAod2luMzJfd2Fybl9ieXRlc19hcGkoKSkKKyAgICAgICAgICAgIGdvdG8gZXJyb3I7CisKKyAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUworICAgICAgICByZXN1bHQgPSBNb3ZlRmlsZUV4QShQeUJ5dGVzX0FTX1NUUklORyhzcmMpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeUJ5dGVzX0FTX1NUUklORyhkc3QpLCBmbGFncyk7CisgICAgICAgIFB5X0VORF9BTExPV19USFJFQURTCisKKyAgICAgICAgUHlfWERFQ1JFRihzcmMpOworICAgICAgICBQeV9YREVDUkVGKGRzdCk7CisKKyAgICAgICAgaWYgKCFyZXN1bHQpCisgICAgICAgICAgICByZXR1cm4gd2luMzJfZXJyb3IoaXNfcmVwbGFjZSA/ICJyZXBsYWNlIiA6ICJyZW5hbWUiLCBOVUxMKTsKKyAgICAgICAgUHlfSU5DUkVGKFB5X05vbmUpOworICAgICAgICByZXR1cm4gUHlfTm9uZTsKKworZXJyb3I6CisgICAgICAgIFB5X1hERUNSRUYoc3JjKTsKKyAgICAgICAgUHlfWERFQ1JFRihkc3QpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisjZWxzZQorICAgIHJldHVybiBwb3NpeF8yc3RyKGFyZ3MsCisgICAgICAgICAgICAgICAgICAgICAgaXNfcmVwbGFjZSA/ICJPJk8mOnJlcGxhY2UiIDogIk8mTyY6cmVuYW1lIiwgcmVuYW1lKTsKKyNlbmRpZgorfQorCiBQeURvY19TVFJWQVIocG9zaXhfcmVuYW1lX19kb2NfXywKICJyZW5hbWUob2xkLCBuZXcpXG5cblwKIFJlbmFtZSBhIGZpbGUgb3IgZGlyZWN0b3J5LiIpOwpAQCAtMzAyMiw0NCArMzM2OCwxOCBAQAogc3RhdGljIFB5T2JqZWN0ICoKIHBvc2l4X3JlbmFtZShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCiB7Ci0jaWZkZWYgTVNfV0lORE9XUwotICAgIFB5T2JqZWN0ICpvMSwgKm8yOwotICAgIGNoYXIgKnAxLCAqcDI7Ci0gICAgQk9PTCByZXN1bHQ7Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJPTzpyZW5hbWUiLCAmbzEsICZvMikpCi0gICAgICAgIGdvdG8gZXJyb3I7Ci0gICAgaWYgKCFjb252ZXJ0X3RvX3VuaWNvZGUoJm8xKSkKLSAgICAgICAgZ290byBlcnJvcjsKLSAgICBpZiAoIWNvbnZlcnRfdG9fdW5pY29kZSgmbzIpKSB7Ci0gICAgICAgIFB5X0RFQ1JFRihvMSk7Ci0gICAgICAgIGdvdG8gZXJyb3I7Ci0gICAgfQotICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKLSAgICByZXN1bHQgPSBNb3ZlRmlsZVcoUHlVbmljb2RlX0FzVW5pY29kZShvMSksCi0gICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9Bc1VuaWNvZGUobzIpKTsKLSAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwotICAgIFB5X0RFQ1JFRihvMSk7Ci0gICAgUHlfREVDUkVGKG8yKTsKLSAgICBpZiAoIXJlc3VsdCkKLSAgICAgICAgcmV0dXJuIHdpbjMyX2Vycm9yKCJyZW5hbWUiLCBOVUxMKTsKLSAgICBQeV9JTkNSRUYoUHlfTm9uZSk7Ci0gICAgcmV0dXJuIFB5X05vbmU7Ci1lcnJvcjoKLSAgICBQeUVycl9DbGVhcigpOwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAic3M6cmVuYW1lIiwgJnAxLCAmcDIpKQotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCi0gICAgcmVzdWx0ID0gTW92ZUZpbGVBKHAxLCBwMik7Ci0gICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKLSAgICBpZiAoIXJlc3VsdCkKLSAgICAgICAgcmV0dXJuIHdpbjMyX2Vycm9yKCJyZW5hbWUiLCBOVUxMKTsKLSAgICBQeV9JTkNSRUYoUHlfTm9uZSk7Ci0gICAgcmV0dXJuIFB5X05vbmU7Ci0jZWxzZQotICAgIHJldHVybiBwb3NpeF8yc3RyKGFyZ3MsICJPJk8mOnJlbmFtZSIsIHJlbmFtZSk7Ci0jZW5kaWYKKyAgICByZXR1cm4gaW50ZXJuYWxfcmVuYW1lKHNlbGYsIGFyZ3MsIDApOwogfQogCitQeURvY19TVFJWQVIocG9zaXhfcmVwbGFjZV9fZG9jX18sCisicmVwbGFjZShvbGQsIG5ldylcblxuXAorUmVuYW1lIGEgZmlsZSBvciBkaXJlY3RvcnksIG92ZXJ3cml0aW5nIHRoZSBkZXN0aW5hdGlvbi4iKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK3Bvc2l4X3JlcGxhY2UoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQoreworICAgIHJldHVybiBpbnRlcm5hbF9yZW5hbWUoc2VsZiwgYXJncywgMSk7Cit9CiAKIFB5RG9jX1NUUlZBUihwb3NpeF9ybWRpcl9fZG9jX18sCiAicm1kaXIocGF0aClcblxuXApAQCAtMzIyMyw4MyArMzU0Myw0OSBAQAogfQogI2VuZGlmIC8qIEhBVkVfVU5BTUUgKi8KIAotc3RhdGljIGludAotZXh0cmFjdF90aW1lKFB5T2JqZWN0ICp0LCB0aW1lX3QqIHNlYywgbG9uZyogdXNlYykKLXsKLSAgICB0aW1lX3QgaW50dmFsOwotICAgIGlmIChQeUZsb2F0X0NoZWNrKHQpKSB7Ci0gICAgICAgIGRvdWJsZSB0dmFsID0gUHlGbG9hdF9Bc0RvdWJsZSh0KTsKLSAgICAgICAgUHlPYmplY3QgKmludG9iaiA9IFB5TnVtYmVyX0xvbmcodCk7Ci0gICAgICAgIGlmICghaW50b2JqKQotICAgICAgICAgICAgcmV0dXJuIC0xOwotI2lmIFNJWkVPRl9USU1FX1QgPiBTSVpFT0ZfTE9ORwotICAgICAgICBpbnR2YWwgPSBQeUxvbmdfQXNVbnNpZ25lZExvbmdMb25nTWFzayhpbnRvYmopOwotI2Vsc2UKLSAgICAgICAgaW50dmFsID0gUHlMb25nX0FzTG9uZyhpbnRvYmopOwotI2VuZGlmCi0gICAgICAgIFB5X0RFQ1JFRihpbnRvYmopOwotICAgICAgICBpZiAoaW50dmFsID09IC0xICYmIFB5RXJyX09jY3VycmVkKCkpCi0gICAgICAgICAgICByZXR1cm4gLTE7Ci0gICAgICAgICpzZWMgPSBpbnR2YWw7Ci0gICAgICAgICp1c2VjID0gKGxvbmcpKCh0dmFsIC0gaW50dmFsKSAqIDFlNik7IC8qIGNhbid0IGV4Y2VlZCAxMDAwMDAwICovCi0gICAgICAgIGlmICgqdXNlYyA8IDApCi0gICAgICAgICAgICAvKiBJZiByb3VuZGluZyBnYXZlIHVzIGEgbmVnYXRpdmUgbnVtYmVyLAotICAgICAgICAgICAgICAgdHJ1bmNhdGUuICAqLwotICAgICAgICAgICAgKnVzZWMgPSAwOwotICAgICAgICByZXR1cm4gMDsKLSAgICB9Ci0jaWYgU0laRU9GX1RJTUVfVCA+IFNJWkVPRl9MT05HCi0gICAgaW50dmFsID0gUHlMb25nX0FzVW5zaWduZWRMb25nTG9uZ01hc2sodCk7Ci0jZWxzZQotICAgIGludHZhbCA9IFB5TG9uZ19Bc0xvbmcodCk7Ci0jZW5kaWYKLSAgICBpZiAoaW50dmFsID09IC0xICYmIFB5RXJyX09jY3VycmVkKCkpCi0gICAgICAgIHJldHVybiAtMTsKLSAgICAqc2VjID0gaW50dmFsOwotICAgICp1c2VjID0gMDsKLSAgICByZXR1cm4gMDsKLX0KIAogUHlEb2NfU1RSVkFSKHBvc2l4X3V0aW1lX19kb2NfXywKLSJ1dGltZShwYXRoLCAoYXRpbWUsIG10aW1lKSlcblwKLXV0aW1lKHBhdGgsIE5vbmUpXG5cblwKLVNldCB0aGUgYWNjZXNzIGFuZCBtb2RpZmllZCB0aW1lIG9mIHRoZSBmaWxlIHRvIHRoZSBnaXZlbiB2YWx1ZXMuICBJZiB0aGVcblwKLXNlY29uZCBmb3JtIGlzIHVzZWQsIHNldCB0aGUgYWNjZXNzIGFuZCBtb2RpZmllZCB0aW1lcyB0byB0aGUgY3VycmVudCB0aW1lLiIpOworInV0aW1lKHBhdGhbLCAoYXRpbWUsIG10aW1lKV0pXG5cCitTZXQgdGhlIGFjY2VzcyBhbmQgbW9kaWZpZWQgdGltZSBvZiB0aGUgZmlsZSB0byB0aGUgZ2l2ZW4gdmFsdWVzLlxuXAorSWYgbm8gc2Vjb25kIGFyZ3VtZW50IGlzIHVzZWQsIHNldCB0aGUgYWNjZXNzIGFuZCBtb2RpZmllZCB0aW1lcyB0b1xuXAordGhlIGN1cnJlbnQgdGltZS4iKTsKIAogc3RhdGljIFB5T2JqZWN0ICoKIHBvc2l4X3V0aW1lKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKIHsKICNpZmRlZiBNU19XSU5ET1dTCi0gICAgUHlPYmplY3QgKmFyZzsKLSAgICBQeVVuaWNvZGVPYmplY3QgKm9id3BhdGg7CisgICAgUHlPYmplY3QgKmFyZyA9IFB5X05vbmU7CisgICAgUHlPYmplY3QgKm9id3BhdGg7CiAgICAgd2NoYXJfdCAqd3BhdGggPSBOVUxMOwotICAgIFB5T2JqZWN0ICpvYXBhdGg7Ci0gICAgY2hhciAqYXBhdGg7CisgICAgY29uc3QgY2hhciAqYXBhdGg7CiAgICAgSEFORExFIGhGaWxlOwogICAgIHRpbWVfdCBhdGltZXNlYywgbXRpbWVzZWM7Ci0gICAgbG9uZyBhdXNlYywgbXVzZWM7CisgICAgbG9uZyBhbnNlYywgbW5zZWM7CiAgICAgRklMRVRJTUUgYXRpbWUsIG10aW1lOwogICAgIFB5T2JqZWN0ICpyZXN1bHQgPSBOVUxMOwogCi0gICAgaWYgKFB5QXJnX1BhcnNlVHVwbGUoYXJncywgIlVPfDp1dGltZSIsICZvYndwYXRoLCAmYXJnKSkgewotICAgICAgICB3cGF0aCA9IFB5VW5pY29kZV9BU19VTklDT0RFKG9id3BhdGgpOworICAgIGlmIChQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJVfE86dXRpbWUiLCAmb2J3cGF0aCwgJmFyZykpIHsKKyAgICAgICAgd3BhdGggPSBQeVVuaWNvZGVfQXNVbmljb2RlKG9id3BhdGgpOworICAgICAgICBpZiAod3BhdGggPT0gTlVMTCkKKyAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCiAgICAgICAgIGhGaWxlID0gQ3JlYXRlRmlsZVcod3BhdGgsIEZJTEVfV1JJVEVfQVRUUklCVVRFUywgMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCBPUEVOX0VYSVNUSU5HLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZJTEVfRkxBR19CQUNLVVBfU0VNQU5USUNTLCBOVUxMKTsKICAgICAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKICAgICAgICAgaWYgKGhGaWxlID09IElOVkFMSURfSEFORExFX1ZBTFVFKQotICAgICAgICAgICAgcmV0dXJuIHdpbjMyX2Vycm9yX3VuaWNvZGUoInV0aW1lIiwgd3BhdGgpOwotICAgIH0gZWxzZQorICAgICAgICAgICAgcmV0dXJuIHdpbjMyX2Vycm9yX29iamVjdCgidXRpbWUiLCBvYndwYXRoKTsKKyAgICB9CisgICAgZWxzZSB7CiAgICAgICAgIC8qIERyb3AgdGhlIGFyZ3VtZW50IHBhcnNpbmcgZXJyb3IgYXMgbmFycm93IHN0cmluZ3MKICAgICAgICAgICAgYXJlIGFsc28gdmFsaWQuICovCiAgICAgICAgIFB5RXJyX0NsZWFyKCk7CiAKLSAgICBpZiAoIXdwYXRoKSB7Ci0gICAgICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiTyZPOnV0aW1lIiwKLSAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9GU0NvbnZlcnRlciwgJm9hcGF0aCwgJmFyZykpCisgICAgICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAieXxPOnV0aW1lIiwgJmFwYXRoLCAmYXJnKSkKICAgICAgICAgICAgIHJldHVybiBOVUxMOwotICAgICAgICBhcGF0aCA9IFB5Qnl0ZXNfQXNTdHJpbmcob2FwYXRoKTsKKyAgICAgICAgaWYgKHdpbjMyX3dhcm5fYnl0ZXNfYXBpKCkpCisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKwogICAgICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCiAgICAgICAgIGhGaWxlID0gQ3JlYXRlRmlsZUEoYXBhdGgsIEZJTEVfV1JJVEVfQVRUUklCVVRFUywgMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCBPUEVOX0VYSVNUSU5HLApAQCAtMzMwNywxMCArMzU5Myw4IEBACiAgICAgICAgIFB5X0VORF9BTExPV19USFJFQURTCiAgICAgICAgIGlmIChoRmlsZSA9PSBJTlZBTElEX0hBTkRMRV9WQUxVRSkgewogICAgICAgICAgICAgd2luMzJfZXJyb3IoInV0aW1lIiwgYXBhdGgpOwotICAgICAgICAgICAgUHlfREVDUkVGKG9hcGF0aCk7CiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICAgICAgfQotICAgICAgICBQeV9ERUNSRUYob2FwYXRoKTsKICAgICB9CiAKICAgICBpZiAoYXJnID09IFB5X05vbmUpIHsKQEAgLTMzMjgsMTQgKzM2MTIsMTQgQEAKICAgICAgICAgZ290byBkb25lOwogICAgIH0KICAgICBlbHNlIHsKLSAgICAgICAgaWYgKGV4dHJhY3RfdGltZShQeVR1cGxlX0dFVF9JVEVNKGFyZywgMCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgJmF0aW1lc2VjLCAmYXVzZWMpID09IC0xKQorICAgICAgICBpZiAoX1B5VGltZV9PYmplY3RUb1RpbWVzcGVjKFB5VHVwbGVfR0VUX0lURU0oYXJnLCAwKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmYXRpbWVzZWMsICZhbnNlYykgPT0gLTEpCiAgICAgICAgICAgICBnb3RvIGRvbmU7Ci0gICAgICAgIHRpbWVfdF90b19GSUxFX1RJTUUoYXRpbWVzZWMsIDEwMDAqYXVzZWMsICZhdGltZSk7Ci0gICAgICAgIGlmIChleHRyYWN0X3RpbWUoUHlUdXBsZV9HRVRfSVRFTShhcmcsIDEpLAotICAgICAgICAgICAgICAgICAgICAgICAgICZtdGltZXNlYywgJm11c2VjKSA9PSAtMSkKKyAgICAgICAgdGltZV90X3RvX0ZJTEVfVElNRShhdGltZXNlYywgYW5zZWMsICZhdGltZSk7CisgICAgICAgIGlmIChfUHlUaW1lX09iamVjdFRvVGltZXNwZWMoUHlUdXBsZV9HRVRfSVRFTShhcmcsIDEpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZtdGltZXNlYywgJm1uc2VjKSA9PSAtMSkKICAgICAgICAgICAgIGdvdG8gZG9uZTsKLSAgICAgICAgdGltZV90X3RvX0ZJTEVfVElNRShtdGltZXNlYywgMTAwMCptdXNlYywgJm10aW1lKTsKKyAgICAgICAgdGltZV90X3RvX0ZJTEVfVElNRShtdGltZXNlYywgbW5zZWMsICZtdGltZSk7CiAgICAgfQogICAgIGlmICghU2V0RmlsZVRpbWUoaEZpbGUsIE5VTEwsICZhdGltZSwgJm10aW1lKSkgewogICAgICAgICAvKiBBdm9pZCBwdXR0aW5nIHRoZSBmaWxlIG5hbWUgaW50byB0aGUgZXJyb3IgaGVyZSwKQEAgLTMzNTUsMjkgKzM2MzksMTEgQEAKICAgICBQeU9iamVjdCAqb3BhdGg7CiAgICAgY2hhciAqcGF0aDsKICAgICB0aW1lX3QgYXRpbWUsIG10aW1lOwotICAgIGxvbmcgYXVzZWMsIG11c2VjOworICAgIGxvbmcgYW5zZWMsIG1uc2VjOwogICAgIGludCByZXM7Ci0gICAgUHlPYmplY3QqIGFyZzsKKyAgICBQeU9iamVjdCogYXJnID0gUHlfTm9uZTsKIAotI2lmIGRlZmluZWQoSEFWRV9VVElNRVMpCi0gICAgc3RydWN0IHRpbWV2YWwgYnVmWzJdOwotI2RlZmluZSBBVElNRSBidWZbMF0udHZfc2VjCi0jZGVmaW5lIE1USU1FIGJ1ZlsxXS50dl9zZWMKLSNlbGlmIGRlZmluZWQoSEFWRV9VVElNRV9IKQotLyogWFhYIHNob3VsZCBkZWZpbmUgc3RydWN0IHV0aW1idWYgaW5zdGVhZCwgYWJvdmUgKi8KLSAgICBzdHJ1Y3QgdXRpbWJ1ZiBidWY7Ci0jZGVmaW5lIEFUSU1FIGJ1Zi5hY3RpbWUKLSNkZWZpbmUgTVRJTUUgYnVmLm1vZHRpbWUKLSNkZWZpbmUgVVRJTUVfQVJHICZidWYKLSNlbHNlIC8qIEhBVkVfVVRJTUVTICovCi0gICAgdGltZV90IGJ1ZlsyXTsKLSNkZWZpbmUgQVRJTUUgYnVmWzBdCi0jZGVmaW5lIE1USU1FIGJ1ZlsxXQotI2RlZmluZSBVVElNRV9BUkcgYnVmCi0jZW5kaWYgLyogSEFWRV9VVElNRVMgKi8KLQotCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJPJk86dXRpbWUiLAorICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiTyZ8Tzp1dGltZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9GU0NvbnZlcnRlciwgJm9wYXRoLCAmYXJnKSkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgcGF0aCA9IFB5Qnl0ZXNfQXNTdHJpbmcob3BhdGgpOwpAQCAtMzM5NCwyOSArMzY2MCw0NyBAQAogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAgICAgZWxzZSB7Ci0gICAgICAgIGlmIChleHRyYWN0X3RpbWUoUHlUdXBsZV9HRVRfSVRFTShhcmcsIDApLAotICAgICAgICAgICAgICAgICAgICAgICAgICZhdGltZSwgJmF1c2VjKSA9PSAtMSkgeworICAgICAgICBpZiAoX1B5VGltZV9PYmplY3RUb1RpbWVzcGVjKFB5VHVwbGVfR0VUX0lURU0oYXJnLCAwKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmYXRpbWUsICZhbnNlYykgPT0gLTEpIHsKICAgICAgICAgICAgIFB5X0RFQ1JFRihvcGF0aCk7CiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICAgICAgfQotICAgICAgICBpZiAoZXh0cmFjdF90aW1lKFB5VHVwbGVfR0VUX0lURU0oYXJnLCAxKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAmbXRpbWUsICZtdXNlYykgPT0gLTEpIHsKKyAgICAgICAgaWYgKF9QeVRpbWVfT2JqZWN0VG9UaW1lc3BlYyhQeVR1cGxlX0dFVF9JVEVNKGFyZywgMSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJm10aW1lLCAmbW5zZWMpID09IC0xKSB7CiAgICAgICAgICAgICBQeV9ERUNSRUYob3BhdGgpOwogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgIH0KLSAgICAgICAgQVRJTUUgPSBhdGltZTsKLSAgICAgICAgTVRJTUUgPSBtdGltZTsKLSNpZmRlZiBIQVZFX1VUSU1FUwotICAgICAgICBidWZbMF0udHZfdXNlYyA9IGF1c2VjOwotICAgICAgICBidWZbMV0udHZfdXNlYyA9IG11c2VjOworCiAgICAgICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKKyAgICAgICAgeworI2lmZGVmIEhBVkVfVVRJTUVOU0FUCisgICAgICAgIHN0cnVjdCB0aW1lc3BlYyBidWZbMl07CisgICAgICAgIGJ1ZlswXS50dl9zZWMgPSBhdGltZTsKKyAgICAgICAgYnVmWzBdLnR2X25zZWMgPSBhbnNlYzsKKyAgICAgICAgYnVmWzFdLnR2X3NlYyA9IG10aW1lOworICAgICAgICBidWZbMV0udHZfbnNlYyA9IG1uc2VjOworICAgICAgICByZXMgPSB1dGltZW5zYXQoQVRfRkRDV0QsIHBhdGgsIGJ1ZiwgMCk7CisjZWxpZiBkZWZpbmVkKEhBVkVfVVRJTUVTKQorICAgICAgICBzdHJ1Y3QgdGltZXZhbCBidWZbMl07CisgICAgICAgIGJ1ZlswXS50dl9zZWMgPSBhdGltZTsKKyAgICAgICAgYnVmWzBdLnR2X3VzZWMgPSBhbnNlYyAvIDEwMDA7CisgICAgICAgIGJ1ZlsxXS50dl9zZWMgPSBtdGltZTsKKyAgICAgICAgYnVmWzFdLnR2X3VzZWMgPSBtbnNlYyAvIDEwMDA7CiAgICAgICAgIHJlcyA9IHV0aW1lcyhwYXRoLCBidWYpOwotICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworI2VsaWYgZGVmaW5lZChIQVZFX1VUSU1FX0gpCisgICAgICAgIC8qIFhYWCBzaG91bGQgZGVmaW5lIHN0cnVjdCB1dGltYnVmIGluc3RlYWQsIGFib3ZlICovCisgICAgICAgIHN0cnVjdCB1dGltYnVmIGJ1ZjsKKyAgICAgICAgYnVmLmFjdGltZSA9IGF0aW1lOworICAgICAgICBidWYubW9kdGltZSA9IG10aW1lOworICAgICAgICByZXMgPSB1dGltZShwYXRoLCAmYnVmKTsKICNlbHNlCi0gICAgICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKLSAgICAgICAgcmVzID0gdXRpbWUocGF0aCwgVVRJTUVfQVJHKTsKKyAgICAgICAgdGltZV90IGJ1ZlsyXTsKKyAgICAgICAgYnVmWzBdID0gYXRpbWU7CisgICAgICAgIGJ1ZlsxXSA9IG10aW1lOworICAgICAgICByZXMgPSB1dGltZShwYXRoLCBidWYpOworI2VuZGlmCisgICAgICAgIH0KICAgICAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKLSNlbmRpZiAvKiBIQVZFX1VUSU1FUyAqLwogICAgIH0KICAgICBpZiAocmVzIDwgMCkgewogICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3Jfd2l0aF9hbGxvY2F0ZWRfZmlsZW5hbWUob3BhdGgpOwpAQCAtMzQyNCwxMiArMzcwOCwxOTggQEAKICAgICBQeV9ERUNSRUYob3BhdGgpOwogICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKICAgICByZXR1cm4gUHlfTm9uZTsKLSN1bmRlZiBVVElNRV9BUkcKLSN1bmRlZiBBVElNRQotI3VuZGVmIE1USU1FCisjdW5kZWYgVVRJTUVfRVhUUkFDVAogI2VuZGlmIC8qIE1TX1dJTkRPV1MgKi8KIH0KIAorI2lmZGVmIEhBVkVfRlVUSU1FUworUHlEb2NfU1RSVkFSKHBvc2l4X2Z1dGltZXNfX2RvY19fLAorImZ1dGltZXMoZmRbLCAoYXRpbWUsIG10aW1lKV0pXG5cCitTZXQgdGhlIGFjY2VzcyBhbmQgbW9kaWZpZWQgdGltZSBvZiB0aGUgZmlsZSBzcGVjaWZpZWQgYnkgdGhlIGZpbGVcblwKK2Rlc2NyaXB0b3IgZmQgdG8gdGhlIGdpdmVuIHZhbHVlcy4gSWYgbm8gc2Vjb25kIGFyZ3VtZW50IGlzIHVzZWQsIHNldCB0aGVcblwKK2FjY2VzcyBhbmQgbW9kaWZpZWQgdGltZXMgdG8gdGhlIGN1cnJlbnQgdGltZS4iKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK3Bvc2l4X2Z1dGltZXMoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQoreworICAgIGludCByZXMsIGZkOworICAgIFB5T2JqZWN0KiBhcmcgPSBQeV9Ob25lOworICAgIHRpbWVfdCBhdGltZSwgbXRpbWU7CisgICAgbG9uZyBhbnNlYywgbW5zZWM7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIml8TzpmdXRpbWVzIiwgJmZkLCAmYXJnKSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICBpZiAoYXJnID09IFB5X05vbmUpIHsKKyAgICAgICAgLyogb3B0aW9uYWwgdGltZSB2YWx1ZXMgbm90IGdpdmVuICovCisgICAgICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKKyAgICAgICAgcmVzID0gZnV0aW1lcyhmZCwgTlVMTCk7CisgICAgICAgIFB5X0VORF9BTExPV19USFJFQURTCisgICAgfQorICAgIGVsc2UgaWYgKCFQeVR1cGxlX0NoZWNrKGFyZykgfHwgUHlUdXBsZV9TaXplKGFyZykgIT0gMikgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLAorICAgICAgICAgICAgICAgICJmdXRpbWVzKCkgYXJnIDIgbXVzdCBiZSBhIHR1cGxlIChhdGltZSwgbXRpbWUpIik7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKyAgICBlbHNlIHsKKyAgICAgICAgaWYgKF9QeVRpbWVfT2JqZWN0VG9UaW1lc3BlYyhQeVR1cGxlX0dFVF9JVEVNKGFyZywgMCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmF0aW1lLCAmYW5zZWMpID09IC0xKSB7CisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgfQorICAgICAgICBpZiAoX1B5VGltZV9PYmplY3RUb1RpbWVzcGVjKFB5VHVwbGVfR0VUX0lURU0oYXJnLCAxKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbXRpbWUsICZtbnNlYykgPT0gLTEpIHsKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICB9CisgICAgICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKKyAgICAgICAgeworI2lmZGVmIEhBVkVfRlVUSU1FTlMKKyAgICAgICAgc3RydWN0IHRpbWVzcGVjIGJ1ZlsyXTsKKyAgICAgICAgYnVmWzBdLnR2X3NlYyA9IGF0aW1lOworICAgICAgICBidWZbMF0udHZfbnNlYyA9IGFuc2VjOworICAgICAgICBidWZbMV0udHZfc2VjID0gbXRpbWU7CisgICAgICAgIGJ1ZlsxXS50dl9uc2VjID0gbW5zZWM7CisgICAgICAgIHJlcyA9IGZ1dGltZW5zKGZkLCBidWYpOworI2Vsc2UKKyAgICAgICAgc3RydWN0IHRpbWV2YWwgYnVmWzJdOworICAgICAgICBidWZbMF0udHZfc2VjID0gYXRpbWU7CisgICAgICAgIGJ1ZlswXS50dl91c2VjID0gYW5zZWMgLyAxMDAwOworICAgICAgICBidWZbMV0udHZfc2VjID0gbXRpbWU7CisgICAgICAgIGJ1ZlsxXS50dl91c2VjID0gbW5zZWMgLyAxMDAwOworICAgICAgICByZXMgPSBmdXRpbWVzKGZkLCBidWYpOworI2VuZGlmCisgICAgICAgIH0KKyAgICAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKyAgICB9CisgICAgaWYgKHJlcyA8IDApCisgICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOworICAgIFB5X1JFVFVSTl9OT05FOworfQorI2VuZGlmCisKKyNpZmRlZiBIQVZFX0xVVElNRVMKK1B5RG9jX1NUUlZBUihwb3NpeF9sdXRpbWVzX19kb2NfXywKKyJsdXRpbWVzKHBhdGhbLCAoYXRpbWUsIG10aW1lKV0pXG5cCitMaWtlIHV0aW1lKCksIGJ1dCBpZiBwYXRoIGlzIGEgc3ltYm9saWMgbGluaywgaXQgaXMgbm90IGRlcmVmZXJlbmNlZC4iKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK3Bvc2l4X2x1dGltZXMoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpvcGF0aDsKKyAgICBQeU9iamVjdCAqYXJnID0gUHlfTm9uZTsKKyAgICBjb25zdCBjaGFyICpwYXRoOworICAgIGludCByZXM7CisgICAgdGltZV90IGF0aW1lLCBtdGltZTsKKyAgICBsb25nIGFuc2VjLCBtbnNlYzsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiTyZ8TzpsdXRpbWVzIiwKKyAgICAgICAgICAgIFB5VW5pY29kZV9GU0NvbnZlcnRlciwgJm9wYXRoLCAmYXJnKSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgcGF0aCA9IFB5Qnl0ZXNfQXNTdHJpbmcob3BhdGgpOworICAgIGlmIChhcmcgPT0gUHlfTm9uZSkgeworICAgICAgICAvKiBvcHRpb25hbCB0aW1lIHZhbHVlcyBub3QgZ2l2ZW4gKi8KKyAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUworICAgICAgICByZXMgPSBsdXRpbWVzKHBhdGgsIE5VTEwpOworICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworICAgIH0KKyAgICBlbHNlIGlmICghUHlUdXBsZV9DaGVjayhhcmcpIHx8IFB5VHVwbGVfU2l6ZShhcmcpICE9IDIpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwKKyAgICAgICAgICAgICJsdXRpbWVzKCkgYXJnIDIgbXVzdCBiZSBhIHR1cGxlIChhdGltZSwgbXRpbWUpIik7CisgICAgICAgIFB5X0RFQ1JFRihvcGF0aCk7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKyAgICBlbHNlIHsKKyAgICAgICAgaWYgKF9QeVRpbWVfT2JqZWN0VG9UaW1lc3BlYyhQeVR1cGxlX0dFVF9JVEVNKGFyZywgMCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmF0aW1lLCAmYW5zZWMpID09IC0xKSB7CisgICAgICAgICAgICBQeV9ERUNSRUYob3BhdGgpOworICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIH0KKyAgICAgICAgaWYgKF9QeVRpbWVfT2JqZWN0VG9UaW1lc3BlYyhQeVR1cGxlX0dFVF9JVEVNKGFyZywgMSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJm10aW1lLCAmbW5zZWMpID09IC0xKSB7CisgICAgICAgICAgICBQeV9ERUNSRUYob3BhdGgpOworICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIH0KKyAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUworICAgICAgICB7CisjaWZkZWYgSEFWRV9VVElNRU5TQVQKKyAgICAgICAgc3RydWN0IHRpbWVzcGVjIGJ1ZlsyXTsKKyAgICAgICAgYnVmWzBdLnR2X3NlYyA9IGF0aW1lOworICAgICAgICBidWZbMF0udHZfbnNlYyA9IGFuc2VjOworICAgICAgICBidWZbMV0udHZfc2VjID0gbXRpbWU7CisgICAgICAgIGJ1ZlsxXS50dl9uc2VjID0gbW5zZWM7CisgICAgICAgIHJlcyA9IHV0aW1lbnNhdChBVF9GRENXRCwgcGF0aCwgYnVmLCBBVF9TWU1MSU5LX05PRk9MTE9XKTsKKyNlbHNlCisgICAgICAgIHN0cnVjdCB0aW1ldmFsIGJ1ZlsyXTsKKyAgICAgICAgYnVmWzBdLnR2X3NlYyA9IGF0aW1lOworICAgICAgICBidWZbMF0udHZfdXNlYyA9IGFuc2VjIC8gMTAwMDsKKyAgICAgICAgYnVmWzFdLnR2X3NlYyA9IG10aW1lOworICAgICAgICBidWZbMV0udHZfdXNlYyA9IG1uc2VjIC8gMTAwMDsKKyAgICAgICAgcmVzID0gbHV0aW1lcyhwYXRoLCBidWYpOworI2VuZGlmCisgICAgICAgIH0KKyAgICAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKyAgICB9CisgICAgUHlfREVDUkVGKG9wYXRoKTsKKyAgICBpZiAocmVzIDwgMCkKKyAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7CisgICAgUHlfUkVUVVJOX05PTkU7Cit9CisjZW5kaWYKKworI2lmZGVmIEhBVkVfRlVUSU1FTlMKK1B5RG9jX1NUUlZBUihwb3NpeF9mdXRpbWVuc19fZG9jX18sCisiZnV0aW1lbnMoZmRbLCAoYXRpbWVfc2VjLCBhdGltZV9uc2VjKSwgKG10aW1lX3NlYywgbXRpbWVfbnNlYyldKVxuXAorVXBkYXRlcyB0aGUgdGltZXN0YW1wcyBvZiBhIGZpbGUgc3BlY2lmaWVkIGJ5IHRoZSBmaWxlIGRlc2NyaXB0b3IgZmQsIHdpdGhcblwKK25hbm9zZWNvbmQgcHJlY2lzaW9uLlxuXAorSWYgbm8gc2Vjb25kIGFyZ3VtZW50IGlzIGdpdmVuLCBzZXQgYXRpbWUgYW5kIG10aW1lIHRvIHRoZSBjdXJyZW50IHRpbWUuXG5cCitJZiAqX25zZWMgaXMgc3BlY2lmaWVkIGFzIFVUSU1FX05PVywgdGhlIHRpbWVzdGFtcCBpcyB1cGRhdGVkIHRvIHRoZVxuXAorY3VycmVudCB0aW1lLlxuXAorSWYgKl9uc2VjIGlzIHNwZWNpZmllZCBhcyBVVElNRV9PTUlULCB0aGUgdGltZXN0YW1wIGlzIG5vdCB1cGRhdGVkLiIpOworCitzdGF0aWMgUHlPYmplY3QgKgorcG9zaXhfZnV0aW1lbnMoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQoreworICAgIGludCByZXMsIGZkOworICAgIFB5T2JqZWN0ICphdGltZSA9IFB5X05vbmU7CisgICAgUHlPYmplY3QgKm10aW1lID0gUHlfTm9uZTsKKyAgICBzdHJ1Y3QgdGltZXNwZWMgYnVmWzJdOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJpfE9POmZ1dGltZW5zIiwKKyAgICAgICAgICAgICZmZCwgJmF0aW1lLCAmbXRpbWUpKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBpZiAoYXRpbWUgPT0gUHlfTm9uZSAmJiBtdGltZSA9PSBQeV9Ob25lKSB7CisgICAgICAgIC8qIG9wdGlvbmFsIHRpbWUgdmFsdWVzIG5vdCBnaXZlbiAqLworICAgICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCisgICAgICAgIHJlcyA9IGZ1dGltZW5zKGZkLCBOVUxMKTsKKyAgICAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKyAgICB9CisgICAgZWxzZSBpZiAoIVB5VHVwbGVfQ2hlY2soYXRpbWUpIHx8IFB5VHVwbGVfU2l6ZShhdGltZSkgIT0gMikgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLAorICAgICAgICAgICAgImZ1dGltZW5zKCkgYXJnIDIgbXVzdCBiZSBhIHR1cGxlIChhdGltZV9zZWMsIGF0aW1lX25zZWMpIik7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKyAgICBlbHNlIGlmICghUHlUdXBsZV9DaGVjayhtdGltZSkgfHwgUHlUdXBsZV9TaXplKG10aW1lKSAhPSAyKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsCisgICAgICAgICAgICAiZnV0aW1lbnMoKSBhcmcgMyBtdXN0IGJlIGEgdHVwbGUgKG10aW1lX3NlYywgbXRpbWVfbnNlYykiKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorICAgIGVsc2UgeworICAgICAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXRpbWUsICJsbDpmdXRpbWVucyIsCisgICAgICAgICAgICAgICAgJihidWZbMF0udHZfc2VjKSwgJihidWZbMF0udHZfbnNlYykpKSB7CisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgfQorICAgICAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUobXRpbWUsICJsbDpmdXRpbWVucyIsCisgICAgICAgICAgICAgICAgJihidWZbMV0udHZfc2VjKSwgJihidWZbMV0udHZfbnNlYykpKSB7CisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgfQorICAgICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCisgICAgICAgIHJlcyA9IGZ1dGltZW5zKGZkLCBidWYpOworICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworICAgIH0KKyAgICBpZiAocmVzIDwgMCkKKyAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7CisgICAgUHlfUkVUVVJOX05PTkU7Cit9CisjZW5kaWYKIAogLyogUHJvY2VzcyBvcGVyYXRpb25zICovCiAKQEAgLTM0NzQsNzkgKzM5NDQsNyBAQAogfQogI2VuZGlmCiAKLQotI2lmZGVmIEhBVkVfRVhFQ1YKLVB5RG9jX1NUUlZBUihwb3NpeF9leGVjdl9fZG9jX18sCi0iZXhlY3YocGF0aCwgYXJncylcblxuXAotRXhlY3V0ZSBhbiBleGVjdXRhYmxlIHBhdGggd2l0aCBhcmd1bWVudHMsIHJlcGxhY2luZyBjdXJyZW50IHByb2Nlc3MuXG5cCi1cblwKLSAgICBwYXRoOiBwYXRoIG9mIGV4ZWN1dGFibGUgZmlsZVxuXAotICAgIGFyZ3M6IHR1cGxlIG9yIGxpc3Qgb2Ygc3RyaW5ncyIpOwotCi1zdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfZXhlY3YoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQotewotICAgIFB5T2JqZWN0ICpvcGF0aDsKLSAgICBjaGFyICpwYXRoOwotICAgIFB5T2JqZWN0ICphcmd2OwotICAgIGNoYXIgKiphcmd2bGlzdDsKLSAgICBQeV9zc2l6ZV90IGksIGFyZ2M7Ci0gICAgUHlPYmplY3QgKigqZ2V0aXRlbSkoUHlPYmplY3QgKiwgUHlfc3NpemVfdCk7Ci0KLSAgICAvKiBleGVjdiBoYXMgdHdvIGFyZ3VtZW50czogKHBhdGgsIGFyZ3YpLCB3aGVyZQotICAgICAgIGFyZ3YgaXMgYSBsaXN0IG9yIHR1cGxlIG9mIHN0cmluZ3MuICovCi0KLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIk8mTzpleGVjdiIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9GU0NvbnZlcnRlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgJm9wYXRoLCAmYXJndikpCi0gICAgICAgIHJldHVybiBOVUxMOwotICAgIHBhdGggPSBQeUJ5dGVzX0FzU3RyaW5nKG9wYXRoKTsKLSAgICBpZiAoUHlMaXN0X0NoZWNrKGFyZ3YpKSB7Ci0gICAgICAgIGFyZ2MgPSBQeUxpc3RfU2l6ZShhcmd2KTsKLSAgICAgICAgZ2V0aXRlbSA9IFB5TGlzdF9HZXRJdGVtOwotICAgIH0KLSAgICBlbHNlIGlmIChQeVR1cGxlX0NoZWNrKGFyZ3YpKSB7Ci0gICAgICAgIGFyZ2MgPSBQeVR1cGxlX1NpemUoYXJndik7Ci0gICAgICAgIGdldGl0ZW0gPSBQeVR1cGxlX0dldEl0ZW07Ci0gICAgfQotICAgIGVsc2UgewotICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCAiZXhlY3YoKSBhcmcgMiBtdXN0IGJlIGEgdHVwbGUgb3IgbGlzdCIpOwotICAgICAgICBQeV9ERUNSRUYob3BhdGgpOwotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICB9Ci0gICAgaWYgKGFyZ2MgPCAxKSB7Ci0gICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLCAiZXhlY3YoKSBhcmcgMiBtdXN0IG5vdCBiZSBlbXB0eSIpOwotICAgICAgICBQeV9ERUNSRUYob3BhdGgpOwotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICB9Ci0KLSAgICBhcmd2bGlzdCA9IFB5TWVtX05FVyhjaGFyICosIGFyZ2MrMSk7Ci0gICAgaWYgKGFyZ3ZsaXN0ID09IE5VTEwpIHsKLSAgICAgICAgUHlfREVDUkVGKG9wYXRoKTsKLSAgICAgICAgcmV0dXJuIFB5RXJyX05vTWVtb3J5KCk7Ci0gICAgfQotICAgIGZvciAoaSA9IDA7IGkgPCBhcmdjOyBpKyspIHsKLSAgICAgICAgaWYgKCFmc2NvbnZlcnRfc3RyZHVwKCgqZ2V0aXRlbSkoYXJndiwgaSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmYXJndmxpc3RbaV0pKSB7Ci0gICAgICAgICAgICBmcmVlX3N0cmluZ19hcnJheShhcmd2bGlzdCwgaSk7Ci0gICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleGVjdigpIGFyZyAyIG11c3QgY29udGFpbiBvbmx5IHN0cmluZ3MiKTsKLSAgICAgICAgICAgIFB5X0RFQ1JFRihvcGF0aCk7Ci0gICAgICAgICAgICByZXR1cm4gTlVMTDsKLQotICAgICAgICB9Ci0gICAgfQotICAgIGFyZ3ZsaXN0W2FyZ2NdID0gTlVMTDsKLQotICAgIGV4ZWN2KHBhdGgsIGFyZ3ZsaXN0KTsKLQotICAgIC8qIElmIHdlIGdldCBoZXJlIGl0J3MgZGVmaW5pdGVseSBhbiBlcnJvciAqLwotCi0gICAgZnJlZV9zdHJpbmdfYXJyYXkoYXJndmxpc3QsIGFyZ2MpOwotICAgIFB5X0RFQ1JFRihvcGF0aCk7Ci0gICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7Ci19Ci0KKyNpZiBkZWZpbmVkKEhBVkVfRVhFQ1YpIHx8IGRlZmluZWQgKEhBVkVfRkVYRUNWRSkKIHN0YXRpYyBjaGFyKioKIHBhcnNlX2Vudmxpc3QoUHlPYmplY3QqIGVudiwgUHlfc3NpemVfdCAqZW52Y19wdHIpCiB7CkBAIC0zNjI4LDYgKzQwMjYsODcgQEAKICAgICByZXR1cm4gTlVMTDsKIH0KIAorc3RhdGljIGNoYXIqKgorcGFyc2VfYXJnbGlzdChQeU9iamVjdCogYXJndiwgUHlfc3NpemVfdCAqYXJnYykKK3sKKyAgICBpbnQgaTsKKyAgICBjaGFyICoqYXJndmxpc3QgPSBQeU1lbV9ORVcoY2hhciAqLCAqYXJnYysxKTsKKyAgICBpZiAoYXJndmxpc3QgPT0gTlVMTCkgeworICAgICAgICBQeUVycl9Ob01lbW9yeSgpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisgICAgZm9yIChpID0gMDsgaSA8ICphcmdjOyBpKyspIHsKKyAgICAgICAgUHlPYmplY3QqIGl0ZW0gPSBQeVNlcXVlbmNlX0lURU0oYXJndiwgaSk7CisgICAgICAgIGlmIChpdGVtID09IE5VTEwpCisgICAgICAgICAgICBnb3RvIGZhaWw7CisgICAgICAgIGlmICghZnNjb252ZXJ0X3N0cmR1cChpdGVtLCAmYXJndmxpc3RbaV0pKSB7CisgICAgICAgICAgICBQeV9ERUNSRUYoaXRlbSk7CisgICAgICAgICAgICBnb3RvIGZhaWw7CisgICAgICAgIH0KKyAgICAgICAgUHlfREVDUkVGKGl0ZW0pOworICAgIH0KKyAgICBhcmd2bGlzdFsqYXJnY10gPSBOVUxMOworICAgIHJldHVybiBhcmd2bGlzdDsKK2ZhaWw6CisgICAgKmFyZ2MgPSBpOworICAgIGZyZWVfc3RyaW5nX2FycmF5KGFyZ3ZsaXN0LCAqYXJnYyk7CisgICAgcmV0dXJuIE5VTEw7Cit9CisjZW5kaWYKKworI2lmZGVmIEhBVkVfRVhFQ1YKK1B5RG9jX1NUUlZBUihwb3NpeF9leGVjdl9fZG9jX18sCisiZXhlY3YocGF0aCwgYXJncylcblxuXAorRXhlY3V0ZSBhbiBleGVjdXRhYmxlIHBhdGggd2l0aCBhcmd1bWVudHMsIHJlcGxhY2luZyBjdXJyZW50IHByb2Nlc3MuXG5cCitcblwKKyAgICBwYXRoOiBwYXRoIG9mIGV4ZWN1dGFibGUgZmlsZVxuXAorICAgIGFyZ3M6IHR1cGxlIG9yIGxpc3Qgb2Ygc3RyaW5ncyIpOworCitzdGF0aWMgUHlPYmplY3QgKgorcG9zaXhfZXhlY3YoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpvcGF0aDsKKyAgICBjaGFyICpwYXRoOworICAgIFB5T2JqZWN0ICphcmd2OworICAgIGNoYXIgKiphcmd2bGlzdDsKKyAgICBQeV9zc2l6ZV90IGFyZ2M7CisKKyAgICAvKiBleGVjdiBoYXMgdHdvIGFyZ3VtZW50czogKHBhdGgsIGFyZ3YpLCB3aGVyZQorICAgICAgIGFyZ3YgaXMgYSBsaXN0IG9yIHR1cGxlIG9mIHN0cmluZ3MuICovCisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIk8mTzpleGVjdiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9GU0NvbnZlcnRlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgJm9wYXRoLCAmYXJndikpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIHBhdGggPSBQeUJ5dGVzX0FzU3RyaW5nKG9wYXRoKTsKKyAgICBpZiAoIVB5TGlzdF9DaGVjayhhcmd2KSAmJiAhUHlUdXBsZV9DaGVjayhhcmd2KSkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgImV4ZWN2KCkgYXJnIDIgbXVzdCBiZSBhIHR1cGxlIG9yIGxpc3QiKTsKKyAgICAgICAgUHlfREVDUkVGKG9wYXRoKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorICAgIGFyZ2MgPSBQeVNlcXVlbmNlX1NpemUoYXJndik7CisgICAgaWYgKGFyZ2MgPCAxKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLCAiZXhlY3YoKSBhcmcgMiBtdXN0IG5vdCBiZSBlbXB0eSIpOworICAgICAgICBQeV9ERUNSRUYob3BhdGgpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisKKyAgICBhcmd2bGlzdCA9IHBhcnNlX2FyZ2xpc3QoYXJndiwgJmFyZ2MpOworICAgIGlmIChhcmd2bGlzdCA9PSBOVUxMKSB7CisgICAgICAgIFB5X0RFQ1JFRihvcGF0aCk7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKworICAgIGV4ZWN2KHBhdGgsIGFyZ3ZsaXN0KTsKKworICAgIC8qIElmIHdlIGdldCBoZXJlIGl0J3MgZGVmaW5pdGVseSBhbiBlcnJvciAqLworCisgICAgZnJlZV9zdHJpbmdfYXJyYXkoYXJndmxpc3QsIGFyZ2MpOworICAgIFB5X0RFQ1JFRihvcGF0aCk7CisgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7Cit9CisKIFB5RG9jX1NUUlZBUihwb3NpeF9leGVjdmVfX2RvY19fLAogImV4ZWN2ZShwYXRoLCBhcmdzLCBlbnYpXG5cblwKIEV4ZWN1dGUgYSBwYXRoIHdpdGggYXJndW1lbnRzIGFuZCBlbnZpcm9ubWVudCwgcmVwbGFjaW5nIGN1cnJlbnQgcHJvY2Vzcy5cblwKQEAgLTM2NDQsOSArNDEyMyw3IEBACiAgICAgUHlPYmplY3QgKmFyZ3YsICplbnY7CiAgICAgY2hhciAqKmFyZ3ZsaXN0OwogICAgIGNoYXIgKiplbnZsaXN0OwotICAgIFB5X3NzaXplX3QgaSwgYXJnYywgZW52YzsKLSAgICBQeU9iamVjdCAqKCpnZXRpdGVtKShQeU9iamVjdCAqLCBQeV9zc2l6ZV90KTsKLSAgICBQeV9zc2l6ZV90IGxhc3RhcmcgPSAwOworICAgIFB5X3NzaXplX3QgYXJnYywgZW52YzsKIAogICAgIC8qIGV4ZWN2ZSBoYXMgdGhyZWUgYXJndW1lbnRzOiAocGF0aCwgYXJndiwgZW52KSwgd2hlcmUKICAgICAgICBhcmd2IGlzIGEgbGlzdCBvciB0dXBsZSBvZiBzdHJpbmdzIGFuZCBlbnYgaXMgYSBkaWN0aW9uYXJ5CkBAIC0zNjU3LDQwICs0MTM0LDIyIEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICZvcGF0aCwgJmFyZ3YsICZlbnYpKQogICAgICAgICByZXR1cm4gTlVMTDsKICAgICBwYXRoID0gUHlCeXRlc19Bc1N0cmluZyhvcGF0aCk7Ci0gICAgaWYgKFB5TGlzdF9DaGVjayhhcmd2KSkgewotICAgICAgICBhcmdjID0gUHlMaXN0X1NpemUoYXJndik7Ci0gICAgICAgIGdldGl0ZW0gPSBQeUxpc3RfR2V0SXRlbTsKLSAgICB9Ci0gICAgZWxzZSBpZiAoUHlUdXBsZV9DaGVjayhhcmd2KSkgewotICAgICAgICBhcmdjID0gUHlUdXBsZV9TaXplKGFyZ3YpOwotICAgICAgICBnZXRpdGVtID0gUHlUdXBsZV9HZXRJdGVtOwotICAgIH0KLSAgICBlbHNlIHsKKyAgICBpZiAoIVB5TGlzdF9DaGVjayhhcmd2KSAmJiAhUHlUdXBsZV9DaGVjayhhcmd2KSkgewogICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLAogICAgICAgICAgICAgICAgICAgICAgICAgImV4ZWN2ZSgpIGFyZyAyIG11c3QgYmUgYSB0dXBsZSBvciBsaXN0Iik7CiAgICAgICAgIGdvdG8gZmFpbF8wOwogICAgIH0KKyAgICBhcmdjID0gUHlTZXF1ZW5jZV9TaXplKGFyZ3YpOwogICAgIGlmICghUHlNYXBwaW5nX0NoZWNrKGVudikpIHsKICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwKICAgICAgICAgICAgICAgICAgICAgICAgICJleGVjdmUoKSBhcmcgMyBtdXN0IGJlIGEgbWFwcGluZyBvYmplY3QiKTsKICAgICAgICAgZ290byBmYWlsXzA7CiAgICAgfQogCi0gICAgYXJndmxpc3QgPSBQeU1lbV9ORVcoY2hhciAqLCBhcmdjKzEpOworICAgIGFyZ3ZsaXN0ID0gcGFyc2VfYXJnbGlzdChhcmd2LCAmYXJnYyk7CiAgICAgaWYgKGFyZ3ZsaXN0ID09IE5VTEwpIHsKLSAgICAgICAgUHlFcnJfTm9NZW1vcnkoKTsKICAgICAgICAgZ290byBmYWlsXzA7CiAgICAgfQotICAgIGZvciAoaSA9IDA7IGkgPCBhcmdjOyBpKyspIHsKLSAgICAgICAgaWYgKCFmc2NvbnZlcnRfc3RyZHVwKCgqZ2V0aXRlbSkoYXJndiwgaSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmYXJndmxpc3RbaV0pKQotICAgICAgICB7Ci0gICAgICAgICAgICBsYXN0YXJnID0gaTsKLSAgICAgICAgICAgIGdvdG8gZmFpbF8xOwotICAgICAgICB9Ci0gICAgfQotICAgIGxhc3RhcmcgPSBhcmdjOwotICAgIGFyZ3ZsaXN0W2FyZ2NdID0gTlVMTDsKIAogICAgIGVudmxpc3QgPSBwYXJzZV9lbnZsaXN0KGVudiwgJmVudmMpOwogICAgIGlmIChlbnZsaXN0ID09IE5VTEwpCkBAIC0zNzA2LDEzICs0MTY1LDY5IEBACiAgICAgICAgIFB5TWVtX0RFTChlbnZsaXN0W2VudmNdKTsKICAgICBQeU1lbV9ERUwoZW52bGlzdCk7CiAgIGZhaWxfMToKLSAgICBmcmVlX3N0cmluZ19hcnJheShhcmd2bGlzdCwgbGFzdGFyZyk7CisgICAgZnJlZV9zdHJpbmdfYXJyYXkoYXJndmxpc3QsIGFyZ2MpOwogICBmYWlsXzA6CiAgICAgUHlfREVDUkVGKG9wYXRoKTsKICAgICByZXR1cm4gTlVMTDsKIH0KICNlbmRpZiAvKiBIQVZFX0VYRUNWICovCiAKKyNpZmRlZiBIQVZFX0ZFWEVDVkUKK1B5RG9jX1NUUlZBUihwb3NpeF9mZXhlY3ZlX19kb2NfXywKKyJmZXhlY3ZlKGZkLCBhcmdzLCBlbnYpXG5cblwKK0V4ZWN1dGUgdGhlIHByb2dyYW0gc3BlY2lmaWVkIGJ5IGEgZmlsZSBkZXNjcmlwdG9yIHdpdGggYXJndW1lbnRzIGFuZFxuXAorZW52aXJvbm1lbnQsIHJlcGxhY2luZyB0aGUgY3VycmVudCBwcm9jZXNzLlxuXAorXG5cCisgICAgZmQ6IGZpbGUgZGVzY3JpcHRvciBvZiBleGVjdXRhYmxlXG5cCisgICAgYXJnczogdHVwbGUgb3IgbGlzdCBvZiBhcmd1bWVudHNcblwKKyAgICBlbnY6IGRpY3Rpb25hcnkgb2Ygc3RyaW5ncyBtYXBwaW5nIHRvIHN0cmluZ3MiKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK3Bvc2l4X2ZleGVjdmUoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQoreworICAgIGludCBmZDsKKyAgICBQeU9iamVjdCAqYXJndiwgKmVudjsKKyAgICBjaGFyICoqYXJndmxpc3Q7CisgICAgY2hhciAqKmVudmxpc3Q7CisgICAgUHlfc3NpemVfdCBhcmdjLCBlbnZjOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJpT086ZmV4ZWN2ZSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICZmZCwgJmFyZ3YsICZlbnYpKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBpZiAoIVB5TGlzdF9DaGVjayhhcmd2KSAmJiAhUHlUdXBsZV9DaGVjayhhcmd2KSkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgImZleGVjdmUoKSBhcmcgMiBtdXN0IGJlIGEgdHVwbGUgb3IgbGlzdCIpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisgICAgYXJnYyA9IFB5U2VxdWVuY2VfU2l6ZShhcmd2KTsKKyAgICBpZiAoIVB5TWFwcGluZ19DaGVjayhlbnYpKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAiZmV4ZWN2ZSgpIGFyZyAzIG11c3QgYmUgYSBtYXBwaW5nIG9iamVjdCIpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisKKyAgICBhcmd2bGlzdCA9IHBhcnNlX2FyZ2xpc3QoYXJndiwgJmFyZ2MpOworICAgIGlmIChhcmd2bGlzdCA9PSBOVUxMKQorICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIGVudmxpc3QgPSBwYXJzZV9lbnZsaXN0KGVudiwgJmVudmMpOworICAgIGlmIChlbnZsaXN0ID09IE5VTEwpCisgICAgICAgIGdvdG8gZmFpbDsKKworICAgIGZleGVjdmUoZmQsIGFyZ3ZsaXN0LCBlbnZsaXN0KTsKKworICAgIC8qIElmIHdlIGdldCBoZXJlIGl0J3MgZGVmaW5pdGVseSBhbiBlcnJvciAqLworCisgICAgKHZvaWQpIHBvc2l4X2Vycm9yKCk7CisKKyAgICB3aGlsZSAoLS1lbnZjID49IDApCisgICAgICAgIFB5TWVtX0RFTChlbnZsaXN0W2VudmNdKTsKKyAgICBQeU1lbV9ERUwoZW52bGlzdCk7CisgIGZhaWw6CisgICAgZnJlZV9zdHJpbmdfYXJyYXkoYXJndmxpc3QsIGFyZ2MpOworICAgIHJldHVybiBOVUxMOworfQorI2VuZGlmIC8qIEhBVkVfRkVYRUNWRSAqLwogCiAjaWZkZWYgSEFWRV9TUEFXTlYKIFB5RG9jX1NUUlZBUihwb3NpeF9zcGF3bnZfX2RvY19fLApAQCAtNDE1Myw2ICs0NjY4LDU3NCBAQAogfQogI2VuZGlmCiAKKyNpZmRlZiBIQVZFX1NDSEVEX0gKKworI2lmZGVmIEhBVkVfU0NIRURfR0VUX1BSSU9SSVRZX01BWAorCitQeURvY19TVFJWQVIocG9zaXhfc2NoZWRfZ2V0X3ByaW9yaXR5X21heF9fZG9jX18sCisic2NoZWRfZ2V0X3ByaW9yaXR5X21heChwb2xpY3kpXG5cblwKK0dldCB0aGUgbWF4aW11bSBzY2hlZHVsaW5nIHByaW9yaXR5IGZvciAqcG9saWN5Ki4iKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK3Bvc2l4X3NjaGVkX2dldF9wcmlvcml0eV9tYXgoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQoreworICAgIGludCBwb2xpY3ksIG1heDsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiaTpzY2hlZF9nZXRfcHJpb3JpdHlfbWF4IiwgJnBvbGljeSkpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIG1heCA9IHNjaGVkX2dldF9wcmlvcml0eV9tYXgocG9saWN5KTsKKyAgICBpZiAobWF4IDwgMCkKKyAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7CisgICAgcmV0dXJuIFB5TG9uZ19Gcm9tTG9uZyhtYXgpOworfQorCitQeURvY19TVFJWQVIocG9zaXhfc2NoZWRfZ2V0X3ByaW9yaXR5X21pbl9fZG9jX18sCisic2NoZWRfZ2V0X3ByaW9yaXR5X21pbihwb2xpY3kpXG5cblwKK0dldCB0aGUgbWluaW11bSBzY2hlZHVsaW5nIHByaW9yaXR5IGZvciAqcG9saWN5Ki4iKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK3Bvc2l4X3NjaGVkX2dldF9wcmlvcml0eV9taW4oUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQoreworICAgIGludCBwb2xpY3ksIG1pbjsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiaTpzY2hlZF9nZXRfcHJpb3JpdHlfbWluIiwgJnBvbGljeSkpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIG1pbiA9IHNjaGVkX2dldF9wcmlvcml0eV9taW4ocG9saWN5KTsKKyAgICBpZiAobWluIDwgMCkKKyAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7CisgICAgcmV0dXJuIFB5TG9uZ19Gcm9tTG9uZyhtaW4pOworfQorCisjZW5kaWYgLyogSEFWRV9TQ0hFRF9HRVRfUFJJT1JJVFlfTUFYICovCisKKyNpZmRlZiBIQVZFX1NDSEVEX1NFVFNDSEVEVUxFUgorCitQeURvY19TVFJWQVIocG9zaXhfc2NoZWRfZ2V0c2NoZWR1bGVyX19kb2NfXywKKyJzY2hlZF9nZXRzY2hlZHVsZXIocGlkKVxuXG5cCitHZXQgdGhlIHNjaGVkdWxpbmcgcG9saWN5IGZvciB0aGUgcHJvY2VzcyB3aXRoIGEgUElEIG9mICpwaWQqLlxuXAorUGFzc2luZyBhIFBJRCBvZiAwIHJldHVybnMgdGhlIHNjaGVkdWxpbmcgcG9saWN5IGZvciB0aGUgY2FsbGluZyBwcm9jZXNzLiIpOworCitzdGF0aWMgUHlPYmplY3QgKgorcG9zaXhfc2NoZWRfZ2V0c2NoZWR1bGVyKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBwaWRfdCBwaWQ7CisgICAgaW50IHBvbGljeTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCBfUHlfUEFSU0VfUElEICI6c2NoZWRfZ2V0c2NoZWR1bGVyIiwgJnBpZCkpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIHBvbGljeSA9IHNjaGVkX2dldHNjaGVkdWxlcihwaWQpOworICAgIGlmIChwb2xpY3kgPCAwKQorICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKKyAgICByZXR1cm4gUHlMb25nX0Zyb21Mb25nKHBvbGljeSk7Cit9CisKKyNlbmRpZgorCisjaWYgZGVmaW5lZChIQVZFX1NDSEVEX1NFVFNDSEVEVUxFUikgfHwgZGVmaW5lZChIQVZFX1NDSEVEX1NFVFBBUkFNKQorCitzdGF0aWMgUHlPYmplY3QgKgorc2NoZWRfcGFyYW1fbmV3KFB5VHlwZU9iamVjdCAqdHlwZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCit7CisgICAgUHlPYmplY3QgKnJlcywgKnByaW9yaXR5OworICAgIHN0YXRpYyBjaGFyICprd2xpc3RbXSA9IHsic2NoZWRfcHJpb3JpdHkiLCBOVUxMfTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywgIk86c2NoZWRfcGFyYW0iLCBrd2xpc3QsICZwcmlvcml0eSkpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIHJlcyA9IFB5U3RydWN0U2VxdWVuY2VfTmV3KHR5cGUpOworICAgIGlmICghcmVzKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBQeV9JTkNSRUYocHJpb3JpdHkpOworICAgIFB5U3RydWN0U2VxdWVuY2VfU0VUX0lURU0ocmVzLCAwLCBwcmlvcml0eSk7CisgICAgcmV0dXJuIHJlczsKK30KKworUHlEb2NfU1RSVkFSKHNjaGVkX3BhcmFtX19kb2NfXywKKyJzY2hlZF9wYXJhbShzY2hlZF9wcmlvcml0eSk6IEEgc2NoZWR1bGluZyBwYXJhbWV0ZXIuXG5cblwKK0N1cnJlbnQgaGFzIG9ubHkgb25lIGZpZWxkOiBzY2hlZF9wcmlvcml0eSIpOworCitzdGF0aWMgUHlTdHJ1Y3RTZXF1ZW5jZV9GaWVsZCBzY2hlZF9wYXJhbV9maWVsZHNbXSA9IHsKKyAgICB7InNjaGVkX3ByaW9yaXR5IiwgInRoZSBzY2hlZHVsaW5nIHByaW9yaXR5In0sCisgICAgezB9Cit9OworCitzdGF0aWMgUHlTdHJ1Y3RTZXF1ZW5jZV9EZXNjIHNjaGVkX3BhcmFtX2Rlc2MgPSB7CisgICAgInNjaGVkX3BhcmFtIiwgLyogbmFtZSAqLworICAgIHNjaGVkX3BhcmFtX19kb2NfXywgLyogZG9jICovCisgICAgc2NoZWRfcGFyYW1fZmllbGRzLAorICAgIDEKK307CisKK3N0YXRpYyBpbnQKK2NvbnZlcnRfc2NoZWRfcGFyYW0oUHlPYmplY3QgKnBhcmFtLCBzdHJ1Y3Qgc2NoZWRfcGFyYW0gKnJlcykKK3sKKyAgICBsb25nIHByaW9yaXR5OworCisgICAgaWYgKFB5X1RZUEUocGFyYW0pICE9ICZTY2hlZFBhcmFtVHlwZSkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCAibXVzdCBoYXZlIGEgc2NoZWRfcGFyYW0gb2JqZWN0Iik7CisgICAgICAgIHJldHVybiAwOworICAgIH0KKyAgICBwcmlvcml0eSA9IFB5TG9uZ19Bc0xvbmcoUHlTdHJ1Y3RTZXF1ZW5jZV9HRVRfSVRFTShwYXJhbSwgMCkpOworICAgIGlmIChwcmlvcml0eSA9PSAtMSAmJiBQeUVycl9PY2N1cnJlZCgpKQorICAgICAgICByZXR1cm4gMDsKKyAgICBpZiAocHJpb3JpdHkgPiBJTlRfTUFYIHx8IHByaW9yaXR5IDwgSU5UX01JTikgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfT3ZlcmZsb3dFcnJvciwgInNjaGVkX3ByaW9yaXR5IG91dCBvZiByYW5nZSIpOworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisgICAgcmVzLT5zY2hlZF9wcmlvcml0eSA9IFB5X1NBRkVfRE9XTkNBU1QocHJpb3JpdHksIGxvbmcsIGludCk7CisgICAgcmV0dXJuIDE7Cit9CisKKyNlbmRpZgorCisjaWZkZWYgSEFWRV9TQ0hFRF9TRVRTQ0hFRFVMRVIKKworUHlEb2NfU1RSVkFSKHBvc2l4X3NjaGVkX3NldHNjaGVkdWxlcl9fZG9jX18sCisic2NoZWRfc2V0c2NoZWR1bGVyKHBpZCwgcG9saWN5LCBwYXJhbSlcblxuXAorU2V0IHRoZSBzY2hlZHVsaW5nIHBvbGljeSwgKnBvbGljeSosIGZvciAqcGlkKi5cblwKK0lmICpwaWQqIGlzIDAsIHRoZSBjYWxsaW5nIHByb2Nlc3MgaXMgY2hhbmdlZC5cblwKKypwYXJhbSogaXMgYW4gaW5zdGFuY2Ugb2Ygc2NoZWRfcGFyYW0uIik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitwb3NpeF9zY2hlZF9zZXRzY2hlZHVsZXIoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQoreworICAgIHBpZF90IHBpZDsKKyAgICBpbnQgcG9saWN5OworICAgIHN0cnVjdCBzY2hlZF9wYXJhbSBwYXJhbTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCBfUHlfUEFSU0VfUElEICJpTyY6c2NoZWRfc2V0c2NoZWR1bGVyIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgJnBpZCwgJnBvbGljeSwgJmNvbnZlcnRfc2NoZWRfcGFyYW0sICZwYXJhbSkpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgLyoKKyAgICAqKiBzY2hlZF9zZXRzY2hlZHVsZXIoKSByZXR1cm5zIDAgaW4gTGludXgsIGJ1dCB0aGUgcHJldmlvdXMKKyAgICAqKiBzY2hlZHVsaW5nIHBvbGljeSB1bmRlciBTb2xhcmlzL0lsbHVtb3MsIGFuZCBvdGhlcnMuCisgICAgKiogT24gZXJyb3IsIC0xIGlzIHJldHVybmVkIGluIGFsbCBPcGVyYXRpbmcgU3lzdGVtcy4KKyAgICAqLworICAgIGlmIChzY2hlZF9zZXRzY2hlZHVsZXIocGlkLCBwb2xpY3ksICZwYXJhbSkgPT0gLTEpCisgICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOworICAgIFB5X1JFVFVSTl9OT05FOworfQorCisjZW5kaWYKKworI2lmZGVmIEhBVkVfU0NIRURfU0VUUEFSQU0KKworUHlEb2NfU1RSVkFSKHBvc2l4X3NjaGVkX2dldHBhcmFtX19kb2NfXywKKyJzY2hlZF9nZXRwYXJhbShwaWQpIC0+IHNjaGVkX3BhcmFtXG5cblwKK1JldHVybnMgc2NoZWR1bGluZyBwYXJhbWV0ZXJzIGZvciB0aGUgcHJvY2VzcyB3aXRoICpwaWQqIGFzIGFuIGluc3RhbmNlIG9mIHRoZVxuXAorc2NoZWRfcGFyYW0gY2xhc3MuIEEgUElEIG9mIDAgbWVhbnMgdGhlIGNhbGxpbmcgcHJvY2Vzcy4iKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK3Bvc2l4X3NjaGVkX2dldHBhcmFtKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBwaWRfdCBwaWQ7CisgICAgc3RydWN0IHNjaGVkX3BhcmFtIHBhcmFtOworICAgIFB5T2JqZWN0ICpyZXMsICpwcmlvcml0eTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCBfUHlfUEFSU0VfUElEICI6c2NoZWRfZ2V0cGFyYW0iLCAmcGlkKSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgaWYgKHNjaGVkX2dldHBhcmFtKHBpZCwgJnBhcmFtKSkKKyAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7CisgICAgcmVzID0gUHlTdHJ1Y3RTZXF1ZW5jZV9OZXcoJlNjaGVkUGFyYW1UeXBlKTsKKyAgICBpZiAoIXJlcykKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgcHJpb3JpdHkgPSBQeUxvbmdfRnJvbUxvbmcocGFyYW0uc2NoZWRfcHJpb3JpdHkpOworICAgIGlmICghcHJpb3JpdHkpIHsKKyAgICAgICAgUHlfREVDUkVGKHJlcyk7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKyAgICBQeVN0cnVjdFNlcXVlbmNlX1NFVF9JVEVNKHJlcywgMCwgcHJpb3JpdHkpOworICAgIHJldHVybiByZXM7Cit9CisKK1B5RG9jX1NUUlZBUihwb3NpeF9zY2hlZF9zZXRwYXJhbV9fZG9jX18sCisic2NoZWRfc2V0cGFyYW0ocGlkLCBwYXJhbSlcblxuXAorU2V0IHNjaGVkdWxpbmcgcGFyYW1ldGVycyBmb3IgYSBwcm9jZXNzIHdpdGggUElEICpwaWQqLlxuXAorQSBQSUQgb2YgMCBtZWFucyB0aGUgY2FsbGluZyBwcm9jZXNzLiIpOworCitzdGF0aWMgUHlPYmplY3QgKgorcG9zaXhfc2NoZWRfc2V0cGFyYW0oUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQoreworICAgIHBpZF90IHBpZDsKKyAgICBzdHJ1Y3Qgc2NoZWRfcGFyYW0gcGFyYW07CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgX1B5X1BBUlNFX1BJRCAiTyY6c2NoZWRfc2V0cGFyYW0iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAmcGlkLCAmY29udmVydF9zY2hlZF9wYXJhbSwgJnBhcmFtKSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgaWYgKHNjaGVkX3NldHBhcmFtKHBpZCwgJnBhcmFtKSkKKyAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7CisgICAgUHlfUkVUVVJOX05PTkU7Cit9CisKKyNlbmRpZgorCisjaWZkZWYgSEFWRV9TQ0hFRF9SUl9HRVRfSU5URVJWQUwKKworUHlEb2NfU1RSVkFSKHBvc2l4X3NjaGVkX3JyX2dldF9pbnRlcnZhbF9fZG9jX18sCisic2NoZWRfcnJfZ2V0X2ludGVydmFsKHBpZCkgLT4gZmxvYXRcblxuXAorUmV0dXJuIHRoZSByb3VuZC1yb2JpbiBxdWFudHVtIGZvciB0aGUgcHJvY2VzcyB3aXRoIFBJRCAqcGlkKiBpbiBzZWNvbmRzLiIpOworCitzdGF0aWMgUHlPYmplY3QgKgorcG9zaXhfc2NoZWRfcnJfZ2V0X2ludGVydmFsKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBwaWRfdCBwaWQ7CisgICAgc3RydWN0IHRpbWVzcGVjIGludGVydmFsOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsIF9QeV9QQVJTRV9QSUQgIjpzY2hlZF9ycl9nZXRfaW50ZXJ2YWwiLCAmcGlkKSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgaWYgKHNjaGVkX3JyX2dldF9pbnRlcnZhbChwaWQsICZpbnRlcnZhbCkpCisgICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOworICAgIHJldHVybiBQeUZsb2F0X0Zyb21Eb3VibGUoKGRvdWJsZSlpbnRlcnZhbC50dl9zZWMgKyAxZS05KmludGVydmFsLnR2X25zZWMpOworfQorCisjZW5kaWYKKworUHlEb2NfU1RSVkFSKHBvc2l4X3NjaGVkX3lpZWxkX19kb2NfXywKKyJzY2hlZF95aWVsZCgpXG5cblwKK1ZvbHVudGFyaWx5IHJlbGlucXVpc2ggdGhlIENQVS4iKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK3Bvc2l4X3NjaGVkX3lpZWxkKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqbm9hcmdzKQoreworICAgIGlmIChzY2hlZF95aWVsZCgpKQorICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKKyAgICBQeV9SRVRVUk5fTk9ORTsKK30KKworI2lmZGVmIEhBVkVfU0NIRURfU0VUQUZGSU5JVFkKKwordHlwZWRlZiBzdHJ1Y3QgeworICAgIFB5T2JqZWN0X0hFQUQ7CisgICAgUHlfc3NpemVfdCBzaXplOworICAgIGludCBuY3B1czsKKyAgICBjcHVfc2V0X3QgKnNldDsKK30gUHlfY3B1X3NldDsKKworc3RhdGljIFB5VHlwZU9iamVjdCBjcHVfc2V0X3R5cGU7CisKK3N0YXRpYyB2b2lkCitjcHVfc2V0X2RlYWxsb2MoUHlfY3B1X3NldCAqc2V0KQoreworICAgIGFzc2VydChzZXQtPnNldCk7CisgICAgQ1BVX0ZSRUUoc2V0LT5zZXQpOworICAgIFB5X1RZUEUoc2V0KS0+dHBfZnJlZShzZXQpOworfQorCitzdGF0aWMgUHlfY3B1X3NldCAqCittYWtlX25ld19jcHVfc2V0KFB5VHlwZU9iamVjdCAqdHlwZSwgUHlfc3NpemVfdCBzaXplKQoreworICAgIFB5X2NwdV9zZXQgKnNldDsKKworICAgIGlmIChzaXplIDwgMCkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwgIm5lZ2F0aXZlIHNpemUiKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorICAgIHNldCA9IChQeV9jcHVfc2V0ICopdHlwZS0+dHBfYWxsb2ModHlwZSwgMCk7CisgICAgaWYgKCFzZXQpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIHNldC0+bmNwdXMgPSBzaXplOworICAgIHNldC0+c2l6ZSA9IENQVV9BTExPQ19TSVpFKHNpemUpOworICAgIHNldC0+c2V0ID0gQ1BVX0FMTE9DKHNpemUpOworICAgIGlmICghc2V0LT5zZXQpIHsKKyAgICAgICAgdHlwZS0+dHBfZnJlZShzZXQpOworICAgICAgICBQeUVycl9Ob01lbW9yeSgpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisgICAgQ1BVX1pFUk9fUyhzZXQtPnNpemUsIHNldC0+c2V0KTsKKyAgICByZXR1cm4gc2V0OworfQorCitzdGF0aWMgUHlPYmplY3QgKgorY3B1X3NldF9uZXcoUHlUeXBlT2JqZWN0ICp0eXBlLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKK3sKKyAgICBpbnQgc2l6ZTsKKworICAgIGlmICghX1B5QXJnX05vS2V5d29yZHMoImNwdV9zZXQoKSIsIGt3YXJncykgfHwKKyAgICAgICAgIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgImk6Y3B1X3NldCIsICZzaXplKSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgcmV0dXJuIChQeU9iamVjdCAqKW1ha2VfbmV3X2NwdV9zZXQodHlwZSwgc2l6ZSk7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitjcHVfc2V0X3JlcHIoUHlfY3B1X3NldCAqc2V0KQoreworICAgIHJldHVybiBQeVVuaWNvZGVfRnJvbUZvcm1hdCgiPGNwdV9zZXQgd2l0aCAlbGkgZW50cmllcz4iLCBzZXQtPm5jcHVzKTsKK30KKworc3RhdGljIFB5X3NzaXplX3QKK2NwdV9zZXRfbGVuKFB5X2NwdV9zZXQgKnNldCkKK3sKKyAgICByZXR1cm4gc2V0LT5uY3B1czsKK30KKworc3RhdGljIGludAorX2dldF9jcHUoUHlfY3B1X3NldCAqc2V0LCBjb25zdCBjaGFyICpyZXF1ZXN0ZXIsIFB5T2JqZWN0ICphcmdzKQoreworICAgIGludCBjcHU7CisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsIHJlcXVlc3RlciwgJmNwdSkpCisgICAgICAgIHJldHVybiAtMTsKKyAgICBpZiAoY3B1IDwgMCkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwgImNwdSA8IDAgbm90IHZhbGlkIik7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisgICAgaWYgKGNwdSA+PSBzZXQtPm5jcHVzKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLCAiY3B1IHRvbyBsYXJnZSBmb3Igc2V0Iik7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisgICAgcmV0dXJuIGNwdTsKK30KKworUHlEb2NfU1RSVkFSKGNwdV9zZXRfc2V0X2RvYywKKyJjcHVfc2V0LnNldChpKVxuXG5cCitBZGQgQ1BVICppKiB0byB0aGUgc2V0LiIpOworCitzdGF0aWMgUHlPYmplY3QgKgorY3B1X3NldF9zZXQoUHlfY3B1X3NldCAqc2V0LCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBpbnQgY3B1ID0gX2dldF9jcHUoc2V0LCAiaXxzZXQiLCBhcmdzKTsKKyAgICBpZiAoY3B1ID09IC0xKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBDUFVfU0VUX1MoY3B1LCBzZXQtPnNpemUsIHNldC0+c2V0KTsKKyAgICBQeV9SRVRVUk5fTk9ORTsKK30KKworUHlEb2NfU1RSVkFSKGNwdV9zZXRfY291bnRfZG9jLAorImNwdV9zZXQuY291bnQoKSAtPiBpbnRcblxuXAorUmV0dXJuIHRoZSBudW1iZXIgb2YgQ1BVcyBhY3RpdmUgaW4gdGhlIHNldC4iKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2NwdV9zZXRfY291bnQoUHlfY3B1X3NldCAqc2V0LCBQeU9iamVjdCAqbm9hcmdzKQoreworICAgIHJldHVybiBQeUxvbmdfRnJvbUxvbmcoQ1BVX0NPVU5UX1Moc2V0LT5zaXplLCBzZXQtPnNldCkpOworfQorCitQeURvY19TVFJWQVIoY3B1X3NldF9jbGVhcl9kb2MsCisiY3B1X3NldC5jbGVhcihpKVxuXG5cCitSZW1vdmUgQ1BVICppKiBmcm9tIHRoZSBzZXQuIik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitjcHVfc2V0X2NsZWFyKFB5X2NwdV9zZXQgKnNldCwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgaW50IGNwdSA9IF9nZXRfY3B1KHNldCwgIml8Y2xlYXIiLCBhcmdzKTsKKyAgICBpZiAoY3B1ID09IC0xKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBDUFVfQ0xSX1MoY3B1LCBzZXQtPnNpemUsIHNldC0+c2V0KTsKKyAgICBQeV9SRVRVUk5fTk9ORTsKK30KKworUHlEb2NfU1RSVkFSKGNwdV9zZXRfaXNzZXRfZG9jLAorImNwdV9zZXQuaXNzZXQoaSkgLT4gYm9vbFxuXG5cCitUZXN0IGlmIENQVSAqaSogaXMgaW4gdGhlIHNldC4iKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2NwdV9zZXRfaXNzZXQoUHlfY3B1X3NldCAqc2V0LCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBpbnQgY3B1ID0gX2dldF9jcHUoc2V0LCAiaXxpc3NldCIsIGFyZ3MpOworICAgIGlmIChjcHUgPT0gLTEpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIGlmIChDUFVfSVNTRVRfUyhjcHUsIHNldC0+c2l6ZSwgc2V0LT5zZXQpKQorICAgICAgICBQeV9SRVRVUk5fVFJVRTsKKyAgICBQeV9SRVRVUk5fRkFMU0U7Cit9CisKK1B5RG9jX1NUUlZBUihjcHVfc2V0X3plcm9fZG9jLAorImNwdV9zZXQuemVybygpXG5cblwKK0NsZWFyIHRoZSBjcHVfc2V0LiIpOworCitzdGF0aWMgUHlPYmplY3QgKgorY3B1X3NldF96ZXJvKFB5X2NwdV9zZXQgKnNldCwgUHlPYmplY3QgKm5vYXJncykKK3sKKyAgICBDUFVfWkVST19TKHNldC0+c2l6ZSwgc2V0LT5zZXQpOworICAgIFB5X1JFVFVSTl9OT05FOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorY3B1X3NldF9yaWNoY29tcGFyZShQeV9jcHVfc2V0ICpzZXQsIFB5X2NwdV9zZXQgKm90aGVyLCBpbnQgb3ApCit7CisgICAgaW50IGVxOworCisgICAgaWYgKChvcCAhPSBQeV9FUSAmJiBvcCAhPSBQeV9ORSkgfHwgUHlfVFlQRShvdGhlcikgIT0gJmNwdV9zZXRfdHlwZSkKKyAgICAgICAgUHlfUkVUVVJOX05PVElNUExFTUVOVEVEOworCisgICAgZXEgPSBzZXQtPm5jcHVzID09IG90aGVyLT5uY3B1cyAmJiBDUFVfRVFVQUxfUyhzZXQtPnNpemUsIHNldC0+c2V0LCBvdGhlci0+c2V0KTsKKyAgICBpZiAoKG9wID09IFB5X0VRKSA/IGVxIDogIWVxKQorICAgICAgICBQeV9SRVRVUk5fVFJVRTsKKyAgICBlbHNlCisgICAgICAgIFB5X1JFVFVSTl9GQUxTRTsKK30KKworI2RlZmluZSBDUFVfU0VUX0JJTk9QKG5hbWUsIG9wKSBcCisgICAgc3RhdGljIFB5T2JqZWN0ICogXAorICAgIGRvX2NwdV9zZXRfIyNuYW1lKFB5X2NwdV9zZXQgKmxlZnQsIFB5X2NwdV9zZXQgKnJpZ2h0LCBQeV9jcHVfc2V0ICpyZXMpIHsgXAorICAgICAgICBpZiAocmVzKSB7IFwKKyAgICAgICAgICAgIFB5X0lOQ1JFRihyZXMpOyBcCisgICAgICAgIH0gXAorICAgICAgICBlbHNlIHsgXAorICAgICAgICAgICAgcmVzID0gbWFrZV9uZXdfY3B1X3NldCgmY3B1X3NldF90eXBlLCBsZWZ0LT5uY3B1cyk7IFwKKyAgICAgICAgICAgIGlmICghcmVzKSBcCisgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7IFwKKyAgICAgICAgfSBcCisgICAgICAgIGlmIChQeV9UWVBFKHJpZ2h0KSAhPSAmY3B1X3NldF90eXBlIHx8IGxlZnQtPm5jcHVzICE9IHJpZ2h0LT5uY3B1cykgeyBcCisgICAgICAgICAgICBQeV9ERUNSRUYocmVzKTsgXAorICAgICAgICAgICAgUHlfUkVUVVJOX05PVElNUExFTUVOVEVEOyBcCisgICAgICAgIH0gXAorICAgICAgICBhc3NlcnQobGVmdC0+c2l6ZSA9PSByaWdodC0+c2l6ZSAmJiByaWdodC0+c2l6ZSA9PSByZXMtPnNpemUpOyBcCisgICAgICAgIG9wKHJlcy0+c2l6ZSwgcmVzLT5zZXQsIGxlZnQtPnNldCwgcmlnaHQtPnNldCk7IFwKKyAgICAgICAgcmV0dXJuIChQeU9iamVjdCAqKXJlczsgXAorICAgIH0gXAorICAgIHN0YXRpYyBQeU9iamVjdCAqIFwKKyAgICBjcHVfc2V0XyMjbmFtZShQeV9jcHVfc2V0ICpsZWZ0LCBQeV9jcHVfc2V0ICpyaWdodCkgeyBcCisgICAgICAgIHJldHVybiBkb19jcHVfc2V0XyMjbmFtZShsZWZ0LCByaWdodCwgTlVMTCk7IFwKKyAgICB9IFwKKyAgICBzdGF0aWMgUHlPYmplY3QgKiBcCisgICAgY3B1X3NldF9pIyNuYW1lKFB5X2NwdV9zZXQgKmxlZnQsIFB5X2NwdV9zZXQgKnJpZ2h0KSB7IFwKKyAgICAgICAgcmV0dXJuIGRvX2NwdV9zZXRfIyNuYW1lKGxlZnQsIHJpZ2h0LCBsZWZ0KTsgXAorICAgIH0gXAorCitDUFVfU0VUX0JJTk9QKGFuZCwgQ1BVX0FORF9TKQorQ1BVX1NFVF9CSU5PUChvciwgQ1BVX09SX1MpCitDUFVfU0VUX0JJTk9QKHhvciwgQ1BVX1hPUl9TKQorI3VuZGVmIENQVV9TRVRfQklOT1AKKworUHlEb2NfU1RSVkFSKGNwdV9zZXRfZG9jLAorImNwdV9zZXQoc2l6ZSlcblxuXAorQ3JlYXRlIGFuIGVtcHR5IG1hc2sgb2YgQ1BVcy4iKTsKKworc3RhdGljIFB5TnVtYmVyTWV0aG9kcyBjcHVfc2V0X2FzX251bWJlciA9IHsKKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKm5iX2FkZCovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLypuYl9zdWJ0cmFjdCovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLypuYl9tdWx0aXBseSovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLypuYl9yZW1haW5kZXIqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qbmJfZGl2bW9kKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKm5iX3Bvd2VyKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKm5iX25lZ2F0aXZlKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKm5iX3Bvc2l0aXZlKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKm5iX2Fic29sdXRlKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKm5iX2Jvb2wqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qbmJfaW52ZXJ0Ki8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKm5iX2xzaGlmdCovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLypuYl9yc2hpZnQqLworICAgIChiaW5hcnlmdW5jKWNwdV9zZXRfYW5kLCAgICAgICAgICAgIC8qbmJfYW5kKi8KKyAgICAoYmluYXJ5ZnVuYyljcHVfc2V0X3hvciwgICAgICAgICAgICAvKm5iX3hvciovCisgICAgKGJpbmFyeWZ1bmMpY3B1X3NldF9vciwgICAgICAgICAgICAgLypuYl9vciovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLypuYl9pbnQqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qbmJfcmVzZXJ2ZWQqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qbmJfZmxvYXQqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qbmJfaW5wbGFjZV9hZGQqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qbmJfaW5wbGFjZV9zdWJ0cmFjdCovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLypuYl9pbnBsYWNlX211bHRpcGx5Ki8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKm5iX2lucGxhY2VfcmVtYWluZGVyKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKm5iX2lucGxhY2VfcG93ZXIqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qbmJfaW5wbGFjZV9sc2hpZnQqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qbmJfaW5wbGFjZV9yc2hpZnQqLworICAgIChiaW5hcnlmdW5jKWNwdV9zZXRfaWFuZCwgICAgICAgICAgIC8qbmJfaW5wbGFjZV9hbmQqLworICAgIChiaW5hcnlmdW5jKWNwdV9zZXRfaXhvciwgICAgICAgICAgIC8qbmJfaW5wbGFjZV94b3IqLworICAgIChiaW5hcnlmdW5jKWNwdV9zZXRfaW9yLCAgICAgICAgICAgIC8qbmJfaW5wbGFjZV9vciovCit9OworCitzdGF0aWMgUHlTZXF1ZW5jZU1ldGhvZHMgY3B1X3NldF9hc19zZXF1ZW5jZSA9IHsKKyAgICAobGVuZnVuYyljcHVfc2V0X2xlbiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogc3FfbGVuZ3RoICovCit9OworCitzdGF0aWMgUHlNZXRob2REZWYgY3B1X3NldF9tZXRob2RzW10gPSB7CisgICAgeyJjbGVhciIsIChQeUNGdW5jdGlvbiljcHVfc2V0X2NsZWFyLCBNRVRIX1ZBUkFSR1MsIGNwdV9zZXRfY2xlYXJfZG9jfSwKKyAgICB7ImNvdW50IiwgKFB5Q0Z1bmN0aW9uKWNwdV9zZXRfY291bnQsIE1FVEhfTk9BUkdTLCBjcHVfc2V0X2NvdW50X2RvY30sCisgICAgeyJpc3NldCIsIChQeUNGdW5jdGlvbiljcHVfc2V0X2lzc2V0LCBNRVRIX1ZBUkFSR1MsIGNwdV9zZXRfaXNzZXRfZG9jfSwKKyAgICB7InNldCIsIChQeUNGdW5jdGlvbiljcHVfc2V0X3NldCwgTUVUSF9WQVJBUkdTLCBjcHVfc2V0X3NldF9kb2N9LAorICAgIHsiemVybyIsIChQeUNGdW5jdGlvbiljcHVfc2V0X3plcm8sIE1FVEhfTk9BUkdTLCBjcHVfc2V0X3plcm9fZG9jfSwKKyAgICB7TlVMTCwgTlVMTH0gICAvKiBzZW50aW5lbCAqLworfTsKKworc3RhdGljIFB5VHlwZU9iamVjdCBjcHVfc2V0X3R5cGUgPSB7CisgICAgUHlWYXJPYmplY3RfSEVBRF9JTklUKCZQeVR5cGVfVHlwZSwgMCkKKyAgICAicG9zaXguY3B1X3NldCIsICAgICAgICAgICAgICAgICAgICAvKiB0cF9uYW1lICovCisgICAgc2l6ZW9mKFB5X2NwdV9zZXQpLCAgICAgICAgICAgICAgICAgLyogdHBfYmFzaWNzaXplICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfaXRlbXNpemUgKi8KKyAgICAvKiBtZXRob2RzICovCisgICAgKGRlc3RydWN0b3IpY3B1X3NldF9kZWFsbG9jLCAgICAgICAgLyogdHBfZGVhbGxvYyAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX3ByaW50ICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfZ2V0YXR0ciAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX3NldGF0dHIgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9yZXNlcnZlZCAqLworICAgIChyZXByZnVuYyljcHVfc2V0X3JlcHIsICAgICAgICAgICAgIC8qIHRwX3JlcHIgKi8KKyAgICAmY3B1X3NldF9hc19udW1iZXIsICAgICAgICAgICAgICAgICAvKiB0cF9hc19udW1iZXIgKi8KKyAgICAmY3B1X3NldF9hc19zZXF1ZW5jZSwgICAgICAgICAgICAgICAvKiB0cF9hc19zZXF1ZW5jZSAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2FzX21hcHBpbmcgKi8KKyAgICBQeU9iamVjdF9IYXNoTm90SW1wbGVtZW50ZWQsICAgICAgICAvKiB0cF9oYXNoICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfY2FsbCAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX3N0ciAqLworICAgIFB5T2JqZWN0X0dlbmVyaWNHZXRBdHRyLCAgICAgICAgICAgIC8qIHRwX2dldGF0dHJvICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfc2V0YXR0cm8gKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9hc19idWZmZXIgKi8KKyAgICBQeV9UUEZMQUdTX0RFRkFVTFQsICAgICAgICAgICAgICAgICAvKiB0cF9mbGFncyAqLworICAgIGNwdV9zZXRfZG9jLCAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2RvYyAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX3RyYXZlcnNlICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfY2xlYXIgKi8KKyAgICAocmljaGNtcGZ1bmMpY3B1X3NldF9yaWNoY29tcGFyZSwgICAvKiB0cF9yaWNoY29tcGFyZSAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX3dlYWtsaXN0b2Zmc2V0ICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfaXRlciAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2l0ZXJuZXh0ICovCisgICAgY3B1X3NldF9tZXRob2RzLCAgICAgICAgICAgICAgICAgICAgLyogdHBfbWV0aG9kcyAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX21lbWJlcnMgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9nZXRzZXQgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9iYXNlICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfZGljdCAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2Rlc2NyX2dldCAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2Rlc2NyX3NldCAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2RpY3RvZmZzZXQgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9pbml0ICovCisgICAgUHlUeXBlX0dlbmVyaWNBbGxvYywgICAgICAgICAgICAgICAgLyogdHBfYWxsb2MgKi8KKyAgICBjcHVfc2V0X25ldywgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9uZXcgKi8KKyAgICBQeU9iamVjdF9EZWwsICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9mcmVlICovCit9OworCitQeURvY19TVFJWQVIocG9zaXhfc2NoZWRfc2V0YWZmaW5pdHlfX2RvY19fLAorInNjaGVkX3NldGFmZmluaXR5KHBpZCwgY3B1X3NldClcblxuXAorU2V0IHRoZSBhZmZpbml0eSBvZiB0aGUgcHJvY2VzcyB3aXRoIFBJRCAqcGlkKiB0byAqY3B1X3NldCouIik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitwb3NpeF9zY2hlZF9zZXRhZmZpbml0eShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgcGlkX3QgcGlkOworICAgIFB5X2NwdV9zZXQgKmNwdV9zZXQ7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgX1B5X1BBUlNFX1BJRCAiTyE6c2NoZWRfc2V0YWZmaW5pdHkiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAmcGlkLCAmY3B1X3NldF90eXBlLCAmY3B1X3NldCkpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIGlmIChzY2hlZF9zZXRhZmZpbml0eShwaWQsIGNwdV9zZXQtPnNpemUsIGNwdV9zZXQtPnNldCkpCisgICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOworICAgIFB5X1JFVFVSTl9OT05FOworfQorCitQeURvY19TVFJWQVIocG9zaXhfc2NoZWRfZ2V0YWZmaW5pdHlfX2RvY19fLAorInNjaGVkX2dldGFmZmluaXR5KHBpZCwgbmNwdXMpIC0+IGNwdV9zZXRcblxuXAorUmV0dXJuIHRoZSBhZmZpbml0eSBvZiB0aGUgcHJvY2VzcyB3aXRoIFBJRCAqcGlkKi5cblwKK1RoZSByZXR1cm5lZCBjcHVfc2V0IHdpbGwgYmUgb2Ygc2l6ZSAqbmNwdXMqLiIpOworCitzdGF0aWMgUHlPYmplY3QgKgorcG9zaXhfc2NoZWRfZ2V0YWZmaW5pdHkoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQoreworICAgIHBpZF90IHBpZDsKKyAgICBpbnQgbmNwdXM7CisgICAgUHlfY3B1X3NldCAqcmVzOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsIF9QeV9QQVJTRV9QSUQgImk6c2NoZWRfZ2V0YWZmaW5pdHkiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAmcGlkLCAmbmNwdXMpKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICByZXMgPSBtYWtlX25ld19jcHVfc2V0KCZjcHVfc2V0X3R5cGUsIG5jcHVzKTsKKyAgICBpZiAoIXJlcykKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgaWYgKHNjaGVkX2dldGFmZmluaXR5KHBpZCwgcmVzLT5zaXplLCByZXMtPnNldCkpIHsKKyAgICAgICAgUHlfREVDUkVGKHJlcyk7CisgICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOworICAgIH0KKyAgICByZXR1cm4gKFB5T2JqZWN0ICopcmVzOworfQorCisjZW5kaWYgLyogSEFWRV9TQ0hFRF9TRVRBRkZJTklUWSAqLworCisjZW5kaWYgLyogSEFWRV9TQ0hFRF9IICovCisKIC8qIEFJWCB1c2VzIC9kZXYvcHRjIGJ1dCBpcyBvdGhlcndpc2UgdGhlIHNhbWUgYXMgL2Rldi9wdG14ICovCiAvKiBJUklYIGhhcyBib3RoIC9kZXYvcHRjIGFuZCAvZGV2L3B0bXgsIHVzZSBwdG14ICovCiAjaWYgZGVmaW5lZChIQVZFX0RFVl9QVEMpICYmICFkZWZpbmVkKEhBVkVfREVWX1BUTVgpCkBAIC00Mjc5LDYgKzUzNjIsNyBAQAogfQogI2VuZGlmCiAKKwogI2lmZGVmIEhBVkVfR0VURUdJRAogUHlEb2NfU1RSVkFSKHBvc2l4X2dldGVnaWRfX2RvY19fLAogImdldGVnaWQoKSAtPiBlZ2lkXG5cblwKQEAgLTQzMjgsNiArNTQxMiw3MCBAQAogICAgIHJldHVybiBQeUxvbmdfRnJvbVBpZChnZXRwaWQoKSk7CiB9CiAKKyNpZmRlZiBIQVZFX0dFVEdST1VQTElTVAorUHlEb2NfU1RSVkFSKHBvc2l4X2dldGdyb3VwbGlzdF9fZG9jX18sCisiZ2V0Z3JvdXBsaXN0KHVzZXIsIGdyb3VwKSAtPiBsaXN0IG9mIGdyb3VwcyB0byB3aGljaCBhIHVzZXIgYmVsb25nc1xuXG5cCitSZXR1cm5zIGEgbGlzdCBvZiBncm91cHMgdG8gd2hpY2ggYSB1c2VyIGJlbG9uZ3MuXG5cblwKKyAgICB1c2VyOiB1c2VybmFtZSB0byBsb29rdXBcblwKKyAgICBncm91cDogYmFzZSBncm91cCBpZCBvZiB0aGUgdXNlciIpOworCitzdGF0aWMgUHlPYmplY3QgKgorcG9zaXhfZ2V0Z3JvdXBsaXN0KFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK3sKKyNpZmRlZiBOR1JPVVBTX01BWAorI2RlZmluZSBNQVhfR1JPVVBTIE5HUk9VUFNfTUFYCisjZWxzZQorICAgIC8qIGRlZmluZWQgdG8gYmUgMTYgb24gU29sYXJpczcsIHNvIHRoaXMgc2hvdWxkIGJlIGEgc21hbGwgbnVtYmVyICovCisjZGVmaW5lIE1BWF9HUk9VUFMgNjQKKyNlbmRpZgorCisgICAgY29uc3QgY2hhciAqdXNlcjsKKyAgICBpbnQgaSwgbmdyb3VwczsKKyAgICBQeU9iamVjdCAqbGlzdDsKKyNpZmRlZiBfX0FQUExFX18KKyAgICBpbnQgKmdyb3VwcywgYmFzZWdpZDsKKyNlbHNlCisgICAgZ2lkX3QgKmdyb3VwcywgYmFzZWdpZDsKKyNlbmRpZgorICAgIG5ncm91cHMgPSBNQVhfR1JPVVBTOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJzaSIsICZ1c2VyLCAmYmFzZWdpZCkpCisgICAgICAgIHJldHVybiBOVUxMOworCisjaWZkZWYgX19BUFBMRV9fCisgICAgZ3JvdXBzID0gUHlNZW1fTWFsbG9jKG5ncm91cHMgKiBzaXplb2YoaW50KSk7CisjZWxzZQorICAgIGdyb3VwcyA9IFB5TWVtX01hbGxvYyhuZ3JvdXBzICogc2l6ZW9mKGdpZF90KSk7CisjZW5kaWYKKyAgICBpZiAoZ3JvdXBzID09IE5VTEwpCisgICAgICAgIHJldHVybiBQeUVycl9Ob01lbW9yeSgpOworCisgICAgaWYgKGdldGdyb3VwbGlzdCh1c2VyLCBiYXNlZ2lkLCBncm91cHMsICZuZ3JvdXBzKSA9PSAtMSkgeworICAgICAgICBQeU1lbV9EZWwoZ3JvdXBzKTsKKyAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7CisgICAgfQorCisgICAgbGlzdCA9IFB5TGlzdF9OZXcobmdyb3Vwcyk7CisgICAgaWYgKGxpc3QgPT0gTlVMTCkgeworICAgICAgICBQeU1lbV9EZWwoZ3JvdXBzKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorCisgICAgZm9yIChpID0gMDsgaSA8IG5ncm91cHM7IGkrKykgeworICAgICAgICBQeU9iamVjdCAqbyA9IFB5TG9uZ19Gcm9tVW5zaWduZWRMb25nKCh1bnNpZ25lZCBsb25nKWdyb3Vwc1tpXSk7CisgICAgICAgIGlmIChvID09IE5VTEwpIHsKKyAgICAgICAgICAgIFB5X0RFQ1JFRihsaXN0KTsKKyAgICAgICAgICAgIFB5TWVtX0RlbChncm91cHMpOworICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIH0KKyAgICAgICAgUHlMaXN0X1NFVF9JVEVNKGxpc3QsIGksIG8pOworICAgIH0KKworICAgIFB5TWVtX0RlbChncm91cHMpOworCisgICAgcmV0dXJuIGxpc3Q7Cit9CisjZW5kaWYKIAogI2lmZGVmIEhBVkVfR0VUR1JPVVBTCiBQeURvY19TVFJWQVIocG9zaXhfZ2V0Z3JvdXBzX19kb2NfXywKQEAgLTQ1NjUsNyArNTcxMyw3IEBACiAgICAgUHlPYmplY3QgKnJlc3VsdCA9IE5VTEw7CiAjaWZkZWYgTVNfV0lORE9XUwogICAgIHdjaGFyX3QgdXNlcl9uYW1lW1VOTEVOICsgMV07Ci0gICAgRFdPUkQgbnVtX2NoYXJzID0gc2l6ZW9mKHVzZXJfbmFtZSkvc2l6ZW9mKHVzZXJfbmFtZVswXSk7CisgICAgRFdPUkQgbnVtX2NoYXJzID0gUHlfQVJSQVlfTEVOR1RIKHVzZXJfbmFtZSk7CiAKICAgICBpZiAoR2V0VXNlck5hbWVXKHVzZXJfbmFtZSwgJm51bV9jaGFycykpIHsKICAgICAgICAgLyogbnVtX2NoYXJzIGlzIHRoZSBudW1iZXIgb2YgdW5pY29kZSBjaGFycyBwbHVzIG51bGwgdGVybWluYXRvciAqLwpAQCAtNDk2NSw2ICs2MTEzLDcgQEAKIHsKICAgICBQeU9iamVjdCAqcmVzdWx0OwogICAgIHN0YXRpYyBQeU9iamVjdCAqc3RydWN0X3J1c2FnZTsKKyAgICBfUHlfSURFTlRJRklFUihzdHJ1Y3RfcnVzYWdlKTsKIAogICAgIGlmIChwaWQgPT0gLTEpCiAgICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOwpAQCAtNDk3Myw3ICs2MTIyLDcgQEAKICAgICAgICAgUHlPYmplY3QgKm0gPSBQeUltcG9ydF9JbXBvcnRNb2R1bGVOb0Jsb2NrKCJyZXNvdXJjZSIpOwogICAgICAgICBpZiAobSA9PSBOVUxMKQogICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgIHN0cnVjdF9ydXNhZ2UgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKG0sICJzdHJ1Y3RfcnVzYWdlIik7CisgICAgICAgIHN0cnVjdF9ydXNhZ2UgPSBfUHlPYmplY3RfR2V0QXR0cklkKG0sICZQeUlkX3N0cnVjdF9ydXNhZ2UpOwogICAgICAgICBQeV9ERUNSRUYobSk7CiAgICAgICAgIGlmIChzdHJ1Y3RfcnVzYWdlID09IE5VTEwpCiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKQEAgLTUwNjksNiArNjIxOCw1NSBAQAogfQogI2VuZGlmIC8qIEhBVkVfV0FJVDQgKi8KIAorI2lmIGRlZmluZWQoSEFWRV9XQUlUSUQpICYmICFkZWZpbmVkKF9fQVBQTEVfXykKK1B5RG9jX1NUUlZBUihwb3NpeF93YWl0aWRfX2RvY19fLAorIndhaXRpZChpZHR5cGUsIGlkLCBvcHRpb25zKSAtPiB3YWl0aWRfcmVzdWx0XG5cblwKK1dhaXQgZm9yIHRoZSBjb21wbGV0aW9uIG9mIG9uZSBvciBtb3JlIGNoaWxkIHByb2Nlc3Nlcy5cblxuXAoraWR0eXBlIGNhbiBiZSBQX1BJRCwgUF9QR0lEIG9yIFBfQUxMLlxuXAoraWQgc3BlY2lmaWVzIHRoZSBwaWQgdG8gd2FpdCBvbi5cblwKK29wdGlvbnMgaXMgY29uc3RydWN0ZWQgZnJvbSB0aGUgT1Jpbmcgb2Ygb25lIG9yIG1vcmUgb2YgV0VYSVRFRCwgV1NUT1BQRURcblwKK29yIFdDT05USU5VRUQgYW5kIGFkZGl0aW9uYWxseSBtYXkgYmUgT1JlZCB3aXRoIFdOT0hBTkcgb3IgV05PV0FJVC5cblwKK1JldHVybnMgZWl0aGVyIHdhaXRpZF9yZXN1bHQgb3IgTm9uZSBpZiBXTk9IQU5HIGlzIHNwZWNpZmllZCBhbmQgdGhlcmUgYXJlXG5cCitubyBjaGlsZHJlbiBpbiBhIHdhaXRhYmxlIHN0YXRlLiIpOworCitzdGF0aWMgUHlPYmplY3QgKgorcG9zaXhfd2FpdGlkKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeU9iamVjdCAqcmVzdWx0OworICAgIGlkdHlwZV90IGlkdHlwZTsKKyAgICBpZF90IGlkOworICAgIGludCBvcHRpb25zLCByZXM7CisgICAgc2lnaW5mb190IHNpOworICAgIHNpLnNpX3BpZCA9IDA7CisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJpIiBfUHlfUEFSU0VfUElEICJpOndhaXRpZCIsICZpZHR5cGUsICZpZCwgJm9wdGlvbnMpKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCisgICAgcmVzID0gd2FpdGlkKGlkdHlwZSwgaWQsICZzaSwgb3B0aW9ucyk7CisgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKyAgICBpZiAocmVzID09IC0xKQorICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKKworICAgIGlmIChzaS5zaV9waWQgPT0gMCkKKyAgICAgICAgUHlfUkVUVVJOX05PTkU7CisKKyAgICByZXN1bHQgPSBQeVN0cnVjdFNlcXVlbmNlX05ldygmV2FpdGlkUmVzdWx0VHlwZSk7CisgICAgaWYgKCFyZXN1bHQpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgUHlTdHJ1Y3RTZXF1ZW5jZV9TRVRfSVRFTShyZXN1bHQsIDAsIFB5TG9uZ19Gcm9tUGlkKHNpLnNpX3BpZCkpOworICAgIFB5U3RydWN0U2VxdWVuY2VfU0VUX0lURU0ocmVzdWx0LCAxLCBQeUxvbmdfRnJvbVBpZChzaS5zaV91aWQpKTsKKyAgICBQeVN0cnVjdFNlcXVlbmNlX1NFVF9JVEVNKHJlc3VsdCwgMiwgUHlMb25nX0Zyb21Mb25nKChsb25nKShzaS5zaV9zaWdubykpKTsKKyAgICBQeVN0cnVjdFNlcXVlbmNlX1NFVF9JVEVNKHJlc3VsdCwgMywgUHlMb25nX0Zyb21Mb25nKChsb25nKShzaS5zaV9zdGF0dXMpKSk7CisgICAgUHlTdHJ1Y3RTZXF1ZW5jZV9TRVRfSVRFTShyZXN1bHQsIDQsIFB5TG9uZ19Gcm9tTG9uZygobG9uZykoc2kuc2lfY29kZSkpKTsKKyAgICBpZiAoUHlFcnJfT2NjdXJyZWQoKSkgeworICAgICAgICBQeV9ERUNSRUYocmVzdWx0KTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorCisgICAgcmV0dXJuIHJlc3VsdDsKK30KKyNlbmRpZgorCiAjaWZkZWYgSEFWRV9XQUlUUElECiBQeURvY19TVFJWQVIocG9zaXhfd2FpdHBpZF9fZG9jX18sCiAid2FpdHBpZChwaWQsIG9wdGlvbnMpIC0+IChwaWQsIHN0YXR1cylcblxuXApAQCAtNTIzMiw3ICs2NDMwLDcgQEAKICAgICB3Y2hhcl90ICpwYXRoOwogICAgIERXT1JEIG5fYnl0ZXNfcmV0dXJuZWQ7CiAgICAgRFdPUkQgaW9fcmVzdWx0OwotICAgIFB5T2JqZWN0ICpyZXN1bHQ7CisgICAgUHlPYmplY3QgKnBvLCAqcmVzdWx0OwogICAgIEhBTkRMRSByZXBhcnNlX3BvaW50X2hhbmRsZTsKIAogICAgIGNoYXIgdGFyZ2V0X2J1ZmZlcltNQVhJTVVNX1JFUEFSU0VfREFUQV9CVUZGRVJfU0laRV07CkBAIC01MjQwLDggKzY0MzgsMTEgQEAKICAgICB3Y2hhcl90ICpwcmludF9uYW1lOwogCiAgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCi0gICAgICAgICAgICAgICAgICAidTpyZWFkbGluayIsCi0gICAgICAgICAgICAgICAgICAmcGF0aCkpCisgICAgICAgICAgICAgICAgICAiVTpyZWFkbGluayIsCisgICAgICAgICAgICAgICAgICAmcG8pKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBwYXRoID0gUHlVbmljb2RlX0FzVW5pY29kZShwbyk7CisgICAgaWYgKHBhdGggPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKICAgICAvKiBGaXJzdCBnZXQgYSBoYW5kbGUgdG8gdGhlIHJlcGFyc2UgcG9pbnQgKi8KQEAgLTUyNTcsOSArNjQ1OCw3IEBACiAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKIAogICAgIGlmIChyZXBhcnNlX3BvaW50X2hhbmRsZT09SU5WQUxJRF9IQU5ETEVfVkFMVUUpCi0gICAgewotICAgICAgICByZXR1cm4gd2luMzJfZXJyb3JfdW5pY29kZSgicmVhZGxpbmsiLCBwYXRoKTsKLSAgICB9CisgICAgICAgIHJldHVybiB3aW4zMl9lcnJvcl9vYmplY3QoInJlYWRsaW5rIiwgcG8pOwogCiAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwogICAgIC8qIE5ldyBjYWxsIERldmljZUlvQ29udHJvbCB0byByZWFkIHRoZSByZXBhcnNlIHBvaW50ICovCkBAIC01Mjc1LDkgKzY0NzQsNyBAQAogICAgIFB5X0VORF9BTExPV19USFJFQURTCiAKICAgICBpZiAoaW9fcmVzdWx0PT0wKQotICAgIHsKLSAgICAgICAgcmV0dXJuIHdpbjMyX2Vycm9yX3VuaWNvZGUoInJlYWRsaW5rIiwgcGF0aCk7Ci0gICAgfQorICAgICAgICByZXR1cm4gd2luMzJfZXJyb3Jfb2JqZWN0KCJyZWFkbGluayIsIHBvKTsKIAogICAgIGlmIChyZGItPlJlcGFyc2VUYWcgIT0gSU9fUkVQQVJTRV9UQUdfU1lNTElOSykKICAgICB7CkBAIC01MzA3LDcgKzY1MDQsNyBAQAogICAgIC8qIG9ubHkgcmVjaGVjayAqLwogICAgIGlmIChoYXNfQ3JlYXRlU3ltYm9saWNMaW5rVykKICAgICAgICAgcmV0dXJuIGhhc19DcmVhdGVTeW1ib2xpY0xpbmtXOwotICAgIGhLZXJuZWwzMiA9IEdldE1vZHVsZUhhbmRsZSgiS0VSTkVMMzIiKTsKKyAgICBoS2VybmVsMzIgPSBHZXRNb2R1bGVIYW5kbGVXKEwiS0VSTkVMMzIiKTsKICAgICAqKEZBUlBST0MqKSZQeV9DcmVhdGVTeW1ib2xpY0xpbmtXID0gR2V0UHJvY0FkZHJlc3MoaEtlcm5lbDMyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQ3JlYXRlU3ltYm9saWNMaW5rVyIpOwogICAgIGlmIChQeV9DcmVhdGVTeW1ib2xpY0xpbmtXKQpAQCAtNTMyNyw3ICs2NTI0LDkgQEAKIHdpbl9zeW1saW5rKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKIHsKICAgICBzdGF0aWMgY2hhciAqa3dsaXN0W10gPSB7InNyYyIsICJkZXN0IiwgInRhcmdldF9pc19kaXJlY3RvcnkiLCBOVUxMfTsKLSAgICBQeU9iamVjdCAqc3JjLCAqZGVzdDsKKyAgICBQeU9iamVjdCAqb3NyYywgKm9kZXN0OworICAgIFB5T2JqZWN0ICp1c3JjID0gTlVMTCwgKnVkZXN0ID0gTlVMTDsKKyAgICB3Y2hhcl90ICp3c3JjLCAqd2Rlc3Q7CiAgICAgaW50IHRhcmdldF9pc19kaXJlY3RvcnkgPSAwOwogICAgIERXT1JEIHJlczsKIApAQCAtNTMzNywzNCArNjUzNiw0NCBAQAogICAgICAgICByZXR1cm4gUHlFcnJfRm9ybWF0KFB5RXhjX05vdEltcGxlbWVudGVkRXJyb3IsCiAgICAgICAgICAgICAiQ3JlYXRlU3ltYm9saWNMaW5rVyBub3QgZm91bmQiKTsKICAgICB9Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLCAiT098aTpzeW1saW5rIiwKLSAgICAgICAga3dsaXN0LCAmc3JjLCAmZGVzdCwgJnRhcmdldF9pc19kaXJlY3RvcnkpKQorICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKAorICAgICAgICAgICAgYXJncywga3dhcmdzLCAiT098aTpzeW1saW5rIiwga3dsaXN0LAorICAgICAgICAgICAgJm9zcmMsICZvZGVzdCwgJnRhcmdldF9pc19kaXJlY3RvcnkpKQogICAgICAgICByZXR1cm4gTlVMTDsKIAorICAgIHVzcmMgPSB3aW4zMl9kZWNvZGVfZmlsZW5hbWUob3NyYyk7CisgICAgaWYgKCF1c3JjKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB1ZGVzdCA9IHdpbjMyX2RlY29kZV9maWxlbmFtZShvZGVzdCk7CisgICAgaWYgKCF1ZGVzdCkKKyAgICAgICAgZ290byBlcnJvcjsKKwogICAgIGlmICh3aW4zMl9jYW5fc3ltbGluayA9PSAwKQogICAgICAgICByZXR1cm4gUHlFcnJfRm9ybWF0KFB5RXhjX09TRXJyb3IsICJzeW1ib2xpYyBsaW5rIHByaXZpbGVnZSBub3QgaGVsZCIpOwogCi0gICAgaWYgKCFjb252ZXJ0X3RvX3VuaWNvZGUoJnNyYykpIHsgcmV0dXJuIE5VTEw7IH0KLSAgICBpZiAoIWNvbnZlcnRfdG9fdW5pY29kZSgmZGVzdCkpIHsKLSAgICAgICAgUHlfREVDUkVGKHNyYyk7Ci0gICAgICAgIHJldHVybiBOVUxMOwotICAgIH0KKyAgICB3c3JjID0gUHlVbmljb2RlX0FzVW5pY29kZSh1c3JjKTsKKyAgICBpZiAod3NyYyA9PSBOVUxMKQorICAgICAgICBnb3RvIGVycm9yOworICAgIHdkZXN0ID0gUHlVbmljb2RlX0FzVW5pY29kZSh1ZGVzdCk7CisgICAgaWYgKHdzcmMgPT0gTlVMTCkKKyAgICAgICAgZ290byBlcnJvcjsKIAogICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKLSAgICByZXMgPSBQeV9DcmVhdGVTeW1ib2xpY0xpbmtXKAotICAgICAgICBQeVVuaWNvZGVfQXNVbmljb2RlKGRlc3QpLAotICAgICAgICBQeVVuaWNvZGVfQXNVbmljb2RlKHNyYyksCi0gICAgICAgIHRhcmdldF9pc19kaXJlY3RvcnkpOworICAgIHJlcyA9IFB5X0NyZWF0ZVN5bWJvbGljTGlua1cod2Rlc3QsIHdzcmMsIHRhcmdldF9pc19kaXJlY3RvcnkpOwogICAgIFB5X0VORF9BTExPV19USFJFQURTCi0gICAgUHlfREVDUkVGKHNyYyk7Ci0gICAgUHlfREVDUkVGKGRlc3QpOworCisgICAgUHlfREVDUkVGKHVzcmMpOworICAgIFB5X0RFQ1JFRih1ZGVzdCk7CiAgICAgaWYgKCFyZXMpCi0gICAgewotICAgICAgICByZXR1cm4gd2luMzJfZXJyb3JfdW5pY29kZSgic3ltbGluayIsIFB5VW5pY29kZV9Bc1VuaWNvZGUoc3JjKSk7Ci0gICAgfQorICAgICAgICByZXR1cm4gd2luMzJfZXJyb3Jfb2JqZWN0KCJzeW1saW5rIiwgb3NyYyk7CiAKICAgICBQeV9JTkNSRUYoUHlfTm9uZSk7CiAgICAgcmV0dXJuIFB5X05vbmU7CisKK2Vycm9yOgorICAgIFB5X1hERUNSRUYodXNyYyk7CisgICAgUHlfWERFQ1JFRih1ZGVzdCk7CisgICAgcmV0dXJuIE5VTEw7CiB9CiAjZW5kaWYgLyogZGVmaW5lZChIQVZFX1NZTUxJTkspICYmIGRlZmluZWQoTVNfV0lORE9XUykgKi8KIApAQCAtNTU1OSwxMiArNjc2OCwxNCBAQAogICAgIGludCBmZDsKIAogI2lmZGVmIE1TX1dJTkRPV1MKLSAgICBQeVVuaWNvZGVPYmplY3QgKnBvOworICAgIFB5T2JqZWN0ICpwbzsKICAgICBpZiAoUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiVWl8aTpvcGVuIiwgJnBvLCAmZmxhZywgJm1vZGUpKSB7CisgICAgICAgIHdjaGFyX3QgKndwYXRoID0gUHlVbmljb2RlX0FzVW5pY29kZShwbyk7CisgICAgICAgIGlmICh3cGF0aCA9PSBOVUxMKQorICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisKICAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwotICAgICAgICAvKiBQeVVuaWNvZGVfQVNfVU5JQ09ERSBPSyB3aXRob3V0IHRocmVhZAotICAgICAgICAgICBsb2NrIGFzIGl0IGlzIGEgc2ltcGxlIGRlcmVmZXJlbmNlLiAqLwotICAgICAgICBmZCA9IF93b3BlbihQeVVuaWNvZGVfQVNfVU5JQ09ERShwbyksIGZsYWcsIG1vZGUpOworICAgICAgICBmZCA9IF93b3Blbih3cGF0aCwgZmxhZywgbW9kZSk7CiAgICAgICAgIFB5X0VORF9BTExPV19USFJFQURTCiAgICAgICAgIGlmIChmZCA8IDApCiAgICAgICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKQEAgLTU1NzksNiArNjc5MCwxMiBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfRlNDb252ZXJ0ZXIsICZvZmlsZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgJmZsYWcsICZtb2RlKSkKICAgICAgICAgcmV0dXJuIE5VTEw7CisjaWZkZWYgTVNfV0lORE9XUworICAgIGlmICh3aW4zMl93YXJuX2J5dGVzX2FwaSgpKSB7CisgICAgICAgIFB5X0RFQ1JFRihvZmlsZSk7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKyNlbmRpZgogICAgIGZpbGUgPSBQeUJ5dGVzX0FzU3RyaW5nKG9maWxlKTsKICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCiAgICAgZmQgPSBvcGVuKGZpbGUsIGZsYWcsIG1vZGUpOwpAQCAtNTY0Myw5ICs2ODYwLDcgQEAKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgaWYgKCFfUHlWZXJpZnlfZmQoZmQpKQogICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKLSAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCiAgICAgZmQgPSBkdXAoZmQpOwotICAgIFB5X0VORF9BTExPV19USFJFQURTCiAgICAgaWYgKGZkIDwgMCkKICAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7CiAgICAgcmV0dXJuIFB5TG9uZ19Gcm9tTG9uZygobG9uZylmZCk7CkBAIC01NjY0LDE1ICs2ODc5LDQyIEBACiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIGlmICghX1B5VmVyaWZ5X2ZkX2R1cDIoZmQsIGZkMikpCiAgICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOwotICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKICAgICByZXMgPSBkdXAyKGZkLCBmZDIpOwotICAgIFB5X0VORF9BTExPV19USFJFQURTCiAgICAgaWYgKHJlcyA8IDApCiAgICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOwogICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKICAgICByZXR1cm4gUHlfTm9uZTsKIH0KIAorI2lmZGVmIEhBVkVfTE9DS0YKK1B5RG9jX1NUUlZBUihwb3NpeF9sb2NrZl9fZG9jX18sCisibG9ja2YoZmQsIGNtZCwgbGVuKVxuXG5cCitBcHBseSwgdGVzdCBvciByZW1vdmUgYSBQT1NJWCBsb2NrIG9uIGFuIG9wZW4gZmlsZSBkZXNjcmlwdG9yLlxuXG5cCitmZCBpcyBhbiBvcGVuIGZpbGUgZGVzY3JpcHRvci5cblwKK2NtZCBzcGVjaWZpZXMgdGhlIGNvbW1hbmQgdG8gdXNlIC0gb25lIG9mIEZfTE9DSywgRl9UTE9DSywgRl9VTE9DSyBvclxuXAorRl9URVNULlxuXAorbGVuIHNwZWNpZmllcyB0aGUgc2VjdGlvbiBvZiB0aGUgZmlsZSB0byBsb2NrLiIpOworCitzdGF0aWMgUHlPYmplY3QgKgorcG9zaXhfbG9ja2YoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQoreworICAgIGludCBmZCwgY21kLCByZXM7CisgICAgb2ZmX3QgbGVuOworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiaWlPJjpsb2NrZiIsCisgICAgICAgICAgICAmZmQsICZjbWQsIF9wYXJzZV9vZmZfdCwgJmxlbikpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUworICAgIHJlcyA9IGxvY2tmKGZkLCBjbWQsIGxlbik7CisgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKworICAgIGlmIChyZXMgPCAwKQorICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKKworICAgIFB5X1JFVFVSTl9OT05FOworfQorI2VuZGlmCisKIAogUHlEb2NfU1RSVkFSKHBvc2l4X2xzZWVrX19kb2NfXywKICJsc2VlayhmZCwgcG9zLCBob3cpIC0+IG5ld3Bvc1xuXG5cCkBAIC01NzAzLDggKzY5NDUsNyBAQAogI2lmICFkZWZpbmVkKEhBVkVfTEFSR0VGSUxFX1NVUFBPUlQpCiAgICAgcG9zID0gUHlMb25nX0FzTG9uZyhwb3NvYmopOwogI2Vsc2UKLSAgICBwb3MgPSBQeUxvbmdfQ2hlY2socG9zb2JqKSA/Ci0gICAgICAgIFB5TG9uZ19Bc0xvbmdMb25nKHBvc29iaikgOiBQeUxvbmdfQXNMb25nKHBvc29iaik7CisgICAgcG9zID0gUHlMb25nX0FzTG9uZ0xvbmcocG9zb2JqKTsKICNlbmRpZgogICAgIGlmIChQeUVycl9PY2N1cnJlZCgpKQogICAgICAgICByZXR1cm4gTlVMTDsKQEAgLTU3NjQsNiArNzAwNSwxNDAgQEAKICAgICByZXR1cm4gYnVmZmVyOwogfQogCisjaWYgKGRlZmluZWQoSEFWRV9TRU5ERklMRSkgJiYgKGRlZmluZWQoX19GcmVlQlNEX18pIHx8IGRlZmluZWQoX19EcmFnb25GbHlfXykgXAorICAgIHx8IGRlZmluZWQoX19BUFBMRV9fKSkpIHx8IGRlZmluZWQoSEFWRV9SRUFEVikgfHwgZGVmaW5lZChIQVZFX1dSSVRFVikKK3N0YXRpYyBQeV9zc2l6ZV90Citpb3Zfc2V0dXAoc3RydWN0IGlvdmVjICoqaW92LCBQeV9idWZmZXIgKipidWYsIFB5T2JqZWN0ICpzZXEsIGludCBjbnQsIGludCB0eXBlKQoreworICAgIGludCBpLCBqOworICAgIFB5X3NzaXplX3QgYmxlbiwgdG90YWwgPSAwOworCisgICAgKmlvdiA9IFB5TWVtX05ldyhzdHJ1Y3QgaW92ZWMsIGNudCk7CisgICAgaWYgKCppb3YgPT0gTlVMTCkgeworICAgICAgICBQeUVycl9Ob01lbW9yeSgpOworICAgICAgICByZXR1cm4gdG90YWw7CisgICAgfQorCisgICAgKmJ1ZiA9IFB5TWVtX05ldyhQeV9idWZmZXIsIGNudCk7CisgICAgaWYgKCpidWYgPT0gTlVMTCkgeworICAgICAgICBQeU1lbV9EZWwoKmlvdik7CisgICAgICAgIFB5RXJyX05vTWVtb3J5KCk7CisgICAgICAgIHJldHVybiB0b3RhbDsKKyAgICB9CisKKyAgICBmb3IgKGkgPSAwOyBpIDwgY250OyBpKyspIHsKKyAgICAgICAgUHlPYmplY3QgKml0ZW0gPSBQeVNlcXVlbmNlX0dldEl0ZW0oc2VxLCBpKTsKKyAgICAgICAgaWYgKGl0ZW0gPT0gTlVMTCkKKyAgICAgICAgICAgIGdvdG8gZmFpbDsKKyAgICAgICAgaWYgKFB5T2JqZWN0X0dldEJ1ZmZlcihpdGVtLCAmKCpidWYpW2ldLCB0eXBlKSA9PSAtMSkgeworICAgICAgICAgICAgUHlfREVDUkVGKGl0ZW0pOworICAgICAgICAgICAgZ290byBmYWlsOworICAgICAgICB9CisgICAgICAgIFB5X0RFQ1JFRihpdGVtKTsKKyAgICAgICAgKCppb3YpW2ldLmlvdl9iYXNlID0gKCpidWYpW2ldLmJ1ZjsKKyAgICAgICAgYmxlbiA9ICgqYnVmKVtpXS5sZW47CisgICAgICAgICgqaW92KVtpXS5pb3ZfbGVuID0gYmxlbjsKKyAgICAgICAgdG90YWwgKz0gYmxlbjsKKyAgICB9CisgICAgcmV0dXJuIHRvdGFsOworCitmYWlsOgorICAgIFB5TWVtX0RlbCgqaW92KTsKKyAgICBmb3IgKGogPSAwOyBqIDwgaTsgaisrKSB7CisgICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJigqYnVmKVtqXSk7CisgICAgfQorICAgIFB5TWVtX0RlbCgqYnVmKTsKKyAgICByZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQKK2lvdl9jbGVhbnVwKHN0cnVjdCBpb3ZlYyAqaW92LCBQeV9idWZmZXIgKmJ1ZiwgaW50IGNudCkKK3sKKyAgICBpbnQgaTsKKyAgICBQeU1lbV9EZWwoaW92KTsKKyAgICBmb3IgKGkgPSAwOyBpIDwgY250OyBpKyspIHsKKyAgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmYnVmW2ldKTsKKyAgICB9CisgICAgUHlNZW1fRGVsKGJ1Zik7Cit9CisjZW5kaWYKKworI2lmZGVmIEhBVkVfUkVBRFYKK1B5RG9jX1NUUlZBUihwb3NpeF9yZWFkdl9fZG9jX18sCisicmVhZHYoZmQsIGJ1ZmZlcnMpIC0+IGJ5dGVzcmVhZFxuXG5cCitSZWFkIGZyb20gYSBmaWxlIGRlc2NyaXB0b3IgaW50byBhIG51bWJlciBvZiB3cml0YWJsZSBidWZmZXJzLiBidWZmZXJzXG5cCitpcyBhbiBhcmJpdHJhcnkgc2VxdWVuY2Ugb2Ygd3JpdGFibGUgYnVmZmVycy5cblwKK1JldHVybnMgdGhlIHRvdGFsIG51bWJlciBvZiBieXRlcyByZWFkLiIpOworCitzdGF0aWMgUHlPYmplY3QgKgorcG9zaXhfcmVhZHYoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQoreworICAgIGludCBmZCwgY250OworICAgIFB5X3NzaXplX3QgbjsKKyAgICBQeU9iamVjdCAqc2VxOworICAgIHN0cnVjdCBpb3ZlYyAqaW92OworICAgIFB5X2J1ZmZlciAqYnVmOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJpTzpyZWFkdiIsICZmZCwgJnNlcSkpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIGlmICghUHlTZXF1ZW5jZV9DaGVjayhzZXEpKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsCisgICAgICAgICAgICAicmVhZHYoKSBhcmcgMiBtdXN0IGJlIGEgc2VxdWVuY2UiKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorICAgIGNudCA9IFB5U2VxdWVuY2VfU2l6ZShzZXEpOworCisgICAgaWYgKCFpb3Zfc2V0dXAoJmlvdiwgJmJ1Ziwgc2VxLCBjbnQsIFB5QlVGX1dSSVRBQkxFKSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCisgICAgbiA9IHJlYWR2KGZkLCBpb3YsIGNudCk7CisgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKworICAgIGlvdl9jbGVhbnVwKGlvdiwgYnVmLCBjbnQpOworICAgIHJldHVybiBQeUxvbmdfRnJvbVNzaXplX3Qobik7Cit9CisjZW5kaWYKKworI2lmZGVmIEhBVkVfUFJFQUQKK1B5RG9jX1NUUlZBUihwb3NpeF9wcmVhZF9fZG9jX18sCisicHJlYWQoZmQsIGJ1ZmZlcnNpemUsIG9mZnNldCkgLT4gc3RyaW5nXG5cblwKK1JlYWQgZnJvbSBhIGZpbGUgZGVzY3JpcHRvciwgZmQsIGF0IGEgcG9zaXRpb24gb2Ygb2Zmc2V0LiBJdCB3aWxsIHJlYWQgdXBcblwKK3RvIGJ1ZmZlcnNpemUgbnVtYmVyIG9mIGJ5dGVzLiBUaGUgZmlsZSBvZmZzZXQgcmVtYWlucyB1bmNoYW5nZWQuIik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitwb3NpeF9wcmVhZChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgaW50IGZkLCBzaXplOworICAgIG9mZl90IG9mZnNldDsKKyAgICBQeV9zc2l6ZV90IG47CisgICAgUHlPYmplY3QgKmJ1ZmZlcjsKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgImlpTyY6cHJlYWQiLCAmZmQsICZzaXplLCBfcGFyc2Vfb2ZmX3QsICZvZmZzZXQpKQorICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIGlmIChzaXplIDwgMCkgeworICAgICAgICBlcnJubyA9IEVJTlZBTDsKKyAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7CisgICAgfQorICAgIGJ1ZmZlciA9IFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUoKGNoYXIgKilOVUxMLCBzaXplKTsKKyAgICBpZiAoYnVmZmVyID09IE5VTEwpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIGlmICghX1B5VmVyaWZ5X2ZkKGZkKSkgeworICAgICAgICBQeV9ERUNSRUYoYnVmZmVyKTsKKyAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7CisgICAgfQorICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKKyAgICBuID0gcHJlYWQoZmQsIFB5Qnl0ZXNfQVNfU1RSSU5HKGJ1ZmZlciksIHNpemUsIG9mZnNldCk7CisgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKyAgICBpZiAobiA8IDApIHsKKyAgICAgICAgUHlfREVDUkVGKGJ1ZmZlcik7CisgICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOworICAgIH0KKyAgICBpZiAobiAhPSBzaXplKQorICAgICAgICBfUHlCeXRlc19SZXNpemUoJmJ1ZmZlciwgbik7CisgICAgcmV0dXJuIGJ1ZmZlcjsKK30KKyNlbmRpZgogCiBQeURvY19TVFJWQVIocG9zaXhfd3JpdGVfX2RvY19fLAogIndyaXRlKGZkLCBzdHJpbmcpIC0+IGJ5dGVzd3JpdHRlblxuXG5cCkBAIC01Nzk4LDYgKzcxNzMsMTQ0IEBACiAgICAgcmV0dXJuIFB5TG9uZ19Gcm9tU3NpemVfdChzaXplKTsKIH0KIAorI2lmZGVmIEhBVkVfU0VOREZJTEUKK1B5RG9jX1NUUlZBUihwb3NpeF9zZW5kZmlsZV9fZG9jX18sCisic2VuZGZpbGUob3V0LCBpbiwgb2Zmc2V0LCBuYnl0ZXMpIC0+IGJ5dGVzd3JpdHRlblxuXAorc2VuZGZpbGUob3V0LCBpbiwgb2Zmc2V0LCBuYnl0ZXMsIGhlYWRlcnM9Tm9uZSwgdHJhaWxlcnM9Tm9uZSwgZmxhZ3M9MClcblwKKyAgICAgICAgICAgIC0+IGJ5dGVzd3JpdHRlblxuXAorQ29weSBuYnl0ZXMgYnl0ZXMgZnJvbSBmaWxlIGRlc2NyaXB0b3IgaW4gdG8gZmlsZSBkZXNjcmlwdG9yIG91dC4iKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK3Bvc2l4X3NlbmRmaWxlKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3ZGljdCkKK3sKKyAgICBpbnQgaW4sIG91dDsKKyAgICBQeV9zc2l6ZV90IHJldDsKKyAgICBvZmZfdCBvZmZzZXQ7CisKKyNpZiBkZWZpbmVkKF9fRnJlZUJTRF9fKSB8fCBkZWZpbmVkKF9fRHJhZ29uRmx5X18pIHx8IGRlZmluZWQoX19BUFBMRV9fKQorI2lmbmRlZiBfX0FQUExFX18KKyAgICBQeV9zc2l6ZV90IGxlbjsKKyNlbmRpZgorICAgIFB5T2JqZWN0ICpoZWFkZXJzID0gTlVMTCwgKnRyYWlsZXJzID0gTlVMTDsKKyAgICBQeV9idWZmZXIgKmhidWYsICp0YnVmOworICAgIG9mZl90IHNieXRlczsKKyAgICBzdHJ1Y3Qgc2ZfaGR0ciBzZjsKKyAgICBpbnQgZmxhZ3MgPSAwOworICAgIHNmLmhlYWRlcnMgPSBOVUxMOworICAgIHNmLnRyYWlsZXJzID0gTlVMTDsKKyAgICBzdGF0aWMgY2hhciAqa2V5d29yZHNbXSA9IHsib3V0IiwgImluIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9mZnNldCIsICJjb3VudCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJoZWFkZXJzIiwgInRyYWlsZXJzIiwgImZsYWdzIiwgTlVMTH07CisKKyNpZmRlZiBfX0FQUExFX18KKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2RpY3QsICJpaU8mTyZ8T09pOnNlbmRmaWxlIiwKKyAgICAgICAga2V5d29yZHMsICZvdXQsICZpbiwgX3BhcnNlX29mZl90LCAmb2Zmc2V0LCBfcGFyc2Vfb2ZmX3QsICZzYnl0ZXMsCisjZWxzZQorICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3ZGljdCwgImlpTyZufE9PaTpzZW5kZmlsZSIsCisgICAgICAgIGtleXdvcmRzLCAmb3V0LCAmaW4sIF9wYXJzZV9vZmZfdCwgJm9mZnNldCwgJmxlbiwKKyNlbmRpZgorICAgICAgICAgICAgICAgICZoZWFkZXJzLCAmdHJhaWxlcnMsICZmbGFncykpCisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBpZiAoaGVhZGVycyAhPSBOVUxMKSB7CisgICAgICAgIGlmICghUHlTZXF1ZW5jZV9DaGVjayhoZWFkZXJzKSkgeworICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwKKyAgICAgICAgICAgICAgICAic2VuZGZpbGUoKSBoZWFkZXJzIG11c3QgYmUgYSBzZXF1ZW5jZSBvciBOb25lIik7CisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIFB5X3NzaXplX3QgaSA9IDA7IC8qIEF2b2lkIHVuaW5pdGlhbGl6ZWQgd2FybmluZyAqLworICAgICAgICAgICAgc2YuaGRyX2NudCA9IFB5U2VxdWVuY2VfU2l6ZShoZWFkZXJzKTsKKyAgICAgICAgICAgIGlmIChzZi5oZHJfY250ID4gMCAmJgorICAgICAgICAgICAgICAgICEoaSA9IGlvdl9zZXR1cCgmKHNmLmhlYWRlcnMpLCAmaGJ1ZiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVycywgc2YuaGRyX2NudCwgUHlCVUZfU0lNUExFKSkpCisgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisjaWZkZWYgX19BUFBMRV9fCisgICAgICAgICAgICBzYnl0ZXMgKz0gaTsKKyNlbmRpZgorICAgICAgICB9CisgICAgfQorICAgIGlmICh0cmFpbGVycyAhPSBOVUxMKSB7CisgICAgICAgIGlmICghUHlTZXF1ZW5jZV9DaGVjayh0cmFpbGVycykpIHsKKyAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsCisgICAgICAgICAgICAgICAgInNlbmRmaWxlKCkgdHJhaWxlcnMgbXVzdCBiZSBhIHNlcXVlbmNlIG9yIE5vbmUiKTsKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgUHlfc3NpemVfdCBpID0gMDsgLyogQXZvaWQgdW5pbml0aWFsaXplZCB3YXJuaW5nICovCisgICAgICAgICAgICBzZi50cmxfY250ID0gUHlTZXF1ZW5jZV9TaXplKHRyYWlsZXJzKTsKKyAgICAgICAgICAgIGlmIChzZi50cmxfY250ID4gMCAmJgorICAgICAgICAgICAgICAgICEoaSA9IGlvdl9zZXR1cCgmKHNmLnRyYWlsZXJzKSwgJnRidWYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYWlsZXJzLCBzZi50cmxfY250LCBQeUJVRl9TSU1QTEUpKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyNpZmRlZiBfX0FQUExFX18KKyAgICAgICAgICAgIHNieXRlcyArPSBpOworI2VuZGlmCisgICAgICAgIH0KKyAgICB9CisKKyAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCisjaWZkZWYgX19BUFBMRV9fCisgICAgcmV0ID0gc2VuZGZpbGUoaW4sIG91dCwgb2Zmc2V0LCAmc2J5dGVzLCAmc2YsIGZsYWdzKTsKKyNlbHNlCisgICAgcmV0ID0gc2VuZGZpbGUoaW4sIG91dCwgb2Zmc2V0LCBsZW4sICZzZiwgJnNieXRlcywgZmxhZ3MpOworI2VuZGlmCisgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKworICAgIGlmIChzZi5oZWFkZXJzICE9IE5VTEwpCisgICAgICAgIGlvdl9jbGVhbnVwKHNmLmhlYWRlcnMsIGhidWYsIHNmLmhkcl9jbnQpOworICAgIGlmIChzZi50cmFpbGVycyAhPSBOVUxMKQorICAgICAgICBpb3ZfY2xlYW51cChzZi50cmFpbGVycywgdGJ1Ziwgc2YudHJsX2NudCk7CisKKyAgICBpZiAocmV0IDwgMCkgeworICAgICAgICBpZiAoKGVycm5vID09IEVBR0FJTikgfHwgKGVycm5vID09IEVCVVNZKSkgeworICAgICAgICAgICAgaWYgKHNieXRlcyAhPSAwKSB7CisgICAgICAgICAgICAgICAgLy8gc29tZSBkYXRhIGhhcyBiZWVuIHNlbnQKKyAgICAgICAgICAgICAgICBnb3RvIGRvbmU7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgICAgICAvLyBubyBkYXRhIGhhcyBiZWVuIHNlbnQ7IHVwcGVyIGFwcGxpY2F0aW9uIGlzIHN1cHBvc2VkCisgICAgICAgICAgICAgICAgLy8gdG8gcmV0cnkgb24gRUFHQUlOIG9yIEVCVVNZCisgICAgICAgICAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7CisgICAgfQorICAgIGdvdG8gZG9uZTsKKworZG9uZToKKyAgICAjaWYgIWRlZmluZWQoSEFWRV9MQVJHRUZJTEVfU1VQUE9SVCkKKyAgICAgICAgcmV0dXJuIFB5X0J1aWxkVmFsdWUoImwiLCBzYnl0ZXMpOworICAgICNlbHNlCisgICAgICAgIHJldHVybiBQeV9CdWlsZFZhbHVlKCJMIiwgc2J5dGVzKTsKKyAgICAjZW5kaWYKKworI2Vsc2UKKyAgICBQeV9zc2l6ZV90IGNvdW50OworICAgIFB5T2JqZWN0ICpvZmZvYmo7CisgICAgc3RhdGljIGNoYXIgKmtleXdvcmRzW10gPSB7Im91dCIsICJpbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvZmZzZXQiLCAiY291bnQiLCBOVUxMfTsKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2RpY3QsICJpaU9uOnNlbmRmaWxlIiwKKyAgICAgICAgICAgIGtleXdvcmRzLCAmb3V0LCAmaW4sICZvZmZvYmosICZjb3VudCkpCisgICAgICAgIHJldHVybiBOVUxMOworI2lmZGVmIGxpbnV4CisgICAgaWYgKG9mZm9iaiA9PSBQeV9Ob25lKSB7CisgICAgICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKKyAgICAgICAgcmV0ID0gc2VuZGZpbGUob3V0LCBpbiwgTlVMTCwgY291bnQpOworICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworICAgICAgICBpZiAocmV0IDwgMCkKKyAgICAgICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOworICAgICAgICByZXR1cm4gUHlfQnVpbGRWYWx1ZSgibiIsIHJldCk7CisgICAgfQorI2VuZGlmCisgICAgaWYgKCFfcGFyc2Vfb2ZmX3Qob2Zmb2JqLCAmb2Zmc2V0KSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUworICAgIHJldCA9IHNlbmRmaWxlKG91dCwgaW4sICZvZmZzZXQsIGNvdW50KTsKKyAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworICAgIGlmIChyZXQgPCAwKQorICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKKyAgICByZXR1cm4gUHlfQnVpbGRWYWx1ZSgibiIsIHJldCk7CisjZW5kaWYKK30KKyNlbmRpZgogCiBQeURvY19TVFJWQVIocG9zaXhfZnN0YXRfX2RvY19fLAogImZzdGF0KGZkKSAtPiBzdGF0IHJlc3VsdFxuXG5cCkBAIC01ODU5LDkgKzczNzIsNyBAQAogICAgIEhGSUxFIHJlYWQsIHdyaXRlOwogICAgIEFQSVJFVCByYzsKIAotICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKICAgICByYyA9IERvc0NyZWF0ZVBpcGUoICZyZWFkLCAmd3JpdGUsIDQwOTYpOwotICAgIFB5X0VORF9BTExPV19USFJFQURTCiAgICAgaWYgKHJjICE9IE5PX0VSUk9SKQogICAgICAgICByZXR1cm4gb3MyX2Vycm9yKHJjKTsKIApAQCAtNTg3MCw5ICs3MzgxLDcgQEAKICNpZiAhZGVmaW5lZChNU19XSU5ET1dTKQogICAgIGludCBmZHNbMl07CiAgICAgaW50IHJlczsKLSAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCiAgICAgcmVzID0gcGlwZShmZHMpOwotICAgIFB5X0VORF9BTExPV19USFJFQURTCiAgICAgaWYgKHJlcyAhPSAwKQogICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKICAgICByZXR1cm4gUHlfQnVpbGRWYWx1ZSgiKGlpKSIsIGZkc1swXSwgZmRzWzFdKTsKQEAgLTU4ODAsOSArNzM4OSw3IEBACiAgICAgSEFORExFIHJlYWQsIHdyaXRlOwogICAgIGludCByZWFkX2ZkLCB3cml0ZV9mZDsKICAgICBCT09MIG9rOwotICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKICAgICBvayA9IENyZWF0ZVBpcGUoJnJlYWQsICZ3cml0ZSwgTlVMTCwgMCk7Ci0gICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKICAgICBpZiAoIW9rKQogICAgICAgICByZXR1cm4gd2luMzJfZXJyb3IoIkNyZWF0ZVBpcGUiLCBOVUxMKTsKICAgICByZWFkX2ZkID0gX29wZW5fb3NmaGFuZGxlKChQeV9pbnRwdHJfdClyZWFkLCAwKTsKQEAgLTU4OTMsNiArNzQwMCw5OSBAQAogfQogI2VuZGlmICAvKiBIQVZFX1BJUEUgKi8KIAorI2lmZGVmIEhBVkVfUElQRTIKK1B5RG9jX1NUUlZBUihwb3NpeF9waXBlMl9fZG9jX18sCisicGlwZTIoZmxhZ3MpIC0+IChyZWFkX2VuZCwgd3JpdGVfZW5kKVxuXG5cCitDcmVhdGUgYSBwaXBlIHdpdGggZmxhZ3Mgc2V0IGF0b21pY2FsbHkuXG5cCitmbGFncyBjYW4gYmUgY29uc3RydWN0ZWQgYnkgT1JpbmcgdG9nZXRoZXIgb25lIG9yIG1vcmUgb2YgdGhlc2UgdmFsdWVzOlxuXAorT19OT05CTE9DSywgT19DTE9FWEVDLlxuXAorIik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitwb3NpeF9waXBlMihQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZykKK3sKKyAgICBpbnQgZmxhZ3M7CisgICAgaW50IGZkc1syXTsKKyAgICBpbnQgcmVzOworCisgICAgZmxhZ3MgPSBQeUxvbmdfQXNMb25nKGFyZyk7CisgICAgaWYgKGZsYWdzID09IC0xICYmIFB5RXJyX09jY3VycmVkKCkpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgcmVzID0gcGlwZTIoZmRzLCBmbGFncyk7CisgICAgaWYgKHJlcyAhPSAwKQorICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKKyAgICByZXR1cm4gUHlfQnVpbGRWYWx1ZSgiKGlpKSIsIGZkc1swXSwgZmRzWzFdKTsKK30KKyNlbmRpZiAvKiBIQVZFX1BJUEUyICovCisKKyNpZmRlZiBIQVZFX1dSSVRFVgorUHlEb2NfU1RSVkFSKHBvc2l4X3dyaXRldl9fZG9jX18sCisid3JpdGV2KGZkLCBidWZmZXJzKSAtPiBieXRlc3dyaXR0ZW5cblxuXAorV3JpdGUgdGhlIGNvbnRlbnRzIG9mIGJ1ZmZlcnMgdG8gYSBmaWxlIGRlc2NyaXB0b3IsIHdoZXJlIGJ1ZmZlcnMgaXMgYW5cblwKK2FyYml0cmFyeSBzZXF1ZW5jZSBvZiBidWZmZXJzLlxuXAorUmV0dXJucyB0aGUgdG90YWwgYnl0ZXMgd3JpdHRlbi4iKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK3Bvc2l4X3dyaXRldihQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgaW50IGZkLCBjbnQ7CisgICAgUHlfc3NpemVfdCByZXM7CisgICAgUHlPYmplY3QgKnNlcTsKKyAgICBzdHJ1Y3QgaW92ZWMgKmlvdjsKKyAgICBQeV9idWZmZXIgKmJ1ZjsKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgImlPOndyaXRldiIsICZmZCwgJnNlcSkpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIGlmICghUHlTZXF1ZW5jZV9DaGVjayhzZXEpKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsCisgICAgICAgICAgICAid3JpdGV2KCkgYXJnIDIgbXVzdCBiZSBhIHNlcXVlbmNlIik7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKyAgICBjbnQgPSBQeVNlcXVlbmNlX1NpemUoc2VxKTsKKworICAgIGlmICghaW92X3NldHVwKCZpb3YsICZidWYsIHNlcSwgY250LCBQeUJVRl9TSU1QTEUpKSB7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKworICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKKyAgICByZXMgPSB3cml0ZXYoZmQsIGlvdiwgY250KTsKKyAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworCisgICAgaW92X2NsZWFudXAoaW92LCBidWYsIGNudCk7CisgICAgcmV0dXJuIFB5TG9uZ19Gcm9tU3NpemVfdChyZXMpOworfQorI2VuZGlmCisKKyNpZmRlZiBIQVZFX1BXUklURQorUHlEb2NfU1RSVkFSKHBvc2l4X3B3cml0ZV9fZG9jX18sCisicHdyaXRlKGZkLCBzdHJpbmcsIG9mZnNldCkgLT4gYnl0ZXN3cml0dGVuXG5cblwKK1dyaXRlIHN0cmluZyB0byBhIGZpbGUgZGVzY3JpcHRvciwgZmQsIGZyb20gb2Zmc2V0LCBsZWF2aW5nIHRoZSBmaWxlXG5cCitvZmZzZXQgdW5jaGFuZ2VkLiIpOworCitzdGF0aWMgUHlPYmplY3QgKgorcG9zaXhfcHdyaXRlKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeV9idWZmZXIgcGJ1ZjsKKyAgICBpbnQgZmQ7CisgICAgb2ZmX3Qgb2Zmc2V0OworICAgIFB5X3NzaXplX3Qgc2l6ZTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiaXkqTyY6cHdyaXRlIiwgJmZkLCAmcGJ1ZiwgX3BhcnNlX29mZl90LCAmb2Zmc2V0KSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICBpZiAoIV9QeVZlcmlmeV9mZChmZCkpIHsKKyAgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmcGJ1Zik7CisgICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOworICAgIH0KKyAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCisgICAgc2l6ZSA9IHB3cml0ZShmZCwgcGJ1Zi5idWYsIChzaXplX3QpcGJ1Zi5sZW4sIG9mZnNldCk7CisgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKyAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZwYnVmKTsKKyAgICBpZiAoc2l6ZSA8IDApCisgICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOworICAgIHJldHVybiBQeUxvbmdfRnJvbVNzaXplX3Qoc2l6ZSk7Cit9CisjZW5kaWYKIAogI2lmZGVmIEhBVkVfTUtGSUZPCiBQeURvY19TVFJWQVIocG9zaXhfbWtmaWZvX19kb2NfXywKQEAgLTYwMDksMTggKzc2MDksOCBAQAogICAgIGludCBmZDsKICAgICBvZmZfdCBsZW5ndGg7CiAgICAgaW50IHJlczsKLSAgICBQeU9iamVjdCAqbGVub2JqOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJpTzpmdHJ1bmNhdGUiLCAmZmQsICZsZW5vYmopKQotICAgICAgICByZXR1cm4gTlVMTDsKLQotI2lmICFkZWZpbmVkKEhBVkVfTEFSR0VGSUxFX1NVUFBPUlQpCi0gICAgbGVuZ3RoID0gUHlMb25nX0FzTG9uZyhsZW5vYmopOwotI2Vsc2UKLSAgICBsZW5ndGggPSBQeUxvbmdfQ2hlY2sobGVub2JqKSA/Ci0gICAgICAgIFB5TG9uZ19Bc0xvbmdMb25nKGxlbm9iaikgOiBQeUxvbmdfQXNMb25nKGxlbm9iaik7Ci0jZW5kaWYKLSAgICBpZiAoUHlFcnJfT2NjdXJyZWQoKSkKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgImlPJjpmdHJ1bmNhdGUiLCAmZmQsIF9wYXJzZV9vZmZfdCwgJmxlbmd0aCkpCiAgICAgICAgIHJldHVybiBOVUxMOwogCiAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwpAQCAtNjAzMyw2ICs3NjIzLDkzIEBACiB9CiAjZW5kaWYKIAorI2lmZGVmIEhBVkVfVFJVTkNBVEUKK1B5RG9jX1NUUlZBUihwb3NpeF90cnVuY2F0ZV9fZG9jX18sCisidHJ1bmNhdGUocGF0aCwgbGVuZ3RoKVxuXG5cCitUcnVuY2F0ZSB0aGUgZmlsZSBnaXZlbiBieSBwYXRoIHRvIGxlbmd0aCBieXRlcy4iKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK3Bvc2l4X3RydW5jYXRlKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeU9iamVjdCAqb3BhdGg7CisgICAgY29uc3QgY2hhciAqcGF0aDsKKyAgICBvZmZfdCBsZW5ndGg7CisgICAgaW50IHJlczsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiTyZPJjp0cnVuY2F0ZSIsCisgICAgICAgICAgICBQeVVuaWNvZGVfRlNDb252ZXJ0ZXIsICZvcGF0aCwgX3BhcnNlX29mZl90LCAmbGVuZ3RoKSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgcGF0aCA9IFB5Qnl0ZXNfQXNTdHJpbmcob3BhdGgpOworCisgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUworICAgIHJlcyA9IHRydW5jYXRlKHBhdGgsIGxlbmd0aCk7CisgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKyAgICBQeV9ERUNSRUYob3BhdGgpOworICAgIGlmIChyZXMgPCAwKQorICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKKyAgICBQeV9SRVRVUk5fTk9ORTsKK30KKyNlbmRpZgorCisjaWZkZWYgSEFWRV9QT1NJWF9GQUxMT0NBVEUKK1B5RG9jX1NUUlZBUihwb3NpeF9wb3NpeF9mYWxsb2NhdGVfX2RvY19fLAorInBvc2l4X2ZhbGxvY2F0ZShmZCwgb2Zmc2V0LCBsZW4pXG5cblwKK0Vuc3VyZXMgdGhhdCBlbm91Z2ggZGlzayBzcGFjZSBpcyBhbGxvY2F0ZWQgZm9yIHRoZSBmaWxlIHNwZWNpZmllZCBieSBmZFxuXAorc3RhcnRpbmcgZnJvbSBvZmZzZXQgYW5kIGNvbnRpbnVpbmcgZm9yIGxlbiBieXRlcy4iKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK3Bvc2l4X3Bvc2l4X2ZhbGxvY2F0ZShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgb2ZmX3QgbGVuLCBvZmZzZXQ7CisgICAgaW50IHJlcywgZmQ7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgImlPJk8mOnBvc2l4X2ZhbGxvY2F0ZSIsCisgICAgICAgICAgICAmZmQsIF9wYXJzZV9vZmZfdCwgJm9mZnNldCwgX3BhcnNlX29mZl90LCAmbGVuKSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCisgICAgcmVzID0gcG9zaXhfZmFsbG9jYXRlKGZkLCBvZmZzZXQsIGxlbik7CisgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKyAgICBpZiAocmVzICE9IDApIHsKKyAgICAgICAgZXJybm8gPSByZXM7CisgICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOworICAgIH0KKyAgICBQeV9SRVRVUk5fTk9ORTsKK30KKyNlbmRpZgorCisjaWZkZWYgSEFWRV9QT1NJWF9GQURWSVNFCitQeURvY19TVFJWQVIocG9zaXhfcG9zaXhfZmFkdmlzZV9fZG9jX18sCisicG9zaXhfZmFkdmlzZShmZCwgb2Zmc2V0LCBsZW4sIGFkdmljZSlcblxuXAorQW5ub3VuY2VzIGFuIGludGVudGlvbiB0byBhY2Nlc3MgZGF0YSBpbiBhIHNwZWNpZmljIHBhdHRlcm4gdGh1cyBhbGxvd2luZ1xuXAordGhlIGtlcm5lbCB0byBtYWtlIG9wdGltaXphdGlvbnMuXG5cCitUaGUgYWR2aWNlIGFwcGxpZXMgdG8gdGhlIHJlZ2lvbiBvZiB0aGUgZmlsZSBzcGVjaWZpZWQgYnkgZmQgc3RhcnRpbmcgYXRcblwKK29mZnNldCBhbmQgY29udGludWluZyBmb3IgbGVuIGJ5dGVzLlxuXAorYWR2aWNlIGlzIG9uZSBvZiBQT1NJWF9GQURWX05PUk1BTCwgUE9TSVhfRkFEVl9TRVFVRU5USUFMLFxuXAorUE9TSVhfRkFEVl9SQU5ET00sIFBPU0lYX0ZBRFZfTk9SRVVTRSwgUE9TSVhfRkFEVl9XSUxMTkVFRCBvclxuXAorUE9TSVhfRkFEVl9ET05UTkVFRC4iKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK3Bvc2l4X3Bvc2l4X2ZhZHZpc2UoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQoreworICAgIG9mZl90IGxlbiwgb2Zmc2V0OworICAgIGludCByZXMsIGZkLCBhZHZpY2U7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgImlPJk8maTpwb3NpeF9mYWR2aXNlIiwKKyAgICAgICAgICAgICZmZCwgX3BhcnNlX29mZl90LCAmb2Zmc2V0LCBfcGFyc2Vfb2ZmX3QsICZsZW4sICZhZHZpY2UpKQorICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKKyAgICByZXMgPSBwb3NpeF9mYWR2aXNlKGZkLCBvZmZzZXQsIGxlbiwgYWR2aWNlKTsKKyAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworICAgIGlmIChyZXMgIT0gMCkgeworICAgICAgICBlcnJubyA9IHJlczsKKyAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7CisgICAgfQorICAgIFB5X1JFVFVSTl9OT05FOworfQorI2VuZGlmCisKICNpZmRlZiBIQVZFX1BVVEVOVgogUHlEb2NfU1RSVkFSKHBvc2l4X3B1dGVudl9fZG9jX18sCiAicHV0ZW52KGtleSwgdmFsdWUpXG5cblwKQEAgLTYwNDUsMjMgKzc3MjIsNDAgQEAKIHN0YXRpYyBQeU9iamVjdCAqCiBwb3NpeF9wdXRlbnYoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQogeworICAgIFB5T2JqZWN0ICpuZXdzdHIgPSBOVUxMOwogI2lmZGVmIE1TX1dJTkRPV1MKLSAgICB3Y2hhcl90ICpzMSwgKnMyOworICAgIFB5T2JqZWN0ICpvczEsICpvczI7CiAgICAgd2NoYXJfdCAqbmV3ZW52OworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICJVVTpwdXRlbnYiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAmb3MxLCAmb3MyKSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICBuZXdzdHIgPSBQeVVuaWNvZGVfRnJvbUZvcm1hdCgiJVU9JVUiLCBvczEsIG9zMik7CisgICAgaWYgKG5ld3N0ciA9PSBOVUxMKSB7CisgICAgICAgIFB5RXJyX05vTWVtb3J5KCk7CisgICAgICAgIGdvdG8gZXJyb3I7CisgICAgfQorICAgIGlmIChfTUFYX0VOViA8IFB5VW5pY29kZV9HRVRfTEVOR1RIKG5ld3N0cikpIHsKKyAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1ZhbHVlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAidGhlIGVudmlyb25tZW50IHZhcmlhYmxlIGlzIGxvbmdlciB0aGFuICV1IGNoYXJhY3RlcnMiLAorICAgICAgICAgICAgICAgICAgICAgX01BWF9FTlYpOworICAgICAgICBnb3RvIGVycm9yOworICAgIH0KKworICAgIG5ld2VudiA9IFB5VW5pY29kZV9Bc1VuaWNvZGUobmV3c3RyKTsKKyAgICBpZiAobmV3ZW52ID09IE5VTEwpCisgICAgICAgIGdvdG8gZXJyb3I7CisgICAgaWYgKF93cHV0ZW52KG5ld2VudikpIHsKKyAgICAgICAgcG9zaXhfZXJyb3IoKTsKKyAgICAgICAgZ290byBlcnJvcjsKKyAgICB9CiAjZWxzZQogICAgIFB5T2JqZWN0ICpvczEsICpvczI7CiAgICAgY2hhciAqczEsICpzMjsKICAgICBjaGFyICpuZXdlbnY7Ci0jZW5kaWYKLSAgICBQeU9iamVjdCAqbmV3c3RyID0gTlVMTDsKLSAgICBzaXplX3QgbGVuOwogCi0jaWZkZWYgTVNfV0lORE9XUwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAidXU6cHV0ZW52IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgJnMxLCAmczIpKQotICAgICAgICByZXR1cm4gTlVMTDsKLSNlbHNlCiAgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICJPJk8mOnB1dGVudiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9GU0NvbnZlcnRlciwgJm9zMSwKQEAgLTYwNjksNTggKzc3NjMsMTQgQEAKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgczEgPSBQeUJ5dGVzX0FzU3RyaW5nKG9zMSk7CiAgICAgczIgPSBQeUJ5dGVzX0FzU3RyaW5nKG9zMik7Ci0jZW5kaWYKIAotI2lmIGRlZmluZWQoUFlPU19PUzIpCi0gICAgaWYgKHN0cmljbXAoczEsICJCRUdJTkxJQlBBVEgiKSA9PSAwKSB7Ci0gICAgICAgIEFQSVJFVCByYzsKLQotICAgICAgICByYyA9IERvc1NldEV4dExJQlBBVEgoczIsIEJFR0lOX0xJQlBBVEgpOwotICAgICAgICBpZiAocmMgIT0gTk9fRVJST1IpIHsKLSAgICAgICAgICAgIG9zMl9lcnJvcihyYyk7Ci0gICAgICAgICAgICBnb3RvIGVycm9yOwotICAgICAgICB9Ci0KLSAgICB9IGVsc2UgaWYgKHN0cmljbXAoczEsICJFTkRMSUJQQVRIIikgPT0gMCkgewotICAgICAgICBBUElSRVQgcmM7Ci0KLSAgICAgICAgcmMgPSBEb3NTZXRFeHRMSUJQQVRIKHMyLCBFTkRfTElCUEFUSCk7Ci0gICAgICAgIGlmIChyYyAhPSBOT19FUlJPUikgewotICAgICAgICAgICAgb3MyX2Vycm9yKHJjKTsKLSAgICAgICAgICAgIGdvdG8gZXJyb3I7Ci0gICAgICAgIH0KLSAgICB9IGVsc2UgewotI2VuZGlmCi0gICAgLyogWFhYIFRoaXMgY2FuIGxlYWsgbWVtb3J5IC0tIG5vdCBlYXN5IHRvIGZpeCA6LSggKi8KLSAgICAvKiBsZW4gaW5jbHVkZXMgc3BhY2UgZm9yIGEgdHJhaWxpbmcgXDA7IHRoZSBzaXplIGFyZyB0bwotICAgICAgIFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUgZG9lcyBub3QgY291bnQgdGhhdCAqLwotI2lmZGVmIE1TX1dJTkRPV1MKLSAgICBsZW4gPSB3Y3NsZW4oczEpICsgd2NzbGVuKHMyKSArIDI7Ci0gICAgaWYgKF9NQVhfRU5WIDwgKGxlbiAtIDEpKSB7Ci0gICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19WYWx1ZUVycm9yLAotICAgICAgICAgICAgICAgICAgICAgInRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBsb25nZXIgdGhhbiAldSBjaGFyYWN0ZXJzIiwKLSAgICAgICAgICAgICAgICAgICAgIF9NQVhfRU5WKTsKLSAgICAgICAgZ290byBlcnJvcjsKLSAgICB9Ci0gICAgbmV3c3RyID0gUHlVbmljb2RlX0Zyb21Vbmljb2RlKE5VTEwsIChpbnQpbGVuIC0gMSk7Ci0jZWxzZQotICAgIGxlbiA9IFB5Qnl0ZXNfR0VUX1NJWkUob3MxKSArIFB5Qnl0ZXNfR0VUX1NJWkUob3MyKSArIDI7Ci0gICAgbmV3c3RyID0gUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZShOVUxMLCAoaW50KWxlbiAtIDEpOwotI2VuZGlmCisgICAgbmV3c3RyID0gUHlCeXRlc19Gcm9tRm9ybWF0KCIlcz0lcyIsIHMxLCBzMik7CiAgICAgaWYgKG5ld3N0ciA9PSBOVUxMKSB7CiAgICAgICAgIFB5RXJyX05vTWVtb3J5KCk7CiAgICAgICAgIGdvdG8gZXJyb3I7CiAgICAgfQotI2lmZGVmIE1TX1dJTkRPV1MKLSAgICBuZXdlbnYgPSBQeVVuaWNvZGVfQXNVbmljb2RlKG5ld3N0cik7Ci0gICAgX3Nud3ByaW50ZihuZXdlbnYsIGxlbiwgTCIlcz0lcyIsIHMxLCBzMik7Ci0gICAgaWYgKF93cHV0ZW52KG5ld2VudikpIHsKLSAgICAgICAgcG9zaXhfZXJyb3IoKTsKLSAgICAgICAgZ290byBlcnJvcjsKLSAgICB9Ci0jZWxzZQorCiAgICAgbmV3ZW52ID0gUHlCeXRlc19BU19TVFJJTkcobmV3c3RyKTsKLSAgICBQeU9TX3NucHJpbnRmKG5ld2VudiwgbGVuLCAiJXM9JXMiLCBzMSwgczIpOwogICAgIGlmIChwdXRlbnYobmV3ZW52KSkgewogICAgICAgICBwb3NpeF9lcnJvcigpOwogICAgICAgICBnb3RvIGVycm9yOwpAQCAtNjEzMSwxMyArNzc4MSw3IEBACiAgICAgICogdGhpcyB3aWxsIGNhdXNlIHByZXZpb3VzIHZhbHVlIHRvIGJlIGNvbGxlY3RlZC4gIFRoaXMgaGFzIHRvCiAgICAgICogaGFwcGVuIGFmdGVyIHRoZSByZWFsIHB1dGVudigpIGNhbGwgYmVjYXVzZSB0aGUgb2xkIHZhbHVlCiAgICAgICogd2FzIHN0aWxsIGFjY2Vzc2libGUgdW50aWwgdGhlbi4gKi8KLSAgICBpZiAoUHlEaWN0X1NldEl0ZW0ocG9zaXhfcHV0ZW52X2dhcmJhZ2UsCi0jaWZkZWYgTVNfV0lORE9XUwotICAgICAgICAgICAgICAgICAgICAgICBQeVR1cGxlX0dFVF9JVEVNKGFyZ3MsIDApLAotI2Vsc2UKLSAgICAgICAgICAgICAgICAgICAgICAgb3MxLAotI2VuZGlmCi0gICAgICAgICAgICAgICAgICAgICAgIG5ld3N0cikpIHsKKyAgICBpZiAoUHlEaWN0X1NldEl0ZW0ocG9zaXhfcHV0ZW52X2dhcmJhZ2UsIG9zMSwgbmV3c3RyKSkgewogICAgICAgICAvKiByZWFsbHkgbm90IG11Y2ggd2UgY2FuIGRvOyBqdXN0IGxlYWsgKi8KICAgICAgICAgUHlFcnJfQ2xlYXIoKTsKICAgICB9CkBAIC02MTQ1LDEwICs3Nzg5LDYgQEAKICAgICAgICAgUHlfREVDUkVGKG5ld3N0cik7CiAgICAgfQogCi0jaWYgZGVmaW5lZChQWU9TX09TMikKLSAgICB9Ci0jZW5kaWYKLQogI2lmbmRlZiBNU19XSU5ET1dTCiAgICAgUHlfREVDUkVGKG9zMSk7CiAgICAgUHlfREVDUkVGKG9zMik7CkBAIC02MTczLDIzICs3ODEzLDIyIEBACiBzdGF0aWMgUHlPYmplY3QgKgogcG9zaXhfdW5zZXRlbnYoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQogewotICAgIFB5T2JqZWN0ICpvczE7Ci0gICAgY2hhciAqczE7CisgICAgUHlPYmplY3QgKm5hbWU7CiAjaWZuZGVmIEhBVkVfQlJPS0VOX1VOU0VURU5WCiAgICAgaW50IGVycjsKICNlbmRpZgogCiAgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJPJjp1bnNldGVudiIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9GU0NvbnZlcnRlciwgJm9zMSkpCisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0ZTQ29udmVydGVyLCAmbmFtZSkpCiAgICAgICAgIHJldHVybiBOVUxMOwotICAgIHMxID0gUHlCeXRlc19Bc1N0cmluZyhvczEpOwogCiAjaWZkZWYgSEFWRV9CUk9LRU5fVU5TRVRFTlYKLSAgICB1bnNldGVudihzMSk7CisgICAgdW5zZXRlbnYoUHlCeXRlc19BU19TVFJJTkcobmFtZSkpOwogI2Vsc2UKLSAgICBlcnIgPSB1bnNldGVudihzMSk7CisgICAgZXJyID0gdW5zZXRlbnYoUHlCeXRlc19BU19TVFJJTkcobmFtZSkpOwogICAgIGlmIChlcnIpIHsKLSAgICAgICAgUHlfREVDUkVGKG9zMSk7CisgICAgICAgIFB5X0RFQ1JFRihuYW1lKTsKICAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7CiAgICAgfQogI2VuZGlmCkBAIC02MTk5LDEyICs3ODM4LDExIEBACiAgICAgICogaGFwcGVuIGFmdGVyIHRoZSByZWFsIHVuc2V0ZW52KCkgY2FsbCBiZWNhdXNlIHRoZQogICAgICAqIG9sZCB2YWx1ZSB3YXMgc3RpbGwgYWNjZXNzaWJsZSB1bnRpbCB0aGVuLgogICAgICAqLwotICAgIGlmIChQeURpY3RfRGVsSXRlbShwb3NpeF9wdXRlbnZfZ2FyYmFnZSwgb3MxKSkgeworICAgIGlmIChQeURpY3RfRGVsSXRlbShwb3NpeF9wdXRlbnZfZ2FyYmFnZSwgbmFtZSkpIHsKICAgICAgICAgLyogcmVhbGx5IG5vdCBtdWNoIHdlIGNhbiBkbzsganVzdCBsZWFrICovCiAgICAgICAgIFB5RXJyX0NsZWFyKCk7CiAgICAgfQotCi0gICAgUHlfREVDUkVGKG9zMSk7CisgICAgUHlfREVDUkVGKG5hbWUpOwogICAgIFB5X1JFVFVSTl9OT05FOwogfQogI2VuZGlmIC8qIHVuc2V0ZW52ICovCkBAIC02MjI2LDcgKzc4NjQsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgInN0cmVycm9yKCkgYXJndW1lbnQgb3V0IG9mIHJhbmdlIik7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KLSAgICByZXR1cm4gUHlVbmljb2RlX0Zyb21TdHJpbmcobWVzc2FnZSk7CisgICAgcmV0dXJuIFB5VW5pY29kZV9EZWNvZGVMb2NhbGUobWVzc2FnZSwgInN1cnJvZ2F0ZWVzY2FwZSIpOwogfQogCiAKQEAgLTY0NjMsMjEgKzgxMDEsNTEgQEAKIHN0YXRpYyBQeU9iamVjdCAqCiBwb3NpeF9zdGF0dmZzKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKIHsKLSAgICBjaGFyICpwYXRoOworICAgIFB5T2JqZWN0ICpwYXRoOwogICAgIGludCByZXM7CiAgICAgc3RydWN0IHN0YXR2ZnMgc3Q7Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJzOnN0YXR2ZnMiLCAmcGF0aCkpCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJPJjpzdGF0dmZzIiwgUHlVbmljb2RlX0ZTQ29udmVydGVyLCAmcGF0aCkpCiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKLSAgICByZXMgPSBzdGF0dmZzKHBhdGgsICZzdCk7CisgICAgcmVzID0gc3RhdHZmcyhQeUJ5dGVzX0FTX1NUUklORyhwYXRoKSwgJnN0KTsKICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwotICAgIGlmIChyZXMgIT0gMCkKLSAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yX3dpdGhfZmlsZW5hbWUocGF0aCk7CisgICAgaWYgKHJlcyAhPSAwKSB7CisgICAgICAgIHBvc2l4X2Vycm9yX3dpdGhfZmlsZW5hbWUoUHlCeXRlc19BU19TVFJJTkcocGF0aCkpOworICAgICAgICBQeV9ERUNSRUYocGF0aCk7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKyAgICBQeV9ERUNSRUYocGF0aCk7CiAKICAgICByZXR1cm4gX3B5c3RhdHZmc19mcm9tc3RydWN0c3RhdHZmcyhzdCk7CiB9CiAjZW5kaWYgLyogSEFWRV9TVEFUVkZTICovCiAKKyNpZmRlZiBNU19XSU5ET1dTCitQeURvY19TVFJWQVIod2luMzJfX2dldGRpc2t1c2FnZV9fZG9jX18sCisiX2dldGRpc2t1c2FnZShwYXRoKSAtPiAodG90YWwsIGZyZWUpXG5cblwKK1JldHVybiBkaXNrIHVzYWdlIHN0YXRpc3RpY3MgYWJvdXQgdGhlIGdpdmVuIHBhdGggYXMgKHRvdGFsLCBmcmVlKSB0dXBsZS4iKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK3dpbjMyX19nZXRkaXNrdXNhZ2UoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQoreworICAgIEJPT0wgcmV0dmFsOworICAgIFVMQVJHRV9JTlRFR0VSIF8sIHRvdGFsLCBmcmVlOworICAgIGNvbnN0IHdjaGFyX3QgKnBhdGg7CisKKyAgICBpZiAoISBQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJ1IiwgJnBhdGgpKQorICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKKyAgICByZXR2YWwgPSBHZXREaXNrRnJlZVNwYWNlRXhXKHBhdGgsICZfLCAmdG90YWwsICZmcmVlKTsKKyAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworICAgIGlmIChyZXR2YWwgPT0gMCkKKyAgICAgICAgcmV0dXJuIFB5RXJyX1NldEZyb21XaW5kb3dzRXJyKDApOworCisgICAgcmV0dXJuIFB5X0J1aWxkVmFsdWUoIihMTCkiLCB0b3RhbC5RdWFkUGFydCwgZnJlZS5RdWFkUGFydCk7Cit9CisjZW5kaWYKKworCiAvKiBUaGlzIGlzIHVzZWQgZm9yIGZwYXRoY29uZigpLCBwYXRoY29uZigpLCBjb25mc3RyKCkgYW5kIHN5c2NvbmYoKS4KICAqIEl0IG1hcHMgc3RyaW5ncyByZXByZXNlbnRpbmcgY29uZmlndXJhdGlvbiB2YXJpYWJsZSBuYW1lcyB0bwogICogaW50ZWdlciB2YWx1ZXMsIGFsbG93aW5nIHRob3NlIGZ1bmN0aW9ucyB0byBiZSBjYWxsZWQgd2l0aCB0aGUKQEAgLTc1NDAsOSArOTIwOCwxMCBAQAogICAgIFB5T2JqZWN0ICpvZmlsZXBhdGg7CiAgICAgY2hhciAqZmlsZXBhdGg7CiAgICAgY2hhciAqb3BlcmF0aW9uID0gTlVMTDsKKyAgICB3Y2hhcl90ICp3cGF0aCwgKndvcGVyYXRpb247CiAgICAgSElOU1RBTkNFIHJjOwogCi0gICAgUHlPYmplY3QgKnVuaXBhdGgsICp3b3BlcmF0aW9uID0gTlVMTDsKKyAgICBQeU9iamVjdCAqdW5pcGF0aCwgKnVvcGVyYXRpb24gPSBOVUxMOwogICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiVXxzOnN0YXJ0ZmlsZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICZ1bmlwYXRoLCAmb3BlcmF0aW9uKSkgewogICAgICAgICBQeUVycl9DbGVhcigpOwpAQCAtNzU1MCwyNiArOTIxOSwzNSBAQAogICAgIH0KIAogICAgIGlmIChvcGVyYXRpb24pIHsKLSAgICAgICAgd29wZXJhdGlvbiA9IFB5VW5pY29kZV9EZWNvZGVBU0NJSShvcGVyYXRpb24sCisgICAgICAgIHVvcGVyYXRpb24gPSBQeVVuaWNvZGVfRGVjb2RlQVNDSUkob3BlcmF0aW9uLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmxlbihvcGVyYXRpb24pLCBOVUxMKTsKLSAgICAgICAgaWYgKCF3b3BlcmF0aW9uKSB7CisgICAgICAgIGlmICghdW9wZXJhdGlvbikgewogICAgICAgICAgICAgUHlFcnJfQ2xlYXIoKTsKICAgICAgICAgICAgIG9wZXJhdGlvbiA9IE5VTEw7CiAgICAgICAgICAgICBnb3RvIG5vcm1hbDsKICAgICAgICAgfQogICAgIH0KIAorICAgIHdwYXRoID0gUHlVbmljb2RlX0FzVW5pY29kZSh1bmlwYXRoKTsKKyAgICBpZiAod3BhdGggPT0gTlVMTCkKKyAgICAgICAgZ290byBub3JtYWw7CisgICAgaWYgKHVvcGVyYXRpb24pIHsKKyAgICAgICAgd29wZXJhdGlvbiA9IFB5VW5pY29kZV9Bc1VuaWNvZGUodW9wZXJhdGlvbik7CisgICAgICAgIGlmICh3b3BlcmF0aW9uID09IE5VTEwpCisgICAgICAgICAgICBnb3RvIG5vcm1hbDsKKyAgICB9CisgICAgZWxzZQorICAgICAgICB3b3BlcmF0aW9uID0gTlVMTDsKKwogICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKLSAgICByYyA9IFNoZWxsRXhlY3V0ZVcoKEhXTkQpMCwgd29wZXJhdGlvbiA/IFB5VW5pY29kZV9BU19VTklDT0RFKHdvcGVyYXRpb24pIDogMCwKLSAgICAgICAgUHlVbmljb2RlX0FTX1VOSUNPREUodW5pcGF0aCksCi0gICAgICAgIE5VTEwsIE5VTEwsIFNXX1NIT1dOT1JNQUwpOworICAgIHJjID0gU2hlbGxFeGVjdXRlVygoSFdORCkwLCB3b3BlcmF0aW9uLCB3cGF0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgTlVMTCwgU1dfU0hPV05PUk1BTCk7CiAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKIAotICAgIFB5X1hERUNSRUYod29wZXJhdGlvbik7CisgICAgUHlfWERFQ1JFRih1b3BlcmF0aW9uKTsKICAgICBpZiAocmMgPD0gKEhJTlNUQU5DRSkzMikgewotICAgICAgICBQeU9iamVjdCAqZXJydmFsID0gd2luMzJfZXJyb3JfdW5pY29kZSgic3RhcnRmaWxlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0FTX1VOSUNPREUodW5pcGF0aCkpOwotICAgICAgICByZXR1cm4gZXJydmFsOworICAgICAgICB3aW4zMl9lcnJvcl9vYmplY3QoInN0YXJ0ZmlsZSIsIHVuaXBhdGgpOworICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAgICAgUHlfSU5DUkVGKFB5X05vbmUpOwogICAgIHJldHVybiBQeV9Ob25lOwpAQCAtNzU3OSw2ICs5MjU3LDEwIEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9GU0NvbnZlcnRlciwgJm9maWxlcGF0aCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgJm9wZXJhdGlvbikpCiAgICAgICAgIHJldHVybiBOVUxMOworICAgIGlmICh3aW4zMl93YXJuX2J5dGVzX2FwaSgpKSB7CisgICAgICAgIFB5X0RFQ1JFRihvZmlsZXBhdGgpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CiAgICAgZmlsZXBhdGggPSBQeUJ5dGVzX0FzU3RyaW5nKG9maWxlcGF0aCk7CiAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwogICAgIHJjID0gU2hlbGxFeGVjdXRlKChIV05EKTAsIG9wZXJhdGlvbiwgZmlsZXBhdGgsCkBAIC03NjIzLDYzICs5MzA1LDQ4IEBACiBkZXZpY2VfZW5jb2RpbmcoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQogewogICAgIGludCBmZDsKKwogICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiaTpkZXZpY2VfZW5jb2RpbmciLCAmZmQpKQogICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBpZiAoIV9QeVZlcmlmeV9mZChmZCkgfHwgIWlzYXR0eShmZCkpIHsKLSAgICAgICAgUHlfSU5DUkVGKFB5X05vbmUpOwotICAgICAgICByZXR1cm4gUHlfTm9uZTsKLSAgICB9Ci0jaWYgZGVmaW5lZChNU19XSU5ET1dTKSB8fCBkZWZpbmVkKE1TX1dJTjY0KQotICAgIGlmIChmZCA9PSAwKSB7Ci0gICAgICAgIGNoYXIgYnVmWzEwMF07Ci0gICAgICAgIHNwcmludGYoYnVmLCAiY3AlZCIsIEdldENvbnNvbGVDUCgpKTsKLSAgICAgICAgcmV0dXJuIFB5VW5pY29kZV9Gcm9tU3RyaW5nKGJ1Zik7Ci0gICAgfQotICAgIGlmIChmZCA9PSAxIHx8IGZkID09IDIpIHsKLSAgICAgICAgY2hhciBidWZbMTAwXTsKLSAgICAgICAgc3ByaW50ZihidWYsICJjcCVkIiwgR2V0Q29uc29sZU91dHB1dENQKCkpOwotICAgICAgICByZXR1cm4gUHlVbmljb2RlX0Zyb21TdHJpbmcoYnVmKTsKLSAgICB9Ci0jZWxpZiBkZWZpbmVkKENPREVTRVQpCi0gICAgewotICAgICAgICBjaGFyICpjb2Rlc2V0ID0gbmxfbGFuZ2luZm8oQ09ERVNFVCk7Ci0gICAgICAgIGlmIChjb2Rlc2V0ICE9IE5VTEwgJiYgY29kZXNldFswXSAhPSAwKQotICAgICAgICAgICAgcmV0dXJuIFB5VW5pY29kZV9Gcm9tU3RyaW5nKGNvZGVzZXQpOwotICAgIH0KLSNlbmRpZgotICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKLSAgICByZXR1cm4gUHlfTm9uZTsKKworICAgIHJldHVybiBfUHlfZGV2aWNlX2VuY29kaW5nKGZkKTsKIH0KIAotUHlEb2NfU1RSVkFSKHBvc2l4X3VyYW5kb21fX2RvY19fLAorI2lmZGVmIF9fVk1TCisvKiBVc2Ugb3BlbnNzbCByYW5kb20gcm91dGluZSAqLworI2luY2x1ZGUgPG9wZW5zc2wvcmFuZC5oPgorUHlEb2NfU1RSVkFSKHZtc191cmFuZG9tX19kb2NfXywKICJ1cmFuZG9tKG4pIC0+IHN0clxuXG5cCiBSZXR1cm4gbiByYW5kb20gYnl0ZXMgc3VpdGFibGUgZm9yIGNyeXB0b2dyYXBoaWMgdXNlLiIpOwogCi1zdGF0aWMgUHlPYmplY3QgKgotcG9zaXhfdXJhbmRvbShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitzdGF0aWMgUHlPYmplY3QqCit2bXNfdXJhbmRvbShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCiB7Ci0gICAgUHlfc3NpemVfdCBzaXplOwotICAgIFB5T2JqZWN0ICpyZXN1bHQ7Ci0gICAgaW50IHJldDsKKyAgICBpbnQgaG93TWFueTsKKyAgICBQeU9iamVjdCogcmVzdWx0OwogCi0gICAgIC8qIFJlYWQgYXJndW1lbnRzICovCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJuOnVyYW5kb20iLCAmc2l6ZSkpCisgICAgLyogUmVhZCBhcmd1bWVudHMgKi8KKyAgICBpZiAoISBQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJpOnVyYW5kb20iLCAmaG93TWFueSkpCiAgICAgICAgIHJldHVybiBOVUxMOwotICAgIGlmIChzaXplIDwgMCkKKyAgICBpZiAoaG93TWFueSA8IDApCiAgICAgICAgIHJldHVybiBQeUVycl9Gb3JtYXQoUHlFeGNfVmFsdWVFcnJvciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibmVnYXRpdmUgYXJndW1lbnQgbm90IGFsbG93ZWQiKTsKLSAgICByZXN1bHQgPSBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplKE5VTEwsIHNpemUpOwotICAgIGlmIChyZXN1bHQgPT0gTlVMTCkKLSAgICAgICAgcmV0dXJuIE5VTEw7CiAKLSAgICByZXQgPSBfUHlPU19VUmFuZG9tKFB5Qnl0ZXNfQVNfU1RSSU5HKHJlc3VsdCksCi0gICAgICAgICAgICAgICAgICAgICAgICBQeUJ5dGVzX0dFVF9TSVpFKHJlc3VsdCkpOwotICAgIGlmIChyZXQgPT0gLTEpIHsKLSAgICAgICAgUHlfREVDUkVGKHJlc3VsdCk7Ci0gICAgICAgIHJldHVybiBOVUxMOworICAgIC8qIEFsbG9jYXRlIGJ5dGVzICovCisgICAgcmVzdWx0ID0gUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZShOVUxMLCBob3dNYW55KTsKKyAgICBpZiAocmVzdWx0ICE9IE5VTEwpIHsKKyAgICAgICAgLyogR2V0IHJhbmRvbSBkYXRhICovCisgICAgICAgIGlmIChSQU5EX3BzZXVkb19ieXRlcygodW5zaWduZWQgY2hhciopCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeUJ5dGVzX0FTX1NUUklORyhyZXN1bHQpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaG93TWFueSkgPCAwKSB7CisgICAgICAgICAgICBQeV9ERUNSRUYocmVzdWx0KTsKKyAgICAgICAgICAgIHJldHVybiBQeUVycl9Gb3JtYXQoUHlFeGNfVmFsdWVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlJBTkRfcHNldWRvX2J5dGVzIik7CisgICAgICAgIH0KICAgICB9CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KKyNlbmRpZgogCiAjaWZkZWYgSEFWRV9TRVRSRVNVSUQKIFB5RG9jX1NUUlZBUihwb3NpeF9zZXRyZXN1aWRfX2RvY19fLApAQCAtNzc1Nyw2ICs5NDI0LDEwODggQEAKIH0KICNlbmRpZgogCisvKiBQb3NpeCAqYXQgZmFtaWx5IG9mIGZ1bmN0aW9uczoKKyAgICBmYWNjZXNzYXQsIGZjaG1vZGF0LCBmY2hvd25hdCwgZnN0YXRhdCwgZnV0aW1lc2F0LAorICAgIGxpbmthdCwgbWtkaXJhdCwgbWtub2RhdCwgb3BlbmF0LCByZWFkbGlua2F0LCByZW5hbWVhdCwgc3ltbGlua2F0LAorICAgIHVubGlua2F0LCB1dGltZW5zYXQsIG1rZmlmb2F0ICovCisKKyNpZmRlZiBIQVZFX0ZBQ0NFU1NBVAorUHlEb2NfU1RSVkFSKHBvc2l4X2ZhY2Nlc3NhdF9fZG9jX18sCisiZmFjY2Vzc2F0KGRpcmZkLCBwYXRoLCBtb2RlLCBmbGFncz0wKSAtPiBUcnVlIGlmIGdyYW50ZWQsIEZhbHNlIG90aGVyd2lzZVxuXG5cCitMaWtlIGFjY2VzcygpIGJ1dCBpZiBwYXRoIGlzIHJlbGF0aXZlLCBpdCBpcyB0YWtlbiBhcyByZWxhdGl2ZSB0byBkaXJmZC5cblwKK2ZsYWdzIGlzIG9wdGlvbmFsIGFuZCBjYW4gYmUgY29uc3RydWN0ZWQgYnkgT1JpbmcgdG9nZXRoZXIgemVybyBvciBtb3JlXG5cCitvZiB0aGVzZSB2YWx1ZXM6IEFUX1NZTUxJTktfTk9GT0xMT1csIEFUX0VBQ0NFU1MuXG5cCitJZiBwYXRoIGlzIHJlbGF0aXZlIGFuZCBkaXJmZCBpcyB0aGUgc3BlY2lhbCB2YWx1ZSBBVF9GRENXRCwgdGhlbiBwYXRoXG5cCitpcyBpbnRlcnByZXRlZCByZWxhdGl2ZSB0byB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeS4iKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK3Bvc2l4X2ZhY2Nlc3NhdChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKm9wYXRoOworICAgIGNoYXIgKnBhdGg7CisgICAgaW50IG1vZGU7CisgICAgaW50IHJlczsKKyAgICBpbnQgZGlyZmQsIGZsYWdzID0gMDsKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgImlPJml8aTpmYWNjZXNzYXQiLAorICAgICAgICAgICAgJmRpcmZkLCBQeVVuaWNvZGVfRlNDb252ZXJ0ZXIsICZvcGF0aCwgJm1vZGUsICZmbGFncykpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIHBhdGggPSBQeUJ5dGVzX0FzU3RyaW5nKG9wYXRoKTsKKyAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCisgICAgcmVzID0gZmFjY2Vzc2F0KGRpcmZkLCBwYXRoLCBtb2RlLCBmbGFncyk7CisgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKyAgICBQeV9ERUNSRUYob3BhdGgpOworICAgIHJldHVybiBQeUJvb2xfRnJvbUxvbmcocmVzID09IDApOworfQorI2VuZGlmCisKKyNpZmRlZiBIQVZFX0ZDSE1PREFUCitQeURvY19TVFJWQVIocG9zaXhfZmNobW9kYXRfX2RvY19fLAorImZjaG1vZGF0KGRpcmZkLCBwYXRoLCBtb2RlLCBmbGFncz0wKVxuXG5cCitMaWtlIGNobW9kKCkgYnV0IGlmIHBhdGggaXMgcmVsYXRpdmUsIGl0IGlzIHRha2VuIGFzIHJlbGF0aXZlIHRvIGRpcmZkLlxuXAorZmxhZ3MgaXMgb3B0aW9uYWwgYW5kIG1heSBiZSAwIG9yIEFUX1NZTUxJTktfTk9GT0xMT1cuXG5cCitJZiBwYXRoIGlzIHJlbGF0aXZlIGFuZCBkaXJmZCBpcyB0aGUgc3BlY2lhbCB2YWx1ZSBBVF9GRENXRCwgdGhlbiBwYXRoXG5cCitpcyBpbnRlcnByZXRlZCByZWxhdGl2ZSB0byB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeS4iKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK3Bvc2l4X2ZjaG1vZGF0KFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBpbnQgZGlyZmQsIG1vZGUsIHJlczsKKyAgICBpbnQgZmxhZ3MgPSAwOworICAgIFB5T2JqZWN0ICpvcGF0aDsKKyAgICBjaGFyICpwYXRoOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJpTyZpfGk6ZmNobW9kYXQiLAorICAgICAgICAgICAgJmRpcmZkLCBQeVVuaWNvZGVfRlNDb252ZXJ0ZXIsICZvcGF0aCwgJm1vZGUsICZmbGFncykpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgcGF0aCA9IFB5Qnl0ZXNfQXNTdHJpbmcob3BhdGgpOworCisgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUworICAgIHJlcyA9IGZjaG1vZGF0KGRpcmZkLCBwYXRoLCBtb2RlLCBmbGFncyk7CisgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKyAgICBQeV9ERUNSRUYob3BhdGgpOworICAgIGlmIChyZXMgPCAwKQorICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKKyAgICBQeV9SRVRVUk5fTk9ORTsKK30KKyNlbmRpZiAvKiBIQVZFX0ZDSE1PREFUICovCisKKyNpZmRlZiBIQVZFX0ZDSE9XTkFUCitQeURvY19TVFJWQVIocG9zaXhfZmNob3duYXRfX2RvY19fLAorImZjaG93bmF0KGRpcmZkLCBwYXRoLCB1aWQsIGdpZCwgZmxhZ3M9MClcblxuXAorTGlrZSBjaG93bigpIGJ1dCBpZiBwYXRoIGlzIHJlbGF0aXZlLCBpdCBpcyB0YWtlbiBhcyByZWxhdGl2ZSB0byBkaXJmZC5cblwKK2ZsYWdzIGlzIG9wdGlvbmFsIGFuZCBtYXkgYmUgMCBvciBBVF9TWU1MSU5LX05PRk9MTE9XLlxuXAorSWYgcGF0aCBpcyByZWxhdGl2ZSBhbmQgZGlyZmQgaXMgdGhlIHNwZWNpYWwgdmFsdWUgQVRfRkRDV0QsIHRoZW4gcGF0aFxuXAoraXMgaW50ZXJwcmV0ZWQgcmVsYXRpdmUgdG8gdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkuIik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitwb3NpeF9mY2hvd25hdChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKm9wYXRoOworICAgIGludCBkaXJmZCwgcmVzOworICAgIGxvbmcgdWlkLCBnaWQ7CisgICAgaW50IGZsYWdzID0gMDsKKyAgICBjaGFyICpwYXRoOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJpTyZsbHxpOmZjaG93bmF0IiwKKyAgICAgICAgICAgICZkaXJmZCwgUHlVbmljb2RlX0ZTQ29udmVydGVyLCAmb3BhdGgsICZ1aWQsICZnaWQsICZmbGFncykpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgcGF0aCA9IFB5Qnl0ZXNfQXNTdHJpbmcob3BhdGgpOworCisgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUworICAgIHJlcyA9IGZjaG93bmF0KGRpcmZkLCBwYXRoLCAodWlkX3QpIHVpZCwgKGdpZF90KSBnaWQsIGZsYWdzKTsKKyAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworICAgIFB5X0RFQ1JFRihvcGF0aCk7CisgICAgaWYgKHJlcyA8IDApCisgICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOworICAgIFB5X1JFVFVSTl9OT05FOworfQorI2VuZGlmIC8qIEhBVkVfRkNIT1dOQVQgKi8KKworI2lmZGVmIEhBVkVfRlNUQVRBVAorUHlEb2NfU1RSVkFSKHBvc2l4X2ZzdGF0YXRfX2RvY19fLAorImZzdGF0YXQoZGlyZmQsIHBhdGgsIGZsYWdzPTApIC0+IHN0YXQgcmVzdWx0XG5cblwKK0xpa2Ugc3RhdCgpIGJ1dCBpZiBwYXRoIGlzIHJlbGF0aXZlLCBpdCBpcyB0YWtlbiBhcyByZWxhdGl2ZSB0byBkaXJmZC5cblwKK2ZsYWdzIGlzIG9wdGlvbmFsIGFuZCBtYXkgYmUgMCBvciBBVF9TWU1MSU5LX05PRk9MTE9XLlxuXAorSWYgcGF0aCBpcyByZWxhdGl2ZSBhbmQgZGlyZmQgaXMgdGhlIHNwZWNpYWwgdmFsdWUgQVRfRkRDV0QsIHRoZW4gcGF0aFxuXAoraXMgaW50ZXJwcmV0ZWQgcmVsYXRpdmUgdG8gdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkuIik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitwb3NpeF9mc3RhdGF0KFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeU9iamVjdCAqb3BhdGg7CisgICAgY2hhciAqcGF0aDsKKyAgICBTVFJVQ1RfU1RBVCBzdDsKKyAgICBpbnQgZGlyZmQsIHJlcywgZmxhZ3MgPSAwOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJpTyZ8aTpmc3RhdGF0IiwKKyAgICAgICAgICAgICZkaXJmZCwgUHlVbmljb2RlX0ZTQ29udmVydGVyLCAmb3BhdGgsICZmbGFncykpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIHBhdGggPSBQeUJ5dGVzX0FzU3RyaW5nKG9wYXRoKTsKKworICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKKyAgICByZXMgPSBmc3RhdGF0KGRpcmZkLCBwYXRoLCAmc3QsIGZsYWdzKTsKKyAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworICAgIFB5X0RFQ1JFRihvcGF0aCk7CisgICAgaWYgKHJlcyAhPSAwKQorICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKKworICAgIHJldHVybiBfcHlzdGF0X2Zyb21zdHJ1Y3RzdGF0KCZzdCk7Cit9CisjZW5kaWYKKworI2lmZGVmIEhBVkVfRlVUSU1FU0FUCitQeURvY19TVFJWQVIocG9zaXhfZnV0aW1lc2F0X19kb2NfXywKKyJmdXRpbWVzYXQoZGlyZmQsIHBhdGhbLCAoYXRpbWUsIG10aW1lKV0pXG5cCitMaWtlIHV0aW1lKCkgYnV0IGlmIHBhdGggaXMgcmVsYXRpdmUsIGl0IGlzIHRha2VuIGFzIHJlbGF0aXZlIHRvIGRpcmZkLlxuXAorSWYgcGF0aCBpcyByZWxhdGl2ZSBhbmQgZGlyZmQgaXMgdGhlIHNwZWNpYWwgdmFsdWUgQVRfRkRDV0QsIHRoZW4gcGF0aFxuXAoraXMgaW50ZXJwcmV0ZWQgcmVsYXRpdmUgdG8gdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkuIik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitwb3NpeF9mdXRpbWVzYXQoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpvcGF0aDsKKyAgICBjaGFyICpwYXRoOworICAgIGludCByZXMsIGRpcmZkOworICAgIFB5T2JqZWN0KiBhcmcgPSBQeV9Ob25lOworICAgIHRpbWVfdCBhdGltZSwgbXRpbWU7CisgICAgbG9uZyBhbnNlYywgbW5zZWM7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgImlPJnxPOmZ1dGltZXNhdCIsCisgICAgICAgICAgICAmZGlyZmQsIFB5VW5pY29kZV9GU0NvbnZlcnRlciwgJm9wYXRoLCAmYXJnKSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgcGF0aCA9IFB5Qnl0ZXNfQXNTdHJpbmcob3BhdGgpOworICAgIGlmIChhcmcgPT0gUHlfTm9uZSkgeworICAgICAgICAvKiBvcHRpb25hbCB0aW1lIHZhbHVlcyBub3QgZ2l2ZW4gKi8KKyAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUworICAgICAgICByZXMgPSBmdXRpbWVzYXQoZGlyZmQsIHBhdGgsIE5VTEwpOworICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworICAgIH0KKyAgICBlbHNlIGlmICghUHlUdXBsZV9DaGVjayhhcmcpIHx8IFB5VHVwbGVfU2l6ZShhcmcpICE9IDIpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwKKyAgICAgICAgICAgICAgICAiZnV0aW1lc2F0KCkgYXJnIDMgbXVzdCBiZSBhIHR1cGxlIChhdGltZSwgbXRpbWUpIik7CisgICAgICAgIFB5X0RFQ1JFRihvcGF0aCk7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKyAgICBlbHNlIHsKKyAgICAgICAgaWYgKF9QeVRpbWVfT2JqZWN0VG9UaW1lc3BlYyhQeVR1cGxlX0dFVF9JVEVNKGFyZywgMCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmF0aW1lLCAmYW5zZWMpID09IC0xKSB7CisgICAgICAgICAgICBQeV9ERUNSRUYob3BhdGgpOworICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIH0KKyAgICAgICAgaWYgKF9QeVRpbWVfT2JqZWN0VG9UaW1lc3BlYyhQeVR1cGxlX0dFVF9JVEVNKGFyZywgMSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJm10aW1lLCAmbW5zZWMpID09IC0xKSB7CisgICAgICAgICAgICBQeV9ERUNSRUYob3BhdGgpOworICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIH0KKworICAgICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCisgICAgICAgIHsKKyNpZmRlZiBIQVZFX1VUSU1FTlNBVAorICAgICAgICBzdHJ1Y3QgdGltZXNwZWMgYnVmWzJdOworICAgICAgICBidWZbMF0udHZfc2VjID0gYXRpbWU7CisgICAgICAgIGJ1ZlswXS50dl9uc2VjID0gYW5zZWM7CisgICAgICAgIGJ1ZlsxXS50dl9zZWMgPSBtdGltZTsKKyAgICAgICAgYnVmWzFdLnR2X25zZWMgPSBtbnNlYzsKKyAgICAgICAgcmVzID0gdXRpbWVuc2F0KGRpcmZkLCBwYXRoLCBidWYsIDApOworI2Vsc2UKKyAgICAgICAgc3RydWN0IHRpbWV2YWwgYnVmWzJdOworICAgICAgICBidWZbMF0udHZfc2VjID0gYXRpbWU7CisgICAgICAgIGJ1ZlswXS50dl91c2VjID0gYW5zZWMgLyAxMDAwOworICAgICAgICBidWZbMV0udHZfc2VjID0gbXRpbWU7CisgICAgICAgIGJ1ZlsxXS50dl91c2VjID0gbW5zZWMgLyAxMDAwOworICAgICAgICByZXMgPSBmdXRpbWVzYXQoZGlyZmQsIHBhdGgsIGJ1Zik7CisjZW5kaWYKKyAgICAgICAgfQorICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworICAgIH0KKyAgICBQeV9ERUNSRUYob3BhdGgpOworICAgIGlmIChyZXMgPCAwKSB7CisgICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOworICAgIH0KKyAgICBQeV9SRVRVUk5fTk9ORTsKK30KKyNlbmRpZgorCisjaWZkZWYgSEFWRV9MSU5LQVQKK1B5RG9jX1NUUlZBUihwb3NpeF9saW5rYXRfX2RvY19fLAorImxpbmthdChzcmNmZCwgc3JjcGF0aCwgZHN0ZmQsIGRzdHBhdGgsIGZsYWdzPTApXG5cblwKK0xpa2UgbGluaygpIGJ1dCBpZiBzcmNwYXRoIGlzIHJlbGF0aXZlLCBpdCBpcyB0YWtlbiBhcyByZWxhdGl2ZSB0byBzcmNmZFxuXAorYW5kIGlmIGRzdHBhdGggaXMgcmVsYXRpdmUsIGl0IGlzIHRha2VuIGFzIHJlbGF0aXZlIHRvIGRzdGZkLlxuXAorZmxhZ3MgaXMgb3B0aW9uYWwgYW5kIG1heSBiZSAwIG9yIEFUX1NZTUxJTktfRk9MTE9XLlxuXAorSWYgc3JjcGF0aCBpcyByZWxhdGl2ZSBhbmQgc3JjZmQgaXMgdGhlIHNwZWNpYWwgdmFsdWUgQVRfRkRDV0QsIHRoZW5cblwKK3NyY3BhdGggaXMgaW50ZXJwcmV0ZWQgcmVsYXRpdmUgdG8gdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkuIFRoaXNcblwKK2Fsc28gYXBwbGllcyBmb3IgZHN0cGF0aC4iKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK3Bvc2l4X2xpbmthdChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKm9zcmMsICpvZHN0OworICAgIGNoYXIgKnNyYywgKmRzdDsKKyAgICBpbnQgcmVzLCBzcmNmZCwgZHN0ZmQ7CisgICAgaW50IGZsYWdzID0gMDsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiaU8maU8mfGk6bGlua2F0IiwKKyAgICAgICAgICAgICZzcmNmZCwgUHlVbmljb2RlX0ZTQ29udmVydGVyLCAmb3NyYywgJmRzdGZkLCBQeVVuaWNvZGVfRlNDb252ZXJ0ZXIsICZvZHN0LCAmZmxhZ3MpKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBzcmMgPSBQeUJ5dGVzX0FzU3RyaW5nKG9zcmMpOworICAgIGRzdCA9IFB5Qnl0ZXNfQXNTdHJpbmcob2RzdCk7CisgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUworICAgIHJlcyA9IGxpbmthdChzcmNmZCwgc3JjLCBkc3RmZCwgZHN0LCBmbGFncyk7CisgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKyAgICBQeV9ERUNSRUYob3NyYyk7CisgICAgUHlfREVDUkVGKG9kc3QpOworICAgIGlmIChyZXMgPCAwKQorICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKKyAgICBQeV9SRVRVUk5fTk9ORTsKK30KKyNlbmRpZiAvKiBIQVZFX0xJTktBVCAqLworCisjaWZkZWYgSEFWRV9NS0RJUkFUCitQeURvY19TVFJWQVIocG9zaXhfbWtkaXJhdF9fZG9jX18sCisibWtkaXJhdChkaXJmZCwgcGF0aCwgbW9kZT0wbzc3NylcblxuXAorTGlrZSBta2RpcigpIGJ1dCBpZiBwYXRoIGlzIHJlbGF0aXZlLCBpdCBpcyB0YWtlbiBhcyByZWxhdGl2ZSB0byBkaXJmZC5cblwKK0lmIHBhdGggaXMgcmVsYXRpdmUgYW5kIGRpcmZkIGlzIHRoZSBzcGVjaWFsIHZhbHVlIEFUX0ZEQ1dELCB0aGVuIHBhdGhcblwKK2lzIGludGVycHJldGVkIHJlbGF0aXZlIHRvIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5LiIpOworCitzdGF0aWMgUHlPYmplY3QgKgorcG9zaXhfbWtkaXJhdChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgaW50IHJlcywgZGlyZmQ7CisgICAgUHlPYmplY3QgKm9wYXRoOworICAgIGNoYXIgKnBhdGg7CisgICAgaW50IG1vZGUgPSAwNzc3OworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJpTyZ8aTpta2RpcmF0IiwKKyAgICAgICAgICAgICZkaXJmZCwgUHlVbmljb2RlX0ZTQ29udmVydGVyLCAmb3BhdGgsICZtb2RlKSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgcGF0aCA9IFB5Qnl0ZXNfQXNTdHJpbmcob3BhdGgpOworICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKKyAgICByZXMgPSBta2RpcmF0KGRpcmZkLCBwYXRoLCBtb2RlKTsKKyAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworICAgIFB5X0RFQ1JFRihvcGF0aCk7CisgICAgaWYgKHJlcyA8IDApCisgICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOworICAgIFB5X1JFVFVSTl9OT05FOworfQorI2VuZGlmCisKKyNpZiBkZWZpbmVkKEhBVkVfTUtOT0RBVCkgJiYgZGVmaW5lZChIQVZFX01BS0VERVYpCitQeURvY19TVFJWQVIocG9zaXhfbWtub2RhdF9fZG9jX18sCisibWtub2RhdChkaXJmZCwgcGF0aCwgbW9kZT0wbzYwMCwgZGV2aWNlPTApXG5cblwKK0xpa2UgbWtub2QoKSBidXQgaWYgcGF0aCBpcyByZWxhdGl2ZSwgaXQgaXMgdGFrZW4gYXMgcmVsYXRpdmUgdG8gZGlyZmQuXG5cCitJZiBwYXRoIGlzIHJlbGF0aXZlIGFuZCBkaXJmZCBpcyB0aGUgc3BlY2lhbCB2YWx1ZSBBVF9GRENXRCwgdGhlbiBwYXRoXG5cCitpcyBpbnRlcnByZXRlZCByZWxhdGl2ZSB0byB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeS4iKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK3Bvc2l4X21rbm9kYXQoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpvcGF0aDsKKyAgICBjaGFyICpmaWxlbmFtZTsKKyAgICBpbnQgbW9kZSA9IDA2MDA7CisgICAgaW50IGRldmljZSA9IDA7CisgICAgaW50IHJlcywgZGlyZmQ7CisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJpTyZ8aWk6bWtub2RhdCIsICZkaXJmZCwKKyAgICAgICAgICAgIFB5VW5pY29kZV9GU0NvbnZlcnRlciwgJm9wYXRoLCAmbW9kZSwgJmRldmljZSkpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIGZpbGVuYW1lID0gUHlCeXRlc19BU19TVFJJTkcob3BhdGgpOworICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKKyAgICByZXMgPSBta25vZGF0KGRpcmZkLCBmaWxlbmFtZSwgbW9kZSwgZGV2aWNlKTsKKyAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworICAgIFB5X0RFQ1JFRihvcGF0aCk7CisgICAgaWYgKHJlcyA8IDApCisgICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOworICAgIFB5X1JFVFVSTl9OT05FOworfQorI2VuZGlmCisKKyNpZmRlZiBIQVZFX09QRU5BVAorUHlEb2NfU1RSVkFSKHBvc2l4X29wZW5hdF9fZG9jX18sCisib3BlbmF0KGRpcmZkLCBwYXRoLCBmbGFnLCBtb2RlPTBvNzc3KSAtPiBmZFxuXG5cCitMaWtlIG9wZW4oKSBidXQgaWYgcGF0aCBpcyByZWxhdGl2ZSwgaXQgaXMgdGFrZW4gYXMgcmVsYXRpdmUgdG8gZGlyZmQuXG5cCitJZiBwYXRoIGlzIHJlbGF0aXZlIGFuZCBkaXJmZCBpcyB0aGUgc3BlY2lhbCB2YWx1ZSBBVF9GRENXRCwgdGhlbiBwYXRoXG5cCitpcyBpbnRlcnByZXRlZCByZWxhdGl2ZSB0byB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeS4iKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK3Bvc2l4X29wZW5hdChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKm9maWxlOworICAgIGNoYXIgKmZpbGU7CisgICAgaW50IGZsYWcsIGRpcmZkLCBmZDsKKyAgICBpbnQgbW9kZSA9IDA3Nzc7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgImlPJml8aTpvcGVuYXQiLAorICAgICAgICAgICAgJmRpcmZkLCBQeVVuaWNvZGVfRlNDb252ZXJ0ZXIsICZvZmlsZSwKKyAgICAgICAgICAgICZmbGFnLCAmbW9kZSkpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIGZpbGUgPSBQeUJ5dGVzX0FzU3RyaW5nKG9maWxlKTsKKyAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCisgICAgZmQgPSBvcGVuYXQoZGlyZmQsIGZpbGUsIGZsYWcsIG1vZGUpOworICAgIFB5X0VORF9BTExPV19USFJFQURTCisgICAgUHlfREVDUkVGKG9maWxlKTsKKyAgICBpZiAoZmQgPCAwKQorICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKKyAgICByZXR1cm4gUHlMb25nX0Zyb21Mb25nKChsb25nKWZkKTsKK30KKyNlbmRpZgorCisjaWZkZWYgSEFWRV9SRUFETElOS0FUCitQeURvY19TVFJWQVIocG9zaXhfcmVhZGxpbmthdF9fZG9jX18sCisicmVhZGxpbmthdChkaXJmZCwgcGF0aCkgLT4gcGF0aFxuXG5cCitMaWtlIHJlYWRsaW5rKCkgYnV0IGlmIHBhdGggaXMgcmVsYXRpdmUsIGl0IGlzIHRha2VuIGFzIHJlbGF0aXZlIHRvIGRpcmZkLlxuXAorSWYgcGF0aCBpcyByZWxhdGl2ZSBhbmQgZGlyZmQgaXMgdGhlIHNwZWNpYWwgdmFsdWUgQVRfRkRDV0QsIHRoZW4gcGF0aFxuXAoraXMgaW50ZXJwcmV0ZWQgcmVsYXRpdmUgdG8gdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkuIik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitwb3NpeF9yZWFkbGlua2F0KFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeU9iamVjdCAqdiwgKm9wYXRoOworICAgIGNoYXIgYnVmW01BWFBBVEhMRU5dOworICAgIGNoYXIgKnBhdGg7CisgICAgaW50IG4sIGRpcmZkOworICAgIGludCBhcmdfaXNfdW5pY29kZSA9IDA7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgImlPJjpyZWFkbGlua2F0IiwKKyAgICAgICAgICAgICZkaXJmZCwgUHlVbmljb2RlX0ZTQ29udmVydGVyLCAmb3BhdGgpKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBwYXRoID0gUHlCeXRlc19Bc1N0cmluZyhvcGF0aCk7CisgICAgdiA9IFB5U2VxdWVuY2VfR2V0SXRlbShhcmdzLCAxKTsKKyAgICBpZiAodiA9PSBOVUxMKSB7CisgICAgICAgIFB5X0RFQ1JFRihvcGF0aCk7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKworICAgIGlmIChQeVVuaWNvZGVfQ2hlY2sodikpIHsKKyAgICAgICAgYXJnX2lzX3VuaWNvZGUgPSAxOworICAgIH0KKyAgICBQeV9ERUNSRUYodik7CisKKyAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCisgICAgbiA9IHJlYWRsaW5rYXQoZGlyZmQsIHBhdGgsIGJ1ZiwgKGludCkgc2l6ZW9mIGJ1Zik7CisgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKyAgICBQeV9ERUNSRUYob3BhdGgpOworICAgIGlmIChuIDwgMCkKKyAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7CisKKyAgICBpZiAoYXJnX2lzX3VuaWNvZGUpCisgICAgICAgIHJldHVybiBQeVVuaWNvZGVfRGVjb2RlRlNEZWZhdWx0QW5kU2l6ZShidWYsIG4pOworICAgIGVsc2UKKyAgICAgICAgcmV0dXJuIFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUoYnVmLCBuKTsKK30KKyNlbmRpZiAvKiBIQVZFX1JFQURMSU5LQVQgKi8KKworI2lmZGVmIEhBVkVfUkVOQU1FQVQKK1B5RG9jX1NUUlZBUihwb3NpeF9yZW5hbWVhdF9fZG9jX18sCisicmVuYW1lYXQob2xkZGlyZmQsIG9sZHBhdGgsIG5ld2RpcmZkLCBuZXdwYXRoKVxuXG5cCitMaWtlIHJlbmFtZSgpIGJ1dCBpZiBvbGRwYXRoIGlzIHJlbGF0aXZlLCBpdCBpcyB0YWtlbiBhcyByZWxhdGl2ZSB0b1xuXAorb2xkZGlyZmQgYW5kIGlmIG5ld3BhdGggaXMgcmVsYXRpdmUsIGl0IGlzIHRha2VuIGFzIHJlbGF0aXZlIHRvIG5ld2RpcmZkLlxuXAorSWYgb2xkcGF0aCBpcyByZWxhdGl2ZSBhbmQgb2xkZGlyZmQgaXMgdGhlIHNwZWNpYWwgdmFsdWUgQVRfRkRDV0QsIHRoZW5cblwKK29sZHBhdGggaXMgaW50ZXJwcmV0ZWQgcmVsYXRpdmUgdG8gdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkuIFRoaXNcblwKK2Fsc28gYXBwbGllcyBmb3IgbmV3cGF0aC4iKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK3Bvc2l4X3JlbmFtZWF0KFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBpbnQgcmVzOworICAgIFB5T2JqZWN0ICpvcGF0aG9sZCwgKm9wYXRobmV3OworICAgIGNoYXIgKm9wYXRoLCAqbnBhdGg7CisgICAgaW50IG9sZGZkLCBuZXdmZDsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiaU8maU8mOnJlbmFtZWF0IiwKKyAgICAgICAgICAgICZvbGRmZCwgUHlVbmljb2RlX0ZTQ29udmVydGVyLCAmb3BhdGhvbGQsICZuZXdmZCwgUHlVbmljb2RlX0ZTQ29udmVydGVyLCAmb3BhdGhuZXcpKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBvcGF0aCA9IFB5Qnl0ZXNfQXNTdHJpbmcob3BhdGhvbGQpOworICAgIG5wYXRoID0gUHlCeXRlc19Bc1N0cmluZyhvcGF0aG5ldyk7CisgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUworICAgIHJlcyA9IHJlbmFtZWF0KG9sZGZkLCBvcGF0aCwgbmV3ZmQsIG5wYXRoKTsKKyAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworICAgIFB5X0RFQ1JFRihvcGF0aG9sZCk7CisgICAgUHlfREVDUkVGKG9wYXRobmV3KTsKKyAgICBpZiAocmVzIDwgMCkKKyAgICAgICAgcmV0dXJuIHBvc2l4X2Vycm9yKCk7CisgICAgUHlfUkVUVVJOX05PTkU7Cit9CisjZW5kaWYKKworI2lmIEhBVkVfU1lNTElOS0FUCitQeURvY19TVFJWQVIocG9zaXhfc3ltbGlua2F0X19kb2NfXywKKyJzeW1saW5rYXQoc3JjLCBkc3RmZCwgZHN0KVxuXG5cCitMaWtlIHN5bWxpbmsoKSBidXQgaWYgZHN0IGlzIHJlbGF0aXZlLCBpdCBpcyB0YWtlbiBhcyByZWxhdGl2ZSB0byBkc3RmZC5cblwKK0lmIGRzdCBpcyByZWxhdGl2ZSBhbmQgZHN0ZmQgaXMgdGhlIHNwZWNpYWwgdmFsdWUgQVRfRkRDV0QsIHRoZW4gZHN0XG5cCitpcyBpbnRlcnByZXRlZCByZWxhdGl2ZSB0byB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeS4iKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK3Bvc2l4X3N5bWxpbmthdChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgaW50IHJlcywgZHN0ZmQ7CisgICAgUHlPYmplY3QgKm9zcmMsICpvZHN0OworICAgIGNoYXIgKnNyYywgKmRzdDsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiTyZpTyY6c3ltbGlua2F0IiwKKyAgICAgICAgICAgIFB5VW5pY29kZV9GU0NvbnZlcnRlciwgJm9zcmMsICZkc3RmZCwgUHlVbmljb2RlX0ZTQ29udmVydGVyLCAmb2RzdCkpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIHNyYyA9IFB5Qnl0ZXNfQXNTdHJpbmcob3NyYyk7CisgICAgZHN0ID0gUHlCeXRlc19Bc1N0cmluZyhvZHN0KTsKKyAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCisgICAgcmVzID0gc3ltbGlua2F0KHNyYywgZHN0ZmQsIGRzdCk7CisgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKyAgICBQeV9ERUNSRUYob3NyYyk7CisgICAgUHlfREVDUkVGKG9kc3QpOworICAgIGlmIChyZXMgPCAwKQorICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKKyAgICBQeV9SRVRVUk5fTk9ORTsKK30KKyNlbmRpZiAvKiBIQVZFX1NZTUxJTktBVCAqLworCisjaWZkZWYgSEFWRV9VTkxJTktBVAorUHlEb2NfU1RSVkFSKHBvc2l4X3VubGlua2F0X19kb2NfXywKKyJ1bmxpbmthdChkaXJmZCwgcGF0aCwgZmxhZ3M9MClcblxuXAorTGlrZSB1bmxpbmsoKSBidXQgaWYgcGF0aCBpcyByZWxhdGl2ZSwgaXQgaXMgdGFrZW4gYXMgcmVsYXRpdmUgdG8gZGlyZmQuXG5cCitmbGFncyBpcyBvcHRpb25hbCBhbmQgbWF5IGJlIDAgb3IgQVRfUkVNT1ZFRElSLiBJZiBBVF9SRU1PVkVESVIgaXNcblwKK3NwZWNpZmllZCwgdW5saW5rYXQoKSBiZWhhdmVzIGxpa2Ugcm1kaXIoKS5cblwKK0lmIHBhdGggaXMgcmVsYXRpdmUgYW5kIGRpcmZkIGlzIHRoZSBzcGVjaWFsIHZhbHVlIEFUX0ZEQ1dELCB0aGVuIHBhdGhcblwKK2lzIGludGVycHJldGVkIHJlbGF0aXZlIHRvIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5LiIpOworCitzdGF0aWMgUHlPYmplY3QgKgorcG9zaXhfdW5saW5rYXQoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQoreworICAgIGludCBkaXJmZCwgcmVzLCBmbGFncyA9IDA7CisgICAgUHlPYmplY3QgKm9wYXRoOworICAgIGNoYXIgKnBhdGg7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgImlPJnxpOnVubGlua2F0IiwKKyAgICAgICAgICAgICZkaXJmZCwgUHlVbmljb2RlX0ZTQ29udmVydGVyLCAmb3BhdGgsICZmbGFncykpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIHBhdGggPSBQeUJ5dGVzX0FzU3RyaW5nKG9wYXRoKTsKKyAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCisgICAgcmVzID0gdW5saW5rYXQoZGlyZmQsIHBhdGgsIGZsYWdzKTsKKyAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworICAgIFB5X0RFQ1JFRihvcGF0aCk7CisgICAgaWYgKHJlcyA8IDApCisgICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOworICAgIFB5X1JFVFVSTl9OT05FOworfQorI2VuZGlmCisKKyNpZmRlZiBIQVZFX1VUSU1FTlNBVAorUHlEb2NfU1RSVkFSKHBvc2l4X3V0aW1lbnNhdF9fZG9jX18sCisidXRpbWVuc2F0KGRpcmZkLCBwYXRoWywgYXRpbWU9KGF0aW1lX3NlYywgYXRpbWVfbnNlYyksXG5cCisgICAgbXRpbWU9KG10aW1lX3NlYywgbXRpbWVfbnNlYyksIGZsYWdzPTBdKVxuXAordXRpbWVuc2F0KGRpcmZkLCBwYXRoLCBOb25lLCBOb25lLCBmbGFncylcblxuXAorVXBkYXRlcyB0aGUgdGltZXN0YW1wcyBvZiBhIGZpbGUgd2l0aCBuYW5vc2Vjb25kIHByZWNpc2lvbi4gSWYgcGF0aCBpc1xuXAorcmVsYXRpdmUsIGl0IGlzIHRha2VuIGFzIHJlbGF0aXZlIHRvIGRpcmZkLlxuXAorSWYgYXRpbWUgYW5kIG10aW1lIGFyZSBib3RoIE5vbmUsIHdoaWNoIGlzIHRoZSBkZWZhdWx0LCBzZXQgYXRpbWUgYW5kXG5cCittdGltZSB0byB0aGUgY3VycmVudCB0aW1lLlxuXAorZmxhZ3MgaXMgb3B0aW9uYWwgYW5kIG1heSBiZSAwIG9yIEFUX1NZTUxJTktfTk9GT0xMT1cuXG5cCitJZiBwYXRoIGlzIHJlbGF0aXZlIGFuZCBkaXJmZCBpcyB0aGUgc3BlY2lhbCB2YWx1ZSBBVF9GRENXRCwgdGhlbiBwYXRoXG5cCitpcyBpbnRlcnByZXRlZCByZWxhdGl2ZSB0byB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeS5cblwKK0lmICpfbnNlYyBpcyBzcGVjaWZpZWQgYXMgVVRJTUVfTk9XLCB0aGUgdGltZXN0YW1wIGlzIHVwZGF0ZWQgdG8gdGhlXG5cCitjdXJyZW50IHRpbWUuXG5cCitJZiAqX25zZWMgaXMgc3BlY2lmaWVkIGFzIFVUSU1FX09NSVQsIHRoZSB0aW1lc3RhbXAgaXMgbm90IHVwZGF0ZWQuIik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitwb3NpeF91dGltZW5zYXQoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQoreworICAgIFB5T2JqZWN0ICpvcGF0aDsKKyAgICBjaGFyICpwYXRoOworICAgIGludCByZXMsIGRpcmZkLCBmbGFncyA9IDA7CisgICAgUHlPYmplY3QgKmF0aW1lID0gUHlfTm9uZTsKKyAgICBQeU9iamVjdCAqbXRpbWUgPSBQeV9Ob25lOworCisgICAgc3RhdGljIGNoYXIgKmt3bGlzdFtdID0geyJkaXJmZCIsICJwYXRoIiwgImF0aW1lIiwgIm10aW1lIiwgImZsYWdzIiwgTlVMTH07CisKKyAgICBzdHJ1Y3QgdGltZXNwZWMgYnVmWzJdOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dhcmdzLCAiaU8mfE9PaTp1dGltZW5zYXQiLCBrd2xpc3QsCisgICAgICAgICAgICAmZGlyZmQsIFB5VW5pY29kZV9GU0NvbnZlcnRlciwgJm9wYXRoLCAmYXRpbWUsICZtdGltZSwgJmZsYWdzKSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgcGF0aCA9IFB5Qnl0ZXNfQXNTdHJpbmcob3BhdGgpOworICAgIGlmIChhdGltZSA9PSBQeV9Ob25lICYmIG10aW1lID09IFB5X05vbmUpIHsKKyAgICAgICAgLyogb3B0aW9uYWwgdGltZSB2YWx1ZXMgbm90IGdpdmVuICovCisgICAgICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKKyAgICAgICAgcmVzID0gdXRpbWVuc2F0KGRpcmZkLCBwYXRoLCBOVUxMLCBmbGFncyk7CisgICAgICAgIFB5X0VORF9BTExPV19USFJFQURTCisgICAgfQorICAgIGVsc2UgaWYgKCFQeVR1cGxlX0NoZWNrKGF0aW1lKSB8fCBQeVR1cGxlX1NpemUoYXRpbWUpICE9IDIpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwKKyAgICAgICAgICAgICJ1dGltZW5zYXQoKSBhcmcgMyBtdXN0IGJlIGEgdHVwbGUgKGF0aW1lX3NlYywgYXRpbWVfbnNlYykiKTsKKyAgICAgICAgUHlfREVDUkVGKG9wYXRoKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorICAgIGVsc2UgaWYgKCFQeVR1cGxlX0NoZWNrKG10aW1lKSB8fCBQeVR1cGxlX1NpemUobXRpbWUpICE9IDIpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwKKyAgICAgICAgICAgICJ1dGltZW5zYXQoKSBhcmcgNCBtdXN0IGJlIGEgdHVwbGUgKG10aW1lX3NlYywgbXRpbWVfbnNlYykiKTsKKyAgICAgICAgUHlfREVDUkVGKG9wYXRoKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorICAgIGVsc2UgeworICAgICAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXRpbWUsICJsbDp1dGltZW5zYXQiLAorICAgICAgICAgICAgICAgICYoYnVmWzBdLnR2X3NlYyksICYoYnVmWzBdLnR2X25zZWMpKSkgeworICAgICAgICAgICAgUHlfREVDUkVGKG9wYXRoKTsKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICB9CisgICAgICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShtdGltZSwgImxsOnV0aW1lbnNhdCIsCisgICAgICAgICAgICAgICAgJihidWZbMV0udHZfc2VjKSwgJihidWZbMV0udHZfbnNlYykpKSB7CisgICAgICAgICAgICBQeV9ERUNSRUYob3BhdGgpOworICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIH0KKyAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUworICAgICAgICByZXMgPSB1dGltZW5zYXQoZGlyZmQsIHBhdGgsIGJ1ZiwgZmxhZ3MpOworICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworICAgIH0KKyAgICBQeV9ERUNSRUYob3BhdGgpOworICAgIGlmIChyZXMgPCAwKSB7CisgICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOworICAgIH0KKyAgICBQeV9SRVRVUk5fTk9ORTsKK30KKyNlbmRpZgorCisjaWZkZWYgSEFWRV9NS0ZJRk9BVAorUHlEb2NfU1RSVkFSKHBvc2l4X21rZmlmb2F0X19kb2NfXywKKyJta2ZpZm9hdChkaXJmZCwgcGF0aCwgbW9kZT0wbzY2NilcblxuXAorTGlrZSBta2ZpZm8oKSBidXQgaWYgcGF0aCBpcyByZWxhdGl2ZSwgaXQgaXMgdGFrZW4gYXMgcmVsYXRpdmUgdG8gZGlyZmQuXG5cCitJZiBwYXRoIGlzIHJlbGF0aXZlIGFuZCBkaXJmZCBpcyB0aGUgc3BlY2lhbCB2YWx1ZSBBVF9GRENXRCwgdGhlbiBwYXRoXG5cCitpcyBpbnRlcnByZXRlZCByZWxhdGl2ZSB0byB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeS4iKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK3Bvc2l4X21rZmlmb2F0KFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeU9iamVjdCAqb3BhdGg7CisgICAgY2hhciAqZmlsZW5hbWU7CisgICAgaW50IG1vZGUgPSAwNjY2OworICAgIGludCByZXMsIGRpcmZkOworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiaU8mfGk6bWtmaWZvYXQiLAorICAgICAgICAgICAgJmRpcmZkLCBQeVVuaWNvZGVfRlNDb252ZXJ0ZXIsICZvcGF0aCwgJm1vZGUpKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBmaWxlbmFtZSA9IFB5Qnl0ZXNfQVNfU1RSSU5HKG9wYXRoKTsKKyAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCisgICAgcmVzID0gbWtmaWZvYXQoZGlyZmQsIGZpbGVuYW1lLCBtb2RlKTsKKyAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworICAgIFB5X0RFQ1JFRihvcGF0aCk7CisgICAgaWYgKHJlcyA8IDApCisgICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOworICAgIFB5X1JFVFVSTl9OT05FOworfQorI2VuZGlmCisKKyNpZmRlZiBVU0VfWEFUVFJTCisKK3N0YXRpYyBpbnQKK3RyeV9nZXR4YXR0cihjb25zdCBjaGFyICpwYXRoLCBjb25zdCBjaGFyICpuYW1lLAorICAgICAgICAgICAgIHNzaXplX3QgKCpnZXQpKGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqLCB2b2lkICosIHNpemVfdCksCisgICAgICAgICAgICAgUHlfc3NpemVfdCBidWZfc2l6ZSwgUHlPYmplY3QgKipyZXMpCit7CisgICAgUHlPYmplY3QgKnZhbHVlOworICAgIFB5X3NzaXplX3QgbGVuOworCisgICAgYXNzZXJ0KGJ1Zl9zaXplIDw9IFhBVFRSX1NJWkVfTUFYKTsKKyAgICB2YWx1ZSA9IFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUoTlVMTCwgYnVmX3NpemUpOworICAgIGlmICghdmFsdWUpCisgICAgICAgIHJldHVybiAwOworICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFM7CisgICAgbGVuID0gZ2V0KHBhdGgsIG5hbWUsIFB5Qnl0ZXNfQVNfU1RSSU5HKHZhbHVlKSwgYnVmX3NpemUpOworICAgIFB5X0VORF9BTExPV19USFJFQURTOworICAgIGlmIChsZW4gPCAwKSB7CisgICAgICAgIFB5X0RFQ1JFRih2YWx1ZSk7CisgICAgICAgIGlmIChlcnJubyA9PSBFUkFOR0UpIHsKKyAgICAgICAgICAgIHZhbHVlID0gTlVMTDsKKyAgICAgICAgfQorICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIHBvc2l4X2Vycm9yKCk7CisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgfQorICAgIH0KKyAgICBlbHNlIGlmIChsZW4gIT0gYnVmX3NpemUpIHsKKyAgICAgICAgLyogQ2FuIG9ubHkgc2hyaW5rLiAqLworICAgICAgICBfUHlCeXRlc19SZXNpemUoJnZhbHVlLCBsZW4pOworICAgIH0KKyAgICAqcmVzID0gdmFsdWU7CisgICAgcmV0dXJuIDE7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitnZXR4YXR0cl9jb21tb24oY29uc3QgY2hhciAqcGF0aCwgUHlPYmplY3QgKm5hbWVfb2JqLAorICAgICAgICAgICAgICAgIHNzaXplX3QgKCpnZXQpKGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqLCB2b2lkICosIHNpemVfdCkpCit7CisgICAgUHlPYmplY3QgKnZhbHVlOworICAgIGNvbnN0IGNoYXIgKm5hbWUgPSBQeUJ5dGVzX0FTX1NUUklORyhuYW1lX29iaik7CisKKyAgICAvKiBUcnkgYSBzbWFsbCB2YWx1ZSBmaXJzdC4gKi8KKyAgICBpZiAoIXRyeV9nZXR4YXR0cihwYXRoLCBuYW1lLCBnZXQsIDEyOCwgJnZhbHVlKSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgaWYgKHZhbHVlKQorICAgICAgICByZXR1cm4gdmFsdWU7CisgICAgLyogTm93IHRoZSBtYXhpbXVtIHBvc3NpYmxlIG9uZS4gKi8KKyAgICBpZiAoIXRyeV9nZXR4YXR0cihwYXRoLCBuYW1lLCBnZXQsIFhBVFRSX1NJWkVfTUFYLCAmdmFsdWUpKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBhc3NlcnQodmFsdWUpOworICAgIHJldHVybiB2YWx1ZTsKK30KKworUHlEb2NfU1RSVkFSKHBvc2l4X2dldHhhdHRyX19kb2NfXywKKyJnZXR4YXR0cihwYXRoLCBhdHRyKSAtPiB2YWx1ZVxuXG5cCitSZXR1cm4gdGhlIHZhbHVlIG9mIGV4dGVuZGVkIGF0dHJpYnV0ZSAqbmFtZSogb24gKnBhdGgqLiIpOworCitzdGF0aWMgUHlPYmplY3QgKgorcG9zaXhfZ2V0eGF0dHIoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpwYXRoLCAqcmVzLCAqbmFtZTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiTyZPJjpnZXR4YXR0ciIsIFB5VW5pY29kZV9GU0NvbnZlcnRlciwgJnBhdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9GU0NvbnZlcnRlciwgJm5hbWUpKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICByZXMgPSBnZXR4YXR0cl9jb21tb24oUHlCeXRlc19BU19TVFJJTkcocGF0aCksIG5hbWUsIGdldHhhdHRyKTsKKyAgICBQeV9ERUNSRUYocGF0aCk7CisgICAgUHlfREVDUkVGKG5hbWUpOworICAgIHJldHVybiByZXM7Cit9CisKK1B5RG9jX1NUUlZBUihwb3NpeF9sZ2V0eGF0dHJfX2RvY19fLAorImxnZXR4YXR0cihwYXRoLCBhdHRyKSAtPiB2YWx1ZVxuXG5cCitMaWtlIGdldHhhdHRyIGJ1dCBkb24ndCBmb2xsb3cgc3ltbGlua3MuIik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitwb3NpeF9sZ2V0eGF0dHIoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpwYXRoLCAqcmVzLCAqbmFtZTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiTyZPJjpsZ2V0eGF0dHIiLCBQeVVuaWNvZGVfRlNDb252ZXJ0ZXIsICZwYXRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfRlNDb252ZXJ0ZXIsICZuYW1lKSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgcmVzID0gZ2V0eGF0dHJfY29tbW9uKFB5Qnl0ZXNfQVNfU1RSSU5HKHBhdGgpLCBuYW1lLCBsZ2V0eGF0dHIpOworICAgIFB5X0RFQ1JFRihwYXRoKTsKKyAgICBQeV9ERUNSRUYobmFtZSk7CisgICAgcmV0dXJuIHJlczsKK30KKworc3RhdGljIHNzaXplX3QKK3dyYXBfZmdldHhhdHRyKGNvbnN0IGNoYXIgKnBhdGgsIGNvbnN0IGNoYXIgKm5hbWUsIHZvaWQgKnZhbHVlLCBzaXplX3Qgc2l6ZSkKK3sKKyAgICAvKiBIYWNrIHRvIHNoYXJlIGNvZGUuICovCisgICAgcmV0dXJuIGZnZXR4YXR0cigoaW50KShQeV91aW50cHRyX3QpcGF0aCwgbmFtZSwgdmFsdWUsIHNpemUpOworfQorCitQeURvY19TVFJWQVIocG9zaXhfZmdldHhhdHRyX19kb2NfXywKKyJmZ2V0eGF0dHIoZmQsIGF0dHIpIC0+IHZhbHVlXG5cblwKK0xpa2UgZ2V0eGF0dHIgYnV0IG9wZXJhdGUgb24gYSBmZCBpbnN0ZWFkIG9mIGEgcGF0aC4iKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK3Bvc2l4X2ZnZXR4YXR0cihQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKnJlcywgKm5hbWU7CisgICAgaW50IGZkOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJpTyY6ZmdldHhhdHRyIiwgJmZkLCBQeVVuaWNvZGVfRlNDb252ZXJ0ZXIsICZuYW1lKSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgcmVzID0gZ2V0eGF0dHJfY29tbW9uKChjb25zdCBjaGFyICopKFB5X3VpbnRwdHJfdClmZCwgbmFtZSwgd3JhcF9mZ2V0eGF0dHIpOworICAgIFB5X0RFQ1JFRihuYW1lKTsKKyAgICByZXR1cm4gcmVzOworfQorCitQeURvY19TVFJWQVIocG9zaXhfc2V0eGF0dHJfX2RvY19fLAorInNldHhhdHRyKHBhdGgsIGF0dHIsIHZhbHVlLCBmbGFncz0wKVxuXG5cCitTZXQgZXh0ZW5kZWQgYXR0cmlidXRlICphdHRyKiBvbiAqcGF0aCogdG8gKnZhbHVlKi4iKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK3Bvc2l4X3NldHhhdHRyKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeU9iamVjdCAqcGF0aCwgKm5hbWU7CisgICAgUHlfYnVmZmVyIGRhdGE7CisgICAgaW50IGZsYWdzID0gMCwgZXJyOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJPJk8meSp8aTpzZXR4YXR0ciIsIFB5VW5pY29kZV9GU0NvbnZlcnRlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgJnBhdGgsIFB5VW5pY29kZV9GU0NvbnZlcnRlciwgJm5hbWUsICZkYXRhLCAmZmxhZ3MpKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBQeV9CRUdJTl9BTExPV19USFJFQURTOworICAgIGVyciA9IHNldHhhdHRyKFB5Qnl0ZXNfQVNfU1RSSU5HKHBhdGgpLCBQeUJ5dGVzX0FTX1NUUklORyhuYW1lKSwKKyAgICAgICAgICAgICAgICAgICBkYXRhLmJ1ZiwgZGF0YS5sZW4sIGZsYWdzKTsKKyAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUzsKKyAgICBQeV9ERUNSRUYocGF0aCk7CisgICAgUHlfREVDUkVGKG5hbWUpOworICAgIFB5QnVmZmVyX1JlbGVhc2UoJmRhdGEpOworICAgIGlmIChlcnIpCisgICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOworICAgIFB5X1JFVFVSTl9OT05FOworfQorCitQeURvY19TVFJWQVIocG9zaXhfbHNldHhhdHRyX19kb2NfXywKKyJsc2V0eGF0dHIocGF0aCwgYXR0ciwgdmFsdWUsIGZsYWdzPTApXG5cblwKK0xpa2Ugc2V0eGF0dHIgYnV0IGRvbid0IGZvbGxvdyBzeW1saW5rcy4iKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK3Bvc2l4X2xzZXR4YXR0cihQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKnBhdGgsICpuYW1lOworICAgIFB5X2J1ZmZlciBkYXRhOworICAgIGludCBmbGFncyA9IDAsIGVycjsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiTyZPJnkqfGk6bHNldHhhdHRyIiwgUHlVbmljb2RlX0ZTQ29udmVydGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAmcGF0aCwgUHlVbmljb2RlX0ZTQ29udmVydGVyLCAmbmFtZSwgJmRhdGEsICZmbGFncykpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFM7CisgICAgZXJyID0gbHNldHhhdHRyKFB5Qnl0ZXNfQVNfU1RSSU5HKHBhdGgpLCBQeUJ5dGVzX0FTX1NUUklORyhuYW1lKSwKKyAgICAgICAgICAgICAgICAgICAgZGF0YS5idWYsIGRhdGEubGVuLCBmbGFncyk7CisgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFM7CisgICAgUHlfREVDUkVGKHBhdGgpOworICAgIFB5X0RFQ1JFRihuYW1lKTsKKyAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZkYXRhKTsKKyAgICBpZiAoZXJyKQorICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKKyAgICBQeV9SRVRVUk5fTk9ORTsKK30KKworUHlEb2NfU1RSVkFSKHBvc2l4X2ZzZXR4YXR0cl9fZG9jX18sCisiZnNldHhhdHRyKGZkLCBhdHRyLCB2YWx1ZSwgZmxhZ3M9MClcblxuXAorTGlrZSBzZXR4YXR0ciBidXQgb3BlcmF0ZXMgb24gKmZkKiBpbnN0ZWFkIG9mIGEgcGF0aC4iKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK3Bvc2l4X2ZzZXR4YXR0cihQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlfYnVmZmVyIGRhdGE7CisgICAgY29uc3QgY2hhciAqbmFtZTsKKyAgICBpbnQgZmQsIGZsYWdzID0gMCwgZXJyOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJpTyZ5KnxpOmZzZXR4YXR0ciIsICZmZCwgUHlVbmljb2RlX0ZTQ29udmVydGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAmbmFtZSwgJmRhdGEsICZmbGFncykpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFM7CisgICAgZXJyID0gZnNldHhhdHRyKGZkLCBQeUJ5dGVzX0FTX1NUUklORyhuYW1lKSwgZGF0YS5idWYsIGRhdGEubGVuLCBmbGFncyk7CisgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFM7CisgICAgUHlfREVDUkVGKG5hbWUpOworICAgIFB5QnVmZmVyX1JlbGVhc2UoJmRhdGEpOworICAgIGlmIChlcnIpCisgICAgICAgIHJldHVybiBwb3NpeF9lcnJvcigpOworICAgIFB5X1JFVFVSTl9OT05FOworfQorCitQeURvY19TVFJWQVIocG9zaXhfcmVtb3ZleGF0dHJfX2RvY19fLAorInJlbW92ZXhhdHRyKHBhdGgsIGF0dHIpXG5cblwKK1JlbW92ZSBleHRlbmRlZCBhdHRyaWJ1dGUgKmF0dHIqIG9uICpwYXRoKi4iKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK3Bvc2l4X3JlbW92ZXhhdHRyKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeU9iamVjdCAqcGF0aCwgKm5hbWU7CisgICAgaW50IGVycjsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiTyZPJjpyZW1vdmV4YXR0ciIsIFB5VW5pY29kZV9GU0NvbnZlcnRlciwgJnBhdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9GU0NvbnZlcnRlciwgJm5hbWUpKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBQeV9CRUdJTl9BTExPV19USFJFQURTOworICAgIGVyciA9IHJlbW92ZXhhdHRyKFB5Qnl0ZXNfQVNfU1RSSU5HKHBhdGgpLCBQeUJ5dGVzX0FTX1NUUklORyhuYW1lKSk7CisgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFM7CisgICAgUHlfREVDUkVGKHBhdGgpOworICAgIFB5X0RFQ1JFRihuYW1lKTsKKyAgICBpZiAoZXJyKQorICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKKyAgICBQeV9SRVRVUk5fTk9ORTsKK30KKworUHlEb2NfU1RSVkFSKHBvc2l4X2xyZW1vdmV4YXR0cl9fZG9jX18sCisibHJlbW92ZXhhdHRyKHBhdGgsIGF0dHIpXG5cblwKK0xpa2UgcmVtb3ZleGF0dHIgYnV0IGRvbid0IGZvbGxvdyBzeW1saW5rcy4iKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK3Bvc2l4X2xyZW1vdmV4YXR0cihQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKnBhdGgsICpuYW1lOworICAgIGludCBlcnI7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIk8mTyY6bHJlbW92ZXhhdHRyIiwgUHlVbmljb2RlX0ZTQ29udmVydGVyLCAmcGF0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0ZTQ29udmVydGVyLCAmbmFtZSkpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFM7CisgICAgZXJyID0gbHJlbW92ZXhhdHRyKFB5Qnl0ZXNfQVNfU1RSSU5HKHBhdGgpLCBQeUJ5dGVzX0FTX1NUUklORyhuYW1lKSk7CisgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFM7CisgICAgUHlfREVDUkVGKHBhdGgpOworICAgIFB5X0RFQ1JFRihuYW1lKTsKKyAgICBpZiAoZXJyKQorICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKKyAgICBQeV9SRVRVUk5fTk9ORTsKK30KKworUHlEb2NfU1RSVkFSKHBvc2l4X2ZyZW1vdmV4YXR0cl9fZG9jX18sCisiZnJlbW92ZXhhdHRyKGZkLCBhdHRyKVxuXG5cCitMaWtlIHJlbW92ZXhhdHRyIGJ1dCBvcGVyYXRlcyBvbiBhIGZpbGUgZGVzY3JpcHRvci4iKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK3Bvc2l4X2ZyZW1vdmV4YXR0cihQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKm5hbWU7CisgICAgaW50IGZkLCBlcnI7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgImlPJjpmcmVtb3ZleGF0dHIiLCAmZmQsCisgICAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9GU0NvbnZlcnRlciwgJm5hbWUpKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBQeV9CRUdJTl9BTExPV19USFJFQURTOworICAgIGVyciA9IGZyZW1vdmV4YXR0cihmZCwgUHlCeXRlc19BU19TVFJJTkcobmFtZSkpOworICAgIFB5X0VORF9BTExPV19USFJFQURTOworICAgIFB5X0RFQ1JFRihuYW1lKTsKKyAgICBpZiAoZXJyKQorICAgICAgICByZXR1cm4gcG9zaXhfZXJyb3IoKTsKKyAgICBQeV9SRVRVUk5fTk9ORTsKK30KKworc3RhdGljIFB5X3NzaXplX3QKK3RyeV9saXN0eGF0dHIoY29uc3QgY2hhciAqcGF0aCwgc3NpemVfdCAoKmxpc3QpKGNvbnN0IGNoYXIgKiwgY2hhciAqLCBzaXplX3QpLAorICAgICAgICAgICAgICBQeV9zc2l6ZV90IGJ1Zl9zaXplLCBjaGFyICoqYnVmKQoreworICAgIFB5X3NzaXplX3QgbGVuOworCisgICAgKmJ1ZiA9IFB5TWVtX01BTExPQyhidWZfc2l6ZSk7CisgICAgaWYgKCEqYnVmKSB7CisgICAgICAgIFB5RXJyX05vTWVtb3J5KCk7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUzsKKyAgICBsZW4gPSBsaXN0KHBhdGgsICpidWYsIGJ1Zl9zaXplKTsKKyAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUzsKKyAgICBpZiAobGVuIDwgMCkgeworICAgICAgICBQeU1lbV9GUkVFKCpidWYpOworICAgICAgICBpZiAoZXJybm8gIT0gRVJBTkdFKQorICAgICAgICAgICAgcG9zaXhfZXJyb3IoKTsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKyAgICByZXR1cm4gbGVuOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorbGlzdHhhdHRyX2NvbW1vbihjb25zdCBjaGFyICpwYXRoLCBzc2l6ZV90ICgqbGlzdCkoY29uc3QgY2hhciAqLCBjaGFyICosIHNpemVfdCkpCit7CisgICAgUHlPYmplY3QgKnJlcywgKmF0dHI7CisgICAgUHlfc3NpemVfdCBsZW4sIGVyciwgc3RhcnQsIGk7CisgICAgY2hhciAqYnVmOworCisgICAgbGVuID0gdHJ5X2xpc3R4YXR0cihwYXRoLCBsaXN0LCAyNTYsICZidWYpOworICAgIGlmIChsZW4gPCAwKSB7CisgICAgICAgIGlmIChQeUVycl9PY2N1cnJlZCgpKQorICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIGxlbiA9IHRyeV9saXN0eGF0dHIocGF0aCwgbGlzdCwgWEFUVFJfTElTVF9NQVgsICZidWYpOworICAgICAgICBpZiAobGVuIDwgMCkKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKyAgICByZXMgPSBQeUxpc3RfTmV3KDApOworICAgIGlmICghcmVzKSB7CisgICAgICAgIFB5TWVtX0ZSRUUoYnVmKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorICAgIGZvciAoc3RhcnQgPSBpID0gMDsgaSA8IGxlbjsgaSsrKSB7CisgICAgICAgIGlmICghYnVmW2ldKSB7CisgICAgICAgICAgICBhdHRyID0gUHlVbmljb2RlX0RlY29kZUZTRGVmYXVsdEFuZFNpemUoJmJ1ZltzdGFydF0sIGkgLSBzdGFydCk7CisgICAgICAgICAgICBpZiAoIWF0dHIpIHsKKyAgICAgICAgICAgICAgICBQeV9ERUNSRUYocmVzKTsKKyAgICAgICAgICAgICAgICBQeU1lbV9GUkVFKGJ1Zik7CisgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBlcnIgPSBQeUxpc3RfQXBwZW5kKHJlcywgYXR0cik7CisgICAgICAgICAgICBQeV9ERUNSRUYoYXR0cik7CisgICAgICAgICAgICBpZiAoZXJyKSB7CisgICAgICAgICAgICAgICAgUHlfREVDUkVGKHJlcyk7CisgICAgICAgICAgICAgICAgUHlNZW1fRlJFRShidWYpOworICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICAgICAgfQorICAgICAgICAgICAgc3RhcnQgPSBpICsgMTsKKyAgICAgICAgfQorICAgIH0KKyAgICBQeU1lbV9GUkVFKGJ1Zik7CisgICAgcmV0dXJuIHJlczsKK30KKworUHlEb2NfU1RSVkFSKHBvc2l4X2xpc3R4YXR0cl9fZG9jX18sCisibGlzdHhhdHRyKHBhdGgpXG5cblwKK1JldHVybiBhIGxpc3Qgb2YgZXh0ZW5kZWQgYXR0cmlidXRlcyBvbiAqcGF0aCouIik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitwb3NpeF9saXN0eGF0dHIoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpwYXRoLCAqcmVzOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJPJjpsaXN0eGF0dHIiLCBQeVVuaWNvZGVfRlNDb252ZXJ0ZXIsICZwYXRoKSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgcmVzID0gbGlzdHhhdHRyX2NvbW1vbihQeUJ5dGVzX0FTX1NUUklORyhwYXRoKSwgbGlzdHhhdHRyKTsKKyAgICBQeV9ERUNSRUYocGF0aCk7CisgICAgcmV0dXJuIHJlczsKK30KKworUHlEb2NfU1RSVkFSKHBvc2l4X2xsaXN0eGF0dHJfX2RvY19fLAorImxsaXN0eGF0dHIocGF0aClcblxuXAorTGlrZSBsaXN0eGF0dHIgYnV0IGRvbid0IGZvbGxvdyBzeW1saW5rcy4uIik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitwb3NpeF9sbGlzdHhhdHRyKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeU9iamVjdCAqcGF0aCwgKnJlczsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiTyY6bGxpc3R4YXR0ciIsIFB5VW5pY29kZV9GU0NvbnZlcnRlciwgJnBhdGgpKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICByZXMgPSBsaXN0eGF0dHJfY29tbW9uKFB5Qnl0ZXNfQVNfU1RSSU5HKHBhdGgpLCBsbGlzdHhhdHRyKTsKKyAgICBQeV9ERUNSRUYocGF0aCk7CisgICAgcmV0dXJuIHJlczsKK30KKworc3RhdGljIHNzaXplX3QKK3dyYXBfZmxpc3R4YXR0cihjb25zdCBjaGFyICpwYXRoLCBjaGFyICpidWYsIHNpemVfdCBsZW4pCit7CisgICAgLyogSGFjayB0byBzaGFyZSBjb2RlLiAqLworICAgIHJldHVybiBmbGlzdHhhdHRyKChpbnQpKFB5X3VpbnRwdHJfdClwYXRoLCBidWYsIGxlbik7Cit9CisKK1B5RG9jX1NUUlZBUihwb3NpeF9mbGlzdHhhdHRyX19kb2NfXywKKyJmbGlzdHhhdHRyKHBhdGgpXG5cblwKK0xpa2UgZmxpc3R4YXR0ciBidXQgb3BlcmF0ZXMgb24gYSBmaWxlIGRlc2NyaXB0b3IuIik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitwb3NpeF9mbGlzdHhhdHRyKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBsb25nIGZkOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJpOmZsaXN0eGF0dHIiLCAmZmQpKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICByZXR1cm4gbGlzdHhhdHRyX2NvbW1vbigoY29uc3QgY2hhciAqKShQeV91aW50cHRyX3QpZmQsIHdyYXBfZmxpc3R4YXR0cik7Cit9CisKKyNlbmRpZiAvKiBVU0VfWEFUVFJTICovCisKKworUHlEb2NfU1RSVkFSKHBvc2l4X3VyYW5kb21fX2RvY19fLAorInVyYW5kb20obikgLT4gc3RyXG5cblwKK1JldHVybiBuIHJhbmRvbSBieXRlcyBzdWl0YWJsZSBmb3IgY3J5cHRvZ3JhcGhpYyB1c2UuIik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitwb3NpeF91cmFuZG9tKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeV9zc2l6ZV90IHNpemU7CisgICAgUHlPYmplY3QgKnJlc3VsdDsKKyAgICBpbnQgcmV0OworCisgICAgIC8qIFJlYWQgYXJndW1lbnRzICovCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJuOnVyYW5kb20iLCAmc2l6ZSkpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIGlmIChzaXplIDwgMCkKKyAgICAgICAgcmV0dXJuIFB5RXJyX0Zvcm1hdChQeUV4Y19WYWx1ZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuZWdhdGl2ZSBhcmd1bWVudCBub3QgYWxsb3dlZCIpOworICAgIHJlc3VsdCA9IFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUoTlVMTCwgc2l6ZSk7CisgICAgaWYgKHJlc3VsdCA9PSBOVUxMKQorICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIHJldCA9IF9QeU9TX1VSYW5kb20oUHlCeXRlc19BU19TVFJJTkcocmVzdWx0KSwKKyAgICAgICAgICAgICAgICAgICAgICAgIFB5Qnl0ZXNfR0VUX1NJWkUocmVzdWx0KSk7CisgICAgaWYgKHJldCA9PSAtMSkgeworICAgICAgICBQeV9ERUNSRUYocmVzdWx0KTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorICAgIHJldHVybiByZXN1bHQ7Cit9CisKKy8qIFRlcm1pbmFsIHNpemUgcXVlcnlpbmcgKi8KKworc3RhdGljIFB5VHlwZU9iamVjdCBUZXJtaW5hbFNpemVUeXBlOworCitQeURvY19TVFJWQVIoVGVybWluYWxTaXplX2RvY3N0cmluZywKKyAgICAiQSB0dXBsZSBvZiAoY29sdW1ucywgbGluZXMpIGZvciBob2xkaW5nIHRlcm1pbmFsIHdpbmRvdyBzaXplIik7CisKK3N0YXRpYyBQeVN0cnVjdFNlcXVlbmNlX0ZpZWxkIFRlcm1pbmFsU2l6ZV9maWVsZHNbXSA9IHsKKyAgICB7ImNvbHVtbnMiLCAid2lkdGggb2YgdGhlIHRlcm1pbmFsIHdpbmRvdyBpbiBjaGFyYWN0ZXJzIn0sCisgICAgeyJsaW5lcyIsICJoZWlnaHQgb2YgdGhlIHRlcm1pbmFsIHdpbmRvdyBpbiBjaGFyYWN0ZXJzIn0sCisgICAge05VTEwsIE5VTEx9Cit9OworCitzdGF0aWMgUHlTdHJ1Y3RTZXF1ZW5jZV9EZXNjIFRlcm1pbmFsU2l6ZV9kZXNjID0geworICAgICJvcy50ZXJtaW5hbF9zaXplIiwKKyAgICBUZXJtaW5hbFNpemVfZG9jc3RyaW5nLAorICAgIFRlcm1pbmFsU2l6ZV9maWVsZHMsCisgICAgMiwKK307CisKKyNpZiBkZWZpbmVkKFRFUk1TSVpFX1VTRV9DT05JTykgfHwgZGVmaW5lZChURVJNU0laRV9VU0VfSU9DVEwpCitQeURvY19TVFJWQVIodGVybXNpemVfX2RvY19fLAorICAgICJSZXR1cm4gdGhlIHNpemUgb2YgdGhlIHRlcm1pbmFsIHdpbmRvdyBhcyAoY29sdW1ucywgbGluZXMpLlxuIiAgICAgICAgXAorICAgICJcbiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICJUaGUgb3B0aW9uYWwgYXJndW1lbnQgZmQgKGRlZmF1bHQgc3RhbmRhcmQgb3V0cHV0KSBzcGVjaWZpZXNcbiIgICAgICAgXAorICAgICJ3aGljaCBmaWxlIGRlc2NyaXB0b3Igc2hvdWxkIGJlIHF1ZXJpZWQuXG4iICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICJcbiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICJJZiB0aGUgZmlsZSBkZXNjcmlwdG9yIGlzIG5vdCBjb25uZWN0ZWQgdG8gYSB0ZXJtaW5hbCwgYW4gT1NFcnJvclxuIiAgXAorICAgICJpcyB0aHJvd24uXG4iICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICJcbiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICJUaGlzIGZ1bmN0aW9uIHdpbGwgb25seSBiZSBkZWZpbmVkIGlmIGFuIGltcGxlbWVudGF0aW9uIGlzXG4iICAgICAgICAgXAorICAgICJhdmFpbGFibGUgZm9yIHRoaXMgc3lzdGVtLlxuIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICJcbiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICJzaHV0aWwuZ2V0X3Rlcm1pbmFsX3NpemUgaXMgdGhlIGhpZ2gtbGV2ZWwgZnVuY3Rpb24gd2hpY2ggc2hvdWxkIFxuIiAgXAorICAgICJub3JtYWxseSBiZSB1c2VkLCBvcy5nZXRfdGVybWluYWxfc2l6ZSBpcyB0aGUgbG93LWxldmVsIGltcGxlbWVudGF0aW9uLiIpOworCitzdGF0aWMgUHlPYmplY3QqCitnZXRfdGVybWluYWxfc2l6ZShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgaW50IGNvbHVtbnMsIGxpbmVzOworICAgIFB5T2JqZWN0ICp0ZXJtc2l6ZTsKKworICAgIGludCBmZCA9IGZpbGVubyhzdGRvdXQpOworICAgIC8qIFVuZGVyIHNvbWUgY29uZGl0aW9ucyBzdGRvdXQgbWF5IG5vdCBiZSBjb25uZWN0ZWQgYW5kCisgICAgICogZmlsZW5vKHN0ZG91dCkgbWF5IHBvaW50IHRvIGFuIGludmFsaWQgZmlsZSBkZXNjcmlwdG9yLiBGb3IgZXhhbXBsZQorICAgICAqIEdVSSBhcHBzIGRvbid0IGhhdmUgdmFsaWQgc3RhbmRhcmQgc3RyZWFtcyBieSBkZWZhdWx0LgorICAgICAqCisgICAgICogSWYgdGhpcyBoYXBwZW5zLCBhbmQgdGhlIG9wdGlvbmFsIGZkIGFyZ3VtZW50IGlzIG5vdCBwcmVzZW50LAorICAgICAqIHRoZSBpb2N0bCBiZWxvdyB3aWxsIGZhaWwgcmV0dXJuaW5nIEVCQURGLiBUaGlzIGlzIHdoYXQgd2Ugd2FudC4KKyAgICAgKi8KKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAifGkiLCAmZmQpKQorICAgICAgICByZXR1cm4gTlVMTDsKKworI2lmZGVmIFRFUk1TSVpFX1VTRV9JT0NUTAorICAgIHsKKyAgICAgICAgc3RydWN0IHdpbnNpemUgdzsKKyAgICAgICAgaWYgKGlvY3RsKGZkLCBUSU9DR1dJTlNaLCAmdykpCisgICAgICAgICAgICByZXR1cm4gUHlFcnJfU2V0RnJvbUVycm5vKFB5RXhjX09TRXJyb3IpOworICAgICAgICBjb2x1bW5zID0gdy53c19jb2w7CisgICAgICAgIGxpbmVzID0gdy53c19yb3c7CisgICAgfQorI2VuZGlmIC8qIFRFUk1TSVpFX1VTRV9JT0NUTCAqLworCisjaWZkZWYgVEVSTVNJWkVfVVNFX0NPTklPCisgICAgeworICAgICAgICBEV09SRCBuaGFuZGxlOworICAgICAgICBIQU5ETEUgaGFuZGxlOworICAgICAgICBDT05TT0xFX1NDUkVFTl9CVUZGRVJfSU5GTyBjc2JpOworICAgICAgICBzd2l0Y2ggKGZkKSB7CisgICAgICAgIGNhc2UgMDogbmhhbmRsZSA9IFNURF9JTlBVVF9IQU5ETEU7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSAxOiBuaGFuZGxlID0gU1REX09VVFBVVF9IQU5ETEU7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSAyOiBuaGFuZGxlID0gU1REX0VSUk9SX0hBTkRMRTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgcmV0dXJuIFB5RXJyX0Zvcm1hdChQeUV4Y19WYWx1ZUVycm9yLCAiYmFkIGZpbGUgZGVzY3JpcHRvciIpOworICAgICAgICB9CisgICAgICAgIGhhbmRsZSA9IEdldFN0ZEhhbmRsZShuaGFuZGxlKTsKKyAgICAgICAgaWYgKGhhbmRsZSA9PSBOVUxMKQorICAgICAgICAgICAgcmV0dXJuIFB5RXJyX0Zvcm1hdChQeUV4Y19PU0Vycm9yLCAiaGFuZGxlIGNhbm5vdCBiZSByZXRyaWV2ZWQiKTsKKyAgICAgICAgaWYgKGhhbmRsZSA9PSBJTlZBTElEX0hBTkRMRV9WQUxVRSkKKyAgICAgICAgICAgIHJldHVybiBQeUVycl9TZXRGcm9tV2luZG93c0VycigwKTsKKworICAgICAgICBpZiAoIUdldENvbnNvbGVTY3JlZW5CdWZmZXJJbmZvKGhhbmRsZSwgJmNzYmkpKQorICAgICAgICAgICAgcmV0dXJuIFB5RXJyX1NldEZyb21XaW5kb3dzRXJyKDApOworCisgICAgICAgIGNvbHVtbnMgPSBjc2JpLnNyV2luZG93LlJpZ2h0IC0gY3NiaS5zcldpbmRvdy5MZWZ0ICsgMTsKKyAgICAgICAgbGluZXMgPSBjc2JpLnNyV2luZG93LkJvdHRvbSAtIGNzYmkuc3JXaW5kb3cuVG9wICsgMTsKKyAgICB9CisjZW5kaWYgLyogVEVSTVNJWkVfVVNFX0NPTklPICovCisKKyAgICB0ZXJtc2l6ZSA9IFB5U3RydWN0U2VxdWVuY2VfTmV3KCZUZXJtaW5hbFNpemVUeXBlKTsKKyAgICBpZiAodGVybXNpemUgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgUHlTdHJ1Y3RTZXF1ZW5jZV9TRVRfSVRFTSh0ZXJtc2l6ZSwgMCwgUHlMb25nX0Zyb21Mb25nKGNvbHVtbnMpKTsKKyAgICBQeVN0cnVjdFNlcXVlbmNlX1NFVF9JVEVNKHRlcm1zaXplLCAxLCBQeUxvbmdfRnJvbUxvbmcobGluZXMpKTsKKyAgICBpZiAoUHlFcnJfT2NjdXJyZWQoKSkgeworICAgICAgICBQeV9ERUNSRUYodGVybXNpemUpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisgICAgcmV0dXJuIHRlcm1zaXplOworfQorI2VuZGlmIC8qIGRlZmluZWQoVEVSTVNJWkVfVVNFX0NPTklPKSB8fCBkZWZpbmVkKFRFUk1TSVpFX1VTRV9JT0NUTCkgKi8KKworCiBzdGF0aWMgUHlNZXRob2REZWYgcG9zaXhfbWV0aG9kc1tdID0gewogICAgIHsiYWNjZXNzIiwgICAgICAgICAgcG9zaXhfYWNjZXNzLCBNRVRIX1ZBUkFSR1MsIHBvc2l4X2FjY2Vzc19fZG9jX199LAogI2lmZGVmIEhBVkVfVFRZTkFNRQpAQCAtNzgwMSwxMSArMTA1NTAsMjAgQEAKICAgICB7ImxpbmsiLCAgICAgICAgICAgIHBvc2l4X2xpbmssIE1FVEhfVkFSQVJHUywgcG9zaXhfbGlua19fZG9jX199LAogI2VuZGlmIC8qIEhBVkVfTElOSyAqLwogICAgIHsibGlzdGRpciIsICAgICAgICAgcG9zaXhfbGlzdGRpciwgTUVUSF9WQVJBUkdTLCBwb3NpeF9saXN0ZGlyX19kb2NfX30sCisjaWZkZWYgSEFWRV9GRE9QRU5ESVIKKyAgICB7ImZsaXN0ZGlyIiwgICAgICAgcG9zaXhfZmxpc3RkaXIsIE1FVEhfVkFSQVJHUywgcG9zaXhfZmxpc3RkaXJfX2RvY19ffSwKKyNlbmRpZgogICAgIHsibHN0YXQiLCAgICAgICAgICAgcG9zaXhfbHN0YXQsIE1FVEhfVkFSQVJHUywgcG9zaXhfbHN0YXRfX2RvY19ffSwKICAgICB7Im1rZGlyIiwgICAgICAgICAgIHBvc2l4X21rZGlyLCBNRVRIX1ZBUkFSR1MsIHBvc2l4X21rZGlyX19kb2NfX30sCiAjaWZkZWYgSEFWRV9OSUNFCiAgICAgeyJuaWNlIiwgICAgICAgICAgICBwb3NpeF9uaWNlLCBNRVRIX1ZBUkFSR1MsIHBvc2l4X25pY2VfX2RvY19ffSwKICNlbmRpZiAvKiBIQVZFX05JQ0UgKi8KKyNpZmRlZiBIQVZFX0dFVFBSSU9SSVRZCisgICAgeyJnZXRwcmlvcml0eSIsICAgICBwb3NpeF9nZXRwcmlvcml0eSwgTUVUSF9WQVJBUkdTLCBwb3NpeF9nZXRwcmlvcml0eV9fZG9jX199LAorI2VuZGlmIC8qIEhBVkVfR0VUUFJJT1JJVFkgKi8KKyNpZmRlZiBIQVZFX1NFVFBSSU9SSVRZCisgICAgeyJzZXRwcmlvcml0eSIsICAgICBwb3NpeF9zZXRwcmlvcml0eSwgTUVUSF9WQVJBUkdTLCBwb3NpeF9zZXRwcmlvcml0eV9fZG9jX199LAorI2VuZGlmIC8qIEhBVkVfU0VUUFJJT1JJVFkgKi8KICNpZmRlZiBIQVZFX1JFQURMSU5LCiAgICAgeyJyZWFkbGluayIsICAgICAgICBwb3NpeF9yZWFkbGluaywgTUVUSF9WQVJBUkdTLCBwb3NpeF9yZWFkbGlua19fZG9jX199LAogI2VuZGlmIC8qIEhBVkVfUkVBRExJTksgKi8KQEAgLTc4MTMsNiArMTA1NzEsNyBAQAogICAgIHsicmVhZGxpbmsiLCAgICAgICAgd2luX3JlYWRsaW5rLCBNRVRIX1ZBUkFSR1MsIHdpbl9yZWFkbGlua19fZG9jX199LAogI2VuZGlmIC8qICFkZWZpbmVkKEhBVkVfUkVBRExJTkspICYmIGRlZmluZWQoTVNfV0lORE9XUykgKi8KICAgICB7InJlbmFtZSIsICAgICAgICAgIHBvc2l4X3JlbmFtZSwgTUVUSF9WQVJBUkdTLCBwb3NpeF9yZW5hbWVfX2RvY19ffSwKKyAgICB7InJlcGxhY2UiLCAgICAgICAgIHBvc2l4X3JlcGxhY2UsIE1FVEhfVkFSQVJHUywgcG9zaXhfcmVwbGFjZV9fZG9jX199LAogICAgIHsicm1kaXIiLCAgICAgICAgICAgcG9zaXhfcm1kaXIsIE1FVEhfVkFSQVJHUywgcG9zaXhfcm1kaXJfX2RvY19ffSwKICAgICB7InN0YXQiLCAgICAgICAgICAgIHBvc2l4X3N0YXQsIE1FVEhfVkFSQVJHUywgcG9zaXhfc3RhdF9fZG9jX199LAogICAgIHsic3RhdF9mbG9hdF90aW1lcyIsIHN0YXRfZmxvYXRfdGltZXMsIE1FVEhfVkFSQVJHUywgc3RhdF9mbG9hdF90aW1lc19fZG9jX199LApAQCAtNzgzMyw2ICsxMDU5MiwxNSBAQAogICAgIHsidW5saW5rIiwgICAgICAgICAgcG9zaXhfdW5saW5rLCBNRVRIX1ZBUkFSR1MsIHBvc2l4X3VubGlua19fZG9jX199LAogICAgIHsicmVtb3ZlIiwgICAgICAgICAgcG9zaXhfdW5saW5rLCBNRVRIX1ZBUkFSR1MsIHBvc2l4X3JlbW92ZV9fZG9jX199LAogICAgIHsidXRpbWUiLCAgICAgICAgICAgcG9zaXhfdXRpbWUsIE1FVEhfVkFSQVJHUywgcG9zaXhfdXRpbWVfX2RvY19ffSwKKyNpZmRlZiBIQVZFX0ZVVElNRVMKKyAgICB7ImZ1dGltZXMiLCAgICAgICAgIHBvc2l4X2Z1dGltZXMsIE1FVEhfVkFSQVJHUywgcG9zaXhfZnV0aW1lc19fZG9jX199LAorI2VuZGlmCisjaWZkZWYgSEFWRV9MVVRJTUVTCisgICAgeyJsdXRpbWVzIiwgICAgICAgICBwb3NpeF9sdXRpbWVzLCBNRVRIX1ZBUkFSR1MsIHBvc2l4X2x1dGltZXNfX2RvY19ffSwKKyNlbmRpZgorI2lmZGVmIEhBVkVfRlVUSU1FTlMKKyAgICB7ImZ1dGltZW5zIiwgICAgICAgIHBvc2l4X2Z1dGltZW5zLCBNRVRIX1ZBUkFSR1MsIHBvc2l4X2Z1dGltZW5zX19kb2NfX30sCisjZW5kaWYKICNpZmRlZiBIQVZFX1RJTUVTCiAgICAgeyJ0aW1lcyIsICAgICAgICAgICBwb3NpeF90aW1lcywgTUVUSF9OT0FSR1MsIHBvc2l4X3RpbWVzX19kb2NfX30sCiAjZW5kaWYgLyogSEFWRV9USU1FUyAqLwpAQCAtNzg0MSw2ICsxMDYwOSw5IEBACiAgICAgeyJleGVjdiIsICAgICAgICAgICBwb3NpeF9leGVjdiwgTUVUSF9WQVJBUkdTLCBwb3NpeF9leGVjdl9fZG9jX199LAogICAgIHsiZXhlY3ZlIiwgICAgICAgICAgcG9zaXhfZXhlY3ZlLCBNRVRIX1ZBUkFSR1MsIHBvc2l4X2V4ZWN2ZV9fZG9jX199LAogI2VuZGlmIC8qIEhBVkVfRVhFQ1YgKi8KKyNpZmRlZiBIQVZFX0ZFWEVDVkUKKyAgICB7ImZleGVjdmUiLCAgICAgICAgICBwb3NpeF9mZXhlY3ZlLCBNRVRIX1ZBUkFSR1MsIHBvc2l4X2ZleGVjdmVfX2RvY19ffSwKKyNlbmRpZgogI2lmZGVmIEhBVkVfU1BBV05WCiAgICAgeyJzcGF3bnYiLCAgICAgICAgICBwb3NpeF9zcGF3bnYsIE1FVEhfVkFSQVJHUywgcG9zaXhfc3Bhd252X19kb2NfX30sCiAgICAgeyJzcGF3bnZlIiwgICAgICAgICBwb3NpeF9zcGF3bnZlLCBNRVRIX1ZBUkFSR1MsIHBvc2l4X3NwYXdudmVfX2RvY19ffSwKQEAgLTc4NTUsNiArMTA2MjYsMzIgQEAKICNpZmRlZiBIQVZFX0ZPUksKICAgICB7ImZvcmsiLCAgICAgICAgICAgIHBvc2l4X2ZvcmssIE1FVEhfTk9BUkdTLCBwb3NpeF9mb3JrX19kb2NfX30sCiAjZW5kaWYgLyogSEFWRV9GT1JLICovCisjaWZkZWYgSEFWRV9TQ0hFRF9ICisjaWZkZWYgSEFWRV9TQ0hFRF9HRVRfUFJJT1JJVFlfTUFYCisgICAgeyJzY2hlZF9nZXRfcHJpb3JpdHlfbWF4IiwgcG9zaXhfc2NoZWRfZ2V0X3ByaW9yaXR5X21heCwgTUVUSF9WQVJBUkdTLCBwb3NpeF9zY2hlZF9nZXRfcHJpb3JpdHlfbWF4X19kb2NfX30sCisgICAgeyJzY2hlZF9nZXRfcHJpb3JpdHlfbWluIiwgcG9zaXhfc2NoZWRfZ2V0X3ByaW9yaXR5X21pbiwgTUVUSF9WQVJBUkdTLCBwb3NpeF9zY2hlZF9nZXRfcHJpb3JpdHlfbWluX19kb2NfX30sCisjZW5kaWYKKyNpZmRlZiBIQVZFX1NDSEVEX1NFVFBBUkFNCisgICAgeyJzY2hlZF9nZXRwYXJhbSIsIHBvc2l4X3NjaGVkX2dldHBhcmFtLCBNRVRIX1ZBUkFSR1MsIHBvc2l4X3NjaGVkX2dldHBhcmFtX19kb2NfX30sCisjZW5kaWYKKyNpZmRlZiBIQVZFX1NDSEVEX1NFVFNDSEVEVUxFUgorICAgIHsic2NoZWRfZ2V0c2NoZWR1bGVyIiwgcG9zaXhfc2NoZWRfZ2V0c2NoZWR1bGVyLCBNRVRIX1ZBUkFSR1MsIHBvc2l4X3NjaGVkX2dldHNjaGVkdWxlcl9fZG9jX199LAorI2VuZGlmCisjaWZkZWYgSEFWRV9TQ0hFRF9SUl9HRVRfSU5URVJWQUwKKyAgICB7InNjaGVkX3JyX2dldF9pbnRlcnZhbCIsIHBvc2l4X3NjaGVkX3JyX2dldF9pbnRlcnZhbCwgTUVUSF9WQVJBUkdTLCBwb3NpeF9zY2hlZF9ycl9nZXRfaW50ZXJ2YWxfX2RvY19ffSwKKyNlbmRpZgorI2lmZGVmIEhBVkVfU0NIRURfU0VUUEFSQU0KKyAgICB7InNjaGVkX3NldHBhcmFtIiwgcG9zaXhfc2NoZWRfc2V0cGFyYW0sIE1FVEhfVkFSQVJHUywgcG9zaXhfc2NoZWRfc2V0cGFyYW1fX2RvY19ffSwKKyNlbmRpZgorI2lmZGVmIEhBVkVfU0NIRURfU0VUU0NIRURVTEVSCisgICAgeyJzY2hlZF9zZXRzY2hlZHVsZXIiLCBwb3NpeF9zY2hlZF9zZXRzY2hlZHVsZXIsIE1FVEhfVkFSQVJHUywgcG9zaXhfc2NoZWRfc2V0c2NoZWR1bGVyX19kb2NfX30sCisjZW5kaWYKKyAgICB7InNjaGVkX3lpZWxkIiwgICAgIHBvc2l4X3NjaGVkX3lpZWxkLCBNRVRIX05PQVJHUywgcG9zaXhfc2NoZWRfeWllbGRfX2RvY19ffSwKKyNpZmRlZiBIQVZFX1NDSEVEX1NFVEFGRklOSVRZCisgICAgeyJzY2hlZF9zZXRhZmZpbml0eSIsIHBvc2l4X3NjaGVkX3NldGFmZmluaXR5LCBNRVRIX1ZBUkFSR1MsIHBvc2l4X3NjaGVkX3NldGFmZmluaXR5X19kb2NfX30sCisgICAgeyJzY2hlZF9nZXRhZmZpbml0eSIsIHBvc2l4X3NjaGVkX2dldGFmZmluaXR5LCBNRVRIX1ZBUkFSR1MsIHBvc2l4X3NjaGVkX2dldGFmZmluaXR5X19kb2NfX30sCisjZW5kaWYKKyNlbmRpZiAvKiBIQVZFX1NDSEVEX0ggKi8KICNpZiBkZWZpbmVkKEhBVkVfT1BFTlBUWSkgfHwgZGVmaW5lZChIQVZFX19HRVRQVFkpIHx8IGRlZmluZWQoSEFWRV9ERVZfUFRNWCkKICAgICB7Im9wZW5wdHkiLCAgICAgICAgIHBvc2l4X29wZW5wdHksIE1FVEhfTk9BUkdTLCBwb3NpeF9vcGVucHR5X19kb2NfX30sCiAjZW5kaWYgLyogSEFWRV9PUEVOUFRZIHx8IEhBVkVfX0dFVFBUWSB8fCBIQVZFX0RFVl9QVE1YICovCkBAIC03ODcwLDYgKzEwNjY3LDkgQEAKICNpZmRlZiBIQVZFX0dFVEdJRAogICAgIHsiZ2V0Z2lkIiwgICAgICAgICAgcG9zaXhfZ2V0Z2lkLCBNRVRIX05PQVJHUywgcG9zaXhfZ2V0Z2lkX19kb2NfX30sCiAjZW5kaWYgLyogSEFWRV9HRVRHSUQgKi8KKyNpZmRlZiBIQVZFX0dFVEdST1VQTElTVAorICAgIHsiZ2V0Z3JvdXBsaXN0IiwgICAgcG9zaXhfZ2V0Z3JvdXBsaXN0LCBNRVRIX1ZBUkFSR1MsIHBvc2l4X2dldGdyb3VwbGlzdF9fZG9jX199LAorI2VuZGlmCiAjaWZkZWYgSEFWRV9HRVRHUk9VUFMKICAgICB7ImdldGdyb3VwcyIsICAgICAgIHBvc2l4X2dldGdyb3VwcywgTUVUSF9OT0FSR1MsIHBvc2l4X2dldGdyb3Vwc19fZG9jX199LAogI2VuZGlmCkBAIC03OTM5LDYgKzEwNzM5LDkgQEAKICNpZmRlZiBIQVZFX1dBSVQ0CiAgICAgeyJ3YWl0NCIsICAgICAgICAgICBwb3NpeF93YWl0NCwgTUVUSF9WQVJBUkdTLCBwb3NpeF93YWl0NF9fZG9jX199LAogI2VuZGlmIC8qIEhBVkVfV0FJVDQgKi8KKyNpZiBkZWZpbmVkKEhBVkVfV0FJVElEKSAmJiAhZGVmaW5lZChfX0FQUExFX18pCisgICAgeyJ3YWl0aWQiLCAgICAgICAgICBwb3NpeF93YWl0aWQsIE1FVEhfVkFSQVJHUywgcG9zaXhfd2FpdGlkX19kb2NfX30sCisjZW5kaWYKICNpZiBkZWZpbmVkKEhBVkVfV0FJVFBJRCkgfHwgZGVmaW5lZChIQVZFX0NXQUlUKQogICAgIHsid2FpdHBpZCIsICAgICAgICAgcG9zaXhfd2FpdHBpZCwgTUVUSF9WQVJBUkdTLCBwb3NpeF93YWl0cGlkX19kb2NfX30sCiAjZW5kaWYgLyogSEFWRV9XQUlUUElEICovCkBAIC03OTYzLDE0ICsxMDc2NiwzNiBAQAogICAgIHsiZGV2aWNlX2VuY29kaW5nIiwgZGV2aWNlX2VuY29kaW5nLCBNRVRIX1ZBUkFSR1MsIGRldmljZV9lbmNvZGluZ19fZG9jX199LAogICAgIHsiZHVwIiwgICAgICAgICAgICAgcG9zaXhfZHVwLCBNRVRIX1ZBUkFSR1MsIHBvc2l4X2R1cF9fZG9jX199LAogICAgIHsiZHVwMiIsICAgICAgICAgICAgcG9zaXhfZHVwMiwgTUVUSF9WQVJBUkdTLCBwb3NpeF9kdXAyX19kb2NfX30sCisjaWZkZWYgSEFWRV9MT0NLRgorICAgIHsibG9ja2YiLCAgICAgICAgICAgcG9zaXhfbG9ja2YsIE1FVEhfVkFSQVJHUywgcG9zaXhfbG9ja2ZfX2RvY19ffSwKKyNlbmRpZgogICAgIHsibHNlZWsiLCAgICAgICAgICAgcG9zaXhfbHNlZWssIE1FVEhfVkFSQVJHUywgcG9zaXhfbHNlZWtfX2RvY19ffSwKICAgICB7InJlYWQiLCAgICAgICAgICAgIHBvc2l4X3JlYWQsIE1FVEhfVkFSQVJHUywgcG9zaXhfcmVhZF9fZG9jX199LAorI2lmZGVmIEhBVkVfUkVBRFYKKyAgICB7InJlYWR2IiwgICAgICAgICAgIHBvc2l4X3JlYWR2LCBNRVRIX1ZBUkFSR1MsIHBvc2l4X3JlYWR2X19kb2NfX30sCisjZW5kaWYKKyNpZmRlZiBIQVZFX1BSRUFECisgICAgeyJwcmVhZCIsICAgICAgICAgICBwb3NpeF9wcmVhZCwgTUVUSF9WQVJBUkdTLCBwb3NpeF9wcmVhZF9fZG9jX199LAorI2VuZGlmCiAgICAgeyJ3cml0ZSIsICAgICAgICAgICBwb3NpeF93cml0ZSwgTUVUSF9WQVJBUkdTLCBwb3NpeF93cml0ZV9fZG9jX199LAorI2lmZGVmIEhBVkVfV1JJVEVWCisgICAgeyJ3cml0ZXYiLCAgICAgICAgICBwb3NpeF93cml0ZXYsIE1FVEhfVkFSQVJHUywgcG9zaXhfd3JpdGV2X19kb2NfX30sCisjZW5kaWYKKyNpZmRlZiBIQVZFX1BXUklURQorICAgIHsicHdyaXRlIiwgICAgICAgICAgcG9zaXhfcHdyaXRlLCBNRVRIX1ZBUkFSR1MsIHBvc2l4X3B3cml0ZV9fZG9jX199LAorI2VuZGlmCisjaWZkZWYgSEFWRV9TRU5ERklMRQorICAgIHsic2VuZGZpbGUiLCAgICAgICAgKFB5Q0Z1bmN0aW9uKXBvc2l4X3NlbmRmaWxlLCBNRVRIX1ZBUkFSR1MgfCBNRVRIX0tFWVdPUkRTLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l4X3NlbmRmaWxlX19kb2NfX30sCisjZW5kaWYKICAgICB7ImZzdGF0IiwgICAgICAgICAgIHBvc2l4X2ZzdGF0LCBNRVRIX1ZBUkFSR1MsIHBvc2l4X2ZzdGF0X19kb2NfX30sCiAgICAgeyJpc2F0dHkiLCAgICAgICAgICBwb3NpeF9pc2F0dHksIE1FVEhfVkFSQVJHUywgcG9zaXhfaXNhdHR5X19kb2NfX30sCiAjaWZkZWYgSEFWRV9QSVBFCiAgICAgeyJwaXBlIiwgICAgICAgICAgICBwb3NpeF9waXBlLCBNRVRIX05PQVJHUywgcG9zaXhfcGlwZV9fZG9jX199LAogI2VuZGlmCisjaWZkZWYgSEFWRV9QSVBFMgorICAgIHsicGlwZTIiLCAgICAgICAgICAgcG9zaXhfcGlwZTIsIE1FVEhfTywgcG9zaXhfcGlwZTJfX2RvY19ffSwKKyNlbmRpZgogI2lmZGVmIEhBVkVfTUtGSUZPCiAgICAgeyJta2ZpZm8iLCAgICAgICAgICBwb3NpeF9ta2ZpZm8sIE1FVEhfVkFSQVJHUywgcG9zaXhfbWtmaWZvX19kb2NfX30sCiAjZW5kaWYKQEAgLTc5ODUsNiArMTA4MTAsMTUgQEAKICNpZmRlZiBIQVZFX0ZUUlVOQ0FURQogICAgIHsiZnRydW5jYXRlIiwgICAgICAgcG9zaXhfZnRydW5jYXRlLCBNRVRIX1ZBUkFSR1MsIHBvc2l4X2Z0cnVuY2F0ZV9fZG9jX199LAogI2VuZGlmCisjaWZkZWYgSEFWRV9UUlVOQ0FURQorICAgIHsidHJ1bmNhdGUiLCAgICAgICAgcG9zaXhfdHJ1bmNhdGUsIE1FVEhfVkFSQVJHUywgcG9zaXhfdHJ1bmNhdGVfX2RvY19ffSwKKyNlbmRpZgorI2lmZGVmIEhBVkVfUE9TSVhfRkFMTE9DQVRFCisgICAgeyJwb3NpeF9mYWxsb2NhdGUiLCBwb3NpeF9wb3NpeF9mYWxsb2NhdGUsIE1FVEhfVkFSQVJHUywgcG9zaXhfcG9zaXhfZmFsbG9jYXRlX19kb2NfX30sCisjZW5kaWYKKyNpZmRlZiBIQVZFX1BPU0lYX0ZBRFZJU0UKKyAgICB7InBvc2l4X2ZhZHZpc2UiLCAgIHBvc2l4X3Bvc2l4X2ZhZHZpc2UsIE1FVEhfVkFSQVJHUywgcG9zaXhfcG9zaXhfZmFkdmlzZV9fZG9jX199LAorI2VuZGlmCiAjaWZkZWYgSEFWRV9QVVRFTlYKICAgICB7InB1dGVudiIsICAgICAgICAgIHBvc2l4X3B1dGVudiwgTUVUSF9WQVJBUkdTLCBwb3NpeF9wdXRlbnZfX2RvY19ffSwKICNlbmRpZgpAQCAtNzk5OCw2ICsxMDgzMiw5IEBACiAjaWZkZWYgSEFWRV9GU1lOQwogICAgIHsiZnN5bmMiLCAgICAgICBwb3NpeF9mc3luYywgTUVUSF9PLCBwb3NpeF9mc3luY19fZG9jX199LAogI2VuZGlmCisjaWZkZWYgSEFWRV9TWU5DCisgICAgeyJzeW5jIiwgICAgICAgIHBvc2l4X3N5bmMsIE1FVEhfTk9BUkdTLCBwb3NpeF9zeW5jX19kb2NfX30sCisjZW5kaWYKICNpZmRlZiBIQVZFX0ZEQVRBU1lOQwogICAgIHsiZmRhdGFzeW5jIiwgICBwb3NpeF9mZGF0YXN5bmMsICBNRVRIX08sIHBvc2l4X2ZkYXRhc3luY19fZG9jX199LAogI2VuZGlmCkBAIC04MDUxLDYgKzEwODg4LDcgQEAKICAgICB7Il9nZXRmaW5hbHBhdGhuYW1lIiwgICAgICAgcG9zaXhfX2dldGZpbmFscGF0aG5hbWUsIE1FVEhfVkFSQVJHUywgTlVMTH0sCiAgICAgeyJfZ2V0ZmlsZWluZm9ybWF0aW9uIiwgICAgIHBvc2l4X19nZXRmaWxlaW5mb3JtYXRpb24sIE1FVEhfVkFSQVJHUywgTlVMTH0sCiAgICAgeyJfaXNkaXIiLCAgICAgICAgICAgICAgICAgIHBvc2l4X19pc2RpciwgTUVUSF9WQVJBUkdTLCBwb3NpeF9faXNkaXJfX2RvY19ffSwKKyAgICB7Il9nZXRkaXNrdXNhZ2UiLCAgICAgICAgICAgd2luMzJfX2dldGRpc2t1c2FnZSwgTUVUSF9WQVJBUkdTLCB3aW4zMl9fZ2V0ZGlza3VzYWdlX19kb2NfX30sCiAjZW5kaWYKICNpZmRlZiBIQVZFX0dFVExPQURBVkcKICAgICB7ImdldGxvYWRhdmciLCAgICAgIHBvc2l4X2dldGxvYWRhdmcsIE1FVEhfTk9BUkdTLCBwb3NpeF9nZXRsb2FkYXZnX19kb2NfX30sCkBAIC04MDY4LDYgKzEwOTA2LDcyIEBACiAjaWZkZWYgSEFWRV9HRVRSRVNHSUQKICAgICB7ImdldHJlc2dpZCIsICAgICAgIHBvc2l4X2dldHJlc2dpZCwgTUVUSF9OT0FSR1MsIHBvc2l4X2dldHJlc2dpZF9fZG9jX199LAogI2VuZGlmCisKKy8qIHBvc2l4ICphdCBmYW1pbHkgb2YgZnVuY3Rpb25zICovCisjaWZkZWYgSEFWRV9GQUNDRVNTQVQKKyAgICB7ImZhY2Nlc3NhdCIsICAgICAgIHBvc2l4X2ZhY2Nlc3NhdCwgTUVUSF9WQVJBUkdTLCBwb3NpeF9mYWNjZXNzYXRfX2RvY19ffSwKKyNlbmRpZgorI2lmZGVmIEhBVkVfRkNITU9EQVQKKyAgICB7ImZjaG1vZGF0IiwgICAgICAgIHBvc2l4X2ZjaG1vZGF0LCBNRVRIX1ZBUkFSR1MsIHBvc2l4X2ZjaG1vZGF0X19kb2NfX30sCisjZW5kaWYgLyogSEFWRV9GQ0hNT0RBVCAqLworI2lmZGVmIEhBVkVfRkNIT1dOQVQKKyAgICB7ImZjaG93bmF0IiwgICAgICAgIHBvc2l4X2ZjaG93bmF0LCBNRVRIX1ZBUkFSR1MsIHBvc2l4X2ZjaG93bmF0X19kb2NfX30sCisjZW5kaWYgLyogSEFWRV9GQ0hPV05BVCAqLworI2lmZGVmIEhBVkVfRlNUQVRBVAorICAgIHsiZnN0YXRhdCIsICAgICAgICAgcG9zaXhfZnN0YXRhdCwgTUVUSF9WQVJBUkdTLCBwb3NpeF9mc3RhdGF0X19kb2NfX30sCisjZW5kaWYKKyNpZmRlZiBIQVZFX0ZVVElNRVNBVAorICAgIHsiZnV0aW1lc2F0IiwgICAgICAgcG9zaXhfZnV0aW1lc2F0LCBNRVRIX1ZBUkFSR1MsIHBvc2l4X2Z1dGltZXNhdF9fZG9jX199LAorI2VuZGlmCisjaWZkZWYgSEFWRV9MSU5LQVQKKyAgICB7ImxpbmthdCIsICAgICAgICAgIHBvc2l4X2xpbmthdCwgTUVUSF9WQVJBUkdTLCBwb3NpeF9saW5rYXRfX2RvY19ffSwKKyNlbmRpZiAvKiBIQVZFX0xJTktBVCAqLworI2lmZGVmIEhBVkVfTUtESVJBVAorICAgIHsibWtkaXJhdCIsICAgICAgICAgcG9zaXhfbWtkaXJhdCwgTUVUSF9WQVJBUkdTLCBwb3NpeF9ta2RpcmF0X19kb2NfX30sCisjZW5kaWYKKyNpZiBkZWZpbmVkKEhBVkVfTUtOT0RBVCkgJiYgZGVmaW5lZChIQVZFX01BS0VERVYpCisgICAgeyJta25vZGF0IiwgICAgICAgICBwb3NpeF9ta25vZGF0LCBNRVRIX1ZBUkFSR1MsIHBvc2l4X21rbm9kYXRfX2RvY19ffSwKKyNlbmRpZgorI2lmZGVmIEhBVkVfT1BFTkFUCisgICAgeyJvcGVuYXQiLCAgICAgIHBvc2l4X29wZW5hdCwgTUVUSF9WQVJBUkdTLCBwb3NpeF9vcGVuYXRfX2RvY19ffSwKKyNlbmRpZgorI2lmZGVmIEhBVkVfUkVBRExJTktBVAorICAgIHsicmVhZGxpbmthdCIsICAgICAgcG9zaXhfcmVhZGxpbmthdCwgTUVUSF9WQVJBUkdTLCBwb3NpeF9yZWFkbGlua2F0X19kb2NfX30sCisjZW5kaWYgLyogSEFWRV9SRUFETElOS0FUICovCisjaWZkZWYgSEFWRV9SRU5BTUVBVAorICAgIHsicmVuYW1lYXQiLCAgICAgICAgcG9zaXhfcmVuYW1lYXQsIE1FVEhfVkFSQVJHUywgcG9zaXhfcmVuYW1lYXRfX2RvY19ffSwKKyNlbmRpZgorI2lmIEhBVkVfU1lNTElOS0FUCisgICAgeyJzeW1saW5rYXQiLCAgICAgICBwb3NpeF9zeW1saW5rYXQsIE1FVEhfVkFSQVJHUywgcG9zaXhfc3ltbGlua2F0X19kb2NfX30sCisjZW5kaWYgLyogSEFWRV9TWU1MSU5LQVQgKi8KKyNpZmRlZiBIQVZFX1VOTElOS0FUCisgICAgeyJ1bmxpbmthdCIsICAgICAgICBwb3NpeF91bmxpbmthdCwgTUVUSF9WQVJBUkdTLCBwb3NpeF91bmxpbmthdF9fZG9jX199LAorI2VuZGlmCisjaWZkZWYgSEFWRV9VVElNRU5TQVQKKyAgICB7InV0aW1lbnNhdCIsICAgICAgIChQeUNGdW5jdGlvbilwb3NpeF91dGltZW5zYXQsCisgICAgICAgICAgICAgICAgICAgICAgICBNRVRIX1ZBUkFSR1MgfCBNRVRIX0tFWVdPUkRTLAorICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXhfdXRpbWVuc2F0X19kb2NfX30sCisjZW5kaWYKKyNpZmRlZiBIQVZFX01LRklGT0FUCisgICAgeyJta2ZpZm9hdCIsICAgICAgICBwb3NpeF9ta2ZpZm9hdCwgTUVUSF9WQVJBUkdTLCBwb3NpeF9ta2ZpZm9hdF9fZG9jX199LAorI2VuZGlmCisjaWZkZWYgVVNFX1hBVFRSUworICAgIHsic2V0eGF0dHIiLCBwb3NpeF9zZXR4YXR0ciwgTUVUSF9WQVJBUkdTLCBwb3NpeF9zZXR4YXR0cl9fZG9jX199LAorICAgIHsibHNldHhhdHRyIiwgcG9zaXhfbHNldHhhdHRyLCBNRVRIX1ZBUkFSR1MsIHBvc2l4X2xzZXR4YXR0cl9fZG9jX199LAorICAgIHsiZnNldHhhdHRyIiwgcG9zaXhfZnNldHhhdHRyLCBNRVRIX1ZBUkFSR1MsIHBvc2l4X2ZzZXR4YXR0cl9fZG9jX199LAorICAgIHsiZ2V0eGF0dHIiLCBwb3NpeF9nZXR4YXR0ciwgTUVUSF9WQVJBUkdTLCBwb3NpeF9nZXR4YXR0cl9fZG9jX199LAorICAgIHsibGdldHhhdHRyIiwgcG9zaXhfbGdldHhhdHRyLCBNRVRIX1ZBUkFSR1MsIHBvc2l4X2xnZXR4YXR0cl9fZG9jX199LAorICAgIHsiZmdldHhhdHRyIiwgcG9zaXhfZmdldHhhdHRyLCBNRVRIX1ZBUkFSR1MsIHBvc2l4X2ZnZXR4YXR0cl9fZG9jX199LAorICAgIHsicmVtb3ZleGF0dHIiLCBwb3NpeF9yZW1vdmV4YXR0ciwgTUVUSF9WQVJBUkdTLCBwb3NpeF9yZW1vdmV4YXR0cl9fZG9jX199LAorICAgIHsibHJlbW92ZXhhdHRyIiwgcG9zaXhfbHJlbW92ZXhhdHRyLCBNRVRIX1ZBUkFSR1MsIHBvc2l4X2xyZW1vdmV4YXR0cl9fZG9jX199LAorICAgIHsiZnJlbW92ZXhhdHRyIiwgcG9zaXhfZnJlbW92ZXhhdHRyLCBNRVRIX1ZBUkFSR1MsIHBvc2l4X2ZyZW1vdmV4YXR0cl9fZG9jX199LAorICAgIHsibGlzdHhhdHRyIiwgcG9zaXhfbGlzdHhhdHRyLCBNRVRIX1ZBUkFSR1MsIHBvc2l4X2xpc3R4YXR0cl9fZG9jX199LAorICAgIHsibGxpc3R4YXR0ciIsIHBvc2l4X2xsaXN0eGF0dHIsIE1FVEhfVkFSQVJHUywgcG9zaXhfbGxpc3R4YXR0cl9fZG9jX199LAorICAgIHsiZmxpc3R4YXR0ciIsIHBvc2l4X2ZsaXN0eGF0dHIsIE1FVEhfVkFSQVJHUywgcG9zaXhfZmxpc3R4YXR0cl9fZG9jX199LAorI2VuZGlmCisjaWYgZGVmaW5lZChURVJNU0laRV9VU0VfQ09OSU8pIHx8IGRlZmluZWQoVEVSTVNJWkVfVVNFX0lPQ1RMKQorICAgIHsiZ2V0X3Rlcm1pbmFsX3NpemUiLCBnZXRfdGVybWluYWxfc2l6ZSwgTUVUSF9WQVJBUkdTLCB0ZXJtc2l6ZV9fZG9jX199LAorI2VuZGlmCiAgICAge05VTEwsICAgICAgICAgICAgICBOVUxMfSAgICAgICAgICAgIC8qIFNlbnRpbmVsICovCiB9OwogCkBAIC04MjQ0LDYgKzExMTQ4LDQxIEBACiAjaWZkZWYgT19FWExPQ0sKICAgICBpZiAoaW5zKGQsICJPX0VYTE9DSyIsIChsb25nKU9fRVhMT0NLKSkgcmV0dXJuIC0xOwogI2VuZGlmCisjaWZkZWYgUFJJT19QUk9DRVNTCisgICAgaWYgKGlucyhkLCAiUFJJT19QUk9DRVNTIiwgKGxvbmcpUFJJT19QUk9DRVNTKSkgcmV0dXJuIC0xOworI2VuZGlmCisjaWZkZWYgUFJJT19QR1JQCisgICAgaWYgKGlucyhkLCAiUFJJT19QR1JQIiwgKGxvbmcpUFJJT19QR1JQKSkgcmV0dXJuIC0xOworI2VuZGlmCisjaWZkZWYgUFJJT19VU0VSCisgICAgaWYgKGlucyhkLCAiUFJJT19VU0VSIiwgKGxvbmcpUFJJT19VU0VSKSkgcmV0dXJuIC0xOworI2VuZGlmCisjaWZkZWYgT19DTE9FWEVDCisgICAgaWYgKGlucyhkLCAiT19DTE9FWEVDIiwgKGxvbmcpT19DTE9FWEVDKSkgcmV0dXJuIC0xOworI2VuZGlmCisvKiBwb3NpeCAtIGNvbnN0YW50cyBmb3IgKmF0IGZ1bmN0aW9ucyAqLworI2lmZGVmIEFUX1NZTUxJTktfTk9GT0xMT1cKKyAgICAgICAgaWYgKGlucyhkLCAiQVRfU1lNTElOS19OT0ZPTExPVyIsIChsb25nKUFUX1NZTUxJTktfTk9GT0xMT1cpKSByZXR1cm4gLTE7CisjZW5kaWYKKyNpZmRlZiBBVF9FQUNDRVNTCisgICAgICAgIGlmIChpbnMoZCwgIkFUX0VBQ0NFU1MiLCAobG9uZylBVF9FQUNDRVNTKSkgcmV0dXJuIC0xOworI2VuZGlmCisjaWZkZWYgQVRfRkRDV0QKKyAgICAgICAgaWYgKGlucyhkLCAiQVRfRkRDV0QiLCAobG9uZylBVF9GRENXRCkpIHJldHVybiAtMTsKKyNlbmRpZgorI2lmZGVmIEFUX1JFTU9WRURJUgorICAgICAgICBpZiAoaW5zKGQsICJBVF9SRU1PVkVESVIiLCAobG9uZylBVF9SRU1PVkVESVIpKSByZXR1cm4gLTE7CisjZW5kaWYKKyNpZmRlZiBBVF9TWU1MSU5LX0ZPTExPVworICAgICAgICBpZiAoaW5zKGQsICJBVF9TWU1MSU5LX0ZPTExPVyIsIChsb25nKUFUX1NZTUxJTktfRk9MTE9XKSkgcmV0dXJuIC0xOworI2VuZGlmCisjaWZkZWYgVVRJTUVfTk9XCisgICAgICAgIGlmIChpbnMoZCwgIlVUSU1FX05PVyIsIChsb25nKVVUSU1FX05PVykpIHJldHVybiAtMTsKKyNlbmRpZgorI2lmZGVmIFVUSU1FX09NSVQKKyAgICAgICAgaWYgKGlucyhkLCAiVVRJTUVfT01JVCIsIChsb25nKVVUSU1FX09NSVQpKSByZXR1cm4gLTE7CisjZW5kaWYKKwogCiAvKiBNUyBXaW5kb3dzICovCiAjaWZkZWYgT19OT0lOSEVSSVQKQEAgLTgzNTIsNiArMTEyOTEsODcgQEAKICAgICBpZiAoaW5zKGQsICJTVF9OT1NVSUQiLCAobG9uZylTVF9OT1NVSUQpKSByZXR1cm4gLTE7CiAjZW5kaWYgLyogU1RfTk9TVUlEICovCiAKKyAgICAvKiBGcmVlQlNEIHNlbmRmaWxlKCkgY29uc3RhbnRzICovCisjaWZkZWYgU0ZfTk9ESVNLSU8KKyAgICBpZiAoaW5zKGQsICJTRl9OT0RJU0tJTyIsIChsb25nKVNGX05PRElTS0lPKSkgcmV0dXJuIC0xOworI2VuZGlmCisjaWZkZWYgU0ZfTU5PV0FJVAorICAgIGlmIChpbnMoZCwgIlNGX01OT1dBSVQiLCAobG9uZylTRl9NTk9XQUlUKSkgcmV0dXJuIC0xOworI2VuZGlmCisjaWZkZWYgU0ZfU1lOQworICAgIGlmIChpbnMoZCwgIlNGX1NZTkMiLCAobG9uZylTRl9TWU5DKSkgcmV0dXJuIC0xOworI2VuZGlmCisKKyAgICAvKiBjb25zdGFudHMgZm9yIHBvc2l4X2ZhZHZpc2UgKi8KKyNpZmRlZiBQT1NJWF9GQURWX05PUk1BTAorICAgIGlmIChpbnMoZCwgIlBPU0lYX0ZBRFZfTk9STUFMIiwgKGxvbmcpUE9TSVhfRkFEVl9OT1JNQUwpKSByZXR1cm4gLTE7CisjZW5kaWYKKyNpZmRlZiBQT1NJWF9GQURWX1NFUVVFTlRJQUwKKyAgICBpZiAoaW5zKGQsICJQT1NJWF9GQURWX1NFUVVFTlRJQUwiLCAobG9uZylQT1NJWF9GQURWX1NFUVVFTlRJQUwpKSByZXR1cm4gLTE7CisjZW5kaWYKKyNpZmRlZiBQT1NJWF9GQURWX1JBTkRPTQorICAgIGlmIChpbnMoZCwgIlBPU0lYX0ZBRFZfUkFORE9NIiwgKGxvbmcpUE9TSVhfRkFEVl9SQU5ET00pKSByZXR1cm4gLTE7CisjZW5kaWYKKyNpZmRlZiBQT1NJWF9GQURWX05PUkVVU0UKKyAgICBpZiAoaW5zKGQsICJQT1NJWF9GQURWX05PUkVVU0UiLCAobG9uZylQT1NJWF9GQURWX05PUkVVU0UpKSByZXR1cm4gLTE7CisjZW5kaWYKKyNpZmRlZiBQT1NJWF9GQURWX1dJTExORUVECisgICAgaWYgKGlucyhkLCAiUE9TSVhfRkFEVl9XSUxMTkVFRCIsIChsb25nKVBPU0lYX0ZBRFZfV0lMTE5FRUQpKSByZXR1cm4gLTE7CisjZW5kaWYKKyNpZmRlZiBQT1NJWF9GQURWX0RPTlRORUVECisgICAgaWYgKGlucyhkLCAiUE9TSVhfRkFEVl9ET05UTkVFRCIsIChsb25nKVBPU0lYX0ZBRFZfRE9OVE5FRUQpKSByZXR1cm4gLTE7CisjZW5kaWYKKworICAgIC8qIGNvbnN0YW50cyBmb3Igd2FpdGlkICovCisjaWYgZGVmaW5lZChIQVZFX1NZU19XQUlUX0gpICYmIGRlZmluZWQoSEFWRV9XQUlUSUQpCisgICAgaWYgKGlucyhkLCAiUF9QSUQiLCAobG9uZylQX1BJRCkpIHJldHVybiAtMTsKKyAgICBpZiAoaW5zKGQsICJQX1BHSUQiLCAobG9uZylQX1BHSUQpKSByZXR1cm4gLTE7CisgICAgaWYgKGlucyhkLCAiUF9BTEwiLCAobG9uZylQX0FMTCkpIHJldHVybiAtMTsKKyNlbmRpZgorI2lmZGVmIFdFWElURUQKKyAgICBpZiAoaW5zKGQsICJXRVhJVEVEIiwgKGxvbmcpV0VYSVRFRCkpIHJldHVybiAtMTsKKyNlbmRpZgorI2lmZGVmIFdOT1dBSVQKKyAgICBpZiAoaW5zKGQsICJXTk9XQUlUIiwgKGxvbmcpV05PV0FJVCkpIHJldHVybiAtMTsKKyNlbmRpZgorI2lmZGVmIFdTVE9QUEVECisgICAgaWYgKGlucyhkLCAiV1NUT1BQRUQiLCAobG9uZylXU1RPUFBFRCkpIHJldHVybiAtMTsKKyNlbmRpZgorI2lmZGVmIENMRF9FWElURUQKKyAgICBpZiAoaW5zKGQsICJDTERfRVhJVEVEIiwgKGxvbmcpQ0xEX0VYSVRFRCkpIHJldHVybiAtMTsKKyNlbmRpZgorI2lmZGVmIENMRF9EVU1QRUQKKyAgICBpZiAoaW5zKGQsICJDTERfRFVNUEVEIiwgKGxvbmcpQ0xEX0RVTVBFRCkpIHJldHVybiAtMTsKKyNlbmRpZgorI2lmZGVmIENMRF9UUkFQUEVECisgICAgaWYgKGlucyhkLCAiQ0xEX1RSQVBQRUQiLCAobG9uZylDTERfVFJBUFBFRCkpIHJldHVybiAtMTsKKyNlbmRpZgorI2lmZGVmIENMRF9DT05USU5VRUQKKyAgICBpZiAoaW5zKGQsICJDTERfQ09OVElOVUVEIiwgKGxvbmcpQ0xEX0NPTlRJTlVFRCkpIHJldHVybiAtMTsKKyNlbmRpZgorCisgICAgLyogY29uc3RhbnRzIGZvciBsb2NrZiAqLworI2lmZGVmIEZfTE9DSworICAgIGlmIChpbnMoZCwgIkZfTE9DSyIsIChsb25nKUZfTE9DSykpIHJldHVybiAtMTsKKyNlbmRpZgorI2lmZGVmIEZfVExPQ0sKKyAgICBpZiAoaW5zKGQsICJGX1RMT0NLIiwgKGxvbmcpRl9UTE9DSykpIHJldHVybiAtMTsKKyNlbmRpZgorI2lmZGVmIEZfVUxPQ0sKKyAgICBpZiAoaW5zKGQsICJGX1VMT0NLIiwgKGxvbmcpRl9VTE9DSykpIHJldHVybiAtMTsKKyNlbmRpZgorI2lmZGVmIEZfVEVTVAorICAgIGlmIChpbnMoZCwgIkZfVEVTVCIsIChsb25nKUZfVEVTVCkpIHJldHVybiAtMTsKKyNlbmRpZgorCisgICAgLyogY29uc3RhbnRzIGZvciBmdXRpbWVucyAqLworI2lmZGVmIFVUSU1FX05PVworICAgIGlmIChpbnMoZCwgIlVUSU1FX05PVyIsIChsb25nKVVUSU1FX05PVykpIHJldHVybiAtMTsKKyNlbmRpZgorI2lmZGVmIFVUSU1FX09NSVQKKyAgICBpZiAoaW5zKGQsICJVVElNRV9PTUlUIiwgKGxvbmcpVVRJTUVfT01JVCkpIHJldHVybiAtMTsKKyNlbmRpZgorCiAjaWZkZWYgSEFWRV9TUEFXTlYKICNpZiBkZWZpbmVkKFBZT1NfT1MyKSAmJiBkZWZpbmVkKFBZQ0NfR0NDKQogICAgIGlmIChpbnMoZCwgIlBfV0FJVCIsIChsb25nKVBfV0FJVCkpIHJldHVybiAtMTsKQEAgLTgzODMsNiArMTE0MDMsNjQgQEAKICNlbmRpZgogI2VuZGlmCiAKKyNpZmRlZiBIQVZFX1NDSEVEX0gKKyAgICBpZiAoaW5zKGQsICJTQ0hFRF9PVEhFUiIsIChsb25nKVNDSEVEX09USEVSKSkgcmV0dXJuIC0xOworICAgIGlmIChpbnMoZCwgIlNDSEVEX0ZJRk8iLCAobG9uZylTQ0hFRF9GSUZPKSkgcmV0dXJuIC0xOworICAgIGlmIChpbnMoZCwgIlNDSEVEX1JSIiwgKGxvbmcpU0NIRURfUlIpKSByZXR1cm4gLTE7CisjaWZkZWYgU0NIRURfU1BPUkFESUMKKyAgICBpZiAoaW5zKGQsICJTQ0hFRF9TUE9SQURJQyIsIChsb25nKVNDSEVEX1NQT1JBRElDKSByZXR1cm4gLTE7CisjZW5kaWYKKyNpZmRlZiBTQ0hFRF9CQVRDSAorICAgIGlmIChpbnMoZCwgIlNDSEVEX0JBVENIIiwgKGxvbmcpU0NIRURfQkFUQ0gpKSByZXR1cm4gLTE7CisjZW5kaWYKKyNpZmRlZiBTQ0hFRF9JRExFCisgICAgaWYgKGlucyhkLCAiU0NIRURfSURMRSIsIChsb25nKVNDSEVEX0lETEUpKSByZXR1cm4gLTE7CisjZW5kaWYKKyNpZmRlZiBTQ0hFRF9SRVNFVF9PTl9GT1JLCisgICAgaWYgKGlucyhkLCAiU0NIRURfUkVTRVRfT05fRk9SSyIsIChsb25nKVNDSEVEX1JFU0VUX09OX0ZPUkspKSByZXR1cm4gLTE7CisjZW5kaWYKKyNpZmRlZiBTQ0hFRF9TWVMKKyAgICBpZiAoaW5zKGQsICJTQ0hFRF9TWVMiLCAobG9uZylTQ0hFRF9TWVMpKSByZXR1cm4gLTE7CisjZW5kaWYKKyNpZmRlZiBTQ0hFRF9JQQorICAgIGlmIChpbnMoZCwgIlNDSEVEX0lBIiwgKGxvbmcpU0NIRURfSUEpKSByZXR1cm4gLTE7CisjZW5kaWYKKyNpZmRlZiBTQ0hFRF9GU1MKKyAgICBpZiAoaW5zKGQsICJTQ0hFRF9GU1MiLCAobG9uZylTQ0hFRF9GU1MpKSByZXR1cm4gLTE7CisjZW5kaWYKKyNpZmRlZiBTQ0hFRF9GWAorICAgIGlmIChpbnMoZCwgIlNDSEVEX0ZYIiwgKGxvbmcpU0NIRURfRlNTKSkgcmV0dXJuIC0xOworI2VuZGlmCisjZW5kaWYKKworI2lmZGVmIFVTRV9YQVRUUlMKKyAgICBpZiAoaW5zKGQsICJYQVRUUl9DUkVBVEUiLCAobG9uZylYQVRUUl9DUkVBVEUpKSByZXR1cm4gLTE7CisgICAgaWYgKGlucyhkLCAiWEFUVFJfUkVQTEFDRSIsIChsb25nKVhBVFRSX1JFUExBQ0UpKSByZXR1cm4gLTE7CisgICAgaWYgKGlucyhkLCAiWEFUVFJfU0laRV9NQVgiLCAobG9uZylYQVRUUl9TSVpFX01BWCkpIHJldHVybiAtMTsKKyNlbmRpZgorCisjaWZkZWYgUlRMRF9MQVpZCisgICAgaWYgKFB5TW9kdWxlX0FkZEludE1hY3JvKGQsIFJUTERfTEFaWSkpIHJldHVybiAtMTsKKyNlbmRpZgorI2lmZGVmIFJUTERfTk9XCisgICAgaWYgKFB5TW9kdWxlX0FkZEludE1hY3JvKGQsIFJUTERfTk9XKSkgcmV0dXJuIC0xOworI2VuZGlmCisjaWZkZWYgUlRMRF9HTE9CQUwKKyAgICBpZiAoUHlNb2R1bGVfQWRkSW50TWFjcm8oZCwgUlRMRF9HTE9CQUwpKSByZXR1cm4gLTE7CisjZW5kaWYKKyNpZmRlZiBSVExEX0xPQ0FMCisgICAgaWYgKFB5TW9kdWxlX0FkZEludE1hY3JvKGQsIFJUTERfTE9DQUwpKSByZXR1cm4gLTE7CisjZW5kaWYKKyNpZmRlZiBSVExEX05PREVMRVRFCisgICAgaWYgKFB5TW9kdWxlX0FkZEludE1hY3JvKGQsIFJUTERfTk9ERUxFVEUpKSByZXR1cm4gLTE7CisjZW5kaWYKKyNpZmRlZiBSVExEX05PTE9BRAorICAgIGlmIChQeU1vZHVsZV9BZGRJbnRNYWNybyhkLCBSVExEX05PTE9BRCkpIHJldHVybiAtMTsKKyNlbmRpZgorI2lmZGVmIFJUTERfREVFUEJJTkQKKyAgICBpZiAoUHlNb2R1bGVfQWRkSW50TWFjcm8oZCwgUlRMRF9ERUVQQklORCkpIHJldHVybiAtMTsKKyNlbmRpZgorCiAjaWYgZGVmaW5lZChQWU9TX09TMikKICAgICBpZiAoaW5zZXJ0dmFsdWVzKGQpKSByZXR1cm4gLTE7CiAjZW5kaWYKQEAgLTg0NDUsMTIgKzExNTIzLDI0IEBACiAgICAgUHlfSU5DUkVGKFB5RXhjX09TRXJyb3IpOwogICAgIFB5TW9kdWxlX0FkZE9iamVjdChtLCAiZXJyb3IiLCBQeUV4Y19PU0Vycm9yKTsKIAorI2lmZGVmIEhBVkVfU0NIRURfU0VUQUZGSU5JVFkKKyAgICBpZiAoUHlUeXBlX1JlYWR5KCZjcHVfc2V0X3R5cGUpIDwgMCkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgUHlfSU5DUkVGKCZjcHVfc2V0X3R5cGUpOworICAgIFB5TW9kdWxlX0FkZE9iamVjdChtLCAiY3B1X3NldCIsIChQeU9iamVjdCAqKSZjcHVfc2V0X3R5cGUpOworI2VuZGlmCisKICNpZmRlZiBIQVZFX1BVVEVOVgogICAgIGlmIChwb3NpeF9wdXRlbnZfZ2FyYmFnZSA9PSBOVUxMKQogICAgICAgICBwb3NpeF9wdXRlbnZfZ2FyYmFnZSA9IFB5RGljdF9OZXcoKTsKICNlbmRpZgogCiAgICAgaWYgKCFpbml0aWFsaXplZCkgeworI2lmIGRlZmluZWQoSEFWRV9XQUlUSUQpICYmICFkZWZpbmVkKF9fQVBQTEVfXykKKyAgICAgICAgd2FpdGlkX3Jlc3VsdF9kZXNjLm5hbWUgPSBNT0ROQU1FICIud2FpdGlkX3Jlc3VsdCI7CisgICAgICAgIFB5U3RydWN0U2VxdWVuY2VfSW5pdFR5cGUoJldhaXRpZFJlc3VsdFR5cGUsICZ3YWl0aWRfcmVzdWx0X2Rlc2MpOworI2VuZGlmCisKICAgICAgICAgc3RhdF9yZXN1bHRfZGVzYy5uYW1lID0gTU9ETkFNRSAiLnN0YXRfcmVzdWx0IjsKICAgICAgICAgc3RhdF9yZXN1bHRfZGVzYy5maWVsZHNbN10ubmFtZSA9IFB5U3RydWN0U2VxdWVuY2VfVW5uYW1lZEZpZWxkOwogICAgICAgICBzdGF0X3Jlc3VsdF9kZXNjLmZpZWxkc1s4XS5uYW1lID0gUHlTdHJ1Y3RTZXF1ZW5jZV9Vbm5hbWVkRmllbGQ7CkBAIC04NDcwLDEyICsxMTU2MCwzMSBAQAogICAgICAgICB0aWNrc19wZXJfc2Vjb25kID0gNjA7IC8qIG1hZ2ljIGZhbGxiYWNrIHZhbHVlOyBtYXkgYmUgYm9ndXMgKi8KICMgIGVuZGlmCiAjZW5kaWYKKworI2lmIGRlZmluZWQoSEFWRV9TQ0hFRF9TRVRQQVJBTSkgfHwgZGVmaW5lZChIQVZFX1NDSEVEX1NFVFNDSEVEVUxFUikKKyAgICAgICAgc2NoZWRfcGFyYW1fZGVzYy5uYW1lID0gTU9ETkFNRSAiLnNjaGVkX3BhcmFtIjsKKyAgICAgICAgUHlTdHJ1Y3RTZXF1ZW5jZV9Jbml0VHlwZSgmU2NoZWRQYXJhbVR5cGUsICZzY2hlZF9wYXJhbV9kZXNjKTsKKyAgICAgICAgU2NoZWRQYXJhbVR5cGUudHBfbmV3ID0gc2NoZWRfcGFyYW1fbmV3OworI2VuZGlmCisKKyAgICAgICAgLyogaW5pdGlhbGl6ZSBUZXJtaW5hbFNpemVfaW5mbyAqLworICAgICAgICBQeVN0cnVjdFNlcXVlbmNlX0luaXRUeXBlKCZUZXJtaW5hbFNpemVUeXBlLCAmVGVybWluYWxTaXplX2Rlc2MpOworICAgICAgICBQeV9JTkNSRUYoJlRlcm1pbmFsU2l6ZVR5cGUpOwogICAgIH0KKyNpZiBkZWZpbmVkKEhBVkVfV0FJVElEKSAmJiAhZGVmaW5lZChfX0FQUExFX18pCisgICAgUHlfSU5DUkVGKChQeU9iamVjdCopICZXYWl0aWRSZXN1bHRUeXBlKTsKKyAgICBQeU1vZHVsZV9BZGRPYmplY3QobSwgIndhaXRpZF9yZXN1bHQiLCAoUHlPYmplY3QqKSAmV2FpdGlkUmVzdWx0VHlwZSk7CisjZW5kaWYKICAgICBQeV9JTkNSRUYoKFB5T2JqZWN0KikgJlN0YXRSZXN1bHRUeXBlKTsKICAgICBQeU1vZHVsZV9BZGRPYmplY3QobSwgInN0YXRfcmVzdWx0IiwgKFB5T2JqZWN0KikgJlN0YXRSZXN1bHRUeXBlKTsKICAgICBQeV9JTkNSRUYoKFB5T2JqZWN0KikgJlN0YXRWRlNSZXN1bHRUeXBlKTsKICAgICBQeU1vZHVsZV9BZGRPYmplY3QobSwgInN0YXR2ZnNfcmVzdWx0IiwKICAgICAgICAgICAgICAgICAgICAgICAgKFB5T2JqZWN0KikgJlN0YXRWRlNSZXN1bHRUeXBlKTsKKworI2lmIGRlZmluZWQoSEFWRV9TQ0hFRF9TRVRQQVJBTSkgfHwgZGVmaW5lZChIQVZFX1NDSEVEX1NFVFNDSEVEVUxFUikKKyAgICBQeV9JTkNSRUYoJlNjaGVkUGFyYW1UeXBlKTsKKyAgICBQeU1vZHVsZV9BZGRPYmplY3QobSwgInNjaGVkX3BhcmFtIiwgKFB5T2JqZWN0ICopJlNjaGVkUGFyYW1UeXBlKTsKKyNlbmRpZgogICAgIGluaXRpYWxpemVkID0gMTsKIAogI2lmZGVmIF9fQVBQTEVfXwpAQCAtODUxNSw2ICsxMTYyNCw5IEBACiAKIAogI2VuZGlmIC8qIF9fQVBQTEVfXyAqLworCisgICAgUHlNb2R1bGVfQWRkT2JqZWN0KG0sICJ0ZXJtaW5hbF9zaXplIiwgKFB5T2JqZWN0KikgJlRlcm1pbmFsU2l6ZVR5cGUpOworCiAgICAgcmV0dXJuIG07CiAKIH0KZGlmZiAtLWdpdCBhL01vZHVsZXMvcHlleHBhdC5jIGIvTW9kdWxlcy9weWV4cGF0LmMKaW5kZXggYmY4MWUyYS4uZmIwMjMyOSAxMDA2NDQKLS0tIGEvTW9kdWxlcy9weWV4cGF0LmMKKysrIGIvTW9kdWxlcy9weWV4cGF0LmMKQEAgLTEwMCwxNiArMTAwLDE3IEBACiBzZXRfZXJyb3IoeG1scGFyc2VvYmplY3QgKnNlbGYsIGVudW0gWE1MX0Vycm9yIGNvZGUpCiB7CiAgICAgUHlPYmplY3QgKmVycjsKLSAgICBjaGFyIGJ1ZmZlclsyNTZdOworICAgIFB5T2JqZWN0ICpidWZmZXI7CiAgICAgWE1MX1BhcnNlciBwYXJzZXIgPSBzZWxmLT5pdHNlbGY7CiAgICAgaW50IGxpbmVubyA9IFhNTF9HZXRFcnJvckxpbmVOdW1iZXIocGFyc2VyKTsKICAgICBpbnQgY29sdW1uID0gWE1MX0dldEVycm9yQ29sdW1uTnVtYmVyKHBhcnNlcik7CiAKLSAgICAvKiBUaGVyZSBpcyBubyByaXNrIG9mIG92ZXJmbG93aW5nIHRoaXMgYnVmZmVyLCBzaW5jZQotICAgICAgIGV2ZW4gZm9yIDY0LWJpdCBpbnRlZ2VycywgdGhlcmUgaXMgc3VmZmljaWVudCBzcGFjZS4gKi8KLSAgICBzcHJpbnRmKGJ1ZmZlciwgIiUuMjAwczogbGluZSAlaSwgY29sdW1uICVpIiwKLSAgICAgICAgICAgIFhNTF9FcnJvclN0cmluZyhjb2RlKSwgbGluZW5vLCBjb2x1bW4pOwotICAgIGVyciA9IFB5T2JqZWN0X0NhbGxGdW5jdGlvbihFcnJvck9iamVjdCwgInMiLCBidWZmZXIpOworICAgIGJ1ZmZlciA9IFB5VW5pY29kZV9Gcm9tRm9ybWF0KCIlczogbGluZSAlaSwgY29sdW1uICVpIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYTUxfRXJyb3JTdHJpbmcoY29kZSksIGxpbmVubywgY29sdW1uKTsKKyAgICBpZiAoYnVmZmVyID09IE5VTEwpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIGVyciA9IFB5T2JqZWN0X0NhbGxGdW5jdGlvbihFcnJvck9iamVjdCwgIk8iLCBidWZmZXIpOworICAgIFB5X0RFQ1JFRihidWZmZXIpOwogICAgIGlmICggIGVyciAhPSBOVUxMCiAgICAgICAgICAgJiYgc2V0X2Vycm9yX2F0dHIoZXJyLCAiY29kZSIsIGNvZGUpCiAgICAgICAgICAgJiYgc2V0X2Vycm9yX2F0dHIoZXJyLCAib2Zmc2V0IiwgY29sdW1uKQpAQCAtODQyLDkgKzg0Myw5IEBACiB7CiAgICAgaW50IHJ2ID0gMTsKICAgICBQeU9iamVjdCAqcmVhZG1ldGhvZCA9IE5VTEw7CisgICAgX1B5X0lERU5USUZJRVIocmVhZCk7CiAKLQotICAgIHJlYWRtZXRob2QgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKGYsICJyZWFkIik7CisgICAgcmVhZG1ldGhvZCA9IF9QeU9iamVjdF9HZXRBdHRySWQoZiwgJlB5SWRfcmVhZCk7CiAgICAgaWYgKHJlYWRtZXRob2QgPT0gTlVMTCkgewogICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLAogICAgICAgICAgICAgICAgICAgICAgICAgImFyZ3VtZW50IG11c3QgaGF2ZSAncmVhZCcgYXR0cmlidXRlIik7CkBAIC0xMTAxLDE3ICsxMTAyLDIyIEBACiAgICAgUHlVbmljb2RlT2JqZWN0ICpfdV9zdHJpbmcgPSBOVUxMOwogICAgIGludCByZXN1bHQgPSAwOwogICAgIGludCBpOworICAgIGludCBraW5kOworICAgIHZvaWQgKmRhdGE7CiAKICAgICAvKiBZZXMsIHN1cHBvcnRzIG9ubHkgOGJpdCBlbmNvZGluZ3MgKi8KICAgICBfdV9zdHJpbmcgPSAoUHlVbmljb2RlT2JqZWN0ICopCiAgICAgICAgIFB5VW5pY29kZV9EZWNvZGUodGVtcGxhdGVfYnVmZmVyLCAyNTYsIG5hbWUsICJyZXBsYWNlIik7CiAKLSAgICBpZiAoX3Vfc3RyaW5nID09IE5VTEwpCisgICAgaWYgKF91X3N0cmluZyA9PSBOVUxMIHx8IFB5VW5pY29kZV9SRUFEWShfdV9zdHJpbmcpID09IC0xKQogICAgICAgICByZXR1cm4gcmVzdWx0OwogCisgICAga2luZCA9IFB5VW5pY29kZV9LSU5EKF91X3N0cmluZyk7CisgICAgZGF0YSA9IFB5VW5pY29kZV9EQVRBKF91X3N0cmluZyk7CisKICAgICBmb3IgKGkgPSAwOyBpIDwgMjU2OyBpKyspIHsKICAgICAgICAgLyogU3R1cGlkIHRvIGFjY2VzcyBkaXJlY3RseSwgYnV0IGZhc3QgKi8KLSAgICAgICAgUHlfVU5JQ09ERSBjID0gX3Vfc3RyaW5nLT5zdHJbaV07CisgICAgICAgIFB5X1VDUzQgYyA9IFB5VW5pY29kZV9SRUFEKGtpbmQsIGRhdGEsIGkpOwogICAgICAgICBpZiAoYyA9PSBQeV9VTklDT0RFX1JFUExBQ0VNRU5UX0NIQVJBQ1RFUikKICAgICAgICAgICAgIGluZm8tPm1hcFtpXSA9IC0xOwogICAgICAgICBlbHNlCkBAIC0xMjM1LDExICsxMjQxLDEzIEBACiBzdGF0aWMgUHlPYmplY3QgKgogeG1scGFyc2VfZ2V0YXR0cm8oeG1scGFyc2VvYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpuYW1lb2JqKQogewotICAgIFB5X1VOSUNPREUgKm5hbWU7CisgICAgUHlfVUNTNCBmaXJzdF9jaGFyOwogICAgIGludCBoYW5kbGVybnVtID0gLTE7CiAKICAgICBpZiAoIVB5VW5pY29kZV9DaGVjayhuYW1lb2JqKSkKICAgICAgICAgZ290byBnZW5lcmljOworICAgIGlmIChQeVVuaWNvZGVfUkVBRFkobmFtZW9iaikpCisgICAgICAgIHJldHVybiBOVUxMOwogCiAgICAgaGFuZGxlcm51bSA9IGhhbmRsZXJuYW1lMmludChuYW1lb2JqKTsKIApAQCAtMTI1MSw4ICsxMjU5LDggQEAKICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9CiAKLSAgICBuYW1lID0gUHlVbmljb2RlX0FTX1VOSUNPREUobmFtZW9iaik7Ci0gICAgaWYgKG5hbWVbMF0gPT0gJ0UnKSB7CisgICAgZmlyc3RfY2hhciA9IFB5VW5pY29kZV9SRUFEX0NIQVIobmFtZW9iaiwgMCk7CisgICAgaWYgKGZpcnN0X2NoYXIgPT0gJ0UnKSB7CiAgICAgICAgIGlmIChQeVVuaWNvZGVfQ29tcGFyZVdpdGhBU0NJSVN0cmluZyhuYW1lb2JqLCAiRXJyb3JDb2RlIikgPT0gMCkKICAgICAgICAgICAgIHJldHVybiBQeUxvbmdfRnJvbUxvbmcoKGxvbmcpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWE1MX0dldEVycm9yQ29kZShzZWxmLT5pdHNlbGYpKTsKQEAgLTEyNjYsNyArMTI3NCw3IEBACiAgICAgICAgICAgICByZXR1cm4gUHlMb25nX0Zyb21Mb25nKChsb25nKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhNTF9HZXRFcnJvckJ5dGVJbmRleChzZWxmLT5pdHNlbGYpKTsKICAgICB9Ci0gICAgaWYgKG5hbWVbMF0gPT0gJ0MnKSB7CisgICAgaWYgKGZpcnN0X2NoYXIgPT0gJ0MnKSB7CiAgICAgICAgIGlmIChQeVVuaWNvZGVfQ29tcGFyZVdpdGhBU0NJSVN0cmluZyhuYW1lb2JqLCAiQ3VycmVudExpbmVOdW1iZXIiKSA9PSAwKQogICAgICAgICAgICAgcmV0dXJuIFB5TG9uZ19Gcm9tTG9uZygobG9uZykKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYTUxfR2V0Q3VycmVudExpbmVOdW1iZXIoc2VsZi0+aXRzZWxmKSk7CkBAIC0xMjc3LDcgKzEyODUsNyBAQAogICAgICAgICAgICAgcmV0dXJuIFB5TG9uZ19Gcm9tTG9uZygobG9uZykKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYTUxfR2V0Q3VycmVudEJ5dGVJbmRleChzZWxmLT5pdHNlbGYpKTsKICAgICB9Ci0gICAgaWYgKG5hbWVbMF0gPT0gJ2InKSB7CisgICAgaWYgKGZpcnN0X2NoYXIgPT0gJ2InKSB7CiAgICAgICAgIGlmIChQeVVuaWNvZGVfQ29tcGFyZVdpdGhBU0NJSVN0cmluZyhuYW1lb2JqLCAiYnVmZmVyX3NpemUiKSA9PSAwKQogICAgICAgICAgICAgcmV0dXJuIFB5TG9uZ19Gcm9tTG9uZygobG9uZykgc2VsZi0+YnVmZmVyX3NpemUpOwogICAgICAgICBpZiAoUHlVbmljb2RlX0NvbXBhcmVXaXRoQVNDSUlTdHJpbmcobmFtZW9iaiwgImJ1ZmZlcl90ZXh0IikgPT0gMCkKQEAgLTE2NjgsNyArMTY3Niw2IEBACiAgICAgUHlPYmplY3QgKmVycm9yc19tb2R1bGU7CiAgICAgUHlPYmplY3QgKm1vZGVsbW9kX25hbWU7CiAgICAgUHlPYmplY3QgKm1vZGVsX21vZHVsZTsKLSAgICBQeU9iamVjdCAqdmVyc2lvbjsKICAgICBQeU9iamVjdCAqc3lzX21vZHVsZXM7CiAgICAgUHlPYmplY3QgKnRtcG51bSwgKnRtcHN0cjsKICAgICBQeU9iamVjdCAqY29kZXNfZGljdDsKQEAgLTE3MDUsMTAgKzE3MTIsNiBAQAogICAgIFB5X0lOQ1JFRigmWG1scGFyc2V0eXBlKTsKICAgICBQeU1vZHVsZV9BZGRPYmplY3QobSwgIlhNTFBhcnNlclR5cGUiLCAoUHlPYmplY3QgKikgJlhtbHBhcnNldHlwZSk7CiAKLSAgICB2ZXJzaW9uID0gUHlVbmljb2RlX0Zyb21TdHJpbmcoUFlfVkVSU0lPTik7Ci0gICAgaWYgKCF2ZXJzaW9uKQotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBQeU1vZHVsZV9BZGRPYmplY3QobSwgIl9fdmVyc2lvbl9fIiwgdmVyc2lvbik7CiAgICAgUHlNb2R1bGVfQWRkU3RyaW5nQ29uc3RhbnQobSwgIkVYUEFUX1ZFUlNJT04iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjaGFyICopIFhNTF9FeHBhdFZlcnNpb24oKSk7CiAgICAgewpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9yZWFkbGluZS5jIGIvTW9kdWxlcy9yZWFkbGluZS5jCmluZGV4IDRkNTRkYWQuLmE3MTA2NTIgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvcmVhZGxpbmUuYworKysgYi9Nb2R1bGVzL3JlYWRsaW5lLmMKQEAgLTIzNSwxMCArMjM1LDkgQEAKICAgICAgICAgUHlfWERFQ1JFRih0bXApOwogICAgIH0KICAgICBlbHNlIHsKLSAgICAgICAgUHlPU19zbnByaW50ZihidWYsIHNpemVvZihidWYpLAotICAgICAgICAgICAgICAgICAgICAgICJzZXRfJS41MHMoZnVuYyk6IGFyZ3VtZW50IG5vdCBjYWxsYWJsZSIsCi0gICAgICAgICAgICAgICAgICAgICAgZnVuY25hbWUpOwotICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCBidWYpOworICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgInNldF8lLjUwcyhmdW5jKTogYXJndW1lbnQgbm90IGNhbGxhYmxlIiwKKyAgICAgICAgICAgICAgICAgICAgIGZ1bmNuYW1lKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogICAgIFB5X1JFVFVSTl9OT05FOwpAQCAtODkyLDcgKzg5MSw3IEBACiAjZW5kaWYKIAogI2lmZGVmIF9fQVBQTEVfXwotICAgIC8qIHRoZSBsaWJlZGl0IHJlYWRsaW5lIGVtdWxhdGlvbiByZXNldHMga2V5IGJpbmRpbmdzIGV0YyAKKyAgICAvKiB0aGUgbGliZWRpdCByZWFkbGluZSBlbXVsYXRpb24gcmVzZXRzIGtleSBiaW5kaW5ncyBldGMKICAgICAgKiB3aGVuIGNhbGxpbmcgcmxfaW5pdGlhbGl6ZS4gIFNvIGNhbGwgaXQgdXBmcm9udAogICAgICAqLwogICAgIGlmICh1c2luZ19saWJlZGl0X2VtdWxhdGlvbikKQEAgLTkzMiwxMSArOTMxLDExIEBACiAgICAgICovCiAjaWZkZWYgX19BUFBMRV9fCiAgICAgaWYgKHVzaW5nX2xpYmVkaXRfZW11bGF0aW9uKQotCXJsX3JlYWRfaW5pdF9maWxlKE5VTEwpOworICAgICAgICBybF9yZWFkX2luaXRfZmlsZShOVUxMKTsKICAgICBlbHNlCiAjZW5kaWYgLyogX19BUFBMRV9fICovCiAgICAgICAgIHJsX2luaXRpYWxpemUoKTsKLSAgICAKKwogICAgIFJFU1RPUkVfTE9DQUxFKHNhdmVkX2xvY2FsZSkKIH0KIApkaWZmIC0tZ2l0IGEvTW9kdWxlcy9yZXNvdXJjZS5jIGIvTW9kdWxlcy9yZXNvdXJjZS5jCmluZGV4IDE4NzVlNDguLjFhZWQ0OTcgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvcmVzb3VyY2UuYworKysgYi9Nb2R1bGVzL3Jlc291cmNlLmMKQEAgLTE4LDggKzE4LDYgQEAKIAogI2RlZmluZSBkb3VibGV0aW1lKFRWKSAoKGRvdWJsZSkoVFYpLnR2X3NlYyArIChUVikudHZfdXNlYyAqIDAuMDAwMDAxKQogCi1zdGF0aWMgUHlPYmplY3QgKlJlc291cmNlRXJyb3I7Ci0KIFB5RG9jX1NUUlZBUihzdHJ1Y3RfcnVzYWdlX19kb2NfXywKICJzdHJ1Y3RfcnVzYWdlOiBSZXN1bHQgZnJvbSBnZXRydXNhZ2UuXG5cbiIKICJUaGlzIG9iamVjdCBtYXkgYmUgYWNjZXNzZWQgZWl0aGVyIGFzIGEgdHVwbGUgb2ZcbiIKQEAgLTczLDcgKzcxLDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaW52YWxpZCB3aG8gcGFyYW1ldGVyIik7CiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICAgICAgfQotICAgICAgICBQeUVycl9TZXRGcm9tRXJybm8oUmVzb3VyY2VFcnJvcik7CisgICAgICAgIFB5RXJyX1NldEZyb21FcnJubyhQeUV4Y19PU0Vycm9yKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogCkBAIC0xMjUsNyArMTIzLDcgQEAKICAgICB9CiAKICAgICBpZiAoZ2V0cmxpbWl0KHJlc291cmNlLCAmcmwpID09IC0xKSB7Ci0gICAgICAgIFB5RXJyX1NldEZyb21FcnJubyhSZXNvdXJjZUVycm9yKTsKKyAgICAgICAgUHlFcnJfU2V0RnJvbUVycm5vKFB5RXhjX09TRXJyb3IpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAKQEAgLTE4Myw3ICsxODEsNyBAQAogICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5vdCBhbGxvd2VkIHRvIHJhaXNlIG1heGltdW0gbGltaXQiKTsKICAgICAgICAgZWxzZQotICAgICAgICAgICAgUHlFcnJfU2V0RnJvbUVycm5vKFJlc291cmNlRXJyb3IpOworICAgICAgICAgICAgUHlFcnJfU2V0RnJvbUVycm5vKFB5RXhjX09TRXJyb3IpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAgICAgUHlfSU5DUkVGKFB5X05vbmUpOwpAQCAtMjQ2LDEyICsyNDQsOCBAQAogICAgICAgICByZXR1cm4gTlVMTDsKIAogICAgIC8qIEFkZCBzb21lIHN5bWJvbGljIGNvbnN0YW50cyB0byB0aGUgbW9kdWxlICovCi0gICAgaWYgKFJlc291cmNlRXJyb3IgPT0gTlVMTCkgewotICAgICAgICBSZXNvdXJjZUVycm9yID0gUHlFcnJfTmV3RXhjZXB0aW9uKCJyZXNvdXJjZS5lcnJvciIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgTlVMTCk7Ci0gICAgfQotICAgIFB5X0lOQ1JFRihSZXNvdXJjZUVycm9yKTsKLSAgICBQeU1vZHVsZV9BZGRPYmplY3QobSwgImVycm9yIiwgUmVzb3VyY2VFcnJvcik7CisgICAgUHlfSU5DUkVGKFB5RXhjX09TRXJyb3IpOworICAgIFB5TW9kdWxlX0FkZE9iamVjdChtLCAiZXJyb3IiLCBQeUV4Y19PU0Vycm9yKTsKICAgICBpZiAoIWluaXRpYWxpemVkKQogICAgICAgICBQeVN0cnVjdFNlcXVlbmNlX0luaXRUeXBlKCZTdHJ1Y3RSVXNhZ2VUeXBlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZzdHJ1Y3RfcnVzYWdlX2Rlc2MpOwpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9zZWxlY3Rtb2R1bGUuYyBiL01vZHVsZXMvc2VsZWN0bW9kdWxlLmMKaW5kZXggMjQ1MmE2NS4uOWNiNzQ4MSAxMDA2NDQKLS0tIGEvTW9kdWxlcy9zZWxlY3Rtb2R1bGUuYworKysgYi9Nb2R1bGVzL3NlbGVjdG1vZHVsZS5jCkBAIC03LDYgKzcsMTQgQEAKICNpbmNsdWRlICJQeXRob24uaCIKICNpbmNsdWRlIDxzdHJ1Y3RtZW1iZXIuaD4KIAorI2lmZGVmIEhBVkVfU1lTX0RFVlBPTExfSAorI2luY2x1ZGUgPHN5cy9yZXNvdXJjZS5oPgorI2luY2x1ZGUgPHN5cy9kZXZwb2xsLmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNpbmNsdWRlIDxmY250bC5oPgorI2VuZGlmCisKICNpZmRlZiBfX0FQUExFX18KICAgICAvKiBQZXJmb3JtIHJ1bnRpbWUgdGVzdGluZyBmb3IgYSBicm9rZW4gcG9sbCBvbiBPU1ggdG8gbWFrZSBpdCBlYXNpZXIKICAgICAgKiB0byB1c2UgdGhlIHNhbWUgYmluYXJ5IG9uIG11bHRpcGxlIHJlbGVhc2VzIG9mIHRoZSBPUy4KQEAgLTU0LDggKzYyLDYgQEAKICMgIGVuZGlmCiAjZW5kaWYKIAotc3RhdGljIFB5T2JqZWN0ICpTZWxlY3RFcnJvcjsKLQogLyogbGlzdCBvZiBQeXRob24gb2JqZWN0cyBhbmQgdGhlaXIgZmlsZSBkZXNjcmlwdG9yICovCiB0eXBlZGVmIHN0cnVjdCB7CiAgICAgUHlPYmplY3QgKm9iajsgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBvd25lZCByZWZlcmVuY2UgKi8KQEAgLTIwMCw5ICsyMDYsNyBAQAogICAgIFB5T2JqZWN0ICpyZXQgPSBOVUxMOwogICAgIFB5T2JqZWN0ICp0b3V0ID0gUHlfTm9uZTsKICAgICBmZF9zZXQgaWZkc2V0LCBvZmRzZXQsIGVmZHNldDsKLSAgICBkb3VibGUgdGltZW91dDsKICAgICBzdHJ1Y3QgdGltZXZhbCB0diwgKnR2cDsKLSAgICBsb25nIHNlY29uZHM7CiAgICAgaW50IGltYXgsIG9tYXgsIGVtYXgsIG1heDsKICAgICBpbnQgbjsKIApAQCAtMjE5LDE4ICsyMjMsMjcgQEAKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogICAgIGVsc2UgewotICAgICAgICB0aW1lb3V0ID0gUHlGbG9hdF9Bc0RvdWJsZSh0b3V0KTsKLSAgICAgICAgaWYgKHRpbWVvdXQgPT0gLTEgJiYgUHlFcnJfT2NjdXJyZWQoKSkKKyNpZmRlZiBNU19XSU5ET1dTCisgICAgICAgIHRpbWVfdCBzZWM7CisgICAgICAgIGlmIChfUHlUaW1lX09iamVjdFRvVGltZXZhbCh0b3V0LCAmc2VjLCAmdHYudHZfdXNlYykgPT0gLTEpCiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgaWYgKHRpbWVvdXQgPiAoZG91YmxlKUxPTkdfTUFYKSB7CisgICAgICAgIGFzc2VydChzaXplb2YodHYudHZfc2VjKSA9PSBzaXplb2YobG9uZykpOworI2lmIFNJWkVPRl9USU1FX1QgPiBTSVpFT0ZfTE9ORworICAgICAgICBpZiAoc2VjID4gTE9OR19NQVgpIHsKICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19PdmVyZmxvd0Vycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aW1lb3V0IHBlcmlvZCB0b28gbG9uZyIpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0aW1lb3V0IGlzIHRvbyBsYXJnZSIpOwogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgIH0KLSAgICAgICAgc2Vjb25kcyA9IChsb25nKXRpbWVvdXQ7Ci0gICAgICAgIHRpbWVvdXQgPSB0aW1lb3V0IC0gKGRvdWJsZSlzZWNvbmRzOwotICAgICAgICB0di50dl9zZWMgPSBzZWNvbmRzOwotICAgICAgICB0di50dl91c2VjID0gKGxvbmcpKHRpbWVvdXQgKiAxRTYpOworI2VuZGlmCisgICAgICAgIHR2LnR2X3NlYyA9IChsb25nKXNlYzsKKyNlbHNlCisgICAgICAgIGlmIChfUHlUaW1lX09iamVjdFRvVGltZXZhbCh0b3V0LCAmdHYudHZfc2VjLCAmdHYudHZfdXNlYykgPT0gLTEpCisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyNlbmRpZgorICAgICAgICBpZiAodHYudHZfc2VjIDwgMCkgeworICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsICJ0aW1lb3V0IG11c3QgYmUgbm9uLW5lZ2F0aXZlIik7CisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgfQogICAgICAgICB0dnAgPSAmdHY7CiAgICAgfQogCkBAIC0yNjksMTEgKzI4MiwxMSBAQAogCiAjaWZkZWYgTVNfV0lORE9XUwogICAgIGlmIChuID09IFNPQ0tFVF9FUlJPUikgewotICAgICAgICBQeUVycl9TZXRFeGNGcm9tV2luZG93c0VycihTZWxlY3RFcnJvciwgV1NBR2V0TGFzdEVycm9yKCkpOworICAgICAgICBQeUVycl9TZXRFeGNGcm9tV2luZG93c0VycihQeUV4Y19PU0Vycm9yLCBXU0FHZXRMYXN0RXJyb3IoKSk7CiAgICAgfQogI2Vsc2UKICAgICBpZiAobiA8IDApIHsKLSAgICAgICAgUHlFcnJfU2V0RnJvbUVycm5vKFNlbGVjdEVycm9yKTsKKyAgICAgICAgUHlFcnJfU2V0RnJvbUVycm5vKFB5RXhjX09TRXJyb3IpOwogICAgIH0KICNlbmRpZgogICAgIGVsc2UgewpAQCAtNDIwLDcgKzQzMyw3IEBACiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIGlmIChQeURpY3RfR2V0SXRlbShzZWxmLT5kaWN0LCBrZXkpID09IE5VTEwpIHsKICAgICAgICAgZXJybm8gPSBFTk9FTlQ7Ci0gICAgICAgIFB5RXJyX1NldEZyb21FcnJubyhQeUV4Y19JT0Vycm9yKTsKKyAgICAgICAgUHlFcnJfU2V0RnJvbUVycm5vKFB5RXhjX09TRXJyb3IpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAgICAgdmFsdWUgPSBQeUxvbmdfRnJvbUxvbmcoZXZlbnRzKTsKQEAgLTUxOSw3ICs1MzIsNyBAQAogICAgIFB5X0VORF9BTExPV19USFJFQURTCiAKICAgICBpZiAocG9sbF9yZXN1bHQgPCAwKSB7Ci0gICAgICAgIFB5RXJyX1NldEZyb21FcnJubyhTZWxlY3RFcnJvcik7CisgICAgICAgIFB5RXJyX1NldEZyb21FcnJubyhQeUV4Y19PU0Vycm9yKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogCkBAIC02NDUsNiArNjU4LDMzOSBAQAogICAgIHBvbGxfbWV0aG9kcywgICAgICAgICAgICAgICAvKnRwX21ldGhvZHMqLwogfTsKIAorI2lmZGVmIEhBVkVfU1lTX0RFVlBPTExfSAordHlwZWRlZiBzdHJ1Y3QgeworICAgIFB5T2JqZWN0X0hFQUQKKyAgICBpbnQgZmRfZGV2cG9sbDsKKyAgICBpbnQgbWF4X25fZmRzOworICAgIGludCBuX2ZkczsKKyAgICBzdHJ1Y3QgcG9sbGZkICpmZHM7Cit9IGRldnBvbGxPYmplY3Q7CisKK3N0YXRpYyBQeVR5cGVPYmplY3QgZGV2cG9sbF9UeXBlOworCitzdGF0aWMgaW50IGRldnBvbGxfZmx1c2goZGV2cG9sbE9iamVjdCAqc2VsZikKK3sKKyAgICBpbnQgc2l6ZSwgbjsKKworICAgIGlmICghc2VsZi0+bl9mZHMpIHJldHVybiAwOworCisgICAgc2l6ZSA9IHNpemVvZihzdHJ1Y3QgcG9sbGZkKSpzZWxmLT5uX2ZkczsKKyAgICBzZWxmLT5uX2ZkcyA9IDA7CisKKyAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCisgICAgbiA9IHdyaXRlKHNlbGYtPmZkX2RldnBvbGwsIHNlbGYtPmZkcywgc2l6ZSk7CisgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKworICAgIGlmIChuID09IC0xICkgeworICAgICAgICBQeUVycl9TZXRGcm9tRXJybm8oUHlFeGNfSU9FcnJvcik7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisgICAgaWYgKG4gPCBzaXplKSB7CisgICAgICAgIC8qCisgICAgICAgICoqIERhdGEgd3JpdGVkIHRvIC9kZXYvcG9sbCBpcyBhIGJpbmFyeSBkYXRhIHN0cnVjdHVyZS4gSXQgaXMgbm90CisgICAgICAgICoqIGNsZWFyIHdoYXQgdG8gZG8gaWYgYSBwYXJ0aWFsIHdyaXRlIG9jY3VycmVkLiBGb3Igbm93LCByYWlzZQorICAgICAgICAqKiBhbiBleGNlcHRpb24gYW5kIHNlZSBpZiB3ZSBhY3R1YWxseSBmb3VuZCB0aGlzIHByb2JsZW0gaW4KKyAgICAgICAgKiogdGhlIHdpbGQuCisgICAgICAgICoqIFNlZSBodHRwOi8vYnVncy5weXRob24ub3JnL2lzc3VlNjM5Ny4KKyAgICAgICAgKi8KKyAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX0lPRXJyb3IsICJmYWlsZWQgdG8gd3JpdGUgYWxsIHBvbGxmZHMuICIKKyAgICAgICAgICAgICAgICAiUGxlYXNlLCByZXBvcnQgYXQgaHR0cDovL2J1Z3MucHl0aG9uLm9yZy8uICIKKyAgICAgICAgICAgICAgICAiRGF0YSB0byByZXBvcnQ6IFNpemUgdHJpZWQ6ICVkLCBhY3R1YWwgc2l6ZSB3cml0dGVuOiAlZC4iLAorICAgICAgICAgICAgICAgIHNpemUsIG4pOworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorICAgIHJldHVybiAwOworfQorCitzdGF0aWMgUHlPYmplY3QgKgoraW50ZXJuYWxfZGV2cG9sbF9yZWdpc3RlcihkZXZwb2xsT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgaW50IHJlbW92ZSkKK3sKKyAgICBQeU9iamVjdCAqbzsKKyAgICBpbnQgZmQsIGV2ZW50cyA9IFBPTExJTiB8IFBPTExQUkkgfCBQT0xMT1VUOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJPfGk6cmVnaXN0ZXIiLCAmbywgJmV2ZW50cykpIHsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorCisgICAgZmQgPSBQeU9iamVjdF9Bc0ZpbGVEZXNjcmlwdG9yKG8pOworICAgIGlmIChmZCA9PSAtMSkgcmV0dXJuIE5VTEw7CisKKyAgICBpZiAocmVtb3ZlKSB7CisgICAgICAgIHNlbGYtPmZkc1tzZWxmLT5uX2Zkc10uZmQgPSBmZDsKKyAgICAgICAgc2VsZi0+ZmRzW3NlbGYtPm5fZmRzXS5ldmVudHMgPSBQT0xMUkVNT1ZFOworCisgICAgICAgIGlmICgrK3NlbGYtPm5fZmRzID09IHNlbGYtPm1heF9uX2ZkcykgeworICAgICAgICAgICAgaWYgKGRldnBvbGxfZmx1c2goc2VsZikpCisgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBzZWxmLT5mZHNbc2VsZi0+bl9mZHNdLmZkID0gZmQ7CisgICAgc2VsZi0+ZmRzW3NlbGYtPm5fZmRzXS5ldmVudHMgPSBldmVudHM7CisKKyAgICBpZiAoKytzZWxmLT5uX2ZkcyA9PSBzZWxmLT5tYXhfbl9mZHMpIHsKKyAgICAgICAgaWYgKGRldnBvbGxfZmx1c2goc2VsZikpCisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisKKyAgICBQeV9SRVRVUk5fTk9ORTsKK30KKworUHlEb2NfU1RSVkFSKGRldnBvbGxfcmVnaXN0ZXJfZG9jLAorInJlZ2lzdGVyKGZkIFssIGV2ZW50bWFza10gKSAtPiBOb25lXG5cblwKK1JlZ2lzdGVyIGEgZmlsZSBkZXNjcmlwdG9yIHdpdGggdGhlIHBvbGxpbmcgb2JqZWN0LlxuXAorZmQgLS0gZWl0aGVyIGFuIGludGVnZXIsIG9yIGFuIG9iamVjdCB3aXRoIGEgZmlsZW5vKCkgbWV0aG9kIHJldHVybmluZyBhblxuXAorICAgICAgaW50LlxuXAorZXZlbnRzIC0tIGFuIG9wdGlvbmFsIGJpdG1hc2sgZGVzY3JpYmluZyB0aGUgdHlwZSBvZiBldmVudHMgdG8gY2hlY2sgZm9yIik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitkZXZwb2xsX3JlZ2lzdGVyKGRldnBvbGxPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQoreworICAgIHJldHVybiBpbnRlcm5hbF9kZXZwb2xsX3JlZ2lzdGVyKHNlbGYsIGFyZ3MsIDApOworfQorCitQeURvY19TVFJWQVIoZGV2cG9sbF9tb2RpZnlfZG9jLAorIm1vZGlmeShmZFssIGV2ZW50bWFza10pIC0+IE5vbmVcblxuXAorTW9kaWZ5IGEgcG9zc2libGUgYWxyZWFkeSByZWdpc3RlcmVkIGZpbGUgZGVzY3JpcHRvci5cblwKK2ZkIC0tIGVpdGhlciBhbiBpbnRlZ2VyLCBvciBhbiBvYmplY3Qgd2l0aCBhIGZpbGVubygpIG1ldGhvZCByZXR1cm5pbmcgYW5cblwKKyAgICAgIGludC5cblwKK2V2ZW50cyAtLSBhbiBvcHRpb25hbCBiaXRtYXNrIGRlc2NyaWJpbmcgdGhlIHR5cGUgb2YgZXZlbnRzIHRvIGNoZWNrIGZvciIpOworCitzdGF0aWMgUHlPYmplY3QgKgorZGV2cG9sbF9tb2RpZnkoZGV2cG9sbE9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgcmV0dXJuIGludGVybmFsX2RldnBvbGxfcmVnaXN0ZXIoc2VsZiwgYXJncywgMSk7Cit9CisKKworUHlEb2NfU1RSVkFSKGRldnBvbGxfdW5yZWdpc3Rlcl9kb2MsCisidW5yZWdpc3RlcihmZCkgLT4gTm9uZVxuXG5cCitSZW1vdmUgYSBmaWxlIGRlc2NyaXB0b3IgYmVpbmcgdHJhY2tlZCBieSB0aGUgcG9sbGluZyBvYmplY3QuIik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitkZXZwb2xsX3VucmVnaXN0ZXIoZGV2cG9sbE9iamVjdCAqc2VsZiwgUHlPYmplY3QgKm8pCit7CisgICAgaW50IGZkOworCisgICAgZmQgPSBQeU9iamVjdF9Bc0ZpbGVEZXNjcmlwdG9yKCBvICk7CisgICAgaWYgKGZkID09IC0xKQorICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIHNlbGYtPmZkc1tzZWxmLT5uX2Zkc10uZmQgPSBmZDsKKyAgICBzZWxmLT5mZHNbc2VsZi0+bl9mZHNdLmV2ZW50cyA9IFBPTExSRU1PVkU7CisKKyAgICBpZiAoKytzZWxmLT5uX2ZkcyA9PSBzZWxmLT5tYXhfbl9mZHMpIHsKKyAgICAgICAgaWYgKGRldnBvbGxfZmx1c2goc2VsZikpCisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisKKyAgICBQeV9SRVRVUk5fTk9ORTsKK30KKworUHlEb2NfU1RSVkFSKGRldnBvbGxfcG9sbF9kb2MsCisicG9sbCggW3RpbWVvdXRdICkgLT4gbGlzdCBvZiAoZmQsIGV2ZW50KSAyLXR1cGxlc1xuXG5cCitQb2xscyB0aGUgc2V0IG9mIHJlZ2lzdGVyZWQgZmlsZSBkZXNjcmlwdG9ycywgcmV0dXJuaW5nIGEgbGlzdCBjb250YWluaW5nIFxuXAorYW55IGRlc2NyaXB0b3JzIHRoYXQgaGF2ZSBldmVudHMgb3IgZXJyb3JzIHRvIHJlcG9ydC4iKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2RldnBvbGxfcG9sbChkZXZwb2xsT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBzdHJ1Y3QgZHZwb2xsIGR2cDsKKyAgICBQeU9iamVjdCAqcmVzdWx0X2xpc3QgPSBOVUxMLCAqdG91dCA9IE5VTEw7CisgICAgaW50IHBvbGxfcmVzdWx0LCBpOworICAgIGxvbmcgdGltZW91dDsKKyAgICBQeU9iamVjdCAqdmFsdWUsICpudW0xLCAqbnVtMjsKKworICAgIGlmICghUHlBcmdfVW5wYWNrVHVwbGUoYXJncywgInBvbGwiLCAwLCAxLCAmdG91dCkpIHsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorCisgICAgLyogQ2hlY2sgdmFsdWVzIGZvciB0aW1lb3V0ICovCisgICAgaWYgKHRvdXQgPT0gTlVMTCB8fCB0b3V0ID09IFB5X05vbmUpCisgICAgICAgIHRpbWVvdXQgPSAtMTsKKyAgICBlbHNlIGlmICghUHlOdW1iZXJfQ2hlY2sodG91dCkpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICJ0aW1lb3V0IG11c3QgYmUgYW4gaW50ZWdlciBvciBOb25lIik7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKyAgICBlbHNlIHsKKyAgICAgICAgdG91dCA9IFB5TnVtYmVyX0xvbmcodG91dCk7CisgICAgICAgIGlmICghdG91dCkKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICB0aW1lb3V0ID0gUHlMb25nX0FzTG9uZyh0b3V0KTsKKyAgICAgICAgUHlfREVDUkVGKHRvdXQpOworICAgICAgICBpZiAodGltZW91dCA9PSAtMSAmJiBQeUVycl9PY2N1cnJlZCgpKQorICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorCisgICAgaWYgKCh0aW1lb3V0IDwgLTEpIHx8ICh0aW1lb3V0ID4gSU5UX01BWCkpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX092ZXJmbG93RXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAidGltZW91dCBpcyBvdXQgb2YgcmFuZ2UiKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorCisgICAgaWYgKGRldnBvbGxfZmx1c2goc2VsZikpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgZHZwLmRwX2ZkcyA9IHNlbGYtPmZkczsKKyAgICBkdnAuZHBfbmZkcyA9IHNlbGYtPm1heF9uX2ZkczsKKyAgICBkdnAuZHBfdGltZW91dCA9IHRpbWVvdXQ7CisKKyAgICAvKiBjYWxsIGRldnBvbGwoKSAqLworICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKKyAgICBwb2xsX3Jlc3VsdCA9IGlvY3RsKHNlbGYtPmZkX2RldnBvbGwsIERQX1BPTEwsICZkdnApOworICAgIFB5X0VORF9BTExPV19USFJFQURTCisKKyAgICBpZiAocG9sbF9yZXN1bHQgPCAwKSB7CisgICAgICAgIFB5RXJyX1NldEZyb21FcnJubyhQeUV4Y19JT0Vycm9yKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorCisgICAgLyogYnVpbGQgdGhlIHJlc3VsdCBsaXN0ICovCisKKyAgICByZXN1bHRfbGlzdCA9IFB5TGlzdF9OZXcocG9sbF9yZXN1bHQpOworICAgIGlmICghcmVzdWx0X2xpc3QpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIGVsc2UgeworICAgICAgICBmb3IgKGkgPSAwOyBpIDwgcG9sbF9yZXN1bHQ7IGkrKykgeworICAgICAgICAgICAgbnVtMSA9IFB5TG9uZ19Gcm9tTG9uZyhzZWxmLT5mZHNbaV0uZmQpOworICAgICAgICAgICAgbnVtMiA9IFB5TG9uZ19Gcm9tTG9uZyhzZWxmLT5mZHNbaV0ucmV2ZW50cyk7CisgICAgICAgICAgICBpZiAoKG51bTEgPT0gTlVMTCkgfHwgKG51bTIgPT0gTlVMTCkpIHsKKyAgICAgICAgICAgICAgICBQeV9YREVDUkVGKG51bTEpOworICAgICAgICAgICAgICAgIFB5X1hERUNSRUYobnVtMik7CisgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHZhbHVlID0gUHlUdXBsZV9QYWNrKDIsIG51bTEsIG51bTIpOworICAgICAgICAgICAgUHlfREVDUkVGKG51bTEpOworICAgICAgICAgICAgUHlfREVDUkVGKG51bTIpOworICAgICAgICAgICAgaWYgKHZhbHVlID09IE5VTEwpCisgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgICAgIGlmICgoUHlMaXN0X1NldEl0ZW0ocmVzdWx0X2xpc3QsIGksIHZhbHVlKSkgPT0gLTEpIHsKKyAgICAgICAgICAgICAgICBQeV9ERUNSRUYodmFsdWUpOworICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CisKKyAgICByZXR1cm4gcmVzdWx0X2xpc3Q7CisKKyAgZXJyb3I6CisgICAgUHlfREVDUkVGKHJlc3VsdF9saXN0KTsKKyAgICByZXR1cm4gTlVMTDsKK30KKworc3RhdGljIFB5TWV0aG9kRGVmIGRldnBvbGxfbWV0aG9kc1tdID0geworICAgIHsicmVnaXN0ZXIiLCAgICAgICAgKFB5Q0Z1bmN0aW9uKWRldnBvbGxfcmVnaXN0ZXIsCisgICAgIE1FVEhfVkFSQVJHUywgIGRldnBvbGxfcmVnaXN0ZXJfZG9jfSwKKyAgICB7Im1vZGlmeSIsICAgICAgICAgIChQeUNGdW5jdGlvbilkZXZwb2xsX21vZGlmeSwKKyAgICAgTUVUSF9WQVJBUkdTLCAgZGV2cG9sbF9tb2RpZnlfZG9jfSwKKyAgICB7InVucmVnaXN0ZXIiLCAgICAgIChQeUNGdW5jdGlvbilkZXZwb2xsX3VucmVnaXN0ZXIsCisgICAgIE1FVEhfTywgICAgICAgIGRldnBvbGxfdW5yZWdpc3Rlcl9kb2N9LAorICAgIHsicG9sbCIsICAgICAgICAgICAgKFB5Q0Z1bmN0aW9uKWRldnBvbGxfcG9sbCwKKyAgICAgTUVUSF9WQVJBUkdTLCAgZGV2cG9sbF9wb2xsX2RvY30sCisgICAge05VTEwsICAgICAgICAgICAgICBOVUxMfSAgICAgICAgICAgLyogc2VudGluZWwgKi8KK307CisKK3N0YXRpYyBkZXZwb2xsT2JqZWN0ICoKK25ld0RldlBvbGxPYmplY3Qodm9pZCkKK3sKKyAgICBkZXZwb2xsT2JqZWN0ICpzZWxmOworICAgIGludCBmZF9kZXZwb2xsLCBsaW1pdF9yZXN1bHQ7CisgICAgc3RydWN0IHBvbGxmZCAqZmRzOworICAgIHN0cnVjdCBybGltaXQgbGltaXQ7CisKKyAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCisgICAgLyoKKyAgICAqKiBJZiB3ZSB0cnkgdG8gcHJvY2VzcyBtb3JlIHRoYXQgZ2V0cmxpbWl0KCkKKyAgICAqKiBmZHMsIHRoZSBrZXJuZWwgd2lsbCBnaXZlIGFuIGVycm9yLCBzbworICAgICoqIHdlIHNldCB0aGUgbGltaXQgaGVyZS4gSXQgaXMgYSBkeW5hbWljCisgICAgKiogdmFsdWUsIGJlY2F1c2Ugd2UgY2FuIGNoYW5nZSBybGltaXQoKSBhbnl0aW1lLgorICAgICovCisgICAgbGltaXRfcmVzdWx0ID0gZ2V0cmxpbWl0KFJMSU1JVF9OT0ZJTEUsICZsaW1pdCk7CisgICAgaWYgKGxpbWl0X3Jlc3VsdCAhPSAtMSkKKyAgICAgICAgZmRfZGV2cG9sbCA9IG9wZW4oIi9kZXYvcG9sbCIsIE9fUkRXUik7CisgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKworICAgIGlmIChsaW1pdF9yZXN1bHQgPT0gLTEpIHsKKyAgICAgICAgUHlFcnJfU2V0RnJvbUVycm5vKFB5RXhjX09TRXJyb3IpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisgICAgaWYgKGZkX2RldnBvbGwgPT0gLTEpIHsKKyAgICAgICAgUHlFcnJfU2V0RnJvbUVycm5vV2l0aEZpbGVuYW1lKFB5RXhjX0lPRXJyb3IsICIvZGV2L3BvbGwiKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorCisgICAgZmRzID0gUHlNZW1fTkVXKHN0cnVjdCBwb2xsZmQsIGxpbWl0LnJsaW1fY3VyKTsKKyAgICBpZiAoZmRzID09IE5VTEwpIHsKKyAgICAgICAgY2xvc2UoZmRfZGV2cG9sbCk7CisgICAgICAgIFB5RXJyX05vTWVtb3J5KCk7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKworICAgIHNlbGYgPSBQeU9iamVjdF9OZXcoZGV2cG9sbE9iamVjdCwgJmRldnBvbGxfVHlwZSk7CisgICAgaWYgKHNlbGYgPT0gTlVMTCkgeworICAgICAgICBjbG9zZShmZF9kZXZwb2xsKTsKKyAgICAgICAgUHlNZW1fREVMKGZkcyk7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKyAgICBzZWxmLT5mZF9kZXZwb2xsID0gZmRfZGV2cG9sbDsKKyAgICBzZWxmLT5tYXhfbl9mZHMgPSBsaW1pdC5ybGltX2N1cjsKKyAgICBzZWxmLT5uX2ZkcyA9IDA7CisgICAgc2VsZi0+ZmRzID0gZmRzOworCisgICAgcmV0dXJuIHNlbGY7Cit9CisKK3N0YXRpYyB2b2lkCitkZXZwb2xsX2RlYWxsb2MoZGV2cG9sbE9iamVjdCAqc2VsZikKK3sKKyAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCisgICAgY2xvc2Uoc2VsZi0+ZmRfZGV2cG9sbCk7CisgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKworICAgIFB5TWVtX0RFTChzZWxmLT5mZHMpOworCisgICAgUHlPYmplY3RfRGVsKHNlbGYpOworfQorCitzdGF0aWMgUHlUeXBlT2JqZWN0IGRldnBvbGxfVHlwZSA9IHsKKyAgICAvKiBUaGUgb2JfdHlwZSBmaWVsZCBtdXN0IGJlIGluaXRpYWxpemVkIGluIHRoZSBtb2R1bGUgaW5pdCBmdW5jdGlvbgorICAgICAqIHRvIGJlIHBvcnRhYmxlIHRvIFdpbmRvd3Mgd2l0aG91dCB1c2luZyBDKysuICovCisgICAgUHlWYXJPYmplY3RfSEVBRF9JTklUKE5VTEwsIDApCisgICAgInNlbGVjdC5kZXZwb2xsIiwgICAgICAgICAgIC8qdHBfbmFtZSovCisgICAgc2l6ZW9mKGRldnBvbGxPYmplY3QpLCAgICAgIC8qdHBfYmFzaWNzaXplKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9pdGVtc2l6ZSovCisgICAgLyogbWV0aG9kcyAqLworICAgIChkZXN0cnVjdG9yKWRldnBvbGxfZGVhbGxvYywgLyp0cF9kZWFsbG9jKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9wcmludCovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfZ2V0YXR0ciovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfc2V0YXR0ciovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfcmVzZXJ2ZWQqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX3JlcHIqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX2FzX251bWJlciovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfYXNfc2VxdWVuY2UqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX2FzX21hcHBpbmcqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX2hhc2gqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX2NhbGwqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX3N0ciovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfZ2V0YXR0cm8qLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX3NldGF0dHJvKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9hc19idWZmZXIqLworICAgIFB5X1RQRkxBR1NfREVGQVVMVCwgICAgICAgICAvKnRwX2ZsYWdzKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9kb2MqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX3RyYXZlcnNlKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9jbGVhciovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qdHBfcmljaGNvbXBhcmUqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKnRwX3dlYWtsaXN0b2Zmc2V0Ki8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9pdGVyKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyp0cF9pdGVybmV4dCovCisgICAgZGV2cG9sbF9tZXRob2RzLCAgICAgICAgICAgIC8qdHBfbWV0aG9kcyovCit9OworI2VuZGlmICAvKiBIQVZFX1NZU19ERVZQT0xMX0ggKi8KKworCisKIFB5RG9jX1NUUlZBUihwb2xsX2RvYywKICJSZXR1cm5zIGEgcG9sbGluZyBvYmplY3QsIHdoaWNoIHN1cHBvcnRzIHJlZ2lzdGVyaW5nIGFuZFxuXAogdW5yZWdpc3RlcmluZyBmaWxlIGRlc2NyaXB0b3JzLCBhbmQgdGhlbiBwb2xsaW5nIHRoZW0gZm9yIEkvTyBldmVudHMuIik7CkBAIC02NTUsNiArMTAwMSwxOSBAQAogICAgIHJldHVybiAoUHlPYmplY3QgKiluZXdQb2xsT2JqZWN0KCk7CiB9CiAKKyNpZmRlZiBIQVZFX1NZU19ERVZQT0xMX0gKK1B5RG9jX1NUUlZBUihkZXZwb2xsX2RvYywKKyJSZXR1cm5zIGEgcG9sbGluZyBvYmplY3QsIHdoaWNoIHN1cHBvcnRzIHJlZ2lzdGVyaW5nIGFuZFxuXAordW5yZWdpc3RlcmluZyBmaWxlIGRlc2NyaXB0b3JzLCBhbmQgdGhlbiBwb2xsaW5nIHRoZW0gZm9yIEkvTyBldmVudHMuIik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitzZWxlY3RfZGV2cG9sbChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKnVudXNlZCkKK3sKKyAgICByZXR1cm4gKFB5T2JqZWN0ICopbmV3RGV2UG9sbE9iamVjdCgpOworfQorI2VuZGlmCisKKwogI2lmZGVmIF9fQVBQTEVfXwogLyoKICAqIE9uIHNvbWUgc3lzdGVtcyBwb2xsKCkgc2V0cyBlcnJubyBvbiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvcnMuIFdlIHRlc3QKQEAgLTczMCwyMCArMTA4OSwxMCBAQAogfQogCiBzdGF0aWMgUHlPYmplY3QgKgotbmV3UHlFcG9sbF9PYmplY3QoUHlUeXBlT2JqZWN0ICp0eXBlLCBpbnQgc2l6ZWhpbnQsIFNPQ0tFVCBmZCkKK25ld1B5RXBvbGxfT2JqZWN0KFB5VHlwZU9iamVjdCAqdHlwZSwgaW50IHNpemVoaW50LCBpbnQgZmxhZ3MsIFNPQ0tFVCBmZCkKIHsKICAgICBweUVwb2xsX09iamVjdCAqc2VsZjsKIAotICAgIGlmIChzaXplaGludCA9PSAtMSkgewotICAgICAgICBzaXplaGludCA9IEZEX1NFVFNJWkUtMTsKLSAgICB9Ci0gICAgZWxzZSBpZiAoc2l6ZWhpbnQgPCAxKSB7Ci0gICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19WYWx1ZUVycm9yLAotICAgICAgICAgICAgICAgICAgICAgInNpemVoaW50IG11c3QgYmUgZ3JlYXRlciB6ZXJvLCBnb3QgJWQiLAotICAgICAgICAgICAgICAgICAgICAgc2l6ZWhpbnQpOwotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICB9Ci0KICAgICBhc3NlcnQodHlwZSAhPSBOVUxMICYmIHR5cGUtPnRwX2FsbG9jICE9IE5VTEwpOwogICAgIHNlbGYgPSAocHlFcG9sbF9PYmplY3QgKikgdHlwZS0+dHBfYWxsb2ModHlwZSwgMCk7CiAgICAgaWYgKHNlbGYgPT0gTlVMTCkKQEAgLTc1MSw2ICsxMTAwLDExIEBACiAKICAgICBpZiAoZmQgPT0gLTEpIHsKICAgICAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUworI2lmZGVmIEhBVkVfRVBPTExfQ1JFQVRFMQorICAgICAgICBpZiAoZmxhZ3MpCisgICAgICAgICAgICBzZWxmLT5lcGZkID0gZXBvbGxfY3JlYXRlMShmbGFncyk7CisgICAgICAgIGVsc2UKKyNlbmRpZgogICAgICAgICBzZWxmLT5lcGZkID0gZXBvbGxfY3JlYXRlKHNpemVoaW50KTsKICAgICAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKICAgICB9CkBAIC03NTksNyArMTExMyw3IEBACiAgICAgfQogICAgIGlmIChzZWxmLT5lcGZkIDwgMCkgewogICAgICAgICBQeV9ERUNSRUYoc2VsZik7Ci0gICAgICAgIFB5RXJyX1NldEZyb21FcnJubyhQeUV4Y19JT0Vycm9yKTsKKyAgICAgICAgUHlFcnJfU2V0RnJvbUVycm5vKFB5RXhjX09TRXJyb3IpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAgICAgcmV0dXJuIChQeU9iamVjdCAqKXNlbGY7CkBAIC03NjksMTQgKzExMjMsMTggQEAKIHN0YXRpYyBQeU9iamVjdCAqCiBweWVwb2xsX25ldyhQeVR5cGVPYmplY3QgKnR5cGUsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dkcykKIHsKLSAgICBpbnQgc2l6ZWhpbnQgPSAtMTsKLSAgICBzdGF0aWMgY2hhciAqa3dsaXN0W10gPSB7InNpemVoaW50IiwgTlVMTH07CisgICAgaW50IGZsYWdzID0gMCwgc2l6ZWhpbnQgPSBGRF9TRVRTSVpFIC0gMTsKKyAgICBzdGF0aWMgY2hhciAqa3dsaXN0W10gPSB7InNpemVoaW50IiwgImZsYWdzIiwgTlVMTH07CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2RzLCAifGk6ZXBvbGwiLCBrd2xpc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnNpemVoaW50KSkKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2RzLCAifGlpOmVwb2xsIiwga3dsaXN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZzaXplaGludCwgJmZsYWdzKSkKICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgaWYgKHNpemVoaW50IDwgMCkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwgIm5lZ2F0aXZlIHNpemVoaW50Iik7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KIAotICAgIHJldHVybiBuZXdQeUVwb2xsX09iamVjdCh0eXBlLCBzaXplaGludCwgLTEpOworICAgIHJldHVybiBuZXdQeUVwb2xsX09iamVjdCh0eXBlLCBzaXplaGludCwgZmxhZ3MsIC0xKTsKIH0KIAogCkBAIC03OTIsNyArMTE1MCw3IEBACiB7CiAgICAgZXJybm8gPSBweWVwb2xsX2ludGVybmFsX2Nsb3NlKHNlbGYpOwogICAgIGlmIChlcnJubyA8IDApIHsKLSAgICAgICAgUHlFcnJfU2V0RnJvbUVycm5vKFB5RXhjX0lPRXJyb3IpOworICAgICAgICBQeUVycl9TZXRGcm9tRXJybm8oUHlFeGNfT1NFcnJvcik7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KICAgICBQeV9SRVRVUk5fTk9ORTsKQEAgLTgzNCw3ICsxMTkyLDcgQEAKICAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgImk6ZnJvbWZkIiwgJmZkKSkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKLSAgICByZXR1cm4gbmV3UHlFcG9sbF9PYmplY3QoKFB5VHlwZU9iamVjdCopY2xzLCAtMSwgZmQpOworICAgIHJldHVybiBuZXdQeUVwb2xsX09iamVjdCgoUHlUeXBlT2JqZWN0KiljbHMsIEZEX1NFVFNJWkUgLSAxLCAwLCBmZCk7CiB9CiAKIFB5RG9jX1NUUlZBUihweWVwb2xsX2Zyb21mZF9kb2MsCkBAIC04ODUsNyArMTI0Myw3IEBACiAgICAgfQogCiAgICAgaWYgKHJlc3VsdCA8IDApIHsKLSAgICAgICAgUHlFcnJfU2V0RnJvbUVycm5vKFB5RXhjX0lPRXJyb3IpOworICAgICAgICBQeUVycl9TZXRGcm9tRXJybm8oUHlFeGNfT1NFcnJvcik7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KICAgICBQeV9SRVRVUk5fTk9ORTsKQEAgLTkwOSw3ICsxMjY3LDcgQEAKIFB5RG9jX1NUUlZBUihweWVwb2xsX3JlZ2lzdGVyX2RvYywKICJyZWdpc3RlcihmZFssIGV2ZW50bWFza10pIC0+IE5vbmVcblwKIFxuXAotUmVnaXN0ZXJzIGEgbmV3IGZkIG9yIHJhaXNlcyBhbiBJT0Vycm9yIGlmIHRoZSBmZCBpcyBhbHJlYWR5IHJlZ2lzdGVyZWQuXG5cCitSZWdpc3RlcnMgYSBuZXcgZmQgb3IgcmFpc2VzIGFuIE9TRXJyb3IgaWYgdGhlIGZkIGlzIGFscmVhZHkgcmVnaXN0ZXJlZC5cblwKIGZkIGlzIHRoZSB0YXJnZXQgZmlsZSBkZXNjcmlwdG9yIG9mIHRoZSBvcGVyYXRpb24uXG5cCiBldmVudHMgaXMgYSBiaXQgc2V0IGNvbXBvc2VkIG9mIHRoZSB2YXJpb3VzIEVQT0xMIGNvbnN0YW50czsgdGhlIGRlZmF1bHRcblwKIGlzIEVQT0xMX0lOIHwgRVBPTExfT1VUIHwgRVBPTExfUFJJLlxuXApAQCAtMTAwOCw3ICsxMzY2LDcgQEAKICAgICBuZmRzID0gZXBvbGxfd2FpdChzZWxmLT5lcGZkLCBldnMsIG1heGV2ZW50cywgdGltZW91dCk7CiAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKICAgICBpZiAobmZkcyA8IDApIHsKLSAgICAgICAgUHlFcnJfU2V0RnJvbUVycm5vKFB5RXhjX0lPRXJyb3IpOworICAgICAgICBQeUVycl9TZXRGcm9tRXJybm8oUHlFeGNfT1NFcnJvcik7CiAgICAgICAgIGdvdG8gZXJyb3I7CiAgICAgfQogCkBAIC0xMDYzLDcgKzE0MjEsNyBAQAogfTsKIAogUHlEb2NfU1RSVkFSKHB5ZXBvbGxfZG9jLAotInNlbGVjdC5lcG9sbChbc2l6ZWhpbnQ9LTFdKVxuXAorInNlbGVjdC5lcG9sbChzaXplaGludD0tMSwgZmxhZ3M9MClcblwKIFxuXAogUmV0dXJucyBhbiBlcG9sbGluZyBvYmplY3RcblwKIFxuXApAQCAtMTM5OSw3ICsxNzU3LDcgQEAKICAgICB9CiAgICAgaWYgKHNlbGYtPmtxZmQgPCAwKSB7CiAgICAgICAgIFB5X0RFQ1JFRihzZWxmKTsKLSAgICAgICAgUHlFcnJfU2V0RnJvbUVycm5vKFB5RXhjX0lPRXJyb3IpOworICAgICAgICBQeUVycl9TZXRGcm9tRXJybm8oUHlFeGNfT1NFcnJvcik7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KICAgICByZXR1cm4gKFB5T2JqZWN0ICopc2VsZjsKQEAgLTE0MzEsNyArMTc4OSw3IEBACiB7CiAgICAgZXJybm8gPSBrcXVldWVfcXVldWVfaW50ZXJuYWxfY2xvc2Uoc2VsZik7CiAgICAgaWYgKGVycm5vIDwgMCkgewotICAgICAgICBQeUVycl9TZXRGcm9tRXJybm8oUHlFeGNfSU9FcnJvcik7CisgICAgICAgIFB5RXJyX1NldEZyb21FcnJubyhQeUV4Y19PU0Vycm9yKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogICAgIFB5X1JFVFVSTl9OT05FOwpAQCAtMTQ5NCw3ICsxODUyLDcgQEAKICAgICBQeU9iamVjdCAqcmVzdWx0ID0gTlVMTDsKICAgICBzdHJ1Y3Qga2V2ZW50ICpldmwgPSBOVUxMOwogICAgIHN0cnVjdCBrZXZlbnQgKmNobCA9IE5VTEw7Ci0gICAgc3RydWN0IHRpbWVzcGVjIHRpbWVvdXRzcGVjOworICAgIHN0cnVjdCB0aW1lc3BlYyB0aW1lb3V0OwogICAgIHN0cnVjdCB0aW1lc3BlYyAqcHRpbWVvdXRzcGVjOwogCiAgICAgaWYgKHNlbGYtPmtxZmQgPCAwKQpAQCAtMTUxNCwyOCArMTg3MiwxNiBAQAogICAgICAgICBwdGltZW91dHNwZWMgPSBOVUxMOwogICAgIH0KICAgICBlbHNlIGlmIChQeU51bWJlcl9DaGVjayhvdGltZW91dCkpIHsKLSAgICAgICAgZG91YmxlIHRpbWVvdXQ7Ci0gICAgICAgIGxvbmcgc2Vjb25kczsKKyAgICAgICAgaWYgKF9QeVRpbWVfT2JqZWN0VG9UaW1lc3BlYyhvdGltZW91dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmdGltZW91dC50dl9zZWMsICZ0aW1lb3V0LnR2X25zZWMpID09IC0xKQorICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAKLSAgICAgICAgdGltZW91dCA9IFB5RmxvYXRfQXNEb3VibGUob3RpbWVvdXQpOwotICAgICAgICBpZiAodGltZW91dCA9PSAtMSAmJiBQeUVycl9PY2N1cnJlZCgpKQotICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgIGlmICh0aW1lb3V0ID4gKGRvdWJsZSlMT05HX01BWCkgewotICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX092ZXJmbG93RXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgInRpbWVvdXQgcGVyaW9kIHRvbyBsb25nIik7Ci0gICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgfQotICAgICAgICBpZiAodGltZW91dCA8IDApIHsKKyAgICAgICAgaWYgKHRpbWVvdXQudHZfc2VjIDwgMCkgewogICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRpbWVvdXQgbXVzdCBiZSBwb3NpdGl2ZSBvciBOb25lIik7CiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICAgICAgfQotCi0gICAgICAgIHNlY29uZHMgPSAobG9uZyl0aW1lb3V0OwotICAgICAgICB0aW1lb3V0ID0gdGltZW91dCAtIChkb3VibGUpc2Vjb25kczsKLSAgICAgICAgdGltZW91dHNwZWMudHZfc2VjID0gc2Vjb25kczsKLSAgICAgICAgdGltZW91dHNwZWMudHZfbnNlYyA9IChsb25nKSh0aW1lb3V0ICogMUU5KTsKLSAgICAgICAgcHRpbWVvdXRzcGVjID0gJnRpbWVvdXRzcGVjOworICAgICAgICBwdGltZW91dHNwZWMgPSAmdGltZW91dDsKICAgICB9CiAgICAgZWxzZSB7CiAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsCkBAIC0xNzEyLDYgKzIwNTgsMTEgQEAKIH07CiAKICNlbmRpZiAvKiBIQVZFX0tRVUVVRSAqLworCisKKworCisKIC8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqLwogCiBQeURvY19TVFJWQVIoc2VsZWN0X2RvYywKQEAgLTE3NDMsNiArMjA5NCw5IEBACiAjaWZkZWYgSEFWRV9QT0xMCiAgICAgeyJwb2xsIiwgICAgICAgICAgICBzZWxlY3RfcG9sbCwgICAgTUVUSF9OT0FSR1MsICAgIHBvbGxfZG9jfSwKICNlbmRpZiAvKiBIQVZFX1BPTEwgKi8KKyNpZmRlZiBIQVZFX1NZU19ERVZQT0xMX0gKKyAgICB7ImRldnBvbGwiLCAgICAgICAgIHNlbGVjdF9kZXZwb2xsLCBNRVRIX05PQVJHUywgICAgZGV2cG9sbF9kb2N9LAorI2VuZGlmCiAgICAgezAsICAgICAgICAgMH0sICAgICAvKiBzZW50aW5lbCAqLwogfTsKIApAQCAtMTc2NSw2ICsyMTE5LDkgQEAKICAgICBOVUxMCiB9OwogCisKKworCiBQeU1PRElOSVRfRlVOQwogUHlJbml0X3NlbGVjdCh2b2lkKQogewpAQCAtMTc3Myw5ICsyMTMwLDggQEAKICAgICBpZiAobSA9PSBOVUxMKQogICAgICAgICByZXR1cm4gTlVMTDsKIAotICAgIFNlbGVjdEVycm9yID0gUHlFcnJfTmV3RXhjZXB0aW9uKCJzZWxlY3QuZXJyb3IiLCBOVUxMLCBOVUxMKTsKLSAgICBQeV9JTkNSRUYoU2VsZWN0RXJyb3IpOwotICAgIFB5TW9kdWxlX0FkZE9iamVjdChtLCAiZXJyb3IiLCBTZWxlY3RFcnJvcik7CisgICAgUHlfSU5DUkVGKFB5RXhjX09TRXJyb3IpOworICAgIFB5TW9kdWxlX0FkZE9iamVjdChtLCAiZXJyb3IiLCBQeUV4Y19PU0Vycm9yKTsKIAogI2lmZGVmIFBJUEVfQlVGCiAjaWZkZWYgSEFWRV9CUk9LRU5fUElQRV9CVUYKQEAgLTE4MjIsNiArMjE3OCwxMSBAQAogICAgIH0KICNlbmRpZiAvKiBIQVZFX1BPTEwgKi8KIAorI2lmZGVmIEhBVkVfU1lTX0RFVlBPTExfSAorICAgIGlmIChQeVR5cGVfUmVhZHkoJmRldnBvbGxfVHlwZSkgPCAwKQorICAgICAgICByZXR1cm4gTlVMTDsKKyNlbmRpZgorCiAjaWZkZWYgSEFWRV9FUE9MTAogICAgIFB5X1RZUEUoJnB5RXBvbGxfVHlwZSkgPSAmUHlUeXBlX1R5cGU7CiAgICAgaWYgKFB5VHlwZV9SZWFkeSgmcHlFcG9sbF9UeXBlKSA8IDApCkBAIC0xODQ2LDYgKzIyMDcsMTAgQEAKICAgICBQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiRVBPTExXUk5PUk0iLCBFUE9MTFdSTk9STSk7CiAgICAgUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIkVQT0xMV1JCQU5EIiwgRVBPTExXUkJBTkQpOwogICAgIFB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJFUE9MTE1TRyIsIEVQT0xMTVNHKTsKKworI2lmZGVmIEVQT0xMX0NMT0VYRUMKKyAgICBQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiRVBPTExfQ0xPRVhFQyIsIEVQT0xMX0NMT0VYRUMpOworI2VuZGlmCiAjZW5kaWYgLyogSEFWRV9FUE9MTCAqLwogCiAjaWZkZWYgSEFWRV9LUVVFVUUKZGlmZiAtLWdpdCBhL01vZHVsZXMvc2hhMW1vZHVsZS5jIGIvTW9kdWxlcy9zaGExbW9kdWxlLmMKaW5kZXggYjI1YmQ0NC4uMzBlNWM1MCAxMDA2NDQKLS0tIGEvTW9kdWxlcy9zaGExbW9kdWxlLmMKKysrIGIvTW9kdWxlcy9zaGExbW9kdWxlLmMKQEAgLTIxOCw3ICsyMTgsNyBAQAogICAgICAgICAgICBpbiAgICAgICAgICAgICArPSBTSEExX0JMT0NLU0laRTsKICAgICAgICAgICAgaW5sZW4gICAgICAgICAgLT0gU0hBMV9CTE9DS1NJWkU7CiAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgIG4gPSBNSU4oaW5sZW4sIChTSEExX0JMT0NLU0laRSAtIHNoYTEtPmN1cmxlbikpOworICAgICAgICAgICBuID0gTUlOKGlubGVuLCAoUHlfc3NpemVfdCkoU0hBMV9CTE9DS1NJWkUgLSBzaGExLT5jdXJsZW4pKTsKICAgICAgICAgICAgbWVtY3B5KHNoYTEtPmJ1ZiArIHNoYTEtPmN1cmxlbiwgaW4sIChzaXplX3Qpbik7CiAgICAgICAgICAgIHNoYTEtPmN1cmxlbiAgICs9IG47CiAgICAgICAgICAgIGluICAgICAgICAgICAgICs9IG47CkBAIC0zNTIsNyArMzUyLDcgQEAKICAgICB1bnNpZ25lZCBjaGFyIGRpZ2VzdFtTSEExX0RJR0VTVFNJWkVdOwogICAgIHN0cnVjdCBzaGExX3N0YXRlIHRlbXA7CiAgICAgUHlPYmplY3QgKnJldHZhbDsKLSAgICBQeV9VTklDT0RFICpoZXhfZGlnZXN0OworICAgIFB5X1VDUzEgKmhleF9kaWdlc3Q7CiAgICAgaW50IGksIGo7CiAKICAgICAvKiBHZXQgdGhlIHJhdyAoYmluYXJ5KSBkaWdlc3QgdmFsdWUgKi8KQEAgLTM2MCwyNCArMzYwLDE4IEBACiAgICAgc2hhMV9kb25lKCZ0ZW1wLCBkaWdlc3QpOwogCiAgICAgLyogQ3JlYXRlIGEgbmV3IHN0cmluZyAqLwotICAgIHJldHZhbCA9IFB5VW5pY29kZV9Gcm9tU3RyaW5nQW5kU2l6ZShOVUxMLCBTSEExX0RJR0VTVFNJWkUgKiAyKTsKKyAgICByZXR2YWwgPSBQeVVuaWNvZGVfTmV3KFNIQTFfRElHRVNUU0laRSAqIDIsIDEyNyk7CiAgICAgaWYgKCFyZXR2YWwpCiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBoZXhfZGlnZXN0ID0gUHlVbmljb2RlX0FTX1VOSUNPREUocmV0dmFsKTsKLSAgICBpZiAoIWhleF9kaWdlc3QpIHsKLSAgICAgICAgICAgIFB5X0RFQ1JFRihyZXR2YWwpOwotICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgfQorICAgIGhleF9kaWdlc3QgPSBQeVVuaWNvZGVfMUJZVEVfREFUQShyZXR2YWwpOwogCiAgICAgLyogTWFrZSBoZXggdmVyc2lvbiBvZiB0aGUgZGlnZXN0ICovCiAgICAgZm9yKGk9aj0wOyBpPFNIQTFfRElHRVNUU0laRTsgaSsrKSB7Ci0gICAgICAgIGNoYXIgYzsKKyAgICAgICAgdW5zaWduZWQgY2hhciBjOwogICAgICAgICBjID0gKGRpZ2VzdFtpXSA+PiA0KSAmIDB4ZjsKLSAgICAgICAgYyA9IChjPjkpID8gYysnYSctMTAgOiBjICsgJzAnOwotICAgICAgICBoZXhfZGlnZXN0W2orK10gPSBjOworICAgICAgICBoZXhfZGlnZXN0W2orK10gPSBQeV9oZXhkaWdpdHNbY107CiAgICAgICAgIGMgPSAoZGlnZXN0W2ldICYgMHhmKTsKLSAgICAgICAgYyA9IChjPjkpID8gYysnYSctMTAgOiBjICsgJzAnOwotICAgICAgICBoZXhfZGlnZXN0W2orK10gPSBjOworICAgICAgICBoZXhfZGlnZXN0W2orK10gPSBQeV9oZXhkaWdpdHNbY107CiAgICAgfQogICAgIHJldHVybiByZXR2YWw7CiB9CmRpZmYgLS1naXQgYS9Nb2R1bGVzL3NoYTI1Nm1vZHVsZS5jIGIvTW9kdWxlcy9zaGEyNTZtb2R1bGUuYwppbmRleCA4NjE3MjEwLi5mMWVmMzI5IDEwMDY0NAotLS0gYS9Nb2R1bGVzL3NoYTI1Nm1vZHVsZS5jCisrKyBiL01vZHVsZXMvc2hhMjU2bW9kdWxlLmMKQEAgLTQ0NSw3ICs0NDUsNyBAQAogICAgIHVuc2lnbmVkIGNoYXIgZGlnZXN0W1NIQV9ESUdFU1RTSVpFXTsKICAgICBTSEFvYmplY3QgdGVtcDsKICAgICBQeU9iamVjdCAqcmV0dmFsOwotICAgIFB5X1VOSUNPREUgKmhleF9kaWdlc3Q7CisgICAgUHlfVUNTMSAqaGV4X2RpZ2VzdDsKICAgICBpbnQgaSwgajsKIAogICAgIC8qIEdldCB0aGUgcmF3IChiaW5hcnkpIGRpZ2VzdCB2YWx1ZSAqLwpAQCAtNDUzLDI0ICs0NTMsMTggQEAKICAgICBzaGFfZmluYWwoZGlnZXN0LCAmdGVtcCk7CiAKICAgICAvKiBDcmVhdGUgYSBuZXcgc3RyaW5nICovCi0gICAgcmV0dmFsID0gUHlVbmljb2RlX0Zyb21TdHJpbmdBbmRTaXplKE5VTEwsIHNlbGYtPmRpZ2VzdHNpemUgKiAyKTsKKyAgICByZXR2YWwgPSBQeVVuaWNvZGVfTmV3KHNlbGYtPmRpZ2VzdHNpemUgKiAyLCAxMjcpOwogICAgIGlmICghcmV0dmFsKQogICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgaGV4X2RpZ2VzdCA9IFB5VW5pY29kZV9BU19VTklDT0RFKHJldHZhbCk7Ci0gICAgaWYgKCFoZXhfZGlnZXN0KSB7Ci0gICAgICAgICAgICBQeV9ERUNSRUYocmV0dmFsKTsKLSAgICAgICAgICAgIHJldHVybiBOVUxMOwotICAgIH0KKyAgICBoZXhfZGlnZXN0ID0gUHlVbmljb2RlXzFCWVRFX0RBVEEocmV0dmFsKTsKIAogICAgIC8qIE1ha2UgaGV4IHZlcnNpb24gb2YgdGhlIGRpZ2VzdCAqLwogICAgIGZvcihpPWo9MDsgaTxzZWxmLT5kaWdlc3RzaXplOyBpKyspIHsKLSAgICAgICAgY2hhciBjOworICAgICAgICB1bnNpZ25lZCBjaGFyIGM7CiAgICAgICAgIGMgPSAoZGlnZXN0W2ldID4+IDQpICYgMHhmOwotICAgICAgICBjID0gKGM+OSkgPyBjKydhJy0xMCA6IGMgKyAnMCc7Ci0gICAgICAgIGhleF9kaWdlc3RbaisrXSA9IGM7CisgICAgICAgIGhleF9kaWdlc3RbaisrXSA9IFB5X2hleGRpZ2l0c1tjXTsKICAgICAgICAgYyA9IChkaWdlc3RbaV0gJiAweGYpOwotICAgICAgICBjID0gKGM+OSkgPyBjKydhJy0xMCA6IGMgKyAnMCc7Ci0gICAgICAgIGhleF9kaWdlc3RbaisrXSA9IGM7CisgICAgICAgIGhleF9kaWdlc3RbaisrXSA9IFB5X2hleGRpZ2l0c1tjXTsKICAgICB9CiAgICAgcmV0dXJuIHJldHZhbDsKIH0KZGlmZiAtLWdpdCBhL01vZHVsZXMvc2hhNTEybW9kdWxlLmMgYi9Nb2R1bGVzL3NoYTUxMm1vZHVsZS5jCmluZGV4IDBmYWFmNWMuLjRmNWExMTMgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvc2hhNTEybW9kdWxlLmMKKysrIGIvTW9kdWxlcy9zaGE1MTJtb2R1bGUuYwpAQCAtNTExLDcgKzUxMSw3IEBACiAgICAgdW5zaWduZWQgY2hhciBkaWdlc3RbU0hBX0RJR0VTVFNJWkVdOwogICAgIFNIQW9iamVjdCB0ZW1wOwogICAgIFB5T2JqZWN0ICpyZXR2YWw7Ci0gICAgUHlfVU5JQ09ERSAqaGV4X2RpZ2VzdDsKKyAgICBQeV9VQ1MxICpoZXhfZGlnZXN0OwogICAgIGludCBpLCBqOwogCiAgICAgLyogR2V0IHRoZSByYXcgKGJpbmFyeSkgZGlnZXN0IHZhbHVlICovCkBAIC01MTksMjQgKzUxOSwxOCBAQAogICAgIHNoYTUxMl9maW5hbChkaWdlc3QsICZ0ZW1wKTsKIAogICAgIC8qIENyZWF0ZSBhIG5ldyBzdHJpbmcgKi8KLSAgICByZXR2YWwgPSBQeVVuaWNvZGVfRnJvbVN0cmluZ0FuZFNpemUoTlVMTCwgc2VsZi0+ZGlnZXN0c2l6ZSAqIDIpOworICAgIHJldHZhbCA9IFB5VW5pY29kZV9OZXcoc2VsZi0+ZGlnZXN0c2l6ZSAqIDIsIDEyNyk7CiAgICAgaWYgKCFyZXR2YWwpCiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBoZXhfZGlnZXN0ID0gUHlVbmljb2RlX0FTX1VOSUNPREUocmV0dmFsKTsKLSAgICBpZiAoIWhleF9kaWdlc3QpIHsKLSAgICAgICAgICAgIFB5X0RFQ1JFRihyZXR2YWwpOwotICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgfQorICAgIGhleF9kaWdlc3QgPSBQeVVuaWNvZGVfMUJZVEVfREFUQShyZXR2YWwpOwogCiAgICAgLyogTWFrZSBoZXggdmVyc2lvbiBvZiB0aGUgZGlnZXN0ICovCiAgICAgZm9yIChpPWo9MDsgaTxzZWxmLT5kaWdlc3RzaXplOyBpKyspIHsKLSAgICAgICAgY2hhciBjOworICAgICAgICB1bnNpZ25lZCBjaGFyIGM7CiAgICAgICAgIGMgPSAoZGlnZXN0W2ldID4+IDQpICYgMHhmOwotICAgICAgICBjID0gKGM+OSkgPyBjKydhJy0xMCA6IGMgKyAnMCc7Ci0gICAgICAgIGhleF9kaWdlc3RbaisrXSA9IGM7CisgICAgICAgIGhleF9kaWdlc3RbaisrXSA9IFB5X2hleGRpZ2l0c1tjXTsKICAgICAgICAgYyA9IChkaWdlc3RbaV0gJiAweGYpOwotICAgICAgICBjID0gKGM+OSkgPyBjKydhJy0xMCA6IGMgKyAnMCc7Ci0gICAgICAgIGhleF9kaWdlc3RbaisrXSA9IGM7CisgICAgICAgIGhleF9kaWdlc3RbaisrXSA9IFB5X2hleGRpZ2l0c1tjXTsKICAgICB9CiAgICAgcmV0dXJuIHJldHZhbDsKIH0KZGlmZiAtLWdpdCBhL01vZHVsZXMvc2lnbmFsbW9kdWxlLmMgYi9Nb2R1bGVzL3NpZ25hbG1vZHVsZS5jCmluZGV4IDMyY2Q4YmIuLjJlYjdmMjkgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvc2lnbmFsbW9kdWxlLmMKKysrIGIvTW9kdWxlcy9zaWduYWxtb2R1bGUuYwpAQCAtMjIsNiArMjIsMTQgQEAKICNpbmNsdWRlIDxzeXMvdGltZS5oPgogI2VuZGlmCiAKKyNpZiBkZWZpbmVkKEhBVkVfUFRIUkVBRF9TSUdNQVNLKSAmJiAhZGVmaW5lZChIQVZFX0JST0tFTl9QVEhSRUFEX1NJR01BU0spCisjICBkZWZpbmUgUFlQVEhSRUFEX1NJR01BU0sKKyNlbmRpZgorCisjaWYgZGVmaW5lZChQWVBUSFJFQURfU0lHTUFTSykgJiYgZGVmaW5lZChIQVZFX1BUSFJFQURfSCkKKyMgIGluY2x1ZGUgPHB0aHJlYWQuaD4KKyNlbmRpZgorCiAjaWZuZGVmIFNJR19FUlIKICNkZWZpbmUgU0lHX0VSUiAoKFB5T1Nfc2lnaGFuZGxlcl90KSgtMSkpCiAjZW5kaWYKQEAgLTEwMSw2ICsxMDksMTAgQEAKIAogc3RhdGljIFB5T1Nfc2lnaGFuZGxlcl90IG9sZF9zaWdpbnRoYW5kbGVyID0gU0lHX0RGTDsKIAorI2lmZGVmIE1TX1dJTkRPV1MKK3N0YXRpYyBIQU5ETEUgc2lnaW50X2V2ZW50ID0gTlVMTDsKKyNlbmRpZgorCiAjaWZkZWYgSEFWRV9HRVRJVElNRVIKIHN0YXRpYyBQeU9iamVjdCAqSXRpbWVyRXJyb3I7CiAKQEAgLTE2OCwxNSArMTgwLDE5IEBACiBzdGF0aWMgdm9pZAogdHJpcF9zaWduYWwoaW50IHNpZ19udW0pCiB7CisgICAgdW5zaWduZWQgY2hhciBieXRlOworCiAgICAgSGFuZGxlcnNbc2lnX251bV0udHJpcHBlZCA9IDE7CisgICAgaWYgKHdha2V1cF9mZCAhPSAtMSkgeworICAgICAgICBieXRlID0gKHVuc2lnbmVkIGNoYXIpc2lnX251bTsKKyAgICAgICAgd3JpdGUod2FrZXVwX2ZkLCAmYnl0ZSwgMSk7CisgICAgfQogICAgIGlmIChpc190cmlwcGVkKQogICAgICAgICByZXR1cm47CiAgICAgLyogU2V0IGlzX3RyaXBwZWQgYWZ0ZXIgc2V0dGluZyAudHJpcHBlZCwgYXMgaXQgZ2V0cwogICAgICAgIGNsZWFyZWQgaW4gUHlFcnJfQ2hlY2tTaWduYWxzKCkgYmVmb3JlIC50cmlwcGVkLiAqLwogICAgIGlzX3RyaXBwZWQgPSAxOwogICAgIFB5X0FkZFBlbmRpbmdDYWxsKGNoZWNrc2lnbmFsc193aXRoYXJnLCBOVUxMKTsKLSAgICBpZiAod2FrZXVwX2ZkICE9IC0xKQotICAgICAgICB3cml0ZSh3YWtldXBfZmQsICJcMCIsIDEpOwogfQogCiBzdGF0aWMgdm9pZApAQCAtMjE3LDYgKzIzMywxMSBAQAogICAgIC8qIElzc3VlICMxMDMxMTogYXN5bmNocm9ub3VzbHkgZXhlY3V0aW5nIHNpZ25hbCBoYW5kbGVycyBzaG91bGQgbm90CiAgICAgICAgbXV0YXRlIGVycm5vIHVuZGVyIHRoZSBmZWV0IG9mIHVuc3VzcGVjdGluZyBDIGNvZGUuICovCiAgICAgZXJybm8gPSBzYXZlX2Vycm5vOworCisjaWZkZWYgTVNfV0lORE9XUworICAgIGlmIChzaWdfbnVtID09IFNJR0lOVCkKKyAgICAgICAgU2V0RXZlbnQoc2lnaW50X2V2ZW50KTsKKyNlbmRpZgogfQogCiAKQEAgLTMxMyw3ICszMzQsNyBAQAogICAgIGVsc2UKICAgICAgICAgZnVuYyA9IHNpZ25hbF9oYW5kbGVyOwogICAgIGlmIChQeU9TX3NldHNpZyhzaWdfbnVtLCBmdW5jKSA9PSBTSUdfRVJSKSB7Ci0gICAgICAgIFB5RXJyX1NldEZyb21FcnJubyhQeUV4Y19SdW50aW1lRXJyb3IpOworICAgICAgICBQeUVycl9TZXRGcm9tRXJybm8oUHlFeGNfT1NFcnJvcik7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KICAgICBvbGRfaGFuZGxlciA9IEhhbmRsZXJzW3NpZ19udW1dLmZ1bmM7CkBAIC0zODIsNyArNDAzLDcgQEAKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogICAgIGlmIChzaWdpbnRlcnJ1cHQoc2lnX251bSwgZmxhZyk8MCkgewotICAgICAgICBQeUVycl9TZXRGcm9tRXJybm8oUHlFeGNfUnVudGltZUVycm9yKTsKKyAgICAgICAgUHlFcnJfU2V0RnJvbUVycm5vKFB5RXhjX09TRXJyb3IpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAKQEAgLTQ5NSw2ICs1MTYsMzQxIEBACiBSZXR1cm5zIGN1cnJlbnQgdmFsdWUgb2YgZ2l2ZW4gaXRpbWVyLiIpOwogI2VuZGlmCiAKKyNpZiBkZWZpbmVkKFBZUFRIUkVBRF9TSUdNQVNLKSB8fCBkZWZpbmVkKEhBVkVfU0lHV0FJVCkgfHwgXAorICAgICAgICBkZWZpbmVkKEhBVkVfU0lHV0FJVElORk8pIHx8IGRlZmluZWQoSEFWRV9TSUdUSU1FRFdBSVQpCisvKiBDb252ZXJ0IGFuIGl0ZXJhYmxlIHRvIGEgc2lnc2V0LgorICAgUmV0dXJuIDAgb24gc3VjY2VzcywgcmV0dXJuIC0xIGFuZCByYWlzZSBhbiBleGNlcHRpb24gb24gZXJyb3IuICovCisKK3N0YXRpYyBpbnQKK2l0ZXJhYmxlX3RvX3NpZ3NldChQeU9iamVjdCAqaXRlcmFibGUsIHNpZ3NldF90ICptYXNrKQoreworICAgIGludCByZXN1bHQgPSAtMTsKKyAgICBQeU9iamVjdCAqaXRlcmF0b3IsICppdGVtOworICAgIGxvbmcgc2lnbnVtOworICAgIGludCBlcnI7CisKKyAgICBzaWdlbXB0eXNldChtYXNrKTsKKworICAgIGl0ZXJhdG9yID0gUHlPYmplY3RfR2V0SXRlcihpdGVyYWJsZSk7CisgICAgaWYgKGl0ZXJhdG9yID09IE5VTEwpCisgICAgICAgIGdvdG8gZXJyb3I7CisKKyAgICB3aGlsZSAoMSkKKyAgICB7CisgICAgICAgIGl0ZW0gPSBQeUl0ZXJfTmV4dChpdGVyYXRvcik7CisgICAgICAgIGlmIChpdGVtID09IE5VTEwpIHsKKyAgICAgICAgICAgIGlmIChQeUVycl9PY2N1cnJlZCgpKQorICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKworICAgICAgICBzaWdudW0gPSBQeUxvbmdfQXNMb25nKGl0ZW0pOworICAgICAgICBQeV9ERUNSRUYoaXRlbSk7CisgICAgICAgIGlmIChzaWdudW0gPT0gLTEgJiYgUHlFcnJfT2NjdXJyZWQoKSkKKyAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgIGlmICgwIDwgc2lnbnVtICYmIHNpZ251bSA8IE5TSUcpCisgICAgICAgICAgICBlcnIgPSBzaWdhZGRzZXQobWFzaywgKGludClzaWdudW0pOworICAgICAgICBlbHNlCisgICAgICAgICAgICBlcnIgPSAxOworICAgICAgICBpZiAoZXJyKSB7CisgICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVmFsdWVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAic2lnbmFsIG51bWJlciAlbGQgb3V0IG9mIHJhbmdlIiwgc2lnbnVtKTsKKyAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgIH0KKyAgICB9CisgICAgcmVzdWx0ID0gMDsKKworZXJyb3I6CisgICAgUHlfWERFQ1JFRihpdGVyYXRvcik7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKyNlbmRpZgorCisjaWYgZGVmaW5lZChQWVBUSFJFQURfU0lHTUFTSykgfHwgZGVmaW5lZChIQVZFX1NJR1BFTkRJTkcpCitzdGF0aWMgUHlPYmplY3QqCitzaWdzZXRfdG9fc2V0KHNpZ3NldF90IG1hc2spCit7CisgICAgUHlPYmplY3QgKnNpZ251bSwgKnJlc3VsdDsKKyAgICBpbnQgc2lnOworCisgICAgcmVzdWx0ID0gUHlTZXRfTmV3KDApOworICAgIGlmIChyZXN1bHQgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICBmb3IgKHNpZyA9IDE7IHNpZyA8IE5TSUc7IHNpZysrKSB7CisgICAgICAgIGlmIChzaWdpc21lbWJlcigmbWFzaywgc2lnKSAhPSAxKQorICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgLyogSGFuZGxlIHRoZSBjYXNlIHdoZXJlIGl0IGlzIGEgbWVtYmVyIGJ5IGFkZGluZyB0aGUgc2lnbmFsIHRvCisgICAgICAgICAgIHRoZSByZXN1bHQgbGlzdC4gIElnbm9yZSB0aGUgb3RoZXIgY2FzZXMgYmVjYXVzZSB0aGV5IG1lYW4gdGhlCisgICAgICAgICAgIHNpZ25hbCBpc24ndCBhIG1lbWJlciBvZiB0aGUgbWFzayBvciB0aGUgc2lnbmFsIHdhcyBpbnZhbGlkLAorICAgICAgICAgICBhbmQgYW4gaW52YWxpZCBzaWduYWwgbXVzdCBoYXZlIGJlZW4gb3VyIGZhdWx0IGluIGNvbnN0cnVjdGluZworICAgICAgICAgICB0aGUgbG9vcCBib3VuZGFyaWVzLiAqLworICAgICAgICBzaWdudW0gPSBQeUxvbmdfRnJvbUxvbmcoc2lnKTsKKyAgICAgICAgaWYgKHNpZ251bSA9PSBOVUxMKSB7CisgICAgICAgICAgICBQeV9ERUNSRUYocmVzdWx0KTsKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICB9CisgICAgICAgIGlmIChQeVNldF9BZGQocmVzdWx0LCBzaWdudW0pID09IC0xKSB7CisgICAgICAgICAgICBQeV9ERUNSRUYoc2lnbnVtKTsKKyAgICAgICAgICAgIFB5X0RFQ1JFRihyZXN1bHQpOworICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIH0KKyAgICAgICAgUHlfREVDUkVGKHNpZ251bSk7CisgICAgfQorICAgIHJldHVybiByZXN1bHQ7Cit9CisjZW5kaWYKKworI2lmZGVmIFBZUFRIUkVBRF9TSUdNQVNLCitzdGF0aWMgUHlPYmplY3QgKgorc2lnbmFsX3B0aHJlYWRfc2lnbWFzayhQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgaW50IGhvdzsKKyAgICBQeU9iamVjdCAqc2lnbmFsczsKKyAgICBzaWdzZXRfdCBtYXNrLCBwcmV2aW91czsKKyAgICBpbnQgZXJyOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJpTzpwdGhyZWFkX3NpZ21hc2siLCAmaG93LCAmc2lnbmFscykpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgaWYgKGl0ZXJhYmxlX3RvX3NpZ3NldChzaWduYWxzLCAmbWFzaykpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgZXJyID0gcHRocmVhZF9zaWdtYXNrKGhvdywgJm1hc2ssICZwcmV2aW91cyk7CisgICAgaWYgKGVyciAhPSAwKSB7CisgICAgICAgIGVycm5vID0gZXJyOworICAgICAgICBQeUVycl9TZXRGcm9tRXJybm8oUHlFeGNfT1NFcnJvcik7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKworICAgIC8qIGlmIHNpZ25hbHMgd2FzIHVuYmxvY2tlZCwgc2lnbmFsIGhhbmRsZXJzIGhhdmUgYmVlbiBjYWxsZWQgKi8KKyAgICBpZiAoUHlFcnJfQ2hlY2tTaWduYWxzKCkpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgcmV0dXJuIHNpZ3NldF90b19zZXQocHJldmlvdXMpOworfQorCitQeURvY19TVFJWQVIoc2lnbmFsX3B0aHJlYWRfc2lnbWFza19kb2MsCisicHRocmVhZF9zaWdtYXNrKGhvdywgbWFzaykgLT4gb2xkIG1hc2tcblwKK1xuXAorRmV0Y2ggYW5kL29yIGNoYW5nZSB0aGUgc2lnbmFsIG1hc2sgb2YgdGhlIGNhbGxpbmcgdGhyZWFkLiIpOworI2VuZGlmICAgLyogI2lmZGVmIFBZUFRIUkVBRF9TSUdNQVNLICovCisKKworI2lmZGVmIEhBVkVfU0lHUEVORElORworc3RhdGljIFB5T2JqZWN0ICoKK3NpZ25hbF9zaWdwZW5kaW5nKFB5T2JqZWN0ICpzZWxmKQoreworICAgIGludCBlcnI7CisgICAgc2lnc2V0X3QgbWFzazsKKyAgICBlcnIgPSBzaWdwZW5kaW5nKCZtYXNrKTsKKyAgICBpZiAoZXJyKQorICAgICAgICByZXR1cm4gUHlFcnJfU2V0RnJvbUVycm5vKFB5RXhjX09TRXJyb3IpOworICAgIHJldHVybiBzaWdzZXRfdG9fc2V0KG1hc2spOworfQorCitQeURvY19TVFJWQVIoc2lnbmFsX3NpZ3BlbmRpbmdfZG9jLAorInNpZ3BlbmRpbmcoKSAtPiBsaXN0XG5cCitcblwKK0V4YW1pbmUgcGVuZGluZyBzaWduYWxzLiIpOworI2VuZGlmICAgLyogI2lmZGVmIEhBVkVfU0lHUEVORElORyAqLworCisKKyNpZmRlZiBIQVZFX1NJR1dBSVQKK3N0YXRpYyBQeU9iamVjdCAqCitzaWduYWxfc2lnd2FpdChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKnNpZ25hbHM7CisgICAgc2lnc2V0X3Qgc2V0OworICAgIGludCBlcnIsIHNpZ251bTsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiTzpzaWd3YWl0IiwgJnNpZ25hbHMpKQorICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIGlmIChpdGVyYWJsZV90b19zaWdzZXQoc2lnbmFscywgJnNldCkpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUworICAgIGVyciA9IHNpZ3dhaXQoJnNldCwgJnNpZ251bSk7CisgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKKyAgICBpZiAoZXJyKSB7CisgICAgICAgIGVycm5vID0gZXJyOworICAgICAgICByZXR1cm4gUHlFcnJfU2V0RnJvbUVycm5vKFB5RXhjX09TRXJyb3IpOworICAgIH0KKworICAgIHJldHVybiBQeUxvbmdfRnJvbUxvbmcoc2lnbnVtKTsKK30KKworUHlEb2NfU1RSVkFSKHNpZ25hbF9zaWd3YWl0X2RvYywKKyJzaWd3YWl0KHNpZ3NldCkgLT4gc2lnbnVtXG5cCitcblwKK1dhaXQgYSBzaWduYWwuIik7CisjZW5kaWYgICAvKiAjaWZkZWYgSEFWRV9TSUdQRU5ESU5HICovCisKKyNpZiBkZWZpbmVkKEhBVkVfU0lHV0FJVElORk8pIHx8IGRlZmluZWQoSEFWRV9TSUdUSU1FRFdBSVQpCitzdGF0aWMgaW50IGluaXRpYWxpemVkOworc3RhdGljIFB5U3RydWN0U2VxdWVuY2VfRmllbGQgc3RydWN0X3NpZ2luZm9fZmllbGRzW10gPSB7CisgICAgeyJzaV9zaWdubyIsICAgICAgICAic2lnbmFsIG51bWJlciJ9LAorICAgIHsic2lfY29kZSIsICAgICAgICAgInNpZ25hbCBjb2RlIn0sCisgICAgeyJzaV9lcnJubyIsICAgICAgICAiZXJybm8gYXNzb2NpYXRlZCB3aXRoIHRoaXMgc2lnbmFsIn0sCisgICAgeyJzaV9waWQiLCAgICAgICAgICAic2VuZGluZyBwcm9jZXNzIElEIn0sCisgICAgeyJzaV91aWQiLCAgICAgICAgICAicmVhbCB1c2VyIElEIG9mIHNlbmRpbmcgcHJvY2VzcyJ9LAorICAgIHsic2lfc3RhdHVzIiwgICAgICAgImV4aXQgdmFsdWUgb3Igc2lnbmFsIn0sCisgICAgeyJzaV9iYW5kIiwgICAgICAgICAiYmFuZCBldmVudCBmb3IgU0lHUE9MTCJ9LAorICAgIHswfQorfTsKKworUHlEb2NfU1RSVkFSKHN0cnVjdF9zaWdpbmZvX19kb2NfXywKKyJzdHJ1Y3Rfc2lnaW5mbzogUmVzdWx0IGZyb20gc2lnd2FpdGluZm8gb3Igc2lndGltZWR3YWl0LlxuXG5cCitUaGlzIG9iamVjdCBtYXkgYmUgYWNjZXNzZWQgZWl0aGVyIGFzIGEgdHVwbGUgb2ZcblwKKyhzaV9zaWdubywgc2lfY29kZSwgc2lfZXJybm8sIHNpX3BpZCwgc2lfdWlkLCBzaV9zdGF0dXMsIHNpX2JhbmQpLFxuXAorb3IgdmlhIHRoZSBhdHRyaWJ1dGVzIHNpX3NpZ25vLCBzaV9jb2RlLCBhbmQgc28gb24uIik7CisKK3N0YXRpYyBQeVN0cnVjdFNlcXVlbmNlX0Rlc2Mgc3RydWN0X3NpZ2luZm9fZGVzYyA9IHsKKyAgICAic2lnbmFsLnN0cnVjdF9zaWdpbmZvIiwgICAgICAgICAgIC8qIG5hbWUgKi8KKyAgICBzdHJ1Y3Rfc2lnaW5mb19fZG9jX18sICAgICAgIC8qIGRvYyAqLworICAgIHN0cnVjdF9zaWdpbmZvX2ZpZWxkcywgICAgICAgLyogZmllbGRzICovCisgICAgNyAgICAgICAgICAvKiBuX2luX3NlcXVlbmNlICovCit9OworCitzdGF0aWMgUHlUeXBlT2JqZWN0IFNpZ2luZm9UeXBlOworCitzdGF0aWMgUHlPYmplY3QgKgorZmlsbF9zaWdpbmZvKHNpZ2luZm9fdCAqc2kpCit7CisgICAgUHlPYmplY3QgKnJlc3VsdCA9IFB5U3RydWN0U2VxdWVuY2VfTmV3KCZTaWdpbmZvVHlwZSk7CisgICAgaWYgKCFyZXN1bHQpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgUHlTdHJ1Y3RTZXF1ZW5jZV9TRVRfSVRFTShyZXN1bHQsIDAsIFB5TG9uZ19Gcm9tTG9uZygobG9uZykoc2ktPnNpX3NpZ25vKSkpOworICAgIFB5U3RydWN0U2VxdWVuY2VfU0VUX0lURU0ocmVzdWx0LCAxLCBQeUxvbmdfRnJvbUxvbmcoKGxvbmcpKHNpLT5zaV9jb2RlKSkpOworICAgIFB5U3RydWN0U2VxdWVuY2VfU0VUX0lURU0ocmVzdWx0LCAyLCBQeUxvbmdfRnJvbUxvbmcoKGxvbmcpKHNpLT5zaV9lcnJubykpKTsKKyAgICBQeVN0cnVjdFNlcXVlbmNlX1NFVF9JVEVNKHJlc3VsdCwgMywgUHlMb25nX0Zyb21QaWQoc2ktPnNpX3BpZCkpOworICAgIFB5U3RydWN0U2VxdWVuY2VfU0VUX0lURU0ocmVzdWx0LCA0LCBQeUxvbmdfRnJvbUxvbmcoKGxvbmcpKHNpLT5zaV91aWQpKSk7CisgICAgUHlTdHJ1Y3RTZXF1ZW5jZV9TRVRfSVRFTShyZXN1bHQsIDUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5TG9uZ19Gcm9tTG9uZygobG9uZykoc2ktPnNpX3N0YXR1cykpKTsKKyAgICBQeVN0cnVjdFNlcXVlbmNlX1NFVF9JVEVNKHJlc3VsdCwgNiwgUHlMb25nX0Zyb21Mb25nKHNpLT5zaV9iYW5kKSk7CisgICAgaWYgKFB5RXJyX09jY3VycmVkKCkpIHsKKyAgICAgICAgUHlfREVDUkVGKHJlc3VsdCk7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKworICAgIHJldHVybiByZXN1bHQ7Cit9CisjZW5kaWYKKworI2lmZGVmIEhBVkVfU0lHV0FJVElORk8KK3N0YXRpYyBQeU9iamVjdCAqCitzaWduYWxfc2lnd2FpdGluZm8oUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpzaWduYWxzOworICAgIHNpZ3NldF90IHNldDsKKyAgICBzaWdpbmZvX3Qgc2k7CisgICAgaW50IGVycjsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiTzpzaWd3YWl0aW5mbyIsICZzaWduYWxzKSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICBpZiAoaXRlcmFibGVfdG9fc2lnc2V0KHNpZ25hbHMsICZzZXQpKQorICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKKyAgICBlcnIgPSBzaWd3YWl0aW5mbygmc2V0LCAmc2kpOworICAgIFB5X0VORF9BTExPV19USFJFQURTCisgICAgaWYgKGVyciA9PSAtMSkKKyAgICAgICAgcmV0dXJuIFB5RXJyX1NldEZyb21FcnJubyhQeUV4Y19PU0Vycm9yKTsKKworICAgIHJldHVybiBmaWxsX3NpZ2luZm8oJnNpKTsKK30KKworUHlEb2NfU1RSVkFSKHNpZ25hbF9zaWd3YWl0aW5mb19kb2MsCisic2lnd2FpdGluZm8oc2lnc2V0KSAtPiBzdHJ1Y3Rfc2lnaW5mb1xuXAorXG5cCitXYWl0IHN5bmNocm9ub3VzbHkgZm9yIGEgc2lnbmFsIHVudGlsIG9uZSBvZiB0aGUgc2lnbmFscyBpbiAqc2lnc2V0KiBpc1xuXAorZGVsaXZlcmVkLlxuXAorUmV0dXJucyBhIHN0cnVjdF9zaWdpbmZvIGNvbnRhaW5pbmcgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHNpZ25hbC4iKTsKKyNlbmRpZiAgIC8qICNpZmRlZiBIQVZFX1NJR1dBSVRJTkZPICovCisKKyNpZmRlZiBIQVZFX1NJR1RJTUVEV0FJVAorc3RhdGljIFB5T2JqZWN0ICoKK3NpZ25hbF9zaWd0aW1lZHdhaXQoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpzaWduYWxzLCAqdGltZW91dDsKKyAgICBzdHJ1Y3QgdGltZXNwZWMgYnVmOworICAgIHNpZ3NldF90IHNldDsKKyAgICBzaWdpbmZvX3Qgc2k7CisgICAgaW50IGVycjsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiT086c2lndGltZWR3YWl0IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgJnNpZ25hbHMsICZ0aW1lb3V0KSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICBpZiAoX1B5VGltZV9PYmplY3RUb1RpbWVzcGVjKHRpbWVvdXQsICZidWYudHZfc2VjLCAmYnVmLnR2X25zZWMpID09IC0xKQorICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIGlmIChidWYudHZfc2VjIDwgMCB8fCBidWYudHZfbnNlYyA8IDApIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsICJ0aW1lb3V0IG11c3QgYmUgbm9uLW5lZ2F0aXZlIik7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKworICAgIGlmIChpdGVyYWJsZV90b19zaWdzZXQoc2lnbmFscywgJnNldCkpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUworICAgIGVyciA9IHNpZ3RpbWVkd2FpdCgmc2V0LCAmc2ksICZidWYpOworICAgIFB5X0VORF9BTExPV19USFJFQURTCisgICAgaWYgKGVyciA9PSAtMSkgeworICAgICAgICBpZiAoZXJybm8gPT0gRUFHQUlOKQorICAgICAgICAgICAgUHlfUkVUVVJOX05PTkU7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHJldHVybiBQeUVycl9TZXRGcm9tRXJybm8oUHlFeGNfT1NFcnJvcik7CisgICAgfQorCisgICAgcmV0dXJuIGZpbGxfc2lnaW5mbygmc2kpOworfQorCitQeURvY19TVFJWQVIoc2lnbmFsX3NpZ3RpbWVkd2FpdF9kb2MsCisic2lndGltZWR3YWl0KHNpZ3NldCwgKHRpbWVvdXRfc2VjLCB0aW1lb3V0X25zZWMpKSAtPiBzdHJ1Y3Rfc2lnaW5mb1xuXAorXG5cCitMaWtlIHNpZ3dhaXRpbmZvKCksIGJ1dCB3aXRoIGEgdGltZW91dCBzcGVjaWZpZWQgYXMgYSB0dXBsZSBvZiAoc2Vjb25kcyxcblwKK25hbm9zZWNvbmRzKS4iKTsKKyNlbmRpZiAgIC8qICNpZmRlZiBIQVZFX1NJR1RJTUVEV0FJVCAqLworCisKKyNpZiBkZWZpbmVkKEhBVkVfUFRIUkVBRF9LSUxMKSAmJiBkZWZpbmVkKFdJVEhfVEhSRUFEKQorc3RhdGljIFB5T2JqZWN0ICoKK3NpZ25hbF9wdGhyZWFkX2tpbGwoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQoreworICAgIGxvbmcgdGlkOworICAgIGludCBzaWdudW07CisgICAgaW50IGVycjsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAibGk6cHRocmVhZF9raWxsIiwgJnRpZCwgJnNpZ251bSkpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgZXJyID0gcHRocmVhZF9raWxsKChwdGhyZWFkX3QpdGlkLCBzaWdudW0pOworICAgIGlmIChlcnIgIT0gMCkgeworICAgICAgICBlcnJubyA9IGVycjsKKyAgICAgICAgUHlFcnJfU2V0RnJvbUVycm5vKFB5RXhjX09TRXJyb3IpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisKKyAgICAvKiB0aGUgc2lnbmFsIG1heSBoYXZlIGJlZW4gc2VuZCB0byB0aGUgY3VycmVudCB0aHJlYWQgKi8KKyAgICBpZiAoUHlFcnJfQ2hlY2tTaWduYWxzKCkpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgUHlfUkVUVVJOX05PTkU7Cit9CisKK1B5RG9jX1NUUlZBUihzaWduYWxfcHRocmVhZF9raWxsX2RvYywKKyJwdGhyZWFkX2tpbGwodGhyZWFkX2lkLCBzaWdudW0pXG5cCitcblwKK1NlbmQgYSBzaWduYWwgdG8gYSB0aHJlYWQuIik7CisjZW5kaWYgICAvKiAjaWYgZGVmaW5lZChIQVZFX1BUSFJFQURfS0lMTCkgJiYgZGVmaW5lZChXSVRIX1RIUkVBRCkgKi8KKworCiAKIC8qIExpc3Qgb2YgZnVuY3Rpb25zIGRlZmluZWQgaW4gdGhlIG1vZHVsZSAqLwogc3RhdGljIFB5TWV0aG9kRGVmIHNpZ25hbF9tZXRob2RzW10gPSB7CkBAIC01MTUsMTAgKzg3MSwzNCBAQAogI2VuZGlmCiAjaWZkZWYgSEFWRV9QQVVTRQogICAgIHsicGF1c2UiLCAgICAgICAgICAgICAgICAgICAoUHlDRnVuY3Rpb24pc2lnbmFsX3BhdXNlLAotICAgICBNRVRIX05PQVJHUyxwYXVzZV9kb2N9LAorICAgICBNRVRIX05PQVJHUywgcGF1c2VfZG9jfSwKICNlbmRpZgogICAgIHsiZGVmYXVsdF9pbnRfaGFuZGxlciIsIHNpZ25hbF9kZWZhdWx0X2ludF9oYW5kbGVyLAogICAgICBNRVRIX1ZBUkFSR1MsIGRlZmF1bHRfaW50X2hhbmRsZXJfZG9jfSwKKyNpZiBkZWZpbmVkKEhBVkVfUFRIUkVBRF9LSUxMKSAmJiBkZWZpbmVkKFdJVEhfVEhSRUFEKQorICAgIHsicHRocmVhZF9raWxsIiwgICAgICAgICAgICAoUHlDRnVuY3Rpb24pc2lnbmFsX3B0aHJlYWRfa2lsbCwKKyAgICAgTUVUSF9WQVJBUkdTLCBzaWduYWxfcHRocmVhZF9raWxsX2RvY30sCisjZW5kaWYKKyNpZmRlZiBQWVBUSFJFQURfU0lHTUFTSworICAgIHsicHRocmVhZF9zaWdtYXNrIiwgICAgICAgICAoUHlDRnVuY3Rpb24pc2lnbmFsX3B0aHJlYWRfc2lnbWFzaywKKyAgICAgTUVUSF9WQVJBUkdTLCBzaWduYWxfcHRocmVhZF9zaWdtYXNrX2RvY30sCisjZW5kaWYKKyNpZmRlZiBIQVZFX1NJR1BFTkRJTkcKKyAgICB7InNpZ3BlbmRpbmciLCAgICAgICAgICAgICAgKFB5Q0Z1bmN0aW9uKXNpZ25hbF9zaWdwZW5kaW5nLAorICAgICBNRVRIX05PQVJHUywgc2lnbmFsX3NpZ3BlbmRpbmdfZG9jfSwKKyNlbmRpZgorI2lmZGVmIEhBVkVfU0lHV0FJVAorICAgIHsic2lnd2FpdCIsICAgICAgICAgICAgICAgICAoUHlDRnVuY3Rpb24pc2lnbmFsX3NpZ3dhaXQsCisgICAgIE1FVEhfVkFSQVJHUywgc2lnbmFsX3NpZ3dhaXRfZG9jfSwKKyNlbmRpZgorI2lmZGVmIEhBVkVfU0lHV0FJVElORk8KKyAgICB7InNpZ3dhaXRpbmZvIiwgICAgICAgICAgICAgKFB5Q0Z1bmN0aW9uKXNpZ25hbF9zaWd3YWl0aW5mbywKKyAgICAgTUVUSF9WQVJBUkdTLCBzaWduYWxfc2lnd2FpdGluZm9fZG9jfSwKKyNlbmRpZgorI2lmZGVmIEhBVkVfU0lHVElNRURXQUlUCisgICAgeyJzaWd0aW1lZHdhaXQiLCAgICAgICAgICAgIChQeUNGdW5jdGlvbilzaWduYWxfc2lndGltZWR3YWl0LAorICAgICBNRVRIX1ZBUkFSR1MsIHNpZ25hbF9zaWd0aW1lZHdhaXRfZG9jfSwKKyNlbmRpZgogICAgIHtOVUxMLCAgICAgICAgICAgICAgICAgICAgICBOVUxMfSAgICAgICAgICAgLyogc2VudGluZWwgKi8KIH07CiAKQEAgLTU4Nyw2ICs5NjcsMTUgQEAKICAgICBpZiAobSA9PSBOVUxMKQogICAgICAgICByZXR1cm4gTlVMTDsKIAorI2lmIGRlZmluZWQoSEFWRV9TSUdXQUlUSU5GTykgfHwgZGVmaW5lZChIQVZFX1NJR1RJTUVEV0FJVCkKKyAgICBpZiAoIWluaXRpYWxpemVkKQorICAgICAgICBQeVN0cnVjdFNlcXVlbmNlX0luaXRUeXBlKCZTaWdpbmZvVHlwZSwgJnN0cnVjdF9zaWdpbmZvX2Rlc2MpOworCisgICAgUHlfSU5DUkVGKChQeU9iamVjdCopICZTaWdpbmZvVHlwZSk7CisgICAgUHlNb2R1bGVfQWRkT2JqZWN0KG0sICJzdHJ1Y3Rfc2lnaW5mbyIsIChQeU9iamVjdCopICZTaWdpbmZvVHlwZSk7CisgICAgaW5pdGlhbGl6ZWQgPSAxOworI2VuZGlmCisKICAgICAvKiBBZGQgc29tZSBzeW1ib2xpYyBjb25zdGFudHMgdG8gdGhlIG1vZHVsZSAqLwogICAgIGQgPSBQeU1vZHVsZV9HZXREaWN0KG0pOwogCkBAIC02MDMsNiArOTkyLDE5IEBACiAgICAgICAgIGdvdG8gZmluYWxseTsKICAgICBQeV9ERUNSRUYoeCk7CiAKKyNpZmRlZiBTSUdfQkxPQ0sKKyAgICBpZiAoUHlNb2R1bGVfQWRkSW50TWFjcm8obSwgU0lHX0JMT0NLKSkKKyAgICAgICAgIGdvdG8gZmluYWxseTsKKyNlbmRpZgorI2lmZGVmIFNJR19VTkJMT0NLCisgICAgaWYgKFB5TW9kdWxlX0FkZEludE1hY3JvKG0sIFNJR19VTkJMT0NLKSkKKyAgICAgICAgIGdvdG8gZmluYWxseTsKKyNlbmRpZgorI2lmZGVmIFNJR19TRVRNQVNLCisgICAgaWYgKFB5TW9kdWxlX0FkZEludE1hY3JvKG0sIFNJR19TRVRNQVNLKSkKKyAgICAgICAgIGdvdG8gZmluYWxseTsKKyNlbmRpZgorCiAgICAgeCA9IEludEhhbmRsZXIgPSBQeURpY3RfR2V0SXRlbVN0cmluZyhkLCAiZGVmYXVsdF9pbnRfaGFuZGxlciIpOwogICAgIGlmICgheCkKICAgICAgICAgZ290byBmaW5hbGx5OwpAQCAtODU1LDYgKzEyNTcsMTEgQEAKICAgICBQeV9ERUNSRUYoeCk7CiAjZW5kaWYKIAorI2lmZGVmIE1TX1dJTkRPV1MKKyAgICAvKiBDcmVhdGUgbWFudWFsLXJlc2V0IGV2ZW50LCBpbml0aWFsbHkgdW5zZXQgKi8KKyAgICBzaWdpbnRfZXZlbnQgPSBDcmVhdGVFdmVudChOVUxMLCBUUlVFLCBGQUxTRSwgRkFMU0UpOworI2VuZGlmCisKICAgICBpZiAoUHlFcnJfT2NjdXJyZWQoKSkgewogICAgICAgICBQeV9ERUNSRUYobSk7CiAgICAgICAgIG0gPSBOVUxMOwpAQCAtMTAwMSwzICsxNDA4LDI1IEBACiAgICAgX1B5SW1wb3J0X1JlSW5pdExvY2soKTsKICNlbmRpZgogfQorCitpbnQKK19QeU9TX0lzTWFpblRocmVhZCh2b2lkKQoreworI2lmZGVmIFdJVEhfVEhSRUFECisgICAgcmV0dXJuIFB5VGhyZWFkX2dldF90aHJlYWRfaWRlbnQoKSA9PSBtYWluX3RocmVhZDsKKyNlbHNlCisgICAgcmV0dXJuIDE7CisjZW5kaWYKK30KKworI2lmZGVmIE1TX1dJTkRPV1MKK3ZvaWQgKl9QeU9TX1NpZ2ludEV2ZW50KHZvaWQpCit7CisgICAgLyogUmV0dXJucyBhIG1hbnVhbC1yZXNldCBldmVudCB3aGljaCBnZXRzIHRyaXBwZWQgd2hlbmV2ZXIKKyAgICAgICBTSUdJTlQgaXMgcmVjZWl2ZWQuCisKKyAgICAgICBQeXRob24uaCBkb2VzIG5vdCBpbmNsdWRlIHdpbmRvd3MuaCBzbyB3ZSBkbyBjYW5ub3QgdXNlIEhBTkRMRQorICAgICAgIGFzIHRoZSByZXR1cm4gdHlwZSBvZiB0aGlzIGZ1bmN0aW9uLiAgV2UgdXNlIHZvaWQqIGluc3RlYWQuICovCisgICAgcmV0dXJuIHNpZ2ludF9ldmVudDsKK30KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9zb2NrZXRtb2R1bGUuYyBiL01vZHVsZXMvc29ja2V0bW9kdWxlLmMKaW5kZXggMzIwMjI3Zi4uZGYxYzlmOSAxMDA2NDQKLS0tIGEvTW9kdWxlcy9zb2NrZXRtb2R1bGUuYworKysgYi9Nb2R1bGVzL3NvY2tldG1vZHVsZS5jCkBAIC00Miw2ICs0Miw5IEBACiAtIHNvY2tldC5pbmV0X250b2EocGFja2VkIElQKSAtPiBJUCBhZGRyZXNzIHN0cmluZwogLSBzb2NrZXQuZ2V0ZGVmYXVsdHRpbWVvdXQoKSAtPiBOb25lIHwgZmxvYXQKIC0gc29ja2V0LnNldGRlZmF1bHR0aW1lb3V0KE5vbmUgfCBmbG9hdCkKKy0gc29ja2V0LmlmX25hbWVpbmRleCgpIC0+IGxpc3Qgb2YgdHVwbGVzIChpZl9pbmRleCwgaWZfbmFtZSkKKy0gc29ja2V0LmlmX25hbWV0b2luZGV4KG5hbWUpIC0+IGNvcnJlc3BvbmRpbmcgaW50ZXJmYWNlIGluZGV4CistIHNvY2tldC5pZl9pbmRleHRvbmFtZShpbmRleCkgLT4gY29ycmVzcG9uZGluZyBpbnRlcmZhY2UgbmFtZQogLSBhbiBJbnRlcm5ldCBzb2NrZXQgYWRkcmVzcyBpcyBhIHBhaXIgKGhvc3RuYW1lLCBwb3J0KQogICB3aGVyZSBob3N0bmFtZSBjYW4gYmUgYW55dGhpbmcgcmVjb2duaXplZCBieSBnZXRob3N0YnluYW1lKCkKICAgKGluY2x1ZGluZyB0aGUgZGQuZGQuZGQuZGQgbm90YXRpb24pIGFuZCBwb3J0IGlzIGluIGhvc3QgYnl0ZSBvcmRlcgpAQCAtMTMzLDYgKzEzNiw5IEBACiBzZXRzb2Nrb3B0KGxldmVsLCBvcHRuYW1lLCB2YWx1ZSkgLS0gc2V0IHNvY2tldCBvcHRpb25zXG5cCiBzZXR0aW1lb3V0KE5vbmUgfCBmbG9hdCkgLS0gc2V0IG9yIGNsZWFyIHRoZSB0aW1lb3V0XG5cCiBzaHV0ZG93bihob3cpIC0tIHNodXQgZG93biB0cmFmZmljIGluIG9uZSBvciBib3RoIGRpcmVjdGlvbnNcblwKK2lmX25hbWVpbmRleCgpIC0tIHJldHVybiBhbGwgbmV0d29yayBpbnRlcmZhY2UgaW5kaWNlcyBhbmQgbmFtZXNcblwKK2lmX25hbWV0b2luZGV4KG5hbWUpIC0tIHJldHVybiB0aGUgY29ycmVzcG9uZGluZyBpbnRlcmZhY2UgaW5kZXhcblwKK2lmX2luZGV4dG9uYW1lKGluZGV4KSAtLSByZXR1cm4gdGhlIGNvcnJlc3BvbmRpbmcgaW50ZXJmYWNlIG5hbWVcblwKIFxuXAogIFsqXSBub3QgYXZhaWxhYmxlIG9uIGFsbCBwbGF0Zm9ybXMhIik7CiAKQEAgLTE1MCwxMiArMTU2LDE2IEBACiAjIHVuZGVmIEhBVkVfR0VUSE9TVEJZTkFNRV9SXzZfQVJHCiAjZW5kaWYKIAorI2lmIGRlZmluZWQoX19PcGVuQlNEX18pCisjIGluY2x1ZGUgPHN5cy91aW8uaD4KKyNlbmRpZgorCiAjaWZuZGVmIFdJVEhfVEhSRUFECiAjIHVuZGVmIEhBVkVfR0VUSE9TVEJZTkFNRV9SCiAjZW5kaWYKIAogI2lmZGVmIEhBVkVfR0VUSE9TVEJZTkFNRV9SCi0jIGlmIGRlZmluZWQoX0FJWCkgfHwgZGVmaW5lZChfX29zZl9fKQorIyBpZiBkZWZpbmVkKF9BSVgpCiAjICBkZWZpbmUgSEFWRV9HRVRIT1NUQllOQU1FX1JfM19BUkcKICMgZWxpZiBkZWZpbmVkKF9fc3VuKSB8fCBkZWZpbmVkKF9fc2dpKQogIyAgZGVmaW5lIEhBVkVfR0VUSE9TVEJZTkFNRV9SXzVfQVJHCkBAIC0yMDgsNiArMjE4LDExIEBACiAjICBpbmNsdWRlIDxpb2N0bC5oPgogI2VuZGlmCiAKKyNpZmRlZiBfX0FQUExFX18KKyMgaW5jbHVkZSA8c3lzL2lvY3RsLmg+CisjZW5kaWYKKworCiAjaWYgZGVmaW5lZChQWU9TX09TMikKICMgZGVmaW5lICBJTkNMX0RPUwogIyBkZWZpbmUgIElOQ0xfRE9TRVJST1JTCkBAIC0yNTAsNiArMjY1LDE0IEBACiAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CiAjZW5kaWYKIAorI2lmZGVmIEhBVkVfU1lTX1NPQ0tFVF9ICisjaW5jbHVkZSA8c3lzL3NvY2tldC5oPgorI2VuZGlmCisKKyNpZmRlZiBIQVZFX05FVF9JRl9ICisjaW5jbHVkZSA8bmV0L2lmLmg+CisjZW5kaWYKKwogLyogR2VuZXJpYyBzb2NrZXQgb2JqZWN0IGRlZmluaXRpb25zIGFuZCBpbmNsdWRlcyAqLwogI2RlZmluZSBQeVNvY2tldF9CVUlMRElOR19TT0NLRVQKICNpbmNsdWRlICJzb2NrZXRtb2R1bGUuaCIKQEAgLTI2MCw2ICsyODMsNyBAQAogCiAvKiBOb24tTVMgV0lORE9XUyBpbmNsdWRlcyAqLwogIyBpbmNsdWRlIDxuZXRkYi5oPgorIyBpbmNsdWRlIDx1bmlzdGQuaD4KIAogLyogSGVhZGVycyBuZWVkZWQgZm9yIGluZXRfbnRvYSgpIGFuZCBpbmV0X2FkZHIoKSAqLwogIyBpZiBkZWZpbmVkKFBZT1NfT1MyKSAmJiBkZWZpbmVkKFBZQ0NfVkFDUFApCkBAIC00MTcsNyArNDQxLDggQEAKICNkZWZpbmUgU0VHTUVOVF9TSVpFICgzMiAqIDEwMjQgLTEpCiAjZW5kaWYKIAotI2RlZmluZSBTQVMyU0EoeCkgICAgICAgKChzdHJ1Y3Qgc29ja2FkZHIgKikoeCkpCisvKiBDb252ZXJ0ICJzb2NrX2FkZHJfdCAqIiB0byAic3RydWN0IHNvY2thZGRyICoiLiAqLworI2RlZmluZSBTQVMyU0EoeCkgICAgICAgKCYoKHgpLT5zYSkpCiAKIC8qCiAgKiBDb25zdGFudHMgZm9yIGdldG5hbWVpbmZvKCkKQEAgLTQzOCw3ICs0NjMsNiBAQAogCiAvKiBHbG9iYWwgdmFyaWFibGUgaG9sZGluZyB0aGUgZXhjZXB0aW9uIHR5cGUgZm9yIGVycm9ycyBkZXRlY3RlZAogICAgYnkgdGhpcyBtb2R1bGUgKGJ1dCBub3QgYXJndW1lbnQgdHlwZSBvciBtZW1vcnkgZXJyb3JzLCBldGMuKS4gKi8KLXN0YXRpYyBQeU9iamVjdCAqc29ja2V0X2Vycm9yOwogc3RhdGljIFB5T2JqZWN0ICpzb2NrZXRfaGVycm9yOwogc3RhdGljIFB5T2JqZWN0ICpzb2NrZXRfZ2FpZXJyb3I7CiBzdGF0aWMgUHlPYmplY3QgKnNvY2tldF90aW1lb3V0OwpAQCAtNDU1LDYgKzQ3OSwxNyBAQAogI2luY2x1ZGUgPHN5cy9wb2xsLmg+CiAjZW5kaWYKIAorLyogTGFyZ2VzdCB2YWx1ZSB0byB0cnkgdG8gc3RvcmUgaW4gYSBzb2NrbGVuX3QgKHVzZWQgd2hlbiBoYW5kbGluZworICAgYW5jaWxsYXJ5IGRhdGEpLiAgUE9TSVggcmVxdWlyZXMgc29ja2xlbl90IHRvIGhvbGQgYXQgbGVhc3QKKyAgICgyKiozMSktMSBhbmQgcmVjb21tZW5kcyBhZ2FpbnN0IHN0b3JpbmcgbGFyZ2VyIHZhbHVlcywgYnV0CisgICBzb2NrbGVuX3Qgd2FzIG9yaWdpbmFsbHkgaW50IGluIHRoZSBCU0QgaW50ZXJmYWNlLCBzbyB0byBiZSBvbiB0aGUKKyAgIHNhZmUgc2lkZSB3ZSB1c2UgdGhlIHNtYWxsZXIgb2YgKDIqKjMxKS0xIGFuZCBJTlRfTUFYLiAqLworI2lmIElOVF9NQVggPiAweDdmZmZmZmZmCisjZGVmaW5lIFNPQ0tMRU5fVF9MSU1JVCAweDdmZmZmZmZmCisjZWxzZQorI2RlZmluZSBTT0NLTEVOX1RfTElNSVQgSU5UX01BWAorI2VuZGlmCisKICNpZmRlZiBIQVZFX1BPTEwKIC8qIEluc3RlYWQgb2Ygc2VsZWN0KCksIHdlJ2xsIHVzZSBwb2xsKCkgc2luY2UgcG9sbCgpIHdvcmtzIG9uIGFueSBmZC4gKi8KICNkZWZpbmUgSVNfU0VMRUNUQUJMRShzKSAxCkBAIC00NjgsNyArNTAzLDcgQEAKIHN0YXRpYyBQeU9iamVjdCoKIHNlbGVjdF9lcnJvcih2b2lkKQogewotICAgIFB5RXJyX1NldFN0cmluZyhzb2NrZXRfZXJyb3IsICJ1bmFibGUgdG8gc2VsZWN0IG9uIHNvY2tldCIpOworICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19PU0Vycm9yLCAidW5hYmxlIHRvIHNlbGVjdCBvbiBzb2NrZXQiKTsKICAgICByZXR1cm4gTlVMTDsKIH0KIApAQCAtNDk1LDcgKzUzMCw3IEBACiAgICAgICAgcmVjb2duaXplcyB0aGUgZXJyb3IgY29kZXMgdXNlZCBieSBib3RoIEdldExhc3RFcnJvcigpIGFuZAogICAgICAgIFdTQUdldExhc3RFcnJvciAqLwogICAgIGlmIChlcnJfbm8pCi0gICAgICAgIHJldHVybiBQeUVycl9TZXRFeGNGcm9tV2luZG93c0Vycihzb2NrZXRfZXJyb3IsIGVycl9ubyk7CisgICAgICAgIHJldHVybiBQeUVycl9TZXRFeGNGcm9tV2luZG93c0VycihQeUV4Y19PU0Vycm9yLCBlcnJfbm8pOwogI2VuZGlmCiAKICNpZiBkZWZpbmVkKFBZT1NfT1MyKSAmJiAhZGVmaW5lZChQWUNDX0dDQykKQEAgLTUyNiw3ICs1NjEsNyBAQAogICAgICAgICAgICAgfQogICAgICAgICAgICAgdiA9IFB5X0J1aWxkVmFsdWUoIihpcykiLCBteWVycm9yY29kZSwgb3V0YnVmKTsKICAgICAgICAgICAgIGlmICh2ICE9IE5VTEwpIHsKLSAgICAgICAgICAgICAgICBQeUVycl9TZXRPYmplY3Qoc29ja2V0X2Vycm9yLCB2KTsKKyAgICAgICAgICAgICAgICBQeUVycl9TZXRPYmplY3QoUHlFeGNfT1NFcnJvciwgdik7CiAgICAgICAgICAgICAgICAgUHlfREVDUkVGKHYpOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CkBAIC01MzQsNyArNTY5LDcgQEAKICAgICB9CiAjZW5kaWYKIAotICAgIHJldHVybiBQeUVycl9TZXRGcm9tRXJybm8oc29ja2V0X2Vycm9yKTsKKyAgICByZXR1cm4gUHlFcnJfU2V0RnJvbUVycm5vKFB5RXhjX09TRXJyb3IpOwogfQogCiAKQEAgLTg1MywxMyArODg4LDEzIEBACiAjZW5kaWYKICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgIGZyZWVhZGRyaW5mbyhyZXMpOwotICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKHNvY2tldF9lcnJvciwKKyAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19PU0Vycm9yLAogICAgICAgICAgICAgICAgICJ1bnN1cHBvcnRlZCBhZGRyZXNzIGZhbWlseSIpOwogICAgICAgICAgICAgcmV0dXJuIC0xOwogICAgICAgICB9CiAgICAgICAgIGlmIChyZXMtPmFpX25leHQpIHsKICAgICAgICAgICAgIGZyZWVhZGRyaW5mbyhyZXMpOwotICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKHNvY2tldF9lcnJvciwKKyAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19PU0Vycm9yLAogICAgICAgICAgICAgICAgICJ3aWxkY2FyZCByZXNvbHZlZCB0byBtdWx0aXBsZSBhZGRyZXNzIik7CiAgICAgICAgICAgICByZXR1cm4gLTE7CiAgICAgICAgIH0KQEAgLTg3Miw3ICs5MDcsNyBAQAogICAgIGlmIChuYW1lWzBdID09ICc8JyAmJiBzdHJjbXAobmFtZSwgIjxicm9hZGNhc3Q+IikgPT0gMCkgewogICAgICAgICBzdHJ1Y3Qgc29ja2FkZHJfaW4gKnNpbjsKICAgICAgICAgaWYgKGFmICE9IEFGX0lORVQgJiYgYWYgIT0gQUZfVU5TUEVDKSB7Ci0gICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoc29ja2V0X2Vycm9yLAorICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX09TRXJyb3IsCiAgICAgICAgICAgICAgICAgImFkZHJlc3MgZmFtaWx5IG1pc21hdGNoZWQiKTsKICAgICAgICAgICAgIHJldHVybiAtMTsKICAgICAgICAgfQpAQCAtOTMwLDcgKzk2NSw3IEBACiAgICAgICAgIHJldHVybiAxNjsKICNlbmRpZgogICAgIGRlZmF1bHQ6Ci0gICAgICAgIFB5RXJyX1NldFN0cmluZyhzb2NrZXRfZXJyb3IsICJ1bmtub3duIGFkZHJlc3MgZmFtaWx5Iik7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19PU0Vycm9yLCAidW5rbm93biBhZGRyZXNzIGZhbWlseSIpOwogICAgICAgICByZXR1cm4gLTE7CiAgICAgfQogfQpAQCAtOTc5LDcgKzEwMTQsNyBAQAogICAgICAgICBiZGFkZHItPmJbNV0gPSBiNTsKICAgICAgICAgcmV0dXJuIDY7CiAgICAgfSBlbHNlIHsKLSAgICAgICAgUHlFcnJfU2V0U3RyaW5nKHNvY2tldF9lcnJvciwgImJhZCBibHVldG9vdGggYWRkcmVzcyIpOworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfT1NFcnJvciwgImJhZCBibHVldG9vdGggYWRkcmVzcyIpOwogICAgICAgICByZXR1cm4gLTE7CiAgICAgfQogfQpAQCAtMTA0NCw3ICsxMDc5LDcgQEAKICNlbmRpZiAvKiBsaW51eCAqLwogICAgICAgICB7CiAgICAgICAgICAgICAvKiByZWd1bGFyIE5VTEwtdGVybWluYXRlZCBzdHJpbmcgKi8KLSAgICAgICAgICAgIHJldHVybiBQeVVuaWNvZGVfRnJvbVN0cmluZyhhLT5zdW5fcGF0aCk7CisgICAgICAgICAgICByZXR1cm4gUHlVbmljb2RlX0RlY29kZUZTRGVmYXVsdChhLT5zdW5fcGF0aCk7CiAgICAgICAgIH0KICAgICB9CiAjZW5kaWYgLyogQUZfVU5JWCAqLwpAQCAtMTE5MCw2ICsxMjI1LDQyIEBACiAgICAgfQogI2VuZGlmCiAKKyNpZmRlZiBBRl9DQU4KKyAgICBjYXNlIEFGX0NBTjoKKyAgICB7CisgICAgICAgIHN0cnVjdCBzb2NrYWRkcl9jYW4gKmEgPSAoc3RydWN0IHNvY2thZGRyX2NhbiAqKWFkZHI7CisgICAgICAgIGNoYXIgKmlmbmFtZSA9ICIiOworICAgICAgICBzdHJ1Y3QgaWZyZXEgaWZyOworICAgICAgICAvKiBuZWVkIHRvIGxvb2sgdXAgaW50ZXJmYWNlIG5hbWUgZ2l2ZW4gaW5kZXggKi8KKyAgICAgICAgaWYgKGEtPmNhbl9pZmluZGV4KSB7CisgICAgICAgICAgICBpZnIuaWZyX2lmaW5kZXggPSBhLT5jYW5faWZpbmRleDsKKyAgICAgICAgICAgIGlmIChpb2N0bChzb2NrZmQsIFNJT0NHSUZOQU1FLCAmaWZyKSA9PSAwKQorICAgICAgICAgICAgICAgIGlmbmFtZSA9IGlmci5pZnJfbmFtZTsKKyAgICAgICAgfQorCisgICAgICAgIHJldHVybiBQeV9CdWlsZFZhbHVlKCJPJmgiLCBQeVVuaWNvZGVfRGVjb2RlRlNEZWZhdWx0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZuYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYS0+Y2FuX2ZhbWlseSk7CisgICAgfQorI2VuZGlmCisKKyNpZmRlZiBQRl9TWVNURU0KKyAgICBjYXNlIFBGX1NZU1RFTToKKyAgICAgICAgc3dpdGNoKHByb3RvKSB7CisjaWZkZWYgU1lTUFJPVE9fQ09OVFJPTAorICAgICAgICBjYXNlIFNZU1BST1RPX0NPTlRST0w6CisgICAgICAgIHsKKyAgICAgICAgICAgIHN0cnVjdCBzb2NrYWRkcl9jdGwgKmEgPSAoc3RydWN0IHNvY2thZGRyX2N0bCAqKWFkZHI7CisgICAgICAgICAgICByZXR1cm4gUHlfQnVpbGRWYWx1ZSgiKElJKSIsIGEtPnNjX2lkLCBhLT5zY191bml0KTsKKyAgICAgICAgfQorI2VuZGlmCisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAiSW52YWxpZCBhZGRyZXNzIHR5cGUiKTsKKyAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICB9CisjZW5kaWYKKwogICAgIC8qIE1vcmUgY2FzZXMgaGVyZS4uLiAqLwogCiAgICAgZGVmYXVsdDoKQEAgLTEyMjEsMTcgKzEyOTIsMjcgQEAKICAgICAgICAgc3RydWN0IHNvY2thZGRyX3VuKiBhZGRyOwogICAgICAgICBjaGFyICpwYXRoOwogICAgICAgICBpbnQgbGVuOwotICAgICAgICBpZiAoIVB5QXJnX1BhcnNlKGFyZ3MsICJzIyIsICZwYXRoLCAmbGVuKSkKLSAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICBpbnQgcmV0dmFsID0gMDsKKworICAgICAgICAvKiBQRVAgMzgzLiAgTm90IHVzaW5nIFB5VW5pY29kZV9GU0NvbnZlcnRlciBzaW5jZSB3ZSBuZWVkIHRvCisgICAgICAgICAgIGFsbG93IGVtYmVkZGVkIG51bGxzIG9uIExpbnV4LiAqLworICAgICAgICBpZiAoUHlVbmljb2RlX0NoZWNrKGFyZ3MpKSB7CisgICAgICAgICAgICBpZiAoKGFyZ3MgPSBQeVVuaWNvZGVfRW5jb2RlRlNEZWZhdWx0KGFyZ3MpKSA9PSBOVUxMKQorICAgICAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICB9CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIFB5X0lOQ1JFRihhcmdzKTsKKyAgICAgICAgaWYgKCFQeUFyZ19QYXJzZShhcmdzLCAieSMiLCAmcGF0aCwgJmxlbikpCisgICAgICAgICAgICBnb3RvIHVuaXhfb3V0OwogCiAgICAgICAgIGFkZHIgPSAoc3RydWN0IHNvY2thZGRyX3VuKilhZGRyX3JldDsKICNpZmRlZiBsaW51eAogICAgICAgICBpZiAobGVuID4gMCAmJiBwYXRoWzBdID09IDApIHsKICAgICAgICAgICAgIC8qIExpbnV4IGFic3RyYWN0IG5hbWVzcGFjZSBleHRlbnNpb24gKi8KICAgICAgICAgICAgIGlmIChsZW4gPiBzaXplb2YgYWRkci0+c3VuX3BhdGgpIHsKLSAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoc29ja2V0X2Vycm9yLAorICAgICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19PU0Vycm9yLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQUZfVU5JWCBwYXRoIHRvbyBsb25nIik7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgICAgICAgICAgZ290byB1bml4X291dDsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgICAgICBlbHNlCkBAIC0xMjM5LDkgKzEzMjAsOSBAQAogICAgICAgICB7CiAgICAgICAgICAgICAvKiByZWd1bGFyIE5VTEwtdGVybWluYXRlZCBzdHJpbmcgKi8KICAgICAgICAgICAgIGlmIChsZW4gPj0gc2l6ZW9mIGFkZHItPnN1bl9wYXRoKSB7Ci0gICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKHNvY2tldF9lcnJvciwKKyAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfT1NFcnJvciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkFGX1VOSVggcGF0aCB0b28gbG9uZyIpOwotICAgICAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICAgICAgICAgIGdvdG8gdW5peF9vdXQ7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBhZGRyLT5zdW5fcGF0aFtsZW5dID0gMDsKICAgICAgICAgfQpAQCAtMTI1Miw3ICsxMzMzLDEwIEBACiAjZWxzZQogICAgICAgICAqbGVuX3JldCA9IGxlbiArIG9mZnNldG9mKHN0cnVjdCBzb2NrYWRkcl91biwgc3VuX3BhdGgpOwogI2VuZGlmCi0gICAgICAgIHJldHVybiAxOworICAgICAgICByZXR2YWwgPSAxOworICAgIHVuaXhfb3V0OgorICAgICAgICBQeV9ERUNSRUYoYXJncyk7CisgICAgICAgIHJldHVybiByZXR2YWw7CiAgICAgfQogI2VuZGlmIC8qIEFGX1VOSVggKi8KIApAQCAtMTI4MCw2ICsxMzY0LDExIEBACiAgICAgfQogI2VuZGlmCiAKKyNpZmRlZiBBRl9SRFMKKyAgICBjYXNlIEFGX1JEUzoKKyAgICAgICAgLyogUkRTIHNvY2tldHMgdXNlIHNvY2thZGRyX2luOiBmYWxsLXRocm91Z2ggKi8KKyNlbmRpZgorCiAgICAgY2FzZSBBRl9JTkVUOgogICAgIHsKICAgICAgICAgc3RydWN0IHNvY2thZGRyX2luKiBhZGRyOwpAQCAtMTM3Niw3ICsxNDY1LDcgQEAKICAgICAgICAgICAgIF9CVF9MMl9NRU1CKGFkZHIsIGZhbWlseSkgPSBBRl9CTFVFVE9PVEg7CiAgICAgICAgICAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgInNpIiwgJnN0cmFkZHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJl9CVF9MMl9NRU1CKGFkZHIsIHBzbSkpKSB7Ci0gICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKHNvY2tldF9lcnJvciwgImdldHNvY2thZGRyYXJnOiAiCisgICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX09TRXJyb3IsICJnZXRzb2NrYWRkcmFyZzogIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAid3JvbmcgZm9ybWF0Iik7CiAgICAgICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgICAgICB9CkBAIC0xMzk1LDcgKzE0ODQsNyBAQAogICAgICAgICAgICAgX0JUX1JDX01FTUIoYWRkciwgZmFtaWx5KSA9IEFGX0JMVUVUT09USDsKICAgICAgICAgICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAic2kiLCAmc3RyYWRkciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmX0JUX1JDX01FTUIoYWRkciwgY2hhbm5lbCkpKSB7Ci0gICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKHNvY2tldF9lcnJvciwgImdldHNvY2thZGRyYXJnOiAiCisgICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX09TRXJyb3IsICJnZXRzb2NrYWRkcmFyZzogIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAid3JvbmcgZm9ybWF0Iik7CiAgICAgICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgICAgICB9CkBAIC0xNDEzLDcgKzE1MDIsNyBAQAogCiAgICAgICAgICAgICAgICAgICAgICAgICBfQlRfSENJX01FTUIoYWRkciwgZmFtaWx5KSA9IEFGX0JMVUVUT09USDsKICAgICAgICAgICAgIGlmIChzdHJhZGRyID09IE5VTEwpIHsKLSAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoc29ja2V0X2Vycm9yLCAiZ2V0c29ja2FkZHJhcmc6ICIKKyAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfT1NFcnJvciwgImdldHNvY2thZGRyYXJnOiAiCiAgICAgICAgICAgICAgICAgICAgICJ3cm9uZyBmb3JtYXQiKTsKICAgICAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgICAgIH0KQEAgLTE0MjIsNyArMTUxMSw3IEBACiAjZWxzZQogICAgICAgICAgICAgX0JUX0hDSV9NRU1CKGFkZHIsIGZhbWlseSkgPSBBRl9CTFVFVE9PVEg7CiAgICAgICAgICAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgImkiLCAmX0JUX0hDSV9NRU1CKGFkZHIsIGRldikpKSB7Ci0gICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKHNvY2tldF9lcnJvciwgImdldHNvY2thZGRyYXJnOiAiCisgICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX09TRXJyb3IsICJnZXRzb2NrYWRkcmFyZzogIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAid3JvbmcgZm9ybWF0Iik7CiAgICAgICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgICAgICB9CkBAIC0xNDM5LDcgKzE1MjgsNyBAQAogICAgICAgICAgICAgYWRkciA9IChzdHJ1Y3Qgc29ja2FkZHJfc2NvICopYWRkcl9yZXQ7CiAgICAgICAgICAgICBfQlRfU0NPX01FTUIoYWRkciwgZmFtaWx5KSA9IEFGX0JMVUVUT09USDsKICAgICAgICAgICAgIGlmICghUHlCeXRlc19DaGVjayhhcmdzKSkgewotICAgICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhzb2NrZXRfZXJyb3IsICJnZXRzb2NrYWRkcmFyZzogIgorICAgICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19PU0Vycm9yLCAiZ2V0c29ja2FkZHJhcmc6ICIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIndyb25nIGZvcm1hdCIpOwogICAgICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICAgICAgfQpAQCAtMTQ1Miw3ICsxNTQxLDcgQEAKICAgICAgICAgfQogI2VuZGlmCiAgICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoc29ja2V0X2Vycm9yLCAiZ2V0c29ja2FkZHJhcmc6IHVua25vd24gQmx1ZXRvb3RoIHByb3RvY29sIik7CisgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfT1NFcnJvciwgImdldHNvY2thZGRyYXJnOiB1bmtub3duIEJsdWV0b290aCBwcm90b2NvbCIpOwogICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgIH0KICAgICB9CkBAIC0xNTY0LDEwICsxNjUzLDExNSBAQAogICAgIH0KICNlbmRpZgogCisjaWZkZWYgQUZfQ0FOCisgICAgY2FzZSBBRl9DQU46CisgICAgICAgIHN3aXRjaCAocy0+c29ja19wcm90bykgeworICAgICAgICBjYXNlIENBTl9SQVc6CisgICAgICAgIHsKKyAgICAgICAgICAgIHN0cnVjdCBzb2NrYWRkcl9jYW4gKmFkZHI7CisgICAgICAgICAgICBQeU9iamVjdCAqaW50ZXJmYWNlTmFtZTsKKyAgICAgICAgICAgIHN0cnVjdCBpZnJlcSBpZnI7CisgICAgICAgICAgICBhZGRyID0gKHN0cnVjdCBzb2NrYWRkcl9jYW4gKilhZGRyX3JldDsKKyAgICAgICAgICAgIFB5X3NzaXplX3QgbGVuOworCisgICAgICAgICAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIk8mIiwgUHlVbmljb2RlX0ZTQ29udmVydGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZpbnRlcmZhY2VOYW1lKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gMDsKKworICAgICAgICAgICAgbGVuID0gUHlCeXRlc19HRVRfU0laRShpbnRlcmZhY2VOYW1lKTsKKworICAgICAgICAgICAgaWYgKGxlbiA9PSAwKSB7CisgICAgICAgICAgICAgICAgaWZyLmlmcl9pZmluZGV4ID0gMDsKKyAgICAgICAgICAgIH0gZWxzZSBpZiAobGVuIDwgc2l6ZW9mKGlmci5pZnJfbmFtZSkpIHsKKyAgICAgICAgICAgICAgICBzdHJjcHkoaWZyLmlmcl9uYW1lLCBQeUJ5dGVzX0FTX1NUUklORyhpbnRlcmZhY2VOYW1lKSk7CisgICAgICAgICAgICAgICAgaWYgKGlvY3RsKHMtPnNvY2tfZmQsIFNJT0NHSUZJTkRFWCwgJmlmcikgPCAwKSB7CisgICAgICAgICAgICAgICAgICAgIHMtPmVycm9yaGFuZGxlcigpOworICAgICAgICAgICAgICAgICAgICBQeV9ERUNSRUYoaW50ZXJmYWNlTmFtZSk7CisgICAgICAgICAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX09TRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJBRl9DQU4gaW50ZXJmYWNlIG5hbWUgdG9vIGxvbmciKTsKKyAgICAgICAgICAgICAgICBQeV9ERUNSRUYoaW50ZXJmYWNlTmFtZSk7CisgICAgICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGFkZHItPmNhbl9mYW1pbHkgPSBBRl9DQU47CisgICAgICAgICAgICBhZGRyLT5jYW5faWZpbmRleCA9IGlmci5pZnJfaWZpbmRleDsKKworICAgICAgICAgICAgKmxlbl9yZXQgPSBzaXplb2YoKmFkZHIpOworICAgICAgICAgICAgUHlfREVDUkVGKGludGVyZmFjZU5hbWUpOworICAgICAgICAgICAgcmV0dXJuIDE7CisgICAgICAgIH0KKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19PU0Vycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICJnZXRzb2NrYWRkcmFyZzogdW5zdXBwb3J0ZWQgQ0FOIHByb3RvY29sIik7CisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgfQorI2VuZGlmCisgICAgICAgICAgICAKKyNpZmRlZiBQRl9TWVNURU0KKyAgICBjYXNlIFBGX1NZU1RFTToKKyAgICAgICAgc3dpdGNoIChzLT5zb2NrX3Byb3RvKSB7CisjaWZkZWYgU1lTUFJPVE9fQ09OVFJPTAorICAgICAgICBjYXNlIFNZU1BST1RPX0NPTlRST0w6CisgICAgICAgIHsKKyAgICAgICAgICAgIHN0cnVjdCBzb2NrYWRkcl9jdGwgKmFkZHI7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIGFkZHIgPSAoc3RydWN0IHNvY2thZGRyX2N0bCAqKWFkZHJfcmV0OworICAgICAgICAgICAgYWRkci0+c2NfZmFtaWx5ID0gQUZfU1lTVEVNOworICAgICAgICAgICAgYWRkci0+c3Nfc3lzYWRkciA9IEFGX1NZU19DT05UUk9MOyAKKworICAgICAgICAgICAgaWYgKFB5VW5pY29kZV9DaGVjayhhcmdzKSkgeworICAgICAgICAgICAgICAgIHN0cnVjdCBjdGxfaW5mbyBpbmZvOworICAgICAgICAgICAgICAgIFB5T2JqZWN0ICpjdGxfbmFtZTsKKworICAgICAgICAgICAgICAgIGlmICghUHlBcmdfUGFyc2UoYXJncywgIk8mIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0ZTQ29udmVydGVyLCAmY3RsX25hbWUpKSB7CisgICAgICAgICAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIGlmIChQeUJ5dGVzX0dFVF9TSVpFKGN0bF9uYW1lKSA+IHNpemVvZihpbmZvLmN0bF9uYW1lKSkgeworICAgICAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwcm92aWRlZCBzdHJpbmcgaXMgdG9vIGxvbmciKTsKKyAgICAgICAgICAgICAgICAgICAgUHlfREVDUkVGKGN0bF9uYW1lKTsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIHN0cm5jcHkoaW5mby5jdGxfbmFtZSwgUHlCeXRlc19BU19TVFJJTkcoY3RsX25hbWUpLAorICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKGluZm8uY3RsX25hbWUpKTsKKyAgICAgICAgICAgICAgICBQeV9ERUNSRUYoY3RsX25hbWUpOworCisgICAgICAgICAgICAgICAgaWYgKGlvY3RsKHMtPnNvY2tfZmQsIENUTElPQ0dJTkZPLCAmaW5mbykpIHsKKyAgICAgICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX09TRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICJjYW5ub3QgZmluZCBrZXJuZWwgY29udHJvbCB3aXRoIHByb3ZpZGVkIG5hbWUiKTsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIGFkZHItPnNjX2lkID0gaW5mby5jdGxfaWQ7CisgICAgICAgICAgICAgICAgYWRkci0+c2NfdW5pdCA9IDA7CisgICAgICAgICAgICB9IGVsc2UgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJJSSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYoYWRkci0+c2NfaWQpLCAmKGFkZHItPnNjX3VuaXQpKSkgeworICAgICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsICJnZXRzb2NrYWRkcmFyZzogIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWQgc3RyIG9yIHR1cGxlIG9mIHR3byBpbnRzIik7CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgICAgICB9CisgICAgICAgICAgICAgIAorICAgICAgICAgICAgKmxlbl9yZXQgPSBzaXplb2YoKmFkZHIpOworICAgICAgICAgICAgcmV0dXJuIDE7CisgICAgICAgIH0KKyNlbmRpZgorICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX09TRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgImdldHNvY2thZGRyYXJnOiB1bnN1cHBvcnRlZCBQRl9TWVNURU0gcHJvdG9jb2wiKTsKKyAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICB9CisjZW5kaWYKKwogICAgIC8qIE1vcmUgY2FzZXMgaGVyZS4uLiAqLwogCiAgICAgZGVmYXVsdDoKLSAgICAgICAgUHlFcnJfU2V0U3RyaW5nKHNvY2tldF9lcnJvciwgImdldHNvY2thZGRyYXJnOiBiYWQgZmFtaWx5Iik7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19PU0Vycm9yLCAiZ2V0c29ja2FkZHJhcmc6IGJhZCBmYW1pbHkiKTsKICAgICAgICAgcmV0dXJuIDA7CiAKICAgICB9CkBAIC0xNTk4LDYgKzE3OTIsMTEgQEAKICAgICAgICB9CiAjZW5kaWYKIAorI2lmZGVmIEFGX1JEUworICAgIGNhc2UgQUZfUkRTOgorICAgICAgICAvKiBSRFMgc29ja2V0cyB1c2Ugc29ja2FkZHJfaW46IGZhbGwtdGhyb3VnaCAqLworI2VuZGlmCisKICAgICBjYXNlIEFGX0lORVQ6CiAgICAgewogICAgICAgICAqbGVuX3JldCA9IHNpemVvZiAoc3RydWN0IHNvY2thZGRyX2luKTsKQEAgLTE2MzMsNyArMTgzMiw3IEBACiAgICAgICAgICAgICByZXR1cm4gMTsKICNlbmRpZgogICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKHNvY2tldF9lcnJvciwgImdldHNvY2thZGRybGVuOiAiCisgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfT1NFcnJvciwgImdldHNvY2thZGRybGVuOiAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVua25vd24gQlQgcHJvdG9jb2wiKTsKICAgICAgICAgICAgIHJldHVybiAwOwogCkBAIC0xNjU3LDE2ICsxODU2LDE1MSBAQAogICAgIH0KICNlbmRpZgogCisjaWZkZWYgQUZfQ0FOCisgICAgY2FzZSBBRl9DQU46CisgICAgeworICAgICAgICAqbGVuX3JldCA9IHNpemVvZiAoc3RydWN0IHNvY2thZGRyX2Nhbik7CisgICAgICAgIHJldHVybiAxOworICAgIH0KKyNlbmRpZgorICAgICAgICAgICAgCisjaWZkZWYgUEZfU1lTVEVNCisgICAgY2FzZSBQRl9TWVNURU06CisgICAgICAgIHN3aXRjaChzLT5zb2NrX3Byb3RvKSB7CisjaWZkZWYgU1lTUFJPVE9fQ09OVFJPTAorICAgICAgICBjYXNlIFNZU1BST1RPX0NPTlRST0w6CisgICAgICAgICAgICAqbGVuX3JldCA9IHNpemVvZiAoc3RydWN0IHNvY2thZGRyX2N0bCk7CisgICAgICAgICAgICByZXR1cm4gMTsKKyNlbmRpZgorICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX09TRXJyb3IsICJnZXRzb2NrYWRkcmxlbjogIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmtub3duIFBGX1NZU1RFTSBwcm90b2NvbCIpOworICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIH0KKyNlbmRpZgorCiAgICAgLyogTW9yZSBjYXNlcyBoZXJlLi4uICovCiAKICAgICBkZWZhdWx0OgotICAgICAgICBQeUVycl9TZXRTdHJpbmcoc29ja2V0X2Vycm9yLCAiZ2V0c29ja2FkZHJsZW46IGJhZCBmYW1pbHkiKTsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX09TRXJyb3IsICJnZXRzb2NrYWRkcmxlbjogYmFkIGZhbWlseSIpOwogICAgICAgICByZXR1cm4gMDsKIAogICAgIH0KIH0KIAogCisvKiBTdXBwb3J0IGZ1bmN0aW9ucyBmb3IgdGhlIHNlbmRtc2coKSBhbmQgcmVjdm1zZ1tfaW50b10oKSBtZXRob2RzLgorICAgQ3VycmVudGx5LCB0aGVzZSBtZXRob2RzIGFyZSBvbmx5IGNvbXBpbGVkIGlmIHRoZSBSRkMgMjI5Mi8zNTQyCisgICBDTVNHX0xFTigpIG1hY3JvIGlzIGF2YWlsYWJsZS4gIE9sZGVyIHN5c3RlbXMgc2VlbSB0byBoYXZlIHVzZWQKKyAgIHNpemVvZihzdHJ1Y3QgY21zZ2hkcikgKyAobGVuZ3RoKSB3aGVyZSBDTVNHX0xFTigpIGlzIHVzZWQgbm93LCBzbworICAgaXQgbWF5IGJlIHBvc3NpYmxlIHRvIGRlZmluZSBDTVNHX0xFTigpIHRoYXQgd2F5IGlmIGl0J3Mgbm90CisgICBwcm92aWRlZC4gIFNvbWUgYXJjaGl0ZWN0dXJlcyBtaWdodCBuZWVkIGV4dHJhIHBhZGRpbmcgYWZ0ZXIgdGhlCisgICBjbXNnaGRyLCBob3dldmVyLCBhbmQgQ01TR19MRU4oKSB3b3VsZCBoYXZlIHRvIHRha2UgYWNjb3VudCBvZgorICAgdGhpcy4gKi8KKyNpZmRlZiBDTVNHX0xFTgorLyogSWYgbGVuZ3RoIGlzIGluIHJhbmdlLCBzZXQgKnJlc3VsdCB0byBDTVNHX0xFTihsZW5ndGgpIGFuZCByZXR1cm4KKyAgIHRydWU7IG90aGVyd2lzZSwgcmV0dXJuIGZhbHNlLiAqLworc3RhdGljIGludAorZ2V0X0NNU0dfTEVOKHNpemVfdCBsZW5ndGgsIHNpemVfdCAqcmVzdWx0KQoreworICAgIHNpemVfdCB0bXA7CisKKyAgICBpZiAobGVuZ3RoID4gKFNPQ0tMRU5fVF9MSU1JVCAtIENNU0dfTEVOKDApKSkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgdG1wID0gQ01TR19MRU4obGVuZ3RoKTsKKyAgICBpZiAodG1wID4gU09DS0xFTl9UX0xJTUlUIHx8IHRtcCA8IGxlbmd0aCkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgKnJlc3VsdCA9IHRtcDsKKyAgICByZXR1cm4gMTsKK30KKworI2lmZGVmIENNU0dfU1BBQ0UKKy8qIElmIGxlbmd0aCBpcyBpbiByYW5nZSwgc2V0ICpyZXN1bHQgdG8gQ01TR19TUEFDRShsZW5ndGgpIGFuZCByZXR1cm4KKyAgIHRydWU7IG90aGVyd2lzZSwgcmV0dXJuIGZhbHNlLiAqLworc3RhdGljIGludAorZ2V0X0NNU0dfU1BBQ0Uoc2l6ZV90IGxlbmd0aCwgc2l6ZV90ICpyZXN1bHQpCit7CisgICAgc2l6ZV90IHRtcDsKKworICAgIC8qIFVzZSBDTVNHX1NQQUNFKDEpIGhlcmUgaW4gb3JkZXIgdG8gdGFrZSBhY2NvdW50IG9mIHRoZSBwYWRkaW5nCisgICAgICAgbmVjZXNzYXJ5IGJlZm9yZSAqYW5kKiBhZnRlciB0aGUgZGF0YS4gKi8KKyAgICBpZiAobGVuZ3RoID4gKFNPQ0tMRU5fVF9MSU1JVCAtIENNU0dfU1BBQ0UoMSkpKQorICAgICAgICByZXR1cm4gMDsKKyAgICB0bXAgPSBDTVNHX1NQQUNFKGxlbmd0aCk7CisgICAgaWYgKHRtcCA+IFNPQ0tMRU5fVF9MSU1JVCB8fCB0bXAgPCBsZW5ndGgpCisgICAgICAgIHJldHVybiAwOworICAgICpyZXN1bHQgPSB0bXA7CisgICAgcmV0dXJuIDE7Cit9CisjZW5kaWYKKworLyogUmV0dXJuIHRydWUgaWZmIG1zZy0+bXNnX2NvbnRyb2xsZW4gaXMgdmFsaWQsIGNtc2doIGlzIGEgdmFsaWQKKyAgIHBvaW50ZXIgaW4gbXNnLT5tc2dfY29udHJvbCB3aXRoIGF0IGxlYXN0ICJzcGFjZSIgYnl0ZXMgYWZ0ZXIgaXQsCisgICBhbmQgaXRzIGNtc2dfbGVuIG1lbWJlciBpbnNpZGUgdGhlIGJ1ZmZlci4gKi8KK3N0YXRpYyBpbnQKK2Ntc2dfbWluX3NwYWNlKHN0cnVjdCBtc2doZHIgKm1zZywgc3RydWN0IGNtc2doZHIgKmNtc2doLCBzaXplX3Qgc3BhY2UpCit7CisgICAgc2l6ZV90IGNtc2dfb2Zmc2V0OworICAgIHN0YXRpYyBjb25zdCBzaXplX3QgY21zZ19sZW5fZW5kID0gKG9mZnNldG9mKHN0cnVjdCBjbXNnaGRyLCBjbXNnX2xlbikgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZihjbXNnaC0+Y21zZ19sZW4pKTsKKworICAgIC8qIE5vdGUgdGhhdCBQT1NJWCBhbGxvd3MgbXNnX2NvbnRyb2xsZW4gdG8gYmUgb2Ygc2lnbmVkIHR5cGUuICovCisgICAgaWYgKGNtc2doID09IE5VTEwgfHwgbXNnLT5tc2dfY29udHJvbCA9PSBOVUxMIHx8IG1zZy0+bXNnX2NvbnRyb2xsZW4gPCAwKQorICAgICAgICByZXR1cm4gMDsKKyAgICBpZiAoc3BhY2UgPCBjbXNnX2xlbl9lbmQpCisgICAgICAgIHNwYWNlID0gY21zZ19sZW5fZW5kOworICAgIGNtc2dfb2Zmc2V0ID0gKGNoYXIgKiljbXNnaCAtIChjaGFyICopbXNnLT5tc2dfY29udHJvbDsKKyAgICByZXR1cm4gKGNtc2dfb2Zmc2V0IDw9IChzaXplX3QpLTEgLSBzcGFjZSAmJgorICAgICAgICAgICAgY21zZ19vZmZzZXQgKyBzcGFjZSA8PSBtc2ctPm1zZ19jb250cm9sbGVuKTsKK30KKworLyogSWYgcG9pbnRlciBDTVNHX0RBVEEoY21zZ2gpIGlzIGluIGJ1ZmZlciBtc2ctPm1zZ19jb250cm9sLCBzZXQKKyAgICpzcGFjZSB0byBudW1iZXIgb2YgYnl0ZXMgZm9sbG93aW5nIGl0IGluIHRoZSBidWZmZXIgYW5kIHJldHVybgorICAgdHJ1ZTsgb3RoZXJ3aXNlLCByZXR1cm4gZmFsc2UuICBBc3N1bWVzIGNtc2doLCBtc2ctPm1zZ19jb250cm9sIGFuZAorICAgbXNnLT5tc2dfY29udHJvbGxlbiBhcmUgdmFsaWQuICovCitzdGF0aWMgaW50CitnZXRfY21zZ19kYXRhX3NwYWNlKHN0cnVjdCBtc2doZHIgKm1zZywgc3RydWN0IGNtc2doZHIgKmNtc2doLCBzaXplX3QgKnNwYWNlKQoreworICAgIHNpemVfdCBkYXRhX29mZnNldDsKKyAgICBjaGFyICpkYXRhX3B0cjsKKworICAgIGlmICgoZGF0YV9wdHIgPSAoY2hhciAqKUNNU0dfREFUQShjbXNnaCkpID09IE5VTEwpCisgICAgICAgIHJldHVybiAwOworICAgIGRhdGFfb2Zmc2V0ID0gZGF0YV9wdHIgLSAoY2hhciAqKW1zZy0+bXNnX2NvbnRyb2w7CisgICAgaWYgKGRhdGFfb2Zmc2V0ID4gbXNnLT5tc2dfY29udHJvbGxlbikKKyAgICAgICAgcmV0dXJuIDA7CisgICAgKnNwYWNlID0gbXNnLT5tc2dfY29udHJvbGxlbiAtIGRhdGFfb2Zmc2V0OworICAgIHJldHVybiAxOworfQorCisvKiBJZiBjbXNnaCBpcyBpbnZhbGlkIG9yIG5vdCBjb250YWluZWQgaW4gdGhlIGJ1ZmZlciBwb2ludGVkIHRvIGJ5CisgICBtc2ctPm1zZ19jb250cm9sLCByZXR1cm4gLTEuICBJZiBjbXNnaCBpcyB2YWxpZCBhbmQgaXRzIGFzc29jaWF0ZWQKKyAgIGRhdGEgaXMgZW50aXJlbHkgY29udGFpbmVkIGluIHRoZSBidWZmZXIsIHNldCAqZGF0YV9sZW4gdG8gdGhlCisgICBsZW5ndGggb2YgdGhlIGFzc29jaWF0ZWQgZGF0YSBhbmQgcmV0dXJuIDAuICBJZiBvbmx5IHBhcnQgb2YgdGhlCisgICBhc3NvY2lhdGVkIGRhdGEgaXMgY29udGFpbmVkIGluIHRoZSBidWZmZXIgYnV0IGNtc2doIGlzIG90aGVyd2lzZQorICAgdmFsaWQsIHNldCAqZGF0YV9sZW4gdG8gdGhlIGxlbmd0aCBjb250YWluZWQgaW4gdGhlIGJ1ZmZlciBhbmQKKyAgIHJldHVybiAxLiAqLworc3RhdGljIGludAorZ2V0X2Ntc2dfZGF0YV9sZW4oc3RydWN0IG1zZ2hkciAqbXNnLCBzdHJ1Y3QgY21zZ2hkciAqY21zZ2gsIHNpemVfdCAqZGF0YV9sZW4pCit7CisgICAgc2l6ZV90IHNwYWNlLCBjbXNnX2RhdGFfbGVuOworCisgICAgaWYgKCFjbXNnX21pbl9zcGFjZShtc2csIGNtc2doLCBDTVNHX0xFTigwKSkgfHwKKyAgICAgICAgY21zZ2gtPmNtc2dfbGVuIDwgQ01TR19MRU4oMCkpCisgICAgICAgIHJldHVybiAtMTsKKyAgICBjbXNnX2RhdGFfbGVuID0gY21zZ2gtPmNtc2dfbGVuIC0gQ01TR19MRU4oMCk7CisgICAgaWYgKCFnZXRfY21zZ19kYXRhX3NwYWNlKG1zZywgY21zZ2gsICZzcGFjZSkpCisgICAgICAgIHJldHVybiAtMTsKKyAgICBpZiAoc3BhY2UgPj0gY21zZ19kYXRhX2xlbikgeworICAgICAgICAqZGF0YV9sZW4gPSBjbXNnX2RhdGFfbGVuOworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisgICAgKmRhdGFfbGVuID0gc3BhY2U7CisgICAgcmV0dXJuIDE7Cit9CisjZW5kaWYgICAgLyogQ01TR19MRU4gKi8KKworCiAvKiBzLl9hY2NlcHQoKSAtPiAoZmQsIGFkZHJlc3MpICovCiAKIHN0YXRpYyBQeU9iamVjdCAqCkBAIC0xODg5LDcgKzIyMjMsNyBAQAogI2Vsc2UKICAgICBpZiAoYnVmbGVuIDw9IDAgfHwgYnVmbGVuID4gMTAyNCkgewogI2VuZGlmCi0gICAgICAgIFB5RXJyX1NldFN0cmluZyhzb2NrZXRfZXJyb3IsCisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19PU0Vycm9yLAogICAgICAgICAgICAgICAgICAgICAgICAgImdldHNvY2tvcHQgYnVmbGVuIG91dCBvZiByYW5nZSIpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CkBAIC0yNjIwLDYgKzI5NTQsMzMxIEBACiBMaWtlIHJlY3ZfaW50byhidWZmZXJbLCBuYnl0ZXNbLCBmbGFnc11dKSBidXQgYWxzbyByZXR1cm4gdGhlIHNlbmRlcidzIGFkZHJlc3MgaW5mby4iKTsKIAogCisvKiBUaGUgc2VuZG1zZygpIGFuZCByZWN2bXNnW19pbnRvXSgpIG1ldGhvZHMgcmVxdWlyZSBhIHdvcmtpbmcKKyAgIENNU0dfTEVOKCkuICBTZWUgdGhlIGNvbW1lbnQgbmVhciBnZXRfQ01TR19MRU4oKS4gKi8KKyNpZmRlZiBDTVNHX0xFTgorLyoKKyAqIENhbGwgcmVjdm1zZygpIHdpdGggdGhlIHN1cHBsaWVkIGlvdmVjIHN0cnVjdHVyZXMsIGZsYWdzLCBhbmQKKyAqIGFuY2lsbGFyeSBkYXRhIGJ1ZmZlciBzaXplIChjb250cm9sbGVuKS4gIFJldHVybnMgdGhlIHR1cGxlIHJldHVybgorICogdmFsdWUgZm9yIHJlY3Ztc2coKSBvciByZWN2bXNnX2ludG8oKSwgd2l0aCB0aGUgZmlyc3QgaXRlbSBwcm92aWRlZAorICogYnkgdGhlIHN1cHBsaWVkIG1ha2V2YWwoKSBmdW5jdGlvbi4gIG1ha2V2YWwoKSB3aWxsIGJlIGNhbGxlZCB3aXRoCisgKiB0aGUgbGVuZ3RoIHJlYWQgYW5kIG1ha2V2YWxfZGF0YSBhcyBhcmd1bWVudHMsIGFuZCBtdXN0IHJldHVybiBhCisgKiBuZXcgcmVmZXJlbmNlICh3aGljaCB3aWxsIGJlIGRlY3JlZmVkIGlmIHRoZXJlIGlzIGEgc3Vic2VxdWVudAorICogZXJyb3IpLiAgT24gZXJyb3IsIGNsb3NlcyBhbnkgZmlsZSBkZXNjcmlwdG9ycyByZWNlaXZlZCB2aWEKKyAqIFNDTV9SSUdIVFMuCisgKi8KK3N0YXRpYyBQeU9iamVjdCAqCitzb2NrX3JlY3Ztc2dfZ3V0cyhQeVNvY2tldFNvY2tPYmplY3QgKnMsIHN0cnVjdCBpb3ZlYyAqaW92LCBpbnQgaW92bGVuLAorICAgICAgICAgICAgICAgICAgaW50IGZsYWdzLCBQeV9zc2l6ZV90IGNvbnRyb2xsZW4sCisgICAgICAgICAgICAgICAgICBQeU9iamVjdCAqKCptYWtldmFsKShzc2l6ZV90LCB2b2lkICopLCB2b2lkICptYWtldmFsX2RhdGEpCit7CisgICAgc3NpemVfdCBieXRlc19yZWNlaXZlZCA9IC0xOworICAgIGludCB0aW1lb3V0OworICAgIHNvY2tfYWRkcl90IGFkZHJidWY7CisgICAgc29ja2xlbl90IGFkZHJidWZsZW47CisgICAgc3RydWN0IG1zZ2hkciBtc2cgPSB7MH07CisgICAgUHlPYmplY3QgKmNtc2dfbGlzdCA9IE5VTEwsICpyZXR2YWwgPSBOVUxMOworICAgIHZvaWQgKmNvbnRyb2xidWYgPSBOVUxMOworICAgIHN0cnVjdCBjbXNnaGRyICpjbXNnaDsKKyAgICBzaXplX3QgY21zZ2RhdGFsZW4gPSAwOworICAgIGludCBjbXNnX3N0YXR1czsKKworICAgIC8qIFhYWDogUE9TSVggc2F5cyB0aGF0IG1zZ19uYW1lIGFuZCBtc2dfbmFtZWxlbiAic2hhbGwgYmUKKyAgICAgICBpZ25vcmVkIiB3aGVuIHRoZSBzb2NrZXQgaXMgY29ubmVjdGVkIChMaW51eCBmaWxscyB0aGVtIGluCisgICAgICAgYW55d2F5IGZvciBBRl9VTklYIHNvY2tldHMgYXQgbGVhc3QpLiAgTm9ybWFsbHkgbXNnX25hbWVsZW4KKyAgICAgICBzZWVtcyB0byBiZSBzZXQgdG8gMCBpZiB0aGVyZSdzIG5vIGFkZHJlc3MsIGJ1dCB0cnkgdG8KKyAgICAgICBpbml0aWFsaXplIG1zZ19uYW1lIHRvIHNvbWV0aGluZyB0aGF0IHdvbid0IGJlIG1pc3Rha2VuIGZvciBhCisgICAgICAgcmVhbCBhZGRyZXNzIGlmIHRoYXQgZG9lc24ndCBoYXBwZW4uICovCisgICAgaWYgKCFnZXRzb2NrYWRkcmxlbihzLCAmYWRkcmJ1ZmxlbikpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIG1lbXNldCgmYWRkcmJ1ZiwgMCwgYWRkcmJ1Zmxlbik7CisgICAgU0FTMlNBKCZhZGRyYnVmKS0+c2FfZmFtaWx5ID0gQUZfVU5TUEVDOworCisgICAgaWYgKGNvbnRyb2xsZW4gPCAwIHx8IGNvbnRyb2xsZW4gPiBTT0NLTEVOX1RfTElNSVQpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAiaW52YWxpZCBhbmNpbGxhcnkgZGF0YSBidWZmZXIgbGVuZ3RoIik7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKyAgICBpZiAoY29udHJvbGxlbiA+IDAgJiYgKGNvbnRyb2xidWYgPSBQeU1lbV9NYWxsb2MoY29udHJvbGxlbikpID09IE5VTEwpCisgICAgICAgIHJldHVybiBQeUVycl9Ob01lbW9yeSgpOworCisgICAgLyogTWFrZSB0aGUgc3lzdGVtIGNhbGwuICovCisgICAgaWYgKCFJU19TRUxFQ1RBQkxFKHMpKSB7CisgICAgICAgIHNlbGVjdF9lcnJvcigpOworICAgICAgICBnb3RvIGZpbmFsbHk7CisgICAgfQorCisgICAgQkVHSU5fU0VMRUNUX0xPT1AocykKKyAgICBQeV9CRUdJTl9BTExPV19USFJFQURTOworICAgIG1zZy5tc2dfbmFtZSA9IFNBUzJTQSgmYWRkcmJ1Zik7CisgICAgbXNnLm1zZ19uYW1lbGVuID0gYWRkcmJ1ZmxlbjsKKyAgICBtc2cubXNnX2lvdiA9IGlvdjsKKyAgICBtc2cubXNnX2lvdmxlbiA9IGlvdmxlbjsKKyAgICBtc2cubXNnX2NvbnRyb2wgPSBjb250cm9sYnVmOworICAgIG1zZy5tc2dfY29udHJvbGxlbiA9IGNvbnRyb2xsZW47CisgICAgdGltZW91dCA9IGludGVybmFsX3NlbGVjdF9leChzLCAwLCBpbnRlcnZhbCk7CisgICAgaWYgKCF0aW1lb3V0KQorICAgICAgICBieXRlc19yZWNlaXZlZCA9IHJlY3Ztc2cocy0+c29ja19mZCwgJm1zZywgZmxhZ3MpOworICAgIFB5X0VORF9BTExPV19USFJFQURTOworICAgIGlmICh0aW1lb3V0ID09IDEpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKHNvY2tldF90aW1lb3V0LCAidGltZWQgb3V0Iik7CisgICAgICAgIGdvdG8gZmluYWxseTsKKyAgICB9CisgICAgRU5EX1NFTEVDVF9MT09QKHMpCisKKyAgICBpZiAoYnl0ZXNfcmVjZWl2ZWQgPCAwKSB7CisgICAgICAgIHMtPmVycm9yaGFuZGxlcigpOworICAgICAgICBnb3RvIGZpbmFsbHk7CisgICAgfQorCisgICAgLyogTWFrZSBsaXN0IG9mIChsZXZlbCwgdHlwZSwgZGF0YSkgdHVwbGVzIGZyb20gY29udHJvbCBtZXNzYWdlcy4gKi8KKyAgICBpZiAoKGNtc2dfbGlzdCA9IFB5TGlzdF9OZXcoMCkpID09IE5VTEwpCisgICAgICAgIGdvdG8gZXJyX2Nsb3NlZmRzOworICAgIC8qIENoZWNrIGZvciBlbXB0eSBhbmNpbGxhcnkgZGF0YSBhcyBvbGQgQ01TR19GSVJTVEhEUigpCisgICAgICAgaW1wbGVtZW50YXRpb25zIGRpZG4ndCBkbyBzby4gKi8KKyAgICBmb3IgKGNtc2doID0gKChtc2cubXNnX2NvbnRyb2xsZW4gPiAwKSA/IENNU0dfRklSU1RIRFIoJm1zZykgOiBOVUxMKTsKKyAgICAgICAgIGNtc2doICE9IE5VTEw7IGNtc2doID0gQ01TR19OWFRIRFIoJm1zZywgY21zZ2gpKSB7CisgICAgICAgIFB5T2JqZWN0ICpieXRlcywgKnR1cGxlOworICAgICAgICBpbnQgdG1wOworCisgICAgICAgIGNtc2dfc3RhdHVzID0gZ2V0X2Ntc2dfZGF0YV9sZW4oJm1zZywgY21zZ2gsICZjbXNnZGF0YWxlbik7CisgICAgICAgIGlmIChjbXNnX3N0YXR1cyAhPSAwKSB7CisgICAgICAgICAgICBpZiAoUHlFcnJfV2FybkV4KFB5RXhjX1J1bnRpbWVXYXJuaW5nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVjZWl2ZWQgbWFsZm9ybWVkIG9yIGltcHJvcGVybHktdHJ1bmNhdGVkICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFuY2lsbGFyeSBkYXRhIiwgMSkgPT0gLTEpCisgICAgICAgICAgICAgICAgZ290byBlcnJfY2xvc2VmZHM7CisgICAgICAgIH0KKyAgICAgICAgaWYgKGNtc2dfc3RhdHVzIDwgMCkKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBpZiAoY21zZ2RhdGFsZW4gPiBQWV9TU0laRV9UX01BWCkgeworICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX09TRXJyb3IsICJjb250cm9sIG1lc3NhZ2UgdG9vIGxvbmciKTsKKyAgICAgICAgICAgIGdvdG8gZXJyX2Nsb3NlZmRzOworICAgICAgICB9CisKKyAgICAgICAgYnl0ZXMgPSBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplKChjaGFyICopQ01TR19EQVRBKGNtc2doKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNtc2dkYXRhbGVuKTsKKyAgICAgICAgdHVwbGUgPSBQeV9CdWlsZFZhbHVlKCJpaU4iLCAoaW50KWNtc2doLT5jbXNnX2xldmVsLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGludCljbXNnaC0+Y21zZ190eXBlLCBieXRlcyk7CisgICAgICAgIGlmICh0dXBsZSA9PSBOVUxMKQorICAgICAgICAgICAgZ290byBlcnJfY2xvc2VmZHM7CisgICAgICAgIHRtcCA9IFB5TGlzdF9BcHBlbmQoY21zZ19saXN0LCB0dXBsZSk7CisgICAgICAgIFB5X0RFQ1JFRih0dXBsZSk7CisgICAgICAgIGlmICh0bXAgIT0gMCkKKyAgICAgICAgICAgIGdvdG8gZXJyX2Nsb3NlZmRzOworCisgICAgICAgIGlmIChjbXNnX3N0YXR1cyAhPSAwKQorICAgICAgICAgICAgYnJlYWs7CisgICAgfQorCisgICAgcmV0dmFsID0gUHlfQnVpbGRWYWx1ZSgiTk9pTiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAoKm1ha2V2YWwpKGJ5dGVzX3JlY2VpdmVkLCBtYWtldmFsX2RhdGEpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgY21zZ19saXN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgKGludCltc2cubXNnX2ZsYWdzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFrZXNvY2thZGRyKHMtPnNvY2tfZmQsIFNBUzJTQSgmYWRkcmJ1ZiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChtc2cubXNnX25hbWVsZW4gPiBhZGRyYnVmbGVuKSA/CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZHJidWZsZW4gOiBtc2cubXNnX25hbWVsZW4pLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHMtPnNvY2tfcHJvdG8pKTsKKyAgICBpZiAocmV0dmFsID09IE5VTEwpCisgICAgICAgIGdvdG8gZXJyX2Nsb3NlZmRzOworCitmaW5hbGx5OgorICAgIFB5X1hERUNSRUYoY21zZ19saXN0KTsKKyAgICBQeU1lbV9GcmVlKGNvbnRyb2xidWYpOworICAgIHJldHVybiByZXR2YWw7CisKK2Vycl9jbG9zZWZkczoKKyNpZmRlZiBTQ01fUklHSFRTCisgICAgLyogQ2xvc2UgYWxsIGRlc2NyaXB0b3JzIGNvbWluZyBmcm9tIFNDTV9SSUdIVFMsIHNvIHRoZXkgZG9uJ3QgbGVhay4gKi8KKyAgICBmb3IgKGNtc2doID0gKChtc2cubXNnX2NvbnRyb2xsZW4gPiAwKSA/IENNU0dfRklSU1RIRFIoJm1zZykgOiBOVUxMKTsKKyAgICAgICAgIGNtc2doICE9IE5VTEw7IGNtc2doID0gQ01TR19OWFRIRFIoJm1zZywgY21zZ2gpKSB7CisgICAgICAgIGNtc2dfc3RhdHVzID0gZ2V0X2Ntc2dfZGF0YV9sZW4oJm1zZywgY21zZ2gsICZjbXNnZGF0YWxlbik7CisgICAgICAgIGlmIChjbXNnX3N0YXR1cyA8IDApCisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgaWYgKGNtc2doLT5jbXNnX2xldmVsID09IFNPTF9TT0NLRVQgJiYKKyAgICAgICAgICAgIGNtc2doLT5jbXNnX3R5cGUgPT0gU0NNX1JJR0hUUykgeworICAgICAgICAgICAgc2l6ZV90IG51bWZkczsKKyAgICAgICAgICAgIGludCAqZmRwOworCisgICAgICAgICAgICBudW1mZHMgPSBjbXNnZGF0YWxlbiAvIHNpemVvZihpbnQpOworICAgICAgICAgICAgZmRwID0gKGludCAqKUNNU0dfREFUQShjbXNnaCk7CisgICAgICAgICAgICB3aGlsZSAobnVtZmRzLS0gPiAwKQorICAgICAgICAgICAgICAgIGNsb3NlKCpmZHArKyk7CisgICAgICAgIH0KKyAgICAgICAgaWYgKGNtc2dfc3RhdHVzICE9IDApCisgICAgICAgICAgICBicmVhazsKKyAgICB9CisjZW5kaWYgLyogU0NNX1JJR0hUUyAqLworICAgIGdvdG8gZmluYWxseTsKK30KKworCitzdGF0aWMgUHlPYmplY3QgKgorbWFrZXZhbF9yZWN2bXNnKHNzaXplX3QgcmVjZWl2ZWQsIHZvaWQgKmRhdGEpCit7CisgICAgUHlPYmplY3QgKipidWYgPSBkYXRhOworCisgICAgaWYgKHJlY2VpdmVkIDwgUHlCeXRlc19HRVRfU0laRSgqYnVmKSkKKyAgICAgICAgX1B5Qnl0ZXNfUmVzaXplKGJ1ZiwgcmVjZWl2ZWQpOworICAgIFB5X1hJTkNSRUYoKmJ1Zik7CisgICAgcmV0dXJuICpidWY7Cit9CisKKy8qIHMucmVjdm1zZyhidWZzaXplWywgYW5jYnVmc2l6ZVssIGZsYWdzXV0pIG1ldGhvZCAqLworCitzdGF0aWMgUHlPYmplY3QgKgorc29ja19yZWN2bXNnKFB5U29ja2V0U29ja09iamVjdCAqcywgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlfc3NpemVfdCBidWZzaXplLCBhbmNidWZzaXplID0gMDsKKyAgICBpbnQgZmxhZ3MgPSAwOworICAgIHN0cnVjdCBpb3ZlYyBpb3Y7CisgICAgUHlPYmplY3QgKmJ1ZiA9IE5VTEwsICpyZXR2YWwgPSBOVUxMOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJufG5pOnJlY3Ztc2ciLCAmYnVmc2l6ZSwgJmFuY2J1ZnNpemUsICZmbGFncykpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgaWYgKGJ1ZnNpemUgPCAwKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLCAibmVnYXRpdmUgYnVmZmVyIHNpemUgaW4gcmVjdm1zZygpIik7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKyAgICBpZiAoKGJ1ZiA9IFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUoTlVMTCwgYnVmc2l6ZSkpID09IE5VTEwpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIGlvdi5pb3ZfYmFzZSA9IFB5Qnl0ZXNfQVNfU1RSSU5HKGJ1Zik7CisgICAgaW92Lmlvdl9sZW4gPSBidWZzaXplOworCisgICAgLyogTm90ZSB0aGF0IHdlJ3JlIHBhc3NpbmcgYSBwb2ludGVyIHRvICpvdXIgcG9pbnRlciogdG8gdGhlIGJ5dGVzCisgICAgICAgb2JqZWN0IGhlcmUgKCZidWYpOyBtYWtldmFsX3JlY3Ztc2coKSBtYXkgaW5jcmVmIHRoZSBvYmplY3QsIG9yCisgICAgICAgZGVhbGxvY2F0ZSBpdCBhbmQgc2V0IG91ciBwb2ludGVyIHRvIE5VTEwuICovCisgICAgcmV0dmFsID0gc29ja19yZWN2bXNnX2d1dHMocywgJmlvdiwgMSwgZmxhZ3MsIGFuY2J1ZnNpemUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJm1ha2V2YWxfcmVjdm1zZywgJmJ1Zik7CisgICAgUHlfWERFQ1JFRihidWYpOworICAgIHJldHVybiByZXR2YWw7Cit9CisKK1B5RG9jX1NUUlZBUihyZWN2bXNnX2RvYywKKyJyZWN2bXNnKGJ1ZnNpemVbLCBhbmNidWZzaXplWywgZmxhZ3NdXSkgLT4gKGRhdGEsIGFuY2RhdGEsIG1zZ19mbGFncywgYWRkcmVzcylcblwKK1xuXAorUmVjZWl2ZSBub3JtYWwgZGF0YSAodXAgdG8gYnVmc2l6ZSBieXRlcykgYW5kIGFuY2lsbGFyeSBkYXRhIGZyb20gdGhlXG5cCitzb2NrZXQuICBUaGUgYW5jYnVmc2l6ZSBhcmd1bWVudCBzZXRzIHRoZSBzaXplIGluIGJ5dGVzIG9mIHRoZVxuXAoraW50ZXJuYWwgYnVmZmVyIHVzZWQgdG8gcmVjZWl2ZSB0aGUgYW5jaWxsYXJ5IGRhdGE7IGl0IGRlZmF1bHRzIHRvIDAsXG5cCittZWFuaW5nIHRoYXQgbm8gYW5jaWxsYXJ5IGRhdGEgd2lsbCBiZSByZWNlaXZlZC4gIEFwcHJvcHJpYXRlIGJ1ZmZlclxuXAorc2l6ZXMgZm9yIGFuY2lsbGFyeSBkYXRhIGNhbiBiZSBjYWxjdWxhdGVkIHVzaW5nIENNU0dfU1BBQ0UoKSBvclxuXAorQ01TR19MRU4oKSwgYW5kIGl0ZW1zIHdoaWNoIGRvIG5vdCBmaXQgaW50byB0aGUgYnVmZmVyIG1pZ2h0IGJlXG5cCit0cnVuY2F0ZWQgb3IgZGlzY2FyZGVkLiAgVGhlIGZsYWdzIGFyZ3VtZW50IGRlZmF1bHRzIHRvIDAgYW5kIGhhcyB0aGVcblwKK3NhbWUgbWVhbmluZyBhcyBmb3IgcmVjdigpLlxuXAorXG5cCitUaGUgcmV0dXJuIHZhbHVlIGlzIGEgNC10dXBsZTogKGRhdGEsIGFuY2RhdGEsIG1zZ19mbGFncywgYWRkcmVzcykuXG5cCitUaGUgZGF0YSBpdGVtIGlzIGEgYnl0ZXMgb2JqZWN0IGhvbGRpbmcgdGhlIG5vbi1hbmNpbGxhcnkgZGF0YVxuXAorcmVjZWl2ZWQuICBUaGUgYW5jZGF0YSBpdGVtIGlzIGEgbGlzdCBvZiB6ZXJvIG9yIG1vcmUgdHVwbGVzXG5cCisoY21zZ19sZXZlbCwgY21zZ190eXBlLCBjbXNnX2RhdGEpIHJlcHJlc2VudGluZyB0aGUgYW5jaWxsYXJ5IGRhdGFcblwKKyhjb250cm9sIG1lc3NhZ2VzKSByZWNlaXZlZDogY21zZ19sZXZlbCBhbmQgY21zZ190eXBlIGFyZSBpbnRlZ2Vyc1xuXAorc3BlY2lmeWluZyB0aGUgcHJvdG9jb2wgbGV2ZWwgYW5kIHByb3RvY29sLXNwZWNpZmljIHR5cGUgcmVzcGVjdGl2ZWx5LFxuXAorYW5kIGNtc2dfZGF0YSBpcyBhIGJ5dGVzIG9iamVjdCBob2xkaW5nIHRoZSBhc3NvY2lhdGVkIGRhdGEuICBUaGVcblwKK21zZ19mbGFncyBpdGVtIGlzIHRoZSBiaXR3aXNlIE9SIG9mIHZhcmlvdXMgZmxhZ3MgaW5kaWNhdGluZ1xuXAorY29uZGl0aW9ucyBvbiB0aGUgcmVjZWl2ZWQgbWVzc2FnZTsgc2VlIHlvdXIgc3lzdGVtIGRvY3VtZW50YXRpb24gZm9yXG5cCitkZXRhaWxzLiAgSWYgdGhlIHJlY2VpdmluZyBzb2NrZXQgaXMgdW5jb25uZWN0ZWQsIGFkZHJlc3MgaXMgdGhlXG5cCithZGRyZXNzIG9mIHRoZSBzZW5kaW5nIHNvY2tldCwgaWYgYXZhaWxhYmxlOyBvdGhlcndpc2UsIGl0cyB2YWx1ZSBpc1xuXAordW5zcGVjaWZpZWQuXG5cCitcblwKK0lmIHJlY3Ztc2coKSByYWlzZXMgYW4gZXhjZXB0aW9uIGFmdGVyIHRoZSBzeXN0ZW0gY2FsbCByZXR1cm5zLCBpdFxuXAord2lsbCBmaXJzdCBhdHRlbXB0IHRvIGNsb3NlIGFueSBmaWxlIGRlc2NyaXB0b3JzIHJlY2VpdmVkIHZpYSB0aGVcblwKK1NDTV9SSUdIVFMgbWVjaGFuaXNtLiIpOworCisKK3N0YXRpYyBQeU9iamVjdCAqCittYWtldmFsX3JlY3Ztc2dfaW50byhzc2l6ZV90IHJlY2VpdmVkLCB2b2lkICpkYXRhKQoreworICAgIHJldHVybiBQeUxvbmdfRnJvbVNzaXplX3QocmVjZWl2ZWQpOworfQorCisvKiBzLnJlY3Ztc2dfaW50byhidWZmZXJzWywgYW5jYnVmc2l6ZVssIGZsYWdzXV0pIG1ldGhvZCAqLworCitzdGF0aWMgUHlPYmplY3QgKgorc29ja19yZWN2bXNnX2ludG8oUHlTb2NrZXRTb2NrT2JqZWN0ICpzLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeV9zc2l6ZV90IGFuY2J1ZnNpemUgPSAwOworICAgIGludCBmbGFncyA9IDA7CisgICAgc3RydWN0IGlvdmVjICppb3ZzID0gTlVMTDsKKyAgICBQeV9zc2l6ZV90IGksIG5pdGVtcywgbmJ1ZnMgPSAwOworICAgIFB5X2J1ZmZlciAqYnVmcyA9IE5VTEw7CisgICAgUHlPYmplY3QgKmJ1ZmZlcnNfYXJnLCAqZmFzdCwgKnJldHZhbCA9IE5VTEw7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIk98bmk6cmVjdm1zZ19pbnRvIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgJmJ1ZmZlcnNfYXJnLCAmYW5jYnVmc2l6ZSwgJmZsYWdzKSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICBpZiAoKGZhc3QgPSBQeVNlcXVlbmNlX0Zhc3QoYnVmZmVyc19hcmcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZWN2bXNnX2ludG8oKSBhcmd1bWVudCAxIG11c3QgYmUgYW4gIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaXRlcmFibGUiKSkgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgbml0ZW1zID0gUHlTZXF1ZW5jZV9GYXN0X0dFVF9TSVpFKGZhc3QpOworICAgIGlmIChuaXRlbXMgPiBJTlRfTUFYKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19PU0Vycm9yLCAicmVjdm1zZ19pbnRvKCkgYXJndW1lbnQgMSBpcyB0b28gbG9uZyIpOworICAgICAgICBnb3RvIGZpbmFsbHk7CisgICAgfQorCisgICAgLyogRmlsbCBpbiBhbiBpb3ZlYyBmb3IgZWFjaCBpdGVtLCBhbmQgc2F2ZSB0aGUgUHlfYnVmZmVyCisgICAgICAgc3RydWN0cyB0byByZWxlYXNlIGFmdGVyd2FyZHMuICovCisgICAgaWYgKG5pdGVtcyA+IDAgJiYgKChpb3ZzID0gUHlNZW1fTmV3KHN0cnVjdCBpb3ZlYywgbml0ZW1zKSkgPT0gTlVMTCB8fAorICAgICAgICAgICAgICAgICAgICAgICAoYnVmcyA9IFB5TWVtX05ldyhQeV9idWZmZXIsIG5pdGVtcykpID09IE5VTEwpKSB7CisgICAgICAgIFB5RXJyX05vTWVtb3J5KCk7CisgICAgICAgIGdvdG8gZmluYWxseTsKKyAgICB9CisgICAgZm9yICg7IG5idWZzIDwgbml0ZW1zOyBuYnVmcysrKSB7CisgICAgICAgIGlmICghUHlBcmdfUGFyc2UoUHlTZXF1ZW5jZV9GYXN0X0dFVF9JVEVNKGZhc3QsIG5idWZzKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAidyo7cmVjdm1zZ19pbnRvKCkgYXJndW1lbnQgMSBtdXN0IGJlIGFuIGl0ZXJhYmxlICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAib2Ygc2luZ2xlLXNlZ21lbnQgcmVhZC13cml0ZSBidWZmZXJzIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAmYnVmc1tuYnVmc10pKQorICAgICAgICAgICAgZ290byBmaW5hbGx5OworICAgICAgICBpb3ZzW25idWZzXS5pb3ZfYmFzZSA9IGJ1ZnNbbmJ1ZnNdLmJ1ZjsKKyAgICAgICAgaW92c1tuYnVmc10uaW92X2xlbiA9IGJ1ZnNbbmJ1ZnNdLmxlbjsKKyAgICB9CisKKyAgICByZXR2YWwgPSBzb2NrX3JlY3Ztc2dfZ3V0cyhzLCBpb3ZzLCBuaXRlbXMsIGZsYWdzLCBhbmNidWZzaXplLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZtYWtldmFsX3JlY3Ztc2dfaW50bywgTlVMTCk7CitmaW5hbGx5OgorICAgIGZvciAoaSA9IDA7IGkgPCBuYnVmczsgaSsrKQorICAgICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZidWZzW2ldKTsKKyAgICBQeU1lbV9GcmVlKGJ1ZnMpOworICAgIFB5TWVtX0ZyZWUoaW92cyk7CisgICAgUHlfREVDUkVGKGZhc3QpOworICAgIHJldHVybiByZXR2YWw7Cit9CisKK1B5RG9jX1NUUlZBUihyZWN2bXNnX2ludG9fZG9jLAorInJlY3Ztc2dfaW50byhidWZmZXJzWywgYW5jYnVmc2l6ZVssIGZsYWdzXV0pIC0+IChuYnl0ZXMsIGFuY2RhdGEsIG1zZ19mbGFncywgYWRkcmVzcylcblwKK1xuXAorUmVjZWl2ZSBub3JtYWwgZGF0YSBhbmQgYW5jaWxsYXJ5IGRhdGEgZnJvbSB0aGUgc29ja2V0LCBzY2F0dGVyaW5nIHRoZVxuXAorbm9uLWFuY2lsbGFyeSBkYXRhIGludG8gYSBzZXJpZXMgb2YgYnVmZmVycy4gIFRoZSBidWZmZXJzIGFyZ3VtZW50XG5cCittdXN0IGJlIGFuIGl0ZXJhYmxlIG9mIG9iamVjdHMgdGhhdCBleHBvcnQgd3JpdGFibGUgYnVmZmVyc1xuXAorKGUuZy4gYnl0ZWFycmF5IG9iamVjdHMpOyB0aGVzZSB3aWxsIGJlIGZpbGxlZCB3aXRoIHN1Y2Nlc3NpdmUgY2h1bmtzXG5cCitvZiB0aGUgbm9uLWFuY2lsbGFyeSBkYXRhIHVudGlsIGl0IGhhcyBhbGwgYmVlbiB3cml0dGVuIG9yIHRoZXJlIGFyZVxuXAorbm8gbW9yZSBidWZmZXJzLiAgVGhlIGFuY2J1ZnNpemUgYXJndW1lbnQgc2V0cyB0aGUgc2l6ZSBpbiBieXRlcyBvZlxuXAordGhlIGludGVybmFsIGJ1ZmZlciB1c2VkIHRvIHJlY2VpdmUgdGhlIGFuY2lsbGFyeSBkYXRhOyBpdCBkZWZhdWx0cyB0b1xuXAorMCwgbWVhbmluZyB0aGF0IG5vIGFuY2lsbGFyeSBkYXRhIHdpbGwgYmUgcmVjZWl2ZWQuICBBcHByb3ByaWF0ZVxuXAorYnVmZmVyIHNpemVzIGZvciBhbmNpbGxhcnkgZGF0YSBjYW4gYmUgY2FsY3VsYXRlZCB1c2luZyBDTVNHX1NQQUNFKClcblwKK29yIENNU0dfTEVOKCksIGFuZCBpdGVtcyB3aGljaCBkbyBub3QgZml0IGludG8gdGhlIGJ1ZmZlciBtaWdodCBiZVxuXAordHJ1bmNhdGVkIG9yIGRpc2NhcmRlZC4gIFRoZSBmbGFncyBhcmd1bWVudCBkZWZhdWx0cyB0byAwIGFuZCBoYXMgdGhlXG5cCitzYW1lIG1lYW5pbmcgYXMgZm9yIHJlY3YoKS5cblwKK1xuXAorVGhlIHJldHVybiB2YWx1ZSBpcyBhIDQtdHVwbGU6IChuYnl0ZXMsIGFuY2RhdGEsIG1zZ19mbGFncywgYWRkcmVzcykuXG5cCitUaGUgbmJ5dGVzIGl0ZW0gaXMgdGhlIHRvdGFsIG51bWJlciBvZiBieXRlcyBvZiBub24tYW5jaWxsYXJ5IGRhdGFcblwKK3dyaXR0ZW4gaW50byB0aGUgYnVmZmVycy4gIFRoZSBhbmNkYXRhIGl0ZW0gaXMgYSBsaXN0IG9mIHplcm8gb3IgbW9yZVxuXAordHVwbGVzIChjbXNnX2xldmVsLCBjbXNnX3R5cGUsIGNtc2dfZGF0YSkgcmVwcmVzZW50aW5nIHRoZSBhbmNpbGxhcnlcblwKK2RhdGEgKGNvbnRyb2wgbWVzc2FnZXMpIHJlY2VpdmVkOiBjbXNnX2xldmVsIGFuZCBjbXNnX3R5cGUgYXJlXG5cCitpbnRlZ2VycyBzcGVjaWZ5aW5nIHRoZSBwcm90b2NvbCBsZXZlbCBhbmQgcHJvdG9jb2wtc3BlY2lmaWMgdHlwZVxuXAorcmVzcGVjdGl2ZWx5LCBhbmQgY21zZ19kYXRhIGlzIGEgYnl0ZXMgb2JqZWN0IGhvbGRpbmcgdGhlIGFzc29jaWF0ZWRcblwKK2RhdGEuICBUaGUgbXNnX2ZsYWdzIGl0ZW0gaXMgdGhlIGJpdHdpc2UgT1Igb2YgdmFyaW91cyBmbGFnc1xuXAoraW5kaWNhdGluZyBjb25kaXRpb25zIG9uIHRoZSByZWNlaXZlZCBtZXNzYWdlOyBzZWUgeW91ciBzeXN0ZW1cblwKK2RvY3VtZW50YXRpb24gZm9yIGRldGFpbHMuICBJZiB0aGUgcmVjZWl2aW5nIHNvY2tldCBpcyB1bmNvbm5lY3RlZCxcblwKK2FkZHJlc3MgaXMgdGhlIGFkZHJlc3Mgb2YgdGhlIHNlbmRpbmcgc29ja2V0LCBpZiBhdmFpbGFibGU7IG90aGVyd2lzZSxcblwKK2l0cyB2YWx1ZSBpcyB1bnNwZWNpZmllZC5cblwKK1xuXAorSWYgcmVjdm1zZ19pbnRvKCkgcmFpc2VzIGFuIGV4Y2VwdGlvbiBhZnRlciB0aGUgc3lzdGVtIGNhbGwgcmV0dXJucyxcblwKK2l0IHdpbGwgZmlyc3QgYXR0ZW1wdCB0byBjbG9zZSBhbnkgZmlsZSBkZXNjcmlwdG9ycyByZWNlaXZlZCB2aWEgdGhlXG5cCitTQ01fUklHSFRTIG1lY2hhbmlzbS4iKTsKKyNlbmRpZiAgICAvKiBDTVNHX0xFTiAqLworCisKIC8qIHMuc2VuZChkYXRhIFssZmxhZ3NdKSBtZXRob2QgKi8KIAogc3RhdGljIFB5T2JqZWN0ICoKQEAgLTI3NzEsNiArMzQzMCw3IEBACiAgICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLAogICAgICAgICAgICAgICAgICAgICAgICAgICJzZW5kdG8oKSB0YWtlcyAyIG9yIDMgYXJndW1lbnRzICglZCBnaXZlbikiLAogICAgICAgICAgICAgICAgICAgICAgICAgIGFyZ2xlbik7CisgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAgICAgaWYgKFB5RXJyX09jY3VycmVkKCkpCiAgICAgICAgIHJldHVybiBOVUxMOwpAQCAtMjgxNCw2ICszNDc0LDIzNCBAQAogRm9yIElQIHNvY2tldHMsIHRoZSBhZGRyZXNzIGlzIGEgcGFpciAoaG9zdGFkZHIsIHBvcnQpLiIpOwogCiAKKy8qIFRoZSBzZW5kbXNnKCkgYW5kIHJlY3Ztc2dbX2ludG9dKCkgbWV0aG9kcyByZXF1aXJlIGEgd29ya2luZworICAgQ01TR19MRU4oKS4gIFNlZSB0aGUgY29tbWVudCBuZWFyIGdldF9DTVNHX0xFTigpLiAqLworI2lmZGVmIENNU0dfTEVOCisvKiBzLnNlbmRtc2coYnVmZmVyc1ssIGFuY2RhdGFbLCBmbGFnc1ssIGFkZHJlc3NdXV0pIG1ldGhvZCAqLworCitzdGF0aWMgUHlPYmplY3QgKgorc29ja19zZW5kbXNnKFB5U29ja2V0U29ja09iamVjdCAqcywgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlfc3NpemVfdCBpLCBuZGF0YXBhcnRzLCBuZGF0YWJ1ZnMgPSAwLCBuY21zZ3MsIG5jbXNnYnVmcyA9IDA7CisgICAgUHlfYnVmZmVyICpkYXRhYnVmcyA9IE5VTEw7CisgICAgc3RydWN0IGlvdmVjICppb3ZzID0gTlVMTDsKKyAgICBzb2NrX2FkZHJfdCBhZGRyYnVmOworICAgIHN0cnVjdCBtc2doZHIgbXNnID0gezB9OworICAgIHN0cnVjdCBjbXNnaW5mbyB7CisgICAgICAgIGludCBsZXZlbDsKKyAgICAgICAgaW50IHR5cGU7CisgICAgICAgIFB5X2J1ZmZlciBkYXRhOworICAgIH0gKmNtc2dzID0gTlVMTDsKKyAgICB2b2lkICpjb250cm9sYnVmID0gTlVMTDsKKyAgICBzaXplX3QgY29udHJvbGxlbiwgY29udHJvbGxlbl9sYXN0OworICAgIHNzaXplX3QgYnl0ZXNfc2VudCA9IC0xOworICAgIGludCBhZGRybGVuLCB0aW1lb3V0LCBmbGFncyA9IDA7CisgICAgUHlPYmplY3QgKmRhdGFfYXJnLCAqY21zZ19hcmcgPSBOVUxMLCAqYWRkcl9hcmcgPSBOVUxMLCAqZGF0YV9mYXN0ID0gTlVMTCwKKyAgICAgICAgKmNtc2dfZmFzdCA9IE5VTEwsICpyZXR2YWwgPSBOVUxMOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJPfE9pTzpzZW5kbXNnIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgJmRhdGFfYXJnLCAmY21zZ19hcmcsICZmbGFncywgJmFkZHJfYXJnKSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICAvKiBQYXJzZSBkZXN0aW5hdGlvbiBhZGRyZXNzLiAqLworICAgIGlmIChhZGRyX2FyZyAhPSBOVUxMICYmIGFkZHJfYXJnICE9IFB5X05vbmUpIHsKKyAgICAgICAgaWYgKCFnZXRzb2NrYWRkcmFyZyhzLCBhZGRyX2FyZywgU0FTMlNBKCZhZGRyYnVmKSwgJmFkZHJsZW4pKQorICAgICAgICAgICAgZ290byBmaW5hbGx5OworICAgICAgICBtc2cubXNnX25hbWUgPSAmYWRkcmJ1ZjsKKyAgICAgICAgbXNnLm1zZ19uYW1lbGVuID0gYWRkcmxlbjsKKyAgICB9CisKKyAgICAvKiBGaWxsIGluIGFuIGlvdmVjIGZvciBlYWNoIG1lc3NhZ2UgcGFydCwgYW5kIHNhdmUgdGhlIFB5X2J1ZmZlcgorICAgICAgIHN0cnVjdHMgdG8gcmVsZWFzZSBhZnRlcndhcmRzLiAqLworICAgIGlmICgoZGF0YV9mYXN0ID0gUHlTZXF1ZW5jZV9GYXN0KGRhdGFfYXJnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzZW5kbXNnKCkgYXJndW1lbnQgMSBtdXN0IGJlIGFuICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaXRlcmFibGUiKSkgPT0gTlVMTCkKKyAgICAgICAgZ290byBmaW5hbGx5OworICAgIG5kYXRhcGFydHMgPSBQeVNlcXVlbmNlX0Zhc3RfR0VUX1NJWkUoZGF0YV9mYXN0KTsKKyAgICBpZiAobmRhdGFwYXJ0cyA+IElOVF9NQVgpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX09TRXJyb3IsICJzZW5kbXNnKCkgYXJndW1lbnQgMSBpcyB0b28gbG9uZyIpOworICAgICAgICBnb3RvIGZpbmFsbHk7CisgICAgfQorICAgIG1zZy5tc2dfaW92bGVuID0gbmRhdGFwYXJ0czsKKyAgICBpZiAobmRhdGFwYXJ0cyA+IDAgJiYKKyAgICAgICAgKChtc2cubXNnX2lvdiA9IGlvdnMgPSBQeU1lbV9OZXcoc3RydWN0IGlvdmVjLCBuZGF0YXBhcnRzKSkgPT0gTlVMTCB8fAorICAgICAgICAgKGRhdGFidWZzID0gUHlNZW1fTmV3KFB5X2J1ZmZlciwgbmRhdGFwYXJ0cykpID09IE5VTEwpKSB7CisgICAgICAgIFB5RXJyX05vTWVtb3J5KCk7CisgICAgICAgIGdvdG8gZmluYWxseTsKKyAgICB9CisgICAgZm9yICg7IG5kYXRhYnVmcyA8IG5kYXRhcGFydHM7IG5kYXRhYnVmcysrKSB7CisgICAgICAgIGlmICghUHlBcmdfUGFyc2UoUHlTZXF1ZW5jZV9GYXN0X0dFVF9JVEVNKGRhdGFfZmFzdCwgbmRhdGFidWZzKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAieSo7c2VuZG1zZygpIGFyZ3VtZW50IDEgbXVzdCBiZSBhbiBpdGVyYWJsZSBvZiAiCisgICAgICAgICAgICAgICAgICAgICAgICAgImJ1ZmZlci1jb21wYXRpYmxlIG9iamVjdHMiLAorICAgICAgICAgICAgICAgICAgICAgICAgICZkYXRhYnVmc1tuZGF0YWJ1ZnNdKSkKKyAgICAgICAgICAgIGdvdG8gZmluYWxseTsKKyAgICAgICAgaW92c1tuZGF0YWJ1ZnNdLmlvdl9iYXNlID0gZGF0YWJ1ZnNbbmRhdGFidWZzXS5idWY7CisgICAgICAgIGlvdnNbbmRhdGFidWZzXS5pb3ZfbGVuID0gZGF0YWJ1ZnNbbmRhdGFidWZzXS5sZW47CisgICAgfQorCisgICAgaWYgKGNtc2dfYXJnID09IE5VTEwpCisgICAgICAgIG5jbXNncyA9IDA7CisgICAgZWxzZSB7CisgICAgICAgIGlmICgoY21zZ19mYXN0ID0gUHlTZXF1ZW5jZV9GYXN0KGNtc2dfYXJnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2VuZG1zZygpIGFyZ3VtZW50IDIgbXVzdCBiZSBhbiAiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpdGVyYWJsZSIpKSA9PSBOVUxMKQorICAgICAgICAgICAgZ290byBmaW5hbGx5OworICAgICAgICBuY21zZ3MgPSBQeVNlcXVlbmNlX0Zhc3RfR0VUX1NJWkUoY21zZ19mYXN0KTsKKyAgICB9CisKKyNpZm5kZWYgQ01TR19TUEFDRQorICAgIGlmIChuY21zZ3MgPiAxKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19PU0Vycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgInNlbmRpbmcgbXVsdGlwbGUgY29udHJvbCBtZXNzYWdlcyBpcyBub3Qgc3VwcG9ydGVkICIKKyAgICAgICAgICAgICAgICAgICAgICAgICJvbiB0aGlzIHN5c3RlbSIpOworICAgICAgICBnb3RvIGZpbmFsbHk7CisgICAgfQorI2VuZGlmCisgICAgLyogU2F2ZSBsZXZlbCwgdHlwZSBhbmQgUHlfYnVmZmVyIGZvciBlYWNoIGNvbnRyb2wgbWVzc2FnZSwKKyAgICAgICBhbmQgY2FsY3VsYXRlIHRvdGFsIHNpemUuICovCisgICAgaWYgKG5jbXNncyA+IDAgJiYgKGNtc2dzID0gUHlNZW1fTmV3KHN0cnVjdCBjbXNnaW5mbywgbmNtc2dzKSkgPT0gTlVMTCkgeworICAgICAgICBQeUVycl9Ob01lbW9yeSgpOworICAgICAgICBnb3RvIGZpbmFsbHk7CisgICAgfQorICAgIGNvbnRyb2xsZW4gPSBjb250cm9sbGVuX2xhc3QgPSAwOworICAgIHdoaWxlIChuY21zZ2J1ZnMgPCBuY21zZ3MpIHsKKyAgICAgICAgc2l6ZV90IGJ1ZnNpemUsIHNwYWNlOworCisgICAgICAgIGlmICghUHlBcmdfUGFyc2UoUHlTZXF1ZW5jZV9GYXN0X0dFVF9JVEVNKGNtc2dfZmFzdCwgbmNtc2didWZzKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAiKGlpeSopOltzZW5kbXNnKCkgYW5jaWxsYXJ5IGRhdGEgaXRlbXNdIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAmY21zZ3NbbmNtc2didWZzXS5sZXZlbCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAmY21zZ3NbbmNtc2didWZzXS50eXBlLAorICAgICAgICAgICAgICAgICAgICAgICAgICZjbXNnc1tuY21zZ2J1ZnNdLmRhdGEpKQorICAgICAgICAgICAgZ290byBmaW5hbGx5OworICAgICAgICBidWZzaXplID0gY21zZ3NbbmNtc2didWZzKytdLmRhdGEubGVuOworCisjaWZkZWYgQ01TR19TUEFDRQorICAgICAgICBpZiAoIWdldF9DTVNHX1NQQUNFKGJ1ZnNpemUsICZzcGFjZSkpIHsKKyNlbHNlCisgICAgICAgIGlmICghZ2V0X0NNU0dfTEVOKGJ1ZnNpemUsICZzcGFjZSkpIHsKKyNlbmRpZgorICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX09TRXJyb3IsICJhbmNpbGxhcnkgZGF0YSBpdGVtIHRvbyBsYXJnZSIpOworICAgICAgICAgICAgZ290byBmaW5hbGx5OworICAgICAgICB9CisgICAgICAgIGNvbnRyb2xsZW4gKz0gc3BhY2U7CisgICAgICAgIGlmIChjb250cm9sbGVuID4gU09DS0xFTl9UX0xJTUlUIHx8IGNvbnRyb2xsZW4gPCBjb250cm9sbGVuX2xhc3QpIHsKKyAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19PU0Vycm9yLCAidG9vIG11Y2ggYW5jaWxsYXJ5IGRhdGEiKTsKKyAgICAgICAgICAgIGdvdG8gZmluYWxseTsKKyAgICAgICAgfQorICAgICAgICBjb250cm9sbGVuX2xhc3QgPSBjb250cm9sbGVuOworICAgIH0KKworICAgIC8qIENvbnN0cnVjdCBhbmNpbGxhcnkgZGF0YSBibG9jayBmcm9tIGNvbnRyb2wgbWVzc2FnZSBpbmZvLiAqLworICAgIGlmIChuY21zZ2J1ZnMgPiAwKSB7CisgICAgICAgIHN0cnVjdCBjbXNnaGRyICpjbXNnaCA9IE5VTEw7CisKKyAgICAgICAgaWYgKChtc2cubXNnX2NvbnRyb2wgPSBjb250cm9sYnVmID0KKyAgICAgICAgICAgICBQeU1lbV9NYWxsb2MoY29udHJvbGxlbikpID09IE5VTEwpIHsKKyAgICAgICAgICAgIFB5RXJyX05vTWVtb3J5KCk7CisgICAgICAgICAgICBnb3RvIGZpbmFsbHk7CisgICAgICAgIH0KKyAgICAgICAgbXNnLm1zZ19jb250cm9sbGVuID0gY29udHJvbGxlbjsKKworICAgICAgICAvKiBOZWVkIHRvIHplcm8gb3V0IHRoZSBidWZmZXIgYXMgYSB3b3JrYXJvdW5kIGZvciBnbGliYydzCisgICAgICAgICAgIENNU0dfTlhUSERSKCkgaW1wbGVtZW50YXRpb24uICBBZnRlciBnZXR0aW5nIHRoZSBwb2ludGVyIHRvCisgICAgICAgICAgIHRoZSBuZXh0IGhlYWRlciwgaXQgY2hlY2tzIGl0cyAodW5pbml0aWFsaXplZCkgY21zZ19sZW4KKyAgICAgICAgICAgbWVtYmVyIHRvIHNlZSBpZiB0aGUgIm1lc3NhZ2UiIGZpdHMgaW4gdGhlIGJ1ZmZlciwgYW5kCisgICAgICAgICAgIHJldHVybnMgTlVMTCBpZiBpdCBkb2Vzbid0LiAgWmVyby1maWxsaW5nIHRoZSBidWZmZXIKKyAgICAgICAgICAgZW5zdXJlcyB0aGF0IHRoYXQgZG9lc24ndCBoYXBwZW4uICovCisgICAgICAgIG1lbXNldChjb250cm9sYnVmLCAwLCBjb250cm9sbGVuKTsKKworICAgICAgICBmb3IgKGkgPSAwOyBpIDwgbmNtc2didWZzOyBpKyspIHsKKyAgICAgICAgICAgIHNpemVfdCBtc2dfbGVuLCBkYXRhX2xlbiA9IGNtc2dzW2ldLmRhdGEubGVuOworICAgICAgICAgICAgaW50IGVub3VnaF9zcGFjZSA9IDA7CisKKyAgICAgICAgICAgIGNtc2doID0gKGkgPT0gMCkgPyBDTVNHX0ZJUlNUSERSKCZtc2cpIDogQ01TR19OWFRIRFIoJm1zZywgY21zZ2gpOworICAgICAgICAgICAgaWYgKGNtc2doID09IE5VTEwpIHsKKyAgICAgICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfUnVudGltZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidW5leHBlY3RlZCBOVUxMIHJlc3VsdCBmcm9tICVzKCkiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaSA9PSAwKSA/ICJDTVNHX0ZJUlNUSERSIiA6ICJDTVNHX05YVEhEUiIpOworICAgICAgICAgICAgICAgIGdvdG8gZmluYWxseTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmICghZ2V0X0NNU0dfTEVOKGRhdGFfbGVuLCAmbXNnX2xlbikpIHsKKyAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfUnVudGltZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaXRlbSBzaXplIG91dCBvZiByYW5nZSBmb3IgQ01TR19MRU4oKSIpOworICAgICAgICAgICAgICAgIGdvdG8gZmluYWxseTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmIChjbXNnX21pbl9zcGFjZSgmbXNnLCBjbXNnaCwgbXNnX2xlbikpIHsKKyAgICAgICAgICAgICAgICBzaXplX3Qgc3BhY2U7CisKKyAgICAgICAgICAgICAgICBjbXNnaC0+Y21zZ19sZW4gPSBtc2dfbGVuOworICAgICAgICAgICAgICAgIGlmIChnZXRfY21zZ19kYXRhX3NwYWNlKCZtc2csIGNtc2doLCAmc3BhY2UpKQorICAgICAgICAgICAgICAgICAgICBlbm91Z2hfc3BhY2UgPSAoc3BhY2UgPj0gZGF0YV9sZW4pOworICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKCFlbm91Z2hfc3BhY2UpIHsKKyAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfUnVudGltZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYW5jaWxsYXJ5IGRhdGEgZG9lcyBub3QgZml0IGluIGNhbGN1bGF0ZWQgIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3BhY2UiKTsKKyAgICAgICAgICAgICAgICBnb3RvIGZpbmFsbHk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBjbXNnaC0+Y21zZ19sZXZlbCA9IGNtc2dzW2ldLmxldmVsOworICAgICAgICAgICAgY21zZ2gtPmNtc2dfdHlwZSA9IGNtc2dzW2ldLnR5cGU7CisgICAgICAgICAgICBtZW1jcHkoQ01TR19EQVRBKGNtc2doKSwgY21zZ3NbaV0uZGF0YS5idWYsIGRhdGFfbGVuKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIC8qIE1ha2UgdGhlIHN5c3RlbSBjYWxsLiAqLworICAgIGlmICghSVNfU0VMRUNUQUJMRShzKSkgeworICAgICAgICBzZWxlY3RfZXJyb3IoKTsKKyAgICAgICAgZ290byBmaW5hbGx5OworICAgIH0KKworICAgIEJFR0lOX1NFTEVDVF9MT09QKHMpCisgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUzsKKyAgICB0aW1lb3V0ID0gaW50ZXJuYWxfc2VsZWN0X2V4KHMsIDEsIGludGVydmFsKTsKKyAgICBpZiAoIXRpbWVvdXQpCisgICAgICAgIGJ5dGVzX3NlbnQgPSBzZW5kbXNnKHMtPnNvY2tfZmQsICZtc2csIGZsYWdzKTsKKyAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUzsKKyAgICBpZiAodGltZW91dCA9PSAxKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhzb2NrZXRfdGltZW91dCwgInRpbWVkIG91dCIpOworICAgICAgICBnb3RvIGZpbmFsbHk7CisgICAgfQorICAgIEVORF9TRUxFQ1RfTE9PUChzKQorCisgICAgaWYgKGJ5dGVzX3NlbnQgPCAwKSB7CisgICAgICAgIHMtPmVycm9yaGFuZGxlcigpOworICAgICAgICBnb3RvIGZpbmFsbHk7CisgICAgfQorICAgIHJldHZhbCA9IFB5TG9uZ19Gcm9tU3NpemVfdChieXRlc19zZW50KTsKKworZmluYWxseToKKyAgICBQeU1lbV9GcmVlKGNvbnRyb2xidWYpOworICAgIGZvciAoaSA9IDA7IGkgPCBuY21zZ2J1ZnM7IGkrKykKKyAgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmY21zZ3NbaV0uZGF0YSk7CisgICAgUHlNZW1fRnJlZShjbXNncyk7CisgICAgUHlfWERFQ1JFRihjbXNnX2Zhc3QpOworICAgIGZvciAoaSA9IDA7IGkgPCBuZGF0YWJ1ZnM7IGkrKykKKyAgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmZGF0YWJ1ZnNbaV0pOworICAgIFB5TWVtX0ZyZWUoZGF0YWJ1ZnMpOworICAgIFB5TWVtX0ZyZWUoaW92cyk7CisgICAgUHlfWERFQ1JFRihkYXRhX2Zhc3QpOworICAgIHJldHVybiByZXR2YWw7Cit9CisKK1B5RG9jX1NUUlZBUihzZW5kbXNnX2RvYywKKyJzZW5kbXNnKGJ1ZmZlcnNbLCBhbmNkYXRhWywgZmxhZ3NbLCBhZGRyZXNzXV1dKSAtPiBjb3VudFxuXAorXG5cCitTZW5kIG5vcm1hbCBhbmQgYW5jaWxsYXJ5IGRhdGEgdG8gdGhlIHNvY2tldCwgZ2F0aGVyaW5nIHRoZVxuXAorbm9uLWFuY2lsbGFyeSBkYXRhIGZyb20gYSBzZXJpZXMgb2YgYnVmZmVycyBhbmQgY29uY2F0ZW5hdGluZyBpdCBpbnRvXG5cCithIHNpbmdsZSBtZXNzYWdlLiAgVGhlIGJ1ZmZlcnMgYXJndW1lbnQgc3BlY2lmaWVzIHRoZSBub24tYW5jaWxsYXJ5XG5cCitkYXRhIGFzIGFuIGl0ZXJhYmxlIG9mIGJ1ZmZlci1jb21wYXRpYmxlIG9iamVjdHMgKGUuZy4gYnl0ZXMgb2JqZWN0cykuXG5cCitUaGUgYW5jZGF0YSBhcmd1bWVudCBzcGVjaWZpZXMgdGhlIGFuY2lsbGFyeSBkYXRhIChjb250cm9sIG1lc3NhZ2VzKVxuXAorYXMgYW4gaXRlcmFibGUgb2YgemVybyBvciBtb3JlIHR1cGxlcyAoY21zZ19sZXZlbCwgY21zZ190eXBlLFxuXAorY21zZ19kYXRhKSwgd2hlcmUgY21zZ19sZXZlbCBhbmQgY21zZ190eXBlIGFyZSBpbnRlZ2VycyBzcGVjaWZ5aW5nIHRoZVxuXAorcHJvdG9jb2wgbGV2ZWwgYW5kIHByb3RvY29sLXNwZWNpZmljIHR5cGUgcmVzcGVjdGl2ZWx5LCBhbmQgY21zZ19kYXRhXG5cCitpcyBhIGJ1ZmZlci1jb21wYXRpYmxlIG9iamVjdCBob2xkaW5nIHRoZSBhc3NvY2lhdGVkIGRhdGEuICBUaGUgZmxhZ3NcblwKK2FyZ3VtZW50IGRlZmF1bHRzIHRvIDAgYW5kIGhhcyB0aGUgc2FtZSBtZWFuaW5nIGFzIGZvciBzZW5kKCkuICBJZlxuXAorYWRkcmVzcyBpcyBzdXBwbGllZCBhbmQgbm90IE5vbmUsIGl0IHNldHMgYSBkZXN0aW5hdGlvbiBhZGRyZXNzIGZvclxuXAordGhlIG1lc3NhZ2UuICBUaGUgcmV0dXJuIHZhbHVlIGlzIHRoZSBudW1iZXIgb2YgYnl0ZXMgb2Ygbm9uLWFuY2lsbGFyeVxuXAorZGF0YSBzZW50LiIpOworI2VuZGlmICAgIC8qIENNU0dfTEVOICovCisKKwogLyogcy5zaHV0ZG93bihob3cpIG1ldGhvZCAqLwogCiBzdGF0aWMgUHlPYmplY3QgKgpAQCAtMjk0MCw2ICszODI4LDE0IEBACiAgICAgICAgICAgICAgICAgICAgICAgc2V0c29ja29wdF9kb2N9LAogICAgIHsic2h1dGRvd24iLCAgICAgICAgICAoUHlDRnVuY3Rpb24pc29ja19zaHV0ZG93biwgTUVUSF9PLAogICAgICAgICAgICAgICAgICAgICAgIHNodXRkb3duX2RvY30sCisjaWZkZWYgQ01TR19MRU4KKyAgICB7InJlY3Ztc2ciLCAgICAgICAgICAgKFB5Q0Z1bmN0aW9uKXNvY2tfcmVjdm1zZywgTUVUSF9WQVJBUkdTLAorICAgICAgICAgICAgICAgICAgICAgIHJlY3Ztc2dfZG9jfSwKKyAgICB7InJlY3Ztc2dfaW50byIsICAgICAgKFB5Q0Z1bmN0aW9uKXNvY2tfcmVjdm1zZ19pbnRvLCBNRVRIX1ZBUkFSR1MsCisgICAgICAgICAgICAgICAgICAgICAgcmVjdm1zZ19pbnRvX2RvYyx9LAorICAgIHsic2VuZG1zZyIsICAgICAgICAgICAoUHlDRnVuY3Rpb24pc29ja19zZW5kbXNnLCBNRVRIX1ZBUkFSR1MsCisgICAgICAgICAgICAgICAgICAgICAgc2VuZG1zZ19kb2N9LAorI2VuZGlmCiAgICAge05VTEwsICAgICAgICAgICAgICAgICAgICAgIE5VTEx9ICAgICAgICAgICAvKiBzZW50aW5lbCAqLwogfTsKIApAQCAtMzExNSwyNSArNDAxMSwzNSBAQAogICAgICAgIHZlcnNpb24gb2YgdGhlIGhvc3RuYW1lLCB3aGVyZWFzIHdlIG5lZWQgYSBVbmljb2RlIHN0cmluZy4KICAgICAgICBPdGhlcndpc2UsIGdldGhvc3RuYW1lIGFwcGFyZW50bHkgYWxzbyByZXR1cm5zIHRoZSBETlMgbmFtZS4gKi8KICAgICB3Y2hhcl90IGJ1ZltNQVhfQ09NUFVURVJOQU1FX0xFTkdUSCArIDFdOwotICAgIERXT1JEIHNpemUgPSBzaXplb2YoYnVmKSAvIHNpemVvZih3Y2hhcl90KTsKKyAgICBEV09SRCBzaXplID0gUHlfQVJSQVlfTEVOR1RIKGJ1Zik7CisgICAgd2NoYXJfdCAqbmFtZTsKICAgICBQeU9iamVjdCAqcmVzdWx0OwotICAgIGlmICghR2V0Q29tcHV0ZXJOYW1lRXhXKENvbXB1dGVyTmFtZVBoeXNpY2FsRG5zSG9zdG5hbWUsIGJ1ZiwgJnNpemUpKSB7Ci0gICAgICAgIGlmIChHZXRMYXN0RXJyb3IoKSA9PSBFUlJPUl9NT1JFX0RBVEEpIHsKLSAgICAgICAgICAgIC8qIE1TRE4gc2F5cyB0aGlzIG1heSBvY2N1ciAiYmVjYXVzZSBETlMgYWxsb3dzIGxvbmdlciBuYW1lcyAqLwotICAgICAgICAgICAgaWYgKHNpemUgPT0gMCkgLyogWFhYOiBJJ20gbm90IHN1cmUgaG93IHRvIGhhbmRsZSB0aGlzICovCi0gICAgICAgICAgICAgICAgcmV0dXJuIFB5VW5pY29kZV9Gcm9tVW5pY29kZShOVUxMLCAwKTsKLSAgICAgICAgICAgIHJlc3VsdCA9IFB5VW5pY29kZV9Gcm9tVW5pY29kZShOVUxMLCBzaXplIC0gMSk7Ci0gICAgICAgICAgICBpZiAoIXJlc3VsdCkKLSAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgICAgIGlmIChHZXRDb21wdXRlck5hbWVFeFcoQ29tcHV0ZXJOYW1lUGh5c2ljYWxEbnNIb3N0bmFtZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0FTX1VOSUNPREUocmVzdWx0KSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnNpemUpKQotICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7Ci0gICAgICAgICAgICBQeV9ERUNSRUYocmVzdWx0KTsKLSAgICAgICAgfQotICAgICAgICByZXR1cm4gUHlFcnJfU2V0RXhjRnJvbVdpbmRvd3NFcnIoUHlFeGNfV2luZG93c0Vycm9yLCBHZXRMYXN0RXJyb3IoKSk7CisKKyAgICBpZiAoR2V0Q29tcHV0ZXJOYW1lRXhXKENvbXB1dGVyTmFtZVBoeXNpY2FsRG5zSG9zdG5hbWUsIGJ1ZiwgJnNpemUpKQorICAgICAgICByZXR1cm4gUHlVbmljb2RlX0Zyb21XaWRlQ2hhcihidWYsIHNpemUpOworCisgICAgaWYgKEdldExhc3RFcnJvcigpICE9IEVSUk9SX01PUkVfREFUQSkKKyAgICAgICAgcmV0dXJuIFB5RXJyX1NldEZyb21XaW5kb3dzRXJyKDApOworCisgICAgaWYgKHNpemUgPT0gMCkKKyAgICAgICAgcmV0dXJuIFB5VW5pY29kZV9OZXcoMCwgMCk7CisKKyAgICAvKiBNU0ROIHNheXMgRVJST1JfTU9SRV9EQVRBIG1heSBvY2N1ciBiZWNhdXNlIEROUyBhbGxvd3MgbG9uZ2VyCisgICAgICAgbmFtZXMgKi8KKyAgICBuYW1lID0gUHlNZW1fTWFsbG9jKHNpemUgKiBzaXplb2Yod2NoYXJfdCkpOworICAgIGlmICghbmFtZSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgaWYgKCFHZXRDb21wdXRlck5hbWVFeFcoQ29tcHV0ZXJOYW1lUGh5c2ljYWxEbnNIb3N0bmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAmc2l6ZSkpCisgICAgeworICAgICAgICBQeU1lbV9GcmVlKG5hbWUpOworICAgICAgICByZXR1cm4gUHlFcnJfU2V0RnJvbVdpbmRvd3NFcnIoMCk7CiAgICAgfQotICAgIHJldHVybiBQeVVuaWNvZGVfRnJvbVVuaWNvZGUoYnVmLCBzaXplKTsgICAgICAgICAgICAKKworICAgIHJlc3VsdCA9IFB5VW5pY29kZV9Gcm9tV2lkZUNoYXIobmFtZSwgc2l6ZSk7CisgICAgUHlNZW1fRnJlZShuYW1lKTsKKyAgICByZXR1cm4gcmVzdWx0OwogI2Vsc2UKICAgICBjaGFyIGJ1ZlsxMDI0XTsKICAgICBpbnQgcmVzOwpAQCAtMzE1Miw2ICs0MDU4LDM3IEBACiBcblwKIFJldHVybiB0aGUgY3VycmVudCBob3N0IG5hbWUuIik7CiAKKyNpZmRlZiBIQVZFX1NFVEhPU1ROQU1FCitQeURvY19TVFJWQVIoc2V0aG9zdG5hbWVfZG9jLAorInNldGhvc3RuYW1lKG5hbWUpXG5cblwKK1NldHMgdGhlIGhvc3RuYW1lIHRvIG5hbWUuIik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitzb2NrZXRfc2V0aG9zdG5hbWUoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpobm9iajsKKyAgICBQeV9idWZmZXIgYnVmOworICAgIGludCByZXMsIGZsYWcgPSAwOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJTOnNldGhvc3RuYW1lIiwgJmhub2JqKSkgeworICAgICAgICBQeUVycl9DbGVhcigpOworICAgICAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIk8mOnNldGhvc3RuYW1lIiwKKyAgICAgICAgICAgICAgICBQeVVuaWNvZGVfRlNDb252ZXJ0ZXIsICZobm9iaikpCisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgZmxhZyA9IDE7CisgICAgfQorICAgIHJlcyA9IFB5T2JqZWN0X0dldEJ1ZmZlcihobm9iaiwgJmJ1ZiwgUHlCVUZfU0lNUExFKTsKKyAgICBpZiAoIXJlcykgeworICAgICAgICByZXMgPSBzZXRob3N0bmFtZShidWYuYnVmLCBidWYubGVuKTsKKyAgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmYnVmKTsKKyAgICB9CisgICAgaWYgKGZsYWcpCisgICAgICAgIFB5X0RFQ1JFRihobm9iaik7CisgICAgaWYgKHJlcykKKyAgICAgICAgcmV0dXJuIHNldF9lcnJvcigpOworICAgIFB5X1JFVFVSTl9OT05FOworfQorI2VuZGlmCiAKIC8qIFB5dGhvbiBpbnRlcmZhY2UgdG8gZ2V0aG9zdGJ5bmFtZShuYW1lKS4gKi8KIApAQCAtMzE5OCw5ICs0MTM1LDggQEAKIAogICAgIGlmIChoLT5oX2FkZHJ0eXBlICE9IGFmKSB7CiAgICAgICAgIC8qIExldCdzIGdldCByZWFsIGVycm9yIG1lc3NhZ2UgdG8gcmV0dXJuICovCi0gICAgICAgIFB5RXJyX1NldFN0cmluZyhzb2NrZXRfZXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAgICAoY2hhciAqKXN0cmVycm9yKEVBRk5PU1VQUE9SVCkpOwotCisgICAgICAgIGVycm5vID0gRUFGTk9TVVBQT1JUOworICAgICAgICBQeUVycl9TZXRGcm9tRXJybm8oUHlFeGNfT1NFcnJvcik7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KIApAQCAtMzI4Myw3ICs0MjE5LDcgQEAKICNlbmRpZgogCiAgICAgICAgIGRlZmF1bHQ6ICAgICAgICAgICAgICAgIC8qIGNhbid0IGhhcHBlbiAqLwotICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKHNvY2tldF9lcnJvciwKKyAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19PU0Vycm9yLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1bnN1cHBvcnRlZCBhZGRyZXNzIGZhbWlseSIpOwogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgIH0KQEAgLTMzMTUsMTEgKzQyNTEsNyBAQAogewogICAgIGNoYXIgKm5hbWU7CiAgICAgc3RydWN0IGhvc3RlbnQgKmg7Ci0jaWZkZWYgRU5BQkxFX0lQVjYKLSAgICBzdHJ1Y3Qgc29ja2FkZHJfc3RvcmFnZSBhZGRyOwotI2Vsc2UKLSAgICBzdHJ1Y3Qgc29ja2FkZHJfaW4gYWRkcjsKLSNlbmRpZgorICAgIHNvY2tfYWRkcl90IGFkZHI7CiAgICAgc3RydWN0IHNvY2thZGRyICpzYTsKICAgICBQeU9iamVjdCAqcmV0ID0gTlVMTDsKICNpZmRlZiBIQVZFX0dFVEhPU1RCWU5BTUVfUgpAQCAtMzMzMSwxOSArNDI2MywxOSBAQAogICAgIGludCBidWZfbGVuID0gKHNpemVvZiBidWYpIC0gMTsKICAgICBpbnQgZXJybm9wOwogI2VuZGlmCi0jaWYgZGVmaW5lZChIQVZFX0dFVEhPU1RCWU5BTUVfUl8zX0FSRykgfHwgZGVmaW5lZChIQVZFX0dFVEhPU1RCWU5BTUVfUl82X0FSRykKKyNpZmRlZiBIQVZFX0dFVEhPU1RCWU5BTUVfUl8zX0FSRwogICAgIGludCByZXN1bHQ7CiAjZW5kaWYKICNlbmRpZiAvKiBIQVZFX0dFVEhPU1RCWU5BTUVfUiAqLwogCiAgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJldDpnZXRob3N0YnluYW1lX2V4IiwgImlkbmEiLCAmbmFtZSkpCiAgICAgICAgIHJldHVybiBOVUxMOwotICAgIGlmIChzZXRpcGFkZHIobmFtZSwgKHN0cnVjdCBzb2NrYWRkciAqKSZhZGRyLCBzaXplb2YoYWRkciksIEFGX0lORVQpIDwgMCkKKyAgICBpZiAoc2V0aXBhZGRyKG5hbWUsIFNBUzJTQSgmYWRkciksIHNpemVvZihhZGRyKSwgQUZfSU5FVCkgPCAwKQogICAgICAgICBnb3RvIGZpbmFsbHk7CiAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwogI2lmZGVmIEhBVkVfR0VUSE9TVEJZTkFNRV9SCiAjaWYgICBkZWZpbmVkKEhBVkVfR0VUSE9TVEJZTkFNRV9SXzZfQVJHKQotICAgIHJlc3VsdCA9IGdldGhvc3RieW5hbWVfcihuYW1lLCAmaHBfYWxsb2NhdGVkLCBidWYsIGJ1Zl9sZW4sCisgICAgZ2V0aG9zdGJ5bmFtZV9yKG5hbWUsICZocF9hbGxvY2F0ZWQsIGJ1ZiwgYnVmX2xlbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmgsICZlcnJub3ApOwogI2VsaWYgZGVmaW5lZChIQVZFX0dFVEhPU1RCWU5BTUVfUl81X0FSRykKICAgICBoID0gZ2V0aG9zdGJ5bmFtZV9yKG5hbWUsICZocF9hbGxvY2F0ZWQsIGJ1ZiwgYnVmX2xlbiwgJmVycm5vcCk7CkBAIC0zMzYzLDggKzQyOTUsOCBAQAogICAgICAgIGFkZHIuc3NfZmFtaWx5LgogICAgICAgIFRoZXJlZm9yZSwgd2UgY2FzdCB0aGUgc29ja2FkZHJfc3RvcmFnZSBpbnRvIHNvY2thZGRyIHRvCiAgICAgICAgYWNjZXNzIHNhX2ZhbWlseS4gKi8KLSAgICBzYSA9IChzdHJ1Y3Qgc29ja2FkZHIqKSZhZGRyOwotICAgIHJldCA9IGdldGhvc3RfY29tbW9uKGgsIChzdHJ1Y3Qgc29ja2FkZHIgKikmYWRkciwgc2l6ZW9mKGFkZHIpLAorICAgIHNhID0gU0FTMlNBKCZhZGRyKTsKKyAgICByZXQgPSBnZXRob3N0X2NvbW1vbihoLCBTQVMyU0EoJmFkZHIpLCBzaXplb2YoYWRkciksCiAgICAgICAgICAgICAgICAgICAgICAgICAgc2EtPnNhX2ZhbWlseSk7CiAjaWZkZWYgVVNFX0dFVEhPU1RCWU5BTUVfTE9DSwogICAgIFB5VGhyZWFkX3JlbGVhc2VfbG9jayhuZXRkYl9sb2NrKTsKQEAgLTMzODcsMTIgKzQzMTksOCBAQAogc3RhdGljIFB5T2JqZWN0ICoKIHNvY2tldF9nZXRob3N0YnlhZGRyKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKIHsKLSNpZmRlZiBFTkFCTEVfSVBWNgotICAgIHN0cnVjdCBzb2NrYWRkcl9zdG9yYWdlIGFkZHI7Ci0jZWxzZQotICAgIHN0cnVjdCBzb2NrYWRkcl9pbiBhZGRyOwotI2VuZGlmCi0gICAgc3RydWN0IHNvY2thZGRyICpzYSA9IChzdHJ1Y3Qgc29ja2FkZHIgKikmYWRkcjsKKyAgICBzb2NrX2FkZHJfdCBhZGRyOworICAgIHN0cnVjdCBzb2NrYWRkciAqc2EgPSBTQVMyU0EoJmFkZHIpOwogICAgIGNoYXIgKmlwX251bTsKICAgICBzdHJ1Y3QgaG9zdGVudCAqaDsKICAgICBQeU9iamVjdCAqcmV0ID0gTlVMTDsKQEAgLTM0MDksNyArNDMzNyw3IEBACiAgICAgaW50IGJ1Zl9sZW4gPSAoc2l6ZW9mIGJ1ZikgLSAxOwogICAgIGludCBlcnJub3A7CiAjZW5kaWYKLSNpZiBkZWZpbmVkKEhBVkVfR0VUSE9TVEJZTkFNRV9SXzNfQVJHKSB8fCBkZWZpbmVkKEhBVkVfR0VUSE9TVEJZTkFNRV9SXzZfQVJHKQorI2lmZGVmIEhBVkVfR0VUSE9TVEJZTkFNRV9SXzNfQVJHCiAgICAgaW50IHJlc3VsdDsKICNlbmRpZgogI2VuZGlmIC8qIEhBVkVfR0VUSE9TVEJZTkFNRV9SICovCkBAIC0zNDI0LDcgKzQzNTIsNyBAQAogICAgICAgICBnb3RvIGZpbmFsbHk7CiAgICAgYWYgPSBzYS0+c2FfZmFtaWx5OwogICAgIGFwID0gTlVMTDsKLSAgICBhbCA9IDA7CisgICAgLyogYWwgPSAwOyAqLwogICAgIHN3aXRjaCAoYWYpIHsKICAgICBjYXNlIEFGX0lORVQ6CiAgICAgICAgIGFwID0gKGNoYXIgKikmKChzdHJ1Y3Qgc29ja2FkZHJfaW4gKilzYSktPnNpbl9hZGRyOwpAQCAtMzQzNywxMyArNDM2NSwxMyBAQAogICAgICAgICBicmVhazsKICNlbmRpZgogICAgIGRlZmF1bHQ6Ci0gICAgICAgIFB5RXJyX1NldFN0cmluZyhzb2NrZXRfZXJyb3IsICJ1bnN1cHBvcnRlZCBhZGRyZXNzIGZhbWlseSIpOworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfT1NFcnJvciwgInVuc3VwcG9ydGVkIGFkZHJlc3MgZmFtaWx5Iik7CiAgICAgICAgIGdvdG8gZmluYWxseTsKICAgICB9CiAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwogI2lmZGVmIEhBVkVfR0VUSE9TVEJZTkFNRV9SCiAjaWYgICBkZWZpbmVkKEhBVkVfR0VUSE9TVEJZTkFNRV9SXzZfQVJHKQotICAgIHJlc3VsdCA9IGdldGhvc3RieWFkZHJfcihhcCwgYWwsIGFmLAorICAgIGdldGhvc3RieWFkZHJfcihhcCwgYWwsIGFmLAogICAgICAgICAmaHBfYWxsb2NhdGVkLCBidWYsIGJ1Zl9sZW4sCiAgICAgICAgICZoLCAmZXJybm9wKTsKICNlbGlmIGRlZmluZWQoSEFWRV9HRVRIT1NUQllOQU1FX1JfNV9BUkcpCkBAIC0zNDYxLDcgKzQzODksNyBAQAogICAgIGggPSBnZXRob3N0YnlhZGRyKGFwLCBhbCwgYWYpOwogI2VuZGlmIC8qIEhBVkVfR0VUSE9TVEJZTkFNRV9SICovCiAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKLSAgICByZXQgPSBnZXRob3N0X2NvbW1vbihoLCAoc3RydWN0IHNvY2thZGRyICopJmFkZHIsIHNpemVvZihhZGRyKSwgYWYpOworICAgIHJldCA9IGdldGhvc3RfY29tbW9uKGgsIFNBUzJTQSgmYWRkciksIHNpemVvZihhZGRyKSwgYWYpOwogI2lmZGVmIFVTRV9HRVRIT1NUQllOQU1FX0xPQ0sKICAgICBQeVRocmVhZF9yZWxlYXNlX2xvY2sobmV0ZGJfbG9jayk7CiAjZW5kaWYKQEAgLTM0OTMsNyArNDQyMSw3IEBACiAgICAgc3AgPSBnZXRzZXJ2YnluYW1lKG5hbWUsIHByb3RvKTsKICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwogICAgIGlmIChzcCA9PSBOVUxMKSB7Ci0gICAgICAgIFB5RXJyX1NldFN0cmluZyhzb2NrZXRfZXJyb3IsICJzZXJ2aWNlL3Byb3RvIG5vdCBmb3VuZCIpOworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfT1NFcnJvciwgInNlcnZpY2UvcHJvdG8gbm90IGZvdW5kIik7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KICAgICByZXR1cm4gUHlMb25nX0Zyb21Mb25nKChsb25nKSBudG9ocyhzcC0+c19wb3J0KSk7CkBAIC0zNTMwLDcgKzQ0NTgsNyBAQAogICAgIHNwID0gZ2V0c2VydmJ5cG9ydChodG9ucygoc2hvcnQpcG9ydCksIHByb3RvKTsKICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwogICAgIGlmIChzcCA9PSBOVUxMKSB7Ci0gICAgICAgIFB5RXJyX1NldFN0cmluZyhzb2NrZXRfZXJyb3IsICJwb3J0L3Byb3RvIG5vdCBmb3VuZCIpOworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfT1NFcnJvciwgInBvcnQvcHJvdG8gbm90IGZvdW5kIik7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KICAgICByZXR1cm4gUHlVbmljb2RlX0Zyb21TdHJpbmcoc3AtPnNfbmFtZSk7CkBAIC0zNTU5LDcgKzQ0ODcsNyBAQAogICAgIHNwID0gZ2V0cHJvdG9ieW5hbWUobmFtZSk7CiAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKICAgICBpZiAoc3AgPT0gTlVMTCkgewotICAgICAgICBQeUVycl9TZXRTdHJpbmcoc29ja2V0X2Vycm9yLCAicHJvdG9jb2wgbm90IGZvdW5kIik7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19PU0Vycm9yLCAicHJvdG9jb2wgbm90IGZvdW5kIik7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KICAgICByZXR1cm4gUHlMb25nX0Zyb21Mb25nKChsb25nKSBzcC0+cF9wcm90byk7CkBAIC0zODE0LDcgKzQ3NDIsNyBAQAogICAgICAgICByZXR1cm4gUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZSgoY2hhciAqKSgmYnVmKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZihidWYpKTsKIAotICAgIFB5RXJyX1NldFN0cmluZyhzb2NrZXRfZXJyb3IsCisgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX09TRXJyb3IsCiAgICAgICAgICAgICAgICAgICAgICJpbGxlZ2FsIElQIGFkZHJlc3Mgc3RyaW5nIHBhc3NlZCB0byBpbmV0X2F0b24iKTsKICAgICByZXR1cm4gTlVMTDsKIApAQCAtMzgzNSw3ICs0NzYzLDcgQEAKICAgICAgICAgcGFja2VkX2FkZHIgPSBpbmV0X2FkZHIoaXBfYWRkcik7CiAKICAgICAgICAgaWYgKHBhY2tlZF9hZGRyID09IElOQUREUl9OT05FKSB7ICAgICAgICAgICAgICAgLyogaW52YWxpZCBhZGRyZXNzICovCi0gICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoc29ja2V0X2Vycm9yLAorICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX09TRXJyb3IsCiAgICAgICAgICAgICAgICAgImlsbGVnYWwgSVAgYWRkcmVzcyBzdHJpbmcgcGFzc2VkIHRvIGluZXRfYXRvbiIpOwogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgIH0KQEAgLTM4NjcsNyArNDc5NSw3IEBACiAgICAgfQogCiAgICAgaWYgKGFkZHJfbGVuICE9IHNpemVvZihwYWNrZWRfYWRkcikpIHsKLSAgICAgICAgUHlFcnJfU2V0U3RyaW5nKHNvY2tldF9lcnJvciwKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX09TRXJyb3IsCiAgICAgICAgICAgICAicGFja2VkIElQIHdyb25nIGxlbmd0aCBmb3IgaW5ldF9udG9hIik7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KQEAgLTM5MDIsNyArNDgzMCw3IEBACiAKICNpZiAhZGVmaW5lZChFTkFCTEVfSVBWNikgJiYgZGVmaW5lZChBRl9JTkVUNikKICAgICBpZihhZiA9PSBBRl9JTkVUNikgewotICAgICAgICBQeUVycl9TZXRTdHJpbmcoc29ja2V0X2Vycm9yLAorICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfT1NFcnJvciwKICAgICAgICAgICAgICAgICAgICAgICAgICJjYW4ndCB1c2UgQUZfSU5FVDYsIElQdjYgaXMgZGlzYWJsZWQiKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQpAQCAtMzkxMCwxMCArNDgzOCwxMCBAQAogCiAgICAgcmV0dmFsID0gaW5ldF9wdG9uKGFmLCBpcCwgcGFja2VkKTsKICAgICBpZiAocmV0dmFsIDwgMCkgewotICAgICAgICBQeUVycl9TZXRGcm9tRXJybm8oc29ja2V0X2Vycm9yKTsKKyAgICAgICAgUHlFcnJfU2V0RnJvbUVycm5vKFB5RXhjX09TRXJyb3IpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9IGVsc2UgaWYgKHJldHZhbCA9PSAwKSB7Ci0gICAgICAgIFB5RXJyX1NldFN0cmluZyhzb2NrZXRfZXJyb3IsCisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19PU0Vycm9yLAogICAgICAgICAgICAgImlsbGVnYWwgSVAgYWRkcmVzcyBzdHJpbmcgcGFzc2VkIHRvIGluZXRfcHRvbiIpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9IGVsc2UgaWYgKGFmID09IEFGX0lORVQpIHsKQEAgLTM5MjUsNyArNDg1Myw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2Yoc3RydWN0IGluNl9hZGRyKSk7CiAjZW5kaWYKICAgICB9IGVsc2UgewotICAgICAgICBQeUVycl9TZXRTdHJpbmcoc29ja2V0X2Vycm9yLCAidW5rbm93biBhZGRyZXNzIGZhbWlseSIpOworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfT1NFcnJvciwgInVua25vd24gYWRkcmVzcyBmYW1pbHkiKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogfQpAQCAtMzk3Nyw3ICs0OTA1LDcgQEAKIAogICAgIHJldHZhbCA9IGluZXRfbnRvcChhZiwgcGFja2VkLCBpcCwgc2l6ZW9mKGlwKSk7CiAgICAgaWYgKCFyZXR2YWwpIHsKLSAgICAgICAgUHlFcnJfU2V0RnJvbUVycm5vKHNvY2tldF9lcnJvcik7CisgICAgICAgIFB5RXJyX1NldEZyb21FcnJubyhQeUV4Y19PU0Vycm9yKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfSBlbHNlIHsKICAgICAgICAgcmV0dXJuIFB5VW5pY29kZV9Gcm9tU3RyaW5nKHJldHZhbCk7CkBAIC0zOTk2LDcgKzQ5MjQsNyBAQAogc3RhdGljIFB5T2JqZWN0ICoKIHNvY2tldF9nZXRhZGRyaW5mbyhQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0KiBrd2FyZ3MpCiB7Ci0gICAgc3RhdGljIGNoYXIqIGt3bmFtZXNbXSA9IHsiaG9zdCIsICJwb3J0IiwgImZhbWlseSIsICJ0eXBlIiwgInByb3RvIiwgCisgICAgc3RhdGljIGNoYXIqIGt3bmFtZXNbXSA9IHsiaG9zdCIsICJwb3J0IiwgImZhbWlseSIsICJ0eXBlIiwgInByb3RvIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJmbGFncyIsIDB9OwogICAgIHN0cnVjdCBhZGRyaW5mbyBoaW50cywgKnJlczsKICAgICBzdHJ1Y3QgYWRkcmluZm8gKnJlczAgPSBOVUxMOwpAQCAtNDAxMSw3ICs0OTM5LDcgQEAKIAogICAgIGZhbWlseSA9IHNvY2t0eXBlID0gcHJvdG9jb2wgPSBmbGFncyA9IDA7CiAgICAgZmFtaWx5ID0gQUZfVU5TUEVDOwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3YXJncywgIk9PfGlpaWk6Z2V0YWRkcmluZm8iLCAKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsICJPT3xpaWlpOmdldGFkZHJpbmZvIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAga3duYW1lcywgJmhvYmosICZwb2JqLCAmZmFtaWx5LCAmc29ja3R5cGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICZwcm90b2NvbCwgJmZsYWdzKSkgewogICAgICAgICByZXR1cm4gTlVMTDsKQEAgLTQwMTksNyArNDk0Nyw5IEBACiAgICAgaWYgKGhvYmogPT0gUHlfTm9uZSkgewogICAgICAgICBocHRyID0gTlVMTDsKICAgICB9IGVsc2UgaWYgKFB5VW5pY29kZV9DaGVjayhob2JqKSkgewotICAgICAgICBpZG5hID0gUHlPYmplY3RfQ2FsbE1ldGhvZChob2JqLCAiZW5jb2RlIiwgInMiLCAiaWRuYSIpOworICAgICAgICBfUHlfSURFTlRJRklFUihlbmNvZGUpOworCisgICAgICAgIGlkbmEgPSBfUHlPYmplY3RfQ2FsbE1ldGhvZElkKGhvYmosICZQeUlkX2VuY29kZSwgInMiLCAiaWRuYSIpOwogICAgICAgICBpZiAoIWlkbmEpCiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICAgICAgYXNzZXJ0KFB5Qnl0ZXNfQ2hlY2soaWRuYSkpOwpAQCAtNDA0Niw3ICs0OTc2LDcgQEAKICAgICB9IGVsc2UgaWYgKHBvYmogPT0gUHlfTm9uZSkgewogICAgICAgICBwcHRyID0gKGNoYXIgKilOVUxMOwogICAgIH0gZWxzZSB7Ci0gICAgICAgIFB5RXJyX1NldFN0cmluZyhzb2NrZXRfZXJyb3IsICJJbnQgb3IgU3RyaW5nIGV4cGVjdGVkIik7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19PU0Vycm9yLCAiSW50IG9yIFN0cmluZyBleHBlY3RlZCIpOwogICAgICAgICBnb3RvIGVycjsKICAgICB9CiAgICAgbWVtc2V0KCZoaW50cywgMCwgc2l6ZW9mKGhpbnRzKSk7CkBAIC00MTQ5LDcgKzUwNzksNyBAQAogICAgICAgICBnb3RvIGZhaWw7CiAgICAgfQogICAgIGlmIChyZXMtPmFpX25leHQpIHsKLSAgICAgICAgUHlFcnJfU2V0U3RyaW5nKHNvY2tldF9lcnJvciwKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX09TRXJyb3IsCiAgICAgICAgICAgICAic29ja2FkZHIgcmVzb2x2ZWQgdG8gbXVsdGlwbGUgYWRkcmVzc2VzIik7CiAgICAgICAgIGdvdG8gZmFpbDsKICAgICB9CkBAIC00MTU3LDcgKzUwODcsNyBAQAogICAgIGNhc2UgQUZfSU5FVDoKICAgICAgICAgewogICAgICAgICBpZiAoUHlUdXBsZV9HRVRfU0laRShzYSkgIT0gMikgewotICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKHNvY2tldF9lcnJvciwKKyAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19PU0Vycm9yLAogICAgICAgICAgICAgICAgICJJUHY0IHNvY2thZGRyIG11c3QgYmUgMiB0dXBsZSIpOwogICAgICAgICAgICAgZ290byBmYWlsOwogICAgICAgICB9CkBAIC00MjQ0LDYgKzUxNzQsMTYzIEBACiBBIHZhbHVlIG9mIE5vbmUgaW5kaWNhdGVzIHRoYXQgbmV3IHNvY2tldCBvYmplY3RzIGhhdmUgbm8gdGltZW91dC5cblwKIFdoZW4gdGhlIHNvY2tldCBtb2R1bGUgaXMgZmlyc3QgaW1wb3J0ZWQsIHRoZSBkZWZhdWx0IGlzIE5vbmUuIik7CiAKKyNpZmRlZiBIQVZFX0lGX05BTUVJTkRFWAorLyogUHl0aG9uIEFQSSBmb3IgZ2V0dGluZyBpbnRlcmZhY2UgaW5kaWNlcyBhbmQgbmFtZXMgKi8KKworc3RhdGljIFB5T2JqZWN0ICoKK3NvY2tldF9pZl9uYW1laW5kZXgoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmcpCit7CisgICAgUHlPYmplY3QgKmxpc3Q7CisgICAgaW50IGk7CisgICAgc3RydWN0IGlmX25hbWVpbmRleCAqbmk7CisKKyAgICBuaSA9IGlmX25hbWVpbmRleCgpOworICAgIGlmIChuaSA9PSBOVUxMKSB7CisgICAgICAgIFB5RXJyX1NldEZyb21FcnJubyhQeUV4Y19PU0Vycm9yKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorCisgICAgbGlzdCA9IFB5TGlzdF9OZXcoMCk7CisgICAgaWYgKGxpc3QgPT0gTlVMTCkgeworICAgICAgICBpZl9mcmVlbmFtZWluZGV4KG5pKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorCisgICAgZm9yIChpID0gMDsgbmlbaV0uaWZfaW5kZXggIT0gMCAmJiBpIDwgSU5UX01BWDsgaSsrKSB7CisgICAgICAgIFB5T2JqZWN0ICpuaV90dXBsZSA9IFB5X0J1aWxkVmFsdWUoIklPJiIsCisgICAgICAgICAgICAgICAgbmlbaV0uaWZfaW5kZXgsIFB5VW5pY29kZV9EZWNvZGVGU0RlZmF1bHQsIG5pW2ldLmlmX25hbWUpOworCisgICAgICAgIGlmIChuaV90dXBsZSA9PSBOVUxMIHx8IFB5TGlzdF9BcHBlbmQobGlzdCwgbmlfdHVwbGUpID09IC0xKSB7CisgICAgICAgICAgICBQeV9YREVDUkVGKG5pX3R1cGxlKTsKKyAgICAgICAgICAgIFB5X0RFQ1JFRihsaXN0KTsKKyAgICAgICAgICAgIGlmX2ZyZWVuYW1laW5kZXgobmkpOworICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIH0KKyAgICAgICAgUHlfREVDUkVGKG5pX3R1cGxlKTsKKyAgICB9CisKKyAgICBpZl9mcmVlbmFtZWluZGV4KG5pKTsKKyAgICByZXR1cm4gbGlzdDsKK30KKworUHlEb2NfU1RSVkFSKGlmX25hbWVpbmRleF9kb2MsCisiaWZfbmFtZWluZGV4KClcblwKK1xuXAorUmV0dXJucyBhIGxpc3Qgb2YgbmV0d29yayBpbnRlcmZhY2UgaW5mb3JtYXRpb24gKGluZGV4LCBuYW1lKSB0dXBsZXMuIik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitzb2NrZXRfaWZfbmFtZXRvaW5kZXgoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpvbmFtZTsKKyAgICB1bnNpZ25lZCBsb25nIGluZGV4OworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJPJjppZl9uYW1ldG9pbmRleCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9GU0NvbnZlcnRlciwgJm9uYW1lKSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICBpbmRleCA9IGlmX25hbWV0b2luZGV4KFB5Qnl0ZXNfQVNfU1RSSU5HKG9uYW1lKSk7CisgICAgUHlfREVDUkVGKG9uYW1lKTsKKyAgICBpZiAoaW5kZXggPT0gMCkgeworICAgICAgICAvKiBpZl9uYW1ldG9pbmRleCgpIGRvZXNuJ3Qgc2V0IGVycm5vICovCisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19PU0Vycm9yLCAibm8gaW50ZXJmYWNlIHdpdGggdGhpcyBuYW1lIik7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKworICAgIHJldHVybiBQeUxvbmdfRnJvbVVuc2lnbmVkTG9uZyhpbmRleCk7Cit9CisKK1B5RG9jX1NUUlZBUihpZl9uYW1ldG9pbmRleF9kb2MsCisiaWZfbmFtZXRvaW5kZXgoaWZfbmFtZSlcblwKK1xuXAorUmV0dXJucyB0aGUgaW50ZXJmYWNlIGluZGV4IGNvcnJlc3BvbmRpbmcgdG8gdGhlIGludGVyZmFjZSBuYW1lIGlmX25hbWUuIik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitzb2NrZXRfaWZfaW5kZXh0b25hbWUoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmcpCit7CisgICAgdW5zaWduZWQgbG9uZyBpbmRleDsKKyAgICBjaGFyIG5hbWVbSUZfTkFNRVNJWkUgKyAxXTsKKworICAgIGluZGV4ID0gUHlMb25nX0FzVW5zaWduZWRMb25nKGFyZyk7CisgICAgaWYgKGluZGV4ID09ICh1bnNpZ25lZCBsb25nKSAtMSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICBpZiAoaWZfaW5kZXh0b25hbWUoaW5kZXgsIG5hbWUpID09IE5VTEwpIHsKKyAgICAgICAgUHlFcnJfU2V0RnJvbUVycm5vKFB5RXhjX09TRXJyb3IpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisKKyAgICByZXR1cm4gUHlVbmljb2RlX0RlY29kZUZTRGVmYXVsdChuYW1lKTsKK30KKworUHlEb2NfU1RSVkFSKGlmX2luZGV4dG9uYW1lX2RvYywKKyJpZl9pbmRleHRvbmFtZShpZl9pbmRleClcblwKK1xuXAorUmV0dXJucyB0aGUgaW50ZXJmYWNlIG5hbWUgY29ycmVzcG9uZGluZyB0byB0aGUgaW50ZXJmYWNlIGluZGV4IGlmX2luZGV4LiIpOworCisjZW5kaWYgIC8qIEhBVkVfSUZfTkFNRUlOREVYICovCisKKworI2lmZGVmIENNU0dfTEVOCisvKiBQeXRob24gaW50ZXJmYWNlIHRvIENNU0dfTEVOKGxlbmd0aCkuICovCisKK3N0YXRpYyBQeU9iamVjdCAqCitzb2NrZXRfQ01TR19MRU4oUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5X3NzaXplX3QgbGVuZ3RoOworICAgIHNpemVfdCByZXN1bHQ7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIm46Q01TR19MRU4iLCAmbGVuZ3RoKSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgaWYgKGxlbmd0aCA8IDAgfHwgIWdldF9DTVNHX0xFTihsZW5ndGgsICZyZXN1bHQpKSB7CisgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19PdmVyZmxvd0Vycm9yLCAiQ01TR19MRU4oKSBhcmd1bWVudCBvdXQgb2YgcmFuZ2UiKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorICAgIHJldHVybiBQeUxvbmdfRnJvbVNpemVfdChyZXN1bHQpOworfQorCitQeURvY19TVFJWQVIoQ01TR19MRU5fZG9jLAorIkNNU0dfTEVOKGxlbmd0aCkgLT4gY29udHJvbCBtZXNzYWdlIGxlbmd0aFxuXAorXG5cCitSZXR1cm4gdGhlIHRvdGFsIGxlbmd0aCwgd2l0aG91dCB0cmFpbGluZyBwYWRkaW5nLCBvZiBhbiBhbmNpbGxhcnlcblwKK2RhdGEgaXRlbSB3aXRoIGFzc29jaWF0ZWQgZGF0YSBvZiB0aGUgZ2l2ZW4gbGVuZ3RoLiAgVGhpcyB2YWx1ZSBjYW5cblwKK29mdGVuIGJlIHVzZWQgYXMgdGhlIGJ1ZmZlciBzaXplIGZvciByZWN2bXNnKCkgdG8gcmVjZWl2ZSBhIHNpbmdsZVxuXAoraXRlbSBvZiBhbmNpbGxhcnkgZGF0YSwgYnV0IFJGQyAzNTQyIHJlcXVpcmVzIHBvcnRhYmxlIGFwcGxpY2F0aW9ucyB0b1xuXAordXNlIENNU0dfU1BBQ0UoKSBhbmQgdGh1cyBpbmNsdWRlIHNwYWNlIGZvciBwYWRkaW5nLCBldmVuIHdoZW4gdGhlXG5cCitpdGVtIHdpbGwgYmUgdGhlIGxhc3QgaW4gdGhlIGJ1ZmZlci4gIFJhaXNlcyBPdmVyZmxvd0Vycm9yIGlmIGxlbmd0aFxuXAoraXMgb3V0c2lkZSB0aGUgcGVybWlzc2libGUgcmFuZ2Ugb2YgdmFsdWVzLiIpOworCisKKyNpZmRlZiBDTVNHX1NQQUNFCisvKiBQeXRob24gaW50ZXJmYWNlIHRvIENNU0dfU1BBQ0UobGVuZ3RoKS4gKi8KKworc3RhdGljIFB5T2JqZWN0ICoKK3NvY2tldF9DTVNHX1NQQUNFKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBQeV9zc2l6ZV90IGxlbmd0aDsKKyAgICBzaXplX3QgcmVzdWx0OworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJuOkNNU0dfU1BBQ0UiLCAmbGVuZ3RoKSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgaWYgKGxlbmd0aCA8IDAgfHwgIWdldF9DTVNHX1NQQUNFKGxlbmd0aCwgJnJlc3VsdCkpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX092ZXJmbG93RXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAiQ01TR19TUEFDRSgpIGFyZ3VtZW50IG91dCBvZiByYW5nZSIpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisgICAgcmV0dXJuIFB5TG9uZ19Gcm9tU2l6ZV90KHJlc3VsdCk7Cit9CisKK1B5RG9jX1NUUlZBUihDTVNHX1NQQUNFX2RvYywKKyJDTVNHX1NQQUNFKGxlbmd0aCkgLT4gYnVmZmVyIHNpemVcblwKK1xuXAorUmV0dXJuIHRoZSBidWZmZXIgc2l6ZSBuZWVkZWQgZm9yIHJlY3Ztc2coKSB0byByZWNlaXZlIGFuIGFuY2lsbGFyeVxuXAorZGF0YSBpdGVtIHdpdGggYXNzb2NpYXRlZCBkYXRhIG9mIHRoZSBnaXZlbiBsZW5ndGgsIGFsb25nIHdpdGggYW55XG5cCit0cmFpbGluZyBwYWRkaW5nLiAgVGhlIGJ1ZmZlciBzcGFjZSBuZWVkZWQgdG8gcmVjZWl2ZSBtdWx0aXBsZSBpdGVtc1xuXAoraXMgdGhlIHN1bSBvZiB0aGUgQ01TR19TUEFDRSgpIHZhbHVlcyBmb3IgdGhlaXIgYXNzb2NpYXRlZCBkYXRhXG5cCitsZW5ndGhzLiAgUmFpc2VzIE92ZXJmbG93RXJyb3IgaWYgbGVuZ3RoIGlzIG91dHNpZGUgdGhlIHBlcm1pc3NpYmxlXG5cCityYW5nZSBvZiB2YWx1ZXMuIik7CisjZW5kaWYgICAgLyogQ01TR19TUEFDRSAqLworI2VuZGlmICAgIC8qIENNU0dfTEVOICovCisKIAogLyogTGlzdCBvZiBmdW5jdGlvbnMgZXhwb3J0ZWQgYnkgdGhpcyBtb2R1bGUuICovCiAKQEAgLTQyNTYsNiArNTM0MywxMCBAQAogICAgICBNRVRIX1ZBUkFSR1MsIGdldGhvc3RieWFkZHJfZG9jfSwKICAgICB7ImdldGhvc3RuYW1lIiwgICAgICAgICAgICAgc29ja2V0X2dldGhvc3RuYW1lLAogICAgICBNRVRIX05PQVJHUywgIGdldGhvc3RuYW1lX2RvY30sCisjaWZkZWYgSEFWRV9TRVRIT1NUTkFNRQorICAgIHsic2V0aG9zdG5hbWUiLCAgICAgICAgICAgICBzb2NrZXRfc2V0aG9zdG5hbWUsCisgICAgIE1FVEhfVkFSQVJHUywgIHNldGhvc3RuYW1lX2RvY30sCisjZW5kaWYKICAgICB7ImdldHNlcnZieW5hbWUiLCAgICAgICAgICAgc29ja2V0X2dldHNlcnZieW5hbWUsCiAgICAgIE1FVEhfVkFSQVJHUywgZ2V0c2VydmJ5bmFtZV9kb2N9LAogICAgIHsiZ2V0c2VydmJ5cG9ydCIsICAgICAgICAgICBzb2NrZXRfZ2V0c2VydmJ5cG9ydCwKQEAgLTQyOTYsNiArNTM4NywyMiBAQAogICAgICBNRVRIX05PQVJHUywgZ2V0ZGVmYXVsdHRpbWVvdXRfZG9jfSwKICAgICB7InNldGRlZmF1bHR0aW1lb3V0IiwgICAgICAgc29ja2V0X3NldGRlZmF1bHR0aW1lb3V0LAogICAgICBNRVRIX08sIHNldGRlZmF1bHR0aW1lb3V0X2RvY30sCisjaWZkZWYgSEFWRV9JRl9OQU1FSU5ERVgKKyAgICB7ImlmX25hbWVpbmRleCIsIHNvY2tldF9pZl9uYW1laW5kZXgsCisgICAgIE1FVEhfTk9BUkdTLCBpZl9uYW1laW5kZXhfZG9jfSwKKyAgICB7ImlmX25hbWV0b2luZGV4Iiwgc29ja2V0X2lmX25hbWV0b2luZGV4LAorICAgICBNRVRIX1ZBUkFSR1MsIGlmX25hbWV0b2luZGV4X2RvY30sCisgICAgeyJpZl9pbmRleHRvbmFtZSIsIHNvY2tldF9pZl9pbmRleHRvbmFtZSwKKyAgICAgTUVUSF9PLCBpZl9pbmRleHRvbmFtZV9kb2N9LAorI2VuZGlmCisjaWZkZWYgQ01TR19MRU4KKyAgICB7IkNNU0dfTEVOIiwgICAgICAgICAgICAgICAgc29ja2V0X0NNU0dfTEVOLAorICAgICBNRVRIX1ZBUkFSR1MsIENNU0dfTEVOX2RvY30sCisjaWZkZWYgQ01TR19TUEFDRQorICAgIHsiQ01TR19TUEFDRSIsICAgICAgICAgICAgICBzb2NrZXRfQ01TR19TUEFDRSwKKyAgICAgTUVUSF9WQVJBUkdTLCBDTVNHX1NQQUNFX2RvY30sCisjZW5kaWYKKyNlbmRpZgogICAgIHtOVUxMLCAgICAgICAgICAgICAgICAgICAgICBOVUxMfSAgICAgICAgICAgIC8qIFNlbnRpbmVsICovCiB9OwogCkBAIC00NDI4LDI3ICs1NTM1LDI0IEBACiAgICAgaWYgKG0gPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKLSAgICBzb2NrZXRfZXJyb3IgPSBQeUVycl9OZXdFeGNlcHRpb24oInNvY2tldC5lcnJvciIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5RXhjX0lPRXJyb3IsIE5VTEwpOwotICAgIGlmIChzb2NrZXRfZXJyb3IgPT0gTlVMTCkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgUHlTb2NrZXRNb2R1bGVBUEkuZXJyb3IgPSBzb2NrZXRfZXJyb3I7Ci0gICAgUHlfSU5DUkVGKHNvY2tldF9lcnJvcik7Ci0gICAgUHlNb2R1bGVfQWRkT2JqZWN0KG0sICJlcnJvciIsIHNvY2tldF9lcnJvcik7CisgICAgUHlfSU5DUkVGKFB5RXhjX09TRXJyb3IpOworICAgIFB5U29ja2V0TW9kdWxlQVBJLmVycm9yID0gUHlFeGNfT1NFcnJvcjsKKyAgICBQeV9JTkNSRUYoUHlFeGNfT1NFcnJvcik7CisgICAgUHlNb2R1bGVfQWRkT2JqZWN0KG0sICJlcnJvciIsIFB5RXhjX09TRXJyb3IpOwogICAgIHNvY2tldF9oZXJyb3IgPSBQeUVycl9OZXdFeGNlcHRpb24oInNvY2tldC5oZXJyb3IiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc29ja2V0X2Vycm9yLCBOVUxMKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5RXhjX09TRXJyb3IsIE5VTEwpOwogICAgIGlmIChzb2NrZXRfaGVycm9yID09IE5VTEwpCiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIFB5X0lOQ1JFRihzb2NrZXRfaGVycm9yKTsKICAgICBQeU1vZHVsZV9BZGRPYmplY3QobSwgImhlcnJvciIsIHNvY2tldF9oZXJyb3IpOwotICAgIHNvY2tldF9nYWllcnJvciA9IFB5RXJyX05ld0V4Y2VwdGlvbigic29ja2V0LmdhaWVycm9yIiwgc29ja2V0X2Vycm9yLAorICAgIHNvY2tldF9nYWllcnJvciA9IFB5RXJyX05ld0V4Y2VwdGlvbigic29ja2V0LmdhaWVycm9yIiwgUHlFeGNfT1NFcnJvciwKICAgICAgICAgTlVMTCk7CiAgICAgaWYgKHNvY2tldF9nYWllcnJvciA9PSBOVUxMKQogICAgICAgICByZXR1cm4gTlVMTDsKICAgICBQeV9JTkNSRUYoc29ja2V0X2dhaWVycm9yKTsKICAgICBQeU1vZHVsZV9BZGRPYmplY3QobSwgImdhaWVycm9yIiwgc29ja2V0X2dhaWVycm9yKTsKICAgICBzb2NrZXRfdGltZW91dCA9IFB5RXJyX05ld0V4Y2VwdGlvbigic29ja2V0LnRpbWVvdXQiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvY2tldF9lcnJvciwgTlVMTCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlFeGNfT1NFcnJvciwgTlVMTCk7CiAgICAgaWYgKHNvY2tldF90aW1lb3V0ID09IE5VTEwpCiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIFB5U29ja2V0TW9kdWxlQVBJLnRpbWVvdXRfZXJyb3IgPSBzb2NrZXRfdGltZW91dDsKQEAgLTQ2MzQsNiArNTczOCwzMSBAQAogICAgIFB5TW9kdWxlX0FkZFN0cmluZ0NvbnN0YW50KG0sICJCREFERFJfTE9DQUwiLCAiMDA6MDA6MDA6RkY6RkY6RkYiKTsKICNlbmRpZgogCisjaWZkZWYgQUZfQ0FOCisgICAgLyogQ29udHJvbGxlciBBcmVhIE5ldHdvcmsgKi8KKyAgICBQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiQUZfQ0FOIiwgQUZfQ0FOKTsKKyNlbmRpZgorI2lmZGVmIFBGX0NBTgorICAgIC8qIENvbnRyb2xsZXIgQXJlYSBOZXR3b3JrICovCisgICAgUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIlBGX0NBTiIsIFBGX0NBTik7CisjZW5kaWYKKworLyogUmVsaWFibGUgRGF0YWdyYW0gU29ja2V0cyAqLworI2lmZGVmIEFGX1JEUworICAgIFB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJBRl9SRFMiLCBBRl9SRFMpOworI2VuZGlmCisjaWZkZWYgUEZfUkRTCisgICAgUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIlBGX1JEUyIsIFBGX1JEUyk7CisjZW5kaWYKKworLyogS2VybmVsIGV2ZW50IG1lc3NhZ2VzICovCisjaWZkZWYgUEZfU1lTVEVNCisgICAgUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIlBGX1NZU1RFTSIsIFBGX1NZU1RFTSk7CisjZW5kaWYKKyNpZmRlZiBBRl9TWVNURU0KKyAgICBQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiQUZfU1lTVEVNIiwgQUZfU1lTVEVNKTsKKyNlbmRpZgorCiAjaWZkZWYgQUZfUEFDS0VUCiAgICAgUHlNb2R1bGVfQWRkSW50TWFjcm8obSwgQUZfUEFDS0VUKTsKICNlbmRpZgpAQCAtNDc4Myw2ICs1OTEyLDE4IEBACiAjaWZkZWYgIFNPX1NFVEZJQgogICAgIFB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJTT19TRVRGSUIiLCBTT19TRVRGSUIpOwogI2VuZGlmCisjaWZkZWYgIFNPX1BBU1NDUkVECisgICAgUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIlNPX1BBU1NDUkVEIiwgU09fUEFTU0NSRUQpOworI2VuZGlmCisjaWZkZWYgIFNPX1BFRVJDUkVECisgICAgUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIlNPX1BFRVJDUkVEIiwgU09fUEVFUkNSRUQpOworI2VuZGlmCisjaWZkZWYgIExPQ0FMX1BFRVJDUkVECisgICAgUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIkxPQ0FMX1BFRVJDUkVEIiwgTE9DQUxfUEVFUkNSRUQpOworI2VuZGlmCisjaWZkZWYgIFNPX0JJTkRUT0RFVklDRQorICAgIFB5TW9kdWxlX0FkZEludE1hY3JvKG0sIFNPX0JJTkRUT0RFVklDRSk7CisjZW5kaWYKIAogICAgIC8qIE1heGltdW0gbnVtYmVyIG9mIGNvbm5lY3Rpb25zIGZvciAibGlzdGVuIiAqLwogI2lmZGVmICBTT01BWENPTk4KQEAgLTQ3OTEsNiArNTkzMiwxNyBAQAogICAgIFB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJTT01BWENPTk4iLCA1KTsgLyogQ29tbW9uIHZhbHVlICovCiAjZW5kaWYKIAorICAgIC8qIEFuY2lsbGlhcnkgbWVzc2FnZSB0eXBlcyAqLworI2lmZGVmICBTQ01fUklHSFRTCisgICAgUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIlNDTV9SSUdIVFMiLCBTQ01fUklHSFRTKTsKKyNlbmRpZgorI2lmZGVmICBTQ01fQ1JFREVOVElBTFMKKyAgICBQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiU0NNX0NSRURFTlRJQUxTIiwgU0NNX0NSRURFTlRJQUxTKTsKKyNlbmRpZgorI2lmZGVmICBTQ01fQ1JFRFMKKyAgICBQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiU0NNX0NSRURTIiwgU0NNX0NSRURTKTsKKyNlbmRpZgorCiAgICAgLyogRmxhZ3MgZm9yIHNlbmQsIHJlY3YgKi8KICNpZmRlZiAgTVNHX09PQgogICAgIFB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJNU0dfT09CIiwgTVNHX09PQik7CkBAIC00ODIyLDYgKzU5NzQsMzMgQEAKICNpZmRlZiAgTVNHX0VUQUcKICAgICBQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiTVNHX0VUQUciLCBNU0dfRVRBRyk7CiAjZW5kaWYKKyNpZmRlZiAgTVNHX05PU0lHTkFMCisgICAgUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIk1TR19OT1NJR05BTCIsIE1TR19OT1NJR05BTCk7CisjZW5kaWYKKyNpZmRlZiAgTVNHX05PVElGSUNBVElPTgorICAgIFB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJNU0dfTk9USUZJQ0FUSU9OIiwgTVNHX05PVElGSUNBVElPTik7CisjZW5kaWYKKyNpZmRlZiAgTVNHX0NNU0dfQ0xPRVhFQworICAgIFB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJNU0dfQ01TR19DTE9FWEVDIiwgTVNHX0NNU0dfQ0xPRVhFQyk7CisjZW5kaWYKKyNpZmRlZiAgTVNHX0VSUlFVRVVFCisgICAgUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIk1TR19FUlJRVUVVRSIsIE1TR19FUlJRVUVVRSk7CisjZW5kaWYKKyNpZmRlZiAgTVNHX0NPTkZJUk0KKyAgICBQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiTVNHX0NPTkZJUk0iLCBNU0dfQ09ORklSTSk7CisjZW5kaWYKKyNpZmRlZiAgTVNHX01PUkUKKyAgICBQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiTVNHX01PUkUiLCBNU0dfTU9SRSk7CisjZW5kaWYKKyNpZmRlZiAgTVNHX0VPRgorICAgIFB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJNU0dfRU9GIiwgTVNHX0VPRik7CisjZW5kaWYKKyNpZmRlZiAgTVNHX0JDQVNUCisgICAgUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIk1TR19CQ0FTVCIsIE1TR19CQ0FTVCk7CisjZW5kaWYKKyNpZmRlZiAgTVNHX01DQVNUCisgICAgUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIk1TR19NQ0FTVCIsIE1TR19NQ0FTVCk7CisjZW5kaWYKIAogICAgIC8qIFByb3RvY29sIGxldmVsIGFuZCBudW1iZXJzLCB1c2FibGUgZm9yIFtnc11ldHNvY2tvcHQgKi8KICNpZmRlZiAgU09MX1NPQ0tFVApAQCAtNDg1Nyw2ICs2MDM2LDQ5IEBACiAjZWxzZQogICAgIFB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJTT0xfVURQIiwgMTcpOwogI2VuZGlmCisjaWZkZWYgU09MX0NBTl9CQVNFCisgICAgUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIlNPTF9DQU5fQkFTRSIsIFNPTF9DQU5fQkFTRSk7CisjZW5kaWYKKyNpZmRlZiBTT0xfQ0FOX1JBVworICAgIFB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJTT0xfQ0FOX1JBVyIsIFNPTF9DQU5fUkFXKTsKKyAgICBQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiQ0FOX1JBVyIsIENBTl9SQVcpOworI2VuZGlmCisjaWZkZWYgSEFWRV9MSU5VWF9DQU5fSAorICAgIFB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJDQU5fRUZGX0ZMQUciLCBDQU5fRUZGX0ZMQUcpOworICAgIFB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJDQU5fUlRSX0ZMQUciLCBDQU5fUlRSX0ZMQUcpOworICAgIFB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJDQU5fRVJSX0ZMQUciLCBDQU5fRVJSX0ZMQUcpOworCisgICAgUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIkNBTl9TRkZfTUFTSyIsIENBTl9TRkZfTUFTSyk7CisgICAgUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIkNBTl9FRkZfTUFTSyIsIENBTl9FRkZfTUFTSyk7CisgICAgUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIkNBTl9FUlJfTUFTSyIsIENBTl9FUlJfTUFTSyk7CisjZW5kaWYKKyNpZmRlZiBIQVZFX0xJTlVYX0NBTl9SQVdfSAorICAgIFB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJDQU5fUkFXX0ZJTFRFUiIsIENBTl9SQVdfRklMVEVSKTsKKyAgICBQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiQ0FOX1JBV19FUlJfRklMVEVSIiwgQ0FOX1JBV19FUlJfRklMVEVSKTsKKyAgICBQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiQ0FOX1JBV19MT09QQkFDSyIsIENBTl9SQVdfTE9PUEJBQ0spOworICAgIFB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJDQU5fUkFXX1JFQ1ZfT1dOX01TR1MiLCBDQU5fUkFXX1JFQ1ZfT1dOX01TR1MpOworI2VuZGlmCisjaWZkZWYgU09MX1JEUworICAgIFB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJTT0xfUkRTIiwgU09MX1JEUyk7CisjZW5kaWYKKyNpZmRlZiBSRFNfQ0FOQ0VMX1NFTlRfVE8KKyAgICBQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiUkRTX0NBTkNFTF9TRU5UX1RPIiwgUkRTX0NBTkNFTF9TRU5UX1RPKTsKKyNlbmRpZgorI2lmZGVmIFJEU19HRVRfTVIKKyAgICBQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiUkRTX0dFVF9NUiIsIFJEU19HRVRfTVIpOworI2VuZGlmCisjaWZkZWYgUkRTX0ZSRUVfTVIKKyAgICBQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiUkRTX0ZSRUVfTVIiLCBSRFNfRlJFRV9NUik7CisjZW5kaWYKKyNpZmRlZiBSRFNfUkVDVkVSUgorICAgIFB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJSRFNfUkVDVkVSUiIsIFJEU19SRUNWRVJSKTsKKyNlbmRpZgorI2lmZGVmIFJEU19DT05HX01PTklUT1IKKyAgICBQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiUkRTX0NPTkdfTU9OSVRPUiIsIFJEU19DT05HX01PTklUT1IpOworI2VuZGlmCisjaWZkZWYgUkRTX0dFVF9NUl9GT1JfREVTVAorICAgIFB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJSRFNfR0VUX01SX0ZPUl9ERVNUIiwgUkRTX0dFVF9NUl9GT1JfREVTVCk7CisjZW5kaWYKICNpZmRlZiAgSVBQUk9UT19JUAogICAgIFB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJJUFBST1RPX0lQIiwgSVBQUk9UT19JUCk7CiAjZWxzZQpAQCAtNDk2MSw2ICs2MTgzLDkgQEAKICNpZmRlZiAgSVBQUk9UT19WUlJQCiAgICAgUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIklQUFJPVE9fVlJSUCIsIElQUFJPVE9fVlJSUCk7CiAjZW5kaWYKKyNpZmRlZiAgSVBQUk9UT19TQ1RQCisgICAgUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIklQUFJPVE9fU0NUUCIsIElQUFJPVE9fU0NUUCk7CisjZW5kaWYKICNpZmRlZiAgSVBQUk9UT19CSVAKICAgICBQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiSVBQUk9UT19CSVAiLCBJUFBST1RPX0JJUCk7CiAjZW5kaWYKQEAgLTQ5NzQsNiArNjE5OSwxMCBAQAogICAgIFB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJJUFBST1RPX01BWCIsIElQUFJPVE9fTUFYKTsKICNlbmRpZgogCisjaWZkZWYgIFNZU1BST1RPX0NPTlRST0wKKyAgICBQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiU1lTUFJPVE9fQ09OVFJPTCIsIFNZU1BST1RPX0NPTlRST0wpOworI2VuZGlmCisKICAgICAvKiBTb21lIHBvcnQgY29uZmlndXJhdGlvbiAqLwogI2lmZGVmICBJUFBPUlRfUkVTRVJWRUQKICAgICBQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiSVBQT1JUX1JFU0VSVkVEIiwgSVBQT1JUX1JFU0VSVkVEKTsKQEAgLTUwNzYsNiArNjMwNSw5IEBACiAjaWZkZWYgIElQX01BWF9NRU1CRVJTSElQUwogICAgIFB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJJUF9NQVhfTUVNQkVSU0hJUFMiLCBJUF9NQVhfTUVNQkVSU0hJUFMpOwogI2VuZGlmCisjaWZkZWYgIElQX1RSQU5TUEFSRU5UCisgICAgUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIklQX1RSQU5TUEFSRU5UIiwgSVBfVFJBTlNQQVJFTlQpOworI2VuZGlmCiAKICAgICAvKiBJUHY2IFtnc11ldHNvY2tvcHQgb3B0aW9ucywgZGVmaW5lZCBpbiBSRkMyNTUzICovCiAjaWZkZWYgIElQVjZfSk9JTl9HUk9VUApAQCAtNTIwNiw2ICs2NDM4LDQ0IEBACiAgICAgUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIklQWF9UWVBFIiwgSVBYX1RZUEUpOwogI2VuZGlmCiAKKy8qIFJlbGlhYmxlIERhdGFncmFtIFNvY2tldHMgKi8KKyNpZmRlZiBSRFNfQ01TR19SRE1BX0FSR1MKKyAgICBQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiUkRTX0NNU0dfUkRNQV9BUkdTIiwgUkRTX0NNU0dfUkRNQV9BUkdTKTsKKyNlbmRpZgorI2lmZGVmIFJEU19DTVNHX1JETUFfREVTVAorICAgIFB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJSRFNfQ01TR19SRE1BX0RFU1QiLCBSRFNfQ01TR19SRE1BX0RFU1QpOworI2VuZGlmCisjaWZkZWYgUkRTX0NNU0dfUkRNQV9NQVAKKyAgICBQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiUkRTX0NNU0dfUkRNQV9NQVAiLCBSRFNfQ01TR19SRE1BX01BUCk7CisjZW5kaWYKKyNpZmRlZiBSRFNfQ01TR19SRE1BX1NUQVRVUworICAgIFB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJSRFNfQ01TR19SRE1BX1NUQVRVUyIsIFJEU19DTVNHX1JETUFfU1RBVFVTKTsKKyNlbmRpZgorI2lmZGVmIFJEU19DTVNHX1JETUFfVVBEQVRFCisgICAgUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIlJEU19DTVNHX1JETUFfVVBEQVRFIiwgUkRTX0NNU0dfUkRNQV9VUERBVEUpOworI2VuZGlmCisjaWZkZWYgUkRTX1JETUFfUkVBRFdSSVRFCisgICAgUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIlJEU19SRE1BX1JFQURXUklURSIsIFJEU19SRE1BX1JFQURXUklURSk7CisjZW5kaWYKKyNpZmRlZiBSRFNfUkRNQV9GRU5DRQorICAgIFB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJSRFNfUkRNQV9GRU5DRSIsIFJEU19SRE1BX0ZFTkNFKTsKKyNlbmRpZgorI2lmZGVmIFJEU19SRE1BX0lOVkFMSURBVEUKKyAgICBQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiUkRTX1JETUFfSU5WQUxJREFURSIsIFJEU19SRE1BX0lOVkFMSURBVEUpOworI2VuZGlmCisjaWZkZWYgUkRTX1JETUFfVVNFX09OQ0UKKyAgICBQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiUkRTX1JETUFfVVNFX09OQ0UiLCBSRFNfUkRNQV9VU0VfT05DRSk7CisjZW5kaWYKKyNpZmRlZiBSRFNfUkRNQV9ET05UV0FJVAorICAgIFB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJSRFNfUkRNQV9ET05UV0FJVCIsIFJEU19SRE1BX0RPTlRXQUlUKTsKKyNlbmRpZgorI2lmZGVmIFJEU19SRE1BX05PVElGWV9NRQorICAgIFB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJSRFNfUkRNQV9OT1RJRllfTUUiLCBSRFNfUkRNQV9OT1RJRllfTUUpOworI2VuZGlmCisjaWZkZWYgUkRTX1JETUFfU0lMRU5UCisgICAgUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIlJEU19SRE1BX1NJTEVOVCIsIFJEU19SRE1BX1NJTEVOVCk7CisjZW5kaWYKKwogICAgIC8qIGdldHthZGRyLG5hbWV9aW5mbyBwYXJhbWV0ZXJzICovCiAjaWZkZWYgRUFJX0FERFJGQU1JTFkKICAgICBQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiRUFJX0FERFJGQU1JTFkiLCBFQUlfQUREUkZBTUlMWSk7CkBAIC01MzMyLDcgKzY2MDIsNyBAQAogICAgICAgICBEV09SRCBjb2Rlc1tdID0ge1NJT19SQ1ZBTEwsIFNJT19LRUVQQUxJVkVfVkFMU307CiAgICAgICAgIGNvbnN0IGNoYXIgKm5hbWVzW10gPSB7IlNJT19SQ1ZBTEwiLCAiU0lPX0tFRVBBTElWRV9WQUxTIn07CiAgICAgICAgIGludCBpOwotICAgICAgICBmb3IoaSA9IDA7IGk8c2l6ZW9mKGNvZGVzKS9zaXplb2YoKmNvZGVzKTsgKytpKSB7CisgICAgICAgIGZvcihpID0gMDsgaTxQeV9BUlJBWV9MRU5HVEgoY29kZXMpOyArK2kpIHsKICAgICAgICAgICAgIFB5T2JqZWN0ICp0bXA7CiAgICAgICAgICAgICB0bXAgPSBQeUxvbmdfRnJvbVVuc2lnbmVkTG9uZyhjb2Rlc1tpXSk7CiAgICAgICAgICAgICBpZiAodG1wID09IE5VTEwpCmRpZmYgLS1naXQgYS9Nb2R1bGVzL3NvY2tldG1vZHVsZS5oIGIvTW9kdWxlcy9zb2NrZXRtb2R1bGUuaAppbmRleCBmMDY0Nzk1Li4wNDM1ODc4IDEwMDY0NAotLS0gYS9Nb2R1bGVzL3NvY2tldG1vZHVsZS5oCisrKyBiL01vZHVsZXMvc29ja2V0bW9kdWxlLmgKQEAgLTU5LDkgKzU5LDEyIEBACiAjaW5jbHVkZSA8Ymx1ZXRvb3RoLmg+CiAjZW5kaWYKIAorI2lmZGVmIEhBVkVfTkVUX0lGX0gKKyMgaW5jbHVkZSA8bmV0L2lmLmg+CisjZW5kaWYKKwogI2lmZGVmIEhBVkVfTkVUUEFDS0VUX1BBQ0tFVF9ICiAjIGluY2x1ZGUgPHN5cy9pb2N0bC5oPgotIyBpbmNsdWRlIDxuZXQvaWYuaD4KICMgaW5jbHVkZSA8bmV0cGFja2V0L3BhY2tldC5oPgogI2VuZGlmCiAKQEAgLTY5LDYgKzcyLDIxIEBACiAjIGluY2x1ZGUgPGxpbnV4L3RpcGMuaD4KICNlbmRpZgogCisjaWZkZWYgSEFWRV9MSU5VWF9DQU5fSAorI2luY2x1ZGUgPGxpbnV4L2Nhbi5oPgorI2VuZGlmCisKKyNpZmRlZiBIQVZFX0xJTlVYX0NBTl9SQVdfSAorI2luY2x1ZGUgPGxpbnV4L2Nhbi9yYXcuaD4KKyNlbmRpZgorCisjaWZkZWYgSEFWRV9TWVNfU1lTX0RPTUFJTl9ICisjaW5jbHVkZSA8c3lzL3N5c19kb21haW4uaD4KKyNlbmRpZgorI2lmZGVmIEhBVkVfU1lTX0tFUk5fQ09OVFJPTF9ICisjaW5jbHVkZSA8c3lzL2tlcm5fY29udHJvbC5oPgorI2VuZGlmCisKICNpZm5kZWYgUHlfX1NPQ0tFVF9ICiAjZGVmaW5lIFB5X19TT0NLRVRfSAogI2lmZGVmIF9fY3BsdXNwbHVzCkBAIC0xMDQsNiArMTIyLDcgQEAKIC8qIFNvY2tldCBhZGRyZXNzICovCiB0eXBlZGVmIHVuaW9uIHNvY2tfYWRkciB7CiAgICAgc3RydWN0IHNvY2thZGRyX2luIGluOworICAgIHN0cnVjdCBzb2NrYWRkciBzYTsKICNpZmRlZiBBRl9VTklYCiAgICAgc3RydWN0IHNvY2thZGRyX3VuIHVuOwogI2VuZGlmCkBAIC0xMjMsNiArMTQyLDEyIEBACiAjaWZkZWYgSEFWRV9ORVRQQUNLRVRfUEFDS0VUX0gKICAgICBzdHJ1Y3Qgc29ja2FkZHJfbGwgbGw7CiAjZW5kaWYKKyNpZmRlZiBIQVZFX0xJTlVYX0NBTl9ICisgICAgc3RydWN0IHNvY2thZGRyX2NhbiBjYW47CisjZW5kaWYKKyNpZmRlZiBIQVZFX1NZU19LRVJOX0NPTlRST0xfSAorICAgIHN0cnVjdCBzb2NrYWRkcl9jdGwgY3RsOworI2VuZGlmCiB9IHNvY2tfYWRkcl90OwogCiAvKiBUaGUgb2JqZWN0IGhvbGRpbmcgYSBzb2NrZXQuICBJdCBob2xkcyBzb21lIGV4dHJhIGluZm9ybWF0aW9uLApkaWZmIC0tZ2l0IGEvTW9kdWxlcy9zcmUuaCBiL01vZHVsZXMvc3JlLmgKaW5kZXggYWVjOWI1NC4uMDFhYmNiMCAxMDA2NDQKLS0tIGEvTW9kdWxlcy9zcmUuaAorKysgYi9Nb2R1bGVzL3NyZS5oCkBAIC0zMCw3ICszMCw4IEBACiAgICAgUHlPYmplY3QqIHBhdHRlcm47IC8qIHBhdHRlcm4gc291cmNlIChvciBOb25lKSAqLwogICAgIGludCBmbGFnczsgLyogZmxhZ3MgdXNlZCB3aGVuIGNvbXBpbGluZyBwYXR0ZXJuIHNvdXJjZSAqLwogICAgIFB5T2JqZWN0ICp3ZWFrcmVmbGlzdDsgLyogTGlzdCBvZiB3ZWFrIHJlZmVyZW5jZXMgKi8KLQlpbnQgY2hhcnNpemU7IC8qIHBhdHRlcm4gY2hhcnNpemUgKG9yIC0xKSAqLworICAgIGludCBsb2dpY2FsX2NoYXJzaXplOyAvKiBwYXR0ZXJuIGNoYXJzaXplIChvciAtMSkgKi8KKyAgICBpbnQgY2hhcnNpemU7CiAgICAgUHlfYnVmZmVyIHZpZXc7CiAgICAgLyogcGF0dGVybiBjb2RlICovCiAgICAgUHlfc3NpemVfdCBjb2Rlc2l6ZTsKQEAgLTcyLDYgKzczLDcgQEAKICAgICBQeU9iamVjdCogc3RyaW5nOwogICAgIFB5X3NzaXplX3QgcG9zLCBlbmRwb3M7CiAgICAgLyogY2hhcmFjdGVyIHNpemUgKi8KKyAgICBpbnQgbG9naWNhbF9jaGFyc2l6ZTsgLyoga2luZCBvZiB0aGluZzogMSAtIGJ5dGVzLCAyLzQgLSB1bmljb2RlICovCiAgICAgaW50IGNoYXJzaXplOwogICAgIC8qIHJlZ2lzdGVycyAqLwogICAgIFB5X3NzaXplX3QgbGFzdGluZGV4OwpkaWZmIC0tZ2l0IGEvTW9kdWxlcy9zeXNsb2dtb2R1bGUuYyBiL01vZHVsZXMvc3lzbG9nbW9kdWxlLmMKaW5kZXggNWI4Njk2My4uYzdhMjQ4NyAxMDA2NDQKLS0tIGEvTW9kdWxlcy9zeXNsb2dtb2R1bGUuYworKysgYi9Nb2R1bGVzL3N5c2xvZ21vZHVsZS5jCkBAIC03MCw3ICs3MCw3IEBACiAKICAgICBQeV9zc2l6ZV90IGFyZ3ZfbGVuLCBzY3JpcHRsZW47CiAgICAgUHlPYmplY3QgKnNjcmlwdG9iajsKLSAgICBQeV9VTklDT0RFICphdHNsYXNoLCAqYXRzdGFydDsKKyAgICBQeV9zc2l6ZV90IHNsYXNoOwogICAgIFB5T2JqZWN0ICphcmd2ID0gUHlTeXNfR2V0T2JqZWN0KCJhcmd2Iik7CiAKICAgICBpZiAoYXJndiA9PSBOVUxMKSB7CkBAIC05MCwxNiArOTAsMTYgQEAKICAgICBpZiAoIVB5VW5pY29kZV9DaGVjayhzY3JpcHRvYmopKSB7CiAgICAgICAgIHJldHVybihOVUxMKTsKICAgICB9Ci0gICAgc2NyaXB0bGVuID0gUHlVbmljb2RlX0dFVF9TSVpFKHNjcmlwdG9iaik7CisgICAgc2NyaXB0bGVuID0gUHlVbmljb2RlX0dFVF9MRU5HVEgoc2NyaXB0b2JqKTsKICAgICBpZiAoc2NyaXB0bGVuID09IDApIHsKICAgICAgICAgcmV0dXJuKE5VTEwpOwogICAgIH0KIAotICAgIGF0c3RhcnQgPSBQeVVuaWNvZGVfQVNfVU5JQ09ERShzY3JpcHRvYmopOwotICAgIGF0c2xhc2ggPSBQeV9VTklDT0RFX3N0cnJjaHIoYXRzdGFydCwgU0VQKTsKLSAgICBpZiAoYXRzbGFzaCkgewotICAgICAgICByZXR1cm4oUHlVbmljb2RlX0Zyb21Vbmljb2RlKGF0c2xhc2ggKyAxLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjcmlwdGxlbiAtIChhdHNsYXNoIC0gYXRzdGFydCkgLSAxKSk7CisgICAgc2xhc2ggPSBQeVVuaWNvZGVfRmluZENoYXIoc2NyaXB0b2JqLCBTRVAsIDAsIHNjcmlwdGxlbiwgLTEpOworICAgIGlmIChzbGFzaCA9PSAtMikKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgaWYgKHNsYXNoICE9IC0xKSB7CisgICAgICAgIHJldHVybiBQeVVuaWNvZGVfU3Vic3RyaW5nKHNjcmlwdG9iaiwgc2xhc2gsIHNjcmlwdGxlbik7CiAgICAgfSBlbHNlIHsKICAgICAgICAgUHlfSU5DUkVGKHNjcmlwdG9iaik7CiAgICAgICAgIHJldHVybihzY3JpcHRvYmopOwpkaWZmIC0tZ2l0IGEvTW9kdWxlcy90ZXJtaW9zLmMgYi9Nb2R1bGVzL3Rlcm1pb3MuYwppbmRleCBlZGViNmY1Li5iNzhkMzNlIDEwMDY0NAotLS0gYS9Nb2R1bGVzL3Rlcm1pb3MuYworKysgYi9Nb2R1bGVzL3Rlcm1pb3MuYwpAQCAtOSwxMSArOSw2IEBACiAjZW5kaWYKIAogI2luY2x1ZGUgPHRlcm1pb3MuaD4KLSNpZmRlZiBfX29zZl9fCi0vKiBPbiBPU0YsIHN5cy9pb2N0bC5oIHJlcXVpcmVzIHRoYXQgc3RydWN0IHRlcm1pbyBhbHJlYWR5IGJlIGRlZmluZWQsCi0gKiBzbyB0aGlzIG5lZWRzIHRvIGJlIGluY2x1ZGVkIGZpcnN0IG9uIHRoYXQgcGxhdGZvcm0uICovCi0jaW5jbHVkZSA8dGVybWlvLmg+Ci0jZW5kaWYKICNpbmNsdWRlIDxzeXMvaW9jdGwuaD4KIAogLyogSFAtVVggcmVxdWlyZXMgdGhhdCB0aGlzIGJlIGluY2x1ZGVkIHRvIHBpY2sgdXAgTURDRCwgTUNUUywgTURTUiwKZGlmZiAtLWdpdCBhL01vZHVsZXMvdGVzdGNhcGlfbG9uZy5oIGIvTW9kdWxlcy90ZXN0Y2FwaV9sb25nLmgKaW5kZXggZmE5NGZkNi4uNmJkZGFkNyAxMDA2NDQKLS0tIGEvTW9kdWxlcy90ZXN0Y2FwaV9sb25nLmgKKysrIGIvTW9kdWxlcy90ZXN0Y2FwaV9sb25nLmgKQEAgLTMzLDggKzMzLDcgQEAKICAgICAgICAgICAgIHVuc2lnbmVkIFRZUEVOQU1FIHVpbiwgdW91dDsKIAogICAgICAgICAgICAgLyogRm9yIDAsIDEsIDIgdXNlIGJhc2U7IGZvciAzLCA0LCA1IHVzZSAtYmFzZSAqLwotICAgICAgICAgICAgdWluID0gaiA8IDMgPyBiYXNlCi0gICAgICAgICAgICAgICAgICAgICAgICA6ICh1bnNpZ25lZCBUWVBFTkFNRSkoLShUWVBFTkFNRSliYXNlKTsKKyAgICAgICAgICAgIHVpbiA9IGogPCAzID8gYmFzZSA6IDBVIC0gYmFzZTsKIAogICAgICAgICAgICAgLyogRm9yIDAgJiAzLCBzdWJ0cmFjdCAxLgogICAgICAgICAgICAgICogRm9yIDEgJiA0LCBsZWF2ZSBhbG9uZS4KQEAgLTE3Nyw2ICsxNzYsMzIgQEAKICAgICAgICAgUHlfREVDUkVGKG9uZSk7CiAgICAgfQogCisgICAgLyogVGVzdCBGX1BZX1RPX3tTLFV9IG9uIG5vbi1weWxvbmcgaW5wdXQuIFRoaXMgc2hvdWxkIHJhaXNlIGEgVHlwZUVycm9yLiAqLworICAgIHsKKyAgICAgICAgVFlQRU5BTUUgb3V0OworICAgICAgICB1bnNpZ25lZCBUWVBFTkFNRSB1b3V0OworCisgICAgICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKKworICAgICAgICBvdXQgPSBGX1BZX1RPX1MoUHlfTm9uZSk7CisgICAgICAgIGlmIChvdXQgIT0gKFRZUEVOQU1FKS0xIHx8ICFQeUVycl9PY2N1cnJlZCgpKQorICAgICAgICAgICAgcmV0dXJuIGVycm9yKCJQeUxvbmdfQXNYWFgoTm9uZSkgZGlkbid0IGNvbXBsYWluIik7CisgICAgICAgIGlmICghUHlFcnJfRXhjZXB0aW9uTWF0Y2hlcyhQeUV4Y19UeXBlRXJyb3IpKQorICAgICAgICAgICAgcmV0dXJuIGVycm9yKCJQeUxvbmdfQXNYWFgoTm9uZSkgcmFpc2VkICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAic29tZXRoaW5nIG90aGVyIHRoYW4gVHlwZUVycm9yIik7CisgICAgICAgIFB5RXJyX0NsZWFyKCk7CisKKyAgICAgICAgdW91dCA9IEZfUFlfVE9fVShQeV9Ob25lKTsKKyAgICAgICAgaWYgKHVvdXQgIT0gKHVuc2lnbmVkIFRZUEVOQU1FKS0xIHx8ICFQeUVycl9PY2N1cnJlZCgpKQorICAgICAgICAgICAgcmV0dXJuIGVycm9yKCJQeUxvbmdfQXNYWFgoTm9uZSkgZGlkbid0IGNvbXBsYWluIik7CisgICAgICAgIGlmICghUHlFcnJfRXhjZXB0aW9uTWF0Y2hlcyhQeUV4Y19UeXBlRXJyb3IpKQorICAgICAgICAgICAgcmV0dXJuIGVycm9yKCJQeUxvbmdfQXNYWFgoTm9uZSkgcmFpc2VkICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAic29tZXRoaW5nIG90aGVyIHRoYW4gVHlwZUVycm9yIik7CisgICAgICAgIFB5RXJyX0NsZWFyKCk7CisKKyAgICAgICAgUHlfREVDUkVGKFB5X05vbmUpOworICAgIH0KKwogICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKICAgICByZXR1cm4gUHlfTm9uZTsKIH0KZGlmZiAtLWdpdCBhL01vZHVsZXMvdGltZW1vZHVsZS5jIGIvTW9kdWxlcy90aW1lbW9kdWxlLmMKaW5kZXggNjI2ZGIzZS4uZTZlMWZmNCAxMDA2NDQKLS0tIGEvTW9kdWxlcy90aW1lbW9kdWxlLmMKKysrIGIvTW9kdWxlcy90aW1lbW9kdWxlLmMKQEAgLTEsNyArMSw2IEBACiAvKiBUaW1lIG1vZHVsZSAqLwogCiAjaW5jbHVkZSAiUHl0aG9uLmgiCi0jaW5jbHVkZSAiX3RpbWUuaCIKIAogI2luY2x1ZGUgPGN0eXBlLmg+CiAKQEAgLTIxLDE5ICsyMCw2IEBACiAjaW5jbHVkZSA8d2luZG93cy5oPgogI2luY2x1ZGUgInB5dGhyZWFkLmgiCiAKLS8qIGhlbHBlciB0byBhbGxvdyB1cyB0byBpbnRlcnJ1cHQgc2xlZXAoKSBvbiBXaW5kb3dzKi8KLXN0YXRpYyBIQU5ETEUgaEludGVycnVwdEV2ZW50ID0gTlVMTDsKLXN0YXRpYyBCT09MIFdJTkFQSSBQeUN0cmxIYW5kbGVyKERXT1JEIGR3Q3RybFR5cGUpCi17Ci0gICAgU2V0RXZlbnQoaEludGVycnVwdEV2ZW50KTsKLSAgICAvKiBhbGxvdyBvdGhlciBkZWZhdWx0IGhhbmRsZXJzIHRvIGJlIGNhbGxlZC4KLSAgICAgICBEZWZhdWx0IFB5dGhvbiBoYW5kbGVyIHdpbGwgc2V0dXAgdGhlCi0gICAgICAgS2V5Ym9hcmRJbnRlcnJ1cHQgZXhjZXB0aW9uLgotICAgICovCi0gICAgcmV0dXJuIEZBTFNFOwotfQotc3RhdGljIGxvbmcgbWFpbl90aHJlYWQ7Ci0KICNpZiBkZWZpbmVkKF9fQk9STEFORENfXykKIC8qIFRoZXNlIG92ZXJyaWRlcyBub3QgbmVlZGVkIGZvciBXaW4zMiAqLwogI2RlZmluZSB0aW1lem9uZSBfdGltZXpvbmUKQEAgLTQzLDExICsyOSw2IEBACiAjZW5kaWYgLyogTVNfV0lORE9XUyAqLwogI2VuZGlmIC8qICFfX1dBVENPTUNfXyB8fCBfX1FOWF9fICovCiAKLSNpZiBkZWZpbmVkKE1TX1dJTkRPV1MpICYmICFkZWZpbmVkKF9fQk9STEFORENfXykKLS8qIFdpbjMyIGhhcyBiZXR0ZXIgY2xvY2sgcmVwbGFjZW1lbnQ7IHdlIGhhdmUgb3VyIG93biB2ZXJzaW9uIGJlbG93LiAqLwotI3VuZGVmIEhBVkVfQ0xPQ0sKLSNlbmRpZiAvKiBNU19XSU5ET1dTICYmICFkZWZpbmVkKF9fQk9STEFORENfXykgKi8KLQogI2lmIGRlZmluZWQoUFlPU19PUzIpCiAjZGVmaW5lIElOQ0xfRE9TCiAjZGVmaW5lIElOQ0xfRVJST1JTCkBAIC01OCwyMyArMzksMTggQEAKICNpbmNsdWRlIDxzeXMvdGltZS5oPgogI2VuZGlmCiAKKyNpZiBkZWZpbmVkKF9fQVBQTEVfXykKKyNpbmNsdWRlIDxtYWNoL21hY2hfdGltZS5oPgorI2VuZGlmCisKIC8qIEZvcndhcmQgZGVjbGFyYXRpb25zICovCiBzdGF0aWMgaW50IGZsb2F0c2xlZXAoZG91YmxlKTsKLXN0YXRpYyBkb3VibGUgZmxvYXR0aW1lKHZvaWQpOwotCi0vKiBGb3IgWTJLIGNoZWNrICovCi1zdGF0aWMgUHlPYmplY3QgKm1vZGRpY3Q7CitzdGF0aWMgUHlPYmplY3QqIGZsb2F0dGltZSh2b2lkKTsKIAogc3RhdGljIFB5T2JqZWN0ICoKIHRpbWVfdGltZShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKnVudXNlZCkKIHsKLSAgICBkb3VibGUgc2VjczsKLSAgICBzZWNzID0gZmxvYXR0aW1lKCk7Ci0gICAgaWYgKHNlY3MgPT0gMC4wKSB7Ci0gICAgICAgIFB5RXJyX1NldEZyb21FcnJubyhQeUV4Y19JT0Vycm9yKTsKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgfQotICAgIHJldHVybiBQeUZsb2F0X0Zyb21Eb3VibGUoc2Vjcyk7CisgICAgcmV0dXJuIGZsb2F0dGltZSgpOwogfQogCiBQeURvY19TVFJWQVIodGltZV9kb2MsCkBAIC04Myw3ICs1OSw3IEBACiBSZXR1cm4gdGhlIGN1cnJlbnQgdGltZSBpbiBzZWNvbmRzIHNpbmNlIHRoZSBFcG9jaC5cblwKIEZyYWN0aW9ucyBvZiBhIHNlY29uZCBtYXkgYmUgcHJlc2VudCBpZiB0aGUgc3lzdGVtIGNsb2NrIHByb3ZpZGVzIHRoZW0uIik7CiAKLSNpZmRlZiBIQVZFX0NMT0NLCisjaWYgZGVmaW5lZChIQVZFX0NMT0NLKQogCiAjaWZuZGVmIENMT0NLU19QRVJfU0VDCiAjaWZkZWYgQ0xLX1RDSwpAQCAtOTQsNDIgKzcwLDYyIEBACiAjZW5kaWYKIAogc3RhdGljIFB5T2JqZWN0ICoKLXRpbWVfY2xvY2soUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICp1bnVzZWQpCitweWNsb2NrKHZvaWQpCiB7Ci0gICAgcmV0dXJuIFB5RmxvYXRfRnJvbURvdWJsZSgoKGRvdWJsZSljbG9jaygpKSAvIENMT0NLU19QRVJfU0VDKTsKKyAgICBjbG9ja190IHZhbHVlOworICAgIHZhbHVlID0gY2xvY2soKTsKKyAgICBpZiAodmFsdWUgPT0gKGNsb2NrX3QpLTEpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1J1bnRpbWVFcnJvciwKKyAgICAgICAgICAgICAgICAidGhlIHByb2Nlc3NvciB0aW1lIHVzZWQgaXMgbm90IGF2YWlsYWJsZSAiCisgICAgICAgICAgICAgICAgIm9yIGl0cyB2YWx1ZSBjYW5ub3QgYmUgcmVwcmVzZW50ZWQiKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorICAgIHJldHVybiBQeUZsb2F0X0Zyb21Eb3VibGUoKGRvdWJsZSl2YWx1ZSAvIENMT0NLU19QRVJfU0VDKTsKIH0KICNlbmRpZiAvKiBIQVZFX0NMT0NLICovCiAKICNpZiBkZWZpbmVkKE1TX1dJTkRPV1MpICYmICFkZWZpbmVkKF9fQk9STEFORENfXykKLS8qIER1ZSB0byBNYXJrIEhhbW1vbmQgYW5kIFRpbSBQZXRlcnMgKi8KKy8qIFdpbjMyIGhhcyBiZXR0ZXIgY2xvY2sgcmVwbGFjZW1lbnQ7IHdlIGhhdmUgb3VyIG93biB2ZXJzaW9uLCBkdWUgdG8gTWFyaworICAgSGFtbW9uZCBhbmQgVGltIFBldGVycyAqLwogc3RhdGljIFB5T2JqZWN0ICoKLXRpbWVfY2xvY2soUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICp1bnVzZWQpCit3aW4zMl9jbG9jayhpbnQgZmFsbGJhY2spCiB7Ci0gICAgc3RhdGljIExBUkdFX0lOVEVHRVIgY3RyU3RhcnQ7Ci0gICAgc3RhdGljIGRvdWJsZSBkaXZpc29yID0gMC4wOworICAgIHN0YXRpYyBMT05HTE9ORyBjcHVfZnJlcXVlbmN5ID0gMDsKKyAgICBzdGF0aWMgTE9OR0xPTkcgY3RyU3RhcnQ7CiAgICAgTEFSR0VfSU5URUdFUiBub3c7CiAgICAgZG91YmxlIGRpZmY7CiAKLSAgICBpZiAoZGl2aXNvciA9PSAwLjApIHsKKyAgICBpZiAoY3B1X2ZyZXF1ZW5jeSA9PSAwKSB7CiAgICAgICAgIExBUkdFX0lOVEVHRVIgZnJlcTsKLSAgICAgICAgUXVlcnlQZXJmb3JtYW5jZUNvdW50ZXIoJmN0clN0YXJ0KTsKKyAgICAgICAgUXVlcnlQZXJmb3JtYW5jZUNvdW50ZXIoJm5vdyk7CisgICAgICAgIGN0clN0YXJ0ID0gbm93LlF1YWRQYXJ0OwogICAgICAgICBpZiAoIVF1ZXJ5UGVyZm9ybWFuY2VGcmVxdWVuY3koJmZyZXEpIHx8IGZyZXEuUXVhZFBhcnQgPT0gMCkgewogICAgICAgICAgICAgLyogVW5saWtlbHkgdG8gaGFwcGVuIC0gdGhpcyB3b3JrcyBvbiBhbGwgaW50ZWwKICAgICAgICAgICAgICAgIG1hY2hpbmVzIGF0IGxlYXN0ISAgUmV2ZXJ0IHRvIGNsb2NrKCkgKi8KLSAgICAgICAgICAgIHJldHVybiBQeUZsb2F0X0Zyb21Eb3VibGUoKChkb3VibGUpY2xvY2soKSkgLwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDTE9DS1NfUEVSX1NFQyk7CisgICAgICAgICAgICBpZiAoZmFsbGJhY2spCisgICAgICAgICAgICAgICAgcmV0dXJuIHB5Y2xvY2soKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICByZXR1cm4gUHlFcnJfU2V0RnJvbVdpbmRvd3NFcnIoMCk7CiAgICAgICAgIH0KLSAgICAgICAgZGl2aXNvciA9IChkb3VibGUpZnJlcS5RdWFkUGFydDsKKyAgICAgICAgY3B1X2ZyZXF1ZW5jeSA9IGZyZXEuUXVhZFBhcnQ7CiAgICAgfQogICAgIFF1ZXJ5UGVyZm9ybWFuY2VDb3VudGVyKCZub3cpOwotICAgIGRpZmYgPSAoZG91YmxlKShub3cuUXVhZFBhcnQgLSBjdHJTdGFydC5RdWFkUGFydCk7Ci0gICAgcmV0dXJuIFB5RmxvYXRfRnJvbURvdWJsZShkaWZmIC8gZGl2aXNvcik7CisgICAgZGlmZiA9IChkb3VibGUpKG5vdy5RdWFkUGFydCAtIGN0clN0YXJ0KTsKKyAgICByZXR1cm4gUHlGbG9hdF9Gcm9tRG91YmxlKGRpZmYgLyAoZG91YmxlKWNwdV9mcmVxdWVuY3kpOworfQorI2VuZGlmCisKKyNpZiAoZGVmaW5lZChNU19XSU5ET1dTKSAmJiAhZGVmaW5lZChfX0JPUkxBTkRDX18pKSB8fCBkZWZpbmVkKEhBVkVfQ0xPQ0spCitzdGF0aWMgUHlPYmplY3QgKgordGltZV9jbG9jayhQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKnVudXNlZCkKK3sKKyNpZiBkZWZpbmVkKE1TX1dJTkRPV1MpICYmICFkZWZpbmVkKF9fQk9STEFORENfXykKKyAgICByZXR1cm4gd2luMzJfY2xvY2soMSk7CisjZWxzZQorICAgIHJldHVybiBweWNsb2NrKCk7CisjZW5kaWYKIH0KIAotI2RlZmluZSBIQVZFX0NMT0NLIC8qIFNvIGl0IGdldHMgaW5jbHVkZWQgaW4gdGhlIG1ldGhvZHMgKi8KLSNlbmRpZiAvKiBNU19XSU5ET1dTICYmICFkZWZpbmVkKF9fQk9STEFORENfXykgKi8KLQotI2lmZGVmIEhBVkVfQ0xPQ0sKIFB5RG9jX1NUUlZBUihjbG9ja19kb2MsCiAiY2xvY2soKSAtPiBmbG9hdGluZyBwb2ludCBudW1iZXJcblwKIFxuXApAQCAtMTM4LDEyICsxMzQsNjkgQEAKIHJlY29yZHMuIik7CiAjZW5kaWYKIAorI2lmZGVmIEhBVkVfQ0xPQ0tfR0VUVElNRQorc3RhdGljIFB5T2JqZWN0ICoKK3RpbWVfY2xvY2tfZ2V0dGltZShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgaW50IHJldDsKKyAgICBjbG9ja2lkX3QgY2xrX2lkOworICAgIHN0cnVjdCB0aW1lc3BlYyB0cDsKKworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiaTpjbG9ja19nZXR0aW1lIiwgJmNsa19pZCkpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgcmV0ID0gY2xvY2tfZ2V0dGltZSgoY2xvY2tpZF90KWNsa19pZCwgJnRwKTsKKyAgICBpZiAocmV0ICE9IDApIHsKKyAgICAgICAgUHlFcnJfU2V0RnJvbUVycm5vKFB5RXhjX0lPRXJyb3IpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisKKyAgICByZXR1cm4gUHlGbG9hdF9Gcm9tRG91YmxlKHRwLnR2X3NlYyArIHRwLnR2X25zZWMgKiAxZS05KTsKK30KKworUHlEb2NfU1RSVkFSKGNsb2NrX2dldHRpbWVfZG9jLAorImNsb2NrX2dldHRpbWUoY2xrX2lkKSAtPiBmbG9hdGluZyBwb2ludCBudW1iZXJcblwKK1xuXAorUmV0dXJuIHRoZSB0aW1lIG9mIHRoZSBzcGVjaWZpZWQgY2xvY2sgY2xrX2lkLiIpOworI2VuZGlmCisKKyNpZmRlZiBIQVZFX0NMT0NLX0dFVFJFUworc3RhdGljIFB5T2JqZWN0ICoKK3RpbWVfY2xvY2tfZ2V0cmVzKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBpbnQgcmV0OworICAgIGNsb2NraWRfdCBjbGtfaWQ7CisgICAgc3RydWN0IHRpbWVzcGVjIHRwOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJpOmNsb2NrX2dldHJlcyIsICZjbGtfaWQpKQorICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIHJldCA9IGNsb2NrX2dldHJlcygoY2xvY2tpZF90KWNsa19pZCwgJnRwKTsKKyAgICBpZiAocmV0ICE9IDApIHsKKyAgICAgICAgUHlFcnJfU2V0RnJvbUVycm5vKFB5RXhjX0lPRXJyb3IpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisKKyAgICByZXR1cm4gUHlGbG9hdF9Gcm9tRG91YmxlKHRwLnR2X3NlYyArIHRwLnR2X25zZWMgKiAxZS05KTsKK30KKworUHlEb2NfU1RSVkFSKGNsb2NrX2dldHJlc19kb2MsCisiY2xvY2tfZ2V0cmVzKGNsa19pZCkgLT4gZmxvYXRpbmcgcG9pbnQgbnVtYmVyXG5cCitcblwKK1JldHVybiB0aGUgcmVzb2x1dGlvbiAocHJlY2lzaW9uKSBvZiB0aGUgc3BlY2lmaWVkIGNsb2NrIGNsa19pZC4iKTsKKyNlbmRpZgorCiBzdGF0aWMgUHlPYmplY3QgKgogdGltZV9zbGVlcChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCiB7CiAgICAgZG91YmxlIHNlY3M7CiAgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJkOnNsZWVwIiwgJnNlY3MpKQogICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBpZiAoc2VjcyA8IDApIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAic2xlZXAgbGVuZ3RoIG11c3QgYmUgbm9uLW5lZ2F0aXZlIik7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KICAgICBpZiAoZmxvYXRzbGVlcChzZWNzKSAhPSAwKQogICAgICAgICByZXR1cm4gTlVMTDsKICAgICBQeV9JTkNSRUYoUHlfTm9uZSk7CkBAIC0yMTIsNTUgKzI2NSw0OSBAQAogICAgIHJldHVybiB2OwogfQogCi1zdGF0aWMgUHlPYmplY3QgKgotdGltZV9jb252ZXJ0KGRvdWJsZSB3aGVuLCBzdHJ1Y3QgdG0gKiAoKmZ1bmN0aW9uKShjb25zdCB0aW1lX3QgKikpCi17Ci0gICAgc3RydWN0IHRtICpwOwotICAgIHRpbWVfdCB3aGVudCA9IF9QeVRpbWVfRG91YmxlVG9UaW1ldCh3aGVuKTsKLQotICAgIGlmICh3aGVudCA9PSAodGltZV90KS0xICYmIFB5RXJyX09jY3VycmVkKCkpCi0gICAgICAgIHJldHVybiBOVUxMOwotICAgIGVycm5vID0gMDsKLSAgICBwID0gZnVuY3Rpb24oJndoZW50KTsKLSAgICBpZiAocCA9PSBOVUxMKSB7Ci0jaWZkZWYgRUlOVkFMCi0gICAgICAgIGlmIChlcnJubyA9PSAwKQotICAgICAgICAgICAgZXJybm8gPSBFSU5WQUw7Ci0jZW5kaWYKLSAgICAgICAgcmV0dXJuIFB5RXJyX1NldEZyb21FcnJubyhQeUV4Y19WYWx1ZUVycm9yKTsKLSAgICB9Ci0gICAgcmV0dXJuIHRtdG90dXBsZShwKTsKLX0KLQogLyogUGFyc2UgYXJnIHR1cGxlIHRoYXQgY2FuIGNvbnRhaW4gYW4gb3B0aW9uYWwgZmxvYXQtb3ItTm9uZSB2YWx1ZTsKICAgIGZvcm1hdCBuZWVkcyB0byBiZSAifE86bmFtZSIuCiAgICBSZXR1cm5zIG5vbi16ZXJvIG9uIHN1Y2Nlc3MgKHBhcmFsbGVscyBQeUFyZ19QYXJzZVR1cGxlKS4KICovCiBzdGF0aWMgaW50Ci1wYXJzZV90aW1lX2RvdWJsZV9hcmdzKFB5T2JqZWN0ICphcmdzLCBjaGFyICpmb3JtYXQsIGRvdWJsZSAqcHdoZW4pCitwYXJzZV90aW1lX3RfYXJncyhQeU9iamVjdCAqYXJncywgY2hhciAqZm9ybWF0LCB0aW1lX3QgKnB3aGVuKQogewogICAgIFB5T2JqZWN0ICpvdCA9IE5VTEw7CisgICAgdGltZV90IHdoZW50OwogCiAgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsIGZvcm1hdCwgJm90KSkKICAgICAgICAgcmV0dXJuIDA7Ci0gICAgaWYgKG90ID09IE5VTEwgfHwgb3QgPT0gUHlfTm9uZSkKLSAgICAgICAgKnB3aGVuID0gZmxvYXR0aW1lKCk7Ci0gICAgZWxzZSB7Ci0gICAgICAgIGRvdWJsZSB3aGVuID0gUHlGbG9hdF9Bc0RvdWJsZShvdCk7Ci0gICAgICAgIGlmIChQeUVycl9PY2N1cnJlZCgpKQotICAgICAgICAgICAgcmV0dXJuIDA7Ci0gICAgICAgICpwd2hlbiA9IHdoZW47CisgICAgaWYgKG90ID09IE5VTEwgfHwgb3QgPT0gUHlfTm9uZSkgeworICAgICAgICB3aGVudCA9IHRpbWUoTlVMTCk7CiAgICAgfQorICAgIGVsc2UgeworICAgICAgICBpZiAoX1B5VGltZV9PYmplY3RUb1RpbWVfdChvdCwgJndoZW50KSA9PSAtMSkKKyAgICAgICAgICAgIHJldHVybiAwOworICAgIH0KKyAgICAqcHdoZW4gPSB3aGVudDsKICAgICByZXR1cm4gMTsKIH0KIAogc3RhdGljIFB5T2JqZWN0ICoKIHRpbWVfZ210aW1lKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKIHsKLSAgICBkb3VibGUgd2hlbjsKLSAgICBpZiAoIXBhcnNlX3RpbWVfZG91YmxlX2FyZ3MoYXJncywgInxPOmdtdGltZSIsICZ3aGVuKSkKKyAgICB0aW1lX3Qgd2hlbjsKKyAgICBzdHJ1Y3QgdG0gYnVmLCAqbG9jYWw7CisKKyAgICBpZiAoIXBhcnNlX3RpbWVfdF9hcmdzKGFyZ3MsICJ8TzpnbXRpbWUiLCAmd2hlbikpCiAgICAgICAgIHJldHVybiBOVUxMOwotICAgIHJldHVybiB0aW1lX2NvbnZlcnQod2hlbiwgZ210aW1lKTsKKworICAgIGVycm5vID0gMDsKKyAgICBsb2NhbCA9IGdtdGltZSgmd2hlbik7CisgICAgaWYgKGxvY2FsID09IE5VTEwpIHsKKyNpZmRlZiBFSU5WQUwKKyAgICAgICAgaWYgKGVycm5vID09IDApCisgICAgICAgICAgICBlcnJubyA9IEVJTlZBTDsKKyNlbmRpZgorICAgICAgICByZXR1cm4gUHlFcnJfU2V0RnJvbUVycm5vKFB5RXhjX09TRXJyb3IpOworICAgIH0KKyAgICBidWYgPSAqbG9jYWw7CisgICAgcmV0dXJuIHRtdG90dXBsZSgmYnVmKTsKIH0KIAogUHlEb2NfU1RSVkFSKGdtdGltZV9kb2MsCkBAIC0yNzAsMTMgKzMxNywzNyBAQAogQ29udmVydCBzZWNvbmRzIHNpbmNlIHRoZSBFcG9jaCB0byBhIHRpbWUgdHVwbGUgZXhwcmVzc2luZyBVVEMgKGEuay5hLlxuXAogR01UKS4gIFdoZW4gJ3NlY29uZHMnIGlzIG5vdCBwYXNzZWQgaW4sIGNvbnZlcnQgdGhlIGN1cnJlbnQgdGltZSBpbnN0ZWFkLiIpOwogCitzdGF0aWMgaW50CitweWxvY2FsdGltZSh0aW1lX3QgKnRpbWVwLCBzdHJ1Y3QgdG0gKnJlc3VsdCkKK3sKKyAgICBzdHJ1Y3QgdG0gKmxvY2FsOworCisgICAgYXNzZXJ0ICh0aW1lcCAhPSBOVUxMKTsKKyAgICBsb2NhbCA9IGxvY2FsdGltZSh0aW1lcCk7CisgICAgaWYgKGxvY2FsID09IE5VTEwpIHsKKyAgICAgICAgLyogdW5jb252ZXJ0aWJsZSB0aW1lICovCisjaWZkZWYgRUlOVkFMCisgICAgICAgIGlmIChlcnJubyA9PSAwKQorICAgICAgICAgICAgZXJybm8gPSBFSU5WQUw7CisjZW5kaWYKKyAgICAgICAgUHlFcnJfU2V0RnJvbUVycm5vKFB5RXhjX09TRXJyb3IpOworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorICAgICpyZXN1bHQgPSAqbG9jYWw7CisgICAgcmV0dXJuIDA7Cit9CisKIHN0YXRpYyBQeU9iamVjdCAqCiB0aW1lX2xvY2FsdGltZShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCiB7Ci0gICAgZG91YmxlIHdoZW47Ci0gICAgaWYgKCFwYXJzZV90aW1lX2RvdWJsZV9hcmdzKGFyZ3MsICJ8Tzpsb2NhbHRpbWUiLCAmd2hlbikpCisgICAgdGltZV90IHdoZW47CisgICAgc3RydWN0IHRtIGJ1ZjsKKworICAgIGlmICghcGFyc2VfdGltZV90X2FyZ3MoYXJncywgInxPOmxvY2FsdGltZSIsICZ3aGVuKSkKICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgcmV0dXJuIHRpbWVfY29udmVydCh3aGVuLCBsb2NhbHRpbWUpOworICAgIGlmIChweWxvY2FsdGltZSgmd2hlbiwgJmJ1ZikgPT0gMSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgcmV0dXJuIHRtdG90dXBsZSgmYnVmKTsKIH0KIAogUHlEb2NfU1RSVkFSKGxvY2FsdGltZV9kb2MsCkBAIC0zMDcsNDkgKzM3OCw2IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICZwLT50bV9ob3VyLCAmcC0+dG1fbWluLCAmcC0+dG1fc2VjLAogICAgICAgICAgICAgICAgICAgICAgICAgICAmcC0+dG1fd2RheSwgJnAtPnRtX3lkYXksICZwLT50bV9pc2RzdCkpCiAgICAgICAgIHJldHVybiAwOwotCi0gICAgLyogSWYgeWVhciBpcyBzcGVjaWZpZWQgd2l0aCBsZXNzIHRoYW4gNCBkaWdpdHMsIGl0cyBpbnRlcnByZXRhdGlvbgotICAgICAqIGRlcGVuZHMgb24gdGhlIGFjY2VwdDJkeWVhciB2YWx1ZS4KLSAgICAgKgotICAgICAqIElmIGFjY2VwdDJkeWVhciBpcyB0cnVlIChkZWZhdWx0KSwgYSBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IGJlaGF2aW9yIGlzCi0gICAgICogaW52b2tlZCBhcyBmb2xsb3dzOgotICAgICAqCi0gICAgICogICAtIGZvciAyLWRpZ2l0IHllYXIsIGNlbnR1cnkgaXMgZ3Vlc3NlZCBhY2NvcmRpbmcgdG8gUE9TSVggcnVsZXMgZm9yCi0gICAgICogICAgICAleSBzdHJwdGltZSBmb3JtYXQ6IDIxc3QgY2VudHVyeSBmb3IgeSA8IDY5LCAyMHRoIGNlbnR1cnkKLSAgICAgKiAgICAgIG90aGVyd2lzZS4gIEEgZGVwcmVjYXRpb24gd2FybmluZyBpcyBpc3N1ZWQgd2hlbiBjZW50dXJ5Ci0gICAgICogICAgICBpbmZvcm1hdGlvbiBpcyBndWVzc2VkIGluIHRoaXMgd2F5LgotICAgICAqCi0gICAgICogICAtIGZvciAzLWRpZ2l0IG9yIG5lZ2F0aXZlIHllYXIsIGEgVmFsdWVFcnJvciBleGNlcHRpb24gaXMgcmFpc2VkLgotICAgICAqCi0gICAgICogSWYgYWNjZXB0MmR5ZWFyIGlzIGZhbHNlIChzZXQgYnkgdGhlIHByb2dyYW0gb3IgYXMgYSByZXN1bHQgb2YgYQotICAgICAqIG5vbi1lbXB0eSB2YWx1ZSBhc3NpZ25lZCB0byBQWVRIT05ZMksgZW52aXJvbm1lbnQgdmFyaWFibGUpIGFsbCB5ZWFyCi0gICAgICogdmFsdWVzIGFyZSBpbnRlcnByZXRlZCBhcyBnaXZlbi4KLSAgICAgKi8KLSAgICBpZiAoeSA8IDEwMDApIHsKLSAgICAgICAgUHlPYmplY3QgKmFjY2VwdCA9IFB5RGljdF9HZXRJdGVtU3RyaW5nKG1vZGRpY3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYWNjZXB0MmR5ZWFyIik7Ci0gICAgICAgIGlmIChhY2NlcHQgIT0gTlVMTCkgewotICAgICAgICAgICAgaW50IGFjY2VwdHZhbCA9ICBQeU9iamVjdF9Jc1RydWUoYWNjZXB0KTsKLSAgICAgICAgICAgIGlmIChhY2NlcHR2YWwgPT0gLTEpCi0gICAgICAgICAgICAgICAgcmV0dXJuIDA7Ci0gICAgICAgICAgICBpZiAoYWNjZXB0dmFsKSB7Ci0gICAgICAgICAgICAgICAgaWYgKDAgPD0geSAmJiB5IDwgNjkpCi0gICAgICAgICAgICAgICAgICAgIHkgKz0gMjAwMDsKLSAgICAgICAgICAgICAgICBlbHNlIGlmICg2OSA8PSB5ICYmIHkgPCAxMDApCi0gICAgICAgICAgICAgICAgICAgIHkgKz0gMTkwMDsKLSAgICAgICAgICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAieWVhciBvdXQgb2YgcmFuZ2UiKTsKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDA7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGlmIChQeUVycl9XYXJuRXgoUHlFeGNfRGVwcmVjYXRpb25XYXJuaW5nLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIkNlbnR1cnkgaW5mbyBndWVzc2VkIGZvciBhIDItZGlnaXQgeWVhci4iLCAxKSAhPSAwKQotICAgICAgICAgICAgICAgICAgICByZXR1cm4gMDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgICAgICBlbHNlCi0gICAgICAgICAgICByZXR1cm4gMDsKLSAgICB9CiAgICAgcC0+dG1feWVhciA9IHkgLSAxOTAwOwogICAgIHAtPnRtX21vbi0tOwogICAgIHAtPnRtX3dkYXkgPSAocC0+dG1fd2RheSArIDEpICUgNzsKQEAgLTQ3MCw3ICs0OTgsOCBAQAogCiAgICAgaWYgKHR1cCA9PSBOVUxMKSB7CiAgICAgICAgIHRpbWVfdCB0dCA9IHRpbWUoTlVMTCk7Ci0gICAgICAgIGJ1ZiA9ICpsb2NhbHRpbWUoJnR0KTsKKyAgICAgICAgaWYgKHB5bG9jYWx0aW1lKCZ0dCwgJmJ1ZikgPT0gLTEpCisgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAgICAgZWxzZSBpZiAoIWdldHRtYXJnKHR1cCwgJmJ1ZikgfHwgIWNoZWNrdG0oJmJ1ZikpCiAgICAgICAgIHJldHVybiBOVUxMOwpAQCAtNDk4LDcgKzUyNyw3IEBACiAgICAgZm10ID0gZm9ybWF0OwogI2Vsc2UKICAgICAvKiBDb252ZXJ0IHRoZSB1bmljb2RlIHN0cmluZyB0byBhbiBhc2NpaSBvbmUgKi8KLSAgICBmb3JtYXQgPSBQeVVuaWNvZGVfRW5jb2RlRlNEZWZhdWx0KGZvcm1hdF9hcmcpOworICAgIGZvcm1hdCA9IFB5VW5pY29kZV9FbmNvZGVMb2NhbGUoZm9ybWF0X2FyZywgInN1cnJvZ2F0ZWVzY2FwZSIpOwogICAgIGlmIChmb3JtYXQgPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgZm10ID0gUHlCeXRlc19BU19TVFJJTkcoZm9ybWF0KTsKQEAgLTU0OSw3ICs1NzgsOCBAQAogI2lmZGVmIEhBVkVfV0NTRlRJTUUKICAgICAgICAgICAgIHJldCA9IFB5VW5pY29kZV9Gcm9tV2lkZUNoYXIob3V0YnVmLCBidWZsZW4pOwogI2Vsc2UKLSAgICAgICAgICAgIHJldCA9IFB5VW5pY29kZV9EZWNvZGVGU0RlZmF1bHRBbmRTaXplKG91dGJ1ZiwgYnVmbGVuKTsKKyAgICAgICAgICAgIHJldCA9IFB5VW5pY29kZV9EZWNvZGVMb2NhbGVBbmRTaXplKG91dGJ1ZiwgYnVmbGVuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInN1cnJvZ2F0ZWVzY2FwZSIpOwogI2VuZGlmCiAgICAgICAgICAgICBQeU1lbV9GcmVlKG91dGJ1Zik7CiAgICAgICAgICAgICBicmVhazsKQEAgLTU4NywxMSArNjE3LDEyIEBACiB7CiAgICAgUHlPYmplY3QgKnN0cnB0aW1lX21vZHVsZSA9IFB5SW1wb3J0X0ltcG9ydE1vZHVsZU5vQmxvY2soIl9zdHJwdGltZSIpOwogICAgIFB5T2JqZWN0ICpzdHJwdGltZV9yZXN1bHQ7CisgICAgX1B5X0lERU5USUZJRVIoX3N0cnB0aW1lX3RpbWUpOwogCiAgICAgaWYgKCFzdHJwdGltZV9tb2R1bGUpCiAgICAgICAgIHJldHVybiBOVUxMOwotICAgIHN0cnB0aW1lX3Jlc3VsdCA9IFB5T2JqZWN0X0NhbGxNZXRob2Qoc3RycHRpbWVfbW9kdWxlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiX3N0cnB0aW1lX3RpbWUiLCAiTyIsIGFyZ3MpOworICAgIHN0cnB0aW1lX3Jlc3VsdCA9IF9QeU9iamVjdF9DYWxsTWV0aG9kSWQoc3RycHRpbWVfbW9kdWxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJlB5SWRfX3N0cnB0aW1lX3RpbWUsICJPIiwgYXJncyk7CiAgICAgUHlfREVDUkVGKHN0cnB0aW1lX21vZHVsZSk7CiAgICAgcmV0dXJuIHN0cnB0aW1lX3Jlc3VsdDsKIH0KQEAgLTYwOCwzMSArNjM5LDIwIEBACiB7CiAgICAgLyogSW5zcGlyZWQgYnkgT3BlbiBHcm91cCByZWZlcmVuY2UgaW1wbGVtZW50YXRpb24gYXZhaWxhYmxlIGF0CiAgICAgICogaHR0cDovL3B1YnMub3Blbmdyb3VwLm9yZy9vbmxpbmVwdWJzLzAwOTY5NTM5OS9mdW5jdGlvbnMvYXNjdGltZS5odG1sICovCi0gICAgc3RhdGljIGNoYXIgd2RheV9uYW1lWzddWzNdID0geworICAgIHN0YXRpYyBjaGFyIHdkYXlfbmFtZVs3XVs0XSA9IHsKICAgICAgICAgIlN1biIsICJNb24iLCAiVHVlIiwgIldlZCIsICJUaHUiLCAiRnJpIiwgIlNhdCIKICAgICB9OwotICAgIHN0YXRpYyBjaGFyIG1vbl9uYW1lWzEyXVszXSA9IHsKKyAgICBzdGF0aWMgY2hhciBtb25fbmFtZVsxMl1bNF0gPSB7CiAgICAgICAgICJKYW4iLCAiRmViIiwgIk1hciIsICJBcHIiLCAiTWF5IiwgIkp1biIsCiAgICAgICAgICJKdWwiLCAiQXVnIiwgIlNlcCIsICJPY3QiLCAiTm92IiwgIkRlYyIKICAgICB9OwotICAgIGNoYXIgYnVmWzIwXTsgLyogJ1N1biBTZXAgMTYgMDE6MDM6NTJcMCcgKi8KLSAgICBpbnQgbjsKLQotICAgIG4gPSBQeU9TX3NucHJpbnRmKGJ1Ziwgc2l6ZW9mKGJ1ZiksICIlLjNzICUuM3MlM2QgJS4yZDolLjJkOiUuMmQiLAotICAgICAgICAgICAgICAgICAgICAgIHdkYXlfbmFtZVt0aW1lcHRyLT50bV93ZGF5XSwKLSAgICAgICAgICAgICAgICAgICAgICBtb25fbmFtZVt0aW1lcHRyLT50bV9tb25dLAotICAgICAgICAgICAgICAgICAgICAgIHRpbWVwdHItPnRtX21kYXksIHRpbWVwdHItPnRtX2hvdXIsCi0gICAgICAgICAgICAgICAgICAgICAgdGltZXB0ci0+dG1fbWluLCB0aW1lcHRyLT50bV9zZWMpOwotICAgIC8qIFhYWDogc2luY2UgdGhlIGZpZWxkcyB1c2VkIGJ5IHNucHJpbnRmIGFib3ZlIGFyZSB2YWxpZGF0ZWQgaW4gY2hlY2t0bSwKLSAgICAgKiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbiBzaG91bGQgbmV2ZXIgdHJpZ2dlci4gV2Uga2VlcCB0aGUgY2hlY2sgYmVjYXVzZQotICAgICAqIGhpc3RvcmljYWxseSBmaXhlZCBzaXplIGJ1ZmZlciB1c2VkIGluIGFzY3RpbWUgd2FzIHRoZSBzb3VyY2Ugb2YKLSAgICAgKiBjcmFzaGVzLiAqLwotICAgIGlmIChuICsgMSAhPSBzaXplb2YoYnVmKSkgewotICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwgInVuY29udmVydGlibGUgdGltZSIpOwotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICB9Ci0KLSAgICByZXR1cm4gUHlVbmljb2RlX0Zyb21Gb3JtYXQoIiVzICVkIiwgYnVmLCAxOTAwICsgdGltZXB0ci0+dG1feWVhcik7CisgICAgcmV0dXJuIFB5VW5pY29kZV9Gcm9tRm9ybWF0KAorICAgICAgICAiJXMgJXMlM2QgJS4yZDolLjJkOiUuMmQgJWQiLAorICAgICAgICB3ZGF5X25hbWVbdGltZXB0ci0+dG1fd2RheV0sCisgICAgICAgIG1vbl9uYW1lW3RpbWVwdHItPnRtX21vbl0sCisgICAgICAgIHRpbWVwdHItPnRtX21kYXksIHRpbWVwdHItPnRtX2hvdXIsCisgICAgICAgIHRpbWVwdHItPnRtX21pbiwgdGltZXB0ci0+dG1fc2VjLAorICAgICAgICAxOTAwICsgdGltZXB0ci0+dG1feWVhcik7CiB9CiAKIHN0YXRpYyBQeU9iamVjdCAqCkBAIC02NDUsNyArNjY1LDkgQEAKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgaWYgKHR1cCA9PSBOVUxMKSB7CiAgICAgICAgIHRpbWVfdCB0dCA9IHRpbWUoTlVMTCk7Ci0gICAgICAgIGJ1ZiA9ICpsb2NhbHRpbWUoJnR0KTsKKyAgICAgICAgaWYgKHB5bG9jYWx0aW1lKCZ0dCwgJmJ1ZikgPT0gLTEpCisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKwogICAgIH0gZWxzZSBpZiAoIWdldHRtYXJnKHR1cCwgJmJ1ZikgfHwgIWNoZWNrdG0oJmJ1ZikpCiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIHJldHVybiBfYXNjdGltZSgmYnVmKTsKQEAgLTY2MSwyOCArNjgzLDEzIEBACiBzdGF0aWMgUHlPYmplY3QgKgogdGltZV9jdGltZShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCiB7Ci0gICAgUHlPYmplY3QgKm90ID0gTlVMTDsKICAgICB0aW1lX3QgdHQ7Ci0gICAgc3RydWN0IHRtICp0aW1lcHRyOwotCi0gICAgaWYgKCFQeUFyZ19VbnBhY2tUdXBsZShhcmdzLCAiY3RpbWUiLCAwLCAxLCAmb3QpKQorICAgIHN0cnVjdCB0bSBidWY7CisgICAgaWYgKCFwYXJzZV90aW1lX3RfYXJncyhhcmdzLCAifE86Y3RpbWUiLCAmdHQpKQogICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBpZiAob3QgPT0gTlVMTCB8fCBvdCA9PSBQeV9Ob25lKQotICAgICAgICB0dCA9IHRpbWUoTlVMTCk7Ci0gICAgZWxzZSB7Ci0gICAgICAgIGRvdWJsZSBkdCA9IFB5RmxvYXRfQXNEb3VibGUob3QpOwotICAgICAgICBpZiAoUHlFcnJfT2NjdXJyZWQoKSkKLSAgICAgICAgICAgIHJldHVybiBOVUxMOwotICAgICAgICB0dCA9IF9QeVRpbWVfRG91YmxlVG9UaW1ldChkdCk7Ci0gICAgICAgIGlmICh0dCA9PSAodGltZV90KS0xICYmIFB5RXJyX09jY3VycmVkKCkpCi0gICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICB9Ci0gICAgdGltZXB0ciA9IGxvY2FsdGltZSgmdHQpOwotICAgIGlmICh0aW1lcHRyID09IE5VTEwpIHsKLSAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsICJ1bmNvbnZlcnRpYmxlIHRpbWUiKTsKKyAgICBpZiAocHlsb2NhbHRpbWUoJnR0LCAmYnVmKSA9PSAtMSkKICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgfQotICAgIHJldHVybiBfYXNjdGltZSh0aW1lcHRyKTsKKyAgICByZXR1cm4gX2FzY3RpbWUoJmJ1Zik7CiB9CiAKIFB5RG9jX1NUUlZBUihjdGltZV9kb2MsCkBAIC03NTUsNiArNzYyLDgyIEBACiBzaG91bGQgbm90IGJlIHJlbGllZCBvbi4iKTsKICNlbmRpZiAvKiBIQVZFX1dPUktJTkdfVFpTRVQgKi8KIAorc3RhdGljIFB5T2JqZWN0Kgorc3RlYWR5X2Nsb2NrKGludCBzdHJpY3QpCit7CisjaWYgZGVmaW5lZChNU19XSU5ET1dTKSAmJiAhZGVmaW5lZChfX0JPUkxBTkRDX18pCisgICAgcmV0dXJuIHdpbjMyX2Nsb2NrKCFzdHJpY3QpOworI2VsaWYgZGVmaW5lZChfX0FQUExFX18pCisgICAgdWludDY0X3QgdGltZSA9IG1hY2hfYWJzb2x1dGVfdGltZSgpOworICAgIGRvdWJsZSBzZWNzOworCisgICAgc3RhdGljIG1hY2hfdGltZWJhc2VfaW5mb19kYXRhX3QgdGltZWJhc2U7CisgICAgaWYgKHRpbWViYXNlLmRlbm9tID09IDApCisgICAgICBtYWNoX3RpbWViYXNlX2luZm8oJnRpbWViYXNlKTsKKworICAgIHNlY3MgPSAoZG91YmxlKXRpbWUgKiB0aW1lYmFzZS5udW1lciAvIHRpbWViYXNlLmRlbm9tICogMWUtOTsKKworICAgIHJldHVybiBQeUZsb2F0X0Zyb21Eb3VibGUoc2Vjcyk7CisjZWxpZiBkZWZpbmVkKEhBVkVfQ0xPQ0tfR0VUVElNRSkKKyAgICBzdGF0aWMgaW50IGNsa19pbmRleCA9IDA7CisgICAgY2xvY2tpZF90IGNsa19pZHNbXSA9IHsKKyNpZmRlZiBDTE9DS19NT05PVE9OSUNfUkFXCisgICAgICAgIENMT0NLX01PTk9UT05JQ19SQVcsCisjZW5kaWYKKyAgICAgICAgQ0xPQ0tfTU9OT1RPTklDLAorICAgICAgICBDTE9DS19SRUFMVElNRQorICAgIH07CisgICAgaW50IHJldDsKKyAgICBzdHJ1Y3QgdGltZXNwZWMgdHA7CisKKyAgICB3aGlsZSAoMCA8PSBjbGtfaW5kZXgpIHsKKyAgICAgICAgY2xvY2tpZF90IGNsa19pZCA9IGNsa19pZHNbY2xrX2luZGV4XTsKKyAgICAgICAgcmV0ID0gY2xvY2tfZ2V0dGltZShjbGtfaWQsICZ0cCk7CisgICAgICAgIGlmIChyZXQgPT0gMCkKKyAgICAgICAgICAgIHJldHVybiBQeUZsb2F0X0Zyb21Eb3VibGUodHAudHZfc2VjICsgdHAudHZfbnNlYyAqIDFlLTkpOworCisgICAgICAgIGNsa19pbmRleCsrOworICAgICAgICBpZiAoUHlfQVJSQVlfTEVOR1RIKGNsa19pZHMpIDw9IGNsa19pbmRleCkKKyAgICAgICAgICAgIGNsa19pbmRleCA9IC0xOworICAgIH0KKyAgICBpZiAoc3RyaWN0KSB7CisgICAgICAgIFB5RXJyX1NldEZyb21FcnJubyhQeUV4Y19PU0Vycm9yKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorICAgIHJldHVybiBmbG9hdHRpbWUoKTsKKyNlbHNlCisgICAgaWYgKHN0cmljdCkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfTm90SW1wbGVtZW50ZWRFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICJubyBzdGVhZHkgY2xvY2sgYXZhaWxhYmxlIG9uIHlvdXIgcGxhdGZvcm0iKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorICAgIHJldHVybiBmbG9hdHRpbWUoKTsKKyNlbmRpZgorfQorCitzdGF0aWMgUHlPYmplY3QgKgordGltZV9zdGVhZHkoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQoreworICAgIHN0YXRpYyBjaGFyICprd2xpc3RbXSA9IHsic3RyaWN0IiwgTlVMTH07CisgICAgaW50IHN0cmljdCA9IDA7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcygKKyAgICAgICAgICAgIGFyZ3MsIGt3YXJncywgInxpOnN0ZWFkeSIsIGt3bGlzdCwKKyAgICAgICAgICAgICZzdHJpY3QpKQorICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIHJldHVybiBzdGVhZHlfY2xvY2soc3RyaWN0KTsKK30KKworUHlEb2NfU1RSVkFSKHN0ZWFkeV9kb2MsCisic3RlYWR5KHN0cmljdD1GYWxzZSkgLT4gZmxvYXRcblwKK1xuXAorUmV0dXJuIHRoZSBjdXJyZW50IHRpbWUgYXMgYSBmbG9hdGluZyBwb2ludCBudW1iZXIgZXhwcmVzc2VkIGluIHNlY29uZHMuXG5cCitUaGlzIGNsb2NrIGFkdmFuY2VzIGF0IGEgc3RlYWR5IHJhdGUgcmVsYXRpdmUgdG8gcmVhbCB0aW1lIGFuZCBpdCBtYXkgbm90XG5cCitiZSBhZGp1c3RlZC4gVGhlIHJlZmVyZW5jZSBwb2ludCBvZiB0aGUgcmV0dXJuZWQgdmFsdWUgaXMgdW5kZWZpbmVkIHNvIG9ubHlcblwKK3RoZSBkaWZmZXJlbmNlIG9mIGNvbnNlY3V0aXZlIGNhbGxzIGlzIHZhbGlkLiIpOworCisKIHN0YXRpYyB2b2lkCiBQeUluaXRfdGltZXpvbmUoUHlPYmplY3QgKm0pIHsKICAgICAvKiBUaGlzIGNvZGUgbW92ZWQgZnJvbSBQeUluaXRfdGltZSB3aG9sZXNhbGUgdG8gYWxsb3cgY2FsbGluZyBpdCBmcm9tCkBAIC03OTEsOCArODc0LDggQEAKICNlbmRpZiAvKiBQWU9TX09TMiAqLwogI2VuZGlmCiAgICAgUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgImRheWxpZ2h0IiwgZGF5bGlnaHQpOwotICAgIG90ejAgPSBQeVVuaWNvZGVfRGVjb2RlRlNEZWZhdWx0QW5kU2l6ZSh0em5hbWVbMF0sIHN0cmxlbih0em5hbWVbMF0pKTsKLSAgICBvdHoxID0gUHlVbmljb2RlX0RlY29kZUZTRGVmYXVsdEFuZFNpemUodHpuYW1lWzFdLCBzdHJsZW4odHpuYW1lWzFdKSk7CisgICAgb3R6MCA9IFB5VW5pY29kZV9EZWNvZGVMb2NhbGUodHpuYW1lWzBdLCAic3Vycm9nYXRlZXNjYXBlIik7CisgICAgb3R6MSA9IFB5VW5pY29kZV9EZWNvZGVMb2NhbGUodHpuYW1lWzFdLCAic3Vycm9nYXRlZXNjYXBlIik7CiAgICAgUHlNb2R1bGVfQWRkT2JqZWN0KG0sICJ0em5hbWUiLCBQeV9CdWlsZFZhbHVlKCIoTk4pIiwgb3R6MCwgb3R6MSkpOwogI2Vsc2UgLyogIUhBVkVfVFpOQU1FIHx8IF9fR0xJQkNfXyB8fCBfX0NZR1dJTl9fKi8KICNpZmRlZiBIQVZFX1NUUlVDVF9UTV9UTV9aT05FCkBAIC04NDMsMTQgKzkyNiwzOCBAQAogICAgICAgICAgICAgICAgICAgICAgICBQeV9CdWlsZFZhbHVlKCIoenopIiwgX3R6bmFtZVswXSwgX3R6bmFtZVsxXSkpOwogI2VuZGlmIC8qIF9fQ1lHV0lOX18gKi8KICNlbmRpZiAvKiAhSEFWRV9UWk5BTUUgfHwgX19HTElCQ19fIHx8IF9fQ1lHV0lOX18qLworCisjaWYgZGVmaW5lZChIQVZFX0NMT0NLX0dFVFRJTUUpIHx8IGRlZmluZWQoSEFWRV9DTE9DS19HRVRSRVMpCisjaWZkZWYgQ0xPQ0tfUkVBTFRJTUUKKyAgICBQeU1vZHVsZV9BZGRJbnRNYWNybyhtLCBDTE9DS19SRUFMVElNRSk7CisjZW5kaWYKKyNpZmRlZiBDTE9DS19NT05PVE9OSUMKKyAgICBQeU1vZHVsZV9BZGRJbnRNYWNybyhtLCBDTE9DS19NT05PVE9OSUMpOworI2VuZGlmCisjaWZkZWYgQ0xPQ0tfTU9OT1RPTklDX1JBVworICAgIFB5TW9kdWxlX0FkZEludE1hY3JvKG0sIENMT0NLX01PTk9UT05JQ19SQVcpOworI2VuZGlmCisjaWZkZWYgQ0xPQ0tfUFJPQ0VTU19DUFVUSU1FX0lECisgICAgUHlNb2R1bGVfQWRkSW50TWFjcm8obSwgQ0xPQ0tfUFJPQ0VTU19DUFVUSU1FX0lEKTsKKyNlbmRpZgorI2lmZGVmIENMT0NLX1RIUkVBRF9DUFVUSU1FX0lECisgICAgUHlNb2R1bGVfQWRkSW50TWFjcm8obSwgQ0xPQ0tfVEhSRUFEX0NQVVRJTUVfSUQpOworI2VuZGlmCisjZW5kaWYgLyogSEFWRV9DTE9DS19HRVRUSU1FICovCiB9CiAKIAogc3RhdGljIFB5TWV0aG9kRGVmIHRpbWVfbWV0aG9kc1tdID0gewogICAgIHsidGltZSIsICAgICAgICAgICAgdGltZV90aW1lLCBNRVRIX05PQVJHUywgdGltZV9kb2N9LAotI2lmZGVmIEhBVkVfQ0xPQ0sKKyNpZiAoZGVmaW5lZChNU19XSU5ET1dTKSAmJiAhZGVmaW5lZChfX0JPUkxBTkRDX18pKSB8fCBkZWZpbmVkKEhBVkVfQ0xPQ0spCiAgICAgeyJjbG9jayIsICAgICAgICAgICB0aW1lX2Nsb2NrLCBNRVRIX05PQVJHUywgY2xvY2tfZG9jfSwKICNlbmRpZgorI2lmZGVmIEhBVkVfQ0xPQ0tfR0VUVElNRQorICAgIHsiY2xvY2tfZ2V0dGltZSIsICAgdGltZV9jbG9ja19nZXR0aW1lLCBNRVRIX1ZBUkFSR1MsIGNsb2NrX2dldHRpbWVfZG9jfSwKKyNlbmRpZgorI2lmZGVmIEhBVkVfQ0xPQ0tfR0VUUkVTCisgICAgeyJjbG9ja19nZXRyZXMiLCAgICB0aW1lX2Nsb2NrX2dldHJlcywgTUVUSF9WQVJBUkdTLCBjbG9ja19nZXRyZXNfZG9jfSwKKyNlbmRpZgogICAgIHsic2xlZXAiLCAgICAgICAgICAgdGltZV9zbGVlcCwgTUVUSF9WQVJBUkdTLCBzbGVlcF9kb2N9LAogICAgIHsiZ210aW1lIiwgICAgICAgICAgdGltZV9nbXRpbWUsIE1FVEhfVkFSQVJHUywgZ210aW1lX2RvY30sCiAgICAgeyJsb2NhbHRpbWUiLCAgICAgICB0aW1lX2xvY2FsdGltZSwgTUVUSF9WQVJBUkdTLCBsb2NhbHRpbWVfZG9jfSwKQEAgLTg1OSw2ICs5NjYsOCBAQAogI2lmZGVmIEhBVkVfTUtUSU1FCiAgICAgeyJta3RpbWUiLCAgICAgICAgICB0aW1lX21rdGltZSwgTUVUSF9PLCBta3RpbWVfZG9jfSwKICNlbmRpZgorICAgIHsic3RlYWR5IiwgICAgICAgICAgKFB5Q0Z1bmN0aW9uKXRpbWVfc3RlYWR5LCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywKKyAgICAgICAgICAgICAgICAgICAgICAgIHN0ZWFkeV9kb2N9LAogI2lmZGVmIEhBVkVfU1RSRlRJTUUKICAgICB7InN0cmZ0aW1lIiwgICAgICAgIHRpbWVfc3RyZnRpbWUsIE1FVEhfVkFSQVJHUywgc3RyZnRpbWVfZG9jfSwKICNlbmRpZgpAQCAtODgxLDcgKzk5MCw3IEBACiBcblwKIFRoZSBvdGhlciByZXByZXNlbnRhdGlvbiBpcyBhIHR1cGxlIG9mIDkgaW50ZWdlcnMgZ2l2aW5nIGxvY2FsIHRpbWUuXG5cCiBUaGUgdHVwbGUgaXRlbXMgYXJlOlxuXAotICB5ZWFyIChmb3VyIGRpZ2l0cywgZS5nLiAxOTk4KVxuXAorICB5ZWFyIChpbmNsdWRpbmcgY2VudHVyeSwgZS5nLiAxOTk4KVxuXAogICBtb250aCAoMS0xMilcblwKICAgZGF5ICgxLTMxKVxuXAogICBob3VycyAoMC0yMylcblwKQEAgLTkzMywzMCArMTA0MiwxMyBAQAogUHlJbml0X3RpbWUodm9pZCkKIHsKICAgICBQeU9iamVjdCAqbTsKLSAgICBjaGFyICpwOwogICAgIG0gPSBQeU1vZHVsZV9DcmVhdGUoJnRpbWVtb2R1bGUpOwogICAgIGlmIChtID09IE5VTEwpCiAgICAgICAgIHJldHVybiBOVUxMOwogCi0gICAgLyogQWNjZXB0IDItZGlnaXQgZGF0ZXMgdW5sZXNzIFBZVEhPTlkySyBpcyBzZXQgYW5kIG5vbi1lbXB0eSAqLwotICAgIHAgPSBQeV9HRVRFTlYoIlBZVEhPTlkySyIpOwotICAgIFB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJhY2NlcHQyZHllYXIiLCAobG9uZykgKCFwIHx8ICEqcCkpOwotICAgIC8qIFNxdWlycmVsIGF3YXkgdGhlIG1vZHVsZSdzIGRpY3Rpb25hcnkgZm9yIHRoZSB5MmsgY2hlY2sgKi8KLSAgICBtb2RkaWN0ID0gUHlNb2R1bGVfR2V0RGljdChtKTsKLSAgICBQeV9JTkNSRUYobW9kZGljdCk7Ci0KICAgICAvKiBTZXQsIG9yIHJlc2V0LCBtb2R1bGUgdmFyaWFibGVzIGxpa2UgdGltZS50aW1lem9uZSAqLwogICAgIFB5SW5pdF90aW1lem9uZShtKTsKIAotI2lmZGVmIE1TX1dJTkRPV1MKLSAgICAvKiBIZWxwZXIgdG8gYWxsb3cgaW50ZXJydXB0cyBmb3IgV2luZG93cy4KLSAgICAgICBJZiBDdHJsK0MgZXZlbnQgZGVsaXZlcmVkIHdoaWxlIG5vdCBzbGVlcGluZwotICAgICAgIGl0IHdpbGwgYmUgaWdub3JlZC4KLSAgICAqLwotICAgIG1haW5fdGhyZWFkID0gUHlUaHJlYWRfZ2V0X3RocmVhZF9pZGVudCgpOwotICAgIGhJbnRlcnJ1cHRFdmVudCA9IENyZWF0ZUV2ZW50KE5VTEwsIFRSVUUsIEZBTFNFLCBOVUxMKTsKLSAgICBTZXRDb25zb2xlQ3RybEhhbmRsZXIoIFB5Q3RybEhhbmRsZXIsIFRSVUUpOwotI2VuZGlmIC8qIE1TX1dJTkRPV1MgKi8KICAgICBpZiAoIWluaXRpYWxpemVkKSB7CiAgICAgICAgIFB5U3RydWN0U2VxdWVuY2VfSW5pdFR5cGUoJlN0cnVjdFRpbWVUeXBlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZzdHJ1Y3RfdGltZV90eXBlX2Rlc2MpOwpAQCAtOTY3LDEyICsxMDU5LDE4IEBACiAgICAgcmV0dXJuIG07CiB9CiAKLXN0YXRpYyBkb3VibGUKK3N0YXRpYyBQeU9iamVjdCoKIGZsb2F0dGltZSh2b2lkKQogewogICAgIF9QeVRpbWVfdGltZXZhbCB0OworICAgIGRvdWJsZSBzZWNzOwogICAgIF9QeVRpbWVfZ2V0dGltZW9mZGF5KCZ0KTsKLSAgICByZXR1cm4gKGRvdWJsZSl0LnR2X3NlYyArIHQudHZfdXNlYyowLjAwMDAwMTsKKyAgICBzZWNzID0gKGRvdWJsZSl0LnR2X3NlYyArIHQudHZfdXNlYyowLjAwMDAwMTsKKyAgICBpZiAoc2VjcyA9PSAwLjApIHsKKyAgICAgICAgUHlFcnJfU2V0RnJvbUVycm5vKFB5RXhjX09TRXJyb3IpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisgICAgcmV0dXJuIFB5RmxvYXRfRnJvbURvdWJsZShzZWNzKTsKIH0KIAogCkBAIC05ODcsMjMgKzEwODUsMjggQEAKICNpZiBkZWZpbmVkKEhBVkVfU0VMRUNUKSAmJiAhZGVmaW5lZChfX0VNWF9fKQogICAgIHN0cnVjdCB0aW1ldmFsIHQ7CiAgICAgZG91YmxlIGZyYWM7CisgICAgaW50IGVycjsKKwogICAgIGZyYWMgPSBmbW9kKHNlY3MsIDEuMCk7CiAgICAgc2VjcyA9IGZsb29yKHNlY3MpOwogICAgIHQudHZfc2VjID0gKGxvbmcpc2VjczsKICAgICB0LnR2X3VzZWMgPSAobG9uZykoZnJhYyoxMDAwMDAwLjApOwogICAgIFB5X0JFR0lOX0FMTE9XX1RIUkVBRFMKLSAgICBpZiAoc2VsZWN0KDAsIChmZF9zZXQgKikwLCAoZmRfc2V0ICopMCwgKGZkX3NldCAqKTAsICZ0KSAhPSAwKSB7CisgICAgZXJyID0gc2VsZWN0KDAsIChmZF9zZXQgKikwLCAoZmRfc2V0ICopMCwgKGZkX3NldCAqKTAsICZ0KTsKKyAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUworICAgIGlmIChlcnIgIT0gMCkgewogI2lmZGVmIEVJTlRSCi0gICAgICAgIGlmIChlcnJubyAhPSBFSU5UUikgewotI2Vsc2UKLSAgICAgICAgaWYgKDEpIHsKKyAgICAgICAgaWYgKGVycm5vID09IEVJTlRSKSB7CisgICAgICAgICAgICBpZiAoUHlFcnJfQ2hlY2tTaWduYWxzKCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICB9CisgICAgICAgIGVsc2UKICNlbmRpZgotICAgICAgICAgICAgUHlfQkxPQ0tfVEhSRUFEUworICAgICAgICB7CiAgICAgICAgICAgICBQeUVycl9TZXRGcm9tRXJybm8oUHlFeGNfSU9FcnJvcik7CiAgICAgICAgICAgICByZXR1cm4gLTE7CiAgICAgICAgIH0KICAgICB9Ci0gICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKICNlbGlmIGRlZmluZWQoX19XQVRDT01DX18pICYmICFkZWZpbmVkKF9fUU5YX18pCiAgICAgLyogWFhYIENhbid0IGludGVycnVwdCB0aGlzIHNsZWVwICovCiAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwpAQCAtMTAyNCwxOCArMTEyNywxNCBAQAogICAgICAgICAgKiBieSBHdWlkbywgb25seSB0aGUgbWFpbiB0aHJlYWQgY2FuIGJlIGludGVycnVwdGVkLgogICAgICAgICAgKi8KICAgICAgICAgdWxfbWlsbGlzID0gKHVuc2lnbmVkIGxvbmcpbWlsbGlzZWNzOwotICAgICAgICBpZiAodWxfbWlsbGlzID09IDAgfHwKLSAgICAgICAgICAgIG1haW5fdGhyZWFkICE9IFB5VGhyZWFkX2dldF90aHJlYWRfaWRlbnQoKSkKKyAgICAgICAgaWYgKHVsX21pbGxpcyA9PSAwIHx8ICFfUHlPU19Jc01haW5UaHJlYWQoKSkKICAgICAgICAgICAgIFNsZWVwKHVsX21pbGxpcyk7CiAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgRFdPUkQgcmM7CisgICAgICAgICAgICBIQU5ETEUgaEludGVycnVwdEV2ZW50ID0gX1B5T1NfU2lnaW50RXZlbnQoKTsKICAgICAgICAgICAgIFJlc2V0RXZlbnQoaEludGVycnVwdEV2ZW50KTsKICAgICAgICAgICAgIHJjID0gV2FpdEZvclNpbmdsZU9iamVjdChoSW50ZXJydXB0RXZlbnQsIHVsX21pbGxpcyk7CiAgICAgICAgICAgICBpZiAocmMgPT0gV0FJVF9PQkpFQ1RfMCkgewotICAgICAgICAgICAgICAgIC8qIFlpZWxkIHRvIG1ha2Ugc3VyZSByZWFsIFB5dGhvbiBzaWduYWwKLSAgICAgICAgICAgICAgICAgKiBoYW5kbGVyIGNhbGxlZC4KLSAgICAgICAgICAgICAgICAgKi8KLSAgICAgICAgICAgICAgICBTbGVlcCgxKTsKICAgICAgICAgICAgICAgICBQeV9CTE9DS19USFJFQURTCiAgICAgICAgICAgICAgICAgZXJybm8gPSBFSU5UUjsKICAgICAgICAgICAgICAgICBQeUVycl9TZXRGcm9tRXJybm8oUHlFeGNfSU9FcnJvcik7CmRpZmYgLS1naXQgYS9Nb2R1bGVzL3RrYXBwaW5pdC5jIGIvTW9kdWxlcy90a2FwcGluaXQuYwppbmRleCBjMWY5N2IwLi4yZWQ4NTk0IDEwMDY0NAotLS0gYS9Nb2R1bGVzL3RrYXBwaW5pdC5jCisrKyBiL01vZHVsZXMvdGthcHBpbml0LmMKQEAgLTI2LDcgKzI2LDkgQEAKIGludAogVGNsX0FwcEluaXQoVGNsX0ludGVycCAqaW50ZXJwKQogeworI2lmZGVmIFdJVEhfTU9SRUJVVFRPTlMKICAgICBUa19XaW5kb3cgbWFpbl93aW5kb3c7CisjZW5kaWYKICAgICBjb25zdCBjaGFyICpfdGtpbnRlcl9za2lwX3RrX2luaXQ7CiAjaWZkZWYgVEtJTlRFUl9QUk9URUNUX0xPQURUSwogICAgIGNvbnN0IGNoYXIgKl90a2ludGVyX3RrX2ZhaWxlZDsKQEAgLTExMSw3ICsxMTMsMTEgQEAKICAgICAgICAgcmV0dXJuIFRDTF9FUlJPUjsKICAgICB9CiAKKyNpZmRlZiBXSVRIX01PUkVCVVRUT05TCiAgICAgbWFpbl93aW5kb3cgPSBUa19NYWluV2luZG93KGludGVycCk7CisjZWxzZQorICAgIFRrX01haW5XaW5kb3coaW50ZXJwKTsKKyNlbmRpZgogCiAjaWZkZWYgVEtfQVFVQQogICAgIFRrTWFjT1NYSW5pdEFwcGxlRXZlbnRzKGludGVycCk7CmRpZmYgLS1naXQgYS9Nb2R1bGVzL3VuaWNvZGVkYXRhLmMgYi9Nb2R1bGVzL3VuaWNvZGVkYXRhLmMKaW5kZXggNTNlNDhkZi4uZWQ3OTE2NSAxMDA2NDQKLS0tIGEvTW9kdWxlcy91bmljb2RlZGF0YS5jCisrKyBiL01vZHVsZXMvdW5pY29kZWRhdGEuYwpAQCAtOTMsMTYgKzkzLDEzIEBACiAKIHN0YXRpYyBQeV9VQ1M0IGdldHVjaGFyKFB5VW5pY29kZU9iamVjdCAqb2JqKQogewotICAgIFB5X1VOSUNPREUgKnYgPSBQeVVuaWNvZGVfQVNfVU5JQ09ERShvYmopOwotCi0gICAgaWYgKFB5VW5pY29kZV9HRVRfU0laRShvYmopID09IDEpCi0gICAgICAgIHJldHVybiAqdjsKLSNpZm5kZWYgUHlfVU5JQ09ERV9XSURFCi0gICAgZWxzZSBpZiAoKFB5VW5pY29kZV9HRVRfU0laRShvYmopID09IDIpICYmCi0gICAgICAgICAgICAgKDB4RDgwMCA8PSB2WzBdICYmIHZbMF0gPD0gMHhEQkZGKSAmJgotICAgICAgICAgICAgICgweERDMDAgPD0gdlsxXSAmJiB2WzFdIDw9IDB4REZGRikpCi0gICAgICAgIHJldHVybiAoKCh2WzBdICYgMHgzRkYpPDwxMCkgfCAodlsxXSAmIDB4M0ZGKSkgKyAweDEwMDAwOwotI2VuZGlmCisgICAgaWYgKFB5VW5pY29kZV9SRUFEWShvYmopKQorICAgICAgICByZXR1cm4gKFB5X1VDUzQpLTE7CisgICAgaWYgKFB5VW5pY29kZV9HRVRfTEVOR1RIKG9iaikgPT0gMSkgeworICAgICAgICBpZiAoUHlVbmljb2RlX1JFQURZKG9iaikpCisgICAgICAgICAgICByZXR1cm4gKFB5X1VDUzQpLTE7CisgICAgICAgIHJldHVybiBQeVVuaWNvZGVfUkVBRF9DSEFSKG9iaiwgMCk7CisgICAgfQogICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsCiAgICAgICAgICAgICAgICAgICAgICJuZWVkIGEgc2luZ2xlIFVuaWNvZGUgY2hhcmFjdGVyIGFzIHBhcmFtZXRlciIpOwogICAgIHJldHVybiAoUHlfVUNTNCktMTsKQEAgLTQ0Myw3ICs0NDAsNyBAQAogICAgICAgIGZyb20gVG9vbHMvdW5pY29kZS9tYWtldW5pY29kZWRhdGEucHksIGl0IHNob3VsZCBub3QgYmUgcG9zc2libGUKICAgICAgICB0byBvdmVyZmxvdyBkZWNvbXBfcHJlZml4LiAqLwogICAgIHByZWZpeF9pbmRleCA9IGRlY29tcF9kYXRhW2luZGV4XSAmIDI1NTsKLSAgICBhc3NlcnQocHJlZml4X2luZGV4IDwgKHNpemVvZihkZWNvbXBfcHJlZml4KS9zaXplb2YoKmRlY29tcF9wcmVmaXgpKSk7CisgICAgYXNzZXJ0KHByZWZpeF9pbmRleCA8IFB5X0FSUkFZX0xFTkdUSChkZWNvbXBfcHJlZml4KSk7CiAKICAgICAvKiBjb3B5IHByZWZpeCAqLwogICAgIGkgPSBzdHJsZW4oZGVjb21wX3ByZWZpeFtwcmVmaXhfaW5kZXhdKTsKQEAgLTQ5OCwzNiArNDk1LDQ0IEBACiBuZmRfbmZrZChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmlucHV0LCBpbnQgaykKIHsKICAgICBQeU9iamVjdCAqcmVzdWx0OwotICAgIFB5X1VOSUNPREUgKmksICplbmQsICpvOworICAgIFB5X1VDUzQgKm91dHB1dDsKKyAgICBQeV9zc2l6ZV90IGksIG8sIG9zaXplOworICAgIGludCBraW5kOworICAgIHZvaWQgKmRhdGE7CiAgICAgLyogTG9uZ2VzdCBkZWNvbXBvc2l0aW9uIGluIFVuaWNvZGUgMy4yOiBVK0ZERkEgKi8KLSAgICBQeV9VTklDT0RFIHN0YWNrWzIwXTsKKyAgICBQeV9VQ1M0IHN0YWNrWzIwXTsKICAgICBQeV9zc2l6ZV90IHNwYWNlLCBpc2l6ZTsKICAgICBpbnQgaW5kZXgsIHByZWZpeCwgY291bnQsIHN0YWNrcHRyOwogICAgIHVuc2lnbmVkIGNoYXIgcHJldiwgY3VyOwogCiAgICAgc3RhY2twdHIgPSAwOwotICAgIGlzaXplID0gUHlVbmljb2RlX0dFVF9TSVpFKGlucHV0KTsKKyAgICBpc2l6ZSA9IFB5VW5pY29kZV9HRVRfTEVOR1RIKGlucHV0KTsKICAgICAvKiBPdmVyYWxsb2NhdGUgYXRtb3N0IDEwIGNoYXJhY3RlcnMuICovCiAgICAgc3BhY2UgPSAoaXNpemUgPiAxMCA/IDEwIDogaXNpemUpICsgaXNpemU7Ci0gICAgcmVzdWx0ID0gUHlVbmljb2RlX0Zyb21Vbmljb2RlKE5VTEwsIHNwYWNlKTsKLSAgICBpZiAoIXJlc3VsdCkKKyAgICBvc2l6ZSA9IHNwYWNlOworICAgIG91dHB1dCA9IFB5TWVtX01hbGxvYyhzcGFjZSAqIHNpemVvZihQeV9VQ1M0KSk7CisgICAgaWYgKCFvdXRwdXQpIHsKKyAgICAgICAgUHlFcnJfTm9NZW1vcnkoKTsKICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgaSA9IFB5VW5pY29kZV9BU19VTklDT0RFKGlucHV0KTsKLSAgICBlbmQgPSBpICsgaXNpemU7Ci0gICAgbyA9IFB5VW5pY29kZV9BU19VTklDT0RFKHJlc3VsdCk7CisgICAgfQorICAgIGkgPSBvID0gMDsKKyAgICBraW5kID0gUHlVbmljb2RlX0tJTkQoaW5wdXQpOworICAgIGRhdGEgPSBQeVVuaWNvZGVfREFUQShpbnB1dCk7CiAKLSAgICB3aGlsZSAoaSA8IGVuZCkgewotICAgICAgICBzdGFja1tzdGFja3B0cisrXSA9ICppKys7CisgICAgd2hpbGUgKGkgPCBpc2l6ZSkgeworICAgICAgICBzdGFja1tzdGFja3B0cisrXSA9IFB5VW5pY29kZV9SRUFEKGtpbmQsIGRhdGEsIGkrKyk7CiAgICAgICAgIHdoaWxlKHN0YWNrcHRyKSB7Ci0gICAgICAgICAgICBQeV9VTklDT0RFIGNvZGUgPSBzdGFja1stLXN0YWNrcHRyXTsKKyAgICAgICAgICAgIFB5X1VDUzQgY29kZSA9IHN0YWNrWy0tc3RhY2twdHJdOwogICAgICAgICAgICAgLyogSGFuZ3VsIERlY29tcG9zaXRpb24gYWRkcyB0aHJlZSBjaGFyYWN0ZXJzIGluCiAgICAgICAgICAgICAgICBhIHNpbmdsZSBzdGVwLCBzbyB3ZSBuZWVkIGF0bGVhc3QgdGhhdCBtdWNoIHJvb20uICovCiAgICAgICAgICAgICBpZiAoc3BhY2UgPCAzKSB7Ci0gICAgICAgICAgICAgICAgUHlfc3NpemVfdCBuZXdzaXplID0gUHlVbmljb2RlX0dFVF9TSVpFKHJlc3VsdCkgKyAxMDsKKyAgICAgICAgICAgICAgICBvc2l6ZSArPSAxMDsKICAgICAgICAgICAgICAgICBzcGFjZSArPSAxMDsKLSAgICAgICAgICAgICAgICBpZiAoUHlVbmljb2RlX1Jlc2l6ZSgmcmVzdWx0LCBuZXdzaXplKSA9PSAtMSkKKyAgICAgICAgICAgICAgICBvdXRwdXQgPSBQeU1lbV9SZWFsbG9jKG91dHB1dCwgb3NpemUqc2l6ZW9mKFB5X1VDUzQpKTsKKyAgICAgICAgICAgICAgICBpZiAob3V0cHV0ID09IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgUHlFcnJfTm9NZW1vcnkoKTsKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgICAgICAgICAgbyA9IFB5VW5pY29kZV9BU19VTklDT0RFKHJlc3VsdCkgKyBuZXdzaXplIC0gc3BhY2U7CisgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQogICAgICAgICAgICAgLyogSGFuZ3VsIERlY29tcG9zaXRpb24uICovCiAgICAgICAgICAgICBpZiAoU0Jhc2UgPD0gY29kZSAmJiBjb2RlIDwgKFNCYXNlK1NDb3VudCkpIHsKQEAgLTUzNSwxMSArNTQwLDExIEBACiAgICAgICAgICAgICAgICAgaW50IEwgPSBMQmFzZSArIFNJbmRleCAvIE5Db3VudDsKICAgICAgICAgICAgICAgICBpbnQgViA9IFZCYXNlICsgKFNJbmRleCAlIE5Db3VudCkgLyBUQ291bnQ7CiAgICAgICAgICAgICAgICAgaW50IFQgPSBUQmFzZSArIFNJbmRleCAlIFRDb3VudDsKLSAgICAgICAgICAgICAgICAqbysrID0gTDsKLSAgICAgICAgICAgICAgICAqbysrID0gVjsKKyAgICAgICAgICAgICAgICBvdXRwdXRbbysrXSA9IEw7CisgICAgICAgICAgICAgICAgb3V0cHV0W28rK10gPSBWOwogICAgICAgICAgICAgICAgIHNwYWNlIC09IDI7CiAgICAgICAgICAgICAgICAgaWYgKFQgIT0gVEJhc2UpIHsKLSAgICAgICAgICAgICAgICAgICAgKm8rKyA9IFQ7CisgICAgICAgICAgICAgICAgICAgIG91dHB1dFtvKytdID0gVDsKICAgICAgICAgICAgICAgICAgICAgc3BhY2UgLS07CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwpAQCAtNTU5LDcgKzU2NCw3IEBACiAgICAgICAgICAgICAvKiBDb3B5IGNoYXJhY3RlciBpZiBpdCBpcyBub3QgZGVjb21wb3NhYmxlLCBvciBoYXMgYQogICAgICAgICAgICAgICAgY29tcGF0aWJpbGl0eSBkZWNvbXBvc2l0aW9uLCBidXQgd2UgZG8gTkZELiAqLwogICAgICAgICAgICAgaWYgKCFjb3VudCB8fCAocHJlZml4ICYmICFrKSkgewotICAgICAgICAgICAgICAgICpvKysgPSBjb2RlOworICAgICAgICAgICAgICAgIG91dHB1dFtvKytdID0gY29kZTsKICAgICAgICAgICAgICAgICBzcGFjZS0tOwogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgfQpAQCAtNTcyLDE1ICs1NzcsMjAgQEAKICAgICAgICAgfQogICAgIH0KIAotICAgIC8qIERyb3Agb3ZlcmFsbG9jYXRpb24uIENhbm5vdCBmYWlsLiAqLwotICAgIFB5VW5pY29kZV9SZXNpemUoJnJlc3VsdCwgUHlVbmljb2RlX0dFVF9TSVpFKHJlc3VsdCkgLSBzcGFjZSk7CisgICAgcmVzdWx0ID0gUHlVbmljb2RlX0Zyb21LaW5kQW5kRGF0YShQeVVuaWNvZGVfNEJZVEVfS0lORCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91dHB1dCwgbyk7CisgICAgUHlNZW1fRnJlZShvdXRwdXQpOworICAgIGlmICghcmVzdWx0KQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAvKiByZXN1bHQgaXMgZ3VhcmFudGVlZCB0byBiZSByZWFkeSwgYXMgaXQgaXMgY29tcGFjdC4gKi8KKyAgICBraW5kID0gUHlVbmljb2RlX0tJTkQocmVzdWx0KTsKKyAgICBkYXRhID0gUHlVbmljb2RlX0RBVEEocmVzdWx0KTsKIAogICAgIC8qIFNvcnQgY2Fub25pY2FsbHkuICovCi0gICAgaSA9IFB5VW5pY29kZV9BU19VTklDT0RFKHJlc3VsdCk7Ci0gICAgcHJldiA9IF9nZXRyZWNvcmRfZXgoKmkpLT5jb21iaW5pbmc7Ci0gICAgZW5kID0gaSArIFB5VW5pY29kZV9HRVRfU0laRShyZXN1bHQpOwotICAgIGZvciAoaSsrOyBpIDwgZW5kOyBpKyspIHsKLSAgICAgICAgY3VyID0gX2dldHJlY29yZF9leCgqaSktPmNvbWJpbmluZzsKKyAgICBpID0gMDsKKyAgICBwcmV2ID0gX2dldHJlY29yZF9leChQeVVuaWNvZGVfUkVBRChraW5kLCBkYXRhLCBpKSktPmNvbWJpbmluZzsKKyAgICBmb3IgKGkrKzsgaSA8IFB5VW5pY29kZV9HRVRfTEVOR1RIKHJlc3VsdCk7IGkrKykgeworICAgICAgICBjdXIgPSBfZ2V0cmVjb3JkX2V4KFB5VW5pY29kZV9SRUFEKGtpbmQsIGRhdGEsIGkpKS0+Y29tYmluaW5nOwogICAgICAgICBpZiAocHJldiA9PSAwIHx8IGN1ciA9PSAwIHx8IHByZXYgPD0gY3VyKSB7CiAgICAgICAgICAgICBwcmV2ID0gY3VyOwogICAgICAgICAgICAgY29udGludWU7CkBAIC01ODgsMzEgKzU5OCwzMiBAQAogICAgICAgICAvKiBOb24tY2Fub25pY2FsIG9yZGVyLiBOZWVkIHRvIHN3aXRjaCAqaSB3aXRoIHByZXZpb3VzLiAqLwogICAgICAgICBvID0gaSAtIDE7CiAgICAgICAgIHdoaWxlICgxKSB7Ci0gICAgICAgICAgICBQeV9VTklDT0RFIHRtcCA9IG9bMV07Ci0gICAgICAgICAgICBvWzFdID0gb1swXTsKLSAgICAgICAgICAgIG9bMF0gPSB0bXA7CisgICAgICAgICAgICBQeV9VQ1M0IHRtcCA9IFB5VW5pY29kZV9SRUFEKGtpbmQsIGRhdGEsIG8rMSk7CisgICAgICAgICAgICBQeVVuaWNvZGVfV1JJVEUoa2luZCwgZGF0YSwgbysxLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9SRUFEKGtpbmQsIGRhdGEsIG8pKTsKKyAgICAgICAgICAgIFB5VW5pY29kZV9XUklURShraW5kLCBkYXRhLCBvLCB0bXApOwogICAgICAgICAgICAgby0tOwotICAgICAgICAgICAgaWYgKG8gPCBQeVVuaWNvZGVfQVNfVU5JQ09ERShyZXN1bHQpKQorICAgICAgICAgICAgaWYgKG8gPCAwKQogICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgcHJldiA9IF9nZXRyZWNvcmRfZXgoKm8pLT5jb21iaW5pbmc7CisgICAgICAgICAgICBwcmV2ID0gX2dldHJlY29yZF9leChQeVVuaWNvZGVfUkVBRChraW5kLCBkYXRhLCBvKSktPmNvbWJpbmluZzsKICAgICAgICAgICAgIGlmIChwcmV2ID09IDAgfHwgcHJldiA8PSBjdXIpCiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KLSAgICAgICAgcHJldiA9IF9nZXRyZWNvcmRfZXgoKmkpLT5jb21iaW5pbmc7CisgICAgICAgIHByZXYgPSBfZ2V0cmVjb3JkX2V4KFB5VW5pY29kZV9SRUFEKGtpbmQsIGRhdGEsIGkpKS0+Y29tYmluaW5nOwogICAgIH0KICAgICByZXR1cm4gcmVzdWx0OwogfQogCiBzdGF0aWMgaW50Ci1maW5kX25mY19pbmRleChQeU9iamVjdCAqc2VsZiwgc3RydWN0IHJlaW5kZXgqIG5mYywgUHlfVU5JQ09ERSBjb2RlKQorZmluZF9uZmNfaW5kZXgoUHlPYmplY3QgKnNlbGYsIHN0cnVjdCByZWluZGV4KiBuZmMsIFB5X1VDUzQgY29kZSkKIHsKLSAgICBpbnQgaW5kZXg7CisgICAgdW5zaWduZWQgaW50IGluZGV4OwogICAgIGZvciAoaW5kZXggPSAwOyBuZmNbaW5kZXhdLnN0YXJ0OyBpbmRleCsrKSB7Ci0gICAgICAgIGludCBzdGFydCA9IG5mY1tpbmRleF0uc3RhcnQ7CisgICAgICAgIHVuc2lnbmVkIGludCBzdGFydCA9IG5mY1tpbmRleF0uc3RhcnQ7CiAgICAgICAgIGlmIChjb2RlIDwgc3RhcnQpCiAgICAgICAgICAgICByZXR1cm4gLTE7CiAgICAgICAgIGlmIChjb2RlIDw9IHN0YXJ0ICsgbmZjW2luZGV4XS5jb3VudCkgewotICAgICAgICAgICAgaW50IGRlbHRhID0gY29kZSAtIHN0YXJ0OworICAgICAgICAgICAgdW5zaWduZWQgaW50IGRlbHRhID0gY29kZSAtIHN0YXJ0OwogICAgICAgICAgICAgcmV0dXJuIG5mY1tpbmRleF0uaW5kZXggKyBkZWx0YTsKICAgICAgICAgfQogICAgIH0KQEAgLTYyMywyNyArNjM0LDM2IEBACiBuZmNfbmZrYyhQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmlucHV0LCBpbnQgaykKIHsKICAgICBQeU9iamVjdCAqcmVzdWx0OwotICAgIFB5X1VOSUNPREUgKmksICppMSwgKm8sICplbmQ7CisgICAgaW50IGtpbmQ7CisgICAgdm9pZCAqZGF0YTsKKyAgICBQeV9VQ1M0ICpvdXRwdXQ7CisgICAgUHlfc3NpemVfdCBpLCBpMSwgbywgbGVuOwogICAgIGludCBmLGwsaW5kZXgsaW5kZXgxLGNvbWI7Ci0gICAgUHlfVU5JQ09ERSBjb2RlOwotICAgIFB5X1VOSUNPREUgKnNraXBwZWRbMjBdOworICAgIFB5X1VDUzQgY29kZTsKKyAgICBQeV9zc2l6ZV90IHNraXBwZWRbMjBdOwogICAgIGludCBjc2tpcHBlZCA9IDA7CiAKICAgICByZXN1bHQgPSBuZmRfbmZrZChzZWxmLCBpbnB1dCwgayk7CiAgICAgaWYgKCFyZXN1bHQpCiAgICAgICAgIHJldHVybiBOVUxMOworICAgIC8qIHJlc3VsdCB3aWxsIGJlICJyZWFkeSIuICovCisgICAga2luZCA9IFB5VW5pY29kZV9LSU5EKHJlc3VsdCk7CisgICAgZGF0YSA9IFB5VW5pY29kZV9EQVRBKHJlc3VsdCk7CisgICAgbGVuID0gUHlVbmljb2RlX0dFVF9MRU5HVEgocmVzdWx0KTsKIAotICAgIC8qIFdlIGFyZSBnb2luZyB0byBtb2RpZnkgcmVzdWx0IGluLXBsYWNlLgotICAgICAgIElmIG5mZF9uZmtkIGlzIGNoYW5nZWQgdG8gc29tZXRpbWVzIHJldHVybiB0aGUgaW5wdXQsCi0gICAgICAgdGhpcyBjb2RlIG5lZWRzIHRvIGJlIHJldmlld2VkLiAqLwotICAgIGFzc2VydChyZXN1bHQgIT0gaW5wdXQpOwotCi0gICAgaSA9IFB5VW5pY29kZV9BU19VTklDT0RFKHJlc3VsdCk7Ci0gICAgZW5kID0gaSArIFB5VW5pY29kZV9HRVRfU0laRShyZXN1bHQpOwotICAgIG8gPSBQeVVuaWNvZGVfQVNfVU5JQ09ERShyZXN1bHQpOworICAgIC8qIFdlIGFsbG9jYXRlIGEgYnVmZmVyIGZvciB0aGUgb3V0cHV0LgorICAgICAgIElmIHdlIGZpbmQgdGhhdCB3ZSBtYWRlIG5vIGNoYW5nZXMsIHdlIHN0aWxsIHJldHVybgorICAgICAgIHRoZSBORkQgcmVzdWx0LiAqLworICAgIG91dHB1dCA9IFB5TWVtX01hbGxvYyhsZW4gKiBzaXplb2YoUHlfVUNTNCkpOworICAgIGlmICghb3V0cHV0KSB7CisgICAgICAgIFB5RXJyX05vTWVtb3J5KCk7CisgICAgICAgIFB5X0RFQ1JFRihyZXN1bHQpOworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisgICAgaSA9IG8gPSAwOwogCiAgIGFnYWluOgotICAgIHdoaWxlIChpIDwgZW5kKSB7CisgICAgd2hpbGUgKGkgPCBsZW4pIHsKICAgICAgIGZvciAoaW5kZXggPSAwOyBpbmRleCA8IGNza2lwcGVkOyBpbmRleCsrKSB7CiAgICAgICAgICAgaWYgKHNraXBwZWRbaW5kZXhdID09IGkpIHsKICAgICAgICAgICAgICAgLyogKmkgY2hhcmFjdGVyIGlzIHNraXBwZWQuCkBAIC02NTYsMzMgKzY3Niw0MSBAQAogICAgICAgfQogICAgICAgLyogSGFuZ3VsIENvbXBvc2l0aW9uLiBXZSBkb24ndCBuZWVkIHRvIGNoZWNrIGZvciA8TFYsVD4KICAgICAgICAgIHBhaXJzLCBzaW5jZSB3ZSBhbHdheXMgaGF2ZSBkZWNvbXBvc2VkIGRhdGEuICovCi0gICAgICBpZiAoTEJhc2UgPD0gKmkgJiYgKmkgPCAoTEJhc2UrTENvdW50KSAmJgotICAgICAgICAgIGkgKyAxIDwgZW5kICYmCi0gICAgICAgICAgVkJhc2UgPD0gaVsxXSAmJiBpWzFdIDw9IChWQmFzZStWQ291bnQpKSB7CisgICAgICBjb2RlID0gUHlVbmljb2RlX1JFQUQoa2luZCwgZGF0YSwgaSk7CisgICAgICBpZiAoTEJhc2UgPD0gY29kZSAmJiBjb2RlIDwgKExCYXNlK0xDb3VudCkgJiYKKyAgICAgICAgICBpICsgMSA8IGxlbiAmJgorICAgICAgICAgIFZCYXNlIDw9IFB5VW5pY29kZV9SRUFEKGtpbmQsIGRhdGEsIGkrMSkgJiYKKyAgICAgICAgICBQeVVuaWNvZGVfUkVBRChraW5kLCBkYXRhLCBpKzEpIDw9IChWQmFzZStWQ291bnQpKSB7CiAgICAgICAgICAgaW50IExJbmRleCwgVkluZGV4OwotICAgICAgICAgIExJbmRleCA9IGlbMF0gLSBMQmFzZTsKLSAgICAgICAgICBWSW5kZXggPSBpWzFdIC0gVkJhc2U7CisgICAgICAgICAgTEluZGV4ID0gY29kZSAtIExCYXNlOworICAgICAgICAgIFZJbmRleCA9IFB5VW5pY29kZV9SRUFEKGtpbmQsIGRhdGEsIGkrMSkgLSBWQmFzZTsKICAgICAgICAgICBjb2RlID0gU0Jhc2UgKyAoTEluZGV4KlZDb3VudCtWSW5kZXgpKlRDb3VudDsKICAgICAgICAgICBpKz0yOwotICAgICAgICAgIGlmIChpIDwgZW5kICYmCi0gICAgICAgICAgICAgIFRCYXNlIDw9ICppICYmICppIDw9IChUQmFzZStUQ291bnQpKSB7Ci0gICAgICAgICAgICAgIGNvZGUgKz0gKmktVEJhc2U7CisgICAgICAgICAgaWYgKGkgPCBsZW4gJiYKKyAgICAgICAgICAgICAgVEJhc2UgPD0gUHlVbmljb2RlX1JFQUQoa2luZCwgZGF0YSwgaSkgJiYKKyAgICAgICAgICAgICAgUHlVbmljb2RlX1JFQUQoa2luZCwgZGF0YSwgaSkgPD0gKFRCYXNlK1RDb3VudCkpIHsKKyAgICAgICAgICAgICAgY29kZSArPSBQeVVuaWNvZGVfUkVBRChraW5kLCBkYXRhLCBpKS1UQmFzZTsKICAgICAgICAgICAgICAgaSsrOwogICAgICAgICAgIH0KLSAgICAgICAgICAqbysrID0gY29kZTsKKyAgICAgICAgICBvdXRwdXRbbysrXSA9IGNvZGU7CiAgICAgICAgICAgY29udGludWU7CiAgICAgICB9CiAKLSAgICAgIGYgPSBmaW5kX25mY19pbmRleChzZWxmLCBuZmNfZmlyc3QsICppKTsKKyAgICAgIC8qIGNvZGUgaXMgc3RpbGwgaW5wdXRbaV0gaGVyZSAqLworICAgICAgZiA9IGZpbmRfbmZjX2luZGV4KHNlbGYsIG5mY19maXJzdCwgY29kZSk7CiAgICAgICBpZiAoZiA9PSAtMSkgewotICAgICAgICAgICpvKysgPSAqaSsrOworICAgICAgICAgIG91dHB1dFtvKytdID0gY29kZTsKKyAgICAgICAgICBpKys7CiAgICAgICAgICAgY29udGludWU7CiAgICAgICB9CiAgICAgICAvKiBGaW5kIG5leHQgdW5ibG9ja2VkIGNoYXJhY3Rlci4gKi8KICAgICAgIGkxID0gaSsxOwogICAgICAgY29tYiA9IDA7Ci0gICAgICB3aGlsZSAoaTEgPCBlbmQpIHsKLSAgICAgICAgICBpbnQgY29tYjEgPSBfZ2V0cmVjb3JkX2V4KCppMSktPmNvbWJpbmluZzsKKyAgICAgIC8qIG91dHB1dCBiYXNlIGNoYXJhY3RlciBmb3Igbm93OyBtaWdodCBiZSB1cGRhdGVkIGxhdGVyLiAqLworICAgICAgb3V0cHV0W29dID0gUHlVbmljb2RlX1JFQUQoa2luZCwgZGF0YSwgaSk7CisgICAgICB3aGlsZSAoaTEgPCBsZW4pIHsKKyAgICAgICAgICBQeV9VQ1M0IGNvZGUxID0gUHlVbmljb2RlX1JFQUQoa2luZCwgZGF0YSwgaTEpOworICAgICAgICAgIGludCBjb21iMSA9IF9nZXRyZWNvcmRfZXgoY29kZTEpLT5jb21iaW5pbmc7CiAgICAgICAgICAgaWYgKGNvbWIpIHsKICAgICAgICAgICAgICAgaWYgKGNvbWIxID09IDApCiAgICAgICAgICAgICAgICAgICBicmVhazsKQEAgLTY5Miw4ICs3MjAsOCBAQAogICAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICAgIH0KICAgICAgICAgICB9Ci0gICAgICAgICAgbCA9IGZpbmRfbmZjX2luZGV4KHNlbGYsIG5mY19sYXN0LCAqaTEpOwotICAgICAgICAgIC8qICppMSBjYW5ub3QgYmUgY29tYmluZWQgd2l0aCAqaS4gSWYgKmkxCisgICAgICAgICAgbCA9IGZpbmRfbmZjX2luZGV4KHNlbGYsIG5mY19sYXN0LCBjb2RlMSk7CisgICAgICAgICAgLyogaTEgY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggaS4gSWYgaTEKICAgICAgICAgICAgICBpcyBhIHN0YXJ0ZXIsIHdlIGRvbid0IG5lZWQgdG8gbG9vayBmdXJ0aGVyLgogICAgICAgICAgICAgIE90aGVyd2lzZSwgcmVjb3JkIHRoZSBjb21iaW5pbmcgY2xhc3MuICovCiAgICAgICAgICAgaWYgKGwgPT0gLTEpIHsKQEAgLTcxMiwxOSArNzQwLDI4IEBACiAgICAgICAgICAgICAgIGdvdG8gbm90X2NvbWJpbmFibGU7CiAKICAgICAgICAgICAvKiBSZXBsYWNlIHRoZSBvcmlnaW5hbCBjaGFyYWN0ZXIuICovCi0gICAgICAgICAgKmkgPSBjb2RlOworICAgICAgICAgIG91dHB1dFtvXSA9IGNvZGU7CiAgICAgICAgICAgLyogTWFyayB0aGUgc2Vjb25kIGNoYXJhY3RlciB1bnVzZWQuICovCiAgICAgICAgICAgYXNzZXJ0KGNza2lwcGVkIDwgMjApOwogICAgICAgICAgIHNraXBwZWRbY3NraXBwZWQrK10gPSBpMTsKICAgICAgICAgICBpMSsrOwotICAgICAgICAgIGYgPSBmaW5kX25mY19pbmRleChzZWxmLCBuZmNfZmlyc3QsICppKTsKKyAgICAgICAgICBmID0gZmluZF9uZmNfaW5kZXgoc2VsZiwgbmZjX2ZpcnN0LCBvdXRwdXRbb10pOwogICAgICAgICAgIGlmIChmID09IC0xKQogICAgICAgICAgICAgICBicmVhazsKICAgICAgIH0KLSAgICAgICpvKysgPSAqaSsrOworICAgICAgLyogT3V0cHV0IGNoYXJhY3RlciB3YXMgYWxyZWFkeSB3cml0dGVuLgorICAgICAgICAgSnVzdCBhZHZhbmNlIHRoZSBpbmRpY2VzLiAqLworICAgICAgbysrOyBpKys7CiAgICAgfQotICAgIGlmIChvICE9IGVuZCkKLSAgICAgICAgUHlVbmljb2RlX1Jlc2l6ZSgmcmVzdWx0LCBvIC0gUHlVbmljb2RlX0FTX1VOSUNPREUocmVzdWx0KSk7CisgICAgaWYgKG8gPT0gbGVuKSB7CisgICAgICAgIC8qIE5vIGNoYW5nZXMuIFJldHVybiBvcmlnaW5hbCBzdHJpbmcuICovCisgICAgICAgIFB5TWVtX0ZyZWUob3V0cHV0KTsKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9CisgICAgUHlfREVDUkVGKHJlc3VsdCk7CisgICAgcmVzdWx0ID0gUHlVbmljb2RlX0Zyb21LaW5kQW5kRGF0YShQeVVuaWNvZGVfNEJZVEVfS0lORCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91dHB1dCwgbyk7CisgICAgUHlNZW1fRnJlZShvdXRwdXQpOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKQEAgLTczMiw3ICs3NjksOSBAQAogc3RhdGljIGludAogaXNfbm9ybWFsaXplZChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmlucHV0LCBpbnQgbmZjLCBpbnQgaykKIHsKLSAgICBQeV9VTklDT0RFICppLCAqZW5kOworICAgIFB5X3NzaXplX3QgaSwgbGVuOworICAgIGludCBraW5kOworICAgIHZvaWQgKmRhdGE7CiAgICAgdW5zaWduZWQgY2hhciBwcmV2X2NvbWJpbmluZyA9IDAsIHF1aWNrY2hlY2tfbWFzazsKIAogICAgIC8qIEFuIG9sZGVyIHZlcnNpb24gb2YgdGhlIGRhdGFiYXNlIGlzIHJlcXVlc3RlZCwgcXVpY2tjaGVja3MgbXVzdCBiZQpAQCAtNzQ0LDEwICs3ODMsMTMgQEAKICAgICAgICBhcyBkZXNjcmliZWQgaW4gaHR0cDovL3VuaWNvZGUub3JnL3JlcG9ydHMvdHIxNS8jQW5uZXg4LiAqLwogICAgIHF1aWNrY2hlY2tfbWFzayA9IDMgPDwgKChuZmMgPyA0IDogMCkgKyAoayA/IDIgOiAwKSk7CiAKLSAgICBpID0gUHlVbmljb2RlX0FTX1VOSUNPREUoaW5wdXQpOwotICAgIGVuZCA9IGkgKyBQeVVuaWNvZGVfR0VUX1NJWkUoaW5wdXQpOwotICAgIHdoaWxlIChpIDwgZW5kKSB7Ci0gICAgICAgIGNvbnN0IF9QeVVuaWNvZGVfRGF0YWJhc2VSZWNvcmQgKnJlY29yZCA9IF9nZXRyZWNvcmRfZXgoKmkrKyk7CisgICAgaSA9IDA7CisgICAga2luZCA9IFB5VW5pY29kZV9LSU5EKGlucHV0KTsKKyAgICBkYXRhID0gUHlVbmljb2RlX0RBVEEoaW5wdXQpOworICAgIGxlbiA9IFB5VW5pY29kZV9HRVRfTEVOR1RIKGlucHV0KTsKKyAgICB3aGlsZSAoaSA8IGxlbikgeworICAgICAgICBQeV9VQ1M0IGNoID0gUHlVbmljb2RlX1JFQUQoa2luZCwgZGF0YSwgaSsrKTsKKyAgICAgICAgY29uc3QgX1B5VW5pY29kZV9EYXRhYmFzZVJlY29yZCAqcmVjb3JkID0gX2dldHJlY29yZF9leChjaCk7CiAgICAgICAgIHVuc2lnbmVkIGNoYXIgY29tYmluaW5nID0gcmVjb3JkLT5jb21iaW5pbmc7CiAgICAgICAgIHVuc2lnbmVkIGNoYXIgcXVpY2tjaGVjayA9IHJlY29yZC0+bm9ybWFsaXphdGlvbl9xdWlja19jaGVjazsKIApAQCAtNzc2LDcgKzgxOCwxMCBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICZmb3JtLCAmUHlVbmljb2RlX1R5cGUsICZpbnB1dCkpCiAgICAgICAgIHJldHVybiBOVUxMOwogCi0gICAgaWYgKFB5VW5pY29kZV9HZXRTaXplKGlucHV0KSA9PSAwKSB7CisgICAgaWYgKFB5VW5pY29kZV9SRUFEWShpbnB1dCkgPT0gLTEpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgaWYgKFB5VW5pY29kZV9HRVRfTEVOR1RIKGlucHV0KSA9PSAwKSB7CiAgICAgICAgIC8qIFNwZWNpYWwgY2FzZSBlbXB0eSBpbnB1dCBzdHJpbmdzLCBzaW5jZSByZXNpemluZwogICAgICAgICAgICB0aGVtICBsYXRlciB3b3VsZCBjYXVzZSBpbnRlcm5hbCBlcnJvcnMuICovCiAgICAgICAgIFB5X0lOQ1JFRihpbnB1dCk7CkBAIC04NzYsMTUgKzkyMSwyNSBAQAogewogICAgIHJldHVybgogICAgICAgICAoMHgzNDAwIDw9IGNvZGUgJiYgY29kZSA8PSAweDREQjUpICAgfHwgLyogQ0pLIElkZW9ncmFwaCBFeHRlbnNpb24gQSAqLwotICAgICAgICAoMHg0RTAwIDw9IGNvZGUgJiYgY29kZSA8PSAweDlGQ0IpICAgfHwgLyogQ0pLIElkZW9ncmFwaCAqLworICAgICAgICAoMHg0RTAwIDw9IGNvZGUgJiYgY29kZSA8PSAweDlGQ0MpICAgfHwgLyogQ0pLIElkZW9ncmFwaCAqLwogICAgICAgICAoMHgyMDAwMCA8PSBjb2RlICYmIGNvZGUgPD0gMHgyQTZENikgfHwgLyogQ0pLIElkZW9ncmFwaCBFeHRlbnNpb24gQiAqLwogICAgICAgICAoMHgyQTcwMCA8PSBjb2RlICYmIGNvZGUgPD0gMHgyQjczNCkgfHwgLyogQ0pLIElkZW9ncmFwaCBFeHRlbnNpb24gQyAqLwogICAgICAgICAoMHgyQjc0MCA8PSBjb2RlICYmIGNvZGUgPD0gMHgyQjgxRCk7ICAgLyogQ0pLIElkZW9ncmFwaCBFeHRlbnNpb24gRCAqLwogfQogCisvKiBtYWNyb3MgdXNlZCB0byBkZXRlcm1pbmUgaWYgdGhlIGdpdmVuIGNvZGVwb2ludCBpcyBpbiB0aGUgUFVBIHJhbmdlIHRoYXQKKyAqIHdlIGFyZSB1c2luZyB0byBzdG9yZSBhbGlhc2VzIGFuZCBuYW1lZCBzZXF1ZW5jZXMgKi8KKyNkZWZpbmUgSVNfQUxJQVMoY3ApICgoY3AgPj0gYWxpYXNlc19zdGFydCkgJiYgKGNwIDwgYWxpYXNlc19lbmQpKQorI2RlZmluZSBJU19OQU1FRF9TRVEoY3ApICgoY3AgPj0gbmFtZWRfc2VxdWVuY2VzX3N0YXJ0KSAmJiBcCisgICAgICAgICAgICAgICAgICAgICAgICAgIChjcCA8IG5hbWVkX3NlcXVlbmNlc19lbmQpKQorCiBzdGF0aWMgaW50Ci1fZ2V0dWNuYW1lKFB5T2JqZWN0ICpzZWxmLCBQeV9VQ1M0IGNvZGUsIGNoYXIqIGJ1ZmZlciwgaW50IGJ1ZmxlbikKK19nZXR1Y25hbWUoUHlPYmplY3QgKnNlbGYsIFB5X1VDUzQgY29kZSwgY2hhciogYnVmZmVyLCBpbnQgYnVmbGVuLAorICAgICAgICAgICBpbnQgd2l0aF9hbGlhc19hbmRfc2VxKQogeworICAgIC8qIEZpbmQgdGhlIG5hbWUgYXNzb2NpYXRlZCB3aXRoIHRoZSBnaXZlbiBjb2RlcG9pbnQuCisgICAgICogSWYgd2l0aF9hbGlhc19hbmRfc2VxIGlzIDEsIGNoZWNrIGZvciBuYW1lcyBpbiB0aGUgUHJpdmF0ZSBVc2UgQXJlYSAxNQorICAgICAqIHRoYXQgd2UgYXJlIHVzaW5nIGZvciBhbGlhc2VzIGFuZCBuYW1lZCBzZXF1ZW5jZXMuICovCiAgICAgaW50IG9mZnNldDsKICAgICBpbnQgaTsKICAgICBpbnQgd29yZDsKQEAgLTg5Myw4ICs5NDgsMTYgQEAKICAgICBpZiAoY29kZSA+PSAweDExMDAwMCkKICAgICAgICAgcmV0dXJuIDA7CiAKKyAgICAvKiBYWFggc2hvdWxkIHdlIGp1c3Qgc2tpcCBhbGwgdGhlIGNvZGVwb2ludHMgaW4gdGhlIFBVQXMgaGVyZT8gKi8KKyAgICBpZiAoIXdpdGhfYWxpYXNfYW5kX3NlcSAmJiAoSVNfQUxJQVMoY29kZSkgfHwgSVNfTkFNRURfU0VRKGNvZGUpKSkKKyAgICAgICAgcmV0dXJuIDA7CisKICAgICBpZiAoc2VsZiAmJiBVQ0RfQ2hlY2soc2VsZikpIHsKLSAgICAgICAgY29uc3QgY2hhbmdlX3JlY29yZCAqb2xkID0gZ2V0X29sZF9yZWNvcmQoc2VsZiwgY29kZSk7CisgICAgICAgIC8qIGluIDMuMi4wIHRoZXJlIGFyZSBubyBhbGlhc2VzIGFuZCBuYW1lZCBzZXF1ZW5jZXMgKi8KKyAgICAgICAgY29uc3QgY2hhbmdlX3JlY29yZCAqb2xkOworICAgICAgICBpZiAoSVNfQUxJQVMoY29kZSkgfHwgSVNfTkFNRURfU0VRKGNvZGUpKQorICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIG9sZCA9IGdldF9vbGRfcmVjb3JkKHNlbGYsIGNvZGUpOwogICAgICAgICBpZiAob2xkLT5jYXRlZ29yeV9jaGFuZ2VkID09IDApIHsKICAgICAgICAgICAgIC8qIHVuYXNzaWduZWQgKi8KICAgICAgICAgICAgIHJldHVybiAwOwpAQCAtOTc4LDcgKzEwNDEsNyBAQAogICAgIC8qIGNoZWNrIGlmIGNvZGUgY29ycmVzcG9uZHMgdG8gdGhlIGdpdmVuIG5hbWUgKi8KICAgICBpbnQgaTsKICAgICBjaGFyIGJ1ZmZlcltOQU1FX01BWExFTl07Ci0gICAgaWYgKCFfZ2V0dWNuYW1lKHNlbGYsIGNvZGUsIGJ1ZmZlciwgc2l6ZW9mKGJ1ZmZlcikpKQorICAgIGlmICghX2dldHVjbmFtZShzZWxmLCBjb2RlLCBidWZmZXIsIHNpemVvZihidWZmZXIpLCAxKSkKICAgICAgICAgcmV0dXJuIDA7CiAgICAgZm9yIChpID0gMDsgaSA8IG5hbWVsZW47IGkrKykgewogICAgICAgICBpZiAoUHlfVE9VUFBFUihQeV9DSEFSTUFTSyhuYW1lW2ldKSkgIT0gYnVmZmVyW2ldKQpAQCAtOTk0LDcgKzEwNTcsNyBAQAogICAgICpsZW4gPSAtMTsKICAgICBmb3IgKGkgPSAwOyBpIDwgY291bnQ7IGkrKykgewogICAgICAgICBjaGFyICpzID0gaGFuZ3VsX3N5bGxhYmxlc1tpXVtjb2x1bW5dOwotICAgICAgICBsZW4xID0gc3RybGVuKHMpOworICAgICAgICBsZW4xID0gUHlfU0FGRV9ET1dOQ0FTVChzdHJsZW4ocyksIHNpemVfdCwgaW50KTsKICAgICAgICAgaWYgKGxlbjEgPD0gKmxlbikKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICBpZiAoc3RybmNtcChzdHIsIHMsIGxlbjEpID09IDApIHsKQEAgLTEwMDgsOCArMTA3MSwyOCBAQAogfQogCiBzdGF0aWMgaW50Ci1fZ2V0Y29kZShQeU9iamVjdCogc2VsZiwgY29uc3QgY2hhciogbmFtZSwgaW50IG5hbWVsZW4sIFB5X1VDUzQqIGNvZGUpCitfY2hlY2tfYWxpYXNfYW5kX3NlcSh1bnNpZ25lZCBpbnQgY3AsIFB5X1VDUzQqIGNvZGUsIGludCB3aXRoX25hbWVkX3NlcSkKIHsKKyAgICAvKiBjaGVjayBpZiBuYW1lZCBzZXF1ZW5jZXMgYXJlIGFsbG93ZWQgKi8KKyAgICBpZiAoIXdpdGhfbmFtZWRfc2VxICYmIElTX05BTUVEX1NFUShjcCkpCisgICAgICAgIHJldHVybiAwOworICAgIC8qIGlmIHRoZSBjb2RlcG9pbnQgaXMgaW4gdGhlIFBVQSByYW5nZSB0aGF0IHdlIHVzZSBmb3IgYWxpYXNlcywKKyAgICAgKiBjb252ZXJ0IGl0IHRvIG9idGFpbiB0aGUgcmlnaHQgY29kZXBvaW50ICovCisgICAgaWYgKElTX0FMSUFTKGNwKSkKKyAgICAgICAgKmNvZGUgPSBuYW1lX2FsaWFzZXNbY3AtYWxpYXNlc19zdGFydF07CisgICAgZWxzZQorICAgICAgICAqY29kZSA9IGNwOworICAgIHJldHVybiAxOworfQorCitzdGF0aWMgaW50CitfZ2V0Y29kZShQeU9iamVjdCogc2VsZiwgY29uc3QgY2hhciogbmFtZSwgaW50IG5hbWVsZW4sIFB5X1VDUzQqIGNvZGUsCisgICAgICAgICBpbnQgd2l0aF9uYW1lZF9zZXEpCit7CisgICAgLyogUmV0dXJuIHRoZSBjb2RlcG9pbnQgYXNzb2NpYXRlZCB3aXRoIHRoZSBnaXZlbiBuYW1lLgorICAgICAqIE5hbWVkIGFsaWFzZXMgYXJlIHJlc29sdmVkIHRvbyAodW5sZXNzIHNlbGYgIT0gTlVMTCAoaS5lLiB3ZSBhcmUgdXNpbmcKKyAgICAgKiAzLjIuMCkpLiAgSWYgd2l0aF9uYW1lZF9zZXEgaXMgMSwgcmV0dXJucyB0aGUgUFVBIGNvZGVwb2ludCB0aGF0IHdlIGFyZQorICAgICAqIHVzaW5nIGZvciB0aGUgbmFtZWQgc2VxdWVuY2UsIGFuZCB0aGUgY2FsbGVyIG11c3QgdGhlbiBjb252ZXJ0IGl0LiAqLwogICAgIHVuc2lnbmVkIGludCBoLCB2OwogICAgIHVuc2lnbmVkIGludCBtYXNrID0gY29kZV9zaXplLTE7CiAgICAgdW5zaWduZWQgaW50IGksIGluY3I7CkBAIC0xMDY1LDEwICsxMTQ4LDggQEAKICAgICB2ID0gY29kZV9oYXNoW2ldOwogICAgIGlmICghdikKICAgICAgICAgcmV0dXJuIDA7Ci0gICAgaWYgKF9jbXBuYW1lKHNlbGYsIHYsIG5hbWUsIG5hbWVsZW4pKSB7Ci0gICAgICAgICpjb2RlID0gdjsKLSAgICAgICAgcmV0dXJuIDE7Ci0gICAgfQorICAgIGlmIChfY21wbmFtZShzZWxmLCB2LCBuYW1lLCBuYW1lbGVuKSkKKyAgICAgICAgcmV0dXJuIF9jaGVja19hbGlhc19hbmRfc2VxKHYsIGNvZGUsIHdpdGhfbmFtZWRfc2VxKTsKICAgICBpbmNyID0gKGggXiAoaCA+PiAzKSkgJiBtYXNrOwogICAgIGlmICghaW5jcikKICAgICAgICAgaW5jciA9IG1hc2s7CkBAIC0xMDc3LDEwICsxMTU4LDggQEAKICAgICAgICAgdiA9IGNvZGVfaGFzaFtpXTsKICAgICAgICAgaWYgKCF2KQogICAgICAgICAgICAgcmV0dXJuIDA7Ci0gICAgICAgIGlmIChfY21wbmFtZShzZWxmLCB2LCBuYW1lLCBuYW1lbGVuKSkgewotICAgICAgICAgICAgKmNvZGUgPSB2OwotICAgICAgICAgICAgcmV0dXJuIDE7Ci0gICAgICAgIH0KKyAgICAgICAgaWYgKF9jbXBuYW1lKHNlbGYsIHYsIG5hbWUsIG5hbWVsZW4pKQorICAgICAgICAgICAgcmV0dXJuIF9jaGVja19hbGlhc19hbmRfc2VxKHYsIGNvZGUsIHdpdGhfbmFtZWRfc2VxKTsKICAgICAgICAgaW5jciA9IGluY3IgPDwgMTsKICAgICAgICAgaWYgKGluY3IgPiBtYXNrKQogICAgICAgICAgICAgaW5jciA9IGluY3IgXiBjb2RlX3BvbHk7CkBAIC0xMTE4LDcgKzExOTcsNyBAQAogICAgIGlmIChjID09IChQeV9VQ1M0KS0xKQogICAgICAgICByZXR1cm4gTlVMTDsKIAotICAgIGlmICghX2dldHVjbmFtZShzZWxmLCBjLCBuYW1lLCBzaXplb2YobmFtZSkpKSB7CisgICAgaWYgKCFfZ2V0dWNuYW1lKHNlbGYsIGMsIG5hbWUsIHNpemVvZihuYW1lKSwgMCkpIHsKICAgICAgICAgaWYgKGRlZm9iaiA9PSBOVUxMKSB7CiAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwgIm5vIHN1Y2ggbmFtZSIpOwogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CkBAIC0xMTQzLDI4ICsxMjIyLDI2IEBACiB1bmljb2RlZGF0YV9sb29rdXAoUHlPYmplY3QqIHNlbGYsIFB5T2JqZWN0KiBhcmdzKQogewogICAgIFB5X1VDUzQgY29kZTsKLSAgICBQeV9VTklDT0RFIHN0clsyXTsKIAogICAgIGNoYXIqIG5hbWU7CiAgICAgaW50IG5hbWVsZW47CisgICAgdW5zaWduZWQgaW50IGluZGV4OwogICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAicyM6bG9va3VwIiwgJm5hbWUsICZuYW1lbGVuKSkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKLSAgICBpZiAoIV9nZXRjb2RlKHNlbGYsIG5hbWUsIG5hbWVsZW4sICZjb2RlKSkgewotICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfS2V5RXJyb3IsICJ1bmRlZmluZWQgY2hhcmFjdGVyIG5hbWUgJyVzJyIsCi0gICAgICAgICAgICAgICAgICAgICBuYW1lKTsKKyAgICBpZiAoIV9nZXRjb2RlKHNlbGYsIG5hbWUsIG5hbWVsZW4sICZjb2RlLCAxKSkgeworICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfS2V5RXJyb3IsICJ1bmRlZmluZWQgY2hhcmFjdGVyIG5hbWUgJyVzJyIsIG5hbWUpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9Ci0KLSNpZm5kZWYgUHlfVU5JQ09ERV9XSURFCi0gICAgaWYgKGNvZGUgPj0gMHgxMDAwMCkgewotICAgICAgICBzdHJbMF0gPSAweGQ4MDAgKyAoKGNvZGUgLSAweDEwMDAwKSA+PiAxMCk7Ci0gICAgICAgIHN0clsxXSA9IDB4ZGMwMCArICgoY29kZSAtIDB4MTAwMDApICYgMHgzZmYpOwotICAgICAgICByZXR1cm4gUHlVbmljb2RlX0Zyb21Vbmljb2RlKHN0ciwgMik7CisgICAgLy8gY2hlY2sgaWYgY29kZSBpcyBpbiB0aGUgUFVBIHJhbmdlIHRoYXQgd2UgdXNlIGZvciBuYW1lZCBzZXF1ZW5jZXMKKyAgICAvLyBhbmQgY29udmVydCBpdAorICAgIGlmIChJU19OQU1FRF9TRVEoY29kZSkpIHsKKyAgICAgICAgaW5kZXggPSBjb2RlLW5hbWVkX3NlcXVlbmNlc19zdGFydDsKKyAgICAgICAgcmV0dXJuIFB5VW5pY29kZV9Gcm9tS2luZEFuZERhdGEoUHlVbmljb2RlXzJCWVRFX0tJTkQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWVkX3NlcXVlbmNlc1tpbmRleF0uc2VxLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lZF9zZXF1ZW5jZXNbaW5kZXhdLnNlcWxlbik7CiAgICAgfQotI2VuZGlmCi0gICAgc3RyWzBdID0gKFB5X1VOSUNPREUpIGNvZGU7Ci0gICAgcmV0dXJuIFB5VW5pY29kZV9Gcm9tVW5pY29kZShzdHIsIDEpOworICAgIHJldHVybiBQeVVuaWNvZGVfRnJvbU9yZGluYWwoY29kZSk7CiB9CiAKIC8qIFhYWCBBZGQgZG9jIHN0cmluZ3MuICovCmRpZmYgLS1naXQgYS9Nb2R1bGVzL3VuaWNvZGVkYXRhX2RiLmggYi9Nb2R1bGVzL3VuaWNvZGVkYXRhX2RiLmgKaW5kZXggOGUyZTcyNC4uNWQ1ZGNhOCAxMDA2NDQKLS0tIGEvTW9kdWxlcy91bmljb2RlZGF0YV9kYi5oCisrKyBiL01vZHVsZXMvdW5pY29kZWRhdGFfZGIuaApAQCAtMSw2ICsxLDYgQEAKIC8qIHRoaXMgZmlsZSB3YXMgZ2VuZXJhdGVkIGJ5IFRvb2xzL3VuaWNvZGUvbWFrZXVuaWNvZGVkYXRhLnB5IDMuMiAqLwogCi0jZGVmaW5lIFVOSURBVEFfVkVSU0lPTiAiNi4wLjAiCisjZGVmaW5lIFVOSURBVEFfVkVSU0lPTiAiNi4xLjAiCiAvKiBhIGxpc3Qgb2YgdW5pcXVlIGRhdGFiYXNlIHJlY29yZHMgKi8KIGNvbnN0IF9QeVVuaWNvZGVfRGF0YWJhc2VSZWNvcmQgX1B5VW5pY29kZV9EYXRhYmFzZV9SZWNvcmRzW10gPSB7CiAgICAgezAsIDAsIDAsIDAsIDAsIDB9LApAQCAtMjgsMTIgKzI4LDEyIEBACiAgICAgezI2LCAwLCAxOSwgMCwgNCwgMH0sCiAgICAgezI4LCAwLCAxMSwgMCwgNCwgMH0sCiAgICAgezMwLCAwLCAxOSwgMCwgMywgMH0sCi0gICAgezMwLCAwLCAxOSwgMCwgNCwgMH0sCiAgICAgezI5LCAwLCAxOSwgMCwgNCwgMTM2fSwKICAgICB7MzAsIDAsIDE5LCAwLCA1LCAwfSwKLSAgICB7MiwgMCwgMSwgMCwgNCwgMTM2fSwKKyAgICB7MTksIDAsIDEsIDAsIDQsIDEzNn0sCiAgICAgezI0LCAwLCAxOSwgMSwgNSwgMH0sCiAgICAgezE0LCAwLCAxNSwgMCwgNCwgMH0sCisgICAgezMwLCAwLCAxOSwgMCwgNCwgMH0sCiAgICAgezI5LCAwLCAxOSwgMCwgMywgMTM2fSwKICAgICB7MzAsIDAsIDExLCAwLCA0LCAwfSwKICAgICB7MjcsIDAsIDExLCAwLCA0LCAwfSwKQEAgLTQ5LDYgKzQ5LDcgQEAKICAgICB7MiwgMCwgMSwgMCwgNSwgMTB9LAogICAgIHsxLCAwLCAxLCAwLCA1LCAwfSwKICAgICB7MSwgMCwgMSwgMCwgNCwgMTM2fSwKKyAgICB7MiwgMCwgMSwgMCwgNCwgMTM2fSwKICAgICB7MiwgMCwgMSwgMCwgNSwgMH0sCiAgICAgezE5LCAwLCAxLCAwLCA1LCAwfSwKICAgICB7MSwgMCwgMSwgMCwgNSwgMTM2fSwKQEAgLTg3LDYgKzg4LDcgQEAKICAgICB7NiwgMCwgMTQsIDAsIDUsIDB9LAogICAgIHsyNiwgMCwgMSwgMCwgNSwgMH0sCiAgICAgezIxLCAwLCAxOSwgMCwgNSwgMH0sCisgICAgezI4LCAwLCAxMSwgMCwgNSwgMH0sCiAgICAgezQsIDIyMCwgMTQsIDAsIDUsIDB9LAogICAgIHs0LCAyMjIsIDE0LCAwLCA1LCAwfSwKICAgICB7NCwgMjI4LCAxNCwgMCwgNSwgMH0sCkBAIC0xMzQsNiArMTM2LDcgQEAKICAgICB7MTksIDAsIDUsIDAsIDUsIDEzNn0sCiAgICAgezcsIDAsIDksIDAsIDUsIDB9LAogICAgIHszMCwgMCwgNSwgMCwgNSwgMH0sCisgICAgezE0LCAwLCA1LCAwLCA1LCAwfSwKICAgICB7NCwgMzYsIDE0LCAwLCA1LCAwfSwKICAgICB7NCwgMCwgMTQsIDAsIDUsIDB9LAogICAgIHs3LCAwLCA0LCAwLCA1LCAwfSwKQEAgLTE0OCw3ICsxNTEsNiBAQAogICAgIHs0LCA3LCAxNCwgMCwgNSwgMH0sCiAgICAgezUsIDAsIDEsIDAsIDUsIDgwfSwKICAgICB7NSwgMCwgMSwgMCwgNSwgMTB9LAotICAgIHsyOCwgMCwgMTEsIDAsIDUsIDB9LAogICAgIHs5LCAwLCAxLCAwLCA1LCAwfSwKICAgICB7NCwgMCwgMTQsIDAsIDUsIDgwfSwKICAgICB7NCwgMCwgMTQsIDAsIDUsIDEwfSwKQEAgLTE3NSw3ICsxNzcsNiBAQAogICAgIHsxOSwgMCwgMSwgMCwgNSwgODB9LAogICAgIHsxMCwgMCwgMTgsIDAsIDUsIDB9LAogICAgIHs4LCAwLCAxLCAwLCA1LCAwfSwKLSAgICB7MTQsIDAsIDEsIDAsIDUsIDB9LAogICAgIHs1LCA5LCAxLCAwLCA1LCAwfSwKICAgICB7NCwgMSwgMTQsIDAsIDUsIDB9LAogICAgIHs0LCAyMzQsIDE0LCAwLCA1LCAwfSwKQEAgLTE5MCw2ICsxOTEsNyBAQAogICAgIHsxMCwgMCwgMTgsIDAsIDUsIDE3MH0sCiAgICAgezEwLCAwLCAxOCwgMCwgNSwgMTM2fSwKICAgICB7MTQsIDAsIDE1LCAwLCA1LCAwfSwKKyAgICB7MTQsIDAsIDEsIDAsIDUsIDB9LAogICAgIHsxNCwgMCwgNCwgMCwgNSwgMH0sCiAgICAgezIxLCAwLCAxOSwgMCwgNCwgMH0sCiAgICAgezIxLCAwLCAxOSwgMCwgNSwgMTM2fSwKQEAgLTI1Niw3ICsyNTgsNyBAQAogICAgIHs0LCAyMjgsIDE0LCAwLCAyLCAwfSwKICAgICB7NCwgMjMyLCAxNCwgMCwgMiwgMH0sCiAgICAgezQsIDIyMiwgMTQsIDAsIDIsIDB9LAotICAgIHs0LCAyMjQsIDE0LCAwLCAyLCAwfSwKKyAgICB7NSwgMjI0LCAxLCAwLCAyLCAwfSwKICAgICB7OCwgMCwgMSwgMCwgMiwgMTM2fSwKICAgICB7MTksIDAsIDEsIDAsIDIsIDEwfSwKICAgICB7NCwgOCwgMTQsIDAsIDIsIDgwfSwKQEAgLTI2Niw3ICsyNjgsNyBAQAogICAgIHszMCwgMCwgMSwgMCwgMiwgMH0sCiAgICAgezksIDAsIDEsIDAsIDIsIDEzNn0sCiAgICAgezMwLCAwLCAxLCAwLCAyLCAxMzZ9LAotICAgIHszMCwgMCwgMSwgMCwgNCwgMH0sCisgICAgezksIDAsIDEsIDAsIDQsIDB9LAogICAgIHs5LCAwLCAxOSwgMCwgMiwgMTM2fSwKICAgICB7MjksIDAsIDEsIDAsIDUsIDB9LAogICAgIHsxNSwgMCwgMSwgMCwgNSwgMH0sCkBAIC0zMjUsMTEgKzMyNywxMiBAQAogICAgIHsyNywgMCwgMSwgMCwgNSwgMTM2fSwKICAgICB7NywgMCwgOSwgMCwgNSwgMTM2fSwKICAgICB7MzAsIDAsIDEsIDAsIDUsIDEzNn0sCisgICAgezMwLCAwLCAxLCAwLCA0LCAwfSwKIH07CiAKIC8qIFJlaW5kZXhpbmcgb2YgTkZDIGZpcnN0IGNoYXJhY3RlcnMuICovCi0jZGVmaW5lIFRPVEFMX0ZJUlNUIDM3MAotI2RlZmluZSBUT1RBTF9MQVNUIDU1CisjZGVmaW5lIFRPVEFMX0ZJUlNUIDM3MgorI2RlZmluZSBUT1RBTF9MQVNUIDU2CiBzdHJ1Y3QgcmVpbmRleHtpbnQgc3RhcnQ7c2hvcnQgY291bnQsaW5kZXg7fTsKIHN0YXRpYyBzdHJ1Y3QgcmVpbmRleCBuZmNfZmlyc3RbXSA9IHsKICAgeyA2MCwgMiwgMH0sCkBAIC01MzgsNiArNTQxLDcgQEAKICAgeyA2OTc4NSwgMCwgMzY3fSwKICAgeyA2OTc4NywgMCwgMzY4fSwKICAgeyA2OTc5NywgMCwgMzY5fSwKKyAgeyA2OTkzNywgMSwgMzcwfSwKICAgezAsMCwwfQogfTsKIApAQCAtNTc0LDYgKzU3OCw3IEBACiAgIHsgNjk2NSwgMCwgNTF9LAogICB7IDEyNDQxLCAxLCA1Mn0sCiAgIHsgNjk4MTgsIDAsIDU0fSwKKyAgeyA2OTkyNywgMCwgNTV9LAogICB7MCwwLDB9CiB9OwogCkBAIC02NzEsNTE1ICs2NzYsNTE1IEBACiAgICAgMjEsIDIyLCAyMywgMjQsIDI1LCAyNiwgMjcsIDI4LCAyOSwgMzAsIDMxLCAzMiwgMzMsIDM0LCAzNSwgMzYsIDM3LCAzOCwgCiAgICAgMzksIDQwLCA0MSwgNDEsIDQxLCA0MiwgNDMsIDQ0LCA0NSwgNDYsIDQ3LCA0OCwgNDksIDUwLCA1MSwgNTIsIDUzLCA1NCwgCiAgICAgNTUsIDU2LCA1NywgNTgsIDU5LCA2MCwgNjEsIDYyLCA2MywgNjQsIDY1LCA2NiwgNjcsIDY4LCA2OSwgNzAsIDcxLCA3MiwgCi0gICAgNzMsIDc0LCA3NSwgNzYsIDc3LCA3OCwgNzgsIDc5LCA4MCwgODEsIDgyLCA4MywgMTcsIDg0LCA4NSwgODYsIDg3LCA4OCwgCi0gICAgODksIDkwLCA5MSwgOTIsIDkzLCA5NCwgOTUsIDk2LCA5NywgOTgsIDk5LCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAKLSAgICAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgCi0gICAgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIAotICAgIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAKLSAgICAxMDAsIDEwMCwgMTAwLCAxMDEsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgCi0gICAgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIAotICAgIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAKLSAgICAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgCi0gICAgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIAotICAgIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAKLSAgICAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgCi0gICAgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIAotICAgIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAKLSAgICAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgCi0gICAgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIAotICAgIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAyLCAKLSAgICAxMDMsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDQsIDQxLCA0MSwgMTA1LCAxMDYsIDEwNywgCi0gICAgMTA4LCAxMDksIDExMCwgMTExLCAxMTIsIDExMywgMTE0LCAxMTUsIDExNiwgMTE3LCAxMTcsIDExNywgMTE3LCAxMTcsIAotICAgIDExNywgMTE3LCAxMTcsIDExNywgMTE3LCAxMTcsIDExNywgMTE3LCAxMTcsIDExNywgMTE3LCAxMTcsIDExNywgMTE3LCAKLSAgICAxMTcsIDExNywgMTE3LCAxMTcsIDExNywgMTE3LCAxMTcsIDExNywgMTE3LCAxMTcsIDExNywgMTE3LCAxMTcsIDExNywgCi0gICAgMTE3LCAxMTcsIDExNywgMTE3LCAxMTcsIDExNywgMTE3LCAxMTcsIDExNywgMTE3LCAxMTcsIDExNywgMTE3LCAxMTcsIAotICAgIDExNywgMTE3LCAxMTcsIDExNywgMTE3LCAxMTcsIDExNywgMTE3LCAxMTcsIDExNywgMTE3LCAxMTcsIDExNywgMTE3LCAKLSAgICAxMTcsIDExNywgMTE3LCAxMTcsIDExNywgMTE3LCAxMTcsIDExNywgMTE3LCAxMTcsIDExNywgMTE3LCAxMTcsIDExNywgCi0gICAgMTE3LCAxMTcsIDExNywgMTE3LCAxMTcsIDExNywgMTE3LCAxMTcsIDExNywgMTE3LCAxMTcsIDExNywgMTE4LCAxMTksIAotICAgIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAxMTksIDExOSwgMTE5LCAKLSAgICAxMTksIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgCisgICAgNzMsIDc0LCA3NSwgNzYsIDc3LCA3OCwgNzgsIDc5LCA4MCwgODEsIDgyLCA4MywgODQsIDg1LCA4NiwgODcsIDg4LCA4OSwgCisgICAgOTAsIDkxLCA5MiwgOTMsIDk0LCA5NSwgOTYsIDk3LCA5OCwgOTksIDEwMCwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIAorICAgIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAKKyAgICAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgCisgICAgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIAorICAgIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAyLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAKKyAgICAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgCisgICAgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIAorICAgIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAKKyAgICAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgCisgICAgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIAorICAgIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAKKyAgICAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgCisgICAgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIAorICAgIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAKKyAgICAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgCisgICAgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIAorICAgIDEwMywgMTA0LCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTA1LCA0MSwgNDEsIDEwNiwgMTA3LCAKKyAgICAxMDgsIDEwOSwgMTEwLCAxMTEsIDExMiwgMTEzLCAxMTQsIDExNSwgMTE2LCAxMTcsIDExOCwgMTE4LCAxMTgsIDExOCwgCisgICAgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIAorICAgIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAKKyAgICAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgCisgICAgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIAorICAgIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAKKyAgICAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOSwgCiAgICAgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIAotICAgIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAKLSAgICAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjEsIDEyMSwgMTIyLCAxMjMsIDEyNCwgCi0gICAgMTI1LCAxMjYsIDEyNiwgMTI3LCAxMjgsIDEyOSwgMTMwLCAxMzEsIDEzMiwgMTMzLCAxMzQsIDEzNSwgMTM2LCAxNywgMTM3LCAKLSAgICAxMzgsIDEzOSwgMTQwLCAxNDEsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE0MiwgMTcsIDE0MywgMTcsIDE0NCwgMTcsIAotICAgIDE0NSwgMTcsIDE0NiwgMTcsIDE3LCAxNywgMTQ3LCAxNywgMTcsIDE3LCAxNDgsIDE0OSwgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgNDEsIDQxLCA0MSwgNDEsIDQxLCA0MSwgMTUwLCAxNywgMTUxLCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDQxLCA0MSwgNDEsIDQxLCA0MSwgNDEsIDQxLCA0MSwgMTUyLCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgNDEsIDQxLCA0MSwgNDEsIDE1MywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE1NCwgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgNzgsIAotICAgIDE1NSwgMTU2LCAxNTcsIDE1OCwgMTcsIDE1OSwgMTcsIDE2MCwgMTYxLCAxNjIsIDE2MywgMTY0LCAxNjUsIDE2NiwgMTY3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNjgsIDE2OSwgMTcwLCAxNzEsIDE3MiwgCi0gICAgMTcsIDE3MywgMTc0LCAxNzUsIDE3NiwgMTc3LCAxNzgsIDE3OSwgMTgwLCAxODEsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgCi0gICAgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIAotICAgIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAKLSAgICAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgCi0gICAgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIAotICAgIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAKLSAgICAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgCi0gICAgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIAotICAgIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAKLSAgICAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgCi0gICAgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIAotICAgIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAKLSAgICAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgCi0gICAgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIAotICAgIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAKLSAgICAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgCi0gICAgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIAotICAgIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAKLSAgICAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgCi0gICAgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIAotICAgIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAKLSAgICAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgCi0gICAgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIAotICAgIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAKLSAgICAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTgyLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgCi0gICAgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIAotICAgIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTAwLCAxMDAsIDEwMCwgMTgzLCAxMDAsIDE4NCwgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDEyMSwgCi0gICAgMTIxLCAxMjEsIDEyMSwgMTg1LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxODYsIDE3LCAxODcsIAotICAgIDE4OCwgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgCi0gICAgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIAotICAgIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAKLSAgICAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgCi0gICAgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIAotICAgIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAKLSAgICAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgCi0gICAgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIAotICAgIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAKLSAgICAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgCi0gICAgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIAotICAgIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAKLSAgICAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgCi0gICAgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIAotICAgIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAKLSAgICAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgCi0gICAgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIAotICAgIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAKLSAgICAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgCi0gICAgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIAotICAgIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAKLSAgICAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgCi0gICAgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIAotICAgIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAKLSAgICAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgCi0gICAgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIAotICAgIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAKLSAgICAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgCi0gICAgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIAotICAgIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAKLSAgICAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgCi0gICAgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIAotICAgIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAKLSAgICAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgCi0gICAgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIAotICAgIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAKLSAgICAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTg5LCAxMjAsIDEyMCwgCi0gICAgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIAotICAgIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAKLSAgICAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgCi0gICAgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIAotICAgIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAKLSAgICAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgCi0gICAgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIAotICAgIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAKLSAgICAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgCi0gICAgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIAotICAgIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAKLSAgICAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgCi0gICAgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIAotICAgIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAKLSAgICAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgCi0gICAgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIAotICAgIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAKLSAgICAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgCi0gICAgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIAotICAgIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAKLSAgICAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgCi0gICAgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIAotICAgIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAKLSAgICAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgCi0gICAgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIAotICAgIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAKLSAgICAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgCi0gICAgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIAotICAgIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAKLSAgICAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgCi0gICAgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIAotICAgIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAKLSAgICAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgCi0gICAgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIAotICAgIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAKLSAgICAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDEyMCwgCi0gICAgMTIwLCAxMjAsIDEyMCwgMTIwLCAxMjAsIDE4OSwgCisgICAgMTIwLCAxMjAsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIAorICAgIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAKKyAgICAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgCisgICAgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjIsIDEyMiwgMTIzLCAxMjQsIAorICAgIDEyNSwgMTI2LCAxMjcsIDEyNywgMTI4LCAxMjksIDEzMCwgMTMxLCAxMzIsIDEzMywgMTM0LCAxMzUsIDEzNiwgMTM3LCA4NCwgCisgICAgMTM4LCAxMzksIDE0MCwgMTQxLCAxNDIsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDE0MywgODQsIDE0NCwgMTQ1LCAxNDYsIAorICAgIDg0LCAxNDcsIDg0LCAxNDgsIDg0LCA4NCwgODQsIDE0OSwgODQsIDg0LCA4NCwgMTUwLCAxNTEsIDE1MiwgMTUzLCA4NCwgCisgICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAxNTQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDQxLCA0MSwgNDEsIDQxLCA0MSwgNDEsIDE1NSwgODQsIDE1NiwgCisgICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCisgICAgODQsIDg0LCA4NCwgODQsIDg0LCA0MSwgNDEsIDQxLCA0MSwgNDEsIDQxLCA0MSwgNDEsIDE1NywgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDQxLCA0MSwgNDEsIDQxLCAxNTgsIDg0LCA4NCwgODQsIDg0LCAKKyAgICA4NCwgODQsIDg0LCA4NCwgODQsIDE1OSwgMTYwLCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDE2MSwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKKyAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKKyAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKKyAgICA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAKKyAgICA4NCwgNzgsIDE2MiwgMTYzLCAxNjQsIDE2NSwgODQsIDE2NiwgODQsIDE2NywgMTY4LCAxNjksIDE3MCwgMTcxLCAxNzIsIAorICAgIDE3MywgMTc0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCisgICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCisgICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDE3NSwgMTc2LCA4NCwgODQsIDE3NywgMTc4LCAxNzksIAorICAgIDE4MCwgMTgxLCA4NCwgMTgyLCAxODMsIDE4NCwgMTg1LCAxODYsIDE4NywgMTg4LCAxODksIDE5MCwgODQsIDg0LCA4NCwgCisgICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCAxMDEsIDEwMSwgMTAxLCAKKyAgICAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgCisgICAgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIAorICAgIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAKKyAgICAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgCisgICAgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIAorICAgIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAKKyAgICAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgCisgICAgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIAorICAgIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAKKyAgICAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgCisgICAgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIAorICAgIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAKKyAgICAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgCisgICAgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIAorICAgIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAKKyAgICAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgCisgICAgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIAorICAgIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAKKyAgICAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgCisgICAgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIAorICAgIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAKKyAgICAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgCisgICAgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIAorICAgIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxOTEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAKKyAgICAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgCisgICAgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxMDEsIDEwMSwgMTAxLCAxOTIsIAorICAgIDEwMSwgMTkzLCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCisgICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCisgICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCisgICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCisgICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCisgICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCisgICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCisgICAgODQsIDg0LCA4NCwgMTIyLCAxMjIsIDEyMiwgMTIyLCAxOTQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIAorICAgIDE5NSwgODQsIDE5NiwgMTk3LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCisgICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCisgICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCisgICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCisgICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCisgICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCisgICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCisgICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCisgICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCisgICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCisgICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCisgICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCisgICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCisgICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCisgICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCisgICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCisgICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCisgICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCisgICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCisgICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCisgICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCisgICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCisgICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCisgICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCisgICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCisgICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCisgICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCisgICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCisgICAgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAKKyAgICAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgCisgICAgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIAorICAgIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAKKyAgICAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgCisgICAgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIAorICAgIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAKKyAgICAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgCisgICAgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIAorICAgIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAKKyAgICAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgCisgICAgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIAorICAgIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAKKyAgICAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgCisgICAgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIAorICAgIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAKKyAgICAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgCisgICAgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIAorICAgIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAKKyAgICAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgCisgICAgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIAorICAgIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAKKyAgICAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgCisgICAgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIAorICAgIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAKKyAgICAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgCisgICAgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIAorICAgIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAKKyAgICAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgCisgICAgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIAorICAgIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAKKyAgICAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgCisgICAgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIAorICAgIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAKKyAgICAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgCisgICAgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIAorICAgIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAKKyAgICAxOTgsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgCisgICAgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIAorICAgIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAKKyAgICAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgCisgICAgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIAorICAgIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAKKyAgICAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgCisgICAgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIAorICAgIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAKKyAgICAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgCisgICAgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIAorICAgIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAKKyAgICAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgCisgICAgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIAorICAgIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAKKyAgICAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgCisgICAgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIAorICAgIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAKKyAgICAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgCisgICAgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIAorICAgIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAKKyAgICAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgCisgICAgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIAorICAgIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAKKyAgICAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgCisgICAgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIAorICAgIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAKKyAgICAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgCisgICAgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIAorICAgIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAKKyAgICAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgCisgICAgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIAorICAgIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAKKyAgICAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgCisgICAgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIAorICAgIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAKKyAgICAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTIxLCAxMjEsIDEyMSwgMTk4LCAKIH07CiAKIHN0YXRpYyB1bnNpZ25lZCBzaG9ydCBpbmRleDJbXSA9IHsKQEAgLTExOTEsMTQwMSArMTE5NiwxNDY0IEBACiAgICAgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgCiAgICAgMjAsIDIwLCA5LCAxNiwgMTAsIDE2LCAxLCAxLCAxLCAxLCAxLCAxLCAzLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAKICAgICAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAyMSwgMjIsIDgsIDgsIDIzLCA4LCAyNCwgCi0gICAgMjUsIDI2LCAyNywgMjgsIDI5LCAxNiwgMzAsIDI1LCAzMSwgMzIsIDMzLCAzNCwgMzQsIDI2LCAzNSwgMjUsIDIyLCAyNiwgCi0gICAgMzQsIDI4LCAzNiwgMzcsIDM3LCAzNywgMjIsIDM4LCAzOCwgMzgsIDM4LCAzOCwgMzgsIDM5LCAzOCwgMzgsIDM4LCAzOCwgCisgICAgMjIsIDI1LCAyNiwgMjcsIDI4LCAxNiwgMjksIDMwLCAzMSwgMzIsIDMzLCAzNCwgMzQsIDI1LCAzNSwgMjIsIDIyLCAyNSwgCisgICAgMzQsIDI3LCAzNiwgMzcsIDM3LCAzNywgMjIsIDM4LCAzOCwgMzgsIDM4LCAzOCwgMzgsIDM5LCAzOCwgMzgsIDM4LCAzOCwgCiAgICAgMzgsIDM4LCAzOCwgMzgsIDM4LCAzOSwgMzgsIDM4LCAzOCwgMzgsIDM4LCAzOCwgNDAsIDM5LCAzOCwgMzgsIDM4LCAzOCwgCiAgICAgMzgsIDM5LCA0MSwgNDIsIDQyLCA0MywgNDMsIDQzLCA0MywgNDEsIDQzLCA0MiwgNDIsIDQyLCA0MywgNDIsIDQyLCA0MywgCiAgICAgNDMsIDQxLCA0MywgNDIsIDQyLCA0MywgNDMsIDQzLCA0MCwgNDEsIDQyLCA0MiwgNDMsIDQyLCA0MywgNDEsIDQzLCAzOCwgCiAgICAgNDIsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgNDQsIDQxLCAzOCwgCiAgICAgNDIsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MiwgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgCi0gICAgNDMsIDM5LCA0MSwgMzgsIDQzLCAzOCwgNDIsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDEsIDQ1LCAyOCwgMzgsIDQzLCAzOCwgCi0gICAgNDMsIDQxLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCA0NSwgMjgsIDM5LCA0MSwgMzgsIDQyLCAzOCwgNDMsIDM4LCA0MiwgCi0gICAgMjgsIDM5LCA0MSwgMzgsIDQyLCAzOCwgNDMsIDM4LCA0MywgMzksIDQxLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgCisgICAgNDMsIDM5LCA0MSwgMzgsIDQzLCAzOCwgNDIsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDEsIDQ1LCA0NiwgMzgsIDQzLCAzOCwgCisgICAgNDMsIDQxLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCA0NSwgNDYsIDM5LCA0MSwgMzgsIDQyLCAzOCwgNDMsIDM4LCA0MiwgCisgICAgNDYsIDM5LCA0MSwgMzgsIDQyLCAzOCwgNDMsIDM4LCA0MywgMzksIDQxLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgCiAgICAgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOSwgNDEsIDM4LCA0MywgMzgsIDQyLCAzOCwgCiAgICAgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgCi0gICAgMzUsIDQ2LCA0NCwgNDQsIDQ2LCA0NCwgNDYsIDQ0LCA0NCwgNDYsIDQ0LCA0NCwgNDQsIDQ2LCA0NiwgNDQsIDQ0LCA0NCwgCi0gICAgNDQsIDQ2LCA0NCwgNDQsIDQ2LCA0NCwgNDQsIDQ0LCA0NiwgNDYsIDQ2LCA0NCwgNDQsIDQ2LCA0NCwgMzgsIDQzLCA0NCwgCi0gICAgNDYsIDQ0LCA0NiwgNDQsIDQ0LCA0NiwgNDQsIDQ2LCA0NiwgNDQsIDQ2LCA0NCwgMzgsIDQzLCA0NCwgNDQsIDQ0LCA0NiwgCi0gICAgNDQsIDQ2LCA0NCwgNDQsIDQ2LCA0NiwgNDcsIDQ0LCA0NiwgNDYsIDQ2LCA0NywgNDcsIDQ3LCA0NywgNDgsIDQ5LCAzNSwgCi0gICAgNDgsIDQ5LCAzNSwgNDgsIDQ5LCAzNSwgMzgsIDQyLCAzOCwgNDIsIDM4LCA0MiwgMzgsIDQyLCAzOCwgNDIsIDM4LCA0MiwgCi0gICAgMzgsIDQyLCAzOCwgNDIsIDQ2LCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCA0NCwgNDYsIDM4LCA0MywgMzgsIDQzLCAzOCwgCi0gICAgNDMsIDM4LCA0MywgMzgsIDQzLCA0MywgNDgsIDQ5LCAzNSwgMzgsIDQzLCA0NCwgNDQsIDM4LCA0MywgMzgsIDQzLCAzOCwgCisgICAgMzUsIDQ3LCA0NCwgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NCwgNDcsIDQ0LCA0NCwgNDQsIDQ3LCA0NywgNDQsIDQ0LCA0NCwgCisgICAgNDQsIDQ3LCA0NCwgNDQsIDQ3LCA0NCwgNDQsIDQ0LCA0NywgNDcsIDQ3LCA0NCwgNDQsIDQ3LCA0NCwgMzgsIDQzLCA0NCwgCisgICAgNDcsIDQ0LCA0NywgNDQsIDQ0LCA0NywgNDQsIDQ3LCA0NywgNDQsIDQ3LCA0NCwgMzgsIDQzLCA0NCwgNDQsIDQ0LCA0NywgCisgICAgNDQsIDQ3LCA0NCwgNDQsIDQ3LCA0NywgNDgsIDQ0LCA0NywgNDcsIDQ3LCA0OCwgNDgsIDQ4LCA0OCwgNDksIDUwLCAzNSwgCisgICAgNDksIDUwLCAzNSwgNDksIDUwLCAzNSwgMzgsIDQyLCAzOCwgNDIsIDM4LCA0MiwgMzgsIDQyLCAzOCwgNDIsIDM4LCA0MiwgCisgICAgMzgsIDQyLCAzOCwgNDIsIDQ3LCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCA0NCwgNDcsIDM4LCA0MywgMzgsIDQzLCAzOCwgCisgICAgNDMsIDM4LCA0MywgMzgsIDQzLCA0MywgNDksIDUwLCAzNSwgMzgsIDQzLCA0NCwgNDQsIDM4LCA0MywgMzgsIDQzLCAzOCwgCiAgICAgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgCi0gICAgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDQ0LCA0NiwgMzgsIDQzLCA0NCwgCi0gICAgNDYsIDQ0LCA0NiwgNDQsIDQ2LCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgCi0gICAgNDMsIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgNDYsIDQ0LCA0NCwgNDYsIDQ0LCA0NCwgNDYsIDQ2LCA0NCwgNDYsIDQ0LCA0NCwgCi0gICAgNDQsIDQ0LCA0NiwgNDQsIDQ2LCA0NCwgNDYsIDQ0LCA0NiwgNDQsIDQ2LCA0NiwgNDEsIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgCi0gICAgNDYsIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgNDYsIDQxLCA0NiwgNDYsIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgCi0gICAgNDYsIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgCi0gICAgNDYsIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgCi0gICAgNDYsIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgNDYsIDQ3LCA0NiwgNDYsIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgCi0gICAgNDYsIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgNDYsIDQ2LCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MSwgNTEsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MywgCi0gICAgNTMsIDU0LCA1MywgNTEsIDU1LCA1MSwgNTUsIDU1LCA1NSwgNTEsIDU1LCA1MSwgNTEsIDU2LCA1MiwgNTMsIDUzLCA1MywgCi0gICAgNTMsIDUzLCA1MywgMjYsIDI2LCAyNiwgMjYsIDU3LCAyNiwgNTMsIDU0LCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUzLCA1MywgCi0gICAgNTMsIDUzLCA1MywgNTMsIDUzLCA1MSwgNTMsIDUyLCA1MywgNTMsIDUzLCA1MywgNTMsIDUzLCA1MywgNTMsIDUzLCA1MywgCi0gICAgNTMsIDUzLCA1MywgNTMsIDUzLCA1MywgNTMsIDU4LCA1OCwgNTgsIDU4LCA1OCwgNTksIDU4LCA1OCwgNTgsIDU4LCA1OCwgCi0gICAgNTgsIDU4LCA1OSwgNTksIDU4LCA1OSwgNTgsIDU5LCA1OCwgNTgsIDYwLCA2MSwgNjEsIDYxLCA2MSwgNjAsIDYyLCA2MSwgCi0gICAgNjEsIDYxLCA2MSwgNjEsIDYzLCA2MywgNjQsIDY0LCA2NCwgNjQsIDY1LCA2NSwgNjEsIDYxLCA2MSwgNjEsIDY0LCA2NCwgCi0gICAgNjEsIDY0LCA2NCwgNjEsIDYxLCA2NiwgNjYsIDY2LCA2NiwgNjcsIDYxLCA2MSwgNjEsIDYxLCA1OSwgNTksIDU5LCA2OCwgCi0gICAgNjgsIDU4LCA2OCwgNjgsIDY5LCA1OSwgNjEsIDYxLCA2MSwgNTksIDU5LCA1OSwgNjEsIDYxLCA3MCwgNTksIDU5LCA1OSwgCi0gICAgNjEsIDYxLCA2MSwgNjEsIDU5LCA2MCwgNjEsIDYxLCA1OSwgNzEsIDcyLCA3MiwgNzEsIDcyLCA3MiwgNzEsIDU5LCA1OSwgCi0gICAgNTksIDU5LCA1OSwgNTksIDU5LCA1OSwgNTksIDU5LCA1OSwgNTksIDU5LCA0NCwgNDYsIDQ0LCA0NiwgNzMsIDUzLCA0NCwgCi0gICAgNDYsIDAsIDAsIDUwLCA0NiwgNDYsIDQ2LCA3NCwgMCwgMCwgMCwgMCwgMCwgNTcsIDc1LCAzOCwgNzQsIDM4LCAzOCwgMzgsIAorICAgIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCA0NCwgNDcsIDM4LCA0MywgNDQsIAorICAgIDQ3LCA0NCwgNDcsIDQ0LCA0NywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIAorICAgIDQzLCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NCwgNDQsIDQ3LCA0NCwgNDQsIDQ3LCA0NywgNDQsIDQ3LCA0NCwgNDQsIAorICAgIDQ0LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDcsIDQxLCA0NywgNDcsIDQ3LCA0NywgNDcsIAorICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0MSwgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAorICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAorICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAorICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0OCwgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAorICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNTEsIAorICAgIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTIsIDUyLCA1MywgNTMsIDUzLCA1MywgNTMsIDUzLCA1MywgNTQsIAorICAgIDU0LCA1NSwgNTQsIDUyLCA1NiwgNTIsIDU2LCA1NiwgNTYsIDUyLCA1NiwgNTIsIDUyLCA1NywgNTMsIDU0LCA1NCwgNTQsIAorICAgIDU0LCA1NCwgNTQsIDI1LCAyNSwgMjUsIDI1LCA1OCwgMjUsIDU0LCA1NSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1NCwgNTQsIAorICAgIDU0LCA1NCwgNTQsIDU0LCA1NCwgNTIsIDU0LCA1MywgNTQsIDU0LCA1NCwgNTQsIDU0LCA1NCwgNTQsIDU0LCA1NCwgNTQsIAorICAgIDU0LCA1NCwgNTQsIDU0LCA1NCwgNTQsIDU0LCA1OSwgNTksIDU5LCA1OSwgNTksIDYwLCA1OSwgNTksIDU5LCA1OSwgNTksIAorICAgIDU5LCA1OSwgNjAsIDYwLCA1OSwgNjAsIDU5LCA2MCwgNTksIDU5LCA2MSwgNjIsIDYyLCA2MiwgNjIsIDYxLCA2MywgNjIsIAorICAgIDYyLCA2MiwgNjIsIDYyLCA2NCwgNjQsIDY1LCA2NSwgNjUsIDY1LCA2NiwgNjYsIDYyLCA2MiwgNjIsIDYyLCA2NSwgNjUsIAorICAgIDYyLCA2NSwgNjUsIDYyLCA2MiwgNjcsIDY3LCA2NywgNjcsIDY4LCA2MiwgNjIsIDYyLCA2MiwgNjAsIDYwLCA2MCwgNjksIAorICAgIDY5LCA1OSwgNjksIDY5LCA3MCwgNjAsIDYyLCA2MiwgNjIsIDYwLCA2MCwgNjAsIDYyLCA2MiwgNzEsIDYwLCA2MCwgNjAsIAorICAgIDYyLCA2MiwgNjIsIDYyLCA2MCwgNjEsIDYyLCA2MiwgNjAsIDcyLCA3MywgNzMsIDcyLCA3MywgNzMsIDcyLCA2MCwgNjAsIAorICAgIDYwLCA2MCwgNjAsIDYwLCA2MCwgNjAsIDYwLCA2MCwgNjAsIDYwLCA2MCwgNDQsIDQ3LCA0NCwgNDcsIDc0LCA1NCwgNDQsIAorICAgIDQ3LCAwLCAwLCA1MSwgNDcsIDQ3LCA0NywgNzUsIDAsIDAsIDAsIDAsIDAsIDU4LCA3NiwgMzgsIDc1LCAzOCwgMzgsIDM4LCAKICAgICAwLCAzOCwgMCwgMzgsIDM4LCA0MywgMzksIDM5LCAzOSwgMzksIDM5LCAzOSwgMzksIDM5LCAzOSwgMzksIDM5LCAzOSwgMzksIAogICAgIDM5LCAzOSwgMzksIDM5LCAwLCAzOSwgMzksIDM5LCAzOSwgMzksIDM5LCAzOSwgMzgsIDM4LCA0MywgNDMsIDQzLCA0MywgCiAgICAgNDMsIDQxLCA0MSwgNDEsIDQxLCA0MSwgNDEsIDQxLCA0MSwgNDEsIDQxLCA0MSwgNDEsIDQxLCA0MSwgNDEsIDQxLCA0MSwgCi0gICAgNDYsIDQxLCA0MSwgNDEsIDQxLCA0MSwgNDEsIDQxLCA0MywgNDMsIDQzLCA0MywgNDMsIDQ0LCAzNSwgMzUsIDQ4LCA3NiwgCi0gICAgNzYsIDM1LCAzNSwgNDYsIDQ0LCA0NiwgNDQsIDQ2LCA0NCwgNDYsIDQ0LCA0NiwgNDQsIDQ2LCA0NCwgNDYsIDQ0LCA0NiwgCi0gICAgNDQsIDQ2LCA0NCwgNDYsIDQ0LCA0NiwgNDQsIDQ2LCA0NCwgNDYsIDM1LCAzNSwgMzUsIDQ2LCA0OCwgMzUsIDc3LCA0NCwgCi0gICAgNDYsIDQ4LCA0NCwgNDYsIDQ2LCA0NCwgNDQsIDQ0LCAzOCwgNzgsIDQ0LCAzOCwgNDQsIDQ0LCA0NCwgMzgsIDQ0LCA0NCwgCi0gICAgNDQsIDQ0LCAzOCwgMzgsIDM4LCA0NCwgMzksIDM5LCAzOSwgMzksIDM5LCAzOSwgMzksIDM5LCAzOSwgNzgsIDM5LCAzOSwgCisgICAgNDcsIDQxLCA0MSwgNDEsIDQxLCA0MSwgNDEsIDQxLCA0MywgNDMsIDQzLCA0MywgNDMsIDQ0LCAzNSwgMzUsIDQ5LCA3NywgCisgICAgNzcsIDM1LCAzNSwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgCisgICAgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDM1LCAzNSwgMzUsIDQ3LCA0OSwgMzUsIDc4LCA0NCwgCisgICAgNDcsIDQ5LCA0NCwgNDcsIDQ3LCA0NCwgNDQsIDQ0LCAzOCwgNzksIDQ0LCAzOCwgNDQsIDQ0LCA0NCwgMzgsIDQ0LCA0NCwgCisgICAgNDQsIDQ0LCAzOCwgMzgsIDM4LCA0NCwgMzksIDM5LCAzOSwgMzksIDM5LCAzOSwgMzksIDM5LCAzOSwgNzksIDM5LCAzOSwgCiAgICAgMzksIDM5LCAzOSwgMzksIDM5LCAzOSwgMzksIDM5LCAzOSwgMzksIDM5LCAzOSwgMzksIDM5LCAzOSwgMzksIDM5LCAzOSwgCiAgICAgMzksIDM5LCA0MSwgNDEsIDQxLCA0MSwgNDEsIDQxLCA0MSwgNDEsIDQxLCA0MiwgNDEsIDQxLCA0MSwgNDEsIDQxLCA0MSwgCiAgICAgNDEsIDQxLCA0MSwgNDEsIDQxLCA0MSwgNDEsIDQxLCA0MSwgNDEsIDQxLCA0MSwgNDEsIDQxLCA0MSwgNDEsIDQzLCA0MiwgCi0gICAgNDYsIDQzLCA0NiwgNDYsIDQ2LCA0MywgNDYsIDQ2LCA0NiwgNDYsIDQzLCA0MywgNDMsIDQ2LCA0NCwgNDYsIDQ0LCA0NiwgCi0gICAgNDQsIDQ2LCA0NCwgNDYsIDQ0LCA0NiwgNDQsIDQ2LCA0NCwgNDYsIDQ0LCA0NiwgNDQsIDQ2LCA0NCwgNDYsIDQ0LCA0NiwgCi0gICAgMzgsIDQzLCA0NCwgNDYsIDQ0LCA0NiwgNDQsIDQ2LCA0NCwgNDYsIDQ0LCA0NiwgNzksIDgwLCA4MCwgODAsIDgwLCA4MCwgCi0gICAgODEsIDgxLCA0NCwgNDYsIDQ0LCA0NiwgNDQsIDQ2LCA0NCwgNDYsIDQ0LCA0NiwgNDQsIDQ2LCA0NCwgNDYsIDQ0LCA0NiwgCi0gICAgNDQsIDQ2LCA0NCwgNDYsIDQ0LCA0NiwgNDQsIDQ2LCA0NCwgNDYsIDQ0LCA0NiwgNDQsIDQ2LCA0NCwgNDYsIDQ0LCA0NiwgCi0gICAgNDQsIDQ2LCA0NCwgNDYsIDQ0LCA0NiwgNDQsIDQ2LCA0NCwgNDYsIDQ0LCA0NiwgNDQsIDQ2LCA0NCwgNDYsIDQ0LCA0NiwgCi0gICAgNDQsIDQ2LCA0NCwgMzgsIDQzLCA0NCwgNDYsIDQ0LCA0NiwgNDQsIDQ2LCA0NCwgNDYsIDQ0LCA0NiwgNDQsIDQ2LCA0NiwgCi0gICAgMzgsIDQzLCAzOCwgNDMsIDQ0LCA0NiwgMzgsIDQzLCA0NCwgNDYsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDQ0LCA0NiwgCi0gICAgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgNDQsIDQ2LCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgCi0gICAgMzgsIDQzLCA0NCwgNDYsIDM4LCA0MywgNDQsIDQ2LCA0NCwgNDYsIDQ0LCA0NiwgNDQsIDQ2LCA0NCwgNDYsIDQ0LCA0NiwgCi0gICAgNDQsIDQ2LCA0NCwgNDYsIDQ0LCA0NiwgNDQsIDQ2LCA0NCwgNDYsIDQ0LCA0NiwgNDQsIDQ2LCA0NCwgNDYsIDQ0LCA0NiwgCi0gICAgNDQsIDQ2LCA0NCwgNDYsIDQ0LCA0NiwgNDQsIDQ2LCA0NCwgNDYsIDQ0LCA0NiwgNDQsIDQ2LCA0NCwgNDYsIDAsIDAsIDAsIAorICAgIDQ3LCA0MywgNDcsIDQ3LCA0NywgNDMsIDQ3LCA0NywgNDcsIDQ3LCA0MywgNDMsIDQzLCA0NywgNDQsIDQ3LCA0NCwgNDcsIAorICAgIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIAorICAgIDM4LCA0MywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDgwLCA4MSwgODEsIDgxLCA4MSwgODEsIAorICAgIDgyLCA4MiwgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIAorICAgIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIAorICAgIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIAorICAgIDQ0LCA0NywgNDQsIDM4LCA0MywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDcsIAorICAgIDM4LCA0MywgMzgsIDQzLCA0NCwgNDcsIDM4LCA0MywgNDQsIDQ3LCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCA0NCwgNDcsIAorICAgIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDQ0LCA0NywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIAorICAgIDM4LCA0MywgNDQsIDQ3LCAzOCwgNDMsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIAorICAgIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIAorICAgIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIAogICAgIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIAotICAgIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDAsIDAsIDUyLCA4MiwgODIsIDgyLCA4MiwgODIsIDgyLCAwLCA0NiwgNDYsIDQ2LCAKLSAgICA0NiwgNDYsIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgNDYsIDQ2LCAKLSAgICA0NiwgNDYsIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgNDYsIDM1LCAKLSAgICAwLCA4MiwgODMsIDAsIDAsIDAsIDAsIDAsIDAsIDg0LCA4MCwgODAsIDgwLCA4MCwgODQsIDgwLCA4MCwgODAsIDg1LCA4NCwgCi0gICAgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgODAsIDgwLCA4NCwgODAsIDgwLCA4NSwgCi0gICAgODYsIDgwLCA4NywgODgsIDg5LCA5MCwgOTEsIDkyLCA5MywgOTQsIDk1LCA5NiwgOTYsIDk3LCA5OCwgOTksIDEwMCwgMTAxLCAKLSAgICAxMDIsIDEwMywgMTA0LCAxMDIsIDgwLCA4NCwgMTAyLCA5NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTA1LCAxMDUsIAotICAgIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAKLSAgICAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMTA1LCAxMDUsIDEwNSwgMTAyLCAxMDIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEwNiwgMTA2LCAxMDYsIAotICAgIDEwNiwgMCwgMCwgNzcsIDc3LCAxMDcsIDEwOCwgMTA4LCAxMDksIDExMCwgMTExLCAyNywgMjcsIDgwLCA4MCwgODAsIDgwLCAKLSAgICA4MCwgODAsIDgwLCA4MCwgMTEyLCAxMTMsIDExNCwgMTExLCAwLCAwLCAxMTEsIDExMSwgMTE1LCAxMTUsIDExNiwgMTE2LCAKLSAgICAxMTYsIDExNiwgMTE2LCAxMTUsIDExNSwgMTE1LCAxMTUsIDExNSwgMTE1LCAxMTUsIDExNSwgMTE1LCAxMTUsIDExNSwgCi0gICAgMTE1LCAxMTUsIDExNSwgMTE1LCAxMTUsIDExNSwgMTE1LCAxMTUsIDExNSwgMTE1LCAxMTUsIDExNSwgMTE1LCAxMTUsIAotICAgIDExNywgMTE1LCAxMTUsIDExNSwgMTE1LCAxMTUsIDExNSwgMTE1LCAxMTUsIDExNSwgMTE1LCAxMTgsIDExOSwgMTIwLCAKLSAgICAxMTIsIDExMywgMTE0LCAxMjEsIDEyMiwgMTIzLCAxMjMsIDEyNCwgODQsIDgwLCA4MCwgODAsIDgwLCA4MCwgODQsIDgwLCAKLSAgICA4MCwgODQsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTA4LCAxMjYsIDEyNiwgCi0gICAgMTExLCAxMTUsIDExNSwgMTI3LCAxMTUsIDExNSwgMTE1LCAxMTUsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTE1LCAxMTUsIAotICAgIDExNSwgMTE1LCAxMTUsIDExNSwgMTE1LCAxMTUsIDExNSwgMTE1LCAxMTUsIDExNSwgMTE1LCAxMTUsIDExNSwgMTE1LCAKLSAgICAxMTUsIDExNSwgMTE1LCAxMTUsIDExNSwgMTE1LCAxMTUsIDExNSwgMTE1LCAxMTUsIDExNSwgMTE1LCAxMTUsIDExNSwgCi0gICAgMTE1LCAxMTUsIDExNSwgMTE1LCAxMTUsIDExNSwgMTE1LCAxMTUsIDExNSwgMTE1LCAxMTUsIDExNSwgMTE1LCAxMTUsIAotICAgIDExNSwgMTE1LCAxMTUsIDExNSwgMTE1LCAxMTUsIDExNSwgMTE1LCAxMTUsIDExNSwgMTE1LCAxMTUsIDExNSwgMTE1LCAKLSAgICAxMTUsIDExNSwgMTE1LCAxMTUsIDExNSwgMTE1LCAxMTUsIDExNSwgMTE1LCAxMTUsIDExNSwgMTE1LCAxMTUsIDExNiwgCi0gICAgMTE1LCAxMTYsIDExNSwgMTE1LCAxMTUsIDExNSwgMTE1LCAxMTUsIDExNSwgMTE1LCAxMTUsIDExNSwgMTE1LCAxMTUsIAotICAgIDExNSwgMTE1LCAxMTUsIDExNSwgMTE2LCAxMTEsIDExNSwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDEwNiwgMjcsIAotICAgIDgwLCA4MCwgODAsIDgwLCA4NCwgODAsIDExNywgMTE3LCA4MCwgODAsIDI3LCA4NCwgODAsIDgwLCA4NCwgMTE1LCAxMTUsIAotICAgIDEyOSwgMTI5LCAxMjksIDEyOSwgMTI5LCAxMjksIDEyOSwgMTI5LCAxMjksIDEyOSwgMTE1LCAxMTUsIDExNSwgMTMwLCAKLSAgICAxMzAsIDExNSwgMTExLCAxMTEsIDExMSwgMTExLCAxMTEsIDExMSwgMTExLCAxMTEsIDExMSwgMTExLCAxMTEsIDExMSwgCi0gICAgMTExLCAxMTEsIDAsIDEwNiwgMTE1LCAxMzEsIDExNSwgMTE1LCAxMTUsIDExNSwgMTE1LCAxMTUsIDExNSwgMTE1LCAxMTUsIAotICAgIDExNSwgMTE1LCAxMTUsIDExNSwgMTE1LCAxMTUsIDExNSwgMTE1LCAxMTUsIDExNSwgMTE1LCAxMTUsIDExNSwgMTE1LCAKLSAgICAxMTUsIDExNSwgMTE1LCAxMTUsIDExNSwgMTE1LCAxMTUsIDgwLCA4NCwgODAsIDgwLCA4NCwgODAsIDgwLCA4NCwgODQsIAotICAgIDg0LCA4MCwgODQsIDg0LCA4MCwgODQsIDgwLCA4MCwgODAsIDg0LCA4MCwgODQsIDgwLCA4NCwgODAsIDg0LCA4MCwgODAsIAotICAgIDAsIDAsIDExNSwgMTE1LCAxMTUsIDExNSwgMTE1LCAxMTUsIDExNSwgMTE1LCAxMTUsIDExNSwgMTE1LCAxMTUsIDExNSwgCi0gICAgMTE1LCAxMTUsIDExNSwgMTE1LCAxMTUsIDExNSwgMTE1LCAxMTUsIDExNSwgMTE1LCAxMTUsIDExNSwgMTE1LCAxMTUsIAotICAgIDExNSwgMTE1LCAxMTUsIDExNSwgMTE1LCAxMTUsIDExNSwgMTE1LCAxMTUsIDExNSwgMTE1LCAxMTUsIDExNSwgMTE1LCAKLSAgICAxMTUsIDExNSwgMTE1LCAxMTUsIDExNSwgMTE1LCAxMTUsIDExNSwgMTE1LCAxMTUsIDExNSwgMTE1LCAxMTUsIDExNSwgCi0gICAgMTE1LCAxMTUsIDExNSwgMTE1LCAxMTUsIDExNSwgMTE1LCAxMTUsIDExNSwgMTE1LCAxMTUsIDExNSwgMTE1LCAxMTUsIAotICAgIDExNSwgMTE1LCAxMTUsIDExNSwgMTE1LCAxMTUsIDExNSwgMTE1LCAxMTUsIDExNSwgMTE1LCAxMTUsIDExNSwgMTE1LCAKLSAgICAxMTUsIDExNSwgMTE1LCAxMTUsIDExNSwgMTE1LCAxMzIsIDEzMiwgMTMyLCAxMzIsIDEzMiwgMTMyLCAxMzIsIDEzMiwgCi0gICAgMTMyLCAxMzIsIDEzMiwgMTE1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzMsIDEzMywgCi0gICAgMTMzLCAxMzMsIDEzMywgMTMzLCAxMzMsIDEzMywgMTMzLCAxMzMsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIAotICAgIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAKLSAgICAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDgwLCA4MCwgCi0gICAgODAsIDgwLCA4MCwgODAsIDgwLCA4NCwgODAsIDEzNCwgMTM0LCAyNywgMTM1LCAxMzUsIDEzNSwgMTM0LCAwLCAwLCAwLCAwLCAKLSAgICAwLCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgCi0gICAgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDgwLCA4MCwgODAsIDgwLCAxMzQsIDgwLCA4MCwgODAsIAotICAgIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDEzNCwgODAsIDgwLCA4MCwgMTM0LCA4MCwgODAsIDgwLCA4MCwgODAsIDAsIDAsIAotICAgIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAKLSAgICAxMDIsIDAsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgCi0gICAgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgODQsIDg0LCA4NCwgCi0gICAgMCwgMCwgMTAyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzIsIDEzMiwgCi0gICAgMTMyLCAxMzYsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAKKyAgICA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCAwLCAwLCA1MywgODMsIDgzLCA4MywgODMsIDgzLCA4MywgMCwgNDcsIDQ3LCA0NywgCiAgICAgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgCi0gICAgNDcsIDQ3LCA0NywgMTM3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgMTM3LCA0NywgNDcsIDEzNywgNDcsIDQ3LCAKLSAgICA0NywgNDcsIDQ3LCAxMzIsIDEzNiwgMTM4LCA0NywgMTM2LCAxMzYsIDEzNiwgMTMyLCAxMzIsIDEzMiwgMTMyLCAxMzIsIAotICAgIDEzMiwgMTMyLCAxMzIsIDEzNiwgMTM2LCAxMzYsIDEzNiwgMTM5LCAxMzYsIDEzNiwgNDcsIDgwLCA4NCwgODAsIDgwLCAKLSAgICAxMzIsIDEzMiwgMTMyLCAxNDAsIDE0MCwgMTQwLCAxNDAsIDE0MCwgMTQwLCAxNDAsIDE0MCwgNDcsIDQ3LCAxMzIsIDEzMiwgCi0gICAgODIsIDgyLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDgyLCA1MiwgNDcsIDQ3LCAKLSAgICA0NywgNDcsIDQ3LCA0NywgMCwgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDAsIDEzMiwgMTM2LCAxMzYsIDAsIDQ3LCAKLSAgICA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgMCwgMCwgNDcsIDQ3LCAwLCAwLCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAKLSAgICA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgMCwgNDcsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDAsIDQ3LCAwLCAwLCAwLCA0NywgNDcsIDQ3LCA0NywgMCwgMCwgMTQyLCA0NywgCi0gICAgMTQzLCAxMzYsIDEzNiwgMTMyLCAxMzIsIDEzMiwgMTMyLCAwLCAwLCAxMzYsIDEzNiwgMCwgMCwgMTQ0LCAxNDQsIDEzOSwgCi0gICAgNDcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE0MywgMCwgMCwgMCwgMCwgMTQwLCAxNDAsIDAsIDE0MCwgNDcsIDQ3LCAKLSAgICAxMzIsIDEzMiwgMCwgMCwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCA0NywgNDcsIAotICAgIDE0NSwgMTQ1LCAxNDYsIDE0NiwgMTQ2LCAxNDYsIDE0NiwgMTQ2LCA3OSwgMTQ1LCAwLCAwLCAwLCAwLCAwLCAxMzIsIDEzMiwgCi0gICAgMTM2LCAwLCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAwLCAwLCAwLCAwLCA0NywgNDcsIDAsIDAsIDQ3LCA0NywgNDcsIDQ3LCAKLSAgICA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAKLSAgICAwLCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgMCwgNDcsIDE0MCwgMCwgNDcsIDE0MCwgMCwgNDcsIDQ3LCAwLCAwLCAKLSAgICAxNDIsIDAsIDEzNiwgMTM2LCAxMzYsIDEzMiwgMTMyLCAwLCAwLCAwLCAwLCAxMzIsIDEzMiwgMCwgMCwgMTMyLCAxMzIsIAotICAgIDEzOSwgMCwgMCwgMCwgMTMyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNDAsIDE0MCwgMTQwLCA0NywgMCwgMTQwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDEzMiwgCi0gICAgMTMyLCA0NywgNDcsIDQ3LCAxMzIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEzMiwgMTMyLCAxMzYsIDAsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDAsIDQ3LCA0NywgNDcsIDAsIDQ3LCA0NywgNDcsIDQ3LCA0NywgCi0gICAgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAwLCAKLSAgICA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgMCwgNDcsIDQ3LCAwLCA0NywgNDcsIDQ3LCA0NywgNDcsIDAsIDAsIDE0MiwgCi0gICAgNDcsIDEzNiwgMTM2LCAxMzYsIDEzMiwgMTMyLCAxMzIsIDEzMiwgMTMyLCAwLCAxMzIsIDEzMiwgMTM2LCAwLCAxMzYsIAotICAgIDEzNiwgMTM5LCAwLCAwLCA0NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDcsIDQ3LCAKLSAgICAxMzIsIDEzMiwgMCwgMCwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAwLCAxNDUsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEzMiwgMTM2LCAxMzYsIDAsIDQ3LCA0NywgCi0gICAgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgMCwgMCwgNDcsIDQ3LCAwLCAwLCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgCi0gICAgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgMCwgNDcsIDQ3LCAKLSAgICA0NywgNDcsIDQ3LCA0NywgNDcsIDAsIDQ3LCA0NywgMCwgNDcsIDQ3LCA0NywgNDcsIDQ3LCAwLCAwLCAxNDIsIDQ3LCAxNDMsIAotICAgIDEzMiwgMTM2LCAxMzIsIDEzMiwgMTMyLCAxMzIsIDAsIDAsIDEzNiwgMTQ0LCAwLCAwLCAxNDQsIDE0NCwgMTM5LCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAxNDcsIDE0MywgMCwgMCwgMCwgMCwgMTQwLCAxNDAsIDAsIDQ3LCA0NywgNDcsIDEzMiwgCi0gICAgMTMyLCAwLCAwLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDc5LCA0NywgMTQ2LCAKLSAgICAxNDYsIDE0NiwgMTQ2LCAxNDYsIDE0NiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTMyLCA0NywgMCwgNDcsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgMCwgMCwgMCwgNDcsIDQ3LCA0NywgMCwgNDcsIDQ3LCAxMzcsIDQ3LCAwLCAwLCAwLCA0NywgCi0gICAgNDcsIDAsIDQ3LCAwLCA0NywgNDcsIDAsIDAsIDAsIDQ3LCA0NywgMCwgMCwgMCwgNDcsIDQ3LCA0NywgMCwgMCwgMCwgNDcsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgMCwgMCwgMCwgMCwgMTQzLCAxMzYsIDEzMiwgCi0gICAgMTM2LCAxMzYsIDAsIDAsIDAsIDEzNiwgMTM2LCAxMzYsIDAsIDE0NCwgMTQ0LCAxNDQsIDEzOSwgMCwgMCwgNDcsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDE0MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTQxLCAxNDEsIDE0MSwgCi0gICAgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDYsIDE0NiwgMTQ2LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAKLSAgICAxNDUsIDI3LCAwLCAwLCAwLCAwLCAwLCAwLCAxMzYsIDEzNiwgMTM2LCAwLCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgCi0gICAgNDcsIDAsIDQ3LCA0NywgNDcsIDAsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAKLSAgICA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgMCwgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAotICAgIDQ3LCA0NywgNDcsIDAsIDQ3LCA0NywgNDcsIDQ3LCA0NywgMCwgMCwgMCwgNDcsIDEzMiwgMTMyLCAxMzIsIDEzNiwgMTM2LCAKLSAgICAxMzYsIDEzNiwgMCwgMTMyLCAxMzIsIDE0OCwgMCwgMTMyLCAxMzIsIDEzMiwgMTM5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAxNDksIDE1MCwgMCwgNDcsIDQ3LCAwLCAwLCAwLCAwLCAwLCAwLCA0NywgNDcsIDEzMiwgMTMyLCAwLCAwLCAxNDEsIDE0MSwgCi0gICAgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE1MSwgMTUxLCAKLSAgICAxNTEsIDE1MSwgMTUxLCAxNTEsIDE1MSwgNzksIDAsIDAsIDEzNiwgMTM2LCAwLCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAKLSAgICA0NywgNDcsIDAsIDQ3LCA0NywgNDcsIDAsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgMCwgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgCi0gICAgNDcsIDQ3LCA0NywgNDcsIDAsIDQ3LCA0NywgNDcsIDQ3LCA0NywgMCwgMCwgMTQyLCA0NywgMTM2LCAxNTIsIDE0NCwgMTM2LCAKLSAgICAxNDMsIDEzNiwgMTM2LCAwLCAxNTIsIDE0NCwgMTQ0LCAwLCAxNDQsIDE0NCwgMTMyLCAxMzksIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDE0MywgMTQzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NywgMCwgNDcsIDQ3LCAxMzIsIDEzMiwgMCwgMCwgMTQxLCAKLSAgICAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAwLCA0NywgNDcsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEzNiwgMTM2LCAwLCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAotICAgIDAsIDQ3LCA0NywgNDcsIDAsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgCi0gICAgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgCi0gICAgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgMCwgMCwgNDcsIDE0MywgMTM2LCAxMzYsIDEzMiwgMTMyLCAKLSAgICAxMzIsIDEzMiwgMCwgMTM2LCAxMzYsIDEzNiwgMCwgMTQ0LCAxNDQsIDE0NCwgMTM5LCA0NywgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMTQzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NywgNDcsIDEzMiwgMTMyLCAwLCAwLCAxNDEsIDE0MSwgMTQxLCAKLSAgICAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0NiwgMTQ2LCAxNDYsIDE0NiwgMTQ2LCAxNDYsIDAsIDAsIDAsIAotICAgIDc5LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAwLCAwLCAxMzYsIDEzNiwgMCwgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgCi0gICAgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgMCwgMCwgMCwgNDcsIDQ3LCA0NywgNDcsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAotICAgIDQ3LCA0NywgMCwgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgMCwgNDcsIDAsIDAsIDQ3LCA0NywgNDcsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCAwLCAwLCAwLCAxNTMsIDAsIDAsIDAsIDAsIDE0MywgMTM2LCAxMzYsIDEzMiwgMTMyLCAxMzIsIAotICAgIDAsIDEzMiwgMCwgMTM2LCAxMzYsIDE0NCwgMTM2LCAxNDQsIDE0NCwgMTQ0LCAxNDMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEzNiwgMTM2LCA4MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgMTMyLCA0NywgMTU0LCAKLSAgICAxMzIsIDEzMiwgMTMyLCAxMzIsIDE1NSwgMTU1LCAxMzksIDAsIDAsIDAsIDAsIDE0NSwgNDcsIDQ3LCA0NywgNDcsIDQ3LCAKLSAgICA0NywgNTIsIDEzMiwgMTU2LCAxNTYsIDE1NiwgMTU2LCAxMzIsIDEzMiwgMTMyLCA4MiwgMTQxLCAxNDEsIDE0MSwgMTQxLCAKLSAgICAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCA4MiwgODIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgMzUsIAorICAgIDAsIDgzLCA4NCwgMCwgMCwgMCwgMCwgODUsIDAsIDg2LCA4MSwgODEsIDgxLCA4MSwgODYsIDgxLCA4MSwgODEsIDg3LCA4NiwgCisgICAgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODYsIDg2LCA4NiwgODYsIDg2LCA4NiwgODEsIDgxLCA4NiwgODEsIDgxLCA4NywgCisgICAgODgsIDgxLCA4OSwgOTAsIDkxLCA5MiwgOTMsIDk0LCA5NSwgOTYsIDk3LCA5OCwgOTgsIDk5LCAxMDAsIDEwMSwgMTAyLCAKKyAgICAxMDMsIDEwNCwgMTA1LCAxMDYsIDEwNCwgODEsIDg2LCAxMDQsIDk3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMDcsIAorICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKKyAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAwLCAwLCAwLCAwLCAKKyAgICAwLCAxMDcsIDEwNywgMTA3LCAxMDQsIDEwNCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTA4LCAxMDgsIAorICAgIDEwOCwgMTA4LCAxMDgsIDAsIDc4LCA3OCwgMTA5LCAxMTAsIDExMCwgMTExLCAxMTIsIDExMywgMjYsIDI2LCA4MSwgODEsIAorICAgIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDExNCwgMTE1LCAxMTYsIDExMywgMCwgMCwgMTEzLCAxMTMsIDExNywgMTE3LCAKKyAgICAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE3LCAxMTcsIDExNywgMTE3LCAxMTcsIDExNywgMTE3LCAxMTcsIDExNywgCisgICAgMTE3LCAxMTcsIDExNywgMTE3LCAxMTcsIDExNywgMTE3LCAxMTcsIDExNywgMTE3LCAxMTcsIDExNywgMTE3LCAxMTcsIAorICAgIDExNywgMTE3LCAxMTksIDExNywgMTE3LCAxMTcsIDExNywgMTE3LCAxMTcsIDExNywgMTE3LCAxMTcsIDExNywgMTIwLCAKKyAgICAxMjEsIDEyMiwgMTE0LCAxMTUsIDExNiwgMTIzLCAxMjQsIDEyNSwgMTI1LCAxMjYsIDg2LCA4MSwgODEsIDgxLCA4MSwgODEsIAorICAgIDg2LCA4MSwgODEsIDg2LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDExMCwgCisgICAgMTI4LCAxMjgsIDExMywgMTE3LCAxMTcsIDEyOSwgMTE3LCAxMTcsIDExNywgMTE3LCAxMzAsIDEzMCwgMTMwLCAxMzAsIAorICAgIDExNywgMTE3LCAxMTcsIDExNywgMTE3LCAxMTcsIDExNywgMTE3LCAxMTcsIDExNywgMTE3LCAxMTcsIDExNywgMTE3LCAKKyAgICAxMTcsIDExNywgMTE3LCAxMTcsIDExNywgMTE3LCAxMTcsIDExNywgMTE3LCAxMTcsIDExNywgMTE3LCAxMTcsIDExNywgCisgICAgMTE3LCAxMTcsIDExNywgMTE3LCAxMTcsIDExNywgMTE3LCAxMTcsIDExNywgMTE3LCAxMTcsIDExNywgMTE3LCAxMTcsIAorICAgIDExNywgMTE3LCAxMTcsIDExNywgMTE3LCAxMTcsIDExNywgMTE3LCAxMTcsIDExNywgMTE3LCAxMTcsIDExNywgMTE3LCAKKyAgICAxMTcsIDExNywgMTE3LCAxMTcsIDExNywgMTE3LCAxMTcsIDExNywgMTE3LCAxMTcsIDExNywgMTE3LCAxMTcsIDExNywgCisgICAgMTE3LCAxMTgsIDExNywgMTE4LCAxMTcsIDExNywgMTE3LCAxMTcsIDExNywgMTE3LCAxMTcsIDExNywgMTE3LCAxMTcsIAorICAgIDExNywgMTE3LCAxMTcsIDExNywgMTE3LCAxMTcsIDExOCwgMTEzLCAxMTcsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCAKKyAgICAxMDgsIDI2LCA4MSwgODEsIDgxLCA4MSwgODYsIDgxLCAxMTksIDExOSwgODEsIDgxLCAyNiwgODYsIDgxLCA4MSwgODYsIAorICAgIDExNywgMTE3LCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDExNywgMTE3LCAKKyAgICAxMTcsIDEzMiwgMTMyLCAxMTcsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgCisgICAgMTEzLCAxMTMsIDExMywgMTEzLCAwLCAxMzMsIDExNywgMTM0LCAxMTcsIDExNywgMTE3LCAxMTcsIDExNywgMTE3LCAxMTcsIAorICAgIDExNywgMTE3LCAxMTcsIDExNywgMTE3LCAxMTcsIDExNywgMTE3LCAxMTcsIDExNywgMTE3LCAxMTcsIDExNywgMTE3LCAKKyAgICAxMTcsIDExNywgMTE3LCAxMTcsIDExNywgMTE3LCAxMTcsIDExNywgMTE3LCA4MSwgODYsIDgxLCA4MSwgODYsIDgxLCA4MSwgCisgICAgODYsIDg2LCA4NiwgODEsIDg2LCA4NiwgODEsIDg2LCA4MSwgODEsIDgxLCA4NiwgODEsIDg2LCA4MSwgODYsIDgxLCA4NiwgCisgICAgODEsIDgxLCAwLCAwLCAxMTcsIDExNywgMTE3LCAxMTcsIDExNywgMTE3LCAxMTcsIDExNywgMTE3LCAxMTcsIDExNywgMTE3LCAKKyAgICAxMTcsIDExNywgMTE3LCAxMTcsIDExNywgMTE3LCAxMTcsIDExNywgMTE3LCAxMTcsIDExNywgMTE3LCAxMTcsIDExNywgCisgICAgMTE3LCAxMTcsIDExNywgMTE3LCAxMTcsIDExNywgMTE3LCAxMTcsIDExNywgMTE3LCAxMTcsIDExNywgMTE3LCAxMTcsIAorICAgIDExNywgMTE3LCAxMTcsIDExNywgMTE3LCAxMTcsIDExNywgMTE3LCAxMTcsIDExNywgMTE3LCAxMTcsIDExNywgMTE3LCAKKyAgICAxMTcsIDExNywgMTE3LCAxMTcsIDExNywgMTE3LCAxMTcsIDExNywgMTE3LCAxMTcsIDExNywgMTE3LCAxMTcsIDExNywgCisgICAgMTE3LCAxMTcsIDExNywgMTE3LCAxMTcsIDExNywgMTE3LCAxMTcsIDExNywgMTE3LCAxMTcsIDExNywgMTE3LCAxMTcsIAorICAgIDExNywgMTE3LCAxMTcsIDExNywgMTE3LCAxMTcsIDExNywgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAKKyAgICAxMzUsIDEzNSwgMTM1LCAxMzUsIDExNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTM2LCAKKyAgICAxMzYsIDEzNiwgMTM2LCAxMzYsIDEzNiwgMTM2LCAxMzYsIDEzNiwgMTM2LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCisgICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAorICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCA4MSwgCisgICAgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODYsIDgxLCAxMzcsIDEzNywgMjYsIDEzOCwgMTM4LCAxMzgsIDEzNywgMCwgMCwgCisgICAgMCwgMCwgMCwgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKKyAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCA4MSwgODEsIDgxLCA4MSwgMTM3LCA4MSwgODEsIAorICAgIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCAxMzcsIDgxLCA4MSwgODEsIDEzNywgODEsIDgxLCA4MSwgODEsIDgxLCAwLCAKKyAgICAwLCAxMDQsIDEwNCwgMTA0LCAxMDQsIDEwNCwgMTA0LCAxMDQsIDEwNCwgMTA0LCAxMDQsIDEwNCwgMTA0LCAxMDQsIDEwNCwgCisgICAgMTA0LCAwLCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAorICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDg2LCA4NiwgODYsIAorICAgIDAsIDAsIDEwNCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgNDcsIDQ3LCAwLCA0NywgMCwgMCwgNDcsIDQ3LCAwLCA0NywgMCwgMCwgNDcsIDAsIDAsIDAsIDAsIDAsIDAsIDQ3LCAKLSAgICA0NywgNDcsIDQ3LCAwLCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgMCwgNDcsIDQ3LCA0NywgMCwgNDcsIDAsIDQ3LCAKLSAgICAwLCAwLCA0NywgNDcsIDAsIDQ3LCA0NywgNDcsIDQ3LCAxMzIsIDQ3LCAxNTQsIDEzMiwgMTMyLCAxMzIsIDEzMiwgMTU3LCAKLSAgICAxNTcsIDAsIDEzMiwgMTMyLCA0NywgMCwgMCwgNDcsIDQ3LCA0NywgNDcsIDQ3LCAwLCA1MiwgMCwgMTU4LCAxNTgsIDE1OCwgCi0gICAgMTU4LCAxMzIsIDEzMiwgMCwgMCwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAwLCAKLSAgICAwLCAxNTQsIDE1NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDcsIDc5LCA3OSwgNzksIDgyLCA4MiwgODIsIDgyLCAKLSAgICA4MiwgODIsIDgyLCA4MiwgMTU5LCA4MiwgODIsIDgyLCA4MiwgODIsIDgyLCA3OSwgNzksIDc5LCA3OSwgNzksIDg0LCA4NCwgCi0gICAgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAKLSAgICAxNDYsIDE0NiwgMTQ2LCAxNDYsIDE0NiwgMTQ2LCAxNDYsIDE0NiwgMTQ2LCAxNDYsIDc5LCA4NCwgNzksIDg0LCA3OSwgCi0gICAgMTYwLCAxNjEsIDE2MiwgMTYxLCAxNjIsIDEzNiwgMTM2LCA0NywgNDcsIDQ3LCAxNDAsIDQ3LCA0NywgNDcsIDQ3LCAwLCAKLSAgICA0NywgNDcsIDQ3LCA0NywgMTQwLCA0NywgNDcsIDQ3LCA0NywgMTQwLCA0NywgNDcsIDQ3LCA0NywgMTQwLCA0NywgNDcsIAotICAgIDQ3LCA0NywgMTQwLCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAxNDAsIDQ3LCA0NywgCi0gICAgNDcsIDAsIDAsIDAsIDAsIDE2MywgMTY0LCAxNjUsIDE2NiwgMTY1LCAxNjUsIDE2NywgMTY1LCAxNjcsIDE2NCwgMTY0LCAKLSAgICAxNjQsIDE2NCwgMTMyLCAxMzYsIDE2NCwgMTY1LCA4MCwgODAsIDEzOSwgODIsIDgwLCA4MCwgNDcsIDQ3LCA0NywgNDcsIAotICAgIDQ3LCAxMzIsIDEzMiwgMTMyLCAxMzIsIDEzMiwgMTMyLCAxNjUsIDEzMiwgMTMyLCAxMzIsIDEzMiwgMCwgMTMyLCAxMzIsIAotICAgIDEzMiwgMTMyLCAxNjUsIDEzMiwgMTMyLCAxMzIsIDEzMiwgMTY1LCAxMzIsIDEzMiwgMTMyLCAxMzIsIDE2NSwgMTMyLCAKLSAgICAxMzIsIDEzMiwgMTMyLCAxNjUsIDEzMiwgMTMyLCAxMzIsIDEzMiwgMTMyLCAxMzIsIDEzMiwgMTMyLCAxMzIsIDEzMiwgCi0gICAgMTMyLCAxMzIsIDE2NSwgMTMyLCAxMzIsIDEzMiwgMCwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA4NCwgNzksIAotICAgIDc5LCA3OSwgNzksIDc5LCA3OSwgMCwgNzksIDc5LCA4MiwgODIsIDgyLCA4MiwgODIsIDc5LCA3OSwgNzksIDc5LCA4MiwgCi0gICAgODIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgCi0gICAgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgCi0gICAgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgMTM3LCA0NywgNDcsIDQ3LCA0NywgMTM2LCAKLSAgICAxMzYsIDEzMiwgMTQ3LCAxMzIsIDEzMiwgMTM2LCAxMzIsIDEzMiwgMTMyLCAxMzIsIDEzMiwgMTQyLCAxMzYsIDEzOSwgCi0gICAgMTM5LCAxMzYsIDEzNiwgMTMyLCAxMzIsIDQ3LCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAKLSAgICAxNDEsIDgyLCA4MiwgODIsIDgyLCA4MiwgODIsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDEzNiwgMTM2LCAxMzIsIDEzMiwgCi0gICAgNDcsIDQ3LCA0NywgNDcsIDEzMiwgMTMyLCAxMzIsIDQ3LCAxMzYsIDEzNiwgMTM2LCA0NywgNDcsIDEzNiwgMTM2LCAxMzYsIAotICAgIDEzNiwgMTM2LCAxMzYsIDEzNiwgNDcsIDQ3LCA0NywgMTMyLCAxMzIsIDEzMiwgMTMyLCA0NywgNDcsIDQ3LCA0NywgNDcsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgMTMyLCAxMzYsIDEzNiwgMTMyLCAxMzIsIDEzNiwgMTM2LCAxMzYsIAotICAgIDEzNiwgMTM2LCAxMzYsIDg0LCA0NywgMTM2LCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAKLSAgICAxNDEsIDEzNiwgMTM2LCAxMzYsIDEzMiwgNzksIDc5LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTE3LCAwLCAxMTcsIAorICAgIDExNywgMTE3LCAxMTcsIDExNywgMTE3LCAxMTcsIDExNywgMTE3LCAxMTcsIDExNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgODEsIAorICAgIDgxLCA4NiwgODEsIDgxLCA4NiwgODEsIDgxLCA4MSwgODYsIDg2LCA4NiwgMTIwLCAxMjEsIDEyMiwgODEsIDgxLCA4MSwgCisgICAgODYsIDgxLCA4MSwgODYsIDg2LCA4MSwgODEsIDgxLCA4MSwgMCwgMTM1LCAxMzUsIDEzNSwgMTM5LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTQwLCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTQwLCA0OCwgNDgsIDE0MCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAxMzUsIDEzOSwgCisgICAgMTQxLCA0OCwgMTM5LCAxMzksIDEzOSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzOSwgMTM5LCAKKyAgICAxMzksIDEzOSwgMTQyLCAxMzksIDEzOSwgNDgsIDgxLCA4NiwgODEsIDgxLCAxMzUsIDEzNSwgMTM1LCAxNDMsIDE0MywgCisgICAgMTQzLCAxNDMsIDE0MywgMTQzLCAxNDMsIDE0MywgNDgsIDQ4LCAxMzUsIDEzNSwgODMsIDgzLCAxNDQsIDE0NCwgMTQ0LCAKKyAgICAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDgzLCA1MywgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDEzNSwgMTM5LCAxMzksIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgMCwgMCwgNDgsIDQ4LCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIAorICAgIDQ4LCAwLCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgMTQ1LCA0OCwgMTQ2LCAxMzksIDEzOSwgMTM1LCAxMzUsIDEzNSwgCisgICAgMTM1LCAwLCAwLCAxMzksIDEzOSwgMCwgMCwgMTQ3LCAxNDcsIDE0MiwgNDgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDE0NiwgMCwgMCwgMCwgMCwgMTQzLCAxNDMsIDAsIDE0MywgNDgsIDQ4LCAxMzUsIDEzNSwgMCwgMCwgMTQ0LCAxNDQsIDE0NCwgCisgICAgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCA0OCwgNDgsIDg1LCA4NSwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAKKyAgICAxNDgsIDE0OCwgODAsIDg1LCAwLCAwLCAwLCAwLCAwLCAxMzUsIDEzNSwgMTM5LCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCAwLCAwLCAwLCAwLCA0OCwgNDgsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgMCwgNDgsIDE0MywgMCwgNDgsIDE0MywgMCwgNDgsIDQ4LCAwLCAwLCAxNDUsIDAsIDEzOSwgMTM5LCAxMzksIDEzNSwgCisgICAgMTM1LCAwLCAwLCAwLCAwLCAxMzUsIDEzNSwgMCwgMCwgMTM1LCAxMzUsIDE0MiwgMCwgMCwgMCwgMTM1LCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAxNDMsIDE0MywgMTQzLCA0OCwgMCwgMTQzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNDQsIDE0NCwgMTQ0LCAKKyAgICAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDEzNSwgMTM1LCA0OCwgNDgsIDQ4LCAxMzUsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEzNSwgMTM1LCAxMzksIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDAsIDQ4LCA0OCwgNDgsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgNDgsIAorICAgIDQ4LCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDAsIDE0NSwgNDgsIDEzOSwgMTM5LCAxMzksIDEzNSwgMTM1LCAxMzUsIAorICAgIDEzNSwgMTM1LCAwLCAxMzUsIDEzNSwgMTM5LCAwLCAxMzksIDEzOSwgMTQyLCAwLCAwLCA0OCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDgsIDQ4LCAxMzUsIDEzNSwgMCwgMCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAKKyAgICAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCA4MywgODUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDEzNSwgMTM5LCAxMzksIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgNDgsIDQ4LCAKKyAgICAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDQ4LCA0OCwgMCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCAwLCAwLCAxNDUsIDQ4LCAxNDYsIDEzNSwgMTM5LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDAsIDAsIDEzOSwgCisgICAgMTQ3LCAwLCAwLCAxNDcsIDE0NywgMTQyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNDksIDE0NiwgMCwgMCwgMCwgMCwgCisgICAgMTQzLCAxNDMsIDAsIDQ4LCA0OCwgNDgsIDEzNSwgMTM1LCAwLCAwLCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAKKyAgICAxNDQsIDE0NCwgMTQ0LCAxNDQsIDgwLCA0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMTM1LCA0OCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgCisgICAgMCwgNDgsIDQ4LCAxNDAsIDQ4LCAwLCAwLCAwLCA0OCwgNDgsIDAsIDQ4LCAwLCA0OCwgNDgsIDAsIDAsIDAsIDQ4LCA0OCwgCisgICAgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgMCwgMCwgMCwgMCwgMTQ2LCAxMzksIDEzNSwgMTM5LCAxMzksIDAsIDAsIDAsIDEzOSwgMTM5LCAxMzksIDAsIDE0NywgCisgICAgMTQ3LCAxNDcsIDE0MiwgMCwgMCwgNDgsIDAsIDAsIDAsIDAsIDAsIDAsIDE0NiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDgsIAorICAgIDE0OCwgMTQ4LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCA4NSwgMjYsIDAsIDAsIDAsIDAsIDAsIDAsIDEzOSwgMTM5LCAKKyAgICAxMzksIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgNDgsIDQ4LCA0OCwgMCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAKKyAgICAwLCAwLCA0OCwgMTM1LCAxMzUsIDEzNSwgMTM5LCAxMzksIDEzOSwgMTM5LCAwLCAxMzUsIDEzNSwgMTUwLCAwLCAxMzUsIAorICAgIDEzNSwgMTM1LCAxNDIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE1MSwgMTUyLCAwLCA0OCwgNDgsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDQ4LCA0OCwgMTM1LCAxMzUsIDAsIDAsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIAorICAgIDE0NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTUzLCAxNTMsIDE1MywgMTUzLCAxNTMsIDE1MywgMTUzLCA4MCwgMCwgMCwgCisgICAgMTM5LCAxMzksIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgNDgsIDQ4LCA0OCwgMCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCAwLCAwLCAxNDUsIDQ4LCAxMzksIDE1NCwgMTQ3LCAxMzksIDE0NiwgMTM5LCAxMzksIDAsIDE1NCwgMTQ3LCAxNDcsIAorICAgIDAsIDE0NywgMTQ3LCAxMzUsIDE0MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTQ2LCAxNDYsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDQ4LCAwLCA0OCwgNDgsIDEzNSwgMTM1LCAwLCAwLCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgCisgICAgMTQ0LCAxNDQsIDAsIDQ4LCA0OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTM5LCAKKyAgICAxMzksIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgNDgsIDQ4LCA0OCwgMCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCAwLCAwLCA0OCwgMTQ2LCAxMzksIDEzOSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAwLCAxMzksIDEzOSwgMTM5LCAwLCAKKyAgICAxNDcsIDE0NywgMTQ3LCAxNDIsIDQ4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNDYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDQ4LCA0OCwgMTM1LCAxMzUsIDAsIDAsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIAorICAgIDE0NCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMCwgMCwgMCwgODAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDAsIDAsIDEzOSwgMTM5LCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCA0OCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDAsIDAsIAorICAgIDE1NSwgMCwgMCwgMCwgMCwgMTQ2LCAxMzksIDEzOSwgMTM1LCAxMzUsIDEzNSwgMCwgMTM1LCAwLCAxMzksIDEzOSwgMTQ3LCAKKyAgICAxMzksIDE0NywgMTQ3LCAxNDcsIDE0NiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMTM5LCAxMzksIDgzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAxMzUsIDQ4LCAxNTYsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTU3LCAKKyAgICAxNTcsIDE0MiwgMCwgMCwgMCwgMCwgODUsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDUzLCAxMzUsIDE1OCwgMTU4LCAxNTgsIAorICAgIDE1OCwgMTM1LCAxMzUsIDEzNSwgODMsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgCisgICAgODMsIDgzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0OCwgNDgsIDAsIDQ4LCAwLCAwLCA0OCwgNDgsIAorICAgIDAsIDQ4LCAwLCAwLCA0OCwgMCwgMCwgMCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCAwLCA0OCwgNDgsIDQ4LCAwLCA0OCwgMCwgNDgsIDAsIDAsIDQ4LCA0OCwgMCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDEzNSwgNDgsIDE1NiwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxNTksIDE1OSwgMCwgMTM1LCAxMzUsIDQ4LCAwLCAwLCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDAsIDUzLCAwLCAxNjAsIDE2MCwgMTYwLCAxNjAsIDEzNSwgMTM1LCAwLCAwLCAxNDQsIDE0NCwgCisgICAgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDAsIDAsIDE1NiwgMTU2LCA0OCwgNDgsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDQ4LCA4MCwgODAsIDgwLCA4MywgODMsIDgzLCA4MywgODMsIDgzLCA4MywgODMsIDE2MSwgODMsIAorICAgIDgzLCA4MywgODMsIDgzLCA4MywgODAsIDgzLCA4MCwgODAsIDgwLCA4NiwgODYsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIAorICAgIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAKKyAgICAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCA4MCwgODYsIDgwLCA4NiwgODAsIDE2MiwgMTYzLCAxNjQsIDE2MywgCisgICAgMTY0LCAxMzksIDEzOSwgNDgsIDQ4LCA0OCwgMTQzLCA0OCwgNDgsIDQ4LCA0OCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDE0MywgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDE0MywgNDgsIDQ4LCA0OCwgNDgsIDE0MywgNDgsIDQ4LCA0OCwgNDgsIDE0MywgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTQzLCA0OCwgNDgsIDQ4LCAwLCAwLCAwLCAwLCAxNjUsIAorICAgIDE2NiwgMTY3LCAxNjgsIDE2NywgMTY3LCAxNjksIDE2NywgMTY5LCAxNjYsIDE2NiwgMTY2LCAxNjYsIDEzNSwgMTM5LCAKKyAgICAxNjYsIDE2NywgODEsIDgxLCAxNDIsIDgzLCA4MSwgODEsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTM1LCAxMzUsIDEzNSwgCisgICAgMTM1LCAxMzUsIDEzNSwgMTY3LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDAsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTY3LCAxMzUsIAorICAgIDEzNSwgMTM1LCAxMzUsIDE2NywgMTM1LCAxMzUsIDEzNSwgMTM1LCAxNjcsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTY3LCAKKyAgICAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxNjcsIDEzNSwgCisgICAgMTM1LCAxMzUsIDAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODYsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIAorICAgIDAsIDgwLCA4MCwgODMsIDgzLCA4MywgODMsIDgzLCA4MCwgODAsIDgwLCA4MCwgODMsIDgzLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDE0MCwgNDgsIDQ4LCA0OCwgNDgsIDEzOSwgMTM5LCAxMzUsIDE0OSwgMTM1LCAKKyAgICAxMzUsIDEzOSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDE0NSwgMTM5LCAxNDIsIDE0MiwgMTM5LCAxMzksIDEzNSwgCisgICAgMTM1LCA0OCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCA4MywgODMsIDgzLCAKKyAgICA4MywgODMsIDgzLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAxMzksIDEzOSwgMTM1LCAxMzUsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICAxMzUsIDEzNSwgMTM1LCA0OCwgMTM5LCAxMzksIDEzOSwgNDgsIDQ4LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAKKyAgICAxMzksIDQ4LCA0OCwgNDgsIDEzNSwgMTM1LCAxMzUsIDEzNSwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDEzNSwgMTM5LCAxMzksIDEzNSwgMTM1LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAKKyAgICA4NiwgNDgsIDEzOSwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxMzksIDEzOSwgCisgICAgMTM5LCAxMzUsIDgwLCA4MCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCAKICAgICA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCAKLSAgICA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDcsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDgyLCA1MCwgMCwgMCwgMCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgCi0gICAgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIAotICAgIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAKLSAgICAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgCi0gICAgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIAotICAgIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAKLSAgICAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgCi0gICAgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgNDcsIDE2OSwgMTY5LCAxNjksIDE2OSwgMTY5LCAxNjksIDE2OSwgMTY5LCAKLSAgICAxNjksIDE2OSwgMTY5LCAxNjksIDE2OSwgMTY5LCAxNjksIDE2OSwgMTY5LCAxNjksIDE2OSwgMTY5LCAxNjksIDQ3LCA0NywgCi0gICAgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgCi0gICAgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgCi0gICAgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjksIDE2OSwgMTY5LCAxNjksIAotICAgIDE2OSwgMTY5LCAxNjksIDE2OSwgMTY5LCAxNjksIDE2OSwgMTY5LCAxNjksIDE2OSwgMTY5LCAxNjksIDE2OSwgMTY5LCAKLSAgICAxNjksIDE2OSwgMTY5LCAxNjksIDE2OSwgMTY5LCAxNjksIDE2OSwgMTY5LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgCi0gICAgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgCi0gICAgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgCi0gICAgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIAotICAgIDE2OCwgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAKLSAgICA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAKLSAgICA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAKLSAgICA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAKLSAgICA0NywgNDcsIDAsIDQ3LCA0NywgNDcsIDQ3LCAwLCAwLCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgMCwgNDcsIDAsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCAwLCAwLCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgCi0gICAgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgCi0gICAgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDAsIDQ3LCA0NywgNDcsIDQ3LCAwLCAwLCA0NywgNDcsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAwLCA0NywgNDcsIDQ3LCA0NywgMCwgCi0gICAgMCwgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDAsIDQ3LCAwLCA0NywgNDcsIDQ3LCA0NywgMCwgMCwgNDcsIDQ3LCAKLSAgICA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgMCwgNDcsIDQ3LCA0NywgNDcsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgMCwgCi0gICAgNDcsIDQ3LCA0NywgNDcsIDAsIDAsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAKLSAgICA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAKLSAgICA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAKLSAgICA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAKLSAgICAwLCAwLCA4MCwgODAsIDgwLCA3OSwgODIsIDgyLCA4MiwgODIsIDgyLCA4MiwgODIsIDgyLCAxNDYsIDE0NiwgMTQ2LCAxNDYsIAotICAgIDE0NiwgMTQ2LCAxNDYsIDE0NiwgMTQ2LCAxNDYsIDE0NiwgMTQ2LCAxNDYsIDE0NiwgMTQ2LCAxNDYsIDE0NiwgMTQ2LCAKLSAgICAxNDYsIDE0NiwgMCwgMCwgMCwgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAotICAgIDQ3LCA0NywgNDcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAwLCAwLCAwLCAwLCAwLCAwLCA0NywgCi0gICAgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgCi0gICAgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgCi0gICAgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgCi0gICAgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgCi0gICAgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgODMsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA4MiwgODIsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgMTcwLCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAKLSAgICA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDE2MSwgCi0gICAgMTYyLCAwLCAwLCAwLCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAKLSAgICA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAKLSAgICA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAKLSAgICA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAKLSAgICA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA4MiwgODIsIDgyLCAxNzEsIDE3MSwgMTcxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAKLSAgICA0NywgMCwgNDcsIDQ3LCA0NywgNDcsIDEzMiwgMTMyLCAxMzksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAotICAgIDEzMiwgMTMyLCAxMzksIDgyLCA4MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgCi0gICAgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgMTMyLCAxMzIsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAKLSAgICAwLCA0NywgNDcsIDQ3LCAwLCAxMzIsIDEzMiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDcsIDQ3LCAKLSAgICA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAKLSAgICA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAKLSAgICA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDE3MiwgMTcyLCAxMzYsIAotICAgIDEzMiwgMTMyLCAxMzIsIDEzMiwgMTMyLCAxMzIsIDEzMiwgMTM2LCAxMzYsIDEzNiwgMTM2LCAxMzYsIDEzNiwgMTM2LCAKLSAgICAxMzYsIDEzMiwgMTM2LCAxMzYsIDEzMiwgMTMyLCAxMzIsIDEzMiwgMTMyLCAxMzIsIDEzMiwgMTMyLCAxMzIsIDEzOSwgCi0gICAgMTMyLCA4MiwgODIsIDgyLCA1MiwgODIsIDgyLCA4MiwgMTQ1LCA0NywgODAsIDAsIDAsIDE0MSwgMTQxLCAxNDEsIDE0MSwgCi0gICAgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMCwgMCwgMCwgMCwgMCwgMCwgMTUxLCAxNTEsIDE1MSwgMTUxLCAxNTEsIAotICAgIDE1MSwgMTUxLCAxNTEsIDE1MSwgMTUxLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAKLSAgICA4MywgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzIsIDEzMiwgMTMyLCAxNzAsIDAsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAKLSAgICAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMCwgMCwgMCwgMCwgMCwgMCwgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA1MiwgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ3LCA0NywgNDcsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAotICAgIDQ3LCA0NywgODYsIDQ3LCAwLCAwLCAwLCAwLCAwLCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgCi0gICAgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgCi0gICAgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgCi0gICAgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgCi0gICAgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDcsIDQ3LCA0NywgNDcsIDQ3LCAKLSAgICA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAKLSAgICA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAwLCAwLCAwLCAxMzIsIDEzMiwgMTMyLCAxMzYsIDEzNiwgMTM2LCAxMzYsIDEzMiwgCi0gICAgMTMyLCAxMzYsIDEzNiwgMTM2LCAwLCAwLCAwLCAwLCAxMzYsIDEzNiwgMTMyLCAxMzYsIDEzNiwgMTM2LCAxMzYsIDEzNiwgCi0gICAgMTM2LCA4NSwgODAsIDg0LCAwLCAwLCAwLCAwLCAyNywgMCwgMCwgMCwgMTM1LCAxMzUsIDE0MSwgMTQxLCAxNDEsIDE0MSwgCi0gICAgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAKLSAgICA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAKLSAgICA0NywgMCwgMCwgNDcsIDQ3LCA0NywgNDcsIDQ3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NywgNDcsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDAsIDAsIDAsIDAsIDEzNiwgMTM2LCAxMzYsIDEzNiwgMTM2LCAxMzYsIDEzNiwgCi0gICAgMTM2LCAxMzYsIDEzNiwgMTM2LCAxMzYsIDEzNiwgMTM2LCAxMzYsIDEzNiwgMTM2LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAKLSAgICA0NywgMTM2LCAxMzYsIDAsIDAsIDAsIDAsIDAsIDAsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAKLSAgICAxNDEsIDE0MSwgMTQ2LCAwLCAwLCAwLCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAKLSAgICAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAKLSAgICAyNywgMjcsIDI3LCAyNywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAKLSAgICA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA4MCwgODQsIDEzNiwgMTM2LCAxMzYsIDAsIDAsIDgyLCA4MiwgCi0gICAgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgCi0gICAgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgCi0gICAgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAxMzYsIAotICAgIDEzMiwgMTM2LCAxMzIsIDEzMiwgMTMyLCAxMzIsIDEzMiwgMTMyLCAxMzIsIDAsIDEzOSwgMTM2LCAxMzIsIDEzNiwgMTM2LCAKLSAgICAxMzIsIDEzMiwgMTMyLCAxMzIsIDEzMiwgMTMyLCAxMzIsIDEzMiwgMTM2LCAxMzYsIDEzNiwgMTM2LCAxMzYsIDEzNiwgCi0gICAgMTMyLCAxMzIsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgMCwgMCwgODQsIDE0MSwgMTQxLCAxNDEsIDE0MSwgCi0gICAgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMCwgMCwgMCwgMCwgMCwgMCwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIAotICAgIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAwLCAwLCAwLCAwLCAwLCAwLCA4MiwgODIsIDgyLCA4MiwgODIsIDgyLCA4MiwgCi0gICAgNTIsIDgyLCA4MiwgODIsIDgyLCA4MiwgODIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDAsIDQ0LCAwLCAwLCAwLCAwLCAwLCA0NCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDgzLCA1MSwgNDgsIDQ4LCA0OCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAorICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKKyAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCisgICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAorICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKKyAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCisgICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAorICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgNDgsIDE3MSwgMTcxLCAxNzEsIDE3MSwgMTcxLCAxNzEsIDE3MSwgMTcxLCAxNzEsIDE3MSwgCisgICAgMTcxLCAxNzEsIDE3MSwgMTcxLCAxNzEsIDE3MSwgMTcxLCAxNzEsIDE3MSwgMTcxLCAxNzEsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzEsIDE3MSwgMTcxLCAxNzEsIDE3MSwgCisgICAgMTcxLCAxNzEsIDE3MSwgMTcxLCAxNzEsIDE3MSwgMTcxLCAxNzEsIDE3MSwgMTcxLCAxNzEsIDE3MSwgMTcxLCAxNzEsIAorICAgIDE3MSwgMTcxLCAxNzEsIDE3MSwgMTcxLCAxNzEsIDE3MSwgMTcxLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDAsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgNDgsIDAsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAwLCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDQ4LCAwLCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAwLCAKKyAgICA4MSwgODEsIDgxLCA4MywgODMsIDgzLCA4MywgODMsIDgzLCA4MywgODMsIDgzLCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgCisgICAgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIAorICAgIDE0OCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAwLCAwLCAwLCAwLCAwLCAwLCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgODQsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA4MywgODMsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTcyLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDE2MywgMTY0LCAwLCAKKyAgICAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA4MywgODMsIDgzLCAxNzMsIDE3MywgMTczLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDEzNSwgMTM1LCAxNDIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDEzNSwgMTM1LCAKKyAgICAxNDIsIDgzLCA4MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTM1LCAxMzUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCA0OCwgCisgICAgNDgsIDQ4LCAwLCAxMzUsIDEzNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDEzNSwgMTM1LCAxMzksIDEzNSwgMTM1LCAKKyAgICAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzNSwgCisgICAgMTM5LCAxMzksIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDE0MiwgMTM1LCA4MywgODMsIAorICAgIDgzLCA1MywgODMsIDgzLCA4MywgODUsIDQ4LCA4MSwgMCwgMCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAKKyAgICAxNDQsIDE0NCwgMTQ0LCAwLCAwLCAwLCAwLCAwLCAwLCAxNTMsIDE1MywgMTUzLCAxNTMsIDE1MywgMTUzLCAxNTMsIDE1MywgCisgICAgMTUzLCAxNTMsIDAsIDAsIDAsIDAsIDAsIDAsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDg0LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzNSwgMTM1LCAxMzUsIDE3MiwgMCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIAorICAgIDE0NCwgMTQ0LCAwLCAwLCAwLCAwLCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDUzLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA4OCwgNDgsIAorICAgIDAsIDAsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDAsIDAsIDAsIDEzNSwgMTM1LCAxMzUsIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM1LCAxMzUsIDEzOSwgMTM5LCAKKyAgICAxMzksIDAsIDAsIDAsIDAsIDEzOSwgMTM5LCAxMzUsIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDg3LCA4MSwgODYsIAorICAgIDAsIDAsIDAsIDAsIDI2LCAwLCAwLCAwLCAxMzgsIDEzOCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAKKyAgICAxNDQsIDE0NCwgMTQ0LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAwLCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgMCwgMCwgMCwgMCwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAKKyAgICAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAxMzksIDEzOSwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDgsIAorICAgIDAsIDAsIDAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDgxLCA4NiwgMTM5LCAxMzksIDEzOSwgMCwgMCwgODMsIDgzLCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDEzOSwgMTM1LCAxMzksIDEzNSwgCisgICAgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMCwgMTQyLCAxMzksIDEzNSwgMTM5LCAxMzksIDEzNSwgMTM1LCAxMzUsIAorICAgIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzUsIDEzNSwgODEsIDgxLCAKKyAgICA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCAwLCAwLCA4NiwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIAorICAgIDE0NCwgMTQ0LCAwLCAwLCAwLCAwLCAwLCAwLCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAKKyAgICAxNDQsIDAsIDAsIDAsIDAsIDAsIDAsIDgzLCA4MywgODMsIDgzLCA4MywgODMsIDgzLCA1MywgODMsIDgzLCA4MywgODMsIAorICAgIDgzLCA4MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTMyLCAxMzIsIDEzMiwgCi0gICAgMTMyLCAxMzYsIDQ3LCAxMzcsIDQ3LCAxMzcsIDQ3LCAxMzcsIDQ3LCAxMzcsIDQ3LCAxMzcsIDQ3LCA0NywgNDcsIDEzNywgCi0gICAgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgCi0gICAgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgMTQyLCAxNDMsIAotICAgIDEzMiwgMTMyLCAxMzIsIDEzMiwgMTMyLCAxNDQsIDEzMiwgMTQ0LCAxMzYsIDEzNiwgMTQ0LCAxNDQsIDEzMiwgMTQ0LCAKLSAgICAxNzMsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAwLCAwLCAwLCAwLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgCi0gICAgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDgyLCA4MiwgODIsIDgyLCA4MiwgODIsIDgyLCA3OSwgNzksIDc5LCA3OSwgNzksIAotICAgIDc5LCA3OSwgNzksIDc5LCA3OSwgODAsIDg0LCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgNzksIDc5LCA3OSwgNzksIAotICAgIDc5LCA3OSwgNzksIDc5LCA3OSwgMCwgMCwgMCwgMTMyLCAxMzIsIDEzNiwgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgMTM2LCAxMzIsIDEzMiwgMTMyLCAxMzIsIDEzNiwgMTM2LCAxMzIsIDEzMiwgMTczLCAwLCAKLSAgICAwLCAwLCA0NywgNDcsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzksIDQ4LCAxNDAsIDQ4LCAKKyAgICAxNDAsIDQ4LCAxNDAsIDQ4LCAxNDAsIDQ4LCAxNDAsIDQ4LCA0OCwgNDgsIDE0MCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTQ1LCAxNDYsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAKKyAgICAxNDcsIDEzNSwgMTQ3LCAxMzksIDEzOSwgMTQ3LCAxNDcsIDEzNSwgMTQ3LCAxNzQsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCAwLCAwLCAwLCAwLCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDgzLCA4MywgCisgICAgODMsIDgzLCA4MywgODMsIDgzLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODEsIDg2LCA4MSwgCisgICAgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgMCwgMCwgMCwgMTM1LCAKKyAgICAxMzUsIDEzOSwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTM5LCAxMzUsIDEzNSwgCisgICAgMTM1LCAxMzUsIDEzOSwgMTM5LCAxMzUsIDEzNSwgMTc0LCAxNDIsIDEzOSwgMTM5LCA0OCwgNDgsIDE0NCwgMTQ0LCAxNDQsIAorICAgIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAxNDUsIAorICAgIDEzOSwgMTM1LCAxMzUsIDEzOSwgMTM5LCAxMzksIDEzNSwgMTM5LCAxMzUsIDEzNSwgMTM1LCAxNzQsIDE3NCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgODMsIDgzLCA4MywgODMsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAKKyAgICAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM5LCAxMzksIDEzNSwgMTQ1LCAwLCAwLCAwLCA4MywgCisgICAgODMsIDgzLCA4MywgODMsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMCwgMCwgCisgICAgMCwgNDgsIDQ4LCA0OCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA1MywgNTMsIDUzLCA1MywgNTMsIDUzLCA4MywgODMsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDgzLCA4MywgODMsIDgzLCA4MywgODMsIAorICAgIDgzLCA4MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgODEsIDgxLCA4MSwgODMsIDE3NSwgODYsIDg2LCA4NiwgODYsIDg2LCAKKyAgICA4MSwgODEsIDg2LCA4NiwgODYsIDg2LCA4MSwgMTM5LCAxNzUsIDE3NSwgMTc1LCAxNzUsIDE3NSwgMTc1LCAxNzUsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA4NiwgNDgsIDQ4LCA0OCwgNDgsIDEzOSwgMTM5LCA4MSwgNDgsIDQ4LCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgCiAgICAgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgCi0gICAgNDcsIDQ3LCA0NywgNDcsIDE0MiwgMTM2LCAxMzIsIDEzMiwgMTM2LCAxMzYsIDEzNiwgMTMyLCAxMzYsIDEzMiwgMTMyLCAKLSAgICAxMzIsIDE3MywgMTczLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA4MiwgODIsIDgyLCA4MiwgNDcsIDQ3LCA0NywgNDcsIAorICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA1MSwgNTEsIDUxLCA1MywgNTEsIDUxLCA1MSwgNTEsIAorICAgIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MywgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIAorICAgIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTMsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIAorICAgIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIAorICAgIDUxLCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNTEsIDQ3LCA0NywgNDcsIAogICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgMTM2LCAxMzYsIDEzNiwgCi0gICAgMTM2LCAxMzYsIDEzNiwgMTM2LCAxMzYsIDEzMiwgMTMyLCAxMzIsIDEzMiwgMTMyLCAxMzIsIDEzMiwgMTMyLCAxMzYsIAotICAgIDEzNiwgMTMyLCAxNDIsIDAsIDAsIDAsIDgyLCA4MiwgODIsIDgyLCA4MiwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgCi0gICAgMTQxLCAxNDEsIDE0MSwgMTQxLCAwLCAwLCAwLCA0NywgNDcsIDQ3LCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAKLSAgICAxNDEsIDE0MSwgMTQxLCAxNDEsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAKLSAgICA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDUyLCAKLSAgICA1MiwgNTIsIDUyLCA1MiwgNTIsIDgyLCA4MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgODAsIDgwLCA4MCwgODIsIDE3NCwgCi0gICAgODQsIDg0LCA4NCwgODQsIDg0LCA4MCwgODAsIDg0LCA4NCwgODQsIDg0LCA4MCwgMTM2LCAxNzQsIDE3NCwgMTc0LCAxNzQsIAotICAgIDE3NCwgMTc0LCAxNzQsIDQ3LCA0NywgNDcsIDQ3LCA4NCwgNDcsIDQ3LCA0NywgNDcsIDEzNiwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDYsIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgNDYsIAotICAgIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgNDYsIAotICAgIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgNDYsIDQ2LCA1MCwgNTAsIDUwLCA1MiwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MiwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTIsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAzNSwgMzUsIDM1LCAzNSwgMzUsIAotICAgIDM1LCAzNSwgMzUsIDM1LCA0NiwgNDYsIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgNTAsIAotICAgIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgNDYsIAotICAgIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgNDYsIDQ2LCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgODAsIAotICAgIDgwLCA4NCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDg0LCA4MCwgODAsIDE3NSwgMTc2LCA4NCwgMTc3LCA4MCwgCisgICAgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDUxLCA1MSwgNTEsIDUxLCA1MSwgCisgICAgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgCisgICAgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA4MSwgODEsIDg2LCA4MSwgCisgICAgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODYsIDgxLCA4MSwgMTc2LCAxNzcsIDg2LCAxNzgsIDgxLCA4MSwgODEsIDgxLCAKKyAgICA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNzksIDg2LCAKKyAgICA4MSwgODYsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAKKyAgICAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAKKyAgICAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAKKyAgICAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAKKyAgICAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAKKyAgICAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAKKyAgICAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAKKyAgICAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAKKyAgICAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDQzLCA0MywgNDMsIDQzLCAzNSwgMTgwLCA0NywgNDcsIDQ0LCA0NywgCisgICAgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgCisgICAgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgCisgICAgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgCisgICAgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgCisgICAgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgCisgICAgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDMsIDQzLCA0MywgNDMsIDQzLCA0MywgNDMsIDQzLCAzOCwgMzgsIDM4LCAzOCwgCisgICAgMzgsIDM4LCAzOCwgMzgsIDQzLCA0MywgNDMsIDQzLCA0MywgNDMsIDAsIDAsIDM4LCAzOCwgMzgsIDM4LCAzOCwgMzgsIDAsIAorICAgIDAsIDQzLCA0MywgNDMsIDQzLCA0MywgNDMsIDQzLCA0MywgMzgsIDM4LCAzOCwgMzgsIDM4LCAzOCwgMzgsIDM4LCA0MywgCisgICAgNDMsIDQzLCA0MywgNDMsIDQzLCA0MywgNDMsIDM4LCAzOCwgMzgsIDM4LCAzOCwgMzgsIDM4LCAzOCwgNDMsIDQzLCA0MywgCisgICAgNDMsIDQzLCA0MywgMCwgMCwgMzgsIDM4LCAzOCwgMzgsIDM4LCAzOCwgMCwgMCwgNDMsIDQzLCA0MywgNDMsIDQzLCA0MywgCisgICAgNDMsIDQzLCAwLCAzOCwgMCwgMzgsIDAsIDM4LCAwLCAzOCwgNDMsIDQzLCA0MywgNDMsIDQzLCA0MywgNDMsIDQzLCAzOCwgCisgICAgMzgsIDM4LCAzOCwgMzgsIDM4LCAzOCwgMzgsIDQzLCAxODEsIDQzLCAxODEsIDQzLCAxODEsIDQzLCAxODEsIDQzLCAxODEsIAorICAgIDQzLCAxODEsIDQzLCAxODEsIDAsIDAsIDQzLCA0MywgNDMsIDQzLCA0MywgNDMsIDQzLCA0MywgMTgyLCAxODIsIDE4MiwgCisgICAgMTgyLCAxODIsIDE4MiwgMTgyLCAxODIsIDQzLCA0MywgNDMsIDQzLCA0MywgNDMsIDQzLCA0MywgMTgyLCAxODIsIDE4MiwgCisgICAgMTgyLCAxODIsIDE4MiwgMTgyLCAxODIsIDQzLCA0MywgNDMsIDQzLCA0MywgNDMsIDQzLCA0MywgMTgyLCAxODIsIDE4MiwgCisgICAgMTgyLCAxODIsIDE4MiwgMTgyLCAxODIsIDQzLCA0MywgNDMsIDQzLCA0MywgMCwgNDMsIDQzLCAzOCwgMzgsIDM4LCAxODMsIAorICAgIDE4MiwgNTgsIDE4MSwgNTgsIDU4LCA3NiwgNDMsIDQzLCA0MywgMCwgNDMsIDQzLCAzOCwgMTgzLCAzOCwgMTgzLCAxODIsIAorICAgIDc2LCA3NiwgNzYsIDQzLCA0MywgNDMsIDE4MSwgMCwgMCwgNDMsIDQzLCAzOCwgMzgsIDM4LCAxODMsIDAsIDc2LCA3NiwgCisgICAgNzYsIDQzLCA0MywgNDMsIDE4MSwgNDMsIDQzLCA0MywgNDMsIDM4LCAzOCwgMzgsIDE4MywgMzgsIDc2LCAxODQsIDE4NCwgCisgICAgMCwgMCwgNDMsIDQzLCA0MywgMCwgNDMsIDQzLCAzOCwgMTgzLCAzOCwgMTgzLCAxODIsIDE4NCwgNTgsIDAsIDE4NSwgMTg1LCAKKyAgICAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAxODcsIDE4NywgMTg3LCAxODgsIDE4OSwgCisgICAgMTkwLCAxOTEsIDg0LCAxOTAsIDE5MCwgMTkwLCAyMiwgMTkyLCAxOTMsIDE5NCwgMTk1LCAxOTYsIDE5MywgMTk0LCAxOTUsIAorICAgIDE5NiwgMjIsIDIyLCAyMiwgMTM4LCAxOTcsIDE5NywgMTk3LCAyMiwgMTk4LCAxOTksIDIwMCwgMjAxLCAyMDIsIDIwMywgCisgICAgMjA0LCAyMSwgMjA1LCAxMTAsIDIwNSwgMjA2LCAyMDcsIDIyLCAxOTIsIDE5MiwgMTM4LCAyOCwgMzYsIDIyLCAxOTIsIAorICAgIDEzOCwgMTk3LCAyMDgsIDIwOCwgMTM4LCAxMzgsIDEzOCwgMjA5LCAxNjMsIDE2NCwgMTkyLCAxOTIsIDE5MiwgMTM4LCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDc4LCAxMzgsIDIwOCwgMTM4LCAxMzgsIDE5MiwgMTM4LCAxMzgsIAorICAgIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxODYsIDE4NywgMTg3LCAxODcsIDE4NywgMTg3LCAwLCAwLCAwLCAwLCAwLCAKKyAgICAxODcsIDE4NywgMTg3LCAxODcsIDE4NywgMTg3LCAyMTAsIDUxLCAwLCAwLCAzNCwgMjEwLCAyMTAsIDIxMCwgMjEwLCAyMTAsIAorICAgIDIxMSwgMjExLCAyMTIsIDIxMywgMjE0LCAyMTUsIDIxMCwgMzQsIDM0LCAzNCwgMzQsIDIxMCwgMjEwLCAyMTAsIDIxMCwgCisgICAgMjEwLCAyMTEsIDIxMSwgMjEyLCAyMTMsIDIxNCwgMCwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIAorICAgIDUxLCA1MSwgNTEsIDAsIDAsIDAsIDg1LCA4NSwgODUsIDg1LCA4NSwgODUsIDg1LCA4NSwgMjE2LCAyMTcsIDg1LCA4NSwgCisgICAgMjMsIDg1LCA4NSwgODUsIDg1LCA4NSwgODUsIDg1LCA4NSwgODUsIDg1LCA4NSwgODUsIDg1LCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA4MSwgODEsIDE3NSwgMTc1LCA4MSwgODEsIAorICAgIDgxLCA4MSwgMTc1LCAxNzUsIDE3NSwgODEsIDgxLCA4MiwgODIsIDgyLCA4MiwgODEsIDgyLCA4MiwgODIsIDE3NSwgMTc1LCAKKyAgICA4MSwgODYsIDgxLCAxNzUsIDE3NSwgODYsIDg2LCA4NiwgODYsIDgxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAyMTgsIDIxOCwgNDksIDIxOSwgMjYsIDIxOSwgMjE4LCA0OSwgMjYsIDIxOSwgMzUsIDQ5LCA0OSwgCisgICAgNDksIDM1LCAzNSwgNDksIDQ5LCA0OSwgNDYsIDI2LCA0OSwgMjE5LCAyNiwgNzgsIDQ5LCA0OSwgNDksIDQ5LCA0OSwgMjYsIAorICAgIDI2LCAyMTgsIDIxOSwgMjE5LCAyNiwgNDksIDI2LCAyMjAsIDI2LCA0OSwgMjYsIDE4MywgMjIwLCA0OSwgNDksIDIyMSwgCisgICAgMzUsIDQ5LCA0OSwgNDQsIDQ5LCAzNSwgMTU2LCAxNTYsIDE1NiwgMTU2LCAzNSwgMjYsIDIxOCwgMzUsIDM1LCA0OSwgNDksIAorICAgIDIyMiwgNzgsIDc4LCA3OCwgNzgsIDQ5LCAzNSwgMzUsIDM1LCAzNSwgMjYsIDc4LCAyNiwgMjYsIDQ3LCA4MCwgMjIzLCAKKyAgICAyMjMsIDIyMywgMzcsIDM3LCAyMjMsIDIyMywgMjIzLCAyMjMsIDIyMywgMjIzLCAzNywgMzcsIDM3LCAzNywgMjIzLCAyMjQsIAorICAgIDIyNCwgMjI0LCAyMjQsIDIyNCwgMjI0LCAyMjQsIDIyNCwgMjI0LCAyMjQsIDIyNCwgMjI0LCAyMjUsIDIyNSwgMjI1LCAKKyAgICAyMjUsIDIyNCwgMjI0LCAyMjQsIDIyNCwgMjI0LCAyMjQsIDIyNCwgMjI0LCAyMjQsIDIyNCwgMjI1LCAyMjUsIDIyNSwgCisgICAgMjI1LCAyMjUsIDIyNSwgMTczLCAxNzMsIDE3MywgNDQsIDQ3LCAxNzMsIDE3MywgMTczLCAxNzMsIDM3LCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCA0MCwgNDAsIDQwLCA0MCwgNDAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMjI2LCAyMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICA3OCwgMjYsIDI2LCA3OCwgMjYsIDI2LCA3OCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDIyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMzAsIDMwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjI3LCAyMjYsIDIyNiwgMjYsIDI2LCA0MCwgMjYsIDQwLCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAzMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgNzgsIDc4LCA3OCwgNzgsIDc4LCAKKyAgICA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNDAsIDIyOCwgMjI5LCAyMjksIDIzMCwgNzgsIDc4LCA0MCwgMjI5LCAyMzAsIAorICAgIDIyOCwgMjI5LCAyMzAsIDIyOCwgNzgsIDQwLCA3OCwgMjI5LCAyMzEsIDIzMiwgNzgsIDIyOSwgMjI4LCA3OCwgNzgsIDc4LCAKKyAgICAyMjksIDIyOCwgMjI4LCAyMjksIDQwLCAyMjksIDIyOSwgMjI4LCAyMjgsIDQwLCAyMzAsIDQwLCAyMzAsIDQwLCA0MCwgNDAsIAorICAgIDQwLCAyMjksIDIzMywgMjIyLCAyMjksIDIyMiwgMjIyLCAyMjgsIDIyOCwgMjI4LCA0MCwgNDAsIDQwLCA0MCwgNzgsIDIyOCwgCisgICAgNzgsIDIyOCwgMjI5LCAyMjksIDIyOCwgMjI4LCAyMjgsIDIzMCwgMjI4LCAyMjgsIDIzMCwgMjI4LCAyMjgsIDIzMCwgMjI5LCAKKyAgICAyMzAsIDIyOCwgMjI4LCAyMjksIDc4LCA3OCwgNzgsIDc4LCA3OCwgMjI5LCAyMjgsIDIyOCwgMjI4LCA3OCwgNzgsIDc4LCAKKyAgICA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCAyMjgsIDIzNCwgNDAsIDIzMCwgNzgsIDIyOSwgMjI5LCAyMjksIDIyOSwgMjI4LCAKKyAgICAyMjgsIDIyOSwgMjI5LCA3OCwgMjI2LCAyMzQsIDIzNCwgMjMwLCAyMzAsIDIyOCwgMjI4LCAyMzAsIDIzMCwgMjI4LCAyMjgsIAorICAgIDIzMCwgMjMwLCAyMjgsIDIyOCwgMjI4LCAyMjgsIDIyOCwgMjI4LCAyMzAsIDIzMCwgMjI5LCAyMjksIDIzMCwgMjMwLCAKKyAgICAyMjksIDIyOSwgMjMwLCAyMzAsIDIyOCwgMjI4LCAyMjgsIDc4LCA3OCwgMjI4LCAyMjgsIDIyOCwgMjI4LCA3OCwgNzgsIAorICAgIDQwLCA3OCwgNzgsIDIyOCwgNDAsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgMjI4LCAyMjgsIDc4LCA0MCwgCisgICAgMjI4LCAyMjgsIDIyOCwgMjI4LCAyMjgsIDIyOCwgMjMwLCAyMzAsIDIzMCwgMjMwLCAyMjgsIDIyOCwgMjI4LCAyMjgsIAorICAgIDIyOCwgMjI4LCAyMjgsIDIyOCwgMjI4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDIyOCwgMjI5LCA3OCwgNzgsIDc4LCA3OCwgCisgICAgNzgsIDc4LCA3OCwgNzgsIDc4LCAyMjgsIDIyOCwgMjI4LCAyMjgsIDIyOCwgNzgsIDc4LCAyMjgsIDIyOCwgNzgsIDc4LCAKKyAgICA3OCwgNzgsIDIyOCwgMjI4LCAyMjgsIDIyOCwgMjI4LCAyMjgsIDIyOCwgMjI4LCAyMjgsIDIyOCwgMjMwLCAyMzAsIDIzMCwgCisgICAgMjMwLCAyMjgsIDIyOCwgMjI4LCAyMjgsIDIyOCwgMjI4LCAyMzAsIDIzMCwgMjMwLCAyMzAsIDc4LCA3OCwgMjI4LCAyMjgsIAorICAgIDIyOCwgMjI4LCAyMjgsIDIyOCwgMjI4LCAyMjgsIDIyOCwgMjI4LCAyMjgsIDIyOCwgMjI4LCAyMjgsIDIyOCwgMjI4LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDIyOCwgMjI4LCAyMjgsIDIyOCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMzAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyMjgsIDIyOCwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDIzNSwgMjM2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAogICAgIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIAotICAgIDgwLCA4MCwgODAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDE3OCwgODQsIDgwLCA4NCwgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIAotICAgIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIAotICAgIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIAotICAgIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIAotICAgIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIAotICAgIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIAotICAgIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIAotICAgIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIAotICAgIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgNDMsIDQzLCA0MywgNDMsIDM1LCAxNzksIDQ2LCAKLSAgICA0NiwgNDQsIDQ2LCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCAKLSAgICA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCAKLSAgICA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCAKLSAgICA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCAKLSAgICA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCA0MywgMzgsIDQzLCAzOCwgNDMsIDM4LCAKLSAgICA0MywgMzgsIDQzLCA0NCwgNDYsIDQ0LCA0NiwgNDQsIDQ2LCA0MywgNDMsIDQzLCA0MywgNDMsIDQzLCA0MywgNDMsIDM4LCAKLSAgICAzOCwgMzgsIDM4LCAzOCwgMzgsIDM4LCAzOCwgNDMsIDQzLCA0MywgNDMsIDQzLCA0MywgMCwgMCwgMzgsIDM4LCAzOCwgMzgsIAotICAgIDM4LCAzOCwgMCwgMCwgNDMsIDQzLCA0MywgNDMsIDQzLCA0MywgNDMsIDQzLCAzOCwgMzgsIDM4LCAzOCwgMzgsIDM4LCAzOCwgCi0gICAgMzgsIDQzLCA0MywgNDMsIDQzLCA0MywgNDMsIDQzLCA0MywgMzgsIDM4LCAzOCwgMzgsIDM4LCAzOCwgMzgsIDM4LCA0MywgCi0gICAgNDMsIDQzLCA0MywgNDMsIDQzLCAwLCAwLCAzOCwgMzgsIDM4LCAzOCwgMzgsIDM4LCAwLCAwLCA0MywgNDMsIDQzLCA0MywgCi0gICAgNDMsIDQzLCA0MywgNDMsIDAsIDM4LCAwLCAzOCwgMCwgMzgsIDAsIDM4LCA0MywgNDMsIDQzLCA0MywgNDMsIDQzLCA0MywgCi0gICAgNDMsIDM4LCAzOCwgMzgsIDM4LCAzOCwgMzgsIDM4LCAzOCwgNDMsIDE4MCwgNDMsIDE4MCwgNDMsIDE4MCwgNDMsIDE4MCwgCi0gICAgNDMsIDE4MCwgNDMsIDE4MCwgNDMsIDE4MCwgMCwgMCwgNDMsIDQzLCA0MywgNDMsIDQzLCA0MywgNDMsIDQzLCAxODEsIAotICAgIDE4MSwgMTgxLCAxODEsIDE4MSwgMTgxLCAxODEsIDE4MSwgNDMsIDQzLCA0MywgNDMsIDQzLCA0MywgNDMsIDQzLCAxODEsIAotICAgIDE4MSwgMTgxLCAxODEsIDE4MSwgMTgxLCAxODEsIDE4MSwgNDMsIDQzLCA0MywgNDMsIDQzLCA0MywgNDMsIDQzLCAxODEsIAotICAgIDE4MSwgMTgxLCAxODEsIDE4MSwgMTgxLCAxODEsIDE4MSwgNDMsIDQzLCA0MywgNDMsIDQzLCAwLCA0MywgNDMsIDM4LCAzOCwgCi0gICAgMzgsIDE4MiwgMTgxLCA1NywgMTgwLCA1NywgNTcsIDc1LCA0MywgNDMsIDQzLCAwLCA0MywgNDMsIDM4LCAxODIsIDM4LCAKLSAgICAxODIsIDE4MSwgNzUsIDc1LCA3NSwgNDMsIDQzLCA0MywgMTgwLCAwLCAwLCA0MywgNDMsIDM4LCAzOCwgMzgsIDE4MiwgMCwgCi0gICAgNzUsIDc1LCA3NSwgNDMsIDQzLCA0MywgMTgwLCA0MywgNDMsIDQzLCA0MywgMzgsIDM4LCAzOCwgMTgyLCAzOCwgNzUsIAotICAgIDE4MywgMTgzLCAwLCAwLCA0MywgNDMsIDQzLCAwLCA0MywgNDMsIDM4LCAxODIsIDM4LCAxODIsIDE4MSwgMTgzLCA1NywgMCwgCi0gICAgMTg0LCAxODQsIDE4NSwgMTg1LCAxODUsIDE4NSwgMTg1LCAxODUsIDE4NSwgMTg1LCAxODUsIDE4NiwgMTg2LCAxODYsIAotICAgIDE3MiwgMTg3LCAxODgsIDE4OSwgODMsIDE4OCwgMTg4LCAxODgsIDIyLCAxOTAsIDE5MSwgMTkyLCAxOTMsIDE5NCwgMTkxLCAKLSAgICAxOTIsIDE5MywgMTk0LCAyMiwgMjIsIDIyLCAxMzUsIDE5NSwgMTk1LCAxOTUsIDIyLCAxOTYsIDE5NywgMTk4LCAxOTksIAotICAgIDIwMCwgMjAxLCAyMDIsIDIxLCAyMDMsIDEwOCwgMjAzLCAyMDQsIDIwNSwgMjIsIDE5MCwgMTkwLCAxMzUsIDI5LCAzNiwgCi0gICAgMjIsIDE5MCwgMTM1LCAxOTUsIDIwNiwgMjA2LCAxMzUsIDEzNSwgMTM1LCAyMDcsIDE2MSwgMTYyLCAxOTAsIDE5MCwgMTkwLCAKLSAgICAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgNzcsIDEzNSwgMjA2LCAxMzUsIDEzNSwgMTkwLCAxMzUsIAotICAgIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDE4NSwgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDAsIDAsIDAsIDAsIAotICAgIDAsIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDIwOCwgNTAsIDAsIDAsIDM0LCAyMDgsIDIwOCwgMjA4LCAyMDgsIAotICAgIDIwOCwgMjA5LCAyMDksIDIxMCwgMjExLCAyMTIsIDIxMywgMjA4LCAzNCwgMzQsIDM0LCAzNCwgMjA4LCAyMDgsIDIwOCwgCi0gICAgMjA4LCAyMDgsIDIwOSwgMjA5LCAyMTAsIDIxMSwgMjEyLCAwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgMCwgMCwgMCwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDIxNCwgCi0gICAgMjE1LCAxNDUsIDE0NSwgMjMsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAxNDUsIDE0NSwgMTQ1LCAKLSAgICAxNDUsIDE0NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgODAsIDgwLCAxNzQsIDE3NCwgODAsIDgwLCA4MCwgODAsIDE3NCwgMTc0LCAxNzQsIDgwLCA4MCwgODEsIDgxLCA4MSwgCi0gICAgODEsIDgwLCA4MSwgODEsIDgxLCAxNzQsIDE3NCwgODAsIDg0LCA4MCwgMTc0LCAxNzQsIDg0LCA4NCwgODQsIDg0LCA4MCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjE2LCAyMTYsIDQ4LCAyMTcsIDI3LCAyMTcsIAotICAgIDIxNiwgNDgsIDI3LCAyMTcsIDM1LCA0OCwgNDgsIDQ4LCAzNSwgMzUsIDQ4LCA0OCwgNDgsIDI4LCAyNywgNDgsIDIxNywgCi0gICAgMjcsIDc3LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDI3LCAyNywgMjE2LCAyMTcsIDIxNywgMjcsIDQ4LCAyNywgMjE4LCAyNywgCi0gICAgNDgsIDI3LCAxODIsIDIxOCwgNDgsIDQ4LCAyMTksIDM1LCA0OCwgNDgsIDQ0LCA0OCwgMzUsIDE1NCwgMTU0LCAxNTQsIAotICAgIDE1NCwgMzUsIDI3LCAyMTYsIDM1LCAzNSwgNDgsIDQ4LCAyMjAsIDc3LCA3NywgNzcsIDc3LCA0OCwgMzUsIDM1LCAzNSwgCi0gICAgMzUsIDI3LCA3NywgMjcsIDI3LCA0NiwgNzksIDIyMSwgMjIxLCAyMjEsIDM3LCAzNywgMjIxLCAyMjEsIDIyMSwgMjIxLCAKLSAgICAyMjEsIDIyMSwgMzcsIDM3LCAzNywgMzcsIDIyMSwgMjIyLCAyMjIsIDIyMiwgMjIyLCAyMjIsIDIyMiwgMjIyLCAyMjIsIAotICAgIDIyMiwgMjIyLCAyMjIsIDIyMiwgMjIzLCAyMjMsIDIyMywgMjIzLCAyMjIsIDIyMiwgMjIyLCAyMjIsIDIyMiwgMjIyLCAKLSAgICAyMjIsIDIyMiwgMjIyLCAyMjIsIDIyMywgMjIzLCAyMjMsIDIyMywgMjIzLCAyMjMsIDE3MSwgMTcxLCAxNzEsIDQ0LCA0NiwgCi0gICAgMTcxLCAxNzEsIDE3MSwgMTcxLCAzNywgMCwgMCwgMCwgMCwgMCwgMCwgNDAsIDQwLCA0MCwgNDAsIDQwLCAyNSwgMjUsIDI1LCAKLSAgICAyNSwgMjUsIDIyNCwgMjI0LCAyNywgMjcsIDI3LCAyNywgNzcsIDI3LCAyNywgNzcsIDI3LCAyNywgNzcsIDI3LCAyNywgMjcsIAotICAgIDI3LCAyNywgMjcsIDI3LCAyMjQsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI1LCAyNSwgMjcsIDI3LCAKLSAgICAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDIyNSwgCi0gICAgMjI0LCAyMjQsIDI3LCAyNywgNDAsIDI3LCA0MCwgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAKLSAgICAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjUsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAKLSAgICAyNywgMjcsIDc3LCA3NywgNzcsIDc3LCA3NywgNzcsIDc3LCA3NywgNzcsIDc3LCA3NywgNzcsIDQwLCAyMjYsIDIyNywgCi0gICAgMjI3LCAyMjgsIDc3LCA3NywgNDAsIDIyNywgMjI4LCAyMjYsIDIyNywgMjI4LCAyMjYsIDc3LCA0MCwgNzcsIDIyNywgMjI5LCAKLSAgICAyMzAsIDc3LCAyMjcsIDIyNiwgNzcsIDc3LCA3NywgMjI3LCAyMjYsIDIyNiwgMjI3LCA0MCwgMjI3LCAyMjcsIDIyNiwgCi0gICAgMjI2LCA0MCwgMjI4LCA0MCwgMjI4LCA0MCwgNDAsIDQwLCA0MCwgMjI3LCAyMzEsIDIyMCwgMjI3LCAyMjAsIDIyMCwgMjI2LCAKLSAgICAyMjYsIDIyNiwgNDAsIDQwLCA0MCwgNDAsIDc3LCAyMjYsIDc3LCAyMjYsIDIyNywgMjI3LCAyMjYsIDIyNiwgMjI2LCAyMjgsIAotICAgIDIyNiwgMjI2LCAyMjgsIDIyNiwgMjI2LCAyMjgsIDIyNywgMjI4LCAyMjYsIDIyNiwgMjI3LCA3NywgNzcsIDc3LCA3NywgCi0gICAgNzcsIDIyNywgMjI2LCAyMjYsIDIyNiwgNzcsIDc3LCA3NywgNzcsIDc3LCA3NywgNzcsIDc3LCA3NywgMjI2LCAyMzIsIDQwLCAKLSAgICAyMjgsIDc3LCAyMjcsIDIyNywgMjI3LCAyMjcsIDIyNiwgMjI2LCAyMjcsIDIyNywgNzcsIDIyNCwgMjMyLCAyMzIsIDIyOCwgCi0gICAgMjI4LCAyMjYsIDIyNiwgMjI4LCAyMjgsIDIyNiwgMjI2LCAyMjgsIDIyOCwgMjI2LCAyMjYsIDIyNiwgMjI2LCAyMjYsIAotICAgIDIyNiwgMjI4LCAyMjgsIDIyNywgMjI3LCAyMjgsIDIyOCwgMjI3LCAyMjcsIDIyOCwgMjI4LCAyMjYsIDIyNiwgMjI2LCA3NywgCi0gICAgNzcsIDIyNiwgMjI2LCAyMjYsIDIyNiwgNzcsIDc3LCA0MCwgNzcsIDc3LCAyMjYsIDQwLCA3NywgNzcsIDc3LCA3NywgNzcsIAotICAgIDc3LCA3NywgNzcsIDIyNiwgMjI2LCA3NywgNDAsIDIyNiwgMjI2LCAyMjYsIDIyNiwgMjI2LCAyMjYsIDIyOCwgMjI4LCAKLSAgICAyMjgsIDIyOCwgMjI2LCAyMjYsIDIyNiwgMjI2LCAyMjYsIDIyNiwgMjI2LCAyMjYsIDIyNiwgNzcsIDc3LCA3NywgNzcsIAotICAgIDc3LCAyMjYsIDIyNywgNzcsIDc3LCA3NywgNzcsIDc3LCA3NywgNzcsIDc3LCA3NywgMjI2LCAyMjYsIDIyNiwgMjI2LCAKLSAgICAyMjYsIDc3LCA3NywgMjI2LCAyMjYsIDc3LCA3NywgNzcsIDc3LCAyMjYsIDIyNiwgMjI2LCAyMjYsIDIyNiwgMjI2LCAyMjYsIAotICAgIDIyNiwgMjI2LCAyMjYsIDIyOCwgMjI4LCAyMjgsIDIyOCwgMjI2LCAyMjYsIDIyNiwgMjI2LCAyMjYsIDIyNiwgMjI4LCAKLSAgICAyMjgsIDIyOCwgMjI4LCA3NywgNzcsIDIyNiwgMjI2LCAyMjYsIDIyNiwgMjI2LCAyMjYsIDIyNiwgMjI2LCAyMjYsIDIyNiwgCi0gICAgMjI2LCAyMjYsIDIyNiwgMjI2LCAyMjYsIDIyNiwgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyMjYsIDIyNiwgCi0gICAgMjI2LCAyMjYsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI1LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAKLSAgICAyNywgMjcsIDI3LCAyNywgMjI2LCAyMjYsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyMzMsIDIzNCwgMjcsIDI3LCAKLSAgICAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCAKLSAgICA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCAKLSAgICA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCAKLSAgICA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCAKLSAgICA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCAyNywgNzcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAKLSAgICAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDc5LCAyNywgMjcsIDI3LCAKLSAgICAyNywgMjcsIDc3LCA3NywgNzcsIDc3LCA3NywgNzcsIDc3LCA3NywgNzcsIDc3LCA3NywgNzcsIDc3LCA3NywgNzcsIDc3LCAKLSAgICA3NywgNzcsIDc3LCA3NywgNzcsIDc3LCA3NywgNzcsIDc3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAKLSAgICAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAKLSAgICAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgNzcsIDc3LCA3NywgNzcsIDc3LCAKLSAgICA3NywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAKLSAgICAyNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAKLSAgICAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAKLSAgICAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjcsIDI3LCAyNywgMjcsIDI3LCAKLSAgICAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAzNywgMzcsIDM3LCAzNywgMzcsIDM3LCAzNywgMzcsIDM3LCAzNywgMzcsIDM3LCAzNywgMzcsIAorICAgIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIAorICAgIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIAorICAgIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDI2LCA3OCwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgODAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIAorICAgIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM3LCAzNywgMzcsIDM3LCAzNywgCiAgICAgMzcsIDM3LCAzNywgMzcsIDM3LCAzNywgMzcsIDM3LCAzNywgMzcsIDM3LCAzNywgMzcsIDM3LCAzNywgMzcsIDM3LCAzNywgCi0gICAgMzcsIDM3LCAzNywgMzcsIDM3LCAzNywgMzcsIDM3LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgCi0gICAgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDIzNSwgMjM1LCAyMzUsIDIzNSwgMjM1LCAyMzUsIAotICAgIDIzNSwgMjM1LCAyMzUsIDIzNSwgMjM1LCAyMzUsIDIzNSwgMjM1LCAyMzUsIDIzNSwgMjM1LCAyMzUsIDIzNSwgMjM1LCAKLSAgICAyMzUsIDIzNSwgMjM1LCAyMzUsIDIzNSwgMjM1LCAyMzUsIDIzNSwgMjM1LCAyMzUsIDIzNSwgMjM1LCAyMzUsIDIzNSwgCi0gICAgMjM1LCAyMzUsIDIzNSwgMjM1LCAyMzUsIDIzNSwgMjM1LCAyMzUsIDIzNSwgMjM1LCAyMzUsIDIzNSwgMjM1LCAyMzUsIAotICAgIDIzNSwgMjM1LCAyMzUsIDIzNSwgMjM1LCAyMzUsIDIzNSwgMjM1LCAyMzUsIDIzNSwgMjM1LCAyMzUsIDIzNSwgMjM1LCAKLSAgICAyMzUsIDIzNSwgMjM1LCAyMzUsIDIzNSwgMjM1LCAyMzUsIDIzNSwgMjM1LCAyMzUsIDIzNSwgMjM1LCAyMzUsIDIzNSwgCi0gICAgMjM1LCAyMzUsIDIyMSwgMjM2LCAyMzYsIDIzNiwgMjM2LCAyMzYsIDIzNiwgMjM2LCAyMzYsIDIzNiwgMjM2LCAyMzYsIAotICAgIDIzNiwgMjM2LCAyMzYsIDIzNiwgMjM2LCAyMzYsIDIzNiwgMjM2LCAyMzYsIDIzNiwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCi0gICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCi0gICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCi0gICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCi0gICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI3LCAyNywgCi0gICAgMjcsIDI3LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCi0gICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCi0gICAgMjUsIDI1LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNSwgMjUsIDI1LCAyNSwgCi0gICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjcsIDI3LCAyNSwgMjUsIDI1LCAyNSwgCi0gICAgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI1LCAyNSwgMjcsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCi0gICAgMjUsIDI1LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI1LCAyNSwgMjcsIDI3LCAyNSwgNDAsIDI3LCAyNywgCi0gICAgMjcsIDI3LCAyNSwgMjUsIDI3LCAyNywgMjUsIDQwLCAyNywgMjcsIDI3LCAyNywgMjUsIDI1LCAyNSwgMjcsIDI3LCAyNSwgCi0gICAgMjcsIDI3LCAyNSwgMjUsIDI1LCAyNSwgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgCi0gICAgMjcsIDI3LCAyNywgMjcsIDI1LCAyNSwgMjUsIDI1LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNSwgCi0gICAgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCA3NywgNzcsIDc3LCA3NywgNzcsIDc3LCA3NywgNzcsIDI3LCAyNywgCi0gICAgMjcsIDI3LCAyNywgMjUsIDI1LCAyNywgMjcsIDI1LCAyNywgMjcsIDI3LCAyNywgMjUsIDI1LCAyNywgMjcsIDI3LCAyNywgCi0gICAgMjUsIDI1LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNSwgMjcsIDI1LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgCi0gICAgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgCi0gICAgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNSwgMjcsIDI1LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgCi0gICAgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgCi0gICAgMjcsIDI3LCAyNywgMjcsIDI1LCAyNSwgMjcsIDI1LCAyNSwgMjUsIDI3LCAyNSwgMjUsIDI1LCAyNSwgMjcsIDI1LCAyNSwgCi0gICAgMjcsIDQwLCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgCi0gICAgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgCi0gICAgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjUsIDI1LCAyNywgMjcsIDI3LCAyNywgCi0gICAgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCA3OSwgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgCi0gICAgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNSwgMjUsIDI3LCAyNywgMjcsIDI3LCAyNSwgMjUsIDI1LCAyNSwgCi0gICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjcsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCi0gICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNywgMjUsIDI3LCAyNywgMjcsIDI3LCAyNSwgMjUsIDI1LCAyNSwgCi0gICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCi0gICAgMjUsIDI1LCAwLCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAKLSAgICAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAKLSAgICAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAKLSAgICAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNSwgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAKLSAgICAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI1LCAKLSAgICAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMTYxLCAxNjIsIAotICAgIDE2MSwgMTYyLCAxNjEsIDE2MiwgMTYxLCAxNjIsIDE2MSwgMTYyLCAxNjEsIDE2MiwgMTYxLCAxNjIsIDIzNiwgMjM2LCAKLSAgICAyMzYsIDIzNiwgMjM2LCAyMzYsIDIzNiwgMjM2LCAyMzYsIDIzNiwgMTUxLCAxNTEsIDE1MSwgMTUxLCAxNTEsIDE1MSwgCi0gICAgMTUxLCAxNTEsIDE1MSwgMTUxLCAxNTEsIDE1MSwgMTUxLCAxNTEsIDE1MSwgMTUxLCAxNTEsIDE1MSwgMTUxLCAxNTEsIDI3LCAKLSAgICAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAKLSAgICAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAKLSAgICAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjI2LCA3NywgNzcsIDIyNiwgMjI2LCAxNjEsIDE2MiwgNzcsIDIyNiwgCi0gICAgMjI2LCA3NywgMCwgMjI2LCAwLCA3NywgNzcsIDc3LCA3NywgNzcsIDIyNiwgMjI2LCAyMjYsIDIyNiwgNzcsIDc3LCA3NywgCi0gICAgNzcsIDc3LCAyMjYsIDIyNiwgMjI2LCA3NywgNzcsIDc3LCAyMjYsIDIyNiwgMjI2LCAyMjYsIDksIDEwLCA5LCAxMCwgOSwgCi0gICAgMTAsIDksIDEwLCAxNjEsIDE2MiwgNzcsIDc3LCA3NywgNzcsIDc3LCA3NywgNzcsIDc3LCA3NywgNzcsIDc3LCA3NywgNzcsIAotICAgIDc3LCA3NywgNzcsIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIAotICAgIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIAotICAgIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIAotICAgIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIAotICAgIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIAotICAgIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIAotICAgIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIAotICAgIDc5LCA3OSwgNzksIDc5LCA3OSwgNzcsIDc3LCA3NywgNzcsIDc3LCA3NywgNzcsIDc3LCA3NywgNzcsIDc3LCA3NywgNzcsIAotICAgIDc3LCA3NywgNzcsIDc3LCA3NywgNzcsIDc3LCA3NywgNzcsIDc3LCA3NywgNzcsIDc3LCA3NywgNzcsIDc3LCA3NywgNzcsIAotICAgIDc3LCA3NywgNzcsIDc3LCA3NywgNzcsIDc3LCA3NywgNzcsIDc3LCA3NywgNzcsIDc3LCA3NywgNzcsIDc3LCA3NywgNzcsIAotICAgIDc3LCA3NywgNzcsIDc3LCA3NywgNzcsIDc3LCA3NywgNzcsIDc3LCA3NywgNzcsIDc3LCA3NywgNzcsIDc3LCA3NywgNzcsIAotICAgIDc3LCA3NywgNzcsIDc3LCA3NywgNzcsIDc3LCA3NywgNzcsIDc3LCA3NywgNzcsIDc3LCA3NywgNzcsIDc3LCA3NywgNzcsIAotICAgIDc3LCA3NywgNzcsIDc3LCA3NywgNzcsIDc3LCA3NywgNzcsIDc3LCA3NywgNzcsIDc3LCA3NywgNzcsIDc3LCA3NywgNzcsIAotICAgIDc3LCA3NywgNzcsIDc3LCA3NywgNzcsIDc3LCA3NywgNzcsIDc3LCA3NywgNzcsIDc3LCA3NywgNzcsIDc3LCA3NywgNzcsIAotICAgIDc3LCA3NywgNzcsIDc3LCA3NywgNzcsIDc3LCA3NywgNzcsIDc3LCAxNjEsIDE2MiwgOSwgMTAsIDE2MSwgMTYyLCAxNjEsIAotICAgIDE2MiwgMTYxLCAxNjIsIDE2MSwgMTYyLCAxNjEsIDE2MiwgMTYxLCAxNjIsIDE2MSwgMTYyLCAxNjEsIDE2MiwgMTYxLCAKLSAgICAxNjIsIDc3LCA3NywgMjI2LCAyMjYsIDIyNiwgMjI2LCAyMjYsIDIyNiwgMjI2LCAyMjYsIDIyNiwgMjI2LCAyMjYsIDIyNiwgCi0gICAgMjI2LCAyMjYsIDIyNiwgMjI2LCAyMjYsIDIyNiwgMjI2LCAyMjYsIDIyNiwgNzcsIDc3LCA3NywgNzcsIDc3LCA3NywgNzcsIAotICAgIDc3LCAyMjYsIDc3LCA3NywgNzcsIDc3LCA3NywgNzcsIDc3LCAyMjYsIDIyNiwgMjI2LCAyMjYsIDIyNiwgMjI2LCA3NywgCi0gICAgNzcsIDc3LCAyMjYsIDc3LCA3NywgNzcsIDc3LCAyMjYsIDIyNiwgMjI2LCAyMjYsIDIyNiwgNzcsIDIyNiwgMjI2LCA3NywgCi0gICAgNzcsIDE2MSwgMTYyLCAxNjEsIDE2MiwgMjI2LCA3NywgNzcsIDc3LCA3NywgMjI2LCA3NywgMjI2LCAyMjYsIDIyNiwgNzcsIAotICAgIDc3LCAyMjYsIDIyNiwgNzcsIDc3LCA3NywgNzcsIDc3LCA3NywgNzcsIDc3LCA3NywgNzcsIDIyNiwgMjI2LCAyMjYsIDIyNiwgCi0gICAgMjI2LCAyMjYsIDc3LCA3NywgMTYxLCAxNjIsIDc3LCA3NywgNzcsIDc3LCA3NywgNzcsIDc3LCA3NywgNzcsIDc3LCA3NywgCi0gICAgNzcsIDIyNiwgMjI2LCAyMjAsIDIyNiwgMjI2LCAyMjYsIDIyNiwgMjI2LCAyMjYsIDIyNiwgMjI2LCAyMjYsIDIyNiwgMjI2LCAKLSAgICAyMjYsIDIyNiwgMjI2LCAyMjYsIDIyNiwgNzcsIDIyNiwgMjI2LCAyMjYsIDIyNiwgNzcsIDc3LCAyMjYsIDc3LCAyMjYsIAotICAgIDc3LCA3NywgMjI2LCA3NywgMjI2LCAyMjYsIDIyNiwgMjI2LCA3NywgNzcsIDc3LCA3NywgNzcsIDIyNiwgMjI2LCA3NywgCi0gICAgNzcsIDc3LCA3NywgNzcsIDc3LCAyMjYsIDIyNiwgMjI2LCA3NywgNzcsIDc3LCA3NywgNzcsIDc3LCA3NywgNzcsIDc3LCAKLSAgICA3NywgNzcsIDc3LCA3NywgNzcsIDc3LCA3NywgNzcsIDc3LCA3NywgNzcsIDc3LCA3NywgNzcsIDc3LCAyMjYsIDIyNiwgNzcsIAotICAgIDc3LCA3NywgNzcsIDc3LCA3NywgNzcsIDc3LCA3NywgNzcsIDc3LCAyMjYsIDIyNiwgNzcsIDc3LCA3NywgNzcsIDIyNiwgCi0gICAgMjI2LCAyMjYsIDIyNiwgNzcsIDIyNiwgMjI2LCA3NywgNzcsIDIyNiwgMjIwLCAyMTAsIDIxMCwgNzcsIDc3LCAyMjYsIAotICAgIDIyNiwgMjI2LCAyMjYsIDIyNiwgMjI2LCAyMjYsIDIyNiwgMjI2LCAyMjYsIDIyNiwgMjI2LCAyMjYsIDIyNiwgMjI2LCAKLSAgICAyMjYsIDIyNiwgMjI2LCAyMjYsIDIyNiwgMjI2LCAyMjYsIDIyNiwgMjI2LCAyMjYsIDIyNiwgMjI2LCAyMjYsIDIyNiwgCi0gICAgMjI2LCAyMjYsIDIyNiwgMjI2LCAyMjYsIDIyNiwgMjI2LCAyMjYsIDIyNiwgMjI2LCAyMjYsIDIyNiwgMjI2LCAyMjYsIDc3LCAKLSAgICA3NywgMjI2LCAyMjYsIDIyNiwgMjI2LCAyMjYsIDIyNiwgMjI2LCAyMjYsIDc3LCAyMjYsIDIyNiwgMjI2LCAyMjYsIDIyNiwgCi0gICAgMjI2LCAyMjYsIDIyNiwgMjI2LCAyMjYsIDIyNiwgMjI2LCAyMjYsIDIyNiwgMjI2LCAyMjYsIDIyNiwgMjI2LCAyMjYsIAotICAgIDIyNiwgMjI2LCAyMjYsIDIyNiwgMjI2LCAyMjYsIDIyNiwgMjI2LCAyMjYsIDIyNiwgMjI2LCAyMjYsIDIyNiwgMjI2LCAKLSAgICAyMjYsIDIyNiwgMjI2LCAyMjYsIDIyNiwgMjI2LCAyMjYsIDc3LCA3NywgNzcsIDc3LCA3NywgMjM3LCA3NywgMjI2LCA3NywgCi0gICAgNzcsIDc3LCAyMjYsIDIyNiwgMjI2LCAyMjYsIDIyNiwgNzcsIDc3LCA3NywgNzcsIDc3LCAyMjYsIDIyNiwgMjI2LCA3NywgCi0gICAgNzcsIDc3LCA3NywgMjI2LCA3NywgNzcsIDc3LCAyMjYsIDIyNiwgMjI2LCAyMjYsIDIyNiwgNzcsIDIyNiwgNzcsIDc3LCAKLSAgICAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAKLSAgICAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAKLSAgICAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCA3NywgNzcsIDc3LCA3NywgNzcsIDc3LCAKLSAgICA3NywgNzcsIDc3LCA3NywgNzcsIDc3LCA3NywgNzcsIDc3LCA3NywgNzcsIDc3LCA3NywgNzcsIDc3LCAyNywgMjcsIDc3LCAKLSAgICA3NywgNzcsIDc3LCA3NywgNzcsIDAsIDAsIDAsIDI3LCAyNywgMjcsIDI3LCAyNywgMjUsIDI1LCAyNSwgMjUsIDI1LCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIAotICAgIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIAotICAgIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIAotICAgIDQ0LCA0NCwgNDQsIDAsIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgCi0gICAgNDYsIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgCi0gICAgNDYsIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgMCwgNDQsIDQ2LCAKLSAgICA0NCwgNDQsIDQ0LCA0NiwgNDYsIDQ0LCA0NiwgNDQsIDQ2LCA0NCwgNDYsIDQ0LCA0NCwgNDQsIDQ0LCA0NiwgNDQsIDQ2LCAKLSAgICA0NiwgNDQsIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgNDYsIDM1LCA1MCwgNDQsIDQ0LCA0NCwgNDYsIDQ0LCA0NiwgNDQsIDQ2LCAKLSAgICA0NCwgNDYsIDQ0LCA0NiwgNDQsIDQ2LCA0NCwgNDYsIDQ0LCA0NiwgNDQsIDQ2LCA0NCwgNDYsIDQ0LCA0NiwgNDQsIDQ2LCAKLSAgICA0NCwgNDYsIDQ0LCA0NiwgNDQsIDQ2LCA0NCwgNDYsIDQ0LCA0NiwgNDQsIDQ2LCA0NCwgNDYsIDQ0LCA0NiwgNDQsIDQ2LCAKLSAgICA0NCwgNDYsIDQ0LCA0NiwgNDQsIDQ2LCA0NCwgNDYsIDQ0LCA0NiwgNDQsIDQ2LCA0NCwgNDYsIDQ0LCA0NiwgNDQsIDQ2LCAKLSAgICA0NCwgNDYsIDQ0LCA0NiwgNDQsIDQ2LCA0NCwgNDYsIDQ0LCA0NiwgNDQsIDQ2LCA0NCwgNDYsIDQ0LCA0NiwgNDQsIDQ2LCAKLSAgICA0NCwgNDYsIDQ0LCA0NiwgNDQsIDQ2LCA0NCwgNDYsIDQ0LCA0NiwgNDQsIDQ2LCA0NCwgNDYsIDQ0LCA0NiwgNDQsIDQ2LCAKLSAgICA0NCwgNDYsIDQ0LCA0NiwgNDYsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDQ0LCA0NiwgNDQsIDQ2LCA4MCwgODAsIDgwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzUsIDEzNSwgMTM1LCAxMzUsIDE1MSwgMTM1LCAxMzUsIDQ2LCA0NiwgNDYsIDQ2LCAKLSAgICA0NiwgNDYsIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgNDYsIDQ2LCAKLSAgICA0NiwgNDYsIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTAsIDgyLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzksIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgCi0gICAgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDAsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAwLCA0NywgNDcsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgMCwgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDAsIDQ3LCA0NywgNDcsIDQ3LCA0NywgCi0gICAgNDcsIDQ3LCAwLCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgMCwgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDAsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgCisgICAgMzcsIDM3LCAzNywgMzcsIDM3LCAzNywgMzcsIDM3LCAzNywgMzcsIDM3LCAzNywgMzcsIDM3LCAzNywgMzcsIDM3LCAzNCwgCisgICAgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgCisgICAgMzQsIDIzNywgMjM3LCAyMzcsIDIzNywgMjM3LCAyMzcsIDIzNywgMjM3LCAyMzcsIDIzNywgMjM3LCAyMzcsIDIzNywgMjM3LCAKKyAgICAyMzcsIDIzNywgMjM3LCAyMzcsIDIzNywgMjM3LCAyMzcsIDIzNywgMjM3LCAyMzcsIDIzNywgMjM3LCAyMzcsIDIzNywgCisgICAgMjM3LCAyMzcsIDIzNywgMjM3LCAyMzcsIDIzNywgMjM3LCAyMzcsIDIzNywgMjM3LCAyMzcsIDIzNywgMjM3LCAyMzcsIAorICAgIDIzNywgMjM3LCAyMzcsIDIzNywgMjM3LCAyMzcsIDIzNywgMjM3LCAyMzcsIDIzNywgMjM3LCAyMzcsIDIzNywgMjM3LCAKKyAgICAyMzcsIDIzNywgMjM3LCAyMzcsIDIzNywgMjM3LCAyMzcsIDIzNywgMjM3LCAyMzcsIDIzNywgMjM3LCAyMzcsIDIzNywgCisgICAgMjM3LCAyMzcsIDIzNywgMjM3LCAyMzcsIDIzNywgMjM3LCAyMzcsIDIyMywgMjM4LCAyMzgsIDIzOCwgMjM4LCAyMzgsIAorICAgIDIzOCwgMjM4LCAyMzgsIDIzOCwgMjM4LCAyMzgsIDIzOCwgMjM4LCAyMzgsIDIzOCwgMjM4LCAyMzgsIDIzOCwgMjM4LCAKKyAgICAyMzgsIDIzOCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIAorICAgIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIAorICAgIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIAorICAgIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIAorICAgIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDI2LCAyNiwgMjYsIDI2LCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIAorICAgIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIAorICAgIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIAorICAgIDMwLCAzMCwgMjYsIDI2LCAzMCwgMzAsIDMwLCAzMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDMwLCAzMCwgMjYsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDMwLCAzMCwgMjYsIDI2LCAzMCwgNDAsIDI2LCAyNiwgMjYsIDI2LCAzMCwgMzAsIDI2LCAyNiwgMzAsIDQwLCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMzAsIDMwLCAzMCwgMjYsIDI2LCAzMCwgMjYsIDI2LCAzMCwgMzAsIDMwLCAzMCwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDMwLCAzMCwgMzAsIDMwLCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAzMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCA3OCwgNzgsIAorICAgIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMzAsIDMwLCAyNiwgMjYsIDMwLCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMzAsIDMwLCAyNiwgMjYsIDI2LCAyNiwgMzAsIDMwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAzMCwgMjYsIAorICAgIDMwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAzMCwgMjYsIAorICAgIDMwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDMwLCAzMCwgMjYsIDMwLCAzMCwgMzAsIAorICAgIDI2LCAzMCwgMzAsIDMwLCAzMCwgMjYsIDMwLCAzMCwgMjYsIDQwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMzAsIDMwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCA4MCwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAzMCwgMzAsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMjYsIDMwLCAzMCwgMzAsIAorICAgIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAyNiwgMzAsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIAorICAgIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMzAsIDMwLCAwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAzMCwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDMwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMTYzLCAxNjQsIDE2MywgMTY0LCAxNjMsIDE2NCwgMTYzLCAxNjQsIDE2MywgMTY0LCAKKyAgICAxNjMsIDE2NCwgMTYzLCAxNjQsIDIzOCwgMjM4LCAyMzgsIDIzOCwgMjM4LCAyMzgsIDIzOCwgMjM4LCAyMzgsIDIzOCwgCisgICAgMTUzLCAxNTMsIDE1MywgMTUzLCAxNTMsIDE1MywgMTUzLCAxNTMsIDE1MywgMTUzLCAxNTMsIDE1MywgMTUzLCAxNTMsIAorICAgIDE1MywgMTUzLCAxNTMsIDE1MywgMTUzLCAxNTMsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjI4LCA3OCwgNzgsIAorICAgIDIyOCwgMjI4LCAxNjMsIDE2NCwgNzgsIDIyOCwgMjI4LCA3OCwgMjI4LCAyMjgsIDIyOCwgNzgsIDc4LCA3OCwgNzgsIDc4LCAKKyAgICAyMjgsIDIyOCwgMjI4LCAyMjgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgMjI4LCAyMjgsIDIyOCwgNzgsIDc4LCA3OCwgMjI4LCAKKyAgICAyMjgsIDIyOCwgMjI4LCA5LCAxMCwgOSwgMTAsIDksIDEwLCA5LCAxMCwgMTYzLCAxNjQsIDc4LCA3OCwgNzgsIDc4LCA3OCwgCisgICAgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgCiAgICAgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgCi0gICAgODAsIDgwLCA4MCwgODAsIDEzNSwgMTM1LCAyOSwgMzYsIDI5LCAzNiwgMTM1LCAxMzUsIDEzNSwgMjksIDM2LCAxMzUsIDI5LCAKLSAgICAzNiwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgODMsIDEzNSwgMTM1LCA4MywgMTM1LCAKLSAgICAyOSwgMzYsIDEzNSwgMTM1LCAyOSwgMzYsIDE2MSwgMTYyLCAxNjEsIDE2MiwgMTYxLCAxNjIsIDE2MSwgMTYyLCAxMzUsIAotICAgIDEzNSwgMTM1LCAxMzUsIDEzNSwgNTEsIDEzNSwgMTM1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyMzgsIDIzOCwgMjM4LCAyMzgsIAotICAgIDIzOCwgMjM4LCAyMzgsIDIzOCwgMjM4LCAyMzgsIDIzOCwgMjM4LCAyMzgsIDIzOCwgMjM4LCAyMzgsIDIzOCwgMjM4LCAKLSAgICAyMzgsIDIzOCwgMjM4LCAyMzgsIDIzOCwgMjM4LCAyMzgsIDIzOCwgMCwgMjM4LCAyMzgsIDIzOCwgMjM4LCAyMzksIDIzOCwgCi0gICAgMjM4LCAyMzgsIDIzOCwgMjM4LCAyMzgsIDIzOCwgMjM4LCAyMzgsIDIzOCwgMjM4LCAyMzgsIDIzOCwgMjM4LCAyMzgsIAotICAgIDIzOCwgMjM4LCAyMzgsIDIzOCwgMjM4LCAyMzgsIDIzOCwgMjM4LCAyMzgsIDIzOCwgMjM4LCAyMzgsIDIzOCwgMjM4LCAKLSAgICAyMzgsIDIzOCwgMjM4LCAyMzgsIDIzOCwgMjM4LCAyMzgsIDIzOCwgMjM4LCAyMzgsIDIzOCwgMjM4LCAyMzgsIDIzOCwgCi0gICAgMjM4LCAyMzgsIDIzOCwgMjM4LCAyMzgsIDIzOCwgMjM4LCAyMzgsIDIzOCwgMjM4LCAyMzgsIDIzOCwgMjM4LCAyMzgsIAotICAgIDIzOCwgMjM4LCAyMzgsIDIzOCwgMjM4LCAyMzgsIDIzOCwgMjM4LCAyMzgsIDIzOCwgMjM4LCAyMzgsIDIzOCwgMjM4LCAKLSAgICAyMzgsIDIzOCwgMjM4LCAyMzgsIDIzOCwgMjM4LCAyMzgsIDIzOCwgMjM4LCAyMzgsIDIzOCwgMjM4LCAyMzksIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDIzOSwgMjM5LCAyMzksIDIzOSwgMjM5LCAyMzksIDIzOSwgMjM5LCAyMzksIAotICAgIDIzOSwgMjM5LCAyMzksIDIzOSwgMjM5LCAyMzksIDIzOSwgMjM5LCAyMzksIDIzOSwgMjM5LCAyMzksIDIzOSwgMjM5LCAKLSAgICAyMzksIDIzOSwgMjM5LCAyMzksIDIzOSwgMjM5LCAyMzksIDIzOSwgMjM5LCAyMzksIDIzOSwgMjM5LCAyMzksIDIzOSwgCi0gICAgMjM5LCAyMzksIDIzOSwgMjM5LCAyMzksIDIzOSwgMjM5LCAyMzksIDIzOSwgMjM5LCAyMzksIDIzOSwgMjM5LCAyMzksIAotICAgIDIzOSwgMjM5LCAyMzksIDIzOSwgMjM5LCAyMzksIDIzOSwgMjM5LCAyMzksIDIzOSwgMjM5LCAyMzksIDIzOSwgMjM5LCAKLSAgICAyMzksIDIzOSwgMjM5LCAyMzksIDIzOSwgMjM5LCAyMzksIDIzOSwgMjM5LCAyMzksIDIzOSwgMjM5LCAyMzksIDIzOSwgCi0gICAgMjM5LCAyMzksIDIzOSwgMjM5LCAyMzksIDIzOSwgMjM5LCAyMzksIDIzOSwgMjM5LCAyMzksIDIzOSwgMjM5LCAyMzksIAotICAgIDIzOSwgMjM5LCAyMzksIDIzOSwgMjM5LCAyMzksIDIzOSwgMjM5LCAyMzksIDIzOSwgMjM5LCAyMzksIDIzOSwgMjM5LCAKLSAgICAyMzksIDIzOSwgMjM5LCAyMzksIDIzOSwgMjM5LCAyMzksIDIzOSwgMjM5LCAyMzksIDIzOSwgMjM5LCAyMzksIDIzOSwgCi0gICAgMjM5LCAyMzksIDIzOSwgMjM5LCAyMzksIDIzOSwgMjM5LCAyMzksIDIzOSwgMjM5LCAyMzksIDIzOSwgMjM5LCAyMzksIAotICAgIDIzOSwgMjM5LCAyMzksIDIzOSwgMjM5LCAyMzksIDIzOSwgMjM5LCAyMzksIDIzOSwgMjM5LCAyMzksIDIzOSwgMjM5LCAKLSAgICAyMzksIDIzOSwgMjM5LCAyMzksIDIzOSwgMjM5LCAyMzksIDIzOSwgMjM5LCAyMzksIDIzOSwgMjM5LCAyMzksIDIzOSwgCi0gICAgMjM5LCAyMzksIDIzOSwgMjM5LCAyMzksIDIzOSwgMjM5LCAyMzksIDIzOSwgMjM5LCAyMzksIDIzOSwgMjM5LCAyMzksIAotICAgIDIzOSwgMjM5LCAyMzksIDIzOSwgMjM5LCAyMzksIDIzOSwgMjM5LCAyMzksIDIzOSwgMjM5LCAyMzksIDIzOSwgMjM5LCAKLSAgICAyMzksIDIzOSwgMjM5LCAyMzksIDIzOSwgMjM5LCAyMzksIDIzOSwgMjM5LCAyMzksIDIzOSwgMjM5LCAyMzksIDIzOSwgCi0gICAgMjM5LCAyMzksIDIzOSwgMjM5LCAyMzksIDIzOSwgMjM5LCAyMzksIDIzOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjM4LCAyMzgsIDIzOCwgMjM4LCAKLSAgICAyMzgsIDIzOCwgMjM4LCAyMzgsIDIzOCwgMjM4LCAyMzgsIDIzOCwgMCwgMCwgMCwgMCwgMjQwLCAyNDEsIDI0MSwgMjQxLCAKLSAgICAyMzgsIDI0MiwgMTY4LCAyNDMsIDI0NCwgMjQ1LCAyNDQsIDI0NSwgMjQ0LCAyNDUsIDI0NCwgMjQ1LCAyNDQsIDI0NSwgCi0gICAgMjM4LCAyMzgsIDI0NCwgMjQ1LCAyNDQsIDI0NSwgMjQ0LCAyNDUsIDI0NCwgMjQ1LCAyNDYsIDI0NywgMjQ4LCAyNDgsIAotICAgIDIzOCwgMjQzLCAyNDMsIDI0MywgMjQzLCAyNDMsIDI0MywgMjQzLCAyNDMsIDI0MywgMjQ5LCAyNTAsIDI1MSwgMjUyLCAKLSAgICAyNTMsIDI1MywgMjQ2LCAyNDIsIDI0MiwgMjQyLCAyNDIsIDI0MiwgMjM5LCAyMzgsIDI1NCwgMjU0LCAyNTQsIDI0MiwgCi0gICAgMTY4LCAyNDEsIDIzOCwgMjcsIDAsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgCi0gICAgMTY4LCAyNTUsIDE2OCwgMjU1LCAxNjgsIDI1NSwgMTY4LCAyNTUsIDE2OCwgMjU1LCAxNjgsIDI1NSwgMTY4LCAyNTUsIAotICAgIDE2OCwgMjU1LCAxNjgsIDI1NSwgMTY4LCAyNTUsIDE2OCwgMjU1LCAxNjgsIDI1NSwgMTY4LCAxNjgsIDI1NSwgMTY4LCAKLSAgICAyNTUsIDE2OCwgMjU1LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAyNTUsIDI1NSwgMTY4LCAyNTUsIDI1NSwgCi0gICAgMTY4LCAyNTUsIDI1NSwgMTY4LCAyNTUsIDI1NSwgMTY4LCAyNTUsIDI1NSwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIAotICAgIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAKLSAgICAxNjgsIDE2OCwgMTY4LCAyNTUsIDE2OCwgMTY4LCAwLCAwLCAyNTYsIDI1NiwgMjU3LCAyNTcsIDI0MiwgMjU4LCAyNTksIAotICAgIDI0NiwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDI1NSwgMTY4LCAKLSAgICAyNTUsIDE2OCwgMjU1LCAxNjgsIDI1NSwgMTY4LCAyNTUsIDE2OCwgMjU1LCAxNjgsIDI1NSwgMTY4LCAyNTUsIDE2OCwgCi0gICAgMjU1LCAxNjgsIDI1NSwgMTY4LCAyNTUsIDE2OCwgMjU1LCAxNjgsIDE2OCwgMjU1LCAxNjgsIDI1NSwgMTY4LCAyNTUsIAotICAgIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDI1NSwgMjU1LCAxNjgsIDI1NSwgMjU1LCAxNjgsIDI1NSwgMjU1LCAKLSAgICAxNjgsIDI1NSwgMjU1LCAxNjgsIDI1NSwgMjU1LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgCi0gICAgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIAotICAgIDI1NSwgMTY4LCAxNjgsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjQxLCAyNDIsIDI0MiwgMjU4LCAyNTksIDAsIDAsIDAsIDAsIAotICAgIDAsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAKLSAgICAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgCi0gICAgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAwLCAwLCAwLCAKLSAgICAyNTksIDI1OSwgMjU5LCAyNTksIDI1OSwgMjU5LCAyNTksIDI1OSwgMjU5LCAyNTksIDI1OSwgMjU5LCAyNTksIDI1OSwgCi0gICAgMjU5LCAyNTksIDI1OSwgMjU5LCAyNTksIDI1OSwgMjU5LCAyNTksIDI1OSwgMjU5LCAyNTksIDI1OSwgMjU5LCAyNTksIAotICAgIDI1OSwgMjU5LCAyNTksIDI1OSwgMjU5LCAyNTksIDI1OSwgMjU5LCAyNTksIDI1OSwgMjU5LCAyNTksIDI1OSwgMjU5LCAKLSAgICAyNTksIDI1OSwgMjU5LCAyNTksIDI1OSwgMjU5LCAyNTksIDI1OSwgMjU5LCAyNTksIDI1OSwgMjU5LCAyNTksIDI1OSwgCi0gICAgMjU5LCAyNTksIDI1OSwgMjU5LCAyNTksIDI1OSwgMjU5LCAyNTksIDI1OSwgMjU5LCAyNTksIDI1OSwgMjU5LCAyNTksIAotICAgIDI1OSwgMjU5LCAyNTksIDI1OSwgMjU5LCAyNTksIDI1OSwgMjU5LCAyNTksIDI1OSwgMjU5LCAyNTksIDI1OSwgMjU5LCAKLSAgICAyNTksIDI1OSwgMjU5LCAyNTksIDI1OSwgMjU5LCAyNTksIDI1OSwgMjU5LCAyNTksIDAsIDI2MCwgMjYwLCAyNjEsIDI2MSwgCi0gICAgMjYxLCAyNjEsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMTY4LCAxNjgsIAotICAgIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAKLSAgICAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMjM4LCAyMzgsIDIzOCwgMjM4LCAyMzgsIDIzOCwgMjM4LCAyMzgsIDIzOCwgMjM4LCAyMzgsIDIzOCwgMjM4LCAyMzgsIAotICAgIDIzOCwgMjM4LCAyMzgsIDIzOCwgMjM4LCAyMzgsIDIzOCwgMjM4LCAyMzgsIDIzOCwgMjM4LCAyMzgsIDIzOCwgMjM4LCAKLSAgICAyMzgsIDIzOCwgMjM4LCAyMzgsIDIzOCwgMjM4LCAyMzgsIDIzOCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIAotICAgIDE2OCwgMTY4LCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAKLSAgICAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgCi0gICAgMjYyLCAyNjIsIDI2MiwgMjM5LCAyMzksIDAsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIAotICAgIDI2MSwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAKLSAgICAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgCi0gICAgMjYyLCAyNjIsIDI2MiwgMjYzLCAyNjMsIDI2MywgMjYzLCAyNjMsIDI2MywgMjYzLCAyNjMsIDIzOSwgMjY0LCAyNjQsIAotICAgIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjYyLCAKLSAgICAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgCi0gICAgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyMzksIAotICAgIDIzOSwgMjM5LCAyNjAsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYyLCAKLSAgICAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgCi0gICAgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIAotICAgIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjY0LCAyNjQsIDI2NCwgMjY0LCAKLSAgICAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjYyLCAyNjIsIDI2MiwgCi0gICAgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjM5LCAyMzksIDIzOSwgMjM5LCAyNjIsIAotICAgIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAKLSAgICAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgCi0gICAgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIAotICAgIDI2MiwgMjYyLCAyNjIsIDI2MiwgMCwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAKLSAgICAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgCi0gICAgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIAotICAgIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAKLSAgICAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgCi0gICAgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIAotICAgIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAKLSAgICAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgCi0gICAgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDIzOSwgMjM5LCAyMzksIAotICAgIDIzOSwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAKLSAgICAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgCi0gICAgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIAotICAgIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAKLSAgICAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgCi0gICAgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIAotICAgIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAKLSAgICAyNjIsIDI2MiwgMjM5LCAyMzksIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgCi0gICAgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIAotICAgIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjM5LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAKLSAgICAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgCi0gICAgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIAotICAgIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAKLSAgICAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgCi0gICAgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIAotICAgIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAKLSAgICAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgCi0gICAgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIAotICAgIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAKLSAgICAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgCi0gICAgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIAotICAgIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAKLSAgICAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjcsIAotICAgIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIAotICAgIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIAotICAgIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIAotICAgIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgCi0gICAgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIAotICAgIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAKLSAgICAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgCi0gICAgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIAotICAgIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIAotICAgIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMjQyLCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAKLSAgICAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgCi0gICAgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIAotICAgIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAKLSAgICAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgCi0gICAgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIAotICAgIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAKLSAgICAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgCi0gICAgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIAotICAgIDE2OCwgMCwgMCwgMCwgMjM4LCAyMzgsIDIzOCwgMjM4LCAyMzgsIDIzOCwgMjM4LCAyMzgsIDIzOCwgMjM4LCAyMzgsIDIzOCwgCi0gICAgMjM4LCAyMzgsIDIzOCwgMjM4LCAyMzgsIDIzOCwgMjM4LCAyMzgsIDIzOCwgMjM4LCAyMzgsIDIzOCwgMjM4LCAyMzgsIAotICAgIDIzOCwgMjM4LCAyMzgsIDIzOCwgMjM4LCAyMzgsIDIzOCwgMjM4LCAyMzgsIDIzOCwgMjM4LCAyMzgsIDIzOCwgMjM4LCAKLSAgICAyMzgsIDIzOCwgMjM4LCAyMzgsIDIzOCwgMjM4LCAyMzgsIDIzOCwgMjM4LCAyMzgsIDIzOCwgMjM4LCAyMzgsIDIzOCwgCi0gICAgMjM4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgCi0gICAgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgCi0gICAgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgCi0gICAgODIsIDgyLCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA1MiwgMTM1LCAxMzUsIAotICAgIDEzNSwgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDE0MSwgCi0gICAgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgNDcsIDQ3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NCwgNDYsIDQ0LCA0NiwgNDQsIDQ2LCA0NCwgNDYsIAotICAgIDQ0LCA0NiwgNDQsIDQ2LCA0NCwgNDYsIDQ0LCA0NiwgNDQsIDQ2LCA0NCwgNDYsIDQ0LCA0NiwgNDQsIDQ2LCA0NCwgNDYsIAotICAgIDQ0LCA0NiwgNDQsIDQ2LCA0NCwgNDYsIDQ0LCA0NiwgNDQsIDQ2LCA0NCwgNDYsIDQ0LCA0NiwgNDQsIDQ2LCA0NCwgNDYsIAotICAgIDQ0LCA0NiwgNDcsIDgwLCA4MSwgODEsIDgxLCAxMzUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDgwLCA4MCwgMTM1LCA1MSwgCi0gICAgNDQsIDQ2LCA0NCwgNDYsIDQ0LCA0NiwgNDQsIDQ2LCA0NCwgNDYsIDQ0LCA0NiwgNDQsIDQ2LCA0NCwgNDYsIDQ0LCA0NiwgCi0gICAgNDQsIDQ2LCA0NCwgNDYsIDQ0LCA0NiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgCi0gICAgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgCi0gICAgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgCi0gICAgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgCi0gICAgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDE3MSwgMTcxLCAxNzEsIDE3MSwgMTcxLCAxNzEsIAotICAgIDE3MSwgMTcxLCAxNzEsIDE3MSwgODAsIDgwLCA4MiwgODIsIDgyLCA4MiwgODIsIDgyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCA1MywgNTMsIDUzLCA1MywgNTMsIDUzLCA1MywgNTMsIDUzLCA1MywgNTMsIDUzLCA1MywgNTMsIDUzLCA1MywgNTMsIAotICAgIDUzLCA1MywgNTMsIDUzLCA1MywgNTMsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUxLCA1MSwgNTEsIDUzLCA1MywgNDQsIAotICAgIDQ2LCA0NCwgNDYsIDQ0LCA0NiwgNDQsIDQ2LCA0NCwgNDYsIDQ0LCA0NiwgNDQsIDQ2LCA0NiwgNDYsIDQ0LCA0NiwgNDQsIAotICAgIDQ2LCA0NCwgNDYsIDQ0LCA0NiwgNDQsIDQ2LCA0NCwgNDYsIDQ0LCA0NiwgNDQsIDQ2LCA0NCwgNDYsIDQ0LCA0NiwgNDQsIAotICAgIDQ2LCA0NCwgNDYsIDQ0LCA0NiwgNDQsIDQ2LCA0NCwgNDYsIDQ0LCA0NiwgNDQsIDQ2LCA0NCwgNDYsIDQ0LCA0NiwgNDQsIAotICAgIDQ2LCA0NCwgNDYsIDQ0LCA0NiwgNDQsIDQ2LCA0NCwgNDYsIDQ0LCA0NiwgNDQsIDQ2LCA0NCwgNDYsIDQ0LCA0NiwgNDQsIAotICAgIDQ2LCA0NCwgNDYsIDQ0LCA0NiwgNTAsIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgNDQsIDQ2LCA0NCwgNDYsIAotICAgIDQ0LCA0NCwgNDYsIDQ0LCA0NiwgNDQsIDQ2LCA0NCwgNDYsIDQ0LCA0NiwgNTEsIDI2NSwgMjY1LCA0NCwgNDYsIDQ0LCA0NiwgCi0gICAgMCwgNDQsIDQ2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NCwgNDYsIDQ0LCA0NiwgNDQsIAotICAgIDQ2LCA0NCwgNDYsIDQ0LCA0NiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDYsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAKLSAgICAxMzIsIDQ3LCA0NywgNDcsIDEzOSwgNDcsIDQ3LCA0NywgNDcsIDEzMiwgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAxMzYsIDEzNiwgCi0gICAgMTMyLCAxMzIsIDEzNiwgMjcsIDI3LCAyNywgMjcsIDAsIDAsIDAsIDAsIDE0NiwgMTQ2LCAxNDYsIDE0NiwgMTQ2LCAxNDYsIAotICAgIDc5LCA3OSwgMTQ1LCAyMTksIDAsIDAsIDAsIDAsIDAsIDAsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDEzNiwgMTM2LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgCi0gICAgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgCi0gICAgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDEzNiwgMTM2LCAKLSAgICAxMzYsIDEzNiwgMTM2LCAxMzYsIDEzNiwgMTM2LCAxMzYsIDEzNiwgMTM2LCAxMzYsIDEzNiwgMTM2LCAxMzYsIDEzNiwgCi0gICAgMTM5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA4MiwgODIsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIAotICAgIDE0MSwgMTQxLCAxNDEsIDE0MSwgMCwgMCwgMCwgMCwgMCwgMCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgCi0gICAgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgODIsIDgyLCA4MiwgCi0gICAgNDcsIDAsIDAsIDAsIDAsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgNDcsIDQ3LCAKLSAgICA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAKLSAgICA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDEzMiwgMTMyLCAxMzIsIDEzMiwgMTMyLCA4NCwgODQsIDg0LCA4MiwgCi0gICAgODIsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgCi0gICAgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgMTMyLCAxMzIsIDEzMiwgMTMyLCAxMzIsIDEzMiwgMTMyLCAxMzIsIDEzMiwgMTMyLCAKLSAgICAxMzIsIDEzNiwgMTczLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA4MiwgMTY4LCAxNjgsIDE2OCwgMTY4LCAKLSAgICAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgCi0gICAgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDAsIDAsIDAsIDEzMiwgMTMyLCAKLSAgICAxMzIsIDEzNiwgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAxNDIsIDEzNiwgMTM2LCAxMzIsIAotICAgIDEzMiwgMTMyLCAxMzIsIDEzNiwgMTM2LCAxMzIsIDEzNiwgMTM2LCAxMzYsIDE3MywgODIsIDgyLCA4MiwgODIsIDgyLCA4MiwgCi0gICAgODIsIDgyLCA4MiwgODIsIDgyLCA4MiwgODIsIDAsIDUyLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIAotICAgIDE0MSwgMTQxLCAxNDEsIDAsIDAsIDAsIDAsIDgyLCA4MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDcsIDQ3LCA0NywgNDcsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAotICAgIDQ3LCAxMzIsIDEzMiwgMTMyLCAxMzIsIDEzMiwgMTMyLCAxMzYsIDEzNiwgMTMyLCAxMzIsIDEzNiwgMTM2LCAxMzIsIDEzMiwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDcsIDQ3LCA0NywgMTMyLCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgCi0gICAgNDcsIDEzMiwgMTM2LCAwLCAwLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDAsIAotICAgIDAsIDgyLCA4MiwgODIsIDgyLCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgCi0gICAgNDcsIDQ3LCA0NywgNTIsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDc5LCA3OSwgNzksIDQ3LCAxMzYsIDAsIDAsIDAsIDAsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDgwLCA0NywgODAsIDgwLCA4NCwgNDcsIAotICAgIDQ3LCA4MCwgODAsIDQ3LCA0NywgNDcsIDQ3LCA0NywgODAsIDgwLCA0NywgODAsIDQ3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NywgNDcsIDUyLCA4MiwgODIsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDAsIDAsIDQ3LCA0NywgNDcsIDQ3LCA0NywgCi0gICAgNDcsIDAsIDAsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ3LCA0NywgNDcsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCAwLCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgCisgICAgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgCisgICAgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgCisgICAgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgCisgICAgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgCisgICAgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDc4LCA3OCwgNzgsIDc4LCA3OCwgCisgICAgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgCisgICAgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgCisgICAgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgCisgICAgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgCisgICAgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgCisgICAgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgCisgICAgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgCisgICAgMTYzLCAxNjQsIDksIDEwLCAxNjMsIDE2NCwgMTYzLCAxNjQsIDE2MywgMTY0LCAxNjMsIDE2NCwgMTYzLCAxNjQsIDE2MywgCisgICAgMTY0LCAxNjMsIDE2NCwgMTYzLCAxNjQsIDE2MywgMTY0LCA3OCwgNzgsIDIyOCwgMjI4LCAyMjgsIDIyOCwgMjI4LCAyMjgsIAorICAgIDIyOCwgMjI4LCAyMjgsIDIyOCwgMjI4LCAyMjgsIDIyOCwgMjI4LCAyMjgsIDIyOCwgMjI4LCAyMjgsIDIyOCwgMjI4LCAKKyAgICAyMjgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgMjI4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgCisgICAgMjI4LCAyMjgsIDIyOCwgMjI4LCAyMjgsIDIyOCwgNzgsIDc4LCA3OCwgMjI4LCA3OCwgNzgsIDc4LCA3OCwgMjI4LCAyMjgsIAorICAgIDIyOCwgMjI4LCAyMjgsIDc4LCAyMjgsIDIyOCwgNzgsIDc4LCAxNjMsIDE2NCwgMTYzLCAxNjQsIDIyOCwgNzgsIDc4LCA3OCwgCisgICAgNzgsIDIyOCwgNzgsIDIyOCwgMjI4LCAyMjgsIDc4LCA3OCwgMjI4LCAyMjgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCAKKyAgICA3OCwgNzgsIDc4LCAyMjgsIDIyOCwgMjI4LCAyMjgsIDIyOCwgMjI4LCA3OCwgNzgsIDE2MywgMTY0LCA3OCwgNzgsIDc4LCAKKyAgICA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCAyMjgsIDIyOCwgMjIyLCAyMjgsIDIyOCwgMjI4LCAyMjgsIAorICAgIDIyOCwgMjI4LCAyMjgsIDIyOCwgMjI4LCAyMjgsIDIyOCwgMjI4LCAyMjgsIDIyOCwgMjI4LCAyMjgsIDc4LCAyMjgsIDIyOCwgCisgICAgMjI4LCAyMjgsIDc4LCA3OCwgMjI4LCA3OCwgMjI4LCA3OCwgNzgsIDIyOCwgNzgsIDIyOCwgMjI4LCAyMjgsIDIyOCwgNzgsIAorICAgIDc4LCA3OCwgNzgsIDc4LCAyMjgsIDIyOCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgMjI4LCAyMjgsIDIyOCwgNzgsIDc4LCAKKyAgICA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCAKKyAgICA3OCwgNzgsIDc4LCA3OCwgMjI4LCAyMjgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgCisgICAgMjI4LCAyMjgsIDc4LCA3OCwgNzgsIDc4LCAyMjgsIDIyOCwgMjI4LCAyMjgsIDc4LCAyMjgsIDIyOCwgNzgsIDc4LCAyMjgsIAorICAgIDIyMiwgMjEyLCAyMTIsIDc4LCA3OCwgMjI4LCAyMjgsIDIyOCwgMjI4LCAyMjgsIDIyOCwgMjI4LCAyMjgsIDIyOCwgMjI4LCAKKyAgICAyMjgsIDIyOCwgMjI4LCAyMjgsIDIyOCwgMjI4LCAyMjgsIDIyOCwgMjI4LCAyMjgsIDIyOCwgMjI4LCAyMjgsIDIyOCwgCisgICAgMjI4LCAyMjgsIDIyOCwgMjI4LCAyMjgsIDIyOCwgMjI4LCAyMjgsIDIyOCwgMjI4LCAyMjgsIDIyOCwgMjI4LCAyMjgsIAorICAgIDIyOCwgMjI4LCAyMjgsIDIyOCwgMjI4LCA3OCwgNzgsIDIyOCwgMjI4LCAyMjgsIDIyOCwgMjI4LCAyMjgsIDIyOCwgMjI4LCAKKyAgICA3OCwgMjI4LCAyMjgsIDIyOCwgMjI4LCAyMjgsIDIyOCwgMjI4LCAyMjgsIDIyOCwgMjI4LCAyMjgsIDIyOCwgMjI4LCAyMjgsIAorICAgIDIyOCwgMjI4LCAyMjgsIDIyOCwgMjI4LCAyMjgsIDIyOCwgMjI4LCAyMjgsIDIyOCwgMjI4LCAyMjgsIDIyOCwgMjI4LCAKKyAgICAyMjgsIDIyOCwgMjI4LCAyMjgsIDIyOCwgMjI4LCAyMjgsIDIyOCwgMjI4LCAyMjgsIDIyOCwgMjI4LCA3OCwgNzgsIDc4LCAKKyAgICA3OCwgNzgsIDIzOSwgNzgsIDIyOCwgNzgsIDc4LCA3OCwgMjI4LCAyMjgsIDIyOCwgMjI4LCAyMjgsIDc4LCA3OCwgNzgsIAorICAgIDc4LCA3OCwgMjI4LCAyMjgsIDIyOCwgNzgsIDc4LCA3OCwgNzgsIDIyOCwgNzgsIDc4LCA3OCwgMjI4LCAyMjgsIDIyOCwgCisgICAgMjI4LCAyMjgsIDc4LCAyMjgsIDc4LCA3OCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCAKKyAgICA3OCwgNzgsIDc4LCA3OCwgMjYsIDI2LCA3OCwgNzgsIDc4LCA3OCwgNzgsIDc4LCAwLCAwLCAwLCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDMwLCAzMCwgMzAsIDMwLCAzMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgCi0gICAgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgCi0gICAgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAxMzYsIDEzNiwgMTMyLCAxMzYsIDEzNiwgMTMyLCAKLSAgICAxMzYsIDEzNiwgODIsIDEzNiwgMTM5LCAwLCAwLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgCi0gICAgMTQxLCAxNDEsIDAsIDAsIDAsIDAsIDAsIDAsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIAotICAgIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAKLSAgICAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgCi0gICAgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIAotICAgIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAKLSAgICAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgCi0gICAgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIAotICAgIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAKLSAgICAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgCi0gICAgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIAotICAgIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAKLSAgICAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgMjU1LCAyNTUsIDI1NSwgCi0gICAgMjU1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAKLSAgICAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgCi0gICAgMTY4LCAxNjgsIDE2OCwgMCwgMCwgMCwgMCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgCi0gICAgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIAotICAgIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAKLSAgICAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAwLCAwLCAwLCAwLCAKLSAgICAyNjYsIDI2NiwgMjY2LCAyNjYsIDI2NiwgMjY2LCAyNjYsIDI2NiwgMjY2LCAyNjYsIDI2NiwgMjY2LCAyNjYsIDI2NiwgCi0gICAgMjY2LCAyNjYsIDI2NiwgMjY2LCAyNjYsIDI2NiwgMjY2LCAyNjYsIDI2NiwgMjY2LCAyNjYsIDI2NiwgMjY2LCAyNjYsIAotICAgIDI2NiwgMjY2LCAyNjYsIDI2NiwgMjY2LCAyNjYsIDI2NiwgMjY2LCAyNjYsIDI2NiwgMjY2LCAyNjYsIDI2NiwgMjY2LCAKLSAgICAyNjYsIDI2NiwgMjY2LCAyNjYsIDI2NiwgMjY2LCAyNjYsIDI2NiwgMjY2LCAyNjYsIDI2NiwgMjY2LCAyNjYsIDI2NiwgCi0gICAgMjY2LCAyNjYsIDI2NiwgMjY2LCAyNjYsIDI2NiwgMjY2LCAyNjYsIDI2NiwgMjY2LCAyNjYsIDI2NiwgMjY2LCAyNjYsIAotICAgIDI2NiwgMjY2LCAyNjYsIDI2NiwgMjY2LCAyNjYsIDI2NiwgMjY2LCAyNjYsIDI2NiwgMjY2LCAyNjYsIDI2NiwgMjY2LCAKLSAgICAyNjYsIDI2NiwgMjY2LCAyNjYsIDI2NiwgMjY2LCAyNjYsIDI2NiwgMjY2LCAyNjYsIDI2NiwgMjY2LCAyNjYsIDI2NiwgCi0gICAgMjY2LCAyNjYsIDI2NiwgMjY2LCAyNjYsIDI2NiwgMjY2LCAyNjYsIDI2NiwgMjY2LCAyNjYsIDI2NiwgMjY2LCAyNjYsIAotICAgIDI2NiwgMjY2LCAyNjYsIDI2NiwgMjY2LCAyNjYsIDI2NiwgMjY2LCAyNjYsIDI2NiwgMjY2LCAyNjYsIDI2NiwgMjY2LCAKLSAgICAyNjYsIDI2NiwgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgCi0gICAgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIAotICAgIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAKLSAgICAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgCi0gICAgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIAotICAgIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAKLSAgICAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgCi0gICAgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIAotICAgIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAKLSAgICAyNjcsIDI2NywgMjY3LCAyNjcsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgCi0gICAgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIAotICAgIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAKLSAgICAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgCi0gICAgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIAotICAgIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAKLSAgICAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgCi0gICAgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIAotICAgIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAKLSAgICAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgCi0gICAgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMTY4LCAxNjgsIDI2OCwgMTY4LCAyNjgsIDE2OCwgMTY4LCAyNjgsIAotICAgIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDE2OCwgMjY4LCAxNjgsIDI2OCwgMTY4LCAKLSAgICAxNjgsIDI2OCwgMjY4LCAxNjgsIDE2OCwgMTY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDAsIDAsIDI2OCwgMjY4LCAyNjgsIAotICAgIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAKLSAgICAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgCi0gICAgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIAotICAgIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAKLSAgICAyNjgsIDI2OCwgMjY4LCAwLCAwLCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIAotICAgIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAKLSAgICAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgCi0gICAgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIAotICAgIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAKLSAgICAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgCi0gICAgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIAotICAgIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNSwgMzUsIDM1LCAzNSwgMzUsIDAsIDAsIDAsIDAsIDAsIDI2OSwgMjcwLCAyNjksIAotICAgIDI3MSwgMjcxLCAyNzEsIDI3MSwgMjcxLCAyNzEsIDI3MSwgMjcxLCAyNzEsIDIwOSwgMjY5LCAyNjksIDI2OSwgMjY5LCAKLSAgICAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAwLCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgCi0gICAgMCwgMjY5LCAwLCAyNjksIDI2OSwgMCwgMjY5LCAyNjksIDAsIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgCi0gICAgMjY5LCAyNjksIDI3MSwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIAotICAgIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAKLSAgICAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgCi0gICAgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIAotICAgIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAKLSAgICAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgCi0gICAgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIAotICAgIDEyOCwgMTI4LCAxMjgsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAKLSAgICAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIAotICAgIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAKLSAgICAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgCi0gICAgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIAotICAgIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAKLSAgICAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgCi0gICAgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIAotICAgIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAKLSAgICAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgCi0gICAgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIAotICAgIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAKLSAgICAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgCi0gICAgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIAotICAgIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAKLSAgICAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgCi0gICAgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIAotICAgIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxOTMsIDI3MywgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAKLSAgICAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgCi0gICAgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIAotICAgIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAKLSAgICAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgCi0gICAgMTI4LCAwLCAwLCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAKLSAgICAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgCi0gICAgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIAotICAgIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgCi0gICAgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAyNzQsIDI3LCAwLCAwLCA3MCwgNzAsIDcwLCA3MCwgNzAsIDcwLCAKLSAgICA3MCwgNzAsIDcwLCA3MCwgNzAsIDcwLCA3MCwgNzAsIDcwLCA3MCwgMjc1LCAyNzUsIDI3NSwgMjc1LCAyNzUsIDI3NSwgCi0gICAgMjc1LCAyNzYsIDI3NywgMjc1LCAwLCAwLCAwLCAwLCAwLCAwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjc1LCAyNzgsIDI3OCwgMjc5LCAyNzksIDI3NiwgMjc3LCAyNzYsIDI3NywgMjc2LCAKLSAgICAyNzcsIDI3NiwgMjc3LCAyNzYsIDI3NywgMjc2LCAyNzcsIDI3NiwgMjc3LCAyNzYsIDI3NywgMjQxLCAyNDEsIDI3NiwgCi0gICAgMjc3LCAyNzUsIDI3NSwgMjc1LCAyNzUsIDI3OSwgMjc5LCAyNzksIDI4MCwgMjc1LCAyODAsIDAsIDI3NSwgMjgwLCAyNzUsIAotICAgIDI3NSwgMjc4LCAyODEsIDI4MiwgMjgxLCAyODIsIDI4MSwgMjgyLCAyODMsIDI3NSwgMjc1LCAyODQsIDI4NSwgMjg2LCAKLSAgICAyODYsIDI4NywgMCwgMjc1LCAyODgsIDI4MywgMjc1LCAwLCAwLCAwLCAwLCAxMjgsIDEyOCwgMTI4LCAxMTUsIDEyOCwgMCwgCi0gICAgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIAotICAgIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAKLSAgICAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgCi0gICAgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIAotICAgIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAKLSAgICAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgCi0gICAgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIAotICAgIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAKLSAgICAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgCi0gICAgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMCwgMCwgMTg2LCAwLCAyODksIDI4OSwgMjkwLCAKLSAgICAyOTEsIDI5MCwgMjg5LCAyODksIDI5MiwgMjkzLCAyODksIDI5NCwgMjk1LCAyOTYsIDI5NSwgMjk1LCAyOTcsIDI5NywgCi0gICAgMjk3LCAyOTcsIDI5NywgMjk3LCAyOTcsIDI5NywgMjk3LCAyOTcsIDI5NSwgMjg5LCAyOTgsIDI5OSwgMjk4LCAyODksIAotICAgIDI4OSwgMzAwLCAzMDAsIDMwMCwgMzAwLCAzMDAsIDMwMCwgMzAwLCAzMDAsIDMwMCwgMzAwLCAzMDAsIDMwMCwgMzAwLCAKLSAgICAzMDAsIDMwMCwgMzAwLCAzMDAsIDMwMCwgMzAwLCAzMDAsIDMwMCwgMzAwLCAzMDAsIDMwMCwgMzAwLCAzMDAsIDI5MiwgCi0gICAgMjg5LCAyOTMsIDMwMSwgMzAyLCAzMDEsIDMwMywgMzAzLCAzMDMsIDMwMywgMzAzLCAzMDMsIDMwMywgMzAzLCAzMDMsIAotICAgIDMwMywgMzAzLCAzMDMsIDMwMywgMzAzLCAzMDMsIDMwMywgMzAzLCAzMDMsIDMwMywgMzAzLCAzMDMsIDMwMywgMzAzLCAKLSAgICAzMDMsIDMwMywgMzAzLCAyOTIsIDI5OSwgMjkzLCAyOTksIDI5MiwgMjkzLCAzMDQsIDMwNSwgMzA2LCAzMDQsIDMwNCwgCi0gICAgMzA3LCAzMDcsIDMwNywgMzA3LCAzMDcsIDMwNywgMzA3LCAzMDcsIDMwNywgMzA3LCAzMDgsIDMwNywgMzA3LCAzMDcsIAotICAgIDMwNywgMzA3LCAzMDcsIDMwNywgMzA3LCAzMDcsIDMwNywgMzA3LCAzMDcsIDMwNywgMzA3LCAzMDcsIDMwNywgMzA3LCAKLSAgICAzMDcsIDMwNywgMzA3LCAzMDcsIDMwNywgMzA3LCAzMDcsIDMwNywgMzA3LCAzMDcsIDMwNywgMzA3LCAzMDcsIDMwNywgCi0gICAgMzA3LCAzMDcsIDMwNywgMzA3LCAzMDcsIDMwNywgMzA3LCAzMDcsIDMwNywgMzA3LCAzMDcsIDMwNywgMzA3LCAzMDcsIAotICAgIDMwOCwgMzA4LCAzMDcsIDMwNywgMzA3LCAzMDcsIDMwNywgMzA3LCAzMDcsIDMwNywgMzA3LCAzMDcsIDMwNywgMzA3LCAKLSAgICAzMDcsIDMwNywgMzA3LCAzMDcsIDMwNywgMzA3LCAzMDcsIDMwNywgMzA3LCAzMDcsIDMwNywgMzA3LCAzMDcsIDMwNywgCi0gICAgMzA3LCAzMDcsIDMwNywgMzA3LCAzMDcsIDAsIDAsIDAsIDMwNywgMzA3LCAzMDcsIDMwNywgMzA3LCAzMDcsIDAsIDAsIAotICAgIDMwNywgMzA3LCAzMDcsIDMwNywgMzA3LCAzMDcsIDAsIDAsIDMwNywgMzA3LCAzMDcsIDMwNywgMzA3LCAzMDcsIDAsIDAsIAotICAgIDMwNywgMzA3LCAzMDcsIDAsIDAsIDAsIDI5MSwgMjkxLCAyOTksIDMwMSwgMzA5LCAyOTEsIDI5MSwgMCwgMzEwLCAzMTEsIAotICAgIDMxMSwgMzExLCAzMTEsIDMxMCwgMzEwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMTIsIDMxMiwgMzEyLCAyNywgCi0gICAgMjUsIDAsIDAsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDAsIDQ3LCA0NywgNDcsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgMCwgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgCi0gICAgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDAsIDQ3LCA0NywgMCwgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAKLSAgICA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgMCwgMCwgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCAKKyAgICA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCAKKyAgICA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCAwLCA0NywgNDcsIAogICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAogICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAorICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDAsIDQ0LCA0NywgNDQsIDQ0LCA0NCwgNDcsIDQ3LCA0NCwgCisgICAgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDQsIDQ0LCA0NCwgNDcsIDQ0LCA0NywgNDcsIDQ0LCA0NywgNDcsIDQ3LCA0NywgCisgICAgNDcsIDQ3LCA1MSwgNTEsIDQ0LCA0NCwgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgCisgICAgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgCisgICAgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgCisgICAgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgCisgICAgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgCisgICAgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ3LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCA0NCwgNDcsIDQ0LCA0NywgODEsIDgxLCA4MSwgNDQsIDQ3LCAwLCAwLCAwLCAwLCAwLCAKKyAgICAxMzgsIDEzOCwgMTM4LCAxMzgsIDE1MywgMTM4LCAxMzgsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAogICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgMCwgMCwgMCwgMCwgMCwgODIsIDEzNSwgNzksIDAsIDAsIDAsIDAsIAotICAgIDE0NiwgMTQ2LCAxNDYsIDE0NiwgMTQ2LCAxNDYsIDE0NiwgMTQ2LCAxNDYsIDE0NiwgMTQ2LCAxNDYsIDE0NiwgMTQ2LCAKLSAgICAxNDYsIDE0NiwgMTQ2LCAxNDYsIDE0NiwgMTQ2LCAxNDYsIDE0NiwgMTQ2LCAxNDYsIDE0NiwgMTQ2LCAxNDYsIDE0NiwgCi0gICAgMTQ2LCAxNDYsIDE0NiwgMTQ2LCAxNDYsIDE0NiwgMTQ2LCAxNDYsIDE0NiwgMTQ2LCAxNDYsIDE0NiwgMTQ2LCAxNDYsIAotICAgIDE0NiwgMTQ2LCAxNDYsIDAsIDAsIDAsIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDMxMywgMzEzLCAKLSAgICAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgCi0gICAgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIAotICAgIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAKLSAgICAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAzMTMsIDMxMywgMzEzLCAxNTEsIDE1MSwgMTUxLCAxNTEsIDI3LCAyNywgCi0gICAgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMTUxLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3OSwgNzksIAotICAgIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIAotICAgIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIAotICAgIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA4NCwgMCwgMCwgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgCi0gICAgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgCi0gICAgNDcsIDQ3LCAwLCAwLCAwLCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDcsIDQ3LCAKLSAgICA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAKLSAgICA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDAsIDE0NiwgMTQ2LCAxNDYsIDE0NiwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAKLSAgICA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAxNzEsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgMTcxLCAwLCAwLCAKKyAgICA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDAsIDQ3LCAwLCAwLCAwLCAwLCAwLCA0NywgMCwgCisgICAgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1MSwgODMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDE0MiwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDAsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgCisgICAgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgCisgICAgMTM4LCAxMzgsIDI4LCAzNiwgMjgsIDM2LCAxMzgsIDEzOCwgMTM4LCAyOCwgMzYsIDEzOCwgMjgsIDM2LCAxMzgsIDEzOCwgCisgICAgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCA4NCwgMTM4LCAxMzgsIDg0LCAxMzgsIDI4LCAzNiwgMTM4LCAKKyAgICAxMzgsIDI4LCAzNiwgMTYzLCAxNjQsIDE2MywgMTY0LCAxNjMsIDE2NCwgMTYzLCAxNjQsIDEzOCwgMTM4LCAxMzgsIDEzOCwgCisgICAgMTM4LCA1MiwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCA4NCwgODQsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAKLSAgICA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDAsIDgyLCA0NywgNDcsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAwLCAwLCAwLCAKLSAgICAwLCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDgyLCAxNzEsIDE3MSwgMTcxLCAxNzEsIDE3MSwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjQwLCAyNDAsIDI0MCwgMjQwLCAKKyAgICAyNDAsIDI0MCwgMjQwLCAyNDAsIDI0MCwgMjQwLCAyNDAsIDI0MCwgMjQwLCAyNDAsIDI0MCwgMjQwLCAyNDAsIDI0MCwgCisgICAgMjQwLCAyNDAsIDI0MCwgMjQwLCAyNDAsIDI0MCwgMjQwLCAyNDAsIDAsIDI0MCwgMjQwLCAyNDAsIDI0MCwgMjQxLCAyNDAsIAorICAgIDI0MCwgMjQwLCAyNDAsIDI0MCwgMjQwLCAyNDAsIDI0MCwgMjQwLCAyNDAsIDI0MCwgMjQwLCAyNDAsIDI0MCwgMjQwLCAKKyAgICAyNDAsIDI0MCwgMjQwLCAyNDAsIDI0MCwgMjQwLCAyNDAsIDI0MCwgMjQwLCAyNDAsIDI0MCwgMjQwLCAyNDAsIDI0MCwgCisgICAgMjQwLCAyNDAsIDI0MCwgMjQwLCAyNDAsIDI0MCwgMjQwLCAyNDAsIDI0MCwgMjQwLCAyNDAsIDI0MCwgMjQwLCAyNDAsIAorICAgIDI0MCwgMjQwLCAyNDAsIDI0MCwgMjQwLCAyNDAsIDI0MCwgMjQwLCAyNDAsIDI0MCwgMjQwLCAyNDAsIDI0MCwgMjQwLCAKKyAgICAyNDAsIDI0MCwgMjQwLCAyNDAsIDI0MCwgMjQwLCAyNDAsIDI0MCwgMjQwLCAyNDAsIDI0MCwgMjQwLCAyNDAsIDI0MCwgCisgICAgMjQwLCAyNDAsIDI0MCwgMjQwLCAyNDAsIDI0MCwgMjQwLCAyNDAsIDI0MCwgMjQwLCAyNDAsIDI0MCwgMjQxLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAKKyAgICAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgCisgICAgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIAorICAgIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAKKyAgICAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgCisgICAgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIAorICAgIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAKKyAgICAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgCisgICAgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIAorICAgIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAKKyAgICAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgCisgICAgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIAorICAgIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAKKyAgICAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgCisgICAgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIAorICAgIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjQxLCAyNDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI0MCwgMjQwLCAyNDAsIDI0MCwgCisgICAgMjQwLCAyNDAsIDI0MCwgMjQwLCAyNDAsIDI0MCwgMjQwLCAyNDAsIDAsIDAsIDAsIDAsIDI0MiwgMjQzLCAyNDMsIDI0MywgCisgICAgMjQwLCAyNDQsIDE3MCwgMjQ1LCAyNDYsIDI0NywgMjQ2LCAyNDcsIDI0NiwgMjQ3LCAyNDYsIDI0NywgMjQ2LCAyNDcsIAorICAgIDI0MCwgMjQwLCAyNDYsIDI0NywgMjQ2LCAyNDcsIDI0NiwgMjQ3LCAyNDYsIDI0NywgMjQ4LCAyNDksIDI1MCwgMjUwLCAKKyAgICAyNDAsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI0NSwgMjQ1LCAyNDUsIDI1MSwgMjUyLCAyNTMsIDI1NCwgCisgICAgMjU1LCAyNTUsIDI0OCwgMjQ0LCAyNDQsIDI0NCwgMjQ0LCAyNDQsIDI0MSwgMjQwLCAyNTYsIDI1NiwgMjU2LCAyNDQsIAorICAgIDE3MCwgMjQzLCAyNDAsIDI2LCAwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAorICAgIDE3MCwgMjU3LCAxNzAsIDI1NywgMTcwLCAyNTcsIDE3MCwgMjU3LCAxNzAsIDI1NywgMTcwLCAyNTcsIDE3MCwgMjU3LCAKKyAgICAxNzAsIDI1NywgMTcwLCAyNTcsIDE3MCwgMjU3LCAxNzAsIDI1NywgMTcwLCAyNTcsIDE3MCwgMTcwLCAyNTcsIDE3MCwgCisgICAgMjU3LCAxNzAsIDI1NywgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMjU3LCAyNTcsIDE3MCwgMjU3LCAyNTcsIAorICAgIDE3MCwgMjU3LCAyNTcsIDE3MCwgMjU3LCAyNTcsIDE3MCwgMjU3LCAyNTcsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKKyAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCisgICAgMTcwLCAxNzAsIDE3MCwgMjU3LCAxNzAsIDE3MCwgMCwgMCwgMjU4LCAyNTgsIDI1OSwgMjU5LCAyNDQsIDI2MCwgMjYxLCAKKyAgICAyNDgsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAyNTcsIDE3MCwgCisgICAgMjU3LCAxNzAsIDI1NywgMTcwLCAyNTcsIDE3MCwgMjU3LCAxNzAsIDI1NywgMTcwLCAyNTcsIDE3MCwgMjU3LCAxNzAsIAorICAgIDI1NywgMTcwLCAyNTcsIDE3MCwgMjU3LCAxNzAsIDI1NywgMTcwLCAxNzAsIDI1NywgMTcwLCAyNTcsIDE3MCwgMjU3LCAKKyAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAyNTcsIDI1NywgMTcwLCAyNTcsIDI1NywgMTcwLCAyNTcsIDI1NywgCisgICAgMTcwLCAyNTcsIDI1NywgMTcwLCAyNTcsIDI1NywgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAorICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKKyAgICAyNTcsIDE3MCwgMTcwLCAyNTcsIDI1NywgMjU3LCAyNTcsIDI0MywgMjQ0LCAyNDQsIDI2MCwgMjYxLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCisgICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAorICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMCwgMCwgMCwgCisgICAgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIAorICAgIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAKKyAgICAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgCisgICAgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIAorICAgIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAKKyAgICAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgCisgICAgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAwLCAyNjIsIDI2MiwgMjYzLCAyNjMsIAorICAgIDI2MywgMjYzLCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDE3MCwgMTcwLCAKKyAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCisgICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDI0MCwgMjQwLCAyNDAsIDI0MCwgMjQwLCAyNDAsIDI0MCwgMjQwLCAyNDAsIDI0MCwgMjQwLCAyNDAsIDI0MCwgMjQwLCAKKyAgICAyNDAsIDI0MCwgMjQwLCAyNDAsIDI0MCwgMjQwLCAyNDAsIDI0MCwgMjQwLCAyNDAsIDI0MCwgMjQwLCAyNDAsIDI0MCwgCisgICAgMjQwLCAyNDAsIDI0MCwgMjQwLCAyNDAsIDI0MCwgMjQwLCAyNDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKKyAgICAxNzAsIDE3MCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgCisgICAgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIAorICAgIDI2NCwgMjY0LCAyNjQsIDI0MSwgMjQxLCAwLCAyNjMsIDI2MywgMjYzLCAyNjMsIDI2MywgMjYzLCAyNjMsIDI2MywgMjYzLCAKKyAgICAyNjMsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgCisgICAgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIAorICAgIDI2NCwgMjY0LCAyNjQsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNjUsIDI2NSwgMjY1LCAyNDEsIDI2NiwgMjY2LCAKKyAgICAyNjYsIDI2NiwgMjY2LCAyNjYsIDI2NiwgMjY2LCAyNjYsIDI2NiwgMjY2LCAyNjYsIDI2NiwgMjY2LCAyNjYsIDI2NCwgCisgICAgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIAorICAgIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjQxLCAKKyAgICAyNDEsIDI0MSwgMjYyLCAyNjMsIDI2MywgMjYzLCAyNjMsIDI2MywgMjYzLCAyNjMsIDI2MywgMjYzLCAyNjMsIDI2NCwgCisgICAgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIAorICAgIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAKKyAgICAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NiwgMjY2LCAyNjYsIDI2NiwgCisgICAgMjY2LCAyNjYsIDI2NiwgMjY2LCAyNjYsIDI2NiwgMjY2LCAyNjYsIDI2NiwgMjY2LCAyNjYsIDI2NCwgMjY0LCAyNjQsIAorICAgIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI0MSwgMjQxLCAyNDEsIDI0MSwgMjY0LCAKKyAgICAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgCisgICAgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIAorICAgIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAKKyAgICAyNjQsIDI2NCwgMjY0LCAyNjQsIDAsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgCisgICAgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIAorICAgIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAKKyAgICAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgCisgICAgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIAorICAgIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAKKyAgICAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgCisgICAgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIAorICAgIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNDEsIDI0MSwgMjQxLCAKKyAgICAyNDEsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgCisgICAgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIAorICAgIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAKKyAgICAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgCisgICAgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIAorICAgIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAKKyAgICAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgCisgICAgMjY0LCAyNjQsIDI0MSwgMjQxLCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIAorICAgIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAKKyAgICAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI0MSwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCisgICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAorICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKKyAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCisgICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAorICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKKyAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCisgICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAorICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKKyAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCisgICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAorICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKKyAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCisgICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAorICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKKyAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCisgICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAorICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKKyAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKKyAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMjQ0LCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCisgICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAorICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKKyAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCisgICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAorICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKKyAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCisgICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAorICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKKyAgICAxNzAsIDE3MCwgMCwgMCwgMCwgMjQwLCAyNDAsIDI0MCwgMjQwLCAyNDAsIDI0MCwgMjQwLCAyNDAsIDI0MCwgMjQwLCAyNDAsIAorICAgIDI0MCwgMjQwLCAyNDAsIDI0MCwgMjQwLCAyNDAsIDI0MCwgMjQwLCAyNDAsIDI0MCwgMjQwLCAyNDAsIDI0MCwgMjQwLCAKKyAgICAyNDAsIDI0MCwgMjQwLCAyNDAsIDI0MCwgMjQwLCAyNDAsIDI0MCwgMjQwLCAyNDAsIDI0MCwgMjQwLCAyNDAsIDI0MCwgCisgICAgMjQwLCAyNDAsIDI0MCwgMjQwLCAyNDAsIDI0MCwgMjQwLCAyNDAsIDI0MCwgMjQwLCAyNDAsIDI0MCwgMjQwLCAyNDAsIAorICAgIDI0MCwgMjQwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNTMsIDUzLCA1MywgNTMsIDUzLCAKKyAgICA1MywgODMsIDgzLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA1MywgMTM4LCAxMzgsIAorICAgIDEzOCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDE0NCwgCisgICAgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgNDgsIDQ4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIAorICAgIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIAorICAgIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIAorICAgIDQ0LCA0NywgNDgsIDgxLCA4MiwgODIsIDgyLCAxMzgsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCAKKyAgICAxMzgsIDUyLCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgCisgICAgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA4MSwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAKKyAgICAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgODEsIDgxLCA4MywgODMsIDgzLCA4MywgODMsIDgzLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCA1NCwgNTQsIDU0LCA1NCwgNTQsIDU0LCA1NCwgNTQsIDU0LCA1NCwgNTQsIDU0LCA1NCwgNTQsIDU0LCA1NCwgCisgICAgNTQsIDU0LCA1NCwgNTQsIDU0LCA1NCwgNTQsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDUyLCA1MiwgNTIsIDU0LCA1NCwgCisgICAgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NywgNDcsIDQ0LCA0NywgCisgICAgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgCisgICAgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgCisgICAgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgCisgICAgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNTEsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDQsIDQ3LCA0NCwgCisgICAgNDcsIDQ0LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNTIsIDI2NywgMjY3LCA0NCwgNDcsIDQ0LCAKKyAgICA0NywgMCwgNDQsIDQ3LCA0NCwgNDcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ0LCA0NywgNDQsIAorICAgIDQ3LCA0NCwgNDcsIDQ0LCA0NywgNDQsIDQ3LCA0NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTEsIDUxLCA0NywgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDEzNSwgNDgsIDQ4LCA0OCwgMTQyLCA0OCwgNDgsIDQ4LCA0OCwgMTM1LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDEzOSwgMTM5LCAxMzUsIDEzNSwgMTM5LCAyNiwgMjYsIDI2LCAyNiwgMCwgMCwgMCwgMCwgMTQ4LCAxNDgsIDE0OCwgCisgICAgMTQ4LCAxNDgsIDE0OCwgODAsIDgwLCA4NSwgMjIxLCAwLCAwLCAwLCAwLCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAxMzksIDEzOSwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgCisgICAgMTM5LCAxMzksIDE0MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgODMsIDgzLCAxNDQsIDE0NCwgMTQ0LCAxNDQsIAorICAgIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDAsIDAsIDAsIDAsIDAsIDAsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIAorICAgIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDgzLCA4MywgODMsIDQ4LCAwLCAwLCAwLCAwLCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAKKyAgICAxNDQsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgODYsIAorICAgIDg2LCA4NiwgODMsIDgzLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgCisgICAgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzksIDE3NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgODMsIDE3MCwgCisgICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAorICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAwLCAKKyAgICAwLCAwLCAxMzUsIDEzNSwgMTM1LCAxMzksIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTQ1LCAKKyAgICAxMzksIDEzOSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzksIDEzOSwgMTM1LCAxMzksIDEzOSwgMTM5LCAxNzQsIDgzLCA4MywgCisgICAgODMsIDgzLCA4MywgODMsIDgzLCA4MywgODMsIDgzLCA4MywgODMsIDgzLCAwLCA1MywgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAKKyAgICAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAwLCAwLCAwLCAwLCA4MywgODMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM5LCAxMzksIDEzNSwgMTM1LCAKKyAgICAxMzksIDEzOSwgMTM1LCAxMzUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDEzNSwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAxMzUsIDEzOSwgMCwgMCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgCisgICAgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAwLCAwLCA4MywgODMsIDgzLCA4MywgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDUzLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA4MCwgODAsIDgwLCAKKyAgICA0OCwgMTM5LCAwLCAwLCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA4MSwgCisgICAgNDgsIDgxLCA4MSwgODYsIDQ4LCA0OCwgODEsIDgxLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDgxLCA4MSwgNDgsIDgxLCA0OCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgNDgsIDQ4LCA1MywgODMsIDgzLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDEzOSwgMTM1LCAKKyAgICAxMzUsIDEzOSwgMTM5LCA4MywgODMsIDQ4LCA1MywgNTMsIDEzOSwgMTQyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAwLCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTM5LCAxMzksIDEzNSwgMTM5LCAxMzksIDEzNSwgMTM5LCAxMzksIDgzLCAxMzksIAorICAgIDE0MiwgMCwgMCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAyNTcsIDI1NywgMjU3LCAyNTcsIDI1NywgMjU3LCAyNTcsIDI1NywgMjU3LCAyNTcsIDI1NywgMjU3LCAyNTcsIAorICAgIDI1NywgMjU3LCAyNTcsIDI1NywgMjU3LCAyNTcsIDI1NywgMjU3LCAyNTcsIDI1NywgMjU3LCAyNTcsIDI1NywgMjU3LCAKKyAgICAyNTcsIDI1NywgMjU3LCAyNTcsIDI1NywgMjU3LCAyNTcsIDI1NywgMjU3LCAyNTcsIDI1NywgMjU3LCAyNTcsIDI1NywgCisgICAgMjU3LCAyNTcsIDI1NywgMjU3LCAyNTcsIDI1NywgMjU3LCAyNTcsIDI1NywgMjU3LCAyNTcsIDI1NywgMjU3LCAyNTcsIAorICAgIDI1NywgMjU3LCAyNTcsIDI1NywgMjU3LCAyNTcsIDI1NywgMjU3LCAyNTcsIDI1NywgMjU3LCAyNTcsIDI1NywgMjU3LCAKKyAgICAyNTcsIDI1NywgMjU3LCAyNTcsIDI1NywgMjU3LCAyNTcsIDI1NywgMjU3LCAyNTcsIDI1NywgMjU3LCAyNTcsIDI1NywgCisgICAgMjU3LCAyNTcsIDI1NywgMjU3LCAyNTcsIDI1NywgMjU3LCAyNTcsIDI1NywgMjU3LCAyNTcsIDI1NywgMjU3LCAyNTcsIAorICAgIDI1NywgMjU3LCAyNTcsIDI1NywgMjU3LCAyNTcsIDI1NywgMjU3LCAyNTcsIDI1NywgMjU3LCAyNTcsIDI1NywgMjU3LCAKKyAgICAyNTcsIDI1NywgMjU3LCAyNTcsIDI1NywgMjU3LCAyNTcsIDI1NywgMjU3LCAyNTcsIDI1NywgMjU3LCAyNTcsIDI1NywgCisgICAgMjU3LCAyNTcsIDI1NywgMjU3LCAyNTcsIDI1NywgMjU3LCAyNTcsIDI1NywgMjU3LCAyNTcsIDI1NywgMjU3LCAyNTcsIAorICAgIDI1NywgMjU3LCAyNTcsIDI1NywgMjU3LCAyNTcsIDI1NywgMjU3LCAyNTcsIDI1NywgMjU3LCAyNTcsIDI1NywgMjU3LCAKKyAgICAyNTcsIDI1NywgMjU3LCAyNTcsIDI1NywgMjU3LCAyNTcsIDI1NywgMjU3LCAyNTcsIDI1NywgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAorICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDAsIDAsIDAsIDAsIAorICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKKyAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCisgICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAorICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMCwgMCwgMCwgMCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIAorICAgIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAKKyAgICAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgCisgICAgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIAorICAgIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAKKyAgICAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgCisgICAgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIAorICAgIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAKKyAgICAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgCisgICAgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OSwgMjY5LCAyNjksIAorICAgIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAKKyAgICAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgCisgICAgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIAorICAgIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAKKyAgICAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgCisgICAgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIAorICAgIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAKKyAgICAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgCisgICAgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNzAsIAorICAgIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAKKyAgICAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgCisgICAgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIAorICAgIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAKKyAgICAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgCisgICAgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIAorICAgIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAKKyAgICAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgCisgICAgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIAorICAgIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAKKyAgICAyNzAsIDE3MCwgMTcwLCAyNzAsIDE3MCwgMjcwLCAxNzAsIDE3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgCisgICAgMjcwLCAyNzAsIDI3MCwgMjcwLCAxNzAsIDI3MCwgMTcwLCAyNzAsIDE3MCwgMTcwLCAyNzAsIDI3MCwgMTcwLCAxNzAsIAorICAgIDE3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAKKyAgICAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgCisgICAgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIAorICAgIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAKKyAgICAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDAsIDAsIAorICAgIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAKKyAgICAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgCisgICAgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIAorICAgIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAKKyAgICAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgCisgICAgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIAorICAgIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAKKyAgICAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDM1LCAzNSwgMzUsIDM1LCAzNSwgMCwgMCwgMCwgMCwgMCwgMjcxLCAyNzIsIDI3MSwgMjczLCAyNzMsIDI3MywgMjczLCAKKyAgICAyNzMsIDI3MywgMjczLCAyNzMsIDI3MywgMjExLCAyNzEsIDI3MSwgMjcxLCAyNzEsIDI3MSwgMjcxLCAyNzEsIDI3MSwgCisgICAgMjcxLCAyNzEsIDI3MSwgMjcxLCAyNzEsIDAsIDI3MSwgMjcxLCAyNzEsIDI3MSwgMjcxLCAwLCAyNzEsIDAsIDI3MSwgMjcxLCAKKyAgICAwLCAyNzEsIDI3MSwgMCwgMjcxLCAyNzEsIDI3MSwgMjcxLCAyNzEsIDI3MSwgMjcxLCAyNzEsIDI3MSwgMjczLCAxMzAsIAorICAgIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAKKyAgICAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgCisgICAgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIAorICAgIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAKKyAgICAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgCisgICAgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIAorICAgIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMjc0LCAKKyAgICAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgMjc0LCAyNzQsIDI3NCwgCisgICAgMjc0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzAsIDEzMCwgMTMwLCAKKyAgICAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgCisgICAgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIAorICAgIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAKKyAgICAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgCisgICAgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIAorICAgIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAKKyAgICAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgCisgICAgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIAorICAgIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAKKyAgICAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgCisgICAgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIAorICAgIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAKKyAgICAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgCisgICAgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIAorICAgIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAKKyAgICAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgCisgICAgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDE5NSwgMjc1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIAorICAgIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAKKyAgICAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgCisgICAgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIAorICAgIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDAsIDAsIDEzMCwgCisgICAgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIAorICAgIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAKKyAgICAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgCisgICAgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAKKyAgICAxMzAsIDEzMCwgMTMwLCAxMzAsIDI3NiwgMjYsIDAsIDAsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAyNzcsIDI3NywgMjc3LCAyNzcsIDI3NywgMjc3LCAyNzcsIDI3OCwgMjc5LCAKKyAgICAyNzcsIDAsIDAsIDAsIDAsIDAsIDAsIDgxLCA4MSwgODEsIDgxLCA4MSwgODEsIDgxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAyNzcsIDI4MCwgMjgwLCAyODEsIDI4MSwgMjc4LCAyNzksIDI3OCwgMjc5LCAyNzgsIDI3OSwgMjc4LCAyNzksIAorICAgIDI3OCwgMjc5LCAyNzgsIDI3OSwgMjc4LCAyNzksIDI3OCwgMjc5LCAyNDMsIDI0MywgMjc4LCAyNzksIDI3NywgMjc3LCAKKyAgICAyNzcsIDI3NywgMjgxLCAyODEsIDI4MSwgMjgyLCAyNzcsIDI4MiwgMCwgMjc3LCAyODIsIDI3NywgMjc3LCAyODAsIDI4MywgCisgICAgMjg0LCAyODMsIDI4NCwgMjgzLCAyODQsIDI4NSwgMjc3LCAyNzcsIDI4NiwgMjg3LCAyODgsIDI4OCwgMjg5LCAwLCAyNzcsIAorICAgIDI5MCwgMjg1LCAyNzcsIDAsIDAsIDAsIDAsIDEzMCwgMTMwLCAxMzAsIDExNywgMTMwLCAwLCAxMzAsIDEzMCwgMTMwLCAKKyAgICAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgCisgICAgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIAorICAgIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAKKyAgICAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgCisgICAgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIAorICAgIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAKKyAgICAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgCisgICAgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIAorICAgIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAKKyAgICAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAwLCAwLCAxODcsIDAsIDI5MSwgMjkxLCAyOTIsIDI5MywgMjkyLCAyOTEsIAorICAgIDI5MSwgMjk0LCAyOTUsIDI5MSwgMjk2LCAyOTcsIDI5OCwgMjk3LCAyOTcsIDI5OSwgMjk5LCAyOTksIDI5OSwgMjk5LCAKKyAgICAyOTksIDI5OSwgMjk5LCAyOTksIDI5OSwgMjk3LCAyOTEsIDMwMCwgMzAxLCAzMDAsIDI5MSwgMjkxLCAzMDIsIDMwMiwgCisgICAgMzAyLCAzMDIsIDMwMiwgMzAyLCAzMDIsIDMwMiwgMzAyLCAzMDIsIDMwMiwgMzAyLCAzMDIsIDMwMiwgMzAyLCAzMDIsIAorICAgIDMwMiwgMzAyLCAzMDIsIDMwMiwgMzAyLCAzMDIsIDMwMiwgMzAyLCAzMDIsIDMwMiwgMjk0LCAyOTEsIDI5NSwgMzAzLCAKKyAgICAzMDQsIDMwMywgMzA1LCAzMDUsIDMwNSwgMzA1LCAzMDUsIDMwNSwgMzA1LCAzMDUsIDMwNSwgMzA1LCAzMDUsIDMwNSwgCisgICAgMzA1LCAzMDUsIDMwNSwgMzA1LCAzMDUsIDMwNSwgMzA1LCAzMDUsIDMwNSwgMzA1LCAzMDUsIDMwNSwgMzA1LCAzMDUsIAorICAgIDI5NCwgMzAxLCAyOTUsIDMwMSwgMjk0LCAyOTUsIDMwNiwgMzA3LCAzMDgsIDMwNiwgMzA2LCAzMDksIDMwOSwgMzA5LCAKKyAgICAzMDksIDMwOSwgMzA5LCAzMDksIDMwOSwgMzA5LCAzMDksIDMxMCwgMzA5LCAzMDksIDMwOSwgMzA5LCAzMDksIDMwOSwgCisgICAgMzA5LCAzMDksIDMwOSwgMzA5LCAzMDksIDMwOSwgMzA5LCAzMDksIDMwOSwgMzA5LCAzMDksIDMwOSwgMzA5LCAzMDksIAorICAgIDMwOSwgMzA5LCAzMDksIDMwOSwgMzA5LCAzMDksIDMwOSwgMzA5LCAzMDksIDMwOSwgMzA5LCAzMDksIDMwOSwgMzA5LCAKKyAgICAzMDksIDMwOSwgMzA5LCAzMDksIDMwOSwgMzA5LCAzMDksIDMwOSwgMzA5LCAzMDksIDMwOSwgMzEwLCAzMTAsIDMwOSwgCisgICAgMzA5LCAzMDksIDMwOSwgMzA5LCAzMDksIDMwOSwgMzA5LCAzMDksIDMwOSwgMzA5LCAzMDksIDMwOSwgMzA5LCAzMDksIAorICAgIDMwOSwgMzA5LCAzMDksIDMwOSwgMzA5LCAzMDksIDMwOSwgMzA5LCAzMDksIDMwOSwgMzA5LCAzMDksIDMwOSwgMzA5LCAKKyAgICAzMDksIDMwOSwgMCwgMCwgMCwgMzA5LCAzMDksIDMwOSwgMzA5LCAzMDksIDMwOSwgMCwgMCwgMzA5LCAzMDksIDMwOSwgCisgICAgMzA5LCAzMDksIDMwOSwgMCwgMCwgMzA5LCAzMDksIDMwOSwgMzA5LCAzMDksIDMwOSwgMCwgMCwgMzA5LCAzMDksIDMwOSwgCisgICAgMCwgMCwgMCwgMjkzLCAyOTMsIDMwMSwgMzAzLCAzMTEsIDI5MywgMjkzLCAwLCAzMTIsIDMxMywgMzEzLCAzMTMsIDMxMywgCisgICAgMzEyLCAzMTIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDMxNCwgMzE0LCAzMTQsIDI2LCAzMCwgMCwgMCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgMCwgNDgsIDQ4LCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDAsIDAsIDAsIDAsIDgzLCAxMzgsIDgzLCAwLCAwLCAwLCAwLCAxNDgsIDE0OCwgCisgICAgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIAorICAgIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAKKyAgICAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgCisgICAgMTQ4LCAwLCAwLCAwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAzMTUsIDMxNSwgMzE1LCAzMTUsIAorICAgIDMxNSwgMzE1LCAzMTUsIDMxNSwgMzE1LCAzMTUsIDMxNSwgMzE1LCAzMTUsIDMxNSwgMzE1LCAzMTUsIDMxNSwgMzE1LCAKKyAgICAzMTUsIDMxNSwgMzE1LCAzMTUsIDMxNSwgMzE1LCAzMTUsIDMxNSwgMzE1LCAzMTUsIDMxNSwgMzE1LCAzMTUsIDMxNSwgCisgICAgMzE1LCAzMTUsIDMxNSwgMzE1LCAzMTUsIDMxNSwgMzE1LCAzMTUsIDMxNSwgMzE1LCAzMTUsIDMxNSwgMzE1LCAzMTUsIAorICAgIDMxNSwgMzE1LCAzMTUsIDMxNSwgMzE1LCAzMTUsIDMxNSwgMTUzLCAxNTMsIDE1MywgMTUzLCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDE1MywgMCwgMCwgMCwgMCwgMCwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgODAsIDgwLCA4MCwgCisgICAgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgCisgICAgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgCisgICAgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODYsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTczLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDE3MywgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgODMsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDAsIDAsIAorICAgIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgODMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgCiAgICAgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgCi0gICAgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDYsIDQ2LCA0NiwgCi0gICAgNDYsIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgCi0gICAgNDYsIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgNDYsIDQ2LCA0NiwgCi0gICAgNDYsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgCisgICAgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDQsIDQ0LCA0NCwgNDcsIDQ3LCA0NywgCiAgICAgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgCiAgICAgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgCi0gICAgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgCi0gICAgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDAsIDAsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAKLSAgICAxNDEsIDE0MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTA1LCAxMDUsIDEwNSwgMTA1LCAKLSAgICAxMDUsIDEwNSwgMCwgMCwgMTA1LCAwLCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIAotICAgIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAKLSAgICAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgCi0gICAgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMCwgMTA1LCAxMDUsIDAsIDAsIDAsIDEwNSwgMCwgMCwgMTA1LCAxMDUsIAotICAgIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAKLSAgICAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDAsIDEwMiwgMzE0LCAzMTQsIDMxNCwgMzE0LCAzMTQsIDMxNCwgCi0gICAgMzE0LCAzMTQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAKLSAgICAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgCi0gICAgMzE0LCAzMTQsIDMxNCwgMzE0LCAzMTQsIDMxNCwgMCwgMCwgMCwgMTM1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAKLSAgICAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgCi0gICAgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMCwgMCwgMCwgMCwgMCwgMTAyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMDUsIDEzMiwgMTMyLCAxMzIsIDAsIDEzMiwgMTMyLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAxMzIsIDg0LCAxMzIsIDgwLCAxMDUsIDEwNSwgMTA1LCAxMDUsIDAsIDEwNSwgMTA1LCAxMDUsIDAsIDEwNSwgMTA1LCAxMDUsIAotICAgIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAKLSAgICAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDAsIDAsIDAsIDAsIDgwLCAxNzQsIAotICAgIDg0LCAwLCAwLCAwLCAwLCAxMzksIDMxNCwgMzE0LCAzMTQsIDMxNCwgMzE0LCAzMTQsIDMxNCwgMzE0LCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIAotICAgIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAKLSAgICAxMDUsIDEwNSwgMzE0LCAzMTQsIDEwMiwgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgCi0gICAgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIAotICAgIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAKLSAgICAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgCi0gICAgMTA1LCAxMDUsIDEwNSwgMCwgMCwgMCwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMDUsIDEwNSwgMTA1LCAKLSAgICAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgCi0gICAgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDAsIDAsIDMxNCwgMzE0LCAzMTQsIDMxNCwgMzE0LCAzMTQsIDMxNCwgMzE0LCAKLSAgICAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgCi0gICAgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDAsIDAsIDAsIDAsIDAsIDMxNCwgMzE0LCAzMTQsIDMxNCwgMzE0LCAzMTQsIAotICAgIDMxNCwgMzE0LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAKLSAgICAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgCi0gICAgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIAotICAgIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAKLSAgICAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDEwNSwgCi0gICAgMTA1LCAxMDUsIDEwNSwgMTA1LCAxMDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDMxNSwgMzE1LCAzMTUsIDMxNSwgMzE1LCAKLSAgICAzMTUsIDMxNSwgMzE1LCAzMTUsIDMxNSwgMzE1LCAzMTUsIDMxNSwgMzE1LCAzMTUsIDMxNSwgMzE1LCAzMTUsIDMxNSwgCi0gICAgMzE1LCAzMTUsIDMxNSwgMzE1LCAzMTUsIDMxNSwgMzE1LCAzMTUsIDMxNSwgMzE1LCAzMTUsIDMxNSwgMCwgMTM2LCAxMzIsIAotICAgIDEzNiwgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAKLSAgICA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAKLSAgICA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAKLSAgICAxMzIsIDEzMiwgMTMyLCAxMzIsIDEzMiwgMTMyLCAxMzIsIDEzMiwgMTMyLCAxMzIsIDEzMiwgMTMyLCAxMzIsIDEzMiwgCi0gICAgMTM5LCA4MiwgODIsIDgyLCA4MiwgODIsIDgyLCA4MiwgMCwgMCwgMCwgMCwgMTUxLCAxNTEsIDE1MSwgMTUxLCAxNTEsIAotICAgIDE1MSwgMTUxLCAxNTEsIDE1MSwgMTUxLCAxNTEsIDE1MSwgMTUxLCAxNTEsIDE1MSwgMTUxLCAxNTEsIDE1MSwgMTUxLCAKLSAgICAxNTEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTMyLCAxMzIsIDEzNiwgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAxMzcsIDQ3LCAKLSAgICAxMzcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgMTM3LCA0NywgNDcsIAotICAgIDQ3LCA0NywgMTM2LCAxMzYsIDEzNiwgMTMyLCAxMzIsIDEzMiwgMTMyLCAxMzYsIDEzNiwgMTM5LCAxMzgsIDgyLCA4MiwgCi0gICAgMTcyLCA4MiwgODIsIDgyLCA4MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDcsIDQ3LCAKLSAgICA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAKLSAgICA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAKLSAgICA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAKLSAgICA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAKLSAgICA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAKLSAgICA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAKLSAgICA0NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTcxLCAxNzEsIDE3MSwgCi0gICAgMTcxLCAxNzEsIDE3MSwgMTcxLCAxNzEsIDE3MSwgMTcxLCAxNzEsIDE3MSwgMTcxLCAxNzEsIDE3MSwgMTcxLCAxNzEsIAotICAgIDE3MSwgMTcxLCAxNzEsIDE3MSwgMTcxLCAxNzEsIDE3MSwgMTcxLCAxNzEsIDE3MSwgMTcxLCAxNzEsIDE3MSwgMTcxLCAKLSAgICAxNzEsIDE3MSwgMTcxLCAxNzEsIDE3MSwgMTcxLCAxNzEsIDE3MSwgMTcxLCAxNzEsIDE3MSwgMTcxLCAxNzEsIDE3MSwgCi0gICAgMTcxLCAxNzEsIDE3MSwgMTcxLCAxNzEsIDE3MSwgMTcxLCAxNzEsIDE3MSwgMTcxLCAxNzEsIDE3MSwgMTcxLCAxNzEsIAotICAgIDE3MSwgMTcxLCAxNzEsIDE3MSwgMTcxLCAxNzEsIDE3MSwgMTcxLCAxNzEsIDE3MSwgMTcxLCAxNzEsIDE3MSwgMTcxLCAKLSAgICAxNzEsIDE3MSwgMTcxLCAxNzEsIDE3MSwgMTcxLCAxNzEsIDE3MSwgMTcxLCAxNzEsIDE3MSwgMTcxLCAxNzEsIDE3MSwgCi0gICAgMTcxLCAxNzEsIDE3MSwgMTcxLCAxNzEsIDE3MSwgMTcxLCAxNzEsIDE3MSwgMTcxLCAxNzEsIDE3MSwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgODIsIDgyLCA4MiwgODIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgCi0gICAgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgCi0gICAgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAKLSAgICA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAKLSAgICA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCAKLSAgICA0NywgNDcsIDQ3LCA0NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMTY4LCAxNjgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgCi0gICAgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgCi0gICAgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgCi0gICAgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgCi0gICAgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgCi0gICAgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgCi0gICAgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgCi0gICAgNzksIDc5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCAKLSAgICA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCAKLSAgICA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCAwLCAwLCA3OSwgNzksIDc5LCA3OSwgNzksIAotICAgIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIAotICAgIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIAotICAgIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDMxNiwgMzE2LCAzMTYsIDMxNiwgMzE2LCAKLSAgICAzMTYsIDMxNiwgMzE3LCAzMTcsIDE3NCwgMTc0LCAxNzQsIDc5LCA3OSwgNzksIDMxOCwgMzE3LCAzMTcsIDMxNywgMzE3LCAKLSAgICAzMTcsIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LCA4NCwgODQsIDg0LCA4NCwgODQsIDg0LCA4NCwgCi0gICAgODQsIDc5LCA3OSwgODAsIDgwLCA4MCwgODAsIDgwLCA4NCwgODQsIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgCi0gICAgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgCi0gICAgNzksIDc5LCA3OSwgNzksIDgwLCA4MCwgODAsIDgwLCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgCi0gICAgNzksIDc5LCA3OSwgMzE2LCAzMTYsIDMxNiwgMzE2LCAzMTYsIDMxNiwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCAKLSAgICA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCAKLSAgICA3OSwgNzksIDc5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIAotICAgIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIAotICAgIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIAotICAgIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIAotICAgIDI3LCAyNywgMjcsIDI3LCA4MCwgODAsIDgwLCAyNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjcsIDI3LCAyNywgCi0gICAgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgCi0gICAgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgCi0gICAgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgCi0gICAgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgCi0gICAgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMTQ2LCAxNDYsIDE0NiwgMTQ2LCAxNDYsIDE0NiwgMTQ2LCAxNDYsIDE0NiwgMTQ2LCAxNDYsIDE0NiwgMTQ2LCAxNDYsIAotICAgIDE0NiwgMTQ2LCAxNDYsIDE0NiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgCisgICAgNDcsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCiAgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgCi0gICAgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCiAgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDAsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKLSAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKICAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKLSAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCA0OCwgMCwgNDgsIDQ4LCAwLCAwLCA0OCwgMCwgMCwgNDgsIAotICAgIDQ4LCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAzNSwgMzUsIDM1LCAKLSAgICAzNSwgMCwgMzUsIDAsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAwLCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgCi0gICAgMzUsIDM1LCAzNSwgMzUsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgCi0gICAgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgCi0gICAgMzUsIDM1LCA0OCwgNDgsIDAsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAwLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgCi0gICAgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDQ4LCA0OCwgCi0gICAgMCwgNDgsIDQ4LCA0OCwgNDgsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgNDgsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCAwLCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIAotICAgIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAwLCAwLCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgCisgICAgMTQ0LCAxNDQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEwNywgMTA3LCAxMDcsIDEwNywgCisgICAgMTA3LCAxMDcsIDAsIDAsIDEwNywgMCwgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKKyAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCisgICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAorICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDAsIDEwNywgMTA3LCAwLCAwLCAwLCAxMDcsIDAsIDAsIDEwNywgMTA3LCAKKyAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCisgICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAwLCAxMDQsIDMxNiwgMzE2LCAzMTYsIDMxNiwgMzE2LCAzMTYsIAorICAgIDMxNiwgMzE2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCisgICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAorICAgIDMxNiwgMzE2LCAzMTYsIDMxNiwgMzE2LCAzMTYsIDAsIDAsIDAsIDEzOCwgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCisgICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAorICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDAsIDAsIDAsIDAsIDAsIDEwNCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKKyAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCisgICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAorICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKKyAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDAsIDAsIDAsIDAsIDAsIDAsIDEwNywgMTA3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMDcsIDEzNSwgMTM1LCAxMzUsIDAsIDEzNSwgMTM1LCAwLCAwLCAwLCAwLCAwLCAKKyAgICAxMzUsIDg2LCAxMzUsIDgxLCAxMDcsIDEwNywgMTA3LCAxMDcsIDAsIDEwNywgMTA3LCAxMDcsIDAsIDEwNywgMTA3LCAxMDcsIAorICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKKyAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDAsIDAsIDAsIDAsIDgxLCAxNzUsIAorICAgIDg2LCAwLCAwLCAwLCAwLCAxNDIsIDMxNiwgMzE2LCAzMTYsIDMxNiwgMzE2LCAzMTYsIDMxNiwgMzE2LCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAxMDQsIDEwNCwgMTA0LCAxMDQsIDEwNCwgMTA0LCAxMDQsIDEwNCwgMTA0LCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAorICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKKyAgICAxMDcsIDEwNywgMzE2LCAzMTYsIDEwNCwgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCisgICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAorICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKKyAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCisgICAgMTA3LCAxMDcsIDEwNywgMCwgMCwgMCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMzgsIDEzOCwgMTM4LCAxMDcsIDEwNywgMTA3LCAKKyAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCisgICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDAsIDAsIDMxNiwgMzE2LCAzMTYsIDMxNiwgMzE2LCAzMTYsIDMxNiwgMzE2LCAKKyAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCisgICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDAsIDAsIDAsIDAsIDAsIDMxNiwgMzE2LCAzMTYsIDMxNiwgMzE2LCAzMTYsIAorICAgIDMxNiwgMzE2LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKKyAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCisgICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIAorICAgIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAKKyAgICAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCisgICAgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDMxNywgMzE3LCAzMTcsIDMxNywgMzE3LCAKKyAgICAzMTcsIDMxNywgMzE3LCAzMTcsIDMxNywgMzE3LCAzMTcsIDMxNywgMzE3LCAzMTcsIDMxNywgMzE3LCAzMTcsIDMxNywgCisgICAgMzE3LCAzMTcsIDMxNywgMzE3LCAzMTcsIDMxNywgMzE3LCAzMTcsIDMxNywgMzE3LCAzMTcsIDMxNywgMCwgMTM5LCAxMzUsIAorICAgIDEzOSwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKICAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKLSAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKICAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKLSAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMzUsIDM1LCAKLSAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKLSAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDM1LCAzNSwgMzUsIDM1LCAKLSAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKLSAgICAzNSwgMzUsIDM1LCAzNSwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKLSAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKLSAgICAzNSwgMzUsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKLSAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKLSAgICAzNSwgMzUsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAzMTksIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKLSAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKLSAgICAyMjAsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAzMTksIDM1LCAzNSwgMzUsIAotICAgIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIAotICAgIDM1LCAzNSwgMzUsIDM1LCAyMjAsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgCisgICAgMTQyLCA4MywgODMsIDgzLCA4MywgODMsIDgzLCA4MywgMCwgMCwgMCwgMCwgMTUzLCAxNTMsIDE1MywgMTUzLCAxNTMsIAorICAgIDE1MywgMTUzLCAxNTMsIDE1MywgMTUzLCAxNTMsIDE1MywgMTUzLCAxNTMsIDE1MywgMTUzLCAxNTMsIDE1MywgMTUzLCAKKyAgICAxNTMsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTM1LCAxMzUsIDEzOSwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAxNDAsIDQ4LCAKKyAgICAxNDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTQwLCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgMTM5LCAxMzksIDEzOSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzksIDEzOSwgMTQyLCAxNDEsIDgzLCA4MywgCisgICAgMTg4LCA4MywgODMsIDgzLCA4MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDgsIDQ4LCAKICAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICAzMTksIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgCi0gICAgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAyMjAsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgCisgICAgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAwLCAwLCAwLCAwLCAwLCAwLCA4MSwgODEsIDgxLCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKICAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKLSAgICA0OCwgNDgsIDQ4LCA0OCwgMzE5LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgCi0gICAgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMjIwLCAzNSwgMzUsIDM1LCAzNSwgMzUsIAotICAgIDM1LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIAotICAgIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMzE5LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKLSAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMjIwLCAzNSwgCi0gICAgMzUsIDM1LCAzNSwgMzUsIDM1LCA0OCwgMzUsIDAsIDAsIDMyMCwgMzIwLCAzMjAsIDMyMCwgMzIwLCAzMjAsIDMyMCwgMzIwLCAKLSAgICAzMjAsIDMyMCwgMzIwLCAzMjAsIDMyMCwgMzIwLCAzMjAsIDMyMCwgMzIwLCAzMjAsIDMyMCwgMzIwLCAzMjAsIDMyMCwgCi0gICAgMzIwLCAzMjAsIDMyMCwgMzIwLCAzMjAsIDMyMCwgMzIwLCAzMjAsIDMyMCwgMzIwLCAzMjAsIDMyMCwgMzIwLCAzMjAsIAotICAgIDMyMCwgMzIwLCAzMjAsIDMyMCwgMzIwLCAzMjAsIDMyMCwgMzIwLCAzMjAsIDMyMCwgMzIwLCAzMjAsIDMyMCwgMzIwLCAyNywgCi0gICAgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgCi0gICAgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgCi0gICAgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDAsIDAsIDAsIDAsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgCi0gICAgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgCi0gICAgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgCi0gICAgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgCi0gICAgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgCi0gICAgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgCi0gICAgMjcsIDI3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgCi0gICAgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAwLCAwLCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAKLSAgICAyNywgMjcsIDI3LCAyNywgMjcsIDAsIDAsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIAotICAgIDI3LCAyNywgMjcsIDAsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgCi0gICAgMjcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMjM1LCAyMzUsIDIzNSwgMjM1LCAyMzUsIDIzNSwgMjM1LCAyMzUsIDIzNSwgMjM1LCAyMzUsIDIzNSwgCi0gICAgMjM1LCAyMzUsIDIzNSwgMjM1LCAyMzUsIDIzNSwgMjM1LCAyMzUsIDIzNSwgMjM1LCAyMzUsIDIzNSwgMjM1LCAyMzUsIAotICAgIDIzNSwgMjM1LCAyMzUsIDIzNSwgMzIxLCAwLCAyMzUsIDIzNSwgMjM1LCAyMzUsIDIzNSwgMjM1LCAyMzUsIDIzNSwgMjM1LCAKLSAgICAyMzUsIDIzNSwgMjM1LCAyMzUsIDIzNSwgMjM1LCAyMzUsIDIzNSwgMjM1LCAyMzUsIDIzNSwgMjM1LCAyMzUsIDIzNSwgCi0gICAgMjM1LCAyMzUsIDIzNSwgMjM1LCAyMzUsIDIzNSwgMjM1LCAyMzUsIDIzNSwgMjYzLCAyNjMsIDI2MywgMjYzLCAyNjMsIAotICAgIDI2MywgMjYzLCAyNjMsIDI2MywgMjYzLCAyNjMsIDI2MywgMjYzLCAyNjMsIDI2MywgMjYzLCAyNjMsIDI2MywgMjYzLCAKLSAgICAyNjMsIDI2MywgMjYzLCAyNjMsIDI2MywgMjYzLCAyNjMsIDAsIDAsIDAsIDAsIDAsIDAsIDI2MywgMjYzLCAyNjMsIDI2MywgCi0gICAgMjYzLCAyNjMsIDI2MywgMjYzLCAyNjMsIDI2MywgMjYzLCAyNjMsIDI2MywgMjYzLCAyNjMsIDI2MywgMjYzLCAyNjMsIAotICAgIDI2MywgMjYzLCAyNjMsIDI2MywgMjYzLCAyNjMsIDI2MywgMjYzLCAyNjMsIDI2MywgMjYzLCAyNjMsIDI2MywgMjYzLCAKLSAgICAyMzUsIDI2MywgMjYzLCAyNjMsIDI2MywgMjYzLCAyNjMsIDI2MywgMjYzLCAyNjMsIDI2MywgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTQ5LCAxMzUsIDEzNSwgMTM1LCAxMzUsIAorICAgIDEzOSwgMTM1LCAxNTAsIDE1MCwgMTM1LCAxMzUsIDEzNSwgMTQyLCAxNDIsIDAsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAKKyAgICAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgODMsIDgzLCA4MywgODMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDc5LCA3OSwgCi0gICAgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgCi0gICAgNzksIDc5LCA3OSwgNzksIDc5LCA3OSwgMjYyLCAyNjIsIDI2MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAKLSAgICAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgCi0gICAgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIAotICAgIDI2MiwgMjYyLCAwLCAwLCAwLCAwLCAwLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAyNjIsIDI2MiwgMjYyLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAyNjIsIDI2MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMTM1LCAxMzUsIDEzOSwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTM5LCAxMzksIAorICAgIDEzOSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM5LCAxNzQsIDQ4LCA0OCwgNDgsIAorICAgIDQ4LCA4MywgODMsIDgzLCA4MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgCisgICAgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgMTM1LCAxMzksIDEzNSwgMTM5LCAxMzksIDEzNSwgMTM1LCAxMzUsIDEzNSwgMTM1LCAxMzUsIAorICAgIDE3NCwgMTQ1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgMTQ0LCAxNDQsIDE0NCwgCisgICAgMTQ0LCAxNDQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAKLSAgICAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAKLSAgICAyNywgMjcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI3LCAyNywgMjcsIDI3LCAyNywgCi0gICAgMjcsIDAsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAKLSAgICAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAKLSAgICAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAKLSAgICAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAKLSAgICAwLCAwLCAwLCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgCi0gICAgMjcsIDI3LCAyNywgMjcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI3LCAyNywgMjcsIDI3LCAyNywgCi0gICAgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgCi0gICAgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAwLCAyNywgMjcsIDI3LCAKLSAgICAyNywgMjcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAKLSAgICAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAKLSAgICAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAKLSAgICAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAKLSAgICAyNywgMCwgMjcsIDAsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIAotICAgIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIAotICAgIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIAotICAgIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIAotICAgIDI3LCAyNywgMjcsIDI3LCAyNywgNzksIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIAotICAgIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIAotICAgIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIAotICAgIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIAotICAgIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIAotICAgIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIAotICAgIDI3LCAyNywgMjcsIDI3LCAyNywgMCwgMjcsIDI3LCAyNywgMjcsIDAsIDAsIDAsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIAotICAgIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIAotICAgIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDc5LCAyNywgMjcsIDI3LCAyNywgMjcsIAotICAgIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIAotICAgIDI3LCAyNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjcsIDI3LCAyNywgCi0gICAgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgCi0gICAgMjcsIDI3LCAyNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIAorICAgIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAKKyAgICAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgCisgICAgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIAorICAgIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAKKyAgICAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgCisgICAgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIDE3MywgMTczLCAxNzMsIAorICAgIDE3MywgMTczLCAxNzMsIDE3MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgODMsIDgzLCA4MywgCisgICAgODMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAKKyAgICA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCisgICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDgsIAorICAgIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAKKyAgICAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgCisgICAgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIDEzOSwgMTM5LCAxMzksIAorICAgIDEzOSwgMTM5LCAxMzksIDEzOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTM1LCAKKyAgICAxMzUsIDEzNSwgMTM1LCA1MywgNTMsIDUzLCA1MywgNTMsIDUzLCA1MywgNTMsIDUzLCA1MywgNTMsIDUzLCA1MywgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTcwLCAKKyAgICAxNzAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAKKyAgICA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAKKyAgICA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAKKyAgICA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAKKyAgICA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAKKyAgICA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAKKyAgICA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIAorICAgIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIAorICAgIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAwLCAwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgCisgICAgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgCisgICAgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgCisgICAgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDMxOCwgMzE4LCAzMTgsIDMxOCwgMzE4LCAzMTgsIDMxOCwgMzE5LCAzMTksIAorICAgIDE3NSwgMTc1LCAxNzUsIDgwLCA4MCwgODAsIDMyMCwgMzE5LCAzMTksIDMxOSwgMzE5LCAzMTksIDE4NywgMTg3LCAxODcsIAorICAgIDE4NywgMTg3LCAxODcsIDE4NywgMTg3LCA4NiwgODYsIDg2LCA4NiwgODYsIDg2LCA4NiwgODYsIDgwLCA4MCwgODEsIDgxLCAKKyAgICA4MSwgODEsIDgxLCA4NiwgODYsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAKKyAgICA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgxLCAKKyAgICA4MSwgODEsIDgxLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgMzE4LCAzMTgsIAorICAgIDMxOCwgMzE4LCAzMTgsIDMxOCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIAorICAgIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCA4MSwgCisgICAgODEsIDgxLCAyNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTQ4LCAxNDgsIDE0OCwgCisgICAgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIDE0OCwgMTQ4LCAxNDgsIAorICAgIDE0OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgCisgICAgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgCisgICAgNDksIDQ5LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgCisgICAgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgCisgICAgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgCisgICAgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDAsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKKyAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAKKyAgICA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgMzUsIDM1LCAKKyAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKKyAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCA0OSwgMCwgNDksIDQ5LCAwLCAwLCA0OSwgMCwgMCwgNDksIDQ5LCAwLCAwLCA0OSwgCisgICAgNDksIDQ5LCA0OSwgMCwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAzNSwgMzUsIDM1LCAzNSwgMCwgMzUsIDAsIAorICAgIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAwLCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgCisgICAgMzUsIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgCisgICAgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgCisgICAgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCA0OSwgCisgICAgNDksIDAsIDQ5LCA0OSwgNDksIDQ5LCAwLCAwLCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDAsIDQ5LCA0OSwgCisgICAgNDksIDQ5LCA0OSwgNDksIDQ5LCAwLCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKKyAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDQ5LCA0OSwgMCwgNDksIAorICAgIDQ5LCA0OSwgNDksIDAsIDQ5LCA0OSwgNDksIDQ5LCA0OSwgMCwgNDksIDAsIDAsIDAsIDQ5LCA0OSwgNDksIDQ5LCA0OSwgCisgICAgNDksIDQ5LCAwLCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKKyAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAKKyAgICA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAKKyAgICA0OSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKKyAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAKKyAgICA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDM1LCAKKyAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKKyAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAKKyAgICA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAzNSwgMzUsIDM1LCAKKyAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKKyAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAKKyAgICA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKKyAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKKyAgICAzNSwgMzUsIDM1LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAKKyAgICA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKKyAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKKyAgICAzNSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAKKyAgICA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKKyAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKKyAgICAzNSwgMCwgMCwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIAorICAgIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDMyMSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKKyAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDIyMiwgCisgICAgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgCisgICAgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDMyMSwgMzUsIDM1LCAzNSwgMzUsIAorICAgIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIAorICAgIDM1LCAzNSwgMzUsIDIyMiwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCAKKyAgICA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDMyMSwgCisgICAgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgCisgICAgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDIyMiwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgNDksIDQ5LCA0OSwgNDksIAorICAgIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIAorICAgIDQ5LCA0OSwgNDksIDMyMSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKKyAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDIyMiwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgCisgICAgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgCisgICAgNDksIDQ5LCA0OSwgNDksIDQ5LCA0OSwgNDksIDMyMSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIAorICAgIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDIyMiwgMzUsIDM1LCAKKyAgICAzNSwgMzUsIDM1LCAzNSwgNDksIDM1LCAwLCAwLCAzMjIsIDMyMiwgMzIyLCAzMjIsIDMyMiwgMzIyLCAzMjIsIDMyMiwgCisgICAgMzIyLCAzMjIsIDMyMiwgMzIyLCAzMjIsIDMyMiwgMzIyLCAzMjIsIDMyMiwgMzIyLCAzMjIsIDMyMiwgMzIyLCAzMjIsIAorICAgIDMyMiwgMzIyLCAzMjIsIDMyMiwgMzIyLCAzMjIsIDMyMiwgMzIyLCAzMjIsIDMyMiwgMzIyLCAzMjIsIDMyMiwgMzIyLCAKKyAgICAzMjIsIDMyMiwgMzIyLCAzMjIsIDMyMiwgMzIyLCAzMjIsIDMyMiwgMzIyLCAzMjIsIDMyMiwgMzIyLCAzMjIsIDMyMiwgCisgICAgMTMwLCAxMzAsIDEzMCwgMTMwLCAwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIAorICAgIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAKKyAgICAxMzAsIDEzMCwgMTMwLCAwLCAxMzAsIDEzMCwgMCwgMTMwLCAwLCAwLCAxMzAsIDAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgCisgICAgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAwLCAxMzAsIDAsIDEzMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMTMwLCAwLCAwLCAwLCAwLCAxMzAsIDAsIDEzMCwgMCwgMTMwLCAwLCAxMzAsIDEzMCwgMTMwLCAwLCAKKyAgICAxMzAsIDEzMCwgMCwgMTMwLCAwLCAwLCAxMzAsIDAsIDEzMCwgMCwgMTMwLCAwLCAxMzAsIDAsIDEzMCwgMCwgMTMwLCAxMzAsIAorICAgIDAsIDEzMCwgMCwgMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIAorICAgIDAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAwLCAxMzAsIDAsIDEzMCwgMTMwLCAxMzAsIAorICAgIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAKKyAgICAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDAsIDAsIDAsIDAsIDAsIDEzMCwgCisgICAgMTMwLCAxMzAsIDAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAKKyAgICAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMTMwLCAxMzAsIDEzMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNzgsIDc4LCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDAsIDAsIDAsIDAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAwLCAwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDAsIDAsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDAsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMCwgMCwgMCwgMCwgMCwgMjM3LCAyMzcsIAorICAgIDIzNywgMjM3LCAyMzcsIDIzNywgMjM3LCAyMzcsIDIzNywgMjM3LCAyMzcsIDIzNywgMjM3LCAyMzcsIDIzNywgMjM3LCAKKyAgICAyMzcsIDIzNywgMjM3LCAyMzcsIDIzNywgMjM3LCAyMzcsIDIzNywgMjM3LCAyMzcsIDIzNywgMjM3LCAyMzcsIDIzNywgCisgICAgMzIzLCAwLCAyMzcsIDIzNywgMjM3LCAyMzcsIDIzNywgMjM3LCAyMzcsIDIzNywgMjM3LCAyMzcsIDIzNywgMjM3LCAyMzcsIAorICAgIDIzNywgMjM3LCAyMzcsIDIzNywgMjM3LCAyMzcsIDIzNywgMjM3LCAyMzcsIDIzNywgMjM3LCAyMzcsIDIzNywgMjM3LCAKKyAgICAyMzcsIDIzNywgMjM3LCAyMzcsIDIzNywgMzI0LCAzMjQsIDMyNCwgMzI0LCAzMjQsIDMyNCwgMzI0LCAzMjQsIDMyNCwgCisgICAgMzI0LCAzMjQsIDMyNCwgMzI0LCAzMjQsIDMyNCwgMzI0LCAzMjQsIDMyNCwgMzI0LCAzMjQsIDMyNCwgMzI0LCAzMjQsIAorICAgIDMyNCwgMzI0LCAzMjQsIDIxOCwgMjE4LCAwLCAwLCAwLCAwLCAzMjQsIDMyNCwgMzI0LCAzMjQsIDMyNCwgMzI0LCAzMjQsIAorICAgIDMyNCwgMzI0LCAzMjQsIDMyNCwgMzI0LCAzMjQsIDMyNCwgMzI0LCAzMjQsIDMyNCwgMzI0LCAzMjQsIDMyNCwgMzI0LCAKKyAgICAzMjQsIDMyNCwgMzI0LCAzMjQsIDMyNCwgMzI0LCAzMjQsIDMyNCwgMzI0LCAzMjQsIDMyNCwgMjM3LCAzMjQsIDMyNCwgCisgICAgMzI0LCAzMjQsIDMyNCwgMzI0LCAzMjQsIDMyNCwgMzI0LCAzMjQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIAorICAgIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIDgwLCA4MCwgODAsIAorICAgIDgwLCA4MCwgMjY0LCAyNjQsIDI2NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjY0LCAyNjQsIAorICAgIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAKKyAgICAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgCisgICAgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAwLCAwLCAwLCAKKyAgICAwLCAwLCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAyNjQsIDI2NCwgMjY0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAyNjQsIDI2NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMCwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDAsIDAsIDAsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAwLCAyNiwgMCwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAwLCAyNiwgMjYsIDI2LCAyNiwgMCwgMCwgMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAwLCAwLCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjcsIDI3LCAyNywgMjcsIDI3LCAwLCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgCi0gICAgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMCwgMjcsIDI3LCAyNywgMCwgMjcsIDAsIDI3LCAwLCAyNywgCi0gICAgMCwgMjcsIDI3LCAyNywgMCwgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMCwgMCwgMjcsIDI3LCAyNywgMjcsIDAsIDI3LCAwLCAKLSAgICAwLCAyNywgMjcsIDI3LCAyNywgMCwgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMCwgCi0gICAgMCwgMCwgMCwgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNywgMjcsIDI3LCAyNywgMjcsIAotICAgIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIAotICAgIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIAotICAgIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIAotICAgIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAKKyAgICAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDAsIDAsIAorICAgIDAsIDAsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgCisgICAgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIAotICAgIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIAotICAgIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIAotICAgIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIAotICAgIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIAotICAgIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIAotICAgIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTY4LCAKLSAgICAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgCi0gICAgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIAotICAgIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAKLSAgICAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgCi0gICAgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIAotICAgIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAKLSAgICAxNjgsIDE2OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTY4LCAxNjgsIAotICAgIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAKLSAgICAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgCi0gICAgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIAotICAgIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgCi0gICAgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIAotICAgIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAKLSAgICAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgCi0gICAgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIAotICAgIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAKLSAgICAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMTY4LCAxNjgsIDE2OCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIAorICAgIDI2LCAyNiwgMjYsIDI2LCAyNiwgMjYsIDI2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNzAsIDE3MCwgCisgICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAorICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKKyAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCisgICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAorICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKKyAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCisgICAgMTcwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAorICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKKyAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCisgICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAorICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTcwLCAKKyAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCisgICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAorICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKKyAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgCisgICAgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIAorICAgIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAKKyAgICAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAxNzAsIDE3MCwgMTcwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNjgsIDI2OCwgCi0gICAgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIAotICAgIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAyNjgsIDI2OCwgMjY4LCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIAorICAgIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAKKyAgICAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAyNzAsIDI3MCwgMjcwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxODcsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDE4NiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgCi0gICAgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIAotICAgIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAKLSAgICAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgCi0gICAgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIAotICAgIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAKLSAgICAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgMTg2LCAxODYsIDE4NiwgCi0gICAgMTg2LCAxODYsIDE4NiwgNzAsIDcwLCA3MCwgNzAsIDcwLCA3MCwgNzAsIDcwLCA3MCwgNzAsIDcwLCA3MCwgNzAsIDcwLCAKLSAgICA3MCwgNzAsIDcwLCA3MCwgNzAsIDcwLCA3MCwgNzAsIDcwLCA3MCwgNzAsIDcwLCA3MCwgNzAsIDcwLCA3MCwgNzAsIDcwLCAKLSAgICA3MCwgNzAsIDcwLCA3MCwgNzAsIDcwLCA3MCwgNzAsIDcwLCA3MCwgNzAsIDcwLCA3MCwgNzAsIDcwLCA3MCwgNzAsIDcwLCAKLSAgICA3MCwgNzAsIDcwLCA3MCwgNzAsIDcwLCA3MCwgNzAsIDcwLCA3MCwgNzAsIDcwLCA3MCwgNzAsIDcwLCA3MCwgNzAsIDcwLCAKLSAgICA3MCwgNzAsIDcwLCA3MCwgNzAsIDcwLCA3MCwgNzAsIDcwLCA3MCwgNzAsIDcwLCA3MCwgNzAsIDcwLCA3MCwgNzAsIDcwLCAKLSAgICA3MCwgNzAsIDcwLCA3MCwgNzAsIDcwLCA3MCwgNzAsIDcwLCA3MCwgNzAsIDcwLCA3MCwgNzAsIDcwLCA3MCwgNzAsIDcwLCAKLSAgICA3MCwgNzAsIDcwLCA3MCwgNzAsIDcwLCA3MCwgNzAsIDcwLCA3MCwgNzAsIDcwLCA3MCwgNzAsIDcwLCA3MCwgNzAsIDcwLCAKLSAgICA3MCwgNzAsIDcwLCA3MCwgNzAsIDcwLCA3MCwgNzAsIDcwLCA3MCwgNzAsIDcwLCA3MCwgNzAsIDcwLCA3MCwgNzAsIDcwLCAKLSAgICA3MCwgNzAsIDcwLCA3MCwgNzAsIDcwLCA3MCwgNzAsIDcwLCA3MCwgNzAsIDcwLCA3MCwgNzAsIDcwLCA3MCwgNzAsIDcwLCAKLSAgICA3MCwgNzAsIDcwLCA3MCwgNzAsIDcwLCA3MCwgNzAsIDcwLCA3MCwgNzAsIDcwLCA3MCwgNzAsIDcwLCA3MCwgNzAsIDcwLCAKLSAgICA3MCwgNzAsIDcwLCA3MCwgNzAsIDcwLCA3MCwgNzAsIDcwLCA3MCwgNzAsIDcwLCA3MCwgNzAsIDcwLCA3MCwgNzAsIDcwLCAKLSAgICA3MCwgNzAsIDcwLCA3MCwgNzAsIDcwLCA3MCwgNzAsIDcwLCA3MCwgNzAsIDcwLCA3MCwgNzAsIDcwLCA3MCwgNzAsIDcwLCAKLSAgICA3MCwgNzAsIDcwLCA3MCwgNzAsIDcwLCA3MCwgNzAsIDcwLCA3MCwgNzAsIDcwLCA3MCwgNzAsIDcwLCA3MCwgNzAsIDcwLCAKLSAgICA3MCwgNzAsIDcwLCA3MCwgNzAsIDcwLCA3MCwgNzAsIDcwLCA3MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIAotICAgIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAKLSAgICAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgCi0gICAgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIAotICAgIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAKLSAgICAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgCi0gICAgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIAotICAgIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAKLSAgICAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgMjY3LCAyNjcsIDI2NywgCi0gICAgMjY3LCAyNjcsIDI2NywgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMTg3LCAxODcsIDE4NywgMTg3LCAxODcsIDE4NywgMTg3LCAxODcsIDE4NywgMTg3LCAxODcsIAorICAgIDE4NywgMTg3LCAxODcsIDE4NywgMTg3LCAxODcsIDE4NywgMTg3LCAxODcsIDE4NywgMTg3LCAxODcsIDE4NywgMTg3LCAKKyAgICAxODcsIDE4NywgMTg3LCAxODcsIDE4NywgMTg3LCAxODcsIDE4NywgMTg3LCAxODcsIDE4NywgMTg3LCAxODcsIDE4NywgCisgICAgMTg3LCAxODcsIDE4NywgMTg3LCAxODcsIDE4NywgMTg3LCAxODcsIDE4NywgMTg3LCAxODcsIDE4NywgMTg3LCAxODcsIAorICAgIDE4NywgMTg3LCAxODcsIDE4NywgMTg3LCAxODcsIDE4NywgMTg3LCAxODcsIDE4NywgMTg3LCAxODcsIDE4NywgMTg3LCAKKyAgICAxODcsIDE4NywgMTg3LCAxODcsIDE4NywgMTg3LCAxODcsIDE4NywgMTg3LCAxODcsIDE4NywgMTg3LCAxODcsIDE4NywgCisgICAgMTg3LCAxODcsIDE4NywgMTg3LCAxODcsIDE4NywgMTg3LCAxODcsIDE4NywgMTg3LCAxODcsIDE4NywgMTg3LCAxODcsIAorICAgIDE4NywgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKKyAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKKyAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKKyAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKKyAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKKyAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKKyAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKKyAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKKyAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKKyAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKKyAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKKyAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKKyAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKKyAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIAorICAgIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAKKyAgICAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgCisgICAgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIAorICAgIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAKKyAgICAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgCisgICAgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIAorICAgIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAKKyAgICAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMjY5LCAyNjksIDI2OSwgMCwgCisgICAgMCwgCiB9OwogCiAvKiBkZWNvbXBvc2l0aW9uIGRhdGEgKi8KQEAgLTMwNzIsMzIxICszMTQwLDMyMiBAQAogICAgIDUwLCA0OSwgMjYwODUsIDc3MCwgNTAsIDUwLCAyNjA4NSwgNzcwLCA1MCwgNTEsIDI2MDg1LCA3NzAsIDUwLCA1MiwgCiAgICAgMjYwODUsIDc3MCwgNTAsIDUzLCAyNjA4NSwgNzcwLCA1MCwgNTQsIDI2MDg1LCA3NzAsIDUwLCA1NSwgMjYwODUsIDc3MCwgCiAgICAgNTAsIDU2LCAyNjA4NSwgNzcwLCA1MCwgNTcsIDI2MDg1LCA3NzAsIDUxLCA0OCwgMjYwODUsIDc3MCwgNTEsIDQ5LCAKLSAgICAyNjA4NSwgNzc4LCAxMDMsIDk3LCAxMDgsIDI1OSwgNDI4NjMsIDI1NiwgMzU5MTIsIDI1NiwgMjYzNTYsIDI1NiwgMzY1NTQsIAotICAgIDI1NiwgMzYwNDAsIDI1NiwgMjgzNjksIDI1NiwgMjAwMTgsIDI1NiwgMjE0NzcsIDI1NiwgNDA4NjAsIDI1NiwgNDA4NjAsIAotICAgIDI1NiwgMjI4NjUsIDI1NiwgMzczMjksIDI1NiwgMjE4OTUsIDI1NiwgMjI4NTYsIDI1NiwgMjUwNzgsIDI1NiwgMzAzMTMsIAotICAgIDI1NiwgMzI2NDUsIDI1NiwgMzQzNjcsIDI1NiwgMzQ3NDYsIDI1NiwgMzUwNjQsIDI1NiwgMzcwMDcsIDI1NiwgMjcxMzgsIAotICAgIDI1NiwgMjc5MzEsIDI1NiwgMjg4ODksIDI1NiwgMjk2NjIsIDI1NiwgMzM4NTMsIDI1NiwgMzcyMjYsIDI1NiwgMzk0MDksIAotICAgIDI1NiwgMjAwOTgsIDI1NiwgMjEzNjUsIDI1NiwgMjczOTYsIDI1NiwgMjkyMTEsIDI1NiwgMzQzNDksIDI1NiwgNDA0NzgsIAotICAgIDI1NiwgMjM4ODgsIDI1NiwgMjg2NTEsIDI1NiwgMzQyNTMsIDI1NiwgMzUxNzIsIDI1NiwgMjUyODksIDI1NiwgMzMyNDAsIAotICAgIDI1NiwgMzQ4NDcsIDI1NiwgMjQyNjYsIDI1NiwgMjYzOTEsIDI1NiwgMjgwMTAsIDI1NiwgMjk0MzYsIDI1NiwgMzcwNzAsIAotICAgIDI1NiwgMjAzNTgsIDI1NiwgMjA5MTksIDI1NiwgMjEyMTQsIDI1NiwgMjU3OTYsIDI1NiwgMjczNDcsIDI1NiwgMjkyMDAsIAotICAgIDI1NiwgMzA0MzksIDI1NiwgMzI3NjksIDI1NiwgMzQzMTAsIDI1NiwgMzQzOTYsIDI1NiwgMzYzMzUsIDI1NiwgMzg3MDYsIAotICAgIDI1NiwgMzk3OTEsIDI1NiwgNDA0NDIsIDI1NiwgMzA4NjAsIDI1NiwgMzExMDMsIDI1NiwgMzIxNjAsIDI1NiwgMzM3MzcsIAotICAgIDI1NiwgMzc2MzYsIDI1NiwgNDA1NzUsIDI1NiwgMzU1NDIsIDI1NiwgMjI3NTEsIDI1NiwgMjQzMjQsIDI1NiwgMzE4NDAsIAotICAgIDI1NiwgMzI4OTQsIDI1NiwgMjkyODIsIDI1NiwgMzA5MjIsIDI1NiwgMzYwMzQsIDI1NiwgMzg2NDcsIDI1NiwgMjI3NDQsIAotICAgIDI1NiwgMjM2NTAsIDI1NiwgMjcxNTUsIDI1NiwgMjgxMjIsIDI1NiwgMjg0MzEsIDI1NiwgMzIwNDcsIDI1NiwgMzIzMTEsIAotICAgIDI1NiwgMzg0NzUsIDI1NiwgMjEyMDIsIDI1NiwgMzI5MDcsIDI1NiwgMjA5NTYsIDI1NiwgMjA5NDAsIDI1NiwgMzEyNjAsIAotICAgIDI1NiwgMzIxOTAsIDI1NiwgMzM3NzcsIDI1NiwgMzg1MTcsIDI1NiwgMzU3MTIsIDI1NiwgMjUyOTUsIDI1NiwgMjcxMzgsIAotICAgIDI1NiwgMzU1ODIsIDI1NiwgMjAwMjUsIDI1NiwgMjM1MjcsIDI1NiwgMjQ1OTQsIDI1NiwgMjk1NzUsIDI1NiwgMzAwNjQsIAotICAgIDI1NiwgMjEyNzEsIDI1NiwgMzA5NzEsIDI1NiwgMjA0MTUsIDI1NiwgMjQ0ODksIDI1NiwgMTk5ODEsIDI1NiwgMjc4NTIsIAotICAgIDI1NiwgMjU5NzYsIDI1NiwgMzIwMzQsIDI1NiwgMjE0NDMsIDI1NiwgMjI2MjIsIDI1NiwgMzA0NjUsIDI1NiwgMzM4NjUsIAotICAgIDI1NiwgMzU0OTgsIDI1NiwgMjc1NzgsIDI1NiwgMzY3ODQsIDI1NiwgMjc3ODQsIDI1NiwgMjUzNDIsIDI1NiwgMzM1MDksIAotICAgIDI1NiwgMjU1MDQsIDI1NiwgMzAwNTMsIDI1NiwgMjAxNDIsIDI1NiwgMjA4NDEsIDI1NiwgMjA5MzcsIDI1NiwgMjY3NTMsIAotICAgIDI1NiwgMzE5NzUsIDI1NiwgMzMzOTEsIDI1NiwgMzU1MzgsIDI1NiwgMzczMjcsIDI1NiwgMjEyMzcsIDI1NiwgMjE1NzAsIAotICAgIDI1NiwgMjI4OTksIDI1NiwgMjQzMDAsIDI1NiwgMjYwNTMsIDI1NiwgMjg2NzAsIDI1NiwgMzEwMTgsIDI1NiwgMzgzMTcsIAotICAgIDI1NiwgMzk1MzAsIDI1NiwgNDA1OTksIDI1NiwgNDA2NTQsIDI1NiwgMjExNDcsIDI1NiwgMjYzMTAsIDI1NiwgMjc1MTEsIAotICAgIDI1NiwgMzY3MDYsIDI1NiwgMjQxODAsIDI1NiwgMjQ5NzYsIDI1NiwgMjUwODgsIDI1NiwgMjU3NTQsIDI1NiwgMjg0NTEsIAotICAgIDI1NiwgMjkwMDEsIDI1NiwgMjk4MzMsIDI1NiwgMzExNzgsIDI1NiwgMzIyNDQsIDI1NiwgMzI4NzksIDI1NiwgMzY2NDYsIAotICAgIDI1NiwgMzQwMzAsIDI1NiwgMzY4OTksIDI1NiwgMzc3MDYsIDI1NiwgMjEwMTUsIDI1NiwgMjExNTUsIDI1NiwgMjE2OTMsIAotICAgIDI1NiwgMjg4NzIsIDI1NiwgMzUwMTAsIDI1NiwgMzU0OTgsIDI1NiwgMjQyNjUsIDI1NiwgMjQ1NjUsIDI1NiwgMjU0NjcsIAotICAgIDI1NiwgMjc1NjYsIDI1NiwgMzE4MDYsIDI1NiwgMjk1NTcsIDI1NiwgMjAxOTYsIDI1NiwgMjIyNjUsIDI1NiwgMjM1MjcsIAotICAgIDI1NiwgMjM5OTQsIDI1NiwgMjQ2MDQsIDI1NiwgMjk2MTgsIDI1NiwgMjk4MDEsIDI1NiwgMzI2NjYsIDI1NiwgMzI4MzgsIAotICAgIDI1NiwgMzc0MjgsIDI1NiwgMzg2NDYsIDI1NiwgMzg3MjgsIDI1NiwgMzg5MzYsIDI1NiwgMjAzNjMsIDI1NiwgMzExNTAsIAotICAgIDI1NiwgMzczMDAsIDI1NiwgMzg1ODQsIDI1NiwgMjQ4MDEsIDI1NiwgMjAxMDIsIDI1NiwgMjA2OTgsIDI1NiwgMjM1MzQsIAotICAgIDI1NiwgMjM2MTUsIDI1NiwgMjYwMDksIDI1NiwgMjcxMzgsIDI1NiwgMjkxMzQsIDI1NiwgMzAyNzQsIDI1NiwgMzQwNDQsIAotICAgIDI1NiwgMzY5ODgsIDI1NiwgNDA4NDUsIDI1NiwgMjYyNDgsIDI1NiwgMzg0NDYsIDI1NiwgMjExMjksIDI1NiwgMjY0OTEsIAotICAgIDI1NiwgMjY2MTEsIDI1NiwgMjc5NjksIDI1NiwgMjgzMTYsIDI1NiwgMjk3MDUsIDI1NiwgMzAwNDEsIDI1NiwgMzA4MjcsIAotICAgIDI1NiwgMzIwMTYsIDI1NiwgMzkwMDYsIDI1NiwgMjA4NDUsIDI1NiwgMjUxMzQsIDI1NiwgMzg1MjAsIDI1NiwgMjA1MjMsIAotICAgIDI1NiwgMjM4MzMsIDI1NiwgMjgxMzgsIDI1NiwgMzY2NTAsIDI1NiwgMjQ0NTksIDI1NiwgMjQ5MDAsIDI1NiwgMjY2NDcsIAotICAgIDI1NiwgMjk1NzUsIDI1NiwgMzg1MzQsIDI1NiwgMjEwMzMsIDI1NiwgMjE1MTksIDI1NiwgMjM2NTMsIDI1NiwgMjYxMzEsIAotICAgIDI1NiwgMjY0NDYsIDI1NiwgMjY3OTIsIDI1NiwgMjc4NzcsIDI1NiwgMjk3MDIsIDI1NiwgMzAxNzgsIDI1NiwgMzI2MzMsIAotICAgIDI1NiwgMzUwMjMsIDI1NiwgMzUwNDEsIDI1NiwgMzczMjQsIDI1NiwgMzg2MjYsIDI1NiwgMjEzMTEsIDI1NiwgMjgzNDYsIAotICAgIDI1NiwgMjE1MzMsIDI1NiwgMjkxMzYsIDI1NiwgMjk4NDgsIDI1NiwgMzQyOTgsIDI1NiwgMzg1NjMsIDI1NiwgNDAwMjMsIAotICAgIDI1NiwgNDA2MDcsIDI1NiwgMjY1MTksIDI1NiwgMjgxMDcsIDI1NiwgMzMyNTYsIDI1NiwgMzE0MzUsIDI1NiwgMzE1MjAsIAotICAgIDI1NiwgMzE4OTAsIDI1NiwgMjkzNzYsIDI1NiwgMjg4MjUsIDI1NiwgMzU2NzIsIDI1NiwgMjAxNjAsIDI1NiwgMzM1OTAsIAotICAgIDI1NiwgMjEwNTAsIDI1NiwgMjA5OTksIDI1NiwgMjQyMzAsIDI1NiwgMjUyOTksIDI1NiwgMzE5NTgsIDI1NiwgMjM0MjksIAotICAgIDI1NiwgMjc5MzQsIDI1NiwgMjYyOTIsIDI1NiwgMzY2NjcsIDI1NiwgMzQ4OTIsIDI1NiwgMzg0NzcsIDI1NiwgMzUyMTEsIAotICAgIDI1NiwgMjQyNzUsIDI1NiwgMjA4MDAsIDI1NiwgMjE5NTIsIDI1NiwgMjI2MTgsIDI1NiwgMjYyMjgsIDI1NiwgMjA5NTgsIAotICAgIDI1NiwgMjk0ODIsIDI1NiwgMzA0MTAsIDI1NiwgMzEwMzYsIDI1NiwgMzEwNzAsIDI1NiwgMzEwNzcsIDI1NiwgMzExMTksIAotICAgIDI1NiwgMzg3NDIsIDI1NiwgMzE5MzQsIDI1NiwgMzI3MDEsIDI1NiwgMzQzMjIsIDI1NiwgMzU1NzYsIDI1NiwgMzY5MjAsIAotICAgIDI1NiwgMzcxMTcsIDI1NiwgMzkxNTEsIDI1NiwgMzkxNjQsIDI1NiwgMzkyMDgsIDI1NiwgNDAzNzIsIDI1NiwgMjAzOTgsIAotICAgIDI1NiwgMjA3MTEsIDI1NiwgMjA4MTMsIDI1NiwgMjExOTMsIDI1NiwgMjEyMjAsIDI1NiwgMjEzMjksIDI1NiwgMjE5MTcsIAotICAgIDI1NiwgMjIwMjIsIDI1NiwgMjIxMjAsIDI1NiwgMjI1OTIsIDI1NiwgMjI2OTYsIDI1NiwgMjM2NTIsIDI1NiwgMjM2NjIsIAotICAgIDI1NiwgMjQ3MjQsIDI1NiwgMjQ5MzYsIDI1NiwgMjQ5NzQsIDI1NiwgMjUwNzQsIDI1NiwgMjU5MzUsIDI1NiwgMjYwODIsIAotICAgIDI1NiwgMjYyNTcsIDI1NiwgMjY3NTcsIDI1NiwgMjgwMjMsIDI1NiwgMjgxODYsIDI1NiwgMjg0NTAsIDI1NiwgMjkwMzgsIAotICAgIDI1NiwgMjkyMjcsIDI1NiwgMjk3MzAsIDI1NiwgMzA4NjUsIDI1NiwgMzEwMzgsIDI1NiwgMzEwNDksIDI1NiwgMzEwNDgsIAotICAgIDI1NiwgMzEwNTYsIDI1NiwgMzEwNjIsIDI1NiwgMzEwNjksIDI1NiwgMzExMTcsIDI1NiwgMzExMTgsIDI1NiwgMzEyOTYsIAotICAgIDI1NiwgMzEzNjEsIDI1NiwgMzE2ODAsIDI1NiwgMzIyNDQsIDI1NiwgMzIyNjUsIDI1NiwgMzIzMjEsIDI1NiwgMzI2MjYsIAotICAgIDI1NiwgMzI3NzMsIDI1NiwgMzMyNjEsIDI1NiwgMzM0MDEsIDI1NiwgMzM0MDEsIDI1NiwgMzM4NzksIDI1NiwgMzUwODgsIAotICAgIDI1NiwgMzUyMjIsIDI1NiwgMzU1ODUsIDI1NiwgMzU2NDEsIDI1NiwgMzYwNTEsIDI1NiwgMzYxMDQsIDI1NiwgMzY3OTAsIAotICAgIDI1NiwgMzY5MjAsIDI1NiwgMzg2MjcsIDI1NiwgMzg5MTEsIDI1NiwgMzg5NzEsIDI1NiwgMjQ2OTMsIDI1NiwgMTQ4MjA2LCAKLSAgICAyNTYsIDMzMzA0LCAyNTYsIDIwMDA2LCAyNTYsIDIwOTE3LCAyNTYsIDIwODQwLCAyNTYsIDIwMzUyLCAyNTYsIDIwODA1LCAKLSAgICAyNTYsIDIwODY0LCAyNTYsIDIxMTkxLCAyNTYsIDIxMjQyLCAyNTYsIDIxOTE3LCAyNTYsIDIxODQ1LCAyNTYsIDIxOTEzLCAKLSAgICAyNTYsIDIxOTg2LCAyNTYsIDIyNjE4LCAyNTYsIDIyNzA3LCAyNTYsIDIyODUyLCAyNTYsIDIyODY4LCAyNTYsIDIzMTM4LCAKLSAgICAyNTYsIDIzMzM2LCAyNTYsIDI0Mjc0LCAyNTYsIDI0MjgxLCAyNTYsIDI0NDI1LCAyNTYsIDI0NDkzLCAyNTYsIDI0NzkyLCAKLSAgICAyNTYsIDI0OTEwLCAyNTYsIDI0ODQwLCAyNTYsIDI0OTc0LCAyNTYsIDI0OTI4LCAyNTYsIDI1MDc0LCAyNTYsIDI1MTQwLCAKLSAgICAyNTYsIDI1NTQwLCAyNTYsIDI1NjI4LCAyNTYsIDI1NjgyLCAyNTYsIDI1OTQyLCAyNTYsIDI2MjI4LCAyNTYsIDI2MzkxLCAKLSAgICAyNTYsIDI2Mzk1LCAyNTYsIDI2NDU0LCAyNTYsIDI3NTEzLCAyNTYsIDI3NTc4LCAyNTYsIDI3OTY5LCAyNTYsIDI4Mzc5LCAKLSAgICAyNTYsIDI4MzYzLCAyNTYsIDI4NDUwLCAyNTYsIDI4NzAyLCAyNTYsIDI5MDM4LCAyNTYsIDMwNjMxLCAyNTYsIDI5MjM3LCAKLSAgICAyNTYsIDI5MzU5LCAyNTYsIDI5NDgyLCAyNTYsIDI5ODA5LCAyNTYsIDI5OTU4LCAyNTYsIDMwMDExLCAyNTYsIDMwMjM3LCAKLSAgICAyNTYsIDMwMjM5LCAyNTYsIDMwNDEwLCAyNTYsIDMwNDI3LCAyNTYsIDMwNDUyLCAyNTYsIDMwNTM4LCAyNTYsIDMwNTI4LCAKLSAgICAyNTYsIDMwOTI0LCAyNTYsIDMxNDA5LCAyNTYsIDMxNjgwLCAyNTYsIDMxODY3LCAyNTYsIDMyMDkxLCAyNTYsIDMyMjQ0LCAKLSAgICAyNTYsIDMyNTc0LCAyNTYsIDMyNzczLCAyNTYsIDMzNjE4LCAyNTYsIDMzNzc1LCAyNTYsIDM0NjgxLCAyNTYsIDM1MTM3LCAKLSAgICAyNTYsIDM1MjA2LCAyNTYsIDM1MjIyLCAyNTYsIDM1NTE5LCAyNTYsIDM1NTc2LCAyNTYsIDM1NTMxLCAyNTYsIDM1NTg1LCAKLSAgICAyNTYsIDM1NTgyLCAyNTYsIDM1NTY1LCAyNTYsIDM1NjQxLCAyNTYsIDM1NzIyLCAyNTYsIDM2MTA0LCAyNTYsIDM2NjY0LCAKLSAgICAyNTYsIDM2OTc4LCAyNTYsIDM3MjczLCAyNTYsIDM3NDk0LCAyNTYsIDM4NTI0LCAyNTYsIDM4NjI3LCAyNTYsIDM4NzQyLCAKLSAgICAyNTYsIDM4ODc1LCAyNTYsIDM4OTExLCAyNTYsIDM4OTIzLCAyNTYsIDM4OTcxLCAyNTYsIDM5Njk4LCAyNTYsIDQwODYwLCAKLSAgICAyNTYsIDE0MTM4NiwgMjU2LCAxNDEzODAsIDI1NiwgMTQ0MzQxLCAyNTYsIDE1MjYxLCAyNTYsIDE2NDA4LCAyNTYsIAotICAgIDE2NDQxLCAyNTYsIDE1MjEzNywgMjU2LCAxNTQ4MzIsIDI1NiwgMTYzNTM5LCAyNTYsIDQwNzcxLCAyNTYsIDQwODQ2LCAKLSAgICA1MTQsIDEwMiwgMTAyLCA1MTQsIDEwMiwgMTA1LCA1MTQsIDEwMiwgMTA4LCA3NzAsIDEwMiwgMTAyLCAxMDUsIDc3MCwgCi0gICAgMTAyLCAxMDIsIDEwOCwgNTE0LCAzODMsIDExNiwgNTE0LCAxMTUsIDExNiwgNTE0LCAxMzk2LCAxMzk4LCA1MTQsIDEzOTYsIAotICAgIDEzODEsIDUxNCwgMTM5NiwgMTM4NywgNTE0LCAxNDA2LCAxMzk4LCA1MTQsIDEzOTYsIDEzODksIDUxMiwgMTQ5NywgMTQ2MCwgCi0gICAgNTEyLCAxNTIyLCAxNDYzLCAyNjIsIDE1MDYsIDI2MiwgMTQ4OCwgMjYyLCAxNDkxLCAyNjIsIDE0OTIsIDI2MiwgMTQ5OSwgCi0gICAgMjYyLCAxNTAwLCAyNjIsIDE1MDEsIDI2MiwgMTUxMiwgMjYyLCAxNTE0LCAyNjIsIDQzLCA1MTIsIDE1MTMsIDE0NzMsIAotICAgIDUxMiwgMTUxMywgMTQ3NCwgNTEyLCA2NDMyOSwgMTQ3MywgNTEyLCA2NDMyOSwgMTQ3NCwgNTEyLCAxNDg4LCAxNDYzLCAKLSAgICA1MTIsIDE0ODgsIDE0NjQsIDUxMiwgMTQ4OCwgMTQ2OCwgNTEyLCAxNDg5LCAxNDY4LCA1MTIsIDE0OTAsIDE0NjgsIDUxMiwgCi0gICAgMTQ5MSwgMTQ2OCwgNTEyLCAxNDkyLCAxNDY4LCA1MTIsIDE0OTMsIDE0NjgsIDUxMiwgMTQ5NCwgMTQ2OCwgNTEyLCAxNDk2LCAKLSAgICAxNDY4LCA1MTIsIDE0OTcsIDE0NjgsIDUxMiwgMTQ5OCwgMTQ2OCwgNTEyLCAxNDk5LCAxNDY4LCA1MTIsIDE1MDAsIDE0NjgsIAotICAgIDUxMiwgMTUwMiwgMTQ2OCwgNTEyLCAxNTA0LCAxNDY4LCA1MTIsIDE1MDUsIDE0NjgsIDUxMiwgMTUwNywgMTQ2OCwgNTEyLCAKLSAgICAxNTA4LCAxNDY4LCA1MTIsIDE1MTAsIDE0NjgsIDUxMiwgMTUxMSwgMTQ2OCwgNTEyLCAxNTEyLCAxNDY4LCA1MTIsIDE1MTMsIAotICAgIDE0NjgsIDUxMiwgMTUxNCwgMTQ2OCwgNTEyLCAxNDkzLCAxNDY1LCA1MTIsIDE0ODksIDE0NzEsIDUxMiwgMTQ5OSwgMTQ3MSwgCi0gICAgNTEyLCAxNTA4LCAxNDcxLCA1MTQsIDE0ODgsIDE1MDAsIDI2NywgMTY0OSwgMjY4LCAxNjQ5LCAyNjcsIDE2NTksIDI2OCwgCi0gICAgMTY1OSwgMjY5LCAxNjU5LCAyNzAsIDE2NTksIDI2NywgMTY2MiwgMjY4LCAxNjYyLCAyNjksIDE2NjIsIDI3MCwgMTY2MiwgCi0gICAgMjY3LCAxNjY0LCAyNjgsIDE2NjQsIDI2OSwgMTY2NCwgMjcwLCAxNjY0LCAyNjcsIDE2NTgsIDI2OCwgMTY1OCwgMjY5LCAKLSAgICAxNjU4LCAyNzAsIDE2NTgsIDI2NywgMTY2MywgMjY4LCAxNjYzLCAyNjksIDE2NjMsIDI3MCwgMTY2MywgMjY3LCAxNjU3LCAKLSAgICAyNjgsIDE2NTcsIDI2OSwgMTY1NywgMjcwLCAxNjU3LCAyNjcsIDE3MDAsIDI2OCwgMTcwMCwgMjY5LCAxNzAwLCAyNzAsIAotICAgIDE3MDAsIDI2NywgMTcwMiwgMjY4LCAxNzAyLCAyNjksIDE3MDIsIDI3MCwgMTcwMiwgMjY3LCAxNjY4LCAyNjgsIDE2NjgsIAotICAgIDI2OSwgMTY2OCwgMjcwLCAxNjY4LCAyNjcsIDE2NjcsIDI2OCwgMTY2NywgMjY5LCAxNjY3LCAyNzAsIDE2NjcsIDI2NywgCi0gICAgMTY3MCwgMjY4LCAxNjcwLCAyNjksIDE2NzAsIDI3MCwgMTY3MCwgMjY3LCAxNjcxLCAyNjgsIDE2NzEsIDI2OSwgMTY3MSwgCi0gICAgMjcwLCAxNjcxLCAyNjcsIDE2NzcsIDI2OCwgMTY3NywgMjY3LCAxNjc2LCAyNjgsIDE2NzYsIDI2NywgMTY3OCwgMjY4LCAKLSAgICAxNjc4LCAyNjcsIDE2NzIsIDI2OCwgMTY3MiwgMjY3LCAxNjg4LCAyNjgsIDE2ODgsIDI2NywgMTY4MSwgMjY4LCAxNjgxLCAKLSAgICAyNjcsIDE3MDUsIDI2OCwgMTcwNSwgMjY5LCAxNzA1LCAyNzAsIDE3MDUsIDI2NywgMTcxMSwgMjY4LCAxNzExLCAyNjksIAotICAgIDE3MTEsIDI3MCwgMTcxMSwgMjY3LCAxNzE1LCAyNjgsIDE3MTUsIDI2OSwgMTcxNSwgMjcwLCAxNzE1LCAyNjcsIDE3MTMsIAotICAgIDI2OCwgMTcxMywgMjY5LCAxNzEzLCAyNzAsIDE3MTMsIDI2NywgMTcyMiwgMjY4LCAxNzIyLCAyNjcsIDE3MjMsIDI2OCwgCi0gICAgMTcyMywgMjY5LCAxNzIzLCAyNzAsIDE3MjMsIDI2NywgMTcyOCwgMjY4LCAxNzI4LCAyNjcsIDE3MjksIDI2OCwgMTcyOSwgCi0gICAgMjY5LCAxNzI5LCAyNzAsIDE3MjksIDI2NywgMTcyNiwgMjY4LCAxNzI2LCAyNjksIDE3MjYsIDI3MCwgMTcyNiwgMjY3LCAKLSAgICAxNzQ2LCAyNjgsIDE3NDYsIDI2NywgMTc0NywgMjY4LCAxNzQ3LCAyNjcsIDE3MDksIDI2OCwgMTcwOSwgMjY5LCAxNzA5LCAKLSAgICAyNzAsIDE3MDksIDI2NywgMTczNSwgMjY4LCAxNzM1LCAyNjcsIDE3MzQsIDI2OCwgMTczNCwgMjY3LCAxNzM2LCAyNjgsIAotICAgIDE3MzYsIDI2NywgMTY1NSwgMjY3LCAxNzM5LCAyNjgsIDE3MzksIDI2NywgMTczMywgMjY4LCAxNzMzLCAyNjcsIDE3MzcsIAotICAgIDI2OCwgMTczNywgMjY3LCAxNzQ0LCAyNjgsIDE3NDQsIDI2OSwgMTc0NCwgMjcwLCAxNzQ0LCAyNjksIDE2MDksIDI3MCwgCi0gICAgMTYwOSwgNTIzLCAxNTc0LCAxNTc1LCA1MjQsIDE1NzQsIDE1NzUsIDUyMywgMTU3NCwgMTc0OSwgNTI0LCAxNTc0LCAxNzQ5LCAKLSAgICA1MjMsIDE1NzQsIDE2MDgsIDUyNCwgMTU3NCwgMTYwOCwgNTIzLCAxNTc0LCAxNzM1LCA1MjQsIDE1NzQsIDE3MzUsIDUyMywgCi0gICAgMTU3NCwgMTczNCwgNTI0LCAxNTc0LCAxNzM0LCA1MjMsIDE1NzQsIDE3MzYsIDUyNCwgMTU3NCwgMTczNiwgNTIzLCAxNTc0LCAKLSAgICAxNzQ0LCA1MjQsIDE1NzQsIDE3NDQsIDUyNSwgMTU3NCwgMTc0NCwgNTIzLCAxNTc0LCAxNjA5LCA1MjQsIDE1NzQsIDE2MDksIAotICAgIDUyNSwgMTU3NCwgMTYwOSwgMjY3LCAxNzQwLCAyNjgsIDE3NDAsIDI2OSwgMTc0MCwgMjcwLCAxNzQwLCA1MjMsIDE1NzQsIAotICAgIDE1ODAsIDUyMywgMTU3NCwgMTU4MSwgNTIzLCAxNTc0LCAxNjA1LCA1MjMsIDE1NzQsIDE2MDksIDUyMywgMTU3NCwgMTYxMCwgCi0gICAgNTIzLCAxNTc2LCAxNTgwLCA1MjMsIDE1NzYsIDE1ODEsIDUyMywgMTU3NiwgMTU4MiwgNTIzLCAxNTc2LCAxNjA1LCA1MjMsIAotICAgIDE1NzYsIDE2MDksIDUyMywgMTU3NiwgMTYxMCwgNTIzLCAxNTc4LCAxNTgwLCA1MjMsIDE1NzgsIDE1ODEsIDUyMywgMTU3OCwgCi0gICAgMTU4MiwgNTIzLCAxNTc4LCAxNjA1LCA1MjMsIDE1NzgsIDE2MDksIDUyMywgMTU3OCwgMTYxMCwgNTIzLCAxNTc5LCAxNTgwLCAKLSAgICA1MjMsIDE1NzksIDE2MDUsIDUyMywgMTU3OSwgMTYwOSwgNTIzLCAxNTc5LCAxNjEwLCA1MjMsIDE1ODAsIDE1ODEsIDUyMywgCi0gICAgMTU4MCwgMTYwNSwgNTIzLCAxNTgxLCAxNTgwLCA1MjMsIDE1ODEsIDE2MDUsIDUyMywgMTU4MiwgMTU4MCwgNTIzLCAxNTgyLCAKLSAgICAxNTgxLCA1MjMsIDE1ODIsIDE2MDUsIDUyMywgMTU4NywgMTU4MCwgNTIzLCAxNTg3LCAxNTgxLCA1MjMsIDE1ODcsIDE1ODIsIAotICAgIDUyMywgMTU4NywgMTYwNSwgNTIzLCAxNTg5LCAxNTgxLCA1MjMsIDE1ODksIDE2MDUsIDUyMywgMTU5MCwgMTU4MCwgNTIzLCAKLSAgICAxNTkwLCAxNTgxLCA1MjMsIDE1OTAsIDE1ODIsIDUyMywgMTU5MCwgMTYwNSwgNTIzLCAxNTkxLCAxNTgxLCA1MjMsIDE1OTEsIAotICAgIDE2MDUsIDUyMywgMTU5MiwgMTYwNSwgNTIzLCAxNTkzLCAxNTgwLCA1MjMsIDE1OTMsIDE2MDUsIDUyMywgMTU5NCwgMTU4MCwgCi0gICAgNTIzLCAxNTk0LCAxNjA1LCA1MjMsIDE2MDEsIDE1ODAsIDUyMywgMTYwMSwgMTU4MSwgNTIzLCAxNjAxLCAxNTgyLCA1MjMsIAotICAgIDE2MDEsIDE2MDUsIDUyMywgMTYwMSwgMTYwOSwgNTIzLCAxNjAxLCAxNjEwLCA1MjMsIDE2MDIsIDE1ODEsIDUyMywgMTYwMiwgCi0gICAgMTYwNSwgNTIzLCAxNjAyLCAxNjA5LCA1MjMsIDE2MDIsIDE2MTAsIDUyMywgMTYwMywgMTU3NSwgNTIzLCAxNjAzLCAxNTgwLCAKLSAgICA1MjMsIDE2MDMsIDE1ODEsIDUyMywgMTYwMywgMTU4MiwgNTIzLCAxNjAzLCAxNjA0LCA1MjMsIDE2MDMsIDE2MDUsIDUyMywgCi0gICAgMTYwMywgMTYwOSwgNTIzLCAxNjAzLCAxNjEwLCA1MjMsIDE2MDQsIDE1ODAsIDUyMywgMTYwNCwgMTU4MSwgNTIzLCAxNjA0LCAKLSAgICAxNTgyLCA1MjMsIDE2MDQsIDE2MDUsIDUyMywgMTYwNCwgMTYwOSwgNTIzLCAxNjA0LCAxNjEwLCA1MjMsIDE2MDUsIDE1ODAsIAotICAgIDUyMywgMTYwNSwgMTU4MSwgNTIzLCAxNjA1LCAxNTgyLCA1MjMsIDE2MDUsIDE2MDUsIDUyMywgMTYwNSwgMTYwOSwgNTIzLCAKLSAgICAxNjA1LCAxNjEwLCA1MjMsIDE2MDYsIDE1ODAsIDUyMywgMTYwNiwgMTU4MSwgNTIzLCAxNjA2LCAxNTgyLCA1MjMsIDE2MDYsIAotICAgIDE2MDUsIDUyMywgMTYwNiwgMTYwOSwgNTIzLCAxNjA2LCAxNjEwLCA1MjMsIDE2MDcsIDE1ODAsIDUyMywgMTYwNywgMTYwNSwgCi0gICAgNTIzLCAxNjA3LCAxNjA5LCA1MjMsIDE2MDcsIDE2MTAsIDUyMywgMTYxMCwgMTU4MCwgNTIzLCAxNjEwLCAxNTgxLCA1MjMsIAotICAgIDE2MTAsIDE1ODIsIDUyMywgMTYxMCwgMTYwNSwgNTIzLCAxNjEwLCAxNjA5LCA1MjMsIDE2MTAsIDE2MTAsIDUyMywgMTU4NCwgCi0gICAgMTY0OCwgNTIzLCAxNTg1LCAxNjQ4LCA1MjMsIDE2MDksIDE2NDgsIDc3OSwgMzIsIDE2MTIsIDE2MTcsIDc3OSwgMzIsIAotICAgIDE2MTMsIDE2MTcsIDc3OSwgMzIsIDE2MTQsIDE2MTcsIDc3OSwgMzIsIDE2MTUsIDE2MTcsIDc3OSwgMzIsIDE2MTYsIAotICAgIDE2MTcsIDc3OSwgMzIsIDE2MTcsIDE2NDgsIDUyNCwgMTU3NCwgMTU4NSwgNTI0LCAxNTc0LCAxNTg2LCA1MjQsIDE1NzQsIAotICAgIDE2MDUsIDUyNCwgMTU3NCwgMTYwNiwgNTI0LCAxNTc0LCAxNjA5LCA1MjQsIDE1NzQsIDE2MTAsIDUyNCwgMTU3NiwgMTU4NSwgCi0gICAgNTI0LCAxNTc2LCAxNTg2LCA1MjQsIDE1NzYsIDE2MDUsIDUyNCwgMTU3NiwgMTYwNiwgNTI0LCAxNTc2LCAxNjA5LCA1MjQsIAotICAgIDE1NzYsIDE2MTAsIDUyNCwgMTU3OCwgMTU4NSwgNTI0LCAxNTc4LCAxNTg2LCA1MjQsIDE1NzgsIDE2MDUsIDUyNCwgMTU3OCwgCi0gICAgMTYwNiwgNTI0LCAxNTc4LCAxNjA5LCA1MjQsIDE1NzgsIDE2MTAsIDUyNCwgMTU3OSwgMTU4NSwgNTI0LCAxNTc5LCAxNTg2LCAKLSAgICA1MjQsIDE1NzksIDE2MDUsIDUyNCwgMTU3OSwgMTYwNiwgNTI0LCAxNTc5LCAxNjA5LCA1MjQsIDE1NzksIDE2MTAsIDUyNCwgCi0gICAgMTYwMSwgMTYwOSwgNTI0LCAxNjAxLCAxNjEwLCA1MjQsIDE2MDIsIDE2MDksIDUyNCwgMTYwMiwgMTYxMCwgNTI0LCAxNjAzLCAKLSAgICAxNTc1LCA1MjQsIDE2MDMsIDE2MDQsIDUyNCwgMTYwMywgMTYwNSwgNTI0LCAxNjAzLCAxNjA5LCA1MjQsIDE2MDMsIDE2MTAsIAotICAgIDUyNCwgMTYwNCwgMTYwNSwgNTI0LCAxNjA0LCAxNjA5LCA1MjQsIDE2MDQsIDE2MTAsIDUyNCwgMTYwNSwgMTU3NSwgNTI0LCAKLSAgICAxNjA1LCAxNjA1LCA1MjQsIDE2MDYsIDE1ODUsIDUyNCwgMTYwNiwgMTU4NiwgNTI0LCAxNjA2LCAxNjA1LCA1MjQsIDE2MDYsIAotICAgIDE2MDYsIDUyNCwgMTYwNiwgMTYwOSwgNTI0LCAxNjA2LCAxNjEwLCA1MjQsIDE2MDksIDE2NDgsIDUyNCwgMTYxMCwgMTU4NSwgCi0gICAgNTI0LCAxNjEwLCAxNTg2LCA1MjQsIDE2MTAsIDE2MDUsIDUyNCwgMTYxMCwgMTYwNiwgNTI0LCAxNjEwLCAxNjA5LCA1MjQsIAotICAgIDE2MTAsIDE2MTAsIDUyNSwgMTU3NCwgMTU4MCwgNTI1LCAxNTc0LCAxNTgxLCA1MjUsIDE1NzQsIDE1ODIsIDUyNSwgMTU3NCwgCi0gICAgMTYwNSwgNTI1LCAxNTc0LCAxNjA3LCA1MjUsIDE1NzYsIDE1ODAsIDUyNSwgMTU3NiwgMTU4MSwgNTI1LCAxNTc2LCAxNTgyLCAKLSAgICA1MjUsIDE1NzYsIDE2MDUsIDUyNSwgMTU3NiwgMTYwNywgNTI1LCAxNTc4LCAxNTgwLCA1MjUsIDE1NzgsIDE1ODEsIDUyNSwgCi0gICAgMTU3OCwgMTU4MiwgNTI1LCAxNTc4LCAxNjA1LCA1MjUsIDE1NzgsIDE2MDcsIDUyNSwgMTU3OSwgMTYwNSwgNTI1LCAxNTgwLCAKLSAgICAxNTgxLCA1MjUsIDE1ODAsIDE2MDUsIDUyNSwgMTU4MSwgMTU4MCwgNTI1LCAxNTgxLCAxNjA1LCA1MjUsIDE1ODIsIDE1ODAsIAotICAgIDUyNSwgMTU4MiwgMTYwNSwgNTI1LCAxNTg3LCAxNTgwLCA1MjUsIDE1ODcsIDE1ODEsIDUyNSwgMTU4NywgMTU4MiwgNTI1LCAKLSAgICAxNTg3LCAxNjA1LCA1MjUsIDE1ODksIDE1ODEsIDUyNSwgMTU4OSwgMTU4MiwgNTI1LCAxNTg5LCAxNjA1LCA1MjUsIDE1OTAsIAotICAgIDE1ODAsIDUyNSwgMTU5MCwgMTU4MSwgNTI1LCAxNTkwLCAxNTgyLCA1MjUsIDE1OTAsIDE2MDUsIDUyNSwgMTU5MSwgMTU4MSwgCi0gICAgNTI1LCAxNTkyLCAxNjA1LCA1MjUsIDE1OTMsIDE1ODAsIDUyNSwgMTU5MywgMTYwNSwgNTI1LCAxNTk0LCAxNTgwLCA1MjUsIAotICAgIDE1OTQsIDE2MDUsIDUyNSwgMTYwMSwgMTU4MCwgNTI1LCAxNjAxLCAxNTgxLCA1MjUsIDE2MDEsIDE1ODIsIDUyNSwgMTYwMSwgCi0gICAgMTYwNSwgNTI1LCAxNjAyLCAxNTgxLCA1MjUsIDE2MDIsIDE2MDUsIDUyNSwgMTYwMywgMTU4MCwgNTI1LCAxNjAzLCAxNTgxLCAKLSAgICA1MjUsIDE2MDMsIDE1ODIsIDUyNSwgMTYwMywgMTYwNCwgNTI1LCAxNjAzLCAxNjA1LCA1MjUsIDE2MDQsIDE1ODAsIDUyNSwgCi0gICAgMTYwNCwgMTU4MSwgNTI1LCAxNjA0LCAxNTgyLCA1MjUsIDE2MDQsIDE2MDUsIDUyNSwgMTYwNCwgMTYwNywgNTI1LCAxNjA1LCAKLSAgICAxNTgwLCA1MjUsIDE2MDUsIDE1ODEsIDUyNSwgMTYwNSwgMTU4MiwgNTI1LCAxNjA1LCAxNjA1LCA1MjUsIDE2MDYsIDE1ODAsIAotICAgIDUyNSwgMTYwNiwgMTU4MSwgNTI1LCAxNjA2LCAxNTgyLCA1MjUsIDE2MDYsIDE2MDUsIDUyNSwgMTYwNiwgMTYwNywgNTI1LCAKLSAgICAxNjA3LCAxNTgwLCA1MjUsIDE2MDcsIDE2MDUsIDUyNSwgMTYwNywgMTY0OCwgNTI1LCAxNjEwLCAxNTgwLCA1MjUsIDE2MTAsIAotICAgIDE1ODEsIDUyNSwgMTYxMCwgMTU4MiwgNTI1LCAxNjEwLCAxNjA1LCA1MjUsIDE2MTAsIDE2MDcsIDUyNiwgMTU3NCwgMTYwNSwgCi0gICAgNTI2LCAxNTc0LCAxNjA3LCA1MjYsIDE1NzYsIDE2MDUsIDUyNiwgMTU3NiwgMTYwNywgNTI2LCAxNTc4LCAxNjA1LCA1MjYsIAotICAgIDE1NzgsIDE2MDcsIDUyNiwgMTU3OSwgMTYwNSwgNTI2LCAxNTc5LCAxNjA3LCA1MjYsIDE1ODcsIDE2MDUsIDUyNiwgMTU4NywgCi0gICAgMTYwNywgNTI2LCAxNTg4LCAxNjA1LCA1MjYsIDE1ODgsIDE2MDcsIDUyNiwgMTYwMywgMTYwNCwgNTI2LCAxNjAzLCAxNjA1LCAKLSAgICA1MjYsIDE2MDQsIDE2MDUsIDUyNiwgMTYwNiwgMTYwNSwgNTI2LCAxNjA2LCAxNjA3LCA1MjYsIDE2MTAsIDE2MDUsIDUyNiwgCi0gICAgMTYxMCwgMTYwNywgNzgyLCAxNjAwLCAxNjE0LCAxNjE3LCA3ODIsIDE2MDAsIDE2MTUsIDE2MTcsIDc4MiwgMTYwMCwgCi0gICAgMTYxNiwgMTYxNywgNTIzLCAxNTkxLCAxNjA5LCA1MjMsIDE1OTEsIDE2MTAsIDUyMywgMTU5MywgMTYwOSwgNTIzLCAxNTkzLCAKLSAgICAxNjEwLCA1MjMsIDE1OTQsIDE2MDksIDUyMywgMTU5NCwgMTYxMCwgNTIzLCAxNTg3LCAxNjA5LCA1MjMsIDE1ODcsIDE2MTAsIAotICAgIDUyMywgMTU4OCwgMTYwOSwgNTIzLCAxNTg4LCAxNjEwLCA1MjMsIDE1ODEsIDE2MDksIDUyMywgMTU4MSwgMTYxMCwgNTIzLCAKLSAgICAxNTgwLCAxNjA5LCA1MjMsIDE1ODAsIDE2MTAsIDUyMywgMTU4MiwgMTYwOSwgNTIzLCAxNTgyLCAxNjEwLCA1MjMsIDE1ODksIAotICAgIDE2MDksIDUyMywgMTU4OSwgMTYxMCwgNTIzLCAxNTkwLCAxNjA5LCA1MjMsIDE1OTAsIDE2MTAsIDUyMywgMTU4OCwgMTU4MCwgCi0gICAgNTIzLCAxNTg4LCAxNTgxLCA1MjMsIDE1ODgsIDE1ODIsIDUyMywgMTU4OCwgMTYwNSwgNTIzLCAxNTg4LCAxNTg1LCA1MjMsIAotICAgIDE1ODcsIDE1ODUsIDUyMywgMTU4OSwgMTU4NSwgNTIzLCAxNTkwLCAxNTg1LCA1MjQsIDE1OTEsIDE2MDksIDUyNCwgMTU5MSwgCi0gICAgMTYxMCwgNTI0LCAxNTkzLCAxNjA5LCA1MjQsIDE1OTMsIDE2MTAsIDUyNCwgMTU5NCwgMTYwOSwgNTI0LCAxNTk0LCAxNjEwLCAKLSAgICA1MjQsIDE1ODcsIDE2MDksIDUyNCwgMTU4NywgMTYxMCwgNTI0LCAxNTg4LCAxNjA5LCA1MjQsIDE1ODgsIDE2MTAsIDUyNCwgCi0gICAgMTU4MSwgMTYwOSwgNTI0LCAxNTgxLCAxNjEwLCA1MjQsIDE1ODAsIDE2MDksIDUyNCwgMTU4MCwgMTYxMCwgNTI0LCAxNTgyLCAKLSAgICAxNjA5LCA1MjQsIDE1ODIsIDE2MTAsIDUyNCwgMTU4OSwgMTYwOSwgNTI0LCAxNTg5LCAxNjEwLCA1MjQsIDE1OTAsIDE2MDksIAotICAgIDUyNCwgMTU5MCwgMTYxMCwgNTI0LCAxNTg4LCAxNTgwLCA1MjQsIDE1ODgsIDE1ODEsIDUyNCwgMTU4OCwgMTU4MiwgNTI0LCAKLSAgICAxNTg4LCAxNjA1LCA1MjQsIDE1ODgsIDE1ODUsIDUyNCwgMTU4NywgMTU4NSwgNTI0LCAxNTg5LCAxNTg1LCA1MjQsIDE1OTAsIAotICAgIDE1ODUsIDUyNSwgMTU4OCwgMTU4MCwgNTI1LCAxNTg4LCAxNTgxLCA1MjUsIDE1ODgsIDE1ODIsIDUyNSwgMTU4OCwgMTYwNSwgCi0gICAgNTI1LCAxNTg3LCAxNjA3LCA1MjUsIDE1ODgsIDE2MDcsIDUyNSwgMTU5MSwgMTYwNSwgNTI2LCAxNTg3LCAxNTgwLCA1MjYsIAotICAgIDE1ODcsIDE1ODEsIDUyNiwgMTU4NywgMTU4MiwgNTI2LCAxNTg4LCAxNTgwLCA1MjYsIDE1ODgsIDE1ODEsIDUyNiwgMTU4OCwgCi0gICAgMTU4MiwgNTI2LCAxNTkxLCAxNjA1LCA1MjYsIDE1OTIsIDE2MDUsIDUyNCwgMTU3NSwgMTYxMSwgNTIzLCAxNTc1LCAxNjExLCAKLSAgICA3ODEsIDE1NzgsIDE1ODAsIDE2MDUsIDc4MCwgMTU3OCwgMTU4MSwgMTU4MCwgNzgxLCAxNTc4LCAxNTgxLCAxNTgwLCA3ODEsIAotICAgIDE1NzgsIDE1ODEsIDE2MDUsIDc4MSwgMTU3OCwgMTU4MiwgMTYwNSwgNzgxLCAxNTc4LCAxNjA1LCAxNTgwLCA3ODEsIAotICAgIDE1NzgsIDE2MDUsIDE1ODEsIDc4MSwgMTU3OCwgMTYwNSwgMTU4MiwgNzgwLCAxNTgwLCAxNjA1LCAxNTgxLCA3ODEsIAotICAgIDE1ODAsIDE2MDUsIDE1ODEsIDc4MCwgMTU4MSwgMTYwNSwgMTYxMCwgNzgwLCAxNTgxLCAxNjA1LCAxNjA5LCA3ODEsIAotICAgIDE1ODcsIDE1ODEsIDE1ODAsIDc4MSwgMTU4NywgMTU4MCwgMTU4MSwgNzgwLCAxNTg3LCAxNTgwLCAxNjA5LCA3ODAsIAotICAgIDE1ODcsIDE2MDUsIDE1ODEsIDc4MSwgMTU4NywgMTYwNSwgMTU4MSwgNzgxLCAxNTg3LCAxNjA1LCAxNTgwLCA3ODAsIAotICAgIDE1ODcsIDE2MDUsIDE2MDUsIDc4MSwgMTU4NywgMTYwNSwgMTYwNSwgNzgwLCAxNTg5LCAxNTgxLCAxNTgxLCA3ODEsIAotICAgIDE1ODksIDE1ODEsIDE1ODEsIDc4MCwgMTU4OSwgMTYwNSwgMTYwNSwgNzgwLCAxNTg4LCAxNTgxLCAxNjA1LCA3ODEsIAotICAgIDE1ODgsIDE1ODEsIDE2MDUsIDc4MCwgMTU4OCwgMTU4MCwgMTYxMCwgNzgwLCAxNTg4LCAxNjA1LCAxNTgyLCA3ODEsIAotICAgIDE1ODgsIDE2MDUsIDE1ODIsIDc4MCwgMTU4OCwgMTYwNSwgMTYwNSwgNzgxLCAxNTg4LCAxNjA1LCAxNjA1LCA3ODAsIAotICAgIDE1OTAsIDE1ODEsIDE2MDksIDc4MCwgMTU5MCwgMTU4MiwgMTYwNSwgNzgxLCAxNTkwLCAxNTgyLCAxNjA1LCA3ODAsIAotICAgIDE1OTEsIDE2MDUsIDE1ODEsIDc4MSwgMTU5MSwgMTYwNSwgMTU4MSwgNzgxLCAxNTkxLCAxNjA1LCAxNjA1LCA3ODAsIAotICAgIDE1OTEsIDE2MDUsIDE2MTAsIDc4MCwgMTU5MywgMTU4MCwgMTYwNSwgNzgwLCAxNTkzLCAxNjA1LCAxNjA1LCA3ODEsIAotICAgIDE1OTMsIDE2MDUsIDE2MDUsIDc4MCwgMTU5MywgMTYwNSwgMTYwOSwgNzgwLCAxNTk0LCAxNjA1LCAxNjA1LCA3ODAsIAotICAgIDE1OTQsIDE2MDUsIDE2MTAsIDc4MCwgMTU5NCwgMTYwNSwgMTYwOSwgNzgwLCAxNjAxLCAxNTgyLCAxNjA1LCA3ODEsIAotICAgIDE2MDEsIDE1ODIsIDE2MDUsIDc4MCwgMTYwMiwgMTYwNSwgMTU4MSwgNzgwLCAxNjAyLCAxNjA1LCAxNjA1LCA3ODAsIAotICAgIDE2MDQsIDE1ODEsIDE2MDUsIDc4MCwgMTYwNCwgMTU4MSwgMTYxMCwgNzgwLCAxNjA0LCAxNTgxLCAxNjA5LCA3ODEsIAotICAgIDE2MDQsIDE1ODAsIDE1ODAsIDc4MCwgMTYwNCwgMTU4MCwgMTU4MCwgNzgwLCAxNjA0LCAxNTgyLCAxNjA1LCA3ODEsIAotICAgIDE2MDQsIDE1ODIsIDE2MDUsIDc4MCwgMTYwNCwgMTYwNSwgMTU4MSwgNzgxLCAxNjA0LCAxNjA1LCAxNTgxLCA3ODEsIAotICAgIDE2MDUsIDE1ODEsIDE1ODAsIDc4MSwgMTYwNSwgMTU4MSwgMTYwNSwgNzgwLCAxNjA1LCAxNTgxLCAxNjEwLCA3ODEsIAotICAgIDE2MDUsIDE1ODAsIDE1ODEsIDc4MSwgMTYwNSwgMTU4MCwgMTYwNSwgNzgxLCAxNjA1LCAxNTgyLCAxNTgwLCA3ODEsIAotICAgIDE2MDUsIDE1ODIsIDE2MDUsIDc4MSwgMTYwNSwgMTU4MCwgMTU4MiwgNzgxLCAxNjA3LCAxNjA1LCAxNTgwLCA3ODEsIAotICAgIDE2MDcsIDE2MDUsIDE2MDUsIDc4MSwgMTYwNiwgMTU4MSwgMTYwNSwgNzgwLCAxNjA2LCAxNTgxLCAxNjA5LCA3ODAsIAotICAgIDE2MDYsIDE1ODAsIDE2MDUsIDc4MSwgMTYwNiwgMTU4MCwgMTYwNSwgNzgwLCAxNjA2LCAxNTgwLCAxNjA5LCA3ODAsIAotICAgIDE2MDYsIDE2MDUsIDE2MTAsIDc4MCwgMTYwNiwgMTYwNSwgMTYwOSwgNzgwLCAxNjEwLCAxNjA1LCAxNjA1LCA3ODEsIAotICAgIDE2MTAsIDE2MDUsIDE2MDUsIDc4MCwgMTU3NiwgMTU4MiwgMTYxMCwgNzgwLCAxNTc4LCAxNTgwLCAxNjEwLCA3ODAsIAotICAgIDE1NzgsIDE1ODAsIDE2MDksIDc4MCwgMTU3OCwgMTU4MiwgMTYxMCwgNzgwLCAxNTc4LCAxNTgyLCAxNjA5LCA3ODAsIAotICAgIDE1NzgsIDE2MDUsIDE2MTAsIDc4MCwgMTU3OCwgMTYwNSwgMTYwOSwgNzgwLCAxNTgwLCAxNjA1LCAxNjEwLCA3ODAsIAotICAgIDE1ODAsIDE1ODEsIDE2MDksIDc4MCwgMTU4MCwgMTYwNSwgMTYwOSwgNzgwLCAxNTg3LCAxNTgyLCAxNjA5LCA3ODAsIAotICAgIDE1ODksIDE1ODEsIDE2MTAsIDc4MCwgMTU4OCwgMTU4MSwgMTYxMCwgNzgwLCAxNTkwLCAxNTgxLCAxNjEwLCA3ODAsIAotICAgIDE2MDQsIDE1ODAsIDE2MTAsIDc4MCwgMTYwNCwgMTYwNSwgMTYxMCwgNzgwLCAxNjEwLCAxNTgxLCAxNjEwLCA3ODAsIAotICAgIDE2MTAsIDE1ODAsIDE2MTAsIDc4MCwgMTYxMCwgMTYwNSwgMTYxMCwgNzgwLCAxNjA1LCAxNjA1LCAxNjEwLCA3ODAsIAotICAgIDE2MDIsIDE2MDUsIDE2MTAsIDc4MCwgMTYwNiwgMTU4MSwgMTYxMCwgNzgxLCAxNjAyLCAxNjA1LCAxNTgxLCA3ODEsIAotICAgIDE2MDQsIDE1ODEsIDE2MDUsIDc4MCwgMTU5MywgMTYwNSwgMTYxMCwgNzgwLCAxNjAzLCAxNjA1LCAxNjEwLCA3ODEsIAotICAgIDE2MDYsIDE1ODAsIDE1ODEsIDc4MCwgMTYwNSwgMTU4MiwgMTYxMCwgNzgxLCAxNjA0LCAxNTgwLCAxNjA1LCA3ODAsIAotICAgIDE2MDMsIDE2MDUsIDE2MDUsIDc4MCwgMTYwNCwgMTU4MCwgMTYwNSwgNzgwLCAxNjA2LCAxNTgwLCAxNTgxLCA3ODAsIAotICAgIDE1ODAsIDE1ODEsIDE2MTAsIDc4MCwgMTU4MSwgMTU4MCwgMTYxMCwgNzgwLCAxNjA1LCAxNTgwLCAxNjEwLCA3ODAsIAotICAgIDE2MDEsIDE2MDUsIDE2MTAsIDc4MCwgMTU3NiwgMTU4MSwgMTYxMCwgNzgxLCAxNjAzLCAxNjA1LCAxNjA1LCA3ODEsIAotICAgIDE1OTMsIDE1ODAsIDE2MDUsIDc4MSwgMTU4OSwgMTYwNSwgMTYwNSwgNzgwLCAxNTg3LCAxNTgyLCAxNjEwLCA3ODAsIAotICAgIDE2MDYsIDE1ODAsIDE2MTAsIDc3OSwgMTU4OSwgMTYwNCwgMTc0NiwgNzc5LCAxNjAyLCAxNjA0LCAxNzQ2LCAxMDM1LCAKLSAgICAxNTc1LCAxNjA0LCAxNjA0LCAxNjA3LCAxMDM1LCAxNTc1LCAxNjAzLCAxNTc2LCAxNTg1LCAxMDM1LCAxNjA1LCAxNTgxLCAKLSAgICAxNjA1LCAxNTgzLCAxMDM1LCAxNTg5LCAxNjA0LCAxNTkzLCAxNjA1LCAxMDM1LCAxNTg1LCAxNTg3LCAxNjA4LCAxNjA0LCAKLSAgICAxMDM1LCAxNTkzLCAxNjA0LCAxNjEwLCAxNjA3LCAxMDM1LCAxNjA4LCAxNTg3LCAxNjA0LCAxNjA1LCA3NzksIDE1ODksIAotICAgIDE2MDQsIDE2MDksIDQ2MTksIDE1ODksIDE2MDQsIDE2MDksIDMyLCAxNTc1LCAxNjA0LCAxNjA0LCAxNjA3LCAzMiwgMTU5MywgCi0gICAgMTYwNCwgMTYxMCwgMTYwNywgMzIsIDE2MDgsIDE1ODcsIDE2MDQsIDE2MDUsIDIwNTksIDE1ODAsIDE2MDQsIDMyLCAxNTgwLCAKLSAgICAxNjA0LCAxNTc1LCAxNjA0LCAxNjA3LCAxMDM1LCAxNTg1LCAxNzQwLCAxNTc1LCAxNjA0LCAyNjUsIDQ0LCAyNjUsIAotICAgIDEyMjg5LCAyNjUsIDEyMjkwLCAyNjUsIDU4LCAyNjUsIDU5LCAyNjUsIDMzLCAyNjUsIDYzLCAyNjUsIDEyMzEwLCAyNjUsIAotICAgIDEyMzExLCAyNjUsIDgyMzAsIDI2NSwgODIyOSwgMjY1LCA4MjEyLCAyNjUsIDgyMTEsIDI2NSwgOTUsIDI2NSwgOTUsIDI2NSwgCi0gICAgNDAsIDI2NSwgNDEsIDI2NSwgMTIzLCAyNjUsIDEyNSwgMjY1LCAxMjMwOCwgMjY1LCAxMjMwOSwgMjY1LCAxMjMwNCwgMjY1LCAKLSAgICAxMjMwNSwgMjY1LCAxMjI5OCwgMjY1LCAxMjI5OSwgMjY1LCAxMjI5NiwgMjY1LCAxMjI5NywgMjY1LCAxMjMwMCwgMjY1LCAKLSAgICAxMjMwMSwgMjY1LCAxMjMwMiwgMjY1LCAxMjMwMywgMjY1LCA5MSwgMjY1LCA5MywgMjU4LCA4MjU0LCAyNTgsIDgyNTQsIAotICAgIDI1OCwgODI1NCwgMjU4LCA4MjU0LCAyNTgsIDk1LCAyNTgsIDk1LCAyNTgsIDk1LCAyNzEsIDQ0LCAyNzEsIDEyMjg5LCAKLSAgICAyNzEsIDQ2LCAyNzEsIDU5LCAyNzEsIDU4LCAyNzEsIDYzLCAyNzEsIDMzLCAyNzEsIDgyMTIsIDI3MSwgNDAsIDI3MSwgNDEsIAotICAgIDI3MSwgMTIzLCAyNzEsIDEyNSwgMjcxLCAxMjMwOCwgMjcxLCAxMjMwOSwgMjcxLCAzNSwgMjcxLCAzOCwgMjcxLCA0MiwgCi0gICAgMjcxLCA0MywgMjcxLCA0NSwgMjcxLCA2MCwgMjcxLCA2MiwgMjcxLCA2MSwgMjcxLCA5MiwgMjcxLCAzNiwgMjcxLCAzNywgCi0gICAgMjcxLCA2NCwgNTIzLCAzMiwgMTYxMSwgNTI2LCAxNjAwLCAxNjExLCA1MjMsIDMyLCAxNjEyLCA1MjMsIDMyLCAxNjEzLCAKLSAgICA1MjMsIDMyLCAxNjE0LCA1MjYsIDE2MDAsIDE2MTQsIDUyMywgMzIsIDE2MTUsIDUyNiwgMTYwMCwgMTYxNSwgNTIzLCAzMiwgCi0gICAgMTYxNiwgNTI2LCAxNjAwLCAxNjE2LCA1MjMsIDMyLCAxNjE3LCA1MjYsIDE2MDAsIDE2MTcsIDUyMywgMzIsIDE2MTgsIAotICAgIDUyNiwgMTYwMCwgMTYxOCwgMjY3LCAxNTY5LCAyNjcsIDE1NzAsIDI2OCwgMTU3MCwgMjY3LCAxNTcxLCAyNjgsIDE1NzEsIAotICAgIDI2NywgMTU3MiwgMjY4LCAxNTcyLCAyNjcsIDE1NzMsIDI2OCwgMTU3MywgMjY3LCAxNTc0LCAyNjgsIDE1NzQsIDI2OSwgCi0gICAgMTU3NCwgMjcwLCAxNTc0LCAyNjcsIDE1NzUsIDI2OCwgMTU3NSwgMjY3LCAxNTc2LCAyNjgsIDE1NzYsIDI2OSwgMTU3NiwgCi0gICAgMjcwLCAxNTc2LCAyNjcsIDE1NzcsIDI2OCwgMTU3NywgMjY3LCAxNTc4LCAyNjgsIDE1NzgsIDI2OSwgMTU3OCwgMjcwLCAKLSAgICAxNTc4LCAyNjcsIDE1NzksIDI2OCwgMTU3OSwgMjY5LCAxNTc5LCAyNzAsIDE1NzksIDI2NywgMTU4MCwgMjY4LCAxNTgwLCAKLSAgICAyNjksIDE1ODAsIDI3MCwgMTU4MCwgMjY3LCAxNTgxLCAyNjgsIDE1ODEsIDI2OSwgMTU4MSwgMjcwLCAxNTgxLCAyNjcsIAotICAgIDE1ODIsIDI2OCwgMTU4MiwgMjY5LCAxNTgyLCAyNzAsIDE1ODIsIDI2NywgMTU4MywgMjY4LCAxNTgzLCAyNjcsIDE1ODQsIAotICAgIDI2OCwgMTU4NCwgMjY3LCAxNTg1LCAyNjgsIDE1ODUsIDI2NywgMTU4NiwgMjY4LCAxNTg2LCAyNjcsIDE1ODcsIDI2OCwgCi0gICAgMTU4NywgMjY5LCAxNTg3LCAyNzAsIDE1ODcsIDI2NywgMTU4OCwgMjY4LCAxNTg4LCAyNjksIDE1ODgsIDI3MCwgMTU4OCwgCi0gICAgMjY3LCAxNTg5LCAyNjgsIDE1ODksIDI2OSwgMTU4OSwgMjcwLCAxNTg5LCAyNjcsIDE1OTAsIDI2OCwgMTU5MCwgMjY5LCAKLSAgICAxNTkwLCAyNzAsIDE1OTAsIDI2NywgMTU5MSwgMjY4LCAxNTkxLCAyNjksIDE1OTEsIDI3MCwgMTU5MSwgMjY3LCAxNTkyLCAKLSAgICAyNjgsIDE1OTIsIDI2OSwgMTU5MiwgMjcwLCAxNTkyLCAyNjcsIDE1OTMsIDI2OCwgMTU5MywgMjY5LCAxNTkzLCAyNzAsIAotICAgIDE1OTMsIDI2NywgMTU5NCwgMjY4LCAxNTk0LCAyNjksIDE1OTQsIDI3MCwgMTU5NCwgMjY3LCAxNjAxLCAyNjgsIDE2MDEsIAotICAgIDI2OSwgMTYwMSwgMjcwLCAxNjAxLCAyNjcsIDE2MDIsIDI2OCwgMTYwMiwgMjY5LCAxNjAyLCAyNzAsIDE2MDIsIDI2NywgCi0gICAgMTYwMywgMjY4LCAxNjAzLCAyNjksIDE2MDMsIDI3MCwgMTYwMywgMjY3LCAxNjA0LCAyNjgsIDE2MDQsIDI2OSwgMTYwNCwgCi0gICAgMjcwLCAxNjA0LCAyNjcsIDE2MDUsIDI2OCwgMTYwNSwgMjY5LCAxNjA1LCAyNzAsIDE2MDUsIDI2NywgMTYwNiwgMjY4LCAKLSAgICAxNjA2LCAyNjksIDE2MDYsIDI3MCwgMTYwNiwgMjY3LCAxNjA3LCAyNjgsIDE2MDcsIDI2OSwgMTYwNywgMjcwLCAxNjA3LCAKLSAgICAyNjcsIDE2MDgsIDI2OCwgMTYwOCwgMjY3LCAxNjA5LCAyNjgsIDE2MDksIDI2NywgMTYxMCwgMjY4LCAxNjEwLCAyNjksIAotICAgIDE2MTAsIDI3MCwgMTYxMCwgNTIzLCAxNjA0LCAxNTcwLCA1MjQsIDE2MDQsIDE1NzAsIDUyMywgMTYwNCwgMTU3MSwgNTI0LCAKLSAgICAxNjA0LCAxNTcxLCA1MjMsIDE2MDQsIDE1NzMsIDUyNCwgMTYwNCwgMTU3MywgNTIzLCAxNjA0LCAxNTc1LCA1MjQsIDE2MDQsIAotICAgIDE1NzUsIDI2NCwgMzMsIDI2NCwgMzQsIDI2NCwgMzUsIDI2NCwgMzYsIDI2NCwgMzcsIDI2NCwgMzgsIDI2NCwgMzksIDI2NCwgCi0gICAgNDAsIDI2NCwgNDEsIDI2NCwgNDIsIDI2NCwgNDMsIDI2NCwgNDQsIDI2NCwgNDUsIDI2NCwgNDYsIDI2NCwgNDcsIDI2NCwgCi0gICAgNDgsIDI2NCwgNDksIDI2NCwgNTAsIDI2NCwgNTEsIDI2NCwgNTIsIDI2NCwgNTMsIDI2NCwgNTQsIDI2NCwgNTUsIDI2NCwgCi0gICAgNTYsIDI2NCwgNTcsIDI2NCwgNTgsIDI2NCwgNTksIDI2NCwgNjAsIDI2NCwgNjEsIDI2NCwgNjIsIDI2NCwgNjMsIDI2NCwgCi0gICAgNjQsIDI2NCwgNjUsIDI2NCwgNjYsIDI2NCwgNjcsIDI2NCwgNjgsIDI2NCwgNjksIDI2NCwgNzAsIDI2NCwgNzEsIDI2NCwgCi0gICAgNzIsIDI2NCwgNzMsIDI2NCwgNzQsIDI2NCwgNzUsIDI2NCwgNzYsIDI2NCwgNzcsIDI2NCwgNzgsIDI2NCwgNzksIDI2NCwgCi0gICAgODAsIDI2NCwgODEsIDI2NCwgODIsIDI2NCwgODMsIDI2NCwgODQsIDI2NCwgODUsIDI2NCwgODYsIDI2NCwgODcsIDI2NCwgCi0gICAgODgsIDI2NCwgODksIDI2NCwgOTAsIDI2NCwgOTEsIDI2NCwgOTIsIDI2NCwgOTMsIDI2NCwgOTQsIDI2NCwgOTUsIDI2NCwgCi0gICAgOTYsIDI2NCwgOTcsIDI2NCwgOTgsIDI2NCwgOTksIDI2NCwgMTAwLCAyNjQsIDEwMSwgMjY0LCAxMDIsIDI2NCwgMTAzLCAKLSAgICAyNjQsIDEwNCwgMjY0LCAxMDUsIDI2NCwgMTA2LCAyNjQsIDEwNywgMjY0LCAxMDgsIDI2NCwgMTA5LCAyNjQsIDExMCwgCi0gICAgMjY0LCAxMTEsIDI2NCwgMTEyLCAyNjQsIDExMywgMjY0LCAxMTQsIDI2NCwgMTE1LCAyNjQsIDExNiwgMjY0LCAxMTcsIAotICAgIDI2NCwgMTE4LCAyNjQsIDExOSwgMjY0LCAxMjAsIDI2NCwgMTIxLCAyNjQsIDEyMiwgMjY0LCAxMjMsIDI2NCwgMTI0LCAKLSAgICAyNjQsIDEyNSwgMjY0LCAxMjYsIDI2NCwgMTA2MjksIDI2NCwgMTA2MzAsIDI3MiwgMTIyOTAsIDI3MiwgMTIzMDAsIDI3MiwgCi0gICAgMTIzMDEsIDI3MiwgMTIyODksIDI3MiwgMTI1MzksIDI3MiwgMTI1MzAsIDI3MiwgMTI0NDksIDI3MiwgMTI0NTEsIDI3MiwgCi0gICAgMTI0NTMsIDI3MiwgMTI0NTUsIDI3MiwgMTI0NTcsIDI3MiwgMTI1MTUsIDI3MiwgMTI1MTcsIDI3MiwgMTI1MTksIDI3MiwgCi0gICAgMTI0ODMsIDI3MiwgMTI1NDAsIDI3MiwgMTI0NTAsIDI3MiwgMTI0NTIsIDI3MiwgMTI0NTQsIDI3MiwgMTI0NTYsIDI3MiwgCi0gICAgMTI0NTgsIDI3MiwgMTI0NTksIDI3MiwgMTI0NjEsIDI3MiwgMTI0NjMsIDI3MiwgMTI0NjUsIDI3MiwgMTI0NjcsIDI3MiwgCi0gICAgMTI0NjksIDI3MiwgMTI0NzEsIDI3MiwgMTI0NzMsIDI3MiwgMTI0NzUsIDI3MiwgMTI0NzcsIDI3MiwgMTI0NzksIDI3MiwgCi0gICAgMTI0ODEsIDI3MiwgMTI0ODQsIDI3MiwgMTI0ODYsIDI3MiwgMTI0ODgsIDI3MiwgMTI0OTAsIDI3MiwgMTI0OTEsIDI3MiwgCi0gICAgMTI0OTIsIDI3MiwgMTI0OTMsIDI3MiwgMTI0OTQsIDI3MiwgMTI0OTUsIDI3MiwgMTI0OTgsIDI3MiwgMTI1MDEsIDI3MiwgCi0gICAgMTI1MDQsIDI3MiwgMTI1MDcsIDI3MiwgMTI1MTAsIDI3MiwgMTI1MTEsIDI3MiwgMTI1MTIsIDI3MiwgMTI1MTMsIDI3MiwgCi0gICAgMTI1MTQsIDI3MiwgMTI1MTYsIDI3MiwgMTI1MTgsIDI3MiwgMTI1MjAsIDI3MiwgMTI1MjEsIDI3MiwgMTI1MjIsIDI3MiwgCi0gICAgMTI1MjMsIDI3MiwgMTI1MjQsIDI3MiwgMTI1MjUsIDI3MiwgMTI1MjcsIDI3MiwgMTI1MzEsIDI3MiwgMTI0NDEsIDI3MiwgCi0gICAgMTI0NDIsIDI3MiwgMTI2NDQsIDI3MiwgMTI1OTMsIDI3MiwgMTI1OTQsIDI3MiwgMTI1OTUsIDI3MiwgMTI1OTYsIDI3MiwgCi0gICAgMTI1OTcsIDI3MiwgMTI1OTgsIDI3MiwgMTI1OTksIDI3MiwgMTI2MDAsIDI3MiwgMTI2MDEsIDI3MiwgMTI2MDIsIDI3MiwgCi0gICAgMTI2MDMsIDI3MiwgMTI2MDQsIDI3MiwgMTI2MDUsIDI3MiwgMTI2MDYsIDI3MiwgMTI2MDcsIDI3MiwgMTI2MDgsIDI3MiwgCi0gICAgMTI2MDksIDI3MiwgMTI2MTAsIDI3MiwgMTI2MTEsIDI3MiwgMTI2MTIsIDI3MiwgMTI2MTMsIDI3MiwgMTI2MTQsIDI3MiwgCi0gICAgMTI2MTUsIDI3MiwgMTI2MTYsIDI3MiwgMTI2MTcsIDI3MiwgMTI2MTgsIDI3MiwgMTI2MTksIDI3MiwgMTI2MjAsIDI3MiwgCi0gICAgMTI2MjEsIDI3MiwgMTI2MjIsIDI3MiwgMTI2MjMsIDI3MiwgMTI2MjQsIDI3MiwgMTI2MjUsIDI3MiwgMTI2MjYsIDI3MiwgCi0gICAgMTI2MjcsIDI3MiwgMTI2MjgsIDI3MiwgMTI2MjksIDI3MiwgMTI2MzAsIDI3MiwgMTI2MzEsIDI3MiwgMTI2MzIsIDI3MiwgCi0gICAgMTI2MzMsIDI3MiwgMTI2MzQsIDI3MiwgMTI2MzUsIDI3MiwgMTI2MzYsIDI3MiwgMTI2MzcsIDI3MiwgMTI2MzgsIDI3MiwgCi0gICAgMTI2MzksIDI3MiwgMTI2NDAsIDI3MiwgMTI2NDEsIDI3MiwgMTI2NDIsIDI3MiwgMTI2NDMsIDI2NCwgMTYyLCAyNjQsIAotICAgIDE2MywgMjY0LCAxNzIsIDI2NCwgMTc1LCAyNjQsIDE2NiwgMjY0LCAxNjUsIDI2NCwgODM2MSwgMjcyLCA5NDc0LCAyNzIsIAotICAgIDg1OTIsIDI3MiwgODU5MywgMjcyLCA4NTk0LCAyNzIsIDg1OTUsIDI3MiwgOTYzMiwgMjcyLCA5Njc1LCA1MTIsIDY5Nzg1LCAKLSAgICA2OTgxOCwgNTEyLCA2OTc4NywgNjk4MTgsIDUxMiwgNjk3OTcsIDY5ODE4LCA1MTIsIDExOTEyNywgMTE5MTQxLCA1MTIsIAotICAgIDExOTEyOCwgMTE5MTQxLCA1MTIsIDExOTEzNSwgMTE5MTUwLCA1MTIsIDExOTEzNSwgMTE5MTUxLCA1MTIsIDExOTEzNSwgCi0gICAgMTE5MTUyLCA1MTIsIDExOTEzNSwgMTE5MTUzLCA1MTIsIDExOTEzNSwgMTE5MTU0LCA1MTIsIDExOTIyNSwgMTE5MTQxLCAKLSAgICA1MTIsIDExOTIyNiwgMTE5MTQxLCA1MTIsIDExOTIyNywgMTE5MTUwLCA1MTIsIDExOTIyOCwgMTE5MTUwLCA1MTIsIAotICAgIDExOTIyNywgMTE5MTUxLCA1MTIsIDExOTIyOCwgMTE5MTUxLCAyNjIsIDY1LCAyNjIsIDY2LCAyNjIsIDY3LCAyNjIsIDY4LCAKLSAgICAyNjIsIDY5LCAyNjIsIDcwLCAyNjIsIDcxLCAyNjIsIDcyLCAyNjIsIDczLCAyNjIsIDc0LCAyNjIsIDc1LCAyNjIsIDc2LCAKLSAgICAyNjIsIDc3LCAyNjIsIDc4LCAyNjIsIDc5LCAyNjIsIDgwLCAyNjIsIDgxLCAyNjIsIDgyLCAyNjIsIDgzLCAyNjIsIDg0LCAKLSAgICAyNjIsIDg1LCAyNjIsIDg2LCAyNjIsIDg3LCAyNjIsIDg4LCAyNjIsIDg5LCAyNjIsIDkwLCAyNjIsIDk3LCAyNjIsIDk4LCAKLSAgICAyNjIsIDk5LCAyNjIsIDEwMCwgMjYyLCAxMDEsIDI2MiwgMTAyLCAyNjIsIDEwMywgMjYyLCAxMDQsIDI2MiwgMTA1LCAyNjIsIAotICAgIDEwNiwgMjYyLCAxMDcsIDI2MiwgMTA4LCAyNjIsIDEwOSwgMjYyLCAxMTAsIDI2MiwgMTExLCAyNjIsIDExMiwgMjYyLCAKLSAgICAxMTMsIDI2MiwgMTE0LCAyNjIsIDExNSwgMjYyLCAxMTYsIDI2MiwgMTE3LCAyNjIsIDExOCwgMjYyLCAxMTksIDI2MiwgCi0gICAgMTIwLCAyNjIsIDEyMSwgMjYyLCAxMjIsIDI2MiwgNjUsIDI2MiwgNjYsIDI2MiwgNjcsIDI2MiwgNjgsIDI2MiwgNjksIAotICAgIDI2MiwgNzAsIDI2MiwgNzEsIDI2MiwgNzIsIDI2MiwgNzMsIDI2MiwgNzQsIDI2MiwgNzUsIDI2MiwgNzYsIDI2MiwgNzcsIAotICAgIDI2MiwgNzgsIDI2MiwgNzksIDI2MiwgODAsIDI2MiwgODEsIDI2MiwgODIsIDI2MiwgODMsIDI2MiwgODQsIDI2MiwgODUsIAotICAgIDI2MiwgODYsIDI2MiwgODcsIDI2MiwgODgsIDI2MiwgODksIDI2MiwgOTAsIDI2MiwgOTcsIDI2MiwgOTgsIDI2MiwgOTksIAotICAgIDI2MiwgMTAwLCAyNjIsIDEwMSwgMjYyLCAxMDIsIDI2MiwgMTAzLCAyNjIsIDEwNSwgMjYyLCAxMDYsIDI2MiwgMTA3LCAKKyAgICAyNjA4NSwgNzc4LCAxMDMsIDk3LCAxMDgsIDI1OSwgNDI4NjMsIDI1OSwgMjk0LCAyNTksIDMzOSwgMjU2LCAzNTkxMiwgCisgICAgMjU2LCAyNjM1NiwgMjU2LCAzNjU1NCwgMjU2LCAzNjA0MCwgMjU2LCAyODM2OSwgMjU2LCAyMDAxOCwgMjU2LCAyMTQ3NywgCisgICAgMjU2LCA0MDg2MCwgMjU2LCA0MDg2MCwgMjU2LCAyMjg2NSwgMjU2LCAzNzMyOSwgMjU2LCAyMTg5NSwgMjU2LCAyMjg1NiwgCisgICAgMjU2LCAyNTA3OCwgMjU2LCAzMDMxMywgMjU2LCAzMjY0NSwgMjU2LCAzNDM2NywgMjU2LCAzNDc0NiwgMjU2LCAzNTA2NCwgCisgICAgMjU2LCAzNzAwNywgMjU2LCAyNzEzOCwgMjU2LCAyNzkzMSwgMjU2LCAyODg4OSwgMjU2LCAyOTY2MiwgMjU2LCAzMzg1MywgCisgICAgMjU2LCAzNzIyNiwgMjU2LCAzOTQwOSwgMjU2LCAyMDA5OCwgMjU2LCAyMTM2NSwgMjU2LCAyNzM5NiwgMjU2LCAyOTIxMSwgCisgICAgMjU2LCAzNDM0OSwgMjU2LCA0MDQ3OCwgMjU2LCAyMzg4OCwgMjU2LCAyODY1MSwgMjU2LCAzNDI1MywgMjU2LCAzNTE3MiwgCisgICAgMjU2LCAyNTI4OSwgMjU2LCAzMzI0MCwgMjU2LCAzNDg0NywgMjU2LCAyNDI2NiwgMjU2LCAyNjM5MSwgMjU2LCAyODAxMCwgCisgICAgMjU2LCAyOTQzNiwgMjU2LCAzNzA3MCwgMjU2LCAyMDM1OCwgMjU2LCAyMDkxOSwgMjU2LCAyMTIxNCwgMjU2LCAyNTc5NiwgCisgICAgMjU2LCAyNzM0NywgMjU2LCAyOTIwMCwgMjU2LCAzMDQzOSwgMjU2LCAzMjc2OSwgMjU2LCAzNDMxMCwgMjU2LCAzNDM5NiwgCisgICAgMjU2LCAzNjMzNSwgMjU2LCAzODcwNiwgMjU2LCAzOTc5MSwgMjU2LCA0MDQ0MiwgMjU2LCAzMDg2MCwgMjU2LCAzMTEwMywgCisgICAgMjU2LCAzMjE2MCwgMjU2LCAzMzczNywgMjU2LCAzNzYzNiwgMjU2LCA0MDU3NSwgMjU2LCAzNTU0MiwgMjU2LCAyMjc1MSwgCisgICAgMjU2LCAyNDMyNCwgMjU2LCAzMTg0MCwgMjU2LCAzMjg5NCwgMjU2LCAyOTI4MiwgMjU2LCAzMDkyMiwgMjU2LCAzNjAzNCwgCisgICAgMjU2LCAzODY0NywgMjU2LCAyMjc0NCwgMjU2LCAyMzY1MCwgMjU2LCAyNzE1NSwgMjU2LCAyODEyMiwgMjU2LCAyODQzMSwgCisgICAgMjU2LCAzMjA0NywgMjU2LCAzMjMxMSwgMjU2LCAzODQ3NSwgMjU2LCAyMTIwMiwgMjU2LCAzMjkwNywgMjU2LCAyMDk1NiwgCisgICAgMjU2LCAyMDk0MCwgMjU2LCAzMTI2MCwgMjU2LCAzMjE5MCwgMjU2LCAzMzc3NywgMjU2LCAzODUxNywgMjU2LCAzNTcxMiwgCisgICAgMjU2LCAyNTI5NSwgMjU2LCAyNzEzOCwgMjU2LCAzNTU4MiwgMjU2LCAyMDAyNSwgMjU2LCAyMzUyNywgMjU2LCAyNDU5NCwgCisgICAgMjU2LCAyOTU3NSwgMjU2LCAzMDA2NCwgMjU2LCAyMTI3MSwgMjU2LCAzMDk3MSwgMjU2LCAyMDQxNSwgMjU2LCAyNDQ4OSwgCisgICAgMjU2LCAxOTk4MSwgMjU2LCAyNzg1MiwgMjU2LCAyNTk3NiwgMjU2LCAzMjAzNCwgMjU2LCAyMTQ0MywgMjU2LCAyMjYyMiwgCisgICAgMjU2LCAzMDQ2NSwgMjU2LCAzMzg2NSwgMjU2LCAzNTQ5OCwgMjU2LCAyNzU3OCwgMjU2LCAzNjc4NCwgMjU2LCAyNzc4NCwgCisgICAgMjU2LCAyNTM0MiwgMjU2LCAzMzUwOSwgMjU2LCAyNTUwNCwgMjU2LCAzMDA1MywgMjU2LCAyMDE0MiwgMjU2LCAyMDg0MSwgCisgICAgMjU2LCAyMDkzNywgMjU2LCAyNjc1MywgMjU2LCAzMTk3NSwgMjU2LCAzMzM5MSwgMjU2LCAzNTUzOCwgMjU2LCAzNzMyNywgCisgICAgMjU2LCAyMTIzNywgMjU2LCAyMTU3MCwgMjU2LCAyMjg5OSwgMjU2LCAyNDMwMCwgMjU2LCAyNjA1MywgMjU2LCAyODY3MCwgCisgICAgMjU2LCAzMTAxOCwgMjU2LCAzODMxNywgMjU2LCAzOTUzMCwgMjU2LCA0MDU5OSwgMjU2LCA0MDY1NCwgMjU2LCAyMTE0NywgCisgICAgMjU2LCAyNjMxMCwgMjU2LCAyNzUxMSwgMjU2LCAzNjcwNiwgMjU2LCAyNDE4MCwgMjU2LCAyNDk3NiwgMjU2LCAyNTA4OCwgCisgICAgMjU2LCAyNTc1NCwgMjU2LCAyODQ1MSwgMjU2LCAyOTAwMSwgMjU2LCAyOTgzMywgMjU2LCAzMTE3OCwgMjU2LCAzMjI0NCwgCisgICAgMjU2LCAzMjg3OSwgMjU2LCAzNjY0NiwgMjU2LCAzNDAzMCwgMjU2LCAzNjg5OSwgMjU2LCAzNzcwNiwgMjU2LCAyMTAxNSwgCisgICAgMjU2LCAyMTE1NSwgMjU2LCAyMTY5MywgMjU2LCAyODg3MiwgMjU2LCAzNTAxMCwgMjU2LCAzNTQ5OCwgMjU2LCAyNDI2NSwgCisgICAgMjU2LCAyNDU2NSwgMjU2LCAyNTQ2NywgMjU2LCAyNzU2NiwgMjU2LCAzMTgwNiwgMjU2LCAyOTU1NywgMjU2LCAyMDE5NiwgCisgICAgMjU2LCAyMjI2NSwgMjU2LCAyMzUyNywgMjU2LCAyMzk5NCwgMjU2LCAyNDYwNCwgMjU2LCAyOTYxOCwgMjU2LCAyOTgwMSwgCisgICAgMjU2LCAzMjY2NiwgMjU2LCAzMjgzOCwgMjU2LCAzNzQyOCwgMjU2LCAzODY0NiwgMjU2LCAzODcyOCwgMjU2LCAzODkzNiwgCisgICAgMjU2LCAyMDM2MywgMjU2LCAzMTE1MCwgMjU2LCAzNzMwMCwgMjU2LCAzODU4NCwgMjU2LCAyNDgwMSwgMjU2LCAyMDEwMiwgCisgICAgMjU2LCAyMDY5OCwgMjU2LCAyMzUzNCwgMjU2LCAyMzYxNSwgMjU2LCAyNjAwOSwgMjU2LCAyNzEzOCwgMjU2LCAyOTEzNCwgCisgICAgMjU2LCAzMDI3NCwgMjU2LCAzNDA0NCwgMjU2LCAzNjk4OCwgMjU2LCA0MDg0NSwgMjU2LCAyNjI0OCwgMjU2LCAzODQ0NiwgCisgICAgMjU2LCAyMTEyOSwgMjU2LCAyNjQ5MSwgMjU2LCAyNjYxMSwgMjU2LCAyNzk2OSwgMjU2LCAyODMxNiwgMjU2LCAyOTcwNSwgCisgICAgMjU2LCAzMDA0MSwgMjU2LCAzMDgyNywgMjU2LCAzMjAxNiwgMjU2LCAzOTAwNiwgMjU2LCAyMDg0NSwgMjU2LCAyNTEzNCwgCisgICAgMjU2LCAzODUyMCwgMjU2LCAyMDUyMywgMjU2LCAyMzgzMywgMjU2LCAyODEzOCwgMjU2LCAzNjY1MCwgMjU2LCAyNDQ1OSwgCisgICAgMjU2LCAyNDkwMCwgMjU2LCAyNjY0NywgMjU2LCAyOTU3NSwgMjU2LCAzODUzNCwgMjU2LCAyMTAzMywgMjU2LCAyMTUxOSwgCisgICAgMjU2LCAyMzY1MywgMjU2LCAyNjEzMSwgMjU2LCAyNjQ0NiwgMjU2LCAyNjc5MiwgMjU2LCAyNzg3NywgMjU2LCAyOTcwMiwgCisgICAgMjU2LCAzMDE3OCwgMjU2LCAzMjYzMywgMjU2LCAzNTAyMywgMjU2LCAzNTA0MSwgMjU2LCAzNzMyNCwgMjU2LCAzODYyNiwgCisgICAgMjU2LCAyMTMxMSwgMjU2LCAyODM0NiwgMjU2LCAyMTUzMywgMjU2LCAyOTEzNiwgMjU2LCAyOTg0OCwgMjU2LCAzNDI5OCwgCisgICAgMjU2LCAzODU2MywgMjU2LCA0MDAyMywgMjU2LCA0MDYwNywgMjU2LCAyNjUxOSwgMjU2LCAyODEwNywgMjU2LCAzMzI1NiwgCisgICAgMjU2LCAzMTQzNSwgMjU2LCAzMTUyMCwgMjU2LCAzMTg5MCwgMjU2LCAyOTM3NiwgMjU2LCAyODgyNSwgMjU2LCAzNTY3MiwgCisgICAgMjU2LCAyMDE2MCwgMjU2LCAzMzU5MCwgMjU2LCAyMTA1MCwgMjU2LCAyMDk5OSwgMjU2LCAyNDIzMCwgMjU2LCAyNTI5OSwgCisgICAgMjU2LCAzMTk1OCwgMjU2LCAyMzQyOSwgMjU2LCAyNzkzNCwgMjU2LCAyNjI5MiwgMjU2LCAzNjY2NywgMjU2LCAzNDg5MiwgCisgICAgMjU2LCAzODQ3NywgMjU2LCAzNTIxMSwgMjU2LCAyNDI3NSwgMjU2LCAyMDgwMCwgMjU2LCAyMTk1MiwgMjU2LCAyMjYxOCwgCisgICAgMjU2LCAyNjIyOCwgMjU2LCAyMDk1OCwgMjU2LCAyOTQ4MiwgMjU2LCAzMDQxMCwgMjU2LCAzMTAzNiwgMjU2LCAzMTA3MCwgCisgICAgMjU2LCAzMTA3NywgMjU2LCAzMTExOSwgMjU2LCAzODc0MiwgMjU2LCAzMTkzNCwgMjU2LCAzMjcwMSwgMjU2LCAzNDMyMiwgCisgICAgMjU2LCAzNTU3NiwgMjU2LCAzNjkyMCwgMjU2LCAzNzExNywgMjU2LCAzOTE1MSwgMjU2LCAzOTE2NCwgMjU2LCAzOTIwOCwgCisgICAgMjU2LCA0MDM3MiwgMjU2LCAzNzA4NiwgMjU2LCAzODU4MywgMjU2LCAyMDM5OCwgMjU2LCAyMDcxMSwgMjU2LCAyMDgxMywgCisgICAgMjU2LCAyMTE5MywgMjU2LCAyMTIyMCwgMjU2LCAyMTMyOSwgMjU2LCAyMTkxNywgMjU2LCAyMjAyMiwgMjU2LCAyMjEyMCwgCisgICAgMjU2LCAyMjU5MiwgMjU2LCAyMjY5NiwgMjU2LCAyMzY1MiwgMjU2LCAyMzY2MiwgMjU2LCAyNDcyNCwgMjU2LCAyNDkzNiwgCisgICAgMjU2LCAyNDk3NCwgMjU2LCAyNTA3NCwgMjU2LCAyNTkzNSwgMjU2LCAyNjA4MiwgMjU2LCAyNjI1NywgMjU2LCAyNjc1NywgCisgICAgMjU2LCAyODAyMywgMjU2LCAyODE4NiwgMjU2LCAyODQ1MCwgMjU2LCAyOTAzOCwgMjU2LCAyOTIyNywgMjU2LCAyOTczMCwgCisgICAgMjU2LCAzMDg2NSwgMjU2LCAzMTAzOCwgMjU2LCAzMTA0OSwgMjU2LCAzMTA0OCwgMjU2LCAzMTA1NiwgMjU2LCAzMTA2MiwgCisgICAgMjU2LCAzMTA2OSwgMjU2LCAzMTExNywgMjU2LCAzMTExOCwgMjU2LCAzMTI5NiwgMjU2LCAzMTM2MSwgMjU2LCAzMTY4MCwgCisgICAgMjU2LCAzMjI0NCwgMjU2LCAzMjI2NSwgMjU2LCAzMjMyMSwgMjU2LCAzMjYyNiwgMjU2LCAzMjc3MywgMjU2LCAzMzI2MSwgCisgICAgMjU2LCAzMzQwMSwgMjU2LCAzMzQwMSwgMjU2LCAzMzg3OSwgMjU2LCAzNTA4OCwgMjU2LCAzNTIyMiwgMjU2LCAzNTU4NSwgCisgICAgMjU2LCAzNTY0MSwgMjU2LCAzNjA1MSwgMjU2LCAzNjEwNCwgMjU2LCAzNjc5MCwgMjU2LCAzNjkyMCwgMjU2LCAzODYyNywgCisgICAgMjU2LCAzODkxMSwgMjU2LCAzODk3MSwgMjU2LCAyNDY5MywgMjU2LCAxNDgyMDYsIDI1NiwgMzMzMDQsIDI1NiwgMjAwMDYsIAorICAgIDI1NiwgMjA5MTcsIDI1NiwgMjA4NDAsIDI1NiwgMjAzNTIsIDI1NiwgMjA4MDUsIDI1NiwgMjA4NjQsIDI1NiwgMjExOTEsIAorICAgIDI1NiwgMjEyNDIsIDI1NiwgMjE5MTcsIDI1NiwgMjE4NDUsIDI1NiwgMjE5MTMsIDI1NiwgMjE5ODYsIDI1NiwgMjI2MTgsIAorICAgIDI1NiwgMjI3MDcsIDI1NiwgMjI4NTIsIDI1NiwgMjI4NjgsIDI1NiwgMjMxMzgsIDI1NiwgMjMzMzYsIDI1NiwgMjQyNzQsIAorICAgIDI1NiwgMjQyODEsIDI1NiwgMjQ0MjUsIDI1NiwgMjQ0OTMsIDI1NiwgMjQ3OTIsIDI1NiwgMjQ5MTAsIDI1NiwgMjQ4NDAsIAorICAgIDI1NiwgMjQ5NzQsIDI1NiwgMjQ5MjgsIDI1NiwgMjUwNzQsIDI1NiwgMjUxNDAsIDI1NiwgMjU1NDAsIDI1NiwgMjU2MjgsIAorICAgIDI1NiwgMjU2ODIsIDI1NiwgMjU5NDIsIDI1NiwgMjYyMjgsIDI1NiwgMjYzOTEsIDI1NiwgMjYzOTUsIDI1NiwgMjY0NTQsIAorICAgIDI1NiwgMjc1MTMsIDI1NiwgMjc1NzgsIDI1NiwgMjc5NjksIDI1NiwgMjgzNzksIDI1NiwgMjgzNjMsIDI1NiwgMjg0NTAsIAorICAgIDI1NiwgMjg3MDIsIDI1NiwgMjkwMzgsIDI1NiwgMzA2MzEsIDI1NiwgMjkyMzcsIDI1NiwgMjkzNTksIDI1NiwgMjk0ODIsIAorICAgIDI1NiwgMjk4MDksIDI1NiwgMjk5NTgsIDI1NiwgMzAwMTEsIDI1NiwgMzAyMzcsIDI1NiwgMzAyMzksIDI1NiwgMzA0MTAsIAorICAgIDI1NiwgMzA0MjcsIDI1NiwgMzA0NTIsIDI1NiwgMzA1MzgsIDI1NiwgMzA1MjgsIDI1NiwgMzA5MjQsIDI1NiwgMzE0MDksIAorICAgIDI1NiwgMzE2ODAsIDI1NiwgMzE4NjcsIDI1NiwgMzIwOTEsIDI1NiwgMzIyNDQsIDI1NiwgMzI1NzQsIDI1NiwgMzI3NzMsIAorICAgIDI1NiwgMzM2MTgsIDI1NiwgMzM3NzUsIDI1NiwgMzQ2ODEsIDI1NiwgMzUxMzcsIDI1NiwgMzUyMDYsIDI1NiwgMzUyMjIsIAorICAgIDI1NiwgMzU1MTksIDI1NiwgMzU1NzYsIDI1NiwgMzU1MzEsIDI1NiwgMzU1ODUsIDI1NiwgMzU1ODIsIDI1NiwgMzU1NjUsIAorICAgIDI1NiwgMzU2NDEsIDI1NiwgMzU3MjIsIDI1NiwgMzYxMDQsIDI1NiwgMzY2NjQsIDI1NiwgMzY5NzgsIDI1NiwgMzcyNzMsIAorICAgIDI1NiwgMzc0OTQsIDI1NiwgMzg1MjQsIDI1NiwgMzg2MjcsIDI1NiwgMzg3NDIsIDI1NiwgMzg4NzUsIDI1NiwgMzg5MTEsIAorICAgIDI1NiwgMzg5MjMsIDI1NiwgMzg5NzEsIDI1NiwgMzk2OTgsIDI1NiwgNDA4NjAsIDI1NiwgMTQxMzg2LCAyNTYsIDE0MTM4MCwgCisgICAgMjU2LCAxNDQzNDEsIDI1NiwgMTUyNjEsIDI1NiwgMTY0MDgsIDI1NiwgMTY0NDEsIDI1NiwgMTUyMTM3LCAyNTYsIAorICAgIDE1NDgzMiwgMjU2LCAxNjM1MzksIDI1NiwgNDA3NzEsIDI1NiwgNDA4NDYsIDUxNCwgMTAyLCAxMDIsIDUxNCwgMTAyLCAKKyAgICAxMDUsIDUxNCwgMTAyLCAxMDgsIDc3MCwgMTAyLCAxMDIsIDEwNSwgNzcwLCAxMDIsIDEwMiwgMTA4LCA1MTQsIDM4MywgCisgICAgMTE2LCA1MTQsIDExNSwgMTE2LCA1MTQsIDEzOTYsIDEzOTgsIDUxNCwgMTM5NiwgMTM4MSwgNTE0LCAxMzk2LCAxMzg3LCAKKyAgICA1MTQsIDE0MDYsIDEzOTgsIDUxNCwgMTM5NiwgMTM4OSwgNTEyLCAxNDk3LCAxNDYwLCA1MTIsIDE1MjIsIDE0NjMsIDI2MiwgCisgICAgMTUwNiwgMjYyLCAxNDg4LCAyNjIsIDE0OTEsIDI2MiwgMTQ5MiwgMjYyLCAxNDk5LCAyNjIsIDE1MDAsIDI2MiwgMTUwMSwgCisgICAgMjYyLCAxNTEyLCAyNjIsIDE1MTQsIDI2MiwgNDMsIDUxMiwgMTUxMywgMTQ3MywgNTEyLCAxNTEzLCAxNDc0LCA1MTIsIAorICAgIDY0MzI5LCAxNDczLCA1MTIsIDY0MzI5LCAxNDc0LCA1MTIsIDE0ODgsIDE0NjMsIDUxMiwgMTQ4OCwgMTQ2NCwgNTEyLCAKKyAgICAxNDg4LCAxNDY4LCA1MTIsIDE0ODksIDE0NjgsIDUxMiwgMTQ5MCwgMTQ2OCwgNTEyLCAxNDkxLCAxNDY4LCA1MTIsIDE0OTIsIAorICAgIDE0NjgsIDUxMiwgMTQ5MywgMTQ2OCwgNTEyLCAxNDk0LCAxNDY4LCA1MTIsIDE0OTYsIDE0NjgsIDUxMiwgMTQ5NywgMTQ2OCwgCisgICAgNTEyLCAxNDk4LCAxNDY4LCA1MTIsIDE0OTksIDE0NjgsIDUxMiwgMTUwMCwgMTQ2OCwgNTEyLCAxNTAyLCAxNDY4LCA1MTIsIAorICAgIDE1MDQsIDE0NjgsIDUxMiwgMTUwNSwgMTQ2OCwgNTEyLCAxNTA3LCAxNDY4LCA1MTIsIDE1MDgsIDE0NjgsIDUxMiwgMTUxMCwgCisgICAgMTQ2OCwgNTEyLCAxNTExLCAxNDY4LCA1MTIsIDE1MTIsIDE0NjgsIDUxMiwgMTUxMywgMTQ2OCwgNTEyLCAxNTE0LCAxNDY4LCAKKyAgICA1MTIsIDE0OTMsIDE0NjUsIDUxMiwgMTQ4OSwgMTQ3MSwgNTEyLCAxNDk5LCAxNDcxLCA1MTIsIDE1MDgsIDE0NzEsIDUxNCwgCisgICAgMTQ4OCwgMTUwMCwgMjY3LCAxNjQ5LCAyNjgsIDE2NDksIDI2NywgMTY1OSwgMjY4LCAxNjU5LCAyNjksIDE2NTksIDI3MCwgCisgICAgMTY1OSwgMjY3LCAxNjYyLCAyNjgsIDE2NjIsIDI2OSwgMTY2MiwgMjcwLCAxNjYyLCAyNjcsIDE2NjQsIDI2OCwgMTY2NCwgCisgICAgMjY5LCAxNjY0LCAyNzAsIDE2NjQsIDI2NywgMTY1OCwgMjY4LCAxNjU4LCAyNjksIDE2NTgsIDI3MCwgMTY1OCwgMjY3LCAKKyAgICAxNjYzLCAyNjgsIDE2NjMsIDI2OSwgMTY2MywgMjcwLCAxNjYzLCAyNjcsIDE2NTcsIDI2OCwgMTY1NywgMjY5LCAxNjU3LCAKKyAgICAyNzAsIDE2NTcsIDI2NywgMTcwMCwgMjY4LCAxNzAwLCAyNjksIDE3MDAsIDI3MCwgMTcwMCwgMjY3LCAxNzAyLCAyNjgsIAorICAgIDE3MDIsIDI2OSwgMTcwMiwgMjcwLCAxNzAyLCAyNjcsIDE2NjgsIDI2OCwgMTY2OCwgMjY5LCAxNjY4LCAyNzAsIDE2NjgsIAorICAgIDI2NywgMTY2NywgMjY4LCAxNjY3LCAyNjksIDE2NjcsIDI3MCwgMTY2NywgMjY3LCAxNjcwLCAyNjgsIDE2NzAsIDI2OSwgCisgICAgMTY3MCwgMjcwLCAxNjcwLCAyNjcsIDE2NzEsIDI2OCwgMTY3MSwgMjY5LCAxNjcxLCAyNzAsIDE2NzEsIDI2NywgMTY3NywgCisgICAgMjY4LCAxNjc3LCAyNjcsIDE2NzYsIDI2OCwgMTY3NiwgMjY3LCAxNjc4LCAyNjgsIDE2NzgsIDI2NywgMTY3MiwgMjY4LCAKKyAgICAxNjcyLCAyNjcsIDE2ODgsIDI2OCwgMTY4OCwgMjY3LCAxNjgxLCAyNjgsIDE2ODEsIDI2NywgMTcwNSwgMjY4LCAxNzA1LCAKKyAgICAyNjksIDE3MDUsIDI3MCwgMTcwNSwgMjY3LCAxNzExLCAyNjgsIDE3MTEsIDI2OSwgMTcxMSwgMjcwLCAxNzExLCAyNjcsIAorICAgIDE3MTUsIDI2OCwgMTcxNSwgMjY5LCAxNzE1LCAyNzAsIDE3MTUsIDI2NywgMTcxMywgMjY4LCAxNzEzLCAyNjksIDE3MTMsIAorICAgIDI3MCwgMTcxMywgMjY3LCAxNzIyLCAyNjgsIDE3MjIsIDI2NywgMTcyMywgMjY4LCAxNzIzLCAyNjksIDE3MjMsIDI3MCwgCisgICAgMTcyMywgMjY3LCAxNzI4LCAyNjgsIDE3MjgsIDI2NywgMTcyOSwgMjY4LCAxNzI5LCAyNjksIDE3MjksIDI3MCwgMTcyOSwgCisgICAgMjY3LCAxNzI2LCAyNjgsIDE3MjYsIDI2OSwgMTcyNiwgMjcwLCAxNzI2LCAyNjcsIDE3NDYsIDI2OCwgMTc0NiwgMjY3LCAKKyAgICAxNzQ3LCAyNjgsIDE3NDcsIDI2NywgMTcwOSwgMjY4LCAxNzA5LCAyNjksIDE3MDksIDI3MCwgMTcwOSwgMjY3LCAxNzM1LCAKKyAgICAyNjgsIDE3MzUsIDI2NywgMTczNCwgMjY4LCAxNzM0LCAyNjcsIDE3MzYsIDI2OCwgMTczNiwgMjY3LCAxNjU1LCAyNjcsIAorICAgIDE3MzksIDI2OCwgMTczOSwgMjY3LCAxNzMzLCAyNjgsIDE3MzMsIDI2NywgMTczNywgMjY4LCAxNzM3LCAyNjcsIDE3NDQsIAorICAgIDI2OCwgMTc0NCwgMjY5LCAxNzQ0LCAyNzAsIDE3NDQsIDI2OSwgMTYwOSwgMjcwLCAxNjA5LCA1MjMsIDE1NzQsIDE1NzUsIAorICAgIDUyNCwgMTU3NCwgMTU3NSwgNTIzLCAxNTc0LCAxNzQ5LCA1MjQsIDE1NzQsIDE3NDksIDUyMywgMTU3NCwgMTYwOCwgNTI0LCAKKyAgICAxNTc0LCAxNjA4LCA1MjMsIDE1NzQsIDE3MzUsIDUyNCwgMTU3NCwgMTczNSwgNTIzLCAxNTc0LCAxNzM0LCA1MjQsIDE1NzQsIAorICAgIDE3MzQsIDUyMywgMTU3NCwgMTczNiwgNTI0LCAxNTc0LCAxNzM2LCA1MjMsIDE1NzQsIDE3NDQsIDUyNCwgMTU3NCwgMTc0NCwgCisgICAgNTI1LCAxNTc0LCAxNzQ0LCA1MjMsIDE1NzQsIDE2MDksIDUyNCwgMTU3NCwgMTYwOSwgNTI1LCAxNTc0LCAxNjA5LCAyNjcsIAorICAgIDE3NDAsIDI2OCwgMTc0MCwgMjY5LCAxNzQwLCAyNzAsIDE3NDAsIDUyMywgMTU3NCwgMTU4MCwgNTIzLCAxNTc0LCAxNTgxLCAKKyAgICA1MjMsIDE1NzQsIDE2MDUsIDUyMywgMTU3NCwgMTYwOSwgNTIzLCAxNTc0LCAxNjEwLCA1MjMsIDE1NzYsIDE1ODAsIDUyMywgCisgICAgMTU3NiwgMTU4MSwgNTIzLCAxNTc2LCAxNTgyLCA1MjMsIDE1NzYsIDE2MDUsIDUyMywgMTU3NiwgMTYwOSwgNTIzLCAxNTc2LCAKKyAgICAxNjEwLCA1MjMsIDE1NzgsIDE1ODAsIDUyMywgMTU3OCwgMTU4MSwgNTIzLCAxNTc4LCAxNTgyLCA1MjMsIDE1NzgsIDE2MDUsIAorICAgIDUyMywgMTU3OCwgMTYwOSwgNTIzLCAxNTc4LCAxNjEwLCA1MjMsIDE1NzksIDE1ODAsIDUyMywgMTU3OSwgMTYwNSwgNTIzLCAKKyAgICAxNTc5LCAxNjA5LCA1MjMsIDE1NzksIDE2MTAsIDUyMywgMTU4MCwgMTU4MSwgNTIzLCAxNTgwLCAxNjA1LCA1MjMsIDE1ODEsIAorICAgIDE1ODAsIDUyMywgMTU4MSwgMTYwNSwgNTIzLCAxNTgyLCAxNTgwLCA1MjMsIDE1ODIsIDE1ODEsIDUyMywgMTU4MiwgMTYwNSwgCisgICAgNTIzLCAxNTg3LCAxNTgwLCA1MjMsIDE1ODcsIDE1ODEsIDUyMywgMTU4NywgMTU4MiwgNTIzLCAxNTg3LCAxNjA1LCA1MjMsIAorICAgIDE1ODksIDE1ODEsIDUyMywgMTU4OSwgMTYwNSwgNTIzLCAxNTkwLCAxNTgwLCA1MjMsIDE1OTAsIDE1ODEsIDUyMywgMTU5MCwgCisgICAgMTU4MiwgNTIzLCAxNTkwLCAxNjA1LCA1MjMsIDE1OTEsIDE1ODEsIDUyMywgMTU5MSwgMTYwNSwgNTIzLCAxNTkyLCAxNjA1LCAKKyAgICA1MjMsIDE1OTMsIDE1ODAsIDUyMywgMTU5MywgMTYwNSwgNTIzLCAxNTk0LCAxNTgwLCA1MjMsIDE1OTQsIDE2MDUsIDUyMywgCisgICAgMTYwMSwgMTU4MCwgNTIzLCAxNjAxLCAxNTgxLCA1MjMsIDE2MDEsIDE1ODIsIDUyMywgMTYwMSwgMTYwNSwgNTIzLCAxNjAxLCAKKyAgICAxNjA5LCA1MjMsIDE2MDEsIDE2MTAsIDUyMywgMTYwMiwgMTU4MSwgNTIzLCAxNjAyLCAxNjA1LCA1MjMsIDE2MDIsIDE2MDksIAorICAgIDUyMywgMTYwMiwgMTYxMCwgNTIzLCAxNjAzLCAxNTc1LCA1MjMsIDE2MDMsIDE1ODAsIDUyMywgMTYwMywgMTU4MSwgNTIzLCAKKyAgICAxNjAzLCAxNTgyLCA1MjMsIDE2MDMsIDE2MDQsIDUyMywgMTYwMywgMTYwNSwgNTIzLCAxNjAzLCAxNjA5LCA1MjMsIDE2MDMsIAorICAgIDE2MTAsIDUyMywgMTYwNCwgMTU4MCwgNTIzLCAxNjA0LCAxNTgxLCA1MjMsIDE2MDQsIDE1ODIsIDUyMywgMTYwNCwgMTYwNSwgCisgICAgNTIzLCAxNjA0LCAxNjA5LCA1MjMsIDE2MDQsIDE2MTAsIDUyMywgMTYwNSwgMTU4MCwgNTIzLCAxNjA1LCAxNTgxLCA1MjMsIAorICAgIDE2MDUsIDE1ODIsIDUyMywgMTYwNSwgMTYwNSwgNTIzLCAxNjA1LCAxNjA5LCA1MjMsIDE2MDUsIDE2MTAsIDUyMywgMTYwNiwgCisgICAgMTU4MCwgNTIzLCAxNjA2LCAxNTgxLCA1MjMsIDE2MDYsIDE1ODIsIDUyMywgMTYwNiwgMTYwNSwgNTIzLCAxNjA2LCAxNjA5LCAKKyAgICA1MjMsIDE2MDYsIDE2MTAsIDUyMywgMTYwNywgMTU4MCwgNTIzLCAxNjA3LCAxNjA1LCA1MjMsIDE2MDcsIDE2MDksIDUyMywgCisgICAgMTYwNywgMTYxMCwgNTIzLCAxNjEwLCAxNTgwLCA1MjMsIDE2MTAsIDE1ODEsIDUyMywgMTYxMCwgMTU4MiwgNTIzLCAxNjEwLCAKKyAgICAxNjA1LCA1MjMsIDE2MTAsIDE2MDksIDUyMywgMTYxMCwgMTYxMCwgNTIzLCAxNTg0LCAxNjQ4LCA1MjMsIDE1ODUsIDE2NDgsIAorICAgIDUyMywgMTYwOSwgMTY0OCwgNzc5LCAzMiwgMTYxMiwgMTYxNywgNzc5LCAzMiwgMTYxMywgMTYxNywgNzc5LCAzMiwgMTYxNCwgCisgICAgMTYxNywgNzc5LCAzMiwgMTYxNSwgMTYxNywgNzc5LCAzMiwgMTYxNiwgMTYxNywgNzc5LCAzMiwgMTYxNywgMTY0OCwgNTI0LCAKKyAgICAxNTc0LCAxNTg1LCA1MjQsIDE1NzQsIDE1ODYsIDUyNCwgMTU3NCwgMTYwNSwgNTI0LCAxNTc0LCAxNjA2LCA1MjQsIDE1NzQsIAorICAgIDE2MDksIDUyNCwgMTU3NCwgMTYxMCwgNTI0LCAxNTc2LCAxNTg1LCA1MjQsIDE1NzYsIDE1ODYsIDUyNCwgMTU3NiwgMTYwNSwgCisgICAgNTI0LCAxNTc2LCAxNjA2LCA1MjQsIDE1NzYsIDE2MDksIDUyNCwgMTU3NiwgMTYxMCwgNTI0LCAxNTc4LCAxNTg1LCA1MjQsIAorICAgIDE1NzgsIDE1ODYsIDUyNCwgMTU3OCwgMTYwNSwgNTI0LCAxNTc4LCAxNjA2LCA1MjQsIDE1NzgsIDE2MDksIDUyNCwgMTU3OCwgCisgICAgMTYxMCwgNTI0LCAxNTc5LCAxNTg1LCA1MjQsIDE1NzksIDE1ODYsIDUyNCwgMTU3OSwgMTYwNSwgNTI0LCAxNTc5LCAxNjA2LCAKKyAgICA1MjQsIDE1NzksIDE2MDksIDUyNCwgMTU3OSwgMTYxMCwgNTI0LCAxNjAxLCAxNjA5LCA1MjQsIDE2MDEsIDE2MTAsIDUyNCwgCisgICAgMTYwMiwgMTYwOSwgNTI0LCAxNjAyLCAxNjEwLCA1MjQsIDE2MDMsIDE1NzUsIDUyNCwgMTYwMywgMTYwNCwgNTI0LCAxNjAzLCAKKyAgICAxNjA1LCA1MjQsIDE2MDMsIDE2MDksIDUyNCwgMTYwMywgMTYxMCwgNTI0LCAxNjA0LCAxNjA1LCA1MjQsIDE2MDQsIDE2MDksIAorICAgIDUyNCwgMTYwNCwgMTYxMCwgNTI0LCAxNjA1LCAxNTc1LCA1MjQsIDE2MDUsIDE2MDUsIDUyNCwgMTYwNiwgMTU4NSwgNTI0LCAKKyAgICAxNjA2LCAxNTg2LCA1MjQsIDE2MDYsIDE2MDUsIDUyNCwgMTYwNiwgMTYwNiwgNTI0LCAxNjA2LCAxNjA5LCA1MjQsIDE2MDYsIAorICAgIDE2MTAsIDUyNCwgMTYwOSwgMTY0OCwgNTI0LCAxNjEwLCAxNTg1LCA1MjQsIDE2MTAsIDE1ODYsIDUyNCwgMTYxMCwgMTYwNSwgCisgICAgNTI0LCAxNjEwLCAxNjA2LCA1MjQsIDE2MTAsIDE2MDksIDUyNCwgMTYxMCwgMTYxMCwgNTI1LCAxNTc0LCAxNTgwLCA1MjUsIAorICAgIDE1NzQsIDE1ODEsIDUyNSwgMTU3NCwgMTU4MiwgNTI1LCAxNTc0LCAxNjA1LCA1MjUsIDE1NzQsIDE2MDcsIDUyNSwgMTU3NiwgCisgICAgMTU4MCwgNTI1LCAxNTc2LCAxNTgxLCA1MjUsIDE1NzYsIDE1ODIsIDUyNSwgMTU3NiwgMTYwNSwgNTI1LCAxNTc2LCAxNjA3LCAKKyAgICA1MjUsIDE1NzgsIDE1ODAsIDUyNSwgMTU3OCwgMTU4MSwgNTI1LCAxNTc4LCAxNTgyLCA1MjUsIDE1NzgsIDE2MDUsIDUyNSwgCisgICAgMTU3OCwgMTYwNywgNTI1LCAxNTc5LCAxNjA1LCA1MjUsIDE1ODAsIDE1ODEsIDUyNSwgMTU4MCwgMTYwNSwgNTI1LCAxNTgxLCAKKyAgICAxNTgwLCA1MjUsIDE1ODEsIDE2MDUsIDUyNSwgMTU4MiwgMTU4MCwgNTI1LCAxNTgyLCAxNjA1LCA1MjUsIDE1ODcsIDE1ODAsIAorICAgIDUyNSwgMTU4NywgMTU4MSwgNTI1LCAxNTg3LCAxNTgyLCA1MjUsIDE1ODcsIDE2MDUsIDUyNSwgMTU4OSwgMTU4MSwgNTI1LCAKKyAgICAxNTg5LCAxNTgyLCA1MjUsIDE1ODksIDE2MDUsIDUyNSwgMTU5MCwgMTU4MCwgNTI1LCAxNTkwLCAxNTgxLCA1MjUsIDE1OTAsIAorICAgIDE1ODIsIDUyNSwgMTU5MCwgMTYwNSwgNTI1LCAxNTkxLCAxNTgxLCA1MjUsIDE1OTIsIDE2MDUsIDUyNSwgMTU5MywgMTU4MCwgCisgICAgNTI1LCAxNTkzLCAxNjA1LCA1MjUsIDE1OTQsIDE1ODAsIDUyNSwgMTU5NCwgMTYwNSwgNTI1LCAxNjAxLCAxNTgwLCA1MjUsIAorICAgIDE2MDEsIDE1ODEsIDUyNSwgMTYwMSwgMTU4MiwgNTI1LCAxNjAxLCAxNjA1LCA1MjUsIDE2MDIsIDE1ODEsIDUyNSwgMTYwMiwgCisgICAgMTYwNSwgNTI1LCAxNjAzLCAxNTgwLCA1MjUsIDE2MDMsIDE1ODEsIDUyNSwgMTYwMywgMTU4MiwgNTI1LCAxNjAzLCAxNjA0LCAKKyAgICA1MjUsIDE2MDMsIDE2MDUsIDUyNSwgMTYwNCwgMTU4MCwgNTI1LCAxNjA0LCAxNTgxLCA1MjUsIDE2MDQsIDE1ODIsIDUyNSwgCisgICAgMTYwNCwgMTYwNSwgNTI1LCAxNjA0LCAxNjA3LCA1MjUsIDE2MDUsIDE1ODAsIDUyNSwgMTYwNSwgMTU4MSwgNTI1LCAxNjA1LCAKKyAgICAxNTgyLCA1MjUsIDE2MDUsIDE2MDUsIDUyNSwgMTYwNiwgMTU4MCwgNTI1LCAxNjA2LCAxNTgxLCA1MjUsIDE2MDYsIDE1ODIsIAorICAgIDUyNSwgMTYwNiwgMTYwNSwgNTI1LCAxNjA2LCAxNjA3LCA1MjUsIDE2MDcsIDE1ODAsIDUyNSwgMTYwNywgMTYwNSwgNTI1LCAKKyAgICAxNjA3LCAxNjQ4LCA1MjUsIDE2MTAsIDE1ODAsIDUyNSwgMTYxMCwgMTU4MSwgNTI1LCAxNjEwLCAxNTgyLCA1MjUsIDE2MTAsIAorICAgIDE2MDUsIDUyNSwgMTYxMCwgMTYwNywgNTI2LCAxNTc0LCAxNjA1LCA1MjYsIDE1NzQsIDE2MDcsIDUyNiwgMTU3NiwgMTYwNSwgCisgICAgNTI2LCAxNTc2LCAxNjA3LCA1MjYsIDE1NzgsIDE2MDUsIDUyNiwgMTU3OCwgMTYwNywgNTI2LCAxNTc5LCAxNjA1LCA1MjYsIAorICAgIDE1NzksIDE2MDcsIDUyNiwgMTU4NywgMTYwNSwgNTI2LCAxNTg3LCAxNjA3LCA1MjYsIDE1ODgsIDE2MDUsIDUyNiwgMTU4OCwgCisgICAgMTYwNywgNTI2LCAxNjAzLCAxNjA0LCA1MjYsIDE2MDMsIDE2MDUsIDUyNiwgMTYwNCwgMTYwNSwgNTI2LCAxNjA2LCAxNjA1LCAKKyAgICA1MjYsIDE2MDYsIDE2MDcsIDUyNiwgMTYxMCwgMTYwNSwgNTI2LCAxNjEwLCAxNjA3LCA3ODIsIDE2MDAsIDE2MTQsIDE2MTcsIAorICAgIDc4MiwgMTYwMCwgMTYxNSwgMTYxNywgNzgyLCAxNjAwLCAxNjE2LCAxNjE3LCA1MjMsIDE1OTEsIDE2MDksIDUyMywgMTU5MSwgCisgICAgMTYxMCwgNTIzLCAxNTkzLCAxNjA5LCA1MjMsIDE1OTMsIDE2MTAsIDUyMywgMTU5NCwgMTYwOSwgNTIzLCAxNTk0LCAxNjEwLCAKKyAgICA1MjMsIDE1ODcsIDE2MDksIDUyMywgMTU4NywgMTYxMCwgNTIzLCAxNTg4LCAxNjA5LCA1MjMsIDE1ODgsIDE2MTAsIDUyMywgCisgICAgMTU4MSwgMTYwOSwgNTIzLCAxNTgxLCAxNjEwLCA1MjMsIDE1ODAsIDE2MDksIDUyMywgMTU4MCwgMTYxMCwgNTIzLCAxNTgyLCAKKyAgICAxNjA5LCA1MjMsIDE1ODIsIDE2MTAsIDUyMywgMTU4OSwgMTYwOSwgNTIzLCAxNTg5LCAxNjEwLCA1MjMsIDE1OTAsIDE2MDksIAorICAgIDUyMywgMTU5MCwgMTYxMCwgNTIzLCAxNTg4LCAxNTgwLCA1MjMsIDE1ODgsIDE1ODEsIDUyMywgMTU4OCwgMTU4MiwgNTIzLCAKKyAgICAxNTg4LCAxNjA1LCA1MjMsIDE1ODgsIDE1ODUsIDUyMywgMTU4NywgMTU4NSwgNTIzLCAxNTg5LCAxNTg1LCA1MjMsIDE1OTAsIAorICAgIDE1ODUsIDUyNCwgMTU5MSwgMTYwOSwgNTI0LCAxNTkxLCAxNjEwLCA1MjQsIDE1OTMsIDE2MDksIDUyNCwgMTU5MywgMTYxMCwgCisgICAgNTI0LCAxNTk0LCAxNjA5LCA1MjQsIDE1OTQsIDE2MTAsIDUyNCwgMTU4NywgMTYwOSwgNTI0LCAxNTg3LCAxNjEwLCA1MjQsIAorICAgIDE1ODgsIDE2MDksIDUyNCwgMTU4OCwgMTYxMCwgNTI0LCAxNTgxLCAxNjA5LCA1MjQsIDE1ODEsIDE2MTAsIDUyNCwgMTU4MCwgCisgICAgMTYwOSwgNTI0LCAxNTgwLCAxNjEwLCA1MjQsIDE1ODIsIDE2MDksIDUyNCwgMTU4MiwgMTYxMCwgNTI0LCAxNTg5LCAxNjA5LCAKKyAgICA1MjQsIDE1ODksIDE2MTAsIDUyNCwgMTU5MCwgMTYwOSwgNTI0LCAxNTkwLCAxNjEwLCA1MjQsIDE1ODgsIDE1ODAsIDUyNCwgCisgICAgMTU4OCwgMTU4MSwgNTI0LCAxNTg4LCAxNTgyLCA1MjQsIDE1ODgsIDE2MDUsIDUyNCwgMTU4OCwgMTU4NSwgNTI0LCAxNTg3LCAKKyAgICAxNTg1LCA1MjQsIDE1ODksIDE1ODUsIDUyNCwgMTU5MCwgMTU4NSwgNTI1LCAxNTg4LCAxNTgwLCA1MjUsIDE1ODgsIDE1ODEsIAorICAgIDUyNSwgMTU4OCwgMTU4MiwgNTI1LCAxNTg4LCAxNjA1LCA1MjUsIDE1ODcsIDE2MDcsIDUyNSwgMTU4OCwgMTYwNywgNTI1LCAKKyAgICAxNTkxLCAxNjA1LCA1MjYsIDE1ODcsIDE1ODAsIDUyNiwgMTU4NywgMTU4MSwgNTI2LCAxNTg3LCAxNTgyLCA1MjYsIDE1ODgsIAorICAgIDE1ODAsIDUyNiwgMTU4OCwgMTU4MSwgNTI2LCAxNTg4LCAxNTgyLCA1MjYsIDE1OTEsIDE2MDUsIDUyNiwgMTU5MiwgMTYwNSwgCisgICAgNTI0LCAxNTc1LCAxNjExLCA1MjMsIDE1NzUsIDE2MTEsIDc4MSwgMTU3OCwgMTU4MCwgMTYwNSwgNzgwLCAxNTc4LCAxNTgxLCAKKyAgICAxNTgwLCA3ODEsIDE1NzgsIDE1ODEsIDE1ODAsIDc4MSwgMTU3OCwgMTU4MSwgMTYwNSwgNzgxLCAxNTc4LCAxNTgyLCAKKyAgICAxNjA1LCA3ODEsIDE1NzgsIDE2MDUsIDE1ODAsIDc4MSwgMTU3OCwgMTYwNSwgMTU4MSwgNzgxLCAxNTc4LCAxNjA1LCAKKyAgICAxNTgyLCA3ODAsIDE1ODAsIDE2MDUsIDE1ODEsIDc4MSwgMTU4MCwgMTYwNSwgMTU4MSwgNzgwLCAxNTgxLCAxNjA1LCAKKyAgICAxNjEwLCA3ODAsIDE1ODEsIDE2MDUsIDE2MDksIDc4MSwgMTU4NywgMTU4MSwgMTU4MCwgNzgxLCAxNTg3LCAxNTgwLCAKKyAgICAxNTgxLCA3ODAsIDE1ODcsIDE1ODAsIDE2MDksIDc4MCwgMTU4NywgMTYwNSwgMTU4MSwgNzgxLCAxNTg3LCAxNjA1LCAKKyAgICAxNTgxLCA3ODEsIDE1ODcsIDE2MDUsIDE1ODAsIDc4MCwgMTU4NywgMTYwNSwgMTYwNSwgNzgxLCAxNTg3LCAxNjA1LCAKKyAgICAxNjA1LCA3ODAsIDE1ODksIDE1ODEsIDE1ODEsIDc4MSwgMTU4OSwgMTU4MSwgMTU4MSwgNzgwLCAxNTg5LCAxNjA1LCAKKyAgICAxNjA1LCA3ODAsIDE1ODgsIDE1ODEsIDE2MDUsIDc4MSwgMTU4OCwgMTU4MSwgMTYwNSwgNzgwLCAxNTg4LCAxNTgwLCAKKyAgICAxNjEwLCA3ODAsIDE1ODgsIDE2MDUsIDE1ODIsIDc4MSwgMTU4OCwgMTYwNSwgMTU4MiwgNzgwLCAxNTg4LCAxNjA1LCAKKyAgICAxNjA1LCA3ODEsIDE1ODgsIDE2MDUsIDE2MDUsIDc4MCwgMTU5MCwgMTU4MSwgMTYwOSwgNzgwLCAxNTkwLCAxNTgyLCAKKyAgICAxNjA1LCA3ODEsIDE1OTAsIDE1ODIsIDE2MDUsIDc4MCwgMTU5MSwgMTYwNSwgMTU4MSwgNzgxLCAxNTkxLCAxNjA1LCAKKyAgICAxNTgxLCA3ODEsIDE1OTEsIDE2MDUsIDE2MDUsIDc4MCwgMTU5MSwgMTYwNSwgMTYxMCwgNzgwLCAxNTkzLCAxNTgwLCAKKyAgICAxNjA1LCA3ODAsIDE1OTMsIDE2MDUsIDE2MDUsIDc4MSwgMTU5MywgMTYwNSwgMTYwNSwgNzgwLCAxNTkzLCAxNjA1LCAKKyAgICAxNjA5LCA3ODAsIDE1OTQsIDE2MDUsIDE2MDUsIDc4MCwgMTU5NCwgMTYwNSwgMTYxMCwgNzgwLCAxNTk0LCAxNjA1LCAKKyAgICAxNjA5LCA3ODAsIDE2MDEsIDE1ODIsIDE2MDUsIDc4MSwgMTYwMSwgMTU4MiwgMTYwNSwgNzgwLCAxNjAyLCAxNjA1LCAKKyAgICAxNTgxLCA3ODAsIDE2MDIsIDE2MDUsIDE2MDUsIDc4MCwgMTYwNCwgMTU4MSwgMTYwNSwgNzgwLCAxNjA0LCAxNTgxLCAKKyAgICAxNjEwLCA3ODAsIDE2MDQsIDE1ODEsIDE2MDksIDc4MSwgMTYwNCwgMTU4MCwgMTU4MCwgNzgwLCAxNjA0LCAxNTgwLCAKKyAgICAxNTgwLCA3ODAsIDE2MDQsIDE1ODIsIDE2MDUsIDc4MSwgMTYwNCwgMTU4MiwgMTYwNSwgNzgwLCAxNjA0LCAxNjA1LCAKKyAgICAxNTgxLCA3ODEsIDE2MDQsIDE2MDUsIDE1ODEsIDc4MSwgMTYwNSwgMTU4MSwgMTU4MCwgNzgxLCAxNjA1LCAxNTgxLCAKKyAgICAxNjA1LCA3ODAsIDE2MDUsIDE1ODEsIDE2MTAsIDc4MSwgMTYwNSwgMTU4MCwgMTU4MSwgNzgxLCAxNjA1LCAxNTgwLCAKKyAgICAxNjA1LCA3ODEsIDE2MDUsIDE1ODIsIDE1ODAsIDc4MSwgMTYwNSwgMTU4MiwgMTYwNSwgNzgxLCAxNjA1LCAxNTgwLCAKKyAgICAxNTgyLCA3ODEsIDE2MDcsIDE2MDUsIDE1ODAsIDc4MSwgMTYwNywgMTYwNSwgMTYwNSwgNzgxLCAxNjA2LCAxNTgxLCAKKyAgICAxNjA1LCA3ODAsIDE2MDYsIDE1ODEsIDE2MDksIDc4MCwgMTYwNiwgMTU4MCwgMTYwNSwgNzgxLCAxNjA2LCAxNTgwLCAKKyAgICAxNjA1LCA3ODAsIDE2MDYsIDE1ODAsIDE2MDksIDc4MCwgMTYwNiwgMTYwNSwgMTYxMCwgNzgwLCAxNjA2LCAxNjA1LCAKKyAgICAxNjA5LCA3ODAsIDE2MTAsIDE2MDUsIDE2MDUsIDc4MSwgMTYxMCwgMTYwNSwgMTYwNSwgNzgwLCAxNTc2LCAxNTgyLCAKKyAgICAxNjEwLCA3ODAsIDE1NzgsIDE1ODAsIDE2MTAsIDc4MCwgMTU3OCwgMTU4MCwgMTYwOSwgNzgwLCAxNTc4LCAxNTgyLCAKKyAgICAxNjEwLCA3ODAsIDE1NzgsIDE1ODIsIDE2MDksIDc4MCwgMTU3OCwgMTYwNSwgMTYxMCwgNzgwLCAxNTc4LCAxNjA1LCAKKyAgICAxNjA5LCA3ODAsIDE1ODAsIDE2MDUsIDE2MTAsIDc4MCwgMTU4MCwgMTU4MSwgMTYwOSwgNzgwLCAxNTgwLCAxNjA1LCAKKyAgICAxNjA5LCA3ODAsIDE1ODcsIDE1ODIsIDE2MDksIDc4MCwgMTU4OSwgMTU4MSwgMTYxMCwgNzgwLCAxNTg4LCAxNTgxLCAKKyAgICAxNjEwLCA3ODAsIDE1OTAsIDE1ODEsIDE2MTAsIDc4MCwgMTYwNCwgMTU4MCwgMTYxMCwgNzgwLCAxNjA0LCAxNjA1LCAKKyAgICAxNjEwLCA3ODAsIDE2MTAsIDE1ODEsIDE2MTAsIDc4MCwgMTYxMCwgMTU4MCwgMTYxMCwgNzgwLCAxNjEwLCAxNjA1LCAKKyAgICAxNjEwLCA3ODAsIDE2MDUsIDE2MDUsIDE2MTAsIDc4MCwgMTYwMiwgMTYwNSwgMTYxMCwgNzgwLCAxNjA2LCAxNTgxLCAKKyAgICAxNjEwLCA3ODEsIDE2MDIsIDE2MDUsIDE1ODEsIDc4MSwgMTYwNCwgMTU4MSwgMTYwNSwgNzgwLCAxNTkzLCAxNjA1LCAKKyAgICAxNjEwLCA3ODAsIDE2MDMsIDE2MDUsIDE2MTAsIDc4MSwgMTYwNiwgMTU4MCwgMTU4MSwgNzgwLCAxNjA1LCAxNTgyLCAKKyAgICAxNjEwLCA3ODEsIDE2MDQsIDE1ODAsIDE2MDUsIDc4MCwgMTYwMywgMTYwNSwgMTYwNSwgNzgwLCAxNjA0LCAxNTgwLCAKKyAgICAxNjA1LCA3ODAsIDE2MDYsIDE1ODAsIDE1ODEsIDc4MCwgMTU4MCwgMTU4MSwgMTYxMCwgNzgwLCAxNTgxLCAxNTgwLCAKKyAgICAxNjEwLCA3ODAsIDE2MDUsIDE1ODAsIDE2MTAsIDc4MCwgMTYwMSwgMTYwNSwgMTYxMCwgNzgwLCAxNTc2LCAxNTgxLCAKKyAgICAxNjEwLCA3ODEsIDE2MDMsIDE2MDUsIDE2MDUsIDc4MSwgMTU5MywgMTU4MCwgMTYwNSwgNzgxLCAxNTg5LCAxNjA1LCAKKyAgICAxNjA1LCA3ODAsIDE1ODcsIDE1ODIsIDE2MTAsIDc4MCwgMTYwNiwgMTU4MCwgMTYxMCwgNzc5LCAxNTg5LCAxNjA0LCAKKyAgICAxNzQ2LCA3NzksIDE2MDIsIDE2MDQsIDE3NDYsIDEwMzUsIDE1NzUsIDE2MDQsIDE2MDQsIDE2MDcsIDEwMzUsIDE1NzUsIAorICAgIDE2MDMsIDE1NzYsIDE1ODUsIDEwMzUsIDE2MDUsIDE1ODEsIDE2MDUsIDE1ODMsIDEwMzUsIDE1ODksIDE2MDQsIDE1OTMsIAorICAgIDE2MDUsIDEwMzUsIDE1ODUsIDE1ODcsIDE2MDgsIDE2MDQsIDEwMzUsIDE1OTMsIDE2MDQsIDE2MTAsIDE2MDcsIDEwMzUsIAorICAgIDE2MDgsIDE1ODcsIDE2MDQsIDE2MDUsIDc3OSwgMTU4OSwgMTYwNCwgMTYwOSwgNDYxOSwgMTU4OSwgMTYwNCwgMTYwOSwgCisgICAgMzIsIDE1NzUsIDE2MDQsIDE2MDQsIDE2MDcsIDMyLCAxNTkzLCAxNjA0LCAxNjEwLCAxNjA3LCAzMiwgMTYwOCwgMTU4NywgCisgICAgMTYwNCwgMTYwNSwgMjA1OSwgMTU4MCwgMTYwNCwgMzIsIDE1ODAsIDE2MDQsIDE1NzUsIDE2MDQsIDE2MDcsIDEwMzUsIAorICAgIDE1ODUsIDE3NDAsIDE1NzUsIDE2MDQsIDI2NSwgNDQsIDI2NSwgMTIyODksIDI2NSwgMTIyOTAsIDI2NSwgNTgsIDI2NSwgCisgICAgNTksIDI2NSwgMzMsIDI2NSwgNjMsIDI2NSwgMTIzMTAsIDI2NSwgMTIzMTEsIDI2NSwgODIzMCwgMjY1LCA4MjI5LCAyNjUsIAorICAgIDgyMTIsIDI2NSwgODIxMSwgMjY1LCA5NSwgMjY1LCA5NSwgMjY1LCA0MCwgMjY1LCA0MSwgMjY1LCAxMjMsIDI2NSwgMTI1LCAKKyAgICAyNjUsIDEyMzA4LCAyNjUsIDEyMzA5LCAyNjUsIDEyMzA0LCAyNjUsIDEyMzA1LCAyNjUsIDEyMjk4LCAyNjUsIDEyMjk5LCAKKyAgICAyNjUsIDEyMjk2LCAyNjUsIDEyMjk3LCAyNjUsIDEyMzAwLCAyNjUsIDEyMzAxLCAyNjUsIDEyMzAyLCAyNjUsIDEyMzAzLCAKKyAgICAyNjUsIDkxLCAyNjUsIDkzLCAyNTgsIDgyNTQsIDI1OCwgODI1NCwgMjU4LCA4MjU0LCAyNTgsIDgyNTQsIDI1OCwgOTUsIAorICAgIDI1OCwgOTUsIDI1OCwgOTUsIDI3MSwgNDQsIDI3MSwgMTIyODksIDI3MSwgNDYsIDI3MSwgNTksIDI3MSwgNTgsIDI3MSwgCisgICAgNjMsIDI3MSwgMzMsIDI3MSwgODIxMiwgMjcxLCA0MCwgMjcxLCA0MSwgMjcxLCAxMjMsIDI3MSwgMTI1LCAyNzEsIDEyMzA4LCAKKyAgICAyNzEsIDEyMzA5LCAyNzEsIDM1LCAyNzEsIDM4LCAyNzEsIDQyLCAyNzEsIDQzLCAyNzEsIDQ1LCAyNzEsIDYwLCAyNzEsIAorICAgIDYyLCAyNzEsIDYxLCAyNzEsIDkyLCAyNzEsIDM2LCAyNzEsIDM3LCAyNzEsIDY0LCA1MjMsIDMyLCAxNjExLCA1MjYsIAorICAgIDE2MDAsIDE2MTEsIDUyMywgMzIsIDE2MTIsIDUyMywgMzIsIDE2MTMsIDUyMywgMzIsIDE2MTQsIDUyNiwgMTYwMCwgMTYxNCwgCisgICAgNTIzLCAzMiwgMTYxNSwgNTI2LCAxNjAwLCAxNjE1LCA1MjMsIDMyLCAxNjE2LCA1MjYsIDE2MDAsIDE2MTYsIDUyMywgMzIsIAorICAgIDE2MTcsIDUyNiwgMTYwMCwgMTYxNywgNTIzLCAzMiwgMTYxOCwgNTI2LCAxNjAwLCAxNjE4LCAyNjcsIDE1NjksIDI2NywgCisgICAgMTU3MCwgMjY4LCAxNTcwLCAyNjcsIDE1NzEsIDI2OCwgMTU3MSwgMjY3LCAxNTcyLCAyNjgsIDE1NzIsIDI2NywgMTU3MywgCisgICAgMjY4LCAxNTczLCAyNjcsIDE1NzQsIDI2OCwgMTU3NCwgMjY5LCAxNTc0LCAyNzAsIDE1NzQsIDI2NywgMTU3NSwgMjY4LCAKKyAgICAxNTc1LCAyNjcsIDE1NzYsIDI2OCwgMTU3NiwgMjY5LCAxNTc2LCAyNzAsIDE1NzYsIDI2NywgMTU3NywgMjY4LCAxNTc3LCAKKyAgICAyNjcsIDE1NzgsIDI2OCwgMTU3OCwgMjY5LCAxNTc4LCAyNzAsIDE1NzgsIDI2NywgMTU3OSwgMjY4LCAxNTc5LCAyNjksIAorICAgIDE1NzksIDI3MCwgMTU3OSwgMjY3LCAxNTgwLCAyNjgsIDE1ODAsIDI2OSwgMTU4MCwgMjcwLCAxNTgwLCAyNjcsIDE1ODEsIAorICAgIDI2OCwgMTU4MSwgMjY5LCAxNTgxLCAyNzAsIDE1ODEsIDI2NywgMTU4MiwgMjY4LCAxNTgyLCAyNjksIDE1ODIsIDI3MCwgCisgICAgMTU4MiwgMjY3LCAxNTgzLCAyNjgsIDE1ODMsIDI2NywgMTU4NCwgMjY4LCAxNTg0LCAyNjcsIDE1ODUsIDI2OCwgMTU4NSwgCisgICAgMjY3LCAxNTg2LCAyNjgsIDE1ODYsIDI2NywgMTU4NywgMjY4LCAxNTg3LCAyNjksIDE1ODcsIDI3MCwgMTU4NywgMjY3LCAKKyAgICAxNTg4LCAyNjgsIDE1ODgsIDI2OSwgMTU4OCwgMjcwLCAxNTg4LCAyNjcsIDE1ODksIDI2OCwgMTU4OSwgMjY5LCAxNTg5LCAKKyAgICAyNzAsIDE1ODksIDI2NywgMTU5MCwgMjY4LCAxNTkwLCAyNjksIDE1OTAsIDI3MCwgMTU5MCwgMjY3LCAxNTkxLCAyNjgsIAorICAgIDE1OTEsIDI2OSwgMTU5MSwgMjcwLCAxNTkxLCAyNjcsIDE1OTIsIDI2OCwgMTU5MiwgMjY5LCAxNTkyLCAyNzAsIDE1OTIsIAorICAgIDI2NywgMTU5MywgMjY4LCAxNTkzLCAyNjksIDE1OTMsIDI3MCwgMTU5MywgMjY3LCAxNTk0LCAyNjgsIDE1OTQsIDI2OSwgCisgICAgMTU5NCwgMjcwLCAxNTk0LCAyNjcsIDE2MDEsIDI2OCwgMTYwMSwgMjY5LCAxNjAxLCAyNzAsIDE2MDEsIDI2NywgMTYwMiwgCisgICAgMjY4LCAxNjAyLCAyNjksIDE2MDIsIDI3MCwgMTYwMiwgMjY3LCAxNjAzLCAyNjgsIDE2MDMsIDI2OSwgMTYwMywgMjcwLCAKKyAgICAxNjAzLCAyNjcsIDE2MDQsIDI2OCwgMTYwNCwgMjY5LCAxNjA0LCAyNzAsIDE2MDQsIDI2NywgMTYwNSwgMjY4LCAxNjA1LCAKKyAgICAyNjksIDE2MDUsIDI3MCwgMTYwNSwgMjY3LCAxNjA2LCAyNjgsIDE2MDYsIDI2OSwgMTYwNiwgMjcwLCAxNjA2LCAyNjcsIAorICAgIDE2MDcsIDI2OCwgMTYwNywgMjY5LCAxNjA3LCAyNzAsIDE2MDcsIDI2NywgMTYwOCwgMjY4LCAxNjA4LCAyNjcsIDE2MDksIAorICAgIDI2OCwgMTYwOSwgMjY3LCAxNjEwLCAyNjgsIDE2MTAsIDI2OSwgMTYxMCwgMjcwLCAxNjEwLCA1MjMsIDE2MDQsIDE1NzAsIAorICAgIDUyNCwgMTYwNCwgMTU3MCwgNTIzLCAxNjA0LCAxNTcxLCA1MjQsIDE2MDQsIDE1NzEsIDUyMywgMTYwNCwgMTU3MywgNTI0LCAKKyAgICAxNjA0LCAxNTczLCA1MjMsIDE2MDQsIDE1NzUsIDUyNCwgMTYwNCwgMTU3NSwgMjY0LCAzMywgMjY0LCAzNCwgMjY0LCAzNSwgCisgICAgMjY0LCAzNiwgMjY0LCAzNywgMjY0LCAzOCwgMjY0LCAzOSwgMjY0LCA0MCwgMjY0LCA0MSwgMjY0LCA0MiwgMjY0LCA0MywgCisgICAgMjY0LCA0NCwgMjY0LCA0NSwgMjY0LCA0NiwgMjY0LCA0NywgMjY0LCA0OCwgMjY0LCA0OSwgMjY0LCA1MCwgMjY0LCA1MSwgCisgICAgMjY0LCA1MiwgMjY0LCA1MywgMjY0LCA1NCwgMjY0LCA1NSwgMjY0LCA1NiwgMjY0LCA1NywgMjY0LCA1OCwgMjY0LCA1OSwgCisgICAgMjY0LCA2MCwgMjY0LCA2MSwgMjY0LCA2MiwgMjY0LCA2MywgMjY0LCA2NCwgMjY0LCA2NSwgMjY0LCA2NiwgMjY0LCA2NywgCisgICAgMjY0LCA2OCwgMjY0LCA2OSwgMjY0LCA3MCwgMjY0LCA3MSwgMjY0LCA3MiwgMjY0LCA3MywgMjY0LCA3NCwgMjY0LCA3NSwgCisgICAgMjY0LCA3NiwgMjY0LCA3NywgMjY0LCA3OCwgMjY0LCA3OSwgMjY0LCA4MCwgMjY0LCA4MSwgMjY0LCA4MiwgMjY0LCA4MywgCisgICAgMjY0LCA4NCwgMjY0LCA4NSwgMjY0LCA4NiwgMjY0LCA4NywgMjY0LCA4OCwgMjY0LCA4OSwgMjY0LCA5MCwgMjY0LCA5MSwgCisgICAgMjY0LCA5MiwgMjY0LCA5MywgMjY0LCA5NCwgMjY0LCA5NSwgMjY0LCA5NiwgMjY0LCA5NywgMjY0LCA5OCwgMjY0LCA5OSwgCisgICAgMjY0LCAxMDAsIDI2NCwgMTAxLCAyNjQsIDEwMiwgMjY0LCAxMDMsIDI2NCwgMTA0LCAyNjQsIDEwNSwgMjY0LCAxMDYsIAorICAgIDI2NCwgMTA3LCAyNjQsIDEwOCwgMjY0LCAxMDksIDI2NCwgMTEwLCAyNjQsIDExMSwgMjY0LCAxMTIsIDI2NCwgMTEzLCAKKyAgICAyNjQsIDExNCwgMjY0LCAxMTUsIDI2NCwgMTE2LCAyNjQsIDExNywgMjY0LCAxMTgsIDI2NCwgMTE5LCAyNjQsIDEyMCwgCisgICAgMjY0LCAxMjEsIDI2NCwgMTIyLCAyNjQsIDEyMywgMjY0LCAxMjQsIDI2NCwgMTI1LCAyNjQsIDEyNiwgMjY0LCAxMDYyOSwgCisgICAgMjY0LCAxMDYzMCwgMjcyLCAxMjI5MCwgMjcyLCAxMjMwMCwgMjcyLCAxMjMwMSwgMjcyLCAxMjI4OSwgMjcyLCAxMjUzOSwgCisgICAgMjcyLCAxMjUzMCwgMjcyLCAxMjQ0OSwgMjcyLCAxMjQ1MSwgMjcyLCAxMjQ1MywgMjcyLCAxMjQ1NSwgMjcyLCAxMjQ1NywgCisgICAgMjcyLCAxMjUxNSwgMjcyLCAxMjUxNywgMjcyLCAxMjUxOSwgMjcyLCAxMjQ4MywgMjcyLCAxMjU0MCwgMjcyLCAxMjQ1MCwgCisgICAgMjcyLCAxMjQ1MiwgMjcyLCAxMjQ1NCwgMjcyLCAxMjQ1NiwgMjcyLCAxMjQ1OCwgMjcyLCAxMjQ1OSwgMjcyLCAxMjQ2MSwgCisgICAgMjcyLCAxMjQ2MywgMjcyLCAxMjQ2NSwgMjcyLCAxMjQ2NywgMjcyLCAxMjQ2OSwgMjcyLCAxMjQ3MSwgMjcyLCAxMjQ3MywgCisgICAgMjcyLCAxMjQ3NSwgMjcyLCAxMjQ3NywgMjcyLCAxMjQ3OSwgMjcyLCAxMjQ4MSwgMjcyLCAxMjQ4NCwgMjcyLCAxMjQ4NiwgCisgICAgMjcyLCAxMjQ4OCwgMjcyLCAxMjQ5MCwgMjcyLCAxMjQ5MSwgMjcyLCAxMjQ5MiwgMjcyLCAxMjQ5MywgMjcyLCAxMjQ5NCwgCisgICAgMjcyLCAxMjQ5NSwgMjcyLCAxMjQ5OCwgMjcyLCAxMjUwMSwgMjcyLCAxMjUwNCwgMjcyLCAxMjUwNywgMjcyLCAxMjUxMCwgCisgICAgMjcyLCAxMjUxMSwgMjcyLCAxMjUxMiwgMjcyLCAxMjUxMywgMjcyLCAxMjUxNCwgMjcyLCAxMjUxNiwgMjcyLCAxMjUxOCwgCisgICAgMjcyLCAxMjUyMCwgMjcyLCAxMjUyMSwgMjcyLCAxMjUyMiwgMjcyLCAxMjUyMywgMjcyLCAxMjUyNCwgMjcyLCAxMjUyNSwgCisgICAgMjcyLCAxMjUyNywgMjcyLCAxMjUzMSwgMjcyLCAxMjQ0MSwgMjcyLCAxMjQ0MiwgMjcyLCAxMjY0NCwgMjcyLCAxMjU5MywgCisgICAgMjcyLCAxMjU5NCwgMjcyLCAxMjU5NSwgMjcyLCAxMjU5NiwgMjcyLCAxMjU5NywgMjcyLCAxMjU5OCwgMjcyLCAxMjU5OSwgCisgICAgMjcyLCAxMjYwMCwgMjcyLCAxMjYwMSwgMjcyLCAxMjYwMiwgMjcyLCAxMjYwMywgMjcyLCAxMjYwNCwgMjcyLCAxMjYwNSwgCisgICAgMjcyLCAxMjYwNiwgMjcyLCAxMjYwNywgMjcyLCAxMjYwOCwgMjcyLCAxMjYwOSwgMjcyLCAxMjYxMCwgMjcyLCAxMjYxMSwgCisgICAgMjcyLCAxMjYxMiwgMjcyLCAxMjYxMywgMjcyLCAxMjYxNCwgMjcyLCAxMjYxNSwgMjcyLCAxMjYxNiwgMjcyLCAxMjYxNywgCisgICAgMjcyLCAxMjYxOCwgMjcyLCAxMjYxOSwgMjcyLCAxMjYyMCwgMjcyLCAxMjYyMSwgMjcyLCAxMjYyMiwgMjcyLCAxMjYyMywgCisgICAgMjcyLCAxMjYyNCwgMjcyLCAxMjYyNSwgMjcyLCAxMjYyNiwgMjcyLCAxMjYyNywgMjcyLCAxMjYyOCwgMjcyLCAxMjYyOSwgCisgICAgMjcyLCAxMjYzMCwgMjcyLCAxMjYzMSwgMjcyLCAxMjYzMiwgMjcyLCAxMjYzMywgMjcyLCAxMjYzNCwgMjcyLCAxMjYzNSwgCisgICAgMjcyLCAxMjYzNiwgMjcyLCAxMjYzNywgMjcyLCAxMjYzOCwgMjcyLCAxMjYzOSwgMjcyLCAxMjY0MCwgMjcyLCAxMjY0MSwgCisgICAgMjcyLCAxMjY0MiwgMjcyLCAxMjY0MywgMjY0LCAxNjIsIDI2NCwgMTYzLCAyNjQsIDE3MiwgMjY0LCAxNzUsIDI2NCwgMTY2LCAKKyAgICAyNjQsIDE2NSwgMjY0LCA4MzYxLCAyNzIsIDk0NzQsIDI3MiwgODU5MiwgMjcyLCA4NTkzLCAyNzIsIDg1OTQsIDI3MiwgCisgICAgODU5NSwgMjcyLCA5NjMyLCAyNzIsIDk2NzUsIDUxMiwgNjk3ODUsIDY5ODE4LCA1MTIsIDY5Nzg3LCA2OTgxOCwgNTEyLCAKKyAgICA2OTc5NywgNjk4MTgsIDUxMiwgNjk5MzcsIDY5OTI3LCA1MTIsIDY5OTM4LCA2OTkyNywgNTEyLCAxMTkxMjcsIDExOTE0MSwgCisgICAgNTEyLCAxMTkxMjgsIDExOTE0MSwgNTEyLCAxMTkxMzUsIDExOTE1MCwgNTEyLCAxMTkxMzUsIDExOTE1MSwgNTEyLCAKKyAgICAxMTkxMzUsIDExOTE1MiwgNTEyLCAxMTkxMzUsIDExOTE1MywgNTEyLCAxMTkxMzUsIDExOTE1NCwgNTEyLCAxMTkyMjUsIAorICAgIDExOTE0MSwgNTEyLCAxMTkyMjYsIDExOTE0MSwgNTEyLCAxMTkyMjcsIDExOTE1MCwgNTEyLCAxMTkyMjgsIDExOTE1MCwgCisgICAgNTEyLCAxMTkyMjcsIDExOTE1MSwgNTEyLCAxMTkyMjgsIDExOTE1MSwgMjYyLCA2NSwgMjYyLCA2NiwgMjYyLCA2NywgMjYyLCAKKyAgICA2OCwgMjYyLCA2OSwgMjYyLCA3MCwgMjYyLCA3MSwgMjYyLCA3MiwgMjYyLCA3MywgMjYyLCA3NCwgMjYyLCA3NSwgMjYyLCAKKyAgICA3NiwgMjYyLCA3NywgMjYyLCA3OCwgMjYyLCA3OSwgMjYyLCA4MCwgMjYyLCA4MSwgMjYyLCA4MiwgMjYyLCA4MywgMjYyLCAKKyAgICA4NCwgMjYyLCA4NSwgMjYyLCA4NiwgMjYyLCA4NywgMjYyLCA4OCwgMjYyLCA4OSwgMjYyLCA5MCwgMjYyLCA5NywgMjYyLCAKKyAgICA5OCwgMjYyLCA5OSwgMjYyLCAxMDAsIDI2MiwgMTAxLCAyNjIsIDEwMiwgMjYyLCAxMDMsIDI2MiwgMTA0LCAyNjIsIDEwNSwgCisgICAgMjYyLCAxMDYsIDI2MiwgMTA3LCAyNjIsIDEwOCwgMjYyLCAxMDksIDI2MiwgMTEwLCAyNjIsIDExMSwgMjYyLCAxMTIsIAorICAgIDI2MiwgMTEzLCAyNjIsIDExNCwgMjYyLCAxMTUsIDI2MiwgMTE2LCAyNjIsIDExNywgMjYyLCAxMTgsIDI2MiwgMTE5LCAKKyAgICAyNjIsIDEyMCwgMjYyLCAxMjEsIDI2MiwgMTIyLCAyNjIsIDY1LCAyNjIsIDY2LCAyNjIsIDY3LCAyNjIsIDY4LCAyNjIsIAorICAgIDY5LCAyNjIsIDcwLCAyNjIsIDcxLCAyNjIsIDcyLCAyNjIsIDczLCAyNjIsIDc0LCAyNjIsIDc1LCAyNjIsIDc2LCAyNjIsIAorICAgIDc3LCAyNjIsIDc4LCAyNjIsIDc5LCAyNjIsIDgwLCAyNjIsIDgxLCAyNjIsIDgyLCAyNjIsIDgzLCAyNjIsIDg0LCAyNjIsIAorICAgIDg1LCAyNjIsIDg2LCAyNjIsIDg3LCAyNjIsIDg4LCAyNjIsIDg5LCAyNjIsIDkwLCAyNjIsIDk3LCAyNjIsIDk4LCAyNjIsIAorICAgIDk5LCAyNjIsIDEwMCwgMjYyLCAxMDEsIDI2MiwgMTAyLCAyNjIsIDEwMywgMjYyLCAxMDUsIDI2MiwgMTA2LCAyNjIsIDEwNywgCiAgICAgMjYyLCAxMDgsIDI2MiwgMTA5LCAyNjIsIDExMCwgMjYyLCAxMTEsIDI2MiwgMTEyLCAyNjIsIDExMywgMjYyLCAxMTQsIAogICAgIDI2MiwgMTE1LCAyNjIsIDExNiwgMjYyLCAxMTcsIDI2MiwgMTE4LCAyNjIsIDExOSwgMjYyLCAxMjAsIDI2MiwgMTIxLCAKICAgICAyNjIsIDEyMiwgMjYyLCA2NSwgMjYyLCA2NiwgMjYyLCA2NywgMjYyLCA2OCwgMjYyLCA2OSwgMjYyLCA3MCwgMjYyLCA3MSwgCkBAIC0zNTEwLDIwICszNTc5LDQyIEBACiAgICAgNTIsIDI2MiwgNTMsIDI2MiwgNTQsIDI2MiwgNTUsIDI2MiwgNTYsIDI2MiwgNTcsIDI2MiwgNDgsIDI2MiwgNDksIDI2MiwgCiAgICAgNTAsIDI2MiwgNTEsIDI2MiwgNTIsIDI2MiwgNTMsIDI2MiwgNTQsIDI2MiwgNTUsIDI2MiwgNTYsIDI2MiwgNTcsIDI2MiwgCiAgICAgNDgsIDI2MiwgNDksIDI2MiwgNTAsIDI2MiwgNTEsIDI2MiwgNTIsIDI2MiwgNTMsIDI2MiwgNTQsIDI2MiwgNTUsIDI2MiwgCi0gICAgNTYsIDI2MiwgNTcsIDUxNCwgNDgsIDQ2LCA1MTQsIDQ4LCA0NCwgNTE0LCA0OSwgNDQsIDUxNCwgNTAsIDQ0LCA1MTQsIDUxLCAKLSAgICA0NCwgNTE0LCA1MiwgNDQsIDUxNCwgNTMsIDQ0LCA1MTQsIDU0LCA0NCwgNTE0LCA1NSwgNDQsIDUxNCwgNTYsIDQ0LCA1MTQsIAotICAgIDU3LCA0NCwgNzcwLCA0MCwgNjUsIDQxLCA3NzAsIDQwLCA2NiwgNDEsIDc3MCwgNDAsIDY3LCA0MSwgNzcwLCA0MCwgNjgsIAotICAgIDQxLCA3NzAsIDQwLCA2OSwgNDEsIDc3MCwgNDAsIDcwLCA0MSwgNzcwLCA0MCwgNzEsIDQxLCA3NzAsIDQwLCA3MiwgNDEsIAotICAgIDc3MCwgNDAsIDczLCA0MSwgNzcwLCA0MCwgNzQsIDQxLCA3NzAsIDQwLCA3NSwgNDEsIDc3MCwgNDAsIDc2LCA0MSwgNzcwLCAKLSAgICA0MCwgNzcsIDQxLCA3NzAsIDQwLCA3OCwgNDEsIDc3MCwgNDAsIDc5LCA0MSwgNzcwLCA0MCwgODAsIDQxLCA3NzAsIDQwLCAKLSAgICA4MSwgNDEsIDc3MCwgNDAsIDgyLCA0MSwgNzcwLCA0MCwgODMsIDQxLCA3NzAsIDQwLCA4NCwgNDEsIDc3MCwgNDAsIDg1LCAKLSAgICA0MSwgNzcwLCA0MCwgODYsIDQxLCA3NzAsIDQwLCA4NywgNDEsIDc3MCwgNDAsIDg4LCA0MSwgNzcwLCA0MCwgODksIDQxLCAKLSAgICA3NzAsIDQwLCA5MCwgNDEsIDc3MCwgMTIzMDgsIDgzLCAxMjMwOSwgMjYzLCA2NywgMjYzLCA4MiwgNTE5LCA2NywgNjgsIAotICAgIDUxOSwgODcsIDkwLCAyNjYsIDY1LCAyNjYsIDY2LCAyNjYsIDY3LCAyNjYsIDY4LCAyNjYsIDY5LCAyNjYsIDcwLCAyNjYsIAotICAgIDcxLCAyNjYsIDcyLCAyNjYsIDczLCAyNjYsIDc0LCAyNjYsIDc1LCAyNjYsIDc2LCAyNjYsIDc3LCAyNjYsIDc4LCAyNjYsIAotICAgIDc5LCAyNjYsIDgwLCAyNjYsIDgxLCAyNjYsIDgyLCAyNjYsIDgzLCAyNjYsIDg0LCAyNjYsIDg1LCAyNjYsIDg2LCAyNjYsIAotICAgIDg3LCAyNjYsIDg4LCAyNjYsIDg5LCAyNjYsIDkwLCA1MjIsIDcyLCA4NiwgNTIyLCA3NywgODYsIDUyMiwgODMsIDY4LCAKLSAgICA1MjIsIDgzLCA4MywgNzc4LCA4MCwgODAsIDg2LCA1MjIsIDg3LCA2NywgNTIyLCA2OCwgNzQsIDUyMiwgMTI0MTEsIAorICAgIDU2LCAyNjIsIDU3LCAyNjIsIDE1NzUsIDI2MiwgMTU3NiwgMjYyLCAxNTgwLCAyNjIsIDE1ODMsIDI2MiwgMTYwOCwgMjYyLCAKKyAgICAxNTg2LCAyNjIsIDE1ODEsIDI2MiwgMTU5MSwgMjYyLCAxNjEwLCAyNjIsIDE2MDMsIDI2MiwgMTYwNCwgMjYyLCAxNjA1LCAKKyAgICAyNjIsIDE2MDYsIDI2MiwgMTU4NywgMjYyLCAxNTkzLCAyNjIsIDE2MDEsIDI2MiwgMTU4OSwgMjYyLCAxNjAyLCAyNjIsIAorICAgIDE1ODUsIDI2MiwgMTU4OCwgMjYyLCAxNTc4LCAyNjIsIDE1NzksIDI2MiwgMTU4MiwgMjYyLCAxNTg0LCAyNjIsIDE1OTAsIAorICAgIDI2MiwgMTU5MiwgMjYyLCAxNTk0LCAyNjIsIDE2NDYsIDI2MiwgMTcyMiwgMjYyLCAxNjk3LCAyNjIsIDE2NDcsIDI2MiwgCisgICAgMTU3NiwgMjYyLCAxNTgwLCAyNjIsIDE2MDcsIDI2MiwgMTU4MSwgMjYyLCAxNjEwLCAyNjIsIDE2MDMsIDI2MiwgMTYwNCwgCisgICAgMjYyLCAxNjA1LCAyNjIsIDE2MDYsIDI2MiwgMTU4NywgMjYyLCAxNTkzLCAyNjIsIDE2MDEsIDI2MiwgMTU4OSwgMjYyLCAKKyAgICAxNjAyLCAyNjIsIDE1ODgsIDI2MiwgMTU3OCwgMjYyLCAxNTc5LCAyNjIsIDE1ODIsIDI2MiwgMTU5MCwgMjYyLCAxNTk0LCAKKyAgICAyNjIsIDE1ODAsIDI2MiwgMTU4MSwgMjYyLCAxNjEwLCAyNjIsIDE2MDQsIDI2MiwgMTYwNiwgMjYyLCAxNTg3LCAyNjIsIAorICAgIDE1OTMsIDI2MiwgMTU4OSwgMjYyLCAxNjAyLCAyNjIsIDE1ODgsIDI2MiwgMTU4MiwgMjYyLCAxNTkwLCAyNjIsIDE1OTQsIAorICAgIDI2MiwgMTcyMiwgMjYyLCAxNjQ3LCAyNjIsIDE1NzYsIDI2MiwgMTU4MCwgMjYyLCAxNjA3LCAyNjIsIDE1ODEsIDI2MiwgCisgICAgMTU5MSwgMjYyLCAxNjEwLCAyNjIsIDE2MDMsIDI2MiwgMTYwNSwgMjYyLCAxNjA2LCAyNjIsIDE1ODcsIDI2MiwgMTU5MywgCisgICAgMjYyLCAxNjAxLCAyNjIsIDE1ODksIDI2MiwgMTYwMiwgMjYyLCAxNTg4LCAyNjIsIDE1NzgsIDI2MiwgMTU3OSwgMjYyLCAKKyAgICAxNTgyLCAyNjIsIDE1OTAsIDI2MiwgMTU5MiwgMjYyLCAxNTk0LCAyNjIsIDE2NDYsIDI2MiwgMTY5NywgMjYyLCAxNTc1LCAKKyAgICAyNjIsIDE1NzYsIDI2MiwgMTU4MCwgMjYyLCAxNTgzLCAyNjIsIDE2MDcsIDI2MiwgMTYwOCwgMjYyLCAxNTg2LCAyNjIsIAorICAgIDE1ODEsIDI2MiwgMTU5MSwgMjYyLCAxNjEwLCAyNjIsIDE2MDQsIDI2MiwgMTYwNSwgMjYyLCAxNjA2LCAyNjIsIDE1ODcsIAorICAgIDI2MiwgMTU5MywgMjYyLCAxNjAxLCAyNjIsIDE1ODksIDI2MiwgMTYwMiwgMjYyLCAxNTg1LCAyNjIsIDE1ODgsIDI2MiwgCisgICAgMTU3OCwgMjYyLCAxNTc5LCAyNjIsIDE1ODIsIDI2MiwgMTU4NCwgMjYyLCAxNTkwLCAyNjIsIDE1OTIsIDI2MiwgMTU5NCwgCisgICAgMjYyLCAxNTc2LCAyNjIsIDE1ODAsIDI2MiwgMTU4MywgMjYyLCAxNjA4LCAyNjIsIDE1ODYsIDI2MiwgMTU4MSwgMjYyLCAKKyAgICAxNTkxLCAyNjIsIDE2MTAsIDI2MiwgMTYwNCwgMjYyLCAxNjA1LCAyNjIsIDE2MDYsIDI2MiwgMTU4NywgMjYyLCAxNTkzLCAKKyAgICAyNjIsIDE2MDEsIDI2MiwgMTU4OSwgMjYyLCAxNjAyLCAyNjIsIDE1ODUsIDI2MiwgMTU4OCwgMjYyLCAxNTc4LCAyNjIsIAorICAgIDE1NzksIDI2MiwgMTU4MiwgMjYyLCAxNTg0LCAyNjIsIDE1OTAsIDI2MiwgMTU5MiwgMjYyLCAxNTk0LCA1MTQsIDQ4LCA0NiwgCisgICAgNTE0LCA0OCwgNDQsIDUxNCwgNDksIDQ0LCA1MTQsIDUwLCA0NCwgNTE0LCA1MSwgNDQsIDUxNCwgNTIsIDQ0LCA1MTQsIDUzLCAKKyAgICA0NCwgNTE0LCA1NCwgNDQsIDUxNCwgNTUsIDQ0LCA1MTQsIDU2LCA0NCwgNTE0LCA1NywgNDQsIDc3MCwgNDAsIDY1LCA0MSwgCisgICAgNzcwLCA0MCwgNjYsIDQxLCA3NzAsIDQwLCA2NywgNDEsIDc3MCwgNDAsIDY4LCA0MSwgNzcwLCA0MCwgNjksIDQxLCA3NzAsIAorICAgIDQwLCA3MCwgNDEsIDc3MCwgNDAsIDcxLCA0MSwgNzcwLCA0MCwgNzIsIDQxLCA3NzAsIDQwLCA3MywgNDEsIDc3MCwgNDAsIAorICAgIDc0LCA0MSwgNzcwLCA0MCwgNzUsIDQxLCA3NzAsIDQwLCA3NiwgNDEsIDc3MCwgNDAsIDc3LCA0MSwgNzcwLCA0MCwgNzgsIAorICAgIDQxLCA3NzAsIDQwLCA3OSwgNDEsIDc3MCwgNDAsIDgwLCA0MSwgNzcwLCA0MCwgODEsIDQxLCA3NzAsIDQwLCA4MiwgNDEsIAorICAgIDc3MCwgNDAsIDgzLCA0MSwgNzcwLCA0MCwgODQsIDQxLCA3NzAsIDQwLCA4NSwgNDEsIDc3MCwgNDAsIDg2LCA0MSwgNzcwLCAKKyAgICA0MCwgODcsIDQxLCA3NzAsIDQwLCA4OCwgNDEsIDc3MCwgNDAsIDg5LCA0MSwgNzcwLCA0MCwgOTAsIDQxLCA3NzAsIAorICAgIDEyMzA4LCA4MywgMTIzMDksIDI2MywgNjcsIDI2MywgODIsIDUxOSwgNjcsIDY4LCA1MTksIDg3LCA5MCwgMjY2LCA2NSwgCisgICAgMjY2LCA2NiwgMjY2LCA2NywgMjY2LCA2OCwgMjY2LCA2OSwgMjY2LCA3MCwgMjY2LCA3MSwgMjY2LCA3MiwgMjY2LCA3MywgCisgICAgMjY2LCA3NCwgMjY2LCA3NSwgMjY2LCA3NiwgMjY2LCA3NywgMjY2LCA3OCwgMjY2LCA3OSwgMjY2LCA4MCwgMjY2LCA4MSwgCisgICAgMjY2LCA4MiwgMjY2LCA4MywgMjY2LCA4NCwgMjY2LCA4NSwgMjY2LCA4NiwgMjY2LCA4NywgMjY2LCA4OCwgMjY2LCA4OSwgCisgICAgMjY2LCA5MCwgNTIyLCA3MiwgODYsIDUyMiwgNzcsIDg2LCA1MjIsIDgzLCA2OCwgNTIyLCA4MywgODMsIDc3OCwgODAsIDgwLCAKKyAgICA4NiwgNTIyLCA4NywgNjcsIDUxNSwgNzcsIDY3LCA1MTUsIDc3LCA2OCwgNTIyLCA2OCwgNzQsIDUyMiwgMTI0MTEsIAogICAgIDEyMzYzLCA1MjIsIDEyNDY3LCAxMjQ2NywgMjY2LCAxMjQ2OSwgMjY2LCAyNTE2MywgMjY2LCAyMzM4MywgMjY2LCAyMTQ1MiwgCiAgICAgMjY2LCAxMjQ4NywgMjY2LCAyMDEwOCwgMjY2LCAyMjgxMCwgMjY2LCAzNTI5OSwgMjY2LCAyMjgyNSwgMjY2LCAyMDEzMiwgCiAgICAgMjY2LCAyNjE0NCwgMjY2LCAyODk2MSwgMjY2LCAyNjAwOSwgMjY2LCAyMTA2OSwgMjY2LCAyNDQ2MCwgMjY2LCAyMDg3NywgCkBAIC0zNjQzLDcgKzM3MzQsNyBAQAogICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAogICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAogICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDM1LCAzNiwgMzcsIDM4LCAzOSwgNDAsIAotICAgIDQxLCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA0MiwgNywgNywgNywgNywgNywgNywgCisgICAgNDEsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDQyLCA0MywgNywgNywgNywgNywgCiAgICAgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgCiAgICAgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgCiAgICAgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgCkBAIC0zNjUxLDkgKzM3NDIsOSBAQAogICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAogICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAogICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDQzLCA3LCA3LCA0NCwgNDUsIAotICAgIDQ2LCA0NywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgCi0gICAgNywgNywgNywgNDgsIDQ5LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKKyAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA0NCwgNywgNywgNDUsIAorICAgIDQ2LCA0NywgNDgsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAorICAgIDcsIDcsIDQ5LCA3LCA3LCA1MCwgNTEsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAogICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAogICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAogICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIApAQCAtMzY2NCw3ICszNzU1LDcgQEAKICAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKICAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKICAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA1MCwgNTEsIDUyLCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKKyAgICA3LCA3LCA3LCA3LCA3LCA1MiwgNTMsIDU0LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKICAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKICAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKICAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKQEAgLTM4MTMsNyArMzkwNCw3IEBACiAgICAgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgCiAgICAgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgCiAgICAgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgCi0gICAgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgCisgICAgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgCiB9OwogCiBzdGF0aWMgdW5zaWduZWQgc2hvcnQgZGVjb21wX2luZGV4MltdID0gewpAQCAtNDI4MiwzNTYgKzQzNzMsMTYzIEBACiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgNjY0OCwgNjY1MCwgMCwgMCwgMCwgMCwgMCwgMCwgNjY1MiwgNjY1NCwgNjY1NiwgNjY1OCwgNjY2MCwgNjY2MiwgNjY2NCwgCisgICAgNjY2NiwgNjY2OCwgNjY3MCwgNjY3MiwgNjY3NCwgNjY3NiwgNjY3OCwgNjY4MCwgNjY4MiwgNjY4NCwgNjY4NiwgNjY4OCwgCisgICAgNjY5MCwgNjY5MiwgNjY5NCwgNjY5NiwgNjY5OCwgNjcwMCwgNjcwMiwgNjcwNCwgNjcwNiwgNjcwOCwgNjcxMCwgNjcxMiwgCisgICAgNjcxNCwgNjcxNiwgNjcxOCwgNjcyMCwgNjcyMiwgNjcyNCwgNjcyNiwgNjcyOCwgNjczMCwgNjczMiwgNjczNCwgNjczNiwgCisgICAgNjczOCwgNjc0MCwgNjc0MiwgNjc0NCwgNjc0NiwgNjc0OCwgNjc1MCwgNjc1MiwgNjc1NCwgNjc1NiwgNjc1OCwgNjc2MCwgCisgICAgNjc2MiwgNjc2NCwgNjc2NiwgNjc2OCwgNjc3MCwgNjc3MiwgNjc3NCwgNjc3NiwgNjc3OCwgNjc4MCwgNjc4MiwgNjc4NCwgCisgICAgNjc4NiwgNjc4OCwgNjc5MCwgNjc5MiwgNjc5NCwgNjc5NiwgNjc5OCwgNjgwMCwgNjgwMiwgNjgwNCwgNjgwNiwgNjgwOCwgCisgICAgNjgxMCwgNjgxMiwgNjgxNCwgNjgxNiwgNjgxOCwgNjgyMCwgNjgyMiwgNjgyNCwgNjgyNiwgNjgyOCwgNjgzMCwgNjgzMiwgCisgICAgNjgzNCwgNjgzNiwgNjgzOCwgNjg0MCwgNjg0MiwgNjg0NCwgNjg0NiwgNjg0OCwgNjg1MCwgNjg1MiwgNjg1NCwgNjg1NiwgCisgICAgNjg1OCwgNjg2MCwgNjg2MiwgNjg2NCwgNjg2NiwgNjg2OCwgNjg3MCwgNjg3MiwgNjg3NCwgNjg3NiwgNjg3OCwgNjg4MCwgCisgICAgNjg4MiwgNjg4NCwgNjg4NiwgNjg4OCwgNjg5MCwgNjg5MiwgNjg5NCwgNjg5NiwgNjg5OCwgNjkwMCwgNjkwMiwgNjkwNCwgCisgICAgNjkwNiwgNjkwOCwgNjkxMCwgNjkxMiwgNjkxNCwgNjkxNiwgNjkxOCwgNjkyMCwgNjkyMiwgNjkyNCwgNjkyNiwgNjkyOCwgCisgICAgNjkzMCwgNjkzMiwgNjkzNCwgNjkzNiwgNjkzOCwgNjk0MCwgNjk0MiwgNjk0NCwgNjk0NiwgNjk0OCwgNjk1MCwgNjk1MiwgCisgICAgNjk1NCwgNjk1NiwgNjk1OCwgNjk2MCwgNjk2MiwgNjk2NCwgNjk2NiwgNjk2OCwgNjk3MCwgNjk3MiwgNjk3NCwgNjk3NiwgCisgICAgNjk3OCwgNjk4MCwgNjk4MiwgNjk4NCwgNjk4NiwgNjk4OCwgNjk5MCwgNjk5MiwgNjk5NCwgNjk5NiwgNjk5OCwgNzAwMCwgCisgICAgNzAwMiwgNzAwNCwgNzAwNiwgNzAwOCwgNzAxMCwgNzAxMiwgNzAxNCwgNzAxNiwgNzAxOCwgNzAyMCwgNzAyMiwgNzAyNCwgCisgICAgNzAyNiwgNzAyOCwgNzAzMCwgNzAzMiwgNzAzNCwgNzAzNiwgNzAzOCwgNzA0MCwgNzA0MiwgNzA0NCwgNzA0NiwgNzA0OCwgCisgICAgNzA1MCwgNzA1MiwgNzA1NCwgNzA1NiwgNzA1OCwgNzA2MCwgNzA2MiwgNzA2NCwgNzA2NiwgNzA2OCwgNzA3MCwgNzA3MiwgCisgICAgNzA3NCwgNzA3NiwgNzA3OCwgNzA4MCwgNzA4MiwgNzA4NCwgNzA4NiwgNzA4OCwgNzA5MCwgNzA5MiwgNzA5NCwgNzA5NiwgCisgICAgNzA5OCwgNzEwMCwgNzEwMiwgNzEwNCwgNzEwNiwgNzEwOCwgNzExMCwgNzExMiwgNzExNCwgNzExNiwgNzExOCwgNzEyMCwgCisgICAgNzEyMiwgNzEyNCwgNzEyNiwgNzEyOCwgNzEzMCwgNzEzMiwgNzEzNCwgNzEzNiwgNzEzOCwgNzE0MCwgNzE0MiwgNzE0NCwgCisgICAgNzE0NiwgNzE0OCwgNzE1MCwgNzE1MiwgNzE1NCwgNzE1NiwgNzE1OCwgNzE2MCwgNzE2MiwgNzE2NCwgNzE2NiwgNzE2OCwgCisgICAgNzE3MCwgNzE3MiwgNzE3NCwgNzE3NiwgNzE3OCwgNzE4MCwgNzE4MiwgNzE4NCwgNzE4NiwgNzE4OCwgNzE5MCwgMCwgMCwgCisgICAgNzE5MiwgMCwgNzE5NCwgMCwgMCwgNzE5NiwgNzE5OCwgNzIwMCwgNzIwMiwgNzIwNCwgNzIwNiwgNzIwOCwgNzIxMCwgCisgICAgNzIxMiwgNzIxNCwgMCwgNzIxNiwgMCwgNzIxOCwgMCwgMCwgNzIyMCwgNzIyMiwgMCwgMCwgMCwgNzIyNCwgNzIyNiwgCisgICAgNzIyOCwgNzIzMCwgNzIzMiwgNzIzNCwgNzIzNiwgNzIzOCwgNzI0MCwgNzI0MiwgNzI0NCwgNzI0NiwgNzI0OCwgNzI1MCwgCisgICAgNzI1MiwgNzI1NCwgNzI1NiwgNzI1OCwgNzI2MCwgNzI2MiwgNzI2NCwgNzI2NiwgNzI2OCwgNzI3MCwgNzI3MiwgNzI3NCwgCisgICAgNzI3NiwgNzI3OCwgNzI4MCwgNzI4MiwgNzI4NCwgNzI4NiwgNzI4OCwgNzI5MCwgNzI5MiwgNzI5NCwgNzI5NiwgNzI5OCwgCisgICAgNzMwMCwgNzMwMiwgNzMwNCwgNzMwNiwgNzMwOCwgNzMxMCwgNzMxMiwgNzMxNCwgNzMxNiwgNzMxOCwgNzMyMCwgNzMyMiwgCisgICAgNzMyNCwgNzMyNiwgNzMyOCwgNzMzMCwgNzMzMiwgNzMzNCwgNzMzNiwgNzMzOCwgNzM0MCwgNzM0MiwgNzM0NCwgNzM0NiwgCisgICAgNzM0OCwgNzM1MCwgNzM1MiwgNzM1NCwgNzM1NiwgNzM1OCwgMCwgMCwgNzM2MCwgNzM2MiwgNzM2NCwgNzM2NiwgNzM2OCwgCisgICAgNzM3MCwgNzM3MiwgNzM3NCwgNzM3NiwgNzM3OCwgNzM4MCwgNzM4MiwgNzM4NCwgNzM4NiwgNzM4OCwgNzM5MCwgNzM5MiwgCisgICAgNzM5NCwgNzM5NiwgNzM5OCwgNzQwMCwgNzQwMiwgNzQwNCwgNzQwNiwgNzQwOCwgNzQxMCwgNzQxMiwgNzQxNCwgNzQxNiwgCisgICAgNzQxOCwgNzQyMCwgNzQyMiwgNzQyNCwgNzQyNiwgNzQyOCwgNzQzMCwgNzQzMiwgNzQzNCwgNzQzNiwgNzQzOCwgNzQ0MCwgCisgICAgNzQ0MiwgNzQ0NCwgNzQ0NiwgNzQ0OCwgNzQ1MCwgNzQ1MiwgNzQ1NCwgNzQ1NiwgNzQ1OCwgNzQ2MCwgNzQ2MiwgNzQ2NCwgCisgICAgNzQ2NiwgNzQ2OCwgNzQ3MCwgNzQ3MiwgNzQ3NCwgNzQ3NiwgNzQ3OCwgNzQ4MCwgNzQ4MiwgNzQ4NCwgNzQ4NiwgNzQ4OCwgCisgICAgNzQ5MCwgNzQ5MiwgNzQ5NCwgNzQ5NiwgNzQ5OCwgNzUwMCwgNzUwMiwgNzUwNCwgNzUwNiwgNzUwOCwgNzUxMCwgNzUxMiwgCisgICAgNzUxNCwgNzUxNiwgNzUxOCwgNzUyMCwgNzUyMiwgNzUyNCwgNzUyNiwgNzUyOCwgNzUzMCwgNzUzMiwgNzUzNCwgNzUzNiwgCisgICAgNzUzOCwgNzU0MCwgNzU0MiwgNzU0NCwgNzU0NiwgNzU0OCwgNzU1MCwgNzU1MiwgNzU1NCwgNzU1NiwgNzU1OCwgNzU2MCwgCisgICAgNzU2MiwgNzU2NCwgNzU2NiwgNzU2OCwgNzU3MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjY0OCwgNjY1MCwgNjY1MiwgNjY1NCwgNjY1NiwgNjY1OCwgNjY2MCwgNjY2MiwgCi0gICAgNjY2NCwgNjY2NiwgNjY2OCwgNjY3MCwgNjY3MiwgNjY3NCwgNjY3NiwgNjY3OCwgNjY4MCwgNjY4MiwgNjY4NCwgNjY4NiwgCi0gICAgNjY4OCwgNjY5MCwgNjY5MiwgNjY5NCwgNjY5NiwgNjY5OCwgNjcwMCwgNjcwMiwgNjcwNCwgNjcwNiwgNjcwOCwgNjcxMCwgCi0gICAgNjcxMiwgNjcxNCwgNjcxNiwgNjcxOCwgNjcyMCwgNjcyMiwgNjcyNCwgNjcyNiwgNjcyOCwgNjczMCwgNjczMiwgNjczNCwgCi0gICAgNjczNiwgNjczOCwgNjc0MCwgNjc0MiwgNjc0NCwgNjc0NiwgNjc0OCwgNjc1MCwgNjc1MiwgNjc1NCwgNjc1NiwgNjc1OCwgCi0gICAgNjc2MCwgNjc2MiwgNjc2NCwgNjc2NiwgNjc2OCwgNjc3MCwgNjc3MiwgNjc3NCwgNjc3NiwgNjc3OCwgNjc4MCwgNjc4MiwgCi0gICAgNjc4NCwgNjc4NiwgNjc4OCwgNjc5MCwgNjc5MiwgNjc5NCwgNjc5NiwgNjc5OCwgNjgwMCwgNjgwMiwgNjgwNCwgNjgwNiwgCi0gICAgNjgwOCwgNjgxMCwgNjgxMiwgNjgxNCwgNjgxNiwgNjgxOCwgNjgyMCwgNjgyMiwgNjgyNCwgNjgyNiwgNjgyOCwgNjgzMCwgCi0gICAgNjgzMiwgNjgzNCwgNjgzNiwgNjgzOCwgNjg0MCwgNjg0MiwgNjg0NCwgNjg0NiwgNjg0OCwgNjg1MCwgNjg1MiwgNjg1NCwgCi0gICAgNjg1NiwgNjg1OCwgNjg2MCwgNjg2MiwgNjg2NCwgNjg2NiwgNjg2OCwgNjg3MCwgNjg3MiwgNjg3NCwgNjg3NiwgNjg3OCwgCi0gICAgNjg4MCwgNjg4MiwgNjg4NCwgNjg4NiwgNjg4OCwgNjg5MCwgNjg5MiwgNjg5NCwgNjg5NiwgNjg5OCwgNjkwMCwgNjkwMiwgCi0gICAgNjkwNCwgNjkwNiwgNjkwOCwgNjkxMCwgNjkxMiwgNjkxNCwgNjkxNiwgNjkxOCwgNjkyMCwgNjkyMiwgNjkyNCwgNjkyNiwgCi0gICAgNjkyOCwgNjkzMCwgNjkzMiwgNjkzNCwgNjkzNiwgNjkzOCwgNjk0MCwgNjk0MiwgNjk0NCwgNjk0NiwgNjk0OCwgNjk1MCwgCi0gICAgNjk1MiwgNjk1NCwgNjk1NiwgNjk1OCwgNjk2MCwgNjk2MiwgNjk2NCwgNjk2NiwgNjk2OCwgNjk3MCwgNjk3MiwgNjk3NCwgCi0gICAgNjk3NiwgNjk3OCwgNjk4MCwgNjk4MiwgNjk4NCwgNjk4NiwgNjk4OCwgNjk5MCwgNjk5MiwgNjk5NCwgNjk5NiwgNjk5OCwgCi0gICAgNzAwMCwgNzAwMiwgNzAwNCwgNzAwNiwgNzAwOCwgNzAxMCwgNzAxMiwgNzAxNCwgNzAxNiwgNzAxOCwgNzAyMCwgNzAyMiwgCi0gICAgNzAyNCwgNzAyNiwgNzAyOCwgNzAzMCwgNzAzMiwgNzAzNCwgNzAzNiwgNzAzOCwgNzA0MCwgNzA0MiwgNzA0NCwgNzA0NiwgCi0gICAgNzA0OCwgNzA1MCwgNzA1MiwgNzA1NCwgNzA1NiwgNzA1OCwgNzA2MCwgNzA2MiwgNzA2NCwgNzA2NiwgNzA2OCwgNzA3MCwgCi0gICAgNzA3MiwgNzA3NCwgNzA3NiwgNzA3OCwgNzA4MCwgNzA4MiwgNzA4NCwgNzA4NiwgNzA4OCwgNzA5MCwgNzA5MiwgNzA5NCwgCi0gICAgNzA5NiwgNzA5OCwgNzEwMCwgNzEwMiwgNzEwNCwgNzEwNiwgNzEwOCwgNzExMCwgNzExMiwgNzExNCwgNzExNiwgNzExOCwgCi0gICAgNzEyMCwgNzEyMiwgNzEyNCwgNzEyNiwgNzEyOCwgNzEzMCwgNzEzMiwgNzEzNCwgNzEzNiwgNzEzOCwgNzE0MCwgNzE0MiwgCi0gICAgNzE0NCwgNzE0NiwgNzE0OCwgNzE1MCwgNzE1MiwgNzE1NCwgNzE1NiwgNzE1OCwgNzE2MCwgNzE2MiwgNzE2NCwgNzE2NiwgCi0gICAgNzE2OCwgNzE3MCwgNzE3MiwgNzE3NCwgNzE3NiwgNzE3OCwgNzE4MCwgNzE4MiwgNzE4NCwgNzE4NiwgMCwgMCwgNzE4OCwgCi0gICAgMCwgNzE5MCwgMCwgMCwgNzE5MiwgNzE5NCwgNzE5NiwgNzE5OCwgNzIwMCwgNzIwMiwgNzIwNCwgNzIwNiwgNzIwOCwgCi0gICAgNzIxMCwgMCwgNzIxMiwgMCwgNzIxNCwgMCwgMCwgNzIxNiwgNzIxOCwgMCwgMCwgMCwgNzIyMCwgNzIyMiwgNzIyNCwgCi0gICAgNzIyNiwgMCwgMCwgNzIyOCwgNzIzMCwgNzIzMiwgNzIzNCwgNzIzNiwgNzIzOCwgNzI0MCwgNzI0MiwgNzI0NCwgNzI0NiwgCi0gICAgNzI0OCwgNzI1MCwgNzI1MiwgNzI1NCwgNzI1NiwgNzI1OCwgNzI2MCwgNzI2MiwgNzI2NCwgNzI2NiwgNzI2OCwgNzI3MCwgCi0gICAgNzI3MiwgNzI3NCwgNzI3NiwgNzI3OCwgNzI4MCwgNzI4MiwgNzI4NCwgNzI4NiwgNzI4OCwgNzI5MCwgNzI5MiwgNzI5NCwgCi0gICAgNzI5NiwgNzI5OCwgNzMwMCwgNzMwMiwgNzMwNCwgNzMwNiwgNzMwOCwgNzMxMCwgNzMxMiwgNzMxNCwgNzMxNiwgNzMxOCwgCi0gICAgNzMyMCwgNzMyMiwgNzMyNCwgNzMyNiwgNzMyOCwgNzMzMCwgNzMzMiwgNzMzNCwgNzMzNiwgNzMzOCwgNzM0MCwgNzM0MiwgCi0gICAgNzM0NCwgNzM0NiwgNzM0OCwgNzM1MCwgMCwgMCwgNzM1MiwgNzM1NCwgNzM1NiwgNzM1OCwgNzM2MCwgNzM2MiwgNzM2NCwgCi0gICAgNzM2NiwgNzM2OCwgNzM3MCwgNzM3MiwgNzM3NCwgNzM3NiwgNzM3OCwgNzM4MCwgNzM4MiwgNzM4NCwgNzM4NiwgNzM4OCwgCi0gICAgNzM5MCwgNzM5MiwgNzM5NCwgNzM5NiwgNzM5OCwgNzQwMCwgNzQwMiwgNzQwNCwgNzQwNiwgNzQwOCwgNzQxMCwgNzQxMiwgCi0gICAgNzQxNCwgNzQxNiwgNzQxOCwgNzQyMCwgNzQyMiwgNzQyNCwgNzQyNiwgNzQyOCwgNzQzMCwgNzQzMiwgNzQzNCwgNzQzNiwgCi0gICAgNzQzOCwgNzQ0MCwgNzQ0MiwgNzQ0NCwgNzQ0NiwgNzQ0OCwgNzQ1MCwgNzQ1MiwgNzQ1NCwgNzQ1NiwgNzQ1OCwgNzQ2MCwgCi0gICAgNzQ2MiwgNzQ2NCwgNzQ2NiwgNzQ2OCwgNzQ3MCwgNzQ3MiwgNzQ3NCwgNzQ3NiwgNzQ3OCwgNzQ4MCwgNzQ4MiwgNzQ4NCwgCi0gICAgNzQ4NiwgNzQ4OCwgNzQ5MCwgNzQ5MiwgNzQ5NCwgNzQ5NiwgNzQ5OCwgNzUwMCwgNzUwMiwgNzUwNCwgNzUwNiwgNzUwOCwgCi0gICAgNzUxMCwgNzUxMiwgNzUxNCwgNzUxNiwgNzUxOCwgNzUyMCwgNzUyMiwgNzUyNCwgNzUyNiwgNzUyOCwgNzUzMCwgNzUzMiwgCi0gICAgNzUzNCwgNzUzNiwgNzUzOCwgNzU0MCwgNzU0MiwgNzU0NCwgNzU0NiwgNzU0OCwgNzU1MCwgNzU1MiwgNzU1NCwgNzU1NiwgCi0gICAgNzU1OCwgNzU2MCwgNzU2MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNzU2NCwgNzU2NywgCi0gICAgNzU3MCwgNzU3MywgNzU3NywgNzU4MSwgNzU4NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNzU4NywgCi0gICAgNzU5MCwgNzU5MywgNzU5NiwgNzU5OSwgMCwgMCwgMCwgMCwgMCwgNzYwMiwgMCwgNzYwNSwgNzYwOCwgNzYxMCwgNzYxMiwgCi0gICAgNzYxNCwgNzYxNiwgNzYxOCwgNzYyMCwgNzYyMiwgNzYyNCwgNzYyNiwgNzYyOCwgNzYzMSwgNzYzNCwgNzYzNywgNzY0MCwgCi0gICAgNzY0MywgNzY0NiwgNzY0OSwgNzY1MiwgNzY1NSwgNzY1OCwgNzY2MSwgNzY2NCwgMCwgNzY2NywgNzY3MCwgNzY3MywgCi0gICAgNzY3NiwgNzY3OSwgMCwgNzY4MiwgMCwgNzY4NSwgNzY4OCwgMCwgNzY5MSwgNzY5NCwgMCwgNzY5NywgNzcwMCwgNzcwMywgCi0gICAgNzcwNiwgNzcwOSwgNzcxMiwgNzcxNSwgNzcxOCwgNzcyMSwgNzcyNCwgNzcyNywgNzcyOSwgNzczMSwgNzczMywgNzczNSwgCi0gICAgNzczNywgNzczOSwgNzc0MSwgNzc0MywgNzc0NSwgNzc0NywgNzc0OSwgNzc1MSwgNzc1MywgNzc1NSwgNzc1NywgNzc1OSwgCi0gICAgNzc2MSwgNzc2MywgNzc2NSwgNzc2NywgNzc2OSwgNzc3MSwgNzc3MywgNzc3NSwgNzc3NywgNzc3OSwgNzc4MSwgNzc4MywgCi0gICAgNzc4NSwgNzc4NywgNzc4OSwgNzc5MSwgNzc5MywgNzc5NSwgNzc5NywgNzc5OSwgNzgwMSwgNzgwMywgNzgwNSwgNzgwNywgCi0gICAgNzgwOSwgNzgxMSwgNzgxMywgNzgxNSwgNzgxNywgNzgxOSwgNzgyMSwgNzgyMywgNzgyNSwgNzgyNywgNzgyOSwgNzgzMSwgCi0gICAgNzgzMywgNzgzNSwgNzgzNywgNzgzOSwgNzg0MSwgNzg0MywgNzg0NSwgNzg0NywgNzg0OSwgNzg1MSwgNzg1MywgNzg1NSwgCi0gICAgNzg1NywgNzg1OSwgNzg2MSwgNzg2MywgNzg2NSwgNzg2NywgNzg2OSwgNzg3MSwgNzg3MywgNzg3NSwgNzg3NywgNzg3OSwgCi0gICAgNzg4MSwgNzg4MywgNzg4NSwgNzg4NywgNzg4OSwgNzg5MSwgNzg5MywgNzg5NSwgNzg5NywgNzg5OSwgNzkwMSwgNzkwMywgCi0gICAgNzkwNSwgNzkwNywgNzkwOSwgNzkxMSwgNzkxMywgNzkxNSwgNzkxNywgNzkxOSwgNzkyMSwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgNzU3MiwgNzU3NSwgNzU3OCwgNzU4MSwgNzU4NSwgNzU4OSwgNzU5MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgNzU5NSwgNzU5OCwgNzYwMSwgNzYwNCwgNzYwNywgMCwgMCwgMCwgMCwgMCwgNzYxMCwgMCwgNzYxMywgNzYxNiwgCisgICAgNzYxOCwgNzYyMCwgNzYyMiwgNzYyNCwgNzYyNiwgNzYyOCwgNzYzMCwgNzYzMiwgNzYzNCwgNzYzNiwgNzYzOSwgNzY0MiwgCisgICAgNzY0NSwgNzY0OCwgNzY1MSwgNzY1NCwgNzY1NywgNzY2MCwgNzY2MywgNzY2NiwgNzY2OSwgNzY3MiwgMCwgNzY3NSwgCisgICAgNzY3OCwgNzY4MSwgNzY4NCwgNzY4NywgMCwgNzY5MCwgMCwgNzY5MywgNzY5NiwgMCwgNzY5OSwgNzcwMiwgMCwgNzcwNSwgCisgICAgNzcwOCwgNzcxMSwgNzcxNCwgNzcxNywgNzcyMCwgNzcyMywgNzcyNiwgNzcyOSwgNzczMiwgNzczNSwgNzczNywgNzczOSwgCisgICAgNzc0MSwgNzc0MywgNzc0NSwgNzc0NywgNzc0OSwgNzc1MSwgNzc1MywgNzc1NSwgNzc1NywgNzc1OSwgNzc2MSwgNzc2MywgCisgICAgNzc2NSwgNzc2NywgNzc2OSwgNzc3MSwgNzc3MywgNzc3NSwgNzc3NywgNzc3OSwgNzc4MSwgNzc4MywgNzc4NSwgNzc4NywgCisgICAgNzc4OSwgNzc5MSwgNzc5MywgNzc5NSwgNzc5NywgNzc5OSwgNzgwMSwgNzgwMywgNzgwNSwgNzgwNywgNzgwOSwgNzgxMSwgCisgICAgNzgxMywgNzgxNSwgNzgxNywgNzgxOSwgNzgyMSwgNzgyMywgNzgyNSwgNzgyNywgNzgyOSwgNzgzMSwgNzgzMywgNzgzNSwgCisgICAgNzgzNywgNzgzOSwgNzg0MSwgNzg0MywgNzg0NSwgNzg0NywgNzg0OSwgNzg1MSwgNzg1MywgNzg1NSwgNzg1NywgNzg1OSwgCisgICAgNzg2MSwgNzg2MywgNzg2NSwgNzg2NywgNzg2OSwgNzg3MSwgNzg3MywgNzg3NSwgNzg3NywgNzg3OSwgNzg4MSwgNzg4MywgCisgICAgNzg4NSwgNzg4NywgNzg4OSwgNzg5MSwgNzg5MywgNzg5NSwgNzg5NywgNzg5OSwgNzkwMSwgNzkwMywgNzkwNSwgNzkwNywgCisgICAgNzkwOSwgNzkxMSwgNzkxMywgNzkxNSwgNzkxNywgNzkxOSwgNzkyMSwgNzkyMywgNzkyNSwgNzkyNywgNzkyOSwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgNzkyMywgNzkyNSwgNzkyNywgNzkyOSwgNzkzMSwgNzkzMywgNzkzNSwgNzkzNywgNzkzOSwgNzk0MSwgCi0gICAgNzk0MywgNzk0NSwgNzk0NywgNzk0OSwgNzk1MSwgNzk1MywgNzk1NSwgNzk1NywgNzk1OSwgNzk2MSwgNzk2MywgNzk2NSwgCi0gICAgNzk2NywgNzk2OSwgNzk3MiwgNzk3NSwgNzk3OCwgNzk4MSwgNzk4NCwgNzk4NywgNzk5MCwgNzk5MywgNzk5NiwgNzk5OSwgCi0gICAgODAwMiwgODAwNSwgODAwOCwgODAxMSwgODAxNCwgODAxNywgODAyMCwgODAyMywgODAyNSwgODAyNywgODAyOSwgODAzMSwgCi0gICAgODAzNCwgODAzNywgODA0MCwgODA0MywgODA0NiwgODA0OSwgODA1MiwgODA1NSwgODA1OCwgODA2MSwgODA2NCwgODA2NywgCi0gICAgODA3MCwgODA3MywgODA3NiwgODA3OSwgODA4MiwgODA4NSwgODA4OCwgODA5MSwgODA5NCwgODA5NywgODEwMCwgODEwMywgCi0gICAgODEwNiwgODEwOSwgODExMiwgODExNSwgODExOCwgODEyMSwgODEyNCwgODEyNywgODEzMCwgODEzMywgODEzNiwgODEzOSwgCi0gICAgODE0MiwgODE0NSwgODE0OCwgODE1MSwgODE1NCwgODE1NywgODE2MCwgODE2MywgODE2NiwgODE2OSwgODE3MiwgODE3NSwgCi0gICAgODE3OCwgODE4MSwgODE4NCwgODE4NywgODE5MCwgODE5MywgODE5NiwgODE5OSwgODIwMiwgODIwNSwgODIwOCwgODIxMSwgCi0gICAgODIxNCwgODIxNywgODIyMCwgODIyMywgODIyNiwgODIyOSwgODIzMiwgODIzNSwgODIzOCwgODI0MSwgODI0NCwgODI0NywgCi0gICAgODI1MCwgODI1MywgODI1NiwgODI1OSwgODI2MiwgODI2NSwgODI2OCwgODI3MSwgODI3NCwgODI3NywgODI4MCwgODI4MywgCi0gICAgODI4NiwgODI4OSwgODI5MiwgODI5NSwgODI5OCwgODMwMSwgODMwNCwgODMwNywgODMxMCwgODMxMywgODMxNywgODMyMSwgCi0gICAgODMyNSwgODMyOSwgODMzMywgODMzNywgODM0MCwgODM0MywgODM0NiwgODM0OSwgODM1MiwgODM1NSwgODM1OCwgODM2MSwgCi0gICAgODM2NCwgODM2NywgODM3MCwgODM3MywgODM3NiwgODM3OSwgODM4MiwgODM4NSwgODM4OCwgODM5MSwgODM5NCwgODM5NywgCi0gICAgODQwMCwgODQwMywgODQwNiwgODQwOSwgODQxMiwgODQxNSwgODQxOCwgODQyMSwgODQyNCwgODQyNywgODQzMCwgODQzMywgCi0gICAgODQzNiwgODQzOSwgODQ0MiwgODQ0NSwgODQ0OCwgODQ1MSwgODQ1NCwgODQ1NywgODQ2MCwgODQ2MywgODQ2NiwgODQ2OSwgCi0gICAgODQ3MiwgODQ3NSwgODQ3OCwgODQ4MSwgODQ4NCwgODQ4NywgODQ5MCwgODQ5MywgODQ5NiwgODQ5OSwgODUwMiwgODUwNSwgCi0gICAgODUwOCwgODUxMSwgODUxNCwgODUxNywgODUyMCwgODUyMywgODUyNiwgODUyOSwgODUzMiwgODUzNSwgODUzOCwgODU0MSwgCi0gICAgODU0NCwgODU0NywgODU1MCwgODU1MywgODU1NiwgODU1OSwgODU2MiwgODU2NSwgODU2OCwgODU3MSwgODU3NCwgODU3NywgCi0gICAgODU4MCwgODU4MywgODU4NiwgODU4OSwgODU5MiwgODU5NSwgODU5OCwgODYwMSwgODYwNCwgODYwNywgODYxMCwgODYxMywgCi0gICAgODYxNiwgODYxOSwgODYyMiwgODYyNSwgODYyOCwgODYzMSwgODYzNCwgODYzNywgODY0MCwgODY0MywgODY0NiwgODY0OSwgCi0gICAgODY1MiwgODY1NSwgODY1OCwgODY2MSwgODY2NCwgODY2NywgODY3MCwgODY3MywgODY3NiwgODY3OSwgODY4MiwgODY4NSwgCi0gICAgODY4OCwgODY5MSwgODY5NCwgODY5NywgODcwMCwgODcwMywgODcwNiwgODcwOSwgODcxMiwgODcxNSwgODcxOCwgODcyMSwgCi0gICAgODcyNCwgODcyNywgODczMCwgODczMywgODczNiwgODczOSwgODc0MiwgODc0NSwgODc0OCwgODc1MSwgODc1NCwgODc1NywgCi0gICAgODc2MCwgODc2MywgODc2NywgODc3MSwgODc3NSwgODc3OCwgODc4MSwgODc4NCwgODc4NywgODc5MCwgODc5MywgODc5NiwgCi0gICAgODc5OSwgODgwMiwgODgwNSwgODgwOCwgODgxMSwgODgxNCwgODgxNywgODgyMCwgODgyMywgODgyNiwgODgyOSwgODgzMiwgCi0gICAgODgzNSwgODgzOCwgODg0MSwgODg0NCwgODg0NywgODg1MCwgODg1MywgODg1NiwgODg1OSwgODg2MiwgODg2NSwgODg2OCwgCi0gICAgODg3MSwgODg3NCwgODg3NywgODg4MCwgODg4MywgODg4NiwgODg4OSwgODg5MiwgODg5NSwgODg5OCwgODkwMSwgODkwNCwgCi0gICAgODkwNywgODkxMCwgODkxMywgODkxNiwgODkxOSwgODkyMiwgODkyNSwgODkyOCwgODkzMSwgODkzNCwgODkzNywgODk0MCwgCi0gICAgODk0MywgODk0NiwgODk0OSwgODk1MiwgODk1NSwgODk1OCwgODk2MSwgODk2NCwgODk2NywgODk3MCwgODk3MywgODk3NiwgCi0gICAgODk3OSwgODk4MiwgODk4NSwgODk4OCwgODk5MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgODk5NCwgODk5OCwgOTAwMiwgOTAwNiwgOTAxMCwgOTAxNCwgOTAxOCwgOTAyMiwgOTAyNiwgOTAzMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNzkzMSwgNzkzMywgNzkzNSwgNzkzNywgNzkzOSwgNzk0MSwgNzk0MywgNzk0NSwgCisgICAgNzk0NywgNzk0OSwgNzk1MSwgNzk1MywgNzk1NSwgNzk1NywgNzk1OSwgNzk2MSwgNzk2MywgNzk2NSwgNzk2NywgNzk2OSwgCisgICAgNzk3MSwgNzk3MywgNzk3NSwgNzk3NywgNzk4MCwgNzk4MywgNzk4NiwgNzk4OSwgNzk5MiwgNzk5NSwgNzk5OCwgODAwMSwgCisgICAgODAwNCwgODAwNywgODAxMCwgODAxMywgODAxNiwgODAxOSwgODAyMiwgODAyNSwgODAyOCwgODAzMSwgODAzMywgODAzNSwgCisgICAgODAzNywgODAzOSwgODA0MiwgODA0NSwgODA0OCwgODA1MSwgODA1NCwgODA1NywgODA2MCwgODA2MywgODA2NiwgODA2OSwgCisgICAgODA3MiwgODA3NSwgODA3OCwgODA4MSwgODA4NCwgODA4NywgODA5MCwgODA5MywgODA5NiwgODA5OSwgODEwMiwgODEwNSwgCisgICAgODEwOCwgODExMSwgODExNCwgODExNywgODEyMCwgODEyMywgODEyNiwgODEyOSwgODEzMiwgODEzNSwgODEzOCwgODE0MSwgCisgICAgODE0NCwgODE0NywgODE1MCwgODE1MywgODE1NiwgODE1OSwgODE2MiwgODE2NSwgODE2OCwgODE3MSwgODE3NCwgODE3NywgCisgICAgODE4MCwgODE4MywgODE4NiwgODE4OSwgODE5MiwgODE5NSwgODE5OCwgODIwMSwgODIwNCwgODIwNywgODIxMCwgODIxMywgCisgICAgODIxNiwgODIxOSwgODIyMiwgODIyNSwgODIyOCwgODIzMSwgODIzNCwgODIzNywgODI0MCwgODI0MywgODI0NiwgODI0OSwgCisgICAgODI1MiwgODI1NSwgODI1OCwgODI2MSwgODI2NCwgODI2NywgODI3MCwgODI3MywgODI3NiwgODI3OSwgODI4MiwgODI4NSwgCisgICAgODI4OCwgODI5MSwgODI5NCwgODI5NywgODMwMCwgODMwMywgODMwNiwgODMwOSwgODMxMiwgODMxNSwgODMxOCwgODMyMSwgCisgICAgODMyNSwgODMyOSwgODMzMywgODMzNywgODM0MSwgODM0NSwgODM0OCwgODM1MSwgODM1NCwgODM1NywgODM2MCwgODM2MywgCisgICAgODM2NiwgODM2OSwgODM3MiwgODM3NSwgODM3OCwgODM4MSwgODM4NCwgODM4NywgODM5MCwgODM5MywgODM5NiwgODM5OSwgCisgICAgODQwMiwgODQwNSwgODQwOCwgODQxMSwgODQxNCwgODQxNywgODQyMCwgODQyMywgODQyNiwgODQyOSwgODQzMiwgODQzNSwgCisgICAgODQzOCwgODQ0MSwgODQ0NCwgODQ0NywgODQ1MCwgODQ1MywgODQ1NiwgODQ1OSwgODQ2MiwgODQ2NSwgODQ2OCwgODQ3MSwgCisgICAgODQ3NCwgODQ3NywgODQ4MCwgODQ4MywgODQ4NiwgODQ4OSwgODQ5MiwgODQ5NSwgODQ5OCwgODUwMSwgODUwNCwgODUwNywgCisgICAgODUxMCwgODUxMywgODUxNiwgODUxOSwgODUyMiwgODUyNSwgODUyOCwgODUzMSwgODUzNCwgODUzNywgODU0MCwgODU0MywgCisgICAgODU0NiwgODU0OSwgODU1MiwgODU1NSwgODU1OCwgODU2MSwgODU2NCwgODU2NywgODU3MCwgODU3MywgODU3NiwgODU3OSwgCisgICAgODU4MiwgODU4NSwgODU4OCwgODU5MSwgODU5NCwgODU5NywgODYwMCwgODYwMywgODYwNiwgODYwOSwgODYxMiwgODYxNSwgCisgICAgODYxOCwgODYyMSwgODYyNCwgODYyNywgODYzMCwgODYzMywgODYzNiwgODYzOSwgODY0MiwgODY0NSwgODY0OCwgODY1MSwgCisgICAgODY1NCwgODY1NywgODY2MCwgODY2MywgODY2NiwgODY2OSwgODY3MiwgODY3NSwgODY3OCwgODY4MSwgODY4NCwgODY4NywgCisgICAgODY5MCwgODY5MywgODY5NiwgODY5OSwgODcwMiwgODcwNSwgODcwOCwgODcxMSwgODcxNCwgODcxNywgODcyMCwgODcyMywgCisgICAgODcyNiwgODcyOSwgODczMiwgODczNSwgODczOCwgODc0MSwgODc0NCwgODc0NywgODc1MCwgODc1MywgODc1NiwgODc1OSwgCisgICAgODc2MiwgODc2NSwgODc2OCwgODc3MSwgODc3NSwgODc3OSwgODc4MywgODc4NiwgODc4OSwgODc5MiwgODc5NSwgODc5OCwgCisgICAgODgwMSwgODgwNCwgODgwNywgODgxMCwgODgxMywgODgxNiwgODgxOSwgODgyMiwgODgyNSwgODgyOCwgODgzMSwgODgzNCwgCisgICAgODgzNywgODg0MCwgODg0MywgODg0NiwgODg0OSwgODg1MiwgODg1NSwgODg1OCwgODg2MSwgODg2NCwgODg2NywgODg3MCwgCisgICAgODg3MywgODg3NiwgODg3OSwgODg4MiwgODg4NSwgODg4OCwgODg5MSwgODg5NCwgODg5NywgODkwMCwgODkwMywgODkwNiwgCisgICAgODkwOSwgODkxMiwgODkxNSwgODkxOCwgODkyMSwgODkyNCwgODkyNywgODkzMCwgODkzMywgODkzNiwgODkzOSwgODk0MiwgCisgICAgODk0NSwgODk0OCwgODk1MSwgODk1NCwgODk1NywgODk2MCwgODk2MywgODk2NiwgODk2OSwgODk3MiwgODk3NSwgODk3OCwgCisgICAgODk4MSwgODk4NCwgODk4NywgODk5MCwgODk5MywgODk5NiwgODk5OSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOTAwMiwgOTAwNiwgOTAxMCwgOTAxNCwgOTAxOCwgOTAyMiwgOTAyNiwgOTAzMCwgCiAgICAgOTAzNCwgOTAzOCwgOTA0MiwgOTA0NiwgOTA1MCwgOTA1NCwgOTA1OCwgOTA2MiwgOTA2NiwgOTA3MCwgOTA3NCwgOTA3OCwgCiAgICAgOTA4MiwgOTA4NiwgOTA5MCwgOTA5NCwgOTA5OCwgOTEwMiwgOTEwNiwgOTExMCwgOTExNCwgOTExOCwgOTEyMiwgOTEyNiwgCiAgICAgOTEzMCwgOTEzNCwgOTEzOCwgOTE0MiwgOTE0NiwgOTE1MCwgOTE1NCwgOTE1OCwgOTE2MiwgOTE2NiwgOTE3MCwgOTE3NCwgCiAgICAgOTE3OCwgOTE4MiwgOTE4NiwgOTE5MCwgOTE5NCwgOTE5OCwgOTIwMiwgOTIwNiwgOTIxMCwgOTIxNCwgOTIxOCwgOTIyMiwgCi0gICAgOTIyNiwgOTIzMCwgOTIzNCwgOTIzOCwgOTI0MiwgOTI0NiwgMCwgMCwgOTI1MCwgOTI1NCwgOTI1OCwgOTI2MiwgOTI2NiwgCisgICAgOTIyNiwgOTIzMCwgOTIzNCwgOTIzOCwgOTI0MiwgOTI0NiwgOTI1MCwgOTI1NCwgMCwgMCwgOTI1OCwgOTI2MiwgOTI2NiwgCiAgICAgOTI3MCwgOTI3NCwgOTI3OCwgOTI4MiwgOTI4NiwgOTI5MCwgOTI5NCwgOTI5OCwgOTMwMiwgOTMwNiwgOTMxMCwgOTMxNCwgCiAgICAgOTMxOCwgOTMyMiwgOTMyNiwgOTMzMCwgOTMzNCwgOTMzOCwgOTM0MiwgOTM0NiwgOTM1MCwgOTM1NCwgOTM1OCwgOTM2MiwgCiAgICAgOTM2NiwgOTM3MCwgOTM3NCwgOTM3OCwgOTM4MiwgOTM4NiwgOTM5MCwgOTM5NCwgOTM5OCwgOTQwMiwgOTQwNiwgOTQxMCwgCiAgICAgOTQxNCwgOTQxOCwgOTQyMiwgOTQyNiwgOTQzMCwgOTQzNCwgOTQzOCwgOTQ0MiwgOTQ0NiwgOTQ1MCwgOTQ1NCwgOTQ1OCwgCi0gICAgOTQ2MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOTQ2NiwgOTQ3MCwgOTQ3NCwgCi0gICAgOTQ3OSwgOTQ4NCwgOTQ4OSwgOTQ5NCwgOTQ5OSwgOTUwNCwgOTUwOSwgOTUxMywgOTUzMiwgOTU0MSwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOTU0NiwgOTU0OCwgOTU1MCwgOTU1MiwgCi0gICAgOTU1NCwgOTU1NiwgOTU1OCwgOTU2MCwgOTU2MiwgOTU2NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOTU2NiwgOTU2OCwgOTU3MCwgOTU3MiwgOTU3NCwgOTU3NiwgOTU3OCwgCi0gICAgOTU4MCwgOTU4MiwgOTU4NCwgOTU4NiwgOTU4OCwgOTU5MCwgOTU5MiwgOTU5NCwgOTU5NiwgOTU5OCwgOTYwMCwgOTYwMiwgCi0gICAgOTYwNCwgOTYwNiwgMCwgMCwgOTYwOCwgOTYxMCwgOTYxMiwgOTYxNCwgOTYxNiwgOTYxOCwgOTYyMCwgOTYyMiwgOTYyNCwgCi0gICAgOTYyNiwgOTYyOCwgOTYzMCwgMCwgOTYzMiwgOTYzNCwgOTYzNiwgOTYzOCwgOTY0MCwgOTY0MiwgOTY0NCwgOTY0NiwgCi0gICAgOTY0OCwgOTY1MCwgOTY1MiwgOTY1NCwgOTY1NiwgOTY1OCwgOTY2MCwgOTY2MiwgOTY2NCwgOTY2NiwgOTY2OCwgMCwgCi0gICAgOTY3MCwgOTY3MiwgOTY3NCwgOTY3NiwgMCwgMCwgMCwgMCwgOTY3OCwgOTY4MSwgOTY4NCwgMCwgOTY4NywgMCwgOTY5MCwgCi0gICAgOTY5MywgOTY5NiwgOTY5OSwgOTcwMiwgOTcwNSwgOTcwOCwgOTcxMSwgOTcxNCwgOTcxNywgOTcyMCwgOTcyMiwgOTcyNCwgCi0gICAgOTcyNiwgOTcyOCwgOTczMCwgOTczMiwgOTczNCwgOTczNiwgOTczOCwgOTc0MCwgOTc0MiwgOTc0NCwgOTc0NiwgOTc0OCwgCi0gICAgOTc1MCwgOTc1MiwgOTc1NCwgOTc1NiwgOTc1OCwgOTc2MCwgOTc2MiwgOTc2NCwgOTc2NiwgOTc2OCwgOTc3MCwgOTc3MiwgCi0gICAgOTc3NCwgOTc3NiwgOTc3OCwgOTc4MCwgOTc4MiwgOTc4NCwgOTc4NiwgOTc4OCwgOTc5MCwgOTc5MiwgOTc5NCwgOTc5NiwgCi0gICAgOTc5OCwgOTgwMCwgOTgwMiwgOTgwNCwgOTgwNiwgOTgwOCwgOTgxMCwgOTgxMiwgOTgxNCwgOTgxNiwgOTgxOCwgOTgyMCwgCi0gICAgOTgyMiwgOTgyNCwgOTgyNiwgOTgyOCwgOTgzMCwgOTgzMiwgOTgzNCwgOTgzNiwgOTgzOCwgOTg0MCwgOTg0MiwgOTg0NCwgCi0gICAgOTg0NiwgOTg0OCwgOTg1MCwgOTg1MiwgOTg1NCwgOTg1NiwgOTg1OCwgOTg2MCwgOTg2MiwgOTg2NCwgOTg2NiwgOTg2OCwgCi0gICAgOTg3MCwgOTg3MiwgOTg3NCwgOTg3NiwgOTg3OCwgOTg4MCwgOTg4MiwgOTg4NCwgOTg4NiwgOTg4OCwgOTg5MCwgOTg5MiwgCi0gICAgOTg5NCwgOTg5NiwgOTg5OCwgOTkwMCwgOTkwMiwgOTkwNCwgOTkwNiwgOTkwOCwgOTkxMCwgOTkxMiwgOTkxNCwgOTkxNiwgCi0gICAgOTkxOCwgOTkyMCwgOTkyMiwgOTkyNCwgOTkyNiwgOTkyOCwgOTkzMCwgOTkzMiwgOTkzNCwgOTkzNiwgOTkzOCwgOTk0MCwgCi0gICAgOTk0MiwgOTk0NCwgOTk0NiwgOTk0OCwgOTk1MCwgOTk1MiwgOTk1NCwgOTk1NywgOTk2MCwgOTk2MywgOTk2NiwgOTk2OSwgCi0gICAgOTk3MiwgOTk3NSwgMCwgMCwgMCwgMCwgOTk3OCwgOTk4MCwgOTk4MiwgOTk4NCwgOTk4NiwgOTk4OCwgOTk5MCwgOTk5MiwgCi0gICAgOTk5NCwgOTk5NiwgOTk5OCwgMTAwMDAsIDEwMDAyLCAxMDAwNCwgMTAwMDYsIDEwMDA4LCAxMDAxMCwgMTAwMTIsIDEwMDE0LCAKLSAgICAxMDAxNiwgMTAwMTgsIDEwMDIwLCAxMDAyMiwgMTAwMjQsIDEwMDI2LCAxMDAyOCwgMTAwMzAsIDEwMDMyLCAxMDAzNCwgCi0gICAgMTAwMzYsIDEwMDM4LCAxMDA0MCwgMTAwNDIsIDEwMDQ0LCAxMDA0NiwgMTAwNDgsIDEwMDUwLCAxMDA1MiwgMTAwNTQsIAotICAgIDEwMDU2LCAxMDA1OCwgMTAwNjAsIDEwMDYyLCAxMDA2NCwgMTAwNjYsIDEwMDY4LCAxMDA3MCwgMTAwNzIsIDEwMDc0LCAKLSAgICAxMDA3NiwgMTAwNzgsIDEwMDgwLCAxMDA4MiwgMTAwODQsIDEwMDg2LCAxMDA4OCwgMTAwOTAsIDEwMDkyLCAxMDA5NCwgCi0gICAgMTAwOTYsIDEwMDk4LCAxMDEwMCwgMTAxMDIsIDEwMTA0LCAxMDEwNiwgMTAxMDgsIDEwMTEwLCAxMDExMiwgMTAxMTQsIAotICAgIDEwMTE2LCAxMDExOCwgMTAxMjAsIDEwMTIyLCAxMDEyNCwgMTAxMjYsIDEwMTI4LCAxMDEzMCwgMTAxMzIsIDEwMTM0LCAKLSAgICAxMDEzNiwgMTAxMzgsIDEwMTQwLCAxMDE0MiwgMTAxNDQsIDEwMTQ2LCAxMDE0OCwgMTAxNTAsIDEwMTUyLCAxMDE1NCwgCi0gICAgMTAxNTYsIDEwMTU4LCAxMDE2MCwgMTAxNjIsIDEwMTY0LCAxMDE2NiwgMTAxNjgsIDEwMTcwLCAxMDE3MiwgMTAxNzQsIAotICAgIDEwMTc2LCAxMDE3OCwgMTAxODAsIDEwMTgyLCAxMDE4NCwgMTAxODYsIDEwMTg4LCAxMDE5MCwgMTAxOTIsIDEwMTk0LCAKLSAgICAxMDE5NiwgMTAxOTgsIDEwMjAwLCAxMDIwMiwgMTAyMDQsIDEwMjA2LCAxMDIwOCwgMTAyMTAsIDEwMjEyLCAxMDIxNCwgCi0gICAgMTAyMTYsIDEwMjE4LCAxMDIyMCwgMTAyMjIsIDEwMjI0LCAxMDIyNiwgMTAyMjgsIDEwMjMwLCAxMDIzMiwgMTAyMzQsIAotICAgIDEwMjM2LCAxMDIzOCwgMTAyNDAsIDEwMjQyLCAxMDI0NCwgMTAyNDYsIDEwMjQ4LCAxMDI1MCwgMTAyNTIsIDEwMjU0LCAKLSAgICAxMDI1NiwgMTAyNTgsIDEwMjYwLCAxMDI2MiwgMTAyNjQsIDEwMjY2LCAxMDI2OCwgMTAyNzAsIDEwMjcyLCAxMDI3NCwgCi0gICAgMTAyNzYsIDEwMjc4LCAxMDI4MCwgMTAyODIsIDEwMjg0LCAxMDI4NiwgMTAyODgsIDEwMjkwLCAxMDI5MiwgMTAyOTQsIAotICAgIDEwMjk2LCAxMDI5OCwgMTAzMDAsIDEwMzAyLCAxMDMwNCwgMTAzMDYsIDEwMzA4LCAxMDMxMCwgMTAzMTIsIDEwMzE0LCAKLSAgICAxMDMxNiwgMTAzMTgsIDEwMzIwLCAxMDMyMiwgMTAzMjQsIDEwMzI2LCAxMDMyOCwgMTAzMzAsIDEwMzMyLCAxMDMzNCwgCi0gICAgMTAzMzYsIDEwMzM4LCAxMDM0MCwgMTAzNDIsIDEwMzQ0LCAxMDM0NiwgMTAzNDgsIDEwMzUwLCAxMDM1MiwgMTAzNTQsIAotICAgIDEwMzU2LCAwLCAwLCAwLCAxMDM1OCwgMTAzNjAsIDEwMzYyLCAxMDM2NCwgMTAzNjYsIDEwMzY4LCAwLCAwLCAxMDM3MCwgCi0gICAgMTAzNzIsIDEwMzc0LCAxMDM3NiwgMTAzNzgsIDEwMzgwLCAwLCAwLCAxMDM4MiwgMTAzODQsIDEwMzg2LCAxMDM4OCwgCi0gICAgMTAzOTAsIDEwMzkyLCAwLCAwLCAxMDM5NCwgMTAzOTYsIDEwMzk4LCAwLCAwLCAwLCAxMDQwMCwgMTA0MDIsIDEwNDA0LCAKLSAgICAxMDQwNiwgMTA0MDgsIDEwNDEwLCAxMDQxMiwgMCwgMTA0MTQsIDEwNDE2LCAxMDQxOCwgMTA0MjAsIDEwNDIyLCAxMDQyNCwgCi0gICAgMTA0MjYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDk0NjIsIDk0NjYsIDk0NzAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDk0NzQsIAorICAgIDk0NzgsIDk0ODIsIDk0ODcsIDk0OTIsIDk0OTcsIDk1MDIsIDk1MDcsIDk1MTIsIDk1MTcsIDk1MjEsIDk1NDAsIDk1NDksIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDk1NTQsIDk1NTYsIAorICAgIDk1NTgsIDk1NjAsIDk1NjIsIDk1NjQsIDk1NjYsIDk1NjgsIDk1NzAsIDk1NzIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDk1NzQsIDk1NzYsIDk1NzgsIDk1ODAsIDk1ODIsIAorICAgIDk1ODQsIDk1ODYsIDk1ODgsIDk1OTAsIDk1OTIsIDk1OTQsIDk1OTYsIDk1OTgsIDk2MDAsIDk2MDIsIDk2MDQsIDk2MDYsIAorICAgIDk2MDgsIDk2MTAsIDk2MTIsIDk2MTQsIDAsIDAsIDk2MTYsIDk2MTgsIDk2MjAsIDk2MjIsIDk2MjQsIDk2MjYsIDk2MjgsIAorICAgIDk2MzAsIDk2MzIsIDk2MzQsIDk2MzYsIDk2MzgsIDAsIDk2NDAsIDk2NDIsIDk2NDQsIDk2NDYsIDk2NDgsIDk2NTAsIAorICAgIDk2NTIsIDk2NTQsIDk2NTYsIDk2NTgsIDk2NjAsIDk2NjIsIDk2NjQsIDk2NjYsIDk2NjgsIDk2NzAsIDk2NzIsIDk2NzQsIAorICAgIDk2NzYsIDAsIDk2NzgsIDk2ODAsIDk2ODIsIDk2ODQsIDAsIDAsIDAsIDAsIDk2ODYsIDk2ODksIDk2OTIsIDAsIDk2OTUsIAorICAgIDAsIDk2OTgsIDk3MDEsIDk3MDQsIDk3MDcsIDk3MTAsIDk3MTMsIDk3MTYsIDk3MTksIDk3MjIsIDk3MjUsIDk3MjgsIAorICAgIDk3MzAsIDk3MzIsIDk3MzQsIDk3MzYsIDk3MzgsIDk3NDAsIDk3NDIsIDk3NDQsIDk3NDYsIDk3NDgsIDk3NTAsIDk3NTIsIAorICAgIDk3NTQsIDk3NTYsIDk3NTgsIDk3NjAsIDk3NjIsIDk3NjQsIDk3NjYsIDk3NjgsIDk3NzAsIDk3NzIsIDk3NzQsIDk3NzYsIAorICAgIDk3NzgsIDk3ODAsIDk3ODIsIDk3ODQsIDk3ODYsIDk3ODgsIDk3OTAsIDk3OTIsIDk3OTQsIDk3OTYsIDk3OTgsIDk4MDAsIAorICAgIDk4MDIsIDk4MDQsIDk4MDYsIDk4MDgsIDk4MTAsIDk4MTIsIDk4MTQsIDk4MTYsIDk4MTgsIDk4MjAsIDk4MjIsIDk4MjQsIAorICAgIDk4MjYsIDk4MjgsIDk4MzAsIDk4MzIsIDk4MzQsIDk4MzYsIDk4MzgsIDk4NDAsIDk4NDIsIDk4NDQsIDk4NDYsIDk4NDgsIAorICAgIDk4NTAsIDk4NTIsIDk4NTQsIDk4NTYsIDk4NTgsIDk4NjAsIDk4NjIsIDk4NjQsIDk4NjYsIDk4NjgsIDk4NzAsIDk4NzIsIAorICAgIDk4NzQsIDk4NzYsIDk4NzgsIDk4ODAsIDk4ODIsIDk4ODQsIDk4ODYsIDk4ODgsIDk4OTAsIDk4OTIsIDk4OTQsIDk4OTYsIAorICAgIDk4OTgsIDk5MDAsIDk5MDIsIDk5MDQsIDk5MDYsIDk5MDgsIDk5MTAsIDk5MTIsIDk5MTQsIDk5MTYsIDk5MTgsIDk5MjAsIAorICAgIDk5MjIsIDk5MjQsIDk5MjYsIDk5MjgsIDk5MzAsIDk5MzIsIDk5MzQsIDk5MzYsIDk5MzgsIDk5NDAsIDk5NDIsIDk5NDQsIAorICAgIDk5NDYsIDk5NDgsIDk5NTAsIDk5NTIsIDk5NTQsIDk5NTYsIDk5NTgsIDk5NjAsIDk5NjIsIDk5NjUsIDk5NjgsIDk5NzEsIAorICAgIDk5NzQsIDk5NzcsIDk5ODAsIDk5ODMsIDAsIDAsIDAsIDAsIDk5ODYsIDk5ODgsIDk5OTAsIDk5OTIsIDk5OTQsIDk5OTYsIAorICAgIDk5OTgsIDEwMDAwLCAxMDAwMiwgMTAwMDQsIDEwMDA2LCAxMDAwOCwgMTAwMTAsIDEwMDEyLCAxMDAxNCwgMTAwMTYsIAorICAgIDEwMDE4LCAxMDAyMCwgMTAwMjIsIDEwMDI0LCAxMDAyNiwgMTAwMjgsIDEwMDMwLCAxMDAzMiwgMTAwMzQsIDEwMDM2LCAKKyAgICAxMDAzOCwgMTAwNDAsIDEwMDQyLCAxMDA0NCwgMTAwNDYsIDEwMDQ4LCAxMDA1MCwgMTAwNTIsIDEwMDU0LCAxMDA1NiwgCisgICAgMTAwNTgsIDEwMDYwLCAxMDA2MiwgMTAwNjQsIDEwMDY2LCAxMDA2OCwgMTAwNzAsIDEwMDcyLCAxMDA3NCwgMTAwNzYsIAorICAgIDEwMDc4LCAxMDA4MCwgMTAwODIsIDEwMDg0LCAxMDA4NiwgMTAwODgsIDEwMDkwLCAxMDA5MiwgMTAwOTQsIDEwMDk2LCAKKyAgICAxMDA5OCwgMTAxMDAsIDEwMTAyLCAxMDEwNCwgMTAxMDYsIDEwMTA4LCAxMDExMCwgMTAxMTIsIDEwMTE0LCAxMDExNiwgCisgICAgMTAxMTgsIDEwMTIwLCAxMDEyMiwgMTAxMjQsIDEwMTI2LCAxMDEyOCwgMTAxMzAsIDEwMTMyLCAxMDEzNCwgMTAxMzYsIAorICAgIDEwMTM4LCAxMDE0MCwgMTAxNDIsIDEwMTQ0LCAxMDE0NiwgMTAxNDgsIDEwMTUwLCAxMDE1MiwgMTAxNTQsIDEwMTU2LCAKKyAgICAxMDE1OCwgMTAxNjAsIDEwMTYyLCAxMDE2NCwgMTAxNjYsIDEwMTY4LCAxMDE3MCwgMTAxNzIsIDEwMTc0LCAxMDE3NiwgCisgICAgMTAxNzgsIDEwMTgwLCAxMDE4MiwgMTAxODQsIDEwMTg2LCAxMDE4OCwgMTAxOTAsIDEwMTkyLCAxMDE5NCwgMTAxOTYsIAorICAgIDEwMTk4LCAxMDIwMCwgMTAyMDIsIDEwMjA0LCAxMDIwNiwgMTAyMDgsIDEwMjEwLCAxMDIxMiwgMTAyMTQsIDEwMjE2LCAKKyAgICAxMDIxOCwgMTAyMjAsIDEwMjIyLCAxMDIyNCwgMTAyMjYsIDEwMjI4LCAxMDIzMCwgMTAyMzIsIDEwMjM0LCAxMDIzNiwgCisgICAgMTAyMzgsIDEwMjQwLCAxMDI0MiwgMTAyNDQsIDEwMjQ2LCAxMDI0OCwgMTAyNTAsIDEwMjUyLCAxMDI1NCwgMTAyNTYsIAorICAgIDEwMjU4LCAxMDI2MCwgMTAyNjIsIDEwMjY0LCAxMDI2NiwgMTAyNjgsIDEwMjcwLCAxMDI3MiwgMTAyNzQsIDEwMjc2LCAKKyAgICAxMDI3OCwgMTAyODAsIDEwMjgyLCAxMDI4NCwgMTAyODYsIDEwMjg4LCAxMDI5MCwgMTAyOTIsIDEwMjk0LCAxMDI5NiwgCisgICAgMTAyOTgsIDEwMzAwLCAxMDMwMiwgMTAzMDQsIDEwMzA2LCAxMDMwOCwgMTAzMTAsIDEwMzEyLCAxMDMxNCwgMTAzMTYsIAorICAgIDEwMzE4LCAxMDMyMCwgMTAzMjIsIDEwMzI0LCAxMDMyNiwgMTAzMjgsIDEwMzMwLCAxMDMzMiwgMTAzMzQsIDEwMzM2LCAKKyAgICAxMDMzOCwgMTAzNDAsIDEwMzQyLCAxMDM0NCwgMTAzNDYsIDEwMzQ4LCAxMDM1MCwgMTAzNTIsIDEwMzU0LCAxMDM1NiwgCisgICAgMTAzNTgsIDEwMzYwLCAxMDM2MiwgMTAzNjQsIDAsIDAsIDAsIDEwMzY2LCAxMDM2OCwgMTAzNzAsIDEwMzcyLCAxMDM3NCwgCisgICAgMTAzNzYsIDAsIDAsIDEwMzc4LCAxMDM4MCwgMTAzODIsIDEwMzg0LCAxMDM4NiwgMTAzODgsIDAsIDAsIDEwMzkwLCAKKyAgICAxMDM5MiwgMTAzOTQsIDEwMzk2LCAxMDM5OCwgMTA0MDAsIDAsIDAsIDEwNDAyLCAxMDQwNCwgMTA0MDYsIDAsIDAsIDAsIAorICAgIDEwNDA4LCAxMDQxMCwgMTA0MTIsIDEwNDE0LCAxMDQxNiwgMTA0MTgsIDEwNDIwLCAwLCAxMDQyMiwgMTA0MjQsIDEwNDI2LCAKKyAgICAxMDQyOCwgMTA0MzAsIDEwNDMyLCAxMDQzNCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMTA0MjgsIDAsIDEwNDMxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAxMDQzNCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTA0MzYsIDAsIDEwNDM5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMDQ0MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTA0MzcsIDEwNDQwLCAxMDQ0MywgMTA0NDYsIDEwNDQ5LCAKLSAgICAxMDQ1MiwgMTA0NTUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEwNDU4LCAxMDQ2MSwgCi0gICAgMTA0NjQsIDEwNDY3LCAxMDQ3MCwgMTA0NzMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDEwNDc2LCAxMDQ3OCwgMTA0ODAsIDEwNDgyLCAxMDQ4NCwgMTA0ODYsIDEwNDg4LCAxMDQ5MCwgMTA0OTIsIDEwNDk0LCAKLSAgICAxMDQ5NiwgMTA0OTgsIDEwNTAwLCAxMDUwMiwgMTA1MDQsIDEwNTA2LCAxMDUwOCwgMTA1MTAsIDEwNTEyLCAxMDUxNCwgCi0gICAgMTA1MTYsIDEwNTE4LCAxMDUyMCwgMTA1MjIsIDEwNTI0LCAxMDUyNiwgMTA1MjgsIDEwNTMwLCAxMDUzMiwgMTA1MzQsIAotICAgIDEwNTM2LCAxMDUzOCwgMTA1NDAsIDEwNTQyLCAxMDU0NCwgMTA1NDYsIDEwNTQ4LCAxMDU1MCwgMTA1NTIsIDEwNTU0LCAKLSAgICAxMDU1NiwgMTA1NTgsIDEwNTYwLCAxMDU2MiwgMTA1NjQsIDEwNTY2LCAxMDU2OCwgMTA1NzAsIDEwNTcyLCAxMDU3NCwgCi0gICAgMTA1NzYsIDEwNTc4LCAxMDU4MCwgMTA1ODIsIDEwNTg0LCAxMDU4NiwgMTA1ODgsIDEwNTkwLCAxMDU5MiwgMTA1OTQsIAotICAgIDEwNTk2LCAxMDU5OCwgMTA2MDAsIDEwNjAyLCAxMDYwNCwgMTA2MDYsIDEwNjA4LCAxMDYxMCwgMTA2MTIsIDEwNjE0LCAKLSAgICAxMDYxNiwgMTA2MTgsIDEwNjIwLCAxMDYyMiwgMTA2MjQsIDEwNjI2LCAxMDYyOCwgMTA2MzAsIDEwNjMyLCAxMDYzNCwgCi0gICAgMTA2MzYsIDEwNjM4LCAxMDY0MCwgMTA2NDIsIDEwNjQ0LCAwLCAxMDY0NiwgMTA2NDgsIDEwNjUwLCAxMDY1MiwgMTA2NTQsIAotICAgIDEwNjU2LCAxMDY1OCwgMTA2NjAsIDEwNjYyLCAxMDY2NCwgMTA2NjYsIDEwNjY4LCAxMDY3MCwgMTA2NzIsIDEwNjc0LCAKLSAgICAxMDY3NiwgMTA2NzgsIDEwNjgwLCAxMDY4MiwgMTA2ODQsIDEwNjg2LCAxMDY4OCwgMTA2OTAsIDEwNjkyLCAxMDY5NCwgCi0gICAgMTA2OTYsIDEwNjk4LCAxMDcwMCwgMTA3MDIsIDEwNzA0LCAxMDcwNiwgMTA3MDgsIDEwNzEwLCAxMDcxMiwgMTA3MTQsIAotICAgIDEwNzE2LCAxMDcxOCwgMTA3MjAsIDEwNzIyLCAxMDcyNCwgMTA3MjYsIDEwNzI4LCAxMDczMCwgMTA3MzIsIDEwNzM0LCAKLSAgICAxMDczNiwgMTA3MzgsIDEwNzQwLCAxMDc0MiwgMTA3NDQsIDEwNzQ2LCAxMDc0OCwgMTA3NTAsIDEwNzUyLCAxMDc1NCwgCi0gICAgMTA3NTYsIDEwNzU4LCAxMDc2MCwgMTA3NjIsIDEwNzY0LCAxMDc2NiwgMTA3NjgsIDEwNzcwLCAxMDc3MiwgMTA3NzQsIAotICAgIDEwNzc2LCAxMDc3OCwgMTA3ODAsIDEwNzgyLCAxMDc4NCwgMTA3ODYsIDAsIDEwNzg4LCAxMDc5MCwgMCwgMCwgMTA3OTIsIAotICAgIDAsIDAsIDEwNzk0LCAxMDc5NiwgMCwgMCwgMTA3OTgsIDEwODAwLCAxMDgwMiwgMTA4MDQsIDAsIDEwODA2LCAxMDgwOCwgCi0gICAgMTA4MTAsIDEwODEyLCAxMDgxNCwgMTA4MTYsIDEwODE4LCAxMDgyMCwgMTA4MjIsIDEwODI0LCAxMDgyNiwgMTA4MjgsIDAsIAotICAgIDEwODMwLCAwLCAxMDgzMiwgMTA4MzQsIDEwODM2LCAxMDgzOCwgMTA4NDAsIDEwODQyLCAxMDg0NCwgMCwgMTA4NDYsIAotICAgIDEwODQ4LCAxMDg1MCwgMTA4NTIsIDEwODU0LCAxMDg1NiwgMTA4NTgsIDEwODYwLCAxMDg2MiwgMTA4NjQsIDEwODY2LCAKLSAgICAxMDg2OCwgMTA4NzAsIDEwODcyLCAxMDg3NCwgMTA4NzYsIDEwODc4LCAxMDg4MCwgMTA4ODIsIDEwODg0LCAxMDg4NiwgCi0gICAgMTA4ODgsIDEwODkwLCAxMDg5MiwgMTA4OTQsIDEwODk2LCAxMDg5OCwgMTA5MDAsIDEwOTAyLCAxMDkwNCwgMTA5MDYsIAotICAgIDEwOTA4LCAxMDkxMCwgMTA5MTIsIDEwOTE0LCAxMDkxNiwgMTA5MTgsIDEwOTIwLCAxMDkyMiwgMTA5MjQsIDEwOTI2LCAKLSAgICAxMDkyOCwgMTA5MzAsIDEwOTMyLCAxMDkzNCwgMTA5MzYsIDEwOTM4LCAxMDk0MCwgMTA5NDIsIDEwOTQ0LCAxMDk0NiwgCi0gICAgMTA5NDgsIDEwOTUwLCAxMDk1MiwgMTA5NTQsIDEwOTU2LCAxMDk1OCwgMTA5NjAsIDEwOTYyLCAxMDk2NCwgMTA5NjYsIAotICAgIDEwOTY4LCAxMDk3MCwgMTA5NzIsIDEwOTc0LCAwLCAxMDk3NiwgMTA5NzgsIDEwOTgwLCAxMDk4MiwgMCwgMCwgMTA5ODQsIAotICAgIDEwOTg2LCAxMDk4OCwgMTA5OTAsIDEwOTkyLCAxMDk5NCwgMTA5OTYsIDEwOTk4LCAwLCAxMTAwMCwgMTEwMDIsIDExMDA0LCAKLSAgICAxMTAwNiwgMTEwMDgsIDExMDEwLCAxMTAxMiwgMCwgMTEwMTQsIDExMDE2LCAxMTAxOCwgMTEwMjAsIDExMDIyLCAxMTAyNCwgCi0gICAgMTEwMjYsIDExMDI4LCAxMTAzMCwgMTEwMzIsIDExMDM0LCAxMTAzNiwgMTEwMzgsIDExMDQwLCAxMTA0MiwgMTEwNDQsIAotICAgIDExMDQ2LCAxMTA0OCwgMTEwNTAsIDExMDUyLCAxMTA1NCwgMTEwNTYsIDExMDU4LCAxMTA2MCwgMTEwNjIsIDExMDY0LCAKLSAgICAxMTA2NiwgMTEwNjgsIDAsIDExMDcwLCAxMTA3MiwgMTEwNzQsIDExMDc2LCAwLCAxMTA3OCwgMTEwODAsIDExMDgyLCAKLSAgICAxMTA4NCwgMTEwODYsIDAsIDExMDg4LCAwLCAwLCAwLCAxMTA5MCwgMTEwOTIsIDExMDk0LCAxMTA5NiwgMTEwOTgsIAotICAgIDExMTAwLCAxMTEwMiwgMCwgMTExMDQsIDExMTA2LCAxMTEwOCwgMTExMTAsIDExMTEyLCAxMTExNCwgMTExMTYsIDExMTE4LCAKLSAgICAxMTEyMCwgMTExMjIsIDExMTI0LCAxMTEyNiwgMTExMjgsIDExMTMwLCAxMTEzMiwgMTExMzQsIDExMTM2LCAxMTEzOCwgCi0gICAgMTExNDAsIDExMTQyLCAxMTE0NCwgMTExNDYsIDExMTQ4LCAxMTE1MCwgMTExNTIsIDExMTU0LCAxMTE1NiwgMTExNTgsIAotICAgIDExMTYwLCAxMTE2MiwgMTExNjQsIDExMTY2LCAxMTE2OCwgMTExNzAsIDExMTcyLCAxMTE3NCwgMTExNzYsIDExMTc4LCAKLSAgICAxMTE4MCwgMTExODIsIDExMTg0LCAxMTE4NiwgMTExODgsIDExMTkwLCAxMTE5MiwgMTExOTQsIDExMTk2LCAxMTE5OCwgCi0gICAgMTEyMDAsIDExMjAyLCAxMTIwNCwgMTEyMDYsIDExMjA4LCAxMTIxMCwgMTEyMTIsIDExMjE0LCAxMTIxNiwgMTEyMTgsIAotICAgIDExMjIwLCAxMTIyMiwgMTEyMjQsIDExMjI2LCAxMTIyOCwgMTEyMzAsIDExMjMyLCAxMTIzNCwgMTEyMzYsIDExMjM4LCAKLSAgICAxMTI0MCwgMTEyNDIsIDExMjQ0LCAxMTI0NiwgMTEyNDgsIDExMjUwLCAxMTI1MiwgMTEyNTQsIDExMjU2LCAxMTI1OCwgCi0gICAgMTEyNjAsIDExMjYyLCAxMTI2NCwgMTEyNjYsIDExMjY4LCAxMTI3MCwgMTEyNzIsIDExMjc0LCAxMTI3NiwgMTEyNzgsIAotICAgIDExMjgwLCAxMTI4MiwgMTEyODQsIDExMjg2LCAxMTI4OCwgMTEyOTAsIDExMjkyLCAxMTI5NCwgMTEyOTYsIDExMjk4LCAKLSAgICAxMTMwMCwgMTEzMDIsIDExMzA0LCAxMTMwNiwgMTEzMDgsIDExMzEwLCAxMTMxMiwgMTEzMTQsIDExMzE2LCAxMTMxOCwgCi0gICAgMTEzMjAsIDExMzIyLCAxMTMyNCwgMTEzMjYsIDExMzI4LCAxMTMzMCwgMTEzMzIsIDExMzM0LCAxMTMzNiwgMTEzMzgsIAotICAgIDExMzQwLCAxMTM0MiwgMTEzNDQsIDExMzQ2LCAxMTM0OCwgMTEzNTAsIDExMzUyLCAxMTM1NCwgMTEzNTYsIDExMzU4LCAKLSAgICAxMTM2MCwgMTEzNjIsIDExMzY0LCAxMTM2NiwgMTEzNjgsIDExMzcwLCAxMTM3MiwgMTEzNzQsIDExMzc2LCAxMTM3OCwgCi0gICAgMTEzODAsIDExMzgyLCAxMTM4NCwgMTEzODYsIDExMzg4LCAxMTM5MCwgMTEzOTIsIDExMzk0LCAxMTM5NiwgMTEzOTgsIAotICAgIDExNDAwLCAxMTQwMiwgMTE0MDQsIDExNDA2LCAxMTQwOCwgMTE0MTAsIDExNDEyLCAxMTQxNCwgMTE0MTYsIDExNDE4LCAKLSAgICAxMTQyMCwgMTE0MjIsIDExNDI0LCAxMTQyNiwgMTE0MjgsIDExNDMwLCAxMTQzMiwgMTE0MzQsIDExNDM2LCAxMTQzOCwgCi0gICAgMTE0NDAsIDExNDQyLCAxMTQ0NCwgMTE0NDYsIDExNDQ4LCAxMTQ1MCwgMTE0NTIsIDExNDU0LCAxMTQ1NiwgMTE0NTgsIAotICAgIDExNDYwLCAxMTQ2MiwgMTE0NjQsIDExNDY2LCAxMTQ2OCwgMTE0NzAsIDExNDcyLCAxMTQ3NCwgMTE0NzYsIDExNDc4LCAKLSAgICAxMTQ4MCwgMTE0ODIsIDExNDg0LCAxMTQ4NiwgMTE0ODgsIDExNDkwLCAxMTQ5MiwgMTE0OTQsIDExNDk2LCAxMTQ5OCwgCi0gICAgMTE1MDAsIDExNTAyLCAxMTUwNCwgMTE1MDYsIDExNTA4LCAxMTUxMCwgMTE1MTIsIDExNTE0LCAxMTUxNiwgMTE1MTgsIAotICAgIDExNTIwLCAxMTUyMiwgMTE1MjQsIDExNTI2LCAxMTUyOCwgMTE1MzAsIDExNTMyLCAxMTUzNCwgMTE1MzYsIDExNTM4LCAKLSAgICAxMTU0MCwgMTE1NDIsIDExNTQ0LCAxMTU0NiwgMTE1NDgsIDExNTUwLCAxMTU1MiwgMTE1NTQsIDExNTU2LCAxMTU1OCwgCi0gICAgMTE1NjAsIDExNTYyLCAxMTU2NCwgMTE1NjYsIDExNTY4LCAxMTU3MCwgMTE1NzIsIDExNTc0LCAxMTU3NiwgMTE1NzgsIAotICAgIDExNTgwLCAxMTU4MiwgMTE1ODQsIDExNTg2LCAxMTU4OCwgMTE1OTAsIDExNTkyLCAxMTU5NCwgMTE1OTYsIDExNTk4LCAKLSAgICAxMTYwMCwgMTE2MDIsIDExNjA0LCAxMTYwNiwgMTE2MDgsIDExNjEwLCAxMTYxMiwgMTE2MTQsIDExNjE2LCAxMTYxOCwgCi0gICAgMTE2MjAsIDExNjIyLCAxMTYyNCwgMTE2MjYsIDExNjI4LCAxMTYzMCwgMTE2MzIsIDExNjM0LCAxMTYzNiwgMTE2MzgsIAotICAgIDExNjQwLCAxMTY0MiwgMTE2NDQsIDExNjQ2LCAxMTY0OCwgMTE2NTAsIDExNjUyLCAxMTY1NCwgMTE2NTYsIDExNjU4LCAKLSAgICAxMTY2MCwgMTE2NjIsIDExNjY0LCAxMTY2NiwgMTE2NjgsIDExNjcwLCAxMTY3MiwgMTE2NzQsIDExNjc2LCAxMTY3OCwgCi0gICAgMTE2ODAsIDExNjgyLCAxMTY4NCwgMTE2ODYsIDExNjg4LCAxMTY5MCwgMTE2OTIsIDExNjk0LCAxMTY5NiwgMTE2OTgsIAotICAgIDExNzAwLCAxMTcwMiwgMTE3MDQsIDExNzA2LCAxMTcwOCwgMTE3MTAsIDExNzEyLCAxMTcxNCwgMTE3MTYsIDExNzE4LCAKLSAgICAxMTcyMCwgMTE3MjIsIDExNzI0LCAxMTcyNiwgMTE3MjgsIDExNzMwLCAxMTczMiwgMTE3MzQsIDExNzM2LCAxMTczOCwgCi0gICAgMTE3NDAsIDExNzQyLCAxMTc0NCwgMTE3NDYsIDExNzQ4LCAxMTc1MCwgMTE3NTIsIDExNzU0LCAxMTc1NiwgMTE3NTgsIAotICAgIDExNzYwLCAxMTc2MiwgMTE3NjQsIDExNzY2LCAxMTc2OCwgMTE3NzAsIDExNzcyLCAxMTc3NCwgMTE3NzYsIDExNzc4LCAKLSAgICAxMTc4MCwgMTE3ODIsIDAsIDAsIDExNzg0LCAxMTc4NiwgMTE3ODgsIDExNzkwLCAxMTc5MiwgMTE3OTQsIDExNzk2LCAKLSAgICAxMTc5OCwgMTE4MDAsIDExODAyLCAxMTgwNCwgMTE4MDYsIDExODA4LCAxMTgxMCwgMTE4MTIsIDExODE0LCAxMTgxNiwgCi0gICAgMTE4MTgsIDExODIwLCAxMTgyMiwgMTE4MjQsIDExODI2LCAxMTgyOCwgMTE4MzAsIDExODMyLCAxMTgzNCwgMTE4MzYsIAotICAgIDExODM4LCAxMTg0MCwgMTE4NDIsIDExODQ0LCAxMTg0NiwgMTE4NDgsIDExODUwLCAxMTg1MiwgMTE4NTQsIDExODU2LCAKLSAgICAxMTg1OCwgMTE4NjAsIDExODYyLCAxMTg2NCwgMTE4NjYsIDExODY4LCAxMTg3MCwgMTE4NzIsIDExODc0LCAxMTg3NiwgCi0gICAgMTE4NzgsIDExODgwLCAxMTg4MiwgMTE4ODQsIDExODg2LCAxMTg4OCwgMTE4OTAsIDExODkyLCAxMTg5NCwgMTE4OTYsIAotICAgIDExODk4LCAxMTkwMCwgMTE5MDIsIDExOTA0LCAxMTkwNiwgMTE5MDgsIDExOTEwLCAxMTkxMiwgMTE5MTQsIDExOTE2LCAKLSAgICAxMTkxOCwgMTE5MjAsIDExOTIyLCAxMTkyNCwgMTE5MjYsIDExOTI4LCAxMTkzMCwgMTE5MzIsIDExOTM0LCAxMTkzNiwgCi0gICAgMTE5MzgsIDExOTQwLCAxMTk0MiwgMTE5NDQsIDExOTQ2LCAxMTk0OCwgMTE5NTAsIDExOTUyLCAxMTk1NCwgMTE5NTYsIAotICAgIDExOTU4LCAxMTk2MCwgMTE5NjIsIDExOTY0LCAxMTk2NiwgMTE5NjgsIDExOTcwLCAxMTk3MiwgMTE5NzQsIDExOTc2LCAKLSAgICAxMTk3OCwgMTE5ODAsIDExOTgyLCAxMTk4NCwgMTE5ODYsIDExOTg4LCAxMTk5MCwgMTE5OTIsIDExOTk0LCAxMTk5NiwgCi0gICAgMTE5OTgsIDEyMDAwLCAxMjAwMiwgMTIwMDQsIDEyMDA2LCAxMjAwOCwgMTIwMTAsIDEyMDEyLCAxMjAxNCwgMTIwMTYsIAotICAgIDEyMDE4LCAxMjAyMCwgMTIwMjIsIDEyMDI0LCAxMjAyNiwgMTIwMjgsIDEyMDMwLCAxMjAzMiwgMTIwMzQsIDEyMDM2LCAKLSAgICAxMjAzOCwgMTIwNDAsIDEyMDQyLCAxMjA0NCwgMTIwNDYsIDEyMDQ4LCAxMjA1MCwgMTIwNTIsIDEyMDU0LCAxMjA1NiwgCi0gICAgMTIwNTgsIDEyMDYwLCAxMjA2MiwgMTIwNjQsIDEyMDY2LCAxMjA2OCwgMTIwNzAsIDEyMDcyLCAxMjA3NCwgMTIwNzYsIAotICAgIDEyMDc4LCAxMjA4MCwgMTIwODIsIDEyMDg0LCAxMjA4NiwgMTIwODgsIDEyMDkwLCAxMjA5MiwgMTIwOTQsIDEyMDk2LCAKLSAgICAxMjA5OCwgMTIxMDAsIDEyMTAyLCAxMjEwNCwgMTIxMDYsIDEyMTA4LCAxMjExMCwgMTIxMTIsIDEyMTE0LCAxMjExNiwgCi0gICAgMTIxMTgsIDEyMTIwLCAxMjEyMiwgMTIxMjQsIDEyMTI2LCAxMjEyOCwgMTIxMzAsIDEyMTMyLCAxMjEzNCwgMTIxMzYsIAotICAgIDEyMTM4LCAxMjE0MCwgMTIxNDIsIDEyMTQ0LCAxMjE0NiwgMTIxNDgsIDEyMTUwLCAxMjE1MiwgMTIxNTQsIDEyMTU2LCAKLSAgICAxMjE1OCwgMTIxNjAsIDEyMTYyLCAxMjE2NCwgMTIxNjYsIDEyMTY4LCAxMjE3MCwgMTIxNzIsIDEyMTc0LCAxMjE3NiwgCi0gICAgMTIxNzgsIDEyMTgwLCAxMjE4MiwgMTIxODQsIDEyMTg2LCAxMjE4OCwgMTIxOTAsIDEyMTkyLCAxMjE5NCwgMTIxOTYsIAotICAgIDEyMTk4LCAxMjIwMCwgMTIyMDIsIDEyMjA0LCAxMjIwNiwgMTIyMDgsIDEyMjEwLCAxMjIxMiwgMTIyMTQsIDEyMjE2LCAKLSAgICAxMjIxOCwgMTIyMjAsIDEyMjIyLCAxMjIyNCwgMTIyMjYsIDEyMjI4LCAxMjIzMCwgMTIyMzIsIDEyMjM0LCAxMjIzNiwgCi0gICAgMTIyMzgsIDEyMjQwLCAxMjI0MiwgMTIyNDQsIDEyMjQ2LCAxMjI0OCwgMTIyNTAsIDEyMjUyLCAxMjI1NCwgMTIyNTYsIAotICAgIDEyMjU4LCAxMjI2MCwgMTIyNjIsIDEyMjY0LCAxMjI2NiwgMTIyNjgsIDEyMjcwLCAxMjI3MiwgMTIyNzQsIDEyMjc2LCAKLSAgICAxMjI3OCwgMTIyODAsIDEyMjgyLCAxMjI4NCwgMTIyODYsIDEyMjg4LCAxMjI5MCwgMTIyOTIsIDEyMjk0LCAxMjI5NiwgCi0gICAgMTIyOTgsIDEyMzAwLCAxMjMwMiwgMTIzMDQsIDEyMzA2LCAxMjMwOCwgMTIzMTAsIDEyMzEyLCAxMjMxNCwgMTIzMTYsIAotICAgIDEyMzE4LCAxMjMyMCwgMTIzMjIsIDEyMzI0LCAxMjMyNiwgMTIzMjgsIDEyMzMwLCAxMjMzMiwgMTIzMzQsIDEyMzM2LCAKLSAgICAxMjMzOCwgMTIzNDAsIDEyMzQyLCAxMjM0NCwgMTIzNDYsIDEyMzQ4LCAxMjM1MCwgMTIzNTIsIDEyMzU0LCAxMjM1NiwgCi0gICAgMTIzNTgsIDEyMzYwLCAxMjM2MiwgMTIzNjQsIDEyMzY2LCAwLCAwLCAxMjM2OCwgMTIzNzAsIDEyMzcyLCAxMjM3NCwgCi0gICAgMTIzNzYsIDEyMzc4LCAxMjM4MCwgMTIzODIsIDEyMzg0LCAxMjM4NiwgMTIzODgsIDEyMzkwLCAxMjM5MiwgMTIzOTQsIAotICAgIDEyMzk2LCAxMjM5OCwgMTI0MDAsIDEyNDAyLCAxMjQwNCwgMTI0MDYsIDEyNDA4LCAxMjQxMCwgMTI0MTIsIDEyNDE0LCAKLSAgICAxMjQxNiwgMTI0MTgsIDEyNDIwLCAxMjQyMiwgMTI0MjQsIDEyNDI2LCAxMjQyOCwgMTI0MzAsIDEyNDMyLCAxMjQzNCwgCi0gICAgMTI0MzYsIDEyNDM4LCAxMjQ0MCwgMTI0NDIsIDEyNDQ0LCAxMjQ0NiwgMTI0NDgsIDEyNDUwLCAxMjQ1MiwgMTI0NTQsIAotICAgIDEyNDU2LCAxMjQ1OCwgMTI0NjAsIDEyNDYyLCAxMjQ2NCwgMTI0NjYsIDEyNDY4LCAxMjQ3MSwgMTI0NzQsIDEyNDc3LCAKLSAgICAxMjQ4MCwgMTI0ODMsIDEyNDg2LCAxMjQ4OSwgMTI0OTIsIDEyNDk1LCAxMjQ5OCwgMCwgMCwgMCwgMCwgMCwgMTI1MDEsIAotICAgIDEyNTA1LCAxMjUwOSwgMTI1MTMsIDEyNTE3LCAxMjUyMSwgMTI1MjUsIDEyNTI5LCAxMjUzMywgMTI1MzcsIDEyNTQxLCAKLSAgICAxMjU0NSwgMTI1NDksIDEyNTUzLCAxMjU1NywgMTI1NjEsIDEyNTY1LCAxMjU2OSwgMTI1NzMsIDEyNTc3LCAxMjU4MSwgCi0gICAgMTI1ODUsIDEyNTg5LCAxMjU5MywgMTI1OTcsIDEyNjAxLCAxMjYwNSwgMTI2MDksIDEyNjExLCAxMjYxMywgMTI2MTYsIDAsIAotICAgIDEyNjE5LCAxMjYyMSwgMTI2MjMsIDEyNjI1LCAxMjYyNywgMTI2MjksIDEyNjMxLCAxMjYzMywgMTI2MzUsIDEyNjM3LCAKLSAgICAxMjYzOSwgMTI2NDEsIDEyNjQzLCAxMjY0NSwgMTI2NDcsIDEyNjQ5LCAxMjY1MSwgMTI2NTMsIDEyNjU1LCAxMjY1NywgCi0gICAgMTI2NTksIDEyNjYxLCAxMjY2MywgMTI2NjUsIDEyNjY3LCAxMjY2OSwgMTI2NzEsIDEyNjc0LCAxMjY3NywgMTI2ODAsIAotICAgIDEyNjgzLCAxMjY4NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTI2OTAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEyNjkzLCAxMjY5NiwgMTI2OTksIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEyNzAxLCAxMjcwMywgMTI3MDUsIDEyNzA3LCAxMjcwOSwgMTI3MTEsIAotICAgIDEyNzEzLCAxMjcxNSwgMTI3MTcsIDEyNzE5LCAxMjcyMSwgMTI3MjMsIDEyNzI1LCAxMjcyNywgMTI3MjksIDEyNzMxLCAKLSAgICAxMjczMywgMTI3MzUsIDEyNzM3LCAxMjczOSwgMTI3NDEsIDEyNzQzLCAxMjc0NSwgMTI3NDcsIDEyNzQ5LCAxMjc1MSwgCi0gICAgMTI3NTMsIDEyNzU1LCAxMjc1NywgMTI3NTksIDEyNzYxLCAxMjc2MywgMTI3NjUsIDEyNzY3LCAxMjc2OSwgMTI3NzEsIAotICAgIDEyNzczLCAxMjc3NSwgMTI3NzcsIDEyNzc5LCAxMjc4MSwgMTI3ODMsIDEyNzg1LCAwLCAwLCAwLCAwLCAwLCAxMjc4NywgCi0gICAgMTI3OTEsIDEyNzk1LCAxMjc5OSwgMTI4MDMsIDEyODA3LCAxMjgxMSwgMTI4MTUsIDEyODE5LCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAxMjgyMywgMTI4MjUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEyODI3LCAxMjgyOSwgMTI4MzEsIDEyODMzLCAxMjgzNSwgCi0gICAgMTI4MzcsIDEyODM5LCAxMjg0MSwgMTI4NDMsIDEyODQ1LCAxMjg0NywgMTI4NDksIDEyODUxLCAxMjg1MywgMTI4NTUsIAotICAgIDEyODU3LCAxMjg1OSwgMTI4NjEsIDEyODYzLCAxMjg2NSwgMTI4NjcsIDEyODY5LCAxMjg3MSwgMTI4NzMsIDEyODc1LCAKLSAgICAxMjg3NywgMTI4NzksIDEyODgxLCAxMjg4MywgMTI4ODUsIDEyODg3LCAxMjg4OSwgMTI4OTEsIDEyODkzLCAxMjg5NSwgCi0gICAgMTI4OTcsIDEyODk5LCAxMjkwMSwgMTI5MDMsIDEyOTA1LCAxMjkwNywgMTI5MDksIDEyOTExLCAxMjkxMywgMTI5MTUsIAotICAgIDEyOTE3LCAxMjkxOSwgMTI5MjEsIDEyOTIzLCAxMjkyNSwgMTI5MjcsIDEyOTI5LCAxMjkzMSwgMTI5MzMsIDEyOTM1LCAKLSAgICAxMjkzNywgMTI5MzksIDEyOTQxLCAxMjk0MywgMTI5NDUsIDEyOTQ3LCAxMjk0OSwgMTI5NTEsIDEyOTUzLCAxMjk1NSwgCi0gICAgMTI5NTcsIDEyOTU5LCAxMjk2MSwgMTI5NjMsIDEyOTY1LCAxMjk2NywgMTI5NjksIDEyOTcxLCAxMjk3MywgMTI5NzUsIAotICAgIDEyOTc3LCAxMjk3OSwgMTI5ODEsIDEyOTgzLCAxMjk4NSwgMTI5ODcsIDEyOTg5LCAxMjk5MSwgMTI5OTMsIDEyOTk1LCAKLSAgICAxMjk5NywgMTI5OTksIDEzMDAxLCAxMzAwMywgMTMwMDUsIDEzMDA3LCAxMzAwOSwgMTMwMTEsIDEzMDEzLCAxMzAxNSwgCi0gICAgMTMwMTcsIDEzMDE5LCAxMzAyMSwgMTMwMjMsIDEzMDI1LCAxMzAyNywgMTMwMjksIDEzMDMxLCAxMzAzMywgMTMwMzUsIAotICAgIDEzMDM3LCAxMzAzOSwgMTMwNDEsIDEzMDQzLCAxMzA0NSwgMTMwNDcsIDEzMDQ5LCAxMzA1MSwgMTMwNTMsIDEzMDU1LCAKLSAgICAxMzA1NywgMTMwNTksIDEzMDYxLCAxMzA2MywgMTMwNjUsIDEzMDY3LCAxMzA2OSwgMTMwNzEsIDEzMDczLCAxMzA3NSwgCi0gICAgMTMwNzcsIDEzMDc5LCAxMzA4MSwgMTMwODMsIDEzMDg1LCAxMzA4NywgMTMwODksIDEzMDkxLCAxMzA5MywgMTMwOTUsIAotICAgIDEzMDk3LCAxMzA5OSwgMTMxMDEsIDEzMTAzLCAxMzEwNSwgMTMxMDcsIDEzMTA5LCAxMzExMSwgMTMxMTMsIDEzMTE1LCAKLSAgICAxMzExNywgMTMxMTksIDEzMTIxLCAxMzEyMywgMTMxMjUsIDEzMTI3LCAxMzEyOSwgMTMxMzEsIDEzMTMzLCAxMzEzNSwgCi0gICAgMTMxMzcsIDEzMTM5LCAxMzE0MSwgMTMxNDMsIDEzMTQ1LCAxMzE0NywgMTMxNDksIDEzMTUxLCAxMzE1MywgMTMxNTUsIAotICAgIDEzMTU3LCAxMzE1OSwgMTMxNjEsIDEzMTYzLCAxMzE2NSwgMTMxNjcsIDEzMTY5LCAxMzE3MSwgMTMxNzMsIDEzMTc1LCAKLSAgICAxMzE3NywgMTMxNzksIDEzMTgxLCAxMzE4MywgMTMxODUsIDEzMTg3LCAxMzE4OSwgMTMxOTEsIDEzMTkzLCAxMzE5NSwgCi0gICAgMTMxOTcsIDEzMTk5LCAxMzIwMSwgMTMyMDMsIDEzMjA1LCAxMzIwNywgMTMyMDksIDEzMjExLCAxMzIxMywgMTMyMTUsIAotICAgIDEzMjE3LCAxMzIxOSwgMTMyMjEsIDEzMjIzLCAxMzIyNSwgMTMyMjcsIDEzMjI5LCAxMzIzMSwgMTMyMzMsIDEzMjM1LCAKLSAgICAxMzIzNywgMTMyMzksIDEzMjQxLCAxMzI0MywgMTMyNDUsIDEzMjQ3LCAxMzI0OSwgMTMyNTEsIDEzMjUzLCAxMzI1NSwgCi0gICAgMTMyNTcsIDEzMjU5LCAxMzI2MSwgMTMyNjMsIDEzMjY1LCAxMzI2NywgMTMyNjksIDEzMjcxLCAxMzI3MywgMTMyNzUsIAotICAgIDEzMjc3LCAxMzI3OSwgMTMyODEsIDEzMjgzLCAxMzI4NSwgMTMyODcsIDEzMjg5LCAxMzI5MSwgMTMyOTMsIDEzMjk1LCAKLSAgICAxMzI5NywgMTMyOTksIDEzMzAxLCAxMzMwMywgMTMzMDUsIDEzMzA3LCAxMzMwOSwgMTMzMTEsIDEzMzEzLCAxMzMxNSwgCi0gICAgMTMzMTcsIDEzMzE5LCAxMzMyMSwgMTMzMjMsIDEzMzI1LCAxMzMyNywgMTMzMjksIDEzMzMxLCAxMzMzMywgMTMzMzUsIAotICAgIDEzMzM3LCAxMzMzOSwgMTMzNDEsIDEzMzQzLCAxMzM0NSwgMTMzNDcsIDEzMzQ5LCAxMzM1MSwgMTMzNTMsIDEzMzU1LCAKLSAgICAxMzM1NywgMTMzNTksIDEzMzYxLCAxMzM2MywgMTMzNjUsIDEzMzY3LCAxMzM2OSwgMTMzNzEsIDEzMzczLCAxMzM3NSwgCi0gICAgMTMzNzcsIDEzMzc5LCAxMzM4MSwgMTMzODMsIDEzMzg1LCAxMzM4NywgMTMzODksIDEzMzkxLCAxMzM5MywgMTMzOTUsIAotICAgIDEzMzk3LCAxMzM5OSwgMTM0MDEsIDEzNDAzLCAxMzQwNSwgMTM0MDcsIDEzNDA5LCAxMzQxMSwgMTM0MTMsIDEzNDE1LCAKLSAgICAxMzQxNywgMTM0MTksIDEzNDIxLCAxMzQyMywgMTM0MjUsIDEzNDI3LCAxMzQyOSwgMTM0MzEsIDEzNDMzLCAxMzQzNSwgCi0gICAgMTM0MzcsIDEzNDM5LCAxMzQ0MSwgMTM0NDMsIDEzNDQ1LCAxMzQ0NywgMTM0NDksIDEzNDUxLCAxMzQ1MywgMTM0NTUsIAotICAgIDEzNDU3LCAxMzQ1OSwgMTM0NjEsIDEzNDYzLCAxMzQ2NSwgMTM0NjcsIDEzNDY5LCAxMzQ3MSwgMTM0NzMsIDEzNDc1LCAKLSAgICAxMzQ3NywgMTM0NzksIDEzNDgxLCAxMzQ4MywgMTM0ODUsIDEzNDg3LCAxMzQ4OSwgMTM0OTEsIDEzNDkzLCAxMzQ5NSwgCi0gICAgMTM0OTcsIDEzNDk5LCAxMzUwMSwgMTM1MDMsIDEzNTA1LCAxMzUwNywgMTM1MDksIDEzNTExLCAxMzUxMywgMTM1MTUsIAotICAgIDEzNTE3LCAxMzUxOSwgMTM1MjEsIDEzNTIzLCAxMzUyNSwgMTM1MjcsIDEzNTI5LCAxMzUzMSwgMTM1MzMsIDEzNTM1LCAKLSAgICAxMzUzNywgMTM1MzksIDEzNTQxLCAxMzU0MywgMTM1NDUsIDEzNTQ3LCAxMzU0OSwgMTM1NTEsIDEzNTUzLCAxMzU1NSwgCi0gICAgMTM1NTcsIDEzNTU5LCAxMzU2MSwgMTM1NjMsIDEzNTY1LCAxMzU2NywgMTM1NjksIDEzNTcxLCAxMzU3MywgMTM1NzUsIAotICAgIDEzNTc3LCAxMzU3OSwgMTM1ODEsIDEzNTgzLCAxMzU4NSwgMTM1ODcsIDEzNTg5LCAxMzU5MSwgMTM1OTMsIDEzNTk1LCAKLSAgICAxMzU5NywgMTM1OTksIDEzNjAxLCAxMzYwMywgMTM2MDUsIDEzNjA3LCAxMzYwOSwgMTM2MTEsIDEzNjEzLCAxMzYxNSwgCi0gICAgMTM2MTcsIDEzNjE5LCAxMzYyMSwgMTM2MjMsIDEzNjI1LCAxMzYyNywgMTM2MjksIDEzNjMxLCAxMzYzMywgMTM2MzUsIAotICAgIDEzNjM3LCAxMzYzOSwgMTM2NDEsIDEzNjQzLCAxMzY0NSwgMTM2NDcsIDEzNjQ5LCAxMzY1MSwgMTM2NTMsIDEzNjU1LCAKLSAgICAxMzY1NywgMTM2NTksIDEzNjYxLCAxMzY2MywgMTM2NjUsIDEzNjY3LCAxMzY2OSwgMTM2NzEsIDEzNjczLCAxMzY3NSwgCi0gICAgMTM2NzcsIDEzNjc5LCAxMzY4MSwgMTM2ODMsIDEzNjg1LCAxMzY4NywgMTM2ODksIDEzNjkxLCAxMzY5MywgMTM2OTUsIAotICAgIDEzNjk3LCAxMzY5OSwgMTM3MDEsIDEzNzAzLCAxMzcwNSwgMTM3MDcsIDEzNzA5LCAxMzcxMSwgMTM3MTMsIDEzNzE1LCAKLSAgICAxMzcxNywgMTM3MTksIDEzNzIxLCAxMzcyMywgMTM3MjUsIDEzNzI3LCAxMzcyOSwgMTM3MzEsIDEzNzMzLCAxMzczNSwgCi0gICAgMTM3MzcsIDEzNzM5LCAxMzc0MSwgMTM3NDMsIDEzNzQ1LCAxMzc0NywgMTM3NDksIDEzNzUxLCAxMzc1MywgMTM3NTUsIAotICAgIDEzNzU3LCAxMzc1OSwgMTM3NjEsIDEzNzYzLCAxMzc2NSwgMTM3NjcsIDEzNzY5LCAxMzc3MSwgMTM3NzMsIDEzNzc1LCAKLSAgICAxMzc3NywgMTM3NzksIDEzNzgxLCAxMzc4MywgMTM3ODUsIDEzNzg3LCAxMzc4OSwgMTM3OTEsIDEzNzkzLCAxMzc5NSwgCi0gICAgMTM3OTcsIDEzNzk5LCAxMzgwMSwgMTM4MDMsIDEzODA1LCAxMzgwNywgMTM4MDksIDEzODExLCAxMzgxMywgMTM4MTUsIAotICAgIDEzODE3LCAxMzgxOSwgMTM4MjEsIDEzODIzLCAxMzgyNSwgMTM4MjcsIDEzODI5LCAxMzgzMSwgMTM4MzMsIDEzODM1LCAKLSAgICAxMzgzNywgMTM4MzksIDEzODQxLCAxMzg0MywgMTM4NDUsIDEzODQ3LCAxMzg0OSwgMTM4NTEsIDEzODUzLCAxMzg1NSwgCi0gICAgMTM4NTcsIDEzODU5LCAxMzg2MSwgMTM4NjMsIDEzODY1LCAxMzg2NywgMTM4NjksIDEzODcxLCAxMzg3MywgMTM4NzUsIAotICAgIDEzODc3LCAxMzg3OSwgMTM4ODEsIDEzODgzLCAxMzg4NSwgMTM4ODcsIDEzODg5LCAxMzg5MSwgMTM4OTMsIDEzODk1LCAKLSAgICAxMzg5NywgMTM4OTksIDEzOTAxLCAxMzkwMywgMTM5MDUsIDEzOTA3LCAxMzkwOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTA0NDUsIDEwNDQ4LCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKQEAgLTQ2NDEsNDAyICs0NTM5LDYyMyBAQAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEwNDUxLCAxMDQ1NCwgMTA0NTcsIDEwNDYwLCAxMDQ2MywgCisgICAgMTA0NjYsIDEwNDY5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMDQ3MiwgMTA0NzUsIAorICAgIDEwNDc4LCAxMDQ4MSwgMTA0ODQsIDEwNDg3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAxMDQ5MCwgMTA0OTIsIDEwNDk0LCAxMDQ5NiwgMTA0OTgsIDEwNTAwLCAxMDUwMiwgMTA1MDQsIDEwNTA2LCAxMDUwOCwgCisgICAgMTA1MTAsIDEwNTEyLCAxMDUxNCwgMTA1MTYsIDEwNTE4LCAxMDUyMCwgMTA1MjIsIDEwNTI0LCAxMDUyNiwgMTA1MjgsIAorICAgIDEwNTMwLCAxMDUzMiwgMTA1MzQsIDEwNTM2LCAxMDUzOCwgMTA1NDAsIDEwNTQyLCAxMDU0NCwgMTA1NDYsIDEwNTQ4LCAKKyAgICAxMDU1MCwgMTA1NTIsIDEwNTU0LCAxMDU1NiwgMTA1NTgsIDEwNTYwLCAxMDU2MiwgMTA1NjQsIDEwNTY2LCAxMDU2OCwgCisgICAgMTA1NzAsIDEwNTcyLCAxMDU3NCwgMTA1NzYsIDEwNTc4LCAxMDU4MCwgMTA1ODIsIDEwNTg0LCAxMDU4NiwgMTA1ODgsIAorICAgIDEwNTkwLCAxMDU5MiwgMTA1OTQsIDEwNTk2LCAxMDU5OCwgMTA2MDAsIDEwNjAyLCAxMDYwNCwgMTA2MDYsIDEwNjA4LCAKKyAgICAxMDYxMCwgMTA2MTIsIDEwNjE0LCAxMDYxNiwgMTA2MTgsIDEwNjIwLCAxMDYyMiwgMTA2MjQsIDEwNjI2LCAxMDYyOCwgCisgICAgMTA2MzAsIDEwNjMyLCAxMDYzNCwgMTA2MzYsIDEwNjM4LCAxMDY0MCwgMTA2NDIsIDEwNjQ0LCAxMDY0NiwgMTA2NDgsIAorICAgIDEwNjUwLCAxMDY1MiwgMTA2NTQsIDEwNjU2LCAxMDY1OCwgMCwgMTA2NjAsIDEwNjYyLCAxMDY2NCwgMTA2NjYsIDEwNjY4LCAKKyAgICAxMDY3MCwgMTA2NzIsIDEwNjc0LCAxMDY3NiwgMTA2NzgsIDEwNjgwLCAxMDY4MiwgMTA2ODQsIDEwNjg2LCAxMDY4OCwgCisgICAgMTA2OTAsIDEwNjkyLCAxMDY5NCwgMTA2OTYsIDEwNjk4LCAxMDcwMCwgMTA3MDIsIDEwNzA0LCAxMDcwNiwgMTA3MDgsIAorICAgIDEwNzEwLCAxMDcxMiwgMTA3MTQsIDEwNzE2LCAxMDcxOCwgMTA3MjAsIDEwNzIyLCAxMDcyNCwgMTA3MjYsIDEwNzI4LCAKKyAgICAxMDczMCwgMTA3MzIsIDEwNzM0LCAxMDczNiwgMTA3MzgsIDEwNzQwLCAxMDc0MiwgMTA3NDQsIDEwNzQ2LCAxMDc0OCwgCisgICAgMTA3NTAsIDEwNzUyLCAxMDc1NCwgMTA3NTYsIDEwNzU4LCAxMDc2MCwgMTA3NjIsIDEwNzY0LCAxMDc2NiwgMTA3NjgsIAorICAgIDEwNzcwLCAxMDc3MiwgMTA3NzQsIDEwNzc2LCAxMDc3OCwgMTA3ODAsIDEwNzgyLCAxMDc4NCwgMTA3ODYsIDEwNzg4LCAKKyAgICAxMDc5MCwgMTA3OTIsIDEwNzk0LCAxMDc5NiwgMTA3OTgsIDEwODAwLCAwLCAxMDgwMiwgMTA4MDQsIDAsIDAsIDEwODA2LCAKKyAgICAwLCAwLCAxMDgwOCwgMTA4MTAsIDAsIDAsIDEwODEyLCAxMDgxNCwgMTA4MTYsIDEwODE4LCAwLCAxMDgyMCwgMTA4MjIsIAorICAgIDEwODI0LCAxMDgyNiwgMTA4MjgsIDEwODMwLCAxMDgzMiwgMTA4MzQsIDEwODM2LCAxMDgzOCwgMTA4NDAsIDEwODQyLCAwLCAKKyAgICAxMDg0NCwgMCwgMTA4NDYsIDEwODQ4LCAxMDg1MCwgMTA4NTIsIDEwODU0LCAxMDg1NiwgMTA4NTgsIDAsIDEwODYwLCAKKyAgICAxMDg2MiwgMTA4NjQsIDEwODY2LCAxMDg2OCwgMTA4NzAsIDEwODcyLCAxMDg3NCwgMTA4NzYsIDEwODc4LCAxMDg4MCwgCisgICAgMTA4ODIsIDEwODg0LCAxMDg4NiwgMTA4ODgsIDEwODkwLCAxMDg5MiwgMTA4OTQsIDEwODk2LCAxMDg5OCwgMTA5MDAsIAorICAgIDEwOTAyLCAxMDkwNCwgMTA5MDYsIDEwOTA4LCAxMDkxMCwgMTA5MTIsIDEwOTE0LCAxMDkxNiwgMTA5MTgsIDEwOTIwLCAKKyAgICAxMDkyMiwgMTA5MjQsIDEwOTI2LCAxMDkyOCwgMTA5MzAsIDEwOTMyLCAxMDkzNCwgMTA5MzYsIDEwOTM4LCAxMDk0MCwgCisgICAgMTA5NDIsIDEwOTQ0LCAxMDk0NiwgMTA5NDgsIDEwOTUwLCAxMDk1MiwgMTA5NTQsIDEwOTU2LCAxMDk1OCwgMTA5NjAsIAorICAgIDEwOTYyLCAxMDk2NCwgMTA5NjYsIDEwOTY4LCAxMDk3MCwgMTA5NzIsIDEwOTc0LCAxMDk3NiwgMTA5NzgsIDEwOTgwLCAKKyAgICAxMDk4MiwgMTA5ODQsIDEwOTg2LCAxMDk4OCwgMCwgMTA5OTAsIDEwOTkyLCAxMDk5NCwgMTA5OTYsIDAsIDAsIDEwOTk4LCAKKyAgICAxMTAwMCwgMTEwMDIsIDExMDA0LCAxMTAwNiwgMTEwMDgsIDExMDEwLCAxMTAxMiwgMCwgMTEwMTQsIDExMDE2LCAxMTAxOCwgCisgICAgMTEwMjAsIDExMDIyLCAxMTAyNCwgMTEwMjYsIDAsIDExMDI4LCAxMTAzMCwgMTEwMzIsIDExMDM0LCAxMTAzNiwgMTEwMzgsIAorICAgIDExMDQwLCAxMTA0MiwgMTEwNDQsIDExMDQ2LCAxMTA0OCwgMTEwNTAsIDExMDUyLCAxMTA1NCwgMTEwNTYsIDExMDU4LCAKKyAgICAxMTA2MCwgMTEwNjIsIDExMDY0LCAxMTA2NiwgMTEwNjgsIDExMDcwLCAxMTA3MiwgMTEwNzQsIDExMDc2LCAxMTA3OCwgCisgICAgMTEwODAsIDExMDgyLCAwLCAxMTA4NCwgMTEwODYsIDExMDg4LCAxMTA5MCwgMCwgMTEwOTIsIDExMDk0LCAxMTA5NiwgCisgICAgMTEwOTgsIDExMTAwLCAwLCAxMTEwMiwgMCwgMCwgMCwgMTExMDQsIDExMTA2LCAxMTEwOCwgMTExMTAsIDExMTEyLCAKKyAgICAxMTExNCwgMTExMTYsIDAsIDExMTE4LCAxMTEyMCwgMTExMjIsIDExMTI0LCAxMTEyNiwgMTExMjgsIDExMTMwLCAxMTEzMiwgCisgICAgMTExMzQsIDExMTM2LCAxMTEzOCwgMTExNDAsIDExMTQyLCAxMTE0NCwgMTExNDYsIDExMTQ4LCAxMTE1MCwgMTExNTIsIAorICAgIDExMTU0LCAxMTE1NiwgMTExNTgsIDExMTYwLCAxMTE2MiwgMTExNjQsIDExMTY2LCAxMTE2OCwgMTExNzAsIDExMTcyLCAKKyAgICAxMTE3NCwgMTExNzYsIDExMTc4LCAxMTE4MCwgMTExODIsIDExMTg0LCAxMTE4NiwgMTExODgsIDExMTkwLCAxMTE5MiwgCisgICAgMTExOTQsIDExMTk2LCAxMTE5OCwgMTEyMDAsIDExMjAyLCAxMTIwNCwgMTEyMDYsIDExMjA4LCAxMTIxMCwgMTEyMTIsIAorICAgIDExMjE0LCAxMTIxNiwgMTEyMTgsIDExMjIwLCAxMTIyMiwgMTEyMjQsIDExMjI2LCAxMTIyOCwgMTEyMzAsIDExMjMyLCAKKyAgICAxMTIzNCwgMTEyMzYsIDExMjM4LCAxMTI0MCwgMTEyNDIsIDExMjQ0LCAxMTI0NiwgMTEyNDgsIDExMjUwLCAxMTI1MiwgCisgICAgMTEyNTQsIDExMjU2LCAxMTI1OCwgMTEyNjAsIDExMjYyLCAxMTI2NCwgMTEyNjYsIDExMjY4LCAxMTI3MCwgMTEyNzIsIAorICAgIDExMjc0LCAxMTI3NiwgMTEyNzgsIDExMjgwLCAxMTI4MiwgMTEyODQsIDExMjg2LCAxMTI4OCwgMTEyOTAsIDExMjkyLCAKKyAgICAxMTI5NCwgMTEyOTYsIDExMjk4LCAxMTMwMCwgMTEzMDIsIDExMzA0LCAxMTMwNiwgMTEzMDgsIDExMzEwLCAxMTMxMiwgCisgICAgMTEzMTQsIDExMzE2LCAxMTMxOCwgMTEzMjAsIDExMzIyLCAxMTMyNCwgMTEzMjYsIDExMzI4LCAxMTMzMCwgMTEzMzIsIAorICAgIDExMzM0LCAxMTMzNiwgMTEzMzgsIDExMzQwLCAxMTM0MiwgMTEzNDQsIDExMzQ2LCAxMTM0OCwgMTEzNTAsIDExMzUyLCAKKyAgICAxMTM1NCwgMTEzNTYsIDExMzU4LCAxMTM2MCwgMTEzNjIsIDExMzY0LCAxMTM2NiwgMTEzNjgsIDExMzcwLCAxMTM3MiwgCisgICAgMTEzNzQsIDExMzc2LCAxMTM3OCwgMTEzODAsIDExMzgyLCAxMTM4NCwgMTEzODYsIDExMzg4LCAxMTM5MCwgMTEzOTIsIAorICAgIDExMzk0LCAxMTM5NiwgMTEzOTgsIDExNDAwLCAxMTQwMiwgMTE0MDQsIDExNDA2LCAxMTQwOCwgMTE0MTAsIDExNDEyLCAKKyAgICAxMTQxNCwgMTE0MTYsIDExNDE4LCAxMTQyMCwgMTE0MjIsIDExNDI0LCAxMTQyNiwgMTE0MjgsIDExNDMwLCAxMTQzMiwgCisgICAgMTE0MzQsIDExNDM2LCAxMTQzOCwgMTE0NDAsIDExNDQyLCAxMTQ0NCwgMTE0NDYsIDExNDQ4LCAxMTQ1MCwgMTE0NTIsIAorICAgIDExNDU0LCAxMTQ1NiwgMTE0NTgsIDExNDYwLCAxMTQ2MiwgMTE0NjQsIDExNDY2LCAxMTQ2OCwgMTE0NzAsIDExNDcyLCAKKyAgICAxMTQ3NCwgMTE0NzYsIDExNDc4LCAxMTQ4MCwgMTE0ODIsIDExNDg0LCAxMTQ4NiwgMTE0ODgsIDExNDkwLCAxMTQ5MiwgCisgICAgMTE0OTQsIDExNDk2LCAxMTQ5OCwgMTE1MDAsIDExNTAyLCAxMTUwNCwgMTE1MDYsIDExNTA4LCAxMTUxMCwgMTE1MTIsIAorICAgIDExNTE0LCAxMTUxNiwgMTE1MTgsIDExNTIwLCAxMTUyMiwgMTE1MjQsIDExNTI2LCAxMTUyOCwgMTE1MzAsIDExNTMyLCAKKyAgICAxMTUzNCwgMTE1MzYsIDExNTM4LCAxMTU0MCwgMTE1NDIsIDExNTQ0LCAxMTU0NiwgMTE1NDgsIDExNTUwLCAxMTU1MiwgCisgICAgMTE1NTQsIDExNTU2LCAxMTU1OCwgMTE1NjAsIDExNTYyLCAxMTU2NCwgMTE1NjYsIDExNTY4LCAxMTU3MCwgMTE1NzIsIAorICAgIDExNTc0LCAxMTU3NiwgMTE1NzgsIDExNTgwLCAxMTU4MiwgMTE1ODQsIDExNTg2LCAxMTU4OCwgMTE1OTAsIDExNTkyLCAKKyAgICAxMTU5NCwgMTE1OTYsIDExNTk4LCAxMTYwMCwgMTE2MDIsIDExNjA0LCAxMTYwNiwgMTE2MDgsIDExNjEwLCAxMTYxMiwgCisgICAgMTE2MTQsIDExNjE2LCAxMTYxOCwgMTE2MjAsIDExNjIyLCAxMTYyNCwgMTE2MjYsIDExNjI4LCAxMTYzMCwgMTE2MzIsIAorICAgIDExNjM0LCAxMTYzNiwgMTE2MzgsIDExNjQwLCAxMTY0MiwgMTE2NDQsIDExNjQ2LCAxMTY0OCwgMTE2NTAsIDExNjUyLCAKKyAgICAxMTY1NCwgMTE2NTYsIDExNjU4LCAxMTY2MCwgMTE2NjIsIDExNjY0LCAxMTY2NiwgMTE2NjgsIDExNjcwLCAxMTY3MiwgCisgICAgMTE2NzQsIDExNjc2LCAxMTY3OCwgMTE2ODAsIDExNjgyLCAxMTY4NCwgMTE2ODYsIDExNjg4LCAxMTY5MCwgMTE2OTIsIAorICAgIDExNjk0LCAxMTY5NiwgMTE2OTgsIDExNzAwLCAxMTcwMiwgMTE3MDQsIDExNzA2LCAxMTcwOCwgMTE3MTAsIDExNzEyLCAKKyAgICAxMTcxNCwgMTE3MTYsIDExNzE4LCAxMTcyMCwgMTE3MjIsIDExNzI0LCAxMTcyNiwgMTE3MjgsIDExNzMwLCAxMTczMiwgCisgICAgMTE3MzQsIDExNzM2LCAxMTczOCwgMTE3NDAsIDExNzQyLCAxMTc0NCwgMTE3NDYsIDExNzQ4LCAxMTc1MCwgMTE3NTIsIAorICAgIDExNzU0LCAxMTc1NiwgMTE3NTgsIDExNzYwLCAxMTc2MiwgMTE3NjQsIDExNzY2LCAxMTc2OCwgMTE3NzAsIDExNzcyLCAKKyAgICAxMTc3NCwgMTE3NzYsIDExNzc4LCAxMTc4MCwgMTE3ODIsIDExNzg0LCAxMTc4NiwgMTE3ODgsIDExNzkwLCAxMTc5MiwgCisgICAgMTE3OTQsIDExNzk2LCAwLCAwLCAxMTc5OCwgMTE4MDAsIDExODAyLCAxMTgwNCwgMTE4MDYsIDExODA4LCAxMTgxMCwgCisgICAgMTE4MTIsIDExODE0LCAxMTgxNiwgMTE4MTgsIDExODIwLCAxMTgyMiwgMTE4MjQsIDExODI2LCAxMTgyOCwgMTE4MzAsIAorICAgIDExODMyLCAxMTgzNCwgMTE4MzYsIDExODM4LCAxMTg0MCwgMTE4NDIsIDExODQ0LCAxMTg0NiwgMTE4NDgsIDExODUwLCAKKyAgICAxMTg1MiwgMTE4NTQsIDExODU2LCAxMTg1OCwgMTE4NjAsIDExODYyLCAxMTg2NCwgMTE4NjYsIDExODY4LCAxMTg3MCwgCisgICAgMTE4NzIsIDExODc0LCAxMTg3NiwgMTE4NzgsIDExODgwLCAxMTg4MiwgMTE4ODQsIDExODg2LCAxMTg4OCwgMTE4OTAsIAorICAgIDExODkyLCAxMTg5NCwgMTE4OTYsIDExODk4LCAxMTkwMCwgMTE5MDIsIDExOTA0LCAxMTkwNiwgMTE5MDgsIDExOTEwLCAKKyAgICAxMTkxMiwgMTE5MTQsIDExOTE2LCAxMTkxOCwgMTE5MjAsIDExOTIyLCAxMTkyNCwgMTE5MjYsIDExOTI4LCAxMTkzMCwgCisgICAgMTE5MzIsIDExOTM0LCAxMTkzNiwgMTE5MzgsIDExOTQwLCAxMTk0MiwgMTE5NDQsIDExOTQ2LCAxMTk0OCwgMTE5NTAsIAorICAgIDExOTUyLCAxMTk1NCwgMTE5NTYsIDExOTU4LCAxMTk2MCwgMTE5NjIsIDExOTY0LCAxMTk2NiwgMTE5NjgsIDExOTcwLCAKKyAgICAxMTk3MiwgMTE5NzQsIDExOTc2LCAxMTk3OCwgMTE5ODAsIDExOTgyLCAxMTk4NCwgMTE5ODYsIDExOTg4LCAxMTk5MCwgCisgICAgMTE5OTIsIDExOTk0LCAxMTk5NiwgMTE5OTgsIDEyMDAwLCAxMjAwMiwgMTIwMDQsIDEyMDA2LCAxMjAwOCwgMTIwMTAsIAorICAgIDEyMDEyLCAxMjAxNCwgMTIwMTYsIDEyMDE4LCAxMjAyMCwgMTIwMjIsIDEyMDI0LCAxMjAyNiwgMTIwMjgsIDEyMDMwLCAKKyAgICAxMjAzMiwgMTIwMzQsIDEyMDM2LCAxMjAzOCwgMTIwNDAsIDEyMDQyLCAxMjA0NCwgMTIwNDYsIDEyMDQ4LCAxMjA1MCwgCisgICAgMTIwNTIsIDEyMDU0LCAxMjA1NiwgMTIwNTgsIDEyMDYwLCAxMjA2MiwgMTIwNjQsIDEyMDY2LCAxMjA2OCwgMTIwNzAsIAorICAgIDEyMDcyLCAxMjA3NCwgMTIwNzYsIDEyMDc4LCAxMjA4MCwgMTIwODIsIDEyMDg0LCAxMjA4NiwgMTIwODgsIDEyMDkwLCAKKyAgICAxMjA5MiwgMTIwOTQsIDEyMDk2LCAxMjA5OCwgMTIxMDAsIDEyMTAyLCAxMjEwNCwgMTIxMDYsIDEyMTA4LCAxMjExMCwgCisgICAgMTIxMTIsIDEyMTE0LCAxMjExNiwgMTIxMTgsIDEyMTIwLCAxMjEyMiwgMTIxMjQsIDEyMTI2LCAxMjEyOCwgMTIxMzAsIAorICAgIDEyMTMyLCAxMjEzNCwgMTIxMzYsIDEyMTM4LCAxMjE0MCwgMTIxNDIsIDEyMTQ0LCAxMjE0NiwgMTIxNDgsIDEyMTUwLCAKKyAgICAxMjE1MiwgMTIxNTQsIDEyMTU2LCAxMjE1OCwgMTIxNjAsIDEyMTYyLCAxMjE2NCwgMTIxNjYsIDEyMTY4LCAxMjE3MCwgCisgICAgMTIxNzIsIDEyMTc0LCAxMjE3NiwgMTIxNzgsIDEyMTgwLCAxMjE4MiwgMTIxODQsIDEyMTg2LCAxMjE4OCwgMTIxOTAsIAorICAgIDEyMTkyLCAxMjE5NCwgMTIxOTYsIDEyMTk4LCAxMjIwMCwgMTIyMDIsIDEyMjA0LCAxMjIwNiwgMTIyMDgsIDEyMjEwLCAKKyAgICAxMjIxMiwgMTIyMTQsIDEyMjE2LCAxMjIxOCwgMTIyMjAsIDEyMjIyLCAxMjIyNCwgMTIyMjYsIDEyMjI4LCAxMjIzMCwgCisgICAgMTIyMzIsIDEyMjM0LCAxMjIzNiwgMTIyMzgsIDEyMjQwLCAxMjI0MiwgMTIyNDQsIDEyMjQ2LCAxMjI0OCwgMTIyNTAsIAorICAgIDEyMjUyLCAxMjI1NCwgMTIyNTYsIDEyMjU4LCAxMjI2MCwgMTIyNjIsIDEyMjY0LCAxMjI2NiwgMTIyNjgsIDEyMjcwLCAKKyAgICAxMjI3MiwgMTIyNzQsIDEyMjc2LCAxMjI3OCwgMTIyODAsIDEyMjgyLCAxMjI4NCwgMTIyODYsIDEyMjg4LCAxMjI5MCwgCisgICAgMTIyOTIsIDEyMjk0LCAxMjI5NiwgMTIyOTgsIDEyMzAwLCAxMjMwMiwgMTIzMDQsIDEyMzA2LCAxMjMwOCwgMTIzMTAsIAorICAgIDEyMzEyLCAxMjMxNCwgMTIzMTYsIDEyMzE4LCAxMjMyMCwgMTIzMjIsIDEyMzI0LCAxMjMyNiwgMTIzMjgsIDEyMzMwLCAKKyAgICAxMjMzMiwgMTIzMzQsIDEyMzM2LCAxMjMzOCwgMTIzNDAsIDEyMzQyLCAxMjM0NCwgMTIzNDYsIDEyMzQ4LCAxMjM1MCwgCisgICAgMTIzNTIsIDEyMzU0LCAxMjM1NiwgMTIzNTgsIDEyMzYwLCAxMjM2MiwgMTIzNjQsIDEyMzY2LCAxMjM2OCwgMTIzNzAsIAorICAgIDEyMzcyLCAxMjM3NCwgMTIzNzYsIDEyMzc4LCAxMjM4MCwgMCwgMCwgMTIzODIsIDEyMzg0LCAxMjM4NiwgMTIzODgsIAorICAgIDEyMzkwLCAxMjM5MiwgMTIzOTQsIDEyMzk2LCAxMjM5OCwgMTI0MDAsIDEyNDAyLCAxMjQwNCwgMTI0MDYsIDEyNDA4LCAKKyAgICAxMjQxMCwgMTI0MTIsIDEyNDE0LCAxMjQxNiwgMTI0MTgsIDEyNDIwLCAxMjQyMiwgMTI0MjQsIDEyNDI2LCAxMjQyOCwgCisgICAgMTI0MzAsIDEyNDMyLCAxMjQzNCwgMTI0MzYsIDEyNDM4LCAxMjQ0MCwgMTI0NDIsIDEyNDQ0LCAxMjQ0NiwgMTI0NDgsIAorICAgIDEyNDUwLCAxMjQ1MiwgMTI0NTQsIDEyNDU2LCAxMjQ1OCwgMTI0NjAsIDEyNDYyLCAxMjQ2NCwgMTI0NjYsIDEyNDY4LCAKKyAgICAxMjQ3MCwgMTI0NzIsIDEyNDc0LCAxMjQ3NiwgMTI0NzgsIDEyNDgwLCAxMjQ4MiwgMTI0ODQsIDEyNDg2LCAxMjQ4OCwgMCwgCisgICAgMTI0OTAsIDEyNDkyLCAxMjQ5NCwgMTI0OTYsIDEyNDk4LCAxMjUwMCwgMTI1MDIsIDEyNTA0LCAxMjUwNiwgMTI1MDgsIAorICAgIDEyNTEwLCAxMjUxMiwgMTI1MTQsIDEyNTE2LCAxMjUxOCwgMTI1MjAsIDEyNTIyLCAxMjUyNCwgMTI1MjYsIDEyNTI4LCAKKyAgICAxMjUzMCwgMTI1MzIsIDEyNTM0LCAxMjUzNiwgMTI1MzgsIDEyNTQwLCAxMjU0MiwgMCwgMTI1NDQsIDEyNTQ2LCAwLCAKKyAgICAxMjU0OCwgMCwgMCwgMTI1NTAsIDAsIDEyNTUyLCAxMjU1NCwgMTI1NTYsIDEyNTU4LCAxMjU2MCwgMTI1NjIsIDEyNTY0LCAKKyAgICAxMjU2NiwgMTI1NjgsIDEyNTcwLCAwLCAxMjU3MiwgMTI1NzQsIDEyNTc2LCAxMjU3OCwgMCwgMTI1ODAsIDAsIDEyNTgyLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAxMjU4NCwgMCwgMCwgMCwgMCwgMTI1ODYsIDAsIDEyNTg4LCAwLCAxMjU5MCwgMCwgMTI1OTIsIAorICAgIDEyNTk0LCAxMjU5NiwgMCwgMTI1OTgsIDEyNjAwLCAwLCAxMjYwMiwgMCwgMCwgMTI2MDQsIDAsIDEyNjA2LCAwLCAxMjYwOCwgCisgICAgMCwgMTI2MTAsIDAsIDEyNjEyLCAwLCAxMjYxNCwgMTI2MTYsIDAsIDEyNjE4LCAwLCAwLCAxMjYyMCwgMTI2MjIsIDEyNjI0LCAKKyAgICAxMjYyNiwgMCwgMTI2MjgsIDEyNjMwLCAxMjYzMiwgMTI2MzQsIDEyNjM2LCAxMjYzOCwgMTI2NDAsIDAsIDEyNjQyLCAKKyAgICAxMjY0NCwgMTI2NDYsIDEyNjQ4LCAwLCAxMjY1MCwgMTI2NTIsIDEyNjU0LCAxMjY1NiwgMCwgMTI2NTgsIDAsIDEyNjYwLCAKKyAgICAxMjY2MiwgMTI2NjQsIDEyNjY2LCAxMjY2OCwgMTI2NzAsIDEyNjcyLCAxMjY3NCwgMTI2NzYsIDEyNjc4LCAwLCAxMjY4MCwgCisgICAgMTI2ODIsIDEyNjg0LCAxMjY4NiwgMTI2ODgsIDEyNjkwLCAxMjY5MiwgMTI2OTQsIDEyNjk2LCAxMjY5OCwgMTI3MDAsIAorICAgIDEyNzAyLCAxMjcwNCwgMTI3MDYsIDEyNzA4LCAxMjcxMCwgMTI3MTIsIDAsIDAsIDAsIDAsIDAsIDEyNzE0LCAxMjcxNiwgCisgICAgMTI3MTgsIDAsIDEyNzIwLCAxMjcyMiwgMTI3MjQsIDEyNzI2LCAxMjcyOCwgMCwgMTI3MzAsIDEyNzMyLCAxMjczNCwgCisgICAgMTI3MzYsIDEyNzM4LCAxMjc0MCwgMTI3NDIsIDEyNzQ0LCAxMjc0NiwgMTI3NDgsIDEyNzUwLCAxMjc1MiwgMTI3NTQsIAorICAgIDEyNzU2LCAxMjc1OCwgMTI3NjAsIDEyNzYyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAxMjc2NCwgMTI3NjcsIDEyNzcwLCAxMjc3MywgMTI3NzYsIDEyNzc5LCAxMjc4MiwgMTI3ODUsIAorICAgIDEyNzg4LCAxMjc5MSwgMTI3OTQsIDAsIDAsIDAsIDAsIDAsIDEyNzk3LCAxMjgwMSwgMTI4MDUsIDEyODA5LCAxMjgxMywgCisgICAgMTI4MTcsIDEyODIxLCAxMjgyNSwgMTI4MjksIDEyODMzLCAxMjgzNywgMTI4NDEsIDEyODQ1LCAxMjg0OSwgMTI4NTMsIAorICAgIDEyODU3LCAxMjg2MSwgMTI4NjUsIDEyODY5LCAxMjg3MywgMTI4NzcsIDEyODgxLCAxMjg4NSwgMTI4ODksIDEyODkzLCAKKyAgICAxMjg5NywgMTI5MDEsIDEyOTA1LCAxMjkwNywgMTI5MDksIDEyOTEyLCAwLCAxMjkxNSwgMTI5MTcsIDEyOTE5LCAxMjkyMSwgCisgICAgMTI5MjMsIDEyOTI1LCAxMjkyNywgMTI5MjksIDEyOTMxLCAxMjkzMywgMTI5MzUsIDEyOTM3LCAxMjkzOSwgMTI5NDEsIAorICAgIDEyOTQzLCAxMjk0NSwgMTI5NDcsIDEyOTQ5LCAxMjk1MSwgMTI5NTMsIDEyOTU1LCAxMjk1NywgMTI5NTksIDEyOTYxLCAKKyAgICAxMjk2MywgMTI5NjUsIDEyOTY3LCAxMjk3MCwgMTI5NzMsIDEyOTc2LCAxMjk3OSwgMTI5ODMsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEyOTg2LCAxMjk4OSwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTI5OTIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDEyOTk1LCAxMjk5OCwgMTMwMDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDEzMDAzLCAxMzAwNSwgMTMwMDcsIDEzMDA5LCAxMzAxMSwgMTMwMTMsIDEzMDE1LCAxMzAxNywgMTMwMTksIDEzMDIxLCAKKyAgICAxMzAyMywgMTMwMjUsIDEzMDI3LCAxMzAyOSwgMTMwMzEsIDEzMDMzLCAxMzAzNSwgMTMwMzcsIDEzMDM5LCAxMzA0MSwgCisgICAgMTMwNDMsIDEzMDQ1LCAxMzA0NywgMTMwNDksIDEzMDUxLCAxMzA1MywgMTMwNTUsIDEzMDU3LCAxMzA1OSwgMTMwNjEsIAorICAgIDEzMDYzLCAxMzA2NSwgMTMwNjcsIDEzMDY5LCAxMzA3MSwgMTMwNzMsIDEzMDc1LCAxMzA3NywgMTMwNzksIDEzMDgxLCAKKyAgICAxMzA4MywgMTMwODUsIDEzMDg3LCAwLCAwLCAwLCAwLCAwLCAxMzA4OSwgMTMwOTMsIDEzMDk3LCAxMzEwMSwgMTMxMDUsIAorICAgIDEzMTA5LCAxMzExMywgMTMxMTcsIDEzMTIxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzEyNSwgMTMxMjcsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDEzMTI5LCAxMzEzMSwgMTMxMzMsIDEzMTM1LCAxMzEzNywgMTMxMzksIDEzMTQxLCAxMzE0MywgMTMxNDUsIAorICAgIDEzMTQ3LCAxMzE0OSwgMTMxNTEsIDEzMTUzLCAxMzE1NSwgMTMxNTcsIDEzMTU5LCAxMzE2MSwgMTMxNjMsIDEzMTY1LCAKKyAgICAxMzE2NywgMTMxNjksIDEzMTcxLCAxMzE3MywgMTMxNzUsIDEzMTc3LCAxMzE3OSwgMTMxODEsIDEzMTgzLCAxMzE4NSwgCisgICAgMTMxODcsIDEzMTg5LCAxMzE5MSwgMTMxOTMsIDEzMTk1LCAxMzE5NywgMTMxOTksIDEzMjAxLCAxMzIwMywgMTMyMDUsIAorICAgIDEzMjA3LCAxMzIwOSwgMTMyMTEsIDEzMjEzLCAxMzIxNSwgMTMyMTcsIDEzMjE5LCAxMzIyMSwgMTMyMjMsIDEzMjI1LCAKKyAgICAxMzIyNywgMTMyMjksIDEzMjMxLCAxMzIzMywgMTMyMzUsIDEzMjM3LCAxMzIzOSwgMTMyNDEsIDEzMjQzLCAxMzI0NSwgCisgICAgMTMyNDcsIDEzMjQ5LCAxMzI1MSwgMTMyNTMsIDEzMjU1LCAxMzI1NywgMTMyNTksIDEzMjYxLCAxMzI2MywgMTMyNjUsIAorICAgIDEzMjY3LCAxMzI2OSwgMTMyNzEsIDEzMjczLCAxMzI3NSwgMTMyNzcsIDEzMjc5LCAxMzI4MSwgMTMyODMsIDEzMjg1LCAKKyAgICAxMzI4NywgMTMyODksIDEzMjkxLCAxMzI5MywgMTMyOTUsIDEzMjk3LCAxMzI5OSwgMTMzMDEsIDEzMzAzLCAxMzMwNSwgCisgICAgMTMzMDcsIDEzMzA5LCAxMzMxMSwgMTMzMTMsIDEzMzE1LCAxMzMxNywgMTMzMTksIDEzMzIxLCAxMzMyMywgMTMzMjUsIAorICAgIDEzMzI3LCAxMzMyOSwgMTMzMzEsIDEzMzMzLCAxMzMzNSwgMTMzMzcsIDEzMzM5LCAxMzM0MSwgMTMzNDMsIDEzMzQ1LCAKKyAgICAxMzM0NywgMTMzNDksIDEzMzUxLCAxMzM1MywgMTMzNTUsIDEzMzU3LCAxMzM1OSwgMTMzNjEsIDEzMzYzLCAxMzM2NSwgCisgICAgMTMzNjcsIDEzMzY5LCAxMzM3MSwgMTMzNzMsIDEzMzc1LCAxMzM3NywgMTMzNzksIDEzMzgxLCAxMzM4MywgMTMzODUsIAorICAgIDEzMzg3LCAxMzM4OSwgMTMzOTEsIDEzMzkzLCAxMzM5NSwgMTMzOTcsIDEzMzk5LCAxMzQwMSwgMTM0MDMsIDEzNDA1LCAKKyAgICAxMzQwNywgMTM0MDksIDEzNDExLCAxMzQxMywgMTM0MTUsIDEzNDE3LCAxMzQxOSwgMTM0MjEsIDEzNDIzLCAxMzQyNSwgCisgICAgMTM0MjcsIDEzNDI5LCAxMzQzMSwgMTM0MzMsIDEzNDM1LCAxMzQzNywgMTM0MzksIDEzNDQxLCAxMzQ0MywgMTM0NDUsIAorICAgIDEzNDQ3LCAxMzQ0OSwgMTM0NTEsIDEzNDUzLCAxMzQ1NSwgMTM0NTcsIDEzNDU5LCAxMzQ2MSwgMTM0NjMsIDEzNDY1LCAKKyAgICAxMzQ2NywgMTM0NjksIDEzNDcxLCAxMzQ3MywgMTM0NzUsIDEzNDc3LCAxMzQ3OSwgMTM0ODEsIDEzNDgzLCAxMzQ4NSwgCisgICAgMTM0ODcsIDEzNDg5LCAxMzQ5MSwgMTM0OTMsIDEzNDk1LCAxMzQ5NywgMTM0OTksIDEzNTAxLCAxMzUwMywgMTM1MDUsIAorICAgIDEzNTA3LCAxMzUwOSwgMTM1MTEsIDEzNTEzLCAxMzUxNSwgMTM1MTcsIDEzNTE5LCAxMzUyMSwgMTM1MjMsIDEzNTI1LCAKKyAgICAxMzUyNywgMTM1MjksIDEzNTMxLCAxMzUzMywgMTM1MzUsIDEzNTM3LCAxMzUzOSwgMTM1NDEsIDEzNTQzLCAxMzU0NSwgCisgICAgMTM1NDcsIDEzNTQ5LCAxMzU1MSwgMTM1NTMsIDEzNTU1LCAxMzU1NywgMTM1NTksIDEzNTYxLCAxMzU2MywgMTM1NjUsIAorICAgIDEzNTY3LCAxMzU2OSwgMTM1NzEsIDEzNTczLCAxMzU3NSwgMTM1NzcsIDEzNTc5LCAxMzU4MSwgMTM1ODMsIDEzNTg1LCAKKyAgICAxMzU4NywgMTM1ODksIDEzNTkxLCAxMzU5MywgMTM1OTUsIDEzNTk3LCAxMzU5OSwgMTM2MDEsIDEzNjAzLCAxMzYwNSwgCisgICAgMTM2MDcsIDEzNjA5LCAxMzYxMSwgMTM2MTMsIDEzNjE1LCAxMzYxNywgMTM2MTksIDEzNjIxLCAxMzYyMywgMTM2MjUsIAorICAgIDEzNjI3LCAxMzYyOSwgMTM2MzEsIDEzNjMzLCAxMzYzNSwgMTM2MzcsIDEzNjM5LCAxMzY0MSwgMTM2NDMsIDEzNjQ1LCAKKyAgICAxMzY0NywgMTM2NDksIDEzNjUxLCAxMzY1MywgMTM2NTUsIDEzNjU3LCAxMzY1OSwgMTM2NjEsIDEzNjYzLCAxMzY2NSwgCisgICAgMTM2NjcsIDEzNjY5LCAxMzY3MSwgMTM2NzMsIDEzNjc1LCAxMzY3NywgMTM2NzksIDEzNjgxLCAxMzY4MywgMTM2ODUsIAorICAgIDEzNjg3LCAxMzY4OSwgMTM2OTEsIDEzNjkzLCAxMzY5NSwgMTM2OTcsIDEzNjk5LCAxMzcwMSwgMTM3MDMsIDEzNzA1LCAKKyAgICAxMzcwNywgMTM3MDksIDEzNzExLCAxMzcxMywgMTM3MTUsIDEzNzE3LCAxMzcxOSwgMTM3MjEsIDEzNzIzLCAxMzcyNSwgCisgICAgMTM3MjcsIDEzNzI5LCAxMzczMSwgMTM3MzMsIDEzNzM1LCAxMzczNywgMTM3MzksIDEzNzQxLCAxMzc0MywgMTM3NDUsIAorICAgIDEzNzQ3LCAxMzc0OSwgMTM3NTEsIDEzNzUzLCAxMzc1NSwgMTM3NTcsIDEzNzU5LCAxMzc2MSwgMTM3NjMsIDEzNzY1LCAKKyAgICAxMzc2NywgMTM3NjksIDEzNzcxLCAxMzc3MywgMTM3NzUsIDEzNzc3LCAxMzc3OSwgMTM3ODEsIDEzNzgzLCAxMzc4NSwgCisgICAgMTM3ODcsIDEzNzg5LCAxMzc5MSwgMTM3OTMsIDEzNzk1LCAxMzc5NywgMTM3OTksIDEzODAxLCAxMzgwMywgMTM4MDUsIAorICAgIDEzODA3LCAxMzgwOSwgMTM4MTEsIDEzODEzLCAxMzgxNSwgMTM4MTcsIDEzODE5LCAxMzgyMSwgMTM4MjMsIDEzODI1LCAKKyAgICAxMzgyNywgMTM4MjksIDEzODMxLCAxMzgzMywgMTM4MzUsIDEzODM3LCAxMzgzOSwgMTM4NDEsIDEzODQzLCAxMzg0NSwgCisgICAgMTM4NDcsIDEzODQ5LCAxMzg1MSwgMTM4NTMsIDEzODU1LCAxMzg1NywgMTM4NTksIDEzODYxLCAxMzg2MywgMTM4NjUsIAorICAgIDEzODY3LCAxMzg2OSwgMTM4NzEsIDEzODczLCAxMzg3NSwgMTM4NzcsIDEzODc5LCAxMzg4MSwgMTM4ODMsIDEzODg1LCAKKyAgICAxMzg4NywgMTM4ODksIDEzODkxLCAxMzg5MywgMTM4OTUsIDEzODk3LCAxMzg5OSwgMTM5MDEsIDEzOTAzLCAxMzkwNSwgCisgICAgMTM5MDcsIDEzOTA5LCAxMzkxMSwgMTM5MTMsIDEzOTE1LCAxMzkxNywgMTM5MTksIDEzOTIxLCAxMzkyMywgMTM5MjUsIAorICAgIDEzOTI3LCAxMzkyOSwgMTM5MzEsIDEzOTMzLCAxMzkzNSwgMTM5MzcsIDEzOTM5LCAxMzk0MSwgMTM5NDMsIDEzOTQ1LCAKKyAgICAxMzk0NywgMTM5NDksIDEzOTUxLCAxMzk1MywgMTM5NTUsIDEzOTU3LCAxMzk1OSwgMTM5NjEsIDEzOTYzLCAxMzk2NSwgCisgICAgMTM5NjcsIDEzOTY5LCAxMzk3MSwgMTM5NzMsIDEzOTc1LCAxMzk3NywgMTM5NzksIDEzOTgxLCAxMzk4MywgMTM5ODUsIAorICAgIDEzOTg3LCAxMzk4OSwgMTM5OTEsIDEzOTkzLCAxMzk5NSwgMTM5OTcsIDEzOTk5LCAxNDAwMSwgMTQwMDMsIDE0MDA1LCAKKyAgICAxNDAwNywgMTQwMDksIDE0MDExLCAxNDAxMywgMTQwMTUsIDE0MDE3LCAxNDAxOSwgMTQwMjEsIDE0MDIzLCAxNDAyNSwgCisgICAgMTQwMjcsIDE0MDI5LCAxNDAzMSwgMTQwMzMsIDE0MDM1LCAxNDAzNywgMTQwMzksIDE0MDQxLCAxNDA0MywgMTQwNDUsIAorICAgIDE0MDQ3LCAxNDA0OSwgMTQwNTEsIDE0MDUzLCAxNDA1NSwgMTQwNTcsIDE0MDU5LCAxNDA2MSwgMTQwNjMsIDE0MDY1LCAKKyAgICAxNDA2NywgMTQwNjksIDE0MDcxLCAxNDA3MywgMTQwNzUsIDE0MDc3LCAxNDA3OSwgMTQwODEsIDE0MDgzLCAxNDA4NSwgCisgICAgMTQwODcsIDE0MDg5LCAxNDA5MSwgMTQwOTMsIDE0MDk1LCAxNDA5NywgMTQwOTksIDE0MTAxLCAxNDEwMywgMTQxMDUsIAorICAgIDE0MTA3LCAxNDEwOSwgMTQxMTEsIDE0MTEzLCAxNDExNSwgMTQxMTcsIDE0MTE5LCAxNDEyMSwgMTQxMjMsIDE0MTI1LCAKKyAgICAxNDEyNywgMTQxMjksIDE0MTMxLCAxNDEzMywgMTQxMzUsIDE0MTM3LCAxNDEzOSwgMTQxNDEsIDE0MTQzLCAxNDE0NSwgCisgICAgMTQxNDcsIDE0MTQ5LCAxNDE1MSwgMTQxNTMsIDE0MTU1LCAxNDE1NywgMTQxNTksIDE0MTYxLCAxNDE2MywgMTQxNjUsIAorICAgIDE0MTY3LCAxNDE2OSwgMTQxNzEsIDE0MTczLCAxNDE3NSwgMTQxNzcsIDE0MTc5LCAxNDE4MSwgMTQxODMsIDE0MTg1LCAKKyAgICAxNDE4NywgMTQxODksIDE0MTkxLCAxNDE5MywgMTQxOTUsIDE0MTk3LCAxNDE5OSwgMTQyMDEsIDE0MjAzLCAxNDIwNSwgCisgICAgMTQyMDcsIDE0MjA5LCAxNDIxMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiB9OwogCiAvKiBORkMgcGFpcnMgKi8KICNkZWZpbmUgQ09NUF9TSElGVCAyCiBzdGF0aWMgdW5zaWduZWQgc2hvcnQgY29tcF9pbmRleFtdID0gewogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDIsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDMsIDAsIDAsIDAsIDAsIDAsIDAsIDQsIDUsIDYsIDcsIDgsIDksIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEwLCAwLCAwLCAxMSwgMCwgMTIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEzLCAxNCwgCi0gICAgMTUsIDAsIDAsIDE2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNywgMTgsIDE5LCAyMCwgMjEsIDIyLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAyMywgMjQsIDI1LCAyNiwgMjcsIDI4LCAyOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDMxLCAzMiwgMzMsIDAsIDAsIDM0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAzNSwgMzYsIDM3LCAzOCwgMzksIDQwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0MSwgNDIsIDQzLCA0NCwgNDUsIDQ2LCA0NywgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ5LCAwLCAKLSAgICA1MCwgMCwgNTEsIDUyLCA1MywgMCwgMCwgMCwgMCwgMCwgMCwgNTQsIDAsIDAsIDU1LCA1NiwgNTcsIDU4LCA1OSwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgNjAsIDYxLCAwLCAwLCA2MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjMsIDY0LCA2NSwgMCwgCi0gICAgNjYsIDY3LCA2OCwgMCwgMCwgMCwgMCwgMCwgMCwgNjksIDcwLCA3MSwgNzIsIDczLCA3NCwgNzUsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDc2LCAwLCA3NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNzgsIDc5LCAwLCA4MCwgODEsIDgyLCAKLSAgICA4MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgODQsIDg1LCA4NiwgMCwgODcsIDg4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCA4OSwgOTAsIDAsIDkxLCA5MiwgOTMsIDAsIDAsIDAsIDAsIDAsIDAsIDk0LCA5NSwgOTYsIDk3LCA5OCwgOTksIDEwMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTAxLCAwLCAwLCAxMDIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEwMywgCi0gICAgMTA0LCAwLCAwLCAxMDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEwNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMTA3LCAxMDgsIDEwOSwgMCwgMTEwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMTEsIDExMiwgCi0gICAgMCwgMTEzLCAxMTQsIDAsIDExNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTE2LCAxMTcsIDExOCwgMTE5LCAxMjAsIDEyMSwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTIyLCAwLCAwLCAxMjMsIDAsIDEyNCwgMCwgMCwgMCwgMCwgMCwgMCwgMTI1LCAKLSAgICAxMjYsIDEyNywgMTI4LCAwLCAxMjksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEzMCwgMCwgMTMxLCAxMzIsIDEzMywgCi0gICAgMTM0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzUsIDEzNiwgMTM3LCAxMzgsIDEzOSwgMTQwLCAxNDEsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDE0MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTQzLCAxNDQsIDE0NSwgMTQ2LCAwLCAKLSAgICAxNDcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE0OCwgMTQ5LCAxNTAsIDE1MSwgMTUyLCAxNTMsIDE1NCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMTU1LCAxNTYsIDE1NywgMTU4LCAxNTksIDE2MCwgMTYxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNjIsIAotICAgIDAsIDE2MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTY0LCAwLCAwLCAxNjUsIDE2NiwgMTY3LCAwLCAxNjgsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDE2OSwgMCwgMCwgMTcwLCAxNzEsIDE3MiwgMTczLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAxNzQsIDE3NSwgMCwgMCwgMTc2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNzcsIDE3OCwgMTc5LCAxODAsIDAsIDE4MSwgCi0gICAgMTgyLCAxODMsIDAsIDAsIDAsIDAsIDAsIDAsIDE4NCwgMTg1LCAxODYsIDE4NywgMTg4LCAwLCAxODksIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDE5MCwgMTkxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxOTIsIDE5MywgMTk0LCAKLSAgICAxOTUsIDE5NiwgMTk3LCAxOTgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE5OSwgMjAwLCAyMDEsIDAsIDIwMiwgMjAzLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyMDQsIDIwNSwgMjA2LCAyMDcsIDIwOCwgMjA5LCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAyMTAsIDIxMSwgMjEyLCAyMTMsIDIxNCwgMjE1LCAyMTYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDIxNywgMCwgMCwgMCwgCi0gICAgMjE4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyMTksIDIyMCwgMjIxLCAyMjIsIDAsIDIyMywgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMjI0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyMjUsIDIyNiwgMjI3LCAwLCAKLSAgICAyMjgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDIyOSwgMjMwLCAyMzEsIDAsIDIzMiwgMCwgMjMzLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAyMzQsIDIzNSwgMCwgMCwgMCwgMCwgMCwgMjM2LCAwLCAwLCAwLCAwLCAwLCAwLCAyMzcsIDIzOCwgMjM5LCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDI0MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjQyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAyNDMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI0NCwgMjQ1LCAyNDYsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI0NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMjQ4LCAyNDksIDI1MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjUxLCAyNTIsIDI1MywgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjU0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNTUsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI1NiwgMjU3LCAwLCAyNTgsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDI1OSwgMjYwLCAyNjEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI2MiwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjYzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAyNjQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI2NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMjY2LCAyNjcsIDI2OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjY5LCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNzAsIDI3MSwgMjcyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAyNzMsIDI3NCwgMjc1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNzYsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI3NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjc4LCAyNzksIAotICAgIDAsIDI4MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjgxLCAyODIsIDI4MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMjg0LCAyODUsIDI4NiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjg3LCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyODgsIDI4OSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMjkwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyOTEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDI5MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjkzLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyOTQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDI5NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjk2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAyOTcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI5OCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjk5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAzMDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDMwMSwgMzAyLCAzMDMsIDAsIDAsIDMwNCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMzA1LCAzMDYsIDMwNywgMCwgMzA4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMDksIAotICAgIDMxMCwgMzExLCAwLCAzMTIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDMxMywgMCwgMzE0LCAwLCAzMTUsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDMxNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzE3LCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMTgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDMxOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzIwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAzMjEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDMyMiwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzIzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAzMjQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDMyNSwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMzI2LCAzMjcsIDAsIDMyOCwgMzI5LCAwLCAwLCAzMzAsIDAsIDAsIDAsIDAsIDAsIDAsIDMzMSwgMCwgCi0gICAgMCwgMzMyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMzMsIDMzNCwgMCwgMCwgMzM1LCAwLCAwLCAwLCAzMzYsIDAsIAotICAgIDAsIDAsIDAsIDAsIDMzNywgMzM4LCAzMzksIDAsIDM0MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzQxLCAwLCAwLCAKLSAgICAzNDIsIDM0MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzQ0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAzNDUsIDM0NiwgMzQ3LCAwLCAzNDgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM0OSwgMCwgMCwgMCwgCi0gICAgMzUwLCAwLCAwLCAzNTEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM1MiwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzUzLCAwLCAwLCAwLCAwLCAwLCAzNTQsIDM1NSwgMzU2LCAwLCAzNTcsIDAsIAotICAgIDAsIDM1OCwgMzU5LCAwLCAwLCAwLCAwLCAwLCAzNjAsIDAsIDAsIDAsIDM2MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMzYyLCAwLCAwLCAzNjMsIDM2NCwgMCwgMCwgMzY1LCAwLCAwLCAwLCAwLCAwLCAwLCAzNjYsIDM2NywgMCwgMzY4LCAwLCAwLCAKLSAgICAwLCAzNjksIDAsIDAsIDAsIDAsIDAsIDM3MCwgMzcxLCAwLCAwLCAzNzIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDM3MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzc0LCAzNzUsIDM3NiwgMzc3LCAzNzgsIDAsIDAsIAotICAgIDM3OSwgMCwgMCwgMCwgMCwgMCwgMCwgMzgwLCAwLCAwLCAzODEsIDAsIDAsIDAsIDM4MiwgMCwgMCwgMCwgMCwgMCwgMzgzLCAKLSAgICAzODQsIDAsIDAsIDAsIDAsIDAsIDM4NSwgMCwgMCwgMCwgMCwgMCwgMCwgMzg2LCAwLCAwLCAwLCAwLCAwLCAwLCAzODcsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM4OCwgMCwgMCwgMCwgMCwgMCwgMCwgMzg5LCAzOTAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM5MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMzkyLCAzOTMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM5NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMzk1LCAzOTYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM5NywgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzk4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAzOTksIDQwMCwgNDAxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0MDIsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQwMywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDA0LCAKLSAgICA0MDUsIDQwNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDA3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCA0MDgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQwOSwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDEwLCA0MTEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDQxMiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDEzLCA0MTQsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQxNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDE2LCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0MTcsIDQxOCwgNDE5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCA0MjAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQyMSwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDIyLCA0MjMsIDQyNCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgNDI1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0MjYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDQyNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDI4LCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0MjksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDQzMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDMxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCA0MzIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQzMywgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDM0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCA0MzUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQzNiwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDM3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0MzgsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQzOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgNDQwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NDEsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ0MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDQzLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NDQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDQ0NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDQ2LCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NDcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ0OCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDQ5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCA0NTAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ1MSwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDUyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NTMsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ1NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgNDU1LCA0NTYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ1NywgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDU4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NTksIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ2MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNCwgNSwgNiwgNywgOCwgOSwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTAsIDAsIDAsIDExLCAwLCAxMiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTMsIAorICAgIDE0LCAxNSwgMCwgMCwgMTYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE3LCAxOCwgMCwgMTksIDIwLCAyMSwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMjIsIDIzLCAyNCwgMjUsIDI2LCAyNywgMjgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI5LCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMCwgMzEsIDMyLCAwLCAwLCAzMywgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMzQsIDM1LCAzNiwgMCwgMzcsIDM4LCAzOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDAsIDQxLCA0MiwgNDMsIDQ0LCAKKyAgICA0NSwgNDYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA0OCwgMCwgNDksIDAsIDUwLCA1MSwgNTIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUzLCAwLCA1NCwgMCwgNTUsIDU2LCA1NywgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTgsIDU5LCAwLCAwLCA2MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjEsIDYyLCAKKyAgICA2MywgMCwgNjQsIDY1LCA2NiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjcsIDY4LCA2OSwgNzAsIDcxLCA3MiwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgNzMsIDc0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3NSwgNzYsIDc3LCAKKyAgICA3OCwgNzksIDgwLCA4MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgODIsIDgzLCA4NCwgMCwgODUsIDg2LCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCA4NywgODgsIDAsIDg5LCA5MCwgOTEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDkyLCA5MywgOTQsIAorICAgIDk1LCA5NiwgOTcsIDk4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5OSwgMCwgMCwgMCwgMTAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAxMDEsIDEwMiwgMCwgMCwgMTAzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMDQsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEwNSwgMTA2LCAxMDcsIDAsIDEwOCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMTA5LCAxMTAsIDExMSwgMCwgMTEyLCAwLCAxMTMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDExNCwgMTE1LCAxMTYsIAorICAgIDExNywgMTE4LCAxMTksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEyMCwgMCwgMCwgMTIxLCAwLCAxMjIsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDEyMywgMTI0LCAxMjUsIDAsIDAsIDEyNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTI3LCAKKyAgICAxMjgsIDAsIDEyOSwgMTMwLCAxMzEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEzMiwgMTMzLCAxMzQsIDEzNSwgMTM2LCAxMzcsIAorICAgIDEzOCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTM5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAxNDAsIDE0MSwgMTQyLCAwLCAwLCAxNDMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE0NCwgMTQ1LCAxNDYsIDAsIDE0NywgCisgICAgMTQ4LCAxNDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE1MCwgMTUxLCAxNTIsIDE1MywgMTU0LCAxNTUsIDE1NiwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMTU3LCAwLCAxNTgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE1OSwgMCwgMTYwLCAKKyAgICAwLCAxNjEsIDE2MiwgMTYzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNjQsIDAsIDE2NSwgMCwgMTY2LCAxNjcsIDE2OCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMTY5LCAxNzAsIDAsIDAsIDE3MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTcyLCAKKyAgICAxNzMsIDE3NCwgMCwgMTc1LCAxNzYsIDE3NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTc4LCAxNzksIDE4MCwgMTgxLCAxODIsIAorICAgIDE4MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTg0LCAxODUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDE4NiwgMTg3LCAxODgsIDE4OSwgMTkwLCAxOTEsIDE5MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTkzLCAxOTQsIDE5NSwgCisgICAgMCwgMTk2LCAxOTcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE5OCwgMTk5LCAwLCAyMDAsIDIwMSwgMjAyLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAyMDMsIDIwNCwgMjA1LCAyMDYsIDIwNywgMjA4LCAyMDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDIxMCwgMCwgMCwgMCwgMjExLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyMTIsIDIxMywgMjE0LCAwLCAyMTUsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDIxNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjE3LCAKKyAgICAyMTgsIDIxOSwgMCwgMjIwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyMjEsIDIyMiwgMjIzLCAwLCAyMjQsIDAsIAorICAgIDIyNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjI2LCAwLCAwLCAwLCAwLCAwLCAwLCAyMjcsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDIyOCwgMCwgMjI5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyMzAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDIzMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjMyLCAyMzMsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDIzNCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMjM1LCAwLCAyMzYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDIzNywgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjM4LCAwLCAyMzksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDI0MCwgMjQxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNDIsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDI0MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjQ0LCAyNDUsIAorICAgIDI0NiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjQ3LCAwLCAyNDgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDI0OSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjUwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNTEsIDI1MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMjUzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNTQsIDAsIDI1NSwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMjU2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNTcsIDAsIAorICAgIDI1OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjU5LCAyNjAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDI2MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjYyLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNjMsIDI2NCwgMjY1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAyNjYsIDAsIDI2NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjY4LCAwLCAyNjksIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI3MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjcxLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNzIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDI3MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjc0LCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNzUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI3NiwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjc3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAyNzgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI3OSwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjgwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyODEsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI4MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMjgzLCAwLCAyODQsIDAsIDI4NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjg2LCAwLCAyODcsIDAsIAorICAgIDI4OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjg5LCAwLCAyOTAsIDAsIDI5MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMjkyLCAwLCAyOTMsIDAsIDI5NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjk1LCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyOTYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDI5NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjk4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAyOTksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDMwMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzAxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAzMDIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDMwMywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMzA0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMDUsIDMwNiwgMCwgMzA3LCAKKyAgICAwLCAwLCAwLCAzMDgsIDAsIDAsIDAsIDAsIDAsIDAsIDMwOSwgMCwgMCwgMzEwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAzMTEsIDAsIDAsIDMxMiwgMCwgMCwgMCwgMzEzLCAwLCAwLCAwLCAwLCAwLCAwLCAzMTQsIDMxNSwgMCwgMzE2LCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMTcsIDAsIDAsIDMxOCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMzE5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMjAsIDMyMSwgMCwgMzIyLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMjMsIDAsIDAsIDMyNCwgMCwgMCwgMCwgMzI1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAzMjYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDMyNywgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMzI4LCAzMjksIDAsIDMzMCwgMCwgMCwgMCwgMzMxLCAwLCAwLCAwLCAwLCAwLCAwLCAzMzIsIDAsIDAsIAorICAgIDMzMywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzM0LCAwLCAwLCAzMzUsIDAsIDAsIDAsIDMzNiwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMzM3LCAzMzgsIDAsIDMzOSwgMCwgMCwgMCwgMzQwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNDEsIDAsIDAsIAorICAgIDM0MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzQzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAzNDQsIDM0NSwgMCwgMzQ2LCAwLCAwLCAwLCAzNDcsIDAsIDAsIDAsIDAsIDAsIDAsIDM0OCwgMCwgMCwgMzQ5LCAKKyAgICAwLCAwLCAwLCAzNTAsIDAsIDAsIDAsIDAsIDAsIDAsIDM1MSwgMCwgMCwgMCwgMCwgMCwgMCwgMzUyLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAzNTMsIDAsIDAsIDAsIDAsIDAsIDAsIDM1NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMzU1LCAwLCAwLCAwLCAwLCAwLCAwLCAzNTYsIDM1NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMzU4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNTksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDM2MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzYxLCAzNjIsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM2MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMzY0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNjUsIDM2NiwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMzY3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNjgsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM2OSwgMzcwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAzNzEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM3MiwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzczLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNzQsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM3NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMzc2LCAzNzcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM3OCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzc5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzODAsIAorICAgIDM4MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzgyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAzODMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM4NCwgMzg1LCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzODYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDM4NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzg4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAzODksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM5MCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzkxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAzOTIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM5MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMzk0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzOTUsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM5NiwgMzk3LCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzOTgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM5OSwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCA0MDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQwMiwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDAzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA0MDQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQwNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgNDA2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0MDcsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQwOCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgNDA5LCA0MTAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQxMSwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDEyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0MTMsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQxNCwgNDE1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCA0MTYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQxNywgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDE4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA0MTksIDQyMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDIxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0MjIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQyMywgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDI0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCA0MjUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQyNiwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDI3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0MjgsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQyOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgNDMwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0MzEsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQzMiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDMzLCAwLCAKKyAgICAwLCA0MzQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQzNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgNDM2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0MzcsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQzOCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgNDM5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NDAsIDQ0MSwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgNDQyLCA0NDMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ0NCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDQ1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCA0NDYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ0NywgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDQ4LCAwLCAwLCAwLCAwLCAwLCAwLCA0NDksIDAsIDAsIDAsIDAsIDAsIDAsIDQ1MCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgNDUxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NTIsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ1MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgNDU0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NTUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDQ1NiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDU3LCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCA0NTgsIDAsIDAsIDAsIDAsIDAsIDAsIDQ1OSwgMCwgMCwgMCwgMCwgMCwgMCwgNDYwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCA0NjEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ2MiwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDYzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NjQsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ2NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgNDY2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NjcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDQ2OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDY5LCAwLCAKLSAgICA0NzAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ3MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgNDcyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NzMsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ3NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgNDc1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NzYsIDQ3NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgNDc4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NzksIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgNDgxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0ODIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDQ4MywgMCwgMCwgMCwgMCwgMCwgMCwgNDg0LCAwLCAwLCAwLCAwLCAwLCAwLCA0ODUsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDQ4NiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDg3LCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0ODgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4OSwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDkwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCA0OTEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ5MiwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgNDkzLCAwLCAwLCAwLCAwLCAwLCAwLCA0OTQsIDAsIDAsIDAsIDAsIDAsIDAsIDQ5NSwgMCwgMCwgMCwgMCwgMCwgMCwgNDk2LCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0OTcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDQ5OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDk5LCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1MDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUwMSwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTAyLCAwLCAwLCAwLCAwLCAwLCAwLCA1MDMsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUwNCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTA1LCAKLSAgICA1MDYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUwNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgNTA4LCAwLCAwLCAwLCAwLCAwLCAwLCA1MDksIDAsIDAsIDAsIDAsIDAsIDAsIDUxMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgNTExLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1MTIsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUxMywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTE0LCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1MTUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDUxNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTE3LCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICA1MTgsIDAsIDAsIDAsIDAsIDAsIDAsIDUxOSwgMCwgMCwgMCwgMCwgMCwgMCwgNTIwLCAwLCAwLCAwLCAwLCAwLCAwLCA1MjEsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUyMiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgNTIzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1MjQsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUyNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTI2LCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1MjcsIDAsIDAsIDAsIDAsIDAsIDAsIDUyOCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgNTI5LCAwLCAwLCAwLCAwLCAwLCAwLCA1MzAsIDAsIDAsIDAsIDAsIDAsIDAsIDUzMSwgMCwgMCwgMCwgMCwgMCwgCi0gICAgNTMyLCA1MzMsIDAsIDAsIDAsIDAsIDAsIDUzNCwgMCwgMCwgMCwgMCwgMCwgMCwgNTM1LCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICA1MzYsIDAsIDAsIDAsIDAsIDAsIDAsIDUzNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTM4LCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1MzksIDU0MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgNTQxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NDIsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDU0MywgMCwgMCwgMCwgMCwgMCwgMCwgNTQ0LCAwLCAwLCAwLCAwLCAwLCAwLCA1NDUsIDAsIDAsIDAsIDAsIDAsIDU0NiwgCi0gICAgNTQ3LCAwLCAwLCAwLCAwLCAwLCA1NDgsIDAsIDAsIDAsIDAsIDAsIDAsIDU0OSwgMCwgMCwgMCwgMCwgMCwgMCwgNTUwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCA1NTEsIDAsIDAsIDAsIDAsIDAsIDAsIDU1MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgNTUzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NTQsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTU2LCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NTcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDU1OCwgMCwgMCwgMCwgMCwgMCwgNTU5LCAwLCAwLCAwLCAwLCAwLCAwLCA1NjAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDU2MSwgMCwgMCwgMCwgMCwgMCwgMCwgNTYyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NjMsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU2NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgNTY1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NjYsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU2NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTY4LCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NjksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDU3MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTcxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCA1NzIsIDAsIDAsIDAsIDAsIDAsIDU3MywgMCwgMCwgMCwgMCwgMCwgMCwgNTc0LCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NzUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDU3NiwgMCwgMCwgMCwgMCwgMCwgNTc3LCA1NzgsIDAsIDAsIDAsIDAsIDAsIDU3OSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgNTgwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1ODEsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ2MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDY0LCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NjUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDQ2NiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDY3LCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCA0NjgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ2OSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgNDcwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NzEsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ3MiwgMCwgMCwgMCwgMCwgMCwgMCwgNDczLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCA0NzQsIDAsIDAsIDAsIDAsIDAsIDAsIDQ3NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgNDc2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NzcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDQ3OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDc5LCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0ODAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDQ4MSwgMCwgMCwgMCwgMCwgMCwgMCwgNDgyLCAwLCAwLCAwLCAwLCAwLCAwLCA0ODMsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4NCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgNDg1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0ODYsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgNDg4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0ODksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDQ5MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDkxLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCA0OTIsIDAsIDAsIDAsIDAsIDAsIDAsIDQ5MywgMCwgMCwgMCwgMCwgMCwgMCwgNDk0LCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCA0OTUsIDAsIDAsIDAsIDAsIDAsIDAsIDQ5NiwgMCwgMCwgMCwgMCwgMCwgMCwgNDk3LCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCA0OTgsIDAsIDAsIDAsIDAsIDAsIDAsIDQ5OSwgMCwgMCwgMCwgMCwgMCwgMCwgNTAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1MDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUwMiwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTAzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCA1MDQsIDAsIDAsIDAsIDAsIDAsIDAsIDUwNSwgMCwgMCwgMCwgMCwgMCwgMCwgNTA2LCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCA1MDcsIDAsIDAsIDAsIDAsIDAsIDAsIDUwOCwgMCwgMCwgMCwgMCwgMCwgMCwgNTA5LCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCA1MTAsIDAsIDAsIDAsIDAsIDAsIDAsIDUxMSwgMCwgMCwgMCwgMCwgMCwgMCwgNTEyLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA1MTMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUxNCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgNTE1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1MTYsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUxNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgNTE4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1MTksIDAsIDAsIDAsIDAsIDAsIDAsIDUyMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgNTIxLCAwLCAwLCAwLCAwLCAwLCAwLCA1MjIsIDAsIDAsIDAsIDAsIDAsIDAsIDUyMywgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTI0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCA1MjUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUyNiwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTI3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1MjgsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUyOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgNTMwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1MzEsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUzMiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTMzLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCA1MzQsIDAsIDAsIDAsIDAsIDAsIDAsIDUzNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgNTM2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1MzcsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDUzOCwgMCwgMCwgMCwgMCwgMCwgMCwgNTM5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU0MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgNTQyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NDMsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU0NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTQ1LCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NDYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDU0NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTQ4LCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1MCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCA1NTIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1MywgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTU0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NTUsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1NiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgNTU3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NTgsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1OSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTYwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NjEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDU2MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTYzLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NjQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU2NSwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTY2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCA1NjcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU2OCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTY5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NzAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU3MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgNTcyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NzMsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU3NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTc1LCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NzYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDU3NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTc4LCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NzksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU4MCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTgxLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1ODIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDU4MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTg0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCA1ODUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU4NiwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTg3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCA1ODUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU4NiwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTg3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICA1ODgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU4OSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgNTkwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1OTEsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU5MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgNTkzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1OTQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDU5NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTk2LCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1OTcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU5OCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTk5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCA2MDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDYwMSwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjAyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2MDMsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDYwNCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgNjA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2MDYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDYwNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjA4LCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2MDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDYxMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjExLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCA2MTIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDYxMywgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjE0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICA2MTUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDYxNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgNjE3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2MTgsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDYxOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgNjIwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2MjEsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDYyMiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgNTkwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1OTEsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU5MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgNTkzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1OTQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDU5NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTk2LCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1OTcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDU5OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTk5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCA2MDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDYwMSwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjAyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA2MDMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDYwNCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgNjA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2MDYsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDYwNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgNjA4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2MDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDYxMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjExLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2MTIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDYxMywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjE0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCA2MTUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDYxNiwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjE3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA2MTgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDYxOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgNjIwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2MjEsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDYyMiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgNjIzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2MjQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDYyNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjI2LCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2MjcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDYyNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgNjI4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2MjksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDYzMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjMxLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2MzIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDYzMywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjM0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCA2MzUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDYzNiwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjM3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICA2MzgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDYzOSwgNjQwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCA2NDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDY0MiwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjQzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICA2NDQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDY0NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgNjQ2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2NDcsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDY0OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgNjQ5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2NTAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDY1MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjUyLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2NTMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDY1NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjU1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCA2NTYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDY1NywgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjU4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICA2NTksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDY2MCwgNjYxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCA2NjIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDY2MywgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjY0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICA2NjUsIDY2NiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjY3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCA2NjgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDY2OSwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjcwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICA2NzEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDY3MiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgNjczLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2NzQsIAorICAgIDAsIDAsIDAsIDAsIDAsIDYzMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjMxLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2MzIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDYzMywgCiB9OwogCiBzdGF0aWMgdW5zaWduZWQgaW50IGNvbXBfZGF0YVtdID0gewotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDg4MTQsIDAsIDAsIDg4MDAsIDAsIDAsIDg4MTUsIDAsIDAsIDAsIDE5MiwgMTkzLCAKLSAgICAxOTQsIDE5NSwgMjU2LCAyNTgsIDU1MCwgMTk2LCA3ODQyLCAxOTcsIDAsIDQ2MSwgNTEyLCA1MTQsIDAsIDAsIDAsIDc4NDAsIAotICAgIDAsIDc2ODAsIDAsIDAsIDI2MCwgMCwgMCwgNzY4MiwgMCwgMCwgNzY4NCwgMCwgMCwgMCwgMCwgNzY4NiwgMCwgMjYyLCAKLSAgICAyNjQsIDAsIDAsIDAsIDI2NiwgMCwgMCwgMCwgMCwgMjY4LCAwLCAxOTksIDAsIDAsIDAsIDc2OTAsIDAsIDAsIDAsIDAsIAotICAgIDI3MCwgMCwgMCwgMCwgMCwgMCwgNzY5MiwgMCwgMCwgMCwgNzY5NiwgMCwgNzY5OCwgMCwgMCwgNzY5NCwgMCwgMCwgMCwgMCwgCi0gICAgMjAwLCAyMDEsIDIwMiwgNzg2OCwgMjc0LCAyNzYsIDI3OCwgMjAzLCA3ODY2LCAwLCAwLCAyODIsIDUxNiwgNTE4LCAwLCAwLCAKLSAgICAwLCA3ODY0LCAwLCAwLCAwLCA1NTIsIDI4MCwgNzcwNCwgMCwgNzcwNiwgMCwgMCwgMCwgNzcxMCwgMCwgNTAwLCAyODQsIDAsIAotICAgIDc3MTIsIDI4NiwgMjg4LCAwLCAwLCAwLCAwLCA0ODYsIDAsIDI5MCwgMCwgMCwgMCwgMjkyLCAwLCAwLCAwLCA3NzE0LCAKLSAgICA3NzE4LCAwLCAwLCAwLCA1NDIsIDAsIDAsIDAsIDAsIDAsIDc3MTYsIDAsIDAsIDAsIDc3MjAsIDAsIDAsIDc3MjIsIDAsIDAsIAotICAgIDIwNCwgMjA1LCAyMDYsIDI5NiwgMjk4LCAzMDAsIDMwNCwgMjA3LCA3ODgwLCAwLCAwLCA0NjMsIDUyMCwgNTIyLCAwLCAwLCAKLSAgICAwLCA3ODgyLCAwLCAwLCAwLCAwLCAzMDIsIDAsIDAsIDc3MjQsIDAsIDAsIDAsIDMwOCwgMCwgNzcyOCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgNDg4LCAwLCA3NzMwLCAwLCAwLCAwLCAzMTAsIDAsIDAsIDAsIDAsIDc3MzIsIDAsIDAsIDAsIDAsIDAsIDMxMywgMCwgCi0gICAgMzE3LCAwLCAwLCAwLCAwLCAwLCA3NzM0LCAwLCAwLCAwLCAzMTUsIDAsIDc3NDAsIDAsIDAsIDc3MzgsIDAsIDAsIDAsIDAsIAotICAgIDAsIDc3NDIsIDAsIDAsIDAsIDAsIDc3NDQsIDAsIDAsIDc3NDYsIDAsIDUwNCwgMzIzLCAwLCAyMDksIDAsIDAsIDc3NDgsIAotICAgIDAsIDAsIDAsIDAsIDMyNywgMCwgNzc1MCwgMCwgMCwgMCwgMzI1LCAwLCA3NzU0LCAwLCAwLCA3NzUyLCAwLCAwLCAwLCAwLCAKLSAgICAyMTAsIDIxMSwgMjEyLCAyMTMsIDMzMiwgMzM0LCA1NTgsIDIxNCwgNzg4NiwgMCwgMzM2LCA0NjUsIDUyNCwgNTI2LCAwLCAKLSAgICAwLCA0MTYsIDc4ODQsIDAsIDAsIDAsIDAsIDQ5MCwgMCwgMCwgMCwgMCwgMCwgNzc2NCwgNzc2NiwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMzQwLCAwLCAwLCAwLCAwLCA3NzY4LCAzNDQsIDUyOCwgNTMwLCAwLCAwLCAwLCA3NzcwLCAwLCAwLCAwLCAzNDIsIDAsIDAsIAotICAgIDAsIDAsIDc3NzQsIDAsIDM0NiwgMzQ4LCAwLCAwLCAwLCA3Nzc2LCAwLCAwLCAwLCAwLCAzNTIsIDAsIDc3NzgsIDAsIDAsIAotICAgIDUzNiwgMzUwLCAwLCAwLCAwLCA3Nzg2LCAwLCAwLCAwLCAwLCAzNTYsIDAsIDc3ODgsIDAsIDAsIDUzOCwgMzU0LCAwLCAKLSAgICA3NzkyLCAwLCAwLCA3NzkwLCAwLCAwLCAwLCAwLCAyMTcsIDIxOCwgMjE5LCAzNjAsIDM2MiwgMzY0LCAwLCAyMjAsIDc5MTAsIAotICAgIDM2NiwgMzY4LCA0NjcsIDUzMiwgNTM0LCAwLCAwLCA0MzEsIDc5MDgsIDc3OTQsIDAsIDAsIDAsIDM3MCwgNzc5OCwgMCwgCi0gICAgNzc5NiwgNzgwNCwgMCwgMCwgMCwgMCwgMCwgNzgwNiwgMCwgNzgwOCwgNzgxMCwgMzcyLCAwLCAwLCAwLCA3ODE0LCA3ODEyLCAKLSAgICAwLCA3ODE2LCAwLCAwLCAwLCA3ODE4LCA3ODIwLCAwLCAwLCAwLCA3OTIyLCAyMjEsIDM3NCwgNzkyOCwgNTYyLCAwLCAKLSAgICA3ODIyLCAzNzYsIDc5MjYsIDAsIDAsIDAsIDAsIDc5MjQsIDAsIDAsIDM3NywgNzgyNCwgMCwgMCwgMCwgMzc5LCAzODEsIDAsIAotICAgIDAsIDAsIDAsIDAsIDc4MjYsIDAsIDAsIDAsIDAsIDc4MjgsIDIyNCwgMjI1LCAyMjYsIDIyNywgMjU3LCAyNTksIDU1MSwgCi0gICAgMjI4LCA3ODQzLCAyMjksIDAsIDQ2MiwgNTEzLCA1MTUsIDAsIDAsIDAsIDc4NDEsIDAsIDc2ODEsIDAsIDAsIDI2MSwgMCwgCi0gICAgMCwgNzY4MywgMCwgMCwgNzY4NSwgMCwgMCwgMCwgMCwgNzY4NywgMCwgMCwgMCwgMCwgMCwgMjYzLCAyNjUsIDAsIDAsIDAsIAotICAgIDI2NywgMCwgMCwgMCwgMCwgMjY5LCAwLCAwLCAwLCAwLCAwLCAyMzEsIDAsIDAsIDAsIDc2OTEsIDI3MSwgMCwgMCwgMCwgMCwgCi0gICAgMCwgNzY5MywgMCwgMCwgMCwgNzY5NywgMCwgNzY5OSwgMCwgMCwgNzY5NSwgMjMyLCAyMzMsIDIzNCwgNzg2OSwgMjc1LCAKLSAgICAyNzcsIDI3OSwgMjM1LCA3ODY3LCAwLCAwLCAyODMsIDUxNywgNTE5LCAwLCAwLCAwLCA3ODY1LCAwLCAwLCAwLCA1NTMsIAotICAgIDI4MSwgNzcwNSwgMCwgNzcwNywgMCwgMCwgMCwgNzcxMSwgMCwgMCwgMCwgMCwgMCwgNTAxLCAyODUsIDAsIDc3MTMsIDI4NywgCi0gICAgMjg5LCAwLCAwLCAwLCAwLCA0ODcsIDAsIDAsIDAsIDAsIDAsIDI5MSwgMCwgMCwgMCwgMjkzLCAwLCAwLCAwLCA3NzE1LCAKLSAgICA3NzE5LCAwLCAwLCAwLCA1NDMsIDAsIDAsIDAsIDAsIDAsIDc3MTcsIDAsIDAsIDAsIDc3MjEsIDAsIDAsIDc3MjMsIDAsIAotICAgIDc4MzAsIDIzNiwgMjM3LCAyMzgsIDI5NywgMjk5LCAzMDEsIDAsIDIzOSwgNzg4MSwgMCwgMCwgNDY0LCA1MjEsIDUyMywgMCwgCi0gICAgMCwgMCwgNzg4MywgMCwgMCwgMCwgMCwgMzAzLCAwLCAwLCA3NzI1LCAwLCAwLCAwLCAzMDksIDAsIDAsIDAsIDAsIDQ5NiwgCi0gICAgMCwgMCwgMCwgMCwgNzcyOSwgMCwgNDg5LCAwLCAwLCAwLCAwLCAwLCA3NzMxLCAwLCAwLCAwLCAzMTEsIDc3MzMsIDAsIDAsIAotICAgIDAsIDAsIDAsIDMxNCwgMCwgMzE4LCAwLCAwLCAwLCAwLCAwLCA3NzM1LCAwLCAwLCAwLCAzMTYsIDAsIDc3NDEsIDAsIDAsIAotICAgIDc3MzksIDAsIDc3NDMsIDAsIDAsIDAsIDAsIDc3NDUsIDAsIDAsIDc3NDcsIDAsIDAsIDAsIDAsIDAsIDUwNSwgMzI0LCAwLCAKLSAgICAyNDEsIDAsIDAsIDc3NDksIDAsIDAsIDAsIDAsIDMyOCwgMCwgNzc1MSwgMCwgMCwgMCwgMzI2LCAwLCA3NzU1LCAwLCAwLCAKLSAgICA3NzUzLCAwLCAwLCAwLCAwLCAyNDIsIDI0MywgMjQ0LCAyNDUsIDMzMywgMzM1LCA1NTksIDI0NiwgNzg4NywgMCwgMzM3LCAKLSAgICA0NjYsIDUyNSwgNTI3LCAwLCAwLCA0MTcsIDc4ODUsIDQ5MSwgMCwgMCwgMCwgMCwgMCwgNzc2NSwgMCwgMCwgMCwgMCwgCi0gICAgNzc2NywgMCwgMzQxLCAwLCAwLCAwLCAwLCA3NzY5LCAwLCAwLCAwLCAwLCAzNDUsIDUyOSwgNTMxLCAwLCAwLCAwLCA3NzcxLCAKLSAgICAwLCAwLCAwLCAzNDMsIDAsIDAsIDAsIDAsIDc3NzUsIDAsIDM0NywgMzQ5LCAwLCAwLCAwLCA3Nzc3LCAwLCAwLCAwLCAwLCAKLSAgICAzNTMsIDAsIDc3NzksIDAsIDAsIDUzNywgMzUxLCAwLCAwLCAwLCA3Nzg3LCA3ODMxLCAwLCAwLCAwLCAzNTcsIDAsIDAsIDAsIAotICAgIDAsIDAsIDc3ODksIDAsIDAsIDUzOSwgMzU1LCAwLCA3NzkzLCAwLCAwLCA3NzkxLCAwLCAwLCAwLCAwLCAyNDksIDI1MCwgCi0gICAgMjUxLCAzNjEsIDM2MywgMzY1LCAwLCAyNTIsIDc5MTEsIDM2NywgMzY5LCA0NjgsIDUzMywgNTM1LCAwLCAwLCA0MzIsIAotICAgIDc5MDksIDc3OTUsIDAsIDAsIDAsIDM3MSwgNzc5OSwgMCwgNzc5NywgMCwgMCwgMCwgMCwgNzgwNSwgMCwgNzgwNywgMCwgMCwgCi0gICAgMCwgMCwgMCwgNzgwOSwgNzgxMSwgMzczLCAwLCAwLCAwLCA3ODE1LCA3ODEzLCAwLCA3ODMyLCAwLCAwLCAwLCA3ODE3LCAwLCAKLSAgICAwLCAwLCA3ODE5LCA3ODIxLCAwLCAwLCAwLCA3OTIzLCAyNTMsIDM3NSwgNzkyOSwgNTYzLCAwLCA3ODIzLCAyNTUsIDc5MjcsIAotICAgIDc4MzMsIDAsIDAsIDAsIDc5MjUsIDAsIDAsIDM3OCwgNzgyNSwgMCwgMCwgMCwgMzgwLCAwLCAwLCAwLCAwLCAzODIsIDAsIAotICAgIDc4MjcsIDAsIDAsIDAsIDAsIDc4MjksIDAsIDAsIDAsIDAsIDgxNzMsIDkwMSwgMCwgMCwgMCwgMCwgMCwgMCwgODEyOSwgMCwgCi0gICAgMCwgNzg0NiwgNzg0NCwgMCwgNzg1MCwgMCwgMCwgMCwgMCwgNzg0OCwgMCwgMCwgNDc4LCAwLCAwLCAwLCA1MDYsIDAsIDAsIAotICAgIDUwOCwgMCwgMCwgNDgyLCAwLCAwLCAwLCA3Njg4LCAwLCA3ODcyLCA3ODcwLCAwLCA3ODc2LCAwLCAwLCAwLCAwLCA3ODc0LCAKLSAgICAwLCAwLCAwLCA3NzI2LCAwLCAwLCAwLCAwLCAwLCA3ODkwLCA3ODg4LCAwLCA3ODk0LCAwLCAwLCAwLCAwLCA3ODkyLCAwLCAKLSAgICAwLCAwLCA3NzU2LCAwLCAwLCA1NTYsIDAsIDAsIDc3NTgsIDAsIDAsIDAsIDU1NCwgMCwgMCwgMCwgNTEwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCA0NzUsIDQ3MSwgMCwgMCwgNDY5LCAwLCAwLCA0NzMsIDAsIDAsIDAsIDc4NDcsIDc4NDUsIDAsIDc4NTEsIDAsIDAsIAotICAgIDAsIDAsIDc4NDksIDAsIDAsIDQ3OSwgMCwgMCwgMCwgNTA3LCAwLCAwLCA1MDksIDAsIDAsIDQ4MywgMCwgMCwgMCwgNzY4OSwgCi0gICAgMCwgNzg3MywgNzg3MSwgMCwgNzg3NywgMCwgMCwgMCwgMCwgNzg3NSwgMCwgMCwgMCwgNzcyNywgMCwgMCwgMCwgMCwgMCwgCi0gICAgNzg5MSwgNzg4OSwgMCwgNzg5NSwgMCwgMCwgMCwgMCwgNzg5MywgMCwgMCwgMCwgNzc1NywgMCwgMCwgNTU3LCAwLCAwLCAKLSAgICA3NzU5LCAwLCAwLCAwLCA1NTUsIDAsIDAsIDAsIDUxMSwgMCwgMCwgMCwgMCwgMCwgNDc2LCA0NzIsIDAsIDAsIDQ3MCwgMCwgCi0gICAgMCwgNDc0LCAwLCAwLCAwLCA3ODU2LCA3ODU0LCAwLCA3ODYwLCAwLCAwLCAwLCAwLCA3ODU4LCAwLCAwLCA3ODU3LCA3ODU1LCAKLSAgICAwLCA3ODYxLCAwLCAwLCAwLCAwLCA3ODU5LCAwLCAwLCA3NzAwLCA3NzAyLCAwLCAwLCAwLCAwLCAwLCA3NzAxLCA3NzAzLCAKLSAgICAwLCAwLCAwLCAwLCAwLCA3NzYwLCA3NzYyLCAwLCA3NzYxLCA3NzYzLCAwLCAwLCAwLCA3NzgwLCAwLCAwLCA3NzgxLCAwLCAKLSAgICAwLCA3NzgyLCAwLCAwLCAwLCAwLCAwLCAwLCA3NzgzLCAwLCA3ODAwLCAwLCAwLCA3ODAxLCAwLCAwLCAwLCAwLCA3ODAyLCAKLSAgICAwLCAwLCA3ODAzLCAwLCAwLCAwLCAwLCAwLCA3ODM1LCAwLCAwLCAwLCAwLCA3OTAwLCA3ODk4LCAwLCA3OTA0LCAwLCAwLCAKLSAgICAwLCAwLCA3OTAyLCA3OTA2LCAwLCAwLCAwLCAwLCAwLCA3OTAxLCA3ODk5LCAwLCA3OTA1LCAwLCAwLCAwLCAwLCA3OTAzLCAKLSAgICAwLCAwLCAwLCAwLCA3OTA3LCAwLCA3OTE0LCA3OTEyLCAwLCA3OTE4LCAwLCAwLCAwLCAwLCA3OTE2LCAwLCAwLCAwLCAwLCAKLSAgICA3OTIwLCAwLCA3OTE1LCA3OTEzLCAwLCA3OTE5LCA3OTE3LCAwLCAwLCAwLCAwLCA3OTIxLCAwLCAwLCAwLCAwLCA0OTQsIDAsIAotICAgIDAsIDAsIDQ5MiwgMCwgMCwgNDkzLCAwLCAwLCA0ODAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4MSwgMCwgMCwgMCwgNzcwOCwgMCwgCi0gICAgMCwgNzcwOSwgMCwgNTYwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NjEsIDAsIDQ5NSwgMCwgMCwgMCwgODEyMiwgOTAyLCAwLCAwLCAKLSAgICA4MTIxLCA4MTIwLCAwLCAwLCAwLCAwLCA3OTQ0LCA3OTQ1LCAwLCAwLCAwLCAwLCAwLCA4MTI0LCAwLCA4MTM2LCA5MDQsIDAsIAotICAgIDAsIDAsIDAsIDc5NjAsIDc5NjEsIDAsIDAsIDAsIDgxMzgsIDkwNSwgMCwgMCwgMCwgMCwgNzk3NiwgNzk3NywgMCwgODE0MCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgODE1NCwgOTA2LCAwLCAwLCA4MTUzLCA4MTUyLCAwLCA5MzgsIDAsIDAsIDc5OTIsIDc5OTMsIDAsIAotICAgIDAsIDAsIDgxODQsIDkwOCwgMCwgMCwgMCwgMCwgODAwOCwgODAwOSwgMCwgMCwgMCwgMCwgMCwgMCwgODE3MiwgMCwgMCwgMCwgCi0gICAgODE3MCwgOTEwLCAwLCAwLCA4MTY5LCA4MTY4LCAwLCA5MzksIDAsIDAsIDAsIDgwMjUsIDAsIDAsIDAsIDgxODYsIDkxMSwgCi0gICAgODA0MCwgODA0MSwgMCwgMCwgMCwgMCwgMCwgODE4OCwgMCwgMCwgODExNiwgMCwgMCwgODEzMiwgMCwgMCwgMCwgMCwgMCwgCi0gICAgODA0OCwgOTQwLCAwLCAwLCA4MTEzLCA4MTEyLCAwLCAwLCAwLCAwLCA3OTM2LCA3OTM3LCAwLCAwLCAwLCAwLCA4MTE4LCAKLSAgICA4MTE1LCAwLCAwLCAwLCAwLCAwLCA4MDUwLCA5NDEsIDc5NTIsIDc5NTMsIDAsIDAsIDAsIDgwNTIsIDk0MiwgMCwgMCwgMCwgCi0gICAgMCwgNzk2OCwgNzk2OSwgMCwgMCwgMCwgMCwgODEzNCwgODEzMSwgMCwgODA1NCwgOTQzLCAwLCAwLCA4MTQ1LCA4MTQ0LCAwLCAKLSAgICA5NzAsIDAsIDAsIDc5ODQsIDc5ODUsIDgxNTAsIDAsIDAsIDAsIDAsIDAsIDAsIDgwNTYsIDk3MiwgMCwgMCwgMCwgMCwgCi0gICAgODAwMCwgODAwMSwgMCwgODE2NCwgODE2NSwgMCwgMCwgMCwgODA1OCwgOTczLCAwLCAwLCA4MTYxLCA4MTYwLCAwLCA5NzEsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDgwMTYsIDgwMTcsIDAsIDAsIDAsIDAsIDgxNjYsIDAsIDAsIDgwNjAsIDk3NCwgMCwgMCwgMCwgCi0gICAgMCwgODAzMiwgODAzMywgODE4MiwgODE3OSwgMCwgMCwgMCwgMCwgMCwgODE0NiwgOTEyLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICA4MTUxLCAwLCAwLCA4MTYyLCA5NDQsIDAsIDAsIDgxNjcsIDAsIDAsIDAsIDgxODAsIDAsIDAsIDk3OSwgMCwgMCwgMCwgMCwgCi0gICAgMCwgOTgwLCAwLCAwLCAxMDMxLCAwLCAwLCAwLCAwLCAxMjMyLCAwLCAxMjM0LCAwLCAwLCAwLCAwLCAxMDI3LCAwLCAxMDI0LCAKLSAgICAwLCAwLCAwLCAwLCAxMjM4LCAwLCAxMDI1LCAxMjE3LCAwLCAxMjQ0LCAwLCAwLCAxMjQ2LCAwLCAwLCAwLCAxMDM3LCAwLCAKLSAgICAwLCAwLCAxMjUwLCAxMDQ5LCAwLCAxMjUyLCAwLCAwLCAwLCAwLCAxMDM2LCAwLCAwLCAwLCAwLCAxMjU0LCAwLCAwLCAwLCAKLSAgICAxMjYyLCAxMDM4LCAwLCAxMjY0LCAwLCAwLCAxMjY2LCAwLCAwLCAwLCAxMjY4LCAwLCAwLCAwLCAwLCAwLCAwLCAxMjcyLCAKLSAgICAwLCAwLCAxMjYwLCAwLCAwLCAwLCAwLCAxMjMzLCAwLCAxMjM1LCAwLCAwLCAwLCAwLCAxMTA3LCAwLCAxMTA0LCAwLCAwLCAKLSAgICAwLCAwLCAxMjM5LCAwLCAxMTA1LCAxMjE4LCAwLCAxMjQ1LCAwLCAwLCAxMjQ3LCAwLCAwLCAwLCAxMTE3LCAwLCAwLCAwLCAKLSAgICAxMjUxLCAxMDgxLCAwLCAxMjUzLCAwLCAwLCAwLCAwLCAxMTE2LCAwLCAwLCAwLCAwLCAxMjU1LCAwLCAwLCAwLCAxMjYzLCAKLSAgICAxMTE4LCAwLCAxMjY1LCAwLCAwLCAxMjY3LCAwLCAwLCAwLCAxMjY5LCAwLCAwLCAwLCAwLCAwLCAwLCAxMjczLCAwLCAwLCAKLSAgICAxMjYxLCAwLCAwLCAxMTExLCAwLCAwLCAwLCAxMTQyLCAwLCAwLCAxMTQzLCAwLCAwLCAwLCAwLCAwLCAxMjQyLCAwLCAwLCAKLSAgICAxMjQzLCAwLCAwLCAxMjU4LCAwLCAwLCAwLCAwLCAwLCAwLCAxMjU5LCAwLCAxNTcwLCAxNTcxLCAxNTczLCAwLCAxNTcyLCAKLSAgICAwLCAwLCAxNTc0LCAwLCAwLCAwLCAwLCAwLCAwLCAxNzMwLCAwLCAwLCAxNzQ3LCAwLCAwLCAxNzI4LCAwLCAwLCAwLCAwLCAKLSAgICAyMzQ1LCAwLCAwLCAyMzUzLCAwLCAwLCAyMzU2LCAwLCAwLCAwLCAyNTA3LCAyNTA4LCAwLCAwLCAwLCAyODkxLCAyODg4LCAKLSAgICAyODkyLCAyOTY0LCAwLCAwLCAwLCAwLCAwLCAzMDE4LCAzMDIwLCAwLCAzMDE5LCAwLCAwLCAwLCAwLCAzMTQ0LCAwLCAwLCAKLSAgICAwLCAwLCAzMjY0LCAwLCAzMjc0LCAzMjcxLCAzMjcyLCAwLCAzMjc1LCAwLCAwLCAwLCAwLCAzNDAyLCAzNDA0LCAwLCAKLSAgICAzNDAzLCAwLCAwLCAwLCAwLCAzNTQ2LCAzNTQ4LCAzNTUwLCAwLCAwLCAwLCAwLCAzNTQ5LCAwLCAwLCAwLCAwLCAwLCAKLSAgICA0MTM0LCAwLCAwLCAwLCA2OTE4LCAwLCAwLCA2OTIwLCAwLCAwLCA2OTIyLCAwLCAwLCA2OTI0LCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCA2OTI2LCAwLCAwLCA2OTMwLCAwLCAwLCA2OTcxLCAwLCAwLCA2OTczLCAwLCAwLCAwLCAwLCAwLCAwLCA2OTc2LCAwLCAKLSAgICAwLCA2OTc3LCAwLCAwLCA2OTc5LCAwLCAwLCAwLCA3NzM2LCAwLCAwLCA3NzM3LCAwLCAwLCAwLCAwLCAwLCAwLCA3NzcyLCAKLSAgICAwLCAwLCA3NzczLCAwLCAwLCAwLCAwLCA3Nzg0LCAwLCAwLCA3Nzg1LCAwLCAwLCA3ODUyLCAwLCAwLCA3ODYyLCAwLCAwLCAKLSAgICAwLCA3ODUzLCAwLCAwLCA3ODYzLCAwLCAwLCAwLCA3ODc4LCAwLCAwLCA3ODc5LCAwLCAwLCA3ODk2LCAwLCAwLCA3ODk3LCAKLSAgICAwLCAwLCAwLCAwLCA3OTM4LCA3OTQwLCAwLCAwLCA3OTQyLCA4MDY0LCAwLCA3OTM5LCA3OTQxLCAwLCAwLCA3OTQzLCAKLSAgICA4MDY1LCAwLCAwLCA4MDY2LCAwLCAwLCAwLCAwLCAwLCAwLCA4MDY3LCAwLCAwLCA4MDY4LCAwLCAwLCA4MDY5LCAwLCAwLCAKLSAgICA4MDcwLCAwLCAwLCAwLCAwLCAwLCAwLCA4MDcxLCAwLCA3OTQ2LCA3OTQ4LCAwLCAwLCA3OTUwLCA4MDcyLCAwLCA3OTQ3LCAKLSAgICA3OTQ5LCAwLCAwLCA3OTUxLCA4MDczLCAwLCAwLCA4MDc0LCAwLCAwLCAwLCAwLCAwLCAwLCA4MDc1LCAwLCAwLCA4MDc2LCAKLSAgICAwLCAwLCA4MDc3LCAwLCAwLCA4MDc4LCAwLCAwLCAwLCAwLCAwLCAwLCA4MDc5LCAwLCA3OTU0LCA3OTU2LCAwLCA3OTU1LCAKLSAgICA3OTU3LCAwLCAwLCAwLCAwLCAwLCA3OTYyLCA3OTY0LCAwLCAwLCAwLCAwLCAwLCA3OTYzLCA3OTY1LCAwLCA3OTcwLCAKLSAgICA3OTcyLCAwLCAwLCA3OTc0LCA4MDgwLCAwLCA3OTcxLCA3OTczLCAwLCAwLCA3OTc1LCA4MDgxLCAwLCAwLCA4MDgyLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCA4MDgzLCAwLCAwLCA4MDg0LCAwLCAwLCA4MDg1LCAwLCAwLCA4MDg2LCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCA4MDg3LCAwLCA3OTc4LCA3OTgwLCAwLCAwLCA3OTgyLCA4MDg4LCAwLCA3OTc5LCA3OTgxLCAwLCAwLCA3OTgzLCAKLSAgICA4MDg5LCAwLCAwLCA4MDkwLCAwLCAwLCAwLCAwLCAwLCAwLCA4MDkxLCAwLCAwLCA4MDkyLCAwLCAwLCA4MDkzLCAwLCAwLCAKLSAgICA4MDk0LCAwLCAwLCAwLCAwLCAwLCAwLCA4MDk1LCAwLCA3OTg2LCA3OTg4LCAwLCAwLCA3OTkwLCAwLCAwLCA3OTg3LCAKLSAgICA3OTg5LCAwLCAwLCA3OTkxLCAwLCAwLCAwLCAwLCAwLCAwLCA3OTk0LCA3OTk2LCAwLCAwLCAwLCAwLCAwLCAwLCA3OTk4LCAKLSAgICAwLCAwLCA3OTk1LCA3OTk3LCAwLCAwLCA3OTk5LCAwLCAwLCA4MDAyLCA4MDA0LCAwLCA4MDAzLCA4MDA1LCAwLCAwLCAwLCAKLSAgICAwLCAwLCA4MDEwLCA4MDEyLCAwLCAwLCAwLCAwLCAwLCA4MDExLCA4MDEzLCAwLCA4MDE4LCA4MDIwLCAwLCAwLCA4MDIyLCAKLSAgICAwLCAwLCA4MDE5LCA4MDIxLCAwLCAwLCA4MDIzLCAwLCAwLCAwLCAwLCAwLCAwLCA4MDI3LCA4MDI5LCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCA4MDMxLCAwLCAwLCA4MDM0LCA4MDM2LCAwLCAwLCA4MDM4LCA4MDk2LCAwLCA4MDM1LCA4MDM3LCAwLCAwLCAKLSAgICA4MDM5LCA4MDk3LCAwLCAwLCA4MDk4LCAwLCAwLCA4MDk5LCAwLCAwLCAwLCAwLCAwLCAwLCA4MTAwLCAwLCAwLCA4MTAxLCAKLSAgICAwLCAwLCA4MTAyLCAwLCAwLCA4MTAzLCAwLCAwLCAwLCAwLCAwLCA4MDQyLCA4MDQ0LCAwLCAwLCA4MDQ2LCA4MTA0LCAwLCAKLSAgICA4MDQzLCA4MDQ1LCAwLCAwLCA4MDQ3LCA4MTA1LCAwLCAwLCA4MTA2LCAwLCAwLCA4MTA3LCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICA4MTA4LCAwLCAwLCA4MTA5LCAwLCAwLCA4MTEwLCAwLCAwLCA4MTExLCAwLCAwLCAwLCAwLCAwLCAwLCA4MTE0LCAwLCAwLCAKLSAgICA4MTMwLCAwLCAwLCA4MTc4LCAwLCAwLCA4MTE5LCAwLCAwLCAwLCAwLCAwLCA4MTQxLCA4MTQyLCAwLCAwLCA4MTQzLCAwLCAKLSAgICAwLCAwLCA4MTM1LCAwLCAwLCA4MTgzLCAwLCAwLCAwLCAwLCAwLCA4MTU3LCA4MTU4LCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICA4MTU5LCAwLCA4NjAyLCAwLCAwLCA4NjAzLCAwLCAwLCAwLCAwLCAwLCAwLCA4NjIyLCAwLCAwLCA4NjUzLCAwLCAwLCAKLSAgICA4NjU1LCAwLCAwLCA4NjU0LCAwLCAwLCAwLCAwLCAwLCAwLCA4NzA4LCAwLCAwLCA4NzEzLCAwLCAwLCA4NzE2LCAwLCAwLCAKLSAgICA4NzQwLCAwLCAwLCAwLCAwLCAwLCAwLCA4NzQyLCAwLCAwLCA4NzY5LCAwLCAwLCA4NzcyLCAwLCAwLCA4Nzc1LCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCA4Nzc3LCAwLCAwLCA4ODEzLCAwLCAwLCA4ODAyLCAwLCAwLCA4ODE2LCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICA4ODE3LCAwLCAwLCA4ODIwLCAwLCAwLCA4ODIxLCAwLCAwLCA4ODI0LCAwLCAwLCAwLCAwLCAwLCAwLCA4ODI1LCAwLCAwLCAKLSAgICA4ODMyLCAwLCAwLCA4ODMzLCAwLCAwLCA4OTI4LCAwLCAwLCAwLCAwLCAwLCAwLCA4OTI5LCAwLCAwLCA4ODM2LCAwLCAwLCAKLSAgICA4ODM3LCAwLCAwLCA4ODQwLCAwLCAwLCAwLCAwLCAwLCAwLCA4ODQxLCAwLCAwLCA4OTMwLCAwLCAwLCA4OTMxLCAwLCAwLCAKLSAgICA4ODc2LCAwLCAwLCAwLCAwLCAwLCAwLCA4ODc3LCAwLCAwLCA4ODc4LCAwLCAwLCA4ODc5LCAwLCAwLCA4OTM4LCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCA4OTM5LCAwLCAwLCA4OTQwLCAwLCAwLCA4OTQxLCAwLCAwLCAwLCAxMjQzNiwgMCwgMCwgMTIzNjQsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDEyMzY2LCAwLCAwLCAxMjM2OCwgMCwgMCwgMTIzNzAsIDAsIDAsIDEyMzcyLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAxMjM3NCwgMCwgMCwgMTIzNzYsIDAsIDAsIDEyMzc4LCAwLCAwLCAxMjM4MCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMTIzODIsIDAsIDAsIDEyMzg0LCAwLCAwLCAxMjM4NiwgMCwgMCwgMTIzODksIDAsIDAsIDAsIDAsIDAsIDAsIDEyMzkxLCAwLCAKLSAgICAwLCAxMjM5MywgMCwgMCwgMTI0MDAsIDEyNDAxLCAwLCAxMjQwMywgMTI0MDQsIDAsIDAsIDAsIDAsIDAsIDEyNDA2LCAKLSAgICAxMjQwNywgMCwgMCwgMCwgMCwgMCwgMTI0MDksIDEyNDEwLCAwLCAxMjQxMiwgMTI0MTMsIDAsIDEyNDQ2LCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAxMjUzMiwgMCwgMCwgMTI0NjAsIDAsIDAsIDEyNDYyLCAwLCAwLCAxMjQ2NCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMTI0NjYsIDAsIDAsIDEyNDY4LCAwLCAwLCAxMjQ3MCwgMCwgMCwgMTI0NzIsIDAsIDAsIDAsIDAsIDAsIDAsIDEyNDc0LCAwLCAKLSAgICAwLCAxMjQ3NiwgMCwgMCwgMTI0NzgsIDAsIDAsIDEyNDgwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMjQ4MiwgMCwgMCwgMTI0ODUsIAotICAgIDAsIDAsIDEyNDg3LCAwLCAwLCAxMjQ4OSwgMCwgMCwgMCwgMCwgMCwgMCwgMTI0OTYsIDEyNDk3LCAwLCAwLCAwLCAwLCAwLCAKLSAgICAxMjQ5OSwgMTI1MDAsIDAsIDEyNTAyLCAxMjUwMywgMCwgMTI1MDUsIDEyNTA2LCAwLCAwLCAwLCAwLCAwLCAxMjUwOCwgCi0gICAgMTI1MDksIDAsIDAsIDAsIDAsIDAsIDEyNTM1LCAwLCAwLCAxMjUzNiwgMCwgMCwgMTI1MzcsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDEyNTM4LCAwLCAwLCAxMjU0MiwgMCwgMCwgMCwgMCwgNjk3ODYsIDAsIDAsIDY5Nzg4LCAwLCAwLCA2OTgwMywgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgODgxNCwgMCwgMCwgMCwgODgwMCwgMCwgMCwgMCwgODgxNSwgMTkyLCAxOTMsIDE5NCwgCisgICAgMTk1LCAyNTYsIDI1OCwgNTUwLCAxOTYsIDc4NDIsIDE5NywgMCwgNDYxLCA1MTIsIDUxNCwgMCwgMCwgMCwgNzg0MCwgMCwgCisgICAgNzY4MCwgMCwgMCwgMjYwLCAwLCAwLCAwLCA3NjgyLCAwLCAwLCA3Njg0LCAwLCAwLCAwLCAwLCA3Njg2LCAwLCAwLCAyNjIsIAorICAgIDI2NCwgMCwgMCwgMCwgMjY2LCAwLCAwLCAwLCAwLCAyNjgsIDAsIDE5OSwgMCwgMCwgMCwgMCwgNzY5MCwgMCwgMCwgMCwgMCwgCisgICAgMjcwLCAwLCA3NjkyLCAwLCAwLCAwLCA3Njk2LCAwLCA3Njk4LCAwLCAwLCA3Njk0LCAwLCAyMDAsIDIwMSwgMjAyLCA3ODY4LCAKKyAgICAyNzQsIDI3NiwgMjc4LCAyMDMsIDc4NjYsIDAsIDAsIDI4MiwgNTE2LCA1MTgsIDAsIDAsIDAsIDc4NjQsIDAsIDAsIDAsIAorICAgIDU1MiwgMjgwLCA3NzA0LCAwLCA3NzA2LCAwLCAwLCAwLCAwLCA3NzEwLCAwLCAwLCA1MDAsIDI4NCwgMCwgNzcxMiwgMjg2LCAKKyAgICAyODgsIDAsIDAsIDAsIDAsIDQ4NiwgMCwgMjkwLCAwLCAwLCAwLCAwLCAyOTIsIDAsIDAsIDAsIDc3MTQsIDc3MTgsIDAsIDAsIAorICAgIDAsIDU0MiwgMCwgNzcxNiwgMCwgMCwgMCwgNzcyMCwgMCwgMCwgNzcyMiwgMCwgMCwgMCwgMjA0LCAyMDUsIDIwNiwgMjk2LCAKKyAgICAyOTgsIDMwMCwgMzA0LCAyMDcsIDc4ODAsIDAsIDAsIDQ2MywgNTIwLCA1MjIsIDAsIDAsIDAsIDc4ODIsIDAsIDAsIDAsIDAsIAorICAgIDMwMiwgMCwgMCwgNzcyNCwgMCwgMCwgMCwgMCwgMzA4LCAwLCAwLCA3NzI4LCAwLCAwLCAwLCAwLCAwLCA0ODgsIDAsIAorICAgIDc3MzAsIDAsIDAsIDAsIDMxMCwgMCwgMCwgMCwgMCwgNzczMiwgMCwgMCwgMzEzLCAwLCAwLCAwLCAwLCAwLCAzMTcsIDAsIAorICAgIDc3MzQsIDAsIDAsIDAsIDMxNSwgMCwgNzc0MCwgMCwgMCwgNzczOCwgMCwgMCwgNzc0MiwgMCwgMCwgMCwgMCwgNzc0NCwgMCwgCisgICAgMCwgNzc0NiwgMCwgMCwgNTA0LCAzMjMsIDAsIDIwOSwgMCwgMCwgNzc0OCwgMCwgMCwgMCwgMCwgMzI3LCAwLCA3NzUwLCAwLCAKKyAgICAwLCAwLCAzMjUsIDAsIDc3NTQsIDAsIDAsIDc3NTIsIDAsIDIxMCwgMjExLCAyMTIsIDIxMywgMzMyLCAzMzQsIDU1OCwgCisgICAgMjE0LCA3ODg2LCAwLCAzMzYsIDQ2NSwgNTI0LCA1MjYsIDAsIDAsIDQxNiwgNzg4NCwgMCwgMCwgMCwgMCwgNDkwLCAwLCAwLCAKKyAgICA3NzY0LCAwLCAwLCAwLCAwLCA3NzY2LCAwLCAwLCAzNDAsIDAsIDAsIDAsIDAsIDc3NjgsIDAsIDAsIDAsIDAsIDM0NCwgCisgICAgNTI4LCA1MzAsIDAsIDAsIDAsIDc3NzAsIDAsIDAsIDAsIDM0MiwgMCwgMCwgMCwgMCwgNzc3NCwgMCwgMCwgMzQ2LCAzNDgsIAorICAgIDAsIDAsIDAsIDc3NzYsIDAsIDAsIDAsIDAsIDM1MiwgMCwgNzc3OCwgMCwgMCwgNTM2LCAzNTAsIDAsIDAsIDAsIDAsIAorICAgIDc3ODYsIDAsIDAsIDAsIDAsIDM1NiwgMCwgNzc4OCwgMCwgMCwgNTM4LCAzNTQsIDAsIDc3OTIsIDAsIDAsIDc3OTAsIDAsIAorICAgIDIxNywgMjE4LCAyMTksIDM2MCwgMzYyLCAzNjQsIDAsIDIyMCwgNzkxMCwgMzY2LCAzNjgsIDQ2NywgNTMyLCA1MzQsIDAsIAorICAgIDAsIDQzMSwgNzkwOCwgNzc5NCwgMCwgMCwgMCwgMzcwLCA3Nzk4LCAwLCA3Nzk2LCAwLCAwLCAwLCAwLCAwLCA3ODA0LCAwLCAKKyAgICA3ODA2LCAwLCAwLCA3ODA4LCA3ODEwLCAzNzIsIDAsIDAsIDAsIDc4MTQsIDc4MTIsIDAsIDc4MTYsIDAsIDAsIDAsIDAsIAorICAgIDc4MTgsIDc4MjAsIDc5MjIsIDIyMSwgMzc0LCA3OTI4LCA1NjIsIDAsIDc4MjIsIDM3NiwgNzkyNiwgMCwgMCwgMCwgMCwgCisgICAgNzkyNCwgMCwgMCwgMCwgMzc3LCA3ODI0LCAwLCAwLCAwLCAzNzksIDAsIDAsIDAsIDAsIDM4MSwgMCwgNzgyNiwgMCwgMCwgCisgICAgMCwgMCwgNzgyOCwgMCwgMjI0LCAyMjUsIDIyNiwgMjI3LCAyNTcsIDI1OSwgNTUxLCAyMjgsIDc4NDMsIDIyOSwgMCwgNDYyLCAKKyAgICA1MTMsIDUxNSwgMCwgMCwgMCwgNzg0MSwgMCwgNzY4MSwgMCwgMCwgMjYxLCAwLCAwLCAwLCA3NjgzLCAwLCAwLCA3Njg1LCAKKyAgICAwLCAwLCAwLCAwLCA3Njg3LCAwLCAwLCAyNjMsIDI2NSwgMCwgMCwgMCwgMjY3LCAwLCAwLCAwLCAwLCAyNjksIDAsIDIzMSwgCisgICAgMCwgMCwgMCwgMCwgNzY5MSwgMCwgMCwgMCwgMCwgMjcxLCAwLCA3NjkzLCAwLCAwLCAwLCA3Njk3LCAwLCA3Njk5LCAwLCAwLCAKKyAgICA3Njk1LCAwLCAyMzIsIDIzMywgMjM0LCA3ODY5LCAyNzUsIDI3NywgMjc5LCAyMzUsIDc4NjcsIDAsIDAsIDI4MywgNTE3LCAKKyAgICA1MTksIDAsIDAsIDAsIDc4NjUsIDAsIDAsIDAsIDU1MywgMjgxLCA3NzA1LCAwLCA3NzA3LCAwLCAwLCAwLCAwLCA3NzExLCAKKyAgICAwLCAwLCA1MDEsIDI4NSwgMCwgNzcxMywgMjg3LCAyODksIDAsIDAsIDAsIDAsIDQ4NywgMCwgMjkxLCAwLCAwLCAwLCAwLCAKKyAgICAyOTMsIDAsIDAsIDAsIDc3MTUsIDc3MTksIDAsIDAsIDAsIDU0MywgMCwgNzcxNywgMCwgMCwgMCwgNzcyMSwgMCwgMCwgCisgICAgNzcyMywgMCwgNzgzMCwgMCwgMjM2LCAyMzcsIDIzOCwgMjk3LCAyOTksIDMwMSwgMCwgMjM5LCA3ODgxLCAwLCAwLCA0NjQsIAorICAgIDUyMSwgNTIzLCAwLCAwLCAwLCA3ODgzLCAwLCAwLCAwLCAwLCAzMDMsIDAsIDAsIDc3MjUsIDAsIDAsIDAsIDAsIDMwOSwgMCwgCisgICAgMCwgMCwgMCwgNDk2LCAwLCA3NzI5LCAwLCAwLCAwLCAwLCAwLCA0ODksIDAsIDc3MzEsIDAsIDAsIDAsIDMxMSwgMCwgMCwgCisgICAgMCwgMCwgNzczMywgMCwgMCwgMzE0LCAwLCAwLCAwLCAwLCAwLCAzMTgsIDAsIDc3MzUsIDAsIDAsIDAsIDMxNiwgMCwgCisgICAgNzc0MSwgMCwgMCwgNzczOSwgMCwgMCwgNzc0MywgMCwgMCwgMCwgMCwgNzc0NSwgMCwgMCwgNzc0NywgMCwgMCwgNTA1LCAKKyAgICAzMjQsIDAsIDI0MSwgMCwgMCwgNzc0OSwgMCwgMCwgMCwgMCwgMzI4LCAwLCA3NzUxLCAwLCAwLCAwLCAzMjYsIDAsIDc3NTUsIAorICAgIDAsIDAsIDc3NTMsIDAsIDI0MiwgMjQzLCAyNDQsIDI0NSwgMzMzLCAzMzUsIDU1OSwgMjQ2LCA3ODg3LCAwLCAzMzcsIDQ2NiwgCisgICAgNTI1LCA1MjcsIDAsIDAsIDQxNywgNzg4NSwgMCwgMCwgMCwgMCwgNDkxLCAwLCAwLCA3NzY1LCAwLCAwLCAwLCAwLCA3NzY3LCAKKyAgICAwLCAwLCAzNDEsIDAsIDAsIDAsIDAsIDc3NjksIDAsIDAsIDAsIDAsIDM0NSwgNTI5LCA1MzEsIDAsIDAsIDAsIDc3NzEsIDAsIAorICAgIDAsIDAsIDM0MywgMCwgMCwgMCwgMCwgNzc3NSwgMCwgMCwgMzQ3LCAzNDksIDAsIDAsIDAsIDc3NzcsIDAsIDAsIDAsIDAsIAorICAgIDM1MywgMCwgNzc3OSwgMCwgMCwgNTM3LCAzNTEsIDAsIDAsIDAsIDAsIDc3ODcsIDc4MzEsIDAsIDAsIDAsIDM1NywgMCwgCisgICAgNzc4OSwgMCwgMCwgNTM5LCAzNTUsIDAsIDc3OTMsIDAsIDAsIDc3OTEsIDAsIDI0OSwgMjUwLCAyNTEsIDM2MSwgMzYzLCAKKyAgICAzNjUsIDAsIDI1MiwgNzkxMSwgMzY3LCAzNjksIDQ2OCwgNTMzLCA1MzUsIDAsIDAsIDQzMiwgNzkwOSwgNzc5NSwgMCwgMCwgCisgICAgMCwgMzcxLCA3Nzk5LCAwLCA3Nzk3LCAwLCAwLCAwLCAwLCAwLCA3ODA1LCAwLCA3ODA3LCAwLCAwLCA3ODA5LCA3ODExLCAKKyAgICAzNzMsIDAsIDAsIDAsIDc4MTUsIDc4MTMsIDAsIDc4MzIsIDAsIDAsIDAsIDc4MTcsIDAsIDAsIDAsIDAsIDc4MTksIDc4MjEsIAorICAgIDc5MjMsIDI1MywgMzc1LCA3OTI5LCA1NjMsIDAsIDc4MjMsIDI1NSwgNzkyNywgNzgzMywgMCwgMCwgMCwgNzkyNSwgMCwgMCwgCisgICAgMCwgMzc4LCA3ODI1LCAwLCAwLCAwLCAzODAsIDAsIDAsIDAsIDAsIDM4MiwgMCwgNzgyNywgMCwgMCwgMCwgMCwgNzgyOSwgCisgICAgMCwgODE3MywgOTAxLCAwLCAwLCA4MTI5LCAwLCAwLCAwLCA3ODQ2LCA3ODQ0LCAwLCA3ODUwLCA3ODQ4LCAwLCAwLCAwLCAKKyAgICA0NzgsIDAsIDAsIDAsIDAsIDUwNiwgMCwgMCwgMCwgNTA4LCAwLCAwLCA0ODIsIDAsIDAsIDAsIDAsIDc2ODgsIDAsIDAsIAorICAgIDc4NzIsIDc4NzAsIDAsIDc4NzYsIDc4NzQsIDAsIDAsIDAsIDAsIDc3MjYsIDAsIDAsIDc4OTAsIDc4ODgsIDAsIDc4OTQsIAorICAgIDc4OTIsIDAsIDAsIDAsIDAsIDc3NTYsIDAsIDAsIDU1NiwgMCwgMCwgNzc1OCwgNTU0LCAwLCAwLCAwLCAwLCA1MTAsIDAsIAorICAgIDAsIDQ3NSwgNDcxLCAwLCAwLCA0NjksIDAsIDAsIDAsIDAsIDAsIDAsIDQ3MywgNzg0NywgNzg0NSwgMCwgNzg1MSwgNzg0OSwgCisgICAgMCwgMCwgMCwgNDc5LCAwLCAwLCAwLCAwLCA1MDcsIDAsIDAsIDAsIDUwOSwgMCwgMCwgNDgzLCAwLCAwLCAwLCAwLCA3Njg5LCAKKyAgICAwLCAwLCA3ODczLCA3ODcxLCAwLCA3ODc3LCA3ODc1LCAwLCAwLCAwLCAwLCA3NzI3LCAwLCAwLCA3ODkxLCA3ODg5LCAwLCAKKyAgICA3ODk1LCA3ODkzLCAwLCAwLCAwLCAwLCA3NzU3LCAwLCAwLCA1NTcsIDAsIDAsIDc3NTksIDU1NSwgMCwgMCwgMCwgMCwgCisgICAgNTExLCAwLCAwLCA0NzYsIDQ3MiwgMCwgMCwgNDcwLCAwLCAwLCAwLCAwLCAwLCAwLCA0NzQsIDc4NTYsIDc4NTQsIDAsIAorICAgIDc4NjAsIDc4NTgsIDAsIDAsIDAsIDc4NTcsIDc4NTUsIDAsIDc4NjEsIDc4NTksIDAsIDAsIDAsIDc3MDAsIDc3MDIsIDAsIAorICAgIDAsIDc3MDEsIDc3MDMsIDAsIDAsIDc3NjAsIDc3NjIsIDAsIDAsIDc3NjEsIDc3NjMsIDAsIDAsIDAsIDAsIDc3ODAsIDAsIAorICAgIDAsIDAsIDc3ODEsIDAsIDAsIDAsIDc3ODIsIDAsIDAsIDAsIDc3ODMsIDAsIDAsIDc4MDAsIDAsIDAsIDAsIDc4MDEsIDAsIAorICAgIDAsIDAsIDAsIDAsIDc4MDIsIDAsIDAsIDAsIDc4MDMsIDAsIDAsIDc4MzUsIDAsIDc5MDAsIDc4OTgsIDAsIDc5MDQsIAorICAgIDc5MDIsIDAsIDAsIDAsIDAsIDc5MDYsIDAsIDAsIDc5MDEsIDc4OTksIDAsIDc5MDUsIDc5MDMsIDAsIDAsIDAsIDAsIAorICAgIDc5MDcsIDAsIDAsIDc5MTQsIDc5MTIsIDAsIDc5MTgsIDc5MTYsIDAsIDAsIDAsIDAsIDc5MjAsIDAsIDAsIDc5MTUsIAorICAgIDc5MTMsIDAsIDc5MTksIDc5MTcsIDAsIDAsIDAsIDAsIDc5MjEsIDAsIDAsIDAsIDAsIDAsIDQ5NCwgNDkyLCAwLCAwLCAwLCAKKyAgICA0OTMsIDAsIDAsIDAsIDQ4MCwgMCwgMCwgMCwgNDgxLCAwLCAwLCAwLCAwLCA3NzA4LCAwLCAwLCAwLCA3NzA5LCAwLCAwLCAKKyAgICA1NjAsIDAsIDAsIDAsIDU2MSwgMCwgMCwgMCwgMCwgMCwgMCwgNDk1LCA4MTIyLCA5MDIsIDAsIDAsIDgxMjEsIDgxMjAsIDAsIAorICAgIDAsIDAsIDAsIDc5NDQsIDc5NDUsIDAsIDgxMjQsIDAsIDAsIDgxMzYsIDkwNCwgMCwgMCwgMCwgMCwgNzk2MCwgNzk2MSwgCisgICAgODEzOCwgOTA1LCAwLCAwLCAwLCAwLCA3OTc2LCA3OTc3LCAwLCA4MTQwLCAwLCAwLCA4MTU0LCA5MDYsIDAsIDAsIDgxNTMsIAorICAgIDgxNTIsIDAsIDkzOCwgMCwgMCwgNzk5MiwgNzk5MywgODE4NCwgOTA4LCAwLCAwLCAwLCAwLCA4MDA4LCA4MDA5LCAwLCAwLCAKKyAgICAwLCA4MTcyLCA4MTcwLCA5MTAsIDAsIDAsIDgxNjksIDgxNjgsIDAsIDkzOSwgMCwgMCwgMCwgODAyNSwgODE4NiwgOTExLCAKKyAgICAwLCAwLCAwLCAwLCA4MDQwLCA4MDQxLCAwLCA4MTg4LCAwLCAwLCAwLCA4MTE2LCAwLCAwLCAwLCA4MTMyLCAwLCAwLCAKKyAgICA4MDQ4LCA5NDAsIDAsIDAsIDgxMTMsIDgxMTIsIDAsIDAsIDAsIDAsIDc5MzYsIDc5MzcsIDgxMTgsIDgxMTUsIDAsIDAsIAorICAgIDgwNTAsIDk0MSwgMCwgMCwgMCwgMCwgNzk1MiwgNzk1MywgODA1MiwgOTQyLCAwLCAwLCAwLCAwLCA3OTY4LCA3OTY5LCAKKyAgICA4MTM0LCA4MTMxLCAwLCAwLCA4MDU0LCA5NDMsIDAsIDAsIDgxNDUsIDgxNDQsIDAsIDk3MCwgMCwgMCwgNzk4NCwgNzk4NSwgCisgICAgODE1MCwgMCwgMCwgMCwgODA1NiwgOTcyLCAwLCAwLCAwLCAwLCA4MDAwLCA4MDAxLCAwLCAwLCA4MTY0LCA4MTY1LCA4MDU4LCAKKyAgICA5NzMsIDAsIDAsIDgxNjEsIDgxNjAsIDAsIDk3MSwgMCwgMCwgODAxNiwgODAxNywgODE2NiwgMCwgMCwgMCwgODA2MCwgCisgICAgOTc0LCAwLCAwLCAwLCAwLCA4MDMyLCA4MDMzLCA4MTgyLCA4MTc5LCAwLCAwLCA4MTQ2LCA5MTIsIDAsIDAsIDgxNTEsIDAsIAorICAgIDAsIDAsIDgxNjIsIDk0NCwgMCwgMCwgODE2NywgMCwgMCwgMCwgMCwgODE4MCwgMCwgMCwgMCwgOTc5LCAwLCAwLCAwLCAwLCAKKyAgICAwLCA5ODAsIDAsIDAsIDAsIDEwMzEsIDAsIDEyMzIsIDAsIDEyMzQsIDAsIDEwMjcsIDAsIDAsIDEwMjQsIDAsIDAsIDAsIDAsIAorICAgIDEyMzgsIDAsIDEwMjUsIDAsIDEyMTcsIDAsIDEyNDQsIDAsIDAsIDAsIDEyNDYsIDEwMzcsIDAsIDAsIDAsIDEyNTAsIAorICAgIDEwNDksIDAsIDEyNTIsIDAsIDEwMzYsIDAsIDAsIDAsIDAsIDAsIDEyNTQsIDEyNjIsIDEwMzgsIDAsIDEyNjQsIDAsIDAsIAorICAgIDEyNjYsIDAsIDAsIDAsIDAsIDEyNjgsIDAsIDAsIDAsIDEyNzIsIDAsIDAsIDAsIDEyNjAsIDAsIDEyMzMsIDAsIDEyMzUsIAorICAgIDAsIDExMDcsIDAsIDAsIDExMDQsIDAsIDAsIDAsIDAsIDEyMzksIDAsIDExMDUsIDAsIDEyMTgsIDAsIDEyNDUsIDAsIDAsIAorICAgIDAsIDEyNDcsIDExMTcsIDAsIDAsIDAsIDEyNTEsIDEwODEsIDAsIDEyNTMsIDAsIDExMTYsIDAsIDAsIDAsIDAsIDAsIAorICAgIDEyNTUsIDEyNjMsIDExMTgsIDAsIDEyNjUsIDAsIDAsIDEyNjcsIDAsIDAsIDAsIDAsIDEyNjksIDAsIDAsIDAsIDEyNzMsIAorICAgIDAsIDAsIDAsIDEyNjEsIDAsIDAsIDAsIDExMTEsIDExNDIsIDAsIDAsIDAsIDExNDMsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDEyNDIsIDAsIDAsIDAsIDEyNDMsIDAsIDAsIDAsIDEyNTgsIDAsIDAsIDAsIDEyNTksIDAsIDAsIDE1NzAsIDE1NzEsIAorICAgIDE1NzMsIDAsIDAsIDAsIDAsIDAsIDAsIDE1NzIsIDAsIDAsIDAsIDE1NzQsIDAsIDAsIDAsIDE3MzAsIDAsIDAsIDAsIAorICAgIDE3NDcsIDAsIDAsIDAsIDE3MjgsIDAsIDIzNDUsIDAsIDAsIDAsIDIzNTMsIDAsIDAsIDAsIDIzNTYsIDAsIDAsIDAsIDAsIAorICAgIDI1MDcsIDI1MDgsIDI4OTEsIDI4ODgsIDI4OTIsIDAsIDI5NjQsIDAsIDAsIDAsIDAsIDAsIDAsIDMwMTgsIDMwMjAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDMwMTksIDAsIDMxNDQsIDAsIDAsIDAsIDAsIDAsIDMyNjQsIDAsIDAsIDMyNzQsIDMyNzEsIAorICAgIDMyNzIsIDAsIDAsIDAsIDAsIDAsIDAsIDMyNzUsIDAsIDM0MDIsIDM0MDQsIDAsIDAsIDM0MDMsIDAsIDAsIDAsIDAsIDAsIAorICAgIDM1NDYsIDM1NDgsIDM1NTAsIDAsIDAsIDAsIDAsIDAsIDM1NDksIDAsIDAsIDQxMzQsIDAsIDAsIDAsIDAsIDY5MTgsIDAsIAorICAgIDAsIDAsIDY5MjAsIDAsIDAsIDAsIDY5MjIsIDAsIDAsIDAsIDY5MjQsIDAsIDAsIDAsIDY5MjYsIDAsIDAsIDAsIDY5MzAsIAorICAgIDAsIDAsIDAsIDY5NzEsIDAsIDAsIDAsIDY5NzMsIDAsIDAsIDAsIDY5NzYsIDAsIDAsIDAsIDY5NzcsIDAsIDAsIDAsIAorICAgIDY5NzksIDc3MzYsIDAsIDAsIDAsIDc3MzcsIDAsIDAsIDAsIDc3NzIsIDAsIDAsIDAsIDc3NzMsIDAsIDAsIDAsIDAsIDAsIAorICAgIDc3ODQsIDAsIDAsIDAsIDc3ODUsIDAsIDAsIDAsIDc4NTIsIDAsIDAsIDc4NjIsIDAsIDAsIDAsIDAsIDc4NTMsIDAsIDAsIAorICAgIDc4NjMsIDAsIDAsIDAsIDAsIDc4NzgsIDAsIDAsIDAsIDc4NzksIDAsIDAsIDAsIDc4OTYsIDAsIDAsIDAsIDc4OTcsIDAsIAorICAgIDc5MzgsIDc5NDAsIDAsIDAsIDc5NDIsIDgwNjQsIDAsIDAsIDc5MzksIDc5NDEsIDAsIDAsIDc5NDMsIDgwNjUsIDAsIDAsIAorICAgIDAsIDgwNjYsIDAsIDAsIDAsIDgwNjcsIDAsIDAsIDAsIDgwNjgsIDAsIDAsIDAsIDgwNjksIDAsIDAsIDAsIDgwNzAsIDAsIAorICAgIDAsIDAsIDgwNzEsIDAsIDAsIDc5NDYsIDc5NDgsIDAsIDAsIDc5NTAsIDgwNzIsIDAsIDAsIDc5NDcsIDc5NDksIDAsIDAsIAorICAgIDc5NTEsIDgwNzMsIDAsIDAsIDAsIDgwNzQsIDAsIDAsIDAsIDgwNzUsIDAsIDAsIDAsIDgwNzYsIDAsIDAsIDAsIDgwNzcsIAorICAgIDAsIDAsIDAsIDgwNzgsIDAsIDAsIDAsIDgwNzksIDAsIDAsIDc5NTQsIDc5NTYsIDAsIDAsIDc5NTUsIDc5NTcsIDAsIDAsIAorICAgIDc5NjIsIDc5NjQsIDAsIDAsIDc5NjMsIDc5NjUsIDAsIDAsIDc5NzAsIDc5NzIsIDAsIDAsIDc5NzQsIDgwODAsIDAsIDAsIAorICAgIDc5NzEsIDc5NzMsIDAsIDAsIDc5NzUsIDgwODEsIDAsIDAsIDAsIDgwODIsIDAsIDAsIDAsIDgwODMsIDAsIDAsIDAsIAorICAgIDgwODQsIDAsIDAsIDAsIDgwODUsIDAsIDAsIDAsIDgwODYsIDAsIDAsIDAsIDgwODcsIDAsIDAsIDc5NzgsIDc5ODAsIDAsIAorICAgIDAsIDc5ODIsIDgwODgsIDAsIDAsIDc5NzksIDc5ODEsIDAsIDAsIDc5ODMsIDgwODksIDAsIDAsIDAsIDgwOTAsIDAsIDAsIAorICAgIDAsIDgwOTEsIDAsIDAsIDAsIDgwOTIsIDAsIDAsIDAsIDgwOTMsIDAsIDAsIDAsIDgwOTQsIDAsIDAsIDAsIDgwOTUsIDAsIAorICAgIDAsIDc5ODYsIDc5ODgsIDAsIDAsIDc5OTAsIDAsIDAsIDAsIDc5ODcsIDc5ODksIDAsIDAsIDc5OTEsIDAsIDAsIDAsIAorICAgIDc5OTQsIDc5OTYsIDAsIDAsIDc5OTgsIDAsIDAsIDAsIDc5OTUsIDc5OTcsIDAsIDAsIDc5OTksIDAsIDAsIDAsIDgwMDIsIAorICAgIDgwMDQsIDAsIDAsIDgwMDMsIDgwMDUsIDAsIDAsIDgwMTAsIDgwMTIsIDAsIDAsIDgwMTEsIDgwMTMsIDAsIDAsIDgwMTgsIAorICAgIDgwMjAsIDAsIDAsIDgwMjIsIDAsIDAsIDAsIDgwMTksIDgwMjEsIDAsIDAsIDgwMjMsIDAsIDAsIDAsIDgwMjcsIDgwMjksIAorICAgIDAsIDAsIDgwMzEsIDAsIDAsIDAsIDgwMzQsIDgwMzYsIDAsIDAsIDgwMzgsIDgwOTYsIDAsIDAsIDgwMzUsIDgwMzcsIDAsIAorICAgIDAsIDgwMzksIDgwOTcsIDAsIDAsIDAsIDgwOTgsIDAsIDAsIDAsIDgwOTksIDAsIDAsIDAsIDgxMDAsIDAsIDAsIDAsIAorICAgIDgxMDEsIDAsIDAsIDAsIDgxMDIsIDAsIDAsIDAsIDgxMDMsIDAsIDAsIDgwNDIsIDgwNDQsIDAsIDAsIDgwNDYsIDgxMDQsIAorICAgIDAsIDAsIDgwNDMsIDgwNDUsIDAsIDAsIDgwNDcsIDgxMDUsIDAsIDAsIDAsIDgxMDYsIDAsIDAsIDAsIDgxMDcsIDAsIDAsIAorICAgIDAsIDgxMDgsIDAsIDAsIDAsIDgxMDksIDAsIDAsIDAsIDgxMTAsIDAsIDAsIDAsIDgxMTEsIDAsIDAsIDAsIDgxMTQsIDAsIAorICAgIDAsIDAsIDgxMzAsIDAsIDAsIDAsIDgxNzgsIDAsIDAsIDAsIDgxMTksIDAsIDAsIDgxNDEsIDgxNDIsIDAsIDAsIDgxNDMsIAorICAgIDAsIDAsIDAsIDAsIDgxMzUsIDAsIDAsIDAsIDgxODMsIDAsIDAsIDgxNTcsIDgxNTgsIDAsIDAsIDgxNTksIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDg2MDIsIDAsIDAsIDAsIDg2MDMsIDAsIDAsIDAsIDg2MjIsIDAsIDAsIDAsIDg2NTMsIDAsIDAsIDAsIAorICAgIDg2NTUsIDAsIDAsIDAsIDg2NTQsIDAsIDAsIDAsIDg3MDgsIDAsIDAsIDAsIDg3MTMsIDAsIDAsIDAsIDg3MTYsIDAsIDAsIAorICAgIDAsIDg3NDAsIDAsIDAsIDAsIDg3NDIsIDAsIDAsIDAsIDg3NjksIDAsIDAsIDAsIDg3NzIsIDAsIDAsIDAsIDg3NzUsIDAsIAorICAgIDAsIDAsIDg3NzcsIDAsIDAsIDAsIDg4MTMsIDAsIDAsIDAsIDg4MDIsIDAsIDAsIDAsIDg4MTYsIDAsIDAsIDAsIDg4MTcsIAorICAgIDAsIDAsIDAsIDg4MjAsIDAsIDAsIDAsIDg4MjEsIDAsIDAsIDAsIDg4MjQsIDAsIDAsIDAsIDg4MjUsIDAsIDAsIDAsIAorICAgIDg4MzIsIDAsIDAsIDAsIDg4MzMsIDAsIDAsIDAsIDg5MjgsIDAsIDAsIDAsIDg5MjksIDAsIDAsIDAsIDg4MzYsIDAsIDAsIAorICAgIDAsIDg4MzcsIDAsIDAsIDAsIDg4NDAsIDAsIDAsIDAsIDg4NDEsIDAsIDAsIDAsIDg5MzAsIDAsIDAsIDAsIDg5MzEsIDAsIAorICAgIDAsIDAsIDg4NzYsIDAsIDAsIDAsIDg4NzcsIDAsIDAsIDAsIDg4NzgsIDAsIDAsIDAsIDg4NzksIDAsIDAsIDAsIDg5MzgsIAorICAgIDAsIDAsIDAsIDg5MzksIDAsIDAsIDAsIDg5NDAsIDAsIDAsIDAsIDg5NDEsIDEyNDM2LCAwLCAwLCAwLCAxMjM2NCwgMCwgMCwgCisgICAgMCwgMTIzNjYsIDAsIDAsIDAsIDEyMzY4LCAwLCAwLCAwLCAxMjM3MCwgMCwgMCwgMCwgMTIzNzIsIDAsIDAsIDAsIDEyMzc0LCAKKyAgICAwLCAwLCAwLCAxMjM3NiwgMCwgMCwgMCwgMTIzNzgsIDAsIDAsIDAsIDEyMzgwLCAwLCAwLCAwLCAxMjM4MiwgMCwgMCwgMCwgCisgICAgMTIzODQsIDAsIDAsIDAsIDEyMzg2LCAwLCAwLCAwLCAxMjM4OSwgMCwgMCwgMCwgMTIzOTEsIDAsIDAsIDAsIDEyMzkzLCAwLCAKKyAgICAwLCAwLCAxMjQwMCwgMTI0MDEsIDAsIDAsIDEyNDAzLCAxMjQwNCwgMCwgMCwgMTI0MDYsIDEyNDA3LCAwLCAwLCAxMjQwOSwgCisgICAgMTI0MTAsIDAsIDAsIDEyNDEyLCAxMjQxMywgMCwgMCwgMTI0NDYsIDAsIDAsIDAsIDEyNTMyLCAwLCAwLCAwLCAxMjQ2MCwgCisgICAgMCwgMCwgMCwgMTI0NjIsIDAsIDAsIDAsIDEyNDY0LCAwLCAwLCAwLCAxMjQ2NiwgMCwgMCwgMCwgMTI0NjgsIDAsIDAsIDAsIAorICAgIDEyNDcwLCAwLCAwLCAwLCAxMjQ3MiwgMCwgMCwgMCwgMTI0NzQsIDAsIDAsIDAsIDEyNDc2LCAwLCAwLCAwLCAxMjQ3OCwgMCwgCisgICAgMCwgMCwgMTI0ODAsIDAsIDAsIDAsIDEyNDgyLCAwLCAwLCAwLCAxMjQ4NSwgMCwgMCwgMCwgMTI0ODcsIDAsIDAsIDAsIAorICAgIDEyNDg5LCAwLCAwLCAwLCAxMjQ5NiwgMTI0OTcsIDAsIDAsIDEyNDk5LCAxMjUwMCwgMCwgMCwgMTI1MDIsIDEyNTAzLCAwLCAKKyAgICAwLCAxMjUwNSwgMTI1MDYsIDAsIDAsIDEyNTA4LCAxMjUwOSwgMCwgMCwgMTI1MzUsIDAsIDAsIDAsIDEyNTM2LCAwLCAwLCAKKyAgICAwLCAxMjUzNywgMCwgMCwgMCwgMTI1MzgsIDAsIDAsIDAsIDEyNTQyLCAwLCAwLCAwLCAwLCAwLCA2OTc4NiwgMCwgMCwgMCwgCisgICAgNjk3ODgsIDAsIDAsIDAsIDY5ODAzLCAwLCAwLCAwLCAwLCA2OTkzNCwgMCwgMCwgMCwgNjk5MzUsIAogfTsKIAogc3RhdGljIGNvbnN0IGNoYW5nZV9yZWNvcmQgY2hhbmdlX3JlY29yZHNfM18yXzBbXSA9IHsKIAl7IDI1NSwgMjU1LCAyNTUsIDI1NSwgMCB9LAogCXsgMTEsIDI1NSwgMjU1LCAyNTUsIDAgfSwKIAl7IDEwLCAyNTUsIDI1NSwgMjU1LCAwIH0sCisJeyAyNTUsIDMwLCAyNTUsIDI1NSwgMCB9LAorCXsgMjU1LCAyLCAyNTUsIDI1NSwgMCB9LAogCXsgMTksIDIxLCAyNTUsIDI1NSwgMCB9LAogCXsgMjU1LCAyNTUsIDIsIDI1NSwgMCB9LAogCXsgMjU1LCAyNTUsIDMsIDI1NSwgMCB9LAogCXsgMjU1LCAyNTUsIDEsIDI1NSwgMCB9LAogCXsgMjU1LCAwLCAyNTUsIDI1NSwgMCB9LAotCXsgMjU1LCAyLCAyNTUsIDI1NSwgMCB9LAogCXsgMjU1LCAyOSwgMjU1LCAyNTUsIDAgfSwKIAl7IDI1NSwgMjYsIDI1NSwgMjU1LCAwIH0sCiAJeyA1LCAyNTUsIDI1NSwgMjU1LCAwIH0sCkBAIC01MDU4LDcgKzUxNzcsNyBAQAogCXsgMjU1LCA3LCA3LCAyNTUsIDAgfSwKIAl7IDI1NSwgNywgOCwgMjU1LCAwIH0sCiAJeyAyNTUsIDcsIDksIDI1NSwgMCB9LAotCXsgMjU1LCA1LCAyNTUsIDI1NSwgMCB9LAorCXsgMSwgNSwgMjU1LCAyNTUsIDAgfSwKIAl7IDE1LCAxNCwgMjU1LCAyNTUsIDAgfSwKIAl7IDI1NSwgMTAsIDI1NSwgMjU1LCAwIH0sCiAJeyAxOCwgMjU1LCAyNTUsIDI1NSwgMCB9LApAQCAtNTA3MCwxMiArNTE4OSwxMiBAQAogCXsgMjU1LCAyNTUsIDcsIDI1NSwgMCB9LAogCXsgMjU1LCAyNTUsIDgsIDI1NSwgMCB9LAogCXsgMjU1LCAyNTUsIDksIDI1NSwgMCB9LAotCXsgMjU1LCAzMCwgMjU1LCAyNTUsIDAgfSwKIAl7IDE5LCAzMCwgMjU1LCAyNTUsIDAgfSwKIAl7IDI1NSwgOCwgMjU1LCAyNTUsIDAgfSwKIAl7IDI1NSwgMjIsIDI1NSwgMjU1LCAwIH0sCiAJeyAyNTUsIDIzLCAyNTUsIDI1NSwgMCB9LAogCXsgOSwgMjU1LCAyNTUsIDI1NSwgMCB9LAorCXsgMTQsIDQsIDI1NSwgMjU1LCAwIH0sCiAJeyAyNTUsIDIwLCAyNTUsIDI1NSwgMCB9LAogCXsgMjU1LCAyNTUsIDI1NSwgMjU1LCAxZSsxNiB9LAogCXsgMjU1LCAyNTUsIDI1NSwgMjU1LCAxZSsyMCB9LApAQCAtNTA4NCw3NCArNTIwMyw3NCBAQAogCXsgMSwgMjU1LCAyNTUsIDAsIDAgfSwKIH07CiBzdGF0aWMgdW5zaWduZWQgY2hhciBjaGFuZ2VzXzNfMl8wX2luZGV4W10gPSB7Ci0gICAgMCwgMSwgMiwgMiwgMywgNCwgNSwgNiwgMiwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAyLCAxNSwgMTYsIDE3LCAKLSAgICAxOCwgMTksIDIwLCAyMSwgMjIsIDIzLCAyLCAyLCAyLCAyNCwgMjUsIDI2LCAyNywgMjgsIDI5LCAzMCwgMzEsIDMyLCAzMywgCi0gICAgMzQsIDIsIDIsIDIsIDM1LCAzNiwgMiwgMzcsIDM4LCAzOSwgNDAsIDQxLCA0MiwgNDMsIDQ0LCA0NSwgNDYsIDQ3LCA0OCwgCi0gICAgNDksIDIsIDUwLCAyLCAyLCA1MSwgNTIsIDUzLCA1NCwgNTUsIDIsIDIsIDU2LCA1NywgNTgsIDIsIDIsIDU5LCA2MCwgNjEsIAotICAgIDYyLCA2MywgNjMsIDIsIDIsIDIsIDIsIDY0LCAyLCA2NSwgNjYsIDY3LCA2OCwgNjksIDIsIDIsIDIsIDIsIDcwLCA3MSwgCi0gICAgNzIsIDczLCA3NCwgNzUsIDc2LCA3NywgNzgsIDIsIDIsIDIsIDIsIDIsIDIsIDc5LCAyLCAyLCAyLCAyLCAyLCA4MCwgMiwgCisgICAgMCwgMSwgMiwgMiwgMywgNCwgNSwgNiwgMiwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDE3LCAxOCwgCisgICAgMTksIDIwLCAyMSwgMjIsIDIzLCAyNCwgMiwgMiwgMjUsIDI2LCAyNywgMjgsIDI5LCAzMCwgMzEsIDMyLCAzMywgMzQsIDM1LCAKKyAgICAzNiwgMiwgMiwgMiwgMzcsIDM4LCAyLCAzOSwgNDAsIDQxLCA0MiwgNDMsIDQ0LCA0NSwgNDYsIDQ3LCA0OCwgNDksIDUwLCAKKyAgICA1MSwgMiwgNTIsIDIsIDIsIDUzLCA1NCwgNTUsIDU2LCA1NywgMiwgMiwgNTgsIDU5LCA2MCwgMiwgMiwgNjEsIDYyLCA2MywgCisgICAgNjQsIDY1LCA2NSwgMiwgMiwgMiwgMiwgNjYsIDIsIDY3LCA2OCwgNjksIDcwLCA3MSwgMiwgMiwgMiwgNzIsIDczLCA3NCwgCisgICAgNzUsIDc2LCA3NywgNzgsIDc5LCA4MCwgODEsIDIsIDIsIDIsIDIsIDIsIDIsIDgyLCAyLCAyLCAyLCAyLCAyLCA4MywgMiwgCiAgICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCi0gICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgODEsIDIsIDgyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCA4MywgCi0gICAgODQsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDg1LCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCA4NiwgODcsIAorICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDg0LCAyLCA4NSwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgODYsIAorICAgIDg3LCAyLCAyLCAyLCAyLCAyLCAyLCAyLCA4OCwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgODksIDkwLCAKICAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKLSAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCA4OCwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCisgICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgOTEsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIAogICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIAotICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDg5LCAyLCAyLCAyLCAyLCAKLSAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCA5MCwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCi0gICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgOTEsIDkyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCA5MywgNDgsIDQ4LCAKLSAgICA5NCwgOTUsIDQ4LCA5NiwgOTcsIDk4LCA5OSwgMTAwLCAxMDEsIDEwMiwgMTAzLCAxMDQsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIAotICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIAotICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIAotICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIAotICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDEwNSwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCisgICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgOTIsIDIsIDIsIDIsIDIsIAorICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDkzLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKKyAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCA5NCwgOTUsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDk2LCA1MCwgNTAsIAorICAgIDk3LCA5OCwgNTAsIDk5LCAxMDAsIDEwMSwgMTAyLCAxMDMsIDEwNCwgMTA1LCAxMDYsIDEwNywgMiwgMiwgMiwgMiwgMiwgMiwgCiAgICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCiAgICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCi0gICAgMiwgMiwgMiwgMTA2LCAxMDcsIDEwOCwgMTA5LCAxMTAsIDExMSwgMiwgMiwgMiwgMTEyLCAxMTMsIDIsIDExNCwgMTE1LCAKLSAgICAxMTYsIDExNywgMTE4LCAxMTksIDIsIDEyMCwgMTIxLCAxMjIsIDEyMywgMTI0LCAyLCAyLCAyLCAyLCAyLCAyLCAxMjUsIDIsIAotICAgIDEyNiwgMiwgMTI3LCAyLCAxMjgsIDIsIDEyOSwgMiwgMiwgMiwgMTMwLCAyLCAyLCAyLCAxMzEsIDEzMiwgMiwgMiwgMiwgMiwgCiAgICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCi0gICAgMiwgMiwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgMTMzLCAyLCAxMzQsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIAotICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgMTM1LCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKKyAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAxMDgsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIAogICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIAogICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIAorICAgIDIsIDIsIDIsIDIsIDEwOSwgMTEwLCAxMTEsIDExMiwgMTEzLCAxMTQsIDIsIDIsIDIsIDExNSwgMTE2LCAyLCAxMTcsIDExOCwgCisgICAgMTE5LCAxMjAsIDEyMSwgMTIyLCAyLCAxMjMsIDEyNCwgMTI1LCAxMjYsIDEyNywgMiwgMiwgMiwgMiwgMiwgMiwgMTI4LCAyLCAKKyAgICAxMjksIDEzMCwgMTMxLCAyLCAxMzIsIDIsIDEzMywgMiwgMiwgMiwgMTM0LCAyLCAyLCAyLCAxMzUsIDEzNiwgMTM3LCAxMzgsIAorICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDEzOSwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCisgICAgMiwgMiwgMiwgMiwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgMTQwLCAyLCAxNDEsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIAorICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKKyAgICA1MCwgMTQyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKICAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKLSAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCA0OCwgNDgsIDQ4LCA0OCwgMTM2LCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKICAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKICAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKKyAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCA1MCwgNTAsIDUwLCA1MCwgMTQzLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKKyAgICAyLCAyLCAxNDQsIDE0NSwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCiAgICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCiAgICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCiAgICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCi0gICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMTM3LCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKICAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKKyAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAxNDYsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIAogICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIAotICAgIDIsIDIsIDIsIDIsIDEzOCwgMiwgMTM5LCAyLCAxNDAsIDIsIDIsIDE0MSwgMiwgMiwgMiwgMTQyLCAxNDMsIDE0NCwgMiwgMiwgCiAgICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCi0gICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMTQ1LCAKLSAgICAxNDYsIDE0NywgMTQ4LCAxNDksIDIsIDE1MCwgMTUxLCAxNTIsIDE1MywgMTU0LCAxNTUsIDE1NiwgMTM5LCAxNTcsIDIsIDIsIAotICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDE1OCwgMTU5LCA5MCwgMiwgMiwgMiwgMiwgMiwgCi0gICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgNzksIDE2MCwgMiwgMTYxLCAxNjIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIAorICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDE0NywgMiwgMTQ4LCAyLCAxNDksIDIsIDIsIDE1MCwgMiwgMiwgMiwgMTUxLCAxNTIsIAorICAgIDE1MywgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCisgICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMTU0LCAxNTUsIAorICAgIDIsIDIsIDE1NiwgMTU3LCAxNTgsIDE1OSwgMTYwLCAyLCAxNjEsIDE2MiwgMTYzLCAxNjQsIDE2NSwgMTY2LCAxNjcsIDE0OCwgCisgICAgMTY4LCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAxNjksIDE3MCwgOTMsIDIsIAorICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDgyLCAxNzEsIDIsIDE3MiwgMTczLCAyLCAyLCAyLCAKICAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKLSAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAxNjMsIDIsIDIsIDIsIDIsIDIsIDIsIAotICAgIDIsIDIsIDIsIDIsIDIsIDE2NCwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCi0gICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMTY1LCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKKyAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAxNzQsIDIsIDIsIAorICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDE3NSwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCisgICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMTc2LCAyLCAyLCAyLCAKICAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKICAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKLSAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAxNjYsIDIsIAogICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIAorICAgIDIsIDIsIDE3NywgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCiAgICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCiAgICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCiAgICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCiAgICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCi0gICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgCi0gICAgNDgsIDQ4LCA0OCwgNDgsIDQ4LCA0OCwgNDgsIDQ4LCAxNjcsIDQ4LCAxNjgsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIAorICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDUwLCA1MCwgNTAsIAorICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAorICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgMTc4LCA1MCwgMTc5LCAyLCAyLCAyLCAyLCAyLCAKICAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKICAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKICAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKICAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKLSAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAxNjMsIAogICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIAorICAgIDIsIDIsIDIsIDE3NCwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCiAgICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCiAgICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCiAgICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMiwgCkBAIC01Mzg2LDcgKzU1MDUsNyBAQAogICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIAogICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIAogICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIAotICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDQ4LCAxNjksIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIAorICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDUwLCAxODAsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIAogICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIAogICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIAogICAgIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIDIsIApAQCAtNTQ1MCw3ICs1NTY5LDcgQEAKICAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKICAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKICAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKLSAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKKyAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAKIH07CiAKIHN0YXRpYyB1bnNpZ25lZCBjaGFyIGNoYW5nZXNfM18yXzBfZGF0YVtdID0gewpAQCAtNTQ2MCw4ICs1NTc5LDkgQEAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzLCAKKyAgICAwLCAwLCA0LCAwLCAwLCA1LCAwLCAwLCAwLCAwLCA2LCA3LCAwLCAwLCAzLCAwLCAwLCA4LCA0LCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAzLCAwLCAwLCAwLCAwLCA0LCA1LCAwLCAwLCAwLCAwLCAwLCA2LCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKQEAgLTU0NzAsODQ4ICs1NTkwLDkwNiBAQAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEwLCAxMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMTAsIDEwLCAxMCwgMTAsIDEwLCAxMCwgMTAsIDEwLCAxMCwgMTAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEwLCAKKyAgICAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCA4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCA3LCA3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCAwLCAwLCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCAxMCwgMCwgOSwgOSwgMCwgMCwgMCwgOSwgOSwgCisgICAgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNywgNywgNywgNywgOSwgMCwgNywgNywgMCwgMCwgMCwgNywgNywgNywgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNywgCi0gICAgNywgNywgNywgNywgNywgNywgNywgNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgNywgNywgMCwgMCwgNywgNywgNywgNywgNywgNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgCi0gICAgNywgNywgNywgNywgNywgNywgNywgNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMTEsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDAsIDksIDksIDksIDksIDksIDksIDAsIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDksIDAsIDksIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIAorICAgIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDcsIDAsIDAsIDAsIDEwLCAwLCAwLCAwLCAwLCAwLCAwLCA3LCA3LCA3LCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3LCA3LCA3LCA3LCAwLCAwLCA3LCA3LCA3LCA3LCA3LCA3LCAwLCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAwLCAwLCAwLCA3LCAwLCA3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3LCA3LCA3LCA3LCA3LCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMiwgMTMsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE0LCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMSwgMTIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDcsIDcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDcsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3LCA3LCA3LCAKKyAgICAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAwLCAwLCAwLCAwLCAwLCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAwLCAwLCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCAwLCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAwLCAwLCA3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICA3LCAwLCAwLCAwLCA3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCA5LCAwLCAwLCAwLCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3LCA3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCA3LCA3LCAwLCAwLCAwLCAwLCAwLCA3LCA3LCA3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICAwLCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAKKyAgICA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3LCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAxNCwgMTUsIDE2LCAxNywgMTgsIDAsIDAsIDcsIDAsIDAsIDAsIDAsIDAsIDcsIDAsIDcsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE1LCAxNiwgMTcsIDE4LCAxOSwgMCwgMCwgOSwgCisgICAgMCwgMCwgMCwgMCwgMCwgOSwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgNywgNywgNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNywgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNywgNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgNywgNywgNywgNywgNywgNywgNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNywgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNywgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNywgNywgNywgNywgNywgNywgNywgNywgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNywgNywgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgNywgNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgNywgNywgNywgNywgNywgNywgNywgNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNywgNywgMCwgCi0gICAgMTksIDAsIDAsIDAsIDAsIDAsIDAsIDE5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3LCA3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCA3LCA3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCAwLCAyMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDcsIDAsIDAsIDcsIDAsIDAsIDAsIDAsIDAsIDAsIDcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDcsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDcsIDcsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDcsIDcsIDcsIDcsIDcsIDcsIDAsIDAsIDAsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDAsIDAsIDksIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIAorICAgIDksIDksIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDIwLCAyMCwgMjAsIDIwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3LCA3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3LCA3LCAKLSAgICA3LCA3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3LCAwLCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCA3LCAwLCAwLCAwLCAwLCAwLCA3LCAwLCAwLCA3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3LCA3LCA3LCAKLSAgICAwLCAwLCAwLCAwLCA3LCA3LCA3LCA3LCA3LCA3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAyMSwgMjEsIDIxLCAyMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgNywgNywgMCwgNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgCisgICAgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgCisgICAgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgCisgICAgMCwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgNywgNywgNywgNywgNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgCisgICAgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgNywgNywgNywgNywgNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNywgNywgNywgNywgCi0gICAgNywgNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNywgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNywgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNywgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNywgNywgNywgNywgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMjEsIDIyLCAyMywgMjQsIDI1LCAyNiwgMjcsIDI4LCAyOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgCi0gICAgNywgNywgNywgNywgNywgNywgNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjIsIDIzLCAKKyAgICAyNCwgMjUsIDI2LCAyNywgMjgsIDI5LCAzMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNywgNywgNywgNywgCi0gICAgNywgNywgNywgNywgNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjAsIDIwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAyMSwgMjEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDMwLCAzMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDMxLCAzMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMzIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDcsIAotICAgIDAsIDAsIDAsIDAsIDAsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDAsIDAsIDAsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDAsIDAsIDAsIDAsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDAsIDAsIDAsIDAsIDcsIDAsIDAsIDAsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDAsIDAsIDcsIDcsIDcsIDcsIDcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDAsIDAsIDAsIDAsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDAsIDAsIDAsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDAsIDAsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDAsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDAsIDAsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDAsIDAsIDAsIDAsIDAsIDAsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDAsIDAsIDAsIDAsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDAsIDAsIDAsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDAsIDAsIDAsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDAsIDAsIDAsIDAsIDAsIDAsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDAsIDAsIDAsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDAsIDAsIDAsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDAsIDAsIDAsIDAsIDAsIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDksIAorICAgIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDksIAorICAgIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDcsIDcsIDcsIDcsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDcsIDcsIDcsIDcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDMyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAzMywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMzQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDcsIDcsIDcsIDcsIDAsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDAsIDAsIDAsIDAsIDAsIDcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM1LCA4LCAwLCAKLSAgICAwLCAzNiwgMzcsIDM4LCAzOSwgNDAsIDQxLCAxLCAxLCAwLCAwLCAwLCA4LCAzNSwgNiwgNCwgNSwgMzYsIDM3LCAzOCwgMzksIAotICAgIDQwLCA0MSwgMSwgMSwgMCwgMCwgMCwgMCwgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNywgNywgNywgNywgNywgNywgCi0gICAgNywgNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgNywgNywgNywgNywgNywgNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgNDIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDQzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3LCA3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzQsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM1LCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAKKyAgICAwLCAwLCAwLCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNiwgNCwgMCwgMCwgMzcsIDM4LCAzOSwgNDAsIAorICAgIDQxLCA0MiwgMSwgMSwgMCwgMCwgMCwgNCwgMzYsIDgsIDYsIDcsIDM3LCAzOCwgMzksIDQwLCA0MSwgNDIsIDEsIDEsIDAsIAorICAgIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ0LCA3LCA3LCA3LCA3LCA3LCA3LCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA0MywgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgNDQsIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDQ1LCA0NiwgMTAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ1LCAKKyAgICA0NiwgMTEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgCisgICAgMCwgMCwgMCwgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAogICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIAotICAgIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgNDcsIDQ3LCA0NywgNDcsIDQ3LCA0NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDcsIDcsIDAsIDAsIDcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCA5LCA5LCAwLCAwLCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3LCA3LCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCAwLCAwLCAwLCAwLCAwLCA3LCAwLCAwLCAwLCAwLCA3LCA3LCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3LCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICAwLCAwLCAwLCAwLCAwLCA5LCAwLCAwLCAwLCAwLCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3LCAwLCA3LCAwLCAwLCAwLCAwLCA3LCA3LCA3LCAwLCA3LCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCA3LCA3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCA5LCAwLCA5LCAwLCAwLCAwLCAwLCA5LCA5LCA5LCAwLCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCAKKyAgICA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3LCA3LCA3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAwLCA3LCAwLCA3LCA3LCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKKyAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKKyAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKKyAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKKyAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKKyAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKKyAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAKKyAgICAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDM1LCAzNSwgMzUsIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIAorICAgIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDcsIDcsIDcsIDcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM0LCAzNCwgCi0gICAgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgCi0gICAgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgCi0gICAgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgCi0gICAgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgCi0gICAgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgCi0gICAgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgCi0gICAgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgCi0gICAgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgCi0gICAgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgCi0gICAgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgCi0gICAgNywgNywgNywgNywgNywgMCwgMCwgMCwgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgOSwgMCwgMCwgMCwgMCwgMCwgOSwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgCi0gICAgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgCi0gICAgNywgNywgNywgNywgNywgNywgNywgMCwgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgCi0gICAgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgCi0gICAgNywgNywgNywgNywgNywgNywgNywgMCwgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgCi0gICAgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgCi0gICAgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgCi0gICAgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgCi0gICAgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgCi0gICAgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgCi0gICAgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNywgNywgNywgNywgNywgNywgNywgCi0gICAgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgCi0gICAgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgCi0gICAgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgCi0gICAgNywgNywgNywgNywgNywgNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNywgNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgCi0gICAgNywgNywgNywgNywgNywgNywgNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNywgNywgNywgNywgNywgNywgNywgMCwgCi0gICAgNywgNywgNywgNywgNywgNywgNywgMCwgNywgNywgNywgNywgNywgNywgNywgMCwgNywgNywgNywgNywgNywgNywgNywgMCwgCi0gICAgNywgNywgNywgNywgNywgNywgNywgMCwgNywgNywgNywgNywgNywgNywgNywgMCwgNywgNywgNywgNywgNywgNywgNywgMCwgCi0gICAgNywgNywgNywgNywgNywgNywgNywgMCwgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgCi0gICAgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgCi0gICAgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgCi0gICAgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDgsIDQ4LCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCA0OCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgNDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDcsIDcsIDcsIDAsIDAsIDAsIDAsIDAsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDcsIDcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDcsIDcsIDcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDcsIDcsIDcsIDcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDcsIDcsIDcsIDcsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDcsIDcsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDcsIDAsIDAsIDAsIDAsIDAsIDE4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCAwLCAwLCAwLCAwLCAwLCAxOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTgsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE5LCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxOCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTksIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgCi0gICAgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgCi0gICAgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTgsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ5LCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxOCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDE5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1MCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTksIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDE4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxOCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDE5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTEsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTgsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDE4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAxOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAxOCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDE5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCA1MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDAsIDcsIDcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDAsIDAsIDAsIDAsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDAsIDAsIDAsIDAsIDAsIDAsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDAsIDAsIDAsIDAsIDAsIDAsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDAsIDAsIDAsIDAsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDAsIDAsIDAsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDAsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDAsIDAsIDAsIDAsIDcsIDcsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDAsIDAsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDAsIDAsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDAsIDAsIDAsIDAsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDcsIDcsIDcsIDcsIDcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDcsIDcsIDcsIDcsIDcsIDcsIDAsIDAsIDcsIDcsIDcsIDcsIDcsIDcsIDAsIDAsIDcsIDcsIDcsIDcsIDcsIDcsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDAsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDAsIAorICAgIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDAsIDAsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDAsIDAsIDAsIDAsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxOCwgMCwgMCwgMCwgMCwgCi0gICAgMTgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxOCwgMCwgMTgsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCA3LCA3LCA3LCAwLCAwLCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCA3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3LCA3LCA3LCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3LCA3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAwLCAwLCAwLCAxLCAxLCAyMCwgMjAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDEsIDAsIDEsIDAsIDIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQ4LCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAxMywgMTMsIDEzLCAwLCAwLCAwLCAwLCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAwLCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCAwLCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAwLCA3LCAKLSAgICA3LCAwLCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAwLCAwLCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAwLCAwLCAKLSAgICAwLCAwLCAwLCA3LCA3LCA3LCAwLCAwLCAwLCAwLCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCAwLCAwLCAwLCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAwLCAwLCAKLSAgICAwLCAwLCAwLCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAKKyAgICAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAKKyAgICAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAKKyAgICA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAwLCAwLCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICAwLCAwLCAwLCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1MiwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMTgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDAsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDAsIDAsIDAsIDAsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDcsIDcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDAsIDAsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxOSwgMCwgMCwgCisgICAgMCwgMCwgMTksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDcsIDcsIDcsIDcsIDcsIDcsIDAsIDAsIDcsIDAsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDAsIDcsIDcsIDAsIDAsIDAsIDcsIAotICAgIDAsIDAsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDAsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDAsIAotICAgIDAsIDAsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIDcsIAotICAgIDcsIDcsIDcsIDcsIDcsIDAsIDAsIDAsIDAsIDAsIDcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxOSwgMCwgMTksIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCA3LCA3LCA3LCA3LCAwLCA3LCA3LCAwLCAwLCAwLCAwLCAwLCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAwLCAKLSAgICA3LCA3LCA3LCAwLCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCAwLCAwLCAwLCAwLCA3LCA3LCA3LCAwLCAwLCAwLCAwLCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAwLCAwLCAwLCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCAwLCAwLCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCAwLCAwLCAwLCAwLCAwLCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAwLCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAwLCAwLCAwLCAwLCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCA3LCA3LCA3LCA3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3LCA3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCAKKyAgICA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAwLCAwLCAwLCAxLCAxLCAyMSwgMjEsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEsIDAsIDEsIDAsIDIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDQ5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAxNCwgMTQsIDE0LCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICAwLCA5LCA5LCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3LCA3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1MywgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1MywgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgNTMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUzLCAwLCAwLCAwLCAwLCAwLCAwLCA3LCA3LCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCA5LCAwLCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCA5LCA5LCAwLCAwLCAKKyAgICAwLCA5LCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAwLCAKLSAgICAwLCAwLCAwLCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAwLCAwLCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCAwLCAwLCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAwLCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCAwLCAwLCAwLCAwLCAwLCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAwLCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCAwLCAwLCAwLCAwLCAwLCAwLCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAwLCAwLCAKLSAgICAwLCAwLCAwLCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3LCA3LCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCAwLCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICAwLCAwLCAwLCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICAwLCA3LCA3LCA3LCA3LCA3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCAwLCA3LCAwLCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAwLCA3LCA3LCA3LCA3LCAKLSAgICAwLCAwLCAwLCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCAwLCA5LCA5LCAwLCAwLCAwLCAwLCAKKyAgICAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCA5LCA5LCA5LCAKKyAgICAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3LCA3LCA3LCA3LCA3LCAwLCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAwLCA3LCA3LCA3LCAwLCA3LCAwLCA3LCAwLCA3LCAwLCA3LCAKLSAgICA3LCA3LCAwLCA3LCA3LCA3LCA3LCA3LCA3LCAwLCAwLCA3LCA3LCA3LCA3LCAwLCA3LCAwLCAwLCA3LCA3LCA3LCA3LCAwLCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAwLCAwLCAwLCAwLCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxOCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE4LCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAxOCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCA5LCAKKyAgICA5LCA5LCA5LCA5LCA5LCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5LCA5LCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA1NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU0LCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCA1NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTQsIDAsIDAsIDAsIDAsIDAsIDAsIDksIAorICAgIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDksIDksIDAsIDksIDAsIDAsIDksIDAsIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDksIDksIDksIDksIDAsIDksIDAsIDksIDAsIDAsIDAsIDAsIDAsIDAsIDksIAorICAgIDAsIDAsIDAsIDAsIDksIDAsIDksIDAsIDksIDAsIDksIDksIDksIDAsIDksIDksIDAsIDksIDAsIDAsIDksIDAsIDksIDAsIAorICAgIDksIDAsIDksIDAsIDksIDAsIDksIDksIDAsIDksIDAsIDAsIDksIDksIDksIDksIDAsIDksIDksIDksIDksIDksIDksIDksIAorICAgIDAsIDksIDksIDksIDksIDAsIDksIDksIDksIDksIDAsIDksIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDksIDksIAorICAgIDksIDAsIDksIDksIDksIDksIDksIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDAsIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDksIDksIDksIDksIDksIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDksIDAsIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDksIDksIDksIDksIDAsIDAsIDAsIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIAorICAgIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDE5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDE5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMTksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIApAQCAtNjMxOSwyNSArNjQ5NywyNSBAQAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE4LCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxOCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTgsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE4LCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDE5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxOCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIApAQCAtNjM0NiwyNCArNjUyNCwyNCBAQAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCA3LCAKLSAgICA3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgCi0gICAgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgCi0gICAgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgCi0gICAgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgCi0gICAgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgNywgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgCisgICAgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgOSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgCiB9OwogCiBzdGF0aWMgY29uc3QgY2hhbmdlX3JlY29yZCogZ2V0X2NoYW5nZV8zXzJfMChQeV9VQ1M0IG4pCmRpZmYgLS1naXQgYS9Nb2R1bGVzL3VuaWNvZGVuYW1lX2RiLmggYi9Nb2R1bGVzL3VuaWNvZGVuYW1lX2RiLmgKaW5kZXggODgzMDU2MC4uMzgzODg4MiAxMDA2NDQKLS0tIGEvTW9kdWxlcy91bmljb2RlbmFtZV9kYi5oCisrKyBiL01vZHVsZXMvdW5pY29kZW5hbWVfZGIuaApAQCAtNCwzMzcgKzQsNDI4IEBACiAKIC8qIGxleGljb24gKi8KIHN0YXRpYyB1bnNpZ25lZCBjaGFyIGxleGljb25bXSA9IHsKLSAgICA3NiwgNjksIDg0LCA4NCwgNjksIDIxMCwgODcsIDczLCA4NCwgMjAwLCA4MywgNzcsIDY1LCA3NiwgMjA0LCA4MywgODksIAotICAgIDc2LCA3NiwgNjUsIDY2LCA3NiwgMTk3LCA4MywgNzMsIDcxLCAyMDYsIDY3LCA2NSwgODAsIDczLCA4NCwgNjUsIDIwNCwgCi0gICAgNzYsIDY1LCA4NCwgNzMsIDIwNiwgODksIDIwMSwgNjcsIDc0LCAyMDMsIDY5LCA3MSwgODksIDgwLCA4NCwgNzMsIDY1LCAKLSAgICAyMDYsIDcyLCA3MywgNjksIDgyLCA3OSwgNzEsIDc2LCA4OSwgODAsIDIwMCwgNjUsIDgyLCA2NSwgNjYsIDczLCAxOTUsIAotICAgIDY3LCA3OSwgNzcsIDgwLCA2NSwgODQsIDczLCA2NiwgNzMsIDc2LCA3MywgODQsIDIxNywgNzcsIDY1LCA4NCwgNzIsIDY5LCAKLSAgICA3NywgNjUsIDg0LCA3MywgNjcsIDY1LCAyMDQsIDY3LCA4NSwgNzgsIDY5LCA3MywgNzAsIDc5LCA4MiwgMjA1LCA4MywgODksIAotICAgIDc3LCA2NiwgNzksIDIwNCwgNzAsIDc5LCA4MiwgNzcsIDEyOCwgNjcsIDY1LCA3OCwgNjUsIDY4LCA3MywgNjUsIDIwNiwgCi0gICAgODMsIDg5LCA3NiwgNzYsIDY1LCA2NiwgNzMsIDY3LCAyMTEsIDY2LCA2NSwgNzcsIDg1LCAyMDUsIDY4LCA3MywgNzEsIDczLCAKLSAgICAyMTIsIDY2LCA3OSwgNzYsIDE5NiwgNzIsIDY1LCA3OCwgNzEsIDg1LCAyMDQsIDY1LCA3OCwgMTk2LCA3MSwgODIsIDY5LCAKLSAgICA2OSwgMjAzLCA3NiwgNzMsIDcxLCA2NSwgODQsIDg1LCA4MiwgMTk3LCA3NywgODUsIDgzLCA3MywgNjcsIDY1LCAyMDQsIAotICAgIDY5LCA4NCwgNzIsIDczLCA3OSwgODAsIDczLCAxOTUsIDg0LCA3MywgNzcsIDY5LCAyMTEsIDg2LCA3OSwgODcsIDY5LCAKLSAgICAyMDQsIDcwLCA3OSwgMjEwLCA3MywgODQsIDY1LCA3NiwgNzMsIDE5NSwgNjcsIDg5LCA4MiwgNzMsIDc2LCA3NiwgNzMsIAorICAgIDc2LCA2OSwgODQsIDg0LCA2OSwgMjEwLCA4NywgNzMsIDg0LCAyMDAsIDgzLCA4OSwgNzYsIDc2LCA2NSwgNjYsIDc2LCAKKyAgICAxOTcsIDgzLCA3NywgNjUsIDc2LCAyMDQsIDgzLCA3MywgNzEsIDIwNiwgNjcsIDY1LCA4MCwgNzMsIDg0LCA2NSwgMjA0LCAKKyAgICA3NiwgNjUsIDg0LCA3MywgMjA2LCA4OSwgMjAxLCA2NywgNzQsIDIwMywgNjUsIDgyLCA2NSwgNjYsIDczLCAxOTUsIDc3LCAKKyAgICA2NSwgODQsIDcyLCA2OSwgNzcsIDY1LCA4NCwgNzMsIDY3LCA2NSwgMjA0LCA2OSwgNzEsIDg5LCA4MCwgODQsIDczLCA2NSwgCisgICAgMjA2LCA3MiwgNzMsIDY5LCA4MiwgNzksIDcxLCA3NiwgODksIDgwLCAyMDAsIDY3LCA3OSwgNzcsIDgwLCA2NSwgODQsIDczLCAKKyAgICA2NiwgNzMsIDc2LCA3MywgODQsIDIxNywgNjcsIDg1LCA3OCwgNjksIDczLCA3MCwgNzksIDgyLCAyMDUsIDgzLCA4OSwgNzcsIAorICAgIDY2LCA3OSwgMjA0LCA3MCwgNzksIDgyLCA3NywgMTI4LCA2NywgNjUsIDc4LCA2NSwgNjgsIDczLCA2NSwgMjA2LCA4MywgCisgICAgODksIDc2LCA3NiwgNjUsIDY2LCA3MywgNjcsIDIxMSwgNjYsIDY1LCA3NywgODUsIDIwNSwgNjgsIDczLCA3MSwgNzMsIAorICAgIDIxMiwgNjUsIDc4LCAxOTYsIDY2LCA3OSwgNzYsIDE5NiwgNzIsIDY1LCA3OCwgNzEsIDg1LCAyMDQsIDg2LCA3OSwgODcsIAorICAgIDY5LCAyMDQsIDcxLCA4MiwgNjksIDY5LCAyMDMsIDc2LCA3MywgNzEsIDY1LCA4NCwgODUsIDgyLCAxOTcsIDc3LCA4NSwgCisgICAgODMsIDczLCA2NywgNjUsIDIwNCwgNjksIDg0LCA3MiwgNzMsIDc5LCA4MCwgNzMsIDE5NSwgODQsIDczLCA3NywgNjksIAorICAgIDIxMSwgNzAsIDc5LCAyMTAsIDczLCA4NCwgNjUsIDc2LCA3MywgMTk1LCA2NywgODksIDgyLCA3MywgNzYsIDc2LCA3MywgCiAgICAgMTk1LCA4MiwgNjUsIDY4LCA3MywgNjcsIDY1LCAyMDQsIDgzLCA2NSwgNzgsIDgzLCA0NSwgODMsIDY5LCA4MiwgNzMsIAotICAgIDE5OCwgNjcsIDczLCA4MiwgNjcsIDc2LCA2OSwgMTk2LCA2NywgNzksIDc3LCA2NiwgNzMsIDc4LCA3MywgNzgsIDE5OSwgCi0gICAgODQsIDY1LCAyMDEsIDg2LCA2NSwgMjAxLCA3MCwgNzMsIDc4LCA2NSwgMjA0LCA4MywgODEsIDg1LCA2NSwgODIsIDE5NywgCi0gICAgNzYsIDY5LCA3MCwgMjEyLCA4NiwgNjUsIDgyLCA3MywgNjUsIDg0LCA3MywgNzksIDIwNiwgNjYsIDgyLCA2NSwgNzMsIDc2LCAKLSAgICA3NiwgMTk3LCA4MCwgNjUsIDg0LCA4NCwgNjksIDgyLCAyMDYsIDgyLCA3MywgNzEsIDcyLCAyMTIsIDY2LCA4OSwgOTAsIAotICAgIDY1LCA3OCwgODQsIDczLCA3OCwgMTk3LCA3MywgODMsIDc5LCA3NiwgNjUsIDg0LCA2OSwgMTk2LCA2NSwgNjYsIDc5LCA4NiwgCi0gICAgNjksIDEyOCwgNzgsIDg1LCA3NywgNjYsIDY5LCAyMTAsIDY4LCA3OSwgODUsIDY2LCA3NiwgMTk3LCA4MywgNzMsIDcxLCAKLSAgICA3OCwgMTI4LCAxOTQsIDY2LCA2OSwgNzYsIDc5LCA4NywgMTI4LCA3NSwgNjUsIDg0LCA2NSwgNzUsIDY1LCA3OCwgMTkzLCAKLSAgICA3NSwgNjUsIDc4LCA3MSwgODgsIDIwMSwgNzYsIDczLCA3OCwgNjksIDY1LCAyMTAsIDc3LCA3OSwgNjgsIDczLCA3MCwgNzMsIAotICAgIDY5LCAyMTAsIDg0LCA3MywgNjYsIDY5LCA4NCwgNjUsIDIwNiwgNjUsIDEyOCwgNjgsIDc5LCAyMTIsIDc3LCA2OSwgNjksIAotICAgIDIwNSwgNzcsIDg5LCA2NSwgNzgsIDc3LCA2NSwgMjEwLCA3OSwgMTk4LCA2NywgNjUsIDgyLCA4MiwgNzMsIDY5LCAyMTAsIAotICAgIDg3LCA3MiwgNzMsIDg0LCAxOTcsIDY1LCA4MiwgODIsIDc5LCA4NywgMTI4LCA4NSwgMTI4LCA3MywgNzgsIDczLCA4NCwgCi0gICAgNzMsIDY1LCAyMDQsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCAyMDQsIDczLCAxMjgsIDg5LCA2OSwgMjAwLCA3OSwgCi0gICAgMTI4LCA2NSwgODIsIDgyLCA3OSwgMjE1LCA3NywgNjUsIDgyLCA3NSwgMTI4LCA2NSwgNjYsIDc5LCA4NiwgMTk3LCA2NywgCi0gICAgNzksIDgwLCA4NCwgNzMsIDE5NSwgODAsIDcyLCA2NSwgODMsIDY5LCA0NSwgMTk3LCA3NywgNzksIDc4LCA3MSwgNzksIDc2LCAKLSAgICA3MywgNjUsIDIwNiwgNjgsIDY5LCA4NiwgNjUsIDc4LCA2NSwgNzEsIDY1LCA4MiwgMjAxLCA2NiwgNzYsIDY1LCA2NywgCi0gICAgMjAzLCA3NSwgNzIsIDc3LCA2OSwgMjEwLCA4NCwgNzMsIDc2LCAxOTcsIDgwLCA2NSwgODIsIDY5LCA3OCwgODQsIDcyLCAKLSAgICA2OSwgODMsIDczLCA5MCwgNjksIDE5NiwgODMsIDg5LCA3NywgNjYsIDc5LCA3NiwgMTI4LCA4NCwgNzIsIDY1LCAyMDUsIAotICAgIDc0LCA3OSwgNzgsIDcxLCA4MywgNjksIDc5LCA3OCwgMTk5LCA4MywgODQsIDgyLCA3OSwgNzUsIDY5LCAxMjgsIDgzLCA4MSwgCi0gICAgODUsIDY1LCA4MiwgNjksIDE5NiwgNjYsIDc5LCAyMTYsIDcyLCA2OSwgNjYsIDgyLCA2OSwgMjE1LCA4MCwgNzYsIDg1LCAKLSAgICAyMTEsIDgyLCA3MywgNzEsIDcyLCA4NCwgODcsIDY1LCA4MiwgNjgsIDIxMSwgNjgsIDgyLCA2NSwgODcsIDczLCA3OCwgNzEsIAorICAgIDE5OCwgODQsIDY1LCA3NywgNzMsIDIwNCwgNjcsIDczLCA4MiwgNjcsIDc2LCA2OSwgMTk2LCA2NywgNzksIDc3LCA2NiwgCisgICAgNzMsIDc4LCA3MywgNzgsIDE5OSwgODQsIDY1LCAyMDEsIDcwLCA3MywgNzgsIDY1LCAyMDQsIDg2LCA2NSwgMjAxLCA4MywgCisgICAgODEsIDg1LCA2NSwgODIsIDE5NywgNzYsIDY5LCA3MCwgMjEyLCA4MiwgNzMsIDcxLCA3MiwgMjEyLCA4NiwgNjUsIDgyLCAKKyAgICA3MywgNjUsIDg0LCA3MywgNzksIDIwNiwgNjYsIDgyLCA2NSwgNzMsIDc2LCA3NiwgMTk3LCA4MCwgNjUsIDg0LCA4NCwgNjksIAorICAgIDgyLCAyMDYsIDY1LCA2NiwgNzksIDg2LCA2OSwgMTI4LCA2NiwgODksIDkwLCA2NSwgNzgsIDg0LCA3MywgNzgsIDE5NywgCisgICAgODMsIDczLCA3MSwgNzgsIDEyOCwgNjYsIDY5LCA3NiwgNzksIDg3LCAxMjgsIDY4LCA3OSwgODUsIDY2LCA3NiwgMTk3LCAKKyAgICA3MywgODMsIDc5LCA3NiwgNjUsIDg0LCA2OSwgMTk2LCA3OCwgODUsIDc3LCA2NiwgNjksIDIxMCwgNzUsIDY1LCA4NCwgNjUsIAorICAgIDc1LCA2NSwgNzgsIDE5MywgMTk0LCA3NywgNzksIDY4LCA3MywgNzAsIDczLCA2OSwgMjEwLCA2OCwgNzksIDIxMiwgNzUsIAorICAgIDY1LCA3OCwgNzEsIDg4LCAyMDEsIDY1LCAxMjgsIDc2LCA3MywgNzgsIDY5LCA2NSwgMjEwLCA4NCwgNzMsIDY2LCA2OSwgCisgICAgODQsIDY1LCAyMDYsIDc5LCAxOTgsIDczLCA3OCwgNzMsIDg0LCA3MywgNjUsIDIwNCwgNzcsIDY5LCA2OSwgMjA1LCA4NiwgCisgICAgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgMjA0LCA3NywgODksIDY1LCA3OCwgNzcsIDY1LCAyMTAsIDc1LCA3MiwgNzcsIDY5LCAKKyAgICAyMTAsIDg1LCAxMjgsIDg3LCA3MiwgNzMsIDg0LCAxOTcsIDY3LCA2NSwgODIsIDgyLCA3MywgNjksIDIxMCwgNzMsIDEyOCwgCisgICAgNjUsIDgyLCA4MiwgNzksIDg3LCAxMjgsIDc5LCAxMjgsIDY1LCA2NiwgNzksIDg2LCAxOTcsIDc3LCA2NSwgODIsIDc1LCAKKyAgICAxMjgsIDg5LCA2OSwgMjAwLCA2NSwgODIsIDgyLCA3OSwgMjE1LCA2NywgNzksIDgwLCA4NCwgNzMsIDE5NSwgODAsIDcyLCAKKyAgICA2NSwgODMsIDY5LCA0NSwgMTk3LCA3NywgNzksIDc4LCA3MSwgNzksIDc2LCA3MywgNjUsIDIwNiwgNjgsIDY5LCA4NiwgNjUsIAorICAgIDc4LCA2NSwgNzEsIDY1LCA4MiwgMjAxLCA2NiwgNzYsIDY1LCA2NywgMjAzLCA4NCwgNzMsIDc2LCAxOTcsIDgzLCA4OSwgCisgICAgNzcsIDY2LCA3OSwgNzYsIDEyOCwgODAsIDY1LCA4MiwgNjksIDc4LCA4NCwgNzIsIDY5LCA4MywgNzMsIDkwLCA2OSwgMTk2LCAKKyAgICA4NCwgNzIsIDY1LCAyMDUsIDc0LCA3OSwgNzgsIDcxLCA4MywgNjksIDc5LCA3OCwgMTk5LCA4MywgODQsIDgyLCA3OSwgNzUsIAorICAgIDY5LCAxMjgsIDgzLCA4MSwgODUsIDY1LCA4MiwgNjksIDE5NiwgNjYsIDc5LCAyMTYsIDcyLCA2OSwgNjYsIDgyLCA2OSwgCisgICAgMjE1LCA3NywgNzMsIDY1LCAyMDcsIDgwLCA3NiwgODUsIDIxMSwgODIsIDczLCA3MSwgNzIsIDg0LCA4NywgNjUsIDgyLCAKKyAgICA2OCwgMjExLCA3MSwgNjksIDc5LCA4MiwgNzEsIDczLCA2NSwgMjA2LCA2OCwgODIsIDY1LCA4NywgNzMsIDc4LCA3MSwgCiAgICAgMjExLCA2NywgNzIsIDc5LCA4MywgNjksIDc5LCA3OCwgMTk5LCA3MiwgNjUsIDc2LCA3MCwgODcsIDczLCA2OCwgODQsIAotICAgIDIwMCwgNjYsIDY1LCA3NiwgNzMsIDc4LCA2OSwgODMsIDE5NywgNzEsIDY5LCA3OSwgODIsIDcxLCA3MywgNjUsIDIwNiwgCi0gICAgNzIsIDc5LCA3OSwgNzUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDIwNSwgODAsIDcyLCA2NSwgODMsIDY5LCAKLSAgICA0NSwgMTk2LCA2NSwgNzYsIDY3LCA3MiwgNjksIDc3LCA3MywgNjcsIDY1LCAyMDQsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIAotICAgIDY1LCA4MCwgNzIsIDczLCAxOTUsIDY1LCA3NiwgNjksIDE5OCwgNzIsIDY5LCA2NSwgODYsIDIxNywgODQsIDc5LCAxMjgsIAotICAgIDg0LCA4NywgNzksIDEyOCwgNzksIDg2LCA2OSwgMjEwLCAyMTMsIDY2LCA4MiwgNjUsIDcyLCA3NywgMjAxLCA4MywgNjcsIAotICAgIDgyLCA3MywgODAsIDIxMiwgODUsIDIwOCwgNzYsIDc5LCAyMTUsIDc5LCA3OCwgNjksIDEyOCwgODQsIDg3LCAyMDcsIDY4LCAKLSAgICA3OSwgODcsIDIwNiwgNzAsIDg1LCA3NiwgNzYsIDg3LCA3MywgNjgsIDg0LCAyMDAsIDcyLCA2NSwgMjAwLCA3OSwgNzgsIAotICAgIDE5NywgNjksIDgxLCA4NSwgNjUsIDIwNCwgNzIsIDczLCA3MSwgMjAwLCA2NiwgODIsIDY1LCA2NywgNzUsIDY5LCA4NCwgCi0gICAgMTI4LCA4NCwgNjUsIDE5OSwgNjgsIDc5LCA3NywgNzMsIDc4LCAyMDcsIDc4LCA4NSwgNzcsIDY5LCA4MiwgNzMsIDE5NSwgCi0gICAgNzAsIDgyLCA2NSwgNzUsIDg0LCA4NSwgMjEwLCA3NywgNjUsIDc2LCA2NSwgODksIDY1LCA3NiwgNjUsIDIwNSwgODAsIDcyLCAKLSAgICA2NSwgODMsIDY5LCA0NSwgMTk1LCA3NiwgNjksIDcwLCA4NCwgODcsIDY1LCA4MiwgNjgsIDIxMSwgODQsIDcyLCA4MiwgNjksIAotICAgIDE5NywgNjYsIDY1LCA4MiwgMTI4LCA3NCwgODUsIDc4LCA3MSwgODMsIDY5LCA3OSwgNzgsIDE5OSwgNzEsIDc2LCA2NSwgCi0gICAgNzEsIDc5LCA3NiwgNzMsIDg0LCA3MywgMTk1LCA2NywgNzIsIDY1LCA4MiwgNjUsIDY3LCA4NCwgNjksIDIxMCwgNzcsIDY5LCAKLSAgICA2OCwgNzMsIDY1LCAyMDQsIDg0LCA2OSwgNzYsIDg1LCA3MSwgMjEzLCA2NiwgNjksIDc4LCA3MSwgNjUsIDc2LCAyMDEsIAotICAgIDY1LCA4MiwgNzcsIDY5LCA3OCwgNzMsIDY1LCAyMDYsIDcyLCA3MywgODIsIDY1LCA3MSwgNjUsIDc4LCAxOTMsIDczLCA2OCwgCi0gICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgMjAwLCA3NCwgNjUsIDg2LCA2NSwgNzgsIDY5LCA4MywgMTk3LCA3NCwgNjksIDY5LCAKLSAgICAyMDUsIDc4LCA2OSwgNzEsIDY1LCA4NCwgNzMsIDg2LCAxOTcsIDc5LCA4MiwgNzMsIDg5LCAxOTMsIDg3LCA2OSwgODMsIAotICAgIDg0LCA0NSwgNjcsIDgyLCA2OSwgMTk3LCA3MiwgNjUsIDc2LCAxOTgsIDc3LCA2NSwgODIsIDIwMywgODAsIDcyLCA2NSwgCi0gICAgODMsIDY5LCA0NSwgMTkzLCA4NCwgNzIsIDY1LCAyMDEsIDc1LCA2NSwgNzgsIDc4LCA2NSwgNjgsIDE5MywgNzgsIDY5LCAKLSAgICAyMTUsIDY3LCA3MiwgNjksIDgyLCA3OSwgNzUsIDY5LCAxOTcsIDcyLCA2NSwgMTI4LCA4NCwgNzksIDc4LCAxOTcsIDg2LCAKLSAgICA3OSwgNjcsIDY1LCA3NiwgNzMsIDE5NSwgNjcsIDcyLCA2NSwgMjA1LCA3MCwgNzksIDg1LCA4MiwgMTI4LCA3MSwgODUsIAotICAgIDc0LCA2NSwgODIsIDY1LCA4NCwgMjAxLCA3NiwgODUsIDE5NywgODQsIDcyLCA4MiwgNjksIDY5LCAxMjgsIDgyLCA4NSwgCi0gICAgNzgsIDczLCAxOTUsIDgzLCA2NSwgODUsIDgyLCA2NSwgODMsIDcyLCA4NCwgODIsIDE5MywgODQsIDY5LCA4NCwgODIsIDY1LCAKLSAgICA3MSwgODIsIDY1LCAyMDUsIDY4LCA2OSwgODMsIDY5LCA4MiwgNjksIDIxMiwgODMsIDczLCA3OCwgNzIsIDY1LCA3NiwgCi0gICAgMTkzLCA3MSwgODUsIDgyLCA3NywgODUsIDc1LCA3MiwgMjAxLCA3OCwgNzksIDg0LCA2NSwgODQsIDczLCA3OSwgMjA2LCAKLSAgICA4MywgODksIDgyLCA3MywgNjUsIDE5NSwgNjgsIDc5LCA4NCwgMjExLCA3NiwgNzMsIDcxLCA3MiwgMjEyLCA4NCwgNjUsIAotICAgIDc3LCA3MywgMjA0LCA2NSwgNjcsIDg1LCA4NCwgNjksIDEyOCwgNzAsIDczLCA4NiwgNjksIDEyOCwgNzUsIDY1LCAxMjgsIAotICAgIDc2LCA2OSwgODAsIDY3LCA3MiwgMTkzLCA3NiwgNzksIDc4LCAxOTksIDg0LCA4NSwgODIsIDc1LCA3MywgMTk1LCA4OSwgCi0gICAgNjUsIDEyOCwgNjgsIDc5LCA4NSwgNjYsIDc2LCA2OSwgNDUsIDgzLCA4NCwgODIsIDg1LCA2NywgMjAzLCA3NywgNjUsIAotICAgIDEyOCwgODMsIDczLCA4OCwgMTI4LCA4NiwgNzMsIDY5LCAyMTIsIDcyLCA2NSwgNzcsIDkwLCAxOTMsIDgwLCA2NSwgMTI4LCAKLSAgICA2NSwgODAsIDIwNCwgNjksIDczLCA3MSwgNzIsIDg0LCAxMjgsIDcwLCA4NSwgNzgsIDY3LCA4NCwgNzMsIDc5LCA3OCwgNjUsIAotICAgIDIwNCwgODMsIDEyOCwgODMsIDY5LCA4NiwgNjksIDc4LCAxMjgsIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgCi0gICAgNjUsIDIwNCwgNzgsIDczLCA3OCwgNjksIDEyOCwgODQsIDY5LCA3NiwgNjksIDcxLCA4MiwgNjUsIDgwLCAyMDAsIDY2LCAKLSAgICA3OSwgODAsIDc5LCA3NywgNzksIDcwLCAyMDcsIDgyLCA2NSwgMTI4LCA3OCwgNjUsIDEyOCwgNjYsIDY1LCA4MiwgMTk0LCAKLSAgICA2OCwgNjUsIDgzLCA3MywgMTkzLCA3NSwgNjUsIDczLCA4NCwgNzIsIDIwMSwgNzYsIDczLCA3NywgNjYsIDIxMywgNzcsIAotICAgIDY1LCA3NSwgODMsIDg1LCA4MiwgMTkzLCA4NCwgMjA3LCA5MCwgOTAsIDg5LCA4OCwgMTI4LCA5MCwgOTAsIDg5LCA4NCwgCi0gICAgMTI4LCA5MCwgOTAsIDg5LCA4MiwgODgsIDEyOCwgOTAsIDkwLCA4OSwgODIsIDEyOCwgOTAsIDkwLCA4OSwgODAsIDEyOCwgCi0gICAgOTAsIDkwLCA4OSwgMTI4LCA5MCwgOTAsIDg1LCA4OCwgMTI4LCA5MCwgOTAsIDg1LCA4MiwgODgsIDEyOCwgOTAsIDkwLCAKLSAgICA4NSwgODIsIDEyOCwgOTAsIDkwLCA4NSwgODAsIDEyOCwgOTAsIDkwLCA4NSwgMTI4LCA5MCwgOTAsIDc5LCA4OCwgMTI4LCAKLSAgICA5MCwgOTAsIDc5LCA4MCwgMTI4LCA5MCwgOTAsIDc5LCAxMjgsIDkwLCA5MCwgNzMsIDg4LCAxMjgsIDkwLCA5MCwgNzMsIAotICAgIDg0LCAxMjgsIDkwLCA5MCwgNzMsIDgwLCAxMjgsIDkwLCA5MCwgNzMsIDY5LCA4OCwgMTI4LCA5MCwgOTAsIDczLCA2OSwgCi0gICAgODQsIDEyOCwgOTAsIDkwLCA3MywgNjksIDgwLCAxMjgsIDkwLCA5MCwgNzMsIDY5LCAxMjgsIDkwLCA5MCwgNzMsIDEyOCwgCi0gICAgOTAsIDkwLCA2OSwgODgsIDEyOCwgOTAsIDkwLCA2OSwgODAsIDEyOCwgOTAsIDkwLCA2OSwgNjksIDEyOCwgOTAsIDkwLCAKLSAgICA2OSwgMTI4LCA5MCwgOTAsIDY1LCA4OCwgMTI4LCA5MCwgOTAsIDY1LCA4NCwgMTI4LCA5MCwgOTAsIDY1LCA4MCwgMTI4LCAKLSAgICA5MCwgOTAsIDY1LCA2NSwgMTI4LCA5MCwgOTAsIDY1LCAxMjgsIDkwLCA4OSwgNzEsIDc5LCA4MywgMTI4LCA5MCwgODcsIAotICAgIDY1LCA4MiwgNjUsIDc1LCA2NSwgODksIDEyOCwgOTAsIDg3LCA2NSwgMTI4LCA5MCwgODUsIDg0LCAxMjgsIDkwLCA4NSwgCi0gICAgNzksIDg4LCAxMjgsIDkwLCA4NSwgNzksIDgwLCAxMjgsIDkwLCA4NSwgNzksIDEyOCwgOTAsIDg1LCA3NywgMTI4LCA5MCwgCi0gICAgODUsIDY2LCA4NSwgODIsIDEyOCwgOTAsIDg1LCA1MywgMTI4LCA5MCwgODUsIDE4MSwgOTAsIDgyLCA2NSwgMTI4LCA5MCwgCi0gICAgODEsIDY1LCA4MCwgNzIsIDE5MywgOTAsIDc5LCA4NCwgMTI4LCA5MCwgNzksIDc5LCAxMjgsIDkwLCA3OSwgNjUsIDEyOCwgCi0gICAgOTAsIDc2LCA2NSwgNzcsIDE5MywgOTAsIDc2LCA2NSwgMTI4LCA5MCwgNzYsIDE5MywgOTAsIDc0LCA2OSwgMTI4LCA5MCwgCi0gICAgNzMsIDkwLCA1MCwgMTI4LCA5MCwgNzMsIDgxLCA2NSwgNjUsIDEyOCwgOTAsIDczLCA3OCwgNzksIDgyLCAxMjgsIDkwLCAKLSAgICA3MywgNzYsIDY4LCA2OSwgMTI4LCA5MCwgNzMsIDcxLCA5MCwgNjUsIDE5OSwgOTAsIDczLCA3MSwgMTI4LCA5MCwgNzMsIAotICAgIDY4LCAxOTMsIDkwLCA3MywgNjYsIDEyOCwgOTAsIDczLCAxOTQsIDkwLCA3MywgNTEsIDEyOCwgOTAsIDIwMSwgOTAsIDcyLCAKLSAgICA4OSwgODgsIDEyOCwgOTAsIDcyLCA4OSwgODQsIDEyOCwgOTAsIDcyLCA4OSwgODIsIDg4LCAxMjgsIDkwLCA3MiwgODksIAotICAgIDgyLCAxMjgsIDkwLCA3MiwgODksIDgwLCAxMjgsIDkwLCA3MiwgODksIDEyOCwgOTAsIDcyLCA4NywgNjksIDEyOCwgOTAsIAotICAgIDcyLCA4NywgNjUsIDEyOCwgOTAsIDcyLCA4NSwgODgsIDEyOCwgOTAsIDcyLCA4NSwgODQsIDEyOCwgOTAsIDcyLCA4NSwgCi0gICAgODIsIDg4LCAxMjgsIDkwLCA3MiwgODUsIDgyLCAxMjgsIDkwLCA3MiwgODUsIDgwLCAxMjgsIDkwLCA3MiwgODUsIDc5LCAKLSAgICA4OCwgMTI4LCA5MCwgNzIsIDg1LCA3OSwgODAsIDEyOCwgOTAsIDcyLCA4NSwgNzksIDEyOCwgOTAsIDcyLCA4NSwgMTI4LCAKLSAgICA5MCwgNzIsIDc5LCA4OCwgMTI4LCA5MCwgNzIsIDc5LCA4NCwgMTI4LCA5MCwgNzIsIDc5LCA4MCwgMTI4LCA5MCwgNzIsIAotICAgIDc5LCA3OSwgMTI4LCA5MCwgNzIsIDc5LCAxMjgsIDkwLCA3MiwgNzMsIDg2LCA2OSwgODQsIDY5LCAxMjgsIDkwLCA3MiwgCi0gICAgNzMsIDEyOCwgOTAsIDcyLCA2OSwgODgsIDEyOCwgOTAsIDcyLCA2OSwgODQsIDEyOCwgOTAsIDcyLCA2OSwgODAsIDEyOCwgCi0gICAgOTAsIDcyLCA2OSwgNjksIDEyOCwgOTAsIDcyLCA2OSwgMTI4LCA5MCwgNzIsIDE5NywgOTAsIDcyLCA2NSwgODgsIDEyOCwgCi0gICAgOTAsIDcyLCA2NSwgODQsIDEyOCwgOTAsIDcyLCA2NSwgODIsIDEyOCwgOTAsIDcyLCA2NSwgODAsIDEyOCwgOTAsIDcyLCAKLSAgICA2NSwgNzMsIDc4LCAxMjgsIDkwLCA3MiwgNjUsIDY1LCAxMjgsIDkwLCA3MiwgNjUsIDEyOCwgOTAsIDcyLCAxMjgsIDkwLCAKLSAgICA2OSwgODQsIDY1LCAxMjgsIDkwLCA2OSwgODIsIDc5LCAxMjgsIDkwLCA2OSwgODIsIDIwNywgOTAsIDY5LCA3OCwgMTI4LCAKLSAgICA5MCwgNjksIDc3LCA3NiwgODksIDY1LCAxMjgsIDkwLCA2OSwgNzcsIDc2LCA3NCwgNjUsIDEyOCwgOTAsIDY5LCA1MCwgCi0gICAgMTI4LCA5MCwgMTk3LCA5MCwgNjUsIDg5LCA3OCwgMTI4LCA5MCwgNjUsIDg5LCA3MywgNzgsIDEyOCwgOTAsIDY1LCA4OSwgCi0gICAgNzMsIDIwNiwgOTAsIDY1LCA4NiwgNzMsIDg5LCA2NSwgNzgsIDczLCAxMjgsIDkwLCA2NSwgODQsIDY1LCAxMjgsIDkwLCAKLSAgICA2NSwgODIsIDgxLCA2NSwgMTI4LCA5MCwgNjUsIDgxLCA2OSwgMTk4LCA5MCwgNjUsIDc3LCA4OCwgMTI4LCA5MCwgNjUsIAotICAgIDIwNCwgOTAsIDY1LCA3MywgNzgsIDEyOCwgOTAsIDY1LCA3MywgMjA2LCA5MCwgNjUsIDczLCAxMjgsIDkwLCA2NSwgNzIsIAotICAgIDEyOCwgOTAsIDY1LCAyMDAsIDkwLCA2NSwgNzEsIDEyOCwgOTAsIDY1LCA2OSwgNzAsIDEyOCwgOTAsIDQ4LCA0OSwgNTQsIAotICAgIDcyLCAxMjgsIDkwLCA0OCwgNDksIDU0LCA3MSwgMTI4LCA5MCwgNDgsIDQ5LCA1NCwgNzAsIDEyOCwgOTAsIDQ4LCA0OSwgCi0gICAgNTQsIDY5LCAxMjgsIDkwLCA0OCwgNDksIDU0LCA2OCwgMTI4LCA5MCwgNDgsIDQ5LCA1NCwgNjcsIDEyOCwgOTAsIDQ4LCAKLSAgICA0OSwgNTQsIDY2LCAxMjgsIDkwLCA0OCwgNDksIDU0LCA2NSwgMTI4LCA5MCwgNDgsIDQ5LCA1NCwgMTI4LCA5MCwgNDgsIAotICAgIDQ5LCA1MywgNzMsIDEyOCwgOTAsIDQ4LCA0OSwgNTMsIDcyLCAxMjgsIDkwLCA0OCwgNDksIDUzLCA3MSwgMTI4LCA5MCwgCi0gICAgNDgsIDQ5LCA1MywgNzAsIDEyOCwgOTAsIDQ4LCA0OSwgNTMsIDY5LCAxMjgsIDkwLCA0OCwgNDksIDUzLCA2OCwgMTI4LCAKLSAgICA5MCwgNDgsIDQ5LCA1MywgNjcsIDEyOCwgOTAsIDQ4LCA0OSwgNTMsIDY2LCAxMjgsIDkwLCA0OCwgNDksIDUzLCA2NSwgCi0gICAgMTI4LCA5MCwgNDgsIDQ5LCA1MywgMTI4LCA5MCwgNDgsIDQ5LCA1MiwgMTI4LCA5MCwgNDgsIDQ5LCA1MSwgMTI4LCA5MCwgCi0gICAgNDgsIDQ5LCA1MCwgMTI4LCA5MCwgNDgsIDQ5LCA0OSwgMTI4LCA5MCwgNDgsIDQ5LCA0OCwgMTI4LCA5MCwgNDgsIDQ4LCAKLSAgICA1NywgMTI4LCA5MCwgNDgsIDQ4LCA1NiwgMTI4LCA5MCwgNDgsIDQ4LCA1NSwgMTI4LCA5MCwgNDgsIDQ4LCA1NCwgMTI4LCAKLSAgICA5MCwgNDgsIDQ4LCA1MywgNjUsIDEyOCwgOTAsIDQ4LCA0OCwgNTMsIDEyOCwgOTAsIDQ4LCA0OCwgNTIsIDY1LCAxMjgsIAotICAgIDkwLCA0OCwgNDgsIDUyLCAxMjgsIDkwLCA0OCwgNDgsIDUxLCA2NiwgMTI4LCA5MCwgNDgsIDQ4LCA1MSwgNjUsIDEyOCwgCi0gICAgOTAsIDQ4LCA0OCwgNTEsIDEyOCwgOTAsIDQ4LCA0OCwgNTAsIDY4LCAxMjgsIDkwLCA0OCwgNDgsIDUwLCA2NywgMTI4LCAKLSAgICA5MCwgNDgsIDQ4LCA1MCwgNjYsIDEyOCwgOTAsIDQ4LCA0OCwgNTAsIDY1LCAxMjgsIDkwLCA0OCwgNDgsIDUwLCAxMjgsIAotICAgIDkwLCA0OCwgNDgsIDQ5LCAxMjgsIDkwLCAxMjgsIDIxOCwgODksIDg5LCA4OCwgMTI4LCA4OSwgODksIDg0LCAxMjgsIDg5LCAKLSAgICA4OSwgODIsIDg4LCAxMjgsIDg5LCA4OSwgODIsIDEyOCwgODksIDg5LCA4MCwgMTI4LCA4OSwgODksIDY5LCAxMjgsIDg5LCAKLSAgICA4OSwgNjUsIDEyOCwgODksIDg5LCAxMjgsIDg5LCA4NywgNzksIDc5LCAxMjgsIDg5LCA4NywgNzksIDEyOCwgODksIDg3LCAKLSAgICA3MywgNzMsIDEyOCwgODksIDg3LCA3MywgMTI4LCA4OSwgODcsIDY5LCAxMjgsIDg5LCA4NywgNjUsIDY1LCAxMjgsIDg5LCAKLSAgICA4NywgNjUsIDEyOCwgODksIDg2LCAxMjgsIDg5LCA4NSwgODgsIDEyOCwgODksIDg1LCA4NywgNzksIDgxLCAxMjgsIDg5LCAKLSAgICA4NSwgODUsIDc1LCA2NSwgNzYsIDY5LCA2NSwgODAsIDczLCA3OCwgODQsIDg1LCAxMjgsIDg5LCA4NSwgODQsIDEyOCwgODksIAotICAgIDg1LCA4MywgMTI4LCA4OSwgODUsIDIxMSwgODksIDg1LCA4MiwgODgsIDEyOCwgODksIDg1LCA4MiwgMTI4LCA4OSwgODUsIAotICAgIDgxLCAxMjgsIDg5LCA4NSwgMjA5LCA4OSwgODUsIDgwLCAxMjgsIDg5LCA4NSwgNzksIDg4LCAxMjgsIDg5LCA4NSwgNzksIAotICAgIDg0LCAxMjgsIDg5LCA4NSwgNzksIDgwLCAxMjgsIDg5LCA4NSwgNzksIDc3LCAxMjgsIDg5LCA4NSwgNzksIDEyOCwgODksIAotICAgIDg1LCA3OCwgMTI4LCA4OSwgODUsIDc3LCAxMjgsIDg5LCA4NSwgNjksIDgxLCAxMjgsIDg5LCA4NSwgNjksIDEyOCwgODksIAotICAgIDg1LCA2OCwgNzIsIDEyOCwgODksIDg1LCA2OCwgMjAwLCA4OSwgODUsIDY1LCA3OCwgMTI4LCA4OSwgODUsIDY1LCA2OSwgCi0gICAgNzgsIDEyOCwgODksIDg1LCA0NSwgODksIDY5LCA3OSwgMTI4LCA4OSwgODUsIDQ1LCA4OSwgNjksIDEyOCwgODksIDg1LCAKLSAgICA0NSwgODUsIDEyOCwgODksIDg1LCA0NSwgNzksIDEyOCwgODksIDg1LCA0NSwgNzMsIDEyOCwgODksIDg1LCA0NSwgNjksIAotICAgIDc5LCAxMjgsIDg5LCA4NSwgNDUsIDY5LCAxMjgsIDg5LCA4NSwgNDUsIDY1LCA2OSwgMTI4LCA4OSwgODUsIDQ1LCA2NSwgCi0gICAgMTI4LCA4OSwgODUsIDEyOCwgODksIDIxMywgODksIDgwLCA4MywgNzMsIDc2LCA3MywgMTI4LCA4OSwgODAsIDc5LCA4MiwgCi0gICAgODIsIDc5LCA3MywgMTI4LCA4OSwgODAsIDc5LCA3NSwgODIsIDczLCA4MywgNzMsIDgzLCAxMjgsIDg5LCA4MCwgNzksIDc1LCAKLSAgICA4MiwgNzMsIDgzLCA3MywgMjExLCA4OSwgODAsIDc5LCA3MSwgNjksIDcxLCA4MiwgNjUsIDc3LCA3NywgNjksIDc4LCA3MywgCi0gICAgMTI4LCA4OSwgNzksIDg5LCAxMjgsIDg5LCA3OSwgODgsIDEyOCwgODksIDc5LCA4NSwgODQsIDcyLCA3MCwgODUsIDc2LCAKLSAgICA3OCwgNjksIDgzLCA4MywgMTI4LCA4OSwgNzksIDg1LCA4NCwgNzIsIDcwLCA4NSwgMjA0LCA4OSwgNzksIDg0LCAxMjgsIAotICAgIDg5LCA3OSwgODIsIDczLCAxMjgsIDg5LCA3OSwgODEsIDEyOCwgODksIDc5LCAyMDksIDg5LCA3OSwgODAsIDEyOCwgODksIAotICAgIDc5LCA3OSwgMTI4LCA4OSwgNzksIDc3LCA3OSwgMTI4LCA4OSwgNzksIDcxLCA3MiwgMTI4LCA4OSwgNzksIDY4LCA3MiwgCi0gICAgMTI4LCA4OSwgNzksIDY4LCAxMjgsIDg5LCA3OSwgMTk2LCA4OSwgNzksIDY1LCAxMjgsIDg5LCA3OSwgNDUsIDg5LCA2OSwgCi0gICAgNzksIDEyOCwgODksIDc5LCA0NSwgODksIDY1LCA2OSwgMTI4LCA4OSwgNzksIDQ1LCA4OSwgNjUsIDEyOCwgODksIDc5LCAKLSAgICA0NSwgNzksIDEyOCwgODksIDc5LCA0NSwgNzMsIDEyOCwgODksIDc5LCA0NSwgNjksIDc5LCAxMjgsIDg5LCA3OSwgNDUsIAotICAgIDY1LCA2OSwgMTI4LCA4OSwgNzksIDQ1LCA2NSwgMTI4LCA4OSwgNzksIDEyOCwgODksIDIwNywgODksIDczLCA5MCwgNjksIAotICAgIDg0LCAxMjgsIDg5LCA3MywgODgsIDEyOCwgODksIDczLCA4NywgNzgsIDEyOCwgODksIDczLCA4NCwgMTI4LCA4OSwgNzMsIAotICAgIDgwLCAxMjgsIDg5LCA3MywgNzgsIDcxLCAxMjgsIDg5LCA3MywgNzMsIDEyOCwgODksIDczLCAxOTksIDg5LCA3MywgNjksIAotICAgIDg4LCAxMjgsIDg5LCA3MywgNjksIDg0LCAxMjgsIDg5LCA3MywgNjksIDgwLCAxMjgsIDg5LCA3MywgNjksIDY5LCAxMjgsIAotICAgIDg5LCA3MywgNjksIDEyOCwgODksIDczLCA2OCwgNjgsIDczLCA4MywgMjAwLCA4OSwgNzMsIDQ1LCA4NSwgMTI4LCA4OSwgCi0gICAgNzMsIDEyOCwgODksIDcwLCA2OSwgODMsIDczLCA4MywgMTI4LCA4OSwgNzAsIDY5LCA4MywgNzMsIDIxMSwgODksIDcwLCAKLSAgICA2OSwgMjA2LCA4OSwgNjksIDg5LCAxMjgsIDg5LCA2OSwgODcsIDEyOCwgODksIDY5LCA4NSwgODgsIDEyOCwgODksIDY5LCAKLSAgICA4NSwgODIsIDY1LCA2OSwgMTI4LCA4OSwgNjksIDg1LCA4MSwgMTI4LCA4OSwgNjksIDg1LCA3NywgMTI4LCA4OSwgNjksIAotICAgIDg1LCA2NSwgNjksIDg0LCAxMjgsIDg5LCA2OSwgODUsIDY1LCA2OSwgMTI4LCA4OSwgNjksIDg0LCA3MywgODYsIDEyOCwgCi0gICAgODksIDY5LCA4MywgODQsIDg1LCAxMjgsIDg5LCA2OSwgODMsIDczLCA2OSwgODUsIDc4LCA3MSwgNDUsIDgzLCA3MywgNzksIAotICAgIDgzLCAxMjgsIDg5LCA2OSwgODMsIDczLCA2OSwgODUsIDc4LCA3MSwgNDUsIDgwLCA2NSwgNzgsIDgzLCA3MywgNzksIDgzLCAKLSAgICAxMjgsIDg5LCA2OSwgODMsIDczLCA2OSwgODUsIDc4LCA3MSwgNDUsIDc3LCA3MywgNjksIDg1LCA3NywgMTI4LCA4OSwgNjksIAotICAgIDgzLCA3MywgNjksIDg1LCA3OCwgNzEsIDQ1LCA3MiwgNzMsIDY5LCA4NSwgNzIsIDEyOCwgODksIDY5LCA4MywgNzMsIDY5LCAKLSAgICA4NSwgNzgsIDcxLCAxMjgsIDg5LCA2OSwgODIsIDg1LCAxMjgsIDg5LCA2OSwgODIsIDIxMywgODksIDY5LCA4MiwgNzMsIAotICAgIDEyOCwgODksIDY5LCA4MiwgNjUsIDIwMCwgODksIDY5LCA4MiwgMTI4LCA4OSwgNjksIDc5LCA4MiwgNzMsIDc4LCA3MiwgCi0gICAgNzMsIDY5LCA4NSwgNzIsIDEyOCwgODksIDY5LCA3OSwgNDUsIDg5LCA2NSwgMTI4LCA4OSwgNjksIDc5LCA0NSwgODUsIAotICAgIDEyOCwgODksIDY5LCA3OSwgNDUsIDc5LCAxMjgsIDg5LCA2OSwgNzgsIDczLCA4MywgNjksIDIwMSwgODksIDY5LCA3OCwgCi0gICAgNjUsIDgwLCAxMjgsIDg5LCA2OSwgNzgsIDEyOCwgODksIDY5LCAyMDYsIDg5LCA2OSwgNzYsIDc2LCA3OSwgODcsIDEyOCwgCi0gICAgODksIDY5LCA3NiwgNzYsIDc5LCAyMTUsIDg5LCA2OSwgNzIsIDEyOCwgODksIDY5LCA2OSwgMTI4LCA4OSwgNjksIDY1LCAKLSAgICAyMTAsIDg5LCA2OSwgNjUsIDEyOCwgODksIDY1LCA5MCwgOTAsIDEyOCwgODksIDY1LCA5MCwgNzIsIDEyOCwgODksIDY1LCAKLSAgICA5MCwgMTI4LCA4OSwgNjUsIDg5LCA2NSwgNzgsIDc4LCA2NSwgMTI4LCA4OSwgNjUsIDg5LCAxMjgsIDg5LCA2NSwgODcsIAotICAgIDEyOCwgODksIDY1LCA4NiwgMTI4LCA4OSwgNjUsIDg0LCA4NCwgMTI4LCA4OSwgNjUsIDg0LCA3MywgMTI4LCA4OSwgNjUsIAotICAgIDg0LCA3MiwgMTI4LCA4OSwgNjUsIDg0LCAxMjgsIDg5LCA2NSwgODMsIDgzLCAxMjgsIDg5LCA2NSwgODMsIDcyLCAxMjgsIAotICAgIDg5LCA2NSwgODMsIDEyOCwgODksIDY1LCA4MiwgODIsIDEyOCwgODksIDY1LCA4MiwgMTI4LCA4OSwgNjUsIDIxMCwgODksIAotICAgIDY1LCA4MSwgMTI4LCA4OSwgNjUsIDgwLCAxMjgsIDg5LCA2NSwgNzgsIDcxLCAxMjgsIDg5LCA2NSwgNzgsIDE5OSwgODksIAotICAgIDY1LCA3OCwgMTI4LCA4OSwgNjUsIDc3LCA3OSwgNzUsIDEyOCwgODksIDY1LCA3NywgNjUsIDc1LCA3NSwgNjUsIDc4LCAKLSAgICAxMjgsIDg5LCA2NSwgNzcsIDEyOCwgODksIDY1LCA3NiwgMTI4LCA4OSwgNjUsIDc1LCA3MiwgNzIsIDEyOCwgODksIDY1LCAKLSAgICA3NSwgNzIsIDEyOCwgODksIDY1LCA3NSwgNjUsIDgzLCA3MiwgMTI4LCA4OSwgNjUsIDc1LCAxMjgsIDg5LCA2NSwgNzQsIAotICAgIDg1LCA4MiwgODYsIDY5LCA2OCwgNzMsIDE5NSwgODksIDY1LCA3NCwgMTI4LCA4OSwgNjUsIDcyLCA3MiwgMTI4LCA4OSwgCi0gICAgNjUsIDcyLCAxMjgsIDg5LCA2NSwgNzEsIDc4LCAxMjgsIDg5LCA2NSwgNzEsIDcyLCA3MiwgMTI4LCA4OSwgNjUsIDcxLCAKLSAgICA3MiwgMTI4LCA4OSwgNjUsIDcxLCAxMjgsIDg5LCA2NSwgNzAsIDIxMywgODksIDY1LCA3MCwgMTI4LCA4OSwgNjUsIDY5LCAKLSAgICA3NywgNzcsIDY1LCA2OSwgMTI4LCA4OSwgNjUsIDY4LCA3MiwgMTI4LCA4OSwgNjUsIDY4LCA2OCwgNzIsIDEyOCwgODksIAotICAgIDY1LCA2OCwgNjgsIDEyOCwgODksIDY1LCA2OCwgMTI4LCA4OSwgNjUsIDY3LCA3MiwgMTI4LCA4OSwgNjUsIDY2LCA3MiwgCi0gICAgMTI4LCA4OSwgNjUsIDY2LCAxMjgsIDg5LCA2NSwgNjUsIDgyLCA4NSwgMTI4LCA4OSwgNjUsIDY1LCA3MywgMTI4LCA4OSwgCi0gICAgNjUsIDY1LCA2OCwgNzksIDEyOCwgODksIDY1LCA2NSwgMTI4LCA4OSwgNjUsIDQ1LCA4OSwgNzksIDEyOCwgODksIDY1LCAKLSAgICA0NSwgODUsIDEyOCwgODksIDY1LCA0NSwgNzksIDEyOCwgODksIDQ4LCA0OCwgNTYsIDEyOCwgODksIDQ4LCA0OCwgNTUsIAotICAgIDEyOCwgODksIDQ4LCA0OCwgNTQsIDEyOCwgODksIDQ4LCA0OCwgNTMsIDEyOCwgODksIDQ4LCA0OCwgNTIsIDEyOCwgODksIAotICAgIDQ4LCA0OCwgNTEsIDEyOCwgODksIDQ4LCA0OCwgNTAsIDEyOCwgODksIDQ4LCA0OCwgNDksIDY1LCAxMjgsIDg5LCA0OCwgCi0gICAgNDgsIDQ5LCAxMjgsIDg5LCA0NSwgNjcsIDgyLCA2OSwgMTk3LCA4OCwgODksIDg4LCAxMjgsIDg4LCA4OSwgODUsIDEyOCwgCi0gICAgODgsIDg5LCA4NCwgMTI4LCA4OCwgODksIDgyLCA4OCwgMTI4LCA4OCwgODksIDgyLCAxMjgsIDg4LCA4OSwgODAsIDEyOCwgCi0gICAgODgsIDg5LCA3OSwgMTI4LCA4OCwgODksIDczLCAxMjgsIDg4LCA4OSwgNjksIDY5LCAxMjgsIDg4LCA4OSwgNjksIDEyOCwgCi0gICAgODgsIDg5LCA2NSwgNjUsIDEyOCwgODgsIDg5LCA2NSwgMTI4LCA4OCwgODksIDEyOCwgODgsIDg3LCA3MywgMTI4LCA4OCwgCi0gICAgODcsIDY5LCA2OSwgMTI4LCA4OCwgODcsIDY5LCAxMjgsIDg4LCA4NywgNjUsIDY1LCAxMjgsIDg4LCA4NywgNjUsIDEyOCwgCi0gICAgODgsIDg2LCA2OSwgMTI4LCA4OCwgODYsIDY1LCAxMjgsIDg4LCA4NSwgNzksIDg4LCAxMjgsIDg4LCA4NSwgNzksIDEyOCwgCi0gICAgODgsIDg1LCAxMjgsIDg4LCA4MywgNzIsIDY1LCA2NSwgODksIDY1LCA4NCwgNzIsIDczLCA4OSwgNjUsIDEyOCwgODgsIDc5LCAKLSAgICA4OCwgMTI4LCA4OCwgNzksIDg0LCAxMjgsIDg4LCA3OSwgODIsIDEyOCwgODgsIDc5LCA4MCwgMTI4LCA4OCwgNzksIDY1LCAKLSAgICAxMjgsIDg4LCA3OSwgMTI4LCA4OCwgNzMsIDg4LCAxMjgsIDg4LCA3MywgODQsIDEyOCwgODgsIDczLCA4MiwgNzksIDIwNiwgCi0gICAgODgsIDczLCA4MCwgMTI4LCA4OCwgNzMsIDY5LCA4OCwgMTI4LCA4OCwgNzMsIDY5LCA4NCwgMTI4LCA4OCwgNzMsIDY5LCAKLSAgICA4MCwgMTI4LCA4OCwgNzMsIDY5LCAxMjgsIDg4LCA3MywgMTI4LCA4OCwgNzEsIDEyOCwgODgsIDY5LCA4MywgODQsIDY5LCAKLSAgICAyMTEsIDg4LCA2OSwgNzIsIDEyOCwgODgsIDY5LCA2OSwgMTI4LCA4OCwgNjksIDEyOCwgODgsIDY1LCA3OCwgMTI4LCA4OCwgCi0gICAgNjUsIDY1LCAxMjgsIDg4LCA2NSwgMTI4LCA4OCwgNDgsIDQ4LCA1NiwgNjUsIDEyOCwgODgsIDQ4LCA0OCwgNTYsIDEyOCwgCi0gICAgODgsIDQ4LCA0OCwgNTUsIDEyOCwgODgsIDQ4LCA0OCwgNTQsIDY1LCAxMjgsIDg4LCA0OCwgNDgsIDU0LCAxMjgsIDg4LCAKLSAgICA0OCwgNDgsIDUzLCAxMjgsIDg4LCA0OCwgNDgsIDUyLCA2NiwgMTI4LCA4OCwgNDgsIDQ4LCA1MiwgNjUsIDEyOCwgODgsIAotICAgIDQ4LCA0OCwgNTIsIDEyOCwgODgsIDQ4LCA0OCwgNTEsIDEyOCwgODgsIDQ4LCA0OCwgNTAsIDEyOCwgODgsIDQ4LCA0OCwgCi0gICAgNDksIDEyOCwgODcsIDkwLCAxMjgsIDg3LCA4OSwgNzgsIDc4LCAxMjgsIDg3LCA4OSwgNzgsIDIwNiwgODcsIDg2LCAxMjgsIAotICAgIDg3LCA4NSwgODAsIDEyOCwgODcsIDg1LCA3OSwgODgsIDEyOCwgODcsIDg1LCA3OSwgODAsIDEyOCwgODcsIDg1LCA3OSwgCi0gICAgMTI4LCA4NywgODUsIDc4LCA3NCwgMjA3LCA4NywgODUsIDc4LCAxMjgsIDg3LCA4NSwgNzYsIDg1LCAxMjgsIDg3LCA4NSwgCi0gICAgNzYsIDIxMywgODcsIDg1LCA2OSwgMTI4LCA4NywgODUsIDY1LCA2OSwgODQsIDEyOCwgODcsIDg1LCA2NSwgNjksIDc4LCAKLSAgICAxMjgsIDg3LCA4NSwgMTI4LCA4NywgODIsIDIxNywgODcsIDgyLCA3OSwgNzgsIDcxLCAxMjgsIDg3LCA4MiwgNzMsIDg0LCAKLSAgICA3MywgNzgsIDE5OSwgODcsIDgyLCA2OSwgNzgsIDY3LCA3MiwgMTI4LCA4NywgODIsIDY5LCA2NSwgODQsIDIwMCwgODcsIAotICAgIDgyLCA2NSwgODAsIDgwLCA2OSwgMTk2LCA4NywgODIsIDY1LCA4MCwgMTI4LCA4NywgNzksIDg4LCAxMjgsIDg3LCA3OSwgCi0gICAgODIsIDc1LCA2OSwgODIsIDEyOCwgODcsIDc5LCA4MiwgNzUsIDEyOCwgODcsIDc5LCA4MiwgMjAzLCA4NywgNzksIDgyLCAKLSAgICA2OCwgODMsIDgwLCA2NSwgNjcsIDY5LCAxMjgsIDg3LCA3OSwgODIsIDE5NiwgODcsIDc5LCA4MCwgMTI4LCA4NywgNzksIAotICAgIDc5LCA3OCwgMTI4LCA4NywgNzksIDc5LCA3NiwgMTI4LCA4NywgNzksIDc5LCA2OCwgODMsIDQ1LCA2NywgODIsIDY5LCAKLSAgICAxOTcsIDg3LCA3OSwgNzksIDY4LCAxMjgsIDg3LCA3OSwgNzgsIDEyOCwgODcsIDc5LCAyMDYsIDg3LCA3OSwgNzcsIDY5LCAKLSAgICA3OCwgMjExLCA4NywgNzksIDc3LCA2OSwgMjA2LCA4NywgNzksIDc3LCA2NSwgNzgsIDIxMSwgODcsIDc5LCA3NywgNjUsIAotICAgIDc4LCAxMjgsIDg3LCA3OSwgNzcsIDY1LCAyMDYsIDg3LCA3OSwgNzYsIDc5LCA4MywgNzksIDEyOCwgODcsIDc5LCA3NiwgCi0gICAgMTk4LCA4NywgNzksIDY5LCAxMjgsIDg3LCA3OSwgNjUsIDEyOCwgODcsIDczLCA4NCwgNzIsIDc5LCA4NSwgMjEyLCA4NywgCi0gICAgNzMsIDc4LCA4NCwgNjksIDgyLCAxMjgsIDg3LCA3MywgNzgsIDc1LCA3MywgNzgsIDE5OSwgODcsIDczLCA3OCwgNzQsIDY1LCAKLSAgICAxMjgsIDg3LCA3MywgNzgsIDcxLCA4MywgMTI4LCA4NywgNzMsIDc4LCA2OSwgMTI4LCA4NywgNzMsIDc4LCAxOTcsIDg3LCAKLSAgICA3MywgNzgsIDY4LCA4NSwgMTI4LCA4NywgNzMsIDc4LCA2OCwgMTI4LCA4NywgNzMsIDc4LCAxOTYsIDg3LCA3MywgNzgsIAotICAgIDEyOCwgODcsIDczLCA3MSwgNzgsIDg5LCA2NSwgNzgsIDEyOCwgODcsIDczLCA3MSwgNzEsIDc2LCAyMTcsIDg3LCA3MywgCi0gICAgNjgsIDY5LCA0NSwgNzIsIDY5LCA2NSwgNjgsIDY5LCAxOTYsIDg3LCA3MywgNjgsIDE5NywgODcsIDczLCA2NSwgNzgsIDcxLCAKLSAgICA4NywgNjUsIDY1LCA3NSwgMTI4LCA4NywgNzMsIDY1LCA3OCwgNzEsIDEyOCwgODcsIDcyLCA3OSwgNzYsIDE5NywgODcsIAotICAgIDcyLCA3MywgODQsIDY5LCA0NSwgNzAsIDY5LCA2NSwgODQsIDcyLCA2OSwgODIsIDY5LCAxOTYsIDg3LCA3MiwgNzMsIDg0LCAKLSAgICA2OSwgMTI4LCA4NywgNzIsIDY5LCA2OSwgNzYsIDY5LCAxOTYsIDg3LCA3MiwgNjksIDY5LCA3NiwgNjcsIDcyLCA2NSwgNzMsIAotICAgIDIxMCwgODcsIDcyLCA2OSwgNjksIDc2LCAxMjgsIDg3LCA3MiwgNjksIDY5LCAyMDQsIDg3LCA3MiwgNjksIDY1LCA4NCwgCi0gICAgMTI4LCA4NywgNzIsIDY1LCA3NiwgNjksIDEyOCwgODcsIDcxLCAxMjgsIDg3LCA2OSwgODgsIDEyOCwgODcsIDY5LCA4NSwgCi0gICAgODgsIDEyOCwgODcsIDY5LCA4MywgODQsIDY5LCA4MiwgMjA2LCA4NywgNjksIDgzLCA4NCwgMTI4LCA4NywgNjksIDgzLCAKLSAgICAyMTIsIDg3LCA2OSwgODAsIDEyOCwgODcsIDY5LCA3OSwgMTI4LCA4NywgNjksIDc4LCAxMjgsIDg3LCA2OSwgNzYsIDc2LCAKLSAgICAxMjgsIDg3LCA2OSwgNzMsIDcxLCA3MiwgMjEyLCA4NywgNjksIDY5LCA3OCwgMTI4LCA4NywgNjksIDY4LCA3MSwgNjksIAotICAgIDQ1LCA4NCwgNjUsIDczLCA3NiwgNjksIDE5NiwgODcsIDY5LCA2OCwgNjgsIDczLCA3OCwgNzEsIDEyOCwgODcsIDY5LCA2NSwgCi0gICAgODIsIDIxNywgODcsIDY5LCA2NSwgODAsIDc5LCA3OCwgMTI4LCA4NywgNjcsIDEyOCwgODcsIDY2LCAxMjgsIDg3LCA2NSwgCi0gICAgODksIDEyOCwgODcsIDY1LCAyMTcsIDg3LCA2NSwgODgsIDczLCA3OCwgMTk5LCA4NywgNjUsIDg4LCAxMjgsIDg3LCA2NSwgCi0gICAgODcsIDQ1LCA2NSwgODksIDczLCA3OCwgNDUsIDgyLCA2OSwgODMsIDcyLCAxMjgsIDg3LCA2NSwgODcsIDEyOCwgODcsIDY1LCAKLSAgICAyMTUsIDg3LCA2NSwgODYsIDIxNywgODcsIDY1LCA4NiwgNzMsIDc4LCAxOTksIDg3LCA2NSwgODYsIDY5LCA4MywgMTI4LCAKLSAgICA4NywgNjUsIDg2LCA2OSwgMTI4LCA4NywgNjUsIDg2LCAxOTcsIDg3LCA2NSwgODUsIDEyOCwgODcsIDY1LCA4NCwgODQsIAotICAgIDc5LCAxMjgsIDg3LCA2NSwgODQsIDY5LCA4MiwgNzcsIDY5LCA3NiwgNzksIDc4LCAxMjgsIDg3LCA2NSwgODQsIDY5LCA4MiwgCi0gICAgMTI4LCA4NywgNjUsIDg0LCA2OSwgMjEwLCA4NywgNjUsIDg0LCA2NywgNzIsIDEyOCwgODcsIDY1LCA4NCwgMTI4LCA4NywgCi0gICAgNjUsIDgzLCA4NCwgNzMsIDc4LCA3MSwgMTI4LCA4NywgNjUsIDgzLCA4MywgNjUsIDc2LCA3NiwgNjUsIDc3LCAxMjgsIDg3LCAKLSAgICA2NSwgODMsIDc2LCA2NSwgMTI4LCA4NywgNjUsIDgzLCA3NiwgMTkzLCA4NywgNjUsIDgzLCA2NSwgNzYsIDc2LCA2NSwgNzcsIAotICAgIDEyOCwgODcsIDY1LCA4MywgNjUsIDc2LCA3NiwgNjUsIDIwNSwgODcsIDY1LCA4MiwgNzgsIDczLCA3OCwgMTk5LCA4NywgCi0gICAgNjUsIDgwLCAxMjgsIDg3LCA2NSwgNzgsIDczLCA3OCwgMTk5LCA4NywgNjUsIDc4LCA3MSwgNzUsIDg1LCA3OSwgODEsIAotICAgIDEyOCwgODcsIDY1LCA3OCwgNjgsIDY5LCA4MiwgNjksIDgyLCAxMjgsIDg3LCA2NSwgNzgsIDEyOCwgODcsIDY1LCA3NiwgCi0gICAgNzYsIDEyOCwgODcsIDY1LCA3NiwgNzUsIDEyOCwgODcsIDY1LCA3NiwgMjAzLCA4NywgNjUsIDczLCA4NCwgNzMsIDc4LCAKLSAgICA3MSwgMTI4LCA4NywgNjUsIDczLCAxMjgsIDg3LCA2NSwgNjksIDc4LCAxMjgsIDg3LCA2NSwgNjksIDEyOCwgODcsIDY1LCAKLSAgICA2NSwgODYsIDg1LCAxMjgsIDg3LCA0OCwgNTAsIDUzLCAxMjgsIDg3LCA0OCwgNTAsIDUyLCA2NSwgMTI4LCA4NywgNDgsIAotICAgIDUwLCA1MiwgMTI4LCA4NywgNDgsIDUwLCA1MSwgMTI4LCA4NywgNDgsIDUwLCA1MCwgMTI4LCA4NywgNDgsIDUwLCA0OSwgCi0gICAgMTI4LCA4NywgNDgsIDUwLCA0OCwgMTI4LCA4NywgNDgsIDQ5LCA1NywgMTI4LCA4NywgNDgsIDQ5LCA1NiwgNjUsIDEyOCwgCi0gICAgODcsIDQ4LCA0OSwgNTYsIDEyOCwgODcsIDQ4LCA0OSwgNTUsIDY1LCAxMjgsIDg3LCA0OCwgNDksIDU1LCAxMjgsIDg3LCAKLSAgICA0OCwgNDksIDU0LCAxMjgsIDg3LCA0OCwgNDksIDUzLCAxMjgsIDg3LCA0OCwgNDksIDUyLCA2NSwgMTI4LCA4NywgNDgsIAotICAgIDQ5LCA1MiwgMTI4LCA4NywgNDgsIDQ5LCA1MSwgMTI4LCA4NywgNDgsIDQ5LCA1MCwgMTI4LCA4NywgNDgsIDQ5LCA0OSwgCi0gICAgMTI4LCA4NywgNDgsIDQ5LCA0OCwgNjUsIDEyOCwgODcsIDQ4LCA0OSwgNDgsIDEyOCwgODcsIDQ4LCA0OCwgNTcsIDY1LCAKLSAgICAxMjgsIDg3LCA0OCwgNDgsIDU3LCAxMjgsIDg3LCA0OCwgNDgsIDU2LCAxMjgsIDg3LCA0OCwgNDgsIDU1LCAxMjgsIDg3LCAKLSAgICA0OCwgNDgsIDU0LCAxMjgsIDg3LCA0OCwgNDgsIDUzLCAxMjgsIDg3LCA0OCwgNDgsIDUyLCAxMjgsIDg3LCA0OCwgNDgsIAotICAgIDUxLCA2NSwgMTI4LCA4NywgNDgsIDQ4LCA1MSwgMTI4LCA4NywgNDgsIDQ4LCA1MCwgMTI4LCA4NywgNDgsIDQ4LCA0OSwgCi0gICAgMTI4LCA4NiwgOTAsIDc3LCA2OSwgODQsIDEyOCwgODYsIDg5LCA4OCwgMTI4LCA4NiwgODksIDg0LCAxMjgsIDg2LCA4OSwgCi0gICAgODIsIDg4LCAxMjgsIDg2LCA4OSwgODIsIDEyOCwgODYsIDg5LCA4MCwgMTI4LCA4NiwgODksIDEyOCwgODYsIDg3LCA2NSwgCi0gICAgMTI4LCA4NiwgODUsIDg4LCAxMjgsIDg2LCA4NSwgODQsIDEyOCwgODYsIDg1LCA4MiwgODgsIDEyOCwgODYsIDg1LCA4MiwgCi0gICAgMTI4LCA4NiwgODUsIDgwLCAxMjgsIDg2LCA4NSwgNzYsIDcxLCA2NSwgMjEwLCA4NiwgODUsIDY5LCA4MSwgMTI4LCA4NiwgCi0gICAgODMsIDEyOCwgODYsIDgyLCA2NSwgNjcsIDcyLCA4OSwgMTI4LCA4NiwgNzksIDg4LCAxMjgsIDg2LCA3OSwgODcsIDY5LCAKLSAgICA3NiwgNDUsIDY3LCA2NSwgODIsIDgyLCA3MywgNjksIDIxMCwgODYsIDc5LCA4NywgMTI4LCA4NiwgNzksIDg1LCAxMjgsIAotICAgIDg2LCA3OSwgODQsIDEyOCwgODYsIDc5LCA4MCwgMTI4LCA4NiwgNzksIDc5LCAxMjgsIDg2LCA3OSwgNzcsIDEyOCwgODYsIAotICAgIDc5LCA3NiwgODUsIDc3LCAxOTcsIDg2LCA3OSwgNzYsIDg0LCA2NSwgNzEsIDE5NywgODYsIDc5LCA3NiwgNjcsIDY1LCA3OCwgCi0gICAgNzksIDEyOCwgODYsIDc5LCA3MywgMTk2LCA4NiwgNzksIDczLCA2NywgNzMsIDc4LCA3MSwgMTI4LCA4NiwgNzksIDczLCAKLSAgICA2NywgNjksIDc2LCA2OSwgODMsIDIxMSwgODYsIDc5LCA3MywgNjcsIDY5LCAxOTYsIDg2LCA3OSwgNjcsIDY1LCA3NiwgNzMsIAotICAgIDkwLCA2NSwgODQsIDczLCA3OSwgMjA2LCA4NiwgNzksIDY3LCA2NSwgMjA0LCA4NiwgNzksIDEyOCwgODYsIDczLCA4OCwgCi0gICAgMTI4LCA4NiwgNzMsIDg0LCA4MiwgNzMsIDc5LCA3NiwgNDUsIDUwLCAxMjgsIDg2LCA3MywgODQsIDgyLCA3MywgNzksIDc2LCAKLSAgICAxMjgsIDg2LCA3MywgODQsIDY1LCA2OSwgNDUsIDUwLCAxMjgsIDg2LCA3MywgODQsIDY1LCA2OSwgMTI4LCA4NiwgNzMsIAotICAgIDg0LCAxMjgsIDg2LCA3MywgODMsIDczLCA3MSwgNzksIDg0LCA3MiwgNzMsIDE5NSwgODYsIDczLCA4MywgNjUsIDgyLCA3MSwgCi0gICAgNjUsIDg5LCA2NSwgMTI4LCA4NiwgNzMsIDgzLCA2NSwgODIsIDcxLCA2NSwgMTI4LCA4NiwgNzMsIDgzLCA2NSwgODIsIDcxLCAKLSAgICAxOTMsIDg2LCA3MywgODIsIDczLCA2NSwgNzcsIDEyOCwgODYsIDczLCA4MiwgNzEsIDc5LCAxMjgsIDg2LCA3MywgODIsIAotICAgIDcxLCA2NSwgMTI4LCA4NiwgNzMsIDgyLCA2NSwgNzcsIDY1LCAxMjgsIDg2LCA3MywgODAsIDEyOCwgODYsIDczLCA3OSwgCi0gICAgNzYsIDczLCA3OCwgMTI4LCA4NiwgNzMsIDc4LCA2OSwgNzEsIDY1LCA4MiwgNDUsIDUxLCAxMjgsIDg2LCA3MywgNzgsIDY5LCAKLSAgICA3MSwgNjUsIDgyLCA0NSwgNTAsIDEyOCwgODYsIDczLCA3OCwgNjksIDcxLCA2NSwgODIsIDEyOCwgODYsIDczLCA3OCwgNjksIAotICAgIDcxLCA2NSwgMjEwLCA4NiwgNzMsIDc4LCA2OSwgMTI4LCA4NiwgNzMsIDc4LCAxMjgsIDg2LCA3MywgNzYsIDc2LCA2NSwgCi0gICAgNzEsIDY5LCAxMjgsIDg2LCA3MywgNjksIDg4LCAxMjgsIDg2LCA3MywgNjksIDg3LCA3MywgNzgsIDE5OSwgODYsIDczLCAKLSAgICA2OSwgODcsIDY4LCA2NSwgODQsIDE5MywgODYsIDczLCA2OSwgODQsIDEyOCwgODYsIDczLCA2OSwgODAsIDEyOCwgODYsIAotICAgIDczLCA2OSwgMTI4LCA4NiwgNzMsIDY4LCA2OSwgNzksIDY3LCA2NSwgODMsIDgzLCA2OSwgODQsIDg0LCA2OSwgMTI4LCA4NiwgCisgICAgMjAwLCA2NiwgNjUsIDc2LCA3MywgNzgsIDY5LCA4MywgMTk3LCA3MiwgNzksIDc5LCA3NSwgMTI4LCAyMTMsIDg0LCA4NywgCisgICAgNzksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDIwNSwgODAsIDcyLCA2NSwgODMsIDY5LCA0NSwgMTk2LCAKKyAgICA2NSwgNzYsIDY3LCA3MiwgNjksIDc3LCA3MywgNjcsIDY1LCAyMDQsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDczLCAxOTUsIDc5LCA3OCwgNjksIDEyOCwgODQsIDc5LCAxMjgsIDY1LCA3NiwgNjksIDE5OCwgODQsIDg3LCAyMDcsIAorICAgIDcyLCA2OSwgNjUsIDg2LCAyMTcsIDY3LCA3OSwgNzgsIDgzLCA3OSwgNzgsIDY1LCA3OCwgMjEyLCA3OSwgODYsIDY5LCAKKyAgICAyMTAsIDY2LCA4MiwgNjUsIDcyLCA3NywgMjAxLCA4MywgNjcsIDgyLCA3MywgODAsIDIxMiwgODUsIDIwOCwgNzYsIDc5LCAKKyAgICAyMTUsIDcyLCA2NSwgMjAwLCA3OSwgNzgsIDE5NywgNjgsIDc5LCA4NywgMjA2LCA3MiwgNzMsIDcxLCAyMDAsIDcwLCA4NSwgCisgICAgNzYsIDc2LCA4NywgNzMsIDY4LCA4NCwgMjAwLCA2NiwgODIsIDY1LCA2NywgNzUsIDY5LCA4NCwgMTI4LCA2OSwgODEsIDg1LCAKKyAgICA2NSwgMjA0LCA4NCwgNjUsIDE5OSwgNjYsIDY1LCA4MiwgMTI4LCA2OCwgNzksIDc3LCA3MywgNzgsIDIwNywgNzgsIDg1LCAKKyAgICA3NywgNjksIDgyLCA3MywgMTk1LCA3MCwgODIsIDY1LCA3NSwgODQsIDg1LCAyMTAsIDg0LCA3MiwgODIsIDY5LCAxOTcsIAorICAgIDY3LCA3MiwgNjUsIDgyLCA2NSwgNjcsIDg0LCA2OSwgMjEwLCA3NywgNjUsIDc2LCA2NSwgODksIDY1LCA3NiwgNjUsIDIwNSwgCisgICAgODAsIDcyLCA2NSwgODMsIDY5LCA0NSwgMTk1LCA4NCwgNzksIDc4LCAxOTcsIDY4LCA3OSwgODUsIDY2LCA3NiwgNjksIDQ1LCAKKyAgICA4MywgODQsIDgyLCA4NSwgNjcsIDIwMywgNzYsIDY5LCA3MCwgODQsIDg3LCA2NSwgODIsIDY4LCAyMTEsIDcyLCA3MywgODIsIAorICAgIDY1LCA3MSwgNjUsIDc4LCAxOTMsIDY1LCA2NywgODUsIDg0LCA2OSwgMTI4LCA3NCwgODUsIDc4LCA3MSwgODMsIDY5LCA3OSwgCisgICAgNzgsIDE5OSwgNzEsIDc2LCA2NSwgNzEsIDc5LCA3NiwgNzMsIDg0LCA3MywgMTk1LCA2NiwgNjksIDc4LCA3MSwgNjUsIDc2LCAKKyAgICAyMDEsIDc3LCA2OSwgNjgsIDczLCA2NSwgMjA0LCA4NCwgNjksIDc2LCA4NSwgNzEsIDIxMywgODYsIDc5LCA2NywgNjUsIAorICAgIDc2LCA3MywgMTk1LCA2NSwgODIsIDc3LCA2OSwgNzgsIDczLCA2NSwgMjA2LCA3NCwgNjksIDY5LCAyMDUsIDc4LCA2OSwgCisgICAgNzEsIDY1LCA4NCwgNzMsIDg2LCAxOTcsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgMjAwLCA3NCwgNjUsIDg2LCAKKyAgICA2NSwgNzgsIDY5LCA4MywgMTk3LCA3OSwgODIsIDczLCA4OSwgMTkzLCA4NCwgNzIsIDgyLCA2OSwgNjksIDEyOCwgODcsIAorICAgIDY5LCA4MywgODQsIDQ1LCA2NywgODIsIDY5LCAxOTcsIDcwLCA3OSwgODUsIDgyLCAxMjgsIDcyLCA2NSwgMTI4LCA3MiwgCisgICAgNjUsIDc2LCAxOTgsIDc3LCA2NSwgODIsIDIwMywgNzUsIDY1LCA3OCwgNzgsIDY1LCA2OCwgMTkzLCA3OCwgNjksIDIxNSwgCisgICAgODAsIDcyLCA2NSwgODMsIDY5LCA0NSwgMTkzLCA4NCwgNzIsIDY1LCAyMDEsIDY3LCA3MiwgNjksIDgyLCA3OSwgNzUsIDY5LCAKKyAgICAxOTcsIDY4LCA3OSwgODQsIDIxMSwgNzEsIDg1LCA3NCwgNjUsIDgyLCA2NSwgODQsIDIwMSwgNjcsIDcyLCA2NSwgMjA1LCAKKyAgICA3NiwgODUsIDE5NywgODMsIDcyLCA2NSwgODIsIDY1LCA2OCwgMTkzLCA4MywgNzMsIDc4LCA3MiwgNjUsIDc2LCAxOTMsIAorICAgIDc1LCA2NSwgMTI4LCA4MiwgODUsIDc4LCA3MywgMTk1LCA4MywgNjUsIDg1LCA4MiwgNjUsIDgzLCA3MiwgODQsIDgyLCAKKyAgICAxOTMsIDg0LCA2OSwgODQsIDgyLCA2NSwgNzEsIDgyLCA2NSwgMjA1LCA2OCwgNjksIDgzLCA2OSwgODIsIDY5LCAyMTIsIAorICAgIDg0LCA3MywgNzYsIDY4LCA2OSwgMTI4LCA3MSwgODUsIDgyLCA3NywgODUsIDc1LCA3MiwgMjAxLCA3NywgNjUsIDEyOCwgCisgICAgNzcsIDY1LCA4OSwgNjksIDIwMywgNzcsIDY5LCA2OSwgODQsIDY5LCAyMDEsIDc4LCA3OSwgODQsIDY1LCA4NCwgNzMsIDc5LCAKKyAgICAyMDYsIDgzLCA4OSwgODIsIDczLCA2NSwgMTk1LCA3MCwgNzMsIDg2LCA2OSwgMTI4LCA4MCwgNjUsIDEyOCwgODksIDY1LCAKKyAgICAxMjgsIDc2LCA3MywgNzEsIDcyLCAyMTIsIDgzLCA3MywgODgsIDEyOCwgNjksIDczLCA3MSwgNzIsIDg0LCAxMjgsIDc2LCAKKyAgICA2OSwgODAsIDY3LCA3MiwgMTkzLCA3OCwgNjUsIDEyOCwgODMsIDY5LCA4NiwgNjksIDc4LCAxMjgsIDc2LCA3OSwgNzgsIAorICAgIDE5OSwgNzgsIDczLCA3OCwgNjksIDEyOCwgODQsIDg1LCA4MiwgNzUsIDczLCAxOTUsIDcyLCA2NSwgNzcsIDkwLCAxOTMsIAorICAgIDcyLCA3OSwgODIsIDczLCA5MCwgNzksIDc4LCA4NCwgNjUsIDIwNCwgNzksIDgwLCA2OSwgMjA2LCA4MiwgNjUsIDEyOCwgCisgICAgODMsIDY1LCAxMjgsIDgzLCA4NSwgNzgsIDY4LCA2NSwgNzgsIDY5LCA4MywgMTk3LCA4NiwgNzMsIDY5LCAyMTIsIDc2LCAKKyAgICA2NSwgMjA3LCA5MCwgOTAsIDg5LCA4OCwgMTI4LCA5MCwgOTAsIDg5LCA4NCwgMTI4LCA5MCwgOTAsIDg5LCA4MiwgODgsIAorICAgIDEyOCwgOTAsIDkwLCA4OSwgODIsIDEyOCwgOTAsIDkwLCA4OSwgODAsIDEyOCwgOTAsIDkwLCA4OSwgNjUsIDEyOCwgOTAsIAorICAgIDkwLCA4OSwgMTI4LCA5MCwgOTAsIDg1LCA4OCwgMTI4LCA5MCwgOTAsIDg1LCA4MiwgODgsIDEyOCwgOTAsIDkwLCA4NSwgCisgICAgODIsIDEyOCwgOTAsIDkwLCA4NSwgODAsIDEyOCwgOTAsIDkwLCA4NSwgMTI4LCA5MCwgOTAsIDgzLCA4OSwgNjUsIDEyOCwgCisgICAgOTAsIDkwLCA4MywgNjUsIDEyOCwgOTAsIDkwLCA3OSwgODgsIDEyOCwgOTAsIDkwLCA3OSwgODAsIDEyOCwgOTAsIDkwLCAKKyAgICA3OSwgMTI4LCA5MCwgOTAsIDczLCA4OCwgMTI4LCA5MCwgOTAsIDczLCA4NCwgMTI4LCA5MCwgOTAsIDczLCA4MCwgMTI4LCAKKyAgICA5MCwgOTAsIDczLCA2OSwgODgsIDEyOCwgOTAsIDkwLCA3MywgNjksIDg0LCAxMjgsIDkwLCA5MCwgNzMsIDY5LCA4MCwgCisgICAgMTI4LCA5MCwgOTAsIDczLCA2OSwgMTI4LCA5MCwgOTAsIDczLCAxMjgsIDkwLCA5MCwgNjksIDg4LCAxMjgsIDkwLCA5MCwgCisgICAgNjksIDgwLCAxMjgsIDkwLCA5MCwgNjksIDY5LCAxMjgsIDkwLCA5MCwgNjksIDEyOCwgOTAsIDkwLCA2NSwgODgsIDEyOCwgCisgICAgOTAsIDkwLCA2NSwgODQsIDEyOCwgOTAsIDkwLCA2NSwgODAsIDEyOCwgOTAsIDkwLCA2NSwgNjUsIDEyOCwgOTAsIDkwLCAKKyAgICA2NSwgMTI4LCA5MCwgODksIDcxLCA3OSwgODMsIDEyOCwgOTAsIDg3LCA4MywgODAsIDEyOCwgOTAsIDg3LCA3OCwgNzQsIAorICAgIDEyOCwgOTAsIDg3LCA3OCwgNjYsIDgzLCA4MCwgMTI4LCA5MCwgODcsIDc0LCAxMjgsIDkwLCA4NywgNjUsIDgyLCA2NSwgCisgICAgNzUsIDY1LCA4OSwgMTI4LCA5MCwgODcsIDY1LCAxMjgsIDkwLCA4NSwgODQsIDEyOCwgOTAsIDg1LCA3OSwgODgsIDEyOCwgCisgICAgOTAsIDg1LCA3OSwgODAsIDEyOCwgOTAsIDg1LCA3OSwgMTI4LCA5MCwgODUsIDc3LCAxMjgsIDkwLCA4NSwgNjYsIDg1LCAKKyAgICA4MiwgMTI4LCA5MCwgODUsIDUzLCAxMjgsIDkwLCA4NSwgMTgxLCA5MCwgODMsIDcyLCA2NSwgMTI4LCA5MCwgODIsIDY1LCAKKyAgICAxMjgsIDkwLCA4MSwgNjUsIDgwLCA3MiwgMTkzLCA5MCwgNzksIDg0LCAxMjgsIDkwLCA3OSwgNzksIDEyOCwgOTAsIDc5LCAKKyAgICA2NSwgMTI4LCA5MCwgNzYsIDY1LCA3NywgMTkzLCA5MCwgNzYsIDY1LCAxMjgsIDkwLCA3NiwgMTkzLCA5MCwgNzQsIDY5LCAKKyAgICAxMjgsIDkwLCA3MywgOTAsIDUwLCAxMjgsIDkwLCA3MywgODEsIDY1LCA2NSwgMTI4LCA5MCwgNzMsIDc4LCA3OSwgODIsIAorICAgIDEyOCwgOTAsIDczLCA3NiwgNjgsIDY5LCAxMjgsIDkwLCA3MywgNzEsIDkwLCA2NSwgMTk5LCA5MCwgNzMsIDcxLCAxMjgsIAorICAgIDkwLCA3MywgNjgsIDE5MywgOTAsIDczLCA2NiwgMTI4LCA5MCwgNzMsIDE5NCwgOTAsIDczLCA1MSwgMTI4LCA5MCwgMjAxLCAKKyAgICA5MCwgNzIsIDg5LCA4OCwgMTI4LCA5MCwgNzIsIDg5LCA4NCwgMTI4LCA5MCwgNzIsIDg5LCA4MiwgODgsIDEyOCwgOTAsIAorICAgIDcyLCA4OSwgODIsIDEyOCwgOTAsIDcyLCA4OSwgODAsIDEyOCwgOTAsIDcyLCA4OSwgMTI4LCA5MCwgNzIsIDg3LCA2OSwgCisgICAgMTI4LCA5MCwgNzIsIDg3LCA2NSwgMTI4LCA5MCwgNzIsIDg1LCA4OCwgMTI4LCA5MCwgNzIsIDg1LCA4NCwgMTI4LCA5MCwgCisgICAgNzIsIDg1LCA4MiwgODgsIDEyOCwgOTAsIDcyLCA4NSwgODIsIDEyOCwgOTAsIDcyLCA4NSwgODAsIDEyOCwgOTAsIDcyLCAKKyAgICA4NSwgNzksIDg4LCAxMjgsIDkwLCA3MiwgODUsIDc5LCA4MCwgMTI4LCA5MCwgNzIsIDg1LCA3OSwgMTI4LCA5MCwgNzIsIAorICAgIDg1LCAxMjgsIDkwLCA3MiwgNzksIDg4LCAxMjgsIDkwLCA3MiwgNzksIDg0LCAxMjgsIDkwLCA3MiwgNzksIDgwLCAxMjgsIAorICAgIDkwLCA3MiwgNzksIDc5LCAxMjgsIDkwLCA3MiwgNzksIDEyOCwgOTAsIDcyLCA3MywgODYsIDY5LCA4NCwgNjksIDEyOCwgCisgICAgOTAsIDcyLCA3MywgMTI4LCA5MCwgNzIsIDY5LCA4OCwgMTI4LCA5MCwgNzIsIDY5LCA4NCwgMTI4LCA5MCwgNzIsIDY5LCAKKyAgICA4MCwgMTI4LCA5MCwgNzIsIDY5LCA2OSwgMTI4LCA5MCwgNzIsIDY5LCAxMjgsIDkwLCA3MiwgMTk3LCA5MCwgNzIsIDY1LCAKKyAgICA4OCwgMTI4LCA5MCwgNzIsIDY1LCA4NCwgMTI4LCA5MCwgNzIsIDY1LCA4MiwgMTI4LCA5MCwgNzIsIDY1LCA4MCwgMTI4LCAKKyAgICA5MCwgNzIsIDY1LCA3MywgNzgsIDEyOCwgOTAsIDcyLCA2NSwgNjUsIDEyOCwgOTAsIDcyLCA2NSwgMTI4LCA5MCwgNzIsIAorICAgIDEyOCwgOTAsIDY5LCA4NCwgNjUsIDEyOCwgOTAsIDY5LCA4MiwgNzksIDEyOCwgOTAsIDY5LCA4MiwgMjA3LCA5MCwgNjksIAorICAgIDc4LCAxMjgsIDkwLCA2OSwgNzcsIDc2LCA4OSwgNjUsIDEyOCwgOTAsIDY5LCA3NywgNzYsIDc0LCA2NSwgMTI4LCA5MCwgCisgICAgNjksIDUwLCAxMjgsIDkwLCAxOTcsIDkwLCA2NSwgODksIDc4LCAxMjgsIDkwLCA2NSwgODksIDczLCA3OCwgMTI4LCA5MCwgCisgICAgNjUsIDg5LCA3MywgMjA2LCA5MCwgNjUsIDg2LCA3MywgODksIDY1LCA3OCwgNzMsIDEyOCwgOTAsIDY1LCA4NCwgNjUsIAorICAgIDEyOCwgOTAsIDY1LCA4MiwgODEsIDY1LCAxMjgsIDkwLCA2NSwgODEsIDY5LCAxOTgsIDkwLCA2NSwgNzcsIDg4LCAxMjgsIAorICAgIDkwLCA2NSwgMjA0LCA5MCwgNjUsIDczLCA3OCwgMTI4LCA5MCwgNjUsIDczLCAyMDYsIDkwLCA2NSwgNzMsIDEyOCwgOTAsIAorICAgIDY1LCA3MiwgMTI4LCA5MCwgNjUsIDIwMCwgOTAsIDY1LCA3MSwgMTI4LCA5MCwgNjUsIDY5LCA3MCwgMTI4LCA5MCwgNDgsIAorICAgIDQ5LCA1NCwgNzIsIDEyOCwgOTAsIDQ4LCA0OSwgNTQsIDcxLCAxMjgsIDkwLCA0OCwgNDksIDU0LCA3MCwgMTI4LCA5MCwgCisgICAgNDgsIDQ5LCA1NCwgNjksIDEyOCwgOTAsIDQ4LCA0OSwgNTQsIDY4LCAxMjgsIDkwLCA0OCwgNDksIDU0LCA2NywgMTI4LCAKKyAgICA5MCwgNDgsIDQ5LCA1NCwgNjYsIDEyOCwgOTAsIDQ4LCA0OSwgNTQsIDY1LCAxMjgsIDkwLCA0OCwgNDksIDU0LCAxMjgsIAorICAgIDkwLCA0OCwgNDksIDUzLCA3MywgMTI4LCA5MCwgNDgsIDQ5LCA1MywgNzIsIDEyOCwgOTAsIDQ4LCA0OSwgNTMsIDcxLCAKKyAgICAxMjgsIDkwLCA0OCwgNDksIDUzLCA3MCwgMTI4LCA5MCwgNDgsIDQ5LCA1MywgNjksIDEyOCwgOTAsIDQ4LCA0OSwgNTMsIAorICAgIDY4LCAxMjgsIDkwLCA0OCwgNDksIDUzLCA2NywgMTI4LCA5MCwgNDgsIDQ5LCA1MywgNjYsIDEyOCwgOTAsIDQ4LCA0OSwgCisgICAgNTMsIDY1LCAxMjgsIDkwLCA0OCwgNDksIDUzLCAxMjgsIDkwLCA0OCwgNDksIDUyLCAxMjgsIDkwLCA0OCwgNDksIDUxLCAKKyAgICAxMjgsIDkwLCA0OCwgNDksIDUwLCAxMjgsIDkwLCA0OCwgNDksIDQ5LCAxMjgsIDkwLCA0OCwgNDksIDQ4LCAxMjgsIDkwLCAKKyAgICA0OCwgNDgsIDU3LCAxMjgsIDkwLCA0OCwgNDgsIDU2LCAxMjgsIDkwLCA0OCwgNDgsIDU1LCAxMjgsIDkwLCA0OCwgNDgsIAorICAgIDU0LCAxMjgsIDkwLCA0OCwgNDgsIDUzLCA2NSwgMTI4LCA5MCwgNDgsIDQ4LCA1MywgMTI4LCA5MCwgNDgsIDQ4LCA1MiwgCisgICAgNjUsIDEyOCwgOTAsIDQ4LCA0OCwgNTIsIDEyOCwgOTAsIDQ4LCA0OCwgNTEsIDY2LCAxMjgsIDkwLCA0OCwgNDgsIDUxLCAKKyAgICA2NSwgMTI4LCA5MCwgNDgsIDQ4LCA1MSwgMTI4LCA5MCwgNDgsIDQ4LCA1MCwgNjgsIDEyOCwgOTAsIDQ4LCA0OCwgNTAsIAorICAgIDY3LCAxMjgsIDkwLCA0OCwgNDgsIDUwLCA2NiwgMTI4LCA5MCwgNDgsIDQ4LCA1MCwgNjUsIDEyOCwgOTAsIDQ4LCA0OCwgCisgICAgNTAsIDEyOCwgOTAsIDQ4LCA0OCwgNDksIDEyOCwgOTAsIDEyOCwgMjE4LCA4OSwgODksIDg4LCAxMjgsIDg5LCA4OSwgODQsIAorICAgIDEyOCwgODksIDg5LCA4MiwgODgsIDEyOCwgODksIDg5LCA4MiwgMTI4LCA4OSwgODksIDgwLCAxMjgsIDg5LCA4OSwgNjksIAorICAgIDEyOCwgODksIDg5LCA2NSwgNjUsIDEyOCwgODksIDg5LCA2NSwgMTI4LCA4OSwgODksIDEyOCwgODksIDg3LCA3OSwgNzksIAorICAgIDEyOCwgODksIDg3LCA3OSwgMTI4LCA4OSwgODcsIDczLCA3MywgMTI4LCA4OSwgODcsIDczLCAxMjgsIDg5LCA4NywgNjksIAorICAgIDEyOCwgODksIDg3LCA2NSwgNjUsIDEyOCwgODksIDg3LCA2NSwgMTI4LCA4OSwgODYsIDEyOCwgODksIDg1LCA4OCwgMTI4LCAKKyAgICA4OSwgODUsIDg3LCA3OSwgODEsIDEyOCwgODksIDg1LCA4NSwgNzUsIDY1LCA3NiwgNjksIDY1LCA4MCwgNzMsIDc4LCA4NCwgCisgICAgODUsIDEyOCwgODksIDg1LCA4NSwgMTI4LCA4OSwgODUsIDg0LCAxMjgsIDg5LCA4NSwgODMsIDEyOCwgODksIDg1LCAyMTEsIAorICAgIDg5LCA4NSwgODIsIDg4LCAxMjgsIDg5LCA4NSwgODIsIDEyOCwgODksIDg1LCA4MSwgMTI4LCA4OSwgODUsIDIwOSwgODksIAorICAgIDg1LCA4MCwgMTI4LCA4OSwgODUsIDc5LCA4OCwgMTI4LCA4OSwgODUsIDc5LCA4NCwgMTI4LCA4OSwgODUsIDc5LCA4MCwgCisgICAgMTI4LCA4OSwgODUsIDc5LCA3NywgMTI4LCA4OSwgODUsIDc5LCAxMjgsIDg5LCA4NSwgNzgsIDEyOCwgODksIDg1LCA3NywgCisgICAgMTI4LCA4OSwgODUsIDY5LCA4MSwgMTI4LCA4OSwgODUsIDY5LCAxMjgsIDg5LCA4NSwgNjgsIDcyLCAxMjgsIDg5LCA4NSwgCisgICAgNjgsIDIwMCwgODksIDg1LCA2NSwgNzgsIDEyOCwgODksIDg1LCA2NSwgNjksIDc4LCAxMjgsIDg5LCA4NSwgNDUsIDg5LCAKKyAgICA2OSwgNzksIDEyOCwgODksIDg1LCA0NSwgODksIDY5LCAxMjgsIDg5LCA4NSwgNDUsIDg1LCAxMjgsIDg5LCA4NSwgNDUsIAorICAgIDc5LCAxMjgsIDg5LCA4NSwgNDUsIDczLCAxMjgsIDg5LCA4NSwgNDUsIDY5LCA3OSwgMTI4LCA4OSwgODUsIDQ1LCA2OSwgCisgICAgMTI4LCA4OSwgODUsIDQ1LCA2NSwgNjksIDEyOCwgODksIDg1LCA0NSwgNjUsIDEyOCwgODksIDg1LCAxMjgsIDg5LCAyMTMsIAorICAgIDg5LCA4MCwgODMsIDczLCA3NiwgNzMsIDEyOCwgODksIDgwLCA3OSwgODIsIDgyLCA3OSwgNzMsIDEyOCwgODksIDgwLCA3OSwgCisgICAgNzUsIDgyLCA3MywgODMsIDczLCA4MywgMTI4LCA4OSwgODAsIDc5LCA3NSwgODIsIDczLCA4MywgNzMsIDIxMSwgODksIDgwLCAKKyAgICA3OSwgNzEsIDY5LCA3MSwgODIsIDY1LCA3NywgNzcsIDY5LCA3OCwgNzMsIDEyOCwgODksIDc5LCA4OSwgMTI4LCA4OSwgNzksIAorICAgIDg4LCAxMjgsIDg5LCA3OSwgODUsIDg0LCA3MiwgNzAsIDg1LCA3NiwgNzgsIDY5LCA4MywgODMsIDEyOCwgODksIDc5LCA4NSwgCisgICAgODQsIDcyLCA3MCwgODUsIDIwNCwgODksIDc5LCA4NCwgMTI4LCA4OSwgNzksIDgyLCA3MywgMTI4LCA4OSwgNzksIDgxLCAKKyAgICAxMjgsIDg5LCA3OSwgMjA5LCA4OSwgNzksIDgwLCAxMjgsIDg5LCA3OSwgNzksIDEyOCwgODksIDc5LCA3NywgNzksIDEyOCwgCisgICAgODksIDc5LCA3MSwgNzIsIDEyOCwgODksIDc5LCA2OCwgNzIsIDEyOCwgODksIDc5LCA2OCwgMTI4LCA4OSwgNzksIDE5NiwgCisgICAgODksIDc5LCA2NSwgMTI4LCA4OSwgNzksIDQ1LCA4OSwgNjksIDc5LCAxMjgsIDg5LCA3OSwgNDUsIDg5LCA2NSwgNjksIAorICAgIDEyOCwgODksIDc5LCA0NSwgODksIDY1LCAxMjgsIDg5LCA3OSwgNDUsIDc5LCAxMjgsIDg5LCA3OSwgNDUsIDczLCAxMjgsIAorICAgIDg5LCA3OSwgNDUsIDY5LCA3OSwgMTI4LCA4OSwgNzksIDQ1LCA2NSwgNjksIDEyOCwgODksIDc5LCA0NSwgNjUsIDEyOCwgCisgICAgODksIDc5LCAxMjgsIDg5LCAyMDcsIDg5LCA3MywgOTAsIDY5LCA4NCwgMTI4LCA4OSwgNzMsIDg4LCAxMjgsIDg5LCA3MywgCisgICAgODcsIDc4LCAxMjgsIDg5LCA3MywgODQsIDEyOCwgODksIDczLCA4MCwgMTI4LCA4OSwgNzMsIDc4LCA3MSwgMTI4LCA4OSwgCisgICAgNzMsIDczLCAxMjgsIDg5LCA3MywgMTk5LCA4OSwgNzMsIDY5LCA4OCwgMTI4LCA4OSwgNzMsIDY5LCA4NCwgMTI4LCA4OSwgCisgICAgNzMsIDY5LCA4MCwgMTI4LCA4OSwgNzMsIDY5LCA2OSwgMTI4LCA4OSwgNzMsIDY5LCAxMjgsIDg5LCA3MywgNjgsIDY4LCAKKyAgICA3MywgODMsIDIwMCwgODksIDczLCA0NSwgODUsIDEyOCwgODksIDczLCAxMjgsIDg5LCA3MCwgNjksIDgzLCA3MywgODMsIAorICAgIDEyOCwgODksIDcwLCA2OSwgODMsIDczLCAyMTEsIDg5LCA3MCwgNjksIDIwNiwgODksIDY5LCA4OSwgMTI4LCA4OSwgNjksIAorICAgIDg3LCAxMjgsIDg5LCA2OSwgODUsIDg4LCAxMjgsIDg5LCA2OSwgODUsIDgyLCA2NSwgNjksIDEyOCwgODksIDY5LCA4NSwgCisgICAgODEsIDEyOCwgODksIDY5LCA4NSwgNzcsIDEyOCwgODksIDY5LCA4NSwgNjUsIDY5LCA4NCwgMTI4LCA4OSwgNjksIDg1LCAKKyAgICA2NSwgNjksIDEyOCwgODksIDY5LCA4NCwgNzMsIDg2LCAxMjgsIDg5LCA2OSwgODMsIDg0LCA4NSwgMTI4LCA4OSwgNjksIAorICAgIDgzLCA3MywgNjksIDg1LCA3OCwgNzEsIDQ1LCA4MywgNzMsIDc5LCA4MywgMTI4LCA4OSwgNjksIDgzLCA3MywgNjksIDg1LCAKKyAgICA3OCwgNzEsIDQ1LCA4MCwgNjUsIDc4LCA4MywgNzMsIDc5LCA4MywgMTI4LCA4OSwgNjksIDgzLCA3MywgNjksIDg1LCA3OCwgCisgICAgNzEsIDQ1LCA3NywgNzMsIDY5LCA4NSwgNzcsIDEyOCwgODksIDY5LCA4MywgNzMsIDY5LCA4NSwgNzgsIDcxLCA0NSwgNzIsIAorICAgIDczLCA2OSwgODUsIDcyLCAxMjgsIDg5LCA2OSwgODMsIDczLCA2OSwgODUsIDc4LCA3MSwgMTI4LCA4OSwgNjksIDgyLCA4NSwgCisgICAgMTI4LCA4OSwgNjksIDgyLCAyMTMsIDg5LCA2OSwgODIsIDczLCAxMjgsIDg5LCA2OSwgODIsIDY1LCAyMDAsIDg5LCA2OSwgCisgICAgODIsIDEyOCwgODksIDY5LCA3OSwgODIsIDczLCA3OCwgNzIsIDczLCA2OSwgODUsIDcyLCAxMjgsIDg5LCA2OSwgNzksIDQ1LCAKKyAgICA4OSwgNjUsIDEyOCwgODksIDY5LCA3OSwgNDUsIDg1LCAxMjgsIDg5LCA2OSwgNzksIDQ1LCA3OSwgMTI4LCA4OSwgNjksIAorICAgIDc4LCA3MywgODMsIDY5LCAyMDEsIDg5LCA2OSwgNzgsIDY1LCA4MCwgMTI4LCA4OSwgNjksIDc4LCAxMjgsIDg5LCA2OSwgCisgICAgMjA2LCA4OSwgNjksIDc2LCA3NiwgNzksIDg3LCAxMjgsIDg5LCA2OSwgNzYsIDc2LCA3OSwgMjE1LCA4OSwgNjksIDcyLCAKKyAgICAxMjgsIDg5LCA2OSwgNjksIDEyOCwgODksIDY5LCA2NSwgMjEwLCA4OSwgNjksIDY1LCAxMjgsIDg5LCA2NSwgOTAsIDkwLCAKKyAgICAxMjgsIDg5LCA2NSwgOTAsIDcyLCAxMjgsIDg5LCA2NSwgOTAsIDEyOCwgODksIDY1LCA4OSwgNjUsIDc4LCA3OCwgNjUsIAorICAgIDEyOCwgODksIDY1LCA4OSwgMTI4LCA4OSwgNjUsIDg3LCAxMjgsIDg5LCA2NSwgODYsIDEyOCwgODksIDY1LCA4NSwgMTI4LCAKKyAgICA4OSwgNjUsIDg0LCA4NCwgMTI4LCA4OSwgNjUsIDg0LCA3MywgMTI4LCA4OSwgNjUsIDg0LCA3MiwgMTI4LCA4OSwgNjUsIAorICAgIDg0LCAxMjgsIDg5LCA2NSwgODMsIDgzLCAxMjgsIDg5LCA2NSwgODMsIDcyLCAxMjgsIDg5LCA2NSwgODMsIDEyOCwgODksIAorICAgIDY1LCA4MiwgODIsIDEyOCwgODksIDY1LCA4MiwgMTI4LCA4OSwgNjUsIDIxMCwgODksIDY1LCA4MSwgMTI4LCA4OSwgNjUsIAorICAgIDgwLCAxMjgsIDg5LCA2NSwgNzgsIDgzLCA2NSwgODksIDY1LCAxMjgsIDg5LCA2NSwgNzgsIDcxLCAxMjgsIDg5LCA2NSwgCisgICAgNzgsIDE5OSwgODksIDY1LCA3OCwgMTI4LCA4OSwgNjUsIDc3LCA3OSwgNzUsIDEyOCwgODksIDY1LCA3NywgNjUsIDc1LCAKKyAgICA3NSwgNjUsIDc4LCAxMjgsIDg5LCA2NSwgNzcsIDEyOCwgODksIDY1LCA3NiwgMTI4LCA4OSwgNjUsIDc1LCA3MiwgNzIsIAorICAgIDEyOCwgODksIDY1LCA3NSwgNzIsIDEyOCwgODksIDY1LCA3NSwgNjUsIDgzLCA3MiwgMTI4LCA4OSwgNjUsIDc1LCAxMjgsIAorICAgIDg5LCA2NSwgNzQsIDg1LCA4MiwgODYsIDY5LCA2OCwgNzMsIDE5NSwgODksIDY1LCA3NCwgMTI4LCA4OSwgNjUsIDczLCAKKyAgICAxMjgsIDg5LCA2NSwgNzIsIDcyLCAxMjgsIDg5LCA2NSwgNzIsIDEyOCwgODksIDY1LCA3MSwgNzgsIDEyOCwgODksIDY1LCAKKyAgICA3MSwgNzIsIDcyLCAxMjgsIDg5LCA2NSwgNzEsIDcyLCAxMjgsIDg5LCA2NSwgNzEsIDEyOCwgODksIDY1LCA3MCwgMjEzLCAKKyAgICA4OSwgNjUsIDcwLCAxMjgsIDg5LCA2NSwgNjksIDc3LCA3NywgNjUsIDY5LCAxMjgsIDg5LCA2NSwgNjgsIDcyLCAxMjgsIAorICAgIDg5LCA2NSwgNjgsIDY4LCA3MiwgMTI4LCA4OSwgNjUsIDY4LCA2OCwgMTI4LCA4OSwgNjUsIDY4LCAxMjgsIDg5LCA2NSwgCisgICAgNjcsIDcyLCAxMjgsIDg5LCA2NSwgNjYsIDcyLCAxMjgsIDg5LCA2NSwgNjYsIDEyOCwgODksIDY1LCA2NSwgODIsIDg1LCAKKyAgICAxMjgsIDg5LCA2NSwgNjUsIDczLCAxMjgsIDg5LCA2NSwgNjUsIDY4LCA3OSwgMTI4LCA4OSwgNjUsIDQ1LCA4OSwgNzksIAorICAgIDEyOCwgODksIDY1LCA0NSwgODUsIDEyOCwgODksIDY1LCA0NSwgNzksIDEyOCwgODksIDQ4LCA0OCwgNTYsIDEyOCwgODksIAorICAgIDQ4LCA0OCwgNTUsIDEyOCwgODksIDQ4LCA0OCwgNTQsIDEyOCwgODksIDQ4LCA0OCwgNTMsIDEyOCwgODksIDQ4LCA0OCwgCisgICAgNTIsIDEyOCwgODksIDQ4LCA0OCwgNTEsIDEyOCwgODksIDQ4LCA0OCwgNTAsIDEyOCwgODksIDQ4LCA0OCwgNDksIDY1LCAKKyAgICAxMjgsIDg5LCA0OCwgNDgsIDQ5LCAxMjgsIDg5LCA0NSwgNjcsIDgyLCA2OSwgMTk3LCA4OCwgODksIDg4LCAxMjgsIDg4LCAKKyAgICA4OSwgODUsIDEyOCwgODgsIDg5LCA4NCwgMTI4LCA4OCwgODksIDgyLCA4OCwgMTI4LCA4OCwgODksIDgyLCAxMjgsIDg4LCAKKyAgICA4OSwgODAsIDEyOCwgODgsIDg5LCA3OSwgMTI4LCA4OCwgODksIDczLCAxMjgsIDg4LCA4OSwgNjksIDY5LCAxMjgsIDg4LCAKKyAgICA4OSwgNjksIDEyOCwgODgsIDg5LCA2NSwgNjUsIDEyOCwgODgsIDg5LCA2NSwgMTI4LCA4OCwgODksIDEyOCwgODgsIDg3LCAKKyAgICA3MywgMTI4LCA4OCwgODcsIDY5LCA2OSwgMTI4LCA4OCwgODcsIDY5LCAxMjgsIDg4LCA4NywgNjUsIDY1LCAxMjgsIDg4LCAKKyAgICA4NywgNjUsIDEyOCwgODgsIDg2LCA2OSwgMTI4LCA4OCwgODYsIDY1LCAxMjgsIDg4LCA4NSwgNzksIDg4LCAxMjgsIDg4LCAKKyAgICA4NSwgNzksIDEyOCwgODgsIDg1LCAxMjgsIDg4LCA4MywgNzIsIDY1LCA2NSwgODksIDY1LCA4NCwgNzIsIDczLCA4OSwgNjUsIAorICAgIDEyOCwgODgsIDc5LCA4OCwgMTI4LCA4OCwgNzksIDg0LCAxMjgsIDg4LCA3OSwgODIsIDEyOCwgODgsIDc5LCA4MCwgMTI4LCAKKyAgICA4OCwgNzksIDY1LCAxMjgsIDg4LCA3OSwgMTI4LCA4OCwgNzMsIDg4LCAxMjgsIDg4LCA3MywgODQsIDEyOCwgODgsIDczLCAKKyAgICA4MiwgNzksIDIwNiwgODgsIDczLCA4MCwgMTI4LCA4OCwgNzMsIDY5LCA4OCwgMTI4LCA4OCwgNzMsIDY5LCA4NCwgMTI4LCAKKyAgICA4OCwgNzMsIDY5LCA4MCwgMTI4LCA4OCwgNzMsIDY5LCAxMjgsIDg4LCA3MywgMTI4LCA4OCwgNzEsIDEyOCwgODgsIDY5LCAKKyAgICA4MywgODQsIDY5LCAyMTEsIDg4LCA2OSwgNzIsIDEyOCwgODgsIDY5LCA2OSwgMTI4LCA4OCwgNjksIDEyOCwgODgsIDY1LCAKKyAgICA3OCwgMTI4LCA4OCwgNjUsIDY1LCAxMjgsIDg4LCA2NSwgMTI4LCA4OCwgNDgsIDQ4LCA1NiwgNjUsIDEyOCwgODgsIDQ4LCAKKyAgICA0OCwgNTYsIDEyOCwgODgsIDQ4LCA0OCwgNTUsIDEyOCwgODgsIDQ4LCA0OCwgNTQsIDY1LCAxMjgsIDg4LCA0OCwgNDgsIAorICAgIDU0LCAxMjgsIDg4LCA0OCwgNDgsIDUzLCAxMjgsIDg4LCA0OCwgNDgsIDUyLCA2NiwgMTI4LCA4OCwgNDgsIDQ4LCA1MiwgCisgICAgNjUsIDEyOCwgODgsIDQ4LCA0OCwgNTIsIDEyOCwgODgsIDQ4LCA0OCwgNTEsIDEyOCwgODgsIDQ4LCA0OCwgNTAsIDEyOCwgCisgICAgODgsIDQ4LCA0OCwgNDksIDEyOCwgODcsIDkwLCAxMjgsIDg3LCA4OSwgNzgsIDc4LCAxMjgsIDg3LCA4OSwgNzgsIDIwNiwgCisgICAgODcsIDg2LCAxMjgsIDg3LCA4NSwgODAsIDEyOCwgODcsIDg1LCA3OSwgODgsIDEyOCwgODcsIDg1LCA3OSwgODAsIDEyOCwgCisgICAgODcsIDg1LCA3OSwgMTI4LCA4NywgODUsIDc4LCA3NCwgMjA3LCA4NywgODUsIDc4LCAxMjgsIDg3LCA4NSwgNzYsIDg1LCAKKyAgICAxMjgsIDg3LCA4NSwgNzYsIDIxMywgODcsIDg1LCA2OSwgMTI4LCA4NywgODUsIDY1LCA2OSwgODQsIDEyOCwgODcsIDg1LCAKKyAgICA2NSwgNjksIDc4LCAxMjgsIDg3LCA4NSwgMTI4LCA4NywgODIsIDIxNywgODcsIDgyLCA3OSwgNzgsIDcxLCAxMjgsIDg3LCAKKyAgICA4MiwgNzMsIDg0LCA3MywgNzgsIDE5OSwgODcsIDgyLCA2OSwgNzgsIDY3LCA3MiwgMTI4LCA4NywgODIsIDY5LCA2NSwgODQsIAorICAgIDIwMCwgODcsIDgyLCA2NSwgODAsIDgwLCA2OSwgMTk2LCA4NywgODIsIDY1LCA4MCwgMTI4LCA4NywgNzksIDg4LCAxMjgsIAorICAgIDg3LCA3OSwgODIsIDgyLCA3MywgNjksIDE5NiwgODcsIDc5LCA4MiwgNzUsIDY5LCA4MiwgMTI4LCA4NywgNzksIDgyLCA3NSwgCisgICAgMTI4LCA4NywgNzksIDgyLCAyMDMsIDg3LCA3OSwgODIsIDY4LCA4MywgODAsIDY1LCA2NywgNjksIDEyOCwgODcsIDc5LCAKKyAgICA4MiwgMTk2LCA4NywgNzksIDgwLCAxMjgsIDg3LCA3OSwgNzksIDc4LCAxMjgsIDg3LCA3OSwgNzksIDc2LCAxMjgsIDg3LCAKKyAgICA3OSwgNzksIDY4LCA4MywgNDUsIDY3LCA4MiwgNjksIDE5NywgODcsIDc5LCA3OSwgNjgsIDEyOCwgODcsIDc5LCA3OCwgCisgICAgMTI4LCA4NywgNzksIDIwNiwgODcsIDc5LCA3NywgNjksIDc4LCAyMTEsIDg3LCA3OSwgNzcsIDY5LCAyMDYsIDg3LCA3OSwgCisgICAgNzcsIDY1LCA3OCwgMjExLCA4NywgNzksIDc3LCA2NSwgNzgsIDEyOCwgODcsIDc5LCA3NywgNjUsIDIwNiwgODcsIDc5LCAKKyAgICA3NiwgNzksIDgzLCA3OSwgMTI4LCA4NywgNzksIDc2LCAxOTgsIDg3LCA3OSwgNjksIDEyOCwgODcsIDc5LCA2NSwgMTI4LCAKKyAgICA4NywgNzMsIDg0LCA3MiwgNzksIDg1LCAyMTIsIDg3LCA3MywgODQsIDcyLCA3MywgNzgsIDEyOCwgODcsIDczLCA3OCwgODQsIAorICAgIDY5LCA4MiwgMTI4LCA4NywgNzMsIDc4LCA3NSwgNzMsIDc4LCAxOTksIDg3LCA3MywgNzgsIDc0LCA2NSwgMTI4LCA4NywgCisgICAgNzMsIDc4LCA3MSwgODMsIDEyOCwgODcsIDczLCA3OCwgNjksIDEyOCwgODcsIDczLCA3OCwgMTk3LCA4NywgNzMsIDc4LCAKKyAgICA2OCwgODUsIDEyOCwgODcsIDczLCA3OCwgNjgsIDEyOCwgODcsIDczLCA3OCwgMTk2LCA4NywgNzMsIDc4LCAxMjgsIDg3LCAKKyAgICA3MywgNzEsIDc4LCA4OSwgNjUsIDc4LCAxMjgsIDg3LCA3MywgNzEsIDcxLCA3NiwgMjE3LCA4NywgNzMsIDY4LCA2OSwgNDUsIAorICAgIDcyLCA2OSwgNjUsIDY4LCA2OSwgMTk2LCA4NywgNzMsIDY4LCAxOTcsIDg3LCA3MywgNjUsIDc4LCA3MSwgODcsIDY1LCA2NSwgCisgICAgNzUsIDEyOCwgODcsIDczLCA2NSwgNzgsIDcxLCAxMjgsIDg3LCA3MiwgNzksIDc2LCAxOTcsIDg3LCA3MiwgNzMsIDg0LCAKKyAgICA2OSwgNDUsIDcwLCA2OSwgNjUsIDg0LCA3MiwgNjksIDgyLCA2OSwgMTk2LCA4NywgNzIsIDczLCA4NCwgNjksIDEyOCwgODcsIAorICAgIDcyLCA2OSwgNjksIDc2LCA2OSwgMTk2LCA4NywgNzIsIDY5LCA2OSwgNzYsIDY3LCA3MiwgNjUsIDczLCAyMTAsIDg3LCA3MiwgCisgICAgNjksIDY5LCA3NiwgMTI4LCA4NywgNzIsIDY5LCA2OSwgMjA0LCA4NywgNzIsIDY5LCA2NSwgODQsIDEyOCwgODcsIDcyLCAKKyAgICA2NSwgNzYsIDY5LCAxMjgsIDg3LCA3MSwgMTI4LCA4NywgNjksIDg4LCAxMjgsIDg3LCA2OSwgODUsIDg4LCAxMjgsIDg3LCAKKyAgICA2OSwgODMsIDg0LCA2OSwgODIsIDIwNiwgODcsIDY5LCA4MywgODQsIDEyOCwgODcsIDY5LCA4MywgMjEyLCA4NywgNjksIAorICAgIDgwLCAxMjgsIDg3LCA2OSwgNzksIDEyOCwgODcsIDY5LCA3OCwgMTI4LCA4NywgNjksIDc2LCA3NiwgMTI4LCA4NywgNjksIAorICAgIDczLCA3MSwgNzIsIDIxMiwgODcsIDY5LCA3MywgNjksIDgyLCA4MywgODQsIDgyLCA2NSwgODMsIDIxMSwgODcsIDY5LCA2OSwgCisgICAgNzgsIDEyOCwgODcsIDY5LCA2OCwgNzEsIDY5LCA0NSwgODQsIDY1LCA3MywgNzYsIDY5LCAxOTYsIDg3LCA2OSwgNjgsIDY4LCAKKyAgICA3MywgNzgsIDcxLCAxMjgsIDg3LCA2OSwgNjUsIDgyLCAyMTcsIDg3LCA2OSwgNjUsIDgwLCA3OSwgNzgsIDEyOCwgODcsIAorICAgIDY3LCAxMjgsIDg3LCA2NiwgMTI4LCA4NywgNjUsIDg5LCAxMjgsIDg3LCA2NSwgMjE3LCA4NywgNjUsIDg4LCA3MywgNzgsIAorICAgIDE5OSwgODcsIDY1LCA4OCwgMTI4LCA4NywgNjUsIDg3LCA0NSwgNjUsIDg5LCA3MywgNzgsIDQ1LCA4MiwgNjksIDgzLCA3MiwgCisgICAgMTI4LCA4NywgNjUsIDg3LCAxMjgsIDg3LCA2NSwgMjE1LCA4NywgNjUsIDg2LCAyMTcsIDg3LCA2NSwgODYsIDczLCA3OCwgCisgICAgMTk5LCA4NywgNjUsIDg2LCA2OSwgODMsIDEyOCwgODcsIDY1LCA4NiwgNjksIDEyOCwgODcsIDY1LCA4NiwgMTk3LCA4NywgCisgICAgNjUsIDg1LCAxMjgsIDg3LCA2NSwgODQsIDg0LCA3OSwgMTI4LCA4NywgNjUsIDg0LCA2OSwgODIsIDc3LCA2OSwgNzYsIDc5LCAKKyAgICA3OCwgMTI4LCA4NywgNjUsIDg0LCA2OSwgODIsIDEyOCwgODcsIDY1LCA4NCwgNjksIDIxMCwgODcsIDY1LCA4NCwgNjcsIAorICAgIDcyLCAxMjgsIDg3LCA2NSwgODQsIDEyOCwgODcsIDY1LCA4MywgODQsIDczLCA3OCwgNzEsIDEyOCwgODcsIDY1LCA4MywgCisgICAgODMsIDY1LCA3NiwgNzYsIDY1LCA3NywgMTI4LCA4NywgNjUsIDgzLCA3NiwgNjUsIDEyOCwgODcsIDY1LCA4MywgNzYsIAorICAgIDE5MywgODcsIDY1LCA4MywgNjUsIDc2LCA3NiwgNjUsIDc3LCAxMjgsIDg3LCA2NSwgODMsIDY1LCA3NiwgNzYsIDY1LCAKKyAgICAyMDUsIDg3LCA2NSwgODIsIDc4LCA3MywgNzgsIDE5OSwgODcsIDY1LCA4MCwgMTI4LCA4NywgNjUsIDc4LCA3MywgNzgsIAorICAgIDE5OSwgODcsIDY1LCA3OCwgNzEsIDc1LCA4NSwgNzksIDgxLCAxMjgsIDg3LCA2NSwgNzgsIDY4LCA2OSwgODIsIDY5LCA4MiwgCisgICAgMTI4LCA4NywgNjUsIDc4LCAxMjgsIDg3LCA2NSwgNzYsIDc2LCAxMjgsIDg3LCA2NSwgNzYsIDc1LCAxMjgsIDg3LCA2NSwgCisgICAgNzYsIDIwMywgODcsIDY1LCA3MywgODQsIDczLCA3OCwgNzEsIDEyOCwgODcsIDY1LCA3MywgMTI4LCA4NywgNjUsIDY5LCAKKyAgICA3OCwgMTI4LCA4NywgNjUsIDY5LCAxMjgsIDg3LCA2NSwgNjUsIDg2LCA4NSwgMTI4LCA4NywgNDgsIDUwLCA1MywgMTI4LCAKKyAgICA4NywgNDgsIDUwLCA1MiwgNjUsIDEyOCwgODcsIDQ4LCA1MCwgNTIsIDEyOCwgODcsIDQ4LCA1MCwgNTEsIDEyOCwgODcsIAorICAgIDQ4LCA1MCwgNTAsIDEyOCwgODcsIDQ4LCA1MCwgNDksIDEyOCwgODcsIDQ4LCA1MCwgNDgsIDEyOCwgODcsIDQ4LCA0OSwgCisgICAgNTcsIDEyOCwgODcsIDQ4LCA0OSwgNTYsIDY1LCAxMjgsIDg3LCA0OCwgNDksIDU2LCAxMjgsIDg3LCA0OCwgNDksIDU1LCAKKyAgICA2NSwgMTI4LCA4NywgNDgsIDQ5LCA1NSwgMTI4LCA4NywgNDgsIDQ5LCA1NCwgMTI4LCA4NywgNDgsIDQ5LCA1MywgMTI4LCAKKyAgICA4NywgNDgsIDQ5LCA1MiwgNjUsIDEyOCwgODcsIDQ4LCA0OSwgNTIsIDEyOCwgODcsIDQ4LCA0OSwgNTEsIDEyOCwgODcsIAorICAgIDQ4LCA0OSwgNTAsIDEyOCwgODcsIDQ4LCA0OSwgNDksIDEyOCwgODcsIDQ4LCA0OSwgNDgsIDY1LCAxMjgsIDg3LCA0OCwgCisgICAgNDksIDQ4LCAxMjgsIDg3LCA0OCwgNDgsIDU3LCA2NSwgMTI4LCA4NywgNDgsIDQ4LCA1NywgMTI4LCA4NywgNDgsIDQ4LCAKKyAgICA1NiwgMTI4LCA4NywgNDgsIDQ4LCA1NSwgMTI4LCA4NywgNDgsIDQ4LCA1NCwgMTI4LCA4NywgNDgsIDQ4LCA1MywgMTI4LCAKKyAgICA4NywgNDgsIDQ4LCA1MiwgMTI4LCA4NywgNDgsIDQ4LCA1MSwgNjUsIDEyOCwgODcsIDQ4LCA0OCwgNTEsIDEyOCwgODcsIAorICAgIDQ4LCA0OCwgNTAsIDEyOCwgODcsIDQ4LCA0OCwgNDksIDEyOCwgODYsIDkwLCA3NywgNjksIDg0LCAxMjgsIDg2LCA4OSwgCisgICAgODgsIDEyOCwgODYsIDg5LCA4NCwgMTI4LCA4NiwgODksIDgyLCA4OCwgMTI4LCA4NiwgODksIDgyLCAxMjgsIDg2LCA4OSwgCisgICAgODAsIDEyOCwgODYsIDg5LCAxMjgsIDg2LCA4NywgNjUsIDEyOCwgODYsIDg1LCA4OCwgMTI4LCA4NiwgODUsIDg1LCAxMjgsIAorICAgIDg2LCA4NSwgODQsIDEyOCwgODYsIDg1LCA4MiwgODgsIDEyOCwgODYsIDg1LCA4MiwgMTI4LCA4NiwgODUsIDgwLCAxMjgsIAorICAgIDg2LCA4NSwgNzYsIDcxLCA2NSwgMjEwLCA4NiwgODUsIDY5LCA4MSwgMTI4LCA4NiwgODQsIDgzLCAxMjgsIDg2LCA4NCwgCisgICAgMTI4LCA4NiwgODMsIDU3LCA1NywgMTI4LCA4NiwgODMsIDU3LCA1NiwgMTI4LCA4NiwgODMsIDU3LCA1NSwgMTI4LCA4NiwgCisgICAgODMsIDU3LCA1NCwgMTI4LCA4NiwgODMsIDU3LCA1MywgMTI4LCA4NiwgODMsIDU3LCA1MiwgMTI4LCA4NiwgODMsIDU3LCAKKyAgICA1MSwgMTI4LCA4NiwgODMsIDU3LCA1MCwgMTI4LCA4NiwgODMsIDU3LCA0OSwgMTI4LCA4NiwgODMsIDU3LCA0OCwgMTI4LCAKKyAgICA4NiwgODMsIDU3LCAxMjgsIDg2LCA4MywgNTYsIDU3LCAxMjgsIDg2LCA4MywgNTYsIDU2LCAxMjgsIDg2LCA4MywgNTYsIAorICAgIDU1LCAxMjgsIDg2LCA4MywgNTYsIDU0LCAxMjgsIDg2LCA4MywgNTYsIDUzLCAxMjgsIDg2LCA4MywgNTYsIDUyLCAxMjgsIAorICAgIDg2LCA4MywgNTYsIDUxLCAxMjgsIDg2LCA4MywgNTYsIDUwLCAxMjgsIDg2LCA4MywgNTYsIDQ5LCAxMjgsIDg2LCA4MywgCisgICAgNTYsIDQ4LCAxMjgsIDg2LCA4MywgNTYsIDEyOCwgODYsIDgzLCA1NSwgNTcsIDEyOCwgODYsIDgzLCA1NSwgNTYsIDEyOCwgCisgICAgODYsIDgzLCA1NSwgNTUsIDEyOCwgODYsIDgzLCA1NSwgNTQsIDEyOCwgODYsIDgzLCA1NSwgNTMsIDEyOCwgODYsIDgzLCAKKyAgICA1NSwgNTIsIDEyOCwgODYsIDgzLCA1NSwgNTEsIDEyOCwgODYsIDgzLCA1NSwgNTAsIDEyOCwgODYsIDgzLCA1NSwgNDksIAorICAgIDEyOCwgODYsIDgzLCA1NSwgNDgsIDEyOCwgODYsIDgzLCA1NSwgMTI4LCA4NiwgODMsIDU0LCA1NywgMTI4LCA4NiwgODMsIAorICAgIDU0LCA1NiwgMTI4LCA4NiwgODMsIDU0LCA1NSwgMTI4LCA4NiwgODMsIDU0LCA1NCwgMTI4LCA4NiwgODMsIDU0LCA1MywgCisgICAgMTI4LCA4NiwgODMsIDU0LCA1MiwgMTI4LCA4NiwgODMsIDU0LCA1MSwgMTI4LCA4NiwgODMsIDU0LCA1MCwgMTI4LCA4NiwgCisgICAgODMsIDU0LCA0OSwgMTI4LCA4NiwgODMsIDU0LCA0OCwgMTI4LCA4NiwgODMsIDU0LCAxMjgsIDg2LCA4MywgNTMsIDU3LCAKKyAgICAxMjgsIDg2LCA4MywgNTMsIDU2LCAxMjgsIDg2LCA4MywgNTMsIDU1LCAxMjgsIDg2LCA4MywgNTMsIDU0LCAxMjgsIDg2LCAKKyAgICA4MywgNTMsIDUzLCAxMjgsIDg2LCA4MywgNTMsIDUyLCAxMjgsIDg2LCA4MywgNTMsIDUxLCAxMjgsIDg2LCA4MywgNTMsIAorICAgIDUwLCAxMjgsIDg2LCA4MywgNTMsIDQ5LCAxMjgsIDg2LCA4MywgNTMsIDQ4LCAxMjgsIDg2LCA4MywgNTMsIDEyOCwgODYsIAorICAgIDgzLCA1MiwgNTcsIDEyOCwgODYsIDgzLCA1MiwgNTYsIDEyOCwgODYsIDgzLCA1MiwgNTUsIDEyOCwgODYsIDgzLCA1MiwgCisgICAgNTQsIDEyOCwgODYsIDgzLCA1MiwgNTMsIDEyOCwgODYsIDgzLCA1MiwgNTIsIDEyOCwgODYsIDgzLCA1MiwgNTEsIDEyOCwgCisgICAgODYsIDgzLCA1MiwgNTAsIDEyOCwgODYsIDgzLCA1MiwgNDksIDEyOCwgODYsIDgzLCA1MiwgNDgsIDEyOCwgODYsIDgzLCAKKyAgICA1MiwgMTI4LCA4NiwgODMsIDUxLCA1NywgMTI4LCA4NiwgODMsIDUxLCA1NiwgMTI4LCA4NiwgODMsIDUxLCA1NSwgMTI4LCAKKyAgICA4NiwgODMsIDUxLCA1NCwgMTI4LCA4NiwgODMsIDUxLCA1MywgMTI4LCA4NiwgODMsIDUxLCA1MiwgMTI4LCA4NiwgODMsIAorICAgIDUxLCA1MSwgMTI4LCA4NiwgODMsIDUxLCA1MCwgMTI4LCA4NiwgODMsIDUxLCA0OSwgMTI4LCA4NiwgODMsIDUxLCA0OCwgCisgICAgMTI4LCA4NiwgODMsIDUxLCAxMjgsIDg2LCA4MywgNTAsIDU3LCAxMjgsIDg2LCA4MywgNTAsIDU2LCAxMjgsIDg2LCA4MywgCisgICAgNTAsIDU1LCAxMjgsIDg2LCA4MywgNTAsIDU0LCAxMjgsIDg2LCA4MywgNTAsIDUzLCA1NCwgMTI4LCA4NiwgODMsIDUwLCAKKyAgICA1MywgNTMsIDEyOCwgODYsIDgzLCA1MCwgNTMsIDUyLCAxMjgsIDg2LCA4MywgNTAsIDUzLCA1MSwgMTI4LCA4NiwgODMsIAorICAgIDUwLCA1MywgNTAsIDEyOCwgODYsIDgzLCA1MCwgNTMsIDQ5LCAxMjgsIDg2LCA4MywgNTAsIDUzLCA0OCwgMTI4LCA4NiwgCisgICAgODMsIDUwLCA1MywgMTI4LCA4NiwgODMsIDUwLCA1MiwgNTcsIDEyOCwgODYsIDgzLCA1MCwgNTIsIDU2LCAxMjgsIDg2LCAKKyAgICA4MywgNTAsIDUyLCA1NSwgMTI4LCA4NiwgODMsIDUwLCA1MiwgNTQsIDEyOCwgODYsIDgzLCA1MCwgNTIsIDUzLCAxMjgsIAorICAgIDg2LCA4MywgNTAsIDUyLCA1MiwgMTI4LCA4NiwgODMsIDUwLCA1MiwgNTEsIDEyOCwgODYsIDgzLCA1MCwgNTIsIDUwLCAKKyAgICAxMjgsIDg2LCA4MywgNTAsIDUyLCA0OSwgMTI4LCA4NiwgODMsIDUwLCA1MiwgNDgsIDEyOCwgODYsIDgzLCA1MCwgNTIsIAorICAgIDEyOCwgODYsIDgzLCA1MCwgNTEsIDU3LCAxMjgsIDg2LCA4MywgNTAsIDUxLCA1NiwgMTI4LCA4NiwgODMsIDUwLCA1MSwgCisgICAgNTUsIDEyOCwgODYsIDgzLCA1MCwgNTEsIDU0LCAxMjgsIDg2LCA4MywgNTAsIDUxLCA1MywgMTI4LCA4NiwgODMsIDUwLCAKKyAgICA1MSwgNTIsIDEyOCwgODYsIDgzLCA1MCwgNTEsIDUxLCAxMjgsIDg2LCA4MywgNTAsIDUxLCA1MCwgMTI4LCA4NiwgODMsIAorICAgIDUwLCA1MSwgNDksIDEyOCwgODYsIDgzLCA1MCwgNTEsIDQ4LCAxMjgsIDg2LCA4MywgNTAsIDUxLCAxMjgsIDg2LCA4MywgCisgICAgNTAsIDUwLCA1NywgMTI4LCA4NiwgODMsIDUwLCA1MCwgNTYsIDEyOCwgODYsIDgzLCA1MCwgNTAsIDU1LCAxMjgsIDg2LCAKKyAgICA4MywgNTAsIDUwLCA1NCwgMTI4LCA4NiwgODMsIDUwLCA1MCwgNTMsIDEyOCwgODYsIDgzLCA1MCwgNTAsIDUyLCAxMjgsIAorICAgIDg2LCA4MywgNTAsIDUwLCA1MSwgMTI4LCA4NiwgODMsIDUwLCA1MCwgNTAsIDEyOCwgODYsIDgzLCA1MCwgNTAsIDQ5LCAKKyAgICAxMjgsIDg2LCA4MywgNTAsIDUwLCA0OCwgMTI4LCA4NiwgODMsIDUwLCA1MCwgMTI4LCA4NiwgODMsIDUwLCA0OSwgNTcsIAorICAgIDEyOCwgODYsIDgzLCA1MCwgNDksIDU2LCAxMjgsIDg2LCA4MywgNTAsIDQ5LCA1NSwgMTI4LCA4NiwgODMsIDUwLCA0OSwgCisgICAgNTQsIDEyOCwgODYsIDgzLCA1MCwgNDksIDUzLCAxMjgsIDg2LCA4MywgNTAsIDQ5LCA1MiwgMTI4LCA4NiwgODMsIDUwLCAKKyAgICA0OSwgNTEsIDEyOCwgODYsIDgzLCA1MCwgNDksIDUwLCAxMjgsIDg2LCA4MywgNTAsIDQ5LCA0OSwgMTI4LCA4NiwgODMsIAorICAgIDUwLCA0OSwgNDgsIDEyOCwgODYsIDgzLCA1MCwgNDksIDEyOCwgODYsIDgzLCA1MCwgNDgsIDU3LCAxMjgsIDg2LCA4MywgCisgICAgNTAsIDQ4LCA1NiwgMTI4LCA4NiwgODMsIDUwLCA0OCwgNTUsIDEyOCwgODYsIDgzLCA1MCwgNDgsIDU0LCAxMjgsIDg2LCAKKyAgICA4MywgNTAsIDQ4LCA1MywgMTI4LCA4NiwgODMsIDUwLCA0OCwgNTIsIDEyOCwgODYsIDgzLCA1MCwgNDgsIDUxLCAxMjgsIAorICAgIDg2LCA4MywgNTAsIDQ4LCA1MCwgMTI4LCA4NiwgODMsIDUwLCA0OCwgNDksIDEyOCwgODYsIDgzLCA1MCwgNDgsIDQ4LCAKKyAgICAxMjgsIDg2LCA4MywgNTAsIDQ4LCAxMjgsIDg2LCA4MywgNTAsIDEyOCwgODYsIDgzLCA0OSwgNTcsIDU3LCAxMjgsIDg2LCAKKyAgICA4MywgNDksIDU3LCA1NiwgMTI4LCA4NiwgODMsIDQ5LCA1NywgNTUsIDEyOCwgODYsIDgzLCA0OSwgNTcsIDU0LCAxMjgsIAorICAgIDg2LCA4MywgNDksIDU3LCA1MywgMTI4LCA4NiwgODMsIDQ5LCA1NywgNTIsIDEyOCwgODYsIDgzLCA0OSwgNTcsIDUxLCAKKyAgICAxMjgsIDg2LCA4MywgNDksIDU3LCA1MCwgMTI4LCA4NiwgODMsIDQ5LCA1NywgNDksIDEyOCwgODYsIDgzLCA0OSwgNTcsIAorICAgIDQ4LCAxMjgsIDg2LCA4MywgNDksIDU3LCAxMjgsIDg2LCA4MywgNDksIDU2LCA1NywgMTI4LCA4NiwgODMsIDQ5LCA1NiwgCisgICAgNTYsIDEyOCwgODYsIDgzLCA0OSwgNTYsIDU1LCAxMjgsIDg2LCA4MywgNDksIDU2LCA1NCwgMTI4LCA4NiwgODMsIDQ5LCAKKyAgICA1NiwgNTMsIDEyOCwgODYsIDgzLCA0OSwgNTYsIDUyLCAxMjgsIDg2LCA4MywgNDksIDU2LCA1MSwgMTI4LCA4NiwgODMsIAorICAgIDQ5LCA1NiwgNTAsIDEyOCwgODYsIDgzLCA0OSwgNTYsIDQ5LCAxMjgsIDg2LCA4MywgNDksIDU2LCA0OCwgMTI4LCA4NiwgCisgICAgODMsIDQ5LCA1NiwgMTI4LCA4NiwgODMsIDQ5LCA1NSwgNTcsIDEyOCwgODYsIDgzLCA0OSwgNTUsIDU2LCAxMjgsIDg2LCAKKyAgICA4MywgNDksIDU1LCA1NSwgMTI4LCA4NiwgODMsIDQ5LCA1NSwgNTQsIDEyOCwgODYsIDgzLCA0OSwgNTUsIDUzLCAxMjgsIAorICAgIDg2LCA4MywgNDksIDU1LCA1MiwgMTI4LCA4NiwgODMsIDQ5LCA1NSwgNTEsIDEyOCwgODYsIDgzLCA0OSwgNTUsIDUwLCAKKyAgICAxMjgsIDg2LCA4MywgNDksIDU1LCA0OSwgMTI4LCA4NiwgODMsIDQ5LCA1NSwgNDgsIDEyOCwgODYsIDgzLCA0OSwgNTUsIAorICAgIDEyOCwgODYsIDgzLCA0OSwgNTQsIDU3LCAxMjgsIDg2LCA4MywgNDksIDU0LCA1NiwgMTI4LCA4NiwgODMsIDQ5LCA1NCwgCisgICAgNTUsIDEyOCwgODYsIDgzLCA0OSwgNTQsIDU0LCAxMjgsIDg2LCA4MywgNDksIDU0LCA1MywgMTI4LCA4NiwgODMsIDQ5LCAKKyAgICA1NCwgNTIsIDEyOCwgODYsIDgzLCA0OSwgNTQsIDUxLCAxMjgsIDg2LCA4MywgNDksIDU0LCA1MCwgMTI4LCA4NiwgODMsIAorICAgIDQ5LCA1NCwgNDksIDEyOCwgODYsIDgzLCA0OSwgNTQsIDQ4LCAxMjgsIDg2LCA4MywgNDksIDU0LCAxMjgsIDg2LCA4MywgCisgICAgNDksIDUzLCA1NywgMTI4LCA4NiwgODMsIDQ5LCA1MywgNTYsIDEyOCwgODYsIDgzLCA0OSwgNTMsIDU1LCAxMjgsIDg2LCAKKyAgICA4MywgNDksIDUzLCA1NCwgMTI4LCA4NiwgODMsIDQ5LCA1MywgNTMsIDEyOCwgODYsIDgzLCA0OSwgNTMsIDUyLCAxMjgsIAorICAgIDg2LCA4MywgNDksIDUzLCA1MSwgMTI4LCA4NiwgODMsIDQ5LCA1MywgNTAsIDEyOCwgODYsIDgzLCA0OSwgNTMsIDQ5LCAKKyAgICAxMjgsIDg2LCA4MywgNDksIDUzLCA0OCwgMTI4LCA4NiwgODMsIDQ5LCA1MywgMTI4LCA4NiwgODMsIDQ5LCA1MiwgNTcsIAorICAgIDEyOCwgODYsIDgzLCA0OSwgNTIsIDU2LCAxMjgsIDg2LCA4MywgNDksIDUyLCA1NSwgMTI4LCA4NiwgODMsIDQ5LCA1MiwgCisgICAgNTQsIDEyOCwgODYsIDgzLCA0OSwgNTIsIDUzLCAxMjgsIDg2LCA4MywgNDksIDUyLCA1MiwgMTI4LCA4NiwgODMsIDQ5LCAKKyAgICA1MiwgNTEsIDEyOCwgODYsIDgzLCA0OSwgNTIsIDUwLCAxMjgsIDg2LCA4MywgNDksIDUyLCA0OSwgMTI4LCA4NiwgODMsIAorICAgIDQ5LCA1MiwgNDgsIDEyOCwgODYsIDgzLCA0OSwgNTIsIDEyOCwgODYsIDgzLCA0OSwgNTEsIDU3LCAxMjgsIDg2LCA4MywgCisgICAgNDksIDUxLCA1NiwgMTI4LCA4NiwgODMsIDQ5LCA1MSwgNTUsIDEyOCwgODYsIDgzLCA0OSwgNTEsIDU0LCAxMjgsIDg2LCAKKyAgICA4MywgNDksIDUxLCA1MywgMTI4LCA4NiwgODMsIDQ5LCA1MSwgNTIsIDEyOCwgODYsIDgzLCA0OSwgNTEsIDUxLCAxMjgsIAorICAgIDg2LCA4MywgNDksIDUxLCA1MCwgMTI4LCA4NiwgODMsIDQ5LCA1MSwgNDksIDEyOCwgODYsIDgzLCA0OSwgNTEsIDQ4LCAKKyAgICAxMjgsIDg2LCA4MywgNDksIDUxLCAxMjgsIDg2LCA4MywgNDksIDUwLCA1NywgMTI4LCA4NiwgODMsIDQ5LCA1MCwgNTYsIAorICAgIDEyOCwgODYsIDgzLCA0OSwgNTAsIDU1LCAxMjgsIDg2LCA4MywgNDksIDUwLCA1NCwgMTI4LCA4NiwgODMsIDQ5LCA1MCwgCisgICAgNTMsIDEyOCwgODYsIDgzLCA0OSwgNTAsIDUyLCAxMjgsIDg2LCA4MywgNDksIDUwLCA1MSwgMTI4LCA4NiwgODMsIDQ5LCAKKyAgICA1MCwgNTAsIDEyOCwgODYsIDgzLCA0OSwgNTAsIDQ5LCAxMjgsIDg2LCA4MywgNDksIDUwLCA0OCwgMTI4LCA4NiwgODMsIAorICAgIDQ5LCA1MCwgMTI4LCA4NiwgODMsIDQ5LCA0OSwgNTcsIDEyOCwgODYsIDgzLCA0OSwgNDksIDU2LCAxMjgsIDg2LCA4MywgCisgICAgNDksIDQ5LCA1NSwgMTI4LCA4NiwgODMsIDQ5LCA0OSwgNTQsIDEyOCwgODYsIDgzLCA0OSwgNDksIDUzLCAxMjgsIDg2LCAKKyAgICA4MywgNDksIDQ5LCA1MiwgMTI4LCA4NiwgODMsIDQ5LCA0OSwgNTEsIDEyOCwgODYsIDgzLCA0OSwgNDksIDUwLCAxMjgsIAorICAgIDg2LCA4MywgNDksIDQ5LCA0OSwgMTI4LCA4NiwgODMsIDQ5LCA0OSwgNDgsIDEyOCwgODYsIDgzLCA0OSwgNDksIDEyOCwgCisgICAgODYsIDgzLCA0OSwgNDgsIDU3LCAxMjgsIDg2LCA4MywgNDksIDQ4LCA1NiwgMTI4LCA4NiwgODMsIDQ5LCA0OCwgNTUsIAorICAgIDEyOCwgODYsIDgzLCA0OSwgNDgsIDU0LCAxMjgsIDg2LCA4MywgNDksIDQ4LCA1MywgMTI4LCA4NiwgODMsIDQ5LCA0OCwgCisgICAgNTIsIDEyOCwgODYsIDgzLCA0OSwgNDgsIDUxLCAxMjgsIDg2LCA4MywgNDksIDQ4LCA1MCwgMTI4LCA4NiwgODMsIDQ5LCAKKyAgICA0OCwgNDksIDEyOCwgODYsIDgzLCA0OSwgNDgsIDQ4LCAxMjgsIDg2LCA4MywgNDksIDQ4LCAxMjgsIDg2LCA4MywgNDksIAorICAgIDEyOCwgODYsIDgzLCAxMjgsIDg2LCA4MiwgNjUsIDY3LCA3MiwgODksIDEyOCwgODYsIDc5LCA4OCwgMTI4LCA4NiwgNzksIAorICAgIDg3LCA2OSwgNzYsIDQ1LCA2NywgNjUsIDgyLCA4MiwgNzMsIDY5LCAyMTAsIDg2LCA3OSwgODcsIDEyOCwgODYsIDc5LCA4NSwgCisgICAgMTI4LCA4NiwgNzksIDg0LCAxMjgsIDg2LCA3OSwgODAsIDEyOCwgODYsIDc5LCA3OSwgMTI4LCA4NiwgNzksIDc3LCAxMjgsIAorICAgIDg2LCA3OSwgNzYsIDg1LCA3NywgMTk3LCA4NiwgNzksIDc2LCA4NCwgNjUsIDcxLCAxOTcsIDg2LCA3OSwgNzYsIDY3LCA2NSwgCisgICAgNzgsIDc5LCAxMjgsIDg2LCA3OSwgNzMsIDE5NiwgODYsIDc5LCA3MywgNjcsIDczLCA3OCwgNzEsIDEyOCwgODYsIDc5LCAKKyAgICA3MywgNjcsIDY5LCA3NiwgNjksIDgzLCAyMTEsIDg2LCA3OSwgNzMsIDY3LCA2OSwgMTk2LCA4NiwgNzksIDY3LCA2NSwgNzYsIAorICAgIDczLCA5MCwgNjUsIDg0LCA3MywgNzksIDIwNiwgODYsIDc5LCA2NywgNjUsIDIwNCwgODYsIDc5LCAxMjgsIDg2LCA3MywgCisgICAgODgsIDEyOCwgODYsIDczLCA4NCwgODIsIDczLCA3OSwgNzYsIDQ1LCA1MCwgMTI4LCA4NiwgNzMsIDg0LCA4MiwgNzMsIDc5LCAKKyAgICA3NiwgMTI4LCA4NiwgNzMsIDg0LCA2NSwgNjksIDQ1LCA1MCwgMTI4LCA4NiwgNzMsIDg0LCA2NSwgNjksIDEyOCwgODYsIAorICAgIDczLCA4NCwgMTI4LCA4NiwgNzMsIDgzLCA3MywgNzEsIDc5LCA4NCwgNzIsIDczLCAxOTUsIDg2LCA3MywgODMsIDY1LCA4MiwgCisgICAgNzEsIDY1LCA4OSwgNjUsIDEyOCwgODYsIDczLCA4MywgNjUsIDgyLCA3MSwgNjUsIDEyOCwgODYsIDczLCA4MywgNjUsIDgyLCAKKyAgICA3MSwgMTkzLCA4NiwgNzMsIDgyLCA3MywgNjUsIDc3LCAxMjgsIDg2LCA3MywgODIsIDcxLCA3OSwgMTI4LCA4NiwgNzMsIAorICAgIDgyLCA3MSwgNjUsIDEyOCwgODYsIDczLCA4MiwgNjUsIDc3LCA2NSwgMTI4LCA4NiwgNzMsIDgwLCAxMjgsIDg2LCA3MywgCisgICAgNzksIDc2LCA3MywgNzgsIDEyOCwgODYsIDczLCA3OCwgNjksIDcxLCA2NSwgODIsIDQ1LCA1MSwgMTI4LCA4NiwgNzMsIDc4LCAKKyAgICA2OSwgNzEsIDY1LCA4MiwgNDUsIDUwLCAxMjgsIDg2LCA3MywgNzgsIDY5LCA3MSwgNjUsIDgyLCAxMjgsIDg2LCA3MywgNzgsIAorICAgIDY5LCA3MSwgNjUsIDIxMCwgODYsIDczLCA3OCwgNjksIDEyOCwgODYsIDczLCA3OCwgMTI4LCA4NiwgNzMsIDc2LCA3NiwgCisgICAgNjUsIDcxLCA2OSwgMTI4LCA4NiwgNzMsIDczLCAxMjgsIDg2LCA3MywgNjksIDg4LCAxMjgsIDg2LCA3MywgNjksIDg3LCAKKyAgICA3MywgNzgsIDE5OSwgODYsIDczLCA2OSwgODcsIDY4LCA2NSwgODQsIDE5MywgODYsIDczLCA2OSwgODQsIDEyOCwgODYsIAorICAgIDczLCA2OSwgODAsIDEyOCwgODYsIDczLCA2OSwgMTI4LCA4NiwgNzMsIDY4LCA3NCwgNDUsIDUwLCAxMjgsIDg2LCA3MywgCisgICAgNjgsIDc0LCAxMjgsIDg2LCA3MywgNjgsIDY5LCA3OSwgNjcsIDY1LCA4MywgODMsIDY5LCA4NCwgODQsIDY5LCAxMjgsIDg2LCAKICAgICA3MywgNjgsIDY5LCAyMDcsIDg2LCA3MywgNjgsIDY1LCAxMjgsIDg2LCA3MywgNjcsIDg0LCA3OSwgODIsIDIxNywgODYsIAotICAgIDczLCA2NiwgODIsIDY1LCA4NCwgNzMsIDc5LCAyMDYsIDg2LCA3MywgMTI4LCA4NiwgNjksIDg4LCAxMjgsIDg2LCA2OSwgCi0gICAgODcsIDEyOCwgODYsIDY5LCAyMTUsIDg2LCA2OSwgODUsIDg4LCAxMjgsIDg2LCA2OSwgODUsIDc3LCAxMjgsIDg2LCA2OSwgCi0gICAgODUsIDY1LCA2OSwgODAsIDY5LCA3OCwgMTI4LCA4NiwgNjksIDg1LCA2NSwgNjksIDEyOCwgODYsIDY5LCA4MywgODQsIDY1LCAKLSAgICAxMjgsIDg2LCA2OSwgODMsIDgzLCA2OSwgMjA0LCA4NiwgNjksIDgyLCAyMTcsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIAotICAgIDY1LCA3NiwgNzYsIDg5LCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNzYsIDIxNywgODYsIDY5LCA4MiwgCi0gICAgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDU0LCA0NSwgNDgsIDU0LCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIAotICAgIDY1LCA3NiwgNDUsIDQ4LCA1NCwgNDUsIDQ4LCA1MywgMTI4LCA4NiwgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCAKLSAgICA0OCwgNTQsIDQ1LCA0OCwgNTIsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDU0LCA0NSwgCi0gICAgNDgsIDUxLCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIDQ4LCA1NCwgNDUsIDQ4LCA1MCwgMTI4LCAKLSAgICA4NiwgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNTQsIDQ1LCA0OCwgNDksIDEyOCwgODYsIDY5LCA4MiwgCi0gICAgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDU0LCA0NSwgNDgsIDQ4LCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIAotICAgIDY1LCA3NiwgNDUsIDQ4LCA1MywgNDUsIDQ4LCA1NCwgMTI4LCA4NiwgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCAKLSAgICA0OCwgNTMsIDQ1LCA0OCwgNTMsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDUzLCA0NSwgCi0gICAgNDgsIDUyLCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIDQ4LCA1MywgNDUsIDQ4LCA1MSwgMTI4LCAKLSAgICA4NiwgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNTMsIDQ1LCA0OCwgNTAsIDEyOCwgODYsIDY5LCA4MiwgCi0gICAgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDUzLCA0NSwgNDgsIDQ5LCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIAotICAgIDY1LCA3NiwgNDUsIDQ4LCA1MywgNDUsIDQ4LCA0OCwgMTI4LCA4NiwgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCAKLSAgICA0OCwgNTIsIDQ1LCA0OCwgNTQsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDUyLCA0NSwgCi0gICAgNDgsIDUzLCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIDQ4LCA1MiwgNDUsIDQ4LCA1MiwgMTI4LCAKLSAgICA4NiwgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNTIsIDQ1LCA0OCwgNTEsIDEyOCwgODYsIDY5LCA4MiwgCi0gICAgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDUyLCA0NSwgNDgsIDUwLCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIAotICAgIDY1LCA3NiwgNDUsIDQ4LCA1MiwgNDUsIDQ4LCA0OSwgMTI4LCA4NiwgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCAKLSAgICA0OCwgNTIsIDQ1LCA0OCwgNDgsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDUxLCA0NSwgCi0gICAgNDgsIDU0LCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIDQ4LCA1MSwgNDUsIDQ4LCA1MywgMTI4LCAKLSAgICA4NiwgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNTEsIDQ1LCA0OCwgNTIsIDEyOCwgODYsIDY5LCA4MiwgCi0gICAgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDUxLCA0NSwgNDgsIDUxLCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIAotICAgIDY1LCA3NiwgNDUsIDQ4LCA1MSwgNDUsIDQ4LCA1MCwgMTI4LCA4NiwgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCAKLSAgICA0OCwgNTEsIDQ1LCA0OCwgNDksIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDUxLCA0NSwgCi0gICAgNDgsIDQ4LCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIDQ4LCA1MCwgNDUsIDQ4LCA1NCwgMTI4LCAKLSAgICA4NiwgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNTAsIDQ1LCA0OCwgNTMsIDEyOCwgODYsIDY5LCA4MiwgCi0gICAgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDUwLCA0NSwgNDgsIDUyLCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIAotICAgIDY1LCA3NiwgNDUsIDQ4LCA1MCwgNDUsIDQ4LCA1MSwgMTI4LCA4NiwgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCAKLSAgICA0OCwgNTAsIDQ1LCA0OCwgNTAsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDUwLCA0NSwgCi0gICAgNDgsIDQ5LCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIDQ4LCA1MCwgNDUsIDQ4LCA0OCwgMTI4LCAKLSAgICA4NiwgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNDksIDQ1LCA0OCwgNTQsIDEyOCwgODYsIDY5LCA4MiwgCi0gICAgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDQ5LCA0NSwgNDgsIDUzLCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIAotICAgIDY1LCA3NiwgNDUsIDQ4LCA0OSwgNDUsIDQ4LCA1MiwgMTI4LCA4NiwgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCAKLSAgICA0OCwgNDksIDQ1LCA0OCwgNTEsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDQ5LCA0NSwgCi0gICAgNDgsIDUwLCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIDQ4LCA0OSwgNDUsIDQ4LCA0OSwgMTI4LCAKLSAgICA4NiwgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNDksIDQ1LCA0OCwgNDgsIDEyOCwgODYsIDY5LCA4MiwgCi0gICAgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDQ4LCA0NSwgNDgsIDU0LCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIAotICAgIDY1LCA3NiwgNDUsIDQ4LCA0OCwgNDUsIDQ4LCA1MywgMTI4LCA4NiwgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCAKLSAgICA0OCwgNDgsIDQ1LCA0OCwgNTIsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDQ4LCA0NSwgCi0gICAgNDgsIDUxLCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIDQ4LCA0OCwgNDUsIDQ4LCA1MCwgMTI4LCAKLSAgICA4NiwgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNDgsIDQ1LCA0OCwgNDksIDEyOCwgODYsIDY5LCA4MiwgCi0gICAgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDQ4LCA0NSwgNDgsIDQ4LCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIAotICAgIDY1LCA3NiwgMTI4LCA4NiwgNjksIDgyLCA4MywgNzMsIDY3LCA3NiwgNjksIDEyOCwgODYsIDY5LCA4MiwgODMsIDE5NywgCi0gICAgODYsIDY5LCA4MiwgNzEsIDY5LCAxMjgsIDg2LCA2OSwgODIsIDY4LCA3MywgNzEsIDgyLCA3MywgODMsIDEyOCwgODYsIDY5LCAKLSAgICA4MCwgMTI4LCA4NiwgNjksIDc4LCA2OCwgMTI4LCA4NiwgNjksIDczLCA3NiwgMTI4LCA4NiwgNjksIDcyLCA3MywgNjcsIAotICAgIDc2LCA2OSwgMTI4LCA4NiwgNjksIDcyLCAxMjgsIDg2LCA2OSwgMjAwLCA4NiwgNjksIDY5LCAxMjgsIDg2LCA2OSwgMTk3LCAKLSAgICA4NiwgNjksIDY4LCA2OSwgMTI4LCA4NiwgNjksIDY3LCA4NCwgNzksIDIxMCwgODYsIDY1LCA4OSwgNjUsIDc4LCA3OCwgNjUsIAotICAgIDEyOCwgODYsIDY1LCA4OCwgMTI4LCA4NiwgNjUsIDg2LCAxMjgsIDg2LCA2NSwgMjE0LCA4NiwgNjUsIDg0LCA3MiwgODksIAotICAgIDEyOCwgODYsIDY1LCA4NCwgMTI4LCA4NiwgNjUsIDgzLCA4NCwgNzgsIDY5LCA4MywgMjExLCA4NiwgNjUsIDgzLCA3MywgCi0gICAgODMsIDEyOCwgODYsIDY1LCA4MiwgODksIDIxMSwgODYsIDY1LCA4MiwgNzMsIDc1LCA2NSwgMTI4LCA4NiwgNjUsIDgyLCAKLSAgICA3MywgNjUsIDc4LCAyMTIsIDg2LCA2NSwgODIsIDczLCA2NSwgMTI4LCA4NiwgNjUsIDgyLCA3MywgMTkzLCA4NiwgNjUsIAotICAgIDgyLCA2OSwgNzMsIDY1LCAyMDEsIDg2LCA2NSwgODIsIDY5LCA3MywgMTkzLCA4NiwgNjUsIDgwLCA3OSwgODUsIDgyLCA4MywgCi0gICAgMTI4LCA4NiwgNjUsIDgwLCAxMjgsIDg2LCA2NSwgNzgsIDY5LCAxMjgsIDg2LCA2NSwgNzcsIDY1LCA3MSwgNzksIDc3LCAKLSAgICA4NSwgNzUsIDcyLCA2NSwgMTI4LCA4NiwgNjUsIDc3LCA2NSwgNzEsIDc5LCA3NywgODUsIDc1LCA3MiwgMTkzLCA4NiwgNjUsIAotICAgIDc2LCA3NiwgNjksIDg5LCAxMjgsIDg2LCA2NSwgNjUsIDg2LCA4NSwgMTI4LCA4NiwgNjUsIDY1LCAxMjgsIDg2LCA0OCwgCisgICAgNzMsIDY2LCA4MiwgNjUsIDg0LCA3MywgNzksIDIwNiwgODYsIDczLCAxMjgsIDg2LCA3MCwgNjUsIDEyOCwgODYsIDY5LCAKKyAgICA4OCwgMTI4LCA4NiwgNjksIDg3LCAxMjgsIDg2LCA2OSwgMjE1LCA4NiwgNjksIDg1LCA4OCwgMTI4LCA4NiwgNjksIDg1LCAKKyAgICA3NywgMTI4LCA4NiwgNjksIDg1LCA2NSwgNjksIDgwLCA2OSwgNzgsIDEyOCwgODYsIDY5LCA4NSwgNjUsIDY5LCAxMjgsIAorICAgIDg2LCA2OSwgODMsIDg0LCA2NSwgMTI4LCA4NiwgNjksIDgzLCA4MywgNjksIDIwNCwgODYsIDY5LCA4MiwgMjE3LCA4NiwgCisgICAgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDc2LCA4OSwgMTI4LCA4NiwgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIAorICAgIDc2LCAyMTcsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIDQ4LCA1NCwgNDUsIDQ4LCA1NCwgMTI4LCA4NiwgCisgICAgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNTQsIDQ1LCA0OCwgNTMsIDEyOCwgODYsIDY5LCA4MiwgODQsIAorICAgIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDU0LCA0NSwgNDgsIDUyLCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCAKKyAgICA3NiwgNDUsIDQ4LCA1NCwgNDUsIDQ4LCA1MSwgMTI4LCA4NiwgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgCisgICAgNTQsIDQ1LCA0OCwgNTAsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDU0LCA0NSwgNDgsIAorICAgIDQ5LCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIDQ4LCA1NCwgNDUsIDQ4LCA0OCwgMTI4LCA4NiwgCisgICAgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNTMsIDQ1LCA0OCwgNTQsIDEyOCwgODYsIDY5LCA4MiwgODQsIAorICAgIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDUzLCA0NSwgNDgsIDUzLCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCAKKyAgICA3NiwgNDUsIDQ4LCA1MywgNDUsIDQ4LCA1MiwgMTI4LCA4NiwgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgCisgICAgNTMsIDQ1LCA0OCwgNTEsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDUzLCA0NSwgNDgsIAorICAgIDUwLCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIDQ4LCA1MywgNDUsIDQ4LCA0OSwgMTI4LCA4NiwgCisgICAgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNTMsIDQ1LCA0OCwgNDgsIDEyOCwgODYsIDY5LCA4MiwgODQsIAorICAgIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDUyLCA0NSwgNDgsIDU0LCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCAKKyAgICA3NiwgNDUsIDQ4LCA1MiwgNDUsIDQ4LCA1MywgMTI4LCA4NiwgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgCisgICAgNTIsIDQ1LCA0OCwgNTIsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDUyLCA0NSwgNDgsIAorICAgIDUxLCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIDQ4LCA1MiwgNDUsIDQ4LCA1MCwgMTI4LCA4NiwgCisgICAgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNTIsIDQ1LCA0OCwgNDksIDEyOCwgODYsIDY5LCA4MiwgODQsIAorICAgIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDUyLCA0NSwgNDgsIDQ4LCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCAKKyAgICA3NiwgNDUsIDQ4LCA1MSwgNDUsIDQ4LCA1NCwgMTI4LCA4NiwgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgCisgICAgNTEsIDQ1LCA0OCwgNTMsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDUxLCA0NSwgNDgsIAorICAgIDUyLCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIDQ4LCA1MSwgNDUsIDQ4LCA1MSwgMTI4LCA4NiwgCisgICAgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNTEsIDQ1LCA0OCwgNTAsIDEyOCwgODYsIDY5LCA4MiwgODQsIAorICAgIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDUxLCA0NSwgNDgsIDQ5LCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCAKKyAgICA3NiwgNDUsIDQ4LCA1MSwgNDUsIDQ4LCA0OCwgMTI4LCA4NiwgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgCisgICAgNTAsIDQ1LCA0OCwgNTQsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDUwLCA0NSwgNDgsIAorICAgIDUzLCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIDQ4LCA1MCwgNDUsIDQ4LCA1MiwgMTI4LCA4NiwgCisgICAgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNTAsIDQ1LCA0OCwgNTEsIDEyOCwgODYsIDY5LCA4MiwgODQsIAorICAgIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDUwLCA0NSwgNDgsIDUwLCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCAKKyAgICA3NiwgNDUsIDQ4LCA1MCwgNDUsIDQ4LCA0OSwgMTI4LCA4NiwgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgCisgICAgNTAsIDQ1LCA0OCwgNDgsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDQ5LCA0NSwgNDgsIAorICAgIDU0LCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIDQ4LCA0OSwgNDUsIDQ4LCA1MywgMTI4LCA4NiwgCisgICAgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNDksIDQ1LCA0OCwgNTIsIDEyOCwgODYsIDY5LCA4MiwgODQsIAorICAgIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDQ5LCA0NSwgNDgsIDUxLCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCAKKyAgICA3NiwgNDUsIDQ4LCA0OSwgNDUsIDQ4LCA1MCwgMTI4LCA4NiwgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgCisgICAgNDksIDQ1LCA0OCwgNDksIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDQ5LCA0NSwgNDgsIAorICAgIDQ4LCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIDQ4LCA0OCwgNDUsIDQ4LCA1NCwgMTI4LCA4NiwgCisgICAgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgNDgsIDQ1LCA0OCwgNTMsIDEyOCwgODYsIDY5LCA4MiwgODQsIAorICAgIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDQ4LCA0NSwgNDgsIDUyLCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCAKKyAgICA3NiwgNDUsIDQ4LCA0OCwgNDUsIDQ4LCA1MSwgMTI4LCA4NiwgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDQ1LCA0OCwgCisgICAgNDgsIDQ1LCA0OCwgNTAsIDEyOCwgODYsIDY5LCA4MiwgODQsIDczLCA2NywgNjUsIDc2LCA0NSwgNDgsIDQ4LCA0NSwgNDgsIAorICAgIDQ5LCAxMjgsIDg2LCA2OSwgODIsIDg0LCA3MywgNjcsIDY1LCA3NiwgNDUsIDQ4LCA0OCwgNDUsIDQ4LCA0OCwgMTI4LCA4NiwgCisgICAgNjksIDgyLCA4NCwgNzMsIDY3LCA2NSwgNzYsIDEyOCwgODYsIDY5LCA4MiwgODMsIDczLCA2NywgNzYsIDY5LCAxMjgsIDg2LCAKKyAgICA2OSwgODIsIDgzLCAxOTcsIDg2LCA2OSwgODIsIDcxLCA2OSwgMTI4LCA4NiwgNjksIDgyLCA2OCwgNzMsIDcxLCA4MiwgNzMsIAorICAgIDgzLCAxMjgsIDg2LCA2OSwgODAsIDEyOCwgODYsIDY5LCA3OCwgNjgsIDEyOCwgODYsIDY5LCA3MywgNzYsIDEyOCwgODYsIAorICAgIDY5LCA3MiwgNzMsIDY3LCA3NiwgNjksIDEyOCwgODYsIDY5LCA3MiwgMTI4LCA4NiwgNjksIDIwMCwgODYsIDY5LCA2OSwgCisgICAgMTI4LCA4NiwgNjksIDE5NywgODYsIDY5LCA2OCwgNjksIDEyOCwgODYsIDY5LCA2NywgODQsIDc5LCAyMTAsIDg2LCA2NSwgCisgICAgODksIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDg2LCA2NSwgODgsIDEyOCwgODYsIDY1LCA4NiwgMTI4LCA4NiwgNjUsIDIxNCwgCisgICAgODYsIDY1LCA4NSwgMTI4LCA4NiwgNjUsIDg0LCA3MiwgODksIDEyOCwgODYsIDY1LCA4NCwgMTI4LCA4NiwgNjUsIDgzLCAKKyAgICA4NCwgNzgsIDY5LCA4MywgMjExLCA4NiwgNjUsIDgzLCA3MywgODMsIDEyOCwgODYsIDY1LCA4MiwgODksIDIxMSwgODYsIAorICAgIDY1LCA4MiwgNzMsIDc1LCA2NSwgMTI4LCA4NiwgNjUsIDgyLCA3MywgNjUsIDc4LCAyMTIsIDg2LCA2NSwgODIsIDczLCA2NSwgCisgICAgMTI4LCA4NiwgNjUsIDgyLCA3MywgMTkzLCA4NiwgNjUsIDgyLCA2OSwgNzMsIDY1LCAyMDEsIDg2LCA2NSwgODIsIDY5LCAKKyAgICA3MywgMTkzLCA4NiwgNjUsIDgwLCA3OSwgODUsIDgyLCA4MywgMTI4LCA4NiwgNjUsIDgwLCAxMjgsIDg2LCA2NSwgNzgsIAorICAgIDY5LCAxMjgsIDg2LCA2NSwgNzcsIDY1LCA3MSwgNzksIDc3LCA4NSwgNzUsIDcyLCA2NSwgMTI4LCA4NiwgNjUsIDc3LCA2NSwgCisgICAgNzEsIDc5LCA3NywgODUsIDc1LCA3MiwgMTkzLCA4NiwgNjUsIDc2LCA3NiwgNjksIDg5LCAxMjgsIDg2LCA2NSwgNzMsIAorICAgIDEyOCwgODYsIDY1LCA3MiwgMTI4LCA4NiwgNjUsIDY1LCA4NiwgODUsIDEyOCwgODYsIDY1LCA2NSwgMTI4LCA4NiwgNDgsIAogICAgIDUyLCA0OCwgNjUsIDEyOCwgODYsIDQ4LCA1MiwgNDgsIDEyOCwgODYsIDQ4LCA1MSwgNTcsIDEyOCwgODYsIDQ4LCA1MSwgCiAgICAgNTYsIDEyOCwgODYsIDQ4LCA1MSwgNTUsIDY1LCAxMjgsIDg2LCA0OCwgNTEsIDU1LCAxMjgsIDg2LCA0OCwgNTEsIDU0LCAKICAgICAxMjgsIDg2LCA0OCwgNTEsIDUzLCAxMjgsIDg2LCA0OCwgNTEsIDUyLCAxMjgsIDg2LCA0OCwgNTEsIDUxLCA2NSwgMTI4LCAKQEAgLTM2NSwxNSArNDU2LDE2IEBACiAgICAgODUsIDg1LCA4NSwgNTAsIDEyOCwgODUsIDg1LCA2OSwgMTI4LCA4NSwgODQsIDg1LCA3NSwgNzMsIDEyOCwgODUsIDgzLCAKICAgICA4MywgODUsIDUxLCAxMjgsIDg1LCA4MywgODMsIDg1LCAxMjgsIDg1LCA4MywgNzIsIDg4LCAxMjgsIDg1LCA4MywgNzIsIAogICAgIDg1LCA3NywgODgsIDEyOCwgODUsIDgzLCA3MiwgNjksIDc4LCA3OCwgNjUsIDEyOCwgODUsIDgzLCA3MiwgNTAsIDEyOCwgCi0gICAgODUsIDgzLCA3MiwgMTI4LCA4NSwgODMsIDIwMCwgODUsIDgzLCA2OSwgMTk2LCA4NSwgODMsIDY5LCAxMjgsIDg1LCA4MiwgCi0gICAgODUsIDIxOCwgODUsIDgyLCA4NSwgODMsIDEyOCwgODUsIDgyLCA4NSwgNjgsIDY1LCAxMjgsIDg1LCA4MiwgODUsIDY4LCAKLSAgICAxOTMsIDg1LCA4MiwgODUsIDEyOCwgODUsIDgyLCAyMTMsIDg1LCA4MiwgNzgsIDEyOCwgODUsIDgyLCA3MywgNzgsIDY5LCAKLSAgICAxMjgsIDg1LCA4MiwgNzMsIDUxLCAxMjgsIDg1LCA4MiwgNzMsIDEyOCwgODUsIDgyLCA2NSwgNzgsIDg1LCA4MywgMTI4LCAKLSAgICA4NSwgODIsIDY1LCAxMjgsIDg1LCA4MiwgNTIsIDEyOCwgODUsIDgyLCA1MCwgMTI4LCA4NSwgODIsIDE3OCwgODUsIDgwLCAKLSAgICA4NywgNjUsIDgyLCA2OCwgODMsIDEyOCwgODUsIDgwLCA4NywgNjUsIDgyLCA2OCwgMjExLCA4NSwgODAsIDg3LCA2NSwgODIsIAotICAgIDY4LCAxMjgsIDg1LCA4MCwgODcsIDY1LCA4MiwgMTk2LCA4NSwgODAsIDg0LCA4NSwgODIsIDc4LCAxMjgsIDg1LCA4MCwgCi0gICAgODMsIDczLCA3NiwgNzksIDc4LCAxMjgsIDg1LCA4MCwgODMsIDczLCA3NiwgNzksIDIwNiwgODUsIDgwLCA4MiwgNzMsIDcxLCAKLSAgICA3MiwgMjEyLCA4NSwgODAsIDgwLCA2OSwgMjEwLCA4NSwgODAsIDY1LCA2OCwgNzIsIDc3LCA2NSwgNzgsIDczLCA4OSwgNjUsIAorICAgIDg1LCA4MywgNzIsIDEyOCwgODUsIDgzLCAyMDAsIDg1LCA4MywgNjksIDE5NiwgODUsIDgzLCA2OSwgNDUsIDUwLCAxMjgsIAorICAgIDg1LCA4MywgNjksIDQ1LCA0OSwgMTI4LCA4NSwgODMsIDY5LCAxMjgsIDg1LCA4MywgMTk3LCA4NSwgODIsIDg1LCAyMTgsIAorICAgIDg1LCA4MiwgODUsIDgzLCAxMjgsIDg1LCA4MiwgODUsIDY4LCA2NSwgMTI4LCA4NSwgODIsIDg1LCA2OCwgMTkzLCA4NSwgCisgICAgODIsIDg1LCAxMjgsIDg1LCA4MiwgMjEzLCA4NSwgODIsIDc4LCAxMjgsIDg1LCA4MiwgNzMsIDc4LCA2OSwgMTI4LCA4NSwgCisgICAgODIsIDczLCA1MSwgMTI4LCA4NSwgODIsIDczLCAxMjgsIDg1LCA4MiwgNjUsIDc4LCA4NSwgODMsIDEyOCwgODUsIDgyLCAKKyAgICA2NSwgMTI4LCA4NSwgODIsIDUyLCAxMjgsIDg1LCA4MiwgNTAsIDEyOCwgODUsIDgyLCAxNzgsIDg1LCA4MCwgODcsIDY1LCAKKyAgICA4MiwgNjgsIDgzLCAxMjgsIDg1LCA4MCwgODcsIDY1LCA4MiwgNjgsIDIxMSwgODUsIDgwLCA4NywgNjUsIDgyLCA2OCwgCisgICAgMTI4LCA4NSwgODAsIDg3LCA2NSwgODIsIDE5NiwgODUsIDgwLCA4NCwgODUsIDgyLCA3OCwgMTI4LCA4NSwgODAsIDgzLCAKKyAgICA3MywgNzYsIDc5LCA3OCwgMTI4LCA4NSwgODAsIDgzLCA3MywgNzYsIDc5LCAyMDYsIDg1LCA4MCwgODIsIDczLCA3MSwgNzIsIAorICAgIDIxMiwgODUsIDgwLCA4MCwgNjksIDIxMCwgODUsIDgwLCA2NSwgNjgsIDcyLCA3NywgNjUsIDc4LCA3MywgODksIDY1LCAKICAgICAxMjgsIDg1LCA4MCwgNDUsIDgwLCA3OSwgNzMsIDc4LCA4NCwgNzMsIDc4LCAxOTksIDg1LCA3OSwgNzgsIDEyOCwgODUsIAogICAgIDc4LCA3OCwgMTI4LCA4NSwgNzgsIDc3LCA2NSwgODIsIDgyLCA3MywgNjksIDE5NiwgODUsIDc4LCA3NSwgNzgsIDc5LCA4NywgCiAgICAgNzgsIDEyOCwgODUsIDc4LCA3MywgODYsIDY5LCA4MiwgODMsIDY1LCAyMDQsIDg1LCA3OCwgNzMsIDg0LCA4OSwgMTI4LCAKQEAgLTM4OCwxMDAgKzQ4MCwxMDQgQEAKICAgICAxMjgsIDg1LCA3NSwgODUsIDEyOCwgODUsIDc1LCA4MiwgNjUsIDczLCA3OCwgNzMsIDY1LCAyMDYsIDg1LCA3NSwgNjUsIAogICAgIDgyLCA2NSwgMTI4LCA4NSwgNzUsIDY1LCA4MiwgMTkzLCA4NSwgNzUsIDEyOCwgODUsIDczLCA3NiwgNzYsIDY5LCA2NSwgCiAgICAgNzgsIDc4LCAxMjgsIDg1LCA3MywgNzEsIDcyLCA4NSwgMjEwLCA4NSwgNzEsIDY1LCA4MiwgNzMsIDg0LCA3MywgMTk1LCAKLSAgICA4NSwgNjksIDg5LCAxMjgsIDg1LCA2OSwgNjksIDEyOCwgODUsIDY5LCA2NSwgMTI4LCA4NSwgNjgsIDg1LCA3MSwgMTI4LCAKLSAgICA4NSwgNjgsIDY1LCA4NCwgODQsIDY1LCAxMjgsIDg1LCA2OCwgNjUsIDg0LCA4NCwgMTkzLCA4NSwgNjgsIDY1LCA2NSwgODQsIAotICAgIDEyOCwgODUsIDY4LCAxMjgsIDg1LCAxOTYsIDg1LCA2NywgMTI4LCA4NSwgNjYsIDg1LCA3MCwgNzMsIDc2LCA3MywgMTI4LCAKLSAgICA4NSwgNjYsIDcyLCA2NSwgODksIDY1LCA4NCwgMjA3LCA4NSwgNjYsIDY1LCA2OCwgNjUsIDc3LCA2NSwgMTI4LCA4NSwgNjYsIAotICAgIDEyOCwgODUsIDY1LCA4NCwgNzIsIDEyOCwgODUsIDY1LCAxMjgsIDg1LCAxNzgsIDg1LCA0OCwgNTIsIDUwLCAxMjgsIDg1LCAKLSAgICA0OCwgNTIsIDQ5LCAxMjgsIDg1LCA0OCwgNTIsIDQ4LCAxMjgsIDg1LCA0OCwgNTEsIDU3LCAxMjgsIDg1LCA0OCwgNTEsIAotICAgIDU2LCAxMjgsIDg1LCA0OCwgNTEsIDU1LCAxMjgsIDg1LCA0OCwgNTEsIDU0LCAxMjgsIDg1LCA0OCwgNTEsIDUzLCAxMjgsIAotICAgIDg1LCA0OCwgNTEsIDUyLCAxMjgsIDg1LCA0OCwgNTEsIDUxLCAxMjgsIDg1LCA0OCwgNTEsIDUwLCA2NSwgMTI4LCA4NSwgCi0gICAgNDgsIDUxLCA1MCwgMTI4LCA4NSwgNDgsIDUxLCA0OSwgMTI4LCA4NSwgNDgsIDUxLCA0OCwgMTI4LCA4NSwgNDgsIDUwLCAKLSAgICA1NywgNjUsIDEyOCwgODUsIDQ4LCA1MCwgNTcsIDEyOCwgODUsIDQ4LCA1MCwgNTYsIDEyOCwgODUsIDQ4LCA1MCwgNTUsIAotICAgIDEyOCwgODUsIDQ4LCA1MCwgNTQsIDEyOCwgODUsIDQ4LCA1MCwgNTMsIDEyOCwgODUsIDQ4LCA1MCwgNTIsIDEyOCwgODUsIAotICAgIDQ4LCA1MCwgNTEsIDY1LCAxMjgsIDg1LCA0OCwgNTAsIDUxLCAxMjgsIDg1LCA0OCwgNTAsIDUwLCAxMjgsIDg1LCA0OCwgCi0gICAgNTAsIDQ5LCAxMjgsIDg1LCA0OCwgNTAsIDQ4LCAxMjgsIDg1LCA0OCwgNDksIDU3LCAxMjgsIDg1LCA0OCwgNDksIDU2LCAKLSAgICAxMjgsIDg1LCA0OCwgNDksIDU1LCAxMjgsIDg1LCA0OCwgNDksIDU0LCAxMjgsIDg1LCA0OCwgNDksIDUzLCAxMjgsIDg1LCAKLSAgICA0OCwgNDksIDUyLCAxMjgsIDg1LCA0OCwgNDksIDUxLCAxMjgsIDg1LCA0OCwgNDksIDUwLCAxMjgsIDg1LCA0OCwgNDksIAotICAgIDQ5LCAxMjgsIDg1LCA0OCwgNDksIDQ4LCAxMjgsIDg1LCA0OCwgNDgsIDU3LCAxMjgsIDg1LCA0OCwgNDgsIDU2LCAxMjgsIAotICAgIDg1LCA0OCwgNDgsIDU1LCAxMjgsIDg1LCA0OCwgNDgsIDU0LCA2NiwgMTI4LCA4NSwgNDgsIDQ4LCA1NCwgNjUsIDEyOCwgCi0gICAgODUsIDQ4LCA0OCwgNTQsIDEyOCwgODUsIDQ4LCA0OCwgNTMsIDEyOCwgODUsIDQ4LCA0OCwgNTIsIDEyOCwgODUsIDQ4LCAKLSAgICA0OCwgNTEsIDEyOCwgODUsIDQ4LCA0OCwgNTAsIDEyOCwgODUsIDQ4LCA0OCwgNDksIDEyOCwgODUsIDQ1LCA3MywgNDUsIAotICAgIDczLCAxMjgsIDg1LCA0NSwgNjksIDc5LCA0NSwgNjksIDg1LCAxMjgsIDg0LCA5MCwgODUsIDEyOCwgODQsIDkwLCA3OSwgCi0gICAgNjUsIDEyOCwgODQsIDkwLCA3OSwgMTI4LCA4NCwgOTAsIDczLCAyMTAsIDg0LCA5MCwgNzMsIDEyOCwgODQsIDkwLCA2OSwgCi0gICAgNjksIDEyOCwgODQsIDkwLCA2OSwgMTI4LCA4NCwgOTAsIDY1LCA2NSwgMTI4LCA4NCwgOTAsIDY1LCAxMjgsIDg0LCA5MCwgCi0gICAgMTI4LCA4NCwgODksIDIxMCwgODQsIDg5LCA4MCwgNjksIDQ1LCAxODMsIDg0LCA4OSwgODAsIDY5LCA0NSwgMTgyLCA4NCwgCi0gICAgODksIDgwLCA2OSwgNDUsIDE4MSwgODQsIDg5LCA4MCwgNjksIDQ1LCAxODAsIDg0LCA4OSwgODAsIDY5LCA0NSwgMTc5LCAKLSAgICA4NCwgODksIDgwLCA2OSwgNDUsIDE3OCwgODQsIDg5LCA4MCwgNjksIDQ1LCAxNzcsIDg0LCA4OSwgODAsIDE5NywgODQsIAotICAgIDg5LCA3OSwgMTI4LCA4NCwgODksIDczLCAxMjgsIDg0LCA4OSwgNjksIDEyOCwgODQsIDg5LCA2NSwgMTI4LCA4NCwgODcsIAotICAgIDc5LCA3OSwgMTI4LCA4NCwgODcsIDc5LCA0NSwgODcsIDY1LCAyMTcsIDg0LCA4NywgNzksIDQ1LCA4NCwgNzIsIDczLCA4MiwgCi0gICAgODQsIDg5LCAxMjgsIDg0LCA4NywgNzksIDQ1LCA3NiwgNzMsIDc4LCAxOTcsIDg0LCA4NywgNzksIDQ1LCA3MiwgNjksIDY1LCAKLSAgICA2OCwgNjksIDE5NiwgODQsIDg3LCA3MywgODMsIDg0LCA2OSwgMTk2LCA4NCwgODcsIDczLCA3MywgMTI4LCA4NCwgODcsIAotICAgIDczLCAxMjgsIDg0LCA4NywgNjksIDc4LCA4NCwgODksIDQ1LCA4NCwgODcsIDc5LCAxMjgsIDg0LCA4NywgNjksIDc4LCA4NCwgCi0gICAgODksIDQ1LCA4NCwgNzIsIDgyLCA2OSwgNjksIDEyOCwgODQsIDg3LCA2OSwgNzgsIDg0LCA4OSwgNDUsIDgzLCA3MywgODgsIAotICAgIDEyOCwgODQsIDg3LCA2OSwgNzgsIDg0LCA4OSwgNDUsIDgzLCA2OSwgODYsIDY5LCA3OCwgMTI4LCA4NCwgODcsIDY5LCA3OCwgCi0gICAgODQsIDg5LCA0NSwgNzksIDc4LCA2OSwgMTI4LCA4NCwgODcsIDY5LCA3OCwgODQsIDg5LCA0NSwgNzgsIDczLCA3OCwgNjksIAotICAgIDEyOCwgODQsIDg3LCA2OSwgNzgsIDg0LCA4OSwgNDUsIDcwLCA3OSwgODUsIDgyLCAxMjgsIDg0LCA4NywgNjksIDc4LCA4NCwgCi0gICAgODksIDQ1LCA3MCwgNzMsIDg2LCA2OSwgMTI4LCA4NCwgODcsIDY5LCA3OCwgODQsIDg5LCA0NSwgNjksIDczLCA3MSwgNzIsIAotICAgIDg0LCAyMDAsIDg0LCA4NywgNjksIDc4LCA4NCwgODksIDQ1LCA2OSwgNzMsIDcxLCA3MiwgODQsIDEyOCwgODQsIDg3LCA2OSwgCi0gICAgNzgsIDg0LCA4OSwgMTI4LCA4NCwgODcsIDY5LCA3OCwgODQsIDIxNywgODQsIDg3LCA2OSwgNzYsIDg2LCA2OSwgNDUsIDg0LCAKLSAgICA3MiwgNzMsIDgyLCA4NCwgODksIDEyOCwgODQsIDg3LCA2OSwgNzYsIDg2LCA2OSwgMTI4LCA4NCwgODcsIDY5LCA3NiwgODYsIAotICAgIDE5NywgODQsIDg3LCA2OSwgMTI4LCA4NCwgODcsIDY1LCA2NSwgMTI4LCA4NCwgODcsIDY1LCAxMjgsIDg0LCA4NiwgODIsIAotICAgIDczLCA2OCwgNzksIDEyOCwgODQsIDg2LCA3MywgNzcsIDY1LCA2OCwgODUsIDIxMCwgODQsIDg1LCA4OCwgMTI4LCA4NCwgCi0gICAgODUsIDg1LCA3NywgODUsIDEyOCwgODQsIDg1LCA4NCwgODQsIDg5LCAxMjgsIDg0LCA4NSwgODQsIDY5LCA4OSwgNjUsIDgzLCAKLSAgICA2NSwgODQsIDEyOCwgODQsIDg1LCA4NCwgMTI4LCA4NCwgODUsIDgyLCA4OCwgMTI4LCA4NCwgODUsIDgyLCA4NSwgMTI4LCAKLSAgICA4NCwgODUsIDgyLCA4NCwgNzYsIDY5LCAxMjgsIDg0LCA4NSwgODIsIDc5LCA1MCwgMTI4LCA4NCwgODUsIDgyLCA3OCwgODMsIAotICAgIDg0LCA3MywgNzYsIDY5LCAxMjgsIDg0LCA4NSwgODIsIDc4LCA2OSwgMTk2LCA4NCwgODUsIDgyLCAyMDYsIDg0LCA4NSwgCi0gICAgODIsIDY2LCA2NSwgNzgsIDEyOCwgODQsIDg1LCA4MiwgMTI4LCA4NCwgODUsIDgwLCAxMjgsIDg0LCA4NSwgNzksIDg4LCAKLSAgICAxMjgsIDg0LCA4NSwgNzksIDg0LCAxMjgsIDg0LCA4NSwgNzksIDgwLCAxMjgsIDg0LCA4NSwgNzksIDEyOCwgODQsIDg1LCAKLSAgICA3OCwgNzgsIDg5LCAxMjgsIDg0LCA4NSwgNzcsIDY5LCA4NCwgNjksIDgzLCAxMjgsIDg0LCA4NSwgNzcsIDY1LCA2OSwgCi0gICAgMTI4LCA4NCwgODUsIDc3LCAxMjgsIDg0LCA4NSwgNzYsIDczLCA4MCwgMTI4LCA4NCwgODUsIDc1LCA4NywgNjksIDc4LCAKLSAgICA4NCwgNzMsIDgzLCAxMjgsIDg0LCA4NSwgNzUsIDEyOCwgODQsIDg1LCA3MSwgODIsIDczLCAyMDMsIDg0LCA4NSwgNzEsIAotICAgIDUwLCAxMjgsIDg0LCA4NSwgNzEsIDE3OCwgODQsIDg1LCA2NSwgODIsIDY5LCAxOTksIDg0LCA4NSwgNjUsIDY5LCA4MCwgCi0gICAgMTI4LCA4NCwgODUsIDY1LCA2OSwgMTI4LCA4NCwgMjEzLCA4NCwgODQsIDg1LCA2OCwgNjgsIDY1LCA3MSwgMTI4LCA4NCwgCi0gICAgODQsIDg1LCA2OCwgNjgsIDY1LCA2NSwgNzEsIDEyOCwgODQsIDg0LCA4NSwgMTI4LCA4NCwgODQsIDg0LCA3MiwgNjUsIAorICAgIDg1LCA2OSwgODksIDEyOCwgODUsIDY5LCA3MywgMTI4LCA4NSwgNjksIDY5LCAxMjgsIDg1LCA2OSwgNjUsIDEyOCwgODUsIAorICAgIDY4LCA4NSwgNzEsIDEyOCwgODUsIDY4LCA2NSwgODQsIDg0LCA2NSwgMTI4LCA4NSwgNjgsIDY1LCA4NCwgODQsIDE5MywgCisgICAgODUsIDY4LCA2NSwgNjUsIDg0LCAxMjgsIDg1LCA2OCwgMTI4LCA4NSwgMTk2LCA4NSwgNjcsIDEyOCwgODUsIDY2LCA4NSwgCisgICAgNzAsIDczLCA3NiwgNzMsIDEyOCwgODUsIDY2LCA3MiwgNjUsIDg5LCA2NSwgODQsIDIwNywgODUsIDY2LCA2NSwgNjgsIDY1LCAKKyAgICA3NywgNjUsIDEyOCwgODUsIDY2LCAxMjgsIDg1LCA2NSwgODQsIDcyLCAxMjgsIDg1LCA2NSwgNzgsIDcxLCAxMjgsIDg1LCAKKyAgICA2NSwgMTI4LCA4NSwgMTc4LCA4NSwgNDgsIDUyLCA1MCwgMTI4LCA4NSwgNDgsIDUyLCA0OSwgMTI4LCA4NSwgNDgsIDUyLCAKKyAgICA0OCwgMTI4LCA4NSwgNDgsIDUxLCA1NywgMTI4LCA4NSwgNDgsIDUxLCA1NiwgMTI4LCA4NSwgNDgsIDUxLCA1NSwgMTI4LCAKKyAgICA4NSwgNDgsIDUxLCA1NCwgMTI4LCA4NSwgNDgsIDUxLCA1MywgMTI4LCA4NSwgNDgsIDUxLCA1MiwgMTI4LCA4NSwgNDgsIAorICAgIDUxLCA1MSwgMTI4LCA4NSwgNDgsIDUxLCA1MCwgNjUsIDEyOCwgODUsIDQ4LCA1MSwgNTAsIDEyOCwgODUsIDQ4LCA1MSwgCisgICAgNDksIDEyOCwgODUsIDQ4LCA1MSwgNDgsIDEyOCwgODUsIDQ4LCA1MCwgNTcsIDY1LCAxMjgsIDg1LCA0OCwgNTAsIDU3LCAKKyAgICAxMjgsIDg1LCA0OCwgNTAsIDU2LCAxMjgsIDg1LCA0OCwgNTAsIDU1LCAxMjgsIDg1LCA0OCwgNTAsIDU0LCAxMjgsIDg1LCAKKyAgICA0OCwgNTAsIDUzLCAxMjgsIDg1LCA0OCwgNTAsIDUyLCAxMjgsIDg1LCA0OCwgNTAsIDUxLCA2NSwgMTI4LCA4NSwgNDgsIAorICAgIDUwLCA1MSwgMTI4LCA4NSwgNDgsIDUwLCA1MCwgMTI4LCA4NSwgNDgsIDUwLCA0OSwgMTI4LCA4NSwgNDgsIDUwLCA0OCwgCisgICAgMTI4LCA4NSwgNDgsIDQ5LCA1NywgMTI4LCA4NSwgNDgsIDQ5LCA1NiwgMTI4LCA4NSwgNDgsIDQ5LCA1NSwgMTI4LCA4NSwgCisgICAgNDgsIDQ5LCA1NCwgMTI4LCA4NSwgNDgsIDQ5LCA1MywgMTI4LCA4NSwgNDgsIDQ5LCA1MiwgMTI4LCA4NSwgNDgsIDQ5LCAKKyAgICA1MSwgMTI4LCA4NSwgNDgsIDQ5LCA1MCwgMTI4LCA4NSwgNDgsIDQ5LCA0OSwgMTI4LCA4NSwgNDgsIDQ5LCA0OCwgMTI4LCAKKyAgICA4NSwgNDgsIDQ4LCA1NywgMTI4LCA4NSwgNDgsIDQ4LCA1NiwgMTI4LCA4NSwgNDgsIDQ4LCA1NSwgMTI4LCA4NSwgNDgsIAorICAgIDQ4LCA1NCwgNjYsIDEyOCwgODUsIDQ4LCA0OCwgNTQsIDY1LCAxMjgsIDg1LCA0OCwgNDgsIDU0LCAxMjgsIDg1LCA0OCwgCisgICAgNDgsIDUzLCAxMjgsIDg1LCA0OCwgNDgsIDUyLCAxMjgsIDg1LCA0OCwgNDgsIDUxLCAxMjgsIDg1LCA0OCwgNDgsIDUwLCAKKyAgICAxMjgsIDg1LCA0OCwgNDgsIDQ5LCAxMjgsIDg1LCA0NSwgNzMsIDQ1LCA3MywgMTI4LCA4NSwgNDUsIDY5LCA3OSwgNDUsIAorICAgIDY5LCA4NSwgMTI4LCA4NSwgNDUsIDY2LCA4MiwgNzQsIDcxLCA4NSwgMTI4LCA4NCwgOTAsIDg1LCAxMjgsIDg0LCA5MCwgCisgICAgNzksIDY1LCAxMjgsIDg0LCA5MCwgNzksIDEyOCwgODQsIDkwLCA3MywgMjEwLCA4NCwgOTAsIDczLCAxMjgsIDg0LCA5MCwgCisgICAgNjksIDY5LCAxMjgsIDg0LCA5MCwgNjksIDEyOCwgODQsIDkwLCA2NSwgNjUsIDEyOCwgODQsIDkwLCA2NSwgMTI4LCA4NCwgCisgICAgOTAsIDEyOCwgODQsIDg5LCAyMTAsIDg0LCA4OSwgODAsIDY5LCA0NSwgMTgzLCA4NCwgODksIDgwLCA2OSwgNDUsIDE4MiwgCisgICAgODQsIDg5LCA4MCwgNjksIDQ1LCAxODEsIDg0LCA4OSwgODAsIDY5LCA0NSwgMTgwLCA4NCwgODksIDgwLCA2OSwgNDUsIAorICAgIDE3OSwgODQsIDg5LCA4MCwgNjksIDQ1LCAxNzgsIDg0LCA4OSwgODAsIDY5LCA0NSwgMTc3LCA4NCwgODksIDgwLCAxOTcsIAorICAgIDg0LCA4OSwgNzksIDEyOCwgODQsIDg5LCA3MywgMTI4LCA4NCwgODksIDY5LCAxMjgsIDg0LCA4OSwgNjUsIDEyOCwgODQsIAorICAgIDg3LCA3OSwgNzksIDEyOCwgODQsIDg3LCA3OSwgNDUsIDg3LCA2NSwgMjE3LCA4NCwgODcsIDc5LCA0NSwgODQsIDcyLCA3MywgCisgICAgODIsIDg0LCA4OSwgMTI4LCA4NCwgODcsIDc5LCA0NSwgNzYsIDczLCA3OCwgMTk3LCA4NCwgODcsIDc5LCA0NSwgNzIsIDY5LCAKKyAgICA2NSwgNjgsIDY5LCAxOTYsIDg0LCA4NywgNzksIDQ1LCA2OSwgMjA1LCA4NCwgODcsIDczLCA4MywgODQsIDY5LCAxOTYsIAorICAgIDg0LCA4NywgNzMsIDczLCAxMjgsIDg0LCA4NywgNzMsIDEyOCwgODQsIDg3LCA2OSwgNzgsIDg0LCA4OSwgNDUsIDg0LCA4NywgCisgICAgNzksIDEyOCwgODQsIDg3LCA2OSwgNzgsIDg0LCA4OSwgNDUsIDg0LCA3MiwgODIsIDY5LCA2OSwgMTI4LCA4NCwgODcsIDY5LCAKKyAgICA3OCwgODQsIDg5LCA0NSwgODMsIDczLCA4OCwgMTI4LCA4NCwgODcsIDY5LCA3OCwgODQsIDg5LCA0NSwgODMsIDY5LCA4NiwgCisgICAgNjksIDc4LCAxMjgsIDg0LCA4NywgNjksIDc4LCA4NCwgODksIDQ1LCA3OSwgNzgsIDY5LCAxMjgsIDg0LCA4NywgNjksIDc4LCAKKyAgICA4NCwgODksIDQ1LCA3OCwgNzMsIDc4LCA2OSwgMTI4LCA4NCwgODcsIDY5LCA3OCwgODQsIDg5LCA0NSwgNzAsIDc5LCA4NSwgCisgICAgODIsIDEyOCwgODQsIDg3LCA2OSwgNzgsIDg0LCA4OSwgNDUsIDcwLCA3MywgODYsIDY5LCAxMjgsIDg0LCA4NywgNjksIDc4LCAKKyAgICA4NCwgODksIDQ1LCA2OSwgNzMsIDcxLCA3MiwgODQsIDIwMCwgODQsIDg3LCA2OSwgNzgsIDg0LCA4OSwgNDUsIDY5LCA3MywgCisgICAgNzEsIDcyLCA4NCwgMTI4LCA4NCwgODcsIDY5LCA3OCwgODQsIDg5LCAxMjgsIDg0LCA4NywgNjksIDc4LCA4NCwgMjE3LCAKKyAgICA4NCwgODcsIDY5LCA3NiwgODYsIDY5LCA0NSwgODQsIDcyLCA3MywgODIsIDg0LCA4OSwgMTI4LCA4NCwgODcsIDY5LCA3NiwgCisgICAgODYsIDY5LCAxMjgsIDg0LCA4NywgNjksIDc2LCA4NiwgMTk3LCA4NCwgODcsIDY5LCAxMjgsIDg0LCA4NywgNjUsIDY1LCAKKyAgICAxMjgsIDg0LCA4NywgNjUsIDEyOCwgODQsIDg2LCA4MiwgNzMsIDY4LCA3OSwgMTI4LCA4NCwgODYsIDczLCA3NywgNjUsIAorICAgIDY4LCA4NSwgMjEwLCA4NCwgODUsIDg4LCAxMjgsIDg0LCA4NSwgODUsIDc3LCA4NSwgMTI4LCA4NCwgODUsIDg1LCAxMjgsIAorICAgIDg0LCA4NSwgODQsIDg0LCA4OSwgMTI4LCA4NCwgODUsIDg0LCA2OSwgODksIDY1LCA4MywgNjUsIDg0LCAxMjgsIDg0LCA4NSwgCisgICAgODQsIDEyOCwgODQsIDg1LCA4MiwgODgsIDEyOCwgODQsIDg1LCA4MiwgODUsIDEyOCwgODQsIDg1LCA4MiwgODQsIDc2LCAKKyAgICA2OSwgMTI4LCA4NCwgODUsIDgyLCA3OSwgNTAsIDEyOCwgODQsIDg1LCA4MiwgNzgsIDgzLCA4NCwgNzMsIDc2LCA2OSwgCisgICAgMTI4LCA4NCwgODUsIDgyLCA3OCwgNjksIDE5NiwgODQsIDg1LCA4MiwgMjA2LCA4NCwgODUsIDgyLCA2NiwgNjUsIDc4LCAKKyAgICAxMjgsIDg0LCA4NSwgODIsIDEyOCwgODQsIDg1LCA4MCwgMTI4LCA4NCwgODUsIDc5LCA4OCwgMTI4LCA4NCwgODUsIDc5LCAKKyAgICA4NCwgMTI4LCA4NCwgODUsIDc5LCA4MCwgMTI4LCA4NCwgODUsIDc5LCAxMjgsIDg0LCA4NSwgNzgsIDc4LCA4OSwgMTI4LCAKKyAgICA4NCwgODUsIDc3LCA2OSwgODQsIDY5LCA4MywgMTI4LCA4NCwgODUsIDc3LCA2NSwgNjksIDEyOCwgODQsIDg1LCA3NywgCisgICAgMTI4LCA4NCwgODUsIDc2LCA3MywgODAsIDEyOCwgODQsIDg1LCA3NSwgODcsIDY5LCA3OCwgODQsIDczLCA4MywgMTI4LCAKKyAgICA4NCwgODUsIDc1LCAxMjgsIDg0LCA4NSwgNzEsIDgyLCA3MywgMjAzLCA4NCwgODUsIDcxLCA1MCwgMTI4LCA4NCwgODUsIAorICAgIDcxLCAxNzgsIDg0LCA4NSwgNjUsIDgyLCA2OSwgMTk5LCA4NCwgODUsIDY1LCA2OSwgODAsIDEyOCwgODQsIDg1LCA2NSwgCisgICAgNjksIDEyOCwgODQsIDIxMywgODQsIDg0LCA4NSwgODUsIDEyOCwgODQsIDg0LCA4NSwgNjgsIDY4LCA2NSwgNzEsIDEyOCwgCisgICAgODQsIDg0LCA4NSwgNjgsIDY4LCA2NSwgNjUsIDcxLCAxMjgsIDg0LCA4NCwgODUsIDEyOCwgODQsIDg0LCA4NCwgNzIsIDY1LCAKICAgICAxMjgsIDg0LCA4NCwgODQsIDY1LCAxMjgsIDg0LCA4NCwgODMsIDg1LCAxMjgsIDg0LCA4NCwgODMsIDc5LCAxMjgsIDg0LCAKICAgICA4NCwgODMsIDczLCAxMjgsIDg0LCA4NCwgODMsIDY5LCA2OSwgMTI4LCA4NCwgODQsIDgzLCA2OSwgMTI4LCA4NCwgODQsIAotICAgIDgzLCA2NSwgMTI4LCA4NCwgODQsIDczLCAxMjgsIDg0LCA4NCwgNzIsIDg3LCA2OSwgMTI4LCA4NCwgODQsIDcyLCA4NSwgCi0gICAgMTI4LCA4NCwgODQsIDcyLCA3OSwgNzksIDEyOCwgODQsIDg0LCA3MiwgNzksIDEyOCwgODQsIDg0LCA3MiwgNzMsIDEyOCwgCi0gICAgODQsIDg0LCA3MiwgNjksIDY5LCAxMjgsIDg0LCA4NCwgNzIsIDY5LCAxMjgsIDg0LCA4NCwgNzIsIDY1LCA2NSwgMTI4LCAKLSAgICA4NCwgODQsIDcyLCAxMjgsIDg0LCA4NCwgNjksIDcyLCA2OSwgNzIsIDEyOCwgODQsIDg0LCA2OSwgNzIsIDY5LCAyMDAsIAotICAgIDg0LCA4NCwgNjksIDcyLCAxMjgsIDg0LCA4NCwgNjksIDIwMCwgODQsIDg0LCA2OSwgNjksIDEyOCwgODQsIDg0LCA2NSwgCi0gICAgODksIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDg0LCA4NCwgNjUsIDY1LCAxMjgsIDg0LCA4NCwgNTAsIDEyOCwgODQsIDgzLCAKLSAgICA4NywgNjksIDEyOCwgODQsIDgzLCA4NywgNjUsIDEyOCwgODQsIDgzLCA4NiwgMTI4LCA4NCwgODMsIDgzLCA2OSwgMTI4LCAKLSAgICA4NCwgODMsIDcyLCA4NSwgNzEsIDgzLCAxMjgsIDg0LCA4MywgNzIsIDc5LCA3OSwgNzUsIDEyOCwgODQsIDgzLCA3MiwgNzksIAotICAgIDc5LCAyMDMsIDg0LCA4MywgNzIsIDY5LCA4MywgMTI4LCA4NCwgODMsIDcyLCA2OSwgNzEsIDEyOCwgODQsIDgzLCA3MiwgCi0gICAgNjksIDE5OSwgODQsIDgzLCA3MiwgNjksIDEyOCwgODQsIDgzLCA3MiwgNjUsIDEyOCwgODQsIDgzLCA2OSwgODIsIDY5LCAKLSAgICAxMjgsIDg0LCA4MywgNjUsIDY4LCA3MywgMTI4LCA4NCwgODMsIDY1LCA2OCwgMjAxLCA4NCwgODMsIDY1LCA2NSwgNjgsIAotICAgIDczLCA4OSwgMTI4LCA4NCwgODMsIDY1LCA2NSwgMTI4LCA4NCwgODMsIDE5MywgODQsIDgyLCA4OSwgNjYsIDc2LCA3MywgCi0gICAgNzksIDIwNiwgODQsIDgyLCA4NSwgODQsIDcyLCAxMjgsIDg0LCA4MiwgODUsIDc4LCA3NSwgMTI4LCA4NCwgODIsIDg1LCAKLSAgICA3OCwgNjcsIDY1LCA4NCwgNjksIDE5NiwgODQsIDgyLCA4NSwgNzcsIDgwLCA2OSwgODQsIDEyOCwgODQsIDgyLCA4NSwgNjksIAotICAgIDEyOCwgODQsIDgyLCA4NSwgNjcsIDc1LCAxMjgsIDg0LCA4MiwgNzksIDgwLCA3MywgNjcsIDY1LCAyMDQsIDg0LCA4MiwgCi0gICAgNzksIDgwLCA3MiwgODksIDEyOCwgODQsIDgyLCA3OSwgNzcsIDczLCA3NSwgNzksIDgzLCA4OSwgNzgsIDY1LCA3MSwgNzcsIAotICAgIDY1LCAxMjgsIDg0LCA4MiwgNzksIDc3LCA3MywgNzUsIDc5LCA4MCwgODMsIDczLCA3MCwgNzMsIDgzLCA4NCwgNzksIDc4LCAKLSAgICAxMjgsIDg0LCA4MiwgNzksIDc3LCA3MywgNzUsIDc5LCA4MCwgNjUsIDgyLCA2NSwgNzUsIDY1LCA3NiwgNjksIDgzLCA3NywgCi0gICAgNjUsIDEyOCwgODQsIDgyLCA3OSwgNzcsIDczLCA3NSwgNzksIDc4LCAxMjgsIDg0LCA4MiwgNzksIDc3LCA3MywgNzUsIDc5LCAKLSAgICAyMDYsIDg0LCA4MiwgNzksIDc3LCA3MywgNzUsIDc5LCA3NiwgODksIDcxLCA3MywgODMsIDc3LCA2NSwgMTI4LCA4NCwgODIsIAotICAgIDc5LCA3NiwgNzYsIDY5LCA4OSwgNjYsIDg1LCA4MywgMTI4LCA4NCwgODIsIDc5LCA3NSwgODUsIDg0LCA2NSwgODMsIDg0LCAKLSAgICAyMDEsIDg0LCA4MiwgNzksIDY5LCA5MCwgNjksIDc4LCA3MywgNjUsIDIwNiwgODQsIDgyLCA3MywgODUsIDc3LCA4MCwgNzIsIAotICAgIDEyOCwgODQsIDgyLCA3MywgODQsIDc5LCAyMTEsIDg0LCA4MiwgNzMsIDg0LCA3MywgNzcsIDc5LCA4MiwgNzMsIDc5LCA3OCwgCi0gICAgMTI4LCA4NCwgODIsIDczLCA4MywgNzMsIDc3LCA3OSwgODUsIDEyOCwgODQsIDgyLCA3MywgODMsIDY5LCA3NywgNjksIAotICAgIDEyOCwgODQsIDgyLCA3MywgODAsIDc5LCA2OCwgMTI4LCA4NCwgODIsIDczLCA4MCwgNzYsIDczLCAxMjgsIDg0LCA4MiwgCi0gICAgNzMsIDgwLCA3NiwgMTk3LCA4NCwgODIsIDczLCA3OSwgMjA2LCA4NCwgODIsIDczLCA3MywgODMsIDY1LCA4MCwgMTI4LCAKLSAgICA4NCwgODIsIDczLCA3MSwgODIsIDY1LCA3NywgNzcsIDc5LCAyMTEsIDg0LCA4MiwgNzMsIDcxLCA4MiwgNjUsIDIwNSwgODQsIAotICAgIDgyLCA3MywgNzEsIDc5LCA4MiwgNzEsIDc5LCA3OCwgMTI4LCA4NCwgODIsIDczLCA3MCwgNzksIDc4LCA3MywgNjUsIDgzLCAKLSAgICAxMjgsIDg0LCA4MiwgNzMsIDcwLCA3OSwgNzYsIDczLCA2NSwgODQsIDE5NywgODQsIDgyLCA3MywgNjgsIDY5LCA3OCwgODQsIAotICAgIDEyOCwgODQsIDgyLCA3MywgNjgsIDY5LCA3OCwgMjEyLCA4NCwgODIsIDczLCA2NywgNzksIDc2LCA3OSwgNzgsIDEyOCwgCi0gICAgODQsIDgyLCA3MywgNjUsIDc4LCA3MSwgODUsIDc2LCA2NSwgMjEwLCA4NCwgODIsIDczLCA2NSwgNzgsIDcxLCA3NiwgNjksIAotICAgIDQ1LCA4MiwgNzksIDg1LCA3OCwgMTk2LCA4NCwgODIsIDczLCA2NSwgNzgsIDcxLCA3NiwgNjksIDQ1LCA3MiwgNjksIDY1LCAKLSAgICA2OCwgNjksIDE5NiwgODQsIDgyLCA3MywgNjUsIDc4LCA3MSwgNzYsIDY5LCAxMjgsIDg0LCA4MiwgNzMsIDY1LCA3OCwgNzEsIAotICAgIDc2LCAxOTcsIDg0LCA4MiwgNzMsIDY1LCAxMjgsIDg0LCA4MiwgNzMsIDEyOCwgODQsIDgyLCA2OSwgODMsIDczLCA3NiwgCi0gICAgNzYsIDc5LCAxMjgsIDg0LCA4MiwgNjksIDc4LCA2OCwgMTI4LCA4NCwgODIsIDY5LCA3OCwgMTk2LCA4NCwgODIsIDY5LCAKLSAgICA3NywgNzksIDc2LCA3OSwgNDUsIDUxLCAxMjgsIDg0LCA4MiwgNjksIDc3LCA3OSwgNzYsIDc5LCA0NSwgNTAsIDEyOCwgODQsIAotICAgIDgyLCA2OSwgNzcsIDc5LCA3NiwgNzksIDQ1LCA0OSwgMTI4LCA4NCwgODIsIDY5LCA2OSwgMTI4LCA4NCwgODIsIDY5LCAKLSAgICAxOTcsIDg0LCA4MiwgNjksIDY1LCA2OCwgNzMsIDc4LCA3MSwgMTI4LCA4NCwgODIsIDY1LCA4OSwgMTI4LCA4NCwgODIsIAotICAgIDY1LCA4MCwgNjksIDkwLCA3MywgODUsIDc3LCAxMjgsIDg0LCA4MiwgNjUsIDc4LCA4MywgODYsIDY5LCA4MiwgODMsIDY1LCAKLSAgICAyMDQsIDg0LCA4MiwgNjUsIDc4LCA4MywgODAsIDc5LCA4MywgNzMsIDg0LCA3MywgNzksIDIwNiwgODQsIDgyLCA2NSwgNzgsIAorICAgIDgzLCA2NSwgMTI4LCA4NCwgODQsIDc5LCA3OSwgMTI4LCA4NCwgODQsIDczLCA3MywgMTI4LCA4NCwgODQsIDczLCAxMjgsIAorICAgIDg0LCA4NCwgNzIsIDg3LCA2OSwgMTI4LCA4NCwgODQsIDcyLCA4NSwgMTI4LCA4NCwgODQsIDcyLCA3OSwgNzksIDEyOCwgCisgICAgODQsIDg0LCA3MiwgNzksIDEyOCwgODQsIDg0LCA3MiwgNzMsIDEyOCwgODQsIDg0LCA3MiwgNjksIDY5LCAxMjgsIDg0LCAKKyAgICA4NCwgNzIsIDY5LCAxMjgsIDg0LCA4NCwgNzIsIDY1LCA2NSwgMTI4LCA4NCwgODQsIDcyLCAxMjgsIDg0LCA4NCwgNjksIAorICAgIDcyLCA2OSwgNzIsIDEyOCwgODQsIDg0LCA2OSwgNzIsIDY5LCAyMDAsIDg0LCA4NCwgNjksIDcyLCAxMjgsIDg0LCA4NCwgCisgICAgNjksIDIwMCwgODQsIDg0LCA2OSwgNjksIDEyOCwgODQsIDg0LCA2NSwgODksIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDg0LCAKKyAgICA4NCwgNjUsIDg1LCAxMjgsIDg0LCA4NCwgNjUsIDczLCAxMjgsIDg0LCA4NCwgNjUsIDY1LCAxMjgsIDg0LCA4NCwgNTAsIAorICAgIDEyOCwgODQsIDgzLCA4NywgNjksIDEyOCwgODQsIDgzLCA4NywgNjUsIDEyOCwgODQsIDgzLCA4NiwgMTI4LCA4NCwgODMsIAorICAgIDgzLCA2OSwgMTI4LCA4NCwgODMsIDgzLCA2NSwgMTI4LCA4NCwgODMsIDcyLCA4NSwgNzEsIDgzLCAxMjgsIDg0LCA4MywgCisgICAgNzIsIDc5LCA3OSwgNzUsIDEyOCwgODQsIDgzLCA3MiwgNzksIDc5LCAyMDMsIDg0LCA4MywgNzIsIDY5LCA4MywgMTI4LCAKKyAgICA4NCwgODMsIDcyLCA2OSwgNzEsIDEyOCwgODQsIDgzLCA3MiwgNjksIDE5OSwgODQsIDgzLCA3MiwgNjksIDEyOCwgODQsIAorICAgIDgzLCA3MiwgNjUsIDEyOCwgODQsIDgzLCA2OSwgODIsIDY5LCAxMjgsIDg0LCA4MywgNjUsIDY4LCA3MywgMTI4LCA4NCwgCisgICAgODMsIDY1LCA2OCwgMjAxLCA4NCwgODMsIDY1LCA2NSwgNjgsIDczLCA4OSwgMTI4LCA4NCwgODMsIDY1LCA2NSwgMTI4LCAKKyAgICA4NCwgODMsIDE5MywgODQsIDgyLCA4OSwgNjYsIDc2LCA3MywgNzksIDIwNiwgODQsIDgyLCA4NSwgODQsIDcyLCAxMjgsIAorICAgIDg0LCA4MiwgODUsIDc4LCA3NSwgMTI4LCA4NCwgODIsIDg1LCA3OCwgNjcsIDY1LCA4NCwgNjksIDE5NiwgODQsIDgyLCA4NSwgCisgICAgNzcsIDgwLCA2OSwgODQsIDEyOCwgODQsIDgyLCA4NSwgNjksIDEyOCwgODQsIDgyLCA4NSwgNjcsIDc1LCAxMjgsIDg0LCAKKyAgICA4MiwgNzksIDgwLCA3MywgNjcsIDY1LCAyMDQsIDg0LCA4MiwgNzksIDgwLCA3MiwgODksIDEyOCwgODQsIDgyLCA3OSwgNzcsIAorICAgIDczLCA3NSwgNzksIDgzLCA4OSwgNzgsIDY1LCA3MSwgNzcsIDY1LCAxMjgsIDg0LCA4MiwgNzksIDc3LCA3MywgNzUsIDc5LCAKKyAgICA4MCwgODMsIDczLCA3MCwgNzMsIDgzLCA4NCwgNzksIDc4LCAxMjgsIDg0LCA4MiwgNzksIDc3LCA3MywgNzUsIDc5LCA4MCwgCisgICAgNjUsIDgyLCA2NSwgNzUsIDY1LCA3NiwgNjksIDgzLCA3NywgNjUsIDEyOCwgODQsIDgyLCA3OSwgNzcsIDczLCA3NSwgNzksIAorICAgIDc4LCAxMjgsIDg0LCA4MiwgNzksIDc3LCA3MywgNzUsIDc5LCAyMDYsIDg0LCA4MiwgNzksIDc3LCA3MywgNzUsIDc5LCA3NiwgCisgICAgODksIDcxLCA3MywgODMsIDc3LCA2NSwgMTI4LCA4NCwgODIsIDc5LCA3NiwgNzYsIDY5LCA4OSwgNjYsIDg1LCA4MywgMTI4LCAKKyAgICA4NCwgODIsIDc5LCA3NSwgODUsIDg0LCA2NSwgODMsIDg0LCAyMDEsIDg0LCA4MiwgNzksIDY5LCA5MCwgNjksIDc4LCA3MywgCisgICAgNjUsIDIwNiwgODQsIDgyLCA3MywgODUsIDc3LCA4MCwgNzIsIDEyOCwgODQsIDgyLCA3MywgODQsIDc5LCAyMTEsIDg0LCAKKyAgICA4MiwgNzMsIDg0LCA3MywgNzcsIDc5LCA4MiwgNzMsIDc5LCA3OCwgMTI4LCA4NCwgODIsIDczLCA4MywgNzMsIDc3LCA3OSwgCisgICAgODUsIDEyOCwgODQsIDgyLCA3MywgODMsIDY5LCA3NywgNjksIDEyOCwgODQsIDgyLCA3MywgODAsIDc5LCA2OCwgMTI4LCAKKyAgICA4NCwgODIsIDczLCA4MCwgNzYsIDczLCAxMjgsIDg0LCA4MiwgNzMsIDgwLCA3NiwgMTk3LCA4NCwgODIsIDczLCA3OSwgCisgICAgMjA2LCA4NCwgODIsIDczLCA3MywgODMsIDY1LCA4MCwgMTI4LCA4NCwgODIsIDczLCA3MSwgODIsIDY1LCA3NywgNzcsIDc5LCAKKyAgICAyMTEsIDg0LCA4MiwgNzMsIDcxLCA4MiwgNjUsIDIwNSwgODQsIDgyLCA3MywgNzEsIDc5LCA4MiwgNzEsIDc5LCA3OCwgCisgICAgMTI4LCA4NCwgODIsIDczLCA3MCwgNzksIDc4LCA3MywgNjUsIDgzLCAxMjgsIDg0LCA4MiwgNzMsIDcwLCA3OSwgNzYsIDczLCAKKyAgICA2NSwgODQsIDE5NywgODQsIDgyLCA3MywgNjgsIDY5LCA3OCwgODQsIDEyOCwgODQsIDgyLCA3MywgNjgsIDY5LCA3OCwgCisgICAgMjEyLCA4NCwgODIsIDczLCA2NywgNzksIDc2LCA3OSwgNzgsIDEyOCwgODQsIDgyLCA3MywgNjUsIDc4LCA3MSwgODUsIDc2LCAKKyAgICA2NSwgMjEwLCA4NCwgODIsIDczLCA2NSwgNzgsIDcxLCA3NiwgNjksIDQ1LCA4MiwgNzksIDg1LCA3OCwgMTk2LCA4NCwgODIsIAorICAgIDczLCA2NSwgNzgsIDcxLCA3NiwgNjksIDQ1LCA3MiwgNjksIDY1LCA2OCwgNjksIDE5NiwgODQsIDgyLCA3MywgNjUsIDc4LCAKKyAgICA3MSwgNzYsIDY5LCAxMjgsIDg0LCA4MiwgNzMsIDY1LCA3OCwgNzEsIDc2LCAxOTcsIDg0LCA4MiwgNzMsIDY1LCAxMjgsIAorICAgIDg0LCA4MiwgNzMsIDEyOCwgODQsIDgyLCA2OSwgODMsIDczLCA3NiwgNzYsIDc5LCAxMjgsIDg0LCA4MiwgNjksIDc4LCA2OCwgCisgICAgMTI4LCA4NCwgODIsIDY5LCA3OCwgMTk2LCA4NCwgODIsIDY5LCA3NywgNzksIDc2LCA3OSwgNDUsIDUxLCAxMjgsIDg0LCAKKyAgICA4MiwgNjksIDc3LCA3OSwgNzYsIDc5LCA0NSwgNTAsIDEyOCwgODQsIDgyLCA2OSwgNzcsIDc5LCA3NiwgNzksIDQ1LCA0OSwgCisgICAgMTI4LCA4NCwgODIsIDY5LCA2OSwgMTI4LCA4NCwgODIsIDY5LCAxOTcsIDg0LCA4MiwgNjksIDY1LCA2OCwgNzMsIDc4LCAKKyAgICA3MSwgMTI4LCA4NCwgODIsIDY1LCA4OSwgMTI4LCA4NCwgODIsIDY1LCA4MCwgNjksIDkwLCA3MywgODUsIDc3LCAxMjgsIAorICAgIDg0LCA4MiwgNjUsIDc4LCA4MywgODYsIDY5LCA4MiwgODMsIDY1LCAyMDQsIDg0LCA4MiwgNjUsIDc4LCA4MywgODAsIDc5LCAKKyAgICA4MywgNzMsIDg0LCA3MywgNzksIDIwNiwgODQsIDgyLCA2NSwgNzgsIDgzLCA3NywgNzMsIDIxMiwgODQsIDgyLCA2NSwgNzgsIAogICAgIDgzLCA3NywgNzMsIDgzLCA4MywgNzMsIDc5LCA3OCwgMTI4LCA4NCwgODIsIDY1LCA3OCwgODMsIDc3LCA3MywgODMsIDgzLCAKICAgICA3MywgNzksIDIwNiwgODQsIDgyLCA2NSwgNzcsIDg3LCA2NSwgODksIDEyOCwgODQsIDgyLCA2NSwgNzcsIDEyOCwgODQsIAogICAgIDgyLCA2NSwgMjA1LCA4NCwgODIsIDY1LCA3MywgNzgsIDEyOCwgODQsIDgyLCA2NSwgNzMsIDIwNiwgODQsIDgyLCA2NSwgCkBAIC00OTMsMTYgKzU4OSwxNyBAQAogICAgIDc5LCA4MiwgNjcsIDg1LCA3NiwgODUsIDIxMSwgODQsIDc5LCA4MiwgNjcsIDcyLCAxMjgsIDg0LCA3OSwgODEsIDEyOCwgCiAgICAgODQsIDc5LCA4MCwgNjYsIDY1LCA4MiwgMTI4LCA4NCwgNzksIDgwLCA0NSwgNzYsIDczLCA3MSwgNzIsIDg0LCA2OSwgMTk2LCAKICAgICA4NCwgNzksIDgwLCAxMjgsIDg0LCA3OSwgMjA4LCA4NCwgNzksIDc5LCA4NCwgNzIsIDEyOCwgODQsIDc5LCA3OSwgNzgsIAotICAgIDEyOCwgODQsIDc5LCA3OSwgMTI4LCA4NCwgNzksIDc4LCA3OSwgODMsIDEyOCwgODQsIDc5LCA3OCwgNzEsIDg1LCA2OSwgCi0gICAgMTI4LCA4NCwgNzksIDc4LCA3MSwgODUsIDE5NywgODQsIDc5LCA3OCwgNzEsIDEyOCwgODQsIDc5LCA3OCwgNjksIDQ1LCAKLSAgICA1NCwgMTI4LCA4NCwgNzksIDc4LCA2OSwgNDUsIDUzLCAxMjgsIDg0LCA3OSwgNzgsIDY5LCA0NSwgNTIsIDEyOCwgODQsIAotICAgIDc5LCA3OCwgNjksIDQ1LCA1MSwgMTI4LCA4NCwgNzksIDc4LCA2OSwgNDUsIDUwLCAxMjgsIDg0LCA3OSwgNzgsIDY5LCA0NSwgCi0gICAgNDksIDEyOCwgODQsIDc5LCA3OCwgNjksIDEyOCwgODQsIDc5LCA3OCwgNjUsIDIwNCwgODQsIDc5LCA3NywgODAsIDczLCAKLSAgICAxMjgsIDg0LCA3OSwgNzcsIDY1LCA4NCwgNzksIDEyOCwgODQsIDc5LCA3NiwgNzksIDc4LCA3MSwgMTI4LCA4NCwgNzksIAotICAgIDc1LCA4OSwgMjA3LCA4NCwgNzksIDczLCA3NiwgNjksIDg0LCAxMjgsIDg0LCA3OSwgNzEsIDY5LCA4NCwgNzIsIDY5LCA4MiwgCi0gICAgMTI4LCA4NCwgNzksIDY4LCAyMDcsIDg0LCA3OSwgNjUsIDc4LCA2OCwgNjUsIDc1LCA3MiwgNzMsIDY1LCA4NCwgMTI4LCAKLSAgICA4NCwgNzksIDY1LCAxMjgsIDg0LCA3OCwgMTI4LCA4NCwgNzYsIDg2LCAxMjgsIDg0LCA3NiwgODUsIDEyOCwgODQsIDc2LCAKLSAgICA3OSwgMTI4LCA4NCwgNzYsIDczLCAxMjgsIDg0LCA3NiwgNzIsIDg3LCA2OSwgMTI4LCA4NCwgNzYsIDcyLCA4NSwgMTI4LCAKKyAgICAxMjgsIDg0LCA3OSwgNzgsIDc5LCA4MywgMTI4LCA4NCwgNzksIDc4LCA3MSwgODUsIDY5LCAxMjgsIDg0LCA3OSwgNzgsIAorICAgIDcxLCA4NSwgMTk3LCA4NCwgNzksIDc4LCA3MSwgMTI4LCA4NCwgNzksIDc4LCA2OSwgNDUsIDU2LCAxMjgsIDg0LCA3OSwgCisgICAgNzgsIDY5LCA0NSwgNTUsIDEyOCwgODQsIDc5LCA3OCwgNjksIDQ1LCA1NCwgMTI4LCA4NCwgNzksIDc4LCA2OSwgNDUsIDUzLCAKKyAgICAxMjgsIDg0LCA3OSwgNzgsIDY5LCA0NSwgNTIsIDEyOCwgODQsIDc5LCA3OCwgNjksIDQ1LCA1MSwgMTI4LCA4NCwgNzksIAorICAgIDc4LCA2OSwgNDUsIDUwLCAxMjgsIDg0LCA3OSwgNzgsIDY5LCA0NSwgNDksIDEyOCwgODQsIDc5LCA3OCwgNjksIDEyOCwgCisgICAgODQsIDc5LCA3OCwgNjUsIDIwNCwgODQsIDc5LCA3NywgODAsIDczLCAxMjgsIDg0LCA3OSwgNzcsIDY1LCA4NCwgNzksIAorICAgIDEyOCwgODQsIDc5LCA3NiwgNzksIDc4LCA3MSwgMTI4LCA4NCwgNzksIDc1LCA4OSwgMjA3LCA4NCwgNzksIDczLCA3NiwgCisgICAgNjksIDg0LCAxMjgsIDg0LCA3OSwgNzEsIDY5LCA4NCwgNzIsIDY5LCA4MiwgMTI4LCA4NCwgNzksIDY4LCAyMDcsIDg0LCAKKyAgICA3OSwgNjUsIDc4LCA2OCwgNjUsIDc1LCA3MiwgNzMsIDY1LCA4NCwgMTI4LCA4NCwgNzksIDY1LCAxMjgsIDg0LCA3OCwgCisgICAgMTI4LCA4NCwgNzYsIDg2LCAxMjgsIDg0LCA3NiwgODUsIDEyOCwgODQsIDc2LCA3OSwgMTI4LCA4NCwgNzYsIDczLCAxMjgsIAorICAgIDg0LCA3NiwgNzIsIDg5LCA2NSwgMTI4LCA4NCwgNzYsIDcyLCA4NywgNjksIDEyOCwgODQsIDc2LCA3MiwgODUsIDEyOCwgCiAgICAgODQsIDc2LCA3MiwgNzksIDc5LCAxMjgsIDg0LCA3NiwgNzIsIDc5LCAxMjgsIDg0LCA3NiwgNzIsIDczLCAxMjgsIDg0LCAKICAgICA3NiwgNzIsIDY5LCA2OSwgMTI4LCA4NCwgNzYsIDcyLCA2OSwgMTI4LCA4NCwgNzYsIDcyLCA2NSwgMTI4LCA4NCwgNzYsIAogICAgIDY5LCA2OSwgMTI4LCA4NCwgNzYsIDY1LCAxMjgsIDg0LCA3NCwgNjksIDEyOCwgODQsIDczLCA4OCwgMTI4LCA4NCwgNzMsIApAQCAtNTEzLDEyMSArNjEwLDEyMyBAQAogICAgIDg0LCA3MywgODAsIDY5LCA3MiwgNjUsIDEyOCwgODQsIDczLCA4MCwgMTI4LCA4NCwgNzMsIDIwOCwgODQsIDczLCA3OCwgCiAgICAgODksIDEyOCwgODQsIDczLCA3OCwgMjE3LCA4NCwgNzMsIDc4LCA3OCwgNjksIDEyOCwgODQsIDczLCA3OCwgNjcsIDg0LCAKICAgICA4NSwgODIsIDY5LCAxMjgsIDg0LCA3MywgNzgsIDY1LCA3MSwgNzcsIDY1LCAxMjgsIDg0LCA3MywgNzcsIDY5LCA4MywgCi0gICAgMTI4LCA4NCwgNzMsIDc3LCA2OSwgMjEwLCA4NCwgNzMsIDc3LCA2OSwgMTI4LCA4NCwgNzMsIDc2LCA2OCwgNjksIDEyOCwgCi0gICAgODQsIDczLCA3NiwgNjgsIDE5NywgODQsIDczLCA3NiwgMTI4LCA4NCwgNzMsIDIwNCwgODQsIDczLCA3NSwgNjksIDg1LCAKLSAgICA4NCwgNDUsIDg0LCA3MiwgNzMsIDY5LCA4NSwgODQsIDcyLCAxMjgsIDg0LCA3MywgNzUsIDY5LCA4NSwgODQsIDQ1LCA4MywgCi0gICAgNzMsIDc5LCA4MywgNDUsIDc1LCA3MywgODksIDY5LCA3OSwgNzUsIDEyOCwgODQsIDczLCA3NSwgNjksIDg1LCA4NCwgNDUsIAotICAgIDgzLCA3MywgNzksIDgzLCAxMjgsIDg0LCA3MywgNzUsIDY5LCA4NSwgODQsIDQ1LCA4MiwgNzMsIDY5LCA4NSwgNzYsIDEyOCwgCi0gICAgODQsIDczLCA3NSwgNjksIDg1LCA4NCwgNDUsIDgwLCA3MywgNjksIDg1LCA4MCwgMTI4LCA4NCwgNzMsIDc1LCA2OSwgODUsIAotICAgIDg0LCA0NSwgNzcsIDczLCA2OSwgODUsIDc3LCAxMjgsIDg0LCA3MywgNzUsIDY5LCA4NSwgODQsIDQ1LCA3NSwgNzMsIDg5LCAKLSAgICA2OSwgNzksIDc1LCAxMjgsIDg0LCA3MywgNzUsIDY5LCA4NSwgODQsIDQ1LCA2NywgNzMsIDY5LCA4NSwgNjcsIDEyOCwgODQsIAotICAgIDczLCA3NSwgNjksIDg1LCA4NCwgNDUsIDY3LCA3MiwgNzMsIDY5LCA4NSwgNjcsIDcyLCAxMjgsIDg0LCA3MywgNzUsIDY5LCAKLSAgICA4NSwgODQsIDEyOCwgODQsIDczLCA3NSwgNjksIDg1LCAyMTIsIDg0LCA3MywgNzMsIDEyOCwgODQsIDczLCA3MSwgNzIsIAotICAgIDg0LCA3NiwgODksIDQ1LCA2NywgNzYsIDc5LCA4MywgNjksIDE5NiwgODQsIDczLCA3MSwgNzIsIDIxMiwgODQsIDczLCA3MSwgCi0gICAgNjksIDgyLCAxMjgsIDg0LCA3MywgNzEsIDY5LCAyMTAsIDg0LCA3MywgNzAsIDczLCA3OCwgNjUsIDcxLCAyMDAsIDg0LCAKLSAgICA3MywgNjksIDg4LCAxMjgsIDg0LCA3MywgNjksIDgwLCAxMjgsIDg0LCA3MywgMTk3LCA4NCwgNzMsIDY3LCA3NSwgNjksIAotICAgIDg0LCAxMjgsIDg0LCA3MywgNjcsIDc1LCAxMjgsIDg0LCA3MywgNjcsIDIwMywgODQsIDczLCA2NSwgODIsIDY1LCAxMjgsIAotICAgIDg0LCA3MiwgOTAsIDEyOCwgODQsIDcyLCA4OSwgNzksIDc5LCAyMDUsIDg0LCA3MiwgODcsIDc5LCA3OSwgMTI4LCA4NCwgCi0gICAgNzIsIDg3LCA3OSwgMTI4LCA4NCwgNzIsIDg3LCA3MywgNzMsIDEyOCwgODQsIDcyLCA4NywgNzMsIDEyOCwgODQsIDcyLCAKLSAgICA4NywgNjksIDY5LCAxMjgsIDg0LCA3MiwgODcsIDY1LCA2NSwgMTI4LCA4NCwgNzIsIDg3LCA2NSwgMTI4LCA4NCwgNzIsIAotICAgIDg1LCA4MiwgMjExLCA4NCwgNzIsIDg1LCA4MiwgNzMsIDgzLCA2NSwgMjE4LCA4NCwgNzIsIDg1LCA3OCwgNzEsIDEyOCwgCi0gICAgODQsIDcyLCA4NSwgNzgsIDY4LCA2OSwgODIsIDgzLCA4NCwgNzksIDgyLCA3NywgMTI4LCA4NCwgNzIsIDg1LCA3OCwgNjgsIAotICAgIDY5LCA4MiwgMTI4LCA4NCwgNzIsIDg1LCA3OCwgNjgsIDY5LCAyMTAsIDg0LCA3MiwgODUsIDc3LCA2NiwgMjExLCA4NCwgCi0gICAgNzIsIDgyLCA3OSwgODcsIDczLCA3OCwgMTk5LCA4NCwgNzIsIDgyLCA3OSwgODUsIDcxLCA3MiwgMTI4LCA4NCwgNzIsIDgyLCAKLSAgICA3OSwgODUsIDcxLCAyMDAsIDg0LCA3MiwgODIsIDY5LCA2OSwgNDUsIDg0LCA3MiwgNzMsIDgyLCA4NCwgODksIDEyOCwgODQsIAotICAgIDcyLCA4MiwgNjksIDY5LCA0NSwgODAsIDY5LCA4MiwgNDUsIDY5LCAyMDUsIDg0LCA3MiwgODIsIDY5LCA2OSwgNDUsIDc2LCAKLSAgICA3MywgNzgsIDE5NywgODQsIDcyLCA4MiwgNjksIDY5LCA0NSwgMTk2LCA4NCwgNzIsIDgyLCA2OSwgNjUsIDY4LCAxMjgsIAotICAgIDg0LCA3MiwgNzksIDg1LCA4MywgNjUsIDc4LCA2OCwgMjExLCA4NCwgNzIsIDc5LCA4NSwgODMsIDY1LCA3OCwgNjgsIDEyOCwgCi0gICAgODQsIDcyLCA3OSwgODUsIDgzLCA2NSwgNzgsIDE5NiwgODQsIDcyLCA3OSwgODUsIDcxLCA3MiwgMjEyLCA4NCwgNzIsIDc5LCAKLSAgICA4NSwgMTI4LCA4NCwgNzIsIDc5LCA4MiwgNzgsIDEyOCwgODQsIDcyLCA3OSwgODIsIDIwNiwgODQsIDcyLCA3OSwgNzgsIAotICAgIDcxLCAxMjgsIDg0LCA3MiwgNzksIDY1LCAxMjgsIDg0LCA3MiwgMjA3LCA4NCwgNzIsIDczLCA4NSwgODQsIDcyLCAxMjgsIAotICAgIDg0LCA3MiwgNzMsIDg0LCA2NSwgMTI4LCA4NCwgNzIsIDczLCA4MiwgODQsIDg5LCA0NSwgODMsIDY5LCA2NywgNzksIDc4LCAKLSAgICAxOTYsIDg0LCA3MiwgNzMsIDgyLCA4NCwgODksIDQ1LCA3OSwgNzgsIDY5LCAxMjgsIDg0LCA3MiwgNzMsIDgyLCA4NCwgCi0gICAgMjE3LCA4NCwgNzIsIDczLCA4MiwgODQsIDY5LCA2OSwgNzgsIDEyOCwgODQsIDcyLCA3MywgODIsIDg0LCA2OSwgNjksIAotICAgIDIwNiwgODQsIDcyLCA3MywgODIsIDY4LCA4MywgMTI4LCA4NCwgNzIsIDczLCA4MiwgNjgsIDIxMSwgODQsIDcyLCA3MywgCi0gICAgODIsIDY4LCAxMjgsIDg0LCA3MiwgNzMsIDgyLCAxOTYsIDg0LCA3MiwgNzMsIDIwNiwgODQsIDcyLCA3MywgNzMsIDEyOCwgCi0gICAgODQsIDcyLCA3MywgNzEsIDcyLCAxMjgsIDg0LCA3MiwgNzMsIDY5LCA4NSwgODQsIDIwMCwgODQsIDcyLCA2OSwgODksIAotICAgIDEyOCwgODQsIDcyLCA2OSwgODQsIDcyLCA2OSwgMTI4LCA4NCwgNzIsIDY5LCA4NCwgNzIsIDEyOCwgODQsIDcyLCA2OSwgCi0gICAgODQsIDY1LCAxMjgsIDg0LCA3MiwgNjksIDg0LCAxOTMsIDg0LCA3MiwgNjksIDgzLCA4MCwgNzMsIDY1LCAyMDYsIDg0LCAKLSAgICA3MiwgNjksIDgzLCA2OSwgNzksIDgzLCAxMjgsIDg0LCA3MiwgNjksIDgzLCA2OSwgNzksIDIxMSwgODQsIDcyLCA2OSwgCi0gICAgMjExLCA4NCwgNzIsIDY5LCA4MiwgNzcsIDc5LCA2OCwgODksIDc4LCA2NSwgNzcsIDczLCA2NywgMTI4LCA4NCwgNzIsIDY5LCAKLSAgICA4MiwgNjksIDcwLCA3OSwgODIsIDY5LCAxMjgsIDg0LCA3MiwgNjksIDgyLCAxOTcsIDg0LCA3MiwgNjksIDIwNiwgODQsIAotICAgIDcyLCA2OSwgNzcsIDY1LCA4NCwgNzMsIDgzLCA3NywgNzksIDIxMSwgODQsIDcyLCA2OSwgNzcsIDY1LCAxMjgsIDg0LCA3MiwgCi0gICAgNjksIDc3LCAxOTMsIDg0LCA3MiwgNjksIDcyLCAxMjgsIDg0LCA3MiwgNjksIDIwMCwgODQsIDcyLCAxOTcsIDg0LCA3MiwgCi0gICAgNjUsIDg3LCAxMjgsIDg0LCA3MiwgNjUsIDc4LCA4NCwgNzIsIDY1LCA3NSwgNzIsIDY1LCA4NCwgMTI4LCA4NCwgNzIsIDY1LCAKLSAgICA3OCwgNzgsIDY1LCAxMjgsIDg0LCA3MiwgNjUsIDc4LCAxMjgsIDg0LCA3MiwgNjUsIDIwNiwgODQsIDcyLCA2NSwgNzYsIAotICAgIDEyOCwgODQsIDcyLCA2NSwgMjA0LCA4NCwgNzIsIDY1LCA3MiwgNjUsIDc4LCAxMjgsIDg0LCA3MiwgNjUsIDY1LCA3OCwgCi0gICAgMTkzLCA4NCwgNzIsIDY1LCA2NSwgNzYsIDg1LCAxMjgsIDg0LCA3MiwgNDUsIDY3LCA4MiwgNjksIDE5NywgODQsIDY5LCAKLSAgICA4OCwgODQsIDEyOCwgODQsIDY5LCA4OCwgMTI4LCA4NCwgNjksIDg2LCA3MywgODIsIDEyOCwgODQsIDY5LCA4NSwgODQsIAotICAgIDY5LCA4NSwgODgsIDEyOCwgODQsIDY5LCA4NSwgODQsIDY5LCA4NSwgODcsIDY5LCA3OCwgMTI4LCA4NCwgNjksIDg1LCA4NCwgCi0gICAgMTI4LCA4NCwgNjksIDg1LCA3OCwgMTI4LCA4NCwgNjksIDg1LCA2NSwgNjksIDgxLCAxMjgsIDg0LCA2OSwgODUsIDY1LCAKLSAgICA2OSwgNzgsIDEyOCwgODQsIDY5LCA4NSwgMTI4LCA4NCwgNjksIDg0LCA4MiwgNjUsIDgzLCA3MywgNzcsIDc5LCA4NSwgCi0gICAgMTI4LCA4NCwgNjksIDg0LCA4MiwgNjUsIDgzLCA2OSwgNzcsIDY5LCAxMjgsIDg0LCA2OSwgODQsIDgyLCA2NSwgODAsIDc2LCAKLSAgICA3MywgMTI4LCA4NCwgNjksIDg0LCA4MiwgNjUsIDcwLCA3OSwgNzgsIDczLCA2NSwgODMsIDEyOCwgODQsIDY5LCA4NCwgNzIsIAotICAgIDEyOCwgODQsIDY5LCA4NCwgMjAwLCA4NCwgNjksIDg0LCA2NSwgODIsIDg0LCA3OSwgMjExLCA4NCwgNjksIDg0LCA2NSwgCi0gICAgODIsIDg0LCA3MywgNzcsIDc5LCA4MiwgNzMsIDc5LCA3OCwgMTI4LCA4NCwgNjksIDg0LCAxMjgsIDg0LCA2OSwgMjEyLCAKLSAgICA4NCwgNjksIDgzLCA4MywgNjksIDgyLCA2NSwgMTI4LCA4NCwgNjksIDgzLCA4MywgNjksIDgyLCAxOTMsIDg0LCA2OSwgODMsIAotICAgIDgzLCA2NSwgODIsIDc5LCAyMDYsIDg0LCA2OSwgODMsIDIwMCwgODQsIDY5LCA4MiwgNzcsIDczLCA3OCwgNjUsIDg0LCA3OSwgCi0gICAgODIsIDEyOCwgODQsIDY5LCA4MCwgMTI4LCA4NCwgNjksIDc4LCA4NSwgODQsIDc5LCAxMjgsIDg0LCA2OSwgNzgsIDg1LCAKLSAgICAxMjgsIDg0LCA2OSwgNzgsIDIxMywgODQsIDY5LCA3OCwgODQsIDcyLCAxMjgsIDg0LCA2OSwgNzgsIDg0LCAxMjgsIDg0LCAKLSAgICA2OSwgNzgsIDIxMSwgODQsIDY5LCA3OCwgNzgsIDczLCAyMTEsIDg0LCA2OSwgNzgsIDcxLCAxOTcsIDg0LCA2OSwgNzgsIAotICAgIDQ1LCA4NCwgNzIsIDczLCA4MiwgODQsIDg5LCAxMjgsIDg0LCA2OSwgNzgsIDEyOCwgODQsIDY5LCAyMDYsIDg0LCA2OSwgCi0gICAgNzcsIDgwLCA4NSwgMjExLCA4NCwgNjksIDc2LCA4NSwgMTI4LCA4NCwgNjksIDc2LCA3OSwgODUsIDIxMSwgODQsIDY5LCAKLSAgICA3NiwgNzYsIDY5LCAyMTAsIDg0LCA2OSwgNzYsIDczLCA4MywgNzIsIDE5MywgODQsIDY5LCA3NiwgNjksIDg2LCA3MywgODMsIAotICAgIDczLCA3OSwgNzgsIDEyOCwgODQsIDY5LCA3NiwgNjksIDgzLCA2NywgNzksIDgwLCA2OSwgMTI4LCA4NCwgNjksIDc2LCA2OSwgCi0gICAgODAsIDcyLCA3OSwgNzgsIDY5LCAxMjgsIDg0LCA2OSwgNzYsIDY5LCA4MCwgNzIsIDc5LCA3OCwgMTk3LCA4NCwgNjksIDc2LCAKLSAgICA2OSwgNzMsIDY1LCAxMjgsIDg0LCA2OSwgNzMsIDg3LCA4MywgMTI4LCA4NCwgNjksIDcxLCA2OSwgNzIsIDEyOCwgODQsIAotICAgIDY5LCA2OSwgNjksIDY5LCAxMjgsIDg0LCA2OSwgMTk3LCA4NCwgNjksIDY4LCA4NSwgNzgsIDcxLCAxMjgsIDg0LCA2OSwgCi0gICAgNjUsIDgyLCAyMTEsIDg0LCA2OSwgNjUsIDgyLCA2OCwgODIsIDc5LCA4MCwgNDUsIDgzLCA4MCwgNzksIDc1LCA2OSwgMTk2LCAKLSAgICA4NCwgNjksIDY1LCA4MiwgNjgsIDgyLCA3OSwgODAsIDQ1LCA4MywgNzIsIDY1LCA3OCwgNzUsIDY5LCAxOTYsIDg0LCA2OSwgCi0gICAgNjUsIDgyLCA2OCwgODIsIDc5LCA4MCwgNDUsIDY2LCA2NSwgODIsIDY2LCA2OSwgMTk2LCA4NCwgNjksIDY1LCA4MiwgNDUsIAotICAgIDc5LCA3MCwgMTk4LCA4NCwgNjksIDY1LCA2NywgODUsIDIwOCwgODQsIDY5LCA0NSwgODUsIDEyOCwgODQsIDY3LCA3MiwgCi0gICAgNjksIDcyLCA2OSwgNzIsIDEyOCwgODQsIDY3LCA3MiwgNjksIDcyLCA2OSwgMjAwLCA4NCwgNjcsIDcyLCA2OSwgNzIsIAotICAgIDEyOCwgODQsIDY3LCA3MiwgNjksIDIwMCwgODQsIDY3LCA3MiwgNjksIDEyOCwgODQsIDE5NSwgODQsIDY1LCA4OSwgMTI4LCAKLSAgICA4NCwgNjUsIDg4LCA3MywgMTI4LCA4NCwgNjUsIDg4LCAxMjgsIDg0LCA2NSwgODcsIDY5LCA3NiwgNzYsIDY5LCA3NywgNjksIAotICAgIDIxMiwgODQsIDY1LCA4NywgNjUsIDEyOCwgODQsIDY1LCA4NywgMTI4LCA4NCwgNjUsIDg2LCA3MywgODksIDY1LCA3OCwgCi0gICAgNzMsIDEyOCwgODQsIDY1LCA4NiwgMTI4LCA4NCwgNjUsIDIxNCwgODQsIDY1LCA4NSwgODIsIDg1LCA4MywgMTI4LCA4NCwgCi0gICAgNjUsIDg1LCAxMjgsIDg0LCA2NSwgMjEzLCA4NCwgNjUsIDg0LCA4NywgNjksIDY5LCA3NiwgMTI4LCA4NCwgNjUsIDg0LCAKLSAgICA4NywgNjksIDY5LCAyMDQsIDg0LCA2NSwgODQsIDg0LCA3OSwgNzksIDY5LCAxOTYsIDg0LCA2NSwgODQsIDEyOCwgODQsIAotICAgIDY1LCA4MiwgODUsIDc4LCA3MSwgMTI4LCA4NCwgNjUsIDgyLCA4NCwgNjUsIDgyLCA0NSwgNTAsIDEyOCwgODQsIDY1LCA4MiwgCi0gICAgODQsIDY1LCA4MiwgMTI4LCA4NCwgNjUsIDgxLCAxMjgsIDg0LCA2NSwgODAsIDY5LCA4MiwgMTI4LCA4NCwgNjUsIDgwLCAKLSAgICAxOTcsIDg0LCA2NSwgODAsIDEyOCwgODQsIDY1LCA3OSwgMTI4LCA4NCwgNjUsIDc4LCA3OCwgNjksIDE5NiwgODQsIDY1LCAKLSAgICA3OCwgNzEsIDY5LCA4MiwgNzMsIDc4LCA2OSwgMTI4LCA4NCwgNjUsIDc4LCAxOTksIDg0LCA2NSwgNzgsIDY1LCA2NiwgNjUsIAotICAgIDg0LCAxOTMsIDg0LCA2NSwgNzgsIDEyOCwgODQsIDY1LCA3NywgNzMsIDc4LCA3MSwgMTI4LCA4NCwgNjUsIDc3LCAxMjgsIAotICAgIDg0LCA2NSwgNzYsIDc2LCAxMjgsIDg0LCA2NSwgNzYsIDIwNCwgODQsIDY1LCA3NiwgNzMsIDc4LCA3MSwgMTI4LCA4NCwgCi0gICAgNjUsIDc2LCA3MywgNzgsIDE5OSwgODQsIDY1LCA3NiwgNjksIDc4LCA4NCwgODMsIDEyOCwgODQsIDY1LCA3NiwgNjksIDc4LCAKLSAgICAyMTIsIDg0LCA2NSwgNzUsIDcyLCA2NSwgNzYsIDc2LCA4NSwgODMsIDEyOCwgODQsIDY1LCA3NSwgNjksIDEyOCwgODQsIAotICAgIDY1LCA3NSwgNTIsIDEyOCwgODQsIDY1LCA3NSwgMTI4LCA4NCwgNjUsIDczLCA4MywgODksIDc5LCA4NSwgMTI4LCA4NCwgCi0gICAgNjUsIDczLCA3NiwgNzYsIDY5LCA4MywgMjExLCA4NCwgNjUsIDczLCA3NiwgMTI4LCA4NCwgNjUsIDczLCAyMDQsIDg0LCAKLSAgICA2NSwgNzIsIDEyOCwgODQsIDY1LCAyMDAsIDg0LCA2NSwgNzEsIDY2LCA2NSwgNzgsIDg3LCAxOTMsIDg0LCA2NSwgNzEsIAotICAgIDY1LCA3NiwgNzksIDE5OSwgODQsIDY1LCA3MSwgMTI4LCA4NCwgNjUsIDY5LCAyMDYsIDg0LCA2NSwgNjcsIDc1LCAxMjgsIAotICAgIDg0LCA2NSwgNjcsIDIwMywgODQsIDY1LCA2NiwgODUsIDc2LCA2NSwgODQsIDczLCA3OSwgNzgsIDEyOCwgODQsIDY1LCA2NiwgCi0gICAgODMsIDEyOCwgODQsIDY1LCA2NiwgNzYsIDY5LCAxMjgsIDg0LCA2NSwgNjYsIDEyOCwgODQsIDY1LCAxOTQsIDg0LCA2NSwgCi0gICAgNjUsIDgzLCA3MiwgNjUsIDY5LCAxMjgsIDg0LCA2NSwgNjUsIDgxLCAxMjgsIDg0LCA2NSwgNjUsIDc3LCAxMjgsIDg0LCAKLSAgICA2NSwgNjUsIDc2LCA4NSwgNzQsIDE5MywgODQsIDY1LCA2NSwgNzMsIDEyOCwgODQsIDY1LCA2NSwgNzAsIDEyOCwgODQsIAotICAgIDY1LCA1MCwgMTI4LCA4NCwgNjUsIDQ1LCA4MiwgNzksIDc2LCAxMjgsIDg0LCA0OCwgNTEsIDU0LCAxMjgsIDg0LCA0OCwgCi0gICAgNTEsIDUzLCAxMjgsIDg0LCA0OCwgNTEsIDUyLCAxMjgsIDg0LCA0OCwgNTEsIDUxLCA2NSwgMTI4LCA4NCwgNDgsIDUxLCAKLSAgICA1MSwgMTI4LCA4NCwgNDgsIDUxLCA1MCwgNjUsIDEyOCwgODQsIDQ4LCA1MSwgNTAsIDEyOCwgODQsIDQ4LCA1MSwgNDksIAotICAgIDEyOCwgODQsIDQ4LCA1MSwgNDgsIDEyOCwgODQsIDQ4LCA1MCwgNTcsIDEyOCwgODQsIDQ4LCA1MCwgNTYsIDEyOCwgODQsIAotICAgIDQ4LCA1MCwgNTUsIDEyOCwgODQsIDQ4LCA1MCwgNTQsIDEyOCwgODQsIDQ4LCA1MCwgNTMsIDEyOCwgODQsIDQ4LCA1MCwgCi0gICAgNTIsIDEyOCwgODQsIDQ4LCA1MCwgNTEsIDEyOCwgODQsIDQ4LCA1MCwgNTAsIDEyOCwgODQsIDQ4LCA1MCwgNDksIDEyOCwgCi0gICAgODQsIDQ4LCA1MCwgNDgsIDEyOCwgODQsIDQ4LCA0OSwgNTcsIDEyOCwgODQsIDQ4LCA0OSwgNTYsIDEyOCwgODQsIDQ4LCAKLSAgICA0OSwgNTUsIDEyOCwgODQsIDQ4LCA0OSwgNTQsIDY1LCAxMjgsIDg0LCA0OCwgNDksIDU0LCAxMjgsIDg0LCA0OCwgNDksIAotICAgIDUzLCAxMjgsIDg0LCA0OCwgNDksIDUyLCAxMjgsIDg0LCA0OCwgNDksIDUxLCAxMjgsIDg0LCA0OCwgNDksIDUwLCAxMjgsIAotICAgIDg0LCA0OCwgNDksIDQ5LCA2NSwgMTI4LCA4NCwgNDgsIDQ5LCA0OSwgMTI4LCA4NCwgNDgsIDQ5LCA0OCwgMTI4LCA4NCwgCi0gICAgNDgsIDQ4LCA1NywgNjUsIDEyOCwgODQsIDQ4LCA0OCwgNTcsIDEyOCwgODQsIDQ4LCA0OCwgNTYsIDY1LCAxMjgsIDg0LCAKLSAgICA0OCwgNDgsIDU2LCAxMjgsIDg0LCA0OCwgNDgsIDU1LCA2NSwgMTI4LCA4NCwgNDgsIDQ4LCA1NSwgMTI4LCA4NCwgNDgsIAotICAgIDQ4LCA1NCwgMTI4LCA4NCwgNDgsIDQ4LCA1MywgMTI4LCA4NCwgNDgsIDQ4LCA1MiwgMTI4LCA4NCwgNDgsIDQ4LCA1MSwgCi0gICAgNjUsIDEyOCwgODQsIDQ4LCA0OCwgNTEsIDEyOCwgODQsIDQ4LCA0OCwgNTAsIDEyOCwgODQsIDQ4LCA0OCwgNDksIDEyOCwgCi0gICAgODQsIDQ1LCA4MywgNzIsIDczLCA4MiwgODQsIDEyOCwgODMsIDkwLCA5MCwgMTI4LCA4MywgOTAsIDg3LCA3MSwgMTI4LCAKLSAgICA4MywgOTAsIDg3LCA2NSwgMTI4LCA4MywgOTAsIDg1LCAxMjgsIDgzLCA5MCwgNzksIDEyOCwgODMsIDkwLCA3MywgMTI4LCAKLSAgICA4MywgOTAsIDY5LCA2OSwgMTI4LCA4MywgOTAsIDY5LCAxMjgsIDgzLCA5MCwgNjUsIDY1LCAxMjgsIDgzLCA5MCwgNjUsIAotICAgIDEyOCwgODMsIDkwLCAxMjgsIDgzLCA4OSwgODgsIDEyOCwgODMsIDg5LCA4NCwgMTI4LCA4MywgODksIDgyLCA4OCwgMTI4LCAKLSAgICA4MywgODksIDgyLCA3NywgNjUsIDg0LCA3MywgNzUsIDczLCAxMjgsIDgzLCA4OSwgODIsIDc3LCA2NSwgMTI4LCA4MywgODksIAotICAgIDgyLCA3MywgNzgsIDcxLCA2OSwgMTI4LCA4MywgODksIDgyLCAxMjgsIDgzLCA4OSwgODAsIDEyOCwgODMsIDg5LCA3OSwgCi0gICAgODUsIDg3LCA2NSwgMTI4LCA4MywgODksIDc4LCA2OSwgODYsIDc3LCA2NSwgMTI4LCA4MywgODksIDc4LCA2OCwgNjksIDgzLCAKLSAgICA3NywgNzksIDIxMSwgODMsIDg5LCA3OCwgNjcsIDcyLCA4MiwgNzksIDc4LCA3OSwgODUsIDIxMSwgODMsIDg5LCA3OCwgNjUsIAotICAgIDcxLCA3NywgMTkzLCA4MywgODksIDc4LCA2NSwgNzAsIDczLCAxMjgsIDgzLCA4OSwgNzcsIDc3LCA2OSwgODQsIDgyLCA4OSwgCisgICAgMTI4LCA4NCwgNzMsIDc3LCA2OSwgMjEwLCA4NCwgNzMsIDc3LCA2OSwgMTI4LCA4NCwgNzMsIDc2LCA2OCwgMTk3LCA4NCwgCisgICAgNzMsIDc2LCAxMjgsIDg0LCA3MywgMjA0LCA4NCwgNzMsIDc1LCA2OSwgODUsIDg0LCA0NSwgODQsIDcyLCA3MywgNjksIDg1LCAKKyAgICA4NCwgNzIsIDEyOCwgODQsIDczLCA3NSwgNjksIDg1LCA4NCwgNDUsIDgzLCA3MywgNzksIDgzLCA0NSwgNzUsIDczLCA4OSwgCisgICAgNjksIDc5LCA3NSwgMTI4LCA4NCwgNzMsIDc1LCA2OSwgODUsIDg0LCA0NSwgODMsIDczLCA3OSwgODMsIDEyOCwgODQsIDczLCAKKyAgICA3NSwgNjksIDg1LCA4NCwgNDUsIDgyLCA3MywgNjksIDg1LCA3NiwgMTI4LCA4NCwgNzMsIDc1LCA2OSwgODUsIDg0LCA0NSwgCisgICAgODAsIDczLCA2OSwgODUsIDgwLCAxMjgsIDg0LCA3MywgNzUsIDY5LCA4NSwgODQsIDQ1LCA3NywgNzMsIDY5LCA4NSwgNzcsIAorICAgIDEyOCwgODQsIDczLCA3NSwgNjksIDg1LCA4NCwgNDUsIDc1LCA3MywgODksIDY5LCA3OSwgNzUsIDEyOCwgODQsIDczLCA3NSwgCisgICAgNjksIDg1LCA4NCwgNDUsIDY3LCA3MywgNjksIDg1LCA2NywgMTI4LCA4NCwgNzMsIDc1LCA2OSwgODUsIDg0LCA0NSwgNjcsIAorICAgIDcyLCA3MywgNjksIDg1LCA2NywgNzIsIDEyOCwgODQsIDczLCA3NSwgNjksIDg1LCA4NCwgMTI4LCA4NCwgNzMsIDc1LCA2OSwgCisgICAgODUsIDIxMiwgODQsIDczLCA3MSwgNzIsIDg0LCA3NiwgODksIDQ1LCA2NywgNzYsIDc5LCA4MywgNjksIDE5NiwgODQsIDczLCAKKyAgICA3MSwgNzIsIDIxMiwgODQsIDczLCA3MSwgNjksIDgyLCAxMjgsIDg0LCA3MywgNzEsIDY5LCAyMTAsIDg0LCA3MywgNzAsIAorICAgIDczLCA3OCwgNjUsIDcxLCAyMDAsIDg0LCA3MywgNjksIDg4LCAxMjgsIDg0LCA3MywgNjksIDgwLCAxMjgsIDg0LCA3MywgCisgICAgMTk3LCA4NCwgNzMsIDY3LCA3NSwgNjksIDg0LCAxMjgsIDg0LCA3MywgNjcsIDc1LCAxMjgsIDg0LCA3MywgNjcsIDIwMywgCisgICAgODQsIDczLCA2NSwgODIsIDY1LCAxMjgsIDg0LCA3MiwgOTAsIDEyOCwgODQsIDcyLCA4OSwgNzksIDc5LCAyMDUsIDg0LCAKKyAgICA3MiwgODcsIDc5LCA3OSwgMTI4LCA4NCwgNzIsIDg3LCA3OSwgMTI4LCA4NCwgNzIsIDg3LCA3MywgNzMsIDEyOCwgODQsIAorICAgIDcyLCA4NywgNzMsIDEyOCwgODQsIDcyLCA4NywgNjksIDY5LCAxMjgsIDg0LCA3MiwgODcsIDY1LCA2NSwgMTI4LCA4NCwgCisgICAgNzIsIDg3LCA2NSwgMTI4LCA4NCwgNzIsIDg1LCA4MiwgMjExLCA4NCwgNzIsIDg1LCA4MiwgNzMsIDgzLCA2NSwgMjE4LCAKKyAgICA4NCwgNzIsIDg1LCA3OCwgNzEsIDEyOCwgODQsIDcyLCA4NSwgNzgsIDY4LCA2OSwgODIsIDgzLCA4NCwgNzksIDgyLCA3NywgCisgICAgMTI4LCA4NCwgNzIsIDg1LCA3OCwgNjgsIDY5LCA4MiwgMTI4LCA4NCwgNzIsIDg1LCA3OCwgNjgsIDY5LCAyMTAsIDg0LCAKKyAgICA3MiwgODUsIDc3LCA2NiwgMjExLCA4NCwgNzIsIDgyLCA3OSwgODcsIDczLCA3OCwgMTk5LCA4NCwgNzIsIDgyLCA3OSwgODUsIAorICAgIDcxLCA3MiwgMTI4LCA4NCwgNzIsIDgyLCA3OSwgODUsIDcxLCAyMDAsIDg0LCA3MiwgODIsIDY5LCA2OSwgNDUsIDg0LCA3MiwgCisgICAgNzMsIDgyLCA4NCwgODksIDEyOCwgODQsIDcyLCA4MiwgNjksIDY5LCA0NSwgODAsIDY5LCA4MiwgNDUsIDY5LCAyMDUsIDg0LCAKKyAgICA3MiwgODIsIDY5LCA2OSwgNDUsIDc2LCA3MywgNzgsIDE5NywgODQsIDcyLCA4MiwgNjksIDY5LCA0NSwgNjksIDIwNSwgODQsIAorICAgIDcyLCA4MiwgNjksIDY5LCA0NSwgMTk2LCA4NCwgNzIsIDgyLCA2OSwgNjUsIDY4LCAxMjgsIDg0LCA3MiwgNzksIDg1LCA4MywgCisgICAgNjUsIDc4LCA2OCwgMjExLCA4NCwgNzIsIDc5LCA4NSwgODMsIDY1LCA3OCwgNjgsIDEyOCwgODQsIDcyLCA3OSwgODUsIDgzLCAKKyAgICA2NSwgNzgsIDE5NiwgODQsIDcyLCA3OSwgODUsIDcxLCA3MiwgMjEyLCA4NCwgNzIsIDc5LCA4NSwgMTI4LCA4NCwgNzIsIAorICAgIDc5LCA4MiwgNzgsIDEyOCwgODQsIDcyLCA3OSwgODIsIDIwNiwgODQsIDcyLCA3OSwgNzgsIDcxLCAxMjgsIDg0LCA3MiwgCisgICAgNzksIDY1LCAxMjgsIDg0LCA3MiwgMjA3LCA4NCwgNzIsIDczLCA4NSwgODQsIDcyLCAxMjgsIDg0LCA3MiwgNzMsIDg0LCAKKyAgICA2NSwgMTI4LCA4NCwgNzIsIDczLCA4MiwgODQsIDg5LCA0NSwgODMsIDY5LCA2NywgNzksIDc4LCAxOTYsIDg0LCA3MiwgNzMsIAorICAgIDgyLCA4NCwgODksIDQ1LCA3OSwgNzgsIDY5LCAxMjgsIDg0LCA3MiwgNzMsIDgyLCA4NCwgMjE3LCA4NCwgNzIsIDczLCA4MiwgCisgICAgODQsIDY5LCA2OSwgNzgsIDEyOCwgODQsIDcyLCA3MywgODIsIDg0LCA2OSwgNjksIDIwNiwgODQsIDcyLCA3MywgODIsIDY4LCAKKyAgICA4MywgMTI4LCA4NCwgNzIsIDczLCA4MiwgNjgsIDIxMSwgODQsIDcyLCA3MywgODIsIDY4LCAxMjgsIDg0LCA3MiwgNzMsIAorICAgIDgyLCAxOTYsIDg0LCA3MiwgNzMsIDIwNiwgODQsIDcyLCA3MywgNzMsIDEyOCwgODQsIDcyLCA3MywgNzEsIDcyLCAxMjgsIAorICAgIDg0LCA3MiwgNzMsIDY5LCA4NSwgODQsIDIwMCwgODQsIDcyLCA2OSwgODksIDEyOCwgODQsIDcyLCA2OSwgODQsIDcyLCA2OSwgCisgICAgMTI4LCA4NCwgNzIsIDY5LCA4NCwgNzIsIDEyOCwgODQsIDcyLCA2OSwgODQsIDY1LCAxMjgsIDg0LCA3MiwgNjksIDg0LCAKKyAgICAxOTMsIDg0LCA3MiwgNjksIDgzLCA4MCwgNzMsIDY1LCAyMDYsIDg0LCA3MiwgNjksIDgzLCA2OSwgNzksIDgzLCAxMjgsIAorICAgIDg0LCA3MiwgNjksIDgzLCA2OSwgNzksIDIxMSwgODQsIDcyLCA2OSwgMjExLCA4NCwgNzIsIDY5LCA4MiwgNzcsIDc5LCA2OCwgCisgICAgODksIDc4LCA2NSwgNzcsIDczLCA2NywgMTI4LCA4NCwgNzIsIDY5LCA4MiwgNjksIDcwLCA3OSwgODIsIDY5LCAxMjgsIDg0LCAKKyAgICA3MiwgNjksIDgyLCAxOTcsIDg0LCA3MiwgNjksIDIwNiwgODQsIDcyLCA2OSwgNzcsIDY1LCA4NCwgNzMsIDgzLCA3NywgNzksIAorICAgIDIxMSwgODQsIDcyLCA2OSwgNzcsIDY1LCAxMjgsIDg0LCA3MiwgNjksIDc3LCAxOTMsIDg0LCA3MiwgNjksIDcyLCAxMjgsIAorICAgIDg0LCA3MiwgNjksIDIwMCwgODQsIDcyLCAxOTcsIDg0LCA3MiwgNjUsIDg3LCAxMjgsIDg0LCA3MiwgNjUsIDc4LCA4NCwgCisgICAgNzIsIDY1LCA3NSwgNzIsIDY1LCA4NCwgMTI4LCA4NCwgNzIsIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDg0LCA3MiwgNjUsIDc4LCAKKyAgICAxMjgsIDg0LCA3MiwgNjUsIDIwNiwgODQsIDcyLCA2NSwgNzYsIDEyOCwgODQsIDcyLCA2NSwgMjA0LCA4NCwgNzIsIDY1LCAKKyAgICA3MiwgNjUsIDc4LCAxMjgsIDg0LCA3MiwgNjUsIDY1LCA3OCwgMTkzLCA4NCwgNzIsIDY1LCA2NSwgNzYsIDg1LCAxMjgsIAorICAgIDg0LCA3MiwgNDUsIDY3LCA4MiwgNjksIDE5NywgODQsIDY5LCA4OCwgODQsIDEyOCwgODQsIDY5LCA4OCwgMTI4LCA4NCwgCisgICAgNjksIDg2LCA3MywgODIsIDEyOCwgODQsIDY5LCA4NSwgODQsIDY5LCA4NSwgODgsIDEyOCwgODQsIDY5LCA4NSwgODQsIDY5LCAKKyAgICA4NSwgODcsIDY5LCA3OCwgMTI4LCA4NCwgNjksIDg1LCA4NCwgMTI4LCA4NCwgNjksIDg1LCA3OCwgMTI4LCA4NCwgNjksIAorICAgIDg1LCA2NSwgNjksIDgxLCAxMjgsIDg0LCA2OSwgODUsIDY1LCA2OSwgNzgsIDEyOCwgODQsIDY5LCA4NSwgMTI4LCA4NCwgCisgICAgNjksIDg0LCA4MiwgNjUsIDgzLCA3MywgNzcsIDc5LCA4NSwgMTI4LCA4NCwgNjksIDg0LCA4MiwgNjUsIDgzLCA2OSwgNzcsIAorICAgIDY5LCAxMjgsIDg0LCA2OSwgODQsIDgyLCA2NSwgODAsIDc2LCA3MywgMTI4LCA4NCwgNjksIDg0LCA4MiwgNjUsIDcwLCA3OSwgCisgICAgNzgsIDczLCA2NSwgODMsIDEyOCwgODQsIDY5LCA4NCwgNzIsIDEyOCwgODQsIDY5LCA4NCwgMjAwLCA4NCwgNjksIDg0LCAKKyAgICA2NSwgODIsIDg0LCA3OSwgMjExLCA4NCwgNjksIDg0LCA2NSwgODIsIDg0LCA3MywgNzcsIDc5LCA4MiwgNzMsIDc5LCA3OCwgCisgICAgMTI4LCA4NCwgNjksIDg0LCAxMjgsIDg0LCA2OSwgMjEyLCA4NCwgNjksIDgzLCA4MywgNjksIDgyLCA2NSwgMTI4LCA4NCwgCisgICAgNjksIDgzLCA4MywgNjksIDgyLCAxOTMsIDg0LCA2OSwgODMsIDgzLCA2NSwgODIsIDc5LCAyMDYsIDg0LCA2OSwgODMsIAorICAgIDIwMCwgODQsIDY5LCA4MiwgNzcsIDczLCA3OCwgNjUsIDg0LCA3OSwgODIsIDEyOCwgODQsIDY5LCA4MCwgMTI4LCA4NCwgCisgICAgNjksIDc4LCA4NSwgODQsIDc5LCAxMjgsIDg0LCA2OSwgNzgsIDg1LCAxMjgsIDg0LCA2OSwgNzgsIDIxMywgODQsIDY5LCAKKyAgICA3OCwgODQsIDcyLCAxMjgsIDg0LCA2OSwgNzgsIDg0LCAxMjgsIDg0LCA2OSwgNzgsIDIxMSwgODQsIDY5LCA3OCwgNzgsIAorICAgIDczLCAyMTEsIDg0LCA2OSwgNzgsIDcxLCAxOTcsIDg0LCA2OSwgNzgsIDQ1LCA4NCwgNzIsIDczLCA4MiwgODQsIDg5LCAKKyAgICAxMjgsIDg0LCA2OSwgNzgsIDEyOCwgODQsIDY5LCAyMDYsIDg0LCA2OSwgNzcsIDgwLCA4NSwgMjExLCA4NCwgNjksIDc2LCAKKyAgICA4NSwgMTI4LCA4NCwgNjksIDc2LCA3OSwgODUsIDIxMSwgODQsIDY5LCA3NiwgNzYsIDY5LCAyMTAsIDg0LCA2OSwgNzYsIAorICAgIDczLCA4MywgNzIsIDE5MywgODQsIDY5LCA3NiwgNjksIDg2LCA3MywgODMsIDczLCA3OSwgNzgsIDEyOCwgODQsIDY5LCA3NiwgCisgICAgNjksIDgzLCA2NywgNzksIDgwLCA2OSwgMTI4LCA4NCwgNjksIDc2LCA2OSwgODAsIDcyLCA3OSwgNzgsIDY5LCAxMjgsIDg0LCAKKyAgICA2OSwgNzYsIDY5LCA4MCwgNzIsIDc5LCA3OCwgMTk3LCA4NCwgNjksIDc2LCA2OSwgNzMsIDY1LCAxMjgsIDg0LCA2OSwgNzYsIAorICAgIDY5LCA3MSwgODIsIDY1LCA4MCwgMjAwLCA4NCwgNjksIDczLCA4NywgODMsIDEyOCwgODQsIDY5LCA3MSwgNjksIDcyLCAKKyAgICAxMjgsIDg0LCA2OSwgNjksIDY5LCA2OSwgMTI4LCA4NCwgNjksIDE5NywgODQsIDY5LCA2OCwgODUsIDc4LCA3MSwgMTI4LCAKKyAgICA4NCwgNjksIDY1LCA4MiwgMjExLCA4NCwgNjksIDY1LCA4MiwgNjgsIDgyLCA3OSwgODAsIDQ1LCA4MywgODAsIDc5LCA3NSwgCisgICAgNjksIDE5NiwgODQsIDY5LCA2NSwgODIsIDY4LCA4MiwgNzksIDgwLCA0NSwgODMsIDcyLCA2NSwgNzgsIDc1LCA2OSwgMTk2LCAKKyAgICA4NCwgNjksIDY1LCA4MiwgNjgsIDgyLCA3OSwgODAsIDQ1LCA2NiwgNjUsIDgyLCA2NiwgNjksIDE5NiwgODQsIDY5LCA2NSwgCisgICAgODIsIDQ1LCA3OSwgNzAsIDE5OCwgODQsIDY5LCA2NSwgNjcsIDg1LCAyMDgsIDg0LCA2OSwgNDUsIDg1LCAxMjgsIDg0LCAKKyAgICA2OSwgNDUsIDUwLCAxMjgsIDg0LCA2NywgNzIsIDY5LCA3MiwgNjksIDcyLCAxMjgsIDg0LCA2NywgNzIsIDY5LCA3MiwgNjksIAorICAgIDIwMCwgODQsIDY3LCA3MiwgNjksIDcyLCAxMjgsIDg0LCA2NywgNzIsIDY5LCAyMDAsIDg0LCA2NywgNzIsIDY5LCAxMjgsIAorICAgIDg0LCAxOTUsIDg0LCA2NSwgODksIDEyOCwgODQsIDY1LCA4OCwgNzMsIDEyOCwgODQsIDY1LCA4OCwgMTI4LCA4NCwgNjUsIAorICAgIDg3LCA2OSwgNzYsIDc2LCA2OSwgNzcsIDY5LCAyMTIsIDg0LCA2NSwgODcsIDY1LCAxMjgsIDg0LCA2NSwgODcsIDEyOCwgCisgICAgODQsIDY1LCA4NiwgNzMsIDg5LCA2NSwgNzgsIDczLCAxMjgsIDg0LCA2NSwgODYsIDEyOCwgODQsIDY1LCAyMTQsIDg0LCAKKyAgICA2NSwgODUsIDgyLCA4NSwgODMsIDEyOCwgODQsIDY1LCAyMTMsIDg0LCA2NSwgODQsIDg3LCA2OSwgNjksIDc2LCAxMjgsIAorICAgIDg0LCA2NSwgODQsIDg3LCA2OSwgNjksIDIwNCwgODQsIDY1LCA4NCwgODQsIDc5LCA3OSwgNjksIDE5NiwgODQsIDY1LCA4NCwgCisgICAgMTI4LCA4NCwgNjUsIDgyLCA4NSwgNzgsIDcxLCAxMjgsIDg0LCA2NSwgODIsIDg0LCA2NSwgODIsIDQ1LCA1MCwgMTI4LCAKKyAgICA4NCwgNjUsIDgyLCA4NCwgNjUsIDgyLCAxMjgsIDg0LCA2NSwgODEsIDEyOCwgODQsIDY1LCA4MCwgNjksIDgyLCAxMjgsIAorICAgIDg0LCA2NSwgODAsIDE5NywgODQsIDY1LCA4MCwgMTI4LCA4NCwgNjUsIDc5LCAxMjgsIDg0LCA2NSwgNzgsIDc4LCA2OSwgCisgICAgMTk2LCA4NCwgNjUsIDc4LCA3MSwgNjksIDgyLCA3MywgNzgsIDY5LCAxMjgsIDg0LCA2NSwgNzgsIDE5OSwgODQsIDY1LCAKKyAgICA3OCwgNjUsIDY2LCA2NSwgODQsIDE5MywgODQsIDY1LCA3OCwgMTI4LCA4NCwgNjUsIDc3LCA3MywgNzgsIDcxLCAxMjgsIAorICAgIDg0LCA2NSwgNzcsIDEyOCwgODQsIDY1LCA3NiwgNzYsIDEyOCwgODQsIDY1LCA3NiwgMjA0LCA4NCwgNjUsIDc2LCA3MywgCisgICAgNzgsIDcxLCAxMjgsIDg0LCA2NSwgNzYsIDczLCA3OCwgMTk5LCA4NCwgNjUsIDc2LCA2OSwgNzgsIDg0LCA4MywgMTI4LCAKKyAgICA4NCwgNjUsIDc2LCA2OSwgNzgsIDIxMiwgODQsIDY1LCA3NSwgODIsIDIwMSwgODQsIDY1LCA3NSwgNzIsIDY1LCA3NiwgNzYsIAorICAgIDg1LCA4MywgMTI4LCA4NCwgNjUsIDc1LCA2OSwgMTI4LCA4NCwgNjUsIDc1LCA1MiwgMTI4LCA4NCwgNjUsIDc1LCAxMjgsIAorICAgIDg0LCA2NSwgNzMsIDgzLCA4OSwgNzksIDg1LCAxMjgsIDg0LCA2NSwgNzMsIDc2LCA3NiwgNjksIDgzLCAyMTEsIDg0LCA2NSwgCisgICAgNzMsIDc2LCAxMjgsIDg0LCA2NSwgNzMsIDIwNCwgODQsIDY1LCA3MiwgMTI4LCA4NCwgNjUsIDIwMCwgODQsIDY1LCA3MSwgCisgICAgNjYsIDY1LCA3OCwgODcsIDE5MywgODQsIDY1LCA3MSwgNjUsIDc2LCA3OSwgMTk5LCA4NCwgNjUsIDcxLCAxMjgsIDg0LCAKKyAgICA2NSwgNjksIDIwNiwgODQsIDY1LCA2NywgNzUsIDEyOCwgODQsIDY1LCA2NywgMjAzLCA4NCwgNjUsIDY2LCA4NSwgNzYsIAorICAgIDY1LCA4NCwgNzMsIDc5LCA3OCwgMTI4LCA4NCwgNjUsIDY2LCA4NSwgNzYsIDY1LCA4NCwgNzMsIDc5LCAyMDYsIDg0LCA2NSwgCisgICAgNjYsIDgzLCAxMjgsIDg0LCA2NSwgNjYsIDc2LCA2OSwgMTI4LCA4NCwgNjUsIDY2LCAxMjgsIDg0LCA2NSwgMTk0LCA4NCwgCisgICAgNjUsIDY1LCA4MywgNzIsIDY1LCA2OSwgMTI4LCA4NCwgNjUsIDY1LCA4MSwgMTI4LCA4NCwgNjUsIDY1LCA3NywgMTI4LCAKKyAgICA4NCwgNjUsIDY1LCA3NiwgODUsIDc0LCAxOTMsIDg0LCA2NSwgNjUsIDczLCAxMjgsIDg0LCA2NSwgNjUsIDcwLCAxMjgsIAorICAgIDg0LCA2NSwgNTAsIDEyOCwgODQsIDY1LCA0NSwgODIsIDc5LCA3NiwgMTI4LCA4NCwgNjUsIDQ1LCA1MCwgMTI4LCA4NCwgCisgICAgNDgsIDUxLCA1NCwgMTI4LCA4NCwgNDgsIDUxLCA1MywgMTI4LCA4NCwgNDgsIDUxLCA1MiwgMTI4LCA4NCwgNDgsIDUxLCAKKyAgICA1MSwgNjUsIDEyOCwgODQsIDQ4LCA1MSwgNTEsIDEyOCwgODQsIDQ4LCA1MSwgNTAsIDY1LCAxMjgsIDg0LCA0OCwgNTEsIAorICAgIDUwLCAxMjgsIDg0LCA0OCwgNTEsIDQ5LCAxMjgsIDg0LCA0OCwgNTEsIDQ4LCAxMjgsIDg0LCA0OCwgNTAsIDU3LCAxMjgsIAorICAgIDg0LCA0OCwgNTAsIDU2LCAxMjgsIDg0LCA0OCwgNTAsIDU1LCAxMjgsIDg0LCA0OCwgNTAsIDU0LCAxMjgsIDg0LCA0OCwgCisgICAgNTAsIDUzLCAxMjgsIDg0LCA0OCwgNTAsIDUyLCAxMjgsIDg0LCA0OCwgNTAsIDUxLCAxMjgsIDg0LCA0OCwgNTAsIDUwLCAKKyAgICAxMjgsIDg0LCA0OCwgNTAsIDQ5LCAxMjgsIDg0LCA0OCwgNTAsIDQ4LCAxMjgsIDg0LCA0OCwgNDksIDU3LCAxMjgsIDg0LCAKKyAgICA0OCwgNDksIDU2LCAxMjgsIDg0LCA0OCwgNDksIDU1LCAxMjgsIDg0LCA0OCwgNDksIDU0LCA2NSwgMTI4LCA4NCwgNDgsIAorICAgIDQ5LCA1NCwgMTI4LCA4NCwgNDgsIDQ5LCA1MywgMTI4LCA4NCwgNDgsIDQ5LCA1MiwgMTI4LCA4NCwgNDgsIDQ5LCA1MSwgCisgICAgMTI4LCA4NCwgNDgsIDQ5LCA1MCwgMTI4LCA4NCwgNDgsIDQ5LCA0OSwgNjUsIDEyOCwgODQsIDQ4LCA0OSwgNDksIDEyOCwgCisgICAgODQsIDQ4LCA0OSwgNDgsIDEyOCwgODQsIDQ4LCA0OCwgNTcsIDY1LCAxMjgsIDg0LCA0OCwgNDgsIDU3LCAxMjgsIDg0LCAKKyAgICA0OCwgNDgsIDU2LCA2NSwgMTI4LCA4NCwgNDgsIDQ4LCA1NiwgMTI4LCA4NCwgNDgsIDQ4LCA1NSwgNjUsIDEyOCwgODQsIAorICAgIDQ4LCA0OCwgNTUsIDEyOCwgODQsIDQ4LCA0OCwgNTQsIDEyOCwgODQsIDQ4LCA0OCwgNTMsIDEyOCwgODQsIDQ4LCA0OCwgCisgICAgNTIsIDEyOCwgODQsIDQ4LCA0OCwgNTEsIDY1LCAxMjgsIDg0LCA0OCwgNDgsIDUxLCAxMjgsIDg0LCA0OCwgNDgsIDUwLCAKKyAgICAxMjgsIDg0LCA0OCwgNDgsIDQ5LCAxMjgsIDg0LCA0NSwgODMsIDcyLCA3MywgODIsIDg0LCAxMjgsIDgzLCA5MCwgOTAsIAorICAgIDEyOCwgODMsIDkwLCA4NywgNzEsIDEyOCwgODMsIDkwLCA4NywgNjUsIDEyOCwgODMsIDkwLCA4NSwgMTI4LCA4MywgOTAsIAorICAgIDc5LCAxMjgsIDgzLCA5MCwgNzMsIDEyOCwgODMsIDkwLCA2OSwgNjksIDEyOCwgODMsIDkwLCA2OSwgMTI4LCA4MywgOTAsIAorICAgIDY1LCA2NSwgMTI4LCA4MywgOTAsIDY1LCAxMjgsIDgzLCA5MCwgMTI4LCA4MywgODksIDg4LCAxMjgsIDgzLCA4OSwgODQsIAorICAgIDEyOCwgODMsIDg5LCA4MywgODQsIDY5LCAyMDUsIDgzLCA4OSwgODIsIDg4LCAxMjgsIDgzLCA4OSwgODIsIDc3LCA2NSwgCisgICAgODQsIDczLCA3NSwgNzMsIDEyOCwgODMsIDg5LCA4MiwgNzcsIDY1LCAxMjgsIDgzLCA4OSwgODIsIDczLCA3OCwgNzEsIDY5LCAKKyAgICAxMjgsIDgzLCA4OSwgODIsIDEyOCwgODMsIDg5LCA4MCwgMTI4LCA4MywgODksIDc5LCA4NSwgODcsIDY1LCAxMjgsIDgzLCAKKyAgICA4OSwgNzgsIDY5LCA4NiwgNzcsIDY1LCAxMjgsIDgzLCA4OSwgNzgsIDY4LCA2OSwgODMsIDc3LCA3OSwgMjExLCA4MywgODksIAorICAgIDc4LCA2NywgNzIsIDgyLCA3OSwgNzgsIDc5LCA4NSwgMjExLCA4MywgODksIDc4LCA2NSwgNzEsIDc3LCAxOTMsIDgzLCA4OSwgCisgICAgNzgsIDY1LCA3MCwgNzMsIDEyOCwgODMsIDg5LCA3OCwgMTI4LCA4MywgODksIDc3LCA3NywgNjksIDg0LCA4MiwgODksIAogICAgIDEyOCwgODMsIDg5LCA3NywgNzcsIDY5LCA4NCwgODIsIDczLCAxOTUsIDgzLCA4OSwgNzcsIDY2LCA3OSwgNzYsIDgzLCAKICAgICAxMjgsIDgzLCA4OSwgNzcsIDY2LCA3OSwgNzYsIDQ1LCA1NywgMTI4LCA4MywgODksIDc3LCA2NiwgNzksIDc2LCA0NSwgNTYsIAogICAgIDEyOCwgODMsIDg5LCA3NywgNjYsIDc5LCA3NiwgNDUsIDU1LCAxMjgsIDgzLCA4OSwgNzcsIDY2LCA3OSwgNzYsIDQ1LCA1NCwgCkBAIC02NTQsMjIzICs3NTMsMjI4IEBACiAgICAgNjYsIDc5LCA3NiwgNDUsIDQ5LCA1MiwgMTI4LCA4MywgODksIDc3LCA2NiwgNzksIDc2LCA0NSwgNDksIDUxLCAxMjgsIDgzLCAKICAgICA4OSwgNzcsIDY2LCA3OSwgNzYsIDQ1LCA0OSwgNTAsIDEyOCwgODMsIDg5LCA3NywgNjYsIDc5LCA3NiwgNDUsIDQ5LCA0OSwgCiAgICAgMTI4LCA4MywgODksIDc3LCA2NiwgNzksIDc2LCA0NSwgNDksIDQ4LCAxMjgsIDgzLCA4OSwgNzcsIDY2LCA3OSwgNzYsIDQ1LCAKLSAgICA0OSwgMTI4LCA4MywgODksIDc2LCA3OSwgODQsIDIwMSwgODMsIDg5LCA2NSwgMTI4LCA4MywgODksIDEyOCwgODMsIDg3LCAKLSAgICA5MCwgMTI4LCA4MywgODcsIDg1LCA3OCwgMTk5LCA4MywgODcsIDc5LCA4MiwgNjgsIDgzLCAxMjgsIDgzLCA4NywgNzksIAotICAgIDgyLCA2OCwgMTI4LCA4MywgODcsIDc5LCA3OSwgMTI4LCA4MywgODcsIDc5LCAxMjgsIDgzLCA4NywgNzMsIDgyLCAyMDQsIAotICAgIDgzLCA4NywgNzMsIDc3LCA3NywgNzMsIDc4LCA3MSwgMTI4LCA4MywgODcsIDczLCA3NywgNzcsIDY5LCA4MiwgMTI4LCA4MywgCi0gICAgODcsIDczLCA3MywgMTI4LCA4MywgODcsIDczLCAxMjgsIDgzLCA4NywgNzEsIDEyOCwgODMsIDg3LCA2OSwgNjksIDg0LCAKLSAgICAxMjgsIDgzLCA4NywgNjksIDY5LCAyMTIsIDgzLCA4NywgNjksIDY1LCA4NCwgMTI4LCA4MywgODcsIDY5LCA2NSwgMjEyLCAKLSAgICA4MywgODcsIDY1LCA4MywgMjAwLCA4MywgODcsIDY1LCA4MCwgODAsIDczLCA3OCwgNzEsIDEyOCwgODMsIDg3LCA2NSwgNjUsIAotICAgIDEyOCwgODMsIDg3LCAxMjgsIDgzLCA4NiwgNjUsIDgzLCA4NCwgMjAxLCA4MywgODYsIDY1LCA4MiwgNzMsIDg0LCA2NSwgCi0gICAgMTI4LCA4MywgODYsIDY1LCA4MiwgNzMsIDg0LCAxOTMsIDgzLCA4NSwgODgsIDEyOCwgODMsIDg1LCA4NSwgMTI4LCA4MywgCi0gICAgODUsIDg0LCAxMjgsIDgzLCA4NSwgODMsIDgwLCA2OSwgNzgsIDgzLCA3MywgNzksIDIwNiwgODMsIDg1LCA4MywgNzIsIDczLCAKLSAgICAxMjgsIDgzLCA4NSwgODIsIDg4LCAxMjgsIDgzLCA4NSwgODIsIDgyLCA3OSwgODUsIDc4LCA2OCwgMTI4LCA4MywgODUsIAotICAgIDgyLCA4MiwgNzksIDg1LCA3OCwgMTk2LCA4MywgODUsIDgyLCA3MCwgNjksIDgyLCAxMjgsIDgzLCA4NSwgODIsIDcwLCA2NSwgCi0gICAgNjcsIDE5NywgODMsIDg1LCA4MiwgNjksIDEyOCwgODMsIDg1LCA4MiwgNjUsIDc4LCA3MSwgMTI4LCA4MywgODUsIDgyLCAKLSAgICA1NywgMTI4LCA4MywgODUsIDgyLCAxMjgsIDgzLCA4NSwgMjEwLCA4MywgODUsIDgwLCA4MiwgNjUsIDc2LCA3MywgNzgsIAotICAgIDY5LCA2NSwgMjEwLCA4MywgODUsIDgwLCA2OSwgODIsIDg2LCA3MywgODMsIDY5LCAxMjgsIDgzLCA4NSwgODAsIDY5LCA4MiwgCi0gICAgODMsIDY5LCA4NCwgMTI4LCA4MywgODUsIDgwLCA2OSwgODIsIDgzLCA2OSwgMjEyLCA4MywgODUsIDgwLCA2OSwgODIsIDgzLCAKLSAgICA2NywgODIsIDczLCA4MCwgMjEyLCA4MywgODUsIDgwLCA2OSwgODIsIDczLCA3NywgODAsIDc5LCA4MywgNjksIDE5NiwgODMsIAotICAgIDg1LCA4MCwgNjksIDgyLCA3MCwgNzMsIDg4LCA2OSwgMTk2LCA4MywgODUsIDgwLCA2OSwgMjEwLCA4MywgODUsIDgwLCAKLSAgICAxMjgsIDgzLCA4NSwgNzksIDg4LCAxMjgsIDgzLCA4NSwgNzksIDgwLCAxMjgsIDgzLCA4NSwgNzksIDEyOCwgODMsIDg1LCAKLSAgICA3OCwgODMsIDY5LCAyMTIsIDgzLCA4NSwgNzgsIDgyLCA3MywgODMsIDY5LCAxMjgsIDgzLCA4NSwgNzgsIDgyLCA3MywgODMsIAotICAgIDE5NywgODMsIDg1LCA3OCwgNzEsIDc2LCA2NSwgODMsIDgzLCA2OSwgODMsIDEyOCwgODMsIDg1LCA3OCwgNzEsIDEyOCwgCi0gICAgODMsIDg1LCA3OCwgNzAsIDc2LCA3OSwgODcsIDY5LCA4MiwgMTI4LCA4MywgODUsIDc4LCA2OCwgNjUsIDc4LCA2OSwgODMsIAotICAgIDE5NywgODMsIDg1LCA3OCwgMTI4LCA4MywgODUsIDIwNiwgODMsIDg1LCA3NywgNzcsIDY5LCA4MiwgMTI4LCA4MywgODUsIAotICAgIDc3LCA3NywgNjUsIDg0LCA3MywgNzksIDc4LCAxMjgsIDgzLCA4NSwgNzcsIDc3LCA2NSwgODQsIDczLCA3OSwgMjA2LCA4MywgCi0gICAgODUsIDc3LCA2NSwgODMsIDcyLCAxMjgsIDgzLCA4NSwgNzcsIDEyOCwgODMsIDg1LCA3NiwgNzAsIDg1LCA4MiwgMTI4LCAKLSAgICA4MywgODUsIDc1LCA4NSwgNzgsIDEyOCwgODMsIDg1LCA3NSwgODUsIDIwNiwgODMsIDg1LCA3NSwgODUsIDEyOCwgODMsIAotICAgIDg1LCA3NSwgMjEzLCA4MywgODUsIDczLCA4NCwgNjUsIDY2LCA3NiwgNjksIDEyOCwgODMsIDg1LCA3MywgODQsIDEyOCwgCi0gICAgODMsIDg1LCA3MiwgODUsIDgyLCAxMjgsIDgzLCA4NSwgNjksIDEyOCwgODMsIDg1LCA2OCwgNTAsIDEyOCwgODMsIDg1LCAKLSAgICA2OCwgMTI4LCA4MywgODUsIDY3LCA2NywgNjksIDY5LCA2OCwgODMsIDEyOCwgODMsIDg1LCA2NywgNjcsIDY5LCA2OSwgNjgsIAotICAgIDIxMSwgODMsIDg1LCA2NywgNjcsIDY5LCA2OSwgNjgsIDEyOCwgODMsIDg1LCA2NywgNjcsIDY5LCA2OSwgMTk2LCA4MywgCi0gICAgODUsIDY2LCA4NSwgNzgsIDczLCA4NCwgMTI4LCA4MywgODUsIDY2LCA4MywgODQsIDczLCA4NCwgODUsIDg0LCA3MywgNzksIAotICAgIDIwNiwgODMsIDg1LCA2NiwgODMsIDg0LCA3MywgODQsIDg1LCA4NCwgNjksIDEyOCwgODMsIDg1LCA2NiwgODMsIDg0LCA3MywgCi0gICAgODQsIDg1LCA4NCwgMTk3LCA4MywgODUsIDY2LCA4MywgNjksIDg0LCAxMjgsIDgzLCA4NSwgNjYsIDgzLCA2OSwgMjEyLCAKLSAgICA4MywgODUsIDY2LCA4MywgNjcsIDgyLCA3MywgODAsIDIxMiwgODMsIDg1LCA2NiwgODAsIDg1LCA3OCwgNjcsIDg0LCA3MywgCi0gICAgODMsIDEyOCwgODMsIDg1LCA2NiwgNzYsIDczLCA3OCwgNjksIDY1LCAyMTAsIDgzLCA4NSwgNjYsIDc2LCA3MywgNzcsIDY1LCAKLSAgICA4NCwgNzMsIDc5LCA3OCwgMTI4LCA4MywgODUsIDY2LCA3NiwgNzMsIDc3LCA2NSwgODQsIDY5LCA0NSwgNTEsIDEyOCwgODMsIAotICAgIDg1LCA2NiwgNzYsIDczLCA3NywgNjUsIDg0LCA2OSwgNDUsIDUwLCAxMjgsIDgzLCA4NSwgNjYsIDc2LCA3MywgNzcsIDY1LCAKLSAgICA4NCwgNjksIDEyOCwgODMsIDg1LCA2NiwgNzYsIDczLCA3NywgNjUsIDg0LCAxOTcsIDgzLCA4NSwgNjYsIDc0LCA3OSwgNzMsIAotICAgIDc4LCA2OSwgMTk2LCA4MywgODUsIDY2LCA3NCwgNjksIDY3LCA4NCwgMTI4LCA4MywgODUsIDY2LCA3MywgODQsIDc5LCAKLSAgICAxMjgsIDgzLCA4NSwgNjYsIDcxLCA4MiwgNzksIDg1LCA4MCwgMTI4LCA4MywgODUsIDY2LCA3MSwgODIsIDc5LCA4NSwgCi0gICAgMjA4LCA4MywgODUsIDY1LCA2OSwgODQsIDEyOCwgODMsIDg1LCA2NSwgNjksIDc4LCAxMjgsIDgzLCA4NSwgNjUsIDY5LCAKLSAgICAxMjgsIDgzLCA4NSwgNjUsIDEyOCwgODMsIDIxMywgODMsIDg0LCA4NywgNjUsIDEyOCwgODMsIDg0LCA4NSwgNjgsIDg5LCAKLSAgICAxMjgsIDgzLCA4NCwgODUsIDY3LCA3NSwgNDUsIDc5LCA4NSwgMjEyLCA4MywgODQsIDgyLCA3OSwgNzUsIDY5LCA4MywgCi0gICAgMTI4LCA4MywgODQsIDgyLCA3OSwgNzUsIDY5LCAyMTEsIDgzLCA4NCwgODIsIDc5LCA3NSwgNjksIDQ1LCA1NywgMTI4LCAKLSAgICA4MywgODQsIDgyLCA3OSwgNzUsIDY5LCA0NSwgNTYsIDEyOCwgODMsIDg0LCA4MiwgNzksIDc1LCA2OSwgNDUsIDU1LCAxMjgsIAotICAgIDgzLCA4NCwgODIsIDc5LCA3NSwgNjksIDQ1LCA1NCwgMTI4LCA4MywgODQsIDgyLCA3OSwgNzUsIDY5LCA0NSwgNTMsIDEyOCwgCi0gICAgODMsIDg0LCA4MiwgNzksIDc1LCA2OSwgNDUsIDUyLCAxMjgsIDgzLCA4NCwgODIsIDc5LCA3NSwgNjksIDQ1LCA1MSwgMTI4LCAKLSAgICA4MywgODQsIDgyLCA3OSwgNzUsIDY5LCA0NSwgNTAsIDEyOCwgODMsIDg0LCA4MiwgNzksIDc1LCA2OSwgNDUsIDQ5LCA0OSwgCi0gICAgMTI4LCA4MywgODQsIDgyLCA3OSwgNzUsIDY5LCA0NSwgNDksIDQ4LCAxMjgsIDgzLCA4NCwgODIsIDc5LCA3NSwgNjksIDQ1LCAKLSAgICA0OSwgMTI4LCA4MywgODQsIDgyLCA3OSwgNzUsIDE5NywgODMsIDg0LCA4MiwgNzMsIDgwLCA2OSwgMTI4LCA4MywgODQsIAotICAgIDgyLCA3MywgNzUsIDY5LCA4NCwgNzIsIDgyLCA3OSwgODUsIDcxLCA3MiwgMTI4LCA4MywgODQsIDgyLCA3MywgNjgsIDY5LCAKLSAgICAxMjgsIDgzLCA4NCwgODIsIDczLCA2NywgODQsIDc2LCAyMTcsIDgzLCA4NCwgODIsIDY5LCA4NCwgNjcsIDcyLCA2OSwgCi0gICAgMTk2LCA4MywgODQsIDgyLCA2OSwgODMsIDIxMSwgODMsIDg0LCA4MiwgNjksIDc4LCA3MSwgODQsIDcyLCAxMjgsIDgzLCAKLSAgICA4NCwgODIsIDY5LCA2NSwgNzcsIDY5LCA4MiwgMTI4LCA4MywgODQsIDgyLCA2NSwgODcsIDY2LCA2OSwgODIsIDgyLCA4OSwgCi0gICAgMTI4LCA4MywgODQsIDgyLCA2NSwgODQsIDg1LCA3NywgNDUsIDUwLCAxMjgsIDgzLCA4NCwgODIsIDY1LCA4NCwgODUsIDc3LCAKLSAgICAxMjgsIDgzLCA4NCwgODIsIDY1LCA4NCwgODUsIDIwNSwgODMsIDg0LCA4MiwgNjUsIDg0LCA3MywgNjUsIDIwNiwgODMsIAotICAgIDg0LCA4MiwgNjUsIDczLCA3OCwgNjksIDgyLCAxMjgsIDgzLCA4NCwgODIsIDY1LCA3MywgNzEsIDcyLCA4NCwgNzgsIDY5LCAKLSAgICA4MywgODMsIDEyOCwgODMsIDg0LCA4MiwgNjUsIDczLCA3MSwgNzIsIDIxMiwgODMsIDg0LCA4MiwgNjUsIDczLCA3MCwgCi0gICAgMTI4LCA4MywgODQsIDgyLCA2NSwgNzEsIDcxLCA3MywgODMsIDc3LCA2NSwgODQsIDY1LCAxMjgsIDgzLCA4NCwgNzksIDg2LCAKLSAgICA2OSwgMTI4LCA4MywgODQsIDc5LCA4MiwgNjksIDEyOCwgODMsIDg0LCA3OSwgODAsIDg3LCA2NSwgODQsIDY3LCA3MiwgCi0gICAgMTI4LCA4MywgODQsIDc5LCA4MCwgODAsIDczLCA3OCwgNzEsIDEyOCwgODMsIDg0LCA3OSwgODAsIDgwLCA2NSwgNzEsIDY5LCAKLSAgICAxMjgsIDgzLCA4NCwgNzksIDgwLCAxMjgsIDgzLCA4NCwgNzksIDIwOCwgODMsIDg0LCA3OSwgNzgsIDY5LCAxMjgsIDgzLCAKLSAgICA4NCwgNzksIDY3LCA3NSwgMTI4LCA4MywgODQsIDczLCA3NywgNzcsIDY5LCAxMjgsIDgzLCA4NCwgNzMsIDc2LCAyMDQsIAotICAgIDgzLCA4NCwgNzMsIDc2LCAxOTcsIDgzLCA4NCwgNzMsIDcxLCA3NywgNjUsIDEyOCwgODMsIDg0LCA2OSwgODAsIDEyOCwgCi0gICAgODMsIDg0LCA2OSwgNzcsIDEyOCwgODMsIDg0LCA2OSwgMjA1LCA4MywgODQsIDY5LCA2NSwgNzcsIDczLCA3OCwgMTk5LCAKLSAgICA4MywgODQsIDY5LCA2NSwgNzcsIDEyOCwgODMsIDg0LCA2OSwgNjUsIDIwNSwgODMsIDg0LCA2NSwgODYsIDgyLCA3OSwgODUsIAotICAgIDEyOCwgODMsIDg0LCA2NSwgODYsIDgyLCA3OSwgODMsIDEyOCwgODMsIDg0LCA2NSwgODYsIDgyLCA3OSwgMjExLCA4MywgCi0gICAgODQsIDY1LCA4NSwgODIsIDc5LCA4MywgMTI4LCA4MywgODQsIDY1LCA4NCwgODUsIDE5NywgODMsIDg0LCA2NSwgODQsIDczLCAKLSAgICA3OSwgNzgsIDEyOCwgODMsIDg0LCA2NSwgODQsIDY5LCA4MiwgODMsIDEyOCwgODMsIDg0LCA2NSwgODIsIDIxMiwgODMsIAotICAgIDg0LCA2NSwgODIsIDgzLCAxMjgsIDgzLCA4NCwgNjUsIDgyLCA4MiwgNjksIDE5NiwgODMsIDg0LCA2NSwgODIsIDc1LCAKLSAgICAxMjgsIDgzLCA4NCwgNjUsIDgyLCAxMjgsIDgzLCA4NCwgNjUsIDIxMCwgODMsIDg0LCA2NSwgNzgsIDY4LCA4MywgODQsIAotICAgIDczLCA3NiwgNzYsIDEyOCwgODMsIDg0LCA2NSwgNzgsIDY4LCA2NSwgODIsIDE5NiwgODMsIDg0LCA2NSwgNzgsIDY4LCAKLSAgICAxMjgsIDgzLCA4NCwgNjUsIDc4LCAxMjgsIDgzLCA4NCwgNjUsIDc2LCA3NiwgNzMsIDc5LCA3OCwgMTI4LCA4MywgODQsIAotICAgIDY1LCA3MCwgNzAsIDEyOCwgODMsIDg0LCA2NSwgNzAsIDE5OCwgODMsIDg0LCA2NSwgNjcsIDY3LCA2NSwgODQsIDc5LCAKLSAgICAxMjgsIDgzLCA4NCwgNjUsIDY3LCA2NywgNjUsIDg0LCA3MywgODMsIDgzLCA3MywgNzcsIDc5LCAxMjgsIDgzLCA4NCwgNTAsIAotICAgIDEyOCwgODMsIDgzLCA4OSwgODgsIDEyOCwgODMsIDgzLCA4OSwgODQsIDEyOCwgODMsIDgzLCA4OSwgODIsIDg4LCAxMjgsIAotICAgIDgzLCA4MywgODksIDgyLCAxMjgsIDgzLCA4MywgODksIDgwLCAxMjgsIDgzLCA4MywgODksIDEyOCwgODMsIDgzLCA4NSwgCi0gICAgODgsIDEyOCwgODMsIDgzLCA4NSwgODQsIDEyOCwgODMsIDgzLCA4NSwgODAsIDEyOCwgODMsIDgzLCA3OSwgODgsIDEyOCwgCi0gICAgODMsIDgzLCA3OSwgODQsIDEyOCwgODMsIDgzLCA3OSwgODAsIDEyOCwgODMsIDgzLCA3OSwgMTI4LCA4MywgODMsIDczLCAKLSAgICA4OCwgMTI4LCA4MywgODMsIDczLCA4NCwgMTI4LCA4MywgODMsIDczLCA4MCwgMTI4LCA4MywgODMsIDczLCA2OSwgODgsIAotICAgIDEyOCwgODMsIDgzLCA3MywgNjksIDgwLCAxMjgsIDgzLCA4MywgNzMsIDY5LCAxMjgsIDgzLCA4MywgNzMsIDEyOCwgODMsIAotICAgIDgzLCA3MiwgNjksIDEyOCwgODMsIDgzLCA2OSwgODgsIDEyOCwgODMsIDgzLCA2OSwgODAsIDEyOCwgODMsIDgzLCA2OSwgCi0gICAgNjksIDEyOCwgODMsIDgzLCA2NSwgODgsIDEyOCwgODMsIDgzLCA2NSwgODQsIDEyOCwgODMsIDgzLCA2NSwgODAsIDEyOCwgCi0gICAgODMsIDgzLCA2NSwgNzgsIDcxLCA4OSwgNjksIDc5LCA4MiwgNzMsIDc4LCA3MiwgNzMsIDY5LCA4NSwgNzIsIDEyOCwgODMsIAotICAgIDgzLCA2NSwgNzgsIDcxLCA4NCwgNzMsIDc1LCA2OSwgODUsIDg0LCA0NSwgODAsIDczLCA2OSwgODUsIDgwLCAxMjgsIDgzLCAKLSAgICA4MywgNjUsIDc4LCA3MSwgODQsIDczLCA3NSwgNjksIDg1LCA4NCwgMTI4LCA4MywgODMsIDY1LCA3OCwgNzEsIDg0LCA3MiwgCi0gICAgNzMsIDY5LCA4NSwgODQsIDcyLCAxMjgsIDgzLCA4MywgNjUsIDc4LCA3MSwgODMsIDczLCA3OSwgODMsIDQ1LCA4NCwgNzMsIAotICAgIDc1LCA2OSwgODUsIDg0LCAxMjgsIDgzLCA4MywgNjUsIDc4LCA3MSwgODMsIDczLCA3OSwgODMsIDQ1LCA4MCwgNzMsIDY5LCAKLSAgICA4NSwgODAsIDEyOCwgODMsIDgzLCA2NSwgNzgsIDcxLCA4MywgNzMsIDc5LCA4MywgNDUsIDc1LCA3MywgODksIDY5LCA3OSwgCi0gICAgNzUsIDEyOCwgODMsIDgzLCA2NSwgNzgsIDcxLCA4MywgNzMsIDc5LCA4MywgMTI4LCA4MywgODMsIDY1LCA3OCwgNzEsIDgyLCAKLSAgICA3MywgNjksIDg1LCA3NiwgNDUsIDc1LCA3MiwgNzMsIDY5LCA4NSwgNzUsIDcyLCAxMjgsIDgzLCA4MywgNjUsIDc4LCA3MSwgCi0gICAgODIsIDczLCA2OSwgODUsIDc2LCAxMjgsIDgzLCA4MywgNjUsIDc4LCA3MSwgODAsIDczLCA2OSwgODUsIDgwLCAxMjgsIDgzLCAKLSAgICA4MywgNjUsIDc4LCA3MSwgNzgsIDczLCA2OSwgODUsIDc4LCAxMjgsIDgzLCA4MywgNjUsIDc4LCA3MSwgNzcsIDczLCA2OSwgCi0gICAgODUsIDc3LCAxMjgsIDgzLCA4MywgNjUsIDc4LCA3MSwgNzUsIDczLCA4OSwgNjksIDc5LCA3NSwgMTI4LCA4MywgODMsIDY1LCAKLSAgICA3OCwgNzEsIDczLCA2OSwgODUsIDc4LCA3MSwgMTI4LCA4MywgODMsIDY1LCA3OCwgNzEsIDcyLCA3MywgNjksIDg1LCA3MiwgCi0gICAgMTI4LCA4MywgODMsIDY1LCA3OCwgNzEsIDY3LCA3MywgNjksIDg1LCA2NywgNDUsIDcyLCA3MywgNjksIDg1LCA3MiwgMTI4LCAKLSAgICA4MywgODMsIDY1LCA3OCwgNzEsIDY3LCA3MywgNjksIDg1LCA2NywgMTI4LCA4MywgODMsIDY1LCA3OCwgNzEsIDY1LCA4MiwgCi0gICAgNjUsIDY5LCA2NSwgMTI4LCA4MywgODMsIDY1LCA2NSwgMTI4LCA4MywgODMsIDY1LCAxMjgsIDgzLCA4MiwgMTI4LCA4MywgCi0gICAgODEsIDg1LCA3MywgODMsIDIwMCwgODMsIDgxLCA4NSwgNzMsIDgyLCA4MiwgNjksIDIwNCwgODMsIDgxLCA4NSwgNzMsIDcxLCAKLSAgICA3MSwgNzYsIDE5NywgODMsIDgxLCA4NSwgNjUsIDIxMiwgODMsIDgxLCA4NSwgNjUsIDgyLCA2OSwgODMsIDEyOCwgODMsIAotICAgIDgxLCA4NSwgNjUsIDgyLCA2OSwgNjgsIDEyOCwgODMsIDgxLCA4NSwgNjUsIDgyLCA2OSwgMTI4LCA4MywgODAsIDg3LCA2NSwgCi0gICAgMTI4LCA4MywgODAsIDg1LCA3OCwgNzEsIDIxMSwgODMsIDgwLCA4MiwgNzksIDg1LCA4NCwgMTI4LCA4MywgODAsIDgyLCAKLSAgICA3MywgNzgsIDcxLCA4MywgMTI4LCA4MywgODAsIDgyLCA3MywgNzgsIDcxLCAxMjgsIDgzLCA4MCwgODIsIDY5LCA2NywgNzIsIAotICAgIDcxLCA2OSwgODMsIDY1LCA3OCwgMTk5LCA4MywgODAsIDc5LCA4NSwgODQsIDczLCA3OCwgMTk5LCA4MywgODAsIDc5LCA4NCwgCi0gICAgMTI4LCA4MywgODAsIDc5LCA3OSwgNzgsIDEyOCwgODMsIDgwLCA3NiwgNzMsIDg0LCA4NCwgNzMsIDc4LCAxOTksIDgzLCAKLSAgICA4MCwgNzYsIDY1LCA4MywgNzIsIDczLCA3OCwgMTk5LCA4MywgODAsIDczLCA4MiwgNzMsIDg0LCA4NSwgMjExLCA4MywgODAsIAotICAgIDczLCA4MiwgNzMsIDg0LCAxMjgsIDgzLCA4MCwgNzMsIDgyLCA3MywgMjEyLCA4MywgODAsIDczLCA4MiwgNjUsIDc4LCA4NCwgCi0gICAgMTI4LCA4MywgODAsIDczLCA4MiwgNjUsIDc2LCAxMjgsIDgzLCA4MCwgNzMsIDgyLCA2NSwgMjA0LCA4MywgODAsIDczLCAKLSAgICA2OCwgNjksIDgyLCAyMTcsIDgzLCA4MCwgNzMsIDY3LCA2OSwgMTI4LCA4MywgODAsIDcyLCA2OSwgODIsIDczLCA2NywgNjUsIAotICAgIDIwNCwgODMsIDgwLCA2OSwgODMsIDc3LCA3MywgNzYsIDIwNywgODMsIDgwLCA2OSwgNjksIDY4LCA2NiwgNzksIDY1LCA4NCwgCi0gICAgMTI4LCA4MywgODAsIDY5LCA2OSwgNjcsIDcyLCAxMjgsIDgzLCA4MCwgNjksIDY5LCA2NywgMjAwLCA4MywgODAsIDY5LCAKLSAgICA2NywgNzMsIDY1LCA3NiwgMTI4LCA4MywgODAsIDY5LCA2NSwgODIsIDEyOCwgODMsIDgwLCA2OSwgNjUsIDc1LCA2OSwgODIsIAotICAgIDEyOCwgODMsIDgwLCA2OSwgNjUsIDc1LCA2OSwgMjEwLCA4MywgODAsIDY5LCA2NSwgNzUsIDQ1LCA3OCwgNzksIDQ1LCA2OSwgCi0gICAgODYsIDczLCAyMDQsIDgzLCA4MCwgNjUsIDg0LCA3MiwgNzMsIDEyOCwgODMsIDgwLCA2NSwgODIsIDc1LCA3NiwgNzMsIDc4LCAKLSAgICAxOTksIDgzLCA4MCwgNjUsIDgyLCA3NSwgNzYsIDY5LCA4MywgMTI4LCA4MywgODAsIDY1LCA4MiwgNzUsIDc2LCA2OSwgODIsIAotICAgIDEyOCwgODMsIDgwLCA2NSwgODIsIDc1LCA3NiwgNjksIDEyOCwgODMsIDgwLCA2NSwgNzEsIDcyLCA2OSwgODQsIDg0LCA3MywgCi0gICAgMTI4LCA4MywgODAsIDY1LCA2OCwgNjksIDgzLCAxMjgsIDgzLCA4MCwgNjUsIDY4LCAxOTcsIDgzLCA4MCwgNjUsIDY3LCAKLSAgICA3MywgNzgsIDE5OSwgODMsIDgwLCA2NSwgNjcsIDE5NywgODMsIDgwLCAxMjgsIDgzLCA3OSwgODksIDEyOCwgODMsIDc5LCAKLSAgICA4NywgNzMsIDc2LCAyMDcsIDgzLCA3OSwgODcsIDEyOCwgODMsIDc5LCA4NSwgODQsIDcyLCA2OSwgODIsIDIwNiwgODMsIAotICAgIDc5LCA4NSwgODQsIDcyLCA0NSwgODMsIDc2LCA2NSwgODYsIDY5LCAyMTcsIDgzLCA3OSwgODUsIDg0LCAyMDAsIDgzLCA3OSwgCi0gICAgODUsIDgyLCA2NywgNjksIDEyOCwgODMsIDc5LCA4NSwgNzgsIDY4LCAxMjgsIDgzLCA3OSwgODUsIDc4LCAxOTYsIDgzLCAKLSAgICA3OSwgODUsIDc4LCA2NSwgODAsIDEyOCwgODMsIDc5LCA4NSwgMTI4LCA4MywgNzksIDgzLCAxMjgsIDgzLCA3OSwgODEsIAotICAgIDEyOCwgODMsIDc5LCA3OSwgMjA2LCA4MywgNzksIDc5LCAxMjgsIDgzLCA3OSwgNzgsIDc0LCA2NSwgNzcsIDEyOCwgODMsIAotICAgIDc5LCA3OCwgNzEsIDEyOCwgODMsIDc5LCA3OCwgMTI4LCA4MywgNzksIDc3LCAxMjgsIDgzLCA3OSwgNzYsIDczLCA2OCwgCi0gICAgODUsIDgzLCAxMjgsIDgzLCA3OSwgNzYsIDczLCA2OCwgODUsIDIxMSwgODMsIDc5LCA3MSwgNjgsIDczLCA2NSwgMjA2LCAKLSAgICA4MywgNzksIDcwLCA4NCwgODcsIDY1LCA4MiwgNjksIDQ1LCA3MCwgODUsIDc4LCA2NywgODQsIDczLCA3OSwgMjA2LCA4MywgCi0gICAgNzksIDcwLCA4NCwgNzgsIDY5LCA4MywgODMsIDEyOCwgODMsIDc5LCA3MCwgMjEyLCA4MywgNzksIDE5OCwgODMsIDc5LCAKLSAgICA2NywgNzMsIDY5LCA4NCwgODksIDEyOCwgODMsIDc5LCA2NywgNjcsIDY5LCAyMTAsIDgzLCA3OSwgNjUsIDgwLCAxMjgsIAotICAgIDgzLCA3OSwgNjUsIDEyOCwgODMsIDIwNywgODMsIDc4LCA3OSwgODcsIDc3LCA2NSwgNzgsIDEyOCwgODMsIDc4LCA3OSwgCi0gICAgODcsIDc3LCA2NSwgMjA2LCA4MywgNzgsIDc5LCA4NywgNzAsIDc2LCA2NSwgNzUsIDY5LCAxMjgsIDgzLCA3OCwgNzksIDg3LCAKLSAgICA2NiwgNzksIDY1LCA4MiwgNjgsIDY5LCA4MiwgMTI4LCA4MywgNzgsIDc5LCA4NywgMTI4LCA4MywgNzgsIDc5LCA4NSwgODQsIAotICAgIDEyOCwgODMsIDc4LCA3OSwgODUsIDIxMiwgODMsIDc4LCA2NSwgMjA4LCA4MywgNzgsIDY1LCA3NSwgNjksIDEyOCwgODMsIAotICAgIDc4LCA2NSwgNzUsIDE5NywgODMsIDc4LCA2NSwgNzMsIDc2LCAxMjgsIDgzLCA3OCwgMTkzLCA4MywgNzcsIDc5LCA3NSwgCi0gICAgNzMsIDc4LCAxOTksIDgzLCA3NywgNzMsIDgyLCA3NSwgNzMsIDc4LCAxOTksIDgzLCA3NywgNzMsIDc2LCA3MywgNzgsIAotICAgIDE5OSwgODMsIDc3LCA3MywgNzYsIDY5LCAxMjgsIDgzLCA3NywgNjksIDY1LCA4MiwgMTI4LCA4MywgNzcsIDY1LCA4MywgCi0gICAgMjAwLCA4MywgNzcsIDY1LCA3NiwgNzYsIDY5LCAyMTAsIDgzLCA3NywgNjUsIDc2LCA3NiwgMTI4LCA4MywgNzYsIDg1LCAKLSAgICA4MiwgMTI4LCA4MywgNzYsIDc5LCA4NywgNzYsIDg5LCAxMjgsIDgzLCA3NiwgNzksIDIxNSwgODMsIDc2LCA3OSwgODYsIAotICAgIDc5LCAxMjgsIDgzLCA3NiwgNzksIDIxMiwgODMsIDc2LCA3OSwgODAsIDczLCA3OCwgMTk5LCA4MywgNzYsIDc5LCA4MCwgCi0gICAgNjksIDEyOCwgODMsIDc2LCA3MywgNzgsIDcxLCAxMjgsIDgzLCA3NiwgNzMsIDY4LCA3MywgNzgsIDcxLCAxMjgsIDgzLCAKLSAgICA3NiwgNzMsIDY3LCA2OSwgMTI4LCA4MywgNzYsIDczLCA2NywgMTk3LCA4MywgNzYsIDY5LCA2OSwgODAsIDIxNywgODMsIAotICAgIDc2LCA2OSwgNjksIDgwLCA3MywgNzgsIDE5OSwgODMsIDc2LCA2NSwgODYsIDc5LCA3OCwgNzMsIDE5NSwgODMsIDc2LCA2NSwgCi0gICAgODYsIDY5LCAxMjgsIDgzLCA3NiwgNjUsIDgzLCA3MiwgMTI4LCA4MywgNzYsIDY1LCA4MywgMjAwLCA4MywgNzYsIDY1LCAKLSAgICA3OCwgODQsIDY5LCAxOTYsIDgzLCA3NSwgODcsIDY1LCAxMjgsIDgzLCA3NSwgODcsIDEyOCwgODMsIDc1LCA4NSwgNzYsIAotICAgIDc2LCAxMjgsIDgzLCA3NSwgODUsIDc2LCAyMDQsIDgzLCA3NSwgNzYsIDczLCA4MiwgNzksIDIwNiwgODMsIDc1LCA3MywgCi0gICAgNzgsIDEyOCwgODMsIDc1LCA3MywgNjksIDgyLCAxMjgsIDgzLCA3NSwgMjAxLCA4MywgNzUsIDY5LCA4NywgNjksIDE5NiwgCi0gICAgODMsIDc1LCA2NSwgODQsIDY5LCAxMjgsIDgzLCA3NSwgMTI4LCA4MywgNzQsIDY5LCAxMjgsIDgzLCA3MywgODgsIDg0LCAKLSAgICA4OSwgNDUsIDcwLCA3OSwgODUsIDgyLCA4NCwgMjAwLCA4MywgNzMsIDg4LCA4NCwgODksIDEyOCwgODMsIDczLCA4OCwgODQsIAotICAgIDIxNywgODMsIDczLCA4OCwgODQsIDcyLCA4MywgMTI4LCA4MywgNzMsIDg4LCA4NCwgNzIsIDIxMSwgODMsIDczLCA4OCwgCi0gICAgODQsIDcyLCAxMjgsIDgzLCA3MywgODgsIDg0LCA2OSwgNjksIDc4LCA4NCwgNzIsIDgzLCAxMjgsIDgzLCA3MywgODgsIDg0LCAKLSAgICA2OSwgNjksIDc4LCA4NCwgNzIsIDEyOCwgODMsIDczLCA4OCwgODQsIDY5LCA2OSwgNzgsIDg0LCAyMDAsIDgzLCA3MywgODgsIAotICAgIDg0LCA2OSwgNjksIDc4LCAxMjgsIDgzLCA3MywgODgsIDg0LCA2OSwgNjksIDIwNiwgODMsIDczLCA4OCwgNDUsIDg0LCA3MiwgCi0gICAgNzMsIDgyLCA4NCwgODksIDEyOCwgODMsIDczLCA4OCwgNDUsIDgzLCA4NCwgODIsIDczLCA3OCwgMTk5LCA4MywgNzMsIDg4LCAKLSAgICA0NSwgODAsIDY5LCA4MiwgNDUsIDY5LCAyMDUsIDgzLCA3MywgODgsIDQ1LCA3NiwgNzMsIDc4LCAxOTcsIDgzLCA3MywgCi0gICAgMjE2LCA4MywgNzMsIDg0LCA2OSwgMTI4LCA4MywgNzMsIDgzLCA2NSwgMTI4LCA4MywgNzMsIDgyLCA3MywgNzgsIDcxLCAKLSAgICA4NSwgMTI4LCA4MywgNzMsIDc5LCA4MywgNDUsIDg0LCA3MiwgNzMsIDY5LCA4NSwgODQsIDcyLCAxMjgsIDgzLCA3MywgNzksIAotICAgIDgzLCA0NSwgODMsIDgzLCA2NSwgNzgsIDcxLCA4MywgNzMsIDc5LCA4MywgMTI4LCA4MywgNzMsIDc5LCA4MywgNDUsIDgyLCAKLSAgICA3MywgNjksIDg1LCA3NiwgMTI4LCA4MywgNzMsIDc5LCA4MywgNDUsIDgwLCA3MywgNjksIDg1LCA4MCwgNDUsIDc1LCA3MywgCi0gICAgODksIDY5LCA3OSwgNzUsIDEyOCwgODMsIDczLCA3OSwgODMsIDQ1LCA4MCwgNzIsIDczLCA2OSwgODUsIDgwLCA3MiwgMTI4LCAKLSAgICA4MywgNzMsIDc5LCA4MywgNDUsIDgwLCA2NSwgNzgsIDgzLCA3MywgNzksIDgzLCAxMjgsIDgzLCA3MywgNzksIDgzLCA0NSwgCi0gICAgNzgsIDczLCA2OSwgODUsIDc4LCAxMjgsIDgzLCA3MywgNzksIDgzLCA0NSwgNzcsIDczLCA2OSwgODUsIDc3LCAxMjgsIDgzLCAKLSAgICA3MywgNzksIDgzLCA0NSwgNzUsIDcyLCA3MywgNjksIDg1LCA3NSwgNzIsIDEyOCwgODMsIDczLCA3OSwgODMsIDQ1LCA3NSwgCi0gICAgNjUsIDgwLCA4OSwgNjksIDc5LCA4NSwgNzgsIDgwLCA3MywgNjksIDg1LCA4MCwgMTI4LCA4MywgNzMsIDc5LCA4MywgNDUsIAotICAgIDczLCA2OSwgODUsIDc4LCA3MSwgMTI4LCA4MywgNzMsIDc5LCA4MywgNDUsIDcyLCA3MywgNjksIDg1LCA3MiwgMTI4LCA4MywgCi0gICAgNzMsIDc5LCA4MywgNDUsIDY3LCA3MywgNjksIDg1LCA2NywgMTI4LCA4MywgNzMsIDc5LCA4MywgNDUsIDY3LCA3MiwgNzMsIAotICAgIDY5LCA4NSwgNjcsIDcyLCAxMjgsIDgzLCA3MywgNzksIDIxMSwgODMsIDczLCA3OCwgNzUsIDczLCA3OCwgNzEsIDEyOCwgCi0gICAgODMsIDczLCA3OCwgNzEsIDc2LCA2OSwgNDUsIDc2LCA3MywgNzgsIDE5NywgODMsIDczLCA3OCwgNzEsIDc2LCA2OSwgMTI4LCAKLSAgICA4MywgNzMsIDc4LCA3MSwgNzYsIDE5NywgODMsIDczLCA3OCwgNzEsIDY1LCA2NSwgODQsIDEyOCwgODMsIDczLCA3OCwgCi0gICAgMTk3LCA4MywgNzMsIDc4LCA2OCwgNzIsIDIwMSwgODMsIDczLCAyMDYsIDgzLCA3MywgNzcsIDgwLCA3NiwgNzMsIDcwLCAKLSAgICA3MywgNjksIDE5NiwgODMsIDczLCA3NywgNzMsIDc2LCA2NSwgODIsIDEyOCwgODMsIDczLCA3NywgNzMsIDc2LCA2NSwgCi0gICAgMjEwLCA4MywgNzMsIDc3LCA2NSwgNzgsIDgzLCA3MywgMjExLCA4MywgNzMsIDc3LCA2NSwgNzYsIDg1LCA3OCwgNzEsIDg1LCAKLSAgICAyMDYsIDgzLCA3MywgNzcsIDY1LCAxMjgsIDgzLCA3MywgNzYsIDg2LCA2OSwgODIsIDEyOCwgODMsIDczLCA3NiwgNzUsIAotICAgIDEyOCwgODMsIDczLCA3NiwgNzMsIDgxLCA4NSwgMTkzLCA4MywgNzMsIDc2LCA3MiwgNzksIDg1LCA2OSwgODQsIDg0LCA2OSwgCi0gICAgMTI4LCA4MywgNzMsIDc2LCA3MiwgNzksIDg1LCA2OSwgODQsIDg0LCAxOTcsIDgzLCA3MywgNzYsIDY1LCA1MSwgMTI4LCAKLSAgICA4MywgNzMsIDc1LCA3MywgMTI4LCA4MywgNzMsIDc1LCA1MCwgMTI4LCA4MywgNzMsIDc1LCAxNzgsIDgzLCA3MywgNzMsIAotICAgIDEyOCwgODMsIDczLCA3MSwgNzgsIDgzLCAxMjgsIDgzLCA3MywgNzEsIDc3LCA2NSwgMTI4LCA4MywgNzMsIDcxLCA3NywgCi0gICAgMTkzLCA4MywgNzMsIDcxLCA2OSwgMjA0LCA4MywgNzMsIDcxLCA1MiwgMTI4LCA4MywgNzMsIDcxLCAxODAsIDgzLCA3MywgCi0gICAgNzEsIDEyOCwgODMsIDczLCA2OSwgNjksIDEyOCwgODMsIDczLCA2OCwgNjksIDg3LCA2NSwgODksIDIxMSwgODMsIDczLCAKLSAgICA2NywgNzUsIDc4LCA2OSwgODMsIDgzLCAxMjgsIDgzLCA3MywgNjcsIDc1LCA3NiwgNjksIDEyOCwgODMsIDczLCA2NiwgCi0gICAgMTk3LCA4MywgMjAxLCA4MywgNzIsIDg5LCA4OCwgMTI4LCA4MywgNzIsIDg5LCA4NCwgMTI4LCA4MywgNzIsIDg5LCA4MiwgCi0gICAgODgsIDEyOCwgODMsIDcyLCA4OSwgODIsIDEyOCwgODMsIDcyLCA4OSwgODAsIDEyOCwgODMsIDcyLCA4OSwgNjksIDEyOCwgCi0gICAgODMsIDcyLCA4OSwgNjUsIDEyOCwgODMsIDcyLCA4OSwgMTI4LCA4MywgNzIsIDg3LCA3OSwgODksIDEyOCwgODMsIDcyLCAKLSAgICA4NywgNzksIDc5LCAxMjgsIDgzLCA3MiwgODcsIDc5LCAxMjgsIDgzLCA3MiwgODcsIDczLCA3MywgMTI4LCA4MywgNzIsIAotICAgIDg3LCA3MywgMTI4LCA4MywgNzIsIDg3LCA2OSwgMTI4LCA4MywgNzIsIDg3LCA2NSwgNjUsIDEyOCwgODMsIDcyLCA4NywgCi0gICAgNjUsIDEyOCwgODMsIDcyLCA4NSwgODgsIDEyOCwgODMsIDcyLCA4NSwgODQsIDEyOCwgODMsIDcyLCA4NSwgODIsIDg4LCAKLSAgICAxMjgsIDgzLCA3MiwgODUsIDgyLCAxMjgsIDgzLCA3MiwgODUsIDgwLCAxMjgsIDgzLCA3MiwgODUsIDc5LCA4OCwgMTI4LCAKLSAgICA4MywgNzIsIDg1LCA3OSwgODAsIDEyOCwgODMsIDcyLCA4NSwgNzksIDEyOCwgODMsIDcyLCA4NSwgNzcsIDEyOCwgODMsIAotICAgIDcyLCA4NSwgNzAsIDcwLCA3NiwgMTk3LCA4MywgNzIsIDg1LCA2OSwgODEsIDEyOCwgODMsIDcyLCA4NSwgNjksIDc4LCA4MywgCi0gICAgNzIsIDg1LCA2OSwgODQsIDEyOCwgODMsIDcyLCA4NSwgNjYsIDg1LCA4MiwgMTI4LCA4MywgNzIsIDg1LCA1MCwgMTI4LCAKLSAgICA4MywgNzIsIDg1LCAxNzgsIDgzLCA3MiwgODUsIDEyOCwgODMsIDcyLCAyMTMsIDgzLCA3MiwgODQsIDY1LCA4MCwgNzMsIAotICAgIDY3LCAxMjgsIDgzLCA3MiwgODQsIDY1LCAxMjgsIDgzLCA3MiwgODIsIDczLCA3OCwgNjksIDEyOCwgODMsIDcyLCA4MiwgCi0gICAgNzMsIDc3LCA4MCwgMTI4LCA4MywgNzIsIDc5LCA4OSwgMTI4LCA4MywgNzIsIDc5LCA4OCwgMTI4LCA4MywgNzIsIDc5LCAKLSAgICA4NywgNjksIDgyLCAxMjgsIDgzLCA3MiwgNzksIDg1LCA3NiwgNjgsIDY5LCA4MiwgNjksIDE5NiwgODMsIDcyLCA3OSwgODQsIAotICAgIDEyOCwgODMsIDcyLCA3OSwgODIsIDg0LCA4MywgMTI4LCA4MywgNzIsIDc5LCA4MiwgODQsIDIxMSwgODMsIDcyLCA3OSwgCi0gICAgODIsIDg0LCA2OSwgNzgsIDY5LCA4MiwgMTI4LCA4MywgNzIsIDc5LCA4MiwgODQsIDY3LCA2NSwgNzUsIDY5LCAxMjgsIDgzLCAKLSAgICA3MiwgNzksIDgyLCA4NCwgNDUsIDg0LCA4NywgNzMsIDcxLCA0NSwgODksIDgyLCAxMjgsIDgzLCA3MiwgNzksIDgyLCA4NCwgCi0gICAgNDUsIDg0LCA4NywgNzMsIDcxLCA0NSwgODQsIDg5LCAyMTAsIDgzLCA3MiwgNzksIDgyLCA4NCwgNDUsIDg0LCA4NywgNzMsIAotICAgIDcxLCA0NSwgODMsIDc5LCAyMDQsIDgzLCA3MiwgNzksIDgyLCA4NCwgNDUsIDg0LCA4NywgNzMsIDcxLCA0NSwgNzksIDgzLCAKLSAgICAyMTEsIDgzLCA3MiwgNzksIDgyLCA4NCwgNDUsIDg0LCA4NywgNzMsIDcxLCA0NSwgNzgsIDY1LCA4NSwgMTk2LCA4MywgNzIsIAotICAgIDc5LCA4MiwgODQsIDQ1LCA4NCwgODcsIDczLCA3MSwgNDUsIDc3LCA2NSwgNjgsIDIxMCwgODMsIDcyLCA3OSwgODIsIDg0LCAKLSAgICA0NSwgODQsIDg3LCA3MywgNzEsIDQ1LCA3MiwgNjUsIDcxLCA2NSwgNzYsIDIwNCwgODMsIDcyLCA3OSwgODIsIDg0LCA0NSwgCi0gICAgODQsIDg3LCA3MywgNzEsIDQ1LCA2NiwgNzQsIDY1LCA4MiwgNzUsIDY1LCAyMDYsIDgzLCA3MiwgNzksIDgyLCA4NCwgNDUsIAotICAgIDg0LCA4NywgNzMsIDcxLCA0NSwgNjUsIDIxMCwgODMsIDcyLCA3OSwgODIsIDg0LCAxMjgsIDgzLCA3MiwgNzksIDgyLCAKLSAgICAyMTIsIDgzLCA3MiwgNzksIDgxLCAxMjgsIDgzLCA3MiwgNzksIDIwOSwgODMsIDcyLCA3OSwgODAsIDEyOCwgODMsIDcyLCAKLSAgICA3OSwgNzksIDg0LCA3MywgNzgsIDE5OSwgODMsIDcyLCA3OSwgNzksIDg0LCAxMjgsIDgzLCA3MiwgNzksIDc5LCAxMjgsIAotICAgIDgzLCA3MiwgNzksIDcxLCAyMDEsIDgzLCA3MiwgNzksIDE5OSwgODMsIDcyLCA3OSwgNjksIDEyOCwgODMsIDcyLCA3OSwgCi0gICAgMTk3LCA4MywgNzIsIDc5LCA2NSwgMTI4LCA4MywgNzIsIDc5LCAxMjgsIDgzLCA3MiwgNzMsIDg5LCA4OSwgNjUsIDY1LCAKLSAgICA3NiwgNjUsIDY1LCAxMjgsIDgzLCA3MiwgNzMsIDg0LCA2NSwgMTI4LCA4MywgNzIsIDczLCA4NCwgMTkzLCA4MywgNzIsIAotICAgIDczLCA4MiwgMjEyLCA4MywgNzIsIDczLCA4MiwgNjUsIDY5LCAxMjgsIDgzLCA3MiwgNzMsIDgyLCAxMjgsIDgzLCA3MiwgCi0gICAgNzMsIDIxMCwgODMsIDcyLCA3MywgODEsIDEyOCwgODMsIDcyLCA3MywgODAsIDEyOCwgODMsIDcyLCA3MywgNzgsIDg0LCAKLSAgICAyMDcsIDgzLCA3MiwgNzMsIDc4LCA3MywgNzEsIDEyOCwgODMsIDcyLCA3MywgNzgsIDY4LCAxOTMsIDgzLCA3MiwgNzMsIAotICAgIDc4LCAxMjgsIDgzLCA3MiwgNzMsIDIwNiwgODMsIDcyLCA3MywgNzcsIDY1LCAxMjgsIDgzLCA3MiwgNzMsIDc3LCAxOTMsIAotICAgIDgzLCA3MiwgNzMsIDc3LCAxMjgsIDgzLCA3MiwgNzMsIDIwNSwgODMsIDcyLCA3MywgNzMsIDc4LCAxMjgsIDgzLCA3MiwgCi0gICAgNzMsIDczLCAxMjgsIDgzLCA3MiwgNzMsIDcwLCAyMTIsIDgzLCA3MiwgNzMsIDY5LCA3NiwgNjgsIDEyOCwgODMsIDcyLCAKLSAgICA3MywgNjgsIDEyOCwgODMsIDcyLCA3MywgMTk2LCA4MywgNzIsIDcyLCA2NSwgMTI4LCA4MywgNzIsIDcyLCAxOTMsIDgzLCAKLSAgICA3MiwgNjksIDg4LCAxMjgsIDgzLCA3MiwgNjksIDg2LCA2NSwgMTI4LCA4MywgNzIsIDY5LCA4NSwgODgsIDEyOCwgODMsIAotICAgIDcyLCA2OSwgODUsIDc5LCA4MSwgMTI4LCA4MywgNzIsIDY5LCA4NSwgNjUsIDY5LCA4MSwgODQsIDg1LCAxMjgsIDgzLCA3MiwgCi0gICAgNjksIDg1LCA2NSwgNjksIDgxLCAxMjgsIDgzLCA3MiwgNjksIDg1LCA2NSwgNjksIDEyOCwgODMsIDcyLCA2OSwgODQsIAorICAgIDQ5LCAxMjgsIDgzLCA4OSwgNzYsIDc5LCA4NCwgMjAxLCA4MywgODksIDEyOCwgODMsIDg3LCA5MCwgMTI4LCA4MywgODcsIAorICAgIDg1LCA3OCwgMTk5LCA4MywgODcsIDc5LCA4MiwgNjgsIDgzLCAxMjgsIDgzLCA4NywgNzksIDgyLCA2OCwgMTI4LCA4MywgCisgICAgODcsIDc5LCA3OSwgMTI4LCA4MywgODcsIDc5LCAxMjgsIDgzLCA4NywgNzMsIDgyLCAyMDQsIDgzLCA4NywgNzMsIDc3LCAKKyAgICA3NywgNzMsIDc4LCA3MSwgMTI4LCA4MywgODcsIDczLCA3NywgNzcsIDY5LCA4MiwgMTI4LCA4MywgODcsIDczLCA3MywgCisgICAgMTI4LCA4MywgODcsIDczLCAxMjgsIDgzLCA4NywgNzEsIDEyOCwgODMsIDg3LCA2OSwgNjksIDg0LCAxMjgsIDgzLCA4NywgCisgICAgNjksIDY5LCAyMTIsIDgzLCA4NywgNjksIDY1LCA4NCwgMTI4LCA4MywgODcsIDY5LCA2NSwgMjEyLCA4MywgODcsIDY1LCAKKyAgICA4MywgMjAwLCA4MywgODcsIDY1LCA4MCwgODAsIDczLCA3OCwgNzEsIDEyOCwgODMsIDg3LCA2NSwgNjUsIDEyOCwgODMsIAorICAgIDg3LCAxMjgsIDgzLCA4NiwgNjUsIDgzLCA4NCwgMjAxLCA4MywgODYsIDY1LCA4MiwgNzMsIDg0LCA2NSwgMTI4LCA4MywgCisgICAgODYsIDY1LCA4MiwgNzMsIDg0LCAxOTMsIDgzLCA4NSwgODgsIDEyOCwgODMsIDg1LCA4NSwgMTI4LCA4MywgODUsIDg0LCAKKyAgICAxMjgsIDgzLCA4NSwgODMsIDgwLCA2OSwgNzgsIDgzLCA3MywgNzksIDIwNiwgODMsIDg1LCA4MywgNzIsIDczLCAxMjgsIAorICAgIDgzLCA4NSwgODIsIDg5LCA2NSwgMTI4LCA4MywgODUsIDgyLCA4OCwgMTI4LCA4MywgODUsIDgyLCA4MiwgNzksIDg1LCA3OCwgCisgICAgNjgsIDEyOCwgODMsIDg1LCA4MiwgODIsIDc5LCA4NSwgNzgsIDE5NiwgODMsIDg1LCA4MiwgNzAsIDY5LCA4MiwgMTI4LCAKKyAgICA4MywgODUsIDgyLCA3MCwgNjUsIDY3LCAxOTcsIDgzLCA4NSwgODIsIDY5LCAxMjgsIDgzLCA4NSwgODIsIDY1LCA3OCwgNzEsIAorICAgIDEyOCwgODMsIDg1LCA4MiwgNTcsIDEyOCwgODMsIDg1LCA4MiwgMTI4LCA4MywgODUsIDIxMCwgODMsIDg1LCA4MCwgODIsIAorICAgIDY1LCA3NiwgNzMsIDc4LCA2OSwgNjUsIDIxMCwgODMsIDg1LCA4MCwgNjksIDgyLCA4NiwgNzMsIDgzLCA2OSwgMTI4LCA4MywgCisgICAgODUsIDgwLCA2OSwgODIsIDgzLCA2OSwgODQsIDEyOCwgODMsIDg1LCA4MCwgNjksIDgyLCA4MywgNjksIDIxMiwgODMsIDg1LCAKKyAgICA4MCwgNjksIDgyLCA4MywgNjcsIDgyLCA3MywgODAsIDIxMiwgODMsIDg1LCA4MCwgNjksIDgyLCA3MywgNzcsIDgwLCA3OSwgCisgICAgODMsIDY5LCAxOTYsIDgzLCA4NSwgODAsIDY5LCA4MiwgNzAsIDczLCA4OCwgNjksIDE5NiwgODMsIDg1LCA4MCwgNjksIAorICAgIDIxMCwgODMsIDg1LCA4MCwgMTI4LCA4MywgODUsIDc5LCA4OCwgMTI4LCA4MywgODUsIDc5LCA4MCwgMTI4LCA4MywgODUsIAorICAgIDc5LCAxMjgsIDgzLCA4NSwgNzgsIDgzLCA2OSwgMjEyLCA4MywgODUsIDc4LCA4MiwgNzMsIDgzLCA2OSwgMTI4LCA4MywgCisgICAgODUsIDc4LCA4MiwgNzMsIDgzLCAxOTcsIDgzLCA4NSwgNzgsIDcxLCA3NiwgNjUsIDgzLCA4MywgNjksIDgzLCAxMjgsIDgzLCAKKyAgICA4NSwgNzgsIDcxLCAxMjgsIDgzLCA4NSwgNzgsIDcwLCA3NiwgNzksIDg3LCA2OSwgODIsIDEyOCwgODMsIDg1LCA3OCwgCisgICAgMTI4LCA4MywgODUsIDIwNiwgODMsIDg1LCA3NywgNzcsIDY5LCA4MiwgMTI4LCA4MywgODUsIDc3LCA3NywgNjUsIDg0LCAKKyAgICA3MywgNzksIDc4LCAxMjgsIDgzLCA4NSwgNzcsIDc3LCA2NSwgODQsIDczLCA3OSwgMjA2LCA4MywgODUsIDc3LCA2NSwgODMsIAorICAgIDcyLCAxMjgsIDgzLCA4NSwgNzcsIDEyOCwgODMsIDg1LCA3NiwgNzAsIDg1LCA4MiwgMTI4LCA4MywgODUsIDc1LCA4NSwgCisgICAgNzgsIDEyOCwgODMsIDg1LCA3NSwgODUsIDIwNiwgODMsIDg1LCA3NSwgODUsIDEyOCwgODMsIDg1LCA3NSwgMjEzLCA4MywgCisgICAgODUsIDczLCA4NCwgNjUsIDY2LCA3NiwgNjksIDEyOCwgODMsIDg1LCA3MywgODQsIDEyOCwgODMsIDg1LCA3MiwgODUsIDgyLCAKKyAgICAxMjgsIDgzLCA4NSwgNjksIDEyOCwgODMsIDg1LCA2OCwgNTAsIDEyOCwgODMsIDg1LCA2OCwgMTI4LCA4MywgODUsIDY3LCAKKyAgICA2NywgNjksIDY5LCA2OCwgODMsIDEyOCwgODMsIDg1LCA2NywgNjcsIDY5LCA2OSwgNjgsIDIxMSwgODMsIDg1LCA2NywgNjcsIAorICAgIDY5LCA2OSwgNjgsIDEyOCwgODMsIDg1LCA2NywgNjcsIDY5LCA2OSwgMTk2LCA4MywgODUsIDY2LCA4NSwgNzgsIDczLCA4NCwgCisgICAgMTI4LCA4MywgODUsIDY2LCA4MywgODQsIDczLCA4NCwgODUsIDg0LCA3MywgNzksIDIwNiwgODMsIDg1LCA2NiwgODMsIDg0LCAKKyAgICA3MywgODQsIDg1LCA4NCwgNjksIDEyOCwgODMsIDg1LCA2NiwgODMsIDg0LCA3MywgODQsIDg1LCA4NCwgMTk3LCA4MywgODUsIAorICAgIDY2LCA4MywgNjksIDg0LCAxMjgsIDgzLCA4NSwgNjYsIDgzLCA2OSwgMjEyLCA4MywgODUsIDY2LCA4MywgNjcsIDgyLCA3MywgCisgICAgODAsIDIxMiwgODMsIDg1LCA2NiwgODAsIDg1LCA3OCwgNjcsIDg0LCA3MywgODMsIDEyOCwgODMsIDg1LCA2NiwgNzYsIDczLCAKKyAgICA3OCwgNjksIDY1LCAyMTAsIDgzLCA4NSwgNjYsIDc2LCA3MywgNzcsIDY1LCA4NCwgNzMsIDc5LCA3OCwgMTI4LCA4MywgODUsIAorICAgIDY2LCA3NiwgNzMsIDc3LCA2NSwgODQsIDY5LCA0NSwgNTEsIDEyOCwgODMsIDg1LCA2NiwgNzYsIDczLCA3NywgNjUsIDg0LCAKKyAgICA2OSwgNDUsIDUwLCAxMjgsIDgzLCA4NSwgNjYsIDc2LCA3MywgNzcsIDY1LCA4NCwgNjksIDEyOCwgODMsIDg1LCA2NiwgNzYsIAorICAgIDczLCA3NywgNjUsIDg0LCAxOTcsIDgzLCA4NSwgNjYsIDc0LCA3OSwgNzMsIDc4LCA2OSwgMTk2LCA4MywgODUsIDY2LCA3NCwgCisgICAgNjksIDY3LCA4NCwgMTI4LCA4MywgODUsIDY2LCA3MywgODQsIDc5LCAxMjgsIDgzLCA4NSwgNjYsIDcxLCA4MiwgNzksIDg1LCAKKyAgICA4MCwgMTI4LCA4MywgODUsIDY2LCA3MSwgODIsIDc5LCA4NSwgMjA4LCA4MywgODUsIDY2LCAxMjgsIDgzLCA4NSwgNjUsIAorICAgIDY5LCA4NCwgMTI4LCA4MywgODUsIDY1LCA2OSwgNzgsIDEyOCwgODMsIDg1LCA2NSwgNjksIDEyOCwgODMsIDg1LCA2NSwgCisgICAgMTI4LCA4MywgMjEzLCA4MywgODQsIDg4LCAxMjgsIDgzLCA4NCwgODcsIDY1LCAxMjgsIDgzLCA4NCwgODUsIDY4LCA4OSwgCisgICAgMTI4LCA4MywgODQsIDg1LCA2NywgNzUsIDQ1LCA3OSwgODUsIDIxMiwgODMsIDg0LCA4MywgMTI4LCA4MywgODQsIDgyLCAKKyAgICA3OSwgNzUsIDY5LCA4MywgMTI4LCA4MywgODQsIDgyLCA3OSwgNzUsIDY5LCAyMTEsIDgzLCA4NCwgODIsIDc5LCA3NSwgNjksIAorICAgIDQ1LCA1NywgMTI4LCA4MywgODQsIDgyLCA3OSwgNzUsIDY5LCA0NSwgNTYsIDEyOCwgODMsIDg0LCA4MiwgNzksIDc1LCA2OSwgCisgICAgNDUsIDU1LCAxMjgsIDgzLCA4NCwgODIsIDc5LCA3NSwgNjksIDQ1LCA1NCwgMTI4LCA4MywgODQsIDgyLCA3OSwgNzUsIDY5LCAKKyAgICA0NSwgNTMsIDEyOCwgODMsIDg0LCA4MiwgNzksIDc1LCA2OSwgNDUsIDUyLCAxMjgsIDgzLCA4NCwgODIsIDc5LCA3NSwgNjksIAorICAgIDQ1LCA1MSwgMTI4LCA4MywgODQsIDgyLCA3OSwgNzUsIDY5LCA0NSwgNTAsIDEyOCwgODMsIDg0LCA4MiwgNzksIDc1LCA2OSwgCisgICAgNDUsIDQ5LCA0OSwgMTI4LCA4MywgODQsIDgyLCA3OSwgNzUsIDY5LCA0NSwgNDksIDQ4LCAxMjgsIDgzLCA4NCwgODIsIDc5LCAKKyAgICA3NSwgNjksIDQ1LCA0OSwgMTI4LCA4MywgODQsIDgyLCA3OSwgNzUsIDE5NywgODMsIDg0LCA4MiwgNzMsIDgwLCA2OSwgCisgICAgMTI4LCA4MywgODQsIDgyLCA3MywgNzgsIDcxLCAxMjgsIDgzLCA4NCwgODIsIDczLCA3OCwgMTk5LCA4MywgODQsIDgyLCAKKyAgICA3MywgNzUsIDY5LCA4NCwgNzIsIDgyLCA3OSwgODUsIDcxLCA3MiwgMTI4LCA4MywgODQsIDgyLCA3MywgNjgsIDY5LCAxMjgsIAorICAgIDgzLCA4NCwgODIsIDczLCA2NywgODQsIDc2LCAyMTcsIDgzLCA4NCwgODIsIDY5LCA4NCwgNjcsIDcyLCA2OSwgMTk2LCA4MywgCisgICAgODQsIDgyLCA2OSwgODMsIDIxMSwgODMsIDg0LCA4MiwgNjksIDc4LCA3MSwgODQsIDcyLCAxMjgsIDgzLCA4NCwgODIsIDY5LCAKKyAgICA2NSwgNzcsIDY5LCA4MiwgMTI4LCA4MywgODQsIDgyLCA2NSwgODcsIDY2LCA2OSwgODIsIDgyLCA4OSwgMTI4LCA4MywgODQsIAorICAgIDgyLCA2NSwgODQsIDg1LCA3NywgNDUsIDUwLCAxMjgsIDgzLCA4NCwgODIsIDY1LCA4NCwgODUsIDc3LCAxMjgsIDgzLCA4NCwgCisgICAgODIsIDY1LCA4NCwgODUsIDIwNSwgODMsIDg0LCA4MiwgNjUsIDg0LCA3MywgNjUsIDIwNiwgODMsIDg0LCA4MiwgNjUsIDczLCAKKyAgICA3OCwgNjksIDgyLCAxMjgsIDgzLCA4NCwgODIsIDY1LCA3MywgNzEsIDcyLCA4NCwgNzgsIDY5LCA4MywgODMsIDEyOCwgODMsIAorICAgIDg0LCA4MiwgNjUsIDczLCA3MSwgNzIsIDIxMiwgODMsIDg0LCA4MiwgNjUsIDczLCA3MCwgMTI4LCA4MywgODQsIDgyLCA2NSwgCisgICAgNzEsIDcxLCA3MywgODMsIDc3LCA2NSwgODQsIDY1LCAxMjgsIDgzLCA4NCwgNzksIDg2LCA2OSwgMTI4LCA4MywgODQsIDc5LCAKKyAgICA4MiwgNjksIDEyOCwgODMsIDg0LCA3OSwgODAsIDg3LCA2NSwgODQsIDY3LCA3MiwgMTI4LCA4MywgODQsIDc5LCA4MCwgODAsIAorICAgIDczLCA3OCwgNzEsIDEyOCwgODMsIDg0LCA3OSwgODAsIDgwLCA2NSwgNzEsIDY5LCAxMjgsIDgzLCA4NCwgNzksIDgwLCAKKyAgICAxMjgsIDgzLCA4NCwgNzksIDIwOCwgODMsIDg0LCA3OSwgNzgsIDY5LCAxMjgsIDgzLCA4NCwgNzksIDY3LCA3NSwgMTI4LCAKKyAgICA4MywgODQsIDczLCA3NywgNzcsIDY5LCAxMjgsIDgzLCA4NCwgNzMsIDc2LCAyMDQsIDgzLCA4NCwgNzMsIDc2LCAxOTcsIAorICAgIDgzLCA4NCwgNzMsIDcxLCA3NywgNjUsIDEyOCwgODMsIDg0LCA2OSwgODAsIDEyOCwgODMsIDg0LCA2OSwgNzcsIDEyOCwgCisgICAgODMsIDg0LCA2OSwgNjUsIDc3LCA3MywgNzgsIDE5OSwgODMsIDg0LCA2OSwgNjUsIDc3LCAxMjgsIDgzLCA4NCwgNjksIDY1LCAKKyAgICAyMDUsIDgzLCA4NCwgNjUsIDg2LCA4MiwgNzksIDg1LCAxMjgsIDgzLCA4NCwgNjUsIDg2LCA4MiwgNzksIDgzLCAxMjgsIAorICAgIDgzLCA4NCwgNjUsIDg2LCA4MiwgNzksIDIxMSwgODMsIDg0LCA2NSwgODUsIDgyLCA3OSwgODMsIDEyOCwgODMsIDg0LCA2NSwgCisgICAgODQsIDg1LCAxOTcsIDgzLCA4NCwgNjUsIDg0LCA3MywgNzksIDc4LCAxMjgsIDgzLCA4NCwgNjUsIDg0LCA2OSwgODIsIDgzLCAKKyAgICAxMjgsIDgzLCA4NCwgNjUsIDg0LCA2OSwgMTI4LCA4MywgODQsIDY1LCA4MiwgMjEyLCA4MywgODQsIDY1LCA4MiwgODMsIAorICAgIDEyOCwgODMsIDg0LCA2NSwgODIsIDgyLCA2OSwgMTk2LCA4MywgODQsIDY1LCA4MiwgNzUsIDEyOCwgODMsIDg0LCA2NSwgCisgICAgODIsIDEyOCwgODMsIDg0LCA2NSwgMjEwLCA4MywgODQsIDY1LCA3OCwgNjgsIDgzLCA4NCwgNzMsIDc2LCA3NiwgMTI4LCAKKyAgICA4MywgODQsIDY1LCA3OCwgNjgsIDY1LCA4MiwgMTk2LCA4MywgODQsIDY1LCA3OCwgNjgsIDEyOCwgODMsIDg0LCA2NSwgNzgsIAorICAgIDEyOCwgODMsIDg0LCA2NSwgNzYsIDc2LCA3MywgNzksIDc4LCAxMjgsIDgzLCA4NCwgNjUsIDcwLCA3MCwgMTI4LCA4MywgCisgICAgODQsIDY1LCA3MCwgMTk4LCA4MywgODQsIDY1LCA2NywgNjcsIDY1LCA4NCwgNzksIDEyOCwgODMsIDg0LCA2NSwgNjcsIDY3LCAKKyAgICA2NSwgODQsIDczLCA4MywgODMsIDczLCA3NywgNzksIDEyOCwgODMsIDg0LCA1MCwgMTI4LCA4MywgODMsIDg5LCA4OCwgCisgICAgMTI4LCA4MywgODMsIDg5LCA4NCwgMTI4LCA4MywgODMsIDg5LCA4MiwgODgsIDEyOCwgODMsIDgzLCA4OSwgODIsIDEyOCwgCisgICAgODMsIDgzLCA4OSwgODAsIDEyOCwgODMsIDgzLCA4OSwgMTI4LCA4MywgODMsIDg1LCA4OCwgMTI4LCA4MywgODMsIDg1LCAKKyAgICA4NSwgMTI4LCA4MywgODMsIDg1LCA4NCwgMTI4LCA4MywgODMsIDg1LCA4MCwgMTI4LCA4MywgODMsIDc5LCA4OCwgMTI4LCAKKyAgICA4MywgODMsIDc5LCA4NCwgMTI4LCA4MywgODMsIDc5LCA4MCwgMTI4LCA4MywgODMsIDc5LCA3OSwgMTI4LCA4MywgODMsIAorICAgIDc5LCAxMjgsIDgzLCA4MywgNzMsIDg4LCAxMjgsIDgzLCA4MywgNzMsIDg0LCAxMjgsIDgzLCA4MywgNzMsIDgwLCAxMjgsIAorICAgIDgzLCA4MywgNzMsIDczLCAxMjgsIDgzLCA4MywgNzMsIDY5LCA4OCwgMTI4LCA4MywgODMsIDczLCA2OSwgODAsIDEyOCwgCisgICAgODMsIDgzLCA3MywgNjksIDEyOCwgODMsIDgzLCA3MywgMTI4LCA4MywgODMsIDcyLCA2OSwgMTI4LCA4MywgODMsIDY5LCAKKyAgICA4OCwgMTI4LCA4MywgODMsIDY5LCA4MCwgMTI4LCA4MywgODMsIDY5LCA2OSwgMTI4LCA4MywgODMsIDY1LCA4OCwgMTI4LCAKKyAgICA4MywgODMsIDY1LCA4NSwgMTI4LCA4MywgODMsIDY1LCA4NCwgMTI4LCA4MywgODMsIDY1LCA4MCwgMTI4LCA4MywgODMsIAorICAgIDY1LCA3OCwgNzEsIDg5LCA2OSwgNzksIDgyLCA3MywgNzgsIDcyLCA3MywgNjksIDg1LCA3MiwgMTI4LCA4MywgODMsIDY1LCAKKyAgICA3OCwgNzEsIDg0LCA3MywgNzUsIDY5LCA4NSwgODQsIDQ1LCA4MCwgNzMsIDY5LCA4NSwgODAsIDEyOCwgODMsIDgzLCA2NSwgCisgICAgNzgsIDcxLCA4NCwgNzMsIDc1LCA2OSwgODUsIDg0LCAxMjgsIDgzLCA4MywgNjUsIDc4LCA3MSwgODQsIDcyLCA3MywgNjksIAorICAgIDg1LCA4NCwgNzIsIDEyOCwgODMsIDgzLCA2NSwgNzgsIDcxLCA4MywgNzMsIDc5LCA4MywgNDUsIDg0LCA3MywgNzUsIDY5LCAKKyAgICA4NSwgODQsIDEyOCwgODMsIDgzLCA2NSwgNzgsIDcxLCA4MywgNzMsIDc5LCA4MywgNDUsIDgwLCA3MywgNjksIDg1LCA4MCwgCisgICAgMTI4LCA4MywgODMsIDY1LCA3OCwgNzEsIDgzLCA3MywgNzksIDgzLCA0NSwgNzUsIDczLCA4OSwgNjksIDc5LCA3NSwgMTI4LCAKKyAgICA4MywgODMsIDY1LCA3OCwgNzEsIDgzLCA3MywgNzksIDgzLCAxMjgsIDgzLCA4MywgNjUsIDc4LCA3MSwgODIsIDczLCA2OSwgCisgICAgODUsIDc2LCA0NSwgNzUsIDcyLCA3MywgNjksIDg1LCA3NSwgNzIsIDEyOCwgODMsIDgzLCA2NSwgNzgsIDcxLCA4MiwgNzMsIAorICAgIDY5LCA4NSwgNzYsIDEyOCwgODMsIDgzLCA2NSwgNzgsIDcxLCA4MCwgNzMsIDY5LCA4NSwgODAsIDEyOCwgODMsIDgzLCA2NSwgCisgICAgNzgsIDcxLCA3OCwgNzMsIDY5LCA4NSwgNzgsIDEyOCwgODMsIDgzLCA2NSwgNzgsIDcxLCA3NywgNzMsIDY5LCA4NSwgNzcsIAorICAgIDEyOCwgODMsIDgzLCA2NSwgNzgsIDcxLCA3NSwgNzMsIDg5LCA2OSwgNzksIDc1LCAxMjgsIDgzLCA4MywgNjUsIDc4LCA3MSwgCisgICAgNzMsIDY5LCA4NSwgNzgsIDcxLCAxMjgsIDgzLCA4MywgNjUsIDc4LCA3MSwgNzIsIDczLCA2OSwgODUsIDcyLCAxMjgsIDgzLCAKKyAgICA4MywgNjUsIDc4LCA3MSwgNjcsIDczLCA2OSwgODUsIDY3LCA0NSwgNzIsIDczLCA2OSwgODUsIDcyLCAxMjgsIDgzLCA4MywgCisgICAgNjUsIDc4LCA3MSwgNjcsIDczLCA2OSwgODUsIDY3LCAxMjgsIDgzLCA4MywgNjUsIDc4LCA3MSwgNjUsIDgyLCA2NSwgNjksIAorICAgIDY1LCAxMjgsIDgzLCA4MywgNjUsIDczLCAxMjgsIDgzLCA4MywgNjUsIDY1LCAxMjgsIDgzLCA4MywgNTEsIDEyOCwgODMsIAorICAgIDgzLCA1MCwgMTI4LCA4MywgODIsIDEyOCwgODMsIDgxLCA4NSwgNzMsIDgzLCAyMDAsIDgzLCA4MSwgODUsIDczLCA4MiwgCisgICAgODIsIDY5LCAyMDQsIDgzLCA4MSwgODUsIDczLCA3MSwgNzEsIDc2LCAxOTcsIDgzLCA4MSwgODUsIDY1LCAyMTIsIDgzLCAKKyAgICA4MSwgODUsIDY1LCA4MiwgNjksIDgzLCAxMjgsIDgzLCA4MSwgODUsIDY1LCA4MiwgNjksIDY4LCAxMjgsIDgzLCA4MSwgODUsIAorICAgIDY1LCA4MiwgNjksIDEyOCwgODMsIDgwLCA4NywgNjUsIDEyOCwgODMsIDgwLCA4NSwgNzgsIDcxLCAyMTEsIDgzLCA4MCwgCisgICAgODIsIDc5LCA4NSwgODQsIDEyOCwgODMsIDgwLCA4MiwgNzMsIDc4LCA3MSwgODMsIDEyOCwgODMsIDgwLCA4MiwgNzMsIDc4LCAKKyAgICA3MSwgMTI4LCA4MywgODAsIDgyLCA2OSwgNjcsIDcyLCA3MSwgNjksIDgzLCA2NSwgNzgsIDE5OSwgODMsIDgwLCA3OSwgODUsIAorICAgIDg0LCA3MywgNzgsIDE5OSwgODMsIDgwLCA3OSwgODQsIDEyOCwgODMsIDgwLCA3OSwgNzksIDc4LCAxMjgsIDgzLCA4MCwgCisgICAgNzYsIDczLCA4NCwgODQsIDczLCA3OCwgMTk5LCA4MywgODAsIDc2LCA2NSwgODMsIDcyLCA3MywgNzgsIDE5OSwgODMsIDgwLCAKKyAgICA3MywgODIsIDczLCA4NCwgODUsIDIxMSwgODMsIDgwLCA3MywgODIsIDczLCA4NCwgMTI4LCA4MywgODAsIDczLCA4MiwgNzMsIAorICAgIDIxMiwgODMsIDgwLCA3MywgODIsIDY1LCA3OCwgODQsIDEyOCwgODMsIDgwLCA3MywgODIsIDY1LCA3NiwgMTI4LCA4MywgCisgICAgODAsIDczLCA4MiwgNjUsIDIwNCwgODMsIDgwLCA3MywgNjgsIDY5LCA4MiwgMjE3LCA4MywgODAsIDczLCA2NywgNjksIAorICAgIDEyOCwgODMsIDgwLCA3MiwgNjksIDgyLCA3MywgNjcsIDY1LCAyMDQsIDgzLCA4MCwgNjksIDgzLCA3NywgNzMsIDc2LCAKKyAgICAyMDcsIDgzLCA4MCwgNjksIDY5LCA2OCwgNjYsIDc5LCA2NSwgODQsIDEyOCwgODMsIDgwLCA2OSwgNjksIDY3LCA3MiwgCisgICAgMTI4LCA4MywgODAsIDY5LCA2OSwgNjcsIDIwMCwgODMsIDgwLCA2OSwgNjcsIDczLCA2NSwgNzYsIDEyOCwgODMsIDgwLCAKKyAgICA2OSwgNjUsIDgyLCAxMjgsIDgzLCA4MCwgNjksIDY1LCA3NSwgNjksIDgyLCAxMjgsIDgzLCA4MCwgNjksIDY1LCA3NSwgNjksIAorICAgIDIxMCwgODMsIDgwLCA2OSwgNjUsIDc1LCA0NSwgNzgsIDc5LCA0NSwgNjksIDg2LCA3MywgMjA0LCA4MywgODAsIDY1LCA4NCwgCisgICAgNzIsIDczLCAxMjgsIDgzLCA4MCwgNjUsIDgyLCA3NSwgNzYsIDczLCA3OCwgMTk5LCA4MywgODAsIDY1LCA4MiwgNzUsIDc2LCAKKyAgICA2OSwgODMsIDEyOCwgODMsIDgwLCA2NSwgODIsIDc1LCA3NiwgNjksIDgyLCAxMjgsIDgzLCA4MCwgNjUsIDgyLCA3NSwgNzYsIAorICAgIDY5LCAxMjgsIDgzLCA4MCwgNjUsIDcxLCA3MiwgNjksIDg0LCA4NCwgNzMsIDEyOCwgODMsIDgwLCA2NSwgNjgsIDY5LCA4MywgCisgICAgMTI4LCA4MywgODAsIDY1LCA2OCwgMTk3LCA4MywgODAsIDY1LCA2NywgNzMsIDc4LCAxOTksIDgzLCA4MCwgNjUsIDY3LCAKKyAgICAxOTcsIDgzLCA4MCwgNjUsIDEyOCwgODMsIDc5LCA4OSwgMTI4LCA4MywgNzksIDg3LCA3MywgNzYsIDIwNywgODMsIDc5LCAKKyAgICA4NywgMTI4LCA4MywgNzksIDg1LCA4NCwgNzIsIDY5LCA4MiwgMjA2LCA4MywgNzksIDg1LCA4NCwgNzIsIDQ1LCA4MywgNzYsIAorICAgIDY1LCA4NiwgNjksIDIxNywgODMsIDc5LCA4NSwgODQsIDIwMCwgODMsIDc5LCA4NSwgODIsIDY3LCA2OSwgMTI4LCA4MywgCisgICAgNzksIDg1LCA3OCwgNjgsIDEyOCwgODMsIDc5LCA4NSwgNzgsIDE5NiwgODMsIDc5LCA4NSwgNzgsIDY1LCA4MCwgMTI4LCAKKyAgICA4MywgNzksIDg1LCAxMjgsIDgzLCA3OSwgODMsIDEyOCwgODMsIDc5LCA4MiwgMTkzLCA4MywgNzksIDgxLCAxMjgsIDgzLCAKKyAgICA3OSwgNzksIDIwNiwgODMsIDc5LCA3OCwgNzQsIDY1LCA3NywgMTI4LCA4MywgNzksIDc4LCA3MSwgMTI4LCA4MywgNzksIAorICAgIDc4LCAxMjgsIDgzLCA3OSwgNzcsIDgwLCA2OSwgNzgsIDE5OSwgODMsIDc5LCA3NywgMTI4LCA4MywgNzksIDc2LCA3MywgCisgICAgNjgsIDg1LCA4MywgMTI4LCA4MywgNzksIDc2LCA3MywgNjgsIDg1LCAyMTEsIDgzLCA3OSwgNzIsIDEyOCwgODMsIDc5LCAKKyAgICA3MSwgNjgsIDczLCA2NSwgMjA2LCA4MywgNzksIDcwLCA4NCwgODcsIDY1LCA4MiwgNjksIDQ1LCA3MCwgODUsIDc4LCA2NywgCisgICAgODQsIDczLCA3OSwgMjA2LCA4MywgNzksIDcwLCA4NCwgNzgsIDY5LCA4MywgODMsIDEyOCwgODMsIDc5LCA3MCwgMjEyLCAKKyAgICA4MywgNzksIDE5OCwgODMsIDc5LCA2NywgNzMsIDY5LCA4NCwgODksIDEyOCwgODMsIDc5LCA2NywgNjcsIDY5LCAyMTAsIAorICAgIDgzLCA3OSwgNjUsIDgwLCAxMjgsIDgzLCA3OSwgNjUsIDEyOCwgODMsIDIwNywgODMsIDc4LCA3OSwgODcsIDc3LCA2NSwgCisgICAgNzgsIDEyOCwgODMsIDc4LCA3OSwgODcsIDc3LCA2NSwgMjA2LCA4MywgNzgsIDc5LCA4NywgNzAsIDc2LCA2NSwgNzUsIDY5LCAKKyAgICAxMjgsIDgzLCA3OCwgNzksIDg3LCA2NiwgNzksIDY1LCA4MiwgNjgsIDY5LCA4MiwgMTI4LCA4MywgNzgsIDc5LCA4NywgCisgICAgMTI4LCA4MywgNzgsIDc5LCA4NSwgODQsIDEyOCwgODMsIDc4LCA3OSwgODUsIDIxMiwgODMsIDc4LCA2NSwgMjA4LCA4MywgCisgICAgNzgsIDY1LCA3NSwgNjksIDEyOCwgODMsIDc4LCA2NSwgNzUsIDE5NywgODMsIDc4LCA2NSwgNzMsIDc2LCAxMjgsIDgzLCAKKyAgICA3OCwgMTkzLCA4MywgNzcsIDc5LCA3NSwgNzMsIDc4LCAxOTksIDgzLCA3NywgNzMsIDgyLCA3NSwgNzMsIDc4LCAxOTksIAorICAgIDgzLCA3NywgNzMsIDc2LCA3MywgNzgsIDE5OSwgODMsIDc3LCA3MywgNzYsIDY5LCAxMjgsIDgzLCA3NywgNjksIDY1LCA4MiwgCisgICAgMTI4LCA4MywgNzcsIDY1LCA4MywgMjAwLCA4MywgNzcsIDY1LCA3NiwgNzYsIDY5LCAyMTAsIDgzLCA3NywgNjUsIDc2LCAKKyAgICA3NiwgMTI4LCA4MywgNzYsIDg1LCA4MiwgMTI4LCA4MywgNzYsIDc5LCA4NywgNzYsIDg5LCAxMjgsIDgzLCA3NiwgNzksIAorICAgIDIxNSwgODMsIDc2LCA3OSwgODYsIDc5LCAxMjgsIDgzLCA3NiwgNzksIDIxMiwgODMsIDc2LCA3OSwgODAsIDczLCA3OCwgCisgICAgMTk5LCA4MywgNzYsIDc5LCA4MCwgNjksIDEyOCwgODMsIDc2LCA3MywgNzgsIDcxLCAxMjgsIDgzLCA3NiwgNzMsIDY4LCAKKyAgICA3MywgNzgsIDcxLCAxMjgsIDgzLCA3NiwgNzMsIDY3LCA2OSwgMTI4LCA4MywgNzYsIDczLCA2NywgMTk3LCA4MywgNzYsIAorICAgIDY5LCA2OSwgODAsIDIxNywgODMsIDc2LCA2OSwgNjksIDgwLCA3MywgNzgsIDE5OSwgODMsIDc2LCA2NSwgODYsIDc5LCA3OCwgCisgICAgNzMsIDE5NSwgODMsIDc2LCA2NSwgODYsIDY5LCAxMjgsIDgzLCA3NiwgNjUsIDgzLCA3MiwgMTI4LCA4MywgNzYsIDY1LCAKKyAgICA4MywgMjAwLCA4MywgNzYsIDY1LCA3OCwgODQsIDY5LCAxOTYsIDgzLCA3NSwgODcsIDY1LCAxMjgsIDgzLCA3NSwgODcsIAorICAgIDEyOCwgODMsIDc1LCA4NSwgNzYsIDc2LCAxMjgsIDgzLCA3NSwgODUsIDc2LCAyMDQsIDgzLCA3NSwgNzYsIDczLCA4MiwgCisgICAgNzksIDIwNiwgODMsIDc1LCA3MywgNzgsIDEyOCwgODMsIDc1LCA3MywgNjksIDgyLCAxMjgsIDgzLCA3NSwgMjAxLCA4MywgCisgICAgNzUsIDY5LCA4NywgNjksIDE5NiwgODMsIDc1LCA2NSwgODQsIDY5LCAxMjgsIDgzLCA3NSwgMTI4LCA4MywgNzQsIDY5LCAKKyAgICAxMjgsIDgzLCA3MywgODgsIDg0LCA4OSwgNDUsIDcwLCA3OSwgODUsIDgyLCA4NCwgMjAwLCA4MywgNzMsIDg4LCA4NCwgODksIAorICAgIDEyOCwgODMsIDczLCA4OCwgODQsIDIxNywgODMsIDczLCA4OCwgODQsIDcyLCA4MywgMTI4LCA4MywgNzMsIDg4LCA4NCwgCisgICAgNzIsIDIxMSwgODMsIDczLCA4OCwgODQsIDcyLCAxMjgsIDgzLCA3MywgODgsIDg0LCA2OSwgNjksIDc4LCA4NCwgNzIsIDgzLCAKKyAgICAxMjgsIDgzLCA3MywgODgsIDg0LCA2OSwgNjksIDc4LCA4NCwgNzIsIDEyOCwgODMsIDczLCA4OCwgODQsIDY5LCA2OSwgNzgsIAorICAgIDg0LCAyMDAsIDgzLCA3MywgODgsIDg0LCA2OSwgNjksIDc4LCAxMjgsIDgzLCA3MywgODgsIDg0LCA2OSwgNjksIDIwNiwgCisgICAgODMsIDczLCA4OCwgNDUsIDg0LCA3MiwgNzMsIDgyLCA4NCwgODksIDEyOCwgODMsIDczLCA4OCwgNDUsIDgzLCA4NCwgODIsIAorICAgIDczLCA3OCwgMTk5LCA4MywgNzMsIDg4LCA0NSwgODAsIDY5LCA4MiwgNDUsIDY5LCAyMDUsIDgzLCA3MywgODgsIDQ1LCA3NiwgCisgICAgNzMsIDc4LCAxOTcsIDgzLCA3MywgMjE2LCA4MywgNzMsIDg0LCA2OSwgMTI4LCA4MywgNzMsIDgzLCA2NSwgMTI4LCA4MywgCisgICAgNzMsIDgyLCA3MywgNzgsIDcxLCA4NSwgMTI4LCA4MywgNzMsIDc5LCA4MywgNDUsIDg0LCA3MiwgNzMsIDY5LCA4NSwgODQsIAorICAgIDcyLCAxMjgsIDgzLCA3MywgNzksIDgzLCA0NSwgODMsIDgzLCA2NSwgNzgsIDcxLCA4MywgNzMsIDc5LCA4MywgMTI4LCA4MywgCisgICAgNzMsIDc5LCA4MywgNDUsIDgyLCA3MywgNjksIDg1LCA3NiwgMTI4LCA4MywgNzMsIDc5LCA4MywgNDUsIDgwLCA3MywgNjksIAorICAgIDg1LCA4MCwgNDUsIDc1LCA3MywgODksIDY5LCA3OSwgNzUsIDEyOCwgODMsIDczLCA3OSwgODMsIDQ1LCA4MCwgNzIsIDczLCAKKyAgICA2OSwgODUsIDgwLCA3MiwgMTI4LCA4MywgNzMsIDc5LCA4MywgNDUsIDgwLCA2NSwgNzgsIDgzLCA3MywgNzksIDgzLCAxMjgsIAorICAgIDgzLCA3MywgNzksIDgzLCA0NSwgNzgsIDczLCA2OSwgODUsIDc4LCAxMjgsIDgzLCA3MywgNzksIDgzLCA0NSwgNzcsIDczLCAKKyAgICA2OSwgODUsIDc3LCAxMjgsIDgzLCA3MywgNzksIDgzLCA0NSwgNzUsIDcyLCA3MywgNjksIDg1LCA3NSwgNzIsIDEyOCwgODMsIAorICAgIDczLCA3OSwgODMsIDQ1LCA3NSwgNjUsIDgwLCA4OSwgNjksIDc5LCA4NSwgNzgsIDgwLCA3MywgNjksIDg1LCA4MCwgMTI4LCAKKyAgICA4MywgNzMsIDc5LCA4MywgNDUsIDczLCA2OSwgODUsIDc4LCA3MSwgMTI4LCA4MywgNzMsIDc5LCA4MywgNDUsIDcyLCA3MywgCisgICAgNjksIDg1LCA3MiwgMTI4LCA4MywgNzMsIDc5LCA4MywgNDUsIDY3LCA3MywgNjksIDg1LCA2NywgMTI4LCA4MywgNzMsIDc5LCAKKyAgICA4MywgNDUsIDY3LCA3MiwgNzMsIDY5LCA4NSwgNjcsIDcyLCAxMjgsIDgzLCA3MywgNzksIDIxMSwgODMsIDczLCA3OCwgNzUsIAorICAgIDczLCA3OCwgNzEsIDEyOCwgODMsIDczLCA3OCwgNzEsIDc2LCA2OSwgNDUsIDgzLCA3MiwgNzMsIDcwLCA4NCwgNDUsIDUxLCAKKyAgICAxMjgsIDgzLCA3MywgNzgsIDcxLCA3NiwgNjksIDQ1LCA4MywgNzIsIDczLCA3MCwgODQsIDQ1LCA1MCwgMTI4LCA4MywgNzMsIAorICAgIDc4LCA3MSwgNzYsIDY5LCA0NSwgNzYsIDczLCA3OCwgMTk3LCA4MywgNzMsIDc4LCA3MSwgNzYsIDY5LCAxMjgsIDgzLCA3MywgCisgICAgNzgsIDcxLCA3NiwgMTk3LCA4MywgNzMsIDc4LCA3MSwgNjUsIDY1LCA4NCwgMTI4LCA4MywgNzMsIDc4LCAxOTcsIDgzLCAKKyAgICA3MywgNzgsIDY4LCA3MiwgMjAxLCA4MywgNzMsIDIwNiwgODMsIDczLCA3NywgODAsIDc2LCA3MywgNzAsIDczLCA2OSwgCisgICAgMTk2LCA4MywgNzMsIDc3LCA3MywgNzYsIDY1LCA4MiwgMTI4LCA4MywgNzMsIDc3LCA3MywgNzYsIDY1LCAyMTAsIDgzLCAKKyAgICA3MywgNzcsIDY1LCA3OCwgODMsIDczLCAyMTEsIDgzLCA3MywgNzcsIDY1LCA3NiwgODUsIDc4LCA3MSwgODUsIDIwNiwgODMsIAorICAgIDczLCA3NywgNjUsIDEyOCwgODMsIDczLCA3NiwgODYsIDY5LCA4MiwgMTI4LCA4MywgNzMsIDc2LCA3NSwgMTI4LCA4MywgCisgICAgNzMsIDc2LCA3MywgODEsIDg1LCAxOTMsIDgzLCA3MywgNzYsIDcyLCA3OSwgODUsIDY5LCA4NCwgODQsIDY5LCAxMjgsIDgzLCAKKyAgICA3MywgNzYsIDcyLCA3OSwgODUsIDY5LCA4NCwgODQsIDE5NywgODMsIDczLCA3NiwgNjUsIDUxLCAxMjgsIDgzLCA3MywgNzUsIAorICAgIDczLCAxMjgsIDgzLCA3MywgNzUsIDUwLCAxMjgsIDgzLCA3MywgNzUsIDE3OCwgODMsIDczLCA3MSwgNzgsIDgzLCAxMjgsIAorICAgIDgzLCA3MywgNzEsIDc3LCA2NSwgMTI4LCA4MywgNzMsIDcxLCA3NywgMTkzLCA4MywgNzMsIDcxLCA2OSwgMjA0LCA4MywgCisgICAgNzMsIDcxLCA1MiwgMTI4LCA4MywgNzMsIDcxLCAxODAsIDgzLCA3MywgNzEsIDEyOCwgODMsIDczLCA2OSwgNjksIDEyOCwgCisgICAgODMsIDczLCA2OCwgNjksIDg3LCA2NSwgODksIDIxMSwgODMsIDczLCA2NywgNzUsIDc4LCA2OSwgODMsIDgzLCAxMjgsIDgzLCAKKyAgICA3MywgNjcsIDc1LCA3NiwgNjksIDEyOCwgODMsIDczLCA2NiwgMTk3LCA4MywgMjAxLCA4MywgNzIsIDg5LCA4OCwgMTI4LCAKKyAgICA4MywgNzIsIDg5LCA4NCwgMTI4LCA4MywgNzIsIDg5LCA4MiwgODgsIDEyOCwgODMsIDcyLCA4OSwgODIsIDEyOCwgODMsIAorICAgIDcyLCA4OSwgODAsIDEyOCwgODMsIDcyLCA4OSwgNjksIDEyOCwgODMsIDcyLCA4OSwgNjUsIDEyOCwgODMsIDcyLCA4OSwgCisgICAgMTI4LCA4MywgNzIsIDg3LCA3OSwgODksIDEyOCwgODMsIDcyLCA4NywgNzksIDc5LCAxMjgsIDgzLCA3MiwgODcsIDc5LCAKKyAgICAxMjgsIDgzLCA3MiwgODcsIDczLCA3MywgMTI4LCA4MywgNzIsIDg3LCA3MywgMTI4LCA4MywgNzIsIDg3LCA2OSwgMTI4LCAKKyAgICA4MywgNzIsIDg3LCA2NSwgNjUsIDEyOCwgODMsIDcyLCA4NywgNjUsIDEyOCwgODMsIDcyLCA4NSwgODgsIDEyOCwgODMsIAorICAgIDcyLCA4NSwgODUsIDEyOCwgODMsIDcyLCA4NSwgODQsIDEyOCwgODMsIDcyLCA4NSwgODIsIDg4LCAxMjgsIDgzLCA3MiwgCisgICAgODUsIDgyLCAxMjgsIDgzLCA3MiwgODUsIDgwLCAxMjgsIDgzLCA3MiwgODUsIDc5LCA4OCwgMTI4LCA4MywgNzIsIDg1LCAKKyAgICA3OSwgODAsIDEyOCwgODMsIDcyLCA4NSwgNzksIDEyOCwgODMsIDcyLCA4NSwgNzcsIDEyOCwgODMsIDcyLCA4NSwgNzAsIAorICAgIDcwLCA3NiwgMTk3LCA4MywgNzIsIDg1LCA2OSwgODEsIDEyOCwgODMsIDcyLCA4NSwgNjksIDc4LCA4MywgNzIsIDg1LCA2OSwgCisgICAgODQsIDEyOCwgODMsIDcyLCA4NSwgNjYsIDg1LCA4MiwgMTI4LCA4MywgNzIsIDg1LCA1MCwgMTI4LCA4MywgNzIsIDg1LCAKKyAgICAxNzgsIDgzLCA3MiwgODUsIDEyOCwgODMsIDcyLCAyMTMsIDgzLCA3MiwgODQsIDY1LCA4MCwgNzMsIDY3LCAxMjgsIDgzLCAKKyAgICA3MiwgODQsIDY1LCAxMjgsIDgzLCA3MiwgODIsIDczLCA3OCwgNjksIDEyOCwgODMsIDcyLCA4MiwgNzMsIDc3LCA4MCwgCisgICAgMTI4LCA4MywgNzIsIDgyLCA3MywgNzMsIDEyOCwgODMsIDcyLCA3OSwgODksIDEyOCwgODMsIDcyLCA3OSwgODgsIDEyOCwgCisgICAgODMsIDcyLCA3OSwgODcsIDY5LCA4MiwgMTI4LCA4MywgNzIsIDc5LCA4NSwgNzYsIDY4LCA2OSwgODIsIDY5LCAxOTYsIDgzLCAKKyAgICA3MiwgNzksIDg0LCAxMjgsIDgzLCA3MiwgNzksIDgyLCA4NCwgODMsIDEyOCwgODMsIDcyLCA3OSwgODIsIDg0LCAyMTEsIAorICAgIDgzLCA3MiwgNzksIDgyLCA4NCwgNjksIDc4LCA2OSwgODIsIDEyOCwgODMsIDcyLCA3OSwgODIsIDg0LCA2NywgNjUsIDc1LCAKKyAgICA2OSwgMTI4LCA4MywgNzIsIDc5LCA4MiwgODQsIDQ1LCA4NCwgODcsIDczLCA3MSwgNDUsIDg5LCA4MiwgMTI4LCA4MywgNzIsIAorICAgIDc5LCA4MiwgODQsIDQ1LCA4NCwgODcsIDczLCA3MSwgNDUsIDg0LCA4OSwgMjEwLCA4MywgNzIsIDc5LCA4MiwgODQsIDQ1LCAKKyAgICA4NCwgODcsIDczLCA3MSwgNDUsIDgzLCA3OSwgMjA0LCA4MywgNzIsIDc5LCA4MiwgODQsIDQ1LCA4NCwgODcsIDczLCA3MSwgCisgICAgNDUsIDc5LCA4MywgMjExLCA4MywgNzIsIDc5LCA4MiwgODQsIDQ1LCA4NCwgODcsIDczLCA3MSwgNDUsIDc4LCA2NSwgODUsIAorICAgIDE5NiwgODMsIDcyLCA3OSwgODIsIDg0LCA0NSwgODQsIDg3LCA3MywgNzEsIDQ1LCA3NywgNjUsIDY4LCAyMTAsIDgzLCA3MiwgCisgICAgNzksIDgyLCA4NCwgNDUsIDg0LCA4NywgNzMsIDcxLCA0NSwgNzIsIDY1LCA3MSwgNjUsIDc2LCAyMDQsIDgzLCA3MiwgNzksIAorICAgIDgyLCA4NCwgNDUsIDg0LCA4NywgNzMsIDcxLCA0NSwgNjYsIDc0LCA2NSwgODIsIDc1LCA2NSwgMjA2LCA4MywgNzIsIDc5LCAKKyAgICA4MiwgODQsIDQ1LCA4NCwgODcsIDczLCA3MSwgNDUsIDY1LCAyMTAsIDgzLCA3MiwgNzksIDgyLCA4NCwgMTI4LCA4MywgNzIsIAorICAgIDc5LCA4MiwgMjEyLCA4MywgNzIsIDc5LCA4MSwgMTI4LCA4MywgNzIsIDc5LCAyMDksIDgzLCA3MiwgNzksIDgwLCAxMjgsIAorICAgIDgzLCA3MiwgNzksIDc5LCA4NCwgNzMsIDc4LCAxOTksIDgzLCA3MiwgNzksIDc5LCA4NCwgMTI4LCA4MywgNzIsIDc5LCA3OSwgCisgICAgMTI4LCA4MywgNzIsIDc5LCA3MSwgMjAxLCA4MywgNzIsIDc5LCAxOTksIDgzLCA3MiwgNzksIDY5LCAxMjgsIDgzLCA3MiwgCisgICAgNzksIDE5NywgODMsIDcyLCA3OSwgNjUsIDEyOCwgODMsIDcyLCA3OSwgMTI4LCA4MywgNzIsIDczLCA4OSwgODksIDY1LCAKKyAgICA2NSwgNzYsIDY1LCA2NSwgMTI4LCA4MywgNzIsIDczLCA4NCwgNjUsIDEyOCwgODMsIDcyLCA3MywgODQsIDE5MywgODMsIAorICAgIDcyLCA3MywgODIsIDIxMiwgODMsIDcyLCA3MywgODIsIDY1LCA2OSwgMTI4LCA4MywgNzIsIDczLCA4MiwgMTI4LCA4MywgCisgICAgNzIsIDczLCAyMTAsIDgzLCA3MiwgNzMsIDgxLCAxMjgsIDgzLCA3MiwgNzMsIDgwLCAxMjgsIDgzLCA3MiwgNzMsIDc4LCAKKyAgICA4NCwgMjA3LCA4MywgNzIsIDczLCA3OCwgNzMsIDcxLCAxMjgsIDgzLCA3MiwgNzMsIDc4LCA2OCwgMTkzLCA4MywgNzIsIAorICAgIDczLCA3OCwgMTI4LCA4MywgNzIsIDczLCAyMDYsIDgzLCA3MiwgNzMsIDc3LCA2NSwgMTI4LCA4MywgNzIsIDczLCA3NywgCisgICAgMTkzLCA4MywgNzIsIDczLCA3NywgMTI4LCA4MywgNzIsIDczLCAyMDUsIDgzLCA3MiwgNzMsIDczLCA3OCwgMTI4LCA4MywgCisgICAgNzIsIDczLCA3MywgMTI4LCA4MywgNzIsIDczLCA3MCwgMjEyLCA4MywgNzIsIDczLCA2OSwgNzYsIDY4LCAxMjgsIDgzLCAKKyAgICA3MiwgNzMsIDY4LCAxMjgsIDgzLCA3MiwgNzMsIDE5NiwgODMsIDcyLCA3MiwgNjUsIDEyOCwgODMsIDcyLCA3MiwgMTkzLCAKKyAgICA4MywgNzIsIDY5LCA4OCwgMTI4LCA4MywgNzIsIDY5LCA4NiwgNjUsIDEyOCwgODMsIDcyLCA2OSwgODUsIDg4LCAxMjgsIAorICAgIDgzLCA3MiwgNjksIDg1LCA3OSwgODEsIDEyOCwgODMsIDcyLCA2OSwgODUsIDY1LCA2OSwgODEsIDg0LCA4NSwgMTI4LCA4MywgCisgICAgNzIsIDY5LCA4NSwgNjUsIDY5LCA4MSwgMTI4LCA4MywgNzIsIDY5LCA4NSwgNjUsIDY5LCAxMjgsIDgzLCA3MiwgNjksIDg0LCAKICAgICAxMjgsIDgzLCA3MiwgNjksIDIxMiwgODMsIDcyLCA2OSwgODMsIDcyLCA3NiwgNjUsIDc3LCAxMjgsIDgzLCA3MiwgNjksIAogICAgIDgzLCA3MiwgNzMsIDcxLCAxMjgsIDgzLCA3MiwgNjksIDgzLCA3MiwgNzMsIDE5OSwgODMsIDcyLCA2OSwgODMsIDcyLCA1MCwgCiAgICAgMTI4LCA4MywgNzIsIDY5LCA4MywgNzIsIDEyOCwgODMsIDcyLCA2OSwgODEsIDY5LCAyMDQsIDgzLCA3MiwgNjksIDgwLCAKQEAgLTg4MCwzNzYgKzk4NCwzODQgQEAKICAgICAxMjgsIDgzLCA3MiwgNjksIDY5LCAyMDYsIDgzLCA3MiwgNjksIDY5LCAxMjgsIDgzLCA3MiwgNjksIDQ1LCA3MSwgNzksIAogICAgIDY1LCA4NCwgMTI4LCA4MywgNzIsIDE5NywgODMsIDcyLCA2NywgNzIsIDY1LCAxMjgsIDgzLCA3MiwgNjUsIDg5LCAxMjgsIAogICAgIDgzLCA3MiwgNjUsIDg4LCAxMjgsIDgzLCA3MiwgNjUsIDg2LCA3MywgODksIDY1LCA3OCwgNzMsIDEyOCwgODMsIDcyLCA2NSwgCi0gICAgODYsIDczLCA2NSwgMjA2LCA4MywgNzIsIDY1LCA4NiwgNjksIDE5NiwgODMsIDcyLCA2NSwgODQsIDEyOCwgODMsIDcyLCAKLSAgICA2NSwgODIsIDg1LCAxMjgsIDgzLCA3MiwgNjUsIDgyLCAyMTMsIDgzLCA3MiwgNjUsIDgyLCA4MCwgMTI4LCA4MywgNzIsIAotICAgIDY1LCA4MiwgMjA4LCA4MywgNzIsIDY1LCA4MiwgNjUsIDEyOCwgODMsIDcyLCA2NSwgODIsIDUwLCAxMjgsIDgzLCA3MiwgCi0gICAgNjUsIDgyLCAxNzgsIDgzLCA3MiwgNjUsIDgwLCA3MywgNzgsIDcxLCAxMjgsIDgzLCA3MiwgNjUsIDgwLCA2OSwgODMsIAotICAgIDEyOCwgODMsIDcyLCA2NSwgODAsIDE5NywgODMsIDcyLCA2NSwgODAsIDEyOCwgODMsIDcyLCA2NSwgNzgsIDcxLCAxMjgsIAotICAgIDgzLCA3MiwgNjUsIDc4LCAxMjgsIDgzLCA3MiwgNjUsIDIwNiwgODMsIDcyLCA2NSwgNzcsIDgyLCA3OSwgNjcsIDc1LCAKLSAgICAxMjgsIDgzLCA3MiwgNjUsIDc2LCA4MywgNzIsIDY5LCA3NiwgNjksIDg0LCAxMjgsIDgzLCA3MiwgNjUsIDc1LCA4NCwgNzMsIAotICAgIDEyOCwgODMsIDcyLCA2NSwgNjgsIDc5LCA4NywgNjksIDE5NiwgODMsIDcyLCA2NSwgNjgsIDY5LCAxMjgsIDgzLCA3MiwgCi0gICAgNjUsIDY4LCA2OCwgNjUsIDEyOCwgODMsIDcyLCA2NSwgNjgsIDY4LCAxOTMsIDgzLCA3MiwgNjUsIDY4LCAxMjgsIDgzLCAKLSAgICA3MiwgNjUsIDE5NiwgODMsIDcyLCA2NSwgNjYsIDU0LCAxMjgsIDgzLCA3MiwgNjUsIDY1LCAxMjgsIDgzLCA3MiwgNjUsIAotICAgIDU0LCAxMjgsIDgzLCA3MiwgNjUsIDUxLCAxMjgsIDgzLCA3MiwgNjUsIDE3OSwgODMsIDcxLCA4MiwgMTkzLCA4MywgNzEsIAotICAgIDc5LCAyMTAsIDgzLCA3MSwgNjUsIDIxNSwgODMsIDcxLCA2NSwgMTk0LCA4MywgNzEsIDEyOCwgODMsIDY5LCA4OCwgODQsIAotICAgIDg1LCA3NiwgMTkzLCA4MywgNjksIDg4LCA4NCwgNzMsIDc2LCA2OSwgMTI4LCA4MywgNjksIDg4LCA4NCwgNjUsIDc4LCAKLSAgICAyMTEsIDgzLCA2OSwgODYsIDY5LCA4MiwgNjUsIDc4LCA2NywgNjksIDEyOCwgODMsIDY5LCA4NiwgNjksIDc4LCA4NCwgODksIAotICAgIDEyOCwgODMsIDY5LCA4NiwgNjksIDc4LCA4NCwgMjE3LCA4MywgNjksIDg2LCA2OSwgNzgsIDg0LCA3MiwgMTI4LCA4MywgCi0gICAgNjksIDg2LCA2OSwgNzgsIDg0LCA2OSwgNjksIDc4LCAxMjgsIDgzLCA2OSwgODYsIDY5LCA3OCwgODQsIDY5LCA2OSwgMjA2LCAKLSAgICA4MywgNjksIDg2LCA2OSwgNzgsIDQ1LCA4NCwgNzIsIDczLCA4MiwgODQsIDg5LCAxMjgsIDgzLCA2OSwgODYsIDY5LCAyMDYsIAotICAgIDgzLCA2OSwgODUsIDg4LCAxMjgsIDgzLCA2OSwgODUsIDc4LCA4OSwgNjUsIDc3LCAxMjgsIDgzLCA2OSwgODUsIDY1LCA2OSwgCi0gICAgODEsIDEyOCwgODMsIDY5LCA4NCwgNzAsIDc5LCA3OCwgMTI4LCA4MywgNjksIDgzLCA4NCwgNjksIDgyLCA4NCwgNzMsIDg1LCAKLSAgICAyMTEsIDgzLCA2OSwgODMsIDgxLCA4NSwgNzMsIDgxLCA4NSwgNjUsIDY4LCA4MiwgNjUsIDg0LCA2OSwgMTI4LCA4MywgNjksIAotICAgIDgzLCA2NSwgNzcsIDE5NywgODMsIDY5LCA4MiwgODYsIDczLCA2NywgMTk3LCA4MywgNjksIDgyLCA3MywgNzAsIDgzLCAKLSAgICAxMjgsIDgzLCA2OSwgODIsIDczLCA3MCwgMjExLCA4MywgNjksIDgwLCA4NCwgNjksIDc3LCA2NiwgNjksIDgyLCAxMjgsIAotICAgIDgzLCA2OSwgODAsIDY1LCA4MiwgNjUsIDg0LCA3OSwgODIsIDEyOCwgODMsIDY5LCA4MCwgNjUsIDgyLCA2NSwgODQsIDc5LCAKLSAgICAyMTAsIDgzLCA2OSwgNzgsIDg0LCA3OSwgMTI4LCA4MywgNjksIDc4LCA4NCwgNzMsIDEyOCwgODMsIDY5LCA3NywgODUsIAotICAgIDc4LCA2NywgNzMsIDE5MywgODMsIDY5LCA3NywgNzUsIDY1LCA4NCwgNzIsIDEyOCwgODMsIDY5LCA3NywgNzUsIDEyOCwgCi0gICAgODMsIDY5LCA3NywgNzMsIDg2LCA3OSwgODcsIDY5LCAyMDQsIDgzLCA2OSwgNzcsIDczLCA4MywgNzksIDcwLCAyMTIsIDgzLCAKLSAgICA2OSwgNzcsIDczLCA4MywgNjksIDg4LCA4NCwgNzMsIDc2LCA2OSwgMTI4LCA4MywgNjksIDc3LCA3MywgNzcsIDczLCA3OCwgCi0gICAgNzMsIDc3LCAxOTMsIDgzLCA2OSwgNzcsIDczLCA2OCwgNzMsIDgyLCA2OSwgNjcsIDIxMiwgODMsIDY5LCA3NywgNzMsIDY3LCAKLSAgICA3OSwgNzYsIDc5LCA3OCwgMTI4LCA4MywgNjksIDc3LCA3MywgNjcsIDc5LCA3NiwgNzksIDIwNiwgODMsIDY5LCA3NywgNzMsIAotICAgIDY3LCA3MywgODIsIDY3LCA4NSwgNzYsIDY1LCAyMTAsIDgzLCA2OSwgNzcsIDczLCA2NywgNzMsIDgyLCA2NywgNzYsIDE5NywgCi0gICAgODMsIDY5LCA3NywgNzMsIDY2LCA4MiwgNjksIDg2LCA3MywgMjExLCA4MywgNjksIDc3LCA3MywgNDUsIDg2LCA3OSwgNzMsIAotICAgIDY3LCA2OSwgMTk2LCA4MywgNjksIDc2LCA3MCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NywgCi0gICAgNTcsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTcsIDU2LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCAKLSAgICA2NywgODQsIDc5LCA4MiwgNDUsIDU3LCA1NSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NywgCi0gICAgNTQsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTcsIDUzLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCAKLSAgICA2NywgODQsIDc5LCA4MiwgNDUsIDU3LCA1MiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NywgCi0gICAgNTEsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTcsIDUwLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCAKLSAgICA2NywgODQsIDc5LCA4MiwgNDUsIDU3LCA0OSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NywgCi0gICAgNDgsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTcsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCAKLSAgICA4NCwgNzksIDgyLCA0NSwgNTYsIDU3LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDU2LCA1NiwgCi0gICAgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NiwgNTUsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCAKLSAgICA4NCwgNzksIDgyLCA0NSwgNTYsIDU0LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDU2LCA1MywgCi0gICAgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NiwgNTIsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCAKLSAgICA4NCwgNzksIDgyLCA0NSwgNTYsIDUxLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDU2LCA1MCwgCi0gICAgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NiwgNDksIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCAKLSAgICA4NCwgNzksIDgyLCA0NSwgNTYsIDQ4LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDU2LCAxMjgsIAotICAgIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDU1LCA1NywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCAKLSAgICA3OSwgODIsIDQ1LCA1NSwgNTYsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTUsIDU1LCAxMjgsIAotICAgIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDU1LCA1NCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCAKLSAgICA3OSwgODIsIDQ1LCA1NSwgNTMsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTUsIDUyLCAxMjgsIAotICAgIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDU1LCA1MSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCAKLSAgICA3OSwgODIsIDQ1LCA1NSwgNTAsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTUsIDQ5LCAxMjgsIAotICAgIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDU1LCA0OCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCAKLSAgICA3OSwgODIsIDQ1LCA1NSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NCwgNTcsIDEyOCwgODMsIAotICAgIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTQsIDU2LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCAKLSAgICA4MiwgNDUsIDU0LCA1NSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NCwgNTQsIDEyOCwgODMsIAotICAgIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTQsIDUzLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCAKLSAgICA4MiwgNDUsIDU0LCA1MiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NCwgNTEsIDEyOCwgODMsIAotICAgIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTQsIDUwLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCAKLSAgICA4MiwgNDUsIDU0LCA0OSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NCwgNDgsIDEyOCwgODMsIAotICAgIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTQsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCAKLSAgICA0NSwgNTMsIDU3LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUzLCA1NiwgMTI4LCA4MywgNjksIAotICAgIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MywgNTUsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCAKLSAgICA0NSwgNTMsIDU0LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUzLCA1MywgMTI4LCA4MywgNjksIAotICAgIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MywgNTIsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCAKLSAgICA0NSwgNTMsIDUxLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUzLCA1MCwgMTI4LCA4MywgNjksIAotICAgIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MywgNDksIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCAKLSAgICA0NSwgNTMsIDQ4LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUzLCAxMjgsIDgzLCA2OSwgNzYsIAotICAgIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUyLCA1NywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCAKLSAgICA1MiwgNTYsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTIsIDU1LCAxMjgsIDgzLCA2OSwgNzYsIAotICAgIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUyLCA1NCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCAKLSAgICA1MiwgNTMsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTIsIDUyLCAxMjgsIDgzLCA2OSwgNzYsIAotICAgIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUyLCA1MSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCAKLSAgICA1MiwgNTAsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTIsIDQ5LCAxMjgsIDgzLCA2OSwgNzYsIAotICAgIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUyLCA0OCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCAKLSAgICA1MiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MSwgNTcsIDEyOCwgODMsIDY5LCA3NiwgNjksIAotICAgIDY3LCA4NCwgNzksIDgyLCA0NSwgNTEsIDU2LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUxLCAKLSAgICA1NSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MSwgNTQsIDEyOCwgODMsIDY5LCA3NiwgNjksIAotICAgIDY3LCA4NCwgNzksIDgyLCA0NSwgNTEsIDUzLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUxLCAKLSAgICA1MiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MSwgNTEsIDEyOCwgODMsIDY5LCA3NiwgNjksIAotICAgIDY3LCA4NCwgNzksIDgyLCA0NSwgNTEsIDUwLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUxLCAKLSAgICA0OSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MSwgNDgsIDEyOCwgODMsIDY5LCA3NiwgNjksIAotICAgIDY3LCA4NCwgNzksIDgyLCA0NSwgNTEsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDU3LCAKLSAgICAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1NiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIAotICAgIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTUsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDU0LCAKLSAgICAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1MywgNTQsIDEyOCwgODMsIDY5LCA3NiwgNjksIAotICAgIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDUzLCA1MywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCAKLSAgICA1MCwgNTMsIDUyLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1MywgNTEsIDEyOCwgODMsIAotICAgIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDUzLCA1MCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCAKLSAgICA3OSwgODIsIDQ1LCA1MCwgNTMsIDQ5LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1MywgCi0gICAgNDgsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDUzLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCAKLSAgICA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1MiwgNTcsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgCi0gICAgNTAsIDUyLCA1NiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTIsIDU1LCAxMjgsIDgzLCAKLSAgICA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1MiwgNTQsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgCi0gICAgNzksIDgyLCA0NSwgNTAsIDUyLCA1MywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTIsIAotICAgIDUyLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1MiwgNTEsIDEyOCwgODMsIDY5LCA3NiwgCi0gICAgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDUyLCA1MCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIAotICAgIDQ1LCA1MCwgNTIsIDQ5LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1MiwgNDgsIDEyOCwgCi0gICAgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDUyLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIAotICAgIDc5LCA4MiwgNDUsIDUwLCA1MSwgNTcsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDUxLCAKLSAgICA1NiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTEsIDU1LCAxMjgsIDgzLCA2OSwgNzYsIAotICAgIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1MSwgNTQsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCAKLSAgICA0NSwgNTAsIDUxLCA1MywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTEsIDUyLCAxMjgsIAotICAgIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1MSwgNTEsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCAKLSAgICA4NCwgNzksIDgyLCA0NSwgNTAsIDUxLCA1MCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgCi0gICAgNTEsIDQ5LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1MSwgNDgsIDEyOCwgODMsIDY5LCAKLSAgICA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDUxLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgCi0gICAgNDUsIDUwLCA1MCwgNTcsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDUwLCA1NiwgMTI4LCAKLSAgICA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTAsIDU1LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgCi0gICAgODQsIDc5LCA4MiwgNDUsIDUwLCA1MCwgNTQsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIAotICAgIDUwLCA1MywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTAsIDUyLCAxMjgsIDgzLCA2OSwgCi0gICAgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1MCwgNTEsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIAotICAgIDgyLCA0NSwgNTAsIDUwLCA1MCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTAsIDQ5LCAKLSAgICAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1MCwgNDgsIDEyOCwgODMsIDY5LCA3NiwgNjksIAotICAgIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDUwLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCAKLSAgICA0OSwgNTcsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDQ5LCA1NiwgMTI4LCA4MywgNjksIAotICAgIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNDksIDU1LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCAKLSAgICA4MiwgNDUsIDUwLCA0OSwgNTQsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDQ5LCA1MywgCi0gICAgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNDksIDUyLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCAKLSAgICA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA0OSwgNTEsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgCi0gICAgNTAsIDQ5LCA1MCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNDksIDQ5LCAxMjgsIDgzLCAKLSAgICA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA0OSwgNDgsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgCi0gICAgNzksIDgyLCA0NSwgNTAsIDQ5LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA0OCwgNTcsIAotICAgIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDQ4LCA1NiwgMTI4LCA4MywgNjksIDc2LCA2OSwgCi0gICAgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNDgsIDU1LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIAotICAgIDUwLCA0OCwgNTQsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDQ4LCA1MywgMTI4LCA4MywgCi0gICAgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNDgsIDUyLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIAotICAgIDc5LCA4MiwgNDUsIDUwLCA0OCwgNTEsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDQ4LCAKLSAgICA1MCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNDgsIDQ5LCAxMjgsIDgzLCA2OSwgNzYsIAotICAgIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA0OCwgNDgsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCAKLSAgICA0NSwgNTAsIDQ4LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCAxMjgsIDgzLCA2OSwgNzYsIAotICAgIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NywgNTcsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCAKLSAgICA0NSwgNDksIDU3LCA1NiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTcsIDU1LCAxMjgsIAotICAgIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NywgNTQsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCAKLSAgICA4NCwgNzksIDgyLCA0NSwgNDksIDU3LCA1MywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgCi0gICAgNTcsIDUyLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NywgNTEsIDEyOCwgODMsIDY5LCAKLSAgICA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDU3LCA1MCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgCi0gICAgODIsIDQ1LCA0OSwgNTcsIDQ5LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NywgNDgsIAotICAgIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDU3LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgCi0gICAgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NiwgNTcsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIAotICAgIDU2LCA1NiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTYsIDU1LCAxMjgsIDgzLCA2OSwgCi0gICAgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NiwgNTQsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIAotICAgIDgyLCA0NSwgNDksIDU2LCA1MywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTYsIDUyLCAKLSAgICAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NiwgNTEsIDEyOCwgODMsIDY5LCA3NiwgNjksIAotICAgIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDU2LCA1MCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCAKLSAgICA0OSwgNTYsIDQ5LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NiwgNDgsIDEyOCwgODMsIAotICAgIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDU2LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCAKLSAgICA4MiwgNDUsIDQ5LCA1NSwgNTcsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDU1LCA1NiwgCi0gICAgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTUsIDU1LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCAKLSAgICA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NSwgNTQsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgCi0gICAgNDksIDU1LCA1MywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTUsIDUyLCAxMjgsIDgzLCAKLSAgICA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NSwgNTEsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgCi0gICAgNzksIDgyLCA0NSwgNDksIDU1LCA1MCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTUsIAotICAgIDQ5LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NSwgNDgsIDEyOCwgODMsIDY5LCA3NiwgCi0gICAgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDU1LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIAotICAgIDQ5LCA1NCwgNTcsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDU0LCA1NiwgMTI4LCA4MywgCi0gICAgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTQsIDU1LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIAotICAgIDc5LCA4MiwgNDUsIDQ5LCA1NCwgNTQsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDU0LCAKLSAgICA1MywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTQsIDUyLCAxMjgsIDgzLCA2OSwgNzYsIAotICAgIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NCwgNTEsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCAKLSAgICA0NSwgNDksIDU0LCA1MCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTQsIDQ5LCAxMjgsIAotICAgIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NCwgNDgsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCAKLSAgICA4NCwgNzksIDgyLCA0NSwgNDksIDU0LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MywgCi0gICAgNTcsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDUzLCA1NiwgMTI4LCA4MywgNjksIDc2LCAKLSAgICA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTMsIDU1LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgCi0gICAgNDUsIDQ5LCA1MywgNTQsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDUzLCA1MywgMTI4LCAKLSAgICA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTMsIDUyLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgCi0gICAgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MywgNTEsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIAotICAgIDUzLCA1MCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTMsIDQ5LCAxMjgsIDgzLCA2OSwgCi0gICAgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MywgNDgsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIAotICAgIDgyLCA0NSwgNDksIDUzLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MiwgNTcsIDEyOCwgCi0gICAgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDUyLCA1NiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIAotICAgIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTIsIDU1LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCAKLSAgICA1MiwgNTQsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDUyLCA1MywgMTI4LCA4MywgNjksIAotICAgIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTIsIDUyLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCAKLSAgICA4MiwgNDUsIDQ5LCA1MiwgNTEsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDUyLCA1MCwgCi0gICAgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTIsIDQ5LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCAKLSAgICA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MiwgNDgsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgCi0gICAgNDksIDUyLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MSwgNTcsIDEyOCwgODMsIDY5LCAKLSAgICA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDUxLCA1NiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgCi0gICAgODIsIDQ1LCA0OSwgNTEsIDU1LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MSwgNTQsIAotICAgIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDUxLCA1MywgMTI4LCA4MywgNjksIDc2LCA2OSwgCi0gICAgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTEsIDUyLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIAotICAgIDQ5LCA1MSwgNTEsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDUxLCA1MCwgMTI4LCA4MywgCi0gICAgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTEsIDQ5LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIAotICAgIDc5LCA4MiwgNDUsIDQ5LCA1MSwgNDgsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDUxLCAKLSAgICAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MCwgNTcsIDEyOCwgODMsIDY5LCA3NiwgNjksIAotICAgIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDUwLCA1NiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCAKLSAgICA0OSwgNTAsIDU1LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MCwgNTQsIDEyOCwgODMsIAotICAgIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDUwLCA1MywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCAKLSAgICA3OSwgODIsIDQ1LCA0OSwgNTAsIDUyLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MCwgCi0gICAgNTEsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDUwLCA1MCwgMTI4LCA4MywgNjksIDc2LCAKLSAgICA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTAsIDQ5LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgCi0gICAgNDUsIDQ5LCA1MCwgNDgsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDUwLCAxMjgsIDgzLCAKLSAgICA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA0OSwgNTcsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgCi0gICAgNzksIDgyLCA0NSwgNDksIDQ5LCA1NiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNDksIAotICAgIDU1LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA0OSwgNTQsIDEyOCwgODMsIDY5LCA3NiwgCi0gICAgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDQ5LCA1MywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIAotICAgIDQ1LCA0OSwgNDksIDUyLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA0OSwgNTEsIDEyOCwgCi0gICAgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDQ5LCA1MCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIAotICAgIDg0LCA3OSwgODIsIDQ1LCA0OSwgNDksIDQ5LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCAKLSAgICA0OSwgNDgsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDQ5LCAxMjgsIDgzLCA2OSwgNzYsIAotICAgIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA0OCwgNTcsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCAKLSAgICA0NSwgNDksIDQ4LCA1NiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNDgsIDU1LCAxMjgsIAotICAgIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA0OCwgNTQsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCAKLSAgICA4NCwgNzksIDgyLCA0NSwgNDksIDQ4LCA1MywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgCi0gICAgNDgsIDUyLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA0OCwgNTEsIDEyOCwgODMsIDY5LCAKLSAgICA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDQ4LCA1MCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgCi0gICAgODIsIDQ1LCA0OSwgNDgsIDQ5LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA0OCwgNDgsIAotICAgIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDQ4LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgCi0gICAgODQsIDc5LCA4MiwgNDUsIDQ5LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCAyMTAsIDgzLCA2OSwgNzMsIDgzLCAKLSAgICA3NywgNjUsIDEyOCwgODMsIDY5LCA3MywgODMsIDc3LCAxOTMsIDgzLCA2OSwgNzIsIDEyOCwgODMsIDY5LCA3MSwgNzksIAotICAgIDc2LCAxMjgsIDgzLCA2OSwgNzEsIDc4LCA3OSwgMTI4LCA4MywgNjksIDcxLCA3NywgNjksIDc4LCA4NCwgMTI4LCA4MywgCi0gICAgNjksIDY5LCA3OCwgODUsIDEyOCwgODMsIDY5LCA2OSwgNzgsIDEyOCwgODMsIDY5LCA2OSwgMjA2LCA4MywgNjksIDY5LCAKLSAgICA2OCwgNzYsIDczLCA3OCwgNzEsIDEyOCwgODMsIDY5LCA2OSwgNDUsIDc4LCA3OSwgNDUsIDY5LCA4NiwgNzMsIDIwNCwgODMsIAotICAgIDY5LCA2NywgODQsIDc5LCA4MiwgMTI4LCA4MywgNjksIDY3LCA4NCwgNzMsIDc5LCA3OCwgMTI4LCA4MywgNjksIDY3LCA4NCwgCi0gICAgNzMsIDc5LCAyMDYsIDgzLCA2OSwgNjcsIDgyLCA2OSwgODQsIDEyOCwgODMsIDY5LCA2NywgNzksIDc4LCA2OCwgMTI4LCAKLSAgICA4MywgNjksIDY2LCA2NSwgODQsIDY2LCA2OSwgNzMsIDIxMiwgODMsIDY5LCA2NSwgODQsIDEyOCwgODMsIDY5LCA2NSwgNzYsIAotICAgIDEyOCwgODMsIDY5LCA2NSwgNzEsIDg1LCA3NiwgMjA0LCA4MywgNjgsIDc5LCA3OCwgMTk5LCA4MywgNjgsIDEyOCwgODMsIAotICAgIDY3LCA4NywgNjUsIDEyOCwgODMsIDY3LCA4MiwgODUsIDgwLCA3NiwgNjksIDEyOCwgODMsIDY3LCA4MiwgNzksIDc2LCA3NiwgCi0gICAgMTI4LCA4MywgNjcsIDgyLCA3MywgODAsIDg0LCAxMjgsIDgzLCA2NywgODIsIDY5LCA2OSwgNzgsIDEyOCwgODMsIDY3LCAKLSAgICA4MiwgNjksIDY5LCAyMDYsIDgzLCA2NywgODIsIDY5LCA2NSwgNzcsIDczLCA3OCwgMTk5LCA4MywgNjcsIDc5LCA4MiwgODAsIAotICAgIDczLCA4NSwgODMsIDEyOCwgODMsIDY3LCA3OSwgODIsIDY5LCAxMjgsIDgzLCA2NywgNzMsIDgzLCA4MywgNzksIDgyLCA4MywgCi0gICAgMTI4LCA4MywgNjcsIDcyLCA4NywgNjUsIDEyOCwgODMsIDY3LCA3MiwgODcsIDE5MywgODMsIDY3LCA3MiwgODIsIDc5LCAKLSAgICA2OSwgNjgsIDY5LCA4MiwgMTI4LCA4MywgNjcsIDcyLCA3OSwgNzksIDc2LCAxMjgsIDgzLCA2NywgNzIsIDc5LCA3OSwgCi0gICAgMjA0LCA4MywgNjcsIDcyLCA3OSwgNzYsIDY1LCA4MiwgMTI4LCA4MywgNjcsIDcyLCA2OSwgNzcsIDE5MywgODMsIDY3LCAKLSAgICA2OSwgODAsIDg0LCA2OSwgMjEwLCA4MywgNjcsIDY1LCA3OCwgNjgsIDczLCA2NywgODUsIDgzLCAxMjgsIDgzLCA2NywgNjUsIAotICAgIDc4LCA2OCwgNzMsIDY3LCA4NSwgMjExLCA4MywgNjcsIDY1LCAyMDYsIDgzLCA2NywgNjUsIDc2LCA2OSwgODMsIDEyOCwgCi0gICAgODMsIDY2LCA4NSwgMTk0LCA4MywgNjYsIDgyLCA4NSwgMjA0LCA4MywgNjUsIDg5LCA3MywgODMsIDIwMSwgODMsIDY1LCAKLSAgICA4OSwgNjUsIDc4LCA3OCwgNjUsIDEyOCwgODMsIDY1LCA4OSwgMTI4LCA4MywgNjUsIDg4LCA3OSwgODAsIDcyLCA3OSwgNzgsIAotICAgIDY5LCAxMjgsIDgzLCA2NSwgODgsIDczLCA3NywgNjUsIDg0LCA2NSwgMTI4LCA4MywgNjUsIDg3LCA2NSwgNzgsIDEyOCwgCi0gICAgODMsIDY1LCA4NywgMTI4LCA4MywgNjUsIDg2LCA3OSwgODUsIDgyLCA3MywgNzgsIDE5OSwgODMsIDY1LCA4NSwgNzMsIDc2LCAKLSAgICAxMjgsIDgzLCA2NSwgODQsIDg1LCA4MiwgNzgsIDEyOCwgODMsIDY1LCA4NCwgNzUsIDY1LCA2NSwgNzgsIDc1LCA4NSwgODUsIAotICAgIDEyOCwgODMsIDY1LCA4NCwgNzUsIDY1LCA2NSwgNzgsIDEyOCwgODMsIDY1LCA4NCwgNjksIDc2LCA3NiwgNzMsIDg0LCAKLSAgICAxOTcsIDgzLCA2NSwgODQsIDY3LCA3MiwgNjksIDc2LCAxMjgsIDgzLCA2NSwgODMsIDcyLCAxMjgsIDgzLCA2NSwgODMsIAotICAgIDY1LCA3NSwgMTI4LCA4MywgNjUsIDgyLCA3MywgMTI4LCA4MywgNjUsIDgyLCAxOTMsIDgzLCA2NSwgODIsIDEyOCwgODMsIAotICAgIDY1LCA4MSwgMTI4LCA4MywgNjUsIDgwLCA2NSwgMTI4LCA4MywgNjUsIDc4LCA4OSwgNzksIDc5LCA3MSwgMTkzLCA4MywgCi0gICAgNjUsIDc4LCA4OSwgNjUsIDc1LCAxOTMsIDgzLCA2NSwgNzgsIDg0LCA3MywgNzMsIDc3LCA4NSwgMTI4LCA4MywgNjUsIDc4LCAKLSAgICA3OCwgODksIDY1LCAxMjgsIDgzLCA2NSwgNzgsIDcxLCA2NSwgNTAsIDEyOCwgODMsIDY1LCA3OCwgNjgsIDY1LCA3NiwgCi0gICAgMTI4LCA4MywgNjUsIDc4LCA2NSwgNzIsIDEyOCwgODMsIDY1LCA3OCwgMTI4LCA4MywgNjUsIDc3LCA4OSwgNzksIDIwMywgCi0gICAgODMsIDY1LCA3NywgODAsIDczLCAxMjgsIDgzLCA2NSwgNzcsIDgwLCA3MiwgNjUsIDc5LCAxMjgsIDgzLCA2NSwgNzcsIDc1LCAKLSAgICA2NSwgMTI4LCA4MywgNjUsIDc3LCA2OSwgNzUsIDcyLCAxMjgsIDgzLCA2NSwgNzcsIDY5LCA3NSwgMjAwLCA4MywgNjUsIAotICAgIDc3LCA2NiwgNjUsIDEyOCwgODMsIDY1LCA3NywgNjUsIDgyLCA3MywgODQsIDY1LCAyMDYsIDgzLCA2NSwgNzcsIDEyOCwgCi0gICAgODMsIDY1LCA3NiwgODQsIDczLCA4MiwgNjksIDEyOCwgODMsIDY1LCA3NiwgODQsIDczLCA3NiwgNzYsIDc5LCAxMjgsIDgzLCAKLSAgICA2NSwgNzYsIDg0LCA0NSwgNTAsIDEyOCwgODMsIDY1LCA3NiwgODQsIDEyOCwgODMsIDY1LCA3NiwgMjEyLCA4MywgNjUsIAotICAgIDc2LCA3NiwgNjUsIDc2LCA3NiwgNjUsIDcyLCA3OSwgMjEzLCA4MywgNjUsIDc2LCA3NiwgMTkzLCA4MywgNjUsIDc2LCA2NSwgCi0gICAgMjA1LCA4MywgNjUsIDc2LCA2NSwgMTI4LCA4MywgNjUsIDc2LCA0NSwgNjUsIDc3LCA3NywgNzksIDc4LCA3MywgNjUsIDY3LCAKLSAgICAxMjgsIDgzLCA2NSwgNzYsIDEyOCwgODMsIDY1LCA3NSwgNzksIDg0LCAxMjgsIDgzLCA2NSwgNzUsIDY5LCA4NSwgNjUsIAotICAgIDY5LCAxMjgsIDgzLCA2NSwgNzUsIDE5NywgODMsIDY1LCA3NCwgNjgsIDY1LCA3MiwgMTI4LCA4MywgNjUsIDczLCA3NiwgCi0gICAgNjYsIDc5LCA2NSwgODQsIDEyOCwgODMsIDY1LCA3MywgNzYsIDEyOCwgODMsIDY1LCA3MywgNzUsIDg1LCA4MiwgODUsIAotICAgIDEyOCwgODMsIDY1LCA3MSwgNzMsIDg0LCA4NCwgNjUsIDgyLCA3MywgODUsIDgzLCAxMjgsIDgzLCA2NSwgNzEsIDY1LCAKLSAgICAxMjgsIDgzLCA2NSwgNzEsIDEyOCwgODMsIDY1LCAxOTksIDgzLCA2NSwgNzAsIDcyLCA2NSwgMTI4LCA4MywgNjUsIDY4LCAKLSAgICA3MiwgNjksIDEyOCwgODMsIDY1LCA2OCwgNjksIDEyOCwgODMsIDY1LCA2OCwgMTI4LCA4MywgNjUsIDE5NiwgODMsIDY1LCAKLSAgICA2NywgODIsIDczLCA3MCwgNzMsIDY3LCA3MywgNjUsIDIwNCwgODMsIDY1LCA2NSwgNzMsIDEyOCwgODMsIDY1LCA2NSwgNjgsIAotICAgIDcyLCA4NSwgMTI4LCA4MywgNjUsIDQ1LCA3MywgMTI4LCA4MywgNDgsIDUyLCA1NCwgMTI4LCA4MywgNDgsIDUyLCA1MywgCi0gICAgMTI4LCA4MywgNDgsIDUyLCA1MiwgMTI4LCA4MywgNDgsIDUyLCA1MSwgMTI4LCA4MywgNDgsIDUyLCA1MCwgMTI4LCA4MywgCi0gICAgNDgsIDUyLCA0OSwgMTI4LCA4MywgNDgsIDUyLCA0OCwgMTI4LCA4MywgNDgsIDUxLCA1NywgMTI4LCA4MywgNDgsIDUxLCAKLSAgICA1NiwgMTI4LCA4MywgNDgsIDUxLCA1NSwgMTI4LCA4MywgNDgsIDUxLCA1NCwgMTI4LCA4MywgNDgsIDUxLCA1MywgNjUsIAotICAgIDEyOCwgODMsIDQ4LCA1MSwgNTMsIDEyOCwgODMsIDQ4LCA1MSwgNTIsIDEyOCwgODMsIDQ4LCA1MSwgNTEsIDEyOCwgODMsIAotICAgIDQ4LCA1MSwgNTAsIDEyOCwgODMsIDQ4LCA1MSwgNDksIDEyOCwgODMsIDQ4LCA1MSwgNDgsIDEyOCwgODMsIDQ4LCA1MCwgCi0gICAgNTcsIDEyOCwgODMsIDQ4LCA1MCwgNTYsIDEyOCwgODMsIDQ4LCA1MCwgNTUsIDEyOCwgODMsIDQ4LCA1MCwgNTQsIDY2LCAKLSAgICAxMjgsIDgzLCA0OCwgNTAsIDU0LCA2NSwgMTI4LCA4MywgNDgsIDUwLCA1NCwgMTI4LCA4MywgNDgsIDUwLCA1MywgMTI4LCAKLSAgICA4MywgNDgsIDUwLCA1MiwgMTI4LCA4MywgNDgsIDUwLCA1MSwgMTI4LCA4MywgNDgsIDUwLCA1MCwgMTI4LCA4MywgNDgsIAotICAgIDUwLCA0OSwgMTI4LCA4MywgNDgsIDUwLCA0OCwgMTI4LCA4MywgNDgsIDQ5LCA1NywgMTI4LCA4MywgNDgsIDQ5LCA1NiwgCi0gICAgMTI4LCA4MywgNDgsIDQ5LCA1NSwgNjUsIDEyOCwgODMsIDQ4LCA0OSwgNTUsIDEyOCwgODMsIDQ4LCA0OSwgNTQsIDEyOCwgCi0gICAgODMsIDQ4LCA0OSwgNTMsIDEyOCwgODMsIDQ4LCA0OSwgNTIsIDY2LCAxMjgsIDgzLCA0OCwgNDksIDUyLCA2NSwgMTI4LCAKLSAgICA4MywgNDgsIDQ5LCA1MiwgMTI4LCA4MywgNDgsIDQ5LCA1MSwgMTI4LCA4MywgNDgsIDQ5LCA1MCwgMTI4LCA4MywgNDgsIAotICAgIDQ5LCA0OSwgMTI4LCA4MywgNDgsIDQ5LCA0OCwgMTI4LCA4MywgNDgsIDQ4LCA1NywgMTI4LCA4MywgNDgsIDQ4LCA1NiwgCi0gICAgMTI4LCA4MywgNDgsIDQ4LCA1NSwgMTI4LCA4MywgNDgsIDQ4LCA1NCwgNjUsIDEyOCwgODMsIDQ4LCA0OCwgNTQsIDEyOCwgCi0gICAgODMsIDQ4LCA0OCwgNTMsIDEyOCwgODMsIDQ4LCA0OCwgNTIsIDEyOCwgODMsIDQ4LCA0OCwgNTEsIDEyOCwgODMsIDQ4LCAKLSAgICA0OCwgNTAsIDY1LCAxMjgsIDgzLCA0OCwgNDgsIDUwLCAxMjgsIDgzLCA0OCwgNDgsIDQ5LCAxMjgsIDgzLCA0NSwgODcsIAotICAgIDEyOCwgODMsIDQ1LCA4MywgNzIsIDY1LCA4MCwgNjksIDE5NiwgODIsIDg5LCA4OSwgMTI4LCA4MiwgODksIDg4LCAxMjgsIAotICAgIDgyLCA4OSwgODQsIDEyOCwgODIsIDg5LCA4MiwgODgsIDEyOCwgODIsIDg5LCA4MiwgMTI4LCA4MiwgODksIDgwLCAxMjgsIAotICAgIDgyLCA4OSwgNjUsIDEyOCwgODIsIDg3LCA3OSwgNzksIDEyOCwgODIsIDg3LCA3OSwgMTI4LCA4MiwgODcsIDczLCA3MywgCi0gICAgMTI4LCA4MiwgODcsIDczLCAxMjgsIDgyLCA4NywgNjksIDY5LCAxMjgsIDgyLCA4NywgNjksIDEyOCwgODIsIDg3LCA2NSwgCi0gICAgNzIsIDY1LCAxMjgsIDgyLCA4NywgNjUsIDY1LCAxMjgsIDgyLCA4NywgNjUsIDEyOCwgODIsIDg1LCA4OCwgMTI4LCA4MiwgCi0gICAgODUsIDg1LCA2NiwgODUsIDgyLCA4NSwgMTI4LCA4MiwgODUsIDg0LCAxMjgsIDgyLCA4NSwgODMsIDczLCAxMjgsIDgyLCAKLSAgICA4NSwgODIsIDg4LCAxMjgsIDgyLCA4NSwgODIsIDEyOCwgODIsIDg1LCA4MCwgNzMsIDczLCAxMjgsIDgyLCA4NSwgODAsIAotICAgIDY5LCAxOTcsIDgyLCA4NSwgODAsIDEyOCwgODIsIDg1LCA3OSwgODgsIDEyOCwgODIsIDg1LCA3OSwgODAsIDEyOCwgODIsIAotICAgIDg1LCA3OSwgMTI4LCA4MiwgODUsIDc4LCA3OSwgODUsIDg0LCAxMjgsIDgyLCA4NSwgNzgsIDc4LCA3MywgNzgsIDE5OSwgCi0gICAgODIsIDg1LCA3OCwgNzgsIDY5LCA4MiwgMTI4LCA4MiwgODUsIDc4LCAxMjgsIDgyLCA4NSwgNzcsIDIwMSwgODIsIDg1LCAKLSAgICA3NywgNjUsIDIwMSwgODIsIDg1LCA3NywgMTI4LCA4MiwgODUsIDIwNSwgODIsIDg1LCA3NiwgNjksIDgyLCAxMjgsIDgyLCAKLSAgICA4NSwgNzYsIDY5LCA0NSwgNjgsIDY5LCA3NiwgNjUsIDg5LCA2OSwgNjgsIDEyOCwgODIsIDg1LCA3NiwgNjksIDEyOCwgODIsIAotICAgIDg1LCA3NSwgNzUsIDY1LCA3NSwgNzIsIDY1LCAxMjgsIDgyLCA4NSwgNzMsIDgzLCAxMjgsIDgyLCA4NSwgNzEsIDY2LCAKLSAgICAyMTcsIDgyLCA4NSwgMTk0LCA4MiwgODUsIDY1LCAxMjgsIDgyLCA4NCwgNzIsIDY1LCA3OCwgMTk5LCA4MiwgODQsIDY1LCAKLSAgICA3MSwgODMsIDEyOCwgODIsIDg0LCA2NSwgNzEsIDIxMSwgODIsIDgyLCA4OSwgODgsIDEyOCwgODIsIDgyLCA4OSwgODQsIAotICAgIDEyOCwgODIsIDgyLCA4OSwgODIsIDg4LCAxMjgsIDgyLCA4MiwgODksIDgyLCAxMjgsIDgyLCA4MiwgODksIDgwLCAxMjgsIAotICAgIDgyLCA4MiwgODUsIDg4LCAxMjgsIDgyLCA4MiwgODUsIDg0LCAxMjgsIDgyLCA4MiwgODUsIDgyLCA4OCwgMTI4LCA4MiwgCi0gICAgODIsIDg1LCA4MiwgMTI4LCA4MiwgODIsIDg1LCA4MCwgMTI4LCA4MiwgODIsIDg1LCA3OSwgODgsIDEyOCwgODIsIDgyLCAKLSAgICA4NSwgNzksIDEyOCwgODIsIDgyLCA4NSwgMTI4LCA4MiwgODIsIDc5LCA4OCwgMTI4LCA4MiwgODIsIDc5LCA4NCwgMTI4LCAKLSAgICA4MiwgODIsIDc5LCA4MCwgMTI4LCA4MiwgODIsIDc5LCAxMjgsIDgyLCA4MiwgNjksIDg4LCAxMjgsIDgyLCA4MiwgNjksIAotICAgIDg0LCAxMjgsIDgyLCA4MiwgNjksIDgwLCAxMjgsIDgyLCA4MiwgNjksIDcyLCAxMjgsIDgyLCA4MiwgNjksIDIwMCwgODIsIAotICAgIDgyLCA2OSwgMTI4LCA4MiwgODIsIDY1LCA4OCwgMTI4LCA4MiwgODIsIDY1LCAxMjgsIDgyLCA3OSwgODcsIDY2LCA3OSwgCi0gICAgNjUsIDg0LCAxMjgsIDgyLCA3OSwgODUsIDc4LCA2OCwgNjksIDE5NiwgODIsIDc5LCA4NSwgNzgsIDY4LCA0NSwgODQsIDczLCAKLSAgICA4MCwgODAsIDY5LCAxOTYsIDgyLCA3OSwgODQsIDg1LCA3OCwgNjgsIDY1LCAxMjgsIDgyLCA3OSwgODQsIDY1LCA4NCwgNjksIAotICAgIDE5NiwgODIsIDc5LCA4MywgNzIsIDEyOCwgODIsIDc5LCA4MywgNjksIDg0LCA4NCwgNjksIDEyOCwgODIsIDc5LCA4MywgCi0gICAgNjksIDEyOCwgODIsIDc5LCA3OSwgODQsIDEyOCwgODIsIDc5LCA3OSwgODMsIDg0LCA2OSwgODIsIDEyOCwgODIsIDc5LCAKLSAgICA3OSwgNzUsIDEyOCwgODIsIDc5LCA3OSwgNzAsIDEyOCwgODIsIDc5LCA3OSwgMTI4LCA4MiwgNzksIDc3LCA2NSwgMjA2LCAKLSAgICA4MiwgNzksIDc3LCAxMjgsIDgyLCA3OSwgNzYsIDc2LCA2OSwgMjEwLCA4MiwgNzksIDE5NiwgODIsIDc5LCA2NywgNzUsIAotICAgIDY5LCA4NCwgMTI4LCA4MiwgNzksIDY3LCAyMDMsIDgyLCA3OSwgNjcsIDEyOCwgODIsIDc5LCA2NiwgNjUsIDg0LCAxMjgsIAotICAgIDgyLCA3OSwgNjUsIDgzLCA4NCwgNjksIDE5NiwgODIsIDc5LCA2NSwgODIsIDEyOCwgODIsIDc5LCA2NSwgMTI4LCA4MiwgCi0gICAgNzgsIDg5LCA3MywgNzgsIDE5OSwgODIsIDc4LCA3OSwgNzksIDc4LCAxMjgsIDgyLCA3OCwgNzksIDc5LCAyMDYsIDgyLCAKLSAgICA3OCwgNjUsIDIwNSwgODIsIDc0LCA2OSwgMjExLCA4MiwgNzQsIDY5LCAxMjgsIDgyLCA3NCwgMTk3LCA4MiwgNzMsIDg2LCAKLSAgICA2OSwgODIsIDEyOCwgODIsIDczLCA4NCwgODUsIDY1LCA3NiwgMTI4LCA4MiwgNzMsIDg0LCA4NCwgNzksIDgyLCA4NSwgCi0gICAgMTI4LCA4MiwgNzMsIDg0LCA4MywgNzMsIDEyOCwgODIsIDczLCA4MywgNzMsIDc4LCAxOTksIDgyLCA3MywgODMsIDcyLCAKLSAgICAxMjgsIDgyLCA3MywgODIsIDY1LCAxMjgsIDgyLCA3MywgODAsIDEyOCwgODIsIDczLCA3OCwgNzEsIDIxMSwgODIsIDczLCAKLSAgICA3OCwgNzAsIDc5LCA4MiwgOTAsIDY1LCA3OCwgNjgsIDc5LCAxMjgsIDgyLCA3MywgMjA2LCA4MiwgNzMsIDc3LCA3MSwgNjYsIAotICAgIDY1LCAxMjgsIDgyLCA3MywgNzUsIDgyLCA3MywgNzUsIDEyOCwgODIsIDczLCA3MywgMTI4LCA4MiwgNzMsIDcxLCA4NiwgCi0gICAgNjksIDY4LCA3MywgMTk1LCA4MiwgNzMsIDcxLCA3MiwgODQsIDg3LCA2NSwgODIsIDY4LCA4MywgMTI4LCA4MiwgNzMsIDcxLCAKLSAgICA3MiwgODQsIDcyLCA2NSwgNzgsIDE5NiwgODIsIDczLCA3MSwgNzIsIDg0LCA0NSwgODQsIDc5LCA0NSwgNzYsIDY5LCA3MCwgCi0gICAgMjEyLCA4MiwgNzMsIDcxLCA3MiwgODQsIDQ1LCA4MywgNzMsIDY4LCAxOTcsIDgyLCA3MywgNzEsIDcyLCA4NCwgNDUsIDgzLCAKLSAgICA3MiwgNjUsIDY4LCA3OSwgODcsIDY5LCAxOTYsIDgyLCA3MywgNzEsIDcyLCA4NCwgNDUsIDgzLCA3MiwgNjUsIDY4LCA2OSwgCi0gICAgMTk2LCA4MiwgNzMsIDcxLCA3MiwgODQsIDQ1LCA4MCwgNzksIDczLCA3OCwgODQsIDczLCA3OCwgMTk5LCA4MiwgNzMsIDcxLCAKLSAgICA3MiwgODQsIDQ1LCA3MiwgNjUsIDc4LCA2OCwgNjksIDE5NiwgODIsIDczLCA3MSwgNzIsIDg0LCA0NSwgNzIsIDY1LCA3OCwgCi0gICAgMTk2LCA4MiwgNzMsIDcxLCA3MiwgODQsIDQ1LCA3MCwgNjUsIDY3LCA3MywgNzgsIDE5OSwgODIsIDczLCA3MSwgNzIsIDg0LCAKLSAgICAxMjgsIDgyLCA3MywgNjksIDg1LCA3NiwgNDUsIDg5LCA2OSwgODMsIDczLCA2OSwgODUsIDc4LCA3MSwgMTI4LCA4MiwgNzMsIAotICAgIDY5LCA4NSwgNzYsIDQ1LCA4OSwgNjksIDc5LCA4MiwgNzMsIDc4LCA3MiwgNzMsIDY5LCA4NSwgNzIsIDQ1LCA3MiwgNzMsIAotICAgIDY5LCA4NSwgNzIsIDEyOCwgODIsIDczLCA2OSwgODUsIDc2LCA0NSwgODksIDY5LCA3OSwgODIsIDczLCA3OCwgNzIsIDczLCAKLSAgICA2OSwgODUsIDcyLCAxMjgsIDgyLCA3MywgNjksIDg1LCA3NiwgNDUsIDg0LCA3MywgNzUsIDY5LCA4NSwgODQsIDQ1LCA3MiwgCi0gICAgNzMsIDY5LCA4NSwgNzIsIDEyOCwgODIsIDczLCA2OSwgODUsIDc2LCA0NSwgODQsIDczLCA3NSwgNjksIDg1LCA4NCwgMTI4LCAKLSAgICA4MiwgNzMsIDY5LCA4NSwgNzYsIDQ1LCA4NCwgNzIsIDczLCA2OSwgODUsIDg0LCA3MiwgMTI4LCA4MiwgNzMsIDY5LCA4NSwgCi0gICAgNzYsIDQ1LCA4MywgODMsIDY1LCA3OCwgNzEsIDg0LCA3MywgNzUsIDY5LCA4NSwgODQsIDEyOCwgODIsIDczLCA2OSwgODUsIAotICAgIDc2LCA0NSwgODMsIDgzLCA2NSwgNzgsIDcxLCA4MywgNzMsIDc5LCA4MywgMTI4LCA4MiwgNzMsIDY5LCA4NSwgNzYsIDQ1LCAKLSAgICA4MywgODMsIDY1LCA3OCwgNzEsIDgwLCA3MywgNjksIDg1LCA4MCwgMTI4LCA4MiwgNzMsIDY5LCA4NSwgNzYsIDQ1LCA4MywgCi0gICAgODMsIDY1LCA3OCwgNzEsIDc1LCA3MywgODksIDY5LCA3OSwgNzUsIDEyOCwgODIsIDczLCA2OSwgODUsIDc2LCA0NSwgODMsIAotICAgIDczLCA3OSwgODMsIDEyOCwgODIsIDczLCA2OSwgODUsIDc2LCA0NSwgODAsIDczLCA2OSwgODUsIDgwLCA0NSwgODQsIDczLCAKLSAgICA3NSwgNjksIDg1LCA4NCwgMTI4LCA4MiwgNzMsIDY5LCA4NSwgNzYsIDQ1LCA4MCwgNzMsIDY5LCA4NSwgODAsIDQ1LCA4MywgCi0gICAgNzMsIDc5LCA4MywgMTI4LCA4MiwgNzMsIDY5LCA4NSwgNzYsIDQ1LCA4MCwgNzMsIDY5LCA4NSwgODAsIDQ1LCA4MCwgNzIsIAotICAgIDczLCA2OSwgODUsIDgwLCA3MiwgMTI4LCA4MiwgNzMsIDY5LCA4NSwgNzYsIDQ1LCA4MCwgNzMsIDY5LCA4NSwgODAsIDQ1LCAKLSAgICA3MiwgNzMsIDY5LCA4NSwgNzIsIDEyOCwgODIsIDczLCA2OSwgODUsIDc2LCA0NSwgODAsIDczLCA2OSwgODUsIDgwLCAxMjgsIAotICAgIDgyLCA3MywgNjksIDg1LCA3NiwgNDUsIDgwLCA3MiwgNzMsIDY5LCA4NSwgODAsIDcyLCAxMjgsIDgyLCA3MywgNjksIDg1LCAKLSAgICA3NiwgNDUsIDgwLCA2NSwgNzgsIDgzLCA3MywgNzksIDgzLCAxMjgsIDgyLCA3MywgNjksIDg1LCA3NiwgNDUsIDc4LCA3MywgCi0gICAgNjksIDg1LCA3OCwgMTI4LCA4MiwgNzMsIDY5LCA4NSwgNzYsIDQ1LCA3NywgNzMsIDY5LCA4NSwgNzcsIDQ1LCA4MywgNzMsIAotICAgIDc5LCA4MywgMTI4LCA4MiwgNzMsIDY5LCA4NSwgNzYsIDQ1LCA3NywgNzMsIDY5LCA4NSwgNzcsIDQ1LCA3NSwgNzMsIDg5LCAKLSAgICA2OSwgNzksIDc1LCAxMjgsIDgyLCA3MywgNjksIDg1LCA3NiwgNDUsIDc3LCA3MywgNjksIDg1LCA3NywgNDUsIDcyLCA3MywgCi0gICAgNjksIDg1LCA3MiwgMTI4LCA4MiwgNzMsIDY5LCA4NSwgNzYsIDQ1LCA3NywgNzMsIDY5LCA4NSwgNzcsIDEyOCwgODIsIDczLCAKLSAgICA2OSwgODUsIDc2LCA0NSwgNzUsIDczLCA4OSwgNjksIDc5LCA3NSwgNDUsIDgzLCA3MywgNzksIDgzLCAxMjgsIDgyLCA3MywgCi0gICAgNjksIDg1LCA3NiwgNDUsIDc1LCA3MywgODksIDY5LCA3OSwgNzUsIDQ1LCA3MiwgNzMsIDY5LCA4NSwgNzIsIDEyOCwgODIsIAotICAgIDczLCA2OSwgODUsIDc2LCA0NSwgNzUsIDczLCA4OSwgNjksIDc5LCA3NSwgMTI4LCA4MiwgNzMsIDY5LCA4NSwgNzYsIDQ1LCAKLSAgICA3NSwgNjUsIDgwLCA4OSwgNjksIDc5LCA4NSwgNzgsIDgwLCA3MywgNjksIDg1LCA4MCwgMTI4LCA4MiwgNzMsIDY5LCA4NSwgCi0gICAgNzYsIDQ1LCA3MiwgNzMsIDY5LCA4NSwgNzIsIDEyOCwgODIsIDczLCA2OSwgODUsIDc2LCA0NSwgNjcsIDczLCA2OSwgODUsIAotICAgIDY3LCAxMjgsIDgyLCA3MywgNjksIDg1LCAyMDQsIDgyLCA3MywgNjksIDc2LCAxMjgsIDgyLCA3MywgNjksIDY5LCAxMjgsIAotICAgIDgyLCA3MywgNjcsIDY5LCA3NywgMTI4LCA4MiwgNzMsIDY3LCA2OSwgMTI4LCA4MiwgNzMsIDY3LCAxOTcsIDgyLCA3MywgCi0gICAgNjYsIDY2LCA3OSwgNzgsIDEyOCwgODIsIDczLCA2NSwgMjA0LCA4MiwgNzIsIDc5LCA4NCwgNzMsIDE5NSwgODIsIDcyLCAKLSAgICA3OSwgMTI4LCA4MiwgNzIsIDIwNywgODIsIDcyLCA2NSwgMTI4LCA4MiwgNzEsIDg5LCA3MywgNzgsIDcxLCA4MywgMTI4LCAKLSAgICA4MiwgNzEsIDg5LCA2NSwgNzgsIDEyOCwgODIsIDcxLCA4OSwgMTkzLCA4MiwgNjksIDg2LCA3OSwgNzYsIDg2LCA3MywgNzgsIAotICAgIDE5OSwgODIsIDY5LCA4NiwgNzksIDc2LCA4NSwgODQsIDczLCA3OSwgNzgsIDEyOCwgODIsIDY5LCA4NiwgNzcsIDY1LCAKLSAgICAxMjgsIDgyLCA2OSwgODYsIDczLCA2NSwgMTI4LCA4MiwgNjksIDg2LCA2OSwgODIsIDgzLCA2OSwgNjgsIDEyOCwgODIsIAotICAgIDY5LCA4NiwgNjksIDgyLCA4MywgNjksIDE5NiwgODIsIDY5LCA4NiwgNjksIDgyLCA4MywgMTk3LCA4MiwgNjksIDg1LCA4OCwgCi0gICAgMTI4LCA4MiwgNjksIDg0LCA4NSwgODIsIDc4LCAxMjgsIDgyLCA2OSwgODQsIDg1LCA4MiwgMjA2LCA4MiwgNjksIDg0LCAKLSAgICA4MiwgNzksIDcwLCA3NiwgNjksIDIxNiwgODIsIDY5LCA4NCwgODIsIDY5LCA2NSwgODQsIDEyOCwgODIsIDY5LCA4NCwgNzksIAotICAgIDgyLCA4NCwgMTI4LCA4MiwgNjksIDgzLCA4NSwgODAsIDczLCA3OCwgODUsIDgzLCAxMjgsIDgyLCA2OSwgODMsIDg0LCA4MiwgCi0gICAgNzksIDc5LCA3NywgMTI4LCA4MiwgNjksIDgzLCA4NCwgODIsIDczLCA2NywgODQsIDY5LCAxOTYsIDgyLCA2OSwgODMsIDg0LCAKLSAgICAxMjgsIDgyLCA2OSwgODMsIDgwLCA3OSwgNzgsIDgzLCA2OSwgMTI4LCA4MiwgNjksIDgzLCA3OSwgODUsIDgyLCA2NywgNjksIAotICAgIDEyOCwgODIsIDY5LCA4MywgNzksIDc2LCA4NSwgODQsIDczLCA3OSwgNzgsIDEyOCwgODIsIDY5LCA4MywgNzMsIDgzLCA4NCwgCi0gICAgNjUsIDc4LCA2NywgNjksIDEyOCwgODIsIDY5LCA4MywgNzMsIDY4LCA2OSwgNzgsIDY3LCA2OSwgMTI4LCA4MiwgNjksIDgzLCAKLSAgICAyMDAsIDgyLCA2OSwgODIsIDY5LCA3OCwgNzEsIDcxLCA2NSwgNzgsIDEyOCwgODIsIDY5LCA4MiwgNjksIDc1LCA2NSwgNzgsIAotICAgIDEyOCwgODIsIDY5LCA4MCwgODIsIDY5LCA4MywgNjksIDc4LCA4NCwgMTI4LCA4MiwgNjksIDgwLCA3NiwgNjUsIDY3LCA2OSwgCi0gICAgNzcsIDY5LCA3OCwgMjEyLCA4MiwgNjksIDgwLCA3MiwgMTI4LCA4MiwgNjksIDgwLCA2OSwgNjUsIDg0LCA2OSwgMTk2LCAKLSAgICA4MiwgNjksIDgwLCA2OSwgNjUsIDg0LCAxMjgsIDgyLCA2OSwgODAsIDY5LCA2NSwgMjEyLCA4MiwgNjksIDgwLCA2NSwgCi0gICAgMTI4LCA4MiwgNjksIDgwLCAxOTMsIDgyLCA2OSwgNzgsIDg0LCA3OSwgNzEsIDY5LCA3OCwgMTI4LCA4MiwgNjksIDc4LCAKLSAgICAxMjgsIDgyLCA2OSwgMjA2LCA4MiwgNjksIDc3LCA4NSwgMTI4LCA4MiwgNjksIDc3LCA2OSwgNjgsIDg5LCAxMjgsIDgyLCAKLSAgICA2OSwgNzYsIDczLCA3MSwgNzMsIDc5LCA3OCwgMTI4LCA4MiwgNjksIDc2LCA3MywgNjksIDg2LCA2OSwgMTk2LCA4MiwgNjksIAotICAgIDc2LCA2OSwgNjUsIDgzLCA2OSwgMTI4LCA4MiwgNjksIDc2LCA2NSwgODQsIDczLCA3OSwgNzgsIDY1LCAyMDQsIDgyLCA2OSwgCi0gICAgNzYsIDY1LCA4NCwgNzMsIDc5LCA3OCwgMTI4LCA4MiwgNjksIDc2LCA2NSwgNjUsIDEyOCwgODIsIDY5LCA3NCwgNjUsIDc4LCAKLSAgICAxOTksIDgyLCA2OSwgNzMsIDE5NiwgODIsIDY5LCA3MSwgODUsIDc2LCA4NSwgODMsIDQ1LCA1MiwgMTI4LCA4MiwgNjksIAotICAgIDcxLCA4NSwgNzYsIDg1LCA4MywgNDUsIDUxLCAxMjgsIDgyLCA2OSwgNzEsIDg1LCA3NiwgODUsIDgzLCA0NSwgNTAsIDEyOCwgCi0gICAgODIsIDY5LCA3MSwgODUsIDc2LCA4NSwgODMsIDEyOCwgODIsIDY5LCA3MSwgODUsIDc2LCA4NSwgMjExLCA4MiwgNjksIDcxLCAKLSAgICA3MywgODMsIDg0LCA2OSwgODIsIDY5LCAxOTYsIDgyLCA2OSwgNzEsIDczLCA3OSwgNzgsIDY1LCAyMDQsIDgyLCA2OSwgNzEsIAotICAgIDczLCA2NSwgNDUsIDUwLCAxMjgsIDgyLCA2OSwgNzEsIDczLCA2NSwgMTI4LCA4MiwgNjksIDcwLCA2OSwgODIsIDY5LCA3OCwgCisgICAgODYsIDczLCA2NSwgMjA2LCA4MywgNzIsIDY1LCA4NiwgNjksIDE5NiwgODMsIDcyLCA2NSwgODUsIDEyOCwgODMsIDcyLCAKKyAgICA2NSwgODQsIDEyOCwgODMsIDcyLCA2NSwgODIsIDg1LCAxMjgsIDgzLCA3MiwgNjUsIDgyLCAyMTMsIDgzLCA3MiwgNjUsIAorICAgIDgyLCA4MCwgMTI4LCA4MywgNzIsIDY1LCA4MiwgMjA4LCA4MywgNzIsIDY1LCA4MiwgNjUsIDEyOCwgODMsIDcyLCA2NSwgCisgICAgODIsIDUwLCAxMjgsIDgzLCA3MiwgNjUsIDgyLCAxNzgsIDgzLCA3MiwgNjUsIDgwLCA3MywgNzgsIDcxLCAxMjgsIDgzLCAKKyAgICA3MiwgNjUsIDgwLCA2OSwgODMsIDEyOCwgODMsIDcyLCA2NSwgODAsIDE5NywgODMsIDcyLCA2NSwgODAsIDEyOCwgODMsIAorICAgIDcyLCA2NSwgNzgsIDcxLCAxMjgsIDgzLCA3MiwgNjUsIDc4LCAxMjgsIDgzLCA3MiwgNjUsIDIwNiwgODMsIDcyLCA2NSwgCisgICAgNzcsIDgyLCA3OSwgNjcsIDc1LCAxMjgsIDgzLCA3MiwgNjUsIDc2LCA4MywgNzIsIDY5LCA3NiwgNjksIDg0LCAxMjgsIDgzLCAKKyAgICA3MiwgNjUsIDc1LCA4NCwgNzMsIDEyOCwgODMsIDcyLCA2NSwgNzMsIDEyOCwgODMsIDcyLCA2NSwgNjgsIDc5LCA4NywgNjksIAorICAgIDE5NiwgODMsIDcyLCA2NSwgNjgsIDY5LCAxMjgsIDgzLCA3MiwgNjUsIDY4LCA2OCwgNjUsIDEyOCwgODMsIDcyLCA2NSwgCisgICAgNjgsIDY4LCAxOTMsIDgzLCA3MiwgNjUsIDY4LCAxMjgsIDgzLCA3MiwgNjUsIDE5NiwgODMsIDcyLCA2NSwgNjYsIDU0LCAKKyAgICAxMjgsIDgzLCA3MiwgNjUsIDY1LCAxMjgsIDgzLCA3MiwgNjUsIDU0LCAxMjgsIDgzLCA3MiwgNjUsIDUxLCAxMjgsIDgzLCAKKyAgICA3MiwgNjUsIDE3OSwgODMsIDcxLCA4MiwgMTkzLCA4MywgNzEsIDc5LCAyMTAsIDgzLCA3MSwgNjcsIDEyOCwgODMsIDcxLCAKKyAgICA2NSwgMjE1LCA4MywgNzEsIDY1LCAxOTQsIDgzLCA3MSwgMTI4LCA4MywgNjksIDg4LCA4NCwgODUsIDc2LCAxOTMsIDgzLCAKKyAgICA2OSwgODgsIDg0LCA3MywgNzYsIDY5LCAxMjgsIDgzLCA2OSwgODgsIDg0LCA2NSwgNzgsIDIxMSwgODMsIDY5LCA4NiwgNjksIAorICAgIDgyLCA2NSwgNzgsIDY3LCA2OSwgMTI4LCA4MywgNjksIDg2LCA2OSwgNzgsIDg0LCA4OSwgMTI4LCA4MywgNjksIDg2LCA2OSwgCisgICAgNzgsIDg0LCAyMTcsIDgzLCA2OSwgODYsIDY5LCA3OCwgODQsIDcyLCAxMjgsIDgzLCA2OSwgODYsIDY5LCA3OCwgODQsIDY5LCAKKyAgICA2OSwgNzgsIDEyOCwgODMsIDY5LCA4NiwgNjksIDc4LCA4NCwgNjksIDY5LCAyMDYsIDgzLCA2OSwgODYsIDY5LCA3OCwgNDUsIAorICAgIDg0LCA3MiwgNzMsIDgyLCA4NCwgODksIDEyOCwgODMsIDY5LCA4NiwgNjksIDIwNiwgODMsIDY5LCA4NSwgODgsIDEyOCwgCisgICAgODMsIDY5LCA4NSwgNzgsIDg5LCA2NSwgNzcsIDEyOCwgODMsIDY5LCA4NSwgNjUsIDY5LCA4MSwgMTI4LCA4MywgNjksIDg0LCAKKyAgICA3MCwgNzksIDc4LCAxMjgsIDgzLCA2OSwgODMsIDg0LCA2OSwgODIsIDg0LCA3MywgODUsIDIxMSwgODMsIDY5LCA4MywgODEsIAorICAgIDg1LCA3MywgODEsIDg1LCA2NSwgNjgsIDgyLCA2NSwgODQsIDY5LCAxMjgsIDgzLCA2OSwgODMsIDY1LCA3NywgMTk3LCA4MywgCisgICAgNjksIDgyLCA4NiwgNzMsIDY3LCAxOTcsIDgzLCA2OSwgODIsIDczLCA3MCwgODMsIDEyOCwgODMsIDY5LCA4MiwgNzMsIDcwLCAKKyAgICAyMTEsIDgzLCA2OSwgODEsIDg1LCA2OSwgNzgsIDY3LCAxOTcsIDgzLCA2OSwgODAsIDg0LCA2OSwgNzcsIDY2LCA2OSwgODIsIAorICAgIDEyOCwgODMsIDY5LCA4MCwgNjUsIDgyLCA2NSwgODQsIDc5LCA4MiwgMTI4LCA4MywgNjksIDgwLCA2NSwgODIsIDY1LCA4NCwgCisgICAgNzksIDIxMCwgODMsIDY5LCA3OCwgODQsIDc5LCAxMjgsIDgzLCA2OSwgNzgsIDg0LCA3MywgMTI4LCA4MywgNjksIDc3LCAKKyAgICA4NSwgNzgsIDY3LCA3MywgMTkzLCA4MywgNjksIDc3LCA3NSwgNjUsIDg0LCA3MiwgMTI4LCA4MywgNjksIDc3LCA3NSwgCisgICAgMTI4LCA4MywgNjksIDc3LCA3MywgODYsIDc5LCA4NywgNjksIDIwNCwgODMsIDY5LCA3NywgNzMsIDgzLCA3OSwgNzAsIAorICAgIDIxMiwgODMsIDY5LCA3NywgNzMsIDgzLCA2OSwgODgsIDg0LCA3MywgNzYsIDY5LCAxMjgsIDgzLCA2OSwgNzcsIDczLCA3NywgCisgICAgNzMsIDc4LCA3MywgNzcsIDE5MywgODMsIDY5LCA3NywgNzMsIDY4LCA3MywgODIsIDY5LCA2NywgMjEyLCA4MywgNjksIDc3LCAKKyAgICA3MywgNjcsIDc5LCA3NiwgNzksIDc4LCAxMjgsIDgzLCA2OSwgNzcsIDczLCA2NywgNzksIDc2LCA3OSwgMjA2LCA4MywgNjksIAorICAgIDc3LCA3MywgNjcsIDczLCA4MiwgNjcsIDg1LCA3NiwgNjUsIDIxMCwgODMsIDY5LCA3NywgNzMsIDY3LCA3MywgODIsIDY3LCAKKyAgICA3NiwgMTk3LCA4MywgNjksIDc3LCA3MywgNjYsIDgyLCA2OSwgODYsIDczLCAyMTEsIDgzLCA2OSwgNzcsIDczLCA0NSwgODYsIAorICAgIDc5LCA3MywgNjcsIDY5LCAxOTYsIDgzLCA2OSwgNzYsIDcwLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgCisgICAgNDUsIDU3LCA1NywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NywgNTYsIDEyOCwgODMsIDY5LCAKKyAgICA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTcsIDU1LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgCisgICAgNDUsIDU3LCA1NCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NywgNTMsIDEyOCwgODMsIDY5LCAKKyAgICA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTcsIDUyLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgCisgICAgNDUsIDU3LCA1MSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NywgNTAsIDEyOCwgODMsIDY5LCAKKyAgICA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTcsIDQ5LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgCisgICAgNDUsIDU3LCA0OCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NywgMTI4LCA4MywgNjksIDc2LCAKKyAgICA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NiwgNTcsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgCisgICAgNTYsIDU2LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDU2LCA1NSwgMTI4LCA4MywgNjksIDc2LCAKKyAgICA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NiwgNTQsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgCisgICAgNTYsIDUzLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDU2LCA1MiwgMTI4LCA4MywgNjksIDc2LCAKKyAgICA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NiwgNTEsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgCisgICAgNTYsIDUwLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDU2LCA0OSwgMTI4LCA4MywgNjksIDc2LCAKKyAgICA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NiwgNDgsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgCisgICAgNTYsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTUsIDU3LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCAKKyAgICA2NywgODQsIDc5LCA4MiwgNDUsIDU1LCA1NiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NSwgCisgICAgNTUsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTUsIDU0LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCAKKyAgICA2NywgODQsIDc5LCA4MiwgNDUsIDU1LCA1MywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NSwgCisgICAgNTIsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTUsIDUxLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCAKKyAgICA2NywgODQsIDc5LCA4MiwgNDUsIDU1LCA1MCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NSwgCisgICAgNDksIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTUsIDQ4LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCAKKyAgICA2NywgODQsIDc5LCA4MiwgNDUsIDU1LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDU0LCA1NywgCisgICAgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NCwgNTYsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCAKKyAgICA4NCwgNzksIDgyLCA0NSwgNTQsIDU1LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDU0LCA1NCwgCisgICAgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NCwgNTMsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCAKKyAgICA4NCwgNzksIDgyLCA0NSwgNTQsIDUyLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDU0LCA1MSwgCisgICAgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NCwgNTAsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCAKKyAgICA4NCwgNzksIDgyLCA0NSwgNTQsIDQ5LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDU0LCA0OCwgCisgICAgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1NCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCAKKyAgICA3OSwgODIsIDQ1LCA1MywgNTcsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTMsIDU2LCAxMjgsIAorICAgIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUzLCA1NSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCAKKyAgICA3OSwgODIsIDQ1LCA1MywgNTQsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTMsIDUzLCAxMjgsIAorICAgIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUzLCA1MiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCAKKyAgICA3OSwgODIsIDQ1LCA1MywgNTEsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTMsIDUwLCAxMjgsIAorICAgIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUzLCA0OSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCAKKyAgICA3OSwgODIsIDQ1LCA1MywgNDgsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTMsIDEyOCwgODMsIAorICAgIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTIsIDU3LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCAKKyAgICA4MiwgNDUsIDUyLCA1NiwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MiwgNTUsIDEyOCwgODMsIAorICAgIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTIsIDU0LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCAKKyAgICA4MiwgNDUsIDUyLCA1MywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MiwgNTIsIDEyOCwgODMsIAorICAgIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTIsIDUxLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCAKKyAgICA4MiwgNDUsIDUyLCA1MCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MiwgNDksIDEyOCwgODMsIAorICAgIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTIsIDQ4LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCAKKyAgICA4MiwgNDUsIDUyLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUxLCA1NywgMTI4LCA4MywgNjksIAorICAgIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MSwgNTYsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCAKKyAgICA0NSwgNTEsIDU1LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUxLCA1NCwgMTI4LCA4MywgNjksIAorICAgIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MSwgNTMsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCAKKyAgICA0NSwgNTEsIDUyLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUxLCA1MSwgMTI4LCA4MywgNjksIAorICAgIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MSwgNTAsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCAKKyAgICA0NSwgNTEsIDQ5LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUxLCA0OCwgMTI4LCA4MywgNjksIAorICAgIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCAKKyAgICA1MCwgNTcsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDU2LCAxMjgsIDgzLCA2OSwgNzYsIAorICAgIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1NSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCAKKyAgICA1MCwgNTQsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDUzLCA1NCwgMTI4LCA4MywgNjksIAorICAgIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTMsIDUzLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCAKKyAgICA4MiwgNDUsIDUwLCA1MywgNTIsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDUzLCA1MSwgCisgICAgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTMsIDUwLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCAKKyAgICA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1MywgNDksIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgCisgICAgNTAsIDUzLCA0OCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTMsIDEyOCwgODMsIDY5LCAKKyAgICA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDUyLCA1NywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgCisgICAgODIsIDQ1LCA1MCwgNTIsIDU2LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1MiwgNTUsIAorICAgIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDUyLCA1NCwgMTI4LCA4MywgNjksIDc2LCA2OSwgCisgICAgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTIsIDUzLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIAorICAgIDUwLCA1MiwgNTIsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDUyLCA1MSwgMTI4LCA4MywgCisgICAgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTIsIDUwLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIAorICAgIDc5LCA4MiwgNDUsIDUwLCA1MiwgNDksIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDUyLCAKKyAgICA0OCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTIsIDEyOCwgODMsIDY5LCA3NiwgNjksIAorICAgIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDUxLCA1NywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCAKKyAgICA1MCwgNTEsIDU2LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1MSwgNTUsIDEyOCwgODMsIAorICAgIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDUxLCA1NCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCAKKyAgICA3OSwgODIsIDQ1LCA1MCwgNTEsIDUzLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1MSwgCisgICAgNTIsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDUxLCA1MSwgMTI4LCA4MywgNjksIDc2LCAKKyAgICA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTEsIDUwLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgCisgICAgNDUsIDUwLCA1MSwgNDksIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDUxLCA0OCwgMTI4LCAKKyAgICA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTEsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgCisgICAgNzksIDgyLCA0NSwgNTAsIDUwLCA1NywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTAsIAorICAgIDU2LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1MCwgNTUsIDEyOCwgODMsIDY5LCA3NiwgCisgICAgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDUwLCA1NCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIAorICAgIDQ1LCA1MCwgNTAsIDUzLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA1MCwgNTIsIDEyOCwgCisgICAgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDUwLCA1MSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIAorICAgIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTAsIDUwLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCAKKyAgICA1MCwgNDksIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDUwLCA0OCwgMTI4LCA4MywgNjksIAorICAgIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNTAsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCAKKyAgICA0NSwgNTAsIDQ5LCA1NywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNDksIDU2LCAxMjgsIAorICAgIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA0OSwgNTUsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCAKKyAgICA4NCwgNzksIDgyLCA0NSwgNTAsIDQ5LCA1NCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgCisgICAgNDksIDUzLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA0OSwgNTIsIDEyOCwgODMsIDY5LCAKKyAgICA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDQ5LCA1MSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgCisgICAgODIsIDQ1LCA1MCwgNDksIDUwLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA0OSwgNDksIAorICAgIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDQ5LCA0OCwgMTI4LCA4MywgNjksIDc2LCA2OSwgCisgICAgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNDksIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIAorICAgIDQ4LCA1NywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNDgsIDU2LCAxMjgsIDgzLCA2OSwgCisgICAgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA0OCwgNTUsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIAorICAgIDgyLCA0NSwgNTAsIDQ4LCA1NCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA1MCwgNDgsIDUzLCAKKyAgICAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA0OCwgNTIsIDEyOCwgODMsIDY5LCA3NiwgNjksIAorICAgIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDQ4LCA1MSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCAKKyAgICA1MCwgNDgsIDUwLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDUwLCA0OCwgNDksIDEyOCwgODMsIAorICAgIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDQ4LCA0OCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCAKKyAgICA3OSwgODIsIDQ1LCA1MCwgNDgsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNTAsIDEyOCwgODMsIAorICAgIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDU3LCA1NywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCAKKyAgICA3OSwgODIsIDQ1LCA0OSwgNTcsIDU2LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NywgCisgICAgNTUsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDU3LCA1NCwgMTI4LCA4MywgNjksIDc2LCAKKyAgICA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTcsIDUzLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgCisgICAgNDUsIDQ5LCA1NywgNTIsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDU3LCA1MSwgMTI4LCAKKyAgICA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTcsIDUwLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgCisgICAgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NywgNDksIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIAorICAgIDU3LCA0OCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTcsIDEyOCwgODMsIDY5LCA3NiwgCisgICAgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDU2LCA1NywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIAorICAgIDQ1LCA0OSwgNTYsIDU2LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NiwgNTUsIDEyOCwgCisgICAgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDU2LCA1NCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIAorICAgIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTYsIDUzLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCAKKyAgICA1NiwgNTIsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDU2LCA1MSwgMTI4LCA4MywgNjksIAorICAgIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTYsIDUwLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCAKKyAgICA4MiwgNDUsIDQ5LCA1NiwgNDksIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDU2LCA0OCwgCisgICAgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTYsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCAKKyAgICA4NCwgNzksIDgyLCA0NSwgNDksIDU1LCA1NywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgCisgICAgNTUsIDU2LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NSwgNTUsIDEyOCwgODMsIDY5LCAKKyAgICA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDU1LCA1NCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgCisgICAgODIsIDQ1LCA0OSwgNTUsIDUzLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NSwgNTIsIAorICAgIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDU1LCA1MSwgMTI4LCA4MywgNjksIDc2LCA2OSwgCisgICAgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTUsIDUwLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIAorICAgIDQ5LCA1NSwgNDksIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDU1LCA0OCwgMTI4LCA4MywgCisgICAgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTUsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIAorICAgIDgyLCA0NSwgNDksIDU0LCA1NywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTQsIDU2LCAKKyAgICAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NCwgNTUsIDEyOCwgODMsIDY5LCA3NiwgNjksIAorICAgIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDU0LCA1NCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCAKKyAgICA0OSwgNTQsIDUzLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NCwgNTIsIDEyOCwgODMsIAorICAgIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDU0LCA1MSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCAKKyAgICA3OSwgODIsIDQ1LCA0OSwgNTQsIDUwLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1NCwgCisgICAgNDksIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDU0LCA0OCwgMTI4LCA4MywgNjksIDc2LCAKKyAgICA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTQsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgCisgICAgNDksIDUzLCA1NywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTMsIDU2LCAxMjgsIDgzLCAKKyAgICA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MywgNTUsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgCisgICAgNzksIDgyLCA0NSwgNDksIDUzLCA1NCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTMsIAorICAgIDUzLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MywgNTIsIDEyOCwgODMsIDY5LCA3NiwgCisgICAgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDUzLCA1MSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIAorICAgIDQ1LCA0OSwgNTMsIDUwLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MywgNDksIDEyOCwgCisgICAgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDUzLCA0OCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIAorICAgIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTMsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDUyLCAKKyAgICA1NywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTIsIDU2LCAxMjgsIDgzLCA2OSwgNzYsIAorICAgIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MiwgNTUsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCAKKyAgICA0NSwgNDksIDUyLCA1NCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTIsIDUzLCAxMjgsIAorICAgIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MiwgNTIsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCAKKyAgICA4NCwgNzksIDgyLCA0NSwgNDksIDUyLCA1MSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgCisgICAgNTIsIDUwLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MiwgNDksIDEyOCwgODMsIDY5LCAKKyAgICA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDUyLCA0OCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgCisgICAgODIsIDQ1LCA0OSwgNTIsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDUxLCA1NywgMTI4LCAKKyAgICA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTEsIDU2LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgCisgICAgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MSwgNTUsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIAorICAgIDUxLCA1NCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTEsIDUzLCAxMjgsIDgzLCA2OSwgCisgICAgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MSwgNTIsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIAorICAgIDgyLCA0NSwgNDksIDUxLCA1MSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTEsIDUwLCAKKyAgICAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MSwgNDksIDEyOCwgODMsIDY5LCA3NiwgNjksIAorICAgIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDUxLCA0OCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCAKKyAgICA0OSwgNTEsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDUwLCA1NywgMTI4LCA4MywgNjksIAorICAgIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTAsIDU2LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCAKKyAgICA4MiwgNDUsIDQ5LCA1MCwgNTUsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDUwLCA1NCwgCisgICAgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTAsIDUzLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCAKKyAgICA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MCwgNTIsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgCisgICAgNDksIDUwLCA1MSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTAsIDUwLCAxMjgsIDgzLCAKKyAgICA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA1MCwgNDksIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgCisgICAgNzksIDgyLCA0NSwgNDksIDUwLCA0OCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNTAsIAorICAgIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDQ5LCA1NywgMTI4LCA4MywgNjksIDc2LCA2OSwgCisgICAgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNDksIDU2LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIAorICAgIDQ5LCA0OSwgNTUsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDQ5LCA1NCwgMTI4LCA4MywgCisgICAgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNDksIDUzLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIAorICAgIDc5LCA4MiwgNDUsIDQ5LCA0OSwgNTIsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDQ5LCAKKyAgICA1MSwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNDksIDUwLCAxMjgsIDgzLCA2OSwgNzYsIAorICAgIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA0OSwgNDksIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCAKKyAgICA0NSwgNDksIDQ5LCA0OCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNDksIDEyOCwgODMsIAorICAgIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDQ4LCA1NywgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCAKKyAgICA3OSwgODIsIDQ1LCA0OSwgNDgsIDU2LCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgNDUsIDQ5LCA0OCwgCisgICAgNTUsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDQ4LCA1NCwgMTI4LCA4MywgNjksIDc2LCAKKyAgICA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNDgsIDUzLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgODQsIDc5LCA4MiwgCisgICAgNDUsIDQ5LCA0OCwgNTIsIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDQ4LCA1MSwgMTI4LCAKKyAgICA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNDgsIDUwLCAxMjgsIDgzLCA2OSwgNzYsIDY5LCA2NywgCisgICAgODQsIDc5LCA4MiwgNDUsIDQ5LCA0OCwgNDksIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIAorICAgIDQ4LCA0OCwgMTI4LCA4MywgNjksIDc2LCA2OSwgNjcsIDg0LCA3OSwgODIsIDQ1LCA0OSwgNDgsIDEyOCwgODMsIDY5LCA3NiwgCisgICAgNjksIDY3LCA4NCwgNzksIDgyLCA0NSwgNDksIDEyOCwgODMsIDY5LCA3NiwgNjksIDY3LCA4NCwgNzksIDIxMCwgODMsIDY5LCAKKyAgICA3NiwgNjksIDY3LCA4NCwgNjksIDE5NiwgODMsIDY5LCA3MywgODMsIDc3LCA2NSwgMTI4LCA4MywgNjksIDczLCA4MywgNzcsIAorICAgIDE5MywgODMsIDY5LCA3MiwgMTI4LCA4MywgNjksIDcxLCA3OSwgNzYsIDEyOCwgODMsIDY5LCA3MSwgNzgsIDc5LCAxMjgsIAorICAgIDgzLCA2OSwgNzEsIDc3LCA2OSwgNzgsIDg0LCAxMjgsIDgzLCA2OSwgNjksIDc4LCA4NSwgMTI4LCA4MywgNjksIDY5LCA3OCwgCisgICAgMTI4LCA4MywgNjksIDY5LCAyMDYsIDgzLCA2OSwgNjksIDY4LCA3NiwgNzMsIDc4LCA3MSwgMTI4LCA4MywgNjksIDY5LCAKKyAgICA0NSwgNzgsIDc5LCA0NSwgNjksIDg2LCA3MywgMjA0LCA4MywgNjksIDY3LCA4NCwgNzksIDgyLCAxMjgsIDgzLCA2OSwgNjcsIAorICAgIDg0LCA3MywgNzksIDc4LCAxMjgsIDgzLCA2OSwgNjcsIDg0LCA3MywgNzksIDIwNiwgODMsIDY5LCA2NywgODIsIDY5LCA4NCwgCisgICAgMTI4LCA4MywgNjksIDY3LCA3OSwgNzgsIDY4LCAxMjgsIDgzLCA2OSwgNjYsIDY1LCA4NCwgNjYsIDY5LCA3MywgMjEyLCAKKyAgICA4MywgNjksIDY1LCA4NCwgMTI4LCA4MywgNjksIDY1LCA3NiwgMTI4LCA4MywgNjksIDY1LCA3MSwgODUsIDc2LCAyMDQsIAorICAgIDgzLCA2OCwgNzksIDc4LCAxOTksIDgzLCA2OCwgMTI4LCA4MywgNjcsIDg3LCA2NSwgMTI4LCA4MywgNjcsIDgyLCA4NSwgCisgICAgODAsIDc2LCA2OSwgMTI4LCA4MywgNjcsIDgyLCA3OSwgNzYsIDc2LCAxMjgsIDgzLCA2NywgODIsIDczLCA4MCwgODQsIAorICAgIDEyOCwgODMsIDY3LCA4MiwgNjksIDY5LCA3OCwgMTI4LCA4MywgNjcsIDgyLCA2OSwgNjksIDIwNiwgODMsIDY3LCA4MiwgCisgICAgNjksIDY1LCA3NywgNzMsIDc4LCAxOTksIDgzLCA2NywgNzksIDgyLCA4MCwgNzMsIDg1LCA4MywgMTI4LCA4MywgNjcsIDc5LCAKKyAgICA4MiwgNjksIDEyOCwgODMsIDY3LCA3MywgODMsIDgzLCA3OSwgODIsIDgzLCAxMjgsIDgzLCA2NywgNzMsIDEyOCwgODMsIAorICAgIDY3LCA3MiwgODcsIDY1LCAxMjgsIDgzLCA2NywgNzIsIDg3LCAxOTMsIDgzLCA2NywgNzIsIDgyLCA3OSwgNjksIDY4LCA2OSwgCisgICAgODIsIDEyOCwgODMsIDY3LCA3MiwgNzksIDc5LCA3NiwgMTI4LCA4MywgNjcsIDcyLCA3OSwgNzksIDIwNCwgODMsIDY3LCAKKyAgICA3MiwgNzksIDc2LCA2NSwgODIsIDEyOCwgODMsIDY3LCA3MiwgNjksIDc3LCAxOTMsIDgzLCA2NywgNjksIDgwLCA4NCwgNjksIAorICAgIDIxMCwgODMsIDY3LCA2NSwgNzgsIDY4LCA3MywgNjcsIDg1LCA4MywgMTI4LCA4MywgNjcsIDY1LCA3OCwgNjgsIDczLCA2NywgCisgICAgODUsIDIxMSwgODMsIDY3LCA2NSwgMjA2LCA4MywgNjcsIDY1LCA3NiwgNjksIDgzLCAxMjgsIDgzLCA2NiwgODUsIDE5NCwgCisgICAgODMsIDY2LCA4MiwgODUsIDIwNCwgODMsIDY1LCA4OSwgNzMsIDgzLCAyMDEsIDgzLCA2NSwgODksIDY1LCA3OCwgNzgsIDY1LCAKKyAgICAxMjgsIDgzLCA2NSwgODksIDEyOCwgODMsIDY1LCA4OCwgNzksIDgwLCA3MiwgNzksIDc4LCA2OSwgMTI4LCA4MywgNjUsIAorICAgIDg4LCA3MywgNzcsIDY1LCA4NCwgNjUsIDEyOCwgODMsIDY1LCA4NywgNjUsIDc4LCAxMjgsIDgzLCA2NSwgODcsIDEyOCwgCisgICAgODMsIDY1LCA4NiwgNzksIDg1LCA4MiwgNzMsIDc4LCAxOTksIDgzLCA2NSwgODUsIDczLCA3NiwgMTI4LCA4MywgNjUsIDg0LCAKKyAgICA4NSwgODIsIDc4LCAxMjgsIDgzLCA2NSwgODQsIDc1LCA2NSwgNjUsIDc4LCA3NSwgODUsIDg1LCAxMjgsIDgzLCA2NSwgODQsIAorICAgIDc1LCA2NSwgNjUsIDc4LCAxMjgsIDgzLCA2NSwgODQsIDY5LCA3NiwgNzYsIDczLCA4NCwgMTk3LCA4MywgNjUsIDg0LCA2NywgCisgICAgNzIsIDY5LCA3NiwgMTI4LCA4MywgNjUsIDg0LCA2NSwgNzgsIDcxLCA2NSwgMTI4LCA4MywgNjUsIDgzLCA3MiwgMTI4LCAKKyAgICA4MywgNjUsIDgzLCA2NSwgNzUsIDEyOCwgODMsIDY1LCA4MiwgNzMsIDEyOCwgODMsIDY1LCA4MiwgMTkzLCA4MywgNjUsIAorICAgIDgyLCAxMjgsIDgzLCA2NSwgODEsIDEyOCwgODMsIDY1LCA4MCwgNjUsIDEyOCwgODMsIDY1LCA3OCwgODksIDc5LCA3OSwgCisgICAgNzEsIDE5MywgODMsIDY1LCA3OCwgODksIDY1LCA3NSwgMTkzLCA4MywgNjUsIDc4LCA4NCwgNzMsIDczLCA3NywgODUsIAorICAgIDEyOCwgODMsIDY1LCA3OCwgNzgsIDg5LCA2NSwgMTI4LCA4MywgNjUsIDc4LCA3MSwgNjUsIDUwLCAxMjgsIDgzLCA2NSwgCisgICAgNzgsIDY4LCA2NSwgNzYsIDEyOCwgODMsIDY1LCA3OCwgNjUsIDcyLCAxMjgsIDgzLCA2NSwgNzgsIDEyOCwgODMsIDY1LCAKKyAgICA3NywgODksIDc5LCAyMDMsIDgzLCA2NSwgNzcsIDg2LCA2NSwgODQsIDEyOCwgODMsIDY1LCA3NywgODAsIDczLCAxMjgsIAorICAgIDgzLCA2NSwgNzcsIDgwLCA3MiwgNjUsIDc5LCAxMjgsIDgzLCA2NSwgNzcsIDc1LCA2NSwgMTI4LCA4MywgNjUsIDc3LCA2OSwgCisgICAgNzUsIDcyLCAxMjgsIDgzLCA2NSwgNzcsIDY5LCA3NSwgMjAwLCA4MywgNjUsIDc3LCA2NiwgNjUsIDEyOCwgODMsIDY1LCAKKyAgICA3NywgNjUsIDgyLCA3MywgODQsIDY1LCAyMDYsIDgzLCA2NSwgNzcsIDEyOCwgODMsIDY1LCA3NiwgODQsIDczLCA4MiwgNjksIAorICAgIDEyOCwgODMsIDY1LCA3NiwgODQsIDczLCA3NiwgNzYsIDc5LCAxMjgsIDgzLCA2NSwgNzYsIDg0LCA0NSwgNTAsIDEyOCwgCisgICAgODMsIDY1LCA3NiwgODQsIDEyOCwgODMsIDY1LCA3NiwgMjEyLCA4MywgNjUsIDc2LCA3NiwgNjUsIDc2LCA3NiwgNjUsIDcyLCAKKyAgICA3OSwgMjEzLCA4MywgNjUsIDc2LCA3NiwgMTkzLCA4MywgNjUsIDc2LCA2NSwgMjA1LCA4MywgNjUsIDc2LCA2NSwgMTI4LCAKKyAgICA4MywgNjUsIDc2LCA0NSwgNjUsIDc3LCA3NywgNzksIDc4LCA3MywgNjUsIDY3LCAxMjgsIDgzLCA2NSwgNzYsIDEyOCwgODMsIAorICAgIDY1LCA3NSwgNzksIDg0LCAxMjgsIDgzLCA2NSwgNzUsIDY5LCA4NSwgNjUsIDY5LCAxMjgsIDgzLCA2NSwgNzUsIDE5NywgCisgICAgODMsIDY1LCA3NCwgNjgsIDY1LCA3MiwgMTI4LCA4MywgNjUsIDczLCA3NiwgNjYsIDc5LCA2NSwgODQsIDEyOCwgODMsIDY1LCAKKyAgICA3MywgNzYsIDEyOCwgODMsIDY1LCA3MywgNzUsIDg1LCA4MiwgODUsIDEyOCwgODMsIDY1LCA3MiwgMTI4LCA4MywgNjUsIAorICAgIDcxLCA3MywgODQsIDg0LCA2NSwgODIsIDczLCA4NSwgODMsIDEyOCwgODMsIDY1LCA3MSwgNjUsIDEyOCwgODMsIDY1LCA3MSwgCisgICAgMTI4LCA4MywgNjUsIDE5OSwgODMsIDY1LCA3MCwgNzIsIDY1LCAxMjgsIDgzLCA2NSwgNjgsIDcyLCA2OSwgMTI4LCA4MywgCisgICAgNjUsIDY4LCA2OSwgMTI4LCA4MywgNjUsIDY4LCAxMjgsIDgzLCA2NSwgMTk2LCA4MywgNjUsIDY3LCA4MiwgNzMsIDcwLCAKKyAgICA3MywgNjcsIDczLCA2NSwgMjA0LCA4MywgNjUsIDY1LCA3MywgMTI4LCA4MywgNjUsIDY1LCA2OCwgNzIsIDg1LCAxMjgsIAorICAgIDgzLCA2NSwgNDUsIDczLCAxMjgsIDgzLCA2NSwgNDUsIDUwLCAxMjgsIDgzLCA0OCwgNTIsIDU0LCAxMjgsIDgzLCA0OCwgCisgICAgNTIsIDUzLCAxMjgsIDgzLCA0OCwgNTIsIDUyLCAxMjgsIDgzLCA0OCwgNTIsIDUxLCAxMjgsIDgzLCA0OCwgNTIsIDUwLCAKKyAgICAxMjgsIDgzLCA0OCwgNTIsIDQ5LCAxMjgsIDgzLCA0OCwgNTIsIDQ4LCAxMjgsIDgzLCA0OCwgNTEsIDU3LCAxMjgsIDgzLCAKKyAgICA0OCwgNTEsIDU2LCAxMjgsIDgzLCA0OCwgNTEsIDU1LCAxMjgsIDgzLCA0OCwgNTEsIDU0LCAxMjgsIDgzLCA0OCwgNTEsIAorICAgIDUzLCA2NSwgMTI4LCA4MywgNDgsIDUxLCA1MywgMTI4LCA4MywgNDgsIDUxLCA1MiwgMTI4LCA4MywgNDgsIDUxLCA1MSwgCisgICAgMTI4LCA4MywgNDgsIDUxLCA1MCwgMTI4LCA4MywgNDgsIDUxLCA0OSwgMTI4LCA4MywgNDgsIDUxLCA0OCwgMTI4LCA4MywgCisgICAgNDgsIDUwLCA1NywgMTI4LCA4MywgNDgsIDUwLCA1NiwgMTI4LCA4MywgNDgsIDUwLCA1NSwgMTI4LCA4MywgNDgsIDUwLCAKKyAgICA1NCwgNjYsIDEyOCwgODMsIDQ4LCA1MCwgNTQsIDY1LCAxMjgsIDgzLCA0OCwgNTAsIDU0LCAxMjgsIDgzLCA0OCwgNTAsIAorICAgIDUzLCAxMjgsIDgzLCA0OCwgNTAsIDUyLCAxMjgsIDgzLCA0OCwgNTAsIDUxLCAxMjgsIDgzLCA0OCwgNTAsIDUwLCAxMjgsIAorICAgIDgzLCA0OCwgNTAsIDQ5LCAxMjgsIDgzLCA0OCwgNTAsIDQ4LCAxMjgsIDgzLCA0OCwgNDksIDU3LCAxMjgsIDgzLCA0OCwgCisgICAgNDksIDU2LCAxMjgsIDgzLCA0OCwgNDksIDU1LCA2NSwgMTI4LCA4MywgNDgsIDQ5LCA1NSwgMTI4LCA4MywgNDgsIDQ5LCAKKyAgICA1NCwgMTI4LCA4MywgNDgsIDQ5LCA1MywgMTI4LCA4MywgNDgsIDQ5LCA1MiwgNjYsIDEyOCwgODMsIDQ4LCA0OSwgNTIsIAorICAgIDY1LCAxMjgsIDgzLCA0OCwgNDksIDUyLCAxMjgsIDgzLCA0OCwgNDksIDUxLCAxMjgsIDgzLCA0OCwgNDksIDUwLCAxMjgsIAorICAgIDgzLCA0OCwgNDksIDQ5LCAxMjgsIDgzLCA0OCwgNDksIDQ4LCAxMjgsIDgzLCA0OCwgNDgsIDU3LCAxMjgsIDgzLCA0OCwgCisgICAgNDgsIDU2LCAxMjgsIDgzLCA0OCwgNDgsIDU1LCAxMjgsIDgzLCA0OCwgNDgsIDU0LCA2NSwgMTI4LCA4MywgNDgsIDQ4LCAKKyAgICA1NCwgMTI4LCA4MywgNDgsIDQ4LCA1MywgMTI4LCA4MywgNDgsIDQ4LCA1MiwgMTI4LCA4MywgNDgsIDQ4LCA1MSwgMTI4LCAKKyAgICA4MywgNDgsIDQ4LCA1MCwgNjUsIDEyOCwgODMsIDQ4LCA0OCwgNTAsIDEyOCwgODMsIDQ4LCA0OCwgNDksIDEyOCwgODMsIAorICAgIDQ1LCA4NywgMTI4LCA4MywgNDUsIDgzLCA3MiwgNjUsIDgwLCA2OSwgMTk2LCA4MiwgODksIDg5LCAxMjgsIDgyLCA4OSwgCisgICAgODgsIDEyOCwgODIsIDg5LCA4NCwgMTI4LCA4MiwgODksIDgyLCA4OCwgMTI4LCA4MiwgODksIDgyLCAxMjgsIDgyLCA4OSwgCisgICAgODAsIDEyOCwgODIsIDg3LCA3OSwgNzksIDEyOCwgODIsIDg3LCA3OSwgMTI4LCA4MiwgODcsIDczLCA3MywgMTI4LCA4MiwgCisgICAgODcsIDczLCAxMjgsIDgyLCA4NywgNjksIDY5LCAxMjgsIDgyLCA4NywgNjksIDEyOCwgODIsIDg3LCA2NSwgNzIsIDY1LCAKKyAgICAxMjgsIDgyLCA4NywgNjUsIDY1LCAxMjgsIDgyLCA4NywgNjUsIDEyOCwgODIsIDg1LCA4OCwgMTI4LCA4MiwgODUsIDg1LCAKKyAgICA2NiwgODUsIDgyLCA4NSwgMTI4LCA4MiwgODUsIDg1LCAxMjgsIDgyLCA4NSwgODQsIDEyOCwgODIsIDg1LCA4MywgNzMsIAorICAgIDEyOCwgODIsIDg1LCA4MiwgODgsIDEyOCwgODIsIDg1LCA4MiwgMTI4LCA4MiwgODUsIDgwLCA3MywgNzMsIDEyOCwgODIsIAorICAgIDg1LCA4MCwgNjksIDE5NywgODIsIDg1LCA4MCwgMTI4LCA4MiwgODUsIDc5LCA4OCwgMTI4LCA4MiwgODUsIDc5LCA4MCwgCisgICAgMTI4LCA4MiwgODUsIDc5LCAxMjgsIDgyLCA4NSwgNzgsIDc5LCA4NSwgODQsIDEyOCwgODIsIDg1LCA3OCwgNzgsIDczLCAKKyAgICA3OCwgMTk5LCA4MiwgODUsIDc4LCA3OCwgNjksIDgyLCAxMjgsIDgyLCA4NSwgNzgsIDEyOCwgODIsIDg1LCA3NywgMjAxLCAKKyAgICA4MiwgODUsIDc3LCA2NSwgMjAxLCA4MiwgODUsIDc3LCAxMjgsIDgyLCA4NSwgMjA1LCA4MiwgODUsIDc2LCA2OSwgODIsIAorICAgIDEyOCwgODIsIDg1LCA3NiwgNjksIDQ1LCA2OCwgNjksIDc2LCA2NSwgODksIDY5LCA2OCwgMTI4LCA4MiwgODUsIDc2LCA2OSwgCisgICAgMTI4LCA4MiwgODUsIDc1LCA3NSwgNjUsIDc1LCA3MiwgNjUsIDEyOCwgODIsIDg1LCA3MywgODMsIDEyOCwgODIsIDg1LCAKKyAgICA3MSwgNjYsIDIxNywgODIsIDg1LCAxOTQsIDgyLCA4NSwgNjUsIDEyOCwgODIsIDg0LCA3MiwgNjUsIDc4LCAxOTksIDgyLCAKKyAgICA4NCwgNjUsIDcxLCA4MywgMTI4LCA4MiwgODQsIDY1LCA3MSwgMjExLCA4MiwgODIsIDg5LCA4OCwgMTI4LCA4MiwgODIsIAorICAgIDg5LCA4NCwgMTI4LCA4MiwgODIsIDg5LCA4MiwgODgsIDEyOCwgODIsIDgyLCA4OSwgODIsIDEyOCwgODIsIDgyLCA4OSwgCisgICAgODAsIDEyOCwgODIsIDgyLCA4NSwgODgsIDEyOCwgODIsIDgyLCA4NSwgODUsIDEyOCwgODIsIDgyLCA4NSwgODQsIDEyOCwgCisgICAgODIsIDgyLCA4NSwgODIsIDg4LCAxMjgsIDgyLCA4MiwgODUsIDgyLCAxMjgsIDgyLCA4MiwgODUsIDgwLCAxMjgsIDgyLCAKKyAgICA4MiwgODUsIDc5LCA4OCwgMTI4LCA4MiwgODIsIDg1LCA3OSwgMTI4LCA4MiwgODIsIDg1LCAxMjgsIDgyLCA4MiwgNzksIAorICAgIDg4LCAxMjgsIDgyLCA4MiwgNzksIDg0LCAxMjgsIDgyLCA4MiwgNzksIDgwLCAxMjgsIDgyLCA4MiwgNzksIDc5LCAxMjgsIAorICAgIDgyLCA4MiwgNzksIDEyOCwgODIsIDgyLCA3MywgNzMsIDEyOCwgODIsIDgyLCA3MywgMTI4LCA4MiwgODIsIDY5LCA4OCwgCisgICAgMTI4LCA4MiwgODIsIDY5LCA4NCwgMTI4LCA4MiwgODIsIDY5LCA4MCwgMTI4LCA4MiwgODIsIDY5LCA3MiwgMTI4LCA4MiwgCisgICAgODIsIDY5LCAyMDAsIDgyLCA4MiwgNjksIDY5LCAxMjgsIDgyLCA4MiwgNjksIDEyOCwgODIsIDgyLCA2NSwgODgsIDEyOCwgCisgICAgODIsIDgyLCA2NSwgODUsIDEyOCwgODIsIDgyLCA2NSwgNzMsIDEyOCwgODIsIDgyLCA2NSwgNjUsIDEyOCwgODIsIDgyLCAKKyAgICA2NSwgMTI4LCA4MiwgNzksIDg3LCA2NiwgNzksIDY1LCA4NCwgMTI4LCA4MiwgNzksIDg1LCA3OCwgNjgsIDY5LCAxOTYsIAorICAgIDgyLCA3OSwgODUsIDc4LCA2OCwgNDUsIDg0LCA3MywgODAsIDgwLCA2OSwgMTk2LCA4MiwgNzksIDg0LCA4NSwgNzgsIDY4LCAKKyAgICA2NSwgMTI4LCA4MiwgNzksIDg0LCA2NSwgODQsIDY5LCAxOTYsIDgyLCA3OSwgODMsIDcyLCAxMjgsIDgyLCA3OSwgODMsIAorICAgIDY5LCA4NCwgODQsIDY5LCAxMjgsIDgyLCA3OSwgODMsIDY5LCAxMjgsIDgyLCA3OSwgNzksIDg0LCAxMjgsIDgyLCA3OSwgCisgICAgNzksIDgzLCA4NCwgNjksIDgyLCAxMjgsIDgyLCA3OSwgNzksIDc1LCAxMjgsIDgyLCA3OSwgNzksIDcwLCAxMjgsIDgyLCAKKyAgICA3OSwgNzcsIDY1LCAyMDYsIDgyLCA3OSwgNzcsIDEyOCwgODIsIDc5LCA3NiwgNzYsIDY5LCAyMTAsIDgyLCA3OSwgNzIsIAorICAgIDczLCA3OCwgNzEsIDg5LCAxOTMsIDgyLCA3OSwgMTk2LCA4MiwgNzksIDY3LCA3NSwgNjksIDg0LCAxMjgsIDgyLCA3OSwgCisgICAgNjcsIDIwMywgODIsIDc5LCA2NywgMTI4LCA4MiwgNzksIDY2LCA2NSwgODQsIDEyOCwgODIsIDc5LCA2NSwgODMsIDg0LCAKKyAgICA2OSwgMTk2LCA4MiwgNzksIDY1LCA4MiwgMTI4LCA4MiwgNzksIDY1LCAxMjgsIDgyLCA3OCwgODksIDczLCA3OCwgMTk5LCAKKyAgICA4MiwgNzgsIDc5LCA3OSwgNzgsIDEyOCwgODIsIDc4LCA3OSwgNzksIDIwNiwgODIsIDc4LCA2NSwgMjA1LCA4MiwgNzcsIAorICAgIDg0LCAxMjgsIDgyLCA3NiwgNzksIDEyOCwgODIsIDc2LCA3NywgMTI4LCA4MiwgNzYsIDY5LCAxMjgsIDgyLCA3NCwgNjksIAorICAgIDIxMSwgODIsIDc0LCA2OSwgMTI4LCA4MiwgNzQsIDE5NywgODIsIDczLCA4NiwgNjksIDgyLCAxMjgsIDgyLCA3MywgODQsIAorICAgIDg1LCA2NSwgNzYsIDEyOCwgODIsIDczLCA4NCwgODQsIDc5LCA4MiwgODUsIDEyOCwgODIsIDczLCA4NCwgODMsIDczLCAKKyAgICAxMjgsIDgyLCA3MywgODMsIDczLCA3OCwgMTk5LCA4MiwgNzMsIDgzLCA3MiwgMTI4LCA4MiwgNzMsIDgyLCA2NSwgMTI4LCAKKyAgICA4MiwgNzMsIDgwLCAxMjgsIDgyLCA3MywgNzgsIDcxLCAyMTEsIDgyLCA3MywgNzgsIDcwLCA3OSwgODIsIDkwLCA2NSwgNzgsIAorICAgIDY4LCA3OSwgMTI4LCA4MiwgNzMsIDIwNiwgODIsIDczLCA3NywgNzEsIDY2LCA2NSwgMTI4LCA4MiwgNzMsIDc1LCA4MiwgCisgICAgNzMsIDc1LCAxMjgsIDgyLCA3MywgNzEsIDg2LCA2OSwgNjgsIDczLCAxOTUsIDgyLCA3MywgNzEsIDcyLCA4NCwgODcsIDY1LCAKKyAgICA4MiwgNjgsIDgzLCAxMjgsIDgyLCA3MywgNzEsIDcyLCA4NCwgNzIsIDY1LCA3OCwgMTk2LCA4MiwgNzMsIDcxLCA3MiwgODQsIAorICAgIDQ1LCA4NCwgNzksIDQ1LCA3NiwgNjksIDcwLCAyMTIsIDgyLCA3MywgNzEsIDcyLCA4NCwgNDUsIDgzLCA3MywgNjgsIDE5NywgCisgICAgODIsIDczLCA3MSwgNzIsIDg0LCA0NSwgODMsIDcyLCA2NSwgNjgsIDc5LCA4NywgNjksIDE5NiwgODIsIDczLCA3MSwgNzIsIAorICAgIDg0LCA0NSwgODMsIDcyLCA2NSwgNjgsIDY5LCAxOTYsIDgyLCA3MywgNzEsIDcyLCA4NCwgNDUsIDgwLCA3OSwgNzMsIDc4LCAKKyAgICA4NCwgNzMsIDc4LCAxOTksIDgyLCA3MywgNzEsIDcyLCA4NCwgNDUsIDcyLCA2NSwgNzgsIDY4LCA2OSwgMTk2LCA4MiwgNzMsIAorICAgIDcxLCA3MiwgODQsIDQ1LCA3MiwgNjUsIDc4LCAxOTYsIDgyLCA3MywgNzEsIDcyLCA4NCwgNDUsIDcwLCA2NSwgNjcsIDczLCAKKyAgICA3OCwgMTk5LCA4MiwgNzMsIDcxLCA3MiwgODQsIDEyOCwgODIsIDczLCA2OSwgODUsIDc2LCA0NSwgODksIDY5LCA4MywgNzMsIAorICAgIDY5LCA4NSwgNzgsIDcxLCAxMjgsIDgyLCA3MywgNjksIDg1LCA3NiwgNDUsIDg5LCA2OSwgNzksIDgyLCA3MywgNzgsIDcyLCAKKyAgICA3MywgNjksIDg1LCA3MiwgNDUsIDcyLCA3MywgNjksIDg1LCA3MiwgMTI4LCA4MiwgNzMsIDY5LCA4NSwgNzYsIDQ1LCA4OSwgCisgICAgNjksIDc5LCA4MiwgNzMsIDc4LCA3MiwgNzMsIDY5LCA4NSwgNzIsIDEyOCwgODIsIDczLCA2OSwgODUsIDc2LCA0NSwgODQsIAorICAgIDczLCA3NSwgNjksIDg1LCA4NCwgNDUsIDcyLCA3MywgNjksIDg1LCA3MiwgMTI4LCA4MiwgNzMsIDY5LCA4NSwgNzYsIDQ1LCAKKyAgICA4NCwgNzMsIDc1LCA2OSwgODUsIDg0LCAxMjgsIDgyLCA3MywgNjksIDg1LCA3NiwgNDUsIDg0LCA3MiwgNzMsIDY5LCA4NSwgCisgICAgODQsIDcyLCAxMjgsIDgyLCA3MywgNjksIDg1LCA3NiwgNDUsIDgzLCA4MywgNjUsIDc4LCA3MSwgODQsIDczLCA3NSwgNjksIAorICAgIDg1LCA4NCwgMTI4LCA4MiwgNzMsIDY5LCA4NSwgNzYsIDQ1LCA4MywgODMsIDY1LCA3OCwgNzEsIDgzLCA3MywgNzksIDgzLCAKKyAgICAxMjgsIDgyLCA3MywgNjksIDg1LCA3NiwgNDUsIDgzLCA4MywgNjUsIDc4LCA3MSwgODAsIDczLCA2OSwgODUsIDgwLCAxMjgsIAorICAgIDgyLCA3MywgNjksIDg1LCA3NiwgNDUsIDgzLCA4MywgNjUsIDc4LCA3MSwgNzUsIDczLCA4OSwgNjksIDc5LCA3NSwgMTI4LCAKKyAgICA4MiwgNzMsIDY5LCA4NSwgNzYsIDQ1LCA4MywgNzMsIDc5LCA4MywgMTI4LCA4MiwgNzMsIDY5LCA4NSwgNzYsIDQ1LCA4MCwgCisgICAgNzMsIDY5LCA4NSwgODAsIDQ1LCA4NCwgNzMsIDc1LCA2OSwgODUsIDg0LCAxMjgsIDgyLCA3MywgNjksIDg1LCA3NiwgNDUsIAorICAgIDgwLCA3MywgNjksIDg1LCA4MCwgNDUsIDgzLCA3MywgNzksIDgzLCAxMjgsIDgyLCA3MywgNjksIDg1LCA3NiwgNDUsIDgwLCAKKyAgICA3MywgNjksIDg1LCA4MCwgNDUsIDgwLCA3MiwgNzMsIDY5LCA4NSwgODAsIDcyLCAxMjgsIDgyLCA3MywgNjksIDg1LCA3NiwgCisgICAgNDUsIDgwLCA3MywgNjksIDg1LCA4MCwgNDUsIDcyLCA3MywgNjksIDg1LCA3MiwgMTI4LCA4MiwgNzMsIDY5LCA4NSwgNzYsIAorICAgIDQ1LCA4MCwgNzMsIDY5LCA4NSwgODAsIDEyOCwgODIsIDczLCA2OSwgODUsIDc2LCA0NSwgODAsIDcyLCA3MywgNjksIDg1LCAKKyAgICA4MCwgNzIsIDEyOCwgODIsIDczLCA2OSwgODUsIDc2LCA0NSwgODAsIDY1LCA3OCwgODMsIDczLCA3OSwgODMsIDEyOCwgODIsIAorICAgIDczLCA2OSwgODUsIDc2LCA0NSwgNzgsIDczLCA2OSwgODUsIDc4LCAxMjgsIDgyLCA3MywgNjksIDg1LCA3NiwgNDUsIDc3LCAKKyAgICA3MywgNjksIDg1LCA3NywgNDUsIDgzLCA3MywgNzksIDgzLCAxMjgsIDgyLCA3MywgNjksIDg1LCA3NiwgNDUsIDc3LCA3MywgCisgICAgNjksIDg1LCA3NywgNDUsIDc1LCA3MywgODksIDY5LCA3OSwgNzUsIDEyOCwgODIsIDczLCA2OSwgODUsIDc2LCA0NSwgNzcsIAorICAgIDczLCA2OSwgODUsIDc3LCA0NSwgNzIsIDczLCA2OSwgODUsIDcyLCAxMjgsIDgyLCA3MywgNjksIDg1LCA3NiwgNDUsIDc3LCAKKyAgICA3MywgNjksIDg1LCA3NywgMTI4LCA4MiwgNzMsIDY5LCA4NSwgNzYsIDQ1LCA3NSwgNzMsIDg5LCA2OSwgNzksIDc1LCA0NSwgCisgICAgODMsIDczLCA3OSwgODMsIDEyOCwgODIsIDczLCA2OSwgODUsIDc2LCA0NSwgNzUsIDczLCA4OSwgNjksIDc5LCA3NSwgNDUsIAorICAgIDcyLCA3MywgNjksIDg1LCA3MiwgMTI4LCA4MiwgNzMsIDY5LCA4NSwgNzYsIDQ1LCA3NSwgNzMsIDg5LCA2OSwgNzksIDc1LCAKKyAgICAxMjgsIDgyLCA3MywgNjksIDg1LCA3NiwgNDUsIDc1LCA2NSwgODAsIDg5LCA2OSwgNzksIDg1LCA3OCwgODAsIDczLCA2OSwgCisgICAgODUsIDgwLCAxMjgsIDgyLCA3MywgNjksIDg1LCA3NiwgNDUsIDcyLCA3MywgNjksIDg1LCA3MiwgMTI4LCA4MiwgNzMsIDY5LCAKKyAgICA4NSwgNzYsIDQ1LCA2NywgNzMsIDY5LCA4NSwgNjcsIDEyOCwgODIsIDczLCA2OSwgODUsIDIwNCwgODIsIDczLCA2OSwgNzYsIAorICAgIDEyOCwgODIsIDczLCA2OSwgNjksIDEyOCwgODIsIDczLCA2NywgNjksIDc3LCAxMjgsIDgyLCA3MywgNjcsIDY5LCAxMjgsIAorICAgIDgyLCA3MywgNjcsIDE5NywgODIsIDczLCA2NiwgNjYsIDc5LCA3OCwgMTI4LCA4MiwgNzMsIDY1LCAyMDQsIDgyLCA3MiwgCisgICAgNzksIDg0LCA3MywgMTk1LCA4MiwgNzIsIDc5LCAxMjgsIDgyLCA3MiwgMjA3LCA4MiwgNzIsIDY1LCAxMjgsIDgyLCA3MSwgCisgICAgODksIDczLCA3OCwgNzEsIDgzLCAxMjgsIDgyLCA3MSwgODksIDY1LCA3OCwgMTI4LCA4MiwgNzEsIDg5LCAxOTMsIDgyLCAKKyAgICA2OSwgODYsIDc5LCA3NiwgODYsIDczLCA3OCwgMTk5LCA4MiwgNjksIDg2LCA3OSwgNzYsIDg1LCA4NCwgNzMsIDc5LCA3OCwgCisgICAgMTI4LCA4MiwgNjksIDg2LCA3NywgNjUsIDEyOCwgODIsIDY5LCA4NiwgNzMsIDY1LCAxMjgsIDgyLCA2OSwgODYsIDY5LCAKKyAgICA4MiwgODMsIDY5LCA2OCwgMTI4LCA4MiwgNjksIDg2LCA2OSwgODIsIDgzLCA2OSwgMTk2LCA4MiwgNjksIDg2LCA2OSwgODIsIAorICAgIDgzLCAxOTcsIDgyLCA2OSwgODUsIDg4LCAxMjgsIDgyLCA2OSwgODUsIDEyOCwgODIsIDY5LCA4NCwgODUsIDgyLCA3OCwgCisgICAgMTI4LCA4MiwgNjksIDg0LCA4NSwgODIsIDIwNiwgODIsIDY5LCA4NCwgODIsIDc5LCA3MCwgNzYsIDY5LCAyMTYsIDgyLCAKKyAgICA2OSwgODQsIDgyLCA2OSwgNjUsIDg0LCAxMjgsIDgyLCA2OSwgODQsIDc5LCA4MiwgODQsIDEyOCwgODIsIDY5LCA4MywgODUsIAorICAgIDgwLCA3MywgNzgsIDg1LCA4MywgMTI4LCA4MiwgNjksIDgzLCA4NCwgODIsIDc5LCA3OSwgNzcsIDEyOCwgODIsIDY5LCA4MywgCisgICAgODQsIDgyLCA3MywgNjcsIDg0LCA2OSwgMTk2LCA4MiwgNjksIDgzLCA4NCwgMTI4LCA4MiwgNjksIDgzLCA4MCwgNzksIDc4LCAKKyAgICA4MywgNjksIDEyOCwgODIsIDY5LCA4MywgNzksIDg1LCA4MiwgNjcsIDY5LCAxMjgsIDgyLCA2OSwgODMsIDc5LCA3NiwgODUsIAorICAgIDg0LCA3MywgNzksIDc4LCAxMjgsIDgyLCA2OSwgODMsIDczLCA4MywgODQsIDY1LCA3OCwgNjcsIDY5LCAxMjgsIDgyLCA2OSwgCisgICAgODMsIDczLCA2OCwgNjksIDc4LCA2NywgNjksIDEyOCwgODIsIDY5LCA4MywgMjAwLCA4MiwgNjksIDgyLCA2OSwgNzgsIDcxLCAKKyAgICA3MSwgNjUsIDc4LCAxMjgsIDgyLCA2OSwgODIsIDY5LCA3NSwgNjUsIDc4LCAxMjgsIDgyLCA2OSwgODAsIDgyLCA2OSwgODMsIAorICAgIDY5LCA3OCwgODQsIDEyOCwgODIsIDY5LCA4MCwgNzYsIDY1LCA2NywgNjksIDc3LCA2OSwgNzgsIDIxMiwgODIsIDY5LCA4MCwgCisgICAgNzIsIDEyOCwgODIsIDY5LCA4MCwgNjksIDg0LCA3MywgODQsIDczLCA3OSwgMjA2LCA4MiwgNjksIDgwLCA2OSwgNjUsIDg0LCAKKyAgICA2OSwgMTk2LCA4MiwgNjksIDgwLCA2OSwgNjUsIDg0LCAxMjgsIDgyLCA2OSwgODAsIDY5LCA2NSwgMjEyLCA4MiwgNjksIAorICAgIDgwLCA2NSwgODksIDY1LCAxMjgsIDgyLCA2OSwgODAsIDY1LCAxMjgsIDgyLCA2OSwgODAsIDE5MywgODIsIDY5LCA3OCwgCisgICAgODQsIDc5LCA3MSwgNjksIDc4LCAxMjgsIDgyLCA2OSwgNzgsIDEyOCwgODIsIDY5LCAyMDYsIDgyLCA2OSwgNzcsIDg1LCAKKyAgICAxMjgsIDgyLCA2OSwgNzcsIDY5LCA2OCwgODksIDEyOCwgODIsIDY5LCA3NiwgNzMsIDcxLCA3MywgNzksIDc4LCAxMjgsIAorICAgIDgyLCA2OSwgNzYsIDczLCA2OSwgODYsIDY5LCAxOTYsIDgyLCA2OSwgNzYsIDY5LCA2NSwgODMsIDY5LCAxMjgsIDgyLCA2OSwgCisgICAgNzYsIDY1LCA4NCwgNzMsIDc5LCA3OCwgNjUsIDIwNCwgODIsIDY5LCA3NiwgNjUsIDg0LCA3MywgNzksIDc4LCAxMjgsIDgyLCAKKyAgICA2OSwgNzYsIDY1LCA2NSwgMTI4LCA4MiwgNjksIDc0LCA2NSwgNzgsIDE5OSwgODIsIDY5LCA3MywgMTk2LCA4MiwgNjksIAorICAgIDcxLCA4NSwgNzYsIDg1LCA4MywgNDUsIDUyLCAxMjgsIDgyLCA2OSwgNzEsIDg1LCA3NiwgODUsIDgzLCA0NSwgNTEsIDEyOCwgCisgICAgODIsIDY5LCA3MSwgODUsIDc2LCA4NSwgODMsIDQ1LCA1MCwgMTI4LCA4MiwgNjksIDcxLCA4NSwgNzYsIDg1LCA4MywgMTI4LCAKKyAgICA4MiwgNjksIDcxLCA4NSwgNzYsIDg1LCAyMTEsIDgyLCA2OSwgNzEsIDczLCA4MywgODQsIDY5LCA4MiwgNjksIDE5NiwgODIsIAorICAgIDY5LCA3MSwgNzMsIDc5LCA3OCwgNjUsIDIwNCwgODIsIDY5LCA3MSwgNzMsIDY1LCA0NSwgNTAsIDEyOCwgODIsIDY5LCA3MSwgCisgICAgNzMsIDY1LCAxMjgsIDgyLCA2OSwgNzAsIDc5LCA4MiwgNzcsIDY5LCAxOTYsIDgyLCA2OSwgNzAsIDY5LCA4MiwgNjksIDc4LCAKICAgICA2NywgMTk3LCA4MiwgNjksIDY4LCA4NSwgODAsIDc2LCA3MywgNjcsIDY1LCA4NCwgNzMsIDc5LCA3OCwgMTI4LCA4MiwgNjksIAogICAgIDY3LCA4OSwgNjcsIDc2LCA3MywgNzgsIDE5OSwgODIsIDY5LCA2NywgODksIDY3LCA3NiwgNjksIDE5NiwgODIsIDY5LCA2NywgCiAgICAgODQsIDczLCA3NiwgNzMsIDc4LCA2OSwgNjUsIDIxMCwgODIsIDY5LCA2NywgODQsIDY1LCA3OCwgNzEsIDg1LCA3NiwgNjUsIApAQCAtMTI2NSw1NiArMTM3Nyw1NyBAQAogICAgIDgzLCA4NywgNjUsIDY4LCA3MywgMTI4LCA4MiwgNjUsIDgzLCA3OSwgODUsIDIwNCwgODIsIDY1LCA4MywgNzIsIDY1LCAKICAgICAxMjgsIDgyLCA2NSwgODEsIDEyOCwgODIsIDY1LCA4MCwgNzMsIDgzLCA3NywgNjUsIDEyOCwgODIsIDY1LCA3OCwgNzEsIAogICAgIDE5NywgODIsIDY1LCA3OCwgNjUsIDEyOCwgODIsIDY1LCA3OCwgMTI4LCA4MiwgNjUsIDc3LCAyMTEsIDgyLCA2NSwgNzcsIAotICAgIDY2LCA2NSwgODQsIDEyOCwgODIsIDY1LCA3NSwgNzIsIDY1LCA3OCwgNzEsIDEyOCwgODIsIDY1LCA3MywgODMsIDczLCA3OCwgCi0gICAgMTk5LCA4MiwgNjUsIDczLCA4MywgNjksIDE5NiwgODIsIDY1LCA3MywgNzgsIDY2LCA3OSwgODcsIDEyOCwgODIsIDY1LCAKLSAgICA3MywgNzYsIDg3LCA2NSwgODksIDEyOCwgODIsIDY1LCA3MywgNzYsIDg3LCA2NSwgMjE3LCA4MiwgNjUsIDczLCA3NiwgCi0gICAgMTI4LCA4MiwgNjUsIDczLCA2OCwgMjA3LCA4MiwgNjUsIDczLCA2OCwgNjUsIDEyOCwgODIsIDY1LCA3MywgMTI4LCA4MiwgCi0gICAgNjUsIDcyLCA3NywgNjUsIDg0LCA4NSwgNzYsIDc2LCA2NSwgMjAwLCA4MiwgNjUsIDcwLCA2OSwgMTI4LCA4MiwgNjUsIDY5LCAKLSAgICA3NywgMTI4LCA4MiwgNjUsIDY4LCA3MywgNzksIDY1LCA2NywgODQsIDczLCA4NiwgMTk3LCA4MiwgNjUsIDY4LCA3MywgNzksIAotICAgIDEyOCwgODIsIDY1LCA2OCwgNzMsIDIwNywgODIsIDY1LCA2OCwgMjAxLCA4MiwgNjUsIDY4LCAxMjgsIDgyLCA2NSwgMTk2LCAKLSAgICA4MiwgNjUsIDY3LCA4MSwgODUsIDY5LCAyMTIsIDgyLCA2NSwgNjcsIDczLCA3OCwgNzEsIDEyOCwgODIsIDY1LCA2NiwgNjYsIAotICAgIDczLCA4NCwgMTI4LCA4MiwgNjUsIDY2LCA2NiwgNzMsIDIxMiwgODIsIDY1LCA2NiwgMTI4LCA4MiwgNjUsIDY1LCA3MywgCi0gICAgMTI4LCA4MiwgNjUsIDY1LCAxMjgsIDgyLCA2NSwgNTEsIDEyOCwgODIsIDY1LCA1MCwgMTI4LCA4MiwgNDgsIDUwLCA1NywgCi0gICAgMTI4LCA4MiwgNDgsIDUwLCA1NiwgMTI4LCA4MiwgNDgsIDUwLCA1NSwgMTI4LCA4MiwgNDgsIDUwLCA1NCwgMTI4LCA4MiwgCi0gICAgNDgsIDUwLCA1MywgMTI4LCA4MiwgNDgsIDUwLCA1MiwgMTI4LCA4MiwgNDgsIDUwLCA1MSwgMTI4LCA4MiwgNDgsIDUwLCAKLSAgICA1MCwgMTI4LCA4MiwgNDgsIDUwLCA0OSwgMTI4LCA4MiwgNDgsIDUwLCA0OCwgMTI4LCA4MiwgNDgsIDQ5LCA1NywgMTI4LCAKLSAgICA4MiwgNDgsIDQ5LCA1NiwgMTI4LCA4MiwgNDgsIDQ5LCA1NSwgMTI4LCA4MiwgNDgsIDQ5LCA1NCwgNjUsIDEyOCwgODIsIAotICAgIDQ4LCA0OSwgNTQsIDEyOCwgODIsIDQ4LCA0OSwgNTMsIDEyOCwgODIsIDQ4LCA0OSwgNTIsIDEyOCwgODIsIDQ4LCA0OSwgCi0gICAgNTEsIDEyOCwgODIsIDQ4LCA0OSwgNTAsIDEyOCwgODIsIDQ4LCA0OSwgNDksIDEyOCwgODIsIDQ4LCA0OSwgNDgsIDY1LCAKLSAgICAxMjgsIDgyLCA0OCwgNDksIDQ4LCAxMjgsIDgyLCA0OCwgNDgsIDU3LCAxMjgsIDgyLCA0OCwgNDgsIDU2LCAxMjgsIDgyLCAKLSAgICA0OCwgNDgsIDU1LCAxMjgsIDgyLCA0OCwgNDgsIDU0LCAxMjgsIDgyLCA0OCwgNDgsIDUzLCAxMjgsIDgyLCA0OCwgNDgsIAotICAgIDUyLCAxMjgsIDgyLCA0OCwgNDgsIDUxLCA2NiwgMTI4LCA4MiwgNDgsIDQ4LCA1MSwgNjUsIDEyOCwgODIsIDQ4LCA0OCwgCi0gICAgNTEsIDEyOCwgODIsIDQ4LCA0OCwgNTAsIDY1LCAxMjgsIDgyLCA0OCwgNDgsIDUwLCAxMjgsIDgyLCA0OCwgNDgsIDQ5LCAKLSAgICAxMjgsIDgyLCA0NSwgNjcsIDgyLCA2OSwgMTk3LCA4MSwgODksIDg4LCAxMjgsIDgxLCA4OSwgODUsIDEyOCwgODEsIDg5LCAKLSAgICA4NCwgMTI4LCA4MSwgODksIDgyLCA4OCwgMTI4LCA4MSwgODksIDgyLCAxMjgsIDgxLCA4OSwgODAsIDEyOCwgODEsIDg5LCAKLSAgICA3OSwgMTI4LCA4MSwgODksIDczLCAxMjgsIDgxLCA4OSwgNjksIDY5LCAxMjgsIDgxLCA4OSwgNjksIDEyOCwgODEsIDg5LCAKLSAgICA2NSwgNjUsIDEyOCwgODEsIDg5LCA2NSwgMTI4LCA4MSwgODksIDEyOCwgODEsIDg3LCA3MywgMTI4LCA4MSwgODcsIDY5LCAKLSAgICA2OSwgMTI4LCA4MSwgODcsIDY5LCAxMjgsIDgxLCA4NywgNjUsIDY1LCAxMjgsIDgxLCA4NywgNjUsIDEyOCwgODEsIDg1LCAKLSAgICA4OCwgMTI4LCA4MSwgODUsIDg2LCAxMjgsIDgxLCA4NSwgODUsIDg2LCAxMjgsIDgxLCA4NSwgODUsIDEyOCwgODEsIDg1LCAKLSAgICA4NCwgMTI4LCA4MSwgODUsIDgzLCA3MiwgODMsIDcyLCA2NSwgODksIDY1LCAxMjgsIDgxLCA4NSwgODIsIDg4LCAxMjgsIAotICAgIDgxLCA4NSwgODIsIDEyOCwgODEsIDg1LCA4MCwgMTI4LCA4MSwgODUsIDc5LCA4OCwgMTI4LCA4MSwgODUsIDc5LCA4NCwgCi0gICAgMTk3LCA4MSwgODUsIDc5LCA4NCwgNjUsIDg0LCA3MywgNzksIDIwNiwgODEsIDg1LCA3OSwgODQsIDEyOCwgODEsIDg1LCAKLSAgICA3OSwgODAsIDEyOCwgODEsIDg1LCA3OSwgMTI4LCA4MSwgODUsIDc1LCAxMjgsIDgxLCA4NSwgNzMsIDc4LCA4NCwgNjksIAotICAgIDgzLCA4MywgNjksIDc4LCA2NywgNjksIDEyOCwgODEsIDg1LCA3MywgNzgsIDY4LCA3MywgNjcsIDY5LCA4MywgNzMsIDc3LCAKLSAgICAxOTMsIDgxLCA4NSwgNzMsIDc4LCA2NywgODUsIDc4LCA4OCwgMTI4LCA4MSwgODUsIDczLCA3OCwgNjUsIDgyLCA3MywgODUsIAotICAgIDIxMSwgODEsIDg1LCA3MywgNzYsIDc2LCAxMjgsIDgxLCA4NSwgNzMsIDY3LCAyMDMsIDgxLCA4NSwgNzMsIDEyOCwgODEsIAotICAgIDg1LCA3MCwgMTI4LCA4MSwgODUsIDY5LCA4MywgODQsIDczLCA3OSwgNzgsIDY5LCAxOTYsIDgxLCA4NSwgNjksIDgzLCA4NCwgCi0gICAgNzMsIDc5LCA3OCwgMTI4LCA4MSwgODUsIDY5LCA4MywgODQsIDczLCA3OSwgMjA2LCA4MSwgODUsIDY5LCA2OSwgNzgsIAotICAgIDEyOCwgODEsIDg1LCA2OSwgNjksIDIwNiwgODEsIDg1LCA2OSwgMTI4LCA4MSwgODUsIDY2LCA4NSwgODQsIDgzLCAxMjgsIAotICAgIDgxLCA4NSwgNjUsIDg0LCA2OSwgODIsIDc4LCA3MywgNzksIDIwNiwgODEsIDg1LCA2NSwgODIsIDg0LCA2OSwgODIsIDgzLCAKLSAgICAxMjgsIDgxLCA4NSwgNjUsIDgyLCA4NCwgNjksIDgyLCAyMTEsIDgxLCA4NSwgNjUsIDgyLCA4NCwgNjksIDgyLCAxMjgsIAotICAgIDgxLCA4NSwgNjUsIDgyLCA4NCwgNjksIDIxMCwgODEsIDg1LCA2NSwgNzgsIDg0LCA3MywgODQsIDIxNywgODEsIDg1LCA2NSwgCi0gICAgNjgsIDgyLCA4NSwgODAsIDc2LCAxOTcsIDgxLCA4NSwgNjUsIDY4LCA4MiwgNjUsIDc4LCA4NCwgMTI4LCA4MSwgODUsIDY1LCAKLSAgICA2OCwgODIsIDY1LCA3OCwgMjEyLCA4MSwgODUsIDY1LCA2OCwgMTI4LCA4MSwgODUsIDY1LCAxOTYsIDgxLCA4NSwgNjUsIAotICAgIDEyOCwgODEsIDg1LCAxMjgsIDgxLCAyMDgsIDgxLCA3OSwgODgsIDEyOCwgODEsIDc5LCA4NCwgMTI4LCA4MSwgNzksIDgwLCAKLSAgICA3MiwgMTI4LCA4MSwgNzksIDgwLCA2NSwgMTI4LCA4MSwgNzksIDgwLCAxMjgsIDgxLCA3OSwgNzksIDEyOCwgODEsIDc5LCAKLSAgICAyMDcsIDgxLCA3OSwgNzAsIDEyOCwgODEsIDc5LCAxOTgsIDgxLCA3OSwgNjUsIDEyOCwgODEsIDc5LCAxMjgsIDgxLCA3OCwgCi0gICAgMTI4LCA4MSwgNzMsIDg4LCAxMjgsIDgxLCA3MywgODQsIDgzLCA2NSwgMTI4LCA4MSwgNzMsIDg0LCAxMjgsIDgxLCA3MywgCi0gICAgODAsIDEyOCwgODEsIDczLCA3MywgMTI4LCA4MSwgNzMsIDY5LCA4OCwgMTI4LCA4MSwgNzMsIDY5LCA4NCwgMTI4LCA4MSwgCi0gICAgNzMsIDY5LCA4MCwgMTI4LCA4MSwgNzMsIDY5LCAxMjgsIDgxLCA3MywgMTI4LCA4MSwgNzIsIDg3LCA3MywgMTI4LCA4MSwgCi0gICAgNzIsIDg3LCA2OSwgNjksIDEyOCwgODEsIDcyLCA4NywgNjksIDEyOCwgODEsIDcyLCA4NywgNjUsIDY1LCAxMjgsIDgxLCAKLSAgICA3MiwgODcsIDY1LCAxMjgsIDgxLCA3MiwgODUsIDEyOCwgODEsIDcyLCA3OSwgMTI4LCA4MSwgNzIsIDczLCAxMjgsIDgxLCAKLSAgICA3MiwgNjksIDY5LCAxMjgsIDgxLCA3MiwgNjksIDEyOCwgODEsIDcyLCA2NSwgNjUsIDEyOCwgODEsIDcyLCA2NSwgMTI4LCAKKyAgICA2NiwgNjUsIDg0LCAxMjgsIDgyLCA2NSwgNzUsIDcyLCA2NSwgNzgsIDcxLCAxMjgsIDgyLCA2NSwgNzUsIDY1LCA2NSwgODIsIAorICAgIDY1LCA2NSwgNzgsIDgzLCA2NSwgODksIDY1LCAxMjgsIDgyLCA2NSwgNzMsIDgzLCA3MywgNzgsIDE5OSwgODIsIDY1LCA3MywgCisgICAgODMsIDY5LCAxOTYsIDgyLCA2NSwgNzMsIDc4LCA2NiwgNzksIDg3LCAxMjgsIDgyLCA2NSwgNzMsIDc2LCA4NywgNjUsIDg5LCAKKyAgICAxMjgsIDgyLCA2NSwgNzMsIDc2LCA4NywgNjUsIDIxNywgODIsIDY1LCA3MywgNzYsIDEyOCwgODIsIDY1LCA3MywgNjgsIAorICAgIDIwNywgODIsIDY1LCA3MywgNjgsIDY1LCAxMjgsIDgyLCA2NSwgNzIsIDc3LCA2NSwgODQsIDg1LCA3NiwgNzYsIDY1LCAKKyAgICAyMDAsIDgyLCA2NSwgNzIsIDEyOCwgODIsIDY1LCA3MCwgNjksIDEyOCwgODIsIDY1LCA2OSwgNzcsIDEyOCwgODIsIDY1LCAKKyAgICA2OCwgNzMsIDc5LCA2NSwgNjcsIDg0LCA3MywgODYsIDE5NywgODIsIDY1LCA2OCwgNzMsIDc5LCAxMjgsIDgyLCA2NSwgNjgsIAorICAgIDczLCAyMDcsIDgyLCA2NSwgNjgsIDIwMSwgODIsIDY1LCA2OCwgMTI4LCA4MiwgNjUsIDE5NiwgODIsIDY1LCA2NywgODEsIAorICAgIDg1LCA2OSwgMjEyLCA4MiwgNjUsIDY3LCA3MywgNzgsIDcxLCAxMjgsIDgyLCA2NSwgNjYsIDY2LCA3MywgODQsIDEyOCwgCisgICAgODIsIDY1LCA2NiwgNjYsIDczLCAyMTIsIDgyLCA2NSwgNjYsIDEyOCwgODIsIDY1LCA2NSwgNzMsIDEyOCwgODIsIDY1LCAKKyAgICA1MSwgMTI4LCA4MiwgNjUsIDUwLCAxMjgsIDgyLCA2NSwgNDUsIDUwLCAxMjgsIDgyLCA0OCwgNTAsIDU3LCAxMjgsIDgyLCAKKyAgICA0OCwgNTAsIDU2LCAxMjgsIDgyLCA0OCwgNTAsIDU1LCAxMjgsIDgyLCA0OCwgNTAsIDU0LCAxMjgsIDgyLCA0OCwgNTAsIAorICAgIDUzLCAxMjgsIDgyLCA0OCwgNTAsIDUyLCAxMjgsIDgyLCA0OCwgNTAsIDUxLCAxMjgsIDgyLCA0OCwgNTAsIDUwLCAxMjgsIAorICAgIDgyLCA0OCwgNTAsIDQ5LCAxMjgsIDgyLCA0OCwgNTAsIDQ4LCAxMjgsIDgyLCA0OCwgNDksIDU3LCAxMjgsIDgyLCA0OCwgCisgICAgNDksIDU2LCAxMjgsIDgyLCA0OCwgNDksIDU1LCAxMjgsIDgyLCA0OCwgNDksIDU0LCA2NSwgMTI4LCA4MiwgNDgsIDQ5LCAKKyAgICA1NCwgMTI4LCA4MiwgNDgsIDQ5LCA1MywgMTI4LCA4MiwgNDgsIDQ5LCA1MiwgMTI4LCA4MiwgNDgsIDQ5LCA1MSwgMTI4LCAKKyAgICA4MiwgNDgsIDQ5LCA1MCwgMTI4LCA4MiwgNDgsIDQ5LCA0OSwgMTI4LCA4MiwgNDgsIDQ5LCA0OCwgNjUsIDEyOCwgODIsIAorICAgIDQ4LCA0OSwgNDgsIDEyOCwgODIsIDQ4LCA0OCwgNTcsIDEyOCwgODIsIDQ4LCA0OCwgNTYsIDEyOCwgODIsIDQ4LCA0OCwgCisgICAgNTUsIDEyOCwgODIsIDQ4LCA0OCwgNTQsIDEyOCwgODIsIDQ4LCA0OCwgNTMsIDEyOCwgODIsIDQ4LCA0OCwgNTIsIDEyOCwgCisgICAgODIsIDQ4LCA0OCwgNTEsIDY2LCAxMjgsIDgyLCA0OCwgNDgsIDUxLCA2NSwgMTI4LCA4MiwgNDgsIDQ4LCA1MSwgMTI4LCAKKyAgICA4MiwgNDgsIDQ4LCA1MCwgNjUsIDEyOCwgODIsIDQ4LCA0OCwgNTAsIDEyOCwgODIsIDQ4LCA0OCwgNDksIDEyOCwgODIsIAorICAgIDQ1LCA2NywgODIsIDY5LCAxOTcsIDgxLCA4OSwgODgsIDEyOCwgODEsIDg5LCA4NSwgMTI4LCA4MSwgODksIDg0LCAxMjgsIAorICAgIDgxLCA4OSwgODIsIDg4LCAxMjgsIDgxLCA4OSwgODIsIDEyOCwgODEsIDg5LCA4MCwgMTI4LCA4MSwgODksIDc5LCAxMjgsIAorICAgIDgxLCA4OSwgNzMsIDEyOCwgODEsIDg5LCA2OSwgNjksIDEyOCwgODEsIDg5LCA2OSwgMTI4LCA4MSwgODksIDY1LCA2NSwgCisgICAgMTI4LCA4MSwgODksIDY1LCAxMjgsIDgxLCA4OSwgMTI4LCA4MSwgODcsIDczLCAxMjgsIDgxLCA4NywgNjksIDY5LCAxMjgsIAorICAgIDgxLCA4NywgNjksIDEyOCwgODEsIDg3LCA2NSwgNjUsIDEyOCwgODEsIDg3LCA2NSwgMTI4LCA4MSwgODUsIDg4LCAxMjgsIAorICAgIDgxLCA4NSwgODYsIDEyOCwgODEsIDg1LCA4NSwgODYsIDEyOCwgODEsIDg1LCA4NSwgMTI4LCA4MSwgODUsIDg0LCAxMjgsIAorICAgIDgxLCA4NSwgODMsIDcyLCA4MywgNzIsIDY1LCA4OSwgNjUsIDEyOCwgODEsIDg1LCA4MiwgODgsIDEyOCwgODEsIDg1LCA4MiwgCisgICAgMTI4LCA4MSwgODUsIDgwLCAxMjgsIDgxLCA4NSwgNzksIDg4LCAxMjgsIDgxLCA4NSwgNzksIDg0LCAxOTcsIDgxLCA4NSwgCisgICAgNzksIDg0LCA2NSwgODQsIDczLCA3OSwgMjA2LCA4MSwgODUsIDc5LCA4NCwgMTI4LCA4MSwgODUsIDc5LCA4MCwgMTI4LCAKKyAgICA4MSwgODUsIDc5LCAxMjgsIDgxLCA4NSwgNzUsIDEyOCwgODEsIDg1LCA3MywgNzgsIDg0LCA2OSwgODMsIDgzLCA2OSwgNzgsIAorICAgIDY3LCA2OSwgMTI4LCA4MSwgODUsIDczLCA3OCwgNjgsIDczLCA2NywgNjksIDgzLCA3MywgNzcsIDE5MywgODEsIDg1LCA3MywgCisgICAgNzgsIDY3LCA4NSwgNzgsIDg4LCAxMjgsIDgxLCA4NSwgNzMsIDc4LCA2NSwgODIsIDczLCA4NSwgMjExLCA4MSwgODUsIDczLCAKKyAgICA3NiwgNzYsIDEyOCwgODEsIDg1LCA3MywgNjcsIDIwMywgODEsIDg1LCA3MywgMTI4LCA4MSwgODUsIDcwLCAxMjgsIDgxLCAKKyAgICA4NSwgNjksIDgzLCA4NCwgNzMsIDc5LCA3OCwgNjksIDE5NiwgODEsIDg1LCA2OSwgODMsIDg0LCA3MywgNzksIDc4LCAxMjgsIAorICAgIDgxLCA4NSwgNjksIDgzLCA4NCwgNzMsIDc5LCAyMDYsIDgxLCA4NSwgNjksIDY5LCA3OCwgMTI4LCA4MSwgODUsIDY5LCA2OSwgCisgICAgMjA2LCA4MSwgODUsIDY5LCAxMjgsIDgxLCA4NSwgNjYsIDg1LCA4NCwgODMsIDEyOCwgODEsIDg1LCA2NSwgODQsIDY5LCAKKyAgICA4MiwgNzgsIDczLCA3OSwgMjA2LCA4MSwgODUsIDY1LCA4MiwgODQsIDY5LCA4MiwgODMsIDEyOCwgODEsIDg1LCA2NSwgODIsIAorICAgIDg0LCA2OSwgODIsIDIxMSwgODEsIDg1LCA2NSwgODIsIDg0LCA2OSwgODIsIDEyOCwgODEsIDg1LCA2NSwgODIsIDg0LCA2OSwgCisgICAgMjEwLCA4MSwgODUsIDY1LCA3OCwgODQsIDczLCA4NCwgMjE3LCA4MSwgODUsIDY1LCA2OCwgODIsIDg1LCA4MCwgNzYsIAorICAgIDE5NywgODEsIDg1LCA2NSwgNjgsIDgyLCA2NSwgNzgsIDg0LCAxMjgsIDgxLCA4NSwgNjUsIDY4LCA4MiwgNjUsIDc4LCAKKyAgICAyMTIsIDgxLCA4NSwgNjUsIDY4LCAxMjgsIDgxLCA4NSwgNjUsIDE5NiwgODEsIDg1LCA2NSwgMTI4LCA4MSwgODUsIDEyOCwgCisgICAgODEsIDIwOCwgODEsIDc5LCA4OCwgMTI4LCA4MSwgNzksIDg0LCAxMjgsIDgxLCA3OSwgODAsIDcyLCAxMjgsIDgxLCA3OSwgCisgICAgODAsIDY1LCAxMjgsIDgxLCA3OSwgODAsIDEyOCwgODEsIDc5LCA3OSwgMTI4LCA4MSwgNzksIDIwNywgODEsIDc5LCA3MCwgCisgICAgMTI4LCA4MSwgNzksIDE5OCwgODEsIDc5LCA2NSwgMTI4LCA4MSwgNzksIDEyOCwgODEsIDc4LCAxMjgsIDgxLCA3MywgODgsIAorICAgIDEyOCwgODEsIDczLCA4NCwgODMsIDY1LCAxMjgsIDgxLCA3MywgODQsIDEyOCwgODEsIDczLCA4MCwgMTI4LCA4MSwgNzMsIAorICAgIDczLCAxMjgsIDgxLCA3MywgNjksIDg4LCAxMjgsIDgxLCA3MywgNjksIDg0LCAxMjgsIDgxLCA3MywgNjksIDgwLCAxMjgsIAorICAgIDgxLCA3MywgNjksIDEyOCwgODEsIDczLCAxMjgsIDgxLCA3MiwgODcsIDczLCAxMjgsIDgxLCA3MiwgODcsIDY5LCA2OSwgCisgICAgMTI4LCA4MSwgNzIsIDg3LCA2OSwgMTI4LCA4MSwgNzIsIDg3LCA2NSwgNjUsIDEyOCwgODEsIDcyLCA4NywgNjUsIDEyOCwgCisgICAgODEsIDcyLCA4NSwgMTI4LCA4MSwgNzIsIDc5LCAxMjgsIDgxLCA3MiwgNzMsIDEyOCwgODEsIDcyLCA2OSwgNjksIDEyOCwgCisgICAgODEsIDcyLCA2OSwgMTI4LCA4MSwgNzIsIDY1LCA2NSwgMTI4LCA4MSwgNzIsIDY1LCAxMjgsIDgxLCA3MSwgNjUsIDEyOCwgCiAgICAgODEsIDY5LCA4NCwgNjUsIDc4LCA2NSwgMTI4LCA4MSwgNjksIDY5LCAxMjgsIDgxLCA2OSwgMTI4LCA4MSwgNjUsIDg1LCAKICAgICAxMjgsIDgxLCA2NSwgODQsIDY1LCA3OCwgMTI4LCA4MSwgNjUsIDgyLCA3OCwgNjksIDIxNywgODEsIDY1LCA4MiwgMTI4LCAKICAgICA4MSwgNjUsIDgxLCAxMjgsIDgxLCA2NSwgODAsIDcyLCAxMjgsIDgxLCA2NSwgNzcsIDY1LCA4NCwgODMsIDEyOCwgODEsIApAQCAtMTMyOCwyOTcgKzE0NDEsMzA3IEBACiAgICAgODcsIDc5LCA3OSwgMTI4LCA4MCwgODcsIDc5LCAxMjgsIDgwLCA4NywgMjA3LCA4MCwgODcsIDczLCA3MywgMTI4LCA4MCwgCiAgICAgODcsIDczLCAxMjgsIDgwLCA4NywgNjksIDY5LCAxMjgsIDgwLCA4NywgNjksIDEyOCwgODAsIDg3LCA2NSwgNjUsIDEyOCwgCiAgICAgODAsIDg3LCAxMjgsIDgwLCA4NiwgMTI4LCA4MCwgODUsIDg4LCAxMjgsIDgwLCA4NSwgODUsIDg0LCAxMjgsIDgwLCA4NSwgCi0gICAgODQsIDgyLCA2OSwgNzAsIDY1LCA2NywgODQsIDczLCA3OSwgNzgsIDEyOCwgODAsIDg1LCA4NCwgMTI4LCA4MCwgODUsIAotICAgIDIxMiwgODAsIDg1LCA4MywgNzIsIDgwLCA3MywgNzgsIDEyOCwgODAsIDg1LCA4MywgNzIsIDgwLCA3MywgNzUsIDY1LCAKLSAgICAxMjgsIDgwLCA4NSwgODMsIDcyLCA3MywgNzgsIDE5OSwgODAsIDg1LCA4MiwgODgsIDEyOCwgODAsIDg1LCA4MiwgODMsIAotICAgIDY5LCAxMjgsIDgwLCA4NSwgODIsIDgwLCA3NiwgMTk3LCA4MCwgODUsIDgyLCA3MywgODQsIDg5LCAxMjgsIDgwLCA4NSwgCi0gICAgODIsIDczLCA3MCwgODksIDEyOCwgODAsIDg1LCA4MiwgMTI4LCA4MCwgODUsIDgxLCAxMjgsIDgwLCA4NSwgODAsIDEyOCwgCi0gICAgODAsIDg1LCA3OSwgODgsIDEyOCwgODAsIDg1LCA3OSwgODAsIDEyOCwgODAsIDg1LCA3OSwgMTI4LCA4MCwgODUsIDc4LCAKLSAgICA3MSwgNjUsIDY1LCA3NywgMTI4LCA4MCwgODUsIDc4LCA3MSwgMTI4LCA4MCwgODUsIDc4LCA2NywgODQsIDg1LCA2NSwgODQsIAotICAgIDczLCA3OSwgNzgsIDEyOCwgODAsIDg1LCA3OCwgNjcsIDg0LCA4NSwgNjUsIDg0LCA3MywgNzksIDIwNiwgODAsIDg1LCA3NywgCi0gICAgODAsIDEyOCwgODAsIDg1LCA3NywgMTI4LCA4MCwgODUsIDY5LCAxMjgsIDgwLCA4NSwgNjYsIDc2LCA3MywgMTk1LCA4MCwgCi0gICAgODUsIDY1LCA4MSwgMTI4LCA4MCwgODUsIDY1LCA2OSwgMTI4LCA4MCwgODUsIDUwLCAxMjgsIDgwLCA4NSwgMTI4LCA4MCwgCi0gICAgODQsIDcyLCA2NSwgNzIsIDE5MywgODAsIDg0LCA2OSwgMTI4LCA4MCwgODMsIDczLCA3NiwgMjAxLCA4MCwgODMsIDczLCAKLSAgICA3MCwgNzMsIDgzLCA4NCwgNzksIDgzLCA4OSwgNzgsIDY1LCA3MSwgNzcsIDY1LCAxMjgsIDgwLCA4MywgNzMsIDcwLCA3MywgCi0gICAgODMsIDg0LCA3OSwgODAsIDY1LCA4MiwgNjUsIDc1LCA2NSwgNzYsIDY5LCA4MywgNzcsIDY1LCAxMjgsIDgwLCA4MywgNzMsIAotICAgIDcwLCA3MywgODMsIDg0LCA3OSwgMjA2LCA4MCwgODMsIDczLCA3MCwgNzMsIDgzLCA4NCwgNzksIDc2LCA4OSwgNzEsIDczLCAKLSAgICA4MywgNzcsIDY1LCAxMjgsIDgwLCA4MywgNzMsIDEyOCwgODAsIDgzLCAxMjgsIDgwLCA4MiwgNzksIDg2LCA2OSwgMTI4LCAKLSAgICA4MCwgODIsIDc5LCA4NCwgNzksIDg2LCA2NSwgODIsIDg5LCAyMTEsIDgwLCA4MiwgNzksIDg0LCA3OSwgMjExLCA4MCwgODIsIAotICAgIDc5LCA4MywgNzEsIDY5LCA3MSwgODIsIDY1LCA3NywgNzcsIDY5LCA3OCwgNzMsIDEyOCwgODAsIDgyLCA3OSwgODAsIDc5LCAKLSAgICA4MiwgODQsIDczLCA3OSwgNzgsIDY1LCAyMDQsIDgwLCA4MiwgNzksIDgwLCA3OSwgODIsIDg0LCA3MywgNzksIDc4LCAxMjgsIAotICAgIDgwLCA4MiwgNzksIDgwLCA2OSwgODIsIDg0LCAyMTcsIDgwLCA4MiwgNzksIDgwLCA2OSwgNzYsIDc2LCA2OSwgMjEwLCA4MCwgCi0gICAgODIsIDc5LCA3OSwgNzAsIDEyOCwgODAsIDgyLCA3OSwgNzYsIDc5LCA3OCwgNzEsIDY5LCAxOTYsIDgwLCA4MiwgNzksIDc2LCAKLSAgICA2NSwgODQsIDczLCA3OSwgNzgsIDE5NywgODAsIDgyLCA3OSwgNzQsIDY5LCA2NywgODQsIDczLCA4NiwgNjksIDEyOCwgODAsIAotICAgIDgyLCA3OSwgNzQsIDY5LCA2NywgODQsIDczLCA3OSwgNzgsIDEyOCwgODAsIDgyLCA3OSwgNzEsIDgyLCA2OSwgODMsIDgzLCAKLSAgICAxMjgsIDgwLCA4MiwgNzksIDcwLCA3OSwgODUsIDc4LCA2OCwgMTI4LCA4MCwgODIsIDc5LCA2OCwgODUsIDY3LCA4NCwgCi0gICAgMTI4LCA4MCwgODIsIDc5LCA2OCwgODUsIDY3LCAyMTIsIDgwLCA4MiwgNzMsIDg2LCA2NSwgODQsIDY5LCAxMjgsIDgwLCAKLSAgICA4MiwgNzMsIDgzLCA3MiwgODQsIDcyLCA2NSwgNzcsIDY1LCA4NCwgODIsIDE5MywgODAsIDgyLCA3MywgNzgsIDg0LCA4MywgCi0gICAgMTI4LCA4MCwgODIsIDczLCA3OCwgODQsIDEyOCwgODAsIDgyLCA3MywgNzgsIDIxMiwgODAsIDgyLCA3MywgNzgsIDY3LCAKLSAgICA2OSwgODMsIDgzLCAxMjgsIDgwLCA4MiwgNzMsIDc3LCA2OSwgMTI4LCA4MCwgODIsIDczLCA3NywgMTk3LCA4MCwgODIsIAotICAgIDY5LCA4NiwgNzMsIDc5LCA4NSwgMjExLCA4MCwgODIsIDY5LCA4MywgNjksIDc4LCA4NCwgNjUsIDg0LCA3MywgNzksIDIwNiwgCi0gICAgODAsIDgyLCA2OSwgODMsIDY3LCA4MiwgNzMsIDgwLCA4NCwgNzMsIDc5LCAyMDYsIDgwLCA4MiwgNjksIDgwLCA3OSwgNzgsIAotICAgIDY4LCA2OSwgODIsIDY1LCA3OCwgNjcsIDY5LCAxMjgsIDgwLCA4MiwgNjksIDc4LCA3NSwgNzIsIDY1LCAxMjgsIDgwLCA4MiwgCi0gICAgNjksIDcwLCA2NSwgNjcsIDE5NywgODAsIDgyLCA2OSwgNjcsIDczLCA4MCwgNzMsIDg0LCA2NSwgODQsIDY5LCAxMjgsIDgwLCAKLSAgICA4MiwgNjksIDY3LCA2OSwgNjgsIDczLCA3OCwgMTk5LCA4MCwgODIsIDY5LCA2NywgNjksIDY4LCA2OSwgODMsIDEyOCwgODAsIAotICAgIDgyLCA2OSwgNjcsIDY5LCA2OCwgNjksIDIxMSwgODAsIDgyLCA2OSwgNjcsIDY5LCA2OCwgNjksIDE5NiwgODAsIDgyLCA2OSwgCi0gICAgNjcsIDY5LCA2OCwgNjksIDEyOCwgODAsIDgyLCA2OSwgNjcsIDY5LCA2OCwgMTk3LCA4MCwgODIsIDY1LCA3NywgNDUsIDgwLCAKLSAgICA3MywgNzMsIDEyOCwgODAsIDgyLCA2NSwgNzcsIDQ1LCA4MCwgNzMsIDIwMSwgODAsIDgyLCA2NSwgNzcsIDQ1LCA3NywgODUsIAotICAgIDc5LCA4OSwgMTI4LCA4MCwgODIsIDY1LCA3NywgNDUsIDc3LCA4NSwgNzksIDIxNywgODAsIDgyLCA2NSwgNzcsIDQ1LCA2NiwgCi0gICAgODUsIDc5LCA3OCwgMTI4LCA4MCwgODIsIDY1LCA3NywgNDUsIDY2LCA4NSwgNzksIDIwNiwgODAsIDgyLCA2NSwgNzcsIDQ1LCAKLSAgICA2NiwgNjksIDczLCAxMjgsIDgwLCA4MiwgNjUsIDc3LCA0NSwgNjYsIDY5LCAyMDEsIDgwLCA4MiwgNjUsIDc3LCAxMjgsIAotICAgIDgwLCA4MiwgNjUsIDIwNSwgODAsIDgyLCAxMjgsIDgwLCA4MCwgODYsIDEyOCwgODAsIDgwLCA3NywgMTI4LCA4MCwgODAsIAotICAgIDY1LCAxMjgsIDgwLCA3OSwgODksIDEyOCwgODAsIDc5LCA4OCwgMTI4LCA4MCwgNzksIDg3LCA2OSwgODIsIDIxMSwgODAsIAotICAgIDc5LCA4NywgNjksIDgyLCAxMjgsIDgwLCA3OSwgODcsIDY4LCA2OSwgODIsIDY5LCAxOTYsIDgwLCA3OSwgODcsIDY4LCA2OSwgCi0gICAgODIsIDEyOCwgODAsIDc5LCA4NSwgNzgsIDE5NiwgODAsIDc5LCA4NSwgNzYsIDg0LCA4MiwgMjE3LCA4MCwgNzksIDg1LCAKLSAgICA2NywgNzIsIDEyOCwgODAsIDc5LCA4NCwgNjUsIDg0LCA3OSwgMTI4LCA4MCwgNzksIDg0LCA2NSwgNjYsIDc2LCAxOTcsIAotICAgIDgwLCA3OSwgMjEyLCA4MCwgNzksIDgzLCA4NCwgODAsIDc5LCA4MywgNzMsIDg0LCA3MywgNzksIDIwNiwgODAsIDc5LCA4MywgCi0gICAgODQsIDY2LCA3OSwgODgsIDEyOCwgODAsIDc5LCA4MywgODQsIDY1LCAyMDQsIDgwLCA3OSwgODMsIDg0LCAxMjgsIDgwLCAKLSAgICA3OSwgODMsIDIxMiwgODAsIDc5LCA4MywgODMsIDY5LCA4MywgODMsIDczLCA3OSwgNzgsIDEyOCwgODAsIDc5LCA4MiwgODIsIAotICAgIDY5LCA2NywgODQsIDg1LCA4MywgMTI4LCA4MCwgNzksIDgyLCA4MiwgNjksIDY3LCA4NCwgODUsIDIxMSwgODAsIDc5LCA4MCwgCi0gICAgODAsIDY5LCA4MiwgMTI4LCA4MCwgNzksIDgwLCAxMjgsIDgwLCA3OSwgMjA4LCA4MCwgNzksIDc5LCA2OCwgNzYsIDY5LCAKLSAgICAxMjgsIDgwLCA3OSwgNzksIDEyOCwgODAsIDc5LCA3OCwgNjgsIDc5LCAxMjgsIDgwLCA3OSwgMjA2LCA4MCwgNzksIDc2LCAKLSAgICA3MywgODMsIDcyLCAxMjgsIDgwLCA3OSwgNzYsIDczLCA2NywgMTk3LCA4MCwgNzksIDc2LCAyMDEsIDgwLCA3OSwgNzYsIAotICAgIDY5LCAxMjgsIDgwLCA3OSwgNzYsIDE5NywgODAsIDc5LCA3NSwgODIsIDg5LCA4NCwgNzMsIDY5LCAxMjgsIDgwLCA3OSwgCi0gICAgNzUsIDc5LCA3NCwgNzMsIDEyOCwgODAsIDc5LCA3MywgNzgsIDg0LCAyMTEsIDgwLCA3OSwgNzMsIDc4LCA4NCwgNzksIAotICAgIDEyOCwgODAsIDc5LCA3MywgNzgsIDg0LCA2OSwgODIsIDEyOCwgODAsIDc5LCA3MywgNzgsIDg0LCA2OSwgMTk2LCA4MCwgCi0gICAgNzksIDczLCA3OCwgODQsIDEyOCwgODAsIDc5LCA3MywgNzgsIDIxMiwgODAsIDc5LCA2OSwgODQsIDgyLCAyMTcsIDgwLCAKLSAgICA3OSwgNjksIDg0LCA3MywgMTk1LCA4MCwgNzksIDY4LCA2NSwgODQsIDg1LCA4MywgMTI4LCA4MCwgNzksIDY1LCAxMjgsIAotICAgIDgwLCA3OSwgMTI4LCA4MCwgMjA3LCA4MCwgNzgsIDY5LCA4NSwgNzcsIDY1LCA4NCwgNjUsIDEyOCwgODAsIDc2LCA4NSwgCi0gICAgODQsIDc5LCAxMjgsIDgwLCA3NiwgODUsIDgzLCA0NSwgNzcsIDczLCA3OCwgODUsIDIxMSwgODAsIDc2LCA4NSwgODMsIAotICAgIDEyOCwgODAsIDc2LCA4NSwgODIsIDY1LCA3NiwgMTI4LCA4MCwgNzYsIDg1LCA3NywgNjksIDE5NiwgODAsIDc2LCA4NSwgCi0gICAgNzcsIDEyOCwgODAsIDc2LCA4NSwgNzUsIDEyOCwgODAsIDc2LCA4NSwgNzEsIDEyOCwgODAsIDc2LCA3OSwgODcsIDEyOCwgCi0gICAgODAsIDc2LCA3OSwgODAsIDcyLCA4NSwgMTI4LCA4MCwgNzYsIDY5LCA4NCwgNzIsIDgyLCA3OSwgNzgsIDEyOCwgODAsIDc2LCAKLSAgICA2NSwgODksIDczLCA3OCwgMTk5LCA4MCwgNzYsIDY1LCA4MywgODQsIDczLCA2NywgODMsIDEyOCwgODAsIDc2LCA2NSwgNzgsIAotICAgIDY5LCAxMjgsIDgwLCA3NiwgNjUsIDc4LCAxOTcsIDgwLCA3NiwgNjUsIDc4LCA2NywgMjAzLCA4MCwgNzYsIDY1LCA3NSwgCi0gICAgMTI4LCA4MCwgNzYsIDY1LCA3MSwgNzMsIDc5LCAyMTEsIDgwLCA3NiwgNjUsIDY3LCA2OSwgNzIsIDc5LCA3NiwgNjgsIDY5LCAKLSAgICAyMTAsIDgwLCA3NiwgNjUsIDY3LCAxOTcsIDgwLCA3NiwgNjUsIDEyOCwgODAsIDczLCA5MCwgOTAsIDczLCA2NywgNjUsIAotICAgIDg0LCA3OSwgMTI4LCA4MCwgNzMsIDkwLCA5MCwgNjUsIDEyOCwgODAsIDczLCA4OCwgMTI4LCA4MCwgNzMsIDg3LCA4MiwgCi0gICAgMTI4LCA4MCwgNzMsIDg0LCA2NywgNzIsIDcwLCA3OSwgODIsIDc1LCAxMjgsIDgwLCA3MywgODQsIDY3LCA3MiwgNzAsIDc5LCAKLSAgICA4MiwgMjAzLCA4MCwgNzMsIDg0LCAxMjgsIDgwLCA3MywgODMsIDg0LCA3OSwgNzYsIDEyOCwgODAsIDczLCA4MywgNjksIAotICAgIDc2LCA2OSwgNzIsIDEyOCwgODAsIDczLCA4MywgNjcsIDY5LCA4MywgMTI4LCA4MCwgNzMsIDgyLCA3MywgNzEsIDEyOCwgCi0gICAgODAsIDczLCA4MiwgNzMsIDE5OSwgODAsIDczLCA4MiwgNzMsIDY5LCA2OSwgNzgsIDEyOCwgODAsIDczLCA4MCwgNzMsIDc4LCAKLSAgICA3MSwgMTI4LCA4MCwgNzMsIDgwLCA2NSwgNjksIDc3LCA3MSwgNjYsIDczLCA2OSwgNjksIDEyOCwgODAsIDczLCA4MCwgNjUsIAotICAgIDY5LCA3NywgNjYsIDY1LCAxMjgsIDgwLCA3MywgODAsIDEyOCwgODAsIDczLCA3OCwgODcsIDcyLCA2OSwgNjksIDIwNCwgCi0gICAgODAsIDczLCA3OCwgNjksIDY1LCA4MCwgODAsIDc2LCA2OSwgMTI4LCA4MCwgNzMsIDc4LCAxOTcsIDgwLCA3MywgNzgsIDY1LCAKLSAgICA4MiwgNjYsIDc5LCA4MiwgNjUsIDgzLCAxMjgsIDgwLCA3MywgNzYsIDc2LCAxMjgsIDgwLCA3MywgNzYsIDE5NywgODAsIAotICAgIDczLCA3NiwgNjcsIDgyLCA3OSwgMjE1LCA4MCwgNzMsIDc1LCA4NSwgODIsIDg1LCAxMjgsIDgwLCA3MywgNzUsIDc5LCAKLSAgICAxMjgsIDgwLCA3MywgNzEsIDEyOCwgODAsIDczLCAxOTksIDgwLCA3MywgNjksIDg4LCAxMjgsIDgwLCA3MywgNjksIDg1LCAKLSAgICA4MCwgNDUsIDg0LCA3MiwgNzMsIDY5LCA4NSwgODQsIDcyLCAxMjgsIDgwLCA3MywgNjksIDg1LCA4MCwgNDUsIDgzLCA4MywgCi0gICAgNjUsIDc4LCA3MSwgODMsIDczLCA3OSwgODMsIDEyOCwgODAsIDczLCA2OSwgODUsIDgwLCA0NSwgODMsIDczLCA3OSwgODMsIAotICAgIDQ1LCA4NCwgNzMsIDc1LCA2OSwgODUsIDg0LCAxMjgsIDgwLCA3MywgNjksIDg1LCA4MCwgNDUsIDgzLCA3MywgNzksIDgzLCAKLSAgICA0NSwgODQsIDcyLCA3MywgNjksIDg1LCA4NCwgNzIsIDEyOCwgODAsIDczLCA2OSwgODUsIDgwLCA0NSwgODMsIDczLCA3OSwgCi0gICAgODMsIDQ1LCA4MCwgNzMsIDY5LCA4NSwgODAsIDEyOCwgODAsIDczLCA2OSwgODUsIDgwLCA0NSwgODMsIDczLCA3OSwgODMsIAotICAgIDQ1LCA3NSwgNzMsIDg5LCA2OSwgNzksIDc1LCAxMjgsIDgwLCA3MywgNjksIDg1LCA4MCwgNDUsIDgzLCA3MywgNzksIDgzLCAKLSAgICA0NSwgNjcsIDczLCA2OSwgODUsIDY3LCAxMjgsIDgwLCA3MywgNjksIDg1LCA4MCwgNDUsIDgyLCA3MywgNjksIDg1LCA3NiwgCi0gICAgNDUsIDgwLCA3MiwgNzMsIDY5LCA4NSwgODAsIDcyLCAxMjgsIDgwLCA3MywgNjksIDg1LCA4MCwgNDUsIDgyLCA3MywgNjksIAotICAgIDg1LCA3NiwgMTI4LCA4MCwgNzMsIDY5LCA4NSwgODAsIDQ1LCA3OCwgNzMsIDY5LCA4NSwgNzgsIDEyOCwgODAsIDczLCA2OSwgCi0gICAgODUsIDgwLCA0NSwgNzcsIDczLCA2OSwgODUsIDc3LCAxMjgsIDgwLCA3MywgNjksIDg1LCA4MCwgNDUsIDc1LCA3MiwgNzMsIAotICAgIDY5LCA4NSwgNzUsIDcyLCAxMjgsIDgwLCA3MywgNjksIDg1LCA4MCwgNDUsIDY3LCA3MywgNjksIDg1LCA2NywgMTI4LCA4MCwgCi0gICAgNzMsIDY5LCA4NSwgODAsIDQ1LCA2NywgNzIsIDczLCA2OSwgODUsIDY3LCA3MiwgMTI4LCA4MCwgNzMsIDY5LCA4NSwgMjA4LCAKLSAgICA4MCwgNzMsIDY5LCA4NCwgMTI4LCA4MCwgNzMsIDY5LCA4MCwgMTI4LCA4MCwgNzMsIDY5LCA2OSwgODQsIDEyOCwgODAsIAotICAgIDczLCA2OSwgNjksIDgxLCAxMjgsIDgwLCA3MywgNjksIDY3LCA2OSwgMTI4LCA4MCwgNzMsIDY5LCAxMjgsIDgwLCA3MywgCi0gICAgNjcsIDc1LCA2OSwgODQsIDEyOCwgODAsIDczLCA2NywgNzUsIDEyOCwgODAsIDczLCA2NSwgODMsIDg1LCA4NCwgNzksIDgyLCAKLSAgICA4NSwgMTI4LCA4MCwgNzMsIDY1LCA4MywgNzcsIDE5MywgODAsIDczLCA2NSwgNzgsIDc5LCAxMjgsIDgwLCAyMDEsIDgwLCAKLSAgICA3MiwgODcsIDY1LCAxMjgsIDgwLCA3MiwgODUsIDg0LCA3MiwgNjUsIDc5LCAxMjgsIDgwLCA3MiwgODUsIDIxMCwgODAsIAotICAgIDcyLCA4NSwgNzgsIDcxLCAxMjgsIDgwLCA3MiwgODIsIDY1LCA4MywgNjksIDEyOCwgODAsIDcyLCA3OSwgNzgsIDY5LCA4MywgCi0gICAgMTI4LCA4MCwgNzIsIDc5LCA2OSwgNzgsIDczLCA2NywgNzMsIDY1LCAyMDYsIDgwLCA3MiwgNzksIDY1LCAxMjgsIDgwLCAKLSAgICA3MiwgNzksIDEyOCwgODAsIDcyLCAyMDcsIDgwLCA3MiwgNzgsIDY1LCA2OSwgMjAzLCA4MCwgNzIsIDczLCA3OCwgODQsIAotICAgIDcyLCA4NSwgMTI4LCA4MCwgNzIsIDczLCA3NiwgNzksIDgzLCA3OSwgODAsIDcyLCA2OSwgODIsIDIxMSwgODAsIDcyLCA3MywgCi0gICAgNzYsIDczLCA4MCwgODAsIDczLCA3OCwgMTk3LCA4MCwgNzIsIDczLCA2OSwgODUsIDgwLCA3MiwgNDUsIDg0LCA3MiwgNzMsIAotICAgIDY5LCA4NSwgODQsIDcyLCAxMjgsIDgwLCA3MiwgNzMsIDY5LCA4NSwgODAsIDcyLCA0NSwgODMsIDczLCA3OSwgODMsIDEyOCwgCi0gICAgODAsIDcyLCA3MywgNjksIDg1LCA4MCwgNzIsIDQ1LCA4MCwgNzMsIDY5LCA4NSwgODAsIDEyOCwgODAsIDcyLCA3MywgNjksIAotICAgIDg1LCA4MCwgNzIsIDQ1LCA3MiwgNzMsIDY5LCA4NSwgNzIsIDEyOCwgODAsIDcyLCA3MywgNjksIDg1LCA4MCwgMjAwLCA4MCwgCi0gICAgNzIsIDczLCAxMjgsIDgwLCA3MiwgMjAxLCA4MCwgNzIsIDY5LCA2OSwgMTI4LCA4MCwgNzIsIDY5LCAxMjgsIDgwLCA3MiwgCi0gICAgNjUsIDgzLCA2OSwgNDUsIDE5OCwgODAsIDcyLCA2NSwgODMsIDY5LCA0NSwgMTk0LCA4MCwgNzIsIDY1LCA4MiwgODksIDc4LCAKLSAgICA3MSwgNjksIDY1LCAyMDQsIDgwLCA3MiwgNjUsIDgyLCAxMjgsIDgwLCA3MiwgNjUsIDc4LCAxMjgsIDgwLCA3MiwgNjUsIAotICAgIDc3LCAxMjgsIDgwLCA3MiwgNjUsIDczLCA4MywgODQsIDc5LCAyMTEsIDgwLCA3MiwgNjUsIDcxLCA4MywgNDUsIDgwLCAKLSAgICAxOTMsIDgwLCA3MiwgNjUsIDY1LCA4MiwgNzUsIDY1LCA2NSwgMTI4LCA4MCwgNzIsIDY1LCA2NSwgMTI4LCA4MCwgNzIsIAotICAgIDY1LCAxMjgsIDgwLCA3MSwgMTI4LCA4MCwgNzAsIDEyOCwgODAsIDY5LCA4NSwgODgsIDEyOCwgODAsIDY5LCA4NSwgODQsIAotICAgIDY1LCA2OSwgMTI4LCA4MCwgNjksIDg1LCA4NCwgMTI4LCA4MCwgNjksIDg0LCA2NSwgODMsIDg0LCA3OSwgNzUsIDc5LCA4NSwgCi0gICAgNzAsIDczLCA4MywgNzcsIDY1LCAxMjgsIDgwLCA2OSwgODQsIDY1LCA4MywgODQsIDczLCAxMjgsIDgwLCA2OSwgODQsIDY1LCAKLSAgICA4MywgNzcsIDY1LCAxMjgsIDgwLCA2OSwgODQsIDY1LCA3NiwgNzYsIDY5LCAxOTYsIDgwLCA2OSwgODMsIDc5LCAxMjgsIAotICAgIDgwLCA2OSwgODMsIDIwNywgODAsIDY5LCA4MywgNzIsIDUwLCAxMjgsIDgwLCA2OSwgODMsIDY5LCA4NCwgMTkzLCA4MCwgCi0gICAgNjksIDIxMSwgODAsIDY5LCA4MiwgODQsIDcyLCAyMDcsIDgwLCA2OSwgODIsIDgzLCA4MCwgNjksIDY3LCA4NCwgNzMsIDg2LCAKLSAgICA2OSwgMTI4LCA4MCwgNjksIDgyLCA4MywgNzksIDc4LCA2NSwgMjA0LCA4MCwgNjksIDgyLCA4MywgNzksIDc4LCAxMjgsIAotICAgIDgwLCA2OSwgODIsIDgzLCA3OSwgMjA2LCA4MCwgNjksIDgyLCA4MywgNzMsIDY1LCAyMDYsIDgwLCA2OSwgODIsIDgzLCA2OSwgCi0gICAgODYsIDY5LCA4MiwgNzMsIDc4LCAxOTksIDgwLCA2OSwgODIsIDgwLCA2OSwgNzgsIDY4LCA3MywgNjcsIDg1LCA3NiwgNjUsIAotICAgIDgyLCAxMjgsIDgwLCA2OSwgODIsIDgwLCA2OSwgNzgsIDY4LCA3MywgNjcsIDg1LCA3NiwgNjUsIDIxMCwgODAsIDY5LCA4MiwgCi0gICAgNzcsIDY1LCA3OCwgNjksIDc4LCAyMTIsIDgwLCA2OSwgODIsIDczLCA4MywgODAsIDc5LCA3NywgNjksIDc4LCA3MywgMTI4LCAKLSAgICA4MCwgNjksIDgyLCA3MywgODMsIDgwLCA3OSwgNzcsIDY5LCA3OCwgMjAxLCA4MCwgNjksIDgyLCA3MCwgNzksIDgyLCA3NywgCi0gICAgNzMsIDc4LCAxOTksIDgwLCA2OSwgODIsIDcwLCA2OSwgNjcsIDg0LCA4NSwgMjA1LCA4MCwgNjksIDgyLCA3MCwgNjksIDY3LCAKLSAgICA4NCwgNjUsIDEyOCwgODAsIDY5LCA4MiwgNzAsIDY5LCA2NywgODQsIDE5MywgODAsIDY5LCA4MiwgNjcsIDg1LCA4MywgODMsIAotICAgIDczLCA4NiwgNjksIDEyOCwgODAsIDY5LCA4MiwgNjcsIDY5LCA3OCwgMjEyLCA4MCwgNjksIDgwLCA2OSwgODQsIDEyOCwgCi0gICAgODAsIDY5LCA4MCwgNjksIDIxMiwgODAsIDY5LCA3OSwgODIsIDg0LCAyMDAsIDgwLCA2OSwgNzksIDgwLCA3NiwgNjksIAotICAgIDEyOCwgODAsIDY5LCA3OCwgODQsIDY1LCA4MywgNjksIDc3LCA2OSwgMTI4LCA4MCwgNjksIDc4LCA4NCwgNjUsIDcxLCA4MiwgCi0gICAgNjUsIDc3LCAxMjgsIDgwLCA2OSwgNzgsIDg0LCA2NSwgNzEsIDc5LCA3OCwgMTI4LCA4MCwgNjksIDc4LCA4MywgODUsIAotICAgIDEyOCwgODAsIDY5LCA3OCwgODMsIDczLCA4NiwgMTk3LCA4MCwgNjksIDc4LCA3OCwgMjE3LCA4MCwgNjksIDc4LCA3MywgCi0gICAgNzIsIDczLCAxMjgsIDgwLCA2OSwgNzgsIDcxLCA4NSwgNzMsIDc4LCAxMjgsIDgwLCA2OSwgNzgsIDcxLCA3NSwgNjUsIDc2LCAKLSAgICAxMjgsIDgwLCA2OSwgNzgsIDY5LCA4NCwgODIsIDY1LCA4NCwgNzMsIDc5LCA3OCwgMTI4LCA4MCwgNjksIDc4LCA2NywgNzMsIAotICAgIDc2LCAxMjgsIDgwLCA2OSwgNzYsIDY1LCA4MywgODQsIDc5LCA3OCwgMTI4LCA4MCwgNjksIDc2LCA2NSwgODMsIDg0LCA3OSwgCi0gICAgMjA2LCA4MCwgNjksIDczLCA4NCwgNzIsIDEyOCwgODAsIDY5LCA3MiwgNjksIDcyLCAxMjgsIDgwLCA2OSwgNzIsIDY5LCAKLSAgICAyMDAsIDgwLCA2OSwgNzIsIDEyOCwgODAsIDY5LCAyMDAsIDgwLCA2OSwgNjksIDkwLCA3MywgMTI4LCA4MCwgNjksIDY5LCAKLSAgICA4MywgNzIsIDczLCAxMjgsIDgwLCA2OSwgNjksIDgwLCAxMjgsIDgwLCA2OSwgNjksIDc3LCAxMjgsIDgwLCA2OSwgNjksIAotICAgIDEyOCwgODAsIDY5LCA2OCwgNjksIDgzLCA4NCwgODIsIDczLCA2NSwgNzgsIDgzLCAxMjgsIDgwLCA2OSwgNjgsIDY5LCA4MywgCi0gICAgODQsIDgyLCA3MywgNjUsIDc4LCAxMjgsIDgwLCA2OSwgNjgsIDY5LCA4MywgODQsIDY1LCA3NiwgMTI4LCA4MCwgNjksIDY4LCAKLSAgICA2OSwgODMsIDg0LCA2NSwgMjA0LCA4MCwgNjksIDY4LCA2NSwgMjA0LCA4MCwgNjksIDY1LCA2NywgNzIsIDEyOCwgODAsIAotICAgIDY5LCA2NSwgNjcsIDY5LCAxMjgsIDgwLCA2OSwgNjUsIDY3LCAxOTcsIDgwLCA2OCwgMTI4LCA4MCwgNjcsIDEyOCwgODAsIAotICAgIDY1LCA5MCwgNjksIDgyLCAxMjgsIDgwLCA2NSwgODksIDY5LCA4MiwgNzksIDc1LCAxMjgsIDgwLCA2NSwgODksIDY1LCA3OCwgCi0gICAgNzgsIDY1LCAxMjgsIDgwLCA2NSwgODksIDEyOCwgODAsIDY1LCA4OCwgMTI4LCA4MCwgNjUsIDg3LCA3OCwgMTI4LCA4MCwgCi0gICAgNjUsIDIxNSwgODAsIDY1LCA4NiwgNzMsIDg5LCA2NSwgNzgsIDczLCAxMjgsIDgwLCA2NSwgODQsIDg0LCA2OSwgODIsIDc4LCAKLSAgICAxMjgsIDgwLCA2NSwgODQsIDcyLCA2NSwgNzcsIDY1LCA4MywgNjUsIDg0LCAxMjgsIDgwLCA2NSwgODQsIDIwMCwgODAsIAotICAgIDY1LCA4NCwgNjUsIDc1LCAxMjgsIDgwLCA2NSwgODQsIDY1LCA3MiwgMTI4LCA4MCwgNjUsIDg0LCAxMjgsIDgwLCA2NSwgCi0gICAgODMsIDg1LCA4MSwgMTI4LCA4MCwgNjUsIDgzLCA4MywgODAsIDc5LCA4MiwgMjEyLCA4MCwgNjUsIDgzLCA4MywgNzMsIDg2LCAKLSAgICA2OSwgNDUsIDgwLCA4NSwgNzYsIDc2LCA0NSwgODUsIDgwLCA0NSwgNzksIDg1LCA4NCwgODAsIDg1LCAyMTIsIDgwLCA2NSwgCi0gICAgODMsIDgzLCA3MywgODYsIDY5LCA0NSwgODAsIDg1LCA3NiwgNzYsIDQ1LCA2OCwgNzksIDg3LCA3OCwgNDUsIDc5LCA4NSwgCi0gICAgODQsIDgwLCA4NSwgMjEyLCA4MCwgNjUsIDgzLCA3MiwgODQsIDY1LCAxMjgsIDgwLCA2NSwgODMsIDcyLCA2NSwgNjksIAotICAgIDEyOCwgODAsIDY1LCA4MywgNjksIDgxLCAxMjgsIDgwLCA2NSwgODIsIDg1LCA3NywgMTI4LCA4MCwgNjUsIDgyLCA4NCwgCi0gICAgMjE3LCA4MCwgNjUsIDgyLCA4NCwgNzgsIDY5LCA4MiwgODMsIDcyLCA3MywgMjA4LCA4MCwgNjUsIDgyLCA4NCwgNzMsIDY1LCAKLSAgICA3NiwgNzYsIDg5LCA0NSwgODIsIDY5LCA2NywgODksIDY3LCA3NiwgNjksIDE5NiwgODAsIDY1LCA4MiwgODQsIDczLCA2NSwgCi0gICAgMjA0LCA4MCwgNjUsIDgyLCA4NCwgNzIsIDczLCA2NSwgMjA2LCA4MCwgNjUsIDgyLCAyMTIsIDgwLCA2NSwgODIsIDczLCAKLSAgICA2NywgNzIsIDc5LCA3OCwgMTI4LCA4MCwgNjUsIDgyLCA2OSwgODMsIDg0LCA3MywgNzEsIDc3LCA2OSwgNzgsIDc5LCAyMDYsIAotICAgIDgwLCA2NSwgODIsIDY5LCA4MiwgNjksIDc4LCAxMjgsIDgwLCA2NSwgODIsIDY5LCA3OCwgODQsIDcyLCA2OSwgODMsIDczLCAKLSAgICA4MywgMTI4LCA4MCwgNjUsIDgyLCA2OSwgNzgsIDg0LCA3MiwgNjksIDgzLCA3MywgMjExLCA4MCwgNjUsIDgyLCA2NSwgODAsIAotICAgIDcyLCA4MiwgNjUsIDgzLCAxOTcsIDgwLCA2NSwgODIsIDY1LCA3NiwgNzYsIDY5LCA3NiwgNzksIDcxLCA4MiwgNjUsIDc3LCAKLSAgICAxMjgsIDgwLCA2NSwgODIsIDY1LCA3NiwgNzYsIDY5LCA3NiwgMTI4LCA4MCwgNjUsIDgyLCA2NSwgNzYsIDc2LCA2OSwgCi0gICAgMjA0LCA4MCwgNjUsIDgyLCA2NSwgNzUsIDc2LCA3MywgODQsIDczLCA3NSwgNzMsIDEyOCwgODAsIDY1LCA4MiwgNjUsIDc1LCAKLSAgICA3NiwgNzMsIDg0LCA3MywgNzUsIDIwMSwgODAsIDY1LCA4MiwgNjUsIDc1LCA2NSwgNzYsIDY5LCA4MywgNzcsIDE5MywgODAsIAotICAgIDY1LCA4MiwgNjUsIDcxLCA4MiwgNjUsIDgwLCA3MiwgNzksIDgzLCAxMjgsIDgwLCA2NSwgODIsIDY1LCA3MSwgODIsIDY1LCAKLSAgICA4MCwgNzIsIDEyOCwgODAsIDY1LCA4MiwgNjUsIDcxLCA4MiwgNjUsIDgwLCAyMDAsIDgwLCA2NSwgODIsIDY1LCAxMjgsIAotICAgIDgwLCA2NSwgODIsIDEyOCwgODAsIDY1LCA4MCwgODksIDgyLCA4NSwgODMsIDEyOCwgODAsIDY1LCA4MCwgNjksIDgyLCA2NywgCi0gICAgNzYsIDczLCA4MCwgMTI4LCA4MCwgNjUsIDgwLCA2OSwgMjEwLCA4MCwgNjUsIDgwLCAxMjgsIDgwLCA2NSwgMjA4LCA4MCwgCi0gICAgNjUsIDIwNywgODAsIDY1LCA3OCwgODksIDg1LCA3NSwgODUsIDEyOCwgODAsIDY1LCA3OCwgODksIDczLCA3NSwgODUsIAotICAgIDEyOCwgODAsIDY1LCA3OCwgODksIDY5LCA2NywgNjksIDc1LCAxMjgsIDgwLCA2NSwgNzgsIDg5LCA2NSwgNzgsIDcxLCA3MSwgCi0gICAgNjUsIDEyOCwgODAsIDY1LCA3OCwgODksIDY1LCA3NSwgODIsIDY1LCAxMjgsIDgwLCA2NSwgNzgsIDg0LCA3MywgMTI4LCAKLSAgICA4MCwgNjUsIDc4LCA4MywgNzMsIDc5LCA4MywgNDUsIDgwLCA3MywgNjksIDg1LCA4MCwgMTI4LCA4MCwgNjUsIDc4LCA4MywgCi0gICAgNzMsIDc5LCA4MywgNDUsIDc1LCA2NSwgODAsIDg5LCA2OSwgNzksIDg1LCA3OCwgODAsIDczLCA2OSwgODUsIDgwLCAxMjgsIAotICAgIDgwLCA2NSwgNzgsIDc5LCA3OCwgNzEsIDc5LCA3OCwgNjUsIDc4LCAxMjgsIDgwLCA2NSwgNzgsIDc5LCA3NiwgNzksIDc4LCAKLSAgICA3MSwgMTI4LCA4MCwgNjUsIDc4LCA3MSwgODcsIDczLCA4MywgNjUsIDY4LCAxMjgsIDgwLCA2NSwgNzgsIDcxLCA4MiwgNjUsIAotICAgIDc4LCA3MSwgNzUsIDY5LCA4MCwgMTI4LCA4MCwgNjUsIDc4LCA3MSwgNzksIDc2LCA2NSwgODQsIDEyOCwgODAsIDY1LCA3OCwgCi0gICAgNzEsIDc2LCA2NSwgODksIDY1LCA4MiwgMTI4LCA4MCwgNjUsIDc4LCA3MSwgNzUsIDc5LCA3OCwgMTI4LCA4MCwgNjUsIDc4LCAKLSAgICA3MSwgNzUsIDY1LCA4NCwgMTI4LCA4MCwgNjUsIDc4LCA3MSwgNzIsIDg1LCA3NiwgODUsIDEyOCwgODAsIDY1LCA3OCwgNzEsIAotICAgIDEyOCwgODAsIDY1LCA3OCwgNjksIDg1LCA3NiwgNjksIDg1LCA3OCwgNzEsIDEyOCwgODAsIDY1LCA3OCwgNjgsIDE5MywgCi0gICAgODAsIDY1LCA3OCwgNjUsIDY5LCA3NiwgNjUsIDY5LCA3OCwgNzEsIDEyOCwgODAsIDY1LCA3OCwgMTI4LCA4MCwgNjUsIDc3LCAKLSAgICA4NSwgNzgsIDcxLCA3NSwgNjUsIDcyLCAxMjgsIDgwLCA2NSwgNzcsIDg1LCA2OCwgODAsIDc5LCA2OCwgMTI4LCA4MCwgNjUsIAotICAgIDc3LCA4MywgNzIsIDY1LCA2OSwgMTI4LCA4MCwgNjUsIDc3LCA4MCwgNzIsIDg5LCA3NiwgNzMsIDY1LCAyMDYsIDgwLCA2NSwgCi0gICAgNzcsIDczLCA3OCwgNzEsIDc1LCA2NSwgNzYsIDEyOCwgODAsIDY1LCA3NywgNjksIDgwLCA2OSwgODQsIDEyOCwgODAsIDY1LCAKLSAgICA3NywgNjksIDc4LCA2OSwgNzgsIDcxLCAxMjgsIDgwLCA2NSwgNzcsIDY1LCA2OCwgNjUsIDEyOCwgODAsIDY1LCA3NywgNjUsIAotICAgIDY1LCA2OSwgNzIsIDEyOCwgODAsIDY1LCA3NiwgODUsIDg0LCA2NSwgMTI4LCA4MCwgNjUsIDc2LCA3OSwgNjcsIDcyLCA3NSwgCi0gICAgNjUsIDEyOCwgODAsIDY1LCA3NiwgMjA1LCA4MCwgNjUsIDc2LCA3NiwgNjUsIDg3LCA2NSwgMTI4LCA4MCwgNjUsIDc2LCAKLSAgICA3NiwgNjUsIDgzLCAxMjgsIDgwLCA2NSwgNzYsIDY5LCA4NCwgODQsIDY5LCAxMjgsIDgwLCA2NSwgNzYsIDY1LCA4NSwgNzgsIAotICAgIDE5OSwgODAsIDY1LCA3NiwgNjUsIDg0LCA2NSwgNzYsIDczLCA5MCwgNjksIDE5NiwgODAsIDY1LCA3NiwgNjUsIDg0LCA2NSwgCi0gICAgNzYsIDczLCA5MCwgNjUsIDg0LCA3MywgNzksIDc4LCAxMjgsIDgwLCA2NSwgNzYsIDY1LCA4NCwgNjUsIDIwNCwgODAsIDY1LCAKLSAgICA3NSwgODAsIDY1LCAyMDMsIDgwLCA2NSwgNzMsIDg5LCA2NSwgNzgsIDc4LCA3OSwgNzMsIDEyOCwgODAsIDY1LCA3MywgODIsIAotICAgIDg0LCA3MiwgODIsIDY1LCAxMjgsIDgwLCA2NSwgNzMsIDgyLCA2OSwgMTk2LCA4MCwgNjUsIDcyLCA3NiwgNjUsIDg2LCAKLSAgICAyMDEsIDgwLCA2NSwgNzEsIDY5LCA4MiwgMTI4LCA4MCwgNjUsIDcxLCAxOTcsIDgwLCA2NSwgNjgsIDc3LCAxOTMsIDgwLCAKLSAgICA2NSwgNjgsIDE5MywgODAsIDY1LCA2OCwgMTI4LCA4MCwgNjUsIDY3LCA3NSwgNzMsIDc4LCA3MSwgMTI4LCA4MCwgNjUsIAotICAgIDY3LCA3NSwgNjUsIDcxLCA2OSwgMTI4LCA4MCwgNjUsIDY1LCA4NCwgODUsIDEyOCwgODAsIDY1LCA2NSwgODMsIDY5LCA3OCwgCi0gICAgODQsIDc5LCAxMjgsIDgwLCA2NSwgNjUsIDgyLCA2NSwgNjksIDEyOCwgODAsIDY1LCA2NSwgNzcsIDEyOCwgODAsIDY1LCAKLSAgICA2NSwgNzMsIDEyOCwgODAsIDY1LCA2NSwgNDUsIDgwLCA3MywgNzYsIDc2LCA2NSwgMTI4LCA4MCwgNjUsIDY1LCAxMjgsIAotICAgIDgwLCA1MCwgMTI4LCA4MCwgNDgsIDQ5LCA0OSwgMTI4LCA4MCwgNDgsIDQ5LCA0OCwgMTI4LCA4MCwgNDgsIDQ4LCA1NywgCi0gICAgMTI4LCA4MCwgNDgsIDQ4LCA1NiwgMTI4LCA4MCwgNDgsIDQ4LCA1NSwgMTI4LCA4MCwgNDgsIDQ4LCA1NCwgMTI4LCA4MCwgCi0gICAgNDgsIDQ4LCA1MywgMTI4LCA4MCwgNDgsIDQ4LCA1MiwgMTI4LCA4MCwgNDgsIDQ4LCA1MSwgNjUsIDEyOCwgODAsIDQ4LCAKLSAgICA0OCwgNTEsIDEyOCwgODAsIDQ4LCA0OCwgNTAsIDEyOCwgODAsIDQ4LCA0OCwgNDksIDY1LCAxMjgsIDgwLCA0OCwgNDgsIAotICAgIDQ5LCAxMjgsIDc5LCA4OSwgODIsIDY1LCA3OCwgNzMsIDgzLCA3NywgMTkzLCA3OSwgODksIDY1LCA3OCwgNzgsIDY1LCAKLSAgICAxMjgsIDc5LCA4OCwgNzMsIDY1LCAxMjgsIDc5LCA4OCwgNzMsIDE5MywgNzksIDg4LCA2OSwgNzMsIDY1LCAyMDEsIDc5LCAKLSAgICA4OCwgNjksIDczLCAxOTMsIDc5LCA4NiwgNjksIDgyLCA4MiwgNzMsIDY4LCA2OSwgMTI4LCA3OSwgODYsIDY5LCA4MiwgNzYsIAotICAgIDc5LCA3OCwgMTk5LCA3OSwgODYsIDY5LCA4MiwgNzYsIDczLCA3OCwgNjksIDEyOCwgNzksIDg2LCA2OSwgODIsIDc2LCA2NSwgCi0gICAgODksIDEyOCwgNzksIDg2LCA2OSwgODIsIDc2LCA2NSwgODAsIDgwLCA3MywgNzgsIDE5OSwgNzksIDg2LCA2OSwgODIsIDc2LCAKLSAgICA2NSwgNzMsIDY4LCAxMjgsIDc5LCA4NiwgNjksIDgyLCA2NiwgNjUsIDgyLCAxMjgsIDc5LCA4NiwgNjUsIDIwNCwgNzksIAotICAgIDg2LCAxMjgsIDc5LCA4NSwgODQsIDc2LCA3MywgNzgsIDY5LCAxOTYsIDc5LCA4NSwgODQsIDc2LCA3MywgNzgsIDY5LCAKLSAgICAxMjgsIDc5LCA4NSwgODQsIDY5LCAyMTAsIDc5LCA4NSwgODQsIDY2LCA3OSwgMjE2LCA3OSwgODUsIDc4LCA3NSwgNzMsIAotICAgIDE5MywgNzksIDg1LCA3OCwgNjcsIDY5LCAxMjgsIDc5LCA4NSwgNzgsIDY3LCAxOTcsIDc5LCA4NCwgODUsIDEyOCwgNzksIAotICAgIDg0LCA4NCwgNjUsIDg2LCAxOTMsIDc5LCA4NCwgODQsIDEyOCwgNzksIDg0LCA3MiwgNjUsIDc2LCA2NSwgMjA2LCA3OSwgCi0gICAgODQsIDcyLCA2NSwgNzYsIDEyOCwgNzksIDgzLCA3NywgNjUsIDc4LCA4OSwgMTkzLCA3OSwgODIsIDg0LCA3MiwgNzksIDcxLCAKLSAgICA3OSwgNzgsIDY1LCAyMDQsIDc5LCA4MiwgODQsIDcyLCA3OSwgNjgsIDc5LCAyMTYsIDc5LCA4MiwgNzgsIDY1LCA4NCwgCi0gICAgMTk3LCA3OSwgODIsIDc4LCA2NSwgNzcsIDY5LCA3OCwgODQsIDEyOCwgNzksIDgyLCA3OCwgNjUsIDc3LCA2OSwgNzgsIAotICAgIDIxMiwgNzksIDgyLCA3NSwgNzIsIDc5LCAyMDYsIDc5LCA4MiwgNzMsIDcxLCA3MywgNzgsIDY1LCAyMDQsIDc5LCA4MiwgCi0gICAgNzMsIDcxLCA3MywgNzgsIDEyOCwgNzksIDgyLCA2OSwgNDUsIDUwLCAxMjgsIDc5LCA4MiwgNjgsIDczLCA3OCwgNjUsIAotICAgIDIwNCwgNzksIDgyLCA2NywgNzIsIDczLCA2OCwgMTI4LCA3OSwgODIsIDY1LCA3OCwgNzEsIDE5NywgNzksIDgwLCA4NCwgCi0gICAgNzMsIDc5LCAyMDYsIDc5LCA4MCwgODQsIDczLCA2NywgNjUsIDIwNCwgNzksIDgwLCA4MCwgODIsIDY5LCA4MywgODMsIDczLCAKLSAgICA3OSwgNzgsIDEyOCwgNzksIDgwLCA4MCwgNzksIDgzLCA3MywgODQsIDczLCA3OSwgNzgsIDEyOCwgNzksIDgwLCA4MCwgNzksIAotICAgIDgzLCA3MywgNzgsIDE5OSwgNzksIDgwLCA4MCwgNzksIDgzLCA2OSwgMTI4LCA3OSwgODAsIDcyLCA3MywgODUsIDY3LCA3MiwgCi0gICAgODUsIDgzLCAxMjgsIDc5LCA4MCwgNjksIDgyLCA2NSwgODQsIDc5LCA4MiwgMTI4LCA3OSwgODAsIDY5LCA4MiwgNjUsIDg0LCAKLSAgICA3OSwgMjEwLCA3OSwgODAsIDY5LCA3OCwgNzMsIDc4LCAxOTksIDc5LCA4MCwgNjksIDc4LCA0NSwgODAsIDEyOCwgNzksIAotICAgIDgwLCA2OSwgNzgsIDQ1LCA3OSwgODUsIDg0LCA3NiwgNzMsIDc4LCA2OSwgMTk2LCA3OSwgODAsIDY5LCA3OCwgNDUsIDcyLCAKLSAgICA2OSwgNjUsIDY4LCA2OSwgMTk2LCA3OSwgODAsIDY5LCA3OCwgNDUsIDY3LCA3MywgODIsIDY3LCA4NSwgNzMsIDg0LCA0NSwgCi0gICAgNzksIDg1LCA4NCwgODAsIDg1LCAyMTIsIDc5LCA4MCwgNjksIDIwNiwgNzksIDc5LCA5MCwgNjksIDEyOCwgNzksIDc5LCAKLSAgICA4OSwgNjUsIDc4LCA3OCwgNjUsIDEyOCwgNzksIDc5LCA4NSwgMTI4LCA3OSwgNzksIDc3LCA4NSwgMTI4LCA3OSwgNzksIAotICAgIDY5LCAxMjgsIDc5LCA3OSwgNjYsIDc5LCA3OSwgNzAsIDczLCA3NiwgNzMsIDEyOCwgNzksIDc4LCA4NSwgMTI4LCA3OSwgCi0gICAgNzgsIDgzLCA4NSwgMTI4LCA3OSwgNzgsIDc4LCAxMjgsIDc5LCA3OCwgNzUsIDY1LCA4MiwgMTI4LCA3OSwgNzgsIDY5LCAKLSAgICA4MywgNjksIDc2LCA3MCwgMTI4LCA3OSwgNzgsIDY5LCA0NSwgODcsIDY1LCAyMTcsIDc5LCA3OCwgNjksIDQ1LCA4NCwgNzIsIAotICAgIDczLCA4MiwgODQsIDg5LCAxMjgsIDc5LCA3OCwgNjksIDQ1LCA3NiwgNzMsIDc4LCAxOTcsIDc5LCA3OCwgNjcsIDc5LCA3NywgCi0gICAgNzMsIDc4LCAxOTksIDc5LCA3OCwgNjUsIDgwLCAxMjgsIDc5LCA3NywgNzMsIDgzLCA4MywgNzMsIDc5LCAyMDYsIDc5LCAKLSAgICA3NywgNzMsIDY3LCA4MiwgNzksIDc4LCAxMjgsIDc5LCA3NywgNzMsIDY3LCA4MiwgNzksIDIwNiwgNzksIDc3LCA2OSwgNzEsIAotICAgIDY1LCAxMjgsIDc5LCA3NywgNjksIDcxLCAxOTMsIDc5LCA3NywgNjUsIDc2LCA3OSwgNzgsIDEyOCwgNzksIDc2LCA3MywgCi0gICAgODYsIDY5LCAxMjgsIDc5LCA3NiwgNzMsIDcxLCA3OSwgMjA2LCA3OSwgNzYsIDY4LCAxMjgsIDc5LCA3NSwgODQsIDIwNywgCi0gICAgNzksIDc1LCA2NSwgODIsIDY1LCAxMjgsIDc5LCA3NSwgNjUsIDgyLCAxOTMsIDc5LCA3NCwgNzMsIDY2LCA4NywgNjUsIAotICAgIDIxNywgNzksIDc0LCA2OSwgNzksIDc4LCAxMjgsIDc5LCA3MywgNzYsIDEyOCwgNzksIDcyLCA3NywgMTI4LCA3OSwgNzIsIAotICAgIDIwNSwgNzksIDcyLCAxMjgsIDc5LCA3MSwgODIsIDY5LCAxMjgsIDc5LCA3MSwgNzksIDc4LCA2OSwgNzUsIDEyOCwgNzksIAotICAgIDcxLCA3OSwgNzgsIDY5LCAyMDMsIDc5LCA3MSwgNzIsIDY1LCAyMDUsIDc5LCA3MCwgNzAsIDczLCA2NywgNjksIDgyLCAKLSAgICAxMjgsIDc5LCA3MCwgNzAsIDczLCA2NywgNjksIDEyOCwgNzksIDcwLCA3MCwgNzMsIDY3LCAxOTcsIDc5LCA3MCwgNzAsIAotICAgIDEyOCwgNzksIDY5LCA3NSwgMTI4LCA3OSwgNjgsIDY5LCA3OCwgMTI4LCA3OSwgNjgsIDE5NiwgNzksIDY3LCA4NCwgNzksIAotICAgIDgwLCA4NSwgODMsIDEyOCwgNzksIDY3LCA4NCwgNzksIDY2LCA2OSwgODIsIDEyOCwgNzksIDY3LCAyMTAsIDc5LCA2NywgCi0gICAgNzYsIDc5LCA2NywgNzUsIDEyOCwgNzksIDY3LCA2NywgNzYsIDg1LCA4MywgNzMsIDc5LCA3OCwgMTI4LCA3OSwgNjYsIDgzLCAKLSAgICA4NCwgODIsIDg1LCA2NywgODQsIDczLCA3OSwgNzgsIDEyOCwgNzksIDY2LCA3OSwgNzYsIDIxMSwgNzksIDY2LCA3OSwgCi0gICAgMjA0LCA3OSwgNjYsIDc5LCA3MCwgNzMsIDc2LCA3MywgMTI4LCA3OSwgNjYsIDc2LCA3MywgODEsIDg1LCAxOTcsIDc5LCAKLSAgICA2NiwgNzQsIDY5LCA2NywgMjEyLCA3OSwgNjYsIDY5LCA3NiwgODUsIDgzLCAxMjgsIDc5LCA2NiwgNjksIDc2LCA3OSwgODMsIAotICAgIDEyOCwgNzksIDY2LCAxMjgsIDc5LCA2NSwgODksIDEyOCwgNzksIDY1LCA3NSwgMTI4LCA3OSwgNjUsIDY2LCA3OSwgNjUsIAotICAgIDcwLCA3MywgNzYsIDczLCAxMjgsIDc5LCAxOTMsIDc5LCA0OCwgNTMsIDQ5LCAxMjgsIDc5LCA0OCwgNTMsIDQ4LCA2NiwgCi0gICAgMTI4LCA3OSwgNDgsIDUzLCA0OCwgNjUsIDEyOCwgNzksIDQ4LCA1MywgNDgsIDEyOCwgNzksIDQ4LCA1MiwgNTcsIDEyOCwgCi0gICAgNzksIDQ4LCA1MiwgNTYsIDEyOCwgNzksIDQ4LCA1MiwgNTUsIDEyOCwgNzksIDQ4LCA1MiwgNTQsIDEyOCwgNzksIDQ4LCAKLSAgICA1MiwgNTMsIDEyOCwgNzksIDQ4LCA1MiwgNTIsIDEyOCwgNzksIDQ4LCA1MiwgNTEsIDEyOCwgNzksIDQ4LCA1MiwgNTAsIAotICAgIDEyOCwgNzksIDQ4LCA1MiwgNDksIDEyOCwgNzksIDQ4LCA1MiwgNDgsIDEyOCwgNzksIDQ4LCA1MSwgNTcsIDEyOCwgNzksIAotICAgIDQ4LCA1MSwgNTYsIDEyOCwgNzksIDQ4LCA1MSwgNTUsIDEyOCwgNzksIDQ4LCA1MSwgNTQsIDY4LCAxMjgsIDc5LCA0OCwgCi0gICAgNTEsIDU0LCA2NywgMTI4LCA3OSwgNDgsIDUxLCA1NCwgNjYsIDEyOCwgNzksIDQ4LCA1MSwgNTQsIDY1LCAxMjgsIDc5LCAKLSAgICA0OCwgNTEsIDU0LCAxMjgsIDc5LCA0OCwgNTEsIDUzLCAxMjgsIDc5LCA0OCwgNTEsIDUyLCAxMjgsIDc5LCA0OCwgNTEsIAotICAgIDUxLCA2NSwgMTI4LCA3OSwgNDgsIDUxLCA1MSwgMTI4LCA3OSwgNDgsIDUxLCA1MCwgMTI4LCA3OSwgNDgsIDUxLCA0OSwgCi0gICAgMTI4LCA3OSwgNDgsIDUxLCA0OCwgNjUsIDEyOCwgNzksIDQ4LCA1MSwgNDgsIDEyOCwgNzksIDQ4LCA1MCwgNTcsIDY1LCAKLSAgICAxMjgsIDc5LCA0OCwgNTAsIDU3LCAxMjgsIDc5LCA0OCwgNTAsIDU2LCAxMjgsIDc5LCA0OCwgNTAsIDU1LCAxMjgsIDc5LCAKLSAgICA0OCwgNTAsIDU0LCAxMjgsIDc5LCA0OCwgNTAsIDUzLCA2NSwgMTI4LCA3OSwgNDgsIDUwLCA1MywgMTI4LCA3OSwgNDgsIAotICAgIDUwLCA1MiwgNjUsIDEyOCwgNzksIDQ4LCA1MCwgNTIsIDEyOCwgNzksIDQ4LCA1MCwgNTEsIDEyOCwgNzksIDQ4LCA1MCwgCi0gICAgNTAsIDEyOCwgNzksIDQ4LCA1MCwgNDksIDEyOCwgNzksIDQ4LCA1MCwgNDgsIDY1LCAxMjgsIDc5LCA0OCwgNTAsIDQ4LCAKLSAgICAxMjgsIDc5LCA0OCwgNDksIDU3LCA2NSwgMTI4LCA3OSwgNDgsIDQ5LCA1NywgMTI4LCA3OSwgNDgsIDQ5LCA1NiwgMTI4LCAKLSAgICA3OSwgNDgsIDQ5LCA1NSwgMTI4LCA3OSwgNDgsIDQ5LCA1NCwgMTI4LCA3OSwgNDgsIDQ5LCA1MywgMTI4LCA3OSwgNDgsIAotICAgIDQ5LCA1MiwgMTI4LCA3OSwgNDgsIDQ5LCA1MSwgMTI4LCA3OSwgNDgsIDQ5LCA1MCwgMTI4LCA3OSwgNDgsIDQ5LCA0OSwgCi0gICAgMTI4LCA3OSwgNDgsIDQ5LCA0OCwgNjcsIDEyOCwgNzksIDQ4LCA0OSwgNDgsIDY2LCAxMjgsIDc5LCA0OCwgNDksIDQ4LCAKLSAgICA2NSwgMTI4LCA3OSwgNDgsIDQ5LCA0OCwgMTI4LCA3OSwgNDgsIDQ4LCA1NywgMTI4LCA3OSwgNDgsIDQ4LCA1NiwgMTI4LCAKLSAgICA3OSwgNDgsIDQ4LCA1NSwgMTI4LCA3OSwgNDgsIDQ4LCA1NCwgNzAsIDEyOCwgNzksIDQ4LCA0OCwgNTQsIDY5LCAxMjgsIAotICAgIDc5LCA0OCwgNDgsIDU0LCA2OCwgMTI4LCA3OSwgNDgsIDQ4LCA1NCwgNjcsIDEyOCwgNzksIDQ4LCA0OCwgNTQsIDY2LCAKLSAgICAxMjgsIDc5LCA0OCwgNDgsIDU0LCA2NSwgMTI4LCA3OSwgNDgsIDQ4LCA1NCwgMTI4LCA3OSwgNDgsIDQ4LCA1MywgNjUsIAotICAgIDEyOCwgNzksIDQ4LCA0OCwgNTMsIDEyOCwgNzksIDQ4LCA0OCwgNTIsIDEyOCwgNzksIDQ4LCA0OCwgNTEsIDEyOCwgNzksIAotICAgIDQ4LCA0OCwgNTAsIDEyOCwgNzksIDQ4LCA0OCwgNDksIDY1LCAxMjgsIDc5LCA0OCwgNDgsIDQ5LCAxMjgsIDc5LCA0NSwgCi0gICAgODksIDY5LCAxMjgsIDc5LCA0NSwgNzksIDQ1LCA3MywgMTI4LCA3OSwgNDUsIDY5LCAxMjgsIDc4LCA5MCwgODksIDg4LCAKLSAgICAxMjgsIDc4LCA5MCwgODksIDg0LCAxMjgsIDc4LCA5MCwgODksIDgyLCA4OCwgMTI4LCA3OCwgOTAsIDg5LCA4MiwgMTI4LCAKLSAgICA3OCwgOTAsIDg5LCA4MCwgMTI4LCA3OCwgOTAsIDg5LCAxMjgsIDc4LCA5MCwgODUsIDg4LCAxMjgsIDc4LCA5MCwgODUsIAotICAgIDgyLCA4OCwgMTI4LCA3OCwgOTAsIDg1LCA4MiwgMTI4LCA3OCwgOTAsIDg1LCA4MSwgMTI4LCA3OCwgOTAsIDg1LCA4MCwgCi0gICAgMTI4LCA3OCwgOTAsIDg1LCA3OSwgODgsIDEyOCwgNzgsIDkwLCA4NSwgNzksIDEyOCwgNzgsIDkwLCA4NSwgMjA2LCA3OCwgCi0gICAgOTAsIDg1LCAxMjgsIDc4LCA5MCwgNzksIDg4LCAxMjgsIDc4LCA5MCwgNzksIDgwLCAxMjgsIDc4LCA5MCwgNzMsIDg4LCAKLSAgICAxMjgsIDc4LCA5MCwgNzMsIDg0LCAxMjgsIDc4LCA5MCwgNzMsIDgwLCAxMjgsIDc4LCA5MCwgNzMsIDY5LCA4OCwgMTI4LCAKLSAgICA3OCwgOTAsIDczLCA2OSwgODAsIDEyOCwgNzgsIDkwLCA3MywgNjksIDEyOCwgNzgsIDkwLCA3MywgMTI4LCA3OCwgOTAsIAotICAgIDY5LCA4OCwgMTI4LCA3OCwgOTAsIDY5LCA4NSwgNzcsIDEyOCwgNzgsIDkwLCA2OSwgMTI4LCA3OCwgOTAsIDY1LCA4OCwgCi0gICAgMTI4LCA3OCwgOTAsIDY1LCA4NCwgMTI4LCA3OCwgOTAsIDY1LCA4MSwgMTI4LCA3OCwgOTAsIDY1LCA4MCwgMTI4LCA3OCwgCi0gICAgOTAsIDY1LCAxMjgsIDc4LCA5MCwgMTkzLCA3OCwgODksIDg3LCA2NSwgMTI4LCA3OCwgODksIDg1LCA4OCwgMTI4LCA3OCwgCisgICAgODUsIDEyOCwgODAsIDg1LCA4NCwgODIsIDY5LCA3MCwgNjUsIDY3LCA4NCwgNzMsIDc5LCA3OCwgMTI4LCA4MCwgODUsIDg0LCAKKyAgICAxMjgsIDgwLCA4NSwgMjEyLCA4MCwgODUsIDgzLCA3MiwgODAsIDczLCA3OCwgMTI4LCA4MCwgODUsIDgzLCA3MiwgODAsIAorICAgIDczLCA3NSwgNjUsIDEyOCwgODAsIDg1LCA4MywgNzIsIDczLCA3OCwgMTk5LCA4MCwgODUsIDgyLCA4OCwgMTI4LCA4MCwgCisgICAgODUsIDgyLCA4MywgNjksIDEyOCwgODAsIDg1LCA4MiwgODAsIDc2LCAxOTcsIDgwLCA4NSwgODIsIDc4LCA2NSwgNzcsIDY1LCAKKyAgICAxMjgsIDgwLCA4NSwgODIsIDczLCA4NCwgODksIDEyOCwgODAsIDg1LCA4MiwgNzMsIDcwLCA4OSwgMTI4LCA4MCwgODUsIAorICAgIDgyLCAxMjgsIDgwLCA4NSwgODEsIDEyOCwgODAsIDg1LCA4MCwgMTI4LCA4MCwgODUsIDc5LCA4OCwgMTI4LCA4MCwgODUsIAorICAgIDc5LCA4MCwgMTI4LCA4MCwgODUsIDc5LCAxMjgsIDgwLCA4NSwgNzgsIDcxLCA2NSwgNjUsIDc3LCAxMjgsIDgwLCA4NSwgCisgICAgNzgsIDcxLCAxMjgsIDgwLCA4NSwgNzgsIDY3LCA4NCwgODUsIDY1LCA4NCwgNzMsIDc5LCA3OCwgMTI4LCA4MCwgODUsIDc4LCAKKyAgICA2NywgODQsIDg1LCA2NSwgODQsIDczLCA3OSwgMjA2LCA4MCwgODUsIDc3LCA4MCwgMTI4LCA4MCwgODUsIDc3LCAxMjgsIAorICAgIDgwLCA4NSwgNjksIDEyOCwgODAsIDg1LCA2NiwgNzYsIDczLCAxOTUsIDgwLCA4NSwgNjUsIDgxLCAxMjgsIDgwLCA4NSwgCisgICAgNjUsIDY5LCAxMjgsIDgwLCA4NSwgNTAsIDEyOCwgODAsIDg1LCA0OSwgMTI4LCA4MCwgODUsIDEyOCwgODAsIDg0LCA3MiwgCisgICAgNjUsIDcyLCAxOTMsIDgwLCA4NCwgNjksIDEyOCwgODAsIDgzLCA3MywgNzYsIDIwMSwgODAsIDgzLCA3MywgNzAsIDczLCAKKyAgICA4MywgODQsIDc5LCA4MywgODksIDc4LCA2NSwgNzEsIDc3LCA2NSwgMTI4LCA4MCwgODMsIDczLCA3MCwgNzMsIDgzLCA4NCwgCisgICAgNzksIDgwLCA2NSwgODIsIDY1LCA3NSwgNjUsIDc2LCA2OSwgODMsIDc3LCA2NSwgMTI4LCA4MCwgODMsIDczLCA3MCwgNzMsIAorICAgIDgzLCA4NCwgNzksIDIwNiwgODAsIDgzLCA3MywgNzAsIDczLCA4MywgODQsIDc5LCA3NiwgODksIDcxLCA3MywgODMsIDc3LCAKKyAgICA2NSwgMTI4LCA4MCwgODMsIDczLCAxMjgsIDgwLCA4MywgMTI4LCA4MCwgODIsIDc5LCA4NiwgNjksIDEyOCwgODAsIDgyLCAKKyAgICA3OSwgODQsIDc5LCA4NiwgNjUsIDgyLCA4OSwgMjExLCA4MCwgODIsIDc5LCA4NCwgNzksIDIxMSwgODAsIDgyLCA3OSwgODQsIAorICAgIDY5LCA2NywgODQsIDY5LCAxOTYsIDgwLCA4MiwgNzksIDgzLCA3MSwgNjksIDcxLCA4MiwgNjUsIDc3LCA3NywgNjksIDc4LCAKKyAgICA3MywgMTI4LCA4MCwgODIsIDc5LCA4MCwgNzksIDgyLCA4NCwgNzMsIDc5LCA3OCwgNjUsIDIwNCwgODAsIDgyLCA3OSwgODAsIAorICAgIDc5LCA4MiwgODQsIDczLCA3OSwgNzgsIDEyOCwgODAsIDgyLCA3OSwgODAsIDY5LCA4MiwgODQsIDIxNywgODAsIDgyLCA3OSwgCisgICAgODAsIDY5LCA3NiwgNzYsIDY5LCAyMTAsIDgwLCA4MiwgNzksIDc5LCA3MCwgMTI4LCA4MCwgODIsIDc5LCA3NiwgNzksIDc4LCAKKyAgICA3MSwgNjksIDE5NiwgODAsIDgyLCA3OSwgNzYsIDY1LCA4NCwgNzMsIDc5LCA3OCwgMTk3LCA4MCwgODIsIDc5LCA3NCwgNjksIAorICAgIDY3LCA4NCwgNzMsIDg2LCA2OSwgMTI4LCA4MCwgODIsIDc5LCA3NCwgNjksIDY3LCA4NCwgNzMsIDc5LCA3OCwgMTI4LCA4MCwgCisgICAgODIsIDc5LCA3MSwgODIsIDY5LCA4MywgODMsIDEyOCwgODAsIDgyLCA3OSwgNzEsIDgyLCA2NSwgMjA1LCA4MCwgODIsIDc5LCAKKyAgICA3MCwgNzksIDg1LCA3OCwgNjgsIDEyOCwgODAsIDgyLCA3OSwgNjgsIDg1LCA2NywgODQsIDEyOCwgODAsIDgyLCA3OSwgNjgsIAorICAgIDg1LCA2NywgMjEyLCA4MCwgODIsIDczLCA4NiwgNjUsIDg0LCA2OSwgMTI4LCA4MCwgODIsIDczLCA4NiwgNjUsIDg0LCAKKyAgICAxOTcsIDgwLCA4MiwgNzMsIDg2LCA2NSwgNjcsIDIxNywgODAsIDgyLCA3MywgODMsIDcyLCA4NCwgNzIsIDY1LCA3NywgNjUsIAorICAgIDg0LCA4MiwgMTkzLCA4MCwgODIsIDczLCA3OCwgODQsIDgzLCAxMjgsIDgwLCA4MiwgNzMsIDc4LCA4NCwgMTI4LCA4MCwgCisgICAgODIsIDczLCA3OCwgMjEyLCA4MCwgODIsIDczLCA3OCwgNjcsIDY5LCA4MywgODMsIDEyOCwgODAsIDgyLCA3MywgNzcsIDY5LCAKKyAgICAxMjgsIDgwLCA4MiwgNzMsIDc3LCAxOTcsIDgwLCA4MiwgNjksIDg2LCA3MywgNzksIDg1LCAyMTEsIDgwLCA4MiwgNjksIAorICAgIDgzLCA2OSwgODQsIDEyOCwgODAsIDgyLCA2OSwgODMsIDY5LCA3OCwgODQsIDY1LCA4NCwgNzMsIDc5LCAyMDYsIDgwLCA4MiwgCisgICAgNjksIDgzLCA2NywgODIsIDczLCA4MCwgODQsIDczLCA3OSwgMjA2LCA4MCwgODIsIDY5LCA4MCwgNzksIDc4LCA2OCwgNjksIAorICAgIDgyLCA2NSwgNzgsIDY3LCA2OSwgMTI4LCA4MCwgODIsIDY5LCA3OCwgNzUsIDcyLCA2NSwgMTI4LCA4MCwgODIsIDY5LCA3MCwgCisgICAgNjUsIDY3LCAxOTcsIDgwLCA4MiwgNjksIDY3LCA3MywgODAsIDczLCA4NCwgNjUsIDg0LCA2OSwgMTI4LCA4MCwgODIsIDY5LCAKKyAgICA2NywgNjksIDY4LCA3MywgNzgsIDE5OSwgODAsIDgyLCA2OSwgNjcsIDY5LCA2OCwgNjksIDgzLCAxMjgsIDgwLCA4MiwgNjksIAorICAgIDY3LCA2OSwgNjgsIDY5LCAyMTEsIDgwLCA4MiwgNjksIDY3LCA2OSwgNjgsIDY5LCAxOTYsIDgwLCA4MiwgNjksIDY3LCA2OSwgCisgICAgNjgsIDY5LCAxMjgsIDgwLCA4MiwgNjksIDY3LCA2OSwgNjgsIDE5NywgODAsIDgyLCA2NSwgNzcsIDQ1LCA4MCwgNzMsIDczLCAKKyAgICAxMjgsIDgwLCA4MiwgNjUsIDc3LCA0NSwgODAsIDczLCAyMDEsIDgwLCA4MiwgNjUsIDc3LCA0NSwgNzcsIDg1LCA3OSwgODksIAorICAgIDEyOCwgODAsIDgyLCA2NSwgNzcsIDQ1LCA3NywgODUsIDc5LCAyMTcsIDgwLCA4MiwgNjUsIDc3LCA0NSwgNjYsIDg1LCA3OSwgCisgICAgNzgsIDEyOCwgODAsIDgyLCA2NSwgNzcsIDQ1LCA2NiwgODUsIDc5LCAyMDYsIDgwLCA4MiwgNjUsIDc3LCA0NSwgNjYsIDY5LCAKKyAgICA3MywgMTI4LCA4MCwgODIsIDY1LCA3NywgNDUsIDY2LCA2OSwgMjAxLCA4MCwgODIsIDY1LCA3NywgMTI4LCA4MCwgODIsIAorICAgIDY1LCAyMDUsIDgwLCA4MiwgMTI4LCA4MCwgODAsIDg2LCAxMjgsIDgwLCA4MCwgNzcsIDEyOCwgODAsIDgwLCA2NSwgMTI4LCAKKyAgICA4MCwgNzksIDg5LCAxMjgsIDgwLCA3OSwgODgsIDEyOCwgODAsIDc5LCA4NywgNjksIDgyLCAyMTEsIDgwLCA3OSwgODcsIAorICAgIDY5LCA4MiwgMTI4LCA4MCwgNzksIDg3LCA2OCwgNjksIDgyLCA2OSwgMTk2LCA4MCwgNzksIDg3LCA2OCwgNjksIDgyLCAKKyAgICAxMjgsIDgwLCA3OSwgODUsIDc4LCAxOTYsIDgwLCA3OSwgODUsIDc2LCA4NCwgODIsIDIxNywgODAsIDc5LCA4NSwgNjcsIAorICAgIDcyLCAxMjgsIDgwLCA3OSwgODQsIDY1LCA4NCwgNzksIDEyOCwgODAsIDc5LCA4NCwgNjUsIDY2LCA3NiwgMTk3LCA4MCwgCisgICAgNzksIDIxMiwgODAsIDc5LCA4MywgODQsIDgwLCA3OSwgODMsIDczLCA4NCwgNzMsIDc5LCAyMDYsIDgwLCA3OSwgODMsIDg0LCAKKyAgICA2NiwgNzksIDg4LCAxMjgsIDgwLCA3OSwgODMsIDg0LCA2NSwgMjA0LCA4MCwgNzksIDgzLCA4NCwgMTI4LCA4MCwgNzksIAorICAgIDgzLCAyMTIsIDgwLCA3OSwgODMsIDgzLCA2OSwgODMsIDgzLCA3MywgNzksIDc4LCAxMjgsIDgwLCA3OSwgODIsIDgyLCA2OSwgCisgICAgNjcsIDg0LCA4NSwgODMsIDEyOCwgODAsIDc5LCA4MiwgODIsIDY5LCA2NywgODQsIDg1LCAyMTEsIDgwLCA3OSwgODAsIDgwLCAKKyAgICA2OSwgODIsIDEyOCwgODAsIDc5LCA4MCwgMTI4LCA4MCwgNzksIDIwOCwgODAsIDc5LCA3OSwgNjgsIDc2LCA2OSwgMTI4LCAKKyAgICA4MCwgNzksIDc5LCAxMjgsIDgwLCA3OSwgNzgsIDY4LCA3OSwgMTI4LCA4MCwgNzksIDIwNiwgODAsIDc5LCA3NywgNzcsIAorICAgIDY5LCA2OSwgMTI4LCA4MCwgNzksIDc3LCA3NywgNjksIDE5NywgODAsIDc5LCA3NiwgNzMsIDgzLCA3MiwgMTI4LCA4MCwgCisgICAgNzksIDc2LCA3MywgNjcsIDE5NywgODAsIDc5LCA3NiwgMjAxLCA4MCwgNzksIDc2LCA2OSwgMTI4LCA4MCwgNzksIDc2LCAKKyAgICAxOTcsIDgwLCA3OSwgNzUsIDgyLCA4OSwgODQsIDczLCA2OSwgMTI4LCA4MCwgNzksIDc1LCA3OSwgNzQsIDczLCAxMjgsIAorICAgIDgwLCA3OSwgNzMsIDc4LCA4NCwgMjExLCA4MCwgNzksIDczLCA3OCwgODQsIDc5LCAxMjgsIDgwLCA3OSwgNzMsIDc4LCA4NCwgCisgICAgNjksIDgyLCAxMjgsIDgwLCA3OSwgNzMsIDc4LCA4NCwgNjksIDE5NiwgODAsIDc5LCA3MywgNzgsIDg0LCAxMjgsIDgwLCAKKyAgICA3OSwgNzMsIDc4LCAyMTIsIDgwLCA3OSwgNjksIDg0LCA4MiwgMjE3LCA4MCwgNzksIDY5LCA4NCwgNzMsIDE5NSwgODAsIAorICAgIDc5LCA2OCwgNjUsIDg0LCA4NSwgODMsIDEyOCwgODAsIDc5LCA2NSwgMTI4LCA4MCwgNzksIDEyOCwgODAsIDIwNywgODAsIAorICAgIDc4LCA2OSwgODUsIDc3LCA2NSwgODQsIDY1LCAxMjgsIDgwLCA3NiwgODUsIDg0LCA3OSwgMTI4LCA4MCwgNzYsIDg1LCA4MywgCisgICAgNDUsIDc3LCA3MywgNzgsIDg1LCAyMTEsIDgwLCA3NiwgODUsIDgzLCAxMjgsIDgwLCA3NiwgODUsIDgyLCA2NSwgNzYsIAorICAgIDEyOCwgODAsIDc2LCA4NSwgNzcsIDY5LCAxOTYsIDgwLCA3NiwgODUsIDc3LCAxMjgsIDgwLCA3NiwgODUsIDc1LCAxMjgsIAorICAgIDgwLCA3NiwgODUsIDcxLCAxMjgsIDgwLCA3NiwgODUsIDEyOCwgODAsIDc2LCA3OSwgODcsIDEyOCwgODAsIDc2LCA3OSwgCisgICAgODAsIDcyLCA4NSwgMTI4LCA4MCwgNzYsIDY5LCA4NCwgNzIsIDgyLCA3OSwgNzgsIDEyOCwgODAsIDc2LCA2OCwgMTI4LCAKKyAgICA4MCwgNzYsIDY1LCA4OSwgNzMsIDc4LCAxOTksIDgwLCA3NiwgNjUsIDgzLCA4NCwgNzMsIDY3LCA4MywgMTI4LCA4MCwgNzYsIAorICAgIDY1LCA3OCwgNjksIDEyOCwgODAsIDc2LCA2NSwgNzgsIDE5NywgODAsIDc2LCA2NSwgNzgsIDY3LCAyMDMsIDgwLCA3NiwgCisgICAgNjUsIDc1LCAxMjgsIDgwLCA3NiwgNjUsIDcxLCA3MywgNzksIDIxMSwgODAsIDc2LCA2NSwgNjcsIDY5LCA3MiwgNzksIDc2LCAKKyAgICA2OCwgNjksIDIxMCwgODAsIDc2LCA2NSwgNjcsIDE5NywgODAsIDc2LCA2NSwgMTI4LCA4MCwgNzMsIDkwLCA5MCwgNzMsIAorICAgIDY3LCA2NSwgODQsIDc5LCAxMjgsIDgwLCA3MywgOTAsIDkwLCA2NSwgMTI4LCA4MCwgNzMsIDg4LCAxMjgsIDgwLCA3MywgCisgICAgODcsIDgyLCAxMjgsIDgwLCA3MywgODQsIDY3LCA3MiwgNzAsIDc5LCA4MiwgNzUsIDEyOCwgODAsIDczLCA4NCwgNjcsIDcyLCAKKyAgICA3MCwgNzksIDgyLCAyMDMsIDgwLCA3MywgODQsIDEyOCwgODAsIDczLCA4MywgODQsIDc5LCA3NiwgMTI4LCA4MCwgNzMsIAorICAgIDgzLCA2OSwgNzYsIDY5LCA3MiwgMTI4LCA4MCwgNzMsIDgzLCA2NywgNjksIDgzLCAxMjgsIDgwLCA3MywgODIsIDczLCA3MSwgCisgICAgMTI4LCA4MCwgNzMsIDgyLCA3MywgMTk5LCA4MCwgNzMsIDgyLCA3MywgNjksIDY5LCA3OCwgMTI4LCA4MCwgNzMsIDgwLCAKKyAgICA3MywgNzgsIDcxLCAxMjgsIDgwLCA3MywgODAsIDY1LCA2OSwgNzcsIDcxLCA2NiwgNzMsIDY5LCA2OSwgMTI4LCA4MCwgNzMsIAorICAgIDgwLCA2NSwgNjksIDc3LCA2NiwgNjUsIDEyOCwgODAsIDczLCA4MCwgMTI4LCA4MCwgNzMsIDc4LCA4NywgNzIsIDY5LCA2OSwgCisgICAgMjA0LCA4MCwgNzMsIDc4LCA2OSwgNjUsIDgwLCA4MCwgNzYsIDY5LCAxMjgsIDgwLCA3MywgNzgsIDE5NywgODAsIDczLCAKKyAgICA3OCwgNjUsIDgyLCA2NiwgNzksIDgyLCA2NSwgODMsIDEyOCwgODAsIDczLCA3NiwgNzYsIDEyOCwgODAsIDczLCA3NiwgCisgICAgMTk3LCA4MCwgNzMsIDc2LCA2NywgODIsIDc5LCAyMTUsIDgwLCA3MywgNzUsIDg1LCA4MiwgODUsIDEyOCwgODAsIDczLCAKKyAgICA3NSwgNzksIDEyOCwgODAsIDczLCA3MSwgMTI4LCA4MCwgNzMsIDE5OSwgODAsIDczLCA2OSwgODgsIDEyOCwgODAsIDczLCAKKyAgICA2OSwgODUsIDgwLCA0NSwgODQsIDcyLCA3MywgNjksIDg1LCA4NCwgNzIsIDEyOCwgODAsIDczLCA2OSwgODUsIDgwLCA0NSwgCisgICAgODMsIDgzLCA2NSwgNzgsIDcxLCA4MywgNzMsIDc5LCA4MywgMTI4LCA4MCwgNzMsIDY5LCA4NSwgODAsIDQ1LCA4MywgNzMsIAorICAgIDc5LCA4MywgNDUsIDg0LCA3MywgNzUsIDY5LCA4NSwgODQsIDEyOCwgODAsIDczLCA2OSwgODUsIDgwLCA0NSwgODMsIDczLCAKKyAgICA3OSwgODMsIDQ1LCA4NCwgNzIsIDczLCA2OSwgODUsIDg0LCA3MiwgMTI4LCA4MCwgNzMsIDY5LCA4NSwgODAsIDQ1LCA4MywgCisgICAgNzMsIDc5LCA4MywgNDUsIDgwLCA3MywgNjksIDg1LCA4MCwgMTI4LCA4MCwgNzMsIDY5LCA4NSwgODAsIDQ1LCA4MywgNzMsIAorICAgIDc5LCA4MywgNDUsIDc1LCA3MywgODksIDY5LCA3OSwgNzUsIDEyOCwgODAsIDczLCA2OSwgODUsIDgwLCA0NSwgODMsIDczLCAKKyAgICA3OSwgODMsIDQ1LCA2NywgNzMsIDY5LCA4NSwgNjcsIDEyOCwgODAsIDczLCA2OSwgODUsIDgwLCA0NSwgODIsIDczLCA2OSwgCisgICAgODUsIDc2LCA0NSwgODAsIDcyLCA3MywgNjksIDg1LCA4MCwgNzIsIDEyOCwgODAsIDczLCA2OSwgODUsIDgwLCA0NSwgODIsIAorICAgIDczLCA2OSwgODUsIDc2LCAxMjgsIDgwLCA3MywgNjksIDg1LCA4MCwgNDUsIDc4LCA3MywgNjksIDg1LCA3OCwgMTI4LCA4MCwgCisgICAgNzMsIDY5LCA4NSwgODAsIDQ1LCA3NywgNzMsIDY5LCA4NSwgNzcsIDEyOCwgODAsIDczLCA2OSwgODUsIDgwLCA0NSwgNzUsIAorICAgIDcyLCA3MywgNjksIDg1LCA3NSwgNzIsIDEyOCwgODAsIDczLCA2OSwgODUsIDgwLCA0NSwgNjcsIDczLCA2OSwgODUsIDY3LCAKKyAgICAxMjgsIDgwLCA3MywgNjksIDg1LCA4MCwgNDUsIDY3LCA3MiwgNzMsIDY5LCA4NSwgNjcsIDcyLCAxMjgsIDgwLCA3MywgNjksIAorICAgIDg1LCAyMDgsIDgwLCA3MywgNjksIDg0LCAxMjgsIDgwLCA3MywgNjksIDgwLCAxMjgsIDgwLCA3MywgNjksIDY5LCA4NCwgCisgICAgMTI4LCA4MCwgNzMsIDY5LCA2OSwgODEsIDEyOCwgODAsIDczLCA2OSwgNjcsIDY5LCAxMjgsIDgwLCA3MywgNjksIDEyOCwgCisgICAgODAsIDczLCA2NywgNzUsIDY5LCA4NCwgMTI4LCA4MCwgNzMsIDY3LCA3NSwgMTI4LCA4MCwgNzMsIDY1LCA4MywgODUsIDg0LCAKKyAgICA3OSwgODIsIDg1LCAxMjgsIDgwLCA3MywgNjUsIDgzLCA3NywgMTkzLCA4MCwgNzMsIDY1LCA3OCwgNzksIDEyOCwgODAsIAorICAgIDIwMSwgODAsIDcyLCA4NywgNjUsIDEyOCwgODAsIDcyLCA4NSwgODQsIDcyLCA2NSwgNzksIDEyOCwgODAsIDcyLCA4NSwgCisgICAgMjEwLCA4MCwgNzIsIDg1LCA3OCwgNzEsIDEyOCwgODAsIDcyLCA4MiwgNjUsIDgzLCA2OSwgMTI4LCA4MCwgNzIsIDc5LCAKKyAgICA3OCwgNjksIDgzLCAxMjgsIDgwLCA3MiwgNzksIDY5LCA3OCwgNzMsIDY3LCA3MywgNjUsIDIwNiwgODAsIDcyLCA3OSwgNjUsIAorICAgIDEyOCwgODAsIDcyLCA3OSwgMTI4LCA4MCwgNzIsIDIwNywgODAsIDcyLCA3OCwgNjUsIDY5LCAyMDMsIDgwLCA3MiwgNzMsIAorICAgIDc4LCA4NCwgNzIsIDg1LCAxMjgsIDgwLCA3MiwgNzMsIDc2LCA3OSwgODMsIDc5LCA4MCwgNzIsIDY5LCA4MiwgMjExLCA4MCwgCisgICAgNzIsIDczLCA3NiwgNzMsIDgwLCA4MCwgNzMsIDc4LCAxOTcsIDgwLCA3MiwgNzMsIDY5LCA4NSwgODAsIDcyLCA0NSwgODQsIAorICAgIDcyLCA3MywgNjksIDg1LCA4NCwgNzIsIDEyOCwgODAsIDcyLCA3MywgNjksIDg1LCA4MCwgNzIsIDQ1LCA4MywgNzMsIDc5LCAKKyAgICA4MywgMTI4LCA4MCwgNzIsIDczLCA2OSwgODUsIDgwLCA3MiwgNDUsIDgwLCA3MywgNjksIDg1LCA4MCwgMTI4LCA4MCwgNzIsIAorICAgIDczLCA2OSwgODUsIDgwLCA3MiwgNDUsIDcyLCA3MywgNjksIDg1LCA3MiwgMTI4LCA4MCwgNzIsIDczLCA2OSwgODUsIDgwLCAKKyAgICAyMDAsIDgwLCA3MiwgNzMsIDEyOCwgODAsIDcyLCAyMDEsIDgwLCA3MiwgNjksIDY5LCAxMjgsIDgwLCA3MiwgNjksIDEyOCwgCisgICAgODAsIDcyLCA2NSwgODMsIDY5LCA0NSwgMTk4LCA4MCwgNzIsIDY1LCA4MywgNjksIDQ1LCAxOTQsIDgwLCA3MiwgNjUsIDgyLCAKKyAgICA4OSwgNzgsIDcxLCA2OSwgNjUsIDIwNCwgODAsIDcyLCA2NSwgODIsIDEyOCwgODAsIDcyLCA2NSwgNzgsIDEyOCwgODAsIAorICAgIDcyLCA2NSwgNzcsIDEyOCwgODAsIDcyLCA2NSwgNzMsIDgzLCA4NCwgNzksIDIxMSwgODAsIDcyLCA2NSwgNzEsIDgzLCA0NSwgCisgICAgODAsIDE5MywgODAsIDcyLCA2NSwgNjUsIDgyLCA3NSwgNjUsIDY1LCAxMjgsIDgwLCA3MiwgNjUsIDY1LCAxMjgsIDgwLCAKKyAgICA3MiwgNjUsIDEyOCwgODAsIDcxLCAxMjgsIDgwLCA3MCwgMTI4LCA4MCwgNjksIDg1LCA4OCwgMTI4LCA4MCwgNjksIDg1LCAKKyAgICA4NCwgNjUsIDY5LCAxMjgsIDgwLCA2OSwgODUsIDg0LCAxMjgsIDgwLCA2OSwgODQsIDY1LCA4MywgODQsIDc5LCA3NSwgNzksIAorICAgIDg1LCA3MCwgNzMsIDgzLCA3NywgNjUsIDEyOCwgODAsIDY5LCA4NCwgNjUsIDgzLCA4NCwgNzMsIDEyOCwgODAsIDY5LCA4NCwgCisgICAgNjUsIDgzLCA3NywgNjUsIDEyOCwgODAsIDY5LCA4NCwgNjUsIDc2LCA3NiwgNjksIDE5NiwgODAsIDY5LCA4MywgNzksIAorICAgIDEyOCwgODAsIDY5LCA4MywgMjA3LCA4MCwgNjksIDgzLCA3MiwgNTAsIDEyOCwgODAsIDY5LCA4MywgNjksIDg0LCAxOTMsIAorICAgIDgwLCA2OSwgMjExLCA4MCwgNjksIDgyLCA4NCwgNzIsIDIwNywgODAsIDY5LCA4MiwgODMsIDgwLCA2OSwgNjcsIDg0LCA3MywgCisgICAgODYsIDY5LCAxMjgsIDgwLCA2OSwgODIsIDgzLCA3OSwgNzgsIDY1LCAyMDQsIDgwLCA2OSwgODIsIDgzLCA3OSwgNzgsIAorICAgIDEyOCwgODAsIDY5LCA4MiwgODMsIDc5LCAyMDYsIDgwLCA2OSwgODIsIDgzLCA3MywgNjUsIDIwNiwgODAsIDY5LCA4MiwgCisgICAgODMsIDY5LCA4NiwgNjksIDgyLCA3MywgNzgsIDE5OSwgODAsIDY5LCA4MiwgODAsIDY5LCA3OCwgNjgsIDczLCA2NywgODUsIAorICAgIDc2LCA2NSwgODIsIDEyOCwgODAsIDY5LCA4MiwgODAsIDY5LCA3OCwgNjgsIDczLCA2NywgODUsIDc2LCA2NSwgMjEwLCA4MCwgCisgICAgNjksIDgyLCA3NywgNzMsIDg0LCA4NCwgNjksIDE5NiwgODAsIDY5LCA4MiwgNzcsIDY1LCA3OCwgNjksIDc4LCAyMTIsIDgwLCAKKyAgICA2OSwgODIsIDczLCA4MywgODAsIDc5LCA3NywgNjksIDc4LCA3MywgMTI4LCA4MCwgNjksIDgyLCA3MywgODMsIDgwLCA3OSwgCisgICAgNzcsIDY5LCA3OCwgMjAxLCA4MCwgNjksIDgyLCA3MCwgNzksIDgyLCA3NywgNzMsIDc4LCAxOTksIDgwLCA2OSwgODIsIDcwLCAKKyAgICA2OSwgNjcsIDg0LCA4NSwgMjA1LCA4MCwgNjksIDgyLCA3MCwgNjksIDY3LCA4NCwgNjUsIDEyOCwgODAsIDY5LCA4MiwgNzAsIAorICAgIDY5LCA2NywgODQsIDE5MywgODAsIDY5LCA4MiwgNjcsIDg1LCA4MywgODMsIDczLCA4NiwgNjksIDEyOCwgODAsIDY5LCA4MiwgCisgICAgNjcsIDY5LCA3OCwgMjEyLCA4MCwgNjksIDgwLCA2OSwgODQsIDEyOCwgODAsIDY5LCA4MCwgNjksIDIxMiwgODAsIDY5LCAKKyAgICA3OSwgODIsIDg0LCAyMDAsIDgwLCA2OSwgNzksIDgwLCA3NiwgNjksIDEyOCwgODAsIDY5LCA3OCwgODQsIDY1LCA4MywgNjksIAorICAgIDc3LCA2OSwgMTI4LCA4MCwgNjksIDc4LCA4NCwgNjUsIDcxLCA4MiwgNjUsIDc3LCAxMjgsIDgwLCA2OSwgNzgsIDg0LCA2NSwgCisgICAgNzEsIDc5LCA3OCwgMTI4LCA4MCwgNjksIDc4LCA4MywgODUsIDEyOCwgODAsIDY5LCA3OCwgODMsIDczLCA4NiwgMTk3LCAKKyAgICA4MCwgNjksIDc4LCA3OCwgMjE3LCA4MCwgNjksIDc4LCA3MywgNzIsIDczLCAxMjgsIDgwLCA2OSwgNzgsIDcxLCA4NSwgNzMsIAorICAgIDc4LCAxMjgsIDgwLCA2OSwgNzgsIDcxLCA3NSwgNjUsIDc2LCAxMjgsIDgwLCA2OSwgNzgsIDY5LCA4NCwgODIsIDY1LCA4NCwgCisgICAgNzMsIDc5LCA3OCwgMTI4LCA4MCwgNjksIDc4LCA2NywgNzMsIDc2LCAxMjgsIDgwLCA2OSwgNzYsIDY1LCA4MywgODQsIDc5LCAKKyAgICA3OCwgMTI4LCA4MCwgNjksIDc2LCA2NSwgODMsIDg0LCA3OSwgMjA2LCA4MCwgNjksIDczLCA4NCwgNzIsIDEyOCwgODAsIAorICAgIDY5LCA3MiwgNjksIDcyLCAxMjgsIDgwLCA2OSwgNzIsIDY5LCAyMDAsIDgwLCA2OSwgNzIsIDEyOCwgODAsIDY5LCAyMDAsIAorICAgIDgwLCA2OSwgNjksIDkwLCA3MywgMTI4LCA4MCwgNjksIDY5LCA4MywgNzIsIDczLCAxMjgsIDgwLCA2OSwgNjksIDgwLCAKKyAgICAxMjgsIDgwLCA2OSwgNjksIDc3LCAxMjgsIDgwLCA2OSwgNjksIDEyOCwgODAsIDY5LCA2OCwgNjksIDgzLCA4NCwgODIsIAorICAgIDczLCA2NSwgNzgsIDgzLCAxMjgsIDgwLCA2OSwgNjgsIDY5LCA4MywgODQsIDgyLCA3MywgNjUsIDc4LCAxMjgsIDgwLCA2OSwgCisgICAgNjgsIDY5LCA4MywgODQsIDY1LCA3NiwgMTI4LCA4MCwgNjksIDY4LCA2OSwgODMsIDg0LCA2NSwgMjA0LCA4MCwgNjksIDY4LCAKKyAgICA2NSwgMjA0LCA4MCwgNjksIDY1LCA2NywgNzIsIDEyOCwgODAsIDY5LCA2NSwgNjcsIDY5LCAxMjgsIDgwLCA2OSwgNjUsIAorICAgIDY3LCAxOTcsIDgwLCA2OCwgNzAsIDEyOCwgODAsIDY4LCAxMjgsIDgwLCA2NywgMTI4LCA4MCwgNjUsIDkwLCA2OSwgODIsIAorICAgIDEyOCwgODAsIDY1LCA4OSwgNjksIDgyLCA3OSwgNzUsIDEyOCwgODAsIDY1LCA4OSwgNjUsIDc4LCA3OCwgNjUsIDEyOCwgCisgICAgODAsIDY1LCA4OSwgMTI4LCA4MCwgNjUsIDg4LCAxMjgsIDgwLCA2NSwgODcsIDc4LCAxMjgsIDgwLCA2NSwgMjE1LCA4MCwgCisgICAgNjUsIDg2LCA3MywgODksIDY1LCA3OCwgNzMsIDEyOCwgODAsIDY1LCA4NSwgMTI4LCA4MCwgNjUsIDg0LCA4NCwgNjksIDgyLCAKKyAgICA3OCwgMTI4LCA4MCwgNjUsIDg0LCA3MiwgNjUsIDc3LCA2NSwgODMsIDY1LCA4NCwgMTI4LCA4MCwgNjUsIDg0LCAyMDAsIAorICAgIDgwLCA2NSwgODQsIDY1LCA3NSwgMTI4LCA4MCwgNjUsIDg0LCA2NSwgNzIsIDEyOCwgODAsIDY1LCA4NCwgMTI4LCA4MCwgCisgICAgNjUsIDgzLCA4NSwgODEsIDEyOCwgODAsIDY1LCA4MywgODMsIDgwLCA3OSwgODIsIDIxMiwgODAsIDY1LCA4MywgODMsIDczLCAKKyAgICA4NiwgNjksIDQ1LCA4MCwgODUsIDc2LCA3NiwgNDUsIDg1LCA4MCwgNDUsIDc5LCA4NSwgODQsIDgwLCA4NSwgMjEyLCA4MCwgCisgICAgNjUsIDgzLCA4MywgNzMsIDg2LCA2OSwgNDUsIDgwLCA4NSwgNzYsIDc2LCA0NSwgNjgsIDc5LCA4NywgNzgsIDQ1LCA3OSwgCisgICAgODUsIDg0LCA4MCwgODUsIDIxMiwgODAsIDY1LCA4MywgNzIsIDg0LCA2NSwgMTI4LCA4MCwgNjUsIDgzLCA3MiwgNjUsIDY5LCAKKyAgICAxMjgsIDgwLCA2NSwgODMsIDY5LCA4MSwgMTI4LCA4MCwgNjUsIDgzLCA2NSwgNzgsIDcxLCA2NSwgMjA2LCA4MCwgNjUsIAorICAgIDgyLCA4NSwgNzcsIDEyOCwgODAsIDY1LCA4MiwgODQsIDIxNywgODAsIDY1LCA4MiwgODQsIDc4LCA2OSwgODIsIDgzLCA3MiwgCisgICAgNzMsIDIwOCwgODAsIDY1LCA4MiwgODQsIDczLCA2NSwgNzYsIDc2LCA4OSwgNDUsIDgyLCA2OSwgNjcsIDg5LCA2NywgNzYsIAorICAgIDY5LCAxOTYsIDgwLCA2NSwgODIsIDg0LCA3MywgNjUsIDIwNCwgODAsIDY1LCA4MiwgODQsIDcyLCA3MywgNjUsIDIwNiwgCisgICAgODAsIDY1LCA4MiwgMjEyLCA4MCwgNjUsIDgyLCA3MywgNjcsIDcyLCA3OSwgNzgsIDEyOCwgODAsIDY1LCA4MiwgNjksIDgzLCAKKyAgICA4NCwgNzMsIDcxLCA3NywgNjksIDc4LCA3OSwgMjA2LCA4MCwgNjUsIDgyLCA2OSwgODIsIDY5LCA3OCwgMTI4LCA4MCwgNjUsIAorICAgIDgyLCA2OSwgNzgsIDg0LCA3MiwgNjksIDgzLCA3MywgODMsIDEyOCwgODAsIDY1LCA4MiwgNjksIDc4LCA4NCwgNzIsIDY5LCAKKyAgICA4MywgNzMsIDIxMSwgODAsIDY1LCA4MiwgNjUsIDgwLCA3MiwgODIsIDY1LCA4MywgMTk3LCA4MCwgNjUsIDgyLCA2NSwgNzYsIAorICAgIDc2LCA2OSwgNzYsIDc5LCA3MSwgODIsIDY1LCA3NywgMTI4LCA4MCwgNjUsIDgyLCA2NSwgNzYsIDc2LCA2OSwgNzYsIDEyOCwgCisgICAgODAsIDY1LCA4MiwgNjUsIDc2LCA3NiwgNjksIDIwNCwgODAsIDY1LCA4MiwgNjUsIDc1LCA3NiwgNzMsIDg0LCA3MywgNzUsIAorICAgIDczLCAxMjgsIDgwLCA2NSwgODIsIDY1LCA3NSwgNzYsIDczLCA4NCwgNzMsIDc1LCAyMDEsIDgwLCA2NSwgODIsIDY1LCA3NSwgCisgICAgNjUsIDc2LCA2OSwgODMsIDc3LCAxOTMsIDgwLCA2NSwgODIsIDY1LCA3MSwgODIsIDY1LCA4MCwgNzIsIDc5LCA4MywgMTI4LCAKKyAgICA4MCwgNjUsIDgyLCA2NSwgNzEsIDgyLCA2NSwgODAsIDcyLCAxMjgsIDgwLCA2NSwgODIsIDY1LCA3MSwgODIsIDY1LCA4MCwgCisgICAgMjAwLCA4MCwgNjUsIDgyLCA2NSwgMTI4LCA4MCwgNjUsIDgyLCAxMjgsIDgwLCA2NSwgODAsIDg5LCA4MiwgODUsIDgzLCAKKyAgICAxMjgsIDgwLCA2NSwgODAsIDY5LCA4MiwgNjcsIDc2LCA3MywgODAsIDEyOCwgODAsIDY1LCA4MCwgNjksIDIxMCwgODAsIAorICAgIDY1LCA4MCwgMTI4LCA4MCwgNjUsIDIwOCwgODAsIDY1LCAyMDcsIDgwLCA2NSwgNzgsIDg5LCA4NSwgNzUsIDg1LCAxMjgsIAorICAgIDgwLCA2NSwgNzgsIDg5LCA3MywgNzUsIDg1LCAxMjgsIDgwLCA2NSwgNzgsIDg5LCA2OSwgNjcsIDY5LCA3NSwgMTI4LCA4MCwgCisgICAgNjUsIDc4LCA4OSwgNjUsIDc4LCA3MSwgNzEsIDY1LCAxMjgsIDgwLCA2NSwgNzgsIDg5LCA2NSwgNzUsIDgyLCA2NSwgMTI4LCAKKyAgICA4MCwgNjUsIDc4LCA4NCwgNzMsIDEyOCwgODAsIDY1LCA3OCwgODMsIDczLCA3OSwgODMsIDQ1LCA4MCwgNzMsIDY5LCA4NSwgCisgICAgODAsIDEyOCwgODAsIDY1LCA3OCwgODMsIDczLCA3OSwgODMsIDQ1LCA3NSwgNjUsIDgwLCA4OSwgNjksIDc5LCA4NSwgNzgsIAorICAgIDgwLCA3MywgNjksIDg1LCA4MCwgMTI4LCA4MCwgNjUsIDc4LCA3OSwgNzgsIDcxLCA3OSwgNzgsIDY1LCA3OCwgMTI4LCA4MCwgCisgICAgNjUsIDc4LCA3OSwgNzYsIDc5LCA3OCwgNzEsIDEyOCwgODAsIDY1LCA3OCwgNzEsIDg3LCA3MywgODMsIDY1LCA2OCwgMTI4LCAKKyAgICA4MCwgNjUsIDc4LCA3MSwgODIsIDY1LCA3OCwgNzEsIDc1LCA2OSwgODAsIDEyOCwgODAsIDY1LCA3OCwgNzEsIDc5LCA3NiwgCisgICAgNjUsIDg0LCAxMjgsIDgwLCA2NSwgNzgsIDcxLCA3NiwgNzksIDc4LCA3MSwgMTI4LCA4MCwgNjUsIDc4LCA3MSwgNzYsIDY1LCAKKyAgICA4OSwgNjUsIDgyLCAxMjgsIDgwLCA2NSwgNzgsIDcxLCA3NSwgNzksIDc4LCAxMjgsIDgwLCA2NSwgNzgsIDcxLCA3NSwgNjUsIAorICAgIDg0LCAxMjgsIDgwLCA2NSwgNzgsIDcxLCA3MiwgODUsIDc2LCA4NSwgMTI4LCA4MCwgNjUsIDc4LCA3MSwgMTI4LCA4MCwgCisgICAgNjUsIDc4LCA2OSwgODUsIDc2LCA2OSwgODUsIDc4LCA3MSwgMTI4LCA4MCwgNjUsIDc4LCA2OCwgMTkzLCA4MCwgNjUsIDc4LCAKKyAgICA2NSwgNjksIDc2LCA2NSwgNjksIDc4LCA3MSwgMTI4LCA4MCwgNjUsIDc4LCAxMjgsIDgwLCA2NSwgNzcsIDg1LCA3OCwgNzEsIAorICAgIDc1LCA2NSwgNzIsIDEyOCwgODAsIDY1LCA3NywgODUsIDY4LCA4MCwgNzksIDY4LCAxMjgsIDgwLCA2NSwgNzcsIDgzLCA3MiwgCisgICAgNjUsIDY5LCAxMjgsIDgwLCA2NSwgNzcsIDgwLCA3MiwgODksIDc2LCA3MywgNjUsIDIwNiwgODAsIDY1LCA3NywgNzMsIDc4LCAKKyAgICA3MSwgNzUsIDY1LCA3NiwgMTI4LCA4MCwgNjUsIDc3LCA2OSwgODAsIDY5LCA4NCwgMTI4LCA4MCwgNjUsIDc3LCA2OSwgNzgsIAorICAgIDY5LCA3OCwgNzEsIDEyOCwgODAsIDY1LCA3NywgNjUsIDY4LCA2NSwgMTI4LCA4MCwgNjUsIDc3LCA2NSwgNjUsIDY5LCA3MiwgCisgICAgMTI4LCA4MCwgNjUsIDc2LCA4NSwgODQsIDY1LCAxMjgsIDgwLCA2NSwgNzYsIDc5LCA2NywgNzIsIDc1LCA2NSwgMTI4LCAKKyAgICA4MCwgNjUsIDc2LCAyMDUsIDgwLCA2NSwgNzYsIDc2LCA2NSwgODcsIDY1LCAxMjgsIDgwLCA2NSwgNzYsIDc2LCA2NSwgODMsIAorICAgIDEyOCwgODAsIDY1LCA3NiwgNjksIDg0LCA4NCwgNjksIDEyOCwgODAsIDY1LCA3NiwgNjUsIDg1LCA3OCwgMTk5LCA4MCwgCisgICAgNjUsIDc2LCA2NSwgODQsIDY1LCA3NiwgNzMsIDkwLCA2OSwgMTk2LCA4MCwgNjUsIDc2LCA2NSwgODQsIDY1LCA3NiwgNzMsIAorICAgIDkwLCA2NSwgODQsIDczLCA3OSwgNzgsIDEyOCwgODAsIDY1LCA3NiwgNjUsIDg0LCA2NSwgMjA0LCA4MCwgNjUsIDc1LCA4MCwgCisgICAgNjUsIDIwMywgODAsIDY1LCA3MywgODksIDY1LCA3OCwgNzgsIDc5LCA3MywgMTI4LCA4MCwgNjUsIDczLCA4MiwgODQsIDcyLCAKKyAgICA4MiwgNjUsIDEyOCwgODAsIDY1LCA3MywgODIsIDY5LCAxOTYsIDgwLCA2NSwgNzMsIDEyOCwgODAsIDY1LCA3MiwgNzYsIAorICAgIDY1LCA4NiwgMjAxLCA4MCwgNjUsIDcyLCAxMjgsIDgwLCA2NSwgNzEsIDY5LCA4MiwgMTI4LCA4MCwgNjUsIDcxLCAxOTcsIAorICAgIDgwLCA2NSwgNjgsIDc3LCAxOTMsIDgwLCA2NSwgNjgsIDY4LCA3MywgNzgsIDE5OSwgODAsIDY1LCA2OCwgMTkzLCA4MCwgCisgICAgNjUsIDY4LCAxMjgsIDgwLCA2NSwgNjcsIDc1LCA3MywgNzgsIDcxLCAxMjgsIDgwLCA2NSwgNjcsIDc1LCA2NSwgNzEsIDY5LCAKKyAgICAxMjgsIDgwLCA2NSwgNjUsIDg0LCA4NSwgMTI4LCA4MCwgNjUsIDY1LCA4MywgNjksIDc4LCA4NCwgNzksIDEyOCwgODAsIAorICAgIDY1LCA2NSwgODIsIDY1LCA2OSwgMTI4LCA4MCwgNjUsIDY1LCA3NywgMTI4LCA4MCwgNjUsIDY1LCA3MywgMTI4LCA4MCwgCisgICAgNjUsIDY1LCA0NSwgODAsIDczLCA3NiwgNzYsIDY1LCAxMjgsIDgwLCA2NSwgNjUsIDEyOCwgODAsIDUwLCAxMjgsIDgwLCAKKyAgICA0OCwgNDksIDQ5LCAxMjgsIDgwLCA0OCwgNDksIDQ4LCAxMjgsIDgwLCA0OCwgNDgsIDU3LCAxMjgsIDgwLCA0OCwgNDgsIAorICAgIDU2LCAxMjgsIDgwLCA0OCwgNDgsIDU1LCAxMjgsIDgwLCA0OCwgNDgsIDU0LCAxMjgsIDgwLCA0OCwgNDgsIDUzLCAxMjgsIAorICAgIDgwLCA0OCwgNDgsIDUyLCAxMjgsIDgwLCA0OCwgNDgsIDUxLCA2NSwgMTI4LCA4MCwgNDgsIDQ4LCA1MSwgMTI4LCA4MCwgCisgICAgNDgsIDQ4LCA1MCwgMTI4LCA4MCwgNDgsIDQ4LCA0OSwgNjUsIDEyOCwgODAsIDQ4LCA0OCwgNDksIDEyOCwgNzksIDg5LCAKKyAgICA4MiwgNjUsIDc4LCA3MywgODMsIDc3LCAxOTMsIDc5LCA4OSwgNjUsIDc4LCA3OCwgNjUsIDEyOCwgNzksIDg4LCA3MywgNjUsIAorICAgIDEyOCwgNzksIDg4LCA3MywgMTkzLCA3OSwgODgsIDY5LCA3MywgNjUsIDIwMSwgNzksIDg4LCA2OSwgNzMsIDE5MywgNzksIAorICAgIDg2LCA2OSwgODIsIDgyLCA3MywgNjgsIDY5LCAxMjgsIDc5LCA4NiwgNjksIDgyLCA3NiwgNzksIDc4LCAxOTksIDc5LCA4NiwgCisgICAgNjksIDgyLCA3NiwgNzMsIDc4LCA2OSwgMTI4LCA3OSwgODYsIDY5LCA4MiwgNzYsIDY1LCA4OSwgMTI4LCA3OSwgODYsIDY5LCAKKyAgICA4MiwgNzYsIDY1LCA4MCwgODAsIDczLCA3OCwgMTk5LCA3OSwgODYsIDY5LCA4MiwgNzYsIDY1LCA3MywgNjgsIDEyOCwgNzksIAorICAgIDg2LCA2OSwgODIsIDY2LCA2NSwgODIsIDEyOCwgNzksIDg2LCA2NSwgMjA0LCA3OSwgODYsIDEyOCwgNzksIDg1LCA4NCwgCisgICAgNzYsIDczLCA3OCwgNjksIDE5NiwgNzksIDg1LCA4NCwgNzYsIDczLCA3OCwgNjksIDEyOCwgNzksIDg1LCA4NCwgNjksIAorICAgIDIxMCwgNzksIDg1LCA4NCwgNjYsIDc5LCAyMTYsIDc5LCA4NSwgNzgsIDc1LCA3MywgMTkzLCA3OSwgODUsIDc4LCA2NywgCisgICAgNjksIDEyOCwgNzksIDg1LCA3OCwgNjcsIDE5NywgNzksIDg0LCA4NSwgMTI4LCA3OSwgODQsIDg0LCA2NSwgODYsIDE5MywgCisgICAgNzksIDg0LCA4NCwgMTI4LCA3OSwgODQsIDcyLCA2NSwgNzYsIDY1LCAyMDYsIDc5LCA4NCwgNzIsIDY1LCA3NiwgMTI4LCAKKyAgICA3OSwgODMsIDc3LCA2NSwgNzgsIDg5LCAxOTMsIDc5LCA4MywgNjcsIDEyOCwgNzksIDgyLCA4NCwgNzIsIDc5LCA3MSwgNzksIAorICAgIDc4LCA2NSwgMjA0LCA3OSwgODIsIDg0LCA3MiwgNzksIDY4LCA3OSwgMjE2LCA3OSwgODIsIDc4LCA2NSwgODQsIDE5NywgCisgICAgNzksIDgyLCA3OCwgNjUsIDc3LCA2OSwgNzgsIDg0LCAxMjgsIDc5LCA4MiwgNzgsIDY1LCA3NywgNjksIDc4LCAyMTIsIDc5LCAKKyAgICA4MiwgNzUsIDcyLCA3OSwgMjA2LCA3OSwgODIsIDczLCA3MSwgNzMsIDc4LCA2NSwgMjA0LCA3OSwgODIsIDczLCA3MSwgNzMsIAorICAgIDc4LCAxMjgsIDc5LCA4MiwgNjksIDQ1LCA1MCwgMTI4LCA3OSwgODIsIDY4LCA3MywgNzgsIDY1LCAyMDQsIDc5LCA4MiwgCisgICAgNjgsIDY5LCAyMTAsIDc5LCA4MiwgNjcsIDcyLCA3MywgNjgsIDEyOCwgNzksIDgyLCA2NSwgNzgsIDcxLCAxOTcsIDc5LCAKKyAgICA4MCwgODQsIDczLCA3OSwgMjA2LCA3OSwgODAsIDg0LCA3MywgNjcsIDY1LCAyMDQsIDc5LCA4MCwgODAsIDgyLCA2OSwgODMsIAorICAgIDgzLCA3MywgNzksIDc4LCAxMjgsIDc5LCA4MCwgODAsIDc5LCA4MywgNzMsIDg0LCA3MywgNzksIDc4LCAxMjgsIDc5LCA4MCwgCisgICAgODAsIDc5LCA4MywgNzMsIDc4LCAxOTksIDc5LCA4MCwgODAsIDc5LCA4MywgNjksIDEyOCwgNzksIDgwLCA3MiwgNzMsIDg1LCAKKyAgICA2NywgNzIsIDg1LCA4MywgMTI4LCA3OSwgODAsIDY5LCA4MiwgNjUsIDg0LCA3OSwgODIsIDEyOCwgNzksIDgwLCA2OSwgODIsIAorICAgIDY1LCA4NCwgNzksIDIxMCwgNzksIDgwLCA2OSwgODIsIDY1LCA4NCwgNzMsIDc4LCAxOTksIDc5LCA4MCwgNjksIDc4LCA3MywgCisgICAgNzgsIDE5OSwgNzksIDgwLCA2OSwgNzgsIDQ1LCA4MCwgMTI4LCA3OSwgODAsIDY5LCA3OCwgNDUsIDc5LCA4NSwgODQsIDc2LCAKKyAgICA3MywgNzgsIDY5LCAxOTYsIDc5LCA4MCwgNjksIDc4LCA0NSwgNzIsIDY5LCA2NSwgNjgsIDY5LCAxOTYsIDc5LCA4MCwgNjksIAorICAgIDc4LCA0NSwgNjcsIDczLCA4MiwgNjcsIDg1LCA3MywgODQsIDQ1LCA3OSwgODUsIDg0LCA4MCwgODUsIDIxMiwgNzksIDc5LCAKKyAgICA5MCwgNjksIDEyOCwgNzksIDc5LCA4OSwgNjUsIDc4LCA3OCwgNjUsIDEyOCwgNzksIDc5LCA4NSwgMTI4LCA3OSwgNzksIAorICAgIDc3LCA4NSwgMTI4LCA3OSwgNzksIDY5LCAxMjgsIDc5LCA3OSwgNjYsIDc5LCA3OSwgNzAsIDczLCA3NiwgNzMsIDEyOCwgCisgICAgNzksIDc4LCA4NSwgMTI4LCA3OSwgNzgsIDgzLCA4NSwgMTI4LCA3OSwgNzgsIDc4LCAxMjgsIDc5LCA3OCwgNzUsIDY1LCAKKyAgICA4MiwgMTI4LCA3OSwgNzgsIDY5LCA4MywgNjksIDc2LCA3MCwgMTI4LCA3OSwgNzgsIDY5LCA0NSwgODcsIDY1LCAyMTcsIAorICAgIDc5LCA3OCwgNjksIDQ1LCA4NCwgNzIsIDczLCA4MiwgODQsIDg5LCAxMjgsIDc5LCA3OCwgNjksIDQ1LCA3NiwgNzMsIDc4LCAKKyAgICAxOTcsIDc5LCA3OCwgNjcsIDc5LCA3NywgNzMsIDc4LCAxOTksIDc5LCA3OCwgNjUsIDgwLCAxMjgsIDc5LCA3NywgNzMsIAorICAgIDgzLCA4MywgNzMsIDc5LCAyMDYsIDc5LCA3NywgNzMsIDY3LCA4MiwgNzksIDc4LCAxMjgsIDc5LCA3NywgNzMsIDY3LCA4MiwgCisgICAgNzksIDIwNiwgNzksIDc3LCA2OSwgNzEsIDY1LCAxMjgsIDc5LCA3NywgNjksIDcxLCAxOTMsIDc5LCA3NywgNjUsIDc2LCAKKyAgICA3OSwgNzgsIDEyOCwgNzksIDc2LCA3MywgODYsIDY5LCAxMjgsIDc5LCA3NiwgNzMsIDcxLCA3OSwgMjA2LCA3OSwgNzYsIAorICAgIDY4LCAxMjgsIDc5LCA3NSwgODQsIDIwNywgNzksIDc1LCA2NSwgODIsIDY1LCAxMjgsIDc5LCA3NSwgNjUsIDgyLCAxOTMsIAorICAgIDc5LCA3NCwgNzMsIDY2LCA4NywgNjUsIDIxNywgNzksIDc0LCA2OSwgNzksIDc4LCAxMjgsIDc5LCA3MywgNzYsIDEyOCwgCisgICAgNzksIDcyLCA3NywgMTI4LCA3OSwgNzIsIDIwNSwgNzksIDcxLCA4MiwgNjksIDEyOCwgNzksIDcxLCA3OSwgNzgsIDY5LCAKKyAgICA3NSwgMTI4LCA3OSwgNzEsIDc5LCA3OCwgNjksIDIwMywgNzksIDcxLCA3MiwgNjUsIDIwNSwgNzksIDcwLCA3MCwgNzMsIAorICAgIDY3LCA2OSwgODIsIDEyOCwgNzksIDcwLCA3MCwgNzMsIDY3LCA2OSwgMTI4LCA3OSwgNzAsIDcwLCA3MywgNjcsIDE5NywgCisgICAgNzksIDcwLCA3MCwgMTI4LCA3OSwgNjksIDg5LCAxMjgsIDc5LCA2OSwgNzUsIDEyOCwgNzksIDY4LCA2OSwgNzgsIDEyOCwgCisgICAgNzksIDY4LCAxOTYsIDc5LCA2NywgODQsIDc5LCA4MCwgODUsIDgzLCAxMjgsIDc5LCA2NywgODQsIDc5LCA2NiwgNjksIDgyLCAKKyAgICAxMjgsIDc5LCA2NywgODQsIDY5LCAyMTIsIDc5LCA2NywgMjEwLCA3OSwgNjcsIDc2LCA3OSwgNjcsIDc1LCAxMjgsIDc5LCAKKyAgICA2NywgNjcsIDc2LCA4NSwgODMsIDczLCA3OSwgNzgsIDEyOCwgNzksIDY2LCA4MywgODQsIDgyLCA4NSwgNjcsIDg0LCA3MywgCisgICAgNzksIDc4LCAxMjgsIDc5LCA2NiwgNzksIDc2LCAyMTEsIDc5LCA2NiwgNzksIDIwNCwgNzksIDY2LCA3OSwgNzAsIDczLCAKKyAgICA3NiwgNzMsIDEyOCwgNzksIDY2LCA3NiwgNzMsIDgxLCA4NSwgMTk3LCA3OSwgNjYsIDc0LCA2OSwgNjcsIDIxMiwgNzksIAorICAgIDY2LCA2OSwgNzYsIDg1LCA4MywgMTI4LCA3OSwgNjYsIDY5LCA3NiwgNzksIDgzLCAxMjgsIDc5LCA2NiwgMTI4LCA3OSwgCisgICAgNjUsIDg5LCAxMjgsIDc5LCA2NSwgNzUsIDEyOCwgNzksIDY1LCA2NiwgNzksIDY1LCA3MCwgNzMsIDc2LCA3MywgMTI4LCAKKyAgICA3OSwgMTkzLCA3OSwgNDgsIDUzLCA0OSwgMTI4LCA3OSwgNDgsIDUzLCA0OCwgNjYsIDEyOCwgNzksIDQ4LCA1MywgNDgsIAorICAgIDY1LCAxMjgsIDc5LCA0OCwgNTMsIDQ4LCAxMjgsIDc5LCA0OCwgNTIsIDU3LCAxMjgsIDc5LCA0OCwgNTIsIDU2LCAxMjgsIAorICAgIDc5LCA0OCwgNTIsIDU1LCAxMjgsIDc5LCA0OCwgNTIsIDU0LCAxMjgsIDc5LCA0OCwgNTIsIDUzLCAxMjgsIDc5LCA0OCwgCisgICAgNTIsIDUyLCAxMjgsIDc5LCA0OCwgNTIsIDUxLCAxMjgsIDc5LCA0OCwgNTIsIDUwLCAxMjgsIDc5LCA0OCwgNTIsIDQ5LCAKKyAgICAxMjgsIDc5LCA0OCwgNTIsIDQ4LCAxMjgsIDc5LCA0OCwgNTEsIDU3LCAxMjgsIDc5LCA0OCwgNTEsIDU2LCAxMjgsIDc5LCAKKyAgICA0OCwgNTEsIDU1LCAxMjgsIDc5LCA0OCwgNTEsIDU0LCA2OCwgMTI4LCA3OSwgNDgsIDUxLCA1NCwgNjcsIDEyOCwgNzksIAorICAgIDQ4LCA1MSwgNTQsIDY2LCAxMjgsIDc5LCA0OCwgNTEsIDU0LCA2NSwgMTI4LCA3OSwgNDgsIDUxLCA1NCwgMTI4LCA3OSwgCisgICAgNDgsIDUxLCA1MywgMTI4LCA3OSwgNDgsIDUxLCA1MiwgMTI4LCA3OSwgNDgsIDUxLCA1MSwgNjUsIDEyOCwgNzksIDQ4LCAKKyAgICA1MSwgNTEsIDEyOCwgNzksIDQ4LCA1MSwgNTAsIDEyOCwgNzksIDQ4LCA1MSwgNDksIDEyOCwgNzksIDQ4LCA1MSwgNDgsIAorICAgIDY1LCAxMjgsIDc5LCA0OCwgNTEsIDQ4LCAxMjgsIDc5LCA0OCwgNTAsIDU3LCA2NSwgMTI4LCA3OSwgNDgsIDUwLCA1NywgCisgICAgMTI4LCA3OSwgNDgsIDUwLCA1NiwgMTI4LCA3OSwgNDgsIDUwLCA1NSwgMTI4LCA3OSwgNDgsIDUwLCA1NCwgMTI4LCA3OSwgCisgICAgNDgsIDUwLCA1MywgNjUsIDEyOCwgNzksIDQ4LCA1MCwgNTMsIDEyOCwgNzksIDQ4LCA1MCwgNTIsIDY1LCAxMjgsIDc5LCAKKyAgICA0OCwgNTAsIDUyLCAxMjgsIDc5LCA0OCwgNTAsIDUxLCAxMjgsIDc5LCA0OCwgNTAsIDUwLCAxMjgsIDc5LCA0OCwgNTAsIAorICAgIDQ5LCAxMjgsIDc5LCA0OCwgNTAsIDQ4LCA2NSwgMTI4LCA3OSwgNDgsIDUwLCA0OCwgMTI4LCA3OSwgNDgsIDQ5LCA1NywgCisgICAgNjUsIDEyOCwgNzksIDQ4LCA0OSwgNTcsIDEyOCwgNzksIDQ4LCA0OSwgNTYsIDEyOCwgNzksIDQ4LCA0OSwgNTUsIDEyOCwgCisgICAgNzksIDQ4LCA0OSwgNTQsIDEyOCwgNzksIDQ4LCA0OSwgNTMsIDEyOCwgNzksIDQ4LCA0OSwgNTIsIDEyOCwgNzksIDQ4LCAKKyAgICA0OSwgNTEsIDEyOCwgNzksIDQ4LCA0OSwgNTAsIDEyOCwgNzksIDQ4LCA0OSwgNDksIDEyOCwgNzksIDQ4LCA0OSwgNDgsIAorICAgIDY3LCAxMjgsIDc5LCA0OCwgNDksIDQ4LCA2NiwgMTI4LCA3OSwgNDgsIDQ5LCA0OCwgNjUsIDEyOCwgNzksIDQ4LCA0OSwgCisgICAgNDgsIDEyOCwgNzksIDQ4LCA0OCwgNTcsIDEyOCwgNzksIDQ4LCA0OCwgNTYsIDEyOCwgNzksIDQ4LCA0OCwgNTUsIDEyOCwgCisgICAgNzksIDQ4LCA0OCwgNTQsIDcwLCAxMjgsIDc5LCA0OCwgNDgsIDU0LCA2OSwgMTI4LCA3OSwgNDgsIDQ4LCA1NCwgNjgsIAorICAgIDEyOCwgNzksIDQ4LCA0OCwgNTQsIDY3LCAxMjgsIDc5LCA0OCwgNDgsIDU0LCA2NiwgMTI4LCA3OSwgNDgsIDQ4LCA1NCwgCisgICAgNjUsIDEyOCwgNzksIDQ4LCA0OCwgNTQsIDEyOCwgNzksIDQ4LCA0OCwgNTMsIDY1LCAxMjgsIDc5LCA0OCwgNDgsIDUzLCAKKyAgICAxMjgsIDc5LCA0OCwgNDgsIDUyLCAxMjgsIDc5LCA0OCwgNDgsIDUxLCAxMjgsIDc5LCA0OCwgNDgsIDUwLCAxMjgsIDc5LCAKKyAgICA0OCwgNDgsIDQ5LCA2NSwgMTI4LCA3OSwgNDgsIDQ4LCA0OSwgMTI4LCA3OSwgNDUsIDg5LCA2OSwgMTI4LCA3OSwgNDUsIAorICAgIDc5LCA0NSwgNzMsIDEyOCwgNzksIDQ1LCA2OSwgMTI4LCA3OCwgOTAsIDg5LCA4OCwgMTI4LCA3OCwgOTAsIDg5LCA4NCwgCisgICAgMTI4LCA3OCwgOTAsIDg5LCA4MiwgODgsIDEyOCwgNzgsIDkwLCA4OSwgODIsIDEyOCwgNzgsIDkwLCA4OSwgODAsIDEyOCwgCisgICAgNzgsIDkwLCA4OSwgMTI4LCA3OCwgOTAsIDg1LCA4OCwgMTI4LCA3OCwgOTAsIDg1LCA4MiwgODgsIDEyOCwgNzgsIDkwLCAKKyAgICA4NSwgODIsIDEyOCwgNzgsIDkwLCA4NSwgODEsIDEyOCwgNzgsIDkwLCA4NSwgODAsIDEyOCwgNzgsIDkwLCA4NSwgNzksIAorICAgIDg4LCAxMjgsIDc4LCA5MCwgODUsIDc5LCAxMjgsIDc4LCA5MCwgODUsIDIwNiwgNzgsIDkwLCA4NSwgMTI4LCA3OCwgOTAsIAorICAgIDc5LCA4OCwgMTI4LCA3OCwgOTAsIDc5LCA4MCwgMTI4LCA3OCwgOTAsIDczLCA4OCwgMTI4LCA3OCwgOTAsIDczLCA4NCwgCisgICAgMTI4LCA3OCwgOTAsIDczLCA4MCwgMTI4LCA3OCwgOTAsIDczLCA2OSwgODgsIDEyOCwgNzgsIDkwLCA3MywgNjksIDgwLCAKKyAgICAxMjgsIDc4LCA5MCwgNzMsIDY5LCAxMjgsIDc4LCA5MCwgNzMsIDEyOCwgNzgsIDkwLCA2OSwgODgsIDEyOCwgNzgsIDkwLCAKKyAgICA2OSwgODUsIDc3LCAxMjgsIDc4LCA5MCwgNjksIDEyOCwgNzgsIDkwLCA2NSwgODgsIDEyOCwgNzgsIDkwLCA2NSwgODQsIAorICAgIDEyOCwgNzgsIDkwLCA2NSwgODEsIDEyOCwgNzgsIDkwLCA2NSwgODAsIDEyOCwgNzgsIDkwLCA2NSwgMTI4LCA3OCwgOTAsIAorICAgIDE5MywgNzgsIDg5LCA4NywgNjUsIDEyOCwgNzgsIDg5LCA4NSwgODgsIDEyOCwgNzgsIDg5LCA4NSwgODUsIDEyOCwgNzgsIAogICAgIDg5LCA4NSwgODQsIDEyOCwgNzgsIDg5LCA4NSwgODAsIDEyOCwgNzgsIDg5LCA4NSwgNzksIDg4LCAxMjgsIDc4LCA4OSwgCiAgICAgODUsIDc5LCA4MCwgMTI4LCA3OCwgODksIDg1LCA3OSwgMTI4LCA3OCwgODksIDg1LCA2OSwgMTI4LCA3OCwgODksIDg1LCAKICAgICAxMjgsIDc4LCA4OSwgNzksIDg4LCAxMjgsIDc4LCA4OSwgNzksIDg0LCAxMjgsIDc4LCA4OSwgNzksIDgwLCAxMjgsIDc4LCAKICAgICA4OSwgNzksIDc5LCAxMjgsIDc4LCA4OSwgNzksIDY1LCAxMjgsIDc4LCA4OSwgNzksIDEyOCwgNzgsIDg5LCA3NCwgNjUsIAogICAgIDEyOCwgNzgsIDg5LCA3MywgODgsIDEyOCwgNzgsIDg5LCA3MywgODQsIDEyOCwgNzgsIDg5LCA3MywgMjEyLCA3OCwgODksIAogICAgIDczLCAyMTEsIDc4LCA4OSwgNzMsIDIxMCwgNzgsIDg5LCA3MywgODAsIDEyOCwgNzgsIDg5LCA3MywgNzgsIDQ1LCA2OCwgCi0gICAgNzksIDEyOCwgNzgsIDg5LCA3MywgNjksIDg4LCAxMjgsIDc4LCA4OSwgNzMsIDY5LCA4NCwgMTI4LCA3OCwgODksIDczLCAKLSAgICA2OSwgODAsIDEyOCwgNzgsIDg5LCA3MywgNjksIDEyOCwgNzgsIDg5LCA3MywgMTI4LCA3OCwgODksIDIwMSwgNzgsIDg5LCAKLSAgICA2OSwgODQsIDEyOCwgNzgsIDg5LCA2OSwgMjEyLCA3OCwgODksIDY5LCA3MiwgMTI4LCA3OCwgODksIDY5LCAyMDAsIDc4LCAKLSAgICA4OSwgNjksIDY5LCAxMjgsIDc4LCA4OSwgNjksIDEyOCwgNzgsIDg5LCAxOTYsIDc4LCA4OSwgNjcsIDY1LCAxMjgsIDc4LCAKLSAgICA4OSwgNjUsIDY5LCA3NywgNjUsIDY5LCAxMjgsIDc4LCA4OSwgNjUsIDY1LCAxMjgsIDc4LCA4NywgNzksIDc5LCAxMjgsIAotICAgIDc4LCA4NywgNzksIDEyOCwgNzgsIDg3LCA3MywgNzMsIDEyOCwgNzgsIDg3LCA3MywgMTI4LCA3OCwgODcsIDY5LCAxMjgsIAotICAgIDc4LCA4NywgNjUsIDY1LCAxMjgsIDc4LCA4NywgNjUsIDEyOCwgNzgsIDg3LCAxMjgsIDc4LCA4NiwgMTI4LCA3OCwgODUsIAotICAgIDg4LCAxMjgsIDc4LCA4NSwgODUsIDc4LCAxMjgsIDc4LCA4NSwgODQsIDczLCA3NiwgNzYsIDg1LCAxMjgsIDc4LCA4NSwgCi0gICAgODQsIDEyOCwgNzgsIDg1LCAyMTIsIDc4LCA4NSwgODIsIDg4LCAxMjgsIDc4LCA4NSwgODIsIDEyOCwgNzgsIDg1LCA4MCwgCi0gICAgMTI4LCA3OCwgODUsIDc5LCA4OCwgMTI4LCA3OCwgODUsIDc5LCA4MCwgMTI4LCA3OCwgODUsIDc5LCAxMjgsIDc4LCA4NSwgCi0gICAgNzgsIDg1LCA5MCwgMTI4LCA3OCwgODUsIDc4LCA4NSwgMjE4LCA3OCwgODUsIDc4LCA3MSwgMTI4LCA3OCwgODUsIDc4LCAKLSAgICA2NSwgODYsIDg1LCAyMTIsIDc4LCA4NSwgNzgsIDY1LCA4NiwgNzMsIDIwMywgNzgsIDg1LCA3OCwgMTI4LCA3OCwgODUsIAotICAgIDIwNiwgNzgsIDg1LCA3NywgNjksIDgyLCAyMDcsIDc4LCA4NSwgNzcsIDY5LCA4MiwgNjUsIDg0LCA3OSwgMjEwLCA3OCwgCi0gICAgODUsIDc3LCA2OSwgODIsIDY1LCAyMDQsIDc4LCA4NSwgNzcsIDY2LCA2OSwgODIsIDgzLCAxMjgsIDc4LCA4NSwgNzcsIDY2LCAKLSAgICA2OSwgODIsIDEyOCwgNzgsIDg1LCA3NywgMTI4LCA3OCwgODUsIDc2LCA3NiwgMTI4LCA3OCwgODUsIDc2LCAyMDQsIDc4LCAKKyAgICA3OSwgMTI4LCA3OCwgODksIDczLCA3MywgMTI4LCA3OCwgODksIDczLCA2OSwgODgsIDEyOCwgNzgsIDg5LCA3MywgNjksIAorICAgIDg0LCAxMjgsIDc4LCA4OSwgNzMsIDY5LCA4MCwgMTI4LCA3OCwgODksIDczLCA2OSwgMTI4LCA3OCwgODksIDczLCAxMjgsIAorICAgIDc4LCA4OSwgMjAxLCA3OCwgODksIDcyLCA2NSwgMTI4LCA3OCwgODksIDY5LCA4NCwgMTI4LCA3OCwgODksIDY5LCAyMTIsIAorICAgIDc4LCA4OSwgNjksIDcyLCAxMjgsIDc4LCA4OSwgNjksIDIwMCwgNzgsIDg5LCA2OSwgNjksIDEyOCwgNzgsIDg5LCA2OSwgCisgICAgMTI4LCA3OCwgODksIDE5NiwgNzgsIDg5LCA2NywgNjUsIDEyOCwgNzgsIDg5LCA2NSwgODUsIDEyOCwgNzgsIDg5LCA2NSwgCisgICAgNzMsIDEyOCwgNzgsIDg5LCA2NSwgNzIsIDEyOCwgNzgsIDg5LCA2NSwgNjksIDc3LCA2NSwgNjksIDEyOCwgNzgsIDg5LCAKKyAgICA2NSwgNjUsIDEyOCwgNzgsIDg3LCA3OSwgNzksIDEyOCwgNzgsIDg3LCA3OSwgMTI4LCA3OCwgODcsIDczLCA3MywgMTI4LCAKKyAgICA3OCwgODcsIDczLCAxMjgsIDc4LCA4NywgNjksIDEyOCwgNzgsIDg3LCA2NSwgNjUsIDEyOCwgNzgsIDg3LCA2NSwgMTI4LCAKKyAgICA3OCwgODcsIDEyOCwgNzgsIDg2LCAxMjgsIDc4LCA4NSwgODgsIDEyOCwgNzgsIDg1LCA4NSwgNzgsIDEyOCwgNzgsIDg1LCAKKyAgICA4NSwgMTI4LCA3OCwgODUsIDg0LCA3MywgNzYsIDc2LCA4NSwgMTI4LCA3OCwgODUsIDg0LCAxMjgsIDc4LCA4NSwgMjEyLCAKKyAgICA3OCwgODUsIDgyLCA4OCwgMTI4LCA3OCwgODUsIDgyLCAxMjgsIDc4LCA4NSwgODAsIDEyOCwgNzgsIDg1LCA3OSwgODgsIAorICAgIDEyOCwgNzgsIDg1LCA3OSwgODAsIDEyOCwgNzgsIDg1LCA3OSwgMTI4LCA3OCwgODUsIDc4LCA4NSwgOTAsIDEyOCwgNzgsIAorICAgIDg1LCA3OCwgODUsIDIxOCwgNzgsIDg1LCA3OCwgNzEsIDEyOCwgNzgsIDg1LCA3OCwgNjUsIDg2LCA4NSwgMjEyLCA3OCwgCisgICAgODUsIDc4LCA2NSwgODYsIDczLCAyMDMsIDc4LCA4NSwgNzgsIDEyOCwgNzgsIDg1LCAyMDYsIDc4LCA4NSwgNzcsIDY5LCAKKyAgICA4MiwgMjA3LCA3OCwgODUsIDc3LCA2OSwgODIsIDY1LCA4NCwgNzksIDIxMCwgNzgsIDg1LCA3NywgNjksIDgyLCA2NSwgCisgICAgMjA0LCA3OCwgODUsIDc3LCA2NiwgNjksIDgyLCA4MywgMTI4LCA3OCwgODUsIDc3LCA2NiwgNjksIDgyLCAxMjgsIDc4LCAKKyAgICA4NSwgNzcsIDEyOCwgNzgsIDg1LCA3NiwgNzYsIDEyOCwgNzgsIDg1LCA3NiwgMjA0LCA3OCwgODUsIDc2LCAxMjgsIDc4LCAKICAgICA4NSwgNzUsIDg0LCA2NSwgMTI4LCA3OCwgODUsIDY5LCA3OCwgNzEsIDEyOCwgNzgsIDg1LCA2OSwgMTI4LCA3OCwgODUsIAogICAgIDY2LCA3MywgNjUsIDIwNiwgNzgsIDg1LCA2NSwgNjksIDEyOCwgNzgsIDg1LCA0OSwgNDksIDEyOCwgNzgsIDg1LCA0OCwgCiAgICAgNTAsIDUwLCA2NSwgMTI4LCA3OCwgODUsIDQ4LCA1MCwgNTAsIDEyOCwgNzgsIDg1LCA0OCwgNTAsIDQ5LCAxMjgsIDc4LCAKQEAgLTE2NTksNDcwICsxNzgyLDQ5MyBAQAogICAgIDY1LCA2NiwgNzYsIDE5NywgNzgsIDc5LCA3OCwgNDUsIDc0LCA3OSwgNzMsIDc4LCA2OSwgODIsIDEyOCwgNzgsIDc5LCA3OCwgCiAgICAgNDUsIDY2LCA4MiwgNjksIDY1LCA3NSwgNzMsIDc4LCAxOTksIDc4LCA3OSwgNzcsIDczLCA3OCwgNjUsIDIwNCwgNzgsIDc5LCAKICAgICA3NSwgNzIsIDg1LCA3NSwgMTI4LCA3OCwgNzksIDY4LCA2OSwgMTI4LCA3OCwgNzksIDY1LCAxMjgsIDc4LCA3OSwgNDUsIAotICAgIDY2LCA4MiwgNjksIDY1LCAyMDMsIDc4LCA3OCwgNzksIDEyOCwgNzgsIDc4LCA3OCwgNjUsIDEyOCwgNzgsIDc4LCA3MSwgCisgICAgNjYsIDgyLCA2OSwgNjUsIDIwMywgNzgsIDc4LCA4NSwgODUsIDEyOCwgNzgsIDc4LCA4NSwgMTI4LCA3OCwgNzgsIDc5LCAKKyAgICA3OSwgMTI4LCA3OCwgNzgsIDc5LCAxMjgsIDc4LCA3OCwgNzgsIDg1LCA4NSwgMTI4LCA3OCwgNzgsIDc4LCA4NSwgMTI4LCAKKyAgICA3OCwgNzgsIDc4LCA3OSwgNzksIDEyOCwgNzgsIDc4LCA3OCwgNzksIDEyOCwgNzgsIDc4LCA3OCwgNzMsIDczLCAxMjgsIAorICAgIDc4LCA3OCwgNzgsIDczLCAxMjgsIDc4LCA3OCwgNzgsIDY5LCA2OSwgMTI4LCA3OCwgNzgsIDc4LCA2OSwgMTI4LCA3OCwgCisgICAgNzgsIDc4LCA2NSwgODUsIDEyOCwgNzgsIDc4LCA3OCwgNjUsIDczLCAxMjgsIDc4LCA3OCwgNzgsIDY1LCA2NSwgMTI4LCAKKyAgICA3OCwgNzgsIDc4LCA2NSwgMTI4LCA3OCwgNzgsIDc4LCAxMjgsIDc4LCA3OCwgNzIsIDY1LCAxMjgsIDc4LCA3OCwgNzEsIAogICAgIDc5LCA3OSwgMTI4LCA3OCwgNzgsIDcxLCA3OSwgMTI4LCA3OCwgNzgsIDcxLCA3MywgNzMsIDEyOCwgNzgsIDc4LCA3MSwgCiAgICAgNzMsIDEyOCwgNzgsIDc4LCA3MSwgNjUsIDY1LCAxMjgsIDc4LCA3OCwgNzEsIDY1LCAxMjgsIDc4LCA3OCwgNzEsIDEyOCwgCi0gICAgNzgsIDc3LCAxMjgsIDc4LCA3NiwgNDgsIDUwLCA0OCwgMTI4LCA3OCwgNzYsIDQ4LCA0OSwgNTcsIDEyOCwgNzgsIDc2LCAKLSAgICA0OCwgNDksIDU2LCAxMjgsIDc4LCA3NiwgNDgsIDQ5LCA1NSwgNjUsIDEyOCwgNzgsIDc2LCA0OCwgNDksIDU1LCAxMjgsIAotICAgIDc4LCA3NiwgNDgsIDQ5LCA1NCwgMTI4LCA3OCwgNzYsIDQ4LCA0OSwgNTMsIDEyOCwgNzgsIDc2LCA0OCwgNDksIDUyLCAKLSAgICAxMjgsIDc4LCA3NiwgNDgsIDQ5LCA1MSwgMTI4LCA3OCwgNzYsIDQ4LCA0OSwgNTAsIDEyOCwgNzgsIDc2LCA0OCwgNDksIAotICAgIDQ5LCAxMjgsIDc4LCA3NiwgNDgsIDQ5LCA0OCwgMTI4LCA3OCwgNzYsIDQ4LCA0OCwgNTcsIDEyOCwgNzgsIDc2LCA0OCwgCi0gICAgNDgsIDU2LCAxMjgsIDc4LCA3NiwgNDgsIDQ4LCA1NSwgMTI4LCA3OCwgNzYsIDQ4LCA0OCwgNTQsIDEyOCwgNzgsIDc2LCAKLSAgICA0OCwgNDgsIDUzLCA2NSwgMTI4LCA3OCwgNzYsIDQ4LCA0OCwgNTMsIDEyOCwgNzgsIDc2LCA0OCwgNDgsIDUyLCAxMjgsIAotICAgIDc4LCA3NiwgNDgsIDQ4LCA1MSwgMTI4LCA3OCwgNzYsIDQ4LCA0OCwgNTAsIDEyOCwgNzgsIDc2LCA0OCwgNDgsIDQ5LCAKLSAgICAxMjgsIDc4LCA3NSwgNzksIDc3LCAxMjgsIDc4LCA3NSwgMjA3LCA3OCwgNzUsIDczLCA3OCwgNjgsIDczLCAxMjgsIDc4LCAKLSAgICA3NSwgNjUsIDY1LCA4MiwgNjUsIDY5LCAxMjgsIDc4LCA3NCwgODksIDg4LCAxMjgsIDc4LCA3NCwgODksIDg0LCAxMjgsIAotICAgIDc4LCA3NCwgODksIDgyLCA4OCwgMTI4LCA3OCwgNzQsIDg5LCA4MiwgMTI4LCA3OCwgNzQsIDg5LCA4MCwgMTI4LCA3OCwgCi0gICAgNzQsIDg5LCAxMjgsIDc4LCA3NCwgODUsIDg4LCAxMjgsIDc4LCA3NCwgODUsIDgyLCA4OCwgMTI4LCA3OCwgNzQsIDg1LCAKLSAgICA4MiwgMTI4LCA3OCwgNzQsIDg1LCA4MSwgNjUsIDEyOCwgNzgsIDc0LCA4NSwgODAsIDEyOCwgNzgsIDc0LCA4NSwgNzksIAotICAgIDg4LCAxMjgsIDc4LCA3NCwgODUsIDc5LCAxMjgsIDc4LCA3NCwgODUsIDY5LCA4MSwgMTI4LCA3OCwgNzQsIDg1LCA2NSwgCi0gICAgNjksIDEyOCwgNzgsIDc0LCA4NSwgMTI4LCA3OCwgNzQsIDc5LCA4OCwgMTI4LCA3OCwgNzQsIDc5LCA4NCwgMTI4LCA3OCwgCi0gICAgNzQsIDc5LCA4MCwgMTI4LCA3OCwgNzQsIDc5LCA3OSwgMTI4LCA3OCwgNzQsIDc5LCAxMjgsIDc4LCA3NCwgNzMsIDg4LCAKLSAgICAxMjgsIDc4LCA3NCwgNzMsIDg0LCAxMjgsIDc4LCA3NCwgNzMsIDgwLCAxMjgsIDc4LCA3NCwgNzMsIDY5LCA4OCwgMTI4LCAKLSAgICA3OCwgNzQsIDczLCA2OSwgODQsIDEyOCwgNzgsIDc0LCA3MywgNjksIDgwLCAxMjgsIDc4LCA3NCwgNzMsIDY5LCA2OSwgCi0gICAgMTI4LCA3OCwgNzQsIDczLCA2OSwgMTI4LCA3OCwgNzQsIDczLCAxMjgsIDc4LCA3NCwgMjAxLCA3OCwgNzQsIDY5LCA4NSwgCi0gICAgODgsIDEyOCwgNzgsIDc0LCA2OSwgODUsIDg0LCAxMjgsIDc4LCA3NCwgNjksIDg1LCA2NSwgNjksIDc4LCA2NSwgMTI4LCAKLSAgICA3OCwgNzQsIDY5LCA4NSwgNjUsIDY5LCA3NywgMTI4LCA3OCwgNzQsIDY5LCA2OSwgNjksIDY5LCAxMjgsIDc4LCA3NCwgNjksIAotICAgIDY5LCAxMjgsIDc4LCA3NCwgNjksIDE5NywgNzgsIDc0LCA2OSwgMTI4LCA3OCwgNzQsIDY1LCA4MSwgMTI4LCA3OCwgNzQsIAotICAgIDY1LCA4MCwgMTI4LCA3OCwgNzQsIDY1LCA2OSwgNzcsIDc2LCA3MywgMTI4LCA3OCwgNzQsIDY1LCA2OSwgNzcsIDEyOCwgCi0gICAgNzgsIDc0LCA2NSwgNjUsIDEyOCwgNzgsIDc0LCAxMjgsIDc4LCA3MywgODgsIDEyOCwgNzgsIDczLCA4NCwgODIsIDY5LCAKLSAgICAxMjgsIDc4LCA3MywgODMsIDY1LCA3MSwgMTI4LCA3OCwgNzMsIDgyLCA4NSwgNzEsIDg1LCAxMjgsIDc4LCA3MywgODAsIAotICAgIDEyOCwgNzgsIDczLCA3OCwgODQsIDcyLCAxMjgsIDc4LCA3MywgNzgsIDY5LCA4NCwgODksIDEyOCwgNzgsIDczLCA3OCwgCi0gICAgNjksIDg0LCAyMTcsIDc4LCA3MywgNzgsIDY5LCA4NCwgNjksIDY5LCA3OCwgMTI4LCA3OCwgNzMsIDc4LCA2OSwgODQsIDY5LCAKLSAgICA2OSwgMjA2LCA3OCwgNzMsIDc4LCA2OSwgNDUsIDg0LCA3MiwgNzMsIDgyLCA4NCwgODksIDEyOCwgNzgsIDczLCA3OCwgCi0gICAgMTk3LCA3OCwgNzMsIDc4LCA2OCwgNjUsIDUwLCAxMjgsIDc4LCA3MywgNzgsIDY4LCA2NSwgMTc4LCA3OCwgNzMsIDc3LCAKLSAgICAxMjgsIDc4LCA3MywgMjA1LCA3OCwgNzMsIDc1LCA3MiwgNjUsIDcyLCA3MywgODQsIDEyOCwgNzgsIDczLCA3NSwgNjUsIAotICAgIDcyLCA3MywgODQsIDEyOCwgNzgsIDczLCA3NSwgNjUsIDEyOCwgNzgsIDczLCA3MywgMTI4LCA3OCwgNzMsIDcyLCA4MywgCi0gICAgNzIsIDg2LCA2NSwgODMsIDY1LCAxMjgsIDc4LCA3MywgNzEsIDczLCA2OCwgNjUsIDc3LCA3MywgNzgsIDEyOCwgNzgsIDczLCAKLSAgICA3MSwgNzMsIDY4LCA2NSwgNjksIDgzLCA3MiwgMTI4LCA3OCwgNzMsIDcxLCA3MiwgODQsIDEyOCwgNzgsIDczLCA3MSwgNzIsIAotICAgIDIxMiwgNzgsIDczLCA3MSwgNzEsIDY1LCA3MiwgNzMsIDg0LCA2NSwgMTI4LCA3OCwgNzMsIDY5LCA4OCwgMTI4LCA3OCwgCi0gICAgNzMsIDY5LCA4NSwgNzgsIDQ1LCA4NCwgNzMsIDc1LCA2OSwgODUsIDg0LCAxMjgsIDc4LCA3MywgNjksIDg1LCA3OCwgNDUsIAotICAgIDg0LCA3MiwgNzMsIDY5LCA4NSwgODQsIDcyLCAxMjgsIDc4LCA3MywgNjksIDg1LCA3OCwgNDUsIDgzLCA3MywgNzksIDgzLCAKLSAgICAxMjgsIDc4LCA3MywgNjksIDg1LCA3OCwgNDUsIDgyLCA3MywgNjksIDg1LCA3NiwgMTI4LCA3OCwgNzMsIDY5LCA4NSwgNzgsIAotICAgIDQ1LCA4MCwgNzMsIDY5LCA4NSwgODAsIDEyOCwgNzgsIDczLCA2OSwgODUsIDc4LCA0NSwgODAsIDY1LCA3OCwgODMsIDczLCAKLSAgICA3OSwgODMsIDEyOCwgNzgsIDczLCA2OSwgODUsIDc4LCA0NSwgNzUsIDczLCA4OSwgNjksIDc5LCA3NSwgMTI4LCA3OCwgNzMsIAotICAgIDY5LCA4NSwgNzgsIDQ1LCA3MiwgNzMsIDY5LCA4NSwgNzIsIDEyOCwgNzgsIDczLCA2OSwgODUsIDc4LCA0NSwgNjcsIDczLCAKLSAgICA2OSwgODUsIDY3LCAxMjgsIDc4LCA3MywgNjksIDg1LCA3OCwgNDUsIDY3LCA3MiwgNzMsIDY5LCA4NSwgNjcsIDcyLCAxMjgsIAotICAgIDc4LCA3MywgNjksIDg1LCAyMDYsIDc4LCA3MywgNjksIDgwLCAxMjgsIDc4LCA3MywgNjksIDEyOCwgNzgsIDczLCA2NiwgCi0gICAgMTI4LCA3OCwgNzMsIDY1LCAxMjgsIDc4LCA3MywgNTAsIDEyOCwgNzgsIDcyLCA4NSwgNjksIDEyOCwgNzgsIDcyLCA3NCwgCi0gICAgNjUsIDEyOCwgNzgsIDcyLCA2NSwgMTI4LCA3OCwgNzIsIDEyOCwgNzgsIDcxLCA4OSwgNjksIDEyOCwgNzgsIDcxLCA4NiwgCi0gICAgNjksIDEyOCwgNzgsIDcxLCA4NSwgNzksIDg4LCAxMjgsIDc4LCA3MSwgODUsIDc5LCA4NCwgMTI4LCA3OCwgNzEsIDg1LCAKLSAgICA3OSwgMTI4LCA3OCwgNzEsIDg1LCA2NSwgNjksIDg0LCAxMjgsIDc4LCA3MSwgODUsIDY1LCA2OSwgMTI4LCA3OCwgNzEsIAotICAgIDc5LCA4OCwgMTI4LCA3OCwgNzEsIDc5LCA4NSwgMTI4LCA3OCwgNzEsIDc5LCAyMTMsIDc4LCA3MSwgNzksIDg0LCAxMjgsIAotICAgIDc4LCA3MSwgNzksIDgxLCAxMjgsIDc4LCA3MSwgNzksIDgwLCAxMjgsIDc4LCA3MSwgNzksIDc4LCAxMjgsIDc4LCA3MSwgCi0gICAgNzksIDc3LCAxMjgsIDc4LCA3MSwgNzksIDY5LCA3MiwgMTI4LCA3OCwgNzEsIDc5LCA2OSwgMjAwLCA3OCwgNzEsIDIwNywgCi0gICAgNzgsIDcxLCA3NSwgODksIDY5LCA2OSwgMTI4LCA3OCwgNzEsIDc1LCA4NywgNjUsIDY5LCA3OCwgMTI4LCA3OCwgNzEsIDc1LCAKLSAgICA4NSwgODAsIDEyOCwgNzgsIDcxLCA3NSwgODUsIDc4LCAxMjgsIDc4LCA3MSwgNzUsIDg1LCA3NywgMTI4LCA3OCwgNzEsIAotICAgIDc1LCA4NSwgNjksIDc4LCA5MCwgNjksIDg1LCA3NywgMTI4LCA3OCwgNzEsIDc1LCA4NSwgMTk3LCA3OCwgNzEsIDc1LCA3MywgCi0gICAgNzgsIDY4LCAyMDEsIDc4LCA3MSwgNzUsIDczLCA2OSwgNjksIDEyOCwgNzgsIDcxLCA3NSwgNjksIDg1LCA4OCwgMTI4LCAKLSAgICA3OCwgNzEsIDc1LCA2OSwgODUsIDgyLCA3MywgMTI4LCA3OCwgNzEsIDc1LCA2OSwgODUsIDY1LCA2OSwgODEsIDEyOCwgNzgsIAotICAgIDcxLCA3NSwgNjksIDg1LCA2NSwgNjksIDc3LCAxMjgsIDc4LCA3MSwgNzUsIDY1LCA4MSwgMTI4LCA3OCwgNzEsIDc1LCA2NSwgCi0gICAgODAsIDEyOCwgNzgsIDcxLCA3NSwgNjUsIDY1LCA3NywgNzMsIDEyOCwgNzgsIDcxLCA3NSwgNjUsIDEyOCwgNzgsIDcxLCAKLSAgICA3MywgNjksIDg4LCAxMjgsIDc4LCA3MSwgNzMsIDY5LCA4MCwgMTI4LCA3OCwgNzEsIDczLCA2OSwgMTI4LCA3OCwgNzEsIAotICAgIDcxLCA4NywgNjUsIDY5LCA3OCwgMTI4LCA3OCwgNzEsIDcxLCA4NSwgODIsIDY1LCA2OSwgMTI4LCA3OCwgNzEsIDcxLCA4NSwgCi0gICAgODAsIDEyOCwgNzgsIDcxLCA3MSwgODUsIDc5LCA4MSwgMTI4LCA3OCwgNzEsIDcxLCA4NSwgNzksIDIwOSwgNzgsIDcxLCAKLSAgICA3MSwgODUsIDc5LCA3OCwgMTI4LCA3OCwgNzEsIDcxLCA4NSwgNzksIDc3LCAxMjgsIDc4LCA3MSwgNzEsIDg1LCA3NywgCi0gICAgMTI4LCA3OCwgNzEsIDcxLCA4NSwgNjksIDY5LCA4NCwgMTI4LCA3OCwgNzEsIDcxLCA4NSwgNjUsIDY5LCA4MywgNzIsIDY1LCAKLSAgICAxOTcsIDc4LCA3MSwgNzEsIDg1LCA2NSwgNjksIDIwNiwgNzgsIDcxLCA3MSwgODUsIDEyOCwgNzgsIDcxLCA3MSwgNzksIAotICAgIDc5LCAxMjgsIDc4LCA3MSwgNzEsIDc5LCAxMjgsIDc4LCA3MSwgNzEsIDczLCAxMjgsIDc4LCA3MSwgNzEsIDY5LCA4NSwgCi0gICAgODgsIDEyOCwgNzgsIDcxLCA3MSwgNjksIDg1LCA2NSwgNjksIDg0LCAxMjgsIDc4LCA3MSwgNzEsIDY5LCA4NSwgNjUsIDY5LCAKLSAgICAxMjgsIDc4LCA3MSwgNzEsIDY5LCAyMTMsIDc4LCA3MSwgNzEsIDY5LCA3OCwgMTI4LCA3OCwgNzEsIDcxLCA2OSwgNjksIAotICAgIDg0LCAxMjgsIDc4LCA3MSwgNzEsIDY5LCA2OSwgNjksIDY5LCAxMjgsIDc4LCA3MSwgNzEsIDY5LCA2OSwgMTI4LCA3OCwgCi0gICAgNzEsIDcxLCA2OSwgMTI4LCA3OCwgNzEsIDcxLCA2NSwgODAsIDEyOCwgNzgsIDcxLCA3MSwgNjUsIDY1LCA3NywgNjUsIDY5LCAKLSAgICAxMjgsIDc4LCA3MSwgNzEsIDY1LCA2NSwgNzcsIDEyOCwgNzgsIDcxLCA3MSwgMTI4LCA3OCwgNzEsIDY5LCA4OCwgMTI4LCAKLSAgICA3OCwgNzEsIDY5LCA4NSwgODIsIDY5LCA4NSwgODQsIDEyOCwgNzgsIDcxLCA2OSwgODAsIDEyOCwgNzgsIDcxLCA2OSwgNzgsIAotICAgIDEyOCwgNzgsIDcxLCA2OSwgNjUsIDY4LCA2NSwgNzYsIDEyOCwgNzgsIDcxLCA2NSwgODgsIDEyOCwgNzgsIDcxLCA2NSwgCi0gICAgODQsIDEyOCwgNzgsIDcxLCA2NSwgMjExLCA3OCwgNzEsIDY1LCA4MSwgMTI4LCA3OCwgNzEsIDY1LCA4MCwgMTI4LCA3OCwgCi0gICAgNzEsIDY1LCA3OCwgNzEsIDg1LCAxMjgsIDc4LCA3MSwgNjUsIDc4LCAxMjgsIDc4LCA3MSwgNjUsIDczLCAxMjgsIDc4LCAKLSAgICA3MSwgNjUsIDY1LCA3MywgMTI4LCA3OCwgNzEsIDE5MywgNzgsIDcwLCAxMjgsIDc4LCA2OSwgODgsIDIxMiwgNzgsIDY5LCAKLSAgICA4OCwgMTI4LCA3OCwgNjksIDg3LCA4MywgODAsIDY1LCA4MCwgNjksIDgyLCAxMjgsIDc4LCA2OSwgODcsIDc2LCA3MywgNzgsIAotICAgIDY5LCAxMjgsIDc4LCA2OSwgODcsIDEyOCwgNzgsIDY5LCA4NSwgODQsIDgyLCA2NSwgMjA0LCA3OCwgNjksIDg1LCA4NCwgCi0gICAgNjksIDgyLCAxMjgsIDc4LCA2OSwgODQsIDEyOCwgNzgsIDY5LCAyMTIsIDc4LCA2OSwgODMsIDg0LCA2OSwgMTk2LCA3OCwgCi0gICAgNjksIDgxLCA4NSwgNjgsIDY1LCA2NSwgMTI4LCA3OCwgNjksIDgwLCA4NCwgODUsIDc4LCA2OSwgMTI4LCA3OCwgNjksIDgwLCAKLSAgICAxMjgsIDc4LCA2OSwgNzksIDEyOCwgNzgsIDY5LCAyMDcsIDc4LCA2OSwgNzgsIDY1LCA3OCwgNzksIDEyOCwgNzgsIDY5LCAKLSAgICA3OCwgMTI4LCA3OCwgNjksIDczLCA4NCwgNzIsIDY5LCAyMTAsIDc4LCA2OSwgNzEsIDY1LCA4NCwgNzMsIDc5LCAyMDYsIAotICAgIDc4LCA2OSwgNzEsIDY1LCA4NCwgNjksIDE5NiwgNzgsIDY5LCA2OSwgMTI4LCA3OCwgNjksIDY3LCA3NSwgODQsIDczLCA2OSwgCi0gICAgMTI4LCA3OCwgNjksIDY2LCA2OSwgNzgsIDgzLCA4NCwgNzMsIDc3LCA3NywgNjksIDEyOCwgNzgsIDY4LCA4NSwgODgsIAotICAgIDEyOCwgNzgsIDY4LCA4NSwgODQsIDEyOCwgNzgsIDY4LCA4NSwgODIsIDg4LCAxMjgsIDc4LCA2OCwgODUsIDgyLCAxMjgsIAotICAgIDc4LCA2OCwgODUsIDgwLCAxMjgsIDc4LCA2OCwgODUsIDc4LCAxMjgsIDc4LCA2OCwgMjEzLCA3OCwgNjgsIDc5LCA4OCwgCi0gICAgMTI4LCA3OCwgNjgsIDc5LCA4NCwgMTI4LCA3OCwgNjgsIDc5LCA4MCwgMTI4LCA3OCwgNjgsIDc5LCA3OSwgMTI4LCA3OCwgCi0gICAgNjgsIDc5LCA3OCwgMTI4LCA3OCwgNjgsIDc5LCA3NywgNjYsIDg1LCAxMjgsIDc4LCA2OCwgNzksIDc2LCAxOTcsIDc4LCAKLSAgICA2OCwgNzMsIDg4LCAxMjgsIDc4LCA2OCwgNzMsIDg0LCAxMjgsIDc4LCA2OCwgNzMsIDgxLCAxMjgsIDc4LCA2OCwgNzMsIAotICAgIDgwLCAxMjgsIDc4LCA2OCwgNzMsIDY5LCA4OCwgMTI4LCA3OCwgNjgsIDczLCA2OSwgMTI4LCA3OCwgNjgsIDczLCA2OCwgCi0gICAgNjUsIDEyOCwgNzgsIDY4LCA3MywgNjUsIDgxLCAxMjgsIDc4LCA2OCwgNjksIDg4LCAxMjgsIDc4LCA2OCwgNjksIDg1LCAKLSAgICA4OCwgMTI4LCA3OCwgNjgsIDY5LCA4NSwgODQsIDEyOCwgNzgsIDY4LCA2OSwgODUsIDY1LCA2OSwgODIsIDY5LCA2OSwgCi0gICAgMTI4LCA3OCwgNjgsIDY5LCA4MCwgMTI4LCA3OCwgNjgsIDY5LCA2OSwgMTI4LCA3OCwgNjgsIDY5LCAxMjgsIDc4LCA2OCwgCi0gICAgNjUsIDg4LCAxMjgsIDc4LCA2OCwgNjUsIDg0LCAxMjgsIDc4LCA2OCwgNjUsIDgwLCAxMjgsIDc4LCA2OCwgNjUsIDc3LCAKLSAgICAxMjgsIDc4LCA2OCwgNjUsIDY1LCA3OCwgNzEsIDcxLCA2OSwgODUsIDY1LCA2OSwgODQsIDEyOCwgNzgsIDY4LCA2NSwgNjUsIAotICAgIDEyOCwgNzgsIDY4LCA2NSwgMTkzLCA3OCwgNjYsIDg5LCA4OCwgMTI4LCA3OCwgNjYsIDg5LCA4NCwgMTI4LCA3OCwgNjYsIAotICAgIDg5LCA4MiwgODgsIDEyOCwgNzgsIDY2LCA4OSwgODIsIDEyOCwgNzgsIDY2LCA4OSwgODAsIDEyOCwgNzgsIDY2LCA4OSwgCi0gICAgMTI4LCA3OCwgNjYsIDg1LCA4OCwgMTI4LCA3OCwgNjYsIDg1LCA4NCwgMTI4LCA3OCwgNjYsIDg1LCA4MiwgODgsIDEyOCwgCi0gICAgNzgsIDY2LCA4NSwgODIsIDEyOCwgNzgsIDY2LCA4NSwgODAsIDEyOCwgNzgsIDY2LCA4NSwgMTI4LCA3OCwgNjYsIDc5LCAKLSAgICA4OCwgMTI4LCA3OCwgNjYsIDc5LCA4NCwgMTI4LCA3OCwgNjYsIDc5LCA4MCwgMTI4LCA3OCwgNjYsIDc5LCAxMjgsIDc4LCAKLSAgICA2NiwgNzMsIDg4LCAxMjgsIDc4LCA2NiwgNzMsIDg0LCAxMjgsIDc4LCA2NiwgNzMsIDgwLCAxMjgsIDc4LCA2NiwgNzMsIAotICAgIDY5LCA4OCwgMTI4LCA3OCwgNjYsIDczLCA2OSwgODAsIDEyOCwgNzgsIDY2LCA3MywgNjksIDEyOCwgNzgsIDY2LCA3MywgCi0gICAgMTI4LCA3OCwgNjYsIDY1LCA4OCwgMTI4LCA3OCwgNjYsIDY1LCA4NCwgMTI4LCA3OCwgNjYsIDY1LCA4MCwgMTI4LCA3OCwgCi0gICAgNjYsIDY1LCAxMjgsIDc4LCA2NSwgODksIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDc4LCA2NSwgODksIDEyOCwgNzgsIDY1LCAKLSAgICA4OCwgNzMsIDY1LCAyMDYsIDc4LCA2NSwgODgsIDEyOCwgNzgsIDY1LCA4NSwgODQsIDcyLCA4MywgMTI4LCA3OCwgNjUsIAotICAgIDg1LCA2OCwgNzMsIDIxOCwgNzgsIDY1LCA4NCwgODUsIDgyLCA2NSwgMjA0LCA3OCwgNjUsIDg0LCA3MywgNzksIDc4LCA2NSwgCi0gICAgMjA0LCA3OCwgNjUsIDgzLCA3NSwgNjUsIDgwLCAyMDEsIDc4LCA2NSwgODMsIDcyLCA3MywgMTI4LCA3OCwgNjUsIDgzLCAKLSAgICA2NSwgNzYsIDczLCA5MCwgNjUsIDg0LCA3MywgNzksIDIwNiwgNzgsIDY1LCA4MiwgODIsIDc5LCAyMTUsIDc4LCA2NSwgODIsIAotICAgIDEyOCwgNzgsIDY1LCA4MSwgMTI4LCA3OCwgNjUsIDc5LCAyMTEsIDc4LCA2NSwgNzgsIDgzLCA2NSwgNzgsIDY1LCA4MSwgCi0gICAgMTI4LCA3OCwgNjUsIDc4LCA3MSwgNzcsIDc5LCA3OCwgODQsIDcyLCA3OSwgMTI4LCA3OCwgNjUsIDc4LCA2OCwgMTI4LCAKLSAgICA3OCwgNjUsIDc4LCA2NSwgMTI4LCA3OCwgNjUsIDc3LCA2OSwgMTI4LCA3OCwgNjUsIDc3LCAxOTcsIDc4LCA2NSwgNzcsIAotICAgIDUwLCAxMjgsIDc4LCA2NSwgNzcsIDEyOCwgNzgsIDY1LCA3MywgODIsIDE5MywgNzgsIDY1LCA3MywgMjA0LCA3OCwgNjUsIAotICAgIDcxLCA4MiwgMjAxLCA3OCwgNjUsIDcxLCA2NSwgODIsIDEyOCwgNzgsIDY1LCA3MSwgNjUsIDEyOCwgNzgsIDY1LCA3MSwgCi0gICAgMTkzLCA3OCwgNjUsIDcxLCAxMjgsIDc4LCA2NSwgMTk5LCA3OCwgNjUsIDY5LCAxMjgsIDc4LCA2NSwgNjYsIDc2LCA2NSwgCi0gICAgMTI4LCA3OCwgNjUsIDY1LCA4MywgNzMsIDc1LCA4OSwgNjUsIDg5LCA2NSwgMTI4LCA3OCwgNjUsIDY1LCA3NSwgODMsIDczLCAKLSAgICA3NSwgODksIDY1LCA4OSwgNjUsIDEyOCwgNzgsIDY1LCA2NSwgNzMsIDEyOCwgNzgsIDY1LCA2NSwgMTI4LCA3OCwgNjUsIAotICAgIDE5MywgNzgsIDY1LCA1MCwgMTI4LCA3OCwgNDgsIDUyLCA1MCwgMTI4LCA3OCwgNDgsIDUyLCA0OSwgMTI4LCA3OCwgNDgsIAotICAgIDUyLCA0OCwgMTI4LCA3OCwgNDgsIDUxLCA1NywgMTI4LCA3OCwgNDgsIDUxLCA1NiwgMTI4LCA3OCwgNDgsIDUxLCA1NSwgCi0gICAgNjUsIDEyOCwgNzgsIDQ4LCA1MSwgNTUsIDEyOCwgNzgsIDQ4LCA1MSwgNTQsIDEyOCwgNzgsIDQ4LCA1MSwgNTMsIDY1LCAKLSAgICAxMjgsIDc4LCA0OCwgNTEsIDUzLCAxMjgsIDc4LCA0OCwgNTEsIDUyLCA2NSwgMTI4LCA3OCwgNDgsIDUxLCA1MiwgMTI4LCAKLSAgICA3OCwgNDgsIDUxLCA1MSwgNjUsIDEyOCwgNzgsIDQ4LCA1MSwgNTEsIDEyOCwgNzgsIDQ4LCA1MSwgNTAsIDEyOCwgNzgsIAotICAgIDQ4LCA1MSwgNDksIDEyOCwgNzgsIDQ4LCA1MSwgNDgsIDEyOCwgNzgsIDQ4LCA1MCwgNTcsIDEyOCwgNzgsIDQ4LCA1MCwgCi0gICAgNTYsIDEyOCwgNzgsIDQ4LCA1MCwgNTUsIDEyOCwgNzgsIDQ4LCA1MCwgNTQsIDEyOCwgNzgsIDQ4LCA1MCwgNTMsIDY1LCAKLSAgICAxMjgsIDc4LCA0OCwgNTAsIDUzLCAxMjgsIDc4LCA0OCwgNTAsIDUyLCAxMjgsIDc4LCA0OCwgNTAsIDUxLCAxMjgsIDc4LCAKLSAgICA0OCwgNTAsIDUwLCAxMjgsIDc4LCA0OCwgNTAsIDQ5LCAxMjgsIDc4LCA0OCwgNTAsIDQ4LCAxMjgsIDc4LCA0OCwgNDksIAotICAgIDU3LCAxMjgsIDc4LCA0OCwgNDksIDU2LCA2NiwgMTI4LCA3OCwgNDgsIDQ5LCA1NiwgNjUsIDEyOCwgNzgsIDQ4LCA0OSwgCi0gICAgNTYsIDEyOCwgNzgsIDQ4LCA0OSwgNTUsIDEyOCwgNzgsIDQ4LCA0OSwgNTQsIDEyOCwgNzgsIDQ4LCA0OSwgNTMsIDEyOCwgCi0gICAgNzgsIDQ4LCA0OSwgNTIsIDEyOCwgNzgsIDQ4LCA0OSwgNTEsIDEyOCwgNzgsIDQ4LCA0OSwgNTAsIDEyOCwgNzgsIDQ4LCAKLSAgICA0OSwgNDksIDEyOCwgNzgsIDQ4LCA0OSwgNDgsIDEyOCwgNzgsIDQ4LCA0OCwgNTcsIDEyOCwgNzgsIDQ4LCA0OCwgNTYsIAotICAgIDEyOCwgNzgsIDQ4LCA0OCwgNTUsIDEyOCwgNzgsIDQ4LCA0OCwgNTQsIDEyOCwgNzgsIDQ4LCA0OCwgNTMsIDEyOCwgNzgsIAotICAgIDQ4LCA0OCwgNTIsIDEyOCwgNzgsIDQ4LCA0OCwgNTEsIDEyOCwgNzgsIDQ4LCA0OCwgNTAsIDEyOCwgNzgsIDQ4LCA0OCwgCi0gICAgNDksIDEyOCwgNzgsIDQ1LCA2NywgODIsIDY5LCAxOTcsIDc4LCA0NSwgNjUsIDgyLCAyMTcsIDc3LCA4OSwgODgsIDEyOCwgCi0gICAgNzcsIDg5LCA4NCwgMTI4LCA3NywgODksIDgzLCA3NiwgNzMsIDg0LCA2OSwgMTI4LCA3NywgODksIDgwLCAxMjgsIDc3LCAKLSAgICA4OSwgNjUsIDEyOCwgNzcsIDg5LCAxOTMsIDc3LCA4OSwgMTI4LCA3NywgMjE3LCA3NywgODcsIDc5LCA3OSwgMTI4LCA3NywgCi0gICAgODcsIDc5LCAxMjgsIDc3LCA4NywgNzMsIDczLCAxMjgsIDc3LCA4NywgNzMsIDEyOCwgNzcsIDg3LCA2OSwgNjksIDEyOCwgCi0gICAgNzcsIDg3LCA2OSwgMTI4LCA3NywgODcsIDY1LCA2NSwgMTI4LCA3NywgODcsIDY1LCAxMjgsIDc3LCA4NywgMTI4LCA3NywgCi0gICAgMjE1LCA3NywgODYsIDc5LCA4MCwgMTI4LCA3NywgODYsIDczLCAxMjgsIDc3LCA4NiwgNjksIDg1LCA2NSwgNjksIDc4LCAKLSAgICA3MSwgNjUsIDc3LCAxMjgsIDc3LCA4NiwgMTI4LCA3NywgMjE0LCA3NywgODUsIDg4LCAxMjgsIDc3LCA4NSwgODUsIDgzLCAKLSAgICA3MywgNzUsIDY1LCA4NCwgNzksIDY1LCA3OCwgMTI4LCA3NywgODUsIDg1LCA4MiwgNjgsIDcyLCA2NSwgNzQsIDE5MywgNzcsIAotICAgIDg1LCA4NCwgMTI4LCA3NywgODUsIDgzLCA3MywgNjcsIDEyOCwgNzcsIDg1LCA4MywgNzMsIDE5NSwgNzcsIDg1LCA4MywgCi0gICAgNzIsIDgyLCA3OSwgNzksIDc3LCAxMjgsIDc3LCA4NSwgODMsIDcyLCA1MSwgMTI4LCA3NywgODUsIDgzLCA3MiwgMTc5LCAKLSAgICA3NywgODUsIDgzLCA3MiwgMTI4LCA3NywgODUsIDgzLCAyMDAsIDc3LCA4NSwgODIsIDg4LCAxMjgsIDc3LCA4NSwgODIsIAotICAgIDcxLCA4NSwgNTAsIDEyOCwgNzcsIDg1LCA4MiwgNjksIDEyOCwgNzcsIDg1LCA4MiwgNjgsIDY1LCAxMjgsIDc3LCA4NSwgCi0gICAgODIsIDY4LCAxOTMsIDc3LCA4NSwgODIsIDEyOCwgNzcsIDg1LCA4MSwgNjgsIDY1LCA3NywgMTI4LCA3NywgODUsIDgwLCAKLSAgICAxMjgsIDc3LCA4NSwgNzksIDg4LCAxMjgsIDc3LCA4NSwgNzksIDg0LCAxMjgsIDc3LCA4NSwgNzksIDgwLCAxMjgsIDc3LCAKLSAgICA4NSwgNzksIDc3LCA2NSwgNjksIDEyOCwgNzcsIDg1LCA3OSwgMTI4LCA3NywgODUsIDc4LCA4MywgODUsIDY2LCAxMjgsIAotICAgIDc3LCA4NSwgNzgsIDY1LCA3MiwgMTI4LCA3NywgODUsIDc2LCA4NCwgNzMsIDgzLCA2OSwgODQsIDEyOCwgNzcsIDg1LCA3NiwgCi0gICAgODQsIDczLCA4MywgNjksIDIxMiwgNzcsIDg1LCA3NiwgODQsIDczLCA4MCwgNzYsIDczLCA2NywgNjUsIDg0LCA3MywgNzksIAotICAgIDc4LCAxMjgsIDc3LCA4NSwgNzYsIDg0LCA3MywgODAsIDc2LCA3MywgNjcsIDY1LCA4NCwgNzMsIDc5LCAyMDYsIDc3LCA4NSwgCi0gICAgNzYsIDg0LCA3MywgODAsIDc2LCAxOTcsIDc3LCA4NSwgNzYsIDg0LCA3MywgNzksIDY3LCA4NSwgNzYsIDY1LCAyMTAsIDc3LCAKLSAgICA4NSwgNzYsIDg0LCA3MywgNzcsIDY1LCA4MCwgMTI4LCA3NywgODUsIDc2LCA4NCwgMjAxLCA3NywgODUsIDc1LCA4MCwgNzIsIAotICAgIDgyLCA2OSwgNzgsIDcxLCAxMjgsIDc3LCA4NSwgNzMsIDc4LCAxMjgsIDc3LCA4NSwgNzEsIDgzLCAxMjgsIDc3LCA4NSwgCi0gICAgNzEsIDEyOCwgNzcsIDg1LCAxOTksIDc3LCA4NSwgNjksIDEyOCwgNzcsIDg1LCA2NywgNzIsIDEyOCwgNzcsIDg1LCA2NywgCi0gICAgMjAwLCA3NywgODUsIDY3LCA2NSwgNjUsIDY4LCAxMjgsIDc3LCA4NSwgNjUsIDc4LCAxMjgsIDc3LCA4NSwgNjUsIDY5LCAKLSAgICAxMjgsIDc3LCA4NSwgNDUsIDcxLCA2NSwgNjUsIDcyLCA3NiwgNjUsIDE5MywgNzcsIDIxMywgNzcsIDgzLCAxMjgsIDc3LCAKLSAgICA4MCwgNjUsIDEyOCwgNzcsIDc5LCA4OSwgNjUsIDczLCAxMjgsIDc3LCA3OSwgODgsIDEyOCwgNzcsIDc5LCA4NiwgNzMsIAotICAgIDE5NywgNzcsIDc5LCA4NiwgNjksIDE5NiwgNzcsIDc5LCA4NSwgODQsIDcyLCAxMjgsIDc3LCA3OSwgODUsIDg0LCAyMDAsIAotICAgIDc3LCA3OSwgODUsIDgzLCA2OSwgMTI4LCA3NywgNzksIDg1LCA4MywgMTk3LCA3NywgNzksIDg1LCA3OCwgODQsIDY1LCA3MywgCi0gICAgNzgsIDgzLCAxMjgsIDc3LCA3OSwgODUsIDc4LCA4NCwgNjUsIDczLCA3OCwgMTI4LCA3NywgNzksIDg1LCA3OCwgODQsIDY1LCAKLSAgICA3MywgMjA2LCA3NywgNzksIDg1LCA3OCwgMjEyLCA3NywgNzksIDg1LCA3OCwgNjgsIDEyOCwgNzcsIDc5LCA4NSwgNzgsIAotICAgIDE5NiwgNzcsIDc5LCA4NCwgNzIsIDY5LCA4MiwgMTI4LCA3NywgNzksIDg0LCAxMjgsIDc3LCA3OSwgODIsIDg0LCA4NSwgCi0gICAgODUsIDc3LCAxMjgsIDc3LCA3OSwgODIsIDg0LCA2NSwgODIsIDEyOCwgNzcsIDc5LCA4MiwgODAsIDcyLCA3OSwgNzYsIDc5LCAKLSAgICA3MSwgNzMsIDY3LCA2NSwgMjA0LCA3NywgNzksIDgyLCA3OCwgNzMsIDc4LCA3MSwgMTI4LCA3NywgNzksIDgwLCAxMjgsIAotICAgIDc3LCA3OSwgNzksIDgzLCA2OSwgNDUsIDY3LCA4MiwgNjksIDE5NywgNzcsIDc5LCA3OSwgNzgsIDEyOCwgNzcsIDc5LCA3OSwgCi0gICAgMjA2LCA3NywgNzksIDc5LCA3NywgODAsIDg1LCA4MSwgMTI4LCA3NywgNzksIDc5LCA3NywgNjksIDg1LCA4NCwgMTI4LCAKLSAgICA3NywgNzksIDc5LCAxMjgsIDc3LCA3OSwgNzgsIDg0LCA3MywgNjksIDY5LCA3OCwgMTI4LCA3NywgNzksIDc4LCA4NCwgNzIsIAotICAgIDEyOCwgNzcsIDc5LCA3OCwgODQsIDIwMCwgNzcsIDc5LCA3OCwgODMsIDg0LCA2OSwgODIsIDEyOCwgNzcsIDc5LCA3OCwgCi0gICAgNzksIDgzLCA4NCwgNjUsIDY2LCA3NiwgMTk3LCA3NywgNzksIDc4LCA3OSwgODMsIDgwLCA2NSwgNjcsIDE5NywgNzcsIDc5LCAKLSAgICA3OCwgNzksIDgyLCA2NSwgNzMsIDc2LCAxMjgsIDc3LCA3OSwgNzgsIDc5LCA3MSwgODIsIDY1LCA4MCwgMjAwLCA3NywgNzksIAotICAgIDc4LCA3OSwgNzEsIDgyLCA2NSwgNzcsIDc3LCA3OSwgMjExLCA3NywgNzksIDc4LCA3OSwgNzEsIDgyLCA2NSwgMjA1LCA3NywgCi0gICAgNzksIDc4LCA3OSwgNzAsIDc5LCA3OCwgNzMsIDY1LCA4MywgMTI4LCA3NywgNzksIDc4LCA3OSwgNjcsIDg1LCA3NiwgNjUsIAotICAgIDIxMCwgNzcsIDc5LCA3OCwgNzUsIDY5LCA4OSwgMTI4LCA3NywgNzksIDc4LCA3NSwgNjksIDIxNywgNzcsIDc5LCA3OCwgCi0gICAgNzMsIDEyOCwgNzcsIDc5LCA3OCwgNzEsIDc1LCA2OSwgODUsIDY1LCA2OSwgODEsIDEyOCwgNzcsIDc5LCA3OCwgNjksIAotICAgIDIxNywgNzcsIDc5LCA3OCwgMTI4LCA3NywgNzksIDIwNiwgNzcsIDc5LCA3NiwgMTI4LCA3NywgNzksIDcyLCA2NSwgNzcsIAotICAgIDc3LCA2NSwgMTk2LCA3NywgNzksIDY4LCA4NSwgNzYsIDIwNywgNzcsIDc5LCA2OCwgNjksIDgzLCA4NCwgODksIDEyOCwgCi0gICAgNzcsIDc5LCA2OCwgNjksIDc2LCA4MywgMTI4LCA3NywgNzksIDY4LCA2OSwgNzYsIDEyOCwgNzcsIDc5LCA2OCwgNjksIAotICAgIDEyOCwgNzcsIDc5LCA2NiwgNzMsIDc2LCAxOTcsIDc3LCA3OSwgNjUsIDEyOCwgNzcsIDIwNywgNzcsIDc4LCA4OSwgNjUsIAotICAgIDIwNSwgNzcsIDc4LCA2NSwgODMsIDEyOCwgNzcsIDc3LCAxMjgsIDc3LCAyMDUsIDc3LCA3NiwgNjUsIDEyOCwgNzcsIDc2LCAKLSAgICAxMjgsIDc3LCA3NSwgODAsIDY1LCA4MiwgNjUsIDIwOSwgNzcsIDczLCA4OCwgMTI4LCA3NywgNzMsIDg0LCAxMjgsIDc3LCAKLSAgICA3MywgMjEyLCA3NywgNzMsIDgzLCA4MiwgNjUsIDEyOCwgNzcsIDczLCA4MiwgNzMsIDY2LCA2NSwgNjUsIDgyLCA4NSwgCi0gICAgMTI4LCA3NywgNzMsIDgyLCA3MywgMTI4LCA3NywgNzMsIDgyLCA2OSwgNjgsIDEyOCwgNzcsIDczLCA4MCwgMTI4LCA3NywgCi0gICAgNzMsIDc4LCA4OSwgMTI4LCA3NywgNzMsIDc4LCA4NSwgODMsIDQ1LCA3OSwgODIsIDQ1LCA4MCwgNzYsIDg1LCAyMTEsIDc3LCAKLSAgICA3MywgNzgsIDg1LCA4MywgMTI4LCA3NywgNzMsIDc4LCA3MywgODMsIDg0LCA2OSwgODIsIDEyOCwgNzcsIDczLCA3OCwgNzMsIAotICAgIDc3LCA2NSwgMTI4LCA3NywgNzMsIDc4LCA3MywgNjgsIDczLCA4MywgNjcsIDEyOCwgNzcsIDczLCA3OCwgNzMsIDY2LCA4NSwgCi0gICAgODMsIDEyOCwgNzcsIDczLCA3NywgNjksIDEyOCwgNzcsIDczLCA3NywgMTI4LCA3NywgNzMsIDc2LCA3NiwgNzMsIDc5LCAKLSAgICA3OCwgMjExLCA3NywgNzMsIDc2LCA3NiwgNjksIDg0LCAxMjgsIDc3LCA3MywgNzYsIDc2LCAxOTcsIDc3LCA3MywgNzYsIAotICAgIDIwNCwgNzcsIDczLCA3NiwgNzUsIDIxNywgNzcsIDczLCA3NiwgMTI4LCA3NywgNzMsIDc1LCA4NSwgODIsIDc5LCA3OCwgCi0gICAgMTI4LCA3NywgNzMsIDc1LCA4MiwgNzksIDIwNiwgNzcsIDczLCA3NSwgODIsIDczLCAxMjgsIDc3LCA3MywgNzMsIDc4LCAKLSAgICAxMjgsIDc3LCA3MywgNzMsIDEyOCwgNzcsIDczLCAxOTksIDc3LCA3MywgNjksIDg4LCAxMjgsIDc3LCA3MywgNjksIDg1LCAKLSAgICA3NywgNDUsIDg0LCA3MywgNzUsIDY5LCA4NSwgODQsIDEyOCwgNzcsIDczLCA2OSwgODUsIDc3LCA0NSwgODMsIDgzLCA2NSwgCi0gICAgNzgsIDcxLCA4MywgNzMsIDc5LCA4MywgMTI4LCA3NywgNzMsIDY5LCA4NSwgNzcsIDQ1LCA4MywgODMsIDY1LCA3OCwgNzEsIAotICAgIDc4LCA3MywgNjksIDg1LCA3OCwgMTI4LCA3NywgNzMsIDY5LCA4NSwgNzcsIDQ1LCA4MiwgNzMsIDY5LCA4NSwgNzYsIDEyOCwgCi0gICAgNzcsIDczLCA2OSwgODUsIDc3LCA0NSwgODAsIDczLCA2OSwgODUsIDgwLCA0NSwgODMsIDczLCA3OSwgODMsIDEyOCwgNzcsIAotICAgIDczLCA2OSwgODUsIDc3LCA0NSwgODAsIDczLCA2OSwgODUsIDgwLCAxMjgsIDc3LCA3MywgNjksIDg1LCA3NywgNDUsIDgwLCAKLSAgICA2NSwgNzgsIDgzLCA3MywgNzksIDgzLCAxMjgsIDc3LCA3MywgNjksIDg1LCA3NywgNDUsIDc4LCA3MywgNjksIDg1LCA3OCwgCi0gICAgMTI4LCA3NywgNzMsIDY5LCA4NSwgNzcsIDQ1LCA2NywgNzMsIDY5LCA4NSwgNjcsIDEyOCwgNzcsIDczLCA2OSwgODUsIDc3LCAKLSAgICA0NSwgNjcsIDcyLCA3MywgNjksIDg1LCA2NywgNzIsIDEyOCwgNzcsIDczLCA2OSwgODUsIDIwNSwgNzcsIDczLCA2OSwgODAsIAotICAgIDEyOCwgNzcsIDczLCA2OSwgNjksIDEyOCwgNzcsIDczLCA2OSwgMTI4LCA3NywgNzMsIDY4LCA3NiwgNzMsIDc4LCAxOTcsIAotICAgIDc3LCA3MywgNjgsIDY4LCA3NiwgNjksIDQ1LCA4NywgNjksIDc2LCA4MywgMjAwLCA3NywgNzMsIDY4LCA2OCwgNzYsIDE5NywgCi0gICAgNzcsIDczLCAxOTYsIDc3LCA3MywgNjcsIDgyLCA3OSwgODMsIDY3LCA3OSwgODAsIDY5LCAxMjgsIDc3LCA3MywgNjcsIDgyLCAKLSAgICA3OSwgODAsIDcyLCA3OSwgNzgsIDY5LCAxMjgsIDc3LCA3MywgNjcsIDgyLCAyMDcsIDc3LCA3MiwgOTAsIDEyOCwgNzcsIAotICAgIDcyLCAxMjgsIDc3LCA3MSwgODUsIDg4LCAxMjgsIDc3LCA3MSwgODUsIDg0LCAxMjgsIDc3LCA3MSwgODUsIDgyLCA4OCwgCi0gICAgMTI4LCA3NywgNzEsIDg1LCA4MiwgMTI4LCA3NywgNzEsIDg1LCA4MCwgMTI4LCA3NywgNzEsIDg1LCA3OSwgODgsIDEyOCwgCi0gICAgNzcsIDcxLCA4NSwgNzksIDgwLCAxMjgsIDc3LCA3MSwgODUsIDc5LCAxMjgsIDc3LCA3MSwgODUsIDEyOCwgNzcsIDcxLCAKLSAgICA3OSwgODgsIDEyOCwgNzcsIDcxLCA3OSwgODQsIDEyOCwgNzcsIDcxLCA3OSwgODAsIDEyOCwgNzcsIDcxLCA3OSwgMTI4LCAKLSAgICA3NywgNzEsIDIwNywgNzcsIDcxLCA3MywgNjksIDg4LCAxMjgsIDc3LCA3MSwgNzMsIDY5LCAxMjgsIDc3LCA3MSwgNjksIAotICAgIDg4LCAxMjgsIDc3LCA3MSwgNjksIDgwLCAxMjgsIDc3LCA3MSwgNjksIDEyOCwgNzcsIDcxLCA2NiwgODUsIDEyOCwgNzcsIAotICAgIDcxLCA2NiwgNzksIDc5LCAxMjgsIDc3LCA3MSwgNjYsIDc5LCA3MCwgODUsIDc3LCAxMjgsIDc3LCA3MSwgNjYsIDc5LCAKLSAgICAxMjgsIDc3LCA3MSwgNjYsIDczLCAxMjgsIDc3LCA3MSwgNjYsIDY5LCA4NSwgNzgsIDEyOCwgNzcsIDcxLCA2NiwgNjksIAotICAgIDc4LCAxMjgsIDc3LCA3MSwgNjYsIDY5LCA2OSwgMTI4LCA3NywgNzEsIDY2LCA2OSwgMTI4LCA3NywgNzEsIDY2LCA2NSwgCi0gICAgODMsIDY1LCA4MSwgMTI4LCA3NywgNzEsIDY2LCA2NSwgODMsIDY1LCAxMjgsIDc3LCA3MSwgNjUsIDg4LCAxMjgsIDc3LCAKLSAgICA3MSwgNjUsIDg0LCAxMjgsIDc3LCA3MSwgNjUsIDgwLCAxMjgsIDc3LCA3MSwgNjUsIDEyOCwgNzcsIDcxLCAxMjgsIDc3LCAKLSAgICA3MCwgNzksIDc4LCAxMjgsIDc3LCA3MCwgNzksIDIwNiwgNzcsIDcwLCA3OSwgMTI4LCA3NywgNzAsIDczLCA4OSwgNjUsIAotICAgIDgxLCAxMjgsIDc3LCA3MCwgNzMsIDY5LCA2OSwgMTI4LCA3NywgNzAsIDY5LCA4NSwgODQsIDEyOCwgNzcsIDcwLCA2OSwgCi0gICAgODUsIDgxLCAxMjgsIDc3LCA3MCwgNjksIDg1LCA2NSwgNjksIDEyOCwgNzcsIDcwLCA2NSwgNjUsIDEyOCwgNzcsIDY5LCAKLSAgICA5MCwgOTAsIDc5LCAxMjgsIDc3LCA2OSwgODgsIDEyOCwgNzcsIDY5LCA4NSwgMjEyLCA3NywgNjksIDg1LCA4MSwgMTI4LCAKLSAgICA3NywgNjksIDg1LCA3OCwgNzQsIDc5LCA3NywgNzgsIDY4LCA2OSwgODUsIDgxLCAxMjgsIDc3LCA2OSwgODUsIDc4LCAxMjgsIAotICAgIDc3LCA2OSwgODQsIDgyLCA3OSwgMTI4LCA3NywgNjksIDg0LCA4MiwgNzMsIDY3LCA2NSwgMjA0LCA3NywgNjksIDg0LCA4MiwgCi0gICAgNzMsIDY1LCAxMjgsIDc3LCA2OSwgODQsIDgyLCA2OSwgODQsIDY5LCAyMTEsIDc3LCA2OSwgODQsIDc5LCA2NiwgNjksIDc2LCAKLSAgICA4NSwgODMsIDEyOCwgNzcsIDY5LCA4NCwgNjksIDc1LCAxMjgsIDc3LCA2OSwgODQsIDY5LCA3MSwgMTI4LCA3NywgNjksIAotICAgIDg0LCA2NSwgNzYsIDEyOCwgNzcsIDY5LCA4NCwgMTkzLCA3NywgNjksIDgzLCA4MywgNjksIDc4LCA3MywgNjUsIDIwNiwgCi0gICAgNzcsIDY5LCA4MywgNzksIDEyOCwgNzcsIDY5LCA4MywgNzMsIDEyOCwgNzcsIDY5LCA4MywgNzIsIDEyOCwgNzcsIDY5LCAKLSAgICA4MiwgNzUsIDcyLCA2NSwgMTI4LCA3NywgNjksIDgyLCA3NSwgNzIsIDE5MywgNzcsIDY5LCA4MiwgNzMsIDY4LCA3MywgNjUsIAotICAgIDc4LCA4MywgMTI4LCA3NywgNjksIDgyLCA3MywgMTI4LCA3NywgNjksIDgyLCA3MSwgNjksIDEyOCwgNzcsIDY5LCA4MiwgCi0gICAgNjcsIDg1LCA4MiwgODksIDEyOCwgNzcsIDY5LCA4MiwgNjcsIDg1LCA4MiwgMjE3LCA3NywgNjksIDc4LCA2OCwgODUsIDg0LCAKLSAgICAxMjgsIDc3LCA2OSwgNzgsIDEyOCwgNzcsIDY5LCA3NywgNzksIDEyOCwgNzcsIDY5LCA3NywgNjYsIDY5LCA4MiwgODMsIAotICAgIDcyLCA3MywgODAsIDEyOCwgNzcsIDY5LCA3NywgNjYsIDY5LCA4MiwgMTI4LCA3NywgNjksIDc3LCA2NiwgNjksIDIxMCwgCi0gICAgNzcsIDY5LCA3NywgNDUsIDgxLCA3OSwgODAsIDcyLCAxMjgsIDc3LCA2OSwgNzcsIDEyOCwgNzcsIDY5LCAyMDUsIDc3LCAKLSAgICA2OSwgNzYsIDc5LCA2OCwgNzMsIDE5NSwgNzcsIDY5LCA3NiwgNzMsIDc1LCAxMjgsIDc3LCA2OSwgNzMsIDkwLCA3MywgCi0gICAgMTI4LCA3NywgNjksIDcxLCA2NSwgODQsIDc5LCA3OCwgMTI4LCA3NywgNjksIDcxLCA2NSwgODAsIDcyLCA3OSwgNzgsIDY5LCAKLSAgICAxMjgsIDc3LCA2OSwgNzEsIDY1LCA3NiwgNzMsIDEyOCwgNzcsIDY5LCA2OSwgODQsIDc5LCA4MiwgODUsIDEyOCwgNzcsIAotICAgIDY5LCA2OSwgODQsIDY5LCAyMDEsIDc3LCA2OSwgNjksIDg0LCAxMjgsIDc3LCA2OSwgNjksIDc3LCA4NSwgMTI4LCA3NywgCi0gICAgNjksIDY5LCA3NywgMTI4LCA3NywgNjksIDY5LCA2OSwgNjksIDEyOCwgNzcsIDY5LCA2OSwgMTI4LCA3NywgNjksIDY4LCAKLSAgICA3MywgODUsIDc3LCAxMjgsIDc3LCA2OSwgNjgsIDczLCA4NSwgMjA1LCA3NywgNjksIDY4LCA3MywgNjcsIDczLCA3OCwgNjksIAotICAgIDEyOCwgNzcsIDY5LCA2OCwgNzMsIDY3LCA2NSwgMjA0LCA3NywgNjksIDY1LCA4NCwgMTI4LCA3NywgNjksIDY1LCAyMTIsIAotICAgIDc3LCA2OSwgNjUsIDgzLCA4NSwgODIsIDY5LCAxOTYsIDc3LCA2OSwgNjUsIDgzLCA4NSwgODIsIDY5LCAxMjgsIDc3LCA2OSwgCi0gICAgNjUsIDgzLCA4NSwgODIsIDE5NywgNzcsIDY4LCA4NSwgMjA2LCA3NywgNjcsIDcyLCAyMTMsIDc3LCA2NywgNzIsIDY1LCAKLSAgICAyMDYsIDc3LCA2NiwgODUsIDc5LCA4MSwgMTI4LCA3NywgNjYsIDg1LCA3OSwgMTI4LCA3NywgNjYsIDg1LCA2OSwgMTI4LCAKLSAgICA3NywgNjYsIDg1LCA2NSwgNjksIDc3LCAxMjgsIDc3LCA2NiwgODUsIDY1LCA2OSwgMTI4LCA3NywgNjYsIDc5LCA3OSwgCi0gICAgMTI4LCA3NywgNjYsIDc5LCAxMjgsIDc3LCA2NiwgNzMsIDg0LCAxMjgsIDc3LCA2NiwgNzMsIDIxMiwgNzcsIDY2LCA3MywgCi0gICAgODIsIDczLCA2OSwgNjksIDc4LCAxMjgsIDc3LCA2NiwgNzMsIDEyOCwgNzcsIDY2LCA2OSwgODUsIDg4LCAxMjgsIDc3LCAKLSAgICA2NiwgNjksIDg1LCA4MiwgNzMsIDEyOCwgNzcsIDY2LCA2OSwgODUsIDc3LCAxMjgsIDc3LCA2NiwgNjksIDgyLCA2NSwgNjksIAotICAgIDEyOCwgNzcsIDY2LCA2OSwgNzgsIDEyOCwgNzcsIDY2LCA2OSwgNjksIDc1LCA2OSwgNjksIDg0LCAxMjgsIDc3LCA2NiwgCi0gICAgNjksIDY5LCAxMjgsIDc3LCA2NiwgNjksIDEyOCwgNzcsIDY2LCA2NSwgODEsIDEyOCwgNzcsIDY2LCA2NSwgNzgsIDg5LCAKLSAgICA3MywgMTI4LCA3NywgNjYsIDY1LCA2NSwgODIsIDY1LCA2OSwgMTI4LCA3NywgNjYsIDY1LCA2NSwgNzUsIDY5LCA4NCwgCi0gICAgMTI4LCA3NywgNjYsIDY1LCA2NSwgMTI4LCA3NywgNjYsIDY1LCAxOTMsIDc3LCA2NiwgMTkzLCA3NywgNjYsIDUyLCAxMjgsIAotICAgIDc3LCA2NiwgNTEsIDEyOCwgNzcsIDY2LCA1MCwgMTI4LCA3NywgNjYsIDEyOCwgNzcsIDE5NCwgNzcsIDY1LCA4OSwgNjksIAotICAgIDIwMywgNzcsIDY1LCA4OSwgNjUsIDc4LCA3OCwgNjUsIDEyOCwgNzcsIDY1LCA4OSwgMTI4LCA3NywgNjUsIDg4LCA3MywgCi0gICAgNzcsIDY1LCAxMjgsIDc3LCA2NSwgODgsIDEyOCwgNzcsIDY1LCA4NCwgODQsIDc5LCA2NywgNzUsIDEyOCwgNzcsIDY1LCAKLSAgICA4NCwgODIsIDczLCA4OCwgMTI4LCA3NywgNjUsIDg0LCA2OSwgODIsIDczLCA2NSwgNzYsIDgzLCAxMjgsIDc3LCA2NSwgODQsIAotICAgIDEyOCwgNzcsIDY1LCA4MywgMjEzLCA3NywgNjUsIDgzLCA4MywgNzMsIDc4LCA3MSwgMTI4LCA3NywgNjUsIDgzLCA4MywgCi0gICAgNjUsIDcxLCA2OSwgMTI4LCA3NywgNjUsIDgzLCA3OSwgODIsIDE5MywgNzcsIDY1LCA4MywgNzUsIDEyOCwgNzcsIDY1LCAKLSAgICA4MywgNzIsIDcwLCA2NSwgNjUsIDg0LCAxMjgsIDc3LCA2NSwgODMsIDcyLCA1MCwgMTI4LCA3NywgNjUsIDgzLCA2NywgODUsIAotICAgIDc2LCA3MywgNzgsIDE5NywgNzcsIDY1LCA4MiwgODksIDEyOCwgNzcsIDY1LCA4MiwgODUsIDc1LCA4NSwgMTI4LCA3NywgCi0gICAgNjUsIDgyLCA4NCwgODksIDgyLCA3MywgMTkzLCA3NywgNjUsIDgyLCA4MiwgODksIDczLCA3OCwgMTk5LCA3NywgNjUsIDgyLCAKLSAgICA4MiwgNzMsIDY1LCA3MSwgMTk3LCA3NywgNjUsIDgyLCA3NSwgNjksIDgyLCAxMjgsIDc3LCA2NSwgODIsIDc1LCA0NSwgNTIsIAotICAgIDEyOCwgNzcsIDY1LCA4MiwgNzUsIDQ1LCA1MSwgMTI4LCA3NywgNjUsIDgyLCA3NSwgNDUsIDUwLCAxMjgsIDc3LCA2NSwgCi0gICAgODIsIDc1LCA0NSwgNDksIDEyOCwgNzcsIDY1LCA4MiwgNjksIDEyOCwgNzcsIDY1LCA4MiwgNjcsIDcyLCAxMjgsIDc3LCAKLSAgICA2NSwgODIsIDY3LCA2NSwgODQsIDc5LCA0NSwgODMsIDg0LCA2NSwgNjcsIDY3LCA2NSwgODQsIDc5LCAxMjgsIDc3LCA2NSwgCi0gICAgODIsIDY3LCA2NSwgODQsIDc5LCAxMjgsIDc3LCA2NSwgODIsIDY3LCA2NSwgODMsIDczLCA4NCwgNjksIDEyOCwgNzcsIDY1LCAKLSAgICA4MiwgNjYsIDg1LCA4NCwgNjUsIDEyOCwgNzcsIDY1LCA4MiwgNjYsIDg1LCA4NCwgMTkzLCA3NywgNjUsIDgyLCAxMjgsIAotICAgIDc3LCA2NSwgODEsIDY1LCA3MCwgMTI4LCA3NywgNjUsIDgxLCAxMjgsIDc3LCA2NSwgODAsIDc2LCAxOTcsIDc3LCA2NSwgCi0gICAgODAsIDczLCA4MSwgMTI4LCA3NywgNjUsIDIwOCwgNzcsIDY1LCA3OSwgMTI4LCA3NywgNjUsIDc4LCA4MywgODksIDc5LCAKLSAgICA3OCwgMTI4LCA3NywgNjUsIDc4LCA4MywgODUsIDY1LCA2OSwgMTI4LCA3NywgNjUsIDc4LCA3OCwgNjUsIDIxOCwgNzcsIAotICAgIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDc3LCA2NSwgNzgsIDcxLCA2NSwgNzYsIDY1LCA3NywgMTI4LCA3NywgNjUsIDc4LCA2OCwgCi0gICAgNjUsIDczLCA3NiwgNzMsIDc4LCAxOTksIDc3LCA2NSwgNzgsIDY4LCA2NSwgNzMsIDE5NSwgNzcsIDY1LCA3OCwgNjcsIDcyLCAKLSAgICAyMTMsIDc3LCA2NSwgNzgsIDY1LCA2NywgNzYsIDY5LCA4MywgMTI4LCA3NywgNjUsIDc2LCA4NCwgNjksIDgzLCAxOTcsIAotICAgIDc3LCA2NSwgNzYsIDY5LCA2OSwgODIsIDczLCAxMjgsIDc3LCA2NSwgNzYsIDY5LCAxMjgsIDc3LCA2NSwgNzYsIDE5NywgCi0gICAgNzcsIDY1LCA3NiwgNjUsIDc1LCA3OSwgMjA2LCA3NywgNjUsIDc1LCA4MywgODUsIDgyLCA2NSwgMTI4LCA3NywgNjUsIDczLCAKLSAgICA5MCwgNjksIDEyOCwgNzcsIDY1LCA3MywgODksIDY1LCA3NywgNzksIDc1LCAxMjgsIDc3LCA2NSwgNzMsIDg0LCA2NSwgNzMsIAotICAgIDc1LCA3MiwgODUsIDEyOCwgNzcsIDY1LCA3MywgODIsIDg1LCAxMjgsIDc3LCA2NSwgNzMsIDc3LCA4NSwgNjUsIDc4LCAKLSAgICAxMjgsIDc3LCA2NSwgNzMsIDc3LCA2NSwgNzYsIDY1LCA3MywgMTI4LCA3NywgNjUsIDczLCA3NiwgNjYsIDc5LCAyMTYsIAotICAgIDc3LCA2NSwgNzMsIDc1LCA4NSwgODIsIDc5LCAxMjgsIDc3LCA2NSwgNzMsIDY4LCA2OSwgNzgsIDEyOCwgNzcsIDY1LCA3MiwgCi0gICAgNzQsIDc5LCA3OCwgMTk5LCA3NywgNjUsIDcyLCA3MiwgNjUsIDEyOCwgNzcsIDY1LCA3MiwgNjUsIDgwLCA4MiwgNjUsIDc4LCAKLSAgICA2NSwgMTI4LCA3NywgNjUsIDcyLCA2NSwgODAsIDY1LCA3NSwgNzIsIDEyOCwgNzcsIDY1LCA3MiwgNjUsIDY1LCA4MCwgODIsIAotICAgIDY1LCA2NSwgNzgsIDE5MywgNzcsIDY1LCA3MiwgMTI4LCA3NywgNjUsIDcxLCA3OCwgNzMsIDcwLCA4OSwgNzMsIDc4LCAKLSAgICAxOTksIDc3LCA2NSwgNjksIDgzLCA3MywgMTI4LCA3NywgNjUsIDY5LCA3OCwgODksIDczLCAxMjgsIDc3LCA2NSwgNjksIAotICAgIDc4LCA3NCwgNjksIDg0LCAxMjgsIDc3LCA2NSwgNjksIDc3LCA4NiwgNjksIDg1LCA4OCwgMTI4LCA3NywgNjUsIDY5LCA3NywgCi0gICAgNzUsIDgwLCA2OSwgNzgsIDEyOCwgNzcsIDY1LCA2OSwgNzcsIDcxLCA2NiwgNzMsIDY5LCA2OSwgMTI4LCA3NywgNjUsIDY5LCAKLSAgICA3NywgNjYsIDcxLCA2NiwgNzMsIDY5LCA2OSwgMTI4LCA3NywgNjUsIDY5LCA3NywgNjYsIDY1LCAxMjgsIDc3LCA2NSwgNjksIAotICAgIDc3LCAxMjgsIDc3LCA2NSwgNjksIDc2LCA2OSwgNjksIDEyOCwgNzcsIDY1LCA2OSwgNzUsIDY5LCA4NSwgODAsIDEyOCwgCi0gICAgNzcsIDY1LCA2OCwgODksIDY1LCAxMjgsIDc3LCA2NSwgNjgsIDg1LCAxMjgsIDc3LCA2NSwgNjgsIDY4LCA2NSwgMjAwLCAKLSAgICA3NywgNjUsIDY4LCA2OCwgNjUsIDEyOCwgNzcsIDY1LCA2OCwgNjgsIDE5MywgNzcsIDY1LCA2NywgODIsIDc5LCA3OCwgNDUsIAotICAgIDcxLCA4MiwgNjUsIDg2LCA2OSwgMTI4LCA3NywgNjUsIDY3LCA4MiwgNzksIDc4LCA0NSwgNjYsIDgyLCA2OSwgODYsIDY5LCAKLSAgICAxMjgsIDc3LCA2NSwgNjcsIDgyLCA3OSwgNzgsIDQ1LCA2NSwgNjcsIDg1LCA4NCwgNjksIDEyOCwgNzcsIDY1LCA2NywgODIsIAotICAgIDc5LCA3OCwgMTI4LCA3NywgNjUsIDY3LCA4MiwgNzksIDIwNiwgNzcsIDY1LCA2NywgNzIsIDczLCA3OCwgNjksIDEyOCwgCi0gICAgNzcsIDY1LCA2NSwgNzMsIDEyOCwgNzcsIDY1LCA2NSwgMTI4LCA3NywgNjUsIDUwLCAxMjgsIDc3LCA0OCwgNTIsIDUyLCAKLSAgICAxMjgsIDc3LCA0OCwgNTIsIDUxLCAxMjgsIDc3LCA0OCwgNTIsIDUwLCAxMjgsIDc3LCA0OCwgNTIsIDQ5LCAxMjgsIDc3LCAKLSAgICA0OCwgNTIsIDQ4LCA2NSwgMTI4LCA3NywgNDgsIDUyLCA0OCwgMTI4LCA3NywgNDgsIDUxLCA1NywgMTI4LCA3NywgNDgsIAotICAgIDUxLCA1NiwgMTI4LCA3NywgNDgsIDUxLCA1NSwgMTI4LCA3NywgNDgsIDUxLCA1NCwgMTI4LCA3NywgNDgsIDUxLCA1MywgCi0gICAgMTI4LCA3NywgNDgsIDUxLCA1MiwgMTI4LCA3NywgNDgsIDUxLCA1MSwgNjYsIDEyOCwgNzcsIDQ4LCA1MSwgNTEsIDY1LCAKLSAgICAxMjgsIDc3LCA0OCwgNTEsIDUxLCAxMjgsIDc3LCA0OCwgNTEsIDUwLCAxMjgsIDc3LCA0OCwgNTEsIDQ5LCA2NSwgMTI4LCAKLSAgICA3NywgNDgsIDUxLCA0OSwgMTI4LCA3NywgNDgsIDUxLCA0OCwgMTI4LCA3NywgNDgsIDUwLCA1NywgMTI4LCA3NywgNDgsIAotICAgIDUwLCA1NiwgNjUsIDEyOCwgNzcsIDQ4LCA1MCwgNTYsIDEyOCwgNzcsIDQ4LCA1MCwgNTUsIDEyOCwgNzcsIDQ4LCA1MCwgCi0gICAgNTQsIDEyOCwgNzcsIDQ4LCA1MCwgNTMsIDEyOCwgNzcsIDQ4LCA1MCwgNTIsIDY1LCAxMjgsIDc3LCA0OCwgNTAsIDUyLCAKLSAgICAxMjgsIDc3LCA0OCwgNTAsIDUxLCAxMjgsIDc3LCA0OCwgNTAsIDUwLCA2NSwgMTI4LCA3NywgNDgsIDUwLCA1MCwgMTI4LCAKLSAgICA3NywgNDgsIDUwLCA0OSwgMTI4LCA3NywgNDgsIDUwLCA0OCwgMTI4LCA3NywgNDgsIDQ5LCA1NywgMTI4LCA3NywgNDgsIAotICAgIDQ5LCA1NiwgMTI4LCA3NywgNDgsIDQ5LCA1NSwgNjUsIDEyOCwgNzcsIDQ4LCA0OSwgNTUsIDEyOCwgNzcsIDQ4LCA0OSwgCi0gICAgNTQsIDY1LCAxMjgsIDc3LCA0OCwgNDksIDU0LCAxMjgsIDc3LCA0OCwgNDksIDUzLCA2NSwgMTI4LCA3NywgNDgsIDQ5LCAKLSAgICA1MywgMTI4LCA3NywgNDgsIDQ5LCA1MiwgMTI4LCA3NywgNDgsIDQ5LCA1MSwgMTI4LCA3NywgNDgsIDQ5LCA1MCwgNzIsIAotICAgIDEyOCwgNzcsIDQ4LCA0OSwgNTAsIDcxLCAxMjgsIDc3LCA0OCwgNDksIDUwLCA3MCwgMTI4LCA3NywgNDgsIDQ5LCA1MCwgCi0gICAgNjksIDEyOCwgNzcsIDQ4LCA0OSwgNTAsIDY4LCAxMjgsIDc3LCA0OCwgNDksIDUwLCA2NywgMTI4LCA3NywgNDgsIDQ5LCAKLSAgICA1MCwgNjYsIDEyOCwgNzcsIDQ4LCA0OSwgNTAsIDY1LCAxMjgsIDc3LCA0OCwgNDksIDUwLCAxMjgsIDc3LCA0OCwgNDksIAotICAgIDQ5LCAxMjgsIDc3LCA0OCwgNDksIDQ4LCA2NSwgMTI4LCA3NywgNDgsIDQ5LCA0OCwgMTI4LCA3NywgNDgsIDQ4LCA1NywgCi0gICAgMTI4LCA3NywgNDgsIDQ4LCA1NiwgMTI4LCA3NywgNDgsIDQ4LCA1NSwgMTI4LCA3NywgNDgsIDQ4LCA1NCwgMTI4LCA3NywgCi0gICAgNDgsIDQ4LCA1MywgMTI4LCA3NywgNDgsIDQ4LCA1MiwgMTI4LCA3NywgNDgsIDQ4LCA1MSwgNjUsIDEyOCwgNzcsIDQ4LCAKLSAgICA0OCwgNTEsIDEyOCwgNzcsIDQ4LCA0OCwgNTAsIDEyOCwgNzcsIDQ4LCA0OCwgNDksIDY2LCAxMjgsIDc3LCA0OCwgNDgsIAotICAgIDQ5LCA2NSwgMTI4LCA3NywgNDgsIDQ4LCA0OSwgMTI4LCA3NiwgMjE4LCA3NiwgODksIDg5LCAxMjgsIDc2LCA4OSwgODgsIAotICAgIDEyOCwgNzYsIDg5LCA4NCwgMTI4LCA3NiwgODksIDgyLCA4OCwgMTI4LCA3NiwgODksIDgyLCAxMjgsIDc2LCA4OSwgODAsIAotICAgIDEyOCwgNzYsIDg5LCA2OCwgNzMsIDY1LCAyMDYsIDc2LCA4OSwgNjcsIDczLCA2NSwgMjA2LCA3NiwgODgsIDEyOCwgNzYsIAotICAgIDg3LCA3OSwgNzksIDEyOCwgNzYsIDg3LCA3OSwgMTI4LCA3NiwgODcsIDczLCA3MywgMTI4LCA3NiwgODcsIDczLCAxMjgsIAotICAgIDc2LCA4NywgNjksIDEyOCwgNzYsIDg3LCA2NSwgNjUsIDEyOCwgNzYsIDg3LCA2NSwgMTI4LCA3NiwgODUsIDg4LCAxMjgsIAotICAgIDc2LCA4NSwgODQsIDEyOCwgNzYsIDg1LCA4MiwgODgsIDEyOCwgNzYsIDg1LCA4MCwgMTI4LCA3NiwgODUsIDc5LCA4OCwgCi0gICAgMTI4LCA3NiwgODUsIDc5LCA4NCwgMTI4LCA3NiwgODUsIDc5LCA4MCwgMTI4LCA3NiwgODUsIDc5LCAxMjgsIDc2LCA4NSwgCi0gICAgNzgsIDcxLCA4MywgNzMsIDEyOCwgNzYsIDg1LCA3OCwgNjUsIDg0LCAxOTcsIDc2LCA4NSwgMjA1LCA3NiwgODUsIDc2LCAKLSAgICAxMjgsIDc2LCA4NSwgNzMsIDgzLCAxMjgsIDc2LCA4NSwgNzIsIDg1LCA4MiwgMTI4LCA3NiwgODUsIDcyLCAxMjgsIDc2LCAKLSAgICA4NSwgNzEsIDcxLCA2NSwgNzEsIDY5LCAxMjgsIDc2LCA4NSwgNzEsIDY1LCA3NiwgMTI4LCA3NiwgODUsIDcxLCA2NSwgCi0gICAgMjA0LCA3NiwgODUsIDY5LCAxMjgsIDc2LCA4NSwgNjUsIDY5LCA4MCwgMTI4LCA3NiwgODUsIDUxLCAxMjgsIDc2LCA4NSwgCi0gICAgNTAsIDEyOCwgNzYsIDg1LCAxNzgsIDc2LCA3OSwgOTAsIDY5LCA3OCwgNzEsIDY5LCAxMjgsIDc2LCA3OSwgOTAsIDY5LCAKLSAgICA3OCwgNzEsIDE5NywgNzYsIDc5LCA4OCwgMTI4LCA3NiwgNzksIDg3LCA2OSwgODIsIDY5LCAxOTYsIDc2LCA3OSwgODcsIAotICAgIDY5LCAyMTAsIDc2LCA3OSwgODcsIDQ1LCAxODUsIDc2LCA3OSwgODYsIDE5NywgNzYsIDc5LCA4NSwgODIsIDY5LCAxMjgsIAotICAgIDc2LCA3OSwgODUsIDY4LCA4MywgODAsIDY5LCA2NSwgNzUsIDY5LCA4MiwgMTI4LCA3NiwgNzksIDg1LCA2OCwgNzYsIDIxNywgCi0gICAgNzYsIDc5LCA4NCwgODUsIDgzLCAxMjgsIDc2LCA3OSwgODQsIDEyOCwgNzYsIDc5LCA4MiwgODIsIDg5LCAxMjgsIDc2LCAKLSAgICA3OSwgODIsIDgyLCA2NSwgNzMsIDc4LCA2OSwgMTI4LCA3NiwgNzksIDgxLCAxMjgsIDc2LCA3OSwgODAsIDEyOCwgNzYsIAotICAgIDc5LCA3OSwgODQsIDEyOCwgNzYsIDc5LCA3OSwgODAsIDEyOCwgNzYsIDc5LCA3OSwgNzgsIDEyOCwgNzYsIDc5LCA3OSwgCi0gICAgMjAzLCA3NiwgNzksIDc5LCAxMjgsIDc2LCA3OSwgNzgsIDgzLCA4NSwgNzcsIDEyOCwgNzYsIDc5LCA3OCwgNzEsIDY1LCAKLSAgICAxMjgsIDc2LCA3OSwgNzgsIDcxLCAxOTMsIDc2LCA3OSwgNzgsIDcxLCA0NSwgNjYsIDgyLCA2NSwgNzgsIDY3LCA3MiwgNDUsIAotICAgIDg5LCA4MiwgMTI4LCA3NiwgNzksIDc4LCA3MSwgNDUsIDY2LCA4MiwgNjUsIDc4LCA2NywgNzIsIDQ1LCA4MywgNzksIDIwNCwgCi0gICAgNzYsIDc5LCA3OCwgNzEsIDQ1LCA2NiwgODIsIDY1LCA3OCwgNjcsIDcyLCA0NSwgNzksIDgzLCAyMTEsIDc2LCA3OSwgNzgsIAotICAgIDcxLCA0NSwgNjYsIDgyLCA2NSwgNzgsIDY3LCA3MiwgNDUsIDc3LCA2NSwgNjgsIDIxMCwgNzYsIDc5LCA3OCwgNzEsIDQ1LCAKLSAgICA2NiwgODIsIDY1LCA3OCwgNjcsIDcyLCA0NSwgNzIsIDY1LCA3MSwgNjUsIDc2LCAyMDQsIDc2LCA3OSwgNzgsIDcxLCA0NSwgCi0gICAgNjYsIDgyLCA2NSwgNzgsIDY3LCA3MiwgNDUsIDY1LCAyMTAsIDc2LCA3OSwgNzcsIDc3LCA2NSwgNjksIDEyOCwgNzYsIDc5LCAKLSAgICA3NywgMTI4LCA3NiwgNzksIDIwNSwgNzYsIDc5LCA3NiwgNzYsIDczLCA4MCwgNzksIDgwLCAxMjgsIDc2LCA3OSwgNzYsIAotICAgIDc2LCAxMjgsIDc2LCA3OSwgNzEsIDIxMCwgNzYsIDc5LCA3MSwgNzksIDg0LCA4OSwgODAsIDE5NywgNzYsIDc5LCA3MSwgCi0gICAgNzksIDcxLCA4MiwgNjUsIDIwNSwgNzYsIDc5LCA3MSwgMTI4LCA3NiwgNzksIDY4LCA2OSwgODMsIDg0LCA3OSwgNzgsIDY5LCAKLSAgICAxMjgsIDc2LCA3OSwgNjcsIDc5LCA3NywgNzksIDg0LCA3MywgODYsIDY5LCAxMjgsIDc2LCA3OSwgNjcsIDIwMywgNzYsIAotICAgIDc5LCA2NywgNjUsIDg0LCA3MywgODYsIDY5LCAxMjgsIDc2LCA3OSwgNjcsIDY1LCA4NCwgNzMsIDc5LCAyMDYsIDc2LCA3OSwgCi0gICAgNjUsIDEyOCwgNzYsIDc4LCAxMjgsIDc2LCA3NywgMTI4LCA3NiwgNzYsIDc2LCA2NSwgMTI4LCA3NiwgNzQsIDg1LCA2OCwgCi0gICAgNzMsIDc0LCA2OSwgMTI4LCA3NiwgNzQsIDY5LCAxMjgsIDc2LCA3NCwgMTI4LCA3NiwgNzMsIDg4LCAxMjgsIDc2LCA3MywgCi0gICAgODcsIDc4LCAxMjgsIDc2LCA3MywgODYsIDgyLCAxOTcsIDc2LCA3MywgODQsIDg0LCA3NiwgMTk3LCA3NiwgNzMsIDg0LCAKLSAgICA4NCwgNjksIDIxMCwgNzYsIDczLCA4NCwgODIsIDE5MywgNzYsIDczLCA4NCwgMTI4LCA3NiwgNzMsIDgzLCAyMTMsIDc2LCAKLSAgICA3MywgODIsIDE5MywgNzYsIDczLCA4MSwgODUsIDczLCAxOTYsIDc2LCA3MywgODEsIDEyOCwgNzYsIDczLCA4MCwgODMsIAotICAgIDg0LCA3MywgNjcsIDc1LCAxMjgsIDc2LCA3MywgNzgsIDc1LCA3MywgNzgsIDE5OSwgNzYsIDczLCA3OCwgMjAzLCA3NiwgCi0gICAgNzMsIDc4LCA3MSwgODMsIDY1LCAxMjgsIDc2LCA3MywgNzgsIDY5LCA4MywgMTI4LCA3NiwgNzMsIDc4LCA2OSwgMjExLCAKLSAgICA3NiwgNzMsIDc4LCA2OSwgNDUsIDU3LCAxMjgsIDc2LCA3MywgNzgsIDY5LCA0NSwgNTUsIDEyOCwgNzYsIDczLCA3OCwgNjksIAotICAgIDQ1LCA1MSwgMTI4LCA3NiwgNzMsIDc4LCA2OSwgNDUsIDQ5LCAxMjgsIDc2LCA3MywgNzcsIDc3LCA4NSwgNTIsIDEyOCwgCi0gICAgNzYsIDczLCA3NywgNzcsIDg1LCA1MCwgMTI4LCA3NiwgNzMsIDc3LCA3NywgODUsIDEyOCwgNzYsIDczLCA3NywgNzcsIAotICAgIDIxMywgNzYsIDczLCA3NywgNzMsIDg0LCA2OSwgMTk2LCA3NiwgNzMsIDc3LCA3MywgODQsIDY1LCA4NCwgNzMsIDc5LCA3OCwgCi0gICAgMTI4LCA3NiwgNzMsIDc3LCA3MywgODQsIDEyOCwgNzYsIDczLCA3NywgNjksIDEyOCwgNzYsIDczLCA3NiwgODksIDEyOCwgCi0gICAgNzYsIDczLCA3NiwgNzMsIDg0LCA3MiwgMTI4LCA3NiwgNzMsIDc2LCAxMjgsIDc2LCA3MywgNzMsIDEyOCwgNzYsIDczLCAKLSAgICA3MSwgNzIsIDg0LCA3OCwgNzMsIDc4LCA3MSwgMTI4LCA3NiwgNzMsIDcxLCA3MiwgODQsIDcyLCA3OSwgODUsIDgzLCA2OSwgCi0gICAgMTI4LCA3NiwgNzMsIDcxLCA3MiwgODQsIDEyOCwgNzYsIDczLCA3MCwgNjksIDEyOCwgNzYsIDczLCA2OSwgODgsIDEyOCwgCi0gICAgNzYsIDczLCA2OSwgODQsIDEyOCwgNzYsIDczLCA2OSwgODAsIDEyOCwgNzYsIDczLCA2OSwgNjksIDEyOCwgNzYsIDczLCAKLSAgICA2OSwgMTI4LCA3NiwgNzMsIDY4LCAxMjgsIDc2LCA3MywgNjYsIDgyLCA2NSwgMTI4LCA3NiwgNzMsIDY2LCA2OSwgODIsIAotICAgIDg0LCA4OSwgMTI4LCA3NiwgNzMsIDY1LCA2NiwgNzMsIDc2LCA3MywgODQsIDIxNywgNzYsIDcyLCA3MywgNzMsIDEyOCwgCi0gICAgNzYsIDcyLCA2NSwgODYsIDczLCA4OSwgNjUsIDc4LCA3MywgMTI4LCA3NiwgNzIsIDY1LCAxOTksIDc2LCA3MiwgNjUsIDY1LCAKLSAgICAxMjgsIDc2LCA3MiwgMTI4LCA3NiwgNjksIDkwLCA3MiwgMTI4LCA3NiwgNjksIDg4LCAxMjgsIDc2LCA2OSwgODYsIDY5LCAKLSAgICAyMDQsIDc2LCA2OSwgODUsIDc3LCAxMjgsIDc2LCA2OSwgODUsIDY1LCA2OSwgODAsIDEyOCwgNzYsIDY5LCA4NSwgNjUsIAotICAgIDY5LCA3NywgMTI4LCA3NiwgNjksIDg0LCA4NCwgNjksIDgyLCA4MywgMTI4LCA3NiwgNjksIDg0LCA4NCwgNjksIDgyLCAKLSAgICAxMjgsIDc2LCA2OSwgMjEyLCA3NiwgNjksIDgzLCA4MywgNjksIDIxMCwgNzYsIDY5LCA4MywgODMsIDQ1LCA4NCwgNzIsIAotICAgIDY1LCA3OCwgMTI4LCA3NiwgNjksIDgzLCA4MywgNDUsIDg0LCA3MiwgNjUsIDIwNiwgNzYsIDY5LCA4MCwgMTI4LCA3NiwgCi0gICAgNjksIDc5LCA4MCwgNjUsIDgyLCA2OCwgMTI4LCA3NiwgNjksIDc5LCAxMjgsIDc2LCA2OSwgNzgsIDg0LCA3MywgNjcsIDg1LCAKLSAgICA3NiwgNjUsIDIxMCwgNzYsIDY5LCA3OCwgNzMsIDgzLCAxMjgsIDc2LCA2OSwgNzgsIDcxLCA4NCwgNzIsIDY5LCA3OCwgNjksIAotICAgIDgyLCAxMjgsIDc2LCA2OSwgNzgsIDcxLCA4NCwgMjAwLCA3NiwgNjksIDc4LCA3MSwgNjUsIDEyOCwgNzYsIDY5LCA3OCwgCi0gICAgNzEsIDE5MywgNzYsIDY5LCA3NywgNzksIDc4LCAxMjgsIDc2LCA2OSwgNzcsIDc5LCA3MywgMTI4LCA3NiwgNjksIDc2LCAKLSAgICA2OSwgODQsIDEyOCwgNzYsIDY5LCA3NiwgNjksIDIxMiwgNzYsIDY5LCAyMDMsIDc2LCA2OSwgNzMsIDc3LCA3NywgNjUsIAotICAgIDEyOCwgNzYsIDY5LCA3MywgNzcsIDc3LCAxOTMsIDc2LCA2OSwgNzEsIDgzLCAxMjgsIDc2LCA2OSwgNzEsIDczLCA3OSwgCi0gICAgNzgsIDEyOCwgNzYsIDY5LCA3MSwgNjksIDg0LCA3OSwgMjExLCA3NiwgNjksIDcxLCAxMjgsIDc2LCA2OSwgNzAsIDg0LCAKLSAgICA4NywgNjUsIDgyLCA2OCwgODMsIDEyOCwgNzYsIDY5LCA3MCwgODQsIDQ1LCA4NCwgNzksIDQ1LCA4MiwgNzMsIDcxLCA3MiwgCi0gICAgMjEyLCA3NiwgNjksIDcwLCA4NCwgNDUsIDgzLCA4NCwgNjksIDIwNSwgNzYsIDY5LCA3MCwgODQsIDQ1LCA4MywgNzMsIDY4LCAKLSAgICAxOTcsIDc2LCA2OSwgNzAsIDg0LCA0NSwgODMsIDcyLCA2NSwgNjgsIDY5LCAxOTYsIDc2LCA2OSwgNzAsIDg0LCA0NSwgODAsIAotICAgIDc5LCA3MywgNzgsIDg0LCA3MywgNzgsIDE5OSwgNzYsIDY5LCA3MCwgODQsIDQ1LCA3MiwgNjUsIDc4LCA2OCwgNjksIDE5NiwgCi0gICAgNzYsIDY5LCA3MCwgODQsIDQ1LCA3MiwgNjUsIDc4LCAxOTYsIDc2LCA2OSwgNzAsIDg0LCA0NSwgNzAsIDY1LCA2NywgNzMsIAotICAgIDc4LCAxOTksIDc2LCA2OSwgNzAsIDg0LCAxMjgsIDc2LCA2OSwgNjksIDgyLCA2NSwgNjksIDg3LCA2NSwgMTI4LCA3NiwgCi0gICAgNjksIDY5LCA3NSwgMTI4LCA3NiwgNjksIDY5LCA2OSwgNjksIDEyOCwgNzYsIDY5LCA2OCwgNzEsIDY5LCA4MiwgMTI4LCAKLSAgICA3NiwgNjksIDY1LCA4NCwgNzIsIDY5LCA4MiwgMTI4LCA3NiwgNjksIDY1LCA3MCwgMTI4LCA3NiwgNjksIDY1LCAxOTgsIAotICAgIDc2LCA2OSwgNjUsIDY4LCA3MywgNzgsIDE5OSwgNzYsIDY5LCA2NSwgNjgsIDY5LCA4MiwgMTI4LCA3NiwgNjksIDY1LCAKLSAgICAxOTYsIDc2LCA2OCwgNjUsIDc4LCAxMjgsIDc2LCA2OCwgNTAsIDEyOCwgNzYsIDY3LCAyMDEsIDc2LCA2NywgMTk3LCA3NiwgCi0gICAgNjUsIDkwLCAyMTcsIDc2LCA2NSwgODksIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDc2LCA2NSwgODgsIDEyOCwgNzYsIDY1LCAKLSAgICA4NywgMTI4LCA3NiwgNjUsIDIxNSwgNzYsIDY1LCA4NSwgNzYsIDY1LCAxMjgsIDc2LCA2NSwgODUsIDc1LCA2NSwgMjE4LCAKLSAgICA3NiwgNjUsIDg0LCA3MywgNzgsIDY1LCA4NCwgMTk3LCA3NiwgNjUsIDg0LCA3MywgNzUsIDEyOCwgNzYsIDY1LCA4NCwgNjksIAotICAgIDgyLCA2NSwgMjA0LCA3NiwgNjUsIDg0LCAxOTcsIDc2LCA2NSwgODMsIDIxMiwgNzYsIDY1LCA4MiwgODksIDc4LCA3MSwgCi0gICAgNjksIDY1LCAyMDQsIDc2LCA2NSwgODIsIDcxLCA2OSwgMjEwLCA3NiwgNjUsIDgyLCA3MSwgNjksIDEyOCwgNzYsIDY1LCAKLSAgICA4MiwgNzEsIDE5NywgNzYsIDY1LCA4MSwgMTI4LCA3NiwgNjUsIDgwLCA2NSwgODEsIDEyOCwgNzYsIDY1LCA4MCwgMTI4LCAKLSAgICA3NiwgNjUsIDIwNywgNzYsIDY1LCA3OCwgODQsIDY5LCA4MiwgNzgsIDEyOCwgNzYsIDY1LCA3OCwgNzEsIDg1LCA2NSwgNzEsIAotICAgIDE5NywgNzYsIDY1LCA3OCwgNjksIDgzLCAxMjgsIDc2LCA2NSwgNzcsIDY5LCA2OCwgNzIsIDEyOCwgNzYsIDY1LCA3NywgCi0gICAgNjksIDY4LCAxMjgsIDc2LCA2NSwgNzcsIDY5LCAxOTYsIDc2LCA2NSwgNzcsIDY5LCAxMjgsIDc2LCA2NSwgNzcsIDE5NywgCi0gICAgNzYsIDY1LCA3NywgNjgsIDY1LCAxMjgsIDc2LCA2NSwgNzcsIDY4LCAxMjgsIDc2LCA2NSwgNzcsIDY2LCA2OCwgMTkzLCAKLSAgICA3NiwgNjUsIDc3LCA2NSwgNjgsIDcyLCAxMjgsIDc2LCA2NSwgNzYsIDEyOCwgNzYsIDY1LCAyMDQsIDc2LCA2NSwgNzUsIAotICAgIDc1LCA3MiwgNjUsIDc4LCA3MSwgODksIDY1LCA3OSwgMTI4LCA3NiwgNjUsIDc0LCA2NSwgNzgsIDg5LCA2NSwgNzYsIDY1LCAKLSAgICA3OCwgMTI4LCA3NiwgNjUsIDIwMSwgNzYsIDY1LCA3MiwgODMsIDcyLCA4NSwgMTI4LCA3NiwgNjUsIDcxLCA4NSwgODMsIAorICAgIDc4LCA3OCwgNjYsIDgzLCA4MCwgMTI4LCA3OCwgNzcsIDEyOCwgNzgsIDc2LCA0OCwgNTAsIDQ4LCAxMjgsIDc4LCA3NiwgCisgICAgNDgsIDQ5LCA1NywgMTI4LCA3OCwgNzYsIDQ4LCA0OSwgNTYsIDEyOCwgNzgsIDc2LCA0OCwgNDksIDU1LCA2NSwgMTI4LCAKKyAgICA3OCwgNzYsIDQ4LCA0OSwgNTUsIDEyOCwgNzgsIDc2LCA0OCwgNDksIDU0LCAxMjgsIDc4LCA3NiwgNDgsIDQ5LCA1MywgCisgICAgMTI4LCA3OCwgNzYsIDQ4LCA0OSwgNTIsIDEyOCwgNzgsIDc2LCA0OCwgNDksIDUxLCAxMjgsIDc4LCA3NiwgNDgsIDQ5LCAKKyAgICA1MCwgMTI4LCA3OCwgNzYsIDQ4LCA0OSwgNDksIDEyOCwgNzgsIDc2LCA0OCwgNDksIDQ4LCAxMjgsIDc4LCA3NiwgNDgsIAorICAgIDQ4LCA1NywgMTI4LCA3OCwgNzYsIDQ4LCA0OCwgNTYsIDEyOCwgNzgsIDc2LCA0OCwgNDgsIDU1LCAxMjgsIDc4LCA3NiwgCisgICAgNDgsIDQ4LCA1NCwgMTI4LCA3OCwgNzYsIDQ4LCA0OCwgNTMsIDY1LCAxMjgsIDc4LCA3NiwgNDgsIDQ4LCA1MywgMTI4LCAKKyAgICA3OCwgNzYsIDQ4LCA0OCwgNTIsIDEyOCwgNzgsIDc2LCA0OCwgNDgsIDUxLCAxMjgsIDc4LCA3NiwgNDgsIDQ4LCA1MCwgCisgICAgMTI4LCA3OCwgNzYsIDQ4LCA0OCwgNDksIDEyOCwgNzgsIDc2LCAxMjgsIDc4LCA3NSwgNzksIDc3LCAxMjgsIDc4LCA3NSwgCisgICAgMjA3LCA3OCwgNzUsIDczLCA3OCwgNjgsIDczLCAxMjgsIDc4LCA3NSwgNjUsIDY1LCA4MiwgNjUsIDY5LCAxMjgsIDc4LCAKKyAgICA3NCwgODksIDg4LCAxMjgsIDc4LCA3NCwgODksIDg0LCAxMjgsIDc4LCA3NCwgODksIDgyLCA4OCwgMTI4LCA3OCwgNzQsIAorICAgIDg5LCA4MiwgMTI4LCA3OCwgNzQsIDg5LCA4MCwgMTI4LCA3OCwgNzQsIDg5LCAxMjgsIDc4LCA3NCwgODUsIDg4LCAxMjgsIAorICAgIDc4LCA3NCwgODUsIDgyLCA4OCwgMTI4LCA3OCwgNzQsIDg1LCA4MiwgMTI4LCA3OCwgNzQsIDg1LCA4MSwgNjUsIDEyOCwgCisgICAgNzgsIDc0LCA4NSwgODAsIDEyOCwgNzgsIDc0LCA4NSwgNzksIDg4LCAxMjgsIDc4LCA3NCwgODUsIDc5LCAxMjgsIDc4LCAKKyAgICA3NCwgODUsIDY5LCA4MSwgMTI4LCA3OCwgNzQsIDg1LCA2NSwgNjksIDEyOCwgNzgsIDc0LCA4NSwgMTI4LCA3OCwgNzQsIAorICAgIDc5LCA4OCwgMTI4LCA3OCwgNzQsIDc5LCA4NCwgMTI4LCA3OCwgNzQsIDc5LCA4MCwgMTI4LCA3OCwgNzQsIDc5LCA3OSwgCisgICAgMTI4LCA3OCwgNzQsIDc5LCAxMjgsIDc4LCA3NCwgNzMsIDg4LCAxMjgsIDc4LCA3NCwgNzMsIDg0LCAxMjgsIDc4LCA3NCwgCisgICAgNzMsIDgwLCAxMjgsIDc4LCA3NCwgNzMsIDY5LCA4OCwgMTI4LCA3OCwgNzQsIDczLCA2OSwgODQsIDEyOCwgNzgsIDc0LCAKKyAgICA3MywgNjksIDgwLCAxMjgsIDc4LCA3NCwgNzMsIDY5LCA2OSwgMTI4LCA3OCwgNzQsIDczLCA2OSwgMTI4LCA3OCwgNzQsIAorICAgIDczLCAxMjgsIDc4LCA3NCwgMjAxLCA3OCwgNzQsIDY5LCA4NSwgODgsIDEyOCwgNzgsIDc0LCA2OSwgODUsIDg0LCAxMjgsIAorICAgIDc4LCA3NCwgNjksIDg1LCA2NSwgNjksIDc4LCA2NSwgMTI4LCA3OCwgNzQsIDY5LCA4NSwgNjUsIDY5LCA3NywgMTI4LCA3OCwgCisgICAgNzQsIDY5LCA2OSwgNjksIDY5LCAxMjgsIDc4LCA3NCwgNjksIDY5LCAxMjgsIDc4LCA3NCwgNjksIDE5NywgNzgsIDc0LCAKKyAgICA2OSwgMTI4LCA3OCwgNzQsIDY1LCA4MSwgMTI4LCA3OCwgNzQsIDY1LCA4MCwgMTI4LCA3OCwgNzQsIDY1LCA2OSwgNzcsIAorICAgIDc2LCA3MywgMTI4LCA3OCwgNzQsIDY1LCA2OSwgNzcsIDEyOCwgNzgsIDc0LCA2NSwgNjUsIDEyOCwgNzgsIDczLCA4OCwgCisgICAgMTI4LCA3OCwgNzMsIDg0LCA4MiwgNjksIDEyOCwgNzgsIDczLCA4MywgNjUsIDcxLCAxMjgsIDc4LCA3MywgODIsIDg1LCAKKyAgICA3MSwgODUsIDEyOCwgNzgsIDczLCA4MCwgMTI4LCA3OCwgNzMsIDc4LCA4NCwgNzIsIDEyOCwgNzgsIDczLCA3OCwgNjksIAorICAgIDg0LCA4OSwgMTI4LCA3OCwgNzMsIDc4LCA2OSwgODQsIDIxNywgNzgsIDczLCA3OCwgNjksIDg0LCA2OSwgNjksIDc4LCAKKyAgICAxMjgsIDc4LCA3MywgNzgsIDY5LCA4NCwgNjksIDY5LCAyMDYsIDc4LCA3MywgNzgsIDY5LCA0NSwgODQsIDcyLCA3MywgODIsIAorICAgIDg0LCA4OSwgMTI4LCA3OCwgNzMsIDc4LCAxOTcsIDc4LCA3MywgNzgsIDY4LCA2NSwgNTAsIDEyOCwgNzgsIDczLCA3OCwgCisgICAgNjgsIDY1LCAxNzgsIDc4LCA3MywgNzcsIDEyOCwgNzgsIDczLCAyMDUsIDc4LCA3MywgNzUsIDcyLCA2NSwgNzIsIDczLCAKKyAgICA4NCwgMTI4LCA3OCwgNzMsIDc1LCA2NSwgNzIsIDczLCA4NCwgMTI4LCA3OCwgNzMsIDc1LCA2NSwgMTI4LCA3OCwgNzMsIAorICAgIDcyLCA4MywgNzIsIDg2LCA2NSwgODMsIDY1LCAxMjgsIDc4LCA3MywgNzEsIDczLCA2OCwgNjUsIDc3LCA3MywgNzgsIDEyOCwgCisgICAgNzgsIDczLCA3MSwgNzMsIDY4LCA2NSwgNjksIDgzLCA3MiwgMTI4LCA3OCwgNzMsIDcxLCA3MiwgODQsIDEyOCwgNzgsIDczLCAKKyAgICA3MSwgNzIsIDIxMiwgNzgsIDczLCA3MSwgNzEsIDY1LCA3MiwgNzMsIDg0LCA2NSwgMTI4LCA3OCwgNzMsIDY5LCA4OCwgCisgICAgMTI4LCA3OCwgNzMsIDY5LCA4NSwgNzgsIDQ1LCA4NCwgNzMsIDc1LCA2OSwgODUsIDg0LCAxMjgsIDc4LCA3MywgNjksIDg1LCAKKyAgICA3OCwgNDUsIDg0LCA3MiwgNzMsIDY5LCA4NSwgODQsIDcyLCAxMjgsIDc4LCA3MywgNjksIDg1LCA3OCwgNDUsIDgzLCA3MywgCisgICAgNzksIDgzLCAxMjgsIDc4LCA3MywgNjksIDg1LCA3OCwgNDUsIDgyLCA3MywgNjksIDg1LCA3NiwgMTI4LCA3OCwgNzMsIDY5LCAKKyAgICA4NSwgNzgsIDQ1LCA4MCwgNzMsIDY5LCA4NSwgODAsIDEyOCwgNzgsIDczLCA2OSwgODUsIDc4LCA0NSwgODAsIDY1LCA3OCwgCisgICAgODMsIDczLCA3OSwgODMsIDEyOCwgNzgsIDczLCA2OSwgODUsIDc4LCA0NSwgNzUsIDczLCA4OSwgNjksIDc5LCA3NSwgMTI4LCAKKyAgICA3OCwgNzMsIDY5LCA4NSwgNzgsIDQ1LCA3MiwgNzMsIDY5LCA4NSwgNzIsIDEyOCwgNzgsIDczLCA2OSwgODUsIDc4LCA0NSwgCisgICAgNjcsIDczLCA2OSwgODUsIDY3LCAxMjgsIDc4LCA3MywgNjksIDg1LCA3OCwgNDUsIDY3LCA3MiwgNzMsIDY5LCA4NSwgNjcsIAorICAgIDcyLCAxMjgsIDc4LCA3MywgNjksIDg1LCAyMDYsIDc4LCA3MywgNjksIDgwLCAxMjgsIDc4LCA3MywgNjksIDEyOCwgNzgsIAorICAgIDczLCA2NiwgMTI4LCA3OCwgNzMsIDY1LCAxMjgsIDc4LCA3MywgNTAsIDEyOCwgNzgsIDcyLCA4NSwgNjksIDEyOCwgNzgsIAorICAgIDcyLCA3NCwgNjUsIDEyOCwgNzgsIDcyLCAxMjgsIDc4LCA3MSwgODksIDY5LCAxMjgsIDc4LCA3MSwgODYsIDY5LCAxMjgsIAorICAgIDc4LCA3MSwgODUsIDg1LCAxMjgsIDc4LCA3MSwgODUsIDc5LCA4OCwgMTI4LCA3OCwgNzEsIDg1LCA3OSwgODQsIDEyOCwgCisgICAgNzgsIDcxLCA4NSwgNzksIDEyOCwgNzgsIDcxLCA4NSwgNjUsIDY5LCA4NCwgMTI4LCA3OCwgNzEsIDg1LCA2NSwgNjksIAorICAgIDEyOCwgNzgsIDcxLCA3OSwgODgsIDEyOCwgNzgsIDcxLCA3OSwgODUsIDEyOCwgNzgsIDcxLCA3OSwgMjEzLCA3OCwgNzEsIAorICAgIDc5LCA4NCwgMTI4LCA3OCwgNzEsIDc5LCA4MSwgMTI4LCA3OCwgNzEsIDc5LCA4MCwgMTI4LCA3OCwgNzEsIDc5LCA3OCwgCisgICAgMTI4LCA3OCwgNzEsIDc5LCA3NywgMTI4LCA3OCwgNzEsIDc5LCA2OSwgNzIsIDEyOCwgNzgsIDcxLCA3OSwgNjksIDIwMCwgCisgICAgNzgsIDcxLCAyMDcsIDc4LCA3MSwgNzUsIDg5LCA2OSwgNjksIDEyOCwgNzgsIDcxLCA3NSwgODcsIDY1LCA2OSwgNzgsIAorICAgIDEyOCwgNzgsIDcxLCA3NSwgODUsIDgwLCAxMjgsIDc4LCA3MSwgNzUsIDg1LCA3OCwgMTI4LCA3OCwgNzEsIDc1LCA4NSwgCisgICAgNzcsIDEyOCwgNzgsIDcxLCA3NSwgODUsIDY5LCA3OCwgOTAsIDY5LCA4NSwgNzcsIDEyOCwgNzgsIDcxLCA3NSwgODUsIAorICAgIDE5NywgNzgsIDcxLCA3NSwgNzMsIDc4LCA2OCwgMjAxLCA3OCwgNzEsIDc1LCA3MywgNjksIDY5LCAxMjgsIDc4LCA3MSwgCisgICAgNzUsIDY5LCA4NSwgODgsIDEyOCwgNzgsIDcxLCA3NSwgNjksIDg1LCA4MiwgNzMsIDEyOCwgNzgsIDcxLCA3NSwgNjksIDg1LCAKKyAgICA2NSwgNjksIDgxLCAxMjgsIDc4LCA3MSwgNzUsIDY5LCA4NSwgNjUsIDY5LCA3NywgMTI4LCA3OCwgNzEsIDc1LCA2NSwgODEsIAorICAgIDEyOCwgNzgsIDcxLCA3NSwgNjUsIDgwLCAxMjgsIDc4LCA3MSwgNzUsIDY1LCA2NSwgNzcsIDczLCAxMjgsIDc4LCA3MSwgCisgICAgNzUsIDY1LCAxMjgsIDc4LCA3MSwgNzMsIDY5LCA4OCwgMTI4LCA3OCwgNzEsIDczLCA2OSwgODAsIDEyOCwgNzgsIDcxLCAKKyAgICA3MywgNjksIDEyOCwgNzgsIDcxLCA3MiwgNjUsIDEyOCwgNzgsIDcxLCA3MSwgODcsIDY1LCA2OSwgNzgsIDEyOCwgNzgsIAorICAgIDcxLCA3MSwgODUsIDgyLCA2NSwgNjksIDEyOCwgNzgsIDcxLCA3MSwgODUsIDgwLCAxMjgsIDc4LCA3MSwgNzEsIDg1LCA3OSwgCisgICAgODEsIDEyOCwgNzgsIDcxLCA3MSwgODUsIDc5LCAyMDksIDc4LCA3MSwgNzEsIDg1LCA3OSwgNzgsIDEyOCwgNzgsIDcxLCAKKyAgICA3MSwgODUsIDc5LCA3NywgMTI4LCA3OCwgNzEsIDcxLCA4NSwgNzcsIDEyOCwgNzgsIDcxLCA3MSwgODUsIDY5LCA2OSwgODQsIAorICAgIDEyOCwgNzgsIDcxLCA3MSwgODUsIDY1LCA2OSwgODMsIDcyLCA2NSwgMTk3LCA3OCwgNzEsIDcxLCA4NSwgNjUsIDY5LCAKKyAgICAyMDYsIDc4LCA3MSwgNzEsIDg1LCAxMjgsIDc4LCA3MSwgNzEsIDc5LCA3OSwgMTI4LCA3OCwgNzEsIDcxLCA3OSwgMTI4LCAKKyAgICA3OCwgNzEsIDcxLCA3MywgMTI4LCA3OCwgNzEsIDcxLCA2OSwgODUsIDg4LCAxMjgsIDc4LCA3MSwgNzEsIDY5LCA4NSwgNjUsIAorICAgIDY5LCA4NCwgMTI4LCA3OCwgNzEsIDcxLCA2OSwgODUsIDY1LCA2OSwgMTI4LCA3OCwgNzEsIDcxLCA2OSwgMjEzLCA3OCwgCisgICAgNzEsIDcxLCA2OSwgNzgsIDEyOCwgNzgsIDcxLCA3MSwgNjksIDY5LCA4NCwgMTI4LCA3OCwgNzEsIDcxLCA2OSwgNjksIDY5LCAKKyAgICA2OSwgMTI4LCA3OCwgNzEsIDcxLCA2OSwgNjksIDEyOCwgNzgsIDcxLCA3MSwgNjksIDEyOCwgNzgsIDcxLCA3MSwgNjUsIAorICAgIDgwLCAxMjgsIDc4LCA3MSwgNzEsIDY1LCA2NSwgNzcsIDY1LCA2OSwgMTI4LCA3OCwgNzEsIDcxLCA2NSwgNjUsIDc3LCAKKyAgICAxMjgsIDc4LCA3MSwgNzEsIDEyOCwgNzgsIDcxLCA2OSwgODgsIDEyOCwgNzgsIDcxLCA2OSwgODUsIDgyLCA2OSwgODUsIAorICAgIDg0LCAxMjgsIDc4LCA3MSwgNjksIDgwLCAxMjgsIDc4LCA3MSwgNjksIDc4LCAxMjgsIDc4LCA3MSwgNjksIDY5LCAxMjgsIAorICAgIDc4LCA3MSwgNjksIDY1LCA2OCwgNjUsIDc2LCAxMjgsIDc4LCA3MSwgNjUsIDg4LCAxMjgsIDc4LCA3MSwgNjUsIDg1LCAKKyAgICAxMjgsIDc4LCA3MSwgNjUsIDg0LCAxMjgsIDc4LCA3MSwgNjUsIDIxMSwgNzgsIDcxLCA2NSwgODEsIDEyOCwgNzgsIDcxLCAKKyAgICA2NSwgODAsIDEyOCwgNzgsIDcxLCA2NSwgNzgsIDcxLCA4NSwgMTI4LCA3OCwgNzEsIDY1LCA3OCwgMTI4LCA3OCwgNzEsIAorICAgIDY1LCA3MywgMTI4LCA3OCwgNzEsIDY1LCA3MiwgMTI4LCA3OCwgNzEsIDY1LCA2NSwgNzMsIDEyOCwgNzgsIDcxLCAxOTMsIAorICAgIDc4LCA3MCwgMTI4LCA3OCwgNjksIDg4LCAyMTIsIDc4LCA2OSwgODgsIDEyOCwgNzgsIDY5LCA4NywgODMsIDgwLCA2NSwgCisgICAgODAsIDY5LCA4MiwgMTI4LCA3OCwgNjksIDg3LCA3NiwgNzMsIDc4LCA2OSwgMTI4LCA3OCwgNjksIDg3LCAxMjgsIDc4LCAKKyAgICA2OSwgODUsIDg0LCA4MiwgNjUsIDIwNCwgNzgsIDY5LCA4NSwgODQsIDY5LCA4MiwgMTI4LCA3OCwgNjksIDg0LCAxMjgsIAorICAgIDc4LCA2OSwgMjEyLCA3OCwgNjksIDgzLCA4NCwgNjksIDE5NiwgNzgsIDY5LCA4MSwgODUsIDY4LCA2NSwgNjUsIDEyOCwgCisgICAgNzgsIDY5LCA4MCwgODQsIDg1LCA3OCwgNjksIDEyOCwgNzgsIDY5LCA4MCwgMTI4LCA3OCwgNjksIDc5LCAxMjgsIDc4LCAKKyAgICA2OSwgMjA3LCA3OCwgNjksIDc4LCA2NSwgNzgsIDc5LCAxMjgsIDc4LCA2OSwgNzgsIDEyOCwgNzgsIDY5LCA3NiwgMTI4LCAKKyAgICA3OCwgNjksIDczLCA4NCwgNzIsIDY5LCAyMTAsIDc4LCA2OSwgNzEsIDY1LCA4NCwgNzMsIDc5LCAyMDYsIDc4LCA2OSwgNzEsIAorICAgIDY1LCA4NCwgNjksIDE5NiwgNzgsIDY5LCA2NywgNzUsIDg0LCA3MywgNjksIDEyOCwgNzgsIDY5LCA2NiwgNjksIDc4LCA4MywgCisgICAgODQsIDczLCA3NywgNzcsIDY5LCAxMjgsIDc4LCA2OCwgODUsIDg4LCAxMjgsIDc4LCA2OCwgODUsIDg0LCAxMjgsIDc4LCAKKyAgICA2OCwgODUsIDgyLCA4OCwgMTI4LCA3OCwgNjgsIDg1LCA4MiwgMTI4LCA3OCwgNjgsIDg1LCA4MCwgMTI4LCA3OCwgNjgsIAorICAgIDg1LCA3OCwgMTI4LCA3OCwgNjgsIDIxMywgNzgsIDY4LCA3OSwgODgsIDEyOCwgNzgsIDY4LCA3OSwgODQsIDEyOCwgNzgsIAorICAgIDY4LCA3OSwgODAsIDEyOCwgNzgsIDY4LCA3OSwgNzksIDEyOCwgNzgsIDY4LCA3OSwgNzgsIDEyOCwgNzgsIDY4LCA3OSwgCisgICAgNzcsIDY2LCA4NSwgMTI4LCA3OCwgNjgsIDc5LCA3NiwgMTk3LCA3OCwgNjgsIDczLCA4OCwgMTI4LCA3OCwgNjgsIDczLCAKKyAgICA4NCwgMTI4LCA3OCwgNjgsIDczLCA4MSwgMTI4LCA3OCwgNjgsIDczLCA4MCwgMTI4LCA3OCwgNjgsIDczLCA2OSwgODgsIAorICAgIDEyOCwgNzgsIDY4LCA3MywgNjksIDEyOCwgNzgsIDY4LCA3MywgNjgsIDY1LCAxMjgsIDc4LCA2OCwgNzMsIDY1LCA4MSwgCisgICAgMTI4LCA3OCwgNjgsIDY5LCA4OCwgMTI4LCA3OCwgNjgsIDY5LCA4NSwgODgsIDEyOCwgNzgsIDY4LCA2OSwgODUsIDg0LCAKKyAgICAxMjgsIDc4LCA2OCwgNjksIDg1LCA2NSwgNjksIDgyLCA2OSwgNjksIDEyOCwgNzgsIDY4LCA2OSwgODAsIDEyOCwgNzgsIAorICAgIDY4LCA2OSwgNjksIDEyOCwgNzgsIDY4LCA2OSwgMTI4LCA3OCwgNjgsIDY1LCA4OCwgMTI4LCA3OCwgNjgsIDY1LCA4NCwgCisgICAgMTI4LCA3OCwgNjgsIDY1LCA4MCwgMTI4LCA3OCwgNjgsIDY1LCA3NywgMTI4LCA3OCwgNjgsIDY1LCA2NSwgNzgsIDcxLCAKKyAgICA3MSwgNjksIDg1LCA2NSwgNjksIDg0LCAxMjgsIDc4LCA2OCwgNjUsIDY1LCAxMjgsIDc4LCA2OCwgNjUsIDE5MywgNzgsIAorICAgIDY2LCA4OSwgODgsIDEyOCwgNzgsIDY2LCA4OSwgODQsIDEyOCwgNzgsIDY2LCA4OSwgODIsIDg4LCAxMjgsIDc4LCA2NiwgCisgICAgODksIDgyLCAxMjgsIDc4LCA2NiwgODksIDgwLCAxMjgsIDc4LCA2NiwgODksIDEyOCwgNzgsIDY2LCA4NSwgODgsIDEyOCwgCisgICAgNzgsIDY2LCA4NSwgODQsIDEyOCwgNzgsIDY2LCA4NSwgODIsIDg4LCAxMjgsIDc4LCA2NiwgODUsIDgyLCAxMjgsIDc4LCAKKyAgICA2NiwgODUsIDgwLCAxMjgsIDc4LCA2NiwgODUsIDEyOCwgNzgsIDY2LCA3OSwgODgsIDEyOCwgNzgsIDY2LCA3OSwgODQsIAorICAgIDEyOCwgNzgsIDY2LCA3OSwgODAsIDEyOCwgNzgsIDY2LCA3OSwgMTI4LCA3OCwgNjYsIDczLCA4OCwgMTI4LCA3OCwgNjYsIAorICAgIDczLCA4NCwgMTI4LCA3OCwgNjYsIDczLCA4MCwgMTI4LCA3OCwgNjYsIDczLCA2OSwgODgsIDEyOCwgNzgsIDY2LCA3MywgCisgICAgNjksIDgwLCAxMjgsIDc4LCA2NiwgNzMsIDY5LCAxMjgsIDc4LCA2NiwgNzMsIDEyOCwgNzgsIDY2LCA3MiwgMTI4LCA3OCwgCisgICAgNjYsIDY1LCA4OCwgMTI4LCA3OCwgNjYsIDY1LCA4NCwgMTI4LCA3OCwgNjYsIDY1LCA4MCwgMTI4LCA3OCwgNjYsIDY1LCAKKyAgICAxMjgsIDc4LCA2NSwgODksIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDc4LCA2NSwgODksIDEyOCwgNzgsIDY1LCA4OCwgNzMsIAorICAgIDY1LCAyMDYsIDc4LCA2NSwgODgsIDEyOCwgNzgsIDY1LCA4NSwgODQsIDcyLCA4MywgMTI4LCA3OCwgNjUsIDg1LCA2OCwgCisgICAgNzMsIDIxOCwgNzgsIDY1LCA4NCwgODUsIDgyLCA2NSwgMjA0LCA3OCwgNjUsIDg0LCA3MywgNzksIDc4LCA2NSwgMjA0LCAKKyAgICA3OCwgNjUsIDgzLCA3NSwgNjUsIDgwLCAyMDEsIDc4LCA2NSwgODMsIDcyLCA3MywgMTI4LCA3OCwgNjUsIDgzLCA2NSwgNzYsIAorICAgIDczLCA5MCwgNjUsIDg0LCA3MywgNzksIDc4LCAxMjgsIDc4LCA2NSwgODMsIDY1LCA3NiwgNzMsIDkwLCA2NSwgODQsIDczLCAKKyAgICA3OSwgMjA2LCA3OCwgNjUsIDgyLCA4MiwgNzksIDIxNSwgNzgsIDY1LCA4MiwgMTI4LCA3OCwgNjUsIDgxLCAxMjgsIDc4LCAKKyAgICA2NSwgNzksIDIxMSwgNzgsIDY1LCA3OCwgODMsIDY1LCA3OCwgNjUsIDgxLCAxMjgsIDc4LCA2NSwgNzgsIDcxLCA3NywgNzksIAorICAgIDc4LCA4NCwgNzIsIDc5LCAxMjgsIDc4LCA2NSwgNzgsIDY4LCAxMjgsIDc4LCA2NSwgNzgsIDY1LCAxMjgsIDc4LCA2NSwgCisgICAgNzcsIDY5LCAxMjgsIDc4LCA2NSwgNzcsIDE5NywgNzgsIDY1LCA3NywgNTAsIDEyOCwgNzgsIDY1LCA3NywgMTI4LCA3OCwgCisgICAgNjUsIDc1LCAxMjgsIDc4LCA2NSwgNzMsIDgyLCAxOTMsIDc4LCA2NSwgNzMsIDIwNCwgNzgsIDY1LCA3MSwgODIsIDIwMSwgCisgICAgNzgsIDY1LCA3MSwgNjUsIDgyLCAxMjgsIDc4LCA2NSwgNzEsIDY1LCAxMjgsIDc4LCA2NSwgNzEsIDE5MywgNzgsIDY1LCAKKyAgICA3MSwgMTI4LCA3OCwgNjUsIDE5OSwgNzgsIDY1LCA2OSwgMTI4LCA3OCwgNjUsIDY2LCA3NiwgNjUsIDEyOCwgNzgsIDY1LCAKKyAgICA2NSwgODMsIDczLCA3NSwgODksIDY1LCA4OSwgNjUsIDEyOCwgNzgsIDY1LCA2NSwgNzUsIDgzLCA3MywgNzUsIDg5LCA2NSwgCisgICAgODksIDY1LCAxMjgsIDc4LCA2NSwgNjUsIDczLCAxMjgsIDc4LCA2NSwgMTkzLCA3OCwgNjUsIDUwLCAxMjgsIDc4LCA2NSwgCisgICAgNDUsIDUwLCAxMjgsIDc4LCA0OCwgNTIsIDUwLCAxMjgsIDc4LCA0OCwgNTIsIDQ5LCAxMjgsIDc4LCA0OCwgNTIsIDQ4LCAKKyAgICAxMjgsIDc4LCA0OCwgNTEsIDU3LCAxMjgsIDc4LCA0OCwgNTEsIDU2LCAxMjgsIDc4LCA0OCwgNTEsIDU1LCA2NSwgMTI4LCAKKyAgICA3OCwgNDgsIDUxLCA1NSwgMTI4LCA3OCwgNDgsIDUxLCA1NCwgMTI4LCA3OCwgNDgsIDUxLCA1MywgNjUsIDEyOCwgNzgsIAorICAgIDQ4LCA1MSwgNTMsIDEyOCwgNzgsIDQ4LCA1MSwgNTIsIDY1LCAxMjgsIDc4LCA0OCwgNTEsIDUyLCAxMjgsIDc4LCA0OCwgCisgICAgNTEsIDUxLCA2NSwgMTI4LCA3OCwgNDgsIDUxLCA1MSwgMTI4LCA3OCwgNDgsIDUxLCA1MCwgMTI4LCA3OCwgNDgsIDUxLCAKKyAgICA0OSwgMTI4LCA3OCwgNDgsIDUxLCA0OCwgMTI4LCA3OCwgNDgsIDUwLCA1NywgMTI4LCA3OCwgNDgsIDUwLCA1NiwgMTI4LCAKKyAgICA3OCwgNDgsIDUwLCA1NSwgMTI4LCA3OCwgNDgsIDUwLCA1NCwgMTI4LCA3OCwgNDgsIDUwLCA1MywgNjUsIDEyOCwgNzgsIAorICAgIDQ4LCA1MCwgNTMsIDEyOCwgNzgsIDQ4LCA1MCwgNTIsIDEyOCwgNzgsIDQ4LCA1MCwgNTEsIDEyOCwgNzgsIDQ4LCA1MCwgCisgICAgNTAsIDEyOCwgNzgsIDQ4LCA1MCwgNDksIDEyOCwgNzgsIDQ4LCA1MCwgNDgsIDEyOCwgNzgsIDQ4LCA0OSwgNTcsIDEyOCwgCisgICAgNzgsIDQ4LCA0OSwgNTYsIDY2LCAxMjgsIDc4LCA0OCwgNDksIDU2LCA2NSwgMTI4LCA3OCwgNDgsIDQ5LCA1NiwgMTI4LCAKKyAgICA3OCwgNDgsIDQ5LCA1NSwgMTI4LCA3OCwgNDgsIDQ5LCA1NCwgMTI4LCA3OCwgNDgsIDQ5LCA1MywgMTI4LCA3OCwgNDgsIAorICAgIDQ5LCA1MiwgMTI4LCA3OCwgNDgsIDQ5LCA1MSwgMTI4LCA3OCwgNDgsIDQ5LCA1MCwgMTI4LCA3OCwgNDgsIDQ5LCA0OSwgCisgICAgMTI4LCA3OCwgNDgsIDQ5LCA0OCwgMTI4LCA3OCwgNDgsIDQ4LCA1NywgMTI4LCA3OCwgNDgsIDQ4LCA1NiwgMTI4LCA3OCwgCisgICAgNDgsIDQ4LCA1NSwgMTI4LCA3OCwgNDgsIDQ4LCA1NCwgMTI4LCA3OCwgNDgsIDQ4LCA1MywgMTI4LCA3OCwgNDgsIDQ4LCAKKyAgICA1MiwgMTI4LCA3OCwgNDgsIDQ4LCA1MSwgMTI4LCA3OCwgNDgsIDQ4LCA1MCwgMTI4LCA3OCwgNDgsIDQ4LCA0OSwgMTI4LCAKKyAgICA3OCwgNDUsIDY3LCA4MiwgNjksIDE5NywgNzgsIDQ1LCA2NSwgODIsIDIxNywgNzcsIDg5LCA4OCwgMTI4LCA3NywgODksIAorICAgIDg0LCAxMjgsIDc3LCA4OSwgODMsIDc2LCA3MywgODQsIDY5LCAxMjgsIDc3LCA4OSwgODAsIDEyOCwgNzcsIDg5LCA2NSwgCisgICAgMTI4LCA3NywgODksIDE5MywgNzcsIDg5LCAxMjgsIDc3LCAyMTcsIDc3LCA4NywgNzksIDc5LCAxMjgsIDc3LCA4NywgNzksIAorICAgIDEyOCwgNzcsIDg3LCA3MywgNzMsIDEyOCwgNzcsIDg3LCA3MywgMTI4LCA3NywgODcsIDY5LCA2OSwgMTI4LCA3NywgODcsIAorICAgIDY5LCAxMjgsIDc3LCA4NywgNjUsIDY1LCAxMjgsIDc3LCA4NywgNjUsIDEyOCwgNzcsIDg3LCAxMjgsIDc3LCAyMTUsIDc3LCAKKyAgICA4NiwgODMsIDEyOCwgNzcsIDg2LCA3OSwgODAsIDEyOCwgNzcsIDg2LCA3MywgMTI4LCA3NywgODYsIDY5LCA4NSwgNjUsIAorICAgIDY5LCA3OCwgNzEsIDY1LCA3NywgMTI4LCA3NywgODYsIDEyOCwgNzcsIDIxNCwgNzcsIDg1LCA4OCwgMTI4LCA3NywgODUsIAorICAgIDg1LCA4MywgNzMsIDc1LCA2NSwgODQsIDc5LCA2NSwgNzgsIDEyOCwgNzcsIDg1LCA4NSwgODIsIDY4LCA3MiwgNjUsIDc0LCAKKyAgICAxOTMsIDc3LCA4NSwgODUsIDEyOCwgNzcsIDg1LCA4NCwgMTI4LCA3NywgODUsIDgzLCA3MywgNjcsIDEyOCwgNzcsIDg1LCAKKyAgICA4MywgNzMsIDE5NSwgNzcsIDg1LCA4MywgNzIsIDgyLCA3OSwgNzksIDc3LCAxMjgsIDc3LCA4NSwgODMsIDcyLCA1MSwgCisgICAgMTI4LCA3NywgODUsIDgzLCA3MiwgMTc5LCA3NywgODUsIDgzLCA3MiwgMTI4LCA3NywgODUsIDgzLCAyMDAsIDc3LCA4NSwgCisgICAgODIsIDg4LCAxMjgsIDc3LCA4NSwgODIsIDcxLCA4NSwgNTAsIDEyOCwgNzcsIDg1LCA4MiwgNjksIDEyOCwgNzcsIDg1LCAKKyAgICA4MiwgNjgsIDY1LCAxMjgsIDc3LCA4NSwgODIsIDY4LCAxOTMsIDc3LCA4NSwgODIsIDEyOCwgNzcsIDg1LCA4MSwgNjgsIAorICAgIDY1LCA3NywgMTI4LCA3NywgODUsIDgwLCAxMjgsIDc3LCA4NSwgNzksIDg4LCAxMjgsIDc3LCA4NSwgNzksIDg0LCAxMjgsIAorICAgIDc3LCA4NSwgNzksIDgwLCAxMjgsIDc3LCA4NSwgNzksIDc3LCA2NSwgNjksIDEyOCwgNzcsIDg1LCA3OSwgMTI4LCA3NywgCisgICAgODUsIDc4LCA4MywgODUsIDY2LCAxMjgsIDc3LCA4NSwgNzgsIDY1LCA3MiwgMTI4LCA3NywgODUsIDc2LCA4NCwgNzMsIDgzLCAKKyAgICA2OSwgODQsIDEyOCwgNzcsIDg1LCA3NiwgODQsIDczLCA4MywgNjksIDIxMiwgNzcsIDg1LCA3NiwgODQsIDczLCA4MCwgNzYsIAorICAgIDczLCA2NywgNjUsIDg0LCA3MywgNzksIDc4LCAxMjgsIDc3LCA4NSwgNzYsIDg0LCA3MywgODAsIDc2LCA3MywgNjcsIDY1LCAKKyAgICA4NCwgNzMsIDc5LCAyMDYsIDc3LCA4NSwgNzYsIDg0LCA3MywgODAsIDc2LCAxOTcsIDc3LCA4NSwgNzYsIDg0LCA3MywgNzksIAorICAgIDY3LCA4NSwgNzYsIDY1LCAyMTAsIDc3LCA4NSwgNzYsIDg0LCA3MywgNzcsIDY1LCA4MCwgMTI4LCA3NywgODUsIDc2LCA4NCwgCisgICAgMjAxLCA3NywgODUsIDc1LCA4MCwgNzIsIDgyLCA2OSwgNzgsIDcxLCAxMjgsIDc3LCA4NSwgNzMsIDc4LCAxMjgsIDc3LCAKKyAgICA4NSwgNzEsIDgzLCAxMjgsIDc3LCA4NSwgNzEsIDEyOCwgNzcsIDg1LCAxOTksIDc3LCA4NSwgNjksIDEyOCwgNzcsIDg1LCAKKyAgICA2NywgNzIsIDEyOCwgNzcsIDg1LCA2NywgMjAwLCA3NywgODUsIDY3LCA2NSwgNjUsIDY4LCAxMjgsIDc3LCA4NSwgNjUsIAorICAgIDc4LCAxMjgsIDc3LCA4NSwgNjUsIDY5LCAxMjgsIDc3LCA4NSwgNDUsIDcxLCA2NSwgNjUsIDcyLCA3NiwgNjUsIDE5MywgCisgICAgNzcsIDIxMywgNzcsIDgzLCAxMjgsIDc3LCA4MCwgNjUsIDEyOCwgNzcsIDc5LCA4OSwgNjUsIDczLCAxMjgsIDc3LCA3OSwgCisgICAgODgsIDEyOCwgNzcsIDc5LCA4NiwgNzMsIDE5NywgNzcsIDc5LCA4NiwgNjksIDE5NiwgNzcsIDc5LCA4NSwgODQsIDcyLCAKKyAgICAxMjgsIDc3LCA3OSwgODUsIDg0LCAyMDAsIDc3LCA3OSwgODUsIDgzLCA2OSwgMTI4LCA3NywgNzksIDg1LCA4MywgMTk3LCAKKyAgICA3NywgNzksIDg1LCA3OCwgODQsIDY1LCA3MywgNzgsIDgzLCAxMjgsIDc3LCA3OSwgODUsIDc4LCA4NCwgNjUsIDczLCA3OCwgCisgICAgMTI4LCA3NywgNzksIDg1LCA3OCwgODQsIDY1LCA3MywgMjA2LCA3NywgNzksIDg1LCA3OCwgMjEyLCA3NywgNzksIDg1LCAKKyAgICA3OCwgNjgsIDEyOCwgNzcsIDc5LCA4NSwgNzgsIDE5NiwgNzcsIDc5LCA4NCwgNzIsIDY5LCA4MiwgMTI4LCA3NywgNzksIAorICAgIDg0LCAxMjgsIDc3LCA3OSwgODIsIDg0LCA4NSwgODUsIDc3LCAxMjgsIDc3LCA3OSwgODIsIDg0LCA2NSwgODIsIDEyOCwgCisgICAgNzcsIDc5LCA4MiwgODAsIDcyLCA3OSwgNzYsIDc5LCA3MSwgNzMsIDY3LCA2NSwgMjA0LCA3NywgNzksIDgyLCA3OCwgNzMsIAorICAgIDc4LCA3MSwgMTI4LCA3NywgNzksIDgwLCAxMjgsIDc3LCA3OSwgNzksIDgzLCA2OSwgNDUsIDY3LCA4MiwgNjksIDE5NywgCisgICAgNzcsIDc5LCA3OSwgNzgsIDEyOCwgNzcsIDc5LCA3OSwgMjA2LCA3NywgNzksIDc5LCA3NywgODAsIDg1LCA4MSwgMTI4LCAKKyAgICA3NywgNzksIDc5LCA3NywgNjksIDg1LCA4NCwgMTI4LCA3NywgNzksIDc5LCAxMjgsIDc3LCA3OSwgNzgsIDg0LCA3MywgNjksIAorICAgIDY5LCA3OCwgMTI4LCA3NywgNzksIDc4LCA4NCwgNzIsIDEyOCwgNzcsIDc5LCA3OCwgODQsIDIwMCwgNzcsIDc5LCA3OCwgCisgICAgODMsIDg0LCA2OSwgODIsIDEyOCwgNzcsIDc5LCA3OCwgNzksIDgzLCA4NCwgNjUsIDY2LCA3NiwgMTk3LCA3NywgNzksIDc4LCAKKyAgICA3OSwgODMsIDgwLCA2NSwgNjcsIDE5NywgNzcsIDc5LCA3OCwgNzksIDgyLCA2NSwgNzMsIDc2LCAxMjgsIDc3LCA3OSwgNzgsIAorICAgIDc5LCA3MSwgODIsIDY1LCA4MCwgMjAwLCA3NywgNzksIDc4LCA3OSwgNzEsIDgyLCA2NSwgNzcsIDc3LCA3OSwgMjExLCA3NywgCisgICAgNzksIDc4LCA3OSwgNzEsIDgyLCA2NSwgMjA1LCA3NywgNzksIDc4LCA3OSwgNzAsIDc5LCA3OCwgNzMsIDY1LCA4MywgMTI4LCAKKyAgICA3NywgNzksIDc4LCA3OSwgNjcsIDg1LCA3NiwgNjUsIDIxMCwgNzcsIDc5LCA3OCwgNzUsIDY5LCA4OSwgMTI4LCA3NywgNzksIAorICAgIDc4LCA3NSwgNjksIDIxNywgNzcsIDc5LCA3OCwgNzMsIDEyOCwgNzcsIDc5LCA3OCwgNzEsIDc1LCA2OSwgODUsIDY1LCA2OSwgCisgICAgODEsIDEyOCwgNzcsIDc5LCA3OCwgNjksIDIxNywgNzcsIDc5LCA3OCwgMTI4LCA3NywgNzksIDIwNiwgNzcsIDc5LCA3NiwgCisgICAgMTI4LCA3NywgNzksIDcyLCA2NSwgNzcsIDc3LCA2NSwgMTk2LCA3NywgNzksIDY4LCA4NSwgNzYsIDIwNywgNzcsIDc5LCAKKyAgICA2OCwgNjksIDgzLCA4NCwgODksIDEyOCwgNzcsIDc5LCA2OCwgNjksIDc2LCA4MywgMTI4LCA3NywgNzksIDY4LCA2OSwgNzYsIAorICAgIDEyOCwgNzcsIDc5LCA2OCwgNjksIDEyOCwgNzcsIDc5LCA2NiwgNzMsIDc2LCAxOTcsIDc3LCA3OSwgNjUsIDEyOCwgNzcsIAorICAgIDIwNywgNzcsIDc4LCA4OSwgNjUsIDIwNSwgNzcsIDc4LCA2NSwgODMsIDEyOCwgNzcsIDc3LCA4MywgODAsIDEyOCwgNzcsIAorICAgIDc3LCAxMjgsIDc3LCAyMDUsIDc3LCA3NiwgNjUsIDEyOCwgNzcsIDc2LCAxMjgsIDc3LCA3NSwgODAsIDY1LCA4MiwgNjUsIAorICAgIDIwOSwgNzcsIDczLCA4OCwgMTI4LCA3NywgNzMsIDg0LCAxMjgsIDc3LCA3MywgODMsIDgyLCA2NSwgMTI4LCA3NywgNzMsIAorICAgIDgyLCA3MywgNjYsIDY1LCA2NSwgODIsIDg1LCAxMjgsIDc3LCA3MywgODIsIDczLCAxMjgsIDc3LCA3MywgODIsIDY5LCA2OCwgCisgICAgMTI4LCA3NywgNzMsIDgwLCAxMjgsIDc3LCA3MywgNzgsIDg5LCAxMjgsIDc3LCA3MywgNzgsIDg1LCA4MywgNDUsIDc5LCAKKyAgICA4MiwgNDUsIDgwLCA3NiwgODUsIDIxMSwgNzcsIDczLCA3OCwgODUsIDgzLCAxMjgsIDc3LCA3MywgNzgsIDczLCA4MywgODQsIAorICAgIDY5LCA4MiwgMTI4LCA3NywgNzMsIDc4LCA3MywgNzcsIDY1LCAxMjgsIDc3LCA3MywgNzgsIDczLCA2OCwgNzMsIDgzLCA2NywgCisgICAgMTI4LCA3NywgNzMsIDc4LCA3MywgNjYsIDg1LCA4MywgMTI4LCA3NywgNzMsIDc3LCA2OSwgMTI4LCA3NywgNzMsIDc3LCAKKyAgICAxMjgsIDc3LCA3MywgNzYsIDc2LCA3MywgNzksIDc4LCAyMTEsIDc3LCA3MywgNzYsIDc2LCA2OSwgODQsIDEyOCwgNzcsIAorICAgIDczLCA3NiwgNzYsIDE5NywgNzcsIDczLCA3NiwgMjA0LCA3NywgNzMsIDc2LCA3NSwgMjE3LCA3NywgNzMsIDc2LCAxMjgsIAorICAgIDc3LCA3MywgNzUsIDg1LCA4MiwgNzksIDc4LCAxMjgsIDc3LCA3MywgNzUsIDgyLCA3OSwgMjA2LCA3NywgNzMsIDc1LCA4MiwgCisgICAgNzMsIDEyOCwgNzcsIDczLCA3MywgNzgsIDEyOCwgNzcsIDczLCA3MywgMTI4LCA3NywgNzMsIDE5OSwgNzcsIDczLCA2OSwgCisgICAgODgsIDEyOCwgNzcsIDczLCA2OSwgODUsIDc3LCA0NSwgODQsIDczLCA3NSwgNjksIDg1LCA4NCwgMTI4LCA3NywgNzMsIDY5LCAKKyAgICA4NSwgNzcsIDQ1LCA4MywgODMsIDY1LCA3OCwgNzEsIDgzLCA3MywgNzksIDgzLCAxMjgsIDc3LCA3MywgNjksIDg1LCA3NywgCisgICAgNDUsIDgzLCA4MywgNjUsIDc4LCA3MSwgNzgsIDczLCA2OSwgODUsIDc4LCAxMjgsIDc3LCA3MywgNjksIDg1LCA3NywgNDUsIAorICAgIDgyLCA3MywgNjksIDg1LCA3NiwgMTI4LCA3NywgNzMsIDY5LCA4NSwgNzcsIDQ1LCA4MCwgNzMsIDY5LCA4NSwgODAsIDQ1LCAKKyAgICA4MywgNzMsIDc5LCA4MywgMTI4LCA3NywgNzMsIDY5LCA4NSwgNzcsIDQ1LCA4MCwgNzMsIDY5LCA4NSwgODAsIDEyOCwgNzcsIAorICAgIDczLCA2OSwgODUsIDc3LCA0NSwgODAsIDY1LCA3OCwgODMsIDczLCA3OSwgODMsIDEyOCwgNzcsIDczLCA2OSwgODUsIDc3LCAKKyAgICA0NSwgNzgsIDczLCA2OSwgODUsIDc4LCAxMjgsIDc3LCA3MywgNjksIDg1LCA3NywgNDUsIDY3LCA3MywgNjksIDg1LCA2NywgCisgICAgMTI4LCA3NywgNzMsIDY5LCA4NSwgNzcsIDQ1LCA2NywgNzIsIDczLCA2OSwgODUsIDY3LCA3MiwgMTI4LCA3NywgNzMsIDY5LCAKKyAgICA4NSwgMjA1LCA3NywgNzMsIDY5LCA4MCwgMTI4LCA3NywgNzMsIDY5LCA2OSwgMTI4LCA3NywgNzMsIDY5LCAxMjgsIDc3LCAKKyAgICA3MywgNjgsIDc2LCA3MywgNzgsIDE5NywgNzcsIDczLCA2OCwgNjgsIDc2LCA2OSwgNDUsIDg3LCA2OSwgNzYsIDgzLCAyMDAsIAorICAgIDc3LCA3MywgNjgsIDY4LCA3NiwgMTk3LCA3NywgNzMsIDE5NiwgNzcsIDczLCA2NywgODIsIDc5LCA4MywgNjcsIDc5LCA4MCwgCisgICAgNjksIDEyOCwgNzcsIDczLCA2NywgODIsIDc5LCA4MCwgNzIsIDc5LCA3OCwgNjksIDEyOCwgNzcsIDczLCA2NywgODIsIAorICAgIDIwNywgNzcsIDczLCA2NywgMjEwLCA3NywgNzIsIDkwLCAxMjgsIDc3LCA3MiwgNjUsIDEyOCwgNzcsIDcyLCAxMjgsIDc3LCAKKyAgICA3MSwgODUsIDg4LCAxMjgsIDc3LCA3MSwgODUsIDg0LCAxMjgsIDc3LCA3MSwgODUsIDgyLCA4OCwgMTI4LCA3NywgNzEsIAorICAgIDg1LCA4MiwgMTI4LCA3NywgNzEsIDg1LCA4MCwgMTI4LCA3NywgNzEsIDg1LCA3OSwgODgsIDEyOCwgNzcsIDcxLCA4NSwgCisgICAgNzksIDgwLCAxMjgsIDc3LCA3MSwgODUsIDc5LCAxMjgsIDc3LCA3MSwgODUsIDEyOCwgNzcsIDcxLCA3OSwgODgsIDEyOCwgCisgICAgNzcsIDcxLCA3OSwgODQsIDEyOCwgNzcsIDcxLCA3OSwgODAsIDEyOCwgNzcsIDcxLCA3OSwgMTI4LCA3NywgNzEsIDIwNywgCisgICAgNzcsIDcxLCA3MywgNjksIDg4LCAxMjgsIDc3LCA3MSwgNzMsIDY5LCAxMjgsIDc3LCA3MSwgNjksIDg4LCAxMjgsIDc3LCAKKyAgICA3MSwgNjksIDgwLCAxMjgsIDc3LCA3MSwgNjksIDEyOCwgNzcsIDcxLCA2NiwgODUsIDEyOCwgNzcsIDcxLCA2NiwgNzksIAorICAgIDc5LCAxMjgsIDc3LCA3MSwgNjYsIDc5LCA3MCwgODUsIDc3LCAxMjgsIDc3LCA3MSwgNjYsIDc5LCAxMjgsIDc3LCA3MSwgCisgICAgNjYsIDczLCAxMjgsIDc3LCA3MSwgNjYsIDY5LCA4NSwgNzgsIDEyOCwgNzcsIDcxLCA2NiwgNjksIDc4LCAxMjgsIDc3LCAKKyAgICA3MSwgNjYsIDY5LCA2OSwgMTI4LCA3NywgNzEsIDY2LCA2OSwgMTI4LCA3NywgNzEsIDY2LCA2NSwgODMsIDY1LCA4MSwgCisgICAgMTI4LCA3NywgNzEsIDY2LCA2NSwgODMsIDY1LCAxMjgsIDc3LCA3MSwgNjUsIDg4LCAxMjgsIDc3LCA3MSwgNjUsIDg0LCAKKyAgICAxMjgsIDc3LCA3MSwgNjUsIDgwLCAxMjgsIDc3LCA3MSwgNjUsIDEyOCwgNzcsIDcxLCAxMjgsIDc3LCA3MCwgNzksIDc4LCAKKyAgICAxMjgsIDc3LCA3MCwgNzksIDIwNiwgNzcsIDcwLCA3OSwgMTI4LCA3NywgNzAsIDczLCA4OSwgNjUsIDgxLCAxMjgsIDc3LCAKKyAgICA3MCwgNzMsIDY5LCA2OSwgMTI4LCA3NywgNzAsIDY5LCA4NSwgODQsIDEyOCwgNzcsIDcwLCA2OSwgODUsIDgxLCAxMjgsIAorICAgIDc3LCA3MCwgNjksIDg1LCA2NSwgNjksIDEyOCwgNzcsIDcwLCA2NSwgNjUsIDEyOCwgNzcsIDY5LCA5MCwgOTAsIDc5LCAKKyAgICAxMjgsIDc3LCA2OSwgODgsIDEyOCwgNzcsIDY5LCA4NSwgMjEyLCA3NywgNjksIDg1LCA4MSwgMTI4LCA3NywgNjksIDg1LCAKKyAgICA3OCwgNzQsIDc5LCA3NywgNzgsIDY4LCA2OSwgODUsIDgxLCAxMjgsIDc3LCA2OSwgODUsIDc4LCAxMjgsIDc3LCA2OSwgODQsIAorICAgIDgyLCA3OSwgMTI4LCA3NywgNjksIDg0LCA4MiwgNzMsIDY3LCA2NSwgMjA0LCA3NywgNjksIDg0LCA4MiwgNzMsIDY1LCAKKyAgICAxMjgsIDc3LCA2OSwgODQsIDgyLCA2OSwgODQsIDY5LCAyMTEsIDc3LCA2OSwgODQsIDc5LCA2NiwgNjksIDc2LCA4NSwgODMsIAorICAgIDEyOCwgNzcsIDY5LCA4NCwgNjksIDc1LCAxMjgsIDc3LCA2OSwgODQsIDY5LCA3MSwgMTI4LCA3NywgNjksIDg0LCA2NSwgCisgICAgNzYsIDEyOCwgNzcsIDY5LCA4NCwgMTkzLCA3NywgNjksIDgzLCA4MywgNjksIDc4LCA3MywgNjUsIDIwNiwgNzcsIDY5LCAKKyAgICA4MywgODMsIDY1LCA3MSwgNjksIDEyOCwgNzcsIDY5LCA4MywgODMsIDY1LCA3MSwgMTk3LCA3NywgNjksIDgzLCA3OSwgCisgICAgMTI4LCA3NywgNjksIDgzLCA3MywgMTI4LCA3NywgNjksIDgzLCA3MiwgMTI4LCA3NywgNjksIDgyLCA3OSwgNzMsIDg0LCAKKyAgICA3MywgMTk1LCA3NywgNjksIDgyLCA3NSwgNzIsIDY1LCAxMjgsIDc3LCA2OSwgODIsIDc1LCA3MiwgMTkzLCA3NywgNjksIAorICAgIDgyLCA3MywgNjgsIDczLCA2NSwgNzgsIDgzLCAxMjgsIDc3LCA2OSwgODIsIDczLCAxMjgsIDc3LCA2OSwgODIsIDcxLCA2OSwgCisgICAgMTI4LCA3NywgNjksIDgyLCA2NywgODUsIDgyLCA4OSwgMTI4LCA3NywgNjksIDgyLCA2NywgODUsIDgyLCAyMTcsIDc3LCAKKyAgICA2OSwgNzgsIDY4LCA4NSwgODQsIDEyOCwgNzcsIDY5LCA3OCwgMTI4LCA3NywgNjksIDc3LCA3OSwgMTI4LCA3NywgNjksIAorICAgIDc3LCA2NiwgNjksIDgyLCA4MywgNzIsIDczLCA4MCwgMTI4LCA3NywgNjksIDc3LCA2NiwgNjksIDgyLCAxMjgsIDc3LCA2OSwgCisgICAgNzcsIDY2LCA2OSwgMjEwLCA3NywgNjksIDc3LCA0NSwgODEsIDc5LCA4MCwgNzIsIDEyOCwgNzcsIDY5LCA3NywgMTI4LCAKKyAgICA3NywgNjksIDIwNSwgNzcsIDY5LCA3NiwgNzksIDY4LCA3MywgMTk1LCA3NywgNjksIDc2LCA3MywgNzUsIDEyOCwgNzcsIAorICAgIDY5LCA3MywgOTAsIDczLCAxMjgsIDc3LCA2OSwgNzEsIDY1LCA4NCwgNzksIDc4LCAxMjgsIDc3LCA2OSwgNzEsIDY1LCA4MCwgCisgICAgNzIsIDc5LCA3OCwgNjksIDEyOCwgNzcsIDY5LCA3MSwgNjUsIDc2LCA3MywgMTI4LCA3NywgNjksIDY5LCA4NCwgNzksIDgyLCAKKyAgICA4NSwgMTI4LCA3NywgNjksIDY5LCA4NCwgMTI4LCA3NywgNjksIDY5LCA3NywgODUsIDEyOCwgNzcsIDY5LCA2OSwgNzcsIAorICAgIDEyOCwgNzcsIDY5LCA2OSwgNjksIDY5LCAxMjgsIDc3LCA2OSwgNjgsIDczLCA4NSwgNzcsIDEyOCwgNzcsIDY5LCA2OCwgCisgICAgNzMsIDg1LCAyMDUsIDc3LCA2OSwgNjgsIDczLCA2NywgNzMsIDc4LCA2OSwgMTI4LCA3NywgNjksIDY4LCA3MywgNjcsIDY1LCAKKyAgICAyMDQsIDc3LCA2OSwgNjUsIDg0LCAxMjgsIDc3LCA2OSwgNjUsIDIxMiwgNzcsIDY5LCA2NSwgODMsIDg1LCA4MiwgNjksIAorICAgIDE5NiwgNzcsIDY5LCA2NSwgODMsIDg1LCA4MiwgNjksIDEyOCwgNzcsIDY5LCA2NSwgODMsIDg1LCA4MiwgMTk3LCA3NywgCisgICAgNjgsIDg1LCAyMDYsIDc3LCAxOTYsIDc3LCA2NywgNzIsIDIxMywgNzcsIDY3LCA3MiwgNjUsIDIwNiwgNzcsIDE5NSwgNzcsIAorICAgIDY2LCA4NSwgNzksIDgxLCAxMjgsIDc3LCA2NiwgODUsIDc5LCAxMjgsIDc3LCA2NiwgODUsIDY5LCAxMjgsIDc3LCA2NiwgCisgICAgODUsIDY1LCA2OSwgNzcsIDEyOCwgNzcsIDY2LCA4NSwgNjUsIDY5LCAxMjgsIDc3LCA2NiwgNzksIDc5LCAxMjgsIDc3LCAKKyAgICA2NiwgNzksIDEyOCwgNzcsIDY2LCA3MywgODQsIDEyOCwgNzcsIDY2LCA3MywgMjEyLCA3NywgNjYsIDczLCA4MiwgNzMsIAorICAgIDY5LCA2OSwgNzgsIDEyOCwgNzcsIDY2LCA3MywgMTI4LCA3NywgNjYsIDY5LCA4NSwgODgsIDEyOCwgNzcsIDY2LCA2OSwgCisgICAgODUsIDgyLCA3MywgMTI4LCA3NywgNjYsIDY5LCA4NSwgNzcsIDEyOCwgNzcsIDY2LCA2OSwgODIsIDY1LCA2OSwgMTI4LCAKKyAgICA3NywgNjYsIDY5LCA3OCwgMTI4LCA3NywgNjYsIDY5LCA2OSwgNzUsIDY5LCA2OSwgODQsIDEyOCwgNzcsIDY2LCA2OSwgNjksIAorICAgIDEyOCwgNzcsIDY2LCA2OSwgMTI4LCA3NywgNjYsIDY1LCA4MSwgMTI4LCA3NywgNjYsIDY1LCA3OCwgODksIDczLCAxMjgsIAorICAgIDc3LCA2NiwgNjUsIDY1LCA4MiwgNjUsIDY5LCAxMjgsIDc3LCA2NiwgNjUsIDY1LCA3NSwgNjksIDg0LCAxMjgsIDc3LCA2NiwgCisgICAgNjUsIDY1LCAxMjgsIDc3LCA2NiwgNjUsIDE5MywgNzcsIDY2LCAxOTMsIDc3LCA2NiwgNTIsIDEyOCwgNzcsIDY2LCA1MSwgCisgICAgMTI4LCA3NywgNjYsIDUwLCAxMjgsIDc3LCA2NiwgMTI4LCA3NywgMTk0LCA3NywgNjUsIDg5LCA2NSwgNzgsIDc4LCA2NSwgCisgICAgMTI4LCA3NywgNjUsIDg5LCAxMjgsIDc3LCA2NSwgODgsIDczLCA3NywgNjUsIDEyOCwgNzcsIDY1LCA4OCwgMTI4LCA3NywgCisgICAgNjUsIDg1LCAxMjgsIDc3LCA2NSwgODQsIDg0LCA3OSwgNjcsIDc1LCAxMjgsIDc3LCA2NSwgODQsIDgyLCA3MywgODgsIAorICAgIDEyOCwgNzcsIDY1LCA4NCwgNjksIDgyLCA3MywgNjUsIDc2LCA4MywgMTI4LCA3NywgNjUsIDg0LCAxMjgsIDc3LCA2NSwgCisgICAgODMsIDIxMywgNzcsIDY1LCA4MywgODMsIDczLCA3OCwgNzEsIDEyOCwgNzcsIDY1LCA4MywgODMsIDY1LCA3MSwgNjksIAorICAgIDEyOCwgNzcsIDY1LCA4MywgNzksIDgyLCAxOTMsIDc3LCA2NSwgODMsIDc1LCAxMjgsIDc3LCA2NSwgODMsIDcyLCA3MCwgCisgICAgNjUsIDY1LCA4NCwgMTI4LCA3NywgNjUsIDgzLCA3MiwgNTAsIDEyOCwgNzcsIDY1LCA4MywgNjcsIDg1LCA3NiwgNzMsIDc4LCAKKyAgICAxOTcsIDc3LCA2NSwgODIsIDg5LCAxMjgsIDc3LCA2NSwgODIsIDg1LCA3NSwgODUsIDEyOCwgNzcsIDY1LCA4MiwgODQsIAorICAgIDg5LCA4MiwgNzMsIDE5MywgNzcsIDY1LCA4MiwgODIsIDg5LCA3MywgNzgsIDE5OSwgNzcsIDY1LCA4MiwgODIsIDczLCA2NSwgCisgICAgNzEsIDE5NywgNzcsIDY1LCA4MiwgNzUsIDY5LCA4MiwgMTI4LCA3NywgNjUsIDgyLCA3NSwgNDUsIDUyLCAxMjgsIDc3LCAKKyAgICA2NSwgODIsIDc1LCA0NSwgNTEsIDEyOCwgNzcsIDY1LCA4MiwgNzUsIDQ1LCA1MCwgMTI4LCA3NywgNjUsIDgyLCA3NSwgNDUsIAorICAgIDQ5LCAxMjgsIDc3LCA2NSwgODIsIDY5LCAxMjgsIDc3LCA2NSwgODIsIDY3LCA3MiwgMTI4LCA3NywgNjUsIDgyLCA2NywgCisgICAgNjUsIDg0LCA3OSwgNDUsIDgzLCA4NCwgNjUsIDY3LCA2NywgNjUsIDg0LCA3OSwgMTI4LCA3NywgNjUsIDgyLCA2NywgNjUsIAorICAgIDg0LCA3OSwgMTI4LCA3NywgNjUsIDgyLCA2NywgNjUsIDgzLCA3MywgODQsIDY5LCAxMjgsIDc3LCA2NSwgODIsIDY2LCA4NSwgCisgICAgODQsIDY1LCAxMjgsIDc3LCA2NSwgODIsIDY2LCA4NSwgODQsIDE5MywgNzcsIDY1LCA4MiwgMTI4LCA3NywgNjUsIDgxLCAKKyAgICA2NSwgNzAsIDEyOCwgNzcsIDY1LCA4MSwgMTI4LCA3NywgNjUsIDgwLCA3NiwgMTk3LCA3NywgNjUsIDgwLCA3MywgODEsIAorICAgIDEyOCwgNzcsIDY1LCAyMDgsIDc3LCA2NSwgNzksIDEyOCwgNzcsIDY1LCA3OCwgODMsIDg5LCA3OSwgNzgsIDEyOCwgNzcsIAorICAgIDY1LCA3OCwgODMsIDg1LCA2NSwgNjksIDEyOCwgNzcsIDY1LCA3OCwgNzgsIDY1LCAyMTgsIDc3LCA2NSwgNzgsIDc4LCA2NSwgCisgICAgMTI4LCA3NywgNjUsIDc4LCA3MSwgNjUsIDc2LCA2NSwgNzcsIDEyOCwgNzcsIDY1LCA3OCwgNjgsIDY1LCA3MywgNzYsIDczLCAKKyAgICA3OCwgMTk5LCA3NywgNjUsIDc4LCA2OCwgNjUsIDczLCAxOTUsIDc3LCA2NSwgNzgsIDY3LCA3MiwgMjEzLCA3NywgNjUsIAorICAgIDc4LCA2NSwgNjcsIDc2LCA2OSwgODMsIDEyOCwgNzcsIDY1LCA3NiwgODQsIDY5LCA4MywgMTk3LCA3NywgNjUsIDc2LCA2OSwgCisgICAgNjksIDgyLCA3MywgMTI4LCA3NywgNjUsIDc2LCA2OSwgMTI4LCA3NywgNjUsIDc2LCAxOTcsIDc3LCA2NSwgNzYsIDY1LCAKKyAgICA3NSwgNzksIDIwNiwgNzcsIDY1LCA3NSwgODMsIDg1LCA4MiwgNjUsIDEyOCwgNzcsIDY1LCA3NSwgODMsIDg1LCA4MiwgCisgICAgMTkzLCA3NywgNjUsIDczLCA5MCwgNjksIDEyOCwgNzcsIDY1LCA3MywgODksIDY1LCA3NywgNzksIDc1LCAxMjgsIDc3LCAKKyAgICA2NSwgNzMsIDg0LCA2NSwgNzMsIDc1LCA3MiwgODUsIDEyOCwgNzcsIDY1LCA3MywgODIsIDg1LCAxMjgsIDc3LCA2NSwgNzMsIAorICAgIDc3LCA4NSwgNjUsIDc4LCAxMjgsIDc3LCA2NSwgNzMsIDc3LCA2NSwgNzYsIDY1LCA3MywgMTI4LCA3NywgNjUsIDczLCA3NiwgCisgICAgNjYsIDc5LCAyMTYsIDc3LCA2NSwgNzMsIDc1LCA4NSwgODIsIDc5LCAxMjgsIDc3LCA2NSwgNzMsIDY4LCA2OSwgNzgsIAorICAgIDEyOCwgNzcsIDY1LCA3MywgMTI4LCA3NywgNjUsIDcyLCA3NCwgNzksIDc4LCAxOTksIDc3LCA2NSwgNzIsIDcyLCA2NSwgCisgICAgMTI4LCA3NywgNjUsIDcyLCA2NSwgODAsIDgyLCA2NSwgNzgsIDY1LCAxMjgsIDc3LCA2NSwgNzIsIDY1LCA4MCwgNjUsIDc1LCAKKyAgICA3MiwgMTI4LCA3NywgNjUsIDcyLCA2NSwgNjUsIDgwLCA4MiwgNjUsIDY1LCA3OCwgMTkzLCA3NywgNjUsIDcyLCAxMjgsIAorICAgIDc3LCA2NSwgNzEsIDc4LCA3MywgNzAsIDg5LCA3MywgNzgsIDE5OSwgNzcsIDY1LCA2OSwgODMsIDczLCAxMjgsIDc3LCA2NSwgCisgICAgNjksIDc4LCA4OSwgNzMsIDEyOCwgNzcsIDY1LCA2OSwgNzgsIDc0LCA2OSwgODQsIDEyOCwgNzcsIDY1LCA2OSwgNzcsIDg2LCAKKyAgICA2OSwgODUsIDg4LCAxMjgsIDc3LCA2NSwgNjksIDc3LCA3NSwgODAsIDY5LCA3OCwgMTI4LCA3NywgNjUsIDY5LCA3NywgNzEsIAorICAgIDY2LCA3MywgNjksIDY5LCAxMjgsIDc3LCA2NSwgNjksIDc3LCA2NiwgNzEsIDY2LCA3MywgNjksIDY5LCAxMjgsIDc3LCA2NSwgCisgICAgNjksIDc3LCA2NiwgNjUsIDEyOCwgNzcsIDY1LCA2OSwgNzcsIDEyOCwgNzcsIDY1LCA2OSwgNzYsIDY5LCA2OSwgMTI4LCAKKyAgICA3NywgNjUsIDY5LCA3NSwgNjksIDg1LCA4MCwgMTI4LCA3NywgNjUsIDY4LCA4OSwgNjUsIDEyOCwgNzcsIDY1LCA2OCwgODUsIAorICAgIDEyOCwgNzcsIDY1LCA2OCwgNjgsIDY1LCAyMDAsIDc3LCA2NSwgNjgsIDY4LCA2NSwgMTI4LCA3NywgNjUsIDY4LCA2OCwgCisgICAgMTkzLCA3NywgNjUsIDY3LCA4MiwgNzksIDc4LCA0NSwgNzEsIDgyLCA2NSwgODYsIDY5LCAxMjgsIDc3LCA2NSwgNjcsIDgyLCAKKyAgICA3OSwgNzgsIDQ1LCA2NiwgODIsIDY5LCA4NiwgNjksIDEyOCwgNzcsIDY1LCA2NywgODIsIDc5LCA3OCwgNDUsIDY1LCA2NywgCisgICAgODUsIDg0LCA2OSwgMTI4LCA3NywgNjUsIDY3LCA4MiwgNzksIDc4LCAxMjgsIDc3LCA2NSwgNjcsIDgyLCA3OSwgMjA2LCAKKyAgICA3NywgNjUsIDY3LCA3MiwgNzMsIDc4LCA2OSwgMTI4LCA3NywgNjUsIDY1LCA4OSwgODksIDY1LCA2NSwgMTI4LCA3NywgNjUsIAorICAgIDY1LCA3MywgMTI4LCA3NywgNjUsIDY1LCAxMjgsIDc3LCA2NSwgNTAsIDEyOCwgNzcsIDQ4LCA1MiwgNTIsIDEyOCwgNzcsIAorICAgIDQ4LCA1MiwgNTEsIDEyOCwgNzcsIDQ4LCA1MiwgNTAsIDEyOCwgNzcsIDQ4LCA1MiwgNDksIDEyOCwgNzcsIDQ4LCA1MiwgCisgICAgNDgsIDY1LCAxMjgsIDc3LCA0OCwgNTIsIDQ4LCAxMjgsIDc3LCA0OCwgNTEsIDU3LCAxMjgsIDc3LCA0OCwgNTEsIDU2LCAKKyAgICAxMjgsIDc3LCA0OCwgNTEsIDU1LCAxMjgsIDc3LCA0OCwgNTEsIDU0LCAxMjgsIDc3LCA0OCwgNTEsIDUzLCAxMjgsIDc3LCAKKyAgICA0OCwgNTEsIDUyLCAxMjgsIDc3LCA0OCwgNTEsIDUxLCA2NiwgMTI4LCA3NywgNDgsIDUxLCA1MSwgNjUsIDEyOCwgNzcsIAorICAgIDQ4LCA1MSwgNTEsIDEyOCwgNzcsIDQ4LCA1MSwgNTAsIDEyOCwgNzcsIDQ4LCA1MSwgNDksIDY1LCAxMjgsIDc3LCA0OCwgCisgICAgNTEsIDQ5LCAxMjgsIDc3LCA0OCwgNTEsIDQ4LCAxMjgsIDc3LCA0OCwgNTAsIDU3LCAxMjgsIDc3LCA0OCwgNTAsIDU2LCAKKyAgICA2NSwgMTI4LCA3NywgNDgsIDUwLCA1NiwgMTI4LCA3NywgNDgsIDUwLCA1NSwgMTI4LCA3NywgNDgsIDUwLCA1NCwgMTI4LCAKKyAgICA3NywgNDgsIDUwLCA1MywgMTI4LCA3NywgNDgsIDUwLCA1MiwgNjUsIDEyOCwgNzcsIDQ4LCA1MCwgNTIsIDEyOCwgNzcsIAorICAgIDQ4LCA1MCwgNTEsIDEyOCwgNzcsIDQ4LCA1MCwgNTAsIDY1LCAxMjgsIDc3LCA0OCwgNTAsIDUwLCAxMjgsIDc3LCA0OCwgCisgICAgNTAsIDQ5LCAxMjgsIDc3LCA0OCwgNTAsIDQ4LCAxMjgsIDc3LCA0OCwgNDksIDU3LCAxMjgsIDc3LCA0OCwgNDksIDU2LCAKKyAgICAxMjgsIDc3LCA0OCwgNDksIDU1LCA2NSwgMTI4LCA3NywgNDgsIDQ5LCA1NSwgMTI4LCA3NywgNDgsIDQ5LCA1NCwgNjUsIAorICAgIDEyOCwgNzcsIDQ4LCA0OSwgNTQsIDEyOCwgNzcsIDQ4LCA0OSwgNTMsIDY1LCAxMjgsIDc3LCA0OCwgNDksIDUzLCAxMjgsIAorICAgIDc3LCA0OCwgNDksIDUyLCAxMjgsIDc3LCA0OCwgNDksIDUxLCAxMjgsIDc3LCA0OCwgNDksIDUwLCA3MiwgMTI4LCA3NywgCisgICAgNDgsIDQ5LCA1MCwgNzEsIDEyOCwgNzcsIDQ4LCA0OSwgNTAsIDcwLCAxMjgsIDc3LCA0OCwgNDksIDUwLCA2OSwgMTI4LCAKKyAgICA3NywgNDgsIDQ5LCA1MCwgNjgsIDEyOCwgNzcsIDQ4LCA0OSwgNTAsIDY3LCAxMjgsIDc3LCA0OCwgNDksIDUwLCA2NiwgCisgICAgMTI4LCA3NywgNDgsIDQ5LCA1MCwgNjUsIDEyOCwgNzcsIDQ4LCA0OSwgNTAsIDEyOCwgNzcsIDQ4LCA0OSwgNDksIDEyOCwgCisgICAgNzcsIDQ4LCA0OSwgNDgsIDY1LCAxMjgsIDc3LCA0OCwgNDksIDQ4LCAxMjgsIDc3LCA0OCwgNDgsIDU3LCAxMjgsIDc3LCAKKyAgICA0OCwgNDgsIDU2LCAxMjgsIDc3LCA0OCwgNDgsIDU1LCAxMjgsIDc3LCA0OCwgNDgsIDU0LCAxMjgsIDc3LCA0OCwgNDgsIAorICAgIDUzLCAxMjgsIDc3LCA0OCwgNDgsIDUyLCAxMjgsIDc3LCA0OCwgNDgsIDUxLCA2NSwgMTI4LCA3NywgNDgsIDQ4LCA1MSwgCisgICAgMTI4LCA3NywgNDgsIDQ4LCA1MCwgMTI4LCA3NywgNDgsIDQ4LCA0OSwgNjYsIDEyOCwgNzcsIDQ4LCA0OCwgNDksIDY1LCAKKyAgICAxMjgsIDc3LCA0OCwgNDgsIDQ5LCAxMjgsIDc2LCAyMTgsIDc2LCA4OSwgODksIDEyOCwgNzYsIDg5LCA4OCwgMTI4LCA3NiwgCisgICAgODksIDg0LCAxMjgsIDc2LCA4OSwgODIsIDg4LCAxMjgsIDc2LCA4OSwgODIsIDEyOCwgNzYsIDg5LCA4MCwgMTI4LCA3NiwgCisgICAgODksIDY4LCA3MywgNjUsIDIwNiwgNzYsIDg5LCA2NywgNzMsIDY1LCAyMDYsIDc2LCA4OCwgMTI4LCA3NiwgODcsIDc5LCAKKyAgICA3OSwgMTI4LCA3NiwgODcsIDc5LCAxMjgsIDc2LCA4NywgNzMsIDczLCAxMjgsIDc2LCA4NywgNzMsIDEyOCwgNzYsIDg3LCAKKyAgICA2OSwgMTI4LCA3NiwgODcsIDY1LCA2NSwgMTI4LCA3NiwgODcsIDY1LCAxMjgsIDc2LCA4NSwgODgsIDEyOCwgNzYsIDg1LCAKKyAgICA4NSwgMTI4LCA3NiwgODUsIDg0LCAxMjgsIDc2LCA4NSwgODIsIDg4LCAxMjgsIDc2LCA4NSwgODAsIDEyOCwgNzYsIDg1LCAKKyAgICA3OSwgODgsIDEyOCwgNzYsIDg1LCA3OSwgODQsIDEyOCwgNzYsIDg1LCA3OSwgODAsIDEyOCwgNzYsIDg1LCA3OSwgMTI4LCAKKyAgICA3NiwgODUsIDc4LCA3MSwgODMsIDczLCAxMjgsIDc2LCA4NSwgNzgsIDY1LCA4NCwgMTk3LCA3NiwgODUsIDIwNSwgNzYsIAorICAgIDg1LCA3NiwgMTI4LCA3NiwgODUsIDczLCA4MywgMTI4LCA3NiwgODUsIDcyLCA4NSwgODIsIDEyOCwgNzYsIDg1LCA3MiwgCisgICAgMTI4LCA3NiwgODUsIDcxLCA3MSwgNjUsIDcxLCA2OSwgMTI4LCA3NiwgODUsIDcxLCA2NSwgNzYsIDEyOCwgNzYsIDg1LCAKKyAgICA3MSwgNjUsIDIwNCwgNzYsIDg1LCA2OSwgMTI4LCA3NiwgODUsIDY1LCA2OSwgODAsIDEyOCwgNzYsIDg1LCA1MSwgMTI4LCAKKyAgICA3NiwgODUsIDUwLCAxMjgsIDc2LCA4NSwgMTc4LCA3NiwgODIsIDc5LCAxMjgsIDc2LCA4MiwgNzcsIDEyOCwgNzYsIDgyLCAKKyAgICA2OSwgMTI4LCA3NiwgNzksIDkwLCA2OSwgNzgsIDcxLCA2OSwgMTI4LCA3NiwgNzksIDkwLCA2OSwgNzgsIDcxLCAxOTcsIAorICAgIDc2LCA3OSwgODgsIDEyOCwgNzYsIDc5LCA4NywgNjksIDgyLCA2OSwgMTk2LCA3NiwgNzksIDg3LCA2OSwgMjEwLCA3NiwgCisgICAgNzksIDg3LCA0NSwgMTg1LCA3NiwgNzksIDg2LCAxOTcsIDc2LCA3OSwgODUsIDgyLCA2OSwgMTI4LCA3NiwgNzksIDg1LCAKKyAgICA2OCwgODMsIDgwLCA2OSwgNjUsIDc1LCA2OSwgODIsIDEyOCwgNzYsIDc5LCA4NSwgNjgsIDc2LCAyMTcsIDc2LCA3OSwgODQsIAorICAgIDg1LCA4MywgMTI4LCA3NiwgNzksIDg0LCAxMjgsIDc2LCA3OSwgODIsIDgyLCA4OSwgMTI4LCA3NiwgNzksIDgyLCA4MiwgCisgICAgNjUsIDczLCA3OCwgNjksIDEyOCwgNzYsIDc5LCA4MSwgMTI4LCA3NiwgNzksIDgwLCAxMjgsIDc2LCA3OSwgNzksIDg0LCAKKyAgICAxMjgsIDc2LCA3OSwgNzksIDgwLCA2OSwgMTk2LCA3NiwgNzksIDc5LCA4MCwgMTI4LCA3NiwgNzksIDc5LCAyMDgsIDc2LCAKKyAgICA3OSwgNzksIDc4LCAxMjgsIDc2LCA3OSwgNzksIDIwMywgNzYsIDc5LCA3OSwgMTI4LCA3NiwgNzksIDc4LCA4MywgODUsIAorICAgIDc3LCAxMjgsIDc2LCA3OSwgNzgsIDcxLCA2NSwgMTI4LCA3NiwgNzksIDc4LCA3MSwgMTkzLCA3NiwgNzksIDc4LCA3MSwgCisgICAgNDUsIDY2LCA4MiwgNjUsIDc4LCA2NywgNzIsIDQ1LCA4OSwgODIsIDEyOCwgNzYsIDc5LCA3OCwgNzEsIDQ1LCA2NiwgODIsIAorICAgIDY1LCA3OCwgNjcsIDcyLCA0NSwgODMsIDc5LCAyMDQsIDc2LCA3OSwgNzgsIDcxLCA0NSwgNjYsIDgyLCA2NSwgNzgsIDY3LCAKKyAgICA3MiwgNDUsIDc5LCA4MywgMjExLCA3NiwgNzksIDc4LCA3MSwgNDUsIDY2LCA4MiwgNjUsIDc4LCA2NywgNzIsIDQ1LCA3NywgCisgICAgNjUsIDY4LCAyMTAsIDc2LCA3OSwgNzgsIDcxLCA0NSwgNjYsIDgyLCA2NSwgNzgsIDY3LCA3MiwgNDUsIDcyLCA2NSwgNzEsIAorICAgIDY1LCA3NiwgMjA0LCA3NiwgNzksIDc4LCA3MSwgNDUsIDY2LCA4MiwgNjUsIDc4LCA2NywgNzIsIDQ1LCA2NSwgMjEwLCA3NiwgCisgICAgNzksIDc3LCA3NywgNjUsIDY5LCAxMjgsIDc2LCA3OSwgNzcsIDEyOCwgNzYsIDc5LCAyMDUsIDc2LCA3OSwgNzYsIDc2LCAKKyAgICA3MywgODAsIDc5LCA4MCwgMTI4LCA3NiwgNzksIDc2LCA3NiwgMTI4LCA3NiwgNzksIDcxLCAyMTAsIDc2LCA3OSwgNzEsIAorICAgIDc5LCA4NCwgODksIDgwLCAxOTcsIDc2LCA3OSwgNzEsIDc5LCA3MSwgODIsIDY1LCAyMDUsIDc2LCA3OSwgNzEsIDEyOCwgCisgICAgNzYsIDc5LCA2OCwgNjksIDgzLCA4NCwgNzksIDc4LCA2OSwgMTI4LCA3NiwgNzksIDY3LCA3OSwgNzcsIDc5LCA4NCwgNzMsIAorICAgIDg2LCA2OSwgMTI4LCA3NiwgNzksIDY3LCA3NSwgNzMsIDc4LCA3MSwgNDUsIDgzLCA3MiwgNzMsIDcwLCAyMTIsIDc2LCA3OSwgCisgICAgNjcsIDIwMywgNzYsIDc5LCA2NywgNjUsIDg0LCA3MywgODYsIDY5LCAxMjgsIDc2LCA3OSwgNjcsIDY1LCA4NCwgNzMsIDc5LCAKKyAgICAyMDYsIDc2LCA3OSwgNjUsIDEyOCwgNzYsIDc4LCAxMjgsIDc2LCA3NiwgODUsIDg1LCAxMjgsIDc2LCA3NiwgNzksIDc5LCAKKyAgICAxMjgsIDc2LCA3NiwgNzYsIDg1LCA4NSwgMTI4LCA3NiwgNzYsIDc2LCA4NSwgMTI4LCA3NiwgNzYsIDc2LCA3OSwgNzksIAorICAgIDEyOCwgNzYsIDc2LCA3NiwgNzksIDEyOCwgNzYsIDc2LCA3NiwgNzMsIDczLCAxMjgsIDc2LCA3NiwgNzYsIDczLCAxMjgsIAorICAgIDc2LCA3NiwgNzYsIDY5LCA2OSwgMTI4LCA3NiwgNzYsIDc2LCA2OSwgMTI4LCA3NiwgNzYsIDc2LCA2NSwgODUsIDEyOCwgCisgICAgNzYsIDc2LCA3NiwgNjUsIDczLCAxMjgsIDc2LCA3NiwgNzYsIDY1LCA2NSwgMTI4LCA3NiwgNzYsIDc2LCA2NSwgMTI4LCAKKyAgICA3NiwgNzYsIDc2LCAxMjgsIDc2LCA3NCwgODUsIDY4LCA3MywgNzQsIDY5LCAxMjgsIDc2LCA3NCwgNjksIDEyOCwgNzYsIAorICAgIDc0LCAxMjgsIDc2LCA3MywgODgsIDEyOCwgNzYsIDczLCA4NywgNzgsIDEyOCwgNzYsIDczLCA4NiwgODIsIDE5NywgNzYsIAorICAgIDczLCA4NCwgODQsIDc2LCAxOTcsIDc2LCA3MywgODQsIDg0LCA2OSwgMjEwLCA3NiwgNzMsIDg0LCA4MiwgMTkzLCA3NiwgCisgICAgNzMsIDg0LCAxMjgsIDc2LCA3MywgODMsIDIxMywgNzYsIDczLCA4MiwgMTkzLCA3NiwgNzMsIDgxLCA4NSwgNzMsIDE5NiwgCisgICAgNzYsIDczLCA4MSwgMTI4LCA3NiwgNzMsIDgwLCA4MywgODQsIDczLCA2NywgNzUsIDEyOCwgNzYsIDczLCA3OCwgNzUsIDczLCAKKyAgICA3OCwgMTk5LCA3NiwgNzMsIDc4LCAyMDMsIDc2LCA3MywgNzgsIDcxLCA4MywgNjUsIDEyOCwgNzYsIDczLCA3OCwgNjksIAorICAgIDgzLCAxMjgsIDc2LCA3MywgNzgsIDY5LCAyMTEsIDc2LCA3MywgNzgsIDY5LCA0NSwgNTcsIDEyOCwgNzYsIDczLCA3OCwgCisgICAgNjksIDQ1LCA1NSwgMTI4LCA3NiwgNzMsIDc4LCA2OSwgNDUsIDUxLCAxMjgsIDc2LCA3MywgNzgsIDY5LCA0NSwgNDksIAorICAgIDEyOCwgNzYsIDczLCA3NywgNzcsIDg1LCA1MiwgMTI4LCA3NiwgNzMsIDc3LCA3NywgODUsIDUwLCAxMjgsIDc2LCA3MywgCisgICAgNzcsIDc3LCA4NSwgMTI4LCA3NiwgNzMsIDc3LCA3NywgMjEzLCA3NiwgNzMsIDc3LCA3MywgODQsIDY5LCAxOTYsIDc2LCAKKyAgICA3MywgNzcsIDczLCA4NCwgNjUsIDg0LCA3MywgNzksIDc4LCAxMjgsIDc2LCA3MywgNzcsIDczLCA4NCwgMTI4LCA3NiwgNzMsIAorICAgIDc3LCA2OSwgMTI4LCA3NiwgNzMsIDc3LCA2NiwgMjEzLCA3NiwgNzMsIDc2LCA4OSwgMTI4LCA3NiwgNzMsIDc2LCA3MywgCisgICAgODQsIDcyLCAxMjgsIDc2LCA3MywgNzYsIDEyOCwgNzYsIDczLCA3MSwgNzIsIDg0LCA3OCwgNzMsIDc4LCA3MSwgMTI4LCAKKyAgICA3NiwgNzMsIDcxLCA3MiwgODQsIDcyLCA3OSwgODUsIDgzLCA2OSwgMTI4LCA3NiwgNzMsIDcxLCA3MiwgODQsIDEyOCwgNzYsIAorICAgIDczLCA3MCwgNjksIDEyOCwgNzYsIDczLCA2OSwgODgsIDEyOCwgNzYsIDczLCA2OSwgODQsIDEyOCwgNzYsIDczLCA2OSwgCisgICAgODAsIDEyOCwgNzYsIDczLCA2OSwgNjksIDEyOCwgNzYsIDczLCA2OSwgMTI4LCA3NiwgNzMsIDY4LCAxMjgsIDc2LCA3MywgCisgICAgNjYsIDgyLCA2NSwgMTI4LCA3NiwgNzMsIDY2LCA2OSwgODIsIDg0LCA4OSwgMTI4LCA3NiwgNzMsIDY1LCA2NiwgNzMsIDc2LCAKKyAgICA3MywgODQsIDIxNywgNzYsIDcyLCA3MywgNzMsIDEyOCwgNzYsIDcyLCA2NSwgODYsIDczLCA4OSwgNjUsIDc4LCA3MywgCisgICAgMTI4LCA3NiwgNzIsIDY1LCAxOTksIDc2LCA3MiwgNjUsIDY1LCAxMjgsIDc2LCA3MiwgMTI4LCA3NiwgNjksIDkwLCA3MiwgCisgICAgMTI4LCA3NiwgNjksIDg4LCAxMjgsIDc2LCA2OSwgODYsIDY5LCAyMDQsIDc2LCA2OSwgODUsIDc3LCAxMjgsIDc2LCA2OSwgCisgICAgODUsIDY1LCA2OSwgODAsIDEyOCwgNzYsIDY5LCA4NSwgNjUsIDY5LCA3NywgMTI4LCA3NiwgNjksIDg1LCAxMjgsIDc2LCAKKyAgICA2OSwgMjEzLCA3NiwgNjksIDg0LCA4NCwgNjksIDgyLCA4MywgMTI4LCA3NiwgNjksIDg0LCA4NCwgNjksIDgyLCAxMjgsIAorICAgIDc2LCA2OSwgMjEyLCA3NiwgNjksIDgzLCA4MywgNjksIDIxMCwgNzYsIDY5LCA4MywgODMsIDQ1LCA4NCwgNzIsIDY1LCA3OCwgCisgICAgMTI4LCA3NiwgNjksIDgzLCA4MywgNDUsIDg0LCA3MiwgNjUsIDIwNiwgNzYsIDY5LCA4MCwgMTI4LCA3NiwgNjksIDc5LCAKKyAgICA4MCwgNjUsIDgyLCA2OCwgMTI4LCA3NiwgNjksIDc5LCAxMjgsIDc2LCA2OSwgNzgsIDg0LCA3MywgNjcsIDg1LCA3NiwgNjUsIAorICAgIDIxMCwgNzYsIDY5LCA3OCwgNzMsIDgzLCAxMjgsIDc2LCA2OSwgNzgsIDcxLCA4NCwgNzIsIDY5LCA3OCwgNjksIDgyLCAKKyAgICAxMjgsIDc2LCA2OSwgNzgsIDcxLCA4NCwgMjAwLCA3NiwgNjksIDc4LCA3MSwgNjUsIDEyOCwgNzYsIDY5LCA3OCwgNzEsIAorICAgIDE5MywgNzYsIDY5LCA3NywgNzksIDc4LCAxMjgsIDc2LCA2OSwgNzcsIDc5LCA3MywgMTI4LCA3NiwgNjksIDc2LCA2OSwgCisgICAgODQsIDEyOCwgNzYsIDY5LCA3NiwgNjksIDIxMiwgNzYsIDY5LCAyMDMsIDc2LCA2OSwgNzMsIDc3LCA3NywgNjUsIDEyOCwgCisgICAgNzYsIDY5LCA3MywgNzcsIDc3LCAxOTMsIDc2LCA2OSwgNzEsIDgzLCAxMjgsIDc2LCA2OSwgNzEsIDczLCA3OSwgNzgsIAorICAgIDEyOCwgNzYsIDY5LCA3MSwgNjksIDg0LCA3OSwgMjExLCA3NiwgNjksIDcxLCAxMjgsIDc2LCA2OSwgNzAsIDg0LCA4NywgCisgICAgNjUsIDgyLCA2OCwgODMsIDEyOCwgNzYsIDY5LCA3MCwgODQsIDQ1LCA4NCwgNzksIDQ1LCA4MiwgNzMsIDcxLCA3MiwgMjEyLCAKKyAgICA3NiwgNjksIDcwLCA4NCwgNDUsIDgzLCA4NCwgNjksIDIwNSwgNzYsIDY5LCA3MCwgODQsIDQ1LCA4MywgNzMsIDY4LCAxOTcsIAorICAgIDc2LCA2OSwgNzAsIDg0LCA0NSwgODMsIDcyLCA2NSwgNjgsIDY5LCAxOTYsIDc2LCA2OSwgNzAsIDg0LCA0NSwgODAsIDc5LCAKKyAgICA3MywgNzgsIDg0LCA3MywgNzgsIDE5OSwgNzYsIDY5LCA3MCwgODQsIDQ1LCA3MiwgNjUsIDc4LCA2OCwgNjksIDE5NiwgNzYsIAorICAgIDY5LCA3MCwgODQsIDQ1LCA3MiwgNjUsIDc4LCAxOTYsIDc2LCA2OSwgNzAsIDg0LCA0NSwgNzAsIDY1LCA2NywgNzMsIDc4LCAKKyAgICAxOTksIDc2LCA2OSwgNzAsIDg0LCAxMjgsIDc2LCA2OSwgNjksIDgyLCA2NSwgNjksIDg3LCA2NSwgMTI4LCA3NiwgNjksIAorICAgIDY5LCA3NSwgMTI4LCA3NiwgNjksIDY5LCA2OSwgNjksIDEyOCwgNzYsIDY5LCA2OCwgNzEsIDY5LCA4MiwgMTI4LCA3NiwgCisgICAgNjksIDY1LCA4NCwgNzIsIDY5LCA4MiwgMTI4LCA3NiwgNjksIDY1LCA3MCwgMTI4LCA3NiwgNjksIDY1LCAxOTgsIDc2LCAKKyAgICA2OSwgNjUsIDY4LCA3MywgNzgsIDE5OSwgNzYsIDY5LCA2NSwgNjgsIDY5LCA4MiwgMTI4LCA3NiwgNjksIDY1LCAxOTYsIAorICAgIDc2LCA2OCwgNjUsIDc4LCAxMjgsIDc2LCA2OCwgNTAsIDEyOCwgNzYsIDY3LCAyMDEsIDc2LCA2NywgMTk3LCA3NiwgNjUsIAorICAgIDkwLCAyMTcsIDc2LCA2NSwgODksIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDc2LCA2NSwgODgsIDEyOCwgNzYsIDY1LCA4NywgCisgICAgMTI4LCA3NiwgNjUsIDIxNSwgNzYsIDY1LCA4NSwgNzYsIDY1LCAxMjgsIDc2LCA2NSwgODUsIDc1LCA2NSwgMjE4LCA3NiwgCisgICAgNjUsIDg0LCA3MywgNzgsIDY1LCA4NCwgMTk3LCA3NiwgNjUsIDg0LCA3MywgNzUsIDEyOCwgNzYsIDY1LCA4NCwgNjksIDgyLCAKKyAgICA2NSwgMjA0LCA3NiwgNjUsIDg0LCAxOTcsIDc2LCA2NSwgODMsIDIxMiwgNzYsIDY1LCA4MiwgODksIDc4LCA3MSwgNjksIAorICAgIDY1LCAyMDQsIDc2LCA2NSwgODIsIDcxLCA2OSwgMjEwLCA3NiwgNjUsIDgyLCA3MSwgNjksIDEyOCwgNzYsIDY1LCA4MiwgCisgICAgNzEsIDE5NywgNzYsIDY1LCA4MSwgMTI4LCA3NiwgNjUsIDgwLCA2NSwgODEsIDEyOCwgNzYsIDY1LCA4MCwgMTI4LCA3NiwgCisgICAgNjUsIDc4LCA4NCwgNjksIDgyLCA3OCwgMTI4LCA3NiwgNjUsIDc4LCA3MSwgODUsIDY1LCA3MSwgMTk3LCA3NiwgNjUsIDc4LCAKKyAgICA2OSwgODMsIDEyOCwgNzYsIDY1LCA3NywgNjksIDY4LCA3MiwgMTI4LCA3NiwgNjUsIDc3LCA2OSwgNjgsIDEyOCwgNzYsIAorICAgIDY1LCA3NywgNjksIDE5NiwgNzYsIDY1LCA3NywgNjksIDEyOCwgNzYsIDY1LCA3NywgMTk3LCA3NiwgNjUsIDc3LCA2OCwgCisgICAgNjUsIDEyOCwgNzYsIDY1LCA3NywgNjgsIDEyOCwgNzYsIDY1LCA3NywgNjYsIDY4LCAxOTMsIDc2LCA2NSwgNzcsIDY1LCAKKyAgICA2OCwgNzIsIDEyOCwgNzYsIDY1LCA3NiwgMTI4LCA3NiwgNjUsIDIwNCwgNzYsIDY1LCA3NSwgNzUsIDcyLCA2NSwgNzgsIAorICAgIDcxLCA4OSwgNjUsIDc5LCAxMjgsIDc2LCA2NSwgNzQsIDY1LCA3OCwgODksIDY1LCA3NiwgNjUsIDc4LCAxMjgsIDc2LCA2NSwgCisgICAgMjAxLCA3NiwgNjUsIDcyLCA4MywgNzIsIDg1LCAxMjgsIDc2LCA2NSwgNzIsIDEyOCwgNzYsIDY1LCA3MSwgODUsIDgzLCAKICAgICAxMjgsIDc2LCA2NSwgNzEsIDIxMywgNzYsIDY1LCA3MSwgNjUsIDgyLCAxMjgsIDc2LCA2NSwgNzEsIDY1LCAyMTAsIDc2LCAKICAgICA2NSwgNzEsIDY1LCA2NiwgMTI4LCA3NiwgNjUsIDcxLCA2NSwgMTk0LCA3NiwgNjUsIDY5LCA4NiwgMTI4LCA3NiwgNjUsIAogICAgIDY5LCAxMjgsIDc2LCA2NSwgNjgsIDIxNywgNzYsIDY1LCA2NywgNzUsIDEyOCwgNzYsIDY1LCA2NywgNjUsIDEyOCwgNzYsIAogICAgIDY1LCA2NiwgNzksIDg1LCA4MiwgNzMsIDc4LCA3MSwgMTI4LCA3NiwgNjUsIDY2LCA3OSwgODIsIDEyOCwgNzYsIDY1LCA2NiwgCi0gICAgNzMsIDY1LCA3NiwgNzMsIDkwLCA2NSwgODQsIDczLCA3OSwgMjA2LCA3NiwgNjUsIDY2LCA2NSwgODQsIDEyOCwgNzYsIDY1LCAKLSAgICA2NSwgNzgsIDY1LCA2OSwgMTI4LCA3NiwgNjUsIDY1LCA3OCwgMTI4LCA3NiwgNjUsIDY1LCA3NywgODUsIDEyOCwgNzYsIAotICAgIDY1LCA2NSwgNzcsIDEyOCwgNzYsIDY1LCA2NSwgNzMsIDEyOCwgNzYsIDQ4LCA0OCwgNTQsIDY1LCAxMjgsIDc2LCA0OCwgCi0gICAgNDgsIDUwLCA2NSwgMTI4LCA3NiwgNDUsIDg0LCA4OSwgODAsIDE5NywgNzYsIDQ1LCA4MywgNzIsIDY1LCA4MCwgNjksIAotICAgIDE5NiwgNzUsIDg5LCA4NSwgODIsIDczLCA3MywgMTI4LCA3NSwgODksIDg1LCAxMjgsIDc1LCA4OSwgNzksIDEyOCwgNzUsIAotICAgIDg5LCA3NiwgNzMsIDgzLCA3NywgNjUsIDEyOCwgNzUsIDg5LCA3MywgMTI4LCA3NSwgODksIDY5LCAxMjgsIDc1LCA4OSwgCi0gICAgNjUsIDg0LCA3MiwgNzksIDIxMSwgNzUsIDg5LCA2NSwgNjUsIDEyOCwgNzUsIDg5LCA2NSwgMTI4LCA3NSwgODgsIDg3LCAKLSAgICA3MywgMTI4LCA3NSwgODgsIDg3LCA2OSwgNjksIDEyOCwgNzUsIDg4LCA4NywgNjksIDEyOCwgNzUsIDg4LCA4NywgNjUsIAotICAgIDY1LCAxMjgsIDc1LCA4OCwgODcsIDY1LCAxMjgsIDc1LCA4OCwgODUsIDEyOCwgNzUsIDg4LCA3OSwgMTI4LCA3NSwgODgsIAotICAgIDczLCAxMjgsIDc1LCA4OCwgNjksIDY5LCAxMjgsIDc1LCA4OCwgNjksIDEyOCwgNzUsIDg4LCA2NSwgNjUsIDEyOCwgNzUsIAotICAgIDg4LCA2NSwgMTI4LCA3NSwgODcsIDg1LCA1MSwgNDksIDU2LCAxMjgsIDc1LCA4NywgNzksIDc5LCAxMjgsIDc1LCA4NywgCi0gICAgNzksIDEyOCwgNzUsIDg3LCA3MywgNzMsIDEyOCwgNzUsIDg3LCA3MywgMTI4LCA3NSwgODcsIDY5LCA2OSwgMTI4LCA3NSwgCi0gICAgODcsIDY5LCAxMjgsIDc1LCA4NywgNjUsIDg5LCAxMjgsIDc1LCA4NywgNjUsIDY5LCA4NCwgMTI4LCA3NSwgODcsIDY1LCAKLSAgICA2NSwgMTI4LCA3NSwgODYsIDY1LCAxMjgsIDc1LCA4NiwgMTI4LCA3NSwgODUsIDg4LCAxMjgsIDc1LCA4NSwgODUsIDcyLCAKLSAgICAxMjgsIDc1LCA4NSwgODQsIDEyOCwgNzUsIDg1LCA4MywgNzcsIDY1LCAxMjgsIDc1LCA4NSwgODMsIDcyLCA4NSwgNTAsIAotICAgIDEyOCwgNzUsIDg1LCA4MiwgODgsIDEyOCwgNzUsIDg1LCA4MiwgODUsIDkwLCA2OSwgNzMsIDgyLCA3OSwgMTI4LCA3NSwgCi0gICAgODUsIDgyLCA4NCwgMTI4LCA3NSwgODUsIDgyLCA3OSwgNzksIDc4LCA2OSwgMTI4LCA3NSwgODUsIDgyLCAxMjgsIDc1LCAKLSAgICA4NSwgMjEwLCA3NSwgODUsIDgxLCAxMjgsIDc1LCA4NSwgNzksIDg4LCAxMjgsIDc1LCA4NSwgNzksIDgwLCAxMjgsIDc1LCAKLSAgICA4NSwgNzksIDIwOCwgNzUsIDg1LCA3OSwgNzcsIDEyOCwgNzUsIDg1LCA3OSwgMTI4LCA3NSwgODUsIDc4LCA3MSwgMTI4LCAKLSAgICA3NSwgODUsIDc4LCA2OCwgNjgsIDY1LCA3NiwgNzMsIDg5LCA2NSwgMTI4LCA3NSwgODUsIDc2LCAxMjgsIDc1LCA4NSwgCi0gICAgMjA0LCA3NSwgODUsIDY5LCA4NCwgMTI4LCA3NSwgODUsIDU1LCAxMjgsIDc1LCA4NSwgNTIsIDEyOCwgNzUsIDg1LCAxODAsIAotICAgIDc1LCA4NSwgNTEsIDEyOCwgNzUsIDg1LCAxNzksIDc1LCA4NCwgMTI4LCA3NSwgODMsIDgzLCA2NSwgMTI4LCA3NSwgODMsIAotICAgIDczLCAxMjgsIDc1LCA4MiwgNjksIDc3LCA2NSwgODMsIDg0LCA3MywgMTI4LCA3NSwgODIsIDY1LCA4NCwgNzMsIDc3LCA3OSwgCi0gICAgODksIDgwLCA3OSwgODIsIDgyLCA3OSwgNzksIDc4LCAxMjgsIDc1LCA4MiwgNjUsIDg0LCA3MywgNzcsIDc5LCA3NSwgNzksIAotICAgIDg1LCA3MCwgNzMsIDgzLCA3NywgNjUsIDEyOCwgNzUsIDgyLCA2NSwgODQsIDczLCA3NywgNjUsIDg0LCA2NSwgMTI4LCA3NSwgCi0gICAgODIsIDY1LCA4NCwgNzMsIDc3LCAxOTMsIDc1LCA4MCwgODUsIDEyOCwgNzUsIDgwLCA3OSwgODEsIDEyOCwgNzUsIDgwLCAKLSAgICA3OSwgNzksIDEyOCwgNzUsIDgwLCA3OSwgMTI4LCA3NSwgODAsIDczLCAxMjgsIDc1LCA4MCwgNjksIDg1LCA4OCwgMTI4LCAKLSAgICA3NSwgODAsIDY5LCA2OSwgMTI4LCA3NSwgODAsIDY5LCAxMjgsIDc1LCA4MCwgNjUsIDgyLCA2NSwgODEsIDEyOCwgNzUsIAotICAgIDgwLCA2NSwgNzgsIDEyOCwgNzUsIDgwLCA2NSwgMTI4LCA3NSwgNzksIDg4LCAxMjgsIDc1LCA3OSwgODYsIDg1LCA4NSwgCi0gICAgMTI4LCA3NSwgNzksIDg0LCA3OSwgMTI4LCA3NSwgNzksIDgyLCA4NSwgNzgsIDY1LCAxMjgsIDc1LCA3OSwgODIsIDc5LCAKLSAgICA3OCwgNzMsIDgzLCAxMjgsIDc1LCA3OSwgODIsIDY5LCA2NSwgMjA2LCA3NSwgNzksIDgyLCA2NSwgNzgsIDczLCAxOTUsIAotICAgIDc1LCA3OSwgODEsIDc4LCA2OCwgNzksIDc4LCAxMjgsIDc1LCA3OSwgODAsIDgwLCA2NSwgMTI4LCA3NSwgNzksIDgwLCAKLSAgICAxMjgsIDc1LCA3OSwgNzksIDgwLCA3OSwgMTI4LCA3NSwgNzksIDc5LCA3NywgODUsIDg1LCA4NCwgMTI4LCA3NSwgNzksIAotICAgIDc5LCAxMjgsIDc1LCA3OSwgNzgsIDg0LCA2OSwgODYsIDc3LCA2NSwgMTI4LCA3NSwgNzksIDc4LCA4NCwgNjksIDg2LCA3NywgCi0gICAgMTkzLCA3NSwgNzksIDc3LCAyMDEsIDc1LCA3OSwgNzcsIDY2LCA4NSwgODYsIDY1LCAxMjgsIDc1LCA3OSwgNzcsIDY2LCAKLSAgICA4NSwgODYsIDE5MywgNzUsIDc5LCA3NywgNjYsIDIxMywgNzUsIDc5LCA3NSwgNzksIDEyOCwgNzUsIDc5LCA3NSwgMTI4LCAKLSAgICA3NSwgNzksIDIwMywgNzUsIDc5LCA3MywgMTI4LCA3NSwgNzksIDIwMSwgNzUsIDc5LCA3MiwgMTI4LCA3NSwgNzksIDcxLCAKLSAgICA3MiwgNzksIDc3LCAxMjgsIDc1LCA3OSwgNjksIDg0LCAxMjgsIDc1LCA3OSwgNjUsIDc2LCA2NSwgMTI4LCA3NSwgNzksIAotICAgIDY1LCAxMjgsIDc1LCA3OCwgNzMsIDcxLCA3MiwgODQsIDEyOCwgNzUsIDc4LCA3MywgNzEsIDcyLCAyMTIsIDc1LCA3OCwgCi0gICAgNzMsIDcwLCA2OSwgMTI4LCA3NSwgNzgsIDczLCA3MCwgMTk3LCA3NSwgNzcsIDEyOCwgNzUsIDIwNSwgNzUsIDc2LCA3MywgCi0gICAgODQsIDc5LCA3OCwgMTI4LCA3NSwgNzYsIDY1LCA4MywgNzcsIDY1LCAxMjgsIDc1LCA3NiwgNjUsIDgzLCA3NywgMTkzLCAKLSAgICA3NSwgNzYsIDY1LCAxMjgsIDc1LCA3NiwgMTI4LCA3NSwgNzUsIDg1LCAxMjgsIDc1LCA3NSwgNzksIDEyOCwgNzUsIDc1LCAKLSAgICA3MywgMTI4LCA3NSwgNzUsIDY5LCA2OSwgMTI4LCA3NSwgNzUsIDY5LCAxMjgsIDc1LCA3NSwgNjUsIDEyOCwgNzUsIDc1LCAKLSAgICAxMjgsIDc1LCA3NCwgNjksIDEyOCwgNzUsIDczLCA4OSwgNjksIDc5LCA3NSwgNDUsIDg0LCA3MywgNzUsIDY5LCA4NSwgODQsIAotICAgIDEyOCwgNzUsIDczLCA4OSwgNjksIDc5LCA3NSwgNDUsIDgzLCA3MywgNzksIDgzLCA0NSwgNzUsIDczLCA4OSwgNjksIDc5LCAKLSAgICA3NSwgMTI4LCA3NSwgNzMsIDg5LCA2OSwgNzksIDc1LCA0NSwgODIsIDczLCA2OSwgODUsIDc2LCAxMjgsIDc1LCA3MywgODksIAotICAgIDY5LCA3OSwgNzUsIDQ1LCA4MCwgNzMsIDY5LCA4NSwgODAsIDEyOCwgNzUsIDczLCA4OSwgNjksIDc5LCA3NSwgNDUsIDc4LCAKLSAgICA3MywgNjksIDg1LCA3OCwgMTI4LCA3NSwgNzMsIDg5LCA2OSwgNzksIDc1LCA0NSwgNzUsIDcyLCA3MywgNjksIDg1LCA3NSwgCi0gICAgNzIsIDEyOCwgNzUsIDczLCA4OSwgNjksIDc5LCA3NSwgNDUsIDY3LCA3MiwgNzMsIDY5LCA4NSwgNjcsIDcyLCAxMjgsIDc1LCAKLSAgICA3MywgODksIDY5LCA3OSwgMjAzLCA3NSwgNzMsIDg4LCAxMjgsIDc1LCA3MywgODQsIDEyOCwgNzUsIDczLCA4MywgODMsIAotICAgIDczLCA3OCwgMTk5LCA3NSwgNzMsIDgzLCA4MywgMTI4LCA3NSwgNzMsIDgzLCAyMTEsIDc1LCA3MywgODMsIDczLCA3NywgCi0gICAgNTMsIDEyOCwgNzUsIDczLCA4MywgNzMsIDc3LCAxODEsIDc1LCA3MywgODMsIDcyLCAxMjgsIDc1LCA3MywgODMsIDY1LCAKLSAgICA3NiwgMTI4LCA3NSwgNzMsIDgyLCA3OSwgODcsIDY1LCA4NCwgODQsIDc5LCAxMjgsIDc1LCA3MywgODIsIDc5LCA3NywgNjksIAotICAgIDY5LCA4NCwgNzksIDgyLCA4NSwgMTI4LCA3NSwgNzMsIDgyLCA3OSwgNzEsIDg1LCA4MiwgNjUsIDc3LCA4NSwgMTI4LCA3NSwgCi0gICAgNzMsIDgyLCA3OSwgMTI4LCA3NSwgNzMsIDgyLCA3MSwgNzIsIDczLCAyMTgsIDc1LCA3MywgODEsIDEyOCwgNzUsIDczLCAKLSAgICA4MCwgMTI4LCA3NSwgNzMsIDIwOCwgNzUsIDczLCA3OCwgODMsIDcyLCA3MywgODAsIDEyOCwgNzUsIDczLCA3OCwgNjgsIAotICAgIDY5LCA4MiwgNzEsIDY1LCA4MiwgODQsIDY5LCA3OCwgMTI4LCA3NSwgNzMsIDc3LCA3OSwgNzgsIDc5LCAxMjgsIDc1LCA3MywgCi0gICAgNzMsIDEyOCwgNzUsIDczLCA3MiwgMTI4LCA3NSwgNzMsIDY5LCA4OCwgMTI4LCA3NSwgNzMsIDY5LCA4MCwgMTI4LCA3NSwgCi0gICAgNzMsIDY5LCA2OSwgNzcsIDEyOCwgNzUsIDczLCA2OSwgMTI4LCA3NSwgNzMsIDY4LCAxMjgsIDc1LCA3MywgMTk2LCA3NSwgCi0gICAgNzMsIDY3LCA3NSwgMTI4LCA3NSwgNzIsIDkwLCAxMjgsIDc1LCA3MiwgODcsIDY1LCA3MywgMTI4LCA3NSwgNzIsIDg1LCAKLSAgICA2OSwgNzgsIDQ1LCA3NiwgODUsIDE5NywgNzUsIDcyLCA4NSwgNjksIDIwNiwgNzUsIDcyLCA4NSwgNjUsIDg0LCAxMjgsIAotICAgIDc1LCA3MiwgNzksIDg1LCAxMjgsIDc1LCA3MiwgNzksIDIxMiwgNzUsIDcyLCA3OSwgNzgsIDEyOCwgNzUsIDcyLCA3OSwgCi0gICAgNzcsIDg1LCA4NCwgMTI4LCA3NSwgNzIsIDc5LCAxMjgsIDc1LCA3MiwgMjA3LCA3NSwgNzIsIDczLCA4NCwgMTI4LCA3NSwgCi0gICAgNzIsIDczLCA2OSwgODUsIDc1LCAyMDAsIDc1LCA3MiwgNzMsIDEyOCwgNzUsIDcyLCA3MiwgNzksIDEyOCwgNzUsIDcyLCAKLSAgICA3MiwgNjUsIDEyOCwgNzUsIDcyLCA2OSwgODQsIDcyLCAxMjgsIDc1LCA3MiwgNjksIDczLCAxMjgsIDc1LCA3MiwgNjksIAotICAgIDY5LCAxMjgsIDc1LCA3MiwgNjksIDEyOCwgNzUsIDcyLCA2NSwgODIsIDc5LCA4MywgNzIsIDg0LCA3MiwgMjAxLCA3NSwgCi0gICAgNzIsIDY1LCA4MiwgMTI4LCA3NSwgNzIsIDY1LCA4MCwgNzIsIDEyOCwgNzUsIDcyLCA2NSwgNzgsIDE5OSwgNzUsIDcyLCAKLSAgICA2NSwgNzgsIDY4LCAxOTMsIDc1LCA3MiwgNjUsIDc4LCAxMjgsIDc1LCA3MiwgNjUsIDc3LCA4NCwgMjAxLCA3NSwgNzIsIAotICAgIDY1LCA3NSwgNjUsIDgzLCA4MywgNzMsIDY1LCAyMDYsIDc1LCA3MiwgNjUsIDczLCAxMjgsIDc1LCA3MiwgNjUsIDcyLCAKKyAgICA3MywgNjUsIDc2LCA3MywgOTAsIDY1LCA4NCwgNzMsIDc5LCAyMDYsIDc2LCA2NSwgNjYsIDczLCA2NSwgMjA0LCA3NiwgNjUsIAorICAgIDY2LCA2NSwgODQsIDEyOCwgNzYsIDY1LCA2NSwgNzgsIDY1LCA2OSwgMTI4LCA3NiwgNjUsIDY1LCA3OCwgMTI4LCA3NiwgCisgICAgNjUsIDY1LCA3NywgODUsIDEyOCwgNzYsIDY1LCA2NSwgNzcsIDEyOCwgNzYsIDY1LCA2NSwgNzMsIDEyOCwgNzYsIDQ4LCAKKyAgICA0OCwgNTQsIDY1LCAxMjgsIDc2LCA0OCwgNDgsIDUwLCA2NSwgMTI4LCA3NiwgNDUsIDg0LCA4OSwgODAsIDE5NywgNzYsIAorICAgIDQ1LCA4MywgNzIsIDY1LCA4MCwgNjksIDE5NiwgNzUsIDg5LCA4NSwgODIsIDczLCA3MywgMTI4LCA3NSwgODksIDg1LCAKKyAgICAxMjgsIDc1LCA4OSwgNzksIDEyOCwgNzUsIDg5LCA3NiwgNzMsIDgzLCA3NywgNjUsIDEyOCwgNzUsIDg5LCA3MywgMTI4LCAKKyAgICA3NSwgODksIDY5LCAxMjgsIDc1LCA4OSwgNjUsIDg0LCA3MiwgNzksIDIxMSwgNzUsIDg5LCA2NSwgNjUsIDEyOCwgNzUsIAorICAgIDg5LCA2NSwgMTI4LCA3NSwgODgsIDg3LCA3MywgMTI4LCA3NSwgODgsIDg3LCA2OSwgNjksIDEyOCwgNzUsIDg4LCA4NywgCisgICAgNjksIDEyOCwgNzUsIDg4LCA4NywgNjUsIDY1LCAxMjgsIDc1LCA4OCwgODcsIDY1LCAxMjgsIDc1LCA4OCwgODUsIDEyOCwgCisgICAgNzUsIDg4LCA3OSwgMTI4LCA3NSwgODgsIDczLCAxMjgsIDc1LCA4OCwgNjksIDY5LCAxMjgsIDc1LCA4OCwgNjksIDEyOCwgCisgICAgNzUsIDg4LCA2NSwgNjUsIDEyOCwgNzUsIDg4LCA2NSwgMTI4LCA3NSwgODcsIDg1LCA1MSwgNDksIDU2LCAxMjgsIDc1LCAKKyAgICA4NywgNzksIDc5LCAxMjgsIDc1LCA4NywgNzksIDEyOCwgNzUsIDg3LCA3MywgNzMsIDEyOCwgNzUsIDg3LCA3MywgMTI4LCAKKyAgICA3NSwgODcsIDY5LCA2OSwgMTI4LCA3NSwgODcsIDY5LCAxMjgsIDc1LCA4NywgNjUsIDg5LCAxMjgsIDc1LCA4NywgNjUsIAorICAgIDY5LCA4NCwgMTI4LCA3NSwgODcsIDY1LCA2NSwgMTI4LCA3NSwgODYsIDY1LCAxMjgsIDc1LCA4NiwgMTI4LCA3NSwgODUsIAorICAgIDg4LCAxMjgsIDc1LCA4NSwgODUsIDcyLCAxMjgsIDc1LCA4NSwgODQsIDEyOCwgNzUsIDg1LCA4MywgNzcsIDY1LCAxMjgsIAorICAgIDc1LCA4NSwgODMsIDcyLCA4NSwgNTAsIDEyOCwgNzUsIDg1LCA4MiwgODgsIDEyOCwgNzUsIDg1LCA4MiwgODUsIDkwLCA2OSwgCisgICAgNzMsIDgyLCA3OSwgMTI4LCA3NSwgODUsIDgyLCA4NCwgMTI4LCA3NSwgODUsIDgyLCA3OSwgNzksIDc4LCA2OSwgMTI4LCAKKyAgICA3NSwgODUsIDgyLCAxMjgsIDc1LCA4NSwgMjEwLCA3NSwgODUsIDgxLCAxMjgsIDc1LCA4NSwgNzksIDg4LCAxMjgsIDc1LCAKKyAgICA4NSwgNzksIDgwLCAxMjgsIDc1LCA4NSwgNzksIDIwOCwgNzUsIDg1LCA3OSwgNzcsIDEyOCwgNzUsIDg1LCA3OSwgMTI4LCAKKyAgICA3NSwgODUsIDc4LCA3MSwgMTI4LCA3NSwgODUsIDc4LCA2OCwgNjgsIDY1LCA3NiwgNzMsIDg5LCA2NSwgMTI4LCA3NSwgODUsIAorICAgIDc2LCAxMjgsIDc1LCA4NSwgMjA0LCA3NSwgODUsIDY5LCA4NCwgMTI4LCA3NSwgODUsIDU1LCAxMjgsIDc1LCA4NSwgNTIsIAorICAgIDEyOCwgNzUsIDg1LCAxODAsIDc1LCA4NSwgNTEsIDEyOCwgNzUsIDg1LCAxNzksIDc1LCA4NCwgMTI4LCA3NSwgODMsIDgzLCAKKyAgICA4NSwgODUsIDEyOCwgNzUsIDgzLCA4MywgODUsIDEyOCwgNzUsIDgzLCA4MywgNzksIDc5LCAxMjgsIDc1LCA4MywgODMsIAorICAgIDc5LCAxMjgsIDc1LCA4MywgODMsIDczLCA3MywgMTI4LCA3NSwgODMsIDgzLCA3MywgMTI4LCA3NSwgODMsIDgzLCA2OSwgCisgICAgNjksIDEyOCwgNzUsIDgzLCA4MywgNjksIDEyOCwgNzUsIDgzLCA4MywgNjUsIDg1LCAxMjgsIDc1LCA4MywgODMsIDY1LCAKKyAgICA3MywgMTI4LCA3NSwgODMsIDgzLCA2NSwgNjUsIDEyOCwgNzUsIDgzLCA4MywgNjUsIDEyOCwgNzUsIDgzLCA4MywgMTI4LCAKKyAgICA3NSwgODMsIDczLCAxMjgsIDc1LCA4MiwgNjksIDc3LCA2NSwgODMsIDg0LCA3MywgMTI4LCA3NSwgODIsIDY1LCA4NCwgNzMsIAorICAgIDc3LCA3OSwgODksIDgwLCA3OSwgODIsIDgyLCA3OSwgNzksIDc4LCAxMjgsIDc1LCA4MiwgNjUsIDg0LCA3MywgNzcsIDc5LCAKKyAgICA3NSwgNzksIDg1LCA3MCwgNzMsIDgzLCA3NywgNjUsIDEyOCwgNzUsIDgyLCA2NSwgODQsIDczLCA3NywgNjUsIDg0LCA2NSwgCisgICAgMTI4LCA3NSwgODIsIDY1LCA4NCwgNzMsIDc3LCAxOTMsIDc1LCA4MCwgODUsIDEyOCwgNzUsIDgwLCA3OSwgODEsIDEyOCwgCisgICAgNzUsIDgwLCA3OSwgNzksIDEyOCwgNzUsIDgwLCA3OSwgMTI4LCA3NSwgODAsIDczLCAxMjgsIDc1LCA4MCwgNjksIDg1LCAKKyAgICA4OCwgMTI4LCA3NSwgODAsIDY5LCA2OSwgMTI4LCA3NSwgODAsIDY5LCAxMjgsIDc1LCA4MCwgNjUsIDgyLCA2NSwgODEsIAorICAgIDEyOCwgNzUsIDgwLCA2NSwgNzgsIDEyOCwgNzUsIDgwLCA2NSwgMTI4LCA3NSwgNzksIDg4LCAxMjgsIDc1LCA3OSwgODYsIAorICAgIDg1LCA4NSwgMTI4LCA3NSwgNzksIDg0LCA3OSwgMTI4LCA3NSwgNzksIDgyLCA4NSwgNzgsIDY1LCAxMjgsIDc1LCA3OSwgCisgICAgODIsIDc5LCA3OCwgNzMsIDgzLCAxMjgsIDc1LCA3OSwgODIsIDY5LCA2NSwgMjA2LCA3NSwgNzksIDgyLCA2NSwgNzgsIDczLCAKKyAgICAxOTUsIDc1LCA3OSwgODEsIDc4LCA2OCwgNzksIDc4LCAxMjgsIDc1LCA3OSwgODAsIDgwLCA2NSwgMTI4LCA3NSwgNzksIAorICAgIDgwLCAxMjgsIDc1LCA3OSwgNzksIDgwLCA3OSwgMTI4LCA3NSwgNzksIDc5LCA3NywgODUsIDg1LCA4NCwgMTI4LCA3NSwgCisgICAgNzksIDc5LCAxMjgsIDc1LCA3OSwgNzgsIDg0LCA2OSwgODYsIDc3LCA2NSwgMTI4LCA3NSwgNzksIDc4LCA4NCwgNjksIDg2LCAKKyAgICA3NywgMTkzLCA3NSwgNzksIDc3LCAyMDEsIDc1LCA3OSwgNzcsIDY2LCA4NSwgODYsIDY1LCAxMjgsIDc1LCA3OSwgNzcsIAorICAgIDY2LCA4NSwgODYsIDE5MywgNzUsIDc5LCA3NywgNjYsIDIxMywgNzUsIDc5LCA3NSwgNzksIDEyOCwgNzUsIDc5LCA3NSwgCisgICAgMTI4LCA3NSwgNzksIDIwMywgNzUsIDc5LCA3MywgMTI4LCA3NSwgNzksIDIwMSwgNzUsIDc5LCA3MiwgMTI4LCA3NSwgNzksIAorICAgIDcxLCA3MiwgNzksIDc3LCAxMjgsIDc1LCA3OSwgNjksIDg0LCAxMjgsIDc1LCA3OSwgNjUsIDc2LCA2NSwgMTI4LCA3NSwgCisgICAgNzksIDY1LCAxMjgsIDc1LCA3OCwgNzMsIDcxLCA3MiwgODQsIDEyOCwgNzUsIDc4LCA3MywgNzEsIDcyLCAyMTIsIDc1LCAKKyAgICA3OCwgNzMsIDcwLCA2OSwgMTI4LCA3NSwgNzgsIDczLCA3MCwgMTk3LCA3NSwgNzcsIDEyOCwgNzUsIDIwNSwgNzUsIDc2LCAKKyAgICA3MywgODQsIDc5LCA3OCwgMTI4LCA3NSwgNzYsIDY1LCA4MywgNzcsIDY1LCAxMjgsIDc1LCA3NiwgNjUsIDgzLCA3NywgCisgICAgMTkzLCA3NSwgNzYsIDY1LCAxMjgsIDc1LCA3NiwgMTI4LCA3NSwgNzUsIDg1LCAxMjgsIDc1LCA3NSwgNzksIDEyOCwgNzUsIAorICAgIDc1LCA3MywgMTI4LCA3NSwgNzUsIDY5LCA2OSwgMTI4LCA3NSwgNzUsIDY5LCAxMjgsIDc1LCA3NSwgNjUsIDEyOCwgNzUsIAorICAgIDc1LCAxMjgsIDc1LCA3NCwgNjksIDEyOCwgNzUsIDczLCA4OSwgNjksIDc5LCA3NSwgNDUsIDg0LCA3MywgNzUsIDY5LCA4NSwgCisgICAgODQsIDEyOCwgNzUsIDczLCA4OSwgNjksIDc5LCA3NSwgNDUsIDgzLCA3MywgNzksIDgzLCA0NSwgNzUsIDczLCA4OSwgNjksIAorICAgIDc5LCA3NSwgMTI4LCA3NSwgNzMsIDg5LCA2OSwgNzksIDc1LCA0NSwgODIsIDczLCA2OSwgODUsIDc2LCAxMjgsIDc1LCA3MywgCisgICAgODksIDY5LCA3OSwgNzUsIDQ1LCA4MCwgNzMsIDY5LCA4NSwgODAsIDEyOCwgNzUsIDczLCA4OSwgNjksIDc5LCA3NSwgNDUsIAorICAgIDc4LCA3MywgNjksIDg1LCA3OCwgMTI4LCA3NSwgNzMsIDg5LCA2OSwgNzksIDc1LCA0NSwgNzUsIDcyLCA3MywgNjksIDg1LCAKKyAgICA3NSwgNzIsIDEyOCwgNzUsIDczLCA4OSwgNjksIDc5LCA3NSwgNDUsIDY3LCA3MiwgNzMsIDY5LCA4NSwgNjcsIDcyLCAxMjgsIAorICAgIDc1LCA3MywgODksIDY5LCA3OSwgMjAzLCA3NSwgNzMsIDg4LCAxMjgsIDc1LCA3MywgODQsIDEyOCwgNzUsIDczLCA4MywgCisgICAgODMsIDczLCA3OCwgMTk5LCA3NSwgNzMsIDgzLCA4MywgMTI4LCA3NSwgNzMsIDgzLCAyMTEsIDc1LCA3MywgODMsIDczLCAKKyAgICA3NywgNTMsIDEyOCwgNzUsIDczLCA4MywgNzMsIDc3LCAxODEsIDc1LCA3MywgODMsIDcyLCAxMjgsIDc1LCA3MywgODMsIAorICAgIDY1LCA3NiwgMTI4LCA3NSwgNzMsIDgyLCA3OSwgODcsIDY1LCA4NCwgODQsIDc5LCAxMjgsIDc1LCA3MywgODIsIDc5LCA3NywgCisgICAgNjksIDY5LCA4NCwgNzksIDgyLCA4NSwgMTI4LCA3NSwgNzMsIDgyLCA3OSwgNzEsIDg1LCA4MiwgNjUsIDc3LCA4NSwgMTI4LCAKKyAgICA3NSwgNzMsIDgyLCA3OSwgMTI4LCA3NSwgNzMsIDgyLCA3MSwgNzIsIDczLCAyMTgsIDc1LCA3MywgODEsIDEyOCwgNzUsIAorICAgIDczLCA4MCwgMTI4LCA3NSwgNzMsIDIwOCwgNzUsIDczLCA3OCwgODMsIDcyLCA3MywgODAsIDEyOCwgNzUsIDczLCA3OCwgCisgICAgNjgsIDY5LCA4MiwgNzEsIDY1LCA4MiwgODQsIDY5LCA3OCwgMTI4LCA3NSwgNzMsIDc3LCA3OSwgNzgsIDc5LCAxMjgsIDc1LCAKKyAgICA3MywgNzMsIDEyOCwgNzUsIDczLCA3MiwgMTI4LCA3NSwgNzMsIDY5LCA4OCwgMTI4LCA3NSwgNzMsIDY5LCA4MCwgMTI4LCAKKyAgICA3NSwgNzMsIDY5LCA2OSwgNzcsIDEyOCwgNzUsIDczLCA2OSwgMTI4LCA3NSwgNzMsIDY4LCAxMjgsIDc1LCA3MywgMTk2LCAKKyAgICA3NSwgNzMsIDY3LCA3NSwgMTI4LCA3NSwgNzIsIDkwLCAxMjgsIDc1LCA3MiwgODcsIDY1LCA3MywgMTI4LCA3NSwgNzIsIAorICAgIDg1LCA2OSwgNzgsIDQ1LCA3NiwgODUsIDE5NywgNzUsIDcyLCA4NSwgNjksIDIwNiwgNzUsIDcyLCA4NSwgNjgsIDY1LCA3NywgCisgICAgMTI4LCA3NSwgNzIsIDg1LCA2NSwgODQsIDEyOCwgNzUsIDcyLCA3OSwgODUsIDEyOCwgNzUsIDcyLCA3OSwgMjEyLCA3NSwgCisgICAgNzIsIDc5LCA3OCwgMTI4LCA3NSwgNzIsIDc5LCA3NywgODUsIDg0LCAxMjgsIDc1LCA3MiwgNzksIDEyOCwgNzUsIDcyLCAKKyAgICAyMDcsIDc1LCA3MiwgNzcsIDIxMywgNzUsIDcyLCA3MywgODQsIDEyOCwgNzUsIDcyLCA3MywgNzgsIDg5LCA2NSwgMTI4LCAKKyAgICA3NSwgNzIsIDczLCA2OSwgODUsIDc1LCAyMDAsIDc1LCA3MiwgNzMsIDEyOCwgNzUsIDcyLCA3MiwgNzksIDEyOCwgNzUsIAorICAgIDcyLCA3MiwgNjUsIDEyOCwgNzUsIDcyLCA2OSwgODQsIDcyLCAxMjgsIDc1LCA3MiwgNjksIDczLCAxMjgsIDc1LCA3MiwgCisgICAgNjksIDY5LCAxMjgsIDc1LCA3MiwgNjksIDEyOCwgNzUsIDcyLCA2NSwgODIsIDc5LCA4MywgNzIsIDg0LCA3MiwgMjAxLCAKKyAgICA3NSwgNzIsIDY1LCA4MiwgMTI4LCA3NSwgNzIsIDY1LCA4MCwgNzIsIDEyOCwgNzUsIDcyLCA2NSwgNzgsIDE5OSwgNzUsIAorICAgIDcyLCA2NSwgNzgsIDY4LCAxOTMsIDc1LCA3MiwgNjUsIDc4LCAxMjgsIDc1LCA3MiwgNjUsIDc3LCA4NCwgMjAxLCA3NSwgCisgICAgNzIsIDY1LCA3NSwgNjUsIDgzLCA4MywgNzMsIDY1LCAyMDYsIDc1LCA3MiwgNjUsIDczLCAxMjgsIDc1LCA3MiwgNjUsIDcyLCAKICAgICAxMjgsIDc1LCA3MiwgNjUsIDIwMCwgNzUsIDcyLCA2NSwgNjUsIDEyOCwgNzUsIDcxLCAxMjgsIDc1LCA2OSwgODksIDY3LCAKICAgICA2NSwgODAsIDEyOCwgNzUsIDY5LCA4OSwgNjcsIDY1LCAyMDgsIDc1LCA2OSwgODksIDY2LCA3OSwgNjUsIDgyLCA2OCwgCiAgICAgMTI4LCA3NSwgNjksIDg4LCAxMjgsIDc1LCA2OSwgODUsIDg5LCA2OSwgODUsIDg4LCAxMjgsIDc1LCA2OSwgODUsIDgzLCAKQEAgLTIxNDEsNzEgKzIyODcsNzQgQEAKICAgICA2OSwgNjksIDgwLCA3MywgNzgsIDE5OSwgNzUsIDY5LCA2OSwgNzgsIDcxLCAxMjgsIDc1LCA2NywgNjUsIDc2LCAxMjgsIAogICAgIDc1LCA2NiwgMTI4LCA3NSwgNjUsIDkwLCA2NSwgNzUsIDIwMCwgNzUsIDY1LCA4OSwgNjUsIDc4LCA3OCwgNjUsIDEyOCwgCiAgICAgNzUsIDY1LCA4OSwgNjUsIDIwMCwgNzUsIDY1LCA4OCwgMTI4LCA3NSwgNjUsIDg3LCA3MywgMTI4LCA3NSwgNjUsIDg2LCAKLSAgICA4OSwgNzUsIDY1LCAxMjgsIDc1LCA2NSwgODUsIDc4LCA2NSwgMTI4LCA3NSwgNjUsIDg1LCAyMDYsIDc1LCA2NSwgODQsIAotICAgIDc5LCAxMjgsIDc1LCA2NSwgODQsIDcyLCA3MywgODMsIDg0LCA3MywgMTI4LCA3NSwgNjUsIDg0LCA3MiwgNjUsIDc1LCAKLSAgICAxOTMsIDc1LCA2NSwgODQsIDY1LCA4NiwgNjUsIDgzLCA3NywgNjUsIDEyOCwgNzUsIDY1LCA4NCwgNjUsIDg2LCAxOTMsIAotICAgIDc1LCA2NSwgODQsIDY1LCA3NSwgNjUsIDc4LCA2NSwgNDUsIDcyLCA3MywgODIsIDY1LCA3MSwgNjUsIDc4LCAxOTMsIDc1LCAKLSAgICA2NSwgODMsIDgyLCA2NSwgODQsIDY1LCA3OCwgMTI4LCA3NSwgNjUsIDgzLCA4MiwgNjUsIDg0LCA2NSwgMjA2LCA3NSwgNjUsIAotICAgIDgzLCA4MiwgNjUsIDEyOCwgNzUsIDY1LCA4MywgODIsIDE5MywgNzUsIDY1LCA4MywgNzUsIDY1LCA3NiwgMTI4LCA3NSwgCi0gICAgNjUsIDgzLCA3NSwgNjUsIDIwNCwgNzUsIDY1LCA4MywgNzIsIDc3LCA3MywgODIsIDIwMSwgNzUsIDY1LCA4MiwgODMsIDcyLCAKLSAgICA2NSwgNzgsIDY1LCAxMjgsIDc1LCA2NSwgODIsIDc5LCA4MiwgNzMsIDczLCAxMjgsIDc1LCA2NSwgODIsIDIwNywgNzUsIAotICAgIDY1LCA4MiwgNjksIDIwNiwgNzUsIDY1LCA4MiwgNjUsIDg0LCA4NCwgNzksIDEyOCwgNzUsIDY1LCA4MiwgNjUsIDc4LCAKLSAgICAxMjgsIDc1LCA2NSwgODAsIDg5LCA2OSwgNzksIDg1LCA3OCwgODMsIDgzLCA2NSwgNzgsIDcxLCA4MCwgNzMsIDY5LCA4NSwgCi0gICAgODAsIDEyOCwgNzUsIDY1LCA4MCwgODksIDY5LCA3OSwgODUsIDc4LCA4MiwgNzMsIDY5LCA4NSwgNzYsIDEyOCwgNzUsIDY1LCAKLSAgICA4MCwgODksIDY5LCA3OSwgODUsIDc4LCA4MCwgNzIsIDczLCA2OSwgODUsIDgwLCA3MiwgMTI4LCA3NSwgNjUsIDgwLCA4OSwgCi0gICAgNjksIDc5LCA4NSwgNzgsIDc3LCA3MywgNjksIDg1LCA3NywgMTI4LCA3NSwgNjUsIDgwLCA4MCwgNjUsIDEyOCwgNzUsIDY1LCAKLSAgICA4MCwgODAsIDE5MywgNzUsIDY1LCA4MCwgNzksIDEyOCwgNzUsIDY1LCA4MCwgNzIsIDEyOCwgNzUsIDY1LCA4MCwgNjUsIAotICAgIDc2LCAxMjgsIDc1LCA2NSwgODAsIDY1LCAxMjgsIDc1LCA2NSwgNzgsIDg0LCA2NSwgNzQsIDE5MywgNzUsIDY1LCA3OCwgCi0gICAgNzEsIDEyOCwgNzUsIDY1LCA3OCwgMTk5LCA3NSwgNjUsIDc4LCA2NSwgNzUsIDc5LCAxMjgsIDc1LCA2NSwgNzcsIDUyLCAKLSAgICAxMjgsIDc1LCA2NSwgNzcsIDUwLCAxMjgsIDc1LCA2NSwgNzcsIDEyOCwgNzUsIDY1LCA3NSwgNzksIDEyOCwgNzUsIDY1LCAKLSAgICA3NSwgNjUsIDY2LCA2NSwgODQsIDEyOCwgNzUsIDY1LCA3NSwgMTI4LCA3NSwgNjUsIDIwMywgNzUsIDY1LCA3MywgODIsIAotICAgIDczLCAxMjgsIDc1LCA2NSwgNzMsIDEyOCwgNzUsIDY1LCAyMDEsIDc1LCA2NSwgNzAsIDY1LCAxMjgsIDc1LCA2NSwgNzAsIAotICAgIDEyOCwgNzUsIDY1LCAxOTgsIDc1LCA2NSwgNjgsIDUzLCAxMjgsIDc1LCA2NSwgNjgsIDE4MSwgNzUsIDY1LCA2OCwgNTIsIAotICAgIDEyOCwgNzUsIDY1LCA2OCwgNTEsIDEyOCwgNzUsIDY1LCA2OCwgMTc5LCA3NSwgNjUsIDY4LCA1MCwgMTI4LCA3NSwgNjUsIAotICAgIDY4LCAxMjgsIDc1LCA2NSwgNjYsIDE5MywgNzUsIDY1LCA2NiwgMTI4LCA3NSwgNjUsIDY1LCA3MywgMTI4LCA3NSwgNjUsIAotICAgIDY1LCA3MCwgODUsIDEyOCwgNzUsIDY1LCA2NSwgNzAsIDEyOCwgNzUsIDY1LCA1MCwgMTI4LCA3NSwgNjUsIDE3OCwgNzUsIAotICAgIDQ4LCA0OCwgNTYsIDEyOCwgNzUsIDQ4LCA0OCwgNTUsIDEyOCwgNzUsIDQ4LCA0OCwgNTQsIDEyOCwgNzUsIDQ4LCA0OCwgCi0gICAgNTMsIDEyOCwgNzUsIDQ4LCA0OCwgNTIsIDEyOCwgNzUsIDQ4LCA0OCwgNTEsIDEyOCwgNzUsIDQ4LCA0OCwgNTAsIDEyOCwgCi0gICAgNzUsIDQ4LCA0OCwgNDksIDEyOCwgNzQsIDg3LCA2NSwgMTI4LCA3NCwgODUsIDg1LCAxMjgsIDc0LCA4NSwgODQsIDEyOCwgCi0gICAgNzQsIDg1LCA4MCwgNzMsIDg0LCA2OSwgODIsIDEyOCwgNzQsIDg1LCA3OSwgODQsIDEyOCwgNzQsIDg1LCA3OSwgODAsIAotICAgIDEyOCwgNzQsIDg1LCA3OCwgNzksIDEyOCwgNzQsIDg1LCA3OCwgNjksIDEyOCwgNzQsIDg1LCA3NiwgODksIDEyOCwgNzQsIAotICAgIDg1LCA2OSwgODUsIDczLCAxMjgsIDc0LCA4NSwgNjgsIDg1LCA3NiwgMTI4LCA3NCwgODUsIDY4LCA3MSwgNjksIDEyOCwgCi0gICAgNzQsIDg1LCA2OCwgNjksIDc5LCA0NSwgODMsIDgwLCA2NSwgNzgsIDczLCA4MywgMjAwLCA3NCwgNzksIDg5LCA3OSwgODUsIAotICAgIDIxMSwgNzQsIDc5LCA4OSwgMTI4LCA3NCwgNzksIDg2LCA2OSwgMTI4LCA3NCwgNzksIDIxMiwgNzQsIDc5LCA3OCwgNzEsIAotICAgIDEyOCwgNzQsIDc5LCA3OCwgMTkzLCA3NCwgNzksIDc1LCA2OSwgODIsIDEyOCwgNzQsIDc5LCA3MywgNzgsIDY5LCA2OCwgCi0gICAgMTI4LCA3NCwgNzksIDczLCA3OCwgMTI4LCA3NCwgNzksIDY1LCAxMjgsIDc0LCA3NCwgODksIDg4LCAxMjgsIDc0LCA3NCwgCi0gICAgODksIDg0LCAxMjgsIDc0LCA3NCwgODksIDgwLCAxMjgsIDc0LCA3NCwgODksIDEyOCwgNzQsIDc0LCA4NSwgODgsIDEyOCwgCi0gICAgNzQsIDc0LCA4NSwgODQsIDEyOCwgNzQsIDc0LCA4NSwgODIsIDg4LCAxMjgsIDc0LCA3NCwgODUsIDgyLCAxMjgsIDc0LCAKLSAgICA3NCwgODUsIDgwLCAxMjgsIDc0LCA3NCwgODUsIDc5LCA4OCwgMTI4LCA3NCwgNzQsIDg1LCA3OSwgODAsIDEyOCwgNzQsIAotICAgIDc0LCA4NSwgNzksIDEyOCwgNzQsIDc0LCA4NSwgMTI4LCA3NCwgNzQsIDc5LCA4OCwgMTI4LCA3NCwgNzQsIDc5LCA4NCwgCi0gICAgMTI4LCA3NCwgNzQsIDc5LCA4MCwgMTI4LCA3NCwgNzQsIDc5LCAxMjgsIDc0LCA3NCwgNzMsIDg4LCAxMjgsIDc0LCA3NCwgCi0gICAgNzMsIDg0LCAxMjgsIDc0LCA3NCwgNzMsIDgwLCAxMjgsIDc0LCA3NCwgNzMsIDY5LCA4OCwgMTI4LCA3NCwgNzQsIDczLCAKLSAgICA2OSwgODQsIDEyOCwgNzQsIDc0LCA3MywgNjksIDgwLCAxMjgsIDc0LCA3NCwgNzMsIDY5LCAxMjgsIDc0LCA3NCwgNzMsIAotICAgIDEyOCwgNzQsIDc0LCA2OSwgNjksIDEyOCwgNzQsIDc0LCA2OSwgMTI4LCA3NCwgNzQsIDY1LCAxMjgsIDc0LCA3MywgNzYsIAotICAgIDEyOCwgNzQsIDczLCA3MiwgODYsIDY1LCA3NywgODUsIDc2LCA3MywgODksIDY1LCAxMjgsIDc0LCA3MywgNjUsIDEyOCwgCi0gICAgNzQsIDcyLCA3OSwgMTI4LCA3NCwgNzIsIDY5LCA3MiwgMTI4LCA3NCwgNzIsIDY1LCA3OCwgMTI4LCA3NCwgNzIsIDY1LCAKLSAgICA3NywgMTI4LCA3NCwgNzIsIDY1LCAxMjgsIDc0LCA2OSwgODUsIDEyOCwgNzQsIDY5LCA4MiwgODUsIDgzLCA2NSwgNzYsIAotICAgIDY5LCA3NywgMTI4LCA3NCwgNjksIDgyLCA2NSwgMjA2LCA3NCwgNjksIDgyLCA2NSwgMTI4LCA3NCwgNjksIDgyLCAxMjgsIAotICAgIDc0LCA2OSwgNzIsIDEyOCwgNzQsIDY5LCAyMDAsIDc0LCA2OSwgNzEsIDc5LCA3MSwgNjUsIDc4LCAxMjgsIDc0LCA2OSwgCi0gICAgNjksIDc3LCAxMjgsIDc0LCA2OSwgNjUsIDc4LCA4MywgMTI4LCA3NCwgNjUsIDg5LCA2NSwgNzgsIDc4LCA2NSwgMTI4LCAKLSAgICA3NCwgNjUsIDg2LCA3MywgODksIDY1LCA3OCwgNzMsIDEyOCwgNzQsIDY1LCA4MiwgMTI4LCA3NCwgNjUsIDgwLCA2NSwgNzgsIAotICAgIDY5LCA4MywgMTk3LCA3NCwgNjUsIDgwLCA2NSwgNzgsIDEyOCwgNzQsIDY1LCA3OCwgODUsIDY1LCA4MiwgODksIDEyOCwgCi0gICAgNzQsIDY1LCA3NiwgNzYsIDY1LCA3NCwgNjUsIDc2LCA2NSwgNzYsIDc5LCA4NSwgNzIsIDc5LCA4NSwgMTI4LCA3NCwgNjUsIAotICAgIDY4LCA2OSwgMTI4LCA3NCwgNjUsIDY3LCA3NSwgNDUsIDc5LCA0NSwgNzYsIDY1LCA3OCwgODQsIDY5LCA4MiwgNzgsIDEyOCwgCi0gICAgNzQsIDY1LCA2NywgMjAzLCA3NCwgNDUsIDgzLCA3MywgNzcsIDgwLCA3NiwgNzMsIDcwLCA3MywgNjksIDE5NiwgMjAyLCAKLSAgICA3MywgOTAsIDcyLCA3MywgODQsIDgzLCA2NSwgMTI4LCA3MywgOTAsIDcyLCA3MywgODQsIDgzLCAxOTMsIDczLCA5MCwgNzIsIAotICAgIDY5LCAxMjgsIDczLCA5MCwgNjUsIDc1LCA2NSwgODksIDE5MywgNzMsIDg5LCA2OSwgNzUsIDEyOCwgNzMsIDg5LCA2NSwgCi0gICAgNzgsIDc4LCA2NSwgMTI4LCA3MywgODUsIDc0LCA2NSwgMTI4LCA3MywgODUsIDEyOCwgNzMsIDg0LCAyMTEsIDczLCA4NCwgCi0gICAgNjksIDgyLCA2NSwgODQsIDczLCA3OSwgMjA2LCA3MywgODQsIDY5LCA3NywgMTI4LCA3MywgODMsIDgzLCA3MiwgNjUsIDgyLCAKLSAgICAxMjgsIDczLCA4MywgNzksIDc4LCAxMjgsIDczLCA4MywgNzksIDIwNiwgNzMsIDgzLCA2OSwgNzgsIDQ1LCA3MywgODMsIAotICAgIDY5LCA3OCwgMTI4LCA3MywgODMsIDY1LCA3NSwgNzMsIDE5MywgNzMsIDgzLCA0NSwgODAsIDczLCA3NiwgNzYsIDY1LCAKLSAgICAxMjgsIDczLCA4MiwgODUsIDg5LCA2NSwgNzgsIDc4LCA2NSwgMTI4LCA3MywgODIsIDg1LCA4NSwgODksIDY1LCA3OCwgNzgsIAotICAgIDY1LCAxMjgsIDczLCA4MiwgNzksIDc4LCA0NSwgNjcsIDc5LCA4MCwgODAsIDY5LCAyMTAsIDczLCA4MiwgNzksIDc4LCAKLSAgICAxMjgsIDczLCA3OSwgODQsIDczLCA3MCwgNzMsIDY5LCAxOTYsIDczLCA3OSwgODQsIDY1LCA4NCwgNjksIDE5NiwgNzMsIAotICAgIDc5LCA4NCwgNjUsIDEyOCwgNzMsIDc5LCA4NCwgMTkzLCA3MywgNzksIDgyLCAxMjgsIDczLCA3OSwgNjgsIDcyLCA2NSwgCi0gICAgNjgsIDcyLCAxMjgsIDczLCA3OCwgODYsIDczLCA4MywgNzMsIDY2LCA3NiwgMTk3LCA3MywgNzgsIDg2LCA2OSwgODIsIDg0LCAKLSAgICA2OSwgNjgsIDEyOCwgNzMsIDc4LCA4NiwgNjksIDgyLCA4NCwgNjksIDE5NiwgNzMsIDc4LCA4NiwgNjksIDgyLCA4MywgCi0gICAgMTk3LCA3MywgNzgsIDg0LCA3MywgMTI4LCA3MywgNzgsIDg0LCA2OSwgODIsIDgzLCA4OSwgNzYsIDc2LCA2NSwgNjYsIDczLCAKKyAgICA4OSwgNzUsIDY1LCAxMjgsIDc1LCA2NSwgODUsIDc4LCA2NSwgMTI4LCA3NSwgNjUsIDg1LCAyMDYsIDc1LCA2NSwgODUsIAorICAgIDEyOCwgNzUsIDY1LCA4NCwgNzksIDEyOCwgNzUsIDY1LCA4NCwgNzIsIDczLCA4MywgODQsIDczLCAxMjgsIDc1LCA2NSwgCisgICAgODQsIDcyLCA2NSwgNzUsIDE5MywgNzUsIDY1LCA4NCwgNjUsIDg2LCA2NSwgODMsIDc3LCA2NSwgMTI4LCA3NSwgNjUsIDg0LCAKKyAgICA2NSwgODYsIDE5MywgNzUsIDY1LCA4NCwgNjUsIDc1LCA2NSwgNzgsIDY1LCA0NSwgNzIsIDczLCA4MiwgNjUsIDcxLCA2NSwgCisgICAgNzgsIDE5MywgNzUsIDY1LCA4MywgODIsIDY1LCA4NCwgNjUsIDc4LCAxMjgsIDc1LCA2NSwgODMsIDgyLCA2NSwgODQsIDY1LCAKKyAgICAyMDYsIDc1LCA2NSwgODMsIDgyLCA2NSwgMTI4LCA3NSwgNjUsIDgzLCA4MiwgMTkzLCA3NSwgNjUsIDgzLCA3NSwgNjUsIAorICAgIDc2LCAxMjgsIDc1LCA2NSwgODMsIDc1LCA2NSwgMjA0LCA3NSwgNjUsIDgzLCA3MiwgNzcsIDczLCA4MiwgMjAxLCA3NSwgCisgICAgNjUsIDgyLCA4MywgNzIsIDY1LCA3OCwgNjUsIDEyOCwgNzUsIDY1LCA4MiwgNzksIDgyLCA3MywgNzMsIDEyOCwgNzUsIDY1LCAKKyAgICA4MiwgMjA3LCA3NSwgNjUsIDgyLCA2OSwgMjA2LCA3NSwgNjUsIDgyLCA2NSwgODQsIDg0LCA3OSwgMTI4LCA3NSwgNjUsIAorICAgIDgyLCA2NSwgNzgsIDEyOCwgNzUsIDY1LCA4MCwgODksIDY5LCA3OSwgODUsIDc4LCA4MywgODMsIDY1LCA3OCwgNzEsIDgwLCAKKyAgICA3MywgNjksIDg1LCA4MCwgMTI4LCA3NSwgNjUsIDgwLCA4OSwgNjksIDc5LCA4NSwgNzgsIDgyLCA3MywgNjksIDg1LCA3NiwgCisgICAgMTI4LCA3NSwgNjUsIDgwLCA4OSwgNjksIDc5LCA4NSwgNzgsIDgwLCA3MiwgNzMsIDY5LCA4NSwgODAsIDcyLCAxMjgsIDc1LCAKKyAgICA2NSwgODAsIDg5LCA2OSwgNzksIDg1LCA3OCwgNzcsIDczLCA2OSwgODUsIDc3LCAxMjgsIDc1LCA2NSwgODAsIDgwLCA2NSwgCisgICAgMTI4LCA3NSwgNjUsIDgwLCA4MCwgMTkzLCA3NSwgNjUsIDgwLCA3OSwgMTI4LCA3NSwgNjUsIDgwLCA3MiwgMTI4LCA3NSwgCisgICAgNjUsIDgwLCA2NSwgNzYsIDEyOCwgNzUsIDY1LCA4MCwgNjUsIDEyOCwgNzUsIDY1LCA3OCwgODQsIDY1LCA3NCwgMTkzLCAKKyAgICA3NSwgNjUsIDc4LCA3MSwgMTI4LCA3NSwgNjUsIDc4LCAxOTksIDc1LCA2NSwgNzgsIDY1LCA3NSwgNzksIDEyOCwgNzUsIAorICAgIDY1LCA3NywgNTIsIDEyOCwgNzUsIDY1LCA3NywgNTAsIDEyOCwgNzUsIDY1LCA3NywgMTI4LCA3NSwgNjUsIDc1LCA3OSwgCisgICAgMTI4LCA3NSwgNjUsIDc1LCA2NSwgNjYsIDY1LCA4NCwgMTI4LCA3NSwgNjUsIDc1LCAxMjgsIDc1LCA2NSwgMjAzLCA3NSwgCisgICAgNjUsIDczLCA4NCwgNzIsIDIwMSwgNzUsIDY1LCA3MywgODIsIDczLCAxMjgsIDc1LCA2NSwgNzMsIDEyOCwgNzUsIDY1LCAKKyAgICAyMDEsIDc1LCA2NSwgNzAsIDY1LCAxMjgsIDc1LCA2NSwgNzAsIDEyOCwgNzUsIDY1LCAxOTgsIDc1LCA2NSwgNjgsIDUzLCAKKyAgICAxMjgsIDc1LCA2NSwgNjgsIDE4MSwgNzUsIDY1LCA2OCwgNTIsIDEyOCwgNzUsIDY1LCA2OCwgNTEsIDEyOCwgNzUsIDY1LCAKKyAgICA2OCwgMTc5LCA3NSwgNjUsIDY4LCA1MCwgMTI4LCA3NSwgNjUsIDY4LCAxMjgsIDc1LCA2NSwgNjYsIDE5MywgNzUsIDY1LCAKKyAgICA2NiwgMTI4LCA3NSwgNjUsIDY1LCA3MywgMTI4LCA3NSwgNjUsIDY1LCA3MCwgODUsIDEyOCwgNzUsIDY1LCA2NSwgNzAsIAorICAgIDEyOCwgNzUsIDY1LCA1MCwgMTI4LCA3NSwgNjUsIDE3OCwgNzUsIDQ4LCA0OCwgNTYsIDEyOCwgNzUsIDQ4LCA0OCwgNTUsIAorICAgIDEyOCwgNzUsIDQ4LCA0OCwgNTQsIDEyOCwgNzUsIDQ4LCA0OCwgNTMsIDEyOCwgNzUsIDQ4LCA0OCwgNTIsIDEyOCwgNzUsIAorICAgIDQ4LCA0OCwgNTEsIDEyOCwgNzUsIDQ4LCA0OCwgNTAsIDEyOCwgNzUsIDQ4LCA0OCwgNDksIDEyOCwgNzQsIDg3LCA2NSwgCisgICAgMTI4LCA3NCwgODUsIDg1LCAxMjgsIDc0LCA4NSwgODQsIDEyOCwgNzQsIDg1LCA4MywgODQsIDczLCA3MCwgNzMsIDY3LCAKKyAgICA2NSwgODQsIDczLCA3OSwgNzgsIDEyOCwgNzQsIDg1LCA4MCwgNzMsIDg0LCA2OSwgODIsIDEyOCwgNzQsIDg1LCA3OSwgODQsIAorICAgIDEyOCwgNzQsIDg1LCA3OSwgODAsIDEyOCwgNzQsIDg1LCA3OCwgNzksIDEyOCwgNzQsIDg1LCA3OCwgNjksIDEyOCwgNzQsIAorICAgIDg1LCA3NiwgODksIDEyOCwgNzQsIDg1LCA2OSwgODUsIDczLCAxMjgsIDc0LCA4NSwgNjgsIDg1LCA3NiwgMTI4LCA3NCwgCisgICAgODUsIDY4LCA3MSwgNjksIDEyOCwgNzQsIDg1LCA2OCwgNjksIDc5LCA0NSwgODMsIDgwLCA2NSwgNzgsIDczLCA4MywgMjAwLCAKKyAgICA3NCwgNzksIDg5LCA3OSwgODUsIDIxMSwgNzQsIDc5LCA4OSwgMTI4LCA3NCwgNzksIDg2LCA2OSwgMTI4LCA3NCwgNzksIAorICAgIDIxMiwgNzQsIDc5LCA3OCwgNzEsIDEyOCwgNzQsIDc5LCA3OCwgMTkzLCA3NCwgNzksIDc1LCA2OSwgODIsIDEyOCwgNzQsIAorICAgIDc5LCA3MywgNzgsIDY5LCA2OCwgMTI4LCA3NCwgNzksIDczLCA3OCwgMTI4LCA3NCwgNzksIDY1LCAxMjgsIDc0LCA3NCwgCisgICAgODksIDg4LCAxMjgsIDc0LCA3NCwgODksIDg0LCAxMjgsIDc0LCA3NCwgODksIDgwLCAxMjgsIDc0LCA3NCwgODksIDEyOCwgCisgICAgNzQsIDc0LCA4NSwgODgsIDEyOCwgNzQsIDc0LCA4NSwgODQsIDEyOCwgNzQsIDc0LCA4NSwgODIsIDg4LCAxMjgsIDc0LCAKKyAgICA3NCwgODUsIDgyLCAxMjgsIDc0LCA3NCwgODUsIDgwLCAxMjgsIDc0LCA3NCwgODUsIDc5LCA4OCwgMTI4LCA3NCwgNzQsIAorICAgIDg1LCA3OSwgODAsIDEyOCwgNzQsIDc0LCA4NSwgNzksIDEyOCwgNzQsIDc0LCA4NSwgMTI4LCA3NCwgNzQsIDc5LCA4OCwgCisgICAgMTI4LCA3NCwgNzQsIDc5LCA4NCwgMTI4LCA3NCwgNzQsIDc5LCA4MCwgMTI4LCA3NCwgNzQsIDc5LCAxMjgsIDc0LCA3NCwgCisgICAgNzMsIDg4LCAxMjgsIDc0LCA3NCwgNzMsIDg0LCAxMjgsIDc0LCA3NCwgNzMsIDgwLCAxMjgsIDc0LCA3NCwgNzMsIDY5LCAKKyAgICA4OCwgMTI4LCA3NCwgNzQsIDczLCA2OSwgODQsIDEyOCwgNzQsIDc0LCA3MywgNjksIDgwLCAxMjgsIDc0LCA3NCwgNzMsIAorICAgIDY5LCAxMjgsIDc0LCA3NCwgNzMsIDEyOCwgNzQsIDc0LCA2OSwgNjksIDEyOCwgNzQsIDc0LCA2OSwgMTI4LCA3NCwgNzQsIAorICAgIDY1LCAxMjgsIDc0LCA3MywgNzYsIDEyOCwgNzQsIDczLCA3MywgMTI4LCA3NCwgNzMsIDcyLCA4NiwgNjUsIDc3LCA4NSwgCisgICAgNzYsIDczLCA4OSwgNjUsIDEyOCwgNzQsIDczLCA2NSwgMTI4LCA3NCwgNzIsIDc5LCAxMjgsIDc0LCA3MiwgNjksIDcyLCAKKyAgICAxMjgsIDc0LCA3MiwgNjUsIDc4LCAxMjgsIDc0LCA3MiwgNjUsIDc3LCAxMjgsIDc0LCA3MiwgNjUsIDY1LCAxMjgsIDc0LCAKKyAgICA3MiwgNjUsIDEyOCwgNzQsIDY5LCA4NSwgMTI4LCA3NCwgNjksIDgyLCA4NSwgODMsIDY1LCA3NiwgNjksIDc3LCAxMjgsIAorICAgIDc0LCA2OSwgODIsIDY1LCAyMDYsIDc0LCA2OSwgODIsIDY1LCAxMjgsIDc0LCA2OSwgODIsIDEyOCwgNzQsIDY5LCA3MiwgCisgICAgMTI4LCA3NCwgNjksIDIwMCwgNzQsIDY5LCA3MSwgNzksIDcxLCA2NSwgNzgsIDEyOCwgNzQsIDY5LCA2OSwgNzcsIDEyOCwgCisgICAgNzQsIDY5LCA2NSwgNzgsIDgzLCAxMjgsIDc0LCA2NSwgODksIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDc0LCA2NSwgODYsIDczLCAKKyAgICA4OSwgNjUsIDc4LCA3MywgMTI4LCA3NCwgNjUsIDg1LCAxMjgsIDc0LCA2NSwgODIsIDEyOCwgNzQsIDY1LCA4MCwgNjUsIAorICAgIDc4LCA2OSwgODMsIDE5NywgNzQsIDY1LCA4MCwgNjUsIDc4LCAxMjgsIDc0LCA2NSwgNzgsIDg1LCA2NSwgODIsIDg5LCAKKyAgICAxMjgsIDc0LCA2NSwgNzYsIDc2LCA2NSwgNzQsIDY1LCA3NiwgNjUsIDc2LCA3OSwgODUsIDcyLCA3OSwgODUsIDEyOCwgNzQsIAorICAgIDY1LCA3MywgMTI4LCA3NCwgNjUsIDcyLCAxMjgsIDc0LCA2NSwgNjgsIDY5LCAxMjgsIDc0LCA2NSwgNjcsIDc1LCA0NSwgCisgICAgNzksIDQ1LCA3NiwgNjUsIDc4LCA4NCwgNjksIDgyLCA3OCwgMTI4LCA3NCwgNjUsIDY3LCAyMDMsIDc0LCA0NSwgODMsIDczLCAKKyAgICA3NywgODAsIDc2LCA3MywgNzAsIDczLCA2OSwgMTk2LCAyMDIsIDczLCA5MCwgNzIsIDczLCA4NCwgODMsIDY1LCAxMjgsIAorICAgIDczLCA5MCwgNzIsIDczLCA4NCwgODMsIDE5MywgNzMsIDkwLCA3MiwgNjksIDEyOCwgNzMsIDkwLCA2NSwgNzUsIDY1LCA4OSwgCisgICAgMTkzLCA3MywgODksIDY5LCA3NSwgMTI4LCA3MywgODksIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDczLCA4NSwgNzQsIDY1LCAKKyAgICAxMjgsIDczLCA4NSwgMTI4LCA3MywgODQsIDIxMSwgNzMsIDg0LCA2OSwgODIsIDY1LCA4NCwgNzMsIDc5LCAyMDYsIDczLCAKKyAgICA4NCwgNjksIDc3LCAxMjgsIDczLCA4MywgODMsIDcyLCA2NSwgODIsIDEyOCwgNzMsIDgzLCA3OSwgNzgsIDEyOCwgNzMsIAorICAgIDgzLCA3OSwgMjA2LCA3MywgODMsIDY5LCA3OCwgNDUsIDczLCA4MywgNjksIDc4LCAxMjgsIDczLCA4MywgNjUsIDc1LCA3MywgCisgICAgMTkzLCA3MywgODMsIDQ1LCA4MCwgNzMsIDc2LCA3NiwgNjUsIDEyOCwgNzMsIDgyLCA4NSwgODksIDY1LCA3OCwgNzgsIDY1LCAKKyAgICAxMjgsIDczLCA4MiwgODUsIDg1LCA4OSwgNjUsIDc4LCA3OCwgNjUsIDEyOCwgNzMsIDgyLCA3OSwgNzgsIDQ1LCA2NywgNzksIAorICAgIDgwLCA4MCwgNjksIDIxMCwgNzMsIDgyLCA3OSwgNzgsIDEyOCwgNzMsIDc5LCA4NCwgNzMsIDcwLCA3MywgNjksIDE5NiwgCisgICAgNzMsIDc5LCA4NCwgNjUsIDg0LCA2OSwgMTk2LCA3MywgNzksIDg0LCA2NSwgMTI4LCA3MywgNzksIDg0LCAxOTMsIDczLCAKKyAgICA3OSwgODIsIDEyOCwgNzMsIDc5LCA2OCwgNzIsIDY1LCA2OCwgNzIsIDEyOCwgNzMsIDc4LCA4NiwgNzMsIDgzLCA3MywgNjYsIAorICAgIDc2LCAxOTcsIDczLCA3OCwgODYsIDY5LCA4MiwgODQsIDY5LCA2OCwgMTI4LCA3MywgNzgsIDg2LCA2OSwgODIsIDg0LCA2OSwgCisgICAgMTk2LCA3MywgNzgsIDg2LCA2OSwgODIsIDgzLCAxOTcsIDczLCA3OCwgODQsIDgyLCA3OSwgNjgsIDg1LCA2NywgNjksIDgyLCAKKyAgICAxMjgsIDczLCA3OCwgODQsIDczLCAxMjgsIDczLCA3OCwgODQsIDY5LCA4MiwgODMsIDg5LCA3NiwgNzYsIDY1LCA2NiwgNzMsIAogICAgIDE5NSwgNzMsIDc4LCA4NCwgNjksIDgyLCA4MywgNjksIDY3LCA4NCwgNzMsIDc5LCA3OCwgMTI4LCA3MywgNzgsIDg0LCA2OSwgCiAgICAgODIsIDgzLCA2OSwgNjcsIDg0LCA3MywgNzksIDIwNiwgNzMsIDc4LCA4NCwgNjksIDgyLCA4MywgNjksIDY3LCA4NCwgNzMsIAogICAgIDc4LCAxOTksIDczLCA3OCwgODQsIDY5LCA4MiwgODIsIDc5LCA2NiwgNjUsIDc4LCA3MSwgMTI4LCA3MywgNzgsIDg0LCA2OSwgCkBAIC0yMjM0LDEyMjYgKzIzODMsMTIzMyBAQAogICAgIDc4LCA2NywgNzIsIDEyOCwgNzMsIDc4LCA2NiwgNzksIDIxNiwgNzMsIDc4LCA2NSwgODAsIDEyOCwgNzMsIDc4LCA0NSwgCiAgICAgNjUsIDc2LCA2NSwgNzAsIDEyOCwgNzMsIDc3LCA4MCwgNjksIDgyLCA3MywgNjUsIDIwNCwgNzMsIDc3LCA4MCwgNjksIDgyLCAKICAgICA3MCwgNjksIDY3LCA4NCwgODUsIDIwNSwgNzMsIDc3LCA4MCwgNjksIDgyLCA3MCwgNjksIDY3LCA4NCwgNjUsIDEyOCwgNzMsIAotICAgIDc3LCA4MCwgNjksIDgyLCA3MCwgNjksIDY3LCA4NCwgMTkzLCA3MywgNzcsIDczLCA4MywgNjksIDc5LCAyMTEsIDczLCA3NywgCi0gICAgNzMsIDc4LCA1MSwgMTI4LCA3MywgNzcsIDczLCA3OCwgMTI4LCA3MywgNzcsIDczLCAyMDYsIDczLCA3NywgNzMsIDcwLCAKLSAgICA4NCwgNzIsIDc5LCA4MiwgNzksIDc4LCAxMjgsIDczLCA3NywgNzMsIDcwLCA4NCwgNzIsIDc5LCA4MiwgNjUsIDEyOCwgNzMsIAotICAgIDc3LCA3MywgNzAsIDc5LCA3OCwgNzksIDc4LCAxMjgsIDczLCA3NywgNzMsIDY4LCA3MywgNjUsIDgyLCA3MSwgNzksIDc4LCAKLSAgICAxMjgsIDczLCA3NywgNjUsIDcxLCAxOTcsIDczLCA3NiwgODUsIDg5LCA2NSwgNzgsIDc4LCA2NSwgMTI4LCA3MywgNzYsIAotICAgIDg1LCA4OSwgMTI4LCA3MywgNzYsIDg1LCA4NSwgODksIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDczLCA3NiwgODUsIDg0LCAKLSAgICAxMjgsIDczLCA3NiwgNzMsIDc3LCA3NywgODUsIDUyLCAxMjgsIDczLCA3NiwgNzMsIDc3LCA3NywgODUsIDUxLCAxMjgsIAotICAgIDczLCA3NiwgNzMsIDc3LCA3NywgODUsIDEyOCwgNzMsIDc2LCA3MywgNzcsIDc3LCAyMTMsIDczLCA3NiwgNTAsIDEyOCwgCi0gICAgNzMsIDc1LCA2NSwgODIsIDY1LCAxMjgsIDczLCA3NSwgNjUsIDgyLCAxOTMsIDczLCA3NCwgMTI4LCA3MywgNzMsIDg5LCAKLSAgICA2NSwgNzgsIDc4LCA2NSwgMTI4LCA3MywgNzEsIDczLCAxMjgsIDczLCA3MSwgMjAxLCA3MywgNzEsIDcxLCA4NywgODMsIAotICAgIDEyOCwgNzMsIDcwLCA3MywgNzgsIDEyOCwgNzMsIDY5LCA4NSwgNzgsIDcxLCA0NSwgODQsIDczLCA3NSwgNjksIDg1LCA4NCwgCi0gICAgMTI4LCA3MywgNjksIDg1LCA3OCwgNzEsIDQ1LCA4NCwgNzIsIDczLCA2OSwgODUsIDg0LCA3MiwgMTI4LCA3MywgNjksIDg1LCAKLSAgICA3OCwgNzEsIDQ1LCA4MywgODMsIDY1LCA3OCwgNzEsIDc1LCA3MywgODksIDY5LCA3OSwgNzUsIDEyOCwgNzMsIDY5LCA4NSwgCi0gICAgNzgsIDcxLCA0NSwgODIsIDczLCA2OSwgODUsIDc2LCAxMjgsIDczLCA2OSwgODUsIDc4LCA3MSwgNDUsIDgwLCA3MywgNjksIAotICAgIDg1LCA4MCwgMTI4LCA3MywgNjksIDg1LCA3OCwgNzEsIDQ1LCA4MCwgNzIsIDczLCA2OSwgODUsIDgwLCA3MiwgMTI4LCA3MywgCi0gICAgNjksIDg1LCA3OCwgNzEsIDQ1LCA3NSwgNzMsIDg5LCA2OSwgNzksIDc1LCAxMjgsIDczLCA2OSwgODUsIDc4LCA3MSwgNDUsIAotICAgIDc1LCA3MiwgNzMsIDY5LCA4NSwgNzUsIDcyLCAxMjgsIDczLCA2OSwgODUsIDc4LCA3MSwgNDUsIDY3LCA3MywgNjksIDg1LCAKLSAgICA2NywgMTI4LCA3MywgNjksIDg1LCA3OCwgNzEsIDQ1LCA2NywgNzIsIDczLCA2OSwgODUsIDY3LCA3MiwgMTI4LCA3MywgNjksIAotICAgIDg1LCA3OCwgMTk5LCA3MywgNjgsIDc2LCA2OSwgMTI4LCA3MywgNjgsIDczLCA3NywgMTI4LCA3MywgNjgsIDczLCAyMDUsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY4LCA1NywgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2OCwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjgsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA3MCwgNjUsIDY4LCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCAKLSAgICA2OCwgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjgsIDUyLCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY4LCA1MSwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2OCwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjgsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA3MCwgNjUsIDY4LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCAKLSAgICA2NywgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjcsIDY5LCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY3LCA2OCwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2NywgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjcsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA3MCwgNjUsIDY3LCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCAKLSAgICA2NywgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjcsIDU2LCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY3LCA1NSwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2NywgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjcsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA3MCwgNjUsIDY3LCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCAKLSAgICA2NywgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjcsIDUwLCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY3LCA0OSwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2NywgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjYsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA3MCwgNjUsIDY2LCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCAKLSAgICA2NiwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjYsIDY3LCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY2LCA2NiwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2NiwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjYsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA3MCwgNjUsIDY2LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCAKLSAgICA2NiwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjYsIDU0LCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY2LCA1MywgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2NiwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjYsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA3MCwgNjUsIDY2LCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCAKLSAgICA2NiwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjYsIDQ4LCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY1LCA3MCwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2NSwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjUsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA3MCwgNjUsIDY1LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCAKLSAgICA2NSwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjUsIDY1LCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY1LCA1NywgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2NSwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjUsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA3MCwgNjUsIDY1LCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCAKLSAgICA2NSwgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjUsIDUyLCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY1LCA1MSwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2NSwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjUsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA3MCwgNjUsIDY1LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCAKLSAgICA1NywgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTcsIDY5LCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU3LCA2OCwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NywgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTcsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA3MCwgNjUsIDU3LCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCAKLSAgICA1NywgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTcsIDU2LCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU3LCA1NSwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NywgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTcsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA3MCwgNjUsIDU3LCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCAKLSAgICA1NywgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTcsIDUwLCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU3LCA0OSwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NywgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTYsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA3MCwgNjUsIDU2LCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCAKLSAgICA1NiwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTYsIDY3LCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU2LCA2NiwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NiwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTYsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA3MCwgNjUsIDU2LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCAKLSAgICA1NiwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTYsIDU0LCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU2LCA1MywgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NiwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTYsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA3MCwgNjUsIDU2LCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCAKLSAgICA1NiwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTYsIDQ4LCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU1LCA3MCwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NSwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTUsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA3MCwgNjUsIDU1LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCAKLSAgICA1NSwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTUsIDY1LCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU1LCA1NywgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NSwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTUsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA3MCwgNjUsIDU1LCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCAKLSAgICA1NSwgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTUsIDUyLCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU1LCA1MSwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NSwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTUsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA3MCwgNjUsIDU1LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCAKLSAgICA1NCwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTQsIDY3LCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU0LCA2NiwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NCwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTQsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA3MCwgNjUsIDU0LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCAKLSAgICA1NCwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTQsIDU0LCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU0LCA1MywgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NCwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTQsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA3MCwgNjUsIDU0LCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCAKLSAgICA1NCwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTQsIDQ4LCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUzLCA3MCwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MywgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTMsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA3MCwgNjUsIDUzLCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCAKLSAgICA1MywgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTMsIDY1LCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUzLCA1NywgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MywgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTMsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA3MCwgNjUsIDUzLCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCAKLSAgICA1MywgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTMsIDUyLCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUzLCA1MSwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MywgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTMsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA3MCwgNjUsIDUzLCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCAKLSAgICA1MiwgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTIsIDY5LCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUyLCA2OCwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MiwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTIsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA3MCwgNjUsIDUyLCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCAKLSAgICA1MiwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTIsIDU2LCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUyLCA1NSwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MiwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTIsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA3MCwgNjUsIDUyLCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCAKLSAgICA1MiwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTIsIDUwLCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUyLCA0OSwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MiwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTEsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA3MCwgNjUsIDUxLCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCAKLSAgICA1MSwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTEsIDY3LCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUxLCA2NiwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MSwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTEsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA3MCwgNjUsIDUxLCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCAKLSAgICA1MSwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTEsIDU0LCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUxLCA1MywgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MSwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTEsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA3MCwgNjUsIDUxLCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCAKLSAgICA1MSwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTEsIDQ4LCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUwLCA2OCwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MCwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTAsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA3MCwgNjUsIDUwLCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCAKLSAgICA1MCwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTAsIDU2LCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUwLCA1NSwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MCwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTAsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA3MCwgNjUsIDUwLCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCAKLSAgICA1MCwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTAsIDUwLCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUwLCA0OSwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MCwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNDksIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA3MCwgNjUsIDQ5LCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCAKLSAgICA0OSwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNDksIDY3LCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDQ5LCA2NiwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA0OSwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNDksIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA3MCwgNjUsIDQ5LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCAKLSAgICA0OSwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNDksIDU0LCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDQ5LCA1MywgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA0OSwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNDksIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA3MCwgNjUsIDQ5LCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCAKLSAgICA0OSwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNDksIDQ4LCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDQ4LCA3MCwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA0OCwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNDgsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA3MCwgNjUsIDQ4LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCAKLSAgICA0OCwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNDgsIDY1LCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDQ4LCA1NywgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA0OCwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNDgsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA3MCwgNjUsIDQ4LCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCAKLSAgICA0OCwgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNDgsIDUyLCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDQ4LCA1MSwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA0OCwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNDgsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA3MCwgNjUsIDQ4LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCAKLSAgICA3MCwgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNzAsIDY5LCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDcwLCA2OCwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA3MCwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNzAsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA3MCwgNTcsIDcwLCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCAKLSAgICA3MCwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNzAsIDU2LCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDcwLCA1NSwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA3MCwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNzAsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA3MCwgNTcsIDcwLCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCAKLSAgICA3MCwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNzAsIDUwLCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDcwLCA0OSwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA3MCwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjksIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA3MCwgNTcsIDY5LCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCAKLSAgICA2OSwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjksIDY3LCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY5LCA2NiwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2OSwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjksIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA3MCwgNTcsIDY5LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCAKLSAgICA2OSwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjksIDU0LCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY5LCA1MywgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2OSwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjksIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA3MCwgNTcsIDY5LCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCAKLSAgICA2OSwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjksIDQ4LCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY4LCA3MCwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2OCwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjgsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA3MCwgNTcsIDY4LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCAKLSAgICA2OCwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjgsIDY1LCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY4LCA1NywgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2OCwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjgsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA3MCwgNTcsIDY4LCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCAKLSAgICA2OCwgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjgsIDUyLCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY4LCA1MSwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2OCwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjgsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA3MCwgNTcsIDY4LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCAKLSAgICA2NywgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjcsIDY5LCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY3LCA2OCwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2NywgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjcsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA3MCwgNTcsIDY3LCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCAKLSAgICA2NywgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjcsIDU2LCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY3LCA1NSwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2NywgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjcsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA3MCwgNTcsIDY3LCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCAKLSAgICA2NywgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjcsIDUwLCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY3LCA0OSwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2NywgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjYsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA3MCwgNTcsIDY2LCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCAKLSAgICA2NiwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjYsIDY3LCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY2LCA2NiwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2NiwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjYsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA3MCwgNTcsIDY2LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCAKLSAgICA2NiwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjYsIDU0LCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY2LCA1MywgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2NiwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjYsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA3MCwgNTcsIDY2LCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCAKLSAgICA2NiwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjYsIDQ4LCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY1LCA3MCwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2NSwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjUsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA3MCwgNTcsIDY1LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCAKLSAgICA2NSwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjUsIDY1LCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY1LCA1NywgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2NSwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjUsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA3MCwgNTcsIDY1LCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCAKLSAgICA2NSwgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjUsIDUyLCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY1LCA1MSwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2NSwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjUsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA3MCwgNTcsIDY1LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCAKLSAgICA1NywgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTcsIDY5LCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU3LCA2OCwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NywgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTcsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA3MCwgNTcsIDU3LCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCAKLSAgICA1NywgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTcsIDU2LCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU3LCA1NSwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NywgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTcsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA3MCwgNTcsIDU3LCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCAKLSAgICA1NywgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTcsIDUwLCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU3LCA0OSwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NywgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTYsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA3MCwgNTcsIDU2LCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCAKLSAgICA1NiwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTYsIDY3LCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU2LCA2NiwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NiwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTYsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA3MCwgNTcsIDU2LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCAKLSAgICA1NiwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTYsIDU0LCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU2LCA1MywgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NiwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTYsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA3MCwgNTcsIDU2LCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCAKLSAgICA1NiwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTYsIDQ4LCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU1LCA3MCwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NSwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTUsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA3MCwgNTcsIDU1LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCAKLSAgICA1NSwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTUsIDY1LCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU1LCA1NywgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NSwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTUsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA3MCwgNTcsIDU1LCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCAKLSAgICA1NSwgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTUsIDUyLCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU1LCA1MSwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NSwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTUsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA3MCwgNTcsIDU1LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCAKLSAgICA1NCwgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTQsIDY5LCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU0LCA2OCwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NCwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTQsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA3MCwgNTcsIDU0LCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCAKLSAgICA1NCwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTQsIDU2LCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU0LCA1NSwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NCwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTQsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA3MCwgNTcsIDU0LCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCAKLSAgICA1NCwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTQsIDUwLCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU0LCA0OSwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NCwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTMsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA3MCwgNTcsIDUzLCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCAKLSAgICA1MywgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTMsIDY3LCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUzLCA2NiwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MywgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTMsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA3MCwgNTcsIDUzLCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCAKLSAgICA1MywgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTMsIDU0LCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUzLCA1MywgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MywgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTMsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA3MCwgNTcsIDUzLCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCAKLSAgICA1MywgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTMsIDQ4LCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUyLCA3MCwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MiwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTIsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA3MCwgNTcsIDUyLCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCAKLSAgICA1MiwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTIsIDY1LCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUyLCA1NywgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MiwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTIsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA3MCwgNTcsIDUyLCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCAKLSAgICA1MiwgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTIsIDUyLCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUyLCA1MSwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MiwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTIsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA3MCwgNTcsIDUyLCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCAKLSAgICA1MSwgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTEsIDY5LCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUxLCA2OCwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MSwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTEsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA3MCwgNTcsIDUxLCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCAKLSAgICA1MSwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTEsIDU2LCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUxLCA1NSwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MSwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTEsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA3MCwgNTcsIDUxLCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCAKLSAgICA1MSwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTEsIDUwLCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUxLCA0OSwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MSwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTAsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA3MCwgNTcsIDUwLCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCAKLSAgICA1MCwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTAsIDY3LCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUwLCA2NiwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MCwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTAsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA3MCwgNTcsIDUwLCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCAKLSAgICA1MCwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTAsIDU0LCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUwLCA1MywgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MCwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTAsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA3MCwgNTcsIDUwLCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCAKLSAgICA1MCwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTAsIDQ4LCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDQ5LCA3MCwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA0OSwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNDksIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA3MCwgNTcsIDQ5LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCAKLSAgICA0OSwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNDksIDY1LCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDQ5LCA1NywgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA0OSwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNDksIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA3MCwgNTcsIDQ5LCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCAKLSAgICA0OSwgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNDksIDUyLCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDQ5LCA1MSwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA0OSwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNDksIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA3MCwgNTcsIDQ5LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCAKLSAgICA0OCwgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNDgsIDY5LCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDQ4LCA2OCwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA0OCwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNDgsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA3MCwgNTcsIDQ4LCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCAKLSAgICA0OCwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNDgsIDU2LCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDQ4LCA1NSwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA0OCwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNDgsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA3MCwgNTcsIDQ4LCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCAKLSAgICA0OCwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNDgsIDUwLCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDQ4LCA0OSwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA0OCwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDU3LCA0OCwgNTIsIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA1NiwgNjgsIDU1LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTYsIDY3LCAKLSAgICA2NSwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDU2LCA1NywgNjksIDUxLCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1NSwgNjgsIDUyLCA1MCwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTUsIDY1LCA1NSwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDU1LCA1NywgNTYsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA1NSwgNTQsIDY4LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTUsIDUzLCAKLSAgICA1MSwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDU1LCA1MywgNDksIDcwLCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1NSwgNDksIDUwLCA0OSwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTUsIDQ4LCA2NiwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDU0LCA3MCwgNDksIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA1NCwgNjksIDU2LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTQsIDU1LCAKLSAgICA1MCwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDU0LCA1NSwgNDgsIDU3LCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1NCwgNTUsIDQ4LCA1NiwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTQsIDU0LCA1MCwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDU0LCA1MywgNjYsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA1NCwgNTMsIDU3LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTQsIDUzLCAKLSAgICA1MywgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDU0LCA1MSwgNTMsIDUzLCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1NCwgNTEsIDQ4LCA1NSwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTQsIDUwLCA1NywgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDU0LCA1MCwgNTMsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA1NCwgNTAsIDUyLCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTMsIDcwLCAKLSAgICA1NiwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUzLCA2OCwgNjksIDU0LCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MywgNjYsIDU2LCA1NywgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTMsIDY2LCA1MywgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDUzLCA1NywgNTAsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA1MywgNTcsIDQ5LCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTMsIDU2LCAKLSAgICA3MCwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUzLCA1MywgNjYsIDU0LCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MywgNTIsIDUxLCA1NywgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTMsIDUyLCA0OCwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDUzLCA1MSwgNzAsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA1MywgNTEsIDY3LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTMsIDUwLCAKLSAgICA2OCwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUzLCA1MCwgNTUsIDUwLCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MywgNTAsIDUyLCA2OCwgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTMsIDUwLCA0OSwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDUzLCA0OSwgNTYsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIAotICAgIDQ1LCA1MiwgNjksIDY1LCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTIsIDY5LCAKLSAgICA1NiwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUyLCA2OSwgNTAsIDY4LCAxMjgsIAotICAgIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MiwgNjksIDQ4LCA1NywgMTI4LCA3MywgNjgsIDY5LCAKLSAgICA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTIsIDY5LCA0OCwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNjUsIDQ5LCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIAotICAgIDcyLCA0NSwgNTAsIDcwLCA2NSwgNDksIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA1MCwgNzAsIDY1LCA0OSwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgCi0gICAgNjUsIDQ5LCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA2NSwgNDksIAotICAgIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDY1LCA0OSwgNTYsIDEyOCwgCi0gICAgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNjUsIDQ5LCA1NSwgMTI4LCA3MywgNjgsIAotICAgIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA2NSwgNDksIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKLSAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDY1LCA0OSwgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNjUsIDQ5LCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIAotICAgIDcyLCA0NSwgNTAsIDcwLCA2NSwgNDksIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA1MCwgNzAsIDY1LCA0OSwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgCi0gICAgNjUsIDQ5LCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA2NSwgNDksIAotICAgIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDY1LCA0OCwgNzAsIDEyOCwgCi0gICAgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNjUsIDQ4LCA2OSwgMTI4LCA3MywgNjgsIAotICAgIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA2NSwgNDgsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKLSAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDY1LCA0OCwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNjUsIDQ4LCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIAotICAgIDcyLCA0NSwgNTAsIDcwLCA2NSwgNDgsIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA1MCwgNzAsIDY1LCA0OCwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgCi0gICAgNjUsIDQ4LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA2NSwgNDgsIAotICAgIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDY1LCA0OCwgNTQsIDEyOCwgCi0gICAgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNjUsIDQ4LCA1MywgMTI4LCA3MywgNjgsIAotICAgIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA2NSwgNDgsIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCAKLSAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDY1LCA0OCwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNjUsIDQ4LCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIAotICAgIDcyLCA0NSwgNTAsIDcwLCA2NSwgNDgsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA1MCwgNzAsIDY1LCA0OCwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgCi0gICAgNTcsIDcwLCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNzAsIAotICAgIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA3MCwgNjgsIDEyOCwgCi0gICAgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDcwLCA2NywgMTI4LCA3MywgNjgsIAotICAgIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNzAsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKLSAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA3MCwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDcwLCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIAotICAgIDcyLCA0NSwgNTAsIDcwLCA1NywgNzAsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA1MCwgNzAsIDU3LCA3MCwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgCi0gICAgNTcsIDcwLCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNzAsIAotICAgIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA3MCwgNTIsIDEyOCwgCi0gICAgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDcwLCA1MSwgMTI4LCA3MywgNjgsIAotICAgIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNzAsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCAKLSAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA3MCwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDcwLCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIAotICAgIDcyLCA0NSwgNTAsIDcwLCA1NywgNjksIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA1MCwgNzAsIDU3LCA2OSwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgCi0gICAgNTcsIDY5LCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjksIAotICAgIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2OSwgNjYsIDEyOCwgCi0gICAgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY5LCA2NSwgMTI4LCA3MywgNjgsIAotICAgIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjksIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKLSAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2OSwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY5LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIAotICAgIDcyLCA0NSwgNTAsIDcwLCA1NywgNjksIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA1MCwgNzAsIDU3LCA2OSwgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgCi0gICAgNTcsIDY5LCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjksIAotICAgIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2OSwgNTAsIDEyOCwgCi0gICAgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY5LCA0OSwgMTI4LCA3MywgNjgsIAotICAgIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjksIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKLSAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2OCwgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY4LCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIAotICAgIDcyLCA0NSwgNTAsIDcwLCA1NywgNjgsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA1MCwgNzAsIDU3LCA2OCwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgCi0gICAgNTcsIDY4LCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjgsIAotICAgIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2OCwgNTcsIDEyOCwgCi0gICAgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY4LCA1NiwgMTI4LCA3MywgNjgsIAotICAgIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjgsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKLSAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2OCwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY4LCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIAotICAgIDcyLCA0NSwgNTAsIDcwLCA1NywgNjgsIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA1MCwgNzAsIDU3LCA2OCwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgCi0gICAgNTcsIDY4LCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjgsIAotICAgIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2OCwgNDgsIDEyOCwgCi0gICAgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY3LCA3MCwgMTI4LCA3MywgNjgsIAotICAgIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjcsIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKLSAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NywgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY3LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIAotICAgIDcyLCA0NSwgNTAsIDcwLCA1NywgNjcsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA1MCwgNzAsIDU3LCA2NywgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgCi0gICAgNTcsIDY3LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjcsIAotICAgIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NywgNTUsIDEyOCwgCi0gICAgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY3LCA1NCwgMTI4LCA3MywgNjgsIAotICAgIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjcsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCAKLSAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NywgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY3LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIAotICAgIDcyLCA0NSwgNTAsIDcwLCA1NywgNjcsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA1MCwgNzAsIDU3LCA2NywgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgCi0gICAgNTcsIDY3LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjYsIAotICAgIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NiwgNjksIDEyOCwgCi0gICAgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY2LCA2OCwgMTI4LCA3MywgNjgsIAotICAgIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjYsIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKLSAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NiwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY2LCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIAotICAgIDcyLCA0NSwgNTAsIDcwLCA1NywgNjYsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA1MCwgNzAsIDU3LCA2NiwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgCi0gICAgNTcsIDY2LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjYsIAotICAgIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NiwgNTMsIDEyOCwgCi0gICAgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY2LCA1MiwgMTI4LCA3MywgNjgsIAotICAgIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjYsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCAKLSAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NiwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY2LCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIAotICAgIDcyLCA0NSwgNTAsIDcwLCA1NywgNjYsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA1MCwgNzAsIDU3LCA2NSwgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgCi0gICAgNTcsIDY1LCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjUsIAotICAgIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NSwgNjcsIDEyOCwgCi0gICAgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY1LCA2NiwgMTI4LCA3MywgNjgsIAotICAgIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjUsIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKLSAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NSwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY1LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIAotICAgIDcyLCA0NSwgNTAsIDcwLCA1NywgNjUsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA1MCwgNzAsIDU3LCA2NSwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgCi0gICAgNTcsIDY1LCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjUsIAotICAgIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NSwgNTEsIDEyOCwgCi0gICAgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY1LCA1MCwgMTI4LCA3MywgNjgsIAotICAgIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjUsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKLSAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NSwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU3LCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIAotICAgIDcyLCA0NSwgNTAsIDcwLCA1NywgNTcsIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA1MCwgNzAsIDU3LCA1NywgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgCi0gICAgNTcsIDU3LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTcsIAotICAgIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NywgNjUsIDEyOCwgCi0gICAgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU3LCA1NywgMTI4LCA3MywgNjgsIAotICAgIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTcsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKLSAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NywgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU3LCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIAotICAgIDcyLCA0NSwgNTAsIDcwLCA1NywgNTcsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA1MCwgNzAsIDU3LCA1NywgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgCi0gICAgNTcsIDU3LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTcsIAotICAgIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NywgNDksIDEyOCwgCi0gICAgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU3LCA0OCwgMTI4LCA3MywgNjgsIAotICAgIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTYsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCAKLSAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NiwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU2LCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIAotICAgIDcyLCA0NSwgNTAsIDcwLCA1NywgNTYsIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA1MCwgNzAsIDU3LCA1NiwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgCi0gICAgNTcsIDU2LCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTYsIAotICAgIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NiwgNTYsIDEyOCwgCi0gICAgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU2LCA1NSwgMTI4LCA3MywgNjgsIAotICAgIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTYsIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKLSAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NiwgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU2LCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIAotICAgIDcyLCA0NSwgNTAsIDcwLCA1NywgNTYsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA1MCwgNzAsIDU3LCA1NiwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgCi0gICAgNTcsIDU2LCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTYsIAotICAgIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NSwgNzAsIDEyOCwgCi0gICAgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU1LCA2OSwgMTI4LCA3MywgNjgsIAotICAgIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTUsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKLSAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NSwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU1LCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIAotICAgIDcyLCA0NSwgNTAsIDcwLCA1NywgNTUsIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA1MCwgNzAsIDU3LCA1NSwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgCi0gICAgNTcsIDU1LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTUsIAotICAgIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NSwgNTQsIDEyOCwgCi0gICAgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU1LCA1MywgMTI4LCA3MywgNjgsIAotICAgIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTUsIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCAKLSAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NSwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU1LCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIAotICAgIDcyLCA0NSwgNTAsIDcwLCA1NywgNTUsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA1MCwgNzAsIDU3LCA1NSwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgCi0gICAgNTcsIDU0LCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTQsIAotICAgIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NCwgNjgsIDEyOCwgCi0gICAgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU0LCA2NywgMTI4LCA3MywgNjgsIAotICAgIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTQsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKLSAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NCwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU0LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIAotICAgIDcyLCA0NSwgNTAsIDcwLCA1NywgNTQsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA1MCwgNzAsIDU3LCA1NCwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgCi0gICAgNTcsIDU0LCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTQsIAotICAgIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NCwgNTIsIDEyOCwgCi0gICAgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU0LCA1MSwgMTI4LCA3MywgNjgsIAotICAgIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTQsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCAKLSAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NCwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU0LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIAotICAgIDcyLCA0NSwgNTAsIDcwLCA1NywgNTMsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA1MCwgNzAsIDU3LCA1MywgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgCi0gICAgNTcsIDUzLCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTMsIAotICAgIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MywgNjYsIDEyOCwgCi0gICAgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUzLCA2NSwgMTI4LCA3MywgNjgsIAotICAgIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTMsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKLSAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MywgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUzLCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIAotICAgIDcyLCA0NSwgNTAsIDcwLCA1NywgNTMsIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA1MCwgNzAsIDU3LCA1MywgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgCi0gICAgNTcsIDUzLCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTMsIAotICAgIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MywgNTAsIDEyOCwgCi0gICAgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUzLCA0OSwgMTI4LCA3MywgNjgsIAotICAgIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTMsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKLSAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MiwgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUyLCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIAotICAgIDcyLCA0NSwgNTAsIDcwLCA1NywgNTIsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA1MCwgNzAsIDU3LCA1MiwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgCi0gICAgNTcsIDUyLCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTIsIAotICAgIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MiwgNTcsIDEyOCwgCi0gICAgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUyLCA1NiwgMTI4LCA3MywgNjgsIAotICAgIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTIsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKLSAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MiwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUyLCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIAotICAgIDcyLCA0NSwgNTAsIDcwLCA1NywgNTIsIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA1MCwgNzAsIDU3LCA1MiwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgCi0gICAgNTcsIDUyLCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTIsIAotICAgIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MiwgNDgsIDEyOCwgCi0gICAgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUxLCA3MCwgMTI4LCA3MywgNjgsIAotICAgIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTEsIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKLSAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MSwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUxLCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIAotICAgIDcyLCA0NSwgNTAsIDcwLCA1NywgNTEsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA1MCwgNzAsIDU3LCA1MSwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgCi0gICAgNTcsIDUxLCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTEsIAotICAgIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MSwgNTUsIDEyOCwgCi0gICAgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUxLCA1NCwgMTI4LCA3MywgNjgsIAotICAgIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTEsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCAKLSAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MSwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUxLCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIAotICAgIDcyLCA0NSwgNTAsIDcwLCA1NywgNTEsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA1MCwgNzAsIDU3LCA1MSwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgCi0gICAgNTcsIDUxLCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTAsIAotICAgIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MCwgNjksIDEyOCwgCi0gICAgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUwLCA2OCwgMTI4LCA3MywgNjgsIAotICAgIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTAsIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKLSAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MCwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUwLCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIAotICAgIDcyLCA0NSwgNTAsIDcwLCA1NywgNTAsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA1MCwgNzAsIDU3LCA1MCwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgCi0gICAgNTcsIDUwLCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTAsIAotICAgIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MCwgNTMsIDEyOCwgCi0gICAgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUwLCA1MiwgMTI4LCA3MywgNjgsIAotICAgIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTAsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCAKLSAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MCwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUwLCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIAotICAgIDcyLCA0NSwgNTAsIDcwLCA1NywgNTAsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA1MCwgNzAsIDU3LCA0OSwgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgCi0gICAgNTcsIDQ5LCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNDksIAotICAgIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA0OSwgNjcsIDEyOCwgCi0gICAgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDQ5LCA2NiwgMTI4LCA3MywgNjgsIAotICAgIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNDksIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKLSAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA0OSwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDQ5LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIAotICAgIDcyLCA0NSwgNTAsIDcwLCA1NywgNDksIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA1MCwgNzAsIDU3LCA0OSwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgCi0gICAgNTcsIDQ5LCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNDksIAotICAgIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA0OSwgNTEsIDEyOCwgCi0gICAgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDQ5LCA1MCwgMTI4LCA3MywgNjgsIAotICAgIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNDksIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKLSAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA0OSwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDQ4LCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIAotICAgIDcyLCA0NSwgNTAsIDcwLCA1NywgNDgsIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA1MCwgNzAsIDU3LCA0OCwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgCi0gICAgNTcsIDQ4LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNDgsIAotICAgIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA0OCwgNjUsIDEyOCwgCi0gICAgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDQ4LCA1NywgMTI4LCA3MywgNjgsIAotICAgIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNDgsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKLSAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA0OCwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDQ4LCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIAotICAgIDcyLCA0NSwgNTAsIDcwLCA1NywgNDgsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA1MCwgNzAsIDU3LCA0OCwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgCi0gICAgNTcsIDQ4LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNDgsIAotICAgIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA0OCwgNDksIDEyOCwgCi0gICAgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDQ4LCA0OCwgMTI4LCA3MywgNjgsIAotICAgIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNzAsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCAKLSAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA3MCwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDcwLCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIAotICAgIDcyLCA0NSwgNTAsIDcwLCA1NiwgNzAsIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA1MCwgNzAsIDU2LCA3MCwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgCi0gICAgNTYsIDcwLCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNzAsIAotICAgIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA3MCwgNTYsIDEyOCwgCi0gICAgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDcwLCA1NSwgMTI4LCA3MywgNjgsIAotICAgIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNzAsIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKLSAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA3MCwgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDcwLCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIAotICAgIDcyLCA0NSwgNTAsIDcwLCA1NiwgNzAsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA1MCwgNzAsIDU2LCA3MCwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgCi0gICAgNTYsIDcwLCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNzAsIAotICAgIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2OSwgNzAsIDEyOCwgCi0gICAgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY5LCA2OSwgMTI4LCA3MywgNjgsIAotICAgIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjksIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKLSAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2OSwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY5LCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIAotICAgIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjksIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA1MCwgNzAsIDU2LCA2OSwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgCi0gICAgNTYsIDY5LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjksIAotICAgIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2OSwgNTQsIDEyOCwgCi0gICAgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY5LCA1MywgMTI4LCA3MywgNjgsIAotICAgIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjksIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCAKLSAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2OSwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY5LCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIAotICAgIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjksIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA1MCwgNzAsIDU2LCA2OSwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgCi0gICAgNTYsIDY4LCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjgsIAotICAgIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2OCwgNjgsIDEyOCwgCi0gICAgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY4LCA2NywgMTI4LCA3MywgNjgsIAotICAgIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjgsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKLSAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2OCwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY4LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIAotICAgIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjgsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA1MCwgNzAsIDU2LCA2OCwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgCi0gICAgNTYsIDY4LCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjgsIAotICAgIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2OCwgNTIsIDEyOCwgCi0gICAgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY4LCA1MSwgMTI4LCA3MywgNjgsIAotICAgIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjgsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCAKLSAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2OCwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY4LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIAotICAgIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjcsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA1MCwgNzAsIDU2LCA2NywgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgCi0gICAgNTYsIDY3LCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjcsIAotICAgIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NywgNjYsIDEyOCwgCi0gICAgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY3LCA2NSwgMTI4LCA3MywgNjgsIAotICAgIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjcsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKLSAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NywgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY3LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIAotICAgIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjcsIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA1MCwgNzAsIDU2LCA2NywgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgCi0gICAgNTYsIDY3LCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjcsIAotICAgIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NywgNTAsIDEyOCwgCi0gICAgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY3LCA0OSwgMTI4LCA3MywgNjgsIAotICAgIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjcsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKLSAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NiwgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY2LCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIAotICAgIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjYsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA1MCwgNzAsIDU2LCA2NiwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgCi0gICAgNTYsIDY2LCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjYsIAotICAgIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NiwgNTcsIDEyOCwgCi0gICAgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY2LCA1NiwgMTI4LCA3MywgNjgsIAotICAgIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjYsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKLSAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NiwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY2LCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIAotICAgIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjYsIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA1MCwgNzAsIDU2LCA2NiwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgCi0gICAgNTYsIDY2LCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjYsIAotICAgIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NiwgNDgsIDEyOCwgCi0gICAgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY1LCA3MCwgMTI4LCA3MywgNjgsIAotICAgIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjUsIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKLSAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NSwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY1LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIAotICAgIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjUsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA1MCwgNzAsIDU2LCA2NSwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgCi0gICAgNTYsIDY1LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjUsIAotICAgIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NSwgNTUsIDEyOCwgCi0gICAgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY1LCA1NCwgMTI4LCA3MywgNjgsIAotICAgIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjUsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCAKLSAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NSwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY1LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIAotICAgIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjUsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA1MCwgNzAsIDU2LCA2NSwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgCi0gICAgNTYsIDY1LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTcsIAotICAgIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NywgNjksIDEyOCwgCi0gICAgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU3LCA2OCwgMTI4LCA3MywgNjgsIAotICAgIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTcsIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKLSAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NywgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU3LCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIAotICAgIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTcsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA1MCwgNzAsIDU2LCA1NywgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgCi0gICAgNTYsIDU3LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTcsIAotICAgIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NywgNTMsIDEyOCwgCi0gICAgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU3LCA1MiwgMTI4LCA3MywgNjgsIAotICAgIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTcsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCAKLSAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NywgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU3LCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIAotICAgIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTcsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA1MCwgNzAsIDU2LCA1NiwgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgCi0gICAgNTYsIDU2LCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTYsIAotICAgIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NiwgNjcsIDEyOCwgCi0gICAgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU2LCA2NiwgMTI4LCA3MywgNjgsIAotICAgIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTYsIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKLSAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NiwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU2LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIAotICAgIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTYsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA1MCwgNzAsIDU2LCA1NiwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgCi0gICAgNTYsIDU2LCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTYsIAotICAgIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NiwgNTEsIDEyOCwgCi0gICAgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU2LCA1MCwgMTI4LCA3MywgNjgsIAotICAgIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTYsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKLSAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NiwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU1LCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIAotICAgIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTUsIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA1MCwgNzAsIDU2LCA1NSwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgCi0gICAgNTYsIDU1LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTUsIAotICAgIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NSwgNjUsIDEyOCwgCi0gICAgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU1LCA1NywgMTI4LCA3MywgNjgsIAotICAgIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTUsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKLSAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NSwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU1LCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIAotICAgIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTUsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA1MCwgNzAsIDU2LCA1NSwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgCi0gICAgNTYsIDU1LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTUsIAotICAgIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NSwgNDksIDEyOCwgCi0gICAgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU1LCA0OCwgMTI4LCA3MywgNjgsIAotICAgIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTQsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCAKLSAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NCwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU0LCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIAotICAgIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTQsIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA1MCwgNzAsIDU2LCA1NCwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgCi0gICAgNTYsIDU0LCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTQsIAotICAgIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NCwgNTYsIDEyOCwgCi0gICAgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU0LCA1NSwgMTI4LCA3MywgNjgsIAotICAgIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTQsIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKLSAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NCwgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU0LCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIAotICAgIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTQsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA1MCwgNzAsIDU2LCA1NCwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgCi0gICAgNTYsIDU0LCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTQsIAotICAgIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MywgNzAsIDEyOCwgCi0gICAgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUzLCA2OSwgMTI4LCA3MywgNjgsIAotICAgIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTMsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKLSAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MywgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUzLCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIAotICAgIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTMsIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA1MCwgNzAsIDU2LCA1MywgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgCi0gICAgNTYsIDUzLCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTMsIAotICAgIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MywgNTQsIDEyOCwgCi0gICAgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUzLCA1MywgMTI4LCA3MywgNjgsIAotICAgIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTMsIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCAKLSAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MywgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUzLCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIAotICAgIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTMsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA1MCwgNzAsIDU2LCA1MywgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgCi0gICAgNTYsIDUyLCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTIsIAotICAgIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MiwgNjgsIDEyOCwgCi0gICAgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUyLCA2NywgMTI4LCA3MywgNjgsIAotICAgIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTIsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKLSAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MiwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUyLCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIAotICAgIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTIsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA1MCwgNzAsIDU2LCA1MiwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgCi0gICAgNTYsIDUyLCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTIsIAotICAgIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MiwgNTIsIDEyOCwgCi0gICAgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUyLCA1MSwgMTI4LCA3MywgNjgsIAotICAgIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTIsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCAKLSAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MiwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUyLCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIAotICAgIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTEsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA1MCwgNzAsIDU2LCA1MSwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgCi0gICAgNTYsIDUxLCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTEsIAotICAgIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MSwgNjYsIDEyOCwgCi0gICAgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUxLCA2NSwgMTI4LCA3MywgNjgsIAotICAgIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTEsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKLSAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MSwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUxLCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIAotICAgIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTEsIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA1MCwgNzAsIDU2LCA1MSwgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgCi0gICAgNTYsIDUxLCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTEsIAotICAgIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MSwgNTAsIDEyOCwgCi0gICAgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUxLCA0OSwgMTI4LCA3MywgNjgsIAotICAgIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTEsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKLSAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MCwgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUwLCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIAotICAgIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTAsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA1MCwgNzAsIDU2LCA1MCwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgCi0gICAgNTYsIDUwLCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTAsIAotICAgIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MCwgNTcsIDEyOCwgCi0gICAgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUwLCA1NiwgMTI4LCA3MywgNjgsIAotICAgIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTAsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKLSAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MCwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUwLCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIAotICAgIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTAsIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA1MCwgNzAsIDU2LCA1MCwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgCi0gICAgNTYsIDUwLCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTAsIAotICAgIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MCwgNDgsIDEyOCwgCi0gICAgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDQ5LCA3MCwgMTI4LCA3MywgNjgsIAotICAgIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNDksIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKLSAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA0OSwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDQ5LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIAotICAgIDcyLCA0NSwgNTAsIDcwLCA1NiwgNDksIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA1MCwgNzAsIDU2LCA0OSwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgCi0gICAgNTYsIDQ5LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNDksIAotICAgIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA0OSwgNTUsIDEyOCwgCi0gICAgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDQ5LCA1NCwgMTI4LCA3MywgNjgsIAotICAgIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNDksIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCAKLSAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA0OSwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDQ5LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIAotICAgIDcyLCA0NSwgNTAsIDcwLCA1NiwgNDksIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA1MCwgNzAsIDU2LCA0OSwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgCi0gICAgNTYsIDQ5LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNDgsIAotICAgIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA0OCwgNjksIDEyOCwgCi0gICAgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDQ4LCA2OCwgMTI4LCA3MywgNjgsIAotICAgIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNDgsIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKLSAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA0OCwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDQ4LCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIAotICAgIDcyLCA0NSwgNTAsIDcwLCA1NiwgNDgsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCAKLSAgICA1MCwgNzAsIDU2LCA0OCwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgCi0gICAgNTYsIDQ4LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNDgsIAotICAgIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA0OCwgNTMsIDEyOCwgCi0gICAgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDQ4LCA1MiwgMTI4LCA3MywgNjgsIAotICAgIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNDgsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCAKLSAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA0OCwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgCi0gICAgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDQ4LCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIAotICAgIDcyLCA0NSwgNTAsIDcwLCA1NiwgNDgsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc4LCA4NCwgNzMsIDcwLCA3MywgNjcsIDY1LCAKLSAgICA4NCwgNzMsIDc5LCA3OCwgMTI4LCA3MywgNjgsIDY5LCA3OCwgODQsIDczLCA2NywgNjUsIDIwNCwgNzMsIDY3LCA3MiwgNzksIAotICAgIDg1LCAxMjgsIDczLCA2NywgNzIsIDc5LCA4MywgMTI4LCA3MywgNjcsIDcyLCA3MywgNzcsIDY1LCA4NCwgNzksIDgzLCAKLSAgICAxMjgsIDczLCA2NywgNzIsIDY1LCA2OCwgNzMsIDc4LCAxMjgsIDczLCA2NywgNjksIDc2LCA2NSwgNzgsIDY4LCA3MywgNjcsIAotICAgIDQ1LCA4OSwgODIsIDEyOCwgNzMsIDY2LCA3MywgNzAsIDczLCA3NiwgNzMsIDEyOCwgNzMsIDY1LCA4NSwgNjgsIDY1LCAKLSAgICAxMjgsIDczLCA0OCwgNDksIDUzLCAxMjgsIDczLCA0OCwgNDksIDUyLCAxMjgsIDczLCA0OCwgNDksIDUxLCAxMjgsIDczLCAKLSAgICA0OCwgNDksIDUwLCAxMjgsIDczLCA0OCwgNDksIDQ5LCA2NSwgMTI4LCA3MywgNDgsIDQ5LCA0OSwgMTI4LCA3MywgNDgsIAotICAgIDQ5LCA0OCwgNjUsIDEyOCwgNzMsIDQ4LCA0OSwgNDgsIDEyOCwgNzMsIDQ4LCA0OCwgNTcsIDY1LCAxMjgsIDczLCA0OCwgCi0gICAgNDgsIDU3LCAxMjgsIDczLCA0OCwgNDgsIDU2LCAxMjgsIDczLCA0OCwgNDgsIDU1LCAxMjgsIDczLCA0OCwgNDgsIDU0LCAKLSAgICAxMjgsIDczLCA0OCwgNDgsIDUzLCA2NSwgMTI4LCA3MywgNDgsIDQ4LCA1MywgMTI4LCA3MywgNDgsIDQ4LCA1MiwgMTI4LCAKLSAgICA3MywgNDgsIDQ4LCA1MSwgMTI4LCA3MywgNDgsIDQ4LCA1MCwgMTI4LCA3MywgNDgsIDQ4LCA0OSwgMTI4LCA3MywgNDUsIAotICAgIDg5LCA4NSwgMTI4LCA3MywgNDUsIDg5LCA3OSwgMTI4LCA3MywgNDUsIDg5LCA2OSwgNzksIDEyOCwgNzMsIDQ1LCA4OSwgCi0gICAgNjksIDEyOCwgNzMsIDQ1LCA4OSwgNjUsIDY5LCAxMjgsIDczLCA0NSwgODksIDY1LCA0NSwgNzksIDEyOCwgNzMsIDQ1LCAKLSAgICA4OSwgNjUsIDEyOCwgNzMsIDQ1LCA3OSwgNDUsIDczLCAxMjgsIDczLCA0NSwgNzksIDEyOCwgNzMsIDQ1LCA2OSwgODUsIAotICAgIDEyOCwgNzMsIDQ1LCA2NiwgNjksIDY1LCA3NywgMTI4LCA3MywgNDUsIDY1LCA4MiwgNjUsIDY5LCA2NSwgMTI4LCA3MywgCi0gICAgNDUsIDY1LCAxMjgsIDcyLCA5MCwgOTAsIDkwLCA3MSwgMTI4LCA3MiwgOTAsIDkwLCA5MCwgMTI4LCA3MiwgOTAsIDkwLCAKLSAgICA4MCwgMTI4LCA3MiwgOTAsIDkwLCAxMjgsIDcyLCA5MCwgODcsIDcxLCAxMjgsIDcyLCA5MCwgODcsIDEyOCwgNzIsIDkwLCAKLSAgICA4NCwgMTI4LCA3MiwgOTAsIDcxLCAxMjgsIDcyLCA4OSwgODMsIDg0LCA2OSwgODIsIDY5LCA4MywgNzMsIDIxMSwgNzIsIAotICAgIDg5LCA4MCwgNzksIDY4LCA3MywgNjUsIDgzLCA4NCwgNzksIDc2LCA2OSwgMTI4LCA3MiwgODksIDgwLCA3MiwgNjksIDc4LCAKLSAgICA2NSwgODQsIDczLCA3OSwgMjA2LCA3MiwgODksIDgwLCA3MiwgNjksIDc4LCA0NSwgNzcsIDczLCA3OCwgODUsIDgzLCAxMjgsIAotICAgIDcyLCA4OSwgODAsIDcyLCA2OSwgNzgsIDEyOCwgNzIsIDg5LCA4MCwgNzIsIDY5LCAyMDYsIDcyLCA4OCwgODcsIDcxLCAKLSAgICAxMjgsIDcyLCA4OCwgODUsIDc5LCA4OCwgMTI4LCA3MiwgODgsIDg1LCA3OSwgODQsIDEyOCwgNzIsIDg4LCA4NSwgNzksIAotICAgIDgwLCAxMjgsIDcyLCA4OCwgODUsIDc5LCAxMjgsIDcyLCA4OCwgNzksIDg4LCAxMjgsIDcyLCA4OCwgNzksIDg0LCAxMjgsIAotICAgIDcyLCA4OCwgNzksIDgwLCAxMjgsIDcyLCA4OCwgNzksIDEyOCwgNzIsIDg4LCA3MywgODgsIDEyOCwgNzIsIDg4LCA3MywgCi0gICAgODQsIDEyOCwgNzIsIDg4LCA3MywgODAsIDEyOCwgNzIsIDg4LCA3MywgNjksIDg4LCAxMjgsIDcyLCA4OCwgNzMsIDY5LCAKLSAgICA4NCwgMTI4LCA3MiwgODgsIDczLCA2OSwgODAsIDEyOCwgNzIsIDg4LCA3MywgNjksIDEyOCwgNzIsIDg4LCA3MywgMTI4LCAKLSAgICA3MiwgODgsIDY5LCA4OCwgMTI4LCA3MiwgODgsIDY5LCA4MCwgMTI4LCA3MiwgODgsIDY5LCAxMjgsIDcyLCA4OCwgNjUsIAotICAgIDg4LCAxMjgsIDcyLCA4OCwgNjUsIDg0LCAxMjgsIDcyLCA4OCwgNjUsIDgwLCAxMjgsIDcyLCA4OCwgNjUsIDEyOCwgNzIsIAotICAgIDg3LCA4NSwgMTI4LCA3MiwgODcsIDY1LCA3MywgODIsIDEyOCwgNzIsIDg2LCAxMjgsIDcyLCA4NSwgODIsIDY1LCA3OCwgCisgICAgNzcsIDgwLCA2OSwgODIsIDcwLCA2OSwgNjcsIDg0LCAxOTMsIDczLCA3NywgNzgsIDEyOCwgNzMsIDc3LCA3MywgODMsIDY5LCAKKyAgICA3OSwgMjExLCA3MywgNzcsIDczLCA3OCwgNTEsIDEyOCwgNzMsIDc3LCA3MywgNzgsIDEyOCwgNzMsIDc3LCA3MywgMjA2LCAKKyAgICA3MywgNzcsIDczLCA3MCwgODQsIDcyLCA3OSwgODIsIDc5LCA3OCwgMTI4LCA3MywgNzcsIDczLCA3MCwgODQsIDcyLCA3OSwgCisgICAgODIsIDY1LCAxMjgsIDczLCA3NywgNzMsIDcwLCA3OSwgNzgsIDc5LCA3OCwgMTI4LCA3MywgNzcsIDczLCA2OCwgNzMsIDY1LCAKKyAgICA4MiwgNzEsIDc5LCA3OCwgMTI4LCA3MywgNzcsIDY1LCA3MSwgMTk3LCA3MywgNzYsIDg1LCA4OSwgNjUsIDc4LCA3OCwgNjUsIAorICAgIDEyOCwgNzMsIDc2LCA4NSwgODksIDEyOCwgNzMsIDc2LCA4NSwgODUsIDg5LCA2NSwgNzgsIDc4LCA2NSwgMTI4LCA3MywgCisgICAgNzYsIDg1LCA4NCwgMTI4LCA3MywgNzYsIDczLCA3NywgNzcsIDg1LCA1MiwgMTI4LCA3MywgNzYsIDczLCA3NywgNzcsIDg1LCAKKyAgICA1MSwgMTI4LCA3MywgNzYsIDczLCA3NywgNzcsIDg1LCAxMjgsIDczLCA3NiwgNzMsIDc3LCA3NywgMjEzLCA3MywgNzYsIAorICAgIDUwLCAxMjgsIDczLCA3NSwgNjUsIDgyLCA2NSwgMTI4LCA3MywgNzUsIDY1LCA4MiwgMTkzLCA3MywgNzQsIDEyOCwgNzMsIAorICAgIDczLCA4OSwgNjUsIDc4LCA3OCwgNjUsIDEyOCwgNzMsIDcxLCA3MywgMTI4LCA3MywgNzEsIDIwMSwgNzMsIDcxLCA3MSwgCisgICAgODcsIDgzLCAxMjgsIDczLCA3MCwgNzMsIDc4LCAxMjgsIDczLCA2OSwgODUsIDc4LCA3MSwgNDUsIDg0LCA3MywgNzUsIDY5LCAKKyAgICA4NSwgODQsIDEyOCwgNzMsIDY5LCA4NSwgNzgsIDcxLCA0NSwgODQsIDcyLCA3MywgNjksIDg1LCA4NCwgNzIsIDEyOCwgNzMsIAorICAgIDY5LCA4NSwgNzgsIDcxLCA0NSwgODMsIDgzLCA2NSwgNzgsIDcxLCA3NSwgNzMsIDg5LCA2OSwgNzksIDc1LCAxMjgsIDczLCAKKyAgICA2OSwgODUsIDc4LCA3MSwgNDUsIDgyLCA3MywgNjksIDg1LCA3NiwgMTI4LCA3MywgNjksIDg1LCA3OCwgNzEsIDQ1LCA4MCwgCisgICAgNzMsIDY5LCA4NSwgODAsIDEyOCwgNzMsIDY5LCA4NSwgNzgsIDcxLCA0NSwgODAsIDcyLCA3MywgNjksIDg1LCA4MCwgNzIsIAorICAgIDEyOCwgNzMsIDY5LCA4NSwgNzgsIDcxLCA0NSwgNzUsIDczLCA4OSwgNjksIDc5LCA3NSwgMTI4LCA3MywgNjksIDg1LCA3OCwgCisgICAgNzEsIDQ1LCA3NSwgNzIsIDczLCA2OSwgODUsIDc1LCA3MiwgMTI4LCA3MywgNjksIDg1LCA3OCwgNzEsIDQ1LCA2NywgNzMsIAorICAgIDY5LCA4NSwgNjcsIDEyOCwgNzMsIDY5LCA4NSwgNzgsIDcxLCA0NSwgNjcsIDcyLCA3MywgNjksIDg1LCA2NywgNzIsIDEyOCwgCisgICAgNzMsIDY5LCA4NSwgNzgsIDE5OSwgNzMsIDY4LCA3NiwgNjksIDEyOCwgNzMsIDY4LCA3MywgNzcsIDEyOCwgNzMsIDY4LCAKKyAgICA3MywgMjA1LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2OCwgNTcsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjgsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY4LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDY1LCA2OCwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA2NSwgNjgsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY4LCAKKyAgICA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2OCwgNTEsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjgsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY4LCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDY1LCA2OCwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA2NSwgNjcsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY3LCAKKyAgICA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2NywgNjgsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjcsIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY3LCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDY1LCA2NywgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA2NSwgNjcsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY3LCAKKyAgICA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2NywgNTUsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjcsIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY3LCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDY1LCA2NywgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA2NSwgNjcsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY3LCAKKyAgICA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2NywgNDksIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjcsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY2LCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDY1LCA2NiwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA2NSwgNjYsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY2LCAKKyAgICA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2NiwgNjYsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjYsIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY2LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDY1LCA2NiwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA2NSwgNjYsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY2LCAKKyAgICA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2NiwgNTMsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjYsIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY2LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDY1LCA2NiwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA2NSwgNjYsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY2LCAKKyAgICA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2NSwgNzAsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjUsIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY1LCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDY1LCA2NSwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA2NSwgNjUsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY1LCAKKyAgICA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2NSwgNTcsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjUsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY1LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDY1LCA2NSwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA2NSwgNjUsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY1LCAKKyAgICA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA2NSwgNTEsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNjUsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDY1LCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDY1LCA2NSwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA2NSwgNTcsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU3LCAKKyAgICA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NywgNjgsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTcsIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU3LCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDY1LCA1NywgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA2NSwgNTcsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU3LCAKKyAgICA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NywgNTUsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTcsIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU3LCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDY1LCA1NywgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA2NSwgNTcsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU3LCAKKyAgICA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NywgNDksIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTcsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU2LCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDY1LCA1NiwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA2NSwgNTYsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU2LCAKKyAgICA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NiwgNjYsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTYsIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU2LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDY1LCA1NiwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA2NSwgNTYsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU2LCAKKyAgICA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NiwgNTMsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTYsIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU2LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDY1LCA1NiwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA2NSwgNTYsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU2LCAKKyAgICA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NSwgNzAsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTUsIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU1LCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDY1LCA1NSwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA2NSwgNTUsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU1LCAKKyAgICA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NSwgNTcsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTUsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU1LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDY1LCA1NSwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA2NSwgNTUsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU1LCAKKyAgICA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NSwgNTEsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTUsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU1LCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDY1LCA1NSwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA2NSwgNTQsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU0LCAKKyAgICA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NCwgNjYsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTQsIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU0LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDY1LCA1NCwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA2NSwgNTQsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU0LCAKKyAgICA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1NCwgNTMsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTQsIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU0LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDY1LCA1NCwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA2NSwgNTQsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDU0LCAKKyAgICA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MywgNzAsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTMsIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUzLCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDY1LCA1MywgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA2NSwgNTMsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUzLCAKKyAgICA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MywgNTcsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTMsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUzLCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDY1LCA1MywgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA2NSwgNTMsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUzLCAKKyAgICA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MywgNTEsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTMsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUzLCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDY1LCA1MywgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA2NSwgNTIsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUyLCAKKyAgICA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MiwgNjgsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTIsIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUyLCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDY1LCA1MiwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA2NSwgNTIsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUyLCAKKyAgICA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MiwgNTUsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTIsIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUyLCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDY1LCA1MiwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA2NSwgNTIsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUyLCAKKyAgICA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MiwgNDksIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTIsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUxLCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDY1LCA1MSwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA2NSwgNTEsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUxLCAKKyAgICA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MSwgNjYsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTEsIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUxLCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDY1LCA1MSwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA2NSwgNTEsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUxLCAKKyAgICA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MSwgNTMsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTEsIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUxLCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDY1LCA1MSwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA2NSwgNTEsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUxLCAKKyAgICA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MCwgNzAsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTAsIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUwLCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDY1LCA1MCwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA2NSwgNTAsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUwLCAKKyAgICA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MCwgNTcsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTAsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUwLCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDY1LCA1MCwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA2NSwgNTAsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUwLCAKKyAgICA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA1MCwgNTEsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNTAsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDUwLCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDY1LCA1MCwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA2NSwgNDksIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDQ5LCAKKyAgICA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA0OSwgNjgsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNDksIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDQ5LCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDY1LCA0OSwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA2NSwgNDksIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDQ5LCAKKyAgICA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA0OSwgNTUsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNDksIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDQ5LCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDY1LCA0OSwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA2NSwgNDksIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDQ5LCAKKyAgICA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA0OSwgNDksIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNDksIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDQ4LCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDY1LCA0OCwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA2NSwgNDgsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDQ4LCAKKyAgICA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA0OCwgNjYsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNDgsIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDQ4LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDY1LCA0OCwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA2NSwgNDgsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDQ4LCAKKyAgICA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDY1LCA0OCwgNTMsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA2NSwgNDgsIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDQ4LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDY1LCA0OCwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA2NSwgNDgsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNjUsIDQ4LCAKKyAgICA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA3MCwgNzAsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNzAsIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDcwLCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA3MCwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNzAsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDcwLCAKKyAgICA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA3MCwgNTcsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNzAsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDcwLCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA3MCwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNzAsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDcwLCAKKyAgICA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA3MCwgNTEsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNzAsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDcwLCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA3MCwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNjksIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY5LCAKKyAgICA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2OSwgNjgsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjksIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY5LCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA2OSwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNjksIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY5LCAKKyAgICA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2OSwgNTUsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjksIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY5LCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA2OSwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNjksIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY5LCAKKyAgICA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2OSwgNDksIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjksIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY4LCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA2OCwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNjgsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY4LCAKKyAgICA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2OCwgNjYsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjgsIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY4LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA2OCwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNjgsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY4LCAKKyAgICA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2OCwgNTMsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjgsIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY4LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA2OCwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNjgsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY4LCAKKyAgICA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2NywgNzAsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjcsIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY3LCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA2NywgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNjcsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY3LCAKKyAgICA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2NywgNTcsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjcsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY3LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA2NywgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNjcsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY3LCAKKyAgICA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2NywgNTEsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjcsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY3LCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA2NywgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNjYsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY2LCAKKyAgICA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2NiwgNjgsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjYsIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY2LCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA2NiwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNjYsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY2LCAKKyAgICA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2NiwgNTUsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjYsIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY2LCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA2NiwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNjYsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY2LCAKKyAgICA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2NiwgNDksIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjYsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY1LCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA2NSwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNjUsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY1LCAKKyAgICA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2NSwgNjYsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjUsIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY1LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA2NSwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNjUsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY1LCAKKyAgICA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA2NSwgNTMsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNjUsIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY1LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA2NSwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNjUsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDY1LCAKKyAgICA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NywgNzAsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTcsIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU3LCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA1NywgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNTcsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU3LCAKKyAgICA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NywgNTcsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTcsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU3LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA1NywgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNTcsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU3LCAKKyAgICA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NywgNTEsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTcsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU3LCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA1NywgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNTYsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU2LCAKKyAgICA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NiwgNjgsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTYsIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU2LCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA1NiwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNTYsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU2LCAKKyAgICA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NiwgNTUsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTYsIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU2LCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA1NiwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNTYsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU2LCAKKyAgICA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NiwgNDksIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTYsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU1LCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA1NSwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNTUsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU1LCAKKyAgICA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NSwgNjYsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTUsIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU1LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA1NSwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNTUsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU1LCAKKyAgICA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NSwgNTMsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTUsIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU1LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA1NSwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNTUsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU1LCAKKyAgICA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NCwgNzAsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTQsIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU0LCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA1NCwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNTQsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU0LCAKKyAgICA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NCwgNTcsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTQsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU0LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA1NCwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNTQsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU0LCAKKyAgICA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1NCwgNTEsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTQsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDU0LCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA1NCwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNTMsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUzLCAKKyAgICA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MywgNjgsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTMsIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUzLCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA1MywgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNTMsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUzLCAKKyAgICA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MywgNTUsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTMsIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUzLCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA1MywgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNTMsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUzLCAKKyAgICA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MywgNDksIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTMsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUyLCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA1MiwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNTIsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUyLCAKKyAgICA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MiwgNjYsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTIsIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUyLCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA1MiwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNTIsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUyLCAKKyAgICA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MiwgNTMsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTIsIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUyLCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA1MiwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNTIsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUyLCAKKyAgICA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MSwgNzAsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTEsIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUxLCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA1MSwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNTEsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUxLCAKKyAgICA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MSwgNTcsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTEsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUxLCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA1MSwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNTEsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUxLCAKKyAgICA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MSwgNTEsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTEsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUxLCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA1MSwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNTAsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUwLCAKKyAgICA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MCwgNjgsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTAsIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUwLCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA1MCwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNTAsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUwLCAKKyAgICA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MCwgNTUsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTAsIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUwLCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA1MCwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNTAsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDUwLCAKKyAgICA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA1MCwgNDksIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNTAsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDQ5LCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA0OSwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNDksIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDQ5LCAKKyAgICA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA0OSwgNjYsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNDksIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDQ5LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA0OSwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNDksIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDQ5LCAKKyAgICA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA0OSwgNTMsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNDksIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDQ5LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA0OSwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNDksIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDQ5LCAKKyAgICA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA0OCwgNzAsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNDgsIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDQ4LCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA0OCwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNDgsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDQ4LCAKKyAgICA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA0OCwgNTcsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNDgsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDQ4LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA0OCwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDcwLCA1NywgNDgsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDQ4LCAKKyAgICA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNzAsIDU3LCA0OCwgNTEsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDcwLCA1NywgNDgsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA3MCwgNTcsIDQ4LCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNzAsIDU3LCA0OCwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDU3LCA0OCwgNTIsIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1NiwgNjgsIDU1LCAKKyAgICA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTYsIDY3LCA2NSwgNTcsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDU2LCA1NywgNjksIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1NSwgNjgsIDUyLCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNTUsIDY1LCA1NSwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDU1LCA1NywgNTYsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1NSwgNTQsIDY4LCAKKyAgICA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTUsIDUzLCA1MSwgNTEsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDU1LCA1MywgNDksIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1NSwgNDksIDUwLCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNTUsIDQ4LCA2NiwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDU0LCA3MCwgNDksIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1NCwgNjksIDU2LCAKKyAgICA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTQsIDU1LCA1MCwgNjcsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDU0LCA1NSwgNDgsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1NCwgNTUsIDQ4LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNTQsIDU0LCA1MCwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDU0LCA1MywgNjYsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1NCwgNTMsIDU3LCAKKyAgICA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTQsIDUzLCA1MywgNTUsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDU0LCA1MSwgNTMsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1NCwgNTEsIDQ4LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNTQsIDUwLCA1NywgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDU0LCA1MCwgNTMsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1NCwgNTAsIDUyLCAKKyAgICA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTMsIDcwLCA1NiwgNjcsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUzLCA2OCwgNjksIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MywgNjYsIDU2LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNTMsIDY2LCA1MywgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUzLCA1NywgNTAsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MywgNTcsIDQ5LCAKKyAgICA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTMsIDU2LCA3MCwgNDgsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUzLCA1MywgNjYsIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MywgNTIsIDUxLCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNTMsIDUyLCA0OCwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUzLCA1MSwgNzAsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MywgNTEsIDY3LCAKKyAgICA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTMsIDUwLCA2OCwgNjgsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUzLCA1MCwgNTUsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MywgNTAsIDUyLCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNTMsIDUwLCA0OSwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUzLCA0OSwgNTYsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MiwgNjksIDY1LCAKKyAgICA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTIsIDY5LCA1NiwgNjcsIDEyOCwgNzMsIAorICAgIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUyLCA2OSwgNTAsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCAKKyAgICA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MiwgNjksIDQ4LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgCisgICAgODAsIDcyLCA0NSwgNTIsIDY5LCA0OCwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNjUsIDQ5LCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA2NSwgNDksIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDY1LCA0OSwgCisgICAgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNjUsIDQ5LCA2NSwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA2NSwgNDksIDU3LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDY1LCA0OSwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNjUsIDQ5LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA2NSwgNDksIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDY1LCA0OSwgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNjUsIDQ5LCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA2NSwgNDksIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDY1LCA0OSwgCisgICAgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNjUsIDQ5LCA0OSwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA2NSwgNDksIDQ4LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDY1LCA0OCwgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNjUsIDQ4LCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA2NSwgNDgsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDY1LCA0OCwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNjUsIDQ4LCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA2NSwgNDgsIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDY1LCA0OCwgCisgICAgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNjUsIDQ4LCA1NiwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA2NSwgNDgsIDU1LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDY1LCA0OCwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNjUsIDQ4LCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA2NSwgNDgsIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDY1LCA0OCwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNjUsIDQ4LCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA2NSwgNDgsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDY1LCA0OCwgCisgICAgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDcwLCA3MCwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNzAsIDY5LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA3MCwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDcwLCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNzAsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU3LCA3MCwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTcsIDcwLCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NywgNzAsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA3MCwgCisgICAgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDcwLCA1NCwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNzAsIDUzLCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA3MCwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDcwLCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNzAsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU3LCA3MCwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTcsIDcwLCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NywgNjksIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2OSwgCisgICAgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY5LCA2OCwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjksIDY3LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2OSwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY5LCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjksIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2OSwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTcsIDY5LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NywgNjksIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2OSwgCisgICAgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY5LCA1MiwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjksIDUxLCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2OSwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY5LCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjksIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2OCwgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTcsIDY4LCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NywgNjgsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2OCwgCisgICAgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY4LCA2NiwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjgsIDY1LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2OCwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY4LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjgsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2OCwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTcsIDY4LCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NywgNjgsIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2OCwgCisgICAgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY4LCA1MCwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjgsIDQ5LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2OCwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY3LCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjcsIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NywgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTcsIDY3LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NywgNjcsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NywgCisgICAgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY3LCA1NywgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjcsIDU2LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NywgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY3LCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjcsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NywgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTcsIDY3LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NywgNjcsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NywgCisgICAgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY3LCA0OCwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjYsIDcwLCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NiwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY2LCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjYsIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NiwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTcsIDY2LCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NywgNjYsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NiwgCisgICAgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY2LCA1NSwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjYsIDU0LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NiwgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY2LCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjYsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NiwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTcsIDY2LCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NywgNjYsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NSwgCisgICAgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY1LCA2OSwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjUsIDY4LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NSwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY1LCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjUsIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NSwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTcsIDY1LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NywgNjUsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NSwgCisgICAgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY1LCA1MywgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjUsIDUyLCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NSwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDY1LCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNjUsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU3LCA2NSwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTcsIDU3LCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NywgNTcsIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NywgCisgICAgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU3LCA2NywgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTcsIDY2LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NywgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU3LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTcsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NywgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTcsIDU3LCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NywgNTcsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NywgCisgICAgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU3LCA1MSwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTcsIDUwLCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NywgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU3LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTYsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NiwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTcsIDU2LCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NywgNTYsIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NiwgCisgICAgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU2LCA2NSwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTYsIDU3LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NiwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU2LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTYsIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NiwgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTcsIDU2LCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NywgNTYsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NiwgCisgICAgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU2LCA0OSwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTYsIDQ4LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NSwgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU1LCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTUsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NSwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTcsIDU1LCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NywgNTUsIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NSwgCisgICAgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU1LCA1NiwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTUsIDU1LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NSwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU1LCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTUsIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NSwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTcsIDU1LCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NywgNTUsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NSwgCisgICAgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU0LCA3MCwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTQsIDY5LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NCwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU0LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTQsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NCwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTcsIDU0LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NywgNTQsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NCwgCisgICAgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU0LCA1NCwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTQsIDUzLCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NCwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDU0LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTQsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1NCwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTcsIDU0LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NywgNTMsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MywgCisgICAgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUzLCA2OCwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTMsIDY3LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MywgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUzLCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTMsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MywgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTcsIDUzLCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NywgNTMsIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MywgCisgICAgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUzLCA1MiwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTMsIDUxLCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MywgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUzLCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTMsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MiwgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTcsIDUyLCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NywgNTIsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MiwgCisgICAgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUyLCA2NiwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTIsIDY1LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MiwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUyLCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTIsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MiwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTcsIDUyLCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NywgNTIsIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MiwgCisgICAgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUyLCA1MCwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTIsIDQ5LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MiwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUxLCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTEsIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MSwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTcsIDUxLCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NywgNTEsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MSwgCisgICAgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUxLCA1NywgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTEsIDU2LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MSwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUxLCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTEsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MSwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTcsIDUxLCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NywgNTEsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MSwgCisgICAgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUxLCA0OCwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTAsIDcwLCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MCwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUwLCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTAsIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MCwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTcsIDUwLCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NywgNTAsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MCwgCisgICAgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUwLCA1NSwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTAsIDU0LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MCwgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDUwLCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNTAsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU3LCA1MCwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTcsIDUwLCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NywgNTAsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA0OSwgCisgICAgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDQ5LCA2OSwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNDksIDY4LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA0OSwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDQ5LCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNDksIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU3LCA0OSwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTcsIDQ5LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NywgNDksIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA0OSwgCisgICAgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDQ5LCA1MywgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNDksIDUyLCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA0OSwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDQ5LCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNDksIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU3LCA0OSwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTcsIDQ4LCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NywgNDgsIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA0OCwgCisgICAgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDQ4LCA2NywgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNDgsIDY2LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA0OCwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDQ4LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNDgsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU3LCA0OCwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTcsIDQ4LCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NywgNDgsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA0OCwgCisgICAgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDQ4LCA1MSwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NywgNDgsIDUwLCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU3LCA0OCwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTcsIDQ4LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNzAsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU2LCA3MCwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTYsIDcwLCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NiwgNzAsIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA3MCwgCisgICAgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDcwLCA2NSwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNzAsIDU3LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA3MCwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDcwLCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNzAsIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU2LCA3MCwgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTYsIDcwLCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NiwgNzAsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA3MCwgCisgICAgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDcwLCA0OSwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNzAsIDQ4LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2OSwgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY5LCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjksIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2OSwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTYsIDY5LCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NiwgNjksIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2OSwgCisgICAgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY5LCA1NiwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjksIDU1LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2OSwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY5LCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjksIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2OSwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTYsIDY5LCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NiwgNjksIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2OSwgCisgICAgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY4LCA3MCwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjgsIDY5LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2OCwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY4LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjgsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2OCwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTYsIDY4LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NiwgNjgsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2OCwgCisgICAgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY4LCA1NCwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjgsIDUzLCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2OCwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY4LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjgsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2OCwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTYsIDY4LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NiwgNjcsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NywgCisgICAgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY3LCA2OCwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjcsIDY3LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NywgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY3LCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjcsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NywgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTYsIDY3LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NiwgNjcsIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NywgCisgICAgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY3LCA1MiwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjcsIDUxLCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NywgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY3LCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjcsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NiwgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTYsIDY2LCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NiwgNjYsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NiwgCisgICAgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY2LCA2NiwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjYsIDY1LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NiwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY2LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjYsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NiwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTYsIDY2LCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NiwgNjYsIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NiwgCisgICAgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY2LCA1MCwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjYsIDQ5LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NiwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY1LCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjUsIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NSwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTYsIDY1LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NiwgNjUsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NSwgCisgICAgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY1LCA1NywgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjUsIDU2LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NSwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY1LCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNjUsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NSwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTYsIDY1LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NiwgNjUsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA2NSwgCisgICAgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDY1LCA0OCwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTcsIDcwLCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NywgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU3LCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTcsIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NywgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTYsIDU3LCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NiwgNTcsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NywgCisgICAgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU3LCA1NSwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTcsIDU0LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NywgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU3LCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTcsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NywgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTYsIDU3LCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NiwgNTcsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NiwgCisgICAgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU2LCA2OSwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTYsIDY4LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NiwgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU2LCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTYsIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NiwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTYsIDU2LCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NiwgNTYsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NiwgCisgICAgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU2LCA1MywgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTYsIDUyLCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NiwgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU2LCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTYsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NiwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTYsIDU1LCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NiwgNTUsIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NSwgCisgICAgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU1LCA2NywgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTUsIDY2LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NSwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU1LCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTUsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NSwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTYsIDU1LCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NiwgNTUsIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NSwgCisgICAgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU1LCA1MSwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTUsIDUwLCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NSwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU1LCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTQsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NCwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTYsIDU0LCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NiwgNTQsIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NCwgCisgICAgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU0LCA2NSwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTQsIDU3LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NCwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU0LCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTQsIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NCwgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTYsIDU0LCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NiwgNTQsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1NCwgCisgICAgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDU0LCA0OSwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTQsIDQ4LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MywgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUzLCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTMsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MywgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTYsIDUzLCA2NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NiwgNTMsIDY1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MywgCisgICAgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUzLCA1NiwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTMsIDU1LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MywgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUzLCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTMsIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MywgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTYsIDUzLCA1MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NiwgNTMsIDQ5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MywgCisgICAgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUyLCA3MCwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTIsIDY5LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MiwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUyLCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTIsIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MiwgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTYsIDUyLCA1NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NiwgNTIsIDU2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MiwgCisgICAgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUyLCA1NCwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTIsIDUzLCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MiwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUyLCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTIsIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MiwgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTYsIDUyLCA0OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NiwgNTEsIDcwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MSwgCisgICAgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUxLCA2OCwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTEsIDY3LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MSwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUxLCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTEsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MSwgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTYsIDUxLCA1NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NiwgNTEsIDU0LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MSwgCisgICAgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUxLCA1MiwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTEsIDUxLCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MSwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUxLCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTEsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MCwgNzAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTYsIDUwLCA2OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NiwgNTAsIDY4LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MCwgCisgICAgNjcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUwLCA2NiwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTAsIDY1LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MCwgNTcsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUwLCA1NiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTAsIDU1LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MCwgNTQsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTYsIDUwLCA1MywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NiwgNTAsIDUyLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MCwgCisgICAgNTEsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDUwLCA1MCwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNTAsIDQ5LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA1MCwgNDgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDQ5LCA3MCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNDksIDY5LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU2LCA0OSwgNjgsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTYsIDQ5LCA2NywgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NiwgNDksIDY2LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA0OSwgCisgICAgNjUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDQ5LCA1NywgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNDksIDU2LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA0OSwgNTUsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDQ5LCA1NCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNDksIDUzLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU2LCA0OSwgNTIsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTYsIDQ5LCA1MSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NiwgNDksIDUwLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA0OSwgCisgICAgNDksIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDQ5LCA0OCwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNDgsIDcwLCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA0OCwgNjksIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDQ4LCA2OCwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNDgsIDY3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU2LCA0OCwgNjYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTYsIDQ4LCA2NSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NiwgNDgsIDU3LCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA0OCwgCisgICAgNTYsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDQ4LCA1NSwgMTI4LCAKKyAgICA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNDgsIDU0LCAxMjgsIDczLCA2OCwgCisgICAgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgNzIsIDQ1LCA1MCwgNzAsIDU2LCA0OCwgNTMsIDEyOCwgNzMsIDY4LCA2OSwgNzksIAorICAgIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIDUwLCA3MCwgNTYsIDQ4LCA1MiwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCAKKyAgICA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCA1NiwgNDgsIDUxLCAxMjgsIDczLCA2OCwgNjksIDc5LCA3MSwgODIsIDY1LCA4MCwgCisgICAgNzIsIDQ1LCA1MCwgNzAsIDU2LCA0OCwgNTAsIDEyOCwgNzMsIDY4LCA2OSwgNzksIDcxLCA4MiwgNjUsIDgwLCA3MiwgNDUsIAorICAgIDUwLCA3MCwgNTYsIDQ4LCA0OSwgMTI4LCA3MywgNjgsIDY5LCA3OSwgNzEsIDgyLCA2NSwgODAsIDcyLCA0NSwgNTAsIDcwLCAKKyAgICA1NiwgNDgsIDQ4LCAxMjgsIDczLCA2OCwgNjksIDc4LCA4NCwgNzMsIDcwLCA3MywgNjcsIDY1LCA4NCwgNzMsIDc5LCA3OCwgCisgICAgMTI4LCA3MywgNjgsIDY5LCA3OCwgODQsIDczLCA2NywgNjUsIDIwNCwgNzMsIDY3LCA3MiwgNzksIDg1LCAxMjgsIDczLCAKKyAgICA2NywgNzIsIDc5LCA4MywgMTI4LCA3MywgNjcsIDcyLCA3MywgNzcsIDY1LCA4NCwgNzksIDgzLCAxMjgsIDczLCA2NywgNzIsIAorICAgIDY1LCA2OCwgNzMsIDc4LCAxMjgsIDczLCA2NywgNjksIDc2LCA2NSwgNzgsIDY4LCA3MywgNjcsIDQ1LCA4OSwgODIsIDEyOCwgCisgICAgNzMsIDY2LCA3MywgNzAsIDczLCA3NiwgNzMsIDEyOCwgNzMsIDY1LCA4NSwgNjgsIDY1LCAxMjgsIDczLCA0OCwgNDksIDUzLCAKKyAgICAxMjgsIDczLCA0OCwgNDksIDUyLCAxMjgsIDczLCA0OCwgNDksIDUxLCAxMjgsIDczLCA0OCwgNDksIDUwLCAxMjgsIDczLCAKKyAgICA0OCwgNDksIDQ5LCA2NSwgMTI4LCA3MywgNDgsIDQ5LCA0OSwgMTI4LCA3MywgNDgsIDQ5LCA0OCwgNjUsIDEyOCwgNzMsIAorICAgIDQ4LCA0OSwgNDgsIDEyOCwgNzMsIDQ4LCA0OCwgNTcsIDY1LCAxMjgsIDczLCA0OCwgNDgsIDU3LCAxMjgsIDczLCA0OCwgCisgICAgNDgsIDU2LCAxMjgsIDczLCA0OCwgNDgsIDU1LCAxMjgsIDczLCA0OCwgNDgsIDU0LCAxMjgsIDczLCA0OCwgNDgsIDUzLCAKKyAgICA2NSwgMTI4LCA3MywgNDgsIDQ4LCA1MywgMTI4LCA3MywgNDgsIDQ4LCA1MiwgMTI4LCA3MywgNDgsIDQ4LCA1MSwgMTI4LCAKKyAgICA3MywgNDgsIDQ4LCA1MCwgMTI4LCA3MywgNDgsIDQ4LCA0OSwgMTI4LCA3MywgNDUsIDg5LCA4NSwgMTI4LCA3MywgNDUsIAorICAgIDg5LCA3OSwgMTI4LCA3MywgNDUsIDg5LCA2OSwgNzksIDEyOCwgNzMsIDQ1LCA4OSwgNjksIDEyOCwgNzMsIDQ1LCA4OSwgCisgICAgNjUsIDY5LCAxMjgsIDczLCA0NSwgODksIDY1LCA0NSwgNzksIDEyOCwgNzMsIDQ1LCA4OSwgNjUsIDEyOCwgNzMsIDQ1LCAKKyAgICA3OSwgNDUsIDczLCAxMjgsIDczLCA0NSwgNzksIDEyOCwgNzMsIDQ1LCA2OSwgODUsIDEyOCwgNzMsIDQ1LCA2NiwgNjksIAorICAgIDY1LCA3NywgMTI4LCA3MywgNDUsIDY1LCA4MiwgNjUsIDY5LCA2NSwgMTI4LCA3MywgNDUsIDY1LCAxMjgsIDcyLCA5MCwgCisgICAgOTAsIDkwLCA3MSwgMTI4LCA3MiwgOTAsIDkwLCA5MCwgMTI4LCA3MiwgOTAsIDkwLCA4MCwgMTI4LCA3MiwgOTAsIDkwLCAKKyAgICAxMjgsIDcyLCA5MCwgODcsIDcxLCAxMjgsIDcyLCA5MCwgODcsIDEyOCwgNzIsIDkwLCA4NCwgMTI4LCA3MiwgOTAsIDcxLCAKKyAgICAxMjgsIDcyLCA4OSwgODMsIDg0LCA2OSwgODIsIDY5LCA4MywgNzMsIDIxMSwgNzIsIDg5LCA4MCwgNzksIDY4LCA3MywgNjUsIAorICAgIDgzLCA4NCwgNzksIDc2LCA2OSwgMTI4LCA3MiwgODksIDgwLCA3MiwgNjksIDc4LCA2NSwgODQsIDczLCA3OSwgMjA2LCA3MiwgCisgICAgODksIDgwLCA3MiwgNjksIDc4LCA0NSwgNzcsIDczLCA3OCwgODUsIDgzLCAxMjgsIDcyLCA4OSwgODAsIDcyLCA2OSwgNzgsIAorICAgIDEyOCwgNzIsIDg5LCA4MCwgNzIsIDY5LCAyMDYsIDcyLCA4OCwgODcsIDcxLCAxMjgsIDcyLCA4OCwgODUsIDc5LCA4OCwgCisgICAgMTI4LCA3MiwgODgsIDg1LCA3OSwgODQsIDEyOCwgNzIsIDg4LCA4NSwgNzksIDgwLCAxMjgsIDcyLCA4OCwgODUsIDc5LCAKKyAgICAxMjgsIDcyLCA4OCwgNzksIDg4LCAxMjgsIDcyLCA4OCwgNzksIDg0LCAxMjgsIDcyLCA4OCwgNzksIDgwLCAxMjgsIDcyLCAKKyAgICA4OCwgNzksIDEyOCwgNzIsIDg4LCA3MywgODgsIDEyOCwgNzIsIDg4LCA3MywgODQsIDEyOCwgNzIsIDg4LCA3MywgODAsIAorICAgIDEyOCwgNzIsIDg4LCA3MywgNjksIDg4LCAxMjgsIDcyLCA4OCwgNzMsIDY5LCA4NCwgMTI4LCA3MiwgODgsIDczLCA2OSwgCisgICAgODAsIDEyOCwgNzIsIDg4LCA3MywgNjksIDEyOCwgNzIsIDg4LCA3MywgMTI4LCA3MiwgODgsIDY5LCA4OCwgMTI4LCA3MiwgCisgICAgODgsIDY5LCA4MCwgMTI4LCA3MiwgODgsIDY5LCAxMjgsIDcyLCA4OCwgNjUsIDg4LCAxMjgsIDcyLCA4OCwgNjUsIDg0LCAKKyAgICAxMjgsIDcyLCA4OCwgNjUsIDgwLCAxMjgsIDcyLCA4OCwgNjUsIDEyOCwgNzIsIDg3LCA4NSwgMTI4LCA3MiwgODcsIDY1LCAKKyAgICA3MywgODIsIDEyOCwgNzIsIDg2LCAxMjgsIDcyLCA4NSwgODMsIDcyLCA2OSwgMTk2LCA3MiwgODUsIDgyLCA2NSwgNzgsIAogICAgIDEyOCwgNzIsIDg1LCA3OSwgODQsIDEyOCwgNzIsIDg1LCA3OCwgNjgsIDgyLCA2OSwgNjgsIDEyOCwgNzIsIDg1LCA3OCwgCiAgICAgNjgsIDgyLCA2OSwgMTk2LCA3MiwgODUsIDc4LCAxMjgsIDcyLCA4NSwgNzcsIDY1LCA3OCwgMTI4LCA3MiwgODUsIDc3LCAKICAgICA2NSwgMjA2LCA3MiwgODUsIDc2LCA1MCwgMTI4LCA3MiwgODUsIDczLCA3MywgODQsIDc5LCAxMjgsIDcyLCA4NSwgNjYsIAogICAgIDUwLCAxMjgsIDcyLCA4NSwgNjYsIDE3OCwgNzIsIDg1LCA2NiwgMTI4LCA3MiwgODUsIDY1LCA4MiwgNjUsIDY4LCA2OCwgCi0gICAgNzksIDEyOCwgNzIsIDgyLCA4OSwgODYsIDc4LCA3MywgMTkzLCA3MiwgODAsIDg3LCA3MSwgMTI4LCA3MiwgODAsIDY1LCAKLSAgICAxMjgsIDcyLCA4MCwgMTI4LCA3MiwgNzksIDg1LCA4MywgMTk3LCA3MiwgNzksIDg1LCA4MiwgNzEsIDc2LCA2NSwgODMsIAotICAgIDgzLCAxMjgsIDcyLCA3OSwgODUsIDgyLCA3MSwgNzYsIDY1LCA4MywgMjExLCA3MiwgNzksIDg1LCA4MiwgMTI4LCA3MiwgCi0gICAgNzksIDg1LCAyMTAsIDcyLCA3OSwgODQsIDY5LCA3NiwgMTI4LCA3MiwgNzksIDg0LCA2NSwgMTI4LCA3MiwgNzksIDgzLCAKLSAgICA4MCwgNzMsIDg0LCA2NSwgNzYsIDEyOCwgNzIsIDc5LCA4MiwgODMsIDY5LCAxMjgsIDcyLCA3OSwgODIsIDgzLCAxOTcsIAotICAgIDcyLCA3OSwgODIsIDc4LCA4MywgMTI4LCA3MiwgNzksIDgyLCA3MywgOTAsIDc5LCA3OCwgODQsIDY1LCA3NiwgNzYsIDIxNywgCi0gICAgNzIsIDc5LCA4MiwgNzMsIDkwLCA3OSwgNzgsIDg0LCA2NSwgNzYsIDQ1LCA0OCwgNTQsIDQ1LCA0OCwgNTQsIDEyOCwgNzIsIAotICAgIDc5LCA4MiwgNzMsIDkwLCA3OSwgNzgsIDg0LCA2NSwgNzYsIDQ1LCA0OCwgNTQsIDQ1LCA0OCwgNTMsIDEyOCwgNzIsIDc5LCAKLSAgICA4MiwgNzMsIDkwLCA3OSwgNzgsIDg0LCA2NSwgNzYsIDQ1LCA0OCwgNTQsIDQ1LCA0OCwgNTIsIDEyOCwgNzIsIDc5LCA4MiwgCi0gICAgNzMsIDkwLCA3OSwgNzgsIDg0LCA2NSwgNzYsIDQ1LCA0OCwgNTQsIDQ1LCA0OCwgNTEsIDEyOCwgNzIsIDc5LCA4MiwgNzMsIAotICAgIDkwLCA3OSwgNzgsIDg0LCA2NSwgNzYsIDQ1LCA0OCwgNTQsIDQ1LCA0OCwgNTAsIDEyOCwgNzIsIDc5LCA4MiwgNzMsIDkwLCAKLSAgICA3OSwgNzgsIDg0LCA2NSwgNzYsIDQ1LCA0OCwgNTQsIDQ1LCA0OCwgNDksIDEyOCwgNzIsIDc5LCA4MiwgNzMsIDkwLCA3OSwgCi0gICAgNzgsIDg0LCA2NSwgNzYsIDQ1LCA0OCwgNTQsIDQ1LCA0OCwgNDgsIDEyOCwgNzIsIDc5LCA4MiwgNzMsIDkwLCA3OSwgNzgsIAotICAgIDg0LCA2NSwgNzYsIDQ1LCA0OCwgNTMsIDQ1LCA0OCwgNTQsIDEyOCwgNzIsIDc5LCA4MiwgNzMsIDkwLCA3OSwgNzgsIDg0LCAKLSAgICA2NSwgNzYsIDQ1LCA0OCwgNTMsIDQ1LCA0OCwgNTMsIDEyOCwgNzIsIDc5LCA4MiwgNzMsIDkwLCA3OSwgNzgsIDg0LCA2NSwgCi0gICAgNzYsIDQ1LCA0OCwgNTMsIDQ1LCA0OCwgNTIsIDEyOCwgNzIsIDc5LCA4MiwgNzMsIDkwLCA3OSwgNzgsIDg0LCA2NSwgNzYsIAotICAgIDQ1LCA0OCwgNTMsIDQ1LCA0OCwgNTEsIDEyOCwgNzIsIDc5LCA4MiwgNzMsIDkwLCA3OSwgNzgsIDg0LCA2NSwgNzYsIDQ1LCAKLSAgICA0OCwgNTMsIDQ1LCA0OCwgNTAsIDEyOCwgNzIsIDc5LCA4MiwgNzMsIDkwLCA3OSwgNzgsIDg0LCA2NSwgNzYsIDQ1LCA0OCwgCi0gICAgNTMsIDQ1LCA0OCwgNDksIDEyOCwgNzIsIDc5LCA4MiwgNzMsIDkwLCA3OSwgNzgsIDg0LCA2NSwgNzYsIDQ1LCA0OCwgNTMsIAotICAgIDQ1LCA0OCwgNDgsIDEyOCwgNzIsIDc5LCA4MiwgNzMsIDkwLCA3OSwgNzgsIDg0LCA2NSwgNzYsIDQ1LCA0OCwgNTIsIDQ1LCAKLSAgICA0OCwgNTQsIDEyOCwgNzIsIDc5LCA4MiwgNzMsIDkwLCA3OSwgNzgsIDg0LCA2NSwgNzYsIDQ1LCA0OCwgNTIsIDQ1LCA0OCwgCi0gICAgNTMsIDEyOCwgNzIsIDc5LCA4MiwgNzMsIDkwLCA3OSwgNzgsIDg0LCA2NSwgNzYsIDQ1LCA0OCwgNTIsIDQ1LCA0OCwgNTIsIAotICAgIDEyOCwgNzIsIDc5LCA4MiwgNzMsIDkwLCA3OSwgNzgsIDg0LCA2NSwgNzYsIDQ1LCA0OCwgNTIsIDQ1LCA0OCwgNTEsIDEyOCwgCi0gICAgNzIsIDc5LCA4MiwgNzMsIDkwLCA3OSwgNzgsIDg0LCA2NSwgNzYsIDQ1LCA0OCwgNTIsIDQ1LCA0OCwgNTAsIDEyOCwgNzIsIAotICAgIDc5LCA4MiwgNzMsIDkwLCA3OSwgNzgsIDg0LCA2NSwgNzYsIDQ1LCA0OCwgNTIsIDQ1LCA0OCwgNDksIDEyOCwgNzIsIDc5LCAKLSAgICA4MiwgNzMsIDkwLCA3OSwgNzgsIDg0LCA2NSwgNzYsIDQ1LCA0OCwgNTIsIDQ1LCA0OCwgNDgsIDEyOCwgNzIsIDc5LCA4MiwgCi0gICAgNzMsIDkwLCA3OSwgNzgsIDg0LCA2NSwgNzYsIDQ1LCA0OCwgNTEsIDQ1LCA0OCwgNTQsIDEyOCwgNzIsIDc5LCA4MiwgNzMsIAotICAgIDkwLCA3OSwgNzgsIDg0LCA2NSwgNzYsIDQ1LCA0OCwgNTEsIDQ1LCA0OCwgNTMsIDEyOCwgNzIsIDc5LCA4MiwgNzMsIDkwLCAKLSAgICA3OSwgNzgsIDg0LCA2NSwgNzYsIDQ1LCA0OCwgNTEsIDQ1LCA0OCwgNTIsIDEyOCwgNzIsIDc5LCA4MiwgNzMsIDkwLCA3OSwgCi0gICAgNzgsIDg0LCA2NSwgNzYsIDQ1LCA0OCwgNTEsIDQ1LCA0OCwgNTEsIDEyOCwgNzIsIDc5LCA4MiwgNzMsIDkwLCA3OSwgNzgsIAotICAgIDg0LCA2NSwgNzYsIDQ1LCA0OCwgNTEsIDQ1LCA0OCwgNTAsIDEyOCwgNzIsIDc5LCA4MiwgNzMsIDkwLCA3OSwgNzgsIDg0LCAKLSAgICA2NSwgNzYsIDQ1LCA0OCwgNTEsIDQ1LCA0OCwgNDksIDEyOCwgNzIsIDc5LCA4MiwgNzMsIDkwLCA3OSwgNzgsIDg0LCA2NSwgCi0gICAgNzYsIDQ1LCA0OCwgNTEsIDQ1LCA0OCwgNDgsIDEyOCwgNzIsIDc5LCA4MiwgNzMsIDkwLCA3OSwgNzgsIDg0LCA2NSwgNzYsIAotICAgIDQ1LCA0OCwgNTAsIDQ1LCA0OCwgNTQsIDEyOCwgNzIsIDc5LCA4MiwgNzMsIDkwLCA3OSwgNzgsIDg0LCA2NSwgNzYsIDQ1LCAKLSAgICA0OCwgNTAsIDQ1LCA0OCwgNTMsIDEyOCwgNzIsIDc5LCA4MiwgNzMsIDkwLCA3OSwgNzgsIDg0LCA2NSwgNzYsIDQ1LCA0OCwgCi0gICAgNTAsIDQ1LCA0OCwgNTIsIDEyOCwgNzIsIDc5LCA4MiwgNzMsIDkwLCA3OSwgNzgsIDg0LCA2NSwgNzYsIDQ1LCA0OCwgNTAsIAotICAgIDQ1LCA0OCwgNTEsIDEyOCwgNzIsIDc5LCA4MiwgNzMsIDkwLCA3OSwgNzgsIDg0LCA2NSwgNzYsIDQ1LCA0OCwgNTAsIDQ1LCAKLSAgICA0OCwgNTAsIDEyOCwgNzIsIDc5LCA4MiwgNzMsIDkwLCA3OSwgNzgsIDg0LCA2NSwgNzYsIDQ1LCA0OCwgNTAsIDQ1LCA0OCwgCi0gICAgNDksIDEyOCwgNzIsIDc5LCA4MiwgNzMsIDkwLCA3OSwgNzgsIDg0LCA2NSwgNzYsIDQ1LCA0OCwgNTAsIDQ1LCA0OCwgNDgsIAotICAgIDEyOCwgNzIsIDc5LCA4MiwgNzMsIDkwLCA3OSwgNzgsIDg0LCA2NSwgNzYsIDQ1LCA0OCwgNDksIDQ1LCA0OCwgNTQsIDEyOCwgCi0gICAgNzIsIDc5LCA4MiwgNzMsIDkwLCA3OSwgNzgsIDg0LCA2NSwgNzYsIDQ1LCA0OCwgNDksIDQ1LCA0OCwgNTMsIDEyOCwgNzIsIAotICAgIDc5LCA4MiwgNzMsIDkwLCA3OSwgNzgsIDg0LCA2NSwgNzYsIDQ1LCA0OCwgNDksIDQ1LCA0OCwgNTIsIDEyOCwgNzIsIDc5LCAKLSAgICA4MiwgNzMsIDkwLCA3OSwgNzgsIDg0LCA2NSwgNzYsIDQ1LCA0OCwgNDksIDQ1LCA0OCwgNTEsIDEyOCwgNzIsIDc5LCA4MiwgCi0gICAgNzMsIDkwLCA3OSwgNzgsIDg0LCA2NSwgNzYsIDQ1LCA0OCwgNDksIDQ1LCA0OCwgNTAsIDEyOCwgNzIsIDc5LCA4MiwgNzMsIAotICAgIDkwLCA3OSwgNzgsIDg0LCA2NSwgNzYsIDQ1LCA0OCwgNDksIDQ1LCA0OCwgNDksIDEyOCwgNzIsIDc5LCA4MiwgNzMsIDkwLCAKLSAgICA3OSwgNzgsIDg0LCA2NSwgNzYsIDQ1LCA0OCwgNDksIDQ1LCA0OCwgNDgsIDEyOCwgNzIsIDc5LCA4MiwgNzMsIDkwLCA3OSwgCi0gICAgNzgsIDg0LCA2NSwgNzYsIDQ1LCA0OCwgNDgsIDQ1LCA0OCwgNTQsIDEyOCwgNzIsIDc5LCA4MiwgNzMsIDkwLCA3OSwgNzgsIAotICAgIDg0LCA2NSwgNzYsIDQ1LCA0OCwgNDgsIDQ1LCA0OCwgNTMsIDEyOCwgNzIsIDc5LCA4MiwgNzMsIDkwLCA3OSwgNzgsIDg0LCAKLSAgICA2NSwgNzYsIDQ1LCA0OCwgNDgsIDQ1LCA0OCwgNTIsIDEyOCwgNzIsIDc5LCA4MiwgNzMsIDkwLCA3OSwgNzgsIDg0LCA2NSwgCi0gICAgNzYsIDQ1LCA0OCwgNDgsIDQ1LCA0OCwgNTEsIDEyOCwgNzIsIDc5LCA4MiwgNzMsIDkwLCA3OSwgNzgsIDg0LCA2NSwgNzYsIAotICAgIDQ1LCA0OCwgNDgsIDQ1LCA0OCwgNTAsIDEyOCwgNzIsIDc5LCA4MiwgNzMsIDkwLCA3OSwgNzgsIDg0LCA2NSwgNzYsIDQ1LCAKLSAgICA0OCwgNDgsIDQ1LCA0OCwgNDksIDEyOCwgNzIsIDc5LCA4MiwgNzMsIDkwLCA3OSwgNzgsIDg0LCA2NSwgNzYsIDQ1LCA0OCwgCi0gICAgNDgsIDQ1LCA0OCwgNDgsIDEyOCwgNzIsIDc5LCA4MiwgNzMsIDkwLCA3OSwgNzgsIDg0LCA2NSwgNzYsIDEyOCwgNzIsIDc5LCAKLSAgICA4MiwgNzMsIDEyOCwgNzIsIDc5LCA4MiwgMTkzLCA3MiwgNzksIDc5LCA4MiwgODUsIDEyOCwgNzIsIDc5LCA3OSwgODAsIAotICAgIDEyOCwgNzIsIDc5LCA3OSwgNzgsIDEyOCwgNzIsIDc5LCA3OCwgNjksIDg5LCA2NiwgNjksIDY5LCAxMjgsIDcyLCA3OSwgCi0gICAgNzgsIDY5LCAyMTcsIDcyLCA3OSwgNzcsIDc5LCA4NCwgNzIsIDY5LCA4NCwgNzMsIDY3LCAxMjgsIDcyLCA3OSwgNzcsIDc5LCAKLSAgICA4NCwgNzIsIDY5LCA4NCwgNzMsIDE5NSwgNzIsIDc5LCA3NiwgNjksIDEyOCwgNzIsIDc5LCA3NiwgNjgsIDczLCA3OCwgCi0gICAgMTk5LCA3MiwgNzksIDc2LCA2NSwgNzcsIDEyOCwgNzIsIDc5LCA3NiwgNjUsIDIwNSwgNzIsIDc5LCA3NSwgNjUsIDEyOCwgCi0gICAgNzIsIDc5LCA3MywgMTI4LCA3MiwgNzksIDY3LCA3MiwgNzksIDEyOCwgNzIsIDc4LCA4NSwgODQsIDEyOCwgNzIsIDc4LCAKLSAgICA4NSwgNzksIDg4LCAxMjgsIDcyLCA3OCwgODUsIDc5LCAxMjgsIDcyLCA3OCwgNzksIDg4LCAxMjgsIDcyLCA3OCwgNzksIAotICAgIDg0LCAxMjgsIDcyLCA3OCwgNzksIDgwLCAxMjgsIDcyLCA3OCwgNzMsIDg4LCAxMjgsIDcyLCA3OCwgNzMsIDg0LCAxMjgsIAotICAgIDcyLCA3OCwgNzMsIDgwLCAxMjgsIDcyLCA3OCwgNzMsIDY5LCA4OCwgMTI4LCA3MiwgNzgsIDczLCA2OSwgODQsIDEyOCwgCi0gICAgNzIsIDc4LCA3MywgNjksIDgwLCAxMjgsIDcyLCA3OCwgNzMsIDY5LCAxMjgsIDcyLCA3OCwgNzMsIDEyOCwgNzIsIDc4LCAKLSAgICA2OSwgODgsIDEyOCwgNzIsIDc4LCA2OSwgODAsIDEyOCwgNzIsIDc4LCA2OSwgMTI4LCA3MiwgNzgsIDY1LCA4OCwgMTI4LCAKLSAgICA3MiwgNzgsIDY1LCA4NCwgMTI4LCA3MiwgNzgsIDY1LCA4MCwgMTI4LCA3MiwgNzgsIDY1LCAxMjgsIDcyLCA3NywgODksIAotICAgIDg4LCAxMjgsIDcyLCA3NywgODksIDgyLCA4OCwgMTI4LCA3MiwgNzcsIDg5LCA4MiwgMTI4LCA3MiwgNzcsIDg5LCA4MCwgCi0gICAgMTI4LCA3MiwgNzcsIDg5LCAxMjgsIDcyLCA3NywgODUsIDg4LCAxMjgsIDcyLCA3NywgODUsIDg0LCAxMjgsIDcyLCA3NywgCi0gICAgODUsIDgyLCA4OCwgMTI4LCA3MiwgNzcsIDg1LCA4MiwgMTI4LCA3MiwgNzcsIDg1LCA4MCwgMTI4LCA3MiwgNzcsIDg1LCAKLSAgICA3OSwgODgsIDEyOCwgNzIsIDc3LCA4NSwgNzksIDgwLCAxMjgsIDcyLCA3NywgODUsIDc5LCAxMjgsIDcyLCA3NywgODUsIAotICAgIDEyOCwgNzIsIDc3LCA3OSwgODgsIDEyOCwgNzIsIDc3LCA3OSwgODQsIDEyOCwgNzIsIDc3LCA3OSwgODAsIDEyOCwgNzIsIAotICAgIDc3LCA3OSwgMTI4LCA3MiwgNzcsIDczLCA4OCwgMTI4LCA3MiwgNzcsIDczLCA4NCwgMTI4LCA3MiwgNzcsIDczLCA4MCwgCi0gICAgMTI4LCA3MiwgNzcsIDczLCA2OSwgODgsIDEyOCwgNzIsIDc3LCA3MywgNjksIDgwLCAxMjgsIDcyLCA3NywgNzMsIDY5LCAKLSAgICAxMjgsIDcyLCA3NywgNzMsIDEyOCwgNzIsIDc3LCA2OSwgMTI4LCA3MiwgNzcsIDY1LCA4OCwgMTI4LCA3MiwgNzcsIDY1LCAKLSAgICA4NCwgMTI4LCA3MiwgNzcsIDY1LCA4MCwgMTI4LCA3MiwgNzcsIDY1LCAxMjgsIDcyLCA3NiwgODksIDg4LCAxMjgsIDcyLCAKLSAgICA3NiwgODksIDg0LCAxMjgsIDcyLCA3NiwgODksIDgyLCA4OCwgMTI4LCA3MiwgNzYsIDg5LCA4MiwgMTI4LCA3MiwgNzYsIAotICAgIDg5LCA4MCwgMTI4LCA3MiwgNzYsIDg5LCAxMjgsIDcyLCA3NiwgODUsIDg4LCAxMjgsIDcyLCA3NiwgODUsIDg0LCAxMjgsIAotICAgIDcyLCA3NiwgODUsIDgyLCA4OCwgMTI4LCA3MiwgNzYsIDg1LCA4MiwgMTI4LCA3MiwgNzYsIDg1LCA4MCwgMTI4LCA3MiwgCi0gICAgNzYsIDg1LCA3OSwgODgsIDEyOCwgNzIsIDc2LCA4NSwgNzksIDgwLCAxMjgsIDcyLCA3NiwgODUsIDc5LCAxMjgsIDcyLCAKLSAgICA3NiwgODUsIDEyOCwgNzIsIDc2LCA3OSwgODgsIDEyOCwgNzIsIDc2LCA3OSwgODAsIDEyOCwgNzIsIDc2LCA3OSwgMTI4LCAKLSAgICA3MiwgNzYsIDczLCA4OCwgMTI4LCA3MiwgNzYsIDczLCA4NCwgMTI4LCA3MiwgNzYsIDczLCA4MCwgMTI4LCA3MiwgNzYsIAotICAgIDczLCA2OSwgODgsIDEyOCwgNzIsIDc2LCA3MywgNjksIDgwLCAxMjgsIDcyLCA3NiwgNzMsIDY5LCAxMjgsIDcyLCA3NiwgCi0gICAgNzMsIDEyOCwgNzIsIDc2LCA2OSwgODgsIDEyOCwgNzIsIDc2LCA2OSwgODAsIDEyOCwgNzIsIDc2LCA2OSwgMTI4LCA3MiwgCi0gICAgNzYsIDY1LCA4OCwgMTI4LCA3MiwgNzYsIDY1LCA4NCwgMTI4LCA3MiwgNzYsIDY1LCA4MCwgMTI4LCA3MiwgNzYsIDY1LCAKLSAgICAxMjgsIDcyLCA3NSwgMTI4LCA3MiwgNzMsIDkwLCA2NiwgMTI4LCA3MiwgNzMsIDgzLCA4NCwgNzksIDgyLCA3MywgMTk1LCAKLSAgICA3MiwgNzMsIDgyLCA3MywgODEsIDEyOCwgNzIsIDczLCA3MSwgNzIsIDQ1LCA4MywgODAsIDY5LCA2OSwgMTk2LCA3MiwgNzMsIAotICAgIDcxLCA3MiwgNDUsIDgyLCA2OSwgODYsIDY5LCA4MiwgODMsIDY5LCA2OCwgNDUsIDE4NSwgNzIsIDczLCA3MSwgNzIsIDQ1LCAKLSAgICA3MiwgNjksIDY5LCA3NiwgNjksIDE5NiwgNzIsIDczLCA2OSwgODgsIDEyOCwgNzIsIDczLCA2OSwgODUsIDcyLCA0NSwgODMsIAotICAgIDczLCA3OSwgODMsIDEyOCwgNzIsIDczLCA2OSwgODUsIDcyLCA0NSwgODIsIDczLCA2OSwgODUsIDc2LCAxMjgsIDcyLCA3MywgCi0gICAgNjksIDg1LCA3MiwgNDUsIDgwLCA3MywgNjksIDg1LCA4MCwgMTI4LCA3MiwgNzMsIDY5LCA4NSwgNzIsIDQ1LCA3OCwgNzMsIAotICAgIDY5LCA4NSwgNzgsIDEyOCwgNzIsIDczLCA2OSwgODUsIDcyLCA0NSwgNzcsIDczLCA2OSwgODUsIDc3LCAxMjgsIDcyLCA3MywgCi0gICAgNjksIDg1LCAyMDAsIDcyLCA3MywgNjksIDEyOCwgNzIsIDczLCA2OCwgNzMsIDc4LCAxOTksIDcyLCA3MywgNjgsIDY5LCAKLSAgICA4NCwgMTI4LCA3MiwgNzMsIDY4LCA2OSwgMTI4LCA3MiwgNzMsIDY2LCA3MywgODMsIDY3LCA4NSwgODMsIDEyOCwgNzIsIAotICAgIDcyLCA4NywgNjUsIDEyOCwgNzIsIDcyLCA4NSwgMTI4LCA3MiwgNzIsIDczLCAxMjgsIDcyLCA3MiwgNjksIDY5LCAxMjgsIAotICAgIDcyLCA3MiwgNjksIDEyOCwgNzIsIDcyLCA2NSwgNjUsIDEyOCwgNzIsIDcxLCAxMjgsIDcyLCA2OSwgODgsIDczLCA3MCwgCi0gICAgNzksIDgyLCAyMDUsIDcyLCA2OSwgODgsIDY1LCA3MSwgODIsIDY1LCAyMDUsIDcyLCA2OSwgODgsIDY1LCA3MSwgNzksIDc4LCAKLSAgICAxMjgsIDcyLCA2OSwgODIsIDg1LCA4NCwgODUsIDEyOCwgNzIsIDY5LCA4MiwgODUsIDEyOCwgNzIsIDY5LCA4MiwgNzcsIAotICAgIDczLCA4NCwgNzMsIDY1LCAyMDYsIDcyLCA2OSwgODIsIDc3LCA3MywgNzksIDc4LCA3MywgNjUsIDIwNiwgNzIsIDY5LCA4MiwgCi0gICAgNzcsIDY5LCA4MywgMTI4LCA3MiwgNjksIDgyLCA2NiwgMTI4LCA3MiwgNjksIDgyLCA2NSwgNjksIDg1LCAyMDUsIDcyLCAKLSAgICA2OSwgNzgsIDcxLCAxMjgsIDcyLCA2OSwgNzgsIDE5OSwgNzIsIDY5LCA3NywgODAsIDEyOCwgNzIsIDY5LCA3NiwgNzcsIAotICAgIDY5LCA4NCwgMTI4LCA3MiwgNjksIDc2LCA3NywgNjksIDIxMiwgNzIsIDY5LCA3NiwgMjA1LCA3MiwgNjksIDc2LCA3MywgCi0gICAgNjcsIDc5LCA4MCwgODQsIDY5LCA4MiwgMTI4LCA3MiwgNjksIDc1LCA4NSwgODQsIDY1LCA2NSwgODIsIDg1LCAxMjgsIDcyLCAKLSAgICA2OSwgNzMsIDgzLCA2OSwgNzMsIDEyOCwgNzIsIDY5LCA2NSwgODYsIDg5LCAxMjgsIDcyLCA2OSwgNjUsIDg2LCA2OSwgNzgsIAotICAgIDc2LCAyMTcsIDcyLCA2OSwgNjUsIDg2LCA2OSwgNzgsIDEyOCwgNzIsIDY5LCA2NSwgODYsIDY5LCAyMDYsIDcyLCA2OSwgCi0gICAgNjUsIDgyLCA4NCwgODMsIDEyOCwgNzIsIDY5LCA2NSwgODIsIDg0LCA0NSwgODMsIDcyLCA2NSwgODAsIDY5LCAxOTYsIDcyLCAKLSAgICA2OSwgNjUsIDgyLCA4NCwgMTI4LCA3MiwgNjksIDY1LCA4MiwgMjEyLCA3MiwgNjksIDY1LCA4MiwgNDUsIDc4LCA3OSwgNDUsIAotICAgIDY5LCA4NiwgNzMsIDIwNCwgNzIsIDY5LCA2NSwgNjgsIDgzLCA4NCwgODIsIDc5LCA3NSwgNjksIDEyOCwgNzIsIDY5LCA2NSwgCi0gICAgNjgsIDgzLCA4NCwgNzksIDc4LCAxOTcsIDcyLCA2OSwgNjUsIDY4LCA4MCwgNzIsIDc5LCA3OCwgNjksIDEyOCwgNzIsIDY5LCAKLSAgICA2NSwgNjgsIDczLCA3OCwgNzEsIDEyOCwgNzIsIDY2LCA2NSwgODMsIDY1LCA0NSwgNjksIDgzLCA2NSwgODMsIDE5MywgNzIsIAotICAgIDY2LCA2NSwgODMsIDE5MywgNzIsIDY1LCA4OSwgNjUsIDc4LCA3OCwgNjUsIDEyOCwgNzIsIDY1LCA4NiwgNjksIDEyOCwgCi0gICAgNzIsIDY1LCA4NSwgODAsIDg0LCA4MywgODQsIDczLCA3NywgNzcsIDY5LCAxMjgsIDcyLCA2NSwgODQsIDcyLCA3MywgMTI4LCAKLSAgICA3MiwgNjUsIDg0LCA2OSwgMTI4LCA3MiwgNjUsIDg0LCA2NywgNzIsIDczLCA3OCwgMTk5LCA3MiwgNjUsIDg0LCA2NSwgCi0gICAgMTk4LCA3MiwgNjUsIDgzLCA2OSwgMjEwLCA3MiwgNjUsIDgzLCA2NSwgNzgsIDg0LCA2NSwgMTI4LCA3MiwgNjUsIDgyLCAKLSAgICA4MCwgNzksIDc5LCA3OCwgMTI4LCA3MiwgNjUsIDgyLCA4MCwgNzksIDc5LCAyMDYsIDcyLCA2NSwgODIsIDc3LCA3OSwgNzgsIAotICAgIDczLCA2NywgMTI4LCA3MiwgNjUsIDgyLCA3NSwgNzYsIDY5LCA2NSwgMjA2LCA3MiwgNjUsIDgyLCA2OCwgNzgsIDY5LCA4MywgCi0gICAgODMsIDEyOCwgNzIsIDY1LCA4MiwgMTk2LCA3MiwgNjUsIDgwLCA4MCwgMjE3LCA3MiwgNjUsIDc4LCA4NSwgNzgsIDc5LCAKLSAgICAyMDcsIDcyLCA2NSwgNzgsIDcxLCA5MCwgNzIsIDc5LCAyMTMsIDcyLCA2NSwgNzgsIDY4LCA4MywgMTI4LCA3MiwgNjUsIAotICAgIDc4LCA2OCwgMjExLCA3MiwgNjUsIDc4LCA2OCwgNzYsIDY5LCA4MywgMTI4LCA3MiwgNjUsIDc4LCA2OCwgNzYsIDY5LCAKLSAgICAxMjgsIDcyLCA2NSwgNzgsIDY4LCA2NiwgNjUsIDcxLCAxMjgsIDcyLCA2NSwgNzgsIDY4LCAxMjgsIDcyLCA2NSwgNzgsIAotICAgIDQ1LCA2NSwgNzUsIDY1LCA4NCwgMTI4LCA3MiwgNjUsIDc3LCA5MCwgNjUsIDEyOCwgNzIsIDY1LCA3NywgODMsIDg0LCA2OSwgCi0gICAgMjEwLCA3MiwgNjUsIDc3LCA3NywgNjksIDgyLCAxMjgsIDcyLCA2NSwgNzcsIDc3LCA2OSwgMjEwLCA3MiwgNjUsIDc3LCAKLSAgICA2NiwgODUsIDgyLCA3MSwgNjksIDgyLCAxMjgsIDcyLCA2NSwgNzYsIDgxLCA2NSwgMTI4LCA3MiwgNjUsIDc2LCA3OSwgCi0gICAgMTI4LCA3MiwgNjUsIDc2LCA3MCwgMTI4LCA3MiwgNjUsIDc2LCA2NiwgNjksIDgyLCA2OCwgMTI4LCA3MiwgNjUsIDc2LCAKLSAgICA2NSwgNzgsIDg0LCA2NSwgMTI4LCA3MiwgNjUsIDczLCA4NCwgODUsIDEyOCwgNzIsIDY1LCA3MywgODIsIDY3LCA4NSwgODQsIAotICAgIDEyOCwgNzIsIDY1LCA3MywgODIsIDEyOCwgNzIsIDY1LCA3MSwgNzYsIDY1LCAyMTgsIDcyLCA2NSwgNzEsIDc2LCAxMjgsIAotICAgIDcyLCA2NSwgNzAsIDg1LCA3NSwgNzIsIDY1LCAxMjgsIDcyLCA2NSwgNzAsIDg1LCA3NSwgNzIsIDEyOCwgNzIsIDY1LCA2OSwgCi0gICAgNzEsIDIwNCwgNzIsIDY1LCA2NSwgODIsIDg1LCAxMjgsIDcyLCA2NSwgNjUsIDc3LCAxMjgsIDcyLCA2NSwgMTkzLCA3MiwgCi0gICAgNjUsIDQ1LCA3MiwgNjUsIDEyOCwgNzIsIDQ4LCA0OCwgNTYsIDEyOCwgNzIsIDQ4LCA0OCwgNTUsIDEyOCwgNzIsIDQ4LCAKLSAgICA0OCwgNTQsIDY1LCAxMjgsIDcyLCA0OCwgNDgsIDU0LCAxMjgsIDcyLCA0OCwgNDgsIDUzLCAxMjgsIDcyLCA0OCwgNDgsIAotICAgIDUyLCAxMjgsIDcyLCA0OCwgNDgsIDUxLCAxMjgsIDcyLCA0OCwgNDgsIDUwLCAxMjgsIDcyLCA0OCwgNDgsIDQ5LCAxMjgsIAotICAgIDcyLCA0NSwgODQsIDg5LCA4MCwgMTk3LCA3MSwgODksIDg1LCAxMjgsIDcxLCA4OSwgNzksIDc4LCAxMjgsIDcxLCA4OSwgCi0gICAgNzksIDEyOCwgNzEsIDg5LCA3MywgMTI4LCA3MSwgODksIDcwLCAyMTMsIDcxLCA4OSwgNjksIDY5LCAxMjgsIDcxLCA4OSwgCi0gICAgNjUsIDgzLCAxMjgsIDcxLCA4OSwgNjUsIDY1LCAxMjgsIDcxLCA4OSwgNjUsIDEyOCwgNzEsIDg5LCAxMjgsIDcxLCA4NywgCi0gICAgODUsIDEyOCwgNzEsIDg3LCA3MywgMTI4LCA3MSwgODcsIDY5LCA2OSwgMTI4LCA3MSwgODcsIDY5LCAxMjgsIDcxLCA4NywgCi0gICAgNjUsIDY1LCAxMjgsIDcxLCA4NywgNjUsIDEyOCwgNzEsIDg2LCAxMjgsIDcxLCA4NSwgODIsIDg1LCA4MywgNzIsIDEyOCwgCi0gICAgNzEsIDg1LCA4MiwgODUsIDc4LCAxMjgsIDcxLCA4NSwgODIsIDY1LCA3NywgODUsIDg0LCA3OSwgNzgsIDEyOCwgNzEsIDg1LCAKLSAgICA4MiwgNTUsIDEyOCwgNzEsIDg1LCA3OCwgODUsIDEyOCwgNzEsIDg1LCA3OCwgMjEzLCA3MSwgODUsIDIwNSwgNzEsIDg1LCAKLSAgICA3NiwgMTI4LCA3MSwgODUsIDczLCA4NCwgNjUsIDgyLCAxMjgsIDcxLCA4NSwgMTk5LCA3MSwgODUsIDY5LCA3MiwgMTI4LCAKLSAgICA3MSwgODUsIDY5LCAyMDAsIDcxLCA4NSwgNjgsIDEyOCwgNzEsIDg1LCAxOTYsIDcxLCA4NSwgNjUsIDgyLCA2OCwgODMsIAotICAgIDc3LCA2NSwgNzgsIDEyOCwgNzEsIDg1LCA2NSwgODIsIDY4LCA2OSwgNjgsIDc4LCA2OSwgODMsIDgzLCAxMjgsIDcxLCA4NSwgCi0gICAgNjUsIDgyLCA2NSwgNzgsIDIwMSwgNzEsIDg1LCAxOTMsIDcxLCA4NSwgMTc4LCA3MSwgODQsIDY5LCAyMTAsIDcxLCA4MywgCi0gICAgODUsIDc3LCAxMjgsIDcxLCA4MywgODUsIDIwNSwgNzEsIDgyLCAyMTMsIDcxLCA4MiwgNzksIDg3LCA3MywgNzgsIDE5OSwgCi0gICAgNzEsIDgyLCA3OSwgODUsIDc4LCA2OCwgMTI4LCA3MSwgODIsIDc5LCA3OCwgODQsIDcyLCA3MywgODMsIDc3LCA2NSwgODQsIAotICAgIDY1LCAxMjgsIDcxLCA4MiwgNzMsIDc4LCA3OCwgNzMsIDc4LCAxOTksIDcxLCA4MiwgNjksIDcxLCA3OSwgODIsIDczLCA2NSwgCi0gICAgMjA2LCA3MSwgODIsIDY5LCA2OSwgMjA2LCA3MSwgODIsIDY5LCA2NSwgODQsIDc4LCA2OSwgODMsIDgzLCAxMjgsIDcxLCAKLSAgICA4MiwgNjksIDY1LCA4NCwgNjksIDgyLCA0NSwgODQsIDcyLCA2NSwgNzgsIDEyOCwgNzEsIDgyLCA2OSwgNjUsIDg0LCA2OSwgCi0gICAgODIsIDQ1LCA4NCwgNzIsIDY1LCAyMDYsIDcxLCA4MiwgNjksIDY1LCA4NCwgNjksIDIxMCwgNzEsIDgyLCA2OSwgNjUsIAotICAgIDIxMiwgNzEsIDgyLCA2NSwgODYsIDY5LCA4OSwgNjUsIDgyLCAxOTYsIDcxLCA4MiwgNjUsIDg2LCA2OSwgNDUsIDc3LCA2NSwgCi0gICAgNjcsIDgyLCA3OSwgNzgsIDEyOCwgNzEsIDgyLCA2NSwgODYsIDY5LCA0NSwgNjUsIDY3LCA4NSwgODQsIDY5LCA0NSwgNzEsIAotICAgIDgyLCA2NSwgODYsIDY5LCAxMjgsIDcxLCA4MiwgNjUsIDg2LCAxOTcsIDcxLCA4MiwgNjUsIDg0LCA2OSwgODIsIDEyOCwgCi0gICAgNzEsIDgyLCA2NSwgODMsIDgzLCAxMjgsIDcxLCA4MiwgNjUsIDgzLCAyMTEsIDcxLCA4MiwgNjUsIDgwLCA3MiwgNjksIDc3LCAKLSAgICAxOTcsIDcxLCA4MiwgNjUsIDgwLCA2OSwgODMsIDEyOCwgNzEsIDgyLCA2NSwgNzcsIDc3LCAxOTMsIDcxLCA4MiwgNjUsIAotICAgIDczLCA3OCwgMTI4LCA3MSwgODIsIDY1LCA2OCwgODUsIDY1LCA4NCwgNzMsIDc5LCAyMDYsIDcxLCA4MiwgNjUsIDY3LCA2OSwgCi0gICAgMTI4LCA3MSwgODIsIDY1LCA2NywgMTk3LCA3MSwgODAsIDY1LCAxMjgsIDcxLCA3OSwgODIsIDg0LCA3MiwgNzcsIDczLCAKLSAgICA3NSwgNzksIDIwNiwgNzEsIDc5LCA4MiwgODQsIDEyOCwgNzEsIDc5LCA4MiwgNzEsIDc5LCA4NCwgNjksIDgyLCA3MywgCi0gICAgMTI4LCA3MSwgNzksIDgyLCA3MSwgNzksIDgzLCA4OSwgNzgsIDg0LCA3MiwgNjksIDg0LCA3OSwgNzgsIDEyOCwgNzEsIDc5LCAKLSAgICA4MiwgNzEsIDc5LCAyMDYsIDcxLCA3OSwgODIsIDcxLCA3MywgMTI4LCA3MSwgNzksIDgyLCA2NSwgMTI4LCA3MSwgNzksIAotICAgIDc5LCAxOTYsIDcxLCA3OSwgNzgsIDcxLCAxMjgsIDcxLCA3OSwgNzYsIDY4LCAxMjgsIDcxLCA3OSwgNzUsIDEyOCwgNzEsIAotICAgIDc5LCA3MywgNzgsIDE5OSwgNzEsIDc5LCA2NiwgNzYsIDczLCA3OCwgMTI4LCA3MSwgNzksIDY1LCA3NiwgMTI4LCA3MSwgCi0gICAgNzksIDY1LCAyMDQsIDcxLCA3OSwgNjUsIDEyOCwgNzEsIDc4LCA4OSwgNzMsIDgzLCAxMjgsIDcxLCA3OCwgNjUsIDg2LCAKLSAgICA3MywgODksIDY1LCA3OCwgNzMsIDEyOCwgNzEsIDc2LCA3OSwgODcsIDczLCA3OCwgMTk5LCA3MSwgNzYsIDc5LCA4NCwgODQsIAotICAgIDY1LCAyMDQsIDcxLCA3NiwgNzksIDY2LCAxOTcsIDcxLCA3NiwgNzMsIDgzLCA4MywgNjUsIDc4LCA2OCwgMjA3LCA3MSwgCi0gICAgNzYsIDY5LCA3MywgNjcsIDIwMCwgNzEsIDc2LCA2NSwgNzEsIDc5LCA3NiwgNzMsIDEyOCwgNzEsIDc2LCA2NSwgMTI4LCAKLSAgICA3MSwgNzQsIDY5LCAxMjgsIDcxLCA3MywgODgsIDEyOCwgNzEsIDczLCA4NCwgMTI4LCA3MSwgNzMsIDgzLCA3MiwgMTI4LCAKLSAgICA3MSwgNzMsIDgzLCAyMDAsIDcxLCA3MywgODMsIDY1LCA3NiwgMTI4LCA3MSwgNzMsIDgyLCA4NSwgNjgsIDY1LCA2NSwgCi0gICAgMTI4LCA3MSwgNzMsIDgyLCA3NiwgMTI4LCA3MSwgNzMsIDgyLCA1MSwgMTI4LCA3MSwgNzMsIDgyLCAxNzksIDcxLCA3MywgCi0gICAgODIsIDUwLCAxMjgsIDcxLCA3MywgODIsIDE3OCwgNzEsIDczLCA4MCwgMTI4LCA3MSwgNzMsIDc4LCA3MywgNzMsIDEyOCwgCi0gICAgNzEsIDczLCA3NywgNjksIDc2LCAxMjgsIDcxLCA3MywgNzcsIDY5LCAyMDQsIDcxLCA3MywgNzcsIDEyOCwgNzEsIDczLCAKLSAgICA3MSwgNjUsIDEyOCwgNzEsIDczLCA2OSwgODQsIDEyOCwgNzEsIDczLCA2OCwgNzMsIDc3LCAxMjgsIDcxLCA3MywgNjYsIAotICAgIDY2LCA3OSwgODUsIDIxMSwgNzEsIDczLCA2NiwgNjUsIDEyOCwgNzEsIDczLCA1MiwgMTI4LCA3MSwgNzMsIDE4MCwgNzEsIAotICAgIDcyLCA5MCwgMTI4LCA3MSwgNzIsIDg3LCA2NSwgMTI4LCA3MSwgNzIsIDg1LCA3OCwgNzgsIDY1LCAxMjgsIDcxLCA3MiwgCi0gICAgODUsIDc4LCA3OCwgMTkzLCA3MSwgNzIsIDg1LCAxMjgsIDcxLCA3MiwgNzksIDg1LCAxMjgsIDcxLCA3MiwgNzksIDgzLCAKLSAgICA4NCwgMTI4LCA3MSwgNzIsIDc5LCAxMjgsIDcxLCA3MiwgNzMsIDEyOCwgNzEsIDcyLCA3MiwgNjUsIDEyOCwgNzEsIDcyLCAKLSAgICA2OSwgODUsIDg4LCAxMjgsIDcxLCA3MiwgNjksIDg1LCA3OCwgMTI4LCA3MSwgNzIsIDY5LCA4NSwgNzEsIDcyLCA2OSwgODUsIAotICAgIDY1LCA2OSwgNzcsIDEyOCwgNzEsIDcyLCA2OSwgODUsIDcxLCA3MiwgNjksIDc4LCAxMjgsIDcxLCA3MiwgNjksIDg1LCA2NSwgCi0gICAgNjksIDgyLCA2NSwgNjksIDEyOCwgNzEsIDcyLCA2OSwgODUsIDY1LCA2OSwgNzEsIDcyLCA2OSwgODUsIDY1LCA2OSwgMTI4LCAKLSAgICA3MSwgNzIsIDY5LCA4NCwgMTI4LCA3MSwgNzIsIDY5LCA2OSwgMTI4LCA3MSwgNzIsIDY5LCAxMjgsIDcxLCA3MiwgMTk3LCAKLSAgICA3MSwgNzIsIDY1LCA4OSwgNzgsIDEyOCwgNzEsIDcyLCA2NSwgODIsIDY1LCA2OSwgMTI4LCA3MSwgNzIsIDY1LCA4MCwgCi0gICAgMTI4LCA3MSwgNzIsIDY1LCA3OCwgMTI4LCA3MSwgNzIsIDY1LCA3NywgNjUsIDc2LCAxMjgsIDcxLCA3MiwgNjUsIDczLCAKLSAgICA3OCwgODUsIDEyOCwgNzEsIDcyLCA2NSwgNzMsIDc4LCAxMjgsIDcxLCA3MiwgNjUsIDczLCAyMDYsIDcxLCA3MiwgNjUsIAotICAgIDY4LCAxMjgsIDcxLCA3MiwgNjUsIDY1LCA3NywgNjUsIDY5LCAxMjgsIDcxLCA3MiwgNjUsIDY1LCAxMjgsIDcxLCA3MiwgCi0gICAgNjUsIDEyOCwgNzEsIDcxLCA4NywgNzMsIDEyOCwgNzEsIDcxLCA4NywgNjksIDY5LCAxMjgsIDcxLCA3MSwgODcsIDY5LCAKLSAgICAxMjgsIDcxLCA3MSwgODcsIDY1LCA2NSwgMTI4LCA3MSwgNzEsIDg3LCA2NSwgMTI4LCA3MSwgNzEsIDg1LCA4OCwgMTI4LCAKLSAgICA3MSwgNzEsIDg1LCA4NCwgMTI4LCA3MSwgNzEsIDg1LCA4MiwgODgsIDEyOCwgNzEsIDcxLCA4NSwgODIsIDEyOCwgNzEsIAotICAgIDcxLCA4NSwgNzksIDg4LCAxMjgsIDcxLCA3MSwgODUsIDc5LCA4NCwgMTI4LCA3MSwgNzEsIDg1LCA3OSwgODAsIDEyOCwgCi0gICAgNzEsIDcxLCA4NSwgNzksIDEyOCwgNzEsIDcxLCA3OSwgODgsIDEyOCwgNzEsIDcxLCA3OSwgODQsIDEyOCwgNzEsIDcxLCAKLSAgICA3OSwgODAsIDEyOCwgNzEsIDcxLCA3MywgODgsIDEyOCwgNzEsIDcxLCA3MywgODQsIDEyOCwgNzEsIDcxLCA3MywgNjksIAotICAgIDg4LCAxMjgsIDcxLCA3MSwgNzMsIDY5LCA4MCwgMTI4LCA3MSwgNzEsIDczLCA2OSwgMTI4LCA3MSwgNzEsIDY5LCA4OCwgCi0gICAgMTI4LCA3MSwgNzEsIDY5LCA4NCwgMTI4LCA3MSwgNzEsIDY5LCA4MCwgMTI4LCA3MSwgNzEsIDY1LCA4OCwgMTI4LCA3MSwgCi0gICAgNzEsIDY1LCA4NCwgMTI4LCA3MSwgNzEsIDY1LCA2NSwgMTI4LCA3MSwgNjksIDg0LCAxOTMsIDcxLCA2OSwgODMsIDg0LCAKLSAgICA4NSwgODIsIDY5LCAxMjgsIDcxLCA2OSwgODMsIDcyLCA4NSwgMTI4LCA3MSwgNjksIDgzLCA3MiwgODQsIDczLCA3OCwgCi0gICAgMTI4LCA3MSwgNjksIDgzLCA3MiwgODQsIDczLCAyMDYsIDcxLCA2OSwgODMsIDcyLCA1MCwgMTI4LCA3MSwgNjksIDgyLCAKLSAgICA4MywgNzIsIDY1LCA4OSwgNzMsIDc3LCAxMjgsIDcxLCA2OSwgODIsIDc3LCA2NSwgMjA2LCA3MSwgNjksIDgyLCA2OSwgODMsIAotICAgIDcyLCAxMjgsIDcxLCA2OSwgODIsIDY5LCA4MywgMjAwLCA3MSwgNjksIDc5LCA3NywgNjksIDg0LCA4MiwgNzMsIDY3LCA2NSwgCi0gICAgNzYsIDc2LCAyMTcsIDcxLCA2OSwgNzksIDc3LCA2OSwgODQsIDgyLCA3MywgMTk1LCA3MSwgNjksIDc4LCA4NCwgNzYsIAotICAgIDE5NywgNzEsIDY5LCA3OCwgNzMsIDg0LCA3MywgODYsIDY5LCAxMjgsIDcxLCA2OSwgNzgsIDczLCA3NSwgMjAxLCA3MSwgCi0gICAgNjksIDc4LCA2OSwgODIsIDczLCAxOTUsIDcxLCA2OSwgNzcsIDczLCA3OCwgNzMsIDEyOCwgNzEsIDY5LCA3NywgNzMsIDc4LCAKLSAgICA2NSwgODQsIDczLCA3OSwgMjA2LCA3MSwgNjksIDIwNSwgNzEsIDY5LCA2OCwgNzksIDc2LCA2NSwgMTI4LCA3MSwgNjksIAotICAgIDY4LCA2OSwgMTI4LCA3MSwgNjksIDY2LCAyMDcsIDcxLCA2OSwgNjYsIDE5MywgNzEsIDY5LCA2NSwgODIsIDEyOCwgNzEsIAotICAgIDY5LCA2NSwgMjEwLCA3MSwgNjgsIDY1LCA3OCwgMTI4LCA3MSwgNjcsIDczLCA3MSwgMTI4LCA3MSwgNjcsIDY1LCAyMDYsIAotICAgIDcxLCA2NiwgNzksIDc4LCAxMjgsIDcxLCA2NiwgNzMsIDY5LCAxOTcsIDcxLCA2NiwgNjksIDg1LCA4OCwgMTI4LCA3MSwgCi0gICAgNjYsIDY5LCA4NCwgMTI4LCA3MSwgNjYsIDY1LCA4OSwgNzMsIDEyOCwgNzEsIDY2LCA2NSwgNzUsIDg1LCA4MiwgODUsIDc4LCAKLSAgICA2OSwgNzgsIDEyOCwgNzEsIDY2LCAxMjgsIDcxLCA2NSwgODksIDY1LCA3OCwgODUsIDc1LCA3MywgODQsIDg0LCA2NSwgCi0gICAgMTI4LCA3MSwgNjUsIDg5LCA2NSwgNzgsIDc4LCA2NSwgMTI4LCA3MSwgNjUsIDg5LCAxMjgsIDcxLCA2NSwgODUsIDc4LCAKLSAgICA4NCwgNzYsIDY5LCA4NCwgMTI4LCA3MSwgNjUsIDg0LCA3MiwgNjksIDgyLCA3MywgNzgsIDcxLCAxMjgsIDcxLCA2NSwgODQsIAotICAgIDcyLCA2OSwgODIsIDczLCA3OCwgMTk5LCA3MSwgNjUsIDg0LCA2OSwgMTI4LCA3MSwgNjUsIDgzLCA3MiwgNjUsIDc4LCAKLSAgICAxMjgsIDcxLCA2NSwgODIsIDgzLCA3MiwgODUsIDc4LCA3MywgMTI4LCA3MSwgNjUsIDgyLCA3OSwgNzgsIDEyOCwgNzEsIAotICAgIDY1LCA4MiwgNzcsIDY5LCA3OCwgODQsIDEyOCwgNzEsIDY1LCA4MiwgNjgsIDY5LCA3OCwgMTI4LCA3MSwgNjUsIDgyLCA1MSwgCi0gICAgMTI4LCA3MSwgNjUsIDgwLCA4MCwgNjksIDE5NiwgNzEsIDY1LCAyMDgsIDcxLCA2NSwgNzgsIDc3LCA2NSwgMTI4LCA3MSwgCi0gICAgNjUsIDc4LCA3MSwgNzMsIDY1LCAxMjgsIDcxLCA2NSwgNzgsIDY4LCAxOTMsIDcxLCA2NSwgNzgsIDUwLCAxMjgsIDcxLCAKLSAgICA2NSwgNzgsIDE3OCwgNzEsIDY1LCA3NywgNzcsIDY1LCAxMjgsIDcxLCA2NSwgNzcsIDc2LCA2NSwgMTI4LCA3MSwgNjUsIAotICAgIDc3LCA3NiwgMTI4LCA3MSwgNjUsIDc3LCA2OSwgMTI4LCA3MSwgNjUsIDc3LCAxOTcsIDcxLCA2NSwgNzcsIDY1LCA3OCwgCi0gICAgMTI4LCA3MSwgNjUsIDc3LCA2NSwgNzYsIDEyOCwgNzEsIDY1LCA3NywgNjUsIDIwNCwgNzEsIDY1LCA3MSwgMTI4LCA3MSwgCi0gICAgNjUsIDcwLCAxMjgsIDcxLCA2NSwgMTk4LCA3MSwgNjUsIDY5LCA4NCwgODQsIDY1LCA0NSwgODAsIDczLCA3NiwgNzYsIDY1LCAKLSAgICAxMjgsIDcxLCA2NSwgNjgsIDc5LCA3NiwgMTI4LCA3MSwgNjUsIDY4LCAxMjgsIDcxLCA2NSwgMTk2LCA3MSwgNjUsIDY2LCAKLSAgICA2NSwgMTI4LCA3MSwgNjUsIDY2LCAxOTMsIDcxLCA2NSwgNjUsIDcwLCA4NSwgMTI4LCA3MSwgNjUsIDE3OCwgNzEsIDQ4LCAKLSAgICA1MywgNTIsIDEyOCwgNzEsIDQ4LCA1MywgNTEsIDEyOCwgNzEsIDQ4LCA1MywgNTAsIDEyOCwgNzEsIDQ4LCA1MywgNDksIAotICAgIDEyOCwgNzEsIDQ4LCA1MywgNDgsIDEyOCwgNzEsIDQ4LCA1MiwgNTcsIDEyOCwgNzEsIDQ4LCA1MiwgNTYsIDEyOCwgNzEsIAotICAgIDQ4LCA1MiwgNTUsIDEyOCwgNzEsIDQ4LCA1MiwgNTQsIDEyOCwgNzEsIDQ4LCA1MiwgNTMsIDY1LCAxMjgsIDcxLCA0OCwgCi0gICAgNTIsIDUzLCAxMjgsIDcxLCA0OCwgNTIsIDUyLCAxMjgsIDcxLCA0OCwgNTIsIDUxLCA2NSwgMTI4LCA3MSwgNDgsIDUyLCAKLSAgICA1MSwgMTI4LCA3MSwgNDgsIDUyLCA1MCwgMTI4LCA3MSwgNDgsIDUyLCA0OSwgMTI4LCA3MSwgNDgsIDUyLCA0OCwgMTI4LCAKLSAgICA3MSwgNDgsIDUxLCA1NywgMTI4LCA3MSwgNDgsIDUxLCA1NiwgMTI4LCA3MSwgNDgsIDUxLCA1NSwgNjUsIDEyOCwgNzEsIAotICAgIDQ4LCA1MSwgNTUsIDEyOCwgNzEsIDQ4LCA1MSwgNTQsIDY1LCAxMjgsIDcxLCA0OCwgNTEsIDU0LCAxMjgsIDcxLCA0OCwgCi0gICAgNTEsIDUzLCAxMjgsIDcxLCA0OCwgNTEsIDUyLCAxMjgsIDcxLCA0OCwgNTEsIDUxLCAxMjgsIDcxLCA0OCwgNTEsIDUwLCAKLSAgICAxMjgsIDcxLCA0OCwgNTEsIDQ5LCAxMjgsIDcxLCA0OCwgNTEsIDQ4LCAxMjgsIDcxLCA0OCwgNTAsIDU3LCAxMjgsIDcxLCAKLSAgICA0OCwgNTAsIDU2LCAxMjgsIDcxLCA0OCwgNTAsIDU1LCAxMjgsIDcxLCA0OCwgNTAsIDU0LCA2NSwgMTI4LCA3MSwgNDgsIAotICAgIDUwLCA1NCwgMTI4LCA3MSwgNDgsIDUwLCA1MywgMTI4LCA3MSwgNDgsIDUwLCA1MiwgMTI4LCA3MSwgNDgsIDUwLCA1MSwgCi0gICAgMTI4LCA3MSwgNDgsIDUwLCA1MCwgMTI4LCA3MSwgNDgsIDUwLCA0OSwgMTI4LCA3MSwgNDgsIDUwLCA0OCwgNjUsIDEyOCwgCi0gICAgNzEsIDQ4LCA1MCwgNDgsIDEyOCwgNzEsIDQ4LCA0OSwgNTcsIDEyOCwgNzEsIDQ4LCA0OSwgNTYsIDEyOCwgNzEsIDQ4LCAKLSAgICA0OSwgNTUsIDEyOCwgNzEsIDQ4LCA0OSwgNTQsIDEyOCwgNzEsIDQ4LCA0OSwgNTMsIDEyOCwgNzEsIDQ4LCA0OSwgNTIsIAotICAgIDEyOCwgNzEsIDQ4LCA0OSwgNTEsIDEyOCwgNzEsIDQ4LCA0OSwgNTAsIDEyOCwgNzEsIDQ4LCA0OSwgNDksIDY1LCAxMjgsIAotICAgIDcxLCA0OCwgNDksIDQ5LCAxMjgsIDcxLCA0OCwgNDksIDQ4LCAxMjgsIDcxLCA0OCwgNDgsIDU3LCAxMjgsIDcxLCA0OCwgCi0gICAgNDgsIDU2LCAxMjgsIDcxLCA0OCwgNDgsIDU1LCA2NiwgMTI4LCA3MSwgNDgsIDQ4LCA1NSwgNjUsIDEyOCwgNzEsIDQ4LCAKLSAgICA0OCwgNTUsIDEyOCwgNzEsIDQ4LCA0OCwgNTQsIDY1LCAxMjgsIDcxLCA0OCwgNDgsIDU0LCAxMjgsIDcxLCA0OCwgNDgsIAotICAgIDUzLCAxMjgsIDcxLCA0OCwgNDgsIDUyLCAxMjgsIDcxLCA0OCwgNDgsIDUxLCAxMjgsIDcxLCA0OCwgNDgsIDUwLCAxMjgsIAotICAgIDcxLCA0OCwgNDgsIDQ5LCAxMjgsIDcwLCA4OSwgODgsIDEyOCwgNzAsIDg5LCA4NCwgMTI4LCA3MCwgODksIDgwLCAxMjgsIAotICAgIDcwLCA4OSwgNjUsIDEyOCwgNzAsIDg3LCA3MywgMTI4LCA3MCwgODcsIDY5LCA2OSwgMTI4LCA3MCwgODcsIDY5LCAxMjgsIAotICAgIDcwLCA4NywgNjUsIDY1LCAxMjgsIDcwLCA4NywgNjUsIDEyOCwgNzAsIDg1LCA4OCwgMTI4LCA3MCwgODUsIDg0LCAxMjgsIAotICAgIDcwLCA4NSwgODMsIDY5LCAxMjgsIDcwLCA4NSwgODMsIDE5MywgNzAsIDg1LCA4MiwgODgsIDEyOCwgNzAsIDg1LCA4MCwgCi0gICAgMTI4LCA3MCwgODUsIDc4LCA2OSwgODIsIDY1LCAyMDQsIDcwLCA4NSwgNzgsIDY3LCA4NCwgNzMsIDc5LCA3OCwgMTI4LCAKLSAgICA3MCwgODUsIDc2LCA3NiwgNzgsIDY5LCA4MywgODMsIDEyOCwgNzAsIDg1LCA3NiwgMjA0LCA3MCwgODUsIDc0LCA3MywgCi0gICAgMTI4LCA3MCwgODUsIDY5LCA4NCwgMTI4LCA3MCwgODUsIDY5LCAyMDQsIDcwLCA4NSwgNjksIDEyOCwgNzAsIDg0LCA3MiwgCi0gICAgNzksIDgyLCAxOTMsIDcwLCA4MiwgNzksIDg3LCA3OCwgNzMsIDc4LCA3MSwgMTI4LCA3MCwgODIsIDc5LCA4NywgNzgsIDczLCAKLSAgICA3OCwgMTk5LCA3MCwgODIsIDc5LCA4NywgNzgsIDEyOCwgNzAsIDgyLCA3OSwgNzgsIDg0LCA0NSwgODQsIDczLCA3NiwgODQsIAotICAgIDY5LCAxOTYsIDcwLCA4MiwgNzksIDc4LCA4NCwgNDUsIDcwLCA2NSwgNjcsIDczLCA3OCwgMTk5LCA3MCwgODIsIDc5LCAKLSAgICAyMDUsIDcwLCA4MiwgNzksIDcxLCAxMjgsIDcwLCA4MiwgNzksIDE5OSwgNzAsIDgyLCA3MywgODQsIDg1LCAxMjgsIDcwLCAKLSAgICA4MiwgNzMsIDY5LCA4MywgMTI4LCA3MCwgODIsIDczLCA2OSwgMTk2LCA3MCwgODIsIDczLCA2NywgNjUsIDg0LCA3MywgODYsIAotICAgIDY5LCAxMjgsIDcwLCA4MiwgNjksIDg0LCA2NiwgNzksIDY1LCA4MiwgNjgsIDEyOCwgNzAsIDgyLCA2OSwgNzgsIDY3LCAKLSAgICAyMDAsIDcwLCA4MiwgNjksIDY5LCAxMjgsIDcwLCA4MiwgNjksIDE5NywgNzAsIDgyLCA2NSwgNzgsIDE5NSwgNzAsIDgyLCAKLSAgICA2NSwgNzcsIDY5LCAxMjgsIDcwLCA4MiwgNjUsIDcxLCA4MiwgNjUsIDc4LCA4NCwgMTI4LCA3MCwgODIsIDY1LCA3MSwgNzcsIAotICAgIDY5LCA3OCwgODQsIDEyOCwgNzAsIDgyLCA2NSwgNjcsIDg0LCA3MywgNzksIDIwNiwgNzAsIDc5LCA4OCwgMTI4LCA3MCwgCi0gICAgNzksIDg1LCA4MiwgODQsIDY5LCA2OSwgNzgsIDEyOCwgNzAsIDc5LCA4NSwgODIsIDg0LCA2OSwgNjksIDIwNiwgNzAsIDc5LCAKLSAgICA4NSwgODIsIDQ1LCA4NCwgNzIsIDczLCA4MiwgODQsIDg5LCAxMjgsIDcwLCA3OSwgODUsIDgyLCA0NSwgODMsIDg0LCA4MiwgCi0gICAgNzMsIDc4LCAxOTksIDcwLCA3OSwgODUsIDgyLCA0NSwgODAsIDY5LCA4MiwgNDUsIDY5LCAyMDUsIDcwLCA3OSwgODUsIDgyLCAKLSAgICA0NSwgNzYsIDczLCA3OCwgMTk3LCA3MCwgNzksIDg1LCAyMTAsIDcwLCA3OSwgODUsIDc4LCA4NCwgNjUsIDczLCA3OCwgCi0gICAgMTI4LCA3MCwgNzksIDgzLCA4NCwgNjksIDgyLCA3MywgNzgsIDcxLCAxMjgsIDcwLCA3OSwgODIsIDg0LCA4OSwgMTI4LCAKKyAgICA3OSwgMTI4LCA3MiwgODQsIDgzLCAxMjgsIDcyLCA4NCwgNzQsIDEyOCwgNzIsIDgyLCA4OSwgODYsIDc4LCA3MywgMTkzLCAKKyAgICA3MiwgODAsIDg3LCA3MSwgMTI4LCA3MiwgODAsIDY1LCAxMjgsIDcyLCA4MCwgMTI4LCA3MiwgNzksIDg1LCA4MywgMTk3LCAKKyAgICA3MiwgNzksIDg1LCA4MiwgNzEsIDc2LCA2NSwgODMsIDgzLCAxMjgsIDcyLCA3OSwgODUsIDgyLCA3MSwgNzYsIDY1LCA4MywgCisgICAgMjExLCA3MiwgNzksIDg1LCA4MiwgMTI4LCA3MiwgNzksIDg1LCAyMTAsIDcyLCA3OSwgODQsIDY5LCA3NiwgMTI4LCA3MiwgCisgICAgNzksIDg0LCA2NSwgMTI4LCA3MiwgNzksIDgzLCA4MCwgNzMsIDg0LCA2NSwgNzYsIDEyOCwgNzIsIDc5LCA4MiwgODMsIDY5LCAKKyAgICAxMjgsIDcyLCA3OSwgODIsIDgzLCAxOTcsIDcyLCA3OSwgODIsIDc4LCA4MywgMTI4LCA3MiwgNzksIDgyLCA3MywgOTAsIAorICAgIDc5LCA3OCwgODQsIDY1LCA3NiwgNzYsIDIxNywgNzIsIDc5LCA4MiwgNzMsIDkwLCA3OSwgNzgsIDg0LCA2NSwgNzYsIDQ1LCAKKyAgICA0OCwgNTQsIDQ1LCA0OCwgNTQsIDEyOCwgNzIsIDc5LCA4MiwgNzMsIDkwLCA3OSwgNzgsIDg0LCA2NSwgNzYsIDQ1LCA0OCwgCisgICAgNTQsIDQ1LCA0OCwgNTMsIDEyOCwgNzIsIDc5LCA4MiwgNzMsIDkwLCA3OSwgNzgsIDg0LCA2NSwgNzYsIDQ1LCA0OCwgNTQsIAorICAgIDQ1LCA0OCwgNTIsIDEyOCwgNzIsIDc5LCA4MiwgNzMsIDkwLCA3OSwgNzgsIDg0LCA2NSwgNzYsIDQ1LCA0OCwgNTQsIDQ1LCAKKyAgICA0OCwgNTEsIDEyOCwgNzIsIDc5LCA4MiwgNzMsIDkwLCA3OSwgNzgsIDg0LCA2NSwgNzYsIDQ1LCA0OCwgNTQsIDQ1LCA0OCwgCisgICAgNTAsIDEyOCwgNzIsIDc5LCA4MiwgNzMsIDkwLCA3OSwgNzgsIDg0LCA2NSwgNzYsIDQ1LCA0OCwgNTQsIDQ1LCA0OCwgNDksIAorICAgIDEyOCwgNzIsIDc5LCA4MiwgNzMsIDkwLCA3OSwgNzgsIDg0LCA2NSwgNzYsIDQ1LCA0OCwgNTQsIDQ1LCA0OCwgNDgsIDEyOCwgCisgICAgNzIsIDc5LCA4MiwgNzMsIDkwLCA3OSwgNzgsIDg0LCA2NSwgNzYsIDQ1LCA0OCwgNTMsIDQ1LCA0OCwgNTQsIDEyOCwgNzIsIAorICAgIDc5LCA4MiwgNzMsIDkwLCA3OSwgNzgsIDg0LCA2NSwgNzYsIDQ1LCA0OCwgNTMsIDQ1LCA0OCwgNTMsIDEyOCwgNzIsIDc5LCAKKyAgICA4MiwgNzMsIDkwLCA3OSwgNzgsIDg0LCA2NSwgNzYsIDQ1LCA0OCwgNTMsIDQ1LCA0OCwgNTIsIDEyOCwgNzIsIDc5LCA4MiwgCisgICAgNzMsIDkwLCA3OSwgNzgsIDg0LCA2NSwgNzYsIDQ1LCA0OCwgNTMsIDQ1LCA0OCwgNTEsIDEyOCwgNzIsIDc5LCA4MiwgNzMsIAorICAgIDkwLCA3OSwgNzgsIDg0LCA2NSwgNzYsIDQ1LCA0OCwgNTMsIDQ1LCA0OCwgNTAsIDEyOCwgNzIsIDc5LCA4MiwgNzMsIDkwLCAKKyAgICA3OSwgNzgsIDg0LCA2NSwgNzYsIDQ1LCA0OCwgNTMsIDQ1LCA0OCwgNDksIDEyOCwgNzIsIDc5LCA4MiwgNzMsIDkwLCA3OSwgCisgICAgNzgsIDg0LCA2NSwgNzYsIDQ1LCA0OCwgNTMsIDQ1LCA0OCwgNDgsIDEyOCwgNzIsIDc5LCA4MiwgNzMsIDkwLCA3OSwgNzgsIAorICAgIDg0LCA2NSwgNzYsIDQ1LCA0OCwgNTIsIDQ1LCA0OCwgNTQsIDEyOCwgNzIsIDc5LCA4MiwgNzMsIDkwLCA3OSwgNzgsIDg0LCAKKyAgICA2NSwgNzYsIDQ1LCA0OCwgNTIsIDQ1LCA0OCwgNTMsIDEyOCwgNzIsIDc5LCA4MiwgNzMsIDkwLCA3OSwgNzgsIDg0LCA2NSwgCisgICAgNzYsIDQ1LCA0OCwgNTIsIDQ1LCA0OCwgNTIsIDEyOCwgNzIsIDc5LCA4MiwgNzMsIDkwLCA3OSwgNzgsIDg0LCA2NSwgNzYsIAorICAgIDQ1LCA0OCwgNTIsIDQ1LCA0OCwgNTEsIDEyOCwgNzIsIDc5LCA4MiwgNzMsIDkwLCA3OSwgNzgsIDg0LCA2NSwgNzYsIDQ1LCAKKyAgICA0OCwgNTIsIDQ1LCA0OCwgNTAsIDEyOCwgNzIsIDc5LCA4MiwgNzMsIDkwLCA3OSwgNzgsIDg0LCA2NSwgNzYsIDQ1LCA0OCwgCisgICAgNTIsIDQ1LCA0OCwgNDksIDEyOCwgNzIsIDc5LCA4MiwgNzMsIDkwLCA3OSwgNzgsIDg0LCA2NSwgNzYsIDQ1LCA0OCwgNTIsIAorICAgIDQ1LCA0OCwgNDgsIDEyOCwgNzIsIDc5LCA4MiwgNzMsIDkwLCA3OSwgNzgsIDg0LCA2NSwgNzYsIDQ1LCA0OCwgNTEsIDQ1LCAKKyAgICA0OCwgNTQsIDEyOCwgNzIsIDc5LCA4MiwgNzMsIDkwLCA3OSwgNzgsIDg0LCA2NSwgNzYsIDQ1LCA0OCwgNTEsIDQ1LCA0OCwgCisgICAgNTMsIDEyOCwgNzIsIDc5LCA4MiwgNzMsIDkwLCA3OSwgNzgsIDg0LCA2NSwgNzYsIDQ1LCA0OCwgNTEsIDQ1LCA0OCwgNTIsIAorICAgIDEyOCwgNzIsIDc5LCA4MiwgNzMsIDkwLCA3OSwgNzgsIDg0LCA2NSwgNzYsIDQ1LCA0OCwgNTEsIDQ1LCA0OCwgNTEsIDEyOCwgCisgICAgNzIsIDc5LCA4MiwgNzMsIDkwLCA3OSwgNzgsIDg0LCA2NSwgNzYsIDQ1LCA0OCwgNTEsIDQ1LCA0OCwgNTAsIDEyOCwgNzIsIAorICAgIDc5LCA4MiwgNzMsIDkwLCA3OSwgNzgsIDg0LCA2NSwgNzYsIDQ1LCA0OCwgNTEsIDQ1LCA0OCwgNDksIDEyOCwgNzIsIDc5LCAKKyAgICA4MiwgNzMsIDkwLCA3OSwgNzgsIDg0LCA2NSwgNzYsIDQ1LCA0OCwgNTEsIDQ1LCA0OCwgNDgsIDEyOCwgNzIsIDc5LCA4MiwgCisgICAgNzMsIDkwLCA3OSwgNzgsIDg0LCA2NSwgNzYsIDQ1LCA0OCwgNTAsIDQ1LCA0OCwgNTQsIDEyOCwgNzIsIDc5LCA4MiwgNzMsIAorICAgIDkwLCA3OSwgNzgsIDg0LCA2NSwgNzYsIDQ1LCA0OCwgNTAsIDQ1LCA0OCwgNTMsIDEyOCwgNzIsIDc5LCA4MiwgNzMsIDkwLCAKKyAgICA3OSwgNzgsIDg0LCA2NSwgNzYsIDQ1LCA0OCwgNTAsIDQ1LCA0OCwgNTIsIDEyOCwgNzIsIDc5LCA4MiwgNzMsIDkwLCA3OSwgCisgICAgNzgsIDg0LCA2NSwgNzYsIDQ1LCA0OCwgNTAsIDQ1LCA0OCwgNTEsIDEyOCwgNzIsIDc5LCA4MiwgNzMsIDkwLCA3OSwgNzgsIAorICAgIDg0LCA2NSwgNzYsIDQ1LCA0OCwgNTAsIDQ1LCA0OCwgNTAsIDEyOCwgNzIsIDc5LCA4MiwgNzMsIDkwLCA3OSwgNzgsIDg0LCAKKyAgICA2NSwgNzYsIDQ1LCA0OCwgNTAsIDQ1LCA0OCwgNDksIDEyOCwgNzIsIDc5LCA4MiwgNzMsIDkwLCA3OSwgNzgsIDg0LCA2NSwgCisgICAgNzYsIDQ1LCA0OCwgNTAsIDQ1LCA0OCwgNDgsIDEyOCwgNzIsIDc5LCA4MiwgNzMsIDkwLCA3OSwgNzgsIDg0LCA2NSwgNzYsIAorICAgIDQ1LCA0OCwgNDksIDQ1LCA0OCwgNTQsIDEyOCwgNzIsIDc5LCA4MiwgNzMsIDkwLCA3OSwgNzgsIDg0LCA2NSwgNzYsIDQ1LCAKKyAgICA0OCwgNDksIDQ1LCA0OCwgNTMsIDEyOCwgNzIsIDc5LCA4MiwgNzMsIDkwLCA3OSwgNzgsIDg0LCA2NSwgNzYsIDQ1LCA0OCwgCisgICAgNDksIDQ1LCA0OCwgNTIsIDEyOCwgNzIsIDc5LCA4MiwgNzMsIDkwLCA3OSwgNzgsIDg0LCA2NSwgNzYsIDQ1LCA0OCwgNDksIAorICAgIDQ1LCA0OCwgNTEsIDEyOCwgNzIsIDc5LCA4MiwgNzMsIDkwLCA3OSwgNzgsIDg0LCA2NSwgNzYsIDQ1LCA0OCwgNDksIDQ1LCAKKyAgICA0OCwgNTAsIDEyOCwgNzIsIDc5LCA4MiwgNzMsIDkwLCA3OSwgNzgsIDg0LCA2NSwgNzYsIDQ1LCA0OCwgNDksIDQ1LCA0OCwgCisgICAgNDksIDEyOCwgNzIsIDc5LCA4MiwgNzMsIDkwLCA3OSwgNzgsIDg0LCA2NSwgNzYsIDQ1LCA0OCwgNDksIDQ1LCA0OCwgNDgsIAorICAgIDEyOCwgNzIsIDc5LCA4MiwgNzMsIDkwLCA3OSwgNzgsIDg0LCA2NSwgNzYsIDQ1LCA0OCwgNDgsIDQ1LCA0OCwgNTQsIDEyOCwgCisgICAgNzIsIDc5LCA4MiwgNzMsIDkwLCA3OSwgNzgsIDg0LCA2NSwgNzYsIDQ1LCA0OCwgNDgsIDQ1LCA0OCwgNTMsIDEyOCwgNzIsIAorICAgIDc5LCA4MiwgNzMsIDkwLCA3OSwgNzgsIDg0LCA2NSwgNzYsIDQ1LCA0OCwgNDgsIDQ1LCA0OCwgNTIsIDEyOCwgNzIsIDc5LCAKKyAgICA4MiwgNzMsIDkwLCA3OSwgNzgsIDg0LCA2NSwgNzYsIDQ1LCA0OCwgNDgsIDQ1LCA0OCwgNTEsIDEyOCwgNzIsIDc5LCA4MiwgCisgICAgNzMsIDkwLCA3OSwgNzgsIDg0LCA2NSwgNzYsIDQ1LCA0OCwgNDgsIDQ1LCA0OCwgNTAsIDEyOCwgNzIsIDc5LCA4MiwgNzMsIAorICAgIDkwLCA3OSwgNzgsIDg0LCA2NSwgNzYsIDQ1LCA0OCwgNDgsIDQ1LCA0OCwgNDksIDEyOCwgNzIsIDc5LCA4MiwgNzMsIDkwLCAKKyAgICA3OSwgNzgsIDg0LCA2NSwgNzYsIDQ1LCA0OCwgNDgsIDQ1LCA0OCwgNDgsIDEyOCwgNzIsIDc5LCA4MiwgNzMsIDkwLCA3OSwgCisgICAgNzgsIDg0LCA2NSwgNzYsIDEyOCwgNzIsIDc5LCA4MiwgNzMsIDEyOCwgNzIsIDc5LCA4MiwgMTkzLCA3MiwgNzksIDc5LCAKKyAgICA4MiwgODUsIDEyOCwgNzIsIDc5LCA3OSwgODAsIDEyOCwgNzIsIDc5LCA3OSwgNzgsIDEyOCwgNzIsIDc5LCA3OSwgNzUsIAorICAgIDY5LCAxOTYsIDcyLCA3OSwgNzgsIDY5LCA4OSwgNjYsIDY5LCA2OSwgMTI4LCA3MiwgNzksIDc4LCA2OSwgMjE3LCA3MiwgCisgICAgNzksIDc3LCA3OSwgODQsIDcyLCA2OSwgODQsIDczLCA2NywgMTI4LCA3MiwgNzksIDc3LCA3OSwgODQsIDcyLCA2OSwgODQsIAorICAgIDczLCAxOTUsIDcyLCA3OSwgNzYsIDY5LCAxMjgsIDcyLCA3OSwgNzYsIDY4LCA3MywgNzgsIDE5OSwgNzIsIDc5LCA3NiwgCisgICAgNjUsIDc3LCAxMjgsIDcyLCA3OSwgNzYsIDY1LCAyMDUsIDcyLCA3OSwgNzUsIDY1LCAxMjgsIDcyLCA3OSwgNzMsIDEyOCwgCisgICAgNzIsIDc5LCA2NywgNzIsIDc5LCAxMjgsIDcyLCA3OCwgODUsIDg0LCAxMjgsIDcyLCA3OCwgODUsIDc5LCA4OCwgMTI4LCAKKyAgICA3MiwgNzgsIDg1LCA3OSwgMTI4LCA3MiwgNzgsIDc5LCA4OCwgMTI4LCA3MiwgNzgsIDc5LCA4NCwgMTI4LCA3MiwgNzgsIAorICAgIDc5LCA4MCwgMTI4LCA3MiwgNzgsIDczLCA4OCwgMTI4LCA3MiwgNzgsIDczLCA4NCwgMTI4LCA3MiwgNzgsIDczLCA4MCwgCisgICAgMTI4LCA3MiwgNzgsIDczLCA2OSwgODgsIDEyOCwgNzIsIDc4LCA3MywgNjksIDg0LCAxMjgsIDcyLCA3OCwgNzMsIDY5LCAKKyAgICA4MCwgMTI4LCA3MiwgNzgsIDczLCA2OSwgMTI4LCA3MiwgNzgsIDczLCAxMjgsIDcyLCA3OCwgNjksIDg4LCAxMjgsIDcyLCAKKyAgICA3OCwgNjksIDgwLCAxMjgsIDcyLCA3OCwgNjksIDEyOCwgNzIsIDc4LCA2NSwgODgsIDEyOCwgNzIsIDc4LCA2NSwgODQsIAorICAgIDEyOCwgNzIsIDc4LCA2NSwgODAsIDEyOCwgNzIsIDc4LCA2NSwgMTI4LCA3MiwgNzcsIDg5LCA4OCwgMTI4LCA3MiwgNzcsIAorICAgIDg5LCA4MiwgODgsIDEyOCwgNzIsIDc3LCA4OSwgODIsIDEyOCwgNzIsIDc3LCA4OSwgODAsIDEyOCwgNzIsIDc3LCA4OSwgCisgICAgMTI4LCA3MiwgNzcsIDg1LCA4OCwgMTI4LCA3MiwgNzcsIDg1LCA4NCwgMTI4LCA3MiwgNzcsIDg1LCA4MiwgODgsIDEyOCwgCisgICAgNzIsIDc3LCA4NSwgODIsIDEyOCwgNzIsIDc3LCA4NSwgODAsIDEyOCwgNzIsIDc3LCA4NSwgNzksIDg4LCAxMjgsIDcyLCAKKyAgICA3NywgODUsIDc5LCA4MCwgMTI4LCA3MiwgNzcsIDg1LCA3OSwgMTI4LCA3MiwgNzcsIDg1LCAxMjgsIDcyLCA3NywgNzksIAorICAgIDg4LCAxMjgsIDcyLCA3NywgNzksIDg0LCAxMjgsIDcyLCA3NywgNzksIDgwLCAxMjgsIDcyLCA3NywgNzksIDEyOCwgNzIsIAorICAgIDc3LCA3MywgODgsIDEyOCwgNzIsIDc3LCA3MywgODQsIDEyOCwgNzIsIDc3LCA3MywgODAsIDEyOCwgNzIsIDc3LCA3MywgCisgICAgNjksIDg4LCAxMjgsIDcyLCA3NywgNzMsIDY5LCA4MCwgMTI4LCA3MiwgNzcsIDczLCA2OSwgMTI4LCA3MiwgNzcsIDczLCAKKyAgICAxMjgsIDcyLCA3NywgNjksIDEyOCwgNzIsIDc3LCA2NSwgODgsIDEyOCwgNzIsIDc3LCA2NSwgODQsIDEyOCwgNzIsIDc3LCAKKyAgICA2NSwgODAsIDEyOCwgNzIsIDc3LCA2NSwgMTI4LCA3MiwgNzYsIDg5LCA4OCwgMTI4LCA3MiwgNzYsIDg5LCA4NCwgMTI4LCAKKyAgICA3MiwgNzYsIDg5LCA4MiwgODgsIDEyOCwgNzIsIDc2LCA4OSwgODIsIDEyOCwgNzIsIDc2LCA4OSwgODAsIDEyOCwgNzIsIAorICAgIDc2LCA4OSwgMTI4LCA3MiwgNzYsIDg1LCA4OCwgMTI4LCA3MiwgNzYsIDg1LCA4NCwgMTI4LCA3MiwgNzYsIDg1LCA4MiwgCisgICAgODgsIDEyOCwgNzIsIDc2LCA4NSwgODIsIDEyOCwgNzIsIDc2LCA4NSwgODAsIDEyOCwgNzIsIDc2LCA4NSwgNzksIDg4LCAKKyAgICAxMjgsIDcyLCA3NiwgODUsIDc5LCA4MCwgMTI4LCA3MiwgNzYsIDg1LCA3OSwgMTI4LCA3MiwgNzYsIDg1LCAxMjgsIDcyLCAKKyAgICA3NiwgNzksIDg4LCAxMjgsIDcyLCA3NiwgNzksIDgwLCAxMjgsIDcyLCA3NiwgNzksIDEyOCwgNzIsIDc2LCA3MywgODgsIAorICAgIDEyOCwgNzIsIDc2LCA3MywgODQsIDEyOCwgNzIsIDc2LCA3MywgODAsIDEyOCwgNzIsIDc2LCA3MywgNjksIDg4LCAxMjgsIAorICAgIDcyLCA3NiwgNzMsIDY5LCA4MCwgMTI4LCA3MiwgNzYsIDczLCA2OSwgMTI4LCA3MiwgNzYsIDczLCAxMjgsIDcyLCA3NiwgCisgICAgNjksIDg4LCAxMjgsIDcyLCA3NiwgNjksIDgwLCAxMjgsIDcyLCA3NiwgNjksIDEyOCwgNzIsIDc2LCA2NSwgODgsIDEyOCwgCisgICAgNzIsIDc2LCA2NSwgODQsIDEyOCwgNzIsIDc2LCA2NSwgODAsIDEyOCwgNzIsIDc2LCA2NSwgMTI4LCA3MiwgNzUsIDEyOCwgCisgICAgNzIsIDczLCA5MCwgNjYsIDEyOCwgNzIsIDczLCA4MywgODQsIDc5LCA4MiwgNzMsIDE5NSwgNzIsIDczLCA4MiwgNzMsIDgxLCAKKyAgICAxMjgsIDcyLCA3MywgNzEsIDcyLCA0NSwgODMsIDgwLCA2OSwgNjksIDE5NiwgNzIsIDczLCA3MSwgNzIsIDQ1LCA4MiwgNjksIAorICAgIDg2LCA2OSwgODIsIDgzLCA2OSwgNjgsIDQ1LCAxODUsIDcyLCA3MywgNzEsIDcyLCA0NSwgNzIsIDY5LCA2OSwgNzYsIDY5LCAKKyAgICAxOTYsIDcyLCA3MywgNjksIDg4LCAxMjgsIDcyLCA3MywgNjksIDg1LCA3MiwgNDUsIDgzLCA3MywgNzksIDgzLCAxMjgsIAorICAgIDcyLCA3MywgNjksIDg1LCA3MiwgNDUsIDgyLCA3MywgNjksIDg1LCA3NiwgMTI4LCA3MiwgNzMsIDY5LCA4NSwgNzIsIDQ1LCAKKyAgICA4MCwgNzMsIDY5LCA4NSwgODAsIDEyOCwgNzIsIDczLCA2OSwgODUsIDcyLCA0NSwgNzgsIDczLCA2OSwgODUsIDc4LCAxMjgsIAorICAgIDcyLCA3MywgNjksIDg1LCA3MiwgNDUsIDc3LCA3MywgNjksIDg1LCA3NywgMTI4LCA3MiwgNzMsIDY5LCA4NSwgMjAwLCA3MiwgCisgICAgNzMsIDY5LCA4MiwgNzksIDcxLCA3NiwgODksIDgwLCA3MiwgNzMsIDE5NSwgNzIsIDczLCA2OSwgMTI4LCA3MiwgNzMsIDY4LCAKKyAgICA3MywgNzgsIDE5OSwgNzIsIDczLCA2OCwgNjksIDg0LCAxMjgsIDcyLCA3MywgNjgsIDY5LCAxMjgsIDcyLCA3MywgNjYsIAorICAgIDczLCA4MywgNjcsIDg1LCA4MywgMTI4LCA3MiwgNzIsIDg3LCA2NSwgMTI4LCA3MiwgNzIsIDg1LCAxMjgsIDcyLCA3MiwgCisgICAgNzMsIDEyOCwgNzIsIDcyLCA2OSwgNjksIDEyOCwgNzIsIDcyLCA2OSwgMTI4LCA3MiwgNzIsIDY1LCA2NSwgMTI4LCA3MiwgCisgICAgNzEsIDEyOCwgNzIsIDY5LCA4OCwgNzMsIDcwLCA3OSwgODIsIDIwNSwgNzIsIDY5LCA4OCwgNjUsIDcxLCA4MiwgNjUsIAorICAgIDIwNSwgNzIsIDY5LCA4OCwgNjUsIDcxLCA3OSwgNzgsIDEyOCwgNzIsIDY5LCA4MiwgODUsIDg0LCA4NSwgMTI4LCA3MiwgCisgICAgNjksIDgyLCA4NSwgMTI4LCA3MiwgNjksIDgyLCA3NywgNzMsIDg0LCA3MywgNjUsIDIwNiwgNzIsIDY5LCA4MiwgNzcsIDczLCAKKyAgICA3OSwgNzgsIDczLCA2NSwgMjA2LCA3MiwgNjksIDgyLCA3NywgNjksIDgzLCAxMjgsIDcyLCA2OSwgODIsIDY5LCAxMjgsIAorICAgIDcyLCA2OSwgODIsIDY2LCAxMjgsIDcyLCA2OSwgODIsIDY1LCA2OSwgODUsIDIwNSwgNzIsIDY5LCA3OCwgNzEsIDEyOCwgCisgICAgNzIsIDY5LCA3OCwgMTk5LCA3MiwgNjksIDc3LCA4MCwgMTI4LCA3MiwgNjksIDc2LCA3NywgNjksIDg0LCAxMjgsIDcyLCAKKyAgICA2OSwgNzYsIDc3LCA2OSwgMjEyLCA3MiwgNjksIDc2LCAyMDUsIDcyLCA2OSwgNzYsIDczLCA2NywgNzksIDgwLCA4NCwgNjksIAorICAgIDgyLCAxMjgsIDcyLCA2OSwgNzUsIDg1LCA4NCwgNjUsIDY1LCA4MiwgODUsIDEyOCwgNzIsIDY5LCA3MywgODMsIDY5LCA3MywgCisgICAgMTI4LCA3MiwgNjksIDY1LCA4NiwgODksIDEyOCwgNzIsIDY5LCA2NSwgODYsIDY5LCA3OCwgNzYsIDIxNywgNzIsIDY5LCAKKyAgICA2NSwgODYsIDY5LCA3OCwgMTI4LCA3MiwgNjksIDY1LCA4NiwgNjksIDIwNiwgNzIsIDY5LCA2NSwgODIsIDg0LCA4MywgCisgICAgMTI4LCA3MiwgNjksIDY1LCA4MiwgODQsIDQ1LCA4MywgNzIsIDY1LCA4MCwgNjksIDE5NiwgNzIsIDY5LCA2NSwgODIsIDg0LCAKKyAgICAxMjgsIDcyLCA2OSwgNjUsIDgyLCAyMTIsIDcyLCA2OSwgNjUsIDgyLCA0NSwgNzgsIDc5LCA0NSwgNjksIDg2LCA3MywgCisgICAgMjA0LCA3MiwgNjksIDY1LCA2OCwgODMsIDg0LCA4MiwgNzksIDc1LCA2OSwgMTI4LCA3MiwgNjksIDY1LCA2OCwgODMsIDg0LCAKKyAgICA3OSwgNzgsIDE5NywgNzIsIDY5LCA2NSwgNjgsIDgwLCA3MiwgNzksIDc4LCA2OSwgMTI4LCA3MiwgNjksIDY1LCA2OCwgNzMsIAorICAgIDc4LCA3MSwgMTI4LCA3MiwgNjYsIDY1LCA4MywgNjUsIDQ1LCA2OSwgODMsIDY1LCA4MywgMTkzLCA3MiwgNjYsIDY1LCA4MywgCisgICAgMTkzLCA3MiwgNjUsIDg5LCA2NSwgNzgsIDc4LCA2NSwgMTI4LCA3MiwgNjUsIDg2LCA2OSwgMTI4LCA3MiwgNjUsIDg1LCAKKyAgICA4MCwgODQsIDgzLCA4NCwgNzMsIDc3LCA3NywgNjksIDEyOCwgNzIsIDY1LCA4NCwgNzIsIDczLCAxMjgsIDcyLCA2NSwgODQsIAorICAgIDY5LCAxMjgsIDcyLCA2NSwgODQsIDY3LCA3MiwgNzMsIDc4LCAxOTksIDcyLCA2NSwgODQsIDY1LCAxOTgsIDcyLCA2NSwgCisgICAgODMsIDY5LCAyMTAsIDcyLCA2NSwgODMsIDY1LCA3OCwgODQsIDY1LCAxMjgsIDcyLCA2NSwgODIsIDgwLCA3OSwgNzksIDc4LCAKKyAgICAxMjgsIDcyLCA2NSwgODIsIDgwLCA3OSwgNzksIDIwNiwgNzIsIDY1LCA4MiwgNzcsIDc5LCA3OCwgNzMsIDY3LCAxMjgsIAorICAgIDcyLCA2NSwgODIsIDc1LCA3NiwgNjksIDY1LCAyMDYsIDcyLCA2NSwgODIsIDY4LCA3OCwgNjksIDgzLCA4MywgMTI4LCA3MiwgCisgICAgNjUsIDgyLCAxOTYsIDcyLCA2NSwgODAsIDgwLCAyMTcsIDcyLCA2NSwgNzgsIDg1LCA3OCwgNzksIDIwNywgNzIsIDY1LCAKKyAgICA3OCwgNzEsIDkwLCA3MiwgNzksIDIxMywgNzIsIDY1LCA3OCwgNjgsIDgzLCAxMjgsIDcyLCA2NSwgNzgsIDY4LCAyMTEsIAorICAgIDcyLCA2NSwgNzgsIDY4LCA3NiwgNjksIDgzLCAxMjgsIDcyLCA2NSwgNzgsIDY4LCA3NiwgNjksIDEyOCwgNzIsIDY1LCA3OCwgCisgICAgNjgsIDY2LCA2NSwgNzEsIDEyOCwgNzIsIDY1LCA3OCwgNjgsIDEyOCwgNzIsIDY1LCA3OCwgNDUsIDY1LCA3NSwgNjUsIDg0LCAKKyAgICAxMjgsIDcyLCA2NSwgNzcsIDkwLCA2NSwgMTI4LCA3MiwgNjUsIDc3LCA4MywgODQsIDY5LCAyMTAsIDcyLCA2NSwgNzcsIAorICAgIDc3LCA2OSwgODIsIDEyOCwgNzIsIDY1LCA3NywgNzcsIDY5LCAyMTAsIDcyLCA2NSwgNzcsIDY2LCA4NSwgODIsIDcxLCA2OSwgCisgICAgODIsIDEyOCwgNzIsIDY1LCA3NiwgODEsIDY1LCAxMjgsIDcyLCA2NSwgNzYsIDc5LCAxMjgsIDcyLCA2NSwgNzYsIDcwLCAKKyAgICA0NSwgNjcsIDczLCA4MiwgNjcsIDc2LCAxOTcsIDcyLCA2NSwgNzYsIDcwLCAxMjgsIDcyLCA2NSwgNzYsIDY2LCA2OSwgODIsIAorICAgIDY4LCAxMjgsIDcyLCA2NSwgNzYsIDY1LCA3OCwgODQsIDY1LCAxMjgsIDcyLCA2NSwgNzMsIDg0LCA4NSwgMTI4LCA3MiwgCisgICAgNjUsIDczLCA4MiwgNjcsIDg1LCA4NCwgMTI4LCA3MiwgNjUsIDczLCA4MiwgMTI4LCA3MiwgNjUsIDcxLCA3NiwgNjUsIAorICAgIDIxOCwgNzIsIDY1LCA3MSwgNzYsIDEyOCwgNzIsIDY1LCA3MCwgODUsIDc1LCA3MiwgNjUsIDEyOCwgNzIsIDY1LCA3MCwgCisgICAgODUsIDc1LCA3MiwgMTI4LCA3MiwgNjUsIDY5LCA3MSwgMjA0LCA3MiwgNjUsIDY1LCA4MiwgODUsIDEyOCwgNzIsIDY1LCAKKyAgICA2NSwgNzcsIDEyOCwgNzIsIDY1LCAxOTMsIDcyLCA2NSwgNDUsIDcyLCA2NSwgMTI4LCA3MiwgNDgsIDQ4LCA1NiwgMTI4LCAKKyAgICA3MiwgNDgsIDQ4LCA1NSwgMTI4LCA3MiwgNDgsIDQ4LCA1NCwgNjUsIDEyOCwgNzIsIDQ4LCA0OCwgNTQsIDEyOCwgNzIsIAorICAgIDQ4LCA0OCwgNTMsIDEyOCwgNzIsIDQ4LCA0OCwgNTIsIDEyOCwgNzIsIDQ4LCA0OCwgNTEsIDEyOCwgNzIsIDQ4LCA0OCwgCisgICAgNTAsIDEyOCwgNzIsIDQ4LCA0OCwgNDksIDEyOCwgNzIsIDQ1LCA4NCwgODksIDgwLCAxOTcsIDcxLCA4OSwgODUsIDEyOCwgCisgICAgNzEsIDg5LCA3OSwgNzgsIDEyOCwgNzEsIDg5LCA3OSwgMTI4LCA3MSwgODksIDczLCAxMjgsIDcxLCA4OSwgNzAsIDIxMywgCisgICAgNzEsIDg5LCA2OSwgNjksIDEyOCwgNzEsIDg5LCA2NSwgODMsIDEyOCwgNzEsIDg5LCA2NSwgNjUsIDEyOCwgNzEsIDg5LCAKKyAgICA2NSwgMTI4LCA3MSwgODksIDEyOCwgNzEsIDg3LCA4NSwgMTI4LCA3MSwgODcsIDczLCAxMjgsIDcxLCA4NywgNjksIDY5LCAKKyAgICAxMjgsIDcxLCA4NywgNjksIDEyOCwgNzEsIDg3LCA2NSwgNjUsIDEyOCwgNzEsIDg3LCA2NSwgMTI4LCA3MSwgODYsIDEyOCwgCisgICAgNzEsIDg1LCA4MiwgODUsIDgzLCA3MiwgMTI4LCA3MSwgODUsIDgyLCA4NSwgNzgsIDEyOCwgNzEsIDg1LCA4MiwgNjUsIDc3LCAKKyAgICA4NSwgODQsIDc5LCA3OCwgMTI4LCA3MSwgODUsIDgyLCA1NSwgMTI4LCA3MSwgODUsIDc4LCA4NSwgMTI4LCA3MSwgODUsIAorICAgIDc4LCAyMTMsIDcxLCA4NSwgMjA1LCA3MSwgODUsIDc2LCAxMjgsIDcxLCA4NSwgNzMsIDg0LCA2NSwgODIsIDEyOCwgNzEsIAorICAgIDg1LCAxOTksIDcxLCA4NSwgNjksIDcyLCAxMjgsIDcxLCA4NSwgNjksIDIwMCwgNzEsIDg1LCA2OCwgMTI4LCA3MSwgODUsIAorICAgIDE5NiwgNzEsIDg1LCA2NSwgODIsIDY4LCA4MywgNzcsIDY1LCA3OCwgMTI4LCA3MSwgODUsIDY1LCA4MiwgNjgsIDY5LCA2OCwgCisgICAgNzgsIDY5LCA4MywgODMsIDEyOCwgNzEsIDg1LCA2NSwgODIsIDY4LCA2OSwgMTk2LCA3MSwgODUsIDY1LCA4MiwgNjgsIAorICAgIDEyOCwgNzEsIDg1LCA2NSwgODIsIDY1LCA3OCwgMjAxLCA3MSwgODUsIDE5MywgNzEsIDg1LCAxNzgsIDcxLCA4NCwgNjksIAorICAgIDIxMCwgNzEsIDgzLCA4NSwgNzcsIDEyOCwgNzEsIDgzLCA4NSwgMjA1LCA3MSwgODIsIDIxMywgNzEsIDgyLCA3OSwgODcsIAorICAgIDczLCA3OCwgMTk5LCA3MSwgODIsIDc5LCA4NSwgNzgsIDY4LCAxMjgsIDcxLCA4MiwgNzksIDc4LCA4NCwgNzIsIDczLCA4MywgCisgICAgNzcsIDY1LCA4NCwgNjUsIDEyOCwgNzEsIDgyLCA3MywgNzgsIDc4LCA3MywgNzgsIDE5OSwgNzEsIDgyLCA3MywgNzcsIDY1LCAKKyAgICA2NywgNzMsIDc4LCAxOTksIDcxLCA4MiwgNjksIDcxLCA3OSwgODIsIDczLCA2NSwgMjA2LCA3MSwgODIsIDY5LCA2OSwgCisgICAgMjA2LCA3MSwgODIsIDY5LCA2NSwgODQsIDc4LCA2OSwgODMsIDgzLCAxMjgsIDcxLCA4MiwgNjksIDY1LCA4NCwgNjksIDgyLCAKKyAgICA0NSwgODQsIDcyLCA2NSwgNzgsIDEyOCwgNzEsIDgyLCA2OSwgNjUsIDg0LCA2OSwgODIsIDQ1LCA4NCwgNzIsIDY1LCAyMDYsIAorICAgIDcxLCA4MiwgNjksIDY1LCA4NCwgNjksIDIxMCwgNzEsIDgyLCA2OSwgNjUsIDIxMiwgNzEsIDgyLCA2NSwgODYsIDY5LCA4OSwgCisgICAgNjUsIDgyLCAxOTYsIDcxLCA4MiwgNjUsIDg2LCA2OSwgNDUsIDc3LCA2NSwgNjcsIDgyLCA3OSwgNzgsIDEyOCwgNzEsIDgyLCAKKyAgICA2NSwgODYsIDY5LCA0NSwgNjUsIDY3LCA4NSwgODQsIDY5LCA0NSwgNzEsIDgyLCA2NSwgODYsIDY5LCAxMjgsIDcxLCA4MiwgCisgICAgNjUsIDg2LCAxOTcsIDcxLCA4MiwgNjUsIDg0LCA2OSwgODIsIDEyOCwgNzEsIDgyLCA2NSwgODMsIDgzLCAxMjgsIDcxLCAKKyAgICA4MiwgNjUsIDgzLCAyMTEsIDcxLCA4MiwgNjUsIDgwLCA3MiwgNjksIDc3LCAxOTcsIDcxLCA4MiwgNjUsIDgwLCA2OSwgODMsIAorICAgIDEyOCwgNzEsIDgyLCA2NSwgNzcsIDc3LCAxOTMsIDcxLCA4MiwgNjUsIDczLCA3OCwgMTI4LCA3MSwgODIsIDY1LCA2OCwgCisgICAgODUsIDY1LCA4NCwgNzMsIDc5LCAyMDYsIDcxLCA4MiwgNjUsIDY3LCA2OSwgMTI4LCA3MSwgODIsIDY1LCA2NywgMTk3LCAKKyAgICA3MSwgODAsIDY1LCAxMjgsIDcxLCA3OSwgODIsIDg0LCA3MiwgNzcsIDczLCA3NSwgNzksIDIwNiwgNzEsIDc5LCA4MiwgODQsIAorICAgIDEyOCwgNzEsIDc5LCA4MiwgNzEsIDc5LCA4NCwgNjksIDgyLCA3MywgMTI4LCA3MSwgNzksIDgyLCA3MSwgNzksIDgzLCA4OSwgCisgICAgNzgsIDg0LCA3MiwgNjksIDg0LCA3OSwgNzgsIDEyOCwgNzEsIDc5LCA4MiwgNzEsIDc5LCAyMDYsIDcxLCA3OSwgODIsIDcxLCAKKyAgICA3MywgMTI4LCA3MSwgNzksIDgyLCA2NSwgMTI4LCA3MSwgNzksIDc5LCAxOTYsIDcxLCA3OSwgNzgsIDcxLCAxMjgsIDcxLCAKKyAgICA3OSwgNzYsIDY4LCAxMjgsIDcxLCA3OSwgNzUsIDEyOCwgNzEsIDc5LCA3MywgNzgsIDE5OSwgNzEsIDc5LCA2NiwgNzYsIAorICAgIDczLCA3OCwgMTI4LCA3MSwgNzksIDY1LCA3NiwgMTI4LCA3MSwgNzksIDY1LCAyMDQsIDcxLCA3OSwgNjUsIDEyOCwgNzEsIAorICAgIDc4LCA4OSwgNzMsIDgzLCAxMjgsIDcxLCA3OCwgNjUsIDg2LCA3MywgODksIDY1LCA3OCwgNzMsIDEyOCwgNzEsIDc2LCA3OSwgCisgICAgODcsIDczLCA3OCwgMTk5LCA3MSwgNzYsIDc5LCA4NCwgODQsIDY1LCAyMDQsIDcxLCA3NiwgNzksIDY2LCAxOTcsIDcxLCAKKyAgICA3NiwgNzMsIDgzLCA4MywgNjUsIDc4LCA2OCwgMjA3LCA3MSwgNzYsIDY5LCA3MywgNjcsIDIwMCwgNzEsIDc2LCA2NSwgNzEsIAorICAgIDc5LCA3NiwgNzMsIDEyOCwgNzEsIDc2LCA2NSwgMTI4LCA3MSwgNzQsIDY5LCAxMjgsIDcxLCA3MywgODgsIDEyOCwgNzEsIAorICAgIDczLCA4NCwgMTI4LCA3MSwgNzMsIDgzLCA3MiwgMTI4LCA3MSwgNzMsIDgzLCAyMDAsIDcxLCA3MywgODMsIDY1LCA3NiwgCisgICAgMTI4LCA3MSwgNzMsIDgyLCA4NSwgNjgsIDY1LCA2NSwgMTI4LCA3MSwgNzMsIDgyLCA3NiwgMTI4LCA3MSwgNzMsIDgyLCAKKyAgICA1MSwgMTI4LCA3MSwgNzMsIDgyLCAxNzksIDcxLCA3MywgODIsIDUwLCAxMjgsIDcxLCA3MywgODIsIDE3OCwgNzEsIDczLCAKKyAgICA4MCwgMTI4LCA3MSwgNzMsIDc4LCA3MywgNzMsIDEyOCwgNzEsIDczLCA3NywgNjksIDc2LCAxMjgsIDcxLCA3MywgNzcsIAorICAgIDY5LCAyMDQsIDcxLCA3MywgNzcsIDEyOCwgNzEsIDczLCA3MSwgNjUsIDEyOCwgNzEsIDczLCA2OSwgODQsIDEyOCwgNzEsIAorICAgIDczLCA2OCwgNzMsIDc3LCAxMjgsIDcxLCA3MywgNjYsIDY2LCA3OSwgODUsIDIxMSwgNzEsIDczLCA2NiwgNjUsIDEyOCwgCisgICAgNzEsIDczLCA1MiwgMTI4LCA3MSwgNzMsIDE4MCwgNzEsIDcyLCA5MCwgMTI4LCA3MSwgNzIsIDg3LCA2NSwgMTI4LCA3MSwgCisgICAgNzIsIDg1LCA3OCwgNzgsIDY1LCAxMjgsIDcxLCA3MiwgODUsIDc4LCA3OCwgMTkzLCA3MSwgNzIsIDg1LCAxMjgsIDcxLCAKKyAgICA3MiwgNzksIDg1LCAxMjgsIDcxLCA3MiwgNzksIDgzLCA4NCwgMTI4LCA3MSwgNzIsIDc5LCAxMjgsIDcxLCA3MiwgNzMsIAorICAgIDEyOCwgNzEsIDcyLCA3MiwgNjUsIDEyOCwgNzEsIDcyLCA2OSwgODUsIDg4LCAxMjgsIDcxLCA3MiwgNjksIDg1LCA3OCwgCisgICAgMTI4LCA3MSwgNzIsIDY5LCA4NSwgNzEsIDcyLCA2OSwgODUsIDY1LCA2OSwgNzcsIDEyOCwgNzEsIDcyLCA2OSwgODUsIDcxLCAKKyAgICA3MiwgNjksIDc4LCAxMjgsIDcxLCA3MiwgNjksIDg1LCA2NSwgNjksIDgyLCA2NSwgNjksIDEyOCwgNzEsIDcyLCA2OSwgODUsIAorICAgIDY1LCA2OSwgNzEsIDcyLCA2OSwgODUsIDY1LCA2OSwgMTI4LCA3MSwgNzIsIDY5LCA4NCwgMTI4LCA3MSwgNzIsIDY5LCA2OSwgCisgICAgMTI4LCA3MSwgNzIsIDY5LCAxMjgsIDcxLCA3MiwgMTk3LCA3MSwgNzIsIDY1LCA4OSwgNzgsIDEyOCwgNzEsIDcyLCA2NSwgCisgICAgODIsIDY1LCA2OSwgMTI4LCA3MSwgNzIsIDY1LCA4MCwgMTI4LCA3MSwgNzIsIDY1LCA3OCwgMTI4LCA3MSwgNzIsIDY1LCAKKyAgICA3NywgNjUsIDc2LCAxMjgsIDcxLCA3MiwgNjUsIDczLCA3OCwgODUsIDEyOCwgNzEsIDcyLCA2NSwgNzMsIDc4LCAxMjgsIAorICAgIDcxLCA3MiwgNjUsIDczLCAyMDYsIDcxLCA3MiwgNjUsIDY4LCAxMjgsIDcxLCA3MiwgNjUsIDY1LCA3NywgNjUsIDY5LCAKKyAgICAxMjgsIDcxLCA3MiwgNjUsIDY1LCAxMjgsIDcxLCA3MSwgODcsIDczLCAxMjgsIDcxLCA3MSwgODcsIDY5LCA2OSwgMTI4LCAKKyAgICA3MSwgNzEsIDg3LCA2OSwgMTI4LCA3MSwgNzEsIDg3LCA2NSwgNjUsIDEyOCwgNzEsIDcxLCA4NywgNjUsIDEyOCwgNzEsIAorICAgIDcxLCA4NSwgODgsIDEyOCwgNzEsIDcxLCA4NSwgODQsIDEyOCwgNzEsIDcxLCA4NSwgODIsIDg4LCAxMjgsIDcxLCA3MSwgCisgICAgODUsIDgyLCAxMjgsIDcxLCA3MSwgODUsIDc5LCA4OCwgMTI4LCA3MSwgNzEsIDg1LCA3OSwgODQsIDEyOCwgNzEsIDcxLCAKKyAgICA4NSwgNzksIDgwLCAxMjgsIDcxLCA3MSwgODUsIDc5LCAxMjgsIDcxLCA3MSwgNzksIDg4LCAxMjgsIDcxLCA3MSwgNzksIAorICAgIDg0LCAxMjgsIDcxLCA3MSwgNzksIDgwLCAxMjgsIDcxLCA3MSwgNzMsIDg4LCAxMjgsIDcxLCA3MSwgNzMsIDg0LCAxMjgsIAorICAgIDcxLCA3MSwgNzMsIDY5LCA4OCwgMTI4LCA3MSwgNzEsIDczLCA2OSwgODAsIDEyOCwgNzEsIDcxLCA3MywgNjksIDEyOCwgCisgICAgNzEsIDcxLCA2OSwgODgsIDEyOCwgNzEsIDcxLCA2OSwgODQsIDEyOCwgNzEsIDcxLCA2OSwgODAsIDEyOCwgNzEsIDcxLCAKKyAgICA2NSwgODgsIDEyOCwgNzEsIDcxLCA2NSwgODQsIDEyOCwgNzEsIDcxLCA2NSwgNjUsIDEyOCwgNzEsIDY5LCA4NCwgMTkzLCAKKyAgICA3MSwgNjksIDgzLCA4NCwgODUsIDgyLCA2OSwgMTI4LCA3MSwgNjksIDgzLCA3MiwgODUsIDEyOCwgNzEsIDY5LCA4MywgNzIsIAorICAgIDg0LCA3MywgNzgsIDEyOCwgNzEsIDY5LCA4MywgNzIsIDg0LCA3MywgMjA2LCA3MSwgNjksIDgzLCA3MiwgNTAsIDEyOCwgCisgICAgNzEsIDY5LCA4MiwgODMsIDcyLCA2NSwgODksIDczLCA3NywgMTI4LCA3MSwgNjksIDgyLCA3NywgNjUsIDIwNiwgNzEsIDY5LCAKKyAgICA4MiwgNjksIDgzLCA3MiwgMTI4LCA3MSwgNjksIDgyLCA2OSwgODMsIDIwMCwgNzEsIDY5LCA3OSwgNzcsIDY5LCA4NCwgODIsIAorICAgIDczLCA2NywgNjUsIDc2LCA3NiwgMjE3LCA3MSwgNjksIDc5LCA3NywgNjksIDg0LCA4MiwgNzMsIDE5NSwgNzEsIDY5LCA3OCwgCisgICAgODQsIDc2LCAxOTcsIDcxLCA2OSwgNzgsIDczLCA4NCwgNzMsIDg2LCA2OSwgMTI4LCA3MSwgNjksIDc4LCA3MywgNzUsIAorICAgIDIwMSwgNzEsIDY5LCA3OCwgNjksIDgyLCA3MywgMTk1LCA3MSwgNjksIDc3LCA3MywgNzgsIDczLCAxMjgsIDcxLCA2OSwgCisgICAgNzcsIDczLCA3OCwgNjUsIDg0LCA3MywgNzksIDIwNiwgNzEsIDY5LCAyMDUsIDcxLCA2OSwgNjgsIDc5LCA3NiwgNjUsIAorICAgIDEyOCwgNzEsIDY5LCA2OCwgNjksIDEyOCwgNzEsIDY5LCA2NiwgMjA3LCA3MSwgNjksIDY2LCAxOTMsIDcxLCA2OSwgNjUsIAorICAgIDgyLCAxMjgsIDcxLCA2OSwgNjUsIDIxMCwgNzEsIDY4LCA2NSwgNzgsIDEyOCwgNzEsIDY3LCA3MywgNzEsIDEyOCwgNzEsIAorICAgIDY3LCA2NSwgMjA2LCA3MSwgNjYsIDc5LCA3OCwgMTI4LCA3MSwgNjYsIDczLCA2OSwgMTk3LCA3MSwgNjYsIDY5LCA4NSwgCisgICAgODgsIDEyOCwgNzEsIDY2LCA2OSwgODQsIDEyOCwgNzEsIDY2LCA2NSwgODksIDczLCAxMjgsIDcxLCA2NiwgNjUsIDc1LCAKKyAgICA4NSwgODIsIDg1LCA3OCwgNjksIDc4LCAxMjgsIDcxLCA2NiwgMTI4LCA3MSwgNjUsIDg5LCA2NSwgNzgsIDg1LCA3NSwgNzMsIAorICAgIDg0LCA4NCwgNjUsIDEyOCwgNzEsIDY1LCA4OSwgNjUsIDc4LCA3OCwgNjUsIDEyOCwgNzEsIDY1LCA4OSwgMTI4LCA3MSwgCisgICAgNjUsIDg1LCA3OCwgODQsIDc2LCA2OSwgODQsIDEyOCwgNzEsIDY1LCA4NCwgNzIsIDY5LCA4MiwgNzMsIDc4LCA3MSwgMTI4LCAKKyAgICA3MSwgNjUsIDg0LCA3MiwgNjksIDgyLCA3MywgNzgsIDE5OSwgNzEsIDY1LCA4NCwgNjksIDEyOCwgNzEsIDY1LCA4MywgNzIsIAorICAgIDY1LCA3OCwgMTI4LCA3MSwgNjUsIDgyLCA4MywgNzIsIDg1LCA3OCwgNzMsIDEyOCwgNzEsIDY1LCA4MiwgNzksIDc4LCAKKyAgICAxMjgsIDcxLCA2NSwgODIsIDc3LCA2OSwgNzgsIDg0LCAxMjgsIDcxLCA2NSwgODIsIDY4LCA2OSwgNzgsIDEyOCwgNzEsIAorICAgIDY1LCA4MiwgNTEsIDEyOCwgNzEsIDY1LCA4MCwgODAsIDY5LCAxOTYsIDcxLCA2NSwgMjA4LCA3MSwgNjUsIDc4LCA3NywgCisgICAgNjUsIDEyOCwgNzEsIDY1LCA3OCwgNzEsIDczLCA2NSwgMTI4LCA3MSwgNjUsIDc4LCA2OCwgMTkzLCA3MSwgNjUsIDc4LCAKKyAgICA1MCwgMTI4LCA3MSwgNjUsIDc4LCAxNzgsIDcxLCA2NSwgNzcsIDc3LCA2NSwgMTI4LCA3MSwgNjUsIDc3LCA3NiwgNjUsIAorICAgIDEyOCwgNzEsIDY1LCA3NywgNzYsIDEyOCwgNzEsIDY1LCA3NywgNjksIDEyOCwgNzEsIDY1LCA3NywgMTk3LCA3MSwgNjUsIAorICAgIDc3LCA2NSwgNzgsIDEyOCwgNzEsIDY1LCA3NywgNjUsIDc2LCAxMjgsIDcxLCA2NSwgNzcsIDY1LCAyMDQsIDcxLCA2NSwgCisgICAgNzEsIDEyOCwgNzEsIDY1LCA3MCwgMTI4LCA3MSwgNjUsIDE5OCwgNzEsIDY1LCA2OSwgODQsIDg0LCA2NSwgNDUsIDgwLCAKKyAgICA3MywgNzYsIDc2LCA2NSwgMTI4LCA3MSwgNjUsIDY4LCA3OSwgNzYsIDEyOCwgNzEsIDY1LCA2OCwgMTI4LCA3MSwgNjUsIAorICAgIDE5NiwgNzEsIDY1LCA2NiwgNjUsIDEyOCwgNzEsIDY1LCA2NiwgMTkzLCA3MSwgNjUsIDY1LCA3MCwgODUsIDEyOCwgNzEsIAorICAgIDY1LCAxNzgsIDcxLCA0OCwgNTMsIDUyLCAxMjgsIDcxLCA0OCwgNTMsIDUxLCAxMjgsIDcxLCA0OCwgNTMsIDUwLCAxMjgsIAorICAgIDcxLCA0OCwgNTMsIDQ5LCAxMjgsIDcxLCA0OCwgNTMsIDQ4LCAxMjgsIDcxLCA0OCwgNTIsIDU3LCAxMjgsIDcxLCA0OCwgCisgICAgNTIsIDU2LCAxMjgsIDcxLCA0OCwgNTIsIDU1LCAxMjgsIDcxLCA0OCwgNTIsIDU0LCAxMjgsIDcxLCA0OCwgNTIsIDUzLCAKKyAgICA2NSwgMTI4LCA3MSwgNDgsIDUyLCA1MywgMTI4LCA3MSwgNDgsIDUyLCA1MiwgMTI4LCA3MSwgNDgsIDUyLCA1MSwgNjUsIAorICAgIDEyOCwgNzEsIDQ4LCA1MiwgNTEsIDEyOCwgNzEsIDQ4LCA1MiwgNTAsIDEyOCwgNzEsIDQ4LCA1MiwgNDksIDEyOCwgNzEsIAorICAgIDQ4LCA1MiwgNDgsIDEyOCwgNzEsIDQ4LCA1MSwgNTcsIDEyOCwgNzEsIDQ4LCA1MSwgNTYsIDEyOCwgNzEsIDQ4LCA1MSwgCisgICAgNTUsIDY1LCAxMjgsIDcxLCA0OCwgNTEsIDU1LCAxMjgsIDcxLCA0OCwgNTEsIDU0LCA2NSwgMTI4LCA3MSwgNDgsIDUxLCAKKyAgICA1NCwgMTI4LCA3MSwgNDgsIDUxLCA1MywgMTI4LCA3MSwgNDgsIDUxLCA1MiwgMTI4LCA3MSwgNDgsIDUxLCA1MSwgMTI4LCAKKyAgICA3MSwgNDgsIDUxLCA1MCwgMTI4LCA3MSwgNDgsIDUxLCA0OSwgMTI4LCA3MSwgNDgsIDUxLCA0OCwgMTI4LCA3MSwgNDgsIAorICAgIDUwLCA1NywgMTI4LCA3MSwgNDgsIDUwLCA1NiwgMTI4LCA3MSwgNDgsIDUwLCA1NSwgMTI4LCA3MSwgNDgsIDUwLCA1NCwgCisgICAgNjUsIDEyOCwgNzEsIDQ4LCA1MCwgNTQsIDEyOCwgNzEsIDQ4LCA1MCwgNTMsIDEyOCwgNzEsIDQ4LCA1MCwgNTIsIDEyOCwgCisgICAgNzEsIDQ4LCA1MCwgNTEsIDEyOCwgNzEsIDQ4LCA1MCwgNTAsIDEyOCwgNzEsIDQ4LCA1MCwgNDksIDEyOCwgNzEsIDQ4LCAKKyAgICA1MCwgNDgsIDY1LCAxMjgsIDcxLCA0OCwgNTAsIDQ4LCAxMjgsIDcxLCA0OCwgNDksIDU3LCAxMjgsIDcxLCA0OCwgNDksIAorICAgIDU2LCAxMjgsIDcxLCA0OCwgNDksIDU1LCAxMjgsIDcxLCA0OCwgNDksIDU0LCAxMjgsIDcxLCA0OCwgNDksIDUzLCAxMjgsIAorICAgIDcxLCA0OCwgNDksIDUyLCAxMjgsIDcxLCA0OCwgNDksIDUxLCAxMjgsIDcxLCA0OCwgNDksIDUwLCAxMjgsIDcxLCA0OCwgCisgICAgNDksIDQ5LCA2NSwgMTI4LCA3MSwgNDgsIDQ5LCA0OSwgMTI4LCA3MSwgNDgsIDQ5LCA0OCwgMTI4LCA3MSwgNDgsIDQ4LCAKKyAgICA1NywgMTI4LCA3MSwgNDgsIDQ4LCA1NiwgMTI4LCA3MSwgNDgsIDQ4LCA1NSwgNjYsIDEyOCwgNzEsIDQ4LCA0OCwgNTUsIAorICAgIDY1LCAxMjgsIDcxLCA0OCwgNDgsIDU1LCAxMjgsIDcxLCA0OCwgNDgsIDU0LCA2NSwgMTI4LCA3MSwgNDgsIDQ4LCA1NCwgCisgICAgMTI4LCA3MSwgNDgsIDQ4LCA1MywgMTI4LCA3MSwgNDgsIDQ4LCA1MiwgMTI4LCA3MSwgNDgsIDQ4LCA1MSwgMTI4LCA3MSwgCisgICAgNDgsIDQ4LCA1MCwgMTI4LCA3MSwgNDgsIDQ4LCA0OSwgMTI4LCA3MCwgODksIDg4LCAxMjgsIDcwLCA4OSwgODQsIDEyOCwgCisgICAgNzAsIDg5LCA4MCwgMTI4LCA3MCwgODksIDY1LCAxMjgsIDcwLCA4NywgNzMsIDEyOCwgNzAsIDg3LCA2OSwgNjksIDEyOCwgCisgICAgNzAsIDg3LCA2OSwgMTI4LCA3MCwgODcsIDY1LCA2NSwgMTI4LCA3MCwgODcsIDY1LCAxMjgsIDcwLCA4NiwgODMsIDUxLCAKKyAgICAxMjgsIDcwLCA4NiwgODMsIDUwLCAxMjgsIDcwLCA4NiwgODMsIDQ5LCAxMjgsIDcwLCA4NSwgODgsIDEyOCwgNzAsIDg1LCAKKyAgICA4NCwgMTI4LCA3MCwgODUsIDgzLCA2OSwgMTI4LCA3MCwgODUsIDgzLCAxOTMsIDcwLCA4NSwgODIsIDg4LCAxMjgsIDcwLCAKKyAgICA4NSwgODAsIDEyOCwgNzAsIDg1LCA3OCwgNjksIDgyLCA2NSwgMjA0LCA3MCwgODUsIDc4LCA2NywgODQsIDczLCA3OSwgNzgsIAorICAgIDY1LCAyMDQsIDcwLCA4NSwgNzgsIDY3LCA4NCwgNzMsIDc5LCA3OCwgMTI4LCA3MCwgODUsIDc2LCA3NiwgNzgsIDY5LCA4MywgCisgICAgODMsIDEyOCwgNzAsIDg1LCA3NiwgMjA0LCA3MCwgODUsIDc0LCA3MywgMTI4LCA3MCwgODUsIDY5LCA4NCwgMTI4LCA3MCwgCisgICAgODUsIDY5LCAyMDQsIDcwLCA4NSwgNjksIDEyOCwgNzAsIDg0LCA3MiwgNzksIDgyLCAxOTMsIDcwLCA4MiwgNzksIDg3LCAKKyAgICA3OCwgNzMsIDc4LCA3MSwgMTI4LCA3MCwgODIsIDc5LCA4NywgNzgsIDczLCA3OCwgMTk5LCA3MCwgODIsIDc5LCA4NywgNzgsIAorICAgIDEyOCwgNzAsIDgyLCA3OSwgNzgsIDg0LCA0NSwgODQsIDczLCA3NiwgODQsIDY5LCAxOTYsIDcwLCA4MiwgNzksIDc4LCA4NCwgCisgICAgNDUsIDcwLCA2NSwgNjcsIDczLCA3OCwgMTk5LCA3MCwgODIsIDc5LCAyMDUsIDcwLCA4MiwgNzksIDcxLCAxMjgsIDcwLCAKKyAgICA4MiwgNzksIDE5OSwgNzAsIDgyLCA3MywgODQsIDg1LCAxMjgsIDcwLCA4MiwgNzMsIDY5LCA4MywgMTI4LCA3MCwgODIsIAorICAgIDczLCA2OSwgMTk2LCA3MCwgODIsIDczLCA2NywgNjUsIDg0LCA3MywgODYsIDY5LCAxMjgsIDcwLCA4MiwgNjksIDg0LCA2NiwgCisgICAgNzksIDY1LCA4MiwgNjgsIDEyOCwgNzAsIDgyLCA2OSwgNzgsIDY3LCAyMDAsIDcwLCA4MiwgNjksIDY5LCAxMjgsIDcwLCAKKyAgICA4MiwgNjksIDE5NywgNzAsIDgyLCA2NSwgNzgsIDE5NSwgNzAsIDgyLCA2NSwgNzcsIDY5LCAxMjgsIDcwLCA4MiwgNjUsIAorICAgIDcxLCA4MiwgNjUsIDc4LCA4NCwgMTI4LCA3MCwgODIsIDY1LCA3MSwgNzcsIDY5LCA3OCwgODQsIDEyOCwgNzAsIDgyLCA2NSwgCisgICAgNjcsIDg0LCA3MywgNzksIDIwNiwgNzAsIDc5LCA4OCwgMTI4LCA3MCwgNzksIDg1LCA4MiwgODQsIDY5LCA2OSwgNzgsIAorICAgIDEyOCwgNzAsIDc5LCA4NSwgODIsIDg0LCA2OSwgNjksIDIwNiwgNzAsIDc5LCA4NSwgODIsIDQ1LCA4NCwgNzIsIDczLCA4MiwgCisgICAgODQsIDg5LCAxMjgsIDcwLCA3OSwgODUsIDgyLCA0NSwgODMsIDg0LCA4MiwgNzMsIDc4LCAxOTksIDcwLCA3OSwgODUsIDgyLCAKKyAgICA0NSwgODAsIDY5LCA4MiwgNDUsIDY5LCAyMDUsIDcwLCA3OSwgODUsIDgyLCA0NSwgNzYsIDczLCA3OCwgMTk3LCA3MCwgNzksIAorICAgIDg1LCAyMTAsIDcwLCA3OSwgODUsIDc4LCA4NCwgNjUsIDczLCA3OCwgMTI4LCA3MCwgNzksIDgzLCA4NCwgNjksIDgyLCA3MywgCisgICAgNzgsIDcxLCAxMjgsIDcwLCA3OSwgODIsIDg3LCA2NSwgODIsIDY4LCAxMjgsIDcwLCA3OSwgODIsIDg0LCA4OSwgMTI4LCAKICAgICA3MCwgNzksIDgyLCA4NCwgMjE3LCA3MCwgNzksIDgyLCA4NCwgNjksIDEyOCwgNzAsIDc5LCA4MiwgNzcsIDIxMSwgNzAsIAogICAgIDc5LCA4MiwgNzcsIDY1LCA4NCwgODQsIDczLCA3OCwgNzEsIDEyOCwgNzAsIDc5LCA4MiwgNzUsIDY5LCAxOTYsIDcwLCA3OSwgCiAgICAgODIsIDY3LCA2OSwgODMsIDEyOCwgNzAsIDc5LCA4MiwgNjcsIDY5LCAxMjgsIDcwLCA3OSwgODAsIDEyOCwgNzAsIDc5LCAKQEAgLTM0NjIsMzg0ICszNjE4LDM4OSBAQAogICAgIDEyOCwgNzAsIDc5LCA3OSwgODQsIDEyOCwgNzAsIDc5LCA3OSwgNjgsIDEyOCwgNzAsIDc5LCA3OSwgMTI4LCA3MCwgNzksIAogICAgIDc4LCA3MSwgNzcsIDY1LCA3OCwgMTI4LCA3MCwgNzksIDc3LCAxMjgsIDcwLCA3OSwgNzYsIDc2LCA4OSwgMTI4LCA3MCwgCiAgICAgNzksIDc2LCA3NiwgNzksIDg3LCA3MywgNzgsIDcxLCAxMjgsIDcwLCA3OSwgNzYsIDY4LCA2OSwgODIsIDEyOCwgNzAsIDc5LCAKLSAgICA3NiwgNjgsIDY5LCAxOTYsIDcwLCA3OSwgNzEsIDcxLCA4OSwgMTI4LCA3MCwgNzcsIDEyOCwgNzAsIDc2LCA4OSwgMTI4LCAKLSAgICA3MCwgNzYsIDg1LCA4NCwgODQsIDY5LCA4MiwgNzMsIDc4LCAxOTksIDcwLCA3NiwgODUsIDg0LCA2OSwgMTI4LCA3MCwgNzYsIAotICAgIDg1LCA4MywgNzIsIDY5LCAxOTYsIDcwLCA3NiwgNzksIDg3LCA3MywgNzgsIDE5OSwgNzAsIDc2LCA3OSwgODcsIDY5LCAKLSAgICAyMTAsIDcwLCA3NiwgNzksIDg1LCA4MiwgNzMsIDgzLCA3MiwgMTI4LCA3MCwgNzYsIDc5LCA4MiwgNjksIDg0LCA4NCwgNjksIAotICAgIDEyOCwgNzAsIDc2LCA3OSwgODIsIDY1LCAyMDQsIDcwLCA3NiwgNzksIDgwLCA4MCwgMjE3LCA3MCwgNzYsIDc5LCA3OSwgCi0gICAgODIsIDEyOCwgNzAsIDc2LCA3MywgODAsIDEyOCwgNzAsIDc2LCA3MywgNzEsIDcyLCA4NCwgMTI4LCA3MCwgNzYsIDY5LCAKLSAgICA4OCwgODUsIDgzLCAxMjgsIDcwLCA3NiwgNjksIDg4LCA2OSwgMTk2LCA3MCwgNzYsIDY5LCA4NSwgODIsIDQ1LCA2OCwgNjksIAotICAgIDQ1LCA3NiwgNzMsIDgzLCAxMjgsIDcwLCA3NiwgNjUsIDg0LCA4NCwgNjksIDc4LCA2OSwgMTk2LCA3MCwgNzYsIDY1LCA4NCwgCi0gICAgNzgsIDY5LCA4MywgODMsIDEyOCwgNzAsIDc2LCA2NSwgODQsIDEyOCwgNzAsIDc2LCA2NSwgMjEyLCA3MCwgNzYsIDY1LCAKLSAgICA3MSwgODMsIDEyOCwgNzAsIDc2LCA2NSwgNzEsIDQ1LCA1MywgMTI4LCA3MCwgNzYsIDY1LCA3MSwgNDUsIDUyLCAxMjgsIAotICAgIDcwLCA3NiwgNjUsIDcxLCA0NSwgNTEsIDEyOCwgNzAsIDc2LCA2NSwgNzEsIDQ1LCA1MCwgMTI4LCA3MCwgNzYsIDY1LCA3MSwgCi0gICAgNDUsIDQ5LCAxMjgsIDcwLCA3NiwgNjUsIDcxLCAxMjgsIDcwLCA3NiwgNjUsIDE5OSwgNzAsIDc2LCA2NSwgMTI4LCA3MCwgCi0gICAgNzYsIDEyOCwgNzAsIDczLCA4OCwgNjksIDY4LCA0NSwgNzAsIDc5LCA4MiwgMjA1LCA3MCwgNzMsIDg4LCAxMjgsIDcwLCAKLSAgICA3MywgODYsIDY5LCA0NSwgODQsIDcyLCA3MywgODIsIDg0LCA4OSwgMTI4LCA3MCwgNzMsIDg2LCA2OSwgNDUsIDc2LCA3MywgCi0gICAgNzgsIDE5NywgNzAsIDczLCA4NiwgMTk3LCA3MCwgNzMsIDg0LCA2NSwgMTI4LCA3MCwgNzMsIDg0LCAxMjgsIDcwLCA3MywgCi0gICAgODMsIDg0LCA2OSwgMTk2LCA3MCwgNzMsIDgzLCA4NCwgMTI4LCA3MCwgNzMsIDgzLCA3MiwgNzMsIDc4LCAxOTksIDcwLCAKLSAgICA3MywgODMsIDcyLCA3MiwgNzksIDc5LCA3NSwgMTI4LCA3MCwgNzMsIDgzLCA3MiwgNzIsIDc5LCA3OSwgMjAzLCA3MCwgNzMsIAotICAgIDgzLCA3MiwgNjksIDg5LCA2OSwgMTI4LCA3MCwgNzMsIDgzLCA3MiwgMTI4LCA3MCwgNzMsIDgzLCAyMDAsIDcwLCA3MywgCi0gICAgODIsIDgzLCAyMTIsIDcwLCA3MywgODIsIDczLCAxMjgsIDcwLCA3MywgODIsIDY5LCA4NywgNzksIDgyLCA3NSwgODMsIAotICAgIDEyOCwgNzAsIDczLCA4MiwgNjksIDg3LCA3OSwgODIsIDIwMywgNzAsIDczLCA4MiwgNjksIDEyOCwgNzAsIDczLCA4MiwgCi0gICAgMTk3LCA3MCwgNzMsIDgwLCAxMjgsIDcwLCA3MywgNzgsIDczLCA4NCwgMTk3LCA3MCwgNzMsIDc4LCA3MSwgNjksIDgyLCAKLSAgICA3OCwgNjUsIDczLCA3NiwgODMsIDEyOCwgNzAsIDczLCA3OCwgNzEsIDY5LCA4MiwgNjksIDE5NiwgNzAsIDczLCA3OCwgNjUsIAotICAgIDc4LCA2NywgNzMsIDY1LCA3NiwgMTI4LCA3MCwgNzMsIDc2LCA3NiwgNjksIDgyLCAxMjgsIDcwLCA3MywgNzYsIDc2LCA2OSwgCi0gICAgMTk2LCA3MCwgNzMsIDc2LCA3NiwgMTI4LCA3MCwgNzMsIDc2LCAyMDQsIDcwLCA3MywgNzYsIDE5NywgNzAsIDczLCA3MywgCi0gICAgMTI4LCA3MCwgNzMsIDcxLCA4NSwgODIsIDY5LCA0NSwgNTEsIDEyOCwgNzAsIDczLCA3MSwgODUsIDgyLCA2OSwgNDUsIDUwLCAKLSAgICAxMjgsIDcwLCA3MywgNzEsIDg1LCA4MiwgNjksIDQ1LCA0OSwgMTI4LCA3MCwgNzMsIDcxLCA4NSwgODIsIDE5NywgNzAsIAotICAgIDczLCA3MSwgNzIsIDg0LCAxMjgsIDcwLCA3MywgNzAsIDg0LCA4OSwgMTI4LCA3MCwgNzMsIDcwLCA4NCwgMjE3LCA3MCwgCi0gICAgNzMsIDcwLCA4NCwgNzIsIDgzLCAxMjgsIDcwLCA3MywgNzAsIDg0LCA3MiwgMTI4LCA3MCwgNzMsIDcwLCA4NCwgNjksIDY5LCAKLSAgICA3OCwgMTI4LCA3MCwgNzMsIDcwLCA4NCwgNjksIDY5LCAyMDYsIDcwLCA3MywgNjksIDc2LCA2OCwgMTI4LCA3MCwgNzIsIAotICAgIDg0LCA3OSwgODIsIDE5MywgNzAsIDcwLCA3NiwgMTI4LCA3MCwgNzAsIDczLCAxMjgsIDcwLCA2OSwgODUsIDg4LCAxMjgsIAotICAgIDcwLCA2OSwgODUsIDcwLCA2OSwgODUsIDY1LCA2OSwgODQsIDEyOCwgNzAsIDY5LCA4MywgODQsIDczLCA4NiwgNjUsIDc2LCAKLSAgICAxMjgsIDcwLCA2OSwgODIsIDgyLCA4OSwgMTI4LCA3MCwgNjksIDgyLCA4MiwgNzMsIDIxMSwgNzAsIDY5LCA4MiwgNzcsIAotICAgIDY1LCA4NCwgNjUsIDEyOCwgNzAsIDY5LCA4MiwgNzcsIDY1LCA4NCwgMTkzLCA3MCwgNjksIDc5LCAyMDAsIDcwLCA2OSwgCi0gICAgNzgsIDE5OSwgNzAsIDY5LCA3OCwgNjcsIDY5LCAxMjgsIDcwLCA2OSwgNzcsIDczLCA3OCwgNzMsIDc4LCAxOTcsIDcwLCAKLSAgICA2OSwgNzcsIDY1LCA3NiwgNjksIDEyOCwgNzAsIDY5LCA3NywgNjUsIDc2LCAxOTcsIDcwLCA2OSwgNzYsIDc2LCA3OSwgODcsIAotICAgIDgzLCA3MiwgNzMsIDgwLCAxMjgsIDcwLCA2OSwgNzMsIDEyOCwgNzAsIDY5LCA3MiwgMjEzLCA3MCwgNjksIDcyLCAxMjgsIAotICAgIDcwLCA2OSwgMjAwLCA3MCwgNjksIDY5LCA3OCwgNzEsIDEyOCwgNzAsIDY5LCA2OSwgNjgsIDEyOCwgNzAsIDY5LCA2OSwgCi0gICAgMTk2LCA3MCwgNjksIDY5LCAxMjgsIDcwLCA2OSwgNjYsIDgyLCA4NSwgNjUsIDgyLCA4OSwgMTI4LCA3MCwgNjksIDY1LCAKLSAgICA4NCwgNzIsIDY5LCA4MiwgMTI4LCA3MCwgNjksIDY1LCA4NCwgNzIsIDY5LCAyMTAsIDcwLCA2OSwgNjUsIDgyLCA3OCwgCi0gICAgMTI4LCA3MCwgNjksIDY1LCA4MiwgNzAsIDg1LCAyMDQsIDcwLCA2OSwgNjUsIDgyLCAxMjgsIDcwLCA2NSwgODksIDY1LCAKLSAgICA3OCwgNzgsIDY1LCAxMjgsIDcwLCA2NSwgODgsIDEyOCwgNzAsIDY1LCAyMTYsIDcwLCA2NSwgODQsIDczLCA3MSwgODUsIAotICAgIDY5LCAxMjgsIDcwLCA2NSwgODQsIDcyLCA2OSwgODIsIDEyOCwgNzAsIDY1LCA4NCwgNzIsIDY5LCAyMTAsIDcwLCA2NSwgCi0gICAgODQsIDcyLCA2NSwgODQsIDY1LCA3OCwgMTI4LCA3MCwgNjUsIDg0LCA3MiwgNjUsIDg0LCA2NSwgMjA2LCA3MCwgNjUsIDg0LCAKLSAgICA3MiwgNjUsIDEyOCwgNzAsIDY1LCA4NCwgNzIsIDE5MywgNzAsIDY1LCA4NCwgMTI4LCA3MCwgNjUsIDgyLCA4MywgMjAxLCAKLSAgICA3MCwgNjUsIDgxLCAxMjgsIDcwLCA2NSwgODAsIDEyOCwgNzAsIDY1LCA3OCwgNzEsIDEyOCwgNzAsIDY1LCA3OCwgNjksIAotICAgIDgyLCA3OSwgODMsIDczLCAyMTEsIDcwLCA2NSwgNzgsIDEyOCwgNzAsIDY1LCA3NywgNzMsIDc2LCA4OSwgMTI4LCA3MCwgCi0gICAgNjUsIDc2LCA3NiwgNzMsIDc4LCAxOTksIDcwLCA2NSwgNzYsIDc2LCA2OSwgMjA2LCA3MCwgNjUsIDczLCA3NiwgODUsIDgyLCAKLSAgICA2OSwgMTI4LCA3MCwgNjUsIDczLCA3MiwgODUsIDEyOCwgNzAsIDY1LCA3MiwgODIsIDY5LCA3OCwgNzIsIDY5LCA3MywgODQsIAotICAgIDEyOCwgNzAsIDY1LCA2NywgODQsIDc5LCA4MiwgODksIDEyOCwgNzAsIDY1LCA2NywgODQsIDc5LCAyMTAsIDcwLCA2NSwgCi0gICAgNjcsIDgzLCA3MywgNzcsIDczLCA3NiwgMTk3LCA3MCwgNjUsIDY3LCA2OSwgNDUsIDU0LCAxMjgsIDcwLCA2NSwgNjcsIDY5LCAKLSAgICA0NSwgNTMsIDEyOCwgNzAsIDY1LCA2NywgNjksIDQ1LCA1MiwgMTI4LCA3MCwgNjUsIDY3LCA2OSwgNDUsIDUxLCAxMjgsIAotICAgIDcwLCA2NSwgNjcsIDY5LCA0NSwgNTAsIDEyOCwgNzAsIDY1LCA2NywgNjksIDQ1LCA0OSwgMTI4LCA3MCwgNjUsIDY1LCA3NywgCi0gICAgNjUsIDY5LCAxMjgsIDcwLCA2NSwgNjUsIDczLCAxMjgsIDcwLCA2NSwgNjUsIDcwLCA4NSwgMTI4LCA3MCwgNDgsIDUzLCAKLSAgICA1MSwgMTI4LCA3MCwgNDgsIDUzLCA1MCwgMTI4LCA3MCwgNDgsIDUzLCA0OSwgNjcsIDEyOCwgNzAsIDQ4LCA1MywgNDksIAotICAgIDY2LCAxMjgsIDcwLCA0OCwgNTMsIDQ5LCA2NSwgMTI4LCA3MCwgNDgsIDUzLCA0OSwgMTI4LCA3MCwgNDgsIDUzLCA0OCwgCi0gICAgMTI4LCA3MCwgNDgsIDUyLCA1NywgMTI4LCA3MCwgNDgsIDUyLCA1NiwgMTI4LCA3MCwgNDgsIDUyLCA1NSwgNjUsIDEyOCwgCi0gICAgNzAsIDQ4LCA1MiwgNTUsIDEyOCwgNzAsIDQ4LCA1MiwgNTQsIDY1LCAxMjgsIDcwLCA0OCwgNTIsIDU0LCAxMjgsIDcwLCAKLSAgICA0OCwgNTIsIDUzLCA2NSwgMTI4LCA3MCwgNDgsIDUyLCA1MywgMTI4LCA3MCwgNDgsIDUyLCA1MiwgMTI4LCA3MCwgNDgsIAotICAgIDUyLCA1MSwgMTI4LCA3MCwgNDgsIDUyLCA1MCwgMTI4LCA3MCwgNDgsIDUyLCA0OSwgMTI4LCA3MCwgNDgsIDUyLCA0OCwgCi0gICAgMTI4LCA3MCwgNDgsIDUxLCA1NywgMTI4LCA3MCwgNDgsIDUxLCA1NiwgNjUsIDEyOCwgNzAsIDQ4LCA1MSwgNTYsIDEyOCwgCi0gICAgNzAsIDQ4LCA1MSwgNTUsIDY1LCAxMjgsIDcwLCA0OCwgNTEsIDU1LCAxMjgsIDcwLCA0OCwgNTEsIDU0LCAxMjgsIDcwLCAKLSAgICA0OCwgNTEsIDUzLCAxMjgsIDcwLCA0OCwgNTEsIDUyLCAxMjgsIDcwLCA0OCwgNTEsIDUxLCAxMjgsIDcwLCA0OCwgNTEsIAotICAgIDUwLCAxMjgsIDcwLCA0OCwgNTEsIDQ5LCA2NSwgMTI4LCA3MCwgNDgsIDUxLCA0OSwgMTI4LCA3MCwgNDgsIDUxLCA0OCwgCi0gICAgMTI4LCA3MCwgNDgsIDUwLCA1NywgMTI4LCA3MCwgNDgsIDUwLCA1NiwgMTI4LCA3MCwgNDgsIDUwLCA1NSwgMTI4LCA3MCwgCi0gICAgNDgsIDUwLCA1NCwgMTI4LCA3MCwgNDgsIDUwLCA1MywgMTI4LCA3MCwgNDgsIDUwLCA1MiwgMTI4LCA3MCwgNDgsIDUwLCAKLSAgICA1MSwgMTI4LCA3MCwgNDgsIDUwLCA1MCwgMTI4LCA3MCwgNDgsIDUwLCA0OSwgNjUsIDEyOCwgNzAsIDQ4LCA1MCwgNDksIAotICAgIDEyOCwgNzAsIDQ4LCA1MCwgNDgsIDEyOCwgNzAsIDQ4LCA0OSwgNTcsIDEyOCwgNzAsIDQ4LCA0OSwgNTYsIDEyOCwgNzAsIAotICAgIDQ4LCA0OSwgNTUsIDEyOCwgNzAsIDQ4LCA0OSwgNTQsIDEyOCwgNzAsIDQ4LCA0OSwgNTMsIDEyOCwgNzAsIDQ4LCA0OSwgCi0gICAgNTIsIDEyOCwgNzAsIDQ4LCA0OSwgNTEsIDY1LCAxMjgsIDcwLCA0OCwgNDksIDUxLCAxMjgsIDcwLCA0OCwgNDksIDUwLCAKLSAgICAxMjgsIDcwLCA0OCwgNDksIDQ5LCAxMjgsIDcwLCA0OCwgNDksIDQ4LCAxMjgsIDcwLCA0OCwgNDgsIDU3LCAxMjgsIDcwLCAKLSAgICA0OCwgNDgsIDU2LCAxMjgsIDcwLCA0OCwgNDgsIDU1LCAxMjgsIDcwLCA0OCwgNDgsIDU0LCAxMjgsIDcwLCA0OCwgNDgsIAotICAgIDUzLCAxMjgsIDcwLCA0OCwgNDgsIDUyLCAxMjgsIDcwLCA0OCwgNDgsIDUxLCAxMjgsIDcwLCA0OCwgNDgsIDUwLCAxMjgsIAotICAgIDcwLCA0OCwgNDgsIDQ5LCA2NSwgMTI4LCA3MCwgNDgsIDQ4LCA0OSwgMTI4LCA2OSwgOTAsIDIwMCwgNjksIDkwLCA2OSwgCi0gICAgNzgsIDEyOCwgNjksIDkwLCA2OSwgMjA2LCA2OSwgOTAsIDEyOCwgNjksIDg5LCA2OSwgODMsIDEyOCwgNjksIDg5LCA2OSwgCi0gICAgNzEsIDc2LCA2NSwgODMsIDgzLCA2OSwgODMsIDEyOCwgNjksIDg5LCA2NiwgNjksIDg5LCA3MCwgNzMsIDc2LCA3MywgMTI4LCAKLSAgICA2OSwgODksIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDY5LCA4OCwgODQsIDgyLCA2NSwgODQsIDY5LCA4MiwgODIsIDY5LCA4MywgCi0gICAgODQsIDgyLCA3MywgNjUsIDIwNCwgNjksIDg4LCA4NCwgODIsIDY1LCA0NSwgNzYsIDc5LCAyMTUsIDY5LCA4OCwgODQsIDgyLCAKLSAgICA2NSwgNDUsIDcyLCA3MywgNzEsIDIwMCwgNjksIDg4LCA4NCwgNjksIDc4LCA4MywgNzMsIDc5LCA3OCwgMTI4LCA2OSwgODgsIAotICAgIDg0LCA2OSwgNzgsIDY4LCA2OSwgMTk2LCA2OSwgODgsIDgwLCA3OSwgNzgsIDY5LCA3OCwgMjEyLCA2OSwgODgsIDc5LCAKLSAgICAxMjgsIDY5LCA4OCwgMjA3LCA2OSwgODgsIDczLCA4MywgODQsIDgzLCAxMjgsIDY5LCA4OCwgNzMsIDgzLCA4NCwgMTI4LCAKLSAgICA2OSwgODgsIDcyLCA2NSwgODUsIDgzLCA4NCwgNzMsIDc5LCA3OCwgMTI4LCA2OSwgODgsIDY3LCA3NiwgNjUsIDc3LCA2NSwgCi0gICAgODQsIDczLCA3OSwgNzgsIDEyOCwgNjksIDg4LCA2NywgNzYsIDY1LCA3NywgNjUsIDg0LCA3MywgNzksIDIwNiwgNjksIDg4LCAKLSAgICA2NywgNzIsIDY1LCA3OCwgNzEsIDY5LCAxMjgsIDY5LCA4OCwgNjcsIDY5LCA4MywgODMsIDEyOCwgNjksIDg4LCA2NywgNjksIAotICAgIDc2LCA3NiwgNjksIDc4LCA4NCwgMTI4LCA2OSwgODcsIDY5LCAxMjgsIDY5LCA4NiwgNjksIDgyLCA3MSwgODIsIDY5LCA2OSwgCi0gICAgMjA2LCA2OSwgODYsIDY5LCA3OCwgNzMsIDc4LCA3MSwgMTI4LCA2OSwgODUsIDgyLCA3OSwgODAsIDY5LCA2NSwgMjA2LCAKLSAgICA2OSwgODUsIDgyLCA3OSwgODAsIDY5LCA0NSwgNjUsIDcwLCA4MiwgNzMsIDY3LCA2NSwgMTI4LCA2OSwgODUsIDgyLCA3OSwgCi0gICAgNDUsIDY3LCA4NSwgODIsIDgyLCA2OSwgNzgsIDY3LCAyMTcsIDY5LCA4NSwgODIsIDIwNywgNjksIDg1LCA3NiwgNjksIAotICAgIDIxMCwgNjksIDg1LCA0NSwgODUsIDEyOCwgNjksIDg1LCA0NSwgNzksIDEyOCwgNjksIDg1LCA0NSwgNjksIDg1LCAxMjgsIAotICAgIDY5LCA4NSwgNDUsIDY5LCA3OSwgMTI4LCA2OSwgODUsIDQ1LCA2OSwgMTI4LCA2OSwgODUsIDQ1LCA2NSwgMTI4LCA2OSwgCi0gICAgODQsIDc4LCA2NSwgNzIsIDg0LCA2NSwgMTI4LCA2OSwgODQsIDcyLCA2OSwgMjA0LCA2OSwgODQsIDY5LCA4MiwgNzksIAotICAgIDIwNiwgNjksIDg0LCA2OSwgODIsIDc4LCA3MywgODQsIDg5LCAxMjgsIDY5LCA4MywgODUsIDc1LCA4NSwgODUsIDY4LCA3OSwgCi0gICAgMTI4LCA2OSwgODMsIDg0LCA3MywgNzcsIDY1LCA4NCwgNjksIDgzLCAxMjgsIDY5LCA4MywgODQsIDczLCA3NywgNjUsIDg0LCAKLSAgICA2OSwgMTk2LCA2OSwgODMsIDcyLCA2OSwgNTEsIDEyOCwgNjksIDgzLCA3MiwgNTAsIDQ5LCAxMjgsIDY5LCA4MywgNzIsIAotICAgIDE3OCwgNjksIDgzLCA3MiwgNDksIDU0LCAxMjgsIDY5LCA4MywgNjcsIDY1LCA4MCwgNjksIDEyOCwgNjksIDgzLCA0NSwgCi0gICAgODQsIDY5LCAxMjgsIDY5LCA4MiwgODIsIDc5LCA4MiwgNDUsIDY2LCA2NSwgODIsIDgyLCA2OSwgMTk2LCA2OSwgODIsIDgyLCAKLSAgICAxMjgsIDY5LCA4MiwgNzMsIDc4LCA1MCwgMTI4LCA2OSwgODIsIDcxLCAxMjgsIDY5LCA4MiwgNjUsIDgzLCAxOTcsIDY5LCAKLSAgICA4MSwgODUsIDczLCA4NiwgNjUsIDc2LCA2OSwgNzgsIDIxMiwgNjksIDgxLCA4NSwgNzMsIDY4LCAxMjgsIDY5LCA4MSwgODUsIAotICAgIDczLCA2NSwgNzgsIDcxLCA4NSwgNzYsIDY1LCAyMTAsIDY5LCA4MSwgODUsIDY1LCA3NiwgODMsIDEyOCwgNjksIDgxLCA4NSwgCi0gICAgNjUsIDc2LCAyMTEsIDY5LCA4MSwgODUsIDY1LCA3NiwgMTI4LCA2OSwgODAsIDgzLCA3MywgNzYsIDc5LCA3OCwgMTI4LCAKLSAgICA2OSwgODAsIDgzLCA3MywgNzYsIDc5LCAyMDYsIDY5LCA4MCwgNzksIDY3LCA3MiwgMTI4LCA2OSwgODAsIDczLCA3MSwgODIsIAotICAgIDY1LCA4MCwgNzIsIDczLCAxOTUsIDY5LCA4MCwgNzMsIDY4LCA2NSwgODUsIDgyLCA2OSwgNjUsIDIwNiwgNjksIDgwLCA2OSwgCi0gICAgNzgsIDg0LCA3MiwgNjksIDg0LCA3MywgMTk1LCA2OSwgODAsIDY5LCA3MSwgNjksIDgyLCA3NywgNjUsIDEyOCwgNjksIDc5LCAKLSAgICA3NiwgNzIsIDg4LCAxMjgsIDY5LCA3OSwgNzIsIDEyOCwgNjksIDc4LCA4OSwgMTI4LCA2OSwgNzgsIDg2LCA2OSwgNzYsIAorICAgIDc2LCA2OCwgNjksIDE5NiwgNzAsIDc5LCA3MSwgNzEsIDg5LCAxMjgsIDcwLCAyMDcsIDcwLCA3NywgMTI4LCA3MCwgNzYsIAorICAgIDg5LCAxMjgsIDcwLCA3NiwgODUsIDg0LCA4NCwgNjksIDgyLCA3MywgNzgsIDE5OSwgNzAsIDc2LCA4NSwgODQsIDY5LCAKKyAgICAxMjgsIDcwLCA3NiwgODUsIDgzLCA3MiwgNjksIDE5NiwgNzAsIDc2LCA3OSwgODcsIDczLCA3OCwgMTk5LCA3MCwgNzYsIAorICAgIDc5LCA4NywgNjksIDIxMCwgNzAsIDc2LCA3OSwgODUsIDgyLCA3MywgODMsIDcyLCAxMjgsIDcwLCA3NiwgNzksIDgyLCA2OSwgCisgICAgODQsIDg0LCA2OSwgMTI4LCA3MCwgNzYsIDc5LCA4MiwgNjUsIDIwNCwgNzAsIDc2LCA3OSwgODAsIDgwLCAyMTcsIDcwLCAKKyAgICA3NiwgNzksIDc5LCA4MiwgMTI4LCA3MCwgNzYsIDczLCA4MCwgMTI4LCA3MCwgNzYsIDczLCA3MSwgNzIsIDg0LCAxMjgsIAorICAgIDcwLCA3NiwgNjksIDg4LCA4NSwgODMsIDEyOCwgNzAsIDc2LCA2OSwgODgsIDY5LCAxOTYsIDcwLCA3NiwgNjksIDg1LCA4MiwgCisgICAgNDUsIDY4LCA2OSwgNDUsIDc2LCA3MywgODMsIDEyOCwgNzAsIDc2LCA2NSwgODQsIDg0LCA2OSwgNzgsIDY5LCAxOTYsIDcwLCAKKyAgICA3NiwgNjUsIDg0LCA3OCwgNjksIDgzLCA4MywgMTI4LCA3MCwgNzYsIDY1LCA4NCwgMTI4LCA3MCwgNzYsIDY1LCAyMTIsIAorICAgIDcwLCA3NiwgNjUsIDcxLCA4MywgMTI4LCA3MCwgNzYsIDY1LCA3MSwgNDUsIDUzLCAxMjgsIDcwLCA3NiwgNjUsIDcxLCA0NSwgCisgICAgNTIsIDEyOCwgNzAsIDc2LCA2NSwgNzEsIDQ1LCA1MSwgMTI4LCA3MCwgNzYsIDY1LCA3MSwgNDUsIDUwLCAxMjgsIDcwLCAKKyAgICA3NiwgNjUsIDcxLCA0NSwgNDksIDEyOCwgNzAsIDc2LCA2NSwgNzEsIDEyOCwgNzAsIDc2LCA2NSwgMTk5LCA3MCwgNzYsIAorICAgIDY1LCAxMjgsIDcwLCA3NiwgMTI4LCA3MCwgNzMsIDg4LCA2OSwgNjgsIDQ1LCA3MCwgNzksIDgyLCAyMDUsIDcwLCA3MywgCisgICAgODgsIDEyOCwgNzAsIDczLCA4NiwgNjksIDQ1LCA4NCwgNzIsIDczLCA4MiwgODQsIDg5LCAxMjgsIDcwLCA3MywgODYsIDY5LCAKKyAgICA0NSwgNzYsIDczLCA3OCwgMTk3LCA3MCwgNzMsIDg2LCAxOTcsIDcwLCA3MywgODQsIDY1LCAxMjgsIDcwLCA3MywgODQsIAorICAgIDEyOCwgNzAsIDczLCA4MywgODQsIDY5LCAxOTYsIDcwLCA3MywgODMsIDg0LCAxMjgsIDcwLCA3MywgODMsIDcyLCA3MywgCisgICAgNzgsIDE5OSwgNzAsIDczLCA4MywgNzIsIDcyLCA3OSwgNzksIDc1LCAxMjgsIDcwLCA3MywgODMsIDcyLCA3MiwgNzksIDc5LCAKKyAgICAyMDMsIDcwLCA3MywgODMsIDcyLCA2OSwgODksIDY5LCAxMjgsIDcwLCA3MywgODMsIDcyLCAxMjgsIDcwLCA3MywgODMsIAorICAgIDIwMCwgNzAsIDczLCA4MiwgODMsIDIxMiwgNzAsIDczLCA4MiwgNzMsIDEyOCwgNzAsIDczLCA4MiwgNjksIDg3LCA3OSwgCisgICAgODIsIDc1LCA4MywgMTI4LCA3MCwgNzMsIDgyLCA2OSwgODcsIDc5LCA4MiwgMjAzLCA3MCwgNzMsIDgyLCA2OSwgMTI4LCAKKyAgICA3MCwgNzMsIDgyLCAxOTcsIDcwLCA3MywgODAsIDEyOCwgNzAsIDczLCA3OCwgNzMsIDg0LCAxOTcsIDcwLCA3MywgNzgsIAorICAgIDcxLCA2OSwgODIsIDc4LCA2NSwgNzMsIDc2LCA4MywgMTI4LCA3MCwgNzMsIDc4LCA3MSwgNjksIDgyLCA2OSwgMTk2LCA3MCwgCisgICAgNzMsIDc4LCA2NSwgNzgsIDY3LCA3MywgNjUsIDc2LCAxMjgsIDcwLCA3MywgNzYsIDc2LCA2OSwgODIsIDEyOCwgNzAsIDczLCAKKyAgICA3NiwgNzYsIDY5LCAxOTYsIDcwLCA3MywgNzYsIDc2LCAxMjgsIDcwLCA3MywgNzYsIDIwNCwgNzAsIDczLCA3NiwgMTk3LCAKKyAgICA3MCwgNzMsIDczLCAxMjgsIDcwLCA3MywgNzEsIDg1LCA4MiwgNjksIDQ1LCA1MSwgMTI4LCA3MCwgNzMsIDcxLCA4NSwgODIsIAorICAgIDY5LCA0NSwgNTAsIDEyOCwgNzAsIDczLCA3MSwgODUsIDgyLCA2OSwgNDUsIDQ5LCAxMjgsIDcwLCA3MywgNzEsIDg1LCA4MiwgCisgICAgMTk3LCA3MCwgNzMsIDcxLCA3MiwgODQsIDEyOCwgNzAsIDczLCA3MCwgODQsIDg5LCAxMjgsIDcwLCA3MywgNzAsIDg0LCAKKyAgICAyMTcsIDcwLCA3MywgNzAsIDg0LCA3MiwgODMsIDEyOCwgNzAsIDczLCA3MCwgODQsIDcyLCAxMjgsIDcwLCA3MywgNzAsIAorICAgIDg0LCA2OSwgNjksIDc4LCAxMjgsIDcwLCA3MywgNzAsIDg0LCA2OSwgNjksIDIwNiwgNzAsIDczLCA2OSwgNzYsIDY4LCAKKyAgICAxMjgsIDcwLCA3MiwgODQsIDc5LCA4MiwgMTkzLCA3MCwgNzAsIDc2LCAxMjgsIDcwLCA3MCwgNzMsIDEyOCwgNzAsIDY5LCAKKyAgICA4NSwgODgsIDEyOCwgNzAsIDY5LCA4NSwgNzAsIDY5LCA4NSwgNjUsIDY5LCA4NCwgMTI4LCA3MCwgNjksIDgzLCA4NCwgNzMsIAorICAgIDg2LCA2NSwgNzYsIDEyOCwgNzAsIDY5LCA4MiwgODIsIDg5LCAxMjgsIDcwLCA2OSwgODIsIDgyLCA3MywgMjExLCA3MCwgCisgICAgNjksIDgyLCA3NywgNjUsIDg0LCA2NSwgMTI4LCA3MCwgNjksIDgyLCA3NywgNjUsIDg0LCAxOTMsIDcwLCA2OSwgNzksIAorICAgIDIwMCwgNzAsIDY5LCA3OCwgMTk5LCA3MCwgNjksIDc4LCA2NywgNjksIDEyOCwgNzAsIDY5LCA3NywgNzMsIDc4LCA3MywgCisgICAgNzgsIDE5NywgNzAsIDY5LCA3NywgNjUsIDc2LCA2OSwgMTI4LCA3MCwgNjksIDc3LCA2NSwgNzYsIDE5NywgNzAsIDY5LCAKKyAgICA3NiwgNzYsIDc5LCA4NywgODMsIDcyLCA3MywgODAsIDEyOCwgNzAsIDY5LCA3MywgMTI4LCA3MCwgNjksIDcyLCAyMTMsIAorICAgIDcwLCA2OSwgNzIsIDEyOCwgNzAsIDY5LCAyMDAsIDcwLCA2OSwgNjksIDc4LCA3MSwgMTI4LCA3MCwgNjksIDY5LCA2OCwgCisgICAgMTI4LCA3MCwgNjksIDY5LCAxOTYsIDcwLCA2OSwgNjksIDEyOCwgNzAsIDY5LCA2NiwgODIsIDg1LCA2NSwgODIsIDg5LCAKKyAgICAxMjgsIDcwLCA2OSwgNjUsIDg0LCA3MiwgNjksIDgyLCAxMjgsIDcwLCA2OSwgNjUsIDg0LCA3MiwgNjksIDIxMCwgNzAsIAorICAgIDY5LCA2NSwgODIsIDc4LCAxMjgsIDcwLCA2OSwgNjUsIDgyLCA3MCwgODUsIDIwNCwgNzAsIDY5LCA2NSwgODIsIDEyOCwgCisgICAgNzAsIDY1LCA4OSwgNjUsIDc4LCA3OCwgNjUsIDEyOCwgNzAsIDY1LCA4OSwgMTI4LCA3MCwgNjUsIDg4LCAxMjgsIDcwLCAKKyAgICA2NSwgMjE2LCA3MCwgNjUsIDg0LCA3MywgNzEsIDg1LCA2OSwgMTI4LCA3MCwgNjUsIDg0LCA3MiwgNjksIDgyLCAxMjgsIAorICAgIDcwLCA2NSwgODQsIDcyLCA2OSwgMjEwLCA3MCwgNjUsIDg0LCA3MiwgNjUsIDg0LCA2NSwgNzgsIDEyOCwgNzAsIDY1LCA4NCwgCisgICAgNzIsIDY1LCA4NCwgNjUsIDIwNiwgNzAsIDY1LCA4NCwgNzIsIDY1LCAxMjgsIDcwLCA2NSwgODQsIDcyLCAxOTMsIDcwLCAKKyAgICA2NSwgODQsIDEyOCwgNzAsIDY1LCA4MiwgODMsIDIwMSwgNzAsIDY1LCA4MSwgMTI4LCA3MCwgNjUsIDgwLCAxMjgsIDcwLCAKKyAgICA2NSwgNzgsIDcxLCAxMjgsIDcwLCA2NSwgNzgsIDY5LCA4MiwgNzksIDgzLCA3MywgMjExLCA3MCwgNjUsIDc4LCAxMjgsIAorICAgIDcwLCA2NSwgNzcsIDczLCA3NiwgODksIDEyOCwgNzAsIDY1LCA3NiwgNzYsIDczLCA3OCwgMTk5LCA3MCwgNjUsIDc2LCA3NiwgCisgICAgNjksIDIwNiwgNzAsIDY1LCA3MywgNzYsIDg1LCA4MiwgNjksIDEyOCwgNzAsIDY1LCA3MywgNzIsIDg1LCAxMjgsIDcwLCAKKyAgICA2NSwgNzIsIDgyLCA2OSwgNzgsIDcyLCA2OSwgNzMsIDg0LCAxMjgsIDcwLCA2NSwgNjcsIDg0LCA3OSwgODIsIDg5LCAxMjgsIAorICAgIDcwLCA2NSwgNjcsIDg0LCA3OSwgMjEwLCA3MCwgNjUsIDY3LCA4MywgNzMsIDc3LCA3MywgNzYsIDE5NywgNzAsIDY1LCA2NywgCisgICAgNjksIDQ1LCA1NCwgMTI4LCA3MCwgNjUsIDY3LCA2OSwgNDUsIDUzLCAxMjgsIDcwLCA2NSwgNjcsIDY5LCA0NSwgNTIsIAorICAgIDEyOCwgNzAsIDY1LCA2NywgNjksIDQ1LCA1MSwgMTI4LCA3MCwgNjUsIDY3LCA2OSwgNDUsIDUwLCAxMjgsIDcwLCA2NSwgCisgICAgNjcsIDY5LCA0NSwgNDksIDEyOCwgNzAsIDY1LCA2NSwgNzcsIDY1LCA2OSwgMTI4LCA3MCwgNjUsIDY1LCA3MywgMTI4LCAKKyAgICA3MCwgNjUsIDY1LCA3MCwgODUsIDEyOCwgNzAsIDQ4LCA1MywgNTEsIDEyOCwgNzAsIDQ4LCA1MywgNTAsIDEyOCwgNzAsIAorICAgIDQ4LCA1MywgNDksIDY3LCAxMjgsIDcwLCA0OCwgNTMsIDQ5LCA2NiwgMTI4LCA3MCwgNDgsIDUzLCA0OSwgNjUsIDEyOCwgCisgICAgNzAsIDQ4LCA1MywgNDksIDEyOCwgNzAsIDQ4LCA1MywgNDgsIDEyOCwgNzAsIDQ4LCA1MiwgNTcsIDEyOCwgNzAsIDQ4LCAKKyAgICA1MiwgNTYsIDEyOCwgNzAsIDQ4LCA1MiwgNTUsIDY1LCAxMjgsIDcwLCA0OCwgNTIsIDU1LCAxMjgsIDcwLCA0OCwgNTIsIAorICAgIDU0LCA2NSwgMTI4LCA3MCwgNDgsIDUyLCA1NCwgMTI4LCA3MCwgNDgsIDUyLCA1MywgNjUsIDEyOCwgNzAsIDQ4LCA1MiwgCisgICAgNTMsIDEyOCwgNzAsIDQ4LCA1MiwgNTIsIDEyOCwgNzAsIDQ4LCA1MiwgNTEsIDEyOCwgNzAsIDQ4LCA1MiwgNTAsIDEyOCwgCisgICAgNzAsIDQ4LCA1MiwgNDksIDEyOCwgNzAsIDQ4LCA1MiwgNDgsIDEyOCwgNzAsIDQ4LCA1MSwgNTcsIDEyOCwgNzAsIDQ4LCAKKyAgICA1MSwgNTYsIDY1LCAxMjgsIDcwLCA0OCwgNTEsIDU2LCAxMjgsIDcwLCA0OCwgNTEsIDU1LCA2NSwgMTI4LCA3MCwgNDgsIAorICAgIDUxLCA1NSwgMTI4LCA3MCwgNDgsIDUxLCA1NCwgMTI4LCA3MCwgNDgsIDUxLCA1MywgMTI4LCA3MCwgNDgsIDUxLCA1MiwgCisgICAgMTI4LCA3MCwgNDgsIDUxLCA1MSwgMTI4LCA3MCwgNDgsIDUxLCA1MCwgMTI4LCA3MCwgNDgsIDUxLCA0OSwgNjUsIDEyOCwgCisgICAgNzAsIDQ4LCA1MSwgNDksIDEyOCwgNzAsIDQ4LCA1MSwgNDgsIDEyOCwgNzAsIDQ4LCA1MCwgNTcsIDEyOCwgNzAsIDQ4LCAKKyAgICA1MCwgNTYsIDEyOCwgNzAsIDQ4LCA1MCwgNTUsIDEyOCwgNzAsIDQ4LCA1MCwgNTQsIDEyOCwgNzAsIDQ4LCA1MCwgNTMsIAorICAgIDEyOCwgNzAsIDQ4LCA1MCwgNTIsIDEyOCwgNzAsIDQ4LCA1MCwgNTEsIDEyOCwgNzAsIDQ4LCA1MCwgNTAsIDEyOCwgNzAsIAorICAgIDQ4LCA1MCwgNDksIDY1LCAxMjgsIDcwLCA0OCwgNTAsIDQ5LCAxMjgsIDcwLCA0OCwgNTAsIDQ4LCAxMjgsIDcwLCA0OCwgCisgICAgNDksIDU3LCAxMjgsIDcwLCA0OCwgNDksIDU2LCAxMjgsIDcwLCA0OCwgNDksIDU1LCAxMjgsIDcwLCA0OCwgNDksIDU0LCAKKyAgICAxMjgsIDcwLCA0OCwgNDksIDUzLCAxMjgsIDcwLCA0OCwgNDksIDUyLCAxMjgsIDcwLCA0OCwgNDksIDUxLCA2NSwgMTI4LCAKKyAgICA3MCwgNDgsIDQ5LCA1MSwgMTI4LCA3MCwgNDgsIDQ5LCA1MCwgMTI4LCA3MCwgNDgsIDQ5LCA0OSwgMTI4LCA3MCwgNDgsIAorICAgIDQ5LCA0OCwgMTI4LCA3MCwgNDgsIDQ4LCA1NywgMTI4LCA3MCwgNDgsIDQ4LCA1NiwgMTI4LCA3MCwgNDgsIDQ4LCA1NSwgCisgICAgMTI4LCA3MCwgNDgsIDQ4LCA1NCwgMTI4LCA3MCwgNDgsIDQ4LCA1MywgMTI4LCA3MCwgNDgsIDQ4LCA1MiwgMTI4LCA3MCwgCisgICAgNDgsIDQ4LCA1MSwgMTI4LCA3MCwgNDgsIDQ4LCA1MCwgMTI4LCA3MCwgNDgsIDQ4LCA0OSwgNjUsIDEyOCwgNzAsIDQ4LCAKKyAgICA0OCwgNDksIDEyOCwgNjksIDkwLCAyMDAsIDY5LCA5MCwgNjksIDc4LCAxMjgsIDY5LCA5MCwgNjksIDIwNiwgNjksIDkwLCAKKyAgICAxMjgsIDY5LCA4OSwgNjksIDgzLCAxMjgsIDY5LCA4OSwgNjksIDcxLCA3NiwgNjUsIDgzLCA4MywgNjksIDgzLCAxMjgsIAorICAgIDY5LCA4OSwgNjYsIDY5LCA4OSwgNzAsIDczLCA3NiwgNzMsIDEyOCwgNjksIDg5LCA2NSwgNzgsIDc4LCA2NSwgMTI4LCA2OSwgCisgICAgODgsIDg0LCA4MiwgNjUsIDg0LCA2OSwgODIsIDgyLCA2OSwgODMsIDg0LCA4MiwgNzMsIDY1LCAyMDQsIDY5LCA4OCwgODQsIAorICAgIDgyLCA2NSwgNDUsIDc2LCA3OSwgMjE1LCA2OSwgODgsIDg0LCA4MiwgNjUsIDQ1LCA3MiwgNzMsIDcxLCAyMDAsIDY5LCA4OCwgCisgICAgODQsIDY5LCA3OCwgODMsIDczLCA3OSwgNzgsIDEyOCwgNjksIDg4LCA4NCwgNjksIDc4LCA2OCwgNjksIDE5NiwgNjksIDg4LCAKKyAgICA4MCwgODIsIDY5LCA4MywgODMsIDczLCA3OSwgNzgsIDc2LCA2OSwgODMsIDIxMSwgNjksIDg4LCA4MCwgNzksIDc4LCA2OSwgCisgICAgNzgsIDIxMiwgNjksIDg4LCA3OSwgMTI4LCA2OSwgODgsIDIwNywgNjksIDg4LCA3MywgODMsIDg0LCA4MywgMTI4LCA2OSwgCisgICAgODgsIDczLCA4MywgODQsIDEyOCwgNjksIDg4LCA3MiwgNjUsIDg1LCA4MywgODQsIDczLCA3OSwgNzgsIDEyOCwgNjksIDg4LCAKKyAgICA2NywgNzYsIDY1LCA3NywgNjUsIDg0LCA3MywgNzksIDc4LCAxMjgsIDY5LCA4OCwgNjcsIDc2LCA2NSwgNzcsIDY1LCA4NCwgCisgICAgNzMsIDc5LCAyMDYsIDY5LCA4OCwgNjcsIDcyLCA2NSwgNzgsIDcxLCA2OSwgMTI4LCA2OSwgODgsIDY3LCA2OSwgODMsIDgzLCAKKyAgICAxMjgsIDY5LCA4OCwgNjcsIDY5LCA3NiwgNzYsIDY5LCA3OCwgODQsIDEyOCwgNjksIDg3LCA2OSwgMTI4LCA2OSwgODYsIAorICAgIDY5LCA4MiwgNzEsIDgyLCA2OSwgNjksIDIwNiwgNjksIDg2LCA2OSwgNzgsIDczLCA3OCwgNzEsIDEyOCwgNjksIDg1LCA4MiwgCisgICAgNzksIDgwLCA2OSwgNjUsIDIwNiwgNjksIDg1LCA4MiwgNzksIDgwLCA2OSwgNDUsIDY1LCA3MCwgODIsIDczLCA2NywgNjUsIAorICAgIDEyOCwgNjksIDg1LCA4MiwgNzksIDQ1LCA2NywgODUsIDgyLCA4MiwgNjksIDc4LCA2NywgMjE3LCA2OSwgODUsIDgyLCAKKyAgICAyMDcsIDY5LCA4NSwgNzYsIDY5LCAyMTAsIDY5LCA4NSwgNDUsIDg1LCAxMjgsIDY5LCA4NSwgNDUsIDc5LCAxMjgsIDY5LCAKKyAgICA4NSwgNDUsIDY5LCA4NSwgMTI4LCA2OSwgODUsIDQ1LCA2OSwgNzksIDEyOCwgNjksIDg1LCA0NSwgNjksIDEyOCwgNjksIAorICAgIDg1LCA0NSwgNjUsIDEyOCwgNjksIDg0LCA4OCwgMTI4LCA2OSwgODQsIDc4LCA2NSwgNzIsIDg0LCA2NSwgMTI4LCA2OSwgCisgICAgODQsIDcyLCA2OSwgMjA0LCA2OSwgODQsIDY5LCA4MiwgNzksIDIwNiwgNjksIDg0LCA2OSwgODIsIDc4LCA3MywgODQsIDg5LCAKKyAgICAxMjgsIDY5LCA4NCwgNjYsIDEyOCwgNjksIDgzLCA4NSwgNzUsIDg1LCA4NSwgNjgsIDc5LCAxMjgsIDY5LCA4MywgODQsIAorICAgIDczLCA3NywgNjUsIDg0LCA2OSwgODMsIDEyOCwgNjksIDgzLCA4NCwgNzMsIDc3LCA2NSwgODQsIDY5LCAxOTYsIDY5LCA4MywgCisgICAgNzIsIDY5LCA1MSwgMTI4LCA2OSwgODMsIDcyLCA1MCwgNDksIDEyOCwgNjksIDgzLCA3MiwgMTc4LCA2OSwgODMsIDcyLCAKKyAgICA0OSwgNTQsIDEyOCwgNjksIDgzLCA2NywgNjUsIDgwLCA2OSwgMTI4LCA2OSwgODMsIDY3LCAxMjgsIDY5LCA4MywgNjUsIAorICAgIDEyOCwgNjksIDgzLCA0NSwgODQsIDY5LCAxMjgsIDY5LCA4MiwgODIsIDc5LCA4MiwgNDUsIDY2LCA2NSwgODIsIDgyLCA2OSwgCisgICAgMTk2LCA2OSwgODIsIDgyLCAxMjgsIDY5LCA4MiwgNzMsIDc4LCA1MCwgMTI4LCA2OSwgODIsIDcxLCAxMjgsIDY5LCA4MiwgCisgICAgNjUsIDgzLCAxOTcsIDY5LCA4MSwgODUsIDczLCA4NiwgNjUsIDc2LCA2OSwgNzgsIDIxMiwgNjksIDgxLCA4NSwgNzMsIDY4LCAKKyAgICAxMjgsIDY5LCA4MSwgODUsIDczLCA2NSwgNzgsIDcxLCA4NSwgNzYsIDY1LCAyMTAsIDY5LCA4MSwgODUsIDY1LCA3NiwgODMsIAorICAgIDEyOCwgNjksIDgxLCA4NSwgNjUsIDc2LCAyMTEsIDY5LCA4MSwgODUsIDY1LCA3NiwgMTI4LCA2OSwgODAsIDgzLCA3MywgCisgICAgNzYsIDc5LCA3OCwgMTI4LCA2OSwgODAsIDgzLCA3MywgNzYsIDc5LCAyMDYsIDY5LCA4MCwgNzksIDY3LCA3MiwgMTI4LCAKKyAgICA2OSwgODAsIDczLCA3MSwgODIsIDY1LCA4MCwgNzIsIDczLCAxOTUsIDY5LCA4MCwgNzMsIDY4LCA2NSwgODUsIDgyLCA2OSwgCisgICAgNjUsIDIwNiwgNjksIDgwLCA2OSwgNzgsIDg0LCA3MiwgNjksIDg0LCA3MywgMTk1LCA2OSwgODAsIDY5LCA3MSwgNjksIDgyLCAKKyAgICA3NywgNjUsIDEyOCwgNjksIDc5LCA4NCwgMTI4LCA2OSwgNzksIDc3LCAxMjgsIDY5LCA3OSwgNzYsIDcyLCA4OCwgMTI4LCAKKyAgICA2OSwgNzksIDc2LCAxMjgsIDY5LCA3OSwgNzIsIDEyOCwgNjksIDc4LCA4OSwgMTI4LCA2OSwgNzgsIDg2LCA2OSwgNzYsIAogICAgIDc5LCA4MCwgNjksIDEyOCwgNjksIDc4LCA4NiwgNjksIDc2LCA3OSwgODAsIDE5NywgNjksIDc4LCA4NSwgNzcsIDY5LCA4MiwgCiAgICAgNjUsIDg0LCA3MywgNzksIDIwNiwgNjksIDc4LCA4NCwgODIsIDg5LCA0NSwgNTAsIDEyOCwgNjksIDc4LCA4NCwgODIsIDg5LCAKICAgICA0NSwgNDksIDEyOCwgNjksIDc4LCA4NCwgODIsIDg5LCAxMjgsIDY5LCA3OCwgODQsIDgyLCAyMTcsIDY5LCA3OCwgODQsIAogICAgIDcyLCA4NSwgODMsIDczLCA2NSwgODMsIDc3LCAxMjgsIDY5LCA3OCwgODQsIDY5LCA4MiwgODAsIDgyLCA3MywgODMsIDY5LCAKICAgICAxMjgsIDY5LCA3OCwgODQsIDY5LCA4MiwgNzMsIDc4LCAxOTksIDY5LCA3OCwgODQsIDY5LCA4MiwgMTI4LCA2OSwgNzgsIAotICAgIDg0LCA2OSwgMjEwLCA2OSwgNzgsIDgxLCA4NSwgNzMsIDgyLCA4OSwgMTI4LCA2OSwgNzgsIDc5LCAyMTEsIDY5LCA3OCwgCi0gICAgNzgsIDEyOCwgNjksIDc4LCA3NiwgNjUsIDgyLCA3MSwgNjksIDc3LCA2OSwgNzgsIDg0LCAxMjgsIDY5LCA3OCwgNzEsIDczLCAKLSAgICA3OCwgNjksIDEyOCwgNjksIDc4LCA2OCwgNzksIDcwLCA3OSwgNzgsIDc5LCA3OCwgMTI4LCA2OSwgNzgsIDY4LCA3MywgNzgsIAotICAgIDE5OSwgNjksIDc4LCA2OCwgNjksIDgwLCAxMjgsIDY5LCA3OCwgNjgsIDY5LCA2NSwgODYsIDc5LCA4NSwgODIsIDEyOCwgCi0gICAgNjksIDc4LCA2NywgNzksIDg1LCA3OCwgODQsIDY5LCA4MiwgODMsIDEyOCwgNjksIDc4LCA2NywgNzYsIDc5LCA4MywgODUsIAotICAgIDgyLCA2OSwgMTI4LCA2OSwgNzgsIDY3LCA3NiwgNzksIDgzLCA3MywgNzgsIDE5OSwgNjksIDc4LCA2NywgMTI4LCA2OSwgCi0gICAgNzgsIDY1LCA4MiwgODgsIDczLCAyMTEsIDY5LCA3OCwgNjUsIDgyLCA3NywgNzksIDc4LCA3MywgNzksIDIxMSwgNjksIDc3LCAKLSAgICA4MCwgODQsIDIxNywgNjksIDc3LCA4MCwgNzIsIDY1LCA4NCwgNzMsIDE5NSwgNjksIDc3LCA4MCwgNzIsIDY1LCA4MywgNzMsIAotICAgIDIxMSwgNjksIDc3LCA2NiwgODIsIDc5LCA3MywgNjgsIDY5LCA4MiwgODksIDEyOCwgNjksIDc3LCA2NiwgNzYsIDY5LCA3NywgCi0gICAgMTI4LCA2OSwgNzcsIDY2LCA2OSwgNzYsIDc2LCA3MywgODMsIDcyLCA3NywgNjksIDc4LCA4NCwgMTI4LCA2OSwgNzcsIDY2LCAKLSAgICA2OSwgNjgsIDY4LCA3MywgNzgsIDcxLCAxMjgsIDY5LCA3NiwgODQsIDEyOCwgNjksIDc2LCA3NiwgNzMsIDgwLCA4MywgNzMsIAotICAgIDgzLCAxMjgsIDY5LCA3NiwgNzYsIDczLCA4MCwgODMsIDY5LCAxMjgsIDY5LCA3NiwgNzMsIDcwLCA3MywgMTI4LCA2OSwgCi0gICAgNzYsIDY5LCA4NiwgNjksIDc4LCA0NSwgODQsIDcyLCA3MywgODIsIDg0LCA4OSwgMTI4LCA2OSwgNzYsIDY5LCA4NiwgNjksIAotICAgIDc4LCAxMjgsIDY5LCA3NiwgNjksIDg2LCA2OSwgMjA2LCA2OSwgNzYsIDY5LCA4MCwgNzIsIDY1LCA3OCwgODQsIDEyOCwgCi0gICAgNjksIDc2LCA2OSwgNzcsIDY5LCA3OCwgMjEyLCA2OSwgNzYsIDY5LCA2NywgODQsIDgyLCA3MywgNjcsIDY1LCAyMDQsIDY5LCAKLSAgICA3NiwgNjksIDY3LCA4NCwgODIsIDczLCAxOTUsIDY5LCA3NiwgNjUsIDcwLCA4MiwgNzksIDc4LCAxMjgsIDY5LCA3NSwgODMsIAotICAgIDg0LCA4MiwgNjksIDgwLCA4NCwgNzksIDc4LCAxMjgsIDY5LCA3NSwgODMsIDEyOCwgNjksIDc1LCA3MCwgNzksIDc4LCA3MywgCi0gICAgODQsIDczLCA3NSwgNzksIDc4LCAxMjgsIDY5LCA3NSwgNjUsIDgyLCA2NSwgMTI4LCA2OSwgNzQsIDY5LCA2NywgMjEyLCAKLSAgICA2OSwgNzMsIDgzLCAxMjgsIDY5LCA3MywgNzEsIDcyLCA4NCwgODksIDEyOCwgNjksIDczLCA3MSwgNzIsIDg0LCAyMTcsIAotICAgIDY5LCA3MywgNzEsIDcyLCA4NCwgNzIsIDgzLCAxMjgsIDY5LCA3MywgNzEsIDcyLCA4NCwgNzIsIDIxMSwgNjksIDczLCA3MSwgCi0gICAgNzIsIDg0LCA3MiwgMTI4LCA2OSwgNzMsIDcxLCA3MiwgODQsIDY5LCA2OSwgNzgsIDEyOCwgNjksIDczLCA3MSwgNzIsIDg0LCAKLSAgICA2OSwgNjksIDIwNiwgNjksIDczLCA3MSwgNzIsIDg0LCA0NSwgODQsIDcyLCA3MywgODIsIDg0LCA4OSwgMTI4LCA2OSwgNzMsIAotICAgIDY5LCAxMjgsIDY5LCA3MiwgODcsIDY1LCAyMTgsIDY5LCA3MSwgODksIDgwLCA4NCwgNzksIDc2LCA3OSwgNzEsIDczLCA2NywgCi0gICAgNjUsIDIwNCwgNjksIDcxLCA3MywgODIsIDEyOCwgNjksIDcxLCA3MSwgMTI4LCA2OSwgNjksIDg5LCA2NSwgNzgsIDc4LCAKLSAgICA2NSwgMTI4LCA2OSwgNjksIDc1LCA2NSwgNjUsIDEyOCwgNjksIDY5LCA2NiwgNjksIDY5LCA3MCwgNzMsIDc2LCA3MywgCi0gICAgMTI4LCA2OSwgNjgsIDczLCA4NCwgNzksIDgyLCA3MywgNjUsIDIwNCwgNjksIDY4LCA3MywgNzgsIDEyOCwgNjksIDY4LCAKLSAgICA2OCwgMTI4LCA2OSwgNjYsIDY5LCA3MCwgNzMsIDc2LCA3MywgMTI4LCA2OSwgNjUsIDgzLCA4NCwgNjksIDgyLCAyMDYsIAotICAgIDY5LCA2NSwgODMsIDIxMiwgNjksIDY1LCA4MiwgODQsIDcyLCA3NiwgMjE3LCA2OSwgNjUsIDgyLCA4NCwgNzIsIDEyOCwgCi0gICAgNjksIDY1LCA4MiwgODQsIDIwMCwgNjksIDY1LCA4MiwgODMsIDEyOCwgNjksIDY1LCA4MiwgNzYsIDIxNywgNjksIDY1LCAKLSAgICA3NywgNzIsIDY1LCA3OCwgNjcsIDcyLCA3OSwgNzYsIDc2LCAxMjgsIDY5LCA2NSwgNzEsIDc2LCA2OSwgMTI4LCA2OSwgNjUsIAotICAgIDY4LCA3MiwgNjUsIDY4LCA3MiwgMTI4LCA2OSwgNjUsIDY2LCA3MiwgNjUsIDY4LCA3MiwgMTI4LCA2OSwgMTc4LCA2OSwgCi0gICAgNDgsIDUxLCA1NiwgMTI4LCA2OSwgNDgsIDUxLCA1NSwgMTI4LCA2OSwgNDgsIDUxLCA1NCwgMTI4LCA2OSwgNDgsIDUxLCAKLSAgICA1MiwgNjUsIDEyOCwgNjksIDQ4LCA1MSwgNTIsIDEyOCwgNjksIDQ4LCA1MSwgNTEsIDEyOCwgNjksIDQ4LCA1MSwgNTAsIAotICAgIDEyOCwgNjksIDQ4LCA1MSwgNDksIDEyOCwgNjksIDQ4LCA1MSwgNDgsIDEyOCwgNjksIDQ4LCA1MCwgNTcsIDEyOCwgNjksIAotICAgIDQ4LCA1MCwgNTYsIDY1LCAxMjgsIDY5LCA0OCwgNTAsIDU2LCAxMjgsIDY5LCA0OCwgNTAsIDU1LCAxMjgsIDY5LCA0OCwgCi0gICAgNTAsIDU0LCAxMjgsIDY5LCA0OCwgNTAsIDUzLCAxMjgsIDY5LCA0OCwgNTAsIDUyLCAxMjgsIDY5LCA0OCwgNTAsIDUxLCAKLSAgICAxMjgsIDY5LCA0OCwgNTAsIDUwLCAxMjgsIDY5LCA0OCwgNTAsIDQ5LCAxMjgsIDY5LCA0OCwgNTAsIDQ4LCA2NSwgMTI4LCAKLSAgICA2OSwgNDgsIDUwLCA0OCwgMTI4LCA2OSwgNDgsIDQ5LCA1NywgMTI4LCA2OSwgNDgsIDQ5LCA1NiwgMTI4LCA2OSwgNDgsIAotICAgIDQ5LCA1NSwgNjUsIDEyOCwgNjksIDQ4LCA0OSwgNTUsIDEyOCwgNjksIDQ4LCA0OSwgNTQsIDY1LCAxMjgsIDY5LCA0OCwgCi0gICAgNDksIDU0LCAxMjgsIDY5LCA0OCwgNDksIDUzLCAxMjgsIDY5LCA0OCwgNDksIDUyLCAxMjgsIDY5LCA0OCwgNDksIDUxLCAKLSAgICAxMjgsIDY5LCA0OCwgNDksIDUwLCAxMjgsIDY5LCA0OCwgNDksIDQ5LCAxMjgsIDY5LCA0OCwgNDksIDQ4LCAxMjgsIDY5LCAKLSAgICA0OCwgNDgsIDU3LCA2NSwgMTI4LCA2OSwgNDgsIDQ4LCA1NywgMTI4LCA2OSwgNDgsIDQ4LCA1NiwgNjUsIDEyOCwgNjksIAotICAgIDQ4LCA0OCwgNTYsIDEyOCwgNjksIDQ4LCA0OCwgNTUsIDEyOCwgNjksIDQ4LCA0OCwgNTQsIDEyOCwgNjksIDQ4LCA0OCwgCi0gICAgNTMsIDEyOCwgNjksIDQ4LCA0OCwgNTIsIDEyOCwgNjksIDQ4LCA0OCwgNTEsIDEyOCwgNjksIDQ4LCA0OCwgNTAsIDEyOCwgCi0gICAgNjksIDQ4LCA0OCwgNDksIDEyOCwgNjksIDQ1LCA3NywgNjUsIDczLCAyMDQsIDY4LCA5MCwgOTAsIDY5LCAxMjgsIDY4LCAKLSAgICA5MCwgODcsIDY5LCAxMjgsIDY4LCA5MCwgODUsIDEyOCwgNjgsIDkwLCA3OSwgMTI4LCA2OCwgOTAsIDc0LCA2OSwgMTI4LCAKLSAgICA2OCwgOTAsIDczLCAxMjgsIDY4LCA5MCwgNzIsIDY5LCAxMjgsIDY4LCA5MCwgNzIsIDY1LCAxMjgsIDY4LCA5MCwgNjksIAotICAgIDc2LCA3OSwgMTI4LCA2OCwgOTAsIDY5LCA2OSwgMTI4LCA2OCwgOTAsIDY5LCAxMjgsIDY4LCA5MCwgNjUsIDY1LCAxMjgsIAotICAgIDY4LCA5MCwgNjUsIDEyOCwgNjgsIDkwLCAxMjgsIDY4LCAyMTgsIDY4LCA4OSwgNzksIDEyOCwgNjgsIDg5LCAyMDcsIDY4LCAKLSAgICA4OSwgNjksIDcyLCAxMjgsIDY4LCA4OSwgNjksIDIwMCwgNjgsIDg3LCA3OSwgMTI4LCA2OCwgODcsIDY5LCAxMjgsIDY4LCAKLSAgICA4NywgNjUsIDEyOCwgNjgsIDg2LCA3MywgODMsIDg2LCA2NSwgODIsIDY1LCAxMjgsIDY4LCA4NiwgNjgsIDEyOCwgNjgsIAotICAgIDg2LCAxMjgsIDY4LCA4NSwgODQsIDczLCA2OSwgODMsIDEyOCwgNjgsIDg1LCA4MywgNzUsIDEyOCwgNjgsIDg1LCA4MywgCi0gICAgNzIsIDY5LCA3OCwgNzgsIDY1LCAxMjgsIDY4LCA4NSwgODIsIDY1LCA4NCwgNzMsIDc5LCA3OCwgMTI4LCA2OCwgODUsIDgyLCAKLSAgICA1MCwgMTI4LCA2OCwgODUsIDgwLCA3OSwgNzgsIDY4LCA3MywgODUsIDIxMSwgNjgsIDg1LCA3OSwgODgsIDEyOCwgNjgsIAotICAgIDg1LCA3OSwgMTI4LCA2OCwgODUsIDc4LCA1MiwgMTI4LCA2OCwgODUsIDc4LCA1MSwgMTI4LCA2OCwgODUsIDc4LCAxNzksIAotICAgIDY4LCA4NSwgNzcsIDEyOCwgNjgsIDg1LCAyMDQsIDY4LCA4NSwgNzIsIDEyOCwgNjgsIDg1LCA3MSwgODUsIDY4LCAxMjgsIAotICAgIDY4LCA4NSwgNjYsIDUwLCAxMjgsIDY4LCA4NSwgNjYsIDEyOCwgNjgsIDg1LCAxOTQsIDY4LCA4MiwgODksIDEyOCwgNjgsIAotICAgIDgyLCAyMTcsIDY4LCA4MiwgODUsIDc3LCAxMjgsIDY4LCA4MiwgODUsIDIwNSwgNjgsIDgyLCA3OSwgODAsIDgzLCAxMjgsIAotICAgIDY4LCA4MiwgNzksIDgwLCA3NiwgNjksIDg0LCAxMjgsIDY4LCA4MiwgNzksIDgwLCA0NSwgODMsIDcyLCA2NSwgNjgsIDc5LCAKLSAgICA4NywgNjksIDE5NiwgNjgsIDgyLCA3OSwgNzcsIDY5LCA2OCwgNjUsIDgyLCAyMTcsIDY4LCA4MiwgNzMsIDg2LCA2OSwgCi0gICAgMTI4LCA2OCwgODIsIDczLCA4NiwgMTk3LCA2OCwgODIsIDczLCA3OCwgNzUsIDEyOCwgNjgsIDgyLCA3MywgMjA0LCA2OCwgCi0gICAgODIsIDY5LCA4MywgODMsIDEyOCwgNjgsIDgyLCA2NSwgODUsIDcxLCA3MiwgODQsIDIxMSwgNjgsIDgyLCA2NSwgNzcsIAotICAgIDEyOCwgNjgsIDgyLCA2NSwgNzEsIDc5LCA3OCwgMTI4LCA2OCwgODIsIDY1LCA3MSwgNzksIDIwNiwgNjgsIDgyLCA2NSwgCi0gICAgNzAsIDg0LCA3MywgNzgsIDE5OSwgNjgsIDgyLCA2NSwgNjcsIDcyLCA3NywgNjUsIDgzLCAxMjgsIDY4LCA4MiwgNjUsIDY3LCAKLSAgICA3MiwgNzcsIDY1LCAxMjgsIDY4LCA4MiwgNjUsIDY3LCA3MiwgNzcsIDE5MywgNjgsIDc5LCA4NywgNzgsIDg3LCA2NSwgODIsIAotICAgIDY4LCA4MywgMTI4LCA2OCwgNzksIDg3LCA3OCwgODcsIDY1LCA4MiwgNjgsIDIxMSwgNjgsIDc5LCA4NywgNzgsIDQ1LCA4MCwgCi0gICAgNzksIDczLCA3OCwgODQsIDczLCA3OCwgMTk5LCA2OCwgNzksIDg3LCA3OCwgMTI4LCA2OCwgNzksIDg2LCA2OSwgMTI4LCAKLSAgICA2OCwgNzksIDg1LCA3MSwgNzIsIDc4LCA4NSwgODQsIDEyOCwgNjgsIDc5LCA4NSwgNjYsIDg0LCAxMjgsIDY4LCA3OSwgODUsIAotICAgIDY2LCA3NiwgNjksIDE5NiwgNjgsIDc5LCA4NSwgNjYsIDc2LCA2OSwgNDUsIDc2LCA3MywgNzgsIDE5NywgNjgsIDc5LCA4NSwgCi0gICAgNjYsIDc2LCA2OSwgNDUsIDY5LCA3OCwgNjgsIDY5LCAxOTYsIDY4LCA3OSwgODUsIDY2LCA3NiwgNjksIDEyOCwgNjgsIDc5LCAKLSAgICA4NCwgODQsIDY5LCA2OCwgNDUsIDgwLCAxMjgsIDY4LCA3OSwgODQsIDg0LCA2OSwgNjgsIDQ1LCA3OCwgMTI4LCA2OCwgNzksIAotICAgIDg0LCA4NCwgNjksIDY4LCA0NSwgNzYsIDEyOCwgNjgsIDc5LCA4NCwgODQsIDY5LCA2OCwgMTI4LCA2OCwgNzksIDg0LCA4NCwgCi0gICAgNjksIDE5NiwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDU1LCA1NiwgMTI4LCAKLSAgICA2OCwgNzksIDg0LCA4MywgNDUsIDU1LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTQsIDU2LCAxMjgsIDY4LCA3OSwgODQsIAotICAgIDgzLCA0NSwgNTQsIDU1LCA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDU0LCA1NSwgMTI4LCA2OCwgNzksIDg0LCA4MywgCi0gICAgNDUsIDU0LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTMsIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTMsIDU1LCAKLSAgICA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUzLCA1NSwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUzLCA1NCwgNTYsIAotICAgIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MywgNTQsIDU1LCA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUzLCA1NCwgCi0gICAgNTUsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MywgNTQsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MywgMTI4LCAKLSAgICA2OCwgNzksIDg0LCA4MywgNDUsIDUyLCA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUyLCA1NSwgNTYsIDEyOCwgNjgsIAotICAgIDc5LCA4NCwgODMsIDQ1LCA1MiwgNTUsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MiwgNTQsIDU2LCAxMjgsIDY4LCA3OSwgCi0gICAgODQsIDgzLCA0NSwgNTIsIDU0LCA1NSwgNTYsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MiwgNTQsIDU1LCAxMjgsIDY4LCAKLSAgICA3OSwgODQsIDgzLCA0NSwgNTIsIDU0LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTIsIDUzLCA1NiwgMTI4LCA2OCwgNzksIAotICAgIDg0LCA4MywgNDUsIDUyLCA1MywgNTUsIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTIsIDUzLCA1NSwgMTI4LCA2OCwgCi0gICAgNzksIDg0LCA4MywgNDUsIDUyLCA1MywgNTQsIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTIsIDUzLCA1NCwgNTUsIAotICAgIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTIsIDUzLCA1NCwgNTUsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MiwgCi0gICAgNTMsIDU0LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTIsIDUzLCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTIsIAotICAgIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MSwgNTYsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MSwgNTUsIDU2LCAKLSAgICAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTEsIDU1LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTEsIDU0LCA1NiwgCi0gICAgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUxLCA1NCwgNTUsIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTEsIDU0LCAKLSAgICA1NSwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUxLCA1NCwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUxLCA1MywgNTYsIAotICAgIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MSwgNTMsIDU1LCA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUxLCA1MywgCi0gICAgNTUsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MSwgNTMsIDU0LCA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUxLCAKLSAgICA1MywgNTQsIDU1LCA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUxLCA1MywgNTQsIDU1LCAxMjgsIDY4LCA3OSwgODQsIAotICAgIDgzLCA0NSwgNTEsIDUzLCA1NCwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUxLCA1MywgMTI4LCA2OCwgNzksIDg0LCA4MywgCi0gICAgNDUsIDUxLCA1MiwgNTYsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MSwgNTIsIDU1LCA1NiwgMTI4LCA2OCwgNzksIDg0LCAKLSAgICA4MywgNDUsIDUxLCA1MiwgNTUsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MSwgNTIsIDU0LCA1NiwgMTI4LCA2OCwgNzksIAotICAgIDg0LCA4MywgNDUsIDUxLCA1MiwgNTQsIDU1LCA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUxLCA1MiwgNTQsIDU1LCAKLSAgICAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTEsIDUyLCA1NCwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUxLCA1MiwgNTMsIAotICAgIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTEsIDUyLCA1MywgNTUsIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgCi0gICAgNTEsIDUyLCA1MywgNTUsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MSwgNTIsIDUzLCA1NCwgNTYsIDEyOCwgNjgsIDc5LCAKLSAgICA4NCwgODMsIDQ1LCA1MSwgNTIsIDUzLCA1NCwgNTUsIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTEsIDUyLCA1MywgCi0gICAgNTQsIDU1LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTEsIDUyLCA1MywgNTQsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCAKLSAgICA1MSwgNTIsIDUzLCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTEsIDUyLCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTEsIAotICAgIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MCwgNTYsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MCwgNTUsIDU2LCAKLSAgICAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTAsIDU1LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTAsIDU0LCA1NiwgCi0gICAgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUwLCA1NCwgNTUsIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTAsIDU0LCAKLSAgICA1NSwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUwLCA1NCwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUwLCA1MywgNTYsIAotICAgIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MCwgNTMsIDU1LCA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUwLCA1MywgCi0gICAgNTUsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MCwgNTMsIDU0LCA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUwLCAKLSAgICA1MywgNTQsIDU1LCA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUwLCA1MywgNTQsIDU1LCAxMjgsIDY4LCA3OSwgODQsIAotICAgIDgzLCA0NSwgNTAsIDUzLCA1NCwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUwLCA1MywgMTI4LCA2OCwgNzksIDg0LCA4MywgCi0gICAgNDUsIDUwLCA1MiwgNTYsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MCwgNTIsIDU1LCA1NiwgMTI4LCA2OCwgNzksIDg0LCAKLSAgICA4MywgNDUsIDUwLCA1MiwgNTUsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MCwgNTIsIDU0LCA1NiwgMTI4LCA2OCwgNzksIAotICAgIDg0LCA4MywgNDUsIDUwLCA1MiwgNTQsIDU1LCA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUwLCA1MiwgNTQsIDU1LCAKLSAgICAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTAsIDUyLCA1NCwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUwLCA1MiwgNTMsIAotICAgIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTAsIDUyLCA1MywgNTUsIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgCi0gICAgNTAsIDUyLCA1MywgNTUsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MCwgNTIsIDUzLCA1NCwgNTYsIDEyOCwgNjgsIDc5LCAKLSAgICA4NCwgODMsIDQ1LCA1MCwgNTIsIDUzLCA1NCwgNTUsIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTAsIDUyLCA1MywgCi0gICAgNTQsIDU1LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTAsIDUyLCA1MywgNTQsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCAKLSAgICA1MCwgNTIsIDUzLCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTAsIDUyLCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTAsIAotICAgIDUxLCA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUwLCA1MSwgNTUsIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgCi0gICAgNTAsIDUxLCA1NSwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUwLCA1MSwgNTQsIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCAKLSAgICA0NSwgNTAsIDUxLCA1NCwgNTUsIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTAsIDUxLCA1NCwgNTUsIDEyOCwgNjgsIAotICAgIDc5LCA4NCwgODMsIDQ1LCA1MCwgNTEsIDU0LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTAsIDUxLCA1MywgNTYsIDEyOCwgCi0gICAgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MCwgNTEsIDUzLCA1NSwgNTYsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MCwgNTEsIAotICAgIDUzLCA1NSwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUwLCA1MSwgNTMsIDU0LCA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgCi0gICAgNDUsIDUwLCA1MSwgNTMsIDU0LCA1NSwgNTYsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MCwgNTEsIDUzLCA1NCwgNTUsIAotICAgIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MCwgNTEsIDUzLCA1NCwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUwLCA1MSwgCi0gICAgNTMsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MCwgNTEsIDUyLCA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUwLCAKLSAgICA1MSwgNTIsIDU1LCA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUwLCA1MSwgNTIsIDU1LCAxMjgsIDY4LCA3OSwgODQsIAotICAgIDgzLCA0NSwgNTAsIDUxLCA1MiwgNTQsIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTAsIDUxLCA1MiwgNTQsIDU1LCAKLSAgICA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUwLCA1MSwgNTIsIDU0LCA1NSwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIAotICAgIDUwLCA1MSwgNTIsIDU0LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTAsIDUxLCA1MiwgNTMsIDU2LCAxMjgsIDY4LCA3OSwgCi0gICAgODQsIDgzLCA0NSwgNTAsIDUxLCA1MiwgNTMsIDU1LCA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUwLCA1MSwgNTIsIAotICAgIDUzLCA1NSwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUwLCA1MSwgNTIsIDUzLCA1NCwgNTYsIDEyOCwgNjgsIDc5LCA4NCwgCi0gICAgODMsIDQ1LCA1MCwgNTEsIDUyLCA1MywgNTQsIDU1LCA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUwLCA1MSwgNTIsIAotICAgIDUzLCA1NCwgNTUsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MCwgNTEsIDUyLCA1MywgNTQsIDEyOCwgNjgsIDc5LCA4NCwgCi0gICAgODMsIDQ1LCA1MCwgNTEsIDUyLCA1MywgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUwLCA1MSwgNTIsIDEyOCwgNjgsIDc5LCAKLSAgICA4NCwgODMsIDQ1LCA1MCwgNTEsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MCwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIAotICAgIDQ5LCA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDQ5LCA1NSwgNTYsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA0OSwgCi0gICAgNTUsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA0OSwgNTQsIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNDksIDU0LCAKLSAgICA1NSwgNTYsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA0OSwgNTQsIDU1LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNDksIAotICAgIDU0LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNDksIDUzLCA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDQ5LCA1MywgCi0gICAgNTUsIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNDksIDUzLCA1NSwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDQ5LCAKLSAgICA1MywgNTQsIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNDksIDUzLCA1NCwgNTUsIDU2LCAxMjgsIDY4LCA3OSwgODQsIAotICAgIDgzLCA0NSwgNDksIDUzLCA1NCwgNTUsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA0OSwgNTMsIDU0LCAxMjgsIDY4LCA3OSwgCi0gICAgODQsIDgzLCA0NSwgNDksIDUzLCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNDksIDUyLCA1NiwgMTI4LCA2OCwgNzksIDg0LCAKLSAgICA4MywgNDUsIDQ5LCA1MiwgNTUsIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNDksIDUyLCA1NSwgMTI4LCA2OCwgNzksIAotICAgIDg0LCA4MywgNDUsIDQ5LCA1MiwgNTQsIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNDksIDUyLCA1NCwgNTUsIDU2LCAKLSAgICAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNDksIDUyLCA1NCwgNTUsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA0OSwgNTIsIAotICAgIDU0LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNDksIDUyLCA1MywgNTYsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA0OSwgCi0gICAgNTIsIDUzLCA1NSwgNTYsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA0OSwgNTIsIDUzLCA1NSwgMTI4LCA2OCwgNzksIDg0LCAKLSAgICA4MywgNDUsIDQ5LCA1MiwgNTMsIDU0LCA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDQ5LCA1MiwgNTMsIDU0LCA1NSwgCi0gICAgNTYsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA0OSwgNTIsIDUzLCA1NCwgNTUsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCAKLSAgICA0OSwgNTIsIDUzLCA1NCwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDQ5LCA1MiwgNTMsIDEyOCwgNjgsIDc5LCA4NCwgODMsIAotICAgIDQ1LCA0OSwgNTIsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA0OSwgNTEsIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgCi0gICAgNDksIDUxLCA1NSwgNTYsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA0OSwgNTEsIDU1LCAxMjgsIDY4LCA3OSwgODQsIDgzLCAKLSAgICA0NSwgNDksIDUxLCA1NCwgNTYsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA0OSwgNTEsIDU0LCA1NSwgNTYsIDEyOCwgNjgsIAotICAgIDc5LCA4NCwgODMsIDQ1LCA0OSwgNTEsIDU0LCA1NSwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDQ5LCA1MSwgNTQsIDEyOCwgCi0gICAgNjgsIDc5LCA4NCwgODMsIDQ1LCA0OSwgNTEsIDUzLCA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDQ5LCA1MSwgNTMsIAotICAgIDU1LCA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDQ5LCA1MSwgNTMsIDU1LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgCi0gICAgNDksIDUxLCA1MywgNTQsIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNDksIDUxLCA1MywgNTQsIDU1LCA1NiwgMTI4LCAKLSAgICA2OCwgNzksIDg0LCA4MywgNDUsIDQ5LCA1MSwgNTMsIDU0LCA1NSwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDQ5LCA1MSwgCi0gICAgNTMsIDU0LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNDksIDUxLCA1MywgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDQ5LCAKLSAgICA1MSwgNTIsIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNDksIDUxLCA1MiwgNTUsIDU2LCAxMjgsIDY4LCA3OSwgODQsIAotICAgIDgzLCA0NSwgNDksIDUxLCA1MiwgNTUsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA0OSwgNTEsIDUyLCA1NCwgNTYsIDEyOCwgCi0gICAgNjgsIDc5LCA4NCwgODMsIDQ1LCA0OSwgNTEsIDUyLCA1NCwgNTUsIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNDksIAotICAgIDUxLCA1MiwgNTQsIDU1LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNDksIDUxLCA1MiwgNTQsIDEyOCwgNjgsIDc5LCA4NCwgCi0gICAgODMsIDQ1LCA0OSwgNTEsIDUyLCA1MywgNTYsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA0OSwgNTEsIDUyLCA1MywgNTUsIAotICAgIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNDksIDUxLCA1MiwgNTMsIDU1LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgCi0gICAgNDksIDUxLCA1MiwgNTMsIDU0LCA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDQ5LCA1MSwgNTIsIDUzLCA1NCwgNTUsIAotICAgIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNDksIDUxLCA1MiwgNTMsIDU0LCA1NSwgMTI4LCA2OCwgNzksIDg0LCA4MywgCi0gICAgNDUsIDQ5LCA1MSwgNTIsIDUzLCA1NCwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDQ5LCA1MSwgNTIsIDUzLCAxMjgsIDY4LCAKLSAgICA3OSwgODQsIDgzLCA0NSwgNDksIDUxLCA1MiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDQ5LCA1MSwgMTI4LCA2OCwgNzksIAotICAgIDg0LCA4MywgNDUsIDQ5LCA1MCwgNTYsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA0OSwgNTAsIDU1LCA1NiwgMTI4LCA2OCwgCi0gICAgNzksIDg0LCA4MywgNDUsIDQ5LCA1MCwgNTUsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA0OSwgNTAsIDU0LCA1NiwgMTI4LCAKLSAgICA2OCwgNzksIDg0LCA4MywgNDUsIDQ5LCA1MCwgNTQsIDU1LCA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDQ5LCA1MCwgCi0gICAgNTQsIDU1LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNDksIDUwLCA1NCwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDQ5LCAKLSAgICA1MCwgNTMsIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNDksIDUwLCA1MywgNTUsIDU2LCAxMjgsIDY4LCA3OSwgODQsIAotICAgIDgzLCA0NSwgNDksIDUwLCA1MywgNTUsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA0OSwgNTAsIDUzLCA1NCwgNTYsIDEyOCwgCi0gICAgNjgsIDc5LCA4NCwgODMsIDQ1LCA0OSwgNTAsIDUzLCA1NCwgNTUsIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNDksIAotICAgIDUwLCA1MywgNTQsIDU1LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNDksIDUwLCA1MywgNTQsIDEyOCwgNjgsIDc5LCA4NCwgCi0gICAgODMsIDQ1LCA0OSwgNTAsIDUzLCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNDksIDUwLCA1MiwgNTYsIDEyOCwgNjgsIDc5LCAKLSAgICA4NCwgODMsIDQ1LCA0OSwgNTAsIDUyLCA1NSwgNTYsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA0OSwgNTAsIDUyLCA1NSwgCi0gICAgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDQ5LCA1MCwgNTIsIDU0LCA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDQ5LCAKLSAgICA1MCwgNTIsIDU0LCA1NSwgNTYsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA0OSwgNTAsIDUyLCA1NCwgNTUsIDEyOCwgNjgsIAotICAgIDc5LCA4NCwgODMsIDQ1LCA0OSwgNTAsIDUyLCA1NCwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDQ5LCA1MCwgNTIsIDUzLCAKLSAgICA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDQ5LCA1MCwgNTIsIDUzLCA1NSwgNTYsIDEyOCwgNjgsIDc5LCA4NCwgODMsIAotICAgIDQ1LCA0OSwgNTAsIDUyLCA1MywgNTUsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA0OSwgNTAsIDUyLCA1MywgNTQsIDU2LCAKLSAgICAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNDksIDUwLCA1MiwgNTMsIDU0LCA1NSwgNTYsIDEyOCwgNjgsIDc5LCA4NCwgODMsIAotICAgIDQ1LCA0OSwgNTAsIDUyLCA1MywgNTQsIDU1LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNDksIDUwLCA1MiwgNTMsIDU0LCAKLSAgICAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNDksIDUwLCA1MiwgNTMsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA0OSwgNTAsIAotICAgIDUyLCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNDksIDUwLCA1MSwgNTYsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA0OSwgCi0gICAgNTAsIDUxLCA1NSwgNTYsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA0OSwgNTAsIDUxLCA1NSwgMTI4LCA2OCwgNzksIDg0LCAKLSAgICA4MywgNDUsIDQ5LCA1MCwgNTEsIDU0LCA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDQ5LCA1MCwgNTEsIDU0LCA1NSwgCi0gICAgNTYsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA0OSwgNTAsIDUxLCA1NCwgNTUsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCAKLSAgICA0OSwgNTAsIDUxLCA1NCwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDQ5LCA1MCwgNTEsIDUzLCA1NiwgMTI4LCA2OCwgNzksIAotICAgIDg0LCA4MywgNDUsIDQ5LCA1MCwgNTEsIDUzLCA1NSwgNTYsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA0OSwgNTAsIDUxLCAKLSAgICA1MywgNTUsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA0OSwgNTAsIDUxLCA1MywgNTQsIDU2LCAxMjgsIDY4LCA3OSwgODQsIAotICAgIDgzLCA0NSwgNDksIDUwLCA1MSwgNTMsIDU0LCA1NSwgNTYsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA0OSwgNTAsIDUxLCAKLSAgICA1MywgNTQsIDU1LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNDksIDUwLCA1MSwgNTMsIDU0LCAxMjgsIDY4LCA3OSwgODQsIAotICAgIDgzLCA0NSwgNDksIDUwLCA1MSwgNTMsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA0OSwgNTAsIDUxLCA1MiwgNTYsIDEyOCwgCi0gICAgNjgsIDc5LCA4NCwgODMsIDQ1LCA0OSwgNTAsIDUxLCA1MiwgNTUsIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNDksIAotICAgIDUwLCA1MSwgNTIsIDU1LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNDksIDUwLCA1MSwgNTIsIDU0LCA1NiwgMTI4LCA2OCwgCi0gICAgNzksIDg0LCA4MywgNDUsIDQ5LCA1MCwgNTEsIDUyLCA1NCwgNTUsIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNDksIAotICAgIDUwLCA1MSwgNTIsIDU0LCA1NSwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDQ5LCA1MCwgNTEsIDUyLCA1NCwgMTI4LCA2OCwgCi0gICAgNzksIDg0LCA4MywgNDUsIDQ5LCA1MCwgNTEsIDUyLCA1MywgNTYsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA0OSwgNTAsIAotICAgIDUxLCA1MiwgNTMsIDU1LCA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDQ5LCA1MCwgNTEsIDUyLCA1MywgNTUsIDEyOCwgCi0gICAgNjgsIDc5LCA4NCwgODMsIDQ1LCA0OSwgNTAsIDUxLCA1MiwgNTMsIDU0LCA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIAotICAgIDQ5LCA1MCwgNTEsIDUyLCA1MywgNTQsIDU1LCA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDQ5LCA1MCwgNTEsIDUyLCAKLSAgICA1MywgNTQsIDU1LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNDksIDUwLCA1MSwgNTIsIDUzLCA1NCwgMTI4LCA2OCwgNzksIAotICAgIDg0LCA4MywgNDUsIDQ5LCA1MCwgNTEsIDUyLCA1MywgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDQ5LCA1MCwgNTEsIDUyLCAKLSAgICAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNDksIDUwLCA1MSwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDQ5LCA1MCwgCi0gICAgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDQ5LCAxMjgsIDY4LCA3OSwgODQsIDgzLCAxMjgsIDY4LCA3OSwgODQsIDc2LCAKLSAgICA2OSwgODMsIDIxMSwgNjgsIDc5LCA4MiwgODUsIDEyOCwgNjgsIDc5LCA3OSwgODIsIDEyOCwgNjgsIDc5LCA3OSwgNzgsIAotICAgIDcxLCAxMjgsIDY4LCA3OSwgNzgsIDcxLCAxMjgsIDY4LCA3OSwgNzcsIDY1LCA3MywgMjA2LCA2OCwgNzksIDc2LCA4MCwgCi0gICAgNzIsIDczLCA3OCwgMTI4LCA2OCwgNzksIDc2LCA3NiwgODMsIDEyOCwgNjgsIDc5LCA3NiwgNzYsIDY1LCAyMTAsIDY4LCAKLSAgICA3OSwgNzYsIDczLCA4NSwgNzcsIDEyOCwgNjgsIDc5LCA3NSwgNzcsIDY1LCA3MywgMTI4LCA2OCwgNzksIDczLCA4NCwgCi0gICAgMTI4LCA2OCwgNzksIDcxLCAxMjgsIDY4LCA3OSwgMTk5LCA2OCwgNzksIDY5LCAyMTEsIDY4LCA3OSwgNjgsIDY5LCA3NSwgCi0gICAgNjUsIDg0LCA2NSwgMTI4LCA2OCwgNzksIDY2LCA4MiwgNzksIDEyOCwgNjgsIDc5LCA2NSwgNjcsIDcyLCA2NSwgODMsIDcyLCAKLSAgICA3NywgNjksIDY5LCAxMjgsIDY4LCA3OSwgNjUsIDY3LCA3MiwgNjUsIDgzLCA3MiwgNzcsIDY5LCAxOTcsIDY4LCA3OSwgNjUsIAotICAgIDEyOCwgNjgsIDc5LCA0NSwgNzksIDEyOCwgNjgsIDc3LCAxMjgsIDY4LCAyMDUsIDY4LCA3NiwgODUsIDEyOCwgNjgsIDc2LCAKLSAgICA3OSwgMTI4LCA2OCwgNzYsIDczLCAxMjgsIDY4LCA3NiwgNjksIDY5LCAxMjgsIDY4LCA3NiwgNjUsIDEyOCwgNjgsIDc2LCAKLSAgICAxMjgsIDY4LCA3NSwgNjUsIDgyLCAxMjgsIDY4LCA3NSwgNjUsIDIxMCwgNjgsIDc0LCA2OSwgODIsIDg2LCA3MywgMTI4LCAKLSAgICA2OCwgNzQsIDY5LCA4MiwgODYsIDEyOCwgNjgsIDc0LCA2OSwgMTI4LCA2OCwgNzQsIDY1LCAxMjgsIDY4LCA3NCwgMTI4LCAKLSAgICA2OCwgNzMsIDkwLCA5MCwgMjE3LCA2OCwgNzMsIDg2LCA3OSwgODIsIDY3LCAxOTcsIDY4LCA3MywgODYsIDczLCA4MywgNzMsIAotICAgIDc5LCA3OCwgMTI4LCA2OCwgNzMsIDg2LCA3MywgODMsIDczLCA3OSwgMjA2LCA2OCwgNzMsIDg2LCA3MywgNzgsIDY1LCA4NCwgCi0gICAgNzMsIDc5LCA3OCwgMTI4LCA2OCwgNzMsIDg2LCA3MywgNjgsIDY5LCA4MywgMTI4LCA2OCwgNzMsIDg2LCA3MywgNjgsIDY5LCAKLSAgICA4MiwgMTI4LCA2OCwgNzMsIDg2LCA3MywgNjgsIDY5LCAxOTYsIDY4LCA3MywgODYsIDczLCA2OCwgNjksIDEyOCwgNjgsIAotICAgIDczLCA4NiwgNzMsIDY4LCAxOTcsIDY4LCA3MywgODYsIDY5LCA4MiwgNzEsIDY5LCA3OCwgNjcsIDY5LCAxMjgsIDY4LCA3MywgCi0gICAgODQsIDg0LCAyMDcsIDY4LCA3MywgODMsIDg0LCA3OSwgODIsIDg0LCA3MywgNzksIDc4LCAxMjgsIDY4LCA3MywgODMsIDg0LCAKLSAgICA3MywgNzgsIDcxLCA4NSwgNzMsIDgzLCA3MiwgMTI4LCA2OCwgNzMsIDgzLCA4NCwgNzMsIDc2LCA3NiwgMTI4LCA2OCwgNzMsIAotICAgIDgzLCA4MywgNzksIDc2LCA4NiwgNjksIDQ1LCA1MCwgMTI4LCA2OCwgNzMsIDgzLCA4MywgNzksIDc2LCA4NiwgNjksIDEyOCwgCi0gICAgNjgsIDczLCA4MywgODAsIDY5LCA4MiwgODMsIDczLCA3OSwgNzgsIDEyOCwgNjgsIDczLCA4MywgNzUsIDEyOCwgNjgsIDczLCAKLSAgICA4MywgNzMsIDc3LCA3OSwgODUsIDEyOCwgNjgsIDczLCA4MywgNzIsIDEyOCwgNjgsIDczLCA4MywgNjcsIDc5LCA3OCwgODQsIAotICAgIDczLCA3OCwgODUsIDc5LCA4NSwgMjExLCA2OCwgNzMsIDgzLCAxOTUsIDY4LCA3MywgODMsIDY1LCA4MCwgODAsIDc5LCA3MywgCi0gICAgNzgsIDg0LCA2OSwgMTk2LCA2OCwgNzMsIDgzLCA2NSwgNjYsIDc2LCA2OSwgMTk2LCA2OCwgNzMsIDgyLCA3MSwgMTkzLCAKLSAgICA2OCwgNzMsIDgyLCA2OSwgNjcsIDg0LCA3NiwgMjE3LCA2OCwgNzMsIDgyLCA2OSwgNjcsIDg0LCA3MywgNzksIDc4LCA2NSwgCi0gICAgMjA0LCA2OCwgNzMsIDgwLCA4NCwgNjksIDEyOCwgNjgsIDczLCA4MCwgODAsIDY5LCA4MiwgMTI4LCA2OCwgNzMsIDgwLCAKLSAgICA3NiwgNzksIDg1LCA3OCwgMTI4LCA2OCwgNzMsIDgwLCA3NiwgNzMsIDEyOCwgNjgsIDczLCA4MCwgNzYsIDIwMSwgNjgsIAotICAgIDczLCA3OCwgNzEsIDY2LCA2NSwgMjEyLCA2OCwgNzMsIDIwNiwgNjgsIDczLCA3NywgNzcsIDczLCA3OCwgNzEsIDEyOCwgCi0gICAgNjgsIDczLCA3NywgNzMsIDc4LCA4NSwgODQsIDczLCA3OSwgNzgsIDQ1LCA1MSwgMTI4LCA2OCwgNzMsIDc3LCA3MywgNzgsIAotICAgIDg1LCA4NCwgNzMsIDc5LCA3OCwgNDUsIDUwLCAxMjgsIDY4LCA3MywgNzcsIDczLCA3OCwgODUsIDg0LCA3MywgNzksIDc4LCAKLSAgICA0NSwgNDksIDEyOCwgNjgsIDczLCA3NywgNzMsIDc4LCA3MywgODMsIDcyLCA3NywgNjksIDc4LCA4NCwgMTI4LCA2OCwgNzMsIAotICAgIDc3LCA3MywgNjgsIDczLCAxOTMsIDY4LCA3MywgNzcsIDY5LCA3OCwgODMsIDczLCA3OSwgNzgsIDY1LCAyMDQsIDY4LCA3MywgCi0gICAgNzcsIDY5LCA3OCwgODMsIDczLCA3OSwgMjA2LCA2OCwgNzMsIDc3LCA1MCwgMTI4LCA2OCwgNzMsIDc2LCAxMjgsIDY4LCAKLSAgICA3MywgNzEsIDgyLCA2NSwgODAsIDcyLCAxMjgsIDY4LCA3MywgNzEsIDgyLCA2NSwgODAsIDIwMCwgNjgsIDczLCA3MSwgODIsIAotICAgIDY1LCA3NywgNzcsIDc5LCAyMTEsIDY4LCA3MywgNzEsIDgyLCA2NSwgNzcsIDc3LCAxOTMsIDY4LCA3MywgNzEsIDgyLCA2NSwgCi0gICAgMjA1LCA2OCwgNzMsIDcxLCA3OSwgODIsIDcxLCA3OSwgNzgsIDEyOCwgNjgsIDczLCA3MSwgNzksIDgyLCA3MSwgNzksIAotICAgIDIwNiwgNjgsIDczLCA3MSwgNjUsIDc3LCA3NywgNjUsIDEyOCwgNjgsIDczLCA3MSwgMTkzLCA2OCwgNzMsIDcwLCA4NCwgCi0gICAgNzksIDcxLCA3MSwgNzksIDIxMSwgNjgsIDczLCA3MCwgNzksIDc4LCA3MywgNjUsIDgzLCAxMjgsIDY4LCA3MywgNzAsIDcwLCAKLSAgICA3MywgNjcsIDg1LCA3NiwgODQsIDIxNywgNjgsIDczLCA3MCwgNzAsIDczLCA2NywgODUsIDc2LCA4NCwgNzMsIDY5LCA4MywgCi0gICAgMTI4LCA2OCwgNzMsIDcwLCA3MCwgNjksIDgyLCA2OSwgNzgsIDg0LCA3MywgNjUsIDc2LCAxMjgsIDY4LCA3MywgNzAsIDcwLCAKLSAgICA2OSwgODIsIDY5LCA3OCwgNjcsIDE5NywgNjgsIDczLCA3MCwgNjUsIDg0LCAxMjgsIDY4LCA3MywgNjksIDgzLCA3MywgODMsIAotICAgIDEyOCwgNjgsIDczLCA2OSwgODMsIDczLCAyMTEsIDY4LCA3MywgNjksIDgwLCAxMjgsIDY4LCA3MywgMTk3LCA2OCwgNzMsIAotICAgIDY2LCAxMjgsIDY4LCA3MywgNjUsIDg0LCA3OSwgNzgsIDc5LCAyMDYsIDY4LCA3MywgNjUsIDg0LCA3OSwgNzgsIDczLCA3NSwgCi0gICAgMjAxLCA2OCwgNzMsIDY1LCA4MywgODQsIDc5LCA3NiwgMjAxLCA2OCwgNzMsIDY1LCA3NywgNzksIDc4LCA2OCwgODMsIAotICAgIDEyOCwgNjgsIDczLCA2NSwgNzcsIDc5LCA3OCwgNjgsIDEyOCwgNjgsIDczLCA2NSwgNzcsIDc5LCA3OCwgMTk2LCA2OCwgCi0gICAgNzMsIDY1LCA3NywgNjksIDg0LCA2OSwgMjEwLCA2OCwgNzMsIDY1LCA3NiwgODksIDg0LCA3MywgNzUsIDY1LCAxMjgsIDY4LCAKLSAgICA3MywgNjUsIDc2LCA4OSwgODQsIDczLCA3NSwgMTkzLCA2OCwgNzMsIDY1LCA3NiwgNjksIDY3LCA4NCwgNDUsIDIwOCwgNjgsIAotICAgIDczLCA2NSwgNzEsIDc5LCA3OCwgNjUsIDc2LCAxMjgsIDY4LCA3MywgNjUsIDcxLCA3OSwgNzgsIDY1LCAyMDQsIDY4LCA3MywgCi0gICAgNjUsIDY5LCA4MiwgNjksIDgzLCA3MywgOTAsIDY5LCAxOTYsIDY4LCA3MywgNjUsIDY5LCA4MiwgNjksIDgzLCA3MywgODMsIAotICAgIDEyOCwgNjgsIDczLCA2NSwgNjksIDgyLCA2OSwgODMsIDczLCAyMTEsIDY4LCA3MiwgNzksIDg1LCAxMjgsIDY4LCA3MiwgCi0gICAgNzksIDc5LCAxMjgsIDY4LCA3MiwgNzksIDEyOCwgNjgsIDcyLCA3MywgMTI4LCA2OCwgNzIsIDcyLCA4NSwgMTI4LCA2OCwgCi0gICAgNzIsIDcyLCA3OSwgNzksIDEyOCwgNjgsIDcyLCA3MiwgNzksIDEyOCwgNjgsIDcyLCA3MiwgNzMsIDEyOCwgNjgsIDcyLCAKLSAgICA3MiwgNjksIDY5LCAxMjgsIDY4LCA3MiwgNzIsIDY5LCAxMjgsIDY4LCA3MiwgNzIsIDY1LCAxMjgsIDY4LCA3MiwgNjksIAotICAgIDY5LCAxMjgsIDY4LCA3MiwgNjUsIDgyLCA3NywgNjUsIDEyOCwgNjgsIDcyLCA2NSwgNzYsIDY5LCA4NCwgNzIsIDEyOCwgCi0gICAgNjgsIDcyLCA2NSwgNzYsIDY1LCA4NCwgNzIsIDEyOCwgNjgsIDcyLCA2NSwgNzYsIDEyOCwgNjgsIDcyLCA2NSwgNjgsIDcyLCAKLSAgICA2OSwgMTI4LCA2OCwgNzIsIDY1LCA2NSwgNzYsIDg1LCAxMjgsIDY4LCA3MiwgNjUsIDEyOCwgNjgsIDY5LCA5MCwgMjAwLCAKKyAgICA4NCwgNjksIDIxMCwgNjksIDc4LCA4MSwgODUsIDczLCA4MiwgODksIDEyOCwgNjksIDc4LCA4MSwgMTI4LCA2OSwgNzgsIAorICAgIDc5LCAyMTEsIDY5LCA3OCwgNzgsIDEyOCwgNjksIDc4LCA3NiwgNjUsIDgyLCA3MSwgNjksIDc3LCA2OSwgNzgsIDg0LCAKKyAgICAxMjgsIDY5LCA3OCwgNzEsIDczLCA3OCwgNjksIDEyOCwgNjksIDc4LCA2OCwgNzksIDcwLCA3OSwgNzgsIDc5LCA3OCwgCisgICAgMTI4LCA2OSwgNzgsIDY4LCA3MywgNzgsIDE5OSwgNjksIDc4LCA2OCwgNjksIDgwLCAxMjgsIDY5LCA3OCwgNjgsIDY5LCAKKyAgICA2NSwgODYsIDc5LCA4NSwgODIsIDEyOCwgNjksIDc4LCA2NywgNzksIDg1LCA3OCwgODQsIDY5LCA4MiwgODMsIDEyOCwgNjksIAorICAgIDc4LCA2NywgNzYsIDc5LCA4MywgODUsIDgyLCA2OSwgMTI4LCA2OSwgNzgsIDY3LCA3NiwgNzksIDgzLCA3MywgNzgsIDE5OSwgCisgICAgNjksIDc4LCA2NywgMTI4LCA2OSwgNzgsIDY1LCA4MiwgODgsIDczLCAyMTEsIDY5LCA3OCwgNjUsIDgyLCA3NywgNzksIDc4LCAKKyAgICA3MywgNzksIDIxMSwgNjksIDc3LCA4MCwgODQsIDIxNywgNjksIDc3LCA4MCwgNzIsIDY1LCA4NCwgNzMsIDE5NSwgNjksIAorICAgIDc3LCA4MCwgNzIsIDY1LCA4MywgNzMsIDIxMSwgNjksIDc3LCA2NiwgODIsIDc5LCA3MywgNjgsIDY5LCA4MiwgODksIDEyOCwgCisgICAgNjksIDc3LCA2NiwgNzYsIDY5LCA3NywgMTI4LCA2OSwgNzcsIDY2LCA2OSwgNzYsIDc2LCA3MywgODMsIDcyLCA3NywgNjksIAorICAgIDc4LCA4NCwgMTI4LCA2OSwgNzcsIDY2LCA2OSwgNjgsIDY4LCA3MywgNzgsIDcxLCAxMjgsIDY5LCA3NiwgODQsIDEyOCwgCisgICAgNjksIDc2LCA3NiwgNzMsIDgwLCA4NCwgNzMsIDE5NSwgNjksIDc2LCA3NiwgNzMsIDgwLCA4MywgNzMsIDgzLCAxMjgsIDY5LCAKKyAgICA3NiwgNzYsIDczLCA4MCwgODMsIDY5LCAxMjgsIDY5LCA3NiwgNzMsIDcwLCA3MywgMTI4LCA2OSwgNzYsIDY5LCA4NiwgNjksIAorICAgIDc4LCA0NSwgODQsIDcyLCA3MywgODIsIDg0LCA4OSwgMTI4LCA2OSwgNzYsIDY5LCA4NiwgNjksIDc4LCAxMjgsIDY5LCA3NiwgCisgICAgNjksIDg2LCA2OSwgMjA2LCA2OSwgNzYsIDY5LCA4MCwgNzIsIDY1LCA3OCwgODQsIDEyOCwgNjksIDc2LCA2OSwgNzcsIDY5LCAKKyAgICA3OCwgMjEyLCA2OSwgNzYsIDY5LCA2NywgODQsIDgyLCA3MywgNjcsIDY1LCAyMDQsIDY5LCA3NiwgNjksIDY3LCA4NCwgODIsIAorICAgIDczLCAxOTUsIDY5LCA3NiwgNjUsIDcwLCA4MiwgNzksIDc4LCAxMjgsIDY5LCA3NSwgODMsIDg0LCA4MiwgNjksIDgwLCA4NCwgCisgICAgNzksIDc4LCAxMjgsIDY5LCA3NSwgODMsIDEyOCwgNjksIDc1LCA3MCwgNzksIDc4LCA3MywgODQsIDczLCA3NSwgNzksIDc4LCAKKyAgICAxMjgsIDY5LCA3NSwgNjUsIDgyLCA2NSwgMTI4LCA2OSwgNzQsIDY5LCA2NywgMjEyLCA2OSwgNzMsIDgzLCAxMjgsIDY5LCAKKyAgICA3MywgNzEsIDcyLCA4NCwgODksIDEyOCwgNjksIDczLCA3MSwgNzIsIDg0LCAyMTcsIDY5LCA3MywgNzEsIDcyLCA4NCwgNzIsIAorICAgIDgzLCAxMjgsIDY5LCA3MywgNzEsIDcyLCA4NCwgNzIsIDIxMSwgNjksIDczLCA3MSwgNzIsIDg0LCA3MiwgMTI4LCA2OSwgCisgICAgNzMsIDcxLCA3MiwgODQsIDY5LCA2OSwgNzgsIDEyOCwgNjksIDczLCA3MSwgNzIsIDg0LCA2OSwgNjksIDIwNiwgNjksIDczLCAKKyAgICA3MSwgNzIsIDg0LCA0NSwgODQsIDcyLCA3MywgODIsIDg0LCA4OSwgMTI4LCA2OSwgNzMsIDY5LCAxMjgsIDY5LCA3MiwgODcsIAorICAgIDY1LCAyMTgsIDY5LCA3MSwgODksIDgwLCA4NCwgNzksIDc2LCA3OSwgNzEsIDczLCA2NywgNjUsIDIwNCwgNjksIDcxLCA3MywgCisgICAgODIsIDEyOCwgNjksIDcxLCA3MSwgMTI4LCA2OSwgNjksIDg5LCA2NSwgNzgsIDc4LCA2NSwgMTI4LCA2OSwgNjksIDc1LCAKKyAgICA2NSwgNjUsIDEyOCwgNjksIDY5LCA3MiwgMTI4LCA2OSwgNjksIDY2LCA2OSwgNjksIDcwLCA3MywgNzYsIDczLCAxMjgsIAorICAgIDY5LCA2OCwgNzMsIDg0LCA3OSwgODIsIDczLCA2NSwgMjA0LCA2OSwgNjgsIDczLCA3OCwgMTI4LCA2OSwgNjgsIDY4LCAKKyAgICAxMjgsIDY5LCA2NiwgNjksIDcwLCA3MywgNzYsIDczLCAxMjgsIDY5LCA2NSwgODMsIDg0LCA2OSwgODIsIDIwNiwgNjksIAorICAgIDY1LCA4MywgMjEyLCA2OSwgNjUsIDgyLCA4NCwgNzIsIDc2LCAyMTcsIDY5LCA2NSwgODIsIDg0LCA3MiwgMTI4LCA2OSwgCisgICAgNjUsIDgyLCA4NCwgMjAwLCA2OSwgNjUsIDgyLCA4MywgMTI4LCA2OSwgNjUsIDgyLCA3NiwgMjE3LCA2OSwgNjUsIDc3LCAKKyAgICA3MiwgNjUsIDc4LCA2NywgNzIsIDc5LCA3NiwgNzYsIDEyOCwgNjksIDY1LCA3MSwgNzYsIDY5LCAxMjgsIDY5LCA2NSwgNjgsIAorICAgIDcyLCA2NSwgNjgsIDcyLCAxMjgsIDY5LCA2NSwgNjYsIDcyLCA2NSwgNjgsIDcyLCAxMjgsIDY5LCAxNzgsIDY5LCA0OCwgCisgICAgNTEsIDU2LCAxMjgsIDY5LCA0OCwgNTEsIDU1LCAxMjgsIDY5LCA0OCwgNTEsIDU0LCAxMjgsIDY5LCA0OCwgNTEsIDUyLCAKKyAgICA2NSwgMTI4LCA2OSwgNDgsIDUxLCA1MiwgMTI4LCA2OSwgNDgsIDUxLCA1MSwgMTI4LCA2OSwgNDgsIDUxLCA1MCwgMTI4LCAKKyAgICA2OSwgNDgsIDUxLCA0OSwgMTI4LCA2OSwgNDgsIDUxLCA0OCwgMTI4LCA2OSwgNDgsIDUwLCA1NywgMTI4LCA2OSwgNDgsIAorICAgIDUwLCA1NiwgNjUsIDEyOCwgNjksIDQ4LCA1MCwgNTYsIDEyOCwgNjksIDQ4LCA1MCwgNTUsIDEyOCwgNjksIDQ4LCA1MCwgCisgICAgNTQsIDEyOCwgNjksIDQ4LCA1MCwgNTMsIDEyOCwgNjksIDQ4LCA1MCwgNTIsIDEyOCwgNjksIDQ4LCA1MCwgNTEsIDEyOCwgCisgICAgNjksIDQ4LCA1MCwgNTAsIDEyOCwgNjksIDQ4LCA1MCwgNDksIDEyOCwgNjksIDQ4LCA1MCwgNDgsIDY1LCAxMjgsIDY5LCAKKyAgICA0OCwgNTAsIDQ4LCAxMjgsIDY5LCA0OCwgNDksIDU3LCAxMjgsIDY5LCA0OCwgNDksIDU2LCAxMjgsIDY5LCA0OCwgNDksIAorICAgIDU1LCA2NSwgMTI4LCA2OSwgNDgsIDQ5LCA1NSwgMTI4LCA2OSwgNDgsIDQ5LCA1NCwgNjUsIDEyOCwgNjksIDQ4LCA0OSwgCisgICAgNTQsIDEyOCwgNjksIDQ4LCA0OSwgNTMsIDEyOCwgNjksIDQ4LCA0OSwgNTIsIDEyOCwgNjksIDQ4LCA0OSwgNTEsIDEyOCwgCisgICAgNjksIDQ4LCA0OSwgNTAsIDEyOCwgNjksIDQ4LCA0OSwgNDksIDEyOCwgNjksIDQ4LCA0OSwgNDgsIDEyOCwgNjksIDQ4LCAKKyAgICA0OCwgNTcsIDY1LCAxMjgsIDY5LCA0OCwgNDgsIDU3LCAxMjgsIDY5LCA0OCwgNDgsIDU2LCA2NSwgMTI4LCA2OSwgNDgsIAorICAgIDQ4LCA1NiwgMTI4LCA2OSwgNDgsIDQ4LCA1NSwgMTI4LCA2OSwgNDgsIDQ4LCA1NCwgMTI4LCA2OSwgNDgsIDQ4LCA1MywgCisgICAgMTI4LCA2OSwgNDgsIDQ4LCA1MiwgMTI4LCA2OSwgNDgsIDQ4LCA1MSwgMTI4LCA2OSwgNDgsIDQ4LCA1MCwgMTI4LCA2OSwgCisgICAgNDgsIDQ4LCA0OSwgMTI4LCA2OSwgNDUsIDc3LCA2NSwgNzMsIDIwNCwgNjgsIDkwLCA5MCwgNjksIDEyOCwgNjgsIDkwLCAKKyAgICA5MCwgNjUsIDEyOCwgNjgsIDkwLCA4NywgNjksIDEyOCwgNjgsIDkwLCA4NSwgMTI4LCA2OCwgOTAsIDc5LCAxMjgsIDY4LCAKKyAgICA5MCwgNzQsIDY5LCAxMjgsIDY4LCA5MCwgNzMsIDEyOCwgNjgsIDkwLCA3MiwgNjksIDEyOCwgNjgsIDkwLCA3MiwgNjUsIAorICAgIDEyOCwgNjgsIDkwLCA2OSwgNzYsIDc5LCAxMjgsIDY4LCA5MCwgNjksIDY5LCAxMjgsIDY4LCA5MCwgNjksIDEyOCwgNjgsIAorICAgIDkwLCA2NSwgNjUsIDEyOCwgNjgsIDkwLCA2NSwgMTI4LCA2OCwgOTAsIDEyOCwgNjgsIDIxOCwgNjgsIDg5LCA3OSwgMTI4LCAKKyAgICA2OCwgODksIDIwNywgNjgsIDg5LCA2OSwgNzIsIDEyOCwgNjgsIDg5LCA2OSwgMjAwLCA2OCwgODcsIDc5LCAxMjgsIDY4LCAKKyAgICA4NywgNjksIDEyOCwgNjgsIDg3LCA2NSwgMTI4LCA2OCwgODYsIDczLCA4MywgODYsIDY1LCA4MiwgNjUsIDEyOCwgNjgsIAorICAgIDg2LCA2OCwgMTI4LCA2OCwgODYsIDEyOCwgNjgsIDg1LCA4NCwgNzMsIDY5LCA4MywgMTI4LCA2OCwgODUsIDgzLCA3NSwgCisgICAgMTI4LCA2OCwgODUsIDgzLCA3MiwgNjksIDc4LCA3OCwgNjUsIDEyOCwgNjgsIDg1LCA4MiwgNjUsIDg0LCA3MywgNzksIDc4LCAKKyAgICAxMjgsIDY4LCA4NSwgODIsIDUwLCAxMjgsIDY4LCA4NSwgODAsIDc5LCA3OCwgNjgsIDczLCA4NSwgMjExLCA2OCwgODUsIAorICAgIDc5LCA4OCwgMTI4LCA2OCwgODUsIDc5LCAxMjgsIDY4LCA4NSwgNzgsIDUyLCAxMjgsIDY4LCA4NSwgNzgsIDUxLCAxMjgsIAorICAgIDY4LCA4NSwgNzgsIDE3OSwgNjgsIDg1LCA3NywgMTI4LCA2OCwgODUsIDIwNCwgNjgsIDg1LCA3MiwgMTI4LCA2OCwgODUsIAorICAgIDcxLCA4NSwgNjgsIDEyOCwgNjgsIDg1LCA2NiwgNTAsIDEyOCwgNjgsIDg1LCA2NiwgMTI4LCA2OCwgODUsIDE5NCwgNjgsIAorICAgIDgyLCA4OSwgMTI4LCA2OCwgODIsIDIxNywgNjgsIDgyLCA4NSwgNzcsIDEyOCwgNjgsIDgyLCA4NSwgMjA1LCA2OCwgODIsIAorICAgIDc5LCA4MCwgODMsIDEyOCwgNjgsIDgyLCA3OSwgODAsIDc2LCA2OSwgODQsIDEyOCwgNjgsIDgyLCA3OSwgODAsIDQ1LCA4MywgCisgICAgNzIsIDY1LCA2OCwgNzksIDg3LCA2OSwgMTk2LCA2OCwgODIsIDc5LCA3NywgNjksIDY4LCA2NSwgODIsIDIxNywgNjgsIDgyLCAKKyAgICA3MywgODYsIDY5LCAxMjgsIDY4LCA4MiwgNzMsIDg2LCAxOTcsIDY4LCA4MiwgNzMsIDc4LCA3NSwgMTI4LCA2OCwgODIsIAorICAgIDczLCAyMDQsIDY4LCA4MiwgNjksIDgzLCA4MywgMTI4LCA2OCwgODIsIDY1LCA4NSwgNzEsIDcyLCA4NCwgMjExLCA2OCwgCisgICAgODIsIDY1LCA3NywgMTI4LCA2OCwgODIsIDY1LCAyMDUsIDY4LCA4MiwgNjUsIDcxLCA3OSwgNzgsIDEyOCwgNjgsIDgyLCAKKyAgICA2NSwgNzEsIDc5LCAyMDYsIDY4LCA4MiwgNjUsIDcwLCA4NCwgNzMsIDc4LCAxOTksIDY4LCA4MiwgNjUsIDY3LCA3MiwgNzcsIAorICAgIDY1LCA4MywgMTI4LCA2OCwgODIsIDY1LCA2NywgNzIsIDc3LCA2NSwgMTI4LCA2OCwgODIsIDY1LCA2NywgNzIsIDc3LCAKKyAgICAxOTMsIDY4LCA3OSwgODcsIDc4LCA4NywgNjUsIDgyLCA2OCwgODMsIDEyOCwgNjgsIDc5LCA4NywgNzgsIDg3LCA2NSwgODIsIAorICAgIDY4LCAyMTEsIDY4LCA3OSwgODcsIDc4LCA0NSwgODAsIDc5LCA3MywgNzgsIDg0LCA3MywgNzgsIDE5OSwgNjgsIDc5LCA4NywgCisgICAgNzgsIDEyOCwgNjgsIDc5LCA4NiwgNjksIDEyOCwgNjgsIDc5LCA4NSwgNzEsIDcyLCA3OCwgODUsIDg0LCAxMjgsIDY4LCAKKyAgICA3OSwgODUsIDY2LCA4NCwgMTI4LCA2OCwgNzksIDg1LCA2NiwgNzYsIDY5LCAxOTYsIDY4LCA3OSwgODUsIDY2LCA3NiwgNjksIAorICAgIDQ1LCA3NiwgNzMsIDc4LCAxOTcsIDY4LCA3OSwgODUsIDY2LCA3NiwgNjksIDQ1LCA2OSwgNzgsIDY4LCA2OSwgMTk2LCA2OCwgCisgICAgNzksIDg1LCA2NiwgNzYsIDY5LCAxMjgsIDY4LCA3OSwgODQsIDg0LCA2OSwgNjgsIDQ1LCA4MCwgMTI4LCA2OCwgNzksIDg0LCAKKyAgICA4NCwgNjksIDY4LCA0NSwgNzgsIDEyOCwgNjgsIDc5LCA4NCwgODQsIDY5LCA2OCwgNDUsIDc2LCAxMjgsIDY4LCA3OSwgODQsIAorICAgIDg0LCA2OSwgNjgsIDEyOCwgNjgsIDc5LCA4NCwgODQsIDY5LCAxOTYsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTYsIDEyOCwgCisgICAgNjgsIDc5LCA4NCwgODMsIDQ1LCA1NSwgNTYsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1NSwgMTI4LCA2OCwgNzksIDg0LCAKKyAgICA4MywgNDUsIDU0LCA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDU0LCA1NSwgNTYsIDEyOCwgNjgsIDc5LCA4NCwgODMsIAorICAgIDQ1LCA1NCwgNTUsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1NCwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUzLCA1NiwgCisgICAgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUzLCA1NSwgNTYsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MywgNTUsIAorICAgIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MywgNTQsIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTMsIDU0LCA1NSwgCisgICAgNTYsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MywgNTQsIDU1LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTMsIDU0LCAKKyAgICAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTMsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MiwgNTYsIDEyOCwgNjgsIAorICAgIDc5LCA4NCwgODMsIDQ1LCA1MiwgNTUsIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTIsIDU1LCAxMjgsIDY4LCA3OSwgCisgICAgODQsIDgzLCA0NSwgNTIsIDU0LCA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUyLCA1NCwgNTUsIDU2LCAxMjgsIDY4LCAKKyAgICA3OSwgODQsIDgzLCA0NSwgNTIsIDU0LCA1NSwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUyLCA1NCwgMTI4LCA2OCwgNzksIAorICAgIDg0LCA4MywgNDUsIDUyLCA1MywgNTYsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MiwgNTMsIDU1LCA1NiwgMTI4LCA2OCwgCisgICAgNzksIDg0LCA4MywgNDUsIDUyLCA1MywgNTUsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MiwgNTMsIDU0LCA1NiwgMTI4LCAKKyAgICA2OCwgNzksIDg0LCA4MywgNDUsIDUyLCA1MywgNTQsIDU1LCA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUyLCA1MywgCisgICAgNTQsIDU1LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTIsIDUzLCA1NCwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUyLCAKKyAgICA1MywgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUyLCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTEsIDU2LCAxMjgsIAorICAgIDY4LCA3OSwgODQsIDgzLCA0NSwgNTEsIDU1LCA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUxLCA1NSwgMTI4LCA2OCwgCisgICAgNzksIDg0LCA4MywgNDUsIDUxLCA1NCwgNTYsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MSwgNTQsIDU1LCA1NiwgMTI4LCAKKyAgICA2OCwgNzksIDg0LCA4MywgNDUsIDUxLCA1NCwgNTUsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MSwgNTQsIDEyOCwgNjgsIAorICAgIDc5LCA4NCwgODMsIDQ1LCA1MSwgNTMsIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTEsIDUzLCA1NSwgNTYsIDEyOCwgCisgICAgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MSwgNTMsIDU1LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTEsIDUzLCA1NCwgNTYsIAorICAgIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MSwgNTMsIDU0LCA1NSwgNTYsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MSwgCisgICAgNTMsIDU0LCA1NSwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUxLCA1MywgNTQsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCAKKyAgICA1MSwgNTMsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MSwgNTIsIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTEsIAorICAgIDUyLCA1NSwgNTYsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MSwgNTIsIDU1LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgCisgICAgNTEsIDUyLCA1NCwgNTYsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MSwgNTIsIDU0LCA1NSwgNTYsIDEyOCwgNjgsIDc5LCAKKyAgICA4NCwgODMsIDQ1LCA1MSwgNTIsIDU0LCA1NSwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUxLCA1MiwgNTQsIDEyOCwgNjgsIAorICAgIDc5LCA4NCwgODMsIDQ1LCA1MSwgNTIsIDUzLCA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUxLCA1MiwgNTMsIDU1LCAKKyAgICA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUxLCA1MiwgNTMsIDU1LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTEsIAorICAgIDUyLCA1MywgNTQsIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTEsIDUyLCA1MywgNTQsIDU1LCA1NiwgMTI4LCA2OCwgCisgICAgNzksIDg0LCA4MywgNDUsIDUxLCA1MiwgNTMsIDU0LCA1NSwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUxLCA1MiwgNTMsIAorICAgIDU0LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTEsIDUyLCA1MywgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUxLCA1MiwgCisgICAgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUxLCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTAsIDU2LCAxMjgsIDY4LCAKKyAgICA3OSwgODQsIDgzLCA0NSwgNTAsIDU1LCA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUwLCA1NSwgMTI4LCA2OCwgNzksIAorICAgIDg0LCA4MywgNDUsIDUwLCA1NCwgNTYsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MCwgNTQsIDU1LCA1NiwgMTI4LCA2OCwgCisgICAgNzksIDg0LCA4MywgNDUsIDUwLCA1NCwgNTUsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MCwgNTQsIDEyOCwgNjgsIDc5LCAKKyAgICA4NCwgODMsIDQ1LCA1MCwgNTMsIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTAsIDUzLCA1NSwgNTYsIDEyOCwgNjgsIAorICAgIDc5LCA4NCwgODMsIDQ1LCA1MCwgNTMsIDU1LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTAsIDUzLCA1NCwgNTYsIDEyOCwgCisgICAgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MCwgNTMsIDU0LCA1NSwgNTYsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MCwgNTMsIAorICAgIDU0LCA1NSwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUwLCA1MywgNTQsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MCwgCisgICAgNTMsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MCwgNTIsIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTAsIDUyLCAKKyAgICA1NSwgNTYsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MCwgNTIsIDU1LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTAsIAorICAgIDUyLCA1NCwgNTYsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MCwgNTIsIDU0LCA1NSwgNTYsIDEyOCwgNjgsIDc5LCA4NCwgCisgICAgODMsIDQ1LCA1MCwgNTIsIDU0LCA1NSwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUwLCA1MiwgNTQsIDEyOCwgNjgsIDc5LCAKKyAgICA4NCwgODMsIDQ1LCA1MCwgNTIsIDUzLCA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUwLCA1MiwgNTMsIDU1LCA1NiwgCisgICAgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUwLCA1MiwgNTMsIDU1LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTAsIDUyLCAKKyAgICA1MywgNTQsIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTAsIDUyLCA1MywgNTQsIDU1LCA1NiwgMTI4LCA2OCwgNzksIAorICAgIDg0LCA4MywgNDUsIDUwLCA1MiwgNTMsIDU0LCA1NSwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUwLCA1MiwgNTMsIDU0LCAKKyAgICAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTAsIDUyLCA1MywgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUwLCA1MiwgCisgICAgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUwLCA1MSwgNTYsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MCwgNTEsIDU1LCAKKyAgICA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUwLCA1MSwgNTUsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MCwgNTEsIAorICAgIDU0LCA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUwLCA1MSwgNTQsIDU1LCA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgCisgICAgNDUsIDUwLCA1MSwgNTQsIDU1LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTAsIDUxLCA1NCwgMTI4LCA2OCwgNzksIDg0LCAKKyAgICA4MywgNDUsIDUwLCA1MSwgNTMsIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTAsIDUxLCA1MywgNTUsIDU2LCAxMjgsIAorICAgIDY4LCA3OSwgODQsIDgzLCA0NSwgNTAsIDUxLCA1MywgNTUsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MCwgNTEsIDUzLCAKKyAgICA1NCwgNTYsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MCwgNTEsIDUzLCA1NCwgNTUsIDU2LCAxMjgsIDY4LCA3OSwgODQsIAorICAgIDgzLCA0NSwgNTAsIDUxLCA1MywgNTQsIDU1LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTAsIDUxLCA1MywgNTQsIDEyOCwgCisgICAgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MCwgNTEsIDUzLCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTAsIDUxLCA1MiwgNTYsIAorICAgIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MCwgNTEsIDUyLCA1NSwgNTYsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MCwgCisgICAgNTEsIDUyLCA1NSwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUwLCA1MSwgNTIsIDU0LCA1NiwgMTI4LCA2OCwgNzksIDg0LCAKKyAgICA4MywgNDUsIDUwLCA1MSwgNTIsIDU0LCA1NSwgNTYsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MCwgNTEsIDUyLCA1NCwgCisgICAgNTUsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MCwgNTEsIDUyLCA1NCwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUwLCAKKyAgICA1MSwgNTIsIDUzLCA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDUwLCA1MSwgNTIsIDUzLCA1NSwgNTYsIDEyOCwgNjgsIAorICAgIDc5LCA4NCwgODMsIDQ1LCA1MCwgNTEsIDUyLCA1MywgNTUsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA1MCwgNTEsIDUyLCAKKyAgICA1MywgNTQsIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTAsIDUxLCA1MiwgNTMsIDU0LCA1NSwgNTYsIDEyOCwgNjgsIAorICAgIDc5LCA4NCwgODMsIDQ1LCA1MCwgNTEsIDUyLCA1MywgNTQsIDU1LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTAsIDUxLCAKKyAgICA1MiwgNTMsIDU0LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTAsIDUxLCA1MiwgNTMsIDEyOCwgNjgsIDc5LCA4NCwgODMsIAorICAgIDQ1LCA1MCwgNTEsIDUyLCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNTAsIDUxLCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgCisgICAgNTAsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA0OSwgNTYsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA0OSwgNTUsIDU2LCAKKyAgICAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNDksIDU1LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNDksIDU0LCA1NiwgCisgICAgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDQ5LCA1NCwgNTUsIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNDksIDU0LCAKKyAgICA1NSwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDQ5LCA1NCwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDQ5LCA1MywgNTYsIAorICAgIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA0OSwgNTMsIDU1LCA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDQ5LCA1MywgCisgICAgNTUsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA0OSwgNTMsIDU0LCA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDQ5LCAKKyAgICA1MywgNTQsIDU1LCA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDQ5LCA1MywgNTQsIDU1LCAxMjgsIDY4LCA3OSwgODQsIAorICAgIDgzLCA0NSwgNDksIDUzLCA1NCwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDQ5LCA1MywgMTI4LCA2OCwgNzksIDg0LCA4MywgCisgICAgNDUsIDQ5LCA1MiwgNTYsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA0OSwgNTIsIDU1LCA1NiwgMTI4LCA2OCwgNzksIDg0LCAKKyAgICA4MywgNDUsIDQ5LCA1MiwgNTUsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA0OSwgNTIsIDU0LCA1NiwgMTI4LCA2OCwgNzksIAorICAgIDg0LCA4MywgNDUsIDQ5LCA1MiwgNTQsIDU1LCA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDQ5LCA1MiwgNTQsIDU1LCAKKyAgICAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNDksIDUyLCA1NCwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDQ5LCA1MiwgNTMsIAorICAgIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNDksIDUyLCA1MywgNTUsIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgCisgICAgNDksIDUyLCA1MywgNTUsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA0OSwgNTIsIDUzLCA1NCwgNTYsIDEyOCwgNjgsIDc5LCAKKyAgICA4NCwgODMsIDQ1LCA0OSwgNTIsIDUzLCA1NCwgNTUsIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNDksIDUyLCA1MywgCisgICAgNTQsIDU1LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNDksIDUyLCA1MywgNTQsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCAKKyAgICA0OSwgNTIsIDUzLCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNDksIDUyLCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNDksIAorICAgIDUxLCA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDQ5LCA1MSwgNTUsIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgCisgICAgNDksIDUxLCA1NSwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDQ5LCA1MSwgNTQsIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCAKKyAgICA0NSwgNDksIDUxLCA1NCwgNTUsIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNDksIDUxLCA1NCwgNTUsIDEyOCwgNjgsIAorICAgIDc5LCA4NCwgODMsIDQ1LCA0OSwgNTEsIDU0LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNDksIDUxLCA1MywgNTYsIDEyOCwgCisgICAgNjgsIDc5LCA4NCwgODMsIDQ1LCA0OSwgNTEsIDUzLCA1NSwgNTYsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA0OSwgNTEsIAorICAgIDUzLCA1NSwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDQ5LCA1MSwgNTMsIDU0LCA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgCisgICAgNDUsIDQ5LCA1MSwgNTMsIDU0LCA1NSwgNTYsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA0OSwgNTEsIDUzLCA1NCwgNTUsIAorICAgIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA0OSwgNTEsIDUzLCA1NCwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDQ5LCA1MSwgCisgICAgNTMsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA0OSwgNTEsIDUyLCA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDQ5LCAKKyAgICA1MSwgNTIsIDU1LCA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDQ5LCA1MSwgNTIsIDU1LCAxMjgsIDY4LCA3OSwgODQsIAorICAgIDgzLCA0NSwgNDksIDUxLCA1MiwgNTQsIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNDksIDUxLCA1MiwgNTQsIDU1LCAKKyAgICA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDQ5LCA1MSwgNTIsIDU0LCA1NSwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIAorICAgIDQ5LCA1MSwgNTIsIDU0LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNDksIDUxLCA1MiwgNTMsIDU2LCAxMjgsIDY4LCA3OSwgCisgICAgODQsIDgzLCA0NSwgNDksIDUxLCA1MiwgNTMsIDU1LCA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDQ5LCA1MSwgNTIsIAorICAgIDUzLCA1NSwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDQ5LCA1MSwgNTIsIDUzLCA1NCwgNTYsIDEyOCwgNjgsIDc5LCA4NCwgCisgICAgODMsIDQ1LCA0OSwgNTEsIDUyLCA1MywgNTQsIDU1LCA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDQ5LCA1MSwgNTIsIAorICAgIDUzLCA1NCwgNTUsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA0OSwgNTEsIDUyLCA1MywgNTQsIDEyOCwgNjgsIDc5LCA4NCwgCisgICAgODMsIDQ1LCA0OSwgNTEsIDUyLCA1MywgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDQ5LCA1MSwgNTIsIDEyOCwgNjgsIDc5LCAKKyAgICA4NCwgODMsIDQ1LCA0OSwgNTEsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA0OSwgNTAsIDU2LCAxMjgsIDY4LCA3OSwgODQsIAorICAgIDgzLCA0NSwgNDksIDUwLCA1NSwgNTYsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA0OSwgNTAsIDU1LCAxMjgsIDY4LCA3OSwgCisgICAgODQsIDgzLCA0NSwgNDksIDUwLCA1NCwgNTYsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA0OSwgNTAsIDU0LCA1NSwgNTYsIAorICAgIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA0OSwgNTAsIDU0LCA1NSwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDQ5LCA1MCwgCisgICAgNTQsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA0OSwgNTAsIDUzLCA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDQ5LCAKKyAgICA1MCwgNTMsIDU1LCA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDQ5LCA1MCwgNTMsIDU1LCAxMjgsIDY4LCA3OSwgODQsIAorICAgIDgzLCA0NSwgNDksIDUwLCA1MywgNTQsIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNDksIDUwLCA1MywgNTQsIDU1LCAKKyAgICA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDQ5LCA1MCwgNTMsIDU0LCA1NSwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIAorICAgIDQ5LCA1MCwgNTMsIDU0LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNDksIDUwLCA1MywgMTI4LCA2OCwgNzksIDg0LCA4MywgCisgICAgNDUsIDQ5LCA1MCwgNTIsIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNDksIDUwLCA1MiwgNTUsIDU2LCAxMjgsIDY4LCAKKyAgICA3OSwgODQsIDgzLCA0NSwgNDksIDUwLCA1MiwgNTUsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA0OSwgNTAsIDUyLCA1NCwgCisgICAgNTYsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA0OSwgNTAsIDUyLCA1NCwgNTUsIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCAKKyAgICA0NSwgNDksIDUwLCA1MiwgNTQsIDU1LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNDksIDUwLCA1MiwgNTQsIDEyOCwgNjgsIAorICAgIDc5LCA4NCwgODMsIDQ1LCA0OSwgNTAsIDUyLCA1MywgNTYsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA0OSwgNTAsIDUyLCAKKyAgICA1MywgNTUsIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNDksIDUwLCA1MiwgNTMsIDU1LCAxMjgsIDY4LCA3OSwgODQsIAorICAgIDgzLCA0NSwgNDksIDUwLCA1MiwgNTMsIDU0LCA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDQ5LCA1MCwgNTIsIDUzLCAKKyAgICA1NCwgNTUsIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNDksIDUwLCA1MiwgNTMsIDU0LCA1NSwgMTI4LCA2OCwgNzksIAorICAgIDg0LCA4MywgNDUsIDQ5LCA1MCwgNTIsIDUzLCA1NCwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDQ5LCA1MCwgNTIsIDUzLCAKKyAgICAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNDksIDUwLCA1MiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDQ5LCA1MCwgNTEsIAorICAgIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNDksIDUwLCA1MSwgNTUsIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgCisgICAgNDksIDUwLCA1MSwgNTUsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA0OSwgNTAsIDUxLCA1NCwgNTYsIDEyOCwgNjgsIDc5LCAKKyAgICA4NCwgODMsIDQ1LCA0OSwgNTAsIDUxLCA1NCwgNTUsIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNDksIDUwLCA1MSwgCisgICAgNTQsIDU1LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNDksIDUwLCA1MSwgNTQsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCAKKyAgICA0OSwgNTAsIDUxLCA1MywgNTYsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA0OSwgNTAsIDUxLCA1MywgNTUsIDU2LCAxMjgsIAorICAgIDY4LCA3OSwgODQsIDgzLCA0NSwgNDksIDUwLCA1MSwgNTMsIDU1LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNDksIDUwLCAKKyAgICA1MSwgNTMsIDU0LCA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDQ5LCA1MCwgNTEsIDUzLCA1NCwgNTUsIDU2LCAxMjgsIAorICAgIDY4LCA3OSwgODQsIDgzLCA0NSwgNDksIDUwLCA1MSwgNTMsIDU0LCA1NSwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDQ5LCAKKyAgICA1MCwgNTEsIDUzLCA1NCwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDQ5LCA1MCwgNTEsIDUzLCAxMjgsIDY4LCA3OSwgODQsIAorICAgIDgzLCA0NSwgNDksIDUwLCA1MSwgNTIsIDU2LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNDksIDUwLCA1MSwgNTIsIDU1LCAKKyAgICA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDQ5LCA1MCwgNTEsIDUyLCA1NSwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIAorICAgIDQ5LCA1MCwgNTEsIDUyLCA1NCwgNTYsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA0OSwgNTAsIDUxLCA1MiwgNTQsIDU1LCAKKyAgICA1NiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDQ5LCA1MCwgNTEsIDUyLCA1NCwgNTUsIDEyOCwgNjgsIDc5LCA4NCwgODMsIAorICAgIDQ1LCA0OSwgNTAsIDUxLCA1MiwgNTQsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA0OSwgNTAsIDUxLCA1MiwgNTMsIDU2LCAKKyAgICAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNDksIDUwLCA1MSwgNTIsIDUzLCA1NSwgNTYsIDEyOCwgNjgsIDc5LCA4NCwgODMsIAorICAgIDQ1LCA0OSwgNTAsIDUxLCA1MiwgNTMsIDU1LCAxMjgsIDY4LCA3OSwgODQsIDgzLCA0NSwgNDksIDUwLCA1MSwgNTIsIDUzLCAKKyAgICA1NCwgNTYsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA0OSwgNTAsIDUxLCA1MiwgNTMsIDU0LCA1NSwgNTYsIDEyOCwgNjgsIAorICAgIDc5LCA4NCwgODMsIDQ1LCA0OSwgNTAsIDUxLCA1MiwgNTMsIDU0LCA1NSwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDQ5LCAKKyAgICA1MCwgNTEsIDUyLCA1MywgNTQsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA0OSwgNTAsIDUxLCA1MiwgNTMsIDEyOCwgNjgsIAorICAgIDc5LCA4NCwgODMsIDQ1LCA0OSwgNTAsIDUxLCA1MiwgMTI4LCA2OCwgNzksIDg0LCA4MywgNDUsIDQ5LCA1MCwgNTEsIDEyOCwgCisgICAgNjgsIDc5LCA4NCwgODMsIDQ1LCA0OSwgNTAsIDEyOCwgNjgsIDc5LCA4NCwgODMsIDQ1LCA0OSwgMTI4LCA2OCwgNzksIDg0LCAKKyAgICA4MywgMTI4LCA2OCwgNzksIDg0LCA3NiwgNjksIDgzLCAyMTEsIDY4LCA3OSwgODIsIDg1LCAxMjgsIDY4LCA3OSwgNzksIAorICAgIDgyLCAxMjgsIDY4LCA3OSwgNzksIDc4LCA3MSwgMTI4LCA2OCwgNzksIDc4LCA3MSwgMTI4LCA2OCwgNzksIDc3LCA2NSwgCisgICAgNzMsIDIwNiwgNjgsIDc5LCA3NiwgODAsIDcyLCA3MywgNzgsIDEyOCwgNjgsIDc5LCA3NiwgNzYsIDgzLCAxMjgsIDY4LCAKKyAgICA3OSwgNzYsIDc2LCA2NSwgMjEwLCA2OCwgNzksIDc2LCA3MywgODUsIDc3LCAxMjgsIDY4LCA3OSwgNzUsIDc3LCA2NSwgNzMsIAorICAgIDEyOCwgNjgsIDc5LCA3MywgODQsIDEyOCwgNjgsIDc5LCA3MSwgMTI4LCA2OCwgNzksIDE5OSwgNjgsIDc5LCA2OSwgMjExLCAKKyAgICA2OCwgNzksIDY4LCA2OSwgNzUsIDY1LCA4NCwgNjUsIDEyOCwgNjgsIDc5LCA2NiwgODIsIDc5LCAxMjgsIDY4LCA3OSwgNjUsIAorICAgIDY3LCA3MiwgNjUsIDgzLCA3MiwgNzcsIDY5LCA2OSwgMTI4LCA2OCwgNzksIDY1LCA2NywgNzIsIDY1LCA4MywgNzIsIDc3LCAKKyAgICA2OSwgMTk3LCA2OCwgNzksIDY1LCAxMjgsIDY4LCA3OSwgNDUsIDc5LCAxMjgsIDY4LCA3NywgMTI4LCA2OCwgMjA1LCA2OCwgCisgICAgNzYsIDg1LCAxMjgsIDY4LCA3NiwgNzksIDEyOCwgNjgsIDc2LCA3MywgMTI4LCA2OCwgNzYsIDcyLCA4OSwgNjUsIDEyOCwgCisgICAgNjgsIDc2LCA3MiwgNjUsIDEyOCwgNjgsIDc2LCA2OSwgNjksIDEyOCwgNjgsIDc2LCA2NSwgMTI4LCA2OCwgNzYsIDEyOCwgCisgICAgNjgsIDc1LCA2NSwgODIsIDEyOCwgNjgsIDc1LCA2NSwgMjEwLCA2OCwgNzQsIDY5LCA4MiwgODYsIDczLCAxMjgsIDY4LCAKKyAgICA3NCwgNjksIDgyLCA4NiwgMTI4LCA2OCwgNzQsIDY5LCAxMjgsIDY4LCA3NCwgNjUsIDEyOCwgNjgsIDczLCA5MCwgOTAsIAorICAgIDIxNywgNjgsIDczLCA4NiwgNzksIDgyLCA2NywgMTk3LCA2OCwgNzMsIDg2LCA3MywgODMsIDczLCA3OSwgNzgsIDEyOCwgCisgICAgNjgsIDczLCA4NiwgNzMsIDgzLCA3MywgNzksIDIwNiwgNjgsIDczLCA4NiwgNzMsIDc4LCA2NSwgODQsIDczLCA3OSwgNzgsIAorICAgIDEyOCwgNjgsIDczLCA4NiwgNzMsIDY4LCA2OSwgODMsIDEyOCwgNjgsIDczLCA4NiwgNzMsIDY4LCA2OSwgODIsIDEyOCwgCisgICAgNjgsIDczLCA4NiwgNzMsIDY4LCA2OSwgMTk2LCA2OCwgNzMsIDg2LCA3MywgNjgsIDY5LCAxMjgsIDY4LCA3MywgODYsIDczLCAKKyAgICA2OCwgMTk3LCA2OCwgNzMsIDg2LCA2OSwgODIsIDcxLCA2OSwgNzgsIDY3LCA2OSwgMTI4LCA2OCwgNzMsIDg0LCA4NCwgCisgICAgMjA3LCA2OCwgNzMsIDgzLCA4NCwgNzksIDgyLCA4NCwgNzMsIDc5LCA3OCwgMTI4LCA2OCwgNzMsIDgzLCA4NCwgNzMsIDc4LCAKKyAgICA3MSwgODUsIDczLCA4MywgNzIsIDEyOCwgNjgsIDczLCA4MywgODQsIDczLCA3NiwgNzYsIDEyOCwgNjgsIDczLCA4MywgODMsIAorICAgIDc5LCA3NiwgODYsIDY5LCA0NSwgNTAsIDEyOCwgNjgsIDczLCA4MywgODMsIDc5LCA3NiwgODYsIDY5LCAxMjgsIDY4LCA3MywgCisgICAgODMsIDgwLCA2OSwgODIsIDgzLCA3MywgNzksIDc4LCAxMjgsIDY4LCA3MywgODMsIDc1LCAxMjgsIDY4LCA3MywgODMsIDczLCAKKyAgICA3NywgNzksIDg1LCAxMjgsIDY4LCA3MywgODMsIDcyLCAxMjgsIDY4LCA3MywgODMsIDY3LCA3OSwgNzgsIDg0LCA3MywgNzgsIAorICAgIDg1LCA3OSwgODUsIDIxMSwgNjgsIDczLCA4MywgMTk1LCA2OCwgNzMsIDgzLCA2NSwgODAsIDgwLCA3OSwgNzMsIDc4LCA4NCwgCisgICAgNjksIDE5NiwgNjgsIDczLCA4MywgNjUsIDY2LCA3NiwgNjksIDE5NiwgNjgsIDczLCA4MiwgNzEsIDE5MywgNjgsIDczLCAKKyAgICA4MiwgNjksIDY3LCA4NCwgNzYsIDIxNywgNjgsIDczLCA4MiwgNjksIDY3LCA4NCwgNzMsIDc5LCA3OCwgNjUsIDIwNCwgNjgsIAorICAgIDczLCA4MCwgODQsIDY5LCAxMjgsIDY4LCA3MywgODAsIDgwLCA2OSwgODIsIDEyOCwgNjgsIDczLCA4MCwgNzYsIDc5LCA4NSwgCisgICAgNzgsIDEyOCwgNjgsIDczLCA4MCwgNzYsIDczLCAxMjgsIDY4LCA3MywgODAsIDc2LCAyMDEsIDY4LCA3MywgNzgsIDcxLCAKKyAgICA2NiwgNjUsIDIxMiwgNjgsIDczLCAyMDYsIDY4LCA3MywgNzcsIDc3LCA3MywgNzgsIDcxLCAxMjgsIDY4LCA3MywgNzcsIAorICAgIDczLCA3OCwgODUsIDg0LCA3MywgNzksIDc4LCA0NSwgNTEsIDEyOCwgNjgsIDczLCA3NywgNzMsIDc4LCA4NSwgODQsIDczLCAKKyAgICA3OSwgNzgsIDQ1LCA1MCwgMTI4LCA2OCwgNzMsIDc3LCA3MywgNzgsIDg1LCA4NCwgNzMsIDc5LCA3OCwgNDUsIDQ5LCAxMjgsIAorICAgIDY4LCA3MywgNzcsIDczLCA3OCwgNzMsIDgzLCA3MiwgNzcsIDY5LCA3OCwgODQsIDEyOCwgNjgsIDczLCA3NywgNzMsIDY4LCAKKyAgICA3MywgMTkzLCA2OCwgNzMsIDc3LCA2OSwgNzgsIDgzLCA3MywgNzksIDc4LCA2NSwgMjA0LCA2OCwgNzMsIDc3LCA2OSwgNzgsIAorICAgIDgzLCA3MywgNzksIDIwNiwgNjgsIDczLCA3NywgNTAsIDEyOCwgNjgsIDczLCA3NiwgMTI4LCA2OCwgNzMsIDcxLCA4MiwgCisgICAgNjUsIDgwLCA3MiwgMTI4LCA2OCwgNzMsIDcxLCA4MiwgNjUsIDgwLCAyMDAsIDY4LCA3MywgNzEsIDgyLCA2NSwgNzcsIDc3LCAKKyAgICA3OSwgMjExLCA2OCwgNzMsIDcxLCA4MiwgNjUsIDc3LCA3NywgMTkzLCA2OCwgNzMsIDcxLCA4MiwgNjUsIDIwNSwgNjgsIAorICAgIDczLCA3MSwgNzksIDgyLCA3MSwgNzksIDc4LCAxMjgsIDY4LCA3MywgNzEsIDc5LCA4MiwgNzEsIDc5LCAyMDYsIDY4LCA3MywgCisgICAgNzEsIDY1LCA3NywgNzcsIDY1LCAxMjgsIDY4LCA3MywgNzEsIDE5MywgNjgsIDczLCA3MCwgODQsIDc5LCA3MSwgNzEsIDc5LCAKKyAgICAyMTEsIDY4LCA3MywgNzAsIDc5LCA3OCwgNzMsIDY1LCA4MywgMTI4LCA2OCwgNzMsIDcwLCA3MCwgNzMsIDY3LCA4NSwgNzYsIAorICAgIDg0LCAyMTcsIDY4LCA3MywgNzAsIDcwLCA3MywgNjcsIDg1LCA3NiwgODQsIDczLCA2OSwgODMsIDEyOCwgNjgsIDczLCA3MCwgCisgICAgNzAsIDY5LCA4MiwgNjksIDc4LCA4NCwgNzMsIDY1LCA3NiwgMTI4LCA2OCwgNzMsIDcwLCA3MCwgNjksIDgyLCA2OSwgNzgsIAorICAgIDY3LCAxOTcsIDY4LCA3MywgNzAsIDY1LCA4NCwgMTI4LCA2OCwgNzMsIDY5LCA4MywgNzMsIDgzLCAxMjgsIDY4LCA3MywgCisgICAgNjksIDgzLCA3MywgMjExLCA2OCwgNzMsIDY5LCA4MCwgMTI4LCA2OCwgNzMsIDE5NywgNjgsIDczLCA2NiwgMTI4LCA2OCwgCisgICAgNzMsIDY1LCA4NCwgNzksIDc4LCA3OSwgMjA2LCA2OCwgNzMsIDY1LCA4NCwgNzksIDc4LCA3MywgNzUsIDIwMSwgNjgsIDczLCAKKyAgICA2NSwgODMsIDg0LCA3OSwgNzYsIDIwMSwgNjgsIDczLCA2NSwgNzcsIDc5LCA3OCwgNjgsIDgzLCAxMjgsIDY4LCA3MywgNjUsIAorICAgIDc3LCA3OSwgNzgsIDY4LCAxMjgsIDY4LCA3MywgNjUsIDc3LCA3OSwgNzgsIDE5NiwgNjgsIDczLCA2NSwgNzcsIDY5LCA4NCwgCisgICAgNjksIDIxMCwgNjgsIDczLCA2NSwgNzYsIDg5LCA4NCwgNzMsIDc1LCA2NSwgMTI4LCA2OCwgNzMsIDY1LCA3NiwgODksIDg0LCAKKyAgICA3MywgNzUsIDE5MywgNjgsIDczLCA2NSwgNzYsIDY5LCA2NywgODQsIDQ1LCAyMDgsIDY4LCA3MywgNjUsIDcxLCA3OSwgNzgsIAorICAgIDY1LCA3NiwgMTI4LCA2OCwgNzMsIDY1LCA3MSwgNzksIDc4LCA2NSwgMjA0LCA2OCwgNzMsIDY1LCA2OSwgODIsIDY5LCA4MywgCisgICAgNzMsIDkwLCA2OSwgMTk2LCA2OCwgNzMsIDY1LCA2OSwgODIsIDY5LCA4MywgNzMsIDgzLCAxMjgsIDY4LCA3MywgNjUsIDY5LCAKKyAgICA4MiwgNjksIDgzLCA3MywgMjExLCA2OCwgNzIsIDc5LCA4NSwgMTI4LCA2OCwgNzIsIDc5LCA3OSwgMTI4LCA2OCwgNzIsIAorICAgIDc5LCAxMjgsIDY4LCA3MiwgNzMsIDEyOCwgNjgsIDcyLCA3MiwgODUsIDEyOCwgNjgsIDcyLCA3MiwgNzksIDc5LCAxMjgsIAorICAgIDY4LCA3MiwgNzIsIDc5LCAxMjgsIDY4LCA3MiwgNzIsIDczLCAxMjgsIDY4LCA3MiwgNzIsIDY5LCA2OSwgMTI4LCA2OCwgCisgICAgNzIsIDcyLCA2OSwgMTI4LCA2OCwgNzIsIDcyLCA2NSwgMTI4LCA2OCwgNzIsIDY5LCA2OSwgMTI4LCA2OCwgNzIsIDY1LCAKKyAgICA4MiwgNzcsIDY1LCAxMjgsIDY4LCA3MiwgNjUsIDc2LCA2OSwgODQsIDcyLCAxMjgsIDY4LCA3MiwgNjUsIDc2LCA2NSwgODQsIAorICAgIDcyLCAxMjgsIDY4LCA3MiwgNjUsIDc2LCAxMjgsIDY4LCA3MiwgNjUsIDY4LCA3MiwgNjksIDEyOCwgNjgsIDcyLCA2NSwgCisgICAgNjUsIDc2LCA4NSwgMTI4LCA2OCwgNzIsIDY1LCA2NSwgMTI4LCA2OCwgNzIsIDY1LCAxMjgsIDY4LCA2OSwgOTAsIDIwMCwgCiAgICAgNjgsIDY5LCA4OSwgODQsIDY5LCA4MiwgNzksIDIxMywgNjgsIDY5LCA4OSwgODQsIDY5LCA4MiwgNzksIDIxMSwgNjgsIDY5LCAKICAgICA4OCwgNzMsIDY1LCAxMjgsIDY4LCA2OSwgODYsIDczLCA2NywgMTk3LCA2OCwgNjksIDg2LCA2OSwgNzYsIDc5LCA4MCwgNzcsIAogICAgIDY5LCA3OCwgODQsIDEyOCwgNjgsIDY5LCA4NSwgNzgsIDcxLCAxMjgsIDY4LCA2OSwgODMsIDIwMywgNjgsIDY5LCA4MywgCkBAIC0zODc5LDE2MSArNDA0MCwxNjQgQEAKICAgICA2OCwgNjUsIDg5LCA2NSwgNzgsIDc4LCA2NSwgMTI4LCA2OCwgNjgsIDY1LCA4OCwgMTI4LCA2OCwgNjgsIDY1LCA4NCwgCiAgICAgMTI4LCA2OCwgNjgsIDY1LCA4MCwgMTI4LCA2OCwgNjgsIDY1LCA3NiwgMTI4LCA2OCwgNjgsIDY1LCAyMDQsIDY4LCA2OCwgCiAgICAgNjUsIDcyLCA2NSwgNzYsIDEyOCwgNjgsIDY4LCA2NSwgNzIsIDY1LCAyMDQsIDY4LCA2OCwgNjUsIDY1LCAxMjgsIDY4LCAKLSAgICAxOTQsIDY4LCA2NSwgODksIDQ1LCA3OCwgNzMsIDcxLCA3MiwgODQsIDEyOCwgNjgsIDY1LCAyMTcsIDY4LCA2NSwgODYsIAotICAgIDczLCA4OSwgNjUsIDc4LCA3MywgMTI4LCA2OCwgNjUsIDg2LCA3MywgNjgsIDEyOCwgNjgsIDY1LCA4NCwgMTk3LCA2OCwgCi0gICAgNjUsIDgzLCA3MywgNjUsIDEyOCwgNjgsIDY1LCA4MywgNzIsIDY5LCAxOTYsIDY4LCA2NSwgODMsIDcyLCAxMjgsIDY4LCAKLSAgICA2NSwgODMsIDIwMCwgNjgsIDY1LCA4MywgNjksIDczLCA2NSwgMTI4LCA2OCwgNjUsIDgyLCA4NCwgMTI4LCA2OCwgNjUsIAotICAgIDgyLCA3NSwgNjksIDc4LCA3MywgNzgsIDcxLCAxMjgsIDY4LCA2NSwgODIsIDc1LCA2OSwgNzgsIDczLCA3OCwgMTk5LCA2OCwgCi0gICAgNjUsIDgyLCAyMDMsIDY4LCA2NSwgODIsIDcxLCA2NSwgMTI4LCA2OCwgNjUsIDgyLCA2NSwgNTIsIDEyOCwgNjgsIDY1LCAKLSAgICA4MiwgNjUsIDUxLCAxMjgsIDY4LCA2NSwgODIsIDEyOCwgNjgsIDY1LCA4MCwgNDUsIDgwLCA4MiwgNjUsIDIwNSwgNjgsIAotICAgIDY1LCA4MCwgNDUsIDgwLCA3MywgMjAxLCA2OCwgNjUsIDgwLCA0NSwgNzcsIDg1LCA3OSwgMjE3LCA2OCwgNjUsIDgwLCA0NSwgCi0gICAgNjYsIDg1LCA3OSwgMjA2LCA2OCwgNjUsIDgwLCA0NSwgNjYsIDY5LCAyMDEsIDY4LCA2NSwgMjA4LCA2OCwgNjUsIDc4LCAKLSAgICA4NCwgNjUsIDc0LCAxOTMsIDY4LCA2NSwgNzgsIDcxLCA3OSwgMTI4LCA2OCwgNjUsIDc4LCA3MSwgMTI4LCA2OCwgNjUsIAotICAgIDc4LCAxOTksIDY4LCA2NSwgNzgsIDY4LCA2NSwgMTI4LCA2OCwgNjUsIDc4LCA2NywgNjksIDgyLCAxMjgsIDY4LCA2NSwgCi0gICAgNzcsIDgwLCAxMjgsIDY4LCA2NSwgNzcsIDIwOCwgNjgsIDY1LCA3NywgNzcsIDY1LCA4NCwgNjUsIDc4LCAxMjgsIDY4LCAKLSAgICA2NSwgNzcsIDc3LCA2NSwgODQsIDY1LCAyMDYsIDY4LCA2NSwgNzcsIDc3LCA2NSwgMTI4LCA2OCwgNjUsIDc3LCA3NywgCi0gICAgMTkzLCA2OCwgNjUsIDc3LCA2NSwgODIsIDg1LCAxMjgsIDY4LCA2NSwgNzYsIDY5LCA4NCwgNzIsIDEyOCwgNjgsIDY1LCAKLSAgICA3NiwgNjksIDg0LCAxMjgsIDY4LCA2NSwgNzYsIDY5LCAyMTIsIDY4LCA2NSwgNzYsIDY4LCA2NSwgMTI4LCA2OCwgNjUsIAotICAgIDc2LCA2NSwgODQsIDcyLCAxMjgsIDY4LCA2NSwgNzYsIDY1LCA4NCwgMjAwLCA2OCwgNjUsIDc2LCA2NSwgODQsIDEyOCwgCi0gICAgNjgsIDY1LCA3MywgODIsIDEyOCwgNjgsIDY1LCA3MywgNzgsIDcxLCAxMjgsIDY4LCA2NSwgNzIsIDg5LCA2NSwgNjUsIDg1LCAKLSAgICA4MywgNzIsIDQ1LCA1MCwgMTI4LCA2OCwgNjUsIDcyLCA4OSwgNjUsIDY1LCA4NSwgODMsIDcyLCAxMjgsIDY4LCA2NSwgNzEsIAotICAgIDgzLCAxMjgsIDY4LCA2NSwgNzEsIDcxLCA2OSwgODIsIDEyOCwgNjgsIDY1LCA3MSwgNjksIDgzLCA3MiwgMTI4LCA2OCwgCi0gICAgNjUsIDcxLCA2OSwgODMsIDIwMCwgNjgsIDY1LCA3MSwgNjYsIDY1LCA4MywgNzMsIDc4LCA3OCwgNjUsIDEyOCwgNjgsIDY1LCAKLSAgICA3MSwgNjUsIDIxOCwgNjgsIDY1LCA3MSwgNjUsIDc2LCA3MSwgNjUsIDEyOCwgNjgsIDY1LCAxOTksIDY4LCA2NSwgNjksIAotICAgIDc4LCA3MSwgMTI4LCA2OCwgNjUsIDY5LCAxOTksIDY4LCA2NSwgNjgsIDEyOCwgNjgsIDY1LCAxOTYsIDY4LCA2NSwgNjUsIAotICAgIDgzLCA4NSwgMTI4LCA2OCwgNjUsIDY1LCA2OCwgNzIsIDg1LCAxMjgsIDY4LCA0OCwgNTQsIDU1LCA3MiwgMTI4LCA2OCwgCi0gICAgNDgsIDU0LCA1NSwgNzEsIDEyOCwgNjgsIDQ4LCA1NCwgNTUsIDcwLCAxMjgsIDY4LCA0OCwgNTQsIDU1LCA2OSwgMTI4LCAKLSAgICA2OCwgNDgsIDU0LCA1NSwgNjgsIDEyOCwgNjgsIDQ4LCA1NCwgNTUsIDY3LCAxMjgsIDY4LCA0OCwgNTQsIDU1LCA2NiwgCi0gICAgMTI4LCA2OCwgNDgsIDU0LCA1NSwgNjUsIDEyOCwgNjgsIDQ4LCA1NCwgNTUsIDEyOCwgNjgsIDQ4LCA1NCwgNTQsIDEyOCwgCi0gICAgNjgsIDQ4LCA1NCwgNTMsIDEyOCwgNjgsIDQ4LCA1NCwgNTIsIDEyOCwgNjgsIDQ4LCA1NCwgNTEsIDEyOCwgNjgsIDQ4LCAKLSAgICA1NCwgNTAsIDEyOCwgNjgsIDQ4LCA1NCwgNDksIDEyOCwgNjgsIDQ4LCA1NCwgNDgsIDEyOCwgNjgsIDQ4LCA1MywgNTcsIAotICAgIDEyOCwgNjgsIDQ4LCA1MywgNTYsIDEyOCwgNjgsIDQ4LCA1MywgNTUsIDEyOCwgNjgsIDQ4LCA1MywgNTQsIDEyOCwgNjgsIAotICAgIDQ4LCA1MywgNTMsIDEyOCwgNjgsIDQ4LCA1MywgNTIsIDY1LCAxMjgsIDY4LCA0OCwgNTMsIDUyLCAxMjgsIDY4LCA0OCwgCi0gICAgNTMsIDUxLCAxMjgsIDY4LCA0OCwgNTMsIDUwLCA2NSwgMTI4LCA2OCwgNDgsIDUzLCA1MCwgMTI4LCA2OCwgNDgsIDUzLCAKLSAgICA0OSwgMTI4LCA2OCwgNDgsIDUzLCA0OCwgNzMsIDEyOCwgNjgsIDQ4LCA1MywgNDgsIDcyLCAxMjgsIDY4LCA0OCwgNTMsIAotICAgIDQ4LCA3MSwgMTI4LCA2OCwgNDgsIDUzLCA0OCwgNzAsIDEyOCwgNjgsIDQ4LCA1MywgNDgsIDY5LCAxMjgsIDY4LCA0OCwgCi0gICAgNTMsIDQ4LCA2OCwgMTI4LCA2OCwgNDgsIDUzLCA0OCwgNjcsIDEyOCwgNjgsIDQ4LCA1MywgNDgsIDY2LCAxMjgsIDY4LCAKLSAgICA0OCwgNTMsIDQ4LCA2NSwgMTI4LCA2OCwgNDgsIDUzLCA0OCwgMTI4LCA2OCwgNDgsIDUyLCA1NywgMTI4LCA2OCwgNDgsIAotICAgIDUyLCA1NiwgNjUsIDEyOCwgNjgsIDQ4LCA1MiwgNTYsIDEyOCwgNjgsIDQ4LCA1MiwgNTUsIDEyOCwgNjgsIDQ4LCA1MiwgCi0gICAgNTQsIDY1LCAxMjgsIDY4LCA0OCwgNTIsIDU0LCAxMjgsIDY4LCA0OCwgNTIsIDUzLCAxMjgsIDY4LCA0OCwgNTIsIDUyLCAKLSAgICAxMjgsIDY4LCA0OCwgNTIsIDUxLCAxMjgsIDY4LCA0OCwgNTIsIDUwLCAxMjgsIDY4LCA0OCwgNTIsIDQ5LCAxMjgsIDY4LCAKLSAgICA0OCwgNTIsIDQ4LCAxMjgsIDY4LCA0OCwgNTEsIDU3LCAxMjgsIDY4LCA0OCwgNTEsIDU2LCAxMjgsIDY4LCA0OCwgNTEsIAotICAgIDU1LCAxMjgsIDY4LCA0OCwgNTEsIDU0LCAxMjgsIDY4LCA0OCwgNTEsIDUzLCAxMjgsIDY4LCA0OCwgNTEsIDUyLCA2NSwgCi0gICAgMTI4LCA2OCwgNDgsIDUxLCA1MiwgMTI4LCA2OCwgNDgsIDUxLCA1MSwgMTI4LCA2OCwgNDgsIDUxLCA1MCwgMTI4LCA2OCwgCi0gICAgNDgsIDUxLCA0OSwgNjUsIDEyOCwgNjgsIDQ4LCA1MSwgNDksIDEyOCwgNjgsIDQ4LCA1MSwgNDgsIDEyOCwgNjgsIDQ4LCAKLSAgICA1MCwgNTcsIDEyOCwgNjgsIDQ4LCA1MCwgNTYsIDEyOCwgNjgsIDQ4LCA1MCwgNTUsIDY1LCAxMjgsIDY4LCA0OCwgNTAsIAotICAgIDU1LCAxMjgsIDY4LCA0OCwgNTAsIDU0LCAxMjgsIDY4LCA0OCwgNTAsIDUzLCAxMjgsIDY4LCA0OCwgNTAsIDUyLCAxMjgsIAotICAgIDY4LCA0OCwgNTAsIDUxLCAxMjgsIDY4LCA0OCwgNTAsIDUwLCAxMjgsIDY4LCA0OCwgNTAsIDQ5LCAxMjgsIDY4LCA0OCwgCi0gICAgNTAsIDQ4LCAxMjgsIDY4LCA0OCwgNDksIDU3LCAxMjgsIDY4LCA0OCwgNDksIDU2LCAxMjgsIDY4LCA0OCwgNDksIDU1LCAKLSAgICAxMjgsIDY4LCA0OCwgNDksIDU0LCAxMjgsIDY4LCA0OCwgNDksIDUzLCAxMjgsIDY4LCA0OCwgNDksIDUyLCAxMjgsIDY4LCAKLSAgICA0OCwgNDksIDUxLCAxMjgsIDY4LCA0OCwgNDksIDUwLCAxMjgsIDY4LCA0OCwgNDksIDQ5LCAxMjgsIDY4LCA0OCwgNDksIAotICAgIDQ4LCAxMjgsIDY4LCA0OCwgNDgsIDU3LCAxMjgsIDY4LCA0OCwgNDgsIDU2LCA2NSwgMTI4LCA2OCwgNDgsIDQ4LCA1NiwgCi0gICAgMTI4LCA2OCwgNDgsIDQ4LCA1NSwgMTI4LCA2OCwgNDgsIDQ4LCA1NCwgMTI4LCA2OCwgNDgsIDQ4LCA1MywgMTI4LCA2OCwgCi0gICAgNDgsIDQ4LCA1MiwgMTI4LCA2OCwgNDgsIDQ4LCA1MSwgMTI4LCA2OCwgNDgsIDQ4LCA1MCwgMTI4LCA2OCwgNDgsIDQ4LCAKLSAgICA0OSwgMTI4LCA2NywgODksIDg4LCAxMjgsIDY3LCA4OSwgODQsIDEyOCwgNjcsIDg5LCA4MiwgODgsIDEyOCwgNjcsIDg5LCAKLSAgICA4MiwgNjksIDc4LCA2NSwgNzMsIDE5NSwgNjcsIDg5LCA4MiwgMTI4LCA2NywgODksIDgwLCA4MiwgNzMsIDc5LCAyMTIsIAotICAgIDY3LCA4OSwgODAsIDY5LCA4MiwgODUsIDgzLCAxMjgsIDY3LCA4OSwgODAsIDEyOCwgNjcsIDg5LCA3NiwgNzMsIDc4LCA2OCwgCi0gICAgODIsIDczLCA2NywgNzMsIDg0LCA4OSwgMTI4LCA2NywgODksIDY3LCA3NiwgNzksIDc4LCA2OSwgMTI4LCA2NywgODksIDY1LCAKLSAgICAxMjgsIDY3LCA4OSwgMTI4LCA2NywgODcsIDc5LCA3OSwgMTI4LCA2NywgODcsIDc5LCAxMjgsIDY3LCA4NywgNzMsIDczLCAKLSAgICAxMjgsIDY3LCA4NywgNzMsIDEyOCwgNjcsIDg3LCA2OSwgNzksIDgyLCA4NCwgNzIsIDEyOCwgNjcsIDg3LCA2OSwgMTI4LCAKLSAgICA2NywgODcsIDY1LCA2NSwgMTI4LCA2NywgODUsIDg4LCAxMjgsIDY3LCA4NSwgMjEyLCA2NywgODUsIDgzLCA4NCwgNzksIAotICAgIDc3LCA4MywgMTI4LCA2NywgODUsIDgzLCA4NCwgNzksIDc3LCA2OSwgMjEwLCA2NywgODUsIDgzLCA4NCwgNjUsIDgyLCA2OCwgCi0gICAgMTI4LCA2NywgODUsIDgyLCA4OCwgMTI4LCA2NywgODUsIDgyLCA4NiwgNzMsIDc4LCAxOTksIDY3LCA4NSwgODIsIDg2LCAKLSAgICA2OSwgMTk2LCA2NywgODUsIDgyLCA4NiwgNjksIDEyOCwgNjcsIDg1LCA4MiwgODYsIDE5NywgNjcsIDg1LCA4MiwgODIsIAotICAgIDIxNywgNjcsIDg1LCA4MiwgODIsIDY5LCA3OCwgODQsIDEyOCwgNjcsIDg1LCA4MiwgODIsIDY5LCA3OCwgMjEyLCA2NywgCi0gICAgODUsIDgyLCA3NiwgMjE3LCA2NywgODUsIDgyLCA3NiwgMTI4LCA2NywgODUsIDgyLCAxMjgsIDY3LCA4NSwgODAsIDEyOCwgCi0gICAgNjcsIDg1LCA3OSwgODgsIDEyOCwgNjcsIDg1LCA3OSwgODAsIDEyOCwgNjcsIDg1LCA3OSwgMTI4LCA2NywgODUsIDIwNSwgCi0gICAgNjcsIDg1LCA2NiwgNjksIDY4LCAxMjgsIDY3LCA4NSwgNjYsIDE5NywgNjcsIDg1LCA2NSwgODQsIDgyLCA3MywgNzYsIDc2LCAKLSAgICA3OSwgMTI4LCA2NywgODUsIDY1LCA4NCwgODIsIDczLCA3NiwgNzYsIDIwNywgNjcsIDg1LCAxMjgsIDY3LCA4MiwgODksIAotICAgIDgzLCA4NCwgNjUsIDIwNCwgNjcsIDgyLCA4OSwgODAsIDg0LCA3OSwgNzEsIDgyLCA2NSwgNzcsIDc3LCA3MywgMTk1LCA2NywgCi0gICAgODIsIDg5LCA3MywgNzgsIDE5OSwgNjcsIDgyLCA4NSwgOTAsIDY5LCA3MywgODIsIDIwNywgNjcsIDgyLCA4NSwgNjcsIDczLCAKLSAgICA2NiwgNzYsIDY5LCA0NSwgNTMsIDEyOCwgNjcsIDgyLCA4NSwgNjcsIDczLCA2NiwgNzYsIDY5LCA0NSwgNTIsIDEyOCwgNjcsIAotICAgIDgyLCA4NSwgNjcsIDczLCA2NiwgNzYsIDY5LCA0NSwgNTEsIDEyOCwgNjcsIDgyLCA4NSwgNjcsIDczLCA2NiwgNzYsIDY5LCAKLSAgICA0NSwgNTAsIDEyOCwgNjcsIDgyLCA4NSwgNjcsIDczLCA2NiwgNzYsIDY5LCAxMjgsIDY3LCA4MiwgNzksIDg3LCA3OCwgCi0gICAgMTI4LCA2NywgODIsIDc5LCA4MywgODMsIDczLCA3OCwgNzEsIDEyOCwgNjcsIDgyLCA3OSwgODMsIDgzLCA3MywgNzgsIAotICAgIDE5OSwgNjcsIDgyLCA3OSwgODMsIDgzLCA3MiwgNjUsIDg0LCA2NywgMjAwLCA2NywgODIsIDc5LCA4MywgODMsIDY5LCA2OCwgCi0gICAgNDUsIDg0LCA2NSwgNzMsIDc2LCAxMjgsIDY3LCA4MiwgNzksIDgzLCA4MywgNjksIDE5NiwgNjcsIDgyLCA3OSwgODMsIDgzLCAKLSAgICA2NiwgNzksIDc4LCA2OSwgODMsIDEyOCwgNjcsIDgyLCA3OSwgODMsIDgzLCAxMjgsIDY3LCA4MiwgNzksIDgzLCAyMTEsIAotICAgIDY3LCA4MiwgNzksIDgwLCAxMjgsIDY3LCA4MiwgNzksIDczLCA4OCwgMTI4LCA2NywgODIsIDc5LCA2NywgODUsIDIxMSwgCi0gICAgNjcsIDgyLCA3OSwgNjcsIDc5LCA2OCwgNzMsIDc2LCA2OSwgMTI4LCA2NywgODIsIDY5LCA4MywgNjcsIDY5LCA3OCwgODQsIAotICAgIDEyOCwgNjcsIDgyLCA2OSwgODMsIDY3LCA2OSwgNzgsIDIxMiwgNjcsIDgyLCA2OSwgNjgsIDczLCAyMTIsIDY3LCA4MiwgCi0gICAgNjksIDY1LCA4NCwgNzMsIDg2LCAxOTcsIDY3LCA4MiwgNjksIDY1LCA3NywgMTI4LCA2NywgODIsIDY1LCA2NywgNzUsIDY5LCAKLSAgICA4MiwgMTI4LCA2NywgNzksIDg4LCAxMjgsIDY3LCA3OSwgODcsIDEyOCwgNjcsIDc5LCAyMTUsIDY3LCA3OSwgODYsIDY5LCAKLSAgICA4MiwgMTI4LCA2NywgNzksIDg1LCA4MCwgNzYsIDE5NywgNjcsIDc5LCA4NSwgNzgsIDg0LCA3MywgNzgsIDE5OSwgNjcsIAotICAgIDc5LCA4NSwgNzgsIDg0LCA2OSwgODIsIDgzLCA3MywgNzgsIDc1LCAxMjgsIDY3LCA3OSwgODUsIDc4LCA4NCwgNjksIDgyLCAKLSAgICA2NiwgNzksIDgyLCA2OSwgMTI4LCA2NywgNzksIDg1LCA3OCwgNjcsIDczLCAyMDQsIDY3LCA3OSwgODQsIDEyOCwgNjcsIAotICAgIDc5LCA4MiwgODIsIDY5LCA4MywgODAsIDc5LCA3OCwgNjgsIDIxMSwgNjcsIDc5LCA4MiwgODIsIDY5LCA2NywgODQsIDEyOCwgCi0gICAgNjcsIDc5LCA4MiwgODAsIDgzLCA2OSwgMTI4LCA2NywgNzksIDgyLCA4MCwgNzksIDgyLCA2NSwgODQsIDczLCA3OSwgNzgsIAotICAgIDEyOCwgNjcsIDc5LCA4MiwgNzksIDc4LCA3MywgODMsIDEyOCwgNjcsIDc5LCA4MiwgNzgsIDY5LCA4MiwgODMsIDEyOCwgCi0gICAgNjcsIDc5LCA4MiwgNzgsIDY5LCA4MiwgMTI4LCA2NywgNzksIDgyLCA3OCwgNjksIDIxMCwgNjcsIDc5LCA4MCwgODksIDgyLCAKLSAgICA3MywgNzEsIDcyLCA4NCwgMTI4LCA2NywgNzksIDgwLCA4OSwgODIsIDczLCA3MSwgNzIsIDIxMiwgNjcsIDc5LCA4MCwgODksIAotICAgIDEyOCwgNjcsIDc5LCA4MCwgODIsIDc5LCA2OCwgODUsIDY3LCA4NCwgMTI4LCA2NywgNzksIDgwLCA4MCwgNjksIDgyLCA0NSwgCi0gICAgNTAsIDEyOCwgNjcsIDc5LCA4MCwgODAsIDY5LCA4MiwgMTI4LCA2NywgNzksIDgwLCAxMjgsIDY3LCA3OSwgNzksIDc2LCAKLSAgICAxMjgsIDY3LCA3OSwgNzksIDc1LCA3MywgNzgsIDcxLCAxMjgsIDY3LCA3OSwgNzksIDc1LCA3MywgNjksIDEyOCwgNjcsIAotICAgIDc5LCA3OSwgNzUsIDY5LCAxOTYsIDY3LCA3OSwgNzksIDEyOCwgNjcsIDc5LCA3OCwgODYsIDY5LCA4MiwgNzEsIDczLCA3OCwgCi0gICAgMTk5LCA2NywgNzksIDc4LCA4NiwgNjksIDc4LCA3MywgNjksIDc4LCA2NywgMTk3LCA2NywgNzksIDc4LCA4NCwgODIsIDc5LCAKLSAgICA3NiwgMTI4LCA2NywgNzksIDc4LCA4NCwgODIsIDc5LCAyMDQsIDY3LCA3OSwgNzgsIDg0LCA4MiwgNjUsIDgyLCA3MywgNjksIAotICAgIDg0LCA4OSwgMTI4LCA2NywgNzksIDc4LCA4NCwgODIsIDY1LCA2NywgODQsIDczLCA3OSwgNzgsIDEyOCwgNjcsIDc5LCA3OCwgCi0gICAgODQsIDc5LCA4NSwgODIsIDY5LCAxOTYsIDY3LCA3OSwgNzgsIDg0LCA3OSwgODUsIDIxMCwgNjcsIDc5LCA3OCwgODQsIDY5LCAKLSAgICA3OCwgODQsIDczLCA3OSwgNzgsIDEyOCwgNjcsIDc5LCA3OCwgODQsIDY5LCA3NywgODAsIDc2LCA2NSwgODQsIDczLCA3OSwgCi0gICAgNzgsIDEyOCwgNjcsIDc5LCA3OCwgODQsIDY1LCA3MywgNzgsIDIxMSwgNjcsIDc5LCA3OCwgODQsIDY1LCA3MywgNzgsIDczLCAKLSAgICA3OCwgMTk5LCA2NywgNzksIDc4LCA4NCwgNjUsIDczLCAyMDYsIDY3LCA3OSwgNzgsIDg0LCA2NSwgNjcsIDg0LCAxMjgsIAotICAgIDY3LCA3OSwgNzgsIDgzLCA4NCwgODIsIDg1LCA2NywgODQsIDczLCA3OSwgMjA2LCA2NywgNzksIDc4LCA4MywgODQsIDY1LCAKLSAgICA3OCwgODQsIDEyOCwgNjcsIDc5LCA3OCwgODMsIDg0LCA2NSwgNzgsIDIxMiwgNjcsIDc5LCA3OCwgODMsIDg0LCA2NSwgNzgsIAotICAgIDY3LCA4OSwgMTI4LCA2NywgNzksIDc4LCA4MywgNzksIDc4LCA2NSwgNzgsIDIxMiwgNjcsIDc5LCA3OCwgODMsIDY5LCA2NywgCi0gICAgODUsIDg0LCA3MywgODYsIDE5NywgNjcsIDc5LCA3OCwgNzQsIDg1LCA3OCwgNjcsIDg0LCA3MywgNzksIDc4LCAxMjgsIDY3LCAKLSAgICA3OSwgNzgsIDc0LCA4NSwgNzEsIDY1LCA4NCwgMTk3LCA2NywgNzksIDc4LCA3NCwgNzksIDczLCA3OCwgNzMsIDc4LCAxOTksIAotICAgIDY3LCA3OSwgNzgsIDczLCA2NywgNjUsIDIwNCwgNjcsIDc5LCA3OCwgNzEsIDgyLCA4NSwgNjksIDc4LCAyMTIsIDY3LCA3OSwgCi0gICAgNzgsIDcxLCA4MiwgNjUsIDg0LCA4NSwgNzYsIDY1LCA4NCwgNzMsIDc5LCA3OCwgMTI4LCA2NywgNzksIDc4LCA3MCwgNzksIAotICAgIDg1LCA3OCwgNjgsIDY5LCAxOTYsIDY3LCA3OSwgNzgsIDcwLCA3NiwgNzMsIDY3LCA4NCwgMTI4LCA2NywgNzksIDc4LCA3MCwgCi0gICAgNjksIDg0LCA4NCwgMjAxLCA2NywgNzksIDc4LCA2NywgNjUsIDg2LCA2OSwgNDUsIDgzLCA3MywgNjgsIDY5LCAxOTYsIDY3LCAKLSAgICA3OSwgNzgsIDY3LCA2NSwgODYsIDY5LCA0NSwgODAsIDc5LCA3MywgNzgsIDg0LCA2OSwgMTk2LCA2NywgNzksIDc4LCAxMjgsIAotICAgIDY3LCA3OSwgNzcsIDgwLCA4NSwgODQsIDY5LCA4MiwgMTI4LCA2NywgNzksIDc3LCA4MCwgNzksIDgzLCA3MywgODQsIDczLCAKLSAgICA3OSwgNzgsIDEyOCwgNjcsIDc5LCA3NywgODAsIDc5LCA4MywgNzMsIDg0LCA3MywgNzksIDIwNiwgNjcsIDc5LCA3NywgODAsIAotICAgIDc2LCA3MywgNjUsIDc4LCA2NywgNjksIDEyOCwgNjcsIDc5LCA3NywgODAsIDc2LCA2OSwgODQsIDczLCA3OSwgNzgsIDEyOCwgCi0gICAgNjcsIDc5LCA3NywgODAsIDc2LCA2OSwgODQsIDY5LCA2OCwgMTI4LCA2NywgNzksIDc3LCA4MCwgNzYsIDY5LCA3NywgNjksIAotICAgIDc4LCA4NCwgMTI4LCA2NywgNzksIDc3LCA4MCwgNjUsIDgyLCA2OSwgMTI4LCA2NywgNzksIDc3LCA3NywgNzksIDIwNiwgCi0gICAgNjcsIDc5LCA3NywgNzcsIDY5LCA4MiwgNjcsIDczLCA2NSwgMjA0LCA2NywgNzksIDc3LCA3NywgNjUsIDEyOCwgNjcsIDc5LCAKLSAgICA3NywgNzcsIDE5MywgNjcsIDc5LCA3NywgNjksIDg0LCAxMjgsIDY3LCA3OSwgNzcsIDY2LCAxMjgsIDY3LCA3OSwgNzYsIAotICAgIDg1LCA3NywgNzgsIDEyOCwgNjcsIDc5LCA3NiwgNzksIDgyLCAxMjgsIDY3LCA3OSwgNzYsIDc2LCA3MywgODMsIDczLCA3OSwgCi0gICAgMjA2LCA2NywgNzksIDc2LCA3NiwgMTI4LCA2NywgNzksIDc2LCAxOTYsIDY3LCA3OSwgNzAsIDcwLCA3MywgNzgsIDEyOCwgCi0gICAgNjcsIDc5LCA2OSwgNzgsIDcxLCAxMjgsIDY3LCA3OSwgNjgsIDY1LCAxMjgsIDY3LCA3OSwgNjcsIDc1LCA4NCwgNjUsIDczLCAKLSAgICAyMDQsIDY3LCA3OSwgNjUsIDgzLCA4NCwgNjksIDgyLCAxMjgsIDY3LCA3OSwgNjUsIDEyOCwgNjcsIDc5LCAxMjgsIDY3LCAKLSAgICA3NywgMTI4LCA2NywgMjA1LCA2NywgNzYsIDg1LCA4MywgODQsIDY5LCAyMTAsIDY3LCA3NiwgODUsIDY2LCA4MywgMTI4LCAKLSAgICA2NywgNzYsIDg1LCA2NiwgNDUsIDgzLCA4MCwgNzksIDc1LCA2OSwgMTk2LCA2NywgNzYsIDg1LCA2NiwgMTI4LCA2NywgNzYsIAotICAgIDg1LCAxOTQsIDY3LCA3NiwgNzksIDg2LCA2OSwgODIsIDEyOCwgNjcsIDc2LCA3OSwgODUsIDY4LCAxMjgsIDY3LCA3NiwgCi0gICAgNzksIDg1LCAxOTYsIDY3LCA3NiwgNzksIDg0LCA3MiwgNjksIDgzLCAxMjgsIDY3LCA3NiwgNzksIDg0LCA3MiwgMTI4LCAKLSAgICA2NywgNzYsIDc5LCA4MywgNjksIDg0LCAxMjgsIDY3LCA3NiwgNzksIDgzLCA2OSwgNzgsIDY5LCA4MywgODMsIDEyOCwgNjcsIAotICAgIDc2LCA3OSwgODMsIDY5LCA2OCwgMTI4LCA2NywgNzYsIDc5LCA4MywgMTk3LCA2NywgNzYsIDc5LCA2NywgNzUsIDg3LCA3MywgCi0gICAgODMsIDE5NywgNjcsIDc2LCA3OSwgNjcsIDIwMywgNjcsIDc2LCA3MywgODYsIDczLCA4MywgMTI4LCA2NywgNzYsIDczLCAKLSAgICA4MCwgNjYsIDc5LCA2NSwgODIsIDY4LCAxMjgsIDY3LCA3NiwgNzMsIDc4LCA3NSwgNzMsIDc4LCAxOTksIDY3LCA3NiwgNzMsIAotICAgIDc4LCA3MSwgNzMsIDc4LCAxOTksIDY3LCA3NiwgNzMsIDc3LCA2NSwgNjcsIDg1LCA4MywgMTI4LCA2NywgNzYsIDczLCA3MCwgCi0gICAgNzAsIDEyOCwgNjcsIDc2LCA3MywgNjcsIDc1LCAxMjgsIDY3LCA3NiwgNjksIDcwLCA0NSwgNTAsIDEyOCwgNjcsIDc2LCAKLSAgICA2OSwgNzAsIDQ1LCA0OSwgMTI4LCA2NywgNzYsIDY5LCA3MCwgMTI4LCA2NywgNzYsIDY5LCAxOTgsIDY3LCA3NiwgNjksIAotICAgIDY1LCA4NiwgNjksIDgyLCAxMjgsIDY3LCA3NiwgNjksIDY1LCAyMTAsIDY3LCA3NiwgNjUsIDg3LCAxMjgsIDY3LCA3NiwgCi0gICAgNjUsIDgwLCA4MCwgNzMsIDc4LCAxOTksIDY3LCA3NiwgNjUsIDgwLCA4MCwgNjksIDIxMCwgNjcsIDc2LCA2NSwgNzgsIAotICAgIDEyOCwgNjcsIDc2LCA2NSwgNzMsIDc3LCAxMjgsIDY3LCA3NiwgMTI4LCA2NywgNzMsIDg4LCAxMjgsIDY3LCA3MywgODYsIAotICAgIDczLCA3NiwgNzMsIDY1LCA3OCwgMTI4LCA2NywgNzMsIDg0LCA4OSwgODMsIDY3LCA2NSwgODAsIDE5NywgNjcsIDczLCA4NCwgCi0gICAgMTI4LCA2NywgNzMsIDgyLCA2NywgODUsIDIxMSwgNjcsIDczLCA4MiwgNjcsIDg1LCA3NywgNzAsIDc2LCA2OSwgODgsIAotICAgIDEyOCwgNjcsIDczLCA4MiwgNjcsIDg1LCA3NywgNzAsIDc2LCA2OSwgMjE2LCA2NywgNzMsIDgyLCA2NywgODUsIDc2LCA2NSwgCi0gICAgODQsIDczLCA3OSwgMjA2LCA2NywgNzMsIDgyLCA2NywgNzYsIDY5LCA4MywgMTI4LCA2NywgNzMsIDgyLCA2NywgNzYsIDY5LCAKLSAgICAxMjgsIDY3LCA3MywgODAsIDEyOCwgNjcsIDczLCA3OCwgNzgsIDY1LCA2NiwgNjUsIDgyLCAxMjgsIDY3LCA3MywgNzgsIAotICAgIDY5LCA3NywgNjUsIDEyOCwgNjcsIDczLCA3MywgMTI4LCA2NywgNzMsIDY5LCA4OCwgMTI4LCA2NywgNzMsIDY5LCA4NSwgCi0gICAgNjcsIDQ1LCA4MywgODMsIDY1LCA3OCwgNzEsIDgwLCA3MywgNjksIDg1LCA4MCwgMTI4LCA2NywgNzMsIDY5LCA4NSwgNjcsIAotICAgIDQ1LCA4MCwgNzMsIDY5LCA4NSwgODAsIDEyOCwgNjcsIDczLCA2OSwgODUsIDY3LCA0NSwgNzMsIDY5LCA4NSwgNzgsIDcxLCAKLSAgICAxMjgsIDY3LCA3MywgNjksIDg1LCAxOTUsIDY3LCA3MywgNjksIDg0LCAxMjgsIDY3LCA3MywgNjksIDgwLCAxMjgsIDY3LCAKLSAgICA3MywgNjksIDEyOCwgNjcsIDczLCAxMjgsIDY3LCA3MiwgODksIDg4LCAxMjgsIDY3LCA3MiwgODksIDg0LCAxMjgsIDY3LCAKLSAgICA3MiwgODksIDgyLCA4OCwgMTI4LCA2NywgNzIsIDg5LCA4MiwgMTI4LCA2NywgNzIsIDg5LCA4MCwgMTI4LCA2NywgNzIsIAotICAgIDg1LCA4OCwgMTI4LCA2NywgNzIsIDg1LCA4MiwgODgsIDEyOCwgNjcsIDcyLCA4NSwgODIsIDY3LCA3MiwgMTI4LCA2NywgCi0gICAgNzIsIDg1LCA4MiwgMTI4LCA2NywgNzIsIDg1LCA4MCwgMTI4LCA2NywgNzIsIDg1LCA3OSwgODgsIDEyOCwgNjcsIDcyLCAKLSAgICA4NSwgNzksIDg0LCAxMjgsIDY3LCA3MiwgODUsIDc5LCA4MCwgMTI4LCA2NywgNzIsIDg1LCA3OSwgMTI4LCA2NywgNzIsIAotICAgIDg1LCA3NiwgNjUsIDEyOCwgNjcsIDcyLCA4NSwgMTI4LCA2NywgNzIsIDgyLCA4OSwgODMsIDY1LCA3OCwgODQsIDcyLCA2OSwgCi0gICAgNzcsIDg1LCA3NywgMTI4LCA2NywgNzIsIDgyLCA3OSwgNzgsIDc5LCA4NSwgMTI4LCA2NywgNzIsIDgyLCA3OSwgNzgsIDc5LCAKLSAgICA3OCwgMTI4LCA2NywgNzIsIDgyLCA3OSwgNzcsIDE5MywgNjcsIDcyLCA4MiwgNzksIDE5MywgNjcsIDcyLCA4MiwgNzMsIAotICAgIDg2LCA3MywgMTI4LCA2NywgNzIsIDgyLCA3MywgODMsIDg0LCA3NywgNjUsIDgzLCAxMjgsIDY3LCA3MiwgODIsIDczLCA4MywgCi0gICAgODQsIDc3LCA2NSwgMjExLCA2NywgNzIsIDc5LCA4OCwgMTI4LCA2NywgNzIsIDc5LCA4NCwgMTI4LCA2NywgNzIsIDc5LCAKLSAgICA4MiwgNjksIDg2LCA3NywgMTkzLCA2NywgNzIsIDc5LCA4MCwgMTI4LCA2NywgNzIsIDc5LCA3NSwgNjksIDEyOCwgNjcsIAotICAgIDcyLCA3OSwgNjksIDEyOCwgNjcsIDcyLCA3OSwgNjcsIDc5LCA3NiwgNjUsIDg0LCAxOTcsIDY3LCA3MiwgNzksIDY1LCAKKyAgICA2NywgODMsIDEyOCwgNjgsIDY3LCA1MiwgMTI4LCA2OCwgNjcsIDUxLCAxMjgsIDY4LCA2NywgNTAsIDEyOCwgNjgsIDY3LCAKKyAgICA0OSwgMTI4LCA2OCwgMTk0LCA2OCwgNjUsIDg5LCA0NSwgNzgsIDczLCA3MSwgNzIsIDg0LCAxMjgsIDY4LCA2NSwgMjE3LCAKKyAgICA2OCwgNjUsIDg2LCA3MywgODksIDY1LCA3OCwgNzMsIDEyOCwgNjgsIDY1LCA4NiwgNzMsIDY4LCAxMjgsIDY4LCA2NSwgODQsIAorICAgIDE5NywgNjgsIDY1LCA4MywgNzMsIDY1LCAxMjgsIDY4LCA2NSwgODMsIDczLCAxOTMsIDY4LCA2NSwgODMsIDcyLCA2OSwgCisgICAgMTk2LCA2OCwgNjUsIDgzLCA3MiwgMTI4LCA2OCwgNjUsIDgzLCAyMDAsIDY4LCA2NSwgODMsIDY5LCA3MywgNjUsIDEyOCwgCisgICAgNjgsIDY1LCA4MiwgODQsIDEyOCwgNjgsIDY1LCA4MiwgNzUsIDY5LCA3OCwgNzMsIDc4LCA3MSwgMTI4LCA2OCwgNjUsIDgyLCAKKyAgICA3NSwgNjksIDc4LCA3MywgNzgsIDE5OSwgNjgsIDY1LCA4MiwgMjAzLCA2OCwgNjUsIDgyLCA3MSwgNjUsIDEyOCwgNjgsIAorICAgIDY1LCA4MiwgNjUsIDUyLCAxMjgsIDY4LCA2NSwgODIsIDY1LCA1MSwgMTI4LCA2OCwgNjUsIDgyLCAxMjgsIDY4LCA2NSwgCisgICAgODAsIDQ1LCA4MCwgODIsIDY1LCAyMDUsIDY4LCA2NSwgODAsIDQ1LCA4MCwgNzMsIDIwMSwgNjgsIDY1LCA4MCwgNDUsIDc3LCAKKyAgICA4NSwgNzksIDIxNywgNjgsIDY1LCA4MCwgNDUsIDY2LCA4NSwgNzksIDIwNiwgNjgsIDY1LCA4MCwgNDUsIDY2LCA2OSwgCisgICAgMjAxLCA2OCwgNjUsIDIwOCwgNjgsIDY1LCA3OCwgODQsIDY1LCA3NCwgMTkzLCA2OCwgNjUsIDc4LCA3MSwgNzksIDEyOCwgCisgICAgNjgsIDY1LCA3OCwgNzEsIDEyOCwgNjgsIDY1LCA3OCwgMTk5LCA2OCwgNjUsIDc4LCA2OCwgNjUsIDEyOCwgNjgsIDY1LCAKKyAgICA3OCwgNjcsIDY5LCA4MiwgMTI4LCA2OCwgNjUsIDc3LCA4MCwgMTI4LCA2OCwgNjUsIDc3LCAyMDgsIDY4LCA2NSwgNzcsIAorICAgIDc3LCA2NSwgODQsIDY1LCA3OCwgMTI4LCA2OCwgNjUsIDc3LCA3NywgNjUsIDg0LCA2NSwgMjA2LCA2OCwgNjUsIDc3LCA3NywgCisgICAgNjUsIDEyOCwgNjgsIDY1LCA3NywgNzcsIDE5MywgNjgsIDY1LCA3NywgNjUsIDgyLCA4NSwgMTI4LCA2OCwgNjUsIDc2LCAKKyAgICA2OSwgODQsIDcyLCAxMjgsIDY4LCA2NSwgNzYsIDY5LCA4NCwgMTI4LCA2OCwgNjUsIDc2LCA2OSwgMjEyLCA2OCwgNjUsIAorICAgIDc2LCA2OCwgNjUsIDEyOCwgNjgsIDY1LCA3NiwgNjUsIDg0LCA3MiwgMTI4LCA2OCwgNjUsIDc2LCA2NSwgODQsIDIwMCwgCisgICAgNjgsIDY1LCA3NiwgNjUsIDg0LCAxMjgsIDY4LCA2NSwgNzMsIDgyLCAxMjgsIDY4LCA2NSwgNzMsIDc4LCA3MSwgMTI4LCAKKyAgICA2OCwgNjUsIDcyLCA4OSwgNjUsIDY1LCA4NSwgODMsIDcyLCA0NSwgNTAsIDEyOCwgNjgsIDY1LCA3MiwgODksIDY1LCA2NSwgCisgICAgODUsIDgzLCA3MiwgMTI4LCA2OCwgNjUsIDcxLCA4MywgMTI4LCA2OCwgNjUsIDcxLCA3MSwgNjksIDgyLCAxMjgsIDY4LCAKKyAgICA2NSwgNzEsIDcxLCA2OSwgMjEwLCA2OCwgNjUsIDcxLCA2OSwgODMsIDcyLCAxMjgsIDY4LCA2NSwgNzEsIDY5LCA4MywgCisgICAgMjAwLCA2OCwgNjUsIDcxLCA2NiwgNjUsIDgzLCA3MywgNzgsIDc4LCA2NSwgMTI4LCA2OCwgNjUsIDcxLCA2NSwgMjE4LCAKKyAgICA2OCwgNjUsIDcxLCA2NSwgNzYsIDcxLCA2NSwgMTI4LCA2OCwgNjUsIDE5OSwgNjgsIDY1LCA2OSwgNzgsIDcxLCAxMjgsIAorICAgIDY4LCA2NSwgNjksIDE5OSwgNjgsIDY1LCA2OCwgMTI4LCA2OCwgNjUsIDE5NiwgNjgsIDY1LCA2NSwgODMsIDg1LCAxMjgsIAorICAgIDY4LCA2NSwgNjUsIDY4LCA3MiwgODUsIDEyOCwgNjgsIDQ4LCA1NCwgNTUsIDcyLCAxMjgsIDY4LCA0OCwgNTQsIDU1LCA3MSwgCisgICAgMTI4LCA2OCwgNDgsIDU0LCA1NSwgNzAsIDEyOCwgNjgsIDQ4LCA1NCwgNTUsIDY5LCAxMjgsIDY4LCA0OCwgNTQsIDU1LCAKKyAgICA2OCwgMTI4LCA2OCwgNDgsIDU0LCA1NSwgNjcsIDEyOCwgNjgsIDQ4LCA1NCwgNTUsIDY2LCAxMjgsIDY4LCA0OCwgNTQsIAorICAgIDU1LCA2NSwgMTI4LCA2OCwgNDgsIDU0LCA1NSwgMTI4LCA2OCwgNDgsIDU0LCA1NCwgMTI4LCA2OCwgNDgsIDU0LCA1MywgCisgICAgMTI4LCA2OCwgNDgsIDU0LCA1MiwgMTI4LCA2OCwgNDgsIDU0LCA1MSwgMTI4LCA2OCwgNDgsIDU0LCA1MCwgMTI4LCA2OCwgCisgICAgNDgsIDU0LCA0OSwgMTI4LCA2OCwgNDgsIDU0LCA0OCwgMTI4LCA2OCwgNDgsIDUzLCA1NywgMTI4LCA2OCwgNDgsIDUzLCAKKyAgICA1NiwgMTI4LCA2OCwgNDgsIDUzLCA1NSwgMTI4LCA2OCwgNDgsIDUzLCA1NCwgMTI4LCA2OCwgNDgsIDUzLCA1MywgMTI4LCAKKyAgICA2OCwgNDgsIDUzLCA1MiwgNjUsIDEyOCwgNjgsIDQ4LCA1MywgNTIsIDEyOCwgNjgsIDQ4LCA1MywgNTEsIDEyOCwgNjgsIAorICAgIDQ4LCA1MywgNTAsIDY1LCAxMjgsIDY4LCA0OCwgNTMsIDUwLCAxMjgsIDY4LCA0OCwgNTMsIDQ5LCAxMjgsIDY4LCA0OCwgCisgICAgNTMsIDQ4LCA3MywgMTI4LCA2OCwgNDgsIDUzLCA0OCwgNzIsIDEyOCwgNjgsIDQ4LCA1MywgNDgsIDcxLCAxMjgsIDY4LCAKKyAgICA0OCwgNTMsIDQ4LCA3MCwgMTI4LCA2OCwgNDgsIDUzLCA0OCwgNjksIDEyOCwgNjgsIDQ4LCA1MywgNDgsIDY4LCAxMjgsIAorICAgIDY4LCA0OCwgNTMsIDQ4LCA2NywgMTI4LCA2OCwgNDgsIDUzLCA0OCwgNjYsIDEyOCwgNjgsIDQ4LCA1MywgNDgsIDY1LCAKKyAgICAxMjgsIDY4LCA0OCwgNTMsIDQ4LCAxMjgsIDY4LCA0OCwgNTIsIDU3LCAxMjgsIDY4LCA0OCwgNTIsIDU2LCA2NSwgMTI4LCAKKyAgICA2OCwgNDgsIDUyLCA1NiwgMTI4LCA2OCwgNDgsIDUyLCA1NSwgMTI4LCA2OCwgNDgsIDUyLCA1NCwgNjUsIDEyOCwgNjgsIAorICAgIDQ4LCA1MiwgNTQsIDEyOCwgNjgsIDQ4LCA1MiwgNTMsIDEyOCwgNjgsIDQ4LCA1MiwgNTIsIDEyOCwgNjgsIDQ4LCA1MiwgCisgICAgNTEsIDEyOCwgNjgsIDQ4LCA1MiwgNTAsIDEyOCwgNjgsIDQ4LCA1MiwgNDksIDEyOCwgNjgsIDQ4LCA1MiwgNDgsIDEyOCwgCisgICAgNjgsIDQ4LCA1MSwgNTcsIDEyOCwgNjgsIDQ4LCA1MSwgNTYsIDEyOCwgNjgsIDQ4LCA1MSwgNTUsIDEyOCwgNjgsIDQ4LCAKKyAgICA1MSwgNTQsIDEyOCwgNjgsIDQ4LCA1MSwgNTMsIDEyOCwgNjgsIDQ4LCA1MSwgNTIsIDY1LCAxMjgsIDY4LCA0OCwgNTEsIAorICAgIDUyLCAxMjgsIDY4LCA0OCwgNTEsIDUxLCAxMjgsIDY4LCA0OCwgNTEsIDUwLCAxMjgsIDY4LCA0OCwgNTEsIDQ5LCA2NSwgCisgICAgMTI4LCA2OCwgNDgsIDUxLCA0OSwgMTI4LCA2OCwgNDgsIDUxLCA0OCwgMTI4LCA2OCwgNDgsIDUwLCA1NywgMTI4LCA2OCwgCisgICAgNDgsIDUwLCA1NiwgMTI4LCA2OCwgNDgsIDUwLCA1NSwgNjUsIDEyOCwgNjgsIDQ4LCA1MCwgNTUsIDEyOCwgNjgsIDQ4LCAKKyAgICA1MCwgNTQsIDEyOCwgNjgsIDQ4LCA1MCwgNTMsIDEyOCwgNjgsIDQ4LCA1MCwgNTIsIDEyOCwgNjgsIDQ4LCA1MCwgNTEsIAorICAgIDEyOCwgNjgsIDQ4LCA1MCwgNTAsIDEyOCwgNjgsIDQ4LCA1MCwgNDksIDEyOCwgNjgsIDQ4LCA1MCwgNDgsIDEyOCwgNjgsIAorICAgIDQ4LCA0OSwgNTcsIDEyOCwgNjgsIDQ4LCA0OSwgNTYsIDEyOCwgNjgsIDQ4LCA0OSwgNTUsIDEyOCwgNjgsIDQ4LCA0OSwgCisgICAgNTQsIDEyOCwgNjgsIDQ4LCA0OSwgNTMsIDEyOCwgNjgsIDQ4LCA0OSwgNTIsIDEyOCwgNjgsIDQ4LCA0OSwgNTEsIDEyOCwgCisgICAgNjgsIDQ4LCA0OSwgNTAsIDEyOCwgNjgsIDQ4LCA0OSwgNDksIDEyOCwgNjgsIDQ4LCA0OSwgNDgsIDEyOCwgNjgsIDQ4LCAKKyAgICA0OCwgNTcsIDEyOCwgNjgsIDQ4LCA0OCwgNTYsIDY1LCAxMjgsIDY4LCA0OCwgNDgsIDU2LCAxMjgsIDY4LCA0OCwgNDgsIAorICAgIDU1LCAxMjgsIDY4LCA0OCwgNDgsIDU0LCAxMjgsIDY4LCA0OCwgNDgsIDUzLCAxMjgsIDY4LCA0OCwgNDgsIDUyLCAxMjgsIAorICAgIDY4LCA0OCwgNDgsIDUxLCAxMjgsIDY4LCA0OCwgNDgsIDUwLCAxMjgsIDY4LCA0OCwgNDgsIDQ5LCAxMjgsIDY3LCA4OSwgCisgICAgODgsIDEyOCwgNjcsIDg5LCA4NCwgMTI4LCA2NywgODksIDgyLCA4OCwgMTI4LCA2NywgODksIDgyLCA2OSwgNzgsIDY1LCAKKyAgICA3MywgMTk1LCA2NywgODksIDgyLCAxMjgsIDY3LCA4OSwgODAsIDgyLCA3MywgNzksIDIxMiwgNjcsIDg5LCA4MCwgNjksIAorICAgIDgyLCA4NSwgODMsIDEyOCwgNjcsIDg5LCA4MCwgMTI4LCA2NywgODksIDc2LCA3MywgNzgsIDY4LCA4MiwgNzMsIDY3LCA3MywgCisgICAgODQsIDg5LCAxMjgsIDY3LCA4OSwgNjcsIDc2LCA3OSwgNzgsIDY5LCAxMjgsIDY3LCA4OSwgNjUsIDEyOCwgNjcsIDg5LCAKKyAgICAxMjgsIDY3LCA4NywgNzksIDc5LCAxMjgsIDY3LCA4NywgNzksIDEyOCwgNjcsIDg3LCA3MywgNzMsIDEyOCwgNjcsIDg3LCAKKyAgICA3MywgMTI4LCA2NywgODcsIDY5LCA3OSwgODIsIDg0LCA3MiwgMTI4LCA2NywgODcsIDY5LCAxMjgsIDY3LCA4NywgNjUsIAorICAgIDY1LCAxMjgsIDY3LCA4NSwgODgsIDEyOCwgNjcsIDg1LCA4NSwgMTI4LCA2NywgODUsIDIxMiwgNjcsIDg1LCA4MywgODQsIAorICAgIDc5LCA3NywgODMsIDEyOCwgNjcsIDg1LCA4MywgODQsIDc5LCA3NywgNjksIDIxMCwgNjcsIDg1LCA4MywgODQsIDY1LCA4MiwgCisgICAgNjgsIDEyOCwgNjcsIDg1LCA4MiwgODgsIDEyOCwgNjcsIDg1LCA4MiwgODYsIDczLCA3OCwgMTk5LCA2NywgODUsIDgyLCAKKyAgICA4NiwgNjksIDE5NiwgNjcsIDg1LCA4MiwgODYsIDY5LCAxMjgsIDY3LCA4NSwgODIsIDg2LCAxOTcsIDY3LCA4NSwgODIsIAorICAgIDgzLCA3MywgODYsIDE5NywgNjcsIDg1LCA4MiwgODIsIDIxNywgNjcsIDg1LCA4MiwgODIsIDY5LCA3OCwgODQsIDEyOCwgCisgICAgNjcsIDg1LCA4MiwgODIsIDY5LCA3OCwgMjEyLCA2NywgODUsIDgyLCA3NiwgMjE3LCA2NywgODUsIDgyLCA3NiwgMTI4LCAKKyAgICA2NywgODUsIDgyLCAxMjgsIDY3LCA4NSwgODAsIDEyOCwgNjcsIDg1LCA3OSwgODgsIDEyOCwgNjcsIDg1LCA3OSwgODAsIAorICAgIDEyOCwgNjcsIDg1LCA3OSwgMTI4LCA2NywgODUsIDIwNSwgNjcsIDg1LCA2NiwgNjksIDY4LCAxMjgsIDY3LCA4NSwgNjYsIAorICAgIDE5NywgNjcsIDg1LCA2NSwgODQsIDgyLCA3MywgNzYsIDc2LCA3OSwgMTI4LCA2NywgODUsIDY1LCA4NCwgODIsIDczLCA3NiwgCisgICAgNzYsIDIwNywgNjcsIDg1LCAxMjgsIDY3LCA4MywgNzMsIDEyOCwgNjcsIDgyLCA4OSwgODMsIDg0LCA2NSwgMjA0LCA2NywgCisgICAgODIsIDg5LCA4MCwgODQsIDc5LCA3MSwgODIsIDY1LCA3NywgNzcsIDczLCAxOTUsIDY3LCA4MiwgODksIDczLCA3OCwgMTk5LCAKKyAgICA2NywgODIsIDg1LCA5MCwgNjksIDczLCA4MiwgMjA3LCA2NywgODIsIDg1LCA2NywgNzMsIDY2LCA3NiwgNjksIDQ1LCA1MywgCisgICAgMTI4LCA2NywgODIsIDg1LCA2NywgNzMsIDY2LCA3NiwgNjksIDQ1LCA1MiwgMTI4LCA2NywgODIsIDg1LCA2NywgNzMsIDY2LCAKKyAgICA3NiwgNjksIDQ1LCA1MSwgMTI4LCA2NywgODIsIDg1LCA2NywgNzMsIDY2LCA3NiwgNjksIDQ1LCA1MCwgMTI4LCA2NywgODIsIAorICAgIDg1LCA2NywgNzMsIDY2LCA3NiwgNjksIDEyOCwgNjcsIDgyLCA3OSwgODcsIDc4LCAxMjgsIDY3LCA4MiwgNzksIDgzLCA4MywgCisgICAgNzMsIDc4LCA3MSwgMTI4LCA2NywgODIsIDc5LCA4MywgODMsIDczLCA3OCwgMTk5LCA2NywgODIsIDc5LCA4MywgODMsIDcyLCAKKyAgICA2NSwgODQsIDY3LCAyMDAsIDY3LCA4MiwgNzksIDgzLCA4MywgNjksIDY4LCA0NSwgODQsIDY1LCA3MywgNzYsIDEyOCwgNjcsIAorICAgIDgyLCA3OSwgODMsIDgzLCA2OSwgMTk2LCA2NywgODIsIDc5LCA4MywgODMsIDY2LCA3OSwgNzgsIDY5LCA4MywgMTI4LCA2NywgCisgICAgODIsIDc5LCA4MywgODMsIDEyOCwgNjcsIDgyLCA3OSwgODMsIDIxMSwgNjcsIDgyLCA3OSwgODAsIDEyOCwgNjcsIDgyLCAKKyAgICA3OSwgNzMsIDg4LCAxMjgsIDY3LCA4MiwgNzksIDY3LCA4NSwgMjExLCA2NywgODIsIDc5LCA2NywgNzksIDY4LCA3MywgNzYsIAorICAgIDY5LCAxMjgsIDY3LCA4MiwgNjksIDgzLCA2NywgNjksIDc4LCA4NCwgMTI4LCA2NywgODIsIDY5LCA4MywgNjcsIDY5LCA3OCwgCisgICAgMjEyLCA2NywgODIsIDY5LCA2OCwgNzMsIDIxMiwgNjcsIDgyLCA2OSwgNjUsIDg0LCA3MywgODYsIDE5NywgNjcsIDgyLCAKKyAgICA2OSwgNjUsIDc3LCAxMjgsIDY3LCA4MiwgNjUsIDY3LCA3NSwgNjksIDgyLCAxMjgsIDY3LCA4MiwgMTI4LCA2NywgNzksIAorICAgIDg4LCAxMjgsIDY3LCA3OSwgODcsIDEyOCwgNjcsIDc5LCAyMTUsIDY3LCA3OSwgODYsIDY5LCA4MiwgMTI4LCA2NywgNzksIAorICAgIDg1LCA4MCwgNzYsIDE5NywgNjcsIDc5LCA4NSwgNzgsIDg0LCA3MywgNzgsIDE5OSwgNjcsIDc5LCA4NSwgNzgsIDg0LCA2OSwgCisgICAgODIsIDgzLCA3MywgNzgsIDc1LCAxMjgsIDY3LCA3OSwgODUsIDc4LCA4NCwgNjksIDgyLCA2NiwgNzksIDgyLCA2OSwgMTI4LCAKKyAgICA2NywgNzksIDg1LCA3OCwgNjcsIDczLCAyMDQsIDY3LCA3OSwgODQsIDEyOCwgNjcsIDc5LCA4MiwgODIsIDY5LCA4MywgODAsIAorICAgIDc5LCA3OCwgNjgsIDIxMSwgNjcsIDc5LCA4MiwgODIsIDY5LCA2NywgODQsIDEyOCwgNjcsIDc5LCA4MiwgODAsIDgzLCA2OSwgCisgICAgMTI4LCA2NywgNzksIDgyLCA4MCwgNzksIDgyLCA2NSwgODQsIDczLCA3OSwgNzgsIDEyOCwgNjcsIDc5LCA4MiwgNzksIDc4LCAKKyAgICA3MywgODMsIDEyOCwgNjcsIDc5LCA4MiwgNzgsIDY5LCA4MiwgODMsIDEyOCwgNjcsIDc5LCA4MiwgNzgsIDY5LCA4MiwgCisgICAgMTI4LCA2NywgNzksIDgyLCA3OCwgNjksIDIxMCwgNjcsIDc5LCA4MCwgODksIDgyLCA3MywgNzEsIDcyLCA4NCwgMTI4LCAKKyAgICA2NywgNzksIDgwLCA4OSwgODIsIDczLCA3MSwgNzIsIDIxMiwgNjcsIDc5LCA4MCwgODksIDEyOCwgNjcsIDc5LCA4MCwgODIsIAorICAgIDc5LCA2OCwgODUsIDY3LCA4NCwgMTI4LCA2NywgNzksIDgwLCA4MCwgNjksIDgyLCA0NSwgNTAsIDEyOCwgNjcsIDc5LCA4MCwgCisgICAgODAsIDY5LCA4MiwgMTI4LCA2NywgNzksIDgwLCAxMjgsIDY3LCA3OSwgNzksIDc2LCAxMjgsIDY3LCA3OSwgNzksIDc1LCAKKyAgICA3MywgNzgsIDcxLCAxMjgsIDY3LCA3OSwgNzksIDc1LCA3MywgNjksIDEyOCwgNjcsIDc5LCA3OSwgNzUsIDY5LCAxOTYsIAorICAgIDY3LCA3OSwgNzksIDEyOCwgNjcsIDc5LCA3OCwgODYsIDY5LCA4MiwgNzEsIDczLCA3OCwgMTk5LCA2NywgNzksIDc4LCA4NiwgCisgICAgNjksIDc4LCA3MywgNjksIDc4LCA2NywgMTk3LCA2NywgNzksIDc4LCA4NCwgODIsIDc5LCA3NiwgMTI4LCA2NywgNzksIDc4LCAKKyAgICA4NCwgODIsIDc5LCAyMDQsIDY3LCA3OSwgNzgsIDg0LCA4MiwgNjUsIDgyLCA3MywgNjksIDg0LCA4OSwgMTI4LCA2NywgNzksIAorICAgIDc4LCA4NCwgODIsIDY1LCA2NywgODQsIDczLCA3OSwgNzgsIDEyOCwgNjcsIDc5LCA3OCwgODQsIDc5LCA4NSwgODIsIDY5LCAKKyAgICAxOTYsIDY3LCA3OSwgNzgsIDg0LCA3OSwgODUsIDIxMCwgNjcsIDc5LCA3OCwgODQsIDY5LCA3OCwgODQsIDczLCA3OSwgNzgsIAorICAgIDEyOCwgNjcsIDc5LCA3OCwgODQsIDY5LCA3NywgODAsIDc2LCA2NSwgODQsIDczLCA3OSwgNzgsIDEyOCwgNjcsIDc5LCA3OCwgCisgICAgODQsIDY1LCA3MywgNzgsIDIxMSwgNjcsIDc5LCA3OCwgODQsIDY1LCA3MywgNzgsIDczLCA3OCwgMTk5LCA2NywgNzksIDc4LCAKKyAgICA4NCwgNjUsIDczLCAyMDYsIDY3LCA3OSwgNzgsIDg0LCA2NSwgNjcsIDg0LCAxMjgsIDY3LCA3OSwgNzgsIDgzLCA4NCwgODIsIAorICAgIDg1LCA2NywgODQsIDczLCA3OSwgMjA2LCA2NywgNzksIDc4LCA4MywgODQsIDY1LCA3OCwgODQsIDEyOCwgNjcsIDc5LCA3OCwgCisgICAgODMsIDg0LCA2NSwgNzgsIDIxMiwgNjcsIDc5LCA3OCwgODMsIDg0LCA2NSwgNzgsIDY3LCA4OSwgMTI4LCA2NywgNzksIDc4LCAKKyAgICA4MywgNjksIDY3LCA4NSwgODQsIDczLCA4NiwgMTk3LCA2NywgNzksIDc4LCA3NCwgODUsIDc4LCA2NywgODQsIDczLCA3OSwgCisgICAgNzgsIDEyOCwgNjcsIDc5LCA3OCwgNzQsIDg1LCA3MSwgNjUsIDg0LCAxOTcsIDY3LCA3OSwgNzgsIDc0LCA3OSwgNzMsIDc4LCAKKyAgICA3MywgNzgsIDE5OSwgNjcsIDc5LCA3OCwgNzMsIDY3LCA2NSwgMjA0LCA2NywgNzksIDc4LCA3MSwgODIsIDg1LCA2OSwgNzgsIAorICAgIDIxMiwgNjcsIDc5LCA3OCwgNzEsIDgyLCA2NSwgODQsIDg1LCA3NiwgNjUsIDg0LCA3MywgNzksIDc4LCAxMjgsIDY3LCA3OSwgCisgICAgNzgsIDcwLCA4NSwgODMsIDY5LCAxOTYsIDY3LCA3OSwgNzgsIDcwLCA3OSwgODUsIDc4LCA2OCwgNjksIDE5NiwgNjcsIDc5LCAKKyAgICA3OCwgNzAsIDc2LCA3MywgNjcsIDg0LCAxMjgsIDY3LCA3OSwgNzgsIDcwLCA2OSwgODQsIDg0LCAyMDEsIDY3LCA3OSwgNzgsIAorICAgIDY3LCA2NSwgODYsIDY5LCA0NSwgODMsIDczLCA2OCwgNjksIDE5NiwgNjcsIDc5LCA3OCwgNjcsIDY1LCA4NiwgNjksIDQ1LCAKKyAgICA4MCwgNzksIDczLCA3OCwgODQsIDY5LCAxOTYsIDY3LCA3OSwgNzgsIDEyOCwgNjcsIDc5LCA3NywgODAsIDg1LCA4NCwgNjksIAorICAgIDgyLCAxMjgsIDY3LCA3OSwgNzcsIDgwLCA3OSwgODMsIDczLCA4NCwgNzMsIDc5LCA3OCwgMTI4LCA2NywgNzksIDc3LCA4MCwgCisgICAgNzksIDgzLCA3MywgODQsIDczLCA3OSwgMjA2LCA2NywgNzksIDc3LCA4MCwgNzYsIDczLCA2NSwgNzgsIDY3LCA2OSwgMTI4LCAKKyAgICA2NywgNzksIDc3LCA4MCwgNzYsIDY5LCA4NCwgNzMsIDc5LCA3OCwgMTI4LCA2NywgNzksIDc3LCA4MCwgNzYsIDY5LCA4NCwgCisgICAgNjksIDY4LCAxMjgsIDY3LCA3OSwgNzcsIDgwLCA3NiwgNjksIDc3LCA2OSwgNzgsIDg0LCAxMjgsIDY3LCA3OSwgNzcsIDgwLCAKKyAgICA2NSwgODIsIDY5LCAxMjgsIDY3LCA3OSwgNzcsIDc3LCA3OSwgMjA2LCA2NywgNzksIDc3LCA3NywgNjksIDgyLCA2NywgNzMsIAorICAgIDY1LCAyMDQsIDY3LCA3OSwgNzcsIDc3LCA2NSwgNzgsIDY4LCAxMjgsIDY3LCA3OSwgNzcsIDc3LCA2NSwgMTI4LCA2NywgCisgICAgNzksIDc3LCA3NywgMTkzLCA2NywgNzksIDc3LCA2OSwgODQsIDEyOCwgNjcsIDc5LCA3NywgNjYsIDEyOCwgNjcsIDc5LCAKKyAgICA3NiwgODUsIDc3LCA3OCwgMTI4LCA2NywgNzksIDc2LCA3OSwgODIsIDEyOCwgNjcsIDc5LCA3NiwgNzYsIDczLCA4MywgNzMsIAorICAgIDc5LCAyMDYsIDY3LCA3OSwgNzYsIDc2LCAxMjgsIDY3LCA3OSwgNzYsIDE5NiwgNjcsIDc5LCA3MCwgNzAsIDczLCA3OCwgCisgICAgMTI4LCA2NywgNzksIDY5LCA3OCwgNzEsIDEyOCwgNjcsIDc5LCA2OSwgNzgsIDE5OSwgNjcsIDc5LCA2OCwgNjUsIDEyOCwgCisgICAgNjcsIDc5LCA2NywgNzUsIDg0LCA2NSwgNzMsIDIwNCwgNjcsIDc5LCA2NSwgODMsIDg0LCA2OSwgODIsIDEyOCwgNjcsIDc5LCAKKyAgICA2NSwgMTI4LCA2NywgNzksIDEyOCwgNjcsIDc3LCAxMjgsIDY3LCAyMDUsIDY3LCA3NiwgODUsIDgzLCA4NCwgNjksIDIxMCwgCisgICAgNjcsIDc2LCA4NSwgNjYsIDgzLCAxMjgsIDY3LCA3NiwgODUsIDY2LCA0NSwgODMsIDgwLCA3OSwgNzUsIDY5LCAxOTYsIDY3LCAKKyAgICA3NiwgODUsIDY2LCAxMjgsIDY3LCA3NiwgODUsIDE5NCwgNjcsIDc2LCA3OSwgODYsIDY5LCA4MiwgMTI4LCA2NywgNzYsIAorICAgIDc5LCA4NSwgNjgsIDEyOCwgNjcsIDc2LCA3OSwgODUsIDE5NiwgNjcsIDc2LCA3OSwgODQsIDcyLCA2OSwgODMsIDEyOCwgCisgICAgNjcsIDc2LCA3OSwgODQsIDcyLCAxMjgsIDY3LCA3NiwgNzksIDgzLCA2OSwgODQsIDEyOCwgNjcsIDc2LCA3OSwgODMsIDY5LCAKKyAgICA3OCwgNjksIDgzLCA4MywgMTI4LCA2NywgNzYsIDc5LCA4MywgNjksIDY4LCAxMjgsIDY3LCA3NiwgNzksIDgzLCAxOTcsIAorICAgIDY3LCA3NiwgNzksIDY3LCA3NSwgODcsIDczLCA4MywgMTk3LCA2NywgNzYsIDc5LCA2NywgMjAzLCA2NywgNzYsIDczLCA4NiwgCisgICAgNzMsIDgzLCAxMjgsIDY3LCA3NiwgNzMsIDgwLCA2NiwgNzksIDY1LCA4MiwgNjgsIDEyOCwgNjcsIDc2LCA3MywgNzgsIDc1LCAKKyAgICA3MywgNzgsIDE5OSwgNjcsIDc2LCA3MywgNzgsIDcxLCA3MywgNzgsIDE5OSwgNjcsIDc2LCA3MywgNzcsIDY1LCA2NywgODUsIAorICAgIDgzLCAxMjgsIDY3LCA3NiwgNzMsIDcwLCA3MCwgMTI4LCA2NywgNzYsIDczLCA2NywgNzUsIDEyOCwgNjcsIDc2LCA2OSwgCisgICAgNzAsIDQ1LCA1MCwgMTI4LCA2NywgNzYsIDY5LCA3MCwgNDUsIDQ5LCAxMjgsIDY3LCA3NiwgNjksIDcwLCAxMjgsIDY3LCAKKyAgICA3NiwgNjksIDE5OCwgNjcsIDc2LCA2OSwgNjUsIDg2LCA2OSwgODIsIDEyOCwgNjcsIDc2LCA2OSwgNjUsIDIxMCwgNjcsIAorICAgIDc2LCA2NSwgODcsIDEyOCwgNjcsIDc2LCA2NSwgODAsIDgwLCA3MywgNzgsIDE5OSwgNjcsIDc2LCA2NSwgODAsIDgwLCA2OSwgCisgICAgMjEwLCA2NywgNzYsIDY1LCA3OCwgMTI4LCA2NywgNzYsIDY1LCA3MywgNzcsIDEyOCwgNjcsIDc2LCAxMjgsIDY3LCA3MywgCisgICAgODgsIDEyOCwgNjcsIDczLCA4NiwgNzMsIDc2LCA3MywgNjUsIDc4LCAxMjgsIDY3LCA3MywgODQsIDg5LCA4MywgNjcsIDY1LCAKKyAgICA4MCwgMTk3LCA2NywgNzMsIDg0LCAxMjgsIDY3LCA3MywgODIsIDY3LCA4NSwgMjExLCA2NywgNzMsIDgyLCA2NywgODUsIAorICAgIDc3LCA3MCwgNzYsIDY5LCA4OCwgMTI4LCA2NywgNzMsIDgyLCA2NywgODUsIDc3LCA3MCwgNzYsIDY5LCAyMTYsIDY3LCA3MywgCisgICAgODIsIDY3LCA4NSwgNzYsIDY1LCA4NCwgNzMsIDc5LCAyMDYsIDY3LCA3MywgODIsIDY3LCA3NiwgNjksIDgzLCAxMjgsIDY3LCAKKyAgICA3MywgODIsIDY3LCA3NiwgNjksIDEyOCwgNjcsIDczLCA4MCwgMTI4LCA2NywgNzMsIDc4LCA3OCwgNjUsIDY2LCA2NSwgODIsIAorICAgIDEyOCwgNjcsIDczLCA3OCwgNjksIDc3LCA2NSwgMTI4LCA2NywgNzMsIDczLCAxMjgsIDY3LCA3MywgNjksIDg4LCAxMjgsIAorICAgIDY3LCA3MywgNjksIDg1LCA2NywgNDUsIDgzLCA4MywgNjUsIDc4LCA3MSwgODAsIDczLCA2OSwgODUsIDgwLCAxMjgsIDY3LCAKKyAgICA3MywgNjksIDg1LCA2NywgNDUsIDgwLCA3MywgNjksIDg1LCA4MCwgMTI4LCA2NywgNzMsIDY5LCA4NSwgNjcsIDQ1LCA3MywgCisgICAgNjksIDg1LCA3OCwgNzEsIDEyOCwgNjcsIDczLCA2OSwgODUsIDE5NSwgNjcsIDczLCA2OSwgODQsIDEyOCwgNjcsIDczLCAKKyAgICA2OSwgODAsIDEyOCwgNjcsIDczLCA2OSwgMTI4LCA2NywgNzIsIDg5LCA4OCwgMTI4LCA2NywgNzIsIDg5LCA4NCwgMTI4LCAKKyAgICA2NywgNzIsIDg5LCA4MiwgODgsIDEyOCwgNjcsIDcyLCA4OSwgODIsIDEyOCwgNjcsIDcyLCA4OSwgODAsIDEyOCwgNjcsIAorICAgIDcyLCA4NSwgODgsIDEyOCwgNjcsIDcyLCA4NSwgODIsIDg4LCAxMjgsIDY3LCA3MiwgODUsIDgyLCA2NywgNzIsIDEyOCwgCisgICAgNjcsIDcyLCA4NSwgODIsIDEyOCwgNjcsIDcyLCA4NSwgODAsIDEyOCwgNjcsIDcyLCA4NSwgNzksIDg4LCAxMjgsIDY3LCAKKyAgICA3MiwgODUsIDc5LCA4NCwgMTI4LCA2NywgNzIsIDg1LCA3OSwgODAsIDEyOCwgNjcsIDcyLCA4NSwgNzksIDEyOCwgNjcsIAorICAgIDcyLCA4NSwgNzYsIDY1LCAxMjgsIDY3LCA3MiwgODUsIDEyOCwgNjcsIDcyLCA4MiwgODksIDgzLCA2NSwgNzgsIDg0LCA3MiwgCisgICAgNjksIDc3LCA4NSwgNzcsIDEyOCwgNjcsIDcyLCA4MiwgNzksIDc4LCA3OSwgODUsIDEyOCwgNjcsIDcyLCA4MiwgNzksIDc4LCAKKyAgICA3OSwgNzgsIDEyOCwgNjcsIDcyLCA4MiwgNzksIDc3LCAxOTMsIDY3LCA3MiwgODIsIDc5LCAxOTMsIDY3LCA3MiwgODIsIAorICAgIDczLCA4NiwgNzMsIDEyOCwgNjcsIDcyLCA4MiwgNzMsIDgzLCA4NCwgNzcsIDY1LCA4MywgMTI4LCA2NywgNzIsIDgyLCA3MywgCisgICAgODMsIDg0LCA3NywgNjUsIDIxMSwgNjcsIDcyLCA3OSwgODgsIDEyOCwgNjcsIDcyLCA3OSwgODQsIDEyOCwgNjcsIDcyLCAKKyAgICA3OSwgODIsIDY5LCA4NiwgNzcsIDE5MywgNjcsIDcyLCA3OSwgODAsIDEyOCwgNjcsIDcyLCA3OSwgNzUsIDY5LCAxMjgsIAorICAgIDY3LCA3MiwgNzksIDY5LCAxMjgsIDY3LCA3MiwgNzksIDY3LCA3OSwgNzYsIDY1LCA4NCwgMTk3LCA2NywgNzIsIDc5LCA2NSwgCiAgICAgMTI4LCA2NywgNzIsIDIwNywgNjcsIDcyLCA3MywgODQsIDg1LCA2OSwgODUsIDc3LCA4MywgODMsIDY1LCA3OCwgNzEsIDgzLCAKICAgICA3MywgNzksIDgzLCAxMjgsIDY3LCA3MiwgNzMsIDg0LCA4NSwgNjksIDg1LCA3NywgODMsIDgzLCA2NSwgNzgsIDcxLCA2NywgCiAgICAgNzMsIDY5LCA4NSwgNjcsIDEyOCwgNjcsIDcyLCA3MywgODQsIDg1LCA2OSwgODUsIDc3LCA4MywgNzMsIDc5LCA4MywgMTI4LCAKQEAgLTQwNTEsOTA3NSArNDIxNSw5NjA4IEBACiAgICAgMjExLCA2NywgNzIsIDY5LCA4MiwgODIsIDIxNywgNjcsIDcyLCA2OSwgODIsIDgyLCA3MywgNjksIDgzLCAxMjgsIDY3LCAKICAgICA3MiwgNjksIDgxLCA4NSwgNjksIDgyLCA2OSwgMTk2LCA2NywgNzIsIDY5LCA4MCwgMTI4LCA2NywgNzIsIDY5LCAyMDYsIAogICAgIDY3LCA3MiwgNjksIDczLCA3OCwgNjUsIDgwLCAxMjgsIDY3LCA3MiwgNjksIDczLCA3NSwgNzIsIDY5LCA3MywgMTI4LCA2NywgCi0gICAgNzIsIDY5LCA2OSwgODIsIDczLCA3OCwgMTk5LCA2NywgNzIsIDY5LCA2OSwgMTI4LCA2NywgNzIsIDY5LCA2NywgNzUsIAotICAgIDEyOCwgNjcsIDcyLCA2OSwgNjcsIDIwMywgNjcsIDcyLCAxOTcsIDY3LCA3MiwgNjUsIDg4LCAxMjgsIDY3LCA3MiwgNjUsIAotICAgIDg2LCA3MywgODksIDY1LCA3OCwgNzMsIDEyOCwgNjcsIDcyLCA2NSwgODQsIDg0LCA2NSwgODcsIDY1LCAxMjgsIDY3LCA3MiwgCi0gICAgNjUsIDg0LCAxMjgsIDY3LCA3MiwgNjUsIDgyLCA4NCwgMTI4LCA2NywgNzIsIDY1LCA4MiwgMjEyLCA2NywgNzIsIDY1LCAKLSAgICA4MiwgNzMsIDc5LCA4NCwgMTI4LCA2NywgNzIsIDY1LCA4MiwgNzMsIDc5LCAyMTIsIDY3LCA3MiwgNjUsIDgyLCA2NSwgNjcsIAotICAgIDg0LCA2OSwgODIsIDgzLCAxMjgsIDY3LCA3MiwgNjUsIDgyLCA2NSwgNjcsIDg0LCA2OSwgODIsIDEyOCwgNjcsIDcyLCA2NSwgCi0gICAgODIsIDEyOCwgNjcsIDcyLCA2NSwgODAsIDEyOCwgNjcsIDcyLCA2NSwgNzgsIDcxLCAxMjgsIDY3LCA3MiwgNjUsIDc4LCAKLSAgICAxMjgsIDY3LCA3MiwgNjUsIDc3LCA3NSwgNzksIDEyOCwgNjcsIDcyLCA2NSwgNzcsIDczLCA3NiwgNzksIDc4LCAxMjgsIAotICAgIDY3LCA3MiwgNjUsIDc3LCA3MywgNzYsIDczLCAxMjgsIDY3LCA3MiwgNjUsIDczLCA4MiwgMTI4LCA2NywgNzIsIDY1LCA3MywgCi0gICAgNzgsIDgzLCAxMjgsIDY3LCA3MiwgNjUsIDY4LCA2NSwgMTI4LCA2NywgNzIsIDY1LCAxOTYsIDY3LCA3MiwgNjUsIDY1LCAKLSAgICAxMjgsIDY3LCA2OSwgODgsIDEyOCwgNjcsIDY5LCA4MiwgNjksIDgzLCAxMjgsIDY3LCA2OSwgODIsIDY5LCA3NywgNzksIAotICAgIDc4LCA4OSwgMTI4LCA2NywgNjksIDgyLCA2OSwgNzUsIDEyOCwgNjcsIDY5LCA4MiwgNDUsIDg3LCA2NSwgMTI4LCA2NywgCi0gICAgNjksIDgwLCAxMjgsIDY3LCA2OSwgNzksIDc4LCA3MSwgNjcsIDcyLCA3MywgNjksIDg1LCA3NywgODMsIDgzLCA2NSwgNzgsIAotICAgIDcxLCA4MywgNzMsIDc5LCA4MywgMTI4LCA2NywgNjksIDc5LCA3OCwgNzEsIDY3LCA3MiwgNzMsIDY5LCA4NSwgNzcsIDgzLCAKLSAgICA4MywgNjUsIDc4LCA3MSwgNjcsIDczLCA2OSwgODUsIDY3LCAxMjgsIDY3LCA2OSwgNzksIDc4LCA3MSwgNjcsIDcyLCA3MywgCi0gICAgNjksIDg1LCA3NywgODMsIDczLCA3OSwgODMsIDEyOCwgNjcsIDY5LCA3OSwgNzgsIDcxLCA2NywgNzIsIDczLCA2OSwgODUsIAotICAgIDc3LCA2NywgNzMsIDY5LCA4NSwgNjcsIDEyOCwgNjcsIDY5LCA3OSwgNzgsIDcxLCA2NywgNzIsIDczLCA2OSwgODUsIDc3LCAKLSAgICA2NywgNzIsIDczLCA2OSwgODUsIDY3LCA3MiwgMTI4LCA2NywgNjksIDc4LCA4NCwgODUsIDgyLCA3MywgNjUsIDIwNCwgNjcsIAotICAgIDY5LCA3OCwgODQsIDgyLCA2OSwgNzYsIDczLCA3OCwgMTk3LCA2NywgNjksIDc4LCA4NCwgODIsIDY5LCAxOTYsIDY3LCA2OSwgCi0gICAgNzgsIDg0LCA4MiwgNjksIDEyOCwgNjcsIDY5LCA3OCwgODQsIDgyLCAxOTcsIDY3LCA2OSwgNzgsIDEyOCwgNjcsIDY5LCAKLSAgICA3NiwgODMsIDczLCA4NSwgODMsIDEyOCwgNjcsIDY5LCA3NiwgNjksIDY2LCA4MiwgNjUsIDg0LCA3MywgNzksIDc4LCAxMjgsIAotICAgIDY3LCA2OSwgNzMsIDgyLCA4NCwgMTI4LCA2NywgNjksIDczLCA3NiwgNzMsIDc4LCA3MSwgMTI4LCA2NywgNjksIDY5LCAKLSAgICAxMjgsIDY3LCA2OSwgNjgsIDczLCA3NiwgNzYsIDY1LCAxMjgsIDY3LCA2OSwgNjgsIDczLCA3NiwgNzYsIDE5MywgNjcsIAotICAgIDY5LCA2OCwgMjAxLCA2NywgNjksIDY3LCA2OSwgNzUsIDEyOCwgNjcsIDY5LCA2NywgNjUsIDc1LCAxMjgsIDY3LCA2OSwgCi0gICAgNjcsIDY1LCAyMDMsIDY3LCA2OSwgNjUsIDc2LCA2NywgMTI4LCA2NywgNjcsIDg1LCAxMjgsIDY3LCA2NywgNzksIDEyOCwgCi0gICAgNjcsIDY3LCA3MywgMTI4LCA2NywgNjcsIDcyLCA4NSwgMTI4LCA2NywgNjcsIDcyLCA3OSwgMTI4LCA2NywgNjcsIDcyLCAKLSAgICA3MywgMTI4LCA2NywgNjcsIDcyLCA3MiwgODUsIDEyOCwgNjcsIDY3LCA3MiwgNzIsIDc5LCAxMjgsIDY3LCA2NywgNzIsIAotICAgIDcyLCA3MywgMTI4LCA2NywgNjcsIDcyLCA3MiwgNjksIDY5LCAxMjgsIDY3LCA2NywgNzIsIDcyLCA2OSwgMTI4LCA2NywgCi0gICAgNjcsIDcyLCA3MiwgNjUsIDY1LCAxMjgsIDY3LCA2NywgNzIsIDcyLCA2NSwgMTI4LCA2NywgNjcsIDcyLCA2OSwgNjksIAorICAgIDcyLCA2OSwgNzMsIDc1LCA3MiwgNjUsIDc4LCAxMjgsIDY3LCA3MiwgNjksIDY5LCA4MiwgNzMsIDc4LCAxOTksIDY3LCA3MiwgCisgICAgNjksIDY5LCAxMjgsIDY3LCA3MiwgNjksIDY3LCA3NSwgMTI4LCA2NywgNzIsIDY5LCA2NywgMjAzLCA2NywgNzIsIDE5NywgCisgICAgNjcsIDcyLCA2NSwgODgsIDEyOCwgNjcsIDcyLCA2NSwgODYsIDczLCA4OSwgNjUsIDc4LCA3MywgMTI4LCA2NywgNzIsIDY1LCAKKyAgICA4NCwgODQsIDY1LCA4NywgNjUsIDEyOCwgNjcsIDcyLCA2NSwgODQsIDEyOCwgNjcsIDcyLCA2NSwgODIsIDg0LCAxMjgsIAorICAgIDY3LCA3MiwgNjUsIDgyLCAyMTIsIDY3LCA3MiwgNjUsIDgyLCA3MywgNzksIDg0LCAxMjgsIDY3LCA3MiwgNjUsIDgyLCA3MywgCisgICAgNzksIDIxMiwgNjcsIDcyLCA2NSwgODIsIDY1LCA2NywgODQsIDY5LCA4MiwgODMsIDEyOCwgNjcsIDcyLCA2NSwgODIsIDY1LCAKKyAgICA2NywgODQsIDY5LCA4MiwgMTI4LCA2NywgNzIsIDY1LCA4MiwgMTI4LCA2NywgNzIsIDY1LCA4MCwgMTI4LCA2NywgNzIsIAorICAgIDY1LCA3OCwgNzEsIDEyOCwgNjcsIDcyLCA2NSwgNzgsIDEyOCwgNjcsIDcyLCA2NSwgNzcsIDc1LCA3OSwgMTI4LCA2NywgCisgICAgNzIsIDY1LCA3NywgNzMsIDc2LCA3OSwgNzgsIDEyOCwgNjcsIDcyLCA2NSwgNzcsIDczLCA3NiwgNzMsIDEyOCwgNjcsIDcyLCAKKyAgICA2NSwgNzUsIDc3LCAxOTMsIDY3LCA3MiwgNjUsIDczLCA4MiwgMTI4LCA2NywgNzIsIDY1LCA3MywgNzgsIDgzLCAxMjgsIAorICAgIDY3LCA3MiwgNjUsIDY4LCA2NSwgMTI4LCA2NywgNzIsIDY1LCAxOTYsIDY3LCA3MiwgNjUsIDY1LCAxMjgsIDY3LCA3MSwgCisgICAgNzQsIDEyOCwgNjcsIDY5LCA4OCwgMTI4LCA2NywgNjksIDgyLCA2OSwgODMsIDEyOCwgNjcsIDY5LCA4MiwgNjksIDc3LCAKKyAgICA3OSwgNzgsIDg5LCAxMjgsIDY3LCA2OSwgODIsIDY5LCA3NSwgMTI4LCA2NywgNjksIDgyLCA0NSwgODcsIDY1LCAxMjgsIAorICAgIDY3LCA2OSwgODAsIDEyOCwgNjcsIDY5LCA3OSwgNzgsIDcxLCA2NywgNzIsIDczLCA2OSwgODUsIDc3LCA4MywgODMsIDY1LCAKKyAgICA3OCwgNzEsIDgzLCA3MywgNzksIDgzLCAxMjgsIDY3LCA2OSwgNzksIDc4LCA3MSwgNjcsIDcyLCA3MywgNjksIDg1LCA3NywgCisgICAgODMsIDgzLCA2NSwgNzgsIDcxLCA2NywgNzMsIDY5LCA4NSwgNjcsIDEyOCwgNjcsIDY5LCA3OSwgNzgsIDcxLCA2NywgNzIsIAorICAgIDczLCA2OSwgODUsIDc3LCA4MywgNzMsIDc5LCA4MywgMTI4LCA2NywgNjksIDc5LCA3OCwgNzEsIDY3LCA3MiwgNzMsIDY5LCAKKyAgICA4NSwgNzcsIDY3LCA3MywgNjksIDg1LCA2NywgMTI4LCA2NywgNjksIDc5LCA3OCwgNzEsIDY3LCA3MiwgNzMsIDY5LCA4NSwgCisgICAgNzcsIDY3LCA3MiwgNzMsIDY5LCA4NSwgNjcsIDcyLCAxMjgsIDY3LCA2OSwgNzgsIDg0LCA4NSwgODIsIDczLCA2NSwgMjA0LCAKKyAgICA2NywgNjksIDc4LCA4NCwgODIsIDY5LCA3NiwgNzMsIDc4LCAxOTcsIDY3LCA2OSwgNzgsIDg0LCA4MiwgNjksIDE5NiwgNjcsIAorICAgIDY5LCA3OCwgODQsIDgyLCA2OSwgMTI4LCA2NywgNjksIDc4LCA4NCwgODIsIDE5NywgNjcsIDY5LCA3OCwgMTI4LCA2NywgCisgICAgNjksIDc2LCA4MywgNzMsIDg1LCA4MywgMTI4LCA2NywgNjksIDc2LCA2OSwgNjYsIDgyLCA2NSwgODQsIDczLCA3OSwgNzgsIAorICAgIDEyOCwgNjcsIDY5LCA3MywgODIsIDg0LCAxMjgsIDY3LCA2OSwgNzMsIDc2LCA3MywgNzgsIDcxLCAxMjgsIDY3LCA2OSwgCisgICAgNjksIDEyOCwgNjcsIDY5LCA2OCwgNzMsIDc2LCA3NiwgNjUsIDEyOCwgNjcsIDY5LCA2OCwgNzMsIDc2LCA3NiwgMTkzLCAKKyAgICA2NywgNjksIDY4LCAyMDEsIDY3LCA2OSwgNjcsIDY5LCA3NSwgMTI4LCA2NywgNjksIDY3LCA2NSwgNzUsIDEyOCwgNjcsIAorICAgIDY5LCA2NywgNjUsIDIwMywgNjcsIDY5LCA2NSwgNzYsIDY3LCAxMjgsIDY3LCA2NywgODUsIDEyOCwgNjcsIDY3LCA3OSwgCisgICAgMTI4LCA2NywgNjcsIDczLCAxMjgsIDY3LCA2NywgNzIsIDg1LCAxMjgsIDY3LCA2NywgNzIsIDc5LCAxMjgsIDY3LCA2NywgCisgICAgNzIsIDczLCAxMjgsIDY3LCA2NywgNzIsIDcyLCA4NSwgMTI4LCA2NywgNjcsIDcyLCA3MiwgNzksIDEyOCwgNjcsIDY3LCAKKyAgICA3MiwgNzIsIDczLCAxMjgsIDY3LCA2NywgNzIsIDcyLCA2OSwgNjksIDEyOCwgNjcsIDY3LCA3MiwgNzIsIDY5LCAxMjgsIAorICAgIDY3LCA2NywgNzIsIDcyLCA2NSwgNjUsIDEyOCwgNjcsIDY3LCA3MiwgNzIsIDY1LCAxMjgsIDY3LCA2NywgNzIsIDY5LCA2OSwgCiAgICAgMTI4LCA2NywgNjcsIDcyLCA2OSwgMTI4LCA2NywgNjcsIDcyLCA2NSwgNjUsIDEyOCwgNjcsIDY3LCA3MiwgNjUsIDEyOCwgCi0gICAgNjcsIDY3LCA2OSwgNjksIDEyOCwgNjcsIDY3LCA2OSwgMTI4LCA2NywgNjcsIDY1LCA2NSwgMTI4LCA2NywgNjcsIDY1LCAKLSAgICAxMjgsIDY3LCA2NSwgODksIDc4LCAxMjgsIDY3LCA2NSwgODksIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDY3LCA2NSwgODgsIAotICAgIDEyOCwgNjcsIDY1LCA4NiwgNjksIDEyOCwgNjcsIDY1LCA4NSwgODQsIDczLCA3OSwgMjA2LCA2NywgNjUsIDg1LCA3NiwgCi0gICAgNjgsIDgyLCA3OSwgNzgsIDEyOCwgNjcsIDY1LCA4NSwgNjgsIDY1LCAxMjgsIDY3LCA2NSwgODQsIDY1LCA4NywgNjUsIAotICAgIDEyOCwgNjcsIDY1LCA4NCwgMTI4LCA2NywgNjUsIDIxMiwgNjcsIDY1LCA4MywgODQsIDc2LCA2OSwgMTI4LCA2NywgNjUsIAotICAgIDgyLCA4OSwgODMsIDg0LCA3MywgNjUsIDIwNiwgNjcsIDY1LCA4MiwgODQsIDEyOCwgNjcsIDY1LCA4MiwgMjExLCA2NywgCi0gICAgNjUsIDgyLCA4MiwgNzMsIDY1LCA3MSwgMTk3LCA2NywgNjUsIDgyLCA4MCwgNjksIDc4LCA4NCwgODIsIDIxNywgNjcsIDY1LCAKLSAgICA4MiwgMjA4LCA2NywgNjUsIDgyLCA3OSwgODUsIDgzLCA2OSwgMjA0LCA2NywgNjUsIDgyLCA3OSwgNzgsIDEyOCwgNjcsIAotICAgIDY1LCA4MiwgNzksIDIwNiwgNjcsIDY1LCA4MiwgNzMsIDIwMywgNjcsIDY1LCA4MiwgNzMsIDY1LCAyMDYsIDY3LCA2NSwgCi0gICAgODIsIDY5LCA4NCwgMTI4LCA2NywgNjUsIDgyLCA2OSwgMjEyLCA2NywgNjUsIDgyLCAxOTcsIDY3LCA2NSwgODIsIDY4LCAKLSAgICA4MywgMTI4LCA2NywgNjUsIDgyLCA2OCwgMTI4LCA2NywgNjUsIDgyLCAxOTYsIDY3LCA2NSwgODIsIDEyOCwgNjcsIDY1LCAKLSAgICAyMTAsIDY3LCA2NSwgODAsIDg1LCAyMTIsIDY3LCA2NSwgODAsIDg0LCA3MywgODYsIDY5LCAxMjgsIDY3LCA2NSwgODAsIAotICAgIDgyLCA3MywgNjcsIDc5LCA4MiwgNzgsIDEyOCwgNjcsIDY1LCA4MCwgNzksIDEyOCwgNjcsIDY1LCA4MCwgNzMsIDg0LCA2NSwgCi0gICAgNzYsIDEyOCwgNjcsIDY1LCA3OCwgODQsIDczLCA3NiwgNzYsIDY1LCA4NCwgNzMsIDc5LCAyMDYsIDY3LCA2NSwgNzgsIAotICAgIDE5OSwgNjcsIDY1LCA3OCwgNjgsIDg5LCAxMjgsIDY3LCA2NSwgNzgsIDY4LCA4MiwgNjUsIDY2LCA3MywgNzgsIDY4LCA4NSwgCi0gICAgMTI4LCA2NywgNjUsIDc4LCA2OCwgODIsIDY1LCA2NiwgNzMsIDc4LCA2OCwgMjEzLCA2NywgNjUsIDc4LCA2OCwgODIsIDY1LCAKLSAgICAxMjgsIDY3LCA2NSwgNzgsIDY4LCA4MiwgMTkzLCA2NywgNjUsIDc4LCA2NywgNjksIDgyLCAxMjgsIDY3LCA2NSwgNzgsIAotICAgIDY3LCA2OSwgNzYsIDc2LCA2NSwgODQsIDczLCA3OSwgMjA2LCA2NywgNjUsIDc4LCA2NywgNjksIDc2LCAxMjgsIDY3LCA2NSwgCi0gICAgNzgsIDY3LCA2OSwgMjA0LCA2NywgNjUsIDc4LCAxMjgsIDY3LCA2NSwgNzcsIDc4LCA4NSwgMTk1LCA2NywgNjUsIDc3LCAKLSAgICA2OSwgODIsIDY1LCAxMjgsIDY3LCA2NSwgNzcsIDY5LCA3NiwgMTI4LCA2NywgNjUsIDc2LCA4OSwgNjUsIDEyOCwgNjcsIAotICAgIDY1LCA3NiwgODksIDE5MywgNjcsIDY1LCA3NiwgODgsIDEyOCwgNjcsIDY1LCA3NiwgNzYsIDEyOCwgNjcsIDY1LCA3NiwgCi0gICAgNjksIDc4LCA2OCwgNjUsIDgyLCAxMjgsIDY3LCA2NSwgNzYsIDY3LCAxMjgsIDY3LCA2NSwgNzUsIDgyLCA2NSwgMTI4LCAKLSAgICA2NywgNjUsIDc1LCAxOTcsIDY3LCA2NSwgNjksIDgzLCA4NSwgODIsIDY1LCAxMjgsIDY3LCA2NSwgNjgsIDg1LCA2NywgNjksIAotICAgIDg1LCA4MywgMTI4LCA2NywgNjUsIDY4LCAxOTMsIDY3LCA2NSwgNjcsIDg0LCA4NSwgODMsIDEyOCwgNjcsIDY1LCA2NiwgCi0gICAgNzYsIDY5LCA4NywgNjUsIDg5LCAxMjgsIDY3LCA2NSwgNjYsIDY2LCA2NSwgNzEsIDY5LCA0NSwgODQsIDgyLCA2OSwgNjksIAotICAgIDEyOCwgNjcsIDY1LCA2NSwgNzgsIDcxLCAxMjgsIDY3LCA2NSwgNjUsIDczLCAxMjgsIDY3LCAxOTMsIDY3LCA0OCwgNTAsIAotICAgIDUyLCAxMjgsIDY3LCA0OCwgNTAsIDUxLCAxMjgsIDY3LCA0OCwgNTAsIDUwLCAxMjgsIDY3LCA0OCwgNTAsIDQ5LCAxMjgsIAotICAgIDY3LCA0OCwgNTAsIDQ4LCAxMjgsIDY3LCA0OCwgNDksIDU3LCAxMjgsIDY3LCA0OCwgNDksIDU2LCAxMjgsIDY3LCA0OCwgCi0gICAgNDksIDU1LCAxMjgsIDY3LCA0OCwgNDksIDU0LCAxMjgsIDY3LCA0OCwgNDksIDUzLCAxMjgsIDY3LCA0OCwgNDksIDUyLCAKLSAgICAxMjgsIDY3LCA0OCwgNDksIDUxLCAxMjgsIDY3LCA0OCwgNDksIDUwLCAxMjgsIDY3LCA0OCwgNDksIDQ5LCAxMjgsIDY3LCAKLSAgICA0OCwgNDksIDQ4LCA2NSwgMTI4LCA2NywgNDgsIDQ5LCA0OCwgMTI4LCA2NywgNDgsIDQ4LCA1NywgMTI4LCA2NywgNDgsIAotICAgIDQ4LCA1NiwgMTI4LCA2NywgNDgsIDQ4LCA1NSwgMTI4LCA2NywgNDgsIDQ4LCA1NCwgMTI4LCA2NywgNDgsIDQ4LCA1MywgCi0gICAgMTI4LCA2NywgNDgsIDQ4LCA1MiwgMTI4LCA2NywgNDgsIDQ4LCA1MSwgMTI4LCA2NywgNDgsIDQ4LCA1MCwgNjcsIDEyOCwgCi0gICAgNjcsIDQ4LCA0OCwgNTAsIDY2LCAxMjgsIDY3LCA0OCwgNDgsIDUwLCA2NSwgMTI4LCA2NywgNDgsIDQ4LCA1MCwgMTI4LCAKLSAgICA2NywgNDgsIDQ4LCA0OSwgMTI4LCA2NywgNDUsIDgzLCA3MywgNzcsIDgwLCA3NiwgNzMsIDcwLCA3MywgNjksIDE5NiwgNjcsIAotICAgIDQ1LCA1MSwgNTcsIDEyOCwgNjcsIDQ1LCA0OSwgNTYsIDEyOCwgNjYsIDkwLCA4NSwgNzgsIDE5OSwgNjYsIDkwLCA3MiwgCi0gICAgMjAxLCA2NiwgODksIDY5LCA3NiwgNzksIDgyLCA4NSwgODMsIDgzLCA3MywgNjUsIDc4LCA0NSwgODUsIDc1LCA4MiwgNjUsIAotICAgIDczLCA3OCwgNzMsIDY1LCAyMDYsIDY2LCA4OCwgNzEsIDEyOCwgNjYsIDg3LCA3MywgMTI4LCA2NiwgODcsIDY5LCA2OSwgCi0gICAgMTI4LCA2NiwgODcsIDY5LCAxMjgsIDY2LCA4NywgNjUsIDEyOCwgNjYsIDg1LCA4NSwgNzcsIDczLCA4MywgNzIsIDEyOCwgCi0gICAgNjYsIDg1LCA4NCwgODQsIDc5LCA3OCwgMTI4LCA2NiwgODUsIDIxMiwgNjYsIDg1LCA4MywgODQsIDIxMSwgNjYsIDg1LCAKLSAgICA4MywgMjEyLCA2NiwgODUsIDgzLCA4MywgODksIDY5LCA4MiwgODUsIDEyOCwgNjYsIDg1LCAyMTEsIDY2LCA4NSwgODIsIAotICAgIDIxMywgNjYsIDg1LCA4MiwgNTAsIDEyOCwgNjYsIDg1LCAyMTAsIDY2LCA4NSwgNzksIDg4LCAxMjgsIDY2LCA4NSwgNzksIAotICAgIDgwLCAxMjgsIDY2LCA4NSwgNzgsIDc4LCAyMTcsIDY2LCA4NSwgNzgsIDcxLCAxMjgsIDY2LCA4NSwgNzcsIDgwLCAyMTcsIAotICAgIDY2LCA4NSwgNzYsIDg1LCA3MSwgMTI4LCA2NiwgODUsIDc2LCA4NSwgMTk5LCA2NiwgODUsIDc2LCA3NiwgODMsIDY5LCA4OSwgCi0gICAgNjksIDEyOCwgNjYsIDg1LCA3NiwgNzYsIDIxMSwgNjYsIDg1LCA3NiwgNzYsIDY5LCA4NCwgMTI4LCA2NiwgODUsIDc2LCAKLSAgICA3NiwgNjksIDIxMiwgNjYsIDg1LCA3NiwgNzYsIDEyOCwgNjYsIDg1LCA3NiwgNjYsIDEyOCwgNjYsIDg1LCA3NSwgODksIAotICAgIDEyOCwgNjYsIDg1LCA3MywgNzYsIDY4LCA3MywgNzgsIDcxLCA4MywgMTI4LCA2NiwgODUsIDczLCA3NiwgNjgsIDczLCA3OCwgCi0gICAgNzEsIDEyOCwgNjYsIDg1LCA3MiwgNzMsIDE5NiwgNjYsIDg1LCA3MSwgNzMsIDc4LCA2OSwgODMsIDE5NywgNjYsIDg1LCAKLSAgICA3MSwgMTI4LCA2NiwgODUsIDcwLCA3MCwgNjUsIDc2LCA3OSwgMTI4LCA2NiwgODUsIDY3LCA3NSwgNzYsIDY5LCAxMjgsIAotICAgIDY2LCA4MywgODQsIDY1LCA4MiwgMTI4LCA2NiwgODMsIDc1LCA4NSwgMjEwLCA2NiwgODMsIDc1LCA2NSwgMTczLCA2NiwgCi0gICAgODMsIDY4LCA4NSwgMjExLCA2NiwgODIsIDg1LCA4MywgNzIsIDEyOCwgNjYsIDgyLCA4NSwgODMsIDIwMCwgNjYsIDgyLCAKLSAgICA3OSwgNzgsIDkwLCA2OSwgMTI4LCA2NiwgODIsIDc5LCA3NSwgNjksIDIwNiwgNjYsIDgyLCA3OSwgNjUsIDE5NiwgNjYsIAotICAgIDgyLCA3MywgODMsIDg0LCA3NiwgNjksIDEyOCwgNjYsIDgyLCA3MywgNzEsIDcyLCA4NCwgNzgsIDY5LCA4MywgMjExLCA2NiwgCi0gICAgODIsIDczLCA2OSwgNzAsIDY3LCA2NSwgODMsIDY5LCAxMjgsIDY2LCA4MiwgNzMsIDY4LCA3MSwgMTk3LCA2NiwgODIsIDczLCAKLSAgICA2OCwgMTk3LCA2NiwgODIsIDczLCA2NywgNzUsIDEyOCwgNjYsIDgyLCA2OSwgODYsIDczLCA4MywgMTI4LCA2NiwgODIsIAotICAgIDY5LCA4NiwgNjksIDQ1LCA3NywgNjUsIDY3LCA4MiwgNzksIDc4LCAxMjgsIDY2LCA4MiwgNjksIDg2LCAxOTcsIDY2LCA4MiwgCi0gICAgNjksIDY1LCA4NCwgMjAwLCA2NiwgODIsIDY5LCA2NSwgNzUsIDg0LCA3MiwgODIsIDc5LCA4NSwgNzEsIDcyLCAxMjgsIDY2LCAKLSAgICA4MiwgNjksIDY1LCA2OCwgMTI4LCA2NiwgODIsIDY4LCAxOTMsIDY2LCA4MiwgNjUsIDc4LCA2NywgNzIsIDczLCA3OCwgCi0gICAgMTk5LCA2NiwgODIsIDY1LCA3OCwgNjcsIDcyLCAxMjgsIDY2LCA4MiwgNjUsIDc4LCA2NywgMjAwLCA2NiwgODIsIDY1LCAKLSAgICA3NSwgNjcsIDY5LCA4NCwgMTI4LCA2NiwgODIsIDY1LCA2NywgNzUsIDY5LCA4NCwgNjksIDE5NiwgNjYsIDgyLCA2NSwgNjcsIAotICAgIDc1LCA2OSwgMjEyLCA2NiwgODIsIDY1LCA2NywgNjksIDEyOCwgNjYsIDgxLCAxMjgsIDY2LCA3OSwgODksIDEyOCwgNjYsIAotICAgIDc5LCA4NywgODQsIDczLCA2OSwgMTI4LCA2NiwgNzksIDg3LCA4NCwgNzMsIDE5NywgNjYsIDc5LCA4NywgNzYsIDczLCA3OCwgCi0gICAgNzEsIDEyOCwgNjYsIDc5LCA4NywgNzYsIDEyOCwgNjYsIDc5LCA4NywgNzMsIDc4LCAxOTksIDY2LCA3OSwgMjE1LCA2NiwgCi0gICAgNzksIDg1LCA4MSwgODUsIDY5LCA4NCwgMTI4LCA2NiwgNzksIDg1LCA3OCwgNjgsIDY1LCA4MiwgMjE3LCA2NiwgNzksIDg0LCAKLSAgICA4NCwgNzksIDc3LCA0NSwgNzYsIDczLCA3MSwgNzIsIDg0LCA2OSwgMTk2LCA2NiwgNzksIDg0LCA4NCwgNzksIDc3LCAxMjgsIAotICAgIDY2LCA3OSwgODQsIDg0LCA3OSwgMjA1LCA2NiwgNzksIDg0LCA4NCwgNzYsIDY5LCAxMjgsIDY2LCA3OSwgODQsIDg0LCA3NiwgCi0gICAgMTk3LCA2NiwgNzksIDg0LCAyMDAsIDY2LCA3OSwgODIsIDg1LCA4NCwgNzksIDEyOCwgNjYsIDc5LCA4MiwgNjUsIDg4LCAKLSAgICA0NSwgNTEsIDEyOCwgNjYsIDc5LCA4MiwgNjUsIDg4LCA0NSwgNTAsIDEyOCwgNjYsIDc5LCA4MiwgNjUsIDg4LCAxMjgsIAotICAgIDY2LCA3OSwgNzksIDg0LCA4MywgMTI4LCA2NiwgNzksIDc5LCA4NCwgMTI4LCA2NiwgNzksIDc5LCA3NywgNjksIDgyLCA2NSwgCi0gICAgNzgsIDcxLCAxMjgsIDY2LCA3OSwgNzksIDc1LCA4MywgMTI4LCA2NiwgNzksIDc5LCA3NSwgNzcsIDY1LCA4MiwgNzUsIAotICAgIDEyOCwgNjYsIDc5LCA3OSwgNzUsIDc3LCA2NSwgODIsIDIwMywgNjYsIDc5LCA3OCwgNjksIDEyOCwgNjYsIDc5LCA3NywgCi0gICAgNjYsIDEyOCwgNjYsIDc5LCA3NiwgODQsIDEyOCwgNjYsIDc5LCA3NiwgMjEyLCA2NiwgNzksIDY4LCA4OSwgMTI4LCA2NiwgCi0gICAgNzksIDY1LCA4MiwgMTI4LCA2NiwgNzksIDY1LCAxMjgsIDY2LCA3NiwgODUsIDY5LCAxMjgsIDY2LCA3NiwgODUsIDE5NywgCi0gICAgNjYsIDc2LCA3OSwgODcsIDcwLCA3MywgODMsIDcyLCAxMjgsIDY2LCA3NiwgNzksIDgzLCA4MywgNzksIDc3LCAxMjgsIDY2LCAKLSAgICA3NiwgNzksIDc5LCA2OCwgMTI4LCA2NiwgNzYsIDc5LCA3OCwgMTk2LCA2NiwgNzYsIDc5LCA2NywgNzUsIDEyOCwgNjYsIAotICAgIDc2LCA2OSwgNzgsIDY4LCA2OSwgMTk2LCA2NiwgNzYsIDY1LCA3OCwgNzUsIDEyOCwgNjYsIDc2LCA2NSwgNzgsIDIwMywgCi0gICAgNjYsIDc2LCA2NSwgNjgsIDE5NywgNjYsIDc2LCA2NSwgNjcsIDc1LCA3MCwgNzksIDc5LCAyMTIsIDY2LCA3NiwgNjUsIDY3LCAKLSAgICA3NSwgNDUsIDc2LCA2OSwgODQsIDg0LCA2OSwgMjEwLCA2NiwgNzYsIDY1LCA2NywgNzUsIDQ1LCA3MCwgNjksIDY1LCA4NCwgCi0gICAgNzIsIDY5LCA4MiwgNjksIDE5NiwgNjYsIDc2LCA2NSwgNjcsIDc1LCAxMjgsIDY2LCA3NSwgNjUsIDE3MywgNjYsIDczLCAKLSAgICA4NCwgODQsIDY5LCA4MiwgMTI4LCA2NiwgNzMsIDg0LCA3MywgNzgsIDE5OSwgNjYsIDczLCA4MywgNzcsIDg1LCA4NCwgCi0gICAgMjAwLCA2NiwgNzMsIDgzLCA3NywgNzMsIDc2LCA3NiwgNjUsIDIwMCwgNjYsIDczLCA4MywgNzIsIDc5LCA4MCwgMTI4LCAKLSAgICA2NiwgNzMsIDgzLCA2OSwgNjcsIDg0LCA3MywgNzgsIDE5OSwgNjYsIDczLCA4MywgNjUsIDcyLCAxMjgsIDY2LCA3MywgODIsIAotICAgIDg1LCAxMjgsIDY2LCA3MywgODIsIDg0LCA3MiwgNjgsIDY1LCAyMTcsIDY2LCA3MywgODIsIDcxLCA2NSwgMTI4LCA2NiwgCi0gICAgNzMsIDgyLCA2OCwgMTI4LCA2NiwgNzMsIDc5LCA3MiwgNjUsIDkwLCA2NSwgODIsIDE5NiwgNjYsIDczLCA3OCwgNzksIDY3LCAKLSAgICA4NSwgNzYsIDY1LCAyMTAsIDY2LCA3MywgNzgsIDY4LCA3MywgNzgsIDE5OSwgNjYsIDczLCA3OCwgNjgsIDczLCAxMjgsIAotICAgIDY2LCA3MywgNzgsIDY1LCA4MiwgMjE3LCA2NiwgNzMsIDc2LCA3NiwgNzMsIDY1LCA4MiwgNjgsIDgzLCAxMjgsIDY2LCA3MywgCi0gICAgNzYsIDY1LCA2NiwgNzMsIDY1LCAyMDQsIDY2LCA3MywgNzUsIDczLCA3OCwgNzMsIDEyOCwgNjYsIDczLCA3MSwgMTI4LCAKLSAgICA2NiwgNzMsIDE5OSwgNjYsIDczLCA2OSwgODQsIDEyOCwgNjYsIDczLCA2OCwgNjksIDc4LCA4NCwgNjUsIDIwNCwgNjYsIAotICAgIDczLCA2NywgODksIDY3LCA3NiwgNzMsIDgzLCA4NCwgMTI4LCA2NiwgNzMsIDY3LCA4OSwgNjcsIDc2LCA2OSwgODMsIDEyOCwgCi0gICAgNjYsIDczLCA2NywgODksIDY3LCA3NiwgNjksIDEyOCwgNjYsIDczLCA2NywgNjksIDgwLCA4MywgMTI4LCA2NiwgNzMsIDY2LCAKLSAgICA3NiwgNjksIDQ1LCA2NywgODIsIDY5LCAxOTcsIDY2LCA3MywgNjYsIDEyOCwgNjYsIDIwMSwgNjYsIDcyLCA4NSwgMTI4LCAKLSAgICA2NiwgNzIsIDc5LCA3OSwgMTI4LCA2NiwgNzIsIDc5LCAxMjgsIDY2LCA3MiwgNzMsIDEyOCwgNjYsIDcyLCA2OSwgODQsIAotICAgIDcyLCAxMjgsIDY2LCA3MiwgNjksIDY5LCAxMjgsIDY2LCA3MiwgNjksIDEyOCwgNjYsIDcyLCA2NSwgODQsIDg0LCA3MywgCi0gICAgODAsIDgyLCA3OSwgNzYsIDIxMywgNjYsIDcyLCA2NSwgNzcsIDEyOCwgNjYsIDcyLCA2NSwgMTI4LCA2NiwgNjksIDg5LCAKLSAgICA4OSwgNjUsIDc2LCAxMjgsIDY2LCA2OSwgODgsIDEyOCwgNjYsIDY5LCA4NiwgNjksIDgyLCA2NSwgNzEsIDY5LCAxMjgsIAotICAgIDY2LCA2OSwgODQsIDg3LCA2OSwgNjksIDc4LCAxMjgsIDY2LCA2OSwgODQsIDg3LCA2OSwgNjksIDIwNiwgNjYsIDY5LCA4NCwgCi0gICAgNzIsIDEyOCwgNjYsIDY5LCA4NCwgNjUsIDEyOCwgNjYsIDY5LCA4NCwgMTkzLCA2NiwgNjksIDIxMiwgNjYsIDY5LCA4MywgCi0gICAgNzMsIDY4LCAxOTcsIDY2LCA2OSwgODIsIDc1LCA2NSwgNzgsIDY1LCAyMDYsIDY2LCA2OSwgODIsIDY2LCA2OSwgMjEwLCAKLSAgICA2NiwgNjksIDgwLCAxMjgsIDY2LCA2OSwgNzksIDgyLCAxOTUsIDY2LCA2OSwgNzgsIDkwLCA2OSwgNzgsIDE5NywgNjYsIAotICAgIDY5LCA3OCwgODQsIDIwNywgNjYsIDY5LCA3OCwgNjgsIDY5LCAxMjgsIDY2LCA2OSwgNzgsIDY4LCAxMjgsIDY2LCA2OSwgCi0gICAgMjA2LCA2NiwgNjksIDc2LCA4NCwgMTI4LCA2NiwgNjksIDc2LCAyMTIsIDY2LCA2OSwgNzYsIDc5LCAyMTUsIDY2LCA2OSwgCi0gICAgNzYsIDc2LCAxMjgsIDY2LCA2OSwgNzYsIDIwNCwgNjYsIDY5LCA3NiwgNzEsIDg0LCA3MiwgNzksIDIxMCwgNjYsIDY5LCAKLSAgICA3MywgODQsIDcyLCAxMjgsIDY2LCA2OSwgNzIsIDczLCA3OCwgMTk2LCA2NiwgNjksIDcyLCA2OSwgNzIsIDEyOCwgNjYsIAotICAgIDY5LCA3MiwgNjksIDIwMCwgNjYsIDY5LCA3MiwgMTI4LCA2NiwgNjksIDIwMCwgNjYsIDY5LCA3MSwgNzMsIDc4LCA3OCwgCi0gICAgNzMsIDc4LCA3MSwgMTI4LCA2NiwgNjksIDcxLCA3MywgNzgsIDc4LCA2OSwgODIsIDEyOCwgNjYsIDY5LCA3MSwgNzMsIAotICAgIDIwNiwgNjYsIDY5LCA3MCwgNzksIDgyLCAxOTcsIDY2LCA2OSwgNjksIDg0LCA3NiwgNjksIDEyOCwgNjYsIDY5LCA2OSwgCi0gICAgODQsIDY1LCAxMjgsIDY2LCA2OSwgNjksIDIxMCwgNjYsIDY5LCA2OSwgNzIsIDczLCA4NiwgNjksIDEyOCwgNjYsIDY5LCAKLSAgICA2OSwgNzIsIDEyOCwgNjYsIDY5LCA2OSwgMjAwLCA2NiwgNjksIDY3LCA2NSwgODUsIDgzLCA2OSwgMTI4LCA2NiwgNjksIAotICAgIDY1LCA4NiwgNjksIDIxMCwgNjYsIDY5LCA2NSwgODQsIDczLCA3OCwgMTk5LCA2NiwgNjksIDY1LCA4NCwgMTI4LCA2NiwgCi0gICAgNjksIDY1LCAyMTAsIDY2LCA2OSwgNjUsIDc4LCAxMjgsIDY2LCA2OSwgNjUsIDc3LCA2OSwgMTk2LCA2NiwgNjcsIDY1LCAKLSAgICA2OCwgMTI4LCA2NiwgNjcsIDY1LCAxOTYsIDY2LCA2NiwgODksIDg4LCAxMjgsIDY2LCA2NiwgODksIDg0LCAxMjgsIDY2LCAKLSAgICA2NiwgODksIDgwLCAxMjgsIDY2LCA2NiwgODksIDEyOCwgNjYsIDY2LCA4NSwgODgsIDEyOCwgNjYsIDY2LCA4NSwgODQsIAotICAgIDEyOCwgNjYsIDY2LCA4NSwgODIsIDg4LCAxMjgsIDY2LCA2NiwgODUsIDgyLCAxMjgsIDY2LCA2NiwgODUsIDgwLCAxMjgsIAotICAgIDY2LCA2NiwgODUsIDc5LCA4OCwgMTI4LCA2NiwgNjYsIDg1LCA3OSwgODAsIDEyOCwgNjYsIDY2LCA4NSwgNzksIDEyOCwgCi0gICAgNjYsIDY2LCA4NSwgMTI4LCA2NiwgNjYsIDc5LCA4OCwgMTI4LCA2NiwgNjYsIDc5LCA4NCwgMTI4LCA2NiwgNjYsIDc5LCAKLSAgICA4MCwgMTI4LCA2NiwgNjYsIDc5LCAxMjgsIDY2LCA2NiwgNzMsIDg4LCAxMjgsIDY2LCA2NiwgNzMsIDgwLCAxMjgsIDY2LCAKLSAgICA2NiwgNzMsIDY5LCA4OCwgMTI4LCA2NiwgNjYsIDczLCA2OSwgODQsIDEyOCwgNjYsIDY2LCA3MywgNjksIDgwLCAxMjgsIAotICAgIDY2LCA2NiwgNzMsIDY5LCAxMjgsIDY2LCA2NiwgNzMsIDEyOCwgNjYsIDY2LCA2OSwgODgsIDEyOCwgNjYsIDY2LCA2OSwgCi0gICAgODAsIDEyOCwgNjYsIDY2LCA2OSwgNjksIDEyOCwgNjYsIDY2LCA2OSwgMTI4LCA2NiwgNjYsIDY1LCA4OCwgMTI4LCA2NiwgCi0gICAgNjYsIDY1LCA4NCwgMTI4LCA2NiwgNjYsIDY1LCA4MCwgMTI4LCA2NiwgNjYsIDY1LCA2NSwgMTI4LCA2NiwgNjYsIDY1LCAKLSAgICAxMjgsIDY2LCA2NSwgODksIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDY2LCA2NSwgODUsIDEyOCwgNjYsIDY1LCA4NCwgODQsIAotICAgIDY5LCA4MiwgODksIDEyOCwgNjYsIDY1LCA4NCwgNzIsIDg0LCA4NSwgNjYsIDEyOCwgNjYsIDY1LCA4NCwgNzIsIDY1LCA3NywgCi0gICAgNjUsIDgzLCA2NSwgODQsIDEyOCwgNjYsIDY1LCA4NCwgNzIsIDEyOCwgNjYsIDY1LCA4NCwgMjAwLCA2NiwgNjUsIDg0LCAKLSAgICA2NSwgMjAzLCA2NiwgNjUsIDgzLCA4MywgNjUsIDEyOCwgNjYsIDY1LCA4MywgNzUsIDY5LCA4NCwgNjYsIDY1LCA3NiwgCi0gICAgMjA0LCA2NiwgNjUsIDgzLCA3MiwgNzUsIDczLCAyMTAsIDY2LCA2NSwgODMsIDcyLCAxMjgsIDY2LCA2NSwgODMsIDY5LCAKLSAgICA2NiwgNjUsIDc2LCA3NiwgMTI4LCA2NiwgNjUsIDgzLCA2OSwgMTI4LCA2NiwgNjUsIDgzLCAxOTcsIDY2LCA2NSwgODIsIAotICAgIDgzLCAxMjgsIDY2LCA2NSwgODIsIDgyLCA3MywgNjksIDgyLCAxMjgsIDY2LCA2NSwgODIsIDgyLCA2OSwgNzUsIDcyLCAKLSAgICAxMjgsIDY2LCA2NSwgODIsIDgyLCA2OSwgNjksIDEyOCwgNjYsIDY1LCA4MiwgODIsIDY5LCAxOTcsIDY2LCA2NSwgODIsIAotICAgIDc2LCA3MywgNzgsIDY5LCAxMjgsIDY2LCA2NSwgODIsIDc2LCA2OSwgODksIDEyOCwgNjYsIDY1LCA4MiwgNzMsIDg5LCA3OSwgCi0gICAgNzksIDgzLCA2NSwgNzgsIDEyOCwgNjYsIDY1LCA4MiwgNjYsIDY5LCAyMTAsIDY2LCA2NSwgODIsIDY1LCA1MCwgMTI4LCAKLSAgICA2NiwgNjUsIDIxMCwgNjYsIDY1LCA3OCwgODQsIDc5LCA2NywgMTI4LCA2NiwgNjUsIDc4LCA3NSwgNzgsIDc5LCA4NCwgCi0gICAgMTk3LCA2NiwgNjUsIDc4LCA3NSwgMTI4LCA2NiwgNjUsIDc4LCAyMDMsIDY2LCA2NSwgNzgsIDY4LCAxMjgsIDY2LCA2NSwgCi0gICAgNzgsIDY1LCA3OCwgNjUsIDEyOCwgNjYsIDY1LCA3OCwgNTAsIDEyOCwgNjYsIDY1LCA3OCwgMTc4LCA2NiwgNjUsIDc3LCAKLSAgICA2NiwgNzksIDc5LCA4MywgMTI4LCA2NiwgNjUsIDc3LCA2NiwgNzksIDc5LCAxMjgsIDY2LCA2NSwgNzYsIDg1LCA2OCwgNjUsIAotICAgIDEyOCwgNjYsIDY1LCA3NiwgNzYsIDc5LCAyMTIsIDY2LCA2NSwgNzYsIDc2LCA3OSwgNzksIDc4LCA0NSwgODMsIDgwLCA3OSwgCi0gICAgNzUsIDY5LCAxOTYsIDY2LCA2NSwgNzYsIDc2LCA3OSwgNzksIDc4LCAxMjgsIDY2LCA2NSwgNzYsIDY1LCA3MSwgMTI4LCAKLSAgICA2NiwgNjUsIDc2LCAxMjgsIDY2LCA2NSwgMjA0LCA2NiwgNjUsIDczLCA4MiwgNzUsIDY1LCA3OCwgMTI4LCA2NiwgNjUsIAotICAgIDczLCA3NywgNjUsIDczLCAxMjgsIDY2LCA2NSwgNzIsIDg0LCAxMjgsIDY2LCA2NSwgNzIsIDczLCA4MiwgNzEsIDc5LCA3NywgCi0gICAgODUsIDc1LCA3MiwgNjUsIDEyOCwgNjYsIDY1LCA3MiwgNjUsIDgyLCA1MCwgMTI4LCA2NiwgNjUsIDcxLCA3MSwgNjUsIDcxLCAKLSAgICAxOTcsIDY2LCA2NSwgNzEsIDY1LCAxMjgsIDY2LCA2NSwgNzEsIDUxLCAxMjgsIDY2LCA2NSwgMTk5LCA2NiwgNjUsIDY4LCAKLSAgICA3MSwgNjksIDgyLCAxMjgsIDY2LCA2NSwgNjgsIDcxLCA2OSwgMTI4LCA2NiwgNjUsIDY4LCAxMjgsIDY2LCA2NSwgNjcsIAotICAgIDg0LCA4MiwgNzMsIDY1LCAyMDYsIDY2LCA2NSwgNjcsIDc1LCA4MywgODAsIDY1LCA2NywgNjksIDEyOCwgNjYsIDY1LCA2NywgCi0gICAgNzUsIDgzLCA3NiwgNjUsIDgzLCA3MiwgMTI4LCA2NiwgNjUsIDY3LCA3NSwgODMsIDc2LCA2NSwgODMsIDIwMCwgNjYsIDY1LCAKLSAgICA2NywgNzUsIDcyLCA2NSwgNzgsIDE5NiwgNjYsIDY1LCA2NywgNzUsIDQ1LCA4NCwgNzMsIDc2LCA4NCwgNjksIDE5NiwgNjYsIAotICAgIDY1LCA2NywgNzUsIDEyOCwgNjYsIDY1LCA2NywgMjAzLCA2NiwgNjUsIDY2LCA4OSwgMTI4LCA2NiwgNjUsIDY2LCAyMTcsIAotICAgIDY2LCA2NSwgNjUsIDgyLCA2OSwgODIsIDg1LCAxMjgsIDY2LCA1MSwgNDgsIDUzLCAxMjgsIDY2LCA1MCwgNTMsIDU3LCAKLSAgICAxMjgsIDY2LCA1MCwgNTMsIDU2LCAxMjgsIDY2LCA1MCwgNTMsIDU1LCAxMjgsIDY2LCA1MCwgNTMsIDU0LCAxMjgsIDY2LCAKLSAgICA1MCwgNTMsIDUzLCAxMjgsIDY2LCA1MCwgNTMsIDE4MCwgNjYsIDUwLCA1MywgNTEsIDEyOCwgNjYsIDUwLCA1MywgNTAsIAotICAgIDEyOCwgNjYsIDUwLCA1MywgNDksIDEyOCwgNjYsIDUwLCA1MywgNDgsIDEyOCwgNjYsIDUwLCA1MiwgNTcsIDEyOCwgNjYsIAotICAgIDUwLCA1MiwgNTYsIDEyOCwgNjYsIDUwLCA1MiwgMTgzLCA2NiwgNTAsIDUyLCA1NCwgMTI4LCA2NiwgNTAsIDUyLCA1MywgCi0gICAgMTI4LCA2NiwgNTAsIDUyLCAxNzksIDY2LCA1MCwgNTIsIDE3OCwgNjYsIDUwLCA1MiwgMTc3LCA2NiwgNTAsIDUyLCAxNzYsIAotICAgIDY2LCA1MCwgNTEsIDU0LCAxMjgsIDY2LCA1MCwgNTEsIDUyLCAxMjgsIDY2LCA1MCwgNTEsIDE3OSwgNjYsIDUwLCA1MSwgCi0gICAgNTAsIDEyOCwgNjYsIDUwLCA1MSwgMTc3LCA2NiwgNTAsIDUxLCAxNzYsIDY2LCA1MCwgNTAsIDU3LCAxMjgsIDY2LCA1MCwgCi0gICAgNTAsIDU2LCAxMjgsIDY2LCA1MCwgNTAsIDU1LCAxMjgsIDY2LCA1MCwgNTAsIDU0LCAxMjgsIDY2LCA1MCwgNTAsIDE4MSwgCi0gICAgNjYsIDUwLCA1MCwgNTAsIDEyOCwgNjYsIDUwLCA1MCwgNDksIDEyOCwgNjYsIDUwLCA1MCwgMTc2LCA2NiwgNTAsIDQ5LCAKLSAgICA1NywgMTI4LCA2NiwgNTAsIDQ5LCA1NiwgMTI4LCA2NiwgNTAsIDQ5LCA1NSwgMTI4LCA2NiwgNTAsIDQ5LCA1NCwgMTI4LCAKLSAgICA2NiwgNTAsIDQ5LCA1MywgMTI4LCA2NiwgNTAsIDQ5LCA1MiwgMTI4LCA2NiwgNTAsIDQ5LCA1MSwgMTI4LCA2NiwgNTAsIAotICAgIDQ5LCA1MCwgMTI4LCA2NiwgNTAsIDQ5LCA0OSwgMTI4LCA2NiwgNTAsIDQ5LCA0OCwgMTI4LCA2NiwgNTAsIDQ4LCA1NywgCi0gICAgMTI4LCA2NiwgNTAsIDQ4LCA1NiwgMTI4LCA2NiwgNTAsIDQ4LCA1NSwgMTI4LCA2NiwgNTAsIDQ4LCA1NCwgMTI4LCA2NiwgCi0gICAgNTAsIDQ4LCA1MywgMTI4LCA2NiwgNTAsIDQ4LCA1MiwgMTI4LCA2NiwgNTAsIDQ4LCA1MSwgMTI4LCA2NiwgNTAsIDQ4LCAKLSAgICA1MCwgMTI4LCA2NiwgNTAsIDQ4LCA0OSwgMTI4LCA2NiwgNTAsIDQ4LCA0OCwgMTI4LCA2NiwgNDksIDU3LCAxNzcsIDY2LCAKLSAgICA0OSwgNTcsIDQ4LCAxMjgsIDY2LCA0OSwgNTYsIDU3LCAxMjgsIDY2LCA0OSwgNTYsIDUzLCAxMjgsIDY2LCA0OSwgNTYsIAotICAgIDUyLCAxMjgsIDY2LCA0OSwgNTYsIDUxLCAxMjgsIDY2LCA0OSwgNTYsIDUwLCAxMjgsIDY2LCA0OSwgNTYsIDQ5LCAxMjgsIAotICAgIDY2LCA0OSwgNTYsIDQ4LCAxMjgsIDY2LCA0OSwgNTUsIDU3LCAxMjgsIDY2LCA0OSwgNTUsIDU2LCAxMjgsIDY2LCA0OSwgCi0gICAgNTUsIDU1LCAxMjgsIDY2LCA0OSwgNTUsIDE4MiwgNjYsIDQ5LCA1NSwgNTIsIDEyOCwgNjYsIDQ5LCA1NSwgMTc5LCA2NiwgCi0gICAgNDksIDU1LCA1MCwgMTI4LCA2NiwgNDksIDU1LCA0OSwgMTI4LCA2NiwgNDksIDU1LCA0OCwgMTI4LCA2NiwgNDksIDU0LCAKLSAgICA1NywgMTI4LCA2NiwgNDksIDU0LCA1NiwgMTI4LCA2NiwgNDksIDU0LCA1NSwgMTI4LCA2NiwgNDksIDU0LCA1NCwgMTI4LCAKLSAgICA2NiwgNDksIDU0LCA1MywgMTI4LCA2NiwgNDksIDU0LCA1MiwgMTI4LCA2NiwgNDksIDU0LCAxNzksIDY2LCA0OSwgNTQsIAotICAgIDE3OCwgNjYsIDQ5LCA1NCwgNDksIDEyOCwgNjYsIDQ5LCA1NCwgNDgsIDEyOCwgNjYsIDQ5LCA1MywgMTg1LCA2NiwgNDksIAotICAgIDUzLCA1NiwgMTI4LCA2NiwgNDksIDUzLCA1NSwgMTI4LCA2NiwgNDksIDUzLCAxODIsIDY2LCA0OSwgNTMsIDUzLCAxMjgsIAotICAgIDY2LCA0OSwgNTMsIDUyLCAxMjgsIDY2LCA0OSwgNTMsIDUxLCAxMjgsIDY2LCA0OSwgNTMsIDUwLCAxMjgsIDY2LCA0OSwgCi0gICAgNTMsIDE3NywgNjYsIDQ5LCA1MywgNDgsIDEyOCwgNjYsIDQ5LCA1MiwgNTQsIDEyOCwgNjYsIDQ5LCA1MiwgMTgxLCA2NiwgCi0gICAgNDksIDUyLCA1MCwgMTI4LCA2NiwgNDksIDUyLCAxNzcsIDY2LCA0OSwgNTIsIDE3NiwgNjYsIDQ5LCA1MSwgMTgxLCA2NiwgCi0gICAgNDksIDUxLCAxNzksIDY2LCA0OSwgNTEsIDUwLCAxMjgsIDY2LCA0OSwgNTEsIDE3NywgNjYsIDQ5LCA1MSwgMTc2LCA2NiwgCi0gICAgNDksIDUwLCAxODQsIDY2LCA0OSwgNTAsIDE4MywgNjYsIDQ5LCA1MCwgMTgxLCA2NiwgNDksIDUwLCAxNzksIDY2LCA0OSwgCi0gICAgNTAsIDE3OCwgNjYsIDQ5LCA1MCwgMTc3LCA2NiwgNDksIDUwLCAxNzYsIDY2LCA0OSwgNDgsIDU3LCAyMDUsIDY2LCA0OSwgCi0gICAgNDgsIDU3LCAxOTgsIDY2LCA0OSwgNDgsIDU2LCAyMDUsIDY2LCA0OSwgNDgsIDU2LCAxOTgsIDY2LCA0OSwgNDgsIDU1LCAKLSAgICAyMDUsIDY2LCA0OSwgNDgsIDU1LCAxOTgsIDY2LCA0OSwgNDgsIDU0LCAyMDUsIDY2LCA0OSwgNDgsIDU0LCAxOTgsIDY2LCAKLSAgICA0OSwgNDgsIDUzLCAyMDUsIDY2LCA0OSwgNDgsIDUzLCAxOTgsIDY2LCA0OSwgNDgsIDE4MSwgNjYsIDQ5LCA0OCwgMTgwLCAKLSAgICA2NiwgNDksIDQ4LCAxNzgsIDY2LCA0OSwgNDgsIDE3NiwgNjYsIDQ4LCA1NywgMTc3LCA2NiwgNDgsIDU3LCAxNzYsIDY2LCAKLSAgICA0OCwgNTYsIDU3LCAxMjgsIDY2LCA0OCwgNTYsIDE4MywgNjYsIDQ4LCA1NiwgNTQsIDEyOCwgNjYsIDQ4LCA1NiwgMTgxLCAKLSAgICA2NiwgNDgsIDU2LCA1MSwgMTI4LCA2NiwgNDgsIDU2LCA1MCwgMTI4LCA2NiwgNDgsIDU2LCAxNzcsIDY2LCA0OCwgNTYsIAotICAgIDE3NiwgNjYsIDQ4LCA1NSwgNTcsIDEyOCwgNjYsIDQ4LCA1NSwgMTg0LCA2NiwgNDgsIDU1LCAxODMsIDY2LCA0OCwgNTUsIAotICAgIDE4MiwgNjYsIDQ4LCA1NSwgMTgxLCA2NiwgNDgsIDU1LCAxODAsIDY2LCA0OCwgNTUsIDE3OSwgNjYsIDQ4LCA1NSwgMTc4LCAKLSAgICA2NiwgNDgsIDU1LCAxNzcsIDY2LCA0OCwgNTUsIDE3NiwgNjYsIDQ4LCA1NCwgMTg1LCA2NiwgNDgsIDU0LCAxODQsIDY2LCAKLSAgICA0OCwgNTQsIDE4MywgNjYsIDQ4LCA1NCwgMTgyLCA2NiwgNDgsIDU0LCAxODEsIDY2LCA0OCwgNTQsIDUyLCAxMjgsIDY2LCAKLSAgICA0OCwgNTQsIDUxLCAxMjgsIDY2LCA0OCwgNTQsIDE3OCwgNjYsIDQ4LCA1NCwgMTc3LCA2NiwgNDgsIDU0LCAxNzYsIDY2LCAKLSAgICA0OCwgNTMsIDE4NSwgNjYsIDQ4LCA1MywgMTg0LCA2NiwgNDgsIDUzLCAxODMsIDY2LCA0OCwgNTMsIDU0LCAxMjgsIDY2LCAKLSAgICA0OCwgNTMsIDE4MSwgNjYsIDQ4LCA1MywgMTgwLCA2NiwgNDgsIDUzLCAxNzksIDY2LCA0OCwgNTMsIDE3OCwgNjYsIDQ4LCAKLSAgICA1MywgMTc3LCA2NiwgNDgsIDUzLCAxNzYsIDY2LCA0OCwgNTIsIDU3LCAxMjgsIDY2LCA0OCwgNTIsIDE4NCwgNjYsIDQ4LCAKLSAgICA1MiwgNTUsIDEyOCwgNjYsIDQ4LCA1MiwgMTgyLCA2NiwgNDgsIDUyLCAxODEsIDY2LCA0OCwgNTIsIDE4MCwgNjYsIDQ4LCAKLSAgICA1MiwgMTc5LCA2NiwgNDgsIDUyLCAxNzgsIDY2LCA0OCwgNTIsIDE3NywgNjYsIDQ4LCA1MiwgMTc2LCA2NiwgNDgsIDUxLCAKLSAgICAxODUsIDY2LCA0OCwgNTEsIDE4NCwgNjYsIDQ4LCA1MSwgMTgzLCA2NiwgNDgsIDUxLCAxODIsIDY2LCA0OCwgNTEsIDUyLCAKLSAgICAxMjgsIDY2LCA0OCwgNTEsIDE3OSwgNjYsIDQ4LCA1MSwgMTc4LCA2NiwgNDgsIDUxLCAxNzcsIDY2LCA0OCwgNTEsIDE3NiwgCi0gICAgNjYsIDQ4LCA1MCwgMTg1LCA2NiwgNDgsIDUwLCAxODQsIDY2LCA0OCwgNTAsIDE4MywgNjYsIDQ4LCA1MCwgMTgyLCA2NiwgCi0gICAgNDgsIDUwLCAxODEsIDY2LCA0OCwgNTAsIDE4MCwgNjYsIDQ4LCA1MCwgMTc5LCA2NiwgNDgsIDUwLCA1MCwgMTI4LCA2NiwgCi0gICAgNDgsIDUwLCAxNzcsIDY2LCA0OCwgNTAsIDE3NiwgNjYsIDQ4LCA0OSwgNTcsIDEyOCwgNjYsIDQ4LCA0OSwgNTYsIDEyOCwgCi0gICAgNjYsIDQ4LCA0OSwgMTgzLCA2NiwgNDgsIDQ5LCAxODIsIDY2LCA0OCwgNDksIDE4MSwgNjYsIDQ4LCA0OSwgMTgwLCA2NiwgCi0gICAgNDgsIDQ5LCAxNzksIDY2LCA0OCwgNDksIDE3OCwgNjYsIDQ4LCA0OSwgMTc3LCA2NiwgNDgsIDQ5LCAxNzYsIDY2LCA0OCwgCi0gICAgNDgsIDU3LCAxMjgsIDY2LCA0OCwgNDgsIDE4NSwgNjYsIDQ4LCA0OCwgNTYsIDEyOCwgNjYsIDQ4LCA0OCwgMTg0LCA2NiwgCi0gICAgNDgsIDQ4LCA1NSwgMTI4LCA2NiwgNDgsIDQ4LCAxODMsIDY2LCA0OCwgNDgsIDU0LCAxMjgsIDY2LCA0OCwgNDgsIDE4MiwgCi0gICAgNjYsIDQ4LCA0OCwgNTMsIDY1LCAxMjgsIDY2LCA0OCwgNDgsIDUzLCAxMjgsIDY2LCA0OCwgNDgsIDE4MSwgNjYsIDQ4LCAKLSAgICA0OCwgNTIsIDEyOCwgNjYsIDQ4LCA0OCwgMTgwLCA2NiwgNDgsIDQ4LCA1MSwgMTI4LCA2NiwgNDgsIDQ4LCAxNzksIDY2LCAKLSAgICA0OCwgNDgsIDUwLCAxMjgsIDY2LCA0OCwgNDgsIDE3OCwgNjYsIDQ4LCA0OCwgNDksIDEyOCwgNjYsIDQ4LCA0OCwgMTc3LCAKLSAgICA2NSwgOTAsIDg1LCAxMjgsIDY1LCA4OSwgNjksIDIxMCwgNjUsIDg5LCA2NiwgMTI4LCA2NSwgODksIDY1LCA3MiwgMTI4LCAKLSAgICA2NSwgODgsIDY5LCAxMjgsIDY1LCA4NywgNjksIDEyOCwgNjUsIDg2LCA2OSwgODMsIDg0LCA2NSwgMjA2LCA2NSwgODYsIAotICAgIDY5LCA4MiwgNjUsIDcxLCAxOTcsIDY1LCA4NiwgNjUsIDc1LCA4MiwgNjUsIDcyLCA2NSwgODMsIDY1LCA3OCwgODksIDY1LCAKLSAgICAxMjgsIDY1LCA4NiwgNjUsIDcxLCA4MiwgNjUsIDcyLCA2NSwgMTI4LCA2NSwgODUsIDg5LCA2NSwgNzgsIDc4LCA2NSwgCi0gICAgMTI4LCA2NSwgODUsIDg0LCA4NSwgNzcsIDc4LCAxMjgsIDY1LCA4NSwgODQsIDc5LCA3NywgNzksIDY2LCA3MywgNzYsIDY5LCAKLSAgICAxMjgsIDY1LCA4NSwgODQsIDc5LCA3NywgNjUsIDg0LCA2OSwgMTk2LCA2NSwgODUsIDgzLCA4NCwgODIsIDY1LCAyMDQsIAotICAgIDY1LCA4NSwgODIsIDczLCA4MCwgNzMsIDcxLCA3NywgNjksIDc4LCA4NCwgMTI4LCA2NSwgODUsIDgyLCA2NSwgNzcsIDY1LCAKLSAgICA5MCwgNjgsIDY1LCA2NSwgNzIsIDY1LCAxMjgsIDY1LCA4NSwgODIsIDY1LCA3NywgNjUsIDkwLCA2OCwgNjUsIDY1LCA0NSwgCi0gICAgNTAsIDEyOCwgNjUsIDg1LCA4MiwgNjUsIDc3LCA2NSwgOTAsIDY4LCA2NSwgNjUsIDEyOCwgNjUsIDg1LCA3OCwgNzgsIAotICAgIDEyOCwgNjUsIDg1LCA3MSwgODUsIDgzLCA4NCwgMTI4LCA2NSwgODUsIDcxLCA3NywgNjksIDc4LCA4NCwgNjUsIDg0LCA3MywgCi0gICAgNzksIDIwNiwgNjUsIDg1LCA2OSwgMTI4LCA2NSwgODUsIDY2LCA2OSwgODIsIDcxLCA3MywgNzgsIDY5LCAxMjgsIDY1LCAKLSAgICA4NCwgODQsIDczLCAxOTUsIDY1LCA4NCwgODQsIDcyLCA2NSwgNjcsIDY1LCA3OCwgMTI4LCA2NSwgODQsIDg0LCA2OSwgNzgsIAotICAgIDg0LCA3MywgNzksIDc4LCAxMjgsIDY1LCA4NCwgODQsIDY1LCAyMDMsIDY1LCA4NCwgNzksIDIwNSwgNjUsIDg0LCA3OCwgCi0gICAgNjUsIDIwMCwgNjUsIDg0LCA3NywgNjUsIDY1LCA4NSwgMTI4LCA2NSwgODQsIDczLCA4OSwgNjUsIDEyOCwgNjUsIDg0LCAKLSAgICA3MiwgNzYsIDY5LCA4NCwgNzMsIDE5NSwgNjUsIDg0LCA3MiwgNjUsIDgyLCA4NiwgNjUsIDg2LCA2OSwgNjgsIDczLCAxOTUsIAotICAgIDY1LCA4NCwgNzIsIDY1LCA4MCwgNjUsIDgzLCA2NywgNjUsIDIwNiwgNjUsIDgzLCA5MCwgMTI4LCA2NSwgODMsIDg5LCA4NSwgCi0gICAgODIsIDE5MywgNjUsIDgzLCA4OSwgNzcsIDgwLCA4NCwgNzksIDg0LCA3MywgNjcsIDY1LCA3NiwgNzYsIDIxNywgNjUsIDgzLCAKLSAgICA4NCwgODIsIDc5LCA3OCwgNzksIDc3LCA3MywgNjcsIDY1LCAyMDQsIDY1LCA4MywgODQsIDgyLCA3OSwgNzYsIDc5LCA3MSwgCi0gICAgNzMsIDY3LCA2NSwgMjA0LCA2NSwgODMsIDg0LCA3OSwgNzgsIDczLCA4MywgNzIsIDY5LCAxOTYsIDY1LCA4MywgODQsIDY5LCAKLSAgICA4MiwgNzMsIDgzLCA3NywgMTI4LCA2NSwgODMsIDg0LCA2OSwgODIsIDczLCA4MywgNzUsIDIxMSwgNjUsIDgzLCA4NCwgNjksIAotICAgIDgyLCA3MywgODMsIDc1LCAxMjgsIDY1LCA4MywgODQsIDY5LCA4MiwgNzMsIDgzLCAyMDMsIDY1LCA4MywgODQsIDY5LCA4MiwgCi0gICAgNzMsIDgzLCA2NywgODUsIDgzLCAxMjgsIDY1LCA4MywgODMsIDg5LCA4MiwgNzMsIDY1LCAyMDYsIDY1LCA4MywgODMsIDY5LCAKLSAgICA4MiwgODQsIDczLCA3OSwgNzgsIDEyOCwgNjUsIDgzLCA4MCwgNzMsIDgyLCA2NSwgODQsIDY5LCAxOTYsIDY1LCA4MywgODAsIAotICAgIDY5LCA4MiwgMTI4LCA2NSwgODMsIDczLCA2NSwgNDUsIDY1LCA4NSwgODMsIDg0LCA4MiwgNjUsIDc2LCA3MywgNjUsIDEyOCwgCi0gICAgNjUsIDgzLCA3MiwgNzEsIDY1LCA2NiwgMTI4LCA2NSwgODMsIDcyLCA2OSwgODMsIDEyOCwgNjUsIDgzLCA3MiwgNTcsIAotICAgIDEyOCwgNjUsIDgzLCA3MiwgMTc4LCA2NSwgODMsIDY3LCA2OSwgNzgsIDg0LCAxMjgsIDY1LCA4MywgNjcsIDY5LCA3OCwgCi0gICAgNjgsIDczLCA3OCwgMTk5LCA2NSwgODMsIDY1LCA3NiwgNTAsIDEyOCwgNjUsIDgyLCA4NSwgNzIsIDg1LCA2NSwgMTI4LCAKLSAgICA2NSwgODIsIDg0LCA3MywgODMsIDIxMiwgNjUsIDgyLCA4NCwgNzMsIDY3LCA4NSwgNzYsIDY1LCA4NCwgNjksIDE5NiwgNjUsIAotICAgIDgyLCA4NCwgNjUsIDY2LCAxOTcsIDY1LCA4MiwgODMsIDY5LCA3OSwgODMsIDEyOCwgNjUsIDgyLCA4MywgNjksIDc5LCAKLSAgICAyMTEsIDY1LCA4MiwgODMsIDY5LCA3OCwgNzMsIDY3LCAxMjgsIDY1LCA4MiwgODIsIDc5LCA4NywgODMsIDEyOCwgNjUsIAotICAgIDgyLCA4MiwgNzksIDg3LCAyMTEsIDY1LCA4MiwgODIsIDc5LCA4NywgNzIsIDY5LCA2NSwgNjgsIDEyOCwgNjUsIDgyLCA4MiwgCi0gICAgNzksIDg3LCA3MiwgNjksIDY1LCAxOTYsIDY1LCA4MiwgODIsIDc5LCA4NywgNDUsIDg0LCA2NSwgNzMsIDc2LCAxMjgsIDY1LCAKLSAgICA4MiwgODIsIDczLCA4NiwgNjksIDEyOCwgNjUsIDgyLCA4MiwgNjUsIDg5LCAxMjgsIDY1LCA4MiwgODAsIDY5LCA3MSwgNzEsIAotICAgIDczLCA2NSwgODQsIDIwNywgNjUsIDgyLCA3OSwgODUsIDgzLCA3MywgNzgsIDE5OSwgNjUsIDgyLCA3OSwgODUsIDgyLCAKLSAgICAxOTMsIDY1LCA4MiwgNzksIDg1LCA3OCwgNjgsIDQ1LCA4MCwgODIsIDc5LCA3MCwgNzMsIDc2LCA2OSwgMTI4LCA2NSwgODIsIAotICAgIDc5LCA4NSwgNzgsIDE5NiwgNjUsIDgyLCA3NywgODksIDEyOCwgNjUsIDgyLCA3NywgNzksIDg1LCA4MiwgMTI4LCA2NSwgCi0gICAgODIsIDIwNSwgNjUsIDgyLCA3NiwgNjUsIDg1LCAxOTksIDY1LCA4MiwgNzUsIDg0LCA3MywgNzUsIDIwNywgNjUsIDgyLCAKLSAgICA3NSwgNjUsIDY2LCAxMjgsIDY1LCA4MiwgNzUsIDY1LCA2NSwgNzgsIDg1LCAxMjgsIDY1LCA4MiwgNzMsIDgzLCA4NCwgNjksIAotICAgIDgyLCA2NSwgMTI4LCA2NSwgODIsIDczLCA4MywgODQsIDY5LCA4MiwgMTkzLCA2NSwgODIsIDczLCA2OSwgODMsIDEyOCwgCi0gICAgNjUsIDgyLCA3MSwgNzksIDg0LCA2OSwgODIsIDczLCAxMjgsIDY1LCA4MiwgNzEsIDc5LCA4MywgODksIDc4LCA4NCwgNzIsIAotICAgIDY5LCA4NCwgNzksIDc4LCAxMjgsIDY1LCA4MiwgNzEsIDczLCAxMjgsIDY1LCA4MiwgNjksIDgwLCA2NSwgMTI4LCA2NSwgCi0gICAgODIsIDY4LCA3MiwgNjUsIDg2LCA3MywgODMsIDY1LCA4MiwgNzEsIDY1LCAxMjgsIDY1LCA4MiwgNjcsIDcyLCA2NSwgNzMsIAotICAgIDc5LCA3OCwgMTI4LCA2NSwgODIsIDY3LCA3MiwgNjUsIDczLCA3OSwgMjA2LCA2NSwgODIsIDY3LCA3MiwgNjUsIDczLCAKLSAgICAxOTUsIDY1LCA4MiwgNjcsIDIwMCwgNjUsIDgyLCA2NywgMTI4LCA2NSwgODIsIDE5NSwgNjUsIDgyLCA2NSwgNzcsIDY1LCAKLSAgICA3MywgMTk1LCA2NSwgODIsIDY1LCA2OSwgNjUsIDY5LCAxMjgsIDY1LCA4MiwgNjUsIDY5LCA2NSwgNDUsIDg1LCAxMjgsIAotICAgIDY1LCA4MiwgNjUsIDY5LCA2NSwgNDUsIDczLCAxMjgsIDY1LCA4MiwgNjUsIDY5LCA2NSwgNDUsIDY5LCA3OSwgMTI4LCA2NSwgCi0gICAgODIsIDY1LCA2OSwgNjUsIDQ1LCA2OSwgMTI4LCA2NSwgODIsIDY1LCA2OSwgNjUsIDQ1LCA2NSwgMTI4LCA2NSwgODIsIDY1LCAKLSAgICA2OCwgMTI4LCA2NSwgODIsIDY1LCAxOTYsIDY1LCA4MiwgNjUsIDY2LCA3MywgNjcsIDQ1LCA3MywgNzgsIDY4LCA3MywgCi0gICAgMTk1LCA2NSwgODIsIDY1LCA2NiwgNzMsIDY1LCAyMDYsIDY1LCA4MiwgNDUsIDgyLCA2NSwgNzIsIDc3LCA2NSwgMjA2LCAKLSAgICA2NSwgODIsIDQ1LCA4MiwgNjUsIDcyLCA2OSwgNjksIDc3LCAxMjgsIDY1LCA4MSwgODUsIDY1LCA4MiwgNzMsIDg1LCA4MywgCi0gICAgMTI4LCA2NSwgODEsIDg1LCA2NSwgNzAsIDc5LCA4MiwgODQsIDczLCA4MywgMTI4LCA2NSwgODEsIDg1LCAxOTMsIDY1LCAKLSAgICA4MCwgODUsIDIwNiwgNjUsIDgwLCA4MiwgNzMsIDc2LCAxMjgsIDY1LCA4MCwgODAsIDgyLCA3OSwgODgsIDczLCA3NywgNjUsIAotICAgIDg0LCA2OSwgNzYsIDIxNywgNjUsIDgwLCA4MCwgODIsIDc5LCA4OCwgNzMsIDc3LCA2NSwgODQsIDY5LCAxMjgsIDY1LCA4MCwgCi0gICAgODAsIDgyLCA3OSwgNjUsIDY3LCA3MiwgNjksIDIxMSwgNjUsIDgwLCA4MCwgODIsIDc5LCA2NSwgNjcsIDcyLCAxMjgsIDY1LCAKLSAgICA4MCwgODAsIDc2LCA3MywgNjcsIDY1LCA4NCwgNzMsIDc5LCA3OCwgMTI4LCA2NSwgODAsIDc5LCA4NCwgNzIsIDY5LCA4MywgCi0gICAgMTI4LCA2NSwgODAsIDc5LCA4NCwgNzIsIDY5LCA3NywgNjUsIDEyOCwgNjUsIDgwLCA3OSwgODMsIDg0LCA4MiwgNzksIDgwLCAKLSAgICA3MiwgNjksIDEyOCwgNjUsIDgwLCA3OSwgODMsIDg0LCA4MiwgNzksIDcwLCA3OSwgODMsIDEyOCwgNjUsIDgwLCA3OSwgODMsIAotICAgIDg0LCA4MiwgNzksIDcwLCA3OSwgMjExLCA2NSwgODAsIDc5LCA4MywgODQsIDgyLCA3OSwgNzAsIDc5LCAyMDEsIDY1LCA4MCwgCi0gICAgNzksIDY4LCA2OSwgODgsIDczLCA2NSwgMTI4LCA2NSwgODAsIDc5LCA2OCwgNjksIDgyLCA3NywgMTkzLCA2NSwgODAsIDc2LCAKLSAgICA3OSwgODUsIDc4LCAxMjgsIDY1LCA4MCwgNzYsIDIwMSwgNjUsIDgwLCA3MywgNzgsIDEyOCwgNjUsIDgwLCA2OSwgODMsIAotICAgIDIwNywgNjUsIDgwLCA2NSwgODIsIDg0LCAxMjgsIDY1LCA4MCwgNjUsIDY1LCA4NCwgNzksIDEyOCwgNjUsIDc4LCA4NSwgCi0gICAgODMsIDg2LCA2NSwgODIsIDY1LCA4OSwgNjUsIDEyOCwgNjUsIDc4LCA4NSwgODMsIDg2LCA2NSwgODIsIDY1LCAxMjgsIDY1LCAKLSAgICA3OCwgODUsIDgzLCA4NiwgNjUsIDgyLCAxOTMsIDY1LCA3OCwgODUsIDY4LCA2NSwgODQsIDg0LCA2NSwgMTI4LCA2NSwgNzgsIAotICAgIDg1LCA2OCwgNjUsIDg0LCA4NCwgMTkzLCA2NSwgNzgsIDg0LCA3MywgODIsIDY5LCA4MywgODQsIDgyLCA3MywgNjcsIDg0LCAKLSAgICA3MywgNzksIDc4LCAxMjgsIDY1LCA3OCwgODQsIDczLCA3NywgNzksIDc4LCA4OSwgNDUsIDUwLCAxMjgsIDY1LCA3OCwgODQsIAotICAgIDczLCA3NywgNzksIDc4LCA4OSwgMTI4LCA2NSwgNzgsIDg0LCA3MywgNzcsIDc5LCA3OCwgMjE3LCA2NSwgNzgsIDg0LCA3MywgCi0gICAgNzcsIDc5LCA3OCwgNzMsIDY1LCA4NCwgNjksIDEyOCwgNjUsIDc4LCA4NCwgNzMsIDc1LCA2OSwgNzgsIDc5LCA3NywgNjUsIAotICAgIDEyOCwgNjUsIDc4LCA4NCwgNzMsIDc1LCA2OSwgNzgsIDc5LCA3NSwgODksIDc2LCA3MywgODMsIDc3LCA2NSwgMTI4LCA2NSwgCi0gICAgNzgsIDg0LCA3MywgNzAsIDc5LCA3OCwgNzMsIDY1LCAxMjgsIDY1LCA3OCwgODQsIDczLCA2NywgNzYsIDc5LCA2NywgNzUsIAotICAgIDg3LCA3MywgODMsIDY5LCA0NSwgODIsIDc5LCA4NCwgNjUsIDg0LCA2OSwgMTk2LCA2NSwgNzgsIDg0LCA3MywgNjcsIDc2LCAKLSAgICA3OSwgNjcsIDc1LCA4NywgNzMsIDgzLCAxOTcsIDY1LCA3OCwgODQsIDY5LCA3OCwgNzgsIDY1LCAxMjgsIDY1LCA3OCwgODQsIAotICAgIDY5LCA3OCwgNzgsIDE5MywgNjUsIDc4LCA4NCwgNjUsIDgyLCA3MSwgNzksIDc3LCA4NSwgNzUsIDcyLCA2NSwgMTI4LCA2NSwgCi0gICAgNzgsIDgzLCA4NSwgMjE4LCA2NSwgNzgsIDgzLCA3MiwgNjksIDEyOCwgNjUsIDc4LCA4MCwgNjksIDY1LCAxMjgsIDY1LCAKLSAgICA3OCwgMjA3LCA2NSwgNzgsIDc4LCA4NSwgNzMsIDg0LCAyMTcsIDY1LCA3OCwgNzgsIDc5LCA4NCwgNjUsIDg0LCA3MywgNzksIAotICAgIDIwNiwgNjUsIDc4LCA3OCwgNjUsIDY1LCA4NSwgMTI4LCA2NSwgNzgsIDc1LCA3MiwgMTI4LCA2NSwgNzgsIDcyLCA4NSwgCi0gICAgMTI4LCA2NSwgNzgsIDcxLCA4NSwgNzYsIDY1LCA4MiwgMTI4LCA2NSwgNzgsIDcxLCA4MywgODQsIDgyLCA3OSwgMjA1LCAKLSAgICA2NSwgNzgsIDcxLCA4MiwgMjE3LCA2NSwgNzgsIDcxLCA3NSwgNzIsIDY1LCA3OCwgNzUsIDcyLCA4NSwgMTI4LCA2NSwgNzgsIAotICAgIDcxLCA2OSwgMjEwLCA2NSwgNzgsIDcxLCA2OSwgNzYsIDEyOCwgNjUsIDc4LCA3MSwgNjksIDY4LCAxMjgsIDY1LCA3OCwgCi0gICAgNjgsIDY1LCA4MCwgMTI4LCA2NSwgNzgsIDY3LCA3OSwgODIsIDY1LCAxMjgsIDY1LCA3OCwgNjcsIDcyLCA3OSwgODIsIAotICAgIDEyOCwgNjUsIDc4LCA2NSwgODQsIDgyLCA3MywgNjcsIDcyLCA3MywgODMsIDc3LCA2NSwgMTI4LCA2NSwgNzgsIDY1LCA4MCwgCi0gICAgMTI4LCA2NSwgNzcsIDgwLCA4MywgMTI4LCA2NSwgNzcsIDgwLCA2OSwgODIsIDgzLCA2NSwgNzgsIDY4LCAxMjgsIDY1LCAKLSAgICA3NywgNzksIDg1LCA3OCwgMjEyLCA2NSwgNzcsIDY5LCA4MiwgNzMsIDY3LCA2NSwgODMsIDEyOCwgNjUsIDc3LCA2OSwgODIsIAotICAgIDczLCA2NywgNjUsIDIwNiwgNjUsIDc3LCA2NiwgODUsIDc2LCA2NSwgNzgsIDY3LCA2OSwgMTI4LCA2NSwgNzcsIDY2LCAKLSAgICAxOTMsIDY1LCA3NywgNjUsIDgyLCAxMjgsIDY1LCA3NywgNjUsIDIxMCwgNjUsIDc3LCA2NSwgNzYsIDcxLCA2NSwgNzcsIAotICAgIDY1LCA4NCwgNzMsIDc5LCAyMDYsIDY1LCA3NywgNjUsIDc2LCA3MSwgNjUsIDc3LCAxMjgsIDY1LCA3NiwgODYsIDY5LCA3OSwgCi0gICAgNzYsIDY1LCAyMTAsIDY1LCA3NiwgODUsIDc3LCAxMjgsIDY1LCA3NiwgODQsIDY5LCA4MiwgNzgsIDY1LCA4NCwgNzMsIDg2LCAKLSAgICAxOTcsIDY1LCA3NiwgODQsIDY5LCA4MiwgNzgsIDY1LCA4NCwgNzMsIDc5LCAyMDYsIDY1LCA3NiwgODQsIDY5LCA4MiwgNzgsIAotICAgIDY1LCA4NCwgMTk3LCA2NSwgNzYsIDg0LCA2NSwgMTI4LCA2NSwgNzYsIDgwLCA3MiwgNjUsIDEyOCwgNjUsIDc2LCA4MCwgCi0gICAgNzIsIDE5MywgNjUsIDc2LCA4MCwgNjUsIDgwLCA4MiwgNjUsIDc4LCA2NSwgMTI4LCA2NSwgNzYsIDgwLCA2NSwgODAsIDgyLCAKLSAgICA2NSwgNjUsIDc4LCAxOTMsIDY1LCA3NiwgODAsIDY1LCAxMjgsIDY1LCA3NiwgNzcsIDc5LCA4MywgMjEyLCA2NSwgNzYsIAotICAgIDc2LCA3OSwgMTI4LCA2NSwgNzYsIDc2LCA3MywgNjUsIDc4LCA2NywgNjksIDEyOCwgNjUsIDc2LCA3NiwgMjAxLCA2NSwgCi0gICAgNzYsIDc2LCA2NSwgMjAwLCA2NSwgNzYsIDc1LCA2NSwgNzYsIDczLCA0NSwgNTAsIDEyOCwgNjUsIDc2LCA3NSwgNjUsIDc2LCAKLSAgICA3MywgMTI4LCA2NSwgNzYsIDczLCA3MSwgNzgsIDY5LCAxOTYsIDY1LCA3NiwgNzMsIDcwLCA4NSwgMTI4LCA2NSwgNzYsIAotICAgIDczLCA2OSwgNzgsIDEyOCwgNjUsIDc2LCA3MywgNjksIDIwNiwgNjUsIDc2LCA3MSwgNzMsIDIxOCwgNjUsIDc2LCA3MCwgCi0gICAgNjUsIDEyOCwgNjUsIDc2LCA2OSwgODUsIDIxMiwgNjUsIDc2LCA2OSwgODAsIDcyLCAxMjgsIDY1LCA3NiwgNjksIDc3LCAKLSAgICA2NiwgNzMsIDY3LCAxMjgsIDY1LCA3NiwgNjksIDcwLCAxMjgsIDY1LCA3NiwgNjUsIDg5LCA3MiwgNjksIDEyOCwgNjUsIAotICAgIDc2LCA2NSwgODksIDcyLCAxOTcsIDY1LCA3NiwgNjUsIDgyLCAyMDUsIDY1LCA3NiwgNjUsIDgwLCA3MiwgMTI4LCA2NSwgCi0gICAgNzYsIDQ1LCA3NiwgNjUsIDc1LCA4NSwgNzgsIDY1LCAxMjgsIDY1LCA3NSwgODQsIDczLCA2OSwgODMsIDY5LCA3NiwgODMsIAotICAgIDc1LCA2NSwgNjYsIDEyOCwgNjUsIDc1LCA4MywgNjUsIDEyOCwgNjUsIDc1LCA3MiwgNzcsIDczLCA3NywgNzMsIDE5NSwgCi0gICAgNjUsIDc1LCA2NiwgNjUsIDIxMCwgNjUsIDc1LCA2NSwgODIsIDY1LCAxMjgsIDY1LCA3NSwgNjUsIDgyLCAxOTMsIDY1LCAKLSAgICA3MywgODksIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDY1LCA3MywgODYsIDczLCA3NiwgNzMsIDIwMywgNjUsIDczLCA4NCwgNzksIAotICAgIDIwNiwgNjUsIDczLCA4MiwgODAsIDc2LCA2NSwgNzgsIDY5LCAxMjgsIDY1LCA3MywgNzgsIDc4LCAxMjgsIDY1LCA3MywgCi0gICAgNzYsIDc3LCAxMjgsIDY1LCA3MywgNzUsIDY1LCA4MiwgNjUsIDEyOCwgNjUsIDczLCA3MiwgODYsIDg1LCA4MywgMTI4LCAKLSAgICA2NSwgNzIsIDgzLCA2OCwgNjUsIDEyOCwgNjUsIDcyLCA4MywgNjUsIDEyOCwgNjUsIDcyLCA2NSwgNzEsIDcxLCA2NSwgCi0gICAgMjEwLCA2NSwgNzIsIDY1LCA2OCwgMTI4LCA2NSwgNzEsIDg1LCA3OCwgNzEsIDEyOCwgNjUsIDcxLCA3OSwgNzEsIDIwMSwgCi0gICAgNjUsIDcxLCA3MSwgODIsIDY1LCA4NiwgNjUsIDg0LCA3MywgNzksIDc4LCAxMjgsIDY1LCA3MSwgNzEsIDgyLCA2NSwgODYsIAotICAgIDY1LCA4NCwgNjksIDE5NiwgNjUsIDcxLCA2NSwgNzMsIDc4LCAxMjgsIDY1LCA3MCwgODQsIDY5LCAyMTAsIDY1LCA3MCwgCi0gICAgODMsIDY1LCA2NSwgODEsIDEyOCwgNjUsIDcwLCA4MiwgNzMsIDY3LCA2NSwgMjA2LCA2NSwgNzAsIDc5LCA4MiwgNjksIDc3LCAKLSAgICA2OSwgNzgsIDg0LCA3MywgNzksIDc4LCA2OSwgNjgsIDEyOCwgNjUsIDcwLCA3MSwgNzIsIDY1LCA3OCwgMjAxLCA2NSwgNzAsIAotICAgIDcwLCA4MiwgNzMsIDY3LCA2NSwgODQsIDczLCA3OSwgMjA2LCA2NSwgNjksIDg5LCA2NSwgNzgsIDc4LCA2NSwgMTI4LCA2NSwgCi0gICAgNjksIDg5LCAxMjgsIDY1LCA2OSwgODMsIDY3LCA4NSwgNzYsIDY1LCA4MCwgNzMsIDg1LCA4MywgMTI4LCA2NSwgNjksIDgzLCAKLSAgICA2NywgMTI4LCA2NSwgNjksIDgzLCAxMjgsIDY1LCA2OSwgODIsIDczLCA2NSwgMjA0LCA2NSwgNjksIDgyLCAxMjgsIDY1LCAKLSAgICA2OSwgNzYsIDY1LCA0NSwgODAsIDczLCA3NiwgNzYsIDY1LCAxMjgsIDY1LCA2OSwgNzYsIDEyOCwgNjUsIDY5LCA3NSwgCi0gICAgMTI4LCA2NSwgNjksIDcxLCA2OSwgNjUsIDIwNiwgNjUsIDY5LCA3MSwgMTI4LCA2NSwgNjksIDY5LCA4OSwgNjUsIDc4LCAKLSAgICA3OCwgNjUsIDEyOCwgNjUsIDY5LCA2OSwgMTI4LCA2NSwgNjksIDY4LCA2NSwgNDUsIDgwLCA3MywgNzYsIDc2LCA2NSwgCi0gICAgMTI4LCA2NSwgNjksIDY4LCAxMjgsIDY1LCA2OSwgNjYsIDEyOCwgNjUsIDY4LCA4NiwgNjUsIDc4LCA4NCwgNjUsIDcxLCAKLSAgICA2OSwgMTI4LCA2NSwgNjgsIDg2LCA2NSwgNzgsIDY3LCA2OSwgMTI4LCA2NSwgNjgsIDY5LCA3MSwgMTI4LCA2NSwgNjgsIAotICAgIDY5LCAxOTksIDY1LCA2OCwgNjgsIDgyLCA2OSwgODMsIDgzLCA2OSwgMTk2LCA2NSwgNjgsIDY4LCA4MiwgNjksIDgzLCAKLSAgICAyMTEsIDY1LCA2OCwgNjgsIDY1LCA3NSwgMTI4LCA2NSwgNjgsIDY1LCAyMDMsIDY1LCA2NywgODUsIDg0LCA2OSwgNDUsIAotICAgIDc3LCA2NSwgNjcsIDgyLCA3OSwgNzgsIDEyOCwgNjUsIDY3LCA4NSwgODQsIDY5LCA0NSwgNzEsIDgyLCA2NSwgODYsIDY5LCAKLSAgICA0NSwgNjUsIDY3LCA4NSwgODQsIDY5LCAxMjgsIDY1LCA2NywgODUsIDg0LCAxOTcsIDY1LCA2NywgODQsIDg1LCA2NSwgNzYsIAotICAgIDc2LCAyMTcsIDY1LCA2NywgODQsIDczLCA4NiwgNjUsIDg0LCAxOTcsIDY1LCA2NywgODIsIDc5LCA4MCwgNzIsIDc5LCA3OCwgCi0gICAgNzMsIDE5NSwgNjUsIDY3LCA3NSwgNzgsIDc5LCA4NywgNzYsIDY5LCA2OCwgNzEsIDY5LCAxMjgsIDY1LCA2NywgNjcsIDg1LCAKLSAgICA3NywgODUsIDc2LCA2NSwgODQsIDczLCA3OSwgNzgsIDEyOCwgNjUsIDY3LCA2NywgNzksIDg1LCA3OCwgMjEyLCA2NSwgNjcsIAotICAgIDY3LCA2OSwgODAsIDg0LCAxMjgsIDY1LCA2NywgNjcsIDY5LCA3OCwgODQsIDQ1LCA4MywgODQsIDY1LCA2NywgNjcsIDY1LCAKLSAgICA4NCwgNzksIDEyOCwgNjUsIDY3LCA2NywgNjksIDc4LCA4NCwgMTI4LCA2NSwgNjcsIDY3LCA2OSwgNzgsIDIxMiwgNjUsIAotICAgIDY3LCA2NSwgNjgsIDY5LCA3NywgMjE3LCA2NSwgNjYsIDg5LCA4MywgNzcsIDY1LCAyMDQsIDY1LCA2NiwgODUsIDc4LCA2OCwgCi0gICAgNjUsIDc4LCA2NywgNjksIDEyOCwgNjUsIDY2LCA3NSwgNzIsIDY1LCA4MywgNzMsIDY1LCAyMDYsIDY1LCA2NiwgNjYsIDgyLCAKLSAgICA2OSwgODYsIDczLCA2NSwgODQsIDczLCA3OSwgMjA2LCA2NSwgNjYsIDY1LCA3MCwgNzMsIDc2LCA3MywgMTI4LCA2NSwgNjYsIAotICAgIDE3OCwgNjUsIDY1LCA4OSwgNjUsIDc4LCA3OCwgNjUsIDEyOCwgNjUsIDY1LCA4OSwgMTI4LCA2NSwgNjUsIDg3LCAxMjgsIAotICAgIDY1LCA2NSwgNzksIDEyOCwgNjUsIDY1LCA3NCwgMTI4LCA2NSwgNjUsIDY2LCA2NSwgNjUsIDcwLCA3MywgNzYsIDczLCAKLSAgICAxMjgsIDY1LCA2NSwgNDgsIDUxLCA1MCwgMTI4LCA2NSwgNjUsIDQ4LCA1MSwgNDksIDEyOCwgNjUsIDY1LCA0OCwgNTEsIAotICAgIDQ4LCAxMjgsIDY1LCA2NSwgNDgsIDUwLCA1NywgMTI4LCA2NSwgNjUsIDQ4LCA1MCwgNTYsIDEyOCwgNjUsIDY1LCA0OCwgCi0gICAgNTAsIDU1LCAxMjgsIDY1LCA2NSwgNDgsIDUwLCA1NCwgMTI4LCA2NSwgNjUsIDQ4LCA1MCwgNTMsIDEyOCwgNjUsIDY1LCAKLSAgICA0OCwgNTAsIDUyLCAxMjgsIDY1LCA2NSwgNDgsIDUwLCA1MSwgMTI4LCA2NSwgNjUsIDQ4LCA1MCwgNTAsIDEyOCwgNjUsIAotICAgIDY1LCA0OCwgNTAsIDQ5LCAxMjgsIDY1LCA2NSwgNDgsIDUwLCA0OCwgMTI4LCA2NSwgNjUsIDQ4LCA0OSwgNTcsIDEyOCwgCi0gICAgNjUsIDY1LCA0OCwgNDksIDU2LCAxMjgsIDY1LCA2NSwgNDgsIDQ5LCA1NSwgMTI4LCA2NSwgNjUsIDQ4LCA0OSwgNTQsIAotICAgIDEyOCwgNjUsIDY1LCA0OCwgNDksIDUzLCAxMjgsIDY1LCA2NSwgNDgsIDQ5LCA1MiwgMTI4LCA2NSwgNjUsIDQ4LCA0OSwgCi0gICAgNTEsIDEyOCwgNjUsIDY1LCA0OCwgNDksIDUwLCAxMjgsIDY1LCA2NSwgNDgsIDQ5LCA0OSwgMTI4LCA2NSwgNjUsIDQ4LCAKLSAgICA0OSwgNDgsIDEyOCwgNjUsIDY1LCA0OCwgNDgsIDU3LCAxMjgsIDY1LCA2NSwgNDgsIDQ4LCA1NiwgMTI4LCA2NSwgNjUsIAotICAgIDQ4LCA0OCwgNTUsIDY2LCAxMjgsIDY1LCA2NSwgNDgsIDQ4LCA1NSwgNjUsIDEyOCwgNjUsIDY1LCA0OCwgNDgsIDU1LCAKLSAgICAxMjgsIDY1LCA2NSwgNDgsIDQ4LCA1NCwgMTI4LCA2NSwgNjUsIDQ4LCA0OCwgNTMsIDEyOCwgNjUsIDY1LCA0OCwgNDgsIAotICAgIDUyLCAxMjgsIDY1LCA2NSwgNDgsIDQ4LCA1MSwgMTI4LCA2NSwgNjUsIDQ4LCA0OCwgNTAsIDEyOCwgNjUsIDY1LCA0OCwgCi0gICAgNDgsIDQ5LCAxMjgsIDY1LCA0OCwgNTUsIDQ4LCAxMjgsIDY1LCA0OCwgNTQsIDU3LCAxMjgsIDY1LCA0OCwgNTQsIDU2LCAKLSAgICAxMjgsIDY1LCA0OCwgNTQsIDU1LCAxMjgsIDY1LCA0OCwgNTQsIDU0LCAxMjgsIDY1LCA0OCwgNTQsIDUzLCAxMjgsIDY1LCAKLSAgICA0OCwgNTQsIDUyLCAxMjgsIDY1LCA0OCwgNTQsIDUxLCAxMjgsIDY1LCA0OCwgNTQsIDUwLCAxMjgsIDY1LCA0OCwgNTQsIAotICAgIDQ5LCAxMjgsIDY1LCA0OCwgNTQsIDQ4LCAxMjgsIDY1LCA0OCwgNTMsIDU3LCAxMjgsIDY1LCA0OCwgNTMsIDU2LCAxMjgsIAotICAgIDY1LCA0OCwgNTMsIDU1LCAxMjgsIDY1LCA0OCwgNTMsIDU0LCAxMjgsIDY1LCA0OCwgNTMsIDUzLCAxMjgsIDY1LCA0OCwgCi0gICAgNTMsIDUyLCAxMjgsIDY1LCA0OCwgNTMsIDUxLCAxMjgsIDY1LCA0OCwgNTMsIDUwLCAxMjgsIDY1LCA0OCwgNTMsIDQ5LCAKLSAgICAxMjgsIDY1LCA0OCwgNTMsIDQ4LCAxMjgsIDY1LCA0OCwgNTIsIDU3LCAxMjgsIDY1LCA0OCwgNTIsIDU2LCAxMjgsIDY1LCAKLSAgICA0OCwgNTIsIDU1LCAxMjgsIDY1LCA0OCwgNTIsIDU0LCAxMjgsIDY1LCA0OCwgNTIsIDUzLCA2NSwgMTI4LCA2NSwgNDgsIAotICAgIDUyLCA1MywgMTI4LCA2NSwgNDgsIDUyLCA1MiwgMTI4LCA2NSwgNDgsIDUyLCA1MSwgNjUsIDEyOCwgNjUsIDQ4LCA1MiwgCi0gICAgNTEsIDEyOCwgNjUsIDQ4LCA1MiwgNTAsIDY1LCAxMjgsIDY1LCA0OCwgNTIsIDUwLCAxMjgsIDY1LCA0OCwgNTIsIDQ5LCAKLSAgICAxMjgsIDY1LCA0OCwgNTIsIDQ4LCA2NSwgMTI4LCA2NSwgNDgsIDUyLCA0OCwgMTI4LCA2NSwgNDgsIDUxLCA1NywgMTI4LCAKLSAgICA2NSwgNDgsIDUxLCA1NiwgMTI4LCA2NSwgNDgsIDUxLCA1NSwgMTI4LCA2NSwgNDgsIDUxLCA1NCwgMTI4LCA2NSwgNDgsIAotICAgIDUxLCA1MywgMTI4LCA2NSwgNDgsIDUxLCA1MiwgMTI4LCA2NSwgNDgsIDUxLCA1MSwgMTI4LCA2NSwgNDgsIDUxLCA1MCwgCi0gICAgNjUsIDEyOCwgNjUsIDQ4LCA0OSwgNTUsIDY1LCAxMjgsIDY1LCA0OCwgNDksIDUyLCA2NSwgMTI4LCA2NSwgNDgsIDQ4LCAKLSAgICA1NCwgNjYsIDEyOCwgNjUsIDQ4LCA0OCwgNTQsIDY1LCAxMjgsIDY1LCA0OCwgNDgsIDUzLCA2NSwgMTI4LCA2NSwgNDUsIAotICAgIDY5LCA4NSwgMTI4LCA0NSwgODUsIDIwNSwgNDUsIDgwLCA3MiwgODIsIDg1LCAxMjgsIDQ1LCA3NSwgNzIsIDg5LCA4NSwgCi0gICAgMTk2LCA0NSwgNzUsIDcyLCA4OSwgNzMsIDc2LCAxMjgsIDQ1LCA2OCwgOTAsIDg1LCAxOTYsIDQ1LCA2NywgNzIsIDY1LCAKLSAgICAyMTAsIDQ1LCA2NywgNzIsIDY1LCA3NiwgMTI4LCAKKyAgICA2NywgNjcsIDcyLCAxMjgsIDY3LCA2NywgNjksIDY5LCAxMjgsIDY3LCA2NywgNjksIDEyOCwgNjcsIDY3LCA2NSwgNjUsIAorICAgIDEyOCwgNjcsIDY3LCA2NSwgMTI4LCA2NywgNjUsIDg5LCA3OCwgMTI4LCA2NywgNjUsIDg5LCA2NSwgNzgsIDc4LCA2NSwgCisgICAgMTI4LCA2NywgNjUsIDg4LCAxMjgsIDY3LCA2NSwgODYsIDY5LCAxMjgsIDY3LCA2NSwgODUsIDg0LCA3MywgNzksIDIwNiwgCisgICAgNjcsIDY1LCA4NSwgNzYsIDY4LCA4MiwgNzksIDc4LCAxMjgsIDY3LCA2NSwgODUsIDY4LCA2NSwgMTI4LCA2NywgNjUsIDg1LCAKKyAgICAxMjgsIDY3LCA2NSwgODQsIDY1LCA4NywgNjUsIDEyOCwgNjcsIDY1LCA4NCwgMTI4LCA2NywgNjUsIDIxMiwgNjcsIDY1LCAKKyAgICA4MywgODQsIDc2LCA2OSwgMTI4LCA2NywgNjUsIDgyLCA4OSwgODMsIDg0LCA3MywgNjUsIDIwNiwgNjcsIDY1LCA4MiwgODQsIAorICAgIDEyOCwgNjcsIDY1LCA4MiwgMjExLCA2NywgNjUsIDgyLCA4MiwgNzMsIDY1LCA3MSwgMTk3LCA2NywgNjUsIDgyLCA4MCwgCisgICAgNjksIDc4LCA4NCwgODIsIDIxNywgNjcsIDY1LCA4MiwgMjA4LCA2NywgNjUsIDgyLCA3OSwgODUsIDgzLCA2OSwgMjA0LCAKKyAgICA2NywgNjUsIDgyLCA3OSwgNzgsIDEyOCwgNjcsIDY1LCA4MiwgNzksIDIwNiwgNjcsIDY1LCA4MiwgNzMsIDIwMywgNjcsIAorICAgIDY1LCA4MiwgNzMsIDY1LCAyMDYsIDY3LCA2NSwgODIsIDY5LCA4NCwgMTI4LCA2NywgNjUsIDgyLCA2OSwgMjEyLCA2NywgCisgICAgNjUsIDgyLCAxOTcsIDY3LCA2NSwgODIsIDY4LCA4MywgMTI4LCA2NywgNjUsIDgyLCA2OCwgMTI4LCA2NywgNjUsIDgyLCAKKyAgICAxOTYsIDY3LCA2NSwgODIsIDEyOCwgNjcsIDY1LCAyMTAsIDY3LCA2NSwgODAsIDg1LCAyMTIsIDY3LCA2NSwgODAsIDg0LCAKKyAgICA3MywgODYsIDY5LCAxMjgsIDY3LCA2NSwgODAsIDgyLCA3MywgNjcsIDc5LCA4MiwgNzgsIDEyOCwgNjcsIDY1LCA4MCwgNzksIAorICAgIDEyOCwgNjcsIDY1LCA4MCwgNzMsIDg0LCA2NSwgNzYsIDEyOCwgNjcsIDY1LCA3OCwgODQsIDczLCA3NiwgNzYsIDY1LCA4NCwgCisgICAgNzMsIDc5LCAyMDYsIDY3LCA2NSwgNzgsIDE5OSwgNjcsIDY1LCA3OCwgNjgsIDg5LCAxMjgsIDY3LCA2NSwgNzgsIDY4LCAKKyAgICA4MiwgNjUsIDY2LCA3MywgNzgsIDY4LCA4NSwgMTI4LCA2NywgNjUsIDc4LCA2OCwgODIsIDY1LCA2NiwgNzMsIDc4LCA2OCwgCisgICAgMjEzLCA2NywgNjUsIDc4LCA2OCwgODIsIDY1LCAxMjgsIDY3LCA2NSwgNzgsIDY4LCA4MiwgMTkzLCA2NywgNjUsIDc4LCAKKyAgICA2NywgNjksIDgyLCAxMjgsIDY3LCA2NSwgNzgsIDY3LCA2OSwgNzYsIDc2LCA2NSwgODQsIDczLCA3OSwgMjA2LCA2NywgNjUsIAorICAgIDc4LCA2NywgNjksIDc2LCAxMjgsIDY3LCA2NSwgNzgsIDY3LCA2OSwgMjA0LCA2NywgNjUsIDc4LCAxMjgsIDY3LCA2NSwgCisgICAgNzcsIDc4LCA4NSwgMTk1LCA2NywgNjUsIDc3LCA2OSwgODIsIDY1LCAxMjgsIDY3LCA2NSwgNzcsIDY5LCA3NiwgMTI4LCAKKyAgICA2NywgNjUsIDc2LCA4OSwgNjUsIDEyOCwgNjcsIDY1LCA3NiwgODksIDE5MywgNjcsIDY1LCA3NiwgODgsIDEyOCwgNjcsIAorICAgIDY1LCA3NiwgNzYsIDEyOCwgNjcsIDY1LCA3NiwgNjksIDc4LCA2OCwgNjUsIDgyLCAxMjgsIDY3LCA2NSwgNzYsIDY3LCAKKyAgICAxMjgsIDY3LCA2NSwgNzUsIDgyLCA2NSwgMTI4LCA2NywgNjUsIDc1LCAxOTcsIDY3LCA2NSwgNzMsIDEyOCwgNjcsIDY1LCAKKyAgICA3MiwgMTI4LCA2NywgNjUsIDY5LCA4MywgODUsIDgyLCA2NSwgMTI4LCA2NywgNjUsIDY4LCA4NSwgNjcsIDY5LCA4NSwgODMsIAorICAgIDEyOCwgNjcsIDY1LCA2OCwgMTkzLCA2NywgNjUsIDY3LCA4NCwgODUsIDgzLCAxMjgsIDY3LCA2NSwgNjYsIDc2LCA2OSwgCisgICAgODcsIDY1LCA4OSwgMTI4LCA2NywgNjUsIDY2LCA2NiwgNjUsIDcxLCA2OSwgNDUsIDg0LCA4MiwgNjksIDY5LCAxMjgsIDY3LCAKKyAgICA2NSwgNjUsIDc4LCA3MSwgMTI4LCA2NywgNjUsIDY1LCA3MywgMTI4LCA2NywgMTkzLCA2NywgNDgsIDUwLCA1MiwgMTI4LCAKKyAgICA2NywgNDgsIDUwLCA1MSwgMTI4LCA2NywgNDgsIDUwLCA1MCwgMTI4LCA2NywgNDgsIDUwLCA0OSwgMTI4LCA2NywgNDgsIAorICAgIDUwLCA0OCwgMTI4LCA2NywgNDgsIDQ5LCA1NywgMTI4LCA2NywgNDgsIDQ5LCA1NiwgMTI4LCA2NywgNDgsIDQ5LCA1NSwgCisgICAgMTI4LCA2NywgNDgsIDQ5LCA1NCwgMTI4LCA2NywgNDgsIDQ5LCA1MywgMTI4LCA2NywgNDgsIDQ5LCA1MiwgMTI4LCA2NywgCisgICAgNDgsIDQ5LCA1MSwgMTI4LCA2NywgNDgsIDQ5LCA1MCwgMTI4LCA2NywgNDgsIDQ5LCA0OSwgMTI4LCA2NywgNDgsIDQ5LCAKKyAgICA0OCwgNjUsIDEyOCwgNjcsIDQ4LCA0OSwgNDgsIDEyOCwgNjcsIDQ4LCA0OCwgNTcsIDEyOCwgNjcsIDQ4LCA0OCwgNTYsIAorICAgIDEyOCwgNjcsIDQ4LCA0OCwgNTUsIDEyOCwgNjcsIDQ4LCA0OCwgNTQsIDEyOCwgNjcsIDQ4LCA0OCwgNTMsIDEyOCwgNjcsIAorICAgIDQ4LCA0OCwgNTIsIDEyOCwgNjcsIDQ4LCA0OCwgNTEsIDEyOCwgNjcsIDQ4LCA0OCwgNTAsIDY3LCAxMjgsIDY3LCA0OCwgCisgICAgNDgsIDUwLCA2NiwgMTI4LCA2NywgNDgsIDQ4LCA1MCwgNjUsIDEyOCwgNjcsIDQ4LCA0OCwgNTAsIDEyOCwgNjcsIDQ4LCAKKyAgICA0OCwgNDksIDEyOCwgNjcsIDQ1LCA4MywgNzMsIDc3LCA4MCwgNzYsIDczLCA3MCwgNzMsIDY5LCAxOTYsIDY3LCA0NSwgNTEsIAorICAgIDU3LCAxMjgsIDY3LCA0NSwgNDksIDU2LCAxMjgsIDY2LCA5MCwgODUsIDc4LCAxOTksIDY2LCA5MCwgNzIsIDIwMSwgNjYsIAorICAgIDg5LCA4NCwgMTk3LCA2NiwgODksIDY5LCA3NiwgNzksIDgyLCA4NSwgODMsIDgzLCA3MywgNjUsIDc4LCA0NSwgODUsIDc1LCAKKyAgICA4MiwgNjUsIDczLCA3OCwgNzMsIDY1LCAyMDYsIDY2LCA4OCwgNzEsIDEyOCwgNjYsIDg3LCA3MywgMTI4LCA2NiwgODcsIAorICAgIDY5LCA2OSwgMTI4LCA2NiwgODcsIDY5LCAxMjgsIDY2LCA4NywgNjUsIDEyOCwgNjYsIDg1LCA4NSwgNzcsIDczLCA4MywgCisgICAgNzIsIDEyOCwgNjYsIDg1LCA4NCwgODQsIDc5LCA3OCwgMTI4LCA2NiwgODUsIDIxMiwgNjYsIDg1LCA4MywgODQsIDIxMSwgCisgICAgNjYsIDg1LCA4MywgMjEyLCA2NiwgODUsIDgzLCA4MywgODksIDY5LCA4MiwgODUsIDEyOCwgNjYsIDg1LCAyMTEsIDY2LCAKKyAgICA4NSwgODIsIDIxMywgNjYsIDg1LCA4MiwgNTAsIDEyOCwgNjYsIDg1LCAyMTAsIDY2LCA4NSwgNzksIDg4LCAxMjgsIDY2LCAKKyAgICA4NSwgNzksIDgwLCAxMjgsIDY2LCA4NSwgNzgsIDc4LCAyMTcsIDY2LCA4NSwgNzgsIDcxLCAxMjgsIDY2LCA4NSwgNzcsIAorICAgIDgwLCAyMTcsIDY2LCA4NSwgNzYsIDg1LCA3MSwgMTI4LCA2NiwgODUsIDc2LCA4NSwgMTk5LCA2NiwgODUsIDc2LCA3NiwgCisgICAgODMsIDY5LCA4OSwgNjksIDEyOCwgNjYsIDg1LCA3NiwgNzYsIDIxMSwgNjYsIDg1LCA3NiwgNzYsIDY5LCA4NCwgMTI4LCAKKyAgICA2NiwgODUsIDc2LCA3NiwgNjksIDIxMiwgNjYsIDg1LCA3NiwgNzYsIDEyOCwgNjYsIDg1LCA3NiwgNjYsIDEyOCwgNjYsIAorICAgIDg1LCA3NSwgODksIDEyOCwgNjYsIDg1LCA3MywgNzYsIDY4LCA3MywgNzgsIDcxLCA4MywgMTI4LCA2NiwgODUsIDczLCA3NiwgCisgICAgNjgsIDczLCA3OCwgNzEsIDEyOCwgNjYsIDg1LCA3MiwgNzMsIDE5NiwgNjYsIDg1LCA3MSwgNzMsIDc4LCA2OSwgODMsIAorICAgIDE5NywgNjYsIDg1LCA3MSwgMTI4LCA2NiwgODUsIDcwLCA3MCwgNjUsIDc2LCA3OSwgMTI4LCA2NiwgODUsIDY3LCA3NSwgCisgICAgNzYsIDY5LCAxMjgsIDY2LCA4MywgODQsIDY1LCA4MiwgMTI4LCA2NiwgODMsIDc1LCA4NSwgMjEwLCA2NiwgODMsIDc1LCAKKyAgICA2NSwgMTczLCA2NiwgODMsIDY4LCA4NSwgMjExLCA2NiwgODIsIDg1LCA4MywgNzIsIDEyOCwgNjYsIDgyLCA4NSwgODMsIAorICAgIDIwMCwgNjYsIDgyLCA3OSwgNzgsIDkwLCA2OSwgMTI4LCA2NiwgODIsIDc5LCA3NSwgNjksIDIwNiwgNjYsIDgyLCA3OSwgCisgICAgNjUsIDE5NiwgNjYsIDgyLCA3MywgODMsIDg0LCA3NiwgNjksIDEyOCwgNjYsIDgyLCA3MywgNzEsIDcyLCA4NCwgNzgsIDY5LCAKKyAgICA4MywgMjExLCA2NiwgODIsIDczLCA2OSwgNzAsIDY3LCA2NSwgODMsIDY5LCAxMjgsIDY2LCA4MiwgNzMsIDY4LCA3MSwgCisgICAgMTk3LCA2NiwgODIsIDczLCA2OCwgMTk3LCA2NiwgODIsIDczLCA2NywgNzUsIDEyOCwgNjYsIDgyLCA2OSwgODYsIDczLCAKKyAgICA4MywgMTI4LCA2NiwgODIsIDY5LCA4NiwgNjksIDQ1LCA3NywgNjUsIDY3LCA4MiwgNzksIDc4LCAxMjgsIDY2LCA4MiwgNjksIAorICAgIDg2LCAxOTcsIDY2LCA4MiwgNjksIDY1LCA4NCwgMjAwLCA2NiwgODIsIDY5LCA2NSwgNzUsIDg0LCA3MiwgODIsIDc5LCA4NSwgCisgICAgNzEsIDcyLCAxMjgsIDY2LCA4MiwgNjksIDY1LCA2OCwgMTI4LCA2NiwgODIsIDY4LCAxOTMsIDY2LCA4MiwgNjUsIDc4LCAKKyAgICA2NywgNzIsIDczLCA3OCwgMTk5LCA2NiwgODIsIDY1LCA3OCwgNjcsIDcyLCAxMjgsIDY2LCA4MiwgNjUsIDc4LCA2NywgCisgICAgMjAwLCA2NiwgODIsIDY1LCA3NSwgNjcsIDY5LCA4NCwgMTI4LCA2NiwgODIsIDY1LCA2NywgNzUsIDY5LCA4NCwgNjksIAorICAgIDE5NiwgNjYsIDgyLCA2NSwgNjcsIDc1LCA2OSwgMjEyLCA2NiwgODIsIDY1LCA2NywgNjksIDEyOCwgNjYsIDgxLCAxMjgsIAorICAgIDY2LCA4MCwgNzIsIDEyOCwgNjYsIDc5LCA4OSwgMTI4LCA2NiwgNzksIDg3LCA4NCwgNzMsIDY5LCAxMjgsIDY2LCA3OSwgCisgICAgODcsIDg0LCA3MywgMTk3LCA2NiwgNzksIDg3LCA3NiwgNzMsIDc4LCA3MSwgMTI4LCA2NiwgNzksIDg3LCA3NiwgMTI4LCAKKyAgICA2NiwgNzksIDg3LCA3MywgNzgsIDE5OSwgNjYsIDc5LCAyMTUsIDY2LCA3OSwgODUsIDgxLCA4NSwgNjksIDg0LCAxMjgsIAorICAgIDY2LCA3OSwgODUsIDc4LCA2OCwgNjUsIDgyLCAyMTcsIDY2LCA3OSwgODQsIDg0LCA3OSwgNzcsIDQ1LCA3NiwgNzMsIDcxLCAKKyAgICA3MiwgODQsIDY5LCAxOTYsIDY2LCA3OSwgODQsIDg0LCA3OSwgNzcsIDEyOCwgNjYsIDc5LCA4NCwgODQsIDc5LCAyMDUsIAorICAgIDY2LCA3OSwgODQsIDg0LCA3NiwgNjksIDEyOCwgNjYsIDc5LCA4NCwgODQsIDc2LCAxOTcsIDY2LCA3OSwgODQsIDIwMCwgCisgICAgNjYsIDc5LCA4MiwgODUsIDg0LCA3OSwgMTI4LCA2NiwgNzksIDgyLCA2NSwgODgsIDQ1LCA1MSwgMTI4LCA2NiwgNzksIDgyLCAKKyAgICA2NSwgODgsIDQ1LCA1MCwgMTI4LCA2NiwgNzksIDgyLCA2NSwgODgsIDEyOCwgNjYsIDc5LCA4MCwgNzksIDc3LCA3OSwgNzAsIAorICAgIDIwNywgNjYsIDc5LCA3OSwgODQsIDgzLCAxMjgsIDY2LCA3OSwgNzksIDg0LCAxMjgsIDY2LCA3OSwgNzksIDc3LCA2OSwgCisgICAgODIsIDY1LCA3OCwgNzEsIDEyOCwgNjYsIDc5LCA3OSwgNzUsIDgzLCAxMjgsIDY2LCA3OSwgNzksIDc1LCA3NywgNjUsIDgyLCAKKyAgICA3NSwgMTI4LCA2NiwgNzksIDc5LCA3NSwgNzcsIDY1LCA4MiwgMjAzLCA2NiwgNzksIDc4LCA2OSwgMTI4LCA2NiwgNzksIAorICAgIDc3LCA2NiwgMTI4LCA2NiwgNzksIDc3LCAxMjgsIDY2LCA3OSwgNzYsIDg0LCAxMjgsIDY2LCA3OSwgNzYsIDIxMiwgNjYsIAorICAgIDc5LCA3MiwgNjUsIDczLCA4MiwgNzMsIDE5NSwgNjYsIDc5LCA2OCwgODksIDEyOCwgNjYsIDc5LCA2NSwgODIsIDEyOCwgCisgICAgNjYsIDc5LCA2NSwgMTI4LCA2NiwgNzYsIDg1LCA2OSwgMTI4LCA2NiwgNzYsIDg1LCAxOTcsIDY2LCA3NiwgNzksIDg3LCAKKyAgICA3MCwgNzMsIDgzLCA3MiwgMTI4LCA2NiwgNzYsIDc5LCA4MywgODMsIDc5LCA3NywgMTI4LCA2NiwgNzYsIDc5LCA3OSwgNjgsIAorICAgIDEyOCwgNjYsIDc2LCA3OSwgNzgsIDE5NiwgNjYsIDc2LCA3OSwgNjcsIDc1LCAxMjgsIDY2LCA3NiwgNjksIDc4LCA2OCwgCisgICAgNjksIDE5NiwgNjYsIDc2LCA2NSwgNzgsIDc1LCAxMjgsIDY2LCA3NiwgNjUsIDc4LCAyMDMsIDY2LCA3NiwgNjUsIDY4LCAKKyAgICAxOTcsIDY2LCA3NiwgNjUsIDY3LCA3NSwgNzAsIDc5LCA3OSwgMjEyLCA2NiwgNzYsIDY1LCA2NywgNzUsIDQ1LCA3NiwgNjksIAorICAgIDg0LCA4NCwgNjksIDIxMCwgNjYsIDc2LCA2NSwgNjcsIDc1LCA0NSwgNzAsIDY5LCA2NSwgODQsIDcyLCA2OSwgODIsIDY5LCAKKyAgICAxOTYsIDY2LCA3NiwgNjUsIDY3LCA3NSwgMTI4LCA2NiwgNzUsIDY1LCAxNzMsIDY2LCA3MywgODQsIDg0LCA2OSwgODIsIAorICAgIDEyOCwgNjYsIDczLCA4NCwgNzMsIDc4LCAxOTksIDY2LCA3MywgODMsIDc3LCA4NSwgODQsIDIwMCwgNjYsIDczLCA4MywgCisgICAgNzcsIDczLCA3NiwgNzYsIDY1LCAyMDAsIDY2LCA3MywgODMsIDcyLCA3OSwgODAsIDEyOCwgNjYsIDczLCA4MywgNjksIDY3LCAKKyAgICA4NCwgNzMsIDc4LCAxOTksIDY2LCA3MywgODMsIDY1LCA3MiwgMTI4LCA2NiwgNzMsIDgyLCA4NSwgMTI4LCA2NiwgNzMsIAorICAgIDgyLCA4NCwgNzIsIDY4LCA2NSwgMjE3LCA2NiwgNzMsIDgyLCA3MSwgNjUsIDEyOCwgNjYsIDczLCA4MiwgNjgsIDEyOCwgCisgICAgNjYsIDczLCA3OSwgNzIsIDY1LCA5MCwgNjUsIDgyLCAxOTYsIDY2LCA3MywgNzgsIDc5LCA2NywgODUsIDc2LCA2NSwgMjEwLCAKKyAgICA2NiwgNzMsIDc4LCA2OCwgNzMsIDc4LCAxOTksIDY2LCA3MywgNzgsIDY4LCA3MywgMTI4LCA2NiwgNzMsIDc4LCA2NSwgODIsIAorICAgIDIxNywgNjYsIDczLCA3NiwgNzYsIDczLCA2NSwgODIsIDY4LCA4MywgMTI4LCA2NiwgNzMsIDc2LCA2NSwgNjYsIDczLCA2NSwgCisgICAgMjA0LCA2NiwgNzMsIDc1LCA3MywgNzgsIDczLCAxMjgsIDY2LCA3MywgNzEsIDEyOCwgNjYsIDczLCAxOTksIDY2LCA3MywgCisgICAgNjksIDg0LCAxMjgsIDY2LCA3MywgNjgsIDY5LCA3OCwgODQsIDY1LCAyMDQsIDY2LCA3MywgNjgsIDY1LCA3NSwgODUsIDc5LCAKKyAgICAyMDYsIDY2LCA3MywgNjcsIDg5LCA2NywgNzYsIDczLCA4MywgODQsIDEyOCwgNjYsIDczLCA2NywgODksIDY3LCA3NiwgNjksIAorICAgIDgzLCAxMjgsIDY2LCA3MywgNjcsIDg5LCA2NywgNzYsIDY5LCAxMjgsIDY2LCA3MywgNjcsIDY5LCA4MCwgODMsIDEyOCwgCisgICAgNjYsIDczLCA2NiwgNzYsIDY5LCA0NSwgNjcsIDgyLCA2OSwgMTk3LCA2NiwgNzMsIDY2LCAxMjgsIDY2LCAyMDEsIDY2LCAKKyAgICA3MiwgODUsIDEyOCwgNjYsIDcyLCA3OSwgNzksIDEyOCwgNjYsIDcyLCA3OSwgMTI4LCA2NiwgNzIsIDczLCAxMjgsIDY2LCAKKyAgICA3MiwgNjksIDg0LCA3MiwgMTI4LCA2NiwgNzIsIDY5LCA2OSwgMTI4LCA2NiwgNzIsIDY5LCAxMjgsIDY2LCA3MiwgNjUsIAorICAgIDg0LCA4NCwgNzMsIDgwLCA4MiwgNzksIDc2LCAyMTMsIDY2LCA3MiwgNjUsIDc3LCAxMjgsIDY2LCA3MiwgNjUsIDY1LCAKKyAgICAxMjgsIDY2LCA3MiwgNjUsIDEyOCwgNjYsIDY5LCA4OSwgODksIDY1LCA3NiwgMTI4LCA2NiwgNjksIDg4LCAxMjgsIDY2LCAKKyAgICA2OSwgODYsIDY5LCA4MiwgNjUsIDcxLCA2OSwgMTI4LCA2NiwgNjksIDg0LCA4NywgNjksIDY5LCA3OCwgMTI4LCA2NiwgNjksIAorICAgIDg0LCA4NywgNjksIDY5LCAyMDYsIDY2LCA2OSwgODQsIDcyLCAxMjgsIDY2LCA2OSwgODQsIDY1LCAxMjgsIDY2LCA2OSwgCisgICAgODQsIDE5MywgNjYsIDY5LCAyMTIsIDY2LCA2OSwgODMsIDczLCA2OCwgMTk3LCA2NiwgNjksIDgyLCA3NSwgNjUsIDc4LCAKKyAgICA2NSwgMjA2LCA2NiwgNjksIDgyLCA2NiwgNjksIDIxMCwgNjYsIDY5LCA4MCwgMTI4LCA2NiwgNjksIDc5LCA4MiwgMTk1LCAKKyAgICA2NiwgNjksIDc4LCA5MCwgNjksIDc4LCAxOTcsIDY2LCA2OSwgNzgsIDg0LCAyMDcsIDY2LCA2OSwgNzgsIDY4LCA2OSwgCisgICAgMTI4LCA2NiwgNjksIDc4LCA2OCwgMTI4LCA2NiwgNjksIDIwNiwgNjYsIDY5LCA3NiwgODQsIDEyOCwgNjYsIDY5LCA3NiwgCisgICAgMjEyLCA2NiwgNjksIDc2LCA3OSwgMjE1LCA2NiwgNjksIDc2LCA3NiwgMTI4LCA2NiwgNjksIDc2LCAyMDQsIDY2LCA2OSwgCisgICAgNzYsIDcxLCA4NCwgNzIsIDc5LCAyMTAsIDY2LCA2OSwgNzYsIDEyOCwgNjYsIDY5LCA3MywgODQsIDcyLCAxMjgsIDY2LCAKKyAgICA2OSwgNzIsIDczLCA3OCwgMTk2LCA2NiwgNjksIDcyLCA2OSwgNzIsIDEyOCwgNjYsIDY5LCA3MiwgNjksIDIwMCwgNjYsIAorICAgIDY5LCA3MiwgMTI4LCA2NiwgNjksIDIwMCwgNjYsIDY5LCA3MSwgNzMsIDc4LCA3OCwgNzMsIDc4LCA3MSwgMTI4LCA2NiwgCisgICAgNjksIDcxLCA3MywgNzgsIDc4LCA2OSwgODIsIDEyOCwgNjYsIDY5LCA3MSwgNzMsIDIwNiwgNjYsIDY5LCA3MCwgNzksIDgyLCAKKyAgICAxOTcsIDY2LCA2OSwgNjksIDg0LCA3NiwgNjksIDEyOCwgNjYsIDY5LCA2OSwgODQsIDY1LCAxMjgsIDY2LCA2OSwgNjksIAorICAgIDIxMCwgNjYsIDY5LCA2OSwgNzIsIDczLCA4NiwgNjksIDEyOCwgNjYsIDY5LCA2OSwgNzIsIDEyOCwgNjYsIDY5LCA2OSwgCisgICAgMjAwLCA2NiwgNjksIDY3LCA2NSwgODUsIDgzLCA2OSwgMTI4LCA2NiwgNjksIDY1LCA4NiwgNjksIDIxMCwgNjYsIDY5LCAKKyAgICA2NSwgODQsIDczLCA3OCwgMTk5LCA2NiwgNjksIDY1LCA4NCwgMTI4LCA2NiwgNjksIDY1LCAyMTAsIDY2LCA2OSwgNjUsIAorICAgIDc4LCAxMjgsIDY2LCA2OSwgNjUsIDc3LCA2OSwgMTk2LCA2NiwgNjcsIDY1LCA2OCwgMTI4LCA2NiwgNjcsIDY1LCAxOTYsIAorICAgIDY2LCA2NiwgODksIDg4LCAxMjgsIDY2LCA2NiwgODksIDg0LCAxMjgsIDY2LCA2NiwgODksIDgwLCAxMjgsIDY2LCA2NiwgCisgICAgODksIDEyOCwgNjYsIDY2LCA4NSwgODgsIDEyOCwgNjYsIDY2LCA4NSwgODQsIDEyOCwgNjYsIDY2LCA4NSwgODIsIDg4LCAKKyAgICAxMjgsIDY2LCA2NiwgODUsIDgyLCAxMjgsIDY2LCA2NiwgODUsIDgwLCAxMjgsIDY2LCA2NiwgODUsIDc5LCA4OCwgMTI4LCAKKyAgICA2NiwgNjYsIDg1LCA3OSwgODAsIDEyOCwgNjYsIDY2LCA4NSwgNzksIDEyOCwgNjYsIDY2LCA4NSwgMTI4LCA2NiwgNjYsIAorICAgIDc5LCA4OCwgMTI4LCA2NiwgNjYsIDc5LCA4NCwgMTI4LCA2NiwgNjYsIDc5LCA4MCwgMTI4LCA2NiwgNjYsIDc5LCAxMjgsIAorICAgIDY2LCA2NiwgNzMsIDg4LCAxMjgsIDY2LCA2NiwgNzMsIDgwLCAxMjgsIDY2LCA2NiwgNzMsIDY5LCA4OCwgMTI4LCA2NiwgCisgICAgNjYsIDczLCA2OSwgODQsIDEyOCwgNjYsIDY2LCA3MywgNjksIDgwLCAxMjgsIDY2LCA2NiwgNzMsIDY5LCAxMjgsIDY2LCAKKyAgICA2NiwgNzMsIDEyOCwgNjYsIDY2LCA2OSwgODgsIDEyOCwgNjYsIDY2LCA2OSwgODAsIDEyOCwgNjYsIDY2LCA2OSwgNjksIAorICAgIDEyOCwgNjYsIDY2LCA2OSwgMTI4LCA2NiwgNjYsIDY1LCA4OCwgMTI4LCA2NiwgNjYsIDY1LCA4NCwgMTI4LCA2NiwgNjYsIAorICAgIDY1LCA4MCwgMTI4LCA2NiwgNjYsIDY1LCA2NSwgMTI4LCA2NiwgNjYsIDY1LCAxMjgsIDY2LCA2NSwgODksIDY1LCA3OCwgCisgICAgNzgsIDY1LCAxMjgsIDY2LCA2NSwgODUsIDEyOCwgNjYsIDY1LCA4NCwgODQsIDY5LCA4MiwgODksIDEyOCwgNjYsIDY1LCAKKyAgICA4NCwgNzIsIDg0LCA4NSwgNjYsIDEyOCwgNjYsIDY1LCA4NCwgNzIsIDY1LCA3NywgNjUsIDgzLCA2NSwgODQsIDEyOCwgNjYsIAorICAgIDY1LCA4NCwgNzIsIDEyOCwgNjYsIDY1LCA4NCwgMjAwLCA2NiwgNjUsIDg0LCA2NSwgMjAzLCA2NiwgNjUsIDgzLCA4MywgCisgICAgNjUsIDEyOCwgNjYsIDY1LCA4MywgNzUsIDY5LCA4NCwgNjYsIDY1LCA3NiwgMjA0LCA2NiwgNjUsIDgzLCA3MiwgNzUsIDczLCAKKyAgICAyMTAsIDY2LCA2NSwgODMsIDcyLCAxMjgsIDY2LCA2NSwgODMsIDY5LCA2NiwgNjUsIDc2LCA3NiwgMTI4LCA2NiwgNjUsIAorICAgIDgzLCA2OSwgMTI4LCA2NiwgNjUsIDgzLCAxOTcsIDY2LCA2NSwgODIsIDgzLCAxMjgsIDY2LCA2NSwgODIsIDgyLCA3MywgCisgICAgNjksIDgyLCAxMjgsIDY2LCA2NSwgODIsIDgyLCA2OSwgNzUsIDcyLCAxMjgsIDY2LCA2NSwgODIsIDgyLCA2OSwgNjksIAorICAgIDEyOCwgNjYsIDY1LCA4MiwgODIsIDY5LCAxOTcsIDY2LCA2NSwgODIsIDc2LCA3MywgNzgsIDY5LCAxMjgsIDY2LCA2NSwgCisgICAgODIsIDc2LCA2OSwgODksIDEyOCwgNjYsIDY1LCA4MiwgNzMsIDg5LCA3OSwgNzksIDgzLCA2NSwgNzgsIDEyOCwgNjYsIDY1LCAKKyAgICA4MiwgNjYsIDY5LCAyMTAsIDY2LCA2NSwgODIsIDE5NCwgNjYsIDY1LCA4MiwgNjUsIDUwLCAxMjgsIDY2LCA2NSwgMjEwLCAKKyAgICA2NiwgNjUsIDc4LCA4NCwgNzksIDY3LCAxMjgsIDY2LCA2NSwgNzgsIDc1LCA3OCwgNzksIDg0LCAxOTcsIDY2LCA2NSwgNzgsIAorICAgIDc1LCAxMjgsIDY2LCA2NSwgNzgsIDIwMywgNjYsIDY1LCA3OCwgNjgsIDEyOCwgNjYsIDY1LCA3OCwgNjUsIDc4LCA2NSwgCisgICAgMTI4LCA2NiwgNjUsIDc4LCA1MCwgMTI4LCA2NiwgNjUsIDc4LCAxNzgsIDY2LCA2NSwgNzcsIDY2LCA3OSwgNzksIDgzLCAKKyAgICAxMjgsIDY2LCA2NSwgNzcsIDY2LCA3OSwgNzksIDEyOCwgNjYsIDY1LCA3NiwgODUsIDY4LCA2NSwgMTI4LCA2NiwgNjUsIAorICAgIDc2LCA3NiwgNzksIDIxMiwgNjYsIDY1LCA3NiwgNzYsIDc5LCA3OSwgNzgsIDQ1LCA4MywgODAsIDc5LCA3NSwgNjksIDE5NiwgCisgICAgNjYsIDY1LCA3NiwgNzYsIDc5LCA3OSwgNzgsIDEyOCwgNjYsIDY1LCA3NiwgNjUsIDcxLCAxMjgsIDY2LCA2NSwgNzYsIAorICAgIDEyOCwgNjYsIDY1LCAyMDQsIDY2LCA2NSwgNzMsIDgyLCA3NSwgNjUsIDc4LCAxMjgsIDY2LCA2NSwgNzMsIDc3LCA2NSwgCisgICAgNzMsIDEyOCwgNjYsIDY1LCA3MiwgODQsIDEyOCwgNjYsIDY1LCA3MiwgNzMsIDgyLCA3MSwgNzksIDc3LCA4NSwgNzUsIDcyLCAKKyAgICA2NSwgMTI4LCA2NiwgNjUsIDcyLCA2NSwgODIsIDUwLCAxMjgsIDY2LCA2NSwgNzIsIDEyOCwgNjYsIDY1LCA3MSwgNzEsIAorICAgIDY1LCA3MSwgMTk3LCA2NiwgNjUsIDcxLCA2NSwgMTI4LCA2NiwgNjUsIDcxLCA1MSwgMTI4LCA2NiwgNjUsIDE5OSwgNjYsIAorICAgIDY1LCA2OCwgNzEsIDY5LCA4MiwgMTI4LCA2NiwgNjUsIDY4LCA3MSwgNjksIDEyOCwgNjYsIDY1LCA2OCwgMTI4LCA2NiwgCisgICAgNjUsIDY3LCA4NCwgODIsIDczLCA2NSwgMjA2LCA2NiwgNjUsIDY3LCA3NSwgODcsIDY1LCA4MiwgNjgsIDEyOCwgNjYsIDY1LCAKKyAgICA2NywgNzUsIDgzLCA4MCwgNjUsIDY3LCA2OSwgMTI4LCA2NiwgNjUsIDY3LCA3NSwgODMsIDc2LCA2NSwgODMsIDcyLCAxMjgsIAorICAgIDY2LCA2NSwgNjcsIDc1LCA4MywgNzYsIDY1LCA4MywgMjAwLCA2NiwgNjUsIDY3LCA3NSwgNzIsIDY1LCA3OCwgMTk2LCA2NiwgCisgICAgNjUsIDY3LCA3NSwgNDUsIDg0LCA3MywgNzYsIDg0LCA2OSwgMTk2LCA2NiwgNjUsIDY3LCA3NSwgMTI4LCA2NiwgNjUsIDY3LCAKKyAgICAyMDMsIDY2LCA2NSwgNjYsIDg5LCAxMjgsIDY2LCA2NSwgNjYsIDIxNywgNjYsIDY1LCA2NSwgODIsIDY5LCA4MiwgODUsIAorICAgIDEyOCwgNjYsIDY1LCA0NSwgNTAsIDEyOCwgNjYsIDUxLCA0OCwgNTMsIDEyOCwgNjYsIDUwLCA1MywgNTcsIDEyOCwgNjYsIAorICAgIDUwLCA1MywgNTYsIDEyOCwgNjYsIDUwLCA1MywgNTUsIDEyOCwgNjYsIDUwLCA1MywgNTQsIDEyOCwgNjYsIDUwLCA1MywgCisgICAgNTMsIDEyOCwgNjYsIDUwLCA1MywgMTgwLCA2NiwgNTAsIDUzLCA1MSwgMTI4LCA2NiwgNTAsIDUzLCA1MCwgMTI4LCA2NiwgCisgICAgNTAsIDUzLCA0OSwgMTI4LCA2NiwgNTAsIDUzLCA0OCwgMTI4LCA2NiwgNTAsIDUyLCA1NywgMTI4LCA2NiwgNTAsIDUyLCAKKyAgICA1NiwgMTI4LCA2NiwgNTAsIDUyLCAxODMsIDY2LCA1MCwgNTIsIDU0LCAxMjgsIDY2LCA1MCwgNTIsIDUzLCAxMjgsIDY2LCAKKyAgICA1MCwgNTIsIDE3OSwgNjYsIDUwLCA1MiwgMTc4LCA2NiwgNTAsIDUyLCAxNzcsIDY2LCA1MCwgNTIsIDE3NiwgNjYsIDUwLCAKKyAgICA1MSwgNTQsIDEyOCwgNjYsIDUwLCA1MSwgNTIsIDEyOCwgNjYsIDUwLCA1MSwgMTc5LCA2NiwgNTAsIDUxLCA1MCwgMTI4LCAKKyAgICA2NiwgNTAsIDUxLCAxNzcsIDY2LCA1MCwgNTEsIDE3NiwgNjYsIDUwLCA1MCwgNTcsIDEyOCwgNjYsIDUwLCA1MCwgNTYsIAorICAgIDEyOCwgNjYsIDUwLCA1MCwgNTUsIDEyOCwgNjYsIDUwLCA1MCwgNTQsIDEyOCwgNjYsIDUwLCA1MCwgMTgxLCA2NiwgNTAsIAorICAgIDUwLCA1MCwgMTI4LCA2NiwgNTAsIDUwLCA0OSwgMTI4LCA2NiwgNTAsIDUwLCAxNzYsIDY2LCA1MCwgNDksIDU3LCAxMjgsIAorICAgIDY2LCA1MCwgNDksIDU2LCAxMjgsIDY2LCA1MCwgNDksIDU1LCAxMjgsIDY2LCA1MCwgNDksIDU0LCAxMjgsIDY2LCA1MCwgCisgICAgNDksIDUzLCAxMjgsIDY2LCA1MCwgNDksIDUyLCAxMjgsIDY2LCA1MCwgNDksIDUxLCAxMjgsIDY2LCA1MCwgNDksIDUwLCAKKyAgICAxMjgsIDY2LCA1MCwgNDksIDQ5LCAxMjgsIDY2LCA1MCwgNDksIDQ4LCAxMjgsIDY2LCA1MCwgNDgsIDU3LCAxMjgsIDY2LCAKKyAgICA1MCwgNDgsIDU2LCAxMjgsIDY2LCA1MCwgNDgsIDU1LCAxMjgsIDY2LCA1MCwgNDgsIDU0LCAxMjgsIDY2LCA1MCwgNDgsIAorICAgIDUzLCAxMjgsIDY2LCA1MCwgNDgsIDUyLCAxMjgsIDY2LCA1MCwgNDgsIDUxLCAxMjgsIDY2LCA1MCwgNDgsIDUwLCAxMjgsIAorICAgIDY2LCA1MCwgNDgsIDQ5LCAxMjgsIDY2LCA1MCwgNDgsIDQ4LCAxMjgsIDY2LCA0OSwgNTcsIDE3NywgNjYsIDQ5LCA1NywgCisgICAgNDgsIDEyOCwgNjYsIDQ5LCA1NiwgNTcsIDEyOCwgNjYsIDQ5LCA1NiwgNTMsIDEyOCwgNjYsIDQ5LCA1NiwgNTIsIDEyOCwgCisgICAgNjYsIDQ5LCA1NiwgNTEsIDEyOCwgNjYsIDQ5LCA1NiwgNTAsIDEyOCwgNjYsIDQ5LCA1NiwgNDksIDEyOCwgNjYsIDQ5LCAKKyAgICA1NiwgNDgsIDEyOCwgNjYsIDQ5LCA1NSwgNTcsIDEyOCwgNjYsIDQ5LCA1NSwgNTYsIDEyOCwgNjYsIDQ5LCA1NSwgNTUsIAorICAgIDEyOCwgNjYsIDQ5LCA1NSwgMTgyLCA2NiwgNDksIDU1LCA1MiwgMTI4LCA2NiwgNDksIDU1LCAxNzksIDY2LCA0OSwgNTUsIAorICAgIDUwLCAxMjgsIDY2LCA0OSwgNTUsIDQ5LCAxMjgsIDY2LCA0OSwgNTUsIDQ4LCAxMjgsIDY2LCA0OSwgNTQsIDU3LCAxMjgsIAorICAgIDY2LCA0OSwgNTQsIDU2LCAxMjgsIDY2LCA0OSwgNTQsIDU1LCAxMjgsIDY2LCA0OSwgNTQsIDU0LCAxMjgsIDY2LCA0OSwgCisgICAgNTQsIDUzLCAxMjgsIDY2LCA0OSwgNTQsIDUyLCAxMjgsIDY2LCA0OSwgNTQsIDE3OSwgNjYsIDQ5LCA1NCwgMTc4LCA2NiwgCisgICAgNDksIDU0LCA0OSwgMTI4LCA2NiwgNDksIDU0LCA0OCwgMTI4LCA2NiwgNDksIDUzLCAxODUsIDY2LCA0OSwgNTMsIDU2LCAKKyAgICAxMjgsIDY2LCA0OSwgNTMsIDU1LCAxMjgsIDY2LCA0OSwgNTMsIDE4MiwgNjYsIDQ5LCA1MywgNTMsIDEyOCwgNjYsIDQ5LCAKKyAgICA1MywgNTIsIDEyOCwgNjYsIDQ5LCA1MywgNTEsIDEyOCwgNjYsIDQ5LCA1MywgNTAsIDEyOCwgNjYsIDQ5LCA1MywgMTc3LCAKKyAgICA2NiwgNDksIDUzLCA0OCwgMTI4LCA2NiwgNDksIDUyLCA1NCwgMTI4LCA2NiwgNDksIDUyLCAxODEsIDY2LCA0OSwgNTIsIAorICAgIDUwLCAxMjgsIDY2LCA0OSwgNTIsIDE3NywgNjYsIDQ5LCA1MiwgMTc2LCA2NiwgNDksIDUxLCAxODEsIDY2LCA0OSwgNTEsIAorICAgIDE3OSwgNjYsIDQ5LCA1MSwgNTAsIDEyOCwgNjYsIDQ5LCA1MSwgMTc3LCA2NiwgNDksIDUxLCAxNzYsIDY2LCA0OSwgNTAsIAorICAgIDE4NCwgNjYsIDQ5LCA1MCwgMTgzLCA2NiwgNDksIDUwLCAxODEsIDY2LCA0OSwgNTAsIDE3OSwgNjYsIDQ5LCA1MCwgMTc4LCAKKyAgICA2NiwgNDksIDUwLCAxNzcsIDY2LCA0OSwgNTAsIDE3NiwgNjYsIDQ5LCA0OCwgNTcsIDIwNSwgNjYsIDQ5LCA0OCwgNTcsIAorICAgIDE5OCwgNjYsIDQ5LCA0OCwgNTYsIDIwNSwgNjYsIDQ5LCA0OCwgNTYsIDE5OCwgNjYsIDQ5LCA0OCwgNTUsIDIwNSwgNjYsIAorICAgIDQ5LCA0OCwgNTUsIDE5OCwgNjYsIDQ5LCA0OCwgNTQsIDIwNSwgNjYsIDQ5LCA0OCwgNTQsIDE5OCwgNjYsIDQ5LCA0OCwgCisgICAgNTMsIDIwNSwgNjYsIDQ5LCA0OCwgNTMsIDE5OCwgNjYsIDQ5LCA0OCwgMTgxLCA2NiwgNDksIDQ4LCAxODAsIDY2LCA0OSwgCisgICAgNDgsIDE3OCwgNjYsIDQ5LCA0OCwgMTc2LCA2NiwgNDgsIDU3LCAxNzcsIDY2LCA0OCwgNTcsIDE3NiwgNjYsIDQ4LCA1NiwgCisgICAgNTcsIDEyOCwgNjYsIDQ4LCA1NiwgMTgzLCA2NiwgNDgsIDU2LCA1NCwgMTI4LCA2NiwgNDgsIDU2LCAxODEsIDY2LCA0OCwgCisgICAgNTYsIDUxLCAxMjgsIDY2LCA0OCwgNTYsIDUwLCAxMjgsIDY2LCA0OCwgNTYsIDE3NywgNjYsIDQ4LCA1NiwgMTc2LCA2NiwgCisgICAgNDgsIDU1LCA1NywgMTI4LCA2NiwgNDgsIDU1LCAxODQsIDY2LCA0OCwgNTUsIDE4MywgNjYsIDQ4LCA1NSwgMTgyLCA2NiwgCisgICAgNDgsIDU1LCAxODEsIDY2LCA0OCwgNTUsIDE4MCwgNjYsIDQ4LCA1NSwgMTc5LCA2NiwgNDgsIDU1LCAxNzgsIDY2LCA0OCwgCisgICAgNTUsIDE3NywgNjYsIDQ4LCA1NSwgMTc2LCA2NiwgNDgsIDU0LCAxODUsIDY2LCA0OCwgNTQsIDE4NCwgNjYsIDQ4LCA1NCwgCisgICAgMTgzLCA2NiwgNDgsIDU0LCAxODIsIDY2LCA0OCwgNTQsIDE4MSwgNjYsIDQ4LCA1NCwgNTIsIDEyOCwgNjYsIDQ4LCA1NCwgCisgICAgNTEsIDEyOCwgNjYsIDQ4LCA1NCwgMTc4LCA2NiwgNDgsIDU0LCAxNzcsIDY2LCA0OCwgNTQsIDE3NiwgNjYsIDQ4LCA1MywgCisgICAgMTg1LCA2NiwgNDgsIDUzLCAxODQsIDY2LCA0OCwgNTMsIDE4MywgNjYsIDQ4LCA1MywgNTQsIDEyOCwgNjYsIDQ4LCA1MywgCisgICAgMTgxLCA2NiwgNDgsIDUzLCAxODAsIDY2LCA0OCwgNTMsIDE3OSwgNjYsIDQ4LCA1MywgMTc4LCA2NiwgNDgsIDUzLCAxNzcsIAorICAgIDY2LCA0OCwgNTMsIDE3NiwgNjYsIDQ4LCA1MiwgNTcsIDEyOCwgNjYsIDQ4LCA1MiwgMTg0LCA2NiwgNDgsIDUyLCA1NSwgCisgICAgMTI4LCA2NiwgNDgsIDUyLCAxODIsIDY2LCA0OCwgNTIsIDE4MSwgNjYsIDQ4LCA1MiwgMTgwLCA2NiwgNDgsIDUyLCAxNzksIAorICAgIDY2LCA0OCwgNTIsIDE3OCwgNjYsIDQ4LCA1MiwgMTc3LCA2NiwgNDgsIDUyLCAxNzYsIDY2LCA0OCwgNTEsIDE4NSwgNjYsIAorICAgIDQ4LCA1MSwgMTg0LCA2NiwgNDgsIDUxLCAxODMsIDY2LCA0OCwgNTEsIDE4MiwgNjYsIDQ4LCA1MSwgNTIsIDEyOCwgNjYsIAorICAgIDQ4LCA1MSwgMTc5LCA2NiwgNDgsIDUxLCAxNzgsIDY2LCA0OCwgNTEsIDE3NywgNjYsIDQ4LCA1MSwgMTc2LCA2NiwgNDgsIAorICAgIDUwLCAxODUsIDY2LCA0OCwgNTAsIDE4NCwgNjYsIDQ4LCA1MCwgMTgzLCA2NiwgNDgsIDUwLCAxODIsIDY2LCA0OCwgNTAsIAorICAgIDE4MSwgNjYsIDQ4LCA1MCwgMTgwLCA2NiwgNDgsIDUwLCAxNzksIDY2LCA0OCwgNTAsIDUwLCAxMjgsIDY2LCA0OCwgNTAsIAorICAgIDE3NywgNjYsIDQ4LCA1MCwgMTc2LCA2NiwgNDgsIDQ5LCA1NywgMTI4LCA2NiwgNDgsIDQ5LCA1NiwgMTI4LCA2NiwgNDgsIAorICAgIDQ5LCAxODMsIDY2LCA0OCwgNDksIDE4MiwgNjYsIDQ4LCA0OSwgMTgxLCA2NiwgNDgsIDQ5LCAxODAsIDY2LCA0OCwgNDksIAorICAgIDE3OSwgNjYsIDQ4LCA0OSwgMTc4LCA2NiwgNDgsIDQ5LCAxNzcsIDY2LCA0OCwgNDksIDE3NiwgNjYsIDQ4LCA0OCwgNTcsIAorICAgIDEyOCwgNjYsIDQ4LCA0OCwgMTg1LCA2NiwgNDgsIDQ4LCA1NiwgMTI4LCA2NiwgNDgsIDQ4LCAxODQsIDY2LCA0OCwgNDgsIAorICAgIDU1LCAxMjgsIDY2LCA0OCwgNDgsIDE4MywgNjYsIDQ4LCA0OCwgNTQsIDEyOCwgNjYsIDQ4LCA0OCwgMTgyLCA2NiwgNDgsIAorICAgIDQ4LCA1MywgNjUsIDEyOCwgNjYsIDQ4LCA0OCwgNTMsIDEyOCwgNjYsIDQ4LCA0OCwgMTgxLCA2NiwgNDgsIDQ4LCA1MiwgCisgICAgMTI4LCA2NiwgNDgsIDQ4LCAxODAsIDY2LCA0OCwgNDgsIDUxLCAxMjgsIDY2LCA0OCwgNDgsIDE3OSwgNjYsIDQ4LCA0OCwgCisgICAgNTAsIDEyOCwgNjYsIDQ4LCA0OCwgMTc4LCA2NiwgNDgsIDQ4LCA0OSwgMTI4LCA2NiwgNDgsIDQ4LCAxNzcsIDY1LCA5MCwgCisgICAgODUsIDEyOCwgNjUsIDg5LCA2OSwgMjEwLCA2NSwgODksIDY2LCAxMjgsIDY1LCA4OSwgNjUsIDcyLCAxMjgsIDY1LCA4OCwgCisgICAgNjksIDEyOCwgNjUsIDg3LCA2OSwgMTI4LCA2NSwgODYsIDY5LCA4MywgODQsIDY1LCAyMDYsIDY1LCA4NiwgNjksIDgyLCAKKyAgICA2NSwgNzEsIDE5NywgNjUsIDg2LCA2NSwgNzUsIDgyLCA2NSwgNzIsIDY1LCA4MywgNjUsIDc4LCA4OSwgNjUsIDEyOCwgNjUsIAorICAgIDg2LCA2NSwgNzEsIDgyLCA2NSwgNzIsIDY1LCAxMjgsIDY1LCA4NSwgODksIDY1LCA3OCwgNzgsIDY1LCAxMjgsIDY1LCA4NSwgCisgICAgODQsIDg1LCA3NywgNzgsIDEyOCwgNjUsIDg1LCA4NCwgNzksIDc3LCA3OSwgNjYsIDczLCA3NiwgNjksIDEyOCwgNjUsIDg1LCAKKyAgICA4NCwgNzksIDc3LCA2NSwgODQsIDY5LCAxOTYsIDY1LCA4NSwgODMsIDg0LCA4MiwgNjUsIDIwNCwgNjUsIDg1LCA4MiwgNzMsIAorICAgIDgwLCA3MywgNzEsIDc3LCA2OSwgNzgsIDg0LCAxMjgsIDY1LCA4NSwgODIsIDY1LCA3NywgNjUsIDkwLCA2OCwgNjUsIDY1LCAKKyAgICA3MiwgNjUsIDEyOCwgNjUsIDg1LCA4MiwgNjUsIDc3LCA2NSwgOTAsIDY4LCA2NSwgNjUsIDQ1LCA1MCwgMTI4LCA2NSwgODUsIAorICAgIDgyLCA2NSwgNzcsIDY1LCA5MCwgNjgsIDY1LCA2NSwgMTI4LCA2NSwgODUsIDc4LCA3OCwgMTI4LCA2NSwgODUsIDcxLCA4NSwgCisgICAgODMsIDg0LCAxMjgsIDY1LCA4NSwgNzEsIDc3LCA2OSwgNzgsIDg0LCA2NSwgODQsIDczLCA3OSwgMjA2LCA2NSwgODUsIDY5LCAKKyAgICAxMjgsIDY1LCA4NSwgNjYsIDY5LCA4MiwgNzEsIDczLCA3OCwgNjksIDEyOCwgNjUsIDg0LCA4NCwgNzMsIDE5NSwgNjUsIAorICAgIDg0LCA4NCwgNzIsIDY1LCA2NywgNjUsIDc4LCAxMjgsIDY1LCA4NCwgODQsIDY5LCA3OCwgODQsIDczLCA3OSwgNzgsIDEyOCwgCisgICAgNjUsIDg0LCA4NCwgNjUsIDIwMywgNjUsIDg0LCA3OSwgMjA1LCA2NSwgODQsIDc4LCA2NSwgMjAwLCA2NSwgODQsIDc3LCAKKyAgICA2NSwgNjUsIDg1LCAxMjgsIDY1LCA4NCwgNzMsIDg5LCA2NSwgMTI4LCA2NSwgODQsIDcyLCA3NiwgNjksIDg0LCA3MywgCisgICAgMTk1LCA2NSwgODQsIDcyLCA2NSwgODIsIDg2LCA2NSwgODYsIDY5LCA2OCwgNzMsIDE5NSwgNjUsIDg0LCA3MiwgNjUsIDgwLCAKKyAgICA2NSwgODMsIDY3LCA2NSwgMjA2LCA2NSwgODMsIDkwLCAxMjgsIDY1LCA4MywgODksIDg1LCA4MiwgMTkzLCA2NSwgODMsIAorICAgIDg5LCA3NywgODAsIDg0LCA3OSwgODQsIDczLCA2NywgNjUsIDc2LCA3NiwgMjE3LCA2NSwgODMsIDg0LCA4MiwgNzksIDc4LCAKKyAgICA3OSwgNzcsIDczLCA2NywgNjUsIDIwNCwgNjUsIDgzLCA4NCwgODIsIDc5LCA3NiwgNzksIDcxLCA3MywgNjcsIDY1LCAyMDQsIAorICAgIDY1LCA4MywgODQsIDc5LCA3OCwgNzMsIDgzLCA3MiwgNjksIDE5NiwgNjUsIDgzLCA4NCwgNjksIDgyLCA3MywgODMsIDc3LCAKKyAgICAxMjgsIDY1LCA4MywgODQsIDY5LCA4MiwgNzMsIDgzLCA3NSwgMjExLCA2NSwgODMsIDg0LCA2OSwgODIsIDczLCA4MywgNzUsIAorICAgIDEyOCwgNjUsIDgzLCA4NCwgNjksIDgyLCA3MywgODMsIDIwMywgNjUsIDgzLCA4NCwgNjksIDgyLCA3MywgODMsIDY3LCA4NSwgCisgICAgODMsIDEyOCwgNjUsIDgzLCA4MywgODksIDgyLCA3MywgNjUsIDIwNiwgNjUsIDgzLCA4MywgNjksIDgyLCA4NCwgNzMsIDc5LCAKKyAgICA3OCwgMTI4LCA2NSwgODMsIDgwLCA3MywgODIsIDY1LCA4NCwgNzMsIDc5LCA3OCwgMTI4LCA2NSwgODMsIDgwLCA3MywgODIsIAorICAgIDY1LCA4NCwgNjksIDE5NiwgNjUsIDgzLCA4MCwgNjksIDgyLCAxMjgsIDY1LCA4MywgNzMsIDY1LCA0NSwgNjUsIDg1LCA4MywgCisgICAgODQsIDgyLCA2NSwgNzYsIDczLCA2NSwgMTI4LCA2NSwgODMsIDcyLCA3MSwgNjUsIDY2LCAxMjgsIDY1LCA4MywgNzIsIDY5LCAKKyAgICA4MywgMTI4LCA2NSwgODMsIDcyLCA1NywgMTI4LCA2NSwgODMsIDcyLCAxNzgsIDY1LCA4MywgNjcsIDY5LCA3OCwgODQsIAorICAgIDEyOCwgNjUsIDgzLCA2NywgNjksIDc4LCA2OCwgNzMsIDc4LCAxOTksIDY1LCA4MywgNjUsIDc2LCA1MCwgMTI4LCA2NSwgCisgICAgODIsIDg1LCA3MiwgODUsIDY1LCAxMjgsIDY1LCA4MiwgODQsIDczLCA4MywgMjEyLCA2NSwgODIsIDg0LCA3MywgNjcsIDg1LCAKKyAgICA3NiwgNjUsIDg0LCA2OSwgMTk2LCA2NSwgODIsIDg0LCA2NSwgNjYsIDE5NywgNjUsIDgyLCA4MywgNjksIDc5LCA4MywgCisgICAgMTI4LCA2NSwgODIsIDgzLCA2OSwgNzksIDIxMSwgNjUsIDgyLCA4MywgNjksIDc4LCA3MywgNjcsIDEyOCwgNjUsIDgyLCAKKyAgICA4MiwgNzksIDg3LCA4MywgMTI4LCA2NSwgODIsIDgyLCA3OSwgODcsIDIxMSwgNjUsIDgyLCA4MiwgNzksIDg3LCA3MiwgNjksIAorICAgIDY1LCA2OCwgMTI4LCA2NSwgODIsIDgyLCA3OSwgODcsIDcyLCA2OSwgNjUsIDE5NiwgNjUsIDgyLCA4MiwgNzksIDg3LCA0NSwgCisgICAgODQsIDY1LCA3MywgNzYsIDEyOCwgNjUsIDgyLCA4MiwgNzMsIDg2LCA2OSwgMTI4LCA2NSwgODIsIDgyLCA2NSwgODksIAorICAgIDEyOCwgNjUsIDgyLCA4MCwgNjksIDcxLCA3MSwgNzMsIDY1LCA4NCwgMjA3LCA2NSwgODIsIDc5LCA4NSwgODMsIDczLCA3OCwgCisgICAgMTk5LCA2NSwgODIsIDc5LCA4NSwgODIsIDE5MywgNjUsIDgyLCA3OSwgODUsIDc4LCA2OCwgNDUsIDgwLCA4MiwgNzksIDcwLCAKKyAgICA3MywgNzYsIDY5LCAxMjgsIDY1LCA4MiwgNzksIDg1LCA3OCwgMTk2LCA2NSwgODIsIDc3LCA4OSwgMTI4LCA2NSwgODIsIAorICAgIDc3LCA3OSwgODUsIDgyLCAxMjgsIDY1LCA4MiwgMjA1LCA2NSwgODIsIDc2LCA2NSwgODUsIDE5OSwgNjUsIDgyLCA3NSwgCisgICAgODQsIDczLCA3NSwgMjA3LCA2NSwgODIsIDc1LCA2NSwgNjYsIDEyOCwgNjUsIDgyLCA3NSwgNjUsIDY1LCA3OCwgODUsIAorICAgIDEyOCwgNjUsIDgyLCA3MywgODMsIDg0LCA2OSwgODIsIDY1LCAxMjgsIDY1LCA4MiwgNzMsIDgzLCA4NCwgNjksIDgyLCAKKyAgICAxOTMsIDY1LCA4MiwgNzMsIDY5LCA4MywgMTI4LCA2NSwgODIsIDcxLCA3OSwgODQsIDY5LCA4MiwgNzMsIDEyOCwgNjUsIAorICAgIDgyLCA3MSwgNzksIDgzLCA4OSwgNzgsIDg0LCA3MiwgNjksIDg0LCA3OSwgNzgsIDEyOCwgNjUsIDgyLCA3MSwgNzMsIDEyOCwgCisgICAgNjUsIDgyLCA2OSwgODAsIDY1LCAxMjgsIDY1LCA4MiwgNjksIDY1LCAxMjgsIDY1LCA4MiwgNjgsIDcyLCA2NSwgODYsIDczLCAKKyAgICA4MywgNjUsIDgyLCA3MSwgNjUsIDEyOCwgNjUsIDgyLCA2NywgNzIsIDY1LCA3MywgNzksIDc4LCAxMjgsIDY1LCA4MiwgNjcsIAorICAgIDcyLCA2NSwgNzMsIDc5LCAyMDYsIDY1LCA4MiwgNjcsIDcyLCA2NSwgNzMsIDE5NSwgNjUsIDgyLCA2NywgMjAwLCA2NSwgCisgICAgODIsIDY3LCAxMjgsIDY1LCA4MiwgMTk1LCA2NSwgODIsIDY1LCA3NywgNjUsIDczLCAxOTUsIDY1LCA4MiwgNjUsIDY5LCAKKyAgICA2NSwgNjksIDEyOCwgNjUsIDgyLCA2NSwgNjksIDY1LCA0NSwgODUsIDEyOCwgNjUsIDgyLCA2NSwgNjksIDY1LCA0NSwgNzMsIAorICAgIDEyOCwgNjUsIDgyLCA2NSwgNjksIDY1LCA0NSwgNjksIDc5LCAxMjgsIDY1LCA4MiwgNjUsIDY5LCA2NSwgNDUsIDY5LCAKKyAgICAxMjgsIDY1LCA4MiwgNjUsIDY5LCA2NSwgNDUsIDY1LCAxMjgsIDY1LCA4MiwgNjUsIDY4LCAxMjgsIDY1LCA4MiwgNjUsIAorICAgIDE5NiwgNjUsIDgyLCA2NSwgNjYsIDczLCA2NywgNDUsIDczLCA3OCwgNjgsIDczLCAxOTUsIDY1LCA4MiwgNjUsIDY2LCA3MywgCisgICAgNjUsIDIwNiwgNjUsIDgyLCA0NSwgODIsIDY1LCA3MiwgNzcsIDY1LCAyMDYsIDY1LCA4MiwgNDUsIDgyLCA2NSwgNzIsIDY5LCAKKyAgICA2OSwgNzcsIDEyOCwgNjUsIDgxLCA4NSwgNjUsIDgyLCA3MywgODUsIDgzLCAxMjgsIDY1LCA4MSwgODUsIDY1LCA3MCwgNzksIAorICAgIDgyLCA4NCwgNzMsIDgzLCAxMjgsIDY1LCA4MSwgODUsIDE5MywgNjUsIDgwLCA4NSwgMjA2LCA2NSwgODAsIDgyLCA3MywgCisgICAgNzYsIDEyOCwgNjUsIDgwLCA4MCwgODIsIDc5LCA4OCwgNzMsIDc3LCA2NSwgODQsIDY5LCA3NiwgMjE3LCA2NSwgODAsIDgwLCAKKyAgICA4MiwgNzksIDg4LCA3MywgNzcsIDY1LCA4NCwgNjksIDEyOCwgNjUsIDgwLCA4MCwgODIsIDc5LCA2NSwgNjcsIDcyLCA2OSwgCisgICAgMjExLCA2NSwgODAsIDgwLCA4MiwgNzksIDY1LCA2NywgNzIsIDEyOCwgNjUsIDgwLCA4MCwgNzYsIDczLCA2NywgNjUsIDg0LCAKKyAgICA3MywgNzksIDc4LCAxMjgsIDY1LCA4MCwgODAsIDc2LCA3MywgNjcsIDY1LCA4NCwgNzMsIDc5LCAyMDYsIDY1LCA4MCwgNzksIAorICAgIDg0LCA3MiwgNjksIDgzLCAxMjgsIDY1LCA4MCwgNzksIDg0LCA3MiwgNjksIDc3LCA2NSwgMTI4LCA2NSwgODAsIDc5LCA4MywgCisgICAgODQsIDgyLCA3OSwgODAsIDcyLCA2OSwgMTI4LCA2NSwgODAsIDc5LCA4MywgODQsIDgyLCA3OSwgNzAsIDc5LCA4MywgMTI4LCAKKyAgICA2NSwgODAsIDc5LCA4MywgODQsIDgyLCA3OSwgNzAsIDc5LCAyMTEsIDY1LCA4MCwgNzksIDgzLCA4NCwgODIsIDc5LCA3MCwgCisgICAgNzksIDIwMSwgNjUsIDgwLCA3OSwgNjgsIDY5LCA4OCwgNzMsIDY1LCAxMjgsIDY1LCA4MCwgNzksIDY4LCA2OSwgODIsIDc3LCAKKyAgICAxOTMsIDY1LCA4MCwgNzYsIDc5LCA4NSwgNzgsIDEyOCwgNjUsIDgwLCA3NiwgMjAxLCA2NSwgODAsIDIwNCwgNjUsIDgwLCAKKyAgICA3MywgNzgsIDEyOCwgNjUsIDgwLCA2OSwgODMsIDIwNywgNjUsIDgwLCA2NywgMTI4LCA2NSwgODAsIDY1LCA4MiwgODQsIAorICAgIDEyOCwgNjUsIDgwLCA2NSwgNjUsIDg0LCA3OSwgMTI4LCA2NSwgNzgsIDg1LCA4MywgODYsIDY1LCA4MiwgNjUsIDg5LCA2NSwgCisgICAgMTI4LCA2NSwgNzgsIDg1LCA4MywgODYsIDY1LCA4MiwgNjUsIDEyOCwgNjUsIDc4LCA4NSwgODMsIDg2LCA2NSwgODIsIAorICAgIDE5MywgNjUsIDc4LCA4NSwgNjgsIDY1LCA4NCwgODQsIDY1LCAxMjgsIDY1LCA3OCwgODUsIDY4LCA2NSwgODQsIDg0LCAKKyAgICAxOTMsIDY1LCA3OCwgODQsIDczLCA4MiwgNjksIDgzLCA4NCwgODIsIDczLCA2NywgODQsIDczLCA3OSwgNzgsIDEyOCwgNjUsIAorICAgIDc4LCA4NCwgNzMsIDc3LCA3OSwgNzgsIDg5LCA0NSwgNTAsIDEyOCwgNjUsIDc4LCA4NCwgNzMsIDc3LCA3OSwgNzgsIDg5LCAKKyAgICAxMjgsIDY1LCA3OCwgODQsIDczLCA3NywgNzksIDc4LCAyMTcsIDY1LCA3OCwgODQsIDczLCA3NywgNzksIDc4LCA3MywgNjUsIAorICAgIDg0LCA2OSwgMTI4LCA2NSwgNzgsIDg0LCA3MywgNzUsIDY5LCA3OCwgNzksIDc3LCA2NSwgMTI4LCA2NSwgNzgsIDg0LCA3MywgCisgICAgNzUsIDY5LCA3OCwgNzksIDc1LCA4OSwgNzYsIDczLCA4MywgNzcsIDY1LCAxMjgsIDY1LCA3OCwgODQsIDczLCA3MCwgNzksIAorICAgIDc4LCA3MywgNjUsIDEyOCwgNjUsIDc4LCA4NCwgNzMsIDY3LCA3NiwgNzksIDY3LCA3NSwgODcsIDczLCA4MywgNjksIDQ1LCAKKyAgICA4MiwgNzksIDg0LCA2NSwgODQsIDY5LCAxOTYsIDY1LCA3OCwgODQsIDczLCA2NywgNzYsIDc5LCA2NywgNzUsIDg3LCA3MywgCisgICAgODMsIDE5NywgNjUsIDc4LCA4NCwgNjksIDc4LCA3OCwgNjUsIDEyOCwgNjUsIDc4LCA4NCwgNjksIDc4LCA3OCwgMTkzLCAKKyAgICA2NSwgNzgsIDg0LCA2NSwgODIsIDcxLCA3OSwgNzcsIDg1LCA3NSwgNzIsIDY1LCAxMjgsIDY1LCA3OCwgODMsIDg1LCAyMTgsIAorICAgIDY1LCA3OCwgODMsIDcyLCA2OSwgMTI4LCA2NSwgNzgsIDgwLCA2OSwgNjUsIDEyOCwgNjUsIDc4LCAyMDcsIDY1LCA3OCwgCisgICAgNzgsIDg1LCA3MywgODQsIDIxNywgNjUsIDc4LCA3OCwgNzksIDg0LCA2NSwgODQsIDczLCA3OSwgMjA2LCA2NSwgNzgsIDc4LCAKKyAgICA2NSwgNjUsIDg1LCAxMjgsIDY1LCA3OCwgNzUsIDcyLCAxMjgsIDY1LCA3OCwgNzQsIDczLCAxMjgsIDY1LCA3OCwgNzIsIAorICAgIDg1LCAxMjgsIDY1LCA3OCwgNzEsIDg1LCA3NiwgNjUsIDgyLCAxMjgsIDY1LCA3OCwgNzEsIDg1LCA3MywgODMsIDcyLCA2OSwgCisgICAgMTk2LCA2NSwgNzgsIDcxLCA4MywgODQsIDgyLCA3OSwgMjA1LCA2NSwgNzgsIDcxLCA4MiwgMjE3LCA2NSwgNzgsIDcxLCAKKyAgICA3NSwgNzIsIDY1LCA3OCwgNzUsIDcyLCA4NSwgMTI4LCA2NSwgNzgsIDcxLCA2OSwgMjEwLCA2NSwgNzgsIDcxLCA2OSwgNzYsIAorICAgIDEyOCwgNjUsIDc4LCA3MSwgNjksIDY4LCAxMjgsIDY1LCA3OCwgNjgsIDY1LCA4MCwgMTI4LCA2NSwgNzgsIDY3LCA3OSwgCisgICAgODIsIDY1LCAxMjgsIDY1LCA3OCwgNjcsIDcyLCA3OSwgODIsIDEyOCwgNjUsIDc4LCA2NSwgODQsIDgyLCA3MywgNjcsIDcyLCAKKyAgICA3MywgODMsIDc3LCA2NSwgMTI4LCA2NSwgNzgsIDY1LCA4MCwgMTI4LCA2NSwgNzcsIDgwLCA4MywgMTI4LCA2NSwgNzcsIAorICAgIDgwLCA2OSwgODIsIDgzLCA2NSwgNzgsIDY4LCAxMjgsIDY1LCA3NywgNzksIDg1LCA3OCwgMjEyLCA2NSwgNzcsIDY5LCA4MiwgCisgICAgNzMsIDY3LCA2NSwgODMsIDEyOCwgNjUsIDc3LCA2OSwgODIsIDczLCA2NywgNjUsIDIwNiwgNjUsIDc3LCA2NiwgODUsIDc2LCAKKyAgICA2NSwgNzgsIDY3LCA2OSwgMTI4LCA2NSwgNzcsIDY2LCAxOTMsIDY1LCA3NywgNjUsIDgyLCAxMjgsIDY1LCA3NywgNjUsIAorICAgIDIxMCwgNjUsIDc3LCA2NSwgNzYsIDcxLCA2NSwgNzcsIDY1LCA4NCwgNzMsIDc5LCAyMDYsIDY1LCA3NywgNjUsIDc2LCA3MSwgCisgICAgNjUsIDc3LCAxMjgsIDY1LCA3NiwgODYsIDY5LCA3OSwgNzYsIDY1LCAyMTAsIDY1LCA3NiwgODUsIDc3LCAxMjgsIDY1LCAKKyAgICA3NiwgODQsIDY5LCA4MiwgNzgsIDY1LCA4NCwgNzMsIDg2LCAxOTcsIDY1LCA3NiwgODQsIDY5LCA4MiwgNzgsIDY1LCA4NCwgCisgICAgNzMsIDc5LCAyMDYsIDY1LCA3NiwgODQsIDY5LCA4MiwgNzgsIDY1LCA4NCwgMTk3LCA2NSwgNzYsIDg0LCA2NSwgMTI4LCAKKyAgICA2NSwgNzYsIDgwLCA3MiwgNjUsIDEyOCwgNjUsIDc2LCA4MCwgNzIsIDE5MywgNjUsIDc2LCA4MCwgNjUsIDgwLCA4MiwgNjUsIAorICAgIDc4LCA2NSwgMTI4LCA2NSwgNzYsIDgwLCA2NSwgODAsIDgyLCA2NSwgNjUsIDc4LCAxOTMsIDY1LCA3NiwgODAsIDY1LCAKKyAgICAxMjgsIDY1LCA3NiwgNzcsIDc5LCA4MywgMjEyLCA2NSwgNzYsIDc2LCA3OSwgMTI4LCA2NSwgNzYsIDc2LCA3MywgNjUsIAorICAgIDc4LCA2NywgNjksIDEyOCwgNjUsIDc2LCA3NiwgMjAxLCA2NSwgNzYsIDc2LCA2NSwgMjAwLCA2NSwgNzYsIDc1LCA2NSwgCisgICAgNzYsIDczLCA0NSwgNTAsIDEyOCwgNjUsIDc2LCA3NSwgNjUsIDc2LCA3MywgMTI4LCA2NSwgNzYsIDczLCA3MSwgNzgsIDY5LCAKKyAgICAxOTYsIDY1LCA3NiwgNzMsIDcwLCA4NSwgMTI4LCA2NSwgNzYsIDczLCA2OSwgNzgsIDEyOCwgNjUsIDc2LCA3MywgNjksIAorICAgIDIwNiwgNjUsIDc2LCA3MSwgNzMsIDIxOCwgNjUsIDc2LCA3MCwgNjUsIDEyOCwgNjUsIDc2LCA2OSwgODUsIDIxMiwgNjUsIAorICAgIDc2LCA2OSwgODIsIDg0LCAxMjgsIDY1LCA3NiwgNjksIDgwLCA3MiwgMTI4LCA2NSwgNzYsIDY5LCA3NywgNjYsIDczLCA2NywgCisgICAgMTI4LCA2NSwgNzYsIDY5LCA3MCwgMTI4LCA2NSwgNzYsIDY1LCA4OSwgNzIsIDY5LCAxMjgsIDY1LCA3NiwgNjUsIDg5LCAKKyAgICA3MiwgMTk3LCA2NSwgNzYsIDY1LCA4MiwgMjA1LCA2NSwgNzYsIDY1LCA4MCwgNzIsIDEyOCwgNjUsIDc2LCA0NSwgNzYsIAorICAgIDY1LCA3NSwgODUsIDc4LCA2NSwgMTI4LCA2NSwgNzUsIDg0LCA3MywgNjksIDgzLCA2OSwgNzYsIDgzLCA3NSwgNjUsIDY2LCAKKyAgICAxMjgsIDY1LCA3NSwgODMsIDY1LCAxMjgsIDY1LCA3NSwgNzIsIDc3LCA3MywgNzcsIDczLCAxOTUsIDY1LCA3NSwgNjYsIAorICAgIDY1LCAyMTAsIDY1LCA3NSwgNjUsIDgyLCA2NSwgMTI4LCA2NSwgNzUsIDY1LCA4MiwgMTkzLCA2NSwgNzMsIDg5LCA2NSwgCisgICAgNzgsIDc4LCA2NSwgMTI4LCA2NSwgNzMsIDg2LCA3MywgNzYsIDczLCAyMDMsIDY1LCA3MywgODQsIDc5LCAyMDYsIDY1LCAKKyAgICA3MywgODIsIDgwLCA3NiwgNjUsIDc4LCA2OSwgMTI4LCA2NSwgNzMsIDc4LCAyMTMsIDY1LCA3MywgNzgsIDc4LCAxMjgsIAorICAgIDY1LCA3MywgNzYsIDc3LCAxMjgsIDY1LCA3MywgNzUsIDY1LCA4MiwgNjUsIDEyOCwgNjUsIDczLCA3MiwgODYsIDg1LCA4MywgCisgICAgMTI4LCA2NSwgNzIsIDgzLCA2OCwgNjUsIDEyOCwgNjUsIDcyLCA4MywgNjUsIDEyOCwgNjUsIDcyLCA2NSwgNzgsIDE5OSwgCisgICAgNjUsIDcyLCA2NSwgNzEsIDcxLCA2NSwgMjEwLCA2NSwgNzIsIDY1LCA2OCwgMTI4LCA2NSwgNzEsIDg1LCA3OCwgNzEsIAorICAgIDEyOCwgNjUsIDcxLCA3OSwgNzEsIDIwMSwgNjUsIDcxLCA3MSwgODIsIDY1LCA4NiwgNjUsIDg0LCA3MywgNzksIDc4LCAKKyAgICAxMjgsIDY1LCA3MSwgNzEsIDgyLCA2NSwgODYsIDY1LCA4NCwgNjksIDE5NiwgNjUsIDcxLCA2NSwgNzMsIDc4LCAxMjgsIAorICAgIDY1LCA3MCwgODQsIDY5LCAyMTAsIDY1LCA3MCwgODMsIDY1LCA2NSwgODEsIDEyOCwgNjUsIDcwLCA4MiwgNzMsIDY3LCA2NSwgCisgICAgMjA2LCA2NSwgNzAsIDc5LCA4MiwgNjksIDc3LCA2OSwgNzgsIDg0LCA3MywgNzksIDc4LCA2OSwgNjgsIDEyOCwgNjUsIDcwLCAKKyAgICA3MSwgNzIsIDY1LCA3OCwgMjAxLCA2NSwgNzAsIDcwLCA4MiwgNzMsIDY3LCA2NSwgODQsIDczLCA3OSwgMjA2LCA2NSwgNjksIAorICAgIDg5LCA2NSwgNzgsIDc4LCA2NSwgMTI4LCA2NSwgNjksIDg5LCAxMjgsIDY1LCA2OSwgODMsIDY3LCA4NSwgNzYsIDY1LCA4MCwgCisgICAgNzMsIDg1LCA4MywgMTI4LCA2NSwgNjksIDgzLCA2NywgMTI4LCA2NSwgNjksIDgzLCAxMjgsIDY1LCA2OSwgODIsIDczLCAKKyAgICA2NSwgMjA0LCA2NSwgNjksIDgyLCAxMjgsIDY1LCA2OSwgNzYsIDY1LCA0NSwgODAsIDczLCA3NiwgNzYsIDY1LCAxMjgsIAorICAgIDY1LCA2OSwgNzYsIDEyOCwgNjUsIDY5LCA3NSwgMTI4LCA2NSwgNjksIDcxLCA2OSwgNjUsIDIwNiwgNjUsIDY5LCA3MSwgCisgICAgMTI4LCA2NSwgNjksIDY5LCA4OSwgNjUsIDc4LCA3OCwgNjUsIDEyOCwgNjUsIDY5LCA2OSwgMTI4LCA2NSwgNjksIDY4LCAKKyAgICA2NSwgNDUsIDgwLCA3MywgNzYsIDc2LCA2NSwgMTI4LCA2NSwgNjksIDY4LCAxMjgsIDY1LCA2OSwgNjYsIDEyOCwgNjUsIAorICAgIDY4LCA4NiwgNjUsIDc4LCA4NCwgNjUsIDcxLCA2OSwgMTI4LCA2NSwgNjgsIDg2LCA2NSwgNzgsIDY3LCA2OSwgMTI4LCA2NSwgCisgICAgNjgsIDY5LCA3MSwgMTI4LCA2NSwgNjgsIDY5LCAxOTksIDY1LCA2OCwgNjgsIDgyLCA2OSwgODMsIDgzLCA2OSwgMTk2LCAKKyAgICA2NSwgNjgsIDY4LCA4MiwgNjksIDgzLCAyMTEsIDY1LCA2OCwgNjgsIDY1LCA3NSwgMTI4LCA2NSwgNjgsIDY1LCAyMDMsIAorICAgIDY1LCA2NywgODUsIDg0LCA2OSwgNDUsIDc3LCA2NSwgNjcsIDgyLCA3OSwgNzgsIDEyOCwgNjUsIDY3LCA4NSwgODQsIDY5LCAKKyAgICA0NSwgNzEsIDgyLCA2NSwgODYsIDY5LCA0NSwgNjUsIDY3LCA4NSwgODQsIDY5LCAxMjgsIDY1LCA2NywgODUsIDg0LCAxOTcsIAorICAgIDY1LCA2NywgODQsIDg1LCA2NSwgNzYsIDc2LCAyMTcsIDY1LCA2NywgODQsIDczLCA4NiwgNjUsIDg0LCAxOTcsIDY1LCA2NywgCisgICAgODIsIDc5LCA4MCwgNzIsIDc5LCA3OCwgNzMsIDE5NSwgNjUsIDY3LCA3NSwgNzgsIDc5LCA4NywgNzYsIDY5LCA2OCwgNzEsIAorICAgIDY5LCAxMjgsIDY1LCA2NywgNjcsIDg1LCA3NywgODUsIDc2LCA2NSwgODQsIDczLCA3OSwgNzgsIDEyOCwgNjUsIDY3LCA2NywgCisgICAgNzksIDg1LCA3OCwgMjEyLCA2NSwgNjcsIDY3LCA2OSwgODAsIDg0LCAxMjgsIDY1LCA2NywgNjcsIDY5LCA3OCwgODQsIDQ1LCAKKyAgICA4MywgODQsIDY1LCA2NywgNjcsIDY1LCA4NCwgNzksIDEyOCwgNjUsIDY3LCA2NywgNjksIDc4LCA4NCwgMTI4LCA2NSwgNjcsIAorICAgIDY3LCA2OSwgNzgsIDIxMiwgNjUsIDY3LCA2NSwgNjgsIDY5LCA3NywgMjE3LCA2NSwgNjYsIDg5LCA4MywgNzcsIDY1LCAKKyAgICAyMDQsIDY1LCA2NiwgODUsIDc4LCA2OCwgNjUsIDc4LCA2NywgNjksIDEyOCwgNjUsIDY2LCA3NSwgNzIsIDY1LCA4MywgNzMsIAorICAgIDY1LCAyMDYsIDY1LCA2NiwgNjYsIDgyLCA2OSwgODYsIDczLCA2NSwgODQsIDczLCA3OSwgMjA2LCA2NSwgNjYsIDY1LCA3MCwgCisgICAgNzMsIDc2LCA3MywgMTI4LCA2NSwgNjYsIDE3OCwgNjUsIDY1LCA4OSwgNjUsIDc4LCA3OCwgNjUsIDEyOCwgNjUsIDY1LCAKKyAgICA4OSwgMTI4LCA2NSwgNjUsIDg3LCAxMjgsIDY1LCA2NSwgNzksIDEyOCwgNjUsIDY1LCA3NCwgMTI4LCA2NSwgNjUsIDY2LCAKKyAgICA2NSwgNjUsIDcwLCA3MywgNzYsIDczLCAxMjgsIDY1LCA2NSwgNDgsIDUxLCA1MCwgMTI4LCA2NSwgNjUsIDQ4LCA1MSwgNDksIAorICAgIDEyOCwgNjUsIDY1LCA0OCwgNTEsIDQ4LCAxMjgsIDY1LCA2NSwgNDgsIDUwLCA1NywgMTI4LCA2NSwgNjUsIDQ4LCA1MCwgCisgICAgNTYsIDEyOCwgNjUsIDY1LCA0OCwgNTAsIDU1LCAxMjgsIDY1LCA2NSwgNDgsIDUwLCA1NCwgMTI4LCA2NSwgNjUsIDQ4LCAKKyAgICA1MCwgNTMsIDEyOCwgNjUsIDY1LCA0OCwgNTAsIDUyLCAxMjgsIDY1LCA2NSwgNDgsIDUwLCA1MSwgMTI4LCA2NSwgNjUsIAorICAgIDQ4LCA1MCwgNTAsIDEyOCwgNjUsIDY1LCA0OCwgNTAsIDQ5LCAxMjgsIDY1LCA2NSwgNDgsIDUwLCA0OCwgMTI4LCA2NSwgCisgICAgNjUsIDQ4LCA0OSwgNTcsIDEyOCwgNjUsIDY1LCA0OCwgNDksIDU2LCAxMjgsIDY1LCA2NSwgNDgsIDQ5LCA1NSwgMTI4LCAKKyAgICA2NSwgNjUsIDQ4LCA0OSwgNTQsIDEyOCwgNjUsIDY1LCA0OCwgNDksIDUzLCAxMjgsIDY1LCA2NSwgNDgsIDQ5LCA1MiwgCisgICAgMTI4LCA2NSwgNjUsIDQ4LCA0OSwgNTEsIDEyOCwgNjUsIDY1LCA0OCwgNDksIDUwLCAxMjgsIDY1LCA2NSwgNDgsIDQ5LCAKKyAgICA0OSwgMTI4LCA2NSwgNjUsIDQ4LCA0OSwgNDgsIDEyOCwgNjUsIDY1LCA0OCwgNDgsIDU3LCAxMjgsIDY1LCA2NSwgNDgsIAorICAgIDQ4LCA1NiwgMTI4LCA2NSwgNjUsIDQ4LCA0OCwgNTUsIDY2LCAxMjgsIDY1LCA2NSwgNDgsIDQ4LCA1NSwgNjUsIDEyOCwgCisgICAgNjUsIDY1LCA0OCwgNDgsIDU1LCAxMjgsIDY1LCA2NSwgNDgsIDQ4LCA1NCwgMTI4LCA2NSwgNjUsIDQ4LCA0OCwgNTMsIAorICAgIDEyOCwgNjUsIDY1LCA0OCwgNDgsIDUyLCAxMjgsIDY1LCA2NSwgNDgsIDQ4LCA1MSwgMTI4LCA2NSwgNjUsIDQ4LCA0OCwgCisgICAgNTAsIDEyOCwgNjUsIDY1LCA0OCwgNDgsIDQ5LCAxMjgsIDY1LCA0OCwgNTUsIDQ4LCAxMjgsIDY1LCA0OCwgNTQsIDU3LCAKKyAgICAxMjgsIDY1LCA0OCwgNTQsIDU2LCAxMjgsIDY1LCA0OCwgNTQsIDU1LCAxMjgsIDY1LCA0OCwgNTQsIDU0LCAxMjgsIDY1LCAKKyAgICA0OCwgNTQsIDUzLCAxMjgsIDY1LCA0OCwgNTQsIDUyLCAxMjgsIDY1LCA0OCwgNTQsIDUxLCAxMjgsIDY1LCA0OCwgNTQsIAorICAgIDUwLCAxMjgsIDY1LCA0OCwgNTQsIDQ5LCAxMjgsIDY1LCA0OCwgNTQsIDQ4LCAxMjgsIDY1LCA0OCwgNTMsIDU3LCAxMjgsIAorICAgIDY1LCA0OCwgNTMsIDU2LCAxMjgsIDY1LCA0OCwgNTMsIDU1LCAxMjgsIDY1LCA0OCwgNTMsIDU0LCAxMjgsIDY1LCA0OCwgCisgICAgNTMsIDUzLCAxMjgsIDY1LCA0OCwgNTMsIDUyLCAxMjgsIDY1LCA0OCwgNTMsIDUxLCAxMjgsIDY1LCA0OCwgNTMsIDUwLCAKKyAgICAxMjgsIDY1LCA0OCwgNTMsIDQ5LCAxMjgsIDY1LCA0OCwgNTMsIDQ4LCAxMjgsIDY1LCA0OCwgNTIsIDU3LCAxMjgsIDY1LCAKKyAgICA0OCwgNTIsIDU2LCAxMjgsIDY1LCA0OCwgNTIsIDU1LCAxMjgsIDY1LCA0OCwgNTIsIDU0LCAxMjgsIDY1LCA0OCwgNTIsIAorICAgIDUzLCA2NSwgMTI4LCA2NSwgNDgsIDUyLCA1MywgMTI4LCA2NSwgNDgsIDUyLCA1MiwgMTI4LCA2NSwgNDgsIDUyLCA1MSwgCisgICAgNjUsIDEyOCwgNjUsIDQ4LCA1MiwgNTEsIDEyOCwgNjUsIDQ4LCA1MiwgNTAsIDY1LCAxMjgsIDY1LCA0OCwgNTIsIDUwLCAKKyAgICAxMjgsIDY1LCA0OCwgNTIsIDQ5LCAxMjgsIDY1LCA0OCwgNTIsIDQ4LCA2NSwgMTI4LCA2NSwgNDgsIDUyLCA0OCwgMTI4LCAKKyAgICA2NSwgNDgsIDUxLCA1NywgMTI4LCA2NSwgNDgsIDUxLCA1NiwgMTI4LCA2NSwgNDgsIDUxLCA1NSwgMTI4LCA2NSwgNDgsIAorICAgIDUxLCA1NCwgMTI4LCA2NSwgNDgsIDUxLCA1MywgMTI4LCA2NSwgNDgsIDUxLCA1MiwgMTI4LCA2NSwgNDgsIDUxLCA1MSwgCisgICAgMTI4LCA2NSwgNDgsIDUxLCA1MCwgNjUsIDEyOCwgNjUsIDQ4LCA0OSwgNTUsIDY1LCAxMjgsIDY1LCA0OCwgNDksIDUyLCAKKyAgICA2NSwgMTI4LCA2NSwgNDgsIDQ4LCA1NCwgNjYsIDEyOCwgNjUsIDQ4LCA0OCwgNTQsIDY1LCAxMjgsIDY1LCA0OCwgNDgsIAorICAgIDUzLCA2NSwgMTI4LCA2NSwgNDUsIDY5LCA4NSwgMTI4LCA0NSwgODUsIDIwNSwgNDUsIDgwLCA3MiwgODIsIDg1LCAxMjgsIAorICAgIDQ1LCA3NSwgNzIsIDg5LCA4NSwgMTk2LCA0NSwgNzUsIDcyLCA4OSwgNzMsIDc2LCAxMjgsIDQ1LCA2OCwgOTAsIDg1LCAKKyAgICAxOTYsIDQ1LCA2NywgNzIsIDY1LCAyMTAsIDQ1LCA2NywgNzIsIDY1LCA3NiwgMTI4LCAKIH07CiAKIHN0YXRpYyB1bnNpZ25lZCBpbnQgbGV4aWNvbl9vZmZzZXRbXSA9IHsKLSAgICAwLCAwLCA2LCAxMCwgMTUsIDIzLCAyNywgMzQsIDM5LCA0MSwgNDQsIDUyLCA2MiwgNjgsIDgxLCA5MywgMTAyLCAxMDgsIAotICAgIDExMywgMTIxLCAxMzAsIDEzNSwgMTQwLCAxNDQsIDE1MCwgMTUzLCAxNTgsIDE2NiwgMTczLCAxODEsIDE4NiwgMTkxLCAKLSAgICAxOTQsIDIwMCwgMjA4LCAyMTUsIDIyNSwgMjMyLCAyNDEsIDI0NCwgMjQ3LCAyNTIsIDI1OCwgMjYyLCAyNzEsIDI3OCwgCi0gICAgMjg1LCAyOTAsIDI5OSwgMzA3LCAzMTMsIDMxOSwgMzI1LCAxNDEsIDMzMCwgMzMxLCAzMzcsIDM0NSwgMzUxLCAzNTcsIAotICAgIDM2NSwgMzcyLCAzNzQsIDM3NywgMzgxLCAzODgsIDM5MCwgMzk3LCA0MDIsIDQwOCwgNDEwLCA0MTcsIDQyNSwgNDI3LCAKLSAgICAzMTEsIDQzMCwgNDMyLCA0MzcsIDQ0MiwgNDQ3LCA0NTMsIDQ2MCwgNDY5LCA0NzksIDQ4NCwgNDg5LCA0OTMsIDUwNiwgCi0gICAgNTEzLCA1MTcsIDUyNiwgNTMzLCA1NDAsIDU0MywgNTQ5LCA1NTMsIDU2MywgNTcxLCA1NzksIDU4OCwgNTk2LCA2MDQsIAotICAgIDYwOSwgNjE3LCA2MjQsIDYzNCwgNjQ1LCA2NDksIDY1NCwgNjU3LCA2NjEsIDY2NSwgNjY2LCA2NzIsIDY3OCwgNjgwLCAKLSAgICA2ODMsIDY4NywgMzQ0LCA2OTAsIDY5NCwgNzAzLCA3MDYsIDcwOSwgNzE0LCA3MTgsIDcyNiwgNzI5LCA3MzUsIDc0MiwgCi0gICAgNzQ5LCA3NTgsIDc2NSwgNzc0LCA3NzksIDc4MywgNzkyLCA4MDIsIDgxMSwgODE3LCA4MjMsIDgzMCwgODM4LCA4NDYsIAotICAgIDg1NSwgODYzLCA4NjcsIDg3NSwgODgwLCA3ODEsIDUxMSwgODg5LCA4OTMsIDg5NywgOTA0LCA5MDgsIDkxNSwgNjg5LCAKLSAgICA5MTgsIDkyNiwgOTI5LCA5MzMsIDk0MCwgOTQ0LCA5NDksIDk1NywgOTYwLCAxOTIsIDk2NiwgOTcxLCA5ODEsIDk5MCwgCi0gICAgOTk3LCAxMDA0LCAxMDEyLCAxMDIwLCAxMDI2LCAxMDMwLCAxMDM1LCAxMDQwLCAxMDQ2LCAxMDUxLCAxMDU0LCAxMTEsIAotICAgIDEwNjAsIDEwNjQsIDEwNzAsIDEwNzMsIDEwODYsIDEwODksIDEwOTMsIDIyLCAxMDk3LCAxMTAyLCAxMTA1LCAxMTA4LCAKLSAgICAxMTE0LCAxMTI0LCAxMTI2LCAxMTMyLCAxMTQyLCAxMTQ3LCAxMTU2LCAxMTY0LCAzMjgsIDExNjcsIDExNzAsIDExNzQsIAotICAgIDExNzksIDExODUsIDExOTAsIDExOTcsIDExOTksIDEyMDQsIDEyMDksIDEyMTUsIDEyMjAsIDEyMjUsIDEyMjksIDEyMzQsIAotICAgIDEyNDAsIDEyNDUsIDEyNTAsIDEyNTQsIDEyNTksIDEyNjQsIDEyNjgsIDEyNzMsIDEyNzgsIDEyODMsIDEyODksIDEyOTUsIAotICAgIDEzMDEsIDEzMDYsIDEzMTAsIDEzMTUsIDEzMjAsIDEzMjUsIDEzMjksIDEzMzQsIDEzMzksIDEzNDQsIDEzNDksIDEyMDAsIAotICAgIDEyMDUsIDEyMTAsIDEyMTYsIDEyMjEsIDEzNTMsIDEyMjYsIDEzNTksIDEzNjgsIDEyMzAsIDEzNzIsIDEyMzUsIDEyNDEsIAotICAgIDEyNDYsIDEzNzYsIDEzODEsIDEzODYsIDEzOTAsIDEzOTQsIDE0MDAsIDE0MDQsIDEyNTEsIDE0MDcsIDE0MTEsIDEyNTUsIAotICAgIDE0MTcsIDEyNjAsIDE0MjEsIDE0MjUsIDEyNjUsIDE0MjksIDE0MzQsIDE0MzgsIDE0NDEsIDE0NDUsIDEyNjksIDEyNzQsIAotICAgIDE0NTAsIDEyNzksIDE0NTYsIDE0NjIsIDE0NjgsIDE0NzQsIDEyODQsIDEyOTYsIDEzMDIsIDE0NzgsIDE0ODIsIDE0ODYsIAotICAgIDE0ODksIDEzMDcsIDE0OTMsIDE0OTUsIDE1MDAsIDE1MDUsIDE1MTEsIDE1MTYsIDE1MjEsIDE1MjUsIDE1MzAsIDE1MzUsIAotICAgIDE1NDAsIDE1NDUsIDE1NTEsIDE1NTYsIDE1NjEsIDE1NjcsIDE1NzMsIDE1NzgsIDE1ODIsIDE1ODcsIDE1OTIsIDE1OTcsIAotICAgIDE2MDIsIDE2MDYsIDE2MTQsIDE2MTgsIDE2MjMsIDE2MjgsIDE2MzMsIDE2MzgsIDE2NDIsIDE2NDUsIDE2NTAsIDE2NTUsIAotICAgIDE2NjAsIDE2NjUsIDE2NzEsIDE2NzYsIDE2ODAsIDEzMTEsIDE2ODMsIDE2ODgsIDE2OTMsIDEzMTYsIDE2OTcsIDE3MDEsIAotICAgIDE3MDgsIDEzMjEsIDE3MTUsIDEzMjYsIDE3MTksIDE3MjEsIDE3MjYsIDE3MzIsIDEzMzAsIDE3MzcsIDE3NDYsIDEzMzUsIAotICAgIDE3NTEsIDE3NTcsIDEzNDAsIDE3NjIsIDE3NjcsIDE3NzAsIDE3NzUsIDE3NzksIDE3ODMsIDE3ODcsIDE3OTAsIDE3OTQsIAotICAgIDEzNDUsIDEzNTAsIDExMDAsIDE3OTksIDE4MDUsIDE4MTEsIDE4MTcsIDE4MjMsIDE4MjksIDE4MzUsIDE4NDEsIDE4NDcsIAotICAgIDE4NTIsIDE4NTgsIDE4NjQsIDE4NzAsIDE4NzYsIDE4ODIsIDE4ODgsIDE4OTQsIDE5MDAsIDE5MDYsIDE5MTEsIDE5MTYsIAotICAgIDE5MjEsIDE5MjYsIDE5MzEsIDE5MzYsIDE5NDEsIDE5NDYsIDE5NTEsIDE5NTYsIDE5NjIsIDE5NjcsIDE5NzMsIDE5NzgsIAotICAgIDE5ODQsIDE5OTAsIDE5OTUsIDIwMDEsIDIwMDcsIDIwMTMsIDIwMTksIDIwMjQsIDIwMjksIDIwMzEsIDIwMzIsIDIwMzYsIAotICAgIDIwNDAsIDIwNDUsIDIwNDksIDIwNTMsIDIwNTcsIDIwNjEsIDIwNjQsIDIwNjksIDIwNzMsIDIwNzgsIDIwODIsIDIwODYsIAotICAgIDIwOTEsIDIwOTUsIDIwOTgsIDIxMDIsIDIxMDgsIDIxMjIsIDIxMjYsIDIxMzAsIDIxMzMsIDIxMzgsIDIxNDIsIDIxNDYsIAotICAgIDIxNDksIDIxNTMsIDIxNTgsIDIxNjMsIDIxNjgsIDIxNzMsIDIxNzcsIDIxODEsIDIxODUsIDIxOTAsIDIxOTQsIDIxOTksIAotICAgIDIyMDMsIDIyMDgsIDIyMTQsIDIyMjEsIDIyMjcsIDIyMzIsIDIyMzcsIDIyNDIsIDIyNDgsIDIyNTMsIDIyNTksIDIyNjQsIAotICAgIDIyNjcsIDEyMTcsIDIyNjksIDIyNzYsIDIyODQsIDIyOTQsIDIzMDMsIDIzMTcsIDIzMjEsIDIzMjUsIDIzMzgsIDIzNDYsIAotICAgIDIzNTAsIDIzNTUsIDIzNTksIDIzNjIsIDIzNjYsIDIzNzAsIDIzNzUsIDIzODAsIDIzODUsIDIzODksIDIzOTIsIDIzOTYsIAotICAgIDI0MDMsIDI0MTAsIDI0MTYsIDI0MjEsIDI0MjYsIDI0MzIsIDI0MzgsIDI0NDMsIDI0NDYsIDE3MjMsIDI0NDgsIDI0NTQsIAotICAgIDI0NTgsIDI0NjMsIDI0NjcsIDI0NzEsIDE3MjgsIDE3MzQsIDI0NzYsIDI0ODAsIDI0ODMsIDI0ODgsIDI0OTMsIDI0OTgsIAotICAgIDI1MDMsIDI1MDcsIDI1MTQsIDI1MTksIDI1MjIsIDI1MjksIDI1MzUsIDI1MzksIDI1NDMsIDI1NDcsIDI1NTIsIDI1NTksIAotICAgIDI1NjQsIDI1NjksIDI1NzYsIDI1ODIsIDI1ODgsIDI1OTQsIDI2MDgsIDI2MjUsIDI2NDAsIDI2NTUsIDI2NjQsIDI2NjksIAotICAgIDI2NzMsIDI2NzgsIDI2ODMsIDI2ODcsIDI2OTksIDI3MDYsIDI3MTIsIDIyMTcsIDI3MTgsIDI3MjUsIDI3MzEsIDI3MzUsIAotICAgIDI3MzgsIDI3NDUsIDI3NTEsIDI3NTUsIDI3NTksIDI3NjMsIDIwNTQsIDI3NjcsIDI3NzIsIDI3NzcsIDI3ODEsIDI3ODksIAotICAgIDI3OTMsIDI3OTcsIDI4MDEsIDI4MDYsIDI4MTEsIDI4MTYsIDI4MjAsIDI4MjUsIDI4MzAsIDI4MzQsIDI4MzksIDI4NDMsIAotICAgIDI4NDYsIDI4NTAsIDI4NTQsIDI4NTksIDI4NjMsIDI4NjcsIDI4NzMsIDI4ODIsIDI4ODYsIDI4OTAsIDI4OTYsIDI5MDEsIAotICAgIDI5MDgsIDI5MTIsIDI5MjIsIDI5MjYsIDI5MzEsIDI5MzUsIDI5NDAsIDI5NDYsIDI5NTEsIDI5NTUsIDI5NTksIDI5NjMsIAotICAgIDI0MDYsIDI5NzEsIDI5NzYsIDI5ODIsIDI5ODcsIDI5OTEsIDI5OTYsIDMwMDEsIDMwMDUsIDMwMTEsIDMwMTYsIDMwMjIsIAotICAgIDMwMjYsIDMwMzIsIDMwMzcsIDMwNDIsIDMwNDcsIDMwNTIsIDMwNTcsIDMwNjIsIDMwNjcsIDMwNzIsIDMwNzcsIDMwODMsIAotICAgIDMwODgsIDEyMjcsIDgwLCAzMDk0LCAzMDk4LCAzMTAyLCAzMTA2LCAzMTExLCAzMTE1LCAzMTE5LCAzMTIzLCAzMTI3LCAKLSAgICAzMTMyLCAzMTM2LCAzMTQxLCAzMTQ1LCAzMTQ4LCAzMTUyLCAzMTU3LCAzMTYxLCAzMTY2LCAzMTcwLCAzMTc0LCAzMTc4LCAKLSAgICAzMTgzLCAzMTg3LCAzMTkwLCAzMjAzLCAzMjA3LCAzMjExLCAzMjE1LCAzMjE5LCAzMjIzLCAzMjI2LCAzMjMwLCAzMjM0LCAKLSAgICAzMjM5LCAzMjQzLCAzMjQ4LCAzMjUzLCAzMjU4LCAzMjYyLCAzMjY1LCAzMjY4LCAzMjc0LCAzMjc4LCAzMjgyLCAzMjg1LCAKLSAgICAzMjg5LCAzMjkzLCAzMjk2LCAzMzAyLCAzMzA3LCAzMzEyLCAzMzE4LCAzMzIzLCAzMzI4LCAzMzM0LCAzMzQwLCAzMzQ1LCAKLSAgICAzMzUwLCAzMzU1LCAxMDkxLCA1NDIsIDMzNjAsIDMzNjMsIDMzNjgsIDMzNzIsIDMzNzUsIDMzNzksIDMzODQsIDMzODksIAotICAgIDMzOTMsIDMzOTgsIDM0MDIsIDM0MDcsIDM0MTEsIDM0MTUsIDM0MjEsIDM0MjcsIDM0MzAsIDM0MzMsIDM0MzksIDM0NDYsIAotICAgIDM0NTMsIDM0NTksIDM0NjYsIDM0NzEsIDM0NzUsIDM0ODIsIDM0ODcsIDM0OTEsIDM1MDEsIDM1MDUsIDM1MDksIDM1MTQsIAotICAgIDM1MTksIDM1MjksIDIwNjUsIDM1MzQsIDM1MzgsIDM1NDEsIDM1NDcsIDM1NTIsIDM1NTgsIDM1NjQsIDM1NjksIDM1NzYsIAotICAgIDM1ODAsIDM1ODQsIDY1OCwgNjg4LCAzNTg4LCAzNTk1LCAzNjAyLCAzNjA5LCAzNjE1LCAzNjIxLCAzNjI2LCAzNjMwLCAKLSAgICAzNjM2LCAzNjQxLCAzNjQ1LCAyMDc0LCAzNjQ5LCAzNjU3LCA1ODMsIDM2NjMsIDM2NzQsIDM2NzgsIDM2ODgsIDIwNzksIAotICAgIDM2OTQsIDM2OTksIDM3MTQsIDM3MjAsIDM3MjcsIDM3MzcsIDM3NDMsIDM3NDgsIDM3NTQsIDM3NjAsIDM3NjMsIDM3NjcsIAotICAgIDM3NzIsIDM3NzksIDM3ODQsIDM3ODgsIDM3OTIsIDM3OTYsIDM4MDAsIDM4MDUsIDM4MTEsIDMxNTMsIDM4MTYsIDM4MjgsIAotICAgIDM4MzYsIDM4NDEsIDE1MjcsIDM4NDgsIDM4NTEsIDM4NTQsIDM4NTgsIDM4NjEsIDM4NjcsIDM4NzEsIDM4ODUsIDM4ODksIAotICAgIDM4OTIsIDM4OTYsIDM5MDIsIDM5MDgsIDM5MTMsIDM5MTcsIDM5MjEsIDM5MjcsIDM5MzgsIDM5NDQsIDM5NDksIDM5NTUsIAotICAgIDM5NTksIDM5NjcsIDM5NzcsIDM5ODMsIDM5ODgsIDM5OTcsIDQwMDUsIDQwMTIsIDQwMTYsIDQwMjIsIDQwMzEsIDQwNDAsIAotICAgIDQwNDQsIDQwNDksIDQwNTQsIDQwNTgsIDQwNjYsIDQwNzAsIDQwNzUsIDQwNzksIDIwODcsIDEzNjksIDQwODUsIDQwOTAsIAotICAgIDQwOTYsIDQxMDEsIDQxMDYsIDQxMTEsIDQxMTYsIDQxMjEsIDQxMjYsIDQxMzIsIDQxMzcsIDQxNDMsIDQxNDgsIDQxNTMsIAotICAgIDQxNTgsIDQxNjQsIDQxNjksIDQxNzQsIDQxNzksIDQxODQsIDQxOTAsIDQxOTUsIDQyMDEsIDQyMDYsIDQyMTEsIDQyMTYsIAotICAgIDQyMjEsIDQyMjYsIDQyMzEsIDQyMzcsIDQyNDIsIDQyNDcsIDMzNSwgNDM2LCA0MjUyLCA0MjU4LCA0MjYyLCA0MjY2LCAKLSAgICA0MjcxLCA0Mjc1LCA0Mjc5LCA0MjgyLCA0Mjg2LCA0MjkwLCA0Mjk0LCA0Mjk5LCA0MzAzLCA0MzA3LCA0MzEzLCA0MDgyLCAKLSAgICA0MzE4LCA0MzIxLCA0MzI4LCA0MzMyLCA0MzQ1LCA0MzQ5LCA0MzUzLCA0MzU3LCA0MzYxLCA0MzY1LCA0MzY5LCA0Mzc1LCAKLSAgICA0MzgyLCA0MzkwLCA0Mzk0LCA0NDAyLCA0NDExLCA0NDE3LCA0NDI5LCA0NDM0LCA0NDM3LCA0NDQxLCA0NDUxLCA0NDU5LCAKLSAgICA0NDY3LCA0NDczLCA0NDc3LCA0NDg3LCA0NDk3LCA0NTA1LCA0NTEyLCA0NTE5LCA0NTI1LCA0NTMxLCA0NTM4LCA0NTQyLCAKLSAgICA0NTQ5LCA0NTU5LCA0NTY5LCA0NTc3LCA0NTg0LCA0NTg5LCA0NTkzLCA0NjAxLCA0NjA2LCA0NjEzLCA0NjIxLCA0NjI2LCAKLSAgICA0NjMxLCA0NjM1LCA0NjQ5LCA0NjU0LCA0NjU5LCA0NjY2LCA0Njc1LCA0Njc4LCA0NjgyLCA0Njg2LCA0Njg5LCA0Njk0LCAKLSAgICA0Njk5LCA0NzA4LCA0NzE0LCA0NzIwLCA0NzI2LCA0NzMwLCA0NzQxLCA0NzUxLCA0NzY2LCA0NzgxLCA0Nzk2LCA0ODExLCAKLSAgICA0ODI2LCA0ODQxLCA0ODU2LCA0ODcxLCA0ODg2LCA0OTAxLCA0OTE2LCA0OTMxLCA0OTQ2LCA0OTYxLCA0OTc2LCA0OTkxLCAKLSAgICA1MDA2LCA1MDIxLCA1MDM2LCA1MDUxLCA1MDY2LCA1MDgxLCA1MDk2LCA1MTExLCA1MTI2LCA1MTQxLCA1MTU2LCA1MTcxLCAKLSAgICA1MTg2LCA1MjAxLCA1MjE2LCA1MjMxLCA1MjQ2LCA1MjYxLCA1Mjc2LCA1MjkxLCA1MzA2LCA1MzIxLCA1MzM2LCA1MzUxLCAKLSAgICA1MzY2LCA1MzgxLCA1Mzk2LCA1NDExLCA1NDI2LCA1NDQxLCA1NDU2LCA1NDcxLCA1NDg2LCA1NDk1LCA1NTA0LCA1NTA5LCAKLSAgICA1NTE1LCA1NTI1LCA1NTI5LCA1NTM0LCA1NTM5LCA1NTQ3LCA1NTUxLCA1NTU0LCA1NTU4LCAyOTE3LCA1NTYxLCA1NTY2LCAKLSAgICAzMTAsIDQ0NSwgNTU3MiwgNTU4MCwgNTU4NCwgNTU4OCwgNTU5MSwgNTU5NywgNTYwMSwgNTYwOSwgNTYxNSwgNTYyMCwgCi0gICAgNTYyNywgNTYzNCwgNTY0MCwgNTY0NSwgNTY1MiwgNTY1OCwgNTY2NiwgNTY3MCwgNTY3NSwgNTY4NywgNTY5OCwgNTcwNSwgCi0gICAgNTcxMSwgMzE3NSwgNTcxNSwgNTcyMSwgNTcyNiwgNTczMSwgNTczNiwgNTc0MiwgNTc0NywgNTc1MiwgNTc1NywgNTc2MiwgCi0gICAgNTc2OCwgNTc3MywgNTc3OCwgNTc4NCwgNTc4OSwgNTc5NSwgNTgwMCwgNTgwNiwgNTgxMSwgNTgxNywgNTgyMiwgNTgyNywgCi0gICAgNTgzMiwgNTgzNywgNTg0MiwgNTg0OCwgNTg1MywgNTg1OCwgNTg2MywgNTg2OSwgNTg3NSwgNTg4MSwgNTg4NywgNTg5MywgCi0gICAgNTg5OSwgNTkwNSwgNTkxMSwgNTkxNywgNTkyMywgNTkyOSwgNTkzNSwgNTk0MCwgNTk0NSwgNTk1MCwgNTk1NSwgNTk2MCwgCi0gICAgNTk2NSwgNTk3MCwgNTk3NSwgNTk4MSwgNTk4NywgNTk5MiwgNTk5OCwgNjAwNCwgNjAxMCwgNjAxNSwgNjAyMCwgNjAyNSwgCi0gICAgNjAzMCwgNjAzNiwgNjA0MiwgNjA0NywgNjA1MiwgNjA1NywgNjA2MiwgNjA2NywgNjA3MywgNjA3OCwgNjA4NCwgNjA5MCwgCi0gICAgNjA5NiwgNjEwMiwgNjEwOCwgNjExNCwgNjEyMCwgNjEyNiwgNjEzMiwgMjA5NiwgNTU5MCwgNjEzNywgNjE0MSwgNjE0NSwgCi0gICAgNjE0OCwgNjE1NSwgNjE1OCwgNjE2NiwgNjE3MSwgNjE3NiwgNjE2NywgNjE4MSwgNjE2OCwgNjE4NSwgNjE5MSwgNjE5NywgCi0gICAgNjIwMiwgNjIwNywgNjIxNCwgNjIyMiwgNjIyNywgNjIzMSwgNjIzNCwgNjIzOCwgMjEyNywgNTUxLCA2MjQyLCA2MjQ2LCAKLSAgICA2MjUxLCA2MjU3LCA2MjYyLCA2MjY2LCA2MjY5LCA2MjczLCA2Mjc5LCA2Mjg0LCA2Mjg4LCA2Mjk1LCA2Mjk5LCA2MzAzLCAKLSAgICA2MzA3LCA5NDYsIDc0NywgNjMxMCwgNjMxOCwgNjMyNSwgNjMzMiwgNjMzOCwgNjM0NSwgNjM1MywgNjM2MCwgNjM2NywgCi0gICAgNjM3MiwgNjM4NCwgMTI0NywgMTM3NywgMTM4MiwgNjM5NSwgMTM4NywgNjM5OSwgNjQwMywgNjQxMiwgNjQyMCwgNjQyOSwgCi0gICAgNjQzNSwgNjQ0MCwgNjQ0NCwgNjQ1MCwgNjQ1NSwgNjQ2MiwgNjQ2NiwgNjQ3NSwgNjQ4NCwgNjQ5MywgNjUwMiwgNjUwNywgCi0gICAgNjUxMiwgNjUyNCwgNjUyOSwgNjUzNywgMjE3OCwgNjU0MSwgNjU0MywgNjU0OCwgNjU1MiwgNjU2MSwgNjU2OSwgMTM5MSwgCi0gICAgMTMzLCAzNDAzLCAzNDA4LCA2NTc1LCA2NTc5LCA2NTg4LCA2NTk0LCA2NTk5LCA2NjAyLCA2NjExLCAyNjUyLCA2NjE3LCAKLSAgICA2NjI1LCA2NjI5LCA2NjMzLCAyMTkxLCA2NjM3LCA2NjQyLCA2NjQ5LCA2NjU1LCA2NjYxLCA2NjY0LCA2NjY2LCA2NjY5LCAKLSAgICA2Njc3LCA2Njg1LCA2NjkzLCA2Njk2LCA2NzAxLCA2MTc4LCA2NzA0LCA2NzA2LCA2NzExLCA2NzE2LCA2NzIxLCA2NzI2LCAKLSAgICA2NzMxLCA2NzM2LCA2NzQxLCA2NzQ2LCA2NzUxLCA2NzU2LCA2NzYyLCA2NzY3LCA2NzcyLCA2Nzc3LCA2NzgzLCA2Nzg4LCAKLSAgICA2NzkzLCA2Nzk4LCA2ODAzLCA2ODA4LCA2ODEzLCA2ODE5LCA2ODI0LCA2ODI5LCA2ODM0LCA2ODM5LCA2ODQ0LCA2ODQ5LCAKLSAgICA2ODU0LCA2ODU5LCA2ODY0LCA2ODY5LCA2ODc0LCA2ODc5LCA2ODg0LCA2ODg5LCA2ODk0LCA2ODk5LCA2OTA0LCA2OTEwLCAKLSAgICA2OTE2LCA2OTIxLCA2OTI2LCA2OTMxLCA2OTM2LCA2OTQxLCAyMjE1LCAyMjIyLCAyMjI4LCA2OTQ2LCA2OTUyLCAyMjU0LCAKLSAgICAyMjYwLCA2OTYwLCA2OTY0LCA2OTY5LCA2OTczLCA2OTc3LCA2OTgxLCA2OTg2LCA2OTkwLCA2OTk1LCA2OTk5LCA3MDAyLCAKLSAgICA3MDA1LCA3MDExLCA3MDE3LCA3MDIzLCA3MDI5LCA3MDM1LCA3MDQxLCA3MDQ3LCA3MDUxLCA3MDU1LCA3MDU5LCA3MDYzLCAKLSAgICA3MDY3LCA3MDcyLCA3MDc5LCA3MDkwLCA3MDk4LCA3MTA4LCA3MTE1LCA3MTIwLCA3MTI0LCA3MTM1LCA3MTQ4LCA3MTU5LCAKLSAgICA3MTcyLCA3MTgzLCA3MTk1LCA3MjA3LCA3MjE5LCA3MjMyLCA3MjQ1LCA3MjUyLCA3MjU4LCA3MjcyLCA3Mjc5LCA3Mjg1LCAKLSAgICA3Mjg5LCA3Mjk0LCA3Mjk4LCA3MzA1LCA3MzEzLCA3MzE3LCA3MzIzLCA3MzI5LCA3MzM5LCA3MzQzLCA3MzQ4LCA3MzUzLCAKLSAgICA3MzYwLCA3MzY2LCA3Mzc2LCA2MzQwLCA3MzgyLCA3Mzg2LCA3MzkzLCA3NDYsIDczOTcsIDc0MDEsIDc0MDYsIDc0MTEsIAotICAgIDc0MTYsIDc0MjAsIDc0MjYsIDc0MzQsIDc0NDAsIDc0NDQsIDc0NTAsIDc0NjAsIDc0NjQsIDc0NzAsIDc0NzUsIDc0NzksIAotICAgIDc0ODUsIDc0OTEsIDIxMTksIDc0OTYsIDc0OTgsIDc1MDYsIDc1MTUsIDc1MTksIDc1MjUsIDc1MzAsIDc1MzUsIDc1NDAsIAotICAgIDc1NDUsIDc1NTEsIDc1NTYsIDM5MjMsIDc1NjEsIDc1NjUsIDc1NzEsIDc1NzYsIDc1ODIsIDc1ODcsIDc1OTIsIDc1OTgsIAotICAgIDc2MDMsIDc1MjAsIDc2MDksIDc2MTMsIDc2MjAsIDc2MjYsIDc2MzEsIDc2MzUsIDQ2NDUsIDc2NDAsIDc2NDksIDY2NDUsIAotICAgIDY2NTIsIDc2NTQsIDI4MDMsIDc2NTgsIDc2NjMsIDc2NjgsIDc1MzEsIDc2NzIsIDc1MzYsIDc1NDEsIDc2NzcsIDc2ODQsIAotICAgIDc2OTEsIDc2OTcsIDc3MDMsIDc3MDksIDc3MTQsIDc3MTksIDc3MjQsIDc1NDYsIDc1NTIsIDc3MzAsIDc3MzYsIDc3NDEsIAotICAgIDc3NDksIDc1NTcsIDc3NTQsIDEwMjgsIDc3NTcsIDc3NjUsIDc3NzEsIDc3NzcsIDc3ODYsIDc3OTQsIDc3OTksIDc4MDUsIAotICAgIDc4MTMsIDc4MjAsIDc4MzUsIDc4NTIsIDc4NzEsIDc4ODAsIDc4ODgsIDc5MDMsIDc5MTQsIDc5MjQsIDc5MzQsIDc5NDIsIAotICAgIDc5NDgsIDc5NjAsIDc5NjksIDc5NzcsIDc5ODQsIDc5OTEsIDc5OTcsIDgwMDIsIDgwMTAsIDgwMjAsIDgwMjcsIDgwMzcsIAotICAgIDgwNDcsIDgwNTcsIDgwNjUsIDgwNzIsIDgwODEsIDgwOTEsIDgxMDUsIDgxMjAsIDgxMjksIDgxMzcsIDgxNDIsIDgxNDYsIAotICAgIDgxNTUsIDgxNjEsIDgxNjYsIDgxNzYsIDgxODYsIDgxOTYsIDgyMDEsIDgyMDUsIDgyMTQsIDgyMTksIDgyMjksIDgyNDAsIAotICAgIDgyNTMsIDgyNjYsIDgyNzgsIDgyODYsIDgyOTEsIDgyOTUsIDgzMDEsIDgzMDYsIDgzMTQsIDgzMjIsIDgzMjksIDgzMzQsIAotICAgIDgzNDIsIDgzNDgsIDgzNTEsIDgzNTUsIDgzNjEsIDgzNjksIDgzNzQsIDgzNzgsIDgzODYsIDgzOTUsIDg0MDMsIDg0MDksIAotICAgIDg0MTMsIDg0MjAsIDg0MzEsIDg0MzUsIDg0MzgsIDg0NDQsIDg0NDksIDg0NTMsIDg0NTksIDg0NjYsIDg0NzIsIDg0NzcsIAotICAgIDg0ODQsIDg0OTEsIDg0OTgsIDg1MDUsIDg1MTIsIDg1MTksIDg1MjQsIDc4NDgsIDg1MjksIDg1MzUsIDg1NDIsIDg1NDksIAotICAgIDg1NTQsIDg1NjEsIDg1NzAsIDg1NzQsIDg1ODYsIDg1OTAsIDg1OTMsIDg1OTcsIDg2MDEsIDg2MDUsIDg2MDksIDg2MTUsIAotICAgIDg2MjAsIDg2MjYsIDg2MzEsIDg2MzYsIDg2NDIsIDg2NDcsIDg2NTIsIDczNTYsIDg2NTcsIDg2NjEsIDg2NjUsIDg2NjksIAotICAgIDg2NzQsIDg2NzksIDg2ODcsIDg2OTMsIDg2OTcsIDg3MDEsIDg3MDgsIDg3MTMsIDg3MjEsIDg3MjYsIDg3MzAsIDg3MzMsIAotICAgIDg3MzksIDg3NDYsIDg3NTAsIDg3NTMsIDg3NTgsIDg3NjIsIDM5NjIsIDg3NjgsIDg3NzcsIDM2LCA4Nzg1LCA4NzkxLCAKLSAgICA4Nzk2LCA3MzcxLCA4ODAxLCA4ODA3LCA4ODEyLCA4ODE2LCA4ODE5LCA4ODM0LCA4ODUzLCA4ODY1LCA4ODc4LCA4ODkxLCAKLSAgICA4OTA0LCA4OTE4LCA4OTMxLCA4OTQ2LCA4OTUzLCA4OTU5LCA4OTYzLCA4OTc3LCA4OTgyLCA4OTg4LCA4OTkzLCA5MDAxLCAKLSAgICA5MDA2LCA2NDcxLCA5MDExLCA5MDE0LCA5MDIxLCA5MDI2LCA5MDMwLCAyODA4LCA5NTUsIDkwMzYsIDkwNDAsIDkwNDYsIAotICAgIDkwNTIsIDkwNTcsIDkwNjMsIDkwNjgsIDc1NjYsIDkwNzQsIDkwODAsIDkwODUsIDkwOTAsIDkwOTgsIDkxMDQsIDkxMTcsIAotICAgIDkxMjUsIDkxMzIsIDc1NzIsIDkxMzgsIDkxNDYsIDkxNTQsIDkxNjEsIDkxNzQsIDkxODYsIDkxOTYsIDkyMDMsIDkyMTAsIAotICAgIDkyMTksIDkyMjgsIDkyMzYsIDkyNDMsIDkyNDgsIDkyNTQsIDc1NzcsIDkyNTksIDkyNjUsIDc1ODMsIDkyNzAsIDkyNzMsIAotICAgIDkyODAsIDkyODYsIDkyOTksIDcwODMsIDkzMTAsIDkzMTYsIDkzMjUsIDkzMzMsIDkzNDAsIDkzNDYsIDkzNTIsIDkzNTcsIAotICAgIDkzNjEsIDkzNjYsIDg4MjYsIDkzNzIsIDc1ODgsIDkzNzksIDkzODQsIDkzOTEsIDkzOTcsIDk0MDMsIDk0MDgsIDk0MTYsIAotICAgIDk0MjQsIDk0MzEsIDk0MzUsIDk0NDksIDk0NTksIDk0NjQsIDk0NjgsIDk0NzksIDk0ODUsIDk0OTAsIDk0OTUsIDc1OTMsIAotICAgIDc1OTksIDk0OTksIDk1MDIsIDk1MDcsIDk1MTksIDk1MjYsIDk1MzEsIDk1MzUsIDk1NDAsIDk1NDQsIDk1NTEsIDk1NTcsIAotICAgIDc2MDQsIDc1MjEsIDk1NjQsIDI4MTMsIDgsIDk1NzEsIDk1NzYsIDk1ODAsIDk1ODYsIDk1OTQsIDk2MDQsIDk2MDksIAotICAgIDk2MTQsIDk2MjEsIDk2MjgsIDk2MzIsIDk2NDMsIDk2NTMsIDk2NjIsIDk2NzQsIDk2NzksIDk2ODMsIDk2OTEsIDk3MDUsIAotICAgIDk3MDksIDk3MTIsIDk3MjAsIDk3MjcsIDk3MzUsIDk3MzksIDk3NTAsIDk3NTQsIDk3NjEsIDk3NjYsIDk3NzAsIDk3NzYsIAotICAgIDk3ODEsIDk3ODUsIDk3OTEsIDk3OTYsIDk4MDcsIDk4MTEsIDk4MTQsIDk4MjAsIDk4MjUsIDk4MzEsIDk4MzcsIDk4NDQsIAotICAgIDk4NTUsIDk4NjUsIDk4NzUsIDk4ODQsIDk4OTEsIDc2MTQsIDc2MjEsIDc2MjcsIDc2MzIsIDk4OTcsIDk5MDMsIDc2MzYsIAotICAgIDk5MDksIDk5MTIsIDk5MTksIDk5MjQsIDk5MzksIDk5NTUsIDk5NzAsIDk5NzgsIDk5ODQsIDEwNDMsIDQwMCwgOTk4OSwgCi0gICAgOTk5NywgMTAwMDQsIDEwMDEwLCAxMDAxNSwgMTAwMjAsIDc2NDEsIDEwMDIyLCAxMDAyNiwgMTAwMzEsIDEwMDM1LCAKLSAgICAxMDA0NSwgMTAwNTAsIDEwMDU0LCAxMDA2MywgMTAwNjcsIDEwMDcwLCAxMDA3NywgMTAwODEsIDEwMDg0LCAxMDA5MiwgCi0gICAgMTAwOTksIDEwMTA3LCAxMDExMSwgMTAxMTgsIDEwMTI3LCAxMDEzMCwgMTAxMzQsIDEwMTM4LCAxMDE0NCwgMTAxNDgsIAotICAgIDEwMTUyLCAxMDE1NiwgMTAxNjIsIDEwMTcyLCAxMDE3NiwgMTAxODQsIDEwMTg4LCAxMDE5NSwgMTAxOTksIDEwMjA0LCAKLSAgICAxMDIwOCwgMTAyMTUsIDEwMjIxLCAxMDIyOSwgMTAyMzUsIDEwMjQ1LCAxMDI1MCwgMTAyNTUsIDEwMjU5LCAxMDI2NywgCi0gICAgMzgyMiwgMTAyNzUsIDEwMjgwLCAxMDI4NCwgMTAyODgsIDEwMjkxLCAxMDI5OSwgMTAzMDYsIDEwMzEwLCA0NDY5LCAKLSAgICAxMDMxNCwgMTAzMTksIDEwMzIzLCAxMDMzNCwgMTAzMzksIDEwMzQ1LCAxMDM0OSwgMTAzNTIsIDEwMzYwLCAxMDM2NSwgCi0gICAgMTAzNzAsIDEwMzc3LCAxMDM4MiwgNzY1MCwgMTAzODcsIDEwMzkxLCAxNjg1LCA0NjE5LCAxMDM5OCwgMTA0MDMsIDEwNDA4LCAKLSAgICAxMDQxMywgMTA0MTksIDEwNDI0LCAxMDQzMCwgMTA0MzUsIDEwNDQwLCAxMDQ0NSwgMTA0NTAsIDEwNDU1LCAxMDQ2MCwgCi0gICAgMTA0NjUsIDEwNDcwLCAxMDQ3NSwgMTA0ODAsIDEwNDg1LCAxMDQ5MCwgMTA0OTUsIDEwNTAwLCAxMDUwNSwgMTA1MTAsIAotICAgIDEwNTE2LCAxMDUyMSwgMTA1MjYsIDEwNTMxLCAxMDUzNiwgMTA1NDEsIDEwNTQ3LCAxMDU1MiwgMTA1NTcsIDEwNTYzLCAKLSAgICAxMDU2OCwgMTA1NzQsIDEwNTc5LCAxMDU4NSwgMTA1OTAsIDEwNTk1LCAxMDYwMCwgMTA2MDUsIDEwNjExLCAxMDYxNiwgCi0gICAgMTA2MjEsIDEwNjI2LCA3MjQsIDEzOSwgMTA2MzQsIDEwNjM4LCAxMDY0MywgMTA2NDgsIDEwNjUyLCAxMDY1NiwgMTA2NjAsIAotICAgIDEwNjY1LCAxMDY2OSwgMTA2NzQsIDEwNjc4LCAxMDY4MSwgMTA2ODUsIDEwNjg5LCAxMDY5NCwgMTA3MDQsIDEwNzEwLCAKLSAgICAxMDcxOCwgMTA3MjIsIDEwNzI2LCAxMDczMywgMTA3NDEsIDEwNzUwLCAxMDc2MSwgMTA3NjgsIDEwNzc1LCAxMDc4NCwgCi0gICAgMTA3OTMsIDEwODAxLCAxMDgxMCwgMTA4MTksIDEwODI4LCAxMDgzNywgMTA4NDcsIDEwODU3LCAxMDg2NywgMTA4NzcsIAotICAgIDEwODg3LCAxMDg5NiwgMTA5MDYsIDEwOTE2LCAxMDkyNiwgMTA5MzYsIDEwOTQ2LCAxMDk1NiwgMTA5NjYsIDEwOTc1LCAKLSAgICAxMDk4NSwgMTA5OTUsIDExMDA1LCAxMTAxNSwgMTEwMjUsIDExMDM1LCAxMTA0NCwgMTEwNTQsIDExMDY0LCAxMTA3NCwgCi0gICAgMTEwODQsIDExMDk0LCAxMTEwNCwgMTExMTQsIDExMTI0LCAxMTEzNCwgMTExNDMsIDExMTUzLCAxMTE2MywgMTExNzMsIAotICAgIDExMTgzLCAxMTE5MywgMTEyMDMsIDExMjEzLCAxMTIyMywgMTEyMzMsIDExMjQzLCAxMTI1MiwgMTEyNTgsIDExMjYyLCAKLSAgICAxMTI2NSwgMTEyNjksIDExMjc0LCAxMTI4MSwgMTEyODcsIDExMjkyLCAxMTI5NiwgMTEzMDEsIDExMzEwLCAxMTMxOCwgCi0gICAgMTEzMjMsIDExMzI3LCAxMTMzMSwgMTEzMzcsIDExMzQyLCAxMTM0OCwgNzY1OSwgMTEzNTMsIDExMzU4LCAxMTM2NywgCi0gICAgNzY2NCwgMTEzNzIsIDExMzc1LCAxMTM4MSwgMTEzODksIDc2NjksIDExMzk2LCAxMTQwMCwgMTE0MDQsIDExNDA4LCAKLSAgICAxMTQxOCwgMTE0MjQsIDExNDI5LCAxMTQzOCwgMTE0NDYsIDExNDUzLCAxMTQ2MCwgMTE0NjUsIDExNDcyLCAxMTQ3NywgCi0gICAgMTE0ODEsIDExNDg0LCAxMTQ5NSwgMTE1MDUsIDExNTE0LCAxMTUyMiwgMTE1MzMsIDExNTQ1LCAxMTU1NSwgMTE1NjAsIAotICAgIDExNTY0LCAxMTU2OSwgMTE1NzQsIDExNTc4LCAxMTU4NCwgMTE1OTIsIDExNTk5LCAxMTYxMCwgMTE2MTUsIDExNjI1LCAKLSAgICAxMTYzNCwgMTE2MzgsIDExNjQxLCAxMTY0OCwgMTE2NTgsIDExNjY3LCAxMTY3NCwgMTE2NzgsIDExNjg1LCAxMTY5MSwgCi0gICAgMTE2OTYsIDExNzAxLCAxMTcwNSwgMTE3MTQsIDExNzE5LCAxMTcyNSwgMTE3MjksIDExNzM0LCAxMTczOCwgMTE3NDcsIAotICAgIDExNzU1LCAxMTc2MywgMTE3NzAsIDExNzc4LCAxMTc5MCwgMTE4MDEsIDExODExLCAxMTgxOCwgMTE4MjQsIDExODMzLCAKLSAgICAxMTg0NCwgMTE4NTMsIDExODY1LCAxMTg3NywgMTE4ODksIDExODk5LCAxMTkwOCwgMTE5MTcsIDExOTI1LCAxMTkzMiwgCi0gICAgMTE5NDEsIDExOTQ5LCAxMTk1NSwgMTE5NjEsIDExOTY2LCA2MTk5LCAxMTk3MCwgMTE5NzIsIDExOTc3LCAxMTk4MywgCi0gICAgMTE5OTIsIDEyMDAwLCAxMjAwNywgMTIwMTYsIDEyMDI1LCAxMjAzNCwgMTIwNDMsIDEyMDUyLCAxMjA2MSwgMTIwNzAsIAotICAgIDEyMDc5LCAxMjA4OSwgMTIwOTksIDEyMTA4LCAxMjExNCwgMTIxMjEsIDEyMTM1LCAxMjE0MiwgMTIxNTAsIDEyMTU5LCAKLSAgICAxMjE2NSwgMTIxNzQsIDEyMTgzLCAxMjE5NCwgMTIyMDQsIDEyMjEyLCAxMjIxOSwgMTIyMjcsIDEyMjM2LCAxMjI0OSwgCi0gICAgMTIyNTcsIDEyMjY0LCAxMjI3NywgMTIyODMsIDEyMjg5LCAxMjI5OSwgMTIzMDgsIDEyMzE3LCAxMjMyMiwgMTIzMjYsIAotICAgIDEyMzMyLCAxMjMzOCwgMTIzNDUsIDczNzAsIDEyMzUwLCAxMjM1NSwgMTIzNjIsIDEyMzY3LCAxMjM3MiwgMTIzNzYsIAotICAgIDEyMzg0LCAxMjM5MCwgMTIzOTUsIDEyNDAzLCAxMjQxMSwgMTI0MTgsIDEyNDI2LCAxMjQzMiwgMTI0NDAsIDEyNDQ4LCAKLSAgICAxMjQ1MywgMTI0NTksIDEyNDY2LCAxMjQ3MiwgMTI0NzcsIDEyNDgxLCAxMjQ5MiwgMTI1MDAsIDEyNTA2LCAxMjUxMSwgCi0gICAgMTI1MjAsIDEyNTI2LCAxMjUzMSwgMTI1NDAsIDEyNTU0LCAzNzgxLCAxMjU1OCwgMTI1NjMsIDEyNTY4LCAxMjU3NCwgCi0gICAgMTI1NzksIDEyNTg0LCAxMjU4OCwgMTI1OTMsIDEyNTk4LCA2MTk4LCAxMjYwMywgMTI2MDgsIDEyNjEzLCAxMjYxOCwgCi0gICAgMTI2MjIsIDEyNjI3LCAxMjYzMiwgMTI2MzcsIDEyNjQzLCAxMjY0OSwgMTI2NTQsIDEyNjU4LCAxMjY2MywgMTI2NjgsIAotICAgIDEyNjczLCA3NjczLCAxMjY3OCwgMTI2ODMsIDEyNjg4LCAxMjY5MywgMTI3MTAsIDEyNzI4LCAxMjc0MCwgMTI3NTMsIAotICAgIDEyNzcwLCAxMjc4NiwgMTI4MDMsIDEyODEzLCAxMjgzMiwgMTI4NDMsIDEyODU0LCAxMjg2NSwgMTI4NzYsIDEyODg4LCAKLSAgICAxMjg5OSwgMTI5MTAsIDEyOTI3LCAxMjkzOCwgMTI5NDksIDEyOTU0LCAyMzM1LCAxMjk1OCwgMTI5NjEsIDEyOTY3LCAKLSAgICAxMjk3NSwgMTI5ODMsIDEyOTg4LCAxMjk5NiwgMTMwMDQsIDEzMDExLCAxMzAxNiwgMTMwMjIsIDEzMDI5LCAxMzAzNywgCi0gICAgMTMwNDQsIDEzMDU2LCAxMzA2NCwgMTMwNjksIDk5MzMsIDEzMDc1LCAxMzA4NCwgMTMwOTMsIDEzMTAxLCAxMzEwOCwgCi0gICAgMTMxMTQsIDEzMTIyLCAxMzEyOSwgMTMxMzUsIDEzMTQyLCAxMzE0OCwgMTMxNTcsIDEzMTY1LCAxMzE3NSwgMTMxODIsIAotICAgIDEzMTg4LCAxMzE5NiwgMTMyMDIsIDEzMjEwLCAxMzIxNywgMTMyMzAsIDEzMjM3LCAxMzI0NiwgMTMyNTUsIDEzMjY0LCAKLSAgICAxMzI3MiwgMTMyODIsIDEzMjg5LCAxMzI5NCwgMzQ5NSwgMTMzMDEsIDEzMzA2LCAxMzMwOSwgMTI2MDQsIDEzMzEzLCAKLSAgICAxMzMxOSwgMTMzMjMsIDEzMzMxLCAxMzM0MywgMTMzNDgsIDEzMzU1LCAxMzM2MSwgMTMzNjYsIDEzMzczLCAxMjYwOSwgCi0gICAgMTMzNzcsIDEzMzgxLCAxMjYxNCwgMTMzODUsIDEzMzg5LCAxMzM5MywgMTM0MDAsIDEzNDA1LCAxMzQwOSwgMTM0MTMsIAotICAgIDEzNDIxLCAxMzQyOCwgMTM0MzUsIDEzNDUyLCAxMzQ2MSwgMTM0NjUsIDEzNDY4LCAxMzQ3NiwgMTM0ODIsIDEzNDg3LCAKLSAgICAzNTczLCAxMzQ5MSwgMTM0OTMsIDEzNTAxLCAxMzUwOCwgMTM1MTgsIDEzNTMwLCAxMzUzNSwgMTM1NDEsIDEzNTQ2LCAKLSAgICAxMzU1MCwgMTM1NTYsIDEzNTYxLCAxMzU2NywgMTM1NzAsIDEzNTc3LCAxMzU4NSwgMTM1OTIsIDEzNTk4LCAxMzYwNCwgCi0gICAgMTM2MDksIDEzNjE2LCAxMzYyMiwgMTM2MjcsIDEzNjM0LCAxMzYzOCwgMTM2NDQsIDEzNjQ4LCAxMzY1NSwgMTM2NjEsIAotICAgIDEzNjY3LCAxMzY3NSwgMTM2ODEsIDEzNjg2LCAxMzY5MiwgMTM3MDAsIDEzNzA4LCAxMzcxNCwgMTM3MjAsIDEzNzI1LCAKLSAgICAxMzczMiwgMTM3MzcsIDEzNzQxLCAxMzc0NywgMTM3NTIsIDEzNzU5LCAxMzc2NCwgMTM3NzAsIDEzNzczLCAxMzc3OSwgCi0gICAgMTM3ODUsIDEzNzg4LCAxMzc5MiwgMTM4MDQsIDEzODEwLCAxMzgxNSwgMTM4MjIsIDEzODI4LCAxMzgzNCwgMTM4NDUsIAotICAgIDEzODU1LCAxMzg2NCwgMTM4NzIsIDEzODc5LCAxMzg5MCwgMTM5MDAsIDEzOTEwLCAxMzkxOCwgMTM5MjEsIDEyNjI4LCAKLSAgICAxMzkyNiwgMTM5MzEsIDEyNjMzLCAxMjc1OCwgMTM5MzksIDEzOTUyLCAxMzk2NywgMTM5NzgsIDEyNzc1LCAxMzk5NiwgCi0gICAgMTQwMDksIDE0MDIyLCAxNDAzMywgODg0MSwgMTQwNDQsIDE0MDU3LCAxNDA3NiwgMTQwODcsIDE0MDk4LCAxNDEwOSwgCi0gICAgMjYwMywgMTQxMjIsIDE0MTI2LCAxNDEzNCwgMTQxNDUsIDE0MTUyLCAxNDE1OCwgMTQxNjYsIDE0MTcwLCAxNDE3NiwgCi0gICAgMTQxNzksIDE0MTg5LCAxNDE5NywgMTQyMDQsIDE0MjEyLCAxNDIyMiwgMTQyMjcsIDE0MjM0LCAxNDIzOSwgMTQyNDYsIAotICAgIDE0MjU3LCAxNDI2NywgMTQyNzMsIDE0Mjc4LCAxNDI4MywgMTQyODcsIDE0MjkxLCAxNDI5NywgMTQzMDMsIDE0MzA4LCAKLSAgICAxNDMxMywgMTQzMTgsIDE0MzIyLCAxMjYzOCwgMTI2NDQsIDE0MzI2LCAxMjY1MCwgMTQzMzEsIDE0MzM5LCAxNDM0OCwgCi0gICAgMTQzNTUsIDc1NDIsIDE0MzU5LCAxNDM2MSwgMTQzNjYsIDE0MzcxLCAxNDM3NywgMTQzODIsIDE0Mzg3LCAxNDM5MiwgCi0gICAgMTQzOTcsIDE0NDAxLCAxNDQwNywgMTQ0MTMsIDE0NDE4LCAxNDQyNCwgMTQ0MjksIDE0NDM0LCAxNDQ0MCwgMTQ0NDUsIAotICAgIDE0NDUwLCAxNDQ1NSwgMTQ0NjEsIDE0NDY2LCAxNDQ3MSwgMTQ0NzcsIDE0NDgzLCAxNDQ4OCwgMTQ0OTMsIDE0NTAwLCAKLSAgICAxNDUwNiwgMTQ1MTcsIDE0NTI0LCAxNDUyOSwgMTQ1MzMsIDE0NTM3LCAxNDU0MCwgMTQ1NDgsIDE0NTUzLCAxNDU2MCwgCi0gICAgMTQ1NjcsIDE0NTcyLCAxNDU3NywgMTQ1ODQsIDE0NTk0LCAxNDU5OSwgMTQ2MDYsIDE0NjEyLCAxNDYyMiwgMTQ2MzIsIAotICAgIDE0NjQ2LCAxNDY2MCwgMTQ2NzQsIDE0Njg4LCAxNDcwMywgMTQ3MTgsIDE0NzM1LCAxNDc1MywgMTQ3NjYsIDE0NzcyLCAKLSAgICAxNDc3NywgMTQ3ODIsIDE0Nzg2LCAxNDc5MSwgMTQ3OTksIDE0ODA1LCAxNDgxMCwgMTQ4MTUsIDE0ODE5LCAxNDgyNCwgCi0gICAgMTQ4MjgsIDE0ODMzLCAxNDgzNywgMTQ4NDgsIDE0ODU0LCAxNDg1OSwgMTQ4NjQsIDE0ODcxLCAxNDg3NiwgMTQ4ODAsIAotICAgIDE0ODg1LCAxNDg5MCwgMTQ4OTYsIDE0OTAzLCAxNDkwOSwgMTQ5MTQsIDE0OTE4LCAxNDkyNCwgMTQ5MjksIDE0OTM0LCAKLSAgICAxNDkzOCwgMTQ5NDQsIDE0OTQ5LCAxNDk1NCwgMTQ5NjEsIDE0OTY2LCAxMTQyMCwgMTQ5NzAsIDE0OTc1LCAxNDk3OSwgCi0gICAgMTQ5ODQsIDE0OTkwLCAxNDk5NiwgMTUwMDMsIDE1MDEzLCAxNTAyMSwgMTUwMjgsIDE1MDMzLCAxNTAzNywgMTUwNDYsIAotICAgIDE1MDU0LCAxNTA2MSwgMTUwNjgsIDE1MDc0LCAxNTA4MCwgMTUwODUsIDE1MDkwLCAxNTA5NiwgMTUxMDEsIDE1MTA3LCAKLSAgICAxNTExMiwgMTUxMTgsIDE1MTI0LCAxNTEzMSwgMTUxMzcsIDE1MTQyLCAxNTE0NywgNzcxNSwgMTUxNTYsIDE1MTU5LCAKLSAgICAxNTE2NSwgMTUxNzAsIDE1MTc1LCAxNTE4NSwgMTUxOTIsIDE1MTk4LCAxNTIwMywgMTUyMDksIDE1MjE0LCAxNTIyMCwgCi0gICAgMTUyMjUsIDE1MjMxLCAxNTIzNywgMTUyNDIsIDE1MjUwLCAxNTI1NywgMTUyNjIsIDE1MjY3LCAxNTI3MywgMTUyNzgsIAotICAgIDE1MjgyLCAxNTI5MSwgMTUzMDIsIDE1MzA5LCAxNTMxNywgMTUzMjMsIDE1MzMwLCAxNTMzNiwgMTUzNDEsIDE1MzQ1LCAKLSAgICAxNTM1MSwgMTUzNTYsIDE1MzYxLCAxNTM2NiwgNzcyMCwgNjIyMywgMjgyNywgMTUzNzAsIDE1Mzc0LCAxNTM3OCwgMTUzODIsIAotICAgIDE1Mzg2LCAxNTM4OSwgMTUzOTYsIDE1NDA0LCAxMjY2NCwgMTU0MTEsIDE1NDIxLCAxNTQyOSwgMTU0MzYsIDE1NDQ0LCAKLSAgICAxNTQ1NCwgMTU0NjMsIDE1NDc2LCAxNTQ4MSwgMTU0ODYsIDE1NDk0LCAxNTUwMSwgMTE1MTAsIDExNTE5LCAxNTUwOCwgCi0gICAgMTU1MTgsIDE1NTMzLCAxNTUzOSwgMTU1NDYsIDE1NTUzLCAxNTU1OSwgMTU1NjksIDE1NTc5LCAxMjY2OSwgMTU1ODgsIAotICAgIDE1NTk0LCAxNTYwMCwgMTU2MDgsIDE1NjE2LCAxNTYyMSwgMTU2MzAsIDE1NjM4LCAxNTY1MCwgMTU2NjAsIDE1NjcwLCAKLSAgICAxNTY4MCwgMTU2ODksIDE1NzAxLCAxNTcxMSwgMTU3MjEsIDE1NzMyLCAxNTczNywgMTU3NDksIDE1NzYxLCAxNTc3MywgCi0gICAgMTU3ODUsIDE1Nzk3LCAxNTgwOSwgMTU4MjEsIDE1ODMzLCAxNTg0NSwgMTU4NTcsIDE1ODY4LCAxNTg4MCwgMTU4OTIsIAotICAgIDE1OTA0LCAxNTkxNiwgMTU5MjgsIDE1OTQwLCAxNTk1MiwgMTU5NjQsIDE1OTc2LCAxNTk4OCwgMTU5OTksIDE2MDExLCAKLSAgICAxNjAyMywgMTYwMzUsIDE2MDQ3LCAxNjA1OSwgMTYwNzEsIDE2MDgzLCAxNjA5NSwgMTYxMDcsIDE2MTE5LCAxNjEzMCwgCi0gICAgMTYxNDIsIDE2MTU0LCAxNjE2NiwgMTYxNzgsIDE2MTkwLCAxNjIwMiwgMTYyMTQsIDE2MjI2LCAxNjIzOCwgMTYyNTAsIAotICAgIDE2MjYxLCAxNjI3MywgMTYyODUsIDE2Mjk3LCAxNjMwOSwgMTYzMjEsIDE2MzMzLCAxNjM0NSwgMTYzNTcsIDE2MzY5LCAKLSAgICAxNjM4MSwgMTYzOTIsIDE2NDA0LCAxNjQxNiwgMTY0MjgsIDE2NDQwLCAxNjQ1MiwgMTY0NjQsIDE2NDc2LCAxNjQ4OCwgCi0gICAgMTY1MDAsIDE2NTEyLCAxNjUyMywgMTY1MzUsIDE2NTQ3LCAxNjU1OSwgMTY1NzEsIDE2NTgzLCAxNjU5NSwgMTY2MDcsIAotICAgIDE2NjE5LCAxNjYzMSwgMTY2NDMsIDE2NjU0LCAxNjY2NiwgMTY2NzgsIDE2NjkwLCAxNjcwMiwgMTY3MTUsIDE2NzI4LCAKLSAgICAxNjc0MSwgMTY3NTQsIDE2NzY3LCAxNjc4MCwgMTY3OTMsIDE2ODA1LCAxNjgxOCwgMTY4MzEsIDE2ODQ0LCAxNjg1NywgCi0gICAgMTY4NzAsIDE2ODgzLCAxNjg5NiwgMTY5MDksIDE2OTIyLCAxNjkzNSwgMTY5NDcsIDE2OTYwLCAxNjk3MywgMTY5ODYsIAotICAgIDE2OTk5LCAxNzAxMiwgMTcwMjUsIDE3MDM4LCAxNzA1MSwgMTcwNjQsIDE3MDc3LCAxNzA4OSwgMTcxMDIsIDE3MTE1LCAKLSAgICAxNzEyOCwgMTcxNDEsIDE3MTU0LCAxNzE2NywgMTcxODAsIDE3MTkzLCAxNzIwNiwgMTcyMTksIDE3MjMxLCAxNzI0NCwgCi0gICAgMTcyNTcsIDE3MjcwLCAxNzI4MywgMTcyOTYsIDE3MzA5LCAxNzMyMiwgMTczMzUsIDE3MzQ4LCAxNzM2MSwgMTczNzMsIAotICAgIDE3Mzg2LCAxNzM5OSwgMTc0MTIsIDE3NDI1LCAxNzQzOCwgMTc0NTEsIDE3NDY0LCAxNzQ3NywgMTc0OTAsIDE3NTAzLCAKLSAgICAxNzUxNSwgMTc1MjYsIDE3NTM5LCAxNzU1MiwgMTc1NjUsIDE3NTc4LCAxNzU5MSwgMTc2MDQsIDE3NjE3LCAxNzYzMCwgCi0gICAgMTc2NDMsIDE3NjU2LCAxNzY2OCwgMTc2ODEsIDE3Njk0LCAxNzcwNywgMTc3MjAsIDE3NzMzLCAxNzc0NiwgMTc3NTksIAotICAgIDE3NzcyLCAxNzc4NSwgMTc3OTgsIDE3ODEwLCAxNzgyMywgMTc4MzYsIDE3ODQ5LCAxNzg2MiwgMTc4NzUsIDE3ODg4LCAKLSAgICAxNzkwMSwgMTc5MTQsIDE3OTI3LCAxNzk0MCwgMTc5NTIsIDE3OTY1LCAxNzk3OCwgMTc5OTEsIDE4MDA0LCAxODAxNywgCi0gICAgMTgwMzAsIDE4MDQzLCAxODA1NiwgMTgwNjksIDE4MDgyLCAxODA5NCwgMTgxMDcsIDE4MTIwLCAxODEzMywgMTgxNDYsIAotICAgIDE4MTU5LCAxODE3MiwgMTgxODUsIDE4MTk4LCAxODIxMSwgMTgyMjQsIDE4MjM2LCAxODI0OSwgMTgyNjIsIDE4Mjc1LCAKLSAgICAxODI4OCwgMTgzMDEsIDE4MzE0LCAxODMyNywgMTgzNDAsIDE4MzUzLCAxODM2NiwgMTgzNzgsIDE4MzkxLCAxODQwNCwgCi0gICAgMTg0MTcsIDE4NDMwLCAxODQ0MywgMTg0NTYsIDE4NDY5LCAxODQ4MiwgMTg0OTUsIDE4NTA4LCAxODUyMCwgMTg1MzMsIAotICAgIDE4NTQ2LCAxODU1OSwgMTg1NzIsIDE4NTg1LCAxODU5OCwgMTg2MTEsIDE4NjI0LCAxODYzNywgMTg2NTAsIDE4NjYyLCAKLSAgICAxODY3NSwgMTg2ODgsIDE4NzAxLCAxODcxNCwgMTg3MjcsIDE4NzQwLCAxODc1MywgMTg3NjYsIDE4Nzc5LCAxODc5MiwgCi0gICAgMTg4MDQsIDE4ODE3LCAxODgzMCwgMTg4NDMsIDE4ODU2LCAxODg2OSwgMTg4ODIsIDE4ODk1LCAxODkwOCwgMTg5MjEsIAotICAgIDE4OTM0LCAxODk0NiwgMTg5NTcsIDE4OTY1LCAxODk3MiwgMTg5NzgsIDE4OTgyLCAxODk4OCwgMTg5OTQsIDE5MDAyLCAKLSAgICAxOTAwOCwgMTkwMTMsIDE5MDE3LCAxOTAyNiwgNzU0NywgMTkwMzcsIDE5MDQ0LCAxOTA1MiwgMTkwNTksIDE5MDY2LCAKLSAgICA5MjkzLCAxOTA3MywgMTkwODIsIDE5MDg3LCAxOTA5MiwgNjIzOSwgMTkwOTksIDE5MTA0LCAxOTEwNywgMTkxMTIsIAotICAgIDE5MTIwLCAxOTEyNywgMTkxMzQsIDE5MTQxLCAxOTE0NywgMTkxNTYsIDE5MTY1LCAxOTE3MSwgMTkxODAsIDE5MTg2LCAKLSAgICAxOTE5MSwgMTkyMDEsIDE5MjA4LCAxOTIxNCwgMTkyMjIsIDE5MjI4LCAxOTIzNSwgMTkyNDUsIDE5MjU0LCAxOTI1OCwgCi0gICAgMTkyNjUsIDE5MjY5LCAxOTI3NCwgMTkyODAsIDE5Mjg4LCAxOTI5MiwgMTkzMDIsIDEyNjc5LCAxOTMxMSwgMTkzMTcsIAotICAgIDE5MzIxLCAxOTMzMCwgMTkzMzYsIDE5MzQzLCAxOTM1NCwgMTkzNjIsIDE5MzcxLCA3MzM1LCAxOTM3OSwgMTkzODQsIAotICAgIDE5MzkwLCAxOTM5NSwgMTkzOTksIDE5NDAzLCAxOTQwNywgODAwNiwgMTk0MTIsIDE5NDIwLCAxOTQyNywgMTk0MzYsIAotICAgIDE5NDQzLCAxOTQ1MCwgOTIyMywgMTk0NTcsIDE5NDYzLCAxOTQ2NywgMTk0NzMsIDE5NDc5LCAxOTQ4NywgMTk0OTMsIAotICAgIDE5NTAwLCAxOTUwNiwgMTk1MTIsIDE5NTIxLCAxOTUyNSwgMTk1MzMsIDE5NTQyLCAxOTU0OSwgMTk1NTQsIDE5NTU4LCAKLSAgICAxOTU2OSwgMTk1NzQsIDE5NTc5LCAxOTU4NCwgMTk1OTcsIDY0MjYsIDE5NjAxLCAxOTYwNywgMTk2MTUsIDE5NjE5LCAKLSAgICAxOTYyNiwgMTk2MzUsIDE5NjQwLCAxOTY0OCwgMTk2NjAsIDE5NjY1LCAxOTY2OSwgMTk2NzIsIDE5Njc4LCAxOTY4NCwgCi0gICAgMTk2ODksIDE5NjkzLCAxOTY5NiwgMTk3MDcsIDE5NzEyLCA3NzUwLCAxOTcxOSwgNzU1OCwgNzc1NSwgMTk3MjQsIDE5NzI5LCAKLSAgICAxOTczNCwgMTk3MzksIDE5NzQ0LCAxOTc0OSwgMTk3NTQsIDE5NzU5LCAxOTc2NCwgMTk3NjksIDE5Nzc0LCAxOTc3OSwgCi0gICAgMTk3ODUsIDE5NzkwLCAxOTc5NSwgMTk4MDAsIDE5ODA1LCAxOTgxMCwgMTk4MTUsIDE5ODIwLCAxOTgyNSwgMTk4MzAsIAotICAgIDE5ODM2LCAxOTg0MiwgMTk4NDcsIDE5ODUyLCAxOTg1NywgMTk4NjIsIDE5ODY3LCAxOTg3MiwgMTk4NzcsIDE5ODgyLCAKLSAgICAxOTg4NywgMTk4OTMsIDE5ODk4LCAxOTkwMywgMTk5MDgsIDE5OTE0LCAxOTkyMCwgMTk5MjUsIDE5OTMwLCAxOTkzNSwgCi0gICAgMTk5NDAsIDE5OTQ1LCAxOTk1MCwgMTk5NTUsIDE5OTYwLCAxOTk2NiwgMTk5NzEsIDE5OTc2LCAxOTk4MSwgMTk5ODYsIAotICAgIDE5OTkyLCAxOTk5NywgMjAwMDIsIDIwMDA2LCAxMjksIDIwMDE0LCAyMDAxOCwgMjAwMjIsIDIwMDI2LCAyMDAzMSwgCi0gICAgMjAwMzUsIDIwMDM5LCAxMDc4MSwgMjAwNDMsIDIwMDQ4LCAyMDA1MiwgMjAwNTcsIDIwMDYxLCAyMDA2NiwgMjAwNzAsIAotICAgIDIwMDc2LCAyMDA4MSwgMjAwODUsIDIwMDg5LCAyMDA5NywgMjAxMDEsIDIwMTA2LCAyMDExMSwgMjAxMTUsIDIwMTIxLCAKLSAgICAyMDEyNiwgMjAxMzAsIDIwMTM1LCAyMDE0MCwgMjAxNDQsIDIwMTUxLCAyMDE1OCwgMjAxNjUsIDIwMTY5LCAyMDE3MywgCi0gICAgMjAxNzgsIDIwMTgyLCAyMDE4NSwgMjAxOTEsIDIwMjA0LCAyMDIwOSwgMjAyMTgsIDIwMjIzLCA3Nzk1LCAyMDIyOCwgCi0gICAgMjAyMzEsIDI2NjYsIDI2NzEsIDIwMjM1LCAyMDI0MSwgMjAyNDcsIDIwMjUyLCAyMDI1NywgMjAyNjIsIDIwMjY4LCAKLSAgICAyMDI3MywgMTIxOTAsIDIwMjc4LCAyMDI4MywgMjAyODgsIDIwMjk0LCAyMDI5OSwgMjAzMDQsIDIwMzEwLCAyMDMxNSwgCi0gICAgMjAzMTksIDIwMzI0LCAyMDMyOSwgMjAzMzQsIDIwMzM4LCAyMDM0MywgMjAzNDgsIDIwMzUzLCAyMDM1OCwgMjAzNjIsIAotICAgIDIwMzY2LCAyMDM3MSwgMjgzNiwgMjAzMjAsIDIwMzc1LCAyMDM4MywgMjAzOTAsIDgxMDAsIDIwNDAyLCAyMDQxMCwgCi0gICAgMjAzMjUsIDIwNDE3LCAyMDQyMiwgMjA0MzAsIDIwMzMwLCAyMDQzNSwgMjA0NDAsIDIwNDQ4LCAyMDQ1MywgMjA0NTgsIAotICAgIDIwNDYyLCAyMDQ2NywgMjA0NzEsIDIwNDc3LCAyMDQ4MCwgMjA0ODcsIDIwNDkxLCAyMDQ5NSwgMjA1MDEsIDIwNTA4LCAKLSAgICAyMDUxMywgNzM2MiwgMTY5MCwgMTY5NSwgMjA1MTcsIDIwNTIzLCAyMDUyOSwgMjA1MzQsIDIwNTM4LCAyMDU0MiwgMjA1NDYsIAotICAgIDIwNTQ5LCAyMDU1NSwgMjA1NjIsIDIwNTcwLCAyMDU3NiwgMjA1ODIsIDIwNTg3LCAyMDU5MiwgMjA1OTYsIDEzMDM5LCAKLSAgICAxMzg5NiwgMjA2MDEsIDIwNjEzLCAyMDYxNiwgMjA2MjMsIDIwNjMwLCAyMDYzNCwgMjA2NDIsIDIwNjUzLCAyMDY2MiwgCi0gICAgMjA2NzUsIDIwNjg1LCAyMDY5OSwgMjA3MTEsIDIwNzI1LCAyMDczNywgMjA3NDcsIDIwNzU5LCAyMDc2NSwgMjA3ODAsIAotICAgIDIwODA0LCAyMDgyMiwgMjA4NDEsIDIwODU0LCAyMDg2OCwgMjA4ODYsIDIwOTAyLCAyMDkxOSwgMjA5MzcsIDIwOTQ4LCAKLSAgICAyMDk2NywgMjA5ODQsIDIxMDA0LCAyMTAyMiwgMjEwMzQsIDIxMDQ4LCAyMTA2MiwgMjEwNzQsIDIxMDkxLCAyMTExMCwgCi0gICAgMjExMjgsIDIxMTQwLCAyMTE1OCwgMjExNzcsIDEyODE4LCAyMTE5MCwgMjEyMTAsIDIxMjIyLCA4ODcyLCAyMTIzNCwgCi0gICAgMjEyMzksIDIxMjQ0LCAyMTI0OSwgMjEyNTUsIDIxMjYwLCAyMTI2NCwgMjEyNzEsIDIzNTIsIDIxMjc1LCAyMTI4MSwgCi0gICAgMjEyODUsIDIxMjg4LCAyMTI5MiwgMjEzMDAsIDIxMzA2LCAyMDMzOSwgMjEzMTAsIDIxMzE5LCAyMTMzMCwgMjEzMzYsIAotICAgIDIxMzQyLCAyMTM1MSwgMjEzNTksIDIxMzY2LCAyMTM3MSwgMjEzNzgsIDIxMzg0LCAyMTM5MywgMjE0MDEsIDIxNDA4LCAKLSAgICAyMTQxOCwgMjE0MjcsIDIxNDM3LCAyMTQ0MiwgMjE0NTEsIDIxNDYwLCAyMTQ3MSwgMjE0ODIsIDM4ODAsIDIxNDkyLCAKLSAgICAyMTQ5NiwgMjE1MDYsIDIxNTE0LCAyMTUyNCwgMjE1MzUsIDIxNTQwLCAyMTU0OCwgMjE1NTUsIDIxNTYxLCAyMTU2NiwgCi0gICAgMjAzNDksIDIxNTcwLCAyMTU3OSwgMjE1ODMsIDIxNTg2LCAyMTU5MSwgMjE1OTgsIDIxNjA3LCAyMTYxNSwgMjE2MjMsIAotICAgIDIxNjMzLCAyMTY0MiwgMjE2NDgsIDIxNjU0LCAyMDM1NCwgMjAzNTksIDIxNjU4LCAyMTY2OCwgMjE2NzgsIDIxNjg4LCAKLSAgICAyMTY5NiwgMjE3MDMsIDIxNzEzLCAyMTcyMSwgMjE3MjksIDIxNzM1LCA5NjIsIDIxNzQ0LCAxMzAwMCwgNTM3LCAyMTc1OCwgCi0gICAgMjE3NjcsIDIxNzc1LCAyMTc4NiwgMjE3OTcsIDIxODA3LCAyMTgxNiwgMjE4MjgsIDIxODM3LCAyMTg0NiwgMjE4NTIsIAotICAgIDIxODYxLCAyMTg3MCwgMjE4ODAsIDIxODg4LCAyMTg5NiwgNzcyNywgMjE5MDIsIDIxOTA1LCAyMTkwOSwgMjE5MTQsIAotICAgIDIxOTE5LCA4MjE1LCAyMDM2NywgMjE5MjcsIDIxOTMzLCAyMTkzOSwgMjE5NDQsIDIxOTQ5LCAyMTk1MywgMjE5NjEsIAotICAgIDIxOTY3LCAyMTk3MywgMjE5NzcsIDM0NjcsIDIxOTg1LCAyMTk5MCwgMjE5OTUsIDIxOTk5LCAyMjAwMywgODI4NywgCi0gICAgMjIwMTAsIDIyMDE4LCAyMjAyNSwgMjIwMzEsIDgyOTYsIDgzMDIsIDIyMDM5LCAyMjA0NywgMjIwNTQsIDIyMDU5LCAKLSAgICAyMjA2NCwgMjIwNzAsIDIyMDc0LCAyMjA4NSwgMjIwOTAsIDI1NTUsIDIyMDk1LCAyMjEwNiwgMjIxMTIsIDIyMTE3LCAKLSAgICAyMjEyMSwgMjIxMjUsIDIyMTI4LCAyMjEzNSwgMjIxNDIsIDIyMTQ5LCAyMjE1NSwgMjIxNTksIDIyMTY0LCAyMjE2OCwgCi0gICAgMjIxNzIsIDk3OSwgMjIxNzYsIDIyMTgxLCAyMjE4NiwgMjIxOTEsIDIyMTk2LCAyMjIwMSwgMjIyMDYsIDIyMjExLCAKLSAgICAyMjIxNiwgMjIyMjEsIDIyMjI2LCAyMjIzMSwgMjIyMzYsIDIyMjQxLCAyMjI0NywgMjIyNTIsIDIyMjU3LCAyMjI2MiwgCi0gICAgMjIyNjcsIDIyMjcyLCAyMjI3NywgMjIyODMsIDIyMjg4LCAyMjI5MywgMjIyOTgsIDIyMzAzLCAyMjMwOCwgMjIzMTMsIAotICAgIDIyMzE4LCAyMjMyNCwgMjIzMzAsIDIyMzM1LCAyMjM0MSwgMjIzNDYsIDIyMzUxLCA1LCAyMjM1NywgMjIzNjEsIDIyMzY1LCAKLSAgICAyMjM2OSwgMjIzNzQsIDIyMzc4LCAyMjM4MiwgMjIzODYsIDIyMzkwLCAyMjM5NSwgMjIzOTksIDIyNDA0LCAyMjQwOCwgCi0gICAgMjI0MTEsIDIyNDE1LCAyMjQyMCwgMjI0MjQsIDIyNDI5LCAyMjQzMywgMjI0MzcsIDIyNDQxLCAyMjQ0NiwgMjI0NTAsIAotICAgIDIyNDU0LCAyMjQ2NCwgMjI0NjksIDIyNDczLCAyMjQ3NywgMjI0ODIsIDIyNDg3LCAyMjQ5NiwgMjI1MDEsIDIyNTA2LCAKLSAgICAyMjUxMCwgMjI1MTQsIDIyNTI3LCAyMjUzOSwgMjI1NDgsIDIyNTU3LCAyMjU2MywgMjI1NjgsIDIyNTcyLCAyMjU3NiwgCi0gICAgMjI1ODYsIDIyNTk1LCAyMjYwMywgMjI2MDksIDIyNjE0LCAyMjYxOCwgMjI2MjUsIDIyNjM1LCAyMjY0NCwgMjI2NTIsIAotICAgIDIyNjYwLCAyMjY2NywgMjI2NzUsIDIyNjg0LCAyMjY5MywgMjI3MDEsIDIyNzA2LCAyMjcxMCwgMjI3MTQsIDIyNzE3LCAKLSAgICAyMjcxOSwgMjI3MjMsIDIyNzI3LCAyMjczMiwgMjI3MzcsIDIyNzQxLCAyMjc0NSwgMjI3NDgsIDIyNzUyLCAyMjc1NSwgCi0gICAgMjI3NTksIDIyNzYyLCAyMjc2NSwgMjI3NjksIDIyNzc1LCAyMjc3OSwgMjI3ODMsIDIyNzg3LCAyMjc5MiwgMjI3OTcsIAotICAgIDIyODAyLCAyMjgwNiwgMjI4MDksIDIyODE0LCAyMjgyMCwgMjI4MjUsIDIyODMxLCAyMjgzNiwgMjI4NDAsIDIyODQ0LCAKLSAgICAyMjg0OCwgMjI4NTMsIDIyODU3LCAyMjg2MiwgMjI4NjYsIDIyODczLCAyMjg3NywgMjI4ODAsIDIyODg0LCAyMjg5MCwgCi0gICAgMjI4OTYsIDIyOTAwLCAyMjkwNCwgMjI5MDksIDIyOTE2LCAyMjkyMiwgMjI5MjYsIDIyOTM1LCAyMjkzOSwgMjI5NDMsIAotICAgIDIyOTQ2LCAyMjk1MiwgMjI5NTcsIDIyOTYzLCAxNDUyLCAxNzU0LCAyMjk2OCwgMjI5NzMsIDIyOTc4LCAyMjk4MywgCi0gICAgMjI5ODgsIDIyOTkzLCAyMjk5OCwgMjEwNiwgMjE0OCwgMjMwMDMsIDIzMDA2LCAyMzAxMCwgMjMwMTQsIDIzMDE5LCAKLSAgICAyMzAyMywgMjMwMjcsIDIzMDMwLCAyMzAzNSwgMjMwNDAsIDIzMDQ0LCAyMzA0NywgMjMwNTIsIDIzMDU2LCAyMzA2MSwgCi0gICAgMjMwNjUsIDEzMDEyLCAyMzA3MCwgMjMwNzMsIDIzMDc2LCAyMzA4MCwgMjMwODUsIDIzMDk4LCAyMzEwMiwgMjMxMDUsIAotICAgIDIzMTEzLCAyMzEyMiwgMjMxMjksIDIzMTM0LCAyMzE0MCwgMjMxNDYsIDIzMTUzLCAyMzE2MCwgMjMxNjQsIDIzMTY4LCAKLSAgICAyMzE3MiwgMjMxNzcsIDIzMTgyLCAyMzE4NiwgMjMxOTQsIDIzMTk5LCAyMzIxMSwgMjMyMjIsIDIzMjI3LCAyMzIzMSwgCi0gICAgMjMyMzUsIDIzMjQxLCAyMzI0NiwgMjMyNTEsIDIzMjU1LCAyMzI1OCwgMjMyNjQsIDYzNDYsIDIyNzAsIDIzMjY4LCAKLSAgICAyMzI3MywgMjMyODksIDc4NDIsIDIzMzA5LCAyMzMxOCwgMjMzMzQsIDIzMzM4LCAyMzM0MSwgMjMzNDcsIDIzMzU3LCAKLSAgICAyMzM2MywgMjMzNzgsIDIzMzkwLCAyMzQwMSwgMjM0MDksIDIzNDE4LCAyMzQyNCwgMjM0MzMsIDIzNDQzLCAyMzQ1NCwgCi0gICAgMjM0NjUsIDIzNDc0LCAyMzQ4MywgMjM0OTEsIDIzNDk4LCAyMzUwNiwgMjM1MTksIDIzNTI2LCAyMzUzMiwgMjM1MzcsIAotICAgIDIzNTQ2LCAyMzU1MiwgMjM1NTcsIDIzNTY1LCAyMTUxNiwgMjM1NzcsIDIzNTg5LCAyMzYwMywgMjM2MTEsIDIzNjE4LCAKLSAgICAyMzYzMCwgMjM2MzksIDIzNjQ4LCAyMzY1NiwgMjM2NjQsIDIzNjcyLCAyMzY3OSwgMjM2ODgsIDIzNjk2LCAyMzcwNiwgCi0gICAgMjM3MTUsIDIzNzI1LCAyMzczNCwgMjM3NDMsIDIzNzUxLCAyMzc1NiwgMjM3NjAsIDIzNzYzLCAyMzc2NywgMjM3NzEsIAotICAgIDIzNzc1LCAyMzc3OSwgMjM3ODMsIDIzNzg5LCAyMzc5NSwgMjM4MDMsIDEzMDU3LCAyMzgxMCwgMjM4MTUsIDIzODIyLCAKLSAgICAyMzgyOCwgMjM4MzUsIDEzMDY1LCAyMzg0MiwgMjM4NDUsIDIzODU3LCAyMzg2NSwgMjM4NzEsIDIzODc2LCAyMzg4MCwgCi0gICAgODI0NSwgMjM4OTEsIDIzOTAxLCAyMzkxMCwgMjM5MTcsIDIzOTIxLCAxMzA3MCwgMjM5MjQsIDIzOTMxLCAyMzkzNSwgCi0gICAgMjM5NDEsIDIzOTQ0LCAyMzk1MSwgMjM5NTcsIDIzOTYxLCAyMzk2NiwgMjM5NzAsIDIzOTc5LCAyMzk4NiwgMjM5OTIsIAotICAgIDYzODcsIDIzOTk5LCAyNDAwNywgMjQwMTQsIDI0MDIwLCAyNDAyNSwgMjQwMzEsIDI0MDM3LCAyNDA0NSwgMjQwNDksIAotICAgIDI0MDUyLCAyNDA1NCwgMjM3NjgsIDI0MDYzLCAyNDA2OSwgMjQwNzksIDI0MDg0LCAyNDA5MSwgMjQwOTcsIDI0MTAyLCAKLSAgICAyNDEwNywgMjQxMTIsIDI0MTE3LCAyNDEyNCwgMjQxMzMsIDI0MTQwLCAyNDE0OSwgMjQxNTUsIDI0MTYwLCAyNDE2NiwgCi0gICAgMjQxNzEsIDI0MTc4LCAyNDE4OSwgMjQxOTQsIDI0MTk4LCAyNDIwOCwgMjQyMTQsIDI0MjE4LCAyNDIyMywgMjQyMzMsIAotICAgIDI0MjQyLCAyNDI0NiwgMjQyNTMsIDI0MjYxLCAyNDI2OCwgMjQyNzQsIDI0Mjc5LCAyNDI4NywgMjQyOTQsIDI0MzA2LCAKLSAgICAyNDMxNSwgMjQzMTksIDExMzYyLCAyNDMyNywgMjQzMzcsIDI0MzQxLCAyMzEwOSwgMjQzNTIsIDI0MzU3LCAyNDM2MSwgCi0gICAgMjQzNjgsIDI0Mzc1LCAyMDExNywgMjM2OTMsIDI0MzgwLCAyNDM4NCwgMjQzODcsIDIwOTU0LCAyNDM5MiwgMjQ0MDYsIAotICAgIDI0NDIyLCAyNDQ0MCwgMjQ0NTksIDI0NDc2LCAyNDQ5NCwgMjA5NzMsIDI0NTExLCAyNDUzMSwgMjA5OTAsIDI0NTQzLCAKLSAgICAyNDU1NSwgMTM5ODMsIDI0NTY3LCAyMTAxMCwgMjQ1ODEsIDI0NTkzLCA4ODg1LCAyNDYwNywgMjQ2MTIsIDI0NjE3LCAKLSAgICAyNDYyMiwgMjQ2MjgsIDI0NjM0LCAyNDY0MCwgMjQ2NDQsIDI0NjUxLCAyNDY1NiwgMjQ2NjYsIDI0NjcyLCA4NTMyLCAKLSAgICAyNDY3OCwgMjQ2ODAsIDI0Njg1LCAyNDY5MywgMjQ2OTcsIDI0MTIwLCAyNDcwMywgMjQ3MTAsIDk4NjksIDk4NzksIAotICAgIDI0NzE3LCAyNDcyNywgMjQ3MzIsIDI0NzM2LCAyNDczOSwgMjQ3NDUsIDI0NzUzLCAyNDc2NSwgMjQ3NzUsIDI0NzkxLCAKLSAgICAyNDgwNCwgMjQ4MTgsIDE0MDAxLCAyNDgzMiwgMjQ4MzksIDI0ODQzLCAyNDg0NiwgMjQ4NTEsIDI0ODU1LCAyNDg2MiwgCi0gICAgMjQ4NjksIDI0ODc5LCAyNDg4NCwgMjQ4ODksIDI0ODk0LCAyNDkwMiwgMjQ5MTAsIDI0OTE5LCAyNDkyNCwgNzkzOSwgCi0gICAgMjQ5MjgsIDI0OTMxLCAyNDkzNCwgMjQ5MzksIDI0OTQ2LCAyNDk1MSwgMjQ5NjcsIDI0OTc1LCAyNDk4MywgNzc5MCwgCi0gICAgMjQ5OTEsIDI0OTk2LCAyNTAwMCwgMjUwMDYsIDI1MDEyLCAyNTAxNSwgMjUwMjEsIDI1MDMzLCAyNTA0MSwgMjUwNDgsIAotICAgIDI1MDU0LCAyNTA2MSwgMjUwNzIsIDI1MDg2LCAyNTA5OSwgMjUxMDgsIDI1MTIwLCAyNTEzMSwgMjUxNDEsIDI1MTUwLCAKLSAgICAyNTE1OSwgMjUxNjcsIDI1MTc4LCA2MzY5LCAyNTE4NSwgMjUxOTEsIDI1MTk2LCAyNTIwMiwgMjUyMDksIDI1MjE5LCAKLSAgICAyNTIyOSwgMjUyMzgsIDI1MjQ0LCAyNTI1MSwgMjUyNTYsIDI1MjYzLCAyNTI3MSwgMjUyNzksIDI1MjkxLCA0NzA0LCAKLSAgICAyNTI5OCwgMjUzMDcsIDI1MzE1LCAyNTMyMSwgMjUzMjcsIDI1MzMyLCAyNTMzNiwgMjUzMzksIDI1MzQ1LCAyNTM1MiwgCi0gICAgMjUzNTcsIDI1MzYyLCAyNTM2NiwgMjUzNzgsIDI1Mzg5LCAyNTM5OCwgMjU0MDYsIDEzMTk3LCAyNTQxMSwgMjU0MTcsIAotICAgIDI1NDIzLCA5ODYyLCA3MDQ5LCAyNTQyOCwgMjU0MzEsIDI1NDM0LCAyNTQ0MCwgMjU0NDgsIDI1NDU2LCAyNTQ2MCwgCi0gICAgMjU0NjQsIDI1NDY5LCAyNTQ3MiwgMjU0ODEsIDI1NDg5LCAyNTUwMCwgMjU1MDQsIDI1NTEwLCAyNTUxNiwgMjU1MjAsIAotICAgIDI1NTI2LCAyNTUzNCwgMjU1NTYsIDI1NTgwLCAyNTU4NywgMjU1OTQsIDI1NjAwLCAyNTYwNiwgMjU2MTEsIDI1NjIyLCAKLSAgICAyNTY0MCwgMjU2NDcsIDI1NjU1LCAyNTY1OSwgMjU2NjgsIDI1NjgxLCAyNTY4OSwgMjU3MDEsIDI1NzEyLCAyNTcyMiwgCi0gICAgMjU3MzYsIDI1NzQ1LCAyNTc1MywgMjU3NjUsIDc4NTksIDI1Nzc2LCAyNTc4NywgMjU3OTksIDI1ODA5LCAyNTgxOCwgCi0gICAgMjU4MjMsIDI1ODI3LCAyNTgzNSwgMjU4NDUsIDI1ODUwLCAyNTg1NCwgMjU4NTcsIDI1ODYwLCAyNTg2OCwgMjU4NzYsIAotICAgIDI1ODg1LCAyNTg5NSwgMjU5MDQsIDI1OTEwLCAyNTkyNCwgMjYxNywgMjU5NDYsIDI1OTU3LCAyNTk2NiwgMjU5NzYsIAotICAgIDI1OTg4LCAyNTk5NywgMjYwMDcsIDI2MDE1LCAyNjAyMywgMjYwMzIsIDI2MDM3LCAyNjA0OCwgMjYwNTMsIDI2MDY0LCAKLSAgICAyNjA2OCwgMjYwNzgsIDI2MDg3LCAyNjA5NSwgMjYxMDUsIDI2MTE1LCAyNjEyMywgMjYxMzIsIDI2MTM5LCAyNjE0NywgCi0gICAgMjYxNTQsIDI2MTYzLCAyNjE2NywgMjYxNzUsIDI2MTgyLCAyNjE5MCwgMjYxOTcsIDI2MjA4LCAyNjIyMywgMjYyMzAsIAotICAgIDI2MjM2LCAyNjI0NiwgMjYyNTUsIDI2MjYxLCAyNjI2OCwgMTIzMTIsIDI2Mjc0LCAyNjI3OCwgMjYyODMsIDI2Mjg3LCAKLSAgICAyNjI5MSwgMjYyOTksIDI2MzA3LCAyNjMxMywgMjYzMjIsIDI2MzI5LCAyNjMzNCwgMjYzMzksIDI2MzQ5LCAyMTU2OCwgCi0gICAgMjYzNTMsIDI2MzU2LCAyNjM2MSwgMjYzNjYsIDI2MzcxLCAyNjM3NiwgMjYzODEsIDI2Mzg2LCAyNjM5MSwgMjYzOTYsIAotICAgIDI2NDAyLCAyNjQwNywgMjY0MTIsIDI2NDE4LCAxMjIzLCA2NzksIDI2NDIzLCAyNjQzMiwgMjMxOCwgMjY0MzksIDI2NDQ0LCAKLSAgICAyNjQ0OCwgMjY0NTQsIDEyNTYsIDU0MSwgMzM0LCAyNjQ1OSwgMjY0NjgsIDI2NDc2LCAyNjQ4NSwgMjY0OTMsIDI2NTA0LCAKLSAgICAyNjUxMywgMjY1MjEsIDI2NTI1LCAyNjUyOCwgMjY1MzYsIDI2NTQ0LCAyNjU0OSwgMTMwMjUsIDI2NTU1LCAyNjU2MSwgCi0gICAgMjY1NjcsIDQzNTAsIDI2NTcyLCAyNjU3NiwgMjY1ODIsIDI2NTg2LCAyNjU5MywgMTQxOCwgMjY1OTksIDc5NDYsIDI2NjA2LCAKLSAgICAyNjYxNiwgMjY2MjQsIDI2NjMwLCAyNjYzOSwgMjY2NDcsIDI2NjUzLCAyNjY2MSwgMjY2NjgsIDk0NTUsIDI2Njc0LCAKLSAgICAyNjY4MSwgMjY2ODgsIDE0NTksIDIxMDUsIDI2Njk0LCAyNjcwMCwgMjY3MDcsIDI2NzE4LCAyNjcyOSwgMjY3MzcsIAotICAgIDI2NzQ0LCAyNjc1NCwgMjY3NjMsIDI2NzcxLCAyNjc3OCwgMjY3ODUsIDI2Nzk4LCAyNjgwOSwgMjY4MjgsIDEyNjEsIAotICAgIDI2ODMyLCAyNjgzNywgMjY4NDUsIDM1MTAsIDI2ODQ5LCAyNjg1NCwgMjY4NTgsIDE0MjIsIDIyNzQ2LCAyNjg2OCwgCi0gICAgMjY4NzIsIDI2ODc3LCAyNjg4MSwgMzQzNSwgMjY4ODcsIDI2ODk1LCAyNjkwMiwgMjY5MTMsIDI2OTIxLCAyNjkyOSwgCi0gICAgMzUxMSwgMjY5LCAyNjkzNCwgMjY5NDIsIDI2OTUwLCAyNjk1NywgMjY5NjMsIDI2OTY4LCAyMTcwLCAyNjk3NSwgMjY5ODEsIAotICAgIDIzOTYyLCAyNDE4NCwgMjY5ODcsIDEwNiwgMjY5OTEsIDI2OTk1LCAyNzAwMSwgNjA2LCA3Njk1LCAyNzAwNiwgMjcwMTMsIAotICAgIDI3MDE5LCAyMjgxLCAyNzAyMywgMjcwMjcsIDI3MDMwLCAyNzAzMywgMjcwMzgsIDI3MDQ1LCAyNzA1MSwgMjcwNTYsIAotICAgIDI3MDY0LCAyNzA3MSwgMjcwNzcsIDIwNDU1LCAyNzA4MSwgMzU4MSwgMTQ4MjYsIDI3MDg1LCAyNzA5MCwgMjcwOTMsIAotICAgIDI3MTAxLCAyNzEwOSwgMjcxMTIsIDI3MTE5LCAyNzEyOSwgMjcxNDEsIDI3MTQ2LCAyNzE1MCwgMjcxNTgsIDI3MTY1LCAKLSAgICAyNzE3MSwgMjcxNzgsIDI3MTg1LCAyNzE4OCwgMjcxOTIsIDI3MTk2LCAxNDI2LCAyNzIwNiwgMjcyMDgsIDI3MjEzLCAKLSAgICAyNzIxOSwgMjcyMjUsIDI3MjMwLCAyNzIzNSwgMjcyNDAsIDI3MjQ1LCAyNzI1MCwgMjcyNTUsIDI3MjYwLCAyNzI2NSwgCi0gICAgMjcyNzAsIDI3Mjc1LCAyNzI4MCwgMjcyODUsIDI3MjkwLCAyNzI5NSwgMjczMDEsIDI3MzA3LCAyNzMxMywgMjczMTksIAotICAgIDI3MzI0LCAyNzMyOSwgMjczMzQsIDI3MzQwLCAyNzM0NSwgMjczNTAsIDI3MzU1LCAyNzM2MSwgMjczNjYsIDI3MzcyLCAKLSAgICAyNzM3NywgMjczODIsIDI3Mzg3LCAyNzM5MiwgMjczOTgsIDI3NDAzLCAyNzQwOSwgMjc0MTQsIDI3NDE5LCAyNzQyNCwgCi0gICAgMjc0MjksIDI3NDM1LCAyNzQ0MCwgMjc0NDYsIDI3NDUxLCAyNzQ1NiwgMjc0NjEsIDI3NDY2LCAyNzQ3MSwgMjc0NzYsIAotICAgIDI3NDgxLCAyNzQ4NiwgMjc0OTEsIDI3NDk3LCAyNzUwMywgMjc1MDksIDI3NTE0LCAyNzUxOSwgMjc1MjQsIDI3NTI5LCAKLSAgICAyNzUzNSwgMjc1NDEsIDI3NTQ3LCAyNzU1MywgMjc1NTksIDI3NTY1LCAyNzU3MCwgMjc1NzYsIDI3NTgxLCAyNzU4NiwgCi0gICAgMjc1OTEsIDI3NTk2LCAyNzYwMiwgMjM5NywgMjc2MDcsIDI0MDQsIDI0MTEsIDI3MDgsIDI3NjEyLCAyNDE3LCAyNDI3LCAKLSAgICAyNzYxOCwgMjc2MjIsIDI3NjI3LCAyNzYzMiwgMjc2MzgsIDI3NjQzLCAyNzY0OCwgMjc2NTIsIDI3NjU3LCAyNzY2MywgCi0gICAgMjc2NjgsIDI3NjczLCAyNzY3OCwgMjc2ODQsIDI3Njg5LCAyNzY5MywgMjc2OTcsIDI3NzAyLCAyNzcwNywgMjc3MTIsIAotICAgIDI3NzE3LCAyNzcyMiwgMjc3MjgsIDI3NzM0LCAyNzczOSwgMjc3NDMsIDI3NzQ4LCAyNzc1NCwgMjc3NTgsIDI3NzYzLCAKLSAgICAyNzc2OCwgMjc3NzMsIDI3Nzc4LCAyNzc4MiwgMjc3ODUsIDI3NzkwLCAyNzc5NSwgMjc4MDAsIDI3ODA1LCAyNzgxMSwgCi0gICAgMjc4MTcsIDI3ODIyLCAyNzgyNywgMjc4MzEsIDI3ODM2LCAyNzg0MSwgMjc4NDYsIDI3ODUxLCAyNzg1NiwgMjc4NjAsIAotICAgIDI3ODY1LCAyNzg3MCwgMjc4NzUsIDI3ODc5LCAyNzg4MywgMjc4ODcsIDI3ODkyLCAyNzkwMCwgMjc5MDYsIDI3OTEyLCAKLSAgICAyNzkxOCwgMjc5MjMsIDI3OTI3LCAyNzkzMCwgMjc5MzUsIDI3OTM5LCAyNzk0NCwgMjc5NDgsIDI3OTUzLCAyNzk1NywgCi0gICAgMjc5NjAsIDE1NDg5LCAyNzk2NSwgMjc5NzMsIDE5NDM5LCAyNjYwMywgMjc5NzgsIDI3OTgzLCAyNzk4NywgMjc5OTIsIAotICAgIDI3OTk2LCAyODAwMCwgMjgwMDUsIDI4MDA5LCAyODAxMiwgMjgwMTUsIDI4MDE5LCAyODAyNCwgMjgwMzIsIDI4MDM2LCAKLSAgICAyODAzOSwgMjgwNDQsIDI4MDQ4LCAyODA1MiwgMjgwNTcsIDI4MDYyLCAyODA2NiwgMjgwNzIsIDI4MDc3LCAyODA4MiwgCi0gICAgMjgwODksIDI4MDk2LCAyODEwMCwgMjgxMDMsIDI4MTA5LCAyODExOCwgMjgxMjUsIDI4MTMzLCAyODE0MCwgMjgxNDQsIAotICAgIDI4MTQ5LCAyODE1MywgMjgxNTksIDI4MTY1LCAyODE2OSwgMjgxNzUsIDI4MTgwLCAyODE4NSwgMjgxOTIsIDI4MTk4LCAKLSAgICAyODIwNCwgMjgyMTAsIDI4MjE2LCAyODIyMywgMjgyMjksIDI4MjM1LCAyODI0MSwgMjgyNDcsIDI4MjUzLCAyODI1OSwgCi0gICAgMjgyNjUsIDI4MjcyLCAyODI3OCwgMjgyODUsIDI4MjkxLCAyODI5NywgMjgzMDMsIDI4MzA5LCAyODMxNSwgMjgzMjEsIAotICAgIDI4MzI3LCAyODMzMywgMjgzMzksIDk3NjMsIDI4MzQ1LCAyODM1MCwgMjgzNTUsIDI4MzU4LCAyODM2NiwgMjgzNzEsIAotICAgIDI4MzgwLCAyODM4NiwgMjgzOTEsIDI4Mzk2LCAyODQwMSwgMjg0MDUsIDI4NDEwLCAyODQxNSwgMjg0MjAsIDI4NDI1LCAKLSAgICAyODQzMCwgMjg0MzcsIDI4NDQ0LCAyODQ1MCwgMjg0NTYsIDI4NDYxLCAxNDUxMCwgMjg0NjgsIDI4NDc0LCAyODQ4MSwgCi0gICAgMjg0ODcsIDI4NDkzLCAyODQ5OCwgMjg1MDYsIDI4NTExLCAxNDI5NCwgMjg1MTUsIDI4NTIwLCAyODUyNSwgMjg1MzEsIAotICAgIDI4NTM2LCAyODU0MSwgMjg1NDUsIDI4NTUwLCAyODU1NSwgMjg1NjEsIDI4NTY2LCAyODU3MSwgMjg1NzUsIDI4NTgwLCAKLSAgICAyODU4NSwgMjg1ODksIDI4NTk0LCAyODU5OSwgMjg2MDQsIDI4NjA4LCAyODYxMywgMjg2MTgsIDI4NjIzLCAyODYyNywgCi0gICAgMjg2MzEsIDEzNTMxLCAyODYzNSwgMjg2NDQsIDI4NjUwLCAyODY1NiwgMjg2NjUsIDI4NjczLCAyODY4MiwgMjg2OTAsIAotICAgIDI4Njk1LCAyODY5OSwgMjg3MDYsIDI4NzEyLCAyODcxNiwgMjg3MTksIDI4NzI0LCAyODczMywgMjg3NDEsIDI4NzQ2LCAKLSAgICAxNDU4LCAyODc1MiwgMjg3NTUsIDI4NzU5LCAyMDUyNCwgMjA1MzAsIDI4NzY1LCAyODc2OSwgMjg3ODAsIDI4NzkxLCAKLSAgICAyODgwMiwgMjg4MTQsIDI4ODIxLCAyODgyOCwgMjg4MzMsIDI4ODM3LCA0Mzg3LCA3MzMsIDE5NDM4LCAyODg0NSwgMjg4NDksIAotICAgIDI4ODU0LCAyODg2MCwgMjg4NjUsIDI4ODcxLCAyODg3NiwgMjg4ODIsIDI4ODg3LCA4NzY0LCAyNzg1LCAzMzY1LCAyODg5MSwgCi0gICAgMjg4OTQsIDI4OTAwLCAyODkwNiwgMjg5MTIsIDI4OTE5LCAyODkyNSwgMjg5MzEsIDI4OTM3LCAyODk0MywgMjg5NDksIAotICAgIDI4OTU1LCAyODk2MSwgMjg5NjcsIDI4OTczLCAyODk3OSwgMjg5ODUsIDI4OTkxLCAyODk5OCwgMjkwMDQsIDI5MDEwLCAKLSAgICAyOTAxNiwgMjkwMjIsIDI5MDI4LCAyOTAzMywgMjkwMzYsIDI5MDQzLCAyOTA1MSwgMjkwNTYsIDI5MDYxLCAyOTA2NywgCi0gICAgMjkwNzIsIDI5MDc3LCAyOTA4MSwgMjkwODYsIDI5MDkyLCAyOTA5NywgMjkxMDMsIDI5MTA4LCAyOTExNCwgMjkxMTksIAotICAgIDI5MTI1LCAyOTEzMSwgMjkxMzUsIDI5MTQwLCAyOTE0NSwgMjkxNTAsIDI5MTU1LCAyOTE1OSwgMjkxNjQsIDI5MTY5LCAKLSAgICAyOTE3NCwgMjkxODAsIDI5MTg2LCAyOTE5MiwgMjkxOTgsIDI5MjAzLCAyOTIwNywgMjkyMTAsIDI5MjE2LCAyOTIyMiwgCi0gICAgMjkyMzEsIDI5MjM5LCAyOTI0NiwgMjkyNTEsIDI5MjU1LCAyOTI1OSwgMjkyNjQsIDEzMzk1LCAyOTI2OSwgMjkyNzcsIAotICAgIDI5MjgzLCAzNjExLCAyOTI4OCwgMjkyOTEsIDI5Mjk1LCA2NDM2LCAyOTMwMSwgMjkzMDcsIDI5MzE0LCA2NDQ1LCAyOTMxOCwgCi0gICAgMjkzMjQsIDI5MzMxLCAyOTMzNywgMjkzNDYsIDI5MzU0LCAyOTM2NiwgMjkzNzAsIDI5Mzc3LCAyOTM4MywgMjkzODcsIAotICAgIDI5MzkwLCAyOTM5OSwgMjk0MDcsIDI5NDEyLCAyOTQxNiwgMjk0MjYsIDI5NDM2LCAyOTQ0NiwgMjk0NTIsIDI5NDU3LCAKLSAgICAyOTQ2NywgMjk0NzIsIDI5NDg1LCAyOTQ5OSwgMjk1MTAsIDI5NTIyLCAyOTUzNCwgMjk1NDgsIDI5NTYxLCAyOTU3MywgCi0gICAgMjk1ODUsIDEyODU5LCAyOTU5OSwgMjk2MDQsIDI5NjA5LCAyOTYxMywgMjk2MTcsIDI5NjIxLCAxNzQzLCAyNTEyOSwgCi0gICAgMjk2MjUsIDI5NjMwLCAyOTYzNSwgMjk2MzksIDI5NjQyLCAyOTY0NywgMjk2NTIsIDI5NjU4LCAyOTY2NCwgODQ2MSwgCi0gICAgMjk2NjksIDI5Njc2LCAxMzkzNSwgMjk2ODIsIDI5Njg3LCAyOTY5MiwgMjk2OTYsIDI5NzAxLCAyOTcwNiwgMjg4NTUsIAotICAgIDI5NzExLCAyOTcxNiwgMjk3MjEsIDI5NzI3LCAyODg2MSwgMjk3MzIsIDI5NzM1LCAyOTc0MiwgMjk3NTAsIDI5NzU2LCAKLSAgICAyOTc2MiwgMjk3NjgsIDI5Nzc5LCAyOTc4NCwgMjk3OTEsIDI5Nzk4LCAyOTgwNSwgMjk4MTMsIDI5ODIyLCAyOTgzMSwgCi0gICAgMjk4MzcsIDI5ODQzLCAyOTg1MSwgMjg4NjYsIDI5ODU2LCAyOTg2MiwgMjk4NjgsIDI4ODcyLCAyOTg3MywgMjk4ODEsIAotICAgIDI5ODg5LCAyOTg5NSwgMjk5MDIsIDI5OTA4LCAyOTkxNSwgMjk5MjIsIDI5OTI4LCAyOTkzNiwgMjk5NDYsIDI5OTUzLCAKLSAgICAyOTk1OCwgMjk5NjQsIDI5OTY5LCAyOTk3NCwgMjk5ODEsIDI5OTkwLCAyOTk5OCwgMzAwMDMsIDMwMDA5LCAzMDAxNiwgCi0gICAgMzAwMjQsIDMwMDMwLCAzMDAzNSwgMzAwNDEsIDMwMDUwLCAyNTg5MCwgMzAwNTcsIDMwMDYxLCAzMDA2NiwgMzAwNzUsIAotICAgIDMwMDgwLCAzMDA4NSwgMTA3MTQsIDMwMDkzLCAzMDA5OCwgMzAxMDMsIDMwMTA3LCAzMDExMiwgMzAxMTcsIDMwMTI0LCAKLSAgICAzMDEyOSwgMzAxMzQsIDI4ODc3LCAyODg4MywgMzAxNDAsIDI0NzMsIDIzOSwgMzAxNDMsIDMwMTQ2LCAzMDE1MCwgMzAxNTQsIAotICAgIDMwMTY0LCAzMDE3MiwgMzAxNzYsIDMwMTgzLCAzMDE5MCwgMzAxOTQsIDMwMTk3LCAzMDIwMywgMzAyMTEsIDMwMjE5LCAKLSAgICAzMDIyMywgMzAyMjcsIDMwMjMwLCAzMDIzNywgMzAyNDEsIDMwMjQ4LCAzMDI1NiwgMzAyNjMsIDMwMjY3LCAzMDI3NSwgCi0gICAgNjg0LCAyOTcsIDMwMjg3LCAzMDI5MiwgMzAyOTcsIDMwMzAzLCAzMDMwOCwgMzAzMTMsIDM2MzIsIDMwMzE4LCAzMDMyMSwgCi0gICAgMzAzMjYsIDMwMzMxLCAzMDMzNiwgMzAzNDEsIDMwMzQ2LCAzMDM1MywgMjA2MDksIDMwMzU4LCAzMDM2MywgMzAzNjgsIAotICAgIDMwMzczLCAzMDM3OCwgMzAzODQsIDMwMzg5LCAzMDM5NSwgMjkwMzksIDMwNDAxLCAzMDQwNiwgMzA0MTIsIDMwNDE4LCAKLSAgICAzMDQyOCwgMzA0MzMsIDMwNDM4LCAzMDQ0MiwgMzA0NDcsIDMwNDUyLCAzMDQ1NywgMzA0NjIsIDMwNDc1LCAzMDQ4MCwgCi0gICAgMjA0MDYsIDE0OTA2LCAzNjM4LCAzMDQ4NCwgMzA0ODksIDMwNDk0LCAzMDUwMCwgMzA1MDUsIDMwNTEwLCAzMDUxNCwgCi0gICAgMzA1MTksIDMwNTI0LCAzMDUzMCwgMzA1MzUsIDMwNTQwLCAzMDU0NCwgMzA1NDksIDMwNTU0LCAzMDU1OSwgMzA1NjMsIAotICAgIDMwNTY4LCAzMDU3MywgMzA1NzgsIDMwNTg0LCAzMDU5MCwgMzA1OTUsIDMwNTk5LCAzMDYwNCwgMzA2MDksIDMwNjE0LCAKLSAgICAzMDYxOCwgMzA2MjYsIDMwNjMwLCAzMDYzNiwgMzA2NDAsIDMwNjQ3LCAxNDY5OSwgMzA2NTMsIDMwNjYwLCAzMDY2OCwgCi0gICAgMzA2NzUsIDMwNjgxLCAzMDY5MywgMzA2OTksIDMwNzAzLCAyNzI3LCAzMDcwNywgMzA3MTEsIDMwMjMyLCAzMDcyMCwgCi0gICAgMzA3MzEsIDMwNzM2LCAzMDc0MSwgMzA3NDYsIDMwNzUwLCAzMDc1NSwgMjA1MzUsIDMwNzU5LCAzMDc2NCwgMTk0NTksIAotICAgIDMwNzY4LCAzMDc3MywgMzA3NzksIDMwNzg0LCAzMDc4OCwgMzA3OTIsIDMwNzk1LCAzMDc5OSwgMzA4MDUsIDMwODE2LCAKLSAgICAzMDgyOCwgMzA4MzMsIDMwODM3LCAzMDg0MCwgMzQzLCAzMDg0NCwgMzA4NDksIDMwODU0LCAzMDg1OSwgMzA4NjQsIAotICAgIDMwODY5LCAzMDg3NSwgMzA4ODAsIDMwODg1LCAzMDg5MSwgMzA4OTYsIDMwOTAyLCAzMDkwNywgMzA5MTMsIDMwOTE4LCAKLSAgICAzMDkyMywgMzA5MjgsIDMwOTMzLCAzMDkzOCwgMzA5NDMsIDMwOTQ4LCAzMDk1MywgMzA5NTksIDMwOTY0LCAzMDk2OSwgCi0gICAgMzA5NzQsIDMwOTc5LCAzMDk4NCwgMzA5ODksIDMwOTk0LCAzMTAwMCwgMzEwMDYsIDMxMDExLCAzMTAxNiwgMzEwMjEsIAotICAgIDMxMDI2LCAzMTAzMSwgMzEwMzYsIDMxMDQxLCAzMTA0NiwgMzEwNTEsIDMxMDU2LCAzMTA2MSwgMzEwNjYsIDMxMDcxLCAKLSAgICAzMTA3NiwgMzEwODEsIDMxMDg2LCAzMTA5MSwgMzEwOTYsIDMxMTAyLCAyNiwgMzExMDcsIDMxMTExLCAzMTExNSwgMzExMjMsIAotICAgIDMxMTI3LCAzMTEzMSwgMzExMzQsIDMxMTM3LCAzMTEzOSwgMzExNDQsIDMxMTQ4LCAzMTE1MywgMzExNTcsIDMxMTYyLCAKLSAgICAzMTE2NiwgMzExNzEsIDMxMTc1LCAzMTE3OCwgMzExODAsIDMxMTg1LCAzMTE4OSwgMzEyMDAsIDMxMjAzLCAzMTIwNSwgCi0gICAgMzEyMDksIDMxMjIxLCAzMTIzMCwgMzEyMzQsIDMxMjQwLCAzMTI0NSwgMzEyNTQsIDMxMjYwLCAzMTI2NSwgMzEyNzAsIAotICAgIDMxMjc0LCAzMTI3OSwgMzEyODYsIDMxMjkxLCAzMTI5NywgMzEzMDIsIDMxMzA2LCAzMTMxMywgMjM3MDEsIDIzNzExLCAKLSAgICAzMTMxNywgMzEzMjIsIDMxMzI3LCAzMTMzMiwgMzEzMzksIDMxMzQzLCAzMTM1MCwgNjU0NCwgMzEzNTYsIDMxMzY1LCAKLSAgICAzMTM3MywgMzEzODgsIDMxNDAyLCAzMTQxMCwgMzE0MjEsIDMxNDMwLCAzMTQzNSwgNTY4MSwgMzE0NDUsIDMxNDUwLCAKLSAgICAzMTQ1NSwgMzE0NTksIDMxNDYyLCAzMTQ2NiwgMzE0NzEsIDMxNDc1LCAzMTQ4MiwgMzE0ODcsIDMxNDkyLCA3MzIwLCAKLSAgICAzMTUwMiwgMzE1MDQsIDMxNTA3LCAzMTUxMSwgMzE1MTcsIDMxNTIxLCAzMTUyNiwgMzE1MzEsIDMxNTM3LCAzMTU0MiwgCi0gICAgMzE1NDgsIDMxNTUzLCAzMTU2MywgMzE1NzIsIDMxNTgwLCAzMTU4NSwgMzE1OTEsIDMxNTk2LCAzMTYwMywgMzE2MDcsIAotICAgIDMxNjE1LCAzMTYyMiwgMzE2MzUsIDMxNjQzLCAzMTY0NywgMzE2NTcsIDMxNjYyLCAzMTY2NiwgMzE2NzQsIDMxNjgyLCAKLSAgICAzMTY4NiwgMzE2OTUsIDMxNzAxLCAzMTcwNiwgMzE3MTQsIDMxNzI0LCAzMTczMywgMzE3NDIsIDMxNzUxLCAzMTc2MiwgCi0gICAgMzE3NzAsIDMxNzgxLCAzMTc5MCwgMzE3OTcsIDMxODAzLCAzMTgwOCwgMzE4MTksIDMxODI0LCAzMTgyOCwgMzE4MzEsIAotICAgIDMxODM1LCAzMTg0MywgMzE4NDksIDMxODU3LCAzMTg2NCwgMzE4NzAsIDMxODc1LCAzMTg4MSwgMjM3MiwgMzE4ODUsIAotICAgIDMxODg3LCAzMTg5MiwgMzE4OTcsIDMxOTAwLCAzMTkwMiwgMzE5MDYsIDMxOTA5LCAzMTkxNiwgMzE5MjAsIDMxOTI0LCAKLSAgICAzMTkyNywgMzE5MzMsIDMxOTQzLCAzMTk0OCwgMzE5NTQsIDMxOTU4LCAzMTk2MywgMzE5NzYsIDI0MDc0LCAzMTk4MiwgCi0gICAgMzE5OTEsIDE1NjU0LCAzMTk5OCwgMzIwMDcsIDI5NDMyLCAzMjAxNSwgMzIwMjAsIDMyMDI0LCAzMjAzMiwgMzIwMzksIAotICAgIDMyMDQ0LCAzMjA0OCwgMzIwNTMsIDMyMDU3LCAzMjA2NSwgMzIwNzEsIDMyMDc3LCAzMjA4MiwgMzIwODYsIDMyMDg5LCAKLSAgICAzMjA5NCwgMzIxMDcsIDMyMTIzLCAyMTA4MCwgMzIxNDAsIDMyMTUyLCAzMjE2OSwgMzIxODEsIDMyMTk1LCAyMTA5NywgCi0gICAgMjExMTYsIDMyMjA3LCAzMjIxOSwgMjYzNCwgMzIyMzMsIDMyMjM4LCAzMjI0MywgMzIyNDgsIDMyMjUyLCAzMjI1OSwgCi0gICAgMzIyNzEsIDMyMjc3LCAzMjI4MCwgMzIyOTEsIDMyMzAyLCAyOTg0OCwgNjcwLCAzMjMwNywgMzIzMTEsIDMyMzE0LCAKLSAgICAzMjMxOSwgMzIzMjQsIDMyMzMwLCAzMjMzNSwgMzIzNDAsIDMyMzQ2LCAzMjM1MiwgMzIzNTcsIDMyMzYxLCAzMjM2NiwgCi0gICAgMzIzNzEsIDMyMzc2LCAzMjM4MCwgMzIzODMsIDMyMzg5LCAzMjM5NCwgMzIzOTksIDMyNDA0LCAzMjQwOCwgMzI0MTMsIAotICAgIDMyNDE5LCAzMjQyNywgMjQyOTksIDMyNDMyLCAzMjQzNywgMzI0NDQsIDMyNDUwLCAzMjQ1NiwgMzI0NjEsIDMyNDY5LCAKLSAgICAyMDYxOCwgMzI0NzYsIDMyNDgxLCAzMjQ4NiwgMzI0OTEsIDMyNDk1LCAzMjQ5OCwgMzI1MDMsIDMyNTA3LCAzMjUxMSwgCi0gICAgMzI1MTgsIDMyNTI0LCAzMjUzMCwgMzI1MzYsIDMyNTQzLCAzMjU0OCwgMzI1NTQsIDMxNjc3LCAzMjU1OCwgMzI1NjIsIAotICAgIDMyNTY3LCAzMjU4MCwgMzI1ODUsIDMyNTkxLCAzMjU5OSwgMzI2MDYsIDMyNjE0LCAzMjYyNCwgMzI2MzAsIDMyNjM2LCAKLSAgICAzMjY0MiwgMzI2NDYsIDMyNjU1LCAzMjY2MCwgMzI2NjUsIDg3ODcsIDMyNjcwLCAzMjY3NywgMzI2ODMsIDMyNjkzLCAKLSAgICAzMjY5OCwgMzI3MDQsIDMyNzEyLCAzNTQzLCAzMjcxOSwgMzI3MjYsIDM1NDksIDMyNzMwLCAzMjczNSwgMzI3NDYsIAotICAgIDMyNzUzLCAzMjc1OSwgMzI3NjgsIDMyNzcyLCAzOTMyLCAzMjc3NSwgMzI3ODIsIDMyNzg4LCAzMjc5NCwgMzI4MDIsIAotICAgIDMyODEyLCAyNjk1OCwgMzI4MTksIDMyODI3LCAzMjgzMywgMzI4MzgsIDMyODQ0LCAzMjg0OSwgMzI4NTUsIDMyODU5LCAKLSAgICAzMjg2NiwgMzI4NzIsIDMyODgxLCAyNDA5NCwgMzI4ODgsIDMyODkzLCAzMjg5NywgMzI5MDUsIDMyOTEzLCA3OTc0LCAKLSAgICA0MzczLCAzMjkyMCwgMzI5MjQsIDMyOTI4LCAzMjkzMywgMzI5MzksIDMyOTQ0LCAzMjk0OSwgMzI5NTYsIDMwMzQ5LCAKLSAgICAzMjk2MiwgMzI5NjcsIDMyOTcxLCAzMjk3NiwgMzI5ODAsIDMyOTg5LCAzMjk5MywgMzI5OTksIDMzMDA2LCAzMzAxMiwgCi0gICAgMzMwMTksIDMzMDI0LCAzMzAzMywgMzMwMzgsIDMzMDQyLCAzMzA0NywgMzMwNTQsIDMzMDYyLCAzMzA3MCwgMzMwNzUsIAotICAgIDE5NTA4LCAzMzA3OSwgMzMwODIsIDMzMDg2LCAzMzA5MCwgMzMwOTQsIDMzMDk3LCAzMzA5OSwgMzMxMDQsIDMzMTEyLCAKLSAgICAzMzExNiwgMzMxMjMsIDMzMTI3LCAzMzEzNSwgMzMxNDIsIDMzMTUyLCAzMzE1NiwgMzMxNjAsIDMzMTY4LCAzMzE3NiwgCi0gICAgMzMxODIsIDMzMTg3LCAzMzE5NiwgMTE2NjksIDMzMjAyLCAzMzIxMSwgMzMyMTYsIDMzMjIzLCAzMzIzMSwgMzMyMzksIAotICAgIDMzMjQ3LCAzMzI1NCwgMzMyNjEsIDMzMjY4LCAzMzI3NSwgMzMyODIsIDMzMjg3LCAzMzI5MywgMzMzMTAsIDMzMzE4LCAKLSAgICAzMzMyOCwgMzMzMzYsIDMzMzQzLCAzODUsIDMzMzQ3LCAzMzM1MywgMzMzNTcsIDMzMzYyLCAzMTQyNiwgMzMzNjgsIAotICAgIDMzMzcxLCAzMzM3NSwgMzMzODMsIDM1NTQsIDMzMzkxLCAzMzM5NywgMzM0MDMsIDMzNDEyLCAzMzQyMiwgMzM0MjksIAotICAgIDMzNDM1LCAzNTYwLCAzNTY2LCAzMzQ0NCwgMzM0NTEsIDMzNDU5LCAzMzQ2NCwgMzM0NjgsIDMzNDc1LCAzMzQ4MywgCi0gICAgMzM0ODksIDMzNDk4LCAzMzUwOCwgMzM1MTQsIDMzNTIyLCAzMzUzMSwgMzM1MzgsIDMzNTQ2LCAyMDE3NSwgMzM1NTMsIAotICAgIDMzNTYwLCAzMzU2NiwgMzM1NzYsIDMzNTg1LCAzMzU5NiwgMzM2MDAsIDMzNjEwLCAzMzYxNiwgMzM2MjMsIDMzNjMxLCAKLSAgICAzMzY0MCwgMzM2NDksIDMzNjU5LCAzMzY3MCwgMzM2NzcsIDMzNjgyLCAzMzY4OSwgMjk2NywgMzM2OTcsIDMzNzAzLCAKLSAgICAzMzcwOCwgMzM3MTQsIDMzNzIwLCAzMzcyNSwgMzM3MzgsIDMzNzUxLCAzMzc2NCwgMzM3NzEsIDMzNzc3LCAzMzc4NSwgCi0gICAgMzM3OTAsIDMzNzk0LCAxNDMyLCAzMzc5OCwgMzM4MDMsIDMzODA4LCAzMzgxMywgMzM4MTgsIDMzODI0LCAzMzgyOSwgCi0gICAgMzM4MzQsIDMzODM5LCAzMzg0NCwgMzM4NDksIDMzODU0LCAzMzg1OSwgMzM4NjUsIDMzODcxLCAzMzg3NiwgMzM4ODEsIAotICAgIDMzODg3LCAzMzg5MiwgMzM4OTcsIDMzOTAyLCAzMzkwOCwgMzM5MTMsIDMzOTE4LCAzMzkyMywgMzM5MjgsIDMzOTM0LCAKLSAgICAzMzkzOSwgMzM5NDQsIDMzOTUwLCAzMzk1NSwgMzM5NjAsIDMzOTY1LCAzMzk3MCwgMzM5NzUsIDMzOTgxLCAzMzk4NiwgCi0gICAgMzM5OTIsIDMzOTk3LCAzNDAwMywgMzQwMDgsIDM0MDEzLCAzNDAxOCwgMzQwMjQsIDM0MDMwLCAzNDAzNiwgMzQwNDIsIAotICAgIDM0MDQ4LCAzNDA1NCwgMzQwNjAsIDM0MDY2LCAzNDA3MSwgMzQwNzYsIDM0MDgyLCAzNDA4NywgMzQwOTIsIDM0MDk3LCAKLSAgICAzNDEwMiwgMzQxMDcsIDM0MTEyLCAzNDExNywgMzQxMjMsIDM0MTI4LCAzNDEzMywgMzQxMzksIDM0MTQ1LCAxMDEsIAotICAgIDM0MTUwLCAzNDE1MiwgMzQxNTYsIDM0MTYwLCAzNDE2NCwgMzQxNjksIDM0MTczLCA3ODk1LCAzNDE3NywgMzQxODMsIAotICAgIDQ3MzgsIDM0MTg5LCAzNDE5MiwgMzQxOTcsIDM0MjAxLCAzNDIwNiwgMzQyMTAsIDM0MjE0LCAzNDIxOSwgODU5NCwgCi0gICAgMzQyMjMsIDM0MjI3LCAzNDIzMSwgMTM2MjMsIDM0MjM2LCAzNDI0MCwgMzQyNDUsIDM0MjUwLCAzNDI1NSwgMzQyNTksIAotICAgIDM0MjY2LCAyNDA5OCwgMzQyNzIsIDM0Mjc1LCAzNDI3OSwgMzQyODQsIDM0MjkwLCAzNDI5NCwgMzQzMDIsIDM0MzA4LCAKLSAgICAzNDMxMywgMzQzMTcsIDM0MzIzLCAzNDMyNywgMzQzMzEsIDM0MDQsIDM0MDksIDI3MTQ0LCAzNDMzNCwgMzQzNDIsIAotICAgIDM0MzQ5LCAzNDM1MywgMzQzNjAsIDM0MzY1LCAzMzMsIDM0MzcwLCAzNDM3NCwgMzQzODAsIDM0MzkyLCAzNDM5OCwgCi0gICAgMzQ0MDQsIDM0NDA4LCAzNDQxNCwgMzQ0MjMsIDM0NDI3LCAzNDQzMSwgMzQ0MzYsIDM0NDQxLCAzNDQ0NiwgMzQ0NTAsIAotICAgIDM0NDU0LCAzNDQ2MSwgMzQ0NjcsIDM0NDcyLCAzNDQ4NywgMzQ1MDIsIDM0NTE3LCAzNDUzMywgMzQ1NTEsIDg1NDQsIAotICAgIDM0NTY1LCAzNDU3MiwgMzQ1NzYsIDM0NTc5LCAzNDU4OCwgMzQ1OTMsIDM0NTk3LCAzNDYwNSwgMzE2MjgsIDM0NjEzLCAKLSAgICAzNDYxNywgMzQ2MjcsIDI3MTE0LCAzNDYzOCwgMzQ2NDIsIDM0NjUxLCAzNDY1OSwgODE1MiwgMTMxNjMsIDM0NjYzLCAKLSAgICAzNDY2NiwgMzQ2NjksIDY1NTcsIDM4MDIsIDM0Njc0LCAzNDY4MiwgMzQ2ODYsIDM0Njg5LCAzNDY5MywgMzQ2OTgsIAotICAgIDM0NzAzLCAzNDcwOSwgMzQ3MTUsIDM0NzIwLCAzNDcyNCwgMjM5NDYsIDM0NzI4LCAzNDczMiwgMzQ3MzgsIDM0NzQyLCAKLSAgICA3NDQ2LCAzNDc1MSwgMzQ3NTgsIDM0NzYyLCAxMDIxMCwgMzQ3NjksIDM0Nzc1LCAzNDc4MCwgMzQ3ODcsIDM0Nzk0LCAKLSAgICAzNDgwMSwgMjY0ODAsIDY0ODAsIDM0ODA4LCAzNDgxNSwgMzQ4MjIsIDM0ODI4LCAzNDgzMywgMzQ4NDAsIDM0ODUxLCAKLSAgICAzNDg1NywgMzQ4NjIsIDM0ODY3LCAzNDg3NCwgMzQ4NzgsIDM0ODgyLCAzNDg5MiwgMzQ5MDMsIDM0OTA5LCAzNDkxNCwgCi0gICAgMzQ5MTksIDM0OTI0LCAzNDkyOSwgMzQ5MzQsIDM0OTM4LCAzNDk0MiwgMzQ5NDgsIDM0OTU2LCAyMjczLCA4MjgsIDg2MTYsIAotICAgIDg2MjEsIDg2MjcsIDM0OTY1LCA4NjMyLCA4NjM3LCA4NjQzLCAzNDk3MCwgMzQ5ODAsIDM0OTg0LCA4NjQ4LCAzNDk4OSwgCi0gICAgMzQ5OTIsIDM0OTk3LCAzNTAwMSwgMzUwMDYsIDM1MDExLCAzNTAxOCwgMzUwMjUsIDM1MDMzLCA4NTU3LCAzNTA0MCwgCi0gICAgMzUwNDMsIDM1MDQ5LCAzNTA1OSwgNDQwNywgMzUwNjgsIDM1MDcyLCAzNTA4MCwgMzUwODQsIDM1MDk0LCAzNTEwMCwgCi0gICAgMzUxMTEsIDM1MTE3LCAzNTEyMywgMzUxMjgsIDM1MTM0LCAzNTE0MCwgMzUxNDYsIDM1MTUxLCAzNTE1NCwgMzUxNjEsIAotICAgIDM1MTY3LCAzNTE3MiwgMzUxNzksIDM1MTg2LCAzNTE5MCwgMzUyMDAsIDM1MjEzLCAzNTIyMiwgMzUyMzEsIDM1MjQyLCAKLSAgICAzNTI1NSwgMzUyNjYsIDM1Mjc1LCAzNTI4NiwgMzUyOTEsIDM1MzAwLCAzNTMwNSwgODY1MywgMzUzMTEsIDM1MzE4LCAKLSAgICAzNTMyNiwgMzUzMzEsIDM1MzM1LCAzNTM0MiwgMzUzNDksIDM3NTcsIDIxLCAzNTM1MywgMzUzNTgsIDE0OTU4LCAzNTM2MiwgCi0gICAgMzUzNjUsIDM1MzY4LCAyNjAwMSwgMzUzNzIsIDI2NDg5LCAzNTM4MCwgMzUzODQsIDM1Mzg4LCAzNTM5MSwgMzUzOTcsIAotICAgIDM1NDAzLCAzNTQxMSwgMzU0MTcsIDM1NDI0LCAyNTk5MywgMzU0MjgsIDI2MTc4LCAzNTQzMiwgMzU0NDEsIDM1NDQ3LCAKLSAgICAzNTQ1MywgMzU0NTgsIDM1NDYyLCAzNTQ2OCwgMzU0NzIsIDM1NDc1LCAzNTQ4MywgMzU0OTEsIDI0MTU2LCAzNTQ5NywgCi0gICAgMzU1MDQsIDM1NTEwLCAzNTUxNSwgMzU1MjAsIDM1NTI0LCAzNTUzMCwgMzU1MzUsIDM1NTQxLCAzOTczLCA3NTUsIDM1NTQ4LCAKLSAgICAzNTU1MiwgMzU1NTUsIDEzNTEzLCAzNTU2NywgMzM1MjcsIDM1NTc4LCAzNTU4MSwgMzU1ODgsIDM1NTk0LCAzNTU5OCwgCi0gICAgMzU2MDQsIDM1NjA5LCAzNTYxNSwgMzU2MjAsIDM1NjI1LCAzNTYyOSwgMzU2MzMsIDM1NjM4LCAzNTY0MywgMzU2NTMsIAotICAgIDM1NjU5LCAzNTY3MiwgMzU2NzgsIDM1Njg1LCAzNTY5MCwgMzU2OTYsIDM1NzAxLCAxNDg0NCwgMTQzNSwgMTAwMiwgCi0gICAgMjg5NzQsIDI4OTgwLCAzNTcwNiwgMjg5ODYsIDI4OTk5LCAyOTAwNSwgMjkwMTEsIDM1NzEyLCAyOTAxNywgMjkwMjMsIAotICAgIDM1NzE4LCAzNTcyNCwgMTQsIDM1NzMyLCAzNTczOSwgMzU3NDMsIDM1NzQ3LCAzNTc1NSwgMjk3MzcsIDM1NzU5LCAzNTc2MywgCi0gICAgMzU3NzAsIDM1Nzc1LCAzNTc3OSwgMzU3ODQsIDM1NzkwLCAzNTc5NSwgMzU4MDEsIDM1ODA2LCAzNTgxMCwgMzU4MTQsIAotICAgIDM1ODE4LCAzNTgyMywgMzU4MjcsIDM1ODMyLCAzNTgzNiwgMzU4NDMsIDM1ODQ4LCAzNTg1MiwgMzU4NTcsIDM1ODYxLCAKLSAgICAzNTg2NiwgMzU4NzAsIDM1ODc1LCAzNTg4MSwgMTM3MzMsIDEzNzM4LCAzNTg4NiwgMzU4OTAsIDM1ODkzLCAzNTg5NywgCi0gICAgMzU5MDIsIDM1OTA2LCAzNTkxMiwgMzU5MTksIDM1OTI0LCAzNTkzNCwgMzU5MzksIDM1OTQ3LCAzNTk1MSwgMzU5NTQsIAotICAgIDI5NzUyLCAzNTk1OCwgNDAyNiwgMzU5NjMsIDM1OTY4LCAzNTk3MiwgMzU5NzcsIDM1OTgxLCAzNTk4NiwgMTE2ODcsIAotICAgIDM1OTk3LCAzNjAwMSwgMzYwMDQsIDM2MDA5LCAzNjAxMywgMzYwMTcsIDM2MDIwLCAzNjAyNCwgNjU3NiwgMTE3MDMsIAotICAgIDM2MDI3LCAzNjAzMCwgMzYwMzUsIDM2MDM5LCAzNjA0OCwgMzYwNjQsIDM2MDgwLCAzNjA5MCwgMjU5MDAsIDM2MDk3LCAKLSAgICAzNjEwMSwgMzYxMDYsIDM2MTExLCAzNjExNSwgMzYxMTksIDMzNjQ0LCAzNjEyNSwgMzYxMzAsIDM2MTM0LCAzNjE0MSwgCi0gICAgMzYxNDYsIDM2MTUwLCAzNjE1NCwgMjQ5NTgsIDM2MTYwLCAxOTYwMywgMzYxNjUsIDM2MTcyLCAzNjE4MCwgMzYxODYsIAotICAgIDM2MTkzLCAzNjIwMSwgMzYyMDcsIDM2MjExLCAzNjIxNywgMzYyMjUsIDM2MjI5LCAzNjIzOCwgNzg3NiwgMzYyNDYsIAotICAgIDM2MjUwLCAzNjI1OCwgMzYyNjUsIDM2MjcwLCAzNjI3NSwgMzYyNzksIDM2MjgyLCAzNjI4NiwgMzYyODksIDM2MjkzLCAKLSAgICAzNjMwMCwgMzYzMDUsIDM2MzExLCAyNDM3NywgMjkwMzQsIDM2MzE1LCAzNjMyMiwgMzYzMjgsIDM2MzM0LCAzNjMzOSwgCi0gICAgMzYzNDIsIDM2MzQ0LCAzNjM1MSwgMzYzNTgsIDM2MzY0LCAzNjM2OCwgMzYzNzEsIDM2Mzc1LCAzNjM3OSwgMzYzODMsIAotICAgIDM2Mzg4LCAzNjM5MiwgMzYzOTYsIDM2Mzk5LCAzNjQwMywgMzY0MTcsIDIxMTQ2LCAzNjQzNiwgMzY0NDksIDM2NDYyLCAKLSAgICAzNjQ3NSwgMjExNjQsIDM2NDkwLCA4ODQ2LCAzNjUwNSwgMzY1MTEsIDM2NTE1LCAzNjUxOSwgMzY1MjYsIDM2NTMxLCAKLSAgICAzNjUzNSwgMzY1NDIsIDM2NTQ4LCAzNjU1MywgMzY1NTksIDM2NTY5LCAzNjU4MSwgMzY1OTIsIDM2NTk3LCAzNjYwNCwgCi0gICAgMzY2MDgsIDM2NjEyLCAzNjYxNSwgMTQxMjksIDM2MDUsIDM2NjIzLCAxMzc2MCwgMzY2MzYsIDM2NjQzLCAzNjY0NywgCi0gICAgMzY2NTEsIDM2NjU2LCAzNjY2MSwgMzY2NjcsIDM2NjcxLCAzNjY3NSwgMzY2NzgsIDYxODgsIDEzNzcxLCAzNjY4MywgCi0gICAgMzY2ODcsIDM2NjkzLCAzNjcwMiwgMzY3MDcsIDMzNTA0LCAzNjcxMywgMzY3MTgsIDM2NzIyLCAzNjcyNywgMzY3MzQsIAotICAgIDM2NzM4LCAzNjc0MSwgMTI4MjQsIDM2NzQ2LCAzNjc1MywgMTAwOSwgMzY3NTcsIDM2NzYyLCAzNjc2NywgMzY3NzMsIAotICAgIDM2Nzc4LCAzNjc4MywgMzY3ODcsIDM2Nzk3LCAzNjgwMiwgMzY4MDgsIDM2ODEzLCAzNjgxOSwgMzY4MjQsIDM2ODMwLCAKLSAgICAzNjg0MCwgMzY4NDUsIDM2ODUwLCAzNjg1NCwgNTY4MywgNTY5NSwgMzY4NTksIDM2ODYyLCAzNjg2OSwgMzY4NzUsIAotICAgIDMxNzkzLCAzMTgwMCwgMzY4ODQsIDM2ODg4LCAyOTgwMCwgMzY4OTYsIDM2OTA3LCAzNjkxNSwgMzM2OTIsIDM2OTIyLCAKLSAgICAzNjkyNywgMzY5MzIsIDM2OTQzLCAzNjk1MCwgMzY5NjEsIDI5ODI0LCAxOTYwOSwgMzY5NjksIDcyMiwgMzY5NzQsIAotICAgIDM2OTgwLCAyNTk4NCwgMzY5ODYsIDM2OTkxLCAzNzAwMSwgMzcwMTAsIDM3MDE3LCAzNzAyMywgMzcwMjcsIDM3MDMwLCAKLSAgICAzNzAzNywgMzcwNDMsIDM3MDUwLCAzNzA1NiwgMzcwNjYsIDM3MDc0LCAzNzA4MCwgMzcwODYsIDM3MDkxLCAzNzA5NSwgCi0gICAgMzcxMDIsIDM3MTA4LCAzNzExNSwgMzYzODQsIDUzMCwgMTIxMTIsIDM3MTIxLCAzNzEyNiwgMzcxMjksIDM3MTM1LCAKLSAgICAzNzE0MywgMTM2NCwgMzcxNDgsIDM3MTUyLCAzNzE1NywgMzcxNjQsIDM3MTcwLCAzNzE3NCwgMzcxNzksIDM3MTg4LCAKLSAgICAzNzE5NSwgMzcyMDUsIDM3MjExLCAyNjAxOSwgMzcyMjgsIDM3MjM3LCAzNzI0NSwgMzcyNTEsIDM3MjU2LCAzNzI2MywgCi0gICAgMzcyNjksIDM3Mjc3LCAzNzI4NiwgMzcyOTQsIDM3Mjk4LCAzNzMwMywgMzczMTEsIDI5ODMzLCAzNzMxNywgMzczMzYsIAotICAgIDE0MDYyLCAzNzM1MCwgMzczNjYsIDM3MzgwLCAzNzM4NiwgMzczOTEsIDM3Mzk2LCAzNzQwMSwgMzc0MDcsIDI5ODM5LCAKLSAgICAzNzQxMiwgMzc0MTksIDM3NDI0LCAzNzQyOCwgMzQxLCAyODc4LCAzNzQzNSwgMzc0NDAsIDM3NDQ1LCAyNTI3NSwgMzcyNjYsIAotICAgIDM3NDQ5LCAzNzQ1NCwgMzc0NjIsIDM3NDY2LCAzNzQ2OSwgMzc0NzUsIDM3NDc5LCAyNjA3NCwgMzc0ODIsIDM3NDg3LCAKLSAgICAzNzQ5MSwgMzc0OTQsIDM3NDk5LCAzNzUwMywgMzc1MDgsIDM3NTEzLCAzNzUxNywgMzc1MjIsIDM3NTI2LCAzNzUzMCwgCi0gICAgMTkzNDYsIDE5MzU3LCAzNzUzNCwgMzc1MzksIDM3NTQ1LCAyNDkxNSwgMzc1NTAsIDM3NTU0LCAxOTQyNSwgMTQyODAsIAotICAgIDM3NTU3LCAzNzU2MiwgMzc1NjcsIDM3NTcyLCAzNzU3NywgMzc1ODIsIDM3NTg3LCAzNzU5MiwgNDQwLCA0MywgMjkwNTIsIAotICAgIDI5MDU3LCAyOTA2MiwgMjkwNjgsIDI5MDczLCAyOTA3OCwgMzc1OTcsIDI5MDgyLCAzNzYwMSwgMzc2MDUsIDI5MDg3LCAKLSAgICAyOTA5MywgMzc2MDksIDI5MTA0LCAyOTEwOSwgMzc2MTcsIDM3NjIyLCAyOTExNSwgMzc2MjcsIDM3NjMyLCAzNzYzNywgCi0gICAgMzc2NDIsIDM3NjQ4LCAzNzY1NCwgMzc2NjAsIDI5MTMyLCAzNzY3MywgMzc2NzksIDI5MTM2LCAzNzY4MywgMjkxNDEsIAotICAgIDM3Njg4LCAyOTE0NiwgMjkxNTEsIDM3NjkxLCAzNzY5NiwgMzc3MDAsIDI4Nzk1LCAzNzcwNiwgMTE5MTEsIDM3NzEzLCAKLSAgICAzNzcxOCwgMjkxNTYsIDM3NzIyLCAzNzcyNywgMzc3MzIsIDM3NzM3LCAzNzc0MSwgMzc3NDYsIDM3NzUxLCAzNzc1NywgCi0gICAgMzc3NjIsIDM3NzY3LCAzNzc3MywgMzc3NzksIDM3Nzg0LCAzNzc4OCwgMzc3OTMsIDM3Nzk4LCAzNzgwMywgMzc4MDcsIAotICAgIDM3ODEyLCAzNzgxNywgMzc4MjIsIDM3ODI4LCAzNzgzNCwgMzc4NDAsIDM3ODQ1LCAzNzg0OSwgMzc4NTQsIDM3ODU4LCAKLSAgICAyOTE2MCwgMjkxNjUsIDI5MTcwLCAzNzg2MiwgMzc4NjYsIDI5MTc1LCAyOTE4MSwgMjkxODcsIDI5MTk5LCAzNzg3OCwgCi0gICAgMjM5ODMsIDM3ODgyLCAzNzg4NiwgMzc4OTEsIDM3ODk2LCAzNzkwMSwgMzc5MDUsIDM3OTA5LCAzNzkxOSwgMzc5MjQsIAotICAgIDM3OTI5LCAzNzkzMywgMzc5MzcsIDM3OTQwLCAzNzk0OCwgMjkyNDcsIDM3OTUzLCAxNDQyLCAzNzk1OSwgMzc5NjcsIAotICAgIDM3OTc2LCAzNzk4MCwgMzc5ODgsIDM3OTk0LCAzODAwMiwgMzgwMTgsIDM4MDIzLCAzODAzOCwgMjkyODQsIDE3MTIsIAotICAgIDEwMzc1LCAzODA0MiwgMjkyNCwgMzgwNTQsIDM4MDU1LCAzODA2MywgMzgwNzAsIDM4MDc1LCAzODA4MiwgMzgwODcsIAotICAgIDc3NDYsIDEwOTAsIDg2NzUsIDM4MDk0LCAzODA5OSwgMzgxMDIsIDM4MTA1LCAzODExNCwgMTI3NSwgMzgxMTksIDM2NTMyLCAKLSAgICAzODEyNiwgMzgxMzEsIDIwNTgzLCAyNTExLCAzODEzNSwgOTA5NCwgMzgxNDUsIDM4MTUxLCAyMjkxLCAyMzAxLCAzODE2MCwgCi0gICAgMzgxNjksIDM4MTc5LCAzODE5MCwgMzIzNSwgMzE5NDQsIDg3MjcsIDM3MzUsIDE0ODgyLCAxMjgwLCAzODE5NSwgMzgyMDMsIAotICAgIDM4MjEwLCAzODIxNSwgMzgyMTksIDM4MjIzLCAyMTkzMCwgODc1NCwgMzgyMzEsIDM4MjQwLCAzODI0OSwgMzgyNTcsIAotICAgIDM4MjY0LCAzODI2OSwgMzgyODIsIDM4Mjk1LCAzODMwNywgMzgzMTksIDM4MzMxLCAzODM0NCwgMzgzNTUsIDM4MzY2LCAKLSAgICAzODM3NiwgMzgzODQsIDM4MzkyLCAzODQwNCwgMzg0MTYsIDM4NDI3LCAzODQzNiwgMzg0NDQsIDM4NDUxLCAzODQ2MywgCi0gICAgMzg0NzAsIDM4NDc5LCAzODQ4NiwgMzg0OTksIDM4NTA0LCAzODUxNCwgMzg1MTksIDM4NTI1LCAzODUzMCwgMzQ3NTksIAotICAgIDM4NTM0LCAzODU0MSwgMzg1NDUsIDM4NTUyLCAzODU2MCwgMjQ3MiwgMzg1NjcsIDM4NTc4LCAzODU4OCwgMzg1OTcsIAotICAgIDM4NjA1LCAzODYxNSwgMzg2MjMsIDM4NjMzLCAzODY0MiwgMzg2NDcsIDM4NjUzLCAzODY1OSwgMzg2NzAsIDM4NjgwLCAKLSAgICAzODY4OSwgMzg2OTgsIDM4NzA4LCAzODcxNiwgMzg3MjUsIDM4NzMwLCAzODczNSwgMzg3NDAsIDE2NjgsIDM3LCAzODc0OCwgCi0gICAgMzg3NTYsIDM4NzY3LCAzODc3OCwgMTQ1NjMsIDM4Nzg4LCAzODc5NSwgMzg4MDEsIDM4ODA2LCAzODgxMCwgMzg4MjEsIAotICAgIDM4ODMxLCAzODg0MCwgMzg4NTEsIDE0OTMxLCAxNDkzNiwgMzg4NTYsIDM4ODY1LCAzODg3MCwgMzg4ODAsIDM4ODg1LCAKLSAgICAzODg5MywgMzg5MDEsIDM4OTA4LCAzODkxNCwgNTUzNiwgMTAzOCwgMzg5MTgsIDM4OTI0LCAzODkyOSwgMzg5MzIsIDIwNzUsIAotICAgIDM2NjQ4LCAzODk0MCwgMzg5NDQsIDM4OTQ3LCAxNDc1LCAzODk1MywgMTIyNjEsIDEyODUsIDM4OTU4LCAzODk3MSwgCi0gICAgMzg5ODUsIDI1OTcsIDM5MDAzLCAzOTAxNSwgMzkwMjcsIDI2MTEsIDI2MjgsIDM5MDQxLCAzOTA1NCwgMjY0MywgMzkwNjgsIAotICAgIDM5MDgwLCAyNjU4LCAzOTA5NCwgMTI5MSwgMTI5NywgMTMwMywgOTAxMiwgMzkwOTksIDM5MTA0LCAzOTEwOSwgMzkxMTMsIAotICAgIDM5MTI4LCAzOTE0MywgMzkxNTgsIDM5MTczLCAzOTE4OCwgMzkyMDMsIDM5MjE4LCAzOTIzMywgMzkyNDgsIDM5MjYzLCAKLSAgICAzOTI3OCwgMzkyOTMsIDM5MzA4LCAzOTMyMywgMzkzMzgsIDM5MzUzLCAzOTM2OCwgMzkzODMsIDM5Mzk4LCAzOTQxMywgCi0gICAgMzk0MjgsIDM5NDQzLCAzOTQ1OCwgMzk0NzMsIDM5NDg4LCAzOTUwMywgMzk1MTgsIDM5NTMzLCAzOTU0OCwgMzk1NjMsIAotICAgIDM5NTc4LCAzOTU5MywgMzk2MDgsIDM5NjIzLCAzOTYzOCwgMzk2NTMsIDM5NjY4LCAzOTY4MywgMzk2OTgsIDM5NzEzLCAKLSAgICAzOTcyOCwgMzk3NDMsIDM5NzU4LCAzOTc3MywgMzk3ODgsIDM5ODAzLCAzOTgxOCwgMzk4MzMsIDM5ODQ4LCAzOTg2MywgCi0gICAgMzk4NzgsIDM5ODkzLCAzOTkwOCwgMzk5MjMsIDM5OTM4LCAzOTk1MywgMzk5NjgsIDM5OTgzLCAzOTk5OCwgNDAwMTMsIAotICAgIDQwMDI4LCA0MDA0MywgNDAwNTgsIDQwMDczLCA0MDA4OCwgNDAxMDMsIDQwMTE4LCA0MDEzMywgNDAxNDgsIDQwMTYzLCAKLSAgICA0MDE3OCwgNDAxOTMsIDQwMjA4LCA0MDIyMywgNDAyMzgsIDQwMjUzLCA0MDI2OCwgNDAyODMsIDQwMjk4LCA0MDMxMywgCi0gICAgNDAzMjgsIDQwMzQzLCA0MDM1OCwgNDAzNzMsIDQwMzg4LCA0MDQwMywgNDA0MTgsIDQwNDMzLCA0MDQ0OCwgNDA0NjMsIAotICAgIDQwNDc4LCA0MDQ5MywgNDA1MDgsIDQwNTIzLCA0MDUzOCwgNDA1NTMsIDQwNTY4LCA0MDU4MywgNDA1OTgsIDQwNjEzLCAKLSAgICA0MDYyOCwgNDA2NDMsIDQwNjU4LCA0MDY3MywgNDA2ODgsIDQwNzAzLCA0MDcxOCwgNDA3MzMsIDQwNzQ4LCA0MDc2MywgCi0gICAgNDA3NzgsIDQwNzkzLCA0MDgwOCwgNDA4MjMsIDQwODM4LCA0MDg1MywgNDA4NjgsIDQwODgzLCA0MDg5OCwgNDA5MTMsIAotICAgIDQwOTI4LCA0MDk0MywgNDA5NTgsIDQwOTczLCA0MDk4OCwgNDEwMDMsIDQxMDE4LCA0MTAzMywgNDEwNDgsIDQxMDYzLCAKLSAgICA0MTA3OCwgNDEwOTMsIDQxMTA4LCA0MTEyMywgNDExMzgsIDQxMTUzLCA0MTE2OCwgNDExODMsIDQxMTk4LCA0MTIxMywgCi0gICAgNDEyMjgsIDQxMjQzLCA0MTI1OCwgNDEyNzMsIDQxMjg4LCA0MTMwMywgNDEzMTgsIDQxMzMzLCA0MTM0OCwgNDEzNjMsIAotICAgIDQxMzc4LCA0MTM5MywgNDE0MDgsIDQxNDIzLCA0MTQzOCwgNDE0NTMsIDQxNDY4LCA0MTQ4MywgNDE0OTgsIDQxNTEzLCAKLSAgICA0MTUyOCwgNDE1NDMsIDQxNTU4LCA0MTU3MywgNDE1ODgsIDQxNjAzLCA0MTYxOCwgNDE2MzMsIDQxNjQ4LCA0MTY2MywgCi0gICAgNDE2NzgsIDQxNjkzLCA0MTcwOCwgNDE3MjMsIDQxNzM4LCA0MTc1MywgNDE3NjgsIDQxNzgzLCA0MTc5OCwgNDE4MTMsIAotICAgIDQxODI4LCA0MTg0MywgNDE4NTgsIDQxODczLCA0MTg4OCwgNDE5MDMsIDQxOTE4LCA0MTkzMywgNDE5NDgsIDQxOTYzLCAKLSAgICA0MTk3OCwgNDE5OTMsIDQyMDA4LCA0MjAyMywgNDIwMzgsIDQyMDUzLCA0MjA2OCwgNDIwODMsIDQyMDk4LCA0MjExMywgCi0gICAgNDIxMjgsIDQyMTQzLCA0MjE1OCwgNDIxNzMsIDQyMTg4LCA0MjIwMywgNDIyMTgsIDQyMjMzLCA0MjI0OCwgNDIyNjMsIAotICAgIDQyMjc4LCA0MjI5MywgNDIzMDgsIDQyMzIzLCA0MjMzOCwgNDIzNTMsIDQyMzY4LCA0MjM4MywgNDIzOTgsIDQyNDEzLCAKLSAgICA0MjQyOCwgNDI0NDMsIDQyNDU4LCA0MjQ3MywgNDI0ODgsIDQyNTAzLCA0MjUxOCwgNDI1MzMsIDQyNTQ4LCA0MjU2MywgCi0gICAgNDI1NzgsIDQyNTkzLCA0MjYwOCwgNDI2MjMsIDQyNjM4LCA0MjY1MywgNDI2NjgsIDQyNjgzLCA0MjY5OCwgNDI3MTMsIAotICAgIDQyNzI4LCA0Mjc0MywgNDI3NTgsIDQyNzczLCA0Mjc4OCwgNDI4MDMsIDQyODE4LCA0MjgzMywgNDI4NDgsIDQyODYzLCAKLSAgICA0Mjg3OCwgNDI4OTMsIDQyOTA4LCA0MjkyMywgNDI5MzgsIDQyOTUzLCA0Mjk2OCwgNDI5ODMsIDQyOTk4LCA0MzAxMywgCi0gICAgNDMwMjgsIDQzMDQzLCA0MzA1OCwgNDMwNzMsIDQzMDg4LCA0MzEwMywgNDMxMTgsIDQzMTMzLCA0MzE0OCwgNDMxNjMsIAotICAgIDQzMTc4LCA0MzE5MywgNDMyMDgsIDQzMjIzLCA0MzIzOCwgNDMyNTMsIDQzMjY4LCA0MzI4MywgNDMyOTgsIDQzMzEzLCAKLSAgICA0MzMyOCwgNDMzNDMsIDQzMzU4LCA0MzM3MywgNDMzODgsIDQzNDAzLCA0MzQxOCwgNDM0MzMsIDQzNDQ4LCA0MzQ2MywgCi0gICAgNDM0NzgsIDQzNDkzLCA0MzUwOCwgNDM1MjMsIDQzNTM4LCA0MzU1MywgNDM1NjgsIDQzNTgzLCA0MzU5OCwgNDM2MTMsIAotICAgIDQzNjI4LCA0MzY0MywgNDM2NTgsIDQzNjczLCA0MzY4OCwgNDM3MDMsIDQzNzE4LCA0MzczMywgNDM3NDgsIDQzNzYzLCAKLSAgICA0Mzc3OCwgNDM3OTMsIDQzODA4LCA0MzgyMywgNDM4MzgsIDQzODUzLCA0Mzg2OCwgNDM4ODMsIDQzODk4LCA0MzkxMywgCi0gICAgNDM5MjgsIDQzOTQzLCA0Mzk1OCwgNDM5NzMsIDQzOTg4LCA0NDAwMywgNDQwMTgsIDQ0MDMzLCA0NDA0OCwgNDQwNjMsIAotICAgIDQ0MDc4LCA0NDA5MywgNDQxMDgsIDQ0MTIzLCA0NDEzOCwgNDQxNTMsIDQ0MTY4LCA0NDE4MywgNDQxOTgsIDQ0MjEzLCAKLSAgICA0NDIyOCwgNDQyNDMsIDQ0MjU4LCA0NDI3MywgNDQyODgsIDQ0MzAzLCA0NDMxOCwgNDQzMzMsIDQ0MzQ4LCA0NDM2MywgCi0gICAgNDQzNzgsIDQ0MzkzLCA0NDQwOCwgNDQ0MjMsIDQ0NDM4LCA0NDQ1MywgNDQ0NjgsIDQ0NDgzLCA0NDQ5OCwgNDQ1MTMsIAotICAgIDQ0NTI4LCA0NDU0MywgNDQ1NTgsIDQ0NTczLCA0NDU4OCwgNDQ2MDMsIDQ0NjE4LCA0NDYzMywgNDQ2NDgsIDQ0NjYzLCAKLSAgICA0NDY3OCwgNDQ2OTMsIDQ0NzA4LCA0NDcyMywgNDQ3MzgsIDQ0NzUzLCA0NDc2OCwgNDQ3ODMsIDQ0Nzk4LCA0NDgxMywgCi0gICAgNDQ4MjgsIDQ0ODQzLCA0NDg1OCwgNDQ4NzMsIDQ0ODg4LCA0NDkwMywgNDQ5MTgsIDQ0OTMzLCA0NDk0OCwgNDQ5NjMsIAotICAgIDQ0OTc4LCA0NDk5MywgNDUwMDgsIDQ1MDIzLCA0NTAzOCwgNDUwNTMsIDQ1MDY4LCA0NTA4MywgNDUwOTgsIDQ1MTEzLCAKLSAgICA0NTEyOCwgNDUxNDMsIDQ1MTU4LCA0NTE3MywgNDUxODgsIDQ1MjAzLCA0NTIxOCwgNDUyMzMsIDQ1MjQ4LCA0NTI2MywgCi0gICAgNDUyNzgsIDQ1MjkzLCA0NTMwOCwgNDUzMjMsIDQ1MzM4LCA0NTM1MywgNDUzNjgsIDQ1MzgzLCA0NTM5OCwgNDU0MTMsIAotICAgIDQ1NDI4LCA0NTQ0MywgNDU0NTgsIDQ1NDczLCA0NTQ4OCwgNDU1MDMsIDQ1NTE4LCA0NTUzMywgNDU1NDgsIDQ1NTYzLCAKLSAgICA0NTU3OCwgNDU1OTMsIDQ1NjA4LCA0NTYyMywgNDU2MzgsIDQ1NjUzLCA0NTY2OCwgNDU2ODMsIDQ1Njk4LCA0NTcxMywgCi0gICAgNDU3MjgsIDQ1NzQzLCA0NTc1OCwgNDU3NzMsIDQ1Nzg4LCA0NTgwMywgNDU4MTgsIDQ1ODMzLCA0NTg0OCwgNDU4NjMsIAotICAgIDQ1ODc4LCA0NTg5MywgNDU5MDgsIDQ1OTIzLCA0NTkzOCwgNDU5NTMsIDQ1OTY4LCA0NTk4MywgNDU5OTgsIDQ2MDEzLCAKLSAgICA0NjAyOCwgNDYwNDMsIDQ2MDU4LCA0NjA3MywgNDYwODgsIDQ2MTAzLCA0NjExOCwgNDYxMzMsIDQ2MTQ4LCA0NjE2MywgCi0gICAgNDYxNzgsIDQ2MTkzLCA0NjIwOCwgNDYyMjMsIDQ2MjM4LCA0NjI1MywgNDYyNjgsIDQ2MjgzLCA0NjI5OCwgNDYzMTMsIAotICAgIDQ2MzI4LCA0NjM0MywgNDYzNTgsIDQ2MzczLCA0NjM4OCwgNDY0MDMsIDQ2NDE4LCA0NjQzMywgNDY0NDgsIDQ2NDYzLCAKLSAgICA0NjQ3OCwgNDY0OTMsIDQ2NTA4LCA0NjUyMywgNDY1MzgsIDQ2NTUzLCA0NjU2OCwgNDY1ODMsIDQ2NTk4LCA0NjYxMywgCi0gICAgNDY2MjgsIDQ2NjQzLCA0NjY1OCwgNDY2NzMsIDQ2Njg4LCA0NjcwMywgNDY3MTgsIDQ2NzMzLCA0Njc0OCwgNDY3NjMsIAotICAgIDQ2Nzc4LCA0Njc5MywgNDY4MDgsIDQ2ODIzLCA0NjgzOCwgNDY4NTMsIDQ2ODY4LCA0Njg4MywgNDY4OTksIDQ2OTE1LCAKLSAgICA0NjkzMSwgNDY5NDcsIDQ2OTYzLCA0Njk3OSwgNDY5OTUsIDQ3MDExLCA0NzAyNywgNDcwNDMsIDQ3MDU5LCA0NzA3NSwgCi0gICAgNDcwOTEsIDQ3MTA3LCA0NzEyMywgNDcxMzksIDQ3MTU1LCA0NzE3MSwgNDcxODcsIDQ3MjAzLCA0NzIxOSwgNDcyMzUsIAotICAgIDQ3MjUxLCA0NzI2NywgNDcyODMsIDQ3Mjk5LCA0NzMxNSwgNDczMzEsIDQ3MzQ3LCA0NzM2MywgNDczNzksIDQ3Mzk1LCAKLSAgICA0NzQxMSwgNDc0MjcsIDQ3NDQzLCA0NzQ1OSwgNDc0NzUsIDQ3NDkxLCA0NzUwNywgNDc1MjMsIDQ3NTM5LCA0NzU1NSwgCi0gICAgNDc1NzEsIDQ3NTg3LCA0NzYwMywgNDc2MTksIDQ3NjM1LCA0NzY1MSwgNDc2NjcsIDQ3NjgzLCA0NzY5OSwgNDc3MTUsIAotICAgIDQ3NzMxLCA0Nzc0NywgNDc3NjMsIDQ3Nzc5LCA0Nzc5NSwgNDc4MTEsIDQ3ODI3LCA0Nzg0MywgNDc4NTksIDQ3ODc1LCAKLSAgICA0Nzg5MSwgNDc5MDcsIDQ3OTIzLCA0NzkzOSwgNDc5NTUsIDQ3OTcxLCA0Nzk4NywgNDgwMDMsIDQ4MDE5LCA0ODAzNSwgCi0gICAgNDgwNTEsIDQ4MDY3LCA0ODA4MywgNDgwOTksIDQ4MTE1LCA0ODEzMSwgNDgxNDcsIDQ4MTYzLCA0ODE3OSwgNDgxOTUsIAotICAgIDQ4MjExLCA0ODIyNywgNDgyNDMsIDQ4MjU5LCA0ODI3NSwgNDgyOTEsIDQ4MzA3LCA0ODMyMywgNDgzMzksIDQ4MzU1LCAKLSAgICA0ODM3MSwgNDgzODcsIDQ4NDAzLCA0ODQxOSwgNDg0MzUsIDQ4NDUxLCA0ODQ2NywgNDg0ODMsIDQ4NDk5LCA0ODUxNSwgCi0gICAgNDg1MzEsIDQ4NTQ3LCA0ODU2MywgNDg1NzksIDQ4NTk1LCA0ODYxMSwgNDg2MjcsIDQ4NjQzLCA0ODY1OSwgNDg2NzUsIAotICAgIDQ4NjkxLCA0ODcwNywgNDg3MjMsIDQ4NzM5LCA0ODc1NSwgNDg3NzEsIDQ4Nzg3LCA0ODgwMywgNDg4MTksIDQ4ODM1LCAKLSAgICA0ODg1MSwgNDg4NjcsIDQ4ODgzLCA0ODg5OSwgNDg5MTUsIDQ4OTMxLCA0ODk0NywgNDg5NjMsIDQ4OTc5LCA0ODk5NSwgCi0gICAgNDkwMTEsIDQ5MDI3LCA0OTA0MywgNDkwNTksIDQ5MDc1LCA0OTA5MSwgNDkxMDcsIDQ5MTIzLCA0OTEzOSwgNDkxNTUsIAotICAgIDQ5MTcxLCA0OTE4NywgNDkyMDMsIDQ5MjE5LCA0OTIzNSwgNDkyNTEsIDQ5MjY3LCA0OTI4MywgNDkyOTksIDQ5MzE1LCAKLSAgICA0OTMzMSwgNDkzNDcsIDQ5MzYzLCA0OTM3OSwgNDkzOTUsIDQ5NDExLCA0OTQyNywgNDk0NDMsIDQ5NDU5LCA0OTQ3NSwgCi0gICAgNDk0OTEsIDQ5NTA3LCA0OTUyMywgNDk1MzksIDQ5NTU1LCA0OTU3MSwgNDk1ODcsIDQ5NjAzLCA0OTYxOSwgNDk2MzUsIAotICAgIDQ5NjUxLCA0OTY2NywgNDk2ODMsIDQ5Njk5LCA0OTcxNSwgNDk3MzEsIDQ5NzQ3LCA0OTc2MywgNDk3NzksIDQ5Nzk1LCAKLSAgICA0OTgxMSwgNDk4MjcsIDQ5ODQzLCA0OTg1OSwgNDk4NzUsIDQ5ODkxLCA0OTkwNywgNDk5MjMsIDQ5OTM5LCA0OTk1NSwgCi0gICAgNDk5NzEsIDQ5OTg3LCA1MDAwMywgNTAwMTksIDUwMDM1LCA1MDA1MSwgNTAwNjcsIDUwMDgzLCA1MDA5OSwgNTAxMTUsIAotICAgIDUwMTMxLCA1MDE0NywgNTAxNjMsIDUwMTc5LCA1MDE5NSwgNTAyMTEsIDUwMjI3LCA1MDI0MywgNTAyNTksIDUwMjc1LCAKLSAgICA1MDI5MSwgNTAzMDcsIDUwMzIzLCA1MDMzOSwgNTAzNTUsIDUwMzcxLCA1MDM4NywgNTA0MDMsIDUwNDE5LCA1MDQzNSwgCi0gICAgNTA0NTEsIDUwNDY3LCA1MDQ4MywgNTA0OTksIDUwNTE1LCA1MDUzMSwgNTA1NDcsIDUwNTYzLCA1MDU3OSwgNTA1OTUsIAotICAgIDUwNjExLCA1MDYyNywgNTA2NDMsIDUwNjU5LCA1MDY3NSwgNTA2OTEsIDUwNzA3LCA1MDcyMywgNTA3MzksIDUwNzU1LCAKLSAgICA1MDc3MSwgNTA3ODcsIDUwODAzLCA1MDgxOSwgNTA4MzUsIDUwODUxLCA1MDg2NywgNTA4ODMsIDUwODk5LCA1MDkxNSwgCi0gICAgNTA5MzEsIDUwOTQ3LCA1MDk2MywgNTA5NzksIDUwOTk1LCA1MTAxMSwgNTEwMjcsIDUxMDQzLCA1MTA1OSwgNTEwNzUsIAotICAgIDUxMDkxLCA1MTEwNywgNTExMjMsIDUxMTM5LCA1MTE1NSwgNTExNzEsIDUxMTg3LCA1MTIwMywgNTEyMTksIDUxMjM1LCAKLSAgICA1MTI1MSwgNTEyNjcsIDUxMjgzLCA1MTI5OSwgNTEzMTUsIDUxMzMxLCA1MTM0NywgNTEzNjMsIDUxMzc5LCA1MTM5NSwgCi0gICAgNTE0MTEsIDUxNDI3LCA1MTQ0MywgNTE0NTksIDUxNDc1LCA1MTQ5MSwgNTE1MDcsIDUxNTIzLCA1MTUzOSwgNTE1NTUsIAotICAgIDUxNTcxLCA1MTU4NywgNTE2MDMsIDUxNjE5LCA1MTYzNSwgNTE2NTEsIDUxNjY3LCA1MTY4MywgNTE2OTksIDUxNzE1LCAKLSAgICA1MTczMSwgNTE3NDcsIDUxNzYzLCA1MTc3OSwgNTE3OTUsIDUxODExLCA1MTgyNywgNTE4NDMsIDUxODU5LCA1MTg3NSwgCi0gICAgNTE4OTEsIDUxOTA3LCA1MTkyMywgNTE5MzksIDUxOTU1LCA1MTk3MSwgNTE5ODcsIDUyMDAzLCA1MjAxOSwgNTIwMzUsIAotICAgIDUyMDUxLCA1MjA2NywgNTIwODMsIDUyMDk5LCA1MjExNSwgNTIxMzEsIDUyMTQ3LCA1MjE2MywgNTIxNzksIDUyMTk1LCAKLSAgICA1MjIxMSwgNTIyMjcsIDUyMjQzLCA1MjI1OSwgNTIyNzUsIDUyMjkxLCA1MjMwNywgNTIzMjMsIDUyMzM5LCA1MjM1NSwgCi0gICAgNTIzNzEsIDUyMzg3LCA1MjQwMywgNTI0MTksIDUyNDM1LCA1MjQ1MSwgNTI0NjcsIDUyNDgzLCA1MjQ5OSwgNTI1MTUsIAotICAgIDUyNTMxLCA1MjU0NywgNTI1NjMsIDUyNTc5LCA1MjU5NSwgNTI2MTEsIDUyNjI3LCA1MjY0MywgNTI2NTksIDUyNjc1LCAKLSAgICA1MjY5MSwgNTI3MDcsIDUyNzIzLCA1MjczOSwgNTI3NTUsIDUyNzcxLCA1Mjc4NywgNTI4MDMsIDUyODE5LCA1MjgzNSwgCi0gICAgNTI4NTEsIDUyODY3LCA1Mjg4MywgNTI4OTksIDUyOTE1LCA1MjkzMSwgNTI5NDcsIDUyOTYzLCA1Mjk3OSwgNTI5OTUsIAotICAgIDUzMDExLCA1MzAyNywgNTMwNDMsIDUzMDU5LCA1MzA3NSwgNTMwOTEsIDUzMTA3LCA1MzEyMywgNTMxMzksIDUzMTU1LCAKLSAgICA1MzE3MSwgNTMxODcsIDUzMjAzLCA1MzIxOSwgNTMyMzUsIDUzMjUxLCA1MzI2NywgNTMyODMsIDUzMjk5LCA1MzMxNSwgCi0gICAgNTMzMzEsIDUzMzQ3LCA1MzM2MywgNTMzNzksIDUzMzk1LCA1MzQxMSwgNTM0MjcsIDUzNDQzLCA1MzQ1OSwgNTM0NzUsIAotICAgIDUzNDkxLCA1MzUwNywgNTM1MjMsIDUzNTM5LCA1MzU1NSwgNTM1NzEsIDUzNTg3LCA1MzYwMywgNTM2MTksIDUzNjM1LCAKLSAgICA1MzY1MSwgNTM2NjcsIDUzNjgzLCA1MzY5OSwgNTM3MTUsIDUzNzMxLCA1Mzc0NywgNTM3NjMsIDUzNzc5LCA1Mzc5NSwgCi0gICAgNTM4MTEsIDUzODI3LCA1Mzg0MywgNTM4NTksIDUzODc1LCA1Mzg5MSwgNTM5MDcsIDUzOTIzLCA1MzkzOSwgNTM5NTUsIAotICAgIDUzOTcxLCA1Mzk4NywgNTQwMDMsIDU0MDE5LCA1NDAzNSwgNTQwNTEsIDU0MDY3LCA1NDA4MywgNTQwOTksIDU0MTE1LCAKLSAgICA1NDEzMSwgNTQxNDcsIDU0MTYzLCA1NDE3OSwgNTQxOTUsIDU0MjExLCA1NDIyNywgNTQyNDMsIDU0MjU5LCA1NDI3NSwgCi0gICAgNTQyOTEsIDU0MzA3LCA1NDMyMywgNTQzMzksIDU0MzU1LCA1NDM3MSwgNTQzODcsIDU0NDAzLCA1NDQxOSwgNTQ0MzUsIAotICAgIDU0NDUxLCA1NDQ2NywgNTQ0ODMsIDU0NDk5LCA1NDUxNSwgNTQ1MzEsIDU0NTQ3LCA1NDU2MywgNTQ1NzksIDU0NTk1LCAKLSAgICA1NDYxMSwgNTQ2MjcsIDU0NjQzLCA1NDY1OSwgNTQ2NzUsIDU0NjkxLCA1NDcwNywgNTQ3MjMsIDU0NzM5LCA1NDc1NSwgCi0gICAgNTQ3NzEsIDU0Nzg3LCA1NDgwMywgNTQ4MTksIDU0ODM1LCA1NDg1MSwgNTQ4NjcsIDU0ODgzLCA1NDg5OSwgNTQ5MTUsIAotICAgIDU0OTMxLCA1NDk0NywgNTQ5NjMsIDU0OTc5LCA1NDk5NSwgNTUwMTEsIDU1MDI3LCA1NTA0MywgNTUwNTksIDU1MDc1LCAKLSAgICA1NTA5MSwgNTUxMDcsIDU1MTIzLCA1NTEzOSwgNTUxNTUsIDU1MTcxLCA1NTE4NywgNTUyMDMsIDU1MjE5LCA1NTIzNSwgCi0gICAgNTUyNTEsIDU1MjY3LCA1NTI4MywgNTUyOTksIDU1MzE1LCA1NTMzMSwgNTUzNDcsIDU1MzYzLCA1NTM3OSwgNTUzOTUsIAotICAgIDU1NDExLCA1NTQyNywgNTU0NDMsIDU1NDU5LCA1NTQ3NSwgNTU0OTEsIDU1NTA3LCA1NTUyMywgNTU1MzksIDU1NTU1LCAKLSAgICA1NTU3MCwgMTQ5NjMsIDU1NTc5LCA1NTU4NSwgNTU1OTEsIDU1NjAxLCA1NTYwOSwgMTMxNDQsIDEzNjgzLCA4MzE5LCAKLSAgICA1NTYyMiwgMTQ4MywgNTU2MzAsIDI1Mzg1LCA1NjM3LCA1NTYzNiwgNTU2NDEsIDU1NjQ2LCA1NTY1MSwgNTU2NTYsIAotICAgIDU1NjYyLCA1NTY2NywgNTU2NzMsIDU1Njc4LCA1NTY4NCwgNTU2ODksIDU1Njk0LCA1NTY5OSwgNTU3MDQsIDU1NzEwLCAKLSAgICA1NTcxNSwgNTU3MjAsIDU1NzI1LCA1NTczMCwgNTU3MzUsIDU1NzQwLCA1NTc0NSwgNTU3NTEsIDU1NzU2LCA1NTc2MiwgCi0gICAgNTU3NjksIDI1MTUsIDU1Nzc0LCA1NTc4MCwgNjk0OCwgNTU3ODQsIDU1Nzg5LCA1NTc5NiwgNTU4MDQsIDQwLCA1NTgwOCwgCi0gICAgNTU4MTQsIDU1ODE5LCA1NTgyNCwgNTU4MjgsIDU1ODMzLCA1NTgzNywgNTU4NDEsIDkwMzcsIDU1ODQ1LCA1NTg1NSwgCi0gICAgNTU4NjgsIDU1ODc5LCA1NTg5MiwgNTU4OTksIDU1OTA1LCA1NTkxMCwgNTU5MTYsIDU1OTIyLCA1NTkyOCwgNTU5MzMsIAotICAgIDU1OTM4LCA1NTk0MywgNTU5NDgsIDU1OTUyLCA1NTk1NywgNTU5NjIsIDU1OTY3LCA1NTk3MywgNTU5NzksIDU1OTg1LCAKLSAgICA1NTk5MCwgNTU5OTQsIDU1OTk5LCA1NjAwNCwgNTYwMDgsIDU2MDEzLCA1NjAxOCwgNTYwMjMsIDU2MDI3LCA5MDUzLCAKLSAgICA5MDY0LCA5MDY5LCAxNTI2LCA1NjAzMSwgMTUzMSwgNTYwMzcsIDU2MDQwLCAxNTYyLCA1NjA0NiwgMTU2OCwgMTU3NCwgCi0gICAgOTA5OSwgNTYwNTEsIDU2MDU5LCA1NjA2NiwgNTYwNzAsIDU2MDc2LCA1NjA4MSwgMjg4MjQsIDU2MDg2LCA1NjA5MywgCi0gICAgNTYwOTgsIDU2MTAyLCA1NjEwNiwgMTU3OSwgMTQ1MzgsIDE0NTQ5LCA1NjExNSwgNTYxMjIsIDU2MTI3LCA1NjEzMSwgCi0gICAgMTQ1NjgsIDE1ODMsIDM0ODk3LCA1NjEzNCwgNTYxMzksIDU2MTQ5LCA1NjE1OCwgNTYxNjMsIDU2MTY3LCA1NjE3MywgCi0gICAgMTU4OCwgMzY3MTksIDU2MTc4LCA1NjE4NywgNTYxOTMsIDU2MTk4LCA5MjQ5LCA5MjU1LCA1NjIwNCwgNTYyMTYsIDU2MjMzLCAKLSAgICA1NjI1MCwgNTYyNjcsIDU2Mjg0LCA1NjMwMSwgNTYzMTgsIDU2MzM1LCA1NjM1MiwgNTYzNjksIDU2Mzg2LCA1NjQwMywgCi0gICAgNTY0MjAsIDU2NDM3LCA1NjQ1NCwgNTY0NzEsIDU2NDg4LCA1NjUwNSwgNTY1MjIsIDU2NTM5LCA1NjU1NiwgNTY1NzMsIAotICAgIDU2NTkwLCA1NjYwNywgNTY2MjQsIDU2NjQxLCA1NjY1OCwgNTY2NzUsIDU2NjkyLCA1NjcwOSwgNTY3MjYsIDU2NzQzLCAKLSAgICA1Njc2MCwgNTY3NzcsIDU2Nzk0LCA1NjgxMSwgNTY4MjgsIDU2ODQ1LCA1Njg2MiwgNTY4NzksIDU2ODk2LCA1NjkxMywgCi0gICAgNTY5MzAsIDU2OTQ3LCA1Njk2NCwgNTY5ODEsIDU2OTk4LCA1NzAxNSwgNTcwMzIsIDU3MDQ5LCA1NzA2MCwgNTcwNjUsIAotICAgIDE1OTMsIDU3MDY5LCA1NzA3NSwgNTcwODAsIDc2OTMsIDE1OTgsIDU3MDg1LCA1NzA5NCwgMjU2NjQsIDU3MDk5LCA1NzExMCwgCi0gICAgNTcxMjAsIDU3MTI1LCA1NzEzMiwgNTcxMzgsIDU3MTQzLCA1NzE0OCwgMTQ4MjAsIDU3MTUyLCA5MjY2LCAxNjAzLCA5MjcxLCAKLSAgICA1NzE1OCwgNTcxNjMsIDU3MTY5LCA1NzE3NCwgNTcxNzksIDU3MTg0LCA1NzE4OSwgNTcxOTQsIDU3MTk5LCA1NzIwNCwgCi0gICAgNTcyMTAsIDU3MjE2LCA1NzIyMiwgNTcyMjcsIDU3MjMxLCA1NzIzNiwgNTcyNDEsIDU3MjQ1LCA1NzI1MCwgNTcyNTUsIAotICAgIDU3MjYwLCA1NzI2NCwgNTcyNjksIDU3Mjc1LCA1NzI4MCwgNTcyODUsIDU3Mjg5LCA1NzI5NCwgNTcyOTksIDU3MzA1LCAKLSAgICA1NzMxMCwgNTczMTUsIDU3MzIxLCA1NzMyNywgNTczMzIsIDU3MzM2LCA1NzM0MSwgNTczNDYsIDU3MzUxLCA1NzM1NSwgCi0gICAgNTczNjAsIDU3MzY1LCA1NzM3MCwgNTczNzYsIDU3MzgyLCA1NzM4NywgNTczOTEsIDU3Mzk1LCA1NzQwMCwgNTc0MDUsIAotICAgIDU3NDEwLCAyNzAyNCwgNTc0MTQsIDU3NDE5LCA1NzQyNCwgNTc0MzAsIDU3NDM1LCA1NzQ0MCwgNTc0NDQsIDU3NDQ5LCAKLSAgICA1NzQ1NCwgNTc0NjAsIDU3NDY1LCA1NzQ3MCwgNTc0NzYsIDU3NDgyLCA1NzQ4NywgNTc0OTEsIDU3NDk2LCA1NzUwMSwgCi0gICAgNTc1MDUsIDU3NTEwLCA1NzUxNSwgNTc1MjAsIDU3NTI2LCA1NzUzMiwgNTc1MzcsIDU3NTQxLCA1NzU0NiwgNTc1NTEsIAotICAgIDU3NTU1LCA1NzU2MCwgNTc1NjUsIDU3NTcwLCA1NzU3NCwgNTc1NzcsIDI5Mzk1LCA1NzU4MiwgNTc1OTAsIDE0ODg2LCAKLSAgICAxNDkxMCwgOTM2MiwgNTc1OTYsIDU3NjA2LCA1NzYyMSwgOTM2NywgNTc2MzIsIDU3NjM3LCA1NzY0OCwgNTc2NjAsIAotICAgIDU3NjcyLCA1NzY4NCwgMjY0OSwgNTc2OTYsIDU3NzAxLCA1NzcwNSwgNTc3MTEsIDU3NzE3LCA1NzcyMiwgMTYxNSwgMTAxMCwgCi0gICAgNTc3MzEsIDU3NzM2LCAzNjc1OCwgNTc3NDAsIDU3NzQ0LCA1Nzc0OSwgNTc3NTMsIDE0OTcxLCA1Nzc1OCwgNTc3NjEsIAotICAgIDU3NzY5LCA1Nzc3NywgMTYxOSwgOTM5MiwgOTM5OCwgMTYyNCwgNTc3ODUsIDU3NzkyLCA1Nzc5NywgNTc4MDYsIDU3ODE2LCAKLSAgICA1NzgyMywgNTc4MjgsIDE2MjksIDU3ODM1LCA1Nzg0MCwgMTUwODYsIDU3ODQ0LCA1Nzg0OSwgNTc4NTYsIDU3ODYyLCAKLSAgICA1Nzg2NiwgNTc4NzcsIDU3ODg3LCAxNTEwOCwgNzYxNiwgNzYyMywgMTYzNCwgNTc4OTQsIDU3OTAwLCA1NzkwOCwgNTc5MTUsIAotICAgIDU3OTIxLCA1NzkyOCwgNTc5NDAsIDU3OTQ2LCA1Nzk1MSwgNTc5NjMsIDU3OTc0LCA1Nzk4MywgNTc5OTMsIDM2NjgsIAotICAgIDI4NjYwLCAyODY2OSwgMTUxNDgsIDE2MzksIDE2NDMsIDU4MDAxLCA1ODAxMiwgNTgwMTcsIDE2NDYsIDU4MDI1LCA1ODAzMCwgCi0gICAgNTgwNDIsIDU4MDQ4LCA1ODA1MywgNTgwNjEsIDE2NTEsIDU4MDY2LCA1ODA3MSwgNTgwNzksIDU4MDg3LCA1ODA5NCwgCi0gICAgNTgxMDMsIDU4MTExLCA1ODEyMCwgMTY1NiwgNTgxMjQsIDE2NjEsIDU4MTI5LCA1ODEzNiwgMTUyNjgsIDU4MTQ0LCAKLSAgICA1ODE1MCwgNTgxNTUsIDU4MTYzLCA1ODE3MCwgNTgxNzgsIDIwNjU4LCA1ODE4MywgOTUyNywgNTgxOTIsIDU4MTk4LCAKLSAgICA1ODIwNSwgNTgyMTIsIDU4MjE4LCA1ODIyOCwgNTgyMzQsIDU4MjM5LCA1ODI0NCwgNTgyNTIsIDk1MzYsIDk1NDEsIAotICAgIDU4MjYwLCA1ODI2NiwgNTgyNzQsIDM3MzMsIDM2ODQ2LCA1ODI3OSwgNTgyODUsIDU4MjkwLCA1ODI5OCwgNTgzMDUsIAotICAgIDEwMzU2LCA1ODMxMCwgNTgzMTYsIDE2NzIsIDU4MzIxLCA1ODMyNCwgMTA1OCwgNTgzMzAsIDU4MzM1LCA1ODM0MCwgCi0gICAgNTgzNDYsIDU4MzUxLCA1ODM1NiwgNTgzNjEsIDU4MzY2LCA1ODM3MSwgNTgzNzYsIDE2ODEsIDksIDU4MzgyLCA1ODM4NiwgCi0gICAgNTgzOTEsIDU4Mzk1LCA1ODM5OSwgNTg0MDMsIDI5NjQzLCA1ODQwOCwgNTg0MTMsIDU4NDE4LCA1ODQyMiwgNTg0MjUsIAotICAgIDU4NDI5LCA1ODQzMywgNTg0MzgsIDU4NDQyLCA1ODQ0NywgNTg0NTEsIDMyMzE1LCAzMjMyMCwgMzIzMjUsIDU4NDU0LCAKLSAgICA1ODQ2MSwgNTg0NjcsIDM2NTg1LCA1ODQ3NywgMzIzMzEsIDI5ODkxLCAyOTY1MywgMjk2NTksIDMyMzQ3LCAyOTY2NSwgCi0gICAgNTg0ODIsIDU4NDg3LCAyOTkyNCwgNTg0OTEsIDU4NDk0LCA1ODQ5OCwgNTg1MDUsIDU4NTA4LCA1ODUxMywgNTg1MTcsIAotICAgIDU4NTIxLCA1ODUyNCwgNTg1MzQsIDU4NTQ2LCA1ODU1MywgMzEyODIsIDU4NTU2LCAxMzkzNiwgODIxLCA1ODU1OSwgCi0gICAgNTg1NjMsIDU4NTY4LCA1ODU3MiwgNTg1NzUsIDExOTQ0LCA1ODU4MiwgNTg1ODksIDU4NjAyLCA1ODYxMCwgNTg2MTksIAotICAgIDU4NjI0LCA1ODYzNCwgNTg2NDcsIDU4NjU5LCA1ODY2NiwgNTg2NzEsIDU4NjgwLCA1ODY5MywgMzM3MzIsIDU4NzExLCAKLSAgICA1ODcxNiwgNTg3MjMsIDU4NzI5LCA1ODczNCwgNTg3NDIsIDU4NzQ5LCAyNTIyNCwgNjEzLCA1ODc1NSwgNTg3NjEsIAotICAgIDU4NzcxLCA1ODc3NywgNTg3ODIsIDI5NjgzLCA0NDgxLCAyOTY5NywgNTg3ODYsIDU4Nzk2LCA1ODgwMSwgNTg4MTEsIAotICAgIDU4ODI2LCA1ODgzMiwgNTg4MzgsIDI5NzA3LCA1ODg0MywgMjg4NTYsIDU4ODQ3LCA1ODg1MiwgNTg4NTcsIDU4ODYxLCAKLSAgICA1ODg2NiwgMTUxNTEsIDU4ODczLCA1ODg3OCwgNTg4ODIsIDQ1MjIsIDI5NzMzLCA1ODg4NiwgNTg4OTIsIDMyNywgNTg5MDIsIAotICAgIDU4OTA5LCA1ODkxNiwgNTg5MjEsIDU4OTMwLCA1NjE0MywgNTg5MzYsIDU4OTQ0LCA1ODk0OCwgNTg5NTIsIDU4OTU2LCAKLSAgICA1ODk2MCwgNTg5NjUsIDU4OTY5LCA1ODk3NSwgNTg5ODMsIDU4OTg4LCA1ODk5MywgNTg5OTcsIDU5MDAyLCA1OTAwNiwgCi0gICAgNTkwMTAsIDU5MDE2LCA1OTAyMiwgNTkwMjcsIDU5MDMxLCAyOTg1NywgNTkwMzYsIDI5ODYzLCAyOTg2OSwgNTkwNDEsIAotICAgIDU5MDQ3LCA1OTA1NCwgNTkwNTksIDU5MDYzLCAyODg3MywgMTQ4MTMsIDU5MDY2LCA1OTA3MCwgNTkwNzUsIDU5MDgyLCAKLSAgICA1OTA4OCwgNTkwOTIsIDU5MDk3LCAzNjI5NSwgNTkxMDMsIDU5MTA3LCA1OTExMSwgNTkxMTYsIDU5MTIyLCA1OTEyOCwgCi0gICAgNTkxNDAsIDU5MTQ5LCA1OTE1OSwgNTkxNjUsIDU5MTcyLCA1OTE3NywgNTkxODIsIDU5MTg2LCA1OTE4OSwgNTkxOTUsIAotICAgIDU5MjAyLCA1OTIwNywgNTkyMTIsIDU5MjE5LCA1OTIyNiwgNTkyMzIsIDU5MjM3LCA1OTI0MiwgNTkyNTAsIDU5MjU1LCAKLSAgICAyMzc3LCA1OTI1OSwgNTkyNjQsIDU5MjcwLCA1OTI3NSwgNTkyODEsIDU5Mjg2LCA1OTI5MSwgNTkyOTYsIDU5MzAyLCAKLSAgICAyOTg5MCwgNTkzMDcsIDU5MzEzLCA1OTMxOSwgNTkzMjUsIDI5OTU0LCA1OTMzMCwgNTkzMzUsIDU5MzQwLCAyOTk2NSwgCi0gICAgNTkzNDUsIDU5MzUwLCA1OTM1NSwgNTkzNjEsIDU5MzY3LCAyOTk3MCwgNTkzNzIsIDU5Mzc3LCA1OTM4MiwgMzAwMjUsIAotICAgIDMwMDMxLCA1OTM4NywgNTkzOTIsIDMwMDM2LCA1OTM5NywgMjU4OTEsIDMwMDU4LCAzMDA2MiwgNTk0MDIsIDU5Mzc4LCAKLSAgICA1OTQwNiwgNTk0MTQsIDU5NDIwLCA1OTQyOCwgNTk0MzUsIDU5NDQxLCA1OTQ1MSwgNTk0NTcsIDU5NDY0LCA4OTg0LCAKLSAgICAzMDA3NiwgNTk0NzAsIDU5NDgzLCA1OTQ5MiwgNTk0OTgsIDU5NTA3LCA1OTUxMywgMjE1NzUsIDU5NTIwLCA1OTUyNywgCi0gICAgNTk1MzcsIDMwMDI2LCA1OTU0MCwgNTk1NDcsIDU5NTUyLCA1OTU1NiwgNTk1NjAsIDU5NTY1LCA0NTk4LCA1OTU2OSwgCi0gICAgNTk1NzQsIDU5NTc5LCAzMjQwOSwgMzI0MTQsIDU5NTgzLCAzMjQyOCwgNTk1ODgsIDMyNDMzLCA1OTU5MywgNTk1OTksIAotICAgIDMyNDQ1LCAzMjQ1MSwgMzI0NTcsIDU5NjA0LCA1OTYxMCwgMjA2MTksIDU5NjIxLCA1OTYyNCwgNTk2MzYsIDU5NjQ0LCAKLSAgICAzMDA5NCwgNTk2NDgsIDU5NjU3LCA1OTY2NywgNTk2NzYsIDMwMDk5LCA1OTY4MSwgNTk2ODgsIDU5Njk3LCA1OTcwMywgCi0gICAgNTk3MTEsIDU5NzE4LCA0NTczLCA0MzEwLCA1OTcyMywgMzAwMzcsIDU5NzI5LCA1OTczMiwgNTk3MzgsIDU5NzQ1LCAKLSAgICA1OTc1MCwgNTk3NTUsIDIxNTAyLCA1OTc1OSwgNTk3NjUsIDU5NzcxLCA1OTc3NiwgNTk3ODEsIDU5Nzg1LCA1OTc5MSwgCi0gICAgNTk3OTcsIDMxMTk2LCA4MjYsIDMzNDA2LCAzNDMwNCwgMzQzMTAsIDU5ODAyLCA1OTgwNiwgNTk4MTAsIDU5ODEzLCAKLSAgICA1OTgyNiwgNTk4MzIsIDU5ODM2LCA1OTgzOSwgNTk4NDQsIDMxNDk1LCA1OTg0OCwgMjg4NzgsIDE5NDQ2LCA1OTg1NCwgCi0gICAgNDUwMiwgNDUxMCwgNzQ3MiwgNTk4NTcsIDU5ODYyLCA1OTg2NywgNTk4NzIsIDU5ODc3LCA1OTg4MiwgNTk4ODcsIDU5ODkyLCAKLSAgICA1OTg5NywgNTk5MDIsIDU5OTA4LCA1OTkxMywgNTk5MTgsIDU5OTI0LCA1OTkyOSwgNTk5MzQsIDU5OTM5LCA1OTk0NCwgCi0gICAgNTk5NDksIDU5OTU0LCA1OTk2MCwgNTk5NjUsIDU5OTcxLCA1OTk3NiwgNTk5ODEsIDU5OTg2LCA1OTk5MSwgNTk5OTYsIAotICAgIDYwMDAxLCA2MDAwNiwgNjAwMTEsIDYwMDE2LCA2MDAyMSwgNjAwMjcsIDYwMDMyLCA2MDAzNywgNjAwNDIsIDYwMDQ3LCAKLSAgICA2MDA1MiwgNjAwNTcsIDYwMDYzLCA2MDA2OCwgNjAwNzMsIDYwMDc4LCA2MDA4MywgNjAwODgsIDYwMDkzLCA2MDA5OCwgCi0gICAgNjAxMDMsIDYwMTA4LCA2MDExNCwgNjAxMTksIDYwMTI0LCA2MDEyOSwgNjAxMzQsIDYwMTQwLCA2MDE0NiwgNjAxNTEsIAotICAgIDYwMTU3LCA2MDE2MiwgNjAxNjcsIDYwMTcyLCA2MDE3NywgNjAxODIsIDE0NzYsIDI0MCwgNjAxODcsIDYwMTkxLCA2MDE5NSwgCi0gICAgNjAxOTksIDIzMTU3LCA2MDIwMywgNjAyMDcsIDYwMjEyLCA2MDIxNiwgNjAyMjEsIDYwMjI1LCA2MDIyOSwgNjAyMzMsIAotICAgIDYwMjM4LCA2MDI0MiwgMTE2ODEsIDYwMjQ3LCA2MDI1MSwgNjAyNTgsIDEzNDQ0LCA2MDI2NywgNjAyNzYsIDYwMjgwLCAKLSAgICA2MDI4NSwgNjAyOTAsIDYwMjk0LCAyMjk2MCwgMjk1NywgNjAyOTgsIDYwMzA0LCA2MDMxMywgNjAzMjEsIDYwMzI3LCAKLSAgICA2MDMzOSwgNjAzNTEsIDYwMzU1LCA2MDM2MCwgNjAzNjQsIDYwMzcwLCA2MDM3NiwgNjAzODEsIDYwMzkxLCA2MDQwMSwgCi0gICAgNjA0MDcsIDYwNDEyLCA2MDQxNiwgNjA0MjEsIDYwNDI3LCA2MDQzNiwgNjA0NDUsIDYwNDUzLCAxMzc5OCwgNjA0NTcsIAotICAgIDYwNDY2LCA2MDQ3NCwgNjA0ODYsIDYwNDk3LCA2MDUwOCwgNjA1MTcsIDYwNTIxLCA2MDUzMCwgNjA1NDAsIDYwNTQ2LCAKLSAgICA2MDU1MSwgNjA1NTcsIDYwNTYyLCA5OCwgMjg3NzIsIDYwNTczLCAyNDIyOCwgMjQyMzgsIDYwNTc5LCA2MDU4NiwgNjA1OTIsIAotICAgIDYwNTk2LCA2MDYwNiwgNjA2MTcsIDYwNjI1LCA2MDYzNCwgNjA2MzksIDYwNjQ0LCA2MDY0OCwgMTU1MDQsIDYwNjU2LCAKLSAgICA2MDY2MCwgNjA2NjYsIDYwNjc2LCA2MDY4MywgNjA2ODksIDMyNTA4LCAxMTYyLCA2MDY5NSwgNjA2OTgsIDYwNzAyLCAKLSAgICA2MDcxMiwgNjA3MTgsIDYwNzI1LCAxMTYxOCwgNjA3MzIsIDYwNzM4LCA2MDc0NywgNjA3NTYsIDYwNzYyLCA2MDc2OCwgCi0gICAgNjA3NzQsIDYwNzc5LCA2MDc4NiwgNjA3OTMsIDYwNzk5LCA2MDgxMiwgNjA4MjEsIDYwODMwLCA2MDgzNSwgNjA4MzksIAotICAgIDYwODQ1LCA2MDg1MiwgNjA4NTksIDYwODY2LCA2MDg3MywgNjA4ODAsIDYwODg1LCA2MDg4OSwgNjA4OTMsIDYwODk2LCAKLSAgICA2MDkwNiwgNjA5MTAsIDYwOTIyLCA2MDkzMSwgNjA5MzUsIDYwOTQwLCA2MDk0NCwgNjA5NTAsIDYwOTU1LCA2MDk2MiwgCi0gICAgNjA5NzEsIDYwOTc5LCA2MDk4NywgNjA5OTIsIDYwOTk2LCA2MTAwMSwgNjEwMDYsIDYxMDE2LCA2MTAyNCwgNjEwMjksIAotICAgIDYxMDMzLCA2MTAzNywgNjEwNDMsIDYxMDU1LCA2MTA2MywgNjEwNzMsIDYxMDgwLCA2MTA4NiwgNjEwOTEsIDYxMDk1LCAKLSAgICA2MTA5OSwgNjExMDMsIDYxMTEyLCA2MTEyMSwgNjExMzAsIDYxMTM2LCA2MTE0MiwgNjExNDgsIDYxMTUzLCA2MTE2MCwgCi0gICAgNjExNjYsIDYxMTc0LCA2MTE4MSwgMTA3NzIsIDYxMTg3LCA2MTE5MywgNjExOTcsIDEyNTIzLCA2MTIwMSwgNjEyMDYsIAotICAgIDYxMjE2LCA2MTIyNSwgNjEyMzEsIDYxMjM3LCA2MTI0NSwgNjEyNTIsIDYxMjU2LCA2MTI2MCwgNjEyNjYsIDYxMjc0LCAKLSAgICA2MTI4MSwgNjEyODcsIDYxMjk4LCA2MTMwMiwgNjEzMDYsIDYxMzEwLCA2MTMxMywgNjEzMTksIDYxMzI0LCA2MTMyOCwgCi0gICAgNjEzMzIsIDYxMzQxLCA2MTM0OSwgNjEzNTYsIDYxMzYyLCA2MTM2OSwgMjIwODcsIDM2MzM3LCA2MTM3NCwgNjEzODIsIAotICAgIDYxMzg2LCA2MTM4OSwgNjEzOTcsIDYxNDA0LCA2MTQxMCwgNjE0MTksIDYxNDI3LCA2MTQzMywgNjE0MzgsIDYxNDQyLCAKLSAgICA2MTQ0NywgNjE0NTEsIDYxNDU1LCA2MTQ2MCwgNjE0NjksIDYxNDczLCA2MTQ4MCwgNjE0ODcsIDYxNDkzLCA2MTUwMSwgCi0gICAgNjE1MDcsIDYxNTE4LCA2MTUyNiwgNjE1MzIsIDIwNzUzLCA2MTU0MSwgNjE1NDgsIDYxNTU1LCA2MTU2MiwgNjE1NjksIAotICAgIDYxNTc2LCAzOTI4OCwgMTE0NTYsIDYxNTgzLCA2MTU5MCwgNjE1OTUsIDMyNTQ0LCAzNzQ4NCwgNjE2MDEsIDYxNjA2LCAKLSAgICA2MTYxMSwgNjE2MTcsIDYxNjIzLCA2MTYyOSwgNjE2MzQsIDYxNjM5LCA2MTY0NCwgNjE2NDksIDYxNjU1LCA2MTY2MCwgCi0gICAgNjE2NjYsIDYxNjcxLCA2MTY3NywgNjE2ODIsIDYxNjg3LCA2MTY5MiwgNjE2OTcsIDYxNzAyLCA2MTcwNywgNjE3MTIsIAotICAgIDYxNzE4LCA2MTcyMywgNjE3MjksIDYxNzM0LCA2MTczOSwgNjE3NDQsIDYxNzQ5LCA2MTc1NCwgNjE3NTksIDYxNzY1LCAKLSAgICA2MTc3MCwgNjE3NzUsIDYxNzgwLCA2MTc4NSwgNjE3OTAsIDYxNzk1LCA2MTgwMCwgNjE4MDUsIDYxODEwLCA2MTgxNSwgCi0gICAgNjE4MjEsIDYxODI2LCA2MTgzMSwgNjE4MzYsIDYxODQxLCA2MTg0NiwgNjE4NTEsIDYxODU2LCA2MTg2MSwgNjE4NjcsIAotICAgIDYxODcyLCA2MTg3NywgNjE4ODIsIDYxODg3LCA2MTg5MiwgNjE4OTcsIDYxOTAyLCA2MTkwNywgNjE5MTIsIDYxOTE3LCAKLSAgICA2MTkyMiwgNjE5MjcsIDYxOTMzLCAxNzk3LCAyMjQsIDM0OTkzLCA2MTkzOCwgNjE5NDEsIDYxOTQ2LCA2MTk1MCwgNjE5NTMsIAotICAgIDYxOTU4LCA2MDk4MywgNjE5NjksIDYxOTc5LCA2MTk4NiwgNjIwMDIsIDYyMDExLCA2MjAyMSwgNjIwMzEsIDYyMDM5LCAKLSAgICA2MjA0NywgNjIwNTEsIDYyMDU0LCA2MjA2MSwgNjIwNjcsIDYyMDc4LCA2MjA5MCwgNjIxMDEsIDYyMTEwLCA2MjExNywgCi0gICAgMTI4NiwgMjEzOTEsIDYyMTI3LCAyNTQ0LCA2MjEzMSwgNjIxNDAsIDExMjcsIDE1NDc3LCAzNTYyMiwgNjIxNDgsIDYyMTU2LCAKLSAgICA2MjE3MCwgNjIxODMsIDYyMTg3LCA2MjE5MiwgNjIxOTcsIDYyMjAyLCA2MjIwOCwgNjIyMTQsIDYyMjE5LCA2OTU3LCAKLSAgICA2MjIyNCwgNjIyMzIsIDkzOTMsIDYyMjM3LCA2MjI0MywgMTY4NCwgOTQwNSwgNzIzLCA2MjI1MiwgNjIyNjEsIDYyMjcxLCAKLSAgICAyNDk5MiwgNjIyODAsIDYyMjg2LCAxNTA2MywgNjIyOTIsIDYyMjk2LCAzODgxLCA5NzM2LCA2MjMwMiwgNTgwMDcsIAotICAgIDYyMzA5LCAzOTA1LCAxODQsIDEyNDQ0LCA2MjMxNSwgNjIzMjcsIDYyMzMxLCA2MjMzNywgMjU2ODQsIDYyMzQxLCA5NzI0LCAKLSAgICAyNjg0LCA0LCA2MjM0NiwgNjIzNTYsIDYyMzYyLCA2MjM3MywgNjIzODAsIDYyMzg2LCA2MjM5MiwgNjI0MDAsIDYyNDA3LCAKLSAgICA2MjQxMywgNjI0MjMsIDYyNDMzLCA2MjQ0MywgMTI5OCwgNjI0NTIsIDYyNDU4LCAyNzA3LCAyNzEzLCA2OTU0LCAyMjE4LCAKLSAgICA2MjQ2MiwgNjI0NjYsIDYyNDc1LCA2MjQ4MywgNjI0OTQsIDYyNTAyLCA2MjUxMCwgNjI1MTYsIDYyNTIxLCA2MjUzMiwgCi0gICAgNjI1NDMsIDYyNTUxLCA2MjU1NywgODA2MSwgNjI1NjIsIDYyNTcwLCA2MjU3NCwgNjI1NzgsIDYyNTkwLCAyNjA2MCwgCi0gICAgNjI1OTcsIDYyNjA3LCA2MjYxMywgNjI2MTksIDgxNjMsIDYyNjI5LCA2MjY0MCwgNjI2NTAsIDYyNjU5LCA2MjY2MywgCi0gICAgNjI2NzAsIDExMjksIDI1MzcsIDYyNjgwLCA2MjY4NSwgNjI2OTMsIDYyNzAxLCA2MjcxMiwgNjI3MTksIDYyNzMzLCAKLSAgICAxMjM2OSwgMzc5LCA2Mjc0MywgNjI3NDcsIDYyNzU2LCA2Mjc2NCwgNjI3NzAsIDYyNzg0LCA2Mjc5MSwgNjI3OTcsIAotICAgIDYyODA2LCA2MjgxMywgNjI4MjMsIDYyODMxLCAzNzQwLCAxODksIDYyODM5LCA2Mjg1MCwgNjI4NTQsIDYyODY2LCAyNTg4MiwgCi0gICAgMTU2LCA2Mjg3MiwgNjI4NzcsIDYyODgxLCA2Mjg4OCwgNjI4OTQsIDYyOTAyLCA2MjkwOSwgNzIyNiwgNjI5MTYsIDYyOTI1LCAKLSAgICA2MjkzMywgMzgwNiwgNjI5NDYsIDE1MTA5LCA2Mjk1MCwgMjc1MiwgNDI4LCA2Mjk1NSwgNjI5NjgsIDYyOTczLCAxNzk2LCAKLSAgICA2NDcsIDYyOTc3LCAzODEyLCA2Mjk4NSwgNjI5OTEsIDk2MywgNjMwMDEsIDYzMDEwLCA2MzAxNSwgMTMxNzgsIDEzMTg1LCAKLSAgICA0MjYyMCwgNjMwMTksIDM3NTAsIDExMzUwLCA2MzAyNywgNjMwMzQsIDIxNjE4LCA2MzAzOCwgNjMwNDUsIDYzMDUxLCAKLSAgICA2MzA1NiwgNjMwNjEsIDEzMTk4LCAzNTQsIDYzMDY2LCA2MzA3OCwgNjMwODQsIDYzMDkyLCAyNzY0LCAxNzE2LCA2MzEwMCwgCi0gICAgNjMxMDIsIDYzMTA3LCA2MzExMiwgNjMxMTcsIDYzMTIzLCA2MzEyOCwgNjMxMzMsIDYzMTM4LCA2MzE0MywgNjMxNDgsIAotICAgIDYzMTUzLCA2MzE1OSwgNjMxNjQsIDYzMTY5LCA2MzE3NCwgNjMxNzksIDYzMTg0LCA2MzE4OSwgNjMxOTQsIDYzMTk5LCAKLSAgICA2MzIwNSwgNjMyMTAsIDYzMjE1LCA2MzIyMCwgNjMyMjYsIDYzMjMxLCA2MzIzNywgNjMyNDIsIDYzMjQ3LCA2MzI1MiwgCi0gICAgNjMyNTcsIDYzMjYyLCA2MzI2NywgNjMyNzIsIDYzMjc4LCA2MzI4MywgNjMyODksIDYzMjk0LCA2MzI5OSwgNjMzMDQsIAotICAgIDYzMzA5LCA2MzMxNCwgNjMzMTksIDYzMzI0LCA2MzMyOSwgNjMzMzUsIDYzMzQwLCA2MzM0NSwgNjMzNDksIDYzMzUzLCAKLSAgICA2MzM1OCwgNjMzNjIsIDYzMzY3LCA2MzM3MiwgNjMzNzgsIDYzMzgzLCA2MzM4NywgNjMzOTIsIDYzMzk2LCA2MzM5OSwgCi0gICAgNjM0MDEsIDYzNDA1LCA2MzQwOCwgNjM0MTMsIDYzNDE3LCA2MzQyMSwgNjM0MjUsIDYzNDI5LCA2MzQzOCwgNjM0NDIsIAotICAgIDMwMjg4LCA2MzQ0NSwgMzAyOTMsIDYzNDUyLCA2MzQ1NywgMzAyOTgsIDYzNDY2LCA2MzQ3NSwgMzAzMDQsIDYzNDgwLCAKLSAgICAzMDMwOSwgNjM0ODksIDYzNDk0LCA5OTE0LCA2MzQ5OCwgNjM1MDMsIDYzNTA4LCAzMDMxNCwgNjM1MTIsIDM3NjUwLCAKLSAgICA2MzUxNiwgNjM1MTksIDYzNTIzLCA2NjM4LCA2MzUyOSwgNjM1MzQsIDYzNTM4LCAzNjMzLCAzMDMxOSwgNjM1NDEsIAotICAgIDYzNTQ1LCA2MzU0OCwgNjM1NTMsIDYzNTU3LCA2MzU2MywgNjM1NzEsIDYzNTg0LCA2MzU5MywgNjM1OTksIDYzNjA0LCAKLSAgICA2MzYxMCwgNjM2MTQsIDYzNjIwLCA2MzYyOCwgNjM2MzMsIDYzNjQwLCA2MzY0NiwgNjM2NTQsIDYzNjYzLCA2MzY3MSwgCi0gICAgMzAzMjIsIDYzNjc4LCA2MzY4OCwgNjM2OTcsIDYzNzEwLCA2MzcxNSwgNjM3MjAsIDYzNzI5LCA2MzczNSwgNjM3NDIsIAotICAgIDYzNzUzLCA2Mzc2NSwgNjM3NzIsIDYzNzgxLCA2Mzc5MCwgNjM3OTksIDYzODA2LCA2MzgxMiwgNjM4MTksIDYzODI3LCAKLSAgICA2MzgzNCwgNjM4NDIsIDYzODUxLCA2Mzg1OSwgNjM4NjYsIDYzODc0LCA2Mzg4MywgNjM4OTEsIDYzOTAwLCA2MzkxMCwgCi0gICAgNjM5MTksIDYzOTI3LCA2MzkzNCwgNjM5NDIsIDYzOTUxLCA2Mzk1OSwgNjM5NjgsIDYzOTc4LCA2Mzk4NywgNjM5OTUsIAotICAgIDY0MDA0LCA2NDAxNCwgNjQwMjMsIDY0MDMzLCA2NDA0NCwgNjQwNTQsIDY0MDYzLCA2NDA3MSwgNjQwNzgsIDY0MDg2LCAKLSAgICA2NDA5NSwgNjQxMDMsIDY0MTEyLCA2NDEyMiwgNjQxMzEsIDY0MTM5LCA2NDE0OCwgNjQxNTgsIDY0MTY3LCA2NDE3NywgCi0gICAgNjQxODgsIDY0MTk4LCA2NDIwNywgNjQyMTUsIDY0MjI0LCA2NDIzNCwgNjQyNDMsIDY0MjUzLCA2NDI2NCwgNjQyNzQsIAotICAgIDY0MjgzLCA2NDI5MywgNjQzMDQsIDY0MzE0LCA2NDMyNSwgNjQzMzcsIDY0MzQ4LCA2NDM1OCwgNjQzNjcsIDY0Mzc1LCAKLSAgICA2NDM4MiwgNjQzOTAsIDY0Mzk5LCA2NDQwNywgNjQ0MTYsIDY0NDI2LCA2NDQzNSwgNjQ0NDMsIDY0NDUyLCA2NDQ2MiwgCi0gICAgNjQ0NzEsIDY0NDgxLCA2NDQ5MiwgNjQ1MDIsIDY0NTExLCA2NDUxOSwgNjQ1MjgsIDY0NTM4LCA2NDU0NywgNjQ1NTcsIAotICAgIDY0NTY4LCA2NDU3OCwgNjQ1ODcsIDY0NTk3LCA2NDYwOCwgNjQ2MTgsIDY0NjI5LCA2NDY0MSwgNjQ2NTIsIDY0NjYyLCAKLSAgICA2NDY3MSwgNjQ2NzksIDY0Njg4LCA2NDY5OCwgNjQ3MDcsIDY0NzE3LCA2NDcyOCwgNjQ3MzgsIDY0NzQ3LCA2NDc1NywgCi0gICAgNjQ3NjgsIDY0Nzc4LCA2NDc4OSwgNjQ4MDEsIDY0ODEyLCA2NDgyMiwgNjQ4MzEsIDY0ODQxLCA2NDg1MiwgNjQ4NjIsIAotICAgIDY0ODczLCA2NDg4NSwgNjQ4OTYsIDY0OTA2LCA2NDkxNywgNjQ5MjksIDY0OTQwLCA2NDk1MiwgNjQ5NjUsIDY0OTc3LCAKLSAgICA2NDk4OCwgNjQ5OTgsIDY1MDA3LCA2NTAxNSwgNjUwMjIsIDY1MDMwLCA2NTAzOSwgNjUwNDcsIDY1MDU2LCA2NTA2NiwgCi0gICAgNjUwNzUsIDY1MDgzLCA2NTA5MiwgNjUxMDIsIDY1MTExLCA2NTEyMSwgNjUxMzIsIDY1MTQyLCA2NTE1MSwgNjUxNTksIAotICAgIDY1MTY4LCA2NTE3OCwgNjUxODcsIDY1MTk3LCA2NTIwOCwgNjUyMTgsIDY1MjI3LCA2NTIzNywgNjUyNDgsIDY1MjU4LCAKLSAgICA2NTI2OSwgNjUyODEsIDY1MjkyLCA2NTMwMiwgNjUzMTEsIDY1MzE5LCA2NTMyOCwgNjUzMzgsIDY1MzQ3LCA2NTM1NywgCi0gICAgNjUzNjgsIDY1Mzc4LCA2NTM4NywgNjUzOTcsIDY1NDA4LCA2NTQxOCwgNjU0MjksIDY1NDQxLCA2NTQ1MiwgNjU0NjIsIAotICAgIDY1NDcxLCA2NTQ4MSwgNjU0OTIsIDY1NTAyLCA2NTUxMywgNjU1MjUsIDY1NTM2LCA2NTU0NiwgNjU1NTcsIDY1NTY5LCAKLSAgICA2NTU4MCwgNjU1OTIsIDY1NjA1LCA2NTYxNywgNjU2MjgsIDY1NjM4LCA2NTY0NywgNjU2NTUsIDY1NjY0LCA2NTY3NCwgCi0gICAgNjU2ODMsIDY1NjkzLCA2NTcwNCwgNjU3MTQsIDY1NzIzLCA2NTczMywgNjU3NDQsIDY1NzU0LCA2NTc2NSwgNjU3NzcsIAotICAgIDY1Nzg4LCA2NTc5OCwgNjU4MDcsIDY1ODE3LCA2NTgyOCwgNjU4MzgsIDY1ODQ5LCA2NTg2MSwgNjU4NzIsIDY1ODgyLCAKLSAgICA2NTg5MywgNjU5MDUsIDY1OTE2LCA2NTkyOCwgNjU5NDEsIDY1OTUzLCA2NTk2NCwgNjU5NzQsIDY1OTgzLCA2NTk5MywgCi0gICAgNjYwMDQsIDY2MDE0LCA2NjAyNSwgNjYwMzcsIDY2MDQ4LCA2NjA1OCwgNjYwNjksIDY2MDgxLCA2NjA5MiwgNjYxMDQsIAotICAgIDY2MTE3LCA2NjEyOSwgNjYxNDAsIDY2MTUwLCA2NjE2MSwgNjYxNzMsIDY2MTg0LCA2NjE5NiwgNjYyMDksIDY2MjIxLCAKLSAgICA2NjIzMiwgNjYyNDQsIDY2MjU3LCA2NjI2OSwgNjYyODIsIDY2Mjk2LCA2NjMwOSwgNjYzMjEsIDY2MzMyLCA2NjM0MiwgCi0gICAgNjYzNTEsIDY2MzU5LCA2NjM2NiwgNjYzNzEsIDY0ODksIDY2Mzc4LCAzMDMzMiwgNjYzODMsIDY2Mzg4LCAzMDMzNywgCi0gICAgNjYzOTQsIDE5MTAwLCAzMDM0MiwgNjYzOTksIDY2NDA1LCA2NjQxMywgNjY0MTksIDY2NDI1LCA2NjQzMiwgNjY0MzksIAotICAgIDY2NDQ0LCA2NjQ0OCwgNjY0NTEsIDY2NDU1LCA2NjQ2NCwgNjY0NzAsIDY2NDgyLCA2NjQ5MywgNjY0OTcsIDMwMTksIAotICAgIDY0NjQsIDY2NTAyLCA2NjUwNSwgNjY1MDcsIDY2NTExLCA2NjUxNSwgNjY1MTksIDIzOTI3LCA2NjUyNCwgNjY1MjgsIAotICAgIDY2NTMxLCA2NjUzNiwgNjY1NDAsIDY2NTQ3LCA2NjU1MywgNjY1NTcsIDY2NTYxLCA2NjU2NCwgMzAzNTksIDY2NTY5LCAKLSAgICA2NjU3NiwgNjY1ODUsIDY2NTkzLCA2NjYwNCwgNjY2MTIsIDY2NjIwLCA2NjYyNywgNjY2MzQsIDY2NjQwLCA2NjY1MSwgCi0gICAgMzAzNjQsIDY2NjU2LCA2NjY2NywgNjY2NzksIDY2Njg3LCA2NjY5OCwgNjY3MDcsIDY2NzE4LCA2NjcyMywgNjY3MzEsIAotICAgIDI1MTAsIDY2NzM2LCAzMjAwMiwgNjY3NDksIDY2NzUzLCA2Njc2NSwgNjY3NzMsIDY2Nzc4LCA2Njc4NiwgMTU2NjQsIAotICAgIDY2Nzk3LCA2NjgwMywgNjY4MTAsIDY2ODE4LCA2NjgyNCwgMzAzNzQsIDY2ODI5LCAzODMxLCA1NTYwNSwgNjY4MzYsIAotICAgIDY2ODM5LCA2Njg0NywgNjY4NjAsIDY2ODczLCA2Njg4NiwgNjY4OTksIDY2OTA2LCA2NjkxNywgNjY5MjYsIDM5MTA1LCAKLSAgICAzOTExMCwgNjY5MzEsIDY2OTM1LCA2Njk0MywgNjY5NTAsIDY2OTU5LCA2Njk2NywgNjY5NzMsIDY2OTgyLCA2Njk5MCwgCi0gICAgNjY5OTgsIDY3MDAyLCA2NzAxMSwgNjcwMjAsIDY3MDMwLCA2NzA0MywgNjcwNTYsIDY3MDY2LCAzMDM3OSwgNjcwNzIsIAotICAgIDY3MDc5LCA2NzA4NSwgMzAzODUsIDY3MDkwLCA2NzA5MywgNjcwOTcsIDY3MTA1LCA2NzExNCwgMzg4NDMsIDY3MTIyLCAKLSAgICA2NzEzMSwgNjcxMzksIDY3MTQ2LCA2NzE1NCwgNjcxNjQsIDY3MTczLCA2NzE4MiwgNjcxOTEsIDY3MTk5LCA2NzIxMCwgCi0gICAgNjcyMjAsIDc3MzMsIDE5NzE1LCA2NzIyOSwgNjcyMzQsIDY3MjM5LCA2NzI0MywgNjcyNDcsIDY3MjUyLCA2NzI1OCwgCi0gICAgNjcyNjMsIDY3MjY4LCA2NzI3NCwgNjcyNzksIDY3Mjg0LCAxOTY4MCwgNjcyODksIDY3Mjk2LCA2NzMwNCwgNjczMTIsIAotICAgIDY3MzE3LCA2NzMyNCwgNjczMzEsIDY3MzM1LCA2NzMzOSwgNjczNDcsIDY3MzU1LCAzMDQwMiwgNjczNjEsIDY3MzY3LCAKLSAgICA2NzM3OSwgNjczODUsIDY3Mzg5LCA2NzM5NiwgNjc0MDEsIDY3NDEyLCA2NzQyMiwgNjc0MzIsIDY3NDQ0LCA2NzQ1MCwgCi0gICAgNjc0NjAsIDY3NDcwLCAzMDQyOSwgNjc0NzksIDY3NDg4LCA2NzQ5NCwgNjc1MDYsIDY3NTE3LCA2NzUyNCwgNjc1MjksIAotICAgIDY3NTMzLCA2NzU0MSwgNjc1NDcsIDY3NTUyLCA2NzU1NywgNjc1NjQsIDY3NTcyLCA2NzU4NCwgNjc1OTQsIDY3NjAzLCAKLSAgICA2NzYxMiwgNjc2MTksIDMxODY2LCAyMTkwNiwgNjc2MjUsIDY3NjMwLCA2NzYzNCwgNjc2MzgsIDY3NjQzLCA2NzY0OSwgCi0gICAgNjc2NjAsIDY3NjczLCA2NzY3OCwgNjc2ODUsIDMwNDM0LCA2NzY5MCwgNjc3MDIsIDY3NzExLCA2NzcyMSwgNjc3MzIsIAotICAgIDY3NzQ1LCA2Nzc1MiwgNjc3NjEsIDY3NzcwLCA2Nzc3OCwgNjc3ODMsIDY3Nzg5LCAxNDY1LCA2Nzc5NCwgNjc3OTksIAotICAgIDY3ODA0LCA2NzgwOSwgNjc4MTUsIDY3ODIwLCA2NzgyNSwgNjc4MzEsIDY3ODM3LCA2Nzg0MiwgNjc4NDYsIDY3ODUxLCAKLSAgICA2Nzg1NiwgNjc4NjEsIDU2MTExLCA2Nzg2NiwgNjc4NzEsIDY3ODc2LCA2Nzg4MSwgNjc4ODcsIDY3ODkzLCA2Nzg5OCwgCi0gICAgNjc5MDIsIDY3OTA3LCA2NzkxMiwgNjc5MTcsIDY3OTIzLCA2NzkyOCwgNjc5MzQsIDY3OTM5LCA2Nzk0NCwgNjc5NDksIAotICAgIDY3OTU0LCA2Nzk1OCwgNjc5NjQsIDY3OTY5LCA2Nzk3OCwgNjc5ODMsIDY3OTg4LCA2Nzk5MywgNjc5OTgsIDY4MDAyLCAKLSAgICA2ODAwOSwgNjgwMTUsIDE1MzI2LCAxNTMzMywgNDI4NzUsIDY4MDIwLCA2Nzk3MCwgNjgwMjIsIDY4MDMyLCAzMDQ0MywgCi0gICAgNjgwMzUsIDY4MDQ0LCA2ODA1MCwgNDYxNywgMzA0NDgsIDY4MDU0LCA2ODA2MCwgNjgwNjYsIDY4MDcxLCA2ODA3NSwgCi0gICAgNjgwODIsIDY4MDg3LCA2ODA5NywgNjgxMDYsIDY4MTEwLCA2ODExNiwgNjgxMjIsIDY4MTI4LCA2ODEzMiwgNjgxNDAsIAotICAgIDY4MTQ3LCA2ODE1NSwgNjgxNjMsIDMwNDUzLCA2ODE3MCwgNjgxNzMsIDY4MTgwLCA2ODE4NiwgNjgxOTEsIDY4MTk1LCAKLSAgICA2ODIwMSwgNjgyMDgsIDY4MjEzLCA2ODIxNywgNjgyMjYsIDY4MjM0LCA2ODI0MCwgNjgyNDUsIDMwNDU4LCA2ODI1MiwgCi0gICAgNjgyNTksIDY4MjY1LCA2ODI3MCwgNjgyNzYsIDY4MjgzLCA2ODI4OSwgMTk0NTMsIDI1NDA4LCA2ODI5NSwgNjgzMDAsIAotICAgIDY4MzA2LCA2ODMxOCwgNjgwMDMsIDY4MDEwLCA2ODMyOCwgNjgzMzMsIDY4MzQwLCA2ODM0NywgNjgzNTMsIDY4MzY0LCAKLSAgICA2ODM2OSwgNzUwMiwgNjgzNzcsIDY4MzgwLCA2ODM4NiwgNjgzOTAsIDY4Mzk0LCA2ODM5NywgNjg0MDMsIDMwMjA3LCAKLSAgICA0NjU2LCA5MTMsIDExNzMxLCA2ODQxMCwgNjg0MTYsIDY4NDIyLCA2ODQyOCwgNjg0MzQsIDY4NDQwLCA2ODQ0NiwgNjg0NTIsIAotICAgIDY4NDU4LCA2ODQ2MywgNjg0NjgsIDY4NDczLCA2ODQ3OCwgNjg0ODMsIDY4NDg4LCA2ODQ5MywgNjg0OTgsIDY4NTAzLCAKLSAgICA2ODUwOCwgNjg1MTMsIDY4NTE4LCA2ODUyMywgNjg1MjksIDY4NTM0LCA2ODUzOSwgNjg1NDUsIDY4NTUwLCA2ODU1NSwgCi0gICAgNjg1NjEsIDY4NTY3LCA2ODU3MywgNjg1NzksIDY4NTg1LCA2ODU5MSwgNjg1OTcsIDY4NjAzLCA2ODYwOSwgNjg2MTQsIAotICAgIDY4NjE5LCA2ODYyNSwgNjg2MzAsIDY4NjM1LCA2ODY0MSwgNjg2NDYsIDY4NjUxLCA2ODY1NiwgNjg2NjEsIDY4NjY2LCAKLSAgICA2ODY3MSwgNjg2NzYsIDY4NjgxLCA2ODY4NiwgNjg2OTEsIDY4Njk2LCA2ODcwMSwgNjg3MDcsIDY4NzEyLCA2ODcxNywgCi0gICAgNjg3MjIsIDY4NzI4LCA2ODczMywgNjg3MzgsIDY4NzQzLCA2ODc0OCwgNjg3NTQsIDY4NzU5LCA2ODc2NCwgNjg3NjksIAotICAgIDY4Nzc0LCA2ODc3OSwgNjg3ODQsIDY4Nzg5LCA2ODc5NCwgNjg3OTksIDY4ODA0LCA2ODgwOSwgNjg4MTQsIDY4ODE5LCAKLSAgICA2ODgyNCwgNjg4MjksIDY4ODM0LCA2ODgzOSwgNjg4NDQsIDY4ODQ5LCA2ODg1NSwgNjg4NjAsIDY4ODY1LCA2ODg3MCwgCi0gICAgNjg4NzUsIDY4ODgwLCA2ODg4NSwgNjg4OTAsIDE4MjcsIDE0MywgNjg4OTUsIDY4ODk5LCA2ODkwMywgNjg5MDgsIDY4OTE2LCAKLSAgICA2ODkyMCwgNjg5MjcsIDY4OTM1LCA2ODkzOSwgNjg5NTIsIDY4OTYwLCA2ODk2NCwgNjg5NjcsIDY4OTcyLCA2ODk3NiwgCi0gICAgNjg5ODEsIDY4OTg1LCA2ODk5MywgNjg5OTcsIDE5MTA4LCA2OTAwMiwgNTgyNzAsIDY5MDA2LCA2OTAwOSwgNjkwMTcsIAotICAgIDY5MDI1LCA2OTAzMywgNjkwMzgsIDY5MDQ1LCA2OTA1MSwgNjkwNTcsIDY5MDYyLCA2OTA2NywgNjkwNzUsIDYyMTc1LCAKLSAgICA2OTA4MiwgNjkwODcsIDY5MDkyLCA2OTA5NiwgOTk4MSwgNjkxMDAsIDY5MTA1LCA2OTExMCwgNjkxMTQsIDY5MTE3LCAKLSAgICA2OTEyMywgNjkxMjcsIDY5MTM3LCA2OTE0NiwgNjkxNDksIDY5MTU2LCA2OTE2OSwgNjkxNzUsIDY5MTgzLCA2OTE5NCwgCi0gICAgNjkyMDUsIDY5MjE2LCA2OTIyNywgNjkyMzYsIDY5MjQyLCA2OTI1MSwgNjkyNTksIDY5MjY5LCA2OTI4MiwgNjkyODksIAotICAgIDY5MzAwLCA2OTMwNiwgNjkzMTEsIDY5MzE2LCA2OTMyMiwgNjkzMjgsIDY5MzM4LCA2OTM0NywgNjc2OTIsIDY5MzU1LCAKLSAgICA2OTM2MSwgNjkzNjksIDY5Mzc1LCA2OTM4MywgNjkzODcsIDY5MzkxLCA2OTM5NCwgNjk0MDAsIDY5NDA2LCA2OTQxNCwgCi0gICAgNjk0MjYsIDY5NDM4LCA2OTQ0NSwgNjk0NDksIDY5NDYwLCA2OTQ2OCwgNjk0NzUsIDY5NDg3LCA2OTQ5NSwgNjk1MDMsIAotICAgIDY5NTEwLCA2OTUxNiwgNjk1MjYsIDY5NTM1LCA2OTU0MCwgNjk1NTAsIDY5NTU5LCAzODE4NCwgNjk1NjYsIDY5NTcwLCAKLSAgICA2OTU3NSwgNjk1ODMsIDY5NTkwLCA2OTU5NiwgNjk2MDAsIDY5NjEwLCA2OTYyMSwgNjk2MjksIDY5NjM2LCA2OTY0OCwgCi0gICAgNjk2NjAsIDY5NjY5LCA2NjczOSwgNjk2NzYsIDY5Njg3LCA2OTcwMSwgNjk3MDksIDY5NzE5LCA2OTcyNiwgNjk3MzQsIAotICAgIDY5NzQ2LCA2OTc1NSwgNjk3NjMsIDY5NzczLCA2OTc4MiwgNjk3OTMsIDY5ODA1LCA2OTgxNCwgNjk4MjQsIDY5ODMxLCAKLSAgICA2OTg0MCwgNjk4NTUsIDY5ODY1LCA2OTg3NCwgNjk4ODIsIDY5ODk1LCA2OTkxMCwgNjk5MTQsIDY5OTIzLCA2OTkzNSwgCi0gICAgNjk5NDYsIDY5OTU3LCA2OTk2OCwgNjk5NzgsIDY5OTg5LCA2OTk5NywgNzAwMDMsIDcwMDEzLCA3MDAxOSwgMjY5MjMsIAotICAgIDcwMDI0LCA3MDAzMCwgNzAwMzUsIDcwMDQyLCA4MDc1LCAxNTY4NCwgNzAwNDgsIDcwMDU3LCA3MDA2MiwgNzAwNjYsIAotICAgIDcwMDczLCA3MDA3OSwgNzAwODQsIDcwMDkyLCA3MDEwMCwgNzAxMDQsIDcwMTA3LCA3MDExMCwgNzAxMTIsIDcwMTE5LCAKLSAgICA3MDEyNSwgNzAxMzYsIDcwMTQxLCA3MDE0NSwgNzAxNTIsIDcwMTU4LCA3MDE2MywgNzAxNzEsIDYyNjQyLCA2MjY1MiwgCi0gICAgNzAxNzcsIDcwMTg0LCA3MDE5NCwgODk3MSwgNzAyMDEsIDcwMjA2LCAyNzExMywgNzAyMTUsIDcwMjIwLCA3MDIyNywgCi0gICAgNzAyMzcsIDcwMjQ1LCA3MDI1MywgNzAyNjIsIDcwMjY4LCA3MDI3NCwgNzAyODEsIDcwMjg4LCA3MDI5MywgNzAyOTcsIAotICAgIDcwMzA1LCA3MDMxMCwgNzAzMTUsIDcwMzIzLCA3MDMzMCwgNzAzMzUsIDcwMzQxLCA3MDM0NCwgNzAzNDgsIDcwMzU3LCAKLSAgICA2ODk0NywgNzAzNjYsIDcwMzcwLCA3MDM3NiwgNzAzODcsIDcwMzk3LCAxNTY5MywgNzA0MDgsIDcwNDE2LCAxNTcwNSwgCi0gICAgNzA0MjMsIDcwNDI3LCA3MDQzNiwgMjUyOTQsIDcwNDQzLCA3MDQ0NywgNzA0NTIsIDcwNDY5LCA3MDQ4MSwgODkyNSwgCi0gICAgNzA0OTMsIDcwNDk4LCA3MDUwMywgNzA1MDgsIDcwNTEyLCA3MDUxNSwgNzA1MjAsIDcwNTI1LCA3MDUzMSwgNzA1MzYsIAotICAgIDQzMjQsIDE5MTgxLCA3MDU0MSwgNzA1NDYsIDcwNTUyLCA3MDU1OSwgNzA1NjQsIDcwNTY5LCA3MDU3NSwgNzA1ODEsIAotICAgIDcwNTg3LCA3MDU5MiwgNzA1OTgsIDcwNjAyLCA3MDYxNiwgNzA2MjQsIDcwNjMyLCA3MDYzOCwgNzA2NDMsIDcwNjUwLCAKLSAgICA3MDY2MCwgNzA2NjksIDcwNjc0LCA3MDY3OSwgNzA2ODcsIDcwNjkyLCA3MDY5OCwgNzA3MDMsIDcwNzEyLCA1NzE1NCwgCi0gICAgNzA3MTcsIDcwNzIwLCA3MDczOCwgNzA3NTcsIDcwNzcwLCA3MDc4NCwgNzA4MDAsIDcwODA3LCA3MDgxNCwgNzA4MjAsIAotICAgIDcwODI3LCA3MDgzMiwgNzA4MzgsIDcwODQ0LCA3MDg1MiwgNzA4NTgsIDcwODYzLCA3MDg2OCwgNzA4ODQsIDg5MzgsIAotICAgIDcwODk4LCA3MDkwNSwgNzA5MTMsIDcwOTE5LCA3MDkyMywgNzA5MjYsIDcwOTMxLCA3MDkzNiwgNzA5NDMsIDcwOTQ4LCAKLSAgICA3MDk1NywgNzA5NjIsIDcwOTY4LCA3MDk3NywgNzA5ODYsIDcwOTkxLCA3MDk5NSwgNzEwMDMsIDEwMDA1LCA3MTAxMiwgCi0gICAgNzEwMjAsIDcxMDI1LCA3MTAzMSwgMTAwMTYsIDcxMDM2LCA3MTAzOSwgNzEwNDQsIDcxMDU0LCA3MTA2MywgNzEwNjgsIAotICAgIDcxMDc0LCA3MTA3OSwgNzEwODcsIDcxMDk0LCA3MTEwNSwgNzExMTUsIDcxMTIwLCA2MjEwMywgNzExMjUsIDcxMTMxLCAKLSAgICA3MTEzNiwgNzExNDMsIDcxMTUyLCA3MTE2MCwgNzExNjYsIDcxMTczLCA3MTE3OSwgNzExODMsIDE1MTYxLCAyOTkzLCAKLSAgICA3MTE4OCwgNzExOTIsIDcxMTk4LCA3MTIwNywgNzEyMTMsIDcxMjIwLCA3MTIyNCwgNzEyNDUsIDcxMjY3LCA3MTI4MywgCi0gICAgNzEzMDAsIDcxMzE5LCA3MTMyOCwgNzEzMzgsIDcxMzQ1LCA3MTM1MiwgMjUxODEsIDcxMzU4LCA3MTM2MiwgNzEzNzAsIAotICAgIDcxMzgyLCA3MTM4OCwgNzEzOTYsIDcxNDAwLCA3MTQwOCwgNzE0MTUsIDcxNDE5LCA3MTQyNSwgNzE0MzEsIDcxNDM2LCAKLSAgICAzNDk4LCAzOTMwNSwgNzE0NDIsIDcxNDQ2LCA3MTQ1MCwgNzE0NTQsIDcxNDU5LCA3MTQ2NCwgNzE0NjksIDcxNDc1LCAKLSAgICA3MTQ4MSwgNzE0ODcsIDcxNDk0LCA3MTUwMCwgNzE1MDcsIDcxNTEzLCA3MTUxOSwgNzE1MjQsIDcxNTMwLCA3MTUzNSwgCi0gICAgNzE1NDAsIDcxNTQ0LCA3MTU0OSwgMzkzMjAsIDcxNTUzLCA3MTU1OCwgNzE1NjYsIDcxNTcwLCA3MTU3NSwgNzE1ODIsIAotICAgIDcxNTkxLCA3MTU5NywgNzE2MDQsIDcxNjA4LCA3MTYxMSwgNzE2MTgsIDcxNjI3LCA3MTYzMiwgNzE2MzYsIDcxNjQ0LCAKLSAgICA3MTY1MywgNzE2NTcsIDcxNjY1LCA3MTY3MSwgNzE2NzYsIDcxNjgxLCA3MTY4NywgNzE2OTMsIDcxNjk4LCA3MTcwMiwgCi0gICAgNzE3MDgsIDcxNzEzLCA3MTcxNywgNzE3MjEsIDcxNzI0LCA3MTcyOSwgNzE3MzcsIDcxNzQ3LCA3MTc1MiwgMzY4NjUsIAotICAgIDcxNzYwLCA3MTc3MiwgNzE3NzYsIDcxNzgyLCA3MTc5NCwgNzE4MDUsIDcxODEyLCA3MTgxOCwgNzE4MjUsIDcxODM3LCAKLSAgICA3MTg0NCwgNzE4NTAsIDE5MjU1LCA3MTg1NCwgNzE4NjAsIDcxODY3LCA3MTg3MywgNzE4NzksIDcxODg0LCA3MTg4OSwgCi0gICAgNzE4OTQsIDcxOTAzLCA1NDkxLCA3MTkwOCwgMTQ2MjcsIDcxOTE0LCA3MTkxOCwgNzE5MjYsIDcxOTM1LCA3MTkzOSwgCi0gICAgNzE5NDYsIDcxOTU1LCA3MTk2OCwgNzE5NzQsIDcxNTQ1LCAyNzk2MiwgNzE5NzksIDcxOTgxLCA3MTk4NiwgNzE5OTEsIAotICAgIDcxOTk2LCA3MjAwMSwgNzIwMDYsIDcyMDExLCA3MjAxNiwgNzIwMjEsIDcyMDI2LCA3MjAzMSwgNzIwMzYsIDcyMDQxLCAKLSAgICA3MjA0NiwgNzIwNTEsIDcyMDU3LCA3MjA2MiwgNzIwNjcsIDcyMDcyLCA3MjA3NywgNzIwODIsIDcyMDg3LCA3MjA5MiwgCi0gICAgNzIwOTcsIDcyMTAzLCA3MjEwOSwgNzIxMTUsIDcyMTIwLCA3MjEyNSwgNzIxMzcsIDcyMTQyLCAxODMzLCA2NywgNzIxNDcsIAotICAgIDcyMTUyLCAzMDQ4NSwgMzA0OTAsIDMwNDk1LCAzMDUwMSwgMzA1MDYsIDcyMTU2LCAzMDUxMSwgMjAyMjYsIDcyMTc4LCAKLSAgICA3MjE4MiwgNzIxODYsIDcyMTkxLCA3MjE5NSwgMzA1MTUsIDcyMTk5LCA3MjIwNywgMzA1MjAsIDcyMjE0LCA3MjIxNywgCi0gICAgNzIyMjIsIDcyMjI2LCA3OTEwLCA3MjIzNSwgMzA1MjUsIDIwMDkyLCA3MjIzOCwgNzIyNDIsIDEzOTYsIDcyMjQ3LCAKLSAgICAzMDUzNiwgNzIyNTAsIDcyMjU1LCAyMzcyMCwgMjM3MzAsIDMyOTQwLCA3MjI2MCwgNzIyNjUsIDcyMjcwLCA3MjI3NSwgCi0gICAgNzIyODEsIDcyMjg2LCA3MjI5NSwgNzIzMDAsIDcyMzA3LCA3MjMxMywgNzIzMTgsIDcyMzIzLCA3MjMyOCwgNzIzMzgsIAotICAgIDcyMzQ3LCA3MjM1MiwgNzIzNjAsIDcyMzY0LCA3MjM3MiwgMzAzNTAsIDExODgsIDcyMzc5LCA3MjM4NSwgNzIzOTAsIAotICAgIDcyMzk1LCA3MjQwMCwgNzI0MDYsIDcyNDExLCA3MjQxOCwgNzI0MjQsIDcyNDI5LCA3MjQzNywgNzI0NDcsIDcyNDU3LCAKLSAgICA3MjQ2MywgNzI0NjgsIDcyNDc0LCAxNTcxNSwgNzI0ODEsIDMzNzQ1LCA3MjQ5NCwgNzI0OTksIDcyNTA1LCA3MjUxOCwgCi0gICAgNzI1MjQsIDcyNTI4LCA3MjUzNywgNzI1NDQsIDcyNTUwLCA3MjU1OCwgNzI1NjcsIDcyNTc0LCA3MjU4MCwgNzI1ODMsIAotICAgIDIzODYxLCA3MjU4NywgNzI1OTQsIDcyNjAwLCA3MjYwOCwgNzI2MTMsIDIyMDM1LCA3MjYxOSwgNzI2MjIsIDcyNjMwLCAKLSAgICA3MjYzOCwgNzI2NTIsIDcyNjU5LCA3MjY2NSwgNzI2NzIsIDcyNjc4LCAzMDU1MCwgNzI2ODIsIDcyNjg5LCA3MjY5NywgCi0gICAgNzI3MDUsIDMwNTU1LCA3MjcxMSwgNzI3MTcsIDcyNzIyLCA3MjczMiwgNzI3MzgsIDcyNzQ3LCAyODY3NywgMzI0MTUsIAotICAgIDcyNzU1LCA3Mjc2MCwgNzI3NjUsIDcyNzcwLCA3Mjc3NCwgMTMxNzAsIDM2ODc4LCA3Mjc3OSwgNzI3ODQsIDMwNTYwLCAKLSAgICA1OTU1NCwgNzI3ODgsIDcyNzkzLCA3Mjc5NywgNzI4MDYsIDcyODE0LCA3MjgyMCwgNzI4MjUsIDcyODMxLCA3MjgzOCwgCi0gICAgNzI4NDQsIDcyODQ5LCA3Mjg1NCwgNzI4NjMsIDcyODc1LCA3Mjg5MCwgMzA4MDEsIDcyODk2LCAxNDc0NiwgMzA1NjQsIAotICAgIDcyOTAwLCA3MjkwNywgMjIxNDUsIDcyOTEzLCA3MjkyMCwgNzI5MjksIDcyOTM2LCA3Mjk0NSwgNzI5NTEsIDcyOTU2LCAKLSAgICA3Mjk2NCwgNzI5NzAsIDMwNTc0LCA3Mjk3NSwgNzI5ODQsIDcxODAwLCA3Mjk5MywgNzMwMDAsIDczMDA2LCA3MzAxMiwgCi0gICAgNzMwMjIsIDczMDMwLCA3MzAzNywgNzMwNDEsIDMwNTc5LCA3MzA0NCwgMzA1ODUsIDMwNTkxLCA3MzA0OSwgNzMwNTcsIAotICAgIDczMDY3LCA3MzA3NiwgNzMwODQsIDczMDkxLCA3MzEwMSwgMzA1OTYsIDczMTA1LCA3MzEwNywgNzMxMTEsIDczMTE2LCAKLSAgICA3MzEyMCwgNzMxMjQsIDczMTMwLCA3MzEzNSwgNzMxMzksIDczMTUwLCA3MzE1NSwgMjk5OCwgNzMxNTksIDczMTY2LCAKLSAgICA3MzE3MCwgNzMxNzksIDczMTg3LCA3MzE5NCwgNzMxOTksIDczMjA0LCA1OTYwMCwgNzMyMDgsIDczMjExLCA3MzIxNywgCi0gICAgNzMyMjUsIDczMjMxLCA3MzIzNSwgNzMyNDAsIDczMjQ3LCA3MzI1MiwgNzMyNTgsIDMyNDQ2LCA3MzI2MywgNzMyNjYsIAotICAgIDczMjcxLCA3MzI3NSwgNzMyODAsIDczMjg1LCA3MzI4OSwgNzMyOTcsIDIzNzM5LCAyMzc0OCwgNzMzMDMsIDczMzA5LCAKLSAgICA3MzMxNSwgNzMzMjAsIDczMzI0LCA3MzMyNywgNzMzMzcsIDczMzQ2LCA3MzM1MSwgNzMzNTcsIDczMzY0LCA3MzM3MCwgCi0gICAgNzMzNzQsIDczMzgyLCA3MzM4NywgMzI0NTIsIDczMzkxLCA3MzM5OSwgNzM0MDUsIDczNDEyLCA3MzQxNywgNzM0MjEsIAotICAgIDczNDI2LCA1NTc5MSwgMzI0NTgsIDczNDMyLCA3MzQzNywgNzM0NDEsIDczNDQ2LCA3MzQ1MSwgNzM0NTYsIDczNDYwLCAKLSAgICA3MzQ2NSwgNzM0NzAsIDczNDc2LCA3MzQ4MSwgNzM0ODYsIDczNDkyLCA3MzQ5OCwgNzM1MDMsIDczNTA3LCA3MzUxMiwgCi0gICAgNzM1MTcsIDczNTIyLCA3MzUyNiwgMjIxNDQsIDczNTMxLCA3MzUzNiwgNzM1NDIsIDczNTQ4LCA3MzU1NCwgNzM1NTksIAotICAgIDczNTYzLCA3MzU2OCwgNzM1NzMsIDczNTc4LCA3MzU4MiwgNzM1ODcsIDczNTkyLCA3MzU5NywgNzM2MDIsIDczNjA2LCAKLSAgICAzMDYwMCwgNzM2MTQsIDczNjE4LCA3MzYyNiwgNzM2MzQsIDczNjQ1LCA3MzY1MCwgNzM2NTQsIDIwNDk3LCA3MzY1OSwgCi0gICAgNzM2NjUsIDczNjc1LCA3MzY4MiwgNzM2ODcsIDczNjk2LCA3MzcwMSwgNzM3MDUsIDczNzEwLCA3MzcxOCwgNzM3MjYsIAotICAgIDczNzMzLCA2MjMyMSwgNzM3MzksIDczNzQ3LCA3Mzc1NCwgNzM3NjUsIDczNzcxLCA3Mzc3NywgMzA2MTAsIDczNzgwLCAKLSAgICA3Mzc4NywgNzM3OTUsIDczODAwLCAzNzA2OSwgNzM4MDQsIDczODA5LCA3MzgxNiwgNzM4MjEsIDczODksIDczODI1LCAKLSAgICA3MzgzMywgNzM4NDAsIDczODQ3LCA3Mzg1MywgNzM4NjcsIDYwNjI5LCA3Mzg3NSwgNzM4ODEsIDczODg1LCA3Mzg4OCwgCi0gICAgNzM4OTYsIDczOTAzLCA3MzkwOCwgNzM5MjEsIDczOTI4LCA3MzkzNSwgNzM5NDAsIDU4MTc0LCA3Mzk0NSwgNzM5NDgsIAotICAgIDczOTU1LCA3Mzk2MSwgNzM5NjUsIDczOTczLCA3Mzk4MywgNzM5OTMsIDc0MDAyLCA3NDAxMCwgNzQwMjEsIDc0MDI2LCAKLSAgICA3NDAzMCwgNzQwMzUsIDc0MDM5LCAzMzA3MSwgMTk1MDksIDMzMDgwLCA3NDA0NywgNzQwNTIsIDc0MDU3LCA3NDA2MiwgCi0gICAgNzQwNjcsIDc0MDcyLCA3NDA3NywgNzQwODEsIDc0MDg2LCA3NDA5MSwgNzQwOTYsIDc0MTAxLCA3NDEwNiwgNzQxMTEsIAotICAgIDc0MTE1LCA3NDEyMCwgNzQxMjUsIDc0MTI5LCA3NDEzMywgNzQxMzcsIDc0MTQxLCA3NDE0NiwgNzQxNTEsIDc0MTU1LCAKLSAgICA3NDE2MCwgNzQxNjQsIDc0MTY4LCA3NDE3MywgNzQxNzgsIDc0MTgzLCA3NDE4OCwgNzQxOTIsIDc0MTk3LCA3NDIwMiwgCi0gICAgNzQyMDYsIDc0MjExLCA3NDIxNiwgNzQyMjEsIDc0MjI2LCA3NDIzMSwgNzQyMzYsIDc0MjQxLCA3NDI0NiwgNzQyNTEsIAotICAgIDc0MjU2LCA3NDI2MSwgNzQyNjYsIDc0MjcxLCA3NDI3NiwgNzQyODEsIDc0Mjg2LCA3NDI5MSwgNzQyOTYsIDc0MzAxLCAKLSAgICA3NDMwNiwgNzQzMTAsIDc0MzE1LCA3NDMyMCwgNzQzMjUsIDc0MzMwLCA3NDMzNSwgNzQzNDAsIDc0MzQ1LCA3NDM1MCwgCi0gICAgNzQzNTUsIDc0MzYwLCA3NDM2NSwgNzQzNjksIDc0Mzc0LCA3NDM3OCwgNzQzODMsIDc0Mzg4LCA3NDM5MywgNzQzOTgsIAotICAgIDc0NDAzLCA3NDQwOCwgNzQ0MTMsIDc0NDE4LCA3NDQyMywgNzQ0MjcsIDc0NDMxLCA3NDQzNiwgNzQ0NDEsIDc0NDQ1LCAKLSAgICA3NDQ1MCwgNzQ0NTUsIDc0NDU5LCA3NDQ2NCwgNzQ0NjksIDc0NDc0LCA3NDQ3OSwgNzQ0ODMsIDc0NDg4LCA3NDQ5MywgCi0gICAgNzQ0OTcsIDc0NTAyLCA3NDUwNiwgNzQ1MTAsIDc0NTE0LCA3NDUxOCwgNzQ1MjMsIDc0NTI3LCA3NDUzMSwgNzQ1MzUsIAotICAgIDc0NTM5LCA3NDU0MywgNzQ1NDcsIDc0NTUxLCA3NDU1NSwgNzQ1NTksIDc0NTY0LCA3NDU2OSwgNzQ1NzQsIDc0NTc5LCAKLSAgICA3NDU4NCwgNzQ1ODksIDc0NTk0LCA3NDU5OSwgNzQ2MDQsIDc0NjA5LCA3NDYxMywgNzQ2MTcsIDc0NjIxLCA3NDYyNSwgCi0gICAgNzQ2MjksIDc0NjMzLCA3NDYzOCwgNzQ2NDIsIDc0NjQ3LCA3NDY1MSwgNzQ2NTYsIDc0NjYxLCA3NDY2NSwgNzQ2NjksIAotICAgIDc0Njc0LCA3NDY3OCwgNzQ2ODIsIDc0Njg2LCA3NDY5MCwgNzQ2OTQsIDc0Njk4LCA3NDcwMiwgNzQ3MDYsIDc0NzEwLCAKLSAgICA3NDcxNCwgNzQ3MTgsIDc0NzIyLCA3NDcyNiwgNzQ3MzAsIDc0NzM1LCA3NDc0MCwgNzQ3NDQsIDc0NzQ4LCA3NDc1MiwgCi0gICAgNzQ3NTYsIDc0NzYwLCA3NDc2NCwgNzQ3NjksIDc0NzczLCA3NDc3NywgNzQ3ODEsIDc0Nzg1LCA3NDc4OSwgNzQ3OTMsIAotICAgIDc0Nzk4LCA3NDgwMiwgNzQ4MDcsIDc0ODExLCA3NDgxNSwgNzQ4MTksIDc0ODIzLCA3NDgyNywgNzQ4MzEsIDc0ODM1LCAKLSAgICA3NDgzOSwgNzQ4NDMsIDc0ODQ3LCA3NDg1MSwgNzQ4NTYsIDc0ODYwLCA3NDg2NCwgNzQ4NjgsIDc0ODcyLCA3NDg3NiwgCi0gICAgNzQ4ODAsIDc0ODg0LCA3NDg4OCwgNzQ4OTIsIDc0ODk2LCA3NDkwMCwgNzQ5MDUsIDc0OTA5LCA3NDkxMywgNzQ5MTgsIAotICAgIDc0OTIzLCA3NDkyNywgNzQ5MzEsIDc0OTM1LCA3NDkzOSwgNzQ5NDMsIDc0OTQ3LCA3NDk1MSwgNzQ5NTUsIDc0OTYwLCAKLSAgICA3NDk2NCwgNzQ5NjksIDc0OTczLCA3NDk3OCwgNzQ5ODIsIDc0OTg3LCA3NDk5MSwgNzQ5OTcsIDc1MDAyLCA3NTAwNiwgCi0gICAgNzUwMTEsIDc1MDE1LCA3NTAyMCwgNzUwMjQsIDc1MDI5LCA3NTAzMywgNzUwMzgsIDE0ODQsIDc1MDQyLCAyNzc4LCAxNzIyLCAKLSAgICAxNzI3LCA3NTA0NiwgNzUwNTAsIDI3ODIsIDc1MDU0LCAxMzY1LCA3NTA1OSwgMTMzMSwgNzUwNjMsIDI3OTQsIDc1MDY3LCAKLSAgICA3NTA3NCwgNzUwODEsIDc1MDk1LCAyNzk4LCA1NTg5LCA3NTEwNCwgNzUxMTIsIDc1MTE5LCA3NTEzMCwgNzUxMzksIAotICAgIDc1MTQ2LCA3NTE1OCwgNzUxNzEsIDc1MTg0LCA3NTE5NSwgNzUyMDAsIDc1MjA3LCA3NTIxOSwgNzUyMjMsIDM5MTgsIAotICAgIDEwMDgyLCA3NTIzMywgNzUyMzgsIDc1MjQ3LCA3NTI1NywgMjgwMiwgNzUyNjIsIDc1MjY2LCA3NTI3MSwgNzUyNzgsIAotICAgIDc1Mjg0LCA3NTI5MiwgNzUzMDQsIDEzMzYsIDExMzUxLCA3NTMxNCwgNzUzMTgsIDc1MzI0LCA3NTMzOCwgNzUzNTAsIAotICAgIDc1MzYyLCA3NTM3MiwgNzUzODEsIDc1MzkwLCA3NTM5OSwgNzU0MDcsIDc1NDE4LCA3NTQyNiwgMzk2OCwgNzU0MzYsIAotICAgIDc1NDQ1LCA3NTQ1MSwgNzU0NjYsIDc1NDczLCA3NTQ3OSwgMzMxOTcsIDc1NDg0LCAyODI2LCAxMTM1NSwgNzU0ODgsIAotICAgIDc1NDk1LCA3MzM0LCA3NTUwNCwgMjgzMSwgMzAxMDUsIDc1NTEwLCA1NzkyMywgNzU1MTcsIDc1NTIzLCA3NTUzNCwgCi0gICAgNzU1NDAsIDc1NTQ3LCA3NTU1MywgNzU1NjEsIDc1NTY4LCA3NTU3NCwgNzU1ODQsIDc1NTkzLCA3NTYwNCwgNzU2MTEsIAotICAgIDc1NjE3LCA3NTYyNywgNzU2MzUsIDc1NjQxLCA3NTY1NiwgNzU2NjIsIDc1NjY3LCA3NTY3NCwgNzU2NzcsIDc1NjgzLCAKLSAgICA3NTY5MCwgNzU2OTYsIDc1NzA0LCA3NTcxMywgNzU3MjEsIDc1NzI3LCA3NTczNiwgMzg4NDUsIDc1NzUwLCA3NTc1NSwgCi0gICAgMTMwMDcsIDc1NzYxLCA3NTc3NCwgNzU3ODMsIDc1NzkxLCA3NTc5OCwgNzU4MDIsIDc1ODA2LCA3NTgwOSwgNzU4MTYsIAotICAgIDc1ODIzLCA3NTgzMSwgNzU4MzksIDc1ODQ4LCA3NTg1NiwgMTI5NDMsIDc1ODY0LCA3NTg2OSwgNzU4NzMsIDc1ODg1LCAKLSAgICA3NTg5MiwgNzU5MDEsIDc4MCwgNzU5MTEsIDc1OTIwLCA3NTkzMSwgMjg0NywgNzU5MzUsIDc1OTM5LCA3NTk0NSwgNzU5NTgsIAotICAgIDc1OTcwLCA3NTk4MCwgNzU5ODksIDI0MzMxLCA3NjAwMSwgNzYwMDksIDc2MDE4LCA3NjAyOSwgNzYwNDAsIDc2MDUwLCAKLSAgICA3NjA2MCwgNzYwNjksIDc2MDc3LCA5NjU3LCA3NjA4NCwgNzYwODgsIDc2MDkzLCA3NjA5OCwgNzYxMDQsIDEzNDEsIAotICAgIDEwMTUzLCA3NjExMSwgNzYxMjIsIDc2MTMxLCA3NjEzOSwgNzYxNDgsIDc2MTU2LCA3NjE3MiwgNzYxODMsIDc2MTkyLCAKLSAgICA3NjIwMCwgNzYyMTIsIDc2MjIzLCA3NjIzOSwgNzYyNDksIDc2MjcwLCA3NjI4MywgNzYyOTEsIDc2Mjk4LCAxMzExOCwgCi0gICAgNzYzMTEsIDc2MzE2LCA3NjMyMiwgNDM4NiwgNzYzMjgsIDc2MzMxLCA3NjMzOCwgNzYzNDgsIDY2MDcsIDc2MzU1LCAKLSAgICA3NjM2MCwgNzYzNjUsIDc2MzczLCA3NjM4MSwgODEyMywgODEzMiwgNzYzODYsIDc2Mzk3LCA3NjQwMiwgNzY0MDgsIDI4NTUsIAotICAgIDI4NjAsIDc2NDE0LCA5MjI0LCA3NjQyMCwgNzY0MjcsIDc2NDM0LCA3NjQ0NywgMjIwNSwgNTAsIDc2NDUyLCA3NjQ1NywgCi0gICAgNzY0NjcsIDc2NDczLCA3NjQ4MiwgNzY0OTAsIDc2NTAwLCA3NjUwNCwgNzY1MDksIDc2NTEzLCA3NjUyNSwgMjg4MywgCi0gICAgNzY1MzMsIDc2NTQxLCA3NjU0NiwgNzY1NTcsIDc2NTY4LCA3NjU3NywgNzY1ODIsIDc2NTg4LCA3NjU5MywgNzY2MDMsIAotICAgIDc2NjEzLCA3NjYxOCwgNzY2MjQsIDc2NjI5LCA3NjYzOCwgMTk1NjIsIDc2NjQyLCA0MDQ1LCAxMiwgNzY2NDcsIDc2NjU2LCAKLSAgICA3NjY2MywgNzY2NzAsIDc2Njc2LCA3NjY4MiwgODI3LCA3NjY4NywgNzY2OTIsIDU4MjQwLCA3NjY5NywgNzY3MDIsIAotICAgIDc2NzA4LCA3NjcxNiwgNzY3MjEsIDc2NzI4LCA3NjczNCwgNzY3MzksIDM1NTczLCAzODc0MywgNzY3NDUsIDI4ODcsIDMyLCAKLSAgICA3Njc1NSwgNzY3NjgsIDc2NzczLCA3Njc4MSwgNzY3ODYsIDc2NzkyLCAyOTA5LCAyNjIzNCwgNzY3OTcsIDc2ODA1LCAKLSAgICA3NjgxMiwgNzY4MTcsIDU2MDMzLCA1OTIyMSwgNzY4MjYsIDE2NjcsIDE3NzYsIDc2ODMxLCA3NjgzNiwgNzY4NDMsIDE3ODAsIAotICAgIDI0MiwgNzY4NTAsIDc2ODU2LCA3Njg2MSwgNzY4NjgsIDE3ODQsIDc2ODczLCA3Njg3OSwgNzY4ODQsIDc2ODk2LCA0NTk3LCAKLSAgICA3NjkwNiwgMTc5MSwgNzY5MTIsIDc2OTE3LCA3NjkyNCwgNzY5MzEsIDc2OTQ2LCA3Njk1MywgNzY5NjQsIDc2OTcyLCAKLSAgICAyNTcyLCA3Njk3NiwgNzY5ODgsIDc2OTkzLCA3Njk5NywgNzcwMDMsIDI2MDU5LCAyMjEwLCA3NzAwNywgNzcwMTgsIAotICAgIDc3MDIyLCA3NzAyNiwgNzcwMzIsIDc3MDM2LCA3NzA0NSwgNzcwNDksIDc3MDYwLCA3NzA2NCwgMjI1NiwgMjk5NDQsIAotICAgIDc3MDY4LCA3NzA3OCwgMzAxOCwgNzczOCwgNzcwODYsIDc3MDkxLCA3NzA5NSwgNzcxMDQsIDc3MTExLCA3NzExNywgMjk4OCwgCi0gICAgMTUzNDMsIDc3MTIxLCA3NzEzNCwgNzcxNTIsIDc3MTU3LCA3NzE2NSwgNzcxNzMsIDc3MTgzLCAxMTQ1NywgNzcxOTUsIAotICAgIDc3MjA4LCA3NzIxNSwgNzcyMjIsIDc3MjM4LCA3NzI0NSwgNzcyNTEsIDEwMjQsIDc3MjU4LCA3NzI2NSwgNzcyNzUsIAotICAgIDc3Mjg0LCA3NzI5NiwgMzk3MDksIDc3MzA0LCAzMDAyLCAxMDM1MCwgNzczMDcsIDc3MzE1LCA3NzMxOSwgMzAwNiwgCi0gICAgNzczMjMsIDE5MzU4LCAxMDM2NiwgMzY4NCwgNzczMjcsIDMwMTIsIDc3MzMxLCA3NzM0MSwgNzczNDcsIDc3MzUzLCAKLSAgICA3NzM1OSwgNzczNjUsIDc3MzcxLCA3NzM3NywgNzczODMsIDc3Mzg5LCA3NzM5NSwgNzc0MDEsIDc3NDA3LCA3NzQxMywgCi0gICAgNzc0MTksIDc3NDI1LCA3NzQzMSwgNzc0MzcsIDc3NDQzLCA3NzQ0OSwgNzc0NTUsIDc3NDYxLCA3NzQ2NywgNzc0NzMsIAotICAgIDc3NDc5LCA3NzQ4NSwgNzc0OTEsIDc3NDk4LCA3NzUwNSwgNzc1MTEsIDc3NTE3LCA3NzUyMywgNzc1MjksIDc3NTM1LCAKLSAgICA3NzU0MSwgMTM0NiwgMTQyNzAsIDEwMzg4LCA3NzU0NywgNzc1NTIsIDc3NTU3LCA3NzU2MiwgNzc1NjcsIDc3NTcyLCAKLSAgICA3NzU3NywgNzc1ODIsIDc3NTg3LCA3NzU5MiwgNzc1OTcsIDc3NjAyLCA3NzYwNywgNzc2MTIsIDc3NjE3LCA3NzYyMiwgCi0gICAgNzc2MjcsIDc3NjMyLCA3NzYzNywgNzc2NDIsIDc3NjQ3LCA3NzY1MiwgNzc2NTcsIDc3NjYyLCA3NzY2NywgNzc2NzIsIAotICAgIDc3Njc4LCA3NzY4MywgNzc2ODgsIDc3Njk0LCA3NzY5OSwgNzc3MDUsIDc3NzEwLCA3NzcxNSwgNzc3MjEsIDc3NzI2LCAKLSAgICA3NzczMSwgNzc3MzYsIDc3NzQxLCA3Nzc0NiwgNzc3NTEsIDc3NzU2LCA3Nzc2MSwgNzczNDIsIDc3MzQ4LCA3NzM1NCwgCi0gICAgNzczNjAsIDc3MzY2LCA3NzM3MiwgNzczNzgsIDc3Mzg0LCA3NzM5MCwgNzczOTYsIDc3NDAyLCA3NzQwOCwgNzc0MTQsIAotICAgIDc3NDIwLCA3NzQyNiwgNzc3NjcsIDc3NDMyLCA3NzQzOCwgNzc0NDQsIDc3NzczLCA3NzQ1MCwgNzc0NTYsIDc3NDYyLCAKLSAgICA3NzQ2OCwgNzc0NzQsIDc3NDgwLCA3NzQ4NiwgNzc1MDYsIDc3Nzc5LCA3Nzc4NSwgNzc1MTIsIDc3NzkxLCA3NzUxOCwgCi0gICAgNzc1MjQsIDc3NTMwLCA3NzUzNiwgNzc1NDIsIDMwMzMsIDMwMzgsIDc3Nzk3LCA3NzgwMiwgNzc4MDUsIDc3ODExLCAKLSAgICA3NzgxNywgNzc4MjQsIDc3ODI5LCA3NzgzNCwgMjI2MSwgCisgICAgMCwgMCwgNiwgMTAsIDE4LCAyMywgMjcsIDM0LCAzOSwgNDEsIDQ0LCA1MCwgNjIsIDcwLCA4MCwgOTMsIDEwMiwgMTA4LCAKKyAgICAxMTMsIDEyMSwgMTMwLCAxMzUsIDE0MCwgMTQzLCAxNDcsIDE1MywgMTU4LCAxNjMsIDE3MSwgMTc4LCAxODYsIDE5MSwgCisgICAgMTk0LCAyMDAsIDIwOCwgMjE1LCAyMjUsIDIzMCwgMjM3LCAyNDYsIDI0OSwgMjU0LCAyNTcsIDI2MywgMjY3LCAyNzIsIAorICAgIDI4MSwgMjg4LCAyOTUsIDMwMSwgMzEwLCAzMTUsIDMyMSwgMzI3LCAzMzUsIDE0NCwgMzQxLCAzNDksIDM1MCwgMzU4LCAKKyAgICAzNjEsIDM2NywgMzY5LCAzNzUsIDM4MiwgMzg0LCAzOTEsIDM5NSwgNDAzLCA0MTAsIDQxNSwgNDE3LCA0MjIsIDQyOSwgCisgICAgNDMxLCAyOTksIDQzNywgNDM5LCA0NDQsIDQ0OSwgNDUyLCA0NTcsIDQ2MywgNDcwLCA0NzksIDQ4OSwgNDk0LCA0OTgsIAorICAgIDUwNSwgNTE4LCA1MjIsIDUzMSwgNTM4LCA1NDUsIDU0OCwgNTU0LCA1NTgsIDU2MiwgNTcyLCA1ODAsIDU4OCwgNTk2LCAKKyAgICA2MDUsIDYxMywgNjE4LCA2MTksIDYyMywgNjMxLCA2MzgsIDY0OCwgNjU5LCA2NjMsIDY2NiwgNjcwLCA2NzMsIDM0OCwgCisgICAgNjc4LCA2ODcsIDY5MSwgNjk3LCA3MDMsIDcwNSwgNzA4LCA3MTEsIDcxNCwgNzE4LCA3MjIsIDczMSwgNzM5LCA3NDQsIAorICAgIDc0NywgNzUxLCA3NTcsIDc2NCwgNzcxLCA3NzYsIDc4NSwgNzk0LCA4MDEsIDgwNSwgODE4LCA4MjcsIDgzNSwgODQxLCAKKyAgICA1NTcsIDg1MCwgODYwLCA4NjcsIDg3MywgODc5LCA4ODYsIDg5NCwgODk4LCA3NDksIDkwNiwgOTE1LCA1MDMsIDkyMywgCisgICAgOTI4LCA5MzQsIDE3LCA5NDMsIDk0OCwgOTUxLCA5NTUsIDk1OSwgOTY2LCA5NjksIDk3NiwgOTgwLCA5ODgsIDk5MiwgCisgICAgMTAwMCwgMTAwNCwgMTAwNywgMTAxNCwgMTAyMSwgMTkyLCAxMDI0LCAxMDI5LCAxMDM5LCAxMDQ4LCAxMDU1LCAxMDYxLCAKKyAgICAxMDY5LCAxMDcyLCAxMDc3LCAxMDgzLCAxMDkxLCAxMDk3LCAxMTAyLCAxMTA1LCAxMTA4LCAxMTEsIDExMTMsIDExMTcsIAorICAgIDExMjMsIDExMjksIDExMzIsIDExMzgsIDExNDIsIDExNDcsIDExNTMsIDExNTgsIDExNjgsIDExNzIsIDExNzUsIDExNzgsIAorICAgIDExODcsIDExOTEsIDExOTQsIDExOTksIDEyMDQsIDEyMTAsIDEyMTUsIDEyMjAsIDEyMjUsIDEyMjksIDEyMzQsIDEyNDAsIAorICAgIDEyNDUsIDEyNTAsIDEyNTQsIDEyNjAsIDEyNjUsIDEyNzAsIDEyNzUsIDEyNzksIDEyODQsIDEyODksIDEyOTQsIDEzMDAsIAorICAgIDEzMDYsIDEzMTIsIDEzMTcsIDEzMjEsIDEzMjYsIDEzMzEsIDEzMzYsIDEzNDAsIDEzNDUsIDEzNTAsIDEzNTUsIDEzNjAsIAorICAgIDExOTUsIDEyMDAsIDEyMDUsIDEyMTEsIDEyMTYsIDEzNjQsIDEyMjYsIDEzNzAsIDEzNzUsIDEzODAsIDEzODcsIDEzOTEsIAorICAgIDE0MDAsIDEyMzAsIDE0MDQsIDEyMzUsIDEyNDEsIDEyNDYsIDE0MDgsIDE0MTMsIDE0MTgsIDE0MjIsIDE0MjYsIDE0MzIsIAorICAgIDE0MzYsIDEyNTEsIDE0MzksIDEyNjEsIDE0NDQsIDE0NDgsIDEyNjYsIDE0NTQsIDEyNzEsIDE0NTgsIDE0NjIsIDEyNzYsIAorICAgIDE0NjYsIDE0NzEsIDE0NzUsIDE0NzgsIDE0ODIsIDEyODAsIDEyODUsIDE0ODcsIDEyOTAsIDE0OTMsIDE0OTksIDE1MDUsIAorICAgIDE1MTEsIDEyOTUsIDEzMDcsIDEzMTMsIDE1MTUsIDE1MTksIDE1MjMsIDE1MjYsIDEzMTgsIDE1MzAsIDE1MzIsIDE1MzcsIAorICAgIDE1NDIsIDE1NDgsIDE1NTMsIDE1NTgsIDE1NjIsIDE1NjcsIDE1NzIsIDE1NzcsIDE1ODIsIDE1ODgsIDE1OTMsIDE1OTgsIAorICAgIDE2MDQsIDE2MTAsIDE2MTUsIDE2MTksIDE2MjQsIDE2MjksIDE2MzQsIDE2MzksIDE2NDMsIDE2NTEsIDE2NTUsIDE2NjAsIAorICAgIDE2NjUsIDE2NzAsIDE2NzUsIDE2NzksIDE2ODIsIDE2ODcsIDE2OTIsIDE2OTcsIDE3MDIsIDE3MDgsIDE3MTMsIDE3MTcsIAorICAgIDEzMjIsIDE3MjAsIDE3MjUsIDE3MzAsIDEzMjcsIDE3MzQsIDE3MzgsIDE3NDUsIDEzMzIsIDE3NTIsIDEzMzcsIDE3NTYsIAorICAgIDE3NTgsIDE3NjMsIDE3NjksIDEzNDEsIDE3NzQsIDE3ODMsIDEzNDYsIDE3ODgsIDE3OTQsIDEzNTEsIDE3OTksIDE4MDQsIAorICAgIDE4MDcsIDE4MTIsIDE4MTYsIDE4MjAsIDE4MjQsIDE4MjcsIDE4MzEsIDEzNTYsIDEzNjEsIDExNTYsIDE4MzYsIDE4NDIsIAorICAgIDE4NDgsIDE4NTQsIDE4NjAsIDE4NjYsIDE4NzIsIDE4NzgsIDE4ODQsIDE4ODksIDE4OTUsIDE5MDEsIDE5MDcsIDE5MTMsIAorICAgIDE5MTksIDE5MjUsIDE5MzEsIDE5MzcsIDE5NDMsIDE5NDgsIDE5NTMsIDE5NTgsIDE5NjMsIDE5NjgsIDE5NzMsIDE5NzgsIAorICAgIDE5ODMsIDE5ODgsIDE5OTMsIDE5OTksIDIwMDQsIDIwMTAsIDIwMTUsIDIwMjEsIDIwMjcsIDIwMzIsIDIwMzgsIDIwNDQsIAorICAgIDIwNTAsIDIwNTYsIDIwNjEsIDIwNjYsIDIwNjgsIDIwNjksIDIwNzMsIDIwNzcsIDIwODIsIDIwODYsIDIwOTAsIDIwOTQsIAorICAgIDIwOTksIDIxMDMsIDIxMDYsIDIxMTEsIDIxMTUsIDIxMjAsIDIxMjQsIDIxMjgsIDIxMzMsIDIxMzcsIDIxNDAsIDIxNDQsIAorICAgIDIxNTAsIDIxNjQsIDIxNjgsIDIxNzIsIDIxNzYsIDIxNzksIDIxODQsIDIxODgsIDIxOTIsIDIxOTUsIDIxOTksIDIyMDQsIAorICAgIDIyMDksIDIyMTQsIDIyMTksIDIyMjMsIDIyMjcsIDIyMzEsIDIyMzYsIDIyNDAsIDIyNDUsIDIyNDksIDIyNTQsIDIyNjAsIAorICAgIDIyNjcsIDIyNzMsIDIyNzgsIDIyODMsIDIyODgsIDIyOTQsIDIyOTksIDIzMDUsIDIzMTAsIDIzMTMsIDEyMTIsIDIzMTUsIAorICAgIDIzMjIsIDIzMzAsIDIzNDAsIDIzNDksIDIzNjMsIDIzNjcsIDIzNzEsIDIzODQsIDIzOTIsIDIzOTYsIDI0MDEsIDI0MDUsIAorICAgIDI0MDgsIDI0MTIsIDI0MTYsIDI0MjEsIDI0MjYsIDI0MzEsIDI0MzUsIDI0MzgsIDI0NDIsIDI0NDksIDI0NTYsIDI0NjIsIAorICAgIDI0NjcsIDI0NzIsIDI0NzgsIDI0ODQsIDI0ODksIDI0OTIsIDE3NjAsIDI0OTQsIDI1MDAsIDI1MDQsIDI1MDksIDI1MTMsIAorICAgIDI1MTcsIDE3NjUsIDE3NzEsIDI1MjIsIDI1MjYsIDI1MjksIDI1MzQsIDI1MzksIDI1NDQsIDI1NDksIDI1NTMsIDI1NjAsIAorICAgIDI1NjUsIDI1NjgsIDI1NzUsIDI1ODEsIDI1ODUsIDI1ODksIDI1OTMsIDI1OTgsIDI2MDUsIDI2MTAsIDI2MTUsIDI2MjIsIAorICAgIDI2MjgsIDI2MzQsIDI2NDAsIDI2NTQsIDI2NzEsIDI2ODYsIDI3MDEsIDI3MTAsIDI3MTUsIDI3MTksIDI3MjQsIDI3MjksIAorICAgIDI3MzMsIDI3NDUsIDI3NTIsIDI3NTgsIDIyNjMsIDI3NjQsIDI3NzEsIDI3NzcsIDI3ODEsIDI3ODQsIDI3OTEsIDI3OTcsIAorICAgIDI4MDEsIDI4MDUsIDI4MDksIDIwOTEsIDI4MTMsIDI4MTgsIDI4MjMsIDI4MjcsIDI4MzUsIDI4MzksIDI4NDMsIDI4NDcsIAorICAgIDI4NTEsIDI4NTYsIDI4NjEsIDI4NjYsIDI4NzAsIDI4NzUsIDI4ODAsIDI4ODQsIDI4ODksIDI4OTMsIDI4OTYsIDI5MDAsIAorICAgIDI5MDQsIDI5MTIsIDI5MTcsIDI5MjEsIDI5MjUsIDI5MzEsIDI5NDAsIDI5NDQsIDI5NDgsIDI5NTQsIDI5NTksIDI5NjYsIAorICAgIDI5NzAsIDI5ODAsIDI5ODQsIDI5ODgsIDI5OTMsIDI5OTcsIDMwMDIsIDMwMDgsIDMwMTMsIDMwMTcsIDMwMjEsIDMwMjUsIAorICAgIDI0NTIsIDMwMzMsIDMwMzgsIDMwNDQsIDMwNDksIDMwNTMsIDMwNTgsIDMwNjMsIDMwNjcsIDMwNzMsIDMwNzgsIDIwOTUsIAorICAgIDMwODQsIDMwOTAsIDMwOTUsIDMxMDAsIDMxMDUsIDMxMTAsIDMxMTUsIDMxMjAsIDMxMjUsIDMxMzAsIDMxMzUsIDMxNDEsIAorICAgIDMxNDYsIDEyMjcsIDkyLCAzMTUyLCAzMTU2LCAzMTYwLCAzMTY0LCAzMTY5LCAzMTczLCAzMTc3LCAzMTgxLCAzMTg1LCAKKyAgICAzMTkwLCAzMTk0LCAzMTk5LCAzMjAzLCAzMjA2LCAzMjEwLCAzMjE1LCAzMjE5LCAzMjI0LCAzMjI4LCAzMjMyLCAzMjM2LCAKKyAgICAzMjQxLCAzMjQ1LCAzMjQ4LCAzMjYxLCAzMjY1LCAzMjY5LCAzMjczLCAzMjc3LCAzMjgxLCAzMjg0LCAzMjg4LCAzMjkyLCAKKyAgICAzMjk3LCAzMzAxLCAzMzA2LCAzMzExLCAzMzE2LCAzMzIwLCAzMzIzLCAzMzI2LCAzMzMyLCAzMzM2LCAzMzQwLCAzMzQzLCAKKyAgICAzMzQ3LCAzMzUxLCAzMzU0LCAzMzYwLCAzMzY1LCAzMzcwLCAzMzc2LCAzMzgxLCAzMzg2LCAzMzkyLCAzMzk4LCAzNDAzLCAKKyAgICAzNDA4LCAzNDEzLCAxMTE1LCA1NDcsIDM0MTgsIDM0MjEsIDM0MjYsIDM0MzAsIDM0MzMsIDM0MzcsIDM0NDIsIDM0NDcsIAorICAgIDM0NTEsIDM0NTYsIDM0NjAsIDM0NjUsIDM0NjksIDM0NzMsIDM0NzksIDM0ODUsIDM0ODgsIDM0OTEsIDM0OTcsIDM1MDQsIAorICAgIDM1MTEsIDM1MTcsIDM1MjQsIDM1MjksIDM1MzMsIDM1NDAsIDM1NDcsIDM1NTIsIDM1NTYsIDM1NjYsIDM1NzAsIDM1NzQsIAorICAgIDM1NzksIDM1ODQsIDM1OTQsIDIxMDcsIDM1OTksIDM2MDMsIDM2MDYsIDM2MTIsIDM2MTcsIDM2MjMsIDM2MjksIDM2MzQsIAorICAgIDM2NDEsIDM2NDUsIDM2NDksIDYyMCwgNjcxLCAxMzg4LCAzNjUzLCAzNjYwLCAzNjY3LCAzNjc0LCAzNjgxLCAzNjg3LCAKKyAgICAzNjkzLCAzNjk4LCAzNzAyLCAzNzA4LCAzNzEzLCAzNzE3LCAyMTE2LCAzNzIxLCAzNzI5LCA2MDAsIDM3MzUsIDM3NDYsIAorICAgIDM3NTAsIDM3NjAsIDIxMjEsIDM3NjYsIDM3NzEsIDM3ODYsIDM3OTIsIDM3OTksIDM4MDksIDM4MTUsIDM4MjAsIDM4MjYsIAorICAgIDM4MzIsIDM4MzUsIDM4MzksIDM4NDQsIDM4NTEsIDM4NTYsIDM4NjAsIDM4NjQsIDM4NjgsIDM4NzIsIDM4NzcsIDM4ODMsIAorICAgIDM4OTQsIDMyMTEsIDM4OTksIDM5MTEsIDM5MTksIDM5MjQsIDE1NjQsIDM5MzEsIDM5MzQsIDM5MzcsIDM5NDEsIDM5NDQsIAorICAgIDM5NTAsIDM5NTQsIDM5NjgsIDM5NzIsIDM5NzUsIDM5NzksIDM5ODUsIDM5OTEsIDM5OTYsIDQwMDAsIDQwMDQsIDQwMTAsIAorICAgIDQwMjEsIDQwMjcsIDQwMzIsIDQwMzgsIDQwNDIsIDQwNTAsIDQwNjAsIDQwNjYsIDQwNzEsIDQwODAsIDQwODgsIDQwOTUsIAorICAgIDQwOTksIDQxMDUsIDQxMTQsIDQxMjMsIDQxMjcsIDQxMzIsIDQxMzcsIDQxNDEsIDQxNDksIDQxNTMsIDQxNTgsIDQxNjIsIAorICAgIDIxMjksIDE0MDEsIDQxNjgsIDQxNzMsIDQxNzksIDQxODQsIDQxODksIDQxOTQsIDQxOTksIDQyMDQsIDQyMDksIDQyMTUsIAorICAgIDQyMjAsIDQyMjYsIDQyMzEsIDQyMzYsIDQyNDEsIDQyNDcsIDQyNTIsIDQyNTcsIDQyNjIsIDQyNjcsIDQyNzMsIDQyNzgsIAorICAgIDQyODQsIDQyODksIDQyOTQsIDQyOTksIDQzMDQsIDQzMDksIDQzMTQsIDQzMjAsIDQzMjUsIDQzMzAsIDMxOSwgNDU2LCAKKyAgICA0MzM1LCA0MzQxLCA0MzQ1LCA0MzQ5LCA0MzU0LCA0MzU4LCA0MzYyLCA0MzY1LCA0MzY5LCA0MzczLCA0Mzc3LCA0MzgxLCAKKyAgICA0Mzg2LCA0MzkwLCA0Mzk0LCA0NDAwLCA0MTY1LCA0NDA1LCA0NDA5LCA0NDEyLCA0NDE3LCA0NDIyLCA0NDI3LCA0NDMyLCAKKyAgICA0NDM3LCA0NDQyLCA0NDQ3LCA0NDUyLCA0NDU3LCA0NDYyLCA0NDY2LCA0NDcxLCA0NDc2LCA0NDgxLCA0NDg2LCA0NDkxLCAKKyAgICA0NDk2LCA0NTAxLCA0NTA2LCA0NTExLCA0NTE2LCA0NTIwLCA0NTI1LCA0NTMwLCA0NTM1LCA0NTQwLCA0NTQ1LCA0NTUwLCAKKyAgICA0NTU1LCA0NTYwLCA0NTY1LCA0NTcwLCA0NTc0LCA0NTc5LCA0NTg0LCA0NTg5LCA0NTk0LCA0NTk5LCA0NjA0LCA0NjA5LCAKKyAgICA0NjE0LCA0NjE5LCA0NjI0LCA0NjI4LCA0NjMzLCA0NjM4LCA0NjQzLCA0NjQ4LCA0NjUzLCA0NjU4LCA0NjYzLCA0NjY4LCAKKyAgICA0NjczLCA0Njc4LCA0NjgyLCA0Njg3LCA0NjkyLCA0Njk3LCA0NzAyLCA0NzA3LCA0NzEyLCA0NzE3LCA0NzIyLCA0NzI3LCAKKyAgICA0NzMyLCA0NzM2LCA0NzQxLCA0NzQ2LCA0NzUxLCA0NzU2LCA0NzYxLCA0NzY2LCA0NzcxLCA0Nzc2LCA0NzgxLCA0Nzg2LCAKKyAgICA0NzkwLCA0Nzk1LCA0ODAwLCA0ODA1LCA0ODEwLCA0ODE2LCA0ODIyLCA0ODI4LCA0ODM0LCA0ODQwLCA0ODQ2LCA0ODUyLCAKKyAgICA0ODU3LCA0ODYzLCA0ODY5LCA0ODc1LCA0ODgxLCA0ODg3LCA0ODkzLCA0ODk5LCA0OTA1LCA0OTExLCA0OTE3LCA0OTIyLCAKKyAgICA0OTI4LCA0OTM0LCA0OTQwLCA0OTQ2LCA0OTUyLCA0OTU4LCA0OTY0LCA0OTcwLCA0OTc2LCA0OTgyLCA0OTg3LCA0OTkzLCAKKyAgICA0OTk5LCA1MDA1LCA1MDExLCA1MDE3LCA1MDIzLCA1MDI5LCA1MDM1LCA1MDQxLCA1MDQ3LCA1MDUyLCA1MDU4LCA1MDY0LCAKKyAgICA1MDcwLCA1MDc2LCA1MDgyLCA1MDg4LCA1MDk0LCA1MTAwLCA1MTA2LCA1MTEyLCA1MTE3LCA1MTIzLCA1MTI5LCA1MTM1LCAKKyAgICA1MTQxLCA1MTQ3LCA1MTUzLCA1MTU5LCA1MTY1LCA1MTcxLCA1MTc3LCA1MTgyLCA1MTg2LCA1MTkyLCA1MTk4LCA1MjA0LCAKKyAgICA1MjEwLCA1MjE2LCA1MjIyLCA1MjI4LCA1MjM0LCA1MjQwLCA1MjQ2LCA1MjUxLCA1MjU3LCA1MjYzLCA1MjY5LCA1Mjc1LCAKKyAgICA1MjgxLCA1Mjg3LCA1MjkzLCA1Mjk5LCA1MzA1LCA1MzExLCA1MzE2LCA1MzIyLCA1MzI4LCA1MzM0LCA1MzQwLCA1MzQ2LCAKKyAgICA1MzUyLCA1MzU4LCA1MzY0LCA1MzcwLCA1Mzc2LCA1MzgxLCA1Mzg3LCA1MzkzLCA1Mzk5LCA1NDA1LCA1NDExLCA1NDE3LCAKKyAgICA1NDIzLCA1NDI5LCA1NDM1LCA1NDQxLCA1NDQ2LCA1NDUyLCA1NDU4LCA1NDY0LCA1NDcwLCA1NDc2LCA1NDgyLCA1NDg4LCAKKyAgICA1NDk0LCA1NTAwLCA1NTA2LCA1NTExLCA1NTE3LCA1NTIzLCA1NTI5LCA1NTM1LCA1NTQxLCA1NTQ3LCA1NTUzLCA1NTU5LCAKKyAgICA1NTY1LCA1NTcxLCA1NTc2LCA1NTgyLCA1NTg4LCA1NTk0LCA1NjAwLCA1NjA2LCA1NjEyLCA1NjE4LCA1NjI0LCA1NjMwLCAKKyAgICA1NjM2LCA1NjQxLCA1NjQ3LCA1NjUzLCA1NjU5LCA1NjY1LCA1NjcxLCA1Njc3LCA1NjgzLCA1Njg5LCA1Njk1LCA1NzAxLCAKKyAgICA1NzA2LCA1NzEyLCA1NzE4LCA1NzI0LCA1NzMwLCA1NzM2LCA1NzQyLCA1NzQ4LCA1NzU0LCA1NzYwLCA1NzY2LCA1NzcxLCAKKyAgICA1Nzc3LCA1NzgzLCA1Nzg5LCA1Nzk1LCA1ODAxLCA1ODA3LCA1ODEzLCA1ODE5LCA1ODI1LCA1ODMxLCA1ODM2LCA1ODQwLCAKKyAgICA1ODQzLCA1ODUwLCA1ODU0LCA1ODY3LCA1ODcxLCA1ODc1LCA1ODc5LCA1ODgzLCA1ODg3LCA1ODkxLCA1ODk3LCA1OTA0LCAKKyAgICA1OTEyLCA1OTE2LCA1OTI0LCA1OTMzLCA1OTM5LCA1OTUxLCA1OTU2LCA1OTU5LCA1OTYzLCA1OTczLCA1OTgxLCA1OTg5LCAKKyAgICA1OTk1LCA1OTk5LCA2MDA5LCA2MDE5LCA2MDI3LCA2MDM0LCA2MDQxLCA2MDQ3LCA2MDUzLCA2MDYwLCA2MDY0LCA2MDcxLCAKKyAgICA2MDgxLCA2MDkxLCA2MDk5LCA2MTA2LCA2MTExLCA2MTE1LCA2MTIzLCA2MTI3LCA2MTMyLCA2MTM5LCA2MTQ3LCA2MTUyLCAKKyAgICA2MTU3LCA2MTYxLCA2MTY4LCA2MTczLCA2MTg3LCA2MTkyLCA2MTk3LCA2MjA0LCA2MjEzLCA2MjE2LCA2MjIwLCA2MjI0LCAKKyAgICA2MjI4LCA2MjMxLCA2MjM2LCA2MjQxLCA2MjUwLCA2MjU2LCA2MjYyLCA2MjY4LCA2MjcyLCA2MjgzLCA2MjkzLCA2MzA4LCAKKyAgICA2MzIzLCA2MzM4LCA2MzUzLCA2MzY4LCA2MzgzLCA2Mzk4LCA2NDEzLCA2NDI4LCA2NDQzLCA2NDU4LCA2NDczLCA2NDg4LCAKKyAgICA2NTAzLCA2NTE4LCA2NTMzLCA2NTQ4LCA2NTYzLCA2NTc4LCA2NTkzLCA2NjA4LCA2NjIzLCA2NjM4LCA2NjUzLCA2NjY4LCAKKyAgICA2NjgzLCA2Njk4LCA2NzEzLCA2NzI4LCA2NzQzLCA2NzU4LCA2NzczLCA2Nzg4LCA2ODAzLCA2ODE4LCA2ODMzLCA2ODQ4LCAKKyAgICA2ODYzLCA2ODc4LCA2ODkzLCA2OTA4LCA2OTIzLCA2OTM4LCA2OTUzLCA2OTY4LCA2OTgzLCA2OTk4LCA3MDEzLCA3MDI4LCAKKyAgICA3MDM3LCA3MDQ2LCA3MDUxLCA3MDU3LCA3MDY3LCA3MDcxLCA3MDc2LCA3MDgxLCA3MDg5LCA3MDkzLCA3MDk2LCA3MTAwLCAKKyAgICAyOTc1LCA3MTAzLCA3MTA4LCAyOTgsIDQ0MiwgNzExNCwgNzEyMiwgNzEyNiwgNzEzMCwgNzEzMywgNzEzNywgNzE0MywgCisgICAgNzE0NywgNzE1NSwgNzE2MSwgNzE2NiwgNzE3MywgNzE4MCwgNzE4NiwgNzE5MSwgNzE5OCwgNzIwNCwgNzIxMiwgNzIxNiwgCisgICAgNzIyMSwgNzIzMywgNzI0NCwgNzI1MSwgNzI1NSwgNzI1OSwgNzI2NSwgMzIzMywgNzI2OSwgNzI3NSwgNzI4MCwgNzI4NSwgCisgICAgNzI5MCwgNzI5NiwgNzMwMSwgNzMwNiwgNzMxMSwgNzMxNiwgNzMyMiwgNzMyNywgNzMzMiwgNzMzOCwgNzM0MywgNzM0OSwgCisgICAgNzM1NCwgNzM2MCwgNzM2NSwgNzM3MSwgNzM3NiwgNzM4MSwgNzM4NiwgNzM5MSwgNzM5NiwgNzQwMiwgNzQwNywgNzQxMiwgCisgICAgNzQxNywgNzQyMywgNzQyOSwgNzQzNSwgNzQ0MSwgNzQ0NywgNzQ1MywgNzQ1OSwgNzQ2NSwgNzQ3MSwgNzQ3NywgNzQ4MywgCisgICAgNzQ4OSwgNzQ5NCwgNzQ5OSwgNzUwNCwgNzUwOSwgNzUxNCwgNzUxOSwgNzUyNCwgNzUyOSwgNzUzNSwgNzU0MSwgNzU0NiwgCisgICAgNzU1MiwgNzU1OCwgNzU2NCwgNzU2OSwgNzU3NCwgNzU3OSwgNzU4NCwgNzU5MCwgNzU5NiwgNzYwMSwgNzYwNiwgNzYxMSwgCisgICAgNzYxNiwgNzYyMSwgNzYyNywgNzYzMiwgNzYzOCwgNzY0NCwgNzY1MCwgNzY1NiwgNzY2MiwgNzY2OCwgNzY3NCwgNzY4MCwgCisgICAgNzY4NiwgMjEzOCwgNzEzMiwgNzY5MSwgNzY5NSwgNzY5OSwgNzcwMiwgNzcwOSwgNzcxMiwgNzcyMCwgNzcyNSwgNzczMCwgCisgICAgNzcyMSwgNzczNSwgMjE2NSwgNzczOSwgNzc0NSwgNzc1MSwgNzc1NiwgNzc2MSwgNzc2OCwgNzc3NiwgNzc4MSwgNzc4NSwgCisgICAgNzc4OCwgNzc5MiwgNzc5OCwgNzgwNCwgNzgwOCwgMjE3MywgNTYwLCA3ODExLCA3ODE1LCA3ODIwLCA3ODI2LCA3ODMxLCAKKyAgICA3ODM1LCA3ODM4LCA3ODQyLCA3ODQ4LCA3ODUzLCA3ODU3LCA3ODY0LCA3ODY4LCA3ODcyLCA3ODc2LCA5NDUsIDc2OSwgCisgICAgNzg3OSwgNzg4NywgNzg5NCwgNzkwMSwgNzkwNywgNzkxNCwgNzkyMiwgNzkyOSwgNzkzNiwgNzk0MSwgNzk1MywgMTI0NywgCisgICAgMTQwOSwgMTQxNCwgNzk2NCwgMTQxOSwgNzk2OCwgNzk3MiwgNzk4MSwgNzk4OSwgNzk5OCwgODAwNCwgODAwOSwgODAxMywgCisgICAgODAxOSwgODAyNCwgMjcwNiwgODAzMSwgODAzNSwgODA0NCwgODA1MywgODA2MiwgODA3MSwgODA3NiwgODA4MSwgODA5MywgCisgICAgODA5OCwgODEwNiwgMjIyNCwgODExMCwgODExMiwgODExNywgODEyMSwgODEzMCwgODEzOCwgMTQyMywgMTMzLCAzNDYxLCAKKyAgICAzNDY2LCA4MTQ0LCA4MTQ4LCA4MTU3LCA4MTYzLCA4MTY4LCA4MTcxLCA4MTgwLCAyNjk4LCA4MTg2LCA4MTk0LCA4MTk4LCAKKyAgICA4MjAyLCA4MjA2LCAyMjM3LCA4MjEwLCA4MjE1LCA4MjIyLCA4MjI4LCA4MjM0LCA4MjM3LCA4MjM5LCA4MjQyLCA4MjUwLCAKKyAgICA4MjU4LCA4MjY2LCA4MjY5LCA4Mjc0LCAyMjUwLCA4Mjc5LCA3NzMyLCA4MjgyLCA4Mjg0LCA4Mjg5LCA4Mjk0LCA4Mjk5LCAKKyAgICA4MzA0LCA4MzA5LCA4MzE0LCA4MzE5LCA4MzI0LCA4MzI5LCA4MzM0LCA4MzQwLCA4MzQ1LCA4MzUwLCA4MzU1LCA4MzYxLCAKKyAgICA4MzY2LCA4MzcxLCA4Mzc2LCA4MzgxLCA4Mzg2LCA4MzkxLCA4Mzk3LCA4NDAyLCA4NDA3LCA4NDEyLCA4NDE3LCA4NDIyLCAKKyAgICA4NDI3LCA4NDMyLCA4NDM3LCA4NDQyLCA4NDQ3LCA4NDUyLCA4NDU3LCA4NDYyLCA4NDY3LCA4NDcyLCA4NDc3LCA4NDgyLCAKKyAgICA4NDg4LCA4NDk0LCA4NDk5LCA4NTA0LCA4NTA5LCA4NTE0LCA4NTE5LCAyMjYxLCAyMjY4LCAyMjc0LCA4NTI0LCA4NTMwLCAKKyAgICA4NTM4LCAyMzAwLCAyMzA2LCA4NTQ2LCA4NTUwLCA4NTU1LCA4NTU5LCA4NTYzLCA4NTY3LCA4NTcyLCA4NTc2LCA4NTgxLCAKKyAgICA4NTg1LCA4NTg4LCA4NTkxLCA4NTk3LCA4NjAzLCA4NjA5LCA4NjE1LCA4NjIxLCA4NjI3LCA4NjMzLCA4NjM3LCA4NjQxLCAKKyAgICA4NjQ1LCA4NjQ5LCA4NjUzLCA4NjU4LCA4NjY1LCA4Njc2LCA4Njg0LCA4Njk0LCA4NzAwLCA4NzA3LCA4NzEyLCA4NzE2LCAKKyAgICA4NzI3LCA4NzQwLCA4NzUxLCA4NzY0LCA4Nzc1LCA4Nzg3LCA4Nzk5LCA4ODExLCA4ODI0LCA4ODM3LCA4ODQ0LCA4ODUwLCAKKyAgICA4ODY0LCA4ODcxLCA4ODc3LCA4ODgxLCA4ODg2LCA4ODkwLCA4ODk3LCA4OTA1LCA4OTA5LCA4OTE1LCA4OTE5LCA4OTI1LCAKKyAgICA4OTM1LCA4OTM5LCA4OTQ0LCA4OTQ5LCA4OTU2LCA4OTYyLCA4OTcyLCA3OTA5LCA4OTc4LCA4OTgyLCA4OTg5LCA3NjgsIAorICAgIDg5OTMsIDg5OTcsIDkwMDIsIDkwMDcsIDkwMTIsIDkwMTYsIDkwMjIsIDkwMzAsIDkwMzYsIDkwNDAsIDkwNDYsIDkwNTYsIAorICAgIDkwNjAsIDkwNjYsIDkwNzEsIDkwNzUsIDkwODEsIDkwODcsIDIxNjEsIDkwOTIsIDkwOTQsIDkwOTksIDkxMDcsIDkxMTYsIAorICAgIDkxMjAsIDkxMjYsIDkxMzEsIDkxMzYsIDkxNDEsIDkxNDYsIDkxNTIsIDkxNTcsIDkxNjIsIDQwMDYsIDkxNjcsIDkxNzIsIAorICAgIDkxNzYsIDkxODIsIDkxODcsIDkxOTMsIDkxOTgsIDkyMDMsIDkyMDksIDkyMTQsIDkxMjEsIDkyMjAsIDkyMjQsIDkyMzEsIAorICAgIDkyMzcsIDkyNDIsIDkyNDYsIDYxODMsIDkyNTEsIDkyNjAsIDkyNjUsIDkyNzAsIDgyMTgsIDgyMjUsIDkyNzUsIDI4NTMsIAorICAgIDkyNzksIDkyODQsIDkyODksIDkxMzIsIDkyOTMsIDkyOTgsIDkxMzcsIDkxNDIsIDkzMDMsIDkzMTAsIDkzMTcsIDkzMjMsIAorICAgIDkzMjksIDkzMzUsIDkzNDAsIDkzNDUsIDkzNTAsIDkxNDcsIDkxNTMsIDkzNTYsIDkzNjIsIDkzNjcsIDkzNzUsIDkxNTgsIAorICAgIDkzODAsIDk5MCwgOTM4MywgOTM5MSwgOTM5NywgOTQwMywgOTQxMiwgOTQyMCwgOTQyNSwgOTQzMSwgOTQzOSwgOTQ0NiwgCisgICAgOTQ2MSwgOTQ3OCwgOTQ5NywgOTUwNiwgOTUxNCwgOTUyOSwgOTU0MCwgOTU1MCwgOTU2MCwgOTU2OCwgOTU3NCwgOTU4NiwgCisgICAgOTU5NSwgOTYwMywgOTYxMCwgOTYxNywgOTYyMywgOTYyOCwgOTYzNiwgOTY0NiwgOTY1MywgOTY2MywgOTY3MywgOTY4MywgCisgICAgOTY5MSwgOTY5OCwgOTcwNywgOTcxNywgOTczMSwgOTc0NiwgOTc1NSwgOTc2MywgOTc2OCwgOTc3MiwgOTc4MSwgOTc4NywgCisgICAgOTc5MiwgOTgwMiwgOTgxMiwgOTgyMiwgOTgyNywgOTgzMSwgOTg0MCwgOTg0NSwgOTg1NSwgOTg2NiwgOTg3OSwgOTg4NywgCisgICAgOTkwMCwgOTkxMiwgOTkyMCwgOTkyNSwgOTkyOSwgOTkzNSwgOTk0MCwgOTk0OCwgOTk1NiwgOTk2MywgOTk2OCwgOTk3NiwgCisgICAgOTk4MiwgOTk4NSwgOTk4OSwgOTk5NSwgMTAwMDMsIDEwMDA4LCAxMDAxMiwgMTAwMjAsIDEwMDI5LCAxMDAzNywgMTAwNDMsIAorICAgIDEwMDQ3LCAxMDA1NCwgMTAwNjUsIDEwMDY5LCAxMDA3MiwgMTAwNzgsIDkxNjMsIDEwMDgzLCAxMDA4OSwgMTAwOTYsIAorICAgIDEwMTAyLCAxMDEwNywgMTAxMTQsIDEwMTIxLCAxMDEyOCwgMTAxMzUsIDEwMTQyLCAxMDE0OSwgMTAxNTYsIDEwMTYzLCAKKyAgICAxMDE2OCwgOTQ3NCwgMTAxNzMsIDEwMTc5LCAxMDE4NiwgMTAxOTMsIDEwMTk4LCAxMDIwNSwgMTAyMTQsIDEwMjE4LCAKKyAgICAxMDIzMCwgODI1NiwgMTAyMzQsIDEwMjM3LCAxMDI0MSwgMTAyNDUsIDEwMjQ5LCAxMDI1MywgMTAyNTksIDEwMjY1LCAKKyAgICAxMDI3MCwgMTAyNzYsIDEwMjgxLCAxMDI4NiwgMTAyOTIsIDEwMjk3LCAxMDMwMiwgODk1MiwgMTAzMDcsIDEwMzExLCAKKyAgICAxMDMxNSwgMTAzMTksIDEwMzI0LCAxMDMyOSwgMTAzMzcsIDEwMzQzLCAxMDM0NywgMTAzNTEsIDEwMzU4LCAxMDM2MywgCisgICAgMTAzNzEsIDEwMzc2LCAxMDM4MCwgMTAzODMsIDEwMzg5LCAxMDM5NiwgMTA0MDAsIDEwNDAzLCAxMDQwOCwgMTA0MTIsIAorICAgIDQwNDUsIDEwNDE4LCAxMDQyNywgMzYsIDEwNDM1LCAxMDQ0MSwgMTA0NDYsIDg5NjcsIDEwNDUxLCAxMDQ1NiwgMTA0NjAsIAorICAgIDEwNDYzLCAxMDQ3OCwgMTA0OTcsIDEwNTA5LCAxMDUyMiwgMTA1MzUsIDEwNTQ4LCAxMDU2MiwgMTA1NzUsIDEwNTkwLCAKKyAgICAxMDU5NywgOTE2OCwgMTA2MDMsIDEwNjE3LCAxMDYyMiwgMTA2MjgsIDEwNjMzLCAxMDY0MSwgMTA2NDYsIDgwNDAsIAorICAgIDEwNjUxLCAxMDY1NCwgMTA2NjEsIDEwNjY2LCAxMDY3MCwgMjg1OCwgOTk4LCAxMDY3NiwgMTA2ODAsIDEwNjg2LCAxMDY5MiwgCisgICAgMTA2OTcsIDEwNzAzLCAxMDcwOCwgOTE3NywgMTA3MTQsIDEwNzIwLCAxMDcyNSwgMTA3MzAsIDEwNzM4LCAxMDc0NCwgCisgICAgMTA3NTcsIDEwNzY1LCAxMDc3MiwgOTE4MywgMTA3NzgsIDEwNzg2LCAxMDc5NCwgMTA4MDEsIDEwODE0LCAxMDgyNiwgCisgICAgMTA4MzYsIDEwODQ0LCAxMDg1MSwgMTA4NTgsIDEwODY3LCAxMDg3NiwgMTA4ODQsIDEwODkxLCAxMDg5NiwgMTA5MDIsIAorICAgIDkxODgsIDEwOTA3LCAxMDkxMywgOTE5NCwgMTA5MTgsIDEwOTIxLCAxMDkyOCwgMTA5MzQsIDEwOTQ3LCA4NjY5LCAxMDk1OCwgCisgICAgMTA5NjQsIDEwOTczLCAxMDk4MSwgMTA5ODgsIDEwOTk0LCAxMTAwMCwgMTEwMDUsIDExMDA5LCAxMTAxNCwgMTA0NzAsIAorICAgIDExMDIwLCA5MTk5LCAxMTAyNywgMTEwMzIsIDExMDM5LCAxMTA0NSwgMTEwNTEsIDExMDU2LCAxMTA2NCwgMTEwNzIsIAorICAgIDExMDc5LCAxMTA4MywgMTEwOTcsIDExMTA3LCAxMTExMiwgMTExMTYsIDExMTI3LCAxMTEzMywgMTExMzgsIDExMTQzLCAKKyAgICA5MjA0LCA5MjEwLCAxMTE0NywgMTExNTAsIDExMTU1LCAxMTE2NywgMTExNzQsIDExMTc5LCAxMTE4MywgMTExODgsIAorICAgIDExMTkyLCAxMTE5OSwgMTEyMDUsIDkyMTUsIDkxMjIsIDExMjEyLCAyODYzLCA4LCAxMTIxOSwgMTEyMjQsIDExMjI4LCAKKyAgICAxMTIzNCwgMTEyNDIsIDExMjUyLCAxMTI1NywgMTEyNjIsIDExMjY5LCAxMTI3NiwgMTEyODAsIDExMjkxLCAxMTMwMSwgCisgICAgMTEzMTAsIDExMzIyLCAxMTMyNywgMTEzMzEsIDExMzM5LCAxMTM1MywgMTEzNTcsIDExMzYwLCAxMTM2OCwgMTEzNzUsIAorICAgIDExMzgzLCAxMTM4NywgMTEzOTgsIDExNDAyLCAxMTQwOSwgMTE0MTQsIDExNDE4LCAxMTQyNCwgMTE0MjksIDExNDMzLCAKKyAgICAxMTQzOSwgMTE0NDQsIDExNDU1LCAxMTQ1OSwgMTE0NjIsIDExNDY4LCAxMTQ3MywgMTE0NzksIDExNDg1LCAxMTQ5MiwgCisgICAgMTE1MDMsIDExNTEzLCAxMTUyMywgMTE1MzIsIDExNTM5LCAxMTU0OCwgOTIyNSwgOTIzMiwgOTIzOCwgOTI0MywgMTE1NTQsIAorICAgIDExNTYwLCA5MjQ3LCAxMTU2NiwgMTE1NjksIDExNTc2LCAxMTU4MSwgMTE1OTYsIDExNjEyLCAxMTYyNywgMTE2MzUsIAorICAgIDExNjQxLCAxMTY0NiwgODM4LCA0MjAsIDExNjUxLCAxMTY1OSwgMTE2NjYsIDExNjcyLCAxMTY3NywgMTE2ODIsIDkyNTIsIAorICAgIDExNjg0LCAxMTY4OCwgMTE2OTMsIDExNjk3LCAxMTcwNywgMTE3MTIsIDExNzE2LCAxMTcyNSwgMTE3MjksIDExNzMyLCAKKyAgICA5MjYxLCAxMTczOSwgMTE3NDIsIDExNzUwLCAxMTc1NywgMTE3NjUsIDExNzY5LCAxMTc3NiwgMTE3ODUsIDExNzg4LCAKKyAgICAxMTc5MiwgMTE3OTYsIDExODAyLCAxMTgwNiwgMTE4MTAsIDExODE0LCAxMTgyMCwgMTE4MzAsIDExODM0LCAxMTg0MiwgCisgICAgMTE4NDYsIDExODUzLCAxMTg1NywgMTE4NjIsIDExODY2LCAxMTg3MywgMTE4NzksIDExODg3LCAxMTg5MywgMTE4OTgsIAorICAgIDExOTA4LCAxMTkxMywgMTE5MTgsIDExOTIyLCAxMTkzMCwgMzkwNSwgMTE5MzgsIDExOTQzLCA5MjY2LCAxMTk0NywgCisgICAgMTE5NTEsIDExOTU0LCAxMTk2MiwgMTE5NjksIDExOTczLCA1OTkxLCAxMTk3NywgMTE5ODIsIDExOTg2LCAxMTk5NywgCisgICAgMTIwMDcsIDEyMDEyLCAxMjAxOCwgMTIwMjIsIDEyMDI1LCAxMjAzMywgMTIwMzgsIDEyMDQzLCAxMjA1MCwgMTIwNTUsIAorICAgIDkyNzEsIDEyMDYwLCAxMjA2NCwgMTIwNzEsIDE3MjIsIDYxNDUsIDEyMDc2LCAxMjA4MSwgMTIwODYsIDEyMDkxLCAxMjA5NywgCisgICAgMTIxMDIsIDEyMTA4LCAxMjExMywgMTIxMTgsIDEyMTIzLCAxMjEyOCwgMTIxMzMsIDEyMTM4LCAxMjE0MywgMTIxNDgsIAorICAgIDEyMTUzLCAxMjE1OCwgMTIxNjMsIDEyMTY4LCAxMjE3MywgMTIxNzgsIDEyMTgzLCAxMjE4OCwgMTIxOTQsIDEyMTk5LCAKKyAgICAxMjIwNCwgMTIyMDksIDEyMjE0LCAxMjIxOSwgMTIyMjUsIDEyMjMwLCAxMjIzNSwgMTIyNDEsIDEyMjQ2LCAxMjI1MiwgCisgICAgMTIyNTcsIDEyMjYzLCAxMjI2OCwgMTIyNzMsIDEyMjc4LCAxMjI4MywgMTIyODksIDEyMjk0LCAxMjI5OSwgMTIzMDQsIAorICAgIDczNywgMTM5LCAxMjMxMiwgMTIzMTYsIDEyMzIxLCAxMjMyNiwgMTIzMzAsIDEyMzM0LCAxMjMzOCwgMTIzNDMsIDEyMzQ3LCAKKyAgICAxMjM1MiwgMTIzNTYsIDEyMzU5LCAxMjM2MywgMTIzNjcsIDEyMzczLCAxMjM3OCwgMTIzODgsIDEyMzk0LCAxMjQwMiwgCisgICAgMTI0MDYsIDEyNDEwLCAxMjQxNywgMTI0MjUsIDEyNDM0LCAxMjQ0NSwgMTI0NTIsIDEyNDU5LCAxMjQ2MywgMTI0NzIsIAorICAgIDEyNDgxLCAxMjQ4OSwgMTI0OTgsIDEyNTA3LCAxMjUxNiwgMTI1MjUsIDEyNTM1LCAxMjU0NSwgMTI1NTUsIDEyNTY1LCAKKyAgICAxMjU3NSwgMTI1ODQsIDEyNTk0LCAxMjYwNCwgMTI2MTQsIDEyNjI0LCAxMjYzNCwgMTI2NDQsIDEyNjU0LCAxMjY2MywgCisgICAgMTI2NzMsIDEyNjgzLCAxMjY5MywgMTI3MDMsIDEyNzEzLCAxMjcyMywgMTI3MzIsIDEyNzQyLCAxMjc1MiwgMTI3NjIsIAorICAgIDEyNzcyLCAxMjc4MiwgMTI3OTIsIDEyODAyLCAxMjgxMiwgMTI4MjIsIDEyODMxLCAxMjg0MSwgMTI4NTEsIDEyODYxLCAKKyAgICAxMjg3MSwgMTI4ODEsIDEyODkxLCAxMjkwMSwgMTI5MTEsIDEyOTIxLCAxMjkzMSwgMTI5NDAsIDEyNTYsIDEyOTQ2LCAKKyAgICAxMjk0OSwgMTI5NTMsIDEyOTU4LCAxMjk2NSwgMTI5NzEsIDEyOTc2LCAxMjk4MCwgMTI5ODUsIDEyOTk0LCAxMzAwMiwgCisgICAgMTMwMDcsIDEzMDExLCAxMzAxNSwgMTMwMjEsIDEzMDI2LCAxMzAzMiwgOTI4MCwgMTMwMzcsIDEzMDQyLCAxMzA1MSwgCisgICAgOTI4NSwgMTMwNTYsIDEzMDU5LCAxMzA2NSwgMTMwNzMsIDkyOTAsIDEzMDgwLCAxMzA4NCwgMTMwODgsIDEzMDkyLCAKKyAgICAxMzEwMiwgMTMxMDgsIDEzMTE0LCAxMzExOSwgMTMxMjgsIDEzMTM2LCAxMzE0MywgMTMxNTAsIDEzMTU1LCAxMzE2MiwgCisgICAgMTMxNjcsIDEzMTcxLCAxMzE3NCwgMTMxODUsIDEzMTk1LCAxMzIwNCwgMTMyMTIsIDEzMjIzLCAxMzIzNSwgMTMyNDUsIAorICAgIDEzMjUwLCAxMzI1NCwgMTMyNTksIDEzMjY0LCAxMzI2OCwgMTMyNzQsIDEzMjgyLCAxMzI4OSwgMTMzMDAsIDEzMzA1LCAKKyAgICAxMzMxNSwgMTMzMTksIDEzMzIyLCAxMzMyOSwgMTMzMzksIDEzMzQ4LCAxMzM1NSwgMTMzNTksIDEzMzY2LCAxMzM3MiwgCisgICAgMTMzNzcsIDEzMzgyLCAxMzM4NiwgMTMzOTUsIDEzNDAwLCAxMzQwNiwgMTM0MTAsIDEzNDE1LCAxMzQxOSwgMTM0MjgsIAorICAgIDEzNDM2LCAxMzQ0NCwgMTM0NTEsIDEzNDU5LCAxMzQ3MSwgMTM0ODIsIDEzNDkyLCAxMzQ5OSwgMTM1MDUsIDEzNTE0LCAKKyAgICAxMzUyNSwgMTM1MzQsIDEzNTQ2LCAxMzU1OCwgMTM1NzAsIDEzNTgwLCAxMzU4OSwgMTM1OTgsIDEzNjA2LCAxMzYxMywgCisgICAgMTM2MjIsIDEzNjMwLCAxMzYzNCwgMTM2NDAsIDEzNjQ2LCAxMzY1MSwgNzc1MywgMTM2NTUsIDEzNjU3LCAxMzY2MSwgCisgICAgMTM2NjYsIDEzNjcyLCAxMzY4MSwgMTM2ODUsIDEzNjkzLCAxMzcwMCwgMTM3MDksIDEzNzE4LCAxMzcyNywgMTM3MzYsIAorICAgIDEzNzQ1LCAxMzc1NCwgMTM3NjMsIDEzNzcyLCAxMzc4MiwgMTM3OTIsIDEzODAxLCAxMzgwNywgMTM4MTQsIDEzODIxLCAKKyAgICAxMzgyNywgMTM4NDEsIDEzODQ4LCAxMzg1NiwgMTM4NjUsIDEzODcxLCAxMzg4MCwgMTM4ODksIDEzOTAwLCAxMzkxMCwgCisgICAgMTM5MTgsIDEzOTI1LCAxMzkzMywgMTM5NDIsIDEzOTU1LCAxMzk2MywgMTM5NzAsIDEzOTgzLCAxMzk4OSwgMTM5OTUsIAorICAgIDE0MDA1LCAxNDAxNCwgMTQwMjMsIDE0MDI4LCAxNDAzMiwgMTQwMzgsIDE0MDQ0LCAxNDA1MSwgODk2NiwgMTQwNTYsIAorICAgIDE0MDYxLCAxNDA2OCwgMTQwNzMsIDEyMzY5LCAxNDA3OCwgMTQwODYsIDE0MDkyLCAxNDA5NywgMTQxMDUsIDE0MTEzLCAKKyAgICAxNDEyMCwgMTQxMjgsIDE0MTM0LCAxNDE0MiwgMTQxNTAsIDE0MTU2LCAxNDE2MSwgMTQxNjcsIDE0MTc0LCAxNDE4MCwgCisgICAgMTQxODUsIDE0MTg5LCAxNDIwMCwgMTQyMDgsIDE0MjE0LCAxNDIxOSwgMTQyMjgsIDE0MjM0LCAxNDIzOSwgMTQyNDgsIAorICAgIDE0MjYyLCAzODUzLCAxNDI2NiwgMTQyNzEsIDE0Mjc2LCAxNDI4MiwgMTQyODcsIDE0MjkyLCAxNDI5NiwgMTQzMDEsIAorICAgIDE0MzA2LCAxNDMxMSwgNzc1MiwgMTQzMTYsIDE0MzIxLCAxNDMyNiwgMTQzMzEsIDE0MzM2LCAxNDM0MCwgMTQzNDUsIAorICAgIDE0MzUwLCAxNDM1NSwgMTQzNjAsIDE0MzY2LCAxNDM3MiwgMTQzNzcsIDE0MzgxLCAxNDM4NiwgMTQzOTEsIDE0Mzk2LCAKKyAgICA5Mjk0LCAxNDQwMSwgMTQ0MDYsIDE0NDExLCAxNDQxNiwgMTQ0MjEsIDE0NDM4LCAxNDQ1NiwgMTQ0NjgsIDE0NDgxLCAKKyAgICAxNDQ5OCwgMTQ1MTQsIDE0NTMxLCAxNDU0MSwgMTQ1NjAsIDE0NTcxLCAxNDU4MiwgMTQ1OTMsIDE0NjA0LCAxNDYxNiwgCisgICAgMTQ2MjcsIDE0NjM4LCAxNDY1NSwgMTQ2NjYsIDE0Njc3LCAxNDY4MiwgOTI5OSwgMTQ2ODcsIDE0NjkxLCAyMzgxLCAKKyAgICAxNDY5NSwgMTQ2OTgsIDE0NzA0LCAxNDcxMiwgMTQ3MjAsIDE0NzI1LCAxNDczMywgMTQ3NDEsIDE0NzQ4LCAxNDc1MywgCisgICAgMTQ3NTksIDE0NzY2LCAxNDc3NCwgMTQ3ODEsIDE0NzkzLCAxNDgwMSwgMTQ4MDYsIDExNTkwLCAxNDgxMiwgMTQ4MjEsIAorICAgIDE0ODMwLCAxNDgzOCwgMTQ4NDUsIDE0ODUxLCAxNDg1OSwgMTQ4NjYsIDE0ODcyLCAxNDg3OSwgMTQ4ODUsIDE0ODk0LCAKKyAgICAxNDkwMiwgMTQ5MTIsIDE0OTE5LCAxNDkyNSwgMTQ5MzMsIDE0OTM5LCAxNDk0NywgMTQ5NTQsIDE0OTY3LCAxNDk3NCwgCisgICAgMTQ5ODMsIDE0OTkyLCAxNTAwMSwgMTUwMDksIDE1MDE5LCAxNTAyNiwgMTUwMzEsIDM1NjAsIDE1MDM4LCAxNTA0MywgCisgICAgMTM3MiwgMTUwNDcsIDE0MzE3LCAxNTA1MSwgMTUwNTcsIDE1MDYxLCAxNTA2OSwgMTUwODEsIDE1MDg2LCAxNTA5MywgCisgICAgMTUwOTksIDE1MTA0LCAxNTExMSwgMTQzMjIsIDE1MTE1LCAxNTExOSwgMTUxMjMsIDE0MzI3LCAxNTEyNywgMTQzMzIsIAorICAgIDE1MTMxLCAxNTEzOCwgMTUxNDMsIDE1MTQ3LCAxNTE1NCwgMTUxNTgsIDE1MTY2LCAxNTE3MywgMTUxNzcsIDE1MTg0LCAKKyAgICAxNTIwMSwgMTUyMTAsIDE1MjE0LCAxNTIxNywgMTUyMjUsIDE1MjMxLCAxNTIzNiwgMzYzOCwgMTUyNDAsIDE1MjQyLCAKKyAgICAxNTI1MCwgMTUyNTcsIDE1MjY3LCAxNTI3OSwgMTUyODQsIDE1MjkwLCAxNTI5NSwgMTUyOTksIDE1MzA1LCAxNTMxMCwgCisgICAgMTUzMTYsIDE1MzE5LCAxNTMyNiwgMTUzMzQsIDE1MzQxLCAxNTM0NywgMTUzNTMsIDE1MzU4LCAxNTM2NSwgMTUzNzEsIAorICAgIDE1Mzc2LCAxNTM4MywgMTUzODcsIDE1MzkzLCAxNTM5NywgMTU0MDQsIDE1NDEwLCAxNTQxNiwgMTU0MjQsIDE1NDMwLCAKKyAgICAxNTQzNSwgMTU0NDEsIDE1NDQ5LCAxNTQ1NywgMTU0NjMsIDE1NDY5LCAxNTQ3NCwgMTU0ODEsIDE1NDg2LCAxNTQ5MCwgCisgICAgMTU0OTYsIDE1NTAxLCAxNTUwOCwgMTU1MTMsIDE1NTE5LCAxNTUyMiwgMTU1MjgsIDE1NTM0LCAxNTUzNywgMTU1NDEsIAorICAgIDE1NTUzLCAxNTU1OSwgMTU1NjQsIDE1NTcxLCAxNTU3NywgMTU1ODMsIDE1NTk0LCAxNTYwNCwgMTU2MTMsIDE1NjIxLCAKKyAgICAxNTYyOCwgMTU2MzksIDE1NjQ5LCAxNTY1OSwgMTU2NjcsIDE1NjcwLCAxNDM0NiwgMTU2NzUsIDE1NjgwLCAxNDM1MSwgCisgICAgMTQ0ODYsIDE1Njg4LCAxNTcwMSwgMTU3MTYsIDE1NzI3LCAxNDUwMywgMTU3NDUsIDE1NzU4LCAxNTc3MSwgMTU3ODIsIAorICAgIDEwNDg1LCAxNTc5MywgMTU4MDYsIDE1ODI1LCAxNTgzNiwgMTU4NDcsIDE1ODU4LCAyNjQ5LCAxNTg3MSwgMTU4NzUsIAorICAgIDE1ODgzLCAxNTg5OCwgMTU5MTMsIDE1OTI0LCAxNTkzMSwgMTU5MzcsIDE1OTQ1LCAxNTk0OSwgMTU5NTUsIDE1OTU4LCAKKyAgICAxNTk2OCwgMTU5NzYsIDE1OTgzLCAxNTk5MSwgMTYwMDEsIDE2MDA2LCAxNjAxMywgMTYwMTgsIDE2MDI1LCAxNjAzNiwgCisgICAgMTYwNDYsIDE2MDUyLCAxNjA1NywgMTYwNjIsIDE0MzU2LCAxNjA2NiwgMTYwNzIsIDE2MDc4LCAxNjA4MywgMTYwODgsIAorICAgIDE2MDkzLCAxNjA5NywgMTQzNjEsIDE0MzY3LCAxNjEwMSwgMTQzNzMsIDE2MTA2LCAxNjExNCwgMTYxMjMsIDE2MTMwLCAKKyAgICA5MTQzLCAxNjEzNCwgMTYxMzYsIDE2MTQxLCAxNjE0NiwgMTYxNTIsIDE2MTU3LCAxNjE2MiwgMTYxNjcsIDE2MTcyLCAKKyAgICAxNjE3NiwgMTYxODIsIDE2MTg4LCAxNjE5MywgMTYxOTksIDE2MjA0LCAxNjIwOSwgMTYyMTUsIDE2MjIwLCAxNjIyNSwgCisgICAgMTYyMzAsIDE2MjM1LCAxNjI0MSwgMTYyNDYsIDE2MjUxLCAxNjI1NywgMTYyNjMsIDE2MjY4LCAxNjI3MywgMTYyODAsIAorICAgIDE2Mjg2LCAxNjI5NywgMTYzMDQsIDE2MzA5LCAxNjMxMywgMTYzMTcsIDE2MzIwLCAxNjMyOCwgMTYzMzMsIDE2MzQwLCAKKyAgICAxNjM0NywgMTYzNTMsIDE2MzU4LCAxNjM2MywgMTYzNzAsIDE2MzgwLCAxNjM4NSwgMTYzOTIsIDE2Mzk4LCAxNjQwOCwgCisgICAgMTY0MTgsIDE2NDMyLCAxNjQ0NiwgMTY0NjAsIDE2NDc0LCAxNjQ4OSwgMTY1MDQsIDE2NTIxLCAxNjUzOSwgMTY1NTIsIAorICAgIDE2NTU4LCAxNjU2MywgMTY1NjgsIDE2NTcyLCAxNjU3NywgMTY1ODUsIDE2NTkxLCAxNjU5NiwgMTY2MDEsIDE2NjA1LCAKKyAgICAxNjYxMCwgMTY2MTQsIDE2NjE5LCAxNjYyMywgMTY2MzQsIDE2NjQwLCAxNjY0NSwgMTY2NTAsIDE2NjU3LCAxNjY2MiwgCisgICAgMTY2NjYsIDE2NjcxLCAxNjY3NiwgMTY2ODIsIDE2Njg5LCAxNjY5NSwgMTY3MDAsIDE2NzA0LCAxNjcxMCwgMTY3MTUsIAorICAgIDE2NzIwLCAxNjcyNCwgMTY3MzAsIDE2NzM1LCAxNjc0MCwgMTY3NDcsIDE2NzUyLCAxMzEwNCwgMTY3NTYsIDE2NzYxLCAKKyAgICAxNjc2NSwgMTY3NzAsIDE2Nzc2LCAxNjc4MiwgMTY3ODksIDE2Nzk5LCAxNjgwNywgMTY4MTQsIDE2ODE5LCAxNjgyMywgCisgICAgMTY4MzIsIDE2ODQwLCAxNjg0NywgMTY4NTQsIDE2ODYwLCAxNjg2NiwgMTY4NzEsIDE2ODc2LCAxNjg4MiwgMTY4ODcsIAorICAgIDE2ODkzLCAxNjg5OCwgMTY5MDQsIDE2OTEwLCAxNjkxNywgMTY5MjMsIDE2OTI4LCAxNjkzMywgOTM0MSwgMTY5NDIsIAorICAgIDE2OTQ1LCAxNjk1MSwgMTY5NTYsIDE2OTYxLCAxNjk3MSwgMTY5NzgsIDE2OTg0LCAxNjk4OSwgMTY5OTQsIDE3MDAwLCAKKyAgICAxNzAwNSwgMTcwMTEsIDE3MDE2LCAxNzAyMiwgMTcwMjgsIDE3MDMzLCAxNzA0MSwgMTcwNDgsIDE3MDUzLCAxNzA1OCwgCisgICAgMTcwNjQsIDE3MDY5LCAxNzA3MywgMTcwODIsIDE3MDkzLCAxNzEwMCwgMTcxMDUsIDE3MTEzLCAxNzExOSwgMTcxMjYsIAorICAgIDE3MTMyLCAxNzEzNywgMTcxNDEsIDE3MTQ3LCAxNzE1MiwgMTcxNTcsIDE3MTYyLCAxNDQwLCA3Nzc3LCAyODc3LCAxNzE2NiwgCisgICAgMTcxNzAsIDE3MTc0LCAxNzE3OCwgMTcxODIsIDE3MTg2LCAxNzE4OSwgMTcxOTYsIDE3MjA0LCAxNDM4NywgMTcyMTEsIAorICAgIDE3MjIxLCAxNzIyOSwgMTcyMzYsIDE3MjQ0LCAxNzI1NCwgMTcyNjMsIDE3Mjc2LCAxNzI4MSwgMTcyODYsIDE3Mjk0LCAKKyAgICAxNzMwMSwgMTMyMDAsIDEzMjA5LCAxNzMwOCwgMTczMTgsIDE3MzMzLCAxNzMzOSwgMTczNDYsIDE3MzUzLCAxNzM1OSwgCisgICAgMTczNjcsIDE3Mzc3LCAxNzM4NywgMTQzOTIsIDE3Mzk2LCAxNzQwMiwgMTc0MDgsIDE3NDE2LCAxNzQyNCwgMTc0MjksIAorICAgIDE3NDM4LCAxNzQ0NiwgMTc0NTgsIDE3NDY4LCAxNzQ3OCwgMTc0ODgsIDE3NDk3LCAxNzUwOSwgMTc1MTksIDE3NTI5LCAKKyAgICAxNzU0MCwgMTc1NDUsIDE3NTU3LCAxNzU2OSwgMTc1ODEsIDE3NTkzLCAxNzYwNSwgMTc2MTcsIDE3NjI5LCAxNzY0MSwgCisgICAgMTc2NTMsIDE3NjY1LCAxNzY3NiwgMTc2ODgsIDE3NzAwLCAxNzcxMiwgMTc3MjQsIDE3NzM2LCAxNzc0OCwgMTc3NjAsIAorICAgIDE3NzcyLCAxNzc4NCwgMTc3OTYsIDE3ODA3LCAxNzgxOSwgMTc4MzEsIDE3ODQzLCAxNzg1NSwgMTc4NjcsIDE3ODc5LCAKKyAgICAxNzg5MSwgMTc5MDMsIDE3OTE1LCAxNzkyNywgMTc5MzgsIDE3OTUwLCAxNzk2MiwgMTc5NzQsIDE3OTg2LCAxNzk5OCwgCisgICAgMTgwMTAsIDE4MDIyLCAxODAzNCwgMTgwNDYsIDE4MDU4LCAxODA2OSwgMTgwODEsIDE4MDkzLCAxODEwNSwgMTgxMTcsIAorICAgIDE4MTI5LCAxODE0MSwgMTgxNTMsIDE4MTY1LCAxODE3NywgMTgxODksIDE4MjAwLCAxODIxMiwgMTgyMjQsIDE4MjM2LCAKKyAgICAxODI0OCwgMTgyNjAsIDE4MjcyLCAxODI4NCwgMTgyOTYsIDE4MzA4LCAxODMyMCwgMTgzMzEsIDE4MzQzLCAxODM1NSwgCisgICAgMTgzNjcsIDE4Mzc5LCAxODM5MSwgMTg0MDMsIDE4NDE1LCAxODQyNywgMTg0MzksIDE4NDUxLCAxODQ2MiwgMTg0NzQsIAorICAgIDE4NDg2LCAxODQ5OCwgMTg1MTAsIDE4NTIzLCAxODUzNiwgMTg1NDksIDE4NTYyLCAxODU3NSwgMTg1ODgsIDE4NjAxLCAKKyAgICAxODYxMywgMTg2MjYsIDE4NjM5LCAxODY1MiwgMTg2NjUsIDE4Njc4LCAxODY5MSwgMTg3MDQsIDE4NzE3LCAxODczMCwgCisgICAgMTg3NDMsIDE4NzU1LCAxODc2OCwgMTg3ODEsIDE4Nzk0LCAxODgwNywgMTg4MjAsIDE4ODMzLCAxODg0NiwgMTg4NTksIAorICAgIDE4ODcyLCAxODg4NSwgMTg4OTcsIDE4OTEwLCAxODkyMywgMTg5MzYsIDE4OTQ5LCAxODk2MiwgMTg5NzUsIDE4OTg4LCAKKyAgICAxOTAwMSwgMTkwMTQsIDE5MDI3LCAxOTAzOSwgMTkwNTIsIDE5MDY1LCAxOTA3OCwgMTkwOTEsIDE5MTA0LCAxOTExNywgCisgICAgMTkxMzAsIDE5MTQzLCAxOTE1NiwgMTkxNjksIDE5MTgxLCAxOTE5NCwgMTkyMDcsIDE5MjIwLCAxOTIzMywgMTkyNDYsIAorICAgIDE5MjU5LCAxOTI3MiwgMTkyODUsIDE5Mjk4LCAxOTMxMSwgMTkzMjMsIDE5MzM0LCAxOTM0NywgMTkzNjAsIDE5MzczLCAKKyAgICAxOTM4NiwgMTkzOTksIDE5NDEyLCAxOTQyNSwgMTk0MzgsIDE5NDUxLCAxOTQ2NCwgMTk0NzYsIDE5NDg5LCAxOTUwMiwgCisgICAgMTk1MTUsIDE5NTI4LCAxOTU0MSwgMTk1NTQsIDE5NTY3LCAxOTU4MCwgMTk1OTMsIDE5NjA2LCAxOTYxOCwgMTk2MzEsIAorICAgIDE5NjQ0LCAxOTY1NywgMTk2NzAsIDE5NjgzLCAxOTY5NiwgMTk3MDksIDE5NzIyLCAxOTczNSwgMTk3NDgsIDE5NzYwLCAKKyAgICAxOTc3MywgMTk3ODYsIDE5Nzk5LCAxOTgxMiwgMTk4MjUsIDE5ODM4LCAxOTg1MSwgMTk4NjQsIDE5ODc3LCAxOTg5MCwgCisgICAgMTk5MDIsIDE5OTE1LCAxOTkyOCwgMTk5NDEsIDE5OTU0LCAxOTk2NywgMTk5ODAsIDE5OTkzLCAyMDAwNiwgMjAwMTksIAorICAgIDIwMDMyLCAyMDA0NCwgMjAwNTcsIDIwMDcwLCAyMDA4MywgMjAwOTYsIDIwMTA5LCAyMDEyMiwgMjAxMzUsIDIwMTQ4LCAKKyAgICAyMDE2MSwgMjAxNzQsIDIwMTg2LCAyMDE5OSwgMjAyMTIsIDIwMjI1LCAyMDIzOCwgMjAyNTEsIDIwMjY0LCAyMDI3NywgCisgICAgMjAyOTAsIDIwMzAzLCAyMDMxNiwgMjAzMjgsIDIwMzQxLCAyMDM1NCwgMjAzNjcsIDIwMzgwLCAyMDM5MywgMjA0MDYsIAorICAgIDIwNDE5LCAyMDQzMiwgMjA0NDUsIDIwNDU4LCAyMDQ3MCwgMjA0ODMsIDIwNDk2LCAyMDUwOSwgMjA1MjIsIDIwNTM1LCAKKyAgICAyMDU0OCwgMjA1NjEsIDIwNTc0LCAyMDU4NywgMjA2MDAsIDIwNjEyLCAyMDYyNSwgMjA2MzgsIDIwNjUxLCAyMDY2NCwgCisgICAgMjA2NzcsIDIwNjkwLCAyMDcwMywgMjA3MTYsIDIwNzI5LCAyMDc0MiwgMjA3NTQsIDIwNzY1LCAyMDc3MywgMjA3ODEsIAorICAgIDIwNzg4LCAyMDc5NCwgMjA3OTgsIDIwODA0LCAyMDgxMCwgMjA4MTgsIDIwODI0LCAyMDgyOSwgMjA4MzMsIDIwODQyLCAKKyAgICA5MTQ4LCAyMDg1MywgMjA4NjAsIDIwODY4LCAyMDg3NSwgMjA4ODIsIDEwOTQxLCAyMDg4OSwgMjA4OTgsIDIwOTAzLCAKKyAgICAyMDkwOCwgNzgwNSwgMjA5MTUsIDIwOTIwLCAyMDkyMywgMjA5MjgsIDIwOTM2LCAyMDk0MywgMjA5NTAsIDIwOTU3LCAKKyAgICAyMDk2MywgMjA5NzIsIDIwOTgxLCAyMDk4NywgMjA5OTYsIDIxMDAwLCAyMTAwNiwgMjEwMTEsIDIxMDIxLCAyMTAyOCwgCisgICAgMjEwMzQsIDIxMDQyLCAyMTA0OCwgMjEwNTUsIDIxMDY1LCAyMTA3NCwgMjEwNzgsIDIxMDg1LCAyMTA4OSwgMjEwOTQsIAorICAgIDIxMTAwLCAyMTEwOCwgMjExMTIsIDIxMTIyLCAxNDQwMiwgMjExMzEsIDIxMTM3LCAyMTE0MSwgMjExNTAsIDE0NDA3LCAKKyAgICAyMTE1NiwgMjExNjMsIDIxMTc0LCAyMTE4MiwgMjExOTEsIDIxMTk5LCA4OTMxLCAyMTIwNywgMjEyMTIsIDIxMjE4LCAKKyAgICAyMTIyMywgMjEyMjcsIDIxMjMxLCAyMTIzNSwgOTYzMiwgMjEyNDAsIDIxMjQ4LCAyMTI1NSwgMjEyNjQsIDIxMjcxLCAKKyAgICAyMTI3OCwgMTA4NzEsIDIxMjg1LCAyMTI5MSwgMjEyOTUsIDIxMzAxLCAyMTMwOCwgMjEzMTQsIDIxMzIyLCAyMTMyOCwgCisgICAgMjEzMzUsIDIxMzQxLCAyMTM0NywgMjEzNTYsIDIxMzYwLCAyMTM2OCwgMjEzNzcsIDIxMzg0LCAyMTM4OSwgMjEzOTMsIAorICAgIDIxNDA0LCAyMTQwOSwgMjE0MTQsIDIxNDE5LCAyMTQzMiwgNzk5NSwgMjE0MzYsIDIxNDQyLCAyMTQ1MCwgMjE0NTQsIAorICAgIDIxNDYxLCAyMTQ3MCwgMjE0NzUsIDE0Njc4LCAyMTQ4MywgMjE0ODcsIDIxNDk5LCAyMTUwNCwgMjE1MDgsIDIxNTExLCAKKyAgICAyMTUxNywgMjE1MjMsIDIxNTI4LCAyMTUzMiwgMjE1MzUsIDIxNTQ2LCAyMTU1MSwgOTM3NiwgMjE1NTgsIDIxNTYzLCAKKyAgICA5MzgxLCAyMTU2OCwgMjE1NzMsIDIxNTc4LCAyMTU4MywgMjE1ODgsIDIxNTkzLCAyMTU5OCwgMjE2MDMsIDIxNjA4LCAKKyAgICAyMTYxMywgMjE2MTgsIDIxNjIzLCAyMTYyOSwgMjE2MzQsIDIxNjM5LCAyMTY0NCwgMjE2NDksIDIxNjU0LCAyMTY1OSwgCisgICAgMjE2NjQsIDIxNjY5LCAyMTY3NCwgMjE2ODAsIDIxNjg2LCAyMTY5MSwgMjE2OTYsIDIxNzAxLCAyMTcwNiwgMjE3MTEsIAorICAgIDIxNzE2LCAyMTcyMSwgMjE3MjYsIDIxNzMxLCAyMTczNywgMjE3NDIsIDIxNzQ3LCAyMTc1MiwgMjE3NTgsIDIxNzY0LCAKKyAgICAyMTc2OSwgMjE3NzQsIDIxNzc5LCAyMTc4NCwgMjE3ODksIDIxNzk0LCAyMTc5OSwgMjE4MDQsIDIxODEwLCAyMTgxNSwgCisgICAgMjE4MjAsIDIxODI1LCAyMTgzMCwgMjE4MzYsIDIxODQxLCAyMTg0NiwgMjE4NTAsIDEzNjgsIDEyOSwgMjE4NTgsIDIxODYyLCAKKyAgICAyMTg2NiwgMjE4NzAsIDIxODc1LCAyMTg3OSwgMTMxMTAsIDEyNDY5LCAyMTg4MywgMjE4ODgsIDIxODkyLCAyMTg5NywgCisgICAgMjE5MDEsIDIxOTA2LCAyMTkxMCwgMjE5MTYsIDIxOTIxLCAyMTkyNSwgMjE5MjksIDIxOTM3LCAyMTk0MSwgMjE5NDUsIAorICAgIDIxOTUwLCAyMTk1NSwgMjE5NTksIDIxOTY1LCAyMTk3MCwgMjE5NzQsIDIxOTc5LCAyMTk4NCwgMjE5ODgsIDIxOTk1LCAKKyAgICAyMjAwMiwgMjIwMDksIDIyMDEzLCAyMjAxNywgMjIwMjIsIDIyMDI2LCAyMjAyOSwgMjIwMzUsIDIyMDQ4LCAyMjA1MywgCisgICAgMjIwNjIsIDIyMDY3LCA5NDIxLCAyMjA3MiwgMjIwNzUsIDI3MTIsIDI3MTcsIDIyMDc5LCAyMjA4NSwgMjIwOTEsIDcyMDksIAorICAgIDIyMDk2LCAyMjEwMSwgMjIxMDYsIDIyMTEyLCAyMjExNywgMTM4OTYsIDIyMTIyLCAyMjEyNywgMjIxMzIsIDIyMTM3LCAKKyAgICAyMjE0MywgMjIxNDgsIDIyMTUzLCAyMjE1OSwgMjIxNjQsIDIyMTY4LCAyMjE3MywgMjIxNzgsIDIyMTgzLCAyMjE4OCwgCisgICAgMjIxOTIsIDIyMTk3LCAyMjIwMSwgMjIyMDYsIDIyMjExLCAyMjIxNiwgMjIyMjEsIDIyMjI1LCAyMjIzMCwgMjIyMzQsIAorICAgIDIyMjM5LCAyMjI0NCwgMjIyNDksIDIyMjU0LCAyODg2LCAyMjE2OSwgMjIyNTgsIDIyMjY2LCAyMjI3MywgOTcyNiwgCisgICAgMjIyODUsIDIyMjkzLCAyMjE3NCwgMjIzMDAsIDIyMzA1LCAyMjMxMywgMjIxNzksIDIyMzE4LCAyMjMyMywgMjIzMzEsIAorICAgIDIyMzM2LCAyMjE4NCwgMjIzNDEsIDIyMzQ2LCAyMjM1MCwgMjIzNTYsIDIyMzY0LCAyMjM2NywgMjIzNzQsIDIyMzc4LCAKKyAgICAyMjM4MiwgMjIzODgsIDIyMzk1LCAyMjQwMCwgODk1OCwgMTcyNywgMTczMiwgMjI0MDQsIDIyNDEwLCAyMjQxNiwgMjI0MjEsIAorICAgIDIyNDI1LCAyMjQyOSwgMjI0MzMsIDIyNDM3LCAyMjQ0MSwgMjI0NDUsIDIyNDQ5LCAyMjQ1MiwgMjI0NTgsIDIyNDY1LCAKKyAgICAyMjQ3MywgMjI0NzksIDIyNDg1LCAyMjQ5MCwgMjI0OTUsIDIyNDk5LCAxMzgxNiwgMTM4MjMsIDIyNTA0LCAyMjUxNiwgCisgICAgMjI1MTksIDIyNTI2LCAxNjM0OSwgMjI1MzMsIDIyNTQxLCAyMjU1MiwgMjI1NjEsIDIyNTc0LCAyMjU4NCwgMjI1OTgsIAorICAgIDIyNjEwLCAyMjYyNCwgMjI2MzYsIDIyNjQ2LCAyMjY1OCwgMjI2NjQsIDIyNjc5LCAyMjcwMywgMjI3MjEsIDIyNzQwLCAKKyAgICAyMjc1MywgMjI3NjcsIDIyNzg1LCAyMjgwMSwgMjI4MTgsIDIyODM2LCAyMjg0NywgMjI4NjYsIDIyODgzLCAyMjkwMywgCisgICAgMjI5MjEsIDIyOTMzLCAyMjk0NywgMjI5NjEsIDIyOTczLCAyMjk5MCwgMjMwMDksIDIzMDI3LCAyMzAzOSwgMjMwNTcsIAorICAgIDIzMDc2LCAxNDU0NiwgMjMwODksIDIzMTA5LCAyMzEyMSwgMTA1MTYsIDIzMTMzLCAyMzEzOCwgMjMxNDMsIDIzMTQ4LCAKKyAgICAyMzE1NCwgMjMxNTksIDIzMTYzLCAyMzE3MCwgMjM5OCwgMjMxNzQsIDIzMTgwLCAyMzE4NCwgMjMxODcsIDIzMTkxLCAKKyAgICAyMzE5OSwgMjMyMDUsIDIyMjAyLCAyMzIwOSwgMjMyMTgsIDIzMjI5LCAyMzIzNSwgMjMyNDEsIDIzMjUwLCAyMzI1OCwgCisgICAgMjMyNjUsIDIzMjcwLCAyMzI3NCwgMjMyODEsIDIzMjg3LCAyMzI5NiwgMjMzMDQsIDIzMzExLCAyMzMyMSwgMjMzMzAsIAorICAgIDIzMzQwLCAyMzM0NSwgMjMzNTQsIDIzMzYzLCAyMzM3NCwgMjMzODUsIDM5NjMsIDIzMzk1LCAyMzM5OSwgMjM0MDksIAorICAgIDIzNDE3LCAyMzQyNywgMjM0MzgsIDIzNDQzLCAyMzQ1MywgMjM0NjEsIDIzNDY4LCAyMzQ3NCwgMjM0ODEsIDIzNDg2LCAKKyAgICAyMjIxMiwgMjM0OTAsIDIzNDk5LCAyMzUwMywgMjM1MDYsIDIzNTExLCAyMzUxOCwgMjM1MjcsIDIzNTM1LCAyMzU0MywgCisgICAgMjM1NTMsIDIzNTYyLCAyMzU2OCwgMjM1NzQsIDIyMjE3LCAyMjIyMiwgMjM1NzgsIDIzNTg4LCAyMzU5OCwgMjM2MDgsIAorICAgIDIzNjE2LCAyMzYyMywgMjM2MzMsIDIzNjQxLCAyMzY0OSwgMjM2NTUsIDIzNjYzLCA5MzAsIDIzNjcyLCAxNDczNywgNTQyLCAKKyAgICAyMzY4NiwgMjM2OTUsIDIzNzAzLCAyMzcxNCwgMjM3MjUsIDIzNzM1LCAyMzc0NCwgMjM3NTYsIDIzNzY1LCAyMzc3NCwgCisgICAgMjM3ODAsIDIzNzg5LCAyMzc5OCwgMjM4MDgsIDIzODE2LCAyMzgyNCwgOTM1MywgMjM4MzAsIDIzODMzLCAyMzgzNywgCisgICAgMjM4NDIsIDIzODQ3LCA5ODQxLCAyMjIzNSwgMjIyNDAsIDIzODU1LCAyMzg2MSwgMjM4NjcsIDIzODcyLCAyMzg3NywgCisgICAgMjM4ODEsIDIzODg5LCAyMzg5NSwgMjM5MDEsIDIzOTA1LCAzNTI1LCAyMzkxMywgMjM5MTgsIDIzOTIzLCAyMzkyNywgCisgICAgMjM5MzEsIDk5MjEsIDIzOTM4LCAyMzk0NiwgMjM5NjAsIDIzOTY3LCAyMzk3MywgOTkzMCwgOTkzNiwgMjM5ODEsIDIzOTg5LCAKKyAgICAyMzk5NiwgMjQwMDEsIDI0MDA2LCAyMjI0NSwgMjQwMTIsIDI0MDIzLCAyNDAyNywgMjQwMzIsIDI2MDEsIDI0MDM3LCAKKyAgICAyNDA0OCwgMjQwNTQsIDI0MDU5LCAyNDA2MywgMjQwNjcsIDI0MDcwLCAyNDA3NywgMjQwODQsIDI0MDkxLCAyNDA5NywgCisgICAgMjQxMDEsIDIyMjUwLCAyNDEwNiwgMjQxMTAsIDI0MTE0LCAxMDM3LCAyNDExOSwgMjQxMjQsIDI0MTI5LCAyNDEzNCwgCisgICAgMjQxMzksIDI0MTQ0LCAyNDE0OSwgMjQxNTQsIDI0MTU5LCAyNDE2NCwgMjQxNjksIDI0MTc0LCAyNDE3OSwgMjQxODQsIAorICAgIDI0MTkwLCAyNDE5NSwgMjQyMDAsIDI0MjA1LCAyNDIxMCwgMjQyMTUsIDI0MjIwLCAyNDIyNiwgMjQyMzEsIDI0MjM2LCAKKyAgICAyNDI0MSwgMjQyNDYsIDI0MjUxLCAyNDI1NiwgMjQyNjEsIDI0MjY3LCAyNDI3MywgMjQyNzgsIDI0Mjg0LCAyNDI4OSwgCisgICAgMjQyOTQsIDUsIDI0MzAwLCAyNDMwNCwgMjQzMDgsIDI0MzEyLCAyNDMxNywgMjQzMjEsIDI0MzI1LCAyNDMyOSwgMjQzMzMsIAorICAgIDI0MzM4LCAyNDM0MiwgMjQzNDcsIDI0MzUxLCAyNDM1NCwgMjQzNTgsIDI0MzYzLCAyNDM2NywgMjQzNzIsIDI0Mzc2LCAKKyAgICAyNDM4MCwgMjQzODQsIDI0Mzg5LCAyNDM5MywgMjQzOTcsIDI0NDA3LCAyNDQxMiwgMjQ0MTYsIDI0NDIwLCAyNDQyNSwgCisgICAgMjQ0MzAsIDI0NDM5LCAyNDQ0NCwgMjQ0NDksIDI0NDUzLCAyNDQ1NywgMjQ0NzAsIDI0NDgyLCAyNDQ5MSwgMjQ1MDAsIAorICAgIDI0NTA2LCAyNDUxMSwgMjQ1MTUsIDI0NTE5LCAyNDUyOSwgMjQ1MzgsIDI0NTQ2LCAyNDU1MiwgMjQ1NTcsIDI0NTYxLCAKKyAgICAyNDU2OCwgMjQ1NzgsIDI0NTg3LCAyNDU5NSwgMjQ2MDMsIDI0NjEwLCAyNDYxOCwgMjQ2MjcsIDI0NjM2LCAyNDY0NCwgCisgICAgMjQ2NDksIDI0NjUzLCAyNDY1NywgMjQ2NjAsIDI0NjYyLCAyNDY2NiwgMjQ2NzAsIDI0Njc1LCAyNDY4MCwgMjQ2ODQsIAorICAgIDI0Njg4LCAyNDY5MSwgMjQ2OTUsIDI0Njk4LCAyNDcwMiwgMjQ3MDUsIDI0NzA4LCAyNDcxMiwgMjQ3MTgsIDI0NzIyLCAKKyAgICAyNDcyNiwgMjQ3MzAsIDI0NzM1LCAyNDc0MCwgMjQ3NDUsIDI0NzQ5LCAyNDc1MiwgMjQ3NTcsIDI0NzYzLCAyNDc2OCwgCisgICAgMjQ3NzQsIDI0Nzc5LCAyNDc4MywgMjQ3ODcsIDI0NzkxLCAyNDc5NiwgMjQ4MDAsIDI0ODA1LCAyNDgwOSwgMjQ4MTMsIAorICAgIDI0ODIwLCAyNDgyNCwgMjQ4MjcsIDI0ODMxLCAyNDgzNywgMjQ4NDMsIDI0ODQ3LCAyNDg1MSwgMjQ4NTYsIDI0ODYzLCAKKyAgICAyNDg2OSwgMjQ4NzMsIDI0ODgyLCAyNDg4NiwgMjQ4OTAsIDI0ODkzLCAyNDg5OSwgMjQ5MDQsIDI0OTEwLCAxNDg5LCAKKyAgICAxNzkxLCAyNDkxNSwgMjQ5MjAsIDI0OTI1LCAyNDkzMCwgMjQ5MzUsIDI0OTQwLCAyNDk0NSwgMjE0OCwgMjE5NCwgMjQ5NTAsIAorICAgIDI0OTUzLCAyNDk1NywgMjQ5NjEsIDI0OTY2LCAyNDk3MCwgMjQ5NzQsIDI0OTc3LCAyNDk4MiwgMjQ5ODcsIDI0OTkxLCAKKyAgICAyNDk5NCwgMjQ5OTksIDI1MDAzLCAyNTAwOCwgMjUwMTIsIDE0NzQ5LCAyNTAxNywgMjUwMjAsIDI1MDIzLCAyNTAyNywgCisgICAgMjUwMzIsIDI1MDM2LCAyNTA0OSwgMjUwNTMsIDI1MDU2LCAyNTA2NCwgMjUwNzMsIDI1MDgwLCAyNTA4NSwgMjUwOTEsIAorICAgIDI1MDk3LCAyNTEwNSwgMjUxMTIsIDI1MTE5LCAyNTEyMywgMjUxMjcsIDI1MTMxLCAyNTEzNiwgMjUxNDEsIDI1MTQ1LCAKKyAgICAyNTE1MywgMjUxNTgsIDI1MTcwLCAyNTE4MSwgMjUxODYsIDI1MTkwLCAyNTE5NCwgMjUyMDAsIDI1MjA1LCAyNTIxMCwgCisgICAgMjUyMTQsIDI1MjE4LCAyNTIyMSwgMjUyMjcsIDc5MTUsIDIzMTYsIDI1MjMxLCAyNTIzNiwgMjUyNTIsIDk0NjgsIDI1MjcyLCAKKyAgICAyNTI4MSwgMjUyOTcsIDI1MzAxLCAyNTMwNCwgMjUzMTAsIDI1MzIwLCAyNTMyNiwgMjUzMzUsIDI1MzUwLCAyNTM2MiwgCisgICAgMjUzNzMsIDI1MzgxLCAyNTM5MCwgMjUzOTYsIDI1NDA1LCAyNTQxNSwgMjU0MjYsIDI1NDM3LCAyNTQ0NiwgMjU0NTMsIAorICAgIDI1NDYyLCAyNTQ3MCwgMjU0NzcsIDI1NDg1LCAyNTQ5MiwgMjU0OTksIDI1NTEyLCAyNTUxOSwgMjU1MjUsIDI1NTMwLCAKKyAgICAyNTUzOSwgMjU1NDUsIDI1NTUwLCAyNTU1OCwgMjU1NjUsIDIzNDE5LCAyNTU3NywgMjU1ODksIDI1NjAzLCAyNTYxMSwgCisgICAgMjU2MTgsIDI1NjMwLCAyNTYzOSwgMjU2NDgsIDI1NjU2LCAyNTY2NCwgMjU2NzIsIDI1Njc5LCAyNTY4OCwgMjU2OTYsIAorICAgIDI1NzA2LCAyNTcxNSwgMjU3MjUsIDI1NzM0LCAyNTc0MywgMjU3NTEsIDI1NzU2LCAyNTc2MCwgMjU3NjMsIDI1NzY3LCAKKyAgICAyNTc3MSwgMjU3NzUsIDI1Nzc5LCAyNTc4MywgMjU3ODksIDI1Nzk1LCAyNTgwMywgMTQ3OTQsIDI1ODEwLCAyNTgxNSwgCisgICAgMjU4MjIsIDI1ODI4LCAyNTgzNSwgMTQ4MDIsIDI1ODQyLCAyNTg0NSwgMjU4NTcsIDI1ODY1LCAyNTg3MSwgMjU4NzYsIAorICAgIDI1ODgwLCA5ODcxLCAyNTg5MSwgMjU5MDEsIDI1OTEwLCAyNTkxNywgMjU5MjEsIDE0ODA3LCAyNTkyNCwgMjU5MzEsIAorICAgIDI1OTM1LCAyNTk0MSwgMjU5NDQsIDI1OTUxLCAyNTk1NywgMjU5NjQsIDI1OTcwLCAyNTk3NCwgMjU5NzksIDI1OTgzLCAKKyAgICAyNTk5MiwgMjU5OTksIDI2MDA1LCA3OTU2LCAyNjAxMiwgMjYwMjAsIDI2MDI3LCAyNjAzMywgMjYwMzgsIDI2MDQ0LCAKKyAgICAyNjA1MCwgMjYwNTgsIDI2MDYyLCAyNjA2NSwgMjYwNjcsIDI1NzY4LCAyNjA3NiwgMjYwODIsIDI2MDkyLCAyNjA5NywgCisgICAgMjYxMDQsIDI2MTEwLCAyNjExNSwgMjYxMjAsIDI2MTI1LCAyNjEyOSwgMjYxMzQsIDI2MTQxLCAyNjE1MCwgMjYxNTQsIAorICAgIDI2MTYxLCAyNjE3MCwgMjYxNzYsIDI2MTgxLCAyNjE4NywgMjYxOTIsIDI2MTk5LCAyNjIxMCwgMjYyMTUsIDI2MjE5LCAKKyAgICAyNjIyOSwgMjYyMzUsIDI2MjM5LCAyNjI0NCwgMjYyNTQsIDI2MjYzLCAyNjI2NywgMjYyNzQsIDI2MjgyLCAyNjI4OSwgCisgICAgMjYyOTUsIDI2MzAwLCAyNjMwOCwgMjYzMTUsIDI2MzI3LCAyNjMzNiwgMjYzNDAsIDEzMDQ2LCAyNjM0OCwgMjYzNTgsIAorICAgIDI2MzYyLCAyNTA2MCwgMjYzNzMsIDI2Mzc4LCAyNjM4MiwgMjYzODksIDI2Mzk2LCAyMTk2MSwgMjU2OTMsIDI2NDAxLCAKKyAgICAyNjQwNSwgMjY0MDgsIDIyODUzLCAyNjQxMywgMjY0MjcsIDI2NDQzLCAyNjQ2MSwgMjY0ODAsIDI2NDk3LCAyNjUxNSwgCisgICAgMjI4NzIsIDI2NTMyLCAyNjU1MiwgMjI4ODksIDI2NTY0LCAyNjU3NiwgMTU3MzIsIDI2NTg4LCAyMjkwOSwgMjY2MDIsIAorICAgIDI2NjE0LCAxMDUyOSwgMjY2MjgsIDI2NjMzLCAyNjYzOCwgMjY2NDMsIDI2NjQ5LCAyNjY1NSwgMjY2NjEsIDI2NjY1LCAKKyAgICAyNjY3MiwgMjY2NzcsIDI2Njg3LCAyNjY5MywgMTAxNzYsIDI2Njk5LCAyNjcwMSwgMjY3MDYsIDI2NzE0LCAyNjcxOCwgCisgICAgMjYxMzcsIDI2NzI0LCAyNjczMSwgMTE1MTcsIDExNTI3LCAyNjczOCwgMjY3NDgsIDI2NzUzLCAyNjc1NywgMjY3NjAsIAorICAgIDI2NzY2LCAyNjc3NCwgMjY3ODYsIDI2Nzk2LCAyNjgxMiwgMjY4MjUsIDI2ODM5LCAxNTc1MCwgMjY4NTMsIDI2ODYwLCAKKyAgICAyNjg2NCwgMjY4NjcsIDI2ODcyLCAyNjg3NiwgMjY4ODMsIDI2ODkwLCAyNjkwMCwgMjY5MDUsIDI2OTEwLCAyNjkxNSwgCisgICAgMjY5MjMsIDI2OTMxLCAyNjk0MCwgMjY5NDUsIDk1NjUsIDI2OTQ5LCAyNjk1MiwgMjY5NTUsIDI2OTYwLCAyNjk2NywgCisgICAgMjY5NzIsIDI2OTg4LCAyNjk5NiwgMjcwMDQsIDk0MTYsIDI3MDEyLCAyNzAxNywgMjcwMjEsIDI3MDI3LCAyNzAzMywgCisgICAgMjcwMzYsIDI3MDQyLCAyNzA1NCwgMjcwNjIsIDI3MDY5LCAyNzA3NSwgMjcwODIsIDI3MDkzLCAyNzEwNywgMjcxMjAsIAorICAgIDI3MTI5LCAyNzEzOCwgMjcxNTAsIDI3MTYxLCAyNzE3MSwgMjcxODAsIDI3MTg5LCAyNzE5NywgMjcyMDgsIDc5MzgsIAorICAgIDI3MjE1LCAyNzIyMSwgMjcyMjYsIDI3MjMyLCAyNzIzOSwgMjcyNDksIDI3MjU5LCAyNzI2OCwgMjcyNzQsIDI3MjgxLCAKKyAgICAyNzI4NiwgMjcyOTMsIDI3MzAxLCAyNzMwOSwgMjczMjEsIDYyNDYsIDI3MzI4LCAyNzMzNywgMjczNDUsIDI3MzUxLCAKKyAgICAyNzM1NywgMjczNjIsIDI3MzY2LCAyNzM2OSwgMjczNzUsIDI3MzgyLCAyNzM4NywgMjczOTIsIDI3Mzk2LCAyNzQwOCwgCisgICAgMjc0MTksIDI3NDI4LCAyNzQzNiwgMTQ5MzQsIDI3NDQxLCAyNzQ0NywgMjc0NTMsIDExNTEwLCA4NjM1LCAyNzQ1OCwgCisgICAgMjc0NjIsIDI3NDY1LCAyNzQ2OCwgMjc0NzQsIDI3NDgyLCAyNzQ5MCwgMjc0OTQsIDI3NDk4LCAyNzUwMywgMjc1MDYsIAorICAgIDI3NTE1LCAyNzUxOSwgMjc1MjcsIDI3NTM4LCAyNzU0MiwgMjc1NDgsIDI3NTU0LCAyNzU1OCwgMjc1NjQsIDI3NTcyLCAKKyAgICAyNzU5NCwgMjc2MTgsIDI3NjI1LCAyNzYzMiwgMjc2MzgsIDI3NjQ2LCAyNzY1MiwgMjc2NTcsIDI3NjY4LCAyNzY4NiwgCisgICAgMjc2OTMsIDI3NzAxLCAyNzcwNSwgMjc3MTQsIDI3NzI3LCAyNzczNSwgMjc3NDcsIDI3NzU4LCAyNzc2OCwgMjc3ODIsIAorICAgIDI3NzkxLCAyNzc5OSwgMjc4MTEsIDk0ODUsIDI3ODIyLCAyNzgzMywgMjc4NDUsIDI3ODU1LCAyNzg2NCwgMjc4NjksIAorICAgIDI3ODczLCAyNzg4MSwgMjc4OTEsIDI3ODk2LCAyNzkwMCwgMjc5MDMsIDI3OTA2LCAyNzkxNCwgMjc5MjIsIDI3OTMxLCAKKyAgICAyNzk0MSwgMjc5NTAsIDI3OTU2LCAyNzk3MCwgMjY2MywgMjc5OTIsIDI4MDAzLCAyODAxMiwgMjgwMjIsIDI4MDM0LCAKKyAgICAyODA0MywgMjgwNTIsIDI4MDYyLCAyODA3MCwgMjgwNzgsIDI4MDg3LCAyODA5MiwgMjgxMDMsIDI4MTA4LCAyODExOSwgCisgICAgMjgxMjMsIDI4MTMzLCAyODE0MiwgMjgxNTAsIDI4MTYwLCAyODE3MCwgMjgxNzgsIDI4MTg3LCAyODE5NCwgMjgyMDIsIAorICAgIDI4MjA5LCAyODIxOCwgMjgyMjIsIDI4MjMwLCAyODIzNywgMjgyNDUsIDI4MjUyLCAyODI2MywgMjgyNzgsIDI4Mjg1LCAKKyAgICAyODI5MSwgMjgzMDEsIDI4MzEwLCAyODMxNiwgMjgzMjAsIDI4MzI3LCAyODMzMSwgMTQwMTgsIDI4MzM3LCAyODM0MSwgCisgICAgMjgzNDYsIDI4MzUzLCAyODM1NywgMjgzNjEsIDI4MzY5LCAyODM3NywgMjgzODMsIDI4MzkyLCAyODM5OSwgMjg0MDQsIAorICAgIDI4NDA5LCAyODQxOSwgMjM0ODgsIDI4NDIzLCAyODQyNiwgMjg0MzEsIDI4NDM2LCAyODQ0MSwgMjg0NDYsIDI4NDUxLCAKKyAgICAyODQ1NiwgMjg0NjEsIDI4NDY2LCAyODQ3MiwgMjg0NzcsIDI4NDgyLCAyODQ4OCwgMTIxOCwgNzA0LCAyODQ5MywgMjg1MDIsIAorICAgIDIzNjQsIDI4NTA5LCAyODUxNCwgMjg1MTgsIDI4NTI0LCAxMjY3LCA1NDYsIDMxOCwgMjg1MjksIDI4NTM4LCAyODU0NiwgCisgICAgMjg1NTUsIDI4NTYzLCAyODU3NCwgMjg1ODMsIDI4NTkxLCAyODU5NSwgMjg1OTgsIDI4NjA2LCAyODYxNCwgMjg2MTksIAorICAgIDE0NzYyLCAyODYyNSwgMjg2MzEsIDI4NjM3LCA1ODcyLCAyODY0MiwgMjg2NDYsIDI4NjUyLCAyODY1NiwgMjg2NjMsIAorICAgIDE0NTUsIDI4NjY5LCAyODY3NiwgOTU3MiwgMjg2ODAsIDI4NjkwLCAyODY5OCwgMjg3MDQsIDI4NzEzLCAyODcyMSwgCisgICAgMjg3MjcsIDI4NzM1LCAyODc0MiwgMTExMDMsIDI4NzQ4LCAyODc1NSwgMjg3NjAsIDI4NzY3LCAxNDk2LCAyMTQ3LCAKKyAgICAyODc3MywgMjg3NzksIDI4Nzg2LCAyODc5NywgMjg4MDgsIDI4ODE2LCAyODgyMywgMjg4MzMsIDI4ODQyLCAyODg1MCwgCisgICAgMjg4NTksIDI4ODY2LCAyODg3MywgMjg4ODYsIDI4ODk3LCAxMjcyLCAyODkxNiwgMjg5MjEsIDI4OTI5LCAzNTc1LCAKKyAgICAyODkzMywgMjg5MzgsIDI4OTQyLCAxNDU5LCAyNDY4OSwgMjg5NTIsIDI4OTU2LCAyODk2MSwgMjg5NjUsIDM0OTMsIAorICAgIDI4OTcxLCAyODk3OSwgMjg5ODYsIDI4OTk3LCAyOTAwNSwgMjkwMTMsIDM1NzYsIDI3OSwgMjkwMTgsIDI5MDI2LCAyOTAzNCwgCisgICAgMjkwNDEsIDI5MDQ3LCAyOTA1MiwgMjIxNiwgMjkwNTksIDI5MDY1LCAyNTk3NSwgMjYyMDUsIDI5MDcxLCAxMDYsIDI5MDc1LCAKKyAgICAyOTA3OSwgMjkwODUsIDYxNSwgOTMyMSwgMjkwOTAsIDI5MDk3LCAyOTEwMywgMjMyNywgMjkxMDcsIDI5MTExLCAxNTE3NCwgCisgICAgMjkxMTQsIDI5MTE5LCAyOTEyNiwgMjkxMzIsIDI5MTM3LCAyOTE0NSwgMjkxNTIsIDI5MTU4LCAyMjMzOCwgMjkxNjIsIAorICAgIDI5MTY2LCAzNjQ2LCAxNjYxMiwgMjkxNzAsIDI5MTc1LCAyOTE3OCwgMjkxODYsIDI5MTk0LCAyOTE5OSwgMjkyMDIsIAorICAgIDI5MjA5LCAyOTIxOSwgMjkyMzEsIDI5MjM2LCAyOTI0MCwgMjkyNDgsIDI5MjU1LCAyOTI2MSwgMjkyNjgsIDI5Mjc1LCAKKyAgICAyOTI3OCwgMjkyODIsIDI5Mjg2LCAxNDYzLCAyOTI5NiwgMjkyOTgsIDI5MzAzLCAyOTMwOSwgMjkzMTUsIDI5MzIwLCAKKyAgICAyOTMyNSwgMjkzMzAsIDI5MzM1LCAyOTM0MCwgMjkzNDUsIDI5MzUwLCAyOTM1NSwgMjkzNjAsIDI5MzY1LCAyOTM3MCwgCisgICAgMjkzNzUsIDI5MzgwLCAyOTM4NSwgMjkzOTEsIDI5Mzk3LCAyOTQwMywgMjk0MDksIDI5NDE0LCAyOTQxOSwgMjk0MjQsIAorICAgIDI5NDMwLCAyOTQzNSwgMjk0NDAsIDI5NDQ1LCAyOTQ1MSwgMjk0NTYsIDI5NDYyLCAyOTQ2NywgMjk0NzIsIDI5NDc3LCAKKyAgICAyOTQ4MiwgMjk0ODgsIDI5NDkzLCAyOTQ5OSwgMjk1MDQsIDI5NTA5LCAyOTUxNCwgMjk1MTksIDI5NTI1LCAyOTUzMCwgCisgICAgMjk1MzYsIDI5NTQxLCAyOTU0NiwgMjk1NTEsIDI5NTU2LCAyOTU2MSwgMjk1NjYsIDI5NTcxLCAyOTU3NiwgMjk1ODEsIAorICAgIDI5NTg3LCAyOTU5MywgMjk1OTksIDI5NjA0LCAyOTYwOSwgMjk2MTQsIDI5NjE5LCAyOTYyNSwgMjk2MzEsIDI5NjM3LCAKKyAgICAyOTY0MywgMjk2NDksIDI5NjU1LCAyOTY2MCwgMjk2NjYsIDI5NjcxLCAyOTY3NiwgMjk2ODEsIDI5Njg2LCAyOTY5MiwgCisgICAgMjQ0MywgMjk2OTcsIDI0NTAsIDI0NTcsIDI3NTQsIDI5NzAyLCAyNDYzLCAyNDczLCAyOTcwOCwgMjk3MTIsIDI5NzE3LCAKKyAgICAyOTcyMiwgMjk3MjgsIDI5NzMzLCAyOTczOCwgMjk3NDIsIDI5NzQ3LCAyOTc1MywgMjk3NTgsIDI5NzYzLCAyOTc2OCwgCisgICAgMjk3NzQsIDI5Nzc5LCAyOTc4MywgMjk3ODcsIDI5NzkyLCAyOTc5NywgMjk4MDIsIDI5ODA3LCAyOTgxMiwgMjk4MTgsIAorICAgIDI5ODI0LCAyOTgyOSwgMjk4MzMsIDI5ODM4LCAyOTg0NCwgMjk4NDgsIDI5ODUzLCAyOTg1OCwgMjk4NjMsIDI5ODY4LCAKKyAgICAyOTg3MiwgMjk4NzUsIDI5ODgwLCAyOTg4NSwgMjk4OTAsIDI5ODk1LCAyOTkwMCwgMjk5MDYsIDI5OTEyLCAyOTkxNywgCisgICAgMjk5MjIsIDI5OTI2LCAyOTkzMSwgMjk5MzYsIDI5OTQxLCAyOTk0NiwgMjk5NTEsIDI5OTU1LCAyOTk2MCwgMjk5NjUsIAorICAgIDI5OTcwLCAyOTk3NCwgMjk5NzgsIDI5OTgyLCAyOTk4NywgMjk5OTUsIDMwMDAwLCAzMDAwNiwgMzAwMTIsIDMwMDE4LCAKKyAgICAzMDAyMywgMzAwMjcsIDMwMDMwLCAzMDAzNSwgMzAwNDAsIDMwMDQ0LCAzMDA0OSwgMzAwNTMsIDMwMDU4LCAzMDA2MiwgCisgICAgMzAwNjUsIDMwMDcwLCAxNzI4OSwgMzAwNzUsIDMwMDgwLCAzMDA4NSwgMzAwOTMsIDIxMjY3LCAyODY3MywgOTAxOSwgCisgICAgMzAwOTgsIDMwMTAzLCAzMDEwNywgMzAxMTIsIDMwMTE2LCAzMDEyMCwgMzAxMjUsIDMwMTI5LCAzMDEzMiwgMzAxMzUsIAorICAgIDMwMTM5LCAzMDE0NCwgMzAxNDgsIDMwMTU2LCAzMDE2MCwgMzAxNjMsIDMwMTY4LCAzMDE3MiwgMzAxNzYsIDMwMTgxLCAKKyAgICAzMDE4NiwgMzAxOTAsIDMwMTk2LCAzMDIwMSwgMzAyMDYsIDMwMjEzLCAzMDIyMCwgMzAyMjQsIDMwMjI3LCAzMDIzMywgCisgICAgMzAyNDIsIDMwMjQ5LCAzMDI1NywgMzAyNjQsIDMwMjY4LCAzMDI3MywgMzAyNzcsIDMwMjgxLCAzMDI4NywgMzAyOTMsIAorICAgIDMwMjk3LCAzMDMwMywgMzAzMDgsIDMwMzEzLCAzMDMyMCwgMzAzMjYsIDMwMzMyLCAzMDMzOCwgMzAzNDQsIDMwMzUxLCAKKyAgICAzMDM1NywgMzAzNjMsIDMwMzY5LCAzMDM3NSwgMzAzODEsIDMwMzg3LCAzMDM5MywgMzA0MDAsIDMwNDA2LCAzMDQxMywgCisgICAgMzA0MTksIDMwNDI1LCAzMDQzMSwgMzA0MzcsIDMwNDQzLCAzMDQ0OSwgMzA0NTUsIDMwNDYxLCAzMDQ2NywgMTE0MTEsIAorICAgIDMwNDczLCAzMDQ3OCwgMzA0ODMsIDMwNDg2LCAzMDQ5NCwgMzA0OTksIDMwNTA4LCAzMDUxNCwgMzA1MTksIDMwNTI0LCAKKyAgICAzMDUyOSwgMzA1MzMsIDMwNTM4LCAzMDU0MywgMzA1NDgsIDMwNTUzLCAzMDU1OCwgMzA1NjUsIDMwNTcyLCAzMDU3OCwgCisgICAgMzA1ODQsIDMwNTg5LCAxNjI5MCwgMzA1OTYsIDMwNjAyLCAzMDYwOSwgMzA2MTUsIDMwNjIxLCAzMDYyNiwgMzA2MzQsIAorICAgIDMwNjM5LCAxNjA2OSwgMzA2NDMsIDMwNjQ4LCAzMDY1MywgMzA2NTksIDMwNjY0LCAzMDY2OSwgMzA2NzMsIDMwNjc4LCAKKyAgICAzMDY4MywgMzA2ODksIDMwNjk0LCAzMDY5OSwgMzA3MDMsIDMwNzA4LCAzMDcxMywgMzA3MTcsIDMwNzIyLCAzMDcyNywgCisgICAgMzA3MzIsIDMwNzM2LCAzMDc0MSwgMzA3NDYsIDMwNzUxLCAzMDc1NSwgMzA3NTksIDE1MjgwLCAzMDc2MywgMzA3NzIsIAorICAgIDMwNzc4LCAzMDc4NCwgMzA3OTMsIDMwODAxLCAzMDgxMCwgMzA4MTgsIDMwODIzLCAzMDgyNywgMzA4MzQsIDMwODQwLCAKKyAgICAzMDg0NCwgMzA4NDcsIDMwODUyLCAzMDg2MSwgMzA4NjksIDMwODc0LCAxNDk1LCAzMDg4MCwgMzA4ODMsIDMwODg3LCAKKyAgICAyMjQxMSwgMjI0MTcsIDMwODkzLCAzMDg5NywgMzA5MDgsIDMwOTE5LCAzMDkzMCwgMzA5NDIsIDMwOTQ5LCAzMDk1NiwgCisgICAgMzA5NjEsIDMwOTY1LCA1OTA5LCA3NTUsIDIxMjY2LCAzMDk3MywgMzA5NzgsIDMwOTgyLCAzMDk4NywgMzA5OTEsIDMwOTk3LCAKKyAgICAzMTAwMiwgMzEwMDgsIDMxMDEzLCAzMTAxOSwgMzEwMjQsIDMxMDMwLCAzMTAzNSwgMzEwNDEsIDMxMDQ3LCAzMTA1MywgCisgICAgMzEwNTgsIDMxMDE0LCAzMTAyMCwgMzEwNjIsIDMxMDY3LCAzMTA3MywgMzEwNzgsIDMxMDg0LCAzMTA4OSwgMzEwOTUsIAorICAgIDMxMTAwLCAzMTAyNSwgMTA0MTQsIDMxMTA0LCAzMTAzNiwgMzEwNDIsIDMxMDQ4LCAyODMxLCAzNDIzLCAzMTExMCwgCisgICAgMzExMTMsIDMxMTE5LCAzMTEyNSwgMzExMzEsIDMxMTM4LCAzMTE0NCwgMzExNTAsIDMxMTU2LCAzMTE2MiwgMzExNjgsIAorICAgIDMxMTc0LCAzMTE4MCwgMzExODYsIDMxMTkyLCAzMTE5OCwgMzEyMDQsIDMxMjEwLCAzMTIxNywgMzEyMjMsIDMxMjI5LCAKKyAgICAzMTIzNSwgMzEyNDEsIDMxMjQ3LCAzMTI1MCwgMzEyNTUsIDMxMjU4LCAzMTI2NSwgMzEyNzMsIDMxMjc4LCAzMTI4MywgCisgICAgMzEyODksIDMxMjk0LCAzMTI5OSwgMzEzMDMsIDMxMzA4LCAzMTMxNCwgMzEzMTksIDMxMzI1LCAzMTMzMCwgMzEzMzYsIAorICAgIDMxMzQxLCAzMTM0NywgMzEzNTMsIDMxMzU3LCAzMTM2MiwgMzEzNjcsIDMxMzcyLCAzMTM3NywgMzEzODEsIDMxMzg2LCAKKyAgICAzMTM5MSwgMzEzOTYsIDMxNDAyLCAzMTQwOCwgMzE0MTQsIDMxNDIwLCAzMTQyNSwgMzE0MjksIDMxNDMyLCAzMTQzOCwgCisgICAgMzE0NDQsIDMxNDUzLCAzMTQ2MSwgMzE0NjgsIDMxNDczLCAzMTQ3NywgMzE0ODEsIDMxNDg2LCAxNTEzMywgMzE0OTEsIAorICAgIDMxNDk5LCAzMTUwNSwgMzY4MywgMTM3NywgMzE1MTAsIDMxNTE0LCA4MDA1LCAzMTUyMCwgMzE1MjYsIDMxNTMzLCA4MDE0LCAKKyAgICAzMTUzNywgMzE1NDMsIDMxNTUwLCAzMTU1NiwgMzE1NjUsIDMxNTczLCAzMTU4NSwgMzE1ODksIDMxNTk2LCAzMTYwMiwgCisgICAgMzE2MDYsIDMxNjA5LCAzMTYxOCwgMzE2MjYsIDMxMDE1LCAzMTYzMSwgMzE2NDEsIDMxNjUxLCAzMTY2MSwgMzE2NjcsIAorICAgIDMxNjcyLCAzMTY4MiwgMzE2ODcsIDMxNzAwLCAzMTcxNCwgMzE3MjUsIDMxNzM3LCAzMTc0OSwgMzE3NjMsIDMxNzc2LCAKKyAgICAzMTc4OCwgMzE4MDAsIDE0NTg3LCAzMTgxNCwgMzE4MTksIDMxODI0LCAzMTgyOCwgMzE4MzIsIDMxODM2LCAxNzgwLCAKKyAgICAyNzE1OSwgMzE4NDAsIDMxODQ1LCAzMTA2MywgMzE4NTAsIDMxODUzLCAzMTg1OCwgMzE4NjMsIDMxODY4LCAzMTg3NCwgCisgICAgMzE4ODAsIDEwMDkxLCAzMTg4NSwgMzE4OTIsIDE1Njg0LCAzMTg5OCwgMzE5MDMsIDMxOTA4LCAzMTkxMiwgMzE5MTcsIAorICAgIDMxOTIyLCAzMTA2OCwgMzE5MjcsIDMxOTMyLCAzMTkzNywgMzE5NDMsIDMxMDc0LCAzMTk0OCwgMzE5NTEsIDMxOTU4LCAKKyAgICAzMTk2NiwgMzE5NzIsIDMxOTc4LCAzMTk4NCwgMzE5OTUsIDMyMDAwLCAzMjAwNywgMzIwMTQsIDMyMDIxLCAzMjAyOSwgCisgICAgMzIwMzgsIDMyMDQ3LCAzMjA1MywgMzIwNTksIDMyMDY3LCAzMTA3OSwgMzIwNzIsIDMyMDc4LCAzMjA4NCwgMzEwODUsIAorICAgIDMyMDg5LCAzMjA5NCwgMzIxMDIsIDMyMTEwLCAzMjExNiwgMzIxMjMsIDMyMTI5LCAzMjEzNiwgMzIxNDMsIDMyMTQ5LCAKKyAgICAzMjE1NywgMzIxNjcsIDMyMTc0LCAzMjE3OSwgMzIxODUsIDMyMTkwLCAzMjE5NSwgMzIyMDIsIDMyMjExLCAzMjIxOSwgCisgICAgMzIyMjQsIDMyMjMwLCAzMjIzNywgMzIyNDUsIDMyMjUxLCAzMjI1NiwgMzIyNjIsIDMyMjcxLCAyNzkzNiwgMzIyNzgsIAorICAgIDMyMjgyLCAzMjI4NywgMzIyOTYsIDMyMzAxLCAzMjMwNiwgMzIzMTEsIDEyMzk4LCAzMjMxOSwgMzIzMjQsIDMyMzI5LCAKKyAgICAzMjMzNCwgMzIzMzgsIDMyMzQzLCAzMjM0OCwgMzIzNTUsIDMyMzYwLCAzMjM2NSwgMzIzNzAsIDMxMDkwLCAyMTIwMywgCisgICAgMzIzNzYsIDI1MTksIDI0NCwgMzIzNzksIDMyMzgyLCAzMjM4NiwgMzIzOTAsIDMyNDAwLCAzMjQwOCwgMzI0MTIsIDMyNDE5LCAKKyAgICAzMjQyNiwgMzI0MzAsIDMyNDMzLCAzMjQzOSwgMzI0NDcsIDMyNDU1LCAzMjQ1OSwgMzI0NjMsIDMyNDY2LCAzMjQ3MywgCisgICAgMzI0NzcsIDMyNDgxLCAzMjQ4OCwgMzI0OTYsIDMxMDI2LCAzMjUwMywgMzI1MTEsIDEwMTUxLCA2NjAsIDMwOCwgMzI1MjMsIAorICAgIDMyNTI4LCAzMjUzMywgMzI1MzksIDMyNTQ0LCAzMjU0OSwgMzcwNCwgMzI1NTQsIDMyNTU3LCAzMjU2MiwgMzI1NjcsIAorICAgIDMyNTcyLCAzMjU3NywgMzI1ODIsIDMyNTg5LCAyMjUxMiwgMzI1OTQsIDMyNTk5LCAzMjYwNCwgMzI2MDksIDMyNjE0LCAKKyAgICAzMjYyMCwgMzI2MjUsIDMyNjMxLCAzMTI2MSwgMzI2MzcsIDMyNjQyLCAzMjY0OCwgMzI2NTQsIDMyNjY0LCAzMjY2OSwgCisgICAgMzI2NzQsIDMyNjc4LCAzMjY4MywgMzI2ODgsIDMyNjkzLCAzMjY5OCwgMzI3MTEsIDMyNzE2LCAyMjI4OSwgMTY2OTIsIAorICAgIDM3MTAsIDMyNzIwLCAzMjcyNSwgMzI3MzAsIDMyNzM2LCAzMjc0MSwgMzI3NDYsIDMyNzUwLCAzMjc1NSwgMzI3NjAsIAorICAgIDMyNzY2LCAzMjc3MSwgMzI3NzYsIDEzODIsIDMyNzgwLCAzMjc4NSwgMzI3OTAsIDMyNzk1LCAzMjc5OSwgMzI4MDQsIAorICAgIDMyODA5LCAzMjgxNCwgMzI4MjAsIDMyODI2LCAzMjgzMSwgMzI4MzUsIDMyODM5LCAzMjg0NCwgMzI4NDksIDMyODU0LCAKKyAgICAzMjg1OCwgMzI4NjYsIDMyODcwLCAzMjg3NiwgMzI4ODAsIDMyODg3LCAxNjQ4NSwgMzEwMzcsIDMyODkzLCAzMjkwMCwgCisgICAgMzI5MDgsIDMyOTE1LCAzMjkyMSwgMzI5MzQsIDMyOTQ2LCAzMjk1MiwgMzI5NTYsIDI3NzMsIDMyOTYwLCAzMjk2NCwgCisgICAgMzI0NjgsIDMyOTczLCAzMjk4NCwgMzI5ODksIDMyOTk0LCAzMjk5OSwgMzMwMDMsIDMzMDA4LCAyMjQyMiwgMzMwMTIsIAorICAgIDMzMDE2LCAzMzAyMSwgMzEwNDMsIDIxMjg3LCAzMzAyNSwgMzMwMzAsIDMzMDM2LCAzMzA0MSwgMzMwNDUsIDMzMDQ5LCAKKyAgICAzMzA1MiwgMzMwNTYsIDMzMDYyLCAzMzA3MywgMzMwODUsIDMxMDQ5LCAzMzA5MCwgMzMwOTMsIDMzMDk3LCAzNDcsIAorICAgIDMzMTAyLCAzMzEwNywgMzMxMTIsIDMzMTE3LCAzMzEyMiwgMzMxMjcsIDMzMTMzLCAzMzEzOCwgMzMxNDMsIDMzMTQ5LCAKKyAgICAzMzE1NCwgMzMxNjAsIDMzMTY1LCAzMzE3MSwgMzMxNzYsIDMzMTgxLCAzMzE4NiwgMzMxOTEsIDMzMTk2LCAzMzIwMSwgCisgICAgMzMyMDYsIDMzMjExLCAzMzIxNywgMzMyMjIsIDMzMjI3LCAzMzIzMiwgMzMyMzcsIDMzMjQyLCAzMzI0NywgMzMyNTIsIAorICAgIDMzMjU4LCAzMzI2NCwgMzMyNjksIDMzMjc0LCAzMzI3OSwgMzMyODQsIDMzMjg5LCAzMzI5NCwgMzMyOTksIDMzMzA0LCAKKyAgICAzMzMwOSwgMzMzMTQsIDMzMzE5LCAzMzMyNCwgMzMzMjksIDMzMzM0LCAzMzMzOSwgMzMzNDQsIDMzMzQ5LCAzMzM1NCwgCisgICAgMzMzNjAsIDMxMywgMjYsIDMzMzY1LCAzMzM2OSwgMzMzNzMsIDMzMzgxLCAzMzM4NSwgMzMzODksIDMzMzkyLCAzMzM5NSwgCisgICAgMzMzOTcsIDMzNDAyLCAzMzQwNiwgMzM0MTEsIDMzNDE1LCAzMzQyMCwgMzM0MjQsIDMzNDI5LCAzMzQzMywgMzM0MzYsIAorICAgIDMzNDM4LCAzMzQ0MiwgMzM0NDcsIDMzNDUxLCAzMzQ2MiwgMzM0NjUsIDMzNDY3LCAzMzQ3MSwgMzM0ODMsIDMzNDkyLCAKKyAgICAzMzQ5NiwgMzM1MDAsIDMzNTA2LCAzMzUxMSwgMzM1MjAsIDMzNTI2LCAzMzUzMSwgMzM1MzYsIDMzNTQwLCAzMzU0NSwgCisgICAgMzM1NTIsIDMzNTU3LCAzMzU2MywgMzM1NjgsIDMzNTcyLCAzMzU3OSwgMjU3MDEsIDI1NzExLCAzMzU4MywgMzM1ODgsIAorICAgIDMzNTkzLCAzMzU5OCwgMzM2MDUsIDMzNjA5LCAzMzYxNiwgODExMywgMzM2MjIsIDMzNjMxLCAzMzYzOSwgMzM2NTQsIAorICAgIDMzNjY4LCAzMzY3NiwgMzM2ODcsIDMzNjk2LCAzMzcwMSwgNzIyNywgMzM3MTEsIDMzNzE2LCAzMzcyMSwgMzM3MjUsIAorICAgIDMzNzI4LCAzMzczMiwgMzM3MzcsIDMzNzQxLCAzMzc0OCwgMzM3NTMsIDMzNzU4LCA4OTEyLCAzMzc2OCwgMzM3NzAsIAorICAgIDMzNzczLCAzMzc3NywgMzM3ODMsIDMzNzg3LCAzMzc5MiwgMzM3OTcsIDMzODAzLCAzMzgwOCwgMzM4MTQsIDMzODE5LCAKKyAgICAzMzgyOSwgMzM4MzgsIDMzODQ2LCAzMzg1MSwgMzM4NTcsIDMzODYyLCAzMzg2OSwgMzM4NzMsIDMzODgxLCAzMzg4OCwgCisgICAgMzM5MDEsIDMzOTA5LCAzMzkxMywgMzM5MjMsIDMzOTI4LCAzMzkzMiwgMzM5NDAsIDMzOTQ4LCAzMzk1MiwgMzM5NjEsIAorICAgIDMzOTY3LCAzMzk3MiwgMzM5ODAsIDMzOTkwLCAzMzk5OSwgMzQwMDgsIDM0MDE3LCAzNDAyOCwgMzQwMzYsIDM0MDQ3LCAKKyAgICAzNDA1NiwgMzQwNjMsIDM0MDY5LCAzNDA3NCwgMzQwODUsIDM0MDkwLCAzNDA5NCwgMzQwOTcsIDM0MTAxLCAzNDEwOSwgCisgICAgMzQxMTUsIDM0MTIzLCAzNDEzMCwgMzQxMzYsIDM0MTQxLCAzNDE0NywgMjQxOCwgMzQxNTEsIDM0MTUzLCAzNDE1OCwgCisgICAgMzQxNjMsIDM0MTY4LCAzNDE3MSwgMzQxNzMsIDM0MTc3LCAzNDE4MCwgMzQxODcsIDM0MTkxLCA5ODg0LCAzNDE5NSwgCisgICAgMzQyMDEsIDM0MjExLCAzNDIxNiwgMzQyMjIsIDM0MjI2LCAzNDIzMSwgMzQyNDQsIDI2MDg3LCAzNDI1MCwgMzQyNTksIAorICAgIDE3NDYyLCAzNDI2NiwgMzQyNzUsIDMxNjQ3LCAzNDI4MywgMzQyODgsIDM0MjkyLCAzNDMwMCwgMzQzMDcsIDM0MzEyLCAKKyAgICAzNDMxNiwgMzQzMjEsIDM0MzI1LCAzNDMzMywgMzQzMzksIDM0MzQ1LCAzNDM1MCwgMzQzNTQsIDM0MzU3LCAzNDM2MiwgCisgICAgMzQzNzUsIDM0MzkxLCAyMjk3OSwgMzQ0MDgsIDM0NDIwLCAzNDQzNywgMzQ0NDksIDM0NDYzLCAyMjk5NiwgMjMwMTUsIAorICAgIDM0NDc1LCAzNDQ4NywgMjY4MCwgMzQ1MDEsIDM0NTA2LCAzNDUxMSwgMzQ1MTYsIDM0NTIwLCAzNDUyNywgMzQ1MzksIAorICAgIDM0NTQ1LCAzNDU0OCwgMzQ1NTksIDM0NTcwLCAzNDU3NSwgMzIwNjQsIDY5NSwgMzQ1NzksIDM0NTgzLCAzNDU4NywgCisgICAgMzQ1OTAsIDM0NTk1LCAzNDYwMCwgMzQ2MDYsIDM0NjExLCAzNDYxNiwgMzQ2MjIsIDM0NjI4LCAzNDYzMywgMzQ2MzcsIAorICAgIDM0NjQyLCAzNDY0NywgMzQ2NTIsIDM0NjU2LCAzNDY1OSwgMzQ2NjUsIDM0NjcwLCAzNDY3NSwgMzQ2ODAsIDM0Njg0LCAKKyAgICAzNDY4OSwgMzQ2OTUsIDM0NzAzLCAyNjMyMCwgMzQ3MDgsIDM0NzEzLCAzNDcyMCwgMzQ3MjYsIDM0NzMyLCAzNDczNywgCisgICAgMzQ3NDUsIDIyNTIxLCAzNDc1MiwgMzQ3NTcsIDM0NzYyLCAzNDc2NywgMzQ3NzEsIDM0Nzc0LCAzNDc3OSwgMzQ3ODMsIAorICAgIDM0Nzg3LCAzNDc5NCwgMzQ4MDAsIDM0ODA2LCAzNDgxMiwgMzQ4MTksIDM0ODI0LCAzNDgzMCwgMzM5NDMsIDM0ODM0LCAKKyAgICAzNDgzOCwgMzQ4NDMsIDM0ODU2LCAzNDg2MSwgMzQ4NjcsIDM0ODc1LCAzNDg4MiwgMzQ4OTAsIDM0OTAwLCAzNDkwNiwgCisgICAgMzQ5MTIsIDM0OTE4LCAzNDkyMiwgMzQ5MzEsIDM0OTM5LCAzNDk0NiwgMzQ5NTEsIDM0OTU2LCAxMDQzNywgMzQ5NjEsIAorICAgIDM0OTY5LCAzNDk3NiwgMzQ5ODIsIDM0OTkyLCAzNDk5NywgMzUwMDMsIDM1MDExLCAzNjA4LCAzNTAxOCwgMzUwMjUsIAorICAgIDM2MTQsIDM1MDI5LCAzNTAzNCwgMzUwNDUsIDM1MDUyLCAzNTA1OCwgMzUwNjcsIDM1MDcxLCA0MDE1LCAzNTA3NCwgCisgICAgMzUwODEsIDM1MDg3LCAzNTA5MywgMzUxMDEsIDM1MTExLCAyOTA0MiwgMzUxMTgsIDM1MTI2LCAzNTEzMSwgMzUxMzcsIAorICAgIDM1MTQyLCAyNTk0NywgMzUxNDgsIDM1MTU1LCAzNTE2MSwgMzUxNzAsIDIzNjYwLCAzNTE3NywgMzUxODIsIDM1MTg2LCAKKyAgICAzNTE5NCwgMzUyMDIsIDk2MDAsIDU4OTUsIDM1MjA5LCAzNTIxMywgMzUyMTUsIDM1MjE5LCAzNTIyNCwgMzUyMjYsIAorICAgIDM1MjMyLCAzNTIzNywgMzUyNDIsIDM1MjQ5LCAzMjU4NSwgMzUyNTUsIDM1MjYwLCAzNTI2NCwgMzUyNjksIDM1MjczLCAKKyAgICAzNTI4MiwgMzUyODYsIDM1MjkyLCAzNTI5OSwgMzUzMDUsIDM1MzEyLCAzNTMxNywgMzUzMjYsIDM1MzMxLCAzNTMzNSwgCisgICAgMzUzNDAsIDM1MzQ3LCAzNTM1NSwgMzUzNjMsIDM1MzY4LCAyMTM0MywgMzUzNzIsIDM1Mzc1LCAzNTM3OSwgMzUzODMsIAorICAgIDM1Mzg3LCAzNTM5MCwgMzUzOTIsIDM1NDAwLCAzNTQwNCwgMzU0MTEsIDM1NDE1LCAzNTQxOSwgMzU0MjcsIDM1NDM0LCAKKyAgICAzNTQ0NCwgMzU0NDgsIDM1NDUyLCAzNTQ2MCwgMzU0NjgsIDM1NDc0LCAzNTQ3OSwgMzU0ODgsIDEzMzUwLCAzNTQ5NCwgCisgICAgMzU1MDMsIDM1NTA4LCAzNTUxNSwgMzU1MjMsIDM1NTMxLCAzNTUzOSwgMzU1NDYsIDM1NTUzLCAzNTU2MCwgMzU1NjcsIAorICAgIDM1NTc0LCAzNTU3OSwgMzU1ODUsIDM1NjAyLCAzNTYxMCwgMzU2MjAsIDM1NjI4LCAzNTYzNSwgNDA3LCAzNTYzOSwgCisgICAgMzU2NDUsIDM1NjQ5LCAzNTY1NCwgMzM2OTIsIDM1NjYwLCAzNTY2MywgMzU2NjcsIDM1Njc1LCAzNjE5LCAzNTY4MywgCisgICAgMzU2ODksIDM1Njk1LCAzNTcwNCwgMzU3MTQsIDM1NzIxLCAzNTcyNywgMzYyNSwgMzYzMSwgMzU3MzYsIDM1NzQzLCAKKyAgICAzNTc1MSwgMzU3NTYsIDM1NzYwLCAzNTc2NywgMzU3NzUsIDM1NzgyLCAzNTc4OCwgMzU3OTcsIDM1ODA3LCAzNTgxMywgCisgICAgMzU4MjEsIDM1ODMwLCAzNTgzNywgMzU4NDUsIDM1ODUyLCAyMjAxOSwgMzU4NTYsIDM1ODYzLCAzNTg2OSwgMzU4NzksIAorICAgIDM1ODg4LCAzNTg5OSwgMzU5MDMsIDM1OTEzLCAzNTkxOSwgMzU5MjYsIDM1OTM0LCAzNTk0MywgMzU5NTIsIDM1OTYyLCAKKyAgICAzNTk3MywgMzU5ODAsIDM1OTg1LCAzNTk5MiwgMzAyOSwgMzYwMDAsIDM2MDA2LCAzNjAxMSwgMzYwMTcsIDM2MDIzLCAKKyAgICAzNjAyOCwgMzYwNDEsIDM2MDU0LCAzNjA2NywgMzYwNzQsIDM2MDgwLCAzNjA4OCwgMzYwOTYsIDM2MTAxLCAzNjEwNSwgCisgICAgMTQ2OSwgMzYxMDksIDM2MTE0LCAzNjExOSwgMzYxMjQsIDM2MTI5LCAzNjEzNSwgMzYxNDAsIDM2MTQ1LCAzNjE1MCwgCisgICAgMzYxNTUsIDM2MTYwLCAzNjE2NSwgMzYxNzAsIDM2MTc2LCAzNjE4MiwgMzYxODcsIDM2MTkyLCAzNjE5OCwgMzYyMDMsIAorICAgIDM2MjA4LCAzNjIxMywgMzYyMTksIDM2MjI0LCAzNjIyOSwgMzYyMzQsIDM2MjM5LCAzNjI0NSwgMzYyNTAsIDM2MjU1LCAKKyAgICAzNjI2MSwgMzYyNjYsIDM2MjcxLCAzNjI3NiwgMzYyODEsIDM2Mjg2LCAzNjI5MiwgMzYyOTcsIDM2MzAzLCAzNjMwOCwgCisgICAgMzYzMTQsIDM2MzE5LCAzNjMyNCwgMzYzMjksIDM2MzM1LCAzNjM0MSwgMzYzNDcsIDM2MzUzLCAzNjM1OSwgMzYzNjUsIAorICAgIDM2MzcxLCAzNjM3NywgMzYzODIsIDM2Mzg3LCAzNjM5MywgMzYzOTgsIDM2NDAzLCAzNjQwOCwgMzY0MTMsIDM2NDE4LCAKKyAgICAzNjQyMywgMzY0MjgsIDM2NDM0LCAzNjQzOSwgMzY0NDQsIDM2NDUwLCAzNjQ1NiwgMTAxLCAzNjQ2MSwgMzY0NjMsIAorICAgIDM2NDY3LCAzNjQ3MSwgMzY0NzUsIDM2NDgwLCAzNjQ4NCwgOTUyMSwgMzY0ODgsIDM2NDk0LCAxNzQxLCA2MjgwLCAzNjUwMCwgCisgICAgMzY1MDMsIDM2NTA4LCAzNjUxMiwgMzY1MTcsIDM2NTIxLCAzNjUyNSwgMzY1MzAsIDEwMjM4LCAzNjUzNCwgMzY1MzgsIAorICAgIDM2NTQyLCAzNjU0NiwgMTUzNzIsIDM2NTUxLCAzNjU1NSwgMzY1NjAsIDM2NTY1LCAzNjU3MCwgMzY1NzQsIDM2NTgxLCAKKyAgICAyNjExMSwgMzY1ODcsIDM2NTkwLCAzNjU5NCwgMzY1OTksIDM2NjA1LCAzNjYwOSwgMzY2MTcsIDM2NjIzLCAzNjYyOCwgCisgICAgMzY2MzIsIDM2NjM4LCAzNjY0MiwgMzY2NDYsIDM0NjIsIDM0NjcsIDI5MjM0LCAzNjY0OSwgMzY2NTMsIDM2NjU3LCAKKyAgICAzNjY2MSwgMzY2NjksIDM2Njc2LCAzNjY4MCwgMzY2ODcsIDM2NjkyLCAzMTcsIDM2Njk3LCAzNjcwMSwgMzY3MDcsIAorICAgIDM2NzE5LCAzNjcyNSwgMzY3MzEsIDM2NzM1LCAzNjc0MSwgMzY3NTAsIDM2NzU0LCAzNjc1OCwgMzY3NjMsIDM2NzY5LCAKKyAgICAzNjc3NCwgMzY3NzgsIDM2NzgzLCAzNjc4NywgMzY3OTEsIDM2Nzk4LCAzNjgwNCwgMzY4MDksIDM2ODI0LCAzNjgzOSwgCisgICAgMzY4NTQsIDM2ODcwLCAzNjg4OCwgMTAxODgsIDM2OTAyLCAzNjkwOSwgMzY5MTMsIDM2OTE2LCAzNjkyNSwgMzY5MzAsIAorICAgIDM2OTM0LCAzNjk0MiwgMzM4OTQsIDM2OTUwLCAzNjk1NCwgMzY5NjQsIDM2OTc1LCAyOTIwNCwgMzY5ODgsIDM2OTkyLCAKKyAgICAzNzAwMSwgMzcwMDksIDk3NzgsIDE0OTAwLCAzNzAxMywgMjI0MzQsIDM3MDE2LCAzMDE1MiwgMzcwMjEsIDk3NzcsIAorICAgIDM3MDI2LCAzNzAzMiwgMzcwMzcsIDM3MDQzLCAzNzA0OCwgMzcwNTQsIDM3MDU5LCAzNzA2NSwgMzcwNzAsIDM3MDc2LCAKKyAgICAzNzA4MiwgMzcwODgsIDM3MDkzLCAzNzA0OSwgMzcwNTUsIDM3MDYwLCAzNzA2NiwgMzcwNzEsIDM3MDc3LCAzNzA4MywgCisgICAgODEyNiwgMzg3NCwgMzcwOTcsIDM3MTA1LCAzNzEwOSwgMzcxMTIsIDM3MTE2LCAzNzEyMSwgMzcxMjYsIDM3MTMyLCAKKyAgICAzNzEzOCwgMzcxNDMsIDM3MTQ3LCAyNTk1OSwgMzcxNTEsIDM3MTU1LCAzNzE2MSwgMzcxNjUsIDkwNDIsIDM3MTc0LCAKKyAgICAzNzE4MSwgMzcxODUsIDExODY4LCAzNzE5MiwgMzcxOTgsIDM3MjAzLCAzNzIxMCwgMzcyMTcsIDM3MjI0LCAyODU1MCwgCisgICAgODA0OSwgMzcyMzEsIDM3MjM4LCAzNzI0NSwgMzcyNTEsIDM3MjU2LCAzNzI2MywgMzcyNzQsIDM3MjgwLCAzNzI4NSwgCisgICAgMzcyOTAsIDM3Mjk1LCAzNzMwMiwgMzcwNTAsIDM3MzA2LCAzNzMxNiwgMzczMjcsIDM3MzMzLCAzNzMzOCwgMzczNDMsIAorICAgIDM3MzQ4LCAzNzM1MywgMzczNTgsIDM3MzYyLCAzNzM2NiwgMzczNzIsIDM3MzgwLCAyMzE5LCA4NjUsIDEwMjU0LCAxMDI2NiwgCisgICAgMTAyNzEsIDEwMjc3LCAzNzM4OSwgMTAyODIsIDEwMjg3LCAxMDI5MywgMzczOTQsIDM3NDA0LCAzNzQwOCwgMTAyOTgsIAorICAgIDM3NDEzLCAxNjg5MCwgMzc0MTYsIDM3NDIxLCAzNzQyNSwgMzc0MzAsIDM3NDM1LCAzNzQ0MiwgMzc0NDksIDM3NDUzLCAKKyAgICAzNzQ1NiwgMzc0NjQsIDEwMjAxLCAzNzQ3MSwgMzc0NzQsIDM3NDgwLCAzNzQ5MCwgNTkyOSwgMzc0OTksIDM3NTAzLCAKKyAgICAzNzUxMSwgMzc1MTUsIDM3NTI1LCAzNzUzMSwgMzc1NDIsIDM3NTQ4LCAzNzU1NCwgMzc1NTksIDM3NTY1LCAzNzU3MSwgCisgICAgMzc1NzcsIDM3NTgyLCAzNzU4NSwgMzc1OTIsIDM3NTk4LCAzNzYwMywgMzc2MTAsIDM3NjE3LCAzNzYyMSwgMzc2MzEsIAorICAgIDM3NjQ0LCAzNzY1MywgMzc2NjIsIDM3NjczLCAzNzY4NiwgMzc2OTcsIDM3NzA2LCAzNzcxNywgMzc3MjIsIDM3NzMxLCAKKyAgICAzNzczNiwgMTAzMDMsIDM3NzQyLCAzNzc0OSwgMzc3NTcsIDM3NzYyLCAzNzc2NiwgMzc3NzMsIDM3NzgwLCAzODI5LCAxNiwgCisgICAgMzc3ODQsIDM3Nzg5LCAxNjc0NCwgMzc3OTMsIDM3Nzk2LCAzNzc5OSwgMjgwNTYsIDM3ODAzLCAyODU1OSwgMzc4MTEsIAorICAgIDM3ODE1LCAzNzgxOSwgMzc4MjIsIDM3ODI4LCAzNzA3MiwgMzc4MzQsIDM3ODQyLCAzNzg0OCwgMzc4NTUsIDI4MDM5LCAKKyAgICAzNzg1OSwgMjgyMzMsIDM3ODYzLCAzNzg3MiwgMzc4NzgsIDM3ODg0LCAzNzg4OSwgMzc4OTMsIDM3ODk5LCAzNzkwMywgCisgICAgMzc5MTEsIDM3OTE5LCAyNjE3NywgMzc5MjUsIDM3OTMyLCAzNzkzOCwgMzc5NDMsIDM3OTQ4LCAzNzk1MiwgMzc5NTgsIAorICAgIDM3OTYzLCAzNzk2OSwgNDA1NiwgNzkxLCAzNzk3NiwgMzc5ODAsIDM3OTgzLCAxNTI2MiwgMzc5OTUsIDM1ODI2LCAzODAwNiwgCisgICAgMzgwMDksIDM4MDE2LCAzODAyMCwgMzgwMjYsIDM4MDMwLCAzODAzNiwgMzgwNDEsIDM4MDQ3LCAzODA1MiwgMzgwNTcsIAorICAgIDM4MDYxLCAzODA2NSwgMzgwNzAsIDM4MDc1LCAzODA4NSwgMzgwOTEsIDM4MTA0LCAzODExMCwgMzgxMTYsIDM4MTIzLCAKKyAgICAzODEyOCwgMzgxMzQsIDM4MTM5LCAxNjYzMCwgMTQ3MiwgMTAxOSwgMzExOTMsIDMxMTk5LCAzODE0NCwgMzEyMDUsIAorICAgIDMxMjE4LCAzMTIyNCwgMzEyMzAsIDM4MTUwLCAzMTIzNiwgMzEyNDIsIDM4MTU2LCAzODE2MiwgMjIsIDM4MTcwLCAzODE3NywgCisgICAgMzgxODEsIDM4MTg1LCAzODE5MywgMzE5NTMsIDM4MTk3LCAzODIwMSwgMzgyMDgsIDM4MjEzLCAzODIxNywgMzgyMjIsIAorICAgIDM4MjI4LCAzODIzMywgMzgyMzksIDM4MjQ0LCAzODI0OCwgMzgyNTIsIDM4MjU2LCAzODI2MSwgMzgyNjUsIDM4MjcwLCAKKyAgICAzODI3NCwgMzgyODEsIDM4Mjg2LCAzODI5MCwgMzgyOTUsIDM4Mjk5LCAzODMwNCwgMzgzMDgsIDM4MzEzLCAzODMxOSwgCisgICAgMTU0ODIsIDE1NDg3LCAzODMyNCwgMzgzMjgsIDM4MzMxLCAzODMzNSwgMjExNzAsIDM4MzQwLCAzODM0NCwgMzgzNTAsIAorICAgIDM4MzU3LCAzODM2MiwgMzgzNzIsIDM4Mzc3LCAzODM4NSwgMzgzODksIDM4MzkyLCAzMTk2OCwgMzgzOTYsIDQxMDksIAorICAgIDM4NDAxLCAzODQwNiwgMzg0MTAsIDM4NDE1LCAzODQxOSwgMzg0MjQsIDEzMzY4LCAzODQzNSwgMzg0MzksIDM4NDQyLCAKKyAgICAzODQ0NywgMzg0NTEsIDM4NDU1LCAzODQ1OCwgMzg0NjIsIDgxNDUsIDEzMzg0LCAzODQ2NSwgMzg0NjgsIDM4NDc0LCAKKyAgICAzODQ3OSwgMzg0ODUsIDM4NDkwLCAzODQ5NiwgMzg1MDEsIDM4NTA3LCAzODUxMiwgMzg1MTgsIDM4NTI0LCAzODUzMCwgCisgICAgMzg1MzUsIDM4NTM5LCAzODU0MywgMzg1NTIsIDM4NTY4LCAzODU4NCwgMzg1OTQsIDI3OTQ2LCAzODYwMSwgMzg2MDUsIAorICAgIDM4NjEwLCAzODYxNSwgMzg2MTksIDM4NjIzLCAzNTk0NywgMzg2MjksIDM4NjM0LCAzODYzOCwgMzg2NDUsIDM4NjUwLCAKKyAgICAzODY1NCwgMzg2NTgsIDI2OTc5LCAzODY2NCwgMjE0MzgsIDM4NjY5LCAzODY3NiwgMzg2ODQsIDM4NjkwLCAzODY5NywgCisgICAgMzg3MDUsIDM4NzExLCAzODcxNSwgMzg3MjEsIDM4NzI5LCAzODczMywgMzg3NDIsIDk1MDIsIDM4NzUwLCAzODc1NCwgCisgICAgMzg3NjIsIDM4NzY5LCAzODc3NCwgMzg3NzksIDM4NzgzLCAzODc4NiwgMzg3OTAsIDM4NzkzLCAzODc5NywgMzg4MDQsIAorICAgIDM4ODA5LCAzODgxNSwgMjYzOTgsIDMxMjU2LCAzODgxOSwgMzg4MjYsIDM4ODMyLCAzODgzOCwgMzg4NDMsIDM4ODQ2LCAKKyAgICAzODg0OCwgMzg4NTUsIDM4ODYyLCAzODg2OCwgMzg4NzIsIDM4ODc1LCAzODg3OSwgMzg4ODMsIDM4ODg3LCAzODg5MiwgCisgICAgMzg4OTYsIDM4OTAwLCAzODkwMywgMzg5MDcsIDM4OTIxLCAyMzA0NSwgMzg5NDAsIDM4OTUzLCAzODk2NiwgMzg5NzksIAorICAgIDIzMDYzLCAzODk5NCwgMTA0OTAsIDM5MDA5LCAzOTAxNSwgMzkwMTksIDM5MDIzLCAzOTAzMCwgMzkwMzUsIDM5MDM5LCAKKyAgICAzOTA0NiwgMzkwNTIsIDM5MDU3LCAzOTA2MywgMzkwNzMsIDM5MDg1LCAzOTA5NiwgMzkxMDEsIDM5MTA4LCAzOTExMiwgCisgICAgMzkxMTYsIDM5MTE5LCAxNTg3OCwgMzY3NywgMzkxMjcsIDE1NTA5LCAzOTE0MCwgMzkxNDcsIDM5MTUxLCAzOTE1NSwgCisgICAgMzkxNjAsIDM5MTY1LCAzOTE3MSwgMzkxNzUsIDM5MTc5LCAzOTE4MiwgNzc0MiwgMTU1MjAsIDM5MTg3LCAzOTE5MSwgCisgICAgMzkxOTcsIDM5MjA2LCAzOTIxMSwgMzkyMTgsIDM1ODAzLCAzOTIyNCwgMzkyMjksIDM5MjMzLCAzOTIzOCwgMzkyNDUsIAorICAgIDM5MjQ5LCAzOTI1MiwgMzkyNTYsIDM5MjYxLCAxNDU1MiwgMzkyNjgsIDM5Mjc1LCAxMDY2LCAzOTI3OSwgMzkyODQsIAorICAgIDM5Mjg5LCAzOTI5NSwgMzkzMDAsIDM5MzA1LCAzOTMwOSwgMzkzMTksIDM5MzI0LCAzOTMzMCwgMzkzMzUsIDM5MzQxLCAKKyAgICAzOTM0NiwgMzkzNTIsIDM5MzYyLCAzOTM2NywgMzkzNzIsIDM5Mzc2LCA3MjI5LCA3MjQxLCAzOTM4MSwgMzkzODQsIAorICAgIDM5MzkxLCAzOTM5NywgMzQwNTksIDM0MDY2LCAzOTQwNiwgMzk0MTAsIDMyMDE2LCAzOTQxOCwgMzk0MjksIDM5NDM3LCAKKyAgICAzNTk5NSwgMzk0NDQsIDM5NDQ5LCAzOTQ1NCwgMzk0NjUsIDM5NDcyLCAzOTQ4MywgMzIwNDAsIDIxNDQ0LCAzOTQ5MSwgCisgICAgNzM1LCAzOTQ5NiwgMzk1MDIsIDI4MDMwLCAzOTUwOCwgMzk1MTMsIDM5NTIzLCAzOTUzMiwgMzk1MzksIDM5NTQ1LCAKKyAgICAzOTU0OSwgMzk1NTIsIDM5NTU5LCAzOTU2NSwgMzk1NzIsIDM5NTc4LCAzOTU4OCwgMzk1OTYsIDM5NjAyLCAzOTYwOCwgCisgICAgMzk2MTMsIDM5NjE3LCAzOTYyNCwgMzk2MzAsIDM5NjM3LCAzODg4OCwgNTM1LCAxMzgwNSwgMzk2NDMsIDM5NjQ4LCAKKyAgICAzOTY1MSwgMzk2NTcsIDM5NjY1LCAxMzk2LCAzOTY3MCwgMzk2NzQsIDM5Njc5LCAzOTY4NiwgMzk2OTIsIDM5Njk2LCAKKyAgICAzOTcwMCwgMzk3MDUsIDM5NzE0LCAzOTcyMSwgMzk3MzEsIDM5NzM3LCAyODA3NCwgMzk3NTQsIDM5NzYzLCAzOTc3MSwgCisgICAgMzk3NzcsIDM5NzgyLCAzOTc4OSwgMzk3OTUsIDM5ODAzLCAzOTgxMiwgMzk4MjAsIDM5ODI0LCAzOTgyOSwgMzk4MzcsIAorICAgIDMyMDQ5LCAzOTg0MywgMzk4NjIsIDE1ODExLCAzOTg3NiwgMzk4OTIsIDM5OTA2LCAzOTkxMiwgMzk5MTcsIDM5OTIyLCAKKyAgICAzOTkyNywgMzk5MzMsIDMyMDU1LCAzOTkzOCwgMzk5NDUsIDM5OTUwLCAzOTk1NCwgMzQ1LCAyOTM2LCAzOTk2MSwgMzk5NjYsIAorICAgIDM5OTcxLCAyNzMwNSwgMzk3OTIsIDM5OTc1LCAzOTk4MCwgMzk5ODgsIDM5OTkyLCAzOTk5NSwgNDAwMDEsIDQwMDA3LCAKKyAgICA0MDAxMSwgMjgxMjksIDQwMDE0LCA0MDAxOSwgNDAwMjMsIDQwMDI2LCA0MDAzMSwgNDAwMzUsIDQwMDQwLCA0MDA0NSwgCisgICAgNDAwNDksIDQwMDU0LCA0MDA1OCwgNDAwNjIsIDIxMTY2LCAyMTE3NywgNDAwNjYsIDQwMDcxLCA0MDA3NywgMjY5MzYsIAorICAgIDQwMDgyLCA0MDA4NiwgMjEyNTMsIDE2MDU5LCA0MDA4OSwgNDAwOTQsIDQwMDk5LCA0MDEwNCwgNDAxMDksIDQwMTE0LCAKKyAgICA0MDExOSwgNDAxMjQsIDQ0NywgNDMsIDMxMjc0LCAzMTI3OSwgMzEyODQsIDMxMjkwLCAzMTI5NSwgMzEzMDAsIDQwMTI5LCAKKyAgICAzMTMwNCwgNDAxMzMsIDQwMTM3LCA0MDE0MSwgMzEzMDksIDMxMzE1LCA0MDE1NSwgMzEzMjYsIDMxMzMxLCA0MDE2MywgCisgICAgNDAxNjgsIDMxMzM3LCA0MDE3MywgNDAxNzgsIDQwMTgzLCA0MDE4OCwgNDAxOTQsIDQwMjAwLCA0MDIwNiwgMzEzNTQsIAorICAgIDQwMjE5LCA0MDIyNSwgMzEzNTgsIDQwMjI5LCAzMTM2MywgNDAyMzQsIDMxMzY4LCAzMTM3MywgNDAyMzcsIDQwMjQyLCAKKyAgICA0MDI0NiwgMzA5MjMsIDQwMjUyLCAxMzU5MiwgNDAyNTksIDQwMjY0LCAzMTM3OCwgNDAyNjgsIDQwMjczLCA0MDI3OCwgCisgICAgNDAyODMsIDQwMjg3LCA0MDI5MiwgNDAyOTcsIDQwMzAzLCA0MDMwOCwgNDAzMTMsIDQwMzE5LCA0MDMyNSwgNDAzMzAsIAorICAgIDQwMzM0LCA0MDMzOSwgNDAzNDQsIDQwMzQ5LCA0MDM1MywgNDAzNTgsIDQwMzYzLCA0MDM2OCwgNDAzNzQsIDQwMzgwLCAKKyAgICA0MDM4NiwgNDAzOTEsIDQwMzk1LCA0MDQwMCwgNDA0MDQsIDMxMzgyLCAzMTM4NywgMzEzOTIsIDQwNDA4LCA0MDQxMiwgCisgICAgNDA0MTYsIDMxMzk3LCAzMTQwMywgMzE0MDksIDMxNDIxLCA0MDQyOCwgMjU5OTYsIDQwNDMyLCA0MDQzNiwgNDA0NDEsIAorICAgIDQwNDQ2LCA0MDQ1MSwgNDA0NTYsIDQwNDYwLCA0MDQ2NCwgNDA0NzQsIDQwNDc5LCA0MDQ4NCwgNDA0ODgsIDQwNDkyLCAKKyAgICA0MDQ5NSwgNDA1MDMsIDMxNDY5LCA0MDUwOCwgMTQ3OSwgNDA1MTQsIDQwNTIyLCA0MDUzMSwgNDA1MzUsIDQwNTM5LCAKKyAgICA0MDU0NywgNDA1NTMsIDQwNTYxLCA0MDU3NywgNDA1ODEsIDQwNTg1LCA0MDU5MCwgNDA2MDUsIDMxNTA2LCAxNzQ5LCAKKyAgICAxMjA0OCwgNDA2MDksIDEzNzgsIDQwNjIxLCA0MDYyMiwgNDA2MzAsIDQwNjM3LCA0MDY0MiwgNDA2NDksIDQwNjU0LCAKKyAgICA5MzcyLCAxMTE0LCAxMDMyNSwgNDA2NjEsIDQwNjY2LCA0MDY2OSwgNDA2NzIsIDQwNjgxLCAxMjg2LCA0MDY4NiwgMzkwMzYsIAorICAgIDQwNjkzLCA0MDY5OCwgMjI0ODYsIDI1NTcsIDQwNzAyLCAxMDczNCwgNDA3MTIsIDQwNzE4LCAyMzM3LCAyMzQ3LCA0MDcyNywgCisgICAgNDA3MzYsIDQwNzQ2LCA0MDc1NywgMzI5MywgMzQyMTIsIDEwMzc3LCAzODA3LCAxNjY2OCwgMTI5MSwgNDA3NjIsIDQwNzcwLCAKKyAgICA0MDc3NywgNDA3ODIsIDQwNzg2LCA0MDc5MCwgMjM4NTgsIDEwNDA0LCA0MDc5OCwgNDA4MDcsIDQwODE2LCA0MDgyNCwgCisgICAgNDA4MzEsIDQwODQyLCA0MDg0NywgNDA4NjAsIDQwODczLCA0MDg4NSwgNDA4OTcsIDQwOTA5LCA0MDkyMiwgNDA5MzMsIAorICAgIDQwOTQ0LCA0MDk1NCwgNDA5NjIsIDQwOTcwLCA0MDk4MiwgNDA5OTQsIDQxMDA1LCA0MTAxNCwgNDEwMjIsIDQxMDI5LCAKKyAgICA0MTA0MSwgNDEwNDgsIDQxMDU3LCA0MTA2NCwgNDEwNzcsIDQxMDgyLCA0MTA5MiwgNDEwOTcsIDQxMTAzLCA0MTEwOCwgCisgICAgMzcxODIsIDQxMTEyLCA0MTExOSwgNDExMjMsIDQxMTMwLCA0MTEzOCwgMjUxOCwgNDExNDUsIDQxMTU2LCA0MTE2NiwgCisgICAgNDExNzUsIDQxMTgzLCA0MTE5MywgNDEyMDEsIDQxMjExLCA0MTIyMCwgNDEyMjUsIDQxMjMxLCA0MTIzNywgMzcwOSwgCisgICAgNDEyNDgsIDQxMjU4LCA0MTI2NywgNDEyNzYsIDQxMjg2LCA0MTI5NCwgNDEzMDMsIDQxMzA4LCA0MTMxMywgNDEzMTgsIAorICAgIDE3MDUsIDM3LCA0MTMyNiwgNDEzMzQsIDQxMzQ1LCA0MTM1NiwgMTYzNDMsIDQxMzY2LCA0MTM3MCwgNDEzNzcsIDQxMzgzLCAKKyAgICA0MTM4OCwgNDEzOTIsIDQxNDAzLCA0MTQxMywgNDE0MjIsIDQxNDMzLCAxNjcxNywgMTY3MjIsIDQxNDM4LCA0MTQ0NywgCisgICAgNDE0NTIsIDQxNDYyLCA0MTQ2NywgNDE0NzUsIDQxNDgzLCA0MTQ5MCwgNDE0OTYsIDcwNzgsIDIyOCwgNDE1MDAsIDQxNTA2LCAKKyAgICA0MTUxMSwgNDE1MTQsIDIxMTcsIDM5MTUyLCA0MTUyMiwgNDE1MjYsIDQxNTI5LCAxNTEyLCA0MTUzNSwgMTM5NjcsIDEyOTYsIAorICAgIDQxNTQwLCA0MTU1MywgNDE1NjcsIDI2NDMsIDQxNTg1LCA0MTU5NywgNDE2MDksIDI2NTcsIDI2NzQsIDQxNjIzLCA0MTYzNiwgCisgICAgMjY4OSwgNDE2NTAsIDQxNjYyLCAyNzA0LCA0MTY3NiwgMTMwMiwgMTMwOCwgMTMxNCwgMTA2NTIsIDQxNjgxLCA0MTY4NiwgCisgICAgNDE2OTEsIDQxNjk1LCA0MTcxMCwgNDE3MjUsIDQxNzQwLCA0MTc1NSwgNDE3NzAsIDQxNzg1LCA0MTgwMCwgNDE4MTUsIAorICAgIDQxODMwLCA0MTg0NSwgNDE4NjAsIDQxODc1LCA0MTg5MCwgNDE5MDUsIDQxOTIwLCA0MTkzNSwgNDE5NTAsIDQxOTY1LCAKKyAgICA0MTk4MCwgNDE5OTUsIDQyMDEwLCA0MjAyNSwgNDIwNDAsIDQyMDU1LCA0MjA3MCwgNDIwODUsIDQyMTAwLCA0MjExNSwgCisgICAgNDIxMzAsIDQyMTQ1LCA0MjE2MCwgNDIxNzUsIDQyMTkwLCA0MjIwNSwgNDIyMjAsIDQyMjM1LCA0MjI1MCwgNDIyNjUsIAorICAgIDQyMjgwLCA0MjI5NSwgNDIzMTAsIDQyMzI1LCA0MjM0MCwgNDIzNTUsIDQyMzcwLCA0MjM4NSwgNDI0MDAsIDQyNDE1LCAKKyAgICA0MjQzMCwgNDI0NDUsIDQyNDYwLCA0MjQ3NSwgNDI0OTAsIDQyNTA1LCA0MjUyMCwgNDI1MzUsIDQyNTUwLCA0MjU2NSwgCisgICAgNDI1ODAsIDQyNTk1LCA0MjYxMCwgNDI2MjUsIDQyNjQwLCA0MjY1NSwgNDI2NzAsIDQyNjg1LCA0MjcwMCwgNDI3MTUsIAorICAgIDQyNzMwLCA0Mjc0NSwgNDI3NjAsIDQyNzc1LCA0Mjc5MCwgNDI4MDUsIDQyODIwLCA0MjgzNSwgNDI4NTAsIDQyODY1LCAKKyAgICA0Mjg4MCwgNDI4OTUsIDQyOTEwLCA0MjkyNSwgNDI5NDAsIDQyOTU1LCA0Mjk3MCwgNDI5ODUsIDQzMDAwLCA0MzAxNSwgCisgICAgNDMwMzAsIDQzMDQ1LCA0MzA2MCwgNDMwNzUsIDQzMDkwLCA0MzEwNSwgNDMxMjAsIDQzMTM1LCA0MzE1MCwgNDMxNjUsIAorICAgIDQzMTgwLCA0MzE5NSwgNDMyMTAsIDQzMjI1LCA0MzI0MCwgNDMyNTUsIDQzMjcwLCA0MzI4NSwgNDMzMDAsIDQzMzE1LCAKKyAgICA0MzMzMCwgNDMzNDUsIDQzMzYwLCA0MzM3NSwgNDMzOTAsIDQzNDA1LCA0MzQyMCwgNDM0MzUsIDQzNDUwLCA0MzQ2NSwgCisgICAgNDM0ODAsIDQzNDk1LCA0MzUxMCwgNDM1MjUsIDQzNTQwLCA0MzU1NSwgNDM1NzAsIDQzNTg1LCA0MzYwMCwgNDM2MTUsIAorICAgIDQzNjMwLCA0MzY0NSwgNDM2NjAsIDQzNjc1LCA0MzY5MCwgNDM3MDUsIDQzNzIwLCA0MzczNSwgNDM3NTAsIDQzNzY1LCAKKyAgICA0Mzc4MCwgNDM3OTUsIDQzODEwLCA0MzgyNSwgNDM4NDAsIDQzODU1LCA0Mzg3MCwgNDM4ODUsIDQzOTAwLCA0MzkxNSwgCisgICAgNDM5MzAsIDQzOTQ1LCA0Mzk2MCwgNDM5NzUsIDQzOTkwLCA0NDAwNSwgNDQwMjAsIDQ0MDM1LCA0NDA1MCwgNDQwNjUsIAorICAgIDQ0MDgwLCA0NDA5NSwgNDQxMTAsIDQ0MTI1LCA0NDE0MCwgNDQxNTUsIDQ0MTcwLCA0NDE4NSwgNDQyMDAsIDQ0MjE1LCAKKyAgICA0NDIzMCwgNDQyNDUsIDQ0MjYwLCA0NDI3NSwgNDQyOTAsIDQ0MzA1LCA0NDMyMCwgNDQzMzUsIDQ0MzUwLCA0NDM2NSwgCisgICAgNDQzODAsIDQ0Mzk1LCA0NDQxMCwgNDQ0MjUsIDQ0NDQwLCA0NDQ1NSwgNDQ0NzAsIDQ0NDg1LCA0NDUwMCwgNDQ1MTUsIAorICAgIDQ0NTMwLCA0NDU0NSwgNDQ1NjAsIDQ0NTc1LCA0NDU5MCwgNDQ2MDUsIDQ0NjIwLCA0NDYzNSwgNDQ2NTAsIDQ0NjY1LCAKKyAgICA0NDY4MCwgNDQ2OTUsIDQ0NzEwLCA0NDcyNSwgNDQ3NDAsIDQ0NzU1LCA0NDc3MCwgNDQ3ODUsIDQ0ODAwLCA0NDgxNSwgCisgICAgNDQ4MzAsIDQ0ODQ1LCA0NDg2MCwgNDQ4NzUsIDQ0ODkwLCA0NDkwNSwgNDQ5MjAsIDQ0OTM1LCA0NDk1MCwgNDQ5NjUsIAorICAgIDQ0OTgwLCA0NDk5NSwgNDUwMTAsIDQ1MDI1LCA0NTA0MCwgNDUwNTUsIDQ1MDcwLCA0NTA4NSwgNDUxMDAsIDQ1MTE1LCAKKyAgICA0NTEzMCwgNDUxNDUsIDQ1MTYwLCA0NTE3NSwgNDUxOTAsIDQ1MjA1LCA0NTIyMCwgNDUyMzUsIDQ1MjUwLCA0NTI2NSwgCisgICAgNDUyODAsIDQ1Mjk1LCA0NTMxMCwgNDUzMjUsIDQ1MzQwLCA0NTM1NSwgNDUzNzAsIDQ1Mzg1LCA0NTQwMCwgNDU0MTUsIAorICAgIDQ1NDMwLCA0NTQ0NSwgNDU0NjAsIDQ1NDc1LCA0NTQ5MCwgNDU1MDUsIDQ1NTIwLCA0NTUzNSwgNDU1NTAsIDQ1NTY1LCAKKyAgICA0NTU4MCwgNDU1OTUsIDQ1NjEwLCA0NTYyNSwgNDU2NDAsIDQ1NjU1LCA0NTY3MCwgNDU2ODUsIDQ1NzAwLCA0NTcxNSwgCisgICAgNDU3MzAsIDQ1NzQ1LCA0NTc2MCwgNDU3NzUsIDQ1NzkwLCA0NTgwNSwgNDU4MjAsIDQ1ODM1LCA0NTg1MCwgNDU4NjUsIAorICAgIDQ1ODgwLCA0NTg5NSwgNDU5MTAsIDQ1OTI1LCA0NTk0MCwgNDU5NTUsIDQ1OTcwLCA0NTk4NSwgNDYwMDAsIDQ2MDE1LCAKKyAgICA0NjAzMCwgNDYwNDUsIDQ2MDYwLCA0NjA3NSwgNDYwOTAsIDQ2MTA1LCA0NjEyMCwgNDYxMzUsIDQ2MTUwLCA0NjE2NSwgCisgICAgNDYxODAsIDQ2MTk1LCA0NjIxMCwgNDYyMjUsIDQ2MjQwLCA0NjI1NSwgNDYyNzAsIDQ2Mjg1LCA0NjMwMCwgNDYzMTUsIAorICAgIDQ2MzMwLCA0NjM0NSwgNDYzNjAsIDQ2Mzc1LCA0NjM5MCwgNDY0MDUsIDQ2NDIwLCA0NjQzNSwgNDY0NTAsIDQ2NDY1LCAKKyAgICA0NjQ4MCwgNDY0OTUsIDQ2NTEwLCA0NjUyNSwgNDY1NDAsIDQ2NTU1LCA0NjU3MCwgNDY1ODUsIDQ2NjAwLCA0NjYxNSwgCisgICAgNDY2MzAsIDQ2NjQ1LCA0NjY2MCwgNDY2NzUsIDQ2NjkwLCA0NjcwNSwgNDY3MjAsIDQ2NzM1LCA0Njc1MCwgNDY3NjUsIAorICAgIDQ2NzgwLCA0Njc5NSwgNDY4MTAsIDQ2ODI1LCA0Njg0MCwgNDY4NTUsIDQ2ODcwLCA0Njg4NSwgNDY5MDAsIDQ2OTE1LCAKKyAgICA0NjkzMCwgNDY5NDUsIDQ2OTYwLCA0Njk3NSwgNDY5OTAsIDQ3MDA1LCA0NzAyMCwgNDcwMzUsIDQ3MDUwLCA0NzA2NSwgCisgICAgNDcwODAsIDQ3MDk1LCA0NzExMCwgNDcxMjUsIDQ3MTQwLCA0NzE1NSwgNDcxNzAsIDQ3MTg1LCA0NzIwMCwgNDcyMTUsIAorICAgIDQ3MjMwLCA0NzI0NSwgNDcyNjAsIDQ3Mjc1LCA0NzI5MCwgNDczMDUsIDQ3MzIwLCA0NzMzNSwgNDczNTAsIDQ3MzY1LCAKKyAgICA0NzM4MCwgNDczOTUsIDQ3NDEwLCA0NzQyNSwgNDc0NDAsIDQ3NDU1LCA0NzQ3MCwgNDc0ODUsIDQ3NTAwLCA0NzUxNSwgCisgICAgNDc1MzAsIDQ3NTQ1LCA0NzU2MCwgNDc1NzUsIDQ3NTkwLCA0NzYwNSwgNDc2MjAsIDQ3NjM1LCA0NzY1MCwgNDc2NjUsIAorICAgIDQ3NjgwLCA0NzY5NSwgNDc3MTAsIDQ3NzI1LCA0Nzc0MCwgNDc3NTUsIDQ3NzcwLCA0Nzc4NSwgNDc4MDAsIDQ3ODE1LCAKKyAgICA0NzgzMCwgNDc4NDUsIDQ3ODYwLCA0Nzg3NSwgNDc4OTAsIDQ3OTA1LCA0NzkyMCwgNDc5MzUsIDQ3OTUwLCA0Nzk2NSwgCisgICAgNDc5ODAsIDQ3OTk1LCA0ODAxMCwgNDgwMjUsIDQ4MDQwLCA0ODA1NSwgNDgwNzAsIDQ4MDg1LCA0ODEwMCwgNDgxMTUsIAorICAgIDQ4MTMwLCA0ODE0NSwgNDgxNjAsIDQ4MTc1LCA0ODE5MCwgNDgyMDUsIDQ4MjIwLCA0ODIzNSwgNDgyNTAsIDQ4MjY1LCAKKyAgICA0ODI4MCwgNDgyOTUsIDQ4MzEwLCA0ODMyNSwgNDgzNDAsIDQ4MzU1LCA0ODM3MCwgNDgzODUsIDQ4NDAwLCA0ODQxNSwgCisgICAgNDg0MzAsIDQ4NDQ1LCA0ODQ2MCwgNDg0NzUsIDQ4NDkwLCA0ODUwNSwgNDg1MjAsIDQ4NTM1LCA0ODU1MCwgNDg1NjUsIAorICAgIDQ4NTgwLCA0ODU5NSwgNDg2MTAsIDQ4NjI1LCA0ODY0MCwgNDg2NTUsIDQ4NjcwLCA0ODY4NSwgNDg3MDAsIDQ4NzE1LCAKKyAgICA0ODczMCwgNDg3NDUsIDQ4NzYwLCA0ODc3NSwgNDg3OTAsIDQ4ODA1LCA0ODgyMCwgNDg4MzUsIDQ4ODUwLCA0ODg2NSwgCisgICAgNDg4ODAsIDQ4ODk1LCA0ODkxMCwgNDg5MjUsIDQ4OTQwLCA0ODk1NSwgNDg5NzAsIDQ4OTg1LCA0OTAwMCwgNDkwMTUsIAorICAgIDQ5MDMwLCA0OTA0NSwgNDkwNjAsIDQ5MDc1LCA0OTA5MCwgNDkxMDUsIDQ5MTIwLCA0OTEzNSwgNDkxNTAsIDQ5MTY1LCAKKyAgICA0OTE4MCwgNDkxOTUsIDQ5MjEwLCA0OTIyNSwgNDkyNDAsIDQ5MjU1LCA0OTI3MCwgNDkyODUsIDQ5MzAwLCA0OTMxNSwgCisgICAgNDkzMzAsIDQ5MzQ1LCA0OTM2MCwgNDkzNzUsIDQ5MzkwLCA0OTQwNSwgNDk0MjAsIDQ5NDM1LCA0OTQ1MCwgNDk0NjUsIAorICAgIDQ5NDgwLCA0OTQ5NSwgNDk1MTEsIDQ5NTI3LCA0OTU0MywgNDk1NTksIDQ5NTc1LCA0OTU5MSwgNDk2MDcsIDQ5NjIzLCAKKyAgICA0OTYzOSwgNDk2NTUsIDQ5NjcxLCA0OTY4NywgNDk3MDMsIDQ5NzE5LCA0OTczNSwgNDk3NTEsIDQ5NzY3LCA0OTc4MywgCisgICAgNDk3OTksIDQ5ODE1LCA0OTgzMSwgNDk4NDcsIDQ5ODYzLCA0OTg3OSwgNDk4OTUsIDQ5OTExLCA0OTkyNywgNDk5NDMsIAorICAgIDQ5OTU5LCA0OTk3NSwgNDk5OTEsIDUwMDA3LCA1MDAyMywgNTAwMzksIDUwMDU1LCA1MDA3MSwgNTAwODcsIDUwMTAzLCAKKyAgICA1MDExOSwgNTAxMzUsIDUwMTUxLCA1MDE2NywgNTAxODMsIDUwMTk5LCA1MDIxNSwgNTAyMzEsIDUwMjQ3LCA1MDI2MywgCisgICAgNTAyNzksIDUwMjk1LCA1MDMxMSwgNTAzMjcsIDUwMzQzLCA1MDM1OSwgNTAzNzUsIDUwMzkxLCA1MDQwNywgNTA0MjMsIAorICAgIDUwNDM5LCA1MDQ1NSwgNTA0NzEsIDUwNDg3LCA1MDUwMywgNTA1MTksIDUwNTM1LCA1MDU1MSwgNTA1NjcsIDUwNTgzLCAKKyAgICA1MDU5OSwgNTA2MTUsIDUwNjMxLCA1MDY0NywgNTA2NjMsIDUwNjc5LCA1MDY5NSwgNTA3MTEsIDUwNzI3LCA1MDc0MywgCisgICAgNTA3NTksIDUwNzc1LCA1MDc5MSwgNTA4MDcsIDUwODIzLCA1MDgzOSwgNTA4NTUsIDUwODcxLCA1MDg4NywgNTA5MDMsIAorICAgIDUwOTE5LCA1MDkzNSwgNTA5NTEsIDUwOTY3LCA1MDk4MywgNTA5OTksIDUxMDE1LCA1MTAzMSwgNTEwNDcsIDUxMDYzLCAKKyAgICA1MTA3OSwgNTEwOTUsIDUxMTExLCA1MTEyNywgNTExNDMsIDUxMTU5LCA1MTE3NSwgNTExOTEsIDUxMjA3LCA1MTIyMywgCisgICAgNTEyMzksIDUxMjU1LCA1MTI3MSwgNTEyODcsIDUxMzAzLCA1MTMxOSwgNTEzMzUsIDUxMzUxLCA1MTM2NywgNTEzODMsIAorICAgIDUxMzk5LCA1MTQxNSwgNTE0MzEsIDUxNDQ3LCA1MTQ2MywgNTE0NzksIDUxNDk1LCA1MTUxMSwgNTE1MjcsIDUxNTQzLCAKKyAgICA1MTU1OSwgNTE1NzUsIDUxNTkxLCA1MTYwNywgNTE2MjMsIDUxNjM5LCA1MTY1NSwgNTE2NzEsIDUxNjg3LCA1MTcwMywgCisgICAgNTE3MTksIDUxNzM1LCA1MTc1MSwgNTE3NjcsIDUxNzgzLCA1MTc5OSwgNTE4MTUsIDUxODMxLCA1MTg0NywgNTE4NjMsIAorICAgIDUxODc5LCA1MTg5NSwgNTE5MTEsIDUxOTI3LCA1MTk0MywgNTE5NTksIDUxOTc1LCA1MTk5MSwgNTIwMDcsIDUyMDIzLCAKKyAgICA1MjAzOSwgNTIwNTUsIDUyMDcxLCA1MjA4NywgNTIxMDMsIDUyMTE5LCA1MjEzNSwgNTIxNTEsIDUyMTY3LCA1MjE4MywgCisgICAgNTIxOTksIDUyMjE1LCA1MjIzMSwgNTIyNDcsIDUyMjYzLCA1MjI3OSwgNTIyOTUsIDUyMzExLCA1MjMyNywgNTIzNDMsIAorICAgIDUyMzU5LCA1MjM3NSwgNTIzOTEsIDUyNDA3LCA1MjQyMywgNTI0MzksIDUyNDU1LCA1MjQ3MSwgNTI0ODcsIDUyNTAzLCAKKyAgICA1MjUxOSwgNTI1MzUsIDUyNTUxLCA1MjU2NywgNTI1ODMsIDUyNTk5LCA1MjYxNSwgNTI2MzEsIDUyNjQ3LCA1MjY2MywgCisgICAgNTI2NzksIDUyNjk1LCA1MjcxMSwgNTI3MjcsIDUyNzQzLCA1Mjc1OSwgNTI3NzUsIDUyNzkxLCA1MjgwNywgNTI4MjMsIAorICAgIDUyODM5LCA1Mjg1NSwgNTI4NzEsIDUyODg3LCA1MjkwMywgNTI5MTksIDUyOTM1LCA1Mjk1MSwgNTI5NjcsIDUyOTgzLCAKKyAgICA1Mjk5OSwgNTMwMTUsIDUzMDMxLCA1MzA0NywgNTMwNjMsIDUzMDc5LCA1MzA5NSwgNTMxMTEsIDUzMTI3LCA1MzE0MywgCisgICAgNTMxNTksIDUzMTc1LCA1MzE5MSwgNTMyMDcsIDUzMjIzLCA1MzIzOSwgNTMyNTUsIDUzMjcxLCA1MzI4NywgNTMzMDMsIAorICAgIDUzMzE5LCA1MzMzNSwgNTMzNTEsIDUzMzY3LCA1MzM4MywgNTMzOTksIDUzNDE1LCA1MzQzMSwgNTM0NDcsIDUzNDYzLCAKKyAgICA1MzQ3OSwgNTM0OTUsIDUzNTExLCA1MzUyNywgNTM1NDMsIDUzNTU5LCA1MzU3NSwgNTM1OTEsIDUzNjA3LCA1MzYyMywgCisgICAgNTM2MzksIDUzNjU1LCA1MzY3MSwgNTM2ODcsIDUzNzAzLCA1MzcxOSwgNTM3MzUsIDUzNzUxLCA1Mzc2NywgNTM3ODMsIAorICAgIDUzNzk5LCA1MzgxNSwgNTM4MzEsIDUzODQ3LCA1Mzg2MywgNTM4NzksIDUzODk1LCA1MzkxMSwgNTM5MjcsIDUzOTQzLCAKKyAgICA1Mzk1OSwgNTM5NzUsIDUzOTkxLCA1NDAwNywgNTQwMjMsIDU0MDM5LCA1NDA1NSwgNTQwNzEsIDU0MDg3LCA1NDEwMywgCisgICAgNTQxMTksIDU0MTM1LCA1NDE1MSwgNTQxNjcsIDU0MTgzLCA1NDE5OSwgNTQyMTUsIDU0MjMxLCA1NDI0NywgNTQyNjMsIAorICAgIDU0Mjc5LCA1NDI5NSwgNTQzMTEsIDU0MzI3LCA1NDM0MywgNTQzNTksIDU0Mzc1LCA1NDM5MSwgNTQ0MDcsIDU0NDIzLCAKKyAgICA1NDQzOSwgNTQ0NTUsIDU0NDcxLCA1NDQ4NywgNTQ1MDMsIDU0NTE5LCA1NDUzNSwgNTQ1NTEsIDU0NTY3LCA1NDU4MywgCisgICAgNTQ1OTksIDU0NjE1LCA1NDYzMSwgNTQ2NDcsIDU0NjYzLCA1NDY3OSwgNTQ2OTUsIDU0NzExLCA1NDcyNywgNTQ3NDMsIAorICAgIDU0NzU5LCA1NDc3NSwgNTQ3OTEsIDU0ODA3LCA1NDgyMywgNTQ4MzksIDU0ODU1LCA1NDg3MSwgNTQ4ODcsIDU0OTAzLCAKKyAgICA1NDkxOSwgNTQ5MzUsIDU0OTUxLCA1NDk2NywgNTQ5ODMsIDU0OTk5LCA1NTAxNSwgNTUwMzEsIDU1MDQ3LCA1NTA2MywgCisgICAgNTUwNzksIDU1MDk1LCA1NTExMSwgNTUxMjcsIDU1MTQzLCA1NTE1OSwgNTUxNzUsIDU1MTkxLCA1NTIwNywgNTUyMjMsIAorICAgIDU1MjM5LCA1NTI1NSwgNTUyNzEsIDU1Mjg3LCA1NTMwMywgNTUzMTksIDU1MzM1LCA1NTM1MSwgNTUzNjcsIDU1MzgzLCAKKyAgICA1NTM5OSwgNTU0MTUsIDU1NDMxLCA1NTQ0NywgNTU0NjMsIDU1NDc5LCA1NTQ5NSwgNTU1MTEsIDU1NTI3LCA1NTU0MywgCisgICAgNTU1NTksIDU1NTc1LCA1NTU5MSwgNTU2MDcsIDU1NjIzLCA1NTYzOSwgNTU2NTUsIDU1NjcxLCA1NTY4NywgNTU3MDMsIAorICAgIDU1NzE5LCA1NTczNSwgNTU3NTEsIDU1NzY3LCA1NTc4MywgNTU3OTksIDU1ODE1LCA1NTgzMSwgNTU4NDcsIDU1ODYzLCAKKyAgICA1NTg3OSwgNTU4OTUsIDU1OTExLCA1NTkyNywgNTU5NDMsIDU1OTU5LCA1NTk3NSwgNTU5OTEsIDU2MDA3LCA1NjAyMywgCisgICAgNTYwMzksIDU2MDU1LCA1NjA3MSwgNTYwODcsIDU2MTAzLCA1NjExOSwgNTYxMzUsIDU2MTUxLCA1NjE2NywgNTYxODMsIAorICAgIDU2MTk5LCA1NjIxNSwgNTYyMzEsIDU2MjQ3LCA1NjI2MywgNTYyNzksIDU2Mjk1LCA1NjMxMSwgNTYzMjcsIDU2MzQzLCAKKyAgICA1NjM1OSwgNTYzNzUsIDU2MzkxLCA1NjQwNywgNTY0MjMsIDU2NDM5LCA1NjQ1NSwgNTY0NzEsIDU2NDg3LCA1NjUwMywgCisgICAgNTY1MTksIDU2NTM1LCA1NjU1MSwgNTY1NjcsIDU2NTgzLCA1NjU5OSwgNTY2MTUsIDU2NjMxLCA1NjY0NywgNTY2NjMsIAorICAgIDU2Njc5LCA1NjY5NSwgNTY3MTEsIDU2NzI3LCA1Njc0MywgNTY3NTksIDU2Nzc1LCA1Njc5MSwgNTY4MDcsIDU2ODIzLCAKKyAgICA1NjgzOSwgNTY4NTUsIDU2ODcxLCA1Njg4NywgNTY5MDMsIDU2OTE5LCA1NjkzNSwgNTY5NTEsIDU2OTY3LCA1Njk4MywgCisgICAgNTY5OTksIDU3MDE1LCA1NzAzMSwgNTcwNDcsIDU3MDYzLCA1NzA3OSwgNTcwOTUsIDU3MTExLCA1NzEyNywgNTcxNDMsIAorICAgIDU3MTU5LCA1NzE3NSwgNTcxOTEsIDU3MjA3LCA1NzIyMywgNTcyMzksIDU3MjU1LCA1NzI3MSwgNTcyODcsIDU3MzAzLCAKKyAgICA1NzMxOSwgNTczMzUsIDU3MzUxLCA1NzM2NywgNTczODMsIDU3Mzk5LCA1NzQxNSwgNTc0MzEsIDU3NDQ3LCA1NzQ2MywgCisgICAgNTc0NzksIDU3NDk1LCA1NzUxMSwgNTc1MjcsIDU3NTQzLCA1NzU1OSwgNTc1NzUsIDU3NTkxLCA1NzYwNywgNTc2MjMsIAorICAgIDU3NjM5LCA1NzY1NSwgNTc2NzEsIDU3Njg3LCA1NzcwMywgNTc3MTksIDU3NzM1LCA1Nzc1MSwgNTc3NjcsIDU3NzgzLCAKKyAgICA1Nzc5OSwgNTc4MTUsIDU3ODMxLCA1Nzg0NywgNTc4NjMsIDU3ODc5LCA1Nzg5NSwgNTc5MTEsIDU3OTI3LCA1Nzk0MywgCisgICAgNTc5NTksIDU3OTc1LCA1Nzk5MSwgNTgwMDcsIDU4MDIzLCA1ODAzOSwgNTgwNTUsIDU4MDcxLCA1ODA4NywgNTgxMDMsIAorICAgIDU4MTE5LCA1ODEzNSwgNTgxNTEsIDU4MTY3LCA1ODE4MiwgMTY3NDksIDU4MTkxLCA1ODE5NywgNTgyMDMsIDU4MjEzLCAKKyAgICA1ODIyMSwgMTQ4ODEsIDE1NDMyLCA5OTUzLCA1ODIzNCwgMTUyMCwgNTgyNDIsIDM3NjEsIDI3NDE1LCA3MTgzLCA1ODI0OCwgCisgICAgNTgyNTMsIDU4MjU4LCA1ODI2MywgNTgyNjgsIDU4Mjc0LCA1ODI3OSwgNTgyODUsIDU4MjkwLCA1ODI5NiwgNTgzMDEsIAorICAgIDU4MzA2LCA1ODMxMSwgNTgzMTYsIDU4MzIyLCA1ODMyNywgNTgzMzIsIDU4MzM3LCA1ODM0MiwgNTgzNDcsIDU4MzUyLCAKKyAgICA1ODM1NywgNTgzNjMsIDU4MzY4LCA1ODM3NCwgNTgzODEsIDI1NjEsIDU4Mzg2LCA1ODM5MiwgODUyNiwgNTgzOTYsIAorICAgIDU4NDAxLCA1ODQwOCwgNTg0MTYsIDQwLCA1ODQyMCwgNTg0MjYsIDU4NDMxLCA1ODQzNiwgNTg0NDAsIDU4NDQ1LCA1ODQ0OSwgCisgICAgNTg0NTMsIDEwNjc3LCA1ODQ1NywgNTg0NjcsIDU4NDgwLCA1ODQ5MSwgNTg1MDQsIDU4NTExLCA1ODUxNywgNTg1MjIsIAorICAgIDU4NTI4LCA1ODUzNCwgNTg1NDAsIDU4NTQ1LCA1ODU1MCwgNTg1NTUsIDU4NTYwLCA1ODU2NCwgNTg1NjksIDU4NTc0LCAKKyAgICA1ODU3OSwgNTg1ODUsIDU4NTkxLCA1ODU5NywgNTg2MDIsIDU4NjA2LCA1ODYxMSwgNTg2MTYsIDU4NjIwLCA1ODYyNSwgCisgICAgNTg2MzAsIDU4NjM1LCA1ODYzOSwgMTA2OTMsIDEwNzA0LCAxMDcwOSwgMTU2MywgNTg2NDMsIDE1NjgsIDU4NjQ5LCAKKyAgICAxNjIyNiwgNTg2NTIsIDU4NjU4LCAxNTk5LCA1ODY2NCwgMTYwNSwgMTYxMSwgMTA3MzksIDU4NjY5LCA1ODY3NywgNTg2ODQsIAorICAgIDU4Njg4LCA1ODY5NCwgNTg2OTksIDMwOTUyLCA1ODcwNCwgNTg3MTEsIDU4NzE2LCA1ODcyMCwgNTg3MjQsIDE2MTYsIAorICAgIDE2MzE4LCA1ODczMywgNTg3MzcsIDE2MzI5LCAxMTIwLCA1ODc0MSwgNTg3NDgsIDU4NzUzLCA1ODc1NywgMTYzNTQsIAorICAgIDE2MjAsIDM3MzIxLCA1ODc2MCwgNTg3NjUsIDU4Nzc1LCA1ODc4NCwgNTg3ODksIDU4NzkzLCA1ODc5OSwgMTYyNSwgCisgICAgMzkyMzAsIDU4ODA0LCA1ODgxMywgNTg4MTksIDU4ODI0LCAxMDg5NywgMTA5MDMsIDU4ODMwLCA1ODg0MiwgNTg4NTksIAorICAgIDU4ODc2LCA1ODg5MywgNTg5MTAsIDU4OTI3LCA1ODk0NCwgNTg5NjEsIDU4OTc4LCA1ODk5NSwgNTkwMTIsIDU5MDI5LCAKKyAgICA1OTA0NiwgNTkwNjMsIDU5MDgwLCA1OTA5NywgNTkxMTQsIDU5MTMxLCA1OTE0OCwgNTkxNjUsIDU5MTgyLCA1OTE5OSwgCisgICAgNTkyMTYsIDU5MjMzLCA1OTI1MCwgNTkyNjcsIDU5Mjg0LCA1OTMwMSwgNTkzMTgsIDU5MzM1LCA1OTM1MiwgNTkzNjksIAorICAgIDU5Mzg2LCA1OTQwMywgNTk0MjAsIDU5NDM3LCA1OTQ1NCwgNTk0NzEsIDU5NDg4LCA1OTUwNSwgNTk1MjIsIDU5NTM5LCAKKyAgICA1OTU1NiwgNTk1NzMsIDU5NTkwLCA1OTYwNywgNTk2MjQsIDU5NjQxLCA1OTY1OCwgNTk2NzUsIDU5Njg2LCA1OTY5MSwgCisgICAgMTYzMCwgNTk2OTUsIDU5NzAxLCA1OTcwNiwgNTk3MTEsIDkzMTksIDE2MzUsIDU5NzE3LCA1OTcyNiwgMjc3MTAsIDU5NzMxLCAKKyAgICA1OTc0MiwgNTk3NTIsIDU5NzU3LCA1OTc2NCwgNTk3NzAsIDU5Nzc1LCA1OTc4MCwgMTY2MDYsIDU5Nzg0LCAxMDkxNCwgCisgICAgMTY0MCwgMTA5MTksIDU5NzkwLCA1OTc5NSwgNTk4MDEsIDU5ODA2LCA1OTgxMSwgNTk4MTYsIDU5ODIxLCA1OTgyNiwgCisgICAgNTk4MzEsIDU5ODM2LCA1OTg0MiwgNTk4NDgsIDU5ODU0LCA1OTg1OSwgNTk4NjMsIDU5ODY4LCA1OTg3MywgNTk4NzcsIAorICAgIDU5ODgyLCA1OTg4NywgNTk4OTIsIDU5ODk2LCA1OTkwMSwgNTk5MDcsIDU5OTEyLCA1OTkxNywgNTk5MjEsIDU5OTI2LCAKKyAgICA1OTkzMSwgNTk5MzcsIDU5OTQyLCA1OTk0NywgNTk5NTMsIDU5OTU5LCA1OTk2NCwgNTk5NjgsIDU5OTczLCA1OTk3OCwgCisgICAgNTk5ODMsIDU5OTg3LCA1OTk5MiwgNTk5OTcsIDYwMDAyLCA2MDAwOCwgNjAwMTQsIDYwMDE5LCA2MDAyMywgNjAwMjcsIAorICAgIDYwMDMyLCA2MDAzNywgNjAwNDIsIDI5MTA4LCA2MDA0NiwgNjAwNTEsIDYwMDU2LCA2MDA2MiwgNjAwNjcsIDYwMDcyLCAKKyAgICA2MDA3NiwgNjAwODEsIDYwMDg2LCA2MDA5MiwgNjAwOTcsIDYwMTAyLCA2MDEwOCwgNjAxMTQsIDYwMTE5LCA2MDEyMywgCisgICAgNjAxMjgsIDYwMTMzLCA2MDEzNywgNjAxNDIsIDYwMTQ3LCA2MDE1MiwgNjAxNTgsIDYwMTY0LCA2MDE2OSwgNjAxNzMsIAorICAgIDYwMTc4LCA2MDE4MywgNjAxODcsIDYwMTkyLCA2MDE5NywgNjAyMDIsIDYwMjA2LCA2MDIwOSwgMzE2MTQsIDYwMjE0LCAKKyAgICA2MDIyMiwgMTY2NzIsIDM2NjMsIDExMDEwLCA2MDIyOCwgNjAyMzgsIDYwMjUzLCAxMTAxNSwgNjAyNjQsIDYwMjY5LCAKKyAgICA2MDI4MCwgNjAyOTIsIDYwMzA0LCA2MDMxNiwgMjY5NSwgNjAzMjgsIDYwMzMzLCA2MDM0NSwgNjAzNDksIDYwMzU1LCAKKyAgICA2MDM2MSwgNjAzNjYsIDE2NTIsIDEwNjcsIDYwMzc1LCA2MDM4MCwgMzkyODAsIDYwMzg0LCA2MDM4OCwgNjAzOTMsIAorICAgIDYwMzk3LCAxNjc1NywgNjA0MDIsIDYwNDA1LCA2MDQxMywgNjA0MjEsIDE2NTYsIDExMDQwLCAxMTA0NiwgMTY2MSwgCisgICAgNjA0MjksIDYwNDM2LCA2MDQ0MSwgNjA0NTAsIDYwNDYwLCA2MDQ2NywgNjA0NzIsIDYwNDc3LCAxNjY2LCA2MDQ4NCwgCisgICAgNjA0ODksIDE2ODcyLCA2MDQ5MywgNjA0OTgsIDYwNTA1LCA2MDUxMSwgNjA1MTUsIDYwNTI2LCA2MDUzNiwgMTY4OTQsIAorICAgIDkyMjcsIDkyMzQsIDE2NzEsIDYwNTQzLCA2MDU0OSwgNjA1NTcsIDYwNTY0LCA2MDU3MCwgNjA1NzcsIDYwNTg5LCA2MDU5NSwgCisgICAgNjA2MDAsIDYwNjEyLCA2MDYyMywgNjA2MzIsIDYwNjQyLCAzNzQwLCAzMDc4OCwgMzA3OTcsIDE2OTM0LCAxNjc2LCAxNjgwLCAKKyAgICA2MDY1MCwgNjA2NjEsIDYwNjY2LCAxNjgzLCA2MDY3NCwgNjA2NzksIDE2OTg1LCA2MDY5MSwgNjA2OTcsIDYwNzAyLCAKKyAgICA2MDcxMCwgMTY4OCwgNjA3MTUsIDYwNzIwLCA2MDcyOCwgNjA3MzYsIDYwNzQzLCA2MDc1MiwgNjA3NjAsIDYwNzY5LCAKKyAgICAxNjkzLCA2MDc3MywgMTY5OCwgNjA3NzgsIDYwNzg1LCAxNzA1OSwgNjA3OTMsIDYwNzk5LCA2MDgwNCwgNjA4MTIsIAorICAgIDYwODE5LCA2MDgyNywgMjI1NTcsIDYwODMyLCAxMTE3NSwgNjA4NDEsIDYwODQ3LCA2MDg1NCwgNjA4NjEsIDYwODY3LCAKKyAgICA2MDg3NywgNjA4ODMsIDYwODg4LCA2MDg5OSwgNjA5MDQsIDYwOTEyLCAxMTE4NCwgMTExODksIDYwOTIwLCA2MDkyNiwgCisgICAgNjA5MzQsIDM4MDUsIDE3MTAxLCAzOTM2OCwgNjA5MzksIDYwOTQ1LCA2MDk1MCwgNjA5NTgsIDYwOTY1LCAxMjAyOSwgCisgICAgNjA5NzAsIDYwOTc2LCAxNzA5LCA2MDk4MSwgNjA5ODQsIDExMjcsIDYwOTkwLCA2MDk5NSwgNjEwMDAsIDYxMDA2LCAKKyAgICA2MTAxMSwgNjEwMTYsIDYxMDIxLCA2MTAyNiwgNjEwMzEsIDYxMDM2LCAxNzE4LCA5LCA2MTA0MiwgNjEwNDYsIDYxMDUxLCAKKyAgICA2MTA1NSwgNjEwNTksIDYxMDYzLCAzMTg1NCwgNjEwNjgsIDYxMDczLCA2MTA3OCwgNjEwODIsIDYxMDg1LCA2MTA4OSwgCisgICAgNjEwOTMsIDYxMDk4LCA2MTEwMiwgNjExMDcsIDYxMTExLCAzNDU5MSwgMzQ1OTYsIDM0NjAxLCA2MTExNCwgNjExMjEsIAorICAgIDYxMTI3LCAzOTA4OSwgNjExMzcsIDM0NjA3LCAzMjExMiwgMzE4NjksIDMxODc1LCAzNDYyMywgMzE4ODEsIDYxMTQyLCAKKyAgICA2MTE0NywgMzIxNDUsIDYxMTUxLCA2MTE1NCwgNjExNTgsIDYxMTY1LCA2MTE2OCwgNjExNzMsIDYxMTc3LCA2MTE4MSwgCisgICAgNjExODQsIDYxMTk0LCA2MTIwNiwgNjEyMTMsIDYxMjE5LCA2MTIyNiwgMzM1NDgsIDYxMjI5LCA4NTQzLCA4NzcsIDYxMjMyLCAKKyAgICA2MTIzNiwgNjEyNDEsIDM2OTAsIDYxMjQ1LCA2MTI0OCwgMTM2MjUsIDYxMjU1LCA2MTI2MiwgNjEyNzUsIDYxMjgzLCAKKyAgICA2MTI5MiwgNjEzMDEsIDYxMzA2LCA2MTMxNiwgNjEzMjksIDYxMzQxLCA2MTM0OCwgNjEzNTMsIDYxMzYyLCA2MTM3NSwgCisgICAgMzYwMzUsIDYxMzkzLCA2MTM5OCwgNjE0MDUsIDYxNDExLCA2NTIsIDYxNDE2LCA2MTQyNCwgNjE0MzEsIDI3MjU0LCA2MjcsIAorICAgIDYxNDM3LCA2MTQ0MywgNjE0NTMsIDYxNDU5LCA2MTQ2NCwgMzE4OTksIDYwMDMsIDMxOTEzLCA2MTQ2OCwgNjE0NzgsIAorICAgIDYxNDgzLCA2MTQ5MywgNjE1MDgsIDYxNTE0LCA2MTUyMCwgMzE5MjMsIDYxNTI1LCAzMTA2OSwgNjE1MjksIDYxNTM0LCAKKyAgICA2MTUzOSwgNjE1NDMsIDYxNTQ4LCAxNjkzNywgNjE1NTUsIDYxNTYwLCA2MTU2NCwgNjA0NCwgMzE5NDksIDYxNTY4LCAKKyAgICA2MTU3NCwgMzEyLCA2MTU4NCwgNjE1OTEsIDYxNTk4LCA2MTYwMywgNjE2MTIsIDU4NzY5LCA2MTYxOCwgNjE2MjYsIAorICAgIDYxNjMwLCA2MTYzNCwgNjE2MzgsIDYxNjQyLCA2MTY0NywgNjE2NTEsIDYxNjU3LCA2MTY2NSwgNjE2NzAsIDYxNjc1LCAKKyAgICA2MTY3OSwgNjE2ODQsIDYxNjg4LCA2MTY5MiwgNjE2OTgsIDYxNzA0LCA2MTcwOSwgNjE3MTMsIDMyMDczLCA2MTcxOCwgCisgICAgMzIwNzksIDMyMDg1LCA2MTcyMywgNjE3MjksIDYxNzM2LCA2MTc0MSwgNjE3NDUsIDMxMDg2LCAxNjU5OSwgNjE3NDgsIAorICAgIDYxNzUyLCA2MTc1NywgNjE3NjQsIDYxNzcwLCA2MTc3NCwgNjE3NzksIDM4Nzk5LCA2MTc4NSwgNjE3ODksIDYxNzkzLCAKKyAgICA2MTc5OCwgNjE4MDQsIDYxODEwLCA2MTgyMiwgNjE4MzEsIDYxODQxLCA2MTg0NywgNjE4NTQsIDYxODU5LCA2MTg2NCwgCisgICAgNjE4NjgsIDYxODcxLCA2MTg3NywgNjE4ODQsIDYxODg5LCA2MTg5NCwgNjE5MDEsIDYxOTA4LCA2MTkxNCwgNjE5MTksIAorICAgIDYxOTI0LCA2MTkzMiwgMzIwOTAsIDI0MjMsIDYxOTM3LCA2MTk0MiwgNjE5NDgsIDYxOTUzLCA2MTk1OSwgNjE5NjQsIAorICAgIDYxOTY5LCA2MTk3NCwgNjE5ODAsIDMyMTExLCA2MTk4NSwgNjE5OTEsIDYxOTk3LCA2MjAwMywgMzIxNzUsIDYyMDA4LCAKKyAgICA2MjAxMywgNjIwMTgsIDMyMTg2LCA2MjAyMywgNjIwMjgsIDYyMDMzLCA2MjAzOSwgNjIwNDUsIDMyMTkxLCA2MjA1MCwgCisgICAgNjIwNTUsIDYyMDYwLCAzMjI0NiwgMzIyNTIsIDYyMDY1LCA2MjA3MCwgMzIyNTcsIDYyMDc1LCAyNzkzNywgMzIyNzksIAorICAgIDMyMjgzLCA2MjA4MCwgNjIwNTYsIDYyMDg0LCA2MjA5MiwgNjIwOTgsIDYyMTA2LCA2MjExMywgNjIxMTksIDYyMTI5LCAKKyAgICA2MjEzNSwgNjIxNDIsIDEwNjI0LCAzMjI5NywgNjIxNDgsIDYyMTYxLCA2MjE3MCwgNjIxNzYsIDYyMTg1LCA2MjE5MSwgCisgICAgMjM0OTUsIDYyMTk4LCA2MjIwNSwgNjIyMTUsIDMyMjQ3LCA2MjIxOCwgNjIyMjUsIDYyMjMwLCA2MjIzNCwgNjIyMzgsIAorICAgIDYyMjQzLCA2MTIwLCA2MjI0NywgNjIyNTIsIDYyMjU3LCAzNDY4NSwgMzQ2OTAsIDYyMjYxLCAzNDcwNCwgNjIyNjYsIAorICAgIDM0NzA5LCA2MjI3MSwgNjIyNzcsIDM0NzIxLCAzNDcyNywgMzQ3MzMsIDYyMjgyLCA2MjI4OCwgMjI1MjIsIDYyMjk5LCAKKyAgICA2MjMwMiwgNjIzMTQsIDYyMzIyLCAzMjMyMCwgNjIzMjYsIDYyMzM1LCA2MjM0NSwgNjIzNTQsIDMyMzMwLCA2MjM1OSwgCisgICAgNjIzNjYsIDYyMzc1LCA2MjM4MSwgNjIzODksIDYyMzk2LCA2MDk1LCA0Mzk3LCA2MjQwMSwgMzIyNTgsIDYyNDA3LCAKKyAgICA2MjQxMCwgNjI0MTYsIDYyNDIzLCA2MjQyOCwgNjI0MzMsIDIzNDA1LCA2MjQzNywgNjI0NDMsIDYyNDQ5LCA2MjQ1NCwgCisgICAgNjI0NTksIDYyNDYzLCA2MjQ2OSwgNjI0NzUsIDMzNDU4LCA4NjMsIDM1Njk4LCAzNjYxOSwgMzY2MjUsIDMyMzY2LCAKKyAgICA2MjQ4MCwgNjI0ODQsIDYyNDg4LCA2MjQ5MSwgNjI1MDQsIDYyNTEwLCA2MjUxNCwgNjI1MTcsIDYyNTIyLCAzMzc2MSwgCisgICAgNjI1MjYsIDMxMDkxLCAyMTI3NCwgNjI1MzIsIDYwMjQsIDYwMzIsIDkwNjgsIDYyNTM1LCA2MjU0MCwgNjI1NDUsIDYyNTUwLCAKKyAgICA2MjU1NSwgNjI1NjAsIDYyNTY1LCA2MjU3MCwgNjI1NzUsIDYyNTgwLCA2MjU4NiwgNjI1OTEsIDYyNTk2LCA2MjYwMiwgCisgICAgNjI2MDcsIDYyNjEyLCA2MjYxNywgNjI2MjIsIDYyNjI3LCA2MjYzMiwgNjI2MzgsIDYyNjQzLCA2MjY0OSwgNjI2NTQsIAorICAgIDYyNjU5LCA2MjY2NCwgNjI2NjksIDYyNjc0LCA2MjY3OSwgNjI2ODQsIDYyNjg5LCA2MjY5NCwgNjI2OTksIDYyNzA1LCAKKyAgICA2MjcxMCwgNjI3MTUsIDYyNzIwLCA2MjcyNSwgNjI3MzAsIDYyNzM1LCA2Mjc0MSwgNjI3NDYsIDYyNzUxLCA2Mjc1NiwgCisgICAgNjI3NjEsIDYyNzY2LCA2Mjc3MSwgNjI3NzYsIDYyNzgxLCA2Mjc4NiwgNjI3OTIsIDYyNzk3LCA2MjgwMiwgNjI4MDcsIAorICAgIDYyODEyLCA2MjgxOCwgNjI4MjQsIDYyODI5LCA2MjgzNSwgNjI4NDAsIDYyODQ1LCA2Mjg1MCwgNjI4NTUsIDYyODYwLCAKKyAgICAxNTEzLCAyNDUsIDYyODY1LCA2Mjg2OSwgNjI4NzMsIDYyODc3LCAyNTExNiwgNjI4ODEsIDYyODg1LCA2Mjg5MCwgNjI4OTQsIAorICAgIDYyODk5LCA2MjkwMywgNjI5MDgsIDYyOTEzLCA2MjkxOCwgNjI5MjIsIDYyOTI2LCA2MjkzMSwgNjI5MzUsIDEzMzYyLCAKKyAgICA2Mjk0MCwgNjI5NDQsIDYyOTUxLCA2Mjk2MSwgMTUxOTMsIDYyOTcwLCA2Mjk3OSwgNjI5ODMsIDYyOTg4LCA2Mjk5MywgCisgICAgNjI5OTcsIDI0OTA3LCAzMDE5LCA2MzAwMSwgMTczNTAsIDYzMDA3LCA2MzAxNiwgNjMwMjQsIDYzMDMwLCA2MzA0MiwgCisgICAgNjMwNTQsIDYzMDU4LCA2MzA2MywgNjMwNjcsIDYzMDczLCA2MzA3OSwgNjMwODQsIDYzMDk0LCA2MzEwNCwgNjMxMTAsIAorICAgIDYzMTE1LCA2MzExOSwgNjMxMjQsIDYzMTMwLCA2MzEzOSwgNjMxNDgsIDYzMTU2LCAxNTU0NywgNjMxNjAsIDYzMTY5LCAKKyAgICA2MzE3NywgNjMxODksIDYzMjAwLCA2MzIxMSwgNjMyMjAsIDYzMjI0LCA2MzIzMywgNjMyNDMsIDYzMjUxLCA2MzI1NywgCisgICAgNjMyNjIsIDYzMjY4LCA2MzI3MywgOTgsIDMwOTAwLCA2MzI4NCwgMjYyNDksIDI2MjU5LCA2MzI5MCwgNjMyOTcsIDYzMzAzLCAKKyAgICA2MzMwNywgNjMzMTcsIDYzMzI4LCA2MzMzNiwgNjMzNDUsIDYzMzUwLCA2MzM1NSwgNjMzNTksIDE3MzA0LCA2MzM2NywgCisgICAgNjMzNzEsIDYzMzc3LCA2MzM4NywgNjMzOTQsIDYzNDAwLCAzNDc4NCwgNjM0MDYsIDYzNDA4LCA2MzQxMSwgNjM0MTUsIAorICAgIDYzNDI1LCA2MzQzMSwgNjM0MzgsIDEzMzA4LCA2MzQ0NSwgNjM0NTEsIDYzNDYwLCA2MzQ2OSwgNjM0NzUsIDYzNDgxLCAKKyAgICA2MzQ4NywgNjM0OTIsIDYzNDk5LCA2MzUwNiwgNjM1MTIsIDYzNTI1LCA2MzUzNCwgNjM1NDMsIDYzNTQ4LCA2MzU1MiwgCisgICAgNjM1NTgsIDYzNTY1LCA2MzU3MiwgNjM1NzksIDYzNTg2LCA2MzU5MywgNjM1OTgsIDYzNjAyLCA2MzYwNiwgNjM2MDksIAorICAgIDYzNjE5LCA2MzYyMywgNjM2MzUsIDYzNjQ0LCA2MzY0OCwgNjM2NTMsIDYzNjU3LCA2MzY2MywgNjM2NjgsIDYzNjc1LCAKKyAgICA2MzY4NCwgNjM2OTIsIDYzNzAwLCA2MzcwNSwgNjM3MDksIDYzNzE0LCA2MzcxOSwgNjM3MjksIDYzNzM3LCA2Mzc0MiwgCisgICAgNjM3NDYsIDYzNzUwLCA2Mzc1NiwgNjM3NjgsIDYzNzc2LCA2Mzc4NiwgNjM3OTMsIDYzNzk5LCA2MzgwNCwgNjM4MDgsIAorICAgIDYzODEyLCA2MzgxNiwgNjM4MjUsIDYzODM0LCA2Mzg0MywgNjM4NDksIDYzODU1LCA2Mzg2MSwgNjM4NjYsIDYzODczLCAKKyAgICA2Mzg3OSwgNjM4ODcsIDYzODk0LCAxMjQ1NiwgNjM5MDAsIDYzOTA2LCA2MzkxMCwgMTQyMzEsIDYzOTE0LCA2MzkxOSwgCisgICAgNjM5MjksIDYzOTM4LCA2Mzk0NCwgNjM5NTAsIDYzOTU4LCA2Mzk2NSwgNjM5NjksIDYzOTczLCA2Mzk3OSwgNjM5ODcsIAorICAgIDYzOTk0LCA2NDAwMCwgNjQwMTEsIDY0MDE1LCA2NDAxOSwgNjQwMjMsIDY0MDI2LCA2NDAzMiwgNjQwMzcsIDY0MDQxLCAKKyAgICA2NDA0NSwgNjQwNTQsIDY0MDYyLCA2NDA2OSwgNjQwNzUsIDY0MDgyLCAyNDAyOSwgMzg4NDEsIDY0MDg3LCA2NDA5NSwgCisgICAgNjQwOTksIDY0MTAzLCA2NDEwNiwgNjQxMTQsIDY0MTIxLCA2NDEyNywgNjQxMzYsIDY0MTQ0LCA2NDE1MCwgNjQxNTUsIAorICAgIDY0MTU5LCA2NDE2NCwgNjQxNjgsIDY0MTcyLCA2NDE3NywgNjQxODYsIDY0MTkwLCA2NDE5NywgNjQyMDQsIDY0MjEwLCAKKyAgICA2NDIxOCwgNjQyMjQsIDY0MjM1LCA2NDI0MywgNjQyNDksIDIyNjUyLCA2NDI1OCwgNjQyNjUsIDY0MjcyLCA2NDI3OSwgCisgICAgNjQyODYsIDY0MjkzLCA0MTg3MCwgMTMxNDYsIDY0MzAwLCA2NDMwNywgNjQzMTIsIDM0ODIwLCA2MjE3LCA2NDMxOCwgCisgICAgNjQzMjMsIDY0MzI4LCA2NDMzNCwgNjQzNDAsIDY0MzQ2LCA2NDM1MSwgNjQzNTYsIDY0MzYxLCA2NDM2NiwgNjQzNzIsIAorICAgIDY0Mzc3LCA2NDM4MywgNjQzODgsIDY0Mzk0LCA2NDM5OSwgNjQ0MDQsIDY0NDA5LCA2NDQxNCwgNjQ0MTksIDY0NDI0LCAKKyAgICA2NDQyOSwgNjQ0MzUsIDY0NDQwLCA2NDQ0NiwgNjQ0NTEsIDY0NDU2LCA2NDQ2MSwgNjQ0NjYsIDY0NDcxLCA2NDQ3NiwgCisgICAgNjQ0ODIsIDY0NDg3LCA2NDQ5MiwgNjQ0OTcsIDY0NTAyLCA2NDUwNywgNjQ1MTIsIDY0NTE3LCA2NDUyMiwgNjQ1MjcsIAorICAgIDY0NTMyLCA2NDUzOCwgNjQ1NDMsIDY0NTQ4LCA2NDU1MywgNjQ1NTgsIDY0NTYzLCA2NDU2OCwgNjQ1NzMsIDY0NTc4LCAKKyAgICA2NDU4NCwgNjQ1ODksIDY0NTk0LCA2NDU5OSwgNjQ2MDQsIDY0NjA5LCA2NDYxNCwgNjQ2MTksIDY0NjI0LCA2NDYyOSwgCisgICAgNjQ2MzQsIDY0NjM5LCA2NDY0NCwgNjQ2NTAsIDE4MzQsIDIyNCwgMzc0MTcsIDY0NjU1LCA2NDY1OCwgNjQ2NjMsIDY0NjY3LCAKKyAgICA2NDY3MCwgNjQ2NzUsIDYzNjk2LCA2NDY4NiwgNjQ2OTYsIDY0NzAzLCA2NDcxOSwgNjQ3MjgsIDY0NzM4LCA2NDc0OCwgCisgICAgNjQ3NTYsIDY0NzcwLCA2NDc3OCwgNjQ3ODIsIDY0Nzg1LCA2NDc5MiwgNjQ3OTgsIDY0ODA5LCA2NDgyMSwgNjQ4MzIsIAorICAgIDY0ODQxLCA2NDg0OCwgMTI5NywgMjMyOTQsIDY0ODU4LCAyNTkwLCA2NDg2MiwgNjQ4NzEsIDExMzMsIDE3Mjc3LCAzODA1NCwgCisgICAgNjQ4NzksIDY0ODg3LCA2NDkwMSwgNjQ5MTQsIDY0OTE4LCA2NDkyMywgNjQ5MjgsIDY0OTMzLCA2NDkzOSwgNjQ5NDUsIAorICAgIDY0OTUwLCA4NTM1LCA2NDk1NSwgNjQ5NTksIDY0OTY3LCAxMTA0MSwgNjQ5NzIsIDY0OTc4LCA2NDk4NywgMTcyMSwgCisgICAgMTEwNTMsIDczNiwgNjQ5OTEsIDY1MDAwLCA2NTAxMCwgMjcwMTMsIDY1MDE5LCA2NTAyNSwgMTY4NDksIDY1MDMxLCAKKyAgICA2NTAzNSwgMzk2NCwgMTEzODQsIDY1MDQxLCA2NTA0OCwgNjA2NTYsIDY1MDUyLCA2NTA1NiwgMzk4OCwgMTg5LCAxNDE0NiwgCisgICAgNjUwNjIsIDY1MDc0LCA2NTA3OCwgNjUwODQsIDI3NzMwLCA2NTA4OCwgMTEzNzIsIDI3MzAsIDQsIDY1MDkzLCA2NTEwMywgCisgICAgNjUxMDksIDY1MTIwLCA2NTEyNywgNjUxMzMsIDY1MTM5LCA2NTE0NywgNjUxNTQsIDY1MTYwLCA2NTE3MCwgNjUxODAsIAorICAgIDY1MTkwLCAyMzQ4MiwgMTMwOSwgNjUxOTksIDY1MjAzLCA2NTIwNywgNjUyMTMsIDY1MjE3LCAyNzUzLCAyNzU5LCA4NTMyLCAKKyAgICAyMjY0LCA2NTIyMSwgNjUyMjUsIDY1MjM0LCA2NTI0MiwgNjUyNTMsIDY1MjYxLCA2NTI2OSwgNjUyNzUsIDY1MjgwLCAKKyAgICA2NTI5MSwgNjUzMDIsIDY1MzEwLCA2NTMxNiwgOTY4NywgNjUzMjEsIDY1MzI5LCA2NTMzMywgNjUzMzcsIDY1MzQxLCAKKyAgICA2NTM1MywgMjgxMTUsIDY1MzYwLCA2NTM3MCwgNjUzNzYsIDY1MzgyLCA5Nzg5LCA2NTM5MiwgNjU0MDMsIDY1NDEzLCAKKyAgICA2NTQyMiwgNjU0MjYsIDY1NDMzLCAxMTM1LCAxMTcwLCA2NTQ0MywgNjU0NDgsIDY1NDU2LCA2NTQ2NCwgNjU0NzUsIAorICAgIDY1NDgyLCA2NTQ5NiwgMTQwNzUsIDM5MywgNjU1MDYsIDY1NTEwLCA2NTUxOCwgNjU1MjcsIDY1NTM1LCA2NTU0MSwgCisgICAgNjU1NTUsIDY1NTYyLCA2NTU2OCwgNjU1NzcsIDY1NTg0LCA2NTU5NCwgNjU2MDIsIDM4MTIsIDE1NiwgNjU2MTAsIDY1NjIxLCAKKyAgICA2NTYyNSwgNjU2MzcsIDI3OTI4LCAxNjEsIDY1NjQzLCA2NTY0OCwgNjU2NTIsIDY1NjU5LCA2NTY2NSwgNjU2NzMsIAorICAgIDY1NjgwLCA4ODE4LCA2NTY4NywgNjU2OTYsIDY1NzA0LCAzODc4LCA2NTcxNywgODE5OSwgNjU3MjEsIDI3OTgsIDQ1MCwgCisgICAgNjU3MjYsIDY1NzM5LCA2NTc0NCwgMTgzMywgNjY4LCA2NTc0OCwgMzg5NSwgNjU3NTYsIDY1NzYyLCA2NTc2NiwgOTMxLCAKKyAgICA2NTc3NiwgNjU3ODUsIDY1NzkwLCAxNDkxNSwgMTQ5MjIsIDQ1MjMyLCA2NTc5NCwgMzgyMiwgMTMwMzQsIDY1ODAyLCAKKyAgICA2NTgwOSwgMjM1MzgsIDY1ODEzLCA2NTgyMCwgNjU4MjYsIDY1ODMxLCA2NTgzNiwgMTQ5MzUsIDM3MiwgNjU4NDEsIAorICAgIDY1ODUzLCA2NTg1OSwgNjU4NjcsIDI4MTAsIDE3NTMsIDY1ODc1LCA2NTg3NywgNjU4ODIsIDY1ODg3LCA2NTg5MiwgCisgICAgNjU4OTgsIDY1OTAzLCA2NTkwOCwgNjU5MTMsIDY1OTE4LCA2NTkyMywgNjU5MjgsIDY1OTM0LCA2NTkzOSwgNjU5NDQsIAorICAgIDY1OTQ5LCA2NTk1NCwgNjU5NTksIDY1OTY0LCA2NTk2OSwgNjU5NzQsIDY1OTgwLCA2NTk4NSwgNjU5OTAsIDY1OTk1LCAKKyAgICA2NjAwMSwgNjYwMDYsIDY2MDEyLCA2NjAxNywgNjYwMjIsIDY2MDI3LCA2NjAzMiwgNjYwMzcsIDY2MDQyLCA2NjA0NywgCisgICAgNjYwNTMsIDY2MDU4LCA2NjA2NCwgNjYwNjksIDY2MDc0LCA2NjA3OSwgNjYwODQsIDY2MDg5LCA2NjA5NCwgNjYwOTksIAorICAgIDY2MTA0LCA2NjExMCwgNjYxMTUsIDY2MTIwLCA2NjEyNSwgNjYxMjksIDY2MTMzLCA2NjEzOCwgNjYxNDIsIDY2MTQ3LCAKKyAgICA2NjE1MiwgNjYxNTgsIDY2MTYzLCA2NjE2NywgNjYxNzIsIDY2MTc2LCA2NjE3OSwgNjYxODEsIDY2MTg1LCA2NjE4OCwgCisgICAgNjYxOTMsIDY2MTk3LCA2NjIwMSwgNjYyMDUsIDY2MjA5LCA2NjIxOCwgNjYyMjIsIDMyNTI0LCA2NjIyNSwgMzI1MjksIAorICAgIDY2MjMyLCA2NjIzNywgMzI1MzQsIDY2MjQ2LCA2NjI1NSwgMzI1NDAsIDY2MjYwLCAzMjU0NSwgNjYyNjksIDY2Mjc0LCAKKyAgICAxMTU3MSwgNjYyNzgsIDY2MjgzLCA2NjI4OCwgMzI1NTAsIDY2MjkyLCA0MDE5NiwgNjYyOTYsIDY2Mjk5LCA2NjMwMywgCisgICAgODIxMSwgNjYzMDksIDY2MzE0LCA2NjMxOCwgMzcwNSwgMzI1NTUsIDY2MzIxLCA2NjMyNSwgNjYzMjgsIDY2MzMzLCAKKyAgICA2NjMzNywgNjYzNDMsIDY2MzUxLCA2NjM2NCwgNjYzNzMsIDY2Mzc5LCA2NjM4NCwgNjYzOTAsIDY2Mzk0LCA2NjQwMCwgCisgICAgNjY0MDgsIDY2NDEzLCA2NjQxNywgNjY0MjQsIDY2NDMwLCA2NjQzOCwgNjY0NDcsIDY2NDU1LCAzMjU1OCwgNjY0NjIsIAorICAgIDY2NDcyLCA2NjQ4MSwgNjY0OTQsIDY2NDk5LCA2NjUwNCwgNjY1MTMsIDY2NTE5LCA2NjUyNiwgNjY1MzcsIDY2NTQ5LCAKKyAgICA2NjU1NiwgNjY1NjUsIDY2NTc0LCA2NjU4MywgNjY1OTAsIDY2NTk2LCA2NjYwMywgNjY2MTEsIDY2NjE4LCA2NjYyNiwgCisgICAgNjY2MzUsIDY2NjQzLCA2NjY1MCwgNjY2NTgsIDY2NjY3LCA2NjY3NSwgNjY2ODQsIDY2Njk0LCA2NjcwMywgNjY3MTEsIAorICAgIDY2NzE4LCA2NjcyNiwgNjY3MzUsIDY2NzQzLCA2Njc1MiwgNjY3NjIsIDY2NzcxLCA2Njc3OSwgNjY3ODgsIDY2Nzk4LCAKKyAgICA2NjgwNywgNjY4MTcsIDY2ODI4LCA2NjgzOCwgNjY4NDcsIDY2ODU1LCA2Njg2MiwgNjY4NzAsIDY2ODc5LCA2Njg4NywgCisgICAgNjY4OTYsIDY2OTA2LCA2NjkxNSwgNjY5MjMsIDY2OTMyLCA2Njk0MiwgNjY5NTEsIDY2OTYxLCA2Njk3MiwgNjY5ODIsIAorICAgIDY2OTkxLCA2Njk5OSwgNjcwMDgsIDY3MDE4LCA2NzAyNywgNjcwMzcsIDY3MDQ4LCA2NzA1OCwgNjcwNjcsIDY3MDc3LCAKKyAgICA2NzA4OCwgNjcwOTgsIDY3MTA5LCA2NzEyMSwgNjcxMzIsIDY3MTQyLCA2NzE1MSwgNjcxNTksIDY3MTY2LCA2NzE3NCwgCisgICAgNjcxODMsIDY3MTkxLCA2NzIwMCwgNjcyMTAsIDY3MjE5LCA2NzIyNywgNjcyMzYsIDY3MjQ2LCA2NzI1NSwgNjcyNjUsIAorICAgIDY3Mjc2LCA2NzI4NiwgNjcyOTUsIDY3MzAzLCA2NzMxMiwgNjczMjIsIDY3MzMxLCA2NzM0MSwgNjczNTIsIDY3MzYyLCAKKyAgICA2NzM3MSwgNjczODEsIDY3MzkyLCA2NzQwMiwgNjc0MTMsIDY3NDI1LCA2NzQzNiwgNjc0NDYsIDY3NDU1LCA2NzQ2MywgCisgICAgNjc0NzIsIDY3NDgyLCA2NzQ5MSwgNjc1MDEsIDY3NTEyLCA2NzUyMiwgNjc1MzEsIDY3NTQxLCA2NzU1MiwgNjc1NjIsIAorICAgIDY3NTczLCA2NzU4NSwgNjc1OTYsIDY3NjA2LCA2NzYxNSwgNjc2MjUsIDY3NjM2LCA2NzY0NiwgNjc2NTcsIDY3NjY5LCAKKyAgICA2NzY4MCwgNjc2OTAsIDY3NzAxLCA2NzcxMywgNjc3MjQsIDY3NzM2LCA2Nzc0OSwgNjc3NjEsIDY3NzcyLCA2Nzc4MiwgCisgICAgNjc3OTEsIDY3Nzk5LCA2NzgwNiwgNjc4MTQsIDY3ODIzLCA2NzgzMSwgNjc4NDAsIDY3ODUwLCA2Nzg1OSwgNjc4NjcsIAorICAgIDY3ODc2LCA2Nzg4NiwgNjc4OTUsIDY3OTA1LCA2NzkxNiwgNjc5MjYsIDY3OTM1LCA2Nzk0MywgNjc5NTIsIDY3OTYyLCAKKyAgICA2Nzk3MSwgNjc5ODEsIDY3OTkyLCA2ODAwMiwgNjgwMTEsIDY4MDIxLCA2ODAzMiwgNjgwNDIsIDY4MDUzLCA2ODA2NSwgCisgICAgNjgwNzYsIDY4MDg2LCA2ODA5NSwgNjgxMDMsIDY4MTEyLCA2ODEyMiwgNjgxMzEsIDY4MTQxLCA2ODE1MiwgNjgxNjIsIAorICAgIDY4MTcxLCA2ODE4MSwgNjgxOTIsIDY4MjAyLCA2ODIxMywgNjgyMjUsIDY4MjM2LCA2ODI0NiwgNjgyNTUsIDY4MjY1LCAKKyAgICA2ODI3NiwgNjgyODYsIDY4Mjk3LCA2ODMwOSwgNjgzMjAsIDY4MzMwLCA2ODM0MSwgNjgzNTMsIDY4MzY0LCA2ODM3NiwgCisgICAgNjgzODksIDY4NDAxLCA2ODQxMiwgNjg0MjIsIDY4NDMxLCA2ODQzOSwgNjg0NDgsIDY4NDU4LCA2ODQ2NywgNjg0NzcsIAorICAgIDY4NDg4LCA2ODQ5OCwgNjg1MDcsIDY4NTE3LCA2ODUyOCwgNjg1MzgsIDY4NTQ5LCA2ODU2MSwgNjg1NzIsIDY4NTgyLCAKKyAgICA2ODU5MSwgNjg2MDEsIDY4NjEyLCA2ODYyMiwgNjg2MzMsIDY4NjQ1LCA2ODY1NiwgNjg2NjYsIDY4Njc3LCA2ODY4OSwgCisgICAgNjg3MDAsIDY4NzEyLCA2ODcyNSwgNjg3MzcsIDY4NzQ4LCA2ODc1OCwgNjg3NjcsIDY4Nzc3LCA2ODc4OCwgNjg3OTgsIAorICAgIDY4ODA5LCA2ODgyMSwgNjg4MzIsIDY4ODQyLCA2ODg1MywgNjg4NjUsIDY4ODc2LCA2ODg4OCwgNjg5MDEsIDY4OTEzLCAKKyAgICA2ODkyNCwgNjg5MzQsIDY4OTQ1LCA2ODk1NywgNjg5NjgsIDY4OTgwLCA2ODk5MywgNjkwMDUsIDY5MDE2LCA2OTAyOCwgCisgICAgNjkwNDEsIDY5MDUzLCA2OTA2NiwgNjkwODAsIDY5MDkzLCA2OTEwNSwgNjkxMTYsIDY5MTI2LCA2OTEzNSwgNjkxNDMsIAorICAgIDY5MTUwLCA2OTE1NSwgODA1OCwgNjkxNjIsIDMyNTY4LCA2OTE2NywgNjkxNzIsIDMyNTczLCA2OTE3OCwgMjA5MTYsIAorICAgIDMyNTc4LCA2OTE4MywgNjkxODksIDY5MTk3LCA2OTIwMywgNjkyMDksIDY5MjE2LCA2OTIyMywgNjkyMjgsIDY5MjMyLCAKKyAgICA2OTIzNSwgNjkyMzksIDY5MjQ4LCA2OTI1NCwgNjkyNjYsIDY5Mjc3LCA2OTI4MSwgMzA4MSwgODAzMywgNjkyODYsIAorICAgIDY5Mjg5LCA2OTI5MSwgNjkyOTUsIDY5Mjk5LCA2OTMwMywgNjkzMDksIDY5MzE0LCAyNTkyNywgNjkzMTksIDY5MzIzLCAKKyAgICA2OTMyNiwgNjkzMzEsIDY5MzM1LCA2OTM0MiwgNjkzNDgsIDY5MzUyLCA2MTcwLCA2OTM1NiwgMzI1OTUsIDY5MzYxLCAKKyAgICA2OTM2OCwgNjkzNzcsIDY5Mzg1LCA2OTM5NiwgNjk0MDQsIDY5NDEyLCA2OTQxOSwgNjk0MjYsIDY5NDMyLCA2OTQ0MywgCisgICAgMzI2MDAsIDY5NDQ4LCA2OTQ1OSwgNjk0NzEsIDY5NDc5LCA2OTQ5MCwgNjk0OTksIDY5NTEwLCA2OTUxNSwgNjk1MjMsIAorICAgIDI1NTYsIDY5NTI4LCAzNDI3MCwgNjk1NDEsIDY5NTQ1LCA2OTU1NywgNjk1NjUsIDY5NTcwLCA2OTU3OCwgMTc0NzIsIAorICAgIDY5NTg5LCA2OTU5NSwgNjk2MDIsIDY5NjEwLCA2OTYxNiwgMzI2MTAsIDY5NjIxLCAzOTE0LCA1ODIxNywgNjk2MjgsIAorICAgIDY5NjMxLCA2OTYzOSwgNjk2NTIsIDY5NjY1LCA2OTY3OCwgNjk2OTEsIDY5Njk4LCA2OTcwOSwgNjk3MTgsIDQxNjg3LCAKKyAgICA0MTY5MiwgNjk3MjMsIDY5NzI3LCA2OTczNSwgNjk3NDIsIDY5NzUxLCA2OTc1OSwgNjk3NjUsIDY5Nzc0LCA2OTc4MiwgCisgICAgNjk3OTAsIDY5Nzk0LCA2OTgwMywgNjk4MTIsIDY5ODIyLCA2OTgzNSwgNjk4NDgsIDY5ODU4LCAzMjYxNSwgNjk4NjQsIAorICAgIDY5ODcxLCA2OTg3NywgMzI2MjEsIDY5ODgyLCA2OTg4NSwgNjk4ODksIDY5ODk3LCA2OTkwNiwgNDE0MjUsIDY5OTE0LCAKKyAgICA2OTkyMywgNjk5MzEsIDY5OTM4LCA2OTk0NiwgNjk5NTYsIDY5OTY1LCA2OTk3NCwgNjk5ODMsIDY5OTkxLCA3MDAwMiwgCisgICAgNzAwMTIsIDkzNTksIDIxNTU0LCA3MDAyMSwgNzAwMjYsIDcwMDMxLCA3MDAzNSwgNzAwMzksIDcwMDQ0LCA3MDA1MCwgCisgICAgNzAwNTUsIDcwMDYwLCA3MDA2NiwgNzAwNzEsIDcwMDc2LCAyMTUxOSwgNzAwODEsIDcwMDg4LCA3MDA5NiwgNzAxMDQsIAorICAgIDcwMTA5LCA3MDExNiwgNzAxMjMsIDcwMTI4LCA3MDEzMiwgNzAxMzYsIDcwMTQ0LCA3MDE1MiwgMzI2MzgsIDcwMTU4LCAKKyAgICA3MDE2NCwgNzAxNzYsIDcwMTgyLCA3MDE4NiwgNzAxOTMsIDcwMTk4LCA3MDIwOSwgNzAyMTksIDcwMjI5LCA3MDI0MSwgCisgICAgNzAyNDcsIDcwMjU3LCA3MDI2NywgMzI2NjUsIDcwMjc2LCA3MDI4NSwgNzAyOTEsIDcwMzAzLCA3MDMxNCwgNzAzMjEsIAorICAgIDcwMzI2LCA3MDMzMCwgNzAzMzgsIDcwMzQ0LCA3MDM0OSwgNzAzNTQsIDcwMzYxLCA3MDM2OSwgNzAzODEsIDcwMzkxLCAKKyAgICA3MDQwMCwgNzA0MDksIDcwNDE2LCAzNDEzMiwgMjM4MzQsIDcwNDIyLCA3MDQyNywgNzA0MzEsIDcwNDM1LCA3MDQ0MCwgCisgICAgNzA0NDYsIDcwNDU3LCA3MDQ3MCwgNzA0NzUsIDcwNDgyLCAzMjY3MCwgNzA0ODcsIDcwNDk5LCA3MDUwOCwgNzA1MTgsIAorICAgIDcwNTI5LCA3MDU0MiwgNzA1NDksIDcwNTU4LCA3MDU2NywgNzA1NzUsIDcwNTgwLCA3MDU4NiwgMTA1OCwgNzA1OTEsIAorICAgIDcwNTk2LCA3MDYwMSwgNzA2MDYsIDcwNjEyLCA3MDYxNywgNzA2MjIsIDcwNjI4LCA3MDYzNCwgNzA2MzksIDcwNjQzLCAKKyAgICA3MDY0OCwgNzA2NTMsIDcwNjU4LCA1ODcyOSwgNzA2NjMsIDcwNjY4LCA3MDY3MywgNzA2NzgsIDcwNjg0LCA3MDY5MCwgCisgICAgNzA2OTUsIDcwNjk5LCA3MDcwNCwgNzA3MDksIDcwNzE0LCA3MDcyMCwgNzA3MjUsIDcwNzMxLCA3MDczNiwgNzA3NDEsIAorICAgIDcwNzQ2LCA3MDc1MSwgNzA3NTUsIDcwNzYxLCA3MDc2NiwgNzA3NzUsIDcwNzgwLCA3MDc4NSwgNzA3OTAsIDcwNzk1LCAKKyAgICA3MDc5OSwgNzA4MDYsIDcwODEyLCAxNzEyMiwgMTcxMjksIDcwODE3LCA3MDgyMSwgNzA4MjUsIDcwODI5LCA3MDgzMywgCisgICAgNDU0ODcsIDcwODM3LCA3MDc2NywgNzA4MzksIDcwODQ5LCAzMjY3OSwgNzA4NTIsIDcwODYxLCA3MDg2NywgNjE0MywgCisgICAgMzI2ODQsIDcwODcxLCA3MDg3NywgNzA4ODIsIDcwODg4LCA3MDg5MywgNzA4OTcsIDcwOTA0LCA3MDkwOSwgNzA5MTksIAorICAgIDcwOTI4LCA3MDkzMiwgNzA5MzgsIDcwOTQ0LCA3MDk1MCwgNzA5NTQsIDcwOTYyLCA3MDk2OSwgNzA5NzcsIDcwOTg1LCAKKyAgICAzMjY4OSwgNzA5OTIsIDcwOTk1LCA3MTAwMiwgNzEwMDgsIDcxMDEzLCA3MTAxNywgNzEwMjMsIDcxMDMwLCA3MTAzNSwgCisgICAgNzEwMzksIDcxMDQ4LCA3MTA1NiwgNzEwNjIsIDcxMDY3LCAzMjY5NCwgNzEwNzQsIDcxMDgxLCA3MTA4NywgNzEwOTIsIAorICAgIDcxMDk4LCA3MTEwNSwgNzExMTEsIDIxMjgxLCAyNzQzOCwgNzExMTcsIDcxMTIyLCA3MTEyOCwgNzExNDAsIDcwODAwLCAKKyAgICA3MDgwNywgMjE0NTcsIDcxMTUwLCA3MTE1NSwgNzExNjIsIDcxMTY4LCA3MTE3NSwgNzExODEsIDcxMTkyLCA3MTE5NywgCisgICAgOTEwMywgNzEyMDUsIDcxMjA4LCA3MTIxNCwgNzEyMTgsIDcxMjIyLCA3MTIyNSwgNzEyMzEsIDMyNDQzLCA2MTk0LCA5NjQsIAorICAgIDEzNDEyLCA3MTIzOCwgNzEyNDQsIDcxMjUwLCA3MTI1NiwgNzEyNjIsIDcxMjY4LCA3MTI3NCwgNzEyODAsIDcxMjg2LCAKKyAgICA3MTI5MSwgNzEyOTYsIDcxMzAxLCA3MTMwNiwgNzEzMTEsIDcxMzE2LCA3MTMyMSwgNzEzMjYsIDcxMzMxLCA3MTMzNiwgCisgICAgNzEzNDEsIDcxMzQ2LCA3MTM1MSwgNzEzNTcsIDcxMzYyLCA3MTM2NywgNzEzNzMsIDcxMzc4LCA3MTM4MywgNzEzODksIAorICAgIDcxMzk1LCA3MTQwMSwgNzE0MDcsIDcxNDEzLCA3MTQxOSwgNzE0MjUsIDcxNDMxLCA3MTQzNywgNzE0NDIsIDcxNDQ3LCAKKyAgICA3MTQ1MywgNzE0NTgsIDcxNDYzLCA3MTQ2OSwgNzE0NzQsIDcxNDc5LCA3MTQ4NCwgNzE0ODksIDcxNDk0LCA3MTQ5OSwgCisgICAgNzE1MDQsIDcxNTA5LCA3MTUxNCwgNzE1MTksIDcxNTI0LCA3MTUyOSwgNzE1MzUsIDcxNTQwLCA3MTU0NSwgNzE1NTAsIAorICAgIDcxNTU2LCA3MTU2MSwgNzE1NjYsIDcxNTcxLCA3MTU3NiwgNzE1ODIsIDcxNTg3LCA3MTU5MiwgNzE1OTcsIDcxNjAyLCAKKyAgICA3MTYwNywgNzE2MTIsIDcxNjE3LCA3MTYyMiwgNzE2MjcsIDcxNjMyLCA3MTYzNywgNzE2NDIsIDcxNjQ3LCA3MTY1MiwgCisgICAgNzE2NTcsIDcxNjYyLCA3MTY2NywgNzE2NzIsIDcxNjc3LCA3MTY4MywgNzE2ODgsIDcxNjkzLCA3MTY5OCwgNzE3MDMsIAorICAgIDcxNzA4LCA3MTcxMywgNzE3MTgsIDE4NjQsIDE0MiwgNzE3MjMsIDcxNzI3LCA3MTczMSwgNzE3MzYsIDcxNzQ0LCA3MTc0OCwgCisgICAgNzE3NTUsIDcxNzYzLCA3MTc2NywgNzE3ODAsIDcxNzg4LCA3MTc5MiwgNzE3OTUsIDcxODAwLCA3MTgwNCwgNzE4MDksIAorICAgIDcxODEzLCA3MTgyMSwgNzE4MjUsIDIwOTI0LCA3MTgzMCwgNzE4MzQsIDYwOTMwLCA3MTgzOCwgNzE4NDEsIDcxODQ5LCAKKyAgICA3MTg1NywgNzE4NjUsIDcxODcwLCA3MTg3NywgNzE4ODMsIDcxODg5LCA3MTg5NCwgNzE5MDEsIDcxOTA2LCA3MTkxNCwgCisgICAgNjQ5MDYsIDcxOTIxLCA3MTkyNiwgNzE5MzEsIDcxOTM1LCAxMTYzOCwgNzE5MzksIDcxOTQ0LCA3MTk0OSwgNzE5NTMsIAorICAgIDcxOTU2LCA3MTk2MiwgNzE5NjYsIDcxOTc2LCA3MTk4NSwgNzE5ODgsIDcxOTkyLCA3MTk5OSwgNzIwMTIsIDcyMDE4LCAKKyAgICA3MjAyNiwgNzIwMzcsIDcyMDQ4LCA3MjA1OSwgNzIwNzAsIDcyMDc5LCA3MjA4NSwgNzIwOTQsIDcyMTAyLCA3MjExMiwgCisgICAgNzIxMjUsIDcyMTMyLCA3MjE0MywgNzIxNDksIDcyMTU0LCA3MjE1OSwgNzIxNjUsIDcyMTcxLCA3MjE4MSwgNzIxOTAsIAorICAgIDcwNDg5LCA3MjE5OCwgNzIyMDQsIDcyMjEyLCA3MjIxOCwgNzIyMjYsIDcyMjI5LCA3MjIzMywgNzIyMzcsIDcyMjQwLCAKKyAgICA3MjI0NiwgNzIyNTIsIDcyMjYwLCA3MjI3MiwgNzIyODQsIDcyMjkxLCA3MjI5NSwgNzIzMDYsIDcyMzE0LCA3MjMyMSwgCisgICAgNzIzMzMsIDcyMzQxLCA3MjM0OSwgNzIzNTYsIDcyMzYyLCA3MjM3MiwgNzIzODEsIDcyMzg2LCA3MjM5NiwgNzI0MDUsIAorICAgIDQwNzUxLCA3MjQxMiwgNzI0MTYsIDcyNDIxLCA3MjQyOSwgNzI0MzYsIDcyNDQyLCA3MjQ0NiwgNzI0NTYsIDcyNDY3LCAKKyAgICA3MjQ3NSwgNzI0ODIsIDcyNDk0LCA3MjUwNiwgNzI1MTUsIDY5NTMxLCA3MjUyMiwgNzI1MzMsIDcyNTQ3LCA3MjU1NSwgCisgICAgNzI1NjUsIDcyNTcyLCA3MjU4MCwgNzI1OTIsIDcyNjAxLCA3MjYwOSwgNzI2MTksIDcyNjMwLCA3MjY0MiwgNzI2NTEsIAorICAgIDcyNjYxLCA3MjY2OCwgNzI2NzcsIDcyNjkyLCA3MjcwMCwgNzI3MTAsIDcyNzE5LCA3MjcyNywgNzI3NDAsIDcyNzU1LCAKKyAgICA3Mjc1OSwgNzI3NjgsIDcyNzgwLCA3Mjc5MSwgNzI4MDIsIDcyODEzLCA3MjgyMywgNzI4MzQsIDcyODQyLCA3Mjg0OCwgCisgICAgNzI4NTgsIDcyODY2LCA3Mjg3MiwgMjkwMDcsIDcyODc3LCA3Mjg4MywgNzI4ODgsIDcyODk1LCA5NzAxLCAxNzQ5MiwgCisgICAgNzI5MDEsIDcyOTEwLCA3MjkxNSwgNzI5MTksIDcyOTI2LCA3MjkzMiwgNzI5MzcsIDcyOTQyLCA3Mjk1MCwgNzI5NTgsIAorICAgIDcyOTYyLCA3Mjk2NSwgNzI5NjgsIDcyOTcwLCA3Mjk3NywgNzI5ODMsIDcyOTk0LCA3Mjk5OSwgNzMwMDMsIDczMDEwLCAKKyAgICA3MzAxNiwgNzMwMjEsIDczMDI5LCA2NTQwNSwgNjU0MTUsIDczMDM1LCA3MzA0MiwgNzMwNTIsIDEwNjExLCA3MzA1OSwgCisgICAgNzMwNjQsIDI5MjAzLCA3MzA3MywgNzMwNzgsIDczMDg1LCA3MzA5NSwgNzMxMDMsIDczMTExLCA3MzEyMCwgNzMxMjYsIAorICAgIDczMTMyLCA3MzEzOSwgNzMxNDYsIDczMTUxLCA3MzE1NSwgNzMxNjMsIDczMTY4LCA3MzE3MywgNzMxODEsIDczMTg4LCAKKyAgICA3MzE5MywgNzMxOTksIDczMjAyLCA3MzIwNiwgNzMyMTUsIDcxNzc1LCA3MzIyNCwgNzMyMjgsIDczMjM0LCA3MzI0NSwgCisgICAgNzMyNTUsIDE3NTAxLCA3MzI2NiwgNzMyNzQsIDE3NTEzLCA3MzI4MSwgNzMyODUsIDczMjk0LCAyNzMyNCwgNzMzMDEsIAorICAgIDczMzA1LCA3MzMxMCwgNzMzMjcsIDczMzM5LCAxMDU2OSwgNzMzNTEsIDczMzU2LCA3MzM2MSwgNzMzNjYsIDIwOTk3LCAKKyAgICA3MzM3MCwgNzMzNzUsIDczMzgwLCA3MzM4NiwgNzMzOTEsIDU4NDYsIDIxMDAxLCA3MzM5NiwgNzM0MDEsIDczNDA3LCAKKyAgICA3MzQxNCwgNzM0MTksIDczNDI0LCA3MzQzMCwgNzM0MzYsIDczNDQyLCA3MzQ0NywgNzM0NTMsIDczNDU3LCA3MzQ3MSwgCisgICAgNzM0NzksIDczNDg3LCA3MzQ5MywgNzM0OTgsIDczNTA1LCA3MzUxNSwgNzM1MjQsIDczNTI5LCA3MzUzNCwgNzM1NDIsIAorICAgIDczNTQ3LCA3MzU1MywgNzM1NTgsIDczNTY3LCA1OTc4NiwgNzM1NzIsIDczNTc1LCA3MzU5MywgNzM2MTIsIDczNjI1LCAKKyAgICA3MzYzOSwgNzM2NTUsIDczNjYyLCA3MzY2OSwgNzM2NzUsIDczNjgyLCA3MzY4NywgNzM2OTMsIDczNjk5LCA3MzcwNywgCisgICAgNzM3MTMsIDczNzE4LCA3MzcyMywgNzM3MzksIDEwNTgyLCA3Mzc1MywgNzM3NjAsIDczNzY4LCA3Mzc3NCwgNzM3NzgsIAorICAgIDczNzgxLCA3Mzc4NiwgNzM3OTEsIDczNzk4LCA3MzgwMywgNzM4MTIsIDczODE3LCA3MzgyMywgNzM4MzIsIDczODQxLCAKKyAgICA3Mzg0NiwgNzM4NTAsIDczODU4LCA3Mzg2NywgMTE2NjcsIDczODc2LCA3Mzg4NCwgNzM4ODksIDczODk1LCAxMTY3OCwgCisgICAgNzM5MDAsIDczOTAzLCA3MzkwOCwgNzM5MTgsIDczOTI3LCA3MzkzMiwgNzM5MzgsIDczOTQzLCA3Mzk1MSwgNzM5NTgsIAorICAgIDczOTY5LCA3Mzk3OSwgNzM5ODQsIDY0ODM0LCA3Mzk4OSwgNzM5OTUsIDc0MDAwLCA3NDAwNywgNzQwMTYsIDc0MDI0LCAKKyAgICA3NDAzMCwgNzQwMzYsIDc0MDQzLCA3NDA0OSwgNzQwNTMsIDE2OTQ3LCAzMDU1LCA3NDA1OCwgNzQwNjIsIDc0MDY2LCAKKyAgICA3NDA3MiwgNzQwODEsIDc0MDg3LCA3NDA5NCwgNzQwOTgsIDc0MTE5LCA3NDE0MSwgNzQxNTcsIDc0MTc0LCA3NDE5MywgCisgICAgNzQyMDIsIDc0MjEyLCA3NDIxOSwgNzQyMjYsIDI3MjExLCA3NDIzMiwgNzQyMzYsIDc0MjQ0LCA3NDI1NiwgNzQyNjIsIAorICAgIDc0MjcwLCA3NDI3NCwgNzQyODIsIDc0Mjg5LCA3NDI5MywgNzQyOTksIDc0MzA1LCA3NDMxMCwgMzU2MywgNDE4ODcsIAorICAgIDc0MzE2LCA3NDMyMCwgNzQzMjQsIDc0MzI4LCA3NDMzMywgNzQzMzgsIDc0MzQzLCA3NDM0OSwgNzQzNTUsIDc0MzYxLCAKKyAgICA3NDM2OCwgNzQzNzQsIDc0MzgxLCA3NDM4NywgNzQzOTMsIDc0Mzk4LCA3NDQwNCwgNzQ0MDksIDc0NDEzLCA3NDQxOCwgCisgICAgNzQ0MjIsIDc0NDI3LCA0MTkwMiwgNzQ0MzEsIDc0NDM2LCA3NDQ0NCwgNzQ0NDgsIDc0NDUzLCA3NDQ2MCwgNzQ0NjksIAorICAgIDc0NDc1LCA3NDQ3OSwgNzQ0ODYsIDc0NDkwLCA3NDQ5MywgNzQ1MDAsIDc0NTA5LCA3NDUxNCwgNzQ1MTgsIDc0NTI2LCAKKyAgICA3NDUzNSwgNzQ1MzksIDc0NTQ3LCA3NDU1MywgNzQ1NTgsIDc0NTYzLCA3NDU2OSwgNzQ1NzUsIDc0NTgwLCA3NDU4NCwgCisgICAgNzQ1OTAsIDc0NTk1LCA3NDU5OSwgNzQ2MDMsIDc0NjA2LCA3NDYxMSwgNzQ2MTksIDc0NjI5LCA3NDYzNCwgMzkzODcsIAorICAgIDc0NjQyLCA3NDY1NCwgNzQ2NTgsIDc0NjY0LCA3NDY3NiwgNzQ2ODcsIDc0Njk0LCA3NDcwMCwgNzQ3MDcsIDc0NzE5LCAKKyAgICA3NDcyNiwgNzQ3MzIsIDIxMDc1LCA3NDczNiwgNzQ3NDIsIDc0NzQ5LCA3NDc1NSwgNzQ3NjEsIDc0NzY2LCA3NDc3MSwgCisgICAgNzQ3NzYsIDc0Nzg1LCA3MDMzLCA3NDc5MCwgMTY0MTMsIDc0Nzk2LCA3NDgwMCwgNzQ4MDQsIDc0ODA4LCA3NDgxNiwgCisgICAgNzQ4MjUsIDc0ODI5LCA3NDgzNiwgNzQ4NDUsIDc0ODU4LCA3NDg2NCwgNzQ0MjMsIDMwMDY3LCA3NDg2OSwgNzQ4NzEsIAorICAgIDc0ODc2LCA3NDg4MSwgNzQ4ODYsIDc0ODkxLCA3NDg5NiwgNzQ5MDEsIDc0OTA2LCA3NDkxMSwgNzQ5MTYsIDc0OTIxLCAKKyAgICA3NDkyNiwgNzQ5MzEsIDc0OTM2LCA3NDk0MSwgNzQ5NDcsIDc0OTUyLCA3NDk1NywgNzQ5NjIsIDc0OTY3LCA3NDk3MiwgCisgICAgNzQ5NzcsIDc0OTgyLCA3NDk4NywgNzQ5OTMsIDc0OTk5LCA3NTAwNSwgNzUwMTAsIDc1MDE1LCA3NTAyNywgNzUwMzIsIAorICAgIDE4NzAsIDQ5LCA3NTAzNywgNzUwNDIsIDMyNzIxLCA3NTA0NiwgMzI3MjYsIDMyNzMxLCAzMjczNywgMzI3NDIsIDc1MDUwLCAKKyAgICAzMjc0NywgMjIwNzAsIDc1MDcyLCA3NTA3NiwgNzUwODAsIDc1MDg1LCA3NTA4OSwgMzI3NTEsIDc1MDkzLCA3NTEwMSwgCisgICAgMzI3NTYsIDc1MTA4LCA3NTExMSwgNzUxMTYsIDc1MTIwLCA5NTM2LCA3NTEyOSwgMzI3NjEsIDIxOTMyLCA3NTEzMiwgCisgICAgNzUxMzYsIDE0MjgsIDc1MTQxLCAzMjc3MiwgNzUxNDQsIDc1MTQ5LCAyNTcyMCwgMjU3MzAsIDM1MjMzLCA3NTE1NCwgCisgICAgNzUxNTksIDc1MTY0LCA3NTE2OSwgNzUxNzUsIDc1MTgwLCA3NTE4OSwgNzUxOTQsIDc1MjAxLCA3NTIwNywgNzUyMTIsIAorICAgIDc1MjE3LCA3NTIyMiwgNzUyMzIsIDc1MjQxLCA3NTI0NiwgNzUyNTQsIDc1MjU4LCA3NTI2NiwgMzI1ODYsIDM3Mjg4LCAKKyAgICA3NTI3MywgNzUyNzksIDc1Mjg0LCA3NTI4OSwgMTIwMDksIDc1Mjk0LCA3NTMwMCwgNzUzMDUsIDc1MzEyLCA3NTMxOCwgCisgICAgNzUzMjMsIDc1MzMxLCA3NTM0MSwgNzUzNTEsIDc1MzU3LCA3NTM2MiwgNzUzNjgsIDE3NTIzLCA3NTM3NSwgMzYwNDgsIAorICAgIDc1Mzg4LCA3NTM5MywgNzUzOTksIDMwOTY4LCA3NTQxMiwgNzU0MTgsIDc1NDIyLCA3NTQzMSwgNzU0MzgsIDc1NDQ0LCAKKyAgICA3NTQ1MiwgNzU0NjEsIDc1NDY4LCA3NTQ3NCwgNzU0NzcsIDc1NDgxLCAyNTg2MSwgNzU0ODUsIDc1NDkyLCA3NTQ5OCwgCisgICAgNzU1MDYsIDc1NTExLCAyMzk3NywgNzU1MTcsIDc1NTIwLCA3NTUyOCwgNzU1MzYsIDc1NTUwLCA3NTU1NywgNzU1NjMsIAorICAgIDc1NTcwLCA3NTU3NiwgMzI3ODYsIDc1NTgwLCA3NTU4NywgNzU1OTUsIDc1NjAzLCA3NTYwOSwgMzI3OTEsIDc1NjE3LCAKKyAgICA3NTYyMywgNzU2MjgsIDc1NjM4LCA3NTY0NCwgNzU2NTMsIDMwODA1LCAzNDY5MSwgNzU2NjEsIDc1NjY2LCA3NTY3MSwgCisgICAgNzU2NzUsIDc1NjgwLCA3NTY4NCwgNzU2OTIsIDE0OTA3LCAzOTQwMCwgNzU2OTcsIDc1NzAyLCAzMjc5NiwgNjIyMzIsIAorICAgIDc1NzA2LCA3NTcxMSwgNzU3MTUsIDc1NzI0LCA3NTczMiwgNzU3MzgsIDc1NzQzLCA3NTc0OSwgNzU3NTYsIDc1NzYyLCAKKyAgICA3NTc2NywgNzU3NzIsIDc1NzgxLCA3NTc5MywgNzU4MDgsIDMzMDU4LCA3NTgxNCwgMTY1MzIsIDMyODAwLCA3NTgxOCwgCisgICAgNzU4MjUsIDI0MDg3LCA3NTgzMSwgNzU4MzgsIDc1ODQ3LCA3NTg1NCwgNzU4NjMsIDc1ODY5LCA3NTg3NCwgNzU4ODIsIAorICAgIDc1ODg4LCAzMjgxMCwgNzU4OTMsIDc1OTAyLCA3NDY4MiwgNzU5MTEsIDc1OTE4LCA3NTkyNCwgNzU5MzAsIDc1OTQwLCAKKyAgICA3NTk0OCwgNzU5NTUsIDc1OTU5LCAzMjgxNSwgNzU5NjIsIDMyODIxLCAzMjgyNywgNzU5NjcsIDc1OTc1LCA3NTk4MywgCisgICAgNzU5OTMsIDc2MDAyLCA3NjAxMCwgNzYwMTcsIDc2MDI3LCAzMjgzMiwgNzYwMzEsIDc2MDMzLCA3NjAzNywgNzYwNDIsIAorICAgIDc2MDQ2LCA3NjA1MCwgNzYwNTYsIDc2MDYxLCA3NjA2NSwgNzYwNzYsIDc2MDgxLCA3NjA4NiwgMzA2MCwgNzYwOTAsIAorICAgIDc2MDk3LCA3NjEwMSwgNzYxMTAsIDc2MTE4LCA3NjEyNSwgNzYxMzAsIDc2MTM1LCA2MjI3OCwgNzYxMzksIDc2MTQyLCAKKyAgICA3NjE0OCwgNzYxNTYsIDc2MTYyLCA3NjE2NiwgNzYxNzEsIDc2MTc4LCA3NjE4MywgNzYxODksIDM0NzIyLCA3NjE5NCwgCisgICAgNzYxOTcsIDc2MjAyLCA3NjIwNiwgNzYyMTEsIDc2MjE2LCA3NjIyMCwgNzYyMjgsIDc2MjMyLCAyNTczOSwgMjU3NDgsIAorICAgIDc2MjM4LCA3NjI0NCwgNzYyNTAsIDc2MjU1LCA3NjI1OSwgNzYyNjIsIDc2MjcyLCA3NjI4MSwgNzYyODYsIDc2MjkyLCAKKyAgICA3NjI5OSwgNzYzMDUsIDc2MzA5LCA3NjMxNywgNzYzMjIsIDM0NzI4LCA3NjMyNiwgNzYzMzQsIDc2MzQwLCA3NjM0NywgCisgICAgNzYzNTIsIDc2MzU2LCA3NjM2MSwgNTg0MDMsIDM0NzM0LCA3NjM2NywgNzYzNzIsIDc2Mzc2LCA3NjM4MSwgNzYzODYsIAorICAgIDc2MzkxLCA3NjM5NSwgNzY0MDAsIDc2NDA1LCA3NjQxMSwgNzY0MTYsIDc2NDIxLCA3NjQyNywgNzY0MzMsIDc2NDM4LCAKKyAgICA3NjQ0MiwgNzY0NDcsIDc2NDUyLCA3NjQ1NywgNzY0NjEsIDI0MDg2LCA3NjQ2NiwgNzY0NzEsIDc2NDc3LCA3NjQ4MywgCisgICAgNzY0ODksIDc2NDk0LCA3NjQ5OCwgNzY1MDMsIDc2NTA4LCA3NjUxMywgNzY1MTcsIDc2NTIyLCA3NjUyNywgNzY1MzIsIAorICAgIDc2NTM3LCA3NjU0MSwgMzI4NDAsIDc2NTQ5LCA3NjU1MywgNzY1NjEsIDc2NTY5LCA3NjU4MCwgNzY1ODUsIDc2NTg5LCAKKyAgICAyMjM4NCwgNzY1OTQsIDc2NjAwLCA3NjYxMCwgNzY2MTcsIDc2NjIyLCA3NjYzMSwgNzY2MzYsIDc2NjQwLCA3NjY0NSwgCisgICAgNzY2NTMsIDc2NjYxLCA3NjY2OCwgNjUwNjgsIDc2Njc0LCA3NjY4MiwgNzY2ODksIDc2NzAwLCA3NjcwNiwgNzY3MTAsIAorICAgIDc2NzE2LCAzMjg1MCwgNzY3MTksIDc2NzI2LCA3NjczNCwgNzY3MzksIDM5NTkxLCA3Njc0MywgNzY3NDgsIDc2NzU1LCAKKyAgICA3Njc2MCwgODk4NSwgNzY3NjQsIDc2NzcyLCA3Njc3OSwgNzY3ODYsIDc2NzkyLCA3NjgwNiwgNjMzNDAsIDc2ODE0LCAKKyAgICA3NjgyMCwgNzY4MjQsIDc2ODI3LCA3NjgzNSwgNzY4NDIsIDc2ODQ3LCA3Njg2MCwgNzY4NjcsIDc2ODcxLCA3Njg3OCwgCisgICAgNzY4ODMsIDYwODIzLCA3Njg4OCwgNzY4OTEsIDc2ODk4LCA3NjkwNCwgNzY5MDgsIDc2OTE2LCA3NjkyNSwgNzY5MzUsIAorICAgIDc2OTQ1LCA3Njk1NCwgNzY5NjIsIDc2OTczLCA3Njk3OCwgNzY5ODIsIDc2OTg3LCA3Njk5MSwgMzUzNjQsIDc2OTk5LCAKKyAgICAyMTM0NCwgMzUzNzMsIDc3MDA0LCA3NzAwOSwgNzcwMTQsIDc3MDE5LCA3NzAyNCwgNzcwMjksIDc3MDM0LCA3NzAzOCwgCisgICAgNzcwNDMsIDc3MDQ4LCA3NzA1MywgNzcwNTgsIDc3MDYzLCA3NzA2OCwgNzcwNzIsIDc3MDc3LCA3NzA4MiwgNzcwODYsIAorICAgIDc3MDkwLCA3NzA5NCwgNzcwOTgsIDc3MTAzLCA3NzEwOCwgNzcxMTIsIDc3MTE3LCA3NzEyMSwgNzcxMjUsIDc3MTMwLCAKKyAgICA3NzEzNSwgNzcxNDAsIDc3MTQ1LCA3NzE0OSwgNzcxNTQsIDc3MTU5LCA3NzE2MywgNzcxNjgsIDc3MTczLCA3NzE3OCwgCisgICAgNzcxODMsIDc3MTg4LCA3NzE5MywgNzcxOTgsIDc3MjAzLCA3NzIwOCwgNzcyMTMsIDc3MjE4LCA3NzIyMywgNzcyMjgsIAorICAgIDc3MjMzLCA3NzIzOCwgNzcyNDMsIDc3MjQ4LCA3NzI1MywgNzcyNTgsIDc3MjYzLCA3NzI2NywgNzcyNzIsIDc3Mjc3LCAKKyAgICA3NzI4MiwgNzcyODcsIDc3MjkyLCA3NzI5NywgNzczMDIsIDc3MzA3LCA3NzMxMiwgNzczMTcsIDc3MzIyLCA3NzMyNiwgCisgICAgNzczMzEsIDc3MzM1LCA3NzM0MCwgNzczNDUsIDc3MzUwLCA3NzM1NSwgNzczNjAsIDc3MzY1LCA3NzM3MCwgNzczNzUsIAorICAgIDc3MzgwLCA3NzM4NCwgNzczODgsIDc3MzkzLCA3NzM5OCwgNzc0MDIsIDc3NDA3LCA3NzQxMiwgNzc0MTYsIDc3NDIxLCAKKyAgICA3NzQyNiwgNzc0MzEsIDc3NDM2LCA3NzQ0MCwgNzc0NDUsIDc3NDUwLCA3NzQ1NCwgNzc0NTksIDc3NDYzLCA3NzQ2NywgCisgICAgNzc0NzEsIDc3NDc1LCA3NzQ4MCwgNzc0ODQsIDc3NDg4LCA3NzQ5MiwgNzc0OTYsIDc3NTAwLCA3NzUwNCwgNzc1MDgsIAorICAgIDc3NTEyLCA3NzUxNiwgNzc1MjEsIDc3NTI2LCA3NzUzMSwgNzc1MzYsIDc3NTQxLCA3NzU0NiwgNzc1NTEsIDc3NTU2LCAKKyAgICA3NzU2MSwgNzc1NjYsIDc3NTcwLCA3NzU3NCwgNzc1NzgsIDc3NTgyLCA3NzU4NiwgNzc1OTAsIDc3NTk1LCA3NzU5OSwgCisgICAgNzc2MDQsIDc3NjA4LCA3NzYxMywgNzc2MTgsIDc3NjIyLCA3NzYyNiwgNzc2MzEsIDc3NjM1LCA3NzYzOSwgNzc2NDMsIAorICAgIDc3NjQ3LCA3NzY1MSwgNzc2NTUsIDc3NjU5LCA3NzY2MywgNzc2NjcsIDc3NjcxLCA3NzY3NSwgNzc2NzksIDc3NjgzLCAKKyAgICA3NzY4NywgNzc2OTIsIDc3Njk3LCA3NzcwMSwgNzc3MDUsIDc3NzA5LCA3NzcxMywgNzc3MTcsIDc3NzIxLCA3NzcyNiwgCisgICAgNzc3MzAsIDc3NzM0LCA3NzczOCwgNzc3NDIsIDc3NzQ2LCA3Nzc1MCwgNzc3NTUsIDc3NzU5LCA3Nzc2NCwgNzc3NjgsIAorICAgIDc3NzcyLCA3Nzc3NiwgNzc3ODAsIDc3Nzg0LCA3Nzc4OCwgNzc3OTIsIDc3Nzk2LCA3NzgwMCwgNzc4MDQsIDc3ODA4LCAKKyAgICA3NzgxMywgNzc4MTcsIDc3ODIxLCA3NzgyNSwgNzc4MjksIDc3ODMzLCA3NzgzNywgNzc4NDEsIDc3ODQ1LCA3Nzg0OSwgCisgICAgNzc4NTMsIDc3ODU3LCA3Nzg2MiwgNzc4NjYsIDc3ODcwLCA3Nzg3NSwgNzc4ODAsIDc3ODg0LCA3Nzg4OCwgNzc4OTIsIAorICAgIDc3ODk2LCA3NzkwMCwgNzc5MDQsIDc3OTA4LCA3NzkxMiwgNzc5MTcsIDc3OTIxLCA3NzkyNiwgNzc5MzAsIDc3OTM1LCAKKyAgICA3NzkzOSwgNzc5NDQsIDc3OTQ4LCA3Nzk1NCwgNzc5NTksIDc3OTYzLCA3Nzk2OCwgNzc5NzIsIDc3OTc3LCA3Nzk4MSwgCisgICAgNzc5ODYsIDc3OTkwLCA3Nzk5NSwgMTUyMSwgNzc5OTksIDI4MjQsIDE3NTksIDE3NjQsIDc4MDAzLCA3ODAwNywgMjgyOCwgCisgICAgNzgwMTEsIDEzOTcsIDc4MDE2LCAxMzQyLCA3ODAyMCwgMjg0MCwgNzgwMjQsIDc4MDMxLCA3ODAzOCwgNzgwNTIsIDI4NDQsIAorICAgIDcxMzEsIDc4MDYxLCA3ODA2OSwgNzgwNzYsIDc4MDg3LCA3ODA5NiwgNzgxMDMsIDc4MTE1LCA3ODEyOCwgNzgxNDEsIAorICAgIDc4MTUyLCA3ODE1NywgNzgxNjQsIDc4MTc2LCA3ODE4MCwgMjg0OCwgMTE3NDAsIDc4MTkwLCA3ODE5NSwgNzgyMDQsIAorICAgIDc4MjE0LCAyODUyLCA3ODIxOSwgNzgyMjMsIDc4MjI4LCA3ODIzNSwgNzgyNDEsIDc4MjQ5LCA3ODI2MSwgMTM0NywgCisgICAgMTMwMzUsIDc4MjcxLCA3ODI3NSwgNzgyODEsIDc4Mjk1LCA3ODMwNywgNzgzMTksIDc4MzI5LCA3ODMzOCwgNzgzNDcsIAorICAgIDc4MzU2LCA3ODM2NCwgNzgzNzUsIDc4MzgzLCA0MDUxLCA3ODM5MywgNzg0MDQsIDc4NDEzLCA3ODQxOSwgNzg0MzQsIAorICAgIDc4NDQxLCA3ODQ0NywgMzU0ODksIDc4NDUyLCAyODc2LCAxMzAzOSwgNzg0NTYsIDc4NDYzLCA4OTMwLCA3ODQ3MiwgMjg4MSwgCisgICAgMzIzMzYsIDc4NDc4LCA2MDU3MiwgNzg0ODUsIDc4NDkxLCA3ODUwMiwgNzg1MDgsIDc4NTE1LCA3ODUyMSwgNzg1MjksIAorICAgIDc4NTM2LCA3ODU0MiwgNzg1NTIsIDc4NTYxLCA3ODU3MiwgNzg1NzksIDc4NTg1LCA3ODU5NSwgNzg2MDMsIDc4NjA5LCAKKyAgICA3ODYyNCwgNzg2MzAsIDc4NjM1LCA3ODY0MiwgNzg2NDUsIDc4NjUxLCA3ODY1OCwgNzg2NjQsIDc4NjcyLCA3ODY4MSwgCisgICAgNzg2ODksIDc4Njk1LCA3ODcwNCwgNDE0MjcsIDc4NzE4LCA3ODcyMywgNzg3MjksIDE0NzQ0LCA3ODczNCwgNzg3NDcsIAorICAgIDc4NzU2LCA3ODc2NCwgNzg3NzEsIDc4Nzc1LCA3ODc3OSwgNzg3ODIsIDc4Nzg5LCA3ODc5NiwgNzg4MDQsIDc4ODEyLCAKKyAgICA3ODgyMSwgNzg4MjksIDE0NjcxLCA3ODgzNywgNzg4NDIsIDc4ODQ2LCA3ODg1OCwgNzg4NjUsIDc4ODc0LCA3NDgsIAorICAgIDc4ODg0LCA3ODg5MywgNzg5MDQsIDI4OTcsIDc4OTA4LCA3ODkxMiwgNzg5MTgsIDc4OTMxLCA3ODk0MywgNzg5NTMsIAorICAgIDc4OTYyLCA3ODk3NCwgMjYzNTIsIDc4OTg1LCA3ODk5MywgNzkwMDIsIDc5MDEzLCA3OTAyNCwgNzkwMzQsIDc5MDQ0LCAKKyAgICA3OTA1MywgNzkwNjEsIDExMzA1LCA3OTA2OCwgNzkwNzIsIDc5MDc1LCA3OTA4MCwgNzkwODUsIDc5MDg5LCA3OTA5NSwgCisgICAgMTM1MiwgMTE4MTEsIDc5MTAyLCA3OTExMywgNzkxMjIsIDc5MTMwLCA3OTEzOSwgNzkxNDcsIDc5MTYzLCA3OTE3NCwgCisgICAgNzkxODMsIDc5MTkxLCA3OTIwMywgNzkyMTQsIDc5MjMwLCA3OTI0MCwgNzkyNjEsIDc5Mjc0LCA3OTI4MiwgNzkyODksIAorICAgIDE0ODU1LCA3OTMwMiwgNzkzMDcsIDc5MzEzLCA1OTA4LCA3OTMxOSwgNzkzMjIsIDc5MzI5LCA3OTMzOSwgODE3NiwgCisgICAgNzkzNDYsIDc5MzUxLCA3OTM1NiwgNzkzNjEsIDc5MzY5LCA3OTM3OCwgNzkzODYsIDk3NDksIDk3NTgsIDc5MzkxLCAKKyAgICA3OTQwMiwgNzk0MDcsIDc5NDEzLCAyOTEzLCAyOTE4LCA3OTQxOSwgMTA4NzIsIDc5NDI1LCA3OTQzMiwgNzk0MzksIAorICAgIDc5NDUyLCAyMjUxLCA2OCwgNzk0NTcsIDc5NDYyLCA3OTQ3MiwgNzk0NzgsIDc5NDg3LCA3OTQ5NSwgNzk1MDUsIDc5NTA5LCAKKyAgICA3OTUxNCwgNzk1MTgsIDc5NTMwLCAyOTQxLCA3OTUzOCwgNzk1NDYsIDc5NTUxLCA3OTU2MiwgNzk1NzMsIDc5NTgyLCAKKyAgICA3OTU4NywgNzk1OTMsIDc5NTk4LCA3OTYwOCwgNzk2MTgsIDc5NjIzLCA3OTYyOSwgNzk2MzQsIDc5NjQzLCAyMTM5NywgCisgICAgNzk2NDcsIDQxMjgsIDIwLCA3OTY1MiwgNzk2NjEsIDc5NjY4LCA3OTY3NSwgNzk2ODEsIDc5Njg3LCA4NjQsIDc5NjkyLCAKKyAgICA3OTY5NywgNjA5MDAsIDc5NzAyLCA3OTcwNywgNzk3MTMsIDc5NzE5LCA3OTcyNywgNzk3MzIsIDc5NzM5LCA3OTc0NSwgCisgICAgNzk3NTAsIDM4MDAxLCA0MTMyMSwgNzk3NTYsIDI5NDUsIDMyLCA3OTc2NiwgNzk3NzksIDc5Nzg0LCA3OTc5MiwgNzk3OTcsIAorICAgIDc5ODAzLCAyOTY3LCAyODI4OSwgNzk4MDgsIDc5ODE2LCA3OTgyMywgNzk4MjgsIDU4NjQ1LCA2MTkwMywgNzk4MzcsIAorICAgIDc5ODQxLCAxNzA0LCAxODEzLCA3OTg0NiwgNzk4NTEsIDc5ODU4LCAxODE3LCAyNDcsIDc5ODY1LCA3OTg3MSwgMjk4OSwgCisgICAgNzk4NzYsIDc5ODgxLCA3OTg4OCwgMTgyMSwgNzk4OTMsIDc5ODk5LCA3OTkwNCwgNzk5MTYsIDYxMTksIDc5OTI2LCAxODI4LCAKKyAgICA3OTkzMiwgNzk5MzcsIDc5OTQ0LCA3OTk1MSwgNzk5NjYsIDc5OTczLCA3OTk4NCwgNzk5OTIsIDI2MTgsIDc5OTk2LCAKKyAgICA4MDAwOCwgODAwMTMsIDgwMDE3LCA4MDAyMywgMjgxMTQsIDIyNTYsIDgwMDI3LCA4MDAzOCwgODAwNDIsIDgwMDQ2LCAKKyAgICA4MDA1MiwgODAwNTYsIDgwMDY1LCA4MDA2OSwgODAwODAsIDgwMDg0LCAyMzAyLCAzMjE2NSwgODAwODgsIDgwMDk4LCAKKyAgICAzMDgwLCA5MzY0LCA4MDEwNiwgODAxMTEsIDgwMTE1LCA4MDEyNCwgODAxMzEsIDgwMTM3LCAzMDUwLCAxNzEzOSwgODAxNDEsIAorICAgIDgwMTU0LCA4MDE3MiwgODAxNzcsIDgwMTg1LCA4MDE5MywgODAyMDMsIDk5NzgsIDEzMTQ3LCA4MDIxNSwgODAyMjgsIAorICAgIDgwMjM1LCA4MDI0MiwgODAyNTgsIDgwMjY1LCA4MDI3MSwgMTA5NSwgODAyNzgsIDgwMjg1LCA4MDI5NSwgODAzMDQsIAorICAgIDgwMzE2LCA0MjI5MSwgODAzMjQsIDMwNjQsIDEyMDIzLCA4MDMyNywgODAzMzUsIDgwMzM5LCA3ODIzMSwgMzA2OCwgCisgICAgODAzNDMsIDIxMTc4LCAxMjAzOSwgMzc1NiwgODAzNDcsIDMwNzQsIDgwMzUxLCA4MDM2MSwgODAzNjcsIDgwMzczLCAKKyAgICA4MDM3OSwgODAzODUsIDgwMzkxLCA4MDM5NywgODA0MDMsIDgwNDA5LCA4MDQxNSwgODA0MjEsIDgwNDI3LCA4MDQzMywgCisgICAgODA0MzksIDgwNDQ1LCA4MDQ1MSwgODA0NTcsIDgwNDYzLCA4MDQ2OSwgODA0NzUsIDgwNDgxLCA4MDQ4NywgODA0OTMsIAorICAgIDgwNDk5LCA4MDUwNSwgODA1MTEsIDgwNTE4LCA4MDUyNSwgODA1MzEsIDgwNTM3LCA4MDU0MywgODA1NDksIDgwNTU1LCAKKyAgICA4MDU2MSwgMTM1NywgMTYwNDksIDEyMDYxLCA4MDU2NywgODA1NzIsIDgwNTc3LCA4MDU4MiwgODA1ODcsIDgwNTkyLCAKKyAgICA4MDU5NywgODA2MDIsIDgwNjA3LCA4MDYxMiwgODA2MTcsIDgwNjIyLCA4MDYyNywgODA2MzIsIDgwNjM3LCA4MDY0MiwgCisgICAgODA2NDcsIDgwNjUyLCA4MDY1NywgODA2NjIsIDgwNjY3LCA4MDY3MiwgODA2NzcsIDgwNjgyLCA4MDY4NywgODA2OTIsIAorICAgIDgwNjk4LCA4MDcwMywgODA3MDgsIDgwNzE0LCA4MDcxOSwgODA3MjUsIDgwNzMwLCA4MDczNSwgODA3NDEsIDgwNzQ2LCAKKyAgICA4MDc1MSwgODA3NTYsIDgwNzYxLCA4MDc2NiwgODA3NzEsIDgwNzc2LCA4MDc4MSwgODAzNjIsIDgwMzY4LCA4MDM3NCwgCisgICAgODAzODAsIDgwMzg2LCA4MDM5MiwgODAzOTgsIDgwNDA0LCA4MDQxMCwgODA0MTYsIDgwNDIyLCA4MDQyOCwgODA0MzQsIAorICAgIDgwNDQwLCA4MDQ0NiwgODA3ODcsIDgwNDUyLCA4MDQ1OCwgODA0NjQsIDgwNzkzLCA4MDQ3MCwgODA0NzYsIDgwNDgyLCAKKyAgICA4MDQ4OCwgODA0OTQsIDgwNTAwLCA4MDUwNiwgODA1MjYsIDgwNzk5LCA4MDgwNSwgODA1MzIsIDgwODExLCA4MDUzOCwgCisgICAgODA1NDQsIDgwNTUwLCA4MDU1NiwgODA1NjIsIDMwOTEsIDMwOTYsIDgwODE3LCA4MDgyMiwgODA4MjUsIDgwODMxLCAKKyAgICA4MDgzNywgODA4NDQsIDgwODQ5LCA4MDg1NCwgMjMwNywgCiB9OwogCiAvKiBjb2RlLT5uYW1lIHBocmFzZWJvb2sgKi8KICNkZWZpbmUgcGhyYXNlYm9va19zaGlmdCA3Ci0jZGVmaW5lIHBocmFzZWJvb2tfc2hvcnQgMjExCisjZGVmaW5lIHBocmFzZWJvb2tfc2hvcnQgMjA5CiBzdGF0aWMgdW5zaWduZWQgY2hhciBwaHJhc2Vib29rW10gPSB7Ci0gICAgMCwgMjE5LCAyMDYsIDI0NCwgMjU0LCA3NywgMjI0LCAxNDMsIDc3LCA1MCwgNTIsIDI0NywgODYsIDUyLCAyMjYsIDU3LCAKLSAgICA1MiwgMjU0LCAzNSwgMjUzLCAyMjYsIDQyLCAyMjYsIDEzMSwgNDYsIDIyNiwgMTMxLCAyNTMsIDEzMiwgOTQsIDUyLCAyNDksIAotICAgIDE1NywgMjQwLCAxNTksIDI0MywgMjAwLCAyMTksIDY5LCAyMTksIDIzMSwgMjEsIDIxMiwgNzksIDIxLCAxMTYsIDIxLCAKLSAgICAxMDksIDIxLCAxNjYsIDIxLCAxNjMsIDIxLCAxODAsIDIxLCAxODksIDIxLCAxOTgsIDIxLCAxOTUsIDIxLCAyMDAsIDI0OSwgCi0gICAgMTY0LCAyMjEsIDcwLCAyMzMsIDM5LCA1MiwgMjQ1LCA2MSwgNTIsIDI0MiwgMTA3LCA1MiwgMjI0LCAxNTgsIDc3LCAyNDksIAotICAgIDE1NiwgMjUzLCAxMjIsIDcsIDYsIDEsIDYxLCA3LCA2LCAxLCAyNTMsIDc0LCA3LCA2LCAxLCAyNTAsIDI1MiwgNywgNiwgMSwgCi0gICAgMjQ5LCAzLCA3LCA2LCAxLCA3NCwgNywgNiwgMSwgMjQ0LCAyMzAsIDcsIDYsIDEsIDI0MywgMTc3LCA3LCA2LCAxLCAyNDIsIAotICAgIDQxLCA3LCA2LCAxLCA3MiwgNywgNiwgMSwgMjM1LCAxNDIsIDcsIDYsIDEsIDIzNSwgMjcsIDcsIDYsIDEsIDE1MCwgNywgNiwgCi0gICAgMSwgMTgzLCA3LCA2LCAxLCAyMDQsIDcsIDYsIDEsIDc1LCA3LCA2LCAxLCAyMjYsIDIyOSwgNywgNiwgMSwgMjI0LCAyNDAsIAotICAgIDcsIDYsIDEsIDE0OSwgNywgNiwgMSwgMTk3LCA3LCA2LCAxLCAyMTgsIDk5LCA3LCA2LCAxLCA2OSwgNywgNiwgMSwgMjE1LCAKLSAgICA3OSwgNywgNiwgMSwgMjE0LCA4MiwgNywgNiwgMSwgMjEzLCAxNjYsIDcsIDYsIDEsIDIxMywgMTA1LCA3LCA2LCAxLCAyMTIsIAotICAgIDE1MiwgNDIsIDQxLCAxMjUsIDIyMywgMjAzLCAyMTksIDIzMSwgNDYsIDQxLCAxMjUsIDI0OSwgMjI0LCAyNTQsIDE3NCwgCi0gICAgMTE1LCAyMzIsIDI0MiwgMjQyLCAxMTQsIDI1NCwgMTc0LCA3LCAzLCAxLCA2MSwgNywgMywgMSwgMjUzLCA3NCwgNywgMywgCi0gICAgMSwgMjUwLCAyNTIsIDcsIDMsIDEsIDI0OSwgMywgNywgMywgMSwgNzQsIDcsIDMsIDEsIDI0NCwgMjMwLCA3LCAzLCAxLCAKLSAgICAyNDMsIDE3NywgNywgMywgMSwgMjQyLCA0MSwgNywgMywgMSwgNzIsIDcsIDMsIDEsIDIzNSwgMTQyLCA3LCAzLCAxLCAyMzUsIAotICAgIDI3LCA3LCAzLCAxLCAxNTAsIDcsIDMsIDEsIDE4MywgNywgMywgMSwgMjA0LCA3LCAzLCAxLCA3NSwgNywgMywgMSwgMjI2LCAKLSAgICAyMjksIDcsIDMsIDEsIDIyNCwgMjQwLCA3LCAzLCAxLCAxNDksIDcsIDMsIDEsIDE5NywgNywgMywgMSwgMjE4LCA5OSwgNywgCi0gICAgMywgMSwgNjksIDcsIDMsIDEsIDIxNSwgNzksIDcsIDMsIDEsIDIxNCwgODIsIDcsIDMsIDEsIDIxMywgMTY2LCA3LCAzLCAxLCAKLSAgICAyMTMsIDEwNSwgNywgMywgMSwgMjEyLCAxNTIsIDQyLCAyNDksIDQwLCAxMjUsIDcxLCAyMzIsIDI0MiwgNDYsIDI0OSwgNDAsIAotICAgIDEyNSwgMjE3LCA0MiwgMjI4LCAxODQsIDIxOSwgMjA2LCAyMzUsIDE5MSwgMjQ0LCAyNTQsIDc3LCAyNTAsIDExMCwgNTIsIAotICAgIDIyNSwgMTA4LCA1MiwgMjQ5LCAzOSwgNTIsIDIxMywgMzEsIDUyLCAyNTEsIDYzLCAxMzQsIDIyMiwgOTIsIDUyLCAyNDcsIAotICAgIDIwOSwgMjQ5LCAxMDIsIDUyLCAyNDQsIDEwNSwgMjI3LCAyMSwgMjM1LCAyMzUsIDIzMywgNjYsIDUxLCAyNTQsIDE5LCAKLSAgICAyMjQsIDE0MywgNzcsIDIyOCwgMTYzLCA1MiwgMjE5LCAyMzYsIDI0MCwgMTYwLCAyMjMsIDI1MiwgNTIsIDIzMiwgMzcsIAotICAgIDI0OCwgMjIsIDUyLCAyMjUsIDE1NSwgNTIsIDIxOCwgMjIzLCAxMDksIDIxOCwgMjIzLCAxNjYsIDI1NCwgMTY0LCAyNTQsIAotICAgIDE3NCwgMjMxLCA0MSwgNTIsIDIyNSwgMjAwLCA1MiwgMjMxLCAzNywgMjQ3LCA3NCwgMjUwLCAxMTcsIDIxOCwgMjIzLCAKLSAgICAxMTYsIDIzMSwgMjExLCAyMjcsIDIxLCAyMzUsIDIzNSwgMjIzLCAxNDQsIDUxLCAyNTQsIDE5LCAyMjQsIDE0MywgNzcsIAotICAgIDIxNCwgOTcsIDI0MywgMjI4LCAxMjIsIDIyNCwgMTY2LCAyMTQsIDk3LCAyNDMsIDIyOCwgMTIyLCAyNDIsIDksIDIxNCwgCi0gICAgOTcsIDI0MywgMjI4LCAxMzMsIDIyNCwgMTY0LCAyMzUsIDE5MSwgMjI0LCAxNTgsIDc3LCA3LCA2LCAxLCAxMTgsIDIsIAotICAgIDI0MiwgMTEzLCA3LCA2LCAxLCAxMTgsIDIsIDE3OSwgNywgNiwgMSwgMTE4LCAyLCAyNDksIDIyMywgNywgNiwgMSwgMTE4LCAKLSAgICAyLCAyMTcsIDQyLCA3LCA2LCAxLCAxMTgsIDIsIDI0NywgMjA5LCA3LCA2LCAxLCAxMTgsIDIsIDIyMywgMTMxLCA0OSwgNywgCi0gICAgNiwgMSwgMjU0LCAxNDgsIDcsIDYsIDEsIDI1MCwgMjUzLCAyLCAyNTAsIDExNywgNywgNiwgMSwgMTkxLCAyLCAyNDIsIAotICAgIDExMywgNywgNiwgMSwgMTkxLCAyLCAxNzksIDcsIDYsIDEsIDE5MSwgMiwgMjQ5LCAyMjMsIDcsIDYsIDEsIDE5MSwgMiwgCi0gICAgMjQ3LCAyMDksIDcsIDYsIDEsIDI0MCwgMTQ2LCAyLCAyNDIsIDExMywgNywgNiwgMSwgMjQwLCAxNDYsIDIsIDE3OSwgNywgCi0gICAgNiwgMSwgMjQwLCAxNDYsIDIsIDI0OSwgMjIzLCA3LCA2LCAxLCAyNDAsIDE0NiwgMiwgMjQ3LCAyMDksIDcsIDYsIDEsIAotICAgIDI0NSwgMjUsIDcsIDYsIDEsIDIzMCwgOTgsIDIsIDIxNywgNDIsIDcsIDYsIDEsIDE1NywgMiwgMjQyLCAxMTMsIDcsIDYsIAotICAgIDEsIDE1NywgMiwgMTc5LCA3LCA2LCAxLCAxNTcsIDIsIDI0OSwgMjIzLCA3LCA2LCAxLCAxNTcsIDIsIDIxNywgNDIsIDcsIAotICAgIDYsIDEsIDE1NywgMiwgMjQ3LCAyMDksIDIzMCwgMTU0LCA1MiwgNywgNiwgMSwgMTU3LCAyLCA5MCwgNywgNiwgMSwgMTExLCAKLSAgICAyLCAyNDIsIDExMywgNywgNiwgMSwgMTExLCAyLCAxNzksIDcsIDYsIDEsIDExMSwgMiwgMjQ5LCAyMjMsIDcsIDYsIDEsIAotICAgIDExMSwgMiwgMjQ3LCAyMDksIDcsIDYsIDEsIDIxMywgMTA2LCAyLCAxNzksIDcsIDYsIDEsIDIxNywgMTA0LCA3LCAzLCAxLCAKLSAgICAyMjAsIDI1NSwgMTk3LCA3LCAzLCAxLCAxMTgsIDIsIDI0MiwgMTEzLCA3LCAzLCAxLCAxMTgsIDIsIDE3OSwgNywgMywgMSwgCi0gICAgMTE4LCAyLCAyNDksIDIyMywgNywgMywgMSwgMTE4LCAyLCAyMTcsIDQyLCA3LCAzLCAxLCAxMTgsIDIsIDI0NywgMjA5LCA3LCAKLSAgICAzLCAxLCAxMTgsIDIsIDIyMywgMTMxLCA0OSwgNywgMywgMSwgMjU0LCAxNDgsIDcsIDMsIDEsIDI1MCwgMjUzLCAyLCAyNTAsIAotICAgIDExNywgNywgMywgMSwgMTkxLCAyLCAyNDIsIDExMywgNywgMywgMSwgMTkxLCAyLCAxNzksIDcsIDMsIDEsIDE5MSwgMiwgCi0gICAgMjQ5LCAyMjMsIDcsIDMsIDEsIDE5MSwgMiwgMjQ3LCAyMDksIDcsIDMsIDEsIDI0MCwgMTQ2LCAyLCAyNDIsIDExMywgNywgCi0gICAgMywgMSwgMjQwLCAxNDYsIDIsIDE3OSwgNywgMywgMSwgMjQwLCAxNDYsIDIsIDI0OSwgMjIzLCA3LCAzLCAxLCAyNDAsIAotICAgIDE0NiwgMiwgMjQ3LCAyMDksIDcsIDMsIDEsIDI0NSwgMjUsIDcsIDMsIDEsIDIzMCwgOTgsIDIsIDIxNywgNDIsIDcsIDMsIAotICAgIDEsIDE1NywgMiwgMjQyLCAxMTMsIDcsIDMsIDEsIDE1NywgMiwgMTc5LCA3LCAzLCAxLCAxNTcsIDIsIDI0OSwgMjIzLCA3LCAKLSAgICAzLCAxLCAxNTcsIDIsIDIxNywgNDIsIDcsIDMsIDEsIDE1NywgMiwgMjQ3LCAyMDksIDI0NywgMTIxLCA1MiwgNywgMywgMSwgCi0gICAgMTU3LCAyLCA5MCwgNywgMywgMSwgMTExLCAyLCAyNDIsIDExMywgNywgMywgMSwgMTExLCAyLCAxNzksIDcsIDMsIDEsIAotICAgIDExMSwgMiwgMjQ5LCAyMjMsIDcsIDMsIDEsIDExMSwgMiwgMjQ3LCAyMDksIDcsIDMsIDEsIDIxMywgMTA2LCAyLCAxNzksIAotICAgIDcsIDMsIDEsIDIxNywgMTA0LCA3LCAzLCAxLCAyMTMsIDEwNiwgMiwgMjQ3LCAyMDksIDcsIDYsIDEsIDExOCwgMiwgMjMyLCAKLSAgICAzNywgNywgMywgMSwgMTE4LCAyLCAyMzIsIDM3LCA3LCA2LCAxLCAxMTgsIDIsIDI1MSwgNzQsIDcsIDMsIDEsIDExOCwgMiwgCi0gICAgMjUxLCA3NCwgNywgNiwgMSwgMTE4LCAyLCAyMjcsIDkwLCA3LCAzLCAxLCAxMTgsIDIsIDIyNywgOTAsIDcsIDYsIDEsIAotICAgIDI1MCwgMjUzLCAyLCAxNzksIDcsIDMsIDEsIDI1MCwgMjUzLCAyLCAxNzksIDcsIDYsIDEsIDI1MCwgMjUzLCAyLCAyNDksIAotICAgIDIyMywgNywgMywgMSwgMjUwLCAyNTMsIDIsIDI0OSwgMjIzLCA3LCA2LCAxLCAyNTAsIDI1MywgMiwgNjIsIDQ5LCA3LCAzLCAKLSAgICAxLCAyNTAsIDI1MywgMiwgNjIsIDQ5LCA3LCA2LCAxLCAyNTAsIDI1MywgMiwgMjUwLCAxNjYsIDcsIDMsIDEsIDI1MCwgCi0gICAgMjUzLCAyLCAyNTAsIDE2NiwgNywgNiwgMSwgMjQ5LCA0LCAyLCAyNTAsIDE2NiwgNywgMywgMSwgMjQ5LCA0LCAyLCAyNTAsIAotICAgIDE2NiwgNywgNiwgMSwgMjQ5LCA0LCAyLCA5MCwgNywgMywgMSwgMjQ5LCA0LCAyLCA5MCwgNywgNiwgMSwgMTkxLCAyLCAKLSAgICAyMzIsIDM3LCA3LCAzLCAxLCAxOTEsIDIsIDIzMiwgMzcsIDcsIDYsIDEsIDE5MSwgMiwgMjUxLCA3NCwgNywgMywgMSwgCi0gICAgMTkxLCAyLCAyNTEsIDc0LCA3LCA2LCAxLCAxOTEsIDIsIDYyLCA0OSwgNywgMywgMSwgMTkxLCAyLCA2MiwgNDksIDcsIDYsIAotICAgIDEsIDE5MSwgMiwgMjI3LCA5MCwgNywgMywgMSwgMTkxLCAyLCAyMjcsIDkwLCA3LCA2LCAxLCAxOTEsIDIsIDI1MCwgMTY2LCAKLSAgICA3LCAzLCAxLCAxOTEsIDIsIDI1MCwgMTY2LCA3LCA2LCAxLCAyNDMsIDE3OCwgMiwgMjQ5LCAyMjMsIDcsIDMsIDEsIDI0MywgCi0gICAgMTc4LCAyLCAyNDksIDIyMywgNywgNiwgMSwgMjQzLCAxNzgsIDIsIDI1MSwgNzQsIDcsIDMsIDEsIDI0MywgMTc4LCAyLCAKLSAgICAyNTEsIDc0LCA3LCA2LCAxLCAyNDMsIDE3OCwgMiwgNjIsIDQ5LCA3LCAzLCAxLCAyNDMsIDE3OCwgMiwgNjIsIDQ5LCA3LCAKLSAgICA2LCAxLCAyNDMsIDE3OCwgMiwgMjUwLCAxMTcsIDcsIDMsIDEsIDI0MywgMTc4LCAyLCAyNTAsIDExNywgNywgNiwgMSwgCi0gICAgMjQyLCA0MiwgMiwgMjQ5LCAyMjMsIDcsIDMsIDEsIDI0MiwgNDIsIDIsIDI0OSwgMjIzLCA3LCA2LCAxLCAyNDIsIDQyLCAyLCAKLSAgICA5MCwgNywgMywgMSwgMjQyLCA0MiwgMiwgOTAsIDcsIDYsIDEsIDI0MCwgMTQ2LCAyLCAyMTcsIDQyLCA3LCAzLCAxLCAyNDAsIAotICAgIDE0NiwgMiwgMjE3LCA0MiwgNywgNiwgMSwgMjQwLCAxNDYsIDIsIDIzMiwgMzcsIDcsIDMsIDEsIDI0MCwgMTQ2LCAyLCAKLSAgICAyMzIsIDM3LCA3LCA2LCAxLCAyNDAsIDE0NiwgMiwgMjUxLCA3NCwgNywgMywgMSwgMjQwLCAxNDYsIDIsIDI1MSwgNzQsIDcsIAotICAgIDYsIDEsIDI0MCwgMTQ2LCAyLCAyMjcsIDkwLCA3LCAzLCAxLCAyNDAsIDE0NiwgMiwgMjI3LCA5MCwgNywgNiwgMSwgMjQwLCAKLSAgICAxNDYsIDIsIDYyLCA0OSwgNywgMywgMSwgMjQ3LCA3MywgNzIsIDcsIDYsIDI2LCAyMzYsIDI2LCA3LCAzLCAyNiwgMjM2LCAKLSAgICAyNiwgNywgNiwgMSwgMjM1LCAxNDMsIDIsIDI0OSwgMjIzLCA3LCAzLCAxLCAyMzUsIDE0MywgMiwgMjQ5LCAyMjMsIDcsIDYsIAotICAgIDEsIDIzNSwgMjgsIDIsIDI1MCwgMTE3LCA3LCAzLCAxLCAyMzUsIDI4LCAyLCAyNTAsIDExNywgNywgMywgMSwgMjMzLCAKLSAgICAyNDgsIDcsIDYsIDEsIDIzMywgMTcxLCAyLCAxNzksIDcsIDMsIDEsIDIzMywgMTcxLCAyLCAxNzksIDcsIDYsIDEsIDIzMywgCi0gICAgMTcxLCAyLCAyNTAsIDExNywgNywgMywgMSwgMjMzLCAxNzEsIDIsIDI1MCwgMTE3LCA3LCA2LCAxLCAyMzMsIDE3MSwgMiwgCi0gICAgMjUwLCAxNjYsIDcsIDMsIDEsIDIzMywgMTcxLCAyLCAyNTAsIDE2NiwgNywgNiwgMSwgMjMzLCAxNzEsIDIsIDIzMSwgMzcsIAotICAgIDI0NywgNzQsIDcsIDMsIDEsIDIzMywgMTcxLCAyLCAyMzEsIDM3LCAyNDcsIDc0LCA3LCA2LCAxLCAyMzMsIDE3MSwgMiwgCi0gICAgOTAsIDcsIDMsIDEsIDIzMywgMTcxLCAyLCA5MCwgNywgNiwgMSwgMjMwLCA5OCwgMiwgMTc5LCA3LCAzLCAxLCAyMzAsIDk4LCAKLSAgICAyLCAxNzksIDcsIDYsIDEsIDIzMCwgOTgsIDIsIDI1MCwgMTE3LCA3LCAzLCAxLCAyMzAsIDk4LCAyLCAyNTAsIDExNywgNywgCi0gICAgNiwgMSwgMjMwLCA5OCwgMiwgMjUwLCAxNjYsIDcsIDMsIDEsIDIzMCwgOTgsIDIsIDI1MCwgMTY2LCA3LCAzLCAxLCAyMzAsIAotICAgIDk4LCAyMjUsIDg0LCAyNTEsIDcsIDI1MywgMjI2LCA3LCA2LCAxLCAyNDUsIDk2LCA3LCAzLCAxLCAyNDUsIDk2LCA3LCA2LCAKLSAgICAxLCAxNTcsIDIsIDIzMiwgMzcsIDcsIDMsIDEsIDE1NywgMiwgMjMyLCAzNywgNywgNiwgMSwgMTU3LCAyLCAyNTEsIDc0LCAKLSAgICA3LCAzLCAxLCAxNTcsIDIsIDI1MSwgNzQsIDcsIDYsIDEsIDE1NywgMiwgNTEsIDE3OSwgNywgMywgMSwgMTU3LCAyLCA1MSwgCi0gICAgMTc5LCA3LCA2LCAyNiwgMjI3LCA5OSwgNywgMywgMjYsIDIyNywgOTksIDcsIDYsIDEsIDIyNCwgMTEzLCAyLCAxNzksIDcsIAotICAgIDMsIDEsIDIyNCwgMTEzLCAyLCAxNzksIDcsIDYsIDEsIDIyNCwgMTEzLCAyLCAyNTAsIDExNywgNywgMywgMSwgMjI0LCAKLSAgICAxMTMsIDIsIDI1MCwgMTE3LCA3LCA2LCAxLCAyMjQsIDExMywgMiwgMjUwLCAxNjYsIDcsIDMsIDEsIDIyNCwgMTEzLCAyLCAKLSAgICAyNTAsIDE2NiwgNywgNiwgMSwgMjIzLCA0LCAyLCAxNzksIDcsIDMsIDEsIDIyMywgNCwgMiwgMTc5LCA3LCA2LCAxLCAyMjMsIAotICAgIDQsIDIsIDI0OSwgMjIzLCA3LCAzLCAxLCAyMjMsIDQsIDIsIDI0OSwgMjIzLCA3LCA2LCAxLCAyMjMsIDQsIDIsIDI1MCwgCi0gICAgMTE3LCA3LCAzLCAxLCAyMjMsIDQsIDIsIDI1MCwgMTE3LCA3LCA2LCAxLCAyMjMsIDQsIDIsIDI1MCwgMTY2LCA3LCAzLCAxLCAKLSAgICAyMjMsIDQsIDIsIDI1MCwgMTY2LCA3LCA2LCAxLCAyMTgsIDEwMCwgMiwgMjUwLCAxMTcsIDcsIDMsIDEsIDIxOCwgMTAwLCAKLSAgICAyLCAyNTAsIDExNywgNywgNiwgMSwgMjE4LCAxMDAsIDIsIDI1MCwgMTY2LCA3LCAzLCAxLCAyMTgsIDEwMCwgMiwgMjUwLCAKLSAgICAxNjYsIDcsIDYsIDEsIDIxOCwgMTAwLCAyLCA5MCwgNywgMywgMSwgMjE4LCAxMDAsIDIsIDkwLCA3LCA2LCAxLCAxMTEsIDIsIAotICAgIDIxNywgNDIsIDcsIDMsIDEsIDExMSwgMiwgMjE3LCA0MiwgNywgNiwgMSwgMTExLCAyLCAyMzIsIDM3LCA3LCAzLCAxLCAKLSAgICAxMTEsIDIsIDIzMiwgMzcsIDcsIDYsIDEsIDExMSwgMiwgMjUxLCA3NCwgNywgMywgMSwgMTExLCAyLCAyNTEsIDc0LCA3LCAKLSAgICA2LCAxLCAxMTEsIDIsIDIyMywgMTMxLCA0OSwgNywgMywgMSwgMTExLCAyLCAyMjMsIDEzMSwgNDksIDcsIDYsIDEsIDExMSwgCi0gICAgMiwgNTEsIDE3OSwgNywgMywgMSwgMTExLCAyLCA1MSwgMTc5LCA3LCA2LCAxLCAxMTEsIDIsIDIyNywgOTAsIDcsIDMsIDEsIAotICAgIDExMSwgMiwgMjI3LCA5MCwgNywgNiwgMSwgMjE0LCA4MywgMiwgMjQ5LCAyMjMsIDcsIDMsIDEsIDIxNCwgODMsIDIsIDI0OSwgCi0gICAgMjIzLCA3LCA2LCAxLCAyMTMsIDEwNiwgMiwgMjQ5LCAyMjMsIDcsIDMsIDEsIDIxMywgMTA2LCAyLCAyNDksIDIyMywgNywgCi0gICAgNiwgMSwgMjEzLCAxMDYsIDIsIDI0NywgMjA5LCA3LCA2LCAxLCAyMTIsIDE1MywgMiwgMTc5LCA3LCAzLCAxLCAyMTIsIAotICAgIDE1MywgMiwgMTc5LCA3LCA2LCAxLCAyMTIsIDE1MywgMiwgNjIsIDQ5LCA3LCAzLCAxLCAyMTIsIDE1MywgMiwgNjIsIDQ5LCAKLSAgICA3LCA2LCAxLCAyMTIsIDE1MywgMiwgMjUwLCAxNjYsIDcsIDMsIDEsIDIxMiwgMTUzLCAyLCAyNTAsIDE2NiwgNywgMywgMSwgCi0gICAgMTg0LCAxOTcsIDcsIDMsIDEsIDU0LCAyLCA5MCwgNywgNiwgMSwgNTQsIDIsIDEwMSwgNywgNiwgMSwgNTQsIDIsIDIxNiwgCi0gICAgMjI0LCA3LCAzLCAxLCA1NCwgMiwgMjE2LCAyMjQsIDcsIDYsIDEsIDE2MCwgMTg5LCA3LCAzLCAxLCAxNjAsIDE4OSwgNywgCi0gICAgNiwgMSwgMjI3LCA0MCwgNzUsIDcsIDYsIDEsIDI1MCwgMjUzLCAyLCAxMDEsIDcsIDMsIDEsIDI1MCwgMjUzLCAyLCAxMDEsIAotICAgIDcsIDYsIDEsIDI1NCwgMTI0LCAyNDksIDMsIDcsIDYsIDEsIDI0OSwgNCwgMiwgMTAxLCA3LCA2LCAxLCAyNDksIDQsIDIsIAotICAgIDIxNiwgMjI0LCA3LCAzLCAxLCAyNDksIDQsIDIsIDIxNiwgMjI0LCA3LCAzLCAxLCAyMTYsIDU4LCAyNDgsIDUsIDcsIDYsIAotICAgIDEsIDIyMywgMjAyLCA3NCwgNywgNiwgMSwgMjIyLCAxMTMsIDcsIDYsIDEsIDIyNywgNDAsIDc0LCA3LCA2LCAxLCAyNDQsIAotICAgIDIzMSwgMiwgMTAxLCA3LCAzLCAxLCAyNDQsIDIzMSwgMiwgMTAxLCA3LCA2LCAxLCAyNDMsIDE3OCwgMiwgMTAxLCA3LCA2LCAKLSAgICAxLCAyNDMsIDgzLCA3LCAzLCAxLCAyNDAsIDE5MywgNywgNiwgMSwgMjM1LCAxODMsIDcsIDYsIDEsIDI0MCwgMTQ2LCAyLCAKLSAgICA5MCwgNywgNiwgMSwgMjM1LCAyOCwgMiwgMTAxLCA3LCAzLCAxLCAyMzUsIDI4LCAyLCAxMDEsIDcsIDMsIDEsIDIzMywgCi0gICAgMTcxLCAyLCAxMzQsIDcsIDMsIDEsIDIzMywgMTI0LCAyLCA5MCwgNywgNiwgMSwgMjE2LCA1OCwgMTgzLCA3LCA2LCAxLCAKLSAgICAyMzAsIDk4LCAyLCA0MiwgMTAxLCA3LCAzLCAxLCAyMzAsIDk4LCAyLCAxODQsIDQ2LCAyMzMsIDYwLCA3LCA2LCAxLCAxNTcsIAotICAgIDIsIDIzMSwgMzcsIDIxNywgNDIsIDcsIDYsIDEsIDE1NywgMiwgMjQwLCAyMzUsIDcsIDMsIDEsIDE1NywgMiwgMjQwLCAKLSAgICAyMzUsIDcsIDYsIDEsIDIyNywgODUsIDcsIDMsIDEsIDIyNywgODUsIDcsIDYsIDEsIDIyNiwgMjMwLCAyLCAxMDEsIDcsIDMsIAotICAgIDEsIDIyNiwgMjMwLCAyLCAxMDEsIDcsIDEsIDIxMiwgMjA1LCA3LCA2LCAxLCAxNjAsIDEwOSwgNywgMywgMSwgMTYwLCAKLSAgICAxMDksIDcsIDYsIDEsIDI0NSwgNDAsIDcsIDEsIDIyMywgMjAyLCAyNDUsIDQxLCAyMzIsIDE3NywgNywgMywgMSwgMjE4LCAKLSAgICAxMDAsIDIsIDIyNiwgMTkzLCAxMDEsIDcsIDYsIDEsIDIxOCwgMTAwLCAyLCAxMDEsIDcsIDMsIDEsIDIxOCwgMTAwLCAyLCAKLSAgICAxMDEsIDcsIDYsIDEsIDIxOCwgMTAwLCAyLCAyMjMsIDIwNywgMTAxLCA3LCA2LCAxLCAxMTEsIDIsIDI0MCwgMjM1LCA3LCAKLSAgICAzLCAxLCAxMTEsIDIsIDI0MCwgMjM1LCA3LCA2LCAxLCAyMTUsIDEyOCwgNywgNiwgMSwgMjE1LCA4MCwgMiwgMTAxLCA3LCAKLSAgICA2LCAxLCAyMTMsIDEwNiwgMiwgMTAxLCA3LCAzLCAxLCAyMTMsIDEwNiwgMiwgMTAxLCA3LCA2LCAxLCAyMTIsIDE1MywgMiwgCi0gICAgOTAsIDcsIDMsIDEsIDIxMiwgMTUzLCAyLCA5MCwgNywgNiwgMSwgMjQ0LCAyMzIsIDcsIDYsIDEsIDI0NCwgMjMzLCAyMjMsIAotICAgIDIwMSwgNywgMywgMSwgMjQ0LCAyMzMsIDIyMywgMjAxLCA3LCAzLCAxLCAyNDQsIDIzMywgMiwgMjE4LCAyNywgNywgMSwgCi0gICAgMTE3LCAyLCA5MCwgNywgNiwgMSwgMTYwLCAxODAsIDcsIDMsIDEsIDE2MCwgMTgwLCA3LCAxLCAyMzUsIDE5MSwgMjQyLCAKLSAgICAxNTYsIDIxOSwgNzAsIDIsIDkwLCA3LCAxLCAyMTMsIDE2OSwgNywgMSwgMjQ3LCAyNTQsIDI0OSwgMjA0LCA3LCAxLCAyMzMsIAotICAgIDEwMCwgMjQ5LCAyMDQsIDcsIDEsIDI1NCwgNDYsIDI0OSwgMjA0LCA3LCAxLCAyMjMsIDIwNywgMjQ5LCAyMDQsIDcsIDYsIAotICAgIDEsIDI0NSwgMjUxLCAyLCAyNTAsIDE2NiwgNywgNiwgMSwgMjQ5LCA0LCAyLCAzLCAxLCAyMTIsIDE1MywgMiwgMjUwLCAKLSAgICAxNjYsIDcsIDMsIDEsIDI0NSwgMjUxLCAyLCAyNTAsIDE2NiwgNywgNiwgMSwgMjMyLCAyMTcsIDcsIDYsIDEsIDIzMywgCi0gICAgMTcxLCAyLCAzLCAxLCAyMzUsIDE0MiwgNywgMywgMSwgMjMyLCAyMTcsIDcsIDYsIDEsIDIyOSwgMTcsIDcsIDYsIDEsIAotICAgIDIzMCwgOTgsIDIsIDMsIDEsIDIzNSwgMTQyLCA3LCAzLCAxLCAyMjksIDE3LCA3LCA2LCAxLCAxMTgsIDIsIDI1MCwgMTY2LCAKLSAgICA3LCAzLCAxLCAxMTgsIDIsIDI1MCwgMTY2LCA3LCA2LCAxLCAyNDAsIDE0NiwgMiwgMjUwLCAxNjYsIDcsIDMsIDEsIDI0MCwgCi0gICAgMTQ2LCAyLCAyNTAsIDE2NiwgNywgNiwgMSwgMTU3LCAyLCAyNTAsIDE2NiwgNywgMywgMSwgMTU3LCAyLCAyNTAsIDE2NiwgCi0gICAgNywgNiwgMSwgMTExLCAyLCAyNTAsIDE2NiwgNywgMywgMSwgMTExLCAyLCAyNTAsIDE2NiwgNywgNiwgMSwgMTExLCAyLCAKLSAgICAyNDcsIDIxMCwgMjQsIDIzMiwgMzcsIDcsIDMsIDEsIDExMSwgMiwgMjQ3LCAyMTAsIDI0LCAyMzIsIDM3LCA3LCA2LCAxLCAKLSAgICAxMTEsIDIsIDI0NywgMjEwLCAyNCwgMTc5LCA3LCAzLCAxLCAxMTEsIDIsIDI0NywgMjEwLCAyNCwgMTc5LCA3LCA2LCAxLCAKLSAgICAxMTEsIDIsIDI0NywgMjEwLCAyNCwgMjUwLCAxNjYsIDcsIDMsIDEsIDExMSwgMiwgMjQ3LCAyMTAsIDI0LCAyNTAsIDE2NiwgCi0gICAgNywgNiwgMSwgMTExLCAyLCAyNDcsIDIxMCwgMjQsIDI0MiwgMTEzLCA3LCAzLCAxLCAxMTEsIDIsIDI0NywgMjEwLCAyNCwgCi0gICAgMjQyLCAxMTMsIDcsIDMsIDEsIDIxNiwgNTgsIDc0LCA3LCA2LCAxLCAxMTgsIDIsIDI0NywgMjEwLCAyNCwgMjMyLCAzNywgCi0gICAgNywgMywgMSwgMTE4LCAyLCAyNDcsIDIxMCwgMjQsIDIzMiwgMzcsIDcsIDYsIDEsIDExOCwgMiwgNjIsIDc4LCAyNCwgMjMyLCAKLSAgICAzNywgNywgMywgMSwgMTE4LCAyLCA2MiwgNzgsIDI0LCAyMzIsIDM3LCA3LCA2LCAxLCAyNTQsIDE0OSwgMiwgMjMyLCAzNywgCi0gICAgNywgMywgMSwgMjU0LCAxNDksIDIsIDIzMiwgMzcsIDcsIDYsIDEsIDI0MywgMTc4LCAyLCA5MCwgNywgMywgMSwgMjQzLCAKLSAgICAxNzgsIDIsIDkwLCA3LCA2LCAxLCAyNDMsIDE3OCwgMiwgMjUwLCAxNjYsIDcsIDMsIDEsIDI0MywgMTc4LCAyLCAyNTAsIAotICAgIDE2NiwgNywgNiwgMSwgMjM1LCAyOCwgMiwgMjUwLCAxNjYsIDcsIDMsIDEsIDIzNSwgMjgsIDIsIDI1MCwgMTY2LCA3LCA2LCAKLSAgICAxLCAxNTcsIDIsIDIyNywgOTAsIDcsIDMsIDEsIDE1NywgMiwgMjI3LCA5MCwgNywgNiwgMSwgMTU3LCAyLCAyMjcsIDkxLCAKLSAgICAyNCwgMjMyLCAzNywgNywgMywgMSwgMTU3LCAyLCAyMjcsIDkxLCAyNCwgMjMyLCAzNywgNywgNiwgMSwgMjQ0LCAyMzMsIDIsIAotICAgIDI1MCwgMTY2LCA3LCAzLCAxLCAyNDQsIDIzMywgMiwgMjUwLCAxNjYsIDcsIDMsIDEsIDIzNSwgMTQzLCAyLCAyNTAsIDE2NiwgCi0gICAgNywgNiwgMSwgMjQ1LCAyNTAsIDcsIDYsIDEsIDI0OSwgNCwgMiwgMywgMSwgMjEyLCAxNTIsIDcsIDMsIDEsIDI0NSwgMjUwLCAKLSAgICA3LCA2LCAxLCAyNDMsIDE3OCwgMiwgMTc5LCA3LCAzLCAxLCAyNDMsIDE3OCwgMiwgMTc5LCA3LCA2LCAxLCAyNDAsIDE5MSwgCi0gICAgNywgNiwgMSwgMjEzLCAxNjksIDcsIDYsIDEsIDIzMCwgOTgsIDIsIDI0MiwgMTEzLCA3LCAzLCAxLCAyMzAsIDk4LCAyLCAKLSAgICAyNDIsIDExMywgNywgNiwgMSwgMTE4LCAyLCAyMjMsIDEzMSwgNzgsIDI0LCAxNzksIDcsIDMsIDEsIDExOCwgMiwgMjIzLCAKLSAgICAxMzEsIDc4LCAyNCwgMTc5LCA3LCA2LCAxLCAyNTQsIDE0OSwgMiwgMTc5LCA3LCAzLCAxLCAyNTQsIDE0OSwgMiwgMTc5LCAKLSAgICA3LCA2LCAxLCAxNTcsIDIsIDIxOSwgNDUsIDI0LCAxNzksIDcsIDMsIDEsIDE1NywgMiwgMjE5LCA0NSwgMjQsIDE3OSwgNywgCi0gICAgNiwgMSwgMTE4LCAyLCA1MSwgMjQyLCAxMTMsIDcsIDMsIDEsIDExOCwgMiwgNTEsIDI0MiwgMTEzLCA3LCA2LCAxLCAxMTgsIAotICAgIDIsIDIzNSwgMTkxLCAyNTEsIDc0LCA3LCAzLCAxLCAxMTgsIDIsIDIzNSwgMTkxLCAyNTEsIDc0LCA3LCA2LCAxLCAxOTEsIAotICAgIDIsIDUxLCAyNDIsIDExMywgNywgMywgMSwgMTkxLCAyLCA1MSwgMjQyLCAxMTMsIDcsIDYsIDEsIDE5MSwgMiwgMjM1LCAKLSAgICAxOTEsIDI1MSwgNzQsIDcsIDMsIDEsIDE5MSwgMiwgMjM1LCAxOTEsIDI1MSwgNzQsIDcsIDYsIDEsIDI0MCwgMTQ2LCAyLCAKLSAgICA1MSwgMjQyLCAxMTMsIDcsIDMsIDEsIDI0MCwgMTQ2LCAyLCA1MSwgMjQyLCAxMTMsIDcsIDYsIDEsIDI0MCwgMTQ2LCAyLCAKLSAgICAyMzUsIDE5MSwgMjUxLCA3NCwgNywgMywgMSwgMjQwLCAxNDYsIDIsIDIzNSwgMTkxLCAyNTEsIDc0LCA3LCA2LCAxLCAxNTcsIAotICAgIDIsIDUxLCAyNDIsIDExMywgNywgMywgMSwgMTU3LCAyLCA1MSwgMjQyLCAxMTMsIDcsIDYsIDEsIDE1NywgMiwgMjM1LCAKLSAgICAxOTEsIDI1MSwgNzQsIDcsIDMsIDEsIDE1NywgMiwgMjM1LCAxOTEsIDI1MSwgNzQsIDcsIDYsIDEsIDIyNCwgMTEzLCAyLCAKLSAgICA1MSwgMjQyLCAxMTMsIDcsIDMsIDEsIDIyNCwgMTEzLCAyLCA1MSwgMjQyLCAxMTMsIDcsIDYsIDEsIDIyNCwgMTEzLCAyLCAKLSAgICAyMzUsIDE5MSwgMjUxLCA3NCwgNywgMywgMSwgMjI0LCAxMTMsIDIsIDIzNSwgMTkxLCAyNTEsIDc0LCA3LCA2LCAxLCAxMTEsIAotICAgIDIsIDUxLCAyNDIsIDExMywgNywgMywgMSwgMTExLCAyLCA1MSwgMjQyLCAxMTMsIDcsIDYsIDEsIDExMSwgMiwgMjM1LCAKLSAgICAxOTEsIDI1MSwgNzQsIDcsIDMsIDEsIDExMSwgMiwgMjM1LCAxOTEsIDI1MSwgNzQsIDcsIDYsIDEsIDIyMywgNCwgMiwgCi0gICAgMjQ5LCAxNTgsIDU1LCA3LCAzLCAxLCAyMjMsIDQsIDIsIDI0OSwgMTU4LCA1NSwgNywgNiwgMSwgMjE4LCAxMDAsIDIsIAotICAgIDI0OSwgMTU4LCA1NSwgNywgMywgMSwgMjE4LCAxMDAsIDIsIDI0OSwgMTU4LCA1NSwgNywgNiwgMSwgMjEyLCAyMjIsIDcsIAotICAgIDMsIDEsIDIxMiwgMjIyLCA3LCA2LCAxLCAyNDIsIDQyLCAyLCAyNTAsIDE2NiwgNywgMywgMSwgMjQyLCA0MiwgMiwgMjUwLCAKLSAgICAxNjYsIDcsIDYsIDEsIDIzMCwgOTgsIDIsIDE4NCwgNDYsIDIzMywgNjAsIDcsIDMsIDEsIDI0OSwgNCwgMiwgMjQ5LCA0MSwgCi0gICAgNywgNiwgMSwgMjI3LCAyLCA3LCAzLCAxLCAyMjcsIDIsIDcsIDYsIDEsIDIxMiwgMTUzLCAyLCAxMDEsIDcsIDMsIDEsIAotICAgIDIxMiwgMTUzLCAyLCAxMDEsIDcsIDYsIDEsIDExOCwgMiwgNjIsIDQ5LCA3LCAzLCAxLCAxMTgsIDIsIDYyLCA0OSwgNywgNiwgCi0gICAgMSwgMTkxLCAyLCAyNTAsIDExNywgNywgMywgMSwgMTkxLCAyLCAyNTAsIDExNywgNywgNiwgMSwgMTU3LCAyLCAyNDcsIAotICAgIDIxMCwgMjQsIDIzMiwgMzcsIDcsIDMsIDEsIDE1NywgMiwgMjQ3LCAyMTAsIDI0LCAyMzIsIDM3LCA3LCA2LCAxLCAxNTcsIAotICAgIDIsIDIxNywgNDMsIDI0LCAyMzIsIDM3LCA3LCAzLCAxLCAxNTcsIDIsIDIxNywgNDMsIDI0LCAyMzIsIDM3LCA3LCA2LCAxLCAKLSAgICAxNTcsIDIsIDYyLCA0OSwgNywgMywgMSwgMTU3LCAyLCA2MiwgNDksIDcsIDYsIDEsIDE1NywgMiwgNjIsIDc4LCAyNCwgCi0gICAgMjMyLCAzNywgNywgMywgMSwgMTU3LCAyLCA2MiwgNzgsIDI0LCAyMzIsIDM3LCA3LCA2LCAxLCAyMTMsIDEwNiwgMiwgMjMyLCAKLSAgICAzNywgNywgMywgMSwgMjEzLCAxMDYsIDIsIDIzMiwgMzcsIDcsIDMsIDEsIDIzMywgMTcxLCAyLCAyNDksIDQxLCA3LCAzLCAKLSAgICAxLCAyMzAsIDk4LCAyLCAyNDksIDQxLCA3LCAzLCAxLCAyMTgsIDEwMCwgMiwgMjQ5LCA0MSwgNywgMywgMSwgMjQ3LCA3MywgCi0gICAgMjM1LCAxNDIsIDcsIDMsIDEsIDI0OCwgODksIDI0NywgMTcyLCA3LCAzLCAxLCAyMjQsIDE3NiwgMjQ3LCAxNzIsIDcsIDYsIAotICAgIDEsIDExOCwgMiwgOTAsIDcsIDYsIDEsIDI1MCwgMjUzLCAyLCA5MCwgNywgMywgMSwgMjUwLCAyNTMsIDIsIDkwLCA3LCA2LCAKLSAgICAxLCAyMzMsIDE3MSwgMiwgMTM0LCA3LCA2LCAxLCAyMTgsIDEwMCwgMiwgMjQ3LCAyMDcsIDkwLCA3LCAzLCAxLCAyMjMsIDQsIAotICAgIDIsIDIxOCwgMTk1LCAyMTgsIDI3LCA3LCAzLCAxLCAyMTIsIDE1MywgMiwgMjE4LCAxOTUsIDIxOCwgMjcsIDcsIDYsIDEsIAotICAgIDI0MiwgMTU2LCAyMTksIDY5LCA3LCAzLCAxLCAyNDIsIDE1NiwgMjE5LCA2OSwgNywgNiwgMSwgNTQsIDIsIDkwLCA3LCA2LCAKLSAgICAxLCAxMTEsIDEzNCwgNywgNiwgMSwgMjE2LCA1OCwgMjE1LCA3OSwgNywgNiwgMSwgMTkxLCAyLCA5MCwgNywgMywgMSwgCi0gICAgMTkxLCAyLCA5MCwgNywgNiwgMSwgMjM1LCAxNDMsIDIsIDkwLCA3LCAzLCAxLCAyMzUsIDE0MywgMiwgOTAsIDcsIDYsIDEsIAotICAgIDMsIDIyNCwgMjQxLCAyLCAyNDEsIDM4LCAyMTgsIDI3LCA3LCAzLCAxLCAyMjQsIDI0MSwgMiwgMjQxLCAzOCwgMjE4LCAyNywgCi0gICAgNywgNiwgMSwgMjI0LCAxMTMsIDIsIDkwLCA3LCAzLCAxLCAyMjQsIDExMywgMiwgOTAsIDcsIDYsIDEsIDIxMywgMTA2LCAyLCAKLSAgICA5MCwgNywgMywgMSwgMjEzLCAxMDYsIDIsIDkwLCA3LCAzLCAxLCAyMTYsIDU4LCA2MSwgNywgMywgMSwgMjU0LCA1MiwgNywgCi0gICAgMywgMSwgMjE2LCA1OCwgMjU0LCA1MiwgNywgMywgMSwgNTQsIDIsIDEwMSwgNywgMywgMSwgMjI3LCA0MCwgNzUsIDcsIDMsIAotICAgIDEsIDI1MCwgMjUzLCAyLCAyNDksIDQxLCA3LCAzLCAxLCAyNDksIDQsIDIsIDIxOCwgMjcsIDcsIDMsIDEsIDI0OSwgNCwgMiwgCi0gICAgMTAxLCA3LCAzLCAxLCAyMjMsIDIwMiwgNzQsIDcsIDMsIDEsIDIyMiwgMTEzLCA3LCAzLCAxLCAyMjIsIDExNCwgMiwgMTAxLCAKLSAgICA3LCAzLCAxLCAyMjcsIDQwLCA3NCwgNywgMywgMSwgMjIzLCAyMDIsIDIyNywgNDAsIDc0LCA3LCAzLCAxLCAyMjMsIDIwMiwgCi0gICAgMjI3LCA0MCwgMTkxLCAyLCAxMDEsIDcsIDMsIDEsIDI0OSwgMTkzLCAyMjMsIDIwMiwgMjI3LCA0MCwgNzQsIDcsIDMsIDEsIAotICAgIDI0NywgNzMsIDIzNSwgMTQzLCAyLCA5MCwgNywgMywgMSwgMjQzLCAxNzgsIDIsIDEwMSwgNywgMywgMSwgMTEzLCAyNDMsIAotICAgIDE3NywgNywgMSwgMywgNiwgMjQzLCAxNzcsIDcsIDMsIDEsIDI0MywgODMsIDcsIDMsIDEsIDIyNCwgNDMsIDI0MCwgMjM1LCAKLSAgICA3LCAzLCAxLCAyMTYsIDU4LCAyNDIsIDQxLCA3LCAzLCAxLCAyNDIsIDQyLCAyLCAxMDEsIDcsIDMsIDEsIDI0MSwgMTkyLCAKLSAgICAyLCAxMDEsIDcsIDMsIDEsIDI0MCwgMTQ2LCAyLCA5MCwgNywgMywgMSwgMjM1LCAxODMsIDcsIDEsIDMsIDYsIDcyLCA3LCAKLSAgICAzLCAxLCAyMzMsIDE3MSwgMiwgMjMxLCAzNywgMjE3LCA0MiwgNywgMywgMSwgMjMzLCAxNzEsIDIsIDI1MSwgMjE4LCA3LCAKLSAgICAzLCAxLCAyMzMsIDE3MSwgMiwgMjIzLCAyMDcsIDEwMSwgNywgMywgMSwgMjMzLCAyNywgNywgMywgMSwgMjE2LCA1OCwgCi0gICAgMTgzLCA3LCAzLCAxLCAyMTYsIDU4LCAyMzIsIDExMCwgMiwgMTg0LCAyMzMsIDYwLCA3LCAzLCAxLCAyMzIsIDExMCwgMiwgCi0gICAgMTAxLCA3LCAzLCAxLCAyMzAsIDk4LCAyLCA0MiwgMTAxLCA3LCAzLCAxLCAyMzAsIDk4LCAyLCAyMjMsIDIwNywgMTAxLCA3LCAKLSAgICAxLCAzLCA2LCAyMDQsIDcsIDMsIDEsIDI1MiwgNTQsIDc1LCA3LCAxLCAzLCA2LCAyMjcsIDk5LCA3LCAzLCAxLCAyNDksIAotICAgIDE5MywgMjI3LCA2NywgNywgMywgMSwgMjI2LCA5LCA3LCAzLCAxLCAyMTYsIDU4LCAxNDksIDcsIDMsIDEsIDIxNiwgNTgsIAotICAgIDIyNCwgMTEzLCAyLCAxODQsIDIzMywgNjAsIDcsIDMsIDEsIDIxNiwgNTgsIDIyNCwgMTEzLCAyLCAxMDEsIDcsIDMsIDEsIAotICAgIDIyNCwgMTEzLCAyLCAxODQsIDIzMywgNjAsIDcsIDMsIDEsIDIyNCwgMTEzLCAyLCAyMTgsIDI3LCA3LCAzLCAxLCAyMjQsIAotICAgIDExMywgMiwgMjQ0LCA1NiwgNywgMywgMSwgMjIzLCAyMDIsIDIyNCwgMTEzLCAyLCAyNDQsIDU2LCA3LCAxLCAzLCA2LCAKLSAgICAxNDksIDcsIDEsIDMsIDYsIDIzNSwgMTkxLCAxNDksIDcsIDMsIDEsIDIyMywgNCwgMiwgMTAxLCA3LCAzLCAxLCAyNDUsIAotICAgIDQwLCA3LCAzLCAxLCAyNDcsIDczLCAyMzUsIDE0MywgMiwgMjE5LCA0NSwgMjQsIDEwMSwgNywgMywgMSwgMjE5LCAxNjMsIAotICAgIDIyMywgMjAyLCAyNDUsIDQwLCA3LCAzLCAxLCAyNDUsIDQxLCAyLCAyNDksIDQxLCA3LCAzLCAxLCAyMTYsIDU4LCAyMTgsIAotICAgIDk5LCA3LCAzLCAxLCAyMTgsIDEwMCwgMiwgMjIzLCAyMDcsIDEwMSwgNywgMywgMSwgMTExLCAxMzQsIDcsIDMsIDEsIDIxNSwgCi0gICAgMTI4LCA3LCAzLCAxLCAyMTUsIDgwLCAyLCAxMDEsIDcsIDMsIDEsIDIxNiwgNTgsIDIxNSwgNzksIDcsIDMsIDEsIDIxNiwgCi0gICAgNTgsIDIxNCwgODIsIDcsIDMsIDEsIDIxNiwgNTgsIDIxMywgMTA1LCA3LCAxLCAzLCA2LCAyMTMsIDEwNSwgNywgMywgMSwgCi0gICAgMjEyLCAxNTMsIDIsIDIyMywgMjA3LCAxMDEsIDcsIDMsIDEsIDIxMiwgMTUzLCAyLCAyNDksIDQxLCA3LCAzLCAxLCAyNDQsIAotICAgIDIzMiwgNywgMywgMSwgMjQ0LCAyMzMsIDIsIDI0OSwgNDEsIDcsIDEsIDI0MiwgMTU2LCAyMTksIDY5LCA3LCAxLCAyMjYsIAotICAgIDE1LCAyMTQsIDExNiwgMjQzLCAyMTksIDcsIDEsIDIzNSwgMTkxLCAyNDIsIDE1NiwgMjE5LCA2OSwgNywgMSwgMjE5LCA1MCwgCi0gICAgMjUwLCAyNTIsIDcsIDEsIDI1MSwgMTY5LCAyNDksIDIwNCwgNywgMSwgMywgNiwgMjUzLCA3NCwgNywgMywgMSwgMjQ5LCAKLSAgICAxOTMsIDIyNywgNDAsIDc0LCA3LCAxLCAzLCA2LCAyNDMsIDE3OCwgMiwgMTAxLCA3LCAxLCAzLCA2LCAyNDIsIDQxLCA3LCAKLSAgICAzLCAxLCAyMzUsIDE0MywgMiwgMjQ5LCA2NywgNywgMywgMSwgMjE2LCA1OCwgMjM1LCAyNywgNywgMSwgMywgNiwgMTUwLCAKLSAgICA3LCAzLCAxLCAyMjQsIDI0MSwgMiwgMTAxLCA3LCAxLCAyNDIsIDE1NiwgMjE5LCA3MCwgMiwgOTAsIDcsIDEsIDIyMywgCi0gICAgMjAyLCAyNDIsIDE1NiwgMjE5LCA3MCwgMiwgOTAsIDcsIDMsIDEsIDI0NSwgMjUxLCAyNDcsIDE3MiwgNywgMywgMSwgMjQ3LCAKLSAgICAyMzMsIDI0NywgMTcyLCA3LCAzLCAxLCAyNDUsIDI1MSwgMjQ3LCAxNzMsIDIsIDI0OSwgNDEsIDcsIDMsIDEsIDIxNiwgCi0gICAgMTQzLCAyNDcsIDE3MiwgNywgMywgMSwgMjE3LCAxODgsIDI0NywgMTcyLCA3LCAzLCAxLCAyMTcsIDIzNiwgMjQ3LCAxNzMsIAotICAgIDIsIDI0OSwgNDEsIDcsIDMsIDEsIDI0NCwgMTAzLCAyNDcsIDE3MiwgNywgMywgMSwgMjMyLCAxNTgsIDI0NywgMTcyLCA3LCAKLSAgICAzLCAxLCAyMzIsIDExMSwgMjQ3LCAxNzIsIDcsIDEsIDI1MSwgMTY5LCAyMjYsIDU2LCA3LCAxLCAyNTEsIDE3NywgMjI2LCAKLSAgICA1NiwgNywgMywgMSwgMjE2LCA1OCwgMjQyLCA0MiwgMiwgMjQ0LCA1NiwgNywgMywgMSwgMjE2LCA1OCwgMjQyLCA0MiwgMiwgCi0gICAgMjQ0LCA1NywgMjQsIDIxOCwgMjcsIDU5LCAxLCAzLCAyNDIsIDQxLCA1OSwgMSwgMywgMjQyLCA0MiwgMiwgMTAxLCA1OSwgCi0gICAgMSwgMywgMjM1LCAxNDIsIDU5LCAxLCAzLCAxNDksIDU5LCAxLCAzLCAyMTYsIDU4LCAxNDksIDU5LCAxLCAzLCAyMTYsIDU4LCAKLSAgICAyMjQsIDExMywgMiwgMTAxLCA1OSwgMSwgMywgNiwgMjM1LCAxOTEsIDE0OSwgNTksIDEsIDMsIDIxNCwgODIsIDU5LCAxLCAKLSAgICAzLCAyMTMsIDEwNSwgNTksIDEsIDIyNSwgNzEsIDU5LCAxLCA1MSwgMjI1LCA3MSwgNTksIDEsIDIxNiwgNTgsIDI0OSwgCi0gICAgMTU3LCA1OSwgMSwgMjUzLCAyMjYsIDU5LCAxLCAyMjMsIDIwMiwgMjQ5LCAxNTcsIDU5LCAxLCA0NiwgMTUxLCAyMjMsIAotICAgIDEzMCwgNTksIDEsIDQyLCAxNTEsIDIyMywgMTMwLCA1OSwgMSwgMjQyLCAxNTYsIDIxOSwgNjksIDU5LCAxLCAyMjMsIDIwMiwgCi0gICAgMjQyLCAxNTYsIDIxOSwgNjksIDU5LCAxLCA0MiwgMjUzLCAxNjQsIDU5LCAxLCA0NiwgMjUzLCAxNjQsIDU5LCAxLCAxMTQsIAotICAgIDI1MywgMTY0LCA1OSwgMSwgMTE5LCAyNTMsIDE2NCwgNTksIDEsIDI0OSwgMjI0LCAyNTQsIDE3NCwgMjUwLCAxNjYsIDU5LCAKLSAgICAxLCA3MSwgMjMyLCAyNDIsIDU5LCAxLCAyMzIsIDM3LCA1OSwgMSwgMjU0LCAxNjQsIDI1NCwgMTc0LCA1OSwgMSwgMjQyLCAKLSAgICAxMTQsIDI1NCwgMTc0LCA1OSwgMSwgMTE1LCA3MSwgMjMyLCAyNDIsIDU5LCAxLCAxMTUsIDIzMiwgMzcsIDU5LCAxLCAxMTUsIAotICAgIDI0MiwgMTE0LCAyNTQsIDE3NCwgNTksIDEsIDExNSwgMjU0LCAxNjQsIDI1NCwgMTc0LCA1OSwgMSwgMjE2LCAxODAsIDI0OSwgCi0gICAgMTY0LCA1OSwgMSwgMTUxLCAyMTYsIDE4MCwgMjQ5LCAxNjQsIDU5LCAxLCAyNTAsIDEwNywgNDYsIDE1MSwgMjIzLCAxMzAsIAotICAgIDU5LCAxLCAyNTAsIDEwNywgNDIsIDE1MSwgMjIzLCAxMzAsIDU5LCAxLCAxMTQsIDIxOCwgMzYsIDU5LCAxLCAxMTksIDIxOCwgCi0gICAgMzYsIDU5LCAxLCA5NCwgNTIsIDU5LCAxLCAyMzAsIDI1MSwgNTIsIDI1MSwgNzQsIDYyLCA0OSwgMjIzLCAxMzEsIDQ5LCAKLSAgICAyMjcsIDkwLCAzLCAyMTcsIDQyLCA1MSwgMjU0LCAxNjQsIDI1NCwgMTc0LCA1OSwgMSwgMjIzLCAxODksIDEwMSwgNTksIDEsIAotICAgIDI0OSwgNzEsIDI1NCwgMTc0LCA1OSwgMSwgMywgMjQzLCA4MywgNTksIDEsIDMsIDE1MCwgNTksIDEsIDMsIDE5NywgNTksIAotICAgIDEsIDMsIDIxMywgMTY2LCA1OSwgMSwgMywgMjIzLCAyMDIsIDI0MiwgMTU2LCAyMTksIDY5LCA1OSwgMSwgMjQ0LCAyNDQsIAotICAgIDE2MCwgMTM0LCA1OSwgMSwgMTI0LCAxNjAsIDEzNCwgNTksIDEsIDIzMSwgMzgsIDE2MCwgMTM0LCA1OSwgMSwgMTE1LCAKLSAgICAxNjAsIDEzNCwgNTksIDEsIDI0NCwgMjQzLCAxNjAsIDEzNCwgNTksIDEsIDIxMiwgMjQ1LCAyNDcsIDI1MSwgMTYwLCA3NywgCi0gICAgNTksIDEsIDIxMywgNTksIDI0NywgMjUxLCAxNjAsIDc3LCA1OSwgMSwgMjE0LCAxMTQsIDU5LCAxLCAyMTUsIDE1NiwgNTksIAotICAgIDEsIDUxLCAyNTMsIDIyNiwgNTksIDEsIDExNSwgMTE5LCAyNTMsIDE2NCwgNTksIDEsIDExNSwgMTE0LCAyNTMsIDE2NCwgCi0gICAgNTksIDEsIDExNSwgNDIsIDI1MywgMTY0LCA1OSwgMSwgMTE1LCA0NiwgMjUzLCAxNjQsIDU5LCAxLCAxMTUsIDIyMywgMTMwLCAKLSAgICA1OSwgMSwgMjMxLCAzNywgMjQyLCAxMTQsIDI1NCwgMTc0LCA1OSwgMSwgMjMxLCAzNywgNTEsIDI0MiwgMTE0LCAyNTQsIAotICAgIDE3NCwgNTksIDEsIDIzMSwgMzcsIDUxLCAyNTQsIDE2NCwgMjU0LCAxNzQsIDU5LCAxLCAxMTUsIDIxNywgNDIsIDU5LCAxLCAKLSAgICAyMjQsIDQ4LCAyNDksIDE2NCwgNTksIDEsIDI1MSwgMjM0LCAxMjQsIDIxNiwgMjQxLCA1OSwgMSwgMjQ1LCAxMDEsIDEyNCwgCi0gICAgMjE2LCAyNDEsIDU5LCAxLCAyNTEsIDIzNCwgMTE1LCAyMTYsIDI0MSwgNTksIDEsIDI0NSwgMTAxLCAxMTUsIDIxNiwgMjQxLCAKLSAgICA1OSwgMSwgMjIwLCAyMzQsIDU5LCAxLCAyMjcsIDQwLCAyMjAsIDIzNCwgNTksIDEsIDExNSwgNDIsIDY4LCAzNywgMjQyLCAKLSAgICAxMTQsIDI1NCwgMTc0LCAzNywgMjU0LCAxNjQsIDI1NCwgMTc0LCAzNywgMjQ5LCAyMjQsIDI1NCwgMTc0LCAzNywgMjE3LCAKLSAgICA0MiwgMzcsIDIzMiwgMzcsIDM3LCAyMjYsIDI0MywgMzcsIDI1MSwgNzQsIDM3LCA2MiwgNDksIDM3LCAyNDcsIDIwOSwgMzcsIAotICAgIDI0MSwgMzgsIDQ5LCAzNywgMjIzLCAxMzEsIDQ5LCAzNywgNTEsIDI1NCwgMTY0LCAyNTQsIDE3NCwgMzcsIDI1MCwgMTY2LCAKLSAgICAzNywgNzEsIDIzMiwgMjQzLCA0OSwgMzcsIDUxLCA3MSwgMjMyLCAyNDMsIDQ5LCAzNywgNTEsIDI0MiwgMTE0LCAyNTQsIAotICAgIDE3NCwgMzcsIDI1MCwgMTg3LCAzNywgMjM1LCAxOTEsIDI1MSwgNzQsIDM3LCAyMTYsIDU4LCAyNDksIDE1OCwgNDksIDM3LCAKLSAgICAyNDksIDE1OCwgNDksIDM3LCAyMjMsIDIwMiwgMjQ5LCAxNTgsIDQ5LCAzNywgMjQ5LCAxNTgsIDc4LCAyMjMsIDE0OCwgMzcsIAotICAgIDI0MiwgMTE0LCAyNTQsIDE3NSwgNTUsIDM3LCAyNTQsIDE2NCwgMjU0LCAxNzUsIDU1LCAzNywgNDIsIDIxOCwgMzcsIDU1LCAKLSAgICAzNywgNDYsIDIxOCwgMzcsIDU1LCAzNywgNDIsIDI1NCwgMTksIDQ5LCAzNywgMjQwLCAyMzUsIDM3LCA0MiwgMTUxLCAyMjMsIAotICAgIDEzMSwgNTUsIDM3LCAxMTQsIDIxOCwgMzcsIDU1LCAzNywgMTE5LCAyMTgsIDM3LCA1NSwgMzcsIDk0LCA1LCA1NSwgMzcsIAotICAgIDIzMCwgMjUxLCA1LCA1NSwgMzcsIDIyNiwgMTkxLCAyNDEsIDM4LCA1NSwgMzcsIDIyMywgMjA3LCAyNDEsIDM4LCA1NSwgCi0gICAgMzcsIDYyLCA1NSwgMzcsIDI0NywgMjEwLCA1NSwgMzcsIDIyMywgMTMxLCA1NSwgMzcsIDI0OSwgMTU4LCA1NSwgMzcsIAotICAgIDI1MCwgMTE3LCAzNywgMjI3LCA5MCwgMzcsIDcxLCAyMzIsIDI0MywgNTUsIDM3LCAyNTEsIDY4LCA1NSwgMzcsIDIzNSwgCi0gICAgMTkxLCA1MSwgMjUzLCAxOTQsIDU1LCAzNywgMjUwLCAxNjcsIDU1LCAzNywgMjQ5LCAyMjQsIDI1NCwgMTc1LCA1NSwgMzcsIAotICAgIDI1MSwgNzUsIDU1LCAzNywgMjM1LCAxOTEsIDI1MSwgNzUsIDU1LCAzNywgMjE3LCA0MywgNTUsIDM3LCAyMzIsIDM4LCA1NSwgCi0gICAgMzcsIDExNSwgMjMyLCAyNDIsIDM3LCA1MSwgMTE1LCAyMzIsIDI0MiwgMzcsIDIxNywgNDMsIDIyNiwgMjQ0LCAzNywgMjIwLCAKLSAgICAxNzUsIDIxOSwgNDUsIDIyNiwgMjQ0LCAzNywgMTg0LCAyMTksIDQ1LCAyMjYsIDI0NCwgMzcsIDIyMCwgMTc1LCAyMTksIAotICAgIDIzMiwgMjI2LCAyNDQsIDM3LCAxODQsIDIxOSwgMjMyLCAyMjYsIDI0NCwgMzcsIDQ2LCAxNTEsIDIyMywgMTMxLCA1NSwgCi0gICAgMzcsIDIzNSwgMTkxLCAyNTEsIDY4LCA1NSwgMzcsIDQxLCA1NSwgMzcsIDIyMiwgOTksIDU1LCAzNywgMjEzLCAxNjcsIDQ5LCAKLSAgICAzNywgNzEsIDIxNywgNDIsIDM3LCA1MSwgMjI2LCAyNDMsIDM3LCAyNDIsIDExNCwgMTYwLCA3NywgMzcsIDI1NCwgMTY0LCAKLSAgICAxNjAsIDc3LCAzNywgMjUsIDIyNiwgNTAsIDM3LCAyNSwgMjM0LCAxMSwgMzcsIDI1LCAyNDcsIDIwNCwgMjE2LCAyMzEsIAotICAgIDM3LCAyNSwgMjEyLCAyMTAsIDM3LCAyNTEsIDY4LCA0OSwgMzcsIDI0NSwgNjEsIDUsIDU1LCAzNywgNTEsIDcxLCAyMzIsIAotICAgIDI0MywgNTUsIDM3LCA0MiwgMjU0LCAxOSwgNTUsIDM3LCAyMjgsIDE2MywgMjE3LCA0MywgNDksIDM3LCAyNDEsIDQ0LCA0OSwgCi0gICAgMzcsIDI1NCwgNTcsIDEyMywgMjExLCAyMTEsIDQ5LCAzNywgNDIsIDQ2LCA3NiwgNTUsIDM3LCAyMTUsIDEyNCwgNzYsIDU1LCAKLSAgICAzNywgMjQyLCAxMTgsIDIzNSwgNjYsIDM3LCA0NiwgMjUzLCAxNjUsIDQ5LCAzNywgNDIsIDE1MSwgMjIzLCAxMzEsIDQ5LCAKLSAgICAzNywgMjQ0LCAxMDAsIDM3LCAyMTMsIDE2NywgNTUsIDM3LCA0MiwgMjUzLCAxNjUsIDU1LCAzNywgNDYsIDI1MywgMTY1LCAKLSAgICA1NSwgMzcsIDQ2LCAyNTMsIDE2NSwgMjQsIDExNCwgMjUzLCAxNjUsIDU1LCAzNywgNDYsIDE1MSwgMjIzLCAxMzEsIDQ5LCAKLSAgICAzNywgNjIsIDc4LCAyMjMsIDE0OCwgMzcsIDI1MywgMTMzLCA1NSwgMzcsIDUxLCAyMjMsIDEzMSwgNTUsIDM3LCAyMTIsIAotICAgIDI4LCA0OSwgMzcsIDUxLCAyNTEsIDc1LCA1NSwgMzcsIDUxLCAyNTEsIDc0LCAzNywgNTEsIDIzMiwgMzcsIDM3LCA1MSwgCi0gICAgMjMyLCAzOCwgNTUsIDM3LCA1MSwgMjE3LCA0MiwgMzcsIDUxLCAyMzUsIDE5MSwgMjUxLCA3NCwgMzcsIDUxLCA5NSwgNzYsIAotICAgIDU1LCAzNywgNywgMywgMSwgNjEsIDM3LCA3LCAzLCAxLCA3NCwgMzcsIDcsIDMsIDEsIDcyLCAzNywgNywgMywgMSwgNzUsIAotICAgIDM3LCA3LCAzLCAxLCA2OSwgMzcsIDcsIDMsIDEsIDI1MCwgMjUyLCAzNywgNywgMywgMSwgMjQ5LCAzLCAzNywgNywgMywgMSwgCi0gICAgMjQyLCA0MSwgMzcsIDcsIDMsIDEsIDE4MywgMzcsIDcsIDMsIDEsIDE0OSwgMzcsIDcsIDMsIDEsIDIxOCwgOTksIDM3LCA3LCAKLSAgICAzLCAxLCAyMTUsIDc5LCAzNywgNywgMywgMSwgMjEzLCAxNjYsIDI1LCA2LCAxLCAyNDEsIDE4MSwgMjUsIDMsIDEsIDI0MSwgCi0gICAgMTgxLCAyNSwgNiwgMSwgMjUzLCAxOTMsIDIyMiwgMTYxLCAyNSwgMywgMSwgMjUzLCAxOTMsIDIyMiwgMTYxLCAyNSwgMjI4LCAKLSAgICA1NCwgNTIsIDI1LCAyMzIsIDE2MywgMjI4LCA1NCwgNTIsIDI1LCA2LCAxLCAyMjYsIDE3OCwgMjQ3LCAxNzksIDI1LCAzLCAKLSAgICAxLCAyMjYsIDE3OCwgMjQ3LCAxNzksIDI1LCAyMTIsIDIxMCwgMjUsIDMsIDIyMywgMjAyLCAyMzIsIDE0MSwgMjIwLCAxMDQsIAotICAgIDg3LCAyNSwgMywgMjQ2LCA3MiwgMjMyLCAxNDEsIDIyMCwgMTA0LCA4NywgMjUsIDMsIDIyMywgMjAyLCAyNDYsIDcyLCAKLSAgICAyMzIsIDE0MSwgMjIwLCAxMDQsIDg3LCAyNSwgMjI0LCAxNTgsIDc3LCAyNSwgMjE2LCAyMzEsIDI1LCAyNDcsIDIwNCwgCi0gICAgMjE2LCAyMzEsIDI1LCA2LCAxLCAyNTQsIDUzLCAyLCAyMTYsIDIzMSwgMjUsIDI1NCwgOCwgMjE3LCAyMTEsIDI1LCA2LCAxLCAKLSAgICAyNDUsIDY0LCAyLCAyMTYsIDIzMSwgMjUsIDYsIDEsIDI0NSwgMjksIDIsIDIxNiwgMjMxLCAyNSwgNiwgMSwgMjM1LCAxODQsIAotICAgIDIsIDIxNiwgMjMxLCAyNSwgNiwgMSwgMjI3LCA2NiwgMiwgMjE2LCAyMzEsIDI1LCA2LCAxLCAyMTUsIDEyOSwgMiwgMjE2LCAKLSAgICAyMzEsIDI1LCA2LCAxLCAyMjcsIDY4LCAyLCAyMTYsIDIzMSwgMjUsIDMsIDEsIDIzNSwgMTg0LCAyLCAyNDcsIDIwNCwgMjQsIAotICAgIDIxNiwgMjMxLCAyNSwgNiwgMSwgMjU0LCA1MiwgMjUsIDYsIDEsIDI1MSwgMjAzLCAyNSwgNiwgMSwgMjQzLCA4MywgMjUsIAotICAgIDYsIDEsIDI0OCwgNSwgMjUsIDYsIDEsIDI0NSwgNjMsIDI1LCA2LCAxLCAyMTIsIDc4LCAyNSwgNiwgMSwgMjQ1LCAyOCwgCi0gICAgMjUsIDYsIDEsIDIxNywgMTMyLCAyNSwgNiwgMSwgMjM1LCAxODMsIDI1LCA2LCAxLCAyMzQsIDIyNywgMjUsIDYsIDEsIAotICAgIDIzMywgMTIyLCAyNSwgNiwgMSwgMjMwLCAxNzIsIDI1LCA2LCAxLCAyMjgsIDkyLCAyNSwgNiwgMSwgMjEzLCAxNDUsIDI1LCAKLSAgICA2LCAxLCAyMjcsIDY1LCAyNSwgNiwgMSwgMjI1LCAyNDAsIDI1LCA2LCAxLCAyMjMsIDE5MCwgMjUsIDYsIDEsIDIyMCwgCi0gICAgMTAzLCAyNSwgNiwgMSwgMjE3LCAyNDgsIDI1LCA2LCAxLCAyMTUsIDEyOCwgMjUsIDYsIDEsIDIyNiwgOSwgMjUsIDYsIDEsIAotICAgIDI1MCwgNDcsIDI1LCA2LCAxLCAyMjUsIDQ2LCAyNSwgNiwgMSwgMjI3LCA2NywgMjUsIDYsIDEsIDIzNSwgMTg0LCAyLCAKLSAgICAyNDcsIDIwMywgMjUsIDYsIDEsIDIxNSwgMTI5LCAyLCAyNDcsIDIwMywgMjUsIDMsIDEsIDI1NCwgNTMsIDIsIDIxNiwgCi0gICAgMjMxLCAyNSwgMywgMSwgMjQ1LCA2NCwgMiwgMjE2LCAyMzEsIDI1LCAzLCAxLCAyNDUsIDI5LCAyLCAyMTYsIDIzMSwgMjUsIAotICAgIDMsIDEsIDIzNSwgMTg0LCAyLCAyMTYsIDIzMSwgMjUsIDMsIDEsIDIxNSwgMTI5LCAyLCAyNDcsIDIwNCwgMjQsIDIxNiwgCi0gICAgMjMxLCAyNSwgMywgMSwgMjU0LCA1MiwgMjUsIDMsIDEsIDI1MSwgMjAzLCAyNSwgMywgMSwgMjQzLCA4MywgMjUsIDMsIDEsIAotICAgIDI0OCwgNSwgMjUsIDMsIDEsIDI0NSwgNjMsIDI1LCAzLCAxLCAyMTIsIDc4LCAyNSwgMywgMSwgMjQ1LCAyOCwgMjUsIDMsIAotICAgIDEsIDIxNywgMTMyLCAyNSwgMywgMSwgMjM1LCAxODMsIDI1LCAzLCAxLCAyMzQsIDIyNywgMjUsIDMsIDEsIDIzMywgMTIyLCAKLSAgICAyNSwgMywgMSwgMjMwLCAxNzIsIDI1LCAzLCAxLCAyMjgsIDkyLCAyNSwgMywgMSwgMjEzLCAxNDUsIDI1LCAzLCAxLCAyMjcsIAotICAgIDY1LCAyNSwgMywgMSwgMjI1LCAyNDAsIDI1LCAzLCAxLCAyMjMsIDE5MCwgMjUsIDMsIDEsIDQwLCAyMjAsIDEwMywgMjUsIAotICAgIDMsIDEsIDIyMCwgMTAzLCAyNSwgMywgMSwgMjE3LCAyNDgsIDI1LCAzLCAxLCAyMTUsIDEyOCwgMjUsIDMsIDEsIDIyNiwgOSwgCi0gICAgMjUsIDMsIDEsIDI1MCwgNDcsIDI1LCAzLCAxLCAyMjUsIDQ2LCAyNSwgMywgMSwgMjI3LCA2NywgMjUsIDMsIDEsIDIzNSwgCi0gICAgMTg0LCAyLCAyNDcsIDIwMywgMjUsIDMsIDEsIDIxNSwgMTI5LCAyLCAyNDcsIDIwMywgMjUsIDMsIDEsIDIyNywgNjYsIDIsIAotICAgIDIxNiwgMjMxLCAyNSwgMywgMSwgMjE1LCAxMjksIDIsIDIxNiwgMjMxLCAyNSwgMywgMSwgMjI3LCA2OCwgMiwgMjE2LCAKLSAgICAyMzEsIDI1LCA2LCAyMzQsIDI1MSwgODcsIDI1LCAyNTEsIDIwNCwgODcsIDI1LCAyMTcsIDEzMywgODcsIDI1LCAyMTUsIAotICAgIDEyOSwgMiwgMjQxLCAzOCwgODcsIDI1LCAyMTUsIDEyOSwgMiwgMjU0LCAxNjQsIDI0LCAyNDEsIDM4LCA4NywgMjUsIDIxNSwgCi0gICAgMTI5LCAyLCAyNDcsIDIxMCwgMjQsIDI0MSwgMzgsIDg3LCAyNSwgMjI2LCAxMCwgODcsIDI1LCAyMjUsIDI0MSwgODcsIDI1LCAKLSAgICAyMzQsIDI1MSwgODcsIDI1LCAxLCAyNTMsIDE5MywgMjM0LCAxNSwgMjUsIDMsIDEsIDI1MywgMTkzLCAyMzQsIDE1LCAyNSwgCi0gICAgMSwgMjE5LCA3NywgMjUsIDMsIDEsIDIxOSwgNzcsIDI1LCAxLCAyNDcsIDE3OSwgMjUsIDMsIDEsIDI0NywgMTc5LCAyNSwgCi0gICAgMSwgMjM0LCAxNSwgMjUsIDMsIDEsIDIzNCwgMTUsIDI1LCAxLCAyMjIsIDE2MSwgMjUsIDMsIDEsIDIyMiwgMTYxLCA3OSwgCi0gICAgNiwgMSwgMjIwLCAyMzUsIDc5LCAzLCAxLCAyMjAsIDIzNSwgNzksIDYsIDEsIDI0NCwgMTA5LCA3OSwgMywgMSwgMjQ0LCAKLSAgICAxMDksIDc5LCA2LCAxLCAyMzQsIDEyMywgNzksIDMsIDEsIDIzNCwgMTIzLCA3OSwgNiwgMSwgMjQxLCAzMiwgNzksIDMsIDEsIAotICAgIDI0MSwgMzIsIDc5LCA2LCAxLCAyNDMsIDc4LCA3OSwgMywgMSwgMjQzLCA3OCwgNzksIDYsIDEsIDIyMCwgMjAyLCA3OSwgMywgCi0gICAgMSwgMjIwLCAyMDIsIDc5LCA2LCAxLCAyNDgsIDIwLCA3OSwgMywgMSwgMjQ4LCAyMCwgMjUsIDIzNCwgMjI4LCA4NywgMjUsIAotICAgIDIyMywgMTkxLCA4NywgMjUsIDIzMiwgMTQxLCAyMjAsIDEwNCwgODcsIDI1LCAxLCAyMTIsIDIxNSwgMjUsIDYsIDIxNywgCi0gICAgMTMzLCA4NywgMjUsIDIzMiwgMTQxLCAyNDUsIDY0LCA4NywgMjUsIDIyMywgMjAyLCAyMzIsIDE0MSwgMjQ1LCA2NCwgODcsIAotICAgIDI1LCA2LCAxLCAyMjAsIDE4NywgMjUsIDMsIDEsIDIyMCwgMTg3LCAyNSwgNiwgMjMyLCAxNDEsIDIyMCwgMTA0LCA4NywgCi0gICAgMjUsIDYsIDEsIDIyMiwgMTU5LCAyNSwgMywgMSwgMjIyLCAxNTksIDI1LCAyMjMsIDE5MSwgMiwgMjE5LCA0NSwgODcsIDI1LCAKLSAgICA2LCAyMjMsIDIwMiwgMjMyLCAxNDEsIDIyMCwgMTA0LCA4NywgMjUsIDYsIDI0NiwgNzIsIDIzMiwgMTQxLCAyMjAsIDEwNCwgCi0gICAgODcsIDI1LCA2LCAyMjMsIDIwMiwgMjQ2LCA3MiwgMjMyLCAxNDEsIDIyMCwgMTA0LCA4NywgMzMsIDYsIDEsIDIzNiwgNTYsIAotICAgIDIsIDI0MiwgMTEzLCAzMywgNiwgMSwgMjM1LCAxODcsIDMzLCA2LCAxLCAyNDcsIDExNCwgMzMsIDYsIDEsIDI0MiwgMTYzLCAKLSAgICAzMywgNiwgMSwgMjE1LCAxNzIsIDIzNiwgNTUsIDMzLCA2LCAxLCAyNDUsIDI0NywgMzMsIDYsIDEsIDI1MSwgNSwgNzIsIAotICAgIDMzLCA2LCAxLCAyMTIsIDI1NSwgMzMsIDYsIDEsIDIzNSwgMTI3LCAzMywgNiwgMSwgMjMyLCAyMTYsIDMzLCA2LCAxLCAKLSAgICAyMjksIDksIDMzLCA2LCAxLCAyMTYsIDEzMiwgMzMsIDYsIDEsIDIzNCwgNTcsIDMzLCA2LCAxLCAyNDAsIDE0NiwgMiwgCi0gICAgMjQyLCAxMTMsIDMzLCA2LCAxLCAyMjAsIDE3NSwgNjksIDMzLCA2LCAxLCAyNDUsIDI0MywgMzMsIDYsIDEsIDYxLCAzMywgCi0gICAgNiwgMSwgMjUxLCAyNTEsIDMzLCA2LCAxLCAyMTQsIDIzMiwgMzMsIDYsIDEsIDI0MiwgMjEyLCAzMywgNiwgMSwgMjQ4LCAKLSAgICA0MSwgMzMsIDYsIDEsIDIzNiwgNTUsIDMzLCA2LCAxLCAyMTIsIDY3LCAzMywgNiwgMSwgMjEyLCA4NywgMzMsIDYsIDEsIAotICAgIDcyLCAzMywgNiwgMSwgMjIwLCAxNzUsIDcyLCAzMywgNiwgMSwgMTgxLCAzMywgNiwgMSwgMjQ1LCAxMzEsIDMzLCA2LCAxLCAKLSAgICAyNDUsIDExNywgMzMsIDYsIDEsIDI0NSwgMTA4LCAzMywgNiwgMSwgNzUsIDMzLCA2LCAxLCAyMjYsIDk2LCAzMywgNiwgMSwgCi0gICAgMjQ1LCA1NSwgMzMsIDYsIDEsIDI0NSwgNDUsIDMzLCA2LCAxLCAyMTcsIDIyOSwgMzMsIDYsIDEsIDY5LCAzMywgNiwgMSwgCi0gICAgMjQ1LCAxNTksIDMzLCA2LCAxLCAxNTksIDMzLCA2LCAxLCAyMTYsIDEzNiwgMzMsIDYsIDEsIDI1MCwgNjcsIDMzLCA2LCAxLCAKLSAgICAyMjEsIDI0LCAzMywgNiwgMSwgMjIwLCAyNDUsIDMzLCA2LCAxLCAyNDEsIDI0MiwgNTIsIDMzLCA2LCAxLCAyMTMsIDE4LCAKLSAgICAzMywgNiwgMSwgMjE5LCAyMzYsIDUyLCAzMywgNiwgMSwgNzQsIDMzLCA2LCAxLCAyMTIsIDIwMywgMzMsIDYsIDEsIDE4NiwgCi0gICAgMzMsIDMsIDEsIDYxLCAzMywgMywgMSwgMjUxLCAyNTEsIDMzLCAzLCAxLCAyMTQsIDIzMiwgMzMsIDMsIDEsIDI0MiwgMjEyLCAKLSAgICAzMywgMywgMSwgMjQ4LCA0MSwgMzMsIDMsIDEsIDIzNiwgNTUsIDMzLCAzLCAxLCAyMTIsIDY3LCAzMywgMywgMSwgMjEyLCAKLSAgICA4NywgMzMsIDMsIDEsIDcyLCAzMywgMywgMSwgMjIwLCAxNzUsIDcyLCAzMywgMywgMSwgMTgxLCAzMywgMywgMSwgMjQ1LCAKLSAgICAxMzEsIDMzLCAzLCAxLCAyNDUsIDExNywgMzMsIDMsIDEsIDI0NSwgMTA4LCAzMywgMywgMSwgNzUsIDMzLCAzLCAxLCAyMjYsIAotICAgIDk2LCAzMywgMywgMSwgMjQ1LCA1NSwgMzMsIDMsIDEsIDI0NSwgNDUsIDMzLCAzLCAxLCAyMTcsIDIyOSwgMzMsIDMsIDEsIAotICAgIDY5LCAzMywgMywgMSwgMjQ1LCAxNTksIDMzLCAzLCAxLCAxNTksIDMzLCAzLCAxLCAyMTYsIDEzNiwgMzMsIDMsIDEsIDI1MCwgCi0gICAgNjcsIDMzLCAzLCAxLCAyMjEsIDI0LCAzMywgMywgMSwgMjIwLCAyNDUsIDMzLCAzLCAxLCAyNDEsIDI0MiwgNTIsIDMzLCAzLCAKLSAgICAxLCAyMTMsIDE4LCAzMywgMywgMSwgMjE5LCAyMzYsIDUyLCAzMywgMywgMSwgNzQsIDMzLCAzLCAxLCAyMTIsIDIwMywgMzMsIAotICAgIDMsIDEsIDE4NiwgMzMsIDMsIDEsIDIzNiwgNTYsIDIsIDI0MiwgMTEzLCAzMywgMywgMSwgMjM1LCAxODcsIDMzLCAzLCAxLCAKLSAgICAyNDcsIDExNCwgMzMsIDMsIDEsIDI0MiwgMTYzLCAzMywgMywgMSwgMjE1LCAxNzIsIDIzNiwgNTUsIDMzLCAzLCAxLCAyNDUsIAotICAgIDI0NywgMzMsIDMsIDEsIDI1MSwgNSwgNzIsIDMzLCAzLCAxLCAyMTIsIDI1NSwgMzMsIDMsIDEsIDIzNSwgMTI3LCAzMywgMywgCi0gICAgMSwgMjMyLCAyMTYsIDMzLCAzLCAxLCAyMjksIDksIDMzLCAzLCAxLCAyMTYsIDEzMiwgMzMsIDMsIDEsIDIzNCwgNTcsIDMzLCAKLSAgICAzLCAxLCAyNDAsIDE0NiwgMiwgMjQyLCAxMTMsIDMzLCAzLCAxLCAyMjAsIDE3NSwgNjksIDMzLCAzLCAxLCAyNDUsIDI0MywgCi0gICAgMzMsIDYsIDEsIDIyNywgNjcsIDMzLCAzLCAxLCAyMjcsIDY3LCAzMywgNiwgMSwgMjEzLCA0OSwgMzMsIDMsIDEsIDIxMywgCi0gICAgNDksIDMzLCA2LCAxLCAyMzUsIDE4MSwgNzQsIDMzLCAzLCAxLCAyMzUsIDE4MSwgNzQsIDMzLCA2LCAxLCAyMzIsIDIyMSwgCi0gICAgMjEyLCAxNzQsIDMzLCAzLCAxLCAyMzIsIDIyMSwgMjEyLCAxNzQsIDMzLCA2LCAxLCAyMzUsIDE4MSwgMjMyLCAyMjEsIAotICAgIDIxMiwgMTc0LCAzMywgMywgMSwgMjM1LCAxODEsIDIzMiwgMjIxLCAyMTIsIDE3NCwgMzMsIDYsIDEsIDI1MSwgMTcyLCAKLSAgICAyMTIsIDE3NCwgMzMsIDMsIDEsIDI1MSwgMTcyLCAyMTIsIDE3NCwgMzMsIDYsIDEsIDIzNSwgMTgxLCAyNTEsIDE3MiwgCi0gICAgMjEyLCAxNzQsIDMzLCAzLCAxLCAyMzUsIDE4MSwgMjUxLCAxNzIsIDIxMiwgMTc0LCAzMywgNiwgMSwgMjMzLCAyNDIsIDMzLCAKLSAgICAzLCAxLCAyMzMsIDI0MiwgMzMsIDYsIDEsIDIyNSwgNDYsIDMzLCAzLCAxLCAyMjUsIDQ2LCAzMywgNiwgMSwgMjQ0LCA1MSwgCi0gICAgMzMsIDMsIDEsIDI0NCwgNTEsIDMzLCA2LCAxLCAyMzUsIDE0NCwgMzMsIDMsIDEsIDIzNSwgMTQ0LCAzMywgNiwgMSwgMjM1LCAKLSAgICAxNDUsIDIsIDUxLCAyNDIsIDExNCwgMjU0LCAxNzQsIDMzLCAzLCAxLCAyMzUsIDE0NSwgMiwgNTEsIDI0MiwgMTE0LCAyNTQsIAotICAgIDE3NCwgMzMsIDYsIDEsIDIxNSwgMTc1LCAzMywgMywgMSwgMjE1LCAxNzUsIDMzLCA2LCAxLCAyMjMsIDg3LCAyMjcsIDY3LCAKLSAgICAzMywgMywgMSwgMjIzLCA4NywgMjI3LCA2NywgMzMsIDYsIDEsIDIyNywgNjgsIDIsIDIxNywgMTgsIDMzLCAzLCAxLCAyMjcsIAotICAgIDY4LCAyLCAyMTcsIDE4LCAzMywgNiwgMSwgMjI3LCA4LCAzMywgMywgMSwgMjI3LCA4LCAzMywgNiwgMSwgMjM0LCAxNSwgCi0gICAgMzMsIDMsIDEsIDIzNCwgMTUsIDMzLCAyMTcsIDk5LCA1MiwgMzcsIDMzLCAyMTcsIDE4LCAzNywgMzMsIDIyNiwgMTkyLCAKLSAgICAzNywgMzMsIDIwNywgMjI1LCAxNTIsIDM3LCAzMywgMjI1LCA0MCwgMjI1LCAxNTIsIDM3LCAzMywgMjI1LCAxMzcsIDM3LCAKLSAgICAzMywgMjQwLCAyMDEsIDIxNywgOTksIDUyLCAzNywgMzMsIDIzMSwgNCwgNTIsIDMzLCA2LCAxLCAyMjAsIDE3NSwgMjQwLCAKLSAgICAxNDYsIDIsIDIxOCwgMjcsIDMzLCAzLCAxLCAyMjAsIDE3NSwgMjQwLCAxNDYsIDIsIDIxOCwgMjcsIDMzLCA2LCAxLCAyMjEsIAotICAgIDY2LCA1MiwgMzMsIDMsIDEsIDIyMSwgNjYsIDUyLCAzMywgNiwgMSwgMjQ1LCA1NiwgMiwgMjE3LCA2OCwgMzMsIDMsIDEsIAotICAgIDI0NSwgNTYsIDIsIDIxNywgNjgsIDMzLCA2LCAxLCAyNDIsIDIxMywgMiwgMjE1LCAxMjcsIDMzLCAzLCAxLCAyNDIsIDIxMywgCi0gICAgMiwgMjE1LCAxMjcsIDMzLCA2LCAxLCAyNDIsIDIxMywgMiwgOTAsIDMzLCAzLCAxLCAyNDIsIDIxMywgMiwgOTAsIDMzLCA2LCAKLSAgICAxLCAyNDIsIDIxMywgMiwgMjMxLCAzNywgMTAxLCAzMywgMywgMSwgMjQyLCAyMTMsIDIsIDIzMSwgMzcsIDEwMSwgMzMsIDYsIAotICAgIDEsIDIxMiwgNjgsIDIsIDI0NywgMjQ2LCAzMywgMywgMSwgMjEyLCA2OCwgMiwgMjQ3LCAyNDYsIDMzLCA2LCAxLCAyMTIsIAotICAgIDg4LCAyLCAyNDcsIDI0NiwgMzMsIDMsIDEsIDIxMiwgODgsIDIsIDI0NywgMjQ2LCAzMywgNiwgMSwgMjM1LCAxNywgMiwgCi0gICAgMjQ3LCAyNDYsIDMzLCAzLCAxLCAyMzUsIDE3LCAyLCAyNDcsIDI0NiwgMzMsIDYsIDEsIDIzNSwgMTcsIDIsIDcxLCA5MCwgCi0gICAgMzMsIDMsIDEsIDIzNSwgMTcsIDIsIDcxLCA5MCwgMzMsIDYsIDEsIDIzNSwgMTcsIDIsIDkwLCAzMywgMywgMSwgMjM1LCAKLSAgICAxNywgMiwgOTAsIDMzLCA2LCAxLCAyNTIsIDQ0LCAxODEsIDMzLCAzLCAxLCAyNTIsIDQ0LCAxODEsIDMzLCA2LCAxLCAyNDUsIAotICAgIDEwOSwgMiwgMjQ3LCAyNDYsIDMzLCAzLCAxLCAyNDUsIDEwOSwgMiwgMjQ3LCAyNDYsIDMzLCA2LCAyNiwgMjQ1LCAxMDksIAotICAgIDI0MiwgMjEyLCAzMywgMywgMjYsIDI0NSwgMTA5LCAyNDIsIDIxMiwgMzMsIDYsIDEsIDIyNiwgOTcsIDIsIDIzMSwgMzcsIAotICAgIDEwMSwgMzMsIDMsIDEsIDIyNiwgOTcsIDIsIDIzMSwgMzcsIDEwMSwgMzMsIDYsIDEsIDI1NCwgMTgwLCAxNTksIDMzLCAzLCAKLSAgICAxLCAyNTQsIDE4MCwgMTU5LCAzMywgNiwgMSwgMjQ1LCA0NiwgMiwgMjQ3LCAyNDYsIDMzLCAzLCAxLCAyNDUsIDQ2LCAyLCAKLSAgICAyNDcsIDI0NiwgMzMsIDYsIDEsIDIxNywgMjMwLCAyLCAyNDcsIDI0NiwgMzMsIDMsIDEsIDIxNywgMjMwLCAyLCAyNDcsIAotICAgIDI0NiwgMzMsIDYsIDEsIDIxOSwgNjEsIDY5LCAzMywgMywgMSwgMjE5LCA2MSwgNjksIDMzLCA2LCAxLCAyMTksIDYxLCAKLSAgICAxMTEsIDIsIDkwLCAzMywgMywgMSwgMjE5LCA2MSwgMTExLCAyLCA5MCwgMzMsIDYsIDEsIDI0MiwgMzAsIDIsIDI0NywgCi0gICAgMjQ2LCAzMywgMywgMSwgMjQyLCAzMCwgMiwgMjQ3LCAyNDYsIDMzLCA2LCAyNiwgMjE3LCAyMzAsIDIxNiwgMTM2LCAzMywgCi0gICAgMywgMjYsIDIxNywgMjMwLCAyMTYsIDEzNiwgMzMsIDYsIDEsIDI1MCwgNjgsIDIsIDI0NywgMjQ2LCAzMywgMywgMSwgMjUwLCAKLSAgICA2OCwgMiwgMjQ3LCAyNDYsIDMzLCA2LCAxLCAyNTAsIDY4LCAyLCA3MSwgOTAsIDMzLCAzLCAxLCAyNTAsIDY4LCAyLCA3MSwgCi0gICAgOTAsIDMzLCA2LCAxLCAyMjAsIDIxMywgMzMsIDMsIDEsIDIyMCwgMjEzLCAzMywgNiwgMSwgMjU0LCAxODAsIDI1MCwgNjcsIAotICAgIDMzLCAzLCAxLCAyNTQsIDE4MCwgMjUwLCA2NywgMzMsIDYsIDEsIDI1NCwgMTgwLCAyNTAsIDY4LCAyLCAyNDcsIDI0NiwgCi0gICAgMzMsIDMsIDEsIDI1NCwgMTgwLCAyNTAsIDY4LCAyLCAyNDcsIDI0NiwgMzMsIDEsIDIyNiwgMTg1LCAzMywgNiwgMSwgMjEyLCAKLSAgICA2OCwgMiwgMjUxLCA3NCwgMzMsIDMsIDEsIDIxMiwgNjgsIDIsIDI1MSwgNzQsIDMzLCA2LCAxLCAyMzUsIDE3LCAyLCAxMDEsIAotICAgIDMzLCAzLCAxLCAyMzUsIDE3LCAyLCAxMDEsIDMzLCA2LCAxLCAyNDUsIDEzMiwgMiwgMjE4LCAyNywgMzMsIDMsIDEsIDI0NSwgCi0gICAgMTMyLCAyLCAyMTgsIDI3LCAzMywgNiwgMSwgMjQ1LCAxMDksIDIsIDEwMSwgMzMsIDMsIDEsIDI0NSwgMTA5LCAyLCAxMDEsIAotICAgIDMzLCA2LCAxLCAyNDUsIDEwOSwgMiwgMjE4LCAyNywgMzMsIDMsIDEsIDI0NSwgMTA5LCAyLCAyMTgsIDI3LCAzMywgNiwgMSwgCi0gICAgMjM0LCAxMzMsIDI1MCwgNjcsIDMzLCAzLCAxLCAyMzQsIDEzMywgMjUwLCA2NywgMzMsIDYsIDEsIDI0NSwgMTE4LCAyLCAKLSAgICAyMTgsIDI3LCAzMywgMywgMSwgMjQ1LCAxMTgsIDIsIDIxOCwgMjcsIDMzLCAzLCAxLCAyMjYsIDE4NSwgMzMsIDYsIDEsIAotICAgIDExOCwgMiwgMjUxLCA3NCwgMzMsIDMsIDEsIDExOCwgMiwgMjUxLCA3NCwgMzMsIDYsIDEsIDExOCwgMiwgMjQ3LCAyMDksIAotICAgIDMzLCAzLCAxLCAxMTgsIDIsIDI0NywgMjA5LCAzMywgNiwgMjYsIDExOCwgMjM2LCA1NSwgMzMsIDMsIDI2LCAxMTgsIDIzNiwgCi0gICAgNTUsIDMzLCA2LCAxLCAyMzYsIDU2LCAyLCAyNTEsIDc0LCAzMywgMywgMSwgMjM2LCA1NiwgMiwgMjUxLCA3NCwgMzMsIDYsIAotICAgIDEsIDIyMiwgMTEzLCAzMywgMywgMSwgMjIyLCAxMTMsIDMzLCA2LCAxLCAyMjIsIDExNCwgMiwgMjQ3LCAyMDksIDMzLCAzLCAKLSAgICAxLCAyMjIsIDExNCwgMiwgMjQ3LCAyMDksIDMzLCA2LCAxLCAyMTIsIDY4LCAyLCAyNDcsIDIwOSwgMzMsIDMsIDEsIDIxMiwgCi0gICAgNjgsIDIsIDI0NywgMjA5LCAzMywgNiwgMSwgMjEyLCA4OCwgMiwgMjQ3LCAyMDksIDMzLCAzLCAxLCAyMTIsIDg4LCAyLCAKLSAgICAyNDcsIDIwOSwgMzMsIDYsIDEsIDI1NCwgMTgwLCAyNDUsIDI0NywgMzMsIDMsIDEsIDI1NCwgMTgwLCAyNDUsIDI0NywgMzMsIAotICAgIDYsIDEsIDI0MCwgMTQ2LCAyLCAyMzIsIDM3LCAzMywgMywgMSwgMjQwLCAxNDYsIDIsIDIzMiwgMzcsIDMzLCA2LCAxLCAKLSAgICAyNDAsIDE0NiwgMiwgMjQ3LCAyMDksIDMzLCAzLCAxLCAyNDAsIDE0NiwgMiwgMjQ3LCAyMDksIDMzLCA2LCAxLCAxNTcsIDIsIAotICAgIDI0NywgMjA5LCAzMywgMywgMSwgMTU3LCAyLCAyNDcsIDIwOSwgMzMsIDYsIDEsIDI1MiwgNTQsIDc1LCAzMywgMywgMSwgCi0gICAgMjUyLCA1NCwgNzUsIDMzLCA2LCAxLCAyNTIsIDU0LCAxNTcsIDIsIDI0NywgMjA5LCAzMywgMywgMSwgMjUyLCA1NCwgMTU3LCAKLSAgICAyLCAyNDcsIDIwOSwgMzMsIDYsIDEsIDE5MSwgMiwgMjQ3LCAyMDksIDMzLCAzLCAxLCAxOTEsIDIsIDI0NywgMjA5LCAzMywgCi0gICAgNiwgMSwgMTExLCAyLCAyMzIsIDM3LCAzMywgMywgMSwgMTExLCAyLCAyMzIsIDM3LCAzMywgNiwgMSwgMTExLCAyLCAyNDcsIAotICAgIDIwOSwgMzMsIDMsIDEsIDExMSwgMiwgMjQ3LCAyMDksIDMzLCA2LCAxLCAxMTEsIDIsIDUxLCAxNzksIDMzLCAzLCAxLCAKLSAgICAxMTEsIDIsIDUxLCAxNzksIDMzLCA2LCAxLCAyNTAsIDY4LCAyLCAyNDcsIDIwOSwgMzMsIDMsIDEsIDI1MCwgNjgsIDIsIAotICAgIDI0NywgMjA5LCAzMywgNiwgMSwgMjQyLCAyMTMsIDIsIDI0NywgMjQ2LCAzMywgMywgMSwgMjQyLCAyMTMsIDIsIDI0NywgCi0gICAgMjQ2LCAzMywgNiwgMSwgMjEzLCAxOSwgMiwgMjQ3LCAyMDksIDMzLCAzLCAxLCAyMTMsIDE5LCAyLCAyNDcsIDIwOSwgMzMsIAotICAgIDYsIDEsIDI0MiwgMjEzLCAyLCAyMTksIDQ1LCAyNCwgMTAxLCAzMywgMywgMSwgMjQyLCAyMTMsIDIsIDIxOSwgNDUsIDI0LCAKLSAgICAxMDEsIDMzLCA2LCAxLCAyNDIsIDMwLCAyLCAxMDEsIDMzLCAzLCAxLCAyNDIsIDMwLCAyLCAxMDEsIDMzLCA2LCAxLCAyNDIsIAotICAgIDMwLCAyLCA5MCwgMzMsIDMsIDEsIDI0MiwgMzAsIDIsIDkwLCAzMywgNiwgMSwgMjM0LCAyMywgMjQ4LCA0MSwgMzMsIDMsIAotICAgIDEsIDIzNCwgMjMsIDI0OCwgNDEsIDMzLCA2LCAxLCAyMzQsIDIzLCAyNDcsIDExNCwgMzMsIDMsIDEsIDIzNCwgMjMsIDI0NywgCi0gICAgMTE0LCAzMywgNiwgMSwgMjM0LCAyMywgMjEyLCAyMCwgMzMsIDMsIDEsIDIzNCwgMjMsIDIxMiwgMjAsIDMzLCA2LCAxLCAKLSAgICAyMzQsIDIzLCAyNDUsIDI0MSwgMzMsIDMsIDEsIDIzNCwgMjMsIDI0NSwgMjQxLCAzMywgNiwgMSwgMjM0LCAyMywgMjMyLCAKLSAgICAyMTYsIDMzLCAzLCAxLCAyMzQsIDIzLCAyMzIsIDIxNiwgMzMsIDYsIDEsIDIzNCwgMjMsIDIyOSwgOSwgMzMsIDMsIDEsIAotICAgIDIzNCwgMjMsIDIyOSwgOSwgMzMsIDYsIDEsIDIzNCwgMjMsIDIyMCwgMzcsIDMzLCAzLCAxLCAyMzQsIDIzLCAyMjAsIDM3LCAKLSAgICAzMywgNiwgMSwgMjM0LCAyMywgMjE3LCAxMywgMzMsIDMsIDEsIDIzNCwgMjMsIDIxNywgMTMsIDMzLCA2LCAxLCAyMjMsIAotICAgIDIwMiwgMjEyLCA4NywgMzMsIDMsIDEsIDIyMywgMjAyLCAyMTIsIDg3LCAzMywgNiwgMSwgMjQ1LCAxMzIsIDIsIDEwMSwgCi0gICAgMzMsIDMsIDEsIDI0NSwgMTMyLCAyLCAxMDEsIDMzLCA2LCAxLCAyMzMsIDI1LCAzMywgMywgMSwgMjMzLCAyNSwgMzMsIDYsIAotICAgIDEsIDIyMywgMTkyLCAzMywgMywgMSwgMjIzLCAxOTIsIDMzLCA2LCAxLCAyMTMsIDgwLCAzMywgMywgMSwgMjEzLCA4MCwgCi0gICAgMzMsIDYsIDEsIDIyNCwgMjMyLCAzMywgMywgMSwgMjI0LCAyMzIsIDMzLCA2LCAxLCAyMTQsIDYsIDMzLCAzLCAxLCAyMTQsIAotICAgIDYsIDMzLCA2LCAxLCAyNTQsIDc1LCAxODEsIDMzLCAzLCAxLCAyNTQsIDc1LCAxODEsIDMzLCA2LCAxLCAyNDUsIDEzMiwgMiwgCi0gICAgMjMxLCAzNywgMTAxLCAzMywgMywgMSwgMjQ1LCAxMzIsIDIsIDIzMSwgMzcsIDEwMSwgMzMsIDYsIDEsIDI0NSwgMTA5LCAyLCAKLSAgICAyMzEsIDM3LCAxMDEsIDMzLCAzLCAxLCAyNDUsIDEwOSwgMiwgMjMxLCAzNywgMTAxLCAzMywgNiwgMSwgMjI2LCA5NywgMiwgCi0gICAgMjQ3LCAyNDYsIDMzLCAzLCAxLCAyMjYsIDk3LCAyLCAyNDcsIDI0NiwgMzMsIDYsIDEsIDIyMCwgMjE0LCAyLCAyNDcsIAotICAgIDI0NiwgMzMsIDMsIDEsIDIyMCwgMjE0LCAyLCAyNDcsIDI0NiwgMTQxLCA2LCAxLCAyNTMsIDgwLCAxNDEsIDYsIDEsIDI1MSwgCi0gICAgMjE2LCAxNDEsIDYsIDEsIDI0MiwgMTc5LCAxNDEsIDYsIDEsIDI0OCwgMTY0LCAxNDEsIDYsIDEsIDI0NSwgMTY5LCAxNDEsIAotICAgIDYsIDEsIDIxMiwgMTA5LCAxNDEsIDYsIDEsIDI0NSwgMTU0LCAxNDEsIDYsIDEsIDI0NSwgMzAsIDE0MSwgNiwgMSwgMTA4LCAKLSAgICAxNDEsIDYsIDEsIDIxMiwgNjcsIDE0MSwgNiwgMSwgMjM1LCAyMjQsIDE0MSwgNiwgMSwgMjMyLCAyMTksIDE0MSwgNiwgMSwgCi0gICAgMjEzLCAxNDgsIDE0MSwgNiwgMSwgMjUwLCAyMTksIDE0MSwgNiwgMSwgMjM0LCAxNzEsIDE0MSwgNiwgMSwgMjQxLCA1NCwgCi0gICAgMTQxLCA2LCAxLCAyMzUsIDEzOSwgMTQxLCA2LCAxLCAyNDIsIDIyMiwgMTQxLCA2LCAxLCAyNTAsIDYyLCAxNDEsIDYsIDEsIAotICAgIDIzMSwgMTIyLCAxNDEsIDYsIDEsIDIxMiwgMjU1LCAxNDEsIDYsIDEsIDIyOCwgMTUwLCAxNDEsIDYsIDEsIDIyMSwgMjQsIAotICAgIDE0MSwgNiwgMSwgMjE0LCAxMTksIDE0MSwgNiwgMSwgMjUwLCA5MiwgMTQxLCA2LCAxLCAyMjYsIDgwLCAxNDEsIDYsIDEsIAotICAgIDIzNSwgMTEyLCAxNDEsIDYsIDEsIDIwMywgMTQxLCA2LCAxLCAyMjIsIDgwLCAxNDEsIDYsIDEsIDIxNCwgMTU2LCAxNDEsIAotICAgIDYsIDEsIDIxNywgMTUsIDE0MSwgNiwgMSwgMjIzLCAyNDUsIDE0MSwgNiwgMSwgMjQ5LCAxNzUsIDE0MSwgNiwgMSwgMjEyLCAKLSAgICAyNDAsIDE0MSwgNiwgMSwgMjI1LCAxNzgsIDE0MSwgNiwgMSwgMjM0LCAxODIsIDE0MSwgNiwgMSwgMjI3LCA4OCwgMTQxLCAKLSAgICA2LCAxLCAyNDQsIDExMSwgMTQxLCA1OSwgMSwgNDIsIDE1MSwgMjIzLCAxMzAsIDE0MSwgMjUzLCAyMjYsIDE0MSwgMjQ1LCAKLSAgICAxMTIsIDc3LCAxNDEsIDI0NCwgMjU0LCA3NywgMTQxLCAyNDksIDE1NywgMTQxLCAyMjQsIDE1OCwgNzcsIDE0MSwgMjU0LCAKLSAgICAxODEsIDc3LCAxNDEsIDMsIDEsIDI1MywgODAsIDE0MSwgMywgMSwgMjUxLCAyMTYsIDE0MSwgMywgMSwgMjQyLCAxNzksIAotICAgIDE0MSwgMywgMSwgMjQ4LCAxNjQsIDE0MSwgMywgMSwgMjQ1LCAxNjksIDE0MSwgMywgMSwgMjEyLCAxMDksIDE0MSwgMywgMSwgCi0gICAgMjQ1LCAxNTQsIDE0MSwgMywgMSwgMjQ1LCAzMCwgMTQxLCAzLCAxLCAxMDgsIDE0MSwgMywgMSwgMjEyLCA2NywgMTQxLCAzLCAKLSAgICAxLCAyMzUsIDIyNCwgMTQxLCAzLCAxLCAyMzIsIDIxOSwgMTQxLCAzLCAxLCAyMTMsIDE0OCwgMTQxLCAzLCAxLCAyNTAsIAotICAgIDIxOSwgMTQxLCAzLCAxLCAyMzQsIDE3MSwgMTQxLCAzLCAxLCAyNDEsIDU0LCAxNDEsIDMsIDEsIDIzNSwgMTM5LCAxNDEsIAotICAgIDMsIDEsIDI0MiwgMjIyLCAxNDEsIDMsIDEsIDI1MCwgNjIsIDE0MSwgMywgMSwgMjMxLCAxMjIsIDE0MSwgMywgMSwgMjEyLCAKLSAgICAyNTUsIDE0MSwgMywgMSwgMjI4LCAxNTAsIDE0MSwgMywgMSwgMjIxLCAyNCwgMTQxLCAzLCAxLCAyMTQsIDExOSwgMTQxLCAKLSAgICAzLCAxLCAyNTAsIDkyLCAxNDEsIDMsIDEsIDIyNiwgODAsIDE0MSwgMywgMSwgMjM1LCAxMTIsIDE0MSwgMywgMSwgMjAzLCAKLSAgICAxNDEsIDMsIDEsIDIyMiwgODAsIDE0MSwgMywgMSwgMjE0LCAxNTYsIDE0MSwgMywgMSwgMjE3LCAxNSwgMTQxLCAzLCAxLCAKLSAgICAyMjMsIDI0NSwgMTQxLCAzLCAxLCAyNDksIDE3NSwgMTQxLCAzLCAxLCAyMTIsIDI0MCwgMTQxLCAzLCAxLCAyMjUsIDE3OCwgCi0gICAgMTQxLCAzLCAxLCAyMzQsIDE4MiwgMTQxLCAzLCAxLCAyMjcsIDg4LCAxNDEsIDMsIDEsIDI0NCwgMTExLCAxNDEsIDMsIDI2LCAKLSAgICAyNDUsIDE3MCwgMjEyLCAyNDAsIDE0MSwgMjQzLCAyMDAsIDIxOSwgNjksIDE0MSwgMjQwLCAxNjAsIDkzLCAyNTQsIDE3NSwgCi0gICAgMjQ1LCAyMywgOTMsIDI1NCwgMTc1LCAyMjIsIDgxLCA5MywgMjU0LCAxNzUsIDIyMSwgMTEsIDkzLCAyNTQsIDE3NSwgMjEyLCAKLSAgICA5NywgMjI0LCAyMTUsIDkzLCAyNTQsIDE3NSwgMjEyLCA5NywgMjQzLCAxMDAsIDkzLCAyNTQsIDE3NSwgMjE3LCAyOCwgOTMsIAotICAgIDI1NCwgMTc1LCAyMjMsIDIwMCwgOTMsIDI1NCwgMTc1LCAyMTIsIDk2LCA5MywgMjU0LCAxNzUsIDIyNiwgMTE4LCA5MywgCi0gICAgMjU0LCAxNzUsIDIxMywgMTEsIDkzLCAyNTQsIDE3NSwgMjE3LCAxNjcsIDkzLCAyNTQsIDE3NSwgMjQzLCAxNywgOTMsIAotICAgIDI1NCwgMTc1LCAyNDMsIDE4LCAyMzAsIDEzOSwgOTMsIDI1NCwgMTc1LCAyNDMsIDE1LCA5MywgMjU0LCAxNzUsIDIyNCwgCi0gICAgMjE2LCAyMjYsIDE0NCwgOTMsIDI1NCwgMTc1LCAyMTcsIDIwNiwgMjQzLCAzMiwgOTMsIDI1NCwgMTc1LCAyMjYsIDEwMCwgCi0gICAgOTMsIDI1NCwgMTc1LCAyNTMsIDExNiwgMjQyLCAyMiwgOTMsIDI1NCwgMTc1LCAyMzAsIDE0OSwgOTMsIDI1NCwgMTc1LCAKLSAgICAyMzIsIDEzLCA5MywgMjU0LCAxNzUsIDIzMSwgMTEzLCA5MywgMjU0LCAxNzUsIDIzMSwgMTE0LCAyMzQsIDE4MywgOTMsIAotICAgIDI1NCwgMTc1LCAyNDgsIDEwOCwgOTMsIDI1NCwgMTc1LCAyMjQsIDIyNywgOTMsIDI1NCwgMTc1LCAyMTcsIDIwNiwgMjI0LCAKLSAgICAyMTEsIDkzLCAyNTQsIDE3NSwgMjEzLCAyMSwgMjUxLCAyMTcsIDIxMiwgMjIxLCA5MywgMjU0LCAxNzUsIDIyNywgNzMsIAotICAgIDkzLCAyNTQsIDE3NSwgMjM2LCAxNCwgOTMsIDI1NCwgMTc1LCAyNDgsIDIxLCA5MywgMjU0LCAxNzUsIDIxMiwgMjYsIDkzLCAKLSAgICAxNTIsIDIzMSwgMjA2LCAyNDksIDIyOCwgOTMsIDIyNSwgMTQ1LCAyMjAsIDIxNiwgOTMsIDIyNSwgMTQ1LCAyNDEsIDIzMywgCi0gICAgMjIyLCA4MSwgOTMsIDIyNSwgMTQ1LCAyNDEsIDIzMywgMjI2LCAxMTIsIDkzLCAyMjUsIDE0NSwgMjQxLCAyMzMsIDIyNCwgCi0gICAgMjIwLCA5MywgMjI1LCAxNDUsIDI0MSwgMTQ0LCA5MywgMjI1LCAxNDUsIDIxNiwgMTM0LCA5MywgMjI1LCAxNDUsIDIyMiwgCi0gICAgODEsIDkzLCAyMjUsIDE0NSwgMjI2LCAxMTIsIDkzLCAyMjUsIDE0NSwgMjI0LCAyMjAsIDkzLCAyMjUsIDE0NSwgMjQxLCAKLSAgICA0NywgOTMsIDIyNSwgMTQ1LCAyNDEsIDQ4LCAyNDEsIDIzNSwgMzEsIDIxNCwgMjM2LCA5MywgMjI1LCAxNDUsIDIyNCwgCi0gICAgMTYyLCA5MywgMjI1LCAxNDUsIDI0OCwgMTUxLCAxNjcsIDIzMSwgMjM0LCA5MywgMjI1LCAxNDUsIDIzMSwgMTA1LCA5MywgCi0gICAgMjI1LCAyNywgMjMxLCAyMzEsIDkzLCAyMjUsIDE0NSwgMjI0LCA1OSwgOTMsIDIyNSwgMjcsIDIyNiwgMTIwLCA5MywgMjI1LCAKLSAgICAxNDUsIDIyMCwgMjAxLCAyNDcsIDc0LCA5MywgMjI1LCAxNDUsIDIyMCwgODUsIDI0NywgNzQsIDkzLCAyMjUsIDI3LCAyMTksIAotICAgIDIzNywgMjI2LCAxMTQsIDkzLCAxNTIsIDIxNSwgMTMxLCAyNDcsIDc0LCA5MywgMTUyLCAyMzIsIDE2MywgMjQ3LCA3NCwgCi0gICAgOTMsIDIyNSwgMjcsIDIyOCwgNTEsIDI0MiwgMjEsIDkzLCAyMjUsIDE0NSwgMjI0LCAyMjEsIDIyNCwgMjE1LCA5MywgMSwgCi0gICAgMjU0LCA3OCwgOTMsIDEsIDI1MSwgMjA1LCA5MywgMSwgMjQyLCAxNzcsIDkzLCAxLCAyNDgsIDEzNCwgOTMsIDEsIDI0MSwgCi0gICAgMjIyLCA5MywgMSwgMjE0LCAyMzYsIDkzLCAxLCAyMTIsIDkwLCA5MywgMSwgMjQxLCAxODIsIDkzLCAxLCAyMTcsIDE4MywgCi0gICAgOTMsIDEsIDIxMiwgMjI0LCA5MywgMSwgNDAsIDIzNCwgMjU0LCA5MywgMSwgMjM0LCAyNTQsIDkzLCAxLCAyMzMsIDExOCwgCi0gICAgOTMsIDEsIDQwLCAyMzEsIDEyOSwgOTMsIDEsIDIzMSwgMTI5LCA5MywgMSwgNDAsIDIyOCwgNTAsIDkzLCAxLCAyMjgsIDUwLCAKLSAgICA5MywgMSwgMjIyLCAxNjQsIDkzLCAxLCAyNTMsIDc4LCA5MywgMSwgNDAsIDIyNiwgOTYsIDkzLCAxLCAyMjYsIDk2LCA5MywgCi0gICAgMSwgNDAsIDIxNiwgMTM3LCA5MywgMSwgMjE2LCAxMzcsIDkzLCAxLCAyMjQsIDE4NCwgOTMsIDEsIDIyMywgMjE5LCA5MywgCi0gICAgMSwgMjIwLCAyMDAsIDkzLCAxLCAyMTcsIDI0NSwgOTMsIDI2LCAyMTIsIDI1MywgNTEsIDIxNCwgMjM2LCA5MywgMjYsIAotICAgIDIxMiwgMjUzLCAyMTQsIDIzNywgMjEyLCAyMjQsIDkzLCAyNiwgMjEyLCAyNTMsIDUxLCAyMTIsIDIyNCwgOTMsIDIyNSwgCi0gICAgMjcsIDI0MywgMTcsIDkzLCAyMjUsIDI3LCAyNDMsIDE1LCAxMiwgNTAsIDUyLCAxMiwgNSwgMjIyLCAxNTgsIDEyLCAyNDMsIAotICAgIDI1NSwgMjMxLCAyMTcsIDEyLCA1LCAyMjIsIDE5MiwgMjUzLCAyMDcsIDI0OSwgNTAsIDIyMywgOTUsIDI1MywgMjA3LCAKLSAgICAyNDMsIDIzMCwgMjIzLCA5NSwgMTIsIDIyNCwgMjcsIDI1MywgMjA3LCAyMjYsIDU4LCAyMzEsIDYsIDUyLCAyNTMsIDIwNywgCi0gICAgMjI2LCA1OCwgMjE3LCAyMDEsIDIxNywgMTAxLCA1MiwgMjU0LCAxMjYsIDUyLCAxMiwgMjQ5LCAxNTcsIDEyLCAyNDgsIDk2LCAKLSAgICAyMjEsIDU3LCAxMiwgMjI1LCAxNDcsIDIxNCwgMjE4LCA1MiwgMTIsIDUsIDIzMCwgMjQzLCAxMiwgNSwgMjIyLCAxNzQsIAotICAgIDI1NCwgODAsIDIxNCwgMjksIDEyLCA1LCAyNTQsIDgwLCAyNTMsIDEzNywgMTIsIDUsIDIyNCwgNTgsIDI1NCwgNzksIDEyLCAKLSAgICA1LCAyMjQsIDY1LCAyNTQsIDYxLCAyNTQsIDE0LCAxMiwgNSwgMjE4LCAyMCwgMTIsIDMsIDEyNCwgMjE4LCAyOSwgMTIsIDMsIAotICAgIDEyNCwgMjYsIDEwNiwgMiwgMjMzLCAxMjcsIDIsIDIxMywgMzQsIDEyLCAzLCAxMjQsIDIxMiwgMTAxLCAxMiwgMywgMjQ0LCAKLSAgICAxMzMsIDEyLCAzLCAyNDgsIDEyOSwgMTIsIDMsIDIzNCwgMjEwLCAxMiwgMjIxLCA3MCwgMTIsIDIxNiwgMTY5LCA2MiwgCi0gICAgMjI1LCAyNywgNzcsIDEyLCAyMjQsIDE1OCwgNzcsIDEyLCAxLCAyMzQsIDIxNCwgMjEzLCAzNCwgMTIsIDEsIDI0MiwgMiwgCi0gICAgMTIsIDEsIDEwNiwgMiwgMjMyLCAzMywgNDksIDEyLCAxLCAxMDYsIDIsIDE5MiwgNDksIDEyLCAxLCAyMTQsIDE1LCAyLCAKLSAgICAxOTIsIDQ5LCAxMiwgMSwgMTA2LCAyLCAxOTIsIDU1LCAxMiwgMSwgNzMsIDIsIDE5MiwgNDksIDEyLCAxLCAyNTQsIDc4LCAKLSAgICAxMiwgMSwgMjUxLCAyMzAsIDEyLCAxLCAyMTcsIDIxNiwgMjMxLCAyMjcsIDEyLCAxLCAyMTcsIDIxNSwgMTIsIDEsIDIxNywgCi0gICAgMTQ1LCAxMiwgMSwgMjM1LCAxMjQsIDEyLCAxLCAyNDIsIDE4LCAxMiwgMSwgMjM0LCAxMzUsIDEyLCAxLCAyNDgsIDE0MCwgCi0gICAgMTIsIDEsIDIxNywgMTU1LCAxMiwgMSwgMjIzLCAyNDUsIDEyLCAxLCAyMTIsIDEwMSwgMTIsIDEsIDIyMiwgODUsIDEyLCAxLCAKLSAgICAyMjAsIDIzOSwgMTIsIDEsIDIyMiwgMTk1LCAxMiwgMSwgMjQ4LCAxNTksIDEyLCAxLCAyMTgsIDI5LCAxMiwgMSwgMjEyLCAKLSAgICAxMDQsIDEyLCAxLCAyNTQsIDEwMywgMTIsIDEsIDI0MiwgMjIwLCAxMiwgMSwgMjM0LCAxODEsIDIsIDExNywgMTc2LCA0OSwgCi0gICAgMTIsIDEsIDIzNCwgMTgxLCAyLCAxMzMsIDE3NiwgNTUsIDEyLCAxLCAyNDQsIDEzNiwgNzMsIDIsIDIzNSwgMTkxLCAyMTUsIAotICAgIDc5LCAxMiwgMSwgMjQ0LCAxMzYsIDczLCAyLCAxMTcsIDE3NiwgNDksIDEyLCAxLCAyNDQsIDEzNiwgNzMsIDIsIDEzMywgCi0gICAgMTc2LCA0OSwgMTIsIDIxNywgMjUwLCAxMiwgMSwgMjQ0LCAxMTEsIDEyLCAxLCAyMjQsIDIyNSwgMTIsIDEsIDIzNCwgMjU0LCAKLSAgICAxMiwgMSwgMjMzLCAxMjYsIDEyLCAxLCAyMzEsIDE0MywgMTIsIDEsIDIyOCwgMTczLCAxMiwgMSwgMjQxLCAyMDIsIDEyLCAKLSAgICAxLCAyMTQsIDE0LCAxMiwgMSwgMTA2LCAyMzEsIDI1NSwgMTIsIDEsIDIxMywgMzQsIDEyLCAyNDQsIDEzMSwgMTIsIDI0OCwgCi0gICAgMTI3LCAxMiwgMjM0LCAyMDgsIDEyLCAyNDQsIDEzMywgMTIsIDI0OCwgMTI5LCAxMiwgMjM0LCAyMTAsIDEyLCAyMjEsIDE1LCAKLSAgICAxMiwgMjE4LCAyNDYsIDEyLCAyMzIsIDMxLCA0OSwgMTIsIDE5MiwgNDksIDEyLCAxOTIsIDU1LCAxMiwgMjE5LCAxMCwgCi0gICAgMjU0LCA3OCwgMTIsIDIzNSwgMTkxLCAyNDgsIDEyOSwgMTIsIDE1MiwgMjI4LCAxNzQsIDI0MiwgMTk0LCAxMiwgMjExLCAKLSAgICAyNTAsIDEyLCAzMCwgNSwgMywgMjE1LCA4MCwgNDksIDEyLCAzMCwgNSwgMjM1LCAxOTEsIDMsIDIxNSwgODAsIDQ5LCAxMiwgCi0gICAgMzAsIDUsIDYyLCA1NSwgMTIsIDIyMywgMjAyLCAyNDgsIDEyOSwgMTIsIDI0NCwgMTM0LCAyLCAxMTcsIDI0NywgNzIsIDEyLCAKLSAgICAyMTQsIDE2LCAxOTIsIDU1LCAyNTMsIDIwNywgMjEsIDIxMiwgNzksIDI1MywgMjA3LCAyMSwgMTE2LCAyNTMsIDIwNywgMjEsIAotICAgIDEwOSwgMjUzLCAyMDcsIDIxLCAxNjYsIDI1MywgMjA3LCAyMSwgMTYzLCAyNTMsIDIwNywgMjEsIDE4MCwgMjUzLCAyMDcsIAotICAgIDIxLCAxODksIDI1MywgMjA3LCAyMSwgMTk4LCAyNTMsIDIwNywgMjEsIDE5NSwgMjUzLCAyMDcsIDIxLCAyMDAsIDEyLCAKLSAgICAyMjYsIDU3LCA1MiwgMTIsIDI0OCwgMzQsIDIyMSwgNTcsIDEyLCAyMTcsIDk5LCAyMjEsIDU3LCAxMiwgMjQ0LCA1MCwgCi0gICAgMjI1LCAxNDMsIDIxOSwgOTUsIDEyLCAxLCAyNDcsIDczLCAyNTEsIDIzMCwgMTIsIDEsIDI0NywgNzMsIDIyNCwgMjI1LCAKLSAgICAxMiwgMSwgMjE4LCAyMjMsIDI1NCwgNzgsIDEyLCAxLCAxMDYsIDIxNCwgMzAsIDEyLCAxLCAxMDYsIDIsIDIxNCwgMTYsIAotICAgIDE5MiwgNDksIDEyLCAxLCAxMDYsIDIsIDIxNCwgMTYsIDE5MiwgNTUsIDEyLCAxLCAxMjQsIDI0MiwgMiwgMTIsIDEsIDEyNCwgCi0gICAgMTkyLCAyNTQsIDc4LCAxMiwgMSwgMTI0LCAxOTIsIDIxNCwgMTQsIDEyLCAxLCAxMTEsIDIsIDE5MiwgNDksIDEyLCAxLCAKLSAgICAxMjQsIDE5MiwgMjEzLCAzNCwgMTIsIDEsIDIxNiwgMTA5LCAxMiwgMSwgMjE2LCAxMDcsIDEyLCAxLCAyNTEsIDI0MCwgMTIsIAotICAgIDEsIDIxNywgMjE2LCAyLCAyMjMsIDEzMCwgMTIsIDEsIDIxNywgMjE2LCAyLCAxMzMsIDE3NiwgNzgsIDI0NiwgNTcsIDEyLCAKLSAgICAxLCAyMjYsIDgwLCAxMiwgMSwgMjE3LCAyMTMsIDEyLCAxLCAyNTEsIDIyOCwgMTIsIDEsIDEyMSwgMiwgMTkyLCA0OSwgMTIsIAotICAgIDEsIDEyMSwgMiwgMTE3LCAxNzYsIDcxLCA0OSwgMTIsIDEsIDIyOCwgMTQsIDEyLCAxLCAyNDUsIDI1NCwgMTIsIDEsIDEyMSwgCi0gICAgMiwgMTMzLCAxNzYsIDQ5LCAxMiwgMSwgMjE3LCAyMzMsIDEyLCAxLCAyMTcsIDIzMSwgMTIsIDEsIDI0OCwgODEsIDEyLCAxLCAKLSAgICAyNDgsIDE0MSwgMiwgMjIzLCAxMzAsIDEyLCAxLCAyNDgsIDE0MSwgMiwgNjIsIDU1LCAxMiwgMSwgMjQ4LCAxNDEsIDIsIAotICAgIDYyLCAyNTEsIDIyMCwgMjQsIDMsIDIxOCwgMjksIDEyLCAxLCAyNDgsIDE0NiwgMTIsIDEsIDI0OCwgODMsIDEyLCAxLCAKLSAgICAyNDYsIDI1LCAxMiwgMSwgMjQ4LCAxNDEsIDIsIDEzMywgMTc2LCA3OCwgMjQ2LCA1NywgMTIsIDEsIDI0OCwgMTQxLCAyLCAKLSAgICAyNDMsIDIzNywgMTc2LCA0OSwgMTIsIDEsIDIyMywgNzcsIDEyLCAxLCAyMjMsIDI0NiwgMiwgMywgMjE1LCA3OSwgMTIsIDEsIAotICAgIDIyMywgMjQ2LCAyLCAyMjMsIDEzMCwgMTIsIDEsIDIyMywgMjQ2LCAyLCA2MiwgNTUsIDEyLCAxLCAyMjMsIDI0NiwgMiwgMywgCi0gICAgMjE1LCA4MCwgNTUsIDEyLCAxLCAyMjMsIDI0NiwgMiwgNjIsIDI1MSwgMjIwLCAyNCwgNjIsIDQ5LCAxMiwgMSwgMjIzLCAKLSAgICAyNDYsIDIsIDExNywgMTc2LCA0OSwgMTIsIDEsIDIzNSwgMTIxLCAxMiwgMSwgMjIzLCAyNDYsIDIsIDI0MywgMjM3LCAxNzYsIAotICAgIDQ5LCAxMiwgMSwgMjIyLCA4NiwgMiwgNjIsIDI1MSwgMjIwLCAyNCwgNjIsIDQ5LCAxMiwgMSwgMjIyLCA4NiwgMiwgMTMzLCAKLSAgICAxNzYsIDU1LCAxMiwgMSwgMjIyLCA4NiwgMiwgMTMzLCAxNzYsIDI1MSwgMjIwLCAyNCwgMTMzLCAxNzYsIDQ5LCAxMiwgMSwgCi0gICAgMjIyLCAxOTYsIDIsIDExNywgMTc2LCA1NSwgMTIsIDEsIDIyMiwgMTk2LCAyLCAxMzMsIDE3NiwgNDksIDEyLCAxLCAyMTgsIAotICAgIDMwLCAyLCAxMzMsIDE3NiwgNDksIDEyLCAxLCAyNTQsIDEwNCwgMiwgMTMzLCAxNzYsIDQ5LCAxMiwgMSwgMjQ3LCA3MywgCi0gICAgMjQ0LCAxMTEsIDEyLCAxLCAyNDQsIDExMiwgMiwgNjIsIDIzMCwgMTc5LCA1NSwgMTIsIDEsIDI0NCwgMTEyLCAyLCA2MiwgCi0gICAgNTUsIDEyLCAxLCAyMTQsIDIyNSwgMTIsIDEsIDI0NCwgMTEyLCAyLCAxMzMsIDE3NiwgNTUsIDEyLCAxLCAyMjYsIDc4LCAKLSAgICAxMiwgMSwgMjI0LCAyMjYsIDIsIDYyLCA0OSwgMTIsIDEsIDIyNCwgMjI2LCAyLCAxMzMsIDE3NiwgNDksIDEyLCAxLCAyMzQsIAotICAgIDE4MCwgMTIsIDEsIDIxOCwgMTk1LCAyMzQsIDI1NCwgMTIsIDEsIDIzNCwgMjU1LCAyLCAyMjMsIDEzMCwgMTIsIDEsIDIzNCwgCi0gICAgMjU1LCAyLCA2MiwgNDksIDEyLCAxLCAyMjksIDE2MSwgMTIsIDEsIDIzNCwgMjU1LCAyLCAxMzMsIDE3NiwgNTUsIDEyLCAxLCAKLSAgICAyNDMsIDk3LCAxMiwgMSwgMjQzLCA5OCwgMiwgMjIzLCAxMzAsIDEyLCAxLCAyMjksIDg4LCAxMiwgMSwgMjQzLCA5OCwgMiwgCi0gICAgMTE3LCAxNzYsIDU1LCAxMiwgMSwgMjQyLCA4MiwgMTIsIDEsIDI0MywgOTgsIDIsIDEzMywgMTc2LCA0OSwgMTIsIDEsIAotICAgIDIzMywgMTI3LCAyLCAzLCAyMTUsIDc5LCAxMiwgMSwgMjMzLCAxMjcsIDIsIDYyLCA0OSwgMTIsIDEsIDIzMywgMTI3LCAyLCAKLSAgICAxMzMsIDE3NiwgNDksIDEyLCAxLCAyMzMsIDEyNywgMiwgMTMzLCAxNzYsIDU1LCAxMiwgMSwgMjI4LCAxNzQsIDIsIDYyLCAKLSAgICA1NSwgMTIsIDEsIDIyOCwgMTc0LCAyNDIsIDE5NCwgMTIsIDEsIDIyMywgMTE1LCAxMiwgMSwgMjI4LCAxNzQsIDIsIDIyMywgCi0gICAgMTMwLCAxMiwgMSwgMjI4LCAxNzQsIDIsIDEzMywgMTc2LCA0OSwgMTIsIDEsIDI0MSwgMjAzLCAyNDcsIDk1LCAxMiwgMSwgCi0gICAgMjE3LCAyMzQsIDIsIDYyLCA0OSwgMTIsIDEsIDI0MSwgMjAzLCAyLCA3MywgNDksIDEyLCAxLCAyNDEsIDIwMywgMjQyLCAKLSAgICAxNDcsIDEyLCAxLCAyNDEsIDIwMywgMjQyLCAxNDgsIDIsIDE5MiwgNDksIDEyLCAxLCAyMTcsIDIxNiwgMjMxLCAyMjgsIAotICAgIDI0MiwgMTQ3LCAxMiwgMSwgMjE0LCAxNSwgMiwgMjIzLCAxMzAsIDEyLCAxLCAyMzQsIDgyLCAyMjcsIDk5LCAxMiwgMSwgCi0gICAgMjI3LCA5OSwgMTIsIDEsIDY5LCAxMiwgMSwgMjEyLCAyMDMsIDEyLCAxLCAyMzQsIDgyLCAyMTIsIDIwMywgMTIsIDEsIAotICAgIDIxNCwgMTUsIDIsIDExNywgMTc2LCA0OSwgMTIsIDEsIDIxNCwgMjMyLCAxMiwgMSwgMjQ0LCAxMzYsIDIxMywgMzQsIDEyLCAKLSAgICAxLCA3MywgMiwgMjE4LCAyNywgMTIsIDEsIDczLCAyLCAzLCAyMTUsIDc5LCAxMiwgMSwgMjE0LCAxNSwgMiwgNjIsIDQ5LCAKLSAgICAxMiwgMSwgNzQsIDEyLCAxLCA3MywgMiwgMTMzLCAxNzYsIDU1LCAxMiwgMSwgNzMsIDI1MiwgNTIsIDEyLCAxLCA3MywgCi0gICAgMjUyLCA1MywgMiwgMTkyLCA0OSwgMTIsIDI0MywgMjAwLCAyMTksIDY5LCAxMiwgMSwgMjU0LCAxNDgsIDEyLCAzLCAxMjQsIAotICAgIDI2LCAyMjIsIDE5NiwgMiwgMjMzLCAxMjcsIDIsIDEwNiwgMjMxLCAyNTUsIDEyLCAzLCAxMjQsIDI2LCAyMjQsIDIyNiwgMiwgCi0gICAgMjMzLCAxMjcsIDIsIDEwNiwgMjMxLCAyNTUsIDEyLCAzLCAxMjQsIDYzLCA3MCwgMTcsIDEyLCAzLCAxMjQsIDIzMywgMTI3LCAKLSAgICAyNTQsIDc4LCAxMiwgMywgMTI0LCAyMzUsIDEyNCwgMTIsIDMsIDEyNCwgMTMzLCAyNDcsIDcyLCAxMiwgMywgMTI0LCAyMjIsIAotICAgIDg1LCAxMiwgMjQ1LCAxMDEsIDY1LCAyNTMsIDgyLCAxMiwgMjE5LCA5MSwgNjUsIDIyMywgNDksIDI0NSwgMTMyLCAyNDEsIAotICAgIDE0MSwgMTIsIDMsIDEyNCwgMjIzLCA4NSwgMjEyLCA3OSwgMTIsIDMsIDEyNCwgMjE1LCAxMzAsIDIyNCwgOCwgMjEyLCA3OSwgCi0gICAgMTIsIDMsIDEyNCwgMjQ3LCA3MywgMjQxLCAyMjAsIDY1LCAyMzQsIDEzNSwgMTIsIDMsIDEyNCwgNjMsIDQ4LCAxNywgMTIsIAotICAgIDMsIDExNSwgMjIyLCA4NSwgMTIsIDMsIDEyNCwgMjMyLCAzMiwgMTIsIDMsIDIxNCwgMTQsIDEyLCAzLCAyMTMsIDM0LCAxMiwgCi0gICAgMywgMTI0LCAyMTMsIDM0LCAxMiwgMywgMTI0LCAyMjgsIDE3MywgMTIsIDIyNSwgMTczLCA2NSwgMjIyLCAxODQsIDEyLCAKLSAgICAyNDUsIDExMCwgMjUwLCAxMDksIDExNSwgMjE5LCA2OSwgMTIsIDI0NSwgMTEwLCAyNTAsIDEwOSwgMTI0LCAyMTksIDY5LCAKLSAgICAxMiwgMjIzLCA4NSwgMTI0LCAyMTksIDcwLCAyLCAyNDQsIDczLCAyNTAsIDEwOCwgMTIsIDMsIDExNSwgMjMxLCAxNDMsIAotICAgIDEyLCAxLCAyNDgsIDE0MSwgMiwgMjM1LCAxOTEsIDIxNSwgNzksIDEyLCAxLCAyMjMsIDI0NiwgMiwgMjM1LCAxOTEsIDIxNSwgCi0gICAgNzksIDI0NCwgMjQ2LCAyNTMsIDIwNywgMjEsIDIxMiwgNzksIDI0NCwgMjQ2LCAyNTMsIDIwNywgMjEsIDExNiwgMjQ0LCAKLSAgICAyNDYsIDI1MywgMjA3LCAyMSwgMTA5LCAyNDQsIDI0NiwgMjUzLCAyMDcsIDIxLCAxNjYsIDI0NCwgMjQ2LCAyNTMsIDIwNywgCi0gICAgMjEsIDE2MywgMjQ0LCAyNDYsIDI1MywgMjA3LCAyMSwgMTgwLCAyNDQsIDI0NiwgMjUzLCAyMDcsIDIxLCAxODksIDI0NCwgCi0gICAgMjQ2LCAyNTMsIDIwNywgMjEsIDE5OCwgMjQ0LCAyNDYsIDI1MywgMjA3LCAyMSwgMTk1LCAyNDQsIDI0NiwgMjUzLCAyMDcsIAotICAgIDIxLCAyMDAsIDEyLCAxLCAyMjAsIDI0MCwgMiwgNjIsIDU1LCAxMiwgMSwgMjQ4LCAxNjAsIDIsIDYyLCA1NSwgMTIsIDEsIAotICAgIDI0MiwgMjIxLCAyLCA2MiwgNTUsIDEyLCA1LCAyMjAsIDg0LCAyNTQsIDM1LCAxMiwgNSwgMjIwLCA4NCwgMjI1LCAxMTUsIAotICAgIDIzMSwgMTIyLCAxMiwgMSwgMjQxLCAyMDMsIDIsIDIzNSwgMTkxLCAyMTUsIDc5LCAxNzUsIDI0NSwgMTAxLCA2NSwgMjI2LCAKLSAgICAxNDIsIDE3NSwgMjE4LCAyMTksIDI0MywgMjAwLCAyMTksIDY5LCAxNzUsIDIxOSwgMTIsIDI0MywgMjAwLCAyMTksIDY5LCAKLSAgICAxNzUsIDIxOCwgMjE5LCAyNDksIDE2NCwgMTc1LCAyMTksIDEyLCAyNDksIDE2NCwgMTc1LCAxOTksIDI0OSwgMTY0LCAxNzUsIAotICAgIDI0OSwgMTY1LCAyMjAsIDM0LCAyMzMsIDcwLCAxNzUsIDI0OSwgMTY1LCAyMjAsIDM0LCAyMjMsIDE0OCwgMTc1LCAyMTgsIAotICAgIDIxOSwgMjQ5LCAxNjUsIDIyMCwgMzQsIDIzMywgNzAsIDE3NSwgMjE5LCAxMiwgMjQ5LCAxNjUsIDIyMCwgMzQsIDIyMywgCi0gICAgMTQ4LCAxNzUsIDI0OSwgMTE5LCAxNzUsIDI0MSwgMjQwLCAyMjcsIDExNCwgMTc1LCAyNDEsIDI0MCwgMjMxLCAxMDMsIAotICAgIDE3NSwgMjQxLCAyNDAsIDI1MywgMTM0LCAxNzUsIDI1NCwgMTgxLCA3NywgMTc1LCAxLCAyNTQsIDgyLCAxNzUsIDEsIDIxOCwgCi0gICAgMjIzLCAyNTQsIDgyLCAxNzUsIDEsIDI1MSwgMjAyLCAxNzUsIDEsIDI0MywgODksIDE3NSwgMSwgMjQzLCA5MCwgMjQzLCAKLSAgICA2NywgMTc1LCAxLCAyNDgsIDEzNywgMTc1LCAxLCAyNDcsIDczLCAyNDgsIDEzOCwgMjIzLCAxMjYsIDE3NSwgMSwgMjQxLCAKLSAgICAyMjIsIDE3NSwgMSwgMjE0LCAxNCwgMTc1LCAxLCAyMTIsIDEwMSwgMTc1LCAxLCAyNDEsIDE4MCwgMTc1LCAxLCAyMTcsIAotICAgIDE3OSwgMTc1LCAxLCAyMTcsIDE4MCwgMjQzLCA2NywgMTc1LCAxLCAyMTIsIDE5MCwgMTc1LCAxLCAyMTIsIDE5MSwgMjQxLCAKLSAgICAyMjIsIDE3NSwgMSwgMjM0LCAyMzAsIDE3NSwgMSwgMjMzLCAxMjUsIDE3NSwgMSwgMjMxLCAzLCAxNzUsIDEsIDIyOCwgNTAsIAotICAgIDE3NSwgMSwgMjIxLCA2MywgMTc1LCAxLCA0MCwgMjIxLCA2MywgMTc1LCAxLCA3NCwgMTc1LCAxLCAyMjYsIDk2LCAxNzUsIAotICAgIDEsIDIyMywgMjAyLCAyMjYsIDk2LCAxNzUsIDEsIDIyMiwgMTkzLCAxNzUsIDEsIDIyNCwgMjE5LCAxNzUsIDEsIDIyMywgCi0gICAgMTI2LCAxNzUsIDEsIDIyMCwgMjAwLCAxNzUsIDEsIDIxNywgMjQzLCAxNzUsIDEsIDIyNiwgNDUsIDI1MSwgMTkwLCAxNzUsIAotICAgIDEsIDIyNiwgNDUsIDI0MiwgMjE4LCAxNzUsIDEsIDIyNiwgNDUsIDI0NywgMjI4LCAxNzUsIDIyNSwgMzYsIDQ5LCAxNzUsIAotICAgIDIyNSwgMzYsIDU1LCAxNzUsIDIyNSwgMzYsIDI0NiwgNzEsIDE3NSwgMjEyLCAxMCwgNDksIDE3NSwgMjEyLCAxMCwgNTUsIAotICAgIDE3NSwgMjEyLCAxMCwgMjQ2LCA3MSwgMTc1LCAyMjQsIDI0LCA0OSwgMTc1LCAyMjQsIDI0LCA1NSwgMTc1LCAyNDYsIDcyLCAKLSAgICAyMTIsIDE3LCAyNDEsIDMxLCAxNzUsIDI0NiwgNzIsIDIxMiwgMTcsIDI1NCwgMTUsIDE3NSwgMjQxLCAyMjUsIDQ5LCAxNzUsIAotICAgIDI0MSwgMjI1LCA1NSwgMTc1LCAyNDEsIDIyNCwgMjQ2LCA3MSwgMTc1LCAyNDUsIDQzLCA0OSwgMTc1LCAyNDUsIDQzLCA1NSwgCi0gICAgMTc1LCAyMjMsIDE5LCAxNzUsIDI0NCwgMTA1LCAyNDcsIDc0LCAxNzUsIDIyNCwgMTM3LCAxNzUsIDIyMywgNDUsIDE3NSwgCi0gICAgMTE3LCA3MSwgMTc2LCA0OSwgMTc1LCAxMTcsIDcxLCAxNzYsIDU1LCAxNzUsIDEzMywgMTc2LCA0OSwgMTc1LCAxMzMsIAotICAgIDE3NiwgNTUsIDE3NSwgMjI3LCAxMTIsIDIzMiwgMjQzLCA0OSwgMTc1LCAyMjcsIDExMiwgMjMyLCAyNDMsIDU1LCAxNzUsIAotICAgIDIzMCwgMTI2LCAxNzUsIDI1MiwgNTEsIDE3NSwgMSwgMjE5LCAyMzMsIDIxMiwgNzMsIDE3NSwgMSwgMjE5LCAyMzMsIDIzNCwgCi0gICAgMTI4LCAxNzUsIDEsIDIxOSwgMjMzLCAyNDQsIDEyMywgMTIsIDEsIDI1MSwgMjMxLCAyLCAxMzMsIDE3NiwgMjQwLCAyMzcsIAotICAgIDU1LCAxMiwgMSwgMjUxLCAyMzEsIDIsIDYyLCAyNTEsIDIyMCwgMjQsIDEzMywgMTc2LCA0OSwgMTIsIDEsIDI1MSwgMjMxLCAKLSAgICAyLCAxMzMsIDE3NiwgMjI1LCAxNDEsIDIxNSwgMTI0LCA1NSwgMTIsIDEsIDI1MSwgMjMxLCAyLCAxMzMsIDE3NiwgMjI1LCAKLSAgICAxNDEsIDIxNSwgMTI0LCAyNTEsIDIyMCwgMjQsIDExNywgMTc2LCA0OSwgMTIsIDEsIDI1MSwgMjMxLCAyLCAxMTcsIDE3NiwgCi0gICAgMjUxLCAyMjAsIDI0LCA2MiwgNDksIDEyLCAxLCAyNTEsIDIzMSwgMiwgMjM1LCAxOTEsIDMsIDIxNSwgODAsIDU1LCAxMiwgCi0gICAgMSwgMjUxLCAyMzEsIDIsIDMsIDIxNSwgNzksIDEyLCAxLCAxMjEsIDIsIDExNywgMTc2LCA0OSwgMTIsIDEsIDEyMSwgMiwgCi0gICAgMTMzLCAxNzYsIDIyNSwgMTQxLCAyMTUsIDEyNCwgNTUsIDEyLCAxLCAyNDgsIDE0MSwgMiwgMTE3LCAxNzYsIDIxNCwgMTY2LCAKLSAgICAyNTEsIDIyMCwgMjQsIDMsIDIxOCwgMjksIDEyLCAxLCAyNDgsIDE0MSwgMiwgMjM1LCAxOTEsIDMsIDIxNSwgODAsIDU1LCAKLSAgICAxMiwgMSwgMjIzLCAyNDYsIDIsIDkwLCAxMiwgMSwgMjIyLCA4NiwgMiwgMjQzLCAyMzcsIDE3NiwgNDksIDEyLCAxLCAyNTQsIAotICAgIDEwNCwgMiwgMTE3LCAxNzYsIDQ5LCAxMiwgMSwgMjU0LCAxMDQsIDIsIDEzMywgMTc2LCAyMjUsIDE0MSwgMjQ2LCA1OCwgCi0gICAgNDksIDEyLCAxLCAyNTQsIDEwNCwgMiwgMTE3LCAxNzYsIDIxNCwgMTY2LCA0OSwgMTIsIDEsIDI0NCwgMTEyLCAyLCAxMTcsIAotICAgIDE3NiwgNTUsIDEyLCAxLCAyNDQsIDExMiwgMiwgMTMzLCAxNzYsIDIyNSwgMTQxLCAyMTUsIDEyNCwgNTUsIDEyLCAxLCAKLSAgICAyMzQsIDE4MSwgMiwgNjIsIDQ5LCAxMiwgMSwgMjM0LCAxODEsIDIsIDEzMywgMTc2LCA0OSwgMTIsIDEsIDIzNCwgMTgxLCAKLSAgICAyLCAxMzMsIDE3NiwgMjI1LCAxNDEsIDIxNSwgMTI0LCA1NSwgMTIsIDEsIDYzLCAyLCA2MiwgNDksIDEyLCAxLCA2MywgMiwgCi0gICAgNjIsIDU1LCAxMiwgMSwgMjI4LCAxNzQsIDIsIDExNywgMTc2LCA1NSwgMTIsIDEsIDIyOCwgMTc0LCAyLCAzLCAyMTgsIDI5LCAKLSAgICAxMiwgMSwgMjI4LCAxNzQsIDIsIDMsIDIxNSwgNzksIDEyLCAxLCAyMzMsIDEyNywgMiwgMTM0LCAxMiwgMSwgMjIzLCAyNDYsIAotICAgIDIsIDExNywgMTc2LCAyMTQsIDE2NiwgNDksIDEyLCAxLCAyMjMsIDI0NiwgMiwgMTkyLCA0OSwgMTIsIDEsIDIyMiwgODYsIAotICAgIDIsIDExNywgMTc2LCAyMTQsIDE2NiwgNDksIDEyLCAxLCAxMjEsIDIsIDMsIDEyLCAxLCAyMTgsIDMwLCA1NSwgMTIsIDEsIAotICAgIDEyMSwgMiwgMywgMTIsIDEsIDIxOCwgMzAsIDI0LCAxMTcsIDI0NywgNzIsIDEyLCAxLCAyMjIsIDg2LCAyLCAzLCAxMiwgMSwgCi0gICAgMjE4LCAzMCwgMjQsIDExNywgMjQ3LCA3MiwgMTIsIDEsIDIyMywgMjQ2LCAyLCAzLCAxMiwgMSwgMjE4LCAzMCwgMjQsIAotICAgIDExNywgMjQ3LCA3MiwgMTIsIDEsIDEyMSwgMiwgMywgMTIsIDEsIDIxOCwgMzAsIDQ5LCAxMiwgMSwgMTA2LCAyLCAyNDQsIAotICAgIDI0NiwgMjUzLCAyMDcsIDIxLCAxMTcsIDQ5LCAxMiwgMSwgMTA2LCAyLCAyNDQsIDI0NiwgMjUzLCAyMDcsIDIxLCAxMzMsIAotICAgIDQ5LCAxMiwgMSwgMjQ0LCAxMzYsIDczLCAyLCAyNDQsIDI0NiwgMjUzLCAyMDcsIDIxLCAxMTcsIDQ5LCAxMiwgMSwgMjQ0LCAKLSAgICAxMzYsIDczLCAyLCAyNDQsIDI0NiwgMjUzLCAyMDcsIDIxLCAxMzMsIDQ5LCAxMiwgMSwgMjQ0LCAxMzYsIDczLCAyLCAyNDQsIAotICAgIDI0NiwgMjUzLCAyMDcsIDIxLCAyNDMsIDIzNywgNTUsIDEyLCAxLCAyMTQsIDE1LCAyLCAyNDQsIDI0NiwgMjUzLCAyMDcsIAotICAgIDIxLCAxMTcsIDQ5LCAxMiwgMSwgMjE0LCAxNSwgMiwgMjQ0LCAyNDYsIDI1MywgMjA3LCAyMSwgMTMzLCA0OSwgMTIsIDEsIAotICAgIDczLCAyNTIsIDUzLCAyLCAyNDQsIDI0NiwgMjUzLCAyMDcsIDIxLCAxMTcsIDQ5LCAxMiwgMSwgNzMsIDI1MiwgNTMsIDIsIAotICAgIDI0NCwgMjQ2LCAyNTMsIDIwNywgMjEsIDEzMywgNDksIDEyLCAxLCAxMjEsIDIsIDI0NCwgMjQ2LCAyNTMsIDIwNywgMjEsIAotICAgIDI0MywgMjM3LCA1NSwgMTIsIDEsIDIyMiwgODYsIDIsIDI0NCwgMjQ2LCAyNTMsIDIwNywgMjEsIDI0MywgMjM3LCA0OSwgCi0gICAgMTIsIDEsIDIyMiwgODYsIDIsIDIzNSwgMTkxLCAyMTUsIDc5LCAxMiwgMSwgMjM0LCAyNTUsIDIsIDExNywgMTc2LCA0OSwgCi0gICAgMjE3LCAxNTgsIDEsIDI0MiwgMjcsIDIxNywgMTU4LCAxLCAyMjAsIDI0OCwgMjE3LCAxNTgsIDEsIDIyOCwgMTcyLCAyMTcsIAotICAgIDE1OCwgMSwgMjI0LCA3NCwgMjE3LCAxNTgsIDEsIDI1MiwgMTA2LCAyMTcsIDE1OCwgMSwgMjMzLCAyMiwgMjE3LCAxNTgsIAotICAgIDEsIDIzNSwgMTIsIDIxNywgMTU4LCAxLCAyNTQsIDY4LCAyMTcsIDE1OCwgMSwgMjE0LCAyNTUsIDIxNywgMTU4LCAxLCAKLSAgICAyMzEsIDE0MiwgMjE3LCAxNTgsIDEsIDI0NCwgMTYyLCAyMTcsIDE1OCwgMSwgMjQ3LCAyMzEsIDIxNywgMTU4LCAxLCAyMTcsIAotICAgIDE2MCwgMjE3LCAxNTgsIDEsIDIzMywgMTUzLCAyMTcsIDE1OCwgMSwgMjQzLCAxMDYsIDIxNywgMTU4LCAxLCAyNDIsIDE1MywgCi0gICAgMjE3LCAxNTgsIDEsIDIyMiwgODQsIDIxNywgMTU4LCAxLCAyNDgsIDk0LCAyMTcsIDE1OCwgMSwgMjEyLCA5MywgMjE3LCAKLSAgICAxNTgsIDEsIDIxNywgMjQ0LCAyMTcsIDE1OCwgMSwgMjEzLCA5MSwgMjE3LCAxNTgsIDEsIDIyNiwgMTA3LCAyMTcsIDE1OCwgCi0gICAgMSwgMjM1LCAxMjksIDIxNywgMTU4LCAxLCAyNTAsIDcwLCAyMTcsIDE1OCwgMSwgMjE2LCAxMTQsIDIxNywgMTU4LCAxLCAKLSAgICAyNDEsIDE3MywgMjE3LCAxNTgsIDEsIDIzNCwgMTM3LCAyMTcsIDE1OCwgMSwgMjE3LCAxNTksIDIxNywgMTU4LCAxLCAyMTIsIAotICAgIDEwOCwgMjE3LCAxNTgsIDEsIDIyMCwgMjM4LCAyMTcsIDE1OCwgMSwgMjIyLCAxOTksIDIxNywgMTU4LCAxLCAyNDgsIDE2MiwgCi0gICAgMjE3LCAxNTgsIDEsIDEwOCwgMjE3LCAxNTgsIDEsIDIxMiwgMTYsIDIxNywgMTU4LCAxLCAyNTQsIDEwMSwgMjE3LCAxNTgsIAotICAgIDEsIDI0MiwgMjE5LCAyMTcsIDE1OCwgMSwgMjI0LCAyMjksIDIxNywgMTU4LCAxLCAyMTQsIDQ3LCAyMTcsIDE1OCwgMjU0LCAKLSAgICAxODIsIDIxNywgMTU4LCAyNTQsIDE5NywgMjE3LCAxNTgsIDI0MCwgMTA3LCAyMTcsIDE1OCwgMjQ1LCAxNjQsIDIxNywgCi0gICAgMTU4LCAyMTUsIDE5MSwgMjE3LCAxNTgsIDIyNywgNDgsIDIxNywgMTU4LCAyNDUsIDE3MiwgMjE3LCAxNTgsIDI0NCwgMjQwLCAKLSAgICAyMTcsIDE1OCwgMjI3LCAxMTEsIDIxNywgMTU4LCAyMjcsIDExOSwgMjE3LCAxNTgsIDIxOCwgMjQ2LCAyMTcsIDE1OCwgMSwgCi0gICAgMjMwLCA0MywgMjI4LCAyMjQsIDIxLCAyMTIsIDc5LCAyMjgsIDIyNCwgMjEsIDExNiwgMjI4LCAyMjQsIDIxLCAxMDksIAotICAgIDIyOCwgMjI0LCAyMSwgMTY2LCAyMjgsIDIyNCwgMjEsIDE2MywgMjI4LCAyMjQsIDIxLCAxODAsIDIyOCwgMjI0LCAyMSwgCi0gICAgMTg5LCAyMjgsIDIyNCwgMjEsIDE5OCwgMjI4LCAyMjQsIDIxLCAxOTUsIDIyOCwgMjI0LCAyMSwgMjAwLCAyMjgsIDIyNCwgCi0gICAgMSwgNjEsIDIyOCwgMjI0LCAxLCAyNDUsIDE2NSwgMjI4LCAyMjQsIDEsIDcyLCAyMjgsIDIyNCwgMSwgNzQsIDIyOCwgMjI0LCAKLSAgICAxLCA2OSwgMjI4LCAyMjQsIDEsIDIyNywgNDksIDIyOCwgMjI0LCAxLCA3NSwgMjI4LCAyMjQsIDEsIDI0OCwgMTUyLCAyMjgsIAotICAgIDIyNCwgMSwgMjA0LCAyMjgsIDIyNCwgMSwgMjUyLCAxMDcsIDIyOCwgMjI0LCAxLCAxOTMsIDIyOCwgMjI0LCAxLCAyMTgsIAotICAgIDUyLCAyMjgsIDIyNCwgMSwgMjM1LCAxMzksIDIyOCwgMjI0LCAxLCAyNTAsIDkyLCAyMjgsIDIyNCwgMSwgMjQ4LCAxNjQsIAotICAgIDIyOCwgMjI0LCAxLCAyMDMsIDIyOCwgMjI0LCAxLCAyMjMsIDgxLCAyMjgsIDIyNCwgMSwgMjIyLCAyMDIsIDIyOCwgMjI0LCAKLSAgICAxLCAyNDMsIDU1LCAyMjgsIDIyNCwgMSwgMjQ0LCAxNjQsIDIyOCwgMjI0LCAxLCAxODEsIDIyOCwgMjI0LCAxLCAyMzMsIAotICAgIDE1NywgMjI4LCAyMjQsIDEsIDIzMCwgNDYsIDIxMywgMjEwLCAyMjgsIDIyNCwgMSwgMTg4LCAyMjgsIDIyNCwgMSwgMjI4LCAKLSAgICAyMywgMjI4LCAyMjQsIDEsIDIwNSwgMjI4LCAyMjQsIDEsIDE1OSwgMjI4LCAyMjQsIDEsIDIxNCwgNDksIDIyOCwgMjI0LCAKLSAgICAxLCAxODYsIDIyOCwgMjI0LCAxLCAyMjgsIDI0LCAyMTMsIDIxMCwgMjI4LCAyMjQsIDEsIDIzNSwgNjQsIDIzNSwgMTM5LCAKLSAgICAyMjgsIDIyNCwgMSwgMjM1LCA2NCwgMjUwLCA5MiwgMjI4LCAyMjQsIDEsIDIzNSwgNjQsIDIwMywgMjI4LCAyMjQsIDM3LCAKLSAgICAyMjAsIDE3NSwgMTI0LCAyMTYsIDI0MSwgMjI4LCAyMjQsIDM3LCAyMjAsIDE3NSwgMTE1LCAyMTYsIDI0MSwgMjI4LCAyMjQsIAotICAgIDM3LCAyMjAsIDE3NSwgMjIzLCAxMjUsIDIxNiwgMjQxLCAyMjgsIDIyNCwgMzcsIDE4NCwgMjQ3LCAyNDUsIDIxNiwgMjQxLCAKLSAgICAyMjgsIDIyNCwgMzcsIDE4NCwgMTI0LCAyMTYsIDI0MSwgMjI4LCAyMjQsIDM3LCAxODQsIDExNSwgMjE2LCAyNDEsIDIyOCwgCi0gICAgMjI0LCAzNywgMTg0LCAyMjMsIDEyNSwgMjE2LCAyNDEsIDIyOCwgMjI0LCAzNywgMjMwLCAxMywgNzcsIDIyOCwgMjI0LCAKLSAgICAzNywgNTEsIDYyLCA0OSwgMjI4LCAyMjQsIDEyNCwgMTYwLCAyNTMsIDIyNiwgMjI4LCAyMjQsIDExNSwgMTYwLCAyNTMsIAotICAgIDIyNiwgMjI4LCAyMjQsIDE2LCAyMjcsIDUwLCAyNDgsIDEsIDIyOCwgMjI0LCAxNiwgMjQzLCA1NCwgMjI4LCAyMjQsIDI0OSwgCi0gICAgMTU3LCAyMjgsIDIyNCwgMjQ0LCAyNTQsIDc3LCAyMjgsIDIyNCwgMjMzLCAxMzIsIDIyMiwgMTY3LCAxLCAyNTQsIDg0LCAKLSAgICAyMjIsIDE2NywgMSwgMjUxLCAxNTEsIDIyMiwgMTY3LCAxLCAyNDMsIDg4LCAyMjIsIDE2NywgMSwgMjQ4LCAxMzksIDIyMiwgCi0gICAgMTY3LCAxLCAyMzUsIDE1MCwgMjIyLCAxNjcsIDEsIDI1MiwgMTA2LCAyMjIsIDE2NywgMSwgMjEyLCA4MiwgMjIyLCAxNjcsIAotICAgIDEsIDIzNSwgMTU4LCAyMjIsIDE2NywgMSwgMjE3LCAyMCwgMjIyLCAxNjcsIDEsIDIxMiwgMTczLCAyMjIsIDE2NywgMSwgCi0gICAgMjM1LCAxMywgMjIyLCAxNjcsIDEsIDIzMywgMTUwLCAyMjIsIDE2NywgMSwgMjMxLCAzLCAyMjIsIDE2NywgMSwgMjI4LCAKLSAgICA1MCwgMjIyLCAxNjcsIDEsIDIyMCwgODIsIDIyMiwgMTY3LCAxLCAyMzUsIDI1MSwgMjIyLCAxNjcsIDEsIDI0NCwgOTAsIAotICAgIDIyMiwgMTY3LCAxLCAyMTYsIDEzOSwgMjIyLCAxNjcsIDEsIDIyNCwgMTU1LCAyMjIsIDE2NywgMSwgMjIzLCAxMjYsIDIyMiwgCi0gICAgMTY3LCAxLCAyMjEsIDgsIDIyMiwgMTY3LCAxLCAyMTgsIDQ4LCAyMjIsIDE2NywgMTUyLCAyMzUsIDI1MSwgMjIyLCAxNjcsIAotICAgIDE1MiwgMjM1LCAyNTAsIDIyMiwgMTY3LCAxNTIsIDIyNywgMTA3LCAyMjIsIDE2NywgMTUyLCAyNDgsIDE1MCwgMjIyLCAKLSAgICAxNjcsIDU5LCAxLCAyNDUsIDY4LCAyMTIsIDE3MywgMjIyLCAxNjcsIDE1MiwgMjQ1LCA2OCwgMjEyLCAxNzMsIDIyMiwgCi0gICAgMTY3LCAzMCwgNSwgMTg0LCA3NCwgMjIyLCAxNjcsIDMwLCA1LCA3NCwgMjIyLCAxNjcsIDMwLCA1LCAyMjYsIDI0MiwgMjU0LCAKLSAgICAyMzIsIDIyMiwgMTY3LCAzMCwgNSwgMTg0LCAyNTQsIDIzMiwgMjIyLCAxNjcsIDMwLCA1LCAyNTQsIDIzMiwgMjIyLCAxNjcsIAotICAgIDMwLCA1LCAyMjYsIDI0MiwgNjEsIDIyMiwgMTY3LCAzMCwgNSwgMTg0LCA2MSwgMjIyLCAxNjcsIDMwLCA1LCA2MSwgMjIyLCAKLSAgICAxNjcsIDU5LCAxLCAyMjAsIDE3NSwgNjEsIDIyMiwgMTY3LCAzMCwgNSwgMjIwLCAxNzUsIDYxLCAyMjIsIDE2NywgMzAsIDUsIAotICAgIDE4NCwgNjksIDIyMiwgMTY3LCAzMCwgNSwgNjksIDIyMiwgMTY3LCA1OSwgMSwgNzIsIDIyMiwgMTY3LCAzMCwgNSwgMTg0LCAKLSAgICA3MiwgMjIyLCAxNjcsIDMwLCA1LCA3MiwgMjIyLCAxNjcsIDMwLCA1LCA3NSwgMjIyLCAxNjcsIDMwLCA1LCAyMTgsIDI0NiwgCi0gICAgMjIyLCAxNjcsIDE1MiwgMjI5LCAxNzQsIDIyMiwgMTY3LCAyMjUsIDI3LCAyMjksIDE3NCwgMjIyLCAxNjcsIDIyNSwgMjcsIAotICAgIDI1NCwgMTIzLCAyMjIsIDE2NywgMjI1LCAyNywgMjU0LCAyMywgMjIyLCAxNjcsIDIyNSwgMjcsIDI1MiwgMzQsIDIyMiwgCi0gICAgMTY3LCAyMjUsIDI3LCAyNTMsIDExNywgMjIyLCAxNjcsIDIyNSwgMjcsIDIyMCwgMTg4LCAyMjIsIDE2NywgMjU0LCAxODEsIAotICAgIDc3LCAyMjIsIDE2NywgMjI1LCAyNywgMjMxLCAxMzIsIDIyNCwgMTkwLCAyMjIsIDE2NywgMjI1LCAyNywgMjEyLCAyNCwgCi0gICAgMjIyLCAxNjcsIDIyNSwgMjcsIDIyNCwgMTkwLCAyMjIsIDE2NywgMjI1LCAyNywgMjEyLCAxMDcsIDIyMiwgMTY3LCAyMjUsIAotICAgIDI3LCAyMTYsIDU0LCAyMjIsIDE2NywgMjI1LCAyNywgMjUzLCAxODAsIDIyMiwgMTY3LCAyMjUsIDI3LCAyMTksIDIzNywgCi0gICAgMjMxLCAyMDgsIDIyMiwgMTY3LCAyMjUsIDI3LCAyNTQsIDExLCAyMzEsIDI0NSwgMSwgMjQyLCA3LCAyMzEsIDI0NSwgMSwgCi0gICAgMjU0LCAxODUsIDIzMSwgMjQ1LCAxLCAyNTQsIDEyMSwgMjMxLCAyNDUsIDEsIDI1NCwgMTYwLCAyMzEsIDI0NSwgMSwgMjU0LCAKLSAgICAxMTQsIDIzMSwgMjQ1LCAxLCAyMTUsIDk4LCAyMzEsIDI0NSwgMSwgMjUzLCA3NiwgMjMxLCAyNDUsIDEsIDIzNSwgMTU4LCAKLSAgICAyMzEsIDI0NSwgMSwgMjUzLCAxMTQsIDIzMSwgMjQ1LCAxLCAyNTQsIDg5LCAyMzEsIDI0NSwgMSwgMjU0LCA5NCwgMjMxLCAKLSAgICAyNDUsIDEsIDI1NCwgODYsIDIzMSwgMjQ1LCAxLCAyNTQsIDQ1LCAyMzEsIDI0NSwgMSwgMjU0LCAzMiwgMjMxLCAyNDUsIDEsIAotICAgIDI1MywgMTUyLCAyMzEsIDI0NSwgMSwgMjM1LCAyNTEsIDIzMSwgMjQ1LCAxLCAyNTMsIDIzOSwgMjMxLCAyNDUsIDEsIDI1MywgCi0gICAgMTI0LCAyMzEsIDI0NSwgMSwgMjUzLCAyMTUsIDIzMSwgMjQ1LCAxLCAyNTMsIDIxMSwgMjMxLCAyNDUsIDEsIDI1MywgMTQ2LCAKLSAgICAyMzEsIDI0NSwgMSwgMjUzLCAxMjIsIDIzMSwgMjQ1LCAxLCAyNDYsIDEwLCAyMzEsIDI0NSwgMSwgMjM1LCA2LCAyMzEsIAotICAgIDI0NSwgMSwgMjU0LCAxMDMsIDIzMSwgMjQ1LCAyNTQsIDEyNywgNzcsIDIzMSwgMjQ1LCAyMTQsIDExNywgNzcsIDIzMSwgCi0gICAgMjQ1LCAyNDMsIDI5LCA3NywgMjMxLCAyNDUsIDIyNSwgMjYsIDgyLCA1LCAyMzUsIDE5MSwgMjUwLCAxODcsIDgyLCA1LCAKLSAgICAyNTAsIDE4NywgODIsIDUsIDI1MywgMjQyLCA4MiwgNSwgMjE0LCAxMjgsIDgyLCAxLCAyMjAsIDE3NSwgNjEsIDgyLCAxLCAKLSAgICA2MSwgODIsIDEsIDI1NCwgMjMyLCA4MiwgMSwgNzIsIDgyLCAxLCAyMzYsIDI4LCA4MiwgMSwgNjksIDgyLCAxLCAyMTUsIAotICAgIDkyLCA4MiwgMSwgMTYxLCAxNDksIDgyLCAxLCAxNjEsIDE1MCwgODIsIDEsIDI1MCwgMTkwLCA3NCwgODIsIDEsIDIyMCwgCi0gICAgMTc1LCA3NCwgODIsIDEsIDc0LCA4MiwgMSwgMjU0LCAxMDgsIDgyLCAxLCAyNTAsIDE5MCwgNzUsIDgyLCAxLCAyMjAsIAotICAgIDE3NSwgNzUsIDgyLCAxLCA3NSwgODIsIDEsIDI1MywgMTA4LCA4MiwgMSwgMTgxLCA4MiwgMSwgMjM0LCAxMzgsIDgyLCAxLCAKLSAgICAyNDMsIDExMCwgODIsIDEsIDI0MiwgMjI1LCA4MiwgMSwgMjI5LCAxNTksIDgyLCAxLCAyNTAsIDIxOSwgODIsIDEsIDI1MCwgCi0gICAgOTIsIDgyLCAxLCAyMzUsIDEzOSwgODIsIDEsIDIzNSwgMTE1LCA4MiwgMSwgMjI4LCAyMywgODIsIDEsIDIxNiwgMTE1LCAKLSAgICA4MiwgMSwgMjE2LCAxMDUsIDgyLCAxLCAyNDgsIDg2LCA4MiwgMSwgMjQ4LCA3MCwgODIsIDEsIDIyOCwgMTk4LCA4MiwgMSwgCi0gICAgMjE4LCA1MiwgODIsIDEsIDIxNywgMTYxLCA4MiwgMSwgMjQ4LCAxNjQsIDgyLCAxLCAyNDcsIDIzMiwgODIsIDEsIDIwNSwgCi0gICAgODIsIDEsIDIyOCwgMTg5LCA4MiwgMSwgMTkzLCA4MiwgMSwgMjI2LCAyMywgODIsIDEsIDI1MiwgMTA3LCA4MiwgMSwgMjUxLCAKLSAgICAxOTUsIDgyLCAxLCAxODgsIDgyLCAxLCAxODYsIDgyLCAxLCAyMDMsIDgyLCAxLCAyMjMsIDgxLCA4MiwgMSwgMjMzLCAxNTcsIAotICAgIDgyLCAxLCAyMzIsIDIxMywgODIsIDEsIDIzMiwgMjEyLCA4MiwgMSwgMjE1LCAxLCA4MiwgMSwgMjIxLCAyNCwgODIsIDEsIAotICAgIDIxOSwgMTU3LCA4MiwgMSwgMjIyLCAyMDIsIDgyLCAxLCAxNTksIDgyLCAzMCwgNSwgMjI3LCA5OSwgODIsIDMwLCA1LCAKLSAgICAyMjcsIDQ3LCA4MiwgNSwgMjI4LCA2MCwgODIsIDUsIDI1MywgOTEsIDgyLCAzMCwgNSwgMjU0LCAyMzIsIDgyLCAzMCwgNSwgCi0gICAgNzIsIDgyLCAzMCwgNSwgMjM2LCAyOCwgODIsIDMwLCA1LCA2OSwgODIsIDMwLCA1LCAyMTUsIDkyLCA4MiwgMzAsIDUsIAotICAgIDE2MSwgMTQ5LCA4MiwgMzAsIDUsIDE2MSwgMjIzLCA4MiwgODIsIDMwLCA1LCAyNTAsIDE5MCwgNzQsIDgyLCAzMCwgNSwgCi0gICAgMjIwLCAxNzUsIDc0LCA4MiwgMzAsIDUsIDc0LCA4MiwgMzAsIDUsIDI1NCwgMTA4LCA4MiwgMzAsIDUsIDI1MCwgMTkwLCAKLSAgICA3NSwgODIsIDMwLCA1LCAyMjAsIDE3NSwgNzUsIDgyLCAzMCwgNSwgNzUsIDgyLCAzMCwgNSwgMjUzLCAxMDgsIDgyLCA1LCAKLSAgICAyMTQsIDEzMywgODIsIDMwLCA1LCAyMjUsIDY2LCA3NCwgODIsIDMwLCA1LCAyNTMsIDg3LCA4MiwgMjI3LCA3MCwgODIsIAotICAgIDIxOSwgNTEsIDUsIDIxNSwgMTg1LCA4MiwgMjE5LCA1MSwgNSwgMjUzLCAyNDQsIDgyLCAyNDIsIDExNCwgMjU0LCAxNzQsIAotICAgIDgyLCAyNTQsIDE2NCwgMjU0LCAxNzQsIDgyLCAzMCwgNSwgMjUwLCAxOTAsIDE4NCwgNzQsIDgyLCAzMCwgNSwgMjE1LCAKLSAgICAxODMsIDgyLCAzMCwgNSwgMjE1LCA5MSwgODIsIDEsIDIyNCwgMjMyLCA4MiwgMSwgMjM0LCAxMjEsIDgyLCAxLCAyNDIsIAotICAgIDIwMiwgODIsIDEsIDIxMiwgMTA5LCA4MiwgMSwgMjQ4LCA3NSwgODIsIDEsIDIyMywgMTkyLCA4MiwgMSwgMjQ0LCAxNjQsIAotICAgIDgyLCAxLCAyMTIsIDE2MCwgODIsIDEsIDE2MSwgMjIzLCA4MiwgODIsIDEsIDE2MSwgMjMyLCAyMTQsIDgyLCAzMCwgNSwgCi0gICAgMTYxLCAxNTAsIDgyLCAzMCwgNSwgMTYxLCAyMzIsIDIxNCwgODIsIDI0OCwgMTIzLCA4MiwgNTEsIDI0OCwgMTIzLCA4MiwgCi0gICAgMjEsIDIxMiwgNzksIDgyLCAyMSwgMTE2LCA4MiwgMjEsIDEwOSwgODIsIDIxLCAxNjYsIDgyLCAyMSwgMTYzLCA4MiwgMjEsIAotICAgIDE4MCwgODIsIDIxLCAxODksIDgyLCAyMSwgMTk4LCA4MiwgMjEsIDE5NSwgODIsIDIxLCAyMDAsIDgyLCAyNTQsIDE4MSwgCi0gICAgNTIsIDgyLCA1LCAxMjQsIDIxOSwgMjA1LCAyNDcsIDc0LCA4MiwgMSwgMjUwLCAxOTAsIDYxLCA4MiwgMSwgMjI3LCA5OSwgCi0gICAgODIsIDEsIDIyNywgNDcsIDgyLCAxLCAyNTMsIDg3LCA4MiwgMSwgMjE1LCAxODMsIDgyLCAxLCAyMTUsIDkxLCA4MiwgMSwgCi0gICAgMjEyLCA3NSwgODIsIDEsIDEwNywgMTg2LCA4MiwgMSwgMjQzLCA1LCA4MiwgMSwgMjM1LCA5OSwgODIsIDEsIDI0MiwgMTU2LCAKLSAgICAyMTksIDY5LCA4MiwgMSwgMjQ4LCA3NiwgODIsIDEsIDI1MiwgMzEsIDE0MCwgNSwgMjUwLCAxODcsIDE0MCwgNSwgMjUzLCAKLSAgICAyNDIsIDE0MCwgNSwgMjE0LCAxMjgsIDE0MCwgMSwgNjEsIDE0MCwgMSwgMjU0LCAyMzIsIDE0MCwgMSwgNzIsIDE0MCwgMSwgCi0gICAgMjM2LCAyOCwgMTQwLCAxLCA2OSwgMTQwLCAxLCAyMTUsIDkyLCAxNDAsIDEsIDE2MSwgMTQ5LCAxNDAsIDEsIDE2MSwgMTUwLCAKLSAgICAxNDAsIDEsIDc0LCAxNDAsIDEsIDI1NCwgMTA4LCAxNDAsIDEsIDc1LCAxNDAsIDEsIDI1MywgMTA4LCAxNDAsIDEsIDE4MSwgCi0gICAgMTQwLCAxLCAyMzQsIDEzOCwgMTQwLCAxLCAyNDMsIDExMCwgMTQwLCAxLCAyNDIsIDIyNSwgMTQwLCAxLCAyMjksIDE1OSwgCi0gICAgMTQwLCAxLCAyNTAsIDIxOSwgMTQwLCAxLCAyNTAsIDkyLCAxNDAsIDEsIDIzNSwgMTM5LCAxNDAsIDEsIDIzNSwgMTE1LCAKLSAgICAxNDAsIDEsIDIyOCwgMjMsIDE0MCwgMSwgMjE2LCAxMTUsIDE0MCwgMSwgMjE2LCAxMDUsIDE0MCwgMSwgMjQ4LCA4NiwgCi0gICAgMTQwLCAxLCAyNDgsIDcwLCAxNDAsIDEsIDIyOCwgMTk4LCAxNDAsIDEsIDIxOCwgNTIsIDE0MCwgMSwgMjE3LCAxNjEsIAotICAgIDE0MCwgMSwgMjQ4LCAxNjQsIDE0MCwgMSwgMjQ3LCAyMzIsIDE0MCwgMSwgMjA1LCAxNDAsIDEsIDE5MywgMTQwLCAxLCAKLSAgICAyMjYsIDIzLCAxNDAsIDEsIDI1MiwgMTA3LCAxNDAsIDEsIDI1MSwgMTk1LCAxNDAsIDEsIDE4OCwgMTQwLCAxLCAxODYsIAotICAgIDE0MCwgMSwgMjAzLCAxNDAsIDEsIDIzMywgMTU3LCAxNDAsIDEsIDIyMSwgMjQsIDE0MCwgMSwgMjE5LCAxNTcsIDE0MCwgMSwgCi0gICAgMjIyLCAyMDIsIDE0MCwgMSwgMTU5LCAxNDAsIDUsIDIyOCwgNjAsIDE0MCwgNSwgMjUzLCA5MSwgMTQwLCAzMCwgNSwgMjU0LCAKLSAgICAyMzIsIDE0MCwgMzAsIDUsIDcyLCAxNDAsIDMwLCA1LCAyMzYsIDI4LCAxNDAsIDMwLCA1LCA2OSwgMTQwLCAzMCwgNSwgCi0gICAgMjE1LCA5MiwgMTQwLCAzMCwgNSwgMTYxLCAxNDksIDE0MCwgMzAsIDUsIDE2MSwgMjIzLCA4MiwgMTQwLCAzMCwgNSwgNzQsIAotICAgIDE0MCwgMzAsIDUsIDI1NCwgMTA4LCAxNDAsIDMwLCA1LCA3NSwgMTQwLCAzMCwgNSwgMjUzLCAxMDgsIDE0MCwgNSwgMjE0LCAKLSAgICAxMzMsIDE0MCwgMSwgMjM0LCAxMzAsIDIxOCwgNTIsIDE0MCwgMjUzLCAxMDksIDIzMywgNDcsIDc3LCAxNDAsIDEsIDIyMywgCi0gICAgODEsIDE0MCwgMSwgMjIzLCAxOTIsIDE0MCwgMSwgMjEyLCAxNjAsIDE0MCwgMSwgMTYxLCAyMjMsIDgyLCAxNDAsIDEsIAotICAgIDE2MSwgMjMyLCAyMTQsIDE0MCwgMzAsIDUsIDE2MSwgMTUwLCAxNDAsIDMwLCA1LCAxNjEsIDIzMiwgMjE0LCAxNDAsIDIxLCAKLSAgICAyMTIsIDc5LCAxNDAsIDIxLCAxMTYsIDE0MCwgMjEsIDEwOSwgMTQwLCAyMSwgMTY2LCAxNDAsIDIxLCAxNjMsIDE0MCwgMjEsIAotICAgIDE4MCwgMTQwLCAyMSwgMTg5LCAxNDAsIDIxLCAxOTgsIDE0MCwgMjEsIDE5NSwgMTQwLCAyMSwgMjAwLCAxNDAsIDEsIDIyNCwgCi0gICAgNzcsIDIsIDIzMSwgMzcsIDI0NywgMjA2LCAxNDAsIDEsIDIyNCwgNzcsIDIsIDIzMiwgMTYzLCAyNDcsIDIwNiwgMTQwLCAKLSAgICAyMjMsIDI5LCA3NywgMTQwLCAyMjMsIDI5LCA1MiwgMTQwLCAyNDksIDM5LCAyMjgsIDUzLCAxMTYsIDE0MCwgMjQ5LCAzOSwgCi0gICAgMjI4LCA1MywgMTA5LCAxNDAsIDI0OSwgMzksIDIyOCwgNTMsIDE2NiwgMTQwLCAyNDksIDM5LCAyMjgsIDUzLCAxNjMsIAotICAgIDE0MCwgMjQ5LCAzOSwgMjI4LCA1MywgMTIyLCAyMzMsIDQwLCAyMTcsIDE1NCwgMjE3LCAxNDksIDI0NywgMjU1LCAxNDAsIAotICAgIDI0OSwgMzksIDI0OCwgMCwgMjIwLCA0NywgMTQwLCAyMzUsIDE1OSwgMTQwLCAyNDMsIDc5LCA3NywgMTczLCA1LCAyNTQsIAotICAgIDE1OSwgMjUxLCAxNjYsIDE3MywgNSwgMjUxLCAxNjYsIDE3MywgNSwgMjE0LCAxMjgsIDE3MywgMSwgNjEsIDE3MywgMSwgCi0gICAgMjU0LCAyMzIsIDE3MywgMSwgNzIsIDE3MywgMSwgMjM2LCAyOCwgMTczLCAxLCA2OSwgMTczLCAxLCAyMTUsIDkyLCAxNzMsIAotICAgIDEsIDI0NSwgMTY1LCAxNzMsIDEsIDI1NCwgMTA4LCAxNzMsIDEsIDIyNywgNDksIDE3MywgMSwgMjUzLCAxMDgsIDE3MywgMSwgCi0gICAgMTgxLCAxNzMsIDEsIDIzNCwgMTM4LCAxNzMsIDEsIDI0MywgMTEwLCAxNzMsIDEsIDI0MiwgMjI1LCAxNzMsIDEsIDIyOSwgCi0gICAgMTU5LCAxNzMsIDEsIDI1MCwgMjE5LCAxNzMsIDEsIDI1MCwgOTIsIDE3MywgMSwgMjM1LCAxMzksIDE3MywgMSwgMjM1LCAKLSAgICAxMTUsIDE3MywgMSwgMjI4LCAyMywgMTczLCAxLCAyMTYsIDExNSwgMTczLCAxLCAyMTYsIDEwNSwgMTczLCAxLCAyNDgsIAotICAgIDg2LCAxNzMsIDEsIDI0OCwgNzAsIDE3MywgMSwgMjI4LCAxOTgsIDE3MywgMSwgMjE4LCA1MiwgMTczLCAxLCAyMTcsIDE2MSwgCi0gICAgMTczLCAxLCAyNDgsIDE2NCwgMTczLCAxLCAyNDcsIDIzMiwgMTczLCAxLCAyMDUsIDE3MywgMSwgMTkzLCAxNzMsIDEsIAotICAgIDIyNiwgMjMsIDE3MywgMSwgMjUyLCAxMDcsIDE3MywgMSwgMjUxLCAxOTUsIDE3MywgMSwgMTg4LCAxNzMsIDEsIDE4NiwgCi0gICAgMTczLCAxLCAyMDMsIDE3MywgMSwgMjMzLCAxNTcsIDE3MywgMSwgMjMyLCAyMTMsIDE3MywgMSwgMjE1LCAxLCAxNzMsIDEsIAotICAgIDIyMSwgMjQsIDE3MywgMSwgMjIyLCAyMDIsIDE3MywgMSwgMTU5LCAxNzMsIDUsIDIyOCwgNjAsIDE3MywgMzAsIDUsIDI1NCwgCi0gICAgMjMyLCAxNzMsIDMwLCA1LCA3MiwgMTczLCAzMCwgNSwgMjM2LCAyOCwgMTczLCAzMCwgNSwgNjksIDE3MywgMzAsIDUsIAotICAgIDIxNSwgOTIsIDE3MywgMzAsIDUsIDI0NSwgMTY1LCAxNzMsIDMwLCA1LCAyNTQsIDEwOCwgMTczLCAzMCwgNSwgMjI3LCA0OSwgCi0gICAgMTczLCAzMCwgNSwgMjUzLCAxMDgsIDE3MywgNSwgMjE0LCAxMzMsIDE3MywgNSwgMjE1LCAxODcsIDE3MywgMSwgMjM0LCAKLSAgICAxMjEsIDE3MywgMSwgMjQyLCAyMDIsIDE3MywgMSwgMjEyLCAxMDksIDE3MywgMSwgMjIzLCA4MSwgMTczLCAxLCAyNDQsIAotICAgIDE2NCwgMTczLCAyMSwgMjEyLCA3OSwgMTczLCAyMSwgMTE2LCAxNzMsIDIxLCAxMDksIDE3MywgMjEsIDE2NiwgMTczLCAyMSwgCi0gICAgMTYzLCAxNzMsIDIxLCAxODAsIDE3MywgMjEsIDE4OSwgMTczLCAyMSwgMTk4LCAxNzMsIDIxLCAxOTUsIDE3MywgMjEsIAotICAgIDIwMCwgMTczLCAyMTcsIDI3LCAxNzMsIDI1NCwgMTU4LCAxNzMsIDIzNSwgMTc2LCAxNzMsIDIxNSwgMTE3LCAxNzMsIDI0NSwgCi0gICAgMTM4LCAyMjcsIDU0LCAxNzMsIDUsIDIxMywgNjcsIDE2NCwgNSwgMjUwLCAxODcsIDE2NCwgNSwgMjUzLCAyNDIsIDE2NCwgCi0gICAgNSwgMjE0LCAxMjgsIDE2NCwgMSwgNjEsIDE2NCwgMSwgMjU0LCAyMzIsIDE2NCwgMSwgNzIsIDE2NCwgMSwgMjM2LCAyOCwgCi0gICAgMTY0LCAxLCA2OSwgMTY0LCAxLCAyMTUsIDkyLCAxNjQsIDEsIDE2MSwgMTQ5LCAxNjQsIDEsIDE2MSwgMTUwLCAxNjQsIDMwLCAKLSAgICAyNTAsIDE5MCwgNzQsIDE2NCwgMSwgNzQsIDE2NCwgMSwgMjU0LCAxMDgsIDE2NCwgMzAsIDI1MCwgMTkwLCA3NSwgMTY0LCAKLSAgICAxLCA3NSwgMTY0LCAxLCAyNTMsIDEwOCwgMTY0LCAxLCAxODEsIDE2NCwgMSwgMjM0LCAxMzgsIDE2NCwgMSwgMjQzLCAxMTAsIAotICAgIDE2NCwgMSwgMjQyLCAyMjUsIDE2NCwgMSwgMjI5LCAxNTksIDE2NCwgMSwgMjUwLCAyMTksIDE2NCwgMSwgMjUwLCA5MiwgCi0gICAgMTY0LCAxLCAyMzUsIDEzOSwgMTY0LCAxLCAyMzUsIDExNSwgMTY0LCAxLCAyMjgsIDIzLCAxNjQsIDEsIDIxNiwgMTE1LCAKLSAgICAxNjQsIDEsIDIxNiwgMTA1LCAxNjQsIDEsIDI0OCwgODYsIDE2NCwgMSwgMjQ4LCA3MCwgMTY0LCAxLCAyMjgsIDE5OCwgCi0gICAgMTY0LCAxLCAyMTgsIDUyLCAxNjQsIDEsIDIxNywgMTYxLCAxNjQsIDEsIDI0OCwgMTY0LCAxNjQsIDEsIDI0NywgMjMyLCAKLSAgICAxNjQsIDEsIDIwNSwgMTY0LCAxLCAxOTMsIDE2NCwgMSwgMjI2LCAyMywgMTY0LCAxLCAyNTIsIDEwNywgMTY0LCAxLCAyNTEsIAotICAgIDE5NSwgMTY0LCAxLCAxODgsIDE2NCwgMSwgMTg2LCAxNjQsIDEsIDIwMywgMTY0LCAxLCAyMzMsIDE1NywgMTY0LCAxLCAKLSAgICAyMzIsIDIxMywgMTY0LCAxLCAyMTUsIDEsIDE2NCwgMSwgMjIxLCAyNCwgMTY0LCAxLCAyMTksIDE1NywgMTY0LCAxLCAyMjIsIAotICAgIDIwMiwgMTY0LCAxLCAxNTksIDE2NCwgNSwgMjI4LCA2MCwgMTY0LCA1LCAyNTMsIDkxLCAxNjQsIDMwLCA1LCAyNTQsIDIzMiwgCi0gICAgMTY0LCAzMCwgNSwgNzIsIDE2NCwgMzAsIDUsIDIzNiwgMjgsIDE2NCwgMzAsIDUsIDY5LCAxNjQsIDMwLCA1LCAyMTUsIDkyLCAKLSAgICAxNjQsIDMwLCA1LCAxNjEsIDE0OSwgMTY0LCAzMCwgNSwgMTYxLCAyMjMsIDgyLCAxNjQsIDMwLCA1LCAyNTAsIDE5MCwgNzQsIAotICAgIDE2NCwgMzAsIDUsIDc0LCAxNjQsIDMwLCA1LCAyNTQsIDEwOCwgMTY0LCAzMCwgNSwgMjUwLCAxOTAsIDc1LCAxNjQsIDMwLCAKLSAgICA1LCA3NSwgMTY0LCAzMCwgNSwgMjUzLCAxMDgsIDE2NCwgNSwgMjE0LCAxMzMsIDE2NCwgMjI3LCA3MCwgMTY0LCAxLCAxNjEsIAotICAgIDIyMywgODIsIDE2NCwgMSwgMTYxLCAyMzIsIDIxNCwgMTY0LCAzMCwgNSwgMTYxLCAxNTAsIDE2NCwgMzAsIDUsIDE2MSwgCi0gICAgMjMyLCAyMTQsIDE2NCwgMjEsIDIxMiwgNzksIDE2NCwgMjEsIDExNiwgMTY0LCAyMSwgMTA5LCAxNjQsIDIxLCAxNjYsIAotICAgIDE2NCwgMjEsIDE2MywgMTY0LCAyMSwgMTgwLCAxNjQsIDIxLCAxODksIDE2NCwgMjEsIDE5OCwgMTY0LCAyMSwgMTk1LCAKLSAgICAxNjQsIDIxLCAyMDAsIDE2NCwgMjIzLCAyOSwgNTIsIDE0NywgNSwgMjUwLCAxODcsIDE0NywgNSwgMjUzLCAyNDIsIDE0NywgCi0gICAgNSwgMjE0LCAxMjgsIDE0NywgMSwgNjEsIDE0NywgMSwgMjU0LCAyMzIsIDE0NywgMSwgNzIsIDE0NywgMSwgMjM2LCAyOCwgCi0gICAgMTQ3LCAxLCA2OSwgMTQ3LCAxLCAyMTUsIDkyLCAxNDcsIDEsIDE2MSwgMTQ5LCAxNDcsIDEsIDE2MSwgMTUwLCAxNDcsIDEsIAotICAgIDc0LCAxNDcsIDEsIDI1NCwgMTA4LCAxNDcsIDEsIDc1LCAxNDcsIDEsIDI1MywgMTA4LCAxNDcsIDEsIDE4MSwgMTQ3LCAxLCAKLSAgICAyMzQsIDEzOCwgMTQ3LCAxLCAyNDMsIDExMCwgMTQ3LCAxLCAyNDIsIDIyNSwgMTQ3LCAxLCAyMjksIDE1OSwgMTQ3LCAxLCAKLSAgICAyNTAsIDIxOSwgMTQ3LCAxLCAyNTAsIDkyLCAxNDcsIDEsIDIzNSwgMTM5LCAxNDcsIDEsIDIzNSwgMTE1LCAxNDcsIDEsIAotICAgIDIyOCwgMjMsIDE0NywgMSwgMjE2LCAxMTUsIDE0NywgMSwgMjE2LCAxMDUsIDE0NywgMSwgMjQ4LCA4NiwgMTQ3LCAxLCAKLSAgICAyNDgsIDcwLCAxNDcsIDEsIDIyOCwgMTk4LCAxNDcsIDEsIDIxOCwgNTIsIDE0NywgMSwgMjE3LCAxNjEsIDE0NywgMSwgCi0gICAgMjQ4LCAxNjQsIDE0NywgMSwgMjQ3LCAyMzIsIDE0NywgMSwgMjA1LCAxNDcsIDEsIDE5MywgMTQ3LCAxLCAyMjYsIDIzLCAKLSAgICAxNDcsIDEsIDI1MiwgMTA3LCAxNDcsIDEsIDI1MSwgMTk1LCAxNDcsIDEsIDE4OCwgMTQ3LCAxLCAxODYsIDE0NywgMSwgCi0gICAgMjAzLCAxNDcsIDEsIDIzMywgMTU3LCAxNDcsIDEsIDIzMiwgMjEzLCAxNDcsIDEsIDIxNSwgMSwgMTQ3LCAxLCAyMjEsIDI0LCAKLSAgICAxNDcsIDEsIDIxOSwgMTU3LCAxNDcsIDEsIDIyMiwgMjAyLCAxNDcsIDEsIDE1OSwgMTQ3LCA1LCAyMjgsIDYwLCAxNDcsIDUsIAotICAgIDI1MywgOTEsIDE0NywgMzAsIDUsIDI1NCwgMjMyLCAxNDcsIDMwLCA1LCA3MiwgMTQ3LCAzMCwgNSwgMjM2LCAyOCwgMTQ3LCAKLSAgICAzMCwgNSwgNjksIDE0NywgMzAsIDUsIDIxNSwgOTIsIDE0NywgMzAsIDUsIDE2MSwgMTQ5LCAxNDcsIDMwLCA1LCAxNjEsIAotICAgIDIyMywgODIsIDE0NywgMzAsIDUsIDc0LCAxNDcsIDMwLCA1LCAyNTQsIDEwOCwgMTQ3LCAzMCwgNSwgNzUsIDE0NywgMzAsIAotICAgIDUsIDI1MywgMTA4LCAxNDcsIDUsIDIxNCwgMTMzLCAxNDcsIDI1NCwgMTA5LCAyMzMsIDQ3LCA3NywgMTQ3LCAyNTMsIDEwOSwgCi0gICAgMjMzLCA0NywgNzcsIDE0NywgMSwgMjIzLCA4MSwgMTQ3LCAxLCAyMjMsIDE5MiwgMTQ3LCAxLCAyMTIsIDE2MCwgMTQ3LCAxLCAKLSAgICAxNjEsIDIyMywgODIsIDE0NywgMSwgMTYxLCAyMzIsIDIxNCwgMTQ3LCAzMCwgNSwgMTYxLCAxNTAsIDE0NywgMzAsIDUsIAotICAgIDE2MSwgMjMyLCAyMTQsIDE0NywgMjEsIDIxMiwgNzksIDE0NywgMjEsIDExNiwgMTQ3LCAyMSwgMTA5LCAxNDcsIDIxLCAKLSAgICAxNjYsIDE0NywgMjEsIDE2MywgMTQ3LCAyMSwgMTgwLCAxNDcsIDIxLCAxODksIDE0NywgMjEsIDE5OCwgMTQ3LCAyMSwgCi0gICAgMTk1LCAxNDcsIDIxLCAyMDAsIDE0NywgMjM1LCAxNTksIDE0NywgMSwgMjE0LCA0OSwgMTQ3LCAyNDMsIDIyOCwgMTIyLCAKLSAgICAyMjQsIDE2NiwgMTQ3LCAyNDMsIDIyOCwgMTIyLCAyNDIsIDksIDE0NywgMjQzLCAyMjgsIDEzMywgMjI0LCAxNjQsIDE0NywgCi0gICAgMjQzLCAyMjgsIDEyMiwgMjIwLCA0NSwgMTQ3LCAyNDMsIDIyOCwgMTIyLCAyNDUsIDE0NSwgMTQ3LCAyNDMsIDIyOCwgMTMzLCAKLSAgICAyMjAsIDQ0LCAxNzgsIDUsIDI1MywgMjQyLCAxNzgsIDUsIDIxNCwgMTI4LCAxNzgsIDEsIDYxLCAxNzgsIDEsIDI1NCwgCi0gICAgMjMyLCAxNzgsIDEsIDcyLCAxNzgsIDEsIDIzNiwgMjgsIDE3OCwgMSwgNjksIDE3OCwgMSwgMjE1LCA5MiwgMTc4LCAxLCAKLSAgICA3NCwgMTc4LCAxLCAyNDUsIDE2NSwgMTc4LCAxLCAyNTQsIDEwOCwgMTc4LCAxLCA3NSwgMTc4LCAxLCAyMjcsIDQ5LCAxNzgsIAotICAgIDEsIDI1MywgMTA4LCAxNzgsIDEsIDE4MSwgMTc4LCAxLCAyMjksIDE1OSwgMTc4LCAxLCAyNTAsIDIxOSwgMTc4LCAxLCAKLSAgICAyMzUsIDEzOSwgMTc4LCAxLCAyMjgsIDIzLCAxNzgsIDEsIDIxNiwgMTE1LCAxNzgsIDEsIDIyOCwgMTk4LCAxNzgsIDEsIAotICAgIDIxOCwgNTIsIDE3OCwgMSwgMjA1LCAxNzgsIDEsIDIyOCwgMTg5LCAxNzgsIDEsIDE5MywgMTc4LCAxLCAxODgsIDE3OCwgMSwgCi0gICAgMTg2LCAxNzgsIDEsIDIwMywgMTc4LCAxLCAyMjMsIDgxLCAxNzgsIDEsIDIzMywgMTU3LCAxNzgsIDEsIDIzMiwgMjEzLCAKLSAgICAxNzgsIDEsIDIzMiwgMjEyLCAxNzgsIDEsIDIxNSwgMSwgMTc4LCAxLCAyMjEsIDI0LCAxNzgsIDEsIDIxOSwgMTU3LCAxNzgsIAotICAgIDEsIDIyMiwgMjAyLCAxNzgsIDEsIDE1OSwgMTc4LCAzMCwgNSwgMjU0LCAyMzIsIDE3OCwgMzAsIDUsIDcyLCAxNzgsIDMwLCAKLSAgICA1LCAyMzYsIDI4LCAxNzgsIDMwLCA1LCA2OSwgMTc4LCAzMCwgNSwgMjE1LCA5MiwgMTc4LCAzMCwgNSwgNzQsIDE3OCwgMzAsIAotICAgIDUsIDI0NSwgMTY1LCAxNzgsIDMwLCA1LCAyNTQsIDEwOCwgMTc4LCAzMCwgNSwgNzUsIDE3OCwgMzAsIDUsIDIyNywgNDksIAotICAgIDE3OCwgMzAsIDUsIDI1MywgMTA4LCAxNzgsIDUsIDIxNCwgMTMzLCAxNzgsIDIyNywgNzAsIDE3OCwgMjUzLCAxMDksIDIzMywgCi0gICAgNDcsIDc3LCAxNzgsIDIxLCAyMTIsIDc5LCAxNzgsIDIxLCAxMTYsIDE3OCwgMjEsIDEwOSwgMTc4LCAyMSwgMTY2LCAxNzgsIAotICAgIDIxLCAxNjMsIDE3OCwgMjEsIDE4MCwgMTc4LCAyMSwgMTg5LCAxNzgsIDIxLCAxOTgsIDE3OCwgMjEsIDE5NSwgMTc4LCAyMSwgCi0gICAgMjAwLCAxNzgsIDUwLCAyMTcsIDIwMCwgMTc4LCA1MCwgMTIyLCAyNDAsIDIwMCwgMTc4LCA1MCwgMTIyLCAyMTcsIDEwMCwgCi0gICAgMTc4LCAyNDgsIDkyLCA1MiwgMTc4LCAyMzAsIDIwNSwgNTIsIDE3OCwgMjEzLCAzNiwgNTIsIDE3OCwgMjQ4LCAzOCwgNTIsIAotICAgIDE3OCwgMjQ5LCA3OSwgNTIsIDE3OCwgMjUzLCAxNTMsIDc4LCA1MiwgMTc4LCAyMjMsIDI5LCA1MiwgMTc4LCA1MCwgNTIsIAotICAgIDEzOSwgNSwgMjUwLCAxODcsIDEzOSwgNSwgMjUzLCAyNDIsIDEzOSwgNSwgMjE0LCAxMjgsIDEzOSwgMSwgNjEsIDEzOSwgMSwgCi0gICAgMjU0LCAyMzIsIDEzOSwgMSwgNzIsIDEzOSwgMSwgMjM2LCAyOCwgMTM5LCAxLCA2OSwgMTM5LCAxLCAyMTUsIDkyLCAxMzksIAotICAgIDEsIDE2MSwgMTQ5LCAxMzksIDEsIDE2MSwgMTUwLCAxMzksIDEsIDc0LCAxMzksIDEsIDI0NSwgMTY1LCAxMzksIDEsIDI1NCwgCi0gICAgMTA4LCAxMzksIDEsIDc1LCAxMzksIDEsIDIyNywgNDksIDEzOSwgMSwgMjUzLCAxMDgsIDEzOSwgMSwgMTgxLCAxMzksIDEsIAotICAgIDIzNCwgMTM4LCAxMzksIDEsIDI0MywgMTEwLCAxMzksIDEsIDI0MiwgMjI1LCAxMzksIDEsIDIyOSwgMTU5LCAxMzksIDEsIAotICAgIDI1MCwgMjE5LCAxMzksIDEsIDI1MCwgOTIsIDEzOSwgMSwgMjM1LCAxMzksIDEzOSwgMSwgMjM1LCAxMTUsIDEzOSwgMSwgCi0gICAgMjI4LCAyMywgMTM5LCAxLCAyMTYsIDExNSwgMTM5LCAxLCAyMTYsIDEwNSwgMTM5LCAxLCAyNDgsIDg2LCAxMzksIDEsIAotICAgIDI0OCwgNzAsIDEzOSwgMSwgMjI4LCAxOTgsIDEzOSwgMSwgMjE4LCA1MiwgMTM5LCAxLCAyMTcsIDE2MSwgMTM5LCAxLCAKLSAgICAyNDgsIDE2NCwgMTM5LCAxLCAyNDcsIDIzMiwgMTM5LCAxLCAyMDUsIDEzOSwgMSwgMTkzLCAxMzksIDEsIDIyNiwgMjMsIAotICAgIDEzOSwgMSwgMjUyLCAxMDcsIDEzOSwgMSwgMjUxLCAxOTUsIDEzOSwgMSwgMTg4LCAxMzksIDEsIDE4NiwgMTM5LCAxLCAKLSAgICAyMDMsIDEzOSwgMSwgMjIzLCA4MSwgMTM5LCAxLCAyMzMsIDE1NywgMTM5LCAxLCAyMzIsIDIxMywgMTM5LCAxLCAyMTUsIDEsIAotICAgIDEzOSwgMSwgMjIxLCAyNCwgMTM5LCAxLCAyMTksIDE1NywgMTM5LCAxLCAyMjIsIDIwMiwgMTM5LCAxLCAxNTksIDEzOSwgNSwgCi0gICAgMjUzLCA5MSwgMTM5LCAzMCwgNSwgMjU0LCAyMzIsIDEzOSwgMzAsIDUsIDcyLCAxMzksIDMwLCA1LCAyMzYsIDI4LCAxMzksIAotICAgIDMwLCA1LCA2OSwgMTM5LCAzMCwgNSwgMjE1LCA5MiwgMTM5LCAzMCwgNSwgMTYxLCAxNDksIDEzOSwgMzAsIDUsIDE2MSwgCi0gICAgMjIzLCA4MiwgMTM5LCAzMCwgNSwgNzQsIDEzOSwgMzAsIDUsIDI0NSwgMTY1LCAxMzksIDMwLCA1LCAyNTQsIDEwOCwgMTM5LCAKLSAgICAzMCwgNSwgNzUsIDEzOSwgMzAsIDUsIDIyNywgNDksIDEzOSwgMzAsIDUsIDI1MywgMTA4LCAxMzksIDUsIDIxNCwgMTMzLCAKLSAgICAxMzksIDIzMywgNDcsIDc3LCAxMzksIDI1NCwgMTA5LCAyMzMsIDQ3LCA3NywgMTM5LCAxLCAyMTYsIDE0MSwgMTM5LCAxLCAKLSAgICAyNDUsIDI0OSwgMTM5LCAxLCAxNjEsIDIyMywgODIsIDEzOSwgMSwgMTYxLCAyMzIsIDIxNCwgMTM5LCAzMCwgNSwgMTYxLCAKLSAgICAxNTAsIDEzOSwgMzAsIDUsIDE2MSwgMjMyLCAyMTQsIDEzOSwgMjEsIDIxMiwgNzksIDEzOSwgMjEsIDExNiwgMTM5LCAyMSwgCi0gICAgMTA5LCAxMzksIDIxLCAxNjYsIDEzOSwgMjEsIDE2MywgMTM5LCAyMSwgMTgwLCAxMzksIDIxLCAxODksIDEzOSwgMjEsIAotICAgIDE5OCwgMTM5LCAyMSwgMTk1LCAxMzksIDIxLCAyMDAsIDEzOSwgMjQzLCAyMjgsIDIxLCAyMTIsIDgwLCAzMSwgMjI3LCAKLSAgICAxMDIsIDIyNSwgMTAzLCA2NSwgMTYzLCAxMzksIDI0MywgMjI4LCAyMSwgMTIyLCAzMSwgMjI3LCAxMDIsIDIyNSwgMTAzLCAKLSAgICA2NSwgMTYzLCAxMzksIDI0MywgMjI4LCAyMSwgMTE3LCAzMSwgMjI3LCAxMDIsIDIyNSwgMTAzLCA2NSwgMTYzLCAxMzksIAotICAgIDI0MywgMjI4LCAyMSwgMTMzLCAzMSwgMjI3LCAxMDIsIDIyNSwgMTAzLCA2NSwgMTYzLCAxMzksIDI0MywgMjI4LCAyMSwgCi0gICAgMTIyLCAzMSwgMjQ1LCA5LCAyMjUsIDEwMywgNjUsIDE2MywgMTM5LCAyNDMsIDIyOCwgMjEsIDExNywgMzEsIDI0NSwgOSwgCi0gICAgMjI1LCAxMDMsIDY1LCAxNjMsIDEzOSwgMjQzLCAyMjgsIDIxLCAxMzMsIDMxLCAyNDUsIDksIDIyNSwgMTAzLCA2NSwgMTYzLCAKLSAgICAxMzksIDUsIDIxNiwgNDksIDE1NSwgNSwgMjUzLCAyNDIsIDE1NSwgNSwgMjE0LCAxMjgsIDE1NSwgMSwgNjEsIDE1NSwgMSwgCi0gICAgMjU0LCAyMzIsIDE1NSwgMSwgNzIsIDE1NSwgMSwgMjM2LCAyOCwgMTU1LCAxLCA2OSwgMTU1LCAxLCAyMTUsIDkyLCAxNTUsIAotICAgIDEsIDE2MSwgMTQ5LCAxNTUsIDEsIDE2MSwgMTUwLCAxNTUsIDEsIDc0LCAxNTUsIDEsIDI0NSwgMTY1LCAxNTUsIDEsIDI1NCwgCi0gICAgMTA4LCAxNTUsIDEsIDc1LCAxNTUsIDEsIDIyNywgNDksIDE1NSwgMSwgMjUzLCAxMDgsIDE1NSwgMSwgMTgxLCAxNTUsIDEsIAotICAgIDIzNCwgMTM4LCAxNTUsIDEsIDI0MywgMTEwLCAxNTUsIDEsIDI0MiwgMjI1LCAxNTUsIDEsIDIyOSwgMTU5LCAxNTUsIDEsIAotICAgIDI1MCwgMjE5LCAxNTUsIDEsIDI1MCwgOTIsIDE1NSwgMSwgMjM1LCAxMzksIDE1NSwgMSwgMjM1LCAxMTUsIDE1NSwgMSwgCi0gICAgMjI4LCAyMywgMTU1LCAxLCAyMTYsIDExNSwgMTU1LCAxLCAyMTYsIDEwNSwgMTU1LCAxLCAyNDgsIDg2LCAxNTUsIDEsIAotICAgIDI0OCwgNzAsIDE1NSwgMSwgMjI4LCAxOTgsIDE1NSwgMSwgMjE4LCA1MiwgMTU1LCAxLCAyMTcsIDE2MSwgMTU1LCAxLCAKLSAgICAyNDgsIDE2NCwgMTU1LCAxLCAyNDcsIDIzMiwgMTU1LCAxLCAyMDUsIDE1NSwgMSwgMTkzLCAxNTUsIDEsIDIyNiwgMjMsIAotICAgIDE1NSwgMSwgMjUyLCAxMDcsIDE1NSwgMSwgMjUxLCAxOTUsIDE1NSwgMSwgMTg4LCAxNTUsIDEsIDE4NiwgMTU1LCAxLCAKLSAgICAyMDMsIDE1NSwgMSwgMjIzLCA4MSwgMTU1LCAxLCAyMzMsIDE1NywgMTU1LCAxLCAyMzIsIDIxMywgMTU1LCAxLCAyMTUsIDEsIAotICAgIDE1NSwgMSwgMjIxLCAyNCwgMTU1LCAxLCAyMTksIDE1NywgMTU1LCAxLCAyMjIsIDIwMiwgMTU1LCAxLCAxNTksIDE1NSwgNSwgCi0gICAgMjI4LCA2MCwgMTU1LCA1LCAyNTMsIDkxLCAxNTUsIDMwLCA1LCAyNTQsIDIzMiwgMTU1LCAzMCwgNSwgNzIsIDE1NSwgMzAsIAotICAgIDUsIDIzNiwgMjgsIDE1NSwgMzAsIDUsIDY5LCAxNTUsIDMwLCA1LCAyMTUsIDkyLCAxNTUsIDMwLCA1LCAxNjEsIDE0OSwgCi0gICAgMTU1LCAzMCwgNSwgMTYxLCAyMjMsIDgyLCAxNTUsIDMwLCA1LCA3NCwgMTU1LCAzMCwgNSwgMjQ1LCAxNjUsIDE1NSwgMzAsIAotICAgIDUsIDI1NCwgMTA4LCAxNTUsIDMwLCA1LCA3NSwgMTU1LCAzMCwgNSwgMjI3LCA0OSwgMTU1LCAzMCwgNSwgMjUzLCAxMDgsIAotICAgIDE1NSwgNSwgMjE0LCAxMzMsIDE1NSwgMjMzLCA0NywgNzcsIDE1NSwgMjU0LCAxMDksIDIzMywgNDcsIDc3LCAxNTUsIDEsIAotICAgIDI0NCwgMTY0LCAxNTUsIDEsIDE2MSwgMjIzLCA4MiwgMTU1LCAxLCAxNjEsIDIzMiwgMjE0LCAxNTUsIDMwLCA1LCAxNjEsIAotICAgIDE1MCwgMTU1LCAzMCwgNSwgMTYxLCAyMzIsIDIxNCwgMTU1LCAyMSwgMjEyLCA3OSwgMTU1LCAyMSwgMTE2LCAxNTUsIDIxLCAKLSAgICAxMDksIDE1NSwgMjEsIDE2NiwgMTU1LCAyMSwgMTYzLCAxNTUsIDIxLCAxODAsIDE1NSwgMjEsIDE4OSwgMTU1LCAyMSwgCi0gICAgMTk4LCAxNTUsIDIxLCAxOTUsIDE1NSwgMjEsIDIwMCwgMTU1LCA1LCAyMzUsIDEwNCwgMTU1LCA1LCAyMTUsIDEzMiwgMTMwLCAKLSAgICA1LCAyNTMsIDI0MiwgMTMwLCA1LCAyMTQsIDEyOCwgMTMwLCAxLCA2MSwgMTMwLCAxLCAyNTQsIDIzMiwgMTMwLCAxLCA3MiwgCi0gICAgMTMwLCAxLCAyMzYsIDI4LCAxMzAsIDEsIDY5LCAxMzAsIDEsIDIxNSwgOTIsIDEzMCwgMSwgMTYxLCAxNDksIDEzMCwgMSwgCi0gICAgMTYxLCAxNTAsIDEzMCwgMSwgNzQsIDEzMCwgMSwgMjQ1LCAxNjUsIDEzMCwgMSwgMjU0LCAxMDgsIDEzMCwgMSwgNzUsIAotICAgIDEzMCwgMSwgMjI3LCA0OSwgMTMwLCAxLCAyNTMsIDEwOCwgMTMwLCAxLCAxODEsIDEzMCwgMSwgMjM0LCAxMzgsIDEzMCwgMSwgCi0gICAgMjQzLCAxMTAsIDEzMCwgMSwgMjQyLCAyMjUsIDEzMCwgMSwgMjI5LCAxNTksIDEzMCwgMSwgMjUwLCAyMTksIDEzMCwgMSwgCi0gICAgMjUwLCA5MiwgMTMwLCAxLCAyMzUsIDEzOSwgMTMwLCAxLCAyMzUsIDExNSwgMTMwLCAxLCAyMjgsIDIzLCAxMzAsIDEsIAotICAgIDIxNiwgMTE1LCAxMzAsIDEsIDIxNiwgMTA1LCAxMzAsIDEsIDI0OCwgODYsIDEzMCwgMSwgMjQ4LCA3MCwgMTMwLCAxLCAKLSAgICAyMjgsIDE5OCwgMTMwLCAxLCAyMTgsIDUyLCAxMzAsIDEsIDIxNywgMTYxLCAxMzAsIDEsIDI0OCwgMTY0LCAxMzAsIDEsIAotICAgIDI0NywgMjMyLCAxMzAsIDEsIDIwNSwgMTMwLCAxLCAyMjgsIDE4OSwgMTMwLCAxLCAxOTMsIDEzMCwgMSwgMjI2LCAyMywgCi0gICAgMTMwLCAxLCAyNTIsIDEwNywgMTMwLCAxLCAyNTEsIDE5NSwgMTMwLCAxLCAxODgsIDEzMCwgMSwgMTg2LCAxMzAsIDEsIAotICAgIDIwMywgMTMwLCAxLCAyMjMsIDgxLCAxMzAsIDEsIDIzMywgMTU3LCAxMzAsIDEsIDIzMiwgMjEzLCAxMzAsIDEsIDIzMiwgCi0gICAgMjEyLCAxMzAsIDEsIDIxNSwgMSwgMTMwLCAxLCAyMjEsIDI0LCAxMzAsIDEsIDIxOSwgMTU3LCAxMzAsIDEsIDIyMiwgMjAyLCAKLSAgICAxMzAsIDEsIDE1OSwgMTMwLCAxLCAyMTYsIDg4LCAxMzAsIDUsIDI1MywgOTEsIDEzMCwgMzAsIDUsIDI1NCwgMjMyLCAxMzAsIAotICAgIDMwLCA1LCA3MiwgMTMwLCAzMCwgNSwgMjM2LCAyOCwgMTMwLCAzMCwgNSwgNjksIDEzMCwgMzAsIDUsIDIxNSwgOTIsIDEzMCwgCi0gICAgMzAsIDUsIDE2MSwgMTQ5LCAxMzAsIDMwLCA1LCAxNjEsIDIyMywgODIsIDEzMCwgMzAsIDUsIDc0LCAxMzAsIDMwLCA1LCAKLSAgICAyNDUsIDE2NSwgMTMwLCAzMCwgNSwgMjU0LCAxMDgsIDEzMCwgMzAsIDUsIDc1LCAxMzAsIDMwLCA1LCAyMjcsIDQ5LCAxMzAsIAotICAgIDMwLCA1LCAyNTMsIDEwOCwgMTMwLCA1LCAyMTQsIDEzMywgMTMwLCAxLCA2MiwgMjIzLCAyMjUsIDEzMCwgMjUzLCAxMDksIAotICAgIDIzMywgNDcsIDc3LCAxMzAsIDEsIDE2MSwgMjIzLCA4MiwgMTMwLCAxLCAxNjEsIDIzMiwgMjE0LCAxMzAsIDMwLCA1LCAKLSAgICAxNjEsIDE1MCwgMTMwLCAzMCwgNSwgMTYxLCAyMzIsIDIxNCwgMTMwLCAyMSwgMjEyLCA3OSwgMTMwLCAyMSwgMTE2LCAxMzAsIAotICAgIDIxLCAxMDksIDEzMCwgMjEsIDE2NiwgMTMwLCAyMSwgMTYzLCAxMzAsIDIxLCAxODAsIDEzMCwgMjEsIDE4OSwgMTMwLCAyMSwgCi0gICAgMTk4LCAxMzAsIDIxLCAxOTUsIDEzMCwgMjEsIDIwMCwgMTMwLCA1MCwgMjE3LCAyMDAsIDEzMCwgNTAsIDEyMiwgMjQwLCAKLSAgICAyMDAsIDEzMCwgNTAsIDEyMiwgMjE3LCAxMDAsIDEzMCwgMjQzLCAyMjgsIDEyMiwgMjI0LCAxNjYsIDEzMCwgMjQzLCAyMjgsIAotICAgIDEyMiwgMjQyLCA5LCAxMzAsIDI0MywgMjI4LCAxMzMsIDIyNCwgMTY0LCAxMzAsIDI0OCwgOTYsIDc3LCAxMzAsIDEsIDI1MCwgCi0gICAgMzYsIDIyOCwgMTk5LCAxMzAsIDEsIDI1MCwgMzYsIDIwNCwgMTMwLCAxLCAyNTAsIDM2LCAyMjMsIDgyLCAxMzAsIDEsIAotICAgIDI1MCwgMzYsIDE1MCwgMTMwLCAxLCAyNTAsIDM2LCAyMzIsIDIxNCwgMTMwLCAxLCAyNTAsIDM2LCAyMzUsIDI3LCAxNzIsIAotICAgIDUsIDI1MywgMjQxLCAxNzIsIDUsIDIxNCwgMTI3LCAxNzIsIDEsIDI1MywgODEsIDE3MiwgMSwgMjU0LCAxODcsIDE3MiwgMSwgCi0gICAgMjU0LCAxMjgsIDE3MiwgMSwgMjU0LCAxNDMsIDE3MiwgMSwgMjM1LCAxNDksIDE3MiwgMSwgMjM2LCAyNywgMTcyLCAxLCAKLSAgICAyMTUsIDg0LCAxNzIsIDEsIDIxNSwgODYsIDE3MiwgMSwgMjM1LCAxNzEsIDE3MiwgMSwgMjM1LCAxNzIsIDE3MiwgMSwgCi0gICAgMjM2LCAxMywgMTcyLCAxLCAyMzYsIDE1LCAxNzIsIDEsIDI0NCwgMjQxLCAxNzIsIDEsIDI0NSwgMTYxLCAxNzIsIDEsIAotICAgIDI1NCwgOTYsIDE3MiwgMSwgMjI2LCAyMzIsIDE3MiwgMSwgMjI3LCA0MywgMTcyLCAxLCAyNTMsIDk0LCAxNzIsIDEsIDI1NCwgCi0gICAgNTUsIDIzNCwgMTkzLCAxNzIsIDEsIDIzMiwgMTQsIDIzNCwgMTkzLCAxNzIsIDEsIDI1NCwgNTUsIDI0MywgNTgsIDE3MiwgCi0gICAgMSwgMjMyLCAxNCwgMjQzLCA1OCwgMTcyLCAxLCAyMzQsIDIzNCwgMjMwLCA0MCwgMTcyLCAxLCAyMjIsIDE1MiwgMjQzLCAKLSAgICA1OCwgMTcyLCAxLCAyNTQsIDU1LCAyNTAsIDE0OSwgMTcyLCAxLCAyMzIsIDE0LCAyNTAsIDE0OSwgMTcyLCAxLCAyNTQsIAotICAgIDU1LCAyMzUsIDEyOCwgMTcyLCAxLCAyMzIsIDE0LCAyMzUsIDEyOCwgMTcyLCAxLCAyMTgsIDQ2LCAyMzAsIDQwLCAxNzIsIAotICAgIDEsIDIxOCwgNDYsIDIyMiwgMTUxLCAyMzAsIDQxLCAxNzIsIDEsIDIyMiwgMTUyLCAyMzUsIDEyOCwgMTcyLCAxLCAyNTQsIAotICAgIDU1LCAyMTYsIDExMywgMTcyLCAxLCAyMzIsIDE0LCAyMTYsIDExMywgMTcyLCAxLCAyNTQsIDU1LCAyNDgsIDc3LCAxNzIsIAotICAgIDEsIDIzMiwgMTQsIDI0OCwgNzcsIDE3MiwgMSwgMjMwLCAxMjQsIDIzMCwgMiwgMTcyLCAxLCAyMjIsIDE1MiwgMjQ4LCA3NywgCi0gICAgMTcyLCAxLCAyNTQsIDU1LCAyMTcsIDIzNywgMTcyLCAxLCAyMzIsIDE0LCAyMTcsIDIzNywgMTcyLCAxLCAyNTQsIDU1LCAKLSAgICAyNDgsIDkwLCAxNzIsIDEsIDIzMiwgMTQsIDI0OCwgOTAsIDE3MiwgMSwgMjQ4LCAxMTksIDIzMCwgMiwgMTcyLCAxLCAyMjIsIAotICAgIDE1MiwgMjQ4LCA5MCwgMTcyLCAxLCAyNTQsIDU1LCAyMjYsIDEwMiwgMTcyLCAxLCAyMzIsIDE0LCAyMjYsIDEwMiwgMTcyLCAKLSAgICAxLCAyNTQsIDU1LCAyNTIsIDMyLCAxNzIsIDEsIDIzMiwgMTQsIDI1MiwgMzIsIDE3MiwgMSwgMjMxLCAxOTUsIDE3MiwgMSwgCi0gICAgMjU0LCA0MCwgMjUyLCAzMiwgMTcyLCAxLCAyMTMsIDQyLCAxNzIsIDEsIDIyNCwgMjYsIDE3MiwgMSwgMjQ4LCAxMTksIAotICAgIDIzMywgOTEsIDE3MiwgMSwgMjE0LCAyMzQsIDE3MiwgMSwgMjE4LCA0NiwgMjIyLCAxMjgsIDE3MiwgMSwgMjMwLCAxMjQsIAotICAgIDIyMiwgMTI4LCAxNzIsIDEsIDI0OCwgMTE5LCAyMjIsIDEyOCwgMTcyLCAxLCAyNDEsIDIyNiwgMTcyLCAxLCAyMzAsIDEyNCwgCi0gICAgMjMzLCA5MSwgMTcyLCAxLCAyNDQsIDEyNSwgMTcyLCA1LCAyNTQsIDg1LCAxNzIsIDMwLCA1LCAyNTQsIDEzOCwgMTcyLCAKLSAgICAzMCwgNSwgMjM0LCAxNjEsIDI1NCwgMTQ1LCAxNzIsIDMwLCA1LCAyNDcsIDE4MCwgMjU0LCAxNDUsIDE3MiwgMzAsIDUsIAotICAgIDIzNCwgMTYxLCAyMzUsIDE2OCwgMTcyLCAzMCwgNSwgMjQ3LCAxODAsIDIzNSwgMTY4LCAxNzIsIDMwLCA1LCAyMzQsIDE2MSwgCi0gICAgMjI2LCAyMTIsIDE3MiwgMzAsIDUsIDI0NywgMTgwLCAyMjYsIDIxMiwgMTcyLCAzMCwgNSwgMjQzLCA5OSwgMTcyLCAzMCwgCi0gICAgNSwgMjM0LCAyNCwgMTcyLCAzMCwgNSwgMjQ3LCAxODAsIDIzNCwgMjQsIDE3MiwgMzAsIDUsIDIzNCwgMjYsIDI0OCwgMTgsIAotICAgIDE3MiwgMzAsIDUsIDIzNCwgMjUsIDI0MiwgMjgsIDI1NCwgMTM4LCAxNzIsIDMwLCA1LCAyMzQsIDI1LCAyNDIsIDI4LCAKLSAgICAyNDcsIDE4MCwgMjU0LCAxMzgsIDE3MiwgMzAsIDUsIDIzNCwgMjUsIDI0MiwgMjgsIDI0MywgNTcsIDE3MiwgMzAsIDUsIAotICAgIDI0MywgNTcsIDE3MiwgMzAsIDUsIDI0NywgMTgwLCAyNDMsIDk5LCAxNzIsIDMwLCA1LCAyNDcsIDE4MCwgMjQzLCA1NywgCi0gICAgMTcyLCAyMjUsIDI3LCAyMzMsIDIyOCwgMTU0LCAxMzcsIDIzNCwgMzgsIDIzNCwgMjUwLCAxNTQsIDEzNywgMjM0LCAxMTQsIAotICAgIDIzNCwgMTM0LCAxNTQsIDEzNywgMjM0LCAxMTQsIDIzNCwgMTA3LCAxNTQsIDEzNywgMjM0LCAxMTQsIDIzNCwgMTA0LCAKLSAgICAxNTQsIDEzNywgMjM0LCAxMTQsIDIzNCwgMTExLCAxNTQsIDEzNywgMjM0LCAxMTQsIDIyNCwgNDYsIDE1NCwgMTM3LCAyMjksIAotICAgIDkxLCAyMjksIDc4LCAxNTQsIDEzNywgMjUwLCAyNCwgMjUwLCA4MywgMTU0LCAxMzcsIDI1MCwgMjQsIDI1MCwgMzIsIDE1NCwgCi0gICAgMTM3LCAyNTAsIDI0LCAyNTAsIDgyLCAxNTQsIDEzNywgMjE5LCAyNDMsIDIxOSwgMjQyLCAxNTQsIDEzNywgMjUwLCAyNCwgCi0gICAgMjUwLCAyMCwgMTU0LCAxMzcsIDIxMiwgMjM2LCAyMTIsIDI0MywgMTU0LCAxMzcsIDI0NywgMTAwLCAyNTAsIDg5LCAxNTQsIAotICAgIDEzNywgMjExLCAyMTEsIDIyNiwgMTExLCAxNTQsIDEzNywgMjE3LCAxMTAsIDIxNywgMTUzLCAxNTQsIDEzNywgMjE3LCAKLSAgICAxMTAsIDIzMCwgMjEsIDE1NCwgMTM3LCAyMTcsIDExMCwgMjI1LCAyNDMsIDE1NCwgMTM3LCAyMjgsIDE4NiwgMjI5LCAxODAsIAotICAgIDE1NCwgMTM3LCAyNDcsIDEwMCwgMjQ4LCAxOSwgMTU0LCAxMzcsIDIxMSwgMjExLCAyMTgsIDYsIDE1NCwgMTM3LCAyMTcsIAotICAgIDExMCwgMjE3LCA4NSwgMTU0LCAxMzcsIDIxNywgMTEwLCAyMTcsIDE1NywgMTU0LCAxMzcsIDIxNywgMTEwLCAyMTcsIDEwNywgCi0gICAgMTU0LCAxMzcsIDIyOCwgMTg2LCAyMjgsIDkyLCAxNTQsIDEzNywgMjUxLCAxMjksIDI1MiwgODMsIDE1NCwgMTM3LCAyMjUsIAotICAgIDE1MSwgMjI1LCAxNzQsIDE1NCwgMTM3LCAyMjUsIDI1NCwgMjI1LCAyNDUsIDE1NCwgMTM3LCAyNDQsIDEzLCAyNDQsIDE2NCwgCi0gICAgMTU0LCAxMzcsIDIyNSwgMjU0LCAyMjYsIDE3LCAxNTQsIDEzNywgMjQ0LCAxMywgMjQ0LCAxNDEsIDE1NCwgMTM3LCAyMjUsIAotICAgIDI1NCwgMjIyLCAxNjIsIDE1NCwgMTM3LCAyMzAsIDIzMiwgMTg4LCAxNTQsIDEzNywgMjEyLCAyMzYsIDIxMywgNjgsIDE1NCwgCi0gICAgMTM3LCAyMjMsIDExMywgMjIzLCA1MCwgMTU0LCAxMzcsIDIyMywgNTEsIDE1NCwgMTM3LCAyMzIsIDIwOSwgMjMyLCAyMzUsIAotICAgIDE1NCwgMTM3LCAyMzIsIDE1NiwgMTU0LCAxMzcsIDIxMywgMjE1LCAyMTQsIDQ1LCAxNTQsIDEzNywgMjE5LCAyNDMsIDIyMiwgCi0gICAgMTc3LCAxNTQsIDEzNywgMjE5LCAyNDMsIDIyMywgMjUsIDE1NCwgMTM3LCAyMTksIDI0MywgMjE5LCAyNiwgMTU0LCAxMzcsIAotICAgIDI0MSwgNTUsIDI0MSwgMTQ1LCAxNTQsIDEzNywgMjMyLCAyMDksIDI1MCwgNSwgMTU0LCAxMzcsIDE1NywgMjU0LCAyNCwgCi0gICAgMTU0LCAxMzcsIDI0MSwgNTUsIDIyOCwgMTgxLCAxNTQsIDEzNywgMjI2LCAxOTUsIDE1NCwgMTM3LCAyMjIsIDE0NiwgNjEsIAotICAgIDE1NCwgMTM3LCAyMzIsIDksIDI0MiwgMCwgMTU0LCAxMzcsIDIyMiwgMTQ2LCAyNTQsIDIzMiwgMTU0LCAxMzcsIDIyMiwgCi0gICAgMTQ2LCAyNTQsIDQ1LCAxNTQsIDEzNywgMjIyLCAxNDYsIDcyLCAxNTQsIDEzNywgMjIyLCAxNDYsIDIzNiwgMjgsIDE1NCwgCi0gICAgMTM3LCAyMjIsIDE0NiwgMjE1LCAxODMsIDE1NCwgMTM3LCAyMjIsIDE0NiwgMjE1LCAxODEsIDE1NCwgMTM3LCAyMjIsIAotICAgIDE0NiwgNjksIDE1NCwgMTM3LCAyMjIsIDE0NiwgMjE1LCA5MiwgMTU0LCAxMzcsIDIyNiwgMCwgMTU0LCAyNDksIDM5LCAxNiwgCi0gICAgMjUyLCA4NCwgMTU0LCAxMzcsIDIyMiwgMTQ2LCA3NCwgMTU0LCAxMzcsIDIyMiwgMTQ2LCAyNTQsIDE0OCwgMTU0LCAxMzcsIAotICAgIDIyMiwgMTQ2LCA3NSwgMTU0LCAxMzcsIDIyMiwgMTQ2LCAyNTQsIDEwOSwgMjMyLCA0LCAxNTQsIDEzNywgMjIyLCAxNDYsIAotICAgIDI1NCwgMTA5LCAyMzIsIDUsIDE1NCwgMTM3LCAyMzMsIDEzMCwgMTU0LCAxMzcsIDIzMiwgMSwgMTU0LCAxMzcsIDIzMiwgMiwgCi0gICAgMTU0LCAxMzcsIDIzMiwgOSwgMjQ1LCAxMzcsIDE1NCwgMTM3LCAyMzIsIDksIDIxNywgMTA5LCAxNTQsIDEzNywgMjMyLCA5LCAKLSAgICAyMTYsIDE4NiwgMTU0LCAxMzcsIDIzMiwgOSwgMjUwLCA3MSwgMTU0LCAxMzcsIDIxNywgMTUxLCAxNTQsIDEzNywgMjI5LCAKLSAgICAzNiwgMTU0LCAxMzcsIDIxMywgNjIsIDE1NCwgMTM3LCAyNDQsIDQsIDE1NCwgMjEsIDIxMiwgNzksIDE1NCwgMjEsIDExNiwgCi0gICAgMTU0LCAyMSwgMTA5LCAxNTQsIDIxLCAxNjYsIDE1NCwgMjEsIDE2MywgMTU0LCAyMSwgMTgwLCAxNTQsIDIxLCAxODksIAotICAgIDE1NCwgMjEsIDE5OCwgMTU0LCAyMSwgMTk1LCAxNTQsIDIxLCAyMDAsIDE1NCwgMTM3LCAyNTQsIDIwLCAxNTQsIDEzNywgCi0gICAgMjM0LCAxMTIsIDIzMywgMTEyLCAxLCAyMzQsIDM3LCAyMzMsIDExMiwgMSwgMjM0LCAxMTQsIDIxOCwgMjM1LCAyMzMsIAotICAgIDExMiwgMSwgMjM0LCAxMTQsIDIxOCwgMTMsIDIzMywgMTEyLCAxLCAyMjksIDkwLCAyMzMsIDExMiwgMSwgMjQ5LCAxNzUsIAotICAgIDIzMywgMTEyLCAxLCAyMTksIDI0MywgMjE4LCAxMywgMjMzLCAxMTIsIDEsIDIyNywgMjUzLCAyMzMsIDExMiwgMSwgMjQ3LCAKLSAgICA5OSwgMjMzLCAxMTIsIDEsIDEwOCwgMjMzLCAxMTIsIDEsIDIxNywgMTEwLCAyMTgsIDIzNSwgMjMzLCAxMTIsIDEsIDIxNywgCi0gICAgMTEwLCAyMTgsIDEzLCAyMzMsIDExMiwgMSwgMjI4LCAxODUsIDIzMywgMTEyLCAxLCAyNTEsIDEyOCwgMjMzLCAxMTIsIDEsIAotICAgIDIyNSwgMTUwLCAyMzMsIDExMiwgMSwgMjI1LCAyNTQsIDIxOCwgMjM1LCAyMzMsIDExMiwgMSwgMjQ0LCAxMywgMjE4LCAxMywgCi0gICAgMjMzLCAxMTIsIDEsIDIyNSwgMjU0LCAyMTgsIDEzLCAyMzMsIDExMiwgMSwgMjQ0LCAxMywgMjE4LCAyMzUsIDIzMywgMTEyLCAKLSAgICAxLCAyMzAsIDIzMSwgMjMzLCAxMTIsIDEsIDIxMiwgMjM1LCAyMzMsIDExMiwgMSwgMjMyLCAyMDksIDIzMiwgMjM1LCAyMzMsIAotICAgIDExMiwgMSwgMjMyLCAyMDksIDIzMiwgMTc2LCAyMzMsIDExMiwgMSwgMjEzLCAyMTQsIDIzMywgMTEyLCAxLCAyMTksIDI0MywgCi0gICAgMjE4LCAyMzUsIDIzMywgMTEyLCAxLCAyNDEsIDU1LCAyMTgsIDIzNSwgMjMzLCAxMTIsIDEsIDc1LCAyMzMsIDExMiwgMSwgCi0gICAgMjQxLCA1NSwgMjE4LCAxMywgMjMzLCAxMTIsIDI0NSwgMTIwLCAyMzMsIDExMiwgMzAsIDUsIDYxLCAyMzMsIDExMiwgMzAsIAotICAgIDUsIDIzMiwgOSwgMjM0LCAyMzksIDIzMywgMTEyLCAzMCwgNSwgMjU0LCAyMzIsIDIzMywgMTEyLCAzMCwgNSwgMjU0LCA0NSwgCi0gICAgMjMzLCAxMTIsIDMwLCA1LCA3MiwgMjMzLCAxMTIsIDMwLCA1LCAyMzYsIDI4LCAyMzMsIDExMiwgMzAsIDUsIDIxMywgMTA1LCAKLSAgICAyMzMsIDExMiwgMzAsIDUsIDIxMiwgMTYxLCAyMzMsIDExMiwgMzAsIDUsIDY5LCAyMzMsIDExMiwgMzAsIDUsIDIxNSwgOTIsIAotICAgIDIzMywgMTEyLCAzMCwgNSwgMjMyLCA5LCAyMzQsIDIyLCAyMzMsIDExMiwgMjIxLCA2NSwgNSwgMjMyLCAyMDgsIDIzMywgCi0gICAgMTEyLCAyMjEsIDY1LCA1LCAyMjcsIDI1MywgMjMzLCAxMTIsIDMwLCA1LCA3NCwgMjMzLCAxMTIsIDMwLCA1LCAyNDUsIAotICAgIDE1MiwgMjMzLCAxMTIsIDMwLCA1LCA3NSwgMjMzLCAxMTIsIDMwLCA1LCAyNTMsIDgzLCAyMzMsIDExMiwgMzAsIDUsIDI1NCwgCi0gICAgMTA4LCAyMzMsIDExMiwgMjM0LCAzOCwgMjMzLCAxNTcsIDIzMywgMTEyLCAxNjAsIDIzMiwgOSwgMjQ1LCAxMzcsIDIzMywgCi0gICAgMTEyLCAxNjAsIDIzMiwgOSwgMjE3LCAxMDksIDIzMywgMTEyLCAxNjAsIDIzMiwgOSwgMjE3LCA3MSwgMjMzLCAxMTIsIAotICAgIDE2MCwgMjMyLCA5LCAyNTAsIDE1NSwgMjMzLCAxMTIsIDI1MCwgMTkyLCA3NywgMjMzLCAxMTIsIDIyOSwgNDUsIDIzMywgCi0gICAgMTEyLCAyMSwgMjEyLCA3OSwgMjMzLCAxMTIsIDIxLCAxMTYsIDIzMywgMTEyLCAyMSwgMTA5LCAyMzMsIDExMiwgMjEsIAotICAgIDE2NiwgMjMzLCAxMTIsIDIxLCAxNjMsIDIzMywgMTEyLCAyMSwgMTgwLCAyMzMsIDExMiwgMjEsIDE4OSwgMjMzLCAxMTIsIAotICAgIDIxLCAxOTgsIDIzMywgMTEyLCAyMSwgMTk1LCAyMzMsIDExMiwgMjEsIDIwMCwgMjMzLCAxMTIsIDI0MSwgNTUsIDIyOCwgCi0gICAgMTg1LCAyMzMsIDExMiwgMjQxLCA1NSwgMjMwLCAyMzEsIDYwLCA0LCAyMjcsIDcwLCA2MCwgMTUyLCAyNDIsIDk0LCAyMTIsIAotICAgIDI0NywgMjMxLCA1OSwgMjE2LCAxNDcsIDYxLCA2MCwgMTUyLCAyNDIsIDk0LCAyMTIsIDI0NywgMjMxLCA1OSwgMjU1LCA2MiwgCi0gICAgMjIzLCAxMTcsIDI1MSwgMjUzLCAxODgsIDYwLCAxNTIsIDI0MiwgOTQsIDIxMiwgMjQ3LCAyMzEsIDU5LCAyNTUsIDYyLCAKLSAgICAyNDIsIDk0LCAyMTYsIDEzMSwgMTg4LCA2MCwgMTUyLCA3MCwgMjEyLCAyNDcsIDIzMSwgNTksIDIzMSwgMTU4LCAxODgsIAotICAgIDYwLCAxNTIsIDI0OSwgMTg5LCAyMTIsIDI0NywgMjMxLCA1OSwgMjIxLCAzMCwgMTg4LCA2MCwgMTUyLCAyNTAsIDE3MSwgCi0gICAgMjEyLCAyNDcsIDIzMSwgNTksIDIyNSwgMjQ0LCAyMjEsIDE4LCAxODgsIDYwLCAxNTIsIDIxMiwgMjQ3LCAyMzEsIDU5LCAKLSAgICAyMTYsIDEzMSwgMjIxLCAxOCwgMTg4LCA2MCwgMTUyLCAyMjIsIDEyNiwgMjIxLCAxNywgNjAsIDE1MiwgMjUxLCA1NywgCi0gICAgMjEyLCAyNDcsIDIzMSwgNTgsIDYwLCAxNTIsIDI1MSwgMTQ2LCAyMjAsIDE4MywgMjEyLCAyNDcsIDIzMSwgNTgsIDYwLCAKLSAgICAxNTIsIDIzNSwgMTk0LCAyMTYsIDEzMCwgNjAsIDE1MiwgMjQ4LCAxMiwgMjE2LCAxMzEsIDI1MSwgNTYsIDYwLCAxNTIsIAotICAgIDIyMSwgMTcsIDYwLCAxNTIsIDIyOCwgMiwgMjIxLCAxNywgNjAsIDE1MiwgMjE2LCAxMzEsIDIyMSwgMTcsIDYwLCAxNTIsIAotICAgIDIyOCwgMiwgMjE2LCAxMzEsIDIyMSwgMTcsIDYwLCAxNTIsIDIyMywgMTMzLCAyNTAsIDU5LCAyMTksIDE2OCwgMjIxLCAxNywgCi0gICAgNjAsIDE1MiwgMjIzLCAxOTUsIDI0MiwgMTIyLCAyMjEsIDE3LCA2MCwgMTUyLCAyNTAsIDE3MSwgMjU1LCA2NiwgMjIzLCAKLSAgICA1NSwgMjMxLCAxNTcsIDE4NCwgMjUwLCAxOTUsIDYwLCAxNTIsIDI0MiwgOTQsIDIxNiwgMTMwLCA2MCwgMjMyLCAxOTcsIDUsIAotICAgIDI1MCwgOTAsIDIyMywgNTQsIDYwLCAyMzIsIDE5NywgNSwgMjMzLCAyMywgMjIzLCA1NCwgNjAsIDI1MywgMTI4LCA1LCAKLSAgICAyMjEsIDI3LCAyNDMsIDQxLCAyNTUsIDY3LCAyMjMsIDU0LCA2MCwgMjUzLCAxMjgsIDUsIDI1NSwgNjQsIDE5MywgNjAsIAotICAgIDI1MywgMTI4LCA1LCAyMjIsIDEwMSwgMjE2LCAxMjYsIDYwLCA1LCAyMjQsIDIzLCAyNDcsIDExMSwgMjQzLCA0MCwgNjAsIAotICAgIDUsIDIyNCwgMjMsIDI0NywgMTExLCAyNDIsIDE1MiwgNjAsIDUsIDIyNCwgMjMsIDI0NywgMTExLCAyNDIsIDk1LCA2MCwgNSwgCi0gICAgMjI0LCAyMywgMjMwLCAzNywgMjQzLCA0MCwgNjAsIDUsIDIyNCwgMjMsIDIzMCwgMzcsIDI0MiwgMTUyLCA2MCwgNSwgMjI0LCAKLSAgICAyMywgMjQ3LCAxMTEsIDIyNCwgMjMsIDIzMCwgMzYsIDYwLCAyMSwgMjEyLCA3OSwgNjAsIDIxLCAxMTYsIDYwLCAyMSwgCi0gICAgMTA5LCA2MCwgMjEsIDE2NiwgNjAsIDIxLCAxNjMsIDYwLCAyMSwgMTgwLCA2MCwgMjEsIDE4OSwgNjAsIDIxLCAxOTgsIDYwLCAKLSAgICAyMSwgMTk1LCA2MCwgMjEsIDIwMCwgNjAsIDIxLCAxNTEsIDExNiwgNjAsIDIxLCAxNTEsIDEwOSwgNjAsIDIxLCAxNTEsIAotICAgIDE2NiwgNjAsIDIxLCAxNTEsIDE2MywgNjAsIDIxLCAxNTEsIDE4MCwgNjAsIDIxLCAxNTEsIDE4OSwgNjAsIDIxLCAxNTEsIAotICAgIDE5OCwgNjAsIDIxLCAxNTEsIDE5NSwgNjAsIDIxLCAxNTEsIDIwMCwgNjAsIDIxLCAxNTEsIDIxMiwgNzksIDYwLCAxNTIsIAotICAgIDI1MSwgNTksIDIyMywgNTQsIDYwLCAxNTIsIDIyOSwgMTUxLCAyNTAsIDI1NCwgMjI4LCAxMSwgMjEyLCAxOCwgNjAsIDE1MiwgCi0gICAgMjUwLCAxNzEsIDI1NSwgNjYsIDIyMywgNTUsIDI1MCwgMjU1LCAyMzEsIDE1LCAyNTAsIDE5NSwgNjAsIDE1MiwgMjI5LCAKLSAgICAxNTEsIDI1MCwgMjU0LCAyMjEsIDI4LCAyMjMsIDU0LCA2MCwgMTUyLCAyNTAsIDY4LCAyMzEsIDU4LCA2MCwgMTUyLCAyMTYsIAotICAgIDE0MiwgMjU1LCA2MywgNjAsIDE1MiwgMjQyLCA4MSwgMjIzLCA1NSwgMjQyLCA0NCwgNjAsIDE1MiwgMjQyLCA4MSwgMjIzLCAKLSAgICA1NSwgMjQyLCA1MCwgNjAsIDE1MiwgMjU0LCAyNSwgMjM0LCAxMjksIDI0MiwgNDQsIDYwLCAxNTIsIDI1NCwgMjUsIDIzNCwgCi0gICAgMTI5LCAyNDIsIDUwLCA2MCwgNSwgMjEzLCA1NSwgMjE2LCAxMjksIDYwLCA1LCAyMzEsIDIzMCwgMjE2LCAxMjksIDYwLCAxLCAKLSAgICAxODEsIDYwLCAxLCAyMzQsIDEzOCwgNjAsIDEsIDI0MywgMTEwLCA2MCwgMSwgMjQyLCAyMjUsIDYwLCAxLCAyMjksIDE1OSwgCi0gICAgNjAsIDEsIDI1MCwgMjE5LCA2MCwgMSwgMjUwLCA5MiwgNjAsIDEsIDIzNSwgMTM5LCA2MCwgMSwgMjI4LCAyMywgNjAsIDEsIAotICAgIDIxNiwgMTE1LCA2MCwgMSwgMjE2LCAxMDUsIDYwLCAxLCAyNDgsIDg2LCA2MCwgMSwgMjQ4LCA3MCwgNjAsIDEsIDIyOCwgCi0gICAgMTk4LCA2MCwgMSwgMjE4LCA1MiwgNjAsIDEsIDIxNywgMTYxLCA2MCwgMSwgMjQ4LCAxNjQsIDYwLCAxLCAyNDcsIDIzMiwgCi0gICAgNjAsIDEsIDIwNSwgNjAsIDEsIDE5MywgNjAsIDEsIDIyNiwgMjMsIDYwLCAxLCAyNTIsIDEwNywgNjAsIDEsIDI1MSwgMTk1LCAKLSAgICA2MCwgMSwgMTg4LCA2MCwgMSwgMjE2LCAxNDEsIDYwLCAxLCAyMTYsIDEzMywgNjAsIDEsIDI0NSwgMjQ5LCA2MCwgMSwgCi0gICAgMjQ1LCAyNDQsIDYwLCAxLCAyMTQsIDQ5LCA2MCwgMSwgMjEyLCA3NSwgNjAsIDEsIDIxMiwgMTA5LCA2MCwgMSwgMjU1LCAKLSAgICA2OSwgNjAsIDEsIDE4NiwgNjAsIDEsIDIwMywgNjAsIDEsIDIzMywgMTU3LCA2MCwgMSwgMjIxLCAyNCwgNjAsIDEsIDIxOSwgCi0gICAgMTU3LCA2MCwgMSwgMjIyLCAyMDIsIDYwLCAxLCAxNTksIDYwLCAxLCA2MSwgNjAsIDEsIDIzMywgMjQxLCA2MCwgMSwgMjQ0LCAKLSAgICA0NiwgMjAzLCA2MCwgMSwgMjM0LCA1NSwgNjAsIDEsIDIyMywgODEsIDYwLCAzMCwgNSwgMjU0LCAyMzIsIDYwLCAzMCwgNSwgCi0gICAgNzIsIDYwLCAzMCwgNSwgMjM2LCAyOCwgNjAsIDMwLCA1LCA2OSwgNjAsIDMwLCA1LCAyMTUsIDkyLCA2MCwgMzAsIDUsIAotICAgIDE2MSwgMTQ5LCA2MCwgMzAsIDUsIDE2MSwgMjIzLCA4MiwgNjAsIDMwLCA1LCAxNjEsIDE1MCwgNjAsIDMwLCA1LCAxNjEsIAotICAgIDIzMiwgMjE0LCA2MCwgMzAsIDUsIDc0LCA2MCwgMzAsIDUsIDI0NSwgMTY1LCA2MCwgMzAsIDUsIDc1LCA2MCwgMzAsIDUsIAotICAgIDIyNywgNDksIDYwLCA1LCAyMjMsIDExOCwgMjE5LCAyOCwgMjI5LCAxNjAsIDIyMywgMTEyLCA2MCwgNSwgMjIzLCAxMTcsIAotICAgIDI1MSwgMjUyLCA2MCwgMzAsIDUsIDIyMywgMjAyLCA3MiwgNjAsIDMwLCA1LCAyMjMsIDIwMiwgMjM2LCAyOCwgNjAsIDUsIAotICAgIDIyOCwgMTEsIDIxMiwgMTksIDIzMCwgNDQsIDI0OCwgMTY0LCA2MCwgNSwgMjE5LCAyNTUsIDIzMywgODQsIDYwLCAxNTIsIAotICAgIDI0MiwgMTEsIDYwLCAxNTIsIDIyNiwgMTg0LCA2MCwgNSwgMjMzLCA4NywgMjIzLCA1NCwgNjAsIDUsIDIxMywgNTksIDIyMywgCi0gICAgNTQsIDYwLCA1LCAyMzMsIDg4LCAyMTYsIDE0MiwgMjUwLCAxOTUsIDYwLCA1LCAyMzEsIDE1OSwgMjUwLCAxOTUsIDYwLCA1LCAKLSAgICAyNDIsIDk3LCAyNTAsIDE5NiwgMjIzLCAxOTMsIDYwLCA1LCAyNDIsIDk3LCAyMzEsIDE1MCwgMjIzLCAxOTMsIDYwLCA1LCAKLSAgICAyMzUsIDE5MSwgMjMxLCAxNTksIDI1MCwgMTk1LCA2MCwgMjE5LCAxOCwgNSwgMjMzLCA4OCwgMjE2LCAxNDIsIDI1MCwgCi0gICAgMTk1LCA2MCwgMjE5LCAxOCwgNSwgMjMxLCAxNTksIDI1MCwgMTk1LCA2MCwgMjE5LCAxOCwgNSwgMjM1LCAxOTEsIDIzMSwgCi0gICAgMTU5LCAyNTAsIDE5NSwgNjAsIDIxOSwgMTgsIDEsIDE4MSwgNjAsIDIxOSwgMTgsIDEsIDIzNCwgMTM4LCA2MCwgMjE5LCAKLSAgICAxOCwgMSwgMjQzLCAxMTAsIDYwLCAyMTksIDE4LCAxLCAyNDIsIDIyNSwgNjAsIDIxOSwgMTgsIDEsIDIyOSwgMTU5LCA2MCwgCi0gICAgMjE5LCAxOCwgMSwgMjUwLCAyMTksIDYwLCAyMTksIDE4LCAxLCAyNTAsIDkyLCA2MCwgMjE5LCAxOCwgMSwgMjM1LCAxMzksIAotICAgIDYwLCAyMTksIDE4LCAxLCAyMjgsIDIzLCA2MCwgMjE5LCAxOCwgMSwgMjE2LCAxMTUsIDYwLCAyMTksIDE4LCAxLCAyMTYsIAotICAgIDEwNSwgNjAsIDIxOSwgMTgsIDEsIDI0OCwgODYsIDYwLCAyMTksIDE4LCAxLCAyNDgsIDcwLCA2MCwgMjE5LCAxOCwgMSwgCi0gICAgMjI4LCAxOTgsIDYwLCAyMTksIDE4LCAxLCAyMTgsIDUyLCA2MCwgMjE5LCAxOCwgMSwgMjE3LCAxNjEsIDYwLCAyMTksIDE4LCAKLSAgICAxLCAyNDgsIDE2NCwgNjAsIDIxOSwgMTgsIDEsIDI0NywgMjMyLCA2MCwgMjE5LCAxOCwgMSwgMjA1LCA2MCwgMjE5LCAxOCwgCi0gICAgMSwgMTkzLCA2MCwgMjE5LCAxOCwgMSwgMjI2LCAyMywgNjAsIDIxOSwgMTgsIDEsIDI1MiwgMTA3LCA2MCwgMjE5LCAxOCwgCi0gICAgMSwgMjUxLCAxOTUsIDYwLCAyMTksIDE4LCAxLCAxODgsIDYwLCAyMTksIDE4LCAxLCAyMTYsIDE0MSwgNjAsIDIxOSwgMTgsIAotICAgIDEsIDIxNiwgMTMzLCA2MCwgMjE5LCAxOCwgMSwgMjQ1LCAyNDksIDYwLCAyMTksIDE4LCAxLCAyNDUsIDI0NCwgNjAsIDIxOSwgCi0gICAgMTgsIDEsIDIxNCwgNDksIDYwLCAyMTksIDE4LCAxLCAyMTIsIDc1LCA2MCwgMjE5LCAxOCwgMSwgMjEyLCAxMDksIDYwLCAKLSAgICAyMTksIDE4LCAxLCAyNTUsIDY5LCA2MCwgMjE5LCAxOCwgMSwgMTg2LCA2MCwgMjE5LCAxOCwgMSwgMjAzLCA2MCwgMjE5LCAKLSAgICAxOCwgMSwgMjMzLCAxNTcsIDYwLCAyMTksIDE4LCAxLCAyMjEsIDI0LCA2MCwgMjE5LCAxOCwgMSwgMjE5LCAxNTcsIDYwLCAKLSAgICAyMTksIDE4LCAxLCAyMjIsIDIwMiwgNjAsIDIxOSwgMTgsIDEsIDE1OSwgNjAsIDIxOSwgMTgsIDEsIDYxLCA2MCwgMjE5LCAKLSAgICAxOCwgMSwgMjMzLCAyNDEsIDYwLCAyMTksIDE4LCAxLCAyNDQsIDQ2LCAyMTQsIDQ5LCA2MCwgMjE5LCAxOCwgMSwgMjQ0LCAKLSAgICA0NiwgMTg2LCA2MCwgMjE5LCAxOCwgMSwgMjQ0LCA0NiwgMjAzLCA2MCwgMjMzLCAyMzksIDIyMywgNTIsIDIzNCwgMTM4LCAKLSAgICA2MCwgMjMzLCAyMzksIDIyMywgNTIsIDIzNCwgMTM5LCAyNTAsIDI1NSwgMjMxLCAxNSwgMjUwLCAxOTUsIDYwLCAyNTAsIAotICAgIDE4NCwgNSwgMTA3LCAyNTEsIDI0NiwgNjAsIDI1MCwgMTg0LCA1LCAxNzcsIDI1MSwgMjQ2LCA2MCwgMjUwLCAxODQsIDUsIAotICAgIDI1MCwgMTg1LCAyMTcsIDIyOCwgNjAsIDI1MCwgMTg0LCA1LCAyMjIsIDEyNSwgMjU1LCA2OCwgNjAsIDE2LCAyNDYsIDQ2LCAKLSAgICAyNTEsIDU0LCA2MCwgMTYsIDIyNCwgMjIsIDIyMywgMTE5LCA2MCwgMTYsIDIyNiwgMjAyLCAyNDMsIDM5LCA2MCwgMTYsIAotICAgIDIyNCwgMjIsIDIyMywgMTIwLCAyMjMsIDE5NSwgMjQyLCAxMjEsIDYwLCAxNiwgMjI1LCAyNDQsIDE5MywgNjAsIDE2LCAKLSAgICAyMjgsIDE3MCwgMjUxLCA1NCwgNjAsIDE2LCAyMjgsIDE3MCwgMjUxLCA1NSwgMjI4LCAyLCAyNTUsIDY1LCA2MCwgMTYsIAotICAgIDIyOCwgMTcwLCAyNTEsIDU1LCAyNDIsIDk2LCAyNTUsIDY1LCA2MCwgMTYsIDIyOCwgMTcwLCAyNTEsIDU1LCAyNTAsIDI1NSwgCi0gICAgMjU1LCA2NSwgNjAsIDUsIDIyNCwgMjMsIDIzMCwgMzcsIDIyNCwgMjMsIDI0NywgMTEwLCA2MCwgNSwgMjI0LCAyMywgMjMwLCAKLSAgICAzNywgMjQyLCA5NSwgNjAsIDE1MiwgMjUxLCA1OCwgMjIwLCAxODMsIDI0MiwgMTkxLCAyMzEsIDU5LCAyMjMsIDE5NCwgNjAsIAotICAgIDE1MiwgMjMwLCAyMzMsIDIxMiwgMjQ3LCAyNDIsIDE5MSwgMjMxLCA1OSwgMjIzLCAxOTQsIDYwLCAxNTIsIDIyOCwgMiwgCi0gICAgMjE2LCAxMzAsIDYwLCAxNTIsIDcwLCAyNTEsIDc5LCAyMjMsIDExNCwgMjEyLCAyNDcsIDIzMSwgNTksIDIzMSwgMTU4LCAKLSAgICAxODgsIDYwLCAxNTIsIDI0OSwgMTg5LCAyNTEsIDc5LCAyMjMsIDExNCwgMjEyLCAyNDcsIDIzMSwgNTksIDIyMSwgMzAsIAotICAgIDE4OCwgMjIzLCAxNDcsIDIxOCwgMjAwLCA1MiwgMjMzLCA2OSwgMjE4LCAyMDAsIDUyLCAyMjMsIDE0NywgMjE4LCAyMDAsIAotICAgIDUsIDIsIDI0NywgNzIsIDIzMywgNjksIDIxOCwgMjAwLCA1LCAyLCAyNDcsIDcyLCA2MCwgMTUyLCAyMzMsIDc5LCAyMzEsIAotICAgIDE2MCwgMjIzLCA1NCwgNjAsIDE1MiwgMjE2LCAyMDcsIDIzMSwgMTYwLCAyMjMsIDU0LCA2NCwgMSwgMTgxLCA2NCwgMSwgCi0gICAgMjM0LCAxMzgsIDY0LCAxLCAyNDMsIDExMCwgNjQsIDEsIDI0MiwgMjI1LCA2NCwgMSwgMjI5LCAxNTksIDY0LCAxLCAyNTAsIAotICAgIDIxOSwgNjQsIDEsIDI1MCwgOTIsIDY0LCAxLCAyMzUsIDEzOSwgNjQsIDEsIDIzNSwgMTE1LCA2NCwgMSwgMjI4LCAyMywgCi0gICAgNjQsIDEsIDIyOCwgMTg3LCA2NCwgMSwgMjE2LCAxMTUsIDY0LCAxLCAyMTYsIDEwNSwgNjQsIDEsIDI0OCwgODYsIDY0LCAxLCAKLSAgICAyNDgsIDcwLCA2NCwgMSwgMjI4LCAxOTgsIDY0LCAxLCAyMTgsIDUyLCA2NCwgMSwgMjE3LCAxNjEsIDY0LCAxLCAyNDgsIAotICAgIDE2NCwgNjQsIDEsIDI0NywgMjMyLCA2NCwgMSwgMjA1LCA2NCwgMSwgMTkzLCA2NCwgMSwgMjI2LCAyMywgNjQsIDEsIDI1MiwgCi0gICAgMTA3LCA2NCwgMSwgMjUxLCAxOTUsIDY0LCAxLCAxODgsIDY0LCAxLCAxODYsIDY0LCAxLCAyMDMsIDY0LCAxLCAyMzMsIAotICAgIDE1NywgNjQsIDEsIDIxNCwgNDksIDY0LCAxLCAyMjIsIDIwMiwgNjQsIDEsIDE1OSwgNjQsIDEsIDIzMiwgMjEzLCA2NCwgMSwgCi0gICAgNjEsIDY0LCAxLCAyMjEsIDksIDYxLCA2NCwgMSwgNzIsIDY0LCAxLCAyMzYsIDI4LCA2NCwgMSwgNjksIDY0LCAxLCAyMTUsIAotICAgIDkyLCA2NCwgMSwgNzQsIDY0LCAxLCAyMzAsIDIyMSwgNzQsIDY0LCAxLCA3NSwgNjQsIDEsIDI1MywgMTA4LCA2NCwgMzAsIAotICAgIDUsIDIxOCwgMTUsIDI1NCwgMjMyLCA2NCwgMzAsIDUsIDI1NCwgMjMyLCA2NCwgMzAsIDUsIDcyLCA2NCwgMzAsIDUsIDIzNiwgCi0gICAgMjgsIDY0LCAzMCwgNSwgNjksIDY0LCAzMCwgNSwgMjE1LCA5MiwgNjQsIDMwLCA1LCA3NCwgNjQsIDMwLCA1LCAyNTQsIAotICAgIDEwOCwgNjQsIDMwLCA1LCAyMzAsIDIyMSwgMjM2LCAyOCwgNjQsIDMwLCA1LCAyMzAsIDIyMSwgNzUsIDY0LCAzMCwgNSwgCi0gICAgMTkxLCA0OSwgNjQsIDUsIDI1MywgMjQyLCA2NCwgNSwgNjIsIDU1LCA2NCwgNSwgMjE0LCAxMjgsIDY0LCA1LCAyMTQsIAotICAgIDEzMywgNjQsIDUsIDI1MywgMTUwLCA2NCwgMjQ5LCAxMzMsIDUsIDEzOCwgMTg2LCA2NCwgMjQ5LCAxMzMsIDUsIDEzOCwgCi0gICAgMjAzLCA2NCwgMjQ5LCAxMzMsIDUsIDEzOCwgMjE0LCA0OSwgNjQsIDI0OSwgMTMzLCA1LCAxMzgsIDE1OSwgNjQsIDEsIAotICAgIDI0MiwgMTA5LCAyMjIsIDIwMiwgNjQsIDIxLCAyMTIsIDc5LCA2NCwgMjEsIDExNiwgNjQsIDIxLCAxMDksIDY0LCAyMSwgCi0gICAgMTY2LCA2NCwgMjEsIDE2MywgNjQsIDIxLCAxODAsIDY0LCAyMSwgMTg5LCA2NCwgMjEsIDE5OCwgNjQsIDIxLCAxOTUsIDY0LCAKLSAgICAyMSwgMjAwLCA2NCwgNSwgMjMyLCAyMjEsIDIyMiwgOTEsIDY0LCA1LCAyMjIsIDkxLCA2NCwgMTYsIDIzMiwgMjA1LCA2NCwgCi0gICAgMTYsIDI0OSwgMTUyLCA2NCwgMTYsIDI1NCwgMTI1LCA2NCwgMTYsIDI0MywgMjQsIDY0LCAxLCAyMjEsIDI0LCA2NCwgMSwgCi0gICAgMjE5LCAxNTcsIDY0LCAxLCAxNjEsIDE0OSwgNjQsIDEsIDE2MSwgMjIzLCA4MiwgNjQsIDEsIDE2MSwgMTUwLCA2NCwgMSwgCi0gICAgMTYxLCAyMzIsIDIxNCwgNjQsIDMwLCA1LCAxNjEsIDE0OSwgNjQsIDMwLCA1LCAxNjEsIDIyMywgODIsIDY0LCAzMCwgNSwgCi0gICAgMTYxLCAxNTAsIDY0LCAzMCwgNSwgMTYxLCAyMzIsIDIxNCwgNjQsIDEsIDIzMCwgMjIxLCAyMjksIDE1OSwgNjQsIDEsIAotICAgIDIzMCwgMjIxLCAyMzUsIDExNSwgNjQsIDEsIDIzMCwgMjIxLCAyNTIsIDMxLCA2NCwgMSwgMjMwLCAyMjEsIDI1MiwgMjYsIAotICAgIDY0LCAyNDksIDEzMywgNSwgMjMwLCAyMjEsIDEzOCwgMjA1LCA2NCwgMjQ5LCAxMzMsIDUsIDIzMCwgMjIxLCAxMzgsIDE4OCwgCi0gICAgNjQsIDI0OSwgMTMzLCA1LCAyMzAsIDIyMSwgMTM4LCAyMzMsIDE1NywgNjQsIDEsIDIyMSwgMjksIDIzNCwgMjE4LCAyMjEsIAotICAgIDI0LCA2NCwgMzAsIDUsIDIyMSwgMjksIDIzNCwgMjE4LCAyNDUsIDIyLCA2NCwgMTYwLCAxNTIsIDIyMSwgMjksIDIzNCwgCi0gICAgMjE4LCAyNDEsIDIzMCwgNjQsIDE2MCwgMTUyLCAyMjEsIDI5LCAyMzQsIDIxOCwgMjM0LCAxODksIDIyNSwgMjUzLCA2NCwgCi0gICAgMSwgMjEzLCAyNDgsIDIyNCwgMjUyLCAyMzQsIDIxOCwgMjE3LCAxNjEsIDY0LCAxLCAyMTMsIDI0OCwgMjI0LCAyNTIsIAotICAgIDIzNCwgMjE4LCAyMjUsIDIsIDY0LCAzMCwgNSwgMjEzLCAyNDgsIDIyNCwgMjUyLCAyMzQsIDIxOCwgMjQ1LCAyMiwgNjQsIAotICAgIDMwLCA1LCAyMTMsIDI0OCwgMjI0LCAyNTIsIDIzNCwgMjE4LCAyMTUsIDE4MywgNjQsIDUsIDIxMywgMjQ4LCAyMjQsIDI1MiwgCi0gICAgMjM0LCAyMTgsIDIxNiwgMjQwLCA2NCwgNSwgMjEzLCAyNDgsIDIyNCwgMjUyLCAyMzQsIDIxOCwgMjE2LCAyMzksIDY0LCA1LCAKLSAgICAyMTMsIDI0OCwgMjI0LCAyNTIsIDIzNCwgMjE4LCAyMTYsIDIzOCwgNjQsIDUsIDIxMywgMjQ4LCAyMjQsIDI1MiwgMjM0LCAKLSAgICAyMTgsIDIxNiwgMjM3LCA2NCwgNSwgMjEzLCAyNDgsIDIyNCwgMjUyLCAyMzQsIDIxOCwgMjE2LCAyMzYsIDY0LCAxLCAyNDUsIAotICAgIDE3NSwgMjI0LCAyNTIsIDIzNCwgMjE4LCAyMjgsIDE5OCwgNjQsIDEsIDI0NSwgMTc1LCAyMjQsIDI1MiwgMjM0LCAyMTgsIAotICAgIDIxMiwgMTY4LCA2NCwgMSwgMjQ1LCAxNzUsIDIyNCwgMjUyLCAyMzQsIDIxOCwgMjQyLCAxOTMsIDY0LCAzMCwgNSwgMjQzLCAKLSAgICAzNSwgMjM0LCAyMTgsIDcyLCA2NCwgMzAsIDUsIDIzNCwgMTk0LCAyMjcsIDk5LCA2NCwgMzAsIDUsIDIzNCwgMTk0LCA2OSwgCi0gICAgNjQsIDMwLCA1LCAyMzQsIDE5NCwgMjQ1LCAxNjUsIDY0LCAxLCAyMjEsIDksIDE4MSwgNjQsIDEsIDIyMSwgOSwgMjM0LCAKLSAgICAxMzgsIDY0LCAxLCAyMjEsIDksIDI0MywgMTEwLCA2NCwgMSwgMjIxLCA5LCAyNTAsIDIxOSwgNjQsIDEsIDIyMSwgOSwgCi0gICAgMjEyLCAxMDksIDY0LCAxLCAyMjEsIDksIDIyOCwgMjMsIDY0LCAxLCAyMjEsIDksIDI0OCwgMTY0LCA2NCwgMSwgMjIxLCA5LCAKLSAgICAyMDUsIDY0LCAxLCAyMjEsIDksIDIyNiwgMjMsIDY0LCAxLCAyMjEsIDksIDI0NCwgMTY0LCA2NCwgMSwgMjIxLCA5LCAyNTIsIAotICAgIDEwNywgNjQsIDEsIDIyMSwgOSwgMjE3LCAxNjEsIDY0LCAxLCAyMjEsIDksIDE1OSwgNjQsIDI0OSwgMTMzLCA1LCAyMjEsIAotICAgIDksIDEzOCwgMjE0LCA0OSwgNjQsIDMwLCA1LCAyMjEsIDksIDI1NCwgMjMyLCA2NCwgMzAsIDUsIDIyMSwgOSwgNzQsIDY0LCAKLSAgICAzMCwgNSwgMjIxLCA5LCAxOTEsIDQ5LCA2NCwgMzAsIDUsIDIyMSwgOSwgNDAsIDIxMywgMTA1LCA2NCwgNSwgMjIxLCA5LCAKLSAgICAyMTYsIDIzOSwgNjQsIDUsIDIyMSwgOSwgMjE2LCAyMzgsIDY0LCA1LCAyMjEsIDksIDIxNiwgMjM2LCA2NCwgNSwgMjIxLCAKLSAgICA5LCAyMTYsIDIzNSwgNjQsIDUsIDIyMSwgOSwgMjQ5LCA5MSwgMjE2LCAyMzksIDY0LCA1LCAyMjEsIDksIDI0OSwgOTEsIAotICAgIDIxNiwgMjM4LCA2NCwgNSwgMjIxLCA5LCAyNDksIDkxLCAyNDUsIDExMSwgMjE2LCAyNDEsIDY0LCAxLCAyMjMsIDM5LCAKLSAgICAyMjYsIDE5MCwgMjQ0LCAxNjQsIDY0LCA1LCAyMjMsIDM5LCAyMjYsIDE5MCwgMjE2LCAyMzYsIDY0LCAyMjEsIDksIDIxLCAKLSAgICAyMTIsIDc5LCA2NCwgMjIxLCA5LCAyMSwgMTE2LCA2NCwgMjIxLCA5LCAyMSwgMTA5LCA2NCwgMjIxLCA5LCAyMSwgMTY2LCAKLSAgICA2NCwgMjIxLCA5LCAyMSwgMTYzLCA2NCwgMjIxLCA5LCAyMSwgMTgwLCA2NCwgMjIxLCA5LCAyMSwgMTg5LCA2NCwgMjIxLCAKLSAgICA5LCAyMSwgMTk4LCA2NCwgMjIxLCA5LCAyMSwgMTk1LCA2NCwgMjIxLCA5LCAyMSwgMjAwLCA2NCwgNSwgMjM0LCAxMzIsIAotICAgIDIxNiwgMjQwLCA2NCwgNSwgMjM0LCAxMzIsIDIxNiwgMjM4LCA2NCwgMzAsIDUsIDI1NCwgOTgsIDYxLCA2NCwgMzAsIDUsIAotICAgIDI1NCwgOTgsIDI1NCwgMTA4LCA2NCwgMTYsIDIyMSwgOSwgMTE2LCA2NCwgMTYsIDIyMSwgOSwgMjQ0LCAyNTMsIDEwMCwgNiwgCi0gICAgMSwgMjU0LCAzMiwgMTAwLCA2LCAxLCAyNTIsIDcxLCAxMDAsIDYsIDEsIDI0MywgODIsIDEwMCwgNiwgMSwgMjQ3LCA4MiwgCi0gICAgMTAwLCA2LCAxLCAyNDUsIDEwOCwgMTAwLCA2LCAxLCAyMTQsIDE0MSwgMTAwLCA2LCAxLCAyMTIsIDgyLCAxMDAsIDYsIDEsIAotICAgIDIxOCwgMTEsIDEwMCwgNiwgMSwgMjM1LCAyNTEsIDEwMCwgNiwgMSwgMjM0LCAyMzksIDEwMCwgNiwgMSwgMjMzLCAxMDQsIAotICAgIDEwMCwgNiwgMSwgMjMxLCAyNDgsIDEwMCwgNiwgMSwgMjMwLCAxNSwgMTAwLCA2LCAxLCAyMjcsIDYyLCAxMDAsIDYsIDEsIAotICAgIDIyNiwgMTQ1LCAxMDAsIDYsIDEsIDIxMiwgNzEsIDEwMCwgNiwgMSwgMjI0LCA2MSwgMTAwLCA2LCAxLCAyMjIsIDE1OSwgCi0gICAgMTAwLCA2LCAxLCAyMTgsIDEsIDEwMCwgNiwgMSwgMjE1LCAxNjAsIDEwMCwgNiwgMSwgMjI2LCAxNiwgMTAwLCA2LCAxLCAKLSAgICAyMzQsIDEyNywgMTAwLCA2LCAxLCAyNDIsIDIxNywgMTAwLCA2LCAxLCAyMjQsIDIxNywgMTAwLCA2LCAxLCAyMjAsIDIwMCwgCi0gICAgMTAwLCA2LCAxLCAyNTAsIDM0LCAxMDAsIDYsIDEsIDI1MCwgMTk1LCAxMDAsIDYsIDEsIDIzNSwgMTAzLCAxMDAsIDYsIDEsIAotICAgIDI0OSwgMjMzLCAxMDAsIDYsIDEsIDI1MCwgNzksIDEwMCwgNiwgMSwgMjEzLCAxNTEsIDEwMCwgNiwgMSwgMjM1LCAxMTMsIAotICAgIDEwMCwgNiwgMSwgMjQyLCAyNCwgMTAwLCA2LCAxLCAyNDEsIDIyMiwgMTAwLCA2LCAxLCAyNDEsIDE2MCwgMTAwLCA2LCAxLCAKLSAgICAyMTQsIDYsIDEwMCwgNiwgMSwgMjQxLCAyNDMsIDEwMCwgNiwgMSwgMjQxLCA1MSwgMTAwLCAxLCAyNTQsIDMyLCAxMDAsIDEsIAotICAgIDI1MiwgNzEsIDEwMCwgMSwgMjQzLCA4MiwgMTAwLCAxLCAyNDcsIDgyLCAxMDAsIDEsIDI0NSwgMTA4LCAxMDAsIDEsIDIxNCwgCi0gICAgMTQxLCAxMDAsIDEsIDIxMiwgODIsIDEwMCwgMSwgMjE4LCAxMSwgMTAwLCAxLCAyMzUsIDI1MSwgMTAwLCAxLCAyMzQsIAotICAgIDIzOSwgMTAwLCAxLCAyMzMsIDEwNCwgMTAwLCAxLCAyMzEsIDI0OCwgMTAwLCAxLCAyMzAsIDE1LCAxMDAsIDEsIDIyNywgCi0gICAgNjIsIDEwMCwgMSwgMjI2LCAxNDUsIDEwMCwgMSwgMjEyLCA3MSwgMTAwLCAxLCAyMjQsIDYxLCAxMDAsIDEsIDIyMiwgMTU5LCAKLSAgICAxMDAsIDEsIDIxOCwgMSwgMTAwLCAxLCAyMTUsIDE2MCwgMTAwLCAxLCAyMjYsIDE2LCAxMDAsIDEsIDIzNCwgMTI3LCAxMDAsIAotICAgIDEsIDI0MiwgMjE3LCAxMDAsIDEsIDIyNCwgMjE3LCAxMDAsIDEsIDIyMCwgMjAwLCAxMDAsIDEsIDI1MCwgMzQsIDEwMCwgMSwgCi0gICAgMjUwLCAxOTUsIDEwMCwgMSwgMjM1LCAxMDMsIDEwMCwgMSwgMjQ5LCAyMzMsIDEwMCwgMSwgMjUwLCA3OSwgMTAwLCAxLCAKLSAgICAyMTMsIDE1MSwgMTAwLCAxLCAyMzUsIDExMywgMTAwLCAxLCAyNDIsIDI0LCAxMDAsIDEsIDI0MSwgMjIyLCAxMDAsIDEsIAotICAgIDI0MSwgMTYwLCAxMDAsIDEsIDIxNCwgNiwgMTAwLCAxLCAyNDEsIDI0MywgMTAwLCAxLCAyNDEsIDUxLCAxMDAsIDEsIDI0NCwgCi0gICAgOTAsIDEwMCwgMSwgMjEyLCAyMzcsIDEwMCwgMSwgMjQ1LCAxMjIsIDEwMCwgMSwgMjE2LCA1OCwgMjQzLCA4MiwgMTAwLCAxLCAKLSAgICAyNTQsIDEwMywgMTAwLCAyMjYsIDE0MywgMjIxLCA1NywgNTksIDEsIDEwMCwgMjMwLCAxNSwgMjMsIDk3LCAyMzQsIDY3LCAKLSAgICAyMywgOTcsIDIxOSwgMTUwLCAyMywgOTcsIDIyOSwgNTcsIDIzLCA5NywgMjE3LCA1NSwgMjMsIDk3LCAyMTksIDEzOSwgMjMsIAotICAgIDk3LCAyMjMsIDE3OSwgMjMsIDk3LCAyMzEsIDMwLCAyMywgOTcsIDIyNSwgMjI3LCAyMywgOTcsIDIxOSwgMTQ3LCAyMywgCi0gICAgOTcsIDIyMCwgNzYsIDIzLCA5NywgMjE5LCAxNDQsIDIzLCA5NywgMjM2LCA1MSwgMjMsIDk3LCAyNDksIDIzOSwgMjMsIDk3LCAKLSAgICAyMTksIDE1NCwgMjMsIDk3LCAyNTAsIDQzLCAyMywgOTcsIDIzNCwgMTE2LCAyMywgOTcsIDIxNywgMTI2LCAyMywgOTcsIAotICAgIDIyNiwgNywgMjMsIDk3LCAyNDEsIDE1OCwgMjMsIDk3LCAyMjksIDUzLCAyMywgOTcsIDIxOSwgMTQ4LCAyMywgOTcsIDIyOSwgCi0gICAgNDcsIDIzLCA5NywgMjI5LCA1MSwgMjMsIDk3LCAyMTcsIDUyLCAyMywgOTcsIDIyMywgMTY3LCAyMywgOTcsIDIxOSwgMTQ2LCAKLSAgICAyMywgOTcsIDIyMywgMTc3LCAyMywgOTcsIDIzNCwgMjIzLCAyMywgOTcsIDIzMSwgMjMsIDIzLCA5NywgMjM0LCAyMjYsIAotICAgIDIzLCA5NywgMjI1LCAyMjIsIDIzLCA5NywgMjI1LCAyMjAsIDIzLCA5NywgMjI1LCAyMDgsIDIzLCA5NywgMjI1LCAyMTYsIAotICAgIDIzLCA5NywgMjI1LCAyMTQsIDIzLCA5NywgMjI1LCAyMTEsIDIzLCA5NywgMjI1LCAyMTMsIDIzLCA5NywgMjI1LCAyMTAsIAotICAgIDIzLCA5NywgMjI1LCAyMTUsIDIzLCA5NywgMjI1LCAyMjUsIDIzLCA5NywgMjI1LCAyMjYsIDIzLCA5NywgMjI1LCAyMDksIAotICAgIDIzLCA5NywgMjI1LCAyMTksIDIzLCA5NywgMjM0LCAyMjQsIDIzLCA5NywgMjM0LCAyMjIsIDIzLCA5NywgMjIwLCA2OSwgCi0gICAgMjMsIDk3LCAyMjAsIDY3LCAyMywgOTcsIDIyMCwgNTksIDIzLCA5NywgMjIwLCA2MiwgMjMsIDk3LCAyMjAsIDY4LCAyMywgCi0gICAgOTcsIDIyMCwgNjQsIDIzLCA5NywgMjIwLCA2MywgMjMsIDk3LCAyMjAsIDYxLCAyMywgOTcsIDIyMCwgNzIsIDIzLCA5NywgCi0gICAgMjIwLCA3NCwgMjMsIDk3LCAyMjAsIDc1LCAyMywgOTcsIDIyMCwgNzAsIDIzLCA5NywgMjIwLCA2MCwgMjMsIDk3LCAyMjAsIAotICAgIDY1LCAyMywgOTcsIDIyMCwgNzMsIDIzLCA5NywgMjUwLCAyNywgMjMsIDk3LCAyNTAsIDI1LCAyMywgOTcsIDI1MCwgMTAyLCAKLSAgICAyMywgOTcsIDI1MCwgMTAwLCAyMywgOTcsIDIyNiwgMTYwLCAyMywgOTcsIDIzNiwgNDYsIDIzLCA5NywgMjM2LCAzNywgMjMsIAotICAgIDk3LCAyMzYsIDQ1LCAyMywgOTcsIDIzNiwgNDIsIDIzLCA5NywgMjM2LCA0MCwgMjMsIDk3LCAyMzYsIDQ0LCAyMywgOTcsIAotICAgIDIxOSwgMTUxLCAyMywgOTcsIDIzNiwgNDksIDIzLCA5NywgMjM2LCA1MCwgMjMsIDk3LCAyMzYsIDM4LCAyMywgOTcsIDIzNiwgCi0gICAgNDMsIDIzLCA5NywgMjEzLCAxNywgMjMsIDk3LCAyNDksIDIzOCwgMjMsIDk3LCAyNTAsIDI4LCAyMywgOTcsIDI1MCwgMjYsIAotICAgIDIzLCA5NywgMjUwLCAxMDMsIDIzLCA5NywgMjUwLCAxMDEsIDIzLCA5NywgMjUwLCA0MSwgMjMsIDk3LCAyNTAsIDQyLCAyMywgCi0gICAgOTcsIDI1MCwgMjksIDIzLCA5NywgMjUwLCAxMDQsIDIzLCA5NywgMjI2LCA1LCAyMywgOTcsIDIzNCwgMjI1LCAyMywgOTcsIAotICAgIDIxOSwgMTUyLCAyMywgOTcsIDIxMywgMjMsIDIzLCA5NywgMjM0LCA1OCwgMjMsIDk3LCAyMjksIDQ5LCAyMywgOTcsIDIyOSwgCi0gICAgNTUsIDIzLCA5NywgMjI5LCA1NCwgMjMsIDk3LCAyMTcsIDQ5LCAyMywgOTcsIDI0NCwgNzIsIDIzLCAxMzUsIDI0NCwgNzIsIAotICAgIDIzLCAxMzUsIDYxLCAyMywgMTM1LCAyNTQsIDE0OCwgMjMsIDEzNSwgMTg2LCAyMywgMTM1LCAyMTMsIDgwLCAyMywgMTM1LCAKLSAgICAyNDUsIDc2LCAyMywgMTM1LCA3NCwgMjMsIDEzNSwgMjEzLCAyNywgMjMsIDEzNSwgMjEzLCAzOCwgMjMsIDEzNSwgNzUsIAotICAgIDIzLCAxMzUsIDIxNCwgNDksIDIzLCAxMzUsIDIxNCwgNDYsIDIzLCAxMzUsIDIyNywgOTksIDIzLCAxMzUsIDIxMiwgMjM1LCAKLSAgICAyMywgMTM1LCA2OSwgMjMsIDEzNSwgMjEzLCAyNTIsIDIzLCAxMzUsIDIxNCwgNiwgMjMsIDEzNSwgMjEzLCAyMzUsIDIzLCAKLSAgICAxMzUsIDIxMiwgMjAzLCAyMywgMTM1LCAyNDUsIDIyLCAyMywgMTM1LCAyMTIsIDI1NSwgMjMsIDEzNSwgNzIsIDIzLCAxMzUsIAotICAgIDI1NSwgNjAsIDIzLCAxMzUsIDI1NSwgNTksIDIzLCAxMzUsIDIxMywgOTQsIDIzLCAxMzUsIDIxMywgOTIsIDIzLCAxMzUsIAotICAgIDI0NSwgNzQsIDIzLCAxMzUsIDI0NSwgNzMsIDIzLCAxMzUsIDI0NSwgNzUsIDIzLCAxMzUsIDIxMywgMjYsIDIzLCAxMzUsIAotICAgIDIxMywgMjUsIDIzLCAxMzUsIDIyNywgMjA0LCAyMywgMTM1LCAyMjcsIDIwNSwgMjMsIDEzNSwgMjI3LCAxOTgsIDIzLCAKLSAgICAxMzUsIDIyNywgMjAzLCAyMywgMTM1LCAyMjcsIDIwMSwgMjMsIDEzNSwgMjEyLCAyMjksIDIzLCAxMzUsIDIxMiwgMjI4LCAKLSAgICAyMywgMTM1LCAyMTIsIDIyNywgMjMsIDEzNSwgMjEyLCAyMzAsIDIzLCAxMzUsIDIxMiwgMjMxLCAyMywgMTM1LCAyMTUsIAotICAgIDI1MiwgMjMsIDEzNSwgMjE1LCAyNTEsIDIzLCAxMzUsIDIxNSwgMjUwLCAyMywgMTM1LCAyMTUsIDI0NywgMjMsIDEzNSwgCi0gICAgMjE1LCAyNDgsIDIzLCAxMzUsIDIxMiwgMjAyLCAyMywgMTM1LCAyMTIsIDE5OSwgMjMsIDEzNSwgMjEyLCAyMDAsIDIzLCAKLSAgICAxMzUsIDIxMiwgMTk0LCAyMywgMTM1LCAyMTIsIDE5NSwgMjMsIDEzNSwgMjEyLCAxOTYsIDIzLCAxMzUsIDIxMiwgMTk4LCAKLSAgICAyMywgMTM1LCAyNDUsIDE2LCAyMywgMTM1LCAyNDUsIDE4LCAyMywgMTM1LCAyMTIsIDI1NCwgMjMsIDEzNSwgMjQwLCAxNDUsIAotICAgIDIzLCAxMzUsIDI0MCwgMTM3LCAyMywgMTM1LCAyNDAsIDE0MCwgMjMsIDEzNSwgMjQwLCAxMzgsIDIzLCAxMzUsIDI0MCwgCi0gICAgMTQyLCAyMywgMTM1LCAyNDAsIDE0NCwgMjMsIDEzNSwgMjUzLCAyMDQsIDIzLCAxMzUsIDI1MywgMjAxLCAyMywgMTM1LCAKLSAgICAyNTMsIDE5OSwgMjMsIDEzNSwgMjUzLCAyMDAsIDIzLCAxMzUsIDIxOSwgMTU1LCAyMywgMTM1LCAyNTUsIDYxLCAyMywgCi0gICAgMTM1LCAyMTMsIDkzLCAyMywgMTM1LCAyMTMsIDI0LCAyMywgMTM1LCAyMjcsIDIwMCwgMjMsIDEzNSwgMjI3LCAxOTksIDIzLCAKLSAgICA4OSwgMjM0LCA2NywgMjMsIDg5LCAyMTksIDE1MCwgMjMsIDg5LCAyMzQsIDYwLCAyMywgODksIDIyOSwgNTcsIDIzLCA4OSwgCi0gICAgMjI5LCA1NSwgMjMsIDg5LCAyMjksIDU0LCAyMywgODksIDIxNywgNTUsIDIzLCA4OSwgMjIzLCAxNzksIDIzLCA4OSwgMjIzLCAKLSAgICAxNzQsIDIzLCA4OSwgMjIzLCAxNzEsIDIzLCA4OSwgMjIzLCAxNjQsIDIzLCA4OSwgMjIzLCAxNTksIDIzLCA4OSwgMjIzLCAKLSAgICAxNTQsIDIzLCA4OSwgMjIzLCAxNjUsIDIzLCA4OSwgMjIzLCAxNzcsIDIzLCA4OSwgMjMxLCAzMCwgMjMsIDg5LCAyMjUsIAotICAgIDIyNywgMjMsIDg5LCAyMjUsIDIxNiwgMjMsIDg5LCAyMjAsIDc2LCAyMywgODksIDIxOSwgMTQ0LCAyMywgODksIDIzNiwgCi0gICAgNTEsIDIzLCA4OSwgMjQ5LCAyMzksIDIzLCA4OSwgMjUwLCA0MywgMjMsIDg5LCAyMzQsIDExNiwgMjMsIDg5LCAyMTcsIAotICAgIDEyNiwgMjMsIDg5LCAyMjYsIDcsIDIzLCA4OSwgMjQxLCAxNTgsIDIzLCA4OSwgMjM0LCA2MSwgMjMsIDg5LCAyMzQsIDU5LCAKLSAgICAyMywgODksIDIyOSwgNTMsIDIzLCA4OSwgMjI5LCA0NywgMjMsIDg5LCAyMjksIDQ5LCAyMywgODksIDIyOSwgNTIsIDIzLCAKLSAgICA4OSwgMjI5LCA0OCwgMjMsIDg5LCAyMTcsIDUyLCAyMywgODksIDIxNywgNDksIDIzLCA4OSwgMjIzLCAxNzIsIDIzLCA4OSwgCi0gICAgMjIzLCAxNjcsIDIzLCA4OSwgMjIzLCAxNTMsIDIzLCA4OSwgMjIzLCAxNTIsIDIzLCA4OSwgMjE5LCAxNDYsIDIzLCA4OSwgCi0gICAgMjIzLCAxNjksIDIzLCA4OSwgMjIzLCAxNjgsIDIzLCA4OSwgMjIzLCAxNjEsIDIzLCA4OSwgMjIzLCAxNjMsIDIzLCA4OSwgCi0gICAgMjIzLCAxNzYsIDIzLCA4OSwgMjIzLCAxNTYsIDIzLCA4OSwgMjIzLCAxNjYsIDIzLCA4OSwgMjIzLCAxNzUsIDIzLCA4OSwgCi0gICAgMjIzLCAxNTEsIDIzLCA4OSwgMjMxLCAyNiwgMjMsIDg5LCAyMzEsIDIxLCAyMywgODksIDIzMSwgMjMsIDIzLCA4OSwgMjMxLCAKLSAgICAyMCwgMjMsIDg5LCAyMzEsIDE4LCAyMywgODksIDIzMSwgMjQsIDIzLCA4OSwgMjMxLCAyOSwgMjMsIDg5LCAyMzEsIDI3LCAKLSAgICAyMywgODksIDIzNCwgMjI2LCAyMywgODksIDIyNSwgMjE4LCAyMywgODksIDIyNSwgMjE5LCAyMywgODksIDIyNSwgMjI0LCAKLSAgICAyMywgODksIDIzNCwgMjI0LCAyMywgODksIDIyMCwgNjksIDIzLCA4OSwgMjIwLCA1OSwgMjMsIDg5LCAyMjAsIDYyLCAyMywgCi0gICAgODksIDIyMCwgNjQsIDIzLCA4OSwgMjI2LCAxNjAsIDIzLCA4OSwgMjM2LCA0NiwgMjMsIDg5LCAyMzYsIDM5LCAyMywgODksIAotICAgIDIxOSwgMTUxLCAyMywgODksIDIzNiwgNDcsIDIzLCA4OSwgMjEzLCAxNywgMjMsIDg5LCAyMTMsIDEzLCAyMywgODksIDIxMywgCi0gICAgMTQsIDIzLCA4OSwgMjI2LCA1LCAyMywgODksIDIzNCwgMjI1LCAyMywgODksIDI0MSwgMTU2LCAyMywgODksIDI0MSwgMTU0LCAKLSAgICAyMywgODksIDI0MSwgMTU3LCAyMywgODksIDI0MSwgMTU1LCAyMywgODksIDIxMywgMjMsIDIzLCA4OSwgMjM0LCA2MywgMjMsIAotICAgIDg5LCAyMzQsIDYyLCAyMywgODksIDIzNCwgNjYsIDIzLCA4OSwgMjM0LCA2NCwgMjMsIDg5LCAyMzQsIDY1LCAyMywgODksIAotICAgIDIxOSwgMTQ4LCAyOCwgNCwgMTU5LCAyOCwgNCwgMjQwLCAyMTIsIDI4LCA0LCAyNDEsIDE2NSwgMjgsIDQsIDI0MiwgMjcsIAotICAgIDI4LCA0LCAyNDEsIDIwNCwgMjgsIDQsIDI0MSwgMjIyLCAyOCwgNCwgMjQxLCA1NCwgMjgsIDQsIDI0MSwgNTMsIDI4LCA0LCAKLSAgICAyMzMsIDE1NywgMjgsIDQsIDIzMiwgMTU2LCAyOCwgNCwgMjMzLCAxMywgMjgsIDQsIDIzMywgMTU2LCAyOCwgNCwgMjMzLCAKLSAgICA3NCwgMjgsIDQsIDIzMywgODIsIDI4LCA0LCAyMzIsIDIwOCwgMjgsIDQsIDIzMiwgMTI5LCAyOCwgNCwgMjQxLCAxNzQsIAotICAgIDI4LCA0LCAyNDEsIDE2OCwgMjgsIDQsIDI0MSwgMTcwLCAyOCwgNCwgMjQxLCAxNzMsIDI4LCA0LCAyNDEsIDE3MSwgMjgsIAotICAgIDQsIDI0MSwgMTcyLCAyOCwgNCwgMjQxLCAxNjksIDI4LCA0LCAyNDEsIDE2NywgMjgsIDQsIDE4OCwgMjgsIDQsIDIzMCwgCi0gICAgMTcyLCAyOCwgNCwgMjMxLCA0MiwgMjgsIDQsIDIzMiwgNDEsIDI4LCA0LCAyMzEsIDE0NSwgMjgsIDQsIDIzMSwgMTU2LCAKLSAgICAyOCwgNCwgMjMwLCAyMzEsIDI4LCA0LCAyMzAsIDExNCwgMjgsIDQsIDIxOCwgMTEwLCAyOCwgNCwgMjE4LCAxMDQsIDI4LCAKLSAgICA0LCAyMTgsIDEwNiwgMjgsIDQsIDIxOCwgMTA5LCAyOCwgNCwgMjE4LCAxMDcsIDI4LCA0LCAyMTgsIDEwOCwgMjgsIDQsIAotICAgIDIxOCwgMTA1LCAyOCwgNCwgMjE4LCAxMDMsIDI4LCA0LCAyMDMsIDI4LCA0LCAyMjMsIDUxLCAyOCwgNCwgMjIzLCAxODgsIAotICAgIDI4LCA0LCAyMjQsIDc0LCAyOCwgNCwgMjI0LCAxLCAyOCwgNCwgMjI0LCAyMSwgMjgsIDQsIDIyMywgMTEyLCAyOCwgNCwgCi0gICAgMjIzLCAyMSwgMjgsIDQsIDIyMiwgMjAyLCAyOCwgNCwgMjE5LCAyNywgMjgsIDQsIDIyMCwgMTE3LCAyOCwgNCwgMjIyLCAKLSAgICAyMDAsIDI4LCA0LCAyMjIsIDg5LCAyOCwgNCwgMjIyLCAxMDAsIDI4LCA0LCAyMTksIDI0MiwgMjgsIDQsIDIxOCwgMTk4LCAKLSAgICAyOCwgNCwgMjIxLCAyNCwgMjgsIDQsIDIyMCwgMTUwLCAyOCwgNCwgMjIwLCAyMTIsIDI4LCA0LCAyMjEsIDIwLCAyOCwgNCwgCi0gICAgMjIwLCAyNDEsIDI4LCA0LCAyMjAsIDI0MywgMjgsIDQsIDIyMCwgMTg3LCAyOCwgNCwgMjIwLCAxMzQsIDI4LCA0LCAyMjQsIAotICAgIDIzMiwgMjgsIDQsIDIyNCwgMTc1LCAyOCwgNCwgMjI0LCAxOTgsIDI4LCA0LCAyMjQsIDIzMSwgMjgsIDQsIDIyNCwgMjEyLCAKLSAgICAyOCwgNCwgMjI0LCAyMTMsIDI4LCA0LCAyMjQsIDE4NywgMjgsIDQsIDIyNCwgMTg2LCAyOCwgNCwgMjI0LCAxMzEsIDI4LCAKLSAgICA0LCAyMjQsIDEyNywgMjgsIDQsIDIyNCwgMTMwLCAyOCwgNCwgMjI0LCAxMjgsIDI4LCA0LCAyMjQsIDEyOSwgMjgsIDQsIAotICAgIDIyNCwgMjEwLCAyOCwgNCwgMjI0LCAyMDQsIDI4LCA0LCAyMjQsIDIwNiwgMjgsIDQsIDIyNCwgMjA5LCAyOCwgNCwgMjI0LCAKLSAgICAyMDcsIDI4LCA0LCAyMjQsIDIwOCwgMjgsIDQsIDIyNCwgMjA1LCAyOCwgNCwgMjI0LCAyMDMsIDI4LCA0LCAyMjQsIDE5OSwgCi0gICAgMjgsIDQsIDIyNCwgMjAyLCAyOCwgNCwgMjI0LCAyMDAsIDI4LCA0LCAyMjQsIDIwMSwgMjgsIDQsIDI1MiwgMTA3LCAyOCwgCi0gICAgNCwgMjUxLCA1NCwgMjgsIDQsIDI1MSwgMTg0LCAyOCwgNCwgMjUyLCAxMDYsIDI4LCA0LCAyNTEsIDI0MiwgMjgsIDQsIAotICAgIDI1MSwgMjUxLCAyOCwgNCwgMjUxLCAxMjgsIDI4LCA0LCAyNTEsIDEyLCAyOCwgNCwgMjE1LCAxLCAyOCwgNCwgMjE0LCA5OSwgCi0gICAgMjgsIDQsIDIxNCwgMTU0LCAyOCwgNCwgMjE1LCAwLCAyOCwgNCwgMjE0LCAyMjcsIDI4LCA0LCAyMTQsIDIzMiwgMjgsIDQsIAotICAgIDIxNCwgMTE5LCAyOCwgNCwgMjE0LCA5MSwgMjgsIDQsIDIxOCwgNTIsIDI4LCA0LCAyMTYsIDgyLCAyOCwgNCwgMjE3LCA3MSwgCi0gICAgMjgsIDQsIDIxOCwgNDksIDI4LCA0LCAyMTcsIDIxOSwgMjgsIDQsIDIxNywgMjI5LCAyOCwgNCwgMTA4LCAyOCwgNCwgMjE2LCAKLSAgICA0NSwgMjgsIDQsIDI1MCwgMjE5LCAyOCwgNCwgMjQ5LCA1MywgMjgsIDQsIDI0OSwgMjQ0LCAyOCwgNCwgMjUwLCAyMTgsIAotICAgIDI4LCA0LCAyNTAsIDExNiwgMjgsIDQsIDI1MCwgMTI0LCAyOCwgNCwgMjQ5LCAxNzUsIDI4LCA0LCAyNDksIDI0LCAyOCwgNCwgCi0gICAgMjEzLCAxNTMsIDI4LCA0LCAyMTMsIDEyOSwgMjgsIDQsIDIxMywgMTQ1LCAyOCwgNCwgMjEzLCAxNTIsIDI4LCA0LCAyMTMsIAotICAgIDE0OSwgMjgsIDQsIDIxMywgMTUwLCAyOCwgNCwgMjEzLCAxMzYsIDI4LCA0LCAyMTMsIDEzNSwgMjgsIDQsIDIxMywgMTI0LCAKLSAgICAyOCwgNCwgMjEzLCAxMjAsIDI4LCA0LCAyMTMsIDEyMywgMjgsIDQsIDIxMywgMTIxLCAyOCwgNCwgMjEzLCAxMjIsIDI4LCAKLSAgICA0LCAyMDUsIDI4LCA0LCAyMjgsIDkyLCAyOCwgNCwgMjI5LCA2NCwgMjgsIDQsIDIzMCwgNDMsIDI4LCA0LCAyMjksIDE4NCwgCi0gICAgMjgsIDQsIDIyOSwgMTg3LCAyOCwgNCwgMjI4LCAxODUsIDI4LCA0LCAyMjgsIDMxLCAyOCwgNCwgMjI4LCAyMywgMjgsIDQsIAotICAgIDIyNywgMjQ3LCAyOCwgNCwgMjI4LCAxMCwgMjgsIDQsIDIyOCwgMjIsIDI4LCA0LCAyMjgsIDE2LCAyOCwgNCwgMjI4LCAxNywgCi0gICAgMjgsIDQsIDIyNywgMjUzLCAyOCwgNCwgMjI3LCAyMzksIDI4LCA0LCAyNDIsIDE1NiwgNjEsIDI4LCA0LCAyNDIsIDE1NiwgCi0gICAgNjksIDI4LCA0LCAyNDIsIDE1NiwgNzIsIDI4LCA0LCAyNDIsIDE1NiwgMjU0LCAyMzIsIDI4LCA0LCAyNDIsIDE1NiwgMjQ1LCAKLSAgICAxNjUsIDI4LCA0LCAyNDIsIDE1NiwgNzQsIDI4LCA0LCAyNDIsIDE1NiwgNzUsIDI4LCA0LCAyNDIsIDE1NiwgMjE0LCA0OSwgCi0gICAgMjgsIDQsIDE4MSwgMjgsIDQsIDIzMywgMjM4LCAyOCwgNCwgMjM0LCAxMDEsIDI4LCA0LCAyMzUsIDE0LCAyOCwgNCwgMjM0LCAKLSAgICAxODcsIDI4LCA0LCAyMzQsIDE4OCwgMjgsIDQsIDIzNCwgMzcsIDI4LCA0LCAyMzQsIDM2LCAyOCwgNCwgMjMzLCAyMDQsIAotICAgIDI4LCA0LCAyMzMsIDE5OCwgMjgsIDQsIDIzMywgMjAzLCAyOCwgNCwgMjMzLCAxOTksIDI4LCA0LCAyMzMsIDIwMCwgMjgsIAotICAgIDQsIDIzMywgMTkzLCAyOCwgNCwgMjMzLCAxODcsIDI4LCA0LCAyMzMsIDE4OSwgMjgsIDQsIDIzMywgMTkyLCAyOCwgNCwgCi0gICAgMjMzLCAxOTAsIDI4LCA0LCAyMzMsIDE5MSwgMjgsIDQsIDIzMywgMTg4LCAyOCwgNCwgMjMzLCAxODYsIDI4LCA0LCAyMzMsIAotICAgIDE4MiwgMjgsIDQsIDIzMywgMTg1LCAyOCwgNCwgMjMzLCAxODMsIDI4LCA0LCAyMzMsIDE4NCwgMjgsIDQsIDIxNCwgNDksIAotICAgIDI4LCA0LCAyMTMsIDE4MywgMjgsIDQsIDIxMywgMjM1LCAyOCwgNCwgMjE0LCA0OCwgMjgsIDQsIDIxNCwgMSwgMjgsIDQsIAotICAgIDIxNCwgNiwgMjgsIDQsIDIxMywgMjE0LCAyOCwgNCwgMjEzLCAyMTMsIDI4LCA0LCAyMjYsIDE1LCA2MSwgMjgsIDQsIDIyNiwgCi0gICAgMTUsIDY5LCAyOCwgNCwgMjI2LCAxNSwgNzIsIDI4LCA0LCAyMjYsIDE1LCAyNTQsIDIzMiwgMjgsIDQsIDIyNiwgMTUsIAotICAgIDI0NSwgMTY1LCAyOCwgNCwgMjI2LCAxNSwgNzQsIDI4LCA0LCAyMjYsIDE1LCA3NSwgMjgsIDQsIDIxMiwgMTA5LCAyOCwgNCwgCi0gICAgMjEyLCA4LCAyOCwgNCwgMjEyLCAzNywgMjgsIDQsIDIxMiwgMTA4LCAyOCwgNCwgMjEyLCA4NSwgMjgsIDQsIDIxMiwgODcsIAotICAgIDI4LCA0LCAyMTIsIDE2LCAyOCwgNCwgMjExLCAyNTEsIDI4LCA0LCAyMTIsIDc1LCAyOCwgNCwgMjEyLCA1NSwgMjgsIDQsIAotICAgIDIxMiwgNjIsIDI4LCA0LCAyMTIsIDc0LCAyOCwgNCwgMjEyLCA2NiwgMjgsIDQsIDIxMiwgNjcsIDI4LCA0LCAyMTIsIDYwLCAKLSAgICAyOCwgNCwgMjEyLCA0NiwgMjgsIDQsIDE4NiwgMjgsIDQsIDIxMiwgMjAzLCAyOCwgNCwgMjEyLCAyNTUsIDI4LCA0LCAyMTMsIAotICAgIDkxLCAyOCwgNCwgMjEzLCAzNSwgMjgsIDQsIDIxMywgMzgsIDI4LCA0LCAyMTIsIDIzNSwgMjgsIDQsIDIxMiwgMjI2LCAyOCwgCi0gICAgNCwgMjQ4LCAxNjQsIDI4LCA0LCAyNDYsIDMzLCAyOCwgNCwgMjQ3LCAyMTEsIDI4LCA0LCAyNDgsIDE2MywgMjgsIDQsIAotICAgIDI0OCwgMjgsIDI4LCA0LCAyNDgsIDQxLCAyOCwgNCwgMjQ3LCA5OSwgMjgsIDQsIDI0NiwgMiwgMjgsIDQsIDI0OCwgODYsIAotICAgIDI4LCA0LCAyNDgsIDUxLCAyOCwgNCwgMjQ4LCA2MywgMjgsIDQsIDI0OCwgODUsIDI4LCA0LCAyNDgsIDczLCAyOCwgNCwgCi0gICAgMjQ4LCA3NCwgMjgsIDQsIDI0OCwgNTYsIDI4LCA0LCAyNDgsIDQyLCAyOCwgNCwgMjM1LCAxMzksIDI4LCA0LCAyMzUsIDU0LCAKLSAgICAyOCwgNCwgMjM1LCAxMTAsIDI4LCA0LCAyMzUsIDEzOCwgMjgsIDQsIDIzNSwgMTI1LCAyOCwgNCwgMjM1LCAxMjcsIDI4LCAKLSAgICA0LCAyMzUsIDcxLCAyOCwgNCwgMjM1LCAzNSwgMjgsIDQsIDI0MywgMTEwLCAyOCwgNCwgMjQyLCA5MiwgMjgsIDQsIDI0MiwgCi0gICAgMTkwLCAyOCwgNCwgMjQzLCAxMDcsIDI4LCA0LCAyNDMsIDMxLCAyOCwgNCwgMjQzLCAzOCwgMjgsIDQsIDI0MiwgMTUwLCAKLSAgICAyOCwgNCwgMjQyLCAxNDksIDI4LCA0LCAyNDIsIDU5LCAyOCwgNCwgMjQyLCA1NSwgMjgsIDQsIDI0MiwgNTgsIDI4LCA0LCAKLSAgICAyNDIsIDU2LCAyOCwgNCwgMjQyLCA1NywgMjgsIDQsIDI0MywgNSwgMjgsIDQsIDI0MiwgMjQxLCAyOCwgNCwgMjQyLCAyNTEsIAotICAgIDI4LCA0LCAyNDMsIDQsIDI4LCA0LCAyNDIsIDI1NSwgMjgsIDQsIDI0MywgMCwgMjgsIDQsIDI0MiwgMjQ1LCAyOCwgNCwgCi0gICAgMjQyLCAyMzAsIDI4LCA0LCAyMTcsIDE2MSwgMjgsIDQsIDIxNywgOTAsIDI4LCA0LCAyMTcsIDEyOCwgMjgsIDQsIDIxNywgCi0gICAgMTYwLCAyOCwgNCwgMjE3LCAxNDcsIDI4LCA0LCAyMTcsIDE0OCwgMjgsIDQsIDIxNywgMTA5LCAyOCwgNCwgMjE3LCA4MiwgCi0gICAgMjgsIDQsIDI1MCwgOTIsIDI4LCA0LCAyNTAsIDYsIDI4LCA0LCAyNTAsIDQ3LCAyOCwgNCwgMjUwLCA5MSwgMjgsIDQsIAotICAgIDI1MCwgNjQsIDI4LCA0LCAyNTAsIDY3LCAyOCwgNCwgMjUwLCAyMywgMjgsIDQsIDI0OSwgMjUxLCAyOCwgNCwgMjI2LCAyMywgCi0gICAgMjgsIDQsIDIyNSwgMjQ2LCAyOCwgNCwgMjI2LCA5LCAyOCwgNCwgMjI2LCAyMiwgMjgsIDQsIDIyNiwgMTEsIDI4LCA0LCAKLSAgICAyMjYsIDEyLCAyOCwgNCwgMjI1LCAyNTMsIDI4LCA0LCAyMjUsIDI0MiwgMjgsIDQsIDIxNiwgMTQxLCAyOCwgNCwgMjE2LCAKLSAgICAxMjIsIDI4LCA0LCAyMTYsIDEyNSwgMjgsIDQsIDIxNiwgMTQwLCAyOCwgNCwgMjE2LCAxMzUsIDI4LCA0LCAyMTYsIDEzNiwgCi0gICAgMjgsIDQsIDIxNiwgMTI0LCAyOCwgNCwgMjE2LCAxMjAsIDI4LCA0LCAyMTYsIDUsIDI4LCA0LCAyMTUsIDI1MywgMjgsIDQsIAotICAgIDIxNiwgMSwgMjgsIDQsIDIxNiwgNCwgMjgsIDQsIDIxNiwgMiwgMjgsIDQsIDIxNiwgMywgMjgsIDQsIDIxNSwgMjU1LCAyOCwgCi0gICAgNCwgMjE1LCAyNTQsIDI4LCA0LCAyNDQsIDE2NCwgMjgsIDQsIDI0MywgMjA1LCAyOCwgNCwgMjQ0LCA5MCwgMjgsIDQsIAotICAgIDI0NCwgMTYzLCAyOCwgNCwgMjQ0LCAxMTYsIDI4LCA0LCAyNDQsIDEyMywgMjgsIDQsIDI0NCwgMTIsIDI4LCA0LCAyNDMsIAotICAgIDE4OCwgMjgsIDQsIDE5MywgMjgsIDQsIDIyNSwgMzUsIDI4LCA0LCAyMjUsIDI0MCwgMjgsIDQsIDIyNiwgMjEzLCAyOCwgNCwgCi0gICAgMjI2LCA4NiwgMjgsIDQsIDIyNiwgOTYsIDI4LCA0LCAyMjUsIDE1MCwgMjgsIDQsIDIyNSwgMiwgMjgsIDQsIDIyMywgMTEsIAotICAgIDI4LCA0LCAyMzAsIDEwMywgMjgsIDQsIDI0MywgMTgyLCAyOCwgMzcsIDI0MywgMjksIDI0LCAzMCwgMjMzLCA0NywgNzcsIAotICAgIDI4LCAzNywgMzAsIDIzMywgNDcsIDc3LCAyOCwgMzcsIDI0MywgMjksIDc3LCAyOCwgMjIyLCA5MiwgNzcsIDI4LCAyMTMsIAotICAgIDE5NSwgMjgsIDI0MywgMjAwLCAyMTksIDY5LCAyOCwgMjQ5LCAxNTcsIDI4LCAyMjEsIDcwLCAyOCwgMjQ5LCAxNjQsIDI4LCAKLSAgICAyMjUsIDc5LCAyNDksIDE2NCwgMjgsIDIyNCwgMTU4LCA3NywgMjgsIDIyNiwgMTQzLCAyMjEsIDU3LCAyOCwgMjEsIDExNiwgCi0gICAgMjgsIDIxLCAxMDksIDI4LCAyMSwgMTY2LCAyOCwgMjEsIDE2MywgMjgsIDIxLCAxODAsIDI4LCAyMSwgMTg5LCAyOCwgMjEsIAotICAgIDE5OCwgMjgsIDIxLCAxOTUsIDI4LCAyMSwgMjAwLCAyOCwgNTAsIDIxNywgMjAwLCAyOCwgNTAsIDIxNiwgMzgsIDI4LCA1MCwgCi0gICAgMjE3LCAxMTUsIDI4LCA1MCwgMjQzLCAyNDAsIDI4LCA1MCwgMjQ0LCA4MywgMjgsIDUwLCAyMjAsIDM5LCAyOCwgNTAsIAotICAgIDIyMSwgMzcsIDI4LCA1MCwgMjQ1LCAxNDEsIDI4LCA1MCwgMjI5LCAyNiwgMjgsIDUwLCAyNDAsIDIwMCwgMjgsIDUwLCAKLSAgICAyMTcsIDIwMSwgMjE3LCAxMDAsIDI4LCA0LCAyMjIsIDk2LCAyMzAsIDExNCwgMjgsIDQsIDIzMCwgMTEwLCAyOCwgNCwgCi0gICAgMjMwLCAxMTEsIDI4LCA0LCAyMzAsIDExMiwgMjgsIDQsIDIyMiwgOTYsIDI1MSwgMTIsIDI4LCA0LCAyNTEsIDksIDI4LCA0LCAKLSAgICAyNTEsIDEwLCAyOCwgNCwgMjUxLCAxMSwgMjgsIDQsIDIyMiwgOTYsIDI0MywgMTg4LCAyOCwgNCwgMjQzLCAxODQsIDI4LCAKLSAgICA0LCAyNDMsIDE4NSwgMjgsIDQsIDI0MywgMTg2LCAyOCwgNCwgMjIyLCA5NiwgMjI1LCAyLCAyOCwgNCwgMjI0LCAyNTQsIAotICAgIDI4LCA0LCAyMjQsIDI1NSwgMjgsIDQsIDIyNSwgMCwgMjgsIDIxNiwgMjQyLCAxNTIsIDIxMiwgMjM4LCAyOCwgMjE2LCAKLSAgICAyNDIsIDE1MiwgMjQ3LCAyNDgsIDI4LCAyMTYsIDI0MiwgMTUyLCAyMjMsIDEzNSwgMjgsIDIxNiwgMjQyLCAxNTIsIDIyMCwgCi0gICAgMTc1LCAyMjMsIDEzNSwgMjgsIDIxNiwgMjQyLCAxNTIsIDI0NywgMTg3LCAyOCwgMjE2LCAyNDIsIDE1MiwgMjM0LCAxNzAsIAotICAgIDI4LCAyMTYsIDI0MiwgMTUyLCAyNTAsIDMxLCAyOCwgMjE2LCAyNDIsIDE1MiwgMjQxLCAxNjIsIDI4LCAyMTYsIDI0MiwgCi0gICAgMTUyLCAyNDcsIDI0NywgMjgsIDIxNiwgMjQyLCAxNTIsIDIzMywgMjE1LCAxNTgsIDEsIDYxLCAxNTgsIDEsIDc0LCAxNTgsIAotICAgIDEsIDcyLCAxNTgsIDEsIDc1LCAxNTgsIDEsIDY5LCAxNTgsIDEsIDIxNSwgNzksIDE1OCwgMSwgMjQzLCAxMTAsIDE1OCwgMSwgCi0gICAgMTgxLCAxNTgsIDEsIDI0MywgMzgsIDE1OCwgMSwgMjQyLCAxOTAsIDE1OCwgMSwgMjQyLCAxNTAsIDE1OCwgMSwgMjQyLCAKLSAgICA5MiwgMTU4LCAxLCAyNDIsIDYwLCAxNTgsIDEsIDE1OSwgMTU4LCAxLCAyNDEsIDIyMiwgMTU4LCAxLCAyNDEsIDE2NSwgCi0gICAgMTU4LCAxLCAyNDEsIDU0LCAxNTgsIDEsIDI0MCwgMjEyLCAxNTgsIDEsIDI0MCwgMTkzLCAxNTgsIDEsIDIzMywgMTU3LCAKLSAgICAxNTgsIDEsIDIzMywgODIsIDE1OCwgMSwgMjMzLCAxMywgMTU4LCAxLCAyMzIsIDIwOCwgMTU4LCAxLCAyMzIsIDE1NiwgCi0gICAgMTU4LCAxLCAyMzIsIDEzMCwgMTU4LCAxLCAxODgsIDE1OCwgMSwgMjMxLCAxNTYsIDE1OCwgMSwgMjMxLCA0MiwgMTU4LCAxLCAKLSAgICAyMzAsIDIzMSwgMTU4LCAxLCAyMzAsIDE3MiwgMTU4LCAxLCAyMDUsIDE1OCwgMSwgMjQxLCA3NiwgMTU4LCAxLCAyMzAsIAotICAgIDMxLCAxNTgsIDEsIDIyOSwgMTg3LCAxNTgsIDEsIDIyOSwgNjQsIDE1OCwgMSwgMjI4LCAxODUsIDE1OCwgMSwgMjI4LCA5MiwgCi0gICAgMTU4LCAxLCAyMjgsIDMzLCAxNTgsIDEsIDIyNCwgMTc0LCAxNTgsIDEsIDIyNCwgMTYxLCAxNTgsIDEsIDIyNCwgMTU0LCAKLSAgICAxNTgsIDEsIDIyNCwgMTQ2LCAxNTgsIDEsIDIyNCwgMTM1LCAxNTgsIDEsIDIyNCwgMTMzLCAxNTgsIDEsIDIyMiwgMjAyLCAKLSAgICAxNTgsIDEsIDE5NywgMTU4LCAxLCAyMjIsIDEwMCwgMTU4LCAxLCAyMjAsIDExNywgMTU4LCAxLCAyMTksIDI0MiwgMTU4LCAKLSAgICAxLCAyMTksIDI3LCAxNTgsIDEsIDIxOCwgMjAzLCAxNTgsIDEsIDI0OCwgMTY0LCAxNTgsIDEsIDIxOCwgNTIsIDE1OCwgMSwgCi0gICAgMjQ4LCA0MSwgMTU4LCAxLCAyMTcsIDIyOSwgMTU4LCAxLCAyNDcsIDIxMSwgMTU4LCAxLCAyMTcsIDcxLCAxNTgsIDEsIAotICAgIDI0NywgOTksIDE1OCwgMSwgMjQ2LCAzMywgMTU4LCAxLCAyNDYsIDUsIDE1OCwgMSwgMjQ3LCAxMDgsIDE1OCwgMSwgMjE3LCAKLSAgICAxMiwgMTU4LCAxLCAyMTcsIDExLCAxNTgsIDEsIDIxNywgMSwgMTU4LCAxLCAyMTcsIDAsIDE1OCwgMSwgMjE2LCAyNTUsIAotICAgIDE1OCwgMSwgMjE2LCAyNTQsIDE1OCwgMSwgMjE2LCAxNDEsIDE1OCwgMSwgMjE2LCAxMzYsIDE1OCwgMSwgMjE2LCAxMjUsIAotICAgIDE1OCwgMSwgMjE2LCAxMjQsIDE1OCwgMSwgMjE2LCAxMjIsIDE1OCwgMSwgMjE2LCAxMjEsIDE1OCwgMSwgMjE0LCA0OSwgCi0gICAgMTU4LCAxLCAyMTQsIDYsIDE1OCwgMSwgMjEzLCAyMzUsIDE1OCwgMSwgMjEzLCAyMTQsIDE1OCwgMSwgMjEzLCAxODMsIAotICAgIDE1OCwgMSwgMjEzLCAxNzEsIDE1OCwgMSwgMTg2LCAxNTgsIDEsIDIxMywgMzgsIDE1OCwgMSwgMjEyLCAyNTUsIDE1OCwgMSwgCi0gICAgMjEyLCAyMzUsIDE1OCwgMSwgMjEyLCAyMDMsIDE1OCwgMSwgMjEyLCAxNjksIDE4LCAxOSwgMjQwLCAxNjAsIDE4LCAxOSwgCi0gICAgNzQsIDE4LCAxOSwgMjU0LCAxOTYsIDE4LCAxOSwgNzIsIDE4LCAxOSwgMjM2LCAyOCwgMTgsIDE5LCA3NSwgMTgsIDE5LCAKLSAgICAyMjcsIDQ5LCAxOCwgMTksIDIxMywgMTA0LCAyMjcsIDQ5LCAxOCwgMTksIDY2LCAyNDUsIDE2NSwgMTgsIDE5LCA2NiwgNzIsIAotICAgIDE4LCAxOSwgNjEsIDE4LCAxOSwgMjU0LCAyMzIsIDE4LCAxOSwgMjE0LCA2LCAxOCwgMTksIDE0OCwgMjE0LCA2LCAxOCwgCi0gICAgMTksIDIxMywgMjM1LCAxOCwgMTksIDE0OCwgMjEzLCAyMzUsIDE4LCAxOSwgMjEzLCAyMjcsIDE4LCAxOSwgMTQ4LCAyMTMsIAotICAgIDIyNywgMTgsIDE5LCAyMTMsIDIxNCwgMTgsIDE5LCAxNDgsIDIxMywgMjE0LCAxOCwgMTksIDIxMywgMjAyLCAxOCwgMTksIAotICAgIDE0OCwgMjEzLCAyMDIsIDE4LCAxOSwgMjMwLCAxMSwgMjEzLCAyMDIsIDE4LCAxOSwgMjE0LCA0OSwgMTgsIDE5LCAxNDgsIAotICAgIDIxNCwgNDksIDE4LCAxOSwgMjE0LCA0OCwgMTgsIDE5LCAxNDgsIDIxNCwgNDgsIDE4LCAxOSwgMjMwLCAxMSwgMjE0LCA0OCwgCi0gICAgMTgsIDE5LCAyNTQsIDEwOCwgMTgsIDE5LCAyMTMsIDEwNCwgMjE0LCA4MiwgMTgsIDE5LCAyNDIsIDE1NiwgMjE5LCA2OSwgCi0gICAgMTgsIDE5LCA0MCwgMTc5LCAxOCwgMTksIDQwLCAyNDIsIDExMywgMTgsIDE5LCA0MCwgMjUxLCAxMDEsIDE1MSwgMjIzLCAKLSAgICAxMzAsIDE4LCAxOSwgNDAsIDIxNiwgMjI3LCAxNTEsIDIyMywgMTMwLCAxOCwgMTksIDQwLCA0NiwgMTUxLCAyMjMsIDEzMCwgCi0gICAgMTgsIDE5LCA0MCwgMjIzLCAxMzAsIDE4LCAxOSwgNDAsIDUxLCAxNzksIDE4LCAxOSwgNDAsIDUxLCAyMjAsIDE3NSwgNzEsIAotICAgIDIxOSwgMzIsIDE4LCAxOSwgNDAsIDIzMSwgMzcsIDI0NywgNzQsIDE4LCAxOSwgNDAsIDIyMCwgMTc1LCAxOTksIDkwLCAxOCwgCi0gICAgMTksIDQwLCAyMjUsIDE1NiwgMTgsIDE5LCA0MCwgMTE5LCAyMTgsIDM2LCAxOCwgMTksIDI0NSwgMTA4LCAxOCwgMTksIAotICAgIDIzNSwgMjUxLCAxOCwgMTksIDIyNywgNjIsIDE4LCAxOSwgMjU0LCAzMiwgMTgsIDE5LCAyMjYsIDk2LCAxOCwgMTksIDIyNiwgCi0gICAgMjExLCAxOCwgMTksIDIyNSwgMjQwLCAxOCwgMTksIDIyNSwgMjAzLCAxOCwgMTksIDIyNSwgMTUwLCAxOCwgMTksIDIyNSwgCi0gICAgMTI5LCAxOCwgMTksIDIxMywgMTA0LCAyMjUsIDEyOSwgMTgsIDE5LCA2NiwgMjQxLCAyMDQsIDE4LCAxOSwgNjYsIDI0MSwgCi0gICAgMTY1LCAxOCwgMTksIDE5MywgMTgsIDE5LCAyMjYsIDIxMywgMTgsIDE5LCAyMjUsIDAsIDE4LCAxOSwgMTQ4LCAyMjUsIDAsIAotICAgIDE4LCAxOSwgMjI0LCAyNTQsIDE4LCAxOSwgMTQ4LCAyMjQsIDI1NCwgMTgsIDE5LCAyMjQsIDI1MywgMTgsIDE5LCAxNDgsIAotICAgIDIyNCwgMjUzLCAxOCwgMTksIDIyNCwgMjUxLCAxOCwgMTksIDE0OCwgMjI0LCAyNTEsIDE4LCAxOSwgMjI0LCAyNTAsIDE4LCAKLSAgICAxOSwgMTQ4LCAyMjQsIDI1MCwgMTgsIDE5LCAyMjUsIDIsIDE4LCAxOSwgMTQ4LCAyMjUsIDIsIDE4LCAxOSwgMjI1LCAxLCAKLSAgICAxOCwgMTksIDE0OCwgMjI1LCAxLCAxOCwgMTksIDIxMywgMTA0LCAyMjUsIDEsIDE4LCAxOSwgMjI2LCAyMjksIDE4LCAxOSwgCi0gICAgMTQ4LCAyMjYsIDIyOSwgMTgsIDE5LCA2NiwgMjQyLCA0MSwgMTgsIDE5LCAyMTcsIDIyOSwgMTgsIDE5LCAyMTgsIDQ3LCAKLSAgICAxOCwgMTksIDIxNywgNzEsIDE4LCAxOSwgMjE3LCA1NywgMTgsIDE5LCAxMDgsIDE4LCAxOSwgMjE2LCAyMzAsIDE4LCAxOSwgCi0gICAgMjEzLCAxMDQsIDIxNiwgMjMwLCAxOCwgMTksIDY2LCAyNDgsIDI4LCAxOCwgMTksIDY2LCAyNDcsIDIxMSwgMTgsIDE5LCAKLSAgICAyMTgsIDUyLCAxOCwgMTksIDIxOCwgNDksIDE4LCAxOSwgMjE2LCA0MywgMTgsIDE5LCAxNDgsIDIxNiwgNDMsIDE4LCAxOSwgCi0gICAgMjE2LCAyNywgMTgsIDE5LCAxNDgsIDIxNiwgMjcsIDE4LCAxOSwgMjE2LCAyNiwgMTgsIDE5LCAxNDgsIDIxNiwgMjYsIDE4LCAKLSAgICAxOSwgMTA5LCAxOCwgMTksIDE0OCwgMTA5LCAxOCwgMTksIDIxNiwgMjAsIDE4LCAxOSwgMTQ4LCAyMTYsIDIwLCAxOCwgMTksIAotICAgIDIxNiwgNDUsIDE4LCAxOSwgMTQ4LCAyMTYsIDQ1LCAxOCwgMTksIDIxNiwgNDQsIDE4LCAxOSwgMTQ4LCAyMTYsIDQ0LCAxOCwgCi0gICAgMTksIDIzMCwgMTEsIDIxNiwgNDQsIDE4LCAxOSwgMjE4LCA5OSwgMTgsIDE5LCAyMTYsIDExMiwgMTgsIDE5LCAyMTYsIDk2LCAKLSAgICAxOCwgMTksIDIxNiwgOTUsIDE4LCAxOSwgMjE2LCAxMTUsIDE4LCAxOSwgMjM0LCAxODgsIDE4LCAxOSwgMjM1LCAxMSwgMTgsIAotICAgIDE5LCAyMzQsIDEwMSwgMTgsIDE5LCAyMzQsIDkyLCAxOCwgMTksIDIzNCwgMzcsIDE4LCAxOSwgMjM0LCAxOSwgMTgsIDE5LCAKLSAgICAyMTMsIDEwNCwgMjM0LCAxOSwgMTgsIDE5LCAxODEsIDE4LCAxOSwgMjM1LCAxNCwgMTgsIDE5LCAyMzMsIDIwMCwgMTgsIAotICAgIDE5LCAxNDgsIDIzMywgMjAwLCAxOCwgMTksIDIzMywgMTk4LCAxOCwgMTksIDE0OCwgMjMzLCAxOTgsIDE4LCAxOSwgMjMzLCAKLSAgICAxOTcsIDE4LCAxOSwgMTQ4LCAyMzMsIDE5NywgMTgsIDE5LCAyMzMsIDE5NiwgMTgsIDE5LCAxNDgsIDIzMywgMTk2LCAxOCwgCi0gICAgMTksIDIzMywgMTk1LCAxOCwgMTksIDE0OCwgMjMzLCAxOTUsIDE4LCAxOSwgMjMzLCAyMDQsIDE4LCAxOSwgMTQ4LCAyMzMsIAotICAgIDIwNCwgMTgsIDE5LCAyMzMsIDIwMywgMTgsIDE5LCAxNDgsIDIzMywgMjAzLCAxOCwgMTksIDIzMCwgMTEsIDIzMywgMjAzLCAKLSAgICAxOCwgMTksIDIzNSwgMjcsIDE4LCAxOSwgMjMzLCAyMDUsIDE4LCAxOSwgMjE5LCAyMTQsIDIzNCwgMTgyLCAxOCwgMTksIAotICAgIDIxOSwgMjE0LCAyMzQsIDkzLCAxOCwgMTksIDIxOSwgMjE0LCAyMzQsIDMyLCAxOCwgMTksIDIxOSwgMjE0LCAyMzQsIDI1MiwgCi0gICAgMTgsIDE5LCAyNTAsIDEyNCwgMTgsIDE5LCAyNTAsIDIxNywgMTgsIDE5LCAyNDksIDI0NCwgMTgsIDE5LCAyNDksIDIzNCwgCi0gICAgMTgsIDE5LCAyNDksIDE3NSwgMTgsIDE5LCAyNDksIDExMywgMTgsIDE5LCAyMTMsIDEwNCwgMjQ5LCAxMTMsIDE4LCAxOSwgCi0gICAgMjUwLCAyMTksIDE4LCAxOSwgMjUwLCAyMTgsIDE4LCAxOSwgMjQ5LCAyMiwgMTgsIDE5LCAxNDgsIDI0OSwgMjIsIDE4LCAKLSAgICAxOSwgMjQ5LCAyMCwgMTgsIDE5LCAxNDgsIDI0OSwgMjAsIDE4LCAxOSwgMjQ5LCAxOSwgMTgsIDE5LCAxNDgsIDI0OSwgMTksIAotICAgIDE4LCAxOSwgMjQ5LCAxOCwgMTgsIDE5LCAxNDgsIDI0OSwgMTgsIDE4LCAxOSwgMjQ5LCAxNywgMTgsIDE5LCAxNDgsIDI0OSwgCi0gICAgMTcsIDE4LCAxOSwgMjQ5LCAyNCwgMTgsIDE5LCAxNDgsIDI0OSwgMjQsIDE4LCAxOSwgMjQ5LCAyMywgMTgsIDE5LCAxNDgsIAotICAgIDI0OSwgMjMsIDE4LCAxOSwgMjMwLCAxMSwgMjQ5LCAyMywgMTgsIDE5LCAyNTAsIDI1MiwgMTgsIDE5LCAyMjIsIDEyNywgCi0gICAgMjE3LCAxNjMsIDE4LCAxOSwgMjMxLCAxNTYsIDE4LCAxOSwgMjMyLCA0MCwgMTgsIDE5LCAyMzEsIDQyLCAxOCwgMTksIAotICAgIDIzMSwgMTQsIDE4LCAxOSwgMjMwLCAyMzEsIDE4LCAxOSwgMjMwLCAyMDIsIDE4LCAxOSwgMjEzLCAxMDQsIDIzMCwgMjAyLCAKLSAgICAxOCwgMTksIDE4OCwgMTgsIDE5LCAyMzIsIDQxLCAxOCwgMTksIDIzMCwgMTEyLCAxOCwgMTksIDE0OCwgMjMwLCAxMTIsIAotICAgIDE4LCAxOSwgMjMwLCAxMTAsIDE4LCAxOSwgMTQ4LCAyMzAsIDExMCwgMTgsIDE5LCAyMzAsIDEwOSwgMTgsIDE5LCAxNDgsIAotICAgIDIzMCwgMTA5LCAxOCwgMTksIDIzMCwgMTA4LCAxOCwgMTksIDE0OCwgMjMwLCAxMDgsIDE4LCAxOSwgMjMwLCAxMDcsIDE4LCAKLSAgICAxOSwgMTQ4LCAyMzAsIDEwNywgMTgsIDE5LCAyMzAsIDExNCwgMTgsIDE5LCAxNDgsIDIzMCwgMTE0LCAxOCwgMTksIDIzMCwgCi0gICAgMTEzLCAxOCwgMTksIDE0OCwgMjMwLCAxMTMsIDE4LCAxOSwgMjMwLCAxMSwgMjMwLCAxMTMsIDE4LCAxOSwgMTgzLCAxOCwgCi0gICAgMTksIDE0OCwgMTgzLCAxOCwgMTksIDIzMSwgNDUsIDE4LCAxOSwgMjUzLCAxMjEsIDE4MywgMTgsIDE5LCAyMjIsIDEyNywgCi0gICAgMTgzLCAxOCwgMTksIDIyOSwgMTg3LCAxOCwgMTksIDIzMCwgNDIsIDE4LCAxOSwgMjI5LCA2NCwgMTgsIDE5LCAyMjksIDM5LCAKLSAgICAxOCwgMTksIDIyOCwgMTg1LCAxOCwgMTksIDIyOCwgMTc1LCAxOCwgMTksIDIxMywgMTA0LCAyMjgsIDE3NSwgMTgsIDE5LCAKLSAgICAyMDUsIDE4LCAxOSwgMjMwLCA0MywgMTgsIDE5LCAyMjgsIDI5LCAxOCwgMTksIDE0OCwgMjI4LCAyOSwgMTgsIDE5LCAyMjgsIAotICAgIDMxLCAxOCwgMTksIDE0OCwgMjI4LCAzMSwgMTgsIDE5LCAyMjgsIDMwLCAxOCwgMTksIDE0OCwgMjI4LCAzMCwgMTgsIDE5LCAKLSAgICAyMzAsIDExLCAyMjgsIDMwLCAxOCwgMTksIDIwNCwgMTgsIDE5LCA2NiwgMjI5LCAxNjEsIDE4LCAxOSwgMjI5LCA2OSwgMTgsIAotICAgIDE5LCAyMzMsIDgyLCAxOCwgMTksIDIzMywgMTU1LCAxOCwgMTksIDIzMywgMTMsIDE4LCAxOSwgMjMyLCAyNTUsIDE4LCAxOSwgCi0gICAgMjMyLCAyMDgsIDE4LCAxOSwgMjMyLCAxODAsIDE4LCAxOSwgMjEzLCAxMDQsIDIzMiwgMTgwLCAxOCwgMTksIDIzMywgMTU3LCAKLSAgICAxOCwgMTksIDIzMywgMTU2LCAxOCwgMTksIDIzMiwgMTI3LCAxOCwgMTksIDE0OCwgMjMyLCAxMjcsIDE4LCAxOSwgMjMyLCAKLSAgICAxMjYsIDE4LCAxOSwgMTQ4LCAyMzIsIDEyNiwgMTgsIDE5LCAyMzIsIDEyNSwgMTgsIDE5LCAxNDgsIDIzMiwgMTI1LCAxOCwgCi0gICAgMTksIDIzMiwgMTI0LCAxOCwgMTksIDE0OCwgMjMyLCAxMjQsIDE4LCAxOSwgMjMyLCAxMjMsIDE4LCAxOSwgMTQ4LCAyMzIsIAotICAgIDEyMywgMTgsIDE5LCAyMzIsIDEyOSwgMTgsIDE5LCAxNDgsIDIzMiwgMTI5LCAxOCwgMTksIDIzMiwgMTI4LCAxOCwgMTksIAotICAgIDE0OCwgMjMyLCAxMjgsIDE4LCAxOSwgMTUwLCAxOCwgMTksIDE0OCwgMTUwLCAxOCwgMTksIDEzOCwgMTUwLCAxOCwgMTksIAotICAgIDIyMiwgMTAwLCAxOCwgMTksIDIyMiwgMTk4LCAxOCwgMTksIDIyMCwgMTE3LCAxOCwgMTksIDIyMCwgMTAxLCAxOCwgMTksIAotICAgIDIxOSwgMjQyLCAxOCwgMTksIDIxOSwgMjI2LCAxOCwgMTksIDIxMywgMTA0LCAyMTksIDIyNiwgMTgsIDE5LCAyMjIsIDIwMiwgCi0gICAgMTgsIDE5LCAyMjIsIDIwMCwgMTgsIDE5LCAyMTgsIDE5NCwgMTgsIDE5LCAxNDgsIDIxOCwgMTk0LCAxOCwgMTksIDIxOCwgCi0gICAgMTg4LCAxOCwgMTksIDE0OCwgMjE4LCAxODgsIDE4LCAxOSwgMjE4LCAxODcsIDE4LCAxOSwgMTQ4LCAyMTgsIDE4NywgMTgsIAotICAgIDE5LCAyMTgsIDE4MywgMTgsIDE5LCAxNDgsIDIxOCwgMTgzLCAxOCwgMTksIDIxOCwgMTgyLCAxOCwgMTksIDE0OCwgMjE4LCAKLSAgICAxODIsIDE4LCAxOSwgMjE4LCAxOTgsIDE4LCAxOSwgMTQ4LCAyMTgsIDE5OCwgMTgsIDE5LCAyMTgsIDE5NywgMTgsIDE5LCAKLSAgICAxNDgsIDIxOCwgMTk3LCAxOCwgMTksIDIzMCwgMTEsIDIxOCwgMTk3LCAxOCwgMTksIDE5NywgMTgsIDE5LCAyNTMsIDEyMSwgCi0gICAgMTk3LCAxOCwgMTksIDIxOCwgMTk5LCAxOCwgMTksIDI1MSwgMTQxLCAxOTcsIDE4LCAxOSwgMjMwLCAxOTcsIDIyMCwgMzYsIAotICAgIDE4LCAxOSwgMjMwLCAxMSwgMjIwLCAyNywgMTgsIDE5LCAyMzAsIDExLCAyMjMsIDIsIDE4LCAxOSwgMjMwLCAxMSwgMjE5LCAKLSAgICAxNjcsIDE4LCAxOSwgMjMwLCAxMSwgMjE5LCAyOSwgMTgsIDE5LCAyMzAsIDExLCAyMjAsIDI2LCAxOCwgMTksIDIzMCwgMTEsIAotICAgIDIyMiwgMTAzLCAxOCwgMTksIDIyMCwgMjQzLCAxOCwgMTksIDIyMCwgMjEyLCAxOCwgMTksIDIyMCwgMjA3LCAxOCwgMTksIAotICAgIDIyMCwgMTg3LCAxOCwgMTksIDIyMCwgMTgxLCAxOCwgMTksIDIyMSwgMjQsIDE4LCAxOSwgMjIxLCAyMCwgMTgsIDE5LCAKLSAgICAyMjAsIDEzMiwgMTgsIDE5LCAxNDgsIDIyMCwgMTMyLCAxOCwgMTksIDIyMCwgMTMxLCAxOCwgMTksIDE0OCwgMjIwLCAxMzEsIAotICAgIDE4LCAxOSwgMjIwLCAxMzAsIDE4LCAxOSwgMTQ4LCAyMjAsIDEzMCwgMTgsIDE5LCAyMjAsIDEyOSwgMTgsIDE5LCAxNDgsIAotICAgIDIyMCwgMTI5LCAxOCwgMTksIDIyMCwgMTI4LCAxOCwgMTksIDE0OCwgMjIwLCAxMjgsIDE4LCAxOSwgMjIwLCAxMzQsIDE4LCAKLSAgICAxOSwgMTQ4LCAyMjAsIDEzNCwgMTgsIDE5LCAyMjAsIDEzMywgMTgsIDE5LCAxNDgsIDIyMCwgMTMzLCAxOCwgMTksIDIyMSwgCi0gICAgMjYsIDE4LCAxOSwgMjEzLCAzOCwgMTgsIDE5LCAyMTMsIDg5LCAxOCwgMTksIDIxMiwgMjU1LCAxOCwgMTksIDIxMiwgMjQ2LCAKLSAgICAxOCwgMTksIDIxMiwgMjM1LCAxOCwgMTksIDIxMiwgMjIwLCAxOCwgMTksIDIxMywgMTA0LCAyMTIsIDIyMCwgMTgsIDE5LCAKLSAgICAxODYsIDE4LCAxOSwgMjEzLCA5MSwgMTgsIDE5LCAyMTIsIDE2NiwgMTgsIDE5LCAxNDgsIDIxMiwgMTY2LCAxOCwgMTksIAotICAgIDIxMiwgMTY1LCAxOCwgMTksIDE0OCwgMjEyLCAxNjUsIDE4LCAxOSwgMjEyLCAxNjQsIDE4LCAxOSwgMTQ4LCAyMTIsIDE2NCwgCi0gICAgMTgsIDE5LCAyMTIsIDE2MywgMTgsIDE5LCAxNDgsIDIxMiwgMTYzLCAxOCwgMTksIDIxMiwgMTYyLCAxOCwgMTksIDE0OCwgCi0gICAgMjEyLCAxNjIsIDE4LCAxOSwgMjEyLCAxNjgsIDE4LCAxOSwgMTQ4LCAyMTIsIDE2OCwgMTgsIDE5LCAyMTIsIDE2NywgMTgsIAotICAgIDE5LCAxNDgsIDIxMiwgMTY3LCAxOCwgMTksIDIzMCwgMTEsIDIxMiwgMTY3LCAxOCwgMTksIDIxMywgMTA1LCAxOCwgMTksIAotICAgIDI1MSwgMTgyLCAyMTMsIDEwNSwgMTgsIDE5LCAxNDgsIDIxMywgMTA1LCAxOCwgMTksIDIyMiwgMTI3LCAyMTIsIDI1NSwgCi0gICAgMTgsIDE5LCAyMjQsIDIxLCAxOCwgMTksIDIyNCwgMTEyLCAyMjQsIDIxLCAxOCwgMTksIDE0OCwgMjMzLCA4MiwgMTgsIDE5LCAKLSAgICAyMjQsIDczLCAxOCwgMTksIDIyMywgMTg4LCAxOCwgMTksIDIyMywgMTM2LCAxOCwgMTksIDIyMywgMTEyLCAxOCwgMTksIAotICAgIDIyMywgOTksIDE4LCAxOSwgMTQ4LCAyMzIsIDIwOCwgMTgsIDE5LCAyMDMsIDE4LCAxOSwgMjI0LCA3NCwgMTgsIDE5LCAKLSAgICAxNDgsIDIzMywgMTU3LCAxOCwgMTksIDIyMywgMjAsIDE4LCAxOSwgMTQ4LCAyMjMsIDIwLCAxOCwgMTksIDE0OSwgMTgsIAotICAgIDE5LCAxNDgsIDE0OSwgMTgsIDE5LCAxMzgsIDE0OSwgMTgsIDE5LCAyNDQsIDEyMywgMTgsIDE5LCAyNDQsIDE2MSwgMTgsIAotICAgIDE5LCAyNDQsIDkwLCAxOCwgMTksIDI0NCwgNzcsIDE4LCAxOSwgMjQ0LCAxMiwgMTgsIDE5LCAyNDQsIDMsIDE4LCAxOSwgCi0gICAgMjQ0LCAxNjQsIDE4LCAxOSwgMjQ0LCAxNjMsIDE4LCAxOSwgMjQzLCAxODcsIDE4LCAxOSwgMTQ4LCAyNDMsIDE4NywgMTgsIAotICAgIDE5LCAyNDQsIDIzMCwgMTgsIDE5LCAyMTcsIDE0OCwgMTgsIDE5LCAyMzAsIDk2LCAyMTcsIDE0OCwgMTgsIDE5LCAyMTcsIAotICAgIDEyOCwgMTgsIDE5LCAyMzAsIDk2LCAyMTcsIDEyOCwgMTgsIDE5LCAyMTcsIDEyNCwgMTgsIDE5LCAyMzAsIDk2LCAyMTcsIAotICAgIDEyNCwgMTgsIDE5LCAyMTcsIDEwOSwgMTgsIDE5LCAyMTcsIDEwNiwgMTgsIDE5LCAyMTcsIDE2MSwgMTgsIDE5LCAyMTcsIAotICAgIDE2MCwgMTgsIDE5LCAyMTcsIDgxLCAxOCwgMTksIDE0OCwgMjE3LCA4MSwgMTgsIDE5LCAyMTcsIDE2MywgMTgsIDE5LCAKLSAgICAyMTYsIDEwMywgMTgsIDE5LCAyMTYsIDEwMSwgMTgsIDE5LCAyMTYsIDEwMCwgMTgsIDE5LCAyMTYsIDEwNSwgMTgsIDE5LCAKLSAgICAyMTYsIDEwNiwgMTgsIDE5LCAyMTYsIDE4LCAxOCwgMTksIDIxNiwgMTcsIDE4LCAxOSwgMjE2LCAxNiwgMTgsIDE5LCAyMTYsIAotICAgIDE5LCAxOCwgMTksIDIyOCwgNDksIDI0MSwgMjIyLCAxOCwgMTksIDIyOCwgNDksIDI0MSwgMTY1LCAxOCwgMTksIDIyOCwgCi0gICAgNDksIDI0MSwgMTQ3LCAxOCwgMTksIDIyOCwgNDksIDI0MSwgNTQsIDE4LCAxOSwgMjI4LCA0OSwgMjQxLCAzOSwgMTgsIDE5LCAKLSAgICAyMjgsIDQ5LCAxNTksIDE4LCAxOSwgMjI4LCA0OSwgMjQyLCAyNywgMTgsIDE5LCAyMjgsIDQ5LCAyNDIsIDQxLCAxOCwgMTksIAotICAgIDIyOCwgNDgsIDI0MiwgNDEsIDE4LCAxOSwgMjQxLCAxNDAsIDE4LCAxOSwgMjI0LCAyMjgsIDE4LCAxOSwgMjI0LCAxOTgsIAotICAgIDE4LCAxOSwgMjI0LCAxOTMsIDE4LCAxOSwgMjI0LCAxODcsIDE4LCAxOSwgMjI0LCAxODIsIDE4LCAxOSwgMjI0LCAyMzIsIAotICAgIDE4LCAxOSwgMjI0LCAyMzEsIDE4LCAxOSwgMjI0LCAyNDAsIDE4LCAxOSwgMjE3LCA4LCAxOCwgMTksIDIxNywgNiwgMTgsIAotICAgIDE5LCAyMTcsIDUsIDE4LCAxOSwgMjE3LCA5LCAxOCwgMTksIDE0OCwgMjI0LCAyMSwgMTgsIDE5LCAxNDgsIDIyMywgMTg4LCAKLSAgICAxOCwgMTksIDE0OCwgMjIzLCAxMTIsIDE4LCAxOSwgMTQ4LCAyMDMsIDE4LCAxOSwgMjI5LCAxNTcsIDE4LCAxOSwgMjI5LCAKLSAgICAxMTMsIDE4LCAxOSwgMjI5LCAxMDksIDE4LCAxOSwgMjI5LCA5MCwgMTgsIDE5LCAyMjksIDg1LCAxOCwgMTksIDIyOSwgCi0gICAgMTU5LCAxOCwgMTksIDIyOSwgMTU4LCAxOCwgMTksIDIyOSwgMTYxLCAxOCwgMTksIDIyOCwgMTk2LCAxOCwgMTksIDIyMiwgCi0gICAgMTI3LCAyMjAsIDI0MywgMTgsIDE5LCAyMjIsIDEyNywgMjIwLCAyMTIsIDE4LCAxOSwgMjIyLCAxMjcsIDIyMCwgMTg3LCAKLSAgICAxOCwgMTksIDIyMiwgMTI3LCAyMjEsIDI0LCAxOCwgMTksIDIxMywgMjAwLCAyMTcsIDE0OCwgMTgsIDE5LCAyMTMsIDIwMCwgCi0gICAgMjE3LCAxMjgsIDE4LCAxOSwgMjEzLCAyMDAsIDIxNywgMTA5LCAxOCwgMTksIDIxMywgMjAwLCAyMTcsIDE2MSwgMTgsIDE5LCAKLSAgICAyMTMsIDIwMCwgMjE3LCAxNjMsIDE4LCAxOSwgMjMzLCAxOSwgMTgsIDE5LCAyMzMsIDE4LCAxOCwgMTksIDIzMywgMTcsIAotICAgIDE4LCAxOSwgMjMzLCAxNiwgMTgsIDE5LCAyMzMsIDI1LCAxOCwgMTksIDIzMywgMjQsIDE4LCAxOSwgMjMzLCAyNiwgMTgsIAotICAgIDE5LCAyMTcsIDE2MiwgMjE3LCAxNDgsIDE4LCAxOSwgMjE3LCAxNjIsIDIxNywgMTI4LCAxOCwgMTksIDIxNywgMTYyLCAKLSAgICAyMTcsIDEyNCwgMTgsIDE5LCAyMTcsIDE2MiwgMjE3LCAxMDksIDE4LCAxOSwgMjE3LCAxNjIsIDIxNywgMTA2LCAxOCwgMTksIAotICAgIDIxNywgMTYyLCAyMTcsIDE2MSwgMTgsIDE5LCAyMTcsIDE2MiwgMjE3LCAxNjAsIDE4LCAxOSwgMjE3LCAxNjIsIDIxNywgCi0gICAgMTYzLCAxOCwgMTksIDI1NCwgOTcsIDI1MywgNzQsIDE4LCAxOSwgMjUxLCAxNDEsIDc0LCAxOCwgMTksIDI1MSwgMTQxLCAKLSAgICA3MiwgMTgsIDE5LCAyNTEsIDE0MSwgNzUsIDE4LCAxOSwgMjUxLCAxNDEsIDYxLCAxOCwgMTksIDI1MSwgMTQxLCAyMTQsIDYsIAotICAgIDE4LCAxOSwgMjUxLCAxNDEsIDIxMywgMjM1LCAxOCwgMTksIDI1MSwgMTQxLCAyMTMsIDIxNCwgMTgsIDE5LCAyNTEsIDE0MSwgCi0gICAgMjE0LCA0OSwgMTgsIDE5LCAyNTEsIDE0MSwgMjI5LCAxODcsIDE4LCAxOSwgMjUxLCAxNDEsIDIyOSwgNjQsIDE4LCAxOSwgCi0gICAgMjUxLCAxNDEsIDIyOCwgMTg1LCAxOCwgMTksIDI1MSwgMTQxLCAyMDUsIDE4LCAxOSwgMjUxLCAxNDEsIDIzNCwgMTg4LCAKLSAgICAxOCwgMTksIDI1MSwgMTQxLCAyMzQsIDEwMSwgMTgsIDE5LCAyNTEsIDE0MSwgMjM0LCAzNywgMTgsIDE5LCAyNTEsIDE0MSwgCi0gICAgMTgxLCAxOCwgMTksIDIyMiwgMTI3LCAyNDEsIDIyMiwgMTgsIDE5LCAyMjIsIDEyNywgMjQxLCAxNjUsIDE4LCAxOSwgMjIyLCAKLSAgICAxMjcsIDI0MSwgNTQsIDE4LCAxOSwgMjIyLCAxMjcsIDE1OSwgMTgsIDE5LCA2NiwgMjQyLCAxOTYsIDE4LCAxOSwgNjYsIAotICAgIDI0MiwgMjAwLCAxOCwgMTksIDY2LCAyNDIsIDIxMiwgMTgsIDE5LCA2NiwgMjQyLCAyMTEsIDE4LCAxOSwgNjYsIDI0MiwgCi0gICAgMjAxLCAxOCwgMTksIDY2LCAyNDIsIDIyNSwgMTgsIDE5LCA2NiwgMjIzLCA1MSwgMTgsIDE5LCA2NiwgMjIzLCAxMTIsIDE4LCAKLSAgICAxOSwgNjYsIDIyNCwgMjEsIDE4LCAxOSwgNjYsIDIyNCwgMSwgMTgsIDE5LCA2NiwgMjIzLCAxODgsIDE4LCAxOSwgNjYsIAotICAgIDIwMywgMTgsIDE5LCA2NiwgMjEzLCAxODMsIDE4LCAxOSwgNjYsIDIxMywgMjE0LCAxOCwgMTksIDY2LCAyMTQsIDYsIDE4LCAKLSAgICAxOSwgNjYsIDIxNCwgMSwgMTgsIDE5LCA2NiwgMjEzLCAyMzUsIDE4LCAxOSwgNjYsIDIxNCwgNDksIDE4LCAxOSwgNjYsIAotICAgIDI0MCwgMTg2LCAxOCwgMTksIDY2LCAyNDAsIDE4NywgMTgsIDE5LCA2NiwgMjQwLCAxOTAsIDE4LCAxOSwgNjYsIDI0MCwgCi0gICAgMTg5LCAxOCwgMTksIDY2LCAyNDAsIDE4OCwgMTgsIDE5LCA2NiwgMjQwLCAxOTIsIDE4LCAxOSwgNjYsIDIxNywgOTAsIDE4LCAKLSAgICAxOSwgNjYsIDIxNywgMTA5LCAxOCwgMTksIDY2LCAyMTcsIDE0OCwgMTgsIDE5LCA2NiwgMjE3LCAxNDcsIDE4LCAxOSwgNjYsIAotICAgIDIxNywgMTI4LCAxOCwgMTksIDY2LCAyMTcsIDE2MSwgMTgsIDE5LCA2NiwgMjE2LCA4NiwgMTgsIDE5LCA2NiwgMjE2LCA5NSwgCi0gICAgMTgsIDE5LCA2NiwgMjE2LCAxMTIsIDE4LCAxOSwgNjYsIDIxNiwgMTExLCAxOCwgMTksIDY2LCAyMTYsIDk2LCAxOCwgMTksIAotICAgIDY2LCAyMTYsIDExNSwgMTgsIDE5LCA2NiwgMjI1LCAzNSwgMTgsIDE5LCA2NiwgMjI1LCAxNTAsIDE4LCAxOSwgNjYsIDIyNiwgCi0gICAgOTYsIDE4LCAxOSwgNjYsIDIyNiwgODYsIDE4LCAxOSwgNjYsIDIyNSwgMjQwLCAxOCwgMTksIDY2LCAxOTMsIDE4LCAxOSwgCi0gICAgNjYsIDIyNiwgMjI5LCAxOCwgMTksIDY2LCAyNDIsIDkyLCAxOCwgMTksIDY2LCAyNDIsIDE1MCwgMTgsIDE5LCA2NiwgMjQzLCAKLSAgICAzOCwgMTgsIDE5LCA2NiwgMjQzLCAzMSwgMTgsIDE5LCA2NiwgMjQyLCAxOTAsIDE4LCAxOSwgNjYsIDI0MywgMTEwLCAxOCwgCi0gICAgMTksIDY2LCAyMzQsIDEwOCwgMTgsIDE5LCA2NiwgMjM0LCAxMTMsIDE4LCAxOSwgNjYsIDIzNCwgMTI1LCAxOCwgMTksIDY2LCAKLSAgICAyMzQsIDEyNCwgMTgsIDE5LCA2NiwgMjM0LCAxMTgsIDE4LCAxOSwgNjYsIDIzNCwgMTM4LCAxOCwgMTksIDY2LCAyMzQsIAotICAgIDUwLCAxOCwgMTksIDY2LCAyMzQsIDUxLCAxOCwgMTksIDY2LCAyMzQsIDU0LCAxOCwgMTksIDY2LCAyMzQsIDUzLCAxOCwgCi0gICAgMTksIDY2LCAyMzQsIDUyLCAxOCwgMTksIDY2LCAyMzQsIDU1LCAxOCwgMTksIDY2LCAyMzQsIDU2LCAxOCwgMTksIDY2LCAKLSAgICAyMjgsIDkyLCAxOCwgMTksIDY2LCAyMjgsIDE4NSwgMTgsIDE5LCA2NiwgMjI5LCAxODcsIDE4LCAxOSwgNjYsIDIyOSwgCi0gICAgMTg0LCAxOCwgMTksIDY2LCAyMjksIDY0LCAxOCwgMTksIDY2LCAyMDUsIDE4LCAxOSwgNjYsIDIzMCwgMTcyLCAxOCwgMTksIAotICAgIDY2LCAyMzAsIDIzMSwgMTgsIDE5LCA2NiwgMjMxLCAxNTYsIDE4LCAxOSwgNjYsIDIzMSwgMTQ1LCAxOCwgMTksIDY2LCAKLSAgICAyMzEsIDQyLCAxOCwgMTksIDY2LCAxODgsIDE4LCAxOSwgNjYsIDIxMiwgMjAzLCAxOCwgMTksIDY2LCAyMTIsIDIzNSwgMTgsIAotICAgIDE5LCA2NiwgMjEzLCAzOCwgMTgsIDE5LCA2NiwgMjEzLCAzNSwgMTgsIDE5LCA2NiwgMjEyLCAyNTUsIDE4LCAxOSwgNjYsIAotICAgIDE4NiwgMTgsIDE5LCA2NiwgMjM1LCA1NCwgMTgsIDE5LCAyMjIsIDEyNywgMjM1LCA1NCwgMTgsIDE5LCA2NiwgMjM1LCA3MSwgCi0gICAgMTgsIDE5LCA2NiwgMjM1LCAxMjcsIDE4LCAxOSwgNjYsIDIzNSwgMTI1LCAxOCwgMTksIDY2LCAyMzUsIDExMCwgMTgsIDE5LCAKLSAgICAyMjIsIDEyNywgMjM1LCAxMTAsIDE4LCAxOSwgNjYsIDIzNSwgMTM5LCAxOCwgMTksIDY2LCAyMzUsIDg0LCAxOCwgMTksIAotICAgIDY2LCAyMzUsIDg4LCAxOCwgMTksIDY2LCAyMzUsIDk4LCAxOCwgMTksIDY2LCAyMzUsIDk3LCAxOCwgMTksIDY2LCAyMzUsIAotICAgIDk2LCAxOCwgMTksIDY2LCAyMzUsIDk5LCAxOCwgMTksIDY2LCAyMzIsIDE1NiwgMTgsIDE5LCA2NiwgMjMyLCAyMDgsIDE4LCAKLSAgICAxOSwgNjYsIDIzMywgODIsIDE4LCAxOSwgNjYsIDIzMywgNzQsIDE4LCAxOSwgNjYsIDIzMywgMTMsIDE4LCAxOSwgNjYsIAotICAgIDIzMywgMTU3LCAxOCwgMTksIDY2LCAyNDcsIDEwMywgMTgsIDE5LCA2NiwgMjQ3LCAxMDQsIDE4LCAxOSwgNjYsIDI0NywgCi0gICAgMTA3LCAxOCwgMTksIDY2LCAyNDcsIDEwNiwgMTgsIDE5LCA2NiwgMjQ3LCAxMDUsIDE4LCAxOSwgNjYsIDI0NywgMTA4LCAKLSAgICAxOCwgMTksIDY2LCAyMzMsIDE1LCAxOCwgMTksIDY2LCAyMzMsIDE3LCAxOCwgMTksIDY2LCAyMzMsIDIxLCAxOCwgMTksIAotICAgIDY2LCAyMzMsIDIwLCAxOCwgMTksIDY2LCAyMzMsIDE5LCAxOCwgMTksIDY2LCAyMzMsIDI1LCAxOCwgMTksIDY2LCAyMTcsIAotICAgIDMsIDE4LCAxOSwgNjYsIDIxNywgNSwgMTgsIDE5LCA2NiwgMjE3LCA4LCAxOCwgMTksIDY2LCAyMTcsIDcsIDE4LCAxOSwgCi0gICAgNjYsIDIxNywgNiwgMTgsIDE5LCA2NiwgMjE3LCA5LCAxOCwgMTksIDY2LCAyMTYsIDI1NSwgMTgsIDE5LCA2NiwgMjE3LCAwLCAKLSAgICAxOCwgMTksIDY2LCAyMTcsIDExLCAxOCwgMTksIDY2LCAyMTcsIDEwLCAxOCwgMTksIDY2LCAyMTcsIDEsIDE4LCAxOSwgNjYsIAotICAgIDIxNywgMTIsIDE4LCAxOSwgNjYsIDIxMiwgOCwgMTgsIDE5LCA2NiwgMjEyLCAxNiwgMTgsIDE5LCA2NiwgMjEyLCA4NywgCi0gICAgMTgsIDE5LCA2NiwgMjEyLCA4NSwgMTgsIDE5LCA2NiwgMjEyLCAzNywgMTgsIDE5LCA2NiwgMjEyLCAxMDksIDE4LCAxOSwgCi0gICAgNjYsIDIxMiwgMTUyLCAxOCwgMTksIDY2LCA3MCwgMjEyLCAxNTIsIDE4LCAxOSwgNjYsIDI0NSwgMjM5LCAxOCwgMTksIDY2LCAKLSAgICAyNDUsIDI0MCwgMTgsIDE5LCA2NiwgMjQ1LCAyNDcsIDE4LCAxOSwgNjYsIDI0NSwgMjQ2LCAxOCwgMTksIDY2LCAyNDUsIAotICAgIDI0MiwgMTgsIDE5LCA2NiwgMjQ1LCAyNDksIDE4LCAxOSwgNjYsIDIxOSwgMjcsIDE4LCAxOSwgNjYsIDIxOSwgMjQyLCAxOCwgCi0gICAgMTksIDY2LCAyMjIsIDEwMCwgMTgsIDE5LCA2NiwgMjIyLCA4OSwgMTgsIDE5LCA2NiwgMjIwLCAxMTcsIDE4LCAxOSwgNjYsIAotICAgIDIyMiwgMjAyLCAxOCwgMTksIDY2LCAyMjAsIDE1MCwgMTgsIDE5LCA2NiwgMjIwLCAxODcsIDE4LCAxOSwgNjYsIDIyMCwgCi0gICAgMjQzLCAxOCwgMTksIDY2LCAyMjAsIDI0MSwgMTgsIDE5LCA2NiwgMjIwLCAyMTIsIDE4LCAxOSwgNjYsIDIyMSwgMjQsIDE4LCAKLSAgICAxOSwgNjYsIDIyMSwgMjYsIDE4LCAxOSwgNjYsIDIxNiwgMTIyLCAxOCwgMTksIDY2LCAyMTYsIDEyNCwgMTgsIDE5LCA2NiwgCi0gICAgMjE2LCAxMzYsIDE4LCAxOSwgNjYsIDIxNiwgMTM1LCAxOCwgMTksIDY2LCAyMTYsIDEyNSwgMTgsIDE5LCA2NiwgMjE2LCAKLSAgICAxNDEsIDE4LCAxOSwgNjYsIDI1MCwgNiwgMTgsIDE5LCA2NiwgMjUwLCAyMywgMTgsIDE5LCA2NiwgMjUwLCA2NywgMTgsIAotICAgIDE5LCA2NiwgMjUwLCA2NCwgMTgsIDE5LCA2NiwgMjUwLCA0NywgMTgsIDE5LCA2NiwgMjUwLCA5MiwgMTgsIDE5LCA2NiwgCi0gICAgMjE2LCA4OSwgMTgsIDE5LCA2NiwgMjE2LCA5MCwgMTgsIDE5LCA2NiwgMjE2LCA5MywgMTgsIDE5LCA2NiwgMjE2LCA5MiwgCi0gICAgMTgsIDE5LCA2NiwgMjE2LCA5MSwgMTgsIDE5LCA2NiwgMjE2LCA5NCwgMTgsIDE5LCAyNTAsIDQ4LCA1MiwgMTgsIDE5LCAKLSAgICAyNDMsIDIwMCwgMjE5LCA2OSwgMTgsIDE5LCAyMjQsIDIyNCwgMTgsIDE5LCAyMjksIDE1NiwgMTgsIDE5LCAyMjgsIDE5MywgCi0gICAgMTgsIDE5LCAyMjgsIDE5MiwgMTgsIDE5LCAyMjgsIDE5MSwgMTgsIDE5LCAyMjgsIDE5MCwgMTgsIDE5LCAyMjgsIDE5NSwgCi0gICAgMTgsIDE5LCAyMjgsIDE5NCwgMTgsIDE5LCAyMTMsIDIwMCwgMjE3LCA3OSwgMTgsIDE5LCAyMTMsIDIwMCwgMjE3LCA3OCwgCi0gICAgMTgsIDE5LCAyMTMsIDIwMCwgMjE3LCA3NywgMTgsIDE5LCAyMTMsIDIwMCwgMjE3LCA3NiwgMTgsIDE5LCAyMTMsIDIwMCwgCi0gICAgMjE3LCA3NSwgMTgsIDE5LCAyMTMsIDIwMCwgMjE3LCA4MiwgMTgsIDE5LCAyMTMsIDIwMCwgMjE3LCA4MSwgMTgsIDE5LCAKLSAgICAyMTMsIDIwMCwgNDAsIDIxNywgMTYzLCAxOCwgMTksIDI1MSwgMTQxLCAyMTQsIDgyLCAyMjcsIDkyLCAyMTksIDIwNywgNzcsIAotICAgIDIyNywgOTIsIDEsIDI1MSwgMjI0LCAyMjcsIDkyLCAxLCAyMzIsIDE0NSwgMjI3LCA5MiwgMSwgMjQ0LCAxMjAsIDIyNywgCi0gICAgOTIsIDEsIDIyMiwgMTg2LCAyMjcsIDkyLCAxLCAyMjksIDI0LCAyMjcsIDkyLCAxLCAyMTUsIDE5NSwgMjI3LCA5MiwgMSwgCi0gICAgMjQ4LCAxNDIsIDIyNywgOTIsIDEsIDIxNywgMzMsIDIyNywgOTIsIDEsIDI0OSwgMTY3LCAyMjcsIDkyLCAxLCAyNTAsIAotICAgIDExNCwgMjI3LCA5MiwgMSwgMjMwLCAxNjEsIDIyNywgOTIsIDEsIDI0MiwgMTMyLCAyMjcsIDkyLCAxLCAyMjksIDE0NywgCi0gICAgMjI3LCA5MiwgMSwgMjE5LCA2MiwgMjI3LCA5MiwgMSwgMjIzLCA0NiwgMjI3LCA5MiwgMSwgMjU0LCAxMDUsIDIyNywgOTIsIAotICAgIDEsIDIyNywgNTMsIDIyNywgOTIsIDEsIDIxNSwgMTIxLCAyMjcsIDkyLCAxLCAyNDUsIDE4NywgMjI3LCA5MiwgMSwgMjM1LCAKLSAgICAxODYsIDIyNywgOTIsIDEsIDI0NSwgMTg4LCAyMjcsIDkyLCAxLCAyMjcsIDI0LCAyMjcsIDkyLCAxLCAyMTUsIDE3NiwgCi0gICAgMjI3LCA5MiwgMSwgMjM2LCAzNCwgMjI3LCA5MiwgMSwgMjQ1LCAxODUsIDIyNywgOTIsIDEsIDIyNiwgNzcsIDIyNywgOTIsIAotICAgIDI0NCwgMTE5LCA3NywgMjI3LCA5MiwgMjIzLCAyMDIsIDI0NCwgMTE5LCA3NywgMTY4LCAxLCAyNDQsIDExMCwgMjQ0LCAKLSAgICAxMDIsIDI0NCwgMTI0LCAyNDQsIDIzMCwgMTY4LCAxLCAyMTUsIDc5LCAxNjgsIDEsIDIxNSwgMTA2LCAyMTUsIDEyMiwgNjksIAotICAgIDE2OCwgMSwgMjEyLCAyMDUsIDE2OCwgMSwgMjEzLCAxMDUsIDE2OCwgMSwgMjE0LCA4MiwgMTY4LCAxLCAyMTcsIDg0LCAKLSAgICAyMTcsIDgzLCAyMTcsIDEwNCwgMTY4LCAxLCAyNDUsIDI1LCAxNjgsIDEsIDI1NCwgNCwgNjEsIDE2OCwgMSwgMjI3LCAxMCwgCi0gICAgNzUsIDE2OCwgMSwgMjU0LCAxNzcsIDYxLCAxNjgsIDEsIDI1NCwgMTMyLCAxNjgsIDEsIDIzMiwgMTg2LCA3NSwgMTY4LCAxLCAKLSAgICAyMjAsIDE2OCwgNzUsIDE2OCwgMSwgNzUsIDE2OCwgMSwgMjI3LCA5OSwgMTY4LCAxLCAyMjcsIDYyLCAxNjgsIDEsIDIyNCwgCi0gICAgNTUsIDIyNCwgNjcsIDIyMywgMjQ0LCAxNDksIDE2OCwgMSwgMjM0LCAxOTksIDE2OCwgMSwgMjUwLCAxMTEsIDE2OCwgMSwgCi0gICAgMjM0LCAyMDAsIDIzNSwgMjcsIDE2OCwgMSwgMjQzLCAxNzcsIDE2OCwgMSwgMjQ1LCA5NiwgMTY4LCAxLCAyNDMsIDM0LCAKLSAgICAyNDIsIDQ3LCAyNDMsIDE3NywgMTY4LCAxLCAyNDMsIDcyLCAxNjgsIDEsIDIxMywgMTc2LCAyMTMsIDE3MCwgMjE0LCA4MiwgCi0gICAgMTY4LCAxLCAyNDIsIDE5LCAyNDIsIDQxLCAxNjgsIDEsIDI0MiwgMjMsIDI0MiwgNDEsIDE2OCwgMSwgMjMyLCAxODgsIAotICAgIDI0MiwgNDEsIDE2OCwgMSwgMjIwLCAxNzEsIDI0MiwgNDEsIDE2OCwgMSwgMjMwLCA3LCAyMjgsIDE4LCAyMzAsIDgsIDIwNCwgCi0gICAgMTY4LCAxLCAyMjAsIDE2OSwgMjA0LCAxNjgsIDEsIDI0NiwgNjksIDE2OCwgMSwgMjM1LCAxNjYsIDIzNSwgMTcwLCAyMzUsIAotICAgIDE2MCwgNzIsIDE2OCwgMSwgNzQsIDE2OCwgMSwgMjM1LCAxMTgsIDIzNSwgMTQyLCAxNjgsIDEsIDI0MywgMTksIDE2OCwgMSwgCi0gICAgMjMyLCAxODksIDI1NCwgMTQ4LCAxNjgsIDEsIDIyMCwgMTczLCA2MSwgMTY4LCAxLCAyMzUsIDE1MiwgMjQ1LCA3MiwgMTY4LCAKLSAgICAxLCAyMjYsIDQwLCAyMjYsIDYxLCAyMjYsIDIyOSwgMTY4LCAxLCAyNTQsIDcyLCAyNDUsIDcxLCAxNjgsIDEsIDIxOSwgCi0gICAgMjExLCAxOTcsIDE2OCwgMSwgMjIwLCAxMDUsIDIzMiwgMTg1LCAxOTcsIDE2OCwgMSwgMjIwLCAxNjcsIDE5NywgMTY4LCAxLCAKLSAgICAyNTAsIDI1MiwgMTY4LCAxLCAyMTIsIDE1MiwgMTY4LCAxLCAyMTcsIDE2LCAyMTcsIDI2LCAyMTYsIDcsIDIxOCwgOTksIAotICAgIDE2OCwgMSwgMjIwLCAxNjYsIDIxOCwgOTksIDE2OCwgMSwgMjQ5LCAzLCAxNjgsIDEsIDI1MSwgMjA4LCAyNTEsIDIxMSwgCi0gICAgMjUxLCAxNDcsIDI1MywgNzQsIDE2OCwgMSwgMjIwLCAxNzIsIDI1MywgNzQsIDE2OCwgMSwgMjQ2LCA2OCwgMTY4LCAxLCAKLSAgICAyMjcsIDM2LCAxNjgsIDEsIDI0NSwgMTUzLCAyNDUsIDE1NSwgNzQsIDE2OCwgMSwgMjMxLCAyNDEsIDIzMSwgMjQ5LCAxODMsIAotICAgIDE2OCwgMSwgMjMyLCAxODcsIDE4MywgMTY4LCAxLCAyMjAsIDE3MCwgMTgzLCAxNjgsIDEsIDIzMywgOTcsIDIzMywgMTM3LCAKLSAgICAyMzIsIDE5NiwgMTUwLCAxNjgsIDEsIDI0NiwgNzAsIDE2OCwgMSwgMjM1LCAyMjcsIDE2OCwgMSwgMjM1LCAyMjgsIDE2OCwgCi0gICAgMSwgMjQ4LCAxNTMsIDI0OCwgMTU4LCAyNDksIDMsIDE2OCwgMSwgMjI3LCA2LCAyNDUsIDI0LCA3NSwgMTY4LCAxLCAyNDUsIAotICAgIDE4MywgMTY4LCAxLCAyMzUsIDE4NSwgMTY4LCAxLCAyNDksIDIxLCAxNjgsIDEsIDI1MCwgMjA1LCAxNjgsIDEsIDI1MCwgCi0gICAgMTIzLCAxNjgsIDEsIDIxOSwgMTAwLCAxNjgsIDEsIDIzMiwgMTg0LCAxNjgsIDEsIDIyMCwgMTY1LCAxNjgsIDEsIDI0MCwgCi0gICAgMTAzLCAxNjgsIDEsIDIyNCwgMjQwLCAxNjgsIDEsIDIxMywgMTY2LCAxNjgsIDIyMCwgODEsIDIyNSwgMjYsIDE2OCwgMjMwLCAKLSAgICAxNTUsIDIyNSwgMjYsIDE2OCwgMjQ5LCA3MSwgMjI1LCAyNiwgMTY4LCAyNTMsIDE3NywgODcsIDE2OCwgMjE2LCA0NywgODcsIAotICAgIDE2OCwgMjUxLCAyMjMsIDg3LCAyMTgsIDMyLCAxLCA2MSwgMjE4LCAzMiwgMSwgNzIsIDIxOCwgMzIsIDEsIDY5LCAyMTgsIAotICAgIDMyLCAxLCAxODEsIDIxOCwgMzIsIDEsIDI0MywgMTEwLCAyMTgsIDMyLCAxLCAyMjksIDE1OSwgMjE4LCAzMiwgMSwgMjE4LCAKLSAgICA1MiwgMjE4LCAzMiwgMSwgMjQ4LCAxNjQsIDIxOCwgMzIsIDEsIDIwNSwgMjE4LCAzMiwgMSwgMTkzLCAyMTgsIDMyLCAxLCAKLSAgICAyNTIsIDEwNywgMjE4LCAzMiwgMSwgMTg4LCAyMTgsIDMyLCAxLCAxODYsIDIxOCwgMzIsIDEsIDIzMywgMTU3LCAyMTgsIAotICAgIDMyLCAxLCAyMTQsIDQ5LCAyMTgsIDMyLCAxLCAyMjIsIDIwMiwgMjE4LCAzMiwgMSwgMTU5LCAyMTgsIDMyLCAzMCwgNSwgCi0gICAgNzIsIDIxOCwgMzIsIDMwLCA1LCA2OSwgMjE4LCAzMiwgNSwgMjE0LCAxMzMsIDI0MSwgMjQ2LCAxLCA2MSwgMjQxLCAyNDYsIAotICAgIDEsIDcyLCAyNDEsIDI0NiwgMSwgNjksIDI0MSwgMjQ2LCAxLCAxODEsIDI0MSwgMjQ2LCAxLCAyNDMsIDExMCwgMjQxLCAKLSAgICAyNDYsIDEsIDIyOSwgMTU5LCAyNDEsIDI0NiwgMSwgMjE4LCA1MiwgMjQxLCAyNDYsIDEsIDI0OCwgMTY0LCAyNDEsIDI0NiwgCi0gICAgMSwgMjA1LCAyNDEsIDI0NiwgMSwgMTkzLCAyNDEsIDI0NiwgMSwgMjUyLCAxMDcsIDI0MSwgMjQ2LCAxLCAxODgsIDI0MSwgCi0gICAgMjQ2LCAxLCAxODYsIDI0MSwgMjQ2LCAxLCAyMDMsIDI0MSwgMjQ2LCAxLCAyMzMsIDE1NywgMjQxLCAyNDYsIDEsIDIxNCwgCi0gICAgNDksIDI0MSwgMjQ2LCAxLCAyMjIsIDIwMiwgMjQxLCAyNDYsIDEsIDE1OSwgMjQxLCAyNDYsIDMwLCA1LCA3MiwgMjQxLCAKLSAgICAyNDYsIDMwLCA1LCA2OSwgMjQxLCAyNDYsIDUsIDIyNiwgMTc2LCAyMjYsIDIsIDIyMCwgODEsIDIyNSwgMjYsIDIyNiwgMiwgCi0gICAgNTEsIDIyNSwgMjYsIDI1MSwgNDksIDEsIDYxLCAyNTEsIDQ5LCAxLCA3MiwgMjUxLCA0OSwgMSwgNjksIDI1MSwgNDksIDEsIAotICAgIDE4MSwgMjUxLCA0OSwgMSwgMjQzLCAxMTAsIDI1MSwgNDksIDEsIDIyOSwgMTU5LCAyNTEsIDQ5LCAxLCAyMTgsIDUyLCAKLSAgICAyNTEsIDQ5LCAxLCAyNDgsIDE2NCwgMjUxLCA0OSwgMSwgMjA1LCAyNTEsIDQ5LCAxLCAxOTMsIDI1MSwgNDksIDEsIDI1MiwgCi0gICAgMTA3LCAyNTEsIDQ5LCAxLCAxODgsIDI1MSwgNDksIDEsIDE4NiwgMjUxLCA0OSwgMSwgMjAzLCAyNTEsIDQ5LCAxLCAyMzMsIAotICAgIDE1NywgMjUxLCA0OSwgMSwgMjE0LCA0OSwgMjUxLCA0OSwgMSwgMjIyLCAyMDIsIDI1MSwgNDksIDEsIDE1OSwgMjUxLCA0OSwgCi0gICAgMzAsIDUsIDcyLCAyNTEsIDQ5LCAzMCwgNSwgNjksIDIxOCwgMzEsIDEsIDYxLCAyMTgsIDMxLCAxLCA3MiwgMjE4LCAzMSwgCi0gICAgMSwgNjksIDIxOCwgMzEsIDEsIDE4MSwgMjE4LCAzMSwgMSwgMjQzLCAxMTAsIDIxOCwgMzEsIDEsIDIyOSwgMTU5LCAyMTgsIAotICAgIDMxLCAxLCAyMTgsIDUyLCAyMTgsIDMxLCAxLCAyNDgsIDE2NCwgMjE4LCAzMSwgMSwgMjA1LCAyMTgsIDMxLCAxLCAxOTMsIAotICAgIDIxOCwgMzEsIDEsIDI1MiwgMTA3LCAyMTgsIDMxLCAxLCAxODgsIDIxOCwgMzEsIDEsIDE4NiwgMjE4LCAzMSwgMSwgMjMzLCAKLSAgICAxNTcsIDIxOCwgMzEsIDEsIDIxNCwgNDksIDIxOCwgMzEsIDEsIDIyMiwgMjAyLCAyMTgsIDMxLCAzMCwgNSwgNzIsIDIxOCwgCi0gICAgMzEsIDMwLCA1LCA2OSwgODQsIDEsIDE4MSwgODQsIDEsIDIzNCwgMTM4LCA4NCwgMSwgMjM0LCAzNywgODQsIDEsIDIzNCwgCi0gICAgMTEzLCA4NCwgMSwgMjI5LCA5MCwgODQsIDEsIDI1MCwgMjE5LCA4NCwgMSwgMjUwLCA5MiwgODQsIDEsIDI0OSwgMTc1LCAKLSAgICA4NCwgMSwgMjUwLCAyMywgODQsIDEsIDIyNywgMjUzLCA4NCwgMSwgMjQ4LCAxNjQsIDg0LCAxLCAyMTYsIDEwNSwgODQsIDEsIAotICAgIDI0NywgOTksIDg0LCAxLCAyMTYsIDEwMCwgODQsIDEsIDIyOCwgMTg4LCA4NCwgMSwgMjE4LCA1MiwgODQsIDEsIDIxNywgCi0gICAgMTYxLCA4NCwgMSwgMTA4LCA4NCwgMSwgMjE3LCAxMDksIDg0LCAxLCAyMjgsIDE4NSwgODQsIDEsIDI1MiwgMTA3LCA4NCwgCi0gICAgMSwgMjI2LCAyMywgODQsIDEsIDIyNSwgMTUwLCA4NCwgMSwgMjI1LCAyNTMsIDg0LCAxLCAyMzAsIDIzMSwgODQsIDEsIAotICAgIDIxMiwgMjM1LCA4NCwgMSwgMjIzLCAxMTIsIDg0LCAxLCAyMzIsIDIwOCwgODQsIDEsIDIxNCwgMTE5LCA4NCwgMSwgMjIxLCAKLSAgICAyNCwgODQsIDEsIDIxOSwgMTIxLCA4NCwgMSwgMjIyLCAyMDIsIDg0LCAxLCAxNTksIDg0LCAxLCAyMzMsIDE1NywgODQsIDEsIAotICAgIDIyNCwgMjMyLCA4NCwgMjM1LCAyNDAsIDMwLCAyMjQsIDIxOCwgODQsIDIzNSwgMjQwLCAzMCwgMjI0LCAyMzEsIDg0LCAKLSAgICAyMzUsIDI0MCwgMzAsIDIyNCwgMTk4LCA4NCwgMjM1LCAyNDAsIDMwLCAyMjQsIDE5MywgODQsIDIzNSwgMjQwLCAzMCwgCi0gICAgMjI0LCAxNzUsIDg0LCAyMzUsIDI0MCwgMzAsIDIyNCwgMTQ3LCA4NCwgMjM1LCAyNDAsIDMwLCAyMjQsIDEzNSwgODQsIAotICAgIDIzNSwgMjQwLCAzMCwgMjI0LCAxMzQsIDg0LCAyMzUsIDI0MCwgMzAsIDIyMywgMTIsIDg0LCAyMzUsIDI0MCwgMzAsIDIyMywgCi0gICAgNSwgODQsIDIzNSwgMjQwLCAzMCwgMjMyLCAxMjEsIDg0LCAyMzUsIDI0MCwgMzAsIDIzMiwgMTEyLCA4NCwgMjM1LCAyNDAsIAotICAgIDMwLCAyMjQsIDIxMywgODQsIDIzNSwgMjQwLCAzMCwgMjI0LCAyMjQsIDg0LCAyMzUsIDI0MCwgMzAsIDIyNCwgMTgzLCAKLSAgICAyMTYsIDE1LCAxMTYsIDg0LCAyMzUsIDI0MCwgMzAsIDIyNCwgMTgzLCAyMTYsIDE1LCAxMDksIDg0LCAyMzUsIDI0MCwgMzAsIAotICAgIDIyNCwgMjE0LCA4NCwgMzAsIDIzNSwgMjI2LCAyNTMsIDIxNSwgODQsIDMwLCAyMzUsIDIyNiwgMjU0LCAyMzIsIDg0LCAzMCwgCi0gICAgNSwgMjU0LCAyMzIsIDg0LCAzMCwgNSwgNzIsIDg0LCAzMCwgNSwgMjM2LCAyOCwgODQsIDMwLCA1LCAyMTMsIDEwNSwgODQsIAotICAgIDMwLCA1LCAyMTIsIDE2MSwgODQsIDMwLCA1LCA2OSwgODQsIDMwLCA1LCAyMTUsIDkyLCA4NCwgMzAsIDUsIDIxNSwgMTk2LCAKLSAgICA4NCwgMzAsIDUsIDIyNywgOTksIDg0LCAzMCwgNSwgMTg2LCA4NCwgMzAsIDUsIDIzNiwgNTUsIDg0LCAzMCwgNSwgNzQsIAotICAgIDg0LCAzMCwgNSwgMjU0LCAxNDgsIDg0LCAzMCwgNSwgMjU0LCAxMDgsIDg0LCAzMCwgNSwgMjI3LCA0OSwgODQsIDMwLCA1LCAKLSAgICAyNTMsIDEwOCwgODQsIDUsIDIyOSwgMzcsIDg0LCA1LCAyMjQsIDE5LCA4NCwgNSwgMjEyLCAxNzIsIDg0LCA1LCAyMzAsIAotICAgIDEyMywgODQsIDUsIDIxNiwgMTcxLCA4NCwgNSwgMjUyLCA2MiwgODQsIDUsIDIyMywgMTA3LCA4NCwgNSwgMjE2LCAyNTEsIAotICAgIDg0LCA1LCAyMzQsIDI0NiwgODQsIDUsIDI1NCwgMTEwLCA4NCwgNSwgMjIyLCAxNjAsIDIyMiwgMTU0LCA4NCwgNSwgMjE0LCAKLSAgICAxMzAsIDg0LCA1LCAyNDksIDE3MCwgODQsIDUsIDI1MiwgMzcsIDg0LCA1LCAyMzQsIDEzMSwgODQsIDUsIDI1MiwgNTcsIAotICAgIDg0LCA1LCAyNTAsIDE5NywgMjI1LCAyMDQsIDIzMywgMjA5LCA4NCwgNSwgMjMzLCA1NCwgMjE2LCAyMzAsIDg0LCA1LCAKLSAgICAyNTEsIDE5NywgODQsIDUsIDIyNSwgMjU1LCAyMzAsIDE2OSwgODQsIDUsIDIzNCwgMTgsIDg0LCAyNDksIDM5LCAxNiwgCi0gICAgMjIzLCAxODEsIDg0LCA1LCAyNTMsIDkwLCA4NCwgNSwgMjUzLCAxMTEsIDg0LCAyMSwgMjEyLCA3OSwgODQsIDIxLCAxMTYsIAotICAgIDg0LCAyMSwgMTA5LCA4NCwgMjEsIDE2NiwgODQsIDIxLCAxNjMsIDg0LCAyMSwgMTgwLCA4NCwgMjEsIDE4OSwgODQsIDIxLCAKLSAgICAxOTgsIDg0LCAyMSwgMTk1LCA4NCwgMjEsIDIwMCwgODQsIDE2LCAyMzMsIDU0LCAyNTMsIDExMywgMjE5LCAyMjksIDg0LCAKLSAgICAxNiwgMjMzLCA1NCwgMjUzLCAxMTMsIDIzMCwgMTQxLCA4NCwgMTYsIDIzMywgNTQsIDI1MywgMTEzLCAyMjUsIDIwMywgODQsIAotICAgIDE2LCAyMzMsIDU0LCAyNTMsIDExMywgMjUxLCAyMjUsIDg0LCAxNiwgMjMzLCA1NCwgMjUzLCAxMTMsIDI1MSwgMzIsIDg0LCAKLSAgICAxNiwgMjMzLCA1NCwgMjUzLCAxMTMsIDIyNSwgOTUsIDg0LCAxNiwgMjMzLCA1NCwgMjUzLCAxMTMsIDIyNSwgODksIDg0LCAKLSAgICAxNiwgMjMzLCA1NCwgMjUzLCAxMTMsIDIyNSwgODcsIDg0LCAxNiwgMjMzLCA1NCwgMjUzLCAxMTMsIDIyNSwgOTMsIDg0LCAKLSAgICAxNiwgMjMzLCA1NCwgMjUzLCAxMTMsIDIyNSwgOTEsIDgxLCAyNTEsIDE1OSwgODEsIDI0NSwgMTIwLCA4MSwgMjQ5LCAxNTcsIAotICAgIDgxLCAyNDMsIDIwMCwgMjE5LCA2OSwgODEsIDI0OSwgMTY0LCA4MSwgMjQzLCAyMzcsIDI0NywgNzIsIDgxLCAyMTYsIDI1MCwgCi0gICAgMjE5LCAyMzYsIDI0MCwgMTYwLCA4MSwgMjIwLCAxMTYsIDQsIDI1MSwgOTgsIDIzMSwgMjE3LCA4MSwgMjMxLCAyNDYsIAotICAgIDI0OSwgMTU3LCA4MSwgMjMxLCAyNDYsIDI0MywgMjAwLCAyMTksIDY5LCA4MSwgMjI5LCAyMiwgODEsIDI0MywgMjIzLCA0MywgCi0gICAgMjIyLCA3NywgMTE2LCA4MSwgMjQzLCAyMjMsIDQzLCAyMjIsIDc3LCAxMDksIDgxLCAyNDMsIDIyMywgNDMsIDIyMiwgNzcsIAotICAgIDE2NiwgODEsIDMwLCAyMjEsIDU3LCA4MSwgMjEsIDIxMiwgNzksIDgxLCAyMSwgMTE2LCA4MSwgMjEsIDEwOSwgODEsIDIxLCAKLSAgICAxNjYsIDgxLCAyMSwgMTYzLCA4MSwgMjEsIDE4MCwgODEsIDIxLCAxODksIDgxLCAyMSwgMTk4LCA4MSwgMjEsIDE5NSwgODEsIAotICAgIDIxLCAyMDAsIDgxLCAxLCA2MSwgODEsIDEsIDc0LCA4MSwgMSwgNzIsIDgxLCAxLCA3NSwgODEsIDEsIDY5LCA4MSwgMSwgCi0gICAgMjI3LCA5OSwgODEsIDEsIDIxNSwgMTgzLCA4MSwgMSwgMjQ1LCAxNjUsIDgxLCAxLCAyMDUsIDgxLCAxLCAyNTQsIDI0LCAKLSAgICA4MSwgMSwgMjUyLCAxMDcsIDgxLCAxLCAxOTMsIDgxLCAxLCAyMjQsIDIzMiwgODEsIDEsIDI0MywgMTEwLCA4MSwgMSwgCi0gICAgMTg4LCA4MSwgMSwgMjMzLCAxNTcsIDgxLCAxLCAyMjIsIDIwMiwgODEsIDEsIDIyMSwgMjQsIDgxLCAxLCAyMTgsIDUyLCAKLSAgICA4MSwgMSwgMjQ4LCAxNjQsIDgxLCAxLCAyNTAsIDkyLCA4MSwgMSwgMjM1LCAxMzksIDgxLCAxLCAxODYsIDgxLCAxLCAyMDMsIAotICAgIDgxLCAxLCAyMTQsIDQ5LCA4MSwgMSwgMjQ0LCAxNjQsIDgxLCAxLCAxODEsIDgxLCAxLCAyMzQsIDEzOCwgODEsIDEsIDIxNiwgCi0gICAgMTQxLCA4MSwgMSwgMjEyLCAxMDksIDgxLCAxLCAyNDIsIDI3LCA4MSwgMSwgMjEyLCA5LCA4MSwgMSwgMjMzLCAyNSwgODEsIAotICAgIDEsIDIxMiwgNjIsIDgxLCAxLCAyNTAsIDQ3LCA4MSwgMSwgMjE2LCAyNTAsIDE4NCwgMzAsIDUyLCA4MSwgMSwgMjE2LCAKLSAgICAyNTAsIDc0LCA4MSwgMSwgMjE2LCAyNTAsIDcyLCA4MSwgMSwgMjE2LCAyNTAsIDc1LCA4MSwgMSwgMjE2LCAyNTAsIDY5LCAKLSAgICA4MSwgMSwgMjE2LCAyNTAsIDIyNywgOTksIDgxLCAxLCAyMTYsIDI1MCwgMjE1LCAxODMsIDgxLCAxLCAyMTYsIDI1MCwgCi0gICAgMjU0LCAyNCwgODEsIDEsIDIxNiwgMjUwLCAyNTIsIDEwNywgODEsIDEsIDIxNiwgMjUwLCAxOTMsIDgxLCAxLCAyMTYsIAotICAgIDI1MCwgMjI0LCAyMzIsIDgxLCAxLCAyMTYsIDI1MCwgMjQzLCAxMTAsIDgxLCAxLCAyMTYsIDI1MCwgMTg4LCA4MSwgMSwgCi0gICAgMjE2LCAyNTAsIDIxOCwgNTIsIDgxLCAxLCAyMTYsIDI1MCwgMjQ4LCAxNjQsIDgxLCAxLCAyMTYsIDI1MCwgMjUwLCA5MiwgCi0gICAgODEsIDEsIDIxNiwgMjUwLCAyMzUsIDEzOSwgODEsIDEsIDIxNiwgMjUwLCAyMTYsIDE0MSwgODEsIDEsIDIxNiwgMjUwLCAKLSAgICAxODYsIDgxLCAxLCAyMTYsIDI1MCwgMjE0LCA0OSwgODEsIDEsIDIxNiwgMjUwLCAxODEsIDgxLCAxLCAyMTYsIDI1MCwgCi0gICAgMjQzLCAxMDcsIDgxLCAxLCAyMTYsIDI1MCwgMjQyLCAyNywgODEsIDEsIDIxNiwgMjUwLCAyMzUsIDEwOSwgODEsIDEsIAotICAgIDIxNiwgMjUwLCAyMjksIDYyLCA4MSwgMSwgMjE2LCAyNTAsIDI0NSwgMjQ5LCA4MSwgMSwgMjIwLCAxMTYsIDc0LCA4MSwgMSwgCi0gICAgMjIwLCAxMTYsIDcyLCA4MSwgMSwgMjIwLCAxMTYsIDIzNSwgMTUwLCA4MSwgMSwgMjIwLCAxMTYsIDIxNSwgMTgzLCA4MSwgCi0gICAgMSwgMjIwLCAxMTYsIDY5LCA4MSwgMSwgMjIwLCAxMTYsIDI1NCwgMjQsIDgxLCAxLCAyMjAsIDExNiwgMTgxLCA4MSwgMSwgCi0gICAgMjIwLCAxMTYsIDI0MywgMTEwLCA4MSwgMSwgMjIwLCAxMTYsIDE1OSwgODEsIDEsIDIyMCwgMTE2LCAxOTMsIDgxLCAxLCAKLSAgICAyMjAsIDExNiwgMjIxLCAyNCwgODEsIDEsIDIyMCwgMTE2LCAyMTgsIDUyLCA4MSwgMSwgMjIwLCAxMTYsIDI0OCwgMTY0LCAKLSAgICA4MSwgMSwgMjIwLCAxMTYsIDIzNSwgMTM5LCA4MSwgMSwgMjIwLCAxMTYsIDI0NCwgMTY0LCA4MSwgMSwgMjIwLCAxMTYsIAotICAgIDI0MywgMTA3LCA4MSwgMSwgMjIwLCAxMTYsIDI0MiwgMjcsIDgxLCAxLCAyMjAsIDExNiwgMjE2LCAxNDEsIDgxLCAxLCAKLSAgICAyMjAsIDExNiwgMjEyLCAxMDksIDgxLCAxLCAyMjAsIDExNiwgMjI0LCA3NCwgODEsIDEsIDIyMCwgMTE2LCAyNTAsIDkyLCAKLSAgICA4MSwgMSwgMjIwLCAxMTYsIDIxMiwgNzUsIDgxLCAxLCAyMzEsIDI0NiwgNzIsIDgxLCAxLCAyMzEsIDI0NiwgMTgxLCA4MSwgCi0gICAgMSwgMjMxLCAyNDYsIDIwMywgODEsIDEsIDIzMSwgMjQ2LCAyNDQsIDE2NCwgODEsIDEsIDIzMSwgMjQ2LCAyMTIsIDc1LCAKLSAgICA4MSwgMSwgMjU0LCA3MSwgMjQzLCA5MiwgMjUzLCAyNDMsIDExNiwgODEsIDEsIDI1NCwgNzEsIDI0MywgOTIsIDIxNCwgCi0gICAgMTI5LCAxMTYsIDgxLCAxLCAyNTQsIDcxLCAyNDMsIDkyLCAyNDgsIDEzMSwgODEsIDEsIDI1NCwgNzEsIDI0MywgOTIsIAotICAgIDIxNSwgMTkzLCA4MSwgMSwgMjU0LCA3MSwgMjQzLCA5MiwgMjM1LCAxOTEsIDIxNSwgMTkzLCA4MSwgMSwgMjU0LCA3MSwgCi0gICAgMjQzLCA5MiwgMjUyLCA3NCwgODEsIDEsIDI1NCwgNzEsIDI0MywgOTIsIDEzMywgMjUyLCA3NCwgODEsIDEsIDI1NCwgNzEsIAotICAgIDI0MywgOTIsIDYxLCA4MSwgMSwgMjU0LCA3MSwgMjQzLCA5MiwgNzIsIDgxLCAxLCAyNTQsIDcxLCAyNDMsIDkyLCAxODEsIAotICAgIDgxLCAxLCAyNTQsIDcxLCAyNDMsIDkyLCAyMjksIDE1OSwgODEsIDEsIDI1NCwgNzEsIDI0MywgOTIsIDI1MCwgMjE5LCA4MSwgCi0gICAgMSwgMjU0LCA3MSwgMjQzLCA5MiwgMjE2LCAxMTUsIDgxLCAxLCAyNTQsIDcxLCAyNDMsIDkyLCAyMTYsIDEwNSwgODEsIDEsIAotICAgIDI1NCwgNzEsIDI0MywgOTIsIDI0OCwgODYsIDgxLCAxLCAyNTQsIDcxLCAyNDMsIDkyLCAyMjgsIDE5OCwgODEsIDEsIDI1NCwgCi0gICAgNzEsIDI0MywgOTIsIDIxOCwgNTIsIDgxLCAxLCAyNTQsIDcxLCAyNDMsIDkyLCAyNDgsIDE2NCwgODEsIDEsIDI1NCwgNzEsIAotICAgIDI0MywgOTIsIDE5MywgODEsIDEsIDI1NCwgNzEsIDI0MywgOTIsIDIyNiwgMjMsIDgxLCAxLCAyNTQsIDcxLCAyNDMsIDkyLCAKLSAgICAyMTksIDE1NywgODEsIDEsIDI1NCwgNzEsIDI0MywgOTIsIDIxMiwgNzUsIDgxLCAxLCAyNTQsIDcxLCAyNDMsIDkyLCAyMTIsIAotICAgIDEwOSwgODEsIDEsIDI1NCwgNzEsIDI0MywgOTIsIDI1NCwgMTE0LCA4MSwgMSwgMjE2LCAyNTAsIDI1NCwgNzEsIDI0MywgCi0gICAgOTIsIDIxOCwgNTIsIDgxLCAxLCAyMTYsIDI1MCwgMjU0LCA3MSwgMjQzLCA5MiwgMjEyLCA3NSwgODEsIDEsIDIzMSwgMjQ2LCAKLSAgICAyNTQsIDcxLCAyNDMsIDkyLCAyNDIsIDIyNSwgODEsIDEsIDIzMSwgMjQ2LCAyNTQsIDcxLCAyNDMsIDkyLCAyMjksIDE1OSwgCi0gICAgODEsIDEsIDIzMSwgMjQ2LCAyNTQsIDcxLCAyNDMsIDkyLCAyNTAsIDIxOSwgODEsIDEsIDIzMSwgMjQ2LCAyNTQsIDcxLCAKLSAgICAyNDMsIDkyLCAyMzUsIDExNSwgODEsIDEsIDIzMSwgMjQ2LCAyNTQsIDcxLCAyNDMsIDkyLCAyMTYsIDExNSwgODEsIDEsIAotICAgIDIzMSwgMjQ2LCAyNTQsIDcxLCAyNDMsIDkyLCAyNDgsIDcwLCA4MSwgMSwgMjMxLCAyNDYsIDI1NCwgNzEsIDI0MywgOTIsIAotICAgIDIxOCwgNTIsIDgxLCAxLCAyMzEsIDI0NiwgMjU0LCA3MSwgMjQzLCA5MiwgMjQ3LCAyMzIsIDgxLCAxLCAyMzEsIDI0NiwgCi0gICAgMjU0LCA3MSwgMjQzLCA5MiwgMjE5LCAxNTcsIDgxLCAxLCAyMzEsIDI0NiwgMjU0LCA3MSwgMjQzLCA5MiwgMjQ5LCAxNSwgCi0gICAgODEsIDEsIDIzMSwgMjQ2LCAyNTQsIDcxLCAyNDMsIDkyLCAyMTIsIDc1LCA4MSwgMSwgMjMxLCAyNDYsIDI1NCwgNzEsIAotICAgIDI0MywgOTIsIDIxMiwgMTA5LCA4MSwgMSwgMjU0LCA3MSwgMjQzLCA5MiwgMTUxLCA2OSwgODEsIDEsIDI1NCwgNzEsIDI0MywgCi0gICAgOTIsIDE1MSwgMTg2LCA4MSwgMSwgMjMxLCAyNDYsIDI1NCwgNzEsIDI0MywgOTIsIDI1MSwgMTk1LCA4MSwgMSwgMjU0LCAKLSAgICA3MSwgMjQzLCA5MiwgMjQ4LCAxNTQsIDgxLCAxLCAyMzEsIDI0NiwgMjU0LCA3MSwgMjQzLCA5MiwgMjMzLCAyNSwgMTgsIAotICAgIDE5LCAyMjYsIDIzMywgMTgsIDE5LCAyNTMsIDgzLCAxOCwgMTksIDI1NCwgMTg4LCAxOCwgMTksIDIxNCwgOSwgMTgsIDE5LCAKLSAgICAyMjUsIDEwMSwgMTgsIDE5LCAyMjYsIDEwMywgMTgsIDE5LCAyMjQsIDI0OSwgMTgsIDE5LCAyMTcsIDIzOCwgMTgsIDE5LCAKLSAgICAyMzQsIDE5NSwgMTgsIDE5LCAyMzMsIDIwMSwgMTgsIDE5LCAyMzEsIDE5NiwgMTgsIDE5LCAyMjgsIDE0OCwgMTgsIDE5LCAKLSAgICAyMzAsIDMsIDE4LCAxOSwgMjMzLCA5MiwgMTgsIDE5LCAyMTksIDIwOSwgMTgsIDE5LCAyMjIsIDEyOSwgMTgsIDE5LCAyMjAsIAotICAgIDE1NiwgMTgsIDE5LCAyMjAsIDI0NiwgMTgsIDE5LCAyMjAsIDEyNywgMTgsIDE5LCAyMTIsIDIxMSwgMTgsIDE5LCAyMTMsIAotICAgIDQzLCAxOCwgMTksIDIyNCwgMjcsIDE4LCAxOSwgMjI4LCAyOCwgMTgsIDE5LCAyMjcsIDgyLCAyMjgsIDI4LCAxOCwgMTksIAotICAgIDIyOCwgMjcsIDE4LCAxOSwgMjI3LCA4MiwgMjI4LCAyNywgMTgsIDE5LCAyMjgsIDI2LCAxOCwgMTksIDIyNywgODIsIDIyOCwgCi0gICAgMjYsIDE4LCAxOSwgMjI4LCAyNSwgMTgsIDE5LCAyMjcsIDgyLCAyMjgsIDI1LCAxOCwgMTksIDIyMywgMTcsIDE4LCAxOSwgCi0gICAgMjIzLCAxNiwgMTgsIDE5LCAyMjMsIDE1LCAxOCwgMTksIDIyMywgMTQsIDE4LCAxOSwgMjIzLCAxMywgMTgsIDE5LCAyMjMsIAotICAgIDIxLCAxOCwgMTksIDIyNywgODIsIDIyNiwgMjI5LCAxOCwgMTksIDIyNywgODIsIDIxOCwgOTksIDE4LCAxOSwgMjI3LCA4MiwgCi0gICAgMjM1LCAyNywgMTgsIDE5LCAyMjcsIDgyLCAyNTAsIDI1MiwgMTgsIDE5LCAyMjcsIDgyLCAxODMsIDE4LCAxOSwgMjI3LCAKLSAgICA4MiwgMjA0LCAxOCwgMTksIDIyNywgODIsIDE5NywgMTgsIDE5LCAyMjcsIDgyLCAyMjEsIDI2LCAxOCwgMTksIDI0NSwgCi0gICAgMTc1LCAyMTQsIDgyLCAxOCwgMTksIDIxMywgMjQ4LCAyMTQsIDgyLCAxOCwgMTksIDQwLCAzLCAyMjMsIDEzMCwgMTgsIDE5LCAKLSAgICA0MCwgMjI0LCA0OCwgMjQ3LCA3NCwgMTgsIDE5LCAyMjQsIDExMiwgMjIzLCAxOCwgMTgsIDE5LCAxNDgsIDIzMiwgMTgwLCAKLSAgICAxOCwgMTksIDE0OCwgMjMzLCAxNTYsIDE4LCAxOSwgMjE3LCA4MCwgMTgsIDE5LCAyMTcsIDgyLCAxOCwgMTksIDIxNiwgOTcsIAotICAgIDE4LCAxOSwgMjE2LCA5OSwgMTgsIDE5LCAyMTYsIDEwNCwgMTgsIDE5LCAyMTcsIDIsIDE4LCAxOSwgMjE3LCA0LCAxOCwgCi0gICAgMTksIDIyMiwgMTI3LCAyMjAsIDEzMiwgMTgsIDE5LCAyMjIsIDEyNywgMjIwLCAxODEsIDE4LCAxOSwgMjIyLCAxMjcsIAotICAgIDI0MSwgMzksIDE4LCAxOSwgNjYsIDI0MiwgNTQsIDE4LCAxOSwgNjYsIDI0OCwgMywgMjQzLCAzMSwgMTgsIDE5LCA2NiwgCi0gICAgMjQzLCAxMDcsIDE4LCAxOSwgNjYsIDI0MiwgNTksIDE4LCAxOSwgMjIyLCAxMjcsIDIzNSwgMzcsIDE4LCAxOSwgNjYsIAotICAgIDIzNSwgMzUsIDE4LCAxOSwgMjUxLCAyNDQsIDI0OCwgMywgMTUwLCAxOCwgMTksIDI1MSwgMjQ0LCAyNDgsIDMsIDE0OSwgCi0gICAgMTgsIDE5LCA2NiwgMjQ3LCAyNTQsIDE5NywgMjA5LCAyMTQsIDEwMywgMjMzLCAzNCwgMjA5LCAxLCAxODEsIDIwOSwgMSwgCi0gICAgMjM0LCAxMzgsIDIwOSwgMSwgMjQzLCAxMTAsIDIwOSwgMSwgMjQyLCAyMjUsIDIwOSwgMSwgMjI5LCAxNTksIDIwOSwgMSwgCi0gICAgMjUwLCAyMTksIDIwOSwgMSwgMjUwLCA5MiwgMjA5LCAxLCAyMzUsIDEzOSwgMjA5LCAxLCAyMzUsIDExNSwgMjA5LCAxLCAKLSAgICAyMTMsIDYwLCAyMDksIDEsIDIxOCwgNTIsIDIwOSwgMSwgMjE3LCAxNjEsIDIwOSwgMSwgMjQ4LCAxNjQsIDIwOSwgMSwgCi0gICAgMjQ3LCAyMzIsIDIwOSwgMSwgMjA1LCAyMDksIDEsIDE5MywgMjA5LCAxLCAyMjYsIDIzLCAyMDksIDEsIDI1MiwgMTA3LCAKLSAgICAyMDksIDEsIDI1MSwgMTk1LCAyMDksIDEsIDE4OCwgMjA5LCAxLCAxODYsIDIwOSwgMSwgMjAzLCAyMDksIDEsIDIzMywgCi0gICAgMTU3LCAyMDksIDEsIDIxNCwgNDksIDIwOSwgMSwgMjIxLCAyNCwgMjA5LCAxLCAyMTksIDE1NywgMjA5LCAxLCAyMjIsIAotICAgIDIwMiwgMjA5LCAxLCAxNTksIDIwOSwgMzAsIDUsIDYxLCAyMDksIDMwLCA1LCA3MiwgMjA5LCAzMCwgNSwgNjksIDIwOSwgCi0gICAgMzAsIDUsIDI0NSwgMTY1LCAyMDksIDMwLCA1LCAyNTQsIDEwOCwgMjA5LCAzMCwgNSwgMjI3LCA0OSwgMjA5LCAzMCwgNSwgCi0gICAgMjUzLCAxMDgsIDIwOSwgMzAsIDUsIDc0LCAyMDksIDMwLCA1LCA3NSwgMjA5LCAyMTksIDE4LCAxLCAxODYsIDIwOSwgMjE5LCAKLSAgICAxOCwgMSwgMjAzLCAyMDksIDIxOSwgMTgsIDEsIDIxNCwgNDksIDIwOSwgMywgMSwgMTgxLCAyMDksIDMsIDEsIDIyOSwgCi0gICAgMTU5LCAyMDksIDMsIDEsIDI1MywgMjQyLCAyMDksIDMsIDEsIDIxOCwgNTIsIDIwOSwgMywgMSwgMjA1LCAyMDksIDMsIDEsIAotICAgIDE5MywgMjA5LCAzLCAxLCAxODgsIDIwOSwgMywgMSwgMjAzLCAyMDksIDMsIDEsIDIzMywgMTU3LCAyMDksIDUsIDIzMCwgCi0gICAgMTU5LCAyMDksIDUsIDIzNCwgMTc3LCAyMDksIDUsIDIyMiwgMjAxLCAyMDksIDUsIDIzMiwgMTgwLCAyMDksIDI0NCwgMjU0LCAKLSAgICA3NywgMjA5LCAyMjQsIDE1OCwgNzcsIDIwOSwgMjEsIDIxMiwgNzksIDIwOSwgMjEsIDExNiwgMjA5LCAyMSwgMTA5LCAyMDksIAotICAgIDIxLCAxNjYsIDIwOSwgMjEsIDE2MywgMjA5LCAyMSwgMTgwLCAyMDksIDIxLCAxODksIDIwOSwgMjEsIDE5OCwgMjA5LCAyMSwgCi0gICAgMTk1LCAyMDksIDIxLCAyMDAsIDM4LCAyMzMsIDgzLCAxLCAxODEsIDM4LCAyMzMsIDgzLCAxLCAyMTMsIDE1MywgMzgsIAotICAgIDIzMywgODMsIDEsIDIyOSwgMTU5LCAzOCwgMjMzLCA4MywgMSwgMjE2LCAxNDEsIDM4LCAyMzMsIDgzLCAxLCAyMjIsIDIwMiwgCi0gICAgMzgsIDIzMywgODMsIDEsIDE4NiwgMzgsIDIzMywgODMsIDEsIDIxOCwgNTIsIDM4LCAyMzMsIDgzLCAxLCAyMTcsIDE2MSwgCi0gICAgMzgsIDIzMywgODMsIDEsIDIzMywgMTU3LCAzOCwgMjMzLCA4MywgMSwgMTkzLCAzOCwgMjMzLCA4MywgMSwgMjI2LCAyMywgCi0gICAgMzgsIDIzMywgODMsIDEsIDE4OCwgMzgsIDIzMywgODMsIDEsIDI0NCwgMTY0LCAzOCwgMjMzLCA4MywgMSwgMjE1LCAxLCAKLSAgICAzOCwgMjMzLCA4MywgMSwgMTU5LCAzOCwgMjMzLCA4MywgMSwgMjI0LCAyMzIsIDM4LCAyMzMsIDgzLCAxLCAyMzQsIDEzOCwgCi0gICAgMzgsIDIzMywgODMsIDEsIDIxNiwgMTMzLCAzOCwgMjMzLCA4MywgMSwgMjA1LCAzOCwgMjMzLCA4MywgMSwgNjEsIDM4LCAKLSAgICAyMzMsIDgzLCAxLCA3MiwgMzgsIDIzMywgODMsIDEsIDI0NSwgMTY1LCAzOCwgMjMzLCA4MywgMSwgMjQ1LCAxNTQsIDM4LCAKLSAgICAyMzMsIDgzLCAxLCA2OSwgMzgsIDIzMywgODMsIDEsIDIyNywgNDksIDM4LCAyMzMsIDgzLCAxLCA3NSwgMzgsIDIzMywgODMsIAotICAgIDEsIDIxNSwgMTgzLCAzOCwgMjMzLCA4MywgMSwgNzQsIDM4LCAyMzMsIDgzLCAxLCAyNTMsIDEwNiwgMzgsIDIzMywgODMsIAotICAgIDEsIDI1NCwgMTA4LCAzOCwgMjMzLCA4MywgMSwgMjE2LCAyMzksIDM4LCAyMzMsIDgzLCAxLCAyMTYsIDIzOCwgMzgsIDIzMywgCi0gICAgODMsIDEsIDIxNiwgMjM3LCAzOCwgMjMzLCA4MywgMSwgMjE2LCAyMzYsIDM4LCAyMzMsIDgzLCAxLCAyMTYsIDIzNSwgMTU2LCAKLSAgICAzOCwgMTY1LCAxLCAxMjQsIDIyNCwgMjMyLCAxNTYsIDM4LCAxNjUsIDEsIDExNSwgMjI0LCAyMzIsIDE1NiwgMzgsIDE2NSwgCi0gICAgMSwgMTI0LCAxODEsIDE1NiwgMzgsIDE2NSwgMSwgMTI0LCAyMTMsIDE1MywgMTU2LCAzOCwgMTY1LCAxLCAxMjQsIDIyOSwgCi0gICAgMTU5LCAxNTYsIDM4LCAxNjUsIDEsIDExNSwgMTgxLCAxNTYsIDM4LCAxNjUsIDEsIDExNSwgMjEzLCAxNTMsIDE1NiwgMzgsIAotICAgIDE2NSwgMSwgMTE1LCAyMjksIDE1OSwgMTU2LCAzOCwgMTY1LCAxLCAxMjQsIDIxNiwgMTQxLCAxNTYsIDM4LCAxNjUsIDEsIAotICAgIDEyNCwgMjIyLCAyMDIsIDE1NiwgMzgsIDE2NSwgMSwgMTI0LCAxODYsIDE1NiwgMzgsIDE2NSwgMSwgMTE1LCAyMTYsIDE0MSwgCi0gICAgMTU2LCAzOCwgMTY1LCAxLCAxMTUsIDIyMiwgMjAyLCAxNTYsIDM4LCAxNjUsIDEsIDExNSwgMTg2LCAxNTYsIDM4LCAxNjUsIAotICAgIDEsIDEyNCwgMjE4LCA1MiwgMTU2LCAzOCwgMTY1LCAxLCAxMjQsIDIxNywgMTYxLCAxNTYsIDM4LCAxNjUsIDEsIDEyNCwgCi0gICAgMjA1LCAxNTYsIDM4LCAxNjUsIDEsIDExNSwgMjE4LCA1MiwgMTU2LCAzOCwgMTY1LCAxLCAxMTUsIDIxNywgMTYxLCAxNTYsIAotICAgIDM4LCAxNjUsIDEsIDExNSwgMjA1LCAxNTYsIDM4LCAxNjUsIDEsIDEyNCwgMTkzLCAxNTYsIDM4LCAxNjUsIDEsIDEyNCwgCi0gICAgMjI2LCAyMywgMTU2LCAzOCwgMTY1LCAxLCAxMjQsIDE4OCwgMTU2LCAzOCwgMTY1LCAxLCAxMTUsIDE5MywgMTU2LCAzOCwgCi0gICAgMTY1LCAxLCAxMTUsIDIyNiwgMjMsIDE1NiwgMzgsIDE2NSwgMSwgMTE1LCAxODgsIDE1NiwgMzgsIDE2NSwgMSwgMTI0LCAKLSAgICAyNDQsIDE2NCwgMTU2LCAzOCwgMTY1LCAxLCAxMjQsIDIxNSwgMSwgMTU2LCAzOCwgMTY1LCAxLCAxMjQsIDIzMywgMTU3LCAKLSAgICAxNTYsIDM4LCAxNjUsIDEsIDExNSwgMjQ0LCAxNjQsIDE1NiwgMzgsIDE2NSwgMSwgMTE1LCAyMTUsIDEsIDE1NiwgMzgsIAotICAgIDE2NSwgMSwgMTE1LCAyMzMsIDE1NywgMTU2LCAzOCwgMTY1LCAxLCAxMjQsIDE1OSwgMTU2LCAzOCwgMTY1LCAxLCAxMjQsIAotICAgIDI0OCwgMTY0LCAxNTYsIDM4LCAxNjUsIDEsIDEyNCwgMjUyLCAxMDcsIDE1NiwgMzgsIDE2NSwgMSwgMTE1LCAxNTksIDE1NiwgCi0gICAgMzgsIDE2NSwgMSwgMTE1LCAyNDgsIDE2NCwgMTU2LCAzOCwgMTY1LCAxLCAxMTUsIDI1MiwgMTA3LCAxNTYsIDM4LCAxNjUsIAotICAgIDEsIDEyNCwgMjMzLCAyMDYsIDE1NiwgMzgsIDE2NSwgMSwgMTI0LCAyMTMsIDEyNiwgMTU2LCAzOCwgMTY1LCAxLCAxMTUsIAotICAgIDIzMywgMjA2LCAxNTYsIDM4LCAxNjUsIDEsIDExNSwgMjEzLCAxMjYsIDE1NiwgMzgsIDE2NSwgMSwgMTI0LCAyMTksIDI2LCAKLSAgICAxNTYsIDM4LCAxNjUsIDEsIDExNSwgMjE5LCAyNiwgMTU2LCAzOCwgMTY1LCAzMCwgNSwgMzAsIDIyMCwgMTYzLCAxNTYsIAotICAgIDM4LCAxNjUsIDMwLCA1LCAyNTQsIDIzMiwgMTU2LCAzOCwgMTY1LCAzMCwgNSwgMjM2LCAyOCwgMTU2LCAzOCwgMTY1LCAzMCwgCi0gICAgNSwgNjksIDE1NiwgMzgsIDE2NSwgMzAsIDUsIDIxNSwgOTIsIDE1NiwgMzgsIDE2NSwgMzAsIDUsIDc0LCAxNTYsIDM4LCAKLSAgICAxNjUsIDMwLCA1LCAyNTQsIDE0OCwgMTU2LCAzOCwgMTY1LCAzMCwgNSwgNzUsIDE1NiwgMzgsIDE2NSwgMzAsIDUsIDIyNywgCi0gICAgMTIwLCAxNTYsIDM4LCAxNjUsIDMwLCA1LCAyMTUsIDE4MywgMTU2LCAzOCwgMTY1LCAzMCwgNSwgMjUzLCA4MywgMTU2LCAKLSAgICAzOCwgMTY1LCAzMCwgNSwgMjU0LCAxODgsIDE1NiwgMzgsIDE2NSwgMzAsIDUsIDIxNSwgODUsIDE1NiwgMzgsIDE2NSwgMzAsIAotICAgIDUsIDIyNiwgMjMzLCAxNTYsIDM4LCAxNjUsIDMwLCA1LCAyMjcsIDExNywgMTU2LCAzOCwgMTY1LCAzMCwgNSwgMjE1LCAKLSAgICAxODAsIDE1NiwgMzgsIDE2NSwgMzAsIDUsIDIzNSwgMTUwLCAxNTYsIDM4LCAxNjUsIDEsIDQwLCAyMTUsIDc5LCAxNTYsIAotICAgIDM4LCAxNjUsIDEsIDQwLCAyMjksIDE2MSwgMTU2LCAzOCwgMTY1LCAxLCA0MCwgMjA0LCAxNTYsIDM4LCAxNjUsIDEsIDQwLCAKLSAgICAxODMsIDE1NiwgMzgsIDE2NSwgMSwgNDAsIDIzNSwgMjcsIDE1NiwgMzgsIDE2NSwgMSwgNDAsIDI0OSwgMywgMTU2LCAzOCwgCi0gICAgMTY1LCAxLCA0MCwgMjUzLCA3NCwgMTU2LCAzOCwgMTY1LCAxNjAsIDIzMSwgMjIxLCAxNTYsIDM4LCAxNjUsIDE2MCwgMjMxLCAKLSAgICAyMjAsIDE1NiwgMzgsIDE2NSwgMjEsIDIxMiwgNzksIDE1NiwgMzgsIDE2NSwgMjEsIDExNiwgMTU2LCAzOCwgMTY1LCAyMSwgCi0gICAgMTA5LCAxNTYsIDM4LCAxNjUsIDIxLCAxNjYsIDE1NiwgMzgsIDE2NSwgMjEsIDE2MywgMTU2LCAzOCwgMTY1LCAyMSwgMTgwLCAKLSAgICAxNTYsIDM4LCAxNjUsIDIxLCAxODksIDE1NiwgMzgsIDE2NSwgMjEsIDE5OCwgMTU2LCAzOCwgMTY1LCAyMSwgMTk1LCAxNTYsIAotICAgIDM4LCAxNjUsIDIxLCAyMDAsIDE1NiwgMzgsIDE2NSwgODgsIDIxLCAxMTYsIDE1NiwgMzgsIDE2NSwgNSwgMjMzLCAxNDMsIAotICAgIDE1NiwgMzgsIDE2NSwgNSwgMjMzLCAxNDIsIDg0LCAxNiwgMjI2LCAxMDksIDg0LCAxNiwgMjMwLCAxNDIsIDIzNCwgMzQsIAotICAgIDg0LCAxNiwgMjI1LCAyMDQsIDIzNCwgMzQsIDg0LCAxNiwgMjUxLCAyMjYsIDIzNCwgMzQsIDg0LCAxNiwgMjUxLCAzMywgCi0gICAgMjM0LCAzNCwgODQsIDE2LCAyMjUsIDk2LCAyMzQsIDM0LCA4NCwgMTYsIDIyNSwgOTAsIDIzNCwgMzQsIDg0LCAxNiwgMjI1LCAKLSAgICA4OCwgMjM0LCAzNCwgODQsIDE2LCAyMjUsIDk0LCAyMzQsIDM0LCA4NCwgMTYsIDIyNSwgOTIsIDIzNCwgMzQsIDg0LCAxNiwgCi0gICAgMjQ4LCAxMTgsIDIzNCwgMzQsIDg0LCAxNiwgMjQ4LCAxMTQsIDIzNCwgMzQsIDg0LCAxNiwgMjQ4LCAxMTMsIDIzNCwgMzQsIAotICAgIDg0LCAxNiwgMjQ4LCAxMTYsIDIzNCwgMzQsIDg0LCAxNiwgMjQ4LCAxMTUsIDIzNCwgMzQsIDg0LCAxNiwgMjQ4LCAxMTIsIAotICAgIDIzNCwgMzQsIDg0LCAxNiwgMjE2LCA1MSwgODQsIDE2LCAyMzAsIDE0MiwgMjIzLCAxMDYsIDg0LCAxNiwgMjI1LCAyMDQsIAotICAgIDIyMywgMTA2LCA4NCwgMTYsIDI1MSwgMjI2LCAyMjMsIDEwNiwgODQsIDE2LCAyNTEsIDMzLCAyMjMsIDEwNiwgODQsIDE2LCAKLSAgICAyMjUsIDk2LCAyMjMsIDEwNiwgODQsIDE2LCAyMjUsIDkwLCAyMjMsIDEwNiwgODQsIDE2LCAyMjUsIDg4LCAyMjMsIDEwNiwgCi0gICAgODQsIDE2LCAyMjUsIDk0LCAyMjMsIDEwNiwgODQsIDE2LCAyMjUsIDkyLCAyMjMsIDEwNiwgODQsIDE2LCAyNDgsIDExOCwgCi0gICAgMjIzLCAxMDYsIDg0LCAxNiwgMjQ4LCAxMTQsIDIyMywgMTA2LCA4NCwgMTYsIDI0OCwgMTEzLCAyMjMsIDEwNiwgODQsIDE2LCAKLSAgICAyNDgsIDExNiwgMjIzLCAxMDYsIDg0LCAxNiwgMjQ4LCAxMTUsIDIyMywgMTA2LCA4NCwgMTYsIDI0OCwgMTEyLCAyMjMsIAotICAgIDEwNiwgMjUxLCA1MCwgMSwgMTgxLCAyNTEsIDUwLCAxLCAyNDMsIDExMCwgMjUxLCA1MCwgMSwgMjI5LCAxNTksIDI1MSwgCi0gICAgNTAsIDEsIDIyOSwgMTA4LCAyNTEsIDUwLCAxLCAxOTMsIDI1MSwgNTAsIDEsIDI1MiwgMTA3LCAyNTEsIDUwLCAxLCAxODgsIAotICAgIDI1MSwgNTAsIDEsIDIzMCwgMTc1LCAyNTEsIDUwLCAxLCAyMTgsIDUyLCAyNTEsIDUwLCAxLCAyNDgsIDE2NCwgMjUxLCA1MCwgCi0gICAgMSwgMjA1LCAyNTEsIDUwLCAxLCAyMjgsIDE0NywgMjUxLCA1MCwgMSwgMjUwLCAyMTksIDI1MSwgNTAsIDEsIDIzNSwgMTM5LCAKLSAgICAyNTEsIDUwLCAxLCAyMjgsIDIzLCAyNTEsIDUwLCAxLCAyMjgsIDE5LCAyNTEsIDUwLCAxLCAxODYsIDI1MSwgNTAsIDEsIAotICAgIDIwMywgMjUxLCA1MCwgMSwgMjMzLCAxNTcsIDI1MSwgNTAsIDEsIDIxNSwgMSwgMjUxLCA1MCwgMSwgMjIyLCAyMDIsIDI1MSwgCi0gICAgNTAsIDEsIDYxLCAyNTEsIDUwLCAxLCAxNTksIDI1MSwgNTAsIDMwLCA1LCA3MiwgMjUxLCA1MCwgMzAsIDUsIDY5LCAyNTEsIAotICAgIDUwLCAzMCwgNSwgNzQsIDI1MSwgNTAsIDMwLCA1LCA3NSwgMjUxLCA1MCwgMzAsIDUsIDI1NCwgMTQ4LCAyNTEsIDUwLCAKLSAgICAyMjYsIDE4NywgMjUxLCA1MCwgMjQ1LCAxMDEsIDY1LCAyMjIsIDkxLCAzOCwgODgsIDEsIDEyNCwgMTgxLCAzOCwgODgsIDEsIAotICAgIDEyNCwgMjM0LCAxMzgsIDM4LCA4OCwgMSwgMTI0LCAyMzMsIDE5MywgMzgsIDg4LCAxLCAxMTUsIDE4MSwgMzgsIDg4LCAxLCAKLSAgICAxMTUsIDIzMywgMTkzLCAzOCwgODgsIDEsIDExNSwgMjM0LCAxMzgsIDM4LCA4OCwgMSwgMjI5LCAxNTksIDM4LCA4OCwgMSwgCi0gICAgMTI0LCAyNTAsIDIxOSwgMzgsIDg4LCAxLCAxMjQsIDI1MCwgOTIsIDM4LCA4OCwgMSwgMTE1LCAyNTAsIDIxOSwgMzgsIDg4LCAKLSAgICAxLCAxMTUsIDIyMiwgMjAyLCAzOCwgODgsIDEsIDExNSwgMjUwLCA5MiwgMzgsIDg4LCAxLCAyMjgsIDIzLCAzOCwgODgsIDEsIAotICAgIDIyNCwgMzIsIDM4LCA4OCwgMSwgMTI0LCAyMjQsIDMwLCAzOCwgODgsIDEsIDI0OCwgMTY0LCAzOCwgODgsIDEsIDExNSwgCi0gICAgMjI0LCAzMCwgMzgsIDg4LCAxLCAyMjQsIDQxLCAzOCwgODgsIDEsIDEyNCwgMjE4LCA1MiwgMzgsIDg4LCAxLCAxMjQsIAotICAgIDIxNywgMTYxLCAzOCwgODgsIDEsIDExNSwgMjE4LCA1MiwgMzgsIDg4LCAxLCAxMTUsIDIxNywgMTYxLCAzOCwgODgsIDEsIAotICAgIDIwNSwgMzgsIDg4LCAxLCAyNTIsIDEwNywgMzgsIDg4LCAxLCAxMjQsIDE5MywgMzgsIDg4LCAxLCAxMjQsIDIyNiwgMjMsIAotICAgIDM4LCA4OCwgMSwgMTI0LCAyNDQsIDE2NCwgMzgsIDg4LCAxLCAxMTUsIDE5MywgMzgsIDg4LCAxLCAxMTUsIDI0NCwgMTY0LCAKLSAgICAzOCwgODgsIDEsIDExNSwgMjI2LCAyMywgMzgsIDg4LCAxLCAxODgsIDM4LCA4OCwgMSwgMTE1LCAxODYsIDM4LCA4OCwgMSwgCi0gICAgMTI0LCAxODYsIDM4LCA4OCwgMSwgMjAzLCAzOCwgODgsIDEsIDIyMywgNDgsIDM4LCA4OCwgMSwgMjMzLCAxNTcsIDM4LCAKLSAgICA4OCwgMSwgMjMyLCAxNTEsIDM4LCA4OCwgMSwgMjE0LCA0OSwgMzgsIDg4LCAxLCAxMjQsIDIyMSwgMjQsIDM4LCA4OCwgMSwgCi0gICAgMTI0LCAyMTksIDE1NywgMzgsIDg4LCAxLCAxMjQsIDIyMiwgMjAyLCAzOCwgODgsIDEsIDEyNCwgMTU5LCAzOCwgODgsIDEsIAotICAgIDIzMiwgMjEzLCAzOCwgODgsIDEsIDYxLCAzOCwgODgsIDEsIDExNSwgMTU5LCAzOCwgODgsIDEsIDcyLCAzOCwgODgsIDEsIAotICAgIDIzNiwgMjgsIDM4LCA4OCwgMSwgNjksIDM4LCA4OCwgMSwgMjE1LCA5MiwgMzgsIDg4LCAxLCAyNDUsIDE2NSwgMzgsIDg4LCAKLSAgICAxLCAyMjcsIDQ5LCAzOCwgODgsIDEsIDIzMywgMTQzLCAzOCwgODgsIDEsIDI0MiwgMTA5LCAyMjIsIDIwMiwgMzgsIDg4LCAKLSAgICAyNDksIDEzMywgNSwgMTM4LCAyMDMsIDM4LCA4OCwgMjQ5LCAxMzMsIDUsIDEzOCwgMjMzLCAxNTcsIDM4LCA4OCwgMjQ5LCAKLSAgICAxMzMsIDUsIDIzMywgMTU4LCAyMTgsIDksIDIzMywgMTMzLCAzOCwgODgsIDUsIDIzMiwgOSwgMjM0LCAyMzYsIDIzMywgCi0gICAgMTMzLCAzOCwgODgsIDI0OSwgMTMzLCA1LCA0MCwgMjI5LCAxNTksIDM4LCA4OCwgMjQ5LCAxMzMsIDUsIDExNSwgMTkzLCAKLSAgICAzOCwgODgsIDI0OSwgMTMzLCA1LCAxMjQsIDIyNCwgMzEsIDE2NywgMTE1LCAxOTMsIDM4LCA4OCwgMjQ5LCAxMzMsIDUsIAotICAgIDE4OCwgMzgsIDg4LCAyNDksIDEzMywgNSwgMjUyLCAxMDcsIDM4LCA4OCwgMjQ5LCAxMzMsIDUsIDIyMiwgMjAyLCAzOCwgCi0gICAgODgsIDUsIDIyMiwgMTgxLCAzOCwgODgsIDMwLCA1LCA2MSwgMzgsIDg4LCAzMCwgNSwgMjMyLCA5LCAyMjIsIDE0MiwgMzgsIAotICAgIDg4LCAzMCwgNSwgMjU0LCAyMzIsIDM4LCA4OCwgMzAsIDUsIDIxOCwgMTUsIDI1NCwgMjMyLCAzOCwgODgsIDMwLCA1LCA3MiwgCi0gICAgMzgsIDg4LCAzMCwgNSwgMjM2LCAyOCwgMzgsIDg4LCAzMCwgNSwgMjE1LCAxODMsIDM4LCA4OCwgMzAsIDUsIDIxNSwgOTEsIAotICAgIDM4LCA4OCwgMzAsIDUsIDY5LCAzOCwgODgsIDMwLCA1LCAyMTUsIDkyLCAzOCwgODgsIDMwLCA1LCA3NSwgMzgsIDg4LCAzMCwgCi0gICAgNSwgMjI3LCAxMjEsIDU1LCAzOCwgODgsIDMwLCA1LCAyMjYsIDIzMywgMzgsIDg4LCAzMCwgNSwgNzQsIDM4LCA4OCwgMzAsIAotICAgIDUsIDI1NCwgMTQ4LCAzOCwgODgsIDMwLCA1LCAyMjcsIDQ5LCAzOCwgODgsIDMwLCA1LCAyNTQsIDEwOCwgMzgsIDg4LCAzMCwgCi0gICAgNSwgODgsIDI1NCwgMTA4LCAzOCwgODgsIDMwLCA1LCAyMjcsIDEyMSwgNDksIDM4LCA4OCwgNSwgMjMyLCA5LCAyMzQsIAotICAgIDIzNSwgMzgsIDg4LCA1LCAyMTYsIDI0MCwgMzgsIDg4LCA1LCAyMTYsIDIzOSwgMzgsIDg4LCA1LCAyMzQsIDEwNiwgMjE2LCAKLSAgICAyMzgsIDM4LCA4OCwgNSwgMjM0LCAxMDYsIDIxNiwgMjM3LCAzOCwgODgsIDUsIDIzNCwgMTA2LCAyMTYsIDIzNiwgMzgsIAotICAgIDg4LCA1LCAyMjQsIDc3LCAyNDIsIDI2LCAzOCwgODgsIDUsIDIzMiwgOSwgMjIyLCAxNjgsIDM4LCA4OCwgNSwgMjM0LCAKLSAgICAxMDUsIDIzNCwgMjIwLCAzOCwgODgsIDM3LCAyNDksIDU1LCAyNDcsIDc0LCAzOCwgODgsIDI0MSwgMzMsIDIxLCAyMTIsIAotICAgIDc5LCAzOCwgODgsIDI0MSwgMzMsIDIxLCAxMTYsIDM4LCA4OCwgMjQxLCAzMywgMjEsIDEwOSwgMzgsIDg4LCAyNDEsIDMzLCAKLSAgICAyMSwgMTY2LCAzOCwgODgsIDI0MSwgMzMsIDIxLCAxNjMsIDM4LCA4OCwgMjQxLCAzMywgMjEsIDE4MCwgMzgsIDg4LCAyNDEsIAotICAgIDMzLCAyMSwgMTg5LCAzOCwgODgsIDI0MSwgMzMsIDIxLCAxOTgsIDM4LCA4OCwgMjQxLCAzMywgMjEsIDE5NSwgMzgsIDg4LCAKLSAgICAyNDEsIDMzLCAyMSwgMjAwLCAzOCwgODgsIDg4LCAyMSwgMjEyLCA3OSwgMzgsIDg4LCA4OCwgMjEsIDExNiwgMzgsIDg4LCAKLSAgICA4OCwgMjEsIDEwOSwgMzgsIDg4LCA4OCwgMjEsIDE2NiwgMzgsIDg4LCA4OCwgMjEsIDE2MywgMzgsIDg4LCA4OCwgMjEsIAotICAgIDE4MCwgMzgsIDg4LCA4OCwgMjEsIDE4OSwgMzgsIDg4LCA4OCwgMjEsIDE5OCwgMzgsIDg4LCA4OCwgMjEsIDE5NSwgMzgsIAotICAgIDg4LCA4OCwgMjEsIDIwMCwgMzgsIDg4LCA1LCAyMTMsIDIzNCwgMzgsIDg4LCA1LCAyMTMsIDIzMywgMzgsIDg4LCA1LCAKLSAgICAyMjIsIDEzMywgMzgsIDg4LCA1LCAyMzQsIDE2NiwgMzgsIDg4LCA1LCAyNDAsIDIxOSwgMzgsIDg4LCA1LCAyNDcsIDg4LCAKLSAgICAzOCwgODgsIDUsIDIyMywgMjAyLCAyMjMsIDg5LCAyMjQsIDQxLCAzOCwgODgsIDUsIDIzMiwgOSwgMjEzLCA2MSwgMzgsIAotICAgIDg4LCA1LCAyMzUsIDEwLCAzOCwgODgsIDUsIDIzNSwgOSwgMzgsIDg4LCA1LCAyMjIsIDEzOSwgMzgsIDg4LCA1LCAyMjIsIAotICAgIDEzOCwgMzgsIDg4LCA1LCAyNDEsIDI0OCwgMzgsIDg4LCA1LCAyNTAsIDIxNiwgOTksIDUsIDIxNSwgMTcwLCAyMjMsIDE4MywgCi0gICAgOTksIDUsIDIxNSwgMTcwLCAyNTAsIDE4OSwgOTksIDUsIDI1MCwgMTIwLCA5OSwgNSwgMjE4LCAyMTUsIDk5LCA1LCAyNTEsIAotICAgIDE1NiwgOTksIDEsIDI1NCwgOTIsIDk5LCAxLCAyNTQsIDkzLCAyMTcsIDIyMSwgOTksIDEsIDIzNiwgMjQsIDk5LCAxLCAKLSAgICAyMzYsIDI1LCAyMTcsIDIyMSwgOTksIDEsIDIxNSwgMTczLCA5OSwgMSwgMjE1LCAxNzQsIDIxNywgMjIxLCA5OSwgMSwgCi0gICAgMjI0LCA3NywgMjIzLCAyMjksIDk5LCAxLCAyMjQsIDc3LCAyMjMsIDIzMCwgMjE3LCAyMjEsIDk5LCAxLCAyMzMsIDE1OCwgCi0gICAgMjMzLCA0OCwgOTksIDEsIDIzMywgMTU4LCAyMzMsIDQ5LCAyMTcsIDIyMSwgOTksIDEsIDI0NSwgMTM2LCA5OSwgMSwgMjU0LCAKLSAgICAxMDYsIDk5LCAxLCAyMjcsIDc4LCA5OSwgMSwgMjI3LCA3OSwgMjE3LCAyMjEsIDk5LCAxLCAxODEsIDk5LCAxLCAyMzUsIAotICAgIDE3LCAyMzIsIDEyLCA5OSwgMSwgMjQzLCAxMTAsIDk5LCAxLCAyNDMsIDExMSwgMjQyLCAxMzcsIDk5LCAxLCAyMjksIDE1OSwgCi0gICAgOTksIDEsIDI1MCwgMjE5LCA5OSwgMSwgMjUwLCAyMjAsIDIzMywgMTQ2LCA5OSwgMSwgMjM1LCAxMzksIDk5LCAxLCAyMzUsIAotICAgIDE0MCwgMjM1LCAxMTksIDk5LCAxLCAyMjgsIDIzLCA5OSwgMSwgMjE4LCA1MywgMjMzLCA5OSwgOTksIDEsIDIxOCwgNTMsIAotICAgIDIzMCwgMTM3LCAyMzIsIDEyLCA5OSwgMSwgMjQ4LCAxNjUsIDIzMCwgMTM3LCAyNTQsIDU0LCA5OSwgMSwgMjQ4LCAxNjUsIAotICAgIDIzMCwgMTM3LCAyMzIsIDEyLCA5OSwgMSwgMjMwLCA0NiwgMjI0LCA0NCwgOTksIDEsIDIxOCwgNTIsIDk5LCAxLCAyMTgsIAotICAgIDUzLCAyMTcsIDI0MiwgOTksIDEsIDI0OCwgMTY0LCA5OSwgMSwgMjQ4LCAxNjUsIDIzMiwgMzAsIDk5LCAxLCAyMDUsIDk5LCAKLSAgICAxLCAxOTMsIDk5LCAxLCAyMjYsIDIxNCwgMjM0LCAyMzEsIDk5LCAxLCAyNTIsIDEwNywgOTksIDEsIDI1MiwgMTA4LCAyMzQsIAotICAgIDE3OCwgOTksIDEsIDE4OCwgOTksIDEsIDE4NiwgOTksIDEsIDIwMywgOTksIDEsIDIzMywgMTU3LCA5OSwgMSwgMjE0LCA0OSwgCi0gICAgOTksIDEsIDIyMiwgMjAzLCAyMjIsIDE4OSwgOTksIDEsIDIyMiwgMjAzLCAyMjIsIDE0OSwgOTksIDEsIDIyMiwgMjAyLCAKLSAgICA5OSwgMSwgMTU5LCA5OSwgNSwgMjIzLCAyMjIsIDk5LCAzMCwgNSwgMjE3LCAyMjEsIDk5LCAzMCwgNSwgMjE1LCAxNjksIAotICAgIDk5LCAzMCwgNSwgMjE1LCAxNzAsIDIyMiwgMTQ1LCA5OSwgMzAsIDUsIDIxOCwgMjQ4LCA5OSwgMzAsIDUsIDIxOCwgMjQ5LCAKLSAgICAyMzYsIDE2LCA5OSwgMzAsIDUsIDIyNCwgNzcsIDIyMywgMjI5LCA5OSwgMzAsIDUsIDIyNCwgNzcsIDIyMywgMjMwLCAyMTcsIAotICAgIDIyMSwgOTksIDMwLCA1LCAyMzMsIDE1OCwgMjMzLCA0OCwgOTksIDMwLCA1LCAyMzMsIDE1OCwgMjMzLCA0OSwgMjE3LCAKLSAgICAyMjEsIDk5LCAzMCwgNSwgMjE4LCAxNiwgOTksIDMwLCA1LCAyMTgsIDE3LCAyMjMsIDIyOSwgOTksIDMwLCA1LCAyMTgsIAotICAgIDE3LCAyMTcsIDIyMSwgOTksIDMwLCA1LCAyMTgsIDE3LCAyMjMsIDIzMCwgMjE3LCAyMjEsIDk5LCAzMCwgNSwgMjI2LCA1OSwgCi0gICAgOTksIDMwLCA1LCAyMjYsIDYwLCAyMTcsIDIyMSwgOTksIDI1NCwgMTU1LCAyNTQsIDE1NCwgOTksIDEsIDIzNCwgMjU1LCAKLSAgICAyMjIsIDE0NCwgOTksIDEsIDIzNCwgMTEwLCAyMjIsIDE0NCwgOTksIDEsIDIxNiwgMCwgMjIyLCAxNDQsIDk5LCAxLCAyNDUsIAotICAgIDE2MCwgMjIyLCAxNDQsIDk5LCAxLCAyMTQsIDIzMywgMjIyLCAxNDQsIDk5LCAxLCAyMTIsIDEwMCwgMjIyLCAxNDQsIDk5LCAKLSAgICAxLCAyNTMsIDEyNSwgMjIyLCAxNDQsIDk5LCAyMSwgMjEyLCA3OSwgOTksIDIxLCAxMTYsIDk5LCAyMSwgMTA5LCA5OSwgMjEsIAotICAgIDE2NiwgOTksIDIxLCAxNjMsIDk5LCAyMSwgMTgwLCA5OSwgMjEsIDE4OSwgOTksIDIxLCAxOTgsIDk5LCAyMSwgMTk1LCA5OSwgCi0gICAgMjEsIDIwMCwgOTksIDIyNiwgMTU3LCA5OSwgMjI2LCAxODIsIDk5LCAyMTMsIDIyMywgOTksIDI1MCwgMTY4LCAyMjYsIAotICAgIDE3NSwgOTksIDI1MCwgMTY4LCAyMjAsIDk4LCA5OSwgMjUwLCAxNjgsIDIyNiwgMTMwLCA5OSwgMjI2LCAxODEsIDk5LCAyNywgCi0gICAgMTYsIDI0NywgODAsIDk5LCAyNywgMTYsIDI0OCwgMiwgOTksIDI3LCAxNiwgMjQ2LCAxOSwgOTksIDI3LCAxNiwgMjQ4LCAKLSAgICAxMjEsIDk5LCAyNywgMTYsIDI0OCwgMTIyLCAyMTgsIDIxNSwgOTksIDI3LCAxNiwgMjQ3LCAxNTcsIDk5LCAyNywgMTYsIAotICAgIDI0OCwgMTU3LCA5OSwgMjcsIDE2LCAyNDcsIDI0MCwgOTksIDI3LCAxNiwgMjQ4LCAxNDMsIDk5LCAyNywgMTYsIDI0OCwgCi0gICAgMTIyLCAyNDMsIDMzLCA5OSwgMjcsIDE2LCAzNywgMjE3LCAyMTcsIDk5LCAyNywgMTYsIDM3LCAyNDUsIDk5LCA5OSwgMjcsIAotICAgIDE2LCAzNywgMjM0LCAxNzMsIDk5LCAyNywgMTYsIDM3LCAyMzQsIDE3NSwgOTksIDI3LCAxNiwgMzcsIDIzNSwgMTIzLCA5OSwgCi0gICAgMjcsIDE2LCAzNywgMjM0LCAxNzQsIDIsIDIzNSwgMTIzLCA5OSwgMjcsIDE2LCAzNywgMjM0LCAxNzYsIDIsIDIzNSwgMTIzLCAKLSAgICA5OSwgMjcsIDE2LCAzNywgMjUxLCAyMTQsIDk5LCAyNywgMTYsIDM3LCAyNDIsIDE0MSwgOTksIDI3LCAxNiwgMjIzLCAxNDYsIAotICAgIDIyNywgNDAsIDI0NiwgMjksIDk5LCAyNywgMTYsIDIyMywgMTQ2LCAyMjcsIDQwLCAyNDgsIDE1NSwgOTksIDI3LCAxNiwgCi0gICAgMjIzLCAxNDYsIDI0OSwgMTkzLCAyMTYsIDc1LCA5OSwgMjcsIDE2LCAyMjMsIDE0NiwgMjQ5LCAxOTMsIDIxOCwgMjMsIDk5LCAKLSAgICAyNywgMTYsIDIzMywgNjgsIDIyNywgNDAsIDIyNiwgMTcwLCA5OSwgMjcsIDE2LCAyMzMsIDY4LCAyMjcsIDQwLCAyMjUsIAotICAgIDI1LCA5OSwgMjcsIDE2LCAyMzMsIDY4LCAyNDksIDE5MywgMjI1LCAxNzAsIDk5LCAyNywgMTYsIDIzMywgNjgsIDI0OSwgCi0gICAgMTkzLCAyMjUsIDE2MCwgOTksIDI3LCAxNiwgMjMzLCA2OCwgMjI3LCA0MCwgMjI1LCAxOTMsIDIxOCwgMjM3LCA1LCAyMjYsIAotICAgIDE1NCwgMjE4LCAyMzcsIDUsIDIyNiwgMTY2LCAyMTgsIDIzNywgNSwgMjI2LCAxNjMsIDIxOCwgMjM3LCAxLCA2MSwgMjE4LCAKLSAgICAyMzcsIDEsIDcyLCAyMTgsIDIzNywgMSwgNjksIDIxOCwgMjM3LCAxLCAyNTQsIDE0OCwgMjE4LCAyMzcsIDEsIDc1LCAyMTgsIAotICAgIDIzNywgMSwgNzQsIDIxOCwgMjM3LCAxLCAyNDUsIDIyLCAyMTgsIDIzNywgMSwgMTgxLCAyMTgsIDIzNywgMSwgMjI0LCAKLSAgICAyMzIsIDIxOCwgMjM3LCAxLCAyNDMsIDExMCwgMjE4LCAyMzcsIDEsIDIyOSwgMTU5LCAyMTgsIDIzNywgMSwgMjUwLCAyMTksIAotICAgIDIxOCwgMjM3LCAxLCAyMzUsIDEzOSwgMjE4LCAyMzcsIDEsIDIxMiwgMTA5LCAyMTgsIDIzNywgMSwgMjI4LCAyMywgMjE4LCAKLSAgICAyMzcsIDEsIDIxOCwgNTIsIDIxOCwgMjM3LCAxLCAyNDgsIDE2NCwgMjE4LCAyMzcsIDEsIDIwNSwgMjE4LCAyMzcsIDEsIAotICAgIDE5MywgMjE4LCAyMzcsIDEsIDI0NCwgMTY0LCAyMTgsIDIzNywgMSwgMjE1LCAxLCAyMTgsIDIzNywgMSwgMjUyLCAxMDcsIAotICAgIDIxOCwgMjM3LCAxLCAxODgsIDIxOCwgMjM3LCAxLCAxODYsIDIxOCwgMjM3LCAxLCAyMDMsIDIxOCwgMjM3LCAxLCAyMzMsIAotICAgIDE1NywgMjE4LCAyMzcsIDEsIDIxNCwgNDksIDIxOCwgMjM3LCAxLCAyMjIsIDIwMiwgMjE4LCAyMzcsIDEsIDIxMywgMTUzLCAKLSAgICAyMTgsIDIzNywgMSwgMTU5LCAyMTgsIDIzNywgMjQ5LCAxMzMsIDUsIDIyNiwgMTc5LCAyMTgsIDIzNywgMjQ5LCAxMzMsIDUsIAotICAgIDIyNiwgMTU2LCAyMTgsIDIzNywgMjQ5LCAxMzMsIDUsIDIyNiwgMTUzLCAyMTgsIDIzNywgMzAsIDUsIDIyNiwgMTY5LCAKLSAgICAyMTgsIDIzNywgMzAsIDUsIDIyNiwgMTUyLCAyMTgsIDIzNywgMzAsIDUsIDIyNiwgMTczLCAyMTgsIDIzNywgMzAsIDUsIAotICAgIDIyNiwgMTYyLCAyMTgsIDIzNywgMzAsIDUsIDIyNiwgMTgwLCAyMTgsIDIzNywgMzAsIDUsIDIyNiwgMTcxLCAyMTgsIDIzNywgCi0gICAgNSwgMjI2LCAxODMsIDIxOCwgMjM3LCAxLCAyMzQsIDEzOCwgMjE4LCAyMzcsIDEsIDIxOCwgMTc2LCAyMTgsIDIzNywgMjEsIAotICAgIDIxMiwgNzksIDIxOCwgMjM3LCAyMSwgMTE2LCAyMTgsIDIzNywgMjEsIDEwOSwgMjE4LCAyMzcsIDIxLCAxNjYsIDIxOCwgCi0gICAgMjM3LCAyMSwgMTYzLCAyMTgsIDIzNywgMjEsIDE4MCwgMjE4LCAyMzcsIDIxLCAxODksIDIxOCwgMjM3LCAyMSwgMTk4LCAKLSAgICAyMTgsIDIzNywgMjEsIDE5NSwgMjE4LCAyMzcsIDIxLCAyMDAsIDI1MiwgNDAsIDEsIDYxLCAyNTIsIDQwLCAxLCAyMjAsIAotICAgIDkwLCA2MSwgMjUyLCA0MCwgMSwgMTU5LCAyNTIsIDQwLCAxLCAyMjAsIDkwLCAxNTksIDI1MiwgNDAsIDEsIDIzMSwgMjQ0LCAKLSAgICAxNTksIDI1MiwgNDAsIDEsIDI1MiwgMTA3LCAyNTIsIDQwLCAxLCAyMzQsIDIxNywgMjUyLCAxMDcsIDI1MiwgNDAsIDEsIAotICAgIDE5MywgMjUyLCA0MCwgMSwgMjIwLCA5MCwgMTkzLCAyNTIsIDQwLCAxLCAyMDUsIDI1MiwgNDAsIDEsIDIzMSwgMjQ0LCAKLSAgICAyMDUsIDI1MiwgNDAsIDEsIDIxNCwgNDksIDI1MiwgNDAsIDEsIDIyMCwgOTAsIDIxNCwgNDksIDI1MiwgNDAsIDEsIDIyNiwgCi0gICAgMTk0LCAyMTQsIDQ5LCAyNTIsIDQwLCAxLCAyNDMsIDExMCwgMjUyLCA0MCwgMSwgMjIwLCA5MCwgMjQzLCAxMTAsIDI1MiwgCi0gICAgNDAsIDEsIDIzNSwgMTM5LCAyNTIsIDQwLCAxLCAyNDgsIDE2NCwgMjUyLCA0MCwgMSwgMjAzLCAyNTIsIDQwLCAxLCAyMjAsIAotICAgIDkwLCAyMDMsIDI1MiwgNDAsIDEsIDE4OCwgMjUyLCA0MCwgMSwgMjIwLCA5MCwgMTg4LCAyNTIsIDQwLCAxLCAyMTksIDIxMywgCi0gICAgMjE4LCA1MiwgMjUyLCA0MCwgMSwgMjI4LCAxNjYsIDIxOCwgNTIsIDI1MiwgNDAsIDEsIDIyMiwgMjAyLCAyNTIsIDQwLCAxLCAKLSAgICAyMjAsIDkwLCAyMjIsIDIwMiwgMjUyLCA0MCwgMSwgMjMxLCAyNDQsIDIyMiwgMjAyLCAyNTIsIDQwLCAxLCAxODYsIDI1MiwgCi0gICAgNDAsIDEsIDIyMCwgOTAsIDE4NiwgMjUyLCA0MCwgMSwgMjI5LCAxNTksIDI1MiwgNDAsIDEsIDIzMywgMTU3LCAyNTIsIDQwLCAKLSAgICAxLCAyMjAsIDkwLCAyMzMsIDE1NywgMjUyLCA0MCwgMSwgMjI4LCAyMywgMjUyLCA0MCwgMSwgMjUwLCAyMTksIDI1MiwgNDAsIAotICAgIDEsIDIyOSwgMjI4LCAyNTIsIDQwLCAxLCAyMzEsIDE4NywgMjUyLCA0MCwgMSwgNzIsIDI1MiwgNDAsIDEsIDY5LCAyNTIsIAotICAgIDQwLCA1LCAyMTYsIDI0NCwgMjUyLCA0MCwgMzAsIDUsIDc0LCAyNTIsIDQwLCAzMCwgNSwgMjI2LCAxOTQsIDc0LCAyNTIsIAotICAgIDQwLCAzMCwgNSwgMjQ1LCAxNjUsIDI1MiwgNDAsIDMwLCA1LCA3MiwgMjUyLCA0MCwgMzAsIDUsIDIzNCwgMjE3LCA3MiwgCi0gICAgMjUyLCA0MCwgMzAsIDUsIDc1LCAyNTIsIDQwLCAzMCwgNSwgMjM0LCAyMTcsIDc1LCAyNTIsIDQwLCAzMCwgNSwgNjksIAotICAgIDI1MiwgNDAsIDMwLCA1LCAxMTEsIDMxLCAyMjAsIDkwLCAyMjIsIDIwMiwgMjUyLCA0MCwgMjQ5LCAxMzMsIDUsIDIyOSwgCi0gICAgMTYxLCAyNTIsIDQwLCAyNDksIDEzMywgNSwgMjQyLCA0MSwgMjUyLCA0MCwgMjI2LCAxNjUsIDI1MiwgNDAsIDIyNiwgMTYxLCAKLSAgICAyNTIsIDQwLCAxNiwgMjUxLCAxNjQsIDIzMCwgNDYsIDIzMSwgMTA0LCAyNTIsIDQwLCAxNiwgMjUxLCAxNjQsIDIyNSwgCi0gICAgMTk2LCAyNTIsIDQwLCAxNiwgMjUxLCAxNjQsIDIzNSwgNTEsIDI1MiwgNDAsIDE2LCAyNTEsIDE2NCwgMjI2LCAxNjUsIAotICAgIDE4MiwgMSwgMTgxLCAxODIsIDEsIDIzNCwgNDgsIDE4MiwgMSwgMjM0LCAxMzgsIDE4MiwgMSwgMjQzLCAxMTAsIDE4MiwgMSwgCi0gICAgMjQyLCAxNjIsIDE4MiwgMSwgMjI5LCAxNTksIDE4MiwgMSwgMjUwLCAyMTksIDE4MiwgMSwgMjUwLCA5MiwgMTgyLCAxLCAKLSAgICAyMzUsIDEzOSwgMTgyLCAxLCAyMjgsIDIzLCAxODIsIDEsIDIxOCwgNTIsIDE4MiwgMSwgMjE3LCAxNjEsIDE4MiwgMSwgCi0gICAgMjQ4LCAxNjQsIDE4MiwgMSwgMjA1LCAxODIsIDEsIDE5MywgMTgyLCAxLCAyMjUsIDE3NCwgMTgyLCAxLCAyMjYsIDIzLCAKLSAgICAxODIsIDEsIDI0NCwgMTY0LCAxODIsIDEsIDI0NCwgNDQsIDE4MiwgMSwgMjUyLCAxMDcsIDE4MiwgMSwgMjUxLCAxNDUsIAotICAgIDE4MiwgMSwgMTg4LCAxODIsIDEsIDIzMCwgMjM3LCAxODIsIDEsIDIxNiwgMTQxLCAxODIsIDEsIDIxNiwgMTMzLCAxODIsIAotICAgIDEsIDI0NSwgMjQ5LCAxODIsIDEsIDE4NiwgMTgyLCAxLCAyMDMsIDE4MiwgMSwgMjMzLCAxNTcsIDE4MiwgMSwgMTU5LCAKLSAgICAxODIsIDEsIDI0MSwgMTM5LCAxODIsIDEsIDIxNSwgMSwgMTgyLCAxLCAyMjIsIDIwMiwgMTgyLCAxLCAyMjEsIDI0LCAxODIsIAotICAgIDEsIDIxNCwgNDksIDE4MiwgMSwgNjEsIDE4MiwgMjE5LCAxOCwgMSwgMTg2LCAxODIsIDIxOSwgMTgsIDEsIDIwMywgMTgyLCAKLSAgICAzMCwgNSwgMjU0LCAyMzIsIDE4MiwgMzAsIDUsIDcyLCAxODIsIDMwLCA1LCA3NSwgMTgyLCAzMCwgNSwgMjI3LCA0OSwgCi0gICAgMTgyLCAzMCwgNSwgNjksIDE4MiwgMzAsIDUsIDIxNSwgOTIsIDE4MiwgMzAsIDUsIDc0LCAxODIsIDI0OSwgMTMzLCA1LCAKLSAgICAyMzUsIDI3LCAxODIsIDI0OSwgMTMzLCA1LCAxODMsIDE4MiwgMjQ5LCAxMzMsIDUsIDE1MCwgMTgyLCAyNDksIDEzMywgNSwgCi0gICAgMjA0LCAxODIsIDI0OSwgMTMzLCA1LCAyMjYsIDIyOSwgMTgyLCAyNDksIDEzMywgNSwgMTQ5LCAxODIsIDI0OSwgMTMzLCA1LCAKLSAgICAyMTgsIDk5LCAxODIsIDI0OSwgMTMzLCA1LCAyMjgsIDUsIDE4MiwgMjQ5LCAxMzMsIDUsIDIzNCwgMjM1LCAxODIsIDUsIAotICAgIDIyNCwgNDIsIDE4MiwgNSwgMjI4LCA2MCwgMTgyLCAyMjUsIDI3LCAyMTgsIDUxLCAxODIsIDIyNSwgMjcsIDIyOCwgMTMsIAotICAgIDIxNywgNzQsIDIxOCwgNTEsIDE4MiwgMjI1LCAyNywgMjUwLCA5OCwgMTgyLCAyMjUsIDI3LCAyMTYsIDEyOCwgMjUwLCA5OCwgCi0gICAgMTgyLCAyMjUsIDI3LCAyMTYsIDEyNywgMTgyLCAyMSwgMjEyLCA3OSwgMTgyLCAyMSwgMTE2LCAxODIsIDIxLCAxMDksIAotICAgIDE4MiwgMjEsIDE2NiwgMTgyLCAyMSwgMTYzLCAxODIsIDIxLCAxODAsIDE4MiwgMjEsIDE4OSwgMTgyLCAyMSwgMTk4LCAKLSAgICAxODIsIDIxLCAxOTUsIDE4MiwgMjEsIDIwMCwgMTgyLCAxLCAyMTYsIDExNSwgMTgyLCAxLCAyMTYsIDEwNSwgMTgyLCAxLCAKLSAgICAyNDgsIDg2LCAyMjcsIDc2LCAyNTAsIDQwLCAyMSwgMjEyLCA3OSwgMjI3LCA3NiwgMjUwLCA0MCwgMjEsIDExNiwgMjI3LCAKLSAgICA3NiwgMjUwLCA0MCwgMjEsIDEwOSwgMjI3LCA3NiwgMjUwLCA0MCwgMjEsIDE2NiwgMjI3LCA3NiwgMjUwLCA0MCwgMjEsIAotICAgIDE2MywgMjI3LCA3NiwgMjUwLCA0MCwgMjEsIDE4MCwgMjI3LCA3NiwgMjUwLCA0MCwgMjEsIDE4OSwgMjI3LCA3NiwgMjUwLCAKLSAgICA0MCwgMjEsIDE5OCwgMjI3LCA3NiwgMjUwLCA0MCwgMjEsIDE5NSwgMjI3LCA3NiwgMjUwLCA0MCwgMjEsIDIwMCwgMjI3LCAKLSAgICA3NiwgMjUwLCA0MCwgMSwgMjMzLCAxNTcsIDIyNywgNzYsIDI1MCwgNDAsIDEsIDI1MywgMTIyLCAyMjcsIDc2LCAyNTAsIAotICAgIDQwLCAxLCAyNTQsIDEyMSwgMjI3LCA3NiwgMjUwLCA0MCwgMSwgMjU0LCAyNCwgMjI3LCA3NiwgMjUwLCA0MCwgMSwgMjU0LCAKLSAgICA4NiwgMjI3LCA3NiwgMjUwLCA0MCwgMSwgMjMzLCAxNTYsIDIyNywgNzYsIDI1MCwgNDAsIDEsIDI1NCwgMTk0LCAyMjcsIAotICAgIDc2LCAyNTAsIDQwLCAxLCAyNTQsIDE5NSwgMjI3LCA3NiwgMjUwLCA0MCwgMSwgMjU0LCAxOTMsIDIyNywgNzYsIDI1MCwgCi0gICAgNDAsIDEsIDI1NCwgMTg5LCAyMjcsIDc2LCAyNTAsIDQwLCAxLCAyMzMsIDEzLCAyMjcsIDc2LCAyNTAsIDQwLCAxLCAyMzUsIAotICAgIDE2OSwgMjI3LCA3NiwgMjUwLCA0MCwgMSwgMjM2LCAyOSwgMjI3LCA3NiwgMjUwLCA0MCwgMSwgMjM1LCAxODgsIDIyNywgCi0gICAgNzYsIDI1MCwgNDAsIDEsIDIzNSwgMTc3LCAyMjcsIDc2LCAyNTAsIDQwLCAxLCAyMzIsIDE1NiwgMjI3LCA3NiwgMjUwLCAKLSAgICA0MCwgMSwgMjE1LCAxOTAsIDIyNywgNzYsIDI1MCwgNDAsIDEsIDIxNSwgMTg4LCAyMjcsIDc2LCAyNTAsIDQwLCAxLCAyMTUsIAotICAgIDEzOSwgMjI3LCA3NiwgMjUwLCA0MCwgMSwgMjE1LCA4NSwgMjI3LCA3NiwgMjUwLCA0MCwgMSwgMjMzLCA4MiwgMjI3LCA3NiwgCi0gICAgMjUwLCA0MCwgMSwgMjQ1LCA3MCwgMjI3LCA3NiwgMjUwLCA0MCwgMSwgMjQ1LCAxNjgsIDIyNywgNzYsIDI1MCwgNDAsIDEsIAotICAgIDI0NSwgMTA4LCAyMjcsIDc2LCAyNTAsIDQwLCAxLCAyNDUsIDQ5LCAyMjcsIDc2LCAyNTAsIDQwLCAxLCAyMzIsIDIwOCwgCi0gICAgMjI3LCA3NiwgMjUwLCA0MCwgMSwgMjI3LCA1LCAyMjcsIDc2LCAyNTAsIDQwLCAxLCAyMjcsIDExNiwgMjI3LCA3NiwgMjUwLCAKLSAgICA0MCwgMSwgMjI2LCAyNDksIDIyNywgNzYsIDI1MCwgNDAsIDEsIDIyNywgODgsIDIyNywgNzYsIDI1MCwgNDAsIDIzMCwgCi0gICAgMTczLCAyMTYsIDg0LCAyMjcsIDc2LCAyNTAsIDQwLCAyNDMsIDEwNSwgMjE2LCA4NSwgMjI3LCA3NiwgMjUwLCA0MCwgMjMwLCAKLSAgICAxNzEsIDIxNiwgODUsIDIyNywgNzYsIDI1MCwgNDAsIDIyMywgMjQyLCAyMjcsIDc2LCAyNTAsIDQwLCAyMjYsIDIxLCAyMjcsIAotICAgIDc2LCAyNTAsIDQwLCAyNTQsIDExMywgMjI3LCA3NiwgMjUwLCA0MCwgMjI1LCAyNywgMjMwLCAxNjgsIDIyNywgNzYsIDI1MCwgCi0gICAgNDAsIDIyNSwgMjcsIDUxLCAyMzAsIDE2OCwgMjE0LCAyMjksIDE2MCwgMjM0LCAyMTUsIDIxNCwgMjI5LCAxNjAsIDIyMSwgCi0gICAgMCwgMjE0LCAyMjksIDE2MCwgMjI1LCA3OCwgMjE0LCAyMjksIDUsIDIyOSwgNDAsIDIxNCwgMjI5LCA1LCAyMTMsIDY5LCAKLSAgICAyMzEsIDM1LCAyMTgsIDIwMSwgMjE0LCAyMjksIDE2MCwgMjEzLCA2OSwgMjU0LCAxMTgsIDIzNSwgMjQwLCAyMTgsIDIwMSwgCi0gICAgMjE0LCAyMjksIDE2MCwgMjEzLCA2OSwgMjM1LCAyNDAsIDIxOCwgMjAxLCAyMTQsIDIyOSwgMTYwLCAyMTMsIDY5LCAyMzQsIAotICAgIDIwMywgMjM1LCAyNDAsIDIxOCwgMjAxLCAyMTQsIDIyOSwgMTYwLCAyNTAsIDE5MCwgNTUsIDIxNCwgMjI5LCAxNjAsIDIxMywgCi0gICAgNjksIDIzNCwgMjAzLCAyMzUsIDI0MCwgMjE4LCAyMDIsIDIyMiwgMTE1LCAyMTQsIDIyOSwgMTYwLCA1MSwgMjE4LCAyMDEsIAotICAgIDIxNCwgMjI5LCAxNjAsIDIxNiwgMTY5LCAyMTgsIDIwMSwgMjE0LCAyMjksIDE2MCwgMjM0LCAyMDMsIDI1MywgMjQ0LCAKLSAgICAyMTQsIDIyOSwgMTYwLCA2MiwgNTUsIDIxNCwgMjI5LCAxNjAsIDExNywgMTc2LCA1NSwgMjE0LCAyMjksIDE2MCwgMTMzLCAKLSAgICAxNzYsIDU1LCAyMTQsIDIyOSwgMTYwLCAyMjMsIDEzNywgMjM0LCAyMTQsIDIzNSwgMjQwLCAyMTgsIDIwMSwgMjE0LCAyMjksIAotICAgIDE2MCwgMjUzLCAxMjAsIDIzNSwgMjQwLCAyMTgsIDIwMSwgMjE0LCAyMjksIDUsIDIxNCwgMTI5LCAyMTgsIDIwMSwgMjE0LCAKLSAgICAyMjksIDUsIDIxNCwgMTI5LCAyMTUsIDE4NSwgMjE0LCAyMjksIDUsIDIyMywgMjAyLCAyMTQsIDEyOSwgMjE1LCAxODUsIAotICAgIDIxNCwgMjI5LCA1LCAyMTQsIDEyOSwgMjUzLCAyNDQsIDIxNCwgMjI5LCA1LCAyMjMsIDIwMiwgMjE0LCAxMjksIDI1MywgCi0gICAgMjQ0LCAyMTQsIDIyOSwgNSwgMjE0LCAxMjksIDIxNSwgMTg2LCAyLCAyMTgsIDI3LCAyMTQsIDIyOSwgNSwgMjE0LCAxMjksIAotICAgIDI1MywgMjQ1LCAyLCAyMTgsIDI3LCAyMTQsIDIyOSwgNSwgMjUzLCAyNDMsIDI1NCwgMiwgMjE0LCAyMjksIDUsIDI1MywgCi0gICAgMjQzLCAyNTIsIDg1LCAyMTQsIDIyOSwgNSwgMjUzLCAyNDMsIDIxNCwgMjUyLCAyMTQsIDIyOSwgNSwgMjUzLCAyNDMsIAotICAgIDIxNCwgMjUzLCAyLCAyMTgsIDI3LCAyMTQsIDIyOSwgNSwgMjE3LCAyMSwgMjE0LCAyMjksIDUsIDI0MSwgMTc2LCAxODQsIAotICAgIDI1MywgMjQyLCAyMTQsIDIyOSwgNSwgMTg0LCAyNTMsIDI0MiwgMjE0LCAyMjksIDUsIDIyMywgNTMsIDE4NCwgMjUzLCAKLSAgICAyNDIsIDIxNCwgMjI5LCA1LCAyNTMsIDI0MywgMjE1LCAxOTIsIDIzMCwgMTYwLCAyMTQsIDIyOSwgNSwgMjUzLCAxOTAsIDcsIAotICAgIDEsIDMsIDYsIDYxLCA3LCAxLCAzLCA2LCAyNTQsIDE0OCwgNywgMywgMSwgMjE2LCA1OCwgMjU0LCAxNDgsIDcsIDEsIDMsIAotICAgIDYsIDI1MiwgNTQsIDI1MywgNzQsIDcsIDEsIDMsIDYsIDI1MCwgMjUyLCA3LCAxLCAzLCA2LCAyNDksIDMsIDcsIDEsIDMsIAotICAgIDYsIDI0NSwgMjUsIDcsIDEsIDMsIDYsIDc0LCA3LCAzLCAxLCAyMTYsIDU4LCAyMjcsIDQwLCA3NCwgNywgMywgMSwgMjE2LCAKLSAgICA1OCwgNzIsIDcsIDEsIDMsIDYsIDIzNSwgMTQyLCA3LCAxLCAzLCA2LCAyMzUsIDI3LCA3LCAxLCAzLCA2LCAyMzMsIDE3MSwgCi0gICAgMiwgOTAsIDcsIDEsIDMsIDYsIDE4MywgNywgMSwgMywgNiwgMjIzLCAyMDIsIDIwNCwgNywgMSwgMywgNiwgNzUsIDcsIDEsIAotICAgIDMsIDYsIDIyNywgNDAsIDc1LCA3LCAzLCAxLCAyMjAsIDExMywgNzUsIDcsIDMsIDEsIDIyMCwgMTEzLCAyMjcsIDQwLCA3NSwgCi0gICAgNywgMywgMSwgMjIwLCAxMTMsIDE1NywgMiwgOTAsIDcsIDMsIDEsIDIxNiwgNTgsIDIyNywgOTksIDcsIDEsIDMsIDYsIAotICAgIDIyNywgMiwgNywgMywgMSwgMjE2LCAyMjcsIDE1MSwgNzUsIDcsIDMsIDEsIDI1MSwgMTAxLCAxNTEsIDc1LCA3LCAxLCAzLCAKLSAgICA2LCAyMjYsIDIyOSwgNywgMSwgMywgNiwgMjIzLCAyMDIsIDE0OSwgNywgMSwgMywgNiwgMjE2LCA1OCwgMTQ5LCA3LCAxLCAKLSAgICAzLCA2LCAyMTgsIDk5LCA3LCAxLCAzLCA2LCA2OSwgNywgMywgMSwgMjIwLCAxMTMsIDY5LCA3LCAzLCAxLCAyMjAsIDExMywgCi0gICAgMjQ3LCAyMDgsIDY5LCA3LCAzLCAxLCAyMjAsIDExMywgMjE2LCA1OCwgMTgzLCA3LCAxLCAzLCA2LCAyMTUsIDc5LCA3LCAxLCAKLSAgICAzLCA2LCAyMTQsIDgyLCA3LCAxLCAzLCA2LCAyMTIsIDE1MiwgNywgMSwgMywgNiwgMjQ0LCAyMzIsIDcsIDEsIDIxNCwgCi0gICAgMTE2LCAyMzMsIDEwNSwgMjE5LCAxODIsIDcsIDEsIDI1NCwgMTAzLCAyNSwgMSwgMywgNiwgMjQzLCA4MywgMjUsIDEsIDMsIAotICAgIDYsIDIzMywgMTIyLCAyNSwgMSwgMywgNiwgMjI1LCAyNDAsIDI1LCAxLCAzLCA2LCAyMjMsIDE5MCwgMjUsIDEsIDMsIDYsIAotICAgIDIyNSwgNDYsIDMzLCAxLCAzLCA2LCAyNDUsIDEzMSwgNTksIDEsIDYsIDYxLCA1OSwgMSwgNiwgMjU0LCAxNDgsIDU5LCAxLCAKLSAgICA2LCAyNTMsIDc0LCA1OSwgMSwgNiwgMjUyLCA1NCwgMjUzLCA3NCwgNTksIDEsIDYsIDI0OSwgMywgNTksIDEsIDYsIDc0LCAKLSAgICA1OSwgMSwgNiwgMjIzLCAyMDIsIDc0LCA1OSwgMSwgNiwgMjQzLCAxNzcsIDU5LCAxLCA2LCAyNDIsIDQxLCA1OSwgMSwgNiwgCi0gICAgNzIsIDU5LCAxLCA2LCAyMzUsIDE0MiwgNTksIDEsIDYsIDIzNSwgMjcsIDU5LCAxLCA2LCAxNTAsIDU5LCAxLCA2LCAxODMsIAotICAgIDU5LCAxLCA2LCAyMDQsIDU5LCAxLCA2LCAyMjMsIDIwMiwgMjA0LCA1OSwgMSwgNiwgNzUsIDU5LCAxLCA2LCAyMjcsIDIsIAotICAgIDU5LCAxLCA2LCAyMjYsIDIyOSwgNTksIDEsIDYsIDE0OSwgNTksIDEsIDYsIDIxOCwgOTksIDU5LCAxLCA2LCA2OSwgNTksIAotICAgIDEsIDYsIDIxNCwgODIsIDU5LCAxLCAzLCA2MSwgNTksIDEsIDMsIDIxNiwgNTgsIDYxLCA1OSwgMSwgMywgMjU0LCA1MiwgCi0gICAgNTksIDEsIDMsIDIxNiwgNTgsIDI1NCwgMTQ4LCA1OSwgMSwgMywgMjUzLCA3NCwgNTksIDEsIDMsIDI0OSwgMywgNTksIDEsIAotICAgIDMsIDc0LCA1OSwgMSwgMywgMjIyLCAxMTMsIDU5LCAxLCAzLCAyMjcsIDQwLCA3NCwgNTksIDEsIDMsIDIxNiwgNTgsIDIyNywgCi0gICAgNDAsIDc0LCA1OSwgMSwgMywgMjQzLCAxNzcsIDU5LCAxLCAzLCAyMTYsIDU4LCA3MiwgNTksIDEsIDMsIDIzNSwgMjcsIDU5LCAKLSAgICAxLCAzLCAxODMsIDU5LCAxLCAzLCAyNDUsIDk2LCA1OSwgMSwgMywgNzUsIDU5LCAxLCAzLCAyMjcsIDQwLCA3NSwgNTksIDEsIAotICAgIDMsIDIxNiwgMjI3LCAxNTEsIDc1LCA1OSwgMSwgMywgMjUxLCAxMDEsIDE1MSwgNzUsIDU5LCAxLCAzLCAyMjYsIDIyOSwgCi0gICAgNTksIDEsIDMsIDIxOCwgOTksIDU5LCAxLCAzLCA2OSwgNTksIDEsIDMsIDIyMCwgMTEzLCA2OSwgNTksIDEsIDMsIDIxNiwgCi0gICAgNTgsIDE4MywgNTksIDEsIDMsIDIxNSwgNzksIDU5LCAxLCAzLCAyNTQsIDEwMywgNTksIDEsIDMsIDI1MSwgMjAzLCA1OSwgCi0gICAgMSwgMywgMjUsIDI0MywgODMsIDU5LCAxLCAzLCAyNDgsIDUsIDU5LCAxLCAzLCAyNSwgMjI2LCA5LCA1OSwgMSwgMywgMjUwLCAKLSAgICA0NywgNywgMjE5LCAxMCwgMywgMSwgNzIsIDcsIDIxOSwgMTAsIDMsIDEsIDE0OSwgNywgMjE5LCAxMCwgMywgMSwgNjksIDcsIAotICAgIDIxOSwgMTAsIDMsIDEsIDIxNSwgNzksIDI1LCAyMTksIDEwLCAzLCAxLCAyNTEsIDIwMywgMjUsIDIxOSwgMTAsIDMsIDEsIAotICAgIDI0MywgODMsIDI1LCAyMTksIDEwLCAzLCAxLCAyMjMsIDE5MCwgMjUsIDIxOSwgMTAsIDMsIDEsIDIyNiwgOSwgMjUsIDIxOSwgCi0gICAgMTAsIDMsIDEsIDI1MCwgNDcsIDcsIDMsIDEsIDIxNSwgMTgzLCA3LCAzLCAxLCA1NCwgMiwgMjMxLCAzNywgMjE3LCA0MiwgCi0gICAgNywgMywgMSwgMjQ5LCA0LCAyLCAyMzEsIDM3LCAyMTcsIDQyLCA3LCAzLCAxLCAyNDQsIDIzMSwgMiwgMjMxLCAzNywgMjE3LCAKLSAgICA0MiwgNywgMywgMSwgMjMyLCAxMTAsIDIsIDIzMSwgMzcsIDIxNywgNDIsIDcsIDMsIDEsIDIzMCwgOTgsIDIsIDIzMSwgMzcsIAotICAgIDIxNywgNDIsIDcsIDMsIDEsIDIyNiwgMjMwLCAyLCAyMzEsIDM3LCAyMTcsIDQyLCA3LCAzLCAxLCAyMjQsIDExMywgMiwgCi0gICAgMjMxLCAzNywgMjE3LCA0MiwgNywgMywgMSwgMjI0LCAxMTMsIDIsIDI0NCwgNTcsIDI0LCAyMzEsIDM3LCAyMTcsIDQyLCA3LCAKLSAgICAzLCAxLCAyMjMsIDQsIDIsIDIzMSwgMzcsIDIxNywgNDIsIDcsIDMsIDEsIDIxOCwgMTAwLCAyLCAyMzEsIDM3LCAyMTcsIAotICAgIDQyLCA3LCAzLCAxLCAyMTIsIDE1MywgMiwgMjMxLCAzNywgMjE3LCA0MiwgNywgMywgMSwgMjE2LCA1OCwgMjQzLCAxNzcsIAotICAgIDU5LCAxLCAzMywgMjQ1LCAxMDgsIDcsIDMsIDEsIDIzNSwgMjEwLCAyNDMsIDE3NywgNywgMywgMSwgMjE3LCAxNjQsIDIsIAotICAgIDIxOSwgNDcsIDcsIDMsIDYsIDEsIDI0MCwgMTQ2LCAyLCA5MCwgNywgMywgMSwgMjM1LCAxODQsIDIsIDkwLCA3LCAzLCAxLCAKLSAgICAyMjYsIDIzMCwgMiwgOTAsIDcsIDMsIDYsIDEsIDExMSwgMiwgOTAsIDcsIDMsIDEsIDIxNSwgMTI5LCAyLCA5MCwgNywgMywgCi0gICAgMSwgNTQsIDIsIDIyNiwgMTkzLCAxMDEsIDcsIDMsIDEsIDI0OSwgNCwgMiwgMjI2LCAxOTMsIDEwMSwgNywgMywgMSwgMjQ0LCAKLSAgICAyMzEsIDIsIDIyNiwgMTkzLCAxMDEsIDcsIDMsIDEsIDI0MywgMTc4LCAyLCAyMjYsIDE5MywgMTAxLCA3LCAzLCAxLCAyMzUsIAotICAgIDI4LCAyLCAyMjYsIDE5MywgMTAxLCA3LCAzLCAxLCAyMzMsIDE3MSwgMiwgMjI2LCAxOTMsIDEwMSwgNywgMywgMSwgMjMyLCAKLSAgICAxMTAsIDIsIDIyNiwgMTkzLCAxMDEsIDcsIDMsIDEsIDIzMCwgOTgsIDIsIDIyNiwgMTkzLCAxMDEsIDcsIDMsIDEsIDIyNiwgCi0gICAgMjMwLCAyLCAyMjYsIDE5MywgMTAxLCA3LCAzLCAxLCAyMjQsIDExMywgMiwgMjI2LCAxOTMsIDEwMSwgNywgMywgMSwgMjIzLCAKLSAgICA0LCAyLCAyMjYsIDE5MywgMTAxLCA3LCAzLCAxLCAyNDUsIDQxLCAyLCAyMjYsIDE5MywgMTAxLCA3LCAzLCAxLCAyMTUsIAotICAgIDgwLCAyLCAyMjYsIDE5MywgMTAxLCA3LCAzLCAxLCAyMTMsIDE2NywgMiwgMjI2LCAxOTMsIDEwMSwgNywgMywgMSwgMjEyLCAKLSAgICAxNTMsIDIsIDIyNiwgMTkzLCAxMDEsIDcsIDMsIDEsIDExOCwgMiwgMjIzLCAyMDcsIDEwMSwgNywgMywgMSwgMjU0LCA1MywgCi0gICAgMiwgMjIzLCAyMDcsIDEwMSwgNywgMywgMSwgMjQ5LCA0LCAyLCAyNDEsIDM4LCAyNCwgMjE4LCAyNywgNywgMywgMSwgMTkxLCAKLSAgICAyLCAyMjMsIDIwNywgMTAxLCA3LCAzLCAxLCAyMjcsIDQwLCAxOTEsIDIsIDIyMywgMjA3LCAxMDEsIDcsIDMsIDEsIDIyMywgCi0gICAgMjAyLCAyMjcsIDQwLCAxOTEsIDIsIDIyMywgMjA3LCAxMDEsIDcsIDMsIDEsIDIyMiwgMTE0LCAyLCAyMjMsIDIwNywgMTAxLCAKLSAgICA3LCAzLCAxLCAyNDAsIDE0NiwgMiwgMjIzLCAyMDcsIDEwMSwgNywgMywgMSwgMjI3LCA0MCwgMTU3LCAyLCAyMjMsIDIwNywgCi0gICAgMTAxLCA3LCAzLCAxLCAyNDUsIDQxLCAyLCAyMjMsIDIwNywgMTAxLCA3LCAzLCAxLCAxMTEsIDIsIDIyMywgMjA3LCAxMDEsIAotICAgIDcsIDMsIDEsIDI0NCwgMjMzLCAyLCAyMjMsIDIwNywgMTAxLCA1OSwgMSwgMywgMjE2LCA1OCwgMjU0LCA1MiwgNTksIDEsIAotICAgIDMsIDI1MCwgMjUyLCA1OSwgMSwgMywgMjUwLCAyNTMsIDIsIDI0OSwgNDEsIDU5LCAxLCAzLCAyNDUsIDI1LCA1OSwgMSwgMywgCi0gICAgMjIzLCAyMDIsIDIyNywgNDAsIDc0LCA1OSwgMSwgMywgMjQ0LCAyMzAsIDU5LCAxLCAzLCAyNDcsIDczLCAyMzUsIDE0MywgCi0gICAgMiwgOTAsIDU5LCAxLCAzLCAxMTMsIDI0MywgMTc3LCA1OSwgMSwgMywgMjE2LCA1OCwgMjQyLCA0MSwgNTksIDEsIDMsIAotICAgIDI0MCwgMTQ2LCAyLCA5MCwgNTksIDEsIDMsIDIzNSwgMTgzLCA1OSwgMSwgMywgNiwgNzIsIDU5LCAxLCAzLCA2LCAyNDAsIAotICAgIDE0NiwgMiwgOTAsIDU5LCAxLCAzLCAyMzUsIDE0MywgMiwgMjQ5LCA2NywgNTksIDEsIDMsIDIzMywgMTcxLCAyLCAyMjMsIAotICAgIDIwNywgMTAxLCA1OSwgMSwgMywgMjMzLCAxNzEsIDIsIDIyNiwgMTkzLCAxMDEsIDU5LCAxLCAzLCA2LCAxNTAsIDU5LCAxLCAKLSAgICAzLCAyMzIsIDExMCwgMiwgMTAxLCA1OSwgMSwgMywgMjE2LCA1OCwgMjMyLCAxMTAsIDIsIDE4NCwgMjMzLCA2MCwgNTksIDEsIAotICAgIDMsIDIzMCwgOTgsIDIsIDQyLCAxMDEsIDU5LCAxLCAzLCAyMzAsIDk4LCAyLCAyMjMsIDIwNywgMTAxLCA1OSwgMSwgMywgNiwgCi0gICAgMjA0LCA1OSwgMSwgMywgMjUyLCA1NCwgNzUsIDU5LCAxLCAzLCAyMjYsIDksIDU5LCAxLCAzLCAyMjMsIDQsIDIsIDEwMSwgCi0gICAgNTksIDEsIDMsIDI0NSwgNDAsIDU5LCAxLCAzLCAyMTgsIDEwMCwgMiwgMjI2LCAxOTMsIDEwMSwgNTksIDEsIDMsIDExMSwgCi0gICAgMTM0LCA1OSwgMSwgMywgMjE1LCAxMjgsIDU5LCAxLCAzLCA2LCA2OSwgNTksIDEsIDMsIDIxNSwgODAsIDIsIDEwMSwgNTksIAotICAgIDEsIDMsIDIxNiwgNTgsIDIxNSwgNzksIDU5LCAxLCAzLCAyMTIsIDE1MiwgNTksIDEsIDMsIDIxMiwgMTUzLCAyLCAyMjMsIAotICAgIDIwNywgMTAxLCA1OSwgMSwgMywgMjEyLCAxNTMsIDIsIDI0OSwgNDEsIDU5LCAxLCAzLCAyNDQsIDIzMiwgNTksIDEsIDMsIAotICAgIDIxNywgMTMyLCAzNywgMjQ2LCA3MiwgMjQyLCAxMTQsIDI1NCwgMTc0LCAzNywgMjQ2LCA3MiwgMjU0LCAxNjQsIDI1NCwgCi0gICAgMTc0LCAzNywgMjE5LCAyNTMsIDU1LCAzNywgMjE4LCAyMDcsIDc3LCAzNywgMjMyLCAzNiwgMzcsIDI0MiwgMTExLCAzNywgCi0gICAgMjMyLCAzNCwgMzcsIDI1NCwgMTYyLCAzNywgMjQyLCAxMTIsIDM3LCAyNTQsIDE2MywgMzcsIDcsIDMsIDEsIDIyNCwgMTEzLCAKLSAgICA1NSwgMzcsIDI1MSwgNzMsIDM3LCAyMzIsIDM1LCAzNywgNTEsIDI0OSwgMjI0LCA0OSwgMzcsIDIyNywgOTEsIDQ5LCAzNywgCi0gICAgMjEyLCAyOCwgNTUsIDM3LCAyMzUsIDE3MCwgNTUsIDM3LCAyMTUsIDEyMiwgNDksIDM3LCAyMTUsIDEwNSwgNDksIDM3LCA3LCAKLSAgICAzLCAxLCAyNDQsIDMyLCAyMjcsIDQwLCAxMTgsIDQ5LCAzNywgNywgMywgMSwgMjU0LCAxNDgsIDM3LCA3LCAzLCAxLCAyNTMsIAotICAgIDI0MCwgMzcsIDcsIDMsIDEsIDI1MywgOTIsIDM3LCA3LCAzLCAxLCAyNTAsIDI1MywgMjUwLCAxMTcsIDM3LCA3LCAzLCAxLCAKLSAgICAyMzUsIDIxMCwgMjQ5LCAzLCAzNywgNywgMywgMSwgMjQ1LCAyNSwgMzcsIDcsIDMsIDEsIDI0MywgMTc3LCAzNywgNywgMSwgCi0gICAgMywgNiwgMjQzLCAxNzcsIDM3LCA3LCAzLCAxLCAyMzUsIDI3LCAzNywgNywgMywgMSwgMTUwLCAzNywgNywgMSwgMywgNiwgCi0gICAgMTUwLCAzNywgNywgMSwgMywgNiwgMTgzLCAzNywgNywgMywgMSwgMjA0LCAzNywgNywgMSwgMywgNiwgMjA0LCAzNywgNywgCi0gICAgMSwgMywgNiwgMTQ5LCAzNywgNywgMywgMSwgMjI0LCAxMTMsIDIyMywgODgsIDM3LCA3LCAzLCAxLCAxOTcsIDM3LCA3LCAzLCAKLSAgICAxLCAxODQsIDE5NywgMzcsIDcsIDMsIDEsIDIxMiwgMTUyLCAzNywgNTEsIDIzNSwgMTkxLCAyNTEsIDc1LCA1NSwgMzcsIAotICAgIDI1NCwgNTcsIDEyMywgMjExLCAyMTEsIDU1LCAzNywgNDIsIDI1MywgMTY1LCA0OSwgMzcsIDQ2LCAyNTMsIDE2NSwgMjQsIAotICAgIDExOSwgMjUzLCAxNjUsIDU1LCA3LCA2LCAxLCAxMTgsIDIsIDIyMywgMTMxLCA1NSwgNywgMywgMSwgMTE4LCAyLCAyMjMsIAotICAgIDEzMSwgNTUsIDcsIDYsIDEsIDU0LCAyLCA2MiwgNDksIDcsIDMsIDEsIDU0LCAyLCA2MiwgNDksIDcsIDYsIDEsIDU0LCAyLCAKLSAgICA2MiwgNTUsIDcsIDMsIDEsIDU0LCAyLCA2MiwgNTUsIDcsIDYsIDEsIDU0LCAyLCAyMzIsIDI0MywgNTUsIDcsIDMsIDEsIAotICAgIDU0LCAyLCAyMzIsIDI0MywgNTUsIDcsIDYsIDEsIDI1MCwgMjUzLCAyLCAyNTAsIDExOCwgMjQsIDE3OSwgNywgMywgMSwgCi0gICAgMjUwLCAyNTMsIDIsIDI1MCwgMTE4LCAyNCwgMTc5LCA3LCA2LCAxLCAyNDksIDQsIDIsIDYyLCA0OSwgNywgMywgMSwgMjQ5LCAKLSAgICA0LCAyLCA2MiwgNDksIDcsIDYsIDEsIDI0OSwgNCwgMiwgNjIsIDU1LCA3LCAzLCAxLCAyNDksIDQsIDIsIDYyLCA1NSwgNywgCi0gICAgNiwgMSwgMjQ5LCA0LCAyLCAyMzIsIDI0MywgNTUsIDcsIDMsIDEsIDI0OSwgNCwgMiwgMjMyLCAyNDMsIDU1LCA3LCA2LCAxLCAKLSAgICAyNDksIDQsIDIsIDI1MCwgMTE3LCA3LCAzLCAxLCAyNDksIDQsIDIsIDI1MCwgMTE3LCA3LCA2LCAxLCAyNDksIDQsIDIsIAotICAgIDI0OSwgMjI0LCA1NSwgNywgMywgMSwgMjQ5LCA0LCAyLCAyNDksIDIyNCwgNTUsIDcsIDYsIDEsIDE5MSwgMiwgMjMyLCAzOCwgCi0gICAgMjQsIDI0MiwgMTEzLCA3LCAzLCAxLCAxOTEsIDIsIDIzMiwgMzgsIDI0LCAyNDIsIDExMywgNywgNiwgMSwgMTkxLCAyLCAKLSAgICAyMzIsIDM4LCAyNCwgMTc5LCA3LCAzLCAxLCAxOTEsIDIsIDIzMiwgMzgsIDI0LCAxNzksIDcsIDYsIDEsIDE5MSwgMiwgCi0gICAgMjQ5LCAyMjQsIDU1LCA3LCAzLCAxLCAxOTEsIDIsIDI0OSwgMjI0LCA1NSwgNywgNiwgMSwgMTkxLCAyLCAyMTcsIDQzLCAKLSAgICA1NSwgNywgMywgMSwgMTkxLCAyLCAyMTcsIDQzLCA1NSwgNywgNiwgMSwgMTkxLCAyLCAyNTAsIDExOCwgMjQsIDI1MSwgNzQsIAotICAgIDcsIDMsIDEsIDE5MSwgMiwgMjUwLCAxMTgsIDI0LCAyNTEsIDc0LCA3LCA2LCAxLCAyNDQsIDIzMSwgMiwgNjIsIDQ5LCA3LCAKLSAgICAzLCAxLCAyNDQsIDIzMSwgMiwgNjIsIDQ5LCA3LCA2LCAxLCAyNDMsIDE3OCwgMiwgMjMyLCAzNywgNywgMywgMSwgMjQzLCAKLSAgICAxNzgsIDIsIDIzMiwgMzcsIDcsIDYsIDEsIDI0MiwgNDIsIDIsIDYyLCA0OSwgNywgMywgMSwgMjQyLCA0MiwgMiwgNjIsIAotICAgIDQ5LCA3LCA2LCAxLCAyNDIsIDQyLCAyLCA2MiwgNTUsIDcsIDMsIDEsIDI0MiwgNDIsIDIsIDYyLCA1NSwgNywgNiwgMSwgCi0gICAgMjQyLCA0MiwgMiwgMjQ3LCAyMDksIDcsIDMsIDEsIDI0MiwgNDIsIDIsIDI0NywgMjA5LCA3LCA2LCAxLCAyNDIsIDQyLCAyLCAKLSAgICAyNTAsIDExNywgNywgMywgMSwgMjQyLCA0MiwgMiwgMjUwLCAxMTcsIDcsIDYsIDEsIDI0MiwgNDIsIDIsIDI1MSwgNzUsIAotICAgIDU1LCA3LCAzLCAxLCAyNDIsIDQyLCAyLCAyNTEsIDc1LCA1NSwgNywgNiwgMSwgMjQwLCAxNDYsIDIsIDIxNywgNDMsIDU1LCAKLSAgICA3LCAzLCAxLCAyNDAsIDE0NiwgMiwgMjE3LCA0MywgNTUsIDcsIDYsIDEsIDI0MCwgMTQ2LCAyLCAyNDcsIDIxMCwgMjQsIAotICAgIDE3OSwgNywgMywgMSwgMjQwLCAxNDYsIDIsIDI0NywgMjEwLCAyNCwgMTc5LCA3LCA2LCAxLCAyMzUsIDI4LCAyLCAxNzksIAotICAgIDcsIDMsIDEsIDIzNSwgMjgsIDIsIDE3OSwgNywgNiwgMSwgMjM1LCAyOCwgMiwgNjIsIDU1LCA3LCAzLCAxLCAyMzUsIDI4LCAKLSAgICAyLCA2MiwgNTUsIDcsIDYsIDEsIDIzNSwgMjgsIDIsIDIzMiwgMjQzLCA1NSwgNywgMywgMSwgMjM1LCAyOCwgMiwgMjMyLCAKLSAgICAyNDMsIDU1LCA3LCA2LCAxLCAyMzMsIDE3MSwgMiwgNjIsIDU1LCA3LCAzLCAxLCAyMzMsIDE3MSwgMiwgNjIsIDU1LCA3LCAKLSAgICA2LCAxLCAyMzMsIDE3MSwgMiwgNjIsIDI1MSwgMjIwLCAyNCwgMjMyLCAzNywgNywgMywgMSwgMjMzLCAxNzEsIDIsIDYyLCAKLSAgICAyNTEsIDIyMCwgMjQsIDIzMiwgMzcsIDcsIDYsIDEsIDIzMywgMTcxLCAyLCAyMzIsIDI0MywgNTUsIDcsIDMsIDEsIDIzMywgCi0gICAgMTcxLCAyLCAyMzIsIDI0MywgNTUsIDcsIDYsIDEsIDIzMywgMTcxLCAyLCAyNDksIDIyNCwgNTUsIDcsIDMsIDEsIDIzMywgCi0gICAgMTcxLCAyLCAyNDksIDIyNCwgNTUsIDcsIDYsIDEsIDIzMiwgMTEwLCAyLCAxNzksIDcsIDMsIDEsIDIzMiwgMTEwLCAyLCAKLSAgICAxNzksIDcsIDYsIDEsIDIzMiwgMTEwLCAyLCA2MiwgNDksIDcsIDMsIDEsIDIzMiwgMTEwLCAyLCA2MiwgNDksIDcsIDYsIDEsIAotICAgIDIzMiwgMTEwLCAyLCA2MiwgNTUsIDcsIDMsIDEsIDIzMiwgMTEwLCAyLCA2MiwgNTUsIDcsIDYsIDEsIDIzMCwgOTgsIDIsIAotICAgIDYyLCA0OSwgNywgMywgMSwgMjMwLCA5OCwgMiwgNjIsIDQ5LCA3LCA2LCAxLCAyMzAsIDk4LCAyLCA2MiwgNTUsIDcsIDMsIAotICAgIDEsIDIzMCwgOTgsIDIsIDYyLCA1NSwgNywgNiwgMSwgMjMwLCA5OCwgMiwgMjMyLCAyNDMsIDU1LCA3LCAzLCAxLCAyMzAsIAotICAgIDk4LCAyLCAyMzIsIDI0MywgNTUsIDcsIDYsIDEsIDIzMCwgOTgsIDIsIDI0OSwgMjI0LCA1NSwgNywgMywgMSwgMjMwLCA5OCwgCi0gICAgMiwgMjQ5LCAyMjQsIDU1LCA3LCA2LCAxLCAxNTcsIDIsIDIxNywgNDMsIDI0LCAxNzksIDcsIDMsIDEsIDE1NywgMiwgMjE3LCAKLSAgICA0MywgMjQsIDE3OSwgNywgNiwgMSwgMTU3LCAyLCAyMTcsIDQzLCAyNCwgMjQ3LCAyMDksIDcsIDMsIDEsIDE1NywgMiwgCi0gICAgMjE3LCA0MywgMjQsIDI0NywgMjA5LCA3LCA2LCAxLCAxNTcsIDIsIDIzMiwgMzgsIDI0LCAyNDIsIDExMywgNywgMywgMSwgCi0gICAgMTU3LCAyLCAyMzIsIDM4LCAyNCwgMjQyLCAxMTMsIDcsIDYsIDEsIDE1NywgMiwgMjMyLCAzOCwgMjQsIDE3OSwgNywgMywgCi0gICAgMSwgMTU3LCAyLCAyMzIsIDM4LCAyNCwgMTc5LCA3LCA2LCAxLCAyMjYsIDIzMCwgMiwgMTc5LCA3LCAzLCAxLCAyMjYsIAotICAgIDIzMCwgMiwgMTc5LCA3LCA2LCAxLCAyMjYsIDIzMCwgMiwgNjIsIDQ5LCA3LCAzLCAxLCAyMjYsIDIzMCwgMiwgNjIsIDQ5LCAKLSAgICA3LCA2LCAxLCAyMjQsIDExMywgMiwgNjIsIDQ5LCA3LCAzLCAxLCAyMjQsIDExMywgMiwgNjIsIDQ5LCA3LCA2LCAxLCAyMjQsIAotICAgIDExMywgMiwgNjIsIDU1LCA3LCAzLCAxLCAyMjQsIDExMywgMiwgNjIsIDU1LCA3LCA2LCAxLCAyMjQsIDExMywgMiwgNjIsIAotICAgIDI1MSwgMjIwLCAyNCwgMjMyLCAzNywgNywgMywgMSwgMjI0LCAxMTMsIDIsIDYyLCAyNTEsIDIyMCwgMjQsIDIzMiwgMzcsIAotICAgIDcsIDYsIDEsIDIyNCwgMTEzLCAyLCAyMzIsIDI0MywgNTUsIDcsIDMsIDEsIDIyNCwgMTEzLCAyLCAyMzIsIDI0MywgNTUsIAotICAgIDcsIDYsIDEsIDIyMywgNCwgMiwgNjIsIDQ5LCA3LCAzLCAxLCAyMjMsIDQsIDIsIDYyLCA0OSwgNywgNiwgMSwgMjIzLCA0LCAKLSAgICAyLCA2MiwgNTUsIDcsIDMsIDEsIDIyMywgNCwgMiwgNjIsIDU1LCA3LCA2LCAxLCAyMjMsIDQsIDIsIDI1NCwgMTY0LCAyNCwgCi0gICAgNjIsIDQ5LCA3LCAzLCAxLCAyMjMsIDQsIDIsIDI1NCwgMTY0LCAyNCwgNjIsIDQ5LCA3LCA2LCAxLCAyMjMsIDQsIDIsIAotICAgIDI1MCwgMTY3LCAyNCwgNjIsIDQ5LCA3LCAzLCAxLCAyMjMsIDQsIDIsIDI1MCwgMTY3LCAyNCwgNjIsIDQ5LCA3LCA2LCAxLCAKLSAgICAyMjMsIDQsIDIsIDYyLCAyNTEsIDIyMCwgMjQsIDYyLCA0OSwgNywgMywgMSwgMjIzLCA0LCAyLCA2MiwgMjUxLCAyMjAsIAotICAgIDI0LCA2MiwgNDksIDcsIDYsIDEsIDIxOCwgMTAwLCAyLCA2MiwgNDksIDcsIDMsIDEsIDIxOCwgMTAwLCAyLCA2MiwgNDksIAotICAgIDcsIDYsIDEsIDIxOCwgMTAwLCAyLCA2MiwgNTUsIDcsIDMsIDEsIDIxOCwgMTAwLCAyLCA2MiwgNTUsIDcsIDYsIDEsIDIxOCwgCi0gICAgMTAwLCAyLCAyMzIsIDI0MywgNTUsIDcsIDMsIDEsIDIxOCwgMTAwLCAyLCAyMzIsIDI0MywgNTUsIDcsIDYsIDEsIDIxOCwgCi0gICAgMTAwLCAyLCAyNDksIDIyNCwgNTUsIDcsIDMsIDEsIDIxOCwgMTAwLCAyLCAyNDksIDIyNCwgNTUsIDcsIDYsIDEsIDExMSwgCi0gICAgMiwgMjQ3LCAyMTAsIDU1LCA3LCAzLCAxLCAxMTEsIDIsIDI0NywgMjEwLCA1NSwgNywgNiwgMSwgMTExLCAyLCAyMTcsIDQzLCAKLSAgICA1NSwgNywgMywgMSwgMTExLCAyLCAyMTcsIDQzLCA1NSwgNywgNiwgMSwgMTExLCAyLCAyNDksIDIyNCwgNTUsIDcsIDMsIDEsIAotICAgIDExMSwgMiwgMjQ5LCAyMjQsIDU1LCA3LCA2LCAxLCAxMTEsIDIsIDIxNywgNDMsIDI0LCAxNzksIDcsIDMsIDEsIDExMSwgMiwgCi0gICAgMjE3LCA0MywgMjQsIDE3OSwgNywgNiwgMSwgMTExLCAyLCAyMzIsIDM4LCAyNCwgMjQ3LCAyMDksIDcsIDMsIDEsIDExMSwgCi0gICAgMiwgMjMyLCAzOCwgMjQsIDI0NywgMjA5LCA3LCA2LCAxLCAyMTUsIDgwLCAyLCAyMTcsIDQyLCA3LCAzLCAxLCAyMTUsIDgwLCAKLSAgICAyLCAyMTcsIDQyLCA3LCA2LCAxLCAyMTUsIDgwLCAyLCA2MiwgNTUsIDcsIDMsIDEsIDIxNSwgODAsIDIsIDYyLCA1NSwgNywgCi0gICAgNiwgMSwgMjE0LCA4MywgMiwgMjQyLCAxMTMsIDcsIDMsIDEsIDIxNCwgODMsIDIsIDI0MiwgMTEzLCA3LCA2LCAxLCAyMTQsIAotICAgIDgzLCAyLCAxNzksIDcsIDMsIDEsIDIxNCwgODMsIDIsIDE3OSwgNywgNiwgMSwgMjE0LCA4MywgMiwgMjQ3LCAyMDksIDcsIAotICAgIDMsIDEsIDIxNCwgODMsIDIsIDI0NywgMjA5LCA3LCA2LCAxLCAyMTQsIDgzLCAyLCA2MiwgNDksIDcsIDMsIDEsIDIxNCwgCi0gICAgODMsIDIsIDYyLCA0OSwgNywgNiwgMSwgMjE0LCA4MywgMiwgNjIsIDU1LCA3LCAzLCAxLCAyMTQsIDgzLCAyLCA2MiwgNTUsIAotICAgIDcsIDYsIDEsIDIxMywgMTY3LCAyLCA2MiwgNDksIDcsIDMsIDEsIDIxMywgMTY3LCAyLCA2MiwgNDksIDcsIDYsIDEsIDIxMywgCi0gICAgMTY3LCAyLCAyNDcsIDIwOSwgNywgMywgMSwgMjEzLCAxNjcsIDIsIDI0NywgMjA5LCA3LCA2LCAxLCAyMTMsIDEwNiwgMiwgCi0gICAgNjIsIDQ5LCA3LCAzLCAxLCAyMTMsIDEwNiwgMiwgNjIsIDQ5LCA3LCA2LCAxLCAyMTIsIDE1MywgMiwgMjQ5LCAyMjMsIDcsIAotICAgIDMsIDEsIDIxMiwgMTUzLCAyLCAyNDksIDIyMywgNywgNiwgMSwgMjEyLCAxNTMsIDIsIDYyLCA1NSwgNywgMywgMSwgMjEyLCAKLSAgICAxNTMsIDIsIDYyLCA1NSwgNywgNiwgMSwgMjEyLCAxNTMsIDIsIDIzMiwgMjQzLCA1NSwgNywgMywgMSwgMjEyLCAxNTMsIDIsIAotICAgIDIzMiwgMjQzLCA1NSwgNywgMywgMSwgMjQyLCA0MiwgMiwgMjMyLCAyNDMsIDU1LCA3LCAzLCAxLCAyMTgsIDEwMCwgMiwgCi0gICAgMjQ3LCAyMDksIDcsIDMsIDEsIDIxNCwgODMsIDIsIDIyMywgMTMxLCA0OSwgNywgMywgMSwgMjEzLCAxMDYsIDIsIDIyMywgCi0gICAgMTMxLCA0OSwgNywgMywgMSwgMTE4LCAyLCA0NiwgMTUxLCAyMjMsIDEzMCwgNywgMywgMSwgMTg0LCAyMjMsIDQsIDIsIDYyLCAKLSAgICA0OSwgNywgMywgMSwgMTg0LCAyMjMsIDQsIDIsIDI0NywgMjA3LCA5MCwgNywgMywgMSwgMTg0LCAyMjMsIDQsIDIsIDEyNCwgCi0gICAgOTAsIDcsIDYsIDEsIDIyMCwgMjU1LCAxOTcsIDcsIDMsIDEsIDI0OCwgNSwgNywgNiwgMSwgMTE4LCAyLCA2MiwgNTUsIDcsIAotICAgIDMsIDEsIDExOCwgMiwgNjIsIDU1LCA3LCA2LCAxLCAxMTgsIDIsIDI0MSwgMzgsIDQ5LCA3LCAzLCAxLCAxMTgsIDIsIDI0MSwgCi0gICAgMzgsIDQ5LCA3LCA2LCAxLCAxMTgsIDIsIDI0OSwgMjI0LCAyNCwgMTc5LCA3LCAzLCAxLCAxMTgsIDIsIDI0OSwgMjI0LCAKLSAgICAyNCwgMTc5LCA3LCA2LCAxLCAxMTgsIDIsIDI0OSwgMjI0LCAyNCwgMjQyLCAxMTMsIDcsIDMsIDEsIDExOCwgMiwgMjQ5LCAKLSAgICAyMjQsIDI0LCAyNDIsIDExMywgNywgNiwgMSwgMTE4LCAyLCAyNDksIDIyNCwgMjQsIDI0MSwgMzgsIDQ5LCA3LCAzLCAxLCAKLSAgICAxMTgsIDIsIDI0OSwgMjI0LCAyNCwgMjQxLCAzOCwgNDksIDcsIDYsIDEsIDExOCwgMiwgMjQ5LCAyMjQsIDI0LCAyMTcsIAotICAgIDQyLCA3LCAzLCAxLCAxMTgsIDIsIDI0OSwgMjI0LCAyNCwgMjE3LCA0MiwgNywgNiwgMSwgMTE4LCAyLCAyNDksIDIyNCwgCi0gICAgMjQsIDYyLCA1NSwgNywgMywgMSwgMTE4LCAyLCAyNDksIDIyNCwgMjQsIDYyLCA1NSwgNywgNiwgMSwgMTE4LCAyLCAyNTEsIAotICAgIDc1LCAyNCwgMTc5LCA3LCAzLCAxLCAxMTgsIDIsIDI1MSwgNzUsIDI0LCAxNzksIDcsIDYsIDEsIDExOCwgMiwgMjUxLCA3NSwgCi0gICAgMjQsIDI0MiwgMTEzLCA3LCAzLCAxLCAxMTgsIDIsIDI1MSwgNzUsIDI0LCAyNDIsIDExMywgNywgNiwgMSwgMTE4LCAyLCAKLSAgICAyNTEsIDc1LCAyNCwgMjQxLCAzOCwgNDksIDcsIDMsIDEsIDExOCwgMiwgMjUxLCA3NSwgMjQsIDI0MSwgMzgsIDQ5LCA3LCAKLSAgICA2LCAxLCAxMTgsIDIsIDI1MSwgNzUsIDI0LCAyMTcsIDQyLCA3LCAzLCAxLCAxMTgsIDIsIDI1MSwgNzUsIDI0LCAyMTcsIAotICAgIDQyLCA3LCA2LCAxLCAxMTgsIDIsIDI1MSwgNzUsIDI0LCA2MiwgNTUsIDcsIDMsIDEsIDExOCwgMiwgMjUxLCA3NSwgMjQsIAotICAgIDYyLCA1NSwgNywgNiwgMSwgMTkxLCAyLCA2MiwgNTUsIDcsIDMsIDEsIDE5MSwgMiwgNjIsIDU1LCA3LCA2LCAxLCAxOTEsIAotICAgIDIsIDI0MSwgMzgsIDQ5LCA3LCAzLCAxLCAxOTEsIDIsIDI0MSwgMzgsIDQ5LCA3LCA2LCAxLCAxOTEsIDIsIDIxNywgNDIsIAotICAgIDcsIDMsIDEsIDE5MSwgMiwgMjE3LCA0MiwgNywgNiwgMSwgMTkxLCAyLCAyNDksIDIyNCwgMjQsIDE3OSwgNywgMywgMSwgCi0gICAgMTkxLCAyLCAyNDksIDIyNCwgMjQsIDE3OSwgNywgNiwgMSwgMTkxLCAyLCAyNDksIDIyNCwgMjQsIDI0MiwgMTEzLCA3LCAzLCAKLSAgICAxLCAxOTEsIDIsIDI0OSwgMjI0LCAyNCwgMjQyLCAxMTMsIDcsIDYsIDEsIDE5MSwgMiwgMjQ5LCAyMjQsIDI0LCAyNDEsIAotICAgIDM4LCA0OSwgNywgMywgMSwgMTkxLCAyLCAyNDksIDIyNCwgMjQsIDI0MSwgMzgsIDQ5LCA3LCA2LCAxLCAxOTEsIDIsIDI0OSwgCi0gICAgMjI0LCAyNCwgMjE3LCA0MiwgNywgMywgMSwgMTkxLCAyLCAyNDksIDIyNCwgMjQsIDIxNywgNDIsIDcsIDYsIDEsIDE5MSwgCi0gICAgMiwgMjQ5LCAyMjQsIDI0LCA2MiwgNTUsIDcsIDMsIDEsIDE5MSwgMiwgMjQ5LCAyMjQsIDI0LCA2MiwgNTUsIDcsIDYsIDEsIAotICAgIDI0MCwgMTQ2LCAyLCAyNDEsIDM4LCA0OSwgNywgMywgMSwgMjQwLCAxNDYsIDIsIDI0MSwgMzgsIDQ5LCA3LCA2LCAxLCAKLSAgICAyNDAsIDE0NiwgMiwgNjIsIDU1LCA3LCAzLCAxLCAyNDAsIDE0NiwgMiwgNjIsIDU1LCA3LCA2LCAxLCAxNTcsIDIsIDYyLCAKLSAgICA1NSwgNywgMywgMSwgMTU3LCAyLCA2MiwgNTUsIDcsIDYsIDEsIDE1NywgMiwgMjQxLCAzOCwgNDksIDcsIDMsIDEsIDE1NywgCi0gICAgMiwgMjQxLCAzOCwgNDksIDcsIDYsIDEsIDE1NywgMiwgMjQ5LCAyMjQsIDI0LCAxNzksIDcsIDMsIDEsIDE1NywgMiwgMjQ5LCAKLSAgICAyMjQsIDI0LCAxNzksIDcsIDYsIDEsIDE1NywgMiwgMjQ5LCAyMjQsIDI0LCAyNDIsIDExMywgNywgMywgMSwgMTU3LCAyLCAKLSAgICAyNDksIDIyNCwgMjQsIDI0MiwgMTEzLCA3LCA2LCAxLCAxNTcsIDIsIDI0OSwgMjI0LCAyNCwgMjQxLCAzOCwgNDksIDcsIDMsIAotICAgIDEsIDE1NywgMiwgMjQ5LCAyMjQsIDI0LCAyNDEsIDM4LCA0OSwgNywgNiwgMSwgMTU3LCAyLCAyNDksIDIyNCwgMjQsIDIxNywgCi0gICAgNDIsIDcsIDMsIDEsIDE1NywgMiwgMjQ5LCAyMjQsIDI0LCAyMTcsIDQyLCA3LCA2LCAxLCAxNTcsIDIsIDI0OSwgMjI0LCAKLSAgICAyNCwgNjIsIDU1LCA3LCAzLCAxLCAxNTcsIDIsIDI0OSwgMjI0LCAyNCwgNjIsIDU1LCA3LCA2LCAxLCAxNTcsIDIsIDI0MCwgCi0gICAgMjM2LCAyNCwgMTc5LCA3LCAzLCAxLCAxNTcsIDIsIDI0MCwgMjM2LCAyNCwgMTc5LCA3LCA2LCAxLCAxNTcsIDIsIDI0MCwgCi0gICAgMjM2LCAyNCwgMjQyLCAxMTMsIDcsIDMsIDEsIDE1NywgMiwgMjQwLCAyMzYsIDI0LCAyNDIsIDExMywgNywgNiwgMSwgMTU3LCAKLSAgICAyLCAyNDAsIDIzNiwgMjQsIDI0MSwgMzgsIDQ5LCA3LCAzLCAxLCAxNTcsIDIsIDI0MCwgMjM2LCAyNCwgMjQxLCAzOCwgNDksIAotICAgIDcsIDYsIDEsIDE1NywgMiwgMjQwLCAyMzYsIDI0LCAyMTcsIDQyLCA3LCAzLCAxLCAxNTcsIDIsIDI0MCwgMjM2LCAyNCwgCi0gICAgMjE3LCA0MiwgNywgNiwgMSwgMTU3LCAyLCAyNDAsIDIzNiwgMjQsIDYyLCA1NSwgNywgMywgMSwgMTU3LCAyLCAyNDAsIAotICAgIDIzNiwgMjQsIDYyLCA1NSwgNywgNiwgMSwgMTExLCAyLCA2MiwgNTUsIDcsIDMsIDEsIDExMSwgMiwgNjIsIDU1LCA3LCA2LCAKLSAgICAxLCAxMTEsIDIsIDI0MSwgMzgsIDQ5LCA3LCAzLCAxLCAxMTEsIDIsIDI0MSwgMzgsIDQ5LCA3LCA2LCAxLCAxMTEsIDIsIAotICAgIDI0MCwgMjM2LCAyNCwgMTc5LCA3LCAzLCAxLCAxMTEsIDIsIDI0MCwgMjM2LCAyNCwgMTc5LCA3LCA2LCAxLCAxMTEsIDIsIAotICAgIDI0MCwgMjM2LCAyNCwgMjQyLCAxMTMsIDcsIDMsIDEsIDExMSwgMiwgMjQwLCAyMzYsIDI0LCAyNDIsIDExMywgNywgNiwgMSwgCi0gICAgMTExLCAyLCAyNDAsIDIzNiwgMjQsIDI0MSwgMzgsIDQ5LCA3LCAzLCAxLCAxMTEsIDIsIDI0MCwgMjM2LCAyNCwgMjQxLCAKLSAgICAzOCwgNDksIDcsIDYsIDEsIDExMSwgMiwgMjQwLCAyMzYsIDI0LCAyMTcsIDQyLCA3LCAzLCAxLCAxMTEsIDIsIDI0MCwgCi0gICAgMjM2LCAyNCwgMjE3LCA0MiwgNywgNiwgMSwgMTExLCAyLCAyNDAsIDIzNiwgMjQsIDYyLCA1NSwgNywgMywgMSwgMTExLCAyLCAKLSAgICAyNDAsIDIzNiwgMjQsIDYyLCA1NSwgNywgNiwgMSwgMjEzLCAxMDYsIDIsIDI0MiwgMTEzLCA3LCAzLCAxLCAyMTMsIDEwNiwgCi0gICAgMiwgMjQyLCAxMTMsIDcsIDYsIDEsIDIxMywgMTA2LCAyLCA2MiwgNTUsIDcsIDMsIDEsIDIxMywgMTA2LCAyLCA2MiwgNTUsIAotICAgIDcsIDYsIDEsIDIxMywgMTA2LCAyLCAyNDEsIDM4LCA0OSwgNywgMywgMSwgMjEzLCAxMDYsIDIsIDI0MSwgMzgsIDQ5LCA3LCAKLSAgICA2LCAxLCAyMTMsIDEwNiwgMiwgMjE3LCA0MiwgNywgMywgMSwgMjEzLCAxMDYsIDIsIDIxNywgNDIsIDcsIDYsIDEsIDIzMSwgCi0gICAgMzYsIDIzMiwgMjE0LCA3LCAzLCAxLCAyMzEsIDM2LCAyMzIsIDIxNCwgNywgNiwgMSwgMjMxLCAzNiwgMjE1LCA3OSwgNywgCi0gICAgMywgMSwgMjMxLCAzNiwgMjE1LCA3OSwgNywgNiwgMSwgMjEzLCAxMDYsIDIsIDIzMiwgMTc3LCA3LCAzLCAxLCAyMTMsIAotICAgIDEwNiwgMiwgMjMyLCAxNzcsIDI1LCAzLCAxLCAyNTQsIDUzLCAyLCAyMjUsIDM5LCAyNSwgMywgMSwgMjU0LCA1MywgMiwgCi0gICAgMjQ4LCA5OSwgMjUsIDMsIDEsIDI1NCwgNTMsIDIsIDIyNSwgNDAsIDI0LCAyMTQsIDI0NSwgMjUsIDMsIDEsIDI1NCwgNTMsIAotICAgIDIsIDIwNywgMjQsIDIxNCwgMjQ1LCAyNSwgMywgMSwgMjU0LCA1MywgMiwgMjI1LCA0MCwgMjQsIDIyNiwgMjM0LCAyNSwgMywgCi0gICAgMSwgMjU0LCA1MywgMiwgMjA3LCAyNCwgMjI2LCAyMzQsIDI1LCAzLCAxLCAyNTQsIDUzLCAyLCAyMjUsIDQwLCAyNCwgMjI2LCAKLSAgICA1MCwgMjUsIDMsIDEsIDI1NCwgNTMsIDIsIDIwNywgMjQsIDIyNiwgNTAsIDI1LCA2LCAxLCAyNTQsIDUzLCAyLCAyMjUsIAotICAgIDM5LCAyNSwgNiwgMSwgMjU0LCA1MywgMiwgMjQ4LCA5OSwgMjUsIDYsIDEsIDI1NCwgNTMsIDIsIDIyNSwgNDAsIDI0LCAKLSAgICAyMTQsIDI0NSwgMjUsIDYsIDEsIDI1NCwgNTMsIDIsIDIwNywgMjQsIDIxNCwgMjQ1LCAyNSwgNiwgMSwgMjU0LCA1MywgMiwgCi0gICAgMjI1LCA0MCwgMjQsIDIyNiwgMjM0LCAyNSwgNiwgMSwgMjU0LCA1MywgMiwgMjA3LCAyNCwgMjI2LCAyMzQsIDI1LCA2LCAxLCAKLSAgICAyNTQsIDUzLCAyLCAyMjUsIDQwLCAyNCwgMjI2LCA1MCwgMjUsIDYsIDEsIDI1NCwgNTMsIDIsIDIwNywgMjQsIDIyNiwgNTAsIAotICAgIDI1LCAzLCAxLCAyNDUsIDY0LCAyLCAyMjUsIDM5LCAyNSwgMywgMSwgMjQ1LCA2NCwgMiwgMjQ4LCA5OSwgMjUsIDMsIDEsIAotICAgIDI0NSwgNjQsIDIsIDIyNSwgNDAsIDI0LCAyMTQsIDI0NSwgMjUsIDMsIDEsIDI0NSwgNjQsIDIsIDIwNywgMjQsIDIxNCwgCi0gICAgMjQ1LCAyNSwgMywgMSwgMjQ1LCA2NCwgMiwgMjI1LCA0MCwgMjQsIDIyNiwgMjM0LCAyNSwgMywgMSwgMjQ1LCA2NCwgMiwgCi0gICAgMjA3LCAyNCwgMjI2LCAyMzQsIDI1LCA2LCAxLCAyNDUsIDY0LCAyLCAyMjUsIDM5LCAyNSwgNiwgMSwgMjQ1LCA2NCwgMiwgCi0gICAgMjQ4LCA5OSwgMjUsIDYsIDEsIDI0NSwgNjQsIDIsIDIyNSwgNDAsIDI0LCAyMTQsIDI0NSwgMjUsIDYsIDEsIDI0NSwgNjQsIAotICAgIDIsIDIwNywgMjQsIDIxNCwgMjQ1LCAyNSwgNiwgMSwgMjQ1LCA2NCwgMiwgMjI1LCA0MCwgMjQsIDIyNiwgMjM0LCAyNSwgNiwgCi0gICAgMSwgMjQ1LCA2NCwgMiwgMjA3LCAyNCwgMjI2LCAyMzQsIDI1LCAzLCAxLCAyNDUsIDI5LCAyLCAyMjUsIDM5LCAyNSwgMywgCi0gICAgMSwgMjQ1LCAyOSwgMiwgMjQ4LCA5OSwgMjUsIDMsIDEsIDI0NSwgMjksIDIsIDIyNSwgNDAsIDI0LCAyMTQsIDI0NSwgMjUsIAotICAgIDMsIDEsIDI0NSwgMjksIDIsIDIwNywgMjQsIDIxNCwgMjQ1LCAyNSwgMywgMSwgMjQ1LCAyOSwgMiwgMjI1LCA0MCwgMjQsIAotICAgIDIyNiwgMjM0LCAyNSwgMywgMSwgMjQ1LCAyOSwgMiwgMjA3LCAyNCwgMjI2LCAyMzQsIDI1LCAzLCAxLCAyNDUsIDI5LCAyLCAKLSAgICAyMjUsIDQwLCAyNCwgMjI2LCA1MCwgMjUsIDMsIDEsIDI0NSwgMjksIDIsIDIwNywgMjQsIDIyNiwgNTAsIDI1LCA2LCAxLCAKLSAgICAyNDUsIDI5LCAyLCAyMjUsIDM5LCAyNSwgNiwgMSwgMjQ1LCAyOSwgMiwgMjQ4LCA5OSwgMjUsIDYsIDEsIDI0NSwgMjksIDIsIAotICAgIDIyNSwgNDAsIDI0LCAyMTQsIDI0NSwgMjUsIDYsIDEsIDI0NSwgMjksIDIsIDIwNywgMjQsIDIxNCwgMjQ1LCAyNSwgNiwgMSwgCi0gICAgMjQ1LCAyOSwgMiwgMjI1LCA0MCwgMjQsIDIyNiwgMjM0LCAyNSwgNiwgMSwgMjQ1LCAyOSwgMiwgMjA3LCAyNCwgMjI2LCAKLSAgICAyMzQsIDI1LCA2LCAxLCAyNDUsIDI5LCAyLCAyMjUsIDQwLCAyNCwgMjI2LCA1MCwgMjUsIDYsIDEsIDI0NSwgMjksIDIsIAotICAgIDIwNywgMjQsIDIyNiwgNTAsIDI1LCAzLCAxLCAyMzUsIDE4NCwgMiwgMjI1LCAzOSwgMjUsIDMsIDEsIDIzNSwgMTg0LCAyLCAKLSAgICAyNDgsIDk5LCAyNSwgMywgMSwgMjM1LCAxODQsIDIsIDIyNSwgNDAsIDI0LCAyMTQsIDI0NSwgMjUsIDMsIDEsIDIzNSwgCi0gICAgMTg0LCAyLCAyMDcsIDI0LCAyMTQsIDI0NSwgMjUsIDMsIDEsIDIzNSwgMTg0LCAyLCAyMjUsIDQwLCAyNCwgMjI2LCAyMzQsIAotICAgIDI1LCAzLCAxLCAyMzUsIDE4NCwgMiwgMjA3LCAyNCwgMjI2LCAyMzQsIDI1LCAzLCAxLCAyMzUsIDE4NCwgMiwgMjI1LCA0MCwgCi0gICAgMjQsIDIyNiwgNTAsIDI1LCAzLCAxLCAyMzUsIDE4NCwgMiwgMjA3LCAyNCwgMjI2LCA1MCwgMjUsIDYsIDEsIDIzNSwgMTg0LCAKLSAgICAyLCAyMjUsIDM5LCAyNSwgNiwgMSwgMjM1LCAxODQsIDIsIDI0OCwgOTksIDI1LCA2LCAxLCAyMzUsIDE4NCwgMiwgMjI1LCAKLSAgICA0MCwgMjQsIDIxNCwgMjQ1LCAyNSwgNiwgMSwgMjM1LCAxODQsIDIsIDIwNywgMjQsIDIxNCwgMjQ1LCAyNSwgNiwgMSwgCi0gICAgMjM1LCAxODQsIDIsIDIyNSwgNDAsIDI0LCAyMjYsIDIzNCwgMjUsIDYsIDEsIDIzNSwgMTg0LCAyLCAyMDcsIDI0LCAyMjYsIAotICAgIDIzNCwgMjUsIDYsIDEsIDIzNSwgMTg0LCAyLCAyMjUsIDQwLCAyNCwgMjI2LCA1MCwgMjUsIDYsIDEsIDIzNSwgMTg0LCAyLCAKLSAgICAyMDcsIDI0LCAyMjYsIDUwLCAyNSwgMywgMSwgMjI3LCA2NiwgMiwgMjI1LCAzOSwgMjUsIDMsIDEsIDIyNywgNjYsIDIsIAotICAgIDI0OCwgOTksIDI1LCAzLCAxLCAyMjcsIDY2LCAyLCAyMjUsIDQwLCAyNCwgMjE0LCAyNDUsIDI1LCAzLCAxLCAyMjcsIDY2LCAKLSAgICAyLCAyMDcsIDI0LCAyMTQsIDI0NSwgMjUsIDMsIDEsIDIyNywgNjYsIDIsIDIyNSwgNDAsIDI0LCAyMjYsIDIzNCwgMjUsIDMsIAotICAgIDEsIDIyNywgNjYsIDIsIDIwNywgMjQsIDIyNiwgMjM0LCAyNSwgNiwgMSwgMjI3LCA2NiwgMiwgMjI1LCAzOSwgMjUsIDYsIAotICAgIDEsIDIyNywgNjYsIDIsIDI0OCwgOTksIDI1LCA2LCAxLCAyMjcsIDY2LCAyLCAyMjUsIDQwLCAyNCwgMjE0LCAyNDUsIDI1LCAKLSAgICA2LCAxLCAyMjcsIDY2LCAyLCAyMDcsIDI0LCAyMTQsIDI0NSwgMjUsIDYsIDEsIDIyNywgNjYsIDIsIDIyNSwgNDAsIDI0LCAKLSAgICAyMjYsIDIzNCwgMjUsIDYsIDEsIDIyNywgNjYsIDIsIDIwNywgMjQsIDIyNiwgMjM0LCAyNSwgMywgMSwgMjE1LCAxMjksIDIsIAotICAgIDIyNSwgMzksIDI1LCAzLCAxLCAyMTUsIDEyOSwgMiwgMjQ4LCA5OSwgMjUsIDMsIDEsIDIxNSwgMTI5LCAyLCAyMjUsIDQwLCAKLSAgICAyNCwgMjE0LCAyNDUsIDI1LCAzLCAxLCAyMTUsIDEyOSwgMiwgMjA3LCAyNCwgMjE0LCAyNDUsIDI1LCAzLCAxLCAyMTUsIAotICAgIDEyOSwgMiwgMjI1LCA0MCwgMjQsIDIyNiwgMjM0LCAyNSwgMywgMSwgMjE1LCAxMjksIDIsIDIwNywgMjQsIDIyNiwgMjM0LCAKLSAgICAyNSwgMywgMSwgMjE1LCAxMjksIDIsIDIyNSwgNDAsIDI0LCAyMjYsIDUwLCAyNSwgMywgMSwgMjE1LCAxMjksIDIsIDIwNywgCi0gICAgMjQsIDIyNiwgNTAsIDI1LCA2LCAxLCAyMTUsIDEyOSwgMiwgMjQ4LCA5OSwgMjUsIDYsIDEsIDIxNSwgMTI5LCAyLCAyMDcsIAotICAgIDI0LCAyMTQsIDI0NSwgMjUsIDYsIDEsIDIxNSwgMTI5LCAyLCAyMDcsIDI0LCAyMjYsIDIzNCwgMjUsIDYsIDEsIDIxNSwgCi0gICAgMTI5LCAyLCAyMDcsIDI0LCAyMjYsIDUwLCAyNSwgMywgMSwgMjI3LCA2OCwgMiwgMjI1LCAzOSwgMjUsIDMsIDEsIDIyNywgCi0gICAgNjgsIDIsIDI0OCwgOTksIDI1LCAzLCAxLCAyMjcsIDY4LCAyLCAyMjUsIDQwLCAyNCwgMjE0LCAyNDUsIDI1LCAzLCAxLCAKLSAgICAyMjcsIDY4LCAyLCAyMDcsIDI0LCAyMTQsIDI0NSwgMjUsIDMsIDEsIDIyNywgNjgsIDIsIDIyNSwgNDAsIDI0LCAyMjYsIAotICAgIDIzNCwgMjUsIDMsIDEsIDIyNywgNjgsIDIsIDIwNywgMjQsIDIyNiwgMjM0LCAyNSwgMywgMSwgMjI3LCA2OCwgMiwgMjI1LCAKLSAgICA0MCwgMjQsIDIyNiwgNTAsIDI1LCAzLCAxLCAyMjcsIDY4LCAyLCAyMDcsIDI0LCAyMjYsIDUwLCAyNSwgNiwgMSwgMjI3LCAKLSAgICA2OCwgMiwgMjI1LCAzOSwgMjUsIDYsIDEsIDIyNywgNjgsIDIsIDI0OCwgOTksIDI1LCA2LCAxLCAyMjcsIDY4LCAyLCAyMjUsIAotICAgIDQwLCAyNCwgMjE0LCAyNDUsIDI1LCA2LCAxLCAyMjcsIDY4LCAyLCAyMDcsIDI0LCAyMTQsIDI0NSwgMjUsIDYsIDEsIDIyNywgCi0gICAgNjgsIDIsIDIyNSwgNDAsIDI0LCAyMjYsIDIzNCwgMjUsIDYsIDEsIDIyNywgNjgsIDIsIDIwNywgMjQsIDIyNiwgMjM0LCAKLSAgICAyNSwgNiwgMSwgMjI3LCA2OCwgMiwgMjI1LCA0MCwgMjQsIDIyNiwgNTAsIDI1LCA2LCAxLCAyMjcsIDY4LCAyLCAyMDcsIAotICAgIDI0LCAyMjYsIDUwLCAyNSwgMywgMSwgMjU0LCA1MywgMiwgMjE0LCAyNDUsIDI1LCAzLCAxLCAyNTQsIDUzLCAyLCAyMjYsIAotICAgIDIzNCwgMjUsIDMsIDEsIDI0NSwgNjQsIDIsIDIxNCwgMjQ1LCAyNSwgMywgMSwgMjQ1LCA2NCwgMiwgMjI2LCAyMzQsIDI1LCAKLSAgICAzLCAxLCAyNDUsIDI5LCAyLCAyMTQsIDI0NSwgMjUsIDMsIDEsIDI0NSwgMjksIDIsIDIyNiwgMjM0LCAyNSwgMywgMSwgCi0gICAgMjM1LCAxODQsIDIsIDIxNCwgMjQ1LCAyNSwgMywgMSwgMjM1LCAxODQsIDIsIDIyNiwgMjM0LCAyNSwgMywgMSwgMjI3LCAKLSAgICA2NiwgMiwgMjE0LCAyNDUsIDI1LCAzLCAxLCAyMjcsIDY2LCAyLCAyMjYsIDIzNCwgMjUsIDMsIDEsIDIxNSwgMTI5LCAyLCAKLSAgICAyMTQsIDI0NSwgMjUsIDMsIDEsIDIxNSwgMTI5LCAyLCAyMjYsIDIzNCwgMjUsIDMsIDEsIDIyNywgNjgsIDIsIDIxNCwgCi0gICAgMjQ1LCAyNSwgMywgMSwgMjI3LCA2OCwgMiwgMjI2LCAyMzQsIDI1LCAzLCAxLCAyNTQsIDUzLCAyLCAyMjUsIDQwLCAyNCwgCi0gICAgMjEyLCAyMTAsIDI1LCAzLCAxLCAyNTQsIDUzLCAyLCAyMDcsIDI0LCAyMTIsIDIxMCwgMjUsIDMsIDEsIDI1NCwgNTMsIDIsIAotICAgIDIyNSwgNDAsIDI0LCAyMTQsIDI0NiwgMjQsIDIxMiwgMjEwLCAyNSwgMywgMSwgMjU0LCA1MywgMiwgMjA3LCAyNCwgMjE0LCAKLSAgICAyNDYsIDI0LCAyMTIsIDIxMCwgMjUsIDMsIDEsIDI1NCwgNTMsIDIsIDIyNSwgNDAsIDI0LCAyMjYsIDIzNSwgMjQsIDIxMiwgCi0gICAgMjEwLCAyNSwgMywgMSwgMjU0LCA1MywgMiwgMjA3LCAyNCwgMjI2LCAyMzUsIDI0LCAyMTIsIDIxMCwgMjUsIDMsIDEsIAotICAgIDI1NCwgNTMsIDIsIDIyNSwgNDAsIDI0LCAyMjYsIDUxLCAyNCwgMjEyLCAyMTAsIDI1LCAzLCAxLCAyNTQsIDUzLCAyLCAKLSAgICAyMDcsIDI0LCAyMjYsIDUxLCAyNCwgMjEyLCAyMTAsIDI1LCA2LCAxLCAyNTQsIDUzLCAyLCAyMjUsIDQwLCAyNCwgMjI1LCAKLSAgICA1MSwgMjUsIDYsIDEsIDI1NCwgNTMsIDIsIDIwNywgMjQsIDIyNSwgNTEsIDI1LCA2LCAxLCAyNTQsIDUzLCAyLCAyMjUsIAotICAgIDQwLCAyNCwgMjE0LCAyNDYsIDI0LCAyMjUsIDUxLCAyNSwgNiwgMSwgMjU0LCA1MywgMiwgMjA3LCAyNCwgMjE0LCAyNDYsIAotICAgIDI0LCAyMjUsIDUxLCAyNSwgNiwgMSwgMjU0LCA1MywgMiwgMjI1LCA0MCwgMjQsIDIyNiwgMjM1LCAyNCwgMjI1LCA1MSwgCi0gICAgMjUsIDYsIDEsIDI1NCwgNTMsIDIsIDIwNywgMjQsIDIyNiwgMjM1LCAyNCwgMjI1LCA1MSwgMjUsIDYsIDEsIDI1NCwgNTMsIAotICAgIDIsIDIyNSwgNDAsIDI0LCAyMjYsIDUxLCAyNCwgMjI1LCA1MSwgMjUsIDYsIDEsIDI1NCwgNTMsIDIsIDIwNywgMjQsIDIyNiwgCi0gICAgNTEsIDI0LCAyMjUsIDUxLCAyNSwgMywgMSwgMjQ1LCAyOSwgMiwgMjI1LCA0MCwgMjQsIDIxMiwgMjEwLCAyNSwgMywgMSwgCi0gICAgMjQ1LCAyOSwgMiwgMjA3LCAyNCwgMjEyLCAyMTAsIDI1LCAzLCAxLCAyNDUsIDI5LCAyLCAyMjUsIDQwLCAyNCwgMjE0LCAKLSAgICAyNDYsIDI0LCAyMTIsIDIxMCwgMjUsIDMsIDEsIDI0NSwgMjksIDIsIDIwNywgMjQsIDIxNCwgMjQ2LCAyNCwgMjEyLCAyMTAsIAotICAgIDI1LCAzLCAxLCAyNDUsIDI5LCAyLCAyMjUsIDQwLCAyNCwgMjI2LCAyMzUsIDI0LCAyMTIsIDIxMCwgMjUsIDMsIDEsIDI0NSwgCi0gICAgMjksIDIsIDIwNywgMjQsIDIyNiwgMjM1LCAyNCwgMjEyLCAyMTAsIDI1LCAzLCAxLCAyNDUsIDI5LCAyLCAyMjUsIDQwLCAKLSAgICAyNCwgMjI2LCA1MSwgMjQsIDIxMiwgMjEwLCAyNSwgMywgMSwgMjQ1LCAyOSwgMiwgMjA3LCAyNCwgMjI2LCA1MSwgMjQsIAotICAgIDIxMiwgMjEwLCAyNSwgNiwgMSwgMjQ1LCAyOSwgMiwgMjI1LCA0MCwgMjQsIDIyNSwgNTEsIDI1LCA2LCAxLCAyNDUsIDI5LCAKLSAgICAyLCAyMDcsIDI0LCAyMjUsIDUxLCAyNSwgNiwgMSwgMjQ1LCAyOSwgMiwgMjI1LCA0MCwgMjQsIDIxNCwgMjQ2LCAyNCwgCi0gICAgMjI1LCA1MSwgMjUsIDYsIDEsIDI0NSwgMjksIDIsIDIwNywgMjQsIDIxNCwgMjQ2LCAyNCwgMjI1LCA1MSwgMjUsIDYsIDEsIAotICAgIDI0NSwgMjksIDIsIDIyNSwgNDAsIDI0LCAyMjYsIDIzNSwgMjQsIDIyNSwgNTEsIDI1LCA2LCAxLCAyNDUsIDI5LCAyLCAKLSAgICAyMDcsIDI0LCAyMjYsIDIzNSwgMjQsIDIyNSwgNTEsIDI1LCA2LCAxLCAyNDUsIDI5LCAyLCAyMjUsIDQwLCAyNCwgMjI2LCAKLSAgICA1MSwgMjQsIDIyNSwgNTEsIDI1LCA2LCAxLCAyNDUsIDI5LCAyLCAyMDcsIDI0LCAyMjYsIDUxLCAyNCwgMjI1LCA1MSwgMjUsIAotICAgIDMsIDEsIDIyNywgNjgsIDIsIDIyNSwgNDAsIDI0LCAyMTIsIDIxMCwgMjUsIDMsIDEsIDIyNywgNjgsIDIsIDIwNywgMjQsIAotICAgIDIxMiwgMjEwLCAyNSwgMywgMSwgMjI3LCA2OCwgMiwgMjI1LCA0MCwgMjQsIDIxNCwgMjQ2LCAyNCwgMjEyLCAyMTAsIDI1LCAKLSAgICAzLCAxLCAyMjcsIDY4LCAyLCAyMDcsIDI0LCAyMTQsIDI0NiwgMjQsIDIxMiwgMjEwLCAyNSwgMywgMSwgMjI3LCA2OCwgMiwgCi0gICAgMjI1LCA0MCwgMjQsIDIyNiwgMjM1LCAyNCwgMjEyLCAyMTAsIDI1LCAzLCAxLCAyMjcsIDY4LCAyLCAyMDcsIDI0LCAyMjYsIAotICAgIDIzNSwgMjQsIDIxMiwgMjEwLCAyNSwgMywgMSwgMjI3LCA2OCwgMiwgMjI1LCA0MCwgMjQsIDIyNiwgNTEsIDI0LCAyMTIsIAotICAgIDIxMCwgMjUsIDMsIDEsIDIyNywgNjgsIDIsIDIwNywgMjQsIDIyNiwgNTEsIDI0LCAyMTIsIDIxMCwgMjUsIDYsIDEsIDIyNywgCi0gICAgNjgsIDIsIDIyNSwgNDAsIDI0LCAyMjUsIDUxLCAyNSwgNiwgMSwgMjI3LCA2OCwgMiwgMjA3LCAyNCwgMjI1LCA1MSwgMjUsIAotICAgIDYsIDEsIDIyNywgNjgsIDIsIDIyNSwgNDAsIDI0LCAyMTQsIDI0NiwgMjQsIDIyNSwgNTEsIDI1LCA2LCAxLCAyMjcsIDY4LCAKLSAgICAyLCAyMDcsIDI0LCAyMTQsIDI0NiwgMjQsIDIyNSwgNTEsIDI1LCA2LCAxLCAyMjcsIDY4LCAyLCAyMjUsIDQwLCAyNCwgCi0gICAgMjI2LCAyMzUsIDI0LCAyMjUsIDUxLCAyNSwgNiwgMSwgMjI3LCA2OCwgMiwgMjA3LCAyNCwgMjI2LCAyMzUsIDI0LCAyMjUsIAotICAgIDUxLCAyNSwgNiwgMSwgMjI3LCA2OCwgMiwgMjI1LCA0MCwgMjQsIDIyNiwgNTEsIDI0LCAyMjUsIDUxLCAyNSwgNiwgMSwgCi0gICAgMjI3LCA2OCwgMiwgMjA3LCAyNCwgMjI2LCA1MSwgMjQsIDIyNSwgNTEsIDI1LCAzLCAxLCAyNTQsIDUzLCAyLCAyMTQsIAotICAgIDEwMSwgMjUsIDMsIDEsIDI1NCwgNTMsIDIsIDIzMiwgMzcsIDI1LCAzLCAxLCAyNTQsIDUzLCAyLCAyMTQsIDI0NiwgMjQsIAotICAgIDIxMiwgMjEwLCAyNSwgMywgMSwgMjU0LCA1MywgMiwgMjEyLCAyMTAsIDI1LCAzLCAxLCAyNTQsIDUzLCAyLCAyMjYsIDIzNSwgCi0gICAgMjQsIDIxMiwgMjEwLCAyNSwgMywgMSwgMjU0LCA1MywgMiwgMjI2LCA1MCwgMjUsIDMsIDEsIDI1NCwgNTMsIDIsIDIyNiwgCi0gICAgNTEsIDI0LCAyMTIsIDIxMCwgMjUsIDYsIDEsIDI1NCwgNTMsIDIsIDIxNCwgMTAxLCAyNSwgNiwgMSwgMjU0LCA1MywgMiwgCi0gICAgMjMyLCAzNywgMjUsIDYsIDEsIDI1NCwgNTMsIDIsIDIxNCwgMjQ1LCAyNSwgNiwgMSwgMjU0LCA1MywgMiwgMjI2LCAyMzQsIAotICAgIDI1LCA2LCAxLCAyNTQsIDUzLCAyLCAyMjUsIDUxLCAyNSwgMjM0LCAxMSwgMjUsIDIyNSwgNTEsIDI1LCAyMjUsIDM5LCAyNSwgCi0gICAgMjI2LCA1MCwgMjUsIDI0NywgMjA0LCAyNCwgMjI2LCA1MCwgMjUsIDMsIDEsIDI0NSwgMjksIDIsIDIxNCwgMjQ2LCAyNCwgCi0gICAgMjEyLCAyMTAsIDI1LCAzLCAxLCAyNDUsIDI5LCAyLCAyMTIsIDIxMCwgMjUsIDMsIDEsIDI0NSwgMjksIDIsIDIyNiwgMjM1LCAKLSAgICAyNCwgMjEyLCAyMTAsIDI1LCAzLCAxLCAyNDUsIDI5LCAyLCAyMjYsIDUwLCAyNSwgMywgMSwgMjQ1LCAyOSwgMiwgMjI2LCAKLSAgICA1MSwgMjQsIDIxMiwgMjEwLCAyNSwgNiwgMSwgMjQ1LCA2NCwgMiwgMjE0LCAyNDUsIDI1LCA2LCAxLCAyNDUsIDY0LCAyLCAKLSAgICAyMjYsIDIzNCwgMjUsIDYsIDEsIDI0NSwgMjksIDIsIDIxNCwgMjQ1LCAyNSwgNiwgMSwgMjQ1LCAyOSwgMiwgMjI2LCAyMzQsIAotICAgIDI1LCA2LCAxLCAyNDUsIDI5LCAyLCAyMjUsIDUxLCAyNSwgMjI1LCA0MCwgMjQsIDIxNCwgMjQ1LCAyNSwgMjI1LCA0MCwgCi0gICAgMjQsIDIyNiwgMjM0LCAyNSwgMjI1LCA0MCwgMjQsIDIyNiwgNTAsIDI1LCAzLCAxLCAyMzUsIDE4NCwgMiwgMjE0LCAxMDEsIAotICAgIDI1LCAzLCAxLCAyMzUsIDE4NCwgMiwgMjMyLCAzNywgMjUsIDMsIDEsIDIzNSwgMTg0LCAyLCAyNDcsIDIwNCwgMjQsIDIxNCwgCi0gICAgMjQ1LCAyNSwgMywgMSwgMjM1LCAxODQsIDIsIDI0NywgMjA0LCAyNCwgMjI2LCAyMzQsIDI1LCAzLCAxLCAyMzUsIDE4NCwgCi0gICAgMiwgMjI2LCA1MCwgMjUsIDMsIDEsIDIzNSwgMTg0LCAyLCAyNDcsIDIwNCwgMjQsIDIyNiwgNTAsIDI1LCA2LCAxLCAyMzUsIAotICAgIDE4NCwgMiwgMjE0LCAxMDEsIDI1LCA2LCAxLCAyMzUsIDE4NCwgMiwgMjMyLCAzNywgMjUsIDYsIDEsIDIzNSwgMTg0LCAyLCAKLSAgICAyMTQsIDI0NSwgMjUsIDYsIDEsIDIzNSwgMTg0LCAyLCAyMjYsIDIzNCwgMjUsIDIwNywgMjQsIDIxNCwgMjQ1LCAyNSwgCi0gICAgMjA3LCAyNCwgMjI2LCAyMzQsIDI1LCAyMDcsIDI0LCAyMjYsIDUwLCAyNSwgMywgMSwgMjE1LCAxMjksIDIsIDIxNCwgMTAxLCAKLSAgICAyNSwgMywgMSwgMjE1LCAxMjksIDIsIDIzMiwgMzcsIDI1LCAzLCAxLCAyMTUsIDEyOSwgMiwgMjQ3LCAyMDQsIDI0LCAyMTQsIAotICAgIDI0NSwgMjUsIDMsIDEsIDIxNSwgMTI5LCAyLCAyNDcsIDIwNCwgMjQsIDIyNiwgMjM0LCAyNSwgMywgMSwgMjIzLCAxOTEsIAotICAgIDIsIDIyNSwgMzksIDI1LCAzLCAxLCAyMjMsIDE5MSwgMiwgMjQ4LCA5OSwgMjUsIDMsIDEsIDIxNSwgMTI5LCAyLCAyMjYsIAotICAgIDUwLCAyNSwgMywgMSwgMjE1LCAxMjksIDIsIDI0NywgMjA0LCAyNCwgMjI2LCA1MCwgMjUsIDYsIDEsIDIxNSwgMTI5LCAyLCAKLSAgICAyMTQsIDEwMSwgMjUsIDYsIDEsIDIxNSwgMTI5LCAyLCAyMzIsIDM3LCAyNSwgNiwgMSwgMjE1LCAxMjksIDIsIDIxNCwgCi0gICAgMjQ1LCAyNSwgNiwgMSwgMjE1LCAxMjksIDIsIDIyNiwgMjM0LCAyNSwgNiwgMSwgMjIzLCAxOTEsIDIsIDI0OCwgOTksIDI1LCAKLSAgICAyNDcsIDIwNCwgMjQsIDIxNCwgMjQ1LCAyNSwgMjQ3LCAyMDQsIDI0LCAyMjYsIDIzNCwgMjUsIDIxNCwgMjQ1LCAyNSwgMywgCi0gICAgMSwgMjI3LCA2OCwgMiwgMjE0LCAyNDYsIDI0LCAyMTIsIDIxMCwgMjUsIDMsIDEsIDIyNywgNjgsIDIsIDIxMiwgMjEwLCAKLSAgICAyNSwgMywgMSwgMjI3LCA2OCwgMiwgMjI2LCAyMzUsIDI0LCAyMTIsIDIxMCwgMjUsIDMsIDEsIDIyNywgNjgsIDIsIDIyNiwgCi0gICAgNTAsIDI1LCAzLCAxLCAyMjcsIDY4LCAyLCAyMjYsIDUxLCAyNCwgMjEyLCAyMTAsIDI1LCA2LCAxLCAyMjcsIDY2LCAyLCAKLSAgICAyMTQsIDI0NSwgMjUsIDYsIDEsIDIyNywgNjYsIDIsIDIyNiwgMjM0LCAyNSwgNiwgMSwgMjI3LCA2OCwgMiwgMjE0LCAyNDUsIAotICAgIDI1LCA2LCAxLCAyMjcsIDY4LCAyLCAyMjYsIDIzNCwgMjUsIDYsIDEsIDIyNywgNjgsIDIsIDIyNSwgNTEsIDI1LCAyMjYsIAotICAgIDIzNCwgMjUsIDI0OCwgOTksIDI0NSwgMTA5LCAyMjQsIDE3MiwgMjQ1LCAxMTgsIDIyNCwgMTcyLCAyNDUsIDEwOSwgMjE5LCAKLSAgICAyMDYsIDI0NSwgMTE4LCAyMTksIDIwNiwgMjE3LCA5NSwgMjE5LCAyMDYsIDI0MywgMjM1LCAyMTksIDIwNiwgMjIwLCA1MSwgCi0gICAgMjE5LCAyMDYsIDI0NCwgODEsIDIxOSwgMjA2LCAyMjUsIDI3LCAyMTksIDIwNiwgMjE3LCAxMjMsIDIxOSwgMjA2LCAyNDIsIAotICAgIDE3LCAyMTksIDIwNiwgMjEyLCA4MCwgMjEzLCAyMzAsIDIxOSwgMjA2LCAyMTIsIDgwLCAyMTMsIDIzMCwgMjI4LCAxNzgsIAotICAgIDIxMiwgODAsIDIxMywgMjMwLCAyMzUsIDY2LCAyMzMsIDYyLCA3NywgMjIzLCAxNDAsIDc3LCAyNDAsIDE2MCwgMjI4LCAKLSAgICAxNzksIDI0MCwgMTYwLCAyNDQsIDgxLCAyNDgsIDEwMSwgMjQ1LCAxMDksIDI0OCwgMTAxLCAyNDUsIDExOCwgMjQ4LCAxMDEsIAotICAgIDE5OSwgMTM0LCA1MSwgNzEsIDIzMiwgMjQyLCA1MSwgMTE1LCAyMzIsIDI0MiwgNDIsIDIyMCwgODEsIDIyNCwgMTQzLCA3NywgCi0gICAgNDYsIDIyMCwgODEsIDIyNCwgMTQzLCA3NywgMjIwLCA4MSwgMjMyLCAxNjQsIDIyNCwgMTQzLCA3NywgMjIwLCA4MSwgMjQxLCAKLSAgICAxNDksIDIyNCwgMTQzLCA3NywgNDIsIDUxLCAyMjQsIDE0MywgNzcsIDQ2LCA1MSwgMjI0LCAxNDMsIDc3LCA1MSwgMjMyLCAKLSAgICAxNjQsIDIyNCwgMTQzLCA3NywgNTEsIDI0MSwgMTQ5LCAyMjQsIDE0MywgNzcsIDI0OCwgMTQ5LCA1MSwgMjQ4LCAxNDksIAotICAgIDI1MSwgNDIsIDIxNiwgMTgwLCAyNTEsIDQyLCAxMjIsIDYyLCAyMzMsIDgwLCAxMTcsIDYyLCAyMzMsIDgwLCAxOTksIDI0NSwgCi0gICAgMTIwLCAyNDAsIDE1OCwgMjI1LCAxNDQsIDIzMiwgMjQzLCAyMjEsIDU3LCAyMjYsIDE0MywgMjIxLCA1NywgMjMzLCA2MiwgCi0gICAgMjQ1LCAxMTYsIDIyMywgMTQwLCAyNDUsIDExNiwgMjI1LCAxMjYsIDI0NywgMTQ4LCAyNDMsIDI0NCwgMjMzLCA2MiwgMjI2LCAKLSAgICAyNDEsIDIyMywgMTQwLCAyMjYsIDI0MSwgMjMwLCAxNCwgMjI4LCAxODQsIDIxOSwgMjA2LCAyMjYsIDU4LCAyMzEsIDYsIAotICAgIDUyLCAyMjYsIDU4LCAyMTcsIDIwMSwgMjE3LCAxMDEsIDUyLCAyMjUsIDcxLCA1MSwgMjI1LCA3MSwgMjE2LCAxNjksIDIyNSwgCi0gICAgNzEsIDIyMywgMjAyLCAyMjUsIDcxLCAyMjMsIDIwMiwgNTEsIDIyNSwgNzEsIDIyMywgMjAyLCAyMTYsIDE2OSwgMjI1LCAKLSAgICA3MSwgMjUwLCAxNzAsIDIyMCwgODEsIDIzMywgNjYsIDI1NCwgMTksIDIyNCwgMTQzLCA3NywgMjIwLCA4MSwgMjIzLCAxNDQsIAotICAgIDI1NCwgMTksIDIyNCwgMTQzLCA3NywgMjI0LCAwLCA3NywgNTEsIDI0NCwgMjU0LCA3NywgMjM1LCAxOTgsIDIyNiwgMjQzLCAKLSAgICAyMTUsIDE1MCwgMTM3LCAyMTcsIDY1LCAyNTAsIDE3MSwgMjM1LCAyMTMsIDIyNSwgMTQ0LCAyNTMsIDEzMCwgMjQwLCAxNjEsIAotICAgIDI1MSwgNDIsIDI0MywgMjI4LCAyMjAsIDIzLCA0MiwgNDEsIDI1MSwgODUsIDIsIDIyNCwgMTUyLCA0NiwgNDEsIDI1MSwgCi0gICAgODUsIDIsIDIyNCwgMTUyLCA1MSwgMjI0LCAxNTgsIDc3LCAyMjQsIDE1OCwgMjQ0LCAyNTQsIDc3LCAyNDQsIDI1NCwgMjI0LCAKLSAgICAxNTgsIDc3LCAyMTcsIDIzLCA1LCAyNDUsIDMwLCAyMjMsIDIwMiwgMjI1LCAyMDAsIDUyLCA4MywgMTMyLCAyNTEsIDQyLCAKLSAgICA4MywgOTUsIDI1MSwgNDIsIDExNSwgMjUzLCAxMzIsIDIyMywgMjAyLCAyMjEsIDcwLCAyNDksIDE5NCwgMjE1LCAxMzQsIAotICAgIDExNywgMjUzLCAxMzEsIDI1NCwgNjcsIDIxNCwgMTY1LCAyNDksIDE1NiwgMjMwLCAyNTEsIDUyLCAyMTgsIDE3OSwgMjQ4LCAKLSAgICAxMDEsIDIzNSwgMTkxLCAyMTUsIDE1MCwgMjQ0LCAyMSwgMjI1LCAyNywgNzcsIDEzMywgNjIsIDIyNSwgMjYsIDIyNCwgCi0gICAgMTY5LCAyMjUsIDcxLCAyNDMsIDIzNywgNjIsIDIyNSwgMjYsIDI0NCwgNTAsIDYyLCAyMjUsIDI2LCAxMTcsIDYyLCAyMjUsIAotICAgIDI2LCAyNDMsIDIzNywgNjIsIDc3LCAyNDYsIDcyLCAyNDksIDcwLCAyMTYsIDE3OSwgNzEsIDI0MywgMjM3LCAyNDcsIDcyLCAKLSAgICAyMzEsIDE0NywgMTQsIDIxOSwgMjA2LCAyMTMsIDE5NiwgMjM1LCA2NiwgMjQzLCAxOTgsIDI1MywgMjIyLCAyMzUsIDE4OSwgCi0gICAgMjE3LCAzOCwgMjM1LCAxODksIDIyMSwgNTcsIDIzNSwgMTg5LCAyMjUsIDE1NiwgMjM1LCAyMjUsIDIxOCwgMTI3LCAyMTgsIAotICAgIDE5NiwgMjU0LCAxNjYsIDIxOCwgMTI3LCAyMTgsIDE5NiwgMjM1LCAyMjUsIDEyLCAyNDMsIDI0NSwgMjIxLCAzLCAyNTQsIAotICAgIDE2NiwgMTIsIDI0MywgMjQ1LCAyMjEsIDMsIDIzMCwgMTAsIDIxLCAyMjEsIDQsIDIyOCwgMTgwLCAyMSwgMjIxLCA0LCAKLSAgICAyMTgsIDIyMywgMjEyLCA3OSwgMjE4LCAyMjMsIDcsIDMsIDEsIDcyLCAyMTgsIDIyMywgMTYzLCAyMTgsIDIyMywgMTgwLCAKLSAgICAyMTgsIDIyMywgMTg5LCAyMTgsIDIyMywgMTk4LCAyMTgsIDIyMywgMTk1LCAyMTgsIDIyMywgMjAwLCAyMTgsIDIyMywgOTQsIAotICAgIDUyLCAyMTgsIDIyMywgMjMwLCAyNTAsIDIxOCwgMjIzLCAyNDUsIDYxLCA1MiwgMjE4LCAyMjMsIDQyLCAyMjYsIDEzMSwgCi0gICAgMjE4LCAyMjMsIDQ2LCAyMjYsIDEzMSwgMjE4LCAyMjMsIDcsIDMsIDEsIDIwNCwgMjE5LCAxMCwgMjEyLCA3OSwgMjE5LCAKLSAgICAxMCwgMTE2LCAyMTksIDEwLCAxMDksIDIxOSwgMTAsIDE2NiwgMjE5LCAxMCwgMTYzLCAyMTksIDEwLCAxODAsIDIxOSwgMTAsIAotICAgIDE4OSwgMjE5LCAxMCwgMTk4LCAyMTksIDEwLCAxOTUsIDIxOSwgMTAsIDIwMCwgMjE5LCAxMCwgOTQsIDUyLCAyMTksIDEwLCAKLSAgICAyMzAsIDI1MCwgMjE5LCAxMCwgMjQ1LCA2MSwgNTIsIDIxOSwgMTAsIDQyLCAyMjYsIDEzMSwgMjE5LCAxMCwgNDYsIDIyNiwgCi0gICAgMTMxLCA3LCAyMTksIDEwLCAzLCAxLCA2MSwgNywgMjE5LCAxMCwgMywgMSwgNzQsIDcsIDIxOSwgMTAsIDMsIDEsIDc1LCA3LCAKLSAgICAyMTksIDEwLCAzLCAxLCAyMTMsIDE2NiwgNywgMjE5LCAxMCwgMywgMSwgMjIyLCAxMTMsIDcsIDIxOSwgMTAsIDMsIDEsIAotICAgIDI0MiwgNDEsIDcsIDIxOSwgMTAsIDMsIDEsIDIzNSwgMjcsIDcsIDIxOSwgMTAsIDMsIDEsIDE1MCwgNywgMjE5LCAxMCwgMywgCi0gICAgMSwgMTgzLCA3LCAyMTksIDEwLCAzLCAxLCAyMDQsIDcsIDIxOSwgMTAsIDMsIDEsIDIyNiwgMjI5LCA3LCAyMTksIDEwLCAzLCAKLSAgICAxLCAxOTcsIDcsIDIxOSwgMTAsIDMsIDEsIDIxOCwgOTksIDI0NSwgMTMsIDUyLCAyNDksIDE2NSwgNTIsIDI0OSwgNTcsIAotICAgIDUyLCAyNDMsIDIyMSwgMjQzLCAyMjQsIDUyLCAyMzIsIDIyNywgNTIsIDIzMSwgNywgNTIsIDIzMCwgMjksIDUyLCAyMjYsIAotICAgIDM4LCA1MiwgMjIzLCAyOSwgNTIsIDIxMywgMjA0LCA1MiwgMTU2LCAyMjAsIDIyOSwgNTIsIDI0NywgODEsIDUyLCAyNDUsIAotICAgIDE0LCA1MiwgMjM0LCA4NSwgNTIsIDIxNiwgNzYsIDUyLCAyNDYsIDU1LCA1MiwgMjQzLCAxNiwgMjI2LCA2OCwgNTIsIDIyNiwgCi0gICAgMzYsIDUyLCAyNDIsIDg4LCA1MiwgMjUzLCA5OCwgNTIsIDI0MCwgMjE1LCA1MiwgMjUwLCAxMTksIDUyLCAyMzIsIDIyMCwgCi0gICAgMjE2LCAyMTYsIDUyLCAyMTksIDE4OCwgNTIsIDIxNywgMTk4LCA1MiwgMjM1LCAyMzgsIDIyMywgMjksIDUyLCAzNywgNDIsIAotICAgIDI0MSwgMjM4LCA0OSwgMzcsIDQ2LCAyNDEsIDIzOCwgNDksIDM3LCAxODQsIDcxLCAyMzIsIDI0MywgMjI2LCAyNDQsIDM3LCAKLSAgICAyMjAsIDE3NSwgNzEsIDIzMiwgMjQzLCAyMjYsIDI0NCwgMzcsIDI1MywgMjU1LCA3NiwgNDksIDM3LCAyNDksIDE5NSwgNzYsIAotICAgIDQ5LCAzNywgNDIsIDc2LCA0OSwgMzcsIDQ2LCA3NiwgNDksIDM3LCAyMjMsIDEzMSwgMjI2LCAyNDQsIDM3LCAyNDksIDE5NSwgCi0gICAgMjIzLCAxMzEsIDIyNiwgMjQ0LCAzNywgMjUzLCAyNTUsIDIyMywgMTMxLCAyMjYsIDI0NCwgMzcsIDEzMywgMTc2LCA0OSwgCi0gICAgMzcsIDI0MywgMjM3LCAxNzYsIDQ5LCAzNywgMjQ1LCAxMDQsIDI0OSwgMjI4LCAzNywgMjQ1LCAxMDQsIDIxOSwgMTY2LCAKLSAgICAzNywgMjQ1LCAxMDQsIDI0NywgMjAwLCAzNywgMjQ1LCAxMDQsIDI0OSwgMjI5LCAyNTIsIDk3LCAzNywgNDIsIDQ2LCA3NiwgCi0gICAgNDksIDM3LCAyNDUsIDEwNCwgMjIyLCAxMDcsIDM3LCAyNDUsIDEwNCwgMjM0LCAxNDEsIDM3LCAyNDUsIDEwNCwgMjE1LCAKLSAgICAxMjYsIDIyNSwgMTQxLCAyMTYsIDE4MywgMzcsIDIyMywgMjAzLCAyMTksIDIzMiwgMjI2LCAyNDQsIDM3LCA1MSwgNzEsIAotICAgIDIxOSwgNDUsIDIyNiwgMjQ0LCAzNywgMjU0LCA5LCA4NywgMzcsIDIxNiwgMTY5LCAyMTUsIDE1MiwgMzcsIDIxMywgMjMyLCAKLSAgICAyNTEsIDY4LCA0OSwgMzcsIDEzMiwgNzYsIDIyNiwgMjQ0LCAzNywgMTg0LCA1MSwgMjE5LCAyMzIsIDIyNiwgMjQ0LCAzNywgCi0gICAgOTUsIDI0MSwgMjM4LCAyLCAyMDYsIDI0NiwgNTcsIDM3LCAxMzIsIDI0MSwgMjM4LCAyLCAyMDYsIDI0NiwgNTcsIDM3LCAKLSAgICA0MiwgNzYsIDU1LCAzNywgNDYsIDc2LCA1NSwgMzcsIDI1MywgMTMzLCA0OSwgMjU0LCAxNzEsIDIyNywgOTcsIDI1NCwgCi0gICAgMTU2LCAyMTEsIDIxMSwgMjE3LCAxNDksIDIxOSwgMTksIDE4NywgNiwgMjUwLCAyNTIsIDI0OCwgMjIsIDI1MCwgMTEyLCAKLSAgICAyNTAsIDEwOSwgMjMyLCAyNDMsIDg3LCAyNTAsIDE3MiwgMjI3LCA5NywgMjUwLCAyMTIsIDIxNSwgMTU5LCAyNDUsIDE1LCAKLSAgICAyNDksIDEzMCwgMjIyLCAxMDQsIDI0OCwgMjIsIDI0NCwgMTQ3LCAxMTMsIDMsIDI0MywgMTc3LCAxMTMsIDYsIDI0MiwgNDEsIAotICAgIDI1MSwgMTQyLCA2LCAyNDIsIDQxLCAxODcsIDYsIDI0MiwgNDEsIDIyNSwgMTY5LCAyNDksIDEzMCwgMjI1LCAxNjksIDI0OSwgCi0gICAgMTMxLCAxMTAsIDExNywgMjI1LCAyNDAsIDExMywgNiwgNzIsIDI1MSwgMTQyLCA2LCA3MiwgMTEzLCA2LCAxNTAsIDExMywgCi0gICAgMywgMTUwLCAyMzMsIDE3MSwgNTQsIDI1MiwgNjAsIDg3LCAxODcsIDYsIDIwNCwgMjI4LCA1MiwgNTIsIDIxOSwgMjE4LCAKLSAgICAyMjQsIDEyLCAyNDksIDEwMSwgMTEzLCA2LCAyMjYsIDIyOSwgMTg3LCA2LCAyMjYsIDIyOSwgMTg3LCA2LCAyMjQsIDI0MCwgCi0gICAgMTEzLCA2LCAxNDksIDI1MSwgMTQyLCA2LCAxNDksIDE4NywgNiwgMTQ5LCAyMjUsIDc2LCAyMTgsIDIxLCAyMjMsIDIxNCwgCi0gICAgMjIxLCA1MywgNzcsIDIxNywgMjEwLCA1MiwgMjE2LCAyMTAsIDE1MiwgNTIsIDIxNCwgMjE3LCAxODcsIDYsIDIxMiwgMTUyLCAKLSAgICAyMjcsIDEsIDUyLCAyMjcsIDg3LCA1MiwgMjM1LCAxOTEsIDIyNywgODcsIDUyLCAyNTEsIDE0MiwgNiwgMjEyLCAxNTIsIAotICAgIDIxNiwgNTgsIDI1LCAzLCAxLCAyMzUsIDE4MywgMjM0LCAxNzksIDUyLCAyNTQsIDE2LCA1MiwgMTEzLCA2LCAyNTMsIDc0LCAKLSAgICAyNTEsIDE0MiwgNiwgMjUwLCAyNTIsIDI0NSwgMzMsIDg3LCAxMTMsIDMsIDc0LCAxMTMsIDYsIDc0LCAxMTMsIDYsIDI0NCwgCi0gICAgMjMwLCAyMTYsIDU4LCA2LCAyNDQsIDIzMCwgMTEzLCA2LCAxODMsIDExMywgMywgNzUsIDEwNiwgODcsIDI1MSwgMjA2LCAKLSAgICA4NywgMjQyLCAxNzgsIDg3LCAyNDgsIDEzNSwgODcsIDIzNSwgMjI5LCAyMTksIDIxNiwgMjIzLCA4OSwgNiwgMjI0LCAyNDAsIAotICAgIDI0NCwgMTUwLCA1MiwgMTg3LCAzLCAyMjUsIDI0MCwgMTg3LCAzLCAyNDMsIDgzLCAxODcsIDYsIDI0MywgODMsIDE4NywgNiwgCi0gICAgMjI1LCAyNDAsIDE4NywgMjMwLCA5NywgMjE4LCAyNDEsIDIxNiwgNTgsIDM1LCA2LCAyNDMsIDE3NywgMjE2LCA1OCwgMzUsIAotICAgIDYsIDE1MCwgMjIzLCAyMDIsIDM1LCA2LCAxNTAsIDIxNiwgNTgsIDM1LCA2LCAyMTMsIDEwNSwgMTg3LCAzMiwgNiwgMjQ5LCAKLSAgICAzLCAxODcsIDMyLCAzLCAyNDksIDMsIDE4NywgMzIsIDMsIDc0LCAxODcsIDMyLCAzLCA3MiwgMTg3LCAzMiwgMywgMjM1LCAKLSAgICAxNDIsIDIyNSwgNTQsIDIzMiwgMjQyLCAyMTYsIDU4LCAyNTQsIDM1LCAyMjYsIDU4LCA1MiwgMjU0LCA4OCwgMjE2LCA1OCwgCi0gICAgMywgMjQ0LCAyMzAsIDE2LCAzMSwgMjIyLCAxNjcsIDIxOSwgMjE2LCAyMTQsIDk3LCAyNDMsIDIyOCwgMTIyLCAyMjEsIDM5LCAKLSAgICAyMTQsIDk3LCAyNDMsIDIyOCwgMTIyLCAyMjksIDI1LCAyMTQsIDk3LCAyNDMsIDIyOCwgMTIyLCAyMTcsIDE5NCwgMjE0LCAKLSAgICA5NywgMjQzLCAyMjgsIDEyMiwgMjE3LCAxMjEsIDIxNCwgOTcsIDI0MywgMjI4LCAxMTcsIDIxNywgMTE5LCAyMTQsIDk3LCAKLSAgICAyNDMsIDIyOCwgMTIyLCAyNDQsIDg2LCAyMTQsIDk3LCAyNDMsIDIyOCwgMTE3LCAyNDQsIDg1LCAyMTQsIDk3LCAyNDMsIAotICAgIDIyOCwgMTMzLCAyNDQsIDg1LCAyMTQsIDk3LCAyNDMsIDIyOCwgMjQzLCAyMzcsIDI0NCwgODUsIDIxNCwgOTcsIDI0MywgCi0gICAgMjI4LCAxMjIsIDIyMCwgNDMsIDIxNCwgOTcsIDI0MywgMjI4LCAyNDQsIDUwLCAyMjAsIDQxLCAyMTQsIDk3LCAyNDMsIAotICAgIDIyOCwgMTIyLCAyNDUsIDE0NSwgMjE0LCA5NywgMjQzLCAyMjgsIDEzMywgMjQ1LCAxNDMsIDIxNCwgOTcsIDI0MywgMjI4LCAKLSAgICAyNDQsIDUwLCAyNDUsIDE0MywgMjE0LCA5NywgMjQzLCAyMjgsIDIyMSwgNDMsIDI0NSwgMTQzLCAyNDMsIDIyOCwgMjI4LCAKLSAgICA1MywgMTE2LCAyMjMsIDEwMCwgMjI4LCA1NCwgMTE2LCAyMjMsIDEwMCwgMjI4LCA1NCwgMTA5LCAyMjMsIDEwMCwgMjI4LCAKLSAgICA1NCwgMTY2LCAyMjMsIDEwMCwgMjI4LCA1NCwgMTYzLCAyMjMsIDEwMCwgMjI4LCA1NCwgMTgwLCAyMjMsIDEwMCwgMjI4LCAKLSAgICA1NCwgMTg5LCAyMjMsIDEwMCwgMjI4LCA1NCwgMTk4LCAyMjMsIDEwMCwgMjI4LCA1NCwgMTk1LCAyMjMsIDEwMCwgMjI4LCAKLSAgICA1NCwgMjAwLCAyMjMsIDEwMCwgMjI4LCA1NCwgMjE3LCAyMDAsIDIyMywgMTAwLCAyMjgsIDU0LCAyNDUsIDEyNCwgMjIzLCAKLSAgICAxMDAsIDIyOCwgNTQsIDIxNiwgNDEsIDIyMywgMTAwLCAyMjgsIDU0LCAyNDQsIDgzLCAyMjMsIDEwMCwgMjI4LCA1NCwgCi0gICAgMTIyLCAyNDAsIDIwMCwgMjIzLCAxMDAsIDIyOCwgNTQsIDI0NCwgNTAsIDI0MCwgMjAwLCAyMjMsIDEwMCwgMjI4LCA1NCwgCi0gICAgMTIyLCAyMTcsIDEwMCwgMywgMjIzLCAxMDAsIDIyOCwgNTQsIDExNiwgMywgMjIzLCAxMDAsIDIyOCwgNTQsIDEwOSwgMywgCi0gICAgMjIzLCAxMDAsIDIyOCwgNTQsIDE2NiwgMywgMjIzLCAxMDAsIDIyOCwgNTQsIDE2MywgMywgMjIzLCAxMDAsIDIyOCwgNTQsIAotICAgIDE4MCwgMywgMjIzLCAxMDAsIDIyOCwgNTQsIDE4OSwgMywgMjIzLCAxMDAsIDIyOCwgNTQsIDE5OCwgMywgMjIzLCAxMDAsIAotICAgIDIyOCwgNTQsIDE5NSwgMywgMjIzLCAxMDAsIDIyOCwgNTQsIDIwMCwgMywgMjIzLCAxMDAsIDIyOCwgNTQsIDIxNywgMjAwLCAKLSAgICAzLCAyMjMsIDEwMCwgMjI4LCA1NCwgMjQ1LCAxMjQsIDMsIDIyMywgMTAwLCAyMjgsIDU0LCAyMTYsIDQxLCAzLCAyMjMsIAotICAgIDEwMCwgMjI4LCA1NCwgMjQ0LCA4MywgMywgMjIzLCAxMDAsIDIyOCwgNTQsIDEyMiwgMjQwLCAyMDAsIDMsIDIyMywgMTAwLCAKLSAgICAyMjgsIDU0LCAyNDQsIDUwLCAyNDAsIDIwMCwgMywgMjIzLCAxMDAsIDIyOCwgNTQsIDEyMiwgMjE3LCAxMDAsIDIyMywgCi0gICAgMTAwLCAyMjgsIDU0LCAxMjIsIDIxNywgMTAxLCAyNTAsIDI1MywgMjQ5LCAzLCAyMjMsIDEwMCwgMjI4LCA1NCwgMjQ0LCAKLSAgICA1MCwgMjE3LCAxMDAsIDIyMywgMTAwLCAyMjgsIDU0LCAyMTcsIDIwMSwgMjE3LCAxMDAsIDIyMywgMTAwLCAyMjgsIDU0LCAKLSAgICAyMjMsIDIwMiwgMTIyLCAyNDAsIDIwMCwgNywgMywgMSwgMjIzLCAyMDIsIDI1MCwgMjUyLCAyMjMsIDEwMCwgMjI4LCA1NCwgCi0gICAgMjIwLCA1MywgMjMzLCAxMDEsIDE3LCAyMjMsIDEwMCwgMjI4LCA1NCwgMjQ0LCA4NCwgMjQ1LCAxODIsIDE3LCAyMjMsIAotICAgIDEwMCwgMjI4LCA1NCwgMjQ0LCA4NCwgMjE3LCAxMDAsIDIyMywgMTAwLCAyMjgsIDU0LCAxMjIsIDI0MCwgMjAxLCAyMTcsIAotICAgIDEwMCwgMjE0LCA5NywgMjQzLCAyMjgsIDIxMiwgODAsIDIxNywgMTE5LCAxMzIsIDY4LCAyMTUsIDEyNCwgNjgsIDk1LCA2OCwgCi0gICAgMjQ2LCA1OCwgNjgsIDQyLCA0NiwgNjgsIDExNCwgMTE5LCA2OCwgMjI4LCAxNjcsIDIxMywgMjUwLCA2OCwgMjI4LCAxNjcsIAotICAgIDI0NSwgMTc2LCA2OCwgMjE5LCAyMTUsIDI0NSwgMTc2LCA2OCwgMjE5LCAyMTUsIDIxMywgMjUwLCA2OCwgMTMyLCA3NiwgMiwgCi0gICAgOTAsIDk1LCA3NiwgMiwgOTAsIDEzMiwgMjE0LCAyMCwgNjgsIDk1LCAyMTQsIDIwLCA2OCwgMTMyLCAxMTcsIDI0MSwgMjE4LCAKLSAgICA2OCwgMjE1LCAxMjQsIDExNywgMjQxLCAyMTgsIDY4LCA5NSwgMTE3LCAyNDEsIDIxOCwgNjgsIDI0NiwgNTgsIDExNywgCi0gICAgMjQxLCAyMTgsIDY4LCAxMzIsIDc2LCAyLCAyMTgsIDI3LCA5NSwgNzYsIDIsIDIxOCwgMjcsIDEzMiwgNzYsIDI0MywgMjEzLCAKLSAgICAxMzQsIDIxNSwgMTI0LCA3NiwgMjQzLCAyMTMsIDEzNCwgOTUsIDc2LCAyNDMsIDIxMywgMTM0LCAyNDYsIDU4LCA3NiwgCi0gICAgMjQzLCAyMTMsIDEzNCwgMTE0LCAxMTksIDc2LCAyLCAyNTIsIDQ3LCAxMzIsIDc2LCAyLCAxMDEsIDk1LCA3NiwgMiwgMTAxLCAKLSAgICAxMzIsIDc2LCAyLCAyMzIsIDE3NywgOTUsIDc2LCAyLCAyMzIsIDE3NywgNDIsIDQ2LCAyMTQsIDIwLCA2OCwgNDIsIDQ2LCAKLSAgICA3NiwgMiwgOTAsIDI0NiwgNTgsIDIxMiwgMjgsIDY4LCAyMTUsIDEyNCwgNzYsIDIsIDIxNywgMzAsIDIzMywgNjEsIDIxNSwgCi0gICAgMTI0LCA3NiwgMiwgMjE3LCAzMCwgMjIzLCAxMzgsIDI0NiwgNTgsIDc2LCAyLCAyMTcsIDMwLCAyMzMsIDYxLCAyNDYsIDU4LCAKLSAgICA3NiwgMiwgMjE3LCAzMCwgMjIzLCAxMzgsIDk1LCA3NiwgMiwgMjQ5LCAxMDAsIDI0NiwgNTcsIDI0NiwgNTgsIDc2LCAyLCAKLSAgICAyNDksIDEwMCwgMjMzLCA2MSwgMjUzLCAyNTUsIDIxNiwgMjI3LCAyMjEsIDczLCA2OCwgMjQ5LCAxOTUsIDIxNiwgMjI3LCAKLSAgICAyMjEsIDczLCA2OCwgMjI4LCAxNjcsIDIxMywgMjUwLCA3NiwgMjExLCAyMTEsIDE4NCwgMTM0LCAxMzIsIDc2LCAyMTEsIAotICAgIDIxMSwgMjUyLCA2MCwgMTEwLCA5NSwgNzYsIDIxMSwgMjExLCAxMzQsIDI1MywgMjU1LCAyMjcsIDQwLCAyNDksIDIyOSwgCi0gICAgNjgsIDI0OSwgMTk1LCAyMjcsIDQwLCAyNDksIDIyOSwgNjgsIDEzMiwgMjQxLCAyMzgsIDIsIDIwNiwgMjE1LCAxMjMsIAotICAgIDEzMiwgMjQxLCAyMzgsIDIsIDIwNiwgMjQ2LCA1NywgMjE1LCAxMjQsIDI0MSwgMjM4LCAyLCAyMDYsIDIyMywgMTM4LCAKLSAgICAyMTUsIDEyNCwgMjQxLCAyMzgsIDIsIDIwNiwgMjMzLCA2MSwgOTUsIDI0MSwgMjM4LCAyLCAyMDYsIDIxNSwgMTIzLCA5NSwgCi0gICAgMjQxLCAyMzgsIDIsIDIwNiwgMjQ2LCA1NywgMjQ2LCA1OCwgMjQxLCAyMzgsIDIsIDIwNiwgMjIzLCAxMzgsIDI0NiwgNTgsIAotICAgIDI0MSwgMjM4LCAyLCAyMDYsIDIzMywgNjEsIDk1LCA3NiwgMTEwLCAxMzIsIDY4LCAyMTUsIDEyNCwgNzYsIDEzMiwgNjUsIAotICAgIDI0NiwgNTgsIDY4LCAxMzIsIDc2LCAxMTAsIDk1LCA2OCwgMTMyLCAyMjYsIDE5NywgMjUzLCAxNjIsIDIxNSwgMTI0LCAKLSAgICAyMjYsIDE5NywgMjUzLCAxNjIsIDk1LCAyMjYsIDE5NywgMjUzLCAxNjIsIDI0NiwgNTgsIDIyNiwgMTk3LCAyNTMsIDE2MiwgCi0gICAgMTMyLCAyNDEsIDIzOCwgMTEwLCA5NSwgMjQxLCAyMzcsIDk1LCAyNDEsIDIzOCwgMTEwLCAxMzIsIDI0MSwgMjM3LCAxMzIsIAotICAgIDUxLCA3NiwgMiwgOTAsIDQyLCA0NiwgNTEsIDc2LCAyLCA5MCwgOTUsIDUxLCA3NiwgMiwgOTAsIDEzMiwgNTEsIDY4LCAKLSAgICAyMTUsIDEyNCwgNTEsIDY4LCA5NSwgNTEsIDY4LCAyNDYsIDU4LCA1MSwgNjgsIDQyLCA0NiwgNTEsIDY4LCAxMTQsIDExOSwgCi0gICAgNTEsIDY4LCAyMjgsIDE2NywgMjEzLCAyNTAsIDUxLCA2OCwgMjI4LCAxNjcsIDI0NSwgMTc2LCA1MSwgNjgsIDIxOSwgMjE1LCAKLSAgICAyNDUsIDE3NiwgNTEsIDY4LCAyMTksIDIxNSwgMjEzLCAyNTAsIDUxLCA2OCwgMTMyLCAyMTYsIDE2OSwgNjgsIDk1LCAyMTYsIAotICAgIDE2OSwgNjgsIDEzMiwgMjE5LCAxNjIsIDY4LCA5NSwgMjE5LCAxNjIsIDY4LCAyMTUsIDEyNCwgNzYsIDIsIDUxLCA5MCwgCi0gICAgMjQ2LCA1OCwgNzYsIDIsIDUxLCA5MCwgMTMyLCAyNDgsIDEwMCwgNjgsIDIxNSwgMTI0LCAyNDgsIDEwMCwgNjgsIDk1LCAKLSAgICAyNDgsIDEwMCwgNjgsIDI0NiwgNTgsIDI0OCwgMTAwLCA2OCwgMTMyLCA3NiwgMjExLCAyMTEsIDEzNCwgOTUsIDc2LCAyMTEsIAotICAgIDIxMSwgMTM0LCAxMzIsIDY3LCA2OCwgMjE1LCAxMjQsIDY3LCA2OCwgOTUsIDY3LCA2OCwgMjQ2LCA1OCwgNjcsIDY4LCAKLSAgICAyMTUsIDEyNCwgNjcsIDc2LCAyNDMsIDIxMywgMTM0LCAyMTUsIDEyNCwgNjcsIDc2LCAyMjcsIDYzLCAyMjYsIDg5LCAyMTUsIAotICAgIDEyNCwgNjcsIDc2LCAyMjcsIDYzLCAyMjYsIDkwLCAyLCAxOTksIDEzNCwgMjE1LCAxMjQsIDY3LCA3NiwgMjI3LCA2MywgCi0gICAgMjI2LCA5MCwgMiwgNzEsIDEzNCwgMjE1LCAxMjQsIDY3LCA1MSwgNjgsIDIxNSwgMTI0LCA2NywgNTEsIDc2LCAyMjcsIDYzLCAKLSAgICAyMjYsIDg5LCA5NSwgNjcsIDc2LCAyNDMsIDIxMywgMjE0LCA0MCwgMjI4LCAxNjcsIDIxMywgMjUwLCA3NiwgMjExLCAyMTEsIAotICAgIDI0OSwgOTksIDIxOSwgMjE1LCAyNDUsIDE3NiwgNzYsIDIxMSwgMjExLCAyNDksIDk5LCAxMTQsIDExOSwgNjcsIDY4LCA0NiwgCi0gICAgNzYsIDIsIDMsIDI0OSwgMjI4LCAyNDYsIDU4LCA3NiwgMTMyLCA2NSwgMjE1LCAxMjQsIDY4LCAxMzMsIDk1LCAyNTMsIAotICAgIDE2MiwgMTMyLCA3NiwgMiwgNzEsIDkwLCA5NSwgNzYsIDIsIDcxLCA5MCwgNDIsIDQ2LCA3NiwgMiwgNzEsIDkwLCAxMzIsIAotICAgIDc2LCAyLCA1MSwgNzEsIDkwLCA5NSwgNzYsIDIsIDUxLCA3MSwgOTAsIDQyLCA0NiwgNzYsIDIsIDUxLCA3MSwgOTAsIDEzMiwgCi0gICAgMjI3LCAzOCwgNjgsIDk1LCAyMjcsIDM4LCA2OCwgNDIsIDQ2LCAyMjcsIDM4LCA2OCwgMzEsIDI1NCwgNjMsIDI0OSwgMTUzLCAKLSAgICAyMjYsIDEyNSwgMjQ3LCAxODUsIDIxNywgMTQwLCAyNDQsIDI1MCwgMjE3LCAxNDAsIDI0NywgOTIsIDIyOCwgMTYzLCAyNDQsIAotICAgIDI1MSwgMjQ1LCAxMTAsIDIyMSwgNDgsIDIzNSwgMjQxLCAyMzAsIDM5LCAyNDUsIDEyNywgMjI3LCA5NywgMjI4LCAxNjMsIAotICAgIDI1NCwgMzMsIDI0NSwgMTI3LCAyMjcsIDk3LCAzLCAyNDUsIDEyNywgMjI3LCA5NywgMjQ5LCAxMjUsIDI1MywgMTUzLCAKLSAgICAyMzEsIDEyNiwgMjQ3LCA5MiwgMjI4LCAxNjMsIDI0OSwgMTI3LCAyNTMsIDE1MywgMjMxLCAxMjYsIDMsIDI0OSwgMTI1LCAKLSAgICAyNTMsIDE1MywgMjMxLCAxMjYsIDI0NSwgMTAxLCA2NSwgMjI1LCA1NiwgMjMwLCA5NywgMjI1LCA2MywgMjMwLCA5NywgCi0gICAgMjQ5LCAxMDQsIDIzMCwgOTcsIDIxOCwgMjQxLCAyMzAsIDI1MSwgNTIsIDIzMCwgMjQ5LCA1MiwgNjIsIDIyNSwgMTU2LCAKLSAgICAyNDcsIDEyMSwgMjIwLCAyMywgMjIxLCA0OSwgMjMwLCAyNTAsIDI1MywgMTMzLCAyMjcsIDMzLCAyMjMsIDEzMSwgMjI3LCAKLSAgICAzMywgMjUxLCA0MywgMjI3LCAzMywgNDEsIDIyMywgOTUsIDI0OSwgNTAsIDIyMywgOTUsIDI0MywgMjMwLCAyMjMsIDk1LCAKLSAgICAyMjUsIDUyLCAxMDgsIDIzNSwgMjMxLCA0NiwgMjU0LCAxOCwgMjU0LCAxOCwgMjMxLCAxNTMsIDI1NCwgMTgsIDIxOSwgCi0gICAgMTg3LCAyNTQsIDE4LCAyNDcsIDEyMywgMjQ3LCA5MiwgMjI4LCAxNjMsIDI0NywgMTI2LCAyMjYsIDEzNiwgMTA4LCAyMjgsIAotICAgIDE2MywgMjI2LCAxMzYsIDEwOCwgMjMyLCAxOTksIDI1NCwgMjcsIDIzMiwgMTk5LCAyMjcsIDI0LCAyMzUsIDE5NSwgMjE1LCAKLSAgICAxNDYsIDIzNSwgMjA4LCA1MSwgMjM1LCAyMDgsIDIxNiwgMTY5LCAyMzUsIDIwOCwgMjQ5LCAxMjEsIDIzNSwgMjA4LCAyMTgsIAotICAgIDIxMywgMjM1LCAyMDgsIDIxNCwgMTEwLCAyMzUsIDIwOCwgMjQ5LCAxOTUsIDIzNSwgMjA4LCAyNDksIDE5NSwgMjQ5LCAKLSAgICAxMjEsIDIzNSwgMjA4LCAyNTMsIDI1NSwgMjQ5LCAxMjEsIDIzNSwgMjA4LCAyMTcsIDEzOSwgMjUxLCAyNDMsIDIyNCwgMjksIAotICAgIDIyNSwgNTMsIDYyLCAyMzAsIDI1MCwgMjQ1LCAwLCAyNDMsIDIyLCAyMjUsIDUzLCAyNDEsIDQzLCAyMTcsIDQzLCAyMjcsIAotICAgIDMzLCAyMjMsIDIwMiwgMjE3LCA0MiwgMjM1LCAxOTEsIDIzMywgODksIDE5NywgMjIwLCA4MywgMjE0LCAxOSwgMjEzLCAKLSAgICAxODgsIDIyNSwgNjMsIDIyOCwgMTYzLCAyMTcsIDQyLCAyMzAsIDI1MSwgMjE3LCA0MiwgMjUzLCAxMjYsIDEyMywgMTA4LCAKLSAgICAyMjgsIDE2MywgMjUzLCAxMjYsIDEyMywgMTA4LCAyNTMsIDIxOCwgMTIzLCAxMDgsIDI1MywgMjE4LCAyNTEsIDE3LCAyMjgsIAotICAgIDE2MywgMjU0LCAxNjUsIDEyMywgMTA4LCAyMjksIDE4MSwgMjUzLCAyMTgsIDIyOCwgMTcwLCAyNTQsIDE2NSwgMTIzLCAKLSAgICAxMDgsIDI1NCwgNTcsIDEyMywgMTA4LCAyMjgsIDE2MywgMjU0LCA1NywgMTIzLCAxMDgsIDI1NCwgNTcsIDEyMywgMTY3LCAKLSAgICAxMjMsIDEwOCwgMjE2LCAxNjksIDIxNywgNDIsIDI1NCwgNjQsIDEyMywgMTA4LCAyNDUsIDU3LCAxMDgsIDI0MywgMjEsIAotICAgIDI0NSwgNTcsIDEwOCwgMjQ3LCAxODYsIDI1MSwgMjAwLCAyNTMsIDIyMCwgMjE3LCAxNDksIDIzMiwgMjUwLCAyNDMsIDIxLCAKLSAgICAxMjMsIDEwOCwgMjUzLCAyMTgsIDEyMywgMjExLCAyMTEsIDE2NywgMjE3LCAxNDksIDIzNiwgMTAsIDIyNywgOTcsIDIzNiwgCi0gICAgMTAsIDY1LCAxNjcsIDI1MywgMjE4LCAxMjMsIDEwOCwgMjQ5LCAxNjUsIDI0NSwgNjAsIDI0NSwgNjEsIDI0OSwgMTY0LCAKLSAgICAyMjMsIDEzMSwgMjM1LCAyNTIsIDEyMywgMTA4LCAyMjMsIDEzMSwgMTIzLCAxMDgsIDI0OSwgOTMsIDEwOCwgMjQ1LCAzMiwgCi0gICAgMjQ1LCA1OSwgMTA4LCAyMTksIDk2LCAyNDUsIDYwLCAyNDgsIDYsIDEyMywgMTA4LCAxMjMsIDIxMSwgMjExLCAyNTEsIDcsIAotICAgIDI0OCwgMjMsIDIzMSwgMTUzLCAyNTEsIDYsIDIyNCwgMTU2LCAxMjMsIDEwOCwgMjI4LCAxNjMsIDEyMywgMTA4LCAyNDAsIAotICAgIDk3LCAxMDgsIDIyOCwgMTYzLCAyNDAsIDk3LCAxMDgsIDIxOSwgNDksIDI0NSwgNTcsIDEwOCwgMjMzLCAzOSwgMTY3LCAKLSAgICAxMjMsIDEwOCwgMjQyLCAxMDcsIDE2NywgMTIzLCAxMDgsIDIzMywgMzksIDExMCwgMTIzLCAxMDgsIDI0MiwgMTA3LCAxMTAsIAotICAgIDEyMywgMTA4LCAyMzMsIDM5LCAyNTEsIDE3LCAyMjgsIDE2MywgMTIzLCAxMDgsIDI0MiwgMTA3LCAyNTEsIDE3LCAyMjgsIAotICAgIDE2MywgMTIzLCAxMDgsIDIzMCwgMTY3LCAyMzMsIDM4LCAyMzAsIDE2NywgMjQyLCAxMDYsIDI1MSwgMjAwLCAyMjgsIDE2MywgCi0gICAgMjQ1LCA1NywgMTA4LCAyMjgsIDE2MywgMjMzLCAzOCwgMjI4LCAxNjMsIDI0MiwgMTA2LCAyMjksIDE4MSwgMjMzLCAzOSwgCi0gICAgMjI4LCAxNzAsIDEyMywgMTA4LCAyMjksIDE4MSwgMjQyLCAxMDcsIDIyOCwgMTcwLCAxMjMsIDEwOCwgMjMzLCAzOSwgMTY3LCAKLSAgICAyNDUsIDU3LCAxMDgsIDI0MiwgMTA3LCAxNjcsIDI0NSwgNTcsIDEwOCwgMjI5LCAxODEsIDIzMywgMzksIDIyOCwgMTcwLCAKLSAgICAyNDUsIDU3LCAxMDgsIDIyOSwgMTgxLCAyNDIsIDEwNywgMjI4LCAxNzAsIDI0NSwgNTcsIDEwOCwgMjMzLCAzOSwgMTY3LCAKLSAgICAyNDIsIDEwNiwgMjQyLCAxMDcsIDE2NywgMjMzLCAzOCwgMjI5LCAxODEsIDIzMywgMzksIDIyOCwgMTcwLCAyNDIsIDEwNiwgCi0gICAgMjI5LCAxODEsIDI0MiwgMTA3LCAyMjgsIDE3MCwgMjMzLCAzOCwgMjI1LCA4MiwgMjE5LCAwLCAyMjUsIDgzLCAxNjcsIAotICAgIDEyMywgMTA4LCAyMTksIDEsIDE2NywgMTIzLCAxMDgsIDIyNSwgODMsIDE2NywgMjQ1LCA1NywgMTA4LCAyMTksIDEsIDE2NywgCi0gICAgMjQ1LCA1NywgMTA4LCAyNDcsIDkyLCAyMjgsIDE2MywgMjI1LCA4NSwgMjQ3LCA5MiwgMjI4LCAxNjMsIDIxOSwgMiwgMjE5LCAKLSAgICA5LCAyMjcsIDk3LCAyMTgsIDIyMiwgMjI3LCA5NywgMjI4LCAxNjMsIDExOCwgMjE5LCA5LCAyMjcsIDk3LCAyMjgsIDE2MywgCi0gICAgMTE4LCAyMTgsIDIyMiwgMjI3LCA5NywgMjE5LCA5LCA2NSwgMTY3LCAxMjMsIDEwOCwgMjE4LCAyMjIsIDY1LCAxNjcsIAotICAgIDEyMywgMTA4LCAyMjksIDE4MSwgMTE4LCAyMTksIDksIDY1LCAyMjgsIDE3MCwgMTIzLCAxMDgsIDIyOSwgMTgxLCAxMTgsIAotICAgIDIxOCwgMjIyLCA2NSwgMjI4LCAxNzAsIDEyMywgMTA4LCAyMTksIDksIDY1LCAyLCAyMjgsIDE2MywgMTIzLCAxMDgsIDIxOCwgCi0gICAgMjIyLCA2NSwgMiwgMjI4LCAxNjMsIDEyMywgMTA4LCAyMzAsIDE1MSwgMjMwLCAxNTIsIDIzMCwgMTUzLCAyMzAsIDE1MiwgCi0gICAgMjE1LCAxNDYsIDQxLCAyMzYsIDEwLCAyMjcsIDk3LCA0MSwgMjI3LCAxNywgMjI3LCA5NywgNDEsIDIzNiwgMTAsIDY1LCAKLSAgICAxNjcsIDEyMywgMTA4LCA0MSwgMjI3LCAxNywgNjUsIDE2NywgMTIzLCAxMDgsIDQxLCAyNTAsIDE4MywgNDEsIDI0OSwgNDMsIAotICAgIDM2LCAyMjUsIDE1NiwgMzYsIDIzMCwgMjUwLCAzNiwgMjE3LCAzOCwgMzYsIDI0NywgMTIxLCAyMjAsIDIzLCAzNiwgNjIsIAotICAgIDIyNywgMzMsIDM2LCAyMjMsIDEzMSwgMjI3LCAzMywgMzYsIDI1MywgMTMzLCAyMjcsIDMzLCAzNiwgMjQ1LCA2MCwgMzYsIAotICAgIDI0OCwgMTAxLCA5MSwgMjI1LCAxNTYsIDkxLCAyMzAsIDI1MCwgOTEsIDIxNywgMzgsIDkxLCA2MiwgMjI3LCAzMywgNDYsIAotICAgIDIxOCwgMzYsIDQyLCAyMTgsIDM2LCAxMTksIDIxOCwgMzYsIDExNCwgMjE4LCAzNiwgMjUzLCAxMzYsIDIzMCwgMjI2LCAKLSAgICAyMTYsIDE0OSwgMjQzLCAyNTAsIDIxNiwgMTY5LCA3MSwgMjUyLCA2MCwgNDYsIDIxNiwgNTcsIDUxLCA3MSwgMjUyLCA2MCwgCi0gICAgNTEsIDQ2LCAyMTYsIDU3LCAyNDcsIDkyLCAyMjgsIDE2MywgMjI1LCA0OCwgMjI4LCAxNjMsIDIxNiwgMTQ5LCAyNDcsIDkyLCAKLSAgICAyMjgsIDE2MywgMjQzLCAyNTEsIDIyOSwgMTgzLCA1MSwgNzEsIDI1MiwgNjAsIDUxLCA0NiwgMjE2LCA1NywgMjI1LCA4MywgCi0gICAgMjE1LCAxNTQsIDIyMywgMjQxLCAyMTksIDEsIDIxNSwgMTU0LCAyMjMsIDI0MSwgMjI4LCAxNjgsIDIxOSwgMjIsIDIyNywgCi0gICAgOTcsIDI0OSwgMTI1LCAyNTMsIDE1MywgMjI4LCAxNjgsIDIxOSwgMjEsIDIyOCwgMTY4LCAyMTksIDIyLCA2NSwgMTY3LCAKLSAgICAxMjMsIDEwOCwgMjQ5LCAxMjUsIDI1MywgMTUzLCAyMjgsIDE2OCwgMjE5LCAyMiwgMTY3LCAxMjMsIDEwOCwgMjI3LCAxNywgCi0gICAgMjI3LCA5NywgMjM2LCAxMCwgMjI3LCA5NywgMjMwLCAxNTcsIDI0MSwgMTg1LCAyNDksIDEzNiwgMjMxLCAyMDAsIDIzNSwgCi0gICAgMjA1LCAyMTMsIDEzMywgMjMwLCAyMiwgMjI4LCAxNjksIDQ2LCAyNTQsIDE5LCAyLCAyNTMsIDE5NSwgNDYsIDIxNiwgMTgzLCAKLSAgICAyMzAsIDk3LCAyMzIsIDE5OSwgMjU0LCAyNywgMjMwLCA5NywgMjMyLCAxOTksIDIyNywgMjQsIDIzMCwgOTcsIDIzNSwgCi0gICAgMTk1LCAyMzAsIDk3LCAyMTUsIDE0NiwgMjQ3LCAyMDEsIDIyNywgMzMsIDYyLCAyMjcsIDMzLCAyMTksIDk2LCAyMjcsIDMzLCAKLSAgICAyNDcsIDEyMSwgMjE3LCAzOCwgMjUxLCA5MCwgNDIsIDIyOCwgMTY4LCAyNDQsIDE0OSwgMjIxLCA2OSwgMjI1LCA2MywgNDYsIAotICAgIDIyOCwgMTY4LCAyNDQsIDE0OSwgMjIxLCA2OSwgMjI1LCA2MywgNDIsIDIyMSwgNjksIDIyNSwgNjMsIDQ2LCAyMjEsIDY5LCAKLSAgICAyMjUsIDYzLCAyMjMsIDIwMiwgMjE3LCA0MywgMjQ1LCA2MCwgMjQ5LCA0MCwgMjMyLCAxOTksIDIyNywgMjQsIDI0OSwgNDAsIAotICAgIDIzMiwgMTk5LCAyNTQsIDI3LCA1MSwgMjE5LCA4LCA1MSwgMjE4LCAyMjEsIDUxLCAyMzUsIDE5NSwgNTEsIDIxNSwgMTQ2LCAKLSAgICAyMjUsIDE3OSwgMTIzLCAyNCwgMjI2LCAxMzYsIDEwOCwgMjMzLCAzOSwgMiwgMjQ3LCA3NCwgMjQyLCAxMDcsIDIsIDI0NywgCi0gICAgNzQsIDIxNCwgMTY0LCAyMzAsIDE2NywgMjMzLCAzOCwgMjE0LCAxNjQsIDIzMCwgMTY3LCAyNDIsIDEwNiwgMjMzLCAzOSwgCi0gICAgMTIzLCAyMTEsIDIxMSwgMTY3LCAyNDIsIDEwNiwgMjQyLCAxMDcsIDEyMywgMjExLCAyMTEsIDE2NywgMjMzLCAzOCwgMTIzLCAKLSAgICAyMTEsIDIxMSwgMTY3LCAyMzMsIDM4LCAxMjMsIDIxMSwgMjExLCAxNjcsIDI0MiwgMTA2LCAxMjMsIDIxMSwgMjExLCAxNjcsIAotICAgIDIyNSwgODIsIDEyMywgMjExLCAyMTEsIDE2NywgMjE5LCAwLCAyNDcsIDkyLCAyMjgsIDE2MywgMjI1LCA4NiwgMTY3LCAKLSAgICAyNDUsIDYyLCAyNDcsIDkyLCAyMjgsIDE2MywgMjE5LCAzLCAxNjcsIDI0NSwgNjIsIDIyOCwgMTYzLCA0MSwgMjM2LCAxMCwgCi0gICAgNjUsIDE2NywgMTIzLCAxMDgsIDIyOCwgMTYzLCA0MSwgMjI3LCAxNywgNjUsIDE2NywgMTIzLCAxMDgsIDQxLCAyMzYsIDEwLCAKLSAgICA2NSwgMTY3LCAyMjgsIDE2MywgMTIzLCAxMDgsIDQxLCAyMjcsIDE3LCA2NSwgMTY3LCAyMjgsIDE2MywgMTIzLCAxMDgsIAotICAgIDIzMywgMzksIDI1MSwgMTcsIDIyOCwgMTYzLCAyNDUsIDU3LCAxMDgsIDI0MiwgMTA3LCAyNTEsIDE3LCAyMjgsIDE2MywgCi0gICAgMjQ1LCA1NywgMTA4LCAyMjUsIDgzLCAyNTEsIDE3LCAyMjgsIDE2MywgMjQ1LCA1NywgMTA4LCAyMTksIDEsIDI1MSwgMTcsIAotICAgIDIyOCwgMTYzLCAyNDUsIDU3LCAxMDgsIDIyOCwgMTYzLCAyMjgsIDE2OCwgMjE5LCAyMiwgMjI3LCA5NywgMjQ3LCA5MiwgCi0gICAgMjI4LCAxNjMsIDI0OSwgMTI3LCAyNTMsIDE1MywgMjI4LCAxNjgsIDIxOSwgMjEsIDIyOCwgMTYzLCAyMjgsIDE2OCwgMjE5LCAKLSAgICAyMiwgNjUsIDE2NywgMTIzLCAxMDgsIDI0NywgOTIsIDIyOCwgMTYzLCAyNDksIDEyNywgMjUzLCAxNTMsIDIyOCwgMTY4LCAKLSAgICAyMTksIDIyLCAxNjcsIDI0NSwgNjIsIDcxLCAyNDUsIDEyMCwgMjMxLCAzNSwgMTk5LCAyNDUsIDEyMCwgMTE0LCA0NiwgCi0gICAgMjQ3LCAyMDcsIDI0NSwgMTIwLCAxMTksIDQ2LCAyNDcsIDIwNywgMjQ1LCAxMjAsIDI0NSwgMTI3LCA2NSwgMiwgMTg0LCAKLSAgICAxOTksIDkwLCAyNDUsIDEyNywgNjUsIDIsIDcxLCAyNTIsIDYwLCAyNTMsIDEyMywgMjQ1LCAxMDEsIDY1LCAxOTksIDkwLCAKLSAgICAzLCAyNDUsIDEyNywgNjUsIDIsIDcxLCAyNTIsIDYwLCAyNTMsIDEyMywgMjQ1LCAxMDEsIDY1LCAxOTksIDkwLCAyNDUsIAotICAgIDEyNywgNjUsIDIsIDYyLCA0OSwgMjQ1LCAxMjcsIDY1LCAyLCAyMjYsIDI0NywgMywgMjQ1LCAxMjcsIDY1LCAyLCAyMjYsIAotICAgIDI0NywgMjQ1LCAxMjcsIDY1LCAyLCAyMTUsIDE1MywgMjQ1LCAxMjcsIDY1LCAyLCAxMTcsIDE5OSwgMjE5LCAzMiwgMjQ5LCAKLSAgICAxMjUsIDIsIDE4NCwgMTk5LCA5MCwgMjQ5LCAxMjUsIDIsIDcxLCAyNTIsIDYwLCAyNTMsIDEyMywgMjQ1LCAxMDEsIDY1LCAKLSAgICAxOTksIDkwLCAzLCAyNDksIDEyNSwgMiwgNzEsIDI1MiwgNjAsIDI1MywgMTIzLCAyNDUsIDEwMSwgNjUsIDE5OSwgOTAsIAotICAgIDI0OSwgMTI1LCAyLCAyMjYsIDI0NywgMywgMjQ5LCAxMjUsIDIsIDIyNiwgMjQ3LCAyMTIsIDE1MywgMTc0LCAyNTIsIDkxLCAKLSAgICAyMzEsIDEyNSwgMjQ3LCAyMDIsIDUyLCAyNDUsIDEyOSwgNjgsIDI0MCwgMjIxLCAxMTQsIDI1MywgMTY0LCAxMTksIDI1MywgCi0gICAgMTY0LCAyMjUsIDU5LCAyMjYsIDQxLCAyMTQsIDE2LCAyMzIsIDI0MiwgNDIsIDI1MCwgMTE1LCA0NiwgMjUwLCAxMTUsIDQyLCAKLSAgICAyNDQsIDI2LCA0NiwgMjQ0LCAyNiwgMjUxLCAxMDEsIDQ2LCAyNDksIDcyLCAyNTEsIDEwMSwgNDIsIDI0OSwgNzIsIDIxNiwgCi0gICAgMjI3LCA0NiwgMjQ5LCA3MiwgMjE2LCAyMjcsIDQyLCAyNDksIDcyLCAyMjMsIDIwMiwgMjI4LCAxNjMsIDUyLCA0MSwgMjMyLCAKLSAgICAxNTksIDI1MywgMTk1LCAyMjIsIDgzLCAyMjIsIDkwLCAyMTcsIDIxMCwgMjI0LCAxMywgMjI1LCAxMjEsIDIzNSwgMjM1LCAKLSAgICAyMTQsIDE0NSwgMjE5LCAxNjYsIDIyNSwgMTczLCA2NSwgMjM1LCAyMDQsIDUyLCAyMTYsIDU4LCAyMjgsIDE2MywgNTIsIAotICAgIDIxNCwgMjYsIDI0MCwgMjIzLCAyMTYsIDIyNywgNDIsIDI0OSwgOTksIDIxNiwgMjI3LCA0NiwgMjQ5LCA5OSwgMjUxLCAKLSAgICAxMDEsIDQyLCAyNDksIDk5LCAyNTEsIDEwMSwgNDYsIDI0OSwgOTksIDIxNiwgMjI3LCAxNTEsIDIzNSwgMjA4LCAyNTEsIAotICAgIDEwMSwgMTUxLCAyMzUsIDIwOCwgMjQzLCAyMTAsIDIyMCwgMywgMTE0LCAyNTMsIDE2NSwgMjUxLCAyMDEsIDExNywgMTk5LCAKLSAgICAyNTIsIDQ5LCAyMjcsIDI2LCAyMzQsIDE0NCwgMjQ1LCA1MywgMjExLCAyMTEsIDIxNywgMTQ5LCAyMjMsIDE0OCwgMjEzLCAKLSAgICAxNjcsIDIzNSwgMjUyLCAxMTgsIDIyNCwgMTAsIDI1MSwgODksIDIzNCwgMTQzLCAyMzMsIDY2LCAyNTQsIDE5LCAxMjUsIAotICAgIDIyMywgMTQ0LCAyNTQsIDE5LCAxMjUsIDI0NSwgNTMsIDIxMSwgMjExLCAyMTcsIDE0OSwgMjMzLCA3MCwgMjUxLCAyMTIsIAotICAgIDIyMywgMTMwLCAyNDksIDEzLCAyNTQsIDY0LCAyNTMsIDE3MiwgMjE4LCAxMjYsIDIxNiwgMjE3LCAyMjMsIDM0LCAyNDcsIAotICAgIDE2NywgMjI3LCAxOCwgMjQ5LCAxMzgsIDIxOCwgMywgMjIwLCAxNCwgMjQ5LCA5MCwgMjQ5LCA4OSwgMTk0LCAxOTYsIDE2LCAKLSAgICAyNDAsIDE0MywgMTk0LCAxOTYsIDE2LCAyMTksIDE2MCwgMjI0LCAxNzIsIDE5NCwgMTk2LCAxNiwgMjI0LCAxNzMsIDI0NSwgCi0gICAgNjIsIDE5NCwgMTk2LCAxNiwgMjI0LCAxNzMsIDI0NywgMTI2LCAxOTQsIDE5NiwgMTYsIDIyNCwgMTczLCAyNDcsIDIwMCwgCi0gICAgMTk0LCAxOTYsIDE2LCAyMjQsIDE3MywgMjM1LCA1OSwgMTk0LCAxOTYsIDE2LCAyMjQsIDE3MywgMjQ5LCAyMjgsIDE5NCwgCi0gICAgMTk2LCAxNiwgMjQ5LCAyMjksIDIxOSwgNzUsIDE5NCwgMTk2LCAxNiwgMjQ5LCAyMjksIDIzNSwgNTksIDE5NCwgMTk2LCAKLSAgICAxNiwgMjIwLCAyNCwgMTM0LCAxOTQsIDE5NiwgMTYsIDI1MiwgOTgsIDEzNCwgMTk0LCAxOTYsIDE2LCAyMjQsIDE3MywgCi0gICAgMjIwLCAyMywgMTk0LCAxOTYsIDE2LCAyMjQsIDE3MywgMjUyLCA5NywgMTk0LCAxOTYsIDE2LCAyMjQsIDE3MywgMjMzLCAKLSAgICAzOCwgMTk0LCAxOTYsIDE2LCAyMjQsIDE3MywgMjQyLCAxMDYsIDE5NCwgMTk2LCAxNiwgMTMyLCAyMTQsIDI1MSwgMTk0LCAKLSAgICAxOTYsIDE2LCA5NSwgMjE0LCAyNTEsIDE5NCwgMTk2LCAxNiwgMjI0LCAxNzMsIDEzMiwgNjgsIDE5NCwgMTk2LCAxNiwgCi0gICAgMjI0LCAxNzMsIDk1LCA2OCwgMTk0LCAxOTYsIDE2LCAyNDksIDIyOSwgMjUyLCA5NywgMTk0LCAxOTYsIDE2LCAxMTksIAotICAgIDIxOCwgMzcsIDIxNSwgMTUzLCAxOTQsIDE5NiwgMTYsIDI0OCwgNiwgMjE5LCA3NSwgMTk0LCAxOTYsIDE2LCAyMjQsIDE3MywgCi0gICAgMTE5LCAyNTAsIDE3MCwgMTk0LCAxOTYsIDE2LCAyMjQsIDE3MywgMjQ4LCA1LCAxOTQsIDE5NiwgMTYsIDExOSwgMjE4LCAKLSAgICAzNywgMjM1LCA1OSwgMTk0LCAxOTYsIDE2LCAyMTUsIDEyNCwgMjE0LCAyNTEsIDE5NCwgMTk2LCAxNiwgMjI0LCAxNzMsIAotICAgIDIxNSwgMTI0LCA2OCwgMTk0LCAxOTYsIDE2LCAxMTQsIDIxOCwgMzcsIDIyNiwgMjQ3LCAxOTQsIDE5NiwgMTYsIDI0OCwgCi0gICAgMTcsIDIxOSwgNzUsIDE5NCwgMTk2LCAxNiwgMjI0LCAxNzMsIDExNCwgMjUwLCAxNzAsIDE5NCwgMTk2LCAxNiwgMjI0LCAKLSAgICAxNzMsIDI0OCwgMTYsIDE5NCwgMTk2LCAxNiwgMTE0LCAyMTgsIDM3LCAyMzUsIDU5LCAxOTQsIDE5NiwgMTYsIDI0NiwgNTgsIAotICAgIDIxNCwgMjUxLCAxOTQsIDE5NiwgMTYsIDIyNCwgMTczLCAyNDYsIDU4LCA2OCwgMTk0LCAxOTYsIDE2LCAyMjQsIDE0MiwgCi0gICAgMjE1LCAxNTMsIDE5NCwgMTk2LCAxNiwgMjQ4LCA2LCAyMTUsIDE1MywgMTk0LCAxOTYsIDE2LCAyNDcsIDIwMSwgMjE1LCAKLSAgICAxNTMsIDE5NCwgMTk2LCAxNiwgMjM1LCA2MCwgMjE1LCAxNTMsIDE5NCwgMTk2LCAxNiwgMjQ5LCAyMjksIDIxNSwgMTUzLCAKLSAgICAxOTQsIDE5NiwgMTYsIDExNCwgMjIwLCAxODUsIDIzNSwgNTksIDE5NCwgMTk2LCAxNiwgMjI0LCAxNDIsIDIyNCwgMTcyLCAKLSAgICAxOTQsIDE5NiwgMTYsIDI0OSwgMjI5LCAyMTksIDk1LCAxOTQsIDE5NiwgMTYsIDIyNCwgMTczLCAyNDksIDE2NCwgMTk0LCAKLSAgICAxOTYsIDE2LCAxMTQsIDIxOCwgMzcsIDI0NywgMjA5LCAxOTQsIDE5NiwgMTYsIDI0OCwgMTcsIDI0NywgMjA5LCAxOTQsIAotICAgIDE5NiwgMTYsIDIxOSwgOTYsIDI0NywgMjA5LCAxOTQsIDE5NiwgMTYsIDIzNSwgNjAsIDI0NywgMjA5LCAxOTQsIDE5NiwgCi0gICAgMTYsIDI0OSwgMjI5LCAyNDcsIDIwOSwgMTk0LCAxOTYsIDE2LCAxMTksIDIyMCwgMTg1LCAyMTksIDc1LCAxOTQsIDE5NiwgCi0gICAgMTYsIDQyLCAyMjAsIDE4NSwgMjE5LCA3NSwgMTk0LCAxOTYsIDE2LCAyMTcsIDQzLCAyNDcsIDIwOSwgMTk0LCAxOTYsIDE2LCAKLSAgICAyNDIsIDEwNywgMjQ3LCAyMDksIDE5NCwgMTk2LCAxNiwgMjQ5LCAxNTgsIDEzNCwgMTk0LCAxOTYsIDE2LCAyNDgsIDE3LCAKLSAgICAyMTcsIDQyLCAxOTQsIDE5NiwgMTYsIDIxMiwgMjcsIDE5NCwgMTk2LCAxNiwgMjE5LCA3NiwgMjE3LCA0MiwgMTk0LCAxOTYsIAotICAgIDE2LCAyMjEsIDcxLCAyMTUsIDE1MywgMTk0LCAxOTYsIDE2LCAyMjQsIDE3MywgMjI4LCAxNjMsIDI0NSwgNjIsIDE5NCwgCi0gICAgMTk2LCAxNiwgMjI0LCAxNzMsIDIyNCwgMTU3LCAxOTQsIDE5NiwgMTYsIDExOSwgMjUwLCAxNzEsIDIxNywgNDIsIDE5NCwgCi0gICAgMTk2LCAxNiwgMTE0LCAyNTAsIDE3MSwgMjE3LCA0MiwgMTk0LCAxOTYsIDE2LCAyMzUsIDE4MywgMTk0LCAxOTYsIDE2LCAKLSAgICAyMjMsIDE5MCwgMTk0LCAxOTYsIDE2LCAyMjcsIDY3LCAxOTQsIDE5NiwgMTYsIDI1NCwgNTMsIDIxNSwgMTUzLCAxOTQsIAotICAgIDE5NiwgMTYsIDI0NSwgNjQsIDIxNSwgMTUzLCAxOTQsIDE5NiwgMTYsIDIzNSwgMTg0LCAyMTUsIDE1MywgMTk0LCAxOTYsIAotICAgIDE2LCAyMjcsIDY4LCAyMTUsIDE1MywgMTk0LCAxOTYsIDE2LCAyNTQsIDUyLCAyMjgsIDE2MywgMjUwLCA2NiwgNzcsIDQ2LCAKLSAgICAyNTQsIDE5LCAyLCAyNDYsIDU4LCAyMTIsIDI4LCA2OCwgMjIwLCAxNTksIDIyNywgNDAsIDI1MSwgODksIDI1MSwgMjIyLCAKLSAgICA4NywgNzEsIDIzMiwgMjQzLCAyLCAyMzEsIDM3LCAyNDcsIDc0LCAyMzUsIDIxMywgODcsIDI0OSwgMTIyLCAyMTUsIDE1MSwgCi0gICAgODcsIDI0NywgMTQxLCAyMTUsIDE1MSwgODcsIDI0NSwgMTEyLCA4NywgMjQ5LCAxNDksIDg3LCA2NywgNDEsIDIsIDI1MCwgCi0gICAgMTA5LCA3MSwgMjMyLCAyNDIsIDI0NSwgODksIDg3LCAyNTQsIDQ4LCAyMzQsIDE0NSwgODcsIDI0MSwgMTk3LCA4NywgMzYsIAotICAgIDE5OSwgMjUyLCA2MCwgMiwgMjI4LCAxNjEsIDM2LCAyMTYsIDE4NCwgMjQ2LCA2MCwgMjUxLCA2MywgMjQ5LCAyMjksIDIsIAotICAgIDIyOCwgMTY1LCA2OCwgMjE1LCAxNDksIDg3LCAyMzAsIDIwNywgODcsIDI0MCwgMTU2LCA4NywgMjI3LCAzOSwgMjQyLCA0MCwgCi0gICAgODcsIDIyNywgMzksIDIzMywgMTY5LCA4NywgMjI2LCAxMTcsIDg3LCAyMjYsIDExNiwgODcsIDI0NywgMTQ5LCAyNDksIDM4LCAKLSAgICAxNiwgMjQzLCAyNDUsIDEwOSwgMjE5LCAyMzQsIDg3LCAxOTQsIDE5NiwgMTYsIDIyNCwgMTcyLCAyNDgsIDM0LCAyMjEsIAotICAgIDU4LCAyMzQsIDE0NSwgODcsIDIyNSwgNzMsIDIyNiwgMjAwLCAyMjksIDE2NCwgMjI2LCAyMDAsIDIyNSwgNjksIDIyMiwgCi0gICAgMTA4LCA4NywgMjQ5LCAyMTAsIDIyMiwgMTA4LCA4NywgNDIsIDIyNiwgMTMyLCAyMTUsIDEzMSwgMTAxLCA0MiwgMjI2LCAKLSAgICAxMzIsIDI0NCwgMjQ1LCA0MiwgMjI2LCAxMzIsIDIzMiwgMTYzLCAxMDEsIDQ2LCAyMjYsIDEzMiwgMjE1LCAxMzEsIDEwMSwgCi0gICAgNDYsIDIyNiwgMTMyLCAyNDQsIDI0NSwgNDYsIDIyNiwgMTMyLCAyMzIsIDE2MywgMTAxLCA0MiwgNDEsIDI1MSwgODUsIAotICAgIDIxNSwgMTMxLCAyNDksIDk5LCA0MiwgNDEsIDI1MSwgODUsIDI0NCwgMjQ1LCA0MiwgNDEsIDI1MSwgODUsIDIzMiwgMTYzLCAKLSAgICAyNDksIDk5LCA0NiwgNDEsIDI1MSwgODUsIDIxNSwgMTMxLCAyNDksIDk5LCA0NiwgNDEsIDI1MSwgODUsIDI0NCwgMjQ1LCAKLSAgICA0NiwgNDEsIDI1MSwgODUsIDIzMiwgMTYzLCAyNDksIDk5LCA0MiwgMjQ5LCA0MCwgMjUxLCA4NSwgMjE1LCAxMzEsIDEwMSwgCi0gICAgNDIsIDI0OSwgNDAsIDI1MSwgODUsIDIzMSwgMzcsIDIyNSwgMjMzLCA0MiwgMjQ5LCA0MCwgMjUxLCA4NSwgMjMyLCAxNjMsIAotICAgIDEwMSwgMjQ5LCA0MCwgMjUxLCA4NSwgMjQ0LCAyNDUsIDQ2LCAyNDksIDQwLCAyNTEsIDg1LCAyMTUsIDEzMSwgMTAxLCA0NiwgCi0gICAgMjQ5LCA0MCwgMjUxLCA4NSwgMjMxLCAzNywgMjI1LCAyMzMsIDQ2LCAyNDksIDQwLCAyNTEsIDg1LCAyMzIsIDE2MywgMTAxLCAKLSAgICAyMzUsIDIwOSwgMjQ0LCAyNDUsIDE5OSwgMjMyLCAyNDMsIDI0NCwgMjQ1LCAyMTUsIDEzMSwgNDIsIDE2NywgMjMyLCAxNjMsIAotICAgIDQ2LCAyNDksIDQwLCAyNTEsIDg1LCAyMjIsIDkxLCAyMTUsIDEzMSwgNDYsIDE2NywgMjMyLCAxNjMsIDQyLCAyNDksIDQwLCAKLSAgICAyNTEsIDg1LCAyMjIsIDkxLCAyMTgsIDI0MiwgMjE2LCAyMjYsIDIxOCwgMjQyLCAyNTEsIDEwMCwgMjE2LCAyMjcsIDQxLCAKLSAgICAxMjUsIDI1MSwgMTAxLCA0MSwgMTI1LCAyNTEsIDEwMSwgNDEsIDI1MSwgODUsIDExMCwgMjE2LCAyMjcsIDQxLCAxMjUsIAotICAgIDM0LCAxNiwgMjUxLCAxMDAsIDQyLCA3MSwgOTIsIDIzMiwgMjQyLCA0NiwgNzEsIDkyLCAyMzIsIDI0MiwgMTk5LCAyMjIsIAotICAgIDEyMywgMjMyLCAyNDEsIDE5OSwgMjIyLCAxMjMsIDIzMiwgMjQwLCAxOTksIDIyMiwgMTIzLCAyMzIsIDIzOSwgMTk5LCAKLSAgICAyMjIsIDEyMywgMjMyLCAyMzgsIDI0NywgMjUzLCAxNiwgMTc3LCA3MSwgMjQsIDIxNiwgMjI3LCAyMjMsIDE0OCwgMjQ3LCAKLSAgICAyNTMsIDE2LCAxNzcsIDcxLCAyNCwgMjUxLCAxMDEsIDIyMywgMTQ4LCAyNDcsIDI1MywgMTYsIDE3NywgNzEsIDIsIDI0OSwgCi0gICAgMjI4LCAyNDcsIDI1MywgMTYsIDE3NywgMTE5LCAyNCwgMTk5LCAyLCAyNDksIDIyOCwgMjQ3LCAyNTMsIDE2LCAxNzcsIAotICAgIDExNCwgMjQsIDE5OSwgMiwgMjQ5LCAyMjgsIDI0NywgMjUzLCAxNiwgMTc3LCA3MSwgMiwgMjE2LCAxODMsIDI0NywgMjUzLCAKLSAgICAxNiwgMTc3LCAxMTksIDI0LCAxOTksIDIsIDIxNiwgMTgzLCAyNDcsIDI1MywgMTYsIDE3NywgMTE0LCAyNCwgMTk5LCAyLCAKLSAgICAyMTYsIDE4MywgMjQ3LCAyNTMsIDE2LCAxNzcsIDcxLCAyNCwgMjE0LCAxOSwgMjQ3LCAyNTMsIDE2LCAxNzcsIDExOSwgMjQsIAotICAgIDE5OSwgMiwgMjE0LCAxOSwgMjQ3LCAyNTMsIDE2LCAxNzcsIDExNCwgMjQsIDE5OSwgMiwgMjE0LCAxOSwgMjQ3LCAyNTMsIAotICAgIDE2LCAxNzcsIDExOSwgMjQsIDI0MSwgMzEsIDI0NywgMjUzLCAxNiwgMTc3LCAxMTQsIDI0LCAyNDEsIDMxLCAyNDcsIDI1MywgCi0gICAgMTYsIDE3NywgNzEsIDI0LCAyMTYsIDIyNywgMjMzLCA3MCwgMjQ3LCAyNTMsIDE2LCAxNzcsIDcxLCAyNCwgMjUxLCAxMDEsIAotICAgIDIzMywgNzAsIDQxLCAyNDQsIDEsIDIyMywgMjA2LCA4NywgMjQ1LCAxMzksIDg3LCA3MSwgMjMyLCAyNDMsIDI0NCwgMjQ1LCAKLSAgICAyMzEsIDEwMCwgMjUxLCA3NCwgMjMxLCAxMDAsIDE4NCwgMTEwLCAyMjAsIDE3NCwgMjMxLCAxMDAsIDIyMCwgMTc1LCAxMTAsIAotICAgIDIzMiwgMTkwLCAyMzEsIDEwMCwgMTg0LCAxMTAsIDExNywgMjIwLCAxNjEsIDIzMSwgMTAwLCAxMTcsIDIyMCwgMTYyLCAKLSAgICAxMTAsIDIzMiwgMTkwLCAyMzEsIDEwMCwgMTE3LCAyMjAsIDE2MiwgMjM1LCA2NywgMjMxLCAxMDAsIDIxNiwgMTY2LCAyMzEsIAotICAgIDEwMCwgMjE3LCAxNzYsIDIzMSwgMTAwLCAyMjYsIDYzLCAyNDUsIDE4MCwgMjQyLCAxMDAsIDI0MywgMTkxLCAyMTYsIDIyNywgCi0gICAgMjI2LCAxMzEsIDI1MSwgMTAxLCAyMjYsIDEzMSwgMjE2LCAyMjcsIDI0OSwgNDAsIDEyNSwgMjUxLCAxMDEsIDI0OSwgNDAsIAotICAgIDEyNSwgMjE2LCAyMjcsIDIxNiwgMjE5LCAyMjAsIDIzMywgMTI1LCAyNTEsIDEwMSwgMjE2LCAyMTksIDIyMCwgMjMzLCAKLSAgICAxMjUsIDY3LCAyMTYsIDE5NywgMjUxLCAyMTIsIDIyMywgMTMxLCAyLCAyNDksIDIyOCwgMjE5LCA2MCwgMjQ0LCAzMywgCi0gICAgMjU0LCAxNzcsIDI0OSwgMzcsIDI0NSwgMTI4LCAyMzUsIDE5NSwgMjQ4LCAzNCwgMjQ0LCAyNDcsIDg3LCA4MywgMjIzLCAKLSAgICAxNDQsIDUxLCAyMTYsIDE4MywgODMsIDIzMywgNjYsIDUxLCAyMTYsIDE4MywgODMsIDIxNSwgMTMzLCA1MSwgMjE2LCAxODMsIAotICAgIDgzLCAyNDYsIDU5LCA1MSwgMjE2LCAxODMsIDgzLCAyMjMsIDE0NCwgNTEsIDIxNiwgMTg0LCAyLCA3MSwgMTM0LCA4MywgCi0gICAgMjMzLCA2NiwgNTEsIDIxNiwgMTg0LCAyLCA3MSwgMTM0LCA4MywgMjIzLCAxNDQsIDIxNiwgMTg0LCAyLCA1MSwgNzEsIAotICAgIDEzNCwgMjU0LCA4MSwgMjQ5LCAxOTYsIDIxOSwgNjYsIDIxNywgMzksIDI0OSwgMTk2LCAyNDAsIDIyNCwgMiwgMjQ0LCAxOSwgCi0gICAgMjIyLCAxNTcsIDE2LCAzMSwgMjI4LCA1OCwgMTYsIDMxLCAyMTksIDkxLCA2NSwgMjQxLCAyMTcsIDE2LCAzMSwgMjE5LCAKLSAgICA5MSwgNjUsIDIxNywgMTY1LCAxNiwgMzEsIDI0NSwgMTAxLCA2NSwgMjE3LCAxNjUsIDE2LCAzMSwgMjQ1LCAxMDEsIDY1LCAKLSAgICAyMTYsIDIwMCwgMTYsIDMxLCAyNDUsIDkxLCAxNiwgMzEsIDI1NCwgMTY4LCAxNiwgMzEsIDI1MSwgMjIxLCAxNiwgMzEsIAotICAgIDI1MiwgOTYsIDE2LCAzMSwgMTk5LCAyMTgsIDM4LCAxNiwgMzEsIDIzMiwgMjQzLCAyNDQsIDExNCwgMTYsIDMxLCA3MSwgCi0gICAgMjE4LCAzOCwgMTYsIDMxLCAyNDMsIDI0NSwgMjQ0LCAxMTQsIDE2LCAzMSwgMjUwLCAxNjIsIDIyMywgMjA1LCAxNiwgMzEsIAotICAgIDIyMCwgMjA4LCAyMjYsIDI1NCwgMTYsIDMxLCAyMjAsIDIwOCwgMjM1LCAyNTEsIDE2LCAzMSwgMjQ4LCA5NywgMjMyLCAKLSAgICAyMzMsIDI0NSwgNDIsIDE2LCAzMSwgMjQ3LCAyMzgsIDI0OSwgMTE3LCAxMTYsIDE2LCAzMSwgMjQ3LCAyMzgsIDI0OSwgCi0gICAgMTE3LCAxMDksIDE2LCAzMSwgMjQ3LCAyMzgsIDI0OSwgMTE3LCAxNjYsIDE2LCAzMSwgMjQ3LCAyMzgsIDI0OSwgMTE3LCAKLSAgICAxNjMsIDE2LCAzMSwgMTQ2LCAyNTQsIDE2OCwgMTYsIDMxLCAyMTgsIDEyMywgMjM2LCA1NywgMTYsIDMxLCAyNDUsIDEwMSwgCi0gICAgNjUsIDIxNiwgMjAxLCAyNTEsIDEzNiwgMTYsIDMxLCAyNTAsIDE5MywgMTYsIDMxLCAyNDUsIDEwMSwgNjUsIDIzMSwgMTQ2LCAKLSAgICAxNiwgMzEsIDIxOSwgNiwgMTYsIDMxLCAyNDUsIDQyLCAxNiwgMzEsIDI0NCwgNzYsIDIyMSwgNTcsIDE2LCAzMSwgMjQyLCAKLSAgICA5OSwgMjIxLCA1NywgMTYsIDMxLCAyMjQsIDE0LCAyMjEsIDU3LCAxNiwgMzEsIDIxNSwgMTQ1LCAyMjEsIDU3LCAxNiwgMzEsIAotICAgIDIxOSwgMjA2LCAxNiwgMzEsIDI0OCwgMTQsIDI1MSwgMTM5LCA4NywgMjI3LCA0MCwgMjUxLCA4OSwgMTYsIDMxLCAyMjksIAotICAgIDE2NywgMTYsIDMxLCAyNDgsIDE1LCAyNDMsIDI0NSwgMTA5LCAxNiwgMzEsIDIxOSwgNywgMjQzLCAyNDUsIDEwOSwgMjI3LCAKLSAgICAxMDUsIDEwMSwgMjI3LCAxMDUsIDI1MCwgODcsIDIyNywgMTA1LCAyNDMsIDI0OCwgMjI3LCAxMDUsIDIzNSwgMTkxLCAyNDMsIAotICAgIDI0OCwgMjI3LCAxMDUsIDI1MSwgMjE5LCAyNTEsIDUzLCAyMjcsIDEwNSwgMjUxLCA5NiwgMjE3LCA2NSwgMjI3LCAxMDUsIAotICAgIDI1MSwgODIsIDI1MiwgNjUsIDI0MCwgOTYsIDIyNywgMTA1LCAyNTQsIDM2LCA2NSwgMjUwLCA2NSwgMjI3LCAxMDUsIDI0OCwgCi0gICAgMTAxLCAyMjcsIDEwNSwgMjQ5LCAyOSwgMjU0LCAxNzEsIDIyOCwgNTYsIDIyNywgMTA1LCA1MSwgMjUyLCA5NywgMzYsIDIxLCAKLSAgICAxMTYsIDM2LCAyMSwgMTA5LCAzNiwgMjEsIDE2NiwgMzYsIDIxLCAxNjMsIDM2LCAyMSwgMTgwLCAzNiwgMjEsIDE4OSwgMzYsIAotICAgIDIxLCAxOTgsIDM2LCAyMSwgMTk1LCAzNiwgMjEsIDIwMCwgMzYsIDUwLCAyMTcsIDIwMCwgMzYsIDUwLCAyNDUsIDEyNCwgCi0gICAgMzYsIDUwLCAyMTYsIDQxLCAzNiwgNTAsIDIxNywgMTE3LCAzNiwgNTAsIDI0MywgMjMxLCAzNiwgNTAsIDI0NCwgODcsIDM2LCAKLSAgICA1MCwgMjIwLCA0NywgMzYsIDUwLCAyMjEsIDQwLCAzNiwgNTAsIDI0NSwgMTQ3LCAzNiwgNTAsIDIyOSwgMjgsIDM2LCA1MCwgCi0gICAgMjE2LCAzOCwgODYsIDIxLCAxMTYsIDg2LCAyMSwgMTA5LCA4NiwgMjEsIDE2NiwgODYsIDIxLCAxNjMsIDg2LCAyMSwgMTgwLCAKLSAgICA4NiwgMjEsIDE4OSwgODYsIDIxLCAxOTgsIDg2LCAyMSwgMTk1LCA4NiwgMjEsIDIwMCwgODYsIDUwLCAyMTcsIDIwMCwgODYsIAotICAgIDUwLCAyNDUsIDEyNCwgODYsIDUwLCAyMTYsIDQxLCA4NiwgNTAsIDIxNywgMTE3LCA4NiwgNTAsIDI0MywgMjMxLCA4NiwgCi0gICAgNTAsIDI0NCwgODcsIDg2LCA1MCwgMjIwLCA0NywgODYsIDUwLCAyMjEsIDQwLCA4NiwgNTAsIDI0NSwgMTQ3LCA4NiwgNTAsIAotICAgIDIyOSwgMjgsIDg2LCA1MCwgMjE2LCAzOCwgMjEsIDEyMiwgMjQzLCAyMDAsIDIxOSwgNjksIDIxLCAxMTcsIDI0MywgMjAwLCAKLSAgICAyMTksIDY5LCAyMSwgMTMzLCAyNDMsIDIwMCwgMjE5LCA2OSwgMjEsIDI0MywgMjM3LCAyNDMsIDIwMCwgMjE5LCA2OSwgMjEsIAotICAgIDI0NCwgNTAsIDI0MywgMjAwLCAyMTksIDY5LCAyMSwgMjIwLCA1MywgMjQzLCAyMDAsIDIxOSwgNjksIDIxLCAyMjEsIDQzLCAKLSAgICAyNDMsIDIwMCwgMjE5LCA2OSwgMjEsIDI0NSwgMTUwLCAyNDMsIDIwMCwgMjE5LCA2OSwgMjEsIDIyOSwgMzEsIDI0MywgCi0gICAgMjAwLCAyMTksIDY5LCA1MCwgMjE3LCAyMDEsIDI0MywgMjAwLCAyMTksIDY5LCA1MCwgMjQ1LCAxMjUsIDI0MywgMjAwLCAKLSAgICAyMTksIDY5LCA1MCwgMjE2LCA0MiwgMjQzLCAyMDAsIDIxOSwgNjksIDUwLCAyMTcsIDExOCwgMjQzLCAyMDAsIDIxOSwgNjksIAotICAgIDUwLCAyNDMsIDIzMiwgMjQzLCAyMDAsIDIxOSwgNjksIDUwLCAyNDQsIDg4LCAyNDMsIDIwMCwgMjE5LCA2OSwgNTAsIDIyMCwgCi0gICAgNDgsIDI0MywgMjAwLCAyMTksIDY5LCA1MCwgMjIxLCA0MSwgMjQzLCAyMDAsIDIxOSwgNjksIDUwLCAyNDUsIDE0OCwgMjQzLCAKLSAgICAyMDAsIDIxOSwgNjksIDUwLCAyMjksIDI5LCAyNDMsIDIwMCwgMjE5LCA2OSwgNTAsIDIxNiwgMzksIDI0MywgMjAwLCAyMTksIAotICAgIDY5LCA4NiwgNywgMywgMSwgNjEsIDg2LCA3LCAzLCAxLCAyNTMsIDc0LCA4NiwgNywgMywgMSwgMjUwLCAyNTIsIDg2LCA3LCAKLSAgICAzLCAxLCAyNDksIDMsIDg2LCA3LCAzLCAxLCA3NCwgODYsIDcsIDMsIDEsIDI0NCwgMjMwLCA4NiwgNywgMywgMSwgMjQzLCAKLSAgICAxNzcsIDg2LCA3LCAzLCAxLCAyNDIsIDQxLCA4NiwgNywgMywgMSwgNzIsIDg2LCA3LCAzLCAxLCAyMzUsIDE0MiwgODYsIDcsIAotICAgIDMsIDEsIDIzNSwgMjcsIDg2LCA3LCAzLCAxLCAxNTAsIDg2LCA3LCAzLCAxLCAxODMsIDg2LCA3LCAzLCAxLCAyMDQsIDg2LCAKLSAgICA3LCAzLCAxLCA3NSwgODYsIDcsIDMsIDEsIDIyNiwgMjI5LCA4NiwgNywgMywgMSwgMjI0LCAyNDAsIDg2LCA3LCAzLCAxLCAKLSAgICAxNDksIDg2LCA3LCAzLCAxLCAxOTcsIDg2LCA3LCAzLCAxLCAyMTgsIDk5LCA4NiwgNywgMywgMSwgNjksIDg2LCA3LCAzLCAKLSAgICAxLCAyMTUsIDc5LCA4NiwgNywgMywgMSwgMjE0LCA4MiwgODYsIDcsIDMsIDEsIDIxMywgMTY2LCA4NiwgNywgMywgMSwgCi0gICAgMjEzLCAxMDUsIDg2LCA3LCAzLCAxLCAyMTIsIDE1MiwgMzYsIDcsIDYsIDEsIDYxLCAzNiwgNywgNiwgMSwgMjUzLCA3NCwgCi0gICAgMzYsIDcsIDYsIDEsIDI1MCwgMjUyLCAzNiwgNywgNiwgMSwgMjQ5LCAzLCAzNiwgNywgNiwgMSwgNzQsIDM2LCA3LCA2LCAxLCAKLSAgICAyNDQsIDIzMCwgMzYsIDcsIDYsIDEsIDI0MywgMTc3LCAzNiwgNywgNiwgMSwgMjQyLCA0MSwgMzYsIDcsIDYsIDEsIDcyLCAKLSAgICAzNiwgNywgNiwgMSwgMjM1LCAxNDIsIDM2LCA3LCA2LCAxLCAyMzUsIDI3LCAzNiwgNywgNiwgMSwgMTUwLCAzNiwgNywgNiwgCi0gICAgMSwgMTgzLCAzNiwgNywgNiwgMSwgMjA0LCAzNiwgNywgNiwgMSwgNzUsIDM2LCA3LCA2LCAxLCAyMjYsIDIyOSwgMzYsIDcsIAotICAgIDYsIDEsIDIyNCwgMjQwLCAzNiwgNywgNiwgMSwgMTQ5LCAzNiwgNywgNiwgMSwgMTk3LCAzNiwgNywgNiwgMSwgMjE4LCA5OSwgCi0gICAgMzYsIDcsIDYsIDEsIDY5LCAzNiwgNywgNiwgMSwgMjE1LCA3OSwgMzYsIDcsIDYsIDEsIDIxNCwgODIsIDM2LCA3LCA2LCAxLCAKLSAgICAyMTMsIDE2NiwgMzYsIDcsIDYsIDEsIDIxMywgMTA1LCAzNiwgNywgNiwgMSwgMjEyLCAxNTIsIDM2LCA3LCAzLCAxLCA2MSwgCi0gICAgMzYsIDcsIDMsIDEsIDI1MywgNzQsIDM2LCA3LCAzLCAxLCAyNTAsIDI1MiwgMzYsIDcsIDMsIDEsIDI0OSwgMywgMzYsIDcsIAotICAgIDMsIDEsIDc0LCAzNiwgNywgMywgMSwgMjQ0LCAyMzAsIDM2LCA3LCAzLCAxLCAyNDMsIDE3NywgMzYsIDcsIDMsIDEsIDI0MiwgCi0gICAgNDEsIDM2LCA3LCAzLCAxLCA3MiwgMzYsIDcsIDMsIDEsIDIzNSwgMTQyLCAzNiwgNywgMywgMSwgMjM1LCAyNywgMzYsIDcsIAotICAgIDMsIDEsIDE1MCwgMzYsIDcsIDMsIDEsIDE4MywgMzYsIDcsIDMsIDEsIDIwNCwgMzYsIDcsIDMsIDEsIDc1LCAzNiwgNywgMywgCi0gICAgMSwgMjI2LCAyMjksIDM2LCA3LCAzLCAxLCAyMjQsIDI0MCwgMzYsIDcsIDMsIDEsIDE0OSwgMzYsIDcsIDMsIDEsIDE5NywgCi0gICAgMzYsIDcsIDMsIDEsIDIxOCwgOTksIDM2LCA3LCAzLCAxLCA2OSwgMzYsIDcsIDMsIDEsIDIxNSwgNzksIDM2LCA3LCAzLCAxLCAKLSAgICAyMTQsIDgyLCAzNiwgNywgMywgMSwgMjEzLCAxNjYsIDM2LCA3LCAzLCAxLCAyMTMsIDEwNSwgMzYsIDcsIDMsIDEsIDIxMiwgCi0gICAgMTUyLCAzNiwgMjEsIDIxMiwgNzksIDE0NiwgMzYsIDUwLCAyNDUsIDEyNCwgMTQ2LCAzNiwgNTAsIDIxNiwgNDEsIDE0NiwgCi0gICAgMzYsIDUwLCAyMTcsIDExNywgMTQ2LCAzNiwgNTAsIDI0MywgMjMxLCAxNDYsIDM2LCA1MCwgMjQ0LCA4NywgMTQ2LCAzNiwgCi0gICAgNTAsIDIyMCwgNDcsIDE0NiwgMzYsIDUwLCAyMjEsIDQwLCAxNDYsIDM2LCA1MCwgMjQ1LCAxNDcsIDE0NiwgMzYsIDUwLCAKLSAgICAyMjksIDI4LCAxNDYsIDM2LCA1MCwgMjE2LCAzOCwgNTEsIDM2LCAyMSwgMTE2LCA1MSwgMzYsIDIxLCAxMDksIDUxLCAzNiwgCi0gICAgMjEsIDE2NiwgNTEsIDM2LCAyMSwgMTYzLCA1MSwgMzYsIDIxLCAxODAsIDUxLCAzNiwgMjEsIDE4OSwgNTEsIDM2LCAyMSwgCi0gICAgMTk4LCA1MSwgMzYsIDIxLCAxOTUsIDUxLCAzNiwgMjEsIDIwMCwgNTEsIDM2LCA1MCwgMjE3LCAyMDAsIDE0NiwgMzYsIDIxLCAKLSAgICAyMTIsIDc5LCA5MiwgOTYsIDE3NywgMjQxLCAzMSwgOTIsIDk2LCAxMDcsIDI0MSwgMzEsIDkyLCA5NiwgMTc3LCAyMTQsIAotICAgIDIxNiwgOTIsIDk2LCAxMDcsIDIxNCwgMjE2LCA5MiwgOTYsIDE3NywgMjE2LCAxNjksIDI0OCwgMTAyLCAyNDEsIDMxLCA5MiwgCi0gICAgOTYsIDEwNywgMjE2LCAxNjksIDI0OCwgMTAyLCAyNDEsIDMxLCA5MiwgOTYsIDE3NywgMjE2LCAxNjksIDI0OCwgMTAyLCAKLSAgICAyMTQsIDIxNiwgOTIsIDk2LCAxMDcsIDIxNiwgMTY5LCAyNDgsIDEwMiwgMjE0LCAyMTYsIDkyLCA5NiwgMTc3LCAyMjQsIAotICAgIDE2OSwgMjQ4LCAxMDIsIDI0MSwgMzEsIDkyLCA5NiwgMTA3LCAyMjQsIDE2OSwgMjQ4LCAxMDIsIDI0MSwgMzEsIDkyLCA5NiwgCi0gICAgMTc3LCAyMjQsIDE2OSwgMjQ4LCAxMDIsIDIxNCwgMjE2LCA5MiwgOTYsIDEwNywgMjI0LCAxNjksIDI0OCwgMTAyLCAyMTQsIAotICAgIDIxNiwgOTIsIDk2LCAxNzcsIDExOSwgMjQsIDIyMywgMTQ4LCA5MiwgOTYsIDExOSwgMTc3LCAyNCwgNDYsIDI0MSwgMjA1LCAKLSAgICA5MiwgOTYsIDExOSwgMTA3LCAyNCwgNDYsIDIzMywgMiwgOTIsIDk2LCAxMDcsIDExOSwgMjQsIDIyMywgMTQ4LCA5MiwgOTYsIAotICAgIDE3NywgMTE5LCAyNCwgMjMzLCA3MCwgOTIsIDk2LCAxMTksIDE3NywgMjQsIDQyLCAyNDEsIDIwNSwgOTIsIDk2LCAxMTksIAotICAgIDEwNywgMjQsIDQyLCAyMzMsIDIsIDkyLCA5NiwgMTA3LCAxMTksIDI0LCAyMzMsIDcwLCA5MiwgOTYsIDE3NywgMTE0LCAyNCwgCi0gICAgMjIzLCAxNDgsIDkyLCA5NiwgMTE0LCAxNzcsIDI0LCA0NiwgMjQxLCAyMDUsIDkyLCA5NiwgMTE0LCAxMDcsIDI0LCA0NiwgCi0gICAgMjMzLCAyLCA5MiwgOTYsIDEwNywgMTE0LCAyNCwgMjIzLCAxNDgsIDkyLCA5NiwgMTc3LCAxMTQsIDI0LCAyMzMsIDcwLCAKLSAgICA5MiwgOTYsIDExNCwgMTc3LCAyNCwgNDIsIDI0MSwgMjA1LCA5MiwgOTYsIDExNCwgMTA3LCAyNCwgNDIsIDIzMywgMiwgOTIsIAotICAgIDk2LCAxMDcsIDExNCwgMjQsIDIzMywgNzAsIDkyLCA5NiwgMTc3LCA3MSwgMjQsIDIyMywgMTQ4LCA5MiwgOTYsIDcxLCAKLSAgICAxNzcsIDI0LCA0NiwgMjQxLCAyMDUsIDkyLCA5NiwgMTE0LCAxMDcsIDI0LCA0NiwgMTE5LCAyMzMsIDIsIDkyLCA5NiwgCi0gICAgMTE5LCAxMDcsIDI0LCA0NiwgMTE0LCAyMzMsIDIsIDkyLCA5NiwgNzEsIDEwNywgMjQsIDQ2LCAyMzMsIDIsIDkyLCA5NiwgCi0gICAgMTE5LCAxNzcsIDI0LCA0NiwgMTE0LCAyNDEsIDIwNSwgOTIsIDk2LCAxMTQsIDE3NywgMjQsIDQ2LCAxMTksIDI0MSwgMjA1LCAKLSAgICA5MiwgOTYsIDEwNywgNzEsIDI0LCAyMjMsIDE0OCwgOTIsIDk2LCAxNzcsIDcxLCAyNCwgMjMzLCA3MCwgOTIsIDk2LCA3MSwgCi0gICAgMTc3LCAyNCwgNDIsIDI0MSwgMjA1LCA5MiwgOTYsIDExNCwgMTA3LCAyNCwgNDIsIDExOSwgMjMzLCAyLCA5MiwgOTYsIAotICAgIDExOSwgMTA3LCAyNCwgNDIsIDExNCwgMjMzLCAyLCA5MiwgOTYsIDcxLCAxMDcsIDI0LCA0MiwgMjMzLCAyLCA5MiwgOTYsIAotICAgIDExOSwgMTc3LCAyNCwgNDIsIDExNCwgMjQxLCAyMDUsIDkyLCA5NiwgMTE0LCAxNzcsIDI0LCA0MiwgMTE5LCAyNDEsIDIwNSwgCi0gICAgOTIsIDk2LCAxMDcsIDcxLCAyNCwgMjMzLCA3MCwgOTIsIDk2LCAxNzcsIDExOSwgMjQsIDI0MSwgMzEsIDkyLCA5NiwgNDIsIAotICAgIDEwNywgMjQsIDQ2LCAxMTksIDIzMywgMiwgOTIsIDk2LCA0NiwgMTA3LCAyNCwgNDIsIDExOSwgMjMzLCAyLCA5MiwgOTYsIAotICAgIDExOSwgMTc3LCAyNCwgMTk5LCAyNDEsIDIwNSwgOTIsIDk2LCAxMTksIDEwNywgMjQsIDE5OSwgMjMzLCAyLCA5MiwgOTYsIAotICAgIDQ2LCAxNzcsIDI0LCA0MiwgMTE5LCAyNDEsIDIwNSwgOTIsIDk2LCA0MiwgMTc3LCAyNCwgNDYsIDExOSwgMjQxLCAyMDUsIAotICAgIDkyLCA5NiwgMTA3LCAxMTksIDI0LCAyNDEsIDMxLCA5MiwgOTYsIDE3NywgMTE0LCAyNCwgMjQxLCAzMSwgOTIsIDk2LCA0MiwgCi0gICAgMTA3LCAyNCwgNDYsIDExNCwgMjMzLCAyLCA5MiwgOTYsIDQ2LCAxMDcsIDI0LCA0MiwgMTE0LCAyMzMsIDIsIDkyLCA5NiwgCi0gICAgMTE0LCAxNzcsIDI0LCAxOTksIDI0MSwgMjA1LCA5MiwgOTYsIDExNCwgMTA3LCAyNCwgMTk5LCAyMzMsIDIsIDkyLCA5NiwgCi0gICAgNDYsIDE3NywgMjQsIDQyLCAxMTQsIDI0MSwgMjA1LCA5MiwgOTYsIDQyLCAxNzcsIDI0LCA0NiwgMTE0LCAyNDEsIDIwNSwgCi0gICAgOTIsIDk2LCAxMDcsIDExNCwgMjQsIDI0MSwgMzEsIDkyLCA5NiwgMTc3LCA3MSwgMjQsIDI0MSwgMzEsIDkyLCA5NiwgNDIsIAotICAgIDEwNywgMjQsIDQ2LCA3MSwgMjMzLCAyLCA5MiwgOTYsIDQ2LCAxMDcsIDI0LCA0MiwgNzEsIDIzMywgMiwgOTIsIDk2LCA3MSwgCi0gICAgMTc3LCAyNCwgMTk5LCAyNDEsIDIwNSwgOTIsIDk2LCAxMTQsIDEwNywgMjQsIDExOSwgMTk5LCAyMzMsIDIsIDkyLCA5NiwgCi0gICAgMTE5LCAxMDcsIDI0LCAxMTQsIDE5OSwgMjMzLCAyLCA5MiwgOTYsIDcxLCAxMDcsIDI0LCAxOTksIDIzMywgMiwgOTIsIDk2LCAKLSAgICA0MiwgMTE0LCAxMDcsIDI0LCA0NiwgMTE5LCAyMzMsIDIsIDkyLCA5NiwgNDYsIDExNCwgMTA3LCAyNCwgNDIsIDExOSwgCi0gICAgMjMzLCAyLCA5MiwgOTYsIDQyLCAxMTksIDEwNywgMjQsIDQ2LCAxMTQsIDIzMywgMiwgOTIsIDk2LCA0NiwgMTE5LCAxMDcsIAotICAgIDI0LCA0MiwgMTE0LCAyMzMsIDIsIDkyLCA5NiwgMTE5LCAxNzcsIDI0LCAxMTQsIDE5OSwgMjQxLCAyMDUsIDkyLCA5NiwgCi0gICAgMTE0LCAxNzcsIDI0LCAxMTksIDE5OSwgMjQxLCAyMDUsIDkyLCA5NiwgNDYsIDE3NywgMjQsIDQyLCA3MSwgMjQxLCAyMDUsIAotICAgIDkyLCA5NiwgNDIsIDE3NywgMjQsIDQ2LCA3MSwgMjQxLCAyMDUsIDkyLCA5NiwgMTA3LCA3MSwgMjQsIDI0MSwgMzEsIDkyLCAKLSAgICA5NiwgMTc3LCA1MSwgMjQ4LCAxMDIsIDI0MSwgMzEsIDkyLCA5NiwgMTA3LCA1MSwgMjQ4LCAxMDIsIDI0MSwgMzEsIDkyLCAKLSAgICA5NiwgMTc3LCA1MSwgMjQ4LCAxMDIsIDIxNCwgMjE2LCA5MiwgOTYsIDEwNywgNTEsIDI0OCwgMTAyLCAyMTQsIDIxNiwgOTIsIAotICAgIDk2LCA1MSwgMjQxLCAzMSwgOTIsIDk2LCA1MSwgMjE0LCAyMTYsIDkyLCA5NiwgMTE5LCAyMjAsIDgxLCAyNCwgNDYsIDI0NiwgCi0gICAgNjcsIDkyLCA5NiwgMTE5LCA1MSwgMjQsIDQ2LCAyMjAsIDgwLCA5MiwgOTYsIDUxLCAxMTksIDI0LCAyMjMsIDE0OCwgOTIsIAotICAgIDk2LCAxMTksIDIyMCwgODEsIDI0LCA0MiwgMjQ2LCA2NywgOTIsIDk2LCAxMTksIDUxLCAyNCwgNDIsIDIyMCwgODAsIDkyLCAKLSAgICA5NiwgNTEsIDExOSwgMjQsIDIzMywgNzAsIDkyLCA5NiwgMTE0LCAyMjAsIDgxLCAyNCwgNDYsIDI0NiwgNjcsIDkyLCA5NiwgCi0gICAgMTE0LCA1MSwgMjQsIDQ2LCAyMjAsIDgwLCA5MiwgOTYsIDUxLCAxMTQsIDI0LCAyMjMsIDE0OCwgOTIsIDk2LCAxMTQsIAotICAgIDIyMCwgODEsIDI0LCA0MiwgMjQ2LCA2NywgOTIsIDk2LCAxMTQsIDUxLCAyNCwgNDIsIDIyMCwgODAsIDkyLCA5NiwgNTEsIAotICAgIDExNCwgMjQsIDIzMywgNzAsIDkyLCA5NiwgNzEsIDIyMCwgODEsIDI0LCA0NiwgMjQ2LCA2NywgOTIsIDk2LCA3MSwgNTEsIAotICAgIDI0LCA0NiwgMjIwLCA4MCwgOTIsIDk2LCA1MSwgNzEsIDI0LCAyMjMsIDE0OCwgOTIsIDk2LCA3MSwgMjIwLCA4MSwgMjQsIAotICAgIDQyLCAyNDYsIDY3LCA5MiwgOTYsIDcxLCA1MSwgMjQsIDQyLCAyMjAsIDgwLCA5MiwgOTYsIDUxLCA3MSwgMjQsIDIzMywgCi0gICAgNzAsIDkyLCA5NiwgMTE5LCAyMjAsIDgxLCAyNCwgMTk5LCAyNDYsIDY3LCA5MiwgOTYsIDExOSwgNTEsIDI0LCAxOTksIAotICAgIDIyMCwgODAsIDkyLCA5NiwgNTEsIDExOSwgMjQsIDI0MSwgMzEsIDkyLCA5NiwgMTE0LCAyMjAsIDgxLCAyNCwgMTk5LCAKLSAgICAyNDYsIDY3LCA5MiwgOTYsIDExNCwgNTEsIDI0LCAxOTksIDIyMCwgODAsIDkyLCA5NiwgNTEsIDExNCwgMjQsIDI0MSwgMzEsIAotICAgIDkyLCA5NiwgNzEsIDIyMCwgODEsIDI0LCAxOTksIDI0NiwgNjcsIDkyLCA5NiwgNzEsIDUxLCAyNCwgMTk5LCAyMjAsIDgwLCAKLSAgICA5MiwgOTYsIDUxLCA3MSwgMjQsIDI0MSwgMzEsIDkyLCA5NiwgMTc3LCAyNTMsIDE5NiwgMTE5LCAyNCwgMjIzLCAxNDgsIAotICAgIDkyLCA5NiwgMTc3LCAyNTMsIDE5NiwgMTE5LCAyNCwgMjMzLCA3MCwgOTIsIDk2LCAxNzcsIDI1MywgMTk2LCAxMTQsIDI0LCAKLSAgICAyMzMsIDcwLCA5MiwgOTYsIDE3NywgMjUzLCAxOTYsIDExNCwgMjQsIDIyMywgMTQ4LCA5MiwgOTYsIDE3NywgMjQ3LCAyMDcsIAotICAgIDIxNSwgMTMxLCA0NiwgMjExLCAyMTEsIDIzMiwgMTYzLCAyMzMsIDcwLCA5MiwgOTYsIDE3NywgMjQ3LCAyMDcsIDIxNSwgCi0gICAgMTMxLCA0MiwgMjExLCAyMTEsIDIzMiwgMTYzLCAyMjMsIDE0OCwgOTIsIDk2LCAxNzcsIDI0NywgMjA3LCAyNDksIDcwLCAKLSAgICA5MiwgOTYsIDE3NywgMjMzLCA3MCwgOTIsIDk2LCAxNzcsIDIxNSwgMTM0LCA5MiwgOTYsIDE3NywgMjIzLCAxNDgsIDkyLCAKLSAgICA5NiwgMTc3LCAyNDYsIDYwLCA5MiwgOTYsIDEwNywgMjMzLCA3MCwgOTIsIDk2LCAxMDcsIDIxNSwgMTM0LCA5MiwgOTYsIAotICAgIDEwNywgMjIzLCAxNDgsIDkyLCA5NiwgMTA3LCAyNDYsIDYwLCA5MiwgOTYsIDE3NywgNDIsIDI0LCAxMDcsIDIyMywgMTQ4LCAKLSAgICA5MiwgOTYsIDE3NywgMTE0LCAyNCwgMTA3LCAyNDYsIDYwLCA5MiwgOTYsIDEwNywgNDIsIDI0LCAxNzcsIDIyMywgMTQ4LCAKLSAgICA5MiwgOTYsIDEwNywgMTE0LCAyNCwgMTc3LCAyNDYsIDYwLCAyMTUsIDEzMSwgMTUxLCAyNTEsIDEzNiwgMjMyLCAxNjMsIAotICAgIDEyMiwgMjQ1LCAxNDYsIDI1MSwgMTM2LCAyMzIsIDE2MywgMTIyLCAyMjQsIDE2NywgMjUxLCAxMzYsIDIzMiwgMTYzLCAKLSAgICAxMzMsIDI0NSwgMTQ0LCAyNTEsIDEzNiwgMjMyLCAxNjMsIDE1MSwgMjUxLCAxMzYsIDIzMiwgMTYzLCAyNDQsIDUwLCAyNDUsIAotICAgIDE0NCwgMjUxLCAxMzYsIDIzMiwgMTYzLCAxMzMsIDIyNCwgMTY1LCAyNTEsIDEzNiwgMjMyLCAxNjMsIDIyMSwgNDMsIDI0NSwgCi0gICAgMTQ0LCAyNTEsIDEzNiwgMjQzLCAyMDAsIDI1MSwgMTM2LCA0MiwgMjIxLCA0MywgMjQ1LCAxNDQsIDI1MSwgMTM2LCA0MiwgCi0gICAgMTMzLCAyMjQsIDE2NSwgMjUxLCAxMzYsIDQyLCAyNDQsIDUwLCAyNDUsIDE0NCwgMjUxLCAxMzYsIDQyLCAxNTEsIDI1MSwgCi0gICAgMTM2LCA0MiwgMTMzLCAyNDUsIDE0NCwgMjUxLCAxMzYsIDQyLCAxMjIsIDIyNCwgMTY3LCAyNTEsIDEzNiwgNDIsIDEyMiwgCi0gICAgMjQ1LCAxNDYsIDI1MSwgMTM2LCA0NiwgMTUxLCAyNTEsIDEzNiwgMTc3LCAyMjEsIDE0LCAyMzEsIDE0NywgMjIxLCAxNCwgCi0gICAgMjQ4LCAxMDcsIDIyMSwgMTQsIDIxNSwgMTMxLCAxMjIsIDI0NSwgMTQ2LCAyNTEsIDEzNiwgNDYsIDEyMiwgMjQ1LCAxNDYsIAotICAgIDI1MSwgMTM2LCAyMjQsIDE3MSwgMjMyLCAxNjMsIDIzMywgNzAsIDIyNCwgMTcxLCAyMzIsIDE2MywgMjIzLCAxNDgsIDIyNCwgCi0gICAgMTcxLCAyMTUsIDEzMSwgMjMzLCA3MCwgMjI0LCAxNzEsIDIxNSwgMTMxLCA0MiwgMjQsIDIzMiwgMTYzLCA0MiwgMjQsIAotICAgIDIzMiwgMTYzLCAyMjMsIDE0OCwgMjI0LCAxNzEsIDIxNSwgMTMxLCA0MiwgMjQsIDIzMiwgMTYzLCAyMjMsIDE0OCwgMjI0LCAKLSAgICAxNzEsIDIxNSwgMTMxLCA0MiwgMjQsIDIxNSwgMTMxLCA0NiwgMjQsIDIzMiwgMTYzLCAyMzMsIDcwLCAyMjQsIDE3MSwgCi0gICAgMjE1LCAxMzEsIDQyLCAyNCwgMjE1LCAxMzEsIDQ2LCAyNCwgMjMyLCAxNjMsIDIyMywgMTQ4LCAyMjQsIDE3MSwgMjE1LCAKLSAgICAxMzEsIDIyMywgMTQ4LCAyMjQsIDE3MSwgMjE1LCAxMzEsIDQ2LCAyNCwgMjMyLCAxNjMsIDIzMywgNzAsIDIyNCwgMTcxLCAKLSAgICAyMTUsIDEzMSwgNDYsIDI0LCAyMzIsIDE2MywgNDIsIDI0LCAyMzIsIDE2MywgMjIzLCAxNDgsIDgzLCAyMTksIDE2NiwgNjcsIAotICAgIDIxOSwgMTY2LCA2NywgNDEsIDIsIDIyMywgODUsIDI0OSwgOTgsIDY3LCA0MSwgMjQ5LCAxMjYsIDgzLCAzLCAyMTksIDE2NiwgCi0gICAgNDEsIDIsIDE5OSwgMjQ0LCA3NCwgNDEsIDIsIDcxLCAyNDQsIDc0LCA0MSwgMiwgMjI3LCAxMSwgMjQ5LCA2NiwgMjQ0LCAKLSAgICA3NCwgNDEsIDIsIDIxNSwgMTMxLCA0MiwgMjExLCAyMTEsIDIzMiwgMTYzLCA0NiwgMjQ0LCA3NCwgNDEsIDIsIDIxNSwgCi0gICAgMTMxLCA0NiwgMjExLCAyMTEsIDIzMiwgMTYzLCA0MiwgMjQ0LCA3NCwgNDEsIDIsIDI0NywgMjA3LCAyNDksIDY2LCAyNDQsIAotICAgIDc0LCA4MywgMywgMjE5LCAxNjYsIDY3LCAzLCAyMTksIDE2NiwgODMsIDIyNCwgOSwgNjcsIDIyNCwgOSwgODMsIDcxLCAKLSAgICAyMjQsIDksIDY3LCA3MSwgMjI0LCA5LCA4MywgMjI2LCAxMzQsIDY3LCAyMjYsIDEzNCwgODMsIDIxNSwgMTMzLCAyMTYsIAotICAgIDE4MywgNjcsIDIxNSwgMTMzLCAyMTYsIDE4MywgODMsIDIxNSwgMTMzLCAzLCAyMTYsIDE4MywgNjcsIDIxNSwgMTMzLCAzLCAKLSAgICAyMTYsIDE4MywgODMsIDIyMywgMTQ0LCAyMTYsIDE4MywgNjcsIDIyMywgMTQ0LCAyMTYsIDE4MywgODMsIDIyMywgMTQ0LCAKLSAgICAzLCAyMTYsIDE4MywgNjcsIDIyMywgMTQ0LCAzLCAyMTYsIDE4MywgODMsIDIyMywgMTQ0LCAyMjUsIDE0MiwgNjcsIDIyMywgCi0gICAgMTQ0LCAyMjUsIDE0MiwgODMsIDI0NiwgNTksIDIxNiwgMTgzLCA2NywgMjQ2LCA1OSwgMjE2LCAxODMsIDgzLCAyNDYsIDU5LCAKLSAgICAzLCAyMTYsIDE4MywgNjcsIDI0NiwgNTksIDMsIDIxNiwgMTgzLCA4MywgMjMzLCA2NiwgMjE2LCAxODMsIDY3LCAyMzMsIAotICAgIDY2LCAyMTYsIDE4MywgODMsIDIzMywgNjYsIDMsIDIxNiwgMTgzLCA2NywgMjMzLCA2NiwgMywgMjE2LCAxODMsIDgzLCAKLSAgICAyMzMsIDY2LCAyMjUsIDE0MiwgNjcsIDIzMywgNjYsIDIyNSwgMTQyLCA4MywgMjQ3LCAyMDAsIDY3LCAyNDcsIDIwMCwgNjcsIAotICAgIDI0NywgMjAxLCAyNDksIDEyNiwgODMsIDMsIDI0NywgMjAwLCAyNDQsIDU4LCAyMzIsIDE1OSwgNjcsIDI0OSwgMjI4LCAKLSAgICAyNDYsIDcyLCAyNDksIDIyOCwgMjQ5LCAyMjksIDIsIDcxLCAyNDQsIDc0LCAyNTEsIDQwLCA4MywgMjQ5LCAyMjgsIDI0OSwgCi0gICAgMjI5LCAyLCA0MiwgMTUxLCAyNTEsIDE0NCwgMjQ5LCAyMjksIDIsIDQ2LCAxNTEsIDI1MSwgMTQ0LCAyNDksIDIyOSwgMiwgCi0gICAgMjMyLCAxNjMsIDE1MSwgMjUxLCAxNDQsIDI0OSwgMjI5LCAyLCAyMTUsIDEzMSwgMTUxLCAyNTEsIDE0NCwgMjQ5LCAyMjksIAotICAgIDIsIDIxNSwgMTMxLCA0NiwgMjI0LCAxNzEsIDI1MSwgMTQ0LCAyNDksIDIyOSwgMiwgMjU0LCA2NCwgMjUxLCAxNywgMjE1LCAKLSAgICAxMzEsIDQyLCAyMjQsIDE3MSwgMjUxLCAxNDQsIDQyLCAxNTEsIDgzLCAyNDksIDIyOCwgNDYsIDE1MSwgODMsIDI0OSwgCi0gICAgMjI4LCAyMzUsIDE5MiwgMjUxLCA0MiwgMjM1LCAxOTIsIDY3LCAyNDksIDIyOCwgMjE1LCAxMzEsIDE1MSwgMjM1LCAxOTIsIAotICAgIDY3LCAyNDksIDIyOCwgMjMyLCAxNjMsIDE1MSwgMjM1LCAxOTIsIDY3LCAyNDksIDIyOCwgMjE1LCAxMzEsIDQyLCAyMjQsIAotICAgIDE3MSwgMjQ5LCAyMjYsIDI1MywgMTk1LCAyMTUsIDEzMSwgNDYsIDIyNCwgMTcxLCAyNDksIDIyNiwgMjUzLCAxOTUsIDIzMiwgCi0gICAgMTYzLCA0NiwgMjI0LCAxNzEsIDI0OSwgMjI2LCAyNTMsIDE5NSwgMjMyLCAxNjMsIDQyLCAyMjQsIDE3MSwgMjQ5LCAyMjYsIAotICAgIDI1MywgMTk1LCAyMTUsIDEzMSwgMTUxLCAyNDksIDIyOCwgMjMyLCAxNjMsIDE1MSwgMjQ5LCAyMjgsIDgzLCAyMzIsIDE2MywgCi0gICAgNDYsIDIxNiwgMTgzLCA4MywgMjMyLCAxNjMsIDQyLCAyMTYsIDE4MywgODMsIDIxNSwgMTMxLCA0MiwgMjE2LCAxODMsIDgzLCAKLSAgICAyMTUsIDEzMSwgNDYsIDIxNiwgMTgzLCA2NywgMjUxLCA0MiwgNDEsIDIsIDQyLCAxNTEsIDI1MSwgMTQ0LCA0MSwgMiwgNDYsIAotICAgIDE1MSwgMjUxLCAxNDQsIDQxLCAyLCAyMTUsIDEzMSwgNDIsIDI0NywgMjA3LCAxNTEsIDI1MSwgMTQ0LCA0MSwgMiwgMjMyLCAKLSAgICAxNjMsIDQ2LCAyNDcsIDIwNywgMTUxLCAyNTEsIDE0NCwgNjcsIDQxLCAyLCA3MSwgMjUxLCAxNTUsIDIzMiwgMjQyLCA2NywgCi0gICAgMjE1LCAxMzMsIDIxNiwgMTg0LCAyLCAyNDcsIDc0LCAyMTUsIDEzMywgMjE2LCAxODQsIDIsIDQyLCAxNTEsIDI1MSwgMTQ0LCAKLSAgICAyMTUsIDEzMywgMjE2LCAxODQsIDIsIDQ2LCAxNTEsIDI1MSwgMTQ0LCAyMzMsIDEwOCwgMjQ5LCAyMjgsIDY3LCA0MSwgMiwgCi0gICAgMjE1LCAxMzEsIDQyLCAyMjQsIDE3MCwgNjcsIDQxLCAyLCAyMzIsIDE2MywgNDIsIDIyNCwgMTcwLCA2NywgNDEsIDIsIAotICAgIDIzMiwgMTYzLCA0NiwgMjI0LCAxNzAsIDY3LCA0MSwgMiwgMjE1LCAxMzEsIDQ2LCAyMjQsIDE3MCwgNjcsIDI0OSwgMjI5LCAKLSAgICAyLCAyMTUsIDEzMSwgNDIsIDIyNCwgMTcwLCA2NywgMjQ5LCAyMjksIDIsIDIzMiwgMTYzLCA0MiwgMjI0LCAxNzAsIDY3LCAKLSAgICAyNDksIDIyOSwgMiwgMjMyLCAxNjMsIDQ2LCAyMjQsIDE3MCwgNjcsIDI0OSwgMjI5LCAyLCAyMTUsIDEzMSwgNDYsIDIyNCwgCi0gICAgMTcwLCAyMTUsIDEzMSwgNDIsIDIxNiwgMTgzLCAyMTUsIDEzMSwgNDYsIDIxNiwgMTgzLCAyMzIsIDE2MywgNDIsIDIxNiwgCi0gICAgMTgzLCA2NywgMjMxLCAxNDcsIDIxOSwgMTY2LCA4MywgMjMxLCAxNDcsIDIxOSwgMTY2LCA2NywgMjMxLCAxNDcsIDMsIAotICAgIDIxOSwgMTY2LCA4MywgMjMxLCAxNDcsIDMsIDIxOSwgMTY2LCAyMzIsIDE2MywgNDYsIDIxNiwgMTgzLCA4MywgMjE4LCAKLSAgICAyMzksIDIsIDIyNCwgMjUsIDI0OSwgMTg0LCAyMTUsIDE2NCwgMjE5LCAyNDQsIDI0OSwgMTYwLCA4MywgMjE5LCA5NSwgNjcsIAotICAgIDIxOSwgOTUsIDIzMywgMCwgMjE3LCA4NiwgMjE4LCAyMzgsIDI1MywgMTQ5LCAyMjgsIDE4MiwgMjQ3LCAyNDUsIDIyOCwgCi0gICAgMTgyLCAyNDksIDEzNSwgMjI3LCAyOSwgODMsIDIxNywgMjA5LCA2NywgMjE3LCAyMDksIDI1MiwgNzUsIDI1MSwgODksIAotICAgIDI1MiwgNzUsIDkyLCAyLCAyNTAsIDY1LCAyNTIsIDc1LCA5MiwgMiwgMjEzLCAxNjYsIDIyMiwgMTY5LCAyMTUsIDE2NSwgMiwgCi0gICAgMjI0LCA1MSwgMjQ2LCAzOSwgMjQwLCAyMzAsIDI1MSwgMTk5LCA2NywgMjIwLCAxODIsIDIyNSwgMjMzLCA4MywgMjIwLCAKLSAgICAxODIsIDIyNSwgMjMzLCAyMjEsIDEwLCAyMjMsIDIwMiwgMjIzLCA4OSwgMjQ0LCAyNCwgMjQxLCAyMTIsIDI1MSwgNDIsIAotICAgIDgzLCA0MiwgMjI1LCAxNDEsIDIzNSwgMjM5LCA4MywgNDYsIDIyNSwgMTQxLCAyMzUsIDIzOSwgNjcsIDQyLCAyMjUsIDE0MSwgCi0gICAgMjM1LCAyMzksIDY3LCAxMTQsIDIyNSwgMTQxLCAyMzUsIDIzOSwgNjcsIDQ2LCAyMjUsIDE0MSwgMjM1LCAyMzksIDY3LCAKLSAgICAxMTksIDIyNSwgMTQxLCAyMzUsIDIzOSwgMjIwLCAyOSwgMjQsIDI0OSwgNjksIDI1MCwgMTUyLCA1MiwgMjI0LCA2MiwgNTIsIAotICAgIDI1MSwgMTYyLCA1MiwgMjUwLCAyMTEsIDI1NCwgMTMsIDIyNywgMTIsIDI0OSwgNzAsIDI1MCwgNDgsIDIyMywgMTkwLCAKLSAgICAyNDksIDcxLCA2NSwgMjMyLCAxNzMsIDI0OSwgNzEsIDY1LCAyMzUsIDExNywgMjE5LCA5NiwgMjQsIDI0OSwgNzYsIDI0NCwgCi0gICAgMTM2LCA4NywgMjU0LCAxNTMsIDIyMSwgMTIsIDI0MiwgNSwgMjQsIDIyMCwgMTE1LCAyMjYsIDk1LCA4NywgMjEyLCAyNDUsIAotICAgIDIxMywgNTgsIDIxNiwgMTczLCAzMSwgMjQxLCAyMDcsIDIxNiwgMTczLCAzMSwgMjMzLCAxMzEsIDIxNiwgMTczLCAzMSwgCi0gICAgMjQ0LCA2NSwgMjE2LCAxNzMsIDMxLCAyMTcsIDg3LCAyMTYsIDE3MywgMzEsIDIxMywgMjI0LCAyMTYsIDE3MywgMzEsIAotICAgIDIxNCwgMjQsIDIxNiwgMTczLCAzMSwgMjMwLCAxODUsIDIxNiwgMTczLCAzMSwgMjQ1LCAxNzksIDIxMywgMjQyLCA2NSwgCi0gICAgMjQ3LCAyMjYsIDY3LCAyNDMsIDIwOSwgMjQ0LCAxNTgsIDY3LCAyMjAsIDIsIDI0NCwgMTU4LCA4MywgMjIwLCAyLCAyNDQsIAotICAgIDE1OCwgNjcsIDIxOCwgMjM5LCAyLCAyMjQsIDI1LCAyNDQsIDYxLCAyMjQsIDE2NywgMjMwLCAxOTgsIDIzMywgMTAzLCAKLSAgICAyMjQsIDE2NywgMjMwLCAxOTgsIDIzMSwgMTE4LCAyNDQsIDEwNywgNTIsIDI0NSwgMTc5LCAyMzEsIDI1MywgNTIsIDIzNSwgCi0gICAgNDEsIDIyMiwgMTM3LCAyMTUsIDExNiwgMjI5LCAxNzUsIDIyNSwgMTU0LCAyNTMsIDE4MywgMjE3LCAyNDcsIDI0MywgMjgsIAotICAgIDI1MCwgMTkxLCAyMzMsIDQzLCAyMTQsIDEzMSwgMjMzLCAxMCwgMjIyLCAxMTAsIDIyMiwgMTg4LCAyNTAsIDE4MCwgMjUzLCAKLSAgICAyMTIsIDIyNSwgMTg0LCA2NywgMjUwLCA1NCwgMjM0LCA4NywgNjcsIDI1MCwgNTQsIDIyNCwgMTU5LCA2NywgMjUwLCA1NCwgCi0gICAgMjIzLCA5NywgNjcsIDI1MCwgNTQsIDI1MSwgMTU0LCA2NywgMjUwLCA1NCwgMjM0LCAzOSwgNjcsIDI1MCwgNTQsIDIyNiwgCi0gICAgMTA1LCA4MywgMjUwLCA1NCwgMjM0LCA4NywgODMsIDI1MCwgNTQsIDIyNCwgMTU5LCA4MywgMjUwLCA1NCwgMjIzLCA5NywgCi0gICAgODMsIDI1MCwgNTQsIDI1MSwgMTU0LCA4MywgMjUwLCA1NCwgMjM0LCAzOSwgODMsIDI1MCwgNTQsIDIyNiwgMTA1LCA4MywgCi0gICAgMjE5LCAyMDQsIDIxOCwgMjUxLCA2NywgMjQxLCAyMTIsIDIxOCwgMjUxLCA2NywgMjQ3LCAyMDEsIDIxOCwgMjUxLCA4MywgCi0gICAgMjQ5LCAxODIsIDIxOCwgMjUxLCA2NywgMjE5LCAyMDQsIDIxOCwgMjUxLCA4MywgMjQxLCAyMTIsIDIxOCwgMjUxLCA4MywgCi0gICAgMjQ3LCAyMDEsIDIxOCwgMjUxLCA2NywgMjQ5LCAxODIsIDIxOCwgMjUxLCAyNDAsIDIzMCwgMjE5LCAxNzAsIDIyNCwgMTY3LCAKLSAgICAyMjgsIDE1OCwgMjQ1LCAxNDYsIDIyOCwgMTU4LCAyNTEsIDI0OSwgMjQ1LCAxNDYsIDIyOCwgMTUzLCAyNTEsIDI0OSwgCi0gICAgMjIwLCA0NiwgMjI4LCAxNTMsIDIzMCwgMTI3LCAyNDQsIDM1LCA1MiwgMjMwLCAxMjcsIDIzMCwgOSwgNTIsIDIzMCwgMTI3LCAKLSAgICAyMjAsIDI1NSwgNTIsIDIxMywgMjUwLCAxNzUsIDI0OSwgNzAsIDI0NSwgMTc2LCAxNzUsIDI0OSwgNzAsIDIxNSwgMTQyLCAKLSAgICAyMjQsIDUsIDg3LCAyMjQsIDUsIDE2LCAzMSwgMjE2LCAxNCwgMjI1LCAxNjYsIDIyNCwgNSwgMTYsIDMxLCAyMTYsIDEzLCAKLSAgICAyMjUsIDE2NiwgMjI0LCA1LCAxNiwgMzEsIDIxNiwgMTIsIDIyNSwgMTY2LCAyMjQsIDUsIDE2LCAzMSwgMjE2LCAxMSwgCi0gICAgMjI1LCAxNjYsIDIyNCwgNSwgMTYsIDMxLCAyMTYsIDEwLCAyMjUsIDE2NiwgMjI0LCA1LCAxNiwgMzEsIDIxNiwgOSwgMjI1LCAKLSAgICAxNjYsIDIyNCwgNSwgMTYsIDMxLCAyMTYsIDgsIDIyNSwgMTY2LCAyMjQsIDUsIDE2LCAzMSwgMjQzLCAyNiwgMjMxLCAyMDEsIAotICAgIDgzLCAyMTUsIDE0MiwgMjI0LCA1LCA4NywgMjI0LCA2LCAyMjYsIDE0OCwgODcsIDIyNiwgMTI0LCAyMjYsIDE0OCwgODcsIAotICAgIDIyNiwgNDksIDIyNiwgMTQ4LCA1MiwgMjEzLCAyNDAsIDg3LCAyNDcsIDE5MywgMjQ0LCAxNTcsIDI0NywgMTkzLCAyNDQsIAotICAgIDE1NiwgMjQ3LCAxOTMsIDI0NCwgMTU1LCAyNDcsIDE5MywgMjQ0LCAxNTQsIDI0NywgMTkzLCAyNDQsIDE1MywgMjQ3LCAKLSAgICAxOTMsIDI0NCwgMTUyLCA2NywgMjQ5LCAyMjksIDIsIDYyLCAyMjMsIDE0OCwgNjcsIDI0OSwgMjI5LCAyLCAxMTcsIDI0NywgCi0gICAgNzIsIDgzLCAyNDksIDIyOSwgMiwgNjcsIDYyLCAyMjMsIDE0OCwgODMsIDI0OSwgMjI5LCAyLCAxMTcsIDY3LCAyNDcsIDcyLCAKLSAgICAyMzAsIDIxMiwgMzEsIDIxMywgNTgsIDIzMCwgMjEyLCAzMSwgMjEyLCAyNDQsIDI0NywgMTc2LCAzMSwgMjQyLCAxMDgsIAotICAgIDIxMywgNTgsIDI0NywgMTc2LCAzMSwgMjMzLCAzNywgMjEyLCAyNDQsIDI0NywgMTc2LCAzMSwgMjMzLCAzNywgMjEzLCA1OCwgCi0gICAgMjQ3LCAxNzYsIDMxLCAyNDIsIDEwOCwgMjEyLCAyNDQsIDY3LCAyNDQsIDQyLCA4MywgMjQ0LCA0MiwgMjQyLCA1LCAyNCwgCi0gICAgMjI1LCAyMzYsIDI1NCwgMjksIDI0OSwgNjgsIDIxOCwgMTgwLCAyMTksIDEwMywgNjUsIDI1NCwgMTMxLCAyMjIsIDEyNCwgCi0gICAgMjU0LCA3NywgMjQ0LCAyMCwgMjQzLCAzNiwgMjE5LCAxMDMsIDY1LCAyNDEsIDE4NywgMjUzLCAxMTUsIDg3LCAyNDQsIDMxLCAKLSAgICAyMjYsIDI1MCwgNjcsIDIxOSwgOTUsIDEzMywgMjMyLCAyMzcsIDI0OSwgMTE0LCAyMjMsIDE0OCwgMTMzLCAyMzIsIDIzNywgCi0gICAgMjQ5LCAxMTQsIDIzMywgNzAsIDIxNCwgMzQsIDUyLCAxMjQsIDIxNCwgMTExLCA1MiwgMjQ2LCA2NCwgMjQ0LCAxMDcsIDUyLCAKLSAgICAyNDYsIDY0LCAyMzEsIDI1MywgNTIsIDIzNSwgMjAwLCAyNDQsIDEwNywgMjQsIDIzMSwgMjUzLCA1MiwgMjMxLCAyNTMsIAotICAgIDI0LCAyNDQsIDEwNywgNTIsIDIzMSwgMjUzLCAyLCAyMTksIDQ1LCA1MiwgMjMxLCAyNTMsIDIsIDIxOSwgNDUsIDI0LCAKLSAgICAyMzEsIDI1MywgMjQsIDI0NCwgMTA3LCA1MiwgNzEsIDIzMSwgMjUzLCAyLCAyMTksIDQ1LCA1MiwgMTk5LCAyMzEsIDI1MywgCi0gICAgMiwgMjE5LCA0NSwgNTIsIDIzMSwgMTQ3LCA2NywgMjQ5LCAyMjgsIDIzMSwgMTQ3LCA4MywgMjQ5LCAyMjgsIDIzMSwgMTQ3LCAKLSAgICAzLCA2NywgMjQ5LCAyMjgsIDIzMSwgMjE2LCA4NywgMjQ3LCAxMTksIDg3LCAyMTUsIDE0MCwgMjI2LCAxMjMsIDg3LCAyNDksIAotICAgIDE2OSwgMjQzLCAxOTYsIDIxNSwgMTEyLCAyMjksIDE3MCwgMjUwLCA5NSwgMjI2LCAxODgsIDIzNSwgNDcsIDIxNCwgMTYyLCAKLSAgICAyNTAsIDMwLCA4MywgMjMwLCAxOTksIDIzMiwgMjUzLCAyMjEsIDMzLCAyMjEsIDY3LCAyMjQsIDE1MCwgMjIxLCA1MSwgCi0gICAgMjE5LCAyMzksIDI1MiwgNzgsIDI1MiwgNDYsIDkxLCAyMzQsIDE0NCwgNjcsIDI0NiwgNDgsIDIzMSwgMjQ4LCA2NywgMjQ2LCAKLSAgICA0OCwgMjM0LCA4NywgODMsIDI0NiwgNDgsIDIzMSwgMjQ4LCA4MywgMjQ2LCA0OCwgMjM0LCA4NywgMjE5LCAyNDUsIDIxMywgCi0gICAgMjE2LCAyMTksIDI0OCwgMjE4LCAyMzksIDI1MSwgMjI3LCAyNDksIDE4NCwgMjI0LCA1MCwgODMsIDIxOSwgMjQ0LCAyMTcsIAotICAgIDg4LCAyNDksIDE4NSwgMjQsIDIyNCwgNTAsIDIxNiwgNTgsIDY3LCAyMjAsIDE4MiwgMjI1LCAyMzMsIDIxNiwgNTgsIDgzLCAKLSAgICAyMjAsIDE4MiwgMjI1LCAyMzMsIDY3LCAyNDcsIDIwMSwgMjM1LCAyNTIsIDIxOSwgMTY2LCAyNDksIDY1LCAyMzMsIDExNSwgCi0gICAgMjQ3LCAxNDUsIDI1MCwgMTc2LCAyMjcsIDMyLCAyMjUsIDIzNiwgMjUwLCAxNzcsIDIyMCwgMTYsIDI0MSwgMTk2LCAyLCAKLSAgICA2NywgMjQ5LCA3MCwgMzYsIDI0OSwgNjUsIDIzMywgMTE1LCAyNTAsIDg4LCAyMjgsIDE4NiwgMjQ1LCA4MywgMjU0LCA1MCwgCi0gICAgMjI3LCA1NywgNDIsIDIxNCwgMTAsIDIxNiwgMjA4LCA4MywgMjE2LCAyMSwgNDIsIDIxNCwgMTAsIDIxNiwgMjA4LCA2NywgCi0gICAgMjE2LCAyMSwgNDIsIDIxNCwgMTAsIDIxNiwgMjA4LCA4MywgNDIsIDIzMywgMTE2LCAyMzEsIDExNywgNjcsIDQyLCAyMzMsIAotICAgIDExNiwgMjMxLCAxMTcsIDI0NiwgNDQsIDIyMCwgMTAsIDUyLCAxMDcsIDY3LCAyNDYsIDU5LCAyMTYsIDE4MywgNDIsIDI0OSwgCi0gICAgMTkzLCAyNDUsIDgzLCA5MSwgMjIyLCAxNjksIDI0NCwgMTQzLCAyNDcsIDIwNywgMjM1LCAyNTIsIDY3LCAyNDksIDIyOSwgCi0gICAgMjM1LCAyNTIsIDgzLCAyMTksIDE2NiwgODMsIDIxNiwgMTUwLCAyMjMsIDIxMiwgNDIsIDI0NSwgODIsIDIyMywgMjEyLCAKLSAgICA0MiwgMjQ1LCA4MSwgMjUzLCAxMjcsIDE2LCAzMSwgMjE1LCAxMTYsIDEwNywgMjQ5LCAyMjksIDIsIDIxOSwgNDUsIDI0LCAKLSAgICAxMTcsIDE3NiwgNDksIDIyNiwgNjQsIDIyMywgMTQ1LCAyMzUsIDIwMiwgMjI2LCA2NCwgMjMzLCA2NywgMjM1LCAyMDIsIAotICAgIDIyNiwgNjQsIDIzNSwgMTkxLCAyMjYsIDY0LCA4MywgMjQ5LCA3MSwgMjI3LCA2MywgMjIwLCAyMDksIDIyMCwgMTk3LCAKLSAgICAyMjAsIDE1NCwgMjQ5LCAyNTQsIDI1MCwgMTU4LCAyNDEsIDE0MywgMjIwLCA1NCwgMjQzLCAzNywgMjEzLCAyMTYsIDI0MCwgCi0gICAgMjEwLCAyNDMsIDM3LCAyLCAyNDEsIDI1MSwgMjMxLCAyMzYsIDE2LCAzMSwgMjMzLCAxLCAyMzAsIDE4NSwgMjE1LCAxNjUsIAotICAgIDIyNywgNjMsIDI0MiwgMTAwLCAyNDMsIDIzOCwgMjQ0LCA0MywgMjM1LCAyNTIsIDI0MSwgNDUsIDI0NCwgOTgsIDIyMiwgCi0gICAgMTg1LCA0MSwgMjQzLCAyMzcsIDI0OSwgOTgsIDIyMCwgMzIsIDI0MCwgMTA1LCAyMjAsIDM1LCAyMjYsIDQ0LCAyLCAyNTIsIAotICAgIDc4LCAyMTcsIDE5NSwgMjM1LCAxMzEsIDI1MiwgNjUsIDg3LCAyNDEsIDIxNSwgMjQyLCAxMTAsIDg3LCAyNDMsIDIwMywgCi0gICAgMjI1LCAyOCwgMjQ5LCA0NCwgMjI3LCA2MywgODMsIDIxOSwgMTY2LCA2NywgMjQ0LCA0MywgMiwgMTk5LCAyMzEsIDM3LCAKLSAgICA4MywgMjE5LCA0NiwgMjE1LCAxMzEsIDI1MSwgMTQwLCAyMjIsIDExMiwgODMsIDIyMiwgMTEyLCAyMzIsIDE2MywgMjUxLCAKLSAgICAxNDAsIDIyMiwgMTEyLCA2NywgMjIyLCAxMTIsIDY3LCAxMDcsIDI1MCwgNjYsIDc3LCAyMTcsIDIxMCwgMjMyLCAyMDYsIAotICAgIDUyLCAyMTgsIDQsIDI0NiwgNDMsIDI1NCwgOTksIDI0NSwgNzgsIDIyNCwgNDgsIDI0NCwgNTQsIDIyNCwgNDgsIDI0MSwgCi0gICAgMjU0LCAyMTQsIDE1MiwgMjQxLCAyNTQsIDIxMywgMTg2LCAyNDEsIDI1NCwgMjMyLCAxNjMsIDQ2LCAyMjYsIDczLCAyMjYsIAotICAgIDczLCAyMTUsIDEzMSwgNDYsIDIyNiwgNzMsIDY3LCAyMjksIDYxLCA4MywgMjI5LCA2MSwgMjUwLCA2NiwgNzcsIDEwNywgCi0gICAgMjUwLCA2NiwgNzcsIDIzMCwgMTU0LCAyMTMsIDE2NiwgMTA3LCAyMzAsIDE1NCwgMjEzLCAxNjYsIDI1MiwgNzUsIDIxMywgCi0gICAgMTY2LCAxMDcsIDI1MiwgNzUsIDIxMywgMTY2LCAyMjYsIDI1MCwgMjUsIDI0OSwgNzAsIDEwNywgMjUsIDI0OSwgNzAsIAotICAgIDIyNywgNDAsIDI1MCwgMTA5LCAyNDksIDcwLCAxMDcsIDIyNywgNDAsIDI1MCwgMTA5LCAyNDksIDcwLCA3LCAyNDksIDcwLCAKLSAgICAyMjEsIDEzLCA2NywgNywgMjQ5LCA3MCwgMjI2LCAyNTAsIDcsIDI0OSwgNzAsIDIzMSwgMjUwLCAyNDksIDcwLCAyMTksIAotICAgIDk2LCA2NSwgMjQ4LCA5NSwgMjQzLCAyMzcsIDIxNywgMjIzLCAyNTMsIDEzMiwgMjQzLCAyMzcsIDI1MiwgNzYsIDI1MywgCi0gICAgMTMyLCAxMDcsIDI0MywgMjM3LCAyNTIsIDc2LCAyNTMsIDEzMiwgMjQzLCAyMzcsIDI0OSwgMTgwLCAyNTMsIDEzMiwgODMsIAotICAgIDI0MywgMjM3LCAyMjUsIDE0MywgMjE5LCA5NSwgNjcsIDI0MywgMjM3LCAyMjUsIDE0MywgMjE5LCA5NSwgMjE5LCAxOTksIAotICAgIDIxOSwgNTEsIDIyNiwgMjUwLCA2NywgMjE5LCA5NSwgMzYsIDY3LCAyMTksIDk1LCAyMjcsIDQwLCAyNTAsIDEwOSwgODMsIAotICAgIDIxOSwgOTUsIDgzLCAyNTAsIDEwOSwgNjcsIDIxOSwgOTUsIDIyNiwgMjUwLCA4MywgMjE5LCA5NSwgMTA3LCAyMjYsIDI1MCwgCi0gICAgODMsIDIxOSwgOTUsIDIyNSwgMTkyLCAyMTksIDk1LCAyMjEsIDEzLCA2NywgMjE5LCA5NSwgMTA3LCAyNTMsIDEzMiwgMjI3LCAKLSAgICA0MCwgMjUwLCAxMDksIDI1MywgMTMyLCAyNDUsIDE1MCwgMjE5LCAxNzYsIDI1MywgMTMyLCAyNDUsIDE1MCwgMjI1LCAxNDMsIAotICAgIDgzLCAyMTksIDk1LCAyNDUsIDE1MCwgMjI1LCAxNDMsIDIyNSwgMTkyLCAyMTksIDk1LCAyMjAsIDUzLCAyMjUsIDE0MywgCi0gICAgODMsIDIxOSwgOTUsIDI0NSwgMTUwLCAyMjUsIDE0MywgMjI0LCA3LCA4MywgMjE5LCA5NSwgMTA3LCAyNDUsIDE1MCwgMjI1LCAKLSAgICAxNDMsIDIyNCwgNywgODMsIDIxOSwgOTUsIDIxNiwgNDIsIDIyNSwgMTQzLCA4MywgMjE5LCA5NSwgMjIwLCA0OCwgMjI1LCAKLSAgICAxNDMsIDI1MywgMTMyLCAyMTcsIDIyMywgMjUzLCAxMzIsIDIyNywgNDAsIDI1MCwgMTA5LCAyMTcsIDIyMywgMjUzLCAxMzIsIAotICAgIDEwNywgMjE3LCAyMjMsIDI1MywgMTMyLCAyMjAsIDUzLCAyMjYsIDMzLCA4MywgMjQsIDY3LCAyNDQsIDIzLCA4MywgMjQ0LCAKLSAgICAyMywgNjcsIDI0NCwgMjMsIDI0NSwgMTUwLCAyMjYsIDMzLCAyMjYsIDI1MCwgODMsIDI0NCwgMjMsIDM2LCAyMjcsIDQwLCAKLSAgICAyNTAsIDEwOSwgMjQ1LCAxNTAsIDIyNSwgMTQzLCAyMTksIDk1LCAxMDcsIDIxNywgMjIzLCAyMjUsIDE5MiwgMjUzLCAxMzIsIAotICAgIDIxOSwgMjQ2LCAyMTcsIDU5LCAyMTYsIDE3NiwgMjE5LCAyNDYsIDEwNywgMjUwLCA1MSwgMjE5LCAyNDYsIDIxOSwgMjAxLCAKLSAgICAxMDcsIDIxOSwgMjAxLCAyNTIsIDc2LCAyNTMsIDEzMiwgMjQ1LCAxNTAsIDIxNywgMjIzLCAyMjUsIDU1LCAyNTMsIDEzMiwgCi0gICAgMTA3LCAyNDUsIDE1MCwgMjE3LCAyMjMsIDIyNSwgNTUsIDI1MywgMTMyLCAyNDksIDcxLCA3NywgMjIxLCAxMywgNjcsIAotICAgIDI0OSwgMjI4LCAxNDYsIDkxLCAyNDksIDcxLCA3NywgMjMyLCAxNjMsIDQ2LCAyNDYsIDQxLCA2NywgMjE5LCAxNjYsIDIxNSwgCi0gICAgMTMxLCA0NiwgMjQ2LCA0MSwgNjcsIDIxOSwgMTY2LCAyMzIsIDE2MywgNDYsIDIyMSwgMTMsIDY3LCAyMTksIDE2NiwgMjE1LCAKLSAgICAxMzEsIDQ2LCAyMjEsIDEzLCA2NywgMjE5LCAxNjYsIDgzLCAyMjQsIDE1OCwgMTUyLCAyMjcsIDE0LCA2NywgMjI0LCAxNTgsIAotICAgIDE1MiwgMjI3LCAxNCwgNjcsIDI0NCwgMjU0LCAxNTIsIDIyNywgMTQsIDgzLCAyNDcsIDIwMSwgMjMwLCAyNTEsIDY3LCAKLSAgICAyMTMsIDE2NiwgMTA3LCAyNDQsIDI1NCwgMTUyLCA4NywgMTc3LCA3MSwgMTM0LCAyMzEsIDE0NywgNzEsIDEzNCwgMTA3LCAKLSAgICA3MSwgMTM0LCAxMDcsIDIyMCwgODEsIDIxNiwgNTgsIDI0OSwgMTU4LCAyMjQsIDE0MywgMTUyLCAyMjcsIDE0LCAxMDcsIAotICAgIDIyMCwgODEsIDI0OSwgMTU4LCAyMjQsIDE0MywgMTUyLCAyMjcsIDE0LCAxMDcsIDUxLCAyMTYsIDU4LCAyNDksIDE1OCwgCi0gICAgMjI0LCAxNDMsIDE1MiwgMjI3LCAxNCwgMTA3LCA1MSwgMjQ5LCAxNTgsIDIyNCwgMTQzLCAxNTIsIDIyNywgMTQsIDEwNywgCi0gICAgMTE1LCAyMjAsIDgxLCAyNDksIDE1OCwgMjI0LCAxNDMsIDE1MiwgMjI3LCAxNCwgMTA3LCAxMTUsIDUxLCAyNDksIDE1OCwgCi0gICAgMjI0LCAxNDMsIDE1MiwgMjI3LCAxNCwgMjQ5LCAzMywgMjE5LCA4MCwgMjI2LCAxNDMsIDUsIDIyNywgMTQsIDEwNywgMjQ0LCAKLSAgICAyNTQsIDE1MiwgMjI3LCAxNCwgMTA3LCAyNDEsIDIxMiwgMjQ0LCAyNTQsIDE1MiwgMjI3LCAxNCwgMTA3LCA4MywgMjQxLCAKLSAgICAyMTEsIDIyMywgODksIDEwNywgODMsIDI0MSwgMjEyLCAyNTEsIDQyLCAyNDQsIDI0LCAyNDEsIDIxMSwgMjIzLCA4OSwgCi0gICAgMjQ0LCAyNCwgMjQxLCAyMTIsIDI1MSwgNDIsIDIzMSwgMTQ3LCA0MiwgMjI2LCAxMzIsIDIyNywgMTQsIDIzMSwgMTQ3LCAKLSAgICA0NiwgMjI2LCAxMzIsIDIyNywgMTQsIDIzMSwgMTQ3LCAyNDQsIDMyLCA0MiwgMjI2LCAxMzIsIDIyNywgMTQsIDIzMSwgCi0gICAgMTQ3LCAyNDQsIDMyLCA0NiwgMjI2LCAxMzIsIDIyNywgMTQsIDIzMSwgMTQ3LCAyMzMsIDY2LCAyNTQsIDE5LCAyNTEsIDg1LCAKLSAgICAyMjcsIDE0LCAyMzEsIDE0NywgMjIzLCAxNDQsIDI1NCwgMTksIDI1MSwgODUsIDIyNywgMTQsIDEwNywgMjMzLCA2NiwgCi0gICAgMjU0LCAxOSwgMjI0LCAxNDMsIDE1MiwgMjI3LCAxNCwgMTA3LCAyMjMsIDE0NCwgMjU0LCAxOSwgMjI0LCAxNDMsIDE1MiwgCi0gICAgMjI3LCAxNCwgMTA3LCAyMzMsIDY2LCAyNTQsIDE5LCAyNTEsIDg1LCAyMjcsIDE0LCAxMDcsIDIyMywgMTQ0LCAyNTQsIDE5LCAKLSAgICAyNTEsIDg1LCAyMjcsIDE0LCAxNzcsIDQyLCAyMTYsIDIxOSwgMjIwLCAyMzMsIDI1MSwgODUsIDIyNywgMTQsIDE3NywgNDYsIAotICAgIDIxNiwgMjE5LCAyMjAsIDIzMywgMjUxLCA4NSwgMjI3LCAxNCwgMjMxLCAxNDcsIDQyLCAyNDksIDQwLCAyNTEsIDg1LCAKLSAgICAyMjcsIDE0LCAyMzEsIDE0NywgNDYsIDI0OSwgNDAsIDI1MSwgODUsIDIyNywgMTQsIDI0NywgMTU2LCAxNDYsIDM2LCAyMSwgCi0gICAgMTE2LCAyNDcsIDE1NiwgMTQ2LCAzNiwgMjEsIDEwOSwgMjQ3LCAxNTYsIDE0NiwgMzYsIDIxLCAxNjYsIDI0NywgMTU2LCAKLSAgICAxNDYsIDM2LCAyMSwgMTYzLCAyNDcsIDE1NiwgMTQ2LCAzNiwgMjEsIDE4MCwgMjQ3LCAxNTYsIDE0NiwgMzYsIDIxLCAxODksIAotICAgIDI0NywgMTU2LCAxNDYsIDM2LCAyMSwgMTk4LCAyNDcsIDE1NiwgMTQ2LCAzNiwgMjEsIDE5NSwgMjQ3LCAxNTYsIDE0NiwgCi0gICAgMzYsIDIxLCAyMDAsIDI0NywgMTU2LCAxNDYsIDM2LCA1MCwgMjE3LCAyMDAsIDI0NywgMTU2LCAzNiwgMzUsIDIxLCAxMTYsIAotICAgIDI0NywgMTU2LCAzNiwgMzUsIDIxLCAxMDksIDI0NywgMTU2LCAzNiwgMzUsIDIxLCAxNjYsIDI0NywgMTU2LCAzNiwgMzUsIAotICAgIDIxLCAxNjMsIDI0NywgMTU2LCAzNiwgMzUsIDIxLCAxODAsIDI0NywgMTU2LCAzNiwgMzUsIDIxLCAxODksIDI0NywgMTU2LCAKLSAgICAzNiwgMzUsIDIxLCAxOTgsIDI0NywgMTU2LCAzNiwgMzUsIDIxLCAxOTUsIDI0NywgMTU2LCAzNiwgMzUsIDIxLCAyMDAsIAotICAgIDI0NywgMTU2LCAzNiwgMzUsIDUwLCAyMTcsIDIwMCwgMjQ3LCAxNTYsIDE0NiwgMzYsIDM1LCAyMSwgMTE2LCAyNDcsIDE1NiwgCi0gICAgMTQ2LCAzNiwgMzUsIDIxLCAxMDksIDI0NywgMTU2LCAxNDYsIDM2LCAzNSwgMjEsIDE2NiwgMjQ3LCAxNTYsIDE0NiwgMzYsIAotICAgIDM1LCAyMSwgMTYzLCAyNDcsIDE1NiwgMTQ2LCAzNiwgMzUsIDIxLCAxODAsIDI0NywgMTU2LCAxNDYsIDM2LCAzNSwgMjEsIAotICAgIDE4OSwgMjQ3LCAxNTYsIDE0NiwgMzYsIDM1LCAyMSwgMTk4LCAyNDcsIDE1NiwgMTQ2LCAzNiwgMzUsIDIxLCAxOTUsIDI0NywgCi0gICAgMTU2LCAxNDYsIDM2LCAzNSwgMjEsIDIwMCwgMjQ3LCAxNTYsIDE0NiwgMzYsIDM1LCA1MCwgMjE3LCAyMDAsIDEwNywgMjEzLCAKLSAgICAyMzEsIDk1LCA2OCwgMTA3LCA5NCwgNTIsIDEwNywgMjMwLCAyNTEsIDUyLCAxMDcsIDI0NywgMTIxLCA1MiwgMTA3LCAyMTksIAotICAgIDIxNSwgMjQ1LCAxNzYsIDY4LCAxMDcsIDk1LCA2OCwgMTA3LCAyMjgsIDE2NywgMjQ1LCAxNzYsIDY4LCAyNDYsIDUyLCAKLSAgICAyMjUsIDE0NSwgOTUsIDY4LCAxMDcsIDIyMywgODYsIDk1LCA2OCwgMjE2LCAxODIsIDk1LCA2OCwgMTA3LCAyMTYsIDE4MiwgCi0gICAgOTUsIDY4LCAyNDgsIDEwMCwgMjE2LCAxODIsIDk1LCA2OCwgMTA3LCAyNDgsIDEwMCwgMjE2LCAxODIsIDk1LCA2OCwgODMsIAotICAgIDk1LCA2OCwgMjE3LCA5NywgMjE2LCAyMjUsIDk1LCAyNTMsIDE2NCwgMjE3LCA5NywgMjUxLCA5OSwgOTUsIDI1MywgMTY0LCAKLSAgICA4MywgOTUsIDI1MywgMTY0LCAxMDcsIDgzLCAyNDksIDMzLCAyNDYsIDU4LCAyNCwgOTUsIDY4LCAxMDcsIDgzLCAyNDksIAotICAgIDMzLCAyMTUsIDEyNCwgMjQsIDk1LCA2OCwgMjE5LCAxNjMsIDgzLCA5NSwgNjgsIDEwNywgMjQ5LCAxNDUsIDgzLCA5NSwgCi0gICAgNjgsIDIyMywgMTQzLCA2NywgOTUsIDY4LCAyMzMsIDY1LCA2NywgOTUsIDY4LCAyNTIsIDEwMCwgMjIxLCAxMywgNjcsIDk1LCAKLSAgICA2OCwgMjQzLCAyMTEsIDIyMSwgMTMsIDY3LCA5NSwgNjgsIDEwNywgMjMyLCAxNjMsIDIyMywgMTQyLCA2NywgOTUsIDY4LCAKLSAgICAxMDcsIDIxNSwgMTMxLCAyMjMsIDE0MiwgNjcsIDk1LCA2OCwgMjI4LCAxNjAsIDIzMiwgMTYzLCAyMjMsIDE0MiwgNjcsIAotICAgIDk1LCA2OCwgMjQ5LCA0MCwgMjMyLCAxNzcsIDIyOCwgMTYwLCAyMTUsIDEzMSwgMjIzLCAxNDIsIDY3LCA5NSwgNjgsIDM2LCAKLSAgICAxMDcsIDY3LCA5NSwgNjgsIDIxMywgMjM3LCA5NSwgNjgsIDI1MSwgMTQzLCAyMTksIDIxNSwgMjQ1LCAxNzYsIDY4LCAyNTEsIAotICAgIDE0MywgOTUsIDY4LCAyNTEsIDE0MywgMjI4LCAxNjcsIDI0NSwgMTc2LCA2OCwgMTA3LCAyNTEsIDE0MywgMjE5LCAyMTUsIAotICAgIDI0NSwgMTc2LCA2OCwgMTA3LCAyNTEsIDE0MywgOTUsIDY4LCAxMDcsIDI1MSwgMTQzLCAyMjgsIDE2NywgMjQ1LCAxNzYsIAotICAgIDY4LCAyMTcsIDIyNSwgOTUsIDY4LCAxMDcsIDIxNywgMjI0LCA5NSwgNjgsIDIxNCwgMiwgOTUsIDY4LCAxMDcsIDIxNCwgMiwgCi0gICAgOTUsIDY4LCAyMjcsIDM3LCA5NSwgNjgsIDUxLCAyNDksIDQwLCAyMzIsIDE3NywgMTMzLCAyNDcsIDE2NiwgMjU0LCAxOCwgCi0gICAgNjcsIDIxNiwgMTg0LCAyNDksIDEyNiwgMywgNjcsIDIxNiwgMTgzLCAyMjYsIDQ3LCAyMjcsIDQwLCAyMTksIDgsIDIyNywgCi0gICAgNDAsIDIxOCwgMjIxLCA0MiwgMjIzLCAzLCAyNTIsIDkxLCAyNDgsIDExLCA0NiwgMjIzLCAzLCAyNTIsIDkxLCAyNDgsIDExLCAKLSAgICAxNjcsIDIsIDYyLCAyMzUsIDIxMiwgMjIzLCAyMDMsIDIxOSwgMjMyLCAyMjUsIDgxLCAyMTksIDgsIDIxOCwgMjIyLCAyMjUsIAotICAgIDgxLCAyMTksIDIzMSwgNzEsIDI1MiwgNjAsIDIsIDE5OSwgOTAsIDE4NCwgMjQ3LCAxMjAsIDkxLCAyMzIsIDE5OSwgMjU0LCAKLSAgICAyNywgOTEsIDIzMiwgMTk5LCAyMjcsIDI0LCA2NywgMjQ3LCAyMDEsIDIsIDI1MCwgMTA3LCAyNDcsIDc0LCAyNCwgMiwgCi0gICAgMjQ3LCA3NCwgMjQ1LCAxMjcsIDY1LCAyMjcsIDM1LCAyMTUsIDEyMywgMjMyLCAxNjMsIDQ2LCAyNDksIDEwMCwgMiwgMjQ3LCAKLSAgICA3NCwgMjE1LCAxMzEsIDQyLCAyNDksIDEwMCwgMiwgMjQ3LCA3NCwgNDIsIDIyNiwgMjUyLCAyMzUsIDY5LCA0NiwgMjI2LCAKLSAgICAyNTIsIDIzNSwgNjksIDI0MywgMjAwLCAyMjYsIDI1MiwgMjM1LCA2OSwgMjMzLCAxMDgsIDExNCwgMjE4LCAzNiwgMjMzLCAKLSAgICAxMDgsIDExOSwgMjE4LCAzNiwgNDIsIDI0LCA0NiwgNTEsIDIxNiwgNTcsIDQyLCAyNCwgNDYsIDIxOCwgMzYsIDQyLCAyMzAsIAotICAgIDE1NywgMTg0LCA0NiwgMjE4LCAzNiwgMTg0LCA0MiwgMjE4LCAzNiwgMTE0LCAyMTgsIDM3LCAyLCAyNDksIDIyOSwgNDksIAotICAgIDIzMiwgMTYwLCAyNDcsIDEyNSwgMjUxLCA3LCAxOTksIDIyMywgNDQsIDY3LCAyNDksIDE0NCwgMjQ3LCAyMDAsIDY3LCAKLSAgICAyNDksIDE0NCwgMjQ3LCAyMDEsIDIsIDEzMiwgMjE3LCA2OCwgNjcsIDI0OSwgMTQ0LCAyNDcsIDIwMSwgMiwgOTUsIDIxNywgCi0gICAgNjgsIDY3LCA0MSwgMiwgMTMyLCAyMTcsIDY4LCA2NywgNDEsIDIsIDk1LCAyMTcsIDY4LCAxNCwgNDIsIDY3LCA0MSwgMTI1LCAKLSAgICAxNCwgNDYsIDY3LCA0MSwgMTI1LCAxNCwgNDIsIDI1NCwgMTksIDEyNSwgMTQsIDQ2LCAyNTQsIDE5LCAxMjUsIDE0LCA0MiwgCi0gICAgNTEsIDI1NCwgMTksIDEyNSwgMTQsIDQ2LCA1MSwgMjU0LCAxOSwgMTI1LCAxNCwgNDIsIDY3LCAyMTYsIDIxOSwgMjIwLCAKLSAgICAyMzMsIDEyNSwgMTQsIDQ2LCA2NywgMjE2LCAyMTksIDIyMCwgMjMzLCAxMjUsIDE0LCA0MiwgMjQ0LCAzMiwgMjI2LCAxMzEsIAotICAgIDE0LCA0NiwgMjQ0LCAzMiwgMjI2LCAxMzEsIDIxNSwgMTI0LCAyMjQsIDE2OSwgNjgsIDI0NiwgNTgsIDIyNCwgMTY5LCA2OCwgCi0gICAgMjUzLCAyNTUsIDI0MywgNzQsIDI0OSwgMjI5LCA2OCwgMjQ5LCAxOTUsIDI0MywgNzQsIDI0OSwgMjI5LCA2OCwgNDYsIDc2LCAKLSAgICAyLCAzNiwgMjI1LCAxNTYsIDE4NCwgMTMyLCA2OCwgMTg0LCA5NSwgNjgsIDE4NCwgNDIsIDQ2LCA2OCwgMTg0LCAxMzIsIAotICAgIDUxLCA2OCwgMTg0LCA5NSwgNTEsIDY4LCAxODQsIDQyLCA0NiwgNTEsIDY4LCAxODQsIDEzMiwgNzYsIDI0MywgMjEzLCAKLSAgICAxMzQsIDE4NCwgOTUsIDc2LCAyNDMsIDIxMywgMTM0LCAxODQsIDEzMiwgNTEsIDc2LCAyNDMsIDIxMywgMTM0LCAxODQsIAotICAgIDk1LCA1MSwgNzYsIDI0MywgMjEzLCAxMzQsIDE4NCwgOTUsIDIxOSwgMTYyLCA2OCwgNDQsIDQ1LCAyNTEsIDEzOCwgNDQsIAotICAgIDQ1LCAyNDcsIDcxLCA0NCwgNDUsIDI0NiwgMTk5LCA0NCwgNDUsIDI0NywgNzAsIDQ0LCA0NSwgMjQ2LCAxMzUsIDQ0LCA0NSwgCi0gICAgMjQ3LCA2LCA0NCwgNDUsIDI0NiwgMTk4LCA0NCwgNDUsIDI0NywgNjksIDQ0LCA0NSwgMjQ2LCAxMDMsIDQ0LCA0NSwgMjQ2LCAKLSAgICAyMzAsIDQ0LCA0NSwgMjQ2LCAxNjYsIDQ0LCA0NSwgMjQ3LCAzNywgNDQsIDQ1LCAyNDYsIDEzNCwgNDQsIDQ1LCAyNDcsIDUsIAotICAgIDQ0LCA0NSwgMjQ2LCAxOTcsIDQ0LCA0NSwgMjQ3LCA2OCwgNDQsIDQ1LCAyNDYsIDg3LCA0NCwgNDUsIDI0NiwgMjE0LCA0NCwgCi0gICAgNDUsIDI0NiwgMTUwLCA0NCwgNDUsIDI0NywgMjEsIDQ0LCA0NSwgMjQ2LCAxMTgsIDQ0LCA0NSwgMjQ2LCAyNDUsIDQ0LCAKLSAgICA0NSwgMjQ2LCAxODEsIDQ0LCA0NSwgMjQ3LCA1MiwgNDQsIDQ1LCAyNDYsIDEwMiwgNDQsIDQ1LCAyNDYsIDIyOSwgNDQsIAotICAgIDQ1LCAyNDYsIDE2NSwgNDQsIDQ1LCAyNDcsIDM2LCA0NCwgNDUsIDI0NiwgMTMzLCA0NCwgNDUsIDI0NywgNCwgNDQsIDQ1LCAKLSAgICAyNDYsIDE5NiwgNDQsIDQ1LCAyNDcsIDY3LCA0NCwgNDUsIDI0NiwgNzksIDQ0LCA0NSwgMjQ2LCAyMDYsIDQ0LCA0NSwgCi0gICAgMjQ2LCAxNDIsIDQ0LCA0NSwgMjQ3LCAxMywgNDQsIDQ1LCAyNDYsIDExMCwgNDQsIDQ1LCAyNDYsIDIzNywgNDQsIDQ1LCAKLSAgICAyNDYsIDE3MywgNDQsIDQ1LCAyNDcsIDQ0LCA0NCwgNDUsIDI0NiwgOTQsIDQ0LCA0NSwgMjQ2LCAyMjEsIDQ0LCA0NSwgCi0gICAgMjQ2LCAxNTcsIDQ0LCA0NSwgMjQ3LCAyOCwgNDQsIDQ1LCAyNDYsIDEyNSwgNDQsIDQ1LCAyNDYsIDI1MiwgNDQsIDQ1LCAKLSAgICAyNDYsIDE4OCwgNDQsIDQ1LCAyNDcsIDU5LCA0NCwgNDUsIDI0NiwgODYsIDQ0LCA0NSwgMjQ2LCAyMTMsIDQ0LCA0NSwgCi0gICAgMjQ2LCAxNDksIDQ0LCA0NSwgMjQ3LCAyMCwgNDQsIDQ1LCAyNDYsIDExNywgNDQsIDQ1LCAyNDYsIDI0NCwgNDQsIDQ1LCAKLSAgICAyNDYsIDE4MCwgNDQsIDQ1LCAyNDcsIDUxLCA0NCwgNDUsIDI0NiwgMTAxLCA0NCwgNDUsIDI0NiwgMjI4LCA0NCwgNDUsIAotICAgIDI0NiwgMTY0LCA0NCwgNDUsIDI0NywgMzUsIDQ0LCA0NSwgMjQ2LCAxMzIsIDQ0LCA0NSwgMjQ3LCAzLCA0NCwgNDUsIDI0NiwgCi0gICAgMTk1LCA0NCwgNDUsIDI0NywgNjYsIDQ0LCA0NSwgMjQ2LCA3NSwgNDQsIDQ1LCAyNDYsIDIwMiwgNDQsIDQ1LCAyNDYsIAotICAgIDEzOCwgNDQsIDQ1LCAyNDcsIDksIDQ0LCA0NSwgMjQ2LCAxMDYsIDQ0LCA0NSwgMjQ2LCAyMzMsIDQ0LCA0NSwgMjQ2LCAKLSAgICAxNjksIDQ0LCA0NSwgMjQ3LCA0MCwgNDQsIDQ1LCAyNDYsIDkwLCA0NCwgNDUsIDI0NiwgMjE3LCA0NCwgNDUsIDI0NiwgCi0gICAgMTUzLCA0NCwgNDUsIDI0NywgMjQsIDQ0LCA0NSwgMjQ2LCAxMjEsIDQ0LCA0NSwgMjQ2LCAyNDgsIDQ0LCA0NSwgMjQ2LCAKLSAgICAxODQsIDQ0LCA0NSwgMjQ3LCA1NSwgNDQsIDQ1LCAyNDYsIDgyLCA0NCwgNDUsIDI0NiwgMjA5LCA0NCwgNDUsIDI0NiwgCi0gICAgMTQ1LCA0NCwgNDUsIDI0NywgMTYsIDQ0LCA0NSwgMjQ2LCAxMTMsIDQ0LCA0NSwgMjQ2LCAyNDAsIDQ0LCA0NSwgMjQ2LCAKLSAgICAxNzYsIDQ0LCA0NSwgMjQ3LCA0NywgNDQsIDQ1LCAyNDYsIDk3LCA0NCwgNDUsIDI0NiwgMjI0LCA0NCwgNDUsIDI0NiwgCi0gICAgMTYwLCA0NCwgNDUsIDI0NywgMzEsIDQ0LCA0NSwgMjQ2LCAxMjgsIDQ0LCA0NSwgMjQ2LCAyNTUsIDQ0LCA0NSwgMjQ2LCAKLSAgICAxOTEsIDQ0LCA0NSwgMjQ3LCA2MiwgNDQsIDQ1LCAyNDYsIDc4LCA0NCwgNDUsIDI0NiwgMjA1LCA0NCwgNDUsIDI0NiwgCi0gICAgMTQxLCA0NCwgNDUsIDI0NywgMTIsIDQ0LCA0NSwgMjQ2LCAxMDksIDQ0LCA0NSwgMjQ2LCAyMzYsIDQ0LCA0NSwgMjQ2LCAKLSAgICAxNzIsIDQ0LCA0NSwgMjQ3LCA0MywgNDQsIDQ1LCAyNDYsIDkzLCA0NCwgNDUsIDI0NiwgMjIwLCA0NCwgNDUsIDI0NiwgCi0gICAgMTU2LCA0NCwgNDUsIDI0NywgMjcsIDQ0LCA0NSwgMjQ2LCAxMjQsIDQ0LCA0NSwgMjQ2LCAyNTEsIDQ0LCA0NSwgMjQ2LCAKLSAgICAxODcsIDQ0LCA0NSwgMjQ3LCA1OCwgNDQsIDQ1LCAyNDYsIDg1LCA0NCwgNDUsIDI0NiwgMjEyLCA0NCwgNDUsIDI0NiwgCi0gICAgMTQ4LCA0NCwgNDUsIDI0NywgMTksIDQ0LCA0NSwgMjQ2LCAxMTYsIDQ0LCA0NSwgMjQ2LCAyNDMsIDQ0LCA0NSwgMjQ2LCAKLSAgICAxNzksIDQ0LCA0NSwgMjQ3LCA1MCwgNDQsIDQ1LCAyNDYsIDEwMCwgNDQsIDQ1LCAyNDYsIDIyNywgNDQsIDQ1LCAyNDYsIAotICAgIDE2MywgNDQsIDQ1LCAyNDcsIDM0LCA0NCwgNDUsIDI0NiwgMTMxLCA0NCwgNDUsIDI0NywgMiwgNDQsIDQ1LCAyNDYsIDE5NCwgCi0gICAgNDQsIDQ1LCAyNDcsIDY1LCA0NCwgNDUsIDI0NiwgNzMsIDQ0LCA0NSwgMjQ2LCAyMDAsIDQ0LCA0NSwgMjQ2LCAxMzYsIDQ0LCAKLSAgICA0NSwgMjQ3LCA3LCA0NCwgNDUsIDI0NiwgMTA0LCA0NCwgNDUsIDI0NiwgMjMxLCA0NCwgNDUsIDI0NiwgMTY3LCA0NCwgNDUsIAotICAgIDI0NywgMzgsIDQ0LCA0NSwgMjQ2LCA4OCwgNDQsIDQ1LCAyNDYsIDIxNSwgNDQsIDQ1LCAyNDYsIDE1MSwgNDQsIDQ1LCAKLSAgICAyNDcsIDIyLCA0NCwgNDUsIDI0NiwgMTE5LCA0NCwgNDUsIDI0NiwgMjQ2LCA0NCwgNDUsIDI0NiwgMTgyLCA0NCwgNDUsIAotICAgIDI0NywgNTMsIDQ0LCA0NSwgMjQ2LCA4MCwgNDQsIDQ1LCAyNDYsIDIwNywgNDQsIDQ1LCAyNDYsIDE0MywgNDQsIDQ1LCAKLSAgICAyNDcsIDE0LCA0NCwgNDUsIDI0NiwgMTExLCA0NCwgNDUsIDI0NiwgMjM4LCA0NCwgNDUsIDI0NiwgMTc0LCA0NCwgNDUsIAotICAgIDI0NywgNDUsIDQ0LCA0NSwgMjQ2LCA5NSwgNDQsIDQ1LCAyNDYsIDIyMiwgNDQsIDQ1LCAyNDYsIDE1OCwgNDQsIDQ1LCAKLSAgICAyNDcsIDI5LCA0NCwgNDUsIDI0NiwgMTI2LCA0NCwgNDUsIDI0NiwgMjUzLCA0NCwgNDUsIDI0NiwgMTg5LCA0NCwgNDUsIAotICAgIDI0NywgNjAsIDQ0LCA0NSwgMjQ2LCA3NiwgNDQsIDQ1LCAyNDYsIDIwMywgNDQsIDQ1LCAyNDYsIDEzOSwgNDQsIDQ1LCAKLSAgICAyNDcsIDEwLCA0NCwgNDUsIDI0NiwgMTA3LCA0NCwgNDUsIDI0NiwgMjM0LCA0NCwgNDUsIDI0NiwgMTcwLCA0NCwgNDUsIAotICAgIDI0NywgNDEsIDQ0LCA0NSwgMjQ2LCA5MSwgNDQsIDQ1LCAyNDYsIDIxOCwgNDQsIDQ1LCAyNDYsIDE1NCwgNDQsIDQ1LCAKLSAgICAyNDcsIDI1LCA0NCwgNDUsIDI0NiwgMTIyLCA0NCwgNDUsIDI0NiwgMjQ5LCA0NCwgNDUsIDI0NiwgMTg1LCA0NCwgNDUsIAotICAgIDI0NywgNTYsIDQ0LCA0NSwgMjQ2LCA4MywgNDQsIDQ1LCAyNDYsIDIxMCwgNDQsIDQ1LCAyNDYsIDE0NiwgNDQsIDQ1LCAKLSAgICAyNDcsIDE3LCA0NCwgNDUsIDI0NiwgMTE0LCA0NCwgNDUsIDI0NiwgMjQxLCA0NCwgNDUsIDI0NiwgMTc3LCA0NCwgNDUsIAotICAgIDI0NywgNDgsIDQ0LCA0NSwgMjQ2LCA5OCwgNDQsIDQ1LCAyNDYsIDIyNSwgNDQsIDQ1LCAyNDYsIDE2MSwgNDQsIDQ1LCAKLSAgICAyNDcsIDMyLCA0NCwgNDUsIDI0NiwgMTI5LCA0NCwgNDUsIDI0NywgMCwgNDQsIDQ1LCAyNDYsIDE5MiwgNDQsIDQ1LCAyNDcsIAotICAgIDYzLCA0NCwgNDUsIDI0NiwgNzQsIDQ0LCA0NSwgMjQ2LCAyMDEsIDQ0LCA0NSwgMjQ2LCAxMzcsIDQ0LCA0NSwgMjQ3LCA4LCAKLSAgICA0NCwgNDUsIDI0NiwgMTA1LCA0NCwgNDUsIDI0NiwgMjMyLCA0NCwgNDUsIDI0NiwgMTY4LCA0NCwgNDUsIDI0NywgMzksIAotICAgIDQ0LCA0NSwgMjQ2LCA4OSwgNDQsIDQ1LCAyNDYsIDIxNiwgNDQsIDQ1LCAyNDYsIDE1MiwgNDQsIDQ1LCAyNDcsIDIzLCA0NCwgCi0gICAgNDUsIDI0NiwgMTIwLCA0NCwgNDUsIDI0NiwgMjQ3LCA0NCwgNDUsIDI0NiwgMTgzLCA0NCwgNDUsIDI0NywgNTQsIDQ0LCAKLSAgICA0NSwgMjQ2LCA4MSwgNDQsIDQ1LCAyNDYsIDIwOCwgNDQsIDQ1LCAyNDYsIDE0NCwgNDQsIDQ1LCAyNDcsIDE1LCA0NCwgNDUsIAotICAgIDI0NiwgMTEyLCA0NCwgNDUsIDI0NiwgMjM5LCA0NCwgNDUsIDI0NiwgMTc1LCA0NCwgNDUsIDI0NywgNDYsIDQ0LCA0NSwgCi0gICAgMjQ2LCA5NiwgNDQsIDQ1LCAyNDYsIDIyMywgNDQsIDQ1LCAyNDYsIDE1OSwgNDQsIDQ1LCAyNDcsIDMwLCA0NCwgNDUsIAotICAgIDI0NiwgMTI3LCA0NCwgNDUsIDI0NiwgMjU0LCA0NCwgNDUsIDI0NiwgMTkwLCA0NCwgNDUsIDI0NywgNjEsIDQ0LCA0NSwgCi0gICAgMjQ2LCA3NywgNDQsIDQ1LCAyNDYsIDIwNCwgNDQsIDQ1LCAyNDYsIDE0MCwgNDQsIDQ1LCAyNDcsIDExLCA0NCwgNDUsIAotICAgIDI0NiwgMTA4LCA0NCwgNDUsIDI0NiwgMjM1LCA0NCwgNDUsIDI0NiwgMTcxLCA0NCwgNDUsIDI0NywgNDIsIDQ0LCA0NSwgCi0gICAgMjQ2LCA5MiwgNDQsIDQ1LCAyNDYsIDIxOSwgNDQsIDQ1LCAyNDYsIDE1NSwgNDQsIDQ1LCAyNDcsIDI2LCA0NCwgNDUsIAotICAgIDI0NiwgMTIzLCA0NCwgNDUsIDI0NiwgMjUwLCA0NCwgNDUsIDI0NiwgMTg2LCA0NCwgNDUsIDI0NywgNTcsIDQ0LCA0NSwgCi0gICAgMjQ2LCA4NCwgNDQsIDQ1LCAyNDYsIDIxMSwgNDQsIDQ1LCAyNDYsIDE0NywgNDQsIDQ1LCAyNDcsIDE4LCA0NCwgNDUsIAotICAgIDI0NiwgMTE1LCA0NCwgNDUsIDI0NiwgMjQyLCA0NCwgNDUsIDI0NiwgMTc4LCA0NCwgNDUsIDI0NywgNDksIDQ0LCA0NSwgCi0gICAgMjQ2LCA5OSwgNDQsIDQ1LCAyNDYsIDIyNiwgNDQsIDQ1LCAyNDYsIDE2MiwgNDQsIDQ1LCAyNDcsIDMzLCA0NCwgNDUsIAotICAgIDI0NiwgMTMwLCA0NCwgNDUsIDI0NywgMSwgNDQsIDQ1LCAyNDYsIDE5MywgNDQsIDQ1LCAyNDcsIDY0LCA5NSwgMjE2LCAyNCwgCi0gICAgNzYsIDIsIDcxLCA5MCwgOTUsIDIxNiwgMjQsIDc2LCAyLCA1MSwgNzEsIDkwLCAxMzIsIDUxLCA3NiwgMiwgNzEsIDkwLCAKLSAgICA5NSwgNTEsIDc2LCAyLCA3MSwgOTAsIDQyLCA0NiwgNTEsIDc2LCAyLCA3MSwgOTAsIDk1LCAyMTYsIDI0LCA3NiwgMjQzLCAKLSAgICAyMTMsIDEzNCwgMTMyLCA1MSwgNzYsIDI0MywgMjEzLCAxMzQsIDk1LCA1MSwgNzYsIDI0MywgMjEzLCAxMzQsIDI0NiwgNTgsIAotICAgIDc2LCAyLCAxOTksIDkwLCAyMTUsIDEyNCwgNzYsIDIsIDE5OSwgOTAsIDIxNSwgMTI0LCAyMTYsIDE2OSwgNjgsIDI0NiwgCi0gICAgNTgsIDIxNiwgMTY5LCA2OCwgMTMyLCA1MSwgMjQ4LCAxMDIsIDY4LCA5NSwgNTEsIDI0OCwgMTAyLCA2OCwgMTMyLCAyMTYsIAotICAgIDE2OSwgMjQ4LCAxMDIsIDY4LCA5NSwgMjE2LCAxNjksIDI0OCwgMTAyLCA2OCwgOTUsIDIxNiwgMjQsIDIxNiwgMTY5LCAKLSAgICAyNDgsIDEwMiwgNjgsIDk1LCA3NiwgMiwgMjQ2LCA3MiwgMjE5LCA3OSwgMjE1LCAxMjQsIDc2LCAyMTEsIDIxMSwgMTM0LCAKLSAgICAyNDYsIDU4LCA3NiwgMjExLCAyMTEsIDEzNCwgOTUsIDc2LCAyLCAyMTgsIDI4LCAyLCA3MSwgOTAsIDk1LCA3NiwgMiwgCi0gICAgMjE4LCAyOCwgMiwgNTEsIDcxLCA5MCwgOTUsIDIxNiwgMjQsIDc2LCAyLCAyMTgsIDI3LCA5NSwgMjE2LCAyNCwgNzYsIDIsIAotICAgIDIxOCwgMjgsIDIsIDcxLCA5MCwgOTUsIDIxNiwgMjQsIDc2LCAyLCAyMTgsIDI4LCAyLCA1MSwgNzEsIDkwLCAxMzIsIDI1MywgCi0gICAgMTY2LCA5NSwgMjUzLCAxNjYsIDEzMiwgNTEsIDI1MywgMTY2LCA5NSwgNTEsIDI1MywgMTY2LCAxMzIsIDc2LCAyMTEsIAotICAgIDIxMSwgODMsIDI0NywgMjAwLCA5NSwgNzYsIDIxMSwgMjExLCA4MywgMjQ3LCAyMDAsIDEzMiwgNzYsIDI0MywgMjEzLCAKLSAgICAyNTIsIDYwLCAyMTEsIDIxMSwgODMsIDI0NywgMjAwLCA5NSwgNzYsIDI0MywgMjEzLCAyNTIsIDYwLCAyMTEsIDIxMSwgODMsIAotICAgIDI0NywgMjAwLCAyMjgsIDE2NywgMjEzLCAyNTAsIDI0LCAyMTksIDIxNSwgMjQ1LCAxNzYsIDY4LCAyMjgsIDE2NywgMjQ1LCAKLSAgICAxNzYsIDI0LCAyMTksIDIxNSwgMjEzLCAyNTAsIDY4LCAyMjgsIDE2NywgMjEzLCAyNTAsIDc2LCAyLCAxMDEsIDIyOCwgCi0gICAgMTY3LCAyNDUsIDE3NiwgNzYsIDIsIDEwMSwgMjE5LCAyMTUsIDI0NSwgMTc2LCA3NiwgMiwgMTAxLCAyMTksIDIxNSwgMjEzLCAKLSAgICAyNTAsIDc2LCAyLCAxMDEsIDIyOCwgMTY3LCAyMTMsIDI1MCwgNzYsIDI0LCAyMjgsIDE2NywgMjQ1LCAxNzYsIDY4LCAyMjgsIAotICAgIDE2NywgMjQ1LCAxNzYsIDc2LCAyNCwgMjE5LCAyMTUsIDI0NSwgMTc2LCA2OCwgMjE5LCAyMTUsIDI0NSwgMTc2LCA3NiwgCi0gICAgMjQsIDIxOSwgMjE1LCAyMTMsIDI1MCwgNjgsIDIxOSwgMjE1LCAyMTMsIDI1MCwgNzYsIDI0LCAyMjgsIDE2NywgMjEzLCAKLSAgICAyNTAsIDY4LCAyMjMsIDEyNSwgMjQ3LCAyMDcsIDI0OSwgNjUsIDI0NCwgMTQzLCAyNDcsIDIwNiwgMjQ0LCAxNDMsIDI0NywgCi0gICAgMjA3LCAyNDksIDY1LCAyMjMsIDEyNSwgMjQ3LCAyMDYsIDIxOSwgMjE1LCAyNDUsIDE3NiwgNzYsIDI0OSwgNjUsIDIyOCwgCi0gICAgMTY3LCAyNDUsIDE3NiwgNjgsIDIyOCwgMTY3LCAyNDUsIDE3NiwgNzYsIDI0OSwgNjUsIDIxOSwgMjE1LCAyNDUsIDE3NiwgCi0gICAgNjgsIDI0NCwgMTQzLCAyNDcsIDIwNywgMjQ5LCA2NSwgMjI4LCAxNjcsIDI0NSwgMTc2LCA2OCwgMjIzLCAxMjUsIDI0NywgCi0gICAgMjA3LCAyNDksIDY1LCAyMTksIDIxNSwgMjQ1LCAxNzYsIDY4LCAyMjgsIDE2NywgMjQ1LCAxNzYsIDc2LCAyNDksIDY1LCAKLSAgICAyMjgsIDE2NywgMjEzLCAyNTAsIDY4LCAyMjgsIDE2NywgMjEzLCAyNTAsIDc2LCAyNDksIDY1LCAyMjgsIDE2NywgMjQ1LCAKLSAgICAxNzYsIDY4LCAyMTQsIDIwLCA3NiwgMjI1LCAxNDEsIDI0NywgMTQ3LCAyMjMsIDE0OCwgNzYsIDIyNSwgMTQxLCA5NSwgCi0gICAgMjE3LCAxNDEsIDI0OSwgMzIsIDIxNSwgMTIzLCA3NiwgMjI1LCAxNDEsIDk1LCAyMTcsIDE0MSwgMjQ5LCAzMiwgMjQ2LCAKLSAgICA1NywgNzYsIDIyNSwgMTQxLCAyNDYsIDU4LCAyMTcsIDE0MSwgMjQ5LCAzMiwgMjMzLCA2MSwgNzYsIDIyNSwgMTQxLCAyNDYsIAotICAgIDU4LCAyMTcsIDE0MSwgMjQ5LCAzMiwgMjIzLCAxMzgsIDIyMywgMTQxLCAyNTMsIDE5NiwgMjQ5LCAxOTUsIDY4LCAyMzMsIAotICAgIDY0LCAyNTMsIDE5NiwgMjUzLCAyNTUsIDY4LCAyMTYsIDIyNywgMjUzLCAxOTYsIDI1MywgMjU1LCA2OCwgMjUxLCAxMDEsIAotICAgIDI1MywgMTk2LCAyNTMsIDI1NSwgNjgsIDIxNiwgMjI3LCAyNTMsIDE5NiwgMjQ5LCAxOTUsIDc2LCAyLCAyMzAsIDI1MCwgCi0gICAgMjE2LCAyMjcsIDI1MywgMTk2LCAyNTMsIDI1NSwgNzYsIDIsIDIyNSwgMTU2LCAyMzIsIDE2MywgNDYsIDIyMSwgNzIsIAotICAgIDI0OSwgMTk1LCA2OCwgMjMyLCAxNjMsIDQyLCAyMjEsIDcyLCAyNTMsIDI1NSwgNjgsIDI1MywgMjU1LCAyNDksIDE5MywgCi0gICAgMjQ5LCAyMjksIDY4LCAyNDksIDE5NSwgMjQ5LCAxOTMsIDI0OSwgMjI5LCA2OCwgOTUsIDc2LCA3OCwgMjIwLCAxNzUsIAotICAgIDEzMiwgNjgsIDEzMiwgNzYsIDc4LCAyMjAsIDE3NSwgOTUsIDY4LCAyMjAsIDE3NSwgOTUsIDc2LCA3OCwgMTMyLCA2OCwgCi0gICAgOTUsIDc2LCAyLCA5NCwgNTUsIDEzMiwgNzYsIDIsIDk0LCA1NSwgOTUsIDc2LCAyMTcsIDkzLCAyMTMsIDE2NiwgNDIsIDQ2LCAKLSAgICA3NiwgMjE3LCA5MywgMywgMjQ5LCAyMjgsIDIxNSwgMTI0LCAyMTYsIDI0LCA3NiwgMjQzLCAyMTMsIDMsIDI0OSwgMjI4LCAKLSAgICA0MiwgMjA2LCAxMTQsIDQ2LCAyMDYsIDExOSwgMjQxLCAyMzcsIDQyLCAyMDYsIDExOSwgNDYsIDIwNiwgMTE0LCAyNDEsIAotICAgIDIzNywgMTE0LCAyMDYsIDQ2LCAxMTksIDIwNiwgNDIsIDI0MSwgMjM3LCAxMTQsIDIwNiwgNDIsIDExOSwgMjA2LCA0NiwgCi0gICAgMjQxLCAyMzcsIDQyLCAyMDYsIDExNCwgNDYsIDIwNiwgMTE0LCAyNDEsIDIzNywgMTE0LCAyMDYsIDQ2LCAxMTksIDIwNiwgCi0gICAgNDYsIDI0MSwgMjM3LCA0MiwgMjA2LCAxMTksIDQ2LCAyMDYsIDExOSwgMjQxLCAyMzcsIDExNCwgMjA2LCA0MiwgMTE5LCAKLSAgICAyMDYsIDQyLCAyNDEsIDIzNywgMTMyLCAyNDEsIDIzOCwgMiwgMjA2LCAxMTQsIDIxMSwgMjExLCAxMzQsIDk1LCAyNDEsIAotICAgIDIzOCwgMiwgMjA2LCAxMTQsIDIxMSwgMjExLCAxMzQsIDIxNSwgMTI0LCAyNDEsIDIzOCwgMiwgMjA2LCA0NiwgMjExLCAKLSAgICAyMTEsIDEzNCwgMjQ2LCA1OCwgMjQxLCAyMzgsIDIsIDIwNiwgNDYsIDIxMSwgMjExLCAxMzQsIDEzMiwgMjQxLCAyMzgsIDIsIAotICAgIDIwNiwgMTE5LCAyMTEsIDIxMSwgMTM0LCA5NSwgMjQxLCAyMzgsIDIsIDIwNiwgMTE5LCAyMTEsIDIxMSwgMTM0LCAyMTUsIAotICAgIDEyNCwgMjQxLCAyMzgsIDIsIDIwNiwgNDIsIDIxMSwgMjExLCAxMzQsIDI0NiwgNTgsIDI0MSwgMjM4LCAyLCAyMDYsIDQyLCAKLSAgICAyMTEsIDIxMSwgMTM0LCAxMzIsIDI0MSwgMjM4LCAyLCAyMDYsIDExNCwgMjQzLCAyMTMsIDEzNCwgOTUsIDI0MSwgMjM4LCAKLSAgICAyLCAyMDYsIDExNCwgMjQzLCAyMTMsIDEzNCwgMjE1LCAxMjQsIDI0MSwgMjM4LCAyLCAyMDYsIDQ2LCAyNDMsIDIxMywgCi0gICAgMTM0LCAyNDYsIDU4LCAyNDEsIDIzOCwgMiwgMjA2LCA0NiwgMjQzLCAyMTMsIDEzNCwgMTMyLCAyNDEsIDIzOCwgMiwgMjA2LCAKLSAgICAxMTksIDI0MywgMjEzLCAxMzQsIDk1LCAyNDEsIDIzOCwgMiwgMjA2LCAxMTksIDI0MywgMjEzLCAxMzQsIDIxNSwgMTI0LCAKLSAgICAyNDEsIDIzOCwgMiwgMjA2LCA0MiwgMjQzLCAyMTMsIDEzNCwgMjQ2LCA1OCwgMjQxLCAyMzgsIDIsIDIwNiwgNDIsIDI0MywgCi0gICAgMjEzLCAxMzQsIDEzMiwgMjQxLCAyMzgsIDIsIDIwNiwgMTE0LCA3OCwgMTMyLCAyNDEsIDIzOCwgMiwgMjA2LCAyNDYsIDYwLCAKLSAgICAyMTUsIDEyNCwgMjQxLCAyMzgsIDIsIDIwNiwgNDIsIDI1MSwgMjA3LCAyMTUsIDEyNCwgMjQxLCAyMzgsIDIsIDIwNiwgCi0gICAgMjIzLCAxNDgsIDk1LCAyNDEsIDIzOCwgMiwgMjA2LCAxMTQsIDc4LCA5NSwgMjQxLCAyMzgsIDIsIDIwNiwgMjQ2LCA2MCwgCi0gICAgMjQ2LCA1OCwgMjQxLCAyMzgsIDIsIDIwNiwgNDIsIDI1MSwgMjA3LCAyNDYsIDU4LCAyNDEsIDIzOCwgMiwgMjA2LCAyMjMsIAotICAgIDE0OCwgMTMyLCAyNDEsIDIzOCwgMiwgMjA2LCAxMTQsIDc4LCA5NSwgMjQxLCAyMzgsIDIsIDIwNiwgMjE1LCAxMzQsIDEzMiwgCi0gICAgMjQxLCAyMzgsIDIsIDIwNiwgMTE5LCA3OCwgOTUsIDI0MSwgMjM4LCAyLCAyMDYsIDI0NiwgNjAsIDk1LCAyNDEsIDIzOCwgCi0gICAgMiwgMjA2LCAxMTQsIDc4LCAxMzIsIDI0MSwgMjM4LCAyLCAyMDYsIDIxNSwgMTM0LCA5NSwgMjQxLCAyMzgsIDIsIDIwNiwgCi0gICAgMTE5LCA3OCwgMTMyLCAyNDEsIDIzOCwgMiwgMjA2LCAyNDYsIDYwLCAxMzIsIDI0MSwgMjM4LCAyLCAyMDYsIDExNCwgNzgsIAotICAgIDE4NCwgMjQ4LCAxMDEsIDEzMiwgMjQxLCAyMzgsIDIsIDIwNiwgMTE5LCAyNTEsIDIyMCwgMTg0LCAyNDgsIDEwMSwgOTUsIAotICAgIDI0MSwgMjM4LCAyLCAyMDYsIDExNCwgNzgsIDE4NCwgMjQ4LCAxMDEsIDk1LCAyNDEsIDIzOCwgMiwgMjA2LCAxMTksIDI1MSwgCi0gICAgMjIwLCAxODQsIDI0OCwgMTAxLCAyMTUsIDEyNCwgMjQxLCAyMzgsIDIsIDIwNiwgNDIsIDI1MSwgMjA3LCAyNDYsIDU4LCAKLSAgICAyNDEsIDIzOCwgMiwgMjA2LCAyMjMsIDE0OCwgMjQ2LCA1OCwgMjQxLCAyMzgsIDIsIDIwNiwgNDIsIDI1MSwgMjA3LCAyMTUsIAotICAgIDEyNCwgMjQxLCAyMzgsIDIsIDIwNiwgMjIzLCAxNDgsIDQ2LCA1MSwgNzYsIDIsIDIyMywgODUsIDI0MSwgMjE5LCAyNDUsIAotICAgIDYxLCA1LCA3OCwgOTUsIDY4LCAyMTcsIDQzLCAyMjcsIDM0LCA3OCwgOTUsIDY4LCAxMzIsIDc2LCA3OCwgMjE3LCA0MywgCi0gICAgMjI3LCAzMywgOTUsIDc2LCA3OCwgMjE3LCA0MywgMjI3LCAzMywgOTUsIDc2LCA3OCwgMjU0LCA1NywgMTIzLCAxMDgsIAotICAgIDIzMywgMzksIDc4LCAxMzIsIDY4LCAxMzIsIDc2LCAyMTcsIDkzLCAyMzMsIDM4LCAyNDIsIDEwNywgNzgsIDk1LCA2OCwgCi0gICAgMjE5LCA5LCA3OCwgOTUsIDY4LCAxMzIsIDc2LCAyMTcsIDkzLCAyMTksIDgsIDIxOCwgMjIyLCA3OCwgMTMyLCA2OCwgNDIsIAotICAgIDI0NCwgNjAsIDIxOCwgMjcsIDQ2LCAyNDQsIDYwLCAyMTgsIDI3LCAxMTQsIDI0NCwgNjAsIDIxOCwgMjcsIDExOSwgMjQ0LCAKLSAgICA2MCwgMjE4LCAyNywgMjE2LCAxNjksIDcxLCAyNTIsIDYwLCAyNDgsIDExLCAyMTIsIDE1MywgMTc0LCAyMTksIDE3NCwgCi0gICAgMjEyLCAxNTMsIDE3NCwgMjE2LCAxNSwgMjQ5LCAxNjQsIDQyLCA2NywgMjQ5LCA0MCwgMTI1LCA0NiwgNjcsIDI0OSwgNDAsIAotICAgIDEyNSwgNDIsIDY3LCAyMjYsIDEzMSwgNDYsIDY3LCAyMjYsIDEzMSwgMjEyLCAxNTMsIDE3NCwgNDIsIDIzNiwgMTAsIDEyNSwgCi0gICAgMjEyLCAxNTMsIDE3NCwgNDYsIDIzNiwgMTAsIDEyNSwgMjEyLCAxNTMsIDE3NCwgNDIsIDI1MSwgMTY1LCAxMjUsIDIxMiwgCi0gICAgMTUzLCAxNzQsIDQ2LCAyNTEsIDE2NSwgMTI1LCA0MiwgNDEsIDI1MSwgODUsIDIsIDIxNSwgMTUzLCA0NiwgNDEsIDI1MSwgCi0gICAgODUsIDIsIDIxNSwgMTUzLCA0MiwgNDEsIDI1MSwgODUsIDIsIDIxNywgNjksIDIzNSwgMjUyLCAyMTYsIDIyNywgMjQ5LCAKLSAgICA5OSwgNDYsIDQxLCAyNTEsIDg1LCAyLCAyMTcsIDY5LCAyMzUsIDI1MiwgMjUxLCAxMDEsIDI0OSwgOTksIDQyLCA0MSwgCi0gICAgMjUxLCA4NSwgMiwgMjE3LCA2OSwgMjM1LCAyNTIsIDI1MSwgMTAxLCAyNDksIDk5LCA0NiwgNDEsIDI1MSwgODUsIDIsIAotICAgIDIxNywgNjksIDIzNSwgMjUyLCAyMTYsIDIyNywgMjQ5LCA5OSwgNDIsIDI1NCwgMTksIDI1MSwgODUsIDIsIDI0NywgNzQsIAotICAgIDQ2LCAyNTQsIDE5LCAyNTEsIDg1LCAyLCAyNDcsIDc0LCA0MiwgMjUzLCAxOTYsIDIzMywgMzksIDEyNSwgNDYsIDI1MywgCi0gICAgMTk2LCAyNDIsIDEwNywgMTI1LCA1MSwgNDIsIDI1MywgMTk2LCAyNDIsIDEwNywgMTI1LCA1MSwgNDYsIDI1MywgMTk2LCAKLSAgICAyMzMsIDM5LCAxMjUsIDQyLCA4MywgMjE2LCAyMTksIDIyMCwgMjMzLCAxMjUsIDQ2LCA4MywgMjE2LCAyMTksIDIyMCwgCi0gICAgMjMzLCAxMjUsIDI0NiwgNzIsIDI0NCwgMTA0LCA3MSwgMjEyLCAyOCwgMjMyLCAyNDIsIDIzMSwgMTUzLCAyNTQsIDE5LCAKLSAgICAyMjcsIDM1LCAyMzMsIDcwLCA0NiwgMjU0LCAxOSwgMjE0LCAyNDQsIDIsIDIxOSwgMTY2LCAyMzEsIDE1MywgNDYsIDI1NCwgCi0gICAgMTksIDIsIDI0NywgNzQsIDI1NCwgMTksIDIsIDIyMywgNCwgMjM1LCAyMTIsIDI1NCwgMTY0LCAyNTQsIDE4LCAyMTksIAotICAgIDE4NywgMjU0LCAxOSwgMjI3LCAzNSwgMjMzLCA3MCwgMjE5LCAxODcsIDI1NCwgMTksIDIyNywgMzUsIDIxNSwgMTM0LCAKLSAgICAyMTYsIDU4LCAyNTQsIDE4LCAyMjMsIDIwMiwgMjU0LCAxOCwgMjU0LCAxOSwgMiwgMjE1LCAxNTMsIDIyMywgMjAyLCAyNTQsIAotICAgIDE5LCAyLCAyMTUsIDE1MywgMjI3LCAxMTIsIDI1NCwgMTksIDIyNywgMzUsIDIxNSwgMTM0LCAyMjcsIDExMiwgMjU0LCAxOSwgCi0gICAgMjI3LCAzNSwgMjQ2LCA2MCwgMjMxLCAxNTMsIDI1NCwgMTksIDIsIDIyNywgNDAsIDI1MywgMTc2LCAyNDUsIDk4LCAyMzUsIAotICAgIDI1MiwgNzYsIDIyNSwgMTQxLCAxMTQsIDI0LCAyMjMsIDE0OCwgMjMxLCAxNTMsIDI1NCwgMTksIDIsIDIyNywgNDAsIDI1MywgCi0gICAgMTc2LCAyNDUsIDk4LCAyMzUsIDI1MiwgNzYsIDIyNSwgMTQxLCAxMTQsIDI0LCAyMzMsIDcwLCAyMzEsIDE1MywgMjU0LCAKLSAgICAxOSwgMiwgMjI3LCA0MCwgMjUzLCAxNzYsIDI0NSwgOTgsIDIzNSwgMjUyLCA3NiwgMjI1LCAxNDEsIDExOSwgMjQsIDIyMywgCi0gICAgMTQ4LCAyMzEsIDE1MywgMjU0LCAxOSwgMiwgMjI3LCA0MCwgMjUzLCAxNzYsIDI0NSwgOTgsIDIzNSwgMjUyLCA3NiwgMjI1LCAKLSAgICAxNDEsIDExOSwgMjQsIDIzMywgNzAsIDIzMSwgMTUzLCAyNTQsIDE5LCAyLCAyMjcsIDQwLCAyNTMsIDE3NiwgMjQ1LCA5OCwgCi0gICAgMjM1LCAyNTIsIDc2LCAyMjUsIDE0MSwgNDYsIDI0LCAyMTUsIDEzNCwgMjMxLCAxNTMsIDI1NCwgMTksIDIsIDIyNywgNDAsIAotICAgIDI1MywgMTc2LCAyNDUsIDk4LCAyMzUsIDI1MiwgNzYsIDIyNSwgMTQxLCA0MiwgMjQsIDIxNSwgMTM0LCAyMzEsIDE1MywgCi0gICAgMjU0LCAxOSwgMiwgMjI3LCA0MCwgMjUzLCAxNzYsIDI0NSwgOTgsIDIzNSwgMjUyLCA3NiwgMjI1LCAxNDEsIDQ2LCAyNCwgCi0gICAgMjQ2LCA2MCwgMjMxLCAxNTMsIDI1NCwgMTksIDIsIDIyNywgNDAsIDI1MywgMTc2LCAyNDUsIDk4LCAyMzUsIDI1MiwgNzYsIAotICAgIDIyNSwgMTQxLCA0MiwgMjQsIDI0NiwgNjAsIDIyMywgMjAyLCAyNDUsIDExMCwgMjIxLCA0OCwgMjQ1LCAxMTAsIDIyMSwgCi0gICAgNDksIDIsIDIyNiwgMjQ3LCAyNDUsIDExMCwgMjIxLCA0OSwgMiwgMywgMjQ5LCAyMjksIDQ5LCAyNDUsIDExMCwgMjIxLCAKLSAgICA0OSwgMiwgNDYsIDc2LCA0OSwgMjQ1LCAxMTAsIDIyMSwgNDksIDIsIDQyLCA3NiwgNDksIDI0OSwgMjI5LCAyLCAxOTksIAotICAgIDEzNCwgMzYsIDcxLCAxMzQsIDM2LCAyMjYsIDEzNSwgMzYsIDIyMywgMjAzLCAyMTksIDIzMSwgMzYsIDIyNiwgNDcsIDI0OSwgCi0gICAgMjI5LCAyNDcsIDEyNSwgMjUxLCA3LCAxOTksIDI1MiwgNjAsIDI0LCAyMTYsIDIyNywgMTUxLCAyNDcsIDEyNSwgMjUxLCA3LCAKLSAgICA3MSwgMTM0LCAyNDksIDIyOSwgMiwgMjE4LCAyMjQsIDIxMywgMTY2LCAzNiwgMjUzLCAyNTQsIDI0NywgMTIxLCA1MiwgCi0gICAgMTE0LCA3NiwgMjE3LCA5MywgMjQ5LCAyMjgsIDM2LCA2NywgMjUxLCA0MiwgMzYsIDI1MSwgNDIsIDM2LCAyMzMsIDM4LCAKLSAgICAzNiwgMjQyLCAxMDYsIDI0OSwgMjI5LCAyLCAzLCAyNDksIDIyOSwgMjExLCAyMTEsIDIxNywgMTQ5LCAyMjMsIDE0OCwgCi0gICAgMjQ5LCAyMjksIDIsIDExNywgMTk5LCAyMTksIDMzLCAyMTEsIDIxMSwgMjE3LCAxNDksIDIyMywgMTQ4LCA5MSwgMjIzLCAKLSAgICAxMjUsIDI0NywgMjA3LCAyMjAsIDIzLCA5MSwgMjQ0LCAxNDMsIDI0NywgMjA3LCAyMjAsIDIzLCA5MSwgMjUzLCAxMzIsIAotICAgIDkxLCAzLCAyNDksIDIyOCwgOTEsIDIxOSwgMTY2LCAxMTcsIDIzNSwgNjgsIDIxOSwgMTY0LCAyMTYsIDE4NCwgMiwgNjIsIAotICAgIDQ5LCAyMTYsIDE4NCwgMiwgMjE1LCAxNTMsIDIyMywgNCwgMjM1LCAyNTIsIDIxNiwgMTgzLCAyMTYsIDE4NCwgMiwgMjIxLCAKLSAgICA1NSwgMjUzLCAxMjMsIDI1MSwgMTAwLCA0NiwgMjE2LCAxODQsIDc4LCA0MiwgMjE2LCAxODMsIDQyLCAyMTYsIDE4NCwgCi0gICAgMjUxLCAyMDcsIDcxLCAxMzQsIDcxLCAyNTIsIDYwLCAyNTEsIDIwNywgNDYsIDIxNiwgMTgzLCAyNTEsIDkxLCAyLCA0MiwgCi0gICAgMTUxLCAyNTEsIDE0NCwgMjUxLCA5MSwgMiwgNDYsIDE1MSwgMjUxLCAxNDQsIDgzLCAyNTEsIDkwLCAyOSwgMiwgNDIsIAotICAgIDE1MSwgMjUxLCAxNDQsIDI5LCAyLCA0NiwgMTUxLCAyNTEsIDE0NCwgNjcsIDI0MCwgMjIzLCA4MywgMjQwLCAyMjMsIDQyLCAKLSAgICAyMTMsIDIyOSwgMjQ0LCAxMDQsIDQ2LCAyMTMsIDIyOSwgMjQ0LCAxMDQsIDQyLCA1MSwgMjEzLCAyMjksIDI0NCwgMTA0LCAKLSAgICA0NiwgNTEsIDIxMywgMjI5LCAyNDQsIDEwNCwgMjM1LCAyNDQsIDIzNSwgMjMxLCAyMTcsIDY2LCAxMTAsIDIzNSwgMjMxLCAKLSAgICAyMzUsIDIzMiwgMjI5LCAxODMsIDIsIDcxLCAxMzQsIDI0NiwgNjYsIDIzMCwgMTU3LCA0MSwgMiwgMjQ5LCAxMjAsIDIyNiwgCi0gICAgMjUxLCAyMzUsIDI0MiwgMjUzLCAxNTIsIDIyMCwgMTQ0LCAyMjUsIDYzLCAyNDUsIDYxLCA1LCAyNCwgMjIwLCAyNSwgMjI2LCAKLSAgICAxMzUsIDI0NSwgNjEsIDUsIDI0LCAyMjAsIDI1LCAyMjYsIDEzNiwgMiwgMjE3LCA0MywgNDksIDI0MCwgOTcsIDIxMSwgCi0gICAgMjExLCAyNCwgMjIwLCAyNSwgMjI2LCAxMzUsIDI0MiwgMTU5LCAyMTksIDk0LCAyMTcsIDEzOCwgMjQ2LCA1OSwgMjE2LCAKLSAgICAxODQsIDIsIDQyLCAxNTEsIDI1MSwgMTQ0LCAyNDYsIDU5LCAyMTYsIDE4NCwgMiwgNDYsIDE1MSwgMjUxLCAxNDQsIDgzLCAKLSAgICAyNDcsIDIwMSwgMiwgMTE5LCA2OCwgODMsIDIzMiwgMTU5LCA2NywgMjQ5LCAyMjksIDIsIDExOSwgNjgsIDgzLCAyNDksIAotICAgIDIyOSwgMiwgMTE5LCA2OCwgMjQ1LCA0OCwgNjcsIDIxOSwgMTY2LCAyNDUsIDQ4LCA4MywgMjE5LCAxNjYsIDI0NSwgNDgsIAotICAgIDY3LCAyNDcsIDIwMCwgMjQ1LCA0OCwgODMsIDI0NywgMjAwLCAyNDUsIDQ4LCA2NywgMjQ5LCAyMjgsIDI0NSwgNDgsIDgzLCAKLSAgICAyNDksIDIyOCwgMjIzLCA0MywgMjIzLCAyMDMsIDIxOSwgMjMyLCAyMjcsIDMzLCAyMTksIDIzMiwgMiwgMjI2LCAyNDcsIAotICAgIDIyMywgMjAzLCAyMTksIDIzMiwgMiwgMTk5LCA5MCwgMjUxLCAxNzIsIDIxOSwgMjMxLCAyNTEsIDE3MiwgMjIzLCAyMDMsIAotICAgIDIxOSwgMjMxLCA1MSwgMjI1LCAxNTYsIDIxNiwgMTY5LCAyMjUsIDE1NiwgMjMzLCA2NiwgMjQ5LCAzMywgMjU0LCAxOSwgCi0gICAgMTI1LCAyMjMsIDE0NCwgMjQ5LCAzMywgMjU0LCAxOSwgMTI1LCAyMTcsIDMxLCAyMzAsIDI0OCwgMjMwLCA5NywgMzYsIDYyLCAKLSAgICAyMjcsIDMzLCAyMzAsIDk3LCAzNiwgOTQsIDIyNywgMzMsIDIzMCwgOTcsIDM2LCAyOSwgMjI3LCAzMywgMjMwLCA5NywgCi0gICAgMjE1LCAxNDcsIDIyNywgMzQsIDIsIDI0NywgNzQsIDIzMCwgOTcsIDIxNSwgMTQ3LCAyMjcsIDM0LCAyLCAyMjUsIDE1NiwgCi0gICAgMjMwLCA5NywgNDEsIDIzNSwgMTk2LCAyMjcsIDMzLCAyMzAsIDk3LCA0MSwgMjE1LCAxNDcsIDIyNywgMzMsIDExNywgMjMyLCAKLSAgICAxOTksIDI0LCAyMjcsIDMzLCAxMTcsIDIzMiwgMTk5LCAxNjcsIDIyNywgMzMsIDIzMCwgOTcsIDI5LCAyMjcsIDMzLCAyMzAsIAotICAgIDIyNCwgMTE3LCAyMTgsIDI0NCwgMjE4LCAyNDIsIDIsIDIzNSwgMjA4LCAyMjQsIDE2OSwgMjM1LCAyMDksIDIyNywgMzMsIAotICAgIDI0NCwgNjgsIDIyNiwgMTI3LCAyMzUsIDIwOCwgMjM1LCAyMDksIDIsIDUxLCA5MCwgMjM1LCAyMDksIDI1MywgODksIDIsIAotICAgIDIyMCwgMjMsIDI0OSwgMjI1LCAyNDMsIDE5NywgMjUzLCAyNTUsIDIzNSwgMjA2LCAyMzIsIDI0MywgMjM1LCAyMDcsIDIsIAotICAgIDIyNCwgOCwgMjI2LCAxMTAsIDI1MywgMTczLCAyMjUsIDEzNSwgMjMyLCAyNDMsIDIzNSwgMjA3LCAyLCAyMjEsIDcyLCAKLSAgICAyMjYsIDExMCwgMjUzLCAxNzMsIDIyNSwgMTM1LCAyMzIsIDI0MywgMjM1LCAyMDcsIDIyOCwgMTYzLCAyMzUsIDI0NiwgCi0gICAgMjE3LCAxNDksIDIyNSwgMTM1LCAyMzUsIDIwOSwgMjUzLCAxNzMsIDExOCwgMjI1LCAxNDUsIDIyNywgMzMsIDIyNCwgMTYzLCAKLSAgICAyMzUsIDIwOSwgMjI3LCAzMywgMjM1LCAyMDksIDIsIDEzMiwgNzYsIDIsIDEwMSwgMjM1LCAyMDksIDIsIDI5LCA1MiwgCi0gICAgMjM1LCAyMDksIDIsIDIzNSwgMTk1LCAyMzUsIDIwOSwgMiwgMjE1LCAxNDYsIDIzNSwgMjA5LCAyLCAyMjYsIDI0NywgMjM1LCAKLSAgICAyMDksIDIsIDIxNSwgMTUzLCAyMzUsIDY5LCAyMzMsIDEwOCwgNDIsIDIxNiwgMTg0LCAyMjcsIDMzLCAyMTIsIDE1MywgCi0gICAgMTc0LCAyMjIsIDExOSwgMjQ5LCAxNDgsIDIxMiwgMTUzLCAxNzQsIDIyMiwgMTE5LCAyMjUsIDE4OCwgMjEyLCAxNTMsIAotICAgIDE3NCwgMjIyLCAxMTksIDIyNSwgNjAsIDk0LCA1LCAyLCAzLCAyNDksIDIyOSwgNDksIDk0LCA1LCAyLCAyNDksIDIyNCwgCi0gICAgMjU0LCAxNzUsIDQ5LCA5NCwgNSwgMiwgMjE3LCA0MywgNDksIDk0LCA1LCAyLCA2MiwgNTUsIDk0LCA1LCAyLCAyMTcsIDQzLCAKLSAgICA1NSwgOTQsIDUsIDIsIDIxOSwgMTAsIDEwOSwgOTQsIDUsIDIsIDgzLCAyMTYsIDE4MywgMjMwLCAyNTEsIDUsIDIsIDI0OSwgCi0gICAgMTU4LCA0OSwgMjMwLCAyNTEsIDUsIDIsIDYyLCA1NSwgMjMwLCAyNTEsIDUsIDIsIDI0NCwgMTQzLCAyNDcsIDcyLCAyMzAsIAotICAgIDI1MSwgNSwgMiwgMjIzLCAxMjUsIDI0NywgNzIsIDk0LCA1LCAyMzUsIDI1MiwgNDIsIDE1MSwgMjQ5LCAyMjgsIDk0LCA1LCAKLSAgICAyMzUsIDI1MiwgNDYsIDE1MSwgMjQ5LCAyMjgsIDIxNCwgMjMxLCAxNjcsIDI0OSwgNzEsIDIyNSwgNjMsIDIzMCwgMTU0LCAKLSAgICA1LCAyLCA2MiwgNDksIDIzMCwgMTU0LCA1LCAyLCAyMTUsIDE1MywgMjIxLCA2OSwgMjI1LCA2NCwgMiwgMjUxLCAxMDEsIAotICAgIDI0OSwgMTkyLCAyMjAsIDUsIDIyNSwgNjMsIDIzMCwgMTU0LCA1LCAyMzUsIDI1MiwgNDIsIDE1MSwgMjQ5LCAyMjgsIDIzMCwgCi0gICAgMTU0LCA1LCAyMzUsIDI1MiwgNDYsIDE1MSwgMjQ5LCAyMjgsIDM2LCAyMzAsIDE1NCwgNSwgMiwgMjQ5LCAyMjQsIDI1NCwgCi0gICAgMTc0LCAyMzAsIDE1NCwgNSwgMjM1LCAyNTIsIDUxLCAyNDksIDIyOCwgMzYsIDI0NywgMTIxLCA1MiwgOTQsIDUsIDIzNSwgCi0gICAgMjUyLCAyMTYsIDE4MywgMjMwLCAyNTEsIDUsIDIzNSwgMjUyLCAyMTYsIDE4MywgMjMwLCAxNTQsIDUsIDIzNSwgMjUyLCAKLSAgICAyMTYsIDE4MywgMjM1LCAyMDMsIDIyNSwgNjMsIDIyMywgMTM5LCAyMzUsIDIwMywgMjI1LCA2MywgMjEyLCAxNTMsIDE3NCwgCi0gICAgMjIzLCAyNDAsIDI0OSwgMTQ4LCAyNTQsIDQzLCAxNjcsIDI0OSwgMTA0LCAyMzUsIDE5NiwgMiwgMjQ3LCA3NCwgMjE1LCAKLSAgICAxNDcsIDIsIDIzMCwgMjUxLCA1MiwgMjE1LCAxNDcsIDIsIDIyNiwgMjQ3LCAyMzUsIDE5NiwgMiwgMjI2LCAyNDcsIDIzNSwgCi0gICAgMTk2LCAyLCAyMzIsIDE5OSwgMjU0LCAyNywgMjE1LCAxNDcsIDIsIDIzMiwgMTk5LCAyMjcsIDI0LCAyMTUsIDE0NywgNzgsIAotICAgIDIzNSwgMTk1LCAyMzUsIDE5NiwgNzgsIDIxNSwgMTQ2LCAyMTUsIDE0NywgNzgsIDI1MiwgNjAsIDc4LCAyMzUsIDE5NSwgCi0gICAgMjM1LCAxOTYsIDc4LCAyNTIsIDYwLCA3OCwgMjE1LCAxNDYsIDIxNSwgMTQ3LCAyNTEsIDIwNywgMjQsIDIzNSwgNjgsIDIsIAotICAgIDIxNSwgMTQ2LCAyMzUsIDE5NiwgMjUxLCAyMDcsIDI0LCAyMzUsIDY4LCAyLCAyMzUsIDE5NSwgMjQ5LCAxOTMsIDIxNSwgCi0gICAgMTQ3LCAyLCAyMjEsIDU0LCAyNDksIDE5MywgMjM1LCAxOTYsIDIsIDIyMSwgNTQsIDUxLCA0MSwgMjM1LCAxOTUsIDUxLCAKLSAgICA0MSwgMjE1LCAxNDYsIDI0OSwgMTkzLCAyMTUsIDE0NywgMiwgMjIxLCA1NSwgMjQsIDIyMCwgNSwgMjI1LCA2MywgMjMyLCAKLSAgICAxOTksIDI0LCAyLCA2MiwgNDksIDIzMiwgMTk5LCAxNjcsIDIsIDYyLCA0OSwgNTEsIDIzMiwgMTk5LCAyNTQsIDI3LCA1MSwgCi0gICAgMjMyLCAxOTksIDIyNywgMjQsIDExNywgMjM1LCAxOTcsIDIzMiwgMTk5LCAyNTQsIDI3LCAxMTcsIDIzNSwgMTk3LCAyMzIsIAotICAgIDE5OSwgMjI3LCAyNCwgMjIwLCAxMywgMjMzLCAxMDgsIDIyNywgMjQsIDIyMCwgMTMsIDIzMywgMTA4LCAyNTQsIDI3LCAKLSAgICAyMzIsIDE5OSwgMTY3LCAyMjYsIDI0NSwgMjMyLCAxOTksIDI1NCwgMjcsIDIzMiwgMTk5LCAyNCwgMiwgMjMxLCAzNywgCi0gICAgMjE5LCA3OSwgMjMyLCAxOTksIDE2NywgMiwgMjMxLCAzNywgMjE5LCA3OSwgMjMyLCAxOTksIDI0LCAyLCAxOTksIDI0OCwgCi0gICAgMTAxLCAyMzIsIDE5OSwgMTY3LCAyLCAxOTksIDI0OCwgMTAxLCAyMzIsIDE5OSwgMjQsIDIsIDUxLCAyMjYsIDI0NywgMjMyLCAKLSAgICAxOTksIDI0LCAyLCAyMTUsIDE1MywgMjMyLCAxOTksIDI0LCAyLCA1MSwgMjE1LCAxNTMsIDMsIDIxNCwgMjI4LCAyLCAyMTUsIAotICAgIDE1MywgMjMyLCAxOTksIDE2NywgMiwgNTEsIDIyNiwgMjQ3LCAyMzIsIDE5OSwgMTY3LCAyLCA1MSwgMjE1LCAxNTMsIDIxMiwgCi0gICAgMTUzLCAxNzQsIDI0NywgODMsIDI1MywgMjQ2LCAyMTIsIDE1MywgMTc0LCAyMjQsIDQwLCAyNTMsIDI0NiwgMjQ1LCA2MSwgCi0gICAgNSwgMiwgNjIsIDU1LCAyNDAsIDk3LCAyLCA2MiwgNDksIDIxNiwgMTY5LCAxOTksIDI1MiwgNjAsIDIsIDUxLCA3MSwgOTAsIAotICAgIDIxNiwgMTY5LCAxOTksIDI1MiwgNjAsIDIsIDIxNiwgMTY5LCA3MSwgOTAsIDIxNywgNDMsIDIyNywgMzQsIDIsIDYyLCA0OSwgCi0gICAgMjE3LCA0MywgMjI3LCAzNCwgMiwgMjIzLCAxMjUsIDI0NywgNzIsIDIyMCwgODgsIDIzMCwgMjUxLCAyMjAsIDg3LCAyNDksIAotICAgIDEzOSwgMiwgNjIsIDQ5LCAyNDUsIDYxLCAyLCAyNTMsIDEzMiwgMjU0LCA1NywgMTIzLCAyMTEsIDIxMSwgMiwgMjQ5LCAKLSAgICAyMjQsIDI1NCwgMTc0LCAyNTMsIDIxOCwgMTIzLCAxNjcsIDEyMywgMTA4LCAyNDUsIDYxLCA1LCA3OCwgOTQsIDUyLCA5NCwgCi0gICAgNSwgNzgsIDI0NSwgNjEsIDUyLCAyNDUsIDYxLCA1LCA3OCwgMjE3LCA0MywgMjI3LCAzMywgNTEsIDI0OSwgMTY1LCAyNDUsIAotICAgIDYyLCAxMTcsIDI0OSwgMTM0LCAyNDUsIDYxLCAyMjAsIDEwMiwgMTMzLCAyNDksIDEzNCwgMjQ1LCA2MSwgMjIwLCAxMDIsIAotICAgIDI0NSwgNjEsIDUsIDIsIDExNywgMTc2LCA3OCwgMjQsIDExNywgMTc2LCA1NSwgMjQ1LCA1NywgMiwgMjQzLCAyMzcsIDE3NiwgCi0gICAgNDksIDIzMywgMzksIDIsIDI0OSwgMjI5LCAyMzUsIDIxMiwgMjQyLCAxMDcsIDIsIDI0OSwgMjI5LCAyMzUsIDIxMiwgMjMzLCAKLSAgICAzOSwgMiwgMjI0LCAxNTgsIDE1MiwgNDksIDI0MiwgMTA3LCAyLCAyMjQsIDE1OCwgMTUyLCA0OSwgMjMzLCAzOSwgMTY3LCAKLSAgICAyMjAsIDI1LCAxMjMsIDEwOCwgMjQyLCAxMDcsIDE2NywgMjIwLCAyNSwgMTIzLCAxMDgsIDIzMywgMzksIDE2NywgMjIwLCAKLSAgICAyNSwgMTIzLCAyMTEsIDIxMSwgMiwgNjIsIDIzNSwgMjEyLCAyNDIsIDEwNywgMTY3LCAyMjAsIDI1LCAxMjMsIDIxMSwgCi0gICAgMjExLCAyLCA2MiwgMjM1LCAyMTIsIDIzMywgMzksIDE2NywgMjIwLCAyNSwgMTIzLCAyMTEsIDIxMSwgMiwgNjIsIDQ5LCAKLSAgICAyNDIsIDEwNywgMTY3LCAyMjAsIDI1LCAxMjMsIDIxMSwgMjExLCAyLCA2MiwgNDksIDIzMywgMzksIDE2NywgMjIwLCAyNSwgCi0gICAgMTIzLCAyMTEsIDIxMSwgMiwgNjIsIDc4LCAyMjMsIDE0OCwgMjQyLCAxMDcsIDE2NywgMjIwLCAyNSwgMTIzLCAyMTEsIAotICAgIDIxMSwgMiwgNjIsIDc4LCAyMzMsIDcwLCAyMzMsIDM5LCAxNjcsIDI1MywgMjE5LCAyNDIsIDEwNywgMTY3LCAyNTMsIDIxOSwgCi0gICAgMjMzLCAzOSwgMjQsIDIyMCwgNzksIDIyOCwgMTYzLCAxMjMsIDEwOCwgMjQyLCAxMDcsIDI0LCAyMjAsIDc5LCAyMjgsIAotICAgIDE2MywgMTIzLCAxMDgsIDIzMywgMzksIDI0LCAyMjgsIDE2MywgMjUzLCAyMTksIDI0MiwgMTA3LCAyNCwgMjI4LCAxNjMsIAotICAgIDI1MywgMjE5LCAyMzMsIDM5LCA3OCwgMjQ2LCA2NSwgMTIzLCA3OCwgMjQyLCAxMDYsIDI0MiwgMTA3LCA3OCwgMjQ2LCA2NSwgCi0gICAgMTIzLCA3OCwgMjMzLCAzOCwgMjMzLCAzOSwgNzgsIDIyMCwgODgsIDE2NywgMjQ1LCA2MiwgMjQyLCAxMDcsIDc4LCAyMjAsIAotICAgIDg4LCAxNjcsIDI0NSwgNjIsIDIzMywgMzksIDc4LCAyMjAsIDg4LCA3OCwgMjQyLCAxMDYsIDI0MiwgMTA3LCA3OCwgMjIwLCAKLSAgICA4OCwgNzgsIDIzMywgMzgsIDIzMywgMzksIDc4LCAyNDIsIDEwNywgNzgsIDI0NiwgNjUsIDI0NSwgNjIsIDI0MiwgMTA3LCAKLSAgICA3OCwgMjMzLCAzOSwgNzgsIDI0NiwgNjUsIDI0NSwgNjIsIDIzMywgMzksIDc4LCAyMjAsIDI1LCAxMjMsIDc4LCAyNDIsIAotICAgIDEwNywgNzgsIDIyMCwgMjUsIDI0NSwgNjIsIDI0MiwgMTA3LCA3OCwgMjIwLCAyNSwgMTIzLCA3OCwgMjMzLCAzOSwgNzgsIAotICAgIDIyMCwgMjUsIDI0NSwgNjIsIDIyMCwgMjUsIDEyMywgMjExLCAyMTEsIDE2NywgMjMzLCAzOCwgMjIwLCAyNSwgMTIzLCAKLSAgICAyMTEsIDIxMSwgMTY3LCAyNDIsIDEwNiwgMjIwLCAyNSwgMTIzLCAyMTEsIDIxMSwgMTY3LCAyMzMsIDM5LCAyLCA2MiwgCi0gICAgMjM1LCAyMTIsIDIyMCwgMjUsIDEyMywgMjExLCAyMTEsIDE2NywgMjQyLCAxMDcsIDIsIDYyLCAyMzUsIDIxMiwgMjQ2LCAKLSAgICA2NSwgMTIzLCAyMTEsIDIxMSwgMTY3LCAyMzMsIDM4LCAyNDYsIDY1LCAxMjMsIDIxMSwgMjExLCAxNjcsIDI0MiwgMTA2LCAKLSAgICAyNDYsIDY1LCAyMjAsIDI1LCAxMjMsIDIxMSwgMjExLCAxNjcsIDIzMywgMzgsIDI0NiwgNjUsIDIyMCwgMjUsIDEyMywgCi0gICAgMjExLCAyMTEsIDE2NywgMjQyLCAxMDYsIDIyMCwgODgsIDE2NywgMjMzLCAzOCwgMjIwLCA4OCwgMTY3LCAyNDIsIDEwNiwgCi0gICAgMjIwLCA4OCwgNzgsIDIzMywgMzksIDc4LCAyNDUsIDYxLCA1MiwgMjIwLCA4OCwgNzgsIDI0MiwgMTA3LCA3OCwgMjQ1LCAKLSAgICA2MSwgNTIsIDUxLCAyMjksIDE3MywgMjMzLCAzOCwgNTEsIDIyOSwgMTczLCAyNDIsIDEwNiwgNTEsIDIyOSwgMTczLCAyMzMsIAotICAgIDM5LCAyLCAyMTUsIDE1MywgMjQyLCAxMDcsIDIyNiwgMjQ1LCAyMzMsIDM4LCAyNDIsIDEwNywgMjUxLCAyMDcsIDIzMywgCi0gICAgMzgsIDIzMywgMzksIDI0OSwgMTkzLCAyNTEsIDcsIDI0OSwgMzQsIDI0MiwgMTA3LCAyNDksIDE5MywgMjUxLCA3LCAyNDksIAotICAgIDM0LCAyMzMsIDM5LCAyNDksIDE5MywgMjUxLCA3LCAyNDksIDM1LCA3OCwgMjIwLCAyNSwgMjQ1LCA2MiwgMjQyLCAxMDcsIAotICAgIDI0OSwgMTkzLCAyNTEsIDcsIDI0OSwgMzUsIDc4LCAyMjAsIDI1LCAyNDUsIDYyLCAyMjAsIDYsIDIxNywgMTUzLCAyMzMsIAotICAgIDEwNiwgMjE3LCAxNTMsIDIyMCwgNiwgMjE3LCAxNTQsIDE2NywgMTIzLCAxMDgsIDIzMywgMTA2LCAyMTcsIDE1NCwgMTY3LCAKLSAgICAxMjMsIDEwOCwgMjQ1LCA2MSwgNSwgMiwgMjUxLCAzNywgNDksIDIyNSwgODMsIDc4LCAyMjAsIDc5LCAyNDUsIDYxLCA1MiwgCi0gICAgMjE5LCAxLCA3OCwgMjIwLCA3OSwgMjQ1LCA2MSwgNTIsIDIyNSwgODMsIDc4LCAyMjAsIDc5LCAyMjgsIDE2MywgMTIzLCAKLSAgICAxMDgsIDIxOSwgMSwgNzgsIDIyMCwgNzksIDIyOCwgMTYzLCAxMjMsIDEwOCwgMjI1LCA4MywgNzgsIDI0NSwgNjEsIDUyLCAKLSAgICAyMTksIDEsIDc4LCAyNDUsIDYxLCA1MiwgMjI1LCA4MywgNzgsIDIyOCwgMTYzLCAxMjMsIDEwOCwgMjE5LCAxLCA3OCwgCi0gICAgMjI4LCAxNjMsIDEyMywgMTA4LCAyMjUsIDgzLCA3OCwgMjU0LCA1NywgMTIzLCAxMDgsIDIxOSwgMSwgNzgsIDI1NCwgNTcsIAotICAgIDEyMywgMTA4LCAyMjUsIDgzLCA3OCwgMjI4LCAxNjMsIDI1NCwgNTcsIDEyMywgMTA4LCAyMTksIDEsIDc4LCAyMjgsIDE2MywgCi0gICAgMjU0LCA1NywgMTIzLCAxMDgsIDUxLCAyMjUsIDgyLCA1MSwgMjE5LCAwLCAyMTksIDksIDIsIDI0NywgNzQsIDIxOCwgMjIyLCAKLSAgICAyLCAyNDcsIDc0LCAyMTksIDksIDIsIDk0LCA1LCA1NSwgMjE4LCAyMjIsIDIsIDk0LCA1LCA1NSwgMjE5LCA5LCAyLCAyMzAsIAotICAgIDE1NCwgNSwgNTUsIDIxOCwgMjIyLCAyLCAyMzAsIDE1NCwgNSwgNTUsIDIxOSwgOSwgNjUsIDE2NywgMTIzLCAyMTEsIDIxMSwgCi0gICAgMiwgNjIsIDQ5LCAyMTgsIDIyMiwgNjUsIDE2NywgMTIzLCAyMTEsIDIxMSwgMiwgNjIsIDQ5LCAyMTksIDksIDY1LCA3OCwgCi0gICAgMjQ1LCA2MSwgNTIsIDIxOCwgMjIyLCA2NSwgNzgsIDI0NSwgNjEsIDUyLCAyMTksIDksIDY1LCA3OCwgMjE3LCA0MywgMjI3LCAKLSAgICAzMywgMjE4LCAyMjIsIDY1LCA3OCwgMjE3LCA0MywgMjI3LCAzMywgMjE5LCA5LCA2NSwgNzgsIDI1NCwgNTcsIDEyMywgCi0gICAgMTA4LCAyMTgsIDIyMiwgNjUsIDc4LCAyNTQsIDU3LCAxMjMsIDEwOCwgMjE5LCA5LCA2NSwgNzgsIDIyOCwgMTYzLCAxMjMsIAotICAgIDEwOCwgMjE4LCAyMjIsIDY1LCA3OCwgMjI4LCAxNjMsIDEyMywgMTA4LCA0MSwgNDIsIDIyNywgNDAsIDkyLCAyMjcsIDMzLCAKLSAgICA0MSwgNDYsIDIyNywgNDAsIDkyLCAyMjcsIDMzLCAyNDksIDE5MywgMjE5LCA4LCAyNDksIDE5MywgMjE4LCAyMjEsIDI0OSwgCi0gICAgMTkzLCAyMTksIDksIDE2NywgMTIzLCAxMDgsIDI0OSwgMTkzLCAyMTgsIDIyMiwgMTY3LCAxMjMsIDEwOCwgMjE5LCA5LCAKLSAgICA3OCwgMjE4LCAyMjEsIDIxOCwgMjIyLCA3OCwgMjE5LCA4LCAyMTksIDksIDc4LCAyMTksIDgsIDIxOCwgMjIyLCA3OCwgCi0gICAgMjE4LCAyMjEsIDIxOCwgMjIyLCAyNTEsIDIwNywgMjE5LCA4LCAyMTgsIDIyMiwgMjUxLCAyMDcsIDI0LCAyMzUsIDY4LCAKLSAgICAyNTEsIDcsIDI0OCwgMTAyLCAyLCAyMTksIDgsIDI0NSwgMTI3LCA2NSwgMjI3LCAzNSwgMjQ2LCA1NywgMjI1LCAxODAsIDIsIAotICAgIDIxNywgMjIwLCAyMTYsIDIyNiwgMjE2LCAxOTgsIDIzNSwgMTk1LCAyNDMsIDI0NiwgMjI4LCAxNzYsIDIyMCwgMTc1LCA0MiwgCi0gICAgMjE4LCAzNiwgMjIwLCAxNzUsIDExOSwgMjE4LCAzNiwgMjIwLCAxNzUsIDExNCwgMjE4LCAzNiwgMjI2LCA0OCwgMiwgMTk3LCAKLSAgICA3MSwgMjUyLCA2MCwgMjE2LCAxNjksIDQ2LCAyMTYsIDU3LCA1MSwgNzEsIDI1MiwgNjAsIDQyLCAyMTYsIDU3LCA3MSwgCi0gICAgMjUyLCA2MCwgNTEsIDQyLCAyMTYsIDU3LCA1MSwgNzEsIDI1MiwgNjAsIDUxLCA0MiwgMjE2LCA1NywgMTg0LCAyNDgsIAotICAgIDEwMiwgMjQzLCAyMTMsIDQyLCAyMzEsIDEyNywgNjUsIDUxLCAyMTQsIDIxNiwgMjIwLCAxNzUsIDExOSwgMjE4LCAzNywgMiwgCi0gICAgMjI2LCAyNDcsIDIyMCwgMTc1LCAxMTQsIDIxOCwgMzcsIDIsIDIxNSwgMTUzLCAyMjAsIDE3NSwgMTE0LCAyMTgsIDM3LCAKLSAgICA3OCwgMjIwLCAxNzUsIDExOSwgMjE4LCAzNiwgNTEsIDExOSwgMjE4LCAzNiwgNTEsIDExNCwgMjE4LCAzNiwgNTEsIDIxOSwgCi0gICAgNDUsIDIyOCwgMTYzLCA1MiwgMjIzLCAyMDIsIDUxLCAyMTksIDQ1LCAyMjgsIDE2MywgNTIsIDI0NywgOTIsIDIyOCwgMTYzLCAKLSAgICAyNDcsIDEyNywgMiwgMjIzLCAyMDIsIDIyOSwgMTgyLCAyMjAsIDIzLCA3MSwgMjMyLCAyNDMsIDIsIDI0OSwgMjI5LCA0OSwgCi0gICAgNzEsIDIzMiwgMjQzLCAyLCAyNDksIDIyOSwgNTUsIDExOSwgMjE4LCAzNywgMiwgMjQ5LCAyMjksIDU1LCAyMjYsIDEzNiwgCi0gICAgMiwgMTk5LCA5MCwgMjI2LCAxMzYsIDIsIDIxNywgNDMsIDIyNywgMzMsIDIxNiwgMTY5LCA3MSwgMjUyLCA2MCwgMjUxLCAKLSAgICAxNjcsIDIyMywgMjQxLCAyMTYsIDE2OSwgNzEsIDI1MiwgNjAsIDIsIDE5OSwgOTAsIDIxNiwgMTY5LCAyNDksIDE2NSwgCi0gICAgMjI3LCAzMywgMjE2LCAxNjksIDIyOSwgMTczLCAyMzMsIDM4LCAyMTYsIDE2OSwgMjI5LCAxNzMsIDI0MiwgMTA2LCAyNDYsIAotICAgIDY1LCAyMjAsIDI1LCAyMzMsIDM5LCAxNjcsIDEyMywgMTA4LCAyNDYsIDY1LCAyMjAsIDI1LCAyNDIsIDEwNywgMTY3LCAKLSAgICAxMjMsIDEwOCwgMjE2LCAxNjksIDIxOSwgMjMyLCAyNTEsIDE2NywgMjIzLCAyNDEsIDIzMywgMTA4LCAyMTYsIDE2OSwgNzEsIAotICAgIDI1MiwgNjAsIDIyNywgMzMsIDUxLCAyMTksIDIzMiwgMjI3LCAzMywgNjcsIDcxLCAxMzQsIDIzMCwgOTcsIDY3LCA3MSwgCi0gICAgMTM0LCAyMjgsIDE2NywgMjQ1LCAxNzYsIDY3LCA2OCwgMjI4LCAxNjcsIDIxMywgMjUwLCA2NywgNjgsIDIxOSwgMjE1LCAKLSAgICAyNDUsIDE3NiwgNjcsIDY4LCAyMTksIDIxNSwgMjEzLCAyNTAsIDY3LCA2OCwgNDIsIDQ2LCA2NywgNjgsIDEzMiwgODMsIAotICAgIDY4LCAyMTUsIDEyNCwgODMsIDY4LCAyNDYsIDU4LCA4MywgNjgsIDIyOCwgMTY3LCAyNDUsIDE3NiwgODMsIDY4LCAyMjgsIAotICAgIDE2NywgMjEzLCAyNTAsIDgzLCA2OCwgMjE5LCAyMTUsIDI0NSwgMTc2LCA4MywgNjgsIDIxOSwgMjE1LCAyMTMsIDI1MCwgCi0gICAgODMsIDY4LCA0MiwgNDYsIDgzLCA2OCwgMTE0LCAxMTksIDgzLCA2OCwgOTUsIDc2LCAyLCAyMTcsIDMwLCAyNDYsIDU3LCAKLSAgICA5NSwgNzYsIDIsIDIxNywgMzAsIDIxNSwgMTIzLCAxMzIsIDc2LCAyLCAyMTcsIDMwLCAyNDYsIDU3LCAxMzIsIDc2LCAyLCAKLSAgICAyMTcsIDMwLCAyMTUsIDEyMywgNDEsIDIsIDIxNiwgMjI3LCAxNTEsIDI1MSwgMTQ0LCA0MSwgMiwgMjUxLCAxMDEsIDE1MSwgCi0gICAgMjUxLCAxNDQsIDQxLCAyLCAyMTUsIDEzMSwgNDYsIDI0NywgMjA3LCAxNTEsIDI1MSwgMTQ0LCA0MSwgMiwgMjMyLCAxNjMsIAotICAgIDQyLCAyNDcsIDIwNywgMTUxLCAyNTEsIDE0NCwgMjQ3LCAyMDEsIDIsIDQyLCAxNTEsIDI1MSwgMTQ0LCAyNDcsIDIwMSwgMiwgCi0gICAgNDYsIDE1MSwgMjUxLCAxNDQsIDI0NywgMjAxLCAyLCAyMTYsIDIyNywgMTUxLCAyNTEsIDE0NCwgMjQ3LCAyMDEsIDIsIAotICAgIDI1MSwgMTAxLCAxNTEsIDI1MSwgMTQ0LCAyNDYsIDcyLCAyMTksIDE2NiwgODMsIDIzMywgMTA4LCAyMTksIDE2NiwgNjcsIAotICAgIDIzMywgMTA4LCAyMTksIDE2NiwgODMsIDIxNCwgMTY0LCAzLCAyMTksIDE2NiwgNjcsIDIxNCwgMTY0LCAzLCAyMTksIDE2NiwgCi0gICAgODMsIDIyNiwgNjUsIDY3LCAyMjYsIDY1LCA2NywgMjQxLCAxNzgsIDgzLCAyNDEsIDE3OCwgMTk5LCA4MywgMjQxLCAxNzgsIAotICAgIDgzLCAyMzMsIDEwOCwgMjQ5LCAyMjgsIDgzLCAyMzEsIDE0NywgMjQ3LCAyMDAsIDY3LCAyMzEsIDE0NywgMjQ3LCAyMDAsIAotICAgIDgzLCAyMzEsIDE0NywgMjMyLCAxNTksIDY3LCAyMzEsIDE0NywgMjMyLCAxNTksIDgzLCAzLCAyNDcsIDIwMCwgODMsIDMsIAotICAgIDIzMiwgMTU5LCA2NywgMywgMjMyLCAxNTksIDgzLCAxOTksIDI0NSwgMTIxLCA2NywgMTk5LCAyNDUsIDEyMSwgODMsIDcxLCAKLSAgICAyNDUsIDEyMSwgNjcsIDcxLCAyNDUsIDEyMSwgNDIsIDc2LCAyLCAzLCAyNDksIDIyOCwgMTMzLCAxMzIsIDI1MywgMTYyLCAKLSAgICA0MiwgNzYsIDIsIDM2LCAyMjUsIDE1NiwgMTg0LCAxMzIsIDIxOSwgMTYyLCA2OCwgMTMyLCAyMTYsIDI0LCA3NiwgMiwgNzEsIAotICAgIDkwLCAxMzIsIDIxNiwgMjQsIDc2LCAyLCA1MSwgNzEsIDkwLCAxMzIsIDIxNiwgMjQsIDc2LCAyNDMsIDIxMywgMTM0LCAKLSAgICAxMzIsIDIxNiwgMjQsIDIxNiwgMTY5LCAyNDgsIDEwMiwgNjgsIDEzMiwgNzYsIDIsIDI0NiwgNzIsIDIxOSwgNzksIDEzMiwgCi0gICAgNzYsIDIsIDIxOCwgMjgsIDIsIDcxLCA5MCwgMTMyLCA3NiwgMiwgMjE4LCAyOCwgMiwgNTEsIDcxLCA5MCwgMTMyLCAyMTYsIAotICAgIDI0LCA3NiwgMiwgMjE4LCAyNywgMTMyLCAyMTYsIDI0LCA3NiwgMiwgMjE4LCAyOCwgMiwgNzEsIDkwLCAxMzIsIDIxNiwgCi0gICAgMjQsIDc2LCAyLCAyMTgsIDI4LCAyLCA1MSwgNzEsIDkwLCAxMzIsIDc2LCAyMTcsIDkzLCAyMTMsIDE2NiwgMjE0LCAyMCwgCi0gICAgNzYsIDIyNSwgMTQxLCAyNDcsIDE0NywgMjMzLCA3MCwgMjQ1LCA2MSwgNSwgNzgsIDEzMiwgNjgsIDIyMywgMjAzLCAyMTcsIAotICAgIDQzLCAyMjcsIDM0LCA3OCwgMTMyLCA2OCwgMTMyLCA3NiwgNzgsIDIyMywgMjAzLCAyNTQsIDU3LCAxMjMsIDEwOCwgOTUsIAotICAgIDc2LCAyMTcsIDkzLCAyNDIsIDEwNiwgOTUsIDc2LCAyMTcsIDkzLCAyMTgsIDIyMSwgMTMyLCAyMjQsIDE2OSwgNjgsIDk1LCAKLSAgICAyMjQsIDE2OSwgNjgsIDIyMywgMjAzLCAyMTcsIDQzLCAyMjcsIDM0LCA3OCwgOTUsIDY4LCA5NSwgNzYsIDc4LCAyMjMsIAotICAgIDIwMywgMjU0LCA1NywgMTIzLCAxMDgsIDIxNywgNDMsIDIyNywgMzQsIDc4LCAxMzIsIDY4LCAxMzIsIDc2LCA3OCwgMjU0LCAKLSAgICA1NywgMTIzLCAxMDgsIDEzMiwgNzYsIDc4LCAyMjMsIDIwMywgMjE3LCA0MywgMjI3LCAzMywgOTUsIDc2LCA3OCwgMjIzLCAKLSAgICAyMDMsIDIxNywgNDMsIDIyNywgMzMsIDY3LCAyMzEsIDE0NywgMjE5LCA5NSwgODMsIDMsIDIxOSwgOTUsIDY3LCAzLCAyMTksIAotICAgIDk1LCA4MywgMjIzLCAxNDQsIDIyNiwgNjUsIDY3LCAyMjMsIDE0NCwgMjI2LCA2NSwgMTA3LCAyMzMsIDEwOCwgMjQ5LCAKLSAgICAyMjgsIDEwNywgMjI2LCAyNDgsIDIsIDIyNiwgMjQ4LCAyMzUsIDIxMiwgMTA3LCAyNDksIDIyOSwgMiwgMjQ5LCAyMjksIAotICAgIDIzNSwgMjEyLCAxMDcsIDI0OSwgMjI4LCAxMDcsIDM2LCAyMjIsIDE2OSwgMTM2LCA2LCAxLCAyNTMsIDc1LCAxMzYsIDYsIAotICAgIDEsIDI1MSwgNDYsIDEzNiwgNiwgMSwgMjE0LCAyMzAsIDEzNiwgNiwgMSwgMjQyLCAxNjEsIDEzNiwgNiwgMSwgMjQ3LCA5NCwgCi0gICAgMTM2LCA2LCAxLCAyMTMsIDEyLCAxMzYsIDYsIDEsIDIxMiwgNjEsIDEzNiwgNiwgMSwgMjQ1LCAyNDUsIDEzNiwgNiwgMSwgCi0gICAgMjEyLCA4NCwgMTM2LCA2LCAxLCAyMzUsIDE0NiwgMTM2LCA2LCAxLCA3MCwgMjM1LCAxNDYsIDEzNiwgNiwgMSwgNzIsIAotICAgIDEzNiwgNiwgMSwgMjQ3LCAxMTIsIDEzNiwgNiwgMSwgMjM0LCAyNDUsIDEzNiwgNiwgMSwgMjMyLCAyMTUsIDEzNiwgNiwgMSwgCi0gICAgMjMwLCAxMDEsIDEzNiwgNiwgMSwgMjMwLCAxMiwgMTM2LCA2LCAxLCAyMjcsIDUxLCAxMzYsIDYsIDEsIDIyNSwgMTM4LCAKLSAgICAxMzYsIDYsIDEsIDIyMywgMTI0LCAxMzYsIDYsIDEsIDIyMCwgMTEsIDEzNiwgNiwgMSwgMjE2LCA0NiwgMTM2LCA2LCAxLCAKLSAgICAyMTUsIDE3MSwgMTM2LCA2LCAxLCAyNDMsIDIxNiwgMTM2LCA2LCAxLCAyNDEsIDE4NCwgMTM2LCA2LCAxLCAyMjcsIDMsIAotICAgIDEzNiwgNiwgMSwgMjI2LCA5NiwgMTM2LCA2LCAxLCAyMjAsIDE1MywgMTM2LCA2LCAxLCAyMTYsIDEyNSwgMTM2LCA2LCAxLCAKLSAgICAyNTAsIDEyLCAxMzYsIDYsIDEsIDIyMSwgMjQsIDEzNiwgNiwgMSwgMjEzLCAxOCwgMTM2LCA2LCAxLCAyMTMsIDIwLCAxMzYsIAotICAgIDYsIDEsIDIxMywgNDcsIDEzNiwgNiwgMSwgMjE5LCAxODUsIDE1OSwgMTM2LCA2LCAxLCAyMTIsIDIwMywgMTM2LCA2LCAxLCAKLSAgICAzLCAyMTIsIDE3NCwgMTM2LCA2LCAxLCAzLCAyMTIsIDE3NSwgMiwgMjE4LCAyNywgMTM2LCA2LCAxLCAyMTIsIDIzNSwgCi0gICAgMTM2LCA2LCAxLCAyMzUsIDE4MiwgMywgMjEyLCAxNzQsIDEzNiwgNiwgMSwgMjUxLCAxNzIsIDIxMiwgMTc0LCAxMzYsIDYsIAotICAgIDEsIDIzNSwgMTgyLCAyNTEsIDE3MiwgMjEyLCAxNzQsIDEzNiwgNiwgMSwgMjQ0LCA1MSwgMTM2LCA2LCAxLCAyMzUsIDE0NCwgCi0gICAgMTM2LCA2LCAxLCAyMjAsIDE1MiwgMTM2LCA2LCAxLCAyMTYsIDE2MCwgNjEsIDEzNiwgNiwgMSwgMjMzLCA5OCwgMjMwLCAKLSAgICAxMDEsIDEzNiwgMywgMSwgMjUzLCA3NSwgMTM2LCAzLCAxLCAyNTEsIDQ2LCAxMzYsIDMsIDEsIDIxNCwgMjMwLCAxMzYsIDMsIAotICAgIDEsIDI0MiwgMTYxLCAxMzYsIDMsIDEsIDI0NywgOTQsIDEzNiwgMywgMSwgMjEzLCAxMiwgMTM2LCAzLCAxLCAyMTIsIDYxLCAKLSAgICAxMzYsIDMsIDEsIDI0NSwgMjQ1LCAxMzYsIDMsIDEsIDIxMiwgODQsIDEzNiwgMywgMSwgMjM1LCAxNDYsIDEzNiwgMywgMSwgCi0gICAgNzAsIDIzNSwgMTQ2LCAxMzYsIDMsIDEsIDcyLCAxMzYsIDMsIDEsIDI0NywgMTEyLCAxMzYsIDMsIDEsIDIzNCwgMjQ1LCAKLSAgICAxMzYsIDMsIDEsIDIzMiwgMjE1LCAxMzYsIDMsIDEsIDIzMCwgMTAxLCAxMzYsIDMsIDEsIDIzMCwgMTIsIDEzNiwgMywgMSwgCi0gICAgMjI3LCA1MSwgMTM2LCAzLCAxLCAyMjUsIDEzOCwgMTM2LCAzLCAxLCAyMjMsIDEyNCwgMTM2LCAzLCAxLCAyMjAsIDExLCAKLSAgICAxMzYsIDMsIDEsIDIxNiwgNDYsIDEzNiwgMywgMSwgMjE1LCAxNzEsIDEzNiwgMywgMSwgMjQzLCAyMTYsIDEzNiwgMywgMSwgCi0gICAgMjQxLCAxODQsIDEzNiwgMywgMSwgMjI3LCAzLCAxMzYsIDMsIDEsIDIyNiwgOTYsIDEzNiwgMywgMSwgMjIwLCAxNTMsIAotICAgIDEzNiwgMywgMSwgMjE2LCAxMjUsIDEzNiwgMywgMSwgMjUwLCAxMiwgMTM2LCAzLCAxLCAyMjEsIDI0LCAxMzYsIDMsIDEsIAotICAgIDIxMywgMTgsIDEzNiwgMywgMSwgMjEzLCAyMCwgMTM2LCAzLCAxLCAyMTMsIDQ3LCAxMzYsIDMsIDEsIDIxOSwgMTg1LCAKLSAgICAxNTksIDEzNiwgMywgMSwgMjEyLCAyMDMsIDEzNiwgMywgMSwgMywgMjEyLCAxNzQsIDEzNiwgMywgMSwgMywgMjEyLCAxNzUsIAotICAgIDIsIDIxOCwgMjcsIDEzNiwgMywgMSwgMjEyLCAyMzUsIDEzNiwgMywgMSwgMjM1LCAxODIsIDMsIDIxMiwgMTc0LCAxMzYsIAotICAgIDMsIDEsIDI1MSwgMTcyLCAyMTIsIDE3NCwgMTM2LCAzLCAxLCAyMzUsIDE4MiwgMjUxLCAxNzIsIDIxMiwgMTc0LCAxMzYsIAotICAgIDMsIDEsIDI0NCwgNTEsIDEzNiwgMywgMSwgMjM1LCAxNDQsIDEzNiwgMywgMSwgMjIwLCAxNTIsIDEzNiwgMywgMSwgMjE2LCAKLSAgICAxNjAsIDYxLCAxMzYsIDMsIDEsIDIzMywgOTgsIDIzMCwgMTAxLCA3LCA2LCAxLCAyMzMsIDE3MSwgMiwgNTEsIDEzNCwgNywgCi0gICAgMywgMSwgMjMzLCAxNzEsIDIsIDUxLCAxMzQsIDcsIDYsIDEsIDIzMywgMTcxLCAyLCAyMzEsIDM3LCAyMTcsIDQyLCA3LCA2LCAKLSAgICAxLCAyMjYsIDIzMCwgMiwgOTAsIDcsIDYsIDEsIDIyNCwgMTEzLCAyLCAyMTgsIDI3LCA3LCAzLCAxLCAxMTgsIDIsIDkwLCAKLSAgICA3LCAzLCAxLCAyMTgsIDEwMCwgMiwgMjQ3LCAyMDcsIDkwLCA3LCA2LCAxLCAyNDIsIDQyLCAyLCAyNDcsIDI0NiwgNywgMywgCi0gICAgMSwgMjQyLCA0MiwgMiwgMjQ3LCAyNDYsIDcsIDYsIDEsIDIzNSwgMjgsIDIsIDI0NywgMjQ2LCA3LCAzLCAxLCAyMzUsIDI4LCAKLSAgICAyLCAyNDcsIDI0NiwgNywgNiwgMSwgMjEyLCAxNTMsIDIsIDI0NywgMjQ2LCA3LCAzLCAxLCAyMTIsIDE1MywgMiwgMjQ3LCAKLSAgICAyNDYsIDcsIDYsIDEsIDI1NCwgNTIsIDcsIDYsIDEsIDIzMiwgMTEwLCAyLCAxMDEsIDcsIDYsIDEsIDIxNiwgNTgsIDYxLCAKLSAgICA3LCA2LCAxLCAyMTYsIDU4LCAyNTQsIDUyLCA3LCAzLCAxLCAyMTUsIDgwLCAyLCA0NiwgMTAxLCA3LCA2LCAxLCAyMTQsIAotICAgIDgzLCAyLCAxMDEsIDcsIDMsIDEsIDIxNCwgODMsIDIsIDEwMSwgNywgMywgMSwgMjE1LCA4MCwgMiwgMjQ5LCA0MSwgNywgNiwgCi0gICAgMSwgMTUxLCAyNDIsIDQxLCA3LCAzLCAxLCAxNTEsIDI0MiwgNDEsIDcsIDMsIDEsIDIxOCwgMjUsIDIyNiwgOSwgNywgMywgCi0gICAgMSwgMTkxLCAyLCAyMjgsIDE2MSwgNywgMywgMSwgMjE2LCA1OCwgMjI0LCAxMTMsIDIsIDIxOCwgMjcsIDcsIDMsIDEsIAotICAgIDE1NywgMiwgMTE1LCAyMjMsIDEzMSwgMjM1LCAyMTIsIDcsIDEsIDMsIDYsIDIxNiwgNTgsIDc0LCA3LCAyMTksIDEwLCAzLCAKLSAgICAxLCAyMzUsIDE0MiwgNTksIDEsIDYsIDIxNSwgNzksIDcsIDYsIDEsIDIyMywgNCwgMiwgMjE4LCAxOTUsIDIxOCwgMjcsIDcsIAotICAgIDYsIDEsIDIxMiwgMTUzLCAyLCAyMTgsIDE5NSwgMjE4LCAyNywgNzksIDYsIDEsIDI1NCwgNzMsIDc5LCAzLCAxLCAyNTQsIAotICAgIDczLCA3OSwgNiwgMSwgMjE0LCAxNTEsIDc5LCAzLCAxLCAyMTQsIDE1MSwgNzksIDYsIDEsIDI0MywgODMsIDc5LCAzLCAxLCAKLSAgICAyNDMsIDgzLCA3OSwgNiwgMSwgMjQ4LCAxMzYsIDc5LCAzLCAxLCAyNDgsIDEzNiwgNzksIDYsIDEsIDI0NSwgMTUxLCA3OSwgCi0gICAgMywgMSwgMjQ1LCAxNTEsIDc5LCA2LCAxLCAyMTksIDIyMCwgNzksIDMsIDEsIDIxOSwgMjIwLCA3OSwgNiwgMSwgMjEyLCAKLSAgICA5NCwgNzksIDMsIDEsIDIxMiwgOTQsIDc5LCA2LCAxLCAyNDEsIDIzMSwgNzksIDMsIDEsIDI0MSwgMjMxLCA3OSwgNiwgMSwgCi0gICAgMjE3LCAxMzAsIDc5LCAzLCAxLCAyMTcsIDEzMCwgNzksIDYsIDEsIDI0MCwgMTA5LCA3OSwgMywgMSwgMjQwLCAxMDksIDc5LCAKLSAgICA2LCAxLCAyMzQsIDIzMiwgNzksIDMsIDEsIDIzNCwgMjMyLCA3OSwgNiwgMSwgMjMzLCA5NiwgNzksIDMsIDEsIDIzMywgOTYsIAotICAgIDc5LCA2LCAxLCAyMzEsIDQyLCA3OSwgMywgMSwgMjMxLCA0MiwgNzksIDYsIDEsIDIyOSwgNjQsIDc5LCAzLCAxLCAyMjksIAotICAgIDY0LCA3OSwgNiwgMSwgMjMzLCAyNDIsIDc5LCAzLCAxLCAyMzMsIDI0MiwgNzksIDYsIDEsIDc1LCA3OSwgMywgMSwgNzUsIAotICAgIDc5LCA2LCAxLCAyMjUsIDI0MCwgNzksIDMsIDEsIDIyNSwgMjQwLCA3OSwgNiwgMSwgMjIzLCAxMTIsIDc5LCAzLCAxLCAKLSAgICAyMjMsIDExMiwgNzksIDYsIDEsIDIyMCwgOTEsIDc5LCAzLCAxLCAyMjAsIDkxLCA3OSwgNiwgMSwgMjE3LCAyNDgsIDc5LCAKLSAgICAzLCAxLCAyMTcsIDI0OCwgNzksIDYsIDEsIDIxNSwgMTk2LCA3OSwgMywgMSwgMjE1LCAxOTYsIDc5LCA2LCAxLCAyNDQsIAotICAgIDkwLCA3OSwgMywgMSwgMjQ0LCA5MCwgNzksIDYsIDEsIDIzNCwgMTE4LCA3OSwgMywgMSwgMjM0LCAxMTgsIDc5LCA2LCAxLCAKLSAgICAyMjUsIDQ2LCA3OSwgMywgMSwgMjI1LCA0NiwgNzksIDYsIDEsIDIyNywgNDQsIDc5LCAzLCAxLCAyMjcsIDQ0LCA3OSwgNiwgCi0gICAgMSwgMjQ3LCAyMDUsIDI1NCwgNzgsIDc5LCAzLCAxLCAyNDcsIDIwNSwgMjU0LCA3OCwgNzksIDYsIDEsIDUzLCA3OSwgMjU0LCAKLSAgICAxMDMsIDc5LCAzLCAxLCA1MywgNzksIDI1NCwgMTAzLCA3OSwgNiwgMSwgMjQ5LCA1NSwgMjQ1LCAxNTEsIDc5LCAzLCAxLCAKLSAgICAyNDksIDU1LCAyNDUsIDE1MSwgNzksIDYsIDEsIDI0NywgMjA1LCAyMzQsIDIzMiwgNzksIDMsIDEsIDI0NywgMjA1LCAyMzQsIAotICAgIDIzMiwgNzksIDYsIDEsIDI0NywgMjA1LCAyMjksIDY0LCA3OSwgMywgMSwgMjQ3LCAyMDUsIDIyOSwgNjQsIDc5LCA2LCAxLCAKLSAgICAyNDksIDU1LCAyMjksIDY0LCA3OSwgMywgMSwgMjQ5LCA1NSwgMjI5LCA2NCwgNzksIDYsIDEsIDUzLCA3OSwgMjI3LCA0NCwgCi0gICAgNzksIDMsIDEsIDUzLCA3OSwgMjI3LCA0NCwgNzksIDYsIDEsIDIyMiwgMTYxLCA3OSwgMywgMSwgMjIyLCAxNjEsIDc5LCA2LCAKLSAgICAxLCAyNDksIDY4LCAyMjAsIDIzNSwgNzksIDMsIDEsIDI0OSwgNjgsIDIyMCwgMjM1LCA3OSwgNiwgMSwgNTMsIDc5LCAyMjAsIAotICAgIDIzNSwgNzksIDMsIDEsIDUzLCA3OSwgMjIwLCAyMzUsIDc5LCA2LCAxLCA1MywgNzksIDI0NSwgNDAsIDc5LCAzLCAxLCA1MywgCi0gICAgNzksIDI0NSwgNDAsIDc5LCA2LCAxLCAyNTQsIDkwLCAyMzQsIDEyMywgNzksIDMsIDEsIDI1NCwgOTAsIDIzNCwgMTIzLCAKLSAgICA3OSwgNiwgMSwgMjQ3LCAyMDUsIDI0MSwgMzIsIDc5LCAzLCAxLCAyNDcsIDIwNSwgMjQxLCAzMiwgNzksIDYsIDEsIDUzLCAKLSAgICA3OSwgMjQxLCAzMiwgNzksIDMsIDEsIDUzLCA3OSwgMjQxLCAzMiwgNzksIDYsIDEsIDUzLCA3OSwgMTU5LCA3OSwgMywgMSwgCi0gICAgNTMsIDc5LCAxNTksIDc5LCA2LCAxLCAyMzMsIDE3MCwgMTU5LCA3OSwgMywgMSwgMjMzLCAxNzAsIDE1OSwgNzksIDYsIDEsIAotICAgIDUzLCA3OSwgMjQxLCAyMDEsIDc5LCAzLCAxLCA1MywgNzksIDI0MSwgMjAxLCA3OSwgNiwgMSwgNTMsIDc5LCAyNDEsIDIzNCwgCi0gICAgNzksIDMsIDEsIDUzLCA3OSwgMjQxLCAyMzQsIDc5LCA2LCAxLCA1MywgNzksIDI0MywgNzgsIDc5LCAzLCAxLCA1MywgNzksIAotICAgIDI0MywgNzgsIDc5LCA2LCAxLCA1MywgNzksIDI0NywgMTE1LCA3OSwgMywgMSwgNTMsIDc5LCAyNDcsIDExNSwgNzksIDYsIAotICAgIDEsIDUzLCA3OSwgMjIwLCAyMDIsIDc5LCAzLCAxLCA1MywgNzksIDIyMCwgMjAyLCA3OSwgNiwgMSwgNTMsIDIyOCwgNjMsIAotICAgIDIyMCwgMjAyLCA3OSwgMywgMSwgNTMsIDIyOCwgNjMsIDIyMCwgMjAyLCA3OSwgNiwgMSwgNTMsIDIyOCwgNjMsIDIyOSwgCi0gICAgMTEzLCA3OSwgMywgMSwgNTMsIDIyOCwgNjMsIDIyOSwgMTEzLCA3OSwgNiwgMSwgNTMsIDIyOCwgNjMsIDIyOCwgMTAsIDc5LCAKLSAgICAzLCAxLCA1MywgMjI4LCA2MywgMjI4LCAxMCwgNzksIDYsIDEsIDUzLCAyMjgsIDYzLCAyMTQsIDIxLCA3OSwgMywgMSwgNTMsIAotICAgIDIyOCwgNjMsIDIxNCwgMjEsIDc5LCAxNiwgMjM0LCAyNTAsIDc5LCAxNiwgMjMxLCA0MywgMjIzLCAxMTIsIDc5LCAxNiwgCi0gICAgMjI1LCAyNDEsIDIyMywgMTEyLCA3OSwgMTYsIDIxOSwgODcsIDc5LCAxNiwgMjE3LCAyNDksIDIyMywgMTEyLCA3OSwgMTYsIAotICAgIDIzNCwgMTE5LCAyMjMsIDExMiwgNzksIDE2LCAyMjAsIDIwMywgMjIwLCA5MSwgNzksIDYsIDEsIDI0OSwgNTUsIDIyMCwgCi0gICAgMjM1LCA3OSwgMywgMSwgMjQ5LCA1NSwgMjIwLCAyMzUsIDc5LCA2LCAxLCAyNDksIDU1LCAyNDMsIDc4LCA3OSwgMywgMSwgCi0gICAgMjQ5LCA1NSwgMjQzLCA3OCwgNzksIDM3LCAyMjksIDY1LCA0OSwgNzksIDM3LCAyMTksIDE3OSwgMjUzLCAxMzksIDc5LCAKLSAgICAzNywgMjE5LCAxNzksIDIzMywgNDUsIDc5LCA1MywgMjI4LCA2MywgMjQzLCAyMDAsIDIxOSwgNjksIDc5LCA1MywgMjI4LCAKLSAgICA2MywgMjQ3LCAxNDksIDIyNCwgMTU4LCA3NywgNzksIDUzLCAyMjgsIDYzLCAyMzUsIDIzNCwgMjI0LCAxNTgsIDc3LCA3OSwgCi0gICAgNTMsIDIyOCwgNjMsIDIxNCwgMjE4LCAyNDcsIDEyNCwgNzksIDI0MywgMjI4LCAxMjIsIDI0MiwgOSwgNzksIDI0MywgMjAwLCAKLSAgICAyMTksIDY5LCA3OSwgMjMwLCAxOTQsIDI0NywgMTI0LCAxMDAsIDMsIDEsIDI1NCwgMzIsIDEwMCwgMywgMSwgMjUyLCA3MSwgCi0gICAgMTAwLCAzLCAxLCAyNDMsIDgyLCAxMDAsIDMsIDEsIDI0NywgODIsIDEwMCwgMywgMSwgMjQ1LCAxMDgsIDEwMCwgMywgMSwgCi0gICAgMjE0LCAxNDEsIDEwMCwgMywgMSwgMjEyLCA4MiwgMTAwLCAzLCAxLCAyMTgsIDExLCAxMDAsIDMsIDEsIDIzNSwgMjUxLCAKLSAgICAxMDAsIDMsIDEsIDIzNCwgMjM5LCAxMDAsIDMsIDEsIDIzMywgMTA0LCAxMDAsIDMsIDEsIDIzMSwgMjQ4LCAxMDAsIDMsIDEsIAotICAgIDIzMCwgMTUsIDEwMCwgMywgMSwgMjI3LCA2MiwgMTAwLCAzLCAxLCAyMjYsIDE0NSwgMTAwLCAzLCAxLCAyMTIsIDcxLCAKLSAgICAxMDAsIDMsIDEsIDIyNCwgNjEsIDEwMCwgMywgMSwgMjIyLCAxNTksIDEwMCwgMywgMSwgMjE4LCAxLCAxMDAsIDMsIDEsIAotICAgIDIxNSwgMTYwLCAxMDAsIDMsIDEsIDIyNiwgMTYsIDEwMCwgMywgMSwgMjM0LCAxMjcsIDEwMCwgMywgMSwgMjQyLCAyMTcsIAotICAgIDEwMCwgMywgMSwgMjI0LCAyMTcsIDEwMCwgMywgMSwgMjIwLCAyMDAsIDEwMCwgMywgMSwgMjUwLCAzNCwgMTAwLCAzLCAxLCAKLSAgICAyNTAsIDE5NSwgMTAwLCAzLCAxLCAyMzUsIDEwMywgMTAwLCAzLCAxLCAyNDksIDIzMywgMTAwLCAzLCAxLCAyNTAsIDc5LCAKLSAgICAxMDAsIDMsIDEsIDIxMywgMTUxLCAxMDAsIDMsIDEsIDIzNSwgMTEzLCAxMDAsIDMsIDEsIDI0MiwgMjQsIDEwMCwgMywgMSwgCi0gICAgMjQxLCAyMjIsIDEwMCwgMywgMSwgMjQxLCAxNjAsIDEwMCwgMywgMSwgMjE0LCA2LCAxMDAsIDMsIDEsIDI0MSwgMjQzLCAKLSAgICAxMDAsIDMsIDEsIDI0MSwgNTEsIDIxNywgNjIsIDEsIDE4NiwgMjE3LCA2MiwgMSwgMjEzLCA4NywgMjE3LCA2MiwgMSwgCi0gICAgMjEzLCA4NiwgMjE3LCA2MiwgMSwgMjEzLCA3NiwgMjE3LCA2MiwgMSwgMjEzLCA3NCwgMjE3LCA2MiwgMSwgMjUxLCAyMDksIAotICAgIDI1NCwgMTc2LCAyMTMsIDcwLCAyMTcsIDYyLCAxLCAyMTMsIDcwLCAyMTcsIDYyLCAxLCAyMTMsIDg0LCAyMTcsIDYyLCAxLCAKLSAgICAyMTMsIDgxLCAyMTcsIDYyLCAxLCAyMTMsIDgzLCAyMTcsIDYyLCAxLCAyMTMsIDgyLCAyMTcsIDYyLCAxLCAyMTMsIDMsIAotICAgIDIxNywgNjIsIDEsIDIxMywgNzgsIDIxNywgNjIsIDEsIDIxMywgNjgsIDIxNywgNjIsIDEsIDIxNiwgNzksIDIxMywgNjgsIAotICAgIDIxNywgNjIsIDEsIDIxMywgNjUsIDIxNywgNjIsIDEsIDIxMywgNzIsIDIxNywgNjIsIDEsIDI1MSwgMjA5LCAyNTQsIDE3NiwgCi0gICAgMjEzLCA3MiwgMjE3LCA2MiwgMSwgMjE2LCA3OSwgMjEzLCA3MiwgMjE3LCA2MiwgMSwgMjEzLCA3MSwgMjE3LCA2MiwgMSwgCi0gICAgMjEzLCA5MSwgMjE3LCA2MiwgMSwgMjEzLCA2NiwgMjE3LCA2MiwgMSwgMjE2LCA3OSwgMjEzLCA2NiwgMjE3LCA2MiwgMSwgCi0gICAgMjEzLCA1NiwgMjE3LCA2MiwgMSwgMjE2LCA3OSwgMjEzLCA1NiwgMjE3LCA2MiwgMSwgMjEyLCAyNTUsIDIxNywgNjIsIDEsIAotICAgIDIxMywgNDAsIDIxNywgNjIsIDEsIDI1NCwgMTEyLCAyMTMsIDQwLCAyMTcsIDYyLCAxLCAyMTYsIDc5LCAyMTMsIDQwLCAKLSAgICAyMTcsIDYyLCAxLCAyMTMsIDY0LCAyMTcsIDYyLCAxLCAyMTMsIDYzLCAyMTcsIDYyLCAxLCAyMTMsIDYwLCAyMTcsIDYyLCAKLSAgICAxLCAyMTYsIDc5LCAyMTMsIDczLCAyMTcsIDYyLCAxLCAyMTYsIDc5LCAyMTMsIDU4LCAyMTcsIDYyLCAxLCAyMTMsIDU3LCAKLSAgICAyMTcsIDYyLCAxLCAyMTIsIDIwMywgMjE3LCA2MiwgMSwgMjEzLCA1NCwgMjE3LCA2MiwgMSwgMjEzLCA1MywgMjE3LCA2MiwgCi0gICAgMSwgMjEzLCA3NSwgMjE3LCA2MiwgMSwgMjE2LCA3OSwgMjEzLCA3NSwgMjE3LCA2MiwgMSwgMjUzLCA3OSwgMjEzLCA3NSwgCi0gICAgMjE3LCA2MiwgMSwgMjEzLCA1MiwgMjE3LCA2MiwgMSwgMjEzLCA1MCwgMjE3LCA2MiwgMSwgMjEzLCA1MSwgMjE3LCA2MiwgCi0gICAgMSwgMjEzLCA0OSwgMjE3LCA2MiwgMSwgMjEzLCA0OCwgMjE3LCA2MiwgMSwgMjEzLCA4NSwgMjE3LCA2MiwgMSwgMjEzLCAKLSAgICA0NiwgMjE3LCA2MiwgMSwgMjEzLCA0NSwgMjE3LCA2MiwgMSwgMjEzLCA0NCwgMjE3LCA2MiwgMSwgMjEzLCA0MywgMjE3LCAKLSAgICA2MiwgMSwgMjEzLCA0MSwgMjE3LCA2MiwgMSwgMjE3LCAyNDEsIDIxMywgNDEsIDIxNywgNjIsIDEsIDIxMywgMzksIDIxNywgCi0gICAgNjIsIDU5LCAxLCAyMzMsIDE0OSwgNzcsIDIxNywgNjIsIDIyMSwgNTgsIDc3LCAyMTcsIDYyLCAyNDksIDEzMywgMjM1LCAKLSAgICA2NiwgMjgsIDQsIDIzMiwgMjA3LCAyOCwgNCwgMjMwLCAyMzAsIDI4LCA0LCAyMjMsIDExMCwgMjgsIDQsIDIxOSwgMjQxLCAKLSAgICAyOCwgNCwgMjIwLCAxODYsIDI4LCA0LCAyNTEsIDEyNywgMjgsIDQsIDIxNiwgMjUyLCAyOCwgNCwgMjQ5LCAxNzQsIDI4LCAKLSAgICA0LCAyMjgsIDE4MywgMjgsIDQsIDIyNywgMjUyLCAyOCwgNCwgMjQyLCAxNTYsIDIyNywgMTIwLCAyOCwgNCwgMjEyLCAxNSwgCi0gICAgMjgsIDQsIDI0NywgOTcsIDI4LCA0LCAyNDgsIDU1LCAyOCwgNCwgMjM1LCA3MCwgMjgsIDQsIDIxNywgMTA4LCAyOCwgNCwgCi0gICAgMjUwLCAyMiwgMjgsIDQsIDIyNSwgMjUyLCAyOCwgNCwgMjI1LCAxNDksIDI4LCA0LCAyNDIsIDIzMSwgMjgsIDQsIDI0MiwgCi0gICAgMjI3LCAyOCwgNCwgMjQyLCAyMjgsIDI4LCA0LCAyNDIsIDIyOSwgMjgsIDQsIDIxOSwgMTU3LCAyOCwgNCwgMjE5LCAxMTcsIAotICAgIDI4LCA0LCAyMTksIDEyOCwgMjgsIDQsIDIxOSwgMTU2LCAyOCwgNCwgMjE5LCAxMzIsIDI4LCA0LCAyMTksIDEzMywgMjgsIAotICAgIDQsIDIxOSwgMTIxLCAyOCwgNCwgMjUwLCAxNDYsIDI4LCA0LCAyNTAsIDEyNiwgMjgsIDQsIDI1MCwgMTI4LCAyOCwgNCwgCi0gICAgMjUwLCAxNDUsIDI4LCA0LCAyNTAsIDE0MywgMjgsIDQsIDI1MCwgMTQ0LCAyOCwgNCwgMjUwLCAxMjcsIDI4LCA0LCAyMTEsIAotICAgIDI0MiwgMjgsIDQsIDIxMSwgMjIyLCAyOCwgNCwgMjExLCAyMzMsIDI4LCA0LCAyMTEsIDI0MSwgMjgsIDQsIDIxMSwgMjM2LCAKLSAgICAyOCwgNCwgMjExLCAyMzcsIDI4LCA0LCAyMTEsIDIyNSwgMjgsIDQsIDI1MCwgMTQyLCAyOCwgNCwgMjUwLCAxMjksIDI4LCAKLSAgICA0LCAyNTAsIDEzMSwgMjgsIDQsIDI1MCwgMTQxLCAyOCwgNCwgMjUwLCAxMzksIDI4LCA0LCAyNTAsIDE0MCwgMjgsIDQsIAotICAgIDI1MCwgMTMwLCAyOCwgNCwgMjI0LCAxMjUsIDI4LCA0LCAyMjQsIDExNSwgMjgsIDQsIDIyNCwgMTIxLCAyOCwgNCwgMjI0LCAKLSAgICAxMjQsIDI4LCA0LCAyMjQsIDEyMiwgMjgsIDQsIDIyNCwgMTIzLCAyOCwgNCwgMjI0LCAxMjAsIDI4LCA0LCAyMzMsIDE4MSwgCi0gICAgMjgsIDQsIDIzMywgMTczLCAyOCwgNCwgMjMzLCAxNzYsIDI4LCA0LCAyMzMsIDE4MCwgMjgsIDQsIDIzMywgMTc3LCAyOCwgCi0gICAgNCwgMjMzLCAxNzgsIDI4LCA0LCAyMzMsIDE3NCwgMjgsIDQsIDIxMywgMTE4LCAyOCwgNCwgMjEzLCAxMDgsIDI4LCA0LCAKLSAgICAyMTMsIDExNCwgMjgsIDQsIDIxMywgMTE3LCAyOCwgNCwgMjEzLCAxMTUsIDI4LCA0LCAyMTMsIDExNiwgMjgsIDQsIDIxMywgCi0gICAgMTEzLCAyOCwgNCwgMjQyLCA1MiwgMjgsIDQsIDI0MiwgNDMsIDI4LCA0LCAyNDIsIDQ2LCAyOCwgNCwgMjQyLCA1MSwgMjgsIAotICAgIDQsIDI0MiwgNDgsIDI4LCA0LCAyNDIsIDQ5LCAyOCwgNCwgMjQyLCA0NSwgMzcsIDMzLCAxLCAyNTEsIDI1MSwgMzcsIDMzLCAKLSAgICAxLCAyMTQsIDIzMiwgMzcsIDMzLCAxLCAyNDIsIDIxMiwgMzcsIDMzLCAxLCAyNDgsIDQxLCAzNywgMzMsIDEsIDIxMiwgNjcsIAotICAgIDM3LCAzMywgMSwgMjEyLCA4NywgMzcsIDMzLCAxLCAxODEsIDM3LCAzMywgMSwgMjQ1LCAxMzEsIDM3LCAzMywgMSwgMjQ1LCAKLSAgICAxMTcsIDM3LCAzMywgMSwgMjQ1LCAxMDgsIDM3LCAzMywgMSwgNzUsIDM3LCAzMywgMSwgMjI2LCA5NiwgMzcsIDMzLCAxLCAKLSAgICAyNDUsIDU1LCAzNywgMzMsIDEsIDI0NSwgNDUsIDM3LCAzMywgMSwgMjE3LCAyMjksIDM3LCAzMywgMSwgMTU5LCAzNywgMzMsIAotICAgIDEsIDIxNiwgMTM2LCAzNywgMzMsIDEsIDI1MCwgNjcsIDM3LCAzMywgMSwgMjIxLCAyNCwgMzcsIDMzLCAxLCAyMjAsIDI0NSwgCi0gICAgMzcsIDMzLCAxLCAyNDQsIDUxLCAzNywgMzMsIDEsIDI0NSwgNDQsIDM3LCAzMywgMSwgNjEsIDM3LCAzMywgMSwgMjM2LCAKLSAgICA1NSwgMzcsIDMzLCAxLCAyNDcsIDExMywgMzcsIDMzLCAxLCAyMzAsIDIxMCwgMjE1LCAxNzUsIDM3LCAzMywgMSwgMjEzLCAKLSAgICA0OSwgMzcsIDMzLCAxLCAyMTIsIDIwMywgMzcsIDMzLCAxLCAyMzUsIDE4MSwgNjEsIDM3LCAzMywgMSwgMjMyLCAyMjEsIAotICAgIDIxMiwgMTc0LCAzNywgMzMsIDEsIDI1MSwgMTcyLCAyMTIsIDE3NCwgMzcsIDMzLCAxLCAyMzUsIDE4MSwgMjUxLCAxNzIsIAotICAgIDIxMiwgMTc0LCA0NiwgMjU0LCAxOSwgMjE5LCA1LCAyMzEsIDIxNywgNDYsIDI1NCwgMTksIDI0NiwgNzIsIDIxOSwgNSwgCi0gICAgMjMxLCAyMTcsIDQyLCAyMTksIDUsIDEyNSwgNDYsIDIxOSwgNSwgMTI1LCA0MiwgMjQ2LCA3MiwgMjE5LCA1LCAxMjUsIDQ2LCAKLSAgICAyNDYsIDcyLCAyMTksIDUsIDEyNSwgMjI0LCA0OCwgMjM1LCAxOTksIDIzMSwgMjE3LCAyMjQsIDQ4LCAyNDYsIDcyLCAyMzUsIAotICAgIDE5OSwgMjMxLCAyMTcsIDI0NiwgNzIsIDIxNiwgMTk5LCAyMzEsIDIxNywgNDIsIDIxNiwgMTk5LCAxMjUsIDQ2LCAyMTYsIAotICAgIDE5OSwgMTI1LCAyMjQsIDQ4LCAyMTksIDE2NiwgNDIsIDIyNCwgNDgsIDIyNywgNjQsIDEyNSwgNDYsIDIyNCwgNDgsIDIyNywgCi0gICAgNjQsIDEyNSwgMjQ1LCAxNjYsIDI0OSwgOTcsIDIyNiwgMTQxLCAyNDMsIDI0NywgMjI2LCAxNDEsIDIyMywgMjAyLCAyNDMsIAotICAgIDI0NywgMjI2LCAxNDEsIDI0MCwgMTU3LCAyNDYsIDcyLCAyMjcsIDExNSwgMjQ2LCA1OCwgMjU0LCAyOCwgMjE1LCAxMjQsIAotICAgIDI1NCwgMjgsIDI0NiwgNzIsIDIyMywgMTQ0LCAyNTQsIDE4LCA1MSwgMjI3LCAxMTIsIDI0MCwgMTYwLCAyMzUsIDE5MSwgCi0gICAgMjM1LCAxOTgsIDIyNiwgMTg2LCAyNTEsIDgxLCAyNDAsIDE2MSwgMiwgMjQ3LCAyMDksIDIxNywgNDMsIDIsIDIyMywgMTMxLCAKLSAgICA0OSwgNDIsIDExNSwgMjI2LCAxMzMsIDEyNSwgNDYsIDExNSwgMjI2LCAxMzMsIDEyNSwgMjE3LCA0MywgMiwgNjIsIDQ5LCAKLSAgICAyMTcsIDQzLCAyLCA2MiwgNTUsIDQyLCA3MSwgMjUyLCA2MCwgMiwgMjI0LCAxNTIsIDQ2LCA3MSwgMjUyLCA2MCwgMiwgCi0gICAgMjI0LCAxNTIsIDIxNiwgMjI3LCA0MiwgMTUxLCAxMjUsIDIxNiwgMjI3LCA0NiwgMTUxLCAxMjUsIDI1MSwgMTAxLCA0MiwgCi0gICAgMTUxLCAxMjUsIDI1MSwgMTAxLCA0NiwgMTUxLCAxMjUsIDQyLCAyMjAsIDExMywgMTExLCAxMjUsIDQ2LCAyMjAsIDExMywgCi0gICAgMTExLCAxMjUsIDQyLCA1MSwgMjI2LCAxMzEsIDQ2LCA1MSwgMjI2LCAxMzEsIDExNywgMTc2LCAxMTAsIDEyMiwgNjIsIAotICAgIDIyNSwgMjYsIDEyMiwgNjIsIDExMCwgMTE3LCAxNzYsIDIyNSwgMjYsIDkxLCAyNDMsIDIzNywgNjIsIDIyNSwgMjYsIDI0NCwgCi0gICAgNTAsIDYyLCA3NywgMjIzLCAyMDIsIDIyNCwgMTU4LCA3NywgNzEsIDIxNywgNDIsIDIyMywgMTMxLCAyMjUsIDE0NCwgMjEzLCAKLSAgICAxOTYsIDIyMSwgNTgsIDIzMSwgMzcsIDI0NywgNzQsIDksIDM0LCAyMjMsIDIyNywgOSwgMzQsIDI0OSwgMjAzLCA5LCAzNCwgCi0gICAgMjIyLCA5NSwgMTE2LCA5LCAzNCwgMjIyLCA5NSwgMTA5LCA5LCAzNCwgMjIyLCA5NSwgMTY2LCA5LCAzNCwgMjI2LCA0MywgCi0gICAgOSwgMzQsIDI1MSwgODksIDksIDM0LCAyMTgsIDQwLCA5LCAzNCwgMjM0LCA0MiwgMTE2LCA5LCAzNCwgMjM0LCA0MiwgMTA5LCAKLSAgICA5LCAzNCwgMjQ3LCAxMjIsIDksIDM0LCAyMjIsIDk4LCA5LCAzNCwgMywgMTE2LCA5LCAzNCwgMywgMTA5LCA5LCAzNCwgCi0gICAgMjMzLCAxMjEsIDExNiwgOSwgMzQsIDIzMywgMTIxLCAxMDksIDksIDM0LCAyMzMsIDEyMSwgMTY2LCA5LCAzNCwgMjMzLCAKLSAgICAxMjEsIDE2MywgOSwgMzQsIDIxOSwgMjUyLCA5LCAzNCwgMjE3LCA5OCwgOSwgMzQsIDIxOSwgMjUwLCAxMTYsIDksIDM0LCAKLSAgICAyMTksIDI1MCwgMTA5LCA5LCAzNCwgMjQxLCAyMTIsIDExNiwgOSwgMzQsIDI0MSwgMjEyLCAxMDksIDksIDM0LCAyNDEsIAotICAgIDI1NCwgOSwgMzQsIDIyNCwgMzksIDksIDM0LCAyNTAsIDE5LCA5LCAzNCwgMjE4LCAyMzgsIDksIDM0LCAyMzAsIDE5OCwgOSwgCi0gICAgMzQsIDI0OCwgMzksIDksIDM0LCAyMzAsIDE5MCwgOSwgMzQsIDI0OSwgMjE4LCA5LCAzNCwgMjE0LCAyNSwgMTE2LCA5LCAKLSAgICAzNCwgMjE0LCAyNSwgMTA5LCA5LCAzNCwgMjQ0LCA2NSwgOSwgMzQsIDIyNiwgMTA2LCAxMTYsIDksIDM0LCAyMjYsIDEwNiwgCi0gICAgMTA5LCA5LCAzNCwgMjIwLCA4NiwgMTUxLCAyMTYsIDE5NCwgMjE2LCAxNDYsIDksIDM0LCAyNDksIDg0LCA5LCAzNCwgMjQ3LCAKLSAgICA5MCwgOSwgMzQsIDIzNSwgMTM1LCA5LCAzNCwgMjUxLCAxMjIsIDY1LCAyNDksIDE4NywgOSwgMzQsIDI0NCwgMjM5LCA5LCAKLSAgICAzNCwgMjE5LCAxODEsIDExNiwgOSwgMzQsIDIxOSwgMTgxLCAxMDksIDksIDM0LCAyNTIsIDczLCA5LCAzNCwgMjIwLCA5MywgCi0gICAgOSwgMzQsIDI1MCwgMjQ5LCAyMjAsIDkzLCA5LCAzNCwgMjI5LCAxNzIsIDExNiwgOSwgMzQsIDIyOSwgMTcyLCAxMDksIDksIAotICAgIDM0LCAyMjksIDE3MiwgMTY2LCA5LCAzNCwgMjI5LCAxNzIsIDE2MywgOSwgMzQsIDIzMSwgMTExLCA5LCAzNCwgMjIwLCAKLSAgICAyMzcsIDksIDM0LCAyMjQsIDQ1LCA5LCAzNCwgMjQ1LCA0LCA5LCAzNCwgMjI3LCA3NSwgOSwgMzQsIDI1MSwgNjEsIDExNiwgCi0gICAgOSwgMzQsIDI1MSwgNjEsIDEwOSwgOSwgMzQsIDIzMSwgMTUxLCA5LCAzNCwgMjMwLCAxOTMsIDksIDM0LCAyNDIsIDExNywgCi0gICAgMTE2LCA5LCAzNCwgMjQyLCAxMTcsIDEwOSwgOSwgMzQsIDI0MiwgMTE3LCAxNjYsIDksIDM0LCAyMTcsIDYwLCA5LCAzNCwgCi0gICAgMjQ5LCAxODYsIDksIDM0LCAyMTMsIDI1MCwgMTE2LCA5LCAzNCwgMjEzLCAyNTAsIDEwOSwgOSwgMzQsIDI1MCwgMjQ5LCAKLSAgICAyMjIsIDg5LCA5LCAzNCwgMjIwLCA4NiwgMjQwLCAyMzUsIDksIDM0LCAyNDAsIDIzNSwgOSwgMzQsIDI1MCwgMjQ5LCAyMTksIAotICAgIDE5MCwgOSwgMzQsIDI1MCwgMjQ5LCAyMjAsIDIzMiwgOSwgMzQsIDI0NCwgMSwgOSwgMzQsIDI1MCwgMjQ5LCAyNTAsIDE2MCwgCi0gICAgOSwgMzQsIDIyMCwgODYsIDIxNCwgNDEsIDksIDM0LCAyMTQsIDQyLCAxMTYsIDksIDM0LCAyMTQsIDQyLCAxMDksIDksIDM0LCAKLSAgICAyNDksIDIyMCwgOSwgMzQsIDI1MCwgMjQ5LCAyNDIsIDE0MiwgOSwgMzQsIDE4NCwgMTE2LCA5LCAzNCwgMTg0LCAxMDksIDksIAotICAgIDM0LCAyNTAsIDI0OSwgMjMyLCAxOTAsIDksIDM0LCAyNTAsIDI0OSwgMjQzLCA2NCwgOSwgMzQsIDIzMCwgMTg5LCAxMTYsIAotICAgIDksIDM0LCAyMzAsIDE4OSwgMTA5LCA5LCAzNCwgMjI0LCA1MCwgOSwgMzQsIDI1MSwgMTMwLCA5LCAzNCwgMjUwLCAyNDksIAotICAgIDIxOCwgNywgMjMzLCA3NiwgOSwgMzQsIDI1MCwgMjQ5LCAyMzMsIDc3LCA5LCAzNCwgMjUwLCAyNDksIDIxMywgMjI0LCA5LCAKLSAgICAzNCwgMjUwLCAyNDksIDI0NCwgMTUsIDksIDM0LCAyNDUsIDE3NCwgMTE2LCA5LCAzNCwgMjQ1LCAxNzQsIDEwOSwgOSwgMzQsIAotICAgIDI0NSwgMTc0LCAxNjYsIDksIDM0LCAyNTAsIDI0OSwgMjQ1LCAxNzMsIDksIDM0LCAyNDEsIDIxOSwgOSwgMzQsIDI1MCwgCi0gICAgMjQ5LCAyNDAsIDIzMiwgOSwgMzQsIDI1MSwgMTE5LCA5LCAzNCwgMjQyLCAxOTgsIDksIDM0LCAyNTAsIDI0OSwgMjQ0LCAKLSAgICA1OSwgOSwgMzQsIDI1MCwgMjQ5LCAyNTEsIDE2MCwgOSwgMzQsIDI1MCwgMjQ5LCAyMjIsIDE3MiwgOSwgMzQsIDIyMCwgODYsIAotICAgIDIxMywgMjQzLCA5LCAzNCwgMjIwLCA4NiwgMjEzLCAzMiwgOSwgMzQsIDI1MCwgMjQ5LCAyNDMsIDIxNCwgOSwgMzQsIDIzNSwgCi0gICAgMTQxLCAyNDUsIDgsIDksIDM0LCAyNTAsIDI0OSwgMjQ1LCA4LCA5LCAzNCwgMjM1LCAxNDEsIDIxNiwgMjI4LCA5LCAzNCwgCi0gICAgMjUwLCAyNDksIDIxNiwgMjI4LCA5LCAzNCwgMjM1LCAxNDEsIDI0NiwgNTAsIDksIDM0LCAyNTAsIDI0OSwgMjQ2LCA1MCwgCi0gICAgOSwgMzQsIDIxNiwgNTUsIDksIDM0LCAyMzUsIDE0MSwgMjE2LCA1NSwgOSwgMzQsIDI1MCwgMjQ5LCAyMTYsIDU1LCA1NywgCi0gICAgMzQsIDExNiwgNTcsIDM0LCAyMzIsIDI0MiwgNTcsIDM0LCAyNDcsIDc0LCA1NywgMzQsIDIyMCwgMjMsIDU3LCAzNCwgMjIyLCAKLSAgICA5NCwgNTcsIDM0LCAxMDEsIDU3LCAzNCwgMTA5LCA1NywgMzQsIDIzMywgOSwgNTcsIDM0LCAyMzEsIDI0OCwgNTcsIDM0LCAKLSAgICAyMzMsIDU3LCA1NywgMzQsIDI0NSwgODgsIDU3LCAzNCwgMTk1LCA1NywgMzQsIDExOSwgMjUxLCA4OSwgNTcsIDM0LCAyNDksIAotICAgIDg2LCA1NywgMzQsIDI0MCwgMTA0LCA1NywgMzQsIDIxOCwgNDAsIDU3LCAzNCwgMjI3LCA0MCwgMjUxLCA4OSwgNTcsIDM0LCAKLSAgICAyMzQsIDQxLCA1NywgMzQsIDIyNSwgMTA0LCA1NywgMzQsIDIxMywgMTkwLCA1NywgMzQsIDIxOSwgMTc1LCA1NywgMzQsIAotICAgIDQ2LCAyMjcsIDQwLCAyNTEsIDg5LCA1NywgMzQsIDI0MSwgMTYxLCAyNDUsIDEwMywgNTcsIDM0LCAyMTcsIDIwMCwgNTcsIAotICAgIDM0LCAyNDcsIDEyMiwgNTcsIDM0LCAyMjIsIDk4LCA1NywgMzQsIDI0OSwgMjAzLCA1NywgMzQsIDIyNSwgNjUsIDU3LCAzNCwgCi0gICAgMjU0LCAxMjAsIDU3LCAzNCwgMjMwLCAxODAsIDU3LCAzNCwgMjQ1LCAxMDMsIDU3LCAzNCwgMjQ1LCAxNzksIDU3LCAzNCwgCi0gICAgMjIyLCAxMTgsIDU3LCAzNCwgMjQyLCAxNTAsIDU3LCAzNCwgMjQyLCAxNTEsIDIyMCwgOSwgNTcsIDM0LCAyNDUsIDcsIDU3LCAKLSAgICAzNCwgMjUxLCAxNzEsIDU3LCAzNCwgMjEzLCAyMDgsIDU3LCAzNCwgMjUwLCAzOCwgNTcsIDM0LCAyMjMsIDk4LCA1NywgMzQsIAotICAgIDIzNSwgMjQ3LCA1NywgMzQsIDIyMCwgNywgNTcsIDM0LCAyMzMsIDEyMCwgNTcsIDM0LCAyNDksIDk1LCA1NywgMzQsIDIxOSwgCi0gICAgMTY5LCA1NywgMzQsIDIzMCwgMTg1LCA1NywgMzQsIDIyMywgMTIxLCA1NywgMzQsIDIxMywgMTkzLCA1NywgMzQsIDIyNywgCi0gICAgNTYsIDU3LCAzNCwgMjE2LCA2MSwgNTcsIDM0LCAyNDYsIDM1LCA1NywgMzQsIDIyMCwgMTc1LCAyMTcsIDk4LCA1NywgMzQsIAotICAgIDI0NiwgNzIsIDI0OSwgMjAzLCA1NywgMzQsIDE4NCwgMjE5LCA0OCwgNTcsIDM0LCAxMTcsIDI0MSwgMjQ5LCA1NywgMzQsIAotICAgIDIyMCwgMTgwLCA1NywgMzQsIDI1MSwgOTUsIDU3LCAzNCwgMjE5LCAyNDksIDU3LCAzNCwgMjUxLCA2NSwgNTcsIDM0LCAKLSAgICAyMTksIDc4LCA1NywgMzQsIDI0MSwgMjExLCA1NywgMzQsIDI0MiwgMTAsIDU3LCAzNCwgMjQ3LCA3NywgNTcsIDM0LCAyNDEsIAotICAgIDI1NCwgNTcsIDM0LCAyNTEsIDgxLCA1NywgMzQsIDIyNCwgMzksIDU3LCAzNCwgMjIyLCAxMDYsIDU3LCAzNCwgMjQ3LCAKLSAgICAxNTEsIDU3LCAzNCwgMjUzLCA4NCwgNTcsIDM0LCAyMTksIDE2NiwgNTcsIDM0LCAyMjgsIDE2MiwgNTcsIDM0LCAyMTgsIAotICAgIDIzOCwgNTcsIDM0LCAyMjIsIDEyOSwgNTcsIDM0LCAyMzAsIDE5OCwgNTcsIDM0LCAyMTYsIDE5MywgNTcsIDM0LCAyMzMsIAotICAgIDE0NSwgNTcsIDM0LCAyMTksIDY5LCA1NywgMzQsIDI0OCwgMzksIDU3LCAzNCwgMjE0LCA1LCA1NywgMzQsIDI0NywgMTAwLCAKLSAgICAyMjgsIDE2MiwgNTcsIDM0LCAyNDksIDE1NCwgNTcsIDM0LCAyNDMsIDE5NCwgNTcsIDM0LCAyNDksIDIxNCwgNTcsIDM0LCAKLSAgICAyMTksIDgyLCA1NywgMzQsIDIxNCwgMjQsIDU3LCAzNCwgMjQ0LCA2NSwgNTcsIDM0LCAyNDksIDIxMSwgNTcsIDM0LCAyNDQsIAotICAgIDEyOSwgNTcsIDM0LCA1MSwgMjEzLCAxNjYsIDU3LCAzNCwgMTUxLCAyMTYsIDE5NCwgMjE2LCAxNDYsIDU3LCAzNCwgMjIwLCAKLSAgICAxNywgNTcsIDM0LCAyNDQsIDEzOSwgNTcsIDM0LCAyNDksIDg0LCA1NywgMzQsIDI0NywgOTAsIDU3LCAzNCwgMjI1LCA2MiwgCi0gICAgNTcsIDM0LCAyMzUsIDEzNSwgNTcsIDM0LCAyMzEsIDEzMSwgNTcsIDM0LCAyMTcsIDQxLCA1NywgMzQsIDIxOCwgMTkwLCAKLSAgICA1NywgMzQsIDIzMywgMywgNTcsIDM0LCAyMTUsIDEwMywgNTcsIDM0LCAyNDQsIDg5LCA1NywgMzQsIDI1MSwgMTIyLCA2NSwgCi0gICAgMjQ5LCAxODcsIDU3LCAzNCwgMjIwLCAxMTQsIDU3LCAzNCwgMjQ2LCA3MiwgMjE3LCAxOTUsIDU3LCAzNCwgMjEzLCAyMzgsIAotICAgIDU3LCAzNCwgMjIwLCAzMSwgNTcsIDM0LCAyNDcsIDEzOSwgNTcsIDM0LCAyNDQsIDIzOSwgNTcsIDM0LCAyMTksIDE5MywgCi0gICAgNTcsIDM0LCA2OCwgNTcsIDM0LCAyMTksIDcxLCA1NywgMzQsIDIxOSwgMTgwLCA1NywgMzQsIDIxNiwgMjEyLCA1NywgMzQsIAotICAgIDI0MiwgMTIzLCA1NywgMzQsIDI1MCwgMTUxLCA1NywgMzQsIDIxOSwgOTksIDU3LCAzNCwgMjUyLCA3MywgNTcsIDM0LCAKLSAgICAyMjMsIDE4NCwgNTcsIDM0LCAyMjAsIDkzLCA1NywgMzQsIDIzNSwgMTMwLCA1NywgMzQsIDIyOSwgMTcxLCA1NywgMzQsIAotICAgIDIyMCwgMjM3LCA1NywgMzQsIDI0NCwgMTE4LCA1NywgMzQsIDIyNywgNzUsIDU3LCAzNCwgMjU0LCAyNywgNTcsIDM0LCAKLSAgICAyMjUsIDE2MiwgNTcsIDM0LCAyNDUsIDE4MywgNTcsIDM0LCAyNTEsIDYwLCA1NywgMzQsIDIzMSwgMTUxLCA1NywgMzQsIAotICAgIDIzMCwgMjUyLCA1NywgMzQsIDIyMSwgNzYsIDU3LCAzNCwgMjUzLCAxNjcsIDU3LCAzNCwgMjMwLCAxOTMsIDU3LCAzNCwgCi0gICAgMjE2LCAyMzIsIDU3LCAzNCwgMjI3LCAzMSwgNTcsIDM0LCAyNTEsIDEyNCwgNTcsIDM0LCAyMTksIDY3LCA1NywgMzQsIAotICAgIDI0OSwgMTYzLCA1NywgMzQsIDI0MiwgMTE2LCA1NywgMzQsIDIxNywgNjAsIDU3LCAzNCwgMjM1LCAyMTQsIDU3LCAzNCwgCi0gICAgMjUxLCAxMzQsIDU3LCAzNCwgMjE0LCA0MiwgMjQ1LCAxMDMsIDU3LCAzNCwgMjQ5LCAxODYsIDU3LCAzNCwgMjEzLCAyNDksIAotICAgIDU3LCAzNCwgMjIyLCA4OSwgNTcsIDM0LCAyNDAsIDIzNSwgNTcsIDM0LCAyMTksIDE5MCwgNTcsIDM0LCAyMTQsIDI1NCwgCi0gICAgNTcsIDM0LCAyNTEsIDI0OCwgNTcsIDM0LCAyMjUsIDIwNSwgNTcsIDM0LCAyNTIsIDkyLCA1NywgMzQsIDIyMCwgMjMyLCAKLSAgICA1NywgMzQsIDIyNCwgMywgNTcsIDM0LCAyMjMsIDM3LCA1NywgMzQsIDI0NCwgMSwgNTcsIDM0LCAyNTEsIDEyMywgNTcsIAotICAgIDM0LCAyNTAsIDE2MCwgNTcsIDM0LCAyNTEsIDE0OSwgNTcsIDM0LCAyMzAsIDE5NSwgNTcsIDM0LCAyMTQsIDQxLCA1NywgCi0gICAgMzQsIDI0OSwgMjIwLCA1NywgMzQsIDIxMywgMjIxLCA1NywgMzQsIDI0NywgMTMyLCA1NywgMzQsIDIxNCwgMTQyLCA1NywgCi0gICAgMzQsIDI0MiwgMTQyLCA1NywgMzQsIDIzMiwgMTkwLCA1NywgMzQsIDI0MywgNjQsIDU3LCAzNCwgMjMwLCAxODgsIDU3LCAKLSAgICAzNCwgMjIwLCAyMiwgNTcsIDM0LCAyMjAsIDE3NSwgMjE4LCAyNiwgMjUxLCAxNjAsIDU3LCAzNCwgMjI0LCA1MCwgNTcsIAotICAgIDM0LCAyNTEsIDEzMCwgNTcsIDM0LCAyMTMsIDE4NSwgNTcsIDM0LCAyNDQsIDE1OCwgNTcsIDM0LCAyMzMsIDc2LCA1NywgCi0gICAgMzQsIDIxOCwgNywgMjMzLCA3NiwgNTcsIDM0LCAyMzMsIDcyLCA1NywgMzQsIDIxOSwgMjE3LCA1NywgMzQsIDIzMywgNzcsIAotICAgIDU3LCAzNCwgMjEzLCAyMjQsIDU3LCAzNCwgMjQ0LCAxNSwgNTcsIDM0LCAyNDUsIDE3MywgNTcsIDM0LCAyNDEsIDIxOSwgCi0gICAgNTcsIDM0LCAyNDMsIDIyNiwgNTcsIDM0LCAyNDAsIDIzMiwgNTcsIDM0LCAyNTEsIDExOSwgNTcsIDM0LCAyMTgsIDE0LCAKLSAgICA1NywgMzQsIDI0MiwgMTYsIDU3LCAzNCwgMjQ0LCA4MiwgNTcsIDM0LCAyMjIsIDE5NywgMjEzLCAyMjEsIDU3LCAzNCwgCi0gICAgMjUwLCAxNTMsIDU3LCAzNCwgMjQyLCAxOTgsIDU3LCAzNCwgMjQ0LCA1OSwgNTcsIDM0LCAyNTEsIDE2MCwgNTcsIDM0LCAKLSAgICAyMjIsIDE3MiwgNTcsIDM0LCAyNDgsIDI1LCA1NywgMzQsIDIxMywgMjQzLCA1NywgMzQsIDI0MSwgMTk0LCA1NywgMzQsIAotICAgIDIxMywgMzIsIDU3LCAzNCwgMjMxLCA1LCA1NywgMzQsIDI1MSwgMTQ0LCA1NywgMzQsIDI0NSwgMTEzLCA1NywgMzQsIDI0MywgCi0gICAgMjE0LCA1NywgMzQsIDIxNiwgMTY3LCA1NywgMzQsIDI0NiwgMzcsIDU3LCAzNCwgMjI0LCAzMywgNTcsIDM0LCAyMjgsIAotICAgIDE2NCwgNTcsIDM0LCAyNDUsIDgsIDU3LCAzNCwgMjE2LCAyMjgsIDU3LCAzNCwgMjQ2LCA1MCwgNTcsIDM0LCAyMTYsIDU1LCAKLSAgICA1NywgMzQsIDI0NCwgMTcsIDEwNSwgMjQ3LCAyNDQsIDEzNywgNDIsIDIxMSwgMjExLCAyMjMsIDE0OCwgMTA1LCAyNDcsIAotICAgIDI0NCwgMTM3LCA3OCwgMjExLCAyMTEsIDU1LCAxMDUsIDI0NywgMjQ0LCAxMzcsIDQyLCAyMTEsIDIxMSwgMjMxLCAzNywgCi0gICAgMjQsIDIyMywgMTQ4LCAxMDUsIDI0NywgMjQ0LCAxMzcsIDc4LCAyMTEsIDIxMSwgMjMxLCAzNywgMjQsIDU1LCAxMDUsIAotICAgIDI0NywgMjQ0LCAxMzcsIDI0MywgMjAwLCAyMTgsIDIxMCwgMTA1LCAyNDcsIDI0NCwgMTM3LCAyMTgsIDIxMSwgMjQzLCAKLSAgICAyMTMsIDQ5LCAxMDUsIDI0NywgMjQ0LCAxMzcsIDIxOCwgMjExLCAyNDMsIDIxMywgNTUsIDEwNSwgMjQ3LCAyNDQsIDEzNywgCi0gICAgMjE4LCAyMTEsIDI0MywgMjEzLCAyMzMsIDcwLCAxMDUsIDI0NywgMjQ0LCAxMzcsIDIxOCwgMjExLCAyNDMsIDIxMywgMjE1LCAKLSAgICAxMzEsIDIzMywgNzAsIDEwNSwgMjQ3LCAyNDQsIDEzNywgMjE4LCAyMTEsIDI0MywgMjEzLCAyMTUsIDEzMSwgMjIzLCAxNDgsIAotICAgIDEwNSwgMjQ3LCAyNDQsIDEzNywgMjE4LCAyMTEsIDI0MywgMjEzLCAyMzIsIDE2MywgMjMzLCA3MCwgMTA1LCAyNDcsIDI0NCwgCi0gICAgMTM3LCAyMjYsIDI0NiwgMTA1LCAyMTksIDIwNiwgMTA1LCAyNDksIDE1NywgMTA1LCAyNDMsIDIwMCwgMjE5LCA2OSwgMjQ3LCAKLSAgICAxMjksIDc3LCAyMzUsIDEzMSwgMjM1LCAyMzMsIDIxOSwgOTgsIDg3LCAxMDUsIDIzNSwgMTU2LCA3NywgMTA1LCAyNDksIAotICAgIDE4OSwgNzcsIDEwNSwgNTAsIDIxMiwgNzksIDQyLCAyNTQsIDE5LCAxMjUsIDQ2LCAyNTQsIDE5LCAxMjUsIDQyLCA1MSwgCi0gICAgMjU0LCAxOSwgMTI1LCA0NiwgNTEsIDI1NCwgMTksIDEyNSwgNDIsIDI0OSwgMTAwLCAxMjUsIDQ2LCAyNDksIDEwMCwgMTI1LCAKLSAgICA0MiwgNjcsIDI0OSwgMTAwLCAxMjUsIDQ2LCA2NywgMjQ5LCAxMDAsIDEyNSwgNDIsIDgzLCAyMzMsIDQ0LCAxMjUsIDQ2LCAKLSAgICA4MywgMjMzLCA0NCwgMTI1LCAyMjUsIDExNywgNzcsIDI0MywgOCwgNzcsIDQyLCAyMTYsIDIxOSwgMjIwLCAyMzMsIDEyNSwgCi0gICAgNDYsIDIxNiwgMjE5LCAyMjAsIDIzMywgMTI1LCA0MiwgNjcsIDIzMywgNDQsIDEyNSwgNDYsIDY3LCAyMzMsIDQ0LCAxMjUsIAotICAgIDQyLCA2NywgMjE2LCAyMTksIDIyMCwgMjMzLCAxMjUsIDQ2LCA2NywgMjE2LCAyMTksIDIyMCwgMjMzLCAxMjUsIDQyLCA2NywgCi0gICAgNDEsIDEyNSwgNDYsIDY3LCA0MSwgMTI1LCAyMTQsIDIwLCAyNDgsIDEwMSwgMjIzLCAyMDIsIDUxLCAyMjUsIDcyLCAyMjQsIAotICAgIDE0MywgNzcsIDUxLCAyMjUsIDcyLCAyMjQsIDE0MywgNzcsIDExNSwgNTEsIDIyNSwgNzIsIDIyNCwgMTQzLCA3NywgMjI1LCAKLSAgICAxMTcsIDE1MiwgMjQ0LCAxNTgsIDI0MSwgMjQ3LCAyMjgsIDU0LCAxMTYsIDI0MSwgMjQ3LCAyMjgsIDU0LCAxMDksIDI0MSwgCi0gICAgMjQ3LCAyMjgsIDU0LCAxNjYsIDI0MSwgMjQ3LCAyMjgsIDU0LCAxNjMsIDI0MSwgMjQ3LCAyMjgsIDU0LCAxODAsIDI0MSwgCi0gICAgMjQ3LCAyMjgsIDU0LCAxODksIDI0MSwgMjQ3LCAyMjgsIDU0LCAxOTgsIDI0MSwgMjQ3LCAyMjgsIDU0LCAxOTUsIDI0MSwgCi0gICAgMjQ3LCAyMjgsIDU0LCAyMDAsIDEwNSwgMjMzLCAyOSwgMTYwLCA3NywgMTA1LCAyMjMsIDEyNSwgMTYwLCA3NywgMTA1LCAKLSAgICAyNDcsIDI1MSwgMTYwLCA3NywgMTA1LCAyNDUsIDg3LCAxNjAsIDc3LCAyMywgMjIwLCA4MSwgNjIsIDE2MCwgNzcsIDIzLCAKLSAgICA1MSwgNjIsIDE2MCwgNzcsIDIxNCwgMTYsIDI0OCwgMTAxLCA3MSwgMjM0LCAyMzgsIDIyMywgMjI4LCA3NywgNzEsIDIzNCwgCi0gICAgMjM4LCAyMjMsIDIyOCwgMiwgMjE0LCAxMTYsIDIxOSwgMjE4LCA3NywgNzEsIDIzNCwgMjM4LCAyMjMsIDIyOCwgMTUyLCAKLSAgICAyMTUsIDEzMSwgMjQyLCA5LCA3MSwgMjM0LCAyMzgsIDIyMywgMjI4LCAyLCAyMTQsIDExNiwgMjE5LCAyMTgsIDE1MiwgCi0gICAgMjE1LCAxMzEsIDI0MiwgOSwgNzEsIDIzNCwgMjM4LCAyMjMsIDIyOCwgMTUyLCAyMzIsIDE2MywgMjQyLCA5LCAzNiwgMjI1LCAKLSAgICAxMTcsIDc3LCAxMDUsIDIwMSwgMjMyLCAyNDMsIDI0NCwgMTE1LCAyMjEsIDU4LCA4NywgMjQxLCAyNDcsIDIyOCwgNTQsIAotICAgIDIxNywgMjAwLCAyNDEsIDI0NywgMjI4LCA1NCwgMjE2LCAzOCwgMjQxLCAyNDcsIDIyOCwgNTQsIDIxNywgMTE1LCA3MSwgCi0gICAgMTA1LCAyMzUsIDE1NiwgNzcsIDIzMSwgMjAzLCA3NywgMjI2LCAxMjcsIDI1NCwgNDksIDc3LCAxMDUsIDQzLCAyMzUsIAotICAgIDIzNSwgMTA1LCAxNTEsIDI0NCwgNzUsIDIxOSwgMjA2LCAxNDIsIDEsIDMsIDYxLCAxNDIsIDEsIDYxLCAxNDIsIDEsIDMsIAotICAgIDcyLCAxNDIsIDEsIDcyLCAxNDIsIDEsIDMsIDY5LCAxNDIsIDEsIDY5LCAxNDIsIDEsIDMsIDc0LCAxNDIsIDEsIDc0LCAKLSAgICAxNDIsIDEsIDMsIDc1LCAxNDIsIDEsIDc1LCAxNDIsIDEsIDE4MSwgMTQyLCAxLCAyNDMsIDExMCwgMTQyLCAxLCAyMzQsIAotICAgIDEwMSwgMTQyLCAxLCAyNDIsIDE5MCwgMTQyLCAxLCAyMzMsIDIzOCwgMTQyLCAxLCAyNDIsIDkyLCAxNDIsIDEsIDIzNCwgCi0gICAgMTg4LCAxNDIsIDEsIDI0MywgMzgsIDE0MiwgMSwgMjM0LCAzNywgMTQyLCAxLCAyNDIsIDE1MCwgMTQyLCAxLCAyMjIsIAotICAgIDIwMiwgMTQyLCAxLCAyMTIsIDEwOSwgMTQyLCAxLCAyMjAsIDExNywgMTQyLCAxLCAyMTIsIDM3LCAxNDIsIDEsIDIxOSwgCi0gICAgMjcsIDE0MiwgMSwgMjEyLCA4LCAxNDIsIDEsIDIyMiwgMTAwLCAxNDIsIDEsIDIxMiwgODcsIDE0MiwgMSwgMjE5LCAyNDIsIAotICAgIDE0MiwgMSwgMjEyLCAxNiwgMTQyLCAxLCAyMTgsIDUyLCAxNDIsIDEsIDI0OCwgMTY0LCAxNDIsIDEsIDIxNywgNzEsIDE0MiwgCi0gICAgMSwgMjQ3LCAyMTEsIDE0MiwgMSwgMywgMjE2LCA4MiwgMTQyLCAxLCAyMTYsIDgyLCAxNDIsIDEsIDI0NiwgMzMsIDE0MiwgCi0gICAgMSwgMjE3LCAyMjksIDE0MiwgMSwgMjQ4LCA0MSwgMTQyLCAxLCAxMDgsIDE0MiwgMSwgMjQ3LCA5OSwgMTQyLCAxLCAyMDUsIAotICAgIDE0MiwgMSwgMjI5LCA2NCwgMTQyLCAxLCAyMjgsIDkyLCAxNDIsIDEsIDIyOSwgMTg3LCAxNDIsIDEsIDIyOCwgMTg1LCAKLSAgICAxNDIsIDEsIDE1OSwgMTQyLCAxLCAyNTIsIDEwNywgMTQyLCAxLCAxOTMsIDE0MiwgMSwgMjQxLCAxNjUsIDE0MiwgMSwgCi0gICAgMjUxLCAxODQsIDE0MiwgMSwgMjI1LCAyNDAsIDE0MiwgMSwgMjQwLCAyMTIsIDE0MiwgMSwgMjUxLCA1NCwgMTQyLCAxLCAKLSAgICAyMjUsIDM1LCAxNDIsIDEsIDI0MSwgMjIyLCAxNDIsIDEsIDI1MSwgMjUxLCAxNDIsIDEsIDIyNiwgOTYsIDE0MiwgMSwgCi0gICAgMjQxLCA1NCwgMTQyLCAxLCAyNTEsIDEyOCwgMTQyLCAxLCAyMjUsIDE1MCwgMTQyLCAxLCAxODgsIDE0MiwgMSwgMjMxLCAKLSAgICA0MiwgMTQyLCAxLCAyMzAsIDE3MiwgMTQyLCAxLCAyMzEsIDE1NiwgMTQyLCAxLCAyMzAsIDIzMSwgMTQyLCAxLCAzLCAxODYsIAotICAgIDE0MiwgMSwgMTg2LCAxNDIsIDEsIDMsIDIxMiwgMjAzLCAxNDIsIDEsIDIxMiwgMjAzLCAxNDIsIDEsIDMsIDIxMiwgMjM1LCAKLSAgICAxNDIsIDEsIDIxMiwgMjM1LCAxNDIsIDEsIDIwMywgMTQyLCAxLCAyMjMsIDE4OCwgMTQyLCAxLCAyMjMsIDUxLCAxNDIsIDEsIAotICAgIDIyNCwgMjEsIDE0MiwgMSwgMjIzLCAxMTIsIDE0MiwgMSwgMywgMjE0LCA0OSwgMTQyLCAxLCAyMTQsIDQ5LCAxNDIsIDEsIAotICAgIDIxMywgMjM1LCAxNDIsIDEsIDIxNCwgNiwgMTQyLCAxLCAyMTMsIDIxNCwgMTQyLCAxLCAyMDQsIDE0MiwgMSwgMjE0LCA5OSwgCi0gICAgMTQyLCAxLCAzLCAxODEsIDE0MiwgMSwgMywgMjM0LCAxODgsIDM3LCAyMzQsIDIwNiwgMjE0LCAxMTYsIDIxOSwgMjE4LCAKLSAgICA3NywgMzcsIDIzNCwgMjA2LCAyMjEsIDc1LCAyMTksIDIxOCwgNzcsIDIzNCwgMjA2LCAyMTQsIDExNiwgMjE5LCAyMTgsIAotICAgIDc3LCAyMzQsIDIwNiwgMjIxLCA3NSwgMjE5LCAyMTgsIDc3LCAxNDIsIDIzNSwgMTU2LCA3NywgMTQyLCAyMTQsIDExNiwgCi0gICAgMjM1LCAxNTYsIDc3LCAxNDIsIDI0NywgMTczLCAyMTIsIDIxNiwgMjM0LCAyMDYsIDUxLCAyNDAsIDE2MCwgNTYsIDEsIDMsIAotICAgIDYxLCA1NiwgMSwgNjEsIDU2LCAxLCAzLCA3MiwgNTYsIDEsIDcyLCA1NiwgMSwgMywgNjksIDU2LCAxLCA2OSwgNTYsIDEsIAotICAgIDMsIDc0LCA1NiwgMSwgNzQsIDU2LCAxLCAzLCA3NSwgNTYsIDEsIDc1LCA1NiwgMSwgMTgxLCA1NiwgMSwgMjQzLCAxMTAsIAotICAgIDU2LCAxLCAyMzQsIDEwMSwgNTYsIDEsIDI0MiwgMTkwLCA1NiwgMSwgMjMzLCAyMzgsIDU2LCAxLCAyNDIsIDkyLCA1NiwgMSwgCi0gICAgMjM0LCAxODgsIDU2LCAxLCAyNDMsIDM4LCA1NiwgMSwgMjM0LCAzNywgNTYsIDEsIDI0MiwgMTUwLCA1NiwgMSwgMjIyLCAKLSAgICAyMDIsIDU2LCAxLCAyMTIsIDEwOSwgNTYsIDEsIDIyMCwgMTE3LCA1NiwgMSwgMjEyLCAzNywgNTYsIDEsIDIxOSwgMjcsIAotICAgIDU2LCAxLCAyMTIsIDgsIDU2LCAxLCAyMjIsIDEwMCwgNTYsIDEsIDIxMiwgODcsIDU2LCAxLCAyMTksIDI0MiwgNTYsIDEsIAotICAgIDIxMiwgMTYsIDU2LCAxLCAyMTgsIDUyLCA1NiwgMSwgMjQ4LCAxNjQsIDU2LCAxLCAyMTcsIDcxLCA1NiwgMSwgMjQ3LCAKLSAgICAyMTEsIDU2LCAxLCAzLCAyMTYsIDgyLCA1NiwgMSwgMjE2LCA4MiwgNTYsIDEsIDI0NiwgMzMsIDU2LCAxLCAyMTcsIDIyOSwgCi0gICAgNTYsIDEsIDI0OCwgNDEsIDU2LCAxLCAxMDgsIDU2LCAxLCAyNDcsIDk5LCA1NiwgMSwgMjA1LCA1NiwgMSwgMjI5LCA2NCwgCi0gICAgNTYsIDEsIDIyOCwgOTIsIDU2LCAxLCAyMjksIDE4NywgNTYsIDEsIDIyOCwgMTg1LCA1NiwgMSwgMTU5LCA1NiwgMSwgMjUyLCAKLSAgICAxMDcsIDU2LCAxLCAxOTMsIDU2LCAxLCAyNDEsIDE2NSwgNTYsIDEsIDI1MSwgMTg0LCA1NiwgMSwgMjI1LCAyNDAsIDU2LCAKLSAgICAxLCAyNDAsIDIxMiwgNTYsIDEsIDI1MSwgNTQsIDU2LCAxLCAyMjUsIDM1LCA1NiwgMSwgMjQxLCAyMjIsIDU2LCAxLCAyNTEsIAotICAgIDI1MSwgNTYsIDEsIDIyNiwgOTYsIDU2LCAxLCAyNDEsIDU0LCA1NiwgMSwgMjUxLCAxMjgsIDU2LCAxLCAyMjUsIDE1MCwgCi0gICAgNTYsIDEsIDE4OCwgNTYsIDEsIDIzMSwgNDIsIDU2LCAxLCAyMzAsIDE3MiwgNTYsIDEsIDIzMSwgMTU2LCA1NiwgMSwgMjMwLCAKLSAgICAyMzEsIDU2LCAxLCAzLCAxODYsIDU2LCAxLCAxODYsIDU2LCAxLCAzLCAyMTIsIDIwMywgNTYsIDEsIDIxMiwgMjAzLCA1NiwgCi0gICAgMSwgMywgMjEyLCAyMzUsIDU2LCAxLCAyMTIsIDIzNSwgNTYsIDEsIDIwMywgNTYsIDEsIDIyMywgMTg4LCA1NiwgMSwgMjIzLCAKLSAgICA1MSwgNTYsIDEsIDIyNCwgMjEsIDU2LCAxLCAyMjMsIDExMiwgNTYsIDEsIDMsIDIxNCwgNDksIDU2LCAxLCAyMTQsIDQ5LCAKLSAgICA1NiwgMSwgMjEzLCAyMzUsIDU2LCAxLCAyMTQsIDYsIDU2LCAxLCAyMTMsIDIxNCwgNTYsIDEsIDIwNCwgNTYsIDEsIDIxNCwgCi0gICAgOTksIDU2LCAxLCAzLCAxODEsIDU2LCAxLCAzLCAyMzQsIDE4OCwgNTYsIDEsIDIxNSwgMSwgNTYsIDEsIDIxNCwgMTU0LCAKLSAgICA1NiwgMSwgMjE0LCAyMzIsIDU2LCAxLCAyMTQsIDExOSwgNTYsIDIzMSwgMzcsIDI0NywgNzQsIDIzNCwgMjA2LCAyMjUsIAotICAgIDU3LCAyMTksIDIxOCwgNzcsIDU2LCAyMzUsIDE1NiwgNzcsIDU2LCAyMTQsIDExNiwgMjM1LCAxNTYsIDc3LCA1NiwgMjQ3LCAKLSAgICAxNzMsIDIzNCwgOCwgMjAyLCAxLCAyNTMsIDc0LCAyMDIsIDEsIDIyNiwgMjI5LCAyMDIsIDEsIDE4MywgMjAyLCAxLCAyNDQsIAotICAgIDIzMCwgMjAyLCAxLCAyNDksIDMsIDIwMiwgMSwgMjE4LCA5OSwgMjAyLCAxLCAyMDQsIDIwMiwgMSwgMTUwLCAyMDIsIDEsIAotICAgIDI0MywgMTc3LCAyMDIsIDEsIDIzNSwgMjcsIDIwMiwgMSwgMjQyLCA0MSwgMjAyLCAxLCAyMzUsIDE0MiwgMjAyLCAxLCAKLSAgICAyMjQsIDI0MCwgMjAyLCAxLCAyMTMsIDE2NiwgMjAyLCAxLCAyMTIsIDc2LCAyMDIsIDEsIDI1MCwgOTMsIDIwMiwgMSwgCi0gICAgMjIxLCAyNiwgMjAyLCAxLCAxNDksIDIwMiwgMSwgMjEyLCAxNTIsIDIwMiwgMSwgMjUwLCAyNTIsIDIwMiwgMSwgMTk3LCAKLSAgICAyMDIsIDEsIDYxLCAyMDIsIDEsIDc1LCAyMDIsIDEsIDc0LCAyMDIsIDEsIDI0NSwgMTU0LCAyMDIsIDEsIDI1NCwgMTA4LCAKLSAgICAyMDIsIDEsIDI0NSwgMTUyLCAyMDIsIDEsIDI1MywgMTA4LCAyMDIsIDEsIDIyNywgMiwgMjAyLCAxLCAyNTQsIDMyLCAyMDIsIAotICAgIDEsIDI0NSwgMTA4LCAyMDIsIDEsIDI1NCwgMjQsIDIwMiwgMSwgMjQ1LCA5NiwgMjAyLCAxLCAyNDUsIDU1LCAyMDIsIDEsIAotICAgIDcyLCAyMDIsIDEsIDY5LCAyMDIsIDEsIDIzNSwgMTU0LCAyMDIsIDEsIDIxNSwgNzksIDIwMiwgMSwgMjI5LCAxNjEsIDIwMiwgCi0gICAgMSwgMjQyLCAxNTQsIDIwMiwgMSwgMjM2LCAyOSwgMjMsIDEsIDIzNCwgNjcsIDIzLCAxLCAyMTksIDE1MCwgMjMsIDEsIAotICAgIDIzNCwgNjAsIDIzLCAxLCAyMjksIDU3LCAyMywgMSwgMjI5LCA1NSwgMjMsIDEsIDIyOSwgNTQsIDIzLCAxLCAyMTcsIDU1LCAKLSAgICAyMywgMSwgMjE5LCAxMzksIDIzLCAxLCAyMjMsIDE3OSwgMjMsIDEsIDIyMywgMTc0LCAyMywgMSwgMjIzLCAxNzEsIDIzLCAKLSAgICAxLCAyMjMsIDE2NCwgMjMsIDEsIDIyMywgMTU5LCAyMywgMSwgMjIzLCAxNTQsIDIzLCAxLCAyMjMsIDE2NSwgMjMsIDEsIAotICAgIDIyMywgMTc3LCAyMywgMSwgMjMxLCAzMCwgMjMsIDEsIDIyNSwgMjI3LCAyMywgMSwgMjE5LCAxNDcsIDIzLCAxLCAyMjUsIAotICAgIDIxNiwgMjMsIDEsIDIyMCwgNzYsIDIzLCAxLCAyMTksIDE0NCwgMjMsIDEsIDIzNiwgNTEsIDIzLCAxLCAyNDksIDIzOSwgCi0gICAgMjMsIDEsIDIxOSwgMTU0LCAyMywgMSwgMjUwLCA0MywgMjMsIDEsIDIzNCwgMTE2LCAyMywgMSwgMjE3LCAxMjYsIDIzLCAxLCAKLSAgICAyMjYsIDcsIDIzLCAxLCAyNDEsIDE1OCwgMjMsIDEsIDYxLCAyMywgMSwgMjU0LCAxNDgsIDIzLCAxLCAxODYsIDIzLCAxLCAKLSAgICAyMTMsIDgwLCAyMywgMSwgMjQ1LCA3NiwgMjMsIDEsIDc0LCAyMywgMSwgMjEzLCAyNywgMjMsIDEsIDIxMywgMzgsIDIzLCAKLSAgICAxLCA3NSwgMjMsIDEsIDIxNCwgNDksIDIzLCAxLCAyMTQsIDQ2LCAyMywgMSwgMjI3LCA5OSwgMjMsIDEsIDIxMiwgMjM1LCAKLSAgICAyMywgMSwgNjksIDIzLCAxLCAyMTMsIDI1MiwgMjMsIDEsIDIxNCwgNiwgMjMsIDEsIDIxMywgMjM1LCAyMywgMSwgMjEyLCAKLSAgICAyMDMsIDIzLCAxLCAyNDUsIDIyLCAyMywgMSwgMjEyLCAyNTUsIDIzLCAxLCA3MiwgMjMsIDI0NCwgNzIsIDIzLCAxLCAyMTksIAotICAgIDE0OCwgMjMsIDEsIDIyOSwgNDcsIDIzLCAxLCAyMjksIDQ5LCAyMywgMSwgMjI5LCA1MiwgMjMsIDEsIDIyMywgMTcyLCAyMywgCi0gICAgMSwgMjIzLCAxNTMsIDIzLCAxLCAyMjMsIDE2MSwgMjMsIDEsIDIyMywgMTY2LCAyMywgMSwgMjIzLCAxNTEsIDIzLCAxLCAKLSAgICAyMzEsIDIzLCAyMywgMSwgMjMxLCAyMCwgMjMsIDEsIDIzMSwgMjQsIDIzLCAxLCAyMzQsIDIyNiwgMjMsIDEsIDIyNSwgCi0gICAgMjIyLCAyMywgMSwgMjI1LCAyMDgsIDIzLCAxLCAyMjUsIDIxNCwgMjMsIDEsIDIyNSwgMjExLCAyMywgMSwgMjI1LCAyMjUsIAotICAgIDIzLCAxLCAyMjUsIDIwOSwgMjMsIDEsIDIzNCwgMjI0LCAyMywgMSwgMjM0LCAyMjIsIDIzLCAxLCAyMjAsIDY5LCAyMywgMSwgCi0gICAgMjIwLCA2NywgMjMsIDEsIDIyMCwgNTksIDIzLCAxLCAyMjAsIDY0LCAyMywgMSwgMjIwLCA3NCwgMjMsIDEsIDIyNiwgMTYwLCAKLSAgICAyMywgMSwgMjE5LCAxNTEsIDIzLCAxLCAyMTMsIDE3LCAyMywgMSwgMjEzLCAxMywgMjMsIDEsIDIxMywgMTQsIDIzLCAxLCAKLSAgICAyMzQsIDIyNSwgMjMsIDEsIDIxOSwgMTUyLCAyMywgMSwgMjEzLCAyMywgMjMsIDEsIDIxMiwgMjI5LCAyMywgMSwgMjEyLCAKLSAgICAyMjgsIDIzLCAxLCAyMTIsIDIzMSwgMjMsIDEsIDIxMiwgMTk0LCAyMywgMSwgMjEyLCAxOTUsIDIzLCAxLCAyMTIsIDE5OCwgCi0gICAgMjMsIDEsIDI1MywgMjA0LCAyMywgMSwgMjUzLCAxOTgsIDEwNSwgMjU0LCAxMCwgMjMyLCAyMzIsIDc3LCAxMDUsIDI1NCwgCi0gICAgMTAsIDIyMywgMjAzLCA3NywgMTA1LCAyNTQsIDEwLCAxMjIsIDc3LCAxMDUsIDI1NCwgMTAsIDExNywgNzcsIDEwNSwgMjU0LCAKLSAgICAxMCwgMTMzLCA3NywgMTA1LCAyNTQsIDEwLCAyNDMsIDIzNywgNzcsIDEwNSwgMjU0LCAxMCwgMjE2LCAyMjcsIDc3LCAxMDUsIAotICAgIDI1NCwgMTAsIDIzMSwgMzcsIDc3LCAxMDUsIDI1NCwgMTAsIDI1MSwgMTAxLCA3NywgMTA1LCAyNTQsIDEwLCAyNDQsIDYxLCAKLSAgICA3NywgMTA1LCAyNTQsIDEwLCAyMjIsIDk1LCA3NywgMTA1LCAyNTQsIDEwLCAyMTcsIDEyMiwgNzcsIDEwNSwgMjU0LCAxMCwgCi0gICAgMjQzLCAyMzAsIDc3LCAxMDUsIDI1NCwgMTAsIDI0MSwgMjA4LCA3NywgMTA1LCAyNTQsIDEwLCAyNDUsIDE4MCwgNzcsIAotICAgIDEwNSwgMjU0LCAxMCwgMjMxLCAyNDksIDc3LCAyMDIsIDEsIDI1MSwgNTQsIDIwMiwgMSwgMjEyLCAzNywgMjAyLCAxLCAKLSAgICAyMzUsIDExMCwgMjAyLCAxLCAyNDIsIDkyLCAyMDIsIDEsIDI0NSwgMTY1LCAyMDIsIDEsIDI0NSwgOTMsIDIwMiwgMSwgCi0gICAgMjI3LCA0OSwgMjAyLCAxLCAyMjcsIDUzLCAyMDIsIDEsIDIzNSwgMTc3LCAyMDIsIDEsIDI1NCwgMTIsIDIwMiwgMSwgMjM1LCAKLSAgICAyMjEsIDIwMiwgMSwgMjE1LCAxMzksIDIwMiwgMSwgMjM2LCAxMSwgMjAyLCAxLCAyMjksIDE0MiwgMjAyLCAxLCAyNTQsIAotICAgIDEwMiwgMjAyLCAxLCAyNTMsIDEwMywgMjAyLCAxLCAyNTQsIDQ1LCAyMDIsIDEsIDIyNywgNzAsIDIwMiwgMSwgMjI3LCA1NSwgCi0gICAgMjAyLCAxLCAyMzUsIDIxOCwgMjAyLCA0MCwgMSwgMjI2LCAyMjksIDIwMiwgNDAsIDEsIDIxOCwgOTksIDIwMiwgNDAsIDEsIAotICAgIDIzNSwgMjcsIDIwMiwgNDAsIDEsIDI0MiwgNDEsIDIwMiwgMSwgMjQyLCAyMjYsIDIwMiwgMSwgMjMzLCAyNiwgMjAyLCAxLCAKLSAgICAyMTEsIDI0OSwgOSwgMjE5LCA0NSwgMjE4LCA5OSwgOSwgMjE5LCA0NSwgMjEzLCAyNDUsIDksIDIxOSwgNDUsIDIxMywgCi0gICAgMTQ2LCA5LCAyMTksIDQ1LCAyNTEsIDgsIDksIDIxOSwgNDUsIDIxOCwgMTk5LCA5LCAyMTksIDQ1LCAyNDAsIDE1MCwgOSwgCi0gICAgMjE5LCA0NSwgMjQwLCAxNTQsIDksIDIxOSwgNDUsIDI0MCwgMjE4LCA5LCAyMTksIDQ1LCAyNDAsIDE1MSwgOSwgMjE5LCAKLSAgICA0NSwgMjE4LCAxMDIsIDksIDIxOSwgNDUsIDI0MCwgMTUzLCA5LCAyMTksIDQ1LCAyNDAsIDE0OSwgOSwgMjE5LCA0NSwgCi0gICAgMjQwLCAyMTYsIDksIDIxOSwgNDUsIDI0MCwgMTUyLCA5LCAyMTksIDQ1LCAyNDAsIDE0OCwgOSwgMjE5LCA0NSwgMjA0LCA5LCAKLSAgICAyMTksIDQ1LCAyNDIsIDQxLCA5LCAyMTksIDQ1LCAxOTcsIDksIDIxOSwgNDUsIDIyNiwgMjI5LCA5LCAyMTksIDQ1LCAyMTksIAotICAgIDIwOCwgOSwgMjE5LCA0NSwgMjQ5LCAzLCA5LCAyMTksIDQ1LCAyNDAsIDE1NSwgOSwgMjE5LCA0NSwgMjQxLCAxNzUsIDksIAotICAgIDIxOSwgNDUsIDIxOCwgMTExLCA5LCAyMTksIDQ1LCAyMTgsIDE3OCwgOSwgMjE5LCA0NSwgMjE5LCAxMDcsIDksIDIxOSwgCi0gICAgNDUsIDIyMSwgMzEsIDksIDIxOSwgNDUsIDIyNiwgOTgsIDksIDIxOSwgNDUsIDIyNCwgMjQyLCA5LCAyMTksIDQ1LCAyMTYsIAotICAgIDI1MywgOSwgMjE5LCA0NSwgMjE4LCAxMDEsIDksIDIxOSwgNDUsIDIxOCwgMTg5LCA5LCAyMTksIDQ1LCAyNDAsIDE2MiwgOSwgCi0gICAgMjE5LCA0NSwgMjQwLCAxNDcsIDksIDIxOSwgNDUsIDIyNiwgMjUsIDksIDIxOSwgNDUsIDIyNCwgMjQwLCA1NiwgMSwgMywgCi0gICAgMjMzLCAyMzgsIDU2LCAxLCAzLCAyMjAsIDExNywgNTYsIDEsIDMsIDIxOSwgMjcsIDU2LCAxLCAzLCAxMDgsIDU2LCAxLCAzLCAKLSAgICAyMjgsIDkyLCA1NiwgMSwgMywgMTU5LCA1NiwgMSwgMywgMjQxLCAxNjUsIDU2LCAxLCAzLCAyNDAsIDIxMiwgNTYsIDEsIDMsIAotICAgIDI0MSwgMjIyLCA1NiwgMSwgMywgMjQxLCA1NCwgNTYsIDEsIDMsIDIzMCwgMTcyLCA1NiwgMSwgMywgMjAzLCA1NiwgMSwgMywgCi0gICAgMjIzLCAxODgsIDU2LCAxLCAzLCAyMjMsIDUxLCA1NiwgMSwgMywgMjI0LCAyMSwgNTYsIDEsIDMsIDIyMywgMTEyLCA4NiwgCi0gICAgMjMsIDIzNCwgNjcsIDg2LCAyMywgMjI5LCA1NywgODYsIDIzLCAyMTcsIDU1LCA4NiwgMjMsIDIyMywgMTc5LCA4NiwgMjMsIAotICAgIDIzMSwgMzAsIDg2LCAyMywgMjI1LCAyMjcsIDg2LCAyMywgMjIwLCA3NiwgODYsIDIzLCAyMzYsIDUxLCA4NiwgMjMsIDI0OSwgCi0gICAgMjM5LCA4NiwgMjMsIDI1MCwgNDMsIDg2LCAyMywgMjM0LCAxMTYsIDg2LCAyMywgMjE3LCAxMjYsIDg2LCAyMywgMjI2LCA3LCAKLSAgICA4NiwgMjMsIDI0MSwgMTU4LCA4NiwgMjMsIDIzNCwgNjgsIDYxLCA4NiwgMjMsIDIyOSwgNTgsIDYxLCA4NiwgMjMsIDIxNywgCi0gICAgNTYsIDYxLCA4NiwgMjMsIDIyMywgMTgwLCA2MSwgODYsIDIzLCAyMzEsIDMxLCA2MSwgODYsIDIzLCAyMjUsIDIyOCwgNjEsIAotICAgIDg2LCAyMywgMjIwLCA3NywgNjEsIDg2LCAyMywgMjM2LCA1MiwgNjEsIDg2LCAyMywgMjQ5LCAyNDAsIDYxLCA4NiwgMjMsIAotICAgIDI1MCwgNDQsIDYxLCA4NiwgMjMsIDIzNCwgMTE3LCA2MSwgODYsIDIzLCAyMTcsIDEyNywgNjEsIDg2LCAyMywgMjI2LCA4LCAKLSAgICA2MSwgODYsIDIzLCAyNDEsIDE1OSwgNjEsIDg2LCAyMywgMjQ5LCAyNDAsIDY5LCA4NiwgMjM0LCAxMiwgMTM3LCAyMjcsIAotICAgIDgzLCA4NiwgMjM0LCAxMiwgMTM3LCAxNTcsIDI0MCwgMjEyLCA4NiwgMTQzLCAxMTYsIDg2LCAxNDMsIDEwOSwgODYsIDE0MywgCi0gICAgMTY2LCA4NiwgMTQzLCAxNjMsIDg2LCAxNDMsIDE4MCwgODYsIDE0MywgMTg5LCA4NiwgMTQzLCAxOTgsIDg2LCAxNDMsIAotICAgIDE5NSwgODYsIDE0MywgMjAwLCA4NiwgMTQzLCAyMTcsIDIwMCwgODYsIDE0MywgMjMwLCAxOTgsIDg2LCAxNDMsIDI0NCwgCi0gICAgNjUsIDg2LCAxNDMsIDIxNCwgMjQsIDg2LCAxNDMsIDIxMywgMjAxLCA4NiwgMTQzLCAyMzEsIDEwNiwgODYsIDE0MywgMjQ1LCAKLSAgICAxNzksIDg2LCAxNDMsIDIxOCwgMjM4LCA4NiwgMTQzLCAyMTksIDcyLCA4NiwgMTQzLCAyNDEsIDIyOCwgODYsIDE0MywgCi0gICAgMjE5LCAyMzgsIDg2LCAxNDMsIDIzMCwgMjQsIDg2LCAxNDMsIDIxOSwgMTkyLCA4NiwgMTQzLCAyNDQsIDcxLCA4NiwgMTQzLCAKLSAgICAyNDksIDE0MCwgODYsIDE0MywgMjMzLCAxNDgsIDg2LCAxNDMsIDIyMywgMjIzLCA4NiwgMTQzLCAyNTAsIDIwMywgODYsIAotICAgIDE0MywgMjE5LCAzMCwgODYsIDE0MywgMjE4LCAyMjAsIDg2LCAxNDMsIDI0NSwgODYsIDg2LCAxNDMsIDIyMywgMjE1LCA4NiwgCi0gICAgMTQzLCAyNTQsIDU5LCA4NiwgMTQzLCAyNDQsIDk3LCA4NiwgMTQzLCAyMjMsIDIxMywgODYsIDE0MywgMjIxLCA3NiwgODYsIAotICAgIDE0MywgMjI0LCAyMCwgMzYsIDE0MywgMjI0LCAxNTcsIDM2LCAxNDMsIDIzNCwgODksIDM2LCAxNDMsIDIyMiwgMTE2LCAzNiwgCi0gICAgMTQzLCAyMzQsIDgsIDM2LCA1MCwgMjE3LCAyMDEsIDIyNywgNjMsIDgzLCAyMTksIDE2NiwgMzYsIDUwLCAyMTYsIDM5LCAKLSAgICAyMjcsIDYzLCA4MywgMjE5LCAxNjYsIDM2LCA1MCwgMjE3LCAxMTYsIDIyNywgNjMsIDgzLCAyMTksIDE2NiwgMzYsIDUwLCAKLSAgICAyNDMsIDI0MSwgMjI3LCA2MywgODMsIDIxOSwgMTY2LCAzNiwgNTAsIDI0NCwgODQsIDIyNywgNjMsIDgzLCAyMTksIDE2NiwgCi0gICAgMzYsIDUwLCAyMjAsIDQwLCAyMjcsIDYzLCA4MywgMjE5LCAxNjYsIDM2LCA1MCwgMjIxLCAzOCwgMjI3LCA2MywgODMsIAotICAgIDIxOSwgMTY2LCAzNiwgNTAsIDI0NSwgMTQyLCAyMjcsIDYzLCA4MywgMjE5LCAxNjYsIDIyNiwgMTIzLCA1MiwgMzYsIDUwLCAKLSAgICAyMTYsIDM5LCAxMTYsIDM2LCA1MCwgMjE2LCAzOSwgMTA5LCAzNiwgNTAsIDIxNiwgMzksIDE2NiwgMzYsIDUwLCAyMTYsIAotICAgIDM5LCAxNjMsIDM2LCA1MCwgMjE2LCAzOSwgMTgwLCAzNiwgNTAsIDIxNiwgMzksIDE4OSwgMzYsIDUwLCAyMTYsIDM5LCAKLSAgICAxOTgsIDM2LCA1MCwgMjE2LCAzOSwgMTk1LCAzNiwgNTAsIDIxNiwgMzksIDIwMCwgMzYsIDUwLCAyMTcsIDExNSwgMzYsIAotICAgIDUwLCAyMTcsIDExNiwgMTE2LCAzNiwgNTAsIDIxNywgMTE2LCAxMDksIDM2LCA1MCwgMjE3LCAxMTYsIDE2NiwgMzYsIDUwLCAKLSAgICAyMTcsIDExNiwgMTYzLCAzNiwgNTAsIDIxNywgMTE2LCAxODAsIDM2LCAyMywgMjM0LCA2NywgMzYsIDIzLCAyMjksIDU3LCAKLSAgICAzNiwgMjMsIDIxNywgNTUsIDM2LCAyMywgMjIzLCAxNzksIDM2LCAyMywgMjMxLCAzMCwgMzYsIDIzLCAyMjUsIDIyNywgMzYsIAotICAgIDIzLCAyMjAsIDc2LCAzNiwgMjMsIDIzNiwgNTEsIDM2LCAyMywgMjQ5LCAyMzksIDM2LCAyMywgMjUwLCA0MywgMzYsIDIzLCAKLSAgICAyMzQsIDExNiwgMzYsIDIzLCAyMTcsIDEyNiwgMzYsIDIzLCAyMjYsIDcsIDM2LCAyMywgMjQxLCAxNTgsIDM2LCAyMywgCi0gICAgMjM0LCA2OCwgNjEsIDM2LCAyMywgMjI5LCA1OCwgNjEsIDM2LCAyMywgMjE3LCA1NiwgNjEsIDM2LCAyMywgMjIzLCAxODAsIAotICAgIDYxLCAzNiwgMjMsIDIzMSwgMzEsIDYxLCAzNiwgMjMsIDIyNSwgMjI4LCA2MSwgMzYsIDIzLCAyMjAsIDc3LCA2MSwgMzYsIAotICAgIDIzLCAyMzYsIDUyLCA2MSwgMzYsIDIzLCAyNDksIDI0MCwgNjEsIDM2LCAyMywgMjUwLCA0NCwgNjEsIDM2LCAyMywgMjM0LCAKLSAgICAxMTcsIDYxLCAzNiwgMjMsIDIxNywgMTI3LCA2MSwgMzYsIDIzLCAyMjYsIDgsIDYxLCAzNiwgMjMsIDI0MSwgMTU5LCA2MSwgCi0gICAgMzYsIDIzNCwgMTIsIDEzNywgMjUwLCA4NCwgMzYsIDIzNCwgMTIsIDEzNywgMjM1LCA1MCwgMzYsIDIzLCAyMzYsIDUyLCAKLSAgICA2OSwgMjM0LCAxMiwgMjE5LCA5OCwgODcsIDM2LCAxNDMsIDExNiwgMzYsIDE0MywgMTA5LCAzNiwgMTQzLCAxNjYsIDM2LCAKLSAgICAxNDMsIDE2MywgMzYsIDE0MywgMTgwLCAzNiwgMTQzLCAxODksIDM2LCAxNDMsIDE5OCwgMzYsIDE0MywgMTk1LCAzNiwgCi0gICAgMTQzLCAyMDAsIDM2LCAxNDMsIDIxNywgMjAwLCAzNiwgMTQzLCAyMzAsIDE5OCwgMzYsIDE0MywgMjQ0LCA2NSwgMzYsIAotICAgIDE0MywgMjE0LCAyNCwgMzYsIDE0MywgMjEzLCAyMDEsIDM2LCAxNDMsIDIzMSwgMTA2LCAzNiwgMTQzLCAyNDUsIDE3OSwgCi0gICAgMzYsIDE0MywgMjE4LCAyMzgsIDM2LCAxNDMsIDIxOSwgNzIsIDM2LCAxNDMsIDI0MSwgMjI4LCAzNiwgMTQzLCAyMTksIAotICAgIDIzOCwgMzYsIDE0MywgMjMwLCAyNCwgMzYsIDE0MywgMjE5LCAxOTIsIDM2LCAxNDMsIDI0NCwgNzEsIDM2LCAxNDMsIDI0OSwgCi0gICAgMTQwLCAzNiwgMTQzLCAyMzMsIDE0OCwgMzYsIDE0MywgMjIyLCA5MywgMzYsIDE0MywgMjMxLCAyNTIsIDM2LCAxNDMsIAotICAgIDI0NCwgMTA2LCAzNiwgMTQzLCAyMTgsIDI1MCwgMzYsIDE0MywgMjQ1LCAxLCAzNiwgMTQzLCAyMjUsIDY4LCAzNiwgMTQzLCAKLSAgICAyNTMsIDExMiwgMzYsIDE0MywgMjM1LCAxNTcsIDM2LCAxNDMsIDIyMywgMjEzLCAzNiwgMTQzLCAyNDksIDEwMywgMzYsIAotICAgIDE0MywgMjQ5LCA5NCwgMzYsIDE0MywgMjQxLCAxNTEsIDM2LCAxNDMsIDI1MCwgMTA4LCAzNiwgMTQzLCAyMzIsIDE2NSwgCi0gICAgMzYsIDE0MywgMjMzLCA3MCwgMzYsIDE0MywgMjIzLCAxNDgsIDM2LCAxNDMsIDIzMSwgMTQ4LCAzNiwgMTQzLCAyMjMsIAotICAgIDIzNywgMzYsIDE0MywgMjE5LCAzMCwgMzYsIDE0MywgMjE4LCAyMjAsIDM2LCAxNDMsIDI0NSwgODYsIDM2LCAxNDMsIDIyMywgCi0gICAgMjE1LCAzNiwgMTQzLCAyNTQsIDU5LCAzNiwgMTQzLCAyMjksIDQzLCAzNiwgNTAsIDIxNywgMTE2LCAxODksIDM2LCA1MCwgCi0gICAgMjE3LCAxMTYsIDE5OCwgMzYsIDUwLCAyMTcsIDExNiwgMTk1LCAzNiwgNTAsIDIxNywgMTE2LCAyMDAsIDM2LCA1MCwgMjQzLCAKLSAgICAyNDAsIDM2LCA1MCwgMjQzLCAyNDEsIDExNiwgMzYsIDUwLCAyNDMsIDI0MSwgMTA5LCAzNiwgNTAsIDI0MywgMjQxLCAxNjYsIAotICAgIDM2LCA1MCwgMjQzLCAyNDEsIDE2MywgMzYsIDUwLCAyNDMsIDI0MSwgMTgwLCAzNiwgNTAsIDI0MywgMjQxLCAxODksIDM2LCAKLSAgICA1MCwgMjQzLCAyNDEsIDE5OCwgMzYsIDUwLCAyNDMsIDI0MSwgMTk1LCAzNiwgNTAsIDI0MywgMjQxLCAyMDAsIDM2LCA1MCwgCi0gICAgMjQ0LCA4MywgMTA1LCAyMDEsIDE2LCAzMSwgMjM1LCAxMzMsIDEwNSwgMjAxLCAxNiwgMzEsIDI0NCwgMTE3LCAxMDUsIAotICAgIDIwMSwgMTYsIDMxLCAyMzEsIDIyMywgMTA1LCAyMDEsIDE2LCAzMSwgMjUzLCAyMTcsIDEwNSwgMjAxLCAxNiwgMzEsIDIzMSwgCi0gICAgMTk2LCAxMDUsIDIwMSwgMTYsIDMxLCAyMzUsIDQ4LCAxMDUsIDIwMSwgMTYsIDMxLCAyMzUsIDQ5LCAxMDUsIDIwMSwgMTYsIAotICAgIDMxLCAyNTMsIDEwNCwgMTA1LCAyMDEsIDE2LCAzMSwgMjIxLCA1NiwgMTA1LCAyMDEsIDE2LCAzMSwgMjI3LCAxMDQsIDEwNSwgCi0gICAgMjAxLCAxNiwgMzEsIDIyOCwgMTUxLCAxMDUsIDIwMSwgMTYsIDMxLCAyNDgsIDM2LCA0MSwgMjQxLCAxNzUsIDQxLCAyNDUsIAotICAgIDUxLCA0MSwgMjQ1LCAxMCwgMjMyLCAyNDgsIDIzMywgMTIsIDUyLCAzNiwgNTYsIDYxLCAzNiwgNTYsIDcyLCAzNiwgNTYsIAotICAgIDY5LCAzNiwgNTYsIDc0LCAzNiwgNTYsIDc1LCAzNiwgNTYsIDE4MSwgMzYsIDU2LCAyMzQsIDEwMSwgMzYsIDU2LCAyMzMsIAotICAgIDIzOCwgMzYsIDU2LCAyMzQsIDE4OCwgMzYsIDU2LCAyMzQsIDM3LCAzNiwgNTYsIDIyMiwgMjAyLCAzNiwgNTYsIDIyMCwgCi0gICAgMTE3LCAzNiwgNTYsIDIxOSwgMjcsIDM2LCA1NiwgMjIyLCAxMDAsIDM2LCA1NiwgMjE5LCAyNDIsIDM2LCA1NiwgMjE4LCAKLSAgICA1MiwgMzYsIDU2LCAyMTcsIDcxLCAzNiwgNTYsIDIxNiwgODIsIDM2LCA1NiwgMjE3LCAyMjksIDM2LCA1NiwgMTA4LCAzNiwgCi0gICAgNTYsIDIwNSwgMzYsIDU2LCAyMjksIDY0LCAzNiwgNTYsIDIyOCwgOTIsIDM2LCA1NiwgMjI5LCAxODcsIDM2LCA1NiwgMjI4LCAKLSAgICAxODUsIDM2LCA1NiwgMTU5LCAzNiwgNTYsIDI0MSwgMTY1LCAzNiwgNTYsIDI0MCwgMjEyLCAzNiwgNTYsIDI0MSwgMjIyLCAKLSAgICAzNiwgNTYsIDI0MSwgNTQsIDM2LCA1NiwgMTg4LCAzNiwgNTYsIDIzMSwgNDIsIDM2LCA1NiwgMjMwLCAxNzIsIDM2LCA1NiwgCi0gICAgMjMxLCAxNTYsIDM2LCA1NiwgMjMwLCAyMzEsIDM2LCA1NiwgMTg2LCAzNiwgNTYsIDIxMiwgMjAzLCAzNiwgNTYsIDIxMiwgCi0gICAgMjM1LCAzNiwgNTYsIDIwMywgMzYsIDU2LCAyMjMsIDE4OCwgMzYsIDU2LCAyMjMsIDUxLCAzNiwgNTYsIDIyNCwgMjEsIDM2LCAKLSAgICA1NiwgMjIzLCAxMTIsIDM2LCA1NiwgMjE0LCA0OSwgMzYsIDU2LCAyMTMsIDIzNSwgMzYsIDU2LCAyMTQsIDYsIDM2LCA1NiwgCi0gICAgMjEzLCAyMTQsIDQxLCAyNTMsIDIzOCwgNDEsIDI1MywgMTU0LCA0MSwgMjU0LCA2LCA0MSwgMjU0LCAxOTAsIDQxLCAyMzUsIAotICAgIDIyMywgNDEsIDIzNSwgMTkzLCA0MSwgMjE1LCAxMzcsIDQxLCAyNDUsIDMxLCA0MSwgMjQ1LCAxNjMsIDQxLCAyMjcsIDUyLCAKLSAgICA0MSwgMjI3LCA0NiwgNDEsIDIzNCwgMjQ5LCA0MSwgMjM0LCAyMTksIDQxLCAyMzQsIDIxNiwgNDEsIDI0MywgNjgsIDQxLCAKLSAgICAyNDMsIDc3LCA0MSwgMjQyLCAxODAsIDQxLCAyNDIsIDE3NiwgNDEsIDIzMywgMTcyLCA0MSwgMjQyLCAxNjksIDQxLCAyMzQsIAotICAgIDgxLCA0MSwgMjM0LCA4MCwgNDEsIDIzNCwgNzksIDQxLCAyMzQsIDc4LCA0MSwgMjQyLCA2NywgNDEsIDI0MiwgNjYsIDQxLCAKLSAgICAyMzMsIDIxNCwgNDEsIDIzMywgMjE2LCA0MSwgMjM0LCAxODQsIDQxLCAyMzQsIDEwLCA0MSwgMjM0LCAxNywgNDEsIDIyMiwgCi0gICAgMTg3LCA0MSwgMjIyLCAxNTMsIDQxLCAyMjAsIDU3LCA0MSwgMjIxLCA2MSwgNDEsIDIyMSwgNjAsIDQxLCAyNDgsIDE2MSwgCi0gICAgNDEsIDI0NywgMjQzLCA0MSwgMjQ3LCA3NSwgNDEsIDIxNiwgMjQzLCA0MSwgMjMwLCAyMCwgNDEsIDIyOCwgMTUyLCA0MSwgCi0gICAgMjQyLCAxNCwgNDEsIDIyNiwgMjA4LCA0MSwgMjI2LCAyMDcsIDQxLCAyNTIsIDEwNSwgNDEsIDIyNSwgMjM3LCA0MSwgMjI1LCAKLSAgICAyMDEsIDQxLCAyMjUsIDIwMiwgNDEsIDI1MSwgMTU3LCA0MSwgMjQwLCAyMTEsIDQxLCAyNDAsIDIwNywgNDEsIDI1MSwgMjAsIAotICAgIDQxLCAyNDAsIDE5NCwgNDEsIDI0MSwgMTk5LCA0MSwgMjI2LCAzNSwgNDEsIDIyNiwgNjksIDQxLCAyNDEsIDE4MywgNDEsIAotICAgIDIyNiwgNjYsIDQxLCAyMjYsIDgyLCA0MSwgMjUxLCAyMzcsIDQxLCAyMjUsIDE0MCwgNDEsIDI1MSwgMTA2LCA0MSwgMjQxLCAKLSAgICA0MiwgNDEsIDIyNSwgMTMwLCA0MSwgMjQxLCAzNSwgNDEsIDI0MSwgMzcsIDQxLCAyMzIsIDcsIDQxLCAyMzIsIDMsIDQxLCAKLSAgICAyMzIsIDExLCA0MSwgMjMxLCAyMTMsIDQxLCAyMzEsIDIzOCwgNDEsIDIzMSwgMTAsIDQxLCAyMzAsIDI0NSwgNDEsIDIzMCwgCi0gICAgMjQ0LCA0MSwgMjMxLCAxMzgsIDQxLCAyMzEsIDEzNSwgNDEsIDIzMSwgMTM5LCA0MSwgMjEzLCA5MCwgNDEsIDIxMywgODgsIAotICAgIDQxLCAyMTIsIDE5MiwgNDEsIDIyMywgMTIzLCA0MSwgMjIzLCAxMjcsIDQxLCAyMjMsIDI4LCA0MSwgMjIzLCAyMywgNDEsIAotICAgIDIyMywgMjM1LCA0MSwgMjIzLCAyMzIsIDQxLCAyMTQsIDIyLCAxMDUsIDIwMSwgMTYsIDMxLCAyNDAsIDIyNiwgMjEyLCA3OSwgCi0gICAgMTA1LCAyMDEsIDE2LCAzMSwgMjQwLCAyMjYsIDExNiwgMTA1LCAyMDEsIDE2LCAzMSwgMjQwLCAyMjYsIDEwOSwgMTA1LCAKLSAgICAyMDEsIDE2LCAzMSwgMjQwLCAyMjYsIDE2NiwgMTA1LCAyMDEsIDE2LCAzMSwgMjQwLCAyMjYsIDE2MywgMTA1LCAyMDEsIAotICAgIDE2LCAzMSwgMjQwLCAyMjYsIDE4MCwgMTA1LCAyMDEsIDE2LCAzMSwgMjQwLCAyMjYsIDE4OSwgMTA1LCAyMDEsIDE2LCAzMSwgCi0gICAgMjQwLCAyMjYsIDE5OCwgMTA1LCAyMDEsIDE2LCAzMSwgMjQwLCAyMjYsIDE5NSwgMTA1LCAyMDEsIDE2LCAzMSwgMjQwLCAKLSAgICAyMjYsIDIwMCwgMTA1LCAyMDEsIDE2LCAzMSwgMjQwLCAyMjYsIDIxNywgMjAwLCAxMDUsIDIwMSwgMTYsIDMxLCAyNDAsIAotICAgIDIyNiwgMjQ1LCAxMjQsIDEwNSwgMjAxLCAxNiwgMzEsIDI0MCwgMjI2LCAyMTYsIDQxLCAxMDUsIDIwMSwgMTYsIDMxLCAKLSAgICAyNDAsIDIyNiwgMjE3LCAxMTcsIDEwNSwgMjAxLCAxNiwgMzEsIDI0MCwgMjI2LCAyNDMsIDIzMSwgMTA1LCAyMDEsIDE2LCAKLSAgICAzMSwgMjQwLCAyMjYsIDI0NCwgODcsIDEwNSwgMjAxLCAxNiwgMzEsIDI0MCwgMjI2LCAyMjAsIDQ3LCAxMDUsIDIwMSwgMTYsIAotICAgIDMxLCAyNDAsIDIyNiwgMjIxLCA0MCwgMTA1LCAyMDEsIDE2LCAzMSwgMjQwLCAyMjYsIDI0NSwgMTQ3LCAxMDUsIDIwMSwgCi0gICAgMTYsIDMxLCAyNDAsIDIyNiwgMjI5LCAyOCwgMTA1LCAyMDEsIDE2LCAzMSwgMjQwLCAyMjYsIDIxNiwgMzgsIDEwNSwgMjAxLCAKLSAgICAxNiwgMzEsIDI0MCwgMjI2LCAyMTYsIDMyLCAxMDUsIDIwMSwgMTYsIDMxLCAyNDAsIDIyNiwgMjE2LCAyOCwgMTA1LCAyMDEsIAotICAgIDE2LCAzMSwgMjQwLCAyMjYsIDIxNiwgMjksIDEwNSwgMjAxLCAxNiwgMzEsIDI0MCwgMjI2LCAyMTYsIDM0LCA0MSwgMjQwLCAKLSAgICAyMTcsIDQxLCAyNDgsIDE2NCwgNDEsIDI1MywgMTA4LCA0MSwgMTM0LCA0MSwgMjI2LCAyNDksIDQxLCAyMjYsIDk5LCA0MSwgCi0gICAgMjQ3LCAxMDEsIDQxLCAyNDcsIDEwMiwgMjE5LCAxNjUsIDQxLCAyNDcsIDEwMiwgMjQ5LCA0OSwgNDEsIDIzNSwgMTU0LCAKLSAgICA0MSwgMjQ1LCA1NCwgMjMwLCAyNSwgMjQxLCAyMDAsIDQxLCAyNDUsIDU0LCAyMzAsIDI1LCAyMTgsIDEyMCwgNDEsIDI0NSwgCi0gICAgNTQsIDIzMCwgMjUsIDIxOCwgMjQsIDQxLCAyNDUsIDU0LCAyMzAsIDI1LCAyMzEsIDEzNCwgNDEsIDI0OSwgOTYsIDQxLCAKLSAgICAyMjYsIDIxNCwgMjU0LCAzNCwgNDEsIDIwNSwgNDEsIDIzMCwgMTczLCA2MSwgNDEsIDE4OCwgNDEsIDE4MSwgNDEsIDIzNCwgCi0gICAgMTkxLCA0MSwgMjMxLCAxOTIsIDQxLCAyNDMsIDU2LCA0MSwgMjUwLCAyMDYsIDQxLCAyMzQsIDE5MCwgNDEsIDIyNiwgMjYsIAotICAgIDQxLCAyMjksIDE2MywgNDEsIDIzMCwgMTczLCAyNDQsIDIzMCwgNDEsIDIzMCwgMTczLCAyNDMsIDE3NywgNDEsIDIzMSwgCi0gICAgODIsIDQxLCAyMzQsIDE0MCwgNDEsIDI0MCwgMTU1LCA0MSwgMjM0LCAxMDMsIDQxLCAyMzEsIDQ0LCA0MSwgMjQyLCAxOTIsIAotICAgIDQxLCAyMTcsIDczLCA0MSwgMjMwLCAxNzMsIDE1MCwgNDEsIDIzMCwgMjM4LCA0MSwgMjQ3LCAxMDksIDQxLCAyMzQsIDQ5LCAKLSAgICA0MSwgMjQ0LCAxNCwgNDEsIDIyOCwgMjAwLCA0MSwgMjMwLCAxNzMsIDE4MywgNDEsIDIzMCwgMjM1LCA0MSwgMjQ5LCAxNzYsIAotICAgIDQxLCAyMzQsIDQzLCA0MSwgMjMwLCAyMzYsIDIxOSwgMTY1LCA0MSwgMjQ5LCAxNzcsIDIxOSwgMTY1LCA0MSwgMjMyLCAKLSAgICAxMTAsIDIxOSwgMTY1LCA0MSwgMjM0LCA0NCwgMjE5LCAxNjUsIDQxLCAyMzAsIDIzNiwgMjQ5LCA0OSwgNDEsIDI0OSwgCi0gICAgMTc3LCAyNDksIDQ5LCA0MSwgMjMyLCAxMTAsIDI0OSwgNDksIDQxLCAyMzQsIDQ0LCAyNDksIDQ5LCA0MSwgMjMyLCAxMTAsIAotICAgIDExMCwgMTk3LCA0MSwgMjMyLCAxMTAsIDExMCwgMjIzLCA0LCAyMTksIDE2NSwgNDEsIDE5MywgNDEsIDIzNCwgNCwgNDEsIAotICAgIDIzMCwgMTc1LCA0MSwgMjQyLCAxMjcsIDQxLCAyMjQsIDY2LCA0MSwgMjI0LCA2NywgMTEwLCAxOTcsIDQxLCAyMjQsIDY3LCAKLSAgICAxMTAsIDIyMywgNCwgMjE5LCAxNjUsIDQxLCAyMjUsIDQ3LCA0MSwgMjI4LCAxMjQsIDQxLCAyMzAsIDE3MywgMTk3LCA0MSwgCi0gICAgMjMwLCAxNzQsIDQxLCAyMjUsIDQsIDQxLCAyMjgsIDMzLCA0MSwgMjMwLCAxNzMsIDIxNSwgNzksIDQxLCAyMzAsIDEyMCwgCi0gICAgNDEsIDIzMywgMjA3LCA0MSwgMjMwLCAxMjEsIDIzMSwgMTM4LCA0MSwgMjI1LCAzLCA0MSwgMjI4LCAzMiwgNDEsIDIzMCwgCi0gICAgMTczLCAyMTQsIDgyLCA0MSwgMjMwLCAxMTUsIDQxLCAyMzMsIDIwNSwgNDEsIDIzMCwgMTE2LCAyMzEsIDEzOCwgNDEsIAotICAgIDIzNSwgMjgsIDIyNywgODYsIDQxLCAyMzIsIDExMCwgMjI3LCA4NiwgNDEsIDI1NCwgNDUsIDQxLCAyNTEsIDg3LCA0MSwgCi0gICAgMjUwLCAxNDcsIDQxLCAyNTAsIDEyNSwgNDEsIDI1MCwgMjUzLCAxMTAsIDIzNCwgMTQwLCA0MSwgMjQ5LCAxNzUsIDQxLCAKLSAgICAyNDgsIDg4LCA0MSwgMjQyLCA1MywgNDEsIDE1OSwgNDEsIDI0MCwgMjE4LCA0MSwgMjM1LCAyNTEsIDQxLCAyMzQsIDU2LCAKLSAgICA0MSwgMjM0LCA0NCwgMjUwLCAxODIsIDQxLCAyMzMsIDI0MCwgNDEsIDIzMiwgMjExLCA0MSwgMjMyLCAyMTAsIDQxLCAyMzIsIAotICAgIDIwMCwgNDEsIDIzMiwgMTIyLCA0MSwgMjMxLCAxOTMsIDIyMCwgNywgNDEsIDIzMSwgOSwgNDEsIDIzMCwgMjIyLCA0MSwgCi0gICAgMjI2LCAyNCwgNDEsIDIyNSwgMTUzLCA0MSwgMjI1LCA5OSwgNDEsIDIyNSwgOTcsIDQxLCAyMTksIDE1OSwgNDEsIDIxOCwgCi0gICAgMjAzLCA0MSwgMjE0LCA4LCA0MSwgMjE1LCA4MCwgMTEwLCAxODMsIDQxLCAxMTgsIDExMCwgMTgzLCAxMDUsIDIwMSwgMTYsIAotICAgIDMxLCAyNDgsIDkyLCAxMTYsIDEwNSwgMjAxLCAxNiwgMzEsIDI0OCwgOTIsIDEwOSwgMTA1LCAyMDEsIDE2LCAzMSwgMjQ4LCAKLSAgICA5MiwgMTY2LCAxMDUsIDIwMSwgMTYsIDMxLCAyNDgsIDkyLCAxNjMsIDEwNSwgMjAxLCAxNiwgMzEsIDI0OCwgOTIsIDE4MCwgCi0gICAgMTA1LCAyMDEsIDE2LCAzMSwgMjQ4LCA5MiwgMTg5LCAxMDUsIDIwMSwgMTYsIDMxLCAyNDgsIDkyLCAxOTgsIDEwNSwgMjAxLCAKLSAgICAxNiwgMzEsIDI0OCwgOTIsIDE5NSwgMTA1LCAyMDEsIDE2LCAzMSwgMjQ4LCA5MiwgMjAwLCAxMDUsIDIwMSwgMTYsIDMxLCAKLSAgICAyNDgsIDkyLCAyMTcsIDIwMCwgMTA1LCAyMDEsIDE2LCAzMSwgMjQ4LCA5MiwgMjQ1LCAxMjQsIDEwNSwgMjAxLCAxNiwgMzEsIAotICAgIDI0OCwgOTIsIDIxNiwgNDEsIDEwNSwgMjAxLCAxNiwgMzEsIDI0OCwgOTIsIDIxNywgMTE3LCAxMDUsIDIwMSwgMTYsIDMxLCAKLSAgICAyNDgsIDkyLCAyNDMsIDIzMSwgMTA1LCAyMDEsIDE2LCAzMSwgMjQ4LCA5MiwgMjQ0LCA4NywgMTA1LCAyMDEsIDE2LCAzMSwgCi0gICAgMjQ4LCA5MiwgMjIwLCA0NywgMTA1LCAyMDEsIDE2LCAzMSwgMjQ4LCA5MiwgMjIxLCA0MCwgMTA1LCAyMDEsIDE2LCAzMSwgCi0gICAgMjQ4LCA5MiwgMjQ1LCAxNDcsIDEwNSwgMjAxLCAxNiwgMzEsIDI0OCwgOTIsIDIyOSwgMjgsIDEwNSwgMjAxLCAxNiwgMzEsIAotICAgIDI0OCwgOTIsIDIxNiwgMzgsIDEwNSwgMjAxLCAxNiwgMzEsIDI0OCwgOTIsIDIxNiwgMzIsIDEwNSwgMjAxLCAxNiwgMzEsIAotICAgIDI0OCwgOTIsIDIxNiwgMjgsIDEwNSwgMjAxLCAxNiwgMzEsIDI0OCwgOTIsIDIxNiwgMjksIDEwNSwgMjAxLCAxNiwgMzEsIAotICAgIDI0OCwgOTIsIDIxNiwgMzQsIDEwNSwgMjAxLCAxNiwgMzEsIDI0OCwgOTIsIDIxNiwgMzUsIDEwNSwgMjAxLCAxNiwgMzEsIAotICAgIDI0OCwgOTIsIDIxNiwgMzAsIDEwNSwgMjAxLCAxNiwgMzEsIDI0OCwgOTIsIDIxNiwgMzEsIDEwNSwgMjAxLCAxNiwgMzEsIAotICAgIDI0OCwgOTIsIDIxNiwgMzcsIDEwNSwgMjAxLCAxNiwgMzEsIDI0OCwgOTIsIDIxNiwgMzMsIDEwNSwgMjAxLCAxNiwgMzEsIAotICAgIDI0OCwgOTIsIDIxNywgMTE1LCAxMDUsIDIwMSwgMTYsIDMxLCAyNDgsIDkyLCAyMTcsIDExNCwgNDEsIDI0MywgOTQsIDI0MSwgCi0gICAgMTc3LCAzMSwgMjE3LCAxNDksIDI0OSwgODAsIDI0MSwgMjA3LCAyNDEsIDE3NywgMzEsIDIxNywgMTQ5LCAyMjQsIDE1LCAKLSAgICAyNDUsIDE3OSwgMjQxLCAxNzcsIDMxLCAyNDcsIDE4MywgMjUzLCAxMjMsIDIxNywgMTQ5LCAyNTEsIDIzMiwgMjQxLCAxNzcsIAotICAgIDMxLCAyMTIsIDIxNCwgMjQ0LCA3LCAyNDEsIDE3NywgMzEsIDIxNCwgNDMsIDI0MSwgMTc3LCAzMSwgMjQ5LCAxNDIsIDI0MSwgCi0gICAgMTc3LCAzMSwgMjE3LCAxNDksIDI1MywgMTc0LCAyNDEsIDE3NywgMzEsIDI0MSwgNDYsIDIxNiwgMjQ5LCAyNDEsIDE3NywgCi0gICAgMzEsIDMsIDIxOCwgMTIsIDI0MSwgMTc3LCAzMSwgMjE2LCAxOTUsIDI0MSwgMTc3LCAzMSwgMjI2LCA5NCwgMjQxLCAxNzcsIAotICAgIDMxLCAyMTksIDk3LCAyNDEsIDE3NywgMzEsIDI0NCwgMTA4LCAyNDEsIDE3NywgMzEsIDI0MiwgMTA5LCAyMjUsIDEyMCwgCi0gICAgMjQxLCAxNzcsIDMxLCAyMzAsIDIyNSwgMjQxLCAxNzcsIDMxLCAyNDUsIDg1LCAyNDEsIDE3NywgMzEsIDI0NCwgOCwgMjQxLCAKLSAgICAxNzcsIDMxLCAyMTMsIDE5NCwgMjI3LCA2MywgMjE3LCAxNDksIDI0OCwgMzcsIDI0MSwgMTc3LCAzMSwgMjUzLCAyMjEsIAotICAgIDI0MSwgMTc3LCAzMSwgMjQ5LCAxMjQsIDI0MSwgMTc3LCAzMSwgMjUxLCAxNTAsIDIxNywgOTIsIDI0MSwgMTc3LCAzMSwgCi0gICAgMjQyLCAxMjUsIDI0MSwgMTc3LCAzMSwgMjE5LCAxNzcsIDI1MywgMjM3LCAyNDEsIDE3NywgMzEsIDIyMywgMjA1LCAyNDEsIAotICAgIDE3NywgMzEsIDIzNSwgMjE3LCAyNDEsIDE3NywgMzEsIDI0MiwgMTA5LCAyMTgsIDEyLCAyNDEsIDE3NywgMzEsIDIzMCwgCi0gICAgMTgxLCAyNDksIDk4LCAyNDEsIDE3NywgMzEsIDI0MiwgMTA5LCAyMjUsIDc3LCAyNDEsIDE3NywgMzEsIDIxNywgMTQ5LCAKLSAgICAyNTQsIDE3OCwgMjE0LCAyNCwgMjQxLCAxNzcsIDMxLCAyMTcsIDE0OSwgMjQ5LCAyMDEsIDI0NCwgNjUsIDI0MSwgMTc3LCAKLSAgICAzMSwgMjM1LCAyMzAsIDI0MSwgMTc3LCAzMSwgMjQ2LCAxMiwgMjQxLCAxNzcsIDMxLCAyMjMsIDIwOCwgMjQxLCAxNzcsIAotICAgIDMxLCAyNDIsIDEwOSwgMjI1LCAxMDQsIDI0MSwgMTc3LCAzMSwgMjI1LCA2MSwgMjQxLCAxNzcsIDMxLCAyNDgsIDEwNiwgCi0gICAgNjUsIDIxNywgMTQ5LCAyMzMsIDIsIDI0MSwgMTc3LCAzMSwgMjE3LCAxNDksIDI0NCwgMTQyLCAyNDEsIDE3NywgMzEsIAotICAgIDIyNywgMjksIDI0MSwgMTc3LCAzMSwgMjI3LCAxMDgsIDI0MSwgMTc3LCAzMSwgMjQ4LCAxMCwgMjQxLCAxNzcsIDMxLCAKLSAgICAyNDgsIDMwLCAyNDEsIDE3NywgMzEsIDIzNSwgMjQzLCAyNDEsIDE3NywgMzEsIDI1MSwgNzcsIDI0MSwgMTc3LCAzMSwgCi0gICAgMjQ5LCAxNTksIDIxMSwgMjExLCAyMzEsIDE0MSwgMjQxLCAxNzcsIDMxLCAyNDMsIDYzLCAyMTYsIDI0OSwgMjQxLCAxNzcsIAotICAgIDMxLCAyMjUsIDEyLCAyMTUsIDEyNSwgMjQxLCAxNzcsIDMxLCAyMjcsIDI4LCAyNDEsIDE3NywgMzEsIDIxNywgMTQ5LCAKLSAgICAyMTMsIDI1NCwgMjQxLCAxNzcsIDMxLCAyMjMsIDE5OCwgMjQxLCAxNzcsIDMxLCAyMTcsIDE0OSwgMjUwLCAxNTMsIDI0MSwgCi0gICAgMTc3LCAzMSwgMjE3LCAxNDksIDI1MywgMTcwLCAyMTcsIDg3LCAyNDEsIDE3NywgMzEsIDIxNywgMTQ5LCAyMzQsIDE4NSwgCi0gICAgMjE5LCA3NCwgMjMwLCAxODUsIDI0MSwgMTc3LCAzMSwgMjQ3LCAyMzksIDI0MSwgMTc3LCAzMSwgMjE3LCAxNDksIDIzMSwgCi0gICAgMjE1LCAyMzIsIDgsIDI0MSwgMTc3LCAzMSwgMjU0LCAxNzksIDI0MSwgMTc3LCAzMSwgMjE3LCAxNDksIDIxNCwgMzgsIAotICAgIDI0MSwgMTc3LCAzMSwgMjE3LCAxNDksIDI0MywgMjMsIDIxMywgMjI0LCAyNDEsIDE3NywgMzEsIDIxNywgMTQ5LCAyMzUsIAotICAgIDU1LCAyMzMsIDEzMSwgMjQxLCAxNzcsIDMxLCAyNDcsIDEzNiwgMjQxLCAxNzcsIDMxLCAyMzIsIDI0OSwgMjQxLCAxNzcsIAotICAgIDMxLCAyMzUsIDIyMCwgMjE2LCAxNDUsIDI0MSwgMTc3LCAzMSwgMywgMjI1LCA3NywgMjQxLCAxNzcsIDMxLCAyNTQsIDEyMiwgCi0gICAgMjQ5LCAxNTEsIDI0MSwgMTc3LCAzMSwgMjUxLCAyMzUsIDI0OSwgMTUxLCA4LCA0LCAyMzUsIDE1OCwgOCwgNCwgMjM1LCAKLSAgICAxNTEsIDgsIDQsIDcyLCA4LCA0LCAyMzUsIDE4MCwgOCwgNCwgMjM2LCA1MywgOCwgNCwgMjM2LCAzNiwgOCwgNCwgMjM2LCAKLSAgICA1NSwgOCwgNCwgMjM2LCA1NCwgOCwgNCwgMjUzLCAxMjIsIDgsIDQsIDI1MywgODUsIDgsIDQsIDYxLCA4LCA0LCAyNTMsIAotICAgIDIzOSwgOCwgNCwgMjE1LCAxMzUsIDgsIDQsIDIxNSwgMTM4LCA4LCA0LCAyMTUsIDEzNiwgOCwgNCwgMjI3LCA4LCA4LCA0LCAKLSAgICAyMjYsIDIzOCwgOCwgNCwgNzUsIDgsIDQsIDIyNywgNDEsIDgsIDQsIDI0NSwgMiwgOCwgNCwgNzQsIDgsIDQsIDIxMywgCi0gICAgMTgzLCA4LCA0LCAyNTEsIDE1MSwgOCwgNCwgMjUxLCAxNDgsIDgsIDQsIDI1MSwgMTg0LCA4LCA0LCAyNTEsIDE2MSwgOCwgCi0gICAgNCwgMjUxLCAxNzQsIDgsIDQsIDI1MSwgMTczLCA4LCA0LCAyNTEsIDE3NiwgOCwgNCwgMjUxLCAxNzUsIDgsIDQsIDI1MiwgCi0gICAgNDEsIDgsIDQsIDI1MiwgMzMsIDgsIDQsIDI1MiwgMTA3LCA4LCA0LCAyNTIsIDYxLCA4LCA0LCAyNTEsIDMwLCA4LCA0LCAKLSAgICAyNTEsIDM0LCA4LCA0LCAyNTEsIDMxLCA4LCA0LCAyNTEsIDEwNSwgOCwgNCwgMjUxLCA4OSwgOCwgNCwgMjUxLCAxMjgsIDgsIAotICAgIDQsIDI1MSwgMTEwLCA4LCA0LCAyNTEsIDE5OCwgOCwgNCwgMjUxLCAyNTEsIDgsIDQsIDI1MSwgMjEwLCA4LCA0LCAyNTEsIAotICAgIDE2LCA4LCA0LCAyNTEsIDEzLCA4LCA0LCAyNTEsIDU0LCA4LCA0LCAyNTEsIDI5LCA4LCA0LCAyNTEsIDIzLCA4LCA0LCAKLSAgICAyNTEsIDI3LCA4LCA0LCAyNTEsIDEsIDgsIDQsIDI1MSwgMCwgOCwgNCwgMjUxLCA2LCA4LCA0LCAyNTEsIDQsIDgsIDQsIAotICAgIDI1MSwgMiwgOCwgNCwgMjUxLCAzLCA4LCA0LCAyMjUsIDE4MSwgOCwgNCwgMjI1LCAxNzcsIDgsIDQsIDIyNSwgMjQwLCA4LCAKLSAgICA0LCAyMjUsIDE5MSwgOCwgNCwgMjI1LCAyMDcsIDgsIDQsIDIyNSwgMjM0LCA4LCA0LCAyMjUsIDIzMCwgOCwgNCwgMjI2LCAKLSAgICAxMTMsIDgsIDQsIDIyNiwgMTA0LCA4LCA0LCAxOTMsIDgsIDQsIDIyNiwgMTQ5LCA4LCA0LCAyMjUsIDIxLCA4LCA0LCAyMjUsIAotICAgIDIzLCA4LCA0LCAyMjUsIDIyLCA4LCA0LCAyMjUsIDExMywgOCwgNCwgMjI1LCAxMDIsIDgsIDQsIDIyNSwgMTUwLCA4LCA0LCAKLSAgICAyMjUsIDEyNSwgOCwgNCwgMjI1LCA4LCA4LCA0LCAyMjUsIDUsIDgsIDQsIDIyNSwgMzUsIDgsIDQsIDIyNSwgMjAsIDgsIDQsIAotICAgIDIyNSwgMTMsIDgsIDQsIDIyNSwgMTgsIDgsIDQsIDIyNCwgMjQ0LCA4LCA0LCAyMjQsIDI0MywgOCwgNCwgMjI0LCAyNDgsIAotICAgIDgsIDQsIDIyNCwgMjQ3LCA4LCA0LCAyMjQsIDI0NSwgOCwgNCwgMjI0LCAyNDYsIDgsIDQsIDI1MiwgMTYsIDgsIDQsIDI1MiwgCi0gICAgMTUsIDgsIDQsIDI1MiwgMjIsIDgsIDQsIDI1MiwgMTcsIDgsIDQsIDI1MiwgMTksIDgsIDQsIDI1MiwgMTgsIDgsIDQsIAotICAgIDI1MiwgMjEsIDgsIDQsIDI1MiwgMjAsIDgsIDQsIDI1MiwgMjgsIDgsIDQsIDI1MiwgMjcsIDgsIDQsIDI1MiwgMzEsIDgsIAotICAgIDQsIDI1MiwgMjksIDgsIDQsIDI1MiwgNywgOCwgNCwgMjUyLCA5LCA4LCA0LCAyNTIsIDgsIDgsIDQsIDI1MiwgMTIsIDgsIAotICAgIDQsIDI1MiwgMTEsIDgsIDQsIDI1MiwgMTQsIDgsIDQsIDI1MiwgMTMsIDgsIDQsIDI1MiwgMjMsIDgsIDQsIDI1MiwgMjYsIAotICAgIDgsIDQsIDI1MiwgMjQsIDgsIDQsIDI1MiwgMywgOCwgNCwgMjUyLCAyLCA4LCA0LCAyNTIsIDEwLCA4LCA0LCAyNTIsIDYsIAotICAgIDgsIDQsIDI1MiwgNCwgOCwgNCwgMjUyLCA1LCA4LCA0LCAyNTEsIDI1NSwgOCwgNCwgMjUxLCAyNTQsIDgsIDQsIDI1MiwgMSwgCi0gICAgOCwgNCwgMjUyLCAwLCA4LCA0LCAyMjksIDI0OCwgOCwgNCwgMjI5LCAyNDcsIDgsIDQsIDIyOSwgMjUzLCA4LCA0LCAyMjksIAotICAgIDI0OSwgOCwgNCwgMjI5LCAyNTAsIDgsIDQsIDIyOSwgMjUyLCA4LCA0LCAyMjksIDI1MSwgOCwgNCwgMjI5LCAyNTUsIDgsIAotICAgIDQsIDIyOSwgMjU0LCA4LCA0LCAyMzAsIDEsIDgsIDQsIDIzMCwgMCwgOCwgNCwgMjI5LCAyNDQsIDgsIDQsIDIyOSwgMjQzLCAKLSAgICA4LCA0LCAyMjksIDI0NiwgOCwgNCwgMjI5LCAyNDUsIDgsIDQsIDIyOSwgMjM4LCA4LCA0LCAyMjksIDIzNywgOCwgNCwgCi0gICAgMjI5LCAyNDIsIDgsIDQsIDIyOSwgMjQxLCA4LCA0LCAyMjksIDIzOSwgOCwgNCwgMjI5LCAyNDAsIDgsIDQsIDIyOSwgMjMyLCAKLSAgICA4LCA0LCAyMjksIDIzMSwgOCwgNCwgMjI5LCAyMzYsIDgsIDQsIDIyOSwgMjM1LCA4LCA0LCAyMjksIDIzMywgOCwgNCwgCi0gICAgMjI5LCAyMzQsIDgsIDQsIDI0MSwgOTYsIDgsIDQsIDI0MSwgOTUsIDgsIDQsIDI0MSwgMTAxLCA4LCA0LCAyNDEsIDk3LCA4LCAKLSAgICA0LCAyNDEsIDk4LCA4LCA0LCAyNDEsIDEwMCwgOCwgNCwgMjQxLCA5OSwgOCwgNCwgMjQxLCAxMDQsIDgsIDQsIDI0MSwgCi0gICAgMTAzLCA4LCA0LCAyNDEsIDEwNiwgOCwgNCwgMjQxLCAxMDUsIDgsIDQsIDI0MSwgODcsIDgsIDQsIDI0MSwgODksIDgsIDQsIAotICAgIDI0MSwgODgsIDgsIDQsIDI0MSwgOTIsIDgsIDQsIDI0MSwgOTEsIDgsIDQsIDI0MSwgOTQsIDgsIDQsIDI0MSwgOTMsIDgsIAotICAgIDQsIDI0MSwgODMsIDgsIDQsIDI0MSwgODIsIDgsIDQsIDI0MSwgOTAsIDgsIDQsIDI0MSwgODYsIDgsIDQsIDI0MSwgODQsIAotICAgIDgsIDQsIDI0MSwgODUsIDgsIDQsIDI0MSwgNzcsIDgsIDQsIDI0MSwgODEsIDgsIDQsIDI0MSwgODAsIDgsIDQsIDI0MSwgCi0gICAgNzgsIDgsIDQsIDI0MSwgNzksIDgsIDQsIDIzMCwgMjQxLCA4LCA0LCAyMzAsIDI0MCwgOCwgNCwgMjMxLCA0MiwgOCwgNCwgCi0gICAgMjMwLCAyNDcsIDgsIDQsIDIzMSwgMTYsIDgsIDQsIDIzMSwgMzQsIDgsIDQsIDIzMSwgMzIsIDgsIDQsIDIzMSwgMjAyLCA4LCAKLSAgICA0LCAyMzEsIDE5OCwgOCwgNCwgMTg4LCA4LCA0LCAyMzEsIDIzNSwgOCwgNCwgMjMwLCAxNDQsIDgsIDQsIDIzMCwgMTQzLCAKLSAgICA4LCA0LCAyMzAsIDE0NywgOCwgNCwgMjMwLCAxNDUsIDgsIDQsIDIzMCwgMTkxLCA4LCA0LCAyMzAsIDE3NywgOCwgNCwgCi0gICAgMjMwLCAyMzEsIDgsIDQsIDIzMCwgMTk2LCA4LCA0LCAyMzEsIDkzLCA4LCA0LCAyMzEsIDE1NiwgOCwgNCwgMjMwLCAxMjUsIAotICAgIDgsIDQsIDIzMCwgMTIyLCA4LCA0LCAyMzAsIDE3MiwgOCwgNCwgMjMwLCAxNDAsIDgsIDQsIDIzMCwgMTMzLCA4LCA0LCAKLSAgICAyMzAsIDEzOCwgOCwgNCwgMjMwLCAxMDAsIDgsIDQsIDIzMCwgOTksIDgsIDQsIDIzMCwgMTA1LCA4LCA0LCAyMzAsIDEwMiwgCi0gICAgOCwgNCwgMjQ0LCA1MiwgOCwgNCwgMjQ0LCA0NywgOCwgNCwgMjQ0LCA5MCwgOCwgNCwgMjQ0LCA2NywgOCwgNCwgMjQ0LCAKLSAgICAxMzUsIDgsIDQsIDI0NCwgMTI2LCA4LCA0LCAyNDQsIDE2NCwgOCwgNCwgMjQ0LCAxMzgsIDgsIDQsIDI0MywgMjI5LCA4LCAKLSAgICA0LCAyNDQsIDEyLCA4LCA0LCAyNDMsIDI1MiwgOCwgNCwgMjQzLCAxOTAsIDgsIDQsIDI0MywgMTg5LCA4LCA0LCAyNDMsIAotICAgIDIwNSwgOCwgNCwgMjQzLCAxOTUsIDgsIDQsIDI0MywgMTkzLCA4LCA0LCAyNDMsIDE5NCwgOCwgNCwgMjQzLCAxODAsIDgsIAotICAgIDQsIDI0MywgMTc5LCA4LCA0LCAyNDMsIDE4MywgOCwgNCwgMjQzLCAxODEsIDgsIDQsIDIxNCwgMTI1LCA4LCA0LCAyMTQsIAotICAgIDEyMCwgOCwgNCwgMjE0LCAxNTQsIDgsIDQsIDIxNCwgMTM0LCA4LCA0LCAyMTQsIDE0NiwgOCwgNCwgMjE0LCAxNDMsIDgsIAotICAgIDQsIDIxNCwgMTQ4LCA4LCA0LCAyMTQsIDE0NywgOCwgNCwgMjE0LCAyMzksIDgsIDQsIDIxNCwgMjM1LCA4LCA0LCAyMTUsIAotICAgIDEsIDgsIDQsIDIxNCwgMjUwLCA4LCA0LCAyMTQsIDEwNiwgOCwgNCwgMjE0LCAxMDIsIDgsIDQsIDIxNCwgMTE5LCA4LCA0LCAKLSAgICAyMTQsIDEwNywgOCwgNCwgMjE0LCAxNTUsIDgsIDQsIDIxNCwgMjIxLCA4LCA0LCAyMTQsIDkzLCA4LCA0LCAyMTQsIDkyLCAKLSAgICA4LCA0LCAyMTQsIDk5LCA4LCA0LCAyMTQsIDk2LCA4LCA0LCAyMTQsIDk0LCA4LCA0LCAyMTQsIDk1LCA4LCA0LCAyMTQsIAotICAgIDg2LCA4LCA0LCAyMTQsIDg1LCA4LCA0LCAyMTQsIDkwLCA4LCA0LCAyMTQsIDg5LCA4LCA0LCAyMTQsIDg3LCA4LCA0LCAKLSAgICAyMTQsIDg4LCA4LCA0LCAyNDcsIDEzMCwgOCwgNCwgMjQ3LCAxMTgsIDgsIDQsIDI0NywgMjExLCA4LCA0LCAyNDcsIDE1NSwgCi0gICAgOCwgNCwgMjQ3LCAxODgsIDgsIDQsIDI0NywgMTkyLCA4LCA0LCAyNDcsIDE5MSwgOCwgNCwgMjQ4LCA5OCwgOCwgNCwgMjQ4LCAKLSAgICA5MywgOCwgNCwgMjQ4LCAxNjQsIDgsIDQsIDI0OCwgMTE3LCA4LCA0LCAyNDYsIDE3LCA4LCA0LCAyNDYsIDE4LCA4LCA0LCAKLSAgICAyNDcsIDc0LCA4LCA0LCAyNDYsIDU2LCA4LCA0LCAyNDcsIDk5LCA4LCA0LCAyNDcsIDc2LCA4LCA0LCAyNDcsIDIzNywgOCwgCi0gICAgNCwgMjQ4LCA0MSwgOCwgNCwgMjQ3LCAyNTIsIDgsIDQsIDI0NiwgOCwgOCwgNCwgMjQ2LCA2LCA4LCA0LCAyNDYsIDMzLCA4LCAKLSAgICA0LCAyNDYsIDE2LCA4LCA0LCAyNDYsIDExLCA4LCA0LCAyNDYsIDE0LCA4LCA0LCAyMTcsIDIwLCA4LCA0LCAyMTcsIDE0LCAKLSAgICA4LCA0LCAyMTcsIDcxLCA4LCA0LCAyMTcsIDI5LCA4LCA0LCAyMTcsIDYzLCA4LCA0LCAyMTcsIDY1LCA4LCA0LCAyMTcsIAotICAgIDY0LCA4LCA0LCAyMTcsIDI1MywgOCwgNCwgMjE3LCAyNDAsIDgsIDQsIDIxOCwgNTIsIDgsIDQsIDIxOCwgNSwgOCwgNCwgCi0gICAgMjE2LCA2NiwgOCwgNCwgMjE2LCA2NSwgOCwgNCwgMjE2LCA2OCwgOCwgNCwgMjE2LCA2NywgOCwgNCwgMjE2LCAyMTgsIDgsIAotICAgIDQsIDIxNiwgMjE0LCA4LCA0LCAxMDgsIDgsIDQsIDIxNiwgMjI2LCA4LCA0LCAyMTcsIDE2NiwgOCwgNCwgMjE3LCAyMjksIAotICAgIDgsIDQsIDIxNywgMTkwLCA4LCA0LCAyMTYsIDUyLCA4LCA0LCAyMTYsIDQ4LCA4LCA0LCAyMTYsIDgyLCA4LCA0LCAyMTYsIAotICAgIDY0LCA4LCA0LCAyMTYsIDUzLCA4LCA0LCAyMTYsIDYyLCA4LCA0LCAyNDgsIDU4LCA4LCA0LCAyNDgsIDU3LCA4LCA0LCAKLSAgICAyNDgsIDYzLCA4LCA0LCAyNDgsIDU5LCA4LCA0LCAyNDgsIDYwLCA4LCA0LCAyNDgsIDYyLCA4LCA0LCAyNDgsIDYxLCA4LCAKLSAgICA0LCAyNDgsIDc5LCA4LCA0LCAyNDgsIDc4LCA4LCA0LCAyNDgsIDg2LCA4LCA0LCAyNDgsIDgwLCA4LCA0LCAyNDgsIDQ4LCAKLSAgICA4LCA0LCAyNDgsIDUwLCA4LCA0LCAyNDgsIDQ5LCA4LCA0LCAyNDgsIDUzLCA4LCA0LCAyNDgsIDUyLCA4LCA0LCAyNDgsIAotICAgIDU2LCA4LCA0LCAyNDgsIDU0LCA4LCA0LCAyNDgsIDcxLCA4LCA0LCAyNDgsIDc0LCA4LCA0LCAyNDgsIDcyLCA4LCA0LCAKLSAgICAyNDgsIDQ0LCA4LCA0LCAyNDgsIDQzLCA4LCA0LCAyNDgsIDUxLCA4LCA0LCAyNDgsIDQ3LCA4LCA0LCAyNDgsIDQ1LCA4LCAKLSAgICA0LCAyNDgsIDQ2LCA4LCA0LCAyMjksIDIwNiwgOCwgNCwgMjI5LCAyMDUsIDgsIDQsIDIyOSwgMjEzLCA4LCA0LCAyMjksIAotICAgIDIwOCwgOCwgNCwgMjI5LCAyMDksIDgsIDQsIDIyOSwgMjEwLCA4LCA0LCAyMjksIDIyMiwgOCwgNCwgMjI5LCAyMjEsIDgsIAotICAgIDQsIDIyOSwgMjI4LCA4LCA0LCAyMjksIDIyMywgOCwgNCwgMjI5LCAxOTgsIDgsIDQsIDIyOSwgMTk3LCA4LCA0LCAyMjksIAotICAgIDIwNCwgOCwgNCwgMjI5LCAxOTksIDgsIDQsIDIyOSwgMjE0LCA4LCA0LCAyMjksIDIyMCwgOCwgNCwgMjI5LCAyMTgsIDgsIAotICAgIDQsIDIyOSwgMTkwLCA4LCA0LCAyMjksIDE4OSwgOCwgNCwgMjI5LCAxOTUsIDgsIDQsIDIyOSwgMTkzLCA4LCA0LCAyMjksIAotICAgIDE5MSwgOCwgNCwgMjI5LCAxOTIsIDgsIDQsIDI0MSwgNjMsIDgsIDQsIDI0MSwgNjIsIDgsIDQsIDI0MSwgNjksIDgsIDQsIAotICAgIDI0MSwgNjQsIDgsIDQsIDI0MSwgNjYsIDgsIDQsIDI0MSwgNjUsIDgsIDQsIDI0MSwgNjgsIDgsIDQsIDI0MSwgNjcsIDgsIAotICAgIDQsIDI0MSwgNzQsIDgsIDQsIDI0MSwgNzMsIDgsIDQsIDI0MSwgNzYsIDgsIDQsIDI0MSwgNzUsIDgsIDQsIDI0MSwgNTcsIAotICAgIDgsIDQsIDI0MSwgNTgsIDgsIDQsIDI0MSwgNjAsIDgsIDQsIDI0MSwgNTksIDgsIDQsIDI0MSwgNjEsIDgsIDQsIDI0MSwgCi0gICAgNzAsIDgsIDQsIDI0MSwgNzIsIDgsIDQsIDI0MSwgNzEsIDgsIDQsIDI0MSwgNTYsIDgsIDQsIDIyOSwgMjAsIDgsIDQsIAotICAgIDIyOSwgMTgsIDgsIDQsIDIyOSwgNjQsIDgsIDQsIDIyOSwgMjMsIDgsIDQsIDIyOSwgNDYsIDgsIDQsIDIyOSwgNjAsIDgsIAotICAgIDQsIDIyOSwgNTksIDgsIDQsIDIzMCwgNSwgOCwgNCwgMjA1LCA4LCA0LCAyMzAsIDE3LCA4LCA0LCAyMjgsIDQyLCA4LCA0LCAKLSAgICAyMjgsIDQ0LCA4LCA0LCAyMjgsIDQzLCA4LCA0LCAyMjgsIDE2MiwgOCwgNCwgMjI4LCAxNDksIDgsIDQsIDIyOCwgMTg1LCAKLSAgICA4LCA0LCAyMjgsIDE3MSwgOCwgNCwgMjI5LCAxNjUsIDgsIDQsIDIyOSwgMTg3LCA4LCA0LCAyMjksIDE3NiwgOCwgNCwgCi0gICAgMjI4LCAzNywgOCwgNCwgMjI4LCAzNCwgOCwgNCwgMjI4LCA5MiwgOCwgNCwgMjI4LCA0MSwgOCwgNCwgMjI4LCAzOSwgOCwgCi0gICAgNCwgMjI4LCA0MCwgOCwgNCwgMjQxLCAxMjcsIDgsIDQsIDI0MSwgMTI2LCA4LCA0LCAyNDEsIDEzMiwgOCwgNCwgMjQxLCAKLSAgICAxMjgsIDgsIDQsIDI0MSwgMTI5LCA4LCA0LCAyNDEsIDEzMSwgOCwgNCwgMjQxLCAxMzAsIDgsIDQsIDI0MSwgMTM3LCA4LCAKLSAgICA0LCAyNDEsIDEzNiwgOCwgNCwgMjQxLCAxMzksIDgsIDQsIDI0MSwgMTM4LCA4LCA0LCAyNDEsIDExOSwgOCwgNCwgMjQxLCAKLSAgICAxMjEsIDgsIDQsIDI0MSwgMTIwLCA4LCA0LCAyNDEsIDEyMywgOCwgNCwgMjQxLCAxMjUsIDgsIDQsIDI0MSwgMTI0LCA4LCAKLSAgICA0LCAyNDEsIDEzMywgOCwgNCwgMjQxLCAxMzUsIDgsIDQsIDI0MSwgMTM0LCA4LCA0LCAyNDEsIDExNSwgOCwgNCwgMjQxLCAKLSAgICAxMTQsIDgsIDQsIDI0MSwgMTIyLCA4LCA0LCAyNDEsIDExOCwgOCwgNCwgMjQxLCAxMTYsIDgsIDQsIDI0MSwgMTE3LCA4LCAKLSAgICA0LCAyNDEsIDEwOSwgOCwgNCwgMjQxLCAxMDgsIDgsIDQsIDI0MSwgMTEzLCA4LCA0LCAyNDEsIDExMiwgOCwgNCwgMjQxLCAKLSAgICAxMTAsIDgsIDQsIDI0MSwgMTExLCA4LCA0LCAyMzIsIDIyNCwgOCwgNCwgMjMyLCAyMTgsIDgsIDQsIDIzMywgMTMsIDgsIDQsIAotICAgIDIzMiwgMjMxLCA4LCA0LCAyMzMsIDUsIDgsIDQsIDIzMywgNCwgOCwgNCwgMjMzLCA4LCA4LCA0LCAyMzMsIDYsIDgsIDQsIAotICAgIDIzMywgMTAyLCA4LCA0LCAyMzMsIDkzLCA4LCA0LCAyMzMsIDE1NywgOCwgNCwgMjMzLCAxMTEsIDgsIDQsIDIzMiwgMTM3LCAKLSAgICA4LCA0LCAyMzIsIDEzNiwgOCwgNCwgMjMyLCAxMzksIDgsIDQsIDIzMiwgMTM4LCA4LCA0LCAyMzIsIDE3MSwgOCwgNCwgCi0gICAgMjMyLCAxNjEsIDgsIDQsIDIzMiwgMjA4LCA4LCA0LCAyMzIsIDE3NSwgOCwgNCwgMjMzLCAyOCwgOCwgNCwgMjMzLCA4MiwgCi0gICAgOCwgNCwgMjMzLCA0MSwgOCwgNCwgMjMyLCAxMzIsIDgsIDQsIDIzMiwgMTMxLCA4LCA0LCAyMzIsIDE1NiwgOCwgNCwgMjMyLCAKLSAgICAxMzUsIDgsIDQsIDIzMiwgMTMzLCA4LCA0LCAyMzIsIDEzNCwgOCwgNCwgMjMyLCAxMTQsIDgsIDQsIDIzMiwgMTEzLCA4LCAKLSAgICA0LCAyMzIsIDEyMSwgOCwgNCwgMjMyLCAxMTcsIDgsIDQsIDIzMiwgMTE1LCA4LCA0LCAyMzIsIDExNiwgOCwgNCwgMjQyLCAKLSAgICAxNjUsIDgsIDQsIDI0MiwgMTY0LCA4LCA0LCAyNDIsIDE5MCwgOCwgNCwgMjQyLCAxNzUsIDgsIDQsIDI0MiwgMTgyLCA4LCAKLSAgICA0LCAyNDIsIDE4MSwgOCwgNCwgMjQyLCAxODQsIDgsIDQsIDI0MiwgMTgzLCA4LCA0LCAyNDMsIDY1LCA4LCA0LCAyNDMsIAotICAgIDYwLCA4LCA0LCAyNDMsIDExMCwgOCwgNCwgMjQzLCA3NSwgOCwgNCwgMjQyLCA3MiwgOCwgNCwgMjQyLCA3MSwgOCwgNCwgCi0gICAgMjQyLCA3NCwgOCwgNCwgMjQyLCA3MywgOCwgNCwgMjQyLCAxMzAsIDgsIDQsIDI0MiwgMTI4LCA4LCA0LCAyNDIsIDE1MCwgCi0gICAgOCwgNCwgMjQyLCAxMzgsIDgsIDQsIDI0MywgOSwgOCwgNCwgMjQzLCA3LCA4LCA0LCAyNDMsIDM4LCA4LCA0LCAyNDMsIDIwLCAKLSAgICA4LCA0LCAyNDIsIDYyLCA4LCA0LCAyNDIsIDYxLCA4LCA0LCAyNDIsIDkyLCA4LCA0LCAyNDIsIDcwLCA4LCA0LCAyNDIsIAotICAgIDYzLCA4LCA0LCAyNDIsIDY5LCA4LCA0LCAyMzQsIDcwLCA4LCA0LCAyMzQsIDY5LCA4LCA0LCAyMzQsIDEwMSwgOCwgNCwgCi0gICAgMjM0LCA4NCwgOCwgNCwgMjM0LCA5NCwgOCwgNCwgMjM0LCA5NywgOCwgNCwgMjM0LCA5NSwgOCwgNCwgMjM0LCAyMDcsIDgsIAotICAgIDQsIDIzNCwgMTk2LCA4LCA0LCAxODEsIDgsIDQsIDIzNCwgMjMzLCA4LCA0LCAyMzMsIDIyMSwgOCwgNCwgMjMzLCAyMjYsIAotICAgIDgsIDQsIDIzMywgMjIzLCA4LCA0LCAyMzQsIDksIDgsIDQsIDIzNCwgNSwgOCwgNCwgMjM0LCAzNywgOCwgNCwgMjM0LCAxNiwgCi0gICAgOCwgNCwgMjM0LCAxNjIsIDgsIDQsIDIzNCwgMTQ2LCA4LCA0LCAyMzQsIDE4OCwgOCwgNCwgMjM0LCAxNjUsIDgsIDQsIAotICAgIDIzMywgMjEwLCA4LCA0LCAyMzMsIDIwOCwgOCwgNCwgMjMzLCAyMzgsIDgsIDQsIDIzMywgMjIwLCA4LCA0LCAyMzMsIDIxMywgCi0gICAgOCwgNCwgMjMzLCAyMTcsIDgsIDQsIDI0MiwgMjQ3LCA4LCA0LCAyNDIsIDI0NiwgOCwgNCwgMjQyLCAyNTEsIDgsIDQsIAotICAgIDI0MiwgMjQ4LCA4LCA0LCAyNDIsIDI1MCwgOCwgNCwgMjQyLCAyNDksIDgsIDQsIDI0MywgMiwgOCwgNCwgMjQzLCAxLCA4LCAKLSAgICA0LCAyNDMsIDUsIDgsIDQsIDI0MywgMywgOCwgNCwgMjQyLCAyMzgsIDgsIDQsIDI0MiwgMjM3LCA4LCA0LCAyNDIsIDI0MCwgCi0gICAgOCwgNCwgMjQyLCAyMzksIDgsIDQsIDI0MiwgMjQzLCA4LCA0LCAyNDIsIDI0MiwgOCwgNCwgMjQyLCAyNDUsIDgsIDQsIAotICAgIDI0MiwgMjQ0LCA4LCA0LCAyNDIsIDI1MywgOCwgNCwgMjQyLCAyNTIsIDgsIDQsIDI0MywgMCwgOCwgNCwgMjQyLCAyNTQsIAotICAgIDgsIDQsIDI0MiwgMjMzLCA4LCA0LCAyNDIsIDIzMiwgOCwgNCwgMjQyLCAyNDEsIDgsIDQsIDI0MiwgMjM2LCA4LCA0LCAKLSAgICAyNDIsIDIzNCwgOCwgNCwgMjQyLCAyMzUsIDgsIDQsIDIzMSwgNjAsIDgsIDQsIDIzMSwgNjEsIDgsIDQsIDIzMSwgNzksIDgsIAotICAgIDQsIDIzMSwgNzgsIDgsIDQsIDIzMSwgODEsIDgsIDQsIDIzMSwgODAsIDgsIDQsIDIzMSwgNTEsIDgsIDQsIDIzMSwgNTMsIAotICAgIDgsIDQsIDIzMSwgNTIsIDgsIDQsIDIzMSwgNTYsIDgsIDQsIDIzMSwgNTUsIDgsIDQsIDIzMSwgNTgsIDgsIDQsIDIzMSwgCi0gICAgNTcsIDgsIDQsIDIzMSwgNjIsIDgsIDQsIDIzMSwgNjQsIDgsIDQsIDIzMSwgNjMsIDgsIDQsIDIzMSwgNDcsIDgsIDQsIAotICAgIDIzMSwgNDYsIDgsIDQsIDIzMSwgNTQsIDgsIDQsIDIzMSwgNTAsIDgsIDQsIDIzMSwgNDgsIDgsIDQsIDIzMSwgNDksIDgsIAotICAgIDQsIDI0MCwgMTcyLCA4LCA0LCAyNDAsIDE3MSwgOCwgNCwgMjQwLCAxNzgsIDgsIDQsIDI0MCwgMTczLCA4LCA0LCAyNDAsIAotICAgIDE3NSwgOCwgNCwgMjQwLCAxNzQsIDgsIDQsIDI0MCwgMTc3LCA4LCA0LCAyNDAsIDE3NiwgOCwgNCwgMjQwLCAxODMsIDgsIAotICAgIDQsIDI0MCwgMTgyLCA4LCA0LCAyNDAsIDE4NSwgOCwgNCwgMjQwLCAxODQsIDgsIDQsIDI0MCwgMTY0LCA4LCA0LCAyNDAsIAotICAgIDE2MywgOCwgNCwgMjQwLCAxNjYsIDgsIDQsIDI0MCwgMTY1LCA4LCA0LCAyNDAsIDE2OCwgOCwgNCwgMjQwLCAxNjcsIDgsIAotICAgIDQsIDI0MCwgMTcwLCA4LCA0LCAyNDAsIDE2OSwgOCwgNCwgMjQwLCAxNzksIDgsIDQsIDI0MCwgMTgxLCA4LCA0LCAyNDAsIAotICAgIDE4MCwgOCwgNCwgMjI5LCAxMTAsIDgsIDQsIDIyOSwgMTEyLCA4LCA0LCAyMjksIDExMSwgOCwgNCwgMjI5LCAxNTAsIDgsIAotICAgIDQsIDIyOSwgMTQ5LCA4LCA0LCAyMjksIDE1OSwgOCwgNCwgMjI5LCAxNTMsIDgsIDQsIDIyOSwgNzMsIDgsIDQsIDIyOSwgCi0gICAgNzIsIDgsIDQsIDIyOSwgNzQsIDgsIDQsIDIyOSwgODIsIDgsIDQsIDIyOSwgNzksIDgsIDQsIDIyOSwgOTAsIDgsIDQsIAotICAgIDIyOSwgODQsIDgsIDQsIDIyOSwgMTQzLCA4LCA0LCAyMjksIDE0OCwgOCwgNCwgMjI5LCAxNDUsIDgsIDQsIDI0MSwgMTQyLCAKLSAgICA4LCA0LCAyNDEsIDE1MiwgOCwgNCwgMjQxLCAxNjAsIDgsIDQsIDI0MSwgMjM0LCA4LCA0LCAyNDEsIDIyNywgOCwgNCwgCi0gICAgMTU5LCA4LCA0LCAyNDEsIDI0NSwgOCwgNCwgMjQwLCAxOTYsIDgsIDQsIDI0MCwgMTk1LCA4LCA0LCAyNDAsIDE5OCwgOCwgCi0gICAgNCwgMjQwLCAxOTcsIDgsIDQsIDI0MCwgMjI5LCA4LCA0LCAyNDAsIDIyMCwgOCwgNCwgMjQxLCA1NCwgOCwgNCwgMjQxLCAKLSAgICAzNCwgOCwgNCwgMjQxLCAxNzksIDgsIDQsIDI0MSwgMjIyLCA4LCA0LCAyNDEsIDE5MCwgOCwgNCwgMjE0LCAyNywgOCwgNCwgCi0gICAgMjE0LCAxMiwgOCwgNCwgMjE0LCA0OSwgOCwgNCwgMjE0LCAzNSwgOCwgNCwgMjEzLCAxNzMsIDgsIDQsIDIxMywgMTc1LCA4LCAKLSAgICA0LCAyMTMsIDE3NCwgOCwgNCwgMjEzLCAxOTEsIDgsIDQsIDIxMywgMjE0LCA4LCA0LCAyMTMsIDE5NywgOCwgNCwgMjEzLCAKLSAgICAyNDYsIDgsIDQsIDIxNCwgNiwgOCwgNCwgMjEzLCAyNTEsIDgsIDQsIDIxMiwgMjMsIDgsIDQsIDIxMiwgMjIsIDgsIDQsIAotICAgIDIxMiwgMzcsIDgsIDQsIDIxMiwgMjUsIDgsIDQsIDIxMiwgMzAsIDgsIDQsIDIxMiwgMzIsIDgsIDQsIDIxMiwgMzEsIDgsIAotICAgIDQsIDIxMiwgOTUsIDgsIDQsIDIxMiwgOTIsIDgsIDQsIDIxMiwgMTA5LCA4LCA0LCAyMTIsIDk4LCA4LCA0LCAyMTIsIDEsIAotICAgIDgsIDQsIDIxMiwgMywgOCwgNCwgMjEyLCAyLCA4LCA0LCAyMTIsIDEyLCA4LCA0LCAyMTIsIDExLCA4LCA0LCAyMTIsIDE2LCAKLSAgICA4LCA0LCAyMTIsIDEzLCA4LCA0LCAyMTIsIDc3LCA4LCA0LCAyMTIsIDg3LCA4LCA0LCAyMTIsIDgxLCA4LCA0LCAyMTEsIAotICAgIDI1MywgOCwgNCwgMjExLCAyNTIsIDgsIDQsIDIxMiwgOCwgOCwgNCwgMjEyLCAwLCA4LCA0LCAyMTEsIDI1NCwgOCwgNCwgCi0gICAgMjExLCAyNTUsIDgsIDQsIDIxMSwgMjQ0LCA4LCA0LCAyMTEsIDI0MywgOCwgNCwgMjExLCAyNDksIDgsIDQsIDIxMSwgMjQ3LCAKLSAgICA4LCA0LCAyMTEsIDI0NSwgOCwgNCwgMjExLCAyNDYsIDgsIDQsIDI0OSwgMjIxLCA4LCA0LCAyNDksIDIxNywgOCwgNCwgCi0gICAgMjQ5LCAyNDQsIDgsIDQsIDI0OSwgMjMwLCA4LCA0LCAyNDksIDI0MSwgOCwgNCwgMjQ5LCAyMzUsIDgsIDQsIDI0OSwgMjQzLCAKLSAgICA4LCA0LCAyNDksIDI0MiwgOCwgNCwgMjUwLCAxNTYsIDgsIDQsIDI1MCwgMTUwLCA4LCA0LCAyNTAsIDIxOSwgOCwgNCwgCi0gICAgMjUwLCAxODMsIDgsIDQsIDI0OSwgNDUsIDgsIDQsIDI0OSwgNDcsIDgsIDQsIDI0OSwgNDYsIDgsIDQsIDI0OSwgOTIsIDgsIAotICAgIDQsIDI0OSwgODMsIDgsIDQsIDI0OSwgMTc1LCA4LCA0LCAyNDksIDEwOCwgOCwgNCwgMjUwLCA5NCwgOCwgNCwgMjUwLCAKLSAgICAxMjQsIDgsIDQsIDI1MCwgOTksIDgsIDQsIDI0OSwgMjYsIDgsIDQsIDI0OSwgMjUsIDgsIDQsIDI0OSwgNTMsIDgsIDQsIAotICAgIDI0OSwgNDMsIDgsIDQsIDI0OSwgMzEsIDgsIDQsIDI0OSwgNDIsIDgsIDQsIDI0OSwgNiwgOCwgNCwgMjQ5LCA1LCA4LCA0LCAKLSAgICAyNDksIDE2LCA4LCA0LCAyNDksIDEyLCA4LCA0LCAyNDksIDcsIDgsIDQsIDI0OSwgOSwgOCwgNCwgMjExLCAyMjcsIDgsIDQsIAotICAgIDIxMSwgMjI2LCA4LCA0LCAyMTEsIDIzMywgOCwgNCwgMjExLCAyMjgsIDgsIDQsIDIxMSwgMjMwLCA4LCA0LCAyMTEsIDIyOSwgCi0gICAgOCwgNCwgMjExLCAyMzIsIDgsIDQsIDIxMSwgMjMxLCA4LCA0LCAyMTEsIDIzOSwgOCwgNCwgMjExLCAyMzgsIDgsIDQsIAotICAgIDIxMSwgMjQyLCA4LCA0LCAyMTEsIDI0MCwgOCwgNCwgMjExLCAyMjMsIDgsIDQsIDIxMSwgMjI1LCA4LCA0LCAyMTEsIDIyNCwgCi0gICAgOCwgNCwgMjExLCAyMzQsIDgsIDQsIDIxMSwgMjM3LCA4LCA0LCAyMTEsIDIzNSwgOCwgNCwgMjExLCAyMTgsIDgsIDQsIAotICAgIDIxMSwgMjIyLCA4LCA0LCAyMTEsIDIyMSwgOCwgNCwgMjExLCAyMTksIDgsIDQsIDIxMSwgMjIwLCA4LCA0LCAyMTEsIDIxMywgCi0gICAgOCwgNCwgMjExLCAyMTIsIDgsIDQsIDIxMSwgMjE3LCA4LCA0LCAyMTEsIDIxNiwgOCwgNCwgMjExLCAyMTQsIDgsIDQsIAotICAgIDIxMSwgMjE1LCA4LCA0LCAyMjcsIDIyNCwgOCwgNCwgMjI3LCAyMjMsIDgsIDQsIDIyNywgMjI5LCA4LCA0LCAyMjcsIDIyNSwgCi0gICAgOCwgNCwgMjI3LCAyMjYsIDgsIDQsIDIyNywgMjI4LCA4LCA0LCAyMjcsIDIyNywgOCwgNCwgMjI3LCAyMzQsIDgsIDQsIAotICAgIDIyNywgMjMzLCA4LCA0LCAyMjcsIDIzNywgOCwgNCwgMjI3LCAyMzYsIDgsIDQsIDIyNywgMjE3LCA4LCA0LCAyMjcsIDIxOCwgCi0gICAgOCwgNCwgMjI3LCAyMjEsIDgsIDQsIDIyNywgMjIyLCA4LCA0LCAyMjcsIDIzMCwgOCwgNCwgMjI3LCAyMzIsIDgsIDQsIAotICAgIDIyNywgMjEyLCA4LCA0LCAyMjcsIDIyMCwgOCwgNCwgMjI3LCAyMTYsIDgsIDQsIDIyNywgMjEzLCA4LCA0LCAyMjcsIDIxNCwgCi0gICAgOCwgNCwgMjI3LCAyMDcsIDgsIDQsIDIyNywgMjA2LCA4LCA0LCAyMjcsIDIxMSwgOCwgNCwgMjI3LCAyMTAsIDgsIDQsIAotICAgIDIyNywgMjA4LCA4LCA0LCAyMjcsIDIwOSwgOCwgNCwgMjIwLCA1NSwgOCwgNCwgMTg5LCA4LCA0LCAyMjAsIDExNywgOCwgNCwgCi0gICAgMjIwLCA1OCwgOCwgNCwgMjIwLCAxMDksIDgsIDQsIDIyMCwgMTEyLCA4LCA0LCAyMjAsIDExMCwgOCwgNCwgMjIyLCAxNDIsIAotICAgIDgsIDQsIDIyMiwgMTMyLCA4LCA0LCAyMjIsIDIwMiwgOCwgNCwgMjIyLCAxNTAsIDgsIDQsIDIxOCwgMjI4LCA4LCA0LCAKLSAgICAyMTgsIDIzMCwgOCwgNCwgMjE4LCAyMjksIDgsIDQsIDIxOSwgMjIxLCA4LCA0LCAyMTksIDIxMCwgOCwgNCwgMjE5LCAyNDIsIAotICAgIDgsIDQsIDIxOSwgMjI0LCA4LCA0LCAyMjEsIDM1LCA4LCA0LCAyMjIsIDEwMCwgOCwgNCwgMjIxLCA1OSwgOCwgNCwgMjE4LCAKLSAgICAyMDYsIDgsIDQsIDIxOCwgMjA0LCA4LCA0LCAyMTksIDI3LCA4LCA0LCAyMTgsIDIyNywgOCwgNCwgMjE4LCAyMDksIDgsIDQsIAotICAgIDIxOCwgMjE3LCA4LCA0LCAyMTgsIDExMywgOCwgNCwgMjE4LCAxMTIsIDgsIDQsIDIxOCwgMTc3LCA4LCA0LCAyMTgsIDExOSwgCi0gICAgOCwgNCwgMjE4LCAxMTQsIDgsIDQsIDIxOCwgMTE4LCA4LCA0LCAyMTksIDEyMywgOCwgNCwgMjE5LCAxMjIsIDgsIDQsIAotICAgIDIxOSwgMTI4LCA4LCA0LCAyMTksIDEyNCwgOCwgNCwgMjE5LCAxMjUsIDgsIDQsIDIxOSwgMTI3LCA4LCA0LCAyMTksIDEyNiwgCi0gICAgOCwgNCwgMjE5LCAxMzUsIDgsIDQsIDIxOSwgMTM0LCA4LCA0LCAyMTksIDE1NywgOCwgNCwgMjE5LCAxMzYsIDgsIDQsIAotICAgIDIxOSwgMTE5LCA4LCA0LCAyMTksIDExOCwgOCwgNCwgMjE5LCAxMjEsIDgsIDQsIDIxOSwgMTIwLCA4LCA0LCAyMTksIDEzMCwgCi0gICAgOCwgNCwgMjE5LCAxMzMsIDgsIDQsIDIxOSwgMTMxLCA4LCA0LCAyMTksIDExNSwgOCwgNCwgMjE5LCAxMTQsIDgsIDQsIAotICAgIDIxOSwgMTE3LCA4LCA0LCAyMTksIDExNiwgOCwgNCwgMjE5LCAxMDksIDgsIDQsIDIxOSwgMTA4LCA4LCA0LCAyMTksIDExMywgCi0gICAgOCwgNCwgMjE5LCAxMTIsIDgsIDQsIDIxOSwgMTEwLCA4LCA0LCAyMTksIDExMSwgOCwgNCwgMjEyLCA3MCwgOCwgNCwgMjEyLCAKLSAgICA2OSwgOCwgNCwgMjEyLCA3NSwgOCwgNCwgMjEyLCA3MiwgOCwgNCwgMjEyLCA1MiwgOCwgNCwgMjEyLCA1NCwgOCwgNCwgCi0gICAgMjEyLCA1MywgOCwgNCwgMjEyLCA1NywgOCwgNCwgMjEyLCA1NiwgOCwgNCwgMjEyLCA2MCwgOCwgNCwgMjEyLCA1OCwgOCwgCi0gICAgNCwgMjEyLCA2NCwgOCwgNCwgMjEyLCA2MywgOCwgNCwgMjEyLCA2NywgOCwgNCwgMjEyLCA2NSwgOCwgNCwgMjEyLCA0OCwgCi0gICAgOCwgNCwgMjEyLCA0NywgOCwgNCwgMjEyLCA1NSwgOCwgNCwgMjEyLCA1MSwgOCwgNCwgMjEyLCA0OSwgOCwgNCwgMjEyLCAKLSAgICA1MCwgOCwgNCwgMjEyLCA0MCwgOCwgNCwgMjEyLCAzOSwgOCwgNCwgMjEyLCA0NCwgOCwgNCwgMjEyLCA0MywgOCwgNCwgCi0gICAgMjEyLCA0MSwgOCwgNCwgMjEyLCA0MiwgOCwgNCwgMjUwLCA3MiwgOCwgNCwgMjUwLCA2OSwgOCwgNCwgMjUwLCA5MiwgOCwgCi0gICAgNCwgMjUwLCA4MCwgOCwgNCwgMjUwLCAyLCA4LCA0LCAyNTAsIDEsIDgsIDQsIDI1MCwgNCwgOCwgNCwgMjUwLCAzLCA4LCA0LCAKLSAgICAyNTAsIDE2LCA4LCA0LCAyNTAsIDE1LCA4LCA0LCAyNTAsIDIzLCA4LCA0LCAyNTAsIDE4LCA4LCA0LCAyNTAsIDUyLCA4LCAKLSAgICA0LCAyNTAsIDUwLCA4LCA0LCAyNTAsIDY3LCA4LCA0LCAyNTAsIDU4LCA4LCA0LCAyNDksIDI1MiwgOCwgNCwgMjUwLCA2LCAKLSAgICA4LCA0LCAyNTAsIDAsIDgsIDQsIDI0OSwgMjUzLCA4LCA0LCAyNDksIDI1NSwgOCwgNCwgMjQ5LCAyNDYsIDgsIDQsIDI0OSwgCi0gICAgMjQ1LCA4LCA0LCAyNDksIDI1MCwgOCwgNCwgMjQ5LCAyNDksIDgsIDQsIDI0OSwgMjQ3LCA4LCA0LCAyNDksIDI0OCwgOCwgCi0gICAgNCwgMjIzLCA4MCwgOCwgNCwgMjIzLCA4MSwgOCwgNCwgMjIzLCA2NywgOCwgNCwgMjIzLCA2OCwgOCwgNCwgMjIzLCA3MSwgCi0gICAgOCwgNCwgMjIzLCA3MCwgOCwgNCwgMjIzLCA3MywgOCwgNCwgMjIzLCA3MiwgOCwgNCwgMjIzLCA3NSwgOCwgNCwgMjIzLCAKLSAgICA3NCwgOCwgNCwgMjIzLCA3OSwgOCwgNCwgMjIzLCA3NiwgOCwgNCwgMjIzLCA2MywgOCwgNCwgMjIzLCA2MiwgOCwgNCwgCi0gICAgMjIzLCA2OSwgOCwgNCwgMjIzLCA2NiwgOCwgNCwgMjIzLCA2NCwgOCwgNCwgMjIzLCA2NSwgOCwgNCwgMjIzLCA1NywgOCwgCi0gICAgNCwgMjIzLCA1NiwgOCwgNCwgMjIzLCA2MSwgOCwgNCwgMjIzLCA2MCwgOCwgNCwgMjIzLCA1OCwgOCwgNCwgMjIzLCA1OSwgCi0gICAgOCwgNCwgMjI4LCAxNDUsIDgsIDQsIDIyOCwgMTQ0LCA4LCA0LCAyMjgsIDE0NywgOCwgNCwgMjI4LCAxNDYsIDgsIDQsIAotICAgIDIyOCwgMTM3LCA4LCA0LCAyMjgsIDEzOSwgOCwgNCwgMjI4LCAxMzgsIDgsIDQsIDIyOCwgMTQxLCA4LCA0LCAyMjgsIDE0MCwgCi0gICAgOCwgNCwgMjI4LCAxNDMsIDgsIDQsIDIyOCwgMTQyLCA4LCA0LCAyMjgsIDEzMiwgOCwgNCwgMjI4LCAxMzEsIDgsIDQsIAotICAgIDIyOCwgMTM2LCA4LCA0LCAyMjgsIDEzNSwgOCwgNCwgMjI4LCAxMzMsIDgsIDQsIDIyOCwgMTM0LCA4LCA0LCAyMjgsIDEyNiwgCi0gICAgOCwgNCwgMjI4LCAxMjUsIDgsIDQsIDIyOCwgMTMwLCA4LCA0LCAyMjgsIDEyOSwgOCwgNCwgMjI4LCAxMjcsIDgsIDQsIAotICAgIDIyOCwgMTI4LCA4LCA0LCAyMjAsIDI1MSwgOCwgNCwgMjIwLCAyNDcsIDgsIDQsIDIyMSwgMjQsIDgsIDQsIDIyMSwgNiwgOCwgCi0gICAgNCwgMjIwLCAxNDAsIDgsIDQsIDIyMCwgMTQyLCA4LCA0LCAyMjAsIDE0MSwgOCwgNCwgMjIwLCAxNjAsIDgsIDQsIDIyMCwgCi0gICAgMTU3LCA4LCA0LCAyMjAsIDE4NywgOCwgNCwgMjIwLCAxNzgsIDgsIDQsIDIyMCwgMjIyLCA4LCA0LCAyMjAsIDIxNSwgOCwgCi0gICAgNCwgMjIwLCAyNDMsIDgsIDQsIDIyMCwgMjMwLCA4LCA0LCAyMjAsIDEzNiwgOCwgNCwgMjIwLCAxMzUsIDgsIDQsIDIyMCwgCi0gICAgMTUwLCA4LCA0LCAyMjAsIDEzOSwgOCwgNCwgMjIwLCAxMzcsIDgsIDQsIDIyMCwgMTM4LCA4LCA0LCAyMjAsIDEyMCwgOCwgCi0gICAgNCwgMjIwLCAxMTksIDgsIDQsIDIyMCwgMTI2LCA4LCA0LCAyMjAsIDEyMywgOCwgNCwgMjIwLCAxMjEsIDgsIDQsIDIyMCwgCi0gICAgMTIyLCA4LCA0LCAyMjQsIDMzLCA4LCA0LCAyMjQsIDI4LCA4LCA0LCAyMDMsIDgsIDQsIDIyNCwgMzksIDgsIDQsIDIyMywgCi0gICAgMzEsIDgsIDQsIDIyMywgMzMsIDgsIDQsIDIyMywgMzIsIDgsIDQsIDIyMywgOTAsIDgsIDQsIDIyMywgODMsIDgsIDQsIAotICAgIDIyMywgMTEyLCA4LCA0LCAyMjMsIDk0LCA4LCA0LCAyMjMsIDE5NiwgOCwgNCwgMjI0LCAyMSwgOCwgNCwgMjIzLCAyMzEsIAotICAgIDgsIDQsIDIyMywgMjQsIDgsIDQsIDIyMywgMjIsIDgsIDQsIDIyMywgNTEsIDgsIDQsIDIyMywgMzAsIDgsIDQsIDIyMywgCi0gICAgMjYsIDgsIDQsIDIyMywgMjcsIDgsIDQsIDIyMywgNywgOCwgNCwgMjIzLCA2LCA4LCA0LCAyMjMsIDEyLCA4LCA0LCAyMjMsIAotICAgIDEwLCA4LCA0LCAyMjMsIDgsIDgsIDQsIDIyMywgOSwgOCwgNCwgMjM1LCAxMDEsIDgsIDQsIDIzNSwgMTAwLCA4LCA0LCAKLSAgICAyMzUsIDExMCwgOCwgNCwgMjM1LCAxMDIsIDgsIDQsIDIzNSwgMTA2LCA4LCA0LCAyMzUsIDEwNSwgOCwgNCwgMjM1LCAxMDgsIAotICAgIDgsIDQsIDIzNSwgMTA3LCA4LCA0LCAyMzUsIDQ0LCA4LCA0LCAyMzUsIDQzLCA4LCA0LCAyMzUsIDQ2LCA4LCA0LCAyMzUsIAotICAgIDQ1LCA4LCA0LCAyMzUsIDU5LCA4LCA0LCAyMzUsIDU3LCA4LCA0LCAyMzUsIDcxLCA4LCA0LCAyMzUsIDYxLCA4LCA0LCAKLSAgICAyMzUsIDM4LCA4LCA0LCAyMzUsIDM2LCA4LCA0LCAyMzUsIDU0LCA4LCA0LCAyMzUsIDQyLCA4LCA0LCAyMzUsIDM5LCA4LCAKLSAgICA0LCAyMzUsIDQwLCA4LCA0LCAyMzUsIDMwLCA4LCA0LCAyMzUsIDI5LCA4LCA0LCAyMzUsIDM0LCA4LCA0LCAyMzUsIDMzLCAKLSAgICA4LCA0LCAyMzUsIDMxLCA4LCA0LCAyMzUsIDMyLCA4LCA0LCAyMjQsIDE5MSwgOCwgNCwgMjI0LCAxODksIDgsIDQsIDIyNCwgCi0gICAgMTk4LCA4LCA0LCAyMjQsIDE5MiwgOCwgNCwgMjI0LCAxOTUsIDgsIDQsIDIyNCwgMTk0LCA4LCA0LCAyMjQsIDE5NywgOCwgCi0gICAgNCwgMjI0LCAxOTYsIDgsIDQsIDIyNCwgMTQ0LCA4LCA0LCAyMjQsIDE0MSwgOCwgNCwgMjI0LCAxNDYsIDgsIDQsIDIyNCwgCi0gICAgMTQ1LCA4LCA0LCAyMjQsIDE3OCwgOCwgNCwgMjI0LCAxNzcsIDgsIDQsIDIyNCwgMTg3LCA4LCA0LCAyMjQsIDE4MSwgOCwgCi0gICAgNCwgMjI0LCAxMzYsIDgsIDQsIDIyNCwgMTMyLCA4LCA0LCAyMjQsIDE3NSwgOCwgNCwgMjI0LCAxNDAsIDgsIDQsIDIyNCwgCi0gICAgMTM4LCA4LCA0LCAyMjQsIDEzOSwgOCwgNCwgMjI0LCAxMTYsIDgsIDQsIDIyNCwgMTE0LCA4LCA0LCAyMjQsIDEyNiwgOCwgCi0gICAgNCwgMjI0LCAxMTksIDgsIDQsIDIyNCwgMTE3LCA4LCA0LCAyMjQsIDExOCwgOCwgNCwgMjM1LCA5MCwgOCwgNCwgMjM1LCAKLSAgICA4OSwgOCwgNCwgMjM1LCA5NiwgOCwgNCwgMjM1LCA5MSwgOCwgNCwgMjM1LCA5MywgOCwgNCwgMjM1LCA5MiwgOCwgNCwgCi0gICAgMjM1LCA5NSwgOCwgNCwgMjM1LCA5NCwgOCwgNCwgMjM1LCA4MSwgOCwgNCwgMjM1LCA4MywgOCwgNCwgMjM1LCA4MiwgOCwgCi0gICAgNCwgMjM1LCA4NiwgOCwgNCwgMjM1LCA4NSwgOCwgNCwgMjM1LCA4OCwgOCwgNCwgMjM1LCA4NywgOCwgNCwgMjM1LCA3NywgCi0gICAgOCwgNCwgMjM1LCA3NiwgOCwgNCwgMjM1LCA4NCwgOCwgNCwgMjM1LCA4MCwgOCwgNCwgMjM1LCA3OCwgOCwgNCwgMjM1LCAKLSAgICA3OSwgOCwgNCwgMjM1LCA3MywgOCwgNCwgMjM1LCA3MiwgOCwgNCwgMjM1LCA3NSwgOCwgNCwgMjM1LCA3NCwgOCwgNCwgCi0gICAgMjI4LCAyNDksIDgsIDQsIDIyOCwgMjQ4LCA4LCA0LCAyMjksIDAsIDgsIDQsIDIyOCwgMjUwLCA4LCA0LCAyMjgsIDI1MiwgCi0gICAgOCwgNCwgMjI4LCAyNTEsIDgsIDQsIDIyOCwgMjU1LCA4LCA0LCAyMjgsIDI1MywgOCwgNCwgMjI4LCAyMzgsIDgsIDQsIAotICAgIDIyOCwgMjM5LCA4LCA0LCAyMjgsIDI0NCwgOCwgNCwgMjI4LCAyNDMsIDgsIDQsIDIyOCwgMjQ3LCA4LCA0LCAyMjgsIDI0NSwgCi0gICAgOCwgNCwgMjI4LCAyMzMsIDgsIDQsIDIyOCwgMjQyLCA4LCA0LCAyMjgsIDIzNywgOCwgNCwgMjI4LCAyMzQsIDgsIDQsIAotICAgIDIyOCwgMjM1LCA4LCA0LCAyMjgsIDIyOCwgOCwgNCwgMjI4LCAyMjcsIDgsIDQsIDIyOCwgMjMyLCA4LCA0LCAyMjgsIDIzMSwgCi0gICAgOCwgNCwgMjI4LCAyMjksIDgsIDQsIDIyOCwgMjMwLCA4LCA0LCAyMjgsIDAsIDgsIDQsIDIyNywgMjU1LCA4LCA0LCAyMjgsIAotICAgIDEwLCA4LCA0LCAyMjgsIDQsIDgsIDQsIDIyOCwgNywgOCwgNCwgMjI4LCA2LCA4LCA0LCAyMjgsIDksIDgsIDQsIDIyOCwgOCwgCi0gICAgOCwgNCwgMjI3LCAyNDMsIDgsIDQsIDIyNywgMjQ1LCA4LCA0LCAyMjcsIDI0NCwgOCwgNCwgMjI3LCAyNDksIDgsIDQsIAotICAgIDIyNywgMjQ4LCA4LCA0LCAyMjcsIDI1MywgOCwgNCwgMjI3LCAyNTAsIDgsIDQsIDIyNywgMjQxLCA4LCA0LCAyMjcsIDI0MCwgCi0gICAgOCwgNCwgMjI3LCAyNDcsIDgsIDQsIDIyNywgMjQyLCA4LCA0LCAyMTMsIDEzOCwgOCwgNCwgMjEzLCAxMzcsIDgsIDQsIAotICAgIDIxMywgMTQ1LCA4LCA0LCAyMTMsIDE0MCwgOCwgNCwgMjEzLCAxNDIsIDgsIDQsIDIxMywgMTQxLCA4LCA0LCAyMTMsIDE0NCwgCi0gICAgOCwgNCwgMjEzLCAxNDMsIDgsIDQsIDIxMywgMTI3LCA4LCA0LCAyMTMsIDEyOCwgOCwgNCwgMjEzLCAxMzIsIDgsIDQsIAotICAgIDIxMywgMTMxLCA4LCA0LCAyMTMsIDEzNiwgOCwgNCwgMjEzLCAxMzQsIDgsIDQsIDIxMywgMTA5LCA4LCA0LCAyMTMsIDEwNywgCi0gICAgOCwgNCwgMjEzLCAxMTksIDgsIDQsIDIxMywgMTEyLCA4LCA0LCAyMTMsIDExMCwgOCwgNCwgMjEzLCAxMTEsIDgsIDQsIAotICAgIDIxMiwgMjQxLCA4LCA0LCAyMTIsIDIzOSwgOCwgNCwgMjEyLCAyNTUsIDgsIDQsIDIxMiwgMjQyLCA4LCA0LCAyMTIsIDI0OSwgCi0gICAgOCwgNCwgMjEyLCAyNDgsIDgsIDQsIDIxMiwgMjUyLCA4LCA0LCAyMTIsIDI1MCwgOCwgNCwgMjEyLCAxODIsIDgsIDQsIAotICAgIDIxMiwgMTgxLCA4LCA0LCAyMTIsIDE4NSwgOCwgNCwgMjEyLCAxODMsIDgsIDQsIDIxMiwgMjE1LCA4LCA0LCAyMTIsIDIxMiwgCi0gICAgOCwgNCwgMjEyLCAyMzUsIDgsIDQsIDIxMiwgMjE5LCA4LCA0LCAyMTIsIDE3MywgOCwgNCwgMjEyLCAxNzAsIDgsIDQsIAotICAgIDIxMiwgMjAzLCA4LCA0LCAyMTIsIDE4MCwgOCwgNCwgMjEyLCAxNzYsIDgsIDQsIDIxMiwgMTc3LCA4LCA0LCAyMTIsIDE1NSwgCi0gICAgOCwgNCwgMjEyLCAxNTQsIDgsIDQsIDIxMiwgMTYxLCA4LCA0LCAyMTIsIDE1OCwgOCwgNCwgMjEyLCAxNTYsIDgsIDQsIAotICAgIDIxMiwgMTU3LCA4LCAzNCwgMjI0LCAxNzgsIDgsIDM0LCAyMzMsIDEzLCA4LCAzNCwgMjM0LCA3MCwgOCwgMzQsIDIyOCwgNCwgCi0gICAgOCwgMzQsIDI0OSwgMTIsIDgsIDM0LCAyMTksIDEyOCwgOCwgMzQsIDI0MiwgMjQ0LCA4LCAzNCwgMjQzLCAyMCwgOCwgMzQsIAotICAgIDIzMSwgNDIsIDgsIDM0LCAyNDAsIDE3MiwgOCwgMzQsIDIzMiwgMTE2LCA4LCAzNCwgMjUyLCAzLCA4LCAzNCwgMjMwLCAKLSAgICAxOTYsIDgsIDM0LCAyMTIsIDIzNSwgOCwgMzQsIDIyNSwgOCwgOCwgMzQsIDI0MCwgMTY2LCA4LCAzNCwgMjE3LCAyNTMsIDgsIAotICAgIDM0LCAyNDMsIDExMCwgOCwgMzQsIDIxMiwgMCwgOCwgMzQsIDI0OSwgNiwgOCwgMzQsIDI0OCwgNDYsIDgsIDM0LCAyNTEsIAotICAgIDI3LCA4LCAzNCwgMjQyLCAyNDAsIDgsIDM0LCAyMjcsIDI1MCwgOCwgMzQsIDIxNiwgODIsIDgsIDM0LCAyMjcsIDQxLCA4LCAKLSAgICAzNCwgMjM1LCA3NywgOCwgMzQsIDIxMiwgMTIsIDgsIDM0LCAyMjQsIDI0NCwgOCwgMzQsIDI0MSwgOTQsIDgsIDM0LCAyMTIsIAotICAgIDI0MSwgOCwgMzQsIDIxNCwgOTUsIDgsIDM0LCAyMjAsIDEyNiwgOCwgMzQsIDIxNCwgMjIxLCA4LCAzNCwgMjEyLCAxMDksIAotICAgIDgsIDM0LCAyMzUsIDcxLCA4LCAzNCwgMjI3LCAyMTYsIDgsIDM0LCAyMzUsIDc1LCA4LCAzNCwgMjQyLCAxMzAsIDgsIDM0LCAKLSAgICAyMzUsIDk1LCA4LCAzNCwgMjEzLCAyMTQsIDgsIDM0LCAyNDYsIDMzLCA4LCAzNCwgMjIwLCAxMzgsIDgsIDM0LCAyMzMsIDgsIAotICAgIDgsIDM0LCAyNDksIDE2LCA4LCAzNCwgMjQ5LCA0NiwgOCwgMzQsIDI0OSwgMjMwLCA4LCAzNCwgMjQwLCAxNjksIDgsIDM0LCAKLSAgICAyMjAsIDI1MSwgOCwgMzQsIDIxMSwgMjU1LCA4LCAzNCwgMjIwLCAxNzgsIDgsIDM0LCAyNTAsIDY3LCA4LCAzNCwgMjExLCAKLSAgICAyMzAsIDgsIDM0LCAyMjksIDI1MiwgOCwgMzQsIDIzNCwgMTg4LCAyMzIsIDIyNSwgMSwgMjUyLCAxMDcsIDIzMiwgMjI1LCAKLSAgICAxLCAxOTMsIDIzMiwgMjI1LCAxLCAyMjYsIDIzLCAyMzIsIDIyNSwgMSwgMjQ4LCAxNjQsIDIzMiwgMjI1LCAxLCAyMTgsIAotICAgIDUyLCAyMzIsIDIyNSwgMSwgMjE3LCAxNjEsIDIzMiwgMjI1LCAxLCAyNDMsIDExMCwgMjMyLCAyMjUsIDEsIDE4MSwgMjMyLCAKLSAgICAyMjUsIDEsIDIzNCwgMTM4LCAyMzIsIDIyNSwgMSwgMjM1LCAxMzksIDIzMiwgMjI1LCAxLCAyNTAsIDIxOSwgMjMyLCAyMjUsIAotICAgIDEsIDI1MCwgOTIsIDIzMiwgMjI1LCAxLCAyNDUsIDI0OSwgMjMyLCAyMjUsIDEsIDIxNiwgMTQxLCAyMzIsIDIyNSwgMSwgCi0gICAgMjE2LCAxMzMsIDIzMiwgMjI1LCAxLCAxODgsIDIzMiwgMjI1LCAxLCAyMDUsIDIzMiwgMjI1LCAxLCAyMzMsIDE1NywgMjMyLCAKLSAgICAyMjUsIDEsIDIyMiwgMjAyLCAyMzIsIDIyNSwgMSwgMjEyLCA3NSwgMjMyLCAyMjUsIDEsIDIxMiwgMTA5LCAyMzIsIDIyNSwgCi0gICAgMSwgMjI5LCAxNTksIDIzMiwgMjI1LCAxLCAxNTksIDIzMiwgMjI1LCAxLCAyMTMsIDE1MywgMjMyLCAyMjUsIDEsIDI0MSwgCi0gICAgMTc0LCAyMzIsIDIyNSwgMSwgMjQ0LCAxNjQsIDIzMiwgMjI1LCAxLCAyMTQsIDQ5LCAyMzIsIDIyNSwgMSwgMjIxLCAyNCwgCi0gICAgMjMyLCAyMjUsIDEsIDE4NiwgMjMyLCAyMjUsIDEsIDI0MiwgMjI1LCAyMzIsIDIyNSwgMSwgNjEsIDIzMiwgMjI1LCAxLCAKLSAgICAyNTQsIDE0OCwgMjMyLCAyMjUsIDEsIDc0LCAyMzIsIDIyNSwgMSwgMjQ1LCAyMiwgMjMyLCAyMjUsIDEsIDcyLCAyMzIsIAotICAgIDIyNSwgMSwgNzUsIDIzMiwgMjI1LCAxLCA2OSwgMjMyLCAyMjUsIDEsIDIxNSwgMTgzLCAyMzIsIDIyNSwgMSwgMjE1LCAKLSAgICAxNzgsIDIzMiwgMjI1LCAxLCAyMjcsIDk5LCAyMzIsIDIyNSwgMSwgMTYwLCAyMzAsIDEwNCwgMjE3LCA3MSwgMjMyLCAyMjUsIAotICAgIDEsIDE2MCwgMjMwLCA0NiwgMjI1LCAxNTAsIDIzMiwgMjI1LCAxLCAxNjAsIDIzMCwgMTA0LCAyNDksIDE1LCAyMzIsIDIyNSwgCi0gICAgMSwgMTYwLCAyMzAsIDEwNCwgMjUxLCAxMjgsIDIzMiwgMjI1LCAxLCAxNjAsIDIzMCwgMTA0LCAyMDUsIDIzMiwgMjI1LCAxLCAKLSAgICAxNjAsIDIzMCwgMTA0LCAyMzUsIDExNiwgMjMyLCAyMjUsIDIyNSwgMjcsIDI0OSwgMTU3LCAyMzIsIDIyNSwgMjI1LCAyNywgCi0gICAgMjQzLCAyMDAsIDIxOSwgNjksIDM5LCA0LCAyNDUsIDE2NSwgMzksIDQsIDI0NSwgMTYyLCAzOSwgNCwgMjQxLCAyMDQsIDM5LCAKLSAgICA0LCAyMTQsIDEsIDM5LCA0LCAyMTQsIDAsIDM5LCA0LCAyMjYsIDg2LCAzOSwgNCwgMjUxLCAxOTEsIDM5LCA0LCAyNTEsIAotICAgIDI0MiwgMzksIDQsIDIzMSwgMTc5LCAzOSwgNCwgMjM0LCAwLCAzOSwgNCwgMjMxLCA3MywgMzksIDQsIDI0MywgNTEsIDM5LCAKLSAgICA0LCAyNDQsIDExNiwgMzksIDQsIDIxNCwgMjI3LCAzOSwgNCwgMjE3LCAyMTksIDM5LCA0LCAyMTcsIDE0NywgMzksIDQsIAotICAgIDI0NywgMjI0LCAzOSwgNCwgMjQ3LCAyMjEsIDM5LCA0LCAyMzMsIDc0LCAzOSwgNCwgMjI0LCAxLCAzOSwgNCwgMjQ4LCAyOCwgCi0gICAgMzksIDQsIDIyOSwgMjE5LCAzOSwgNCwgMjIyLCA4OSwgMzksIDQsIDIyMCwgMjQxLCAzOSwgNCwgMjEyLCA4NSwgMzksIDQsIAotICAgIDIxMiwgNjYsIDM5LCA0LCAyNTAsIDExNiwgMzksIDQsIDIzNSwgMTI1LCAzOSwgNCwgMjI5LCA3LCAzOSwgNCwgMjEzLCAzNSwgCi0gICAgMzksIDQsIDIzNCwgMTg3LCAzOSwgNCwgMjI5LCAxMzYsIDM5LCA0LCAyNDMsIDMxLCAzOSwgNCwgMjMxLCAxNDUsIDM5LCA0LCAKLSAgICAyMjksIDE4NCwgMzksIDQsIDIyOCwgMTYsIDM5LCA0LCA3MiwgMzksIDQsIDIzNSwgMjUxLCAzOSwgNCwgMjQxLCAxNjUsIAotICAgIDM5LCA0LCAyNDEsIDE0NiwgMzksIDQsIDIxMywgMjM1LCAzOSwgNCwgMjEzLCAyMjYsIDM5LCA0LCAyMjUsIDI0MCwgMzksIAotICAgIDQsIDI1MSwgMTg5LCAzOSwgNCwgMjUxLCAxODQsIDM5LCA0LCAyMzEsIDE3MiwgMzksIDQsIDIzMywgMjUzLCAzOSwgNCwgCi0gICAgMjMxLCA3MCwgMzksIDQsIDI0MywgNDcsIDM5LCA0LCAyNDQsIDkwLCAzOSwgNCwgMjE0LCAxNTQsIDM5LCA0LCAyMTcsIDcxLCAKLSAgICAzOSwgNCwgMjE3LCAxMjgsIDM5LCA0LCAyNDcsIDIxNiwgMzksIDQsIDI0NywgMjIwLCAzOSwgNCwgMjMzLCAxMywgMzksIDQsIAotICAgIDIyMywgMTg4LCAzOSwgNCwgMjQ3LCAyMTEsIDM5LCA0LCAyMjksIDIxMywgMzksIDQsIDIyMCwgMTE3LCAzOSwgNCwgMjIwLCAKLSAgICAyMTIsIDM5LCA0LCAyMTIsIDM3LCAzOSwgNCwgMjEyLCA2MiwgMzksIDQsIDI0OSwgMjQ0LCAzOSwgNCwgMjM1LCAxMTAsIAotICAgIDM5LCA0LCAyMjksIDAsIDM5LCA0LCAyMTIsIDI1NSwgMzksIDQsIDIzNCwgMTAxLCAzOSwgNCwgMjI5LCAxMjgsIDM5LCA0LCAKLSAgICAyNDIsIDE5MCwgMzksIDQsIDIzMSwgNDIsIDM5LCA0LCAyMjksIDY0LCAzOSwgNCwgMjI4LCAxMCwgMzksIDQsIDYxLCAzOSwgCi0gICAgNCwgMjU0LCAzMiwgMzksIDQsIDIyOSwgMTU1LCAzOSwgNCwgMTU5LCAzOSwgNCwgMjQyLCAxLCAzOSwgNCwgMjE0LCA0OSwgCi0gICAgMzksIDQsIDIxNCwgMzksIDM5LCA0LCAxOTMsIDM5LCA0LCAyNTEsIDE5NSwgMzksIDQsIDI1MiwgMTA3LCAzOSwgNCwgMjMxLCAKLSAgICAxODcsIDM5LCA0LCAyMzQsIDQsIDM5LCA0LCAyMzQsIDMsIDM5LCA0LCAyMzEsIDc3LCAzOSwgNCwgMjQzLCA1NSwgMzksIDQsIAotICAgIDI0NCwgMTY0LCAzOSwgNCwgMjE1LCAxLCAzOSwgNCwgMjE4LCA1MiwgMzksIDQsIDIxNywgMTYxLCAzOSwgNCwgMjQ3LCAKLSAgICAyMzIsIDM5LCA0LCAyNDcsIDIyMywgMzksIDQsIDIzMywgMTU3LCAzOSwgNCwgMjAzLCAzOSwgNCwgMjQ4LCAxNjQsIDM5LCAKLSAgICA0LCAyMjksIDIyOCwgMzksIDQsIDIyMiwgMjAyLCAzOSwgNCwgMjIxLCAyNCwgMzksIDQsIDIxMiwgMTA5LCAzOSwgNCwgCi0gICAgMjEyLCA3NSwgMzksIDQsIDI1MCwgMjE5LCAzOSwgNCwgMjM1LCAxMzksIDM5LCA0LCAyMjksIDE2LCAzOSwgNCwgMTg2LCAKLSAgICAzOSwgNCwgMTgxLCAzOSwgNCwgMjM0LCAyMzksIDM5LCA0LCAyMjksIDE0MSwgMzksIDQsIDI0MywgMTEwLCAzOSwgNCwgCi0gICAgMTg4LCAzOSwgNCwgMjA1LCAzOSwgNCwgMjI4LCAyMywgMzksIDQsIDIyNywgNDksIDM5LCA0LCAyMjcsIDQ1LCAzOSwgNCwgCi0gICAgMjQxLCAzOSwgMzksIDQsIDIxMywgMjAyLCAzOSwgNCwgMjEzLCAxOTgsIDM5LCA0LCAyMjUsIDEyOSwgMzksIDQsIDI1MSwgCi0gICAgMTg3LCAzOSwgNCwgMjUxLCAxMTgsIDM5LCA0LCAyMzEsIDE2NywgMzksIDQsIDIzMywgMjUxLCAzOSwgNCwgMjMxLCA2NiwgCi0gICAgMzksIDQsIDI0MywgNDMsIDM5LCA0LCAyNDQsIDMsIDM5LCA0LCAyMTQsIDEwOCwgMzksIDQsIDIxNiwgMjMwLCAzOSwgNCwgCi0gICAgMjE3LCAxMDYsIDM5LCA0LCAyNDcsIDIxNCwgMzksIDQsIDI0NywgMjE4LCAzOSwgNCwgMjMyLCAxODAsIDM5LCA0LCAyMjMsIAotICAgIDk5LCAzOSwgNCwgMjQ3LCA3OSwgMzksIDQsIDIyOSwgMjAwLCAzOSwgNCwgMjE5LCAyMjYsIDM5LCA0LCAyMjAsIDE4MSwgCi0gICAgMzksIDQsIDIxMiwgMTQsIDM5LCA0LCAyMTIsIDU5LCAzOSwgNCwgMjQ5LCAxMTMsIDM5LCA0LCAyMzUsIDYyLCAzOSwgNCwgCi0gICAgMjI4LCAyNDYsIDM5LCA0LCAyMTIsIDIyMCwgMzksIDQsIDIzNCwgMTksIDM5LCA0LCAyMjksIDEyNiwgMzksIDQsIDI0MiwgCi0gICAgMTQwLCAzOSwgNCwgMjMwLCAyMDIsIDM5LCA0LCAyMjgsIDE3NSwgMzksIDQsIDIyNywgMjUxLCAzOSwgNCwgNjksIDM5LCA0LCAKLSAgICAyMTUsIDE2MCwgMzksIDQsIDI0MCwgMjEyLCAzOSwgNCwgMjQwLCAyMDIsIDM5LCA0LCAyMTMsIDE4MywgMzksIDQsIDIxMywgCi0gICAgMTc3LCAzOSwgNCwgMjI1LCAzNSwgMzksIDQsIDI1MSwgMTg2LCAzOSwgNCwgMjUxLCA1NCwgMzksIDQsIDIzMSwgMTY2LCAKLSAgICAzOSwgNCwgMjMzLCAyNDksIDM5LCA0LCAyMzEsIDY1LCAzOSwgNCwgMjQzLCA0MiwgMzksIDQsIDI0MywgMjA1LCAzOSwgNCwgCi0gICAgMjE0LCA5OSwgMzksIDQsIDIxNiwgODIsIDM5LCA0LCAyMTcsIDkwLCAzOSwgNCwgMjQ3LCAyMTIsIDM5LCA0LCAyNDcsIAotICAgIDIxNywgMzksIDQsIDIzMiwgMTU2LCAzOSwgNCwgMjIzLCA1MSwgMzksIDQsIDI0NiwgMzMsIDM5LCA0LCAyMjksIDE5NSwgCi0gICAgMzksIDQsIDIxOSwgMjcsIDM5LCA0LCAyMjAsIDE1MCwgMzksIDQsIDIxMiwgOCwgMzksIDQsIDIxMiwgNTUsIDM5LCA0LCAKLSAgICAyNDksIDUzLCAzOSwgNCwgMjM1LCA1NCwgMzksIDQsIDIyOCwgMjQyLCAzOSwgNCwgMjEyLCAyMDMsIDM5LCA0LCAyMzMsIAotICAgIDIzOCwgMzksIDQsIDIyOSwgMTI1LCAzOSwgNCwgMjQyLCA5MiwgMzksIDQsIDIzMCwgMTcyLCAzOSwgNCwgMjI4LCA5MiwgCi0gICAgMzksIDQsIDIyNywgMjQ3LCAzOSwgNCwgNzUsIDM5LCA0LCAyMjcsIDYyLCAzOSwgNCwgMjI5LCA4NiwgMzksIDQsIDI0MSwgCi0gICAgNTQsIDM5LCA0LCAyNDEsIDQyLCAzOSwgNCwgMjEzLCAyMTQsIDM5LCA0LCAyMTMsIDIwMywgMzksIDQsIDIyNSwgMTUwLCAKLSAgICAzOSwgNCwgMjUxLCAxODgsIDM5LCA0LCAyNTEsIDEyOCwgMzksIDQsIDIzMSwgMTY4LCAzOSwgNCwgMjMzLCAyNTIsIDM5LCAKLSAgICA0LCAyMzEsIDY4LCAzOSwgNCwgMjQzLCA0NSwgMzksIDQsIDI0MywgNDQsIDM5LCA0LCAyNDQsIDEyLCAzOSwgNCwgMjE0LCAKLSAgICAxMTksIDM5LCA0LCAxMDgsIDM5LCA0LCAyMTcsIDEwOSwgMzksIDQsIDI0NywgMjE1LCAzOSwgNCwgMjQ3LCAyMTksIDM5LCAKLSAgICA0LCAyMzIsIDIwOCwgMzksIDQsIDIyMywgMTEyLCAzOSwgNCwgMjQ3LCA5OSwgMzksIDQsIDIyOSwgMjA0LCAzOSwgNCwgCi0gICAgMjE5LCAyNDIsIDM5LCA0LCAyMjAsIDE4NywgMzksIDQsIDIxMiwgMTYsIDM5LCA0LCAyMTIsIDYwLCAzOSwgNCwgMjQ5LCAKLSAgICAxNzUsIDM5LCA0LCAyMzUsIDcxLCAzOSwgNCwgMjI4LCAyNDcsIDM5LCA0LCAyMTIsIDIzNSwgMzksIDQsIDIzNCwgMzcsIAotICAgIDM5LCA0LCAyMjksIDEyNywgMzksIDQsIDI0MiwgMTUwLCAzOSwgNCwgMjMwLCAyMzEsIDM5LCA0LCAyMjgsIDE4NSwgMzksIAotICAgIDQsIDIyNywgMjUzLCAzOSwgNCwgNzQsIDM5LCA0LCAyNDUsIDEwOCwgMzksIDQsIDIyOSwgMTQ2LCAzOSwgNCwgMjQxLCAKLSAgICAyMjIsIDM5LCA0LCAyNDEsIDE5MywgMzksIDQsIDIxNCwgNiwgMzksIDQsIDIxMywgMjUzLCAzOSwgNCwgMjI2LCA5NiwgMzksIAotICAgIDQsIDI1MSwgMTkyLCAzOSwgNCwgMjUxLCAyNTEsIDM5LCA0LCAyMzEsIDE4MCwgMzksIDQsIDIzNCwgMSwgMzksIDQsIDIzMywgCi0gICAgMjU1LCAzOSwgNCwgMjMxLCA3NCwgMzksIDQsIDI0MywgNTIsIDM5LCA0LCAyNDMsIDUwLCAzOSwgNCwgMjQ0LCAxMjMsIDM5LCAKLSAgICA0LCAyMTQsIDIzMiwgMzksIDQsIDIxNywgMjI5LCAzOSwgNCwgMjE3LCAxNDgsIDM5LCA0LCAyNDcsIDIyNSwgMzksIDQsIAotICAgIDI0NywgMjIyLCAzOSwgNCwgMjMzLCA4MiwgMzksIDQsIDIyNCwgMjEsIDM5LCA0LCAyNDgsIDQxLCAzOSwgNCwgMjI5LCAKLSAgICAyMjAsIDM5LCA0LCAyMjIsIDEwMCwgMzksIDQsIDIyMCwgMjQzLCAzOSwgNCwgMjEyLCA4NywgMzksIDQsIDIxMiwgNjcsIAotICAgIDM5LCA0LCAyNTAsIDEyNCwgMzksIDQsIDIzNSwgMTI3LCAzOSwgNCwgMjI5LCA5LCAzOSwgNCwgMjEzLCAzOCwgMzksIDQsIAotICAgIDIzNCwgMTg4LCAzOSwgNCwgMjI5LCAxMzcsIDM5LCA0LCAyMjksIDEzMywgMzksIDQsIDI0MywgMzgsIDM5LCA0LCAyNDMsIAotICAgIDI3LCAzOSwgNCwgMjMxLCAxNTYsIDM5LCA0LCAyMjksIDE4NywgMzksIDQsIDIyOCwgMTcsIDM5LCA0LCAyMjksIDE2MSwgCi0gICAgMzksIDQsIDIzMywgNDYsIDM5LCAyNDksIDE1NywgMzksIDI0MywgMjAwLCAyMTksIDY5LCAzOSwgMjI0LCAxNTgsIDc3LCAKLSAgICAzOSwgNCwgMjI5LCAyMDMsIDI0NCwgMTY0LCAzOSwgNCwgMjI5LCAyMDMsIDE4MSwgMzksIDQsIDIyOSwgMjAzLCAyMTksIAotICAgIDIyNiwgMzksIDE2LCAyNDQsIDExMywgMzksIDE2LCAyMzQsIDE4NiwgMzksIDE2LCAyMTcsIDM0LCAzOSwgMTYsIDIyOSwgCi0gICAgMzksIDM5LCAxNiwgMjUyLCA2NiwgMzksIDE2LCAyNDQsIDE2MywgMzksIDE2LCAyMTgsIDQ5LCAzOSwgMTYsIDI0OCwgMTIxLCAKLSAgICAzOSwgMTYsIDI0NywgNzgsIDM5LCAxNiwgMjMzLCAyMjcsIDM5LCAxNiwgMjE2LCAyMzQsIDM5LCAxNiwgMjQ3LCA5OCwgMzksIAotICAgIDE2LCAyMzUsIDYzLCAzOSwgMjEsIDIxMiwgNzksIDM5LCAyMSwgMTE2LCAzOSwgMjEsIDEwOSwgMzksIDIxLCAxNjYsIDM5LCAKLSAgICAyMSwgMTYzLCAzOSwgMjEsIDE4MCwgMzksIDIxLCAxODksIDM5LCAyMSwgMTk4LCAzOSwgMjEsIDE5NSwgMzksIDIxLCAyMDAsIAotICAgIDM5LCA0LCAyMjksIDIwMywgMTg4LCAzOSwgNCwgMjI5LCAyMDMsIDI0NywgOTksIDMzLCA2LCAxLCAyMTIsIDgzLCAzMywgMywgCi0gICAgMSwgMjEyLCA4MywgMzMsIDYsIDEsIDI0NSwgMjQ1LCAzMywgMywgMSwgMjQ1LCAyNDUsIDMzLCA2LCAxLCAyMjMsIDIwMiwgCi0gICAgMjQ1LCAyNDcsIDMzLCAzLCAxLCAyMjMsIDIwMiwgMjQ1LCAyNDcsIDMzLCA2LCAxLCAyMzUsIDE4MywgMzMsIDMsIDEsIAotICAgIDIzNSwgMTgzLCAzMywgNiwgMSwgMjQ3LCAxMTMsIDMzLCAzLCAxLCAyNDcsIDExMywgMzMsIDYsIDEsIDIzMCwgMjEwLCAKLSAgICAyMTUsIDE3NSwgMzMsIDMsIDEsIDIzMCwgMjEwLCAyMTUsIDE3NSwgMzMsIDYsIDEsIDI1MSwgNjQsIDIyNywgNjcsIDMzLCAKLSAgICAzLCAxLCAyNTEsIDY0LCAyMjcsIDY3LCAzMywgNiwgMSwgMjI5LCAxNjksIDIxMywgMjIsIDMzLCAzLCAxLCAyMjksIDE2OSwgCi0gICAgMjEzLCAyMiwgMzMsIDYsIDEsIDIxMywgMTksIDIsIDI1MiwgMTAyLCAyMTMsIDIyLCAzMywgMywgMSwgMjEzLCAxOSwgMiwgCi0gICAgMjUyLCAxMDIsIDIxMywgMjIsIDMzLCA2LCAxLCAyMzUsIDE4MSwgMjEzLCA0OSwgMzMsIDMsIDEsIDIzNSwgMTgxLCAyMTMsIAotICAgIDQ5LCAzMywgNiwgMSwgMjIzLCAyMDIsIDIxMiwgMjAzLCAzMywgMywgMSwgMjIzLCAyMDIsIDIxMiwgMjAzLCAzMywgNiwgMSwgCi0gICAgMjM1LCAxODEsIDYxLCAzMywgMywgMSwgMjM1LCAxODEsIDYxLCAzMywgNiwgMSwgMjQ5LCAxOTMsIDIzMiwgMjIxLCAyMTIsIAotICAgIDE3NCwgMzMsIDMsIDEsIDI0OSwgMTkzLCAyMzIsIDIyMSwgMjEyLCAxNzQsIDMzLCA2LCAxLCAyNTEsIDEzNywgMjEyLCAKLSAgICAxNzQsIDMzLCAzLCAxLCAyNTEsIDEzNywgMjEyLCAxNzQsIDMzLCA2LCAxLCAyMzUsIDE4MSwgMjQ5LCAxOTMsIDIzMiwgCi0gICAgMjIxLCAyMTIsIDE3NCwgMzMsIDMsIDEsIDIzNSwgMTgxLCAyNDksIDE5MywgMjMyLCAyMjEsIDIxMiwgMTc0LCAzMywgNiwgCi0gICAgMSwgMjEyLCAyMzcsIDMzLCAzLCAxLCAyMTIsIDIzNywgMzMsIDYsIDEsIDIyMywgMjAyLCAyMTYsIDEzNiwgMzMsIDMsIDEsIAotICAgIDIyMywgMjAyLCAyMTYsIDEzNiwgMzMsIDYsIDEsIDIxOSwgMjM2LCAyNDgsIDQxLCAzMywgMywgMSwgMjE5LCAyMzYsIDI0OCwgCi0gICAgNDEsIDMzLCA2LCAxLCAyMTksIDIzNiwgMjQ1LCAxMzEsIDMzLCAzLCAxLCAyMTksIDIzNiwgMjQ1LCAxMzEsIDMzLCA2LCAxLCAKLSAgICAyMTksIDIzNiwgMjQ1LCAxMTcsIDMzLCAzLCAxLCAyMTksIDIzNiwgMjQ1LCAxMTcsIDMzLCA2LCAxLCAyMzAsIDIxNCwgNzUsIAotICAgIDMzLCAzLCAxLCAyMzAsIDIxNCwgNzUsIDMzLCA2LCAxLCAyNTEsIDE2MywgNzUsIDMzLCAzLCAxLCAyNTEsIDE2MywgNzUsIAotICAgIDMzLCA2LCAxLCA1MSwgMjMwLCAyMTQsIDc1LCAzMywgMywgMSwgNTEsIDIzMCwgMjE0LCA3NSwgMzMsIDEsIDIzMCwgMTU2LCAKLSAgICA3NSwgMzcsIDMzLCAyMTQsIDg0LCAzNywgMzMsIDIxNywgMjAxLCAyMzEsIDQsIDUyLCAzNywgMzMsIDI0MCwgMjAxLCAyMzEsIAotICAgIDQsIDUyLCAzNywgMzMsIDIxNywgMTAxLCAyMzEsIDQsIDUyLCAyMjAsIDIxLCAyNTMsIDEzMiwgMzcsIDMzLCAyMzQsIDE5OCwgCi0gICAgMzcsIDMzLCAyMjYsIDEwMSwgMzMsIDIzNCwgMTk4LCAzMywgMjI2LCAxMDEsIDMzLCA2LCAxLCAyNDYsIDEsIDMzLCAzLCAxLCAKLSAgICAyNDYsIDEsIDMzLCA2LCAxLCAyNDUsIDIzOCwgMzMsIDMsIDEsIDI0NSwgMjM4LCAzMywgNiwgMSwgMjEyLCA0NSwgMzMsIDMsIAotICAgIDEsIDIxMiwgNDUsIDMzLCA2LCAxLCAyNTAsIDE0MCwgMzMsIDMsIDEsIDI1MCwgMTQwLCAzMywgNiwgMSwgMjQ1LCAyMzcsIAotICAgIDMzLCAzLCAxLCAyNDUsIDIzNywgMzMsIDYsIDEsIDIxNywgMjMwLCAyLCAyMzEsIDM3LCAxMDEsIDMzLCAzLCAxLCAyMTcsIAotICAgIDIzMCwgMiwgMjMxLCAzNywgMTAxLCAzMywgNiwgMSwgMjE2LCA0MywgMzMsIDMsIDEsIDIxNiwgNDMsIDMzLCA2LCAxLCAKLSAgICAyMTYsIDExOSwgMzMsIDMsIDEsIDIxNiwgMTE5LCAzMywgNiwgMSwgMjE2LCAxMjMsIDMzLCAzLCAxLCAyMTYsIDEyMywgMzMsIAotICAgIDYsIDEsIDIxNywgMjM1LCAzMywgMywgMSwgMjE3LCAyMzUsIDMzLCA2LCAxLCAyNDAsIDE5MCwgMzMsIDMsIDEsIDI0MCwgCi0gICAgMTkwLCAzMywgNiwgMSwgMjIwLCAxMzIsIDMzLCAzLCAxLCAyMjAsIDEzMiwgMjAsIDEsIDYxLCAyMCwgMSwgMTgxLCAyMCwgCi0gICAgMSwgNjksIDIwLCAxLCAyMzMsIDIzOCwgMjAsIDEsIDI0NSwgMTY1LCAyMCwgMSwgMjI0LCAxLCAyMCwgMSwgMjE4LCAzNSwgCi0gICAgMjAsIDEsIDc1LCAyMCwgMSwgMjI4LCAxMCwgMjAsIDEsIDcyLCAyMCwgMSwgMjMzLCAxNTcsIDIwLCAxLCAxOTMsIDIwLCAxLCAKLSAgICAyMjMsIDEzNiwgMjAsIDEsIDIyMywgMTgyLCAyMCwgMSwgMjMzLCA3MywgMjAsIDEsIDIzMSwgMTQ0LCAyMCwgMSwgMjE4LCAKLSAgICA0OSwgMjAsIDEsIDIyOSwgMjI2LCAyMCwgMSwgMjI5LCAxNCwgMjAsIDEsIDE4MywgMjAsIDEsIDIxOCwgMjA1LCAyMCwgMSwgCi0gICAgMjMwLCAxNzIsIDIwLCAxLCAyMjAsIDIwNywgMjAsIDEsIDIyMCwgMTE3LCAyMCwgMSwgMjIwLCAyMTcsIDIwLCAxLCAyMjEsIAotICAgIDQ0LCAyMCwgMSwgMjMzLCAxNzcsIDIwLCAxLCAyMzQsIDE2MiwgMjAsIDEsIDIyOCwgNjQsIDIwLCAxLCAyMjgsIDkyLCAyMCwgCi0gICAgMSwgMjI4LCAyNDEsIDIwLCAxLCAyMTIsIDIxNywgMjAsIDEsIDIyMCwgMTUwLCAyMCwgMSwgMjEyLCAxNzgsIDIwLCAxLCAKLSAgICAxODYsIDIwLCAxLCAyMjgsIDEyMCwgMjAsIDEsIDIzNCwgMTQ4LCAyMCwgMSwgMjI2LCAyNywgMjAsIDEsIDIyOSwgNywgMjAsIAotICAgIDEsIDIyOCwgMTAxLCAyMCwgMSwgMjI1LCAzMCwgMjAsIDEsIDIxMywgMTgwLCAyMCwgMSwgMjI2LCA4NiwgMjAsIDEsIDI0NCwgCi0gICAgMTE2LCAyMCwgMSwgMjIzLCA1MSwgMjAsIDEsIDIzMiwgMTU2LCAyMCwgMSwgMjMxLCA0MiwgMjAsIDEsIDIyOSwgNjQsIDIwLCAKLSAgICAxLCAyMjMsIDIwNCwgMjAsIDEsIDIyNCwgNjEsIDIwLCAxLCAyMzQsIDE3MSwgMjAsIDEsIDIyOSwgOTMsIDIwLCAxLCAyMjksIAotICAgIDE0MSwgMjAsIDEsIDIyOSwgMTU5LCAyMCwgMSwgMjIwLCAxODcsIDIwLCAxLCAyMjUsIDMzLCAyMCwgMSwgMjQzLCAyMDUsIAotICAgIDIwLCAxLCAyNDQsIDYsIDIwLCAxLCAyMTQsIDQ5LCAyMCwgMSwgMjA1LCAyMCwgMSwgMjMzLCAxMywgMjAsIDEsIDIyNSwgCi0gICAgMjQwLCAyMCwgMSwgMjMyLCAxNzQsIDIwLCAxLCAyMzQsIDM3LCAyMCwgMSwgMjMxLCAxNzcsIDIwLCAxLCAyMjMsIDIzMywgCi0gICAgMjAsIDEsIDIzMSwgMTIyLCAyMCwgMSwgMTg4LCAyMCwgMSwgMjE3LCA3MSwgMjAsIDEsIDIzNCwgMTAxLCAyMCwgMSwgMjMwLCAKLSAgICAyMzEsIDIwLCAxLCAyMzEsIDE4NSwgMjAsIDEsIDIxNywgMTgzLCAyMCwgMSwgMjM0LCA0LCAyMCwgMSwgMjE3LCAyMDAsIAotICAgIDIwLCAxLCAyMjgsIDkzLCAyMCwgMSwgMjIyLCAxNjYsIDIwLCAxLCAyNDQsIDE2MCwgMjAsIDEsIDIzNCwgNiwgMjAsIDEsIAotICAgIDIzNCwgMzMsIDIwLCAzNywgMTUyLCAyMzQsIDE0LCAyMCwgMzcsIDE1MiwgMjE2LCA3NCwgMjAsIDIyOSwgMTMsIDIwLCAKLSAgICAyNDMsIDIwMCwgMjE5LCA2OSwgMjAsIDI0OSwgMTY0LCAyMCwgMjQ5LCAxNTcsIDIwLCAyMjEsIDcwLCAyMCwgMjI0LCAxNTgsIAotICAgIDc3LCA1OSwgMSwgMjUwLCAzMywgMTYwLCAyMTIsIDI0NSwgMjI1LCAxOTMsIDU5LCAxLCAyNTAsIDMzLCAxNjAsIDIxMywgCi0gICAgNTksIDIyNSwgMTkzLCA1OSwgMSwgMjUwLCAzMywgMTYwLCAyMTIsIDI0NSwgMjIxLCA3LCA1OSwgMSwgMjUwLCAzMywgMTYwLCAKLSAgICAyMTMsIDU5LCAyMjEsIDcsIDU5LCAxLCAyNTAsIDMzLCAxNjAsIDIxMiwgMjQ1LCAyMjQsIDE3NSwgNTksIDEsIDI1MCwgMzMsIAotICAgIDE2MCwgMjEzLCA1OSwgMjI0LCAxNzUsIDU5LCAxLCAyNTAsIDMzLCAxNjAsIDIxMiwgMjQ1LCAyMjMsIDUxLCA1OSwgMSwgCi0gICAgMjUwLCAzMywgMTYwLCAyMTMsIDU5LCAyMjMsIDUxLCA1OSwgMSwgMjQ0LCAyNDQsIDI0NiwgNzIsIDE2MCwgMTM0LCA1OSwgCi0gICAgMSwgMTI0LCAyNDYsIDcyLCAxNjAsIDEzNCwgNTksIDEsIDIzMSwgMzgsIDI0NiwgNzIsIDE2MCwgMTM0LCA1OSwgMSwgMTE1LCAKLSAgICAyNDYsIDcyLCAxNjAsIDEzNCwgNTksIDEsIDI0NCwgMjQzLCAyNDYsIDcyLCAxNjAsIDEzNCwgNTksIDEsIDI0NCwgMjQ0LCAKLSAgICAyNDYsIDcyLCAyMzMsIDYzLCAxNjAsIDEzNCwgNTksIDEsIDEyNCwgMjQ2LCA3MiwgMjMzLCA2MywgMTYwLCAxMzQsIDU5LCAKLSAgICAxLCAyMzEsIDM4LCAyNDYsIDcyLCAyMzMsIDYzLCAxNjAsIDEzNCwgNTksIDEsIDExNSwgMjQ2LCA3MiwgMjMzLCA2MywgCi0gICAgMTYwLCAxMzQsIDU5LCAxLCAyNDQsIDI0MywgMjQ2LCA3MiwgMjMzLCA2MywgMTYwLCAxMzQsIDU5LCAxLCAyNDQsIDI0NCwgCi0gICAgMjMzLCA2MywgMTYwLCAxMzQsIDU5LCAxLCAxMjQsIDIzMywgNjMsIDE2MCwgMTM0LCA1OSwgMSwgMjMxLCAzOCwgMjMzLCAKLSAgICA2MywgMTYwLCAxMzQsIDU5LCAxLCAxMTUsIDIzMywgNjMsIDE2MCwgMTM0LCA1OSwgMSwgMjQ0LCAyNDMsIDIzMywgNjMsIAotICAgIDE2MCwgMTM0LCA1OSwgMSwgNjIsIDcxLCAxMzQsIDU5LCAxLCA2MiwgMjIwLCAyMywgNTksIDEsIDYyLCAxOTksIDEzNCwgCi0gICAgNTksIDEsIDIzMiwgMTYzLCA0NiwgMjQ5LCAxMDAsIDI1NCwgMTgsIDU5LCAxLCAyMjQsIDQ4LCAxMTQsIDY4LCA1OSwgMSwgCi0gICAgMjI0LCA0OCwgMTE5LCA2OCwgNTksIDEsIDIyNCwgNDgsIDI0NCwgMjU0LCA3NywgNTksIDEsIDIyNCwgNDgsIDIzNSwgMTkxLCAKLSAgICAyNDQsIDI1NCwgNzcsIDU5LCAxLCAxMTUsIDIzNSwgMTkxLCAyNDQsIDI1NCwgNzcsIDU5LCAxLCAyMTksIDUxLCAyNCwgCi0gICAgMTI0LCAyMTYsIDI0MSwgNTksIDEsIDIxOSwgNTEsIDI0LCAxMTUsIDIxNiwgMjQxLCA3LCA2LCAxLCAyNDUsIDE1NiwgMjU0LCAKLSAgICA3OCwgNywgMywgMSwgMjQ1LCAxNTYsIDI1NCwgNzgsIDcsIDYsIDEsIDI0NSwgMTU2LCAyNTQsIDEwMywgNywgMywgMSwgCi0gICAgMjQ1LCAxNTYsIDI1NCwgMTAzLCA3LCA2LCAxLCAyNDEsIDE5MSwgNywgMywgMSwgMjQxLCAxOTEsIDcsIDYsIDEsIDIxNiwgCi0gICAgNiwgNywgMywgMSwgMjE2LCA2LCA3LCA2LCAxLCAyMTYsIDE4NywgNywgMywgMSwgMjE2LCAxODcsIDcsIDYsIDEsIDI0OSwgCi0gICAgNTEsIDcsIDMsIDEsIDI0OSwgNTEsIDcsIDYsIDEsIDI0OSwgNTIsIDIsIDI0OSwgMTU3LCA3LCAzLCAxLCAyNDksIDUyLCAyLCAKLSAgICAyNDksIDE1NywgNywgMSwgMywgNiwgMjQ0LCAyMzAsIDcsIDEsIDMsIDYsIDE5NywgNywgNiwgMSwgMjU0LCAyMzIsIDcsIDMsIAotICAgIDEsIDI1NCwgMjMyLCA3LCA2LCAxLCAyNTMsIDI0MCwgNywgMywgMSwgMjUzLCAyNDAsIDcsIDYsIDEsIDI1MywgMTA4LCA3LCAKLSAgICAzLCAxLCAyNTMsIDEwOCwgNywgNiwgMSwgMjUzLCA5MiwgNywgMywgMSwgMjUzLCA5MiwgNywgNiwgMSwgMjUzLCA5MywgMiwgCi0gICAgMTk5LCAxMzQsIDcsIDMsIDEsIDI1MywgOTMsIDIsIDE5OSwgMTM0LCA3LCA2LCAxLCAyNTMsIDgzLCA3LCAzLCAxLCAyNTMsIAotICAgIDgzLCA3LCA2LCAxLCAyMjMsIDIwMiwgMjUwLCAyNTMsIDIsIDI0NywgNzQsIDcsIDMsIDEsIDIyMywgMjAyLCAyNTAsIDI1MywgCi0gICAgMiwgMjQ3LCA3NCwgNywgNiwgMSwgMjM1LCAyOCwgMiwgOTAsIDcsIDMsIDEsIDIzNSwgMjgsIDIsIDkwLCA3LCA2LCAxLCAKLSAgICAyMzUsIDI4LCAyLCAyNDcsIDIwNywgOTAsIDcsIDMsIDEsIDIzNSwgMjgsIDIsIDI0NywgMjA3LCA5MCwgNywgNiwgMSwgCi0gICAgMjM1LCAyOCwgMiwgMjE5LCA0NSwgMjQsIDI0NywgMjA3LCA5MCwgNywgMywgMSwgMjM1LCAyOCwgMiwgMjE5LCA0NSwgMjQsIAotICAgIDI0NywgMjA3LCA5MCwgNywgNiwgMSwgMjUxLCA2MywgMTUwLCA3LCAzLCAxLCAyNTEsIDYzLCAxNTAsIDcsIDYsIDEsIDIzMywgCi0gICAgMTcxLCAyLCAxMjQsIDkwLCA3LCAzLCAxLCAyMzMsIDE3MSwgMiwgMTI0LCA5MCwgNywgNiwgMSwgMTU3LCAyLCAxODQsIAotICAgIDIxOSwgNDUsIDIyNiwgMjQ0LCA3LCAzLCAxLCAxNTcsIDIsIDE4NCwgMjE5LCA0NSwgMjI2LCAyNDQsIDcsIDYsIDEsIDE1NywgCi0gICAgMiwgMjMyLCAxNzcsIDcsIDMsIDEsIDE1NywgMiwgMjMyLCAxNzcsIDcsIDYsIDEsIDIyNywgNDksIDcsIDMsIDEsIDIyNywgCi0gICAgNDksIDcsIDYsIDEsIDIyNiwgMjMwLCAyLCAyMTksIDQ1LCAyMTcsIDkzLCAyNDcsIDI0NiwgNywgMywgMSwgMjI2LCAyMzAsIAotICAgIDIsIDIxOSwgNDUsIDIxNywgOTMsIDI0NywgMjQ2LCA3LCA2LCAxLCAyMjYsIDIzMCwgMiwgMjQ0LCAyMiwgNywgMywgMSwgCi0gICAgMjI2LCAyMzAsIDIsIDI0NCwgMjIsIDcsIDYsIDEsIDIyNiwgMjMwLCAyLCAyMTksIDE2MSwgMjE4LCAyNywgNywgMywgMSwgCi0gICAgMjI2LCAyMzAsIDIsIDIxOSwgMTYxLCAyMTgsIDI3LCA3LCA2LCAxLCAyMjQsIDI0MSwgMiwgMjE5LCA0NSwgMjE3LCA5MywgCi0gICAgMjQ3LCAyNDYsIDcsIDMsIDEsIDIyNCwgMjQxLCAyLCAyMTksIDQ1LCAyMTcsIDkzLCAyNDcsIDI0NiwgNywgNiwgMSwgMjI0LCAKLSAgICAyNDEsIDIsIDI0NywgMjA3LCA5MCwgNywgMywgMSwgMjI0LCAyNDEsIDIsIDI0NywgMjA3LCA5MCwgNywgNiwgMSwgMjI0LCAKLSAgICAxMTMsIDIyMywgODgsIDcsIDMsIDEsIDIyNCwgMTEzLCAyMjMsIDg4LCA3LCA2LCAxLCAyMjMsIDQxLCAyMjMsIDg4LCA3LCAKLSAgICAzLCAxLCAyMjMsIDQxLCAyMjMsIDg4LCA3LCA2LCAxLCAyMTUsIDgwLCAyLCAyNDcsIDIwNywgOTAsIDcsIDMsIDEsIDIxNSwgCi0gICAgODAsIDIsIDI0NywgMjA3LCA5MCwgNywgNiwgMSwgMjE0LCA5MCwgNywgMywgMSwgMjE0LCA5MCwgNywgNiwgMSwgMjE0LCAKLSAgICAxMjYsIDIxMiwgMTUyLCA3LCAzLCAxLCAyMTQsIDEyNiwgMjEyLCAxNTIsIDcsIDYsIDEsIDIxNywgMTA1LCAyLCA5MCwgNywgCi0gICAgMywgMSwgMjE3LCAxMDUsIDIsIDkwLCA3LCA2LCAxLCAyMTcsIDEwNSwgMiwgMjE5LCA0NSwgMjE3LCA5MywgMjQ3LCAyNDYsIAotICAgIDcsIDMsIDEsIDIxNywgMTA1LCAyLCAyMTksIDQ1LCAyMTcsIDkzLCAyNDcsIDI0NiwgNywgNiwgMSwgMjE0LCAyMjIsIDcsIAotICAgIDMsIDEsIDIxNCwgMjIyLCA3LCA2LCAxLCAyNDUsIDMwLCA3LCAzLCAxLCAyNDUsIDMwLCA3LCA2LCAxLCAyMzUsIDE2OSwgNywgCi0gICAgMywgMSwgMjM1LCAxNjksIDcsIDYsIDEsIDI0OSwgMTQ2LCA3LCAzLCAxLCAyNDksIDE0NiwgNTksIDEsIDIxNSwgMTA0LCA3LCAKLSAgICAzLCAxLCAyNDYsIDI0LCA3LCAzLCAxLCAyMzIsIDE0MiwgNywgMywgMSwgMjMwLCAxNTAsIDcsIDMsIDEsIDIyOCwgNTcsIDcsIAotICAgIDMsIDEsIDIyMywgNDAsIDcsIDEsIDMsIDYsIDIyMywgNDAsIDcsIDMsIDEsIDIxNiwgNzIsIDcsIDMsIDEsIDIxNSwgMTY3LCAKLSAgICA3LCA2LCAxLCAyMzUsIDIxMCwgMjQ5LCAzLCA3LCAzLCAxLCAyMzUsIDIxMCwgMjQ5LCAzLCA3LCA2LCAxLCAyMzUsIDIxMCwgCi0gICAgMjQ0LCAyMzAsIDcsIDMsIDEsIDIzNSwgMjEwLCAyNDQsIDIzMCwgNywgNiwgMSwgMjM1LCAyMTAsIDI0MywgMTc3LCA3LCA2LCAKLSAgICAxLCAyMTYsIDU4LCAyMzUsIDIxMCwgMjQzLCAxNzcsIDcsIDMsIDEsIDIxNiwgNTgsIDIzNSwgMjEwLCAyNDMsIDE3NywgNywgCi0gICAgNiwgMSwgMjE2LCA1OCwgMTUwLCA3LCAzLCAxLCAyMTYsIDU4LCAxNTAsIDcsIDYsIDEsIDIzNSwgMjEwLCAxNDksIDcsIDMsIAotICAgIDEsIDIzNSwgMjEwLCAxNDksIDcsIDYsIDEsIDIzNSwgMjEwLCAxOTcsIDcsIDMsIDEsIDIzNSwgMjEwLCAxOTcsIDcsIDYsIAotICAgIDEsIDIzNSwgMjEwLCAyMTgsIDk5LCA3LCAzLCAxLCAyMzUsIDIxMCwgMjE4LCA5OSwgNTksIDEsIDExNSwgMjQ5LCAyMjQsIAotICAgIDI1NCwgMTc0LCA1OSwgMSwgMjQ5LCAxNjQsIDU5LCAxLCAyMjAsIDE3NSwgMjQ1LCA2MSwgNTIsIDcsIDYsIDEsIDIyMiwgCi0gICAgMTcwLCA3LCAzLCAxLCAyMjIsIDE3MCwgNywgNiwgMSwgMjE2LCA1OCwgMjQyLCA0MSwgNywgMywgMSwgMjMzLCAxNzEsIDIsIAotICAgIDIyMywgMjA3LCAyNDEsIDM4LCAyNCwgMjUxLCAyMTgsIDcsIDYsIDEsIDIzMCwgOTgsIDIsIDI0NywgMjQ2LCA3LCAzLCAxLCAKLSAgICAyMzAsIDk4LCAyLCAyNDcsIDI0NiwgNywgNiwgMSwgMjQzLCAxNzgsIDIsIDIyNywgMTEyLCA5MCwgNywgMywgMSwgMjQzLCAKLSAgICAxNzgsIDIsIDIyNywgMTEyLCA5MCwgNywgNiwgMSwgMjM1LCAyOCwgMiwgMjI3LCAxMTIsIDkwLCA3LCAzLCAxLCAyMzUsIAotICAgIDI4LCAyLCAyMjcsIDExMiwgOTAsIDcsIDYsIDEsIDIzMCwgOTgsIDIsIDIyNywgMTEyLCA5MCwgNywgMywgMSwgMjMwLCA5OCwgCi0gICAgMiwgMjI3LCAxMTIsIDkwLCA3LCA2LCAxLCAyMjQsIDExMywgMiwgMjI3LCAxMTIsIDkwLCA3LCAzLCAxLCAyMjQsIDExMywgCi0gICAgMiwgMjI3LCAxMTIsIDkwLCA3LCA2LCAxLCAyMjMsIDQsIDIsIDIyNywgMTEyLCA5MCwgNywgMywgMSwgMjIzLCA0LCAyLCAKLSAgICAyMjcsIDExMiwgOTAsIDcsIDEsIDMsIDYsIDIxNiwgNTgsIDE4MywgNywgMjQ1LCA2NiwgMSwgMjIzLCAyMDIsIDI0NCwgCi0gICAgMjMwLCA3LCAyNDUsIDY2LCAxLCAyMjMsIDIwMiwgMjI2LCAyMjksIDcsIDI0NSwgNjYsIDEsIDIzNSwgMTkxLCAxODMsIDcsIAotICAgIDI0NSwgNjYsIDEsIDI0MCwgMTQ2LCAyMzIsIDE4MiwgNywgMjQ1LCA2NiwgMSwgMjUzLCAxOTMsIDE4MywgMjE4LCAxNzUsIAotICAgIDIzMCwgMzIsIDEsIDYxLCAyMTgsIDE3NSwgMjMwLCAzMiwgMSwgNzIsIDIxOCwgMTc1LCAyMzAsIDMyLCA1LCAyNDYsIDMsIAotICAgIDIxOCwgMTc1LCAyMzAsIDMyLCAxLCA2OSwgMjE4LCAxNzUsIDIzMCwgMzIsIDEsIDc0LCAyMTgsIDE3NSwgMjMwLCAzMiwgMSwgCi0gICAgNzUsIDIxOCwgMTc1LCAyMzAsIDMyLCA1LCAyNDEsIDIzNiwgMjE4LCAxNzUsIDIzMCwgMzIsIDEsIDIzNCwgMzcsIDIxOCwgCi0gICAgMTc1LCAyMzAsIDMyLCAxLCAyMzQsIDExMywgMjE4LCAxNzUsIDIzMCwgMzIsIDEsIDI0MiwgMTUwLCAyMTgsIDE3NSwgMjMwLCAKLSAgICAzMiwgMSwgMjQyLCAyMDAsIDIxOCwgMTc1LCAyMzAsIDMyLCA1LCAyNTMsIDI0MiwgMjE4LCAxNzUsIDIzMCwgMzIsIDEsIAotICAgIDI0OSwgMTc1LCAyMTgsIDE3NSwgMjMwLCAzMiwgMSwgMjUwLCAyMywgMjE4LCAxNzUsIDIzMCwgMzIsIDEsIDIzNSwgNzEsIAotICAgIDIxOCwgMTc1LCAyMzAsIDMyLCAxLCAyMzUsIDExMSwgMjE4LCAxNzUsIDIzMCwgMzIsIDEsIDIxNiwgOTUsIDIxOCwgMTc1LCAKLSAgICAyMzAsIDMyLCAxLCAyMTYsIDEwMCwgMjE4LCAxNzUsIDIzMCwgMzIsIDEsIDI0OCwgNTYsIDIxOCwgMTc1LCAyMzAsIDMyLCAKLSAgICAxLCAyNDgsIDY1LCAyMTgsIDE3NSwgMjMwLCAzMiwgMSwgMTA4LCAyMTgsIDE3NSwgMjMwLCAzMiwgMSwgMjE3LCAxMDksIAotICAgIDIxOCwgMTc1LCAyMzAsIDMyLCAxLCAyNDcsIDk5LCAyMTgsIDE3NSwgMjMwLCAzMiwgMSwgMjQ3LCAyMTUsIDIxOCwgMTc1LCAKLSAgICAyMzAsIDMyLCAxLCAyMjgsIDE4NSwgMjE4LCAxNzUsIDIzMCwgMzIsIDEsIDIyNSwgMTUwLCAyMTgsIDE3NSwgMjMwLCAzMiwgCi0gICAgMSwgMjI1LCAyNTMsIDIxOCwgMTc1LCAyMzAsIDMyLCAxLCAyNTEsIDEyOCwgMjE4LCAxNzUsIDIzMCwgMzIsIDEsIDI1MSwgCi0gICAgMTg4LCAyMTgsIDE3NSwgMjMwLCAzMiwgMSwgMjMwLCAyMzEsIDIxOCwgMTc1LCAyMzAsIDMyLCAxLCAyMjMsIDExMiwgMjE4LCAKLSAgICAxNzUsIDIzMCwgMzIsIDEsIDIzMiwgMjA4LCAyMTgsIDE3NSwgMjMwLCAzMiwgMSwgMjIzLCA3MywgMjE4LCAxNzUsIDIzMCwgCi0gICAgMzIsIDEsIDIxOSwgMjQyLCAyMTgsIDE3NSwgMjMwLCAzMiwgMSwgMjQxLCA1NCwgMjE4LCAxNzUsIDIzMCwgMzIsIDMwLCA1LCAKLSAgICA2MSwgMjE4LCAxNzUsIDIzMCwgMzIsIDMwLCA1LCA3MiwgMjE4LCAxNzUsIDIzMCwgMzIsIDMwLCA1LCA2OSwgMjE4LCAxNzUsIAotICAgIDIzMCwgMzIsIDMwLCA1LCA3NCwgMjE4LCAxNzUsIDIzMCwgMzIsIDMwLCA1LCAyMjcsIDQ5LCAyMTgsIDE3NSwgMjMwLCAzMiwgCi0gICAgMjI1LCAxNDYsIDIzMSwgMjIxLCAyMTgsIDE3NSwgMjMwLCAzMiwgMjI1LCAxNDYsIDIzMSwgMjIwLCAyMTgsIDE3NSwgMjMwLCAKLSAgICAzMiwgMjI1LCAxNDYsIDIzMSwgMjE5LCAyMTgsIDE3NSwgMjMwLCAzMiwgMjI1LCAxNDYsIDIzMSwgMjE4LCAyMjgsIDE2NywgCi0gICAgMjM1LCAyMzcsIDI0MywgMjI4LCAxMjIsIDIyNCwgMTY2LCAyMjgsIDE2NywgMjM1LCAyMzcsIDI0MywgMjI4LCAxMjIsIAotICAgIDI0MiwgOSwgMjI4LCAxNjcsIDIzNSwgMjM3LCAyNDMsIDIyOCwgMTMzLCAyMjQsIDE2NCwgMjI4LCAxNjcsIDIzNSwgMjM3LCAKLSAgICAyNDMsIDIyOCwgMTIyLCAyMjAsIDQ1LCAyMjgsIDE2NywgMjM1LCAyMzcsIDI0MywgMjI4LCAxMjIsIDI0NSwgMTQ1LCAyMjgsIAotICAgIDE2NywgMjM1LCAyMzcsIDI0MywgMjI4LCAxMzMsIDIyMCwgNDQsIDIyOCwgMTY3LCAyMzUsIDIzNywgMjI0LCAxNjcsIDc3LCAKLSAgICAyMjgsIDE2NywgMjM1LCAyMzcsIDIyNSwgMTcyLCA3NywgMjI4LCAxNjcsIDIzNSwgMjM3LCAyMjMsIDI5LCA3NywgMjI4LCAKLSAgICAxNjcsIDIzNSwgMjM3LCAyMjQsIDE2OCwgNzcsIDIyNiwgMjAsIDEsIDE4MSwgMjI2LCAyMCwgMSwgMjM0LCAxMzgsIDIyNiwgCi0gICAgMjAsIDEsIDI0MywgMTEwLCAyMjYsIDIwLCAxLCAyMjksIDE1OSwgMjI2LCAyMCwgMSwgMjUwLCAyMTksIDIyNiwgMjAsIDEsIAotICAgIDI1MCwgOTIsIDIyNiwgMjAsIDEsIDIzNSwgMTM5LCAyMjYsIDIwLCAxLCAyMjgsIDIzLCAyMjYsIDIwLCAxLCAyMTgsIDUyLCAKLSAgICAyMjYsIDIwLCAxLCAyMTcsIDE2MSwgMjI2LCAyMCwgMSwgMjQ4LCAxNjQsIDIyNiwgMjAsIDEsIDIwNSwgMjI2LCAyMCwgMSwgCi0gICAgMTkzLCAyMjYsIDIwLCAxLCAyMjYsIDIzLCAyMjYsIDIwLCAxLCAyNTIsIDEwNywgMjI2LCAyMCwgMSwgMTg4LCAyMjYsIDIwLCAKLSAgICAxLCAyMTYsIDE0MSwgMjI2LCAyMCwgMSwgMjE2LCAxMzMsIDIyNiwgMjAsIDEsIDI0NSwgMjQ5LCAyMjYsIDIwLCAxLCAyMTQsIAotICAgIDQ5LCAyMjYsIDIwLCAxLCAyMTIsIDc1LCAyMjYsIDIwLCAxLCAyMTIsIDEwOSwgMjI2LCAyMCwgMSwgMywgNjEsIDIyNiwgCi0gICAgMjAsIDEsIDE4NiwgMjI2LCAyMCwgMSwgMjAzLCAyMjYsIDIwLCAxLCAyMzMsIDE1NywgMjI2LCAyMCwgMSwgMjIxLCAyNCwgCi0gICAgMjI2LCAyMCwgMSwgMjIyLCAyMDIsIDIyNiwgMjAsIDEsIDE1OSwgMjI2LCAyMCwgMSwgNjEsIDIyNiwgMjAsIDEsIDcyLCAKLSAgICAyMjYsIDIwLCAxLCA2OSwgMjI2LCAyMCwgMSwgNzQsIDIyNiwgMjAsIDEsIDc1LCAyMjYsIDIwLCAxLCAyMjQsIDIzMiwgCi0gICAgMjI2LCAyMCwgMSwgMjEzLCAxNTMsIDIyNiwgMjAsIDEsIDI0NCwgMTY0LCAyMjYsIDIwLCAxLCAyNDMsIDUsIDIyNiwgMjAsIAotICAgIDEsIDI0NSwgMTY1LCAyMjYsIDIwLCAyMTksIDE4LCAxLCAyMTQsIDQ5LCAyMjYsIDIwLCAyMTksIDE4LCAxLCAxODYsIDIyNiwgCi0gICAgMjAsIDEsIDIxNiwgMTE1LCAyMjYsIDIwLCAxLCAyMTYsIDEwNSwgMjI2LCAyMCwgMSwgMjQ4LCA4NiwgMjI2LCAyMCwgMSwgCi0gICAgMjI4LCAxOTgsIDIyNiwgMjAsIDEsIDI1NCwgNTAsIDE4NiwgMjI2LCAyMCwgMSwgMjE0LCAxMTUsIDIyMSwgMjQsIDIyNiwgCi0gICAgMjAsIDEsIDIxNCwgMTE2LCAxNTksIDIyNiwgMjAsIDEsIDI1MywgMTM4LCAyNDQsIDE2NCwgMjI2LCAyMCwgMjE5LCAxOCwgCi0gICAgMSwgMjAzLCAyMjYsIDIwLCAyMTgsIDIyNSwgMSwgMjAzLCAyMjYsIDIwLCAxLCAyNTAsIDE4NywgMjI2LCAyMCwgMjIwLCAKLSAgICA4MSwgMjQxLCAyMjAsIDc3LCAyMjYsIDIwLCA1MSwgMjQxLCAyMjAsIDc3LCAyMjYsIDIwLCAxNTIsIDIyMSwgMTcsIDIyNiwgCi0gICAgMjAsIDE1MiwgNTEsIDIyMSwgMTcsIDE2OSwgNSwgMjUzLCAyNDIsIDE2OSwgNSwgMjE0LCAxMjgsIDE2OSwgMSwgNjEsIAotICAgIDE2OSwgMSwgMjU0LCAyMzIsIDE2OSwgMSwgNzIsIDE2OSwgMSwgMjM2LCAyOCwgMTY5LCAxLCA2OSwgMTY5LCAxLCAyMTUsIAotICAgIDkyLCAxNjksIDEsIDE2MSwgMTQ5LCAxNjksIDEsIDE2MSwgMjIzLCA4MiwgMTY5LCAxLCAxNjEsIDE1MCwgMTY5LCAxLCAKLSAgICAxNjEsIDIzMiwgMjE0LCAxNjksIDEsIDc0LCAxNjksIDEsIDI0NSwgMTY1LCAxNjksIDEsIDI1NCwgMTA4LCAxNjksIDEsIAotICAgIDc1LCAxNjksIDEsIDIyNywgNDksIDE2OSwgMSwgMjUzLCAxMDgsIDE2OSwgMSwgMTgxLCAxNjksIDEsIDIzNCwgMTM4LCAKLSAgICAxNjksIDEsIDI0MywgMTEwLCAxNjksIDEsIDI0MiwgMjI1LCAxNjksIDEsIDIyOSwgMTU5LCAxNjksIDEsIDI1MCwgMjE5LCAKLSAgICAxNjksIDEsIDI1MCwgOTIsIDE2OSwgMSwgMjM1LCAxMzksIDE2OSwgMSwgMjM1LCAxMTUsIDE2OSwgMSwgMjI4LCAyMywgCi0gICAgMTY5LCAxLCAyMTYsIDExNSwgMTY5LCAxLCAyMTYsIDEwNSwgMTY5LCAxLCAyNDgsIDg2LCAxNjksIDEsIDI0OCwgNzAsIAotICAgIDE2OSwgMSwgMjI4LCAxOTgsIDE2OSwgMSwgMjE4LCA1MiwgMTY5LCAxLCAyMTcsIDE2MSwgMTY5LCAxLCAyNDgsIDE2NCwgCi0gICAgMTY5LCAxLCAyNDcsIDIzMiwgMTY5LCAxLCAyMDUsIDE2OSwgMSwgMTkzLCAxNjksIDEsIDIyNiwgMjMsIDE2OSwgMSwgMjUyLCAKLSAgICAxMDcsIDE2OSwgMSwgMjUxLCAxOTUsIDE2OSwgMSwgMTg4LCAxNjksIDEsIDE4NiwgMTY5LCAxLCAyMDMsIDE2OSwgMSwgCi0gICAgMjMzLCAxNTcsIDE2OSwgMSwgMjE1LCAxLCAxNjksIDEsIDIyMSwgMjQsIDE2OSwgMSwgMjE5LCAxNTcsIDE2OSwgMSwgMjIyLCAKLSAgICAyMDIsIDE2OSwgMSwgMTU5LCAxNjksIDEsIDIzMiwgMjEzLCAxNjksIDI0OSwgMTMzLCA1LCAyNDIsIDI1LCAxNjksIDMwLCAKLSAgICA1LCAyNTQsIDIzMiwgMTY5LCAzMCwgNSwgNzIsIDE2OSwgMzAsIDUsIDIzNiwgMjgsIDE2OSwgMzAsIDUsIDY5LCAxNjksIAotICAgIDMwLCA1LCAyMTUsIDkyLCAxNjksIDMwLCA1LCAxNjEsIDE0OSwgMTY5LCAzMCwgNSwgMTYxLCAyMjMsIDgyLCAxNjksIDMwLCAKLSAgICA1LCAxNjEsIDE1MCwgMTY5LCAzMCwgNSwgMTYxLCAyMzIsIDIxNCwgMTY5LCAzMCwgNSwgNzQsIDE2OSwgMzAsIDUsIDI0NSwgCi0gICAgMTY1LCAxNjksIDMwLCA1LCAyNTQsIDEwOCwgMTY5LCAzMCwgNSwgNzUsIDE2OSwgMzAsIDUsIDIyNywgNDksIDE2OSwgMzAsIAotICAgIDUsIDI1MywgMTA4LCAxNjksIDUsIDIxNCwgMTMzLCAxNjksIDI0OCwgMTIzLCAxNjksIDUxLCAyNDgsIDEyMywgMTY5LCAyMSwgCi0gICAgMjEyLCA3OSwgMTY5LCAyMSwgMTE2LCAxNjksIDIxLCAxMDksIDE2OSwgMjEsIDE2NiwgMTY5LCAyMSwgMTYzLCAxNjksIDIxLCAKLSAgICAxODAsIDE2OSwgMjEsIDE4OSwgMTY5LCAyMSwgMTk4LCAxNjksIDIxLCAxOTUsIDE2OSwgMjEsIDIwMCwgMzcsIDgyLCAyMSwgCi0gICAgMjEyLCA3OSwgMzcsIDgyLCAyMSwgMTE2LCAzNywgODIsIDIxLCAxMDksIDM3LCA4MiwgMjEsIDE2NiwgMzcsIDgyLCAyMSwgCi0gICAgMTYzLCAzNywgODIsIDIxLCAxODAsIDM3LCA4MiwgMjEsIDE4OSwgMzcsIDgyLCAyMSwgMTk4LCAzNywgODIsIDIxLCAxOTUsIAotICAgIDM3LCA4MiwgMjEsIDIwMCwgMzcsIDgyLCAxLCA2MSwgMzcsIDgyLCAxLCA2OSwgMzcsIDgyLCAxLCAxODEsIDM3LCA4MiwgMSwgCi0gICAgMjA1LCAzNywgODIsIDEsIDE5MywgMzcsIDgyLCAxLCAyMDMsIDM3LCA4MiwgMSwgMjE0LCAxNTQsIDM3LCA4MiwgNSwgMjUzLCAKLSAgICA5MSwgODIsIDUsIDIxOSwgMjA1LCAyNTAsIDE4NywgODIsIDUsIDI1MCwgMTg4LCAyMTQsIDEzMywgODIsIDUsIDUxLCAyNTAsIAotICAgIDE4OCwgMjE0LCAxMzMsIDgyLCA1LCAyNTAsIDE4OCwgMTA5LCA4MiwgNSwgMjUwLCAxODgsIDE2NiwgODIsIDUsIDI1MCwgCi0gICAgMTg4LCAyNTMsIDkxLCA4MiwgNSwgMjI1LCAxMSwgODIsIDI0MywgNzYsIDI0NCwgNzIsIDgyLCAyNTAsIDE3MCwgODIsIAotICAgIDI0MSwgMjE0LCAyMzQsIDE5NCwgMjMzLCAxNCwgMjEsIDIxMiwgNzksIDIzNCwgMTk0LCAyMzMsIDE0LCAyMSwgMTE2LCAKLSAgICAyMzQsIDE5NCwgMjMzLCAxNCwgMjEsIDEwOSwgMjM0LCAxOTQsIDIzMywgMTQsIDIxLCAxNjYsIDIzNCwgMTk0LCAyMzMsIAotICAgIDE0LCAyMSwgMTYzLCAyMzQsIDE5NCwgMjMzLCAxNCwgMjEsIDE4MCwgMjM0LCAxOTQsIDIzMywgMTQsIDIxLCAxODksIDIzNCwgCi0gICAgMTk0LCAyMzMsIDE0LCAyMSwgMTk4LCAyMzQsIDE5NCwgMjMzLCAxNCwgMjEsIDE5NSwgMjM0LCAxOTQsIDIzMywgMTQsIDIxLCAKLSAgICAyMDAsIDIzNCwgMTk0LCAyMzMsIDE0LCAxLCAxODEsIDIzNCwgMTk0LCAyMzMsIDE0LCAxLCAyMzQsIDEzOCwgMjM0LCAxOTQsIAotICAgIDIzMywgMTQsIDEsIDI0MywgMTEwLCAyMzQsIDE5NCwgMjMzLCAxNCwgMSwgMjI5LCAxNTksIDIzNCwgMTk0LCAyMzMsIDE0LCAKLSAgICAxLCAyMjIsIDIwMiwgMjM0LCAxOTQsIDIzMywgMTQsIDEsIDIyMSwgMjQsIDIzNCwgMTk0LCAyMzMsIDE0LCAxLCAyMTIsIAotICAgIDEwOSwgMjM0LCAxOTQsIDIzMywgMTQsIDEsIDIyOCwgMjMsIDIzNCwgMTk0LCAyMzMsIDE0LCAxLCAyMTgsIDUyLCAyMzQsIAotICAgIDE5NCwgMjMzLCAxNCwgMSwgMjQwLCAyMTQsIDIzNCwgMTk0LCAyMzMsIDE0LCAxLCAyMDUsIDIzNCwgMTk0LCAyMzMsIDE0LCAKLSAgICAxLCAxOTMsIDIzNCwgMTk0LCAyMzMsIDE0LCAxLCAyMjYsIDIzLCAyMzQsIDE5NCwgMjMzLCAxNCwgMSwgMTg4LCAyMzQsIAotICAgIDE5NCwgMjMzLCAxNCwgMSwgMjQ4LCAxNjQsIDIzNCwgMTk0LCAyMzMsIDE0LCAxLCAyNTIsIDEwNywgMjM0LCAxOTQsIDIzMywgCi0gICAgMTQsIDEsIDIwMywgMjM0LCAxOTQsIDIzMywgMTQsIDEsIDE4NiwgMjM0LCAxOTQsIDIzMywgMTQsIDEsIDIzMywgMTU3LCAKLSAgICAyMzQsIDE5NCwgMjMzLCAxNCwgMSwgMjE0LCA0OSwgMjM0LCAxOTQsIDIzMywgMTQsIDEsIDIxNywgMTYxLCAyMzQsIDE5NCwgCi0gICAgMjMzLCAxNCwgMSwgMTU5LCAyMzQsIDE5NCwgMjMzLCAxNCwgMSwgMjE1LCAxLCAyMzQsIDE5NCwgMjMzLCAxNCwgMSwgMjUwLCAKLSAgICAyMTksIDIzNCwgMTk0LCAyMzMsIDE0LCAxLCA2MSwgMjM0LCAxOTQsIDIzMywgMTQsIDEsIDIyNywgOTksIDIzNCwgMTk0LCAKLSAgICAyMzMsIDE0LCAxLCA3MiwgMjM0LCAxOTQsIDIzMywgMTQsIDEsIDIyNywgNDksIDIzNCwgMTk0LCAyMzMsIDE0LCAzMCwgCi0gICAgMjE1LCAxODMsIDIzNCwgMTk0LCAyMzMsIDE0LCAzMCwgNzQsIDIzNCwgMTk0LCAyMzMsIDE0LCAzMCwgNjksIDIzNCwgMTk0LCAKLSAgICAyMzMsIDE0LCAzMCwgMjQ1LCAxNjUsIDIzNCwgMTk0LCAyMzMsIDE0LCAzMCwgNzUsIDIzNCwgMTk0LCAyMzMsIDE0LCAxNjAsIAotICAgIDIyNSwgMTYzLCAyMzQsIDE5NCwgMjMzLCAxNCwgMTYwLCAyNTAsIDIwMCwgMjM0LCAxOTQsIDIzMywgMTQsIDE2MCwgMjUwLCAKLSAgICAyMDEsIDIyNSwgMTYzLCAyMzQsIDE5NCwgMjMzLCAxNCwgNSwgMjQ5LCAyMCwgMjM0LCAxOTQsIDIzMywgMTQsIDUsIDIyMCwgCi0gICAgMTI1LCAyMjMsIDI0MywgMSwgMTgxLCAyMjMsIDI0MywgMSwgMjQzLCAxMTAsIDIyMywgMjQzLCAxLCAyMjksIDE1OSwgMjIzLCAKLSAgICAyNDMsIDEsIDIxOCwgNTIsIDIyMywgMjQzLCAxLCAyNDgsIDE2NCwgMjIzLCAyNDMsIDEsIDIwNSwgMjIzLCAyNDMsIDEsIAotICAgIDE5MywgMjIzLCAyNDMsIDEsIDI1MiwgMTA3LCAyMjMsIDI0MywgMSwgMTg4LCAyMjMsIDI0MywgMSwgMjUwLCAyMTksIDIyMywgCi0gICAgMjQzLCAxLCAyMzUsIDEzOSwgMjIzLCAyNDMsIDEsIDIyOCwgMjMsIDIyMywgMjQzLCAxLCAyMjIsIDIwMiwgMjIzLCAyNDMsIAotICAgIDEsIDIwMywgMjIzLCAyNDMsIDEsIDIzMywgMTU3LCAyMjMsIDI0MywgMSwgMTg2LCAyMjMsIDI0MywgMSwgMjE0LCA0OSwgCi0gICAgMjIzLCAyNDMsIDEsIDE1OSwgMjIzLCAyNDMsIDEsIDIzMSwgMTg3LCAyMjMsIDI0MywgMSwgMjI5LCAxNDEsIDIyMywgMjQzLCAKLSAgICAxLCAyMjksIDIyOCwgMjIzLCAyNDMsIDEsIDIyNywgMjU0LCAyMjMsIDI0MywgMSwgNjEsIDIyMywgMjQzLCAzMCwgNSwgNzIsIAotICAgIDIyMywgMjQzLCAzMCwgNSwgNjksIDIyMywgMjQzLCAzMCwgNSwgNzQsIDIyMywgMjQzLCAzMCwgNSwgMjU0LCAxMDgsIDIyMywgCi0gICAgMjQzLCAzMCwgNSwgNzUsIDIyMywgMjQzLCAzMCwgNSwgMjUzLCAxMDgsIDIyMywgMjQzLCAzMCwgNSwgMjQ1LCAyMiwgMjIzLCAKLSAgICAyNDMsIDMwLCA1LCAyNDUsIDE4OSwgMjIzLCAyNDMsIDI0OSwgMTMzLCA1LCAyMjksIDE2MSwgMjIzLCAyNDMsIDI0OSwgCi0gICAgMTMzLCA1LCAyMDQsIDIyMywgMjQzLCAyNDksIDEzMywgNSwgMTQ5LCAyMjMsIDI0MywgMjQ5LCAxMzMsIDUsIDI0MiwgNDEsIAotICAgIDIyMywgMjQzLCAyMTQsIDEzMywgMjIzLCAyNDMsIDIyMiwgOTIsIDc3LCAyMywgOTcsIDIxNywgNTEsIDIzLCA5NywgMjE3LCAKLSAgICA1MCwgMjMsIDk3LCAyMTcsIDQ4LCAyMywgOTcsIDIxNywgNTMsIDIzLCA5NywgMjIzLCAxNzQsIDIzLCA5NywgMjIzLCAxNTgsIAotICAgIDIzLCA5NywgMjIzLCAxNTMsIDIzLCA5NywgMjIzLCAxNTUsIDIzLCA5NywgMjIzLCAxNzEsIDIzLCA5NywgMjIzLCAxNjQsIAotICAgIDIzLCA5NywgMjIzLCAxNTcsIDIzLCA5NywgMjIzLCAxNzYsIDIzLCA5NywgMjIzLCAxNTksIDIzLCA5NywgMjIzLCAxNzgsIAotICAgIDIzLCA5NywgMjIzLCAxNzUsIDIzLCA5NywgMjMxLCAyNiwgMjMsIDk3LCAyMzEsIDE3LCAyMywgOTcsIDIzMSwgMjAsIDIzLCAKLSAgICA5NywgMjI1LCAyMTIsIDIzLCA5NywgMjI1LCAyMjMsIDIzLCA5NywgMjI1LCAyMjQsIDIzLCA5NywgMjE5LCAxNDIsIDIzLCAKLSAgICA5NywgMjM2LCA0MSwgMjMsIDk3LCAyMzYsIDQ4LCAyMywgOTcsIDIxOSwgMTUzLCAyMywgOTcsIDIxOSwgMTQwLCAyMywgOTcsIAotICAgIDIyNiwgNiwgMjMsIDk3LCAyNDEsIDE1MywgMjMsIDk3LCAyMTksIDEzNywgMTQ0LCA1LCAyMjYsIDE1NSwgMTQ0LCA1LCAKLSAgICAyNTAsIDEyMSwgMTQ0LCA1LCAyMzMsIDkwLCAxNDQsIDUsIDIxMywgMjI4LCAxNDQsIDEsIDYxLCAxNDQsIDEsIDI0MCwgCi0gICAgMTQ2LCAyMzQsIDE5NywgMTQ0LCAxLCA3MiwgMTQ0LCAxLCAyMzYsIDI4LCAxNDQsIDEsIDY5LCAxNDQsIDEsIDIyNiwgMjE0LCAKLSAgICAyNTAsIDk3LCAxNDQsIDEsIDIyOSwgMTYwLCAyMzMsIDUyLCAxNDQsIDEsIDIyOSwgMTYwLCAyMzMsIDUzLCAyMjQsIDM0LCAKLSAgICAxNDQsIDEsIDc0LCAxNDQsIDEsIDI1NCwgMTA4LCAxNDQsIDEsIDc1LCAxNDQsIDEsIDE4MSwgMTQ0LCAxLCAyMzUsIDE3LCAKLSAgICAyMjIsIDE0NCwgMTQ0LCAxLCAyMzUsIDE3LCAyMzAsIDEzNiwgMTQ0LCAxLCAyNDMsIDExMCwgMTQ0LCAxLCAyNDMsIDExMSwgCi0gICAgMjMwLCAxMzYsIDE0NCwgMSwgMjI5LCAxNTksIDE0NCwgMSwgMjUwLCAyMTksIDE0NCwgMSwgMjUwLCAyMjAsIDIzMCwgMTM2LCAKLSAgICAxNDQsIDEsIDIzNSwgMTM5LCAxNDQsIDEsIDIyOCwgMjQsIDIzMCwgMTM2LCAxNDQsIDEsIDIzNSwgMTQwLCAyMzIsIDEyLCAKLSAgICAxNDQsIDEsIDIyOCwgMjMsIDE0NCwgMSwgMjE2LCAxMTUsIDE0NCwgMSwgMjE2LCAxMTYsIDIzMiwgMTIsIDE0NCwgMSwgCi0gICAgMjQ4LCA4NiwgMTQ0LCAxLCAyNDgsIDg3LCAyMzIsIDEyLCAxNDQsIDEsIDIzMCwgNDYsIDIzMCwgMTM2LCAxNDQsIDEsIAotICAgIDIxOCwgNTIsIDE0NCwgMSwgMjE4LCA1MywgMjMwLCAxMzYsIDE0NCwgMSwgMjQ4LCAxNjQsIDE0NCwgMSwgMjQ4LCAxNjUsIAotICAgIDIzMiwgMTIsIDE0NCwgMSwgMjA1LCAxNDQsIDEsIDE5MywgMTQ0LCAxLCAyMjYsIDIxNCwgMjMwLCAxMzYsIDE0NCwgMSwgCi0gICAgMjUyLCAxMDcsIDE0NCwgMSwgMjUyLCAxMDgsIDIzMCwgMTM2LCAxNDQsIDEsIDE4OCwgMTQ0LCAxLCAxODYsIDE0NCwgMSwgCi0gICAgMjAzLCAxNDQsIDEsIDIyNCwgNzcsIDI1NCwgMTE1LCAxNDQsIDEsIDIzMywgMTU3LCAxNDQsIDEsIDIxNCwgNDksIDE0NCwgCi0gICAgMSwgMjIyLCAyMDMsIDIzMCwgMTM2LCAxNDQsIDEsIDIyMiwgMjAzLCAyMzIsIDEyLCAxNDQsIDEsIDIyMiwgMjAyLCAxNDQsIAotICAgIDEsIDE1OSwgMTQ0LCA1LCAyNTAsIDEyMiwgMjE3LCAyMDMsIDE0NCwgMzAsIDUsIDIxNywgMjU0LCAxNDQsIDMwLCA1LCAKLSAgICAyMTYsIDI0NiwgMTQ0LCAzMCwgNSwgMjEzLCAxNzgsIDE0NCwgMzAsIDUsIDIxMywgMTc5LCAyMzEsIDEzMywgMTQ0LCAzMCwgCi0gICAgNSwgMjE4LCAyNDgsIDE0NCwgMzAsIDUsIDIxOCwgMjQ5LCAyMzEsIDEyMSwgMTQ0LCAzMCwgNSwgMjE4LCAxNiwgMTQ0LCAKLSAgICAzMCwgNSwgMjQ3LCAxNDYsIDIzMCwgMTM1LCAxNDQsIDMwLCA1LCAyMjYsIDU5LCAxNDQsIDI0OSwgMTMzLCA1LCAyMzQsIAotICAgIDE2NCwgMTQ0LCAyNDksIDEzMywgNSwgMjI2LCA3MSwgMTQ0LCAyNDksIDEzMywgNSwgMjUwLCAyMDcsIDE0NCwgMjI2LCAKLSAgICAxNjcsIDE0NCwgNDIsIDIyMywgMjIxLCAxNDQsIDQ2LCAyMjMsIDIyMSwgMTQ0LCAyMjYsIDIwMywgMjU0LCAyNiwgMTQ0LCAKLSAgICAyMjYsIDIwMywgMjMyLCAyOSwgMTQ0LCAyMjYsIDIwMywgMjMyLCAxNDYsIDE0NCwgMjI2LCAyMDMsIDIxMywgMjIzLCAxNDQsIAotICAgIDIyNiwgMjAzLCAyMjYsIDE2OCwgMTQ0LCAyMjYsIDIwMywgMjMyLCAyMzQsIDE0NCwgMjI2LCAyMDMsIDIzMiwgMTQwLCAKLSAgICAxNDQsIDIyNiwgMjAzLCAyNTQsIDE1NCwgMTQ0LCAyMjYsIDIwMywgMjU0LCAxNTUsIDI1NCwgMTU0LCAxNDQsIDIyNiwgCi0gICAgMjAzLCAyMjUsIDE4MywgMTQ0LCAyMTYsIDU4LCAyMjYsIDIwMywgMjI1LCAxODMsIDE0NCwgMjI2LCAxNjQsIDE0NCwgMjEsIAotICAgIDIxMiwgNzksIDE0NCwgMjEsIDExNiwgMTQ0LCAyMSwgMTA5LCAxNDQsIDIxLCAxNjYsIDE0NCwgMjEsIDE2MywgMTQ0LCAyMSwgCi0gICAgMTgwLCAxNDQsIDIxLCAxODksIDE0NCwgMjEsIDE5OCwgMTQ0LCAyMSwgMTk1LCAxNDQsIDIxLCAyMDAsIDE0NCwgMjI2LCAKLSAgICAyMDMsIDIxNywgMjIsIDIxNiwgNzAsIDE0NCwgMjI2LCAyMDMsIDIzNSwgMTY1LCAxNjIsIDEsIDYxLCAxNjIsIDEsIDcyLCAKLSAgICAxNjIsIDEsIDY5LCAxNjIsIDEsIDc0LCAxNjIsIDEsIDI1NCwgMTA4LCAxNjIsIDEsIDc1LCAxNjIsIDEsIDE4MSwgMTYyLCAKLSAgICAxLCAyMzQsIDEzOCwgMTYyLCAxLCAyNDMsIDExMCwgMTYyLCAxLCAyNDIsIDIyNSwgMTYyLCAxLCAyMjksIDc1LCAxNjIsIDEsIAotICAgIDIyOSwgMTU5LCAxNjIsIDEsIDI1MCwgOTIsIDE2MiwgMSwgMjUwLCA0OSwgMTYyLCAxLCAyMzUsIDEzOSwgMTYyLCAxLCAKLSAgICAyMzUsIDExNSwgMTYyLCAxLCAyMjksIDY2LCAxNjIsIDEsIDIyOSwgNjgsIDE2MiwgMSwgMjI5LCA2NywgMTYyLCAxLCAyMTgsIAotICAgIDUyLCAxNjIsIDEsIDIxNywgMTYxLCAxNjIsIDEsIDI0OCwgMTY0LCAxNjIsIDEsIDI0NywgMjMyLCAxNjIsIDEsIDIyOCwgCi0gICAgNjIsIDE2MiwgMSwgMjA1LCAxNjIsIDEsIDI0OCwgODYsIDE2MiwgMSwgMTkzLCAxNjIsIDEsIDIyNSwgMTAwLCAxNjIsIDEsIAotICAgIDIyNiwgMjMsIDE2MiwgMSwgMjUyLCAxMDcsIDE2MiwgMSwgMjUxLCAxOTUsIDE2MiwgMSwgMjMwLCAxNjUsIDE2MiwgMSwgCi0gICAgMTg4LCAxNjIsIDEsIDI1MiwgMzEsIDE2MiwgMSwgMTg2LCAxNjIsIDEsIDIwMywgMTYyLCAxLCAyMzMsIDE1NywgMTYyLCAxLCAKLSAgICAyMTUsIDEsIDE2MiwgMSwgMjE5LCAxNTcsIDE2MiwgMSwgMjIyLCAyMDIsIDE2MiwgMSwgMTU5LCAxNjIsIDMwLCA1LCAyNTQsIAotICAgIDIzMiwgMTYyLCAzMCwgNSwgNzIsIDE2MiwgMzAsIDUsIDIzNiwgMjgsIDE2MiwgMzAsIDUsIDI0NSwgMTUyLCAxNjIsIDMwLCAKLSAgICA1LCA2OSwgMTYyLCAzMCwgNSwgMjI3LCA5OSwgMTYyLCAzMCwgNSwgNzUsIDE2MiwgMzAsIDUsIDI1NCwgMTA4LCAxNjIsIAotICAgIDMwLCA1LCAyNTMsIDEwOCwgMTYyLCAzMCwgNSwgMjE1LCAxODMsIDE2MiwgMjQ5LCAxMzMsIDUsIDE4NiwgMTYyLCAyNDksIAotICAgIDEzMywgNSwgMjAzLCAxNjIsIDI0OSwgMTMzLCA1LCAyMzMsIDE1NywgMTYyLCAyNDksIDEzMywgNSwgMjE0LCA0OSwgMTYyLCAKLSAgICAxLCA0MCwgMjM1LCAyNywgMTYyLCAxLCA0MCwgMjQzLCAxNzcsIDE2MiwgMSwgNDAsIDIyOSwgMTYxLCAxNjIsIDI0OSwgCi0gICAgMTMzLCA1LCA0MCwgMjI5LCAxNjEsIDE2MiwgMSwgNDAsIDI1MCwgOTMsIDE2MiwgMSwgNDAsIDIxOCwgOTksIDE2MiwgMSwgCi0gICAgNDAsIDIwNCwgMTYyLCAxLCA0MCwgMjI2LCAyMjksIDE2MiwgMSwgNDAsIDIxMywgMTA1LCAxNjIsIDEsIDQwLCAxNDksIAotICAgIDE2MiwgMSwgNDAsIDE1MCwgMTYyLCAxLCA0MCwgMjE5LCAxNTgsIDE2MiwgMjQ5LCAxMzMsIDUsIDQwLCAxODMsIDE2MiwgCi0gICAgMjQ5LCAxMzMsIDUsIDQwLCAyNDIsIDQxLCAxNjIsIDIxLCAyMTIsIDc5LCAxNjIsIDIxLCAxMTYsIDE2MiwgMjEsIDEwOSwgCi0gICAgMTYyLCAyMSwgMTY2LCAxNjIsIDIxLCAxNjMsIDE2MiwgMjEsIDE4MCwgMTYyLCAyMSwgMTg5LCAxNjIsIDIxLCAxOTgsIAotICAgIDE2MiwgMjEsIDE5NSwgMTYyLCAyMSwgMjAwLCAxNjIsIDIyNSwgMjcsIDIxOSwgMTgzLCAxNjIsIDIyNSwgMjcsIDI0OCwgCi0gICAgMTIzLCAxNjIsIDIyNSwgMjcsIDUxLCAyNDgsIDEyMywgMTYyLCAyMjUsIDI3LCAyMTYsIDE2OSwgMjQ4LCAxMjMsIDY0LCAxLCAKLSAgICAyMzQsIDEzMiwgMjQzLCAxMTAsIDY0LCAxLCAyMzQsIDEzMiwgMjUwLCAyMTksIDY0LCAxLCAyMzQsIDEzMiwgMjUwLCA5MiwgCi0gICAgNjQsIDEsIDIzNCwgMTMyLCAyMzUsIDEzOSwgNjQsIDEsIDIzNCwgMTMyLCAyMzUsIDExNSwgNjQsIDEsIDIzNCwgMTMyLCAKLSAgICAyMjgsIDIzLCA2NCwgMSwgMjM0LCAxMzIsIDIxNiwgMTE1LCA2NCwgMSwgMjM0LCAxMzIsIDIxNiwgMTA1LCA2NCwgMSwgCi0gICAgMjM0LCAxMzIsIDI0OCwgODYsIDY0LCAxLCAyMzQsIDEzMiwgMjQ4LCA3MCwgNjQsIDEsIDIzNCwgMTMyLCAyNDcsIDIzMiwgCi0gICAgNjQsIDEsIDIzNCwgMTMyLCAyMDUsIDY0LCAxLCAyMzQsIDEzMiwgMjIyLCAyMDIsIDY0LCAxLCAyMzQsIDEzMiwgMTU5LCAKLSAgICA2NCwgMSwgMjM0LCAxMzIsIDI0MSwgMTc0LCA2NCwgMSwgMjM0LCAxMzIsIDI0NCwgMTY0LCA2NCwgNTksIDEsIDIzNCwgCi0gICAgMTMyLCAyMjQsIDIsIDY0LCAxLCAyMzQsIDEzMiwgMjEzLCAxNTMsIDY0LCAxLCAyMzQsIDEzMiwgMjEyLCAxMDksIDY0LCAxLCAKLSAgICAyMzQsIDEzMiwgMjAzLCA2NCwgMjMyLCAxOTgsIDIzNCwgMTMyLCAyMjcsIDExNywgNjQsIDIzMiwgMTk4LCAyMzQsIDEzMiwgCi0gICAgMjI0LCAxODgsIDY0LCAyMzIsIDE5OCwgMjM0LCAxMzIsIDI0MSwgMTA3LCA2NCwgMTYsIDI1NCwgOTgsIDI0NCwgMjUzLCAKLSAgICA2NCwgMTYsIDI1NCwgOTgsIDExNiwgNjQsIDE2LCAyNTQsIDk4LCAxMDksIDY0LCAxLCAyNTQsIDk4LCAyMDMsIDY0LCA1LCAKLSAgICAyMjYsIDE1MSwgMjM0LCAyMTgsIDIxNiwgMjQxLCAzOCwgMTkwLCAxLCAxMTUsIDIzNCwgMzcsIDM4LCAxOTAsIDEsIDEyNCwgCi0gICAgMjM0LCAzNywgMzgsIDE5MCwgMSwgMTE1LCAyMzQsIDExMywgMzgsIDE5MCwgMSwgMTI0LCAyMzQsIDExMywgMzgsIDE5MCwgCi0gICAgMSwgMTE1LCAyMzQsIDEyMCwgMzgsIDE5MCwgMSwgMTI0LCAyMzQsIDEyMCwgMzgsIDE5MCwgMSwgMTE1LCAyNDIsIDE1MCwgCi0gICAgMzgsIDE5MCwgMSwgMTI0LCAyNDIsIDE1MCwgMzgsIDE5MCwgMSwgMTE1LCAyMjksIDkwLCAzOCwgMTkwLCAxLCAxMjQsIAotICAgIDIyOSwgOTAsIDM4LCAxOTAsIDEsIDExNSwgMjQ5LCAxNzUsIDM4LCAxOTAsIDEsIDEyNCwgMjQ5LCAxNzUsIDM4LCAxOTAsIAotICAgIDEsIDExNSwgMjUwLCAyMywgMzgsIDE5MCwgMSwgMTI0LCAyNTAsIDIzLCAzOCwgMTkwLCAxLCAxMTUsIDIxOSwgMjQyLCAzOCwgCi0gICAgMTkwLCAxLCAxMjQsIDIxOSwgMjQyLCAzOCwgMTkwLCAxLCAxMTUsIDIyNywgMjUzLCAzOCwgMTkwLCAxLCAxMjQsIDIyNywgCi0gICAgMjUzLCAzOCwgMTkwLCAxLCAxMTUsIDI0NywgOTksIDM4LCAxOTAsIDEsIDEyNCwgMjQ3LCA5OSwgMzgsIDE5MCwgMSwgMTE1LCAKLSAgICAxMDgsIDM4LCAxOTAsIDEsIDEyNCwgMTA4LCAzOCwgMTkwLCAxLCAxMTUsIDIxNywgMTA5LCAzOCwgMTkwLCAxLCAxMjQsIAotICAgIDIxNywgMTA5LCAzOCwgMTkwLCAxLCAxMTUsIDIyOCwgMTg1LCAzOCwgMTkwLCAxLCAxMjQsIDIyOCwgMTg1LCAzOCwgMTkwLCAKLSAgICAxLCAxMTUsIDI1MSwgMTI4LCAzOCwgMTkwLCAxLCAxMjQsIDI1MSwgMTI4LCAzOCwgMTkwLCAxLCAxMTUsIDIyNSwgMTUwLCAKLSAgICAzOCwgMTkwLCAxLCAxMjQsIDIyNSwgMTUwLCAzOCwgMTkwLCAxLCAxMTUsIDIyNSwgMjUzLCAzOCwgMTkwLCAxLCAxMjQsIAotICAgIDIyNSwgMjUzLCAzOCwgMTkwLCAxLCAxMTUsIDI0NCwgMTIsIDM4LCAxOTAsIDEsIDEyNCwgMjQ0LCAxMiwgMzgsIDE5MCwgMSwgCi0gICAgMTE1LCAyMzAsIDIzMSwgMzgsIDE5MCwgMSwgMTI0LCAyMzAsIDIzMSwgMzgsIDE5MCwgMSwgMTE1LCAyMTIsIDIzNSwgMzgsIAotICAgIDE5MCwgMSwgMTI0LCAyMTIsIDIzNSwgMzgsIDE5MCwgMSwgMTE1LCAyMjMsIDExMiwgMzgsIDE5MCwgMSwgMTI0LCAyMjMsIAotICAgIDExMiwgMzgsIDE5MCwgMSwgMTE1LCAyMzIsIDIwOCwgMzgsIDE5MCwgMSwgMTI0LCAyMzIsIDIwOCwgMzgsIDE5MCwgMSwgCi0gICAgMTE1LCAyMTQsIDExOSwgMzgsIDE5MCwgMSwgMTI0LCAyMTQsIDExOSwgMzgsIDE5MCwgMSwgMTE1LCAyNDEsIDU0LCAzOCwgCi0gICAgMTkwLCAxLCAxMjQsIDI0MSwgNTQsIDM4LCAxOTAsIDEsIDExNSwgNzUsIDM4LCAxOTAsIDEsIDEyNCwgNzUsIDM4LCAxOTAsIAotICAgIDIzMiwgOSwgMjM0LCAyMzUsIDM4LCAxOTAsIDMwLCAyNTQsIDIzMiwgMzgsIDE5MCwgMzAsIDcyLCAzOCwgMTkwLCAzMCwgCi0gICAgMjE1LCAxODMsIDM4LCAxOTAsIDMwLCA2OSwgMzgsIDE5MCwgMzAsIDc0LCAzOCwgMTkwLCAzMCwgNzUsIDM4LCAxOTAsIAotICAgIDIzMiwgOSwgMjM0LCAxMTUsIDM4LCAxOTAsIDMwLCAyNDAsIDExMSwgMzgsIDE5MCwgMzAsIDIxNSwgMTgyLCAzOCwgMTkwLCAKLSAgICAzMCwgMjE1LCAxOTYsIDM4LCAxOTAsIDMwLCAyNTMsIDEwNiwgMzgsIDE5MCwgMzAsIDI1MywgODMsIDM4LCAxOTAsIDMwLCAKLSAgICAyNTQsIDMyLCAzOCwgMTkwLCAzMCwgMjU0LCA0NSwgMzgsIDE5MCwgMTYwLCAyMzIsIDksIDI0NSwgMTM3LCAzOCwgMTkwLCAKLSAgICAxNjAsIDIzMiwgOSwgMjI4LCA2MSwgMzgsIDE5MCwgMTYwLCAyMzIsIDksIDIxNywgMTA5LCAzOCwgMTkwLCAxNjAsIDIzMiwgCi0gICAgOSwgMjE5LCAyMjgsIDM4LCAxOTAsIDE2LCAyMzQsIDIyLCAzOCwgMTkwLCAxNiwgMjI4LCA2MSwgMzgsIDE5MCwgMTYsIAotICAgIDIyMiwgMTY4LCAzOCwgMTkwLCAxNiwgMjQxLCA1NSwgMjQxLCA1MCwgMzgsIDE5MCwgMTYsIDIzNCwgMzEsIDIzNCwgMzAsIAotICAgIDI4LCA0LCAyMTYsIDk4LCAyOCwgNCwgMjE2LCAxMDEsIDI4LCA0LCAyMTYsIDEwNCwgMjgsIDQsIDIxNiwgMTAyLCAyOCwgNCwgCi0gICAgMjE2LCAxMDMsIDI4LCA0LCAyMTYsIDEwMCwgMjgsIDQsIDI0OCwgNjQsIDI4LCA0LCAyNDgsIDY2LCAyOCwgNCwgMjQ4LCAKLSAgICA2OSwgMjgsIDQsIDI0OCwgNjcsIDI4LCA0LCAyNDgsIDY4LCAyOCwgNCwgMjQ4LCA2NSwgMjgsIDQsIDI0NSwgMjM5LCAyOCwgCi0gICAgNCwgMjQ1LCAyNDIsIDI4LCA0LCAyNDUsIDI0OCwgMjgsIDQsIDI0NSwgMjQ2LCAyOCwgNCwgMjQ1LCAyNDcsIDI4LCA0LCAKLSAgICAyNDUsIDI0MCwgMjgsIDQsIDI1MCwgMTM4LCAyOCwgNCwgMjUwLCAxMzIsIDI4LCA0LCAyNTAsIDEzNCwgMjgsIDQsIDI1MCwgCi0gICAgMTM3LCAyOCwgNCwgMjUwLCAxMzUsIDI4LCA0LCAyNTAsIDEzNiwgMjgsIDQsIDI1MCwgMTMzLCAyOCwgNCwgMjUyLCAzMSwgCi0gICAgMjgsIDQsIDI1MiwgMTAsIDI4LCA0LCAyNTIsIDIyLCAyOCwgNCwgMjUyLCAzMCwgMjgsIDQsIDI1MiwgMjUsIDI4LCA0LCAKLSAgICAyNTIsIDI2LCAyOCwgNCwgMjUyLCAxNCwgMjMxLCAxNDAsIDIzMSwgMTk0LCAxLCAyMzQsIDI4LCAyMzEsIDE0MCwgMjMxLCAKLSAgICAxOTQsIDEsIDIyMiwgMTY4LCAyMzEsIDE0MCwgMjMxLCAxOTQsIDEsIDIzMywgMTMzLCAyMzEsIDE0MCwgMjMxLCAxOTQsIDEsIAotICAgIDIzMCwgMjQxLCAyMzEsIDE0MCwgMjMxLCAxOTQsIDEsIDE5MywgMjMxLCAxNDAsIDIzMSwgMTk0LCAxLCAyMDUsIDIzMSwgCi0gICAgMTQwLCAyMzEsIDE5NCwgMSwgMjUwLCAzOSwgMjMxLCAxNDAsIDIzMSwgMTk0LCAxLCAyMTcsIDQ0LCAyMzEsIDE0MCwgMjMxLCAKLSAgICAxOTQsIDEsIDIzNCwgMTA5LCAyMzEsIDE0MCwgMjMxLCAxOTQsIDEsIDIyOSwgODAsIDIzMSwgMTQwLCAyMzEsIDE5NCwgMSwgCi0gICAgMjE3LCAxMDMsIDIzMSwgMTQwLCAyMzEsIDE5NCwgMSwgMjE0LCA0NCwgMjMxLCAxNDAsIDIzMSwgMTk0LCAxLCAyMTMsIDU4LCAKLSAgICAyMzEsIDE0MCwgMjMxLCAxOTQsIDEsIDI0MCwgMjA2LCAyMzEsIDE0MCwgMjMxLCAxOTQsIDEsIDIxNSwgMTYwLCAyMzEsIAotICAgIDE0MCwgMjMxLCAxOTQsIDEsIDcyLCAyMzEsIDE0MCwgMjMxLCAxOTQsIDEsIDIyNiwgMTgsIDIzMSwgMTQwLCAyMzEsIDE5NCwgCi0gICAgMSwgMjUzLCAxMTgsIDIzMSwgMTQwLCAyMzEsIDE5NCwgMSwgMjQyLCAxNDMsIDIzMSwgMTQwLCAyMzEsIDE5NCwgMSwgMjM1LCAKLSAgICAxMTQsIDIzMSwgMTQwLCAyMzEsIDE5NCwgMSwgMjI0LCA1NywgMjMxLCAxNDAsIDIzMSwgMTk0LCAxLCAyNTIsIDEwNywgCi0gICAgMjMxLCAxNDAsIDIzMSwgMTk0LCAxLCAyMzUsIDEwMywgMjMxLCAxNDAsIDIzMSwgMTk0LCAxLCAyNDcsIDE3MSwgMjMxLCAKLSAgICAxNDAsIDIzMSwgMTk0LCAxLCAyNDIsIDE5NywgMjMxLCAxNDAsIDIzMSwgMTk0LCAxLCAyNDcsIDIxMywgMjMxLCAxNDAsIAotICAgIDIzMSwgMTk0LCAxLCAyNTEsIDE5NCwgMjMxLCAxNDAsIDIzMSwgMTk0LCAxLCAyMzQsIDI5LCAyMzIsIDE4MSwgMjMxLCAKLSAgICAxNDAsIDIzMSwgMTk0LCAxLCAyMzMsIDEzNCwgMjMyLCAxODEsIDIzMSwgMTQwLCAyMzEsIDE5NCwgMSwgMjMwLCAyNDIsIAotICAgIDIzMiwgMTgxLCAyMzEsIDE0MCwgMjMxLCAxOTQsIDEsIDIyNiwgMjE0LCAyMzIsIDE4MSwgMjMxLCAxNDAsIDIzMSwgMTk0LCAKLSAgICAxLCAyMzAsIDQ2LCAyMzIsIDE4MSwgMjMxLCAxNDAsIDIzMSwgMTk0LCAxLCAyMTcsIDQ1LCAyMzIsIDE4MSwgMjMxLCAxNDAsIAotICAgIDIzMSwgMTk0LCAxLCAyMjksIDgxLCAyMzIsIDE4MSwgMjMxLCAxNDAsIDIzMSwgMTk0LCAxLCAyNDAsIDE0NiwgMjMyLCAKLSAgICAxODEsIDIzMSwgMTQwLCAyMzEsIDE5NCwgMzAsIDUsIDIyNywgNjEsIDIzMSwgMTQwLCAyMzEsIDE5NCwgMzAsIDUsIDIzNSwgCi0gICAgMjQ5LCAyMzEsIDE0MCwgMjMxLCAxOTQsIDMwLCA1LCAyNTQsIDMxLCAyMzEsIDE0MCwgMjMxLCAxOTQsIDMwLCA1LCAyMTMsIAotICAgIDI5LCAyMzEsIDE0MCwgMjMxLCAxOTQsIDMwLCA1LCAyMTksIDIxOSwgMjMxLCAxNDAsIDIzMSwgMTk0LCAzMCwgNSwgMjE1LCAKLSAgICAxNTcsIDIzMSwgMTQwLCAyMzEsIDE5NCwgMzAsIDUsIDI1MCwgNjAsIDIzMSwgMTQwLCAyMzEsIDE5NCwgMzAsIDUsIDIyOCwgCi0gICAgNDcsIDIzMSwgMTQwLCAyMzEsIDE5NCwgMjUwLCA2MSwgMjMxLCAxNDAsIDIzMSwgMTk0LCAyMzIsIDE0MywgMjM1LCAxNDgsIAotICAgIDIzMSwgMTQwLCAyMzEsIDE5NCwgMjUzLCAyMTYsIDIzNSwgMTQ4LCAyMzEsIDE0MCwgMjMxLCAxOTQsIDIxLCAyMTIsIDc5LCAKLSAgICAyMzEsIDE0MCwgMjMxLCAxOTQsIDIxLCAxMTYsIDIzMSwgMTQwLCAyMzEsIDE5NCwgMjEsIDEwOSwgMjMxLCAxNDAsIDIzMSwgCi0gICAgMTk0LCAyMSwgMTY2LCAyMzEsIDE0MCwgMjMxLCAxOTQsIDIxLCAxNjMsIDIzMSwgMTQwLCAyMzEsIDE5NCwgMjEsIDE4MCwgCi0gICAgMjMxLCAxNDAsIDIzMSwgMTk0LCAyMSwgMTg5LCAyMzEsIDE0MCwgMjMxLCAxOTQsIDIxLCAxOTgsIDIzMSwgMTQwLCAyMzEsIAotICAgIDE5NCwgMjEsIDE5NSwgMjMxLCAxNDAsIDIzMSwgMTk0LCAyMSwgMjAwLCAyMywgMTM1LCAyMjcsIDE5NywgMjMsIDEzNSwgCi0gICAgMjI3LCAyMDIsIDIzLCAxMzUsIDIxMiwgMjM0LCAyMywgMTM1LCAyMTIsIDIzMywgMjMsIDEzNSwgMjEyLCAyMzIsIDIzLCAKLSAgICAxMzUsIDIxNSwgMjQ2LCAyMywgMTM1LCAyMTUsIDI0OSwgMjMsIDEzNSwgMjEyLCAyMDEsIDIzLCAxMzUsIDIxMiwgMTk3LCAKLSAgICAyMywgMTM1LCAyNDUsIDIxLCAyMywgMTM1LCAyNDUsIDE5LCAyMywgMTM1LCAyNDUsIDIwLCAyMywgMTM1LCAyNDUsIDE3LCAKLSAgICAyMywgMTM1LCAyNDAsIDEzNiwgMjMsIDEzNSwgMjQwLCAxMzUsIDIzLCAxMzUsIDI0MCwgMTMzLCAyMywgMTM1LCAyNDAsIAotICAgIDEzNCwgMjMsIDEzNSwgMjQwLCAxMzksIDIzLCAxMzUsIDI0MCwgMTMyLCAyMywgMTM1LCAyNDAsIDEzMSwgMjMsIDEzNSwgCi0gICAgMjQwLCAxNDEsIDIzLCAxMzUsIDI1MywgMjAzLCAyMywgMTM1LCAyNTMsIDIwMiwgMjMsIDg5LCAyMjksIDUwLCAyMywgODksIAotICAgIDIyOSwgNTYsIDIzLCA4OSwgMjE5LCAxMzksIDIzLCA4OSwgMjE5LCAxMzgsIDIzLCA4OSwgMjE3LCA1MCwgMjMsIDg5LCAKLSAgICAyMTcsIDQ4LCAyMywgODksIDIxNywgNDcsIDIzLCA4OSwgMjE3LCA1MywgMjMsIDg5LCAyMTcsIDU0LCAyMywgODksIDIxNywgCi0gICAgNDYsIDIzLCA4OSwgMjIzLCAxNTgsIDIzLCA4OSwgMjIzLCAxNzMsIDIzLCA4OSwgMjE5LCAxNDUsIDIzLCA4OSwgMjIzLCAKLSAgICAxNzAsIDIzLCA4OSwgMjIzLCAxNjAsIDIzLCA4OSwgMjIzLCAxNjIsIDIzLCA4OSwgMjIzLCAxNDksIDIzLCA4OSwgMjIzLCAKLSAgICAxNTAsIDIzLCA4OSwgMjM0LCAyMjMsIDIzLCA4OSwgMjMxLCAyNSwgMjMsIDg5LCAyMzEsIDE5LCAyMywgODksIDIxOSwgCi0gICAgMTQ5LCAyMywgODksIDIzMSwgMjIsIDIzLCA4OSwgMjMxLCAyOCwgMjMsIDg5LCAyMjUsIDIwOCwgMjMsIDg5LCAyMjUsIAotICAgIDIxNywgMjMsIDg5LCAyMjUsIDIyMSwgMjMsIDg5LCAyMTksIDE0NywgMjMsIDg5LCAyMjUsIDIxMSwgMjMsIDg5LCAyMjUsIAotICAgIDIyNSwgMjMsIDg5LCAyMjUsIDIyNiwgMjMsIDg5LCAyMjAsIDY4LCAyMywgODksIDIyMCwgNzEsIDIzLCA4OSwgMjE5LCAKLSAgICAxNDMsIDIzLCA4OSwgMjE5LCAxNDEsIDIzLCA4OSwgMjIwLCA2NiwgMjMsIDg5LCAyMjAsIDc0LCAyMywgODksIDIyMCwgNzUsIAotICAgIDIzLCA4OSwgMjIwLCA2MCwgMjMsIDg5LCAyMjAsIDczLCAyMywgODksIDIyNiwgMTU4LCAyMywgODksIDIyNiwgMTU5LCAyMywgCi0gICAgODksIDIxMywgMTUsIDIzLCA4OSwgMjEzLCAxNiwgMjMsIDg5LCAyNDksIDIzNywgMjMsIDg5LCAyNDksIDIzNiwgMjMsIDg5LCAKLSAgICAyMTksIDE1NCwgMjMsIDg5LCAyMjYsIDQsIDIzLCA4OSwgMjI2LCAzLCA5LCAxMywgMjM4LCAxNywgOSwgMTMsIDIzOCwgMTYsIAotICAgIDksIDEzLCAyMzgsIDE1LCA5LCAxMywgMjM4LCAxNCwgOSwgMTMsIDIzOCwgMTMsIDksIDEzLCAyMzgsIDEyLCA5LCAxMywgCi0gICAgMjM4LCAxMSwgOSwgMTMsIDIzOCwgMTAsIDksIDEzLCAyMzgsIDksIDksIDEzLCAyMzgsIDgsIDksIDEzLCAyMzgsIDcsIDksIAotICAgIDEzLCAyMzgsIDYsIDksIDEzLCAyMzgsIDUsIDksIDEzLCAyMzgsIDQsIDksIDEzLCAyMzgsIDMsIDksIDEzLCAyMzgsIDIsIAotICAgIDksIDEzLCAyMzgsIDEsIDksIDEzLCAyMzgsIDAsIDksIDEzLCAyMzcsIDI1NSwgOSwgMTMsIDIzNywgMjU0LCA5LCAxMywgCi0gICAgMjM3LCAyNTMsIDksIDEzLCAyMzcsIDI1MiwgOSwgMTMsIDIzNywgMjUxLCA5LCAxMywgMjM3LCAyNTAsIDksIDEzLCAyMzcsIAotICAgIDI0OSwgOSwgMTMsIDIzNywgMjQ4LCA5LCAxMywgMjM3LCAyNDcsIDksIDEzLCAyMzcsIDI0NiwgOSwgMTMsIDIzNywgMjQ1LCAKLSAgICA5LCAxMywgMjM3LCAyNDQsIDksIDEzLCAyMzcsIDI0MywgOSwgMTMsIDIzNywgMjQyLCA5LCAxMywgMjM3LCAyNDEsIDksIAotICAgIDEzLCAyMzcsIDI0MCwgOSwgMTMsIDIzNywgMjM5LCA5LCAxMywgMjM3LCAyMzgsIDksIDEzLCAyMzcsIDIzNywgOSwgMTMsIAotICAgIDIzNywgMjM2LCA5LCAxMywgMjM3LCAyMzUsIDksIDEzLCAyMzcsIDIzNCwgOSwgMTMsIDIzNywgMjMzLCA5LCAxMywgMjM3LCAKLSAgICAyMzIsIDksIDEzLCAyMzcsIDIzMSwgOSwgMTMsIDIzNywgMjMwLCA5LCAxMywgMjM3LCAyMjksIDksIDEzLCAyMzcsIDIyOCwgCi0gICAgOSwgMTMsIDIzNywgMjI3LCA5LCAxMywgMjM3LCAyMjYsIDksIDEzLCAyMzcsIDIyNSwgOSwgMTMsIDIzNywgMjI0LCA5LCAKLSAgICAxMywgMjM3LCAyMjMsIDksIDEzLCAyMzcsIDIyMiwgOSwgMTMsIDIzNywgMjIxLCA5LCAxMywgMjM3LCAyMjAsIDksIDEzLCAKLSAgICAyMzcsIDIxOSwgOSwgMTMsIDIzNywgMjE4LCA5LCAxMywgMjM3LCAyMTcsIDksIDEzLCAyMzcsIDIxNiwgOSwgMTMsIDIzNywgCi0gICAgMjE1LCA5LCAxMywgMjM3LCAyMTQsIDksIDEzLCAyMzcsIDIxMywgOSwgMTMsIDIzNywgMjEyLCA5LCAxMywgMjM3LCAyMTEsIAotICAgIDksIDEzLCAyMzcsIDIxMCwgOSwgMTMsIDIzNywgMjA5LCA5LCAxMywgMjM3LCAyMDgsIDksIDEzLCAyMzcsIDIwNywgOSwgCi0gICAgMTMsIDIzNywgMjA2LCA5LCAxMywgMjM3LCAyMDUsIDksIDEzLCAyMzcsIDIwNCwgOSwgMTMsIDIzNywgMjAzLCA5LCAxMywgCi0gICAgMjM3LCAyMDIsIDksIDEzLCAyMzcsIDIwMSwgOSwgMTMsIDIzNywgMjAwLCA5LCAxMywgMjM3LCAxOTksIDksIDEzLCAyMzcsIAotICAgIDE5OCwgOSwgMTMsIDIzNywgMTk3LCA5LCAxMywgMjM3LCAxOTYsIDksIDEzLCAyMzcsIDE5NSwgOSwgMTMsIDIzNywgMTk0LCAKLSAgICA5LCAxMywgMjM3LCAxOTMsIDksIDEzLCAyMzcsIDE5MiwgOSwgMTMsIDIzNywgMTkxLCA5LCAxMywgMjM3LCAxOTAsIDksIAotICAgIDEzLCAyMzcsIDE4OSwgOSwgMTMsIDIzNywgMTg4LCA5LCAxMywgMjM3LCAxODcsIDksIDEzLCAyMzcsIDE4NiwgOSwgMTMsIAotICAgIDIzNywgMTg1LCA5LCAxMywgMjM3LCAxODQsIDksIDEzLCAyMzcsIDE4MywgOSwgMTMsIDIzNywgMTgyLCA5LCAxMywgMjM3LCAKLSAgICAxODEsIDksIDEzLCAyMzcsIDE4MCwgOSwgMTMsIDIzNywgMTc5LCA5LCAxMywgMjM3LCAxNzgsIDksIDEzLCAyMzcsIDE3NywgCi0gICAgOSwgMTMsIDIzNywgMTc2LCA5LCAxMywgMjM3LCAxNzUsIDksIDEzLCAyMzcsIDE3NCwgOSwgMTMsIDIzNywgMTczLCA5LCAKLSAgICAxMywgMjM3LCAxNzIsIDksIDEzLCAyMzcsIDE3MSwgOSwgMTMsIDIzNywgMTcwLCA5LCAxMywgMjM3LCAxNjksIDksIDEzLCAKLSAgICAyMzcsIDE2OCwgOSwgMTMsIDIzNywgMTY3LCA5LCAxMywgMjM3LCAxNjYsIDksIDEzLCAyMzcsIDE2NSwgOSwgMTMsIDIzNywgCi0gICAgMTY0LCA5LCAxMywgMjM3LCAxNjMsIDksIDEzLCAyMzcsIDE2MiwgOSwgMTMsIDIzNywgMTYxLCA5LCAxMywgMjM3LCAxNjAsIAotICAgIDksIDEzLCAyMzcsIDE1OSwgOSwgMTMsIDIzNywgMTU4LCA5LCAxMywgMjM3LCAxNTcsIDksIDEzLCAyMzcsIDE1NiwgOSwgCi0gICAgMTMsIDIzNywgMTU1LCA5LCAxMywgMjM3LCAxNTQsIDksIDEzLCAyMzcsIDE1MywgOSwgMTMsIDIzNywgMTUyLCA5LCAxMywgCi0gICAgMjM3LCAxNTEsIDksIDEzLCAyMzcsIDE1MCwgOSwgMTMsIDIzNywgMTQ5LCA5LCAxMywgMjM3LCAxNDgsIDksIDEzLCAyMzcsIAotICAgIDE0NywgOSwgMTMsIDIzNywgMTQ2LCA5LCAxMywgMjM3LCAxNDUsIDksIDEzLCAyMzcsIDE0NCwgOSwgMTMsIDIzNywgMTQzLCAKLSAgICA5LCAxMywgMjM3LCAxNDIsIDksIDEzLCAyMzcsIDE0MSwgOSwgMTMsIDIzNywgMTQwLCA5LCAxMywgMjM3LCAxMzksIDksIAotICAgIDEzLCAyMzcsIDEzOCwgOSwgMTMsIDIzNywgMTM3LCA5LCAxMywgMjM3LCAxMzYsIDksIDEzLCAyMzcsIDEzNSwgOSwgMTMsIAotICAgIDIzNywgMTM0LCA5LCAxMywgMjM3LCAxMzMsIDksIDEzLCAyMzcsIDEzMiwgOSwgMTMsIDIzNywgMTMxLCA5LCAxMywgMjM3LCAKLSAgICAxMzAsIDksIDEzLCAyMzcsIDEyOSwgOSwgMTMsIDIzNywgMTI4LCA5LCAxMywgMjM3LCAxMjcsIDksIDEzLCAyMzcsIDEyNiwgCi0gICAgOSwgMTMsIDIzNywgMTI1LCA5LCAxMywgMjM3LCAxMjQsIDksIDEzLCAyMzcsIDEyMywgOSwgMTMsIDIzNywgMTIyLCA5LCAKLSAgICAxMywgMjM3LCAxMjEsIDksIDEzLCAyMzcsIDEyMCwgOSwgMTMsIDIzNywgMTE5LCA5LCAxMywgMjM3LCAxMTgsIDksIDEzLCAKLSAgICAyMzcsIDExNywgOSwgMTMsIDIzNywgMTE2LCA5LCAxMywgMjM3LCAxMTUsIDksIDEzLCAyMzcsIDExNCwgOSwgMTMsIDIzNywgCi0gICAgMTEzLCA5LCAxMywgMjM3LCAxMTIsIDksIDEzLCAyMzcsIDExMSwgOSwgMTMsIDIzNywgMTEwLCA5LCAxMywgMjM3LCAxMDksIAotICAgIDksIDEzLCAyMzcsIDEwOCwgOSwgMTMsIDIzNywgMTA3LCA5LCAxMywgMjM3LCAxMDYsIDksIDEzLCAyMzcsIDEwNSwgOSwgCi0gICAgMTMsIDIzNywgMTA0LCA5LCAxMywgMjM3LCAxMDMsIDksIDEzLCAyMzcsIDEwMiwgOSwgMTMsIDIzNywgMTAxLCA5LCAxMywgCi0gICAgMjM3LCAxMDAsIDksIDEzLCAyMzcsIDk5LCA5LCAxMywgMjM3LCA5OCwgOSwgMTMsIDIzNywgOTcsIDksIDEzLCAyMzcsIDk2LCAKLSAgICA5LCAxMywgMjM3LCA5NSwgOSwgMTMsIDIzNywgOTQsIDksIDEzLCAyMzcsIDkzLCA5LCAxMywgMjM3LCA5MiwgOSwgMTMsIAotICAgIDIzNywgOTEsIDksIDEzLCAyMzcsIDkwLCA5LCAxMywgMjM3LCA4OSwgOSwgMTMsIDIzNywgODgsIDksIDEzLCAyMzcsIDg3LCAKLSAgICA5LCAxMywgMjM3LCA4NiwgOSwgMTMsIDIzNywgODUsIDksIDEzLCAyMzcsIDg0LCA5LCAxMywgMjM3LCA4MywgOSwgMTMsIAotICAgIDIzNywgODIsIDksIDEzLCAyMzcsIDgxLCA5LCAxMywgMjM3LCA4MCwgOSwgMTMsIDIzNywgNzksIDksIDEzLCAyMzcsIDc4LCAKLSAgICA5LCAxMywgMjM3LCA3NywgOSwgMTMsIDIzNywgNzYsIDksIDEzLCAyMzcsIDc1LCA5LCAxMywgMjM3LCA3NCwgOSwgMTMsIAotICAgIDIzNywgNzMsIDksIDEzLCAyMzcsIDcyLCA5LCAxMywgMjM3LCA3MSwgOSwgMTMsIDIzNywgNzAsIDksIDEzLCAyMzcsIDY5LCAKLSAgICA5LCAxMywgMjM3LCA2OCwgOSwgMTMsIDIzNywgNjcsIDksIDEzLCAyMzcsIDY2LCA5LCAxMywgMjM3LCA2NSwgOSwgMTMsIAotICAgIDIzNywgNjQsIDksIDEzLCAyMzcsIDYzLCA5LCAxMywgMjM3LCA2MiwgOSwgMTMsIDIzNywgNjEsIDksIDEzLCAyMzcsIDYwLCAKLSAgICA5LCAxMywgMjM3LCA1OSwgOSwgMTMsIDIzNywgNTgsIDksIDEzLCAyMzcsIDU3LCA5LCAxMywgMjM3LCA1NiwgOSwgMTMsIAotICAgIDIzNywgNTUsIDksIDEzLCAyMzcsIDU0LCA5LCAxMywgMjM3LCA1MywgOSwgMTMsIDIzNywgNTIsIDksIDEzLCAyMzcsIDUxLCAKLSAgICA5LCAxMywgMjM3LCA1MCwgOSwgMTMsIDIzNywgNDksIDksIDEzLCAyMzcsIDQ4LCA5LCAxMywgMjM3LCA0NywgOSwgMTMsIAotICAgIDIzNywgNDYsIDksIDEzLCAyMzcsIDQ1LCA5LCAxMywgMjM3LCA0NCwgOSwgMTMsIDIzNywgNDMsIDksIDEzLCAyMzcsIDQyLCAKLSAgICA5LCAxMywgMjM3LCA0MSwgOSwgMTMsIDIzNywgNDAsIDksIDEzLCAyMzcsIDM5LCA5LCAxMywgMjM3LCAzOCwgOSwgMTMsIAotICAgIDIzNywgMzcsIDksIDEzLCAyMzcsIDM2LCA5LCAxMywgMjM3LCAzNSwgOSwgMTMsIDIzNywgMzQsIDksIDEzLCAyMzcsIDMzLCAKLSAgICA5LCAxMywgMjM3LCAzMiwgOSwgMTMsIDIzNywgMzEsIDksIDEzLCAyMzcsIDMwLCA5LCAxMywgMjM3LCAyOSwgOSwgMTMsIAotICAgIDIzNywgMjgsIDksIDEzLCAyMzcsIDI3LCA5LCAxMywgMjM3LCAyNiwgOSwgMTMsIDIzNywgMjUsIDksIDEzLCAyMzcsIDI0LCAKLSAgICA5LCAxMywgMjM3LCAyMywgOSwgMTMsIDIzNywgMjIsIDksIDEzLCAyMzcsIDIxLCA5LCAxMywgMjM3LCAyMCwgOSwgMTMsIAotICAgIDIzNywgMTksIDksIDEzLCAyMzcsIDE4LCA5LCAxMywgMjM3LCAxNywgOSwgMTMsIDIzNywgMTYsIDksIDEzLCAyMzcsIDE1LCAKLSAgICA5LCAxMywgMjM3LCAxNCwgOSwgMTMsIDIzNywgMTMsIDksIDEzLCAyMzcsIDEyLCA5LCAxMywgMjM3LCAxMSwgOSwgMTMsIAotICAgIDIzNywgMTAsIDksIDEzLCAyMzcsIDksIDksIDEzLCAyMzcsIDgsIDksIDEzLCAyMzcsIDcsIDksIDEzLCAyMzcsIDYsIDksIAotICAgIDEzLCAyMzcsIDUsIDksIDEzLCAyMzcsIDQsIDksIDEzLCAyMzcsIDMsIDksIDEzLCAyMzcsIDIsIDksIDEzLCAyMzcsIDEsIAotICAgIDksIDEzLCAyMzcsIDAsIDksIDEzLCAyMzYsIDI1NSwgOSwgMTMsIDIzNiwgMjU0LCA5LCAxMywgMjM2LCAyNTMsIDksIDEzLCAKLSAgICAyMzYsIDI1MiwgOSwgMTMsIDIzNiwgMjUxLCA5LCAxMywgMjM2LCAyNTAsIDksIDEzLCAyMzYsIDI0OSwgOSwgMTMsIDIzNiwgCi0gICAgMjQ4LCA5LCAxMywgMjM2LCAyNDcsIDksIDEzLCAyMzYsIDI0NiwgOSwgMTMsIDIzNiwgMjQ1LCA5LCAxMywgMjM2LCAyNDQsIAotICAgIDksIDEzLCAyMzYsIDI0MywgOSwgMTMsIDIzNiwgMjQyLCA5LCAxMywgMjM2LCAyNDEsIDksIDEzLCAyMzYsIDI0MCwgOSwgCi0gICAgMTMsIDIzNiwgMjM5LCA5LCAxMywgMjM2LCAyMzgsIDksIDEzLCAyMzYsIDIzNywgOSwgMTMsIDIzNiwgMjM2LCA5LCAxMywgCi0gICAgMjM2LCAyMzUsIDksIDEzLCAyMzYsIDIzNCwgOSwgMTMsIDIzNiwgMjMzLCA5LCAxMywgMjM2LCAyMzIsIDksIDEzLCAyMzYsIAotICAgIDIzMSwgOSwgMTMsIDIzNiwgMjMwLCA5LCAxMywgMjM2LCAyMjksIDksIDEzLCAyMzYsIDIyOCwgOSwgMTMsIDIzNiwgMjI3LCAKLSAgICA5LCAxMywgMjM2LCAyMjYsIDksIDEzLCAyMzYsIDIyNSwgOSwgMTMsIDIzNiwgMjI0LCA5LCAxMywgMjM2LCAyMjMsIDksIAotICAgIDEzLCAyMzYsIDIyMiwgOSwgMTMsIDIzNiwgMjIxLCA5LCAxMywgMjM2LCAyMjAsIDksIDEzLCAyMzYsIDIxOSwgOSwgMTMsIAotICAgIDIzNiwgMjE4LCA5LCAxMywgMjM2LCAyMTcsIDksIDEzLCAyMzYsIDIxNiwgOSwgMTMsIDIzNiwgMjE1LCA5LCAxMywgMjM2LCAKLSAgICAyMTQsIDksIDEzLCAyMzYsIDIxMywgOSwgMTMsIDIzNiwgMjEyLCA5LCAxMywgMjM2LCAyMTEsIDksIDEzLCAyMzYsIDIxMCwgCi0gICAgOSwgMTMsIDIzNiwgMjA5LCA5LCAxMywgMjM2LCAyMDgsIDksIDEzLCAyMzYsIDIwNywgOSwgMTMsIDIzNiwgMjA2LCA5LCAKLSAgICAxMywgMjM2LCAyMDUsIDksIDEzLCAyMzYsIDIwNCwgOSwgMTMsIDIzNiwgMjAzLCA5LCAxMywgMjM2LCAyMDIsIDksIDEzLCAKLSAgICAyMzYsIDIwMSwgOSwgMTMsIDIzNiwgMjAwLCA5LCAxMywgMjM2LCAxOTksIDksIDEzLCAyMzYsIDE5OCwgOSwgMTMsIDIzNiwgCi0gICAgMTk3LCA5LCAxMywgMjM2LCAxOTYsIDksIDEzLCAyMzYsIDE5NSwgOSwgMTMsIDIzNiwgMTk0LCA5LCAxMywgMjM2LCAxOTMsIAotICAgIDksIDEzLCAyMzYsIDE5MiwgOSwgMTMsIDIzNiwgMTkxLCA5LCAxMywgMjM2LCAxOTAsIDksIDEzLCAyMzYsIDE4OSwgOSwgCi0gICAgMTMsIDIzNiwgMTg4LCA5LCAxMywgMjM2LCAxODcsIDksIDEzLCAyMzYsIDE4NiwgOSwgMTMsIDIzNiwgMTg1LCA5LCAxMywgCi0gICAgMjM2LCAxODQsIDksIDEzLCAyMzYsIDE4MywgOSwgMTMsIDIzNiwgMTgyLCA5LCAxMywgMjM2LCAxODEsIDksIDEzLCAyMzYsIAotICAgIDE4MCwgOSwgMTMsIDIzNiwgMTc5LCA5LCAxMywgMjM2LCAxNzgsIDksIDEzLCAyMzYsIDE3NywgOSwgMTMsIDIzNiwgMTc2LCAKLSAgICA5LCAxMywgMjM2LCAxNzUsIDksIDEzLCAyMzYsIDE3NCwgOSwgMTMsIDIzNiwgMTczLCA5LCAxMywgMjM2LCAxNzIsIDksIAotICAgIDEzLCAyMzYsIDE3MSwgOSwgMTMsIDIzNiwgMTcwLCA5LCAxMywgMjM2LCAxNjksIDksIDEzLCAyMzYsIDE2OCwgOSwgMTMsIAotICAgIDIzNiwgMTY3LCA5LCAxMywgMjM2LCAxNjYsIDksIDEzLCAyMzYsIDE2NSwgOSwgMTMsIDIzNiwgMTY0LCA5LCAxMywgMjM2LCAKLSAgICAxNjMsIDksIDEzLCAyMzYsIDE2MiwgOSwgMTMsIDIzNiwgMTYxLCA5LCAxMywgMjM2LCAxNjAsIDksIDEzLCAyMzYsIDE1OSwgCi0gICAgOSwgMTMsIDIzNiwgMTU4LCA5LCAxMywgMjM2LCAxNTcsIDksIDEzLCAyMzYsIDE1NiwgOSwgMTMsIDIzNiwgMTU1LCA5LCAKLSAgICAxMywgMjM2LCAxNTQsIDksIDEzLCAyMzYsIDE1MywgOSwgMTMsIDIzNiwgMTUyLCA5LCAxMywgMjM2LCAxNTEsIDksIDEzLCAKLSAgICAyMzYsIDE1MCwgOSwgMTMsIDIzNiwgMTQ5LCA5LCAxMywgMjM2LCAxNDgsIDksIDEzLCAyMzYsIDE0NywgOSwgMTMsIDIzNiwgCi0gICAgMTQ2LCA5LCAxMywgMjM2LCAxNDUsIDksIDEzLCAyMzYsIDE0NCwgOSwgMTMsIDIzNiwgMTQzLCA5LCAxMywgMjM2LCAxNDIsIAotICAgIDksIDEzLCAyMzYsIDE0MSwgOSwgMTMsIDIzNiwgMTQwLCA5LCAxMywgMjM2LCAxMzksIDksIDEzLCAyMzYsIDEzOCwgOSwgCi0gICAgMTMsIDIzNiwgMTM3LCA5LCAxMywgMjM2LCAxMzYsIDksIDEzLCAyMzYsIDEzNSwgOSwgMTMsIDIzNiwgMTM0LCA5LCAxMywgCi0gICAgMjM2LCAxMzMsIDksIDEzLCAyMzYsIDEzMiwgOSwgMTMsIDIzNiwgMTMxLCA5LCAxMywgMjM2LCAxMzAsIDksIDEzLCAyMzYsIAotICAgIDEyOSwgOSwgMTMsIDIzNiwgMTI4LCA5LCAxMywgMjM2LCAxMjcsIDksIDEzLCAyMzYsIDEyNiwgOSwgMTMsIDIzNiwgMTI1LCAKLSAgICA5LCAxMywgMjM2LCAxMjQsIDksIDEzLCAyMzYsIDEyMywgOSwgMTMsIDIzNiwgMTIyLCA5LCAxMywgMjM2LCAxMjEsIDksIAotICAgIDEzLCAyMzYsIDEyMCwgOSwgMTMsIDIzNiwgMTE5LCA5LCAxMywgMjM2LCAxMTgsIDksIDEzLCAyMzYsIDExNywgOSwgMTMsIAotICAgIDIzNiwgMTE2LCA5LCAxMywgMjM2LCAxMTUsIDksIDEzLCAyMzYsIDExNCwgOSwgMTMsIDIzNiwgMTEzLCA5LCAxMywgMjM2LCAKLSAgICAxMTIsIDksIDEzLCAyMzYsIDExMSwgOSwgMTMsIDIzNiwgMTEwLCA5LCAxMywgMjM2LCAxMDksIDksIDEzLCAyMzYsIDEwOCwgCi0gICAgOSwgMTMsIDIzNiwgMTA3LCA5LCAxMywgMjM2LCAxMDYsIDksIDEzLCAyMzYsIDEwNSwgOSwgMTMsIDIzNiwgMTA0LCA5LCAKLSAgICAxMywgMjM2LCAxMDMsIDksIDEzLCAyMzYsIDEwMiwgOSwgMTMsIDIzNiwgMTAxLCA5LCAxMywgMjM2LCAxMDAsIDksIDEzLCAKLSAgICAyMzYsIDk5LCA5LCAxMywgMjM2LCA5OCwgOSwgMTMsIDIzNiwgOTcsIDksIDEzLCAyMzYsIDk2LCA5LCAxMywgMjM2LCA5NSwgCi0gICAgOSwgMTMsIDIzNiwgOTQsIDksIDEzLCAyMzYsIDkzLCA5LCAxMywgMjM2LCA5MiwgOSwgMTMsIDIzNiwgOTEsIDksIDEzLCAKLSAgICAyMzYsIDkwLCA5LCAxMywgMjM2LCA4OSwgOSwgMTMsIDIzNiwgODgsIDksIDEzLCAyMzYsIDg3LCA5LCAxMywgMjM2LCA4NiwgCi0gICAgOSwgMTMsIDIzNiwgODUsIDksIDEzLCAyMzYsIDg0LCA5LCAxMywgMjM2LCA4MywgOSwgMTMsIDIzNiwgODIsIDksIDEzLCAKLSAgICAyMzYsIDgxLCA5LCAxMywgMjM2LCA4MCwgOSwgMTMsIDIzNiwgNzksIDksIDEzLCAyMzYsIDc4LCA5LCAxMywgMjM2LCA3NywgCi0gICAgOSwgMTMsIDIzNiwgNzYsIDksIDEzLCAyMzYsIDc1LCA5LCAxMywgMjM2LCA3NCwgOSwgMTMsIDIzNiwgNzMsIDksIDEzLCAKLSAgICAyMzYsIDcyLCA5LCAxMywgMjM2LCA3MSwgOSwgMTMsIDIzNiwgNzAsIDksIDEzLCAyMzYsIDY5LCA5LCAxMywgMjM2LCA2OCwgCi0gICAgOSwgMTMsIDIzNiwgNjcsIDksIDEzLCAyMzYsIDY2LCA5LCAxMywgMjM2LCA2NSwgOSwgMTMsIDIzNiwgNjQsIDksIDEzLCAKLSAgICAyMzYsIDYzLCA5LCAxMywgMjM2LCA2MiwgOSwgMTMsIDIzNiwgNjEsIDksIDEzLCAyMzYsIDYwLCA3LCAzLCAyNiwgMjQ0LCAKLSAgICA5NCwgNywgMywgMjYsIDI0NCwgOTAsIDcsIDMsIDI2LCAyNDQsIDQ1LCA3LCAzLCAyNiwgMjQ0LCA5MywgNywgMywgMjYsIAotICAgIDI0NCwgOTIsIDcsIDMsIDI2LCAxODQsIDIyMywgNCwgMjE4LCA5OSwgNywgMywgMjYsIDIxOSwgMTA3LCAxNDEsIDMsIDI2LCAKLSAgICAyMzEsIDEyMywgMjI4LCAxNTAsIDE0MSwgMywgMjYsIDIzMSwgMTIzLCAyNDUsIDE2OSwgMTQxLCAzLCAyNiwgMjMxLCAxMjMsIAotICAgIDIzNSwgMjI0LCAxNDEsIDMsIDI2LCAyMTQsIDE1NywgMjI4LCAxNTAsIDE0MSwgMywgMjYsIDIzMSwgMTIzLCAyMTMsIDE0OCwgCi0gICAgOTMsIDEsIDIxMiwgMjI1LCAyLCAyNDEsIDE0NCwgOTMsIDIyNSwgMTQ1LCAyMzUsIDUzLCAyMTQsIDI0MywgOTMsIDI2LCAKLSAgICAyMTIsIDI1MywgMjEyLCAyMjUsIDIxMiwgMjI1LCAyMjYsIDExMiwgOTMsIDEsIDI1NCwgNDgsIDI1MywgNzgsIDkzLCAxLCAKLSAgICAyMTMsIDIzMiwgMjU0LCA3OCwgOTMsIDEsIDIxMywgMjMyLCAyNDgsIDEzNCwgOTMsIDEsIDIxMywgMjMyLCAyNDEsIDIyMiwgCi0gICAgOTMsIDEsIDIxMywgMjMyLCAyMzQsIDI1NCwgOTMsIDEsIDIxMywgMjMyLCAyMzMsIDExOCwgOTMsIDEsIDIxMywgMjMyLCAKLSAgICA0MCwgMjMxLCAxMjksIDkzLCAxLCAyMTMsIDIzMiwgMjIzLCAyMTksIDkzLCAxLCAyMTMsIDIzMiwgMjE3LCAyNDUsIDkzLCAKLSAgICAxLCAyNTQsIDQ4LCA5NCwgNTIsIDkzLCAxLCAyMjAsIDIwMSwgMiwgMjIwLCAyMDEsIDI0NywgNzQsIDkzLCAxLCAyMjAsIAotICAgIDIwMSwgMiwgMjIwLCA4NSwgMjQ3LCA3NCwgOTMsIDEsIDIyMCwgMjAxLCAyLCAyNDgsIDE1MSwgMjQsIDIyMCwgMjAxLCAKLSAgICAyNDcsIDc0LCA5MywgMSwgMjIwLCAyMDEsIDIsIDI0OCwgMTUxLCAyNCwgMjIwLCA4NSwgMjQ3LCA3NCwgOTMsIDEsIDEwNiwgCi0gICAgMiwgMjI2LCAxMTIsIDkzLCAxLCAxMDYsIDIsIDIyNCwgMjIwLCA5MywgMSwgMTA2LCAyLCAyMzEsIDIzNCwgOTMsIDEsIAotICAgIDI1MSwgMjA2LCAyLCAyNDgsIDE1MCwgOTMsIDEsIDI0MiwgMTc4LCAyLCAyNDgsIDE1MCwgOTMsIDEsIDI0OCwgMTM1LCAyLCAKLSAgICAyNDgsIDE1MCwgOTMsIDEsIDI0MSwgMjIzLCAyLCAyMzEsIDIzNCwgOTMsIDEsIDIxNCwgMjM3LCAyLCAyNDgsIDE1MCwgOTMsIAotICAgIDEsIDIxMiwgOTEsIDIsIDI0OCwgMTUwLCA5MywgMSwgMjE3LCAxODQsIDIsIDI0OCwgMTUwLCA5MywgMSwgMjEyLCAyMjUsIAotICAgIDIsIDI0OCwgMTUwLCA5MywgMSwgNDAsIDIzNCwgMjU1LCAyLCAyNDgsIDE1MCwgOTMsIDEsIDIzNCwgMjU1LCAyLCAyNDgsIAotICAgIDE1MCwgOTMsIDEsIDIzMywgMTE5LCAyLCAyNDgsIDE1MCwgOTMsIDEsIDIzMSwgMTMwLCAyLCAyNDgsIDE1MCwgOTMsIDEsIAotICAgIDIyOCwgNTEsIDIsIDI0OCwgMTUwLCA5MywgMSwgMjIyLCAxNjUsIDIsIDI0OCwgMTUwLCA5MywgMSwgNDAsIDIyNiwgOTcsIAotICAgIDIsIDI0OCwgMTUwLCA5MywgMSwgMjI2LCA5NywgMiwgMjQ4LCAxNTAsIDkzLCAxLCAyMTYsIDEzOCwgMiwgMjQ4LCAxNTAsIAotICAgIDkzLCAxLCAyMjQsIDE4NSwgMiwgMjQ4LCAxNTAsIDkzLCAxLCAyMjMsIDIyMCwgMiwgMjQ4LCAxNTAsIDkzLCAxLCAyMjAsIAotICAgIDIwMSwgMiwgMjQ4LCAxNTAsIDkzLCAxLCAyMTcsIDI0NiwgMiwgMjQ4LCAxNTAsIDkzLCAxLCAyMTQsIDIzNywgMiwgMjQxLCAKLSAgICA0NywgOTMsIDEsIDI1MSwgMjA2LCAyLCAyMjQsIDU5LCA5MywgMSwgMjM0LCAyNTUsIDIsIDIyNCwgNTksIDkzLCAxLCAyMjYsIAotICAgIDk3LCAyLCAyMjQsIDU5LCA5MywgMjYsIDEwNiwgMjMzLCAxMTgsIDEyLCAxLCAxMDYsIDIxNCwgMzEsIDQ4LCAxNywgMTIsIAotICAgIDEsIDEwNiwgMjE0LCAzMSwgNDAsIDE3LCAxMiwgMSwgMjUxLCAyNDEsIDQ4LCAxNywgMTIsIDEsIDI1MSwgMjQxLCA0MCwgCi0gICAgMTcsIDEyLCAxLCAyNTEsIDI0MSwgNzAsIDE3LCAxMiwgMSwgMjUxLCAyNDEsIDEzOCwgMTcsIDEyLCAxLCAyMjYsIDgxLCAKLSAgICA0OCwgMTcsIDEyLCAxLCAyMjYsIDgxLCA0MCwgMTcsIDEyLCAxLCAyMjYsIDgxLCA3MCwgMTcsIDEyLCAxLCAyMjYsIDgxLCAKLSAgICAxMzgsIDE3LCAxMiwgMSwgMjUxLCAyMjksIDQ4LCAxNywgMTIsIDEsIDI1MSwgMjI5LCA0MCwgMTcsIDEyLCAxLCAyNTEsIAotICAgIDIyOSwgNzAsIDE3LCAxMiwgMSwgMjUxLCAyMjksIDEzOCwgMTcsIDEyLCAxLCAyMTYsIDEwOCwgNDgsIDE3LCAxMiwgMSwgCi0gICAgMjE2LCAxMDgsIDQwLCAxNywgMTIsIDEsIDIxNiwgMTA4LCA3MCwgMTcsIDEyLCAxLCAyMTYsIDEwOCwgMTM4LCAxNywgMTIsIAotICAgIDEsIDIxNywgMjE0LCA0OCwgMTcsIDEyLCAxLCAyMTcsIDIxNCwgNDAsIDE3LCAxMiwgMSwgMjE3LCAyMTQsIDcwLCAxNywgCi0gICAgMTIsIDEsIDIxNywgMjE0LCAxMzgsIDE3LCAxMiwgMSwgMjE2LCAxMTAsIDQ4LCAxNywgMTIsIDEsIDIxNiwgMTEwLCA0MCwgCi0gICAgMTcsIDEyLCAxLCAyMTYsIDExMCwgNzAsIDE3LCAxMiwgMSwgMjE2LCAxMTAsIDEzOCwgMTcsIDEyLCAxLCAyMTQsIDIyNiwgCi0gICAgNDgsIDE3LCAxMiwgMSwgMjE0LCAyMjYsIDQwLCAxNywgMTIsIDEsIDIxNCwgMjI2LCA3MCwgMTcsIDEyLCAxLCAyMTQsIAotICAgIDIyNiwgMTM4LCAxNywgMTIsIDEsIDIyNiwgNzksIDQ4LCAxNywgMTIsIDEsIDIyNiwgNzksIDQwLCAxNywgMTIsIDEsIDIyNiwgCi0gICAgNzksIDcwLCAxNywgMTIsIDEsIDIyNiwgNzksIDEzOCwgMTcsIDEyLCAxLCAyNDUsIDI1NSwgNDgsIDE3LCAxMiwgMSwgMjQ1LCAKLSAgICAyNTUsIDQwLCAxNywgMTIsIDEsIDI0NSwgMjU1LCA3MCwgMTcsIDEyLCAxLCAyNDUsIDI1NSwgMTM4LCAxNywgMTIsIDEsIAotICAgIDIyOCwgMTUsIDQ4LCAxNywgMTIsIDEsIDIyOCwgMTUsIDQwLCAxNywgMTIsIDEsIDIyOCwgMTUsIDcwLCAxNywgMTIsIDEsIAotICAgIDIyOCwgMTUsIDEzOCwgMTcsIDEyLCAxLCAyMTcsIDIzNCwgNDgsIDE3LCAxMiwgMSwgMjE3LCAyMzQsIDQwLCAxNywgMTIsIAotICAgIDEsIDIxNywgMjM0LCA3MCwgMTcsIDEyLCAxLCAyMTcsIDIzNCwgMTM4LCAxNywgMTIsIDEsIDIxNywgMjMyLCA0OCwgMTcsIAotICAgIDEyLCAxLCAyMTcsIDIzMiwgNDAsIDE3LCAxMiwgMSwgMjE3LCAyMzIsIDcwLCAxNywgMTIsIDEsIDIxNywgMjMyLCAxMzgsIAotICAgIDE3LCAxMiwgMSwgMjQ4LCA4NCwgNDgsIDE3LCAxMiwgMSwgMjQ4LCA4NCwgNDAsIDE3LCAxMiwgMSwgMjQ4LCAxNDcsIDQ4LCAKLSAgICAxNywgMTIsIDEsIDI0OCwgMTQ3LCA0MCwgMTcsIDEyLCAxLCAyNDYsIDI2LCA0OCwgMTcsIDEyLCAxLCAyNDYsIDI2LCA0MCwgCi0gICAgMTcsIDEyLCAxLCAyNDgsIDgyLCA0OCwgMTcsIDEyLCAxLCAyNDgsIDgyLCA0MCwgMTcsIDEyLCAxLCAyMzUsIDEyMiwgNDgsIAotICAgIDE3LCAxMiwgMSwgMjM1LCAxMjIsIDQwLCAxNywgMTIsIDEsIDIyMywgNzgsIDQ4LCAxNywgMTIsIDEsIDIyMywgNzgsIDQwLCAKLSAgICAxNywgMTIsIDEsIDIzNCwgMTgxLCA0OCwgMTcsIDEyLCAxLCAyMzQsIDE4MSwgNDAsIDE3LCAxMiwgMSwgMjM0LCAxODEsIAotICAgIDcwLCAxNywgMTIsIDEsIDIzNCwgMTgxLCAxMzgsIDE3LCAxMiwgMSwgMjQzLCA5OCwgNDgsIDE3LCAxMiwgMSwgMjQzLCA5OCwgCi0gICAgNDAsIDE3LCAxMiwgMSwgMjQzLCA5OCwgNzAsIDE3LCAxMiwgMSwgMjQzLCA5OCwgMTM4LCAxNywgMTIsIDEsIDI0MiwgODMsIAotICAgIDQ4LCAxNywgMTIsIDEsIDI0MiwgODMsIDQwLCAxNywgMTIsIDEsIDI0MiwgODMsIDcwLCAxNywgMTIsIDEsIDI0MiwgODMsIAotICAgIDEzOCwgMTcsIDEyLCAxLCAyMjksIDg5LCA0OCwgMTcsIDEyLCAxLCAyMjksIDg5LCA0MCwgMTcsIDEyLCAxLCAyMjksIDg5LCAKLSAgICA3MCwgMTcsIDEyLCAxLCAyMjksIDg5LCAxMzgsIDE3LCAxMiwgMSwgMjI4LCAxNzQsIDI0MiwgMTk1LCA0OCwgMTcsIDEyLCAKLSAgICAxLCAyMjgsIDE3NCwgMjQyLCAxOTUsIDQwLCAxNywgMTIsIDEsIDIyMywgMTE2LCA0OCwgMTcsIDEyLCAxLCAyMjMsIDExNiwgCi0gICAgNDAsIDE3LCAxMiwgMSwgMjIzLCAxMTYsIDcwLCAxNywgMTIsIDEsIDIyMywgMTE2LCAxMzgsIDE3LCAxMiwgMSwgMjQxLCAKLSAgICAyMDMsIDIsIDczLCA3OCwgNDgsIDE3LCAxMiwgMSwgMjQxLCAyMDMsIDIsIDczLCA3OCwgNDAsIDE3LCAxMiwgMSwgMjQxLCAKLSAgICAyMDMsIDI0MiwgMTQ4LCA0OCwgMTcsIDEyLCAxLCAyNDEsIDIwMywgMjQyLCAxNDgsIDQwLCAxNywgMTIsIDEsIDI0MSwgCi0gICAgMjAzLCAyNDIsIDE0OCwgNzAsIDE3LCAxMiwgMSwgMjQxLCAyMDMsIDI0MiwgMTQ4LCAxMzgsIDE3LCAxMiwgMSwgMjQxLCAKLSAgICAyMDMsIDI0NywgOTYsIDQ4LCAxNywgMTIsIDEsIDI0MSwgMjAzLCAyNDcsIDk2LCA0MCwgMTcsIDEyLCAxLCAyNDEsIDIwMywgCi0gICAgMjQ3LCA5NiwgNzAsIDE3LCAxMiwgMSwgMjQxLCAyMDMsIDI0NywgOTYsIDEzOCwgMTcsIDEyLCAxLCA3MywgMjUyLCA1MywgCi0gICAgNDgsIDE3LCAxMiwgMSwgNzMsIDI1MiwgNTMsIDQwLCAxNywgMTIsIDEsIDczLCAyNTIsIDUzLCAyLCAxOTIsIDc4LCA0OCwgCi0gICAgMTcsIDEyLCAxLCA3MywgMjUyLCA1MywgMiwgMTkyLCA3OCwgNDAsIDE3LCAxMiwgMTYsIDYyLCA0OSwgMTIsIDE2LCA2MiwgCi0gICAgNTUsIDEyLCAxNiwgMTE3LCAxNzYsIDQ5LCAxMiwgMTYsIDExNywgMTc2LCA1NSwgMTIsIDE2LCAxMzMsIDE3NiwgNDksIDEyLCAKLSAgICAxNiwgMTMzLCAxNzYsIDU1LCAxMiwgMTYsIDEzMywgMTc2LCAyMjUsIDE0MSwgMjQ2LCA1OCwgNDksIDEyLCAxNiwgMTMzLCAKLSAgICAxNzYsIDIyNSwgMTQxLCAyNDYsIDU4LCA1NSwgMTIsIDE2LCAyNDMsIDIzNywgMTc2LCA0OSwgMTIsIDE2LCAyNDMsIDIzNywgCi0gICAgMTc2LCA1NSwgMTIsIDE2LCA1MSwgNzEsIDI1MiwgNjAsIDU1LCAxMiwgMTYsIDExNywgMTc2LCAyMTQsIDE2NiwgNDksIDEyLCAKLSAgICAxNiwgMTE3LCAxNzYsIDIxNCwgMTY2LCA1NSwgMTIsIDE2LCAyMjMsIDEzMCwgMTIsIDE2LCAzLCAyMTgsIDMwLCA0OSwgMTIsIAotICAgIDE2LCAzLCAyMTgsIDMwLCA1NSwgMTIsIDEsIDIyOSwgMTYyLCA0OCwgMTcsIDEyLCAxLCAyMjksIDE2MiwgNDAsIDE3LCAxMiwgCi0gICAgMSwgMjI5LCAxNjIsIDcwLCAxNywgMTIsIDEsIDIyOSwgMTYyLCAxMzgsIDE3LCAxMiwgMSwgMTExLCA0OCwgMTcsIDEyLCAxLCAKLSAgICAxMTEsIDQwLCAxNywgMTIsIDEsIDIyNywgMTAwLCA0OCwgMTcsIDEyLCAxLCAyMjcsIDEwMCwgNDAsIDE3LCAxMiwgMSwgCi0gICAgMjEyLCAyMDQsIDQ4LCAxNywgMTIsIDEsIDIxMiwgMjA0LCA0MCwgMTcsIDEyLCAxLCAxMTEsIDIsIDE5MiwgNzgsIDQ4LCAKLSAgICAxNywgMTIsIDEsIDIxNCwgMjMzLCA0OCwgMTcsIDEyLCAxLCAyMTQsIDIzMywgNDAsIDE3LCAxMiwgMSwgMjM0LCA4MiwgCi0gICAgMjI3LCAxMDAsIDQ4LCAxNywgMTIsIDEsIDIzNCwgODIsIDIyNywgMTAwLCA0MCwgMTcsIDEyLCAxLCAyMzQsIDgyLCAyMTIsIAotICAgIDIwNCwgNDgsIDE3LCAxMiwgMSwgMjM0LCA4MiwgMjEyLCAyMDQsIDQwLCAxNywgMTIsIDEsIDE5MSwgNDgsIDE3LCAxMiwgMSwgCi0gICAgMTkxLCA0MCwgMTcsIDEyLCAxLCAxOTEsIDcwLCAxNywgMTIsIDEsIDE5MSwgMTM4LCAxNywgMTIsIDEsIDIxNSwgMTc3LCAKLSAgICAyMzQsIDE5MiwgMjM0LCA4MiwgMTA2LCAyMTAsIDcwLCAxNywgMTIsIDEsIDIxNSwgMTc3LCAyMzQsIDE5MiwgMjM0LCA4MiwgCi0gICAgMTA2LCAyMTAsIDEzOCwgMTcsIDEyLCAyNiwgNzMsIDIsIDE5MiwgNzgsIDIsIDEwNiwgNDgsIDE3LCAxMiwgMjYsIDczLCAyLCAKLSAgICAxOTIsIDc4LCAyLCAxMDYsIDQwLCAxNywgMTIsIDI2LCA3MywgMiwgMTkyLCA3OCwgMiwgMjU0LCAxNDksIDQ4LCAxNywgMTIsIAotICAgIDI2LCA3MywgMiwgMTkyLCA3OCwgMiwgMjU0LCAxNDksIDQwLCAxNywgMTIsIDI2LCA3MywgMiwgMTkyLCA3OCwgMiwgMjE0LCAKLSAgICAxNSwgNDgsIDE3LCAxMiwgMjYsIDczLCAyLCAxOTIsIDc4LCAyLCAyMTQsIDE1LCA0MCwgMTcsIDEyLCAyNiwgNzMsIDIsIAotICAgIDE5MiwgNzgsIDIsIDExMSwgNDgsIDE3LCAxMiwgMjYsIDczLCAyLCAxOTIsIDc4LCAyLCAxMTEsIDQwLCAxNywgMTIsIDI2LCAKLSAgICA3MywgMiwgMTkyLCA3OCwgMiwgMjI3LCAxMDAsIDQ4LCAxNywgMTIsIDI2LCA3MywgMiwgMTkyLCA3OCwgMiwgMjI3LCAxMDAsIAotICAgIDQwLCAxNywgMTIsIDI2LCA3MywgMiwgMTkyLCA3OCwgMiwgMjEyLCAyMDQsIDQ4LCAxNywgMTIsIDI2LCA3MywgMiwgMTkyLCAKLSAgICA3OCwgMiwgMjEyLCAyMDQsIDQwLCAxNywgMTIsIDI2LCA3MywgMiwgMTkyLCA3OCwgMiwgMTkxLCA0OCwgMTcsIDEyLCAyNiwgCi0gICAgNzMsIDIsIDE5MiwgNzgsIDIsIDE5MSwgNDAsIDE3LCAxMiwgMjYsIDczLCAyLCAxOTIsIDc4LCAyLCAxOTEsIDcwLCAxNywgCi0gICAgMTIsIDI2LCAyMTUsIDE3NywgMjM0LCA4MiwgNzMsIDIsIDE5MiwgNzgsIDIsIDEwNiwgMjEwLCA0OCwgMTcsIDEyLCAyNiwgCi0gICAgMjE1LCAxNzcsIDIzNCwgODIsIDczLCAyLCAxOTIsIDc4LCAyLCAxMDYsIDIxMCwgNDAsIDE3LCAxMiwgMjYsIDIxNSwgMTc3LCAKLSAgICAyMzQsIDgyLCA3MywgMiwgMTkyLCA3OCwgMiwgMTA2LCAyMTAsIDcwLCAxNywgMTIsIDEsIDI0NCwgMTM2LCA3MywgNDgsIAotICAgIDE3LCAxMiwgMSwgMjQ0LCAxMzYsIDczLCA0MCwgMTcsIDEyLCAxLCAyNDQsIDEzNiwgNzMsIDcwLCAxNywgMTIsIDEsIDI0NCwgCi0gICAgMTM2LCA3MywgMTM4LCAxNywgMTIsIDI2LCA3MywgMiwgMTkyLCA3OCwgMiwgMTQ1LCA0OCwgMTcsIDEyLCAyNiwgNzMsIDIsIAotICAgIDE5MiwgNzgsIDIsIDEyMSwgNDgsIDE3LCAxMiwgMjYsIDczLCAyLCAxOTIsIDc4LCAyLCA2MywgNDgsIDE3LCAxMiwgMjYsIAotICAgIDczLCAyLCAxOTIsIDc4LCAyLCAxMDYsIDIxMCwgNDgsIDE3LCAxMiwgMjYsIDczLCAyLCAxOTIsIDc4LCAyLCA3MywgNDgsIAotICAgIDE3LCAxMiwgMjYsIDI1MSwgMjMxLCAyLCAxNDUsIDQ4LCAxNywgMTIsIDI2LCAyNTEsIDIzMSwgMiwgMTIxLCA0OCwgMTcsIAotICAgIDEyLCAyNiwgMjUxLCAyMzEsIDIsIDIzNCwgMTM2LCA0OCwgMTcsIDEyLCAyNiwgMjUxLCAyMzEsIDIsIDYzLCA0OCwgMTcsIAotICAgIDEyLCAyNiwgMjUxLCAyMzEsIDIsIDEwNiwgMjEwLCA0OCwgMTcsIDEyLCAyNiwgMjUxLCAyMzEsIDIsIDczLCA0OCwgMTcsIAotICAgIDEyLCAyNiwgMjE3LCAyMTYsIDIsIDE0NSwgNDgsIDE3LCAxMiwgMjYsIDIxNywgMjE2LCAyLCAxMjEsIDQ4LCAxNywgMTIsIAotICAgIDI2LCAyMTcsIDIxNiwgMiwgMjM0LCAxMzYsIDQ4LCAxNywgMTIsIDI2LCAyMTcsIDIxNiwgMiwgNjMsIDQ4LCAxNywgMTIsIAotICAgIDI2LCAyMTcsIDIxNiwgMiwgMTA2LCAyMTAsIDQ4LCAxNywgMTIsIDI2LCAyMTcsIDIxNiwgMiwgNzMsIDQ4LCAxNywgMTIsIAotICAgIDI2LCAyMTcsIDE0NiwgMiwgMTQ1LCA0OCwgMTcsIDEyLCAyNiwgMjE3LCAxNDYsIDIsIDYzLCA0OCwgMTcsIDEyLCAyNiwgCi0gICAgMjE3LCAxNDYsIDIsIDEwNiwgMjEwLCA0OCwgMTcsIDEyLCAyNiwgMjE3LCAxNDYsIDIsIDczLCA0OCwgMTcsIDEyLCAyNiwgCi0gICAgMTQ1LCAyLCAxMjEsIDQ4LCAxNywgMTIsIDI2LCAxNDUsIDIsIDYzLCA0OCwgMTcsIDEyLCAyNiwgMTIxLCAyLCAxNDUsIDQ4LCAKLSAgICAxNywgMTIsIDI2LCAxMjEsIDIsIDYzLCA0OCwgMTcsIDEyLCAyNiwgMjM0LCAxMzYsIDIsIDE0NSwgNDgsIDE3LCAxMiwgMjYsIAotICAgIDIzNCwgMTM2LCAyLCAxMjEsIDQ4LCAxNywgMTIsIDI2LCAyMzQsIDEzNiwgMiwgNjMsIDQ4LCAxNywgMTIsIDI2LCAyMjIsIAotICAgIDg2LCAyLCAxNDUsIDQ4LCAxNywgMTIsIDI2LCAyMjIsIDg2LCAyLCAxMjEsIDQ4LCAxNywgMTIsIDI2LCAyMjIsIDg2LCAyLCAKLSAgICAyMzQsIDEzNiwgNDgsIDE3LCAxMiwgMjYsIDIyMiwgODYsIDIsIDYzLCA0OCwgMTcsIDEyLCAyNiwgMjIyLCAxOTYsIDIsIAotICAgIDEyMSwgNDgsIDE3LCAxMiwgMjYsIDIyMiwgMTk2LCAyLCA2MywgNDgsIDE3LCAxMiwgMjYsIDI0OCwgMTYwLCAyLCAxNDUsIAotICAgIDQ4LCAxNywgMTIsIDI2LCAyNDgsIDE2MCwgMiwgMTIxLCA0OCwgMTcsIDEyLCAyNiwgMjQ4LCAxNjAsIDIsIDIzNCwgMTM2LCAKLSAgICA0OCwgMTcsIDEyLCAyNiwgMjQ4LCAxNjAsIDIsIDYzLCA0OCwgMTcsIDEyLCAyNiwgMjE4LCAzMCwgMiwgMTIxLCA0OCwgMTcsIAotICAgIDEyLCAyNiwgMjE4LCAzMCwgMiwgNjMsIDQ4LCAxNywgMTIsIDI2LCAyMTIsIDEwNSwgMiwgNjMsIDQ4LCAxNywgMTIsIDI2LCAKLSAgICAyNTQsIDEwNCwgMiwgMTQ1LCA0OCwgMTcsIDEyLCAyNiwgMjU0LCAxMDQsIDIsIDYzLCA0OCwgMTcsIDEyLCAyNiwgMjQyLCAKLSAgICAyMjEsIDIsIDE0NSwgNDgsIDE3LCAxMiwgMjYsIDI0MiwgMjIxLCAyLCA2MywgNDgsIDE3LCAxMiwgMjYsIDI0NCwgMTEyLCAKLSAgICAyLCAxNDUsIDQ4LCAxNywgMTIsIDI2LCAyNDQsIDExMiwgMiwgMTIxLCA0OCwgMTcsIDEyLCAyNiwgMjQ0LCAxMTIsIDIsIAotICAgIDIzNCwgMTM2LCA0OCwgMTcsIDEyLCAyNiwgMjQ0LCAxMTIsIDIsIDYzLCA0OCwgMTcsIDEyLCAyNiwgMjQ0LCAxMTIsIDIsIAotICAgIDEwNiwgMjEwLCA0OCwgMTcsIDEyLCAyNiwgMjQ0LCAxMTIsIDIsIDczLCA0OCwgMTcsIDEyLCAyNiwgMjI0LCAyMjYsIDIsIAotICAgIDEyMSwgNDgsIDE3LCAxMiwgMjYsIDIyNCwgMjI2LCAyLCA2MywgNDgsIDE3LCAxMiwgMjYsIDIyNCwgMjI2LCAyLCAxMDYsIAotICAgIDIxMCwgNDgsIDE3LCAxMiwgMjYsIDIyNCwgMjI2LCAyLCA3MywgNDgsIDE3LCAxMiwgMjYsIDIzNCwgMjU1LCAyLCAxMDYsIAotICAgIDQ4LCAxNywgMTIsIDI2LCAyMzQsIDI1NSwgMiwgMTQ1LCA0OCwgMTcsIDEyLCAyNiwgMjM0LCAyNTUsIDIsIDEyMSwgNDgsIAotICAgIDE3LCAxMiwgMjYsIDIzNCwgMjU1LCAyLCAyMzQsIDEzNiwgNDgsIDE3LCAxMiwgMjYsIDIzNCwgMjU1LCAyLCAyMzMsIDEyNywgCi0gICAgNDgsIDE3LCAxMiwgMjYsIDIzNCwgMjU1LCAyLCA2MywgNDgsIDE3LCAxMiwgMjYsIDIzNCwgMjU1LCAyLCAxMDYsIDIxMCwgCi0gICAgNDgsIDE3LCAxMiwgMjYsIDIzNCwgMjU1LCAyLCA3MywgNDgsIDE3LCAxMiwgMjYsIDIzMywgMTI3LCAyLCAxNDUsIDQ4LCAKLSAgICAxNywgMTIsIDI2LCAyMzMsIDEyNywgMiwgMTIxLCA0OCwgMTcsIDEyLCAyNiwgMjMzLCAxMjcsIDIsIDIzNCwgMTM2LCA0OCwgCi0gICAgMTcsIDEyLCAyNiwgMjMzLCAxMjcsIDIsIDYzLCA0OCwgMTcsIDEyLCAyNiwgMjMzLCAxMjcsIDIsIDEwNiwgMjEwLCA0OCwgCi0gICAgMTcsIDEyLCAyNiwgMjMzLCAxMjcsIDIsIDczLCA0OCwgMTcsIDEyLCAyNiwgNjMsIDIsIDE0NSwgNDgsIDE3LCAxMiwgMjYsIAotICAgIDYzLCAyLCAxMjEsIDQ4LCAxNywgMTIsIDI2LCA2MywgMiwgMjM0LCAxMzYsIDQ4LCAxNywgMTIsIDI2LCA2MywgMiwgNjMsIAotICAgIDQ4LCAxNywgMTIsIDI2LCA2MywgMiwgMTA2LCAyMTAsIDQ4LCAxNywgMTIsIDI2LCA2MywgMiwgNzMsIDQ4LCAxNywgMTIsIAotICAgIDI2LCAyMjgsIDE3NCwgMiwgMTQ1LCA0OCwgMTcsIDEyLCAyNiwgMjI4LCAxNzQsIDIsIDEyMSwgNDgsIDE3LCAxMiwgMjYsIAotICAgIDIyOCwgMTc0LCAyLCAyMzQsIDEzNiwgNDgsIDE3LCAxMiwgMjYsIDIyOCwgMTc0LCAyLCA2MywgNDgsIDE3LCAxMiwgMjYsIAotICAgIDIyOCwgMTc0LCAyLCAxMDYsIDIxMCwgNDgsIDE3LCAxMiwgMjYsIDIyOCwgMTc0LCAyLCA3MywgNDgsIDE3LCAxMiwgMjYsIAotICAgIDI0MSwgMjAzLCAyLCAxNDUsIDQ4LCAxNywgMTIsIDI2LCAyNDEsIDIwMywgMiwgNjMsIDQ4LCAxNywgMTIsIDI2LCAyNDEsIAotICAgIDIwMywgMiwgMTA2LCAyMTAsIDQ4LCAxNywgMTIsIDI2LCAyNDEsIDIwMywgMiwgNzMsIDQ4LCAxNywgMTIsIDI2LCA3MywgMiwgCi0gICAgMTQ1LCA0OCwgMTcsIDEyLCAyNiwgNzMsIDIsIDEyMSwgNDgsIDE3LCAxMiwgMjYsIDczLCAyLCAyMzQsIDEzNiwgNDgsIDE3LCAKLSAgICAxMiwgMjYsIDczLCAyLCA2MywgNDgsIDE3LCAxMiwgMjYsIDczLCAyLCAxMDYsIDIxMCwgNDgsIDE3LCAxMiwgMjYsIDczLCAKLSAgICAyLCA3MywgNDgsIDE3LCAxMiwgMjYsIDIxNywgMTU2LCAyLCAyMTgsIDIyMywgMTA2LCA0OCwgMTcsIDEyLCAyNiwgMjIzLCAKLSAgICAyNDYsIDIsIDIxOCwgMjIzLCAxMDYsIDQ4LCAxNywgMTIsIDI2LCAxMDYsIDIxMCwgMiwgMjE4LCAyMjMsIDEwNiwgNDgsIAotICAgIDE3LCAxMiwgMjYsIDIyMSwgMTYsIDIsIDI0OCwgMTI4LCA0OCwgMTcsIDEyLCAyNiwgMjIxLCAxNiwgMiwgMjM0LCAyMDksIAotICAgIDQ4LCAxNywgMTIsIDI2LCAyMjEsIDE2LCAyLCAyNDQsIDEzNCwgNDgsIDE3LCAxMiwgMjYsIDIyMSwgMTYsIDIsIDI0OCwgCi0gICAgMTMwLCA0OCwgMTcsIDEyLCAyNiwgMjIxLCAxNiwgMiwgMjM0LCAyMTEsIDQ4LCAxNywgMTIsIDI2LCAyMjEsIDE2LCAyLCAKLSAgICAyMTgsIDIyMywgMTA2LCA0OCwgMTcsIDEyLCAyNiwgNzMsIDIsIDE5MiwgNzgsIDIsIDIyMywgMjQ2LCA0MCwgMTcsIDEyLCAKLSAgICAyNiwgNzMsIDIsIDE5MiwgNzgsIDIsIDIxMiwgMTAyLCA0MCwgMTcsIDEyLCAyNiwgNzMsIDIsIDE5MiwgNzgsIDIsIDYzLCAKLSAgICA0MCwgMTcsIDEyLCAyNiwgNzMsIDIsIDE5MiwgNzgsIDIsIDIyOCwgMTc0LCA0MCwgMTcsIDEyLCAyNiwgNzMsIDIsIDE5MiwgCi0gICAgNzgsIDIsIDEwNiwgMjEwLCA0MCwgMTcsIDEyLCAyNiwgNzMsIDIsIDE5MiwgNzgsIDIsIDczLCA0MCwgMTcsIDEyLCAyNiwgCi0gICAgMjUxLCAyMzEsIDIsIDIyMywgMjQ2LCA0MCwgMTcsIDEyLCAyNiwgMjUxLCAyMzEsIDIsIDIxMiwgMTAyLCA0MCwgMTcsIDEyLCAKLSAgICAyNiwgMjUxLCAyMzEsIDIsIDYzLCA0MCwgMTcsIDEyLCAyNiwgMjUxLCAyMzEsIDIsIDIyOCwgMTc0LCA0MCwgMTcsIDEyLCAKLSAgICAyNiwgMjUxLCAyMzEsIDIsIDEwNiwgMjEwLCA0MCwgMTcsIDEyLCAyNiwgMjUxLCAyMzEsIDIsIDczLCA0MCwgMTcsIDEyLCAKLSAgICAyNiwgMjE3LCAyMTYsIDIsIDIyMywgMjQ2LCA0MCwgMTcsIDEyLCAyNiwgMjE3LCAyMTYsIDIsIDIxMiwgMTAyLCA0MCwgMTcsIAotICAgIDEyLCAyNiwgMjE3LCAyMTYsIDIsIDYzLCA0MCwgMTcsIDEyLCAyNiwgMjE3LCAyMTYsIDIsIDIyOCwgMTc0LCA0MCwgMTcsIAotICAgIDEyLCAyNiwgMjE3LCAyMTYsIDIsIDEwNiwgMjEwLCA0MCwgMTcsIDEyLCAyNiwgMjE3LCAyMTYsIDIsIDczLCA0MCwgMTcsIAotICAgIDEyLCAyNiwgMjE3LCAxNDYsIDIsIDIyMywgMjQ2LCA0MCwgMTcsIDEyLCAyNiwgMjE3LCAxNDYsIDIsIDIxMiwgMTAyLCA0MCwgCi0gICAgMTcsIDEyLCAyNiwgMjE3LCAxNDYsIDIsIDYzLCA0MCwgMTcsIDEyLCAyNiwgMjE3LCAxNDYsIDIsIDIyOCwgMTc0LCA0MCwgCi0gICAgMTcsIDEyLCAyNiwgMjE3LCAxNDYsIDIsIDEwNiwgMjEwLCA0MCwgMTcsIDEyLCAyNiwgMjE3LCAxNDYsIDIsIDczLCA0MCwgCi0gICAgMTcsIDEyLCAyNiwgMjQ0LCAxMTIsIDIsIDEwNiwgMjEwLCA0MCwgMTcsIDEyLCAyNiwgMjQ0LCAxMTIsIDIsIDczLCA0MCwgCi0gICAgMTcsIDEyLCAyNiwgMjI0LCAyMjYsIDIsIDEwNiwgMjEwLCA0MCwgMTcsIDEyLCAyNiwgMjI0LCAyMjYsIDIsIDczLCA0MCwgCi0gICAgMTcsIDEyLCAyNiwgMjM0LCAyNTUsIDIsIDEwNiwgNDAsIDE3LCAxMiwgMjYsIDIzNCwgMjU1LCAyLCAyMzMsIDEyNywgNDAsIAotICAgIDE3LCAxMiwgMjYsIDIzNCwgMjU1LCAyLCA2MywgNDAsIDE3LCAxMiwgMjYsIDIzNCwgMjU1LCAyLCAxMDYsIDIxMCwgNDAsIAotICAgIDE3LCAxMiwgMjYsIDIzNCwgMjU1LCAyLCA3MywgNDAsIDE3LCAxMiwgMjYsIDIzMywgMTI3LCAyLCA2MywgNDAsIDE3LCAxMiwgCi0gICAgMjYsIDIzMywgMTI3LCAyLCAxMDYsIDIxMCwgNDAsIDE3LCAxMiwgMjYsIDIzMywgMTI3LCAyLCA3MywgNDAsIDE3LCAxMiwgCi0gICAgMjYsIDYzLCAyLCAxMDYsIDQwLCAxNywgMTIsIDI2LCA2MywgMiwgNjMsIDQwLCAxNywgMTIsIDI2LCAyMjgsIDE3NCwgMiwgCi0gICAgMjIzLCAyNDYsIDQwLCAxNywgMTIsIDI2LCAyMjgsIDE3NCwgMiwgMjEyLCAxMDIsIDQwLCAxNywgMTIsIDI2LCAyMjgsIAotICAgIDE3NCwgMiwgNjMsIDQwLCAxNywgMTIsIDI2LCAyMjgsIDE3NCwgMiwgMjI4LCAxNzQsIDQwLCAxNywgMTIsIDI2LCAyMjgsIAotICAgIDE3NCwgMiwgMTA2LCAyMTAsIDQwLCAxNywgMTIsIDI2LCAyMjgsIDE3NCwgMiwgNzMsIDQwLCAxNywgMTIsIDI2LCAxMDYsIAotICAgIDIxMCwgMiwgMjE4LCAyMjMsIDEwNiwgNDAsIDE3LCAxMiwgMjYsIDczLCAyLCAyMjMsIDI0NiwgNDAsIDE3LCAxMiwgMjYsIAotICAgIDczLCAyLCAyMTIsIDEwMiwgNDAsIDE3LCAxMiwgMjYsIDczLCAyLCA2MywgNDAsIDE3LCAxMiwgMjYsIDczLCAyLCAyMjgsIAotICAgIDE3NCwgNDAsIDE3LCAxMiwgMjYsIDczLCAyLCAxMDYsIDIxMCwgNDAsIDE3LCAxMiwgMjYsIDczLCAyLCA3MywgNDAsIDE3LCAKLSAgICAxMiwgMjYsIDczLCAyLCAxOTIsIDc4LCAyLCAxNDUsIDcwLCAxNywgMTIsIDI2LCA3MywgMiwgMTkyLCA3OCwgMiwgMTIxLCAKLSAgICA3MCwgMTcsIDEyLCAyNiwgNzMsIDIsIDE5MiwgNzgsIDIsIDIzNCwgMTM2LCA3MCwgMTcsIDEyLCAyNiwgNzMsIDIsIDE5MiwgCi0gICAgNzgsIDIsIDYzLCA3MCwgMTcsIDEyLCAyNiwgNzMsIDIsIDE5MiwgNzgsIDIsIDI0MSwgMjAzLCA3MCwgMTcsIDEyLCAyNiwgCi0gICAgMjUxLCAyMzEsIDIsIDE0NSwgNzAsIDE3LCAxMiwgMjYsIDI1MSwgMjMxLCAyLCAxMjEsIDcwLCAxNywgMTIsIDI2LCAyNTEsIAotICAgIDIzMSwgMiwgMjM0LCAxMzYsIDcwLCAxNywgMTIsIDI2LCAyNTEsIDIzMSwgMiwgNjMsIDcwLCAxNywgMTIsIDI2LCAyNTEsIAotICAgIDIzMSwgMiwgMjQxLCAyMDMsIDcwLCAxNywgMTIsIDI2LCAyMTcsIDIxNiwgMiwgMTQ1LCA3MCwgMTcsIDEyLCAyNiwgMjE3LCAKLSAgICAyMTYsIDIsIDEyMSwgNzAsIDE3LCAxMiwgMjYsIDIxNywgMjE2LCAyLCAyMzQsIDEzNiwgNzAsIDE3LCAxMiwgMjYsIDIxNywgCi0gICAgMjE2LCAyLCA2MywgNzAsIDE3LCAxMiwgMjYsIDIxNywgMjE2LCAyLCAyNDEsIDIwMywgNzAsIDE3LCAxMiwgMjYsIDIxNywgCi0gICAgMTQ2LCAyLCA2MywgNzAsIDE3LCAxMiwgMjYsIDE0NSwgMiwgMTIxLCA3MCwgMTcsIDEyLCAyNiwgMTQ1LCAyLCA2MywgNzAsIAotICAgIDE3LCAxMiwgMjYsIDEyMSwgMiwgMTQ1LCA3MCwgMTcsIDEyLCAyNiwgMTIxLCAyLCA2MywgNzAsIDE3LCAxMiwgMjYsIDIzNCwgCi0gICAgMTM2LCAyLCAxNDUsIDcwLCAxNywgMTIsIDI2LCAyMzQsIDEzNiwgMiwgNjMsIDcwLCAxNywgMTIsIDI2LCAyMjIsIDg2LCAyLCAKLSAgICAxNDUsIDcwLCAxNywgMTIsIDI2LCAyMjIsIDg2LCAyLCAxMjEsIDcwLCAxNywgMTIsIDI2LCAyMjIsIDg2LCAyLCAyMzQsIAotICAgIDEzNiwgNzAsIDE3LCAxMiwgMjYsIDIyMiwgODYsIDIsIDYzLCA3MCwgMTcsIDEyLCAyNiwgMjIyLCAxOTYsIDIsIDEyMSwgCi0gICAgNzAsIDE3LCAxMiwgMjYsIDIyMiwgMTk2LCAyLCAyMzQsIDEzNiwgNzAsIDE3LCAxMiwgMjYsIDIyMiwgMTk2LCAyLCA2MywgCi0gICAgNzAsIDE3LCAxMiwgMjYsIDI0OCwgMTYwLCAyLCAxNDUsIDcwLCAxNywgMTIsIDI2LCAyNDgsIDE2MCwgMiwgMTIxLCA3MCwgCi0gICAgMTcsIDEyLCAyNiwgMjQ4LCAxNjAsIDIsIDIzNCwgMTM2LCA3MCwgMTcsIDEyLCAyNiwgMjQ4LCAxNjAsIDIsIDYzLCA3MCwgCi0gICAgMTcsIDEyLCAyNiwgMjE4LCAzMCwgMiwgMTIxLCA3MCwgMTcsIDEyLCAyNiwgMjEyLCAxMDUsIDIsIDYzLCA3MCwgMTcsIDEyLCAKLSAgICAyNiwgMjU0LCAxMDQsIDIsIDE0NSwgNzAsIDE3LCAxMiwgMjYsIDI1NCwgMTA0LCAyLCA2MywgNzAsIDE3LCAxMiwgMjYsIAotICAgIDI0MiwgMjIxLCAyLCAxNDUsIDcwLCAxNywgMTIsIDI2LCAyNDIsIDIyMSwgMiwgNjMsIDcwLCAxNywgMTIsIDI2LCAyNDQsIAotICAgIDExMiwgMiwgMTQ1LCA3MCwgMTcsIDEyLCAyNiwgMjQ0LCAxMTIsIDIsIDEyMSwgNzAsIDE3LCAxMiwgMjYsIDI0NCwgMTEyLCAKLSAgICAyLCAyMzQsIDEzNiwgNzAsIDE3LCAxMiwgMjYsIDI0NCwgMTEyLCAyLCA2MywgNzAsIDE3LCAxMiwgMjYsIDIyNCwgMjI2LCAKLSAgICAyLCAxMjEsIDcwLCAxNywgMTIsIDI2LCAyMjQsIDIyNiwgMiwgNjMsIDcwLCAxNywgMTIsIDI2LCAyMzQsIDI1NSwgMiwgCi0gICAgMTQ1LCA3MCwgMTcsIDEyLCAyNiwgMjM0LCAyNTUsIDIsIDEyMSwgNzAsIDE3LCAxMiwgMjYsIDIzNCwgMjU1LCAyLCAyMzQsIAotICAgIDEzNiwgNzAsIDE3LCAxMiwgMjYsIDIzNCwgMjU1LCAyLCAyMzMsIDEyNywgNzAsIDE3LCAxMiwgMjYsIDIzNCwgMjU1LCAyLCAKLSAgICA2MywgNzAsIDE3LCAxMiwgMjYsIDIzMywgMTI3LCAyLCAxNDUsIDcwLCAxNywgMTIsIDI2LCAyMzMsIDEyNywgMiwgMTIxLCAKLSAgICA3MCwgMTcsIDEyLCAyNiwgMjMzLCAxMjcsIDIsIDIzNCwgMTM2LCA3MCwgMTcsIDEyLCAyNiwgMjMzLCAxMjcsIDIsIDYzLCAKLSAgICA3MCwgMTcsIDEyLCAyNiwgMjMzLCAxMjcsIDIsIDI0MSwgMjAzLCA3MCwgMTcsIDEyLCAyNiwgNjMsIDIsIDE0NSwgNzAsIAotICAgIDE3LCAxMiwgMjYsIDYzLCAyLCAxMjEsIDcwLCAxNywgMTIsIDI2LCA2MywgMiwgMjM0LCAxMzYsIDcwLCAxNywgMTIsIDI2LCAKLSAgICA2MywgMiwgNjMsIDcwLCAxNywgMTIsIDI2LCAyMjgsIDE3NCwgMiwgMTQ1LCA3MCwgMTcsIDEyLCAyNiwgMjI4LCAxNzQsIDIsIAotICAgIDEyMSwgNzAsIDE3LCAxMiwgMjYsIDIyOCwgMTc0LCAyLCAyMzQsIDEzNiwgNzAsIDE3LCAxMiwgMjYsIDIyOCwgMTc0LCAyLCAKLSAgICA2MywgNzAsIDE3LCAxMiwgMjYsIDIyOCwgMTc0LCAyLCAyNDEsIDIwMywgNzAsIDE3LCAxMiwgMjYsIDI0MSwgMjAzLCAyLCAKLSAgICAxNDUsIDcwLCAxNywgMTIsIDI2LCAyNDEsIDIwMywgMiwgNjMsIDcwLCAxNywgMTIsIDI2LCAyNDEsIDIwMywgMiwgMjE4LCAKLSAgICAyMjMsIDEwNiwgNzAsIDE3LCAxMiwgMjYsIDczLCAyLCAxNDUsIDcwLCAxNywgMTIsIDI2LCA3MywgMiwgMTIxLCA3MCwgMTcsIAotICAgIDEyLCAyNiwgNzMsIDIsIDIzNCwgMTM2LCA3MCwgMTcsIDEyLCAyNiwgNzMsIDIsIDYzLCA3MCwgMTcsIDEyLCAyNiwgNzMsIAotICAgIDIsIDI0MSwgMjAzLCA3MCwgMTcsIDEyLCAyNiwgNzMsIDIsIDE5MiwgNzgsIDIsIDYzLCAxMzgsIDE3LCAxMiwgMjYsIDczLCAKLSAgICAyLCAxOTIsIDc4LCAyLCAyNDEsIDIwMywgMTM4LCAxNywgMTIsIDI2LCAyNTEsIDIzMSwgMiwgNjMsIDEzOCwgMTcsIDEyLCAKLSAgICAyNiwgMjUxLCAyMzEsIDIsIDI0MSwgMjAzLCAxMzgsIDE3LCAxMiwgMjYsIDIxNywgMjE2LCAyLCA2MywgMTM4LCAxNywgMTIsIAotICAgIDI2LCAyMTcsIDIxNiwgMiwgMjQxLCAyMDMsIDEzOCwgMTcsIDEyLCAyNiwgMjE3LCAxNDYsIDIsIDYzLCAxMzgsIDE3LCAxMiwgCi0gICAgMjYsIDIxNywgMTQ2LCAyLCAyNDEsIDIwMywgMTM4LCAxNywgMTIsIDI2LCAyMjIsIDg2LCAyLCA2MywgMTM4LCAxNywgMTIsIAotICAgIDI2LCAyMjIsIDg2LCAyLCAyNDEsIDIwMywgMTM4LCAxNywgMTIsIDI2LCAyMjAsIDI0MCwgMiwgNjMsIDEzOCwgMTcsIDEyLCAKLSAgICAyNiwgMjIwLCAyNDAsIDIsIDI0MSwgMjAzLCAxMzgsIDE3LCAxMiwgMjYsIDIzNCwgMjU1LCAyLCAyMzMsIDEyNywgMTM4LCAKLSAgICAxNywgMTIsIDI2LCAyMzQsIDI1NSwgMiwgNjMsIDEzOCwgMTcsIDEyLCAyNiwgMjMzLCAxMjcsIDIsIDYzLCAxMzgsIDE3LCAKLSAgICAxMiwgMjYsIDIyOCwgMTc0LCAyLCA2MywgMTM4LCAxNywgMTIsIDI2LCAyMjgsIDE3NCwgMiwgMjQxLCAyMDMsIDEzOCwgMTcsIAotICAgIDEyLCAyNiwgNzMsIDIsIDYzLCAxMzgsIDE3LCAxMiwgMjYsIDczLCAyLCAyNDEsIDIwMywgMTM4LCAxNywgMTIsIDI2LCAKLSAgICAyMjEsIDE2LCAyLCAyNDQsIDEzNCwgMTM4LCAxNywgMTIsIDI2LCAyMjEsIDE2LCAyLCAyNDgsIDEzMCwgMTM4LCAxNywgMTIsIAotICAgIDI2LCAyMjEsIDE2LCAyLCAyMzQsIDIxMSwgMTM4LCAxNywgMTIsIDI2LCAyMTgsIDMwLCAyLCAxMDYsIDIxMCwgNDgsIDE3LCAKLSAgICAxMiwgMjYsIDIxOCwgMzAsIDIsIDczLCA0OCwgMTcsIDEyLCAyNiwgMjU0LCAxMDQsIDIsIDEwNiwgMjEwLCA0OCwgMTcsIAotICAgIDEyLCAyNiwgMjU0LCAxMDQsIDIsIDczLCA0OCwgMTcsIDEyLCAyNiwgMjQyLCAyMjEsIDIsIDEwNiwgMjEwLCA0OCwgMTcsIAotICAgIDEyLCAyNiwgMjQyLCAyMjEsIDIsIDczLCA0OCwgMTcsIDEyLCAyNiwgMjIyLCA4NiwgMiwgMTA2LCAyMTAsIDQ4LCAxNywgCi0gICAgMTIsIDI2LCAyMjIsIDg2LCAyLCA3MywgNDgsIDE3LCAxMiwgMjYsIDIyMCwgMjQwLCAyLCAxMDYsIDIxMCwgNDgsIDE3LCAKLSAgICAxMiwgMjYsIDIyMCwgMjQwLCAyLCA3MywgNDgsIDE3LCAxMiwgMjYsIDEyMSwgMiwgMTA2LCAyMTAsIDQ4LCAxNywgMTIsIAotICAgIDI2LCAxMjEsIDIsIDczLCA0OCwgMTcsIDEyLCAyNiwgMTQ1LCAyLCAxMDYsIDIxMCwgNDgsIDE3LCAxMiwgMjYsIDE0NSwgMiwgCi0gICAgNzMsIDQ4LCAxNywgMTIsIDI2LCAyMzQsIDEzNiwgMiwgMTA2LCAyMTAsIDQ4LCAxNywgMTIsIDI2LCAyMzQsIDEzNiwgMiwgCi0gICAgNzMsIDQ4LCAxNywgMTIsIDI2LCAyMjIsIDE5NiwgMiwgMTA2LCAyMTAsIDQ4LCAxNywgMTIsIDI2LCAyMjIsIDE5NiwgMiwgCi0gICAgNzMsIDQ4LCAxNywgMTIsIDI2LCAyNDgsIDE2MCwgMiwgMTA2LCAyMTAsIDQ4LCAxNywgMTIsIDI2LCAyNDgsIDE2MCwgMiwgCi0gICAgNzMsIDQ4LCAxNywgMTIsIDI2LCAyMjAsIDI0MCwgMiwgMTQ1LCA0OCwgMTcsIDEyLCAyNiwgMjIwLCAyNDAsIDIsIDEyMSwgCi0gICAgNDgsIDE3LCAxMiwgMjYsIDIyMCwgMjQwLCAyLCAyMzQsIDEzNiwgNDgsIDE3LCAxMiwgMjYsIDIyMCwgMjQwLCAyLCA2MywgCi0gICAgNDgsIDE3LCAxMiwgMjYsIDIyMCwgMjQwLCAyLCAyMjMsIDI0NiwgNDgsIDE3LCAxMiwgMjYsIDIyMiwgODYsIDIsIDIyMywgCi0gICAgMjQ2LCA0OCwgMTcsIDEyLCAyNiwgMjIyLCAxOTYsIDIsIDIyMywgMjQ2LCA0OCwgMTcsIDEyLCAyNiwgMjQ4LCAxNjAsIDIsIAotICAgIDIyMywgMjQ2LCA0OCwgMTcsIDEyLCAyNiwgMjE4LCAzMCwgMiwgMTA2LCAyMTAsIDQwLCAxNywgMTIsIDI2LCAyMTgsIDMwLCAKLSAgICAyLCA3MywgNDAsIDE3LCAxMiwgMjYsIDI1NCwgMTA0LCAyLCAxMDYsIDIxMCwgNDAsIDE3LCAxMiwgMjYsIDI1NCwgMTA0LCAKLSAgICAyLCA3MywgNDAsIDE3LCAxMiwgMjYsIDI0MiwgMjIxLCAyLCAxMDYsIDIxMCwgNDAsIDE3LCAxMiwgMjYsIDI0MiwgMjIxLCAKLSAgICAyLCA3MywgNDAsIDE3LCAxMiwgMjYsIDIyMiwgODYsIDIsIDEwNiwgMjEwLCA0MCwgMTcsIDEyLCAyNiwgMjIyLCA4NiwgMiwgCi0gICAgNzMsIDQwLCAxNywgMTIsIDI2LCAyMjAsIDI0MCwgMiwgMTA2LCAyMTAsIDQwLCAxNywgMTIsIDI2LCAyMjAsIDI0MCwgMiwgCi0gICAgNzMsIDQwLCAxNywgMTIsIDI2LCAxMjEsIDIsIDEwNiwgMjEwLCA0MCwgMTcsIDEyLCAyNiwgMTIxLCAyLCA3MywgNDAsIDE3LCAKLSAgICAxMiwgMjYsIDE0NSwgMiwgMTA2LCAyMTAsIDQwLCAxNywgMTIsIDI2LCAxNDUsIDIsIDczLCA0MCwgMTcsIDEyLCAyNiwgCi0gICAgMjM0LCAxMzYsIDIsIDEwNiwgMjEwLCA0MCwgMTcsIDEyLCAyNiwgMjM0LCAxMzYsIDIsIDczLCA0MCwgMTcsIDEyLCAyNiwgCi0gICAgMjIyLCAxOTYsIDIsIDEwNiwgMjEwLCA0MCwgMTcsIDEyLCAyNiwgMjIyLCAxOTYsIDIsIDczLCA0MCwgMTcsIDEyLCAyNiwgCi0gICAgMjQ4LCAxNjAsIDIsIDEwNiwgMjEwLCA0MCwgMTcsIDEyLCAyNiwgMjQ4LCAxNjAsIDIsIDczLCA0MCwgMTcsIDEyLCAyNiwgCi0gICAgMjIwLCAyNDAsIDIsIDE0NSwgNDAsIDE3LCAxMiwgMjYsIDIyMCwgMjQwLCAyLCAxMjEsIDQwLCAxNywgMTIsIDI2LCAyMjAsIAotICAgIDI0MCwgMiwgMjM0LCAxMzYsIDQwLCAxNywgMTIsIDI2LCAyMjAsIDI0MCwgMiwgNjMsIDQwLCAxNywgMTIsIDI2LCAyMjAsIAotICAgIDI0MCwgMiwgMjIzLCAyNDYsIDQwLCAxNywgMTIsIDI2LCAyMjIsIDg2LCAyLCAyMjMsIDI0NiwgNDAsIDE3LCAxMiwgMjYsIAotICAgIDIyMiwgMTk2LCAyLCAyMjMsIDI0NiwgNDAsIDE3LCAxMiwgMjYsIDI0OCwgMTYwLCAyLCAyMjMsIDI0NiwgNDAsIDE3LCAxMiwgCi0gICAgMjYsIDIyMCwgMjQwLCAyLCAxNDUsIDcwLCAxNywgMTIsIDI2LCAyMjAsIDI0MCwgMiwgMTIxLCA3MCwgMTcsIDEyLCAyNiwgCi0gICAgMjIwLCAyNDAsIDIsIDIzNCwgMTM2LCA3MCwgMTcsIDEyLCAyNiwgMjIwLCAyNDAsIDIsIDYzLCA3MCwgMTcsIDEyLCAyNiwgCi0gICAgMjIyLCA4NiwgMiwgMjQxLCAyMDMsIDcwLCAxNywgMTIsIDI2LCAyMjAsIDI0MCwgMiwgMjQxLCAyMDMsIDcwLCAxNywgMTIsIAotICAgIDI2LCAyMTgsIDMwLCAyLCA2MywgNzAsIDE3LCAxMiwgMjYsIDIyMiwgODYsIDIsIDE0NSwgMTM4LCAxNywgMTIsIDI2LCAKLSAgICAyMjIsIDg2LCAyLCAxMjEsIDEzOCwgMTcsIDEyLCAyNiwgMjIyLCA4NiwgMiwgMjM0LCAxMzYsIDEzOCwgMTcsIDEyLCAyNiwgCi0gICAgMjIwLCAyNDAsIDIsIDE0NSwgMTM4LCAxNywgMTIsIDI2LCAyMjAsIDI0MCwgMiwgMTIxLCAxMzgsIDE3LCAxMiwgMjYsIAotICAgIDIyMCwgMjQwLCAyLCAyMzQsIDEzNiwgMTM4LCAxNywgMTIsIDI2LCAyMTgsIDMwLCAyLCA2MywgMTM4LCAxNywgMTIsIDI2LCAKLSAgICAyMTIsIDEwNSwgMiwgNjMsIDEzOCwgMTcsIDEyLCAyNiwgMTA2LCAyLCAyNDQsIDEzMiwgNDAsIDE3LCAxMiwgMjYsIDEwNiwgCi0gICAgMiwgMjQ0LCAxMzIsIDQ4LCAxNywgMjI3LCAxMywgNDIsIDIyNiwgMTMxLCAyMjcsIDEzLCA0NiwgMjI2LCAxMzEsIDEyLCAKLSAgICAyNiwgMjE3LCAyMTYsIDIsIDE0NSwgMiwgNjMsIDcwLCAxNywgMTIsIDI2LCAyMTcsIDIxNiwgMiwgMTIxLCAyLCAxNDUsIAotICAgIDQwLCAxNywgMTIsIDI2LCAyMTcsIDIxNiwgMiwgMTIxLCAyLCAxNDUsIDcwLCAxNywgMTIsIDI2LCAyMTcsIDIxNiwgMiwgCi0gICAgMTIxLCAyLCA2MywgNzAsIDE3LCAxMiwgMjYsIDIxNywgMjE2LCAyLCAyMzQsIDEzNiwgMiwgNjMsIDcwLCAxNywgMTIsIDI2LCAKLSAgICAyMTcsIDIxNiwgMiwgNjMsIDIsIDE0NSwgNzAsIDE3LCAxMiwgMjYsIDIxNywgMjE2LCAyLCA2MywgMiwgMTIxLCA3MCwgMTcsIAotICAgIDEyLCAyNiwgMjE3LCAyMTYsIDIsIDYzLCAyLCAyMzQsIDEzNiwgNzAsIDE3LCAxMiwgMjYsIDE0NSwgMiwgNjMsIDIsIDEyMSwgCi0gICAgNDAsIDE3LCAxMiwgMjYsIDE0NSwgMiwgNjMsIDIsIDEyMSwgNzAsIDE3LCAxMiwgMjYsIDEyMSwgMiwgNjMsIDIsIDczLCAKLSAgICA0MCwgMTcsIDEyLCAyNiwgMTIxLCAyLCA2MywgMiwgMTA2LCAyMTAsIDQwLCAxNywgMTIsIDI2LCAyMjIsIDg2LCAyLCAxMjEsIAotICAgIDIsIDE0NSwgNzAsIDE3LCAxMiwgMjYsIDIyMiwgODYsIDIsIDE0NSwgMiwgMTIxLCA3MCwgMTcsIDEyLCAyNiwgMjIyLCA4NiwgCi0gICAgMiwgMTQ1LCAyLCAxMDYsIDIxMCwgNDAsIDE3LCAxMiwgMjYsIDIyMiwgODYsIDIsIDYzLCAyLCAxMjEsIDQwLCAxNywgMTIsIAotICAgIDI2LCAyMjIsIDg2LCAyLCA2MywgMiwgMTIxLCA3MCwgMTcsIDEyLCAyNiwgMjIyLCA4NiwgMiwgNjMsIDIsIDE0NSwgNzAsIAotICAgIDE3LCAxMiwgMjYsIDIyMiwgODYsIDIsIDYzLCAyLCA2MywgNDAsIDE3LCAxMiwgMjYsIDIyMiwgODYsIDIsIDYzLCAyLCA2MywgCi0gICAgNzAsIDE3LCAxMiwgMjYsIDIyMiwgMTk2LCAyLCAxMjEsIDIsIDEyMSwgNDAsIDE3LCAxMiwgMjYsIDIyMiwgMTk2LCAyLCAKLSAgICAxMjEsIDIsIDEyMSwgNzAsIDE3LCAxMiwgMjYsIDIyMiwgMTk2LCAyLCA2MywgMiwgNjMsIDQwLCAxNywgMTIsIDI2LCAyMjAsIAotICAgIDI0MCwgMiwgMTIxLCAyLCA2MywgNDAsIDE3LCAxMiwgMjYsIDIyMCwgMjQwLCAyLCAxMjEsIDIsIDYzLCA3MCwgMTcsIDEyLCAKLSAgICAyNiwgMjIwLCAyNDAsIDIsIDE0NSwgMiwgNzMsIDQwLCAxNywgMTIsIDI2LCAyMjAsIDI0MCwgMiwgNjMsIDIsIDIzNCwgCi0gICAgMTM2LCA0MCwgMTcsIDEyLCAyNiwgMjIwLCAyNDAsIDIsIDYzLCAyLCAyMzQsIDEzNiwgNzAsIDE3LCAxMiwgMjYsIDIyMCwgCi0gICAgMjQwLCAyLCA2MywgMiwgNjMsIDQwLCAxNywgMTIsIDI2LCAyMjAsIDI0MCwgMiwgNjMsIDIsIDYzLCA3MCwgMTcsIDEyLCAKLSAgICAyNiwgMjQ4LCAxNjAsIDIsIDEyMSwgMiwgMTA2LCAyMTAsIDQwLCAxNywgMTIsIDI2LCAyNDgsIDE2MCwgMiwgMjM0LCAxMzYsIAotICAgIDIsIDYzLCA0MCwgMTcsIDEyLCAyNiwgMjQ4LCAxNjAsIDIsIDIzNCwgMTM2LCAyLCA2MywgNzAsIDE3LCAxMiwgMjYsIDIxOCwgCi0gICAgMzAsIDIsIDYzLCAyLCAxMjEsIDQwLCAxNywgMTIsIDI2LCAyMTgsIDMwLCAyLCA2MywgMiwgMTIxLCA3MCwgMTcsIDEyLCAKLSAgICAyNiwgMjE4LCAzMCwgMiwgNjMsIDIsIDYzLCA3MCwgMTcsIDEyLCAyNiwgMjE4LCAzMCwgMiwgNjMsIDIsIDczLCA0MCwgMTcsIAotICAgIDEyLCAyNiwgMjU0LCAxMDQsIDIsIDE0NSwgMiwgNjMsIDQwLCAxNywgMTIsIDI2LCAyNTQsIDEwNCwgMiwgNjMsIDIsIDYzLCAKLSAgICA0MCwgMTcsIDEyLCAyNiwgMjU0LCAxMDQsIDIsIDYzLCAyLCA2MywgNzAsIDE3LCAxMiwgMjYsIDI1NCwgMTA0LCAyLCA2MywgCi0gICAgMiwgMTA2LCAyMTAsIDQwLCAxNywgMTIsIDI2LCAyNDIsIDIyMSwgMiwgNjMsIDIsIDYzLCA0MCwgMTcsIDEyLCAyNiwgMjQyLCAKLSAgICAyMjEsIDIsIDYzLCAyLCA3MywgNDAsIDE3LCAxMiwgMjYsIDI0MiwgMjIxLCAyLCA2MywgMiwgMTA2LCAyMTAsIDQwLCAxNywgCi0gICAgMTIsIDI2LCAyNDQsIDExMiwgMiwgMjM0LCAxMzYsIDIsIDYzLCA0MCwgMTcsIDEyLCAyNiwgMjQ0LCAxMTIsIDIsIDIzNCwgCi0gICAgMTM2LCAyLCA2MywgNzAsIDE3LCAxMiwgMjYsIDIyNCwgMjI2LCAyLCA2MywgMiwgMTIxLCA0MCwgMTcsIDEyLCAyNiwgMjI0LCAKLSAgICAyMjYsIDIsIDYzLCAyLCA2MywgNDAsIDE3LCAxMiwgMjYsIDIzMywgMTI3LCAyLCAxMjEsIDIsIDYzLCA0MCwgMTcsIDEyLCAKLSAgICAyNiwgMjMzLCAxMjcsIDIsIDEyMSwgMiwgNzMsIDQwLCAxNywgMTIsIDI2LCAyMzMsIDEyNywgMiwgMTIxLCAyLCAxMDYsIAotICAgIDIxMCwgNDAsIDE3LCAxMiwgMjYsIDIzMywgMTI3LCAyLCAxNDUsIDIsIDE0NSwgNzAsIDE3LCAxMiwgMjYsIDIzMywgMTI3LCAKLSAgICAyLCAxNDUsIDIsIDE0NSwgNDAsIDE3LCAxMiwgMjYsIDIzMywgMTI3LCAyLCAyMzQsIDEzNiwgMiwgNjMsIDQwLCAxNywgMTIsIAotICAgIDI2LCAyMzMsIDEyNywgMiwgMjM0LCAxMzYsIDIsIDYzLCA3MCwgMTcsIDEyLCAyNiwgMjMzLCAxMjcsIDIsIDYzLCAyLCAKLSAgICAxMjEsIDQwLCAxNywgMTIsIDI2LCAyMzMsIDEyNywgMiwgNjMsIDIsIDEyMSwgNzAsIDE3LCAxMiwgMjYsIDYzLCAyLCAxMjEsIAotICAgIDIsIDE0NSwgNzAsIDE3LCAxMiwgMjYsIDYzLCAyLCAxMjEsIDIsIDYzLCA3MCwgMTcsIDEyLCAyNiwgNjMsIDIsIDEyMSwgMiwgCi0gICAgNzMsIDQwLCAxNywgMTIsIDI2LCA2MywgMiwgMTQ1LCAyLCAxMjEsIDcwLCAxNywgMTIsIDI2LCA2MywgMiwgMTQ1LCAyLCAKLSAgICA2MywgNzAsIDE3LCAxMiwgMjYsIDYzLCAyLCAyMzQsIDEzNiwgMiwgMTQ1LCA3MCwgMTcsIDEyLCAyNiwgNjMsIDIsIDIzNCwgCi0gICAgMTM2LCAyLCA2MywgNzAsIDE3LCAxMiwgMjYsIDYzLCAyLCAxNDUsIDIsIDIzNCwgMTM2LCA3MCwgMTcsIDEyLCAyNiwgMjQxLCAKLSAgICAyMDMsIDIsIDYzLCAyLCAxNDUsIDcwLCAxNywgMTIsIDI2LCAyNDEsIDIwMywgMiwgNjMsIDIsIDYzLCA3MCwgMTcsIDEyLCAKLSAgICAyNiwgMjI4LCAxNzQsIDIsIDEyMSwgMiwgNjMsIDcwLCAxNywgMTIsIDI2LCAyMjgsIDE3NCwgMiwgMTIxLCAyLCAxMDYsIAotICAgIDIxMCwgNDAsIDE3LCAxMiwgMjYsIDIyOCwgMTc0LCAyLCAxNDUsIDIsIDYzLCA0MCwgMTcsIDEyLCAyNiwgMjI4LCAxNzQsIAotICAgIDIsIDE0NSwgMiwgNjMsIDcwLCAxNywgMTIsIDI2LCAyMjgsIDE3NCwgMiwgMTQ1LCAyLCAxMDYsIDIxMCwgNDAsIDE3LCAxMiwgCi0gICAgMjYsIDIyOCwgMTc0LCAyLCA2MywgMiwgNzMsIDQwLCAxNywgMTIsIDI2LCAyMjgsIDE3NCwgMiwgNjMsIDIsIDEwNiwgMjEwLCAKLSAgICA0MCwgMTcsIDEyLCAyNiwgNzMsIDIsIDYzLCAyLCA2MywgNDAsIDE3LCAxMiwgMjYsIDczLCAyLCA2MywgMiwgNjMsIDcwLCAKLSAgICAxNywgMTIsIDI2LCAyNTEsIDIzMSwgMiwgMjM0LCAxMzYsIDIsIDczLCA0MCwgMTcsIDEyLCAyNiwgMjE3LCAyMTYsIDIsIAotICAgIDE0NSwgMiwgNzMsIDQwLCAxNywgMTIsIDI2LCAyMTcsIDIxNiwgMiwgMTQ1LCAyLCAxMDYsIDIxMCwgNDAsIDE3LCAxMiwgCi0gICAgMjYsIDIxNywgMjE2LCAyLCAyMzQsIDEzNiwgMiwgNzMsIDQwLCAxNywgMTIsIDI2LCAyMTcsIDIxNiwgMiwgMjM0LCAxMzYsIAotICAgIDIsIDEwNiwgMjEwLCA0MCwgMTcsIDEyLCAyNiwgMjE3LCAyMTYsIDIsIDYzLCAyLCA3MywgNDAsIDE3LCAxMiwgMjYsIDIxNywgCi0gICAgMjE2LCAyLCA2MywgMiwgMTA2LCAyMTAsIDQwLCAxNywgMTIsIDI2LCAxNDUsIDIsIDYzLCAyLCA3MywgNDAsIDE3LCAxMiwgCi0gICAgMjYsIDE0NSwgMiwgMTIxLCAyLCAxMDYsIDIxMCwgNDAsIDE3LCAxMiwgMjYsIDE0NSwgMiwgNjMsIDIsIDEwNiwgMjEwLCAKLSAgICA0MCwgMTcsIDEyLCAyNiwgMjIyLCA4NiwgMiwgMjM0LCAxMzYsIDIsIDEwNiwgMjEwLCA0MCwgMTcsIDEyLCAyNiwgMjIyLCAKLSAgICAxOTYsIDIsIDEyMSwgMiwgNzMsIDQwLCAxNywgMTIsIDI2LCAyMjAsIDI0MCwgMiwgMTIxLCAyLCA3MywgNDAsIDE3LCAxMiwgCi0gICAgMjYsIDI0OCwgMTYwLCAyLCAxMjEsIDIsIDczLCA0MCwgMTcsIDEyLCAyNiwgMjMzLCAxMjcsIDIsIDE0NSwgMiwgNzMsIDQwLCAKLSAgICAxNywgMTIsIDI2LCAyMzMsIDEyNywgMiwgNjMsIDIsIDczLCA0MCwgMTcsIDEyLCAyNiwgNzMsIDIsIDEyMSwgMiwgNzMsIAotICAgIDQwLCAxNywgMTIsIDI2LCA3MywgMiwgMTQ1LCAyLCA3MywgNDAsIDE3LCAxMiwgMjYsIDczLCAyLCA2MywgMiwgNzMsIDQwLCAKLSAgICAxNywgMTIsIDI2LCA2MywgMiwgNjMsIDIsIDczLCA0MCwgMTcsIDEyLCAyNiwgMjI0LCAyMjYsIDIsIDYzLCAyLCA3MywgNDAsIAotICAgIDE3LCAxMiwgMjYsIDIyOCwgMTc0LCAyLCAxMjEsIDIsIDczLCA0MCwgMTcsIDEyLCAyNiwgMjI0LCAyMjYsIDIsIDYzLCAyLCAKLSAgICAxMjEsIDcwLCAxNywgMTIsIDI2LCAyMzMsIDEyNywgMiwgMTIxLCAyLCA2MywgNzAsIDE3LCAxMiwgMjYsIDI1NCwgMTA0LCAKLSAgICAyLCA2MywgMiwgNzMsIDQwLCAxNywgMTIsIDI2LCAyMzQsIDI1NSwgMiwgNjMsIDIsIDczLCA0MCwgMTcsIDEyLCAyNiwgCi0gICAgMjI4LCAxNzQsIDIsIDE0NSwgMiwgMTIxLCA3MCwgMTcsIDEyLCAyNiwgNjMsIDIsIDIzNCwgMTM2LCAyLCA3MywgNDAsIDE3LCAKLSAgICAxMiwgMjYsIDIzMywgMTI3LCAyLCAxNDUsIDIsIDYzLCA3MCwgMTcsIDEyLCAyNiwgMjM0LCAyNTUsIDIsIDYzLCAyLCA2MywgCi0gICAgNDAsIDE3LCAxMiwgMjYsIDIzMywgMTI3LCAyLCAxNDUsIDIsIDYzLCA0MCwgMTcsIDEyLCAyNiwgMjI4LCAxNzQsIDIsIAotICAgIDE0NSwgMiwgMTIxLCA0MCwgMTcsIDEyLCAyNiwgMTQ1LCAyLCAxMjEsIDIsIDczLCA0MCwgMTcsIDEyLCAyNiwgMTIxLCAyLCAKLSAgICAxNDUsIDIsIDczLCA0MCwgMTcsIDEyLCAyNiwgNjMsIDIsIDE0NSwgMiwgNzMsIDQwLCAxNywgMTIsIDI2LCAyNDQsIDExMiwgCi0gICAgMiwgNjMsIDIsIDczLCA0MCwgMTcsIDEyLCAyNiwgMjUxLCAyMzEsIDIsIDEyMSwgMiwgNzMsIDQwLCAxNywgMTIsIDI2LCAKLSAgICAyMzQsIDI1NSwgMiwgNjMsIDIsIDYzLCA3MCwgMTcsIDEyLCAyNiwgMjU0LCAxMDQsIDIsIDE0NSwgMiwgNjMsIDcwLCAxNywgCi0gICAgMTIsIDI2LCAyMjIsIDE5NiwgMiwgNjMsIDIsIDYzLCA3MCwgMTcsIDEyLCAyNiwgMjIyLCA4NiwgMiwgMjM0LCAxMzYsIDIsIAotICAgIDczLCA0MCwgMTcsIDEyLCAyNiwgMjI4LCAxNzQsIDIsIDE0NSwgMiwgNzMsIDQwLCAxNywgMTIsIDI2LCAyMjIsIDE3NSwgCi0gICAgMjE1LCAxMDIsIDI1MywgMTUzLCAyMzQsIDEzLCAyMTksIDcwLCA1LCA0OCwgMTcsIDEyLCAyNiwgMjI0LCAyMjIsIDIxNSwgCi0gICAgMTAyLCAyNTMsIDE1MywgMjM0LCAxMywgMjE5LCA3MCwgNSwgNDgsIDE3LCAxMiwgMjYsIDI1NCwgNjIsIDQ4LCAxNywgMTIsIAotICAgIDI2LCAyNTQsIDkxLCA0OCwgMTcsIDEyLCAyNiwgMjMwLCAyMjMsIDQ4LCAxNywgMTIsIDI2LCAyMjIsIDE3NiwgNDgsIDE3LCAKLSAgICAxMiwgMjYsIDIyNCwgMzUsIDQ4LCAxNywgMTIsIDI2LCAyNTQsIDgwLCA0OCwgMTcsIDEyLCAyNiwgMjE0LCAzMywgNDgsIAotICAgIDE3LCAxMiwgMjYsIDIyMiwgMTc1LCA0OCwgMTcsIDEyLCAyNiwgMjIyLCAxNzQsIDI1NCwgODAsIDIxNCwgMzIsIDEyLCAyNiwgCi0gICAgMjM1LCAxMzQsIDIyMywgMTg3LCA1MiwgMTIsIDI2LCAyNTEsIDE1MywgMjUzLCAyMDksIDI1MywgMjEwLCA0MywgMjIyLCAKLSAgICA3NiwgNDMsIDIyMSwgMjIxLCA0MywgMjIxLCAxNTMsIDQzLCAyMjEsIDE0MiwgNDMsIDIyMSwgMTMxLCA0MywgMjIxLCAxMjAsIAotICAgIDQzLCAyMjEsIDEwOSwgNDMsIDIyMSwgOTgsIDQzLCAyMjEsIDg3LCA0MywgMjIyLCA3NSwgNDMsIDIyMiwgNjQsIDQzLCAKLSAgICAyMjIsIDUzLCA0MywgMjIyLCA0MiwgNDMsIDIyMiwgMzEsIDQzLCAyMjIsIDIwLCA0MywgMjIyLCA5LCAyMjUsIDc0LCAyNDMsIAotICAgIDI0NSwgMzEsIDcxLCAyNDksIDE1NywgMjI1LCA3NCwgMjQzLCAyNDUsIDMxLCA3MSwgMTA1LCAyNDksIDE1NywgMjI1LCA3NCwgCi0gICAgMjQzLCAyNDUsIDMxLCA3MSwgMTA1LCAyNDMsIDIwMCwgMjE5LCA2OSwgMjI1LCA3NCwgMjQzLCAyNDUsIDMxLCA3MSwgMjQ5LCAKLSAgICAxNjQsIDIyNSwgNzQsIDI0MywgMjQ1LCAzMSwgNzEsIDIyMSwgNzAsIDIyNSwgNzQsIDI0MywgMjQ1LCAzMSwgNzEsIDI0NCwgCi0gICAgMjU0LCA3NywgMjI1LCA3NCwgMjQzLCAyNDUsIDMxLCA3MSwgMjI0LCAxNTgsIDc3LCAyMjUsIDc0LCAyNDMsIDI0NSwgMzEsIAotICAgIDcxLCA0MiwgNjcsIDIzMywgNDQsIDEyNSwgMjI1LCA3NCwgMjQzLCAyNDUsIDMxLCA3MSwgNDYsIDY3LCAyMzMsIDQ0LCAKLSAgICAyNTEsIDgzLCAyMjUsIDc0LCAyNDMsIDI0NSwgMzEsIDcxLCAxOTksIDI0NSwgMTIwLCAzNywgMjYsIDQyLCAyNDIsIDksIAotICAgIDM3LCAyNiwgNDYsIDI0MiwgOSwgMzcsIDUxLCAyMTcsIDQzLCA0MiwgMjQyLCA5LCAzNywgNTEsIDIxNywgNDMsIDQ2LCAKLSAgICAyNDIsIDksIDM3LCAyMzIsIDM4LCA0MiwgMjQyLCA5LCAzNywgMjMyLCAzOCwgNDYsIDI0MiwgOSwgMzcsIDI0OSwgMTM3LCAKLSAgICAyMzIsIDM3LCAyMjUsIDc0LCAyNDMsIDI0NSwgMzEsIDcxLCAxMTcsIDYyLCAyMzMsIDgwLCAyMjUsIDc0LCAyNDMsIDI0NSwgCi0gICAgMzEsIDcxLCAyNDUsIDExOCwgMjQ4LCAxMDEsIDIyNSwgNzQsIDI0MywgMjQ1LCAzMSwgNzEsIDI0NSwgMTA5LCAyNDgsIAotICAgIDEwMSwgMjI1LCA3NCwgMjQzLCAyNDUsIDMxLCA3MSwgMTE1LCAyMzIsIDI0MiwgMjI1LCA3NCwgMjQzLCAyNDUsIDMxLCA3MSwgCi0gICAgMjE0LCAxNiwgMTE1LCAyMzIsIDI0MiwgMjI1LCA3NCwgMjQzLCAyNDUsIDMxLCA3MSwgNDIsIDIyNiwgMTMxLCAyMjUsIDc0LCAKLSAgICAyNDMsIDI0NSwgMzEsIDcxLCA0NiwgMjI2LCAxMzEsIDIyNSwgNzQsIDI0MywgMjQ1LCAzMSwgNzEsIDQyLCAyNDksIDQwLCAKLSAgICAxMjUsIDIyNSwgNzQsIDI0MywgMjQ1LCAzMSwgNzEsIDQ2LCAyNDksIDQwLCAxMjUsIDIyNSwgNzQsIDI0MywgMjQ1LCAzMSwgCi0gICAgNzEsIDQyLCAyMTYsIDIxOSwgMjIwLCAyMzMsIDEyNSwgMjI1LCA3NCwgMjQzLCAyNDUsIDMxLCA3MSwgNDYsIDIxNiwgMjE5LCAKLSAgICAyMjAsIDIzMywgMTI1LCAyMjUsIDc0LCAyNDMsIDI0NSwgMzEsIDcxLCA0MiwgODMsIDIzMywgNDQsIDEyNSwgMjI1LCA3NCwgCi0gICAgMjQzLCAyNDUsIDMxLCA3MSwgNDYsIDgzLCAyMzMsIDQ0LCAxMjUsIDIyNSwgNzQsIDI0MywgMjQ1LCAzMSwgNzEsIDQyLCAKLSAgICA1MSwgMjU0LCAxOSwgMTI1LCAyMjUsIDc0LCAyNDMsIDI0NSwgMzEsIDcxLCA0NiwgNTEsIDI1NCwgMTksIDEyNSwgMjI1LCAKLSAgICA3NCwgMjQzLCAyNDUsIDMxLCA3MSwgNDIsIDI1NCwgMTksIDEyNSwgMjI1LCA3NCwgMjQzLCAyNDUsIDMxLCA3MSwgNDYsIAotICAgIDI1NCwgMTksIDEyNSwgMjI1LCA3NCwgMjQzLCAyNDUsIDMxLCA3MSwgNDIsIDI0OSwgMTAwLCAxMjUsIDIyNSwgNzQsIDI0MywgCi0gICAgMjQ1LCAzMSwgNzEsIDQ2LCAyNDksIDEwMCwgMTI1LCAyMjUsIDc0LCAyNDMsIDI0NSwgMzEsIDcxLCA0MiwgNjcsIDI0OSwgCi0gICAgMTAwLCAxMjUsIDIyNSwgNzQsIDI0MywgMjQ1LCAzMSwgNzEsIDQ2LCA2NywgMjQ5LCAxMDAsIDEyNSwgMjIxLCA1MiwgMjQ3LCAKLSAgICA3NCwgNjcsIDIyMSwgNTIsIDI0NywgNzQsIDIyNSwgNzQsIDI0MywgMjQ1LCAzMSwgNzEsIDQyLCA0MSwgMTI1LCAyMjUsIAotICAgIDc0LCAyNDMsIDI0NSwgMzEsIDcxLCA0NiwgNDEsIDEyNSwgMjQ4LCAxMDAsIDIyNiwgMjQzLCAyNTAsIDEwNiwgMjI2LCAKLSAgICAyNDMsIDIxNCwgMTYsIDIyNiwgMjQzLCA1MSwgMjE0LCAxNiwgMjI2LCAyNDMsIDI0OCwgMTAwLCAxMTUsIDIzMiwgMjQyLCAKLSAgICAyNTAsIDEwNiwgMTE1LCAyMzIsIDI0MiwgMjE0LCAxNiwgMTE1LCAyMzIsIDI0MiwgMywgMjQ5LCAxNTcsIDMsIDEwNSwgCi0gICAgMjQ5LCAxNTcsIDMsIDI0MywgMjAwLCAyMTksIDY5LCAzLCAyMjEsIDcwLCAzLCAyNDksIDE2NCwgMywgMjI0LCAxNTgsIDc3LCAKLSAgICAzLCAyNDQsIDI1NCwgNzcsIDMsIDI0NSwgMTE4LCAyNDgsIDEwMSwgMywgNDIsIDIyNiwgMTMxLCAzLCA0NiwgMjI2LCAxMzEsIAotICAgIDMsIDQyLCAyNDksIDQwLCAxMjUsIDMsIDQ2LCAyNDksIDQwLCAxMjUsIDMsIDQyLCAyMTYsIDIxOSwgMjIwLCAyMzMsIDEyNSwgCi0gICAgMywgNDYsIDIxNiwgMjE5LCAyMjAsIDIzMywgMTI1LCAzLCA1MCwgNTIsIDMsIDI1NCwgMzUsIDMsIDI1MywgMTMyLCAzLCAKLSAgICA5NCwgNTIsIDMsIDI0MCwgMTU5LCAzLCAyMzMsIDM5LCA1MiwgMywgMjQyLCAxMDcsIDUyLCAzLCAyNDUsIDYxLCA1MiwgMywgCi0gICAgMjIzLCAyMDMsIDIxOSwgMjMxLCAzLCAyNDcsIDg2LCA1MiwgMywgMjI2LCA1NywgNTIsIDMsIDI0OSwgMTU2LCAyNTMsIAotICAgIDEyMiwgMTIsIDI0NCwgMTMyLCA0OCwgMTcsIDEyLCAyMTcsIDI1MSwgMiwgMjQ0LCAxMzIsIDQ5LCAxMiwgMjQ4LCAxMjgsIAotICAgIDQ4LCAxNywgMTIsIDIxOCwgMjgsIDI0MywgMjI3LCAxMiwgMjM0LCAyMDksIDQ4LCAxNywgMTIsIDI0NCwgMTM0LCA0OCwgCi0gICAgMTcsIDEyLCAyNDQsIDEzNCwgMTM4LCAxNywgMTIsIDI0OCwgMTMwLCA0OCwgMTcsIDEyLCAyNDgsIDEzMCwgMTM4LCAxNywgCi0gICAgMTIsIDIzNCwgMjExLCA0OCwgMTcsIDEyLCAyMzQsIDIxMSwgMTM4LCAxNywgMTIsIDIyMSwgMTYsIDQ4LCAxNywgMTIsIAotICAgIDIyMSwgMTYsIDEzOCwgMTcsIDEyLCAyMTgsIDI0NywgNDgsIDE3LCAxMiwgMjE4LCAyNDcsIDEzOCwgMTcsIDEyLCAxLCAKLSAgICAxOTIsIDQ4LCAxNywgMTIsIDEsIDEwNiwgMiwgMjMyLCAzMywgNzgsIDQ4LCAxNywgMTIsIDEsIDEwNiwgMiwgMjMyLCAzMywgCi0gICAgNzgsIDQwLCAxNywgMTIsIDEsIDEwNiwgMiwgMTkyLCA3OCwgNDgsIDE3LCAxMiwgMSwgMTA2LCAyLCAxOTIsIDc4LCA0MCwgCi0gICAgMTcsIDEyLCAxLCAyMTQsIDE1LCAyLCAxOTIsIDc4LCA0OCwgMTcsIDEyLCAxLCAyMTQsIDE1LCAyLCAxOTIsIDc4LCA0MCwgCi0gICAgMTcsIDEyLCAxLCAxMDYsIDIsIDE5MiwgMjUxLCAyMjAsIDQ4LCAxNywgMTIsIDEsIDEwNiwgMiwgMTkyLCAyNTEsIDIyMCwgCi0gICAgNDAsIDE3LCAxMiwgMSwgNzMsIDIsIDE5MiwgNzgsIDQ4LCAxNywgMTIsIDEsIDczLCAyLCAxOTIsIDc4LCA0MCwgMTcsIDEyLCAKLSAgICAxLCA3MywgMiwgMTkyLCA3OCwgNzAsIDE3LCAxMiwgMSwgNzMsIDIsIDE5MiwgNzgsIDEzOCwgMTcsIDEyLCAxLCAxMDYsIAotICAgIDQ4LCAxNywgMTIsIDEsIDEwNiwgNDAsIDE3LCAxMiwgMSwgMjUxLCAyMzEsIDQ4LCAxNywgMTIsIDEsIDI1MSwgMjMxLCA0MCwgCi0gICAgMTcsIDEyLCAxLCAyNTEsIDIzMSwgNzAsIDE3LCAxMiwgMSwgMjUxLCAyMzEsIDEzOCwgMTcsIDEyLCAxLCAyMTcsIDIxNiwgCi0gICAgMjMxLCAyMjgsIDQ4LCAxNywgMTIsIDEsIDIxNywgMjE2LCAyMzEsIDIyOCwgNDAsIDE3LCAxMiwgMSwgMjE3LCAyMTYsIDQ4LCAKLSAgICAxNywgMTIsIDEsIDIxNywgMjE2LCA0MCwgMTcsIDEyLCAxLCAyMTcsIDIxNiwgNzAsIDE3LCAxMiwgMSwgMjE3LCAyMTYsIAotICAgIDEzOCwgMTcsIDEyLCAxLCAyMTcsIDE0NiwgNDgsIDE3LCAxMiwgMSwgMjE3LCAxNDYsIDQwLCAxNywgMTIsIDEsIDIxNywgCi0gICAgMTQ2LCA3MCwgMTcsIDEyLCAxLCAyMTcsIDE0NiwgMTM4LCAxNywgMTIsIDEsIDE0NSwgNDgsIDE3LCAxMiwgMSwgMTQ1LCAKLSAgICA0MCwgMTcsIDEyLCAxLCAxNDUsIDcwLCAxNywgMTIsIDEsIDE0NSwgMTM4LCAxNywgMTIsIDEsIDEyMSwgNDgsIDE3LCAxMiwgCi0gICAgMSwgMTIxLCA0MCwgMTcsIDEyLCAxLCAxMjEsIDcwLCAxNywgMTIsIDEsIDEyMSwgMTM4LCAxNywgMTIsIDEsIDIzNCwgMTM2LCAKLSAgICA0OCwgMTcsIDEyLCAxLCAyMzQsIDEzNiwgNDAsIDE3LCAxMiwgMSwgMjM0LCAxMzYsIDcwLCAxNywgMTIsIDEsIDIzNCwgCi0gICAgMTM2LCAxMzgsIDE3LCAxMiwgMSwgMjQ4LCAxNDEsIDQ4LCAxNywgMTIsIDEsIDI0OCwgMTQxLCA0MCwgMTcsIDEyLCAxLCAKLSAgICAyMTcsIDE1NiwgNDgsIDE3LCAxMiwgMSwgMjE3LCAxNTYsIDQwLCAxNywgMTIsIDEsIDIyMywgMjQ2LCA0OCwgMTcsIDEyLCAKLSAgICAxLCAyMjMsIDI0NiwgNDAsIDE3LCAxMiwgMSwgMjEyLCAxMDIsIDQ4LCAxNywgMTIsIDEsIDIxMiwgMTAyLCA0MCwgMTcsIAotICAgIDEyLCAxLCAyMjIsIDg2LCA0OCwgMTcsIDEyLCAxLCAyMjIsIDg2LCA0MCwgMTcsIDEyLCAxLCAyMjIsIDg2LCA3MCwgMTcsIAotICAgIDEyLCAxLCAyMjIsIDg2LCAxMzgsIDE3LCAxMiwgMSwgMjIwLCAyNDAsIDQ4LCAxNywgMTIsIDEsIDIyMCwgMjQwLCA0MCwgCi0gICAgMTcsIDEyLCAxLCAyMjAsIDI0MCwgNzAsIDE3LCAxMiwgMSwgMjIwLCAyNDAsIDEzOCwgMTcsIDEyLCAxLCAyMjIsIDE5NiwgCi0gICAgNDgsIDE3LCAxMiwgMSwgMjIyLCAxOTYsIDQwLCAxNywgMTIsIDEsIDIyMiwgMTk2LCA3MCwgMTcsIDEyLCAxLCAyMjIsIAotICAgIDE5NiwgMTM4LCAxNywgMTIsIDEsIDI0OCwgMTYwLCA0OCwgMTcsIDEyLCAxLCAyNDgsIDE2MCwgNDAsIDE3LCAxMiwgMSwgCi0gICAgMjQ4LCAxNjAsIDcwLCAxNywgMTIsIDEsIDI0OCwgMTYwLCAxMzgsIDE3LCAxMiwgMSwgMjE4LCAzMCwgNDgsIDE3LCAxMiwgCi0gICAgMSwgMjE4LCAzMCwgNDAsIDE3LCAxMiwgMSwgMjE4LCAzMCwgNzAsIDE3LCAxMiwgMSwgMjE4LCAzMCwgMTM4LCAxNywgMTIsIAotICAgIDEsIDIxMiwgMTA1LCA0OCwgMTcsIDEyLCAxLCAyMTIsIDEwNSwgNDAsIDE3LCAxMiwgMSwgMjEyLCAxMDUsIDcwLCAxNywgCi0gICAgMTIsIDEsIDIxMiwgMTA1LCAxMzgsIDE3LCAxMiwgMSwgMjU0LCAxMDQsIDQ4LCAxNywgMTIsIDEsIDI1NCwgMTA0LCA0MCwgCi0gICAgMTcsIDEyLCAxLCAyNTQsIDEwNCwgNzAsIDE3LCAxMiwgMSwgMjU0LCAxMDQsIDEzOCwgMTcsIDEyLCAxLCAyNDIsIDIyMSwgCi0gICAgNDgsIDE3LCAxMiwgMSwgMjQyLCAyMjEsIDQwLCAxNywgMTIsIDEsIDI0MiwgMjIxLCA3MCwgMTcsIDEyLCAxLCAyNDIsIAotICAgIDIyMSwgMTM4LCAxNywgMTIsIDEsIDI0NCwgMTEyLCA0OCwgMTcsIDEyLCAxLCAyNDQsIDExMiwgNDAsIDE3LCAxMiwgMSwgCi0gICAgMjQ0LCAxMTIsIDcwLCAxNywgMTIsIDEsIDI0NCwgMTEyLCAxMzgsIDE3LCAxMiwgMSwgMjI0LCAyMjYsIDQ4LCAxNywgMTIsIAotICAgIDEsIDIyNCwgMjI2LCA0MCwgMTcsIDEyLCAxLCAyMjQsIDIyNiwgNzAsIDE3LCAxMiwgMSwgMjI0LCAyMjYsIDEzOCwgMTcsIAotICAgIDEyLCAxLCAyMzQsIDI1NSwgNDgsIDE3LCAxMiwgMSwgMjM0LCAyNTUsIDQwLCAxNywgMTIsIDEsIDIzNCwgMjU1LCA3MCwgCi0gICAgMTcsIDEyLCAxLCAyMzQsIDI1NSwgMTM4LCAxNywgMTIsIDEsIDIzMywgMTI3LCA0OCwgMTcsIDEyLCAxLCAyMzMsIDEyNywgCi0gICAgNDAsIDE3LCAxMiwgMSwgMjMzLCAxMjcsIDcwLCAxNywgMTIsIDEsIDIzMywgMTI3LCAxMzgsIDE3LCAxMiwgMSwgNjMsIDQ4LCAKLSAgICAxNywgMTIsIDEsIDYzLCA0MCwgMTcsIDEyLCAxLCA2MywgNzAsIDE3LCAxMiwgMSwgNjMsIDEzOCwgMTcsIDEyLCAxLCAyMjgsIAotICAgIDE3NCwgNDgsIDE3LCAxMiwgMSwgMjI4LCAxNzQsIDQwLCAxNywgMTIsIDEsIDIyOCwgMTc0LCA3MCwgMTcsIDEyLCAxLCAKLSAgICAyMjgsIDE3NCwgMTM4LCAxNywgMTIsIDEsIDI0MSwgMjAzLCA0OCwgMTcsIDEyLCAxLCAyNDEsIDIwMywgNDAsIDE3LCAxMiwgCi0gICAgMSwgMjQxLCAyMDMsIDcwLCAxNywgMTIsIDEsIDI0MSwgMjAzLCAxMzgsIDE3LCAxMiwgMSwgMjE0LCAxNSwgNDgsIDE3LCAKLSAgICAxMiwgMSwgMjE0LCAxNSwgNDAsIDE3LCAxMiwgMSwgMTA2LCAyMTAsIDQ4LCAxNywgMTIsIDEsIDEwNiwgMjEwLCA0MCwgMTcsIAotICAgIDEyLCAxLCA3MywgNDgsIDE3LCAxMiwgMSwgNzMsIDQwLCAxNywgMTIsIDEsIDczLCA3MCwgMTcsIDEyLCAxLCA3MywgMTM4LCAKLSAgICAxNywgMTIsIDI2LCAyMzMsIDEyNywgMiwgMTA2LCAyLCAyMzIsIDMzLCA3OCwgNDgsIDE3LCAxMiwgMjYsIDIzMywgMTI3LCAKLSAgICAyLCAxMDYsIDIsIDIzMiwgMzMsIDc4LCA0MCwgMTcsIDEyLCAyNiwgMjMzLCAxMjcsIDIsIDEwNiwgMiwgMTkyLCA3OCwgNDgsIAotICAgIDE3LCAxMiwgMjYsIDIzMywgMTI3LCAyLCAxMDYsIDIsIDE5MiwgNzgsIDQwLCAxNywgMTIsIDI2LCAyMzMsIDEyNywgMiwgCi0gICAgMTA2LCAyLCAxOTIsIDI1MSwgMjIwLCA0OCwgMTcsIDEyLCAyNiwgMjMzLCAxMjcsIDIsIDEwNiwgMiwgMTkyLCAyNTEsIAotICAgIDIyMCwgNDAsIDE3LCAxMiwgMjYsIDIzMywgMTI3LCAyLCAxMDYsIDQ4LCAxNywgMTIsIDI2LCAyMzMsIDEyNywgMiwgMTA2LCAKLSAgICA0MCwgMTcsIDIxMiwgODAsIDIxMywgMjMwLCAyMjgsIDE4NCwgMjE5LCAyMDYsIDEyMCwgMjQ0LCAyNTQsIDc3LCAxMjAsIAotICAgIDIyNCwgMTQzLCA3NywgMTIwLCA1MCwgNTIsIDEyMCwgMjQ3LCA4NiwgNTIsIDEyMCwgMjI2LCA1NywgNTIsIDEyMCwgMjU0LCAKLSAgICAzNSwgMTIwLCAyNTMsIDIyNiwgMTIwLCA0MiwgMjI2LCAxMzEsIDEyMCwgNDYsIDIyNiwgMTMxLCAxMjAsIDI1MywgMTMyLCAKLSAgICAxMjAsIDk0LCA1MiwgMTIwLCAyNDksIDE1NywgMTIwLCAyNDAsIDE1OSwgMTIwLCAyNDMsIDIwMCwgMjE5LCA2OSwgMTIwLCAKLSAgICAyMTksIDIzMSwgMTIwLCAyMSwgMjEyLCA3OSwgMTIwLCAyMSwgMTE2LCAxMjAsIDIxLCAxMDksIDEyMCwgMjEsIDE2NiwgCi0gICAgMTIwLCAyMSwgMTYzLCAxMjAsIDIxLCAxODAsIDEyMCwgMjEsIDE4OSwgMTIwLCAyMSwgMTk4LCAxMjAsIDIxLCAxOTUsIAotICAgIDEyMCwgMjEsIDIwMCwgMTIwLCAyNDksIDE2NCwgMTIwLCAyMjEsIDcwLCAxMjAsIDIzMywgMzksIDUyLCAxMjAsIDI0NSwgCi0gICAgNjEsIDUyLCAxMjAsIDI0MiwgMTA3LCA1MiwgMTIwLCAyMjQsIDE1OCwgNzcsIDEyMCwgMjQ5LCAxNTYsIDI1MywgMTIyLCAKLSAgICAxMjAsIDcsIDYsIDEsIDYxLCAxMjAsIDcsIDYsIDEsIDI1MywgNzQsIDEyMCwgNywgNiwgMSwgMjUwLCAyNTIsIDEyMCwgNywgCi0gICAgNiwgMSwgMjQ5LCAzLCAxMjAsIDcsIDYsIDEsIDc0LCAxMjAsIDcsIDYsIDEsIDI0NCwgMjMwLCAxMjAsIDcsIDYsIDEsIAotICAgIDI0MywgMTc3LCAxMjAsIDcsIDYsIDEsIDI0MiwgNDEsIDEyMCwgNywgNiwgMSwgNzIsIDEyMCwgNywgNiwgMSwgMjM1LCAKLSAgICAxNDIsIDEyMCwgNywgNiwgMSwgMjM1LCAyNywgMTIwLCA3LCA2LCAxLCAxNTAsIDEyMCwgNywgNiwgMSwgMTgzLCAxMjAsIDcsIAotICAgIDYsIDEsIDIwNCwgMTIwLCA3LCA2LCAxLCA3NSwgMTIwLCA3LCA2LCAxLCAyMjYsIDIyOSwgMTIwLCA3LCA2LCAxLCAyMjQsIAotICAgIDI0MCwgMTIwLCA3LCA2LCAxLCAxNDksIDEyMCwgNywgNiwgMSwgMTk3LCAxMjAsIDcsIDYsIDEsIDIxOCwgOTksIDEyMCwgNywgCi0gICAgNiwgMSwgNjksIDEyMCwgNywgNiwgMSwgMjE1LCA3OSwgMTIwLCA3LCA2LCAxLCAyMTQsIDgyLCAxMjAsIDcsIDYsIDEsIAotICAgIDIxMywgMTY2LCAxMjAsIDcsIDYsIDEsIDIxMywgMTA1LCAxMjAsIDcsIDYsIDEsIDIxMiwgMTUyLCAxMjAsIDQyLCA0MSwgCi0gICAgMTI1LCAxMjAsIDIyMywgMjAzLCAyMTksIDIzMSwgMTIwLCA0NiwgNDEsIDEyNSwgMTIwLCAyNDksIDIyNCwgMjU0LCAxNzQsIAotICAgIDEyMCwgMTE1LCAyMzIsIDI0MiwgMTIwLCAyNDIsIDExNCwgMjU0LCAxNzQsIDEyMCwgNywgMywgMSwgNjEsIDEyMCwgNywgMywgCi0gICAgMSwgMjUzLCA3NCwgMTIwLCA3LCAzLCAxLCAyNTAsIDI1MiwgMTIwLCA3LCAzLCAxLCAyNDksIDMsIDEyMCwgNywgMywgMSwgCi0gICAgNzQsIDEyMCwgNywgMywgMSwgMjQ0LCAyMzAsIDEyMCwgNywgMywgMSwgMjQzLCAxNzcsIDEyMCwgNywgMywgMSwgMjQyLCAKLSAgICA0MSwgMTIwLCA3LCAzLCAxLCA3MiwgMTIwLCA3LCAzLCAxLCAyMzUsIDE0MiwgMTIwLCA3LCAzLCAxLCAyMzUsIDI3LCAxMjAsIAotICAgIDcsIDMsIDEsIDE1MCwgMTIwLCA3LCAzLCAxLCAxODMsIDEyMCwgNywgMywgMSwgMjA0LCAxMjAsIDcsIDMsIDEsIDc1LCAKLSAgICAxMjAsIDcsIDMsIDEsIDIyNiwgMjI5LCAxMjAsIDcsIDMsIDEsIDIyNCwgMjQwLCAxMjAsIDcsIDMsIDEsIDE0OSwgMTIwLCAKLSAgICA3LCAzLCAxLCAxOTcsIDEyMCwgNywgMywgMSwgMjE4LCA5OSwgMTIwLCA3LCAzLCAxLCA2OSwgMTIwLCA3LCAzLCAxLCAyMTUsIAotICAgIDc5LCAxMjAsIDcsIDMsIDEsIDIxNCwgODIsIDEyMCwgNywgMywgMSwgMjEzLCAxNjYsIDEyMCwgNywgMywgMSwgMjEzLCAKLSAgICAxMDUsIDEyMCwgNywgMywgMSwgMjEyLCAxNTIsIDEyMCwgNDIsIDI0OSwgNDAsIDEyNSwgMTIwLCA3MSwgMjMyLCAyNDIsIAotICAgIDEyMCwgNDYsIDI0OSwgNDAsIDEyNSwgMTIwLCAyMTcsIDQyLCAxMjAsIDQyLCA2NywgMjI2LCAxMzEsIDEyMCwgNDYsIDY3LCAKLSAgICAyMjYsIDEzMSwgOTgsIDEwNSwgMjQzLCAyMDAsIDIxOSwgNjksIDk4LCA0MiwgMjQ5LCAxMDAsIDEyNSwgOTgsIDQ2LCAyNDksIAotICAgIDEwMCwgMTI1LCA5OCwgMTA1LCAyNDksIDE1NywgOTgsIDU2LCAyMzEsIDM3LCAyNDcsIDc0LCA5OCwgNTYsIDEsIDIxMywgCi0gICAgMjE0LCA5OCwgNTYsIDEsIDMsIDYxLCA5OCwgNTYsIDEsIDMsIDcyLCA5OCwgNTYsIDEsIDMsIDY5LCA5OCwgNTYsIDEsIDMsIAotICAgIDc0LCA5OCwgNTYsIDEsIDMsIDc1LCA5OCwgNTYsIDEsIDMsIDE4NiwgOTgsIDU2LCAxLCAzLCAyMTIsIDIwMywgOTgsIDU2LCAKLSAgICAxLCAzLCAyMTIsIDIzNSwgOTgsIDU2LCAxLCAzLCAyMTYsIDgyLCA5OCwgMjM0LCAyMDYsIDIyNSwgNTcsIDIxOSwgMjE4LCAKLSAgICA3NywgOTgsIDU2LCAxLCA2MSwgOTgsIDU2LCAxLCA3MiwgOTgsIDU2LCAxLCA2OSwgOTgsIDU2LCAxLCA3NCwgOTgsIDU2LCAKLSAgICAxLCA3NSwgOTgsIDU2LCAxLCAxODEsIDk4LCA1NiwgMSwgMjM0LCAxMDEsIDk4LCA1NiwgMSwgMjMzLCAyMzgsIDk4LCA1NiwgCi0gICAgMSwgMjM0LCAxODgsIDk4LCA1NiwgMSwgMjM0LCAzNywgOTgsIDU2LCAxLCAyMjIsIDIwMiwgOTgsIDU2LCAxLCAyMjAsIAotICAgIDExNywgOTgsIDU2LCAxLCAyMTksIDI3LCA5OCwgNTYsIDEsIDIyMiwgMTAwLCA5OCwgNTYsIDEsIDIxOSwgMjQyLCA5OCwgCi0gICAgNTYsIDEsIDIxOCwgNTIsIDk4LCA1NiwgMSwgMjE3LCA3MSwgOTgsIDU2LCAxLCAyMTYsIDgyLCA5OCwgNTYsIDEsIDIxNywgCi0gICAgMjI5LCA5OCwgNTYsIDEsIDEwOCwgOTgsIDU2LCAxLCAyMDUsIDk4LCA1NiwgMSwgMjI5LCA2NCwgOTgsIDU2LCAxLCAyMjgsIAotICAgIDkyLCA5OCwgNTYsIDEsIDIyOSwgMTg3LCA5OCwgNTYsIDEsIDIyOCwgMTg1LCA5OCwgNTYsIDEsIDE1OSwgOTgsIDU2LCAxLCAKLSAgICAyNDEsIDE2NSwgOTgsIDU2LCAxLCAyNDAsIDIxMiwgOTgsIDU2LCAxLCAyNDEsIDIyMiwgOTgsIDU2LCAxLCAyNDEsIDU0LCAKLSAgICA5OCwgNTYsIDEsIDE4OCwgOTgsIDU2LCAxLCAyMzEsIDQyLCA5OCwgNTYsIDEsIDIzMCwgMTcyLCA5OCwgNTYsIDEsIDIzMSwgCi0gICAgMTU2LCA5OCwgNTYsIDEsIDIzMCwgMjMxLCA5OCwgNTYsIDEsIDE4NiwgOTgsIDU2LCAxLCAyMTIsIDIwMywgOTgsIDU2LCAxLCAKLSAgICAyMTIsIDIzNSwgOTgsIDU2LCAxLCAyMDMsIDk4LCA1NiwgMSwgMjIzLCAxODgsIDk4LCA1NiwgMSwgMjIzLCA1MSwgOTgsIAotICAgIDU2LCAxLCAyMjQsIDIxLCA5OCwgNTYsIDEsIDIyMywgMTEyLCA5OCwgNTYsIDEsIDIxNCwgNDksIDk4LCA1NiwgMSwgMjA0LCAKLSAgICA5OCwgNTYsIDIxNCwgMTE2LCAyMTksIDIxOCwgNzcsIDk4LCA1NiwgMjIxLCA3NSwgMjE5LCAyMTgsIDc3LCA5OCwgMjMsIAotICAgIDI0NCwgNzIsIDk4LCAyMywgMSwgMjM0LCA2NywgOTgsIDIzLCAxLCAyMTksIDE1MCwgOTgsIDIzLCAxLCAyMzQsIDYwLCA5OCwgCi0gICAgMjMsIDEsIDIyOSwgNTcsIDk4LCAyMywgMSwgMjI5LCA1NSwgOTgsIDIzLCAxLCAyMjksIDU0LCA5OCwgMjMsIDEsIDIxNywgCi0gICAgNTUsIDk4LCAyMywgMSwgMjE5LCAxMzksIDk4LCAyMywgMSwgMjIzLCAxNzksIDk4LCAyMywgMSwgMjIzLCAxNzQsIDk4LCAKLSAgICAyMywgMSwgMjIzLCAxNzEsIDk4LCAyMywgMSwgMjIzLCAxNjQsIDk4LCAyMywgMSwgMjIzLCAxNTksIDk4LCAyMywgMSwgCi0gICAgMjIzLCAxNTQsIDk4LCAyMywgMSwgMjIzLCAxNjUsIDk4LCAyMywgMSwgMjIzLCAxNzcsIDk4LCAyMywgMSwgMjMxLCAzMCwgCi0gICAgOTgsIDIzLCAxLCAyMjUsIDIyNywgOTgsIDIzLCAxLCAyMTksIDE0NywgOTgsIDIzLCAxLCAyMjUsIDIxNiwgOTgsIDIzLCAxLCAKLSAgICAyMjAsIDc2LCA5OCwgMjMsIDEsIDIxOSwgMTQ0LCA5OCwgMjMsIDEsIDIzNiwgNTEsIDk4LCAyMywgMSwgMjQ5LCAyMzksIAotICAgIDk4LCAyMywgMSwgMjE5LCAxNTQsIDk4LCAyMywgMSwgMjUwLCA0MywgOTgsIDIzLCAxLCAyMzQsIDExNiwgOTgsIDIzLCAxLCAKLSAgICAyMTcsIDEyNiwgOTgsIDIzLCAxLCAyMjYsIDcsIDk4LCAyMywgMSwgMjQxLCAxNTgsIDk4LCAyMywgMSwgNjEsIDk4LCAyMywgCi0gICAgMSwgMjU0LCAxNDgsIDk4LCAyMywgMSwgMTg2LCA5OCwgMjMsIDEsIDIxMywgODAsIDk4LCAyMywgMSwgMjQ1LCA3NiwgOTgsIAotICAgIDIzLCAxLCA3NCwgOTgsIDIzLCAxLCAyMTMsIDI3LCA5OCwgMjMsIDEsIDIxMywgMzgsIDk4LCAyMywgMSwgNzUsIDk4LCAyMywgCi0gICAgMSwgMjE0LCA0OSwgOTgsIDIzLCAxLCAyMTQsIDQ2LCA5OCwgMjMsIDEsIDIyNywgOTksIDk4LCAyMywgMSwgMjEyLCAyMzUsIAotICAgIDk4LCAyMywgMSwgNjksIDk4LCAyMywgMSwgMjEzLCAyNTIsIDk4LCAyMywgMSwgMjE0LCA2LCA5OCwgMjMsIDEsIDIxMywgCi0gICAgMjM1LCA5OCwgMjMsIDEsIDIxMiwgMjAzLCA5OCwgMjMsIDEsIDI0NSwgMjIsIDk4LCAyMywgMSwgMjEyLCAyNTUsIDk4LCAKLSAgICAyMywgMSwgNzIsIDEyMCwgMjUwLCAxMTAsIDUyLCAxMjAsIDIyNSwgMTA4LCA1MiwgMTIwLCAyMjgsIDE2MywgNTIsIDEyMCwgCi0gICAgMjMyLCAzNywgMTIwLCAyNTEsIDYzLCAxMzQsIDEyMCwgMjEzLCAzMSwgNTIsIDEyMCwgMjEzLCAyMDQsIDUyLCA5OCwgMjQzLCAKLSAgICAyNDMsIDE3NywgMjE0LCAyMTYsIDk4LCAxMzIsIDY4LCA5OCwgMjE1LCAxMjQsIDY4LCA5OCwgOTUsIDY4LCA5OCwgMjQ2LCAKLSAgICA1OCwgNjgsIDk4LCA4MywgMjE5LCAxNjYsIDk4LCA2NywgMjQ5LCAyMjgsIDIzNSwgMjAxLCAyNTQsIDEwLCAyNTQsIDI5LCAKLSAgICAyMzUsIDIwMSwgMjU0LCAxMCwgMjIxLCA1NywgMjM1LCAyMDEsIDI1NCwgMTAsIDIxNywgMTg5LCAyMjcsIDExMywgMjIzLCAKLSAgICAyMjQsIDI1MCwgNzgsIDIyMywgMjI0LCAyNTAsIDc4LCA1OCwgNTQsIDQsIDI1MywgNTgsIDYxLCA1OCwgNTQsIDQsIDI1MywgCi0gICAgMjcsIDc0LCA1OCwgNTQsIDQsIDI1MywgMzYsIDcyLCA1OCwgNTQsIDQsIDI1MywgNCwgNzUsIDU4LCA1NCwgNCwgMjUzLCAKLSAgICA1NCwgNjksIDU4LCA1NCwgNCwgMjUzLCA3MywgMjQ4LCAxNjQsIDU4LCA1NCwgNCwgMjUzLCAyMCwgMjQ4LCA0MSwgNTgsIAotICAgIDU0LCA0LCAyNTMsIDYwLCAyNDcsIDIxMSwgNTgsIDU0LCA0LCAyNTMsIDUwLCAyNDcsIDk5LCA1OCwgNTQsIDQsIDI1MywgCi0gICAgMTQsIDI0NiwgMzMsIDU4LCA1NCwgNCwgMjUzLCA4LCAyMzUsIDEzOSwgNTgsIDU0LCA0LCAyNTMsIDE5LCAyMzUsIDEyNywgCi0gICAgNTgsIDU0LCA0LCAyNTMsIDI5LCAyMzUsIDcxLCA1OCwgNTQsIDQsIDI1MywgMCwgMjM1LCA1NCwgNTgsIDU0LCA0LCAyNTIsIAotICAgIDI0NCwgMTgxLCA1OCwgNTQsIDQsIDI1MywgMjEsIDIzNCwgMTg4LCA1OCwgNTQsIDQsIDI1MiwgMjU0LCAyMzQsIDEwMSwgCi0gICAgNTgsIDU0LCA0LCAyNTIsIDI1MSwgMjM0LCAzNywgNTgsIDU0LCA0LCAyNTIsIDI0MCwgMjMzLCAyMzgsIDU4LCA1NCwgNCwgCi0gICAgMjUyLCAyNDEsIDE4OCwgNTgsIDU0LCA0LCAyNTMsIDUxLCAyMzEsIDE1NiwgNTgsIDU0LCA0LCAyNTIsIDI0OCwgMjMxLCAKLSAgICA0MiwgNTgsIDU0LCA0LCAyNTMsIDQ5LCAyMzAsIDIzMSwgNTgsIDU0LCA0LCAyNTMsIDQxLCAyMzAsIDE3MiwgNTgsIDU0LCAKLSAgICA0LCAyNTMsIDYyLCAyMDUsIDU4LCA1NCwgNCwgMjUzLCA0MCwgMjI5LCAxODcsIDU4LCA1NCwgNCwgMjUzLCAzNCwgMjI5LCAKLSAgICA2NCwgNTgsIDU0LCA0LCAyNTMsIDEzLCAyMjgsIDE4NSwgNTgsIDU0LCA0LCAyNTMsIDEwLCAyMjgsIDkyLCA1OCwgNTQsIDQsIAotICAgIDI1MywgNjksIDE5MywgNTgsIDU0LCA0LCAyNTIsIDI0OSwgMjI2LCA5NiwgNTgsIDU0LCA0LCAyNTMsIDI2LCAyMjUsIDI0MCwgCi0gICAgNTgsIDU0LCA0LCAyNTMsIDUzLCAyMjUsIDE1MCwgNTgsIDU0LCA0LCAyNTMsIDE1LCAyMjUsIDM1LCA1OCwgNTQsIDQsIAotICAgIDI1MywgNDgsIDIyNCwgMjMyLCA1OCwgNTQsIDQsIDI1MiwgMjQzLCAyMjQsIDIxMywgNTgsIDU0LCA0LCAyNTMsIDQzLCAKLSAgICAyMjQsIDE5OCwgNTgsIDU0LCA0LCAyNTMsIDMyLCAyMjQsIDE4NywgNTgsIDU0LCA0LCAyNTMsIDUsIDIwMywgNTgsIDU0LCAKLSAgICA0LCAyNTMsIDM3LCAyMjQsIDIxLCA1OCwgNTQsIDQsIDI1MywgMTIsIDIyMywgMTg4LCA1OCwgNTQsIDQsIDI1MywgNzEsIAotICAgIDIyMywgMTEyLCA1OCwgNTQsIDQsIDI1MywgMzgsIDIyMywgNTEsIDU4LCA1NCwgNCwgMjUzLCAzMywgMjIyLCAyMDIsIDU4LCAKLSAgICA1NCwgNCwgMjUzLCA1NiwgMjIyLCAxMDAsIDU4LCA1NCwgNCwgMjUzLCAyNCwgMjIwLCAxMTcsIDU4LCA1NCwgNCwgMjUzLCAKLSAgICA1MiwgMjE5LCAyNDIsIDU4LCA1NCwgNCwgMjUzLCA3LCAyMTksIDI3LCA1OCwgNTQsIDQsIDI1MywgNiwgMjE4LCA1MiwgNTgsIAotICAgIDU0LCA0LCAyNTMsIDY3LCAyMTcsIDIyOSwgNTgsIDU0LCA0LCAyNTMsIDI4LCAyMTcsIDcxLCA1OCwgNTQsIDQsIDI1MywgCi0gICAgNjUsIDEwOCwgNTgsIDU0LCA0LCAyNTIsIDI1MiwgMjE2LCA4MiwgNTgsIDU0LCA0LCAyNTMsIDExLCAyMTQsIDQ5LCA1OCwgCi0gICAgNTQsIDQsIDI1MiwgMjQ2LCAyMTQsIDYsIDU4LCA1NCwgNCwgMjUzLCAyNSwgMjEzLCAyMzUsIDU4LCA1NCwgNCwgMjUzLCAKLSAgICAyMywgMjEzLCAyMTQsIDU4LCA1NCwgNCwgMjUzLCA0NywgMjEyLCAxMDksIDU4LCA1NCwgNCwgMjUyLCAyNDcsIDIxMiwgODcsIAotICAgIDU4LCA1NCwgNCwgMjUzLCA0NCwgMjEyLCAxNiwgNTgsIDU0LCA0LCAyNTMsIDM5LCAyNTQsIDIzNCwgNTgsIDU0LCA0LCAKLSAgICAyNTMsIDIyLCAyNTQsIDIzMywgNTgsIDU0LCA0LCAyNTIsIDIzNywgMjUzLCAxMDgsIDU4LCA1NCwgNCwgMjUyLCAyNTAsIAotICAgIDI0NiwgMSwgNTgsIDU0LCA0LCAyNTIsIDIzMywgMjQ2LCAwLCA1OCwgNTQsIDQsIDI1MywgMTcsIDIyOCwgMzEsIDU4LCA1NCwgCi0gICAgNCwgMjUzLCAzNSwgMjI1LCAzNCwgNTgsIDU0LCA0LCAyNTMsIDMsIDIyNSwgMzcsIDU4LCA1NCwgNCwgMjUyLCAyNDUsIAotICAgIDIyNCwgNzYsIDU4LCA1NCwgNCwgMjUzLCAzMSwgMjI0LCA3NSwgNTgsIDU0LCA0LCAyNTIsIDI1MywgMjIzLCAxMTEsIDU4LCAKLSAgICA1NCwgNCwgMjUyLCAyNTUsIDIxOCwgNTAsIDU4LCA1NCwgNCwgMjUyLCAyMzUsIDIxNiwgNDMsIDU4LCA1NCwgNCwgMjUyLCAKLSAgICAyMzIsIDEwOSwgNTgsIDU0LCAxNiwgMjUzLCA0NiwgNTgsIDU0LCAxNiwgMjUzLCA0NSwgNTgsIDU0LCAxNiwgMjUzLCA0MiwgCi0gICAgNTgsIDU0LCAxNiwgMjUzLCAzMCwgNTgsIDU0LCAxNiwgMjUzLCAxOCwgNTgsIDU0LCAxNiwgMjUzLCAxNiwgNTgsIDU0LCAKLSAgICAxNiwgMjUzLCA5LCA1OCwgNTQsIDE2LCAyNTMsIDIsIDU4LCA1NCwgMTYsIDI1MywgMSwgNTgsIDU0LCAxNiwgMjUyLCAyNDIsIAotICAgIDU4LCA1NCwgMTYsIDI1MiwgMjM5LCA1OCwgNTQsIDE2LCAyNTIsIDIzOCwgNTgsIDU0LCAxNiwgMjUyLCAyMzYsIDU4LCA1NCwgCi0gICAgMTYsIDI1MiwgMjM0LCA1OCwgNTQsIDEwMiwgMjUyLCAyMzEsIDIzMSwgMjQ4LCA1OCwgNTQsIDEwMiwgMjUyLCAyMzAsIAotICAgIDIxMywgMjA4LCA1OCwgNTQsIDEwMiwgMjUyLCAyMjksIDI0OCwgMjUsIDU4LCA1NCwgMTAyLCAyNTIsIDIyOCwgMjQ1LCA1OCwgCi0gICAgNTgsIDU0LCAxMDIsIDI1MiwgMjI3LCAyMzEsIDIyMiwgNTgsIDU0LCAxMDIsIDI1MiwgMjI2LCAyMTksIDEwMSwgNTgsIDU0LCAKLSAgICAxMDIsIDI1MiwgMjI1LCAyNDUsIDQsIDU4LCA1NCwgMTAyLCAyNTIsIDIyNCwgMjI0LCA0NSwgNTgsIDU0LCAxMDIsIDI1MiwgCi0gICAgMjIzLCAyMjAsIDI0MiwgNTgsIDU0LCAxMDIsIDI1MiwgMjIyLCAyNDEsIDIyMSwgNTgsIDU0LCAxMDIsIDI1MiwgMjIxLCAKLSAgICAyMTksIDIxMiwgNTgsIDU0LCAxMDIsIDI1MiwgMjIwLCAyNTEsIDEyNiwgNTgsIDU0LCAxMDIsIDI1MiwgMjE5LCAyNDksIAotICAgIDg0LCA1OCwgNTQsIDEwMiwgMjUyLCAyMTgsIDI1MSwgNDQsIDU4LCA1NCwgMTAyLCAyNTIsIDIxNywgMjEzLCAyNDMsIDU4LCAKLSAgICA1NCwgMTAyLCAyNTIsIDIxNiwgMjUyLCA1NiwgNTgsIDU0LCAxMDIsIDI1MiwgMjE1LCAyMjcsIDcxLCA1OCwgNTQsIDEwMiwgCi0gICAgMjUyLCAyMTQsIDIxOSwgMTg2LCA1OCwgNTQsIDEwMiwgMjUyLCAyMTMsIDI0OSwgMTEsIDU4LCA1NCwgMjMwLCAyMTIsIAotICAgIDI1MiwgMjEyLCAyMzQsIDIyOSwgNTgsIDU0LCAyMzAsIDIxMiwgMjUyLCAyMTEsIDIzNCwgMjM3LCA1OCwgNTQsIDEwMiwgCi0gICAgMjUyLCAyMTAsIDIyNywgODQsIDU4LCA1NCwgMTAyLCAyNTIsIDIwOSwgMjEzLCAyMjEsIDU4LCA1NCwgMTAyLCAyNTIsIAotICAgIDIwOCwgNTgsIDU0LCAyMzAsIDIxMiwgMjUyLCAyMDcsIDI1MywgMTg4LCA1OCwgNTQsIDIzMCwgMjEyLCAyNTIsIDIwNiwgCi0gICAgMjMxLCAxMTYsIDU4LCA1NCwgMTAyLCAyNTIsIDIwNSwgMjUxLCA2MiwgNTgsIDU0LCAxMDIsIDI1MiwgMjA0LCAyNDIsIAotICAgIDE0MiwgNTgsIDU0LCAxMDIsIDI1MiwgMjAzLCA1OCwgNTQsIDEwMiwgMjUyLCAyMDIsIDIxMywgMTk5LCA1OCwgNTQsIDEwMiwgCi0gICAgMjUyLCAyMDEsIDU4LCA1NCwgMTAyLCAyNTIsIDIwMCwgNTgsIDU0LCAxMDIsIDI1MiwgMTk5LCAyNDAsIDIzNSwgNTgsIDU0LCAKLSAgICAxMDIsIDI1MiwgMTk4LCA1OCwgNTQsIDEwMiwgMjUyLCAxOTcsIDU4LCA1NCwgMTAyLCAyNTIsIDE5NiwgNTgsIDU0LCAyMzAsIAotICAgIDIxMiwgMjUyLCAxOTQsIDIxNiwgNTYsIDU4LCA1NCwgMTAyLCAyNTIsIDE5MywgNTgsIDU0LCAxMDIsIDI1MiwgMTkyLCA1OCwgCi0gICAgNTQsIDEwMiwgMjUyLCAxOTEsIDI0OSwgMTg3LCA1OCwgNTQsIDEwMiwgMjUyLCAxOTAsIDU4LCA1NCwgMTAyLCAyNTIsIAotICAgIDE4OSwgNTgsIDU0LCAxMDIsIDI1MiwgMTg4LCAyNDMsIDY5LCA1OCwgNTQsIDEwMiwgMjUyLCAxODcsIDI1MywgMTc1LCA1OCwgCi0gICAgNTQsIDEwMiwgMjUyLCAxODYsIDU4LCA1NCwgMTAyLCAyNTIsIDE4NSwgNTgsIDU0LCAxMDIsIDI1MiwgMTg0LCA1OCwgNTQsIAotICAgIDEwMiwgMjUyLCAxODMsIDU4LCA1NCwgMTAyLCAyNTIsIDE4MiwgNTgsIDU0LCAxMDIsIDI1MiwgMTgxLCA1OCwgNTQsIDEwMiwgCi0gICAgMjUyLCAxODAsIDU4LCA1NCwgMTAyLCAyNTIsIDE3OSwgNTgsIDU0LCAxMDIsIDI1MiwgMTc4LCA1OCwgNTQsIDEwMiwgMjUyLCAKLSAgICAxNzcsIDIzMCwgMjA0LCA1OCwgNTQsIDEwMiwgMjUyLCAxNzYsIDU4LCA1NCwgMTAyLCAyNTIsIDE3NSwgMjE2LCAxOTMsIAotICAgIDU4LCA1NCwgMTAyLCAyNTIsIDE3NCwgNTgsIDU0LCAxMDIsIDI1MiwgMTczLCA1OCwgNTQsIDEwMiwgMjUyLCAxNzIsIDU4LCAKLSAgICA1NCwgMTAyLCAyNTIsIDE3MSwgNTgsIDU0LCAxMDIsIDI1MiwgMTcwLCA1OCwgNTQsIDEwMiwgMjUyLCAxNjksIDU4LCA1NCwgCi0gICAgMTAyLCAyNTIsIDE2OCwgNTgsIDU0LCAxMDIsIDI1MiwgMTY3LCA1OCwgNTQsIDEwMiwgMjUyLCAxNjYsIDU4LCA1NCwgMTAyLCAKLSAgICAyNTIsIDE2NSwgNTgsIDU0LCAxMDIsIDI1MiwgMTY0LCA1OCwgNTQsIDEwMiwgMjUyLCAxNjMsIDI0MSwgMTk1LCA1OCwgNTQsIAotICAgIDEwMiwgMjUyLCAxNDIsIDI0MywgMjUzLCA1OCwgNTQsIDEwMiwgMjUyLCAxMzksIDI1MiwgMzYsIDU4LCA1NCwgMTAyLCAKLSAgICAyNTIsIDEzNCwgMjE5LCAxOTMsIDU4LCA1NCwgMTAyLCAyNTIsIDEzMywgNjgsIDU4LCA1NCwgMTAyLCAyNTIsIDEzMiwgNTgsIAotICAgIDU0LCAxMDIsIDI1MiwgMTMxLCAyMTgsIDE4MSwgNTgsIDU0LCAxMDIsIDI1MiwgMTMwLCA1OCwgNTQsIDEwMiwgMjUyLCAKLSAgICAxMjksIDU4LCA1NCwgMTAyLCAyNTIsIDEyOCwgMjEzLCAyMzksIDI1MCwgNzUsIDU4LCA1NCwgMTAyLCAyNTIsIDEyNywgCi0gICAgMjUwLCA3NSwgNTgsIDU0LCAxMDIsIDI1MiwgMTI2LCAyNTAsIDc2LCAyNDMsIDIyNSwgNTgsIDU0LCAxMDIsIDI1MiwgMTI1LCAKLSAgICAyMTMsIDI0MSwgNTgsIDU0LCAxMDIsIDI1MiwgMTI0LCA1OCwgNTQsIDEwMiwgMjUyLCAxMjMsIDU4LCA1NCwgMjMwLCAyMTIsIAotICAgIDI1MiwgMTIyLCAyNDcsIDE1MCwgNTgsIDU0LCAxMDIsIDI1MiwgMTIxLCA1OCwgNTQsIDEwMiwgMjUyLCAxMjAsIDU4LCA1NCwgCi0gICAgMTAyLCAyNTIsIDExOCwgNTgsIDU0LCAxMDIsIDI1MiwgMTE3LCA1OCwgNTQsIDEwMiwgMjUyLCAxMTYsIDU4LCA1NCwgMTAyLCAKLSAgICAyNTIsIDExNSwgMjQ4LCAxMDQsIDU4LCA1NCwgMTAyLCAyNTIsIDExNCwgNTgsIDU0LCAxMDIsIDI1MiwgMTEzLCA1OCwgNTQsIAotICAgIDEwMiwgMjUyLCAxMTIsIDU4LCA1NCwgMTAyLCAyNTIsIDExMSwgNTgsIDU0LCAxMDIsIDI1MiwgMTEwLCA1OCwgNTQsIDEwMiwgCi0gICAgMjE0LCAxNjMsIDI1MiwgMTk1LCA1OCwgNTQsIDEwMiwgMjE0LCAxNjMsIDI1MiwgMTYyLCA1OCwgNTQsIDEwMiwgMjE0LCAKLSAgICAxNjMsIDI1MiwgMTYxLCA1OCwgNTQsIDEwMiwgMjE0LCAxNjMsIDI1MiwgMTYwLCA1OCwgNTQsIDEwMiwgMjE0LCAxNjMsIAotICAgIDI1MiwgMTU5LCA1OCwgNTQsIDEwMiwgMjE0LCAxNjMsIDI1MiwgMTU4LCA1OCwgNTQsIDEwMiwgMjE0LCAxNjMsIDI1MiwgCi0gICAgMTU3LCA1OCwgNTQsIDEwMiwgMjE0LCAxNjMsIDI1MiwgMTU2LCA1OCwgNTQsIDEwMiwgMjE0LCAxNjMsIDI1MiwgMTU1LCAKLSAgICA1OCwgNTQsIDEwMiwgMjE0LCAxNjMsIDI1MiwgMTU0LCA1OCwgNTQsIDEwMiwgMjE0LCAxNjMsIDI1MiwgMTUzLCA1OCwgNTQsIAotICAgIDEwMiwgMjE0LCAxNjMsIDI1MiwgMTUyLCA1OCwgNTQsIDEwMiwgMjE0LCAxNjMsIDI1MiwgMTUxLCA1OCwgNTQsIDEwMiwgCi0gICAgMjE0LCAxNjMsIDI1MiwgMTUwLCA1OCwgNTQsIDEwMiwgMjE0LCAxNjMsIDI1MiwgMTQ5LCA1OCwgNTQsIDEwMiwgMjE0LCAKLSAgICAxNjMsIDI1MiwgMTQ4LCA1OCwgNTQsIDEwMiwgMjE0LCAxNjMsIDI1MiwgMTQ3LCA1OCwgNTQsIDEwMiwgMjE0LCAxNjMsIAotICAgIDI1MiwgMTQ2LCA1OCwgNTQsIDEwMiwgMjE0LCAxNjMsIDI1MiwgMTQ1LCA1OCwgNTQsIDEwMiwgMjE0LCAxNjMsIDI1MiwgCi0gICAgMTQ0LCA1OCwgNTQsIDEwMiwgMjE0LCAxNjMsIDI1MiwgMTQzLCA1OCwgNTQsIDEwMiwgMjE0LCAxNjMsIDI1MiwgMTQxLCAKLSAgICA1OCwgNTQsIDEwMiwgMjE0LCAxNjMsIDI1MiwgMTQwLCA1OCwgNTQsIDEwMiwgMjE0LCAxNjMsIDI1MiwgMTM4LCA1OCwgNTQsIAotICAgIDEwMiwgMjE0LCAxNjMsIDI1MiwgMTM3LCA1OCwgNTQsIDEwMiwgMjE0LCAxNjMsIDI1MiwgMTM2LCA1OCwgNTQsIDEwMiwgCi0gICAgMjE0LCAxNjMsIDI1MiwgMTM1LCA1OCwgNTQsIDEwMiwgMjE0LCAxNjMsIDI1MiwgMTE5LCA1OCwgNTQsIDEwMiwgMjE0LCAKLSAgICAxNjMsIDI1MiwgMTA5LCAyNTQsIDE0MSwgMjEzLCAxOTYsIDIyMSwgNTgsIDIzMiwgMjQyLCAyNTQsIDE0MSwgMjEzLCAxOTYsIAotICAgIDIyMSwgNTgsIDI0NywgNzQsIDI1NCwgMTQxLCAyNTAsIDY2LCA3NywgMjU0LCAxNDEsIDUwLCAxMTYsIDI1NCwgMTQxLCA1MCwgCi0gICAgMTA5LCAyNTQsIDE0MSwgNTAsIDE2NiwgMjU0LCAxNDEsIDUwLCAxNjMsIDI1NCwgMTQxLCA1MCwgMTgwLCAyNTQsIDE0MSwgCi0gICAgNTAsIDE4OSwgMjU0LCAxNDEsIDUwLCAxOTgsIDI1NCwgMTQxLCA1MCwgMTk1LCAyNTQsIDE0MSwgNTAsIDIwMCwgMjU0LCAKLSAgICAxNDEsIDUwLCAyMTcsIDIwMCwgMjU0LCAxNDEsIDUwLCAyMTYsIDM4LCAyNTQsIDE0MSwgNTAsIDIxNywgMTE1LCAyNTQsIAotICAgIDE0MSwgNTAsIDI0MywgMjQwLCAyNTQsIDE0MSwgNTAsIDI0NCwgODMsIDI1NCwgMTQxLCA1MCwgMjIwLCAzOSwgMjU0LCAKLSAgICAxNDEsIDUwLCAyMjEsIDM3LCAyNTQsIDE0MSwgNTAsIDI0NSwgMTQxLCAyNTQsIDE0MSwgNTAsIDIyOSwgMjYsIDI1NCwgCi0gICAgMTQxLCA1MCwgMTIyLCAyNDAsIDIwMCwgMjU0LCAxNDEsIDUwLCAxMTcsIDI0MCwgMjAwLCAyNTQsIDE0MSwgNTAsIDEzMywgCi0gICAgMjQwLCAyMDAsIDI1NCwgMTQxLCA1MCwgMjQzLCAyMzcsIDI0MCwgMjAwLCAyNTQsIDE0MSwgNTAsIDI0NCwgNTAsIDI0MCwgCi0gICAgMjAwLCAyNTQsIDE0MSwgNTAsIDIyMCwgNTMsIDI0MCwgMjAwLCAyNTQsIDE0MSwgNTAsIDIyMSwgNDMsIDI0MCwgMjAwLCAKLSAgICAyNTQsIDE0MSwgNTAsIDI0NSwgMTUwLCAyNDAsIDIwMCwgMjU0LCAxNDEsIDUwLCAyMjksIDMxLCAyNDAsIDIwMCwgMjU0LCAKLSAgICAxNDEsIDUwLCAxMjIsIDIxNywgMTAwLCAyNTQsIDE0MSwgNTAsIDExNywgMjE3LCAxMDAsIDI1NCwgMTQxLCA1MCwgMTMzLCAKLSAgICAyMTcsIDEwMCwgMjU0LCAxNDEsIDUwLCAyNDMsIDIzNywgMjE3LCAxMDAsIDI1NCwgMTQxLCA1MCwgMjQ0LCA1MCwgMjE3LCAKLSAgICAxMDAsIDI1NCwgMTQxLCA1MCwgMjIwLCA1MywgMjE3LCAxMDAsIDI1NCwgMTQxLCA1MCwgMjIxLCA0MywgMjE3LCAxMDAsIAotICAgIDI1NCwgMTQxLCA1MCwgMjQ1LCAxNTAsIDIxNywgMTAwLCAyNTQsIDE0MSwgNTAsIDIyOSwgMzEsIDIxNywgMTAwLCAyNTQsIAotICAgIDE0MSwgNTAsIDIxNywgMjAxLCAyMTcsIDEwMCwgMjU0LCAxNDEsIDUwLCAyMTYsIDM5LCAyMTcsIDEwMCwgMjU0LCAxNDEsIAotICAgIDUwLCAyMTcsIDExNiwgMjE3LCAxMDAsIDI1NCwgMTQxLCA1MCwgMjQzLCAyNDEsIDIxNywgMTAwLCAyNTQsIDE0MSwgNTAsIAotICAgIDI0NCwgODQsIDIxNywgMTAwLCAyNTQsIDE0MSwgNTAsIDIyMCwgNDAsIDIxNywgMTAwLCAyNTQsIDE0MSwgNTAsIDIyMSwgCi0gICAgMzgsIDIxNywgMTAwLCAyNTQsIDE0MSwgNTAsIDI0NSwgMTQyLCAyMTcsIDEwMCwgMjU0LCAxNDEsIDUwLCAyMjksIDI3LCAKLSAgICAyMTcsIDEwMCwgMjU0LCAxNDEsIDIxMywgMjU1LCAyNTIsIDQ4LCAyMTUsIDE0NCwgMjU0LCAxNDEsIDIxMywgMjU1LCAyNDQsIAotICAgIDYxLCAyMTksIDQsIDI1NCwgMTQxLCAyMTMsIDI1NSwgMjIyLCA5NSwgMjE5LCA0LCAyNTQsIDE0MSwgMjEzLCAyNTUsIDIxNywgCi0gICAgMTIyLCAyMTksIDQsIDI1NCwgMTQxLCAyMTMsIDI1NSwgMjQzLCAyMzAsIDIxOSwgNCwgMjU0LCAxNDEsIDI0NiwgMzYsIAotICAgIDIzMSwgMTU1LCAyNDQsIDYxLCAyMTksIDQsIDI1NCwgMTQxLCAyMzIsIDIyOCwgMjMxLCAxNTUsIDI0NCwgNjEsIDIxOSwgNCwgCi0gICAgMjU0LCAxNDEsIDIzMSwgMTU1LCAyMjIsIDk1LCAyMTksIDQsIDI1NCwgMTQxLCAyMzEsIDE1NSwgMjE3LCAxMjIsIDIxOSwgCi0gICAgNCwgMjUsIDI1NCwgMTY3LCAyNTMsIDExMCwgMTIyLCAyMjQsIDE2NiwgMjUsIDI1NCwgMTY3LCAyNTMsIDExMCwgMTIyLCAKLSAgICAyNDIsIDksIDI1LCAyNTQsIDE2NywgMjUzLCAxMTAsIDEyMiwgMjQ2LCA1NCwgMjUsIDI1NCwgMTY3LCAyNTMsIDExMCwgCi0gICAgMTgwLCAyNSwgMjU0LCAxNjcsIDI1MywgMTEwLCAyNDQsIDgzLCAyNSwgMjU0LCAxNjcsIDI1MywgMTEwLCAyNDQsIDUwLCAKLSAgICAyNDAsIDIwMCwgMjUsIDI1NCwgMTY3LCAyNTMsIDExMCwgMjQ0LCA1MCwgMjE3LCAxMDAsIDI1LCAyNTQsIDE2NywgMjUzLCAKLSAgICAxMTAsIDI0NCwgODQsIDIxNywgMTAwLCAyNSwgMjU0LCAxNjcsIDI1MywgMTEwLCAyNDQsIDUwLCAyMTgsIDE4LCAyNSwgCi0gICAgMjU0LCAxNjcsIDI1MywgMTEwLCAyMTcsIDIwMSwgMjE4LCAxOCwgMjUsIDI1NCwgMTY3LCAyNTMsIDExMCwgMjQ0LCA4NCwgCi0gICAgMjE4LCAxOCwgMjUsIDI1NCwgMTY3LCAyNTMsIDExMCwgMTIyLCAyNDAsIDIwMSwgMjE4LCAxOCwgMjUsIDI1NCwgMTY3LCAKLSAgICAyNTMsIDExMCwgMjQ0LCA1MCwgMjQwLCAyMDEsIDIxOCwgMTgsIDI1LCAyNTQsIDE2NywgMjUzLCAxMTAsIDEyMiwgMjE3LCAKLSAgICAxMDEsIDIxOCwgMTgsIDI1LCAyNTQsIDE2NywgMjUzLCAxMTAsIDI0NCwgNTAsIDIxNywgMTAxLCAyMTgsIDE4LCAyNSwgCi0gICAgMjU0LCAxNjcsIDI1MywgMTEwLCAyNDQsIDUwLCAyMTksIDkwLCAyNSwgMjU0LCAxNjcsIDI1MywgMTEwLCAyMTcsIDIwMSwgCi0gICAgMjE5LCA5MCwgMjUsIDI1NCwgMTY3LCAyNTMsIDExMCwgMjQ0LCA4NCwgMjE5LCA5MCwgMjUsIDI1NCwgMTY3LCAyNTMsIAotICAgIDExMCwgMTIyLCAyNDAsIDIwMSwgMjE5LCA5MCwgMjUsIDI1NCwgMTY3LCAyNTMsIDExMCwgMjQ0LCA1MCwgMjQwLCAyMDEsIAotICAgIDIxOSwgOTAsIDI1LCAyNTQsIDE2NywgMjUzLCAxMTAsIDEyMiwgMjE3LCAxMDEsIDIxOSwgOTAsIDI1LCAyNTQsIDE2NywgCi0gICAgMjUzLCAxMTAsIDIxNywgMjAxLCAyMTcsIDEwMSwgMjE5LCA5MCwgMjUsIDI1NCwgMTY3LCAyNTMsIDExMCwgMjQ0LCA4NCwgCi0gICAgMjE3LCAxMDEsIDIxOSwgOTAsIDI1LCAyNTQsIDE2NywgMjUzLCAxMTAsIDIxNywgMjAxLCAyMzAsIDIzNCwgMjUsIDI1NCwgCi0gICAgMTY3LCAyNDEsIDE4OSwgMTIyLCAyMjUsIDE2NCwgMjUsIDI1NCwgMTY3LCAyMTcsIDEzNCwgMTE2LCAyNSwgMjU0LCAxNjcsIAotICAgIDI0MSwgMTg2LCAxMTYsIDI1LCAyNTQsIDE2NywgMjQ1LCA2NywgMTA5LCAyNSwgMjU0LCAxNjcsIDIxNywgMTM0LCAxMDksIAotICAgIDI1LCAyNTQsIDE2NywgMjQ5LCA4LCAxMTcsIDI0NiwgNTMsIDI1LCAyNTQsIDE2NywgMjQ1LCA2NywgMTE3LCAyNDYsIDUzLCAKLSAgICAyNSwgMjU0LCAxNjcsIDIxNiwgMTYxLCAxODAsIDI1LCAyNTQsIDE2NywgMjE2LCAxNjEsIDIxNywgMjAwLCAyNSwgMjU0LCAKLSAgICAxNjcsIDIxNiwgMTYxLCAyMTcsIDIwMSwgMjU0LCA1MCwgMTcsIDI1LCAyNTQsIDE2NywgMjQxLCAxODYsIDIxNywgMjAwLCAKLSAgICAyNSwgMjU0LCAxNjcsIDIzMSwgMTA4LCAyMTcsIDIwMCwgMjUsIDI1NCwgMTY3LCAyMTcsIDEzNCwgMjE3LCAyMDAsIDI1LCAKLSAgICAyNTQsIDE2NywgMjE3LCAxMzQsIDIxNywgMTE1LCAyNSwgMjU0LCAxNjcsIDIxNiwgMTYxLCAyNDQsIDgzLCAyNSwgMjU0LCAKLSAgICAxNjcsIDIxNiwgMTYxLCAyNDQsIDg0LCAyNTQsIDUwLCAxNywgMjUsIDI1NCwgMTY3LCAyNDEsIDE4NiwgMjQ0LCA4MywgMjUsIAotICAgIDI1NCwgMTY3LCAyMTcsIDEzNCwgMjQ0LCA4MywgMjUsIDI1NCwgMTY3LCAyMTcsIDEzNCwgMTIyLCAyNDAsIDIwMCwgMjUsIAotICAgIDI1NCwgMTY3LCAyMTcsIDEzNCwgMTMzLCAyNDAsIDIwMCwgMjUsIDI1NCwgMTY3LCAyNDUsIDY3LCAyNDQsIDUwLCAyNDAsIAotICAgIDIwMCwgMjUsIDI1NCwgMTY3LCAyMTYsIDE2MSwgMjQ0LCA1MCwgMjQwLCAyMDAsIDI1LCAyNTQsIDE2NywgMjE3LCAxMzQsIAotICAgIDI0NCwgNTAsIDI0MCwgMjAwLCAyNSwgMjU0LCAxNjcsIDI1MCwgMTU5LCAyNDQsIDUwLCAyNDAsIDIwMCwgMjUsIDI1NCwgCi0gICAgMTY3LCAyMzAsIDQsIDI0NCwgNTAsIDI0MCwgMjAwLCAyNSwgMjU0LCAxNjcsIDIxNywgMTM0LCAxMjIsIDIxNywgMTAwLCAKLSAgICAyNSwgMjU0LCAxNjcsIDIxNywgMTM0LCAyNDQsIDUwLCAyMTcsIDEwMCwgMjUsIDI1NCwgMTY3LCAyNDgsIDgsIDI0NCwgNTAsIAotICAgIDIzMCwgMjM0LCAyNSwgMjU0LCAxNjcsIDIxOSwgNTgsIDI0NCwgODQsIDIzMCwgMjM0LCAyNSwgMTIyLCAxNTEsIDUyLCAyNSwgCi0gICAgMTIyLCAxNTEsIDUsIDI1NCwgNTAsIDE3LCAyNSwgMTE3LCAyMTcsIDEyMCwgNTIsIDI1LCAxMzMsIDIyNCwgMTY1LCA1MiwgCi0gICAgMjUsIDIxMywgMzYsIDUyLCAyNSwgMjE4LCAxOSwgNTIsIDI1LCAyNDYsIDU1LCA1MiwgMjUsIDIyNywgMTEwLCA1MiwgMjUsIAotICAgIDExNywgMjI3LCAxMDksIDUyLCAyNSwgMTMzLCAyMjcsIDEwOSwgNTIsIDI1LCAyNDMsIDIzNywgMjI3LCAxMDksIDUyLCAyNSwgCi0gICAgMjQ0LCA1MCwgMjI3LCAxMDksIDUyLCAyNSwgMjMxLCAxMDIsIDUyLCAyNSwgMjMzLCAxNzksIDI1MiwgNDgsIDUyLCAyNSwgCi0gICAgMjMyLCAyMjMsIDUyLCAyNSwgMjI2LCAyNTUsIDUyLCAyNSwgMjEzLCAxNDcsIDUyLCAyNSwgMjUzLCAxNTgsIDUyLCAyNSwgCi0gICAgMjUzLCAxNzEsIDUyLCAyNSwgMjQyLCAxMjAsIDUyLCAyNSwgMjE2LCAxNDQsIDI1MiwgNDgsIDUyLCAyNSwgMjEyLCA4MCwgCi0gICAgNTIsIDIyMywgMTAwLCAyMjEsIDM0LCA1MiwgMjIzLCAxMDAsIDIxNSwgMTU1LCA1MiwgMjIzLCAxMDAsIDIyMSwgNjIsIDUyLCAKLSAgICAyMjMsIDEwMCwgMjIxLCAzMiwgNTIsIDIyMywgMTAwLCAyNDcsIDE2NSwgMjIxLCAzMiwgNTIsIDIyMywgMTAwLCAyMjAsIAotICAgIDk0LCA1MiwgMjIzLCAxMDAsIDI0OCwgNCwgNTIsIDIyMywgMTAwLCAyMjQsIDE1MSwgNTIsIDIyMywgMTAwLCAyMjEsIDUwLCAKLSAgICA1MiwgMjIzLCAxMDAsIDI0NiwgMTUsIDUyLCAyMjMsIDEwMCwgMjUzLCAxNTMsIDUyLCAyMjMsIDEwMCwgMjUwLCAxMDUsIAotICAgIDUyLCAyMjYsIDE5LCAyNDcsIDE0MywgNSwgMjI2LCA4OCwgMjI2LCAxOSwgMjQ3LCAxNDMsIDUsIDIyNSwgMTU4LCAyNDEsIAotICAgIDIxOSwgMjI2LCAxOSwgMjQ3LCAxNDMsIDUsIDIxNywgMjUyLCAyNDEsIDIxOSwgMjI2LCAxOSwgMjQ3LCAxNDMsIDUsIDI1MCwgCi0gICAgMTc5LCAyMjYsIDE5LCAyNDcsIDE0MywgNSwgMjUwLCAzOCwgMjI2LCAxOSwgMjQ3LCAxNDMsIDUsIDIxMywgMjA4LCAyMjYsIAotICAgIDE5LCAyNDcsIDE0MywgNSwgMjQxLCAxOTUsIDIyNiwgMTksIDI0NywgMTQzLCA1LCAyNDMsIDYxLCAyMjYsIDE5LCAyNDcsIAotICAgIDE0MywgNSwgMjE3LCA3MCwgMjI2LCAxOSwgMjQ3LCAxNDMsIDUsIDY4LCAyMjYsIDE5LCAyNDcsIDE0MywgNSwgMjUxLCA5NSwgCi0gICAgMjI2LCAxOSwgMjQ3LCAxNDMsIDUsIDIyMCwgMjA5LCAyMjYsIDE5LCAyNDcsIDE0MywgNSwgMjQ5LCAxODEsIDIyNiwgMTksIAotICAgIDI0NywgMTQzLCA1LCAyMzEsIDI0NywgMjI2LCAxOSwgMjQ3LCAxNDMsIDUsIDIzMSwgMTk5LCAyMjYsIDE5LCAyNDcsIDE0MywgCi0gICAgNSwgMjIyLCAxMzQsIDIyNiwgMTksIDI0NywgMTQzLCA1LCAyMzMsIDksIDIyNiwgMTksIDI0NywgMTQzLCA1LCAyNTEsIAotICAgIDExMywgMjI2LCAxOSwgMjQ3LCAxNDMsIDUsIDI1MCwgMTYzLCAyMjUsIDE2NywgMjI2LCAxOSwgMjQ3LCAxNDMsIDUsIDI0NywgCi0gICAgODcsIDIyNiwgMTksIDI0NywgMTQzLCA1LCAyNDksIDE2MSwgMjI2LCAxOSwgMjQ3LCAxNDMsIDUsIDIyMCwgMTUsIDIyNiwgCi0gICAgMTksIDI0NywgMTQzLCA1LCAyNDksIDE2MiwgMjI2LCAxOSwgMjQ3LCAxNDMsIDUsIDI1MSwgMjM5LCAyMjYsIDE5LCAyNDcsIAotICAgIDE0MywgNSwgMjIwLCAxOTYsIDIyNiwgMTksIDI0NywgMTQzLCA1LCAyNDAsIDIzNSwgMjI2LCAxOSwgMjQ3LCAxNDMsIDUsIAotICAgIDI0MSwgMTYzLCAyMjYsIDE5LCAyNDcsIDE0MywgNSwgMjUxLCA0MSwgMjMzLCA2MCwgMjI2LCAxOSwgMjQ3LCAxNDMsIDUsIAotICAgIDI1MCwgMTU2LCAyMjYsIDE5LCAyNDcsIDE0MywgNSwgMjI0LCA0NSwgMjI2LCAxOSwgMjQ3LCAxNDMsIDUsIDI0NSwgMTg2LCAKLSAgICAyMjYsIDE5LCAyNDcsIDE0MywgNSwgMjQ2LCA2MSwgMjI2LCAxOSwgMjQ3LCAxNDMsIDUsIDIxNiwgNjksIDIyNiwgMTksIAotICAgIDI0NywgMTQzLCA1LCAyNTEsIDI0MiwgMjI2LCAxOSwgMjQ3LCAxNDMsIDUsIDIyNSwgMTY4LCAyMTYsIDE5MywgMjI2LCAxOSwgCi0gICAgMjQ3LCAxNDMsIDUsIDIxNCwgMTQwLCAyMjYsIDE5LCAyNDcsIDE0MywgNSwgMjI2LCAxNDYsIDIyNiwgMTksIDI0NywgMTQzLCAKLSAgICA1LCAyMjMsIDkyLCAyMjYsIDE5LCAyNDcsIDE0MywgNSwgMjMyLCAyNTIsIDIyNiwgMTksIDI0NywgMTQzLCA1LCAyMjYsIAotICAgIDIzOSwgMjUyLCAxMDEsIDIyNiwgMTksIDI0NywgMTQzLCA1LCAyNDQsIDE3LCAyMjYsIDE5LCAyNDcsIDE0MywgNSwgMjQyLCAKLSAgICAxMTUsIDIyNiwgMTksIDI0NywgMTQzLCA1LCAyMTksIDU5LCAyMjYsIDE5LCAyNDcsIDE0MywgNSwgMywgMjUzLCA4NCwgCi0gICAgMjI2LCAxOSwgMjQ3LCAxNDMsIDUsIDIxNCwgMTYsIDI1MiwgNjcsIDIyNiwgMTksIDI0NywgMTQzLCA1LCAzNywgMjI3LCAKLSAgICAxMTIsIDkwLCAyMzIsIDEyMCwgMSwgNjEsIDIzMiwgMTIwLCAxLCA3NCwgMjMyLCAxMjAsIDEsIDI1MywgNzQsIDIzMiwgCi0gICAgMTIwLCAxLCAyNTEsIDE5NiwgMjMyLCAxMjAsIDEsIDI0MywgMTc3LCAyMzIsIDEyMCwgMSwgMjQ5LCAzLCAyMzIsIDEyMCwgCi0gICAgMSwgNzIsIDIzMiwgMTIwLCAxLCAyMTQsIDgyLCAyMzIsIDEyMCwgMSwgMjEyLCAxNTIsIDIzMiwgMTIwLCAxLCAyMTcsIAotICAgIDE2MywgMjMyLCAxMjAsIDEsIDIzNSwgMTQyLCAyMzIsIDEyMCwgMSwgMjM1LCAyNywgMjMyLCAxMjAsIDEsIDIyNCwgMjQwLCAKLSAgICAyMzIsIDEyMCwgMSwgMTUwLCAyMzIsIDEyMCwgMSwgMTgzLCAyMzIsIDEyMCwgMSwgMjA0LCAyMzIsIDEyMCwgMSwgMjMwLCAKLSAgICAyMzUsIDIzMiwgMTIwLCAxLCAyMjgsIDE5OSwgMjMyLCAxMjAsIDEsIDY5LCAyMzIsIDEyMCwgMSwgMjI2LCAyMjksIDIzMiwgCi0gICAgMTIwLCAxLCAyMzQsIDU2LCAyMzIsIDEyMCwgMSwgMTQ5LCAyMzIsIDEyMCwgMSwgMTk3LCAyMzIsIDEyMCwgMSwgMjE4LCAKLSAgICA5OSwgMjMyLCAxMjAsIDEsIDIxNiwgMTE4LCAyMzIsIDEyMCwgMSwgMjU0LCAzMiwgMjMyLCAxMjAsIDEsIDI0NSwgMTA4LCAKLSAgICAyMzIsIDEyMCwgMSwgMjQyLCA0MSwgMjMyLCAxMjAsIDEsIDIxMywgMTY2LCAyNTAsIDE2OSwgMSwgNjEsIDI1MCwgMTY5LCAKLSAgICAxLCAyMjYsIDIxNSwgMjUwLCAxNjksIDEsIDI0OSwgMywgMjUwLCAxNjksIDEsIDE1MCwgMjUwLCAxNjksIDEsIDIxNSwgOTAsIAotICAgIDI1MCwgMTY5LCAxLCAxNDksIDI1MCwgMTY5LCAxLCAyMzMsIDg2LCAyNTAsIDE2OSwgMSwgMjU0LCAyMzQsIDI1MCwgMTY5LCAKLSAgICAxLCAyMjQsIDI0MCwgMjUwLCAxNjksIDEsIDI1MywgNzQsIDI1MCwgMTY5LCAxLCAxODMsIDI1MCwgMTY5LCAxLCA3NSwgCi0gICAgMjUwLCAxNjksIDEsIDI0OCwgMTY2LCAyNTAsIDE2OSwgMSwgMjE4LCA5OSwgMjUwLCAxNjksIDEsIDIyMSwgMjYsIDI1MCwgCi0gICAgMTY5LCAxLCAyMjEsIDI1LCAyNTAsIDE2OSwgMSwgMTk3LCAyNTAsIDE2OSwgMSwgMjUwLCAyNTEsIDI1MCwgMTY5LCAxLCAKLSAgICA2OSwgMjUwLCAxNjksIDEsIDIyOCwgMTk5LCAyNTAsIDE2OSwgMSwgMjEzLCAxNjYsIDI1MCwgMTY5LCAxLCAyMDQsIDI1MCwgCi0gICAgMTY5LCAxLCAyMTYsIDExNywgMjUwLCAxNjksIDEsIDIyNiwgMjI5LCAyNTAsIDE2OSwgMSwgMjE5LCAxNTgsIDI1MCwgMTY5LCAKLSAgICAxLCA3MiwgMjUwLCAxNjksIDEsIDc0LCAyNTAsIDE2OSwgMSwgMjE1LCA4NywgMjUwLCAxNjksIDEsIDIzNSwgMjcsIDI1MCwgCi0gICAgMTY5LCAxLCAyMzUsIDE4LCAyNTAsIDE2OSwgMSwgMjI5LCAyMzAsIDI1MCwgMTY5LCAxLCAyMTUsIDkyLCAyNTAsIDE2OSwgCi0gICAgMSwgMjQzLCAxNzcsIDI1MCwgMTY5LCAxLCAyNDMsIDExMiwgMjUwLCAxNjksIDEsIDIxOSwgMTA3LCAyNTAsIDE2OSwgMSwgCi0gICAgMjE5LCAxMDYsIDI1MCwgMTY5LCAxLCAyMjksIDE2MSwgMjUwLCAxNjksIDEsIDIzNiwgMjgsIDI1MCwgMTY5LCAxLCAyNTAsIAotICAgIDI1MCwgMjUwLCAxNjksIDEsIDIxNiwgMTE4LCAyNTAsIDE2OSwgMSwgMjE1LCA4OSwgMjUwLCAxNjksIDEsIDIyMywgODIsIAotICAgIDI1MCwgMTY5LCAxLCAyMzEsIDE5MiwgMjUwLCAxNjksIDEsIDIzMSwgMTkxLCAyNTAsIDE2OSwgMSwgMjMxLCAxOTAsIDI1MCwgCi0gICAgMTY5LCAxLCAyMzEsIDE4OSwgMjUwLCAxNjksIDEsIDIzMywgODUsIDI1MCwgMTY5LCAxLCAyNDUsIDE5MCwgMjUwLCAxNjksIAotICAgIDEsIDIxNSwgODgsIDUzLCAzMiwgMSwgNjEsIDUzLCAzMiwgMSwgMjUxLCAyNTEsIDUzLCAzMiwgMSwgMjM0LCAxODgsIDUzLCAKLSAgICAzMiwgMSwgMjQ4LCA0MSwgNTMsIDMyLCAxLCA3NCwgNTMsIDMyLCAxLCAyMTQsIDIzMiwgNTMsIDMyLCAxLCAyMTIsIDg3LCAKLSAgICA1MywgMzIsIDEsIDI0MSwgMjIyLCA1MywgMzIsIDEsIDIxNywgMTQ4LCA1MywgMzIsIDEsIDcyLCA1MywgMzIsIDEsIDE4MSwgCi0gICAgNTMsIDMyLCAxLCAyNDUsIDEzMSwgNTMsIDMyLCAxLCAyNDUsIDExNywgNTMsIDMyLCAxLCAyNDUsIDEwOCwgNTMsIDMyLCAxLCAKLSAgICAyNDUsIDQwLCA1MywgMzIsIDEsIDc1LCA1MywgMzIsIDEsIDIyNiwgOTYsIDUzLCAzMiwgMSwgMjIwLCAyNDMsIDUzLCAzMiwgCi0gICAgMSwgMjMzLCAyMzgsIDUzLCAzMiwgMSwgMjQ1LCA1NSwgNTMsIDMyLCAxLCAyNDUsIDQ1LCA1MywgMzIsIDEsIDIxNywgMjI5LCAKLSAgICA1MywgMzIsIDEsIDY5LCA1MywgMzIsIDEsIDI0NSwgMTM0LCA1MywgMzIsIDEsIDIyNiwgMTIsIDUzLCAzMiwgMSwgMjM0LCAKLSAgICAxMjUsIDUzLCAzMiwgMSwgMjQ1LCAxNTksIDUzLCAzMiwgMSwgMjQ1LCA0NywgNTMsIDMyLCAxLCAyNTAsIDY3LCA1MywgMzIsIAotICAgIDEsIDIzNiwgMjgsIDUzLCAzMiwgMSwgMjE1LCA5MiwgNTMsIDMyLCAyMjgsIDU0LCAxMTYsIDUzLCAzMiwgMjI4LCA1NCwgCi0gICAgMTgwLCA1MywgMzIsIDIyOCwgNTQsIDIxNywgMjAwLCA1MywgMzIsIDIyOCwgNTQsIDI0NCwgODMsIDI0MiwgMTI5LCAxLCAKLSAgICAyNTQsIDExMSwgMjQyLCAxMjksIDEsIDI1MiwgODIsIDI0MiwgMTI5LCAxLCAyNDIsIDE4NywgMjQyLCAxMjksIDEsIDI0OCwgCi0gICAgMTQ4LCAyNDIsIDEyOSwgMSwgMjU0LCAxMDcsIDI0MiwgMTI5LCAxLCAyMjQsIDIyMywgMjQyLCAxMjksIDEsIDIzNSwgMTUzLCAKLSAgICAyNDIsIDEyOSwgMSwgMjQyLCAyMCwgMjQyLCAxMjksIDEsIDIxNywgMTExLCAyNDIsIDEyOSwgMSwgMjQ1LCAxNDAsIDI0MiwgCi0gICAgMTI5LCAxLCAyMzMsIDIxMSwgMjQyLCAxMjksIDEsIDIzMywgMTM2LCAyNDIsIDEyOSwgMSwgMjMxLCAyNDIsIDI0MiwgMTI5LCAKLSAgICAxLCAyMzAsIDYsIDI0MiwgMTI5LCAxLCAyMzUsIDEyMCwgMjQyLCAxMjksIDEsIDIxNSwgMTA3LCAyNDIsIDEyOSwgMSwgCi0gICAgMjI2LCAxOTYsIDI0MiwgMTI5LCAxLCAyMjksIDI2LCAyNDIsIDEyOSwgMSwgMjI0LCA1NiwgMjQyLCAxMjksIDEsIDIyMiwgCi0gICAgMTM2LCAyNDIsIDEyOSwgMSwgMjE3LCAyMTIsIDI0MiwgMTI5LCAxLCAyMTMsIDIxOSwgMjQyLCAxMjksIDEsIDI0NCwgMTQ2LCAKLSAgICAyNDIsIDEyOSwgMSwgMjM2LCAzMiwgMjQyLCAxMjksIDEsIDI0MCwgMTkxLCAyNDIsIDEyOSwgMSwgMjI3LCA3LCAyNDIsIAotICAgIDEyOSwgMSwgMjI5LCAzMSwgMjQwLCAyMDAsIDIxNSwgMTc5LCAxLCAyNTQsIDU2LCAyMTUsIDE3OSwgMSwgMjUxLCAyMDMsIAotICAgIDIxNSwgMTc5LCAxLCAyNDMsIDg0LCAyMTUsIDE3OSwgMSwgMjM0LCAxMzgsIDIxNSwgMTc5LCAxLCAyNDgsIDUsIDIxNSwgCi0gICAgMTc5LCAxLCAyNDEsIDU0LCAyMTUsIDE3OSwgMSwgMjEzLCAyMTQsIDIxNSwgMTc5LCAxLCAyMTIsIDc4LCAyMTUsIDE3OSwgCi0gICAgMSwgMjQwLCAyMjgsIDIxNSwgMTc5LCAxLCAyMTcsIDE4MywgMjE1LCAxNzksIDEsIDIxMiwgMjI0LCAyMTUsIDE3OSwgMSwgCi0gICAgMjM0LCAyNTQsIDIxNSwgMTc5LCAxLCAyMjAsIDIwMCwgMjE1LCAxNzksIDEsIDIzMywgMTIyLCAyMTUsIDE3OSwgMSwgMjMxLCAKLSAgICAxMjksIDIxNSwgMTc5LCAxLCAyNDcsIDIyOSwgMjE1LCAxNzksIDEsIDIyOCwgNTAsIDIxNSwgMTc5LCAxLCAyMTIsIDgsIAotICAgIDIxNSwgMTc5LCAxLCAyMjIsIDE2MywgMjE1LCAxNzksIDEsIDI1NCwgMTAzLCAyMTUsIDE3OSwgMSwgMjI1LCAzNSwgMjE1LCAKLSAgICAxNzksIDEsIDIyMiwgMTk0LCAyMTUsIDE3OSwgMSwgMjI0LCAxODAsIDIxNSwgMTc5LCAxLCAyMjQsIDM2LCAyMTUsIDE3OSwgCi0gICAgMSwgMjE3LCAxNTIsIDIxNSwgMTc5LCAxLCAyNDIsIDIyMCwgMjE1LCAxNzksIDEsIDEwOCwgMjE1LCAxNzksIDEsIDcyLCAKLSAgICAyMTUsIDE3OSwgMSwgNjksIDIxNSwgMTc5LCAxLCAyMTksIDExNywgMjE1LCAxNzksIDIxMywgMTk2LCAyNDcsIDEyNCwgNTMsIAotICAgIDIyNiwgNDUsIDUsIDYxLCA1MywgMjI2LCA0NSwgNSwgNzIsIDUzLCAyMjYsIDQ1LCA1LCA2OSwgNTMsIDIyNiwgNDUsIDUsIAotICAgIDE4MSwgNTMsIDIyNiwgNDUsIDUsIDIzMywgMjM4LCA1MywgMjI2LCA0NSwgNSwgMjQzLCAxMTAsIDUzLCAyMjYsIDQ1LCA1LCAKLSAgICAyNDIsIDkyLCA1MywgMjI2LCA0NSwgNSwgMjEzLCAxNTMsIDUzLCAyMjYsIDQ1LCA1LCAyNTAsIDIxOSwgNTMsIDIyNiwgNDUsIAotICAgIDUsIDIzNSwgMTM5LCA1MywgMjI2LCA0NSwgNSwgMjM1LCAxMTAsIDUzLCAyMjYsIDQ1LCA1LCAyMTgsIDUyLCA1MywgMjI2LCAKLSAgICA0NSwgNSwgMjE2LCA4MiwgNTMsIDIyNiwgNDUsIDUsIDI0OCwgMTY0LCA1MywgMjI2LCA0NSwgNSwgMjQ3LCAyMTEsIDUzLCAKLSAgICAyMjYsIDQ1LCA1LCAyNDYsIDMzLCA1MywgMjI2LCA0NSwgNSwgMjE3LCAxNjEsIDUzLCAyMjYsIDQ1LCA1LCAxOTMsIDUzLCAKLSAgICAyMjYsIDQ1LCA1LCAyNTIsIDEwNywgNTMsIDIyNiwgNDUsIDUsIDI0NCwgMTY0LCA1MywgMjI2LCA0NSwgNSwgMjA1LCA1MywgCi0gICAgMjI2LCA0NSwgNSwgMjI4LCA5MiwgNTMsIDIyNiwgNDUsIDUsIDE4OCwgNTMsIDIyNiwgNDUsIDUsIDIzMSwgNDIsIDUzLCAKLSAgICAyMjYsIDQ1LCA1LCAyMzAsIDE3MiwgNTMsIDIyNiwgNDUsIDUsIDE4NiwgNTMsIDIyNiwgNDUsIDUsIDIxNSwgMSwgNTMsIAotICAgIDIyNiwgNDUsIDUsIDIxNCwgMTU0LCA1MywgMjI2LCA0NSwgNSwgMjAzLCA1MywgMjI2LCA0NSwgNSwgMjIzLCA1MSwgNTMsIAotICAgIDIyNiwgNDUsIDUsIDIzMywgMTU3LCA1MywgMjI2LCA0NSwgNSwgMjIyLCAyMDIsIDUzLCAyMjYsIDQ1LCA1LCAyMTIsIDEwOSwgCi0gICAgNTMsIDIyNiwgNDUsIDUsIDIyMSwgMjQsIDUzLCAyMjYsIDQ1LCA1LCAyMTksIDE1NywgNTMsIDIyNiwgNDUsIDUsIDE1OSwgCi0gICAgNTMsIDIyNiwgNDUsIDUsIDI1MywgMTAyLCA1MywgMjI2LCA0NSwgNSwgMjUzLCAxMDEsIDUzLCAyMjYsIDQ1LCA1LCAyNTMsIAotICAgIDEwMCwgNTMsIDIyNiwgNDUsIDUsIDIxMywgMTMwLCA1MywgMjI2LCA0NSwgNSwgMjQ4LCAxNDUsIDUzLCAyMjYsIDQ1LCA1LCAKLSAgICAyNDgsIDE0NCwgNTMsIDIyNiwgNDUsIDUsIDI1MiwgODgsIDUzLCAyMjYsIDQ1LCA1LCAyNTEsIDE0LCA1MywgMjI2LCA0NSwgCi0gICAgMjEzLCAxOTYsIDI0NywgMTI0LCA1MywgMjI2LCA0NSwgNTAsIDExNiwgNTMsIDIyNiwgNDUsIDUwLCAxMDksIDUzLCAyMjYsIAotICAgIDQ1LCA1MCwgMjE3LCAyMDAsIDUzLCAyMjYsIDQ1LCA1MCwgMjE2LCAzOCwgNTMsIDIyNiwgNDUsIDUwLCAyNDAsIDIwMCwgCi0gICAgMTcxLCA2LCAxLCAxODQsIDcyLCAxNzEsIDYsIDEsIDE4NCwgNzQsIDE3MSwgNiwgMSwgMTg0LCA2MSwgMTcxLCA2LCAxLCAKLSAgICAxODQsIDI1NCwgMTE0LCAxNzEsIDYsIDEsIDE4NCwgNzUsIDE3MSwgNiwgMSwgMTg0LCAyMjcsIDQ5LCAxNzEsIDYsIDEsIAotICAgIDIyMCwgMTc1LCA3MiwgMTcxLCA2LCAxLCAyMjAsIDE3NSwgNzQsIDE3MSwgNiwgMSwgMjIwLCAxNzUsIDYxLCAxNzEsIDYsIAotICAgIDEsIDIyMCwgMTc1LCAyNTQsIDExNCwgMTcxLCA2LCAxLCAyMjAsIDE3NSwgNzUsIDE3MSwgNiwgMSwgMjIwLCAxNzUsIDIyNywgCi0gICAgNDksIDE3MSwgNiwgMSwgMjUzLCA4MywgMTcxLCA2LCAxLCAyMjYsIDI0MCwgMTcxLCA2LCAxLCAyMTMsIDE4MywgMTcxLCA2LCAKLSAgICAxLCAyMTMsIDM1LCAxNzEsIDYsIDEsIDI0MiwgNDEsIDE3MSwgNiwgMSwgMjI2LCA4NiwgMTcxLCA2LCAxLCAyNTEsIDI0MiwgCi0gICAgMTcxLCA2LCAxLCAyMTcsIDIxOSwgMTcxLCA2LCAxLCAyNDgsIDI4LCAxNzEsIDYsIDEsIDI1MCwgNjQsIDE3MSwgNiwgMSwgCi0gICAgMjM1LCAxMjUsIDE3MSwgNiwgMSwgMjM0LCAxOTUsIDE3MSwgNiwgMSwgMjQzLCA1OSwgMTcxLCA2LCAxLCAyNDUsIDE1OSwgCi0gICAgMTcxLCA2LCAxLCAyMTQsIDIyNywgMTcxLCA2LCAxLCAyNDUsIDI1LCAxNzEsIDYsIDEsIDIxNywgMTQ3LCAxNzEsIDYsIDEsIAotICAgIDI0NSwgNDUsIDE3MSwgNiwgMSwgMjEyLCA4NSwgMTcxLCA2LCAxLCAyNDUsIDQwLCAxNzEsIDYsIDEsIDIxMiwgNjYsIDE3MSwgCi0gICAgNiwgMSwgMjQ1LCA1NSwgMTcxLCA2LCAxLCAyNDUsIDEzMSwgMTcxLCA2LCAxLCAyNDUsIDExNywgMTcxLCA2LCAxLCAyNDUsIAotICAgIDEwOCwgMTcxLCA2LCAxLCAyNDUsIDk2LCAxNzEsIDYsIDEsIDIyNywgODUsIDE3MSwgNiwgMSwgMjQ1LCA1LCAxNzEsIDMsIAotICAgIDEsIDE4NCwgNzIsIDE3MSwgMywgMSwgMTg0LCA3NCwgMTcxLCAzLCAxLCAxODQsIDYxLCAxNzEsIDMsIDEsIDE4NCwgMjU0LCAKLSAgICAxMTQsIDE3MSwgMywgMSwgMTg0LCA3NSwgMTcxLCAzLCAxLCAxODQsIDIyNywgNDksIDE3MSwgMywgMSwgMjIwLCAxNzUsIAotICAgIDcyLCAxNzEsIDMsIDEsIDIyMCwgMTc1LCA3NCwgMTcxLCAzLCAxLCAyMjAsIDE3NSwgNjEsIDE3MSwgMywgMSwgMjIwLCAKLSAgICAxNzUsIDI1NCwgMTE0LCAxNzEsIDMsIDEsIDIyMCwgMTc1LCA3NSwgMTcxLCAzLCAxLCAyMjAsIDE3NSwgMjI3LCA0OSwgCi0gICAgMTcxLCAzLCAxLCAyNTMsIDgzLCAxNzEsIDMsIDEsIDIyNiwgMjQwLCAxNzEsIDMsIDEsIDIxMywgMTgzLCAxNzEsIDMsIDEsIAotICAgIDIxMywgMzUsIDE3MSwgMywgMSwgMjQyLCA0MSwgMTcxLCAzLCAxLCAyMjYsIDg2LCAxNzEsIDMsIDEsIDI1MSwgMjQyLCAKLSAgICAxNzEsIDMsIDEsIDIxNywgMjE5LCAxNzEsIDMsIDEsIDI0OCwgMjgsIDE3MSwgMywgMSwgMjUwLCA2NCwgMTcxLCAzLCAxLCAKLSAgICAyMzUsIDEyNSwgMTcxLCAzLCAxLCAyMzQsIDE5NSwgMTcxLCAzLCAxLCAyNDMsIDU5LCAxNzEsIDMsIDEsIDI0NSwgMTU5LCAKLSAgICAxNzEsIDMsIDEsIDIxNCwgMjI3LCAxNzEsIDMsIDEsIDI0NSwgMjUsIDE3MSwgMywgMSwgMjE3LCAxNDcsIDE3MSwgMywgMSwgCi0gICAgMjQ1LCA0NSwgMTcxLCAzLCAxLCAyMTIsIDg1LCAxNzEsIDMsIDEsIDI0NSwgNDAsIDE3MSwgMywgMSwgMjEyLCA2NiwgMTcxLCAKLSAgICAzLCAxLCAyNDUsIDU1LCAxNzEsIDMsIDEsIDI0NSwgMTMxLCAxNzEsIDMsIDEsIDI0NSwgMTE3LCAxNzEsIDMsIDEsIDI0NSwgCi0gICAgMTA4LCAxNzEsIDMsIDEsIDI0NSwgOTYsIDE3MSwgMywgMSwgMjI3LCA4NSwgMTcxLCAzLCAxLCAyNDUsIDUsIDIyMCwgMjQ5LCAKLSAgICAxLCAyMjYsIDg0LCAyMjAsIDI0OSwgMSwgMjE2LCAyMTgsIDIyMCwgMjQ5LCAxLCAyMzQsIDEwMCwgMjIwLCAyNDksIDEsIAotICAgIDI0NCwgMTE2LCAyMjAsIDI0OSwgMSwgMjE3LCAxMjUsIDIyMCwgMjQ5LCAxLCAyMTksIDI0MiwgMjIwLCAyNDksIDEsIDIxOCwgCi0gICAgMjE0LCAyMjAsIDI0OSwgMSwgMjQ5LCAyNTQsIDIyMCwgMjQ5LCAxLCAyMTMsIDM3LCAyMjAsIDI0OSwgMSwgMjQwLCAxOTksIAotICAgIDIyMCwgMjQ5LCAxLCAyNTEsIDE4MywgMjIwLCAyNDksIDEsIDI0OCwgNDAsIDIyMCwgMjQ5LCAxLCAyNDMsIDk2LCAyMjAsIAotICAgIDI0OSwgMSwgMjE0LCAxMDQsIDIyMCwgMjQ5LCAxLCAyMTcsIDEyOSwgMjIwLCAyNDksIDEsIDIxMiwgMTQsIDIyMCwgMjQ5LCAKLSAgICAxLCAyMzEsIDE1NCwgMjIwLCAyNDksIDEsIDIzNSwgNTIsIDIyMCwgMjQ5LCAxLCAyMTMsIDIxMiwgMjIwLCAyNDksIDEsIAotICAgIDI0MiwgMjksIDIyMCwgMjQ5LCAxLCAyMzIsIDE5NSwgMjIwLCAyNDksIDEsIDIzMSwgMiwgMjIwLCAyNDksIDEsIDIzNiwgCi0gICAgMzUsIDIyMCwgMjQ5LCAxLCAyNDUsIDE1OCwgMjIwLCAyNDksIDEsIDI1MywgMTQ2LCAyMjAsIDI0OSwgMSwgMjU0LCAxNTIsIAotICAgIDIyMCwgMjQ5LCAxLCAyMjcsIDYyLCAyMjAsIDI0OSwgMSwgMjEzLCAxOTksIDIyMCwgMjQ5LCAxLCAyMjYsIDI1NCwgMjIwLCAKLSAgICAyNDksIDEsIDI1NCwgMTE0LCAyMjAsIDI0OSwgMSwgMjIzLCAxMDksIDIyMCwgMjQ5LCAxLCAyMjgsIDUwLCAyMjAsIDI0OSwgCi0gICAgMSwgMjQ1LCAxNzMsIDIyMCwgMjQ5LCAxLCAyNTQsIDExOSwgMjIwLCAyNDksIDEsIDI0MCwgMTA0LCAyMjAsIDI0OSwgMSwgCi0gICAgMjE1LCAxMzQsIDIyMCwgMjQ5LCAxLCAyMjcsIDExOCwgMjIwLCAyNDksIDEsIDIyNywgNDIsIDIyMCwgMjQ5LCAxLCAyMjcsIAotICAgIDg0LCAyMjAsIDI0OSwgMSwgMjUzLCA4NiwgMjIwLCAyNDksIDEsIDI1MywgMTg5LCAyMjAsIDI0OSwgMSwgMjI3LCAyNCwgCi0gICAgMjIwLCAyNDksIDEsIDI1NCwgMTAwLCAyMjAsIDI0OSwgMSwgMjQ1LCA0OSwgMjIwLCAyNDksIDEsIDI1MywgMTY4LCAyMjAsIAotICAgIDI0OSwgMSwgMjQ1LCAxODMsIDIyMCwgMjQ5LCAxLCAyNDAsIDExMCwgMjIwLCAyNDksIDEsIDIxMywgNCwgMjI3LCA5LCAxLCAKLSAgICAyNTQsIDc4LCAyMjcsIDksIDEsIDI1MiwgMTA3LCAyMjcsIDksIDEsIDIxOCwgNTIsIDIyNywgOSwgMSwgMjM1LCAxMzksIAotICAgIDIyNywgOSwgMSwgMjEzLCAxNTMsIDIyNywgOSwgMSwgMjM0LCAxMzgsIDIyNywgOSwgMSwgMjQ4LCAyNywgMjI3LCA5LCAxLCAKLSAgICAyMDMsIDIyNywgOSwgMSwgMjIyLCAyMDIsIDIyNywgOSwgMSwgMjIwLCAyMDYsIDIyNywgOSwgMSwgMjQ3LCAyMzIsIDIyNywgCi0gICAgOSwgMSwgMjUwLCAxNDgsIDIyNywgOSwgMSwgMjQzLCAxMTAsIDIyNywgOSwgMSwgMjQ0LCAxNjQsIDIyNywgOSwgMSwgMjI0LCAKLSAgICAyMzAsIDIyNywgOSwgMSwgMjM1LCAxMywgMjI3LCA5LCAxLCAyMzMsIDE1MiwgMjI3LCA5LCAxLCAyMzEsIDEzLCAyMjcsIDksIAotICAgIDEsIDIyOCwgMzUsIDIyNywgOSwgMSwgMjE0LCAxNCwgMjI3LCA5LCAxLCAxNTksIDIyNywgOSwgMSwgMTg2LCAyMjcsIDksIAotICAgIDEsIDYxLCAyMjcsIDksIDEsIDc0LCAyMjcsIDksIDEsIDcyLCAyMjcsIDksIDEsIDc1LCAyMjcsIDksIDEsIDY5LCAyMjcsIAotICAgIDksIDEsIDI1NCwgMjMyLCAyMjcsIDksIDEsIDI0NSwgMTY1LCAyMjcsIDksIDEsIDIyNywgNDksIDIyNywgOSwgMjEsIDIxMiwgCi0gICAgNzksIDIyNywgOSwgMjEsIDExNiwgMjI3LCA5LCAyMSwgMTA5LCAyMjcsIDksIDIxLCAxNjYsIDIyNywgOSwgMjEsIDE2MywgCi0gICAgMjI3LCA5LCAyMSwgMTgwLCAyMjcsIDksIDIxLCAxODksIDIyNywgOSwgMjEsIDE5OCwgMjI3LCA5LCAyMSwgMTk1LCAyMjcsIAotICAgIDksIDIxLCAyMDAsIDI0OSwgMTAsIDQsIDYxLCAyNDksIDEwLCA0LCA3NCwgMjQ5LCAxMCwgNCwgNzIsIDI0OSwgMTAsIDQsIAotICAgIDc1LCAyNDksIDEwLCA0LCA2OSwgMjQ5LCAxMCwgNCwgMjM1LCAxMzksIDI0OSwgMTAsIDQsIDIzNSwgNzEsIDI0OSwgMTAsIAotICAgIDQsIDE4MSwgMjQ5LCAxMCwgNCwgMjM0LCAxODgsIDI0OSwgMTAsIDQsIDIzNCwgMTAxLCAyNDksIDEwLCA0LCAyMzQsIDM3LCAKLSAgICAyNDksIDEwLCA0LCAyMzMsIDIzOCwgMjQ5LCAxMCwgNCwgMjMzLCAxNTcsIDI0OSwgMTAsIDQsIDIzMywgODIsIDI0OSwgMTAsIAotICAgIDQsIDIzMywgMTMsIDI0OSwgMTAsIDQsIDIzMiwgMjA4LCAyNDksIDEwLCA0LCAyMzIsIDE1NiwgMjQ5LCAxMCwgNCwgMTg4LCAKLSAgICAyNDksIDEwLCA0LCAyMzEsIDE1NiwgMjQ5LCAxMCwgNCwgMjMxLCA0MiwgMjQ5LCAxMCwgNCwgMjMwLCAyMzEsIDI0OSwgMTAsIAotICAgIDQsIDIzMCwgMTcyLCAyNDksIDEwLCA0LCAyMDUsIDI0OSwgMTAsIDQsIDIyOSwgMTg3LCAyNDksIDEwLCA0LCAyMjksIDY0LCAKLSAgICAyNDksIDEwLCA0LCAyMjgsIDE4NSwgMjQ5LCAxMCwgNCwgMjI4LCA5MiwgMjQ5LCAxMCwgNCwgMTkzLCAyNDksIDEwLCA0LCAKLSAgICAyMjYsIDk2LCAyNDksIDEwLCA0LCAyMjUsIDI0MCwgMjQ5LCAxMCwgNCwgMjI1LCAxNTAsIDI0OSwgMTAsIDQsIDIyNSwgMzUsIAotICAgIDI0OSwgMTAsIDQsIDIwMywgMjQ5LCAxMCwgNCwgMjI0LCAyMSwgMjQ5LCAxMCwgNCwgMjIzLCAxODgsIDI0OSwgMTAsIDQsIAotICAgIDIyMywgMTEyLCAyNDksIDEwLCA0LCAyMjMsIDUxLCAyNDksIDEwLCA0LCAyMjIsIDIwMiwgMjQ5LCAxMCwgNCwgMjIyLCAKLSAgICAxMDAsIDI0OSwgMTAsIDQsIDIyMCwgMTE3LCAyNDksIDEwLCA0LCAyMTksIDI0MiwgMjQ5LCAxMCwgNCwgMjE5LCAyNywgCi0gICAgMjQ5LCAxMCwgNCwgMjE4LCA1MiwgMjQ5LCAxMCwgNCwgMjE3LCAyMjksIDI0OSwgMTAsIDQsIDIxNywgNzEsIDI0OSwgMTAsIAotICAgIDQsIDEwOCwgMjQ5LCAxMCwgNCwgMjE2LCA4MiwgMjQ5LCAxMCwgNCwgMjE0LCA0OSwgMjQ5LCAxMCwgNCwgMjE0LCA2LCAKLSAgICAyNDksIDEwLCA0LCAyMTMsIDIzNSwgMjQ5LCAxMCwgNCwgMjEzLCAyMTQsIDI0OSwgMTAsIDQsIDIxMywgMTUzLCAyNDksIAotICAgIDEwLCA0LCAyMTMsIDE1MCwgMjQ5LCAxMCwgNCwgMjEyLCAxMDksIDI0OSwgMTAsIDQsIDIxMiwgMTYsIDIzNSwgMjUzLCAKLSAgICAyNTMsIDE5NywgMSwgMjU0LCA3NiwgMjM1LCAyNTMsIDI1MywgMTk3LCAxLCAyNTEsIDIwMiwgMjM1LCAyNTMsIDI1MywgCi0gICAgMTk3LCAxLCAyNDIsIDE3NywgMjM1LCAyNTMsIDI1MywgMTk3LCAxLCAyNDgsIDEzMywgMjM1LCAyNTMsIDI1MywgMTk3LCAxLCAKLSAgICAyNDEsIDIyMiwgMjM1LCAyNTMsIDI1MywgMTk3LCAxLCAyMTQsIDE0LCAyMzUsIDI1MywgMjUzLCAxOTcsIDEsIDIxMiwgOTAsIAotICAgIDIzNSwgMjUzLCAyNTMsIDE5NywgMSwgMjQxLCAxODAsIDIzNSwgMjUzLCAyNTMsIDE5NywgMSwgMjE3LCAxNzksIDIzNSwgCi0gICAgMjUzLCAyNTMsIDE5NywgMSwgMjEyLCAyMjMsIDIzNSwgMjUzLCAyNTMsIDE5NywgMSwgMjM0LCAyMzAsIDIzNSwgMjUzLCAKLSAgICAyNTMsIDE5NywgMSwgMjMzLCAxMTcsIDIzNSwgMjUzLCAyNTMsIDE5NywgMSwgMjMxLCAxMjksIDIzNSwgMjUzLCAyNTMsIAotICAgIDE5NywgMSwgMjI4LCA1MCwgMjM1LCAyNTMsIDI1MywgMTk3LCAxLCAyMjIsIDE2NCwgMjM1LCAyNTMsIDI1MywgMTk3LCAxLCAKLSAgICAyNTMsIDc4LCAyMzUsIDI1MywgMjUzLCAxOTcsIDEsIDIyNiwgOTYsIDIzNSwgMjUzLCAyNTMsIDE5NywgMSwgMjIyLCAxOTMsIAotICAgIDIzNSwgMjUzLCAyNTMsIDE5NywgMSwgMjI0LCAxNzksIDIzNSwgMjUzLCAyNTMsIDE5NywgMSwgMjIzLCAyMTksIDIzNSwgCi0gICAgMjUzLCAyNTMsIDE5NywgMSwgMjIwLCAyMDAsIDIzNSwgMjUzLCAyNTMsIDE5NywgMSwgMjE3LCAyNDMsIDIzNSwgMjUzLCAKLSAgICAyNTMsIDE5NywgMjIyLCA5MiwgNTIsIDIzNSwgMjUzLCAyNTMsIDE5NywgNTAsIDExNiwgMjM1LCAyNTMsIDI1MywgMTk3LCAKLSAgICA1MCwgMTA5LCAyMzUsIDI1MywgMjUzLCAxOTcsIDUwLCAxNjYsIDIzNSwgMjUzLCAyNTMsIDE5NywgNTAsIDIxNywgMjAwLCAKLSAgICAyMzUsIDI1MywgMjUzLCAxOTcsIDUwLCAyMTYsIDM4LCAyMzUsIDI1MywgMjUzLCAxOTcsIDUwLCAxMjIsIDI0MCwgMjAwLCAKLSAgICAyMzUsIDI1MywgMjUzLCAxOTcsIDUwLCAxMjIsIDIxNywgMTAwLCAyMzUsIDI1MywgMjUzLCAxOTcsIDUwLCAyMTcsIDIwMSwgCi0gICAgMjE3LCAxMDAsIDIyNSwgMjUxLCAxLCAyNTQsIDc0LCAyMjUsIDI1MSwgMSwgMjUxLCAyMDUsIDIyNSwgMjUxLCAxLCAyNDMsIAotICAgIDg1LCAyMjUsIDI1MSwgMSwgMjQ4LCA3LCAyMjUsIDI1MSwgMSwgMjQxLCAyMjIsIDIyNSwgMjUxLCAxLCAyMTQsIDIxLCAKLSAgICAyMjUsIDI1MSwgMSwgMjEyLCAxMDMsIDIyNSwgMjUxLCAxLCAyNDEsIDE4MiwgMjI1LCAyNTEsIDEsIDIxNywgMTgzLCAyMjUsIAotICAgIDI1MSwgMSwgMjEyLCAyMjQsIDIyNSwgMjUxLCAxLCAyMzQsIDI1NCwgMjI1LCAyNTEsIDEsIDIzMywgMTIzLCAyMjUsIDI1MSwgCi0gICAgMSwgMjMxLCAxMjksIDIyNSwgMjUxLCAxLCAyMjgsIDUwLCAyMjUsIDI1MSwgMSwgMjIxLCA2NCwgMjI1LCAyNTEsIDEsIAotICAgIDI1NCwgMTAzLCAyMjUsIDI1MSwgMSwgMjI2LCA5NiwgMjI1LCAyNTEsIDEsIDIyMiwgMTk0LCAyMjUsIDI1MSwgMSwgMjI0LCAKLSAgICAxODQsIDIyNSwgMjUxLCAxLCAyMjMsIDkxLCAyMjUsIDI1MSwgMSwgMjIwLCAyMDAsIDIyNSwgMjUxLCAxLCAyMTcsIDI0OCwgCi0gICAgMjI1LCAyNTEsIDUwLCAxMTYsIDIyNSwgMjUxLCA1MCwgMjE3LCAyMDAsIDIyNSwgMjUxLCA1MCwgMjE2LCAzOCwgMjI1LCAKLSAgICAyNTEsIDUwLCAxMjIsIDI0MCwgMjAwLCAyMjUsIDI1MSwgNTAsIDEwOSwgMjI1LCAyNTEsIDUwLCAxNjYsIDIyNSwgMjUxLCAKLSAgICAyMTMsIDE5NiwgMjIxLCA1NywgMjMyLCAxMTksIDEsIDYxLCAyMzIsIDExOSwgMSwgMjUzLCA3NCwgMjMyLCAxMTksIDEsIAotICAgIDI0MywgMTc3LCAyMzIsIDExOSwgMSwgMjQ5LCAzLCAyMzIsIDExOSwgMSwgNzQsIDIzMiwgMTE5LCAxLCAyMTUsIDc5LCAKLSAgICAyMzIsIDExOSwgMSwgNzIsIDIzMiwgMTE5LCAxLCAyMTMsIDEwNSwgMjMyLCAxMTksIDEsIDIzNSwgMjcsIDIzMiwgMTE5LCAKLSAgICAxLCAxNTAsIDIzMiwgMTE5LCAxLCAxODMsIDIzMiwgMTE5LCAxLCAyMDQsIDIzMiwgMTE5LCAxLCA3NSwgMjMyLCAxMTksIDEsIAotICAgIDE0OSwgMjMyLCAxMTksIDEsIDIxOSwgMTU4LCAyMzIsIDExOSwgMSwgMjE4LCA5OSwgMjMyLCAxMTksIDEsIDY5LCAyMzIsIAotICAgIDExOSwgMSwgMjQ0LCAyMzAsIDIzMiwgMTE5LCAxLCAyMjQsIDI0MCwgMjMyLCAxMTksIDEsIDE5NywgMjMyLCAxMTksIDEsIAotICAgIDIxNiwgMTE4LCAyMzIsIDExOSwgMSwgMjU0LCAzMiwgMjMyLCAxMTksIDEsIDI0NSwgMTA4LCAyMzIsIDExOSwgMSwgMjMyLCAKLSAgICAxMjEsIDIzMiwgMTE5LCAxLCAyMjgsIDE5OSwgMjMyLCAxMTksIDEsIDI1MCwgMjUyLCAyMzIsIDExOSwgMjE2LCAxODAsIAotICAgIDc3LCAyMzQsIDEyNiwgMSwgNjEsIDIzNCwgMTI2LCAzMCwgNSwgNzIsIDIzNCwgMTI2LCAzMCwgNSwgNjksIDIzNCwgMTI2LCAKLSAgICAzMCwgNSwgMTYxLCAxNDksIDIzNCwgMTI2LCAzMCwgNSwgNzQsIDIzNCwgMTI2LCAzMCwgNSwgNzUsIDIzNCwgMTI2LCAzMCwgCi0gICAgMjMzLCA0NywgNzcsIDIzNCwgMTI2LCA1LCA1MSwgMjIzLCAxMzEsIDU1LCAyMzQsIDEyNiwgNSwgMjUzLCAyNDIsIDIzNCwgCi0gICAgMTI2LCA1LCAyMTQsIDEyOCwgMjM0LCAxMjYsIDEsIDE4MSwgMjM0LCAxMjYsIDEsIDIzNCwgMTM4LCAyMzQsIDEyNiwgMSwgCi0gICAgMjQzLCAxMTAsIDIzNCwgMTI2LCAxLCAyNDIsIDIyNSwgMjM0LCAxMjYsIDEsIDI1MCwgMjE5LCAyMzQsIDEyNiwgMSwgMjUwLCAKLSAgICA5MiwgMjM0LCAxMjYsIDEsIDIzNSwgMTM5LCAyMzQsIDEyNiwgMSwgMjI4LCAyMywgMjM0LCAxMjYsIDEsIDIxNiwgMTE1LCAKLSAgICAyMzQsIDEyNiwgMSwgMjE2LCAxMDUsIDIzNCwgMTI2LCAxLCAyNDgsIDg2LCAyMzQsIDEyNiwgMSwgMjQ4LCA3MCwgMjM0LCAKLSAgICAxMjYsIDEsIDIyOCwgMTk4LCAyMzQsIDEyNiwgMSwgMjE4LCA1MiwgMjM0LCAxMjYsIDEsIDIxNywgMTYxLCAyMzQsIDEyNiwgCi0gICAgMSwgMjQ4LCAxNjQsIDIzNCwgMTI2LCAxLCAyNDcsIDIzMiwgMjM0LCAxMjYsIDEsIDIwNSwgMjM0LCAxMjYsIDEsIDE5MywgCi0gICAgMjM0LCAxMjYsIDEsIDIyNiwgMjMsIDIzNCwgMTI2LCAxLCAyNTIsIDEwNywgMjM0LCAxMjYsIDEsIDI1MSwgMTk1LCAyMzQsIAotICAgIDEyNiwgMSwgMTg4LCAyMzQsIDEyNiwgMSwgMTg2LCAyMzQsIDEyNiwgMSwgMjAzLCAyMzQsIDEyNiwgMSwgMjMzLCAxNTcsIAotICAgIDIzNCwgMTI2LCAxLCAyMTUsIDEsIDIzNCwgMTI2LCAxLCAyMjEsIDI0LCAyMzQsIDEyNiwgMSwgMjE5LCAxNTcsIDIzNCwgCi0gICAgMTI2LCAxLCAyMjIsIDIwMiwgMjM0LCAxMjYsIDEsIDIxMiwgMTA5LCAyMzQsIDEyNiwgMSwgMTU5LCAyMzQsIDEyNiwgMSwgCi0gICAgMjM0LCA1NSwgMjM0LCAxMjYsIDEsIDIxNiwgODcsIDIzNCwgMTI2LCA1LCAyNTIsIDYwLCA0OSwgMjM0LCAxMjYsIDUsIAotICAgIDI1MCwgMTU0LCAyMzQsIDEyNiwgNSwgNjIsIDU1LCAyMzQsIDEyNiwgMjE0LCAxMzMsIDIzNCwgMTI2LCAyMSwgMTE2LCAKLSAgICAyMzQsIDEyNiwgMjEsIDEwOSwgMjM0LCAxMjYsIDIxLCAxNjYsIDIzNCwgMTI2LCAyMSwgMTYzLCAyMzQsIDEyNiwgNTAsIAotICAgIDIxNywgMjAwLCAyMzQsIDEyNiwgNTAsIDIxNiwgMzgsIDIzNCwgMTI2LCA1MCwgMTIyLCAyNDAsIDIwMCwgMjM0LCAxMjYsIAotICAgIDUwLCAxMjIsIDIxNywgMTAwLCAyMzQsIDEyNiwgMjI1LCAyNywgMjQ3LCA3NCwgMjM0LCAxMjYsIDIyNSwgMjcsIDMsIDI0OSwgCi0gICAgMjI4LCAyMzQsIDEyNiwgMjI1LCAyNywgMjQ5LCAyMjgsIDIzNCwgMTI2LCAyMjUsIDI3LCAyNDksIDc3LCAxMzQsIDIzNCwgCi0gICAgMTI2LCAyMjUsIDI3LCAyMzEsIDI0MywgMjM0LCAxMjYsIDIyNSwgMjcsIDIzMiwgMTcwLCAyMzQsIDEyNiwgMjI1LCAyNywgCi0gICAgMjQ4LCAxMjMsIDIzNCwgMTI2LCAyMjUsIDI3LCA1MSwgMjQ4LCAxMjMsIDIzNCwgMTI2LCAyMjUsIDI3LCAyMzIsIDIzNiwgCi0gICAgNTMsIDIxOSwgMjE1LCAyNTMsIDIwOCwgMSwgMjQxLCAyMjIsIDUzLCAyMTksIDIxNSwgMjUzLCAyMDgsIDEsIDIzMywgMTE3LCAKLSAgICA1MywgMjE5LCAyMTUsIDI1MywgMjA4LCAxLCAyNDEsIDE4MCwgNTMsIDIxOSwgMjE1LCAyNTMsIDIwOCwgMSwgMjMxLCAxMjksIAotICAgIDUzLCAyMTksIDIxNSwgMjUzLCAyMDgsIDEsIDIyNCwgMTc5LCA1MywgMjE5LCAyMTUsIDI1MywgMjA4LCAxLCAyMTQsIDE0LCAKLSAgICA1MywgMjE5LCAyMTUsIDI1MywgMjA4LCAxLCAyMjAsIDIwMCwgNTMsIDIxOSwgMjE1LCAyNTMsIDIwOCwgMSwgMjIzLCAyMTksIAotICAgIDUzLCAyMTksIDIxNSwgMjUzLCAyMDgsIDEsIDI1MSwgMjAyLCA1MywgMjE5LCAyMTUsIDI1MywgMjA4LCAxLCAyMTcsIDI0MywgCi0gICAgNTMsIDIxOSwgMjE1LCAyNTMsIDIwOCwgMSwgMjIyLCAxNDIsIDUzLCAyMTksIDIxNSwgMjUzLCAyMDgsIDEsIDIzNCwgMjMwLCAKLSAgICA1MywgMjE5LCAyMTUsIDI1MywgMjA4LCAxLCAyMjgsIDUwLCA1MywgMjE5LCAyMTUsIDI1MywgMjA4LCAxLCAyMzQsIDEyMiwgCi0gICAgNTMsIDIxOSwgMjE1LCAyNTMsIDIwOCwgMSwgMjIyLCAxOTMsIDUzLCAyMTksIDIxNSwgMjUzLCAyMDgsIDEsIDIyMiwgMTY0LCAKLSAgICA1MywgMjE5LCAyMTUsIDI1MywgMjA4LCAxLCAyNDQsIDEyMywgNTMsIDIxOSwgMjE1LCAyNTMsIDIwOCwgMSwgMjU0LCA3OCwgCi0gICAgNTMsIDIxOSwgMjE1LCAyNTMsIDIwOCwgMSwgMjUzLCA3NywgNTMsIDIxOSwgMjE1LCAyNTMsIDIwOCwgMSwgMjQ3LCAyMzAsIAotICAgIDUzLCAyMTksIDIxNSwgMjUzLCAyMDgsIDEsIDI0MiwgMTc3LCA1MywgMjE5LCAyMTUsIDI1MywgMjA4LCAxLCAyNDgsIDEzMywgCi0gICAgNTMsIDIxOSwgMjE1LCAyNTMsIDIwOCwgMSwgMjQyLCAyMTQsIDUzLCAyMTksIDIxNSwgMjUzLCAyMDgsIDEsIDIxNywgMTc5LCAKLSAgICA1MywgMjE5LCAyMTUsIDI1MywgMjA4LCAxLCAyMTIsIDg5LCA1MywgMjE5LCAyMTUsIDI1MywgMjA4LCAxLCAyNDcsIDIyNywgCi0gICAgNTMsIDIxOSwgMjE1LCAyNTMsIDIwOCwgMSwgMjEyLCAyMjMsIDUzLCAyMTksIDIxNSwgMjUzLCAyMDgsIDEsIDIxNywgMTUwLCAKLSAgICA1MywgMjE5LCAyMTUsIDI1MywgMjA4LCAxLCAyMTcsIDEzMSwgNTMsIDIxOSwgMjE1LCAyNTMsIDIwOCwgNTAsIDExNiwgNTMsIAotICAgIDIxOSwgMjE1LCAyNTMsIDIwOCwgNTAsIDI0NCwgODMsIDUzLCAyMTksIDIxNSwgMjUzLCAyMDgsIDEyOCwgMjM1LCAyMzUsIAotICAgIDI1MywgODgsIDEsIDYxLCAyNTMsIDg4LCAxLCAyNTQsIDIzMiwgMjUzLCA4OCwgMSwgMjUzLCAyNDAsIDI1MywgODgsIDEsIAotICAgIDI1NCwgMTkxLCAyNTMsIDg4LCAxLCAyNTQsIDMyLCAyNTMsIDg4LCAxLCAyNTQsIDE5MiwgMjUzLCA4OCwgMSwgMjU0LCAKLSAgICAxNDgsIDI1MywgODgsIDEsIDI1NCwgMTQ0LCAyNTMsIDg4LCAxLCA3NCwgMjUzLCA4OCwgMSwgMjQ1LCAxNjUsIDI1MywgODgsIAotICAgIDEsIDc1LCAyNTMsIDg4LCAxLCAyMjcsIDQ5LCAyNTMsIDg4LCAxLCA3MiwgMjUzLCA4OCwgMSwgMjM2LCAyOCwgMjUzLCA4OCwgCi0gICAgMSwgNjksIDI1MywgODgsIDEsIDIxNSwgOTIsIDI1MywgODgsIDEsIDIzNCwgMTg4LCAyNTMsIDg4LCAxLCAyMTMsIDE1MCwgCi0gICAgMjUzLCA4OCwgMSwgMjEzLCAxMTYsIDI1MywgODgsIDEsIDIxMywgMTI1LCAyNTMsIDg4LCAxLCAyNDMsIDM4LCAyNTMsIDg4LCAKLSAgICAxLCAyNDMsIDAsIDI1MywgODgsIDEsIDI0MiwgMjEyLCAyNTMsIDg4LCAxLCAyNTAsIDEyNCwgMjUzLCA4OCwgMSwgMjM1LCAKLSAgICAxMjcsIDI1MywgODgsIDEsIDIxNywgMjI5LCAyNTMsIDg4LCAxLCAyMTcsIDE0OCwgMjUzLCA4OCwgMSwgMjQ4LCA0MSwgCi0gICAgMjUzLCA4OCwgMSwgMjQ3LCAyMjUsIDI1MywgODgsIDEsIDIxNiwgMTEyLCAyNTMsIDg4LCAxLCAyMjYsIDk2LCAyNTMsIDg4LCAKLSAgICAxLCAyNDQsIDEyMywgMjUzLCA4OCwgMSwgMjUxLCAyNTEsIDI1MywgODgsIDEsIDI1MSwgMTkyLCAyNTMsIDg4LCAxLCAyMjksIAotICAgIDE0OCwgMjUzLCA4OCwgMSwgMjI5LCA3MCwgMjUzLCA4OCwgMSwgMjI5LCA3MSwgMjUzLCA4OCwgMSwgMjI5LCAxODcsIDI1MywgCi0gICAgODgsIDEsIDIyOCwgMTcsIDI1MywgODgsIDEsIDIyOCwgMTk3LCAyNTMsIDg4LCAxLCAyMzEsIDE1NiwgMjUzLCA4OCwgMSwgCi0gICAgMjQxLCAxMDIsIDI1MywgODgsIDEsIDIxMiwgMTU5LCAyNTMsIDg4LCAxLCAyMTMsIDM4LCAyNTMsIDg4LCAxLCAyMTQsIAotICAgIDIzMiwgMjUzLCA4OCwgMSwgMjI0LCAyMSwgMjUzLCA4OCwgMSwgMjMzLCA4MiwgMjUzLCA4OCwgMSwgMjIyLCAxMDAsIDI1MywgCi0gICAgODgsIDEsIDIxMiwgODcsIDI1MywgODgsIDEsIDIyMCwgMjQzLCAyNTMsIDg4LCAxLCAyMTIsIDY3LCAyNTMsIDg4LCAxLCAKLSAgICAyMjAsIDEyNCwgMjUzLCA4OCwgMSwgMjE5LCAxMjksIDI1MywgODgsIDEsIDI0MSwgMjIyLCAyNTMsIDg4LCAyNTQsIDE4MSwgCi0gICAgNzcsIDIxNywgMzIsIDExNywgMTc2LCAxMTAsIDEyMiwgNjIsIDIyNSwgMjYsIDMsIDExNywgMTc2LCAxMTAsIDEyMiwgNjIsIAotICAgIDIyNSwgMjYsIDIzMywgMTA4LCAxMTcsIDE3NiwgMTEwLCAxMjIsIDYyLCAyMjUsIDI2LCAyMzMsIDEwOCwgMTIyLCA2MiwgCi0gICAgMTEwLCAxMTcsIDE3NiwgMjI1LCAyNiwgMjMzLCAxMDgsIDExNywgMjIzLCAxMjksIDExMCwgMTIyLCAyMjMsIDEzMSwgMjI1LCAKLSAgICAyNiwgMjMzLCAxMDgsIDEyMiwgMjIzLCAxMzEsIDExMCwgMTE3LCAyMjMsIDEyOSwgMjI1LCAyNiwgMjM1LCAyMTUsIDIyNiwgCi0gICAgMTI2LCAxLCAyNTQsIDc2LCAyMzUsIDIxNSwgMjI2LCAxMjYsIDEsIDI1MSwgMjAyLCAyMzUsIDIxNSwgMjI2LCAxMjYsIDEsIAotICAgIDI0MiwgMTc3LCAyMzUsIDIxNSwgMjI2LCAxMjYsIDEsIDI0OCwgMTMzLCAyMzUsIDIxNSwgMjI2LCAxMjYsIDEsIDI0MSwgCi0gICAgMjIyLCAyMzUsIDIxNSwgMjI2LCAxMjYsIDEsIDIxNCwgMTQsIDIzNSwgMjE1LCAyMjYsIDEyNiwgMSwgMjEyLCA5MCwgMjM1LCAKLSAgICAyMTUsIDIyNiwgMTI2LCAxLCAyNDEsIDE4MCwgMjM1LCAyMTUsIDIyNiwgMTI2LCAxLCAyMTcsIDE3OSwgMjM1LCAyMTUsIAotICAgIDIyNiwgMTI2LCAxLCAyMTIsIDIyMywgMjM1LCAyMTUsIDIyNiwgMTI2LCAxLCAyMzQsIDIzMCwgMjM1LCAyMTUsIDIyNiwgCi0gICAgMTI2LCAxLCAyMzMsIDExNywgMjM1LCAyMTUsIDIyNiwgMTI2LCAxLCAyMzEsIDEyOSwgMjM1LCAyMTUsIDIyNiwgMTI2LCAxLCAKLSAgICAyMjgsIDUwLCAyMzUsIDIxNSwgMjI2LCAxMjYsIDEsIDIyMiwgMTY0LCAyMzUsIDIxNSwgMjI2LCAxMjYsIDEsIDI1MywgNzgsIAotICAgIDIzNSwgMjE1LCAyMjYsIDEyNiwgMSwgMjI2LCA5NiwgMjM1LCAyMTUsIDIyNiwgMTI2LCAxLCAyMjIsIDE5MywgMjM1LCAKLSAgICAyMTUsIDIyNiwgMTI2LCAxLCAyMjQsIDE3OSwgMjM1LCAyMTUsIDIyNiwgMTI2LCAxLCAyMjMsIDIxOSwgMjM1LCAyMTUsIAotICAgIDIyNiwgMTI2LCAxLCAyMjAsIDIwMCwgMjM1LCAyMTUsIDIyNiwgMTI2LCAxLCAyMTcsIDI0MywgMjM1LCAyMTUsIDIyNiwgCi0gICAgMTI2LCA1MCwgMTE2LCAyMzUsIDIxNSwgMjI2LCAxMjYsIDUwLCAxMDksIDIzNSwgMjE1LCAyMjYsIDEyNiwgNTAsIDE2NiwgCi0gICAgMjM1LCAyMTUsIDIyNiwgMTI2LCA1MCwgMTYzLCAyMzUsIDIxNSwgMjI2LCAxMjYsIDUwLCAyMTcsIDIwMCwgMjM1LCAyMTUsIAotICAgIDIyNiwgMTI2LCA1MCwgMjE2LCAzOCwgMjM1LCAyMTUsIDIyNiwgMTI2LCA1MCwgMTIyLCAyNDAsIDIwMCwgMjM1LCAyMTUsIAotICAgIDIyNiwgMTI2LCA1MCwgMTIyLCAyMTcsIDEwMCwgMjM1LCAyMTUsIDIyNiwgMTk4LCAxLCAyNTQsIDc2LCAyMzUsIDIxNSwgCi0gICAgMjI2LCAxOTgsIDEsIDI1MSwgMjAyLCAyMzUsIDIxNSwgMjI2LCAxOTgsIDEsIDI0MiwgMTc3LCAyMzUsIDIxNSwgMjI2LCAKLSAgICAxOTgsIDEsIDI0OCwgMTMzLCAyMzUsIDIxNSwgMjI2LCAxOTgsIDEsIDI0MSwgMjIyLCAyMzUsIDIxNSwgMjI2LCAxOTgsIDEsIAotICAgIDIxNCwgMTMsIDIzNSwgMjE1LCAyMjYsIDE5OCwgMSwgMjEyLCA5MCwgMjM1LCAyMTUsIDIyNiwgMTk4LCAxLCAyNDEsIDE4MCwgCi0gICAgMjM1LCAyMTUsIDIyNiwgMTk4LCAxLCAyMTcsIDE3OSwgMjM1LCAyMTUsIDIyNiwgMTk4LCAxLCAyMTIsIDIyMywgMjM1LCAKLSAgICAyMTUsIDIyNiwgMTk4LCAxLCAyMzQsIDIzMCwgMjM1LCAyMTUsIDIyNiwgMTk4LCAxLCAyMzMsIDExNywgMjM1LCAyMTUsIAotICAgIDIyNiwgMTk4LCAxLCAyMzEsIDEyOCwgMjM1LCAyMTUsIDIyNiwgMTk4LCAxLCAyMjgsIDUwLCAyMzUsIDIxNSwgMjI2LCAKLSAgICAxOTgsIDEsIDIyMiwgMTY0LCAyMzUsIDIxNSwgMjI2LCAxOTgsIDEsIDIyNiwgOTYsIDIzNSwgMjE1LCAyMjYsIDE5OCwgMSwgCi0gICAgMjIyLCAxOTMsIDIzNSwgMjE1LCAyMjYsIDE5OCwgMSwgMjIwLCAyMDAsIDIzNSwgMjE1LCAyMjYsIDE5OCwgMSwgMjE3LCAKLSAgICAyNDMsIDIzNSwgMjE1LCAyMjYsIDE5OCwgNTAsIDExNiwgMjM1LCAyMTUsIDIyNiwgMTk4LCA1MCwgMTA5LCAyMzUsIDIxNSwgCi0gICAgMjI2LCAxOTgsIDUwLCAxNjYsIDIzNSwgMjE1LCAyMjYsIDE5OCwgNTAsIDE2MywgMjM1LCAyMTUsIDIyNiwgMTk4LCA1MCwgCi0gICAgMjE3LCAyMDAsIDIzNSwgMjE1LCAyMjYsIDE5OCwgNTAsIDIxNiwgMzgsIDIzNSwgMjE1LCAyMjYsIDE5OCwgNTAsIDEyMiwgCi0gICAgMjQwLCAyMDAsIDIzNSwgMjE1LCAyMjYsIDE5OCwgNTAsIDEyMiwgMjE3LCAxMDAsIDUzLCAxODUsIDEsIDIyNywgMTYsIDYxLCAKLSAgICA1MywgMTg1LCAxLCAyMTMsIDI4LCA2MSwgNTMsIDE4NSwgMSwgMjEzLCAyOCwgMjU0LCAxNDgsIDUzLCAxODUsIDEsIDIyNywgCi0gICAgMTYsIDcyLCA1MywgMTg1LCAxLCAyMTMsIDI4LCA3MiwgNTMsIDE4NSwgMSwgMjEzLCAyOCwgNzQsIDUzLCAxODUsIDEsIAotICAgIDIyNywgMTYsIDc1LCA1MywgMTg1LCAxLCAyMjcsIDE2LCAyMjcsIDk5LCA1MywgMTg1LCAxLCAyMTMsIDI4LCAyMjcsIDk5LCAKLSAgICA1MywgMTg1LCAxLCAyMjcsIDE2LCAyNTQsIDE4NSwgNTMsIDE4NSwgMSwgMjEzLCAyOCwgMjU0LCAxODUsIDUzLCAxODUsIDEsIAotICAgIDIyNywgMTYsIDI1NCwgMTQ3LCA1MywgMTg1LCAxLCAyMTMsIDI4LCAyNTQsIDE0NywgNTMsIDE4NSwgMSwgMjI3LCAxNiwgCi0gICAgMjU0LCAxMjEsIDUzLCAxODUsIDEsIDIxMywgMjgsIDI1NCwgMTIxLCA1MywgMTg1LCAxLCAyMjcsIDE2LCAyNTQsIDE0MiwgCi0gICAgNTMsIDE4NSwgMSwgMjEzLCAyOCwgMjU0LCAxNDIsIDUzLCAxODUsIDEsIDIyNywgMTYsIDI1NCwgMTYwLCA1MywgMTg1LCAxLCAKLSAgICAyMTMsIDI4LCAyNTQsIDE2MCwgNTMsIDE4NSwgMSwgMjI3LCAxNiwgMjU0LCAxNDYsIDUzLCAxODUsIDEsIDIyNywgMTYsIAotICAgIDI0NCwgMjM2LCA1MywgMTg1LCAxLCAyMTMsIDI4LCAyNDQsIDIzNiwgNTMsIDE4NSwgMSwgMjI3LCAxNiwgMjUzLCA4MywgCi0gICAgNTMsIDE4NSwgMSwgMjEzLCAyOCwgMjUzLCA4MywgNTMsIDE4NSwgMSwgMjI3LCAxNiwgMjU0LCAxMjksIDUzLCAxODUsIDEsIAotICAgIDIxMywgMjgsIDI1NCwgMTI5LCA1MywgMTg1LCAxLCAyMjcsIDE2LCAyNTQsIDE0MCwgNTMsIDE4NSwgMSwgMjEzLCAyOCwgCi0gICAgMjU0LCAxNDAsIDUzLCAxODUsIDEsIDIyNywgMTYsIDIyNywgOTgsIDUzLCAxODUsIDEsIDIxMywgMjgsIDIyNywgOTgsIDUzLCAKLSAgICAxODUsIDEsIDIyNywgMTYsIDI1NCwgODYsIDUzLCAxODUsIDEsIDIxMywgMjgsIDI1NCwgODYsIDUzLCAxODUsIDEsIDIyNywgCi0gICAgMTYsIDI1NCwgMTM5LCA1MywgMTg1LCAxLCAyMjcsIDE2LCAyNDUsIDExOSwgNTMsIDE4NSwgMSwgMjI3LCAxNiwgMjQ1LCAKLSAgICAxMTcsIDUzLCAxODUsIDEsIDIyNywgMTYsIDI1NCwgMzIsIDUzLCAxODUsIDEsIDIyNywgMTYsIDI1NCwgMTM3LCA1MywgCi0gICAgMTg1LCAxLCAyMTMsIDI4LCAyNTQsIDEzNywgNTMsIDE4NSwgMSwgMjI3LCAxNiwgMjQ1LCA5MCwgNTMsIDE4NSwgMSwgMjEzLCAKLSAgICAyOCwgMjQ1LCA5MCwgNTMsIDE4NSwgMSwgMjI3LCAxNiwgMjQ1LCAxMDUsIDUzLCAxODUsIDEsIDIxMywgMjgsIDI0NSwgCi0gICAgMTA1LCA1MywgMTg1LCAxLCAyMjcsIDE2LCAyNDUsIDc3LCA1MywgMTg1LCAxLCAyMTMsIDI4LCAyNDUsIDc3LCA1MywgMTg1LCAKLSAgICAxLCAyMTMsIDI4LCAyNTQsIDI0LCA1MywgMTg1LCAxLCAyMjcsIDE2LCAyNDUsIDk2LCA1MywgMTg1LCAxLCAyMTMsIDI4LCAKLSAgICAyNTQsIDEzNiwgNTMsIDE4NSwgMSwgMjI3LCAxNiwgMjQ1LCA3MCwgNTMsIDE4NSwgMSwgMjI3LCAxNiwgMjI3LCA0MSwgNTMsIAotICAgIDE4NSwgMSwgMjI3LCAxNiwgMjQwLCAxMDYsIDUzLCAxODUsIDEsIDIyNywgMTYsIDI0NSwgMTcxLCA1MywgMTg1LCAxLCAKLSAgICAyMTMsIDI4LCAyNDUsIDE3MSwgNTMsIDE4NSwgMSwgMjI3LCAxNiwgMjUzLCAyMTUsIDUzLCAxODUsIDEsIDIxMywgMjgsIAotICAgIDI1MywgMjE1LCA1MywgMTg1LCAxLCAyMjcsIDE2LCAyMzUsIDE3OSwgNTMsIDE4NSwgMSwgMjEzLCAyOCwgMjM1LCAxNzksIAotICAgIDUzLCAxODUsIDEsIDIyNywgMTYsIDIyNywgMjUsIDUzLCAxODUsIDEsIDIxMywgMjgsIDIyNywgMjUsIDUzLCAxODUsIDEsIAotICAgIDIyNywgMTYsIDI1MywgMjExLCA1MywgMTg1LCAxLCAyMTMsIDI4LCAyNTMsIDIxMSwgNTMsIDE4NSwgMSwgMjI3LCAxNiwgCi0gICAgMjU0LCAxMzUsIDUzLCAxODUsIDEsIDIyNywgMTYsIDI1MywgMTUyLCA1MywgMTg1LCAxLCAyMjcsIDE2LCAyNTQsIDEzMywgCi0gICAgNTMsIDE4NSwgMSwgMjI3LCAxNiwgMjUzLCAxNDYsIDUzLCAxODUsIDEsIDIxMywgMjgsIDI1MywgMTQ2LCA1MywgMTg1LCAxLCAKLSAgICAyMjcsIDE2LCAyNDUsIDQwLCA1MywgMTg1LCAxLCAyMTMsIDI4LCAyNDUsIDQwLCA1MywgMTg1LCAxLCAyMjcsIDE2LCAyNTMsIAotICAgIDEyMiwgNTMsIDE4NSwgMSwgMjEzLCAyOCwgMjUzLCAxMjIsIDUzLCAxODUsIDEsIDIyNywgMTYsIDI1NCwgMTMwLCA1MywgCi0gICAgMTg1LCAxLCAyMTMsIDI4LCAyNTQsIDEzMCwgNTMsIDE4NSwgMSwgMjI3LCAxNiwgMjI3LCA4LCA1MywgMTg1LCAxLCAyMjcsIAotICAgIDE2LCAyNTIsIDQ1LCAyMjMsIDM4LCAyMSwgMTE2LCAyMjMsIDM4LCAyMSwgMTA5LCAyMjMsIDM4LCAyMSwgMTY2LCAyMjMsIAotICAgIDM4LCAyMSwgMTYzLCAyMjMsIDM4LCAyMSwgMTgwLCAyMjMsIDM4LCAyMSwgMTg5LCAyMjMsIDM4LCAyMSwgMTk4LCAyMjMsIAotICAgIDM4LCAyMSwgMTk1LCAyMjMsIDM4LCAyMSwgMjAwLCAyMjMsIDM4LCA1MCwgMjE3LCAyMDAsIDIyMywgMzgsIDUwLCAyMTYsIAotICAgIDM4LCAyMjMsIDM4LCA1MCwgMjE3LCAxMTUsIDIyMywgMzgsIDUwLCAyNDMsIDI0MCwgMjIzLCAzOCwgNTAsIDI0NCwgODMsIAotICAgIDIyMywgMzgsIDUwLCAyMjAsIDM5LCAyMjMsIDM4LCA1MCwgMjIxLCAzNywgMjIzLCAzOCwgNTAsIDI0NSwgMTQxLCAyMjMsIAotICAgIDM4LCA1MCwgMjI5LCAyNiwgMjIzLCAzOCwgNTAsIDEyMiwgMjQwLCAyMDAsIDIyMywgMzgsIDUwLCAxMTcsIDI0MCwgMjAwLCAKLSAgICAyMjMsIDM4LCA1MCwgMTMzLCAyNDAsIDIwMCwgMjIzLCAzOCwgNTAsIDI0MywgMjM3LCAyNDAsIDIwMCwgMjIzLCAzOCwgNTAsIAotICAgIDI0NCwgNTAsIDI0MCwgMjAwLCAyMjMsIDM4LCA1MCwgMjIwLCA1MywgMjQwLCAyMDAsIDIyMywgMzgsIDUwLCAyMjEsIDQzLCAKLSAgICAyNDAsIDIwMCwgMjIzLCAzOCwgNTAsIDI0NSwgMTUwLCAyNDAsIDIwMCwgMjIzLCAzOCwgNTAsIDIyOSwgMzEsIDI0MCwgCi0gICAgMjAwLCAyMjMsIDM4LCAyNDMsIDIyOCwgMTIyLCAyNDIsIDksIDIyMywgMzgsIDI0MywgMjI4LCAxMjIsIDIyNCwgMTY2LCAKLSAgICAyMjMsIDM4LCAyNDMsIDIyOCwgMTIyLCAyMTcsIDEyMSwgMjIzLCAzOCwgMjQzLCAyMjgsIDExNywgMjE3LCAxMTksIDExMiwgCi0gICAgNSwgMjUwLCAxODcsIDExMiwgNSwgMjUzLCAyNDIsIDExMiwgNSwgMjE0LCAxMjgsIDExMiwgNSwgMjM1LCAxMDQsIDExMiwgCi0gICAgNSwgMjE1LCAxMzIsIDExMiwgMSwgNjEsIDExMiwgMSwgMjU0LCAyMzIsIDExMiwgMSwgNzIsIDExMiwgMSwgMjM2LCAyOCwgCi0gICAgMTEyLCAxLCA2OSwgMTEyLCAxLCAyMTUsIDkyLCAxMTIsIDEsIDE2MSwgMTQ5LCAxMTIsIDEsIDE2MSwgMjIzLCA4MiwgMTEyLCAKLSAgICAxLCAxNjEsIDE1MCwgMTEyLCAxLCAxNjEsIDIzMiwgMjE0LCAxMTIsIDEsIDc0LCAxMTIsIDEsIDI1NCwgMTA4LCAxMTIsIDEsIAotICAgIDc1LCAxMTIsIDEsIDI1MywgMTA4LCAxMTIsIDEsIDE4MSwgMTEyLCAxLCAyMzQsIDEzOCwgMTEyLCAxLCAyNDMsIDExMCwgCi0gICAgMTEyLCAxLCAyNDIsIDIyNSwgMTEyLCAxLCAyMjksIDE1OSwgMTEyLCAxLCAyNTAsIDIxOSwgMTEyLCAxLCAyNTAsIDkyLCAKLSAgICAxMTIsIDEsIDIzNSwgMTM5LCAxMTIsIDEsIDIzNSwgMTE1LCAxMTIsIDEsIDIyOCwgMjMsIDExMiwgMSwgMjE2LCAxMTUsIAotICAgIDExMiwgMSwgMjE2LCAxMDUsIDExMiwgMSwgMjQ4LCA4NiwgMTEyLCAxLCAyNDgsIDcwLCAxMTIsIDEsIDIyOCwgMTk4LCAKLSAgICAxMTIsIDEsIDIxOCwgNTIsIDExMiwgMSwgMjE3LCAxNjEsIDExMiwgMSwgMjQ4LCAxNjQsIDExMiwgMSwgMjQ3LCAyMzIsIAotICAgIDExMiwgMSwgMjA1LCAxMTIsIDEsIDE5MywgMTEyLCAxLCAyMjYsIDIzLCAxMTIsIDEsIDI1MiwgMTA3LCAxMTIsIDEsIDI1MSwgCi0gICAgMTk1LCAxMTIsIDEsIDE4OCwgMTEyLCAxLCAxODYsIDExMiwgMSwgMjAzLCAxMTIsIDEsIDIzMywgMTU3LCAxMTIsIDEsIAotICAgIDIxNSwgMSwgMTEyLCAxLCAyMjEsIDI0LCAxMTIsIDEsIDIxOSwgMTU3LCAxMTIsIDEsIDIyMiwgMjAyLCAxMTIsIDEsIDE1OSwgCi0gICAgMTEyLCAxLCAyMzIsIDIxMywgMTEyLCAxLCA1MywgMTc4LCAyMzIsIDIxMiwgMTEyLCAxLCA1MywgMTc4LCAyMjMsIDgxLCAKLSAgICAxMTIsIDEsIDUzLCAxNzgsIDIyOCwgMTg5LCAxMTIsIDMwLCA1LCAyNTQsIDIzMiwgMTEyLCAzMCwgNSwgMjUxLCAxOTMsIAotICAgIDI1NCwgMjMyLCAxMTIsIDMwLCA1LCA3MiwgMTEyLCAzMCwgNSwgMjM2LCAyOCwgMTEyLCAzMCwgNSwgNjksIDExMiwgMzAsIAotICAgIDUsIDIxNSwgOTIsIDExMiwgMzAsIDUsIDE2MSwgMTQ5LCAxMTIsIDMwLCA1LCAxNjEsIDIyMywgODIsIDExMiwgMzAsIDUsIAotICAgIDE2MSwgMTUwLCAxMTIsIDMwLCA1LCAxNjEsIDIzMiwgMjE0LCAxMTIsIDMwLCA1LCA3NCwgMTEyLCAzMCwgNSwgMjU0LCAKLSAgICAxMDgsIDExMiwgMzAsIDUsIDc1LCAxMTIsIDMwLCA1LCAyNTMsIDEwOCwgMTEyLCAyMTQsIDEzMywgMTEyLCAyNDgsIDEyMywgCi0gICAgMTEyLCA1MSwgMjQ4LCAxMjMsIDExMiwgMjI1LCAyNywgMjQ3LCA3NCwgMTEyLCAyMjUsIDI3LCA1MSwgMjQ3LCA3NCwgMTEyLCAKLSAgICAyMjUsIDI3LCAyMzIsIDI0MiwgMTEyLCAyMjUsIDI3LCAyNDksIDc3LCAxMzQsIDExMiwgMjI1LCAyNywgMjMyLCAxNzAsIAotICAgIDExMiwgNTAsIDExNiwgMTEyLCA1MCwgMTA5LCAxMTIsIDUwLCAxNjYsIDExMiwgNTAsIDE2MywgMTEyLCA1MCwgMTgwLCAKLSAgICAxMTIsIDUwLCAxODksIDExMiwgNTAsIDE5OCwgMTEyLCA1MCwgMTk1LCAxMTIsIDUwLCAyMDAsIDExMiwgNTAsIDIxNywgCi0gICAgMjAwLCAxMTIsIDUwLCAyMTYsIDM4LCAxMTIsIDUwLCAyMTcsIDExNSwgMTEyLCA1MCwgMjQzLCAyNDAsIDExMiwgNTAsIAotICAgIDI0NCwgODMsIDExMiwgNTAsIDIyMCwgMzksIDExMiwgNTAsIDIyMSwgMzcsIDExMiwgNTAsIDI0NSwgMTQxLCAxMTIsIDUwLCAKLSAgICAyMjksIDI2LCAxMTIsIDUwLCAxMjIsIDI0MCwgMjAwLCAxMTIsIDUwLCAxMjIsIDIxNywgMTAwLCAxMTIsIDIxLCAyMTIsIAotICAgIDc5LCAxMTIsIDIxLCAxMTYsIDExMiwgMjEsIDEwOSwgMTEyLCAyMSwgMTY2LCAxMTIsIDIxLCAxNjMsIDExMiwgMjEsIDE4MCwgCi0gICAgMTEyLCAyMSwgMTg5LCAxMTIsIDIxLCAxOTgsIDExMiwgMjEsIDE5NSwgMTEyLCAyMSwgMjAwLCAyMDgsIDUsIDI1MCwgMTg3LCAKLSAgICAyMDgsIDUsIDI1MywgMjQyLCAyMDgsIDUsIDIxNCwgMTI4LCAyMDgsIDEsIDYxLCAyMDgsIDEsIDI1NCwgMjMyLCAyMDgsIDEsIAotICAgIDcyLCAyMDgsIDEsIDIzNiwgMjgsIDIwOCwgMSwgNjksIDIwOCwgMSwgMjE1LCA5MiwgMjA4LCAxLCA3NCwgMjA4LCAxLCAKLSAgICAyNTQsIDEwOCwgMjA4LCAxLCA3NSwgMjA4LCAxLCAyNTMsIDEwOCwgMjA4LCAxLCAxODEsIDIwOCwgMSwgMjM0LCAxMzgsIAotICAgIDIwOCwgMSwgMjQzLCAxMTAsIDIwOCwgMSwgMjQyLCAyMjUsIDIwOCwgMSwgMjI5LCAxNTksIDIwOCwgMSwgMjUwLCAyMTksIAotICAgIDIwOCwgMSwgMjUwLCA5MiwgMjA4LCAxLCAyMzUsIDEzOSwgMjA4LCAxLCAyMzUsIDExNSwgMjA4LCAxLCAyMjgsIDIzLCAKLSAgICAyMDgsIDEsIDIxNiwgMTE1LCAyMDgsIDEsIDIxNiwgMTA1LCAyMDgsIDEsIDI0OCwgODYsIDIwOCwgMSwgMjQ4LCA3NSwgCi0gICAgMjA4LCAxLCAyNDgsIDcwLCAyMDgsIDEsIDIyMywgMTkyLCAyMDgsIDEsIDIyOCwgMTk4LCAyMDgsIDEsIDIxOCwgNTIsIAotICAgIDIwOCwgMSwgMjE3LCAxNjEsIDIwOCwgMSwgMjQ4LCAxNjQsIDIwOCwgMSwgMjQ3LCAyMzIsIDIwOCwgMSwgMjA1LCAyMDgsIAotICAgIDEsIDE5MywgMjA4LCAxLCAyMjYsIDIzLCAyMDgsIDEsIDI1MiwgMTA3LCAyMDgsIDEsIDI1MSwgMTk1LCAyMDgsIDEsIDE4OCwgCi0gICAgMjA4LCAxLCAxODYsIDIwOCwgMSwgMjAzLCAyMDgsIDEsIDIzMywgMTU3LCAyMDgsIDEsIDIxNSwgMSwgMjA4LCAxLCAyMjEsIAotICAgIDI0LCAyMDgsIDEsIDIxOSwgMTU3LCAyMDgsIDEsIDIyMiwgMjAyLCAyMDgsIDEsIDE1OSwgMjA4LCAzMCwgNSwgMjU0LCAKLSAgICAyMzIsIDIwOCwgMzAsIDUsIDcyLCAyMDgsIDMwLCA1LCAyMzYsIDI4LCAyMDgsIDMwLCA1LCA2OSwgMjA4LCAzMCwgNSwgCi0gICAgMjE1LCA5MiwgMjA4LCAzMCwgNSwgNzQsIDIwOCwgMzAsIDUsIDI1NCwgMTA4LCAyMDgsIDMwLCA1LCA3NSwgMjA4LCAzMCwgCi0gICAgNSwgMjUzLCAxMDgsIDIwOCwgNSwgMjE0LCAxMzMsIDIwOCwgNSwgMjI4LCA2MCwgMjA4LCAyNTQsIDE4MSwgNTIsIDIwOCwgCi0gICAgMjQ1LCA4MCwgNTIsIDIwOCwgNTAsIDUyLCAyMDgsIDIyMiwgOTIsIDc3LCAyMDgsIDUxLCAyMjIsIDkyLCA3NywgMjA4LCAKLSAgICAyNDgsIDEyMywgMjA4LCA1MSwgMjQ4LCAxMjMsIDE1LCA1LCA2MSwgMTUsIDUsIDExOCwgMjksIDYxLCAxNSwgNSwgMTE4LCAKLSAgICAyOSwgMjUyLCA5NCwgMTUsIDUsIDExOCwgMjksIDI0MywgODEsIDIxNywgMTkyLCAxNSwgNSwgMTE4LCAyOSwgMTU5LCAxNSwgCi0gICAgNSwgMTE4LCAyOSwgMjM2LCAzMCwgMTUsIDUsIDExOCwgMjksIDIzMywgMTM5LCAyNDIsIDc1LCAxNSwgNSwgMTE4LCAyOSwgCi0gICAgMjMwLCAxMzEsIDE1LCA1LCAxMTgsIDI5LCAyMjIsIDE5MCwgMTUsIDUsIDI1NCwgMjM0LCAxNSwgNSwgMjU0LCAxODUsIDE1LCAKLSAgICA1LCAyNTQsIDE4NiwgMjksIDI1MywgMTQ0LCAxNSwgNSwgMjU0LCAxODYsIDI5LCAyNDYsIDIyLCAyNDIsIDc1LCAxNSwgNSwgCi0gICAgMjU0LCAxODYsIDI5LCAyNDMsIDk0LCAxNSwgNSwgMjU0LCAxODYsIDI5LCAyNDMsIDgxLCAyMTcsIDE5MiwgMTUsIDUsIAotICAgIDI1NCwgMTg2LCAyOSwgMTU5LCAxNSwgNSwgMjU0LCAxODYsIDI5LCAyMzYsIDMxLCAyNDIsIDc1LCAxNSwgNSwgMjU0LCAKLSAgICAxODYsIDI5LCAyMzYsIDQsIDE1LCA1LCAyNTQsIDE4NiwgMjksIDIzMywgMTQwLCAxNSwgNSwgMjU0LCAxODYsIDI5LCAyMjAsIAotICAgIDIyOCwgMTUsIDUsIDI1NCwgMTg2LCAyOSwgMTExLCA5NCwgMTExLCA5NCwgNjksIDE1LCA1LCAyNTQsIDE4NiwgMjQyLCA3NSwgCi0gICAgMTUsIDUsIDI1NCwgMTgzLCAxNSwgNSwgMjU0LCAxODQsIDI5LCAyNTIsIDc5LCAxNSwgNSwgMjU0LCAxODQsIDI5LCAyNDMsIAotICAgIDgxLCAyMTcsIDE5MiwgMTUsIDUsIDI1NCwgMTg0LCAyOSwgMjMxLCAxNTcsIDk0LCAyNDUsIDEwOCwgMTUsIDUsIDI1NCwgCi0gICAgMTg0LCAyOSwgMjIxLCAyMiwgMTUsIDUsIDI1NCwgMTg0LCAyOSwgMjE4LCAyMiwgMTUsIDUsIDI1NCwgMTYwLCAxNSwgNSwgCi0gICAgMjU0LCA5NCwgMTUsIDUsIDI1NCwgOTUsIDI5LCAyNDUsIDUwLCAxNSwgNSwgMjU0LCA5NSwgMjksIDIyMCwgMTkwLCA5NCwgCi0gICAgMjQyLCAxNjYsIDE1LCA1LCAyNTQsIDg2LCAxNSwgNSwgMjU0LCA4NywgMjksIDI1NCwgODYsIDE1LCA1LCAyNTQsIDg3LCAKLSAgICAyOSwgMjQ3LCAxNjgsIDE1LCA1LCAyNTQsIDg3LCAyOSwgMjQyLCAxNjYsIDE1LCA1LCAyNTQsIDg3LCAyOSwgMTU5LCAxNSwgCi0gICAgNSwgMjU0LCA4NywgMjksIDIzNSwgMywgMTUsIDUsIDI1NCwgODcsIDI5LCAyMzQsIDEwMSwgMTUsIDUsIDI1NCwgODcsIDI5LCAKLSAgICAyMjAsIDI0MywgMTUsIDUsIDI1NCwgODcsIDI5LCAyMTUsIDEwMCwgMTUsIDUsIDI1NCwgODMsIDE1LCA1LCAyNTQsIDc2LCAKLSAgICAxNSwgNSwgMjU0LCA0MSwgMTUsIDUsIDI1NCwgNDIsIDI5LCAyMjAsIDI0MywgMTUsIDUsIDI1NCwgMzIsIDE1LCA1LCAyNTQsIAotICAgIDMzLCAxMTAsIDI1NCwgMzIsIDE1LCA1LCAyNTQsIDMzLCAxMzMsIDIxNywgMzgsIDE1LCA1LCAyNTQsIDMzLCA5NCwgMjMwLCAKLSAgICAzNSwgMjI3LCAzMCwgMjU0LCAzMywgOTQsIDIzMCwgMzQsIDE1LCA1LCAyNTQsIDMzLCA5NCwgMjMwLCAzNSwgMjE5LCAxNjUsIAotICAgIDE1LCA1LCAyNTQsIDUsIDE1LCA1LCAyNTMsIDIzNSwgMTUsIDUsIDI1MywgMjA1LCAxNSwgNSwgMjUzLCAyMDYsIDI5LCAKLSAgICAyMzMsIDIxNywgMTUsIDUsIDI1MywgMTc5LCAxNSwgNSwgMjUzLCAxNTEsIDE1LCA1LCAyNTMsIDE0NiwgMTUsIDUsIDI1MywgCi0gICAgMTQ3LCAyMTIsIDMzLCAyMTcsIDE5MiwgMTUsIDUsIDI1MywgMTQ3LCAyMzUsIDcsIDIxNywgMTkyLCAxNSwgNSwgMjUzLCAKLSAgICAxNDcsIDExMCwgMjUzLCAxNDcsIDIxNiwgNzgsIDExMCwgMjE2LCA3OCwgMjE2LCA3OCwgMTEwLCAyMTYsIDc4LCAyMjYsIAotICAgIDE0OSwgMTUsIDUsIDI1MywgMTQ3LCAxMTAsIDI1MywgMTQ3LCAxMTAsIDI1MywgMTQ2LCAxNSwgNSwgMjUzLCAxNDcsIDExMCwgCi0gICAgMjUzLCAxNDcsIDExMCwgMjUzLCAxNDcsIDI0OSwgNjUsIDI1MywgMTQ3LCAxMTAsIDI1MywgMTQ3LCAxMTAsIDI1MywgMTQ2LCAKLSAgICAxNSwgNSwgMjUzLCAxNDQsIDE1LCA1LCAyNTMsIDE0MSwgMTUsIDUsIDI1MiwgMTA3LCAxNSwgNSwgMjUyLCA5NCwgMTUsIDUsIAotICAgIDI1MiwgODksIDE1LCA1LCAyNTIsIDg2LCAxNSwgNSwgMjUyLCA4MCwgMTUsIDUsIDI1MiwgODEsIDExMCwgMjUyLCA4MCwgCi0gICAgMTUsIDUsIDI1MiwgNzksIDE1LCA1LCAxMzQsIDE1LCA1LCAyNTIsIDU5LCAxNSwgNSwgMjUxLCAxODQsIDE1LCA1LCAyNTEsIAotICAgIDE4NSwgMjksIDYxLCAxNSwgNSwgMjUxLCAxODUsIDI5LCAyNDMsIDcyLCAxNSwgNSwgMjUxLCAxODUsIDI5LCAyMzYsIDMxLCAKLSAgICAyNDIsIDc1LCAxNSwgNSwgMjUxLCA1NCwgMTUsIDUsIDI1MSwgNTUsIDExMCwgMjUxLCA1NSwgMjU0LCAxODUsIDE1LCA1LCAKLSAgICAyNTEsIDU1LCAxMTAsIDI1MSwgNTUsIDIxNSwgMTYwLCAxNSwgNSwgMjUxLCA1NSwgMjQ5LCA2NSwgMjUxLCA1NCwgMTUsIDUsIAotICAgIDI1MSwgMzgsIDE1LCA1LCAyNTEsIDM5LCAxMTAsIDI1MSwgMzgsIDE1LCA1LCAyNTEsIDI3LCAxNSwgNSwgMjUxLCAyNiwgCi0gICAgMTUsIDUsIDI0OCwgMTY0LCAxNSwgNSwgMjQ4LCAxNTUsIDE1LCA1LCAyNDgsIDE1NiwgMjM0LCA3NSwgMjksIDExOCwgOTQsIAotICAgIDIzMSwgMjEwLCAxNSwgNSwgMjQ4LCAxNTYsIDIzNCwgNzUsIDI5LCAyNTQsIDQxLCAxNSwgNSwgMjQ4LCAxNTYsIDIzNCwgCi0gICAgNzUsIDI5LCAyNTIsIDc5LCAxNSwgNSwgMjQ4LCAxNTYsIDIzNCwgNzUsIDI5LCAyNTEsIDE4NCwgMTUsIDUsIDI0OCwgMTU2LCAKLSAgICAyMzQsIDc1LCAyOSwgMjQzLCAxMTAsIDE1LCA1LCAyNDgsIDE1NiwgMjM0LCA3NSwgMjksIDI0MywgMTExLCA5NCwgMjMxLCAKLSAgICAyMTAsIDE1LCA1LCAyNDgsIDE1NiwgMjM0LCA3NSwgMjksIDI0MiwgMTkwLCAxNSwgNSwgMjQ4LCAxNTYsIDIzNCwgNzUsIAotICAgIDI5LCAyNDIsIDE3MywgMTUsIDUsIDI0OCwgMTU2LCAyMzQsIDc1LCAyOSwgMjQyLCA4NCwgMTUsIDUsIDI0OCwgMTU2LCAKLSAgICAyMzQsIDc1LCAyOSwgMTU5LCAxNSwgNSwgMjQ4LCAxNTYsIDIzNCwgNzUsIDI5LCAyMzUsIDE3NywgMTUsIDUsIDI0OCwgCi0gICAgMTU2LCAyMzQsIDc1LCAyOSwgMjM1LCAxNzgsIDk0LCAyMzIsIDE1NiwgMTUsIDUsIDI0OCwgMTU2LCAyMzQsIDc1LCAyOSwgCi0gICAgMjM0LCAyNDcsIDE1LCA1LCAyNDgsIDE1NiwgMjM0LCA3NSwgMjksIDIzMywgMTU3LCAxNSwgNSwgMjQ4LCAxNTYsIDIzNCwgCi0gICAgNzUsIDI5LCAyMzIsIDE1NiwgMTUsIDUsIDI0OCwgMTU2LCAyMzQsIDc1LCAyOSwgMjMyLCAxNTcsIDk0LCAyMzEsIDIwOSwgCi0gICAgMTUsIDUsIDI0OCwgMTU2LCAyMzQsIDc1LCAyOSwgMjMyLCAxNDIsIDE1LCA1LCAyNDgsIDE1NiwgMjM0LCA3NSwgMjksIAotICAgIDIyOSwgMTg3LCAxNSwgNSwgMjQ4LCAxNTYsIDIzNCwgNzUsIDI5LCAyMjYsIDE1MCwgOTQsIDIyNiwgMTQ5LCAxNSwgNSwgCi0gICAgMjQ4LCAxNTYsIDIzNCwgNzUsIDI5LCAyMjAsIDExNywgMTUsIDUsIDI0OCwgMTU2LCAyMzQsIDc1LCAyOSwgMjE4LCAyMiwgCi0gICAgMTUsIDUsIDI0OCwgMTU2LCAyMzQsIDc1LCAyOSwgMjE1LCAxOTgsIDk0LCAyNDIsIDE3MywgMTUsIDUsIDI0OCwgMTU2LCAKLSAgICAyMzQsIDc1LCAyOSwgMjE1LCAxMDAsIDE1LCA1LCAyNDgsIDEzMiwgMTUsIDUsIDI0OCwgMTExLCAxNSwgNSwgMjQ4LCAxMTAsIAotICAgIDE1LCA1LCAyNDgsIDEwOSwgMTUsIDUsIDI0NywgMjExLCAxNSwgNSwgMjQ3LCAxOTQsIDE1LCA1LCAyNDcsIDE2OSwgMTUsIAotICAgIDUsIDI0NywgMTcwLCAyOSwgMjIwLCAyNDMsIDE1LCA1LCAyNDcsIDE2OCwgMTUsIDUsIDI0NywgMTU4LCAxNSwgNSwgMjQ3LCAKLSAgICAxNTksIDIzNCwgMjEzLCAxMTEsIDI0MiwgNzYsIDI0NywgMTM5LCAxNSwgNSwgMjQ3LCAxMzksIDE1LCA1LCAyNDYsIDMzLCAKLSAgICAxNSwgNSwgMjQ2LCAzNCwgMTEwLCAyNDYsIDMzLCAxNSwgNSwgMjQ2LCAzNCwgMjQyLCA3NSwgMTUsIDUsIDI0NiwgMzQsIAotICAgIDIyMCwgMjI1LCAxNSwgNSwgMjQ2LCAzMSwgMTUsIDUsIDI0NiwgMzIsIDI5LCAyNDUsIDM3LCAxNSwgNSwgMjQ2LCAzMCwgCi0gICAgMTUsIDUsIDI0NiwgMjksIDE1LCA1LCAyNDYsIDI4LCAxNSwgNSwgMjQ2LCAyNywgMTUsIDUsIDI0NiwgMjMsIDE1LCA1LCAKLSAgICAyNDYsIDIxLCAxNSwgNSwgMjQ2LCAyMiwgMjQyLCA3NSwgMTUsIDUsIDI0NiwgMjIsIDI0MiwgNzYsIDI0MiwgNzUsIDE1LCAKLSAgICA1LCAyNDYsIDIwLCAxNSwgNSwgMjQ2LCAxMywgMTUsIDUsIDc0LCAxNSwgNSwgMTkxLCAyOSwgMjI2LCAxNDksIDE1LCA1LCAKLSAgICAxOTEsIDExMCwgMTkxLCAyMjgsIDUxLCAxMTAsIDIyOCwgNTAsIDE1LCA1LCAyNDUsIDE5MCwgMTUsIDUsIDI0NSwgMTkxLCAKLSAgICAyOSwgMTE4LCA5NCwgMjQyLCAzMCwgOTQsIDI0OCwgMTY0LCAxNSwgNSwgMjQ1LCAxOTEsIDI5LCAyNDMsIDcyLCAxNSwgNSwgCi0gICAgMjQ1LCAxOTEsIDI5LCAyMzEsIDQyLCAxNSwgNSwgMjQ1LCAxOTEsIDI5LCAyMjIsIDE3OSwgMTUsIDUsIDI0NSwgMTkxLCAKLSAgICAyOSwgMjIwLCAyNDMsIDE1LCA1LCAyNDUsIDE5MSwgMjksIDY5LCAxNSwgNSwgMjQ1LCAxNjcsIDE1LCA1LCAyNDUsIDE1NywgCi0gICAgMTUsIDUsIDI0NSwgMTMxLCAxNSwgNSwgMjQ1LCAxMDgsIDE1LCA1LCAyNDUsIDEwOSwgMjksIDI0MywgODAsIDE1LCA1LCAKLSAgICAyNDUsIDEwOSwgMjksIDI0MywgODEsIDIxNywgMTkyLCAxNSwgNSwgMjQ1LCAxMDksIDI5LCAyMzEsIDE1NiwgMTUsIDUsIAotICAgIDI0NSwgMTA5LCAyNDksIDY1LCAyNDUsIDEwOCwgMTUsIDUsIDI0NSwgMTA5LCAyMjcsIDMwLCAyNDUsIDEwOCwgMTUsIDUsIAotICAgIDI0NSwgMTA5LCAyMTksIDE2NSwgMTUsIDUsIDI0NSwgNTIsIDE1LCA1LCAyNDUsIDUwLCAxNSwgNSwgMjQ1LCAzNywgMTUsIAotICAgIDUsIDI0NCwgMjM0LCAxNSwgNSwgMjQ0LCAyMzUsIDI5LCA2MSwgMTUsIDUsIDI0NCwgMjM1LCAyOSwgMTE4LCA5NCwgMjMzLCAKLSAgICAxMjgsIDE1LCA1LCAyNDQsIDIzNSwgMjksIDExOCwgOTQsIDIzMywgMTI5LCAyOSwgMjMzLCAxMjgsIDE1LCA1LCAyNDQsIAotICAgIDIzNSwgMjksIDI1NCwgMzIsIDE1LCA1LCAyNDQsIDIzNSwgMjksIDI1MiwgOTQsIDE1LCA1LCAyNDQsIDIzNSwgMjksIDI0NiwgCi0gICAgMjIsIDI0MiwgNzUsIDE1LCA1LCAyNDQsIDIzNSwgMjksIDI0NiwgMjIsIDI0MiwgNzYsIDI0MiwgNzUsIDE1LCA1LCAyNDQsIAotICAgIDIzNSwgMjksIDE1OSwgMTUsIDUsIDI0NCwgMjM1LCAyOSwgMjQyLCAzMCwgMjQyLCA3NSwgMTUsIDUsIDI0NCwgMjM1LCAyOSwgCi0gICAgMjM2LCAzMSwgMjQyLCA3NSwgMTUsIDUsIDI0NCwgMjM1LCAyOSwgMjM0LCAyMTIsIDE1LCA1LCAyNDQsIDIzNSwgMjksIAotICAgIDIzNCwgMjEzLCAyMTksIDE2NSwgMTUsIDUsIDI0NCwgMjM1LCAyOSwgMjMzLCAyMzYsIDE1LCA1LCAyNDQsIDIzNSwgMjksIAotICAgIDIzMywgMTU3LCAxNSwgNSwgMjQ0LCAyMzUsIDI5LCAyMzMsIDEyOSwgMjksIDIzMywgMTI4LCAxNSwgNSwgMjQ0LCAyMzUsIAotICAgIDI5LCAyMzMsIDEzLCAxNSwgNSwgMjQ0LCAyMzUsIDI5LCAyMzIsIDE1NiwgMTUsIDUsIDI0NCwgMjM1LCAyOSwgMjE1LCAKLSAgICAxOTcsIDE1LCA1LCAyNDQsIDIzNSwgMjksIDIxNSwgMTg4LCAxNSwgNSwgMjQzLCAxMTAsIDE1LCA1LCAyNDMsIDExMSwgCi0gICAgMjQyLCA3NSwgMTUsIDUsIDI0MywgMTA4LCAxNSwgNSwgMjQzLCAxMDksIDI5LCAxMTgsIDk0LCAyNDgsIDE2NSwgOTQsIAotICAgIDE1OSwgMTUsIDUsIDI0MywgMTA5LCAyOSwgMTE4LCA5NCwgMTU5LCAxNSwgNSwgMjQzLCAxMDksIDI5LCAxMTgsIDk0LCAKLSAgICAyMzYsIDMwLCAxNSwgNSwgMjQzLCAxMDksIDI5LCAyNTQsIDE4NCwgMjE3LCAxOTMsIDk0LCAyMTgsIDQxLCAxNSwgNSwgCi0gICAgMjQzLCAxMDksIDI5LCAyNTQsIDMyLCAxNSwgNSwgMjQzLCAxMDksIDI5LCAyNTMsIDE0NiwgMTUsIDUsIDI0MywgMTA5LCAKLSAgICAyOSwgMjUzLCAxNDUsIDk0LCAyNDMsIDk0LCAxNSwgNSwgMjQzLCAxMDksIDI5LCAyNTIsIDk0LCAxNSwgNSwgMjQzLCAxMDksIAotICAgIDI5LCAyNTIsIDYwLCA5NCwgMjAzLCAxNSwgNSwgMjQzLCAxMDksIDI5LCAyNTEsIDI3LCAxNSwgNSwgMjQzLCAxMDksIDI5LCAKLSAgICAyNTEsIDI4LCA5NCwgMjAzLCAxNSwgNSwgMjQzLCAxMDksIDI5LCAyNDgsIDE2NCwgMTUsIDUsIDI0MywgMTA5LCAyOSwgCi0gICAgMjQ3LCAyMTEsIDE1LCA1LCAyNDMsIDEwOSwgMjksIDI0NywgMTcwLCAyOSwgMjIwLCAyNDMsIDE1LCA1LCAyNDMsIDEwOSwgCi0gICAgMjksIDI0NiwgMzEsIDE1LCA1LCAyNDMsIDEwOSwgMjksIDI0NSwgMTMxLCAxNSwgNSwgMjQzLCAxMDksIDI5LCAyNDUsIAotICAgIDEzMiwgOTQsIDIzMywgMTU3LCAxNSwgNSwgMjQzLCAxMDksIDI5LCAyNDUsIDEwOCwgMTUsIDUsIDI0MywgMTA5LCAyOSwgCi0gICAgMjQ1LCAxMDksIDI5LCAyNDMsIDgxLCAyMTcsIDE5MiwgMTUsIDUsIDI0MywgMTA5LCAyOSwgMjQzLCA4MSwgMjE3LCAxOTIsIAotICAgIDE1LCA1LCAyNDMsIDEwOSwgMjksIDI0MywgNzIsIDE1LCA1LCAyNDMsIDEwOSwgMjksIDI0MiwgMTkwLCAxNSwgNSwgMjQzLCAKLSAgICAxMDksIDI5LCAyNDIsIDE4OCwgMTUsIDUsIDI0MywgMTA5LCAyOSwgMjQyLCAxODksIDk0LCA2MSwgMTUsIDUsIDI0MywgCi0gICAgMTA5LCAyOSwgMjQyLCAxNzQsIDk0LCAyMTksIDI3LCAxNSwgNSwgMjQzLCAxMDksIDI5LCAyNDIsIDMwLCA5NCwgMjMyLCAKLSAgICAxNTcsIDk0LCAyNDUsIDM3LCAxNSwgNSwgMjQzLCAxMDksIDI5LCAyNDIsIDEyLCAxNSwgNSwgMjQzLCAxMDksIDI5LCAyNDIsIAotICAgIDEzLCA5NCwgMjMzLCAxNTcsIDE1LCA1LCAyNDMsIDEwOSwgMjksIDI0MSwgMTY2LCA5NCwgMjMzLCAxMywgMTUsIDUsIDI0MywgCi0gICAgMTA5LCAyOSwgMjQwLCAyMDgsIDE1LCA1LCAyNDMsIDEwOSwgMjksIDIzNiwgMzEsIDI0MiwgNzUsIDE1LCA1LCAyNDMsIAotICAgIDEwOSwgMjksIDIzNSwgMTY0LCA5NCwgMjQwLCAyMTMsIDk0LCAyNTMsIDE0NiwgMTUsIDUsIDI0MywgMTA5LCAyOSwgMjM0LCAKLSAgICAyNDcsIDE1LCA1LCAyNDMsIDEwOSwgMjksIDIzNCwgMjEyLCAxNSwgNSwgMjQzLCAxMDksIDI5LCAyMzQsIDk4LCAxNSwgNSwgCi0gICAgMjQzLCAxMDksIDI5LCAyMzQsIDk5LCA5NCwgMjMzLCAxMjgsIDE1LCA1LCAyNDMsIDEwOSwgMjksIDIzMywgMjM3LCA5NCwgCi0gICAgMjU0LCAzMiwgMTUsIDUsIDI0MywgMTA5LCAyOSwgMjMzLCAxNTcsIDE1LCA1LCAyNDMsIDEwOSwgMjksIDIzMSwgMTU3LCAKLSAgICA5NCwgMjQ1LCAxMDgsIDE1LCA1LCAyNDMsIDEwOSwgMjksIDIzMSwgNDIsIDE1LCA1LCAyNDMsIDEwOSwgMjksIDIyOCwgNTAsIAotICAgIDE1LCA1LCAyNDMsIDEwOSwgMjksIDIyOCwgNTEsIDExMCwgMjI4LCA1MCwgMTUsIDUsIDI0MywgMTA5LCAyOSwgMTkzLCAxNSwgCi0gICAgNSwgMjQzLCAxMDksIDI5LCAyMjIsIDE3OSwgMTUsIDUsIDI0MywgMTA5LCAyOSwgMjIyLCAxNDcsIDE1LCA1LCAyNDMsIAotICAgIDEwOSwgMjksIDIyMCwgMjQzLCAxNSwgNSwgMjQzLCAxMDksIDI5LCAyMjAsIDI0NCwgOTQsIDIxNiwgNjIsIDE1LCA1LCAKLSAgICAyNDMsIDEwOSwgMjksIDIyMCwgMjEwLCAxNSwgNSwgMjQzLCAxMDksIDI5LCAyMTgsIDI0NCwgMTUsIDUsIDI0MywgMTA5LCAKLSAgICAyOSwgMjE4LCAyMiwgMTUsIDUsIDI0MywgMTA5LCAyOSwgNjksIDE1LCA1LCAyNDMsIDEwOSwgMjksIDIxNSwgMTg4LCAxNSwgCi0gICAgNSwgMjQzLCAxMDksIDI5LCAyMTUsIDE4OSwgOTQsIDI0NiwgMzMsIDE1LCA1LCAyNDMsIDEwOSwgMTEwLCAyNDMsIDEwOCwgCi0gICAgMTUsIDUsIDI0MywgMTAzLCAxNSwgNSwgMjQzLCAxMDQsIDI0OSwgNjUsIDI0MywgMTAzLCAxNSwgNSwgMjQzLCAxMDEsIDE1LCAKLSAgICA1LCAyNDMsIDEwMiwgMTEwLCAyNDMsIDEwMiwgMjQzLCA3MywgMTEwLCAyNDMsIDcyLCAxNSwgNSwgMjQzLCA5NCwgMTUsIDUsIAotICAgIDI0MywgOTUsIDI0MywgMTAyLCAxMTAsIDI0MywgMTAyLCAyNDMsIDczLCAxMTAsIDI0MywgNzIsIDE1LCA1LCAyNDMsIDkzLCAKLSAgICAxNSwgNSwgMjQzLCA5MSwgMTUsIDUsIDI0MywgODIsIDE1LCA1LCAyNDMsIDgwLCAxNSwgNSwgMjQzLCA4MSwgMjE3LCAxOTIsIAotICAgIDE1LCA1LCAyNDMsIDgxLCAxMTAsIDI0MywgODAsIDE1LCA1LCAyNDMsIDgxLCAyNDksIDY1LCAyNDMsIDgwLCAxNSwgNSwgCi0gICAgMjQzLCA3MiwgMTUsIDUsIDI0MywgNzEsIDE1LCA1LCAyNDMsIDY2LCAxNSwgNSwgMjQzLCAxMiwgMTUsIDUsIDI0MywgMTMsIAotICAgIDI5LCAyMzMsIDIxNywgMTUsIDUsIDI0MiwgMTkwLCAxNSwgNSwgMjQyLCAxOTEsIDI5LCA3NCwgMTUsIDUsIDI0MiwgMTkxLCAKLSAgICAyOSwgNjksIDE1LCA1LCAyNDIsIDE5MSwgMjQ5LCA2NSwgMjQyLCAxOTAsIDE1LCA1LCAyNDIsIDE4OCwgMTUsIDUsIDI0MiwgCi0gICAgMTg5LCAxMTAsIDI0MiwgMTg4LCAxNSwgNSwgMjQyLCAxODksIDI0OSwgNjUsIDI0MiwgMTg4LCAxNSwgNSwgMjQyLCAxODUsIAotICAgIDE1LCA1LCAyNDIsIDE3MywgMTUsIDUsIDI0MiwgMTc0LCAyNDIsIDc1LCAxNSwgNSwgMjQyLCAxNzEsIDE1LCA1LCAyNDIsIAotICAgIDE3MiwgMjksIDExOCwgOTQsIDIzNiwgMzAsIDE1LCA1LCAyNDIsIDE3MiwgMjksIDI0MywgODEsIDIxNywgMTkyLCAxNSwgNSwgCi0gICAgMjQyLCAxNzIsIDI5LCAyMzYsIDMwLCAxNSwgNSwgMjQyLCAxNzIsIDI5LCAyMzIsIDE1NywgOTQsIDIzNiwgMzAsIDE1LCA1LCAKLSAgICAyNDIsIDE3MiwgMjksIDE5MywgMTUsIDUsIDI0MiwgMTY4LCAxNSwgNSwgMjQyLCAxNjYsIDE1LCA1LCAyNDIsIDE2NywgCi0gICAgMjQ5LCA2NSwgMjQyLCAxNjYsIDE1LCA1LCAyNDIsIDE2NywgMjksIDI1MiwgOTQsIDE1LCA1LCAyNDIsIDE2NywgMjksIAotICAgIDIxOCwgMjIsIDE1LCA1LCAyNDIsIDE2NywgMjE3LCAxOTIsIDE1LCA1LCAyNDIsIDkyLCAxNSwgNSwgMjQyLCA5MywgMjQ5LCAKLSAgICA2NSwgMjQyLCA5MiwgMTUsIDUsIDI0MiwgOTAsIDE1LCA1LCAyNDIsIDkxLCAyOSwgMjM0LCAyNDcsIDE1LCA1LCAyNDIsIAotICAgIDkxLCAyOSwgMjM0LCAyNDgsIDI5LCAyMzYsIDMxLCAyNDIsIDc1LCAxNSwgNSwgMjQyLCA5MSwgMjksIDIyOCwgNTAsIDE1LCAKLSAgICA1LCAyNDIsIDkxLCAyOSwgMjIyLCAxODAsIDk0LCAyMTYsIDc3LCAxNSwgNSwgMjQyLCA5MSwgMjQyLCA3NSwgMTUsIDUsIAotICAgIDI0MiwgODQsIDE1LCA1LCAyNDIsIDg1LCAyOSwgMTE4LCA5NCwgMjMzLCAyMTcsIDE1LCA1LCAyNDIsIDg1LCAyOSwgMjMzLCAKLSAgICAyMTcsIDE1LCA1LCAyNDIsIDg1LCAxMTAsIDI0MiwgODUsIDIzMiwgMTQ5LCAxNSwgNSwgMjQyLCA3OSwgMTUsIDUsIDI0MiwgCi0gICAgNzcsIDE1LCA1LCAyNDIsIDc4LCAyOSwgMjIwLCAyNDMsIDE1LCA1LCAyNDIsIDY5LCAxNSwgNSwgMjQyLCA2OCwgMTUsIDUsIAotICAgIDI0MiwgNjUsIDE1LCA1LCAyNDIsIDY0LCAxNSwgNSwgMTU5LCAxNSwgNSwgMjQyLCAzMCwgMjE3LCAxOTIsIDE1LCA1LCAKLSAgICAyNDIsIDMwLCAyNDIsIDc1LCAxNSwgNSwgMjQyLCAxMiwgMTUsIDUsIDI0MSwgMTY1LCAxNSwgNSwgMjQxLCAxNjYsIDI5LCAKLSAgICAyNTMsIDE0NiwgMTUsIDUsIDI0MSwgMTY2LCAyOSwgMjUzLCAxNDQsIDE1LCA1LCAyNDEsIDE2NiwgMjksIDI1MiwgOTQsIAotICAgIDE1LCA1LCAyNDEsIDE2NiwgMjksIDI0NywgMTM5LCAxNSwgNSwgMjQxLCAxNjYsIDI5LCAyNDMsIDEwMSwgMTUsIDUsIDI0MSwgCi0gICAgMTY2LCAyOSwgMjM0LCA5MCwgMTUsIDUsIDI0MSwgMTY2LCAyOSwgMjI4LCA1MCwgMTUsIDUsIDI0MSwgMTY2LCAyOSwgMjIwLCAKLSAgICAyNDMsIDE1LCA1LCAyNDEsIDE2NiwgMjksIDY5LCAxNSwgNSwgMjQwLCAyMTIsIDE1LCA1LCAyNDAsIDIwOCwgMTUsIDUsIAotICAgIDI0MCwgMjA5LCAyOSwgMjU0LCAzMiwgMTUsIDUsIDI0MCwgMjA5LCAyOSwgMjQyLCAxMiwgMTUsIDUsIDI0MCwgMjA5LCAyOSwgCi0gICAgMjM0LCAyMTIsIDE1LCA1LCAyNDAsIDIwOSwgMjksIDIzMiwgMjI2LCAxNSwgNSwgMjQwLCAyMDksIDI5LCAyMTUsIDE4OCwgCi0gICAgMTUsIDUsIDI0MCwgMjA1LCAxNSwgNSwgNzIsIDE1LCA1LCAyNDAsIDE0NiwgNjEsIDE1LCA1LCAyNDAsIDEwOCwgMTUsIDUsIAotICAgIDIzNiwgNTgsIDE1LCA1LCAyMzYsIDU5LCAxMTAsIDIzNiwgNTksIDI1MSwgMjcsIDE1LCA1LCAyMzYsIDU5LCAxMTAsIDIzNiwgCi0gICAgNTksIDIxOSwgMTY1LCAxNSwgNSwgMjM2LCAzMywgMTUsIDUsIDIzNiwgMzAsIDE1LCA1LCAyMzYsIDMxLCAyNDcsIDE5NCwgCi0gICAgMTUsIDUsIDIzNiwgMzEsIDIyMywgMTg4LCAxNSwgNSwgMjM2LCAzMSwgMTEwLCAyMzYsIDMxLCAyMjAsIDE5NCwgMTEwLCAKLSAgICAyMjAsIDE5NCwgMjE1LCAxODksIDExMCwgMjE1LCAxODgsIDE1LCA1LCAyMzYsIDMxLCAyNDIsIDc1LCAxNSwgNSwgMjM2LCAKLSAgICAyMiwgMTUsIDUsIDIzNiwgMjMsIDI5LCAyNDMsIDgxLCAyMTcsIDE5MiwgMTUsIDUsIDIzNiwgMjEsIDE1LCA1LCAyMzYsIAotICAgIDExLCAxNSwgNSwgMjM2LCAxMiwgMjksIDIxOCwgMjIsIDE1LCA1LCAyMzYsIDEyLCAyNDksIDY1LCAyMzYsIDExLCAxNSwgNSwgCi0gICAgMjM2LCAxMiwgMjI3LCAzMCwgMjM2LCAxMSwgMTUsIDUsIDIzNiwgMTIsIDIxOSwgMTY1LCAxNSwgNSwgMjM2LCA0LCAxNSwgCi0gICAgNSwgMjM1LCAyNTEsIDE1LCA1LCAyMzUsIDE3NywgMTUsIDUsIDIzNSwgMTYzLCAxNSwgNSwgMTgxLCAxNSwgNSwgMjM1LCAKLSAgICAxNywgMjksIDYxLCAxNSwgNSwgMjM1LCAxNywgMjksIDI1NCwgMTYwLCAxNSwgNSwgMjM1LCAxNywgMjksIDI1NCwgMTYxLCAKLSAgICA5NCwgMjMzLCAyMzYsIDE1LCA1LCAyMzUsIDE3LCAyOSwgMjUzLCAxNDQsIDE1LCA1LCAyMzUsIDE3LCAyOSwgMjUyLCA5NCwgCi0gICAgMTUsIDUsIDIzNSwgMTcsIDI5LCAyNTIsIDc5LCAxNSwgNSwgMjM1LCAxNywgMjksIDEzNCwgMTUsIDUsIDIzNSwgMTcsIDI5LCAKLSAgICAyNTEsIDE4NCwgMTUsIDUsIDIzNSwgMTcsIDI5LCAyNDUsIDUwLCAxNSwgNSwgMjM1LCAxNywgMjksIDI0NSwgMzcsIDE1LCAKLSAgICA1LCAyMzUsIDE3LCAyOSwgMjQzLCAxMTAsIDE1LCA1LCAyMzUsIDE3LCAyOSwgMjQzLCA5NCwgMTUsIDUsIDIzNSwgMTcsIAotICAgIDI5LCAyNDMsIDgxLCAyMTcsIDE5MiwgMTUsIDUsIDIzNSwgMTcsIDI5LCAyNDMsIDcyLCAxNSwgNSwgMjM1LCAxNywgMjksIAotICAgIDI0MywgNzMsIDk0LCAyMjEsIDIzLCA5NCwgNjEsIDE1LCA1LCAyMzUsIDE3LCAyOSwgMjQyLCAxOTAsIDE1LCA1LCAyMzUsIAotICAgIDE3LCAyOSwgMjQyLCAxNzMsIDE1LCA1LCAyMzUsIDE3LCAyOSwgMjQyLCAxNjcsIDk0LCAyMjIsIDE0NywgMTUsIDUsIDIzNSwgCi0gICAgMTcsIDI5LCAyNDIsIDE2NywgMjQ5LCA2NSwgMjQyLCAxNjYsIDE1LCA1LCAyMzUsIDE3LCAyOSwgMjQyLCA5MiwgMTUsIDUsIAotICAgIDIzNSwgMTcsIDI5LCAyNDIsIDY4LCAxNSwgNSwgMjM1LCAxNywgMjksIDIzNiwgMzAsIDE1LCA1LCAyMzUsIDE3LCAyOSwgCi0gICAgMjM2LCAxMSwgMTUsIDUsIDIzNSwgMTcsIDI5LCAyMzQsIDI0NywgMTUsIDUsIDIzNSwgMTcsIDI5LCAyMzQsIDEwMSwgMTUsIAotICAgIDUsIDIzNSwgMTcsIDI5LCAyMzQsIDk4LCAxNSwgNSwgMjM1LCAxNywgMjksIDIzMywgMTMsIDE1LCA1LCAyMzUsIDE3LCAyOSwgCi0gICAgMjMyLCAxNTYsIDE1LCA1LCAyMzUsIDE3LCAyOSwgMjMxLCAxNTYsIDE1LCA1LCAyMzUsIDE3LCAyOSwgMjMxLCAxNTcsIDk0LCAKLSAgICAyNDYsIDMzLCAxNSwgNSwgMjM1LCAxNywgMjksIDIzMSwgMTU3LCA5NCwgMjQyLCAxOTAsIDE1LCA1LCAyMzUsIDE3LCAyOSwgCi0gICAgMjMxLCAxNTcsIDk0LCAyMTcsIDIyOSwgMTUsIDUsIDIzNSwgMTcsIDI5LCAyMzEsIDQyLCAxNSwgNSwgMjM1LCAxNywgMjksIAotICAgIDIzMSwgNDMsIDk0LCAyMjgsIDQ1LCAxNSwgNSwgMjM1LCAxNywgMjksIDIyOSwgMTg3LCAxNSwgNSwgMjM1LCAxNywgMjksIAotICAgIDIyOCwgNTAsIDE1LCA1LCAyMzUsIDE3LCAyOSwgMjI1LCAyNDAsIDE1LCA1LCAyMzUsIDE3LCAyOSwgMjIzLCA1MSwgMTUsIAotICAgIDUsIDIzNSwgMTcsIDI5LCAyMjIsIDIwMiwgMTUsIDUsIDIzNSwgMTcsIDI5LCAyMjIsIDE0NywgMTUsIDUsIDIzNSwgMTcsIAotICAgIDI5LCAyMjEsIDI0LCAxNSwgNSwgMjM1LCAxNywgMjksIDIyMCwgMjQzLCAxNSwgNSwgMjM1LCAxNywgMjksIDIyMCwgMjEwLCAKLSAgICAxNSwgNSwgMjM1LCAxNywgMjksIDIyMCwgMTUwLCAxNSwgNSwgMjM1LCAxNywgMjksIDIyMCwgMTA4LCAxNSwgNSwgMjM1LCAKLSAgICAxNywgMjksIDIxOCwgMjUyLCAxNSwgNSwgMjM1LCAxNywgMjksIDIxOCwgMSwgMTUsIDUsIDIzNSwgMTcsIDI5LCA2OSwgMTUsIAotICAgIDUsIDIzNSwgMTcsIDI5LCAyMTUsIDE5NywgMTUsIDUsIDIzNSwgMTcsIDI5LCAyMTUsIDE4OCwgMTUsIDUsIDIzNSwgMTcsIAotICAgIDI5LCAyMTUsIDE2MywgMjksIDE5MywgMTUsIDUsIDIzNSwgMTcsIDI5LCAyMTUsIDEwMCwgMTUsIDUsIDIzNSwgMTcsIDI5LCAKLSAgICAyMTIsIDM3LCAxNSwgNSwgMjM1LCAxNSwgMTUsIDUsIDIzNSwgMTYsIDI0OSwgNjUsIDIzNSwgMTUsIDE1LCA1LCAyMzUsIDgsIAotICAgIDE1LCA1LCAyMzUsIDUsIDE1LCA1LCAyMzUsIDMsIDE1LCA1LCAyMzUsIDIsIDE1LCA1LCAyMzUsIDAsIDE1LCA1LCAyMzUsIAotICAgIDEsIDExMCwgMjM1LCAwLCAxNSwgNSwgMjM0LCAyNDcsIDE1LCA1LCAyMzQsIDI0OCwgMjksIDIzNiwgMzEsIDI0MiwgNzUsIAotICAgIDE1LCA1LCAyMzQsIDI0MywgMTUsIDUsIDIzNCwgMjQ0LCAyOSwgMjUyLCA5NCwgMTUsIDUsIDIzNCwgMjQ0LCAyNDksIDY1LCAKLSAgICAyMzQsIDI0MywgMTUsIDUsIDIzNCwgMjQxLCAxNSwgNSwgMjM0LCAyNDAsIDE1LCA1LCAyMzQsIDIxMiwgMTUsIDUsIDIzNCwgCi0gICAgMjEzLCAyMzMsIDE0MSwgMjksIDExMSwgMTEwLCAyMzMsIDE0MSwgMjksIDY5LCAxNSwgNSwgMjM0LCAyMTMsIDExMCwgMjM0LCAKLSAgICAyMTMsIDIzMywgMTQxLCAyOSwgMTExLCAxMTAsIDIzMywgMTQxLCAyOSwgNjksIDE1LCA1LCAyMzQsIDE2MywgMTUsIDUsIAotICAgIDIzNCwgMTAxLCAxNSwgNSwgMjM0LCAxMDIsIDI5LCAyNTIsIDk0LCAxNSwgNSwgMjM0LCAxMDIsIDI5LCA2OSwgMTUsIDUsIAotICAgIDIzNCwgMTAyLCAyOSwgMjE1LCAxODgsIDE1LCA1LCAyMzQsIDk4LCAxNSwgNSwgMjM0LCA5MCwgMTUsIDUsIDIzNCwgNzcsIAotICAgIDE1LCA1LCAyMzQsIDc2LCAxNSwgNSwgMjM0LCA3NCwgMTUsIDUsIDIzNCwgNzUsIDExMCwgMjM0LCA3NCwgMTUsIDUsIDIzMywgCi0gICAgMjM4LCAxNSwgNSwgMjMzLCAyMzksIDExMCwgMjQxLCAxNjYsIDI5LCAyNTMsIDE0NSwgMjMzLCAyMzksIDExMCwgMjQxLCAKLSAgICAxNjYsIDI5LCAyNTMsIDE0NCwgMTUsIDUsIDIzMywgMjM2LCAxNSwgNSwgMjMzLCAyMzQsIDE1LCA1LCAyMzMsIDIzNSwgCi0gICAgMjE0LCAyNDQsIDE3LCAxNSwgNSwgMjMzLCAyMzMsIDE1LCA1LCAyMzMsIDIzMCwgMTUsIDUsIDIzMywgMjMxLCAyNDIsIDc1LCAKLSAgICAxNSwgNSwgMjMzLCAyMjksIDE1LCA1LCAyMzMsIDIxNywgMTUsIDUsIDIzMywgMjE4LCAyMjcsIDMwLCAyMzMsIDIxNywgMTUsIAotICAgIDUsIDIzMywgMjEyLCAxNSwgNSwgMjMzLCAxOTQsIDE1LCA1LCAyMzMsIDE1NywgMTUsIDUsIDIzMywgMTQwLCAxNSwgNSwgCi0gICAgMjMzLCAxNDEsIDI5LCA2MSwgMTUsIDUsIDIzMywgMTQxLCAyOSwgMTE4LCA5NCwgMjQ4LCAxNjUsIDk0LCAxNTksIDE1LCA1LCAKLSAgICAyMzMsIDE0MSwgMjksIDExOCwgOTQsIDI0MywgNzIsIDE1LCA1LCAyMzMsIDE0MSwgMjksIDExOCwgOTQsIDIzMywgMTI4LCAKLSAgICAxNSwgNSwgMjMzLCAxNDEsIDI5LCAyNTQsIDg2LCAxNSwgNSwgMjMzLCAxNDEsIDI5LCAyNTQsIDMyLCAxNSwgNSwgMjMzLCAKLSAgICAxNDEsIDI5LCAyNTMsIDE0NywgMjEyLCAzMywgMjE3LCAxOTIsIDE1LCA1LCAyMzMsIDE0MSwgMjksIDI1MiwgOTQsIDE1LCAKLSAgICA1LCAyMzMsIDE0MSwgMjksIDI1MSwgMTg0LCAxNSwgNSwgMjMzLCAxNDEsIDI5LCAyNDgsIDExMSwgMTUsIDUsIDIzMywgCi0gICAgMTQxLCAyOSwgMjQ1LCAxMDgsIDE1LCA1LCAyMzMsIDE0MSwgMjksIDI0MywgMTEwLCAxNSwgNSwgMjMzLCAxNDEsIDI5LCAKLSAgICAyNDMsIDcyLCAxNSwgNSwgMjMzLCAxNDEsIDI5LCAyNDIsIDg0LCAxNSwgNSwgMjMzLCAxNDEsIDI5LCAyNDIsIDg1LCA5NCwgCi0gICAgMjQyLCA4NCwgMTUsIDUsIDIzMywgMTQxLCAyOSwgMTU5LCAxNSwgNSwgMjMzLCAxNDEsIDI5LCAyNDIsIDEyLCAxNSwgNSwgCi0gICAgMjMzLCAxNDEsIDI5LCAyNDEsIDE2NiwgMjksIDIyOCwgNTAsIDE1LCA1LCAyMzMsIDE0MSwgMjksIDIzNiwgMzEsIDI0MiwgCi0gICAgNzUsIDE1LCA1LCAyMzMsIDE0MSwgMjksIDIzNiwgMTEsIDE1LCA1LCAyMzMsIDE0MSwgMjksIDIzNiwgMTIsIDk0LCAxNTksIAotICAgIDE1LCA1LCAyMzMsIDE0MSwgMjksIDIzNiwgMTIsIDk0LCAyMzIsIDE1NiwgMTUsIDUsIDIzMywgMTQxLCAyOSwgMjM0LCAKLSAgICAxMDEsIDE1LCA1LCAyMzMsIDE0MSwgMjksIDIzNCwgOTAsIDE1LCA1LCAyMzMsIDE0MSwgMjksIDIzMywgMjM2LCAxNSwgNSwgCi0gICAgMjMzLCAxNDEsIDI5LCAyMzMsIDIzMCwgMTUsIDUsIDIzMywgMTQxLCAyOSwgMjMzLCAyMzEsIDk0LCAyNDEsIDE2NiwgOTQsIAotICAgIDYxLCAxNSwgNSwgMjMzLCAxNDEsIDI5LCAyMzMsIDE0MCwgMTUsIDUsIDIzMywgMTQxLCAyOSwgMjMyLCAyMjYsIDE1LCA1LCAKLSAgICAyMzMsIDE0MSwgMjksIDIzMiwgMTU2LCAxNSwgNSwgMjMzLCAxNDEsIDI5LCAyMzIsIDE0NCwgMTUsIDUsIDIzMywgMTQxLCAKLSAgICAyOSwgMjMxLCAxNTYsIDE1LCA1LCAyMzMsIDE0MSwgMjksIDIzMSwgMTU3LCA5NCwgMjQ1LCAxMDgsIDE1LCA1LCAyMzMsIAotICAgIDE0MSwgMjksIDIzMCwgMTMxLCAxNSwgNSwgMjMzLCAxNDEsIDI5LCAyMjksIDE4NywgMTUsIDUsIDIzMywgMTQxLCAyOSwgCi0gICAgMjIwLCAyNDQsIDk0LCAyMTgsIDI0NCwgMTUsIDUsIDIzMywgMTQxLCAyOSwgMjIwLCAxOTAsIDk0LCAyNDIsIDE2NywgOTQsIAotICAgIDI0NSwgNTAsIDE1LCA1LCAyMzMsIDE0MSwgMjksIDIyMCwgMTkwLCA5NCwgMjQyLCAxNjcsIDIxNywgMTkyLCAxNSwgNSwgCi0gICAgMjMzLCAxNDEsIDI5LCAyMjAsIDE0OCwgMTUsIDUsIDIzMywgMTQxLCAyOSwgMjIwLCAxNDksIDk0LCAyMjAsIDE0OCwgMTUsIAotICAgIDUsIDIzMywgMTQxLCAyOSwgMjE4LCAyNDQsIDE1LCA1LCAyMzMsIDE0MSwgMjksIDIxOCwgMzMsIDE1LCA1LCAyMzMsIDE0MSwgCi0gICAgMjksIDIxOCwgMjIsIDE1LCA1LCAyMzMsIDE0MSwgMjksIDIxNywgMjMwLCA5NCwgMTE4LCA5NCwgMjE5LCAyOCwgOTQsIAotICAgIDIwNSwgMTUsIDUsIDIzMywgMTQxLCAyOSwgNjksIDE1LCA1LCAyMzMsIDE0MSwgMjksIDExMSwgOTQsIDYxLCAxNSwgNSwgCi0gICAgMjMzLCAxNDEsIDI5LCAxMTEsIDk0LCAxMTEsIDk0LCA2OSwgMTUsIDUsIDIzMywgMTQxLCAyOSwgMjE1LCAxOTgsIDk0LCAKLSAgICAyNTMsIDE0NiwgMTUsIDUsIDIzMywgMTQxLCAyOSwgMjE1LCAxODgsIDE1LCA1LCAyMzMsIDE0MSwgMjksIDIxNSwgMTAwLCAKLSAgICAxNSwgNSwgMjMzLCAxNDEsIDIxOSwgMTY1LCAxNSwgNSwgMjMzLCAxMzgsIDE1LCA1LCAyMzMsIDEzOSwgMjksIDIyMCwgCi0gICAgMjQzLCAxNSwgNSwgMjMzLCAxMzksIDI5LCAyMjAsIDI0NCwgOTQsIDIxOCwgMjQ0LCAxNSwgNSwgMjMzLCAxMzksIDI0MiwgCi0gICAgNzUsIDE1LCA1LCAyMzMsIDEzOSwgMjQyLCA3NiwgMTEwLCAyMzMsIDEzOSwgMjQyLCA3NiwgMjIwLCAyNDMsIDE1LCA1LCAKLSAgICAyMzMsIDEzNSwgMTUsIDUsIDIzMywgMTI4LCAxNSwgNSwgMjMzLCAxMjksIDI5LCAyMzMsIDEyOCwgMTUsIDUsIDIzMywgCi0gICAgMTI2LCAxNSwgNSwgMjMzLCAxMjcsIDI5LCAyMzMsIDIxNywgMTUsIDUsIDIzMywgMTI3LCAyOSwgMjMzLCAyMTgsIDk0LCAKLSAgICAyMjMsIDUxLCAxNSwgNSwgMjMzLCAxMywgMTUsIDUsIDIzMiwgMjU0LCAxNSwgNSwgMjMyLCAyNDUsIDE1LCA1LCAyMzIsIAotICAgIDIyNiwgMTUsIDUsIDIzMiwgMTU2LCAxNSwgNSwgMjMyLCAxNTcsIDI5LCAyNTIsIDk0LCAxNSwgNSwgMjMyLCAxNTQsIDE1LCAKLSAgICA1LCAyMzIsIDE1NSwgMjksIDI1NCwgODYsIDE1LCA1LCAyMzIsIDE1NSwgMjksIDI1MiwgOTQsIDE1LCA1LCAyMzIsIDE1NSwgCi0gICAgMjksIDI0NSwgMzcsIDE1LCA1LCAyMzIsIDE1NSwgMjksIDI0NSwgMzgsIDIxNywgMTkyLCAxNSwgNSwgMjMyLCAxNTUsIDI5LCAKLSAgICAyNDMsIDgxLCAyMTcsIDE5MiwgMTUsIDUsIDIzMiwgMTU1LCAyOSwgMjQxLCAxNjYsIDI5LCAyNTIsIDk0LCAxNSwgNSwgCi0gICAgMjMyLCAxNTUsIDI5LCAyMzYsIDExLCAxNSwgNSwgMjMyLCAxNTUsIDI5LCAyMzUsIDUsIDE1LCA1LCAyMzIsIDE1NSwgMjksIAotICAgIDIzNSwgMywgMTUsIDUsIDIzMiwgMTU1LCAyOSwgMjM1LCA0LCA5NCwgMjUzLCAxNDYsIDE1LCA1LCAyMzIsIDE1NSwgMjksIAotICAgIDIzNCwgMTAxLCAxNSwgNSwgMjMyLCAxNTUsIDI5LCAyMzMsIDE1OCwgOTQsIDI1MywgMTQ2LCAxNSwgNSwgMjMyLCAxNTUsIAotICAgIDI5LCAyMzMsIDE0MCwgMTUsIDUsIDIzMiwgMTU1LCAyOSwgMjMxLCAxNTcsIDk0LCAyNDUsIDEwOCwgMTUsIDUsIDIzMiwgCi0gICAgMTU1LCAyOSwgMjI5LCAxODcsIDE1LCA1LCAyMzIsIDE1NSwgMjksIDIyOCwgOTIsIDE1LCA1LCAyMzIsIDE1NSwgMjksIAotICAgIDIyMCwgMTE4LCA5NCwgMjUzLCAxNDYsIDE1LCA1LCAyMzIsIDE1NSwgMjksIDIyMCwgMTAwLCA5NCwgMjUxLCA1NCwgMTUsIAotICAgIDUsIDIzMiwgMTU1LCAyOSwgMjE2LCA3NywgMTUsIDUsIDIzMiwgMTU1LCAyMTcsIDE5MiwgMTUsIDUsIDIzMiwgMTU1LCAKLSAgICAyNDksIDY1LCAyMzIsIDE1NCwgMTUsIDUsIDIzMiwgMTU1LCAyMjcsIDMwLCAyMzIsIDE1NCwgMTUsIDUsIDIzMiwgMTU1LCAKLSAgICAyMTksIDE2NSwgMTUsIDUsIDIzMiwgMTU1LCAyMjAsIDIyNSwgMTUsIDUsIDIzMiwgMTUzLCAxNSwgNSwgMjMyLCAxNDksIAotICAgIDE1LCA1LCAyMzIsIDE1MCwgMTEwLCAyMzIsIDE0OSwgMTUsIDUsIDIzMiwgMTUwLCAyMjcsIDMwLCAyMzIsIDE0OSwgMTUsIAotICAgIDUsIDIzMiwgMTUwLCAyMjAsIDIyNSwgMTUsIDUsIDIzMiwgMTQ3LCAxNSwgNSwgMjMyLCAxNDQsIDE1LCA1LCAyMzIsIDE0MiwgCi0gICAgMTUsIDUsIDIzMiwgMTQzLCAxMTAsIDIzMiwgMTQyLCAxNSwgNSwgMjMyLCAxNDMsIDExMCwgMjMyLCAxNDMsIDI0MywgNzMsIAotICAgIDExMCwgMjQzLCA3MiwgMTUsIDUsIDE4OCwgMTUsIDUsIDIzMiwgNDMsIDI5LCAyMTgsIDIyLCAxNSwgNSwgMjMyLCA0MywgCi0gICAgMjQyLCA3NSwgMTUsIDUsIDIzMiwgNDIsIDE1LCA1LCAyMzIsIDE1LCAxNSwgNSwgMjMxLCAyMjksIDE1LCA1LCAyMzEsIAotICAgIDIxMCwgMTUsIDUsIDIzMSwgMjA5LCAxNSwgNSwgMjMxLCAxNTYsIDE1LCA1LCAyMzEsIDExMiwgMTUsIDUsIDIzMSwgNDIsIAotICAgIDE1LCA1LCAyMzEsIDEsIDE1LCA1LCAyMzAsIDE3MiwgMTUsIDUsIDIzMCwgMTczLCAxMTAsIDIzMCwgMTcyLCAxNSwgNSwgCi0gICAgMjMwLCAxNjMsIDE1LCA1LCAyMzAsIDE2NCwgMjQyLCA3NSwgMTUsIDUsIDIzMCwgMTQ4LCAxNSwgNSwgMjMwLCAxMzQsIDE1LCAKLSAgICA1LCAyMzAsIDEzMSwgMTUsIDUsIDIzMCwgMTMyLCAyOSwgNjEsIDE1LCA1LCAyMzAsIDEzMiwgMjksIDIzMywgMjE3LCAxNSwgCi0gICAgNSwgMjMwLCAxMzIsIDI5LCAyMTIsIDEwOSwgMTUsIDUsIDIzMCwgMTMyLCAxMTAsIDIzMCwgMTMxLCAxNSwgNSwgMjMwLCAKLSAgICAxMzIsIDExMCwgMjMwLCAxMzIsIDI5LCAxMTgsIDk0LCAyMDUsIDE1LCA1LCAyMzAsIDEzMiwgMjQ5LCA2NSwgMjMwLCAxMzEsIAotICAgIDE1LCA1LCAyMzAsIDEyOSwgMTUsIDUsIDIzMCwgMTMwLCAyOSwgNjEsIDE1LCA1LCAyMzAsIDEzMCwgMjksIDExOCwgOTQsIAotICAgIDI0NywgMjExLCAxNSwgNSwgMjMwLCAxMzAsIDI5LCAyNDcsIDIxMSwgMTUsIDUsIDIzMCwgMTMwLCAyNDIsIDc1LCAxNSwgNSwgCi0gICAgMjA1LCAxNSwgNSwgMjMwLCA0NSwgMTUsIDUsIDIzMCwgMzQsIDE1LCA1LCAyMzAsIDM1LCAyMzUsIDE5MCwgMTUsIDUsIAotICAgIDIzMCwgMzUsIDI5LCAyMjAsIDE1MSwgMjE3LCAxOTIsIDE1LCA1LCAyMzAsIDM1LCAyMjcsIDMwLCAyMzAsIDM0LCAxNSwgNSwgCi0gICAgMjMwLCAzMywgMTUsIDUsIDIzMCwgMjgsIDIyOCwgMzYsIDE1LCA1LCAyMzAsIDI3LCAxNSwgNSwgMjMwLCAyNiwgMTUsIDUsIAotICAgIDIyOSwgMTg3LCAxNSwgNSwgMjI5LCAxODgsIDI5LCA2MSwgMTUsIDUsIDIyOSwgMTg4LCAyOSwgMjE1LCAxODgsIDE1LCA1LCAKLSAgICAyMjksIDE4OCwgMjIwLCAyMjUsIDE1LCA1LCAyMjksIDY0LCAxNSwgNSwgMjI5LCA2NSwgMjksIDc0LCAxNSwgNSwgMjI5LCAKLSAgICA2MywgMTUsIDUsIDIyOSwgMzQsIDE1LCA1LCAyMjksIDM1LCAyOSwgMjQzLCA4MSwgMjE3LCAxOTIsIDE1LCA1LCAyMjksIAotICAgIDM1LCAyOSwgMjQzLCA3MywgOTQsIDI0MywgODEsIDIxNywgMTkyLCAxNSwgNSwgMjI5LCAzMiwgMTUsIDUsIDIyOSwgMzMsIAotICAgIDI5LCAyNTQsIDMyLCAxNSwgNSwgMjI5LCAzMywgMjksIDI1MywgMTQ2LCAxNSwgNSwgMjI5LCAzMywgMjksIDI1MywgMTQ3LCAKLSAgICA5NCwgMjUzLCAxNDYsIDE1LCA1LCAyMjksIDMzLCAyOSwgMjQyLCA4NCwgMTUsIDUsIDIyOSwgMzMsIDI5LCAyMzEsIDE1NywgCi0gICAgOTQsIDI0MywgODEsIDIxNywgMTkyLCAxNSwgNSwgMjI5LCAzMywgMjksIDIyOSwgMTg3LCAxNSwgNSwgMjI5LCAzMywgMjksIAotICAgIDIyOCwgNTAsIDE1LCA1LCAyMjksIDMzLCAyOSwgMjIwLCAyNDMsIDE1LCA1LCAyMjksIDMzLCAyOSwgMjIwLCAyNDQsIDk0LCAKLSAgICAxMTgsIDI1NCwgMzIsIDE1LCA1LCAyMjksIDMzLCAyOSwgMjIwLCAyNDQsIDk0LCAyNTMsIDE0NiwgMTUsIDUsIDIyOSwgMzMsIAotICAgIDI5LCAyMjAsIDI0NCwgOTQsIDI1MywgMTQ3LCA5NCwgMjUzLCAxNDYsIDE1LCA1LCAyMjksIDMzLCAyOSwgMjE1LCAxOTgsIAotICAgIDk0LCAyNTMsIDE0NiwgMTUsIDUsIDIyOSwgMzMsIDI5LCAyMTUsIDEwMCwgMTUsIDUsIDIyOSwgMjEsIDE1LCA1LCAyMjgsIAotICAgIDkyLCAxNSwgNSwgMjI4LCA2NSwgMTUsIDUsIDIyOCwgNTAsIDE1LCA1LCAyMjgsIDUxLCAyMzMsIDEzOSwgMjksIDI0MywgCi0gICAgNzIsIDE1LCA1LCAyMjgsIDUxLCAyMzMsIDEzOSwgMjksIDIzMSwgMjEwLCAxNSwgNSwgMjI4LCA1MSwgMjMzLCAxMzksIDI5LCAKLSAgICAyMjIsIDE3OSwgMTUsIDUsIDIyOCwgNTEsIDIzMywgMTM5LCAyOSwgMjIyLCAxODAsIDExMCwgMjI4LCA1MSwgMjMzLCAxMzksIAotICAgIDI5LCAyMjIsIDE3OSwgMTUsIDUsIDIyOCwgNTEsIDIzMywgMTM5LCAyOSwgMjE1LCAxMDAsIDE1LCA1LCAyMjgsIDUxLCAKLSAgICAyMTcsIDE5MiwgMTUsIDUsIDIyOCwgNTEsIDExMCwgMjI4LCA1MCwgMTUsIDUsIDIyOCwgNTEsIDI0OSwgNjUsIDIyOCwgNTAsIAotICAgIDE1LCA1LCAyMjgsIDUxLCAyNDksIDY1LCAyMjgsIDUxLCAyMzMsIDEzOSwgMTEwLCAyMzMsIDEzOCwgMTUsIDUsIDIyOCwgCi0gICAgNDUsIDE1LCA1LCAyMjgsIDQ2LCAyNTQsIDE4NCwgMjksIDI1MywgMTQxLCAxNSwgNSwgMjI4LCA0NiwgMjU0LCAxODQsIDI5LCAKLSAgICAyNTEsIDE4NCwgMTUsIDUsIDIyOCwgNDYsIDI1NCwgMTg0LCAyOSwgMjQ2LCAyOSwgMTUsIDUsIDIyOCwgNDYsIDI1NCwgCi0gICAgMTg0LCAyOSwgMjQyLCA4NCwgMTUsIDUsIDIyOCwgNDYsIDI1NCwgMTg0LCAyOSwgMjM2LCAzMSwgMjQyLCA3NSwgMTUsIDUsIAotICAgIDIyOCwgNDYsIDI1NCwgMTg0LCAyOSwgMjM1LCAzLCAxNSwgNSwgMjI4LCA0NiwgMjU0LCAxODQsIDI5LCAyMzMsIDE1NywgCi0gICAgMTUsIDUsIDIyOCwgNDYsIDI1NCwgMTg0LCAyOSwgMjI5LCAxODcsIDE1LCA1LCAyMjgsIDQ2LCAyNTQsIDE4NCwgMjksIAotICAgIDIyMCwgOTcsIDE1LCA1LCAyMjgsIDQ2LCAyNTQsIDE4NCwgMjksIDIxNSwgMTk3LCAxNSwgNSwgMjI4LCA0NiwgMjM0LCA3NSwgCi0gICAgMjksIDI1MSwgMTg0LCAxNSwgNSwgMjI4LCA0NiwgMjM0LCA3NSwgMjksIDI1MSwgMTg1LCA2OSwgMTUsIDUsIDE5MywgMTUsIAotICAgIDUsIDIyNiwgMjA0LCAxNSwgNSwgMjI2LCAxNzQsIDE1LCA1LCAyMjYsIDE0OSwgMTUsIDUsIDIyNiwgMzcsIDE1LCA1LCAKLSAgICAyMjUsIDI0MCwgMTUsIDUsIDIyNSwgMjQxLCAyOSwgNjEsIDE1LCA1LCAyMjUsIDI0MSwgMjksIDI1NCwgMTg1LCAxNSwgNSwgCi0gICAgMjI1LCAyNDEsIDI5LCAyNTEsIDE4NCwgMTUsIDUsIDIyNSwgMjQxLCAyOSwgMjUxLCA1NCwgMTUsIDUsIDIyNSwgMjQxLCAKLSAgICAyOSwgNzQsIDE1LCA1LCAyMjUsIDI0MSwgMjksIDcyLCAxNSwgNSwgMjI1LCAyNDEsIDI5LCAyNDAsIDEwOCwgMTUsIDUsIAotICAgIDIyNSwgMjQxLCAyOSwgNjksIDE1LCA1LCAyMjUsIDI0MSwgMjksIDIxNSwgMTk3LCAxNSwgNSwgMjI1LCAyNDEsIDI0OSwgCi0gICAgNjUsIDIyNSwgMjQwLCAxNSwgNSwgMjI1LCAxODUsIDE1LCA1LCAyMjUsIDE4NiwgMjksIDIzNCwgMjQzLCAxNSwgNSwgMjI1LCAKLSAgICAxODYsIDI5LCAyMTUsIDE4OCwgMTUsIDUsIDIyNSwgMTg2LCAyOSwgMjEyLCAxMDksIDE1LCA1LCAyMjUsIDE4NiwgMjI3LCAKLSAgICAzMCwgMjI1LCAxODUsIDE1LCA1LCAyMDMsIDE1LCA1LCAyMjQsIDcyLCAxNSwgNSwgMjIzLCAxODgsIDE1LCA1LCAyMjMsIAotICAgIDUxLCAxNSwgNSwgMjIyLCAyMDIsIDE1LCA1LCAyMjIsIDE5MSwgMjI4LCAzNiwgMTUsIDUsIDIyMiwgMTkwLCAxNSwgNSwgCi0gICAgMjIyLCAxOTEsIDI5LCA2MSwgMTUsIDUsIDIyMiwgMTkxLCAyOSwgMjQ2LCAzMywgMTUsIDUsIDIyMiwgMTkxLCAyOSwgMjQ2LCAKLSAgICAzMSwgMTUsIDUsIDIyMiwgMTkxLCAyOSwgMTU5LCAxNSwgNSwgMjIyLCAxOTEsIDI5LCAyMzQsIDI0NywgMTUsIDUsIDIyMiwgCi0gICAgMTkxLCAyOSwgMjMzLCAyMTcsIDE1LCA1LCAyMjIsIDE5MSwgMjksIDIzMiwgMTQyLCAxNSwgNSwgMjIyLCAxOTEsIDI5LCAKLSAgICAyMzEsIDQyLCAxNSwgNSwgMjIyLCAxOTEsIDI5LCAyMjgsIDUwLCAxNSwgNSwgMjIyLCAxOTEsIDI5LCAyMjIsIDE3OSwgMTUsIAotICAgIDUsIDIyMiwgMTkxLCAyOSwgMjIwLCAyMTAsIDE1LCA1LCAyMjIsIDE5MSwgMjksIDIxOCwgNDEsIDE1LCA1LCAyMjIsIDE5MSwgCi0gICAgMjksIDIxNSwgMTk3LCAxNSwgNSwgMjIyLCAxOTEsIDI5LCAyMTUsIDE5NCwgMTUsIDUsIDIyMiwgMTkxLCAyOSwgMjE1LCAKLSAgICAxNjcsIDE1LCA1LCAyMjIsIDE5MSwgMjksIDIxNSwgMTIxLCAxNSwgNSwgMjIyLCAxOTEsIDI5LCAyMTUsIDEwMCwgMTUsIDUsIAotICAgIDIyMiwgMTkxLCAxMTAsIDIyMiwgMTkwLCAxNSwgNSwgMjIyLCAxOTEsIDI0MiwgNzUsIDE1LCA1LCAyMjIsIDE3OSwgMTUsIAotICAgIDUsIDIyMiwgMTgwLCAyMzMsIDE0MSwgMjksIDI1MywgMTQ0LCAxNSwgNSwgMjIyLCAxNTUsIDE1LCA1LCAyMjIsIDE0NywgCi0gICAgMTUsIDUsIDIyMSwgMjQsIDE1LCA1LCAyMjEsIDIyLCAxNSwgNSwgMjIxLCAyMywgMjksIDYxLCAxNSwgNSwgMjIxLCAyMywgCi0gICAgMjksIDI1MiwgOTQsIDE1LCA1LCAyMjEsIDIzLCAyOSwgMjQyLCAxNjYsIDE1LCA1LCAyMjEsIDIzLCAyOSwgMjI5LCAxODcsIAotICAgIDE1LCA1LCAyMjEsIDIzLCAyOSwgMjIwLCAxNDgsIDE1LCA1LCAyMjEsIDIzLCAyOSwgMjE2LCA2MiwgMTUsIDUsIDIyMSwgCi0gICAgMjMsIDI5LCA2OSwgMTUsIDUsIDIyMSwgMjMsIDI5LCAxMTEsIDk0LCA2MSwgMTUsIDUsIDIyMSwgMjEsIDE1LCA1LCAyMjEsIAotICAgIDE5LCAxNSwgNSwgMjIxLCAxLCAxNSwgNSwgMjIwLCAyNDMsIDE1LCA1LCAyMjAsIDI0NCwgMjQwLCAyMTIsIDE1LCA1LCAKLSAgICAyMjAsIDI0NCwgMTEwLCAyMjAsIDI0NCwgMjQzLCAxMDIsIDExMCwgMjQzLCAxMDIsIDI0MywgNzMsIDExMCwgMjQzLCA3MiwgCi0gICAgMTUsIDUsIDIyMCwgMjQ0LCAxMTAsIDIyMCwgMjQ0LCAyMTgsIDQyLCAxMTAsIDIxOCwgNDIsIDI0MywgNzMsIDExMCwgMjQzLCAKLSAgICA3MiwgMTUsIDUsIDIyMCwgMjM2LCAxNSwgNSwgMjIwLCAyMzEsIDE1LCA1LCAyMjAsIDIyOCwgMTUsIDUsIDIyMCwgMjI3LCAKLSAgICAxNSwgNSwgMjIwLCAyMjQsIDE1LCA1LCAyMjAsIDIxMCwgMTUsIDUsIDIyMCwgMjExLCAyOSwgNjEsIDE1LCA1LCAyMjAsIAotICAgIDIxMSwgMjksIDIzNiwgMTEsIDE1LCA1LCAyMjAsIDIwNCwgMTUsIDUsIDIyMCwgMjA1LCAyOSwgNjEsIDE1LCA1LCAyMjAsIAotICAgIDIwNSwgMjksIDI1MiwgODAsIDE1LCA1LCAyMjAsIDIwNSwgMjksIDI1MSwgMzgsIDE1LCA1LCAyMjAsIDIwNSwgMjksIDI0NywgCi0gICAgMTU4LCAxNSwgNSwgMjIwLCAyMDUsIDI5LCAyNDMsIDcyLCAxNSwgNSwgMjIwLCAyMDUsIDI5LCAyMzYsIDMwLCAxNSwgNSwgCi0gICAgMjIwLCAyMDUsIDI5LCAyMzYsIDMxLCAyNDIsIDc1LCAxNSwgNSwgMjIwLCAyMDUsIDI5LCAyMzMsIDIxMiwgMTUsIDUsIAotICAgIDIyMCwgMjA1LCAyOSwgMjMyLCAxNDQsIDE1LCA1LCAyMjAsIDIwNSwgMjksIDIzMCwgMTYzLCAxNSwgNSwgMjIwLCAyMDUsIAotICAgIDI5LCAyMjIsIDE3OSwgMTUsIDUsIDIyMCwgMTk4LCAxNSwgNSwgMjIwLCAxOTMsIDE1LCA1LCAyMjAsIDE5NCwgMjE3LCAKLSAgICAxOTIsIDE1LCA1LCAyMjAsIDE5NCwgMTEwLCAyMjAsIDE5NCwgMjUxLCAyOCwgMTEwLCAyNTEsIDI3LCAxNSwgNSwgMjIwLCAKLSAgICAxODksIDE1LCA1LCAyMjAsIDE1MCwgMTUsIDUsIDIyMCwgMTUxLCAxMTAsIDIzNSwgMTkxLCAyMjAsIDE1MCwgMTUsIDUsIAotICAgIDIyMCwgMTQ4LCAxNSwgNSwgMjIwLCAxNDcsIDE1LCA1LCAyMjAsIDExNywgMTUsIDUsIDIyMCwgMTE4LCAyNDIsIDc1LCAxNSwgCi0gICAgNSwgMjIwLCAxMDgsIDE1LCA1LCAyMjAsIDEwNiwgMTUsIDUsIDIyMCwgMTA3LCAxMTAsIDIyMCwgMTA3LCAyMjAsIDE0OCwgCi0gICAgMTUsIDUsIDIyMCwgOTksIDE1LCA1LCAyMjAsIDk3LCAxNSwgNSwgMjE5LCAyNywgMTUsIDUsIDIxOSwgMjgsIDExMCwgMjE5LCAKLSAgICAyNywgMTUsIDUsIDIxOCwgMjU1LCAxNSwgNSwgMjE4LCAyNTQsIDE1LCA1LCAyMTgsIDI1MiwgMTUsIDUsIDIxOCwgMjQ0LCAKLSAgICAxNSwgNSwgMjE4LCAyNDMsIDE1LCA1LCAyMTgsIDIxNywgMTUsIDUsIDIxOCwgMjE2LCAxNSwgNSwgMjE4LCA1MiwgMTUsIDUsIAotICAgIDIxOCwgNTMsIDI1MywgMTMyLCAxNSwgNSwgMjE4LCA1MywgMjksIDI0MSwgMTY1LCAxNSwgNSwgMjE4LCA1MywgMjksIDIzMSwgCi0gICAgNDIsIDE1LCA1LCAyMTgsIDUzLCAyNDIsIDc1LCAxNSwgNSwgMjE4LCA0MSwgMTUsIDUsIDIxOCwgNDIsIDExMCwgMjE4LCAKLSAgICA0MiwgMjI5LCA2NSwgMTEwLCAyMjksIDY1LCAyNDcsIDE0MCwgMTEwLCAyNDcsIDEzOSwgMTUsIDUsIDIxOCwgNDIsIDIxOSwgCi0gICAgMTY1LCAxNSwgNSwgMjE4LCAzMywgMTUsIDUsIDEyNiwgMjksIDI1MSwgMTg0LCAxNSwgNSwgMTI2LCAyOSwgMjQyLCA4NCwgCi0gICAgMTUsIDUsIDEyNiwgMjksIDIyMCwgMjQzLCAxNSwgNSwgMTI2LCAyOSwgMjIwLCAxNTAsIDE1LCA1LCAxMjYsIDI5LCAyMTYsIAotICAgIDc3LCAxNSwgNSwgMTI2LCAyOSwgMjE1LCAxODgsIDE1LCA1LCAyMTgsIDIyLCAxNSwgNSwgMjE4LCAxLCAxNSwgNSwgMjE3LCAKLSAgICAyMjksIDE1LCA1LCAyMTcsIDIzMCwgMjQyLCA3NSwgMTUsIDUsIDIxNywgNzEsIDE1LCA1LCAyMTcsIDcyLCAyMTcsIDE5MiwgCi0gICAgMTUsIDUsIDIxNywgNDQsIDE1LCA1LCAyMTcsIDI1LCAxNSwgNSwgMjE3LCAyNiwgMjksIDIxOCwgMjIsIDE1LCA1LCAyMTcsIAotICAgIDI2LCAxMTAsIDIxNywgMjUsIDE1LCA1LCAyMTcsIDI2LCAxMTAsIDIxNywgMjYsIDI0MywgMTAyLCAxMTAsIDI0MywgMTAyLCAKLSAgICAyNDMsIDczLCAxMTAsIDI0MywgNzIsIDE1LCA1LCAyMTYsIDgyLCAxNSwgNSwgMjE2LCA3NywgMTUsIDUsIDIxNiwgNzUsIAotICAgIDE1LCA1LCAyMTYsIDcyLCAxNSwgNSwgMjE2LCA2MiwgMTUsIDUsIDIxNiwgNjMsIDExMCwgMjE2LCA2MywgMjEyLCAxMTAsIAotICAgIDExMCwgMjEyLCAxMDksIDE1LCA1LCA2OSwgMTUsIDUsIDExMSwgMjQyLCA4NCwgMTUsIDUsIDExMSwgMTExLCA2OSwgMTUsIAotICAgIDUsIDExMSwgMTEwLCAxMTEsIDIyNiwgMjE0LCAxMTAsIDIyNiwgMjE0LCAyNDMsIDczLCAxMTAsIDI0MywgNzIsIDE1LCA1LCAKLSAgICAxMTEsIDExMCwgMTExLCAyMTgsIDIxOCwgMTEwLCAyMTgsIDIxNywgMTUsIDUsIDExMSwgMTEwLCAxMTEsIDExMSwgMjIzLCAKLSAgICAyMDIsIDExMCwgMTExLCAyMjMsIDIwMSwgMTUsIDUsIDIxNSwgMTk3LCAxNSwgNSwgMjE1LCAxOTQsIDE1LCA1LCAyMTUsIAotICAgIDE4OCwgMTUsIDUsIDIxNSwgMTg5LCAyMzMsIDIxMiwgMTUsIDUsIDIxNSwgMTg5LCAyOSwgMjUyLCA5NCwgMTUsIDUsIDIxNSwgCi0gICAgMTg5LCAyOSwgMjMxLCA0MiwgMTUsIDUsIDIxNSwgMTg5LCAyOSwgMTExLCA5NCwgMTExLCA5NCwgNjksIDE1LCA1LCAyMTUsIAotICAgIDE4OSwgMjksIDExMSwgOTQsIDExMSwgOTQsIDExMSwgMjQyLCA3NSwgMTUsIDUsIDIxNSwgMTg5LCAyNDIsIDc1LCAxNSwgNSwgCi0gICAgMjE1LCAxODksIDIyMCwgMjI1LCAxNSwgNSwgMjE1LCAxODksIDIyMCwgMjI2LCAyOSwgMjUyLCA5NCwgMTUsIDUsIDIxNSwgCi0gICAgMTg0LCAxNSwgNSwgMjE1LCAxNjcsIDE1LCA1LCAyMTUsIDE2OCwgMjksIDIzMywgMTQwLCAxNSwgNSwgMjE1LCAxNjgsIDI5LCAKLSAgICAyMzEsIDE1NywgOTQsIDI0OCwgMTY0LCAxNSwgNSwgMjE1LCAxNjgsIDI5LCAyMjEsIDIyLCAxNSwgNSwgMjE1LCAxNjgsIAotICAgIDI5LCA2OSwgMTUsIDUsIDIxNSwgMTY2LCAxNSwgNSwgMjE1LCAxNjIsIDE1LCA1LCAyMTUsIDE2MywgMjksIDIzNCwgMjEyLCAKLSAgICAxNSwgNSwgMjE1LCAxNjMsIDI5LCAxOTMsIDE1LCA1LCAyMTUsIDE2MCwgMTUsIDUsIDIxNSwgMTYxLCAyNDIsIDc1LCAxNSwgCi0gICAgNSwgMjE1LCAxMjEsIDE1LCA1LCAyMTUsIDEyMiwgMjQ5LCA2NSwgMjE1LCAxMjEsIDE1LCA1LCAyMTUsIDEyMiwgMjIwLCAKLSAgICAyMjUsIDE1LCA1LCAyMTUsIDExOSwgMTUsIDUsIDIxNSwgMTIwLCAyOSwgMTE4LCA5NCwgMTU5LCAxNSwgNSwgMjE1LCAxMjAsIAotICAgIDI5LCAxMTgsIDk0LCAyMDUsIDE1LCA1LCAyMTUsIDEyMCwgMjksIDI1NCwgODYsIDE1LCA1LCAyMTUsIDEyMCwgMjksIDE1OSwgCi0gICAgMTUsIDUsIDIxNSwgMTIwLCAyOSwgMjI4LCA1MCwgMTUsIDUsIDIxNSwgMTIwLCAyOSwgMjE1LCAxOTcsIDE1LCA1LCAyMTUsIAotICAgIDEyMCwgMjksIDIxNSwgMTk4LCA5NCwgMjUzLCAxNDYsIDE1LCA1LCAyMTUsIDEyMCwgMjksIDIxNSwgMTk4LCA5NCwgMjUxLCAKLSAgICAxODQsIDE1LCA1LCAyMTUsIDExOCwgMTUsIDUsIDIxNSwgMTE1LCAxNSwgNSwgMjE1LCAxMTQsIDE1LCA1LCAyMTUsIDExMCwgCi0gICAgMTUsIDUsIDIxNSwgMTExLCAyOSwgNjEsIDE1LCA1LCAyMTUsIDExMSwgMjksIDI1MywgMTQxLCAxNSwgNSwgMjE1LCAxMTEsIAotICAgIDI5LCAxMzQsIDE1LCA1LCAyMTUsIDExMSwgMjksIDI0NiwgMjMsIDE1LCA1LCAyMTUsIDExMSwgMjksIDI0MywgMTEwLCAxNSwgCi0gICAgNSwgMjE1LCAxMTEsIDI5LCAyNDMsIDk0LCAxNSwgNSwgMjE1LCAxMTEsIDI5LCAyNDMsIDgxLCAyMTcsIDE5MiwgMTUsIDUsIAotICAgIDIxNSwgMTExLCAyOSwgMjQzLCA3MiwgMTUsIDUsIDIxNSwgMTExLCAyOSwgMjQyLCA5MiwgMTUsIDUsIDIxNSwgMTExLCAyOSwgCi0gICAgMTU5LCAxNSwgNSwgMjE1LCAxMTEsIDI5LCAyMzYsIDMwLCAxNSwgNSwgMjE1LCAxMTEsIDI5LCAyMzYsIDExLCAxNSwgNSwgCi0gICAgMjE1LCAxMTEsIDI5LCAyMzUsIDE2MywgMTUsIDUsIDIxNSwgMTExLCAyOSwgMjM0LCAxMDEsIDE1LCA1LCAyMTUsIDExMSwgCi0gICAgMjksIDIzMiwgMTQyLCAxNSwgNSwgMjE1LCAxMTEsIDI5LCAyMzEsIDEsIDE1LCA1LCAyMTUsIDExMSwgMjksIDE5MywgMTUsIAotICAgIDUsIDIxNSwgMTExLCAyOSwgMjIwLCAyNDMsIDE1LCA1LCAyMTUsIDExMSwgMjksIDIyMCwgMTA2LCAxNSwgNSwgMjE1LCAKLSAgICAxMTEsIDI5LCAyMTYsIDgyLCAxNSwgNSwgMjE1LCAxMTEsIDI5LCAxMTEsIDk0LCAyNDIsIDg0LCAxNSwgNSwgMjE1LCAxMTEsIAotICAgIDI5LCAyMTUsIDE4OCwgMTUsIDUsIDIxNSwgMTExLCAyOSwgMjE1LCAxMDgsIDE1LCA1LCAyMTUsIDEwOCwgMTUsIDUsIDIxNSwgCi0gICAgMTA5LCAyOSwgNjksIDE1LCA1LCAyMTUsIDEwMCwgMTUsIDUsIDIxNSwgMTAxLCAyOSwgNjEsIDE1LCA1LCAyMTUsIDEwMSwgCi0gICAgMjksIDIzMywgMjM4LCAxNSwgNSwgMjE1LCAxMDEsIDI5LCAyMzMsIDIxNywgMTUsIDUsIDIxNSwgMTAxLCAyOSwgMjE4LCAKLSAgICAyMiwgMTUsIDUsIDIxNSwgOTYsIDE1LCA1LCAyMTUsIDk5LCAxNSwgNSwgMjE1LCA5NywgMTUsIDUsIDIxNSwgOTMsIDE1LCAKLSAgICA1LCAyMTUsIDgyLCAxNSwgNSwgMjE1LCA4MywgMjksIDIzNCwgMjEyLCAxNSwgNSwgMjE1LCA4MSwgMTUsIDUsIDIxMiwgCi0gICAgMTA5LCAxNSwgNSwgMjEyLCAxMTAsIDIxNywgMTkyLCAxNSwgNSwgMjEyLCAxMTAsIDkxLCAyOSwgMjMzLCAyMTcsIDE1LCA1LCAKLSAgICAyMTIsIDEwNiwgMTUsIDUsIDIxMiwgOTksIDE1LCA1LCAyMTIsIDg2LCAxNSwgNSwgMjEyLCAzNywgMTUsIDUsIDIxMiwgMzgsIAotICAgIDExMCwgMjEyLCAzNywgMTUsIDUsIDIxMiwgMzYsIDE1LCA1LCAyMTIsIDM0LCAxNSwgNSwgMjEyLCAzNSwgMjM1LCA3LCAKLSAgICAyMTcsIDE5MiwgMTUsIDUsIDIxMiwgMjksIDE1LCA1LCAyMTIsIDIxLCAxNSwgNSwgMjEyLCA4LCAxNSwgNSwgMjEyLCA2LCAKLSAgICAxNSwgNSwgMjEyLCA3LCAyOSwgNjEsIDE1LCA1LCAyMTIsIDUsIDE1LCA1LCAyMTIsIDQsIDE1LCAxMjgsIDUsIDExNywgCi0gICAgMjUzLCAxNDYsIDE1LCAxMjgsIDUsIDEzMywgMjUzLCAxNDYsIDE1LCAxMjgsIDUsIDI0MywgMjM3LCAyNTMsIDE0NiwgMTUsIAotICAgIDEyOCwgNSwgMjQ0LCA1MCwgMjUzLCAxNDYsIDE1LCAxMjgsIDUsIDIyMCwgNTMsIDI1MywgMTQ2LCAxNSwgMTI4LCA1LCAKLSAgICAyMjEsIDQzLCAyNTMsIDE0NiwgMTUsIDEyOCwgNSwgMjQ1LCAxNTAsIDI1MywgMTQ2LCAxNSwgMTI4LCA1LCAyMjksIDMxLCAKLSAgICAyNTMsIDE0NiwgMTUsIDEyOCwgNSwgMTMzLCAyNDcsIDEzOSwgMTUsIDEyOCwgNSwgMjQzLCAyMzcsIDI0NywgMTM5LCAxNSwgCi0gICAgMTI4LCA1LCAyNDQsIDUwLCAyNDcsIDEzOSwgMTUsIDEyOCwgNSwgMjIwLCA1MywgMjQ3LCAxMzksIDE1LCAxMjgsIDUsIAotICAgIDIyMSwgNDMsIDI0NywgMTM5LCAxNSwgMTI4LCA1LCAyNDUsIDE1MCwgMjQ3LCAxMzksIDE1LCAxMjgsIDUsIDIyOSwgMzEsIAotICAgIDI0NywgMTM5LCAxNSwgMTI4LCA1LCAyNDMsIDIzNywgNjksIDE1LCAxMjgsIDUsIDI0NCwgNTAsIDY5LCAxNSwgMTI4LCA1LCAKLSAgICAyMjAsIDUzLCA2OSwgMTUsIDEyOCwgNSwgMjIxLCA0MywgNjksIDE1LCAxMjgsIDUsIDI0NSwgMTUwLCA2OSwgMTUsIDEyOCwgCi0gICAgNSwgMjI5LCAzMSwgNjksIDE1LCAxMjgsIDUsIDEyMiwgMjQzLCAxNCwgMTUsIDEyOCwgNSwgMTE3LCAyNDMsIDE0LCAxNSwgCi0gICAgMTI4LCA1LCAxMzMsIDI0MywgMTQsIDE1LCAxMjgsIDUsIDI0MywgMjM3LCAyNDMsIDE0LCAxNSwgMTI4LCA1LCAyNDQsIDUwLCAKLSAgICAyNDMsIDE0LCAxNSwgMTI4LCA1LCAyMjAsIDUzLCAyNDMsIDE0LCAxNSwgMTI4LCA1LCAyMjEsIDQzLCAyNDMsIDE0LCAxNSwgCi0gICAgMTI4LCA1LCAyNDUsIDE1MCwgMjQzLCAxNCwgMTUsIDEyOCwgNSwgMjI5LCAzMSwgMjQzLCAxNCwgMTUsIDEyOCwgNSwgMTIyLCAKLSAgICAyNDMsIDExLCAxNSwgMTI4LCA1LCAxMTcsIDI0MywgMTEsIDE1LCAxMjgsIDUsIDEzMywgMjQzLCAxMSwgMTUsIDEyOCwgNSwgCi0gICAgMjQzLCAyMzcsIDI0MywgMTEsIDE1LCAxMjgsIDUsIDI0NCwgNTAsIDI0MywgMTEsIDE1LCAxMjgsIDUsIDExNywgMjIxLCAxLCAKLSAgICAxNSwgMTI4LCA1LCAxMzMsIDIyMSwgMSwgMTUsIDEyOCwgNSwgMTMzLCAyMjEsIDIsIDIxNCwgMjQ0LCAxNywgMTUsIDEyOCwgCi0gICAgNSwgMjQzLCAyMzcsIDIyMSwgMSwgMTUsIDEyOCwgNSwgMjQ0LCA1MCwgMjIxLCAxLCAxNSwgMTI4LCA1LCAyMjAsIDUzLCAKLSAgICAyMjEsIDEsIDE1LCAxMjgsIDUsIDIyMSwgNDMsIDIyMSwgMSwgMTUsIDEyOCwgNSwgMjQ1LCAxNTAsIDIyMSwgMSwgMTUsIAotICAgIDEyOCwgNSwgMjI5LCAzMSwgMjIxLCAxLCAxNSwgMTI4LCA1LCAxMjIsIDIyMCwgMjUyLCAxNSwgMTI4LCA1LCAxMTcsIDIyMCwgCi0gICAgMjUyLCAxNSwgMTI4LCA1LCAxMzMsIDIyMCwgMjUyLCAxNSwgMTI4LCA1LCAxMzMsIDIyMCwgMjUzLCAyMTQsIDI0NCwgMTcsIAotICAgIDE1LCAxMjgsIDUsIDI0MywgMjM3LCAyMjAsIDI1MiwgMTUsIDEyOCwgNSwgMjQ0LCA1MCwgMjIwLCAyNTIsIDE1LCAxMjgsIAotICAgIDUsIDIyMSwgMiwgMjksIDI0MywgOTUsIDk0LCAyNDcsIDEzOSwgMTUsIDEyOCwgNSwgMjIxLCAyLCAyOSwgMjQzLCA5NSwgCi0gICAgOTQsIDIzMSwgMSwgMTUsIDEyOCwgNSwgMTIyLCAyNTEsIDI0LCAxNSwgMTI4LCA1LCAxMTcsIDI1MSwgMjQsIDE1LCAxMjgsIAotICAgIDUsIDEzMywgMjUxLCAyNCwgMTUsIDEyOCwgNSwgMTMzLCAyNTEsIDI1LCAyMTQsIDI0NCwgMTcsIDE1LCAxMjgsIDUsIDI0MywgCi0gICAgMjM3LCAyNTEsIDI0LCAxNSwgMTI4LCA1LCAyNDQsIDUwLCAyNTEsIDI0LCAxNSwgMTI4LCA1LCAxMzMsIDIxNCwgMjQ0LCAKLSAgICAyNDMsIDI0NSwgMjQ1LCAzOSwgMTUsIDEyOCwgNSwgMTMzLCAyMTQsIDI0NCwgMjQzLCAyNDUsIDI0NSwgMzYsIDE1LCAxMjgsIAotICAgIDUsIDI0MywgMjM3LCAyMTQsIDI0NCwgMjQzLCAyNDUsIDIzMiwgMjQ2LCAxNSwgMTI4LCA1LCAyNDMsIDIzNywgMjE0LCAKLSAgICAyNDQsIDI0MywgMjQ1LCAyMzIsIDI0NCwgMTUsIDEyOCwgNSwgMjQzLCAyMzcsIDIxNCwgMjQ0LCAyNDMsIDI0NSwgMjMyLCAKLSAgICAyNDcsIDYxLCAxNSwgMTI4LCA1LCAyNDMsIDIzNywgMjE0LCAyNDQsIDI0MywgMjQ1LCAyMzIsIDI0NywgMjUzLCA3NCwgMTUsIAotICAgIDEyOCwgNSwgMjIwLCA1MywgMjE0LCAyNDQsIDI0MywgMjQ1LCAyNTMsIDE0MywgMTUsIDEyOCwgNSwgMjIxLCA0MywgMjE0LCAKLSAgICAyNDQsIDI0MywgMjQ1LCAyMzYsIDMsIDE1LCAxMjgsIDUsIDIyMSwgNDMsIDIxNCwgMjQ0LCAyNDMsIDI0NSwgMjM2LCA1LCAKLSAgICA2MSwgMTUsIDEyOCwgNSwgMjIxLCA0MywgMjE0LCAyNDQsIDI0MywgMjQ1LCAyMzYsIDUsIDI1MywgNzQsIDE1LCAxMjgsIDUsIAotICAgIDI0NSwgMTUwLCAyMTQsIDI0NCwgMjQzLCAyNDUsIDIxNSwgOTUsIDE1LCAxMjgsIDUsIDI0NSwgMTUwLCAyMTQsIDI0NCwgCi0gICAgMjQzLCAyNDUsIDIxNSwgOTQsIDE1LCAxMjgsIDUsIDIyOSwgMzEsIDIxNCwgMjQ0LCAyNDMsIDI0NSwgMjM2LCAxOSwgMTUsIAotICAgIDEyOCwgNSwgMjI5LCAzMSwgMjE0LCAyNDQsIDI0MywgMjQ1LCAyMzYsIDE4LCAxNSwgMTI4LCA1LCAyMjksIDMxLCAyMTQsIAotICAgIDI0NCwgMjQzLCAyNDUsIDIzNiwgMTcsIDE1LCAxMjgsIDUsIDIyOSwgMzEsIDIxNCwgMjQ0LCAyNDMsIDI0NSwgMjM2LCAyMCwgCi0gICAgNjEsIDE1LCAxMjgsIDUsIDExNywgMjUzLCAxNDcsIDIxNywgMTkyLCAxNSwgMTI4LCA1LCAxMzMsIDI1MywgMTQ3LCAyMTcsIAotICAgIDE5MiwgMTUsIDEyOCwgNSwgMjQzLCAyMzcsIDI1MywgMTQ3LCAyMTcsIDE5MiwgMTUsIDEyOCwgNSwgMjQ0LCA1MCwgMjUzLCAKLSAgICAxNDcsIDIxNywgMTkyLCAxNSwgMTI4LCA1LCAyMjAsIDUzLCAyNTMsIDE0NywgMjE3LCAxOTIsIDE1LCAxMjgsIDUsIDEyMiwgCi0gICAgMjUyLCA2OSwgMTUsIDEyOCwgNSwgMTE3LCAyNTIsIDY5LCAxNSwgMTI4LCA1LCAxMzMsIDI1MiwgNjksIDE1LCAxMjgsIDUsIAotICAgIDI0MywgMjM3LCAyNTIsIDY5LCAxNSwgMTI4LCA1LCAyNDMsIDIzNywgMjUyLCA3MCwgMjE0LCAyNDQsIDE3LCAxNSwgMTI4LCAKLSAgICA1LCAyNDQsIDUwLCAyNTIsIDY5LCAxNSwgMTI4LCA1LCAyNDQsIDUwLCAyNTIsIDcwLCAyMTQsIDI0NCwgMTcsIDE1LCAxMjgsIAotICAgIDUsIDIyOSwgNDEsIDE1LCAxMjgsIDUsIDIyOSwgNDIsIDE1LCAxMjgsIDUsIDEyMiwgMjQ1LCAzNSwgMTUsIDEyOCwgNSwgCi0gICAgMTE3LCAyNDUsIDM1LCAxNSwgMTI4LCA1LCAxMjIsIDIxNywgMTIyLCAyNDcsIDEzOSwgMTUsIDEyOCwgNSwgMTE3LCAyMTcsIAotICAgIDEyMCwgMjQ3LCAxMzksIDE1LCAxMjgsIDUsIDI0NCwgNTAsIDIyMCwgNDIsIDI0NywgMTM5LCAxNSwgMTI4LCA1LCAxMjIsIAotICAgIDIxNywgMTIyLCAyMTQsIDI0NCwgMjQzLCAyNDUsIDYxLCAxNSwgMTI4LCA1LCAxMTcsIDIxNywgMTIwLCAyMTQsIDI0NCwgCi0gICAgMjQzLCAyNDUsIDYxLCAxNSwgMTI4LCA1LCAxMjIsIDI0NSwgMTQ2LCAyNTMsIDE0NiwgMTUsIDEyOCwgNSwgMTIyLCAyMjQsIAotICAgIDE2NywgMjUzLCAxNDYsIDE1LCAxMjgsIDUsIDUzLCAyNTMsIDEzNSwgMTIyLCAyMjAsIDQzLCAxNSwgMTI4LCA1LCA1MywgCi0gICAgMjUzLCAxMzUsIDEyMiwgMjI0LCAxNjYsIDE1LCAyMjUsIDI3LCA1LCA1MywgMjUzLCAxMzUsIDIxMywgMTk2LCAyNDcsIAotICAgIDEyNCwgMTUsIDIyNSwgMjcsIDUsIDcxLCAyNDksIDE2NCwgMTUsIDIyNSwgMjcsIDUsIDI0NywgMjA3LCAyNDksIDE2NCwgCi0gICAgMTUsIDIyNSwgMjcsIDUsIDI0NywgMjA3LCAyMTYsIDE3OSwgMTAsIDExLCAyNTUsIDU4LCAxMCwgMTEsIDI1NSwgNTcsIDEwLCAKLSAgICAxMSwgMjU1LCA1NiwgMTAsIDExLCAyNTUsIDU1LCAxMCwgMTEsIDI1NSwgNTQsIDEwLCAxMSwgMjU1LCA1MywgMTAsIDExLCAKLSAgICAyNTUsIDUyLCAxMCwgMTEsIDI1NSwgNTEsIDEwLCAxMSwgMjU1LCA1MCwgMTAsIDExLCAyNTUsIDQ5LCAxMCwgMTEsIDI1NSwgCi0gICAgNDgsIDEwLCAxMSwgMjU1LCA0NywgMTAsIDExLCAyNTUsIDQ2LCAxMCwgMTEsIDI1NSwgNDUsIDEwLCAxMSwgMjU1LCA0NCwgCi0gICAgMTAsIDExLCAyNTUsIDQzLCAxMCwgMTEsIDI1NSwgNDIsIDEwLCAxMSwgMjU1LCA0MSwgMTAsIDExLCAyNTUsIDQwLCAxMCwgCi0gICAgMTEsIDI1NSwgMzksIDEwLCAxMSwgMjU1LCAzOCwgMTAsIDExLCAyNTUsIDM3LCAxMCwgMTEsIDI1NSwgMzYsIDEwLCAxMSwgCi0gICAgMjU1LCAzNSwgMTAsIDExLCAyNTUsIDM0LCAxMCwgMTEsIDI1NSwgMzMsIDEwLCAxMSwgMjU1LCAzMiwgMTAsIDExLCAyNTUsIAotICAgIDMxLCAxMCwgMTEsIDI1NSwgMzAsIDEwLCAxMSwgMjU1LCAyOSwgMTAsIDExLCAyNTUsIDI4LCAxMCwgMTEsIDI1NSwgMjcsIAotICAgIDEwLCAxMSwgMjU1LCAyNiwgMTAsIDExLCAyNTUsIDI1LCAxMCwgMTEsIDI1NSwgMjQsIDEwLCAxMSwgMjU1LCAyMywgMTAsIAotICAgIDExLCAyNTUsIDIyLCAxMCwgMTEsIDI1NSwgMjEsIDEwLCAxMSwgMjU1LCAyMCwgMTAsIDExLCAyNTUsIDE5LCAxMCwgMTEsIAotICAgIDI1NSwgMTgsIDEwLCAxMSwgMjU1LCAxNywgMTAsIDExLCAyNTUsIDE2LCAxMCwgMTEsIDI1NSwgMTUsIDEwLCAxMSwgMjU1LCAKLSAgICAxNCwgMTAsIDExLCAyNTUsIDEzLCAxMCwgMTEsIDI1NSwgMTIsIDEwLCAxMSwgMjU1LCAxMSwgMTAsIDExLCAyNTUsIDEwLCAKLSAgICAxMCwgMTEsIDI1NSwgOSwgMTAsIDExLCAyNTUsIDgsIDEwLCAxMSwgMjU1LCA3LCAxMCwgMTEsIDI1NSwgNiwgMTAsIDExLCAKLSAgICAyNTUsIDUsIDEwLCAxMSwgMjU1LCA0LCAxMCwgMTEsIDI1NSwgMywgMTAsIDExLCAyNTUsIDIsIDEwLCAxMSwgMjU1LCAxLCAKLSAgICAxMCwgMTEsIDI1NSwgMCwgMTAsIDExLCAyNTQsIDI1NSwgMTAsIDExLCAyNTQsIDI1NCwgMTAsIDExLCAyNTQsIDI1MywgMTAsIAotICAgIDExLCAyNTQsIDI1MiwgMTAsIDExLCAyNTQsIDI1MSwgMTAsIDExLCAyNTQsIDI1MCwgMTAsIDExLCAyNTQsIDI0OSwgMTAsIAotICAgIDExLCAyNTQsIDI0OCwgMTAsIDExLCAyNTQsIDI0NywgMTAsIDExLCAyNTQsIDI0NiwgMTAsIDExLCAyNTQsIDI0NSwgMTAsIAotICAgIDExLCAyNTQsIDI0NCwgMTAsIDExLCAyNTQsIDI0MywgMTAsIDExLCAyNTQsIDI0MiwgMTAsIDExLCAyNTQsIDI0MSwgMTAsIAotICAgIDExLCAyNTQsIDI0MCwgMTAsIDExLCAyNTQsIDIzOSwgMTAsIDExLCAyNTQsIDIzOCwgMTAsIDExLCAyNTQsIDIzNywgMTAsIAotICAgIDExLCAyNTQsIDIzNiwgMTAsIDExLCAyNTQsIDIzNSwgMTAsIDExLCAyNTMsIDcyLCAxMCwgMTEsIDI1MywgNzAsIDEwLCAxMSwgCi0gICAgMjUzLCA2OCwgMTAsIDExLCAyNTMsIDY2LCAxMCwgMTEsIDI1MywgNjQsIDEwLCAxMSwgMjUzLCA2MywgMTAsIDExLCAyNTMsIAotICAgIDYxLCAxMCwgMTEsIDI1MywgNTksIDEwLCAxMSwgMjUzLCA1NywgMTAsIDExLCAyNTMsIDU1LCAxMCwgMTEsIDI1MCwgMjQ4LCAKLSAgICAxMCwgMTEsIDI1MCwgMjQ3LCAxMCwgMTEsIDI1MCwgMjQ2LCAxMCwgMTEsIDI1MCwgMjQ1LCAxMCwgMTEsIDI1MCwgMjQ0LCAKLSAgICAxMCwgMTEsIDI1MCwgMjQzLCAxMCwgMTEsIDI1MCwgMjQyLCAxMCwgMTEsIDI1MCwgMjQxLCAxMCwgMTEsIDI1MCwgMjQwLCAKLSAgICAxMCwgMTEsIDI1MCwgMjM5LCAxMCwgMTEsIDI1MCwgMjM4LCAxMCwgMTEsIDI1MCwgMjM3LCAxMCwgMTEsIDI1MCwgMjM2LCAKLSAgICAxMCwgMTEsIDI1MCwgMjM1LCAxMCwgMTEsIDI1MCwgMjM0LCAxMCwgMTEsIDI1MCwgMjMzLCAxMCwgMTEsIDI1MCwgMjMyLCAKLSAgICAxMCwgMTEsIDI1MCwgMjMxLCAxMCwgMTEsIDI1MCwgMjMwLCAxMCwgMTEsIDI1MCwgMjI5LCAxMCwgMTEsIDI1MCwgMjI4LCAKLSAgICAxMCwgMTEsIDI1MCwgMjI3LCAxMCwgMTEsIDI1MCwgMjI2LCAxMCwgMTEsIDI1MCwgMjI1LCAxMCwgMTEsIDI1MCwgMjI0LCAKLSAgICAxMCwgMTEsIDI1MCwgMjIzLCAxMCwgMTEsIDI1MCwgMjIyLCAxMCwgMTEsIDI1MCwgMjIxLCAxMCwgMTEsIDI0OSwgMiwgMTAsIAotICAgIDExLCAyNDksIDEsIDEwLCAxMSwgMjQ5LCAwLCAxMCwgMTEsIDI0OCwgMjU1LCAxMCwgMTEsIDI0OCwgMjU0LCAxMCwgMTEsIAotICAgIDI0OCwgMjUzLCAxMCwgMTEsIDI0OCwgMjUyLCAxMCwgMTEsIDI0OCwgMjUxLCAxMCwgMTEsIDI0OCwgMjUwLCAxMCwgMTEsIAotICAgIDI0OCwgMjQ5LCAxMCwgMTEsIDI0OCwgMjQ4LCAxMCwgMTEsIDI0OCwgMjQ3LCAxMCwgMTEsIDI0OCwgMjQ2LCAxMCwgMTEsIAotICAgIDI0OCwgMjQ1LCAxMCwgMTEsIDI0OCwgMjQ0LCAxMCwgMTEsIDI0OCwgMjQzLCAxMCwgMTEsIDI0OCwgMjQyLCAxMCwgMTEsIAotICAgIDI0OCwgMjQxLCAxMCwgMTEsIDI0OCwgMjQwLCAxMCwgMTEsIDI0OCwgMjM5LCAxMCwgMTEsIDI0OCwgMjM4LCAxMCwgMTEsIAotICAgIDI0OCwgMjM3LCAxMCwgMTEsIDI0OCwgMjM2LCAxMCwgMTEsIDI0OCwgMjM1LCAxMCwgMTEsIDI0OCwgMjM0LCAxMCwgMTEsIAotICAgIDI0OCwgMjMzLCAxMCwgMTEsIDI0OCwgMjMyLCAxMCwgMTEsIDI0OCwgMjMxLCAxMCwgMTEsIDI0OCwgMjMwLCAxMCwgMTEsIAotICAgIDI0OCwgMjI5LCAxMCwgMTEsIDI0OCwgMjI4LCAxMCwgMTEsIDI0OCwgMjI3LCAxMCwgMTEsIDI0OCwgMjI2LCAxMCwgMTEsIAotICAgIDI0OCwgMjI1LCAxMCwgMTEsIDI0OCwgMjI0LCAxMCwgMTEsIDI0OCwgMjIzLCAxMCwgMTEsIDI0OCwgMjIyLCAxMCwgMTEsIAotICAgIDI0OCwgMjIxLCAxMCwgMTEsIDI0OCwgMjIwLCAxMCwgMTEsIDI0OCwgMjE5LCAxMCwgMTEsIDI0OCwgMjE4LCAxMCwgMTEsIAotICAgIDI0OCwgMjE3LCAxMCwgMTEsIDI0OCwgMjE2LCAxMCwgMTEsIDI0OCwgMjE1LCAxMCwgMTEsIDI0OCwgMjE0LCAxMCwgMTEsIAotICAgIDI0OCwgMjEzLCAxMCwgMTEsIDI0OCwgMjEyLCAxMCwgMTEsIDI0OCwgMjExLCAxMCwgMTEsIDI0OCwgMjEwLCAxMCwgMTEsIAotICAgIDI0OCwgMjA5LCAxMCwgMTEsIDI0OCwgMjA4LCAxMCwgMTEsIDI0OCwgMjA3LCAxMCwgMTEsIDI0OCwgMjA2LCAxMCwgMTEsIAotICAgIDI0OCwgMjA1LCAxMCwgMTEsIDI0OCwgMjA0LCAxMCwgMTEsIDI0OCwgMjAzLCAxMCwgMTEsIDI0OCwgMjAyLCAxMCwgMTEsIAotICAgIDI0OCwgMjAxLCAxMCwgMTEsIDI0OCwgMjAwLCAxMCwgMTEsIDI0OCwgMTk5LCAxMCwgMTEsIDI0OCwgMTk4LCAxMCwgMTEsIAotICAgIDI0OCwgMTk3LCAxMCwgMTEsIDI0OCwgMTk2LCAxMCwgMTEsIDI0OCwgMTk1LCAxMCwgMTEsIDI0OCwgMTk0LCAxMCwgMTEsIAotICAgIDI0OCwgMTkzLCAxMCwgMTEsIDI0OCwgMTkyLCAxMCwgMTEsIDI0OCwgMTkxLCAxMCwgMTEsIDI0OCwgMTkwLCAxMCwgMTEsIAotICAgIDI0OCwgMTg5LCAxMCwgMTEsIDI0OCwgMTg4LCAxMCwgMTEsIDI0OCwgMTg3LCAxMCwgMTEsIDI0OCwgMTg2LCAxMCwgMTEsIAotICAgIDI0OCwgMTg1LCAxMCwgMTEsIDI0OCwgMTg0LCAxMCwgMTEsIDI0OCwgMTgzLCAxMCwgMTEsIDI0OCwgMTgyLCAxMCwgMTEsIAotICAgIDI0OCwgMTgxLCAxMCwgMTEsIDI0OCwgMTgwLCAxMCwgMTEsIDI0OCwgMTc5LCAxMCwgMTEsIDI0OCwgMTc4LCAxMCwgMTEsIAotICAgIDI0OCwgMTc3LCAxMCwgMTEsIDI0OCwgMTc2LCAxMCwgMTEsIDI0OCwgMTc1LCAxMCwgMTEsIDI0OCwgMTc0LCAxMCwgMTEsIAotICAgIDI0OCwgMTczLCAxMCwgMTEsIDI0OCwgMTcyLCAxMCwgMTEsIDI0OCwgMTcxLCAxMCwgMTEsIDI0OCwgMTcwLCAxMCwgMTEsIAotICAgIDI0OCwgMTY5LCAxMCwgMTEsIDI0OCwgMTY4LCAxMCwgMTEsIDI0OCwgMTY3LCAxMCwgMTEsIDI0NSwgMjM1LCAxMCwgMTEsIAotICAgIDI0NSwgMjM0LCAxMCwgMTEsIDI0NSwgMjMzLCAxMCwgMTEsIDI0NSwgMjMyLCAxMCwgMTEsIDI0NSwgMjMxLCAxMCwgMTEsIAotICAgIDI0NSwgMjMwLCAxMCwgMTEsIDI0NSwgMjI5LCAxMCwgMTEsIDI0NSwgMjI4LCAxMCwgMTEsIDI0NSwgMjI3LCAxMCwgMTEsIAotICAgIDI0NSwgMjI2LCAxMCwgMTEsIDI0NSwgMjI1LCAxMCwgMTEsIDI0NSwgMjI0LCAxMCwgMTEsIDI0NSwgMjIzLCAxMCwgMTEsIAotICAgIDI0NSwgMjIyLCAxMCwgMTEsIDI0NSwgMjIxLCAxMCwgMTEsIDI0NSwgMjIwLCAxMCwgMTEsIDI0NSwgMjE5LCAxMCwgMTEsIAotICAgIDI0NSwgMjE4LCAxMCwgMTEsIDI0NSwgMjE3LCAxMCwgMTEsIDI0NSwgMjE2LCAxMCwgMTEsIDI0NSwgMjE1LCAxMCwgMTEsIAotICAgIDI0NSwgMjE0LCAxMCwgMTEsIDI0NSwgMjEzLCAxMCwgMTEsIDI0NSwgMjEyLCAxMCwgMTEsIDI0NSwgMjExLCAxMCwgMTEsIAotICAgIDI0NSwgMjEwLCAxMCwgMTEsIDI0NSwgMjA5LCAxMCwgMTEsIDI0NSwgMjA4LCAxMCwgMTEsIDI0NSwgMjA3LCAxMCwgMTEsIAotICAgIDI0NSwgMjA2LCAxMCwgMTEsIDI0NSwgMjA1LCAxMCwgMTEsIDI0NSwgMjA0LCAxMCwgMTEsIDI0NSwgMjAzLCAxMCwgMTEsIAotICAgIDI0NSwgMjAyLCAxMCwgMTEsIDI0NSwgMjAxLCAxMCwgMTEsIDI0NSwgMjAwLCAxMCwgMTEsIDI0NSwgMTk5LCAxMCwgMTEsIAotICAgIDI0NSwgMTk4LCAxMCwgMTEsIDI0NSwgMTk3LCAxMCwgMTEsIDI0NSwgMTk2LCAxMCwgMTEsIDI0NSwgMTk1LCAxMCwgMTEsIAotICAgIDI0NSwgMTk0LCAxMCwgMTEsIDI0NSwgMTkzLCAxMCwgMTEsIDI0NSwgMTkyLCAxMCwgMTEsIDI0NCwgMjI5LCAxMCwgMTEsIAotICAgIDI0NCwgMjI4LCAxMCwgMTEsIDI0NCwgMjI3LCAxMCwgMTEsIDI0NCwgMjI2LCAxMCwgMTEsIDI0NCwgMjI1LCAxMCwgMTEsIAotICAgIDI0NCwgMjI0LCAxMCwgMTEsIDI0NCwgMjIzLCAxMCwgMTEsIDI0NCwgMjIyLCAxMCwgMTEsIDI0NCwgMjIxLCAxMCwgMTEsIAotICAgIDI0NCwgMjIwLCAxMCwgMTEsIDI0NCwgMjE5LCAxMCwgMTEsIDI0NCwgMjE4LCAxMCwgMTEsIDI0NCwgMjE3LCAxMCwgMTEsIAotICAgIDI0NCwgMjE2LCAxMCwgMTEsIDI0NCwgMjE1LCAxMCwgMTEsIDI0NCwgMjE0LCAxMCwgMTEsIDI0NCwgMjEzLCAxMCwgMTEsIAotICAgIDI0NCwgMjEyLCAxMCwgMTEsIDI0NCwgMjExLCAxMCwgMTEsIDI0NCwgMjEwLCAxMCwgMTEsIDI0NCwgMjA5LCAxMCwgMTEsIAotICAgIDI0NCwgMjA4LCAxMCwgMTEsIDI0NCwgMjA3LCAxMCwgMTEsIDI0NCwgMjA2LCAxMCwgMTEsIDI0NCwgMjA1LCAxMCwgMTEsIAotICAgIDI0NCwgMjA0LCAxMCwgMTEsIDI0NCwgMjAzLCAxMCwgMTEsIDI0NCwgMjAyLCAxMCwgMTEsIDI0NCwgMjAxLCAxMCwgMTEsIAotICAgIDI0NCwgMjAwLCAxMCwgMTEsIDI0NCwgMTk5LCAxMCwgMTEsIDI0NCwgMTk4LCAxMCwgMTEsIDI0NCwgMTk3LCAxMCwgMTEsIAotICAgIDI0NCwgMTk2LCAxMCwgMTEsIDI0NCwgMTk1LCAxMCwgMTEsIDI0NCwgMTk0LCAxMCwgMTEsIDI0NCwgMTkzLCAxMCwgMTEsIAotICAgIDI0NCwgMTkyLCAxMCwgMTEsIDI0NCwgMTkxLCAxMCwgMTEsIDI0NCwgMTkwLCAxMCwgMTEsIDI0NCwgMTg5LCAxMCwgMTEsIAotICAgIDI0NCwgMTg4LCAxMCwgMTEsIDI0NCwgMTg3LCAxMCwgMTEsIDI0NCwgMTg2LCAxMCwgMTEsIDI0NCwgMTg1LCAxMCwgMTEsIAotICAgIDI0NCwgMTg0LCAxMCwgMTEsIDI0NCwgMTgzLCAxMCwgMTEsIDI0NCwgMTgyLCAxMCwgMTEsIDI0NCwgMTgxLCAxMCwgMTEsIAotICAgIDI0NCwgMTgwLCAxMCwgMTEsIDI0NCwgMTc5LCAxMCwgMTEsIDI0NCwgMTc4LCAxMCwgMTEsIDI0NCwgMTc3LCAxMCwgMTEsIAotICAgIDI0NCwgMTc2LCAxMCwgMTEsIDI0NCwgMTc1LCAxMCwgMTEsIDI0NCwgMTc0LCAxMCwgMTEsIDI0NCwgMTczLCAxMCwgMTEsIAotICAgIDI0NCwgMTcyLCAxMCwgMTEsIDI0NCwgMTcxLCAxMCwgMTEsIDI0NCwgMTcwLCAxMCwgMTEsIDI0NCwgMTY5LCAxMCwgMTEsIAotICAgIDI0NCwgMTY4LCAxMCwgMTEsIDI0NCwgMTY3LCAxMCwgMTEsIDI0NCwgMTY2LCAxMCwgMTEsIDI0NCwgMTY1LCAxMCwgMTEsIAotICAgIDI0MywgMTc2LCAxMCwgMTEsIDI0MywgMTc1LCAxMCwgMTEsIDI0MywgMTc0LCAxMCwgMTEsIDI0MywgMTczLCAxMCwgMTEsIAotICAgIDI0MywgMTcyLCAxMCwgMTEsIDI0MywgMTcxLCAxMCwgMTEsIDI0MywgMTcwLCAxMCwgMTEsIDI0MywgMTY5LCAxMCwgMTEsIAotICAgIDI0MywgMTY4LCAxMCwgMTEsIDI0MywgMTY3LCAxMCwgMTEsIDI0MywgMTY2LCAxMCwgMTEsIDI0MywgMTY1LCAxMCwgMTEsIAotICAgIDI0MywgMTY0LCAxMCwgMTEsIDI0MywgMTYzLCAxMCwgMTEsIDI0MywgMTYyLCAxMCwgMTEsIDI0MywgMTYxLCAxMCwgMTEsIAotICAgIDI0MywgMTYwLCAxMCwgMTEsIDI0MywgMTU5LCAxMCwgMTEsIDI0MywgMTU4LCAxMCwgMTEsIDI0MywgMTU3LCAxMCwgMTEsIAotICAgIDI0MywgMTU2LCAxMCwgMTEsIDI0MywgMTU1LCAxMCwgMTEsIDI0MywgMTU0LCAxMCwgMTEsIDI0MywgMTUzLCAxMCwgMTEsIAotICAgIDI0MywgMTUyLCAxMCwgMTEsIDI0MywgMTUxLCAxMCwgMTEsIDI0MywgMTUwLCAxMCwgMTEsIDI0MywgMTQ5LCAxMCwgMTEsIAotICAgIDI0MywgMTQ4LCAxMCwgMTEsIDI0MywgMTQ3LCAxMCwgMTEsIDI0MywgMTQ2LCAxMCwgMTEsIDI0MywgMTQ1LCAxMCwgMTEsIAotICAgIDI0MywgMTQ0LCAxMCwgMTEsIDI0MywgMTQzLCAxMCwgMTEsIDI0MywgMTQyLCAxMCwgMTEsIDI0MywgMTQxLCAxMCwgMTEsIAotICAgIDI0MywgMTQwLCAxMCwgMTEsIDI0MywgMTM5LCAxMCwgMTEsIDI0MywgMTM4LCAxMCwgMTEsIDI0MywgMTM3LCAxMCwgMTEsIAotICAgIDI0MywgMTM2LCAxMCwgMTEsIDI0MywgMTM1LCAxMCwgMTEsIDI0MywgMTM0LCAxMCwgMTEsIDI0MywgMTMzLCAxMCwgMTEsIAotICAgIDI0MywgMTMyLCAxMCwgMTEsIDI0MywgMTMxLCAxMCwgMTEsIDI0MywgMTMwLCAxMCwgMTEsIDI0MywgMTI5LCAxMCwgMTEsIAotICAgIDI0MywgMTI4LCAxMCwgMTEsIDI0MywgMTI3LCAxMCwgMTEsIDI0MywgMTI2LCAxMCwgMTEsIDI0MywgMTI1LCAxMCwgMTEsIAotICAgIDI0MywgMTI0LCAxMCwgMTEsIDI0MywgMTIzLCAxMCwgMTEsIDI0MywgMTIyLCAxMCwgMTEsIDI0MywgMTIxLCAxMCwgMTEsIAotICAgIDI0MywgMTIwLCAxMCwgMTEsIDI0MywgMTE5LCAxMCwgMTEsIDI0MywgMTE4LCAxMCwgMTEsIDI0MywgMTE3LCAxMCwgMTEsIAotICAgIDI0MywgMTE2LCAxMCwgMTEsIDI0MywgMTE1LCAxMCwgMTEsIDI0MywgMTE0LCAxMCwgMTEsIDI0MywgMTEzLCAxMCwgMTEsIAotICAgIDI0MiwgMzksIDEwLCAxMSwgMjQyLCAzOCwgMTAsIDExLCAyNDIsIDM3LCAxMCwgMTEsIDI0MiwgMzYsIDEwLCAxMSwgMjQyLCAKLSAgICAzNSwgMTAsIDExLCAyNDIsIDM0LCAxMCwgMTEsIDI0MiwgMzMsIDEwLCAxMSwgMjQyLCAzMiwgMTAsIDExLCAyNDIsIDMxLCAKLSAgICAxMCwgMTEsIDI0MCwgMTMwLCAxMCwgMTEsIDI0MCwgMTI5LCAxMCwgMTEsIDI0MCwgMTI4LCAxMCwgMTEsIDI0MCwgMTI3LCAKLSAgICAxMCwgMTEsIDI0MCwgMTI2LCAxMCwgMTEsIDI0MCwgMTI1LCAxMCwgMTEsIDI0MCwgMTI0LCAxMCwgMTEsIDI0MCwgMTIzLCAKLSAgICAxMCwgMTEsIDI0MCwgMTIyLCAxMCwgMTEsIDI0MCwgMTIxLCAxMCwgMTEsIDI0MCwgMTIwLCAxMCwgMTEsIDI0MCwgMTE5LCAKLSAgICAxMCwgMTEsIDI0MCwgMTE4LCAxMCwgMTEsIDI0MCwgMTE3LCAxMCwgMTEsIDI0MCwgMTE2LCAxMCwgMTEsIDI0MCwgMTE1LCAKLSAgICAxMCwgMTEsIDI0MCwgMTE0LCAxMCwgMTEsIDI0MCwgMTEzLCAxMCwgMTEsIDI0MCwgMTEyLCAxMCwgMTEsIDIzNSwgMjYsIAotICAgIDEwLCAxMSwgMjM1LCAyNSwgMTAsIDExLCAyMzUsIDI0LCAxMCwgMTEsIDIzNSwgMjMsIDEwLCAxMSwgMjM1LCAyMiwgMTAsIAotICAgIDExLCAyMzUsIDIxLCAxMCwgMTEsIDIzNSwgMjAsIDEwLCAxMSwgMjM1LCAxOSwgMTAsIDExLCAyMzMsIDE2OCwgMTAsIDExLCAKLSAgICAyMzMsIDE2NywgMTAsIDExLCAyMzMsIDE2NiwgMTAsIDExLCAyMzMsIDE2NSwgMTAsIDExLCAyMzMsIDE2NCwgMTAsIDExLCAKLSAgICAyMzMsIDE2MywgMTAsIDExLCAyMzMsIDE2MiwgMTAsIDExLCAyMzMsIDE2MSwgMTAsIDExLCAyMzMsIDE2MCwgMTAsIDExLCAKLSAgICAyMzMsIDE1OSwgMTAsIDExLCAyMzIsIDEwOSwgMTAsIDExLCAyMzIsIDEwOCwgMTAsIDExLCAyMzIsIDEwNywgMTAsIDExLCAKLSAgICAyMzIsIDEwNiwgMTAsIDExLCAyMzIsIDEwNSwgMTAsIDExLCAyMzIsIDEwNCwgMTAsIDExLCAyMzIsIDEwMywgMTAsIDExLCAKLSAgICAyMzIsIDEwMiwgMTAsIDExLCAyMzIsIDEwMSwgMTAsIDExLCAyMzIsIDEwMCwgMTAsIDExLCAyMzIsIDk5LCAxMCwgMTEsIAotICAgIDIzMiwgOTgsIDEwLCAxMSwgMjMyLCA5NywgMTAsIDExLCAyMzIsIDk2LCAxMCwgMTEsIDIzMiwgOTUsIDEwLCAxMSwgMjMyLCAKLSAgICA5NCwgMTAsIDExLCAyMzIsIDkzLCAxMCwgMTEsIDIzMiwgOTIsIDEwLCAxMSwgMjMyLCA5MSwgMTAsIDExLCAyMzIsIDkwLCAKLSAgICAxMCwgMTEsIDIzMiwgODksIDEwLCAxMSwgMjMyLCA4OCwgMTAsIDExLCAyMzIsIDg3LCAxMCwgMTEsIDIzMiwgODYsIDEwLCAKLSAgICAxMSwgMjMyLCA4NSwgMTAsIDExLCAyMzIsIDg0LCAxMCwgMTEsIDIzMiwgODMsIDEwLCAxMSwgMjMyLCA4MiwgMTAsIDExLCAKLSAgICAyMzIsIDgxLCAxMCwgMTEsIDIzMiwgODAsIDEwLCAxMSwgMjMyLCA3OSwgMTAsIDExLCAyMzIsIDc4LCAxMCwgMTEsIDIzMiwgCi0gICAgNzcsIDEwLCAxMSwgMjMyLCA3NiwgMTAsIDExLCAyMzIsIDc1LCAxMCwgMTEsIDIzMiwgNzQsIDEwLCAxMSwgMjMyLCA3MywgCi0gICAgMTAsIDExLCAyMzIsIDcyLCAxMCwgMTEsIDIzMiwgNzEsIDEwLCAxMSwgMjMyLCA3MCwgMTAsIDExLCAyMzIsIDY5LCAxMCwgCi0gICAgMTEsIDIzMiwgNjgsIDEwLCAxMSwgMjMyLCA2NywgMTAsIDExLCAyMzIsIDY2LCAxMCwgMTEsIDIzMiwgNjUsIDEwLCAxMSwgCi0gICAgMjMyLCA2NCwgMTAsIDExLCAyMzIsIDYzLCAxMCwgMTEsIDIzMiwgNjIsIDEwLCAxMSwgMjMyLCA2MSwgMTAsIDExLCAyMzIsIAotICAgIDYwLCAxMCwgMTEsIDIzMiwgNTksIDEwLCAxMSwgMjMyLCA1OCwgMTAsIDExLCAyMzIsIDU3LCAxMCwgMTEsIDIzMiwgNTYsIAotICAgIDEwLCAxMSwgMjMyLCA1NSwgMTAsIDExLCAyMzIsIDU0LCAxMCwgMTEsIDIzMiwgNTMsIDEwLCAxMSwgMjMyLCA1MiwgMTAsIAotICAgIDExLCAyMzIsIDUxLCAxMCwgMTEsIDIzMiwgNTAsIDEwLCAxMSwgMjMyLCA0OSwgMTAsIDExLCAyMzIsIDQ4LCAxMCwgMTEsIAotICAgIDIzMiwgNDcsIDEwLCAxMSwgMjMyLCA0NiwgMTAsIDExLCAyMzIsIDQ1LCAxMCwgMTEsIDIzMiwgNDQsIDEwLCAxMSwgMjMwLCAKLSAgICA5NSwgMTAsIDExLCAyMzAsIDk0LCAxMCwgMTEsIDIzMCwgOTMsIDEwLCAxMSwgMjMwLCA5MiwgMTAsIDExLCAyMzAsIDkxLCAKLSAgICAxMCwgMTEsIDIzMCwgOTAsIDEwLCAxMSwgMjMwLCA4OSwgMTAsIDExLCAyMzAsIDg4LCAxMCwgMTEsIDIzMCwgODcsIDEwLCAKLSAgICAxMSwgMjMwLCA4NiwgMTAsIDExLCAyMzAsIDg1LCAxMCwgMTEsIDIzMCwgODQsIDEwLCAxMSwgMjMwLCA4MywgMTAsIDExLCAKLSAgICAyMzAsIDgyLCAxMCwgMTEsIDIzMCwgODEsIDEwLCAxMSwgMjMwLCA4MCwgMTAsIDExLCAyMzAsIDc5LCAxMCwgMTEsIDIzMCwgCi0gICAgNzgsIDEwLCAxMSwgMjMwLCA3NywgMTAsIDExLCAyMzAsIDc2LCAxMCwgMTEsIDIzMCwgNzUsIDEwLCAxMSwgMjMwLCA3NCwgCi0gICAgMTAsIDExLCAyMzAsIDczLCAxMCwgMTEsIDIzMCwgNzIsIDEwLCAxMSwgMjMwLCA3MSwgMTAsIDExLCAyMzAsIDcwLCAxMCwgCi0gICAgMTEsIDIzMCwgNjksIDEwLCAxMSwgMjMwLCA2OCwgMTAsIDExLCAyMzAsIDY3LCAxMCwgMTEsIDIzMCwgNjYsIDEwLCAxMSwgCi0gICAgMjMwLCA2NSwgMTAsIDExLCAyMzAsIDY0LCAxMCwgMTEsIDIzMCwgNjMsIDEwLCAxMSwgMjMwLCA2MiwgMTAsIDExLCAyMzAsIAotICAgIDYxLCAxMCwgMTEsIDIzMCwgNjAsIDEwLCAxMSwgMjMwLCA1OSwgMTAsIDExLCAyMzAsIDU4LCAxMCwgMTEsIDIzMCwgNTcsIAotICAgIDEwLCAxMSwgMjMwLCA1NiwgMTAsIDExLCAyMzAsIDU1LCAxMCwgMTEsIDIzMCwgNTQsIDEwLCAxMSwgMjMwLCA1MywgMTAsIAotICAgIDExLCAyMzAsIDUyLCAxMCwgMTEsIDIzMCwgNTEsIDEwLCAxMSwgMjMwLCA1MCwgMTAsIDExLCAyMzAsIDQ5LCAxMCwgMTEsIAotICAgIDIzMCwgNDgsIDEwLCAxMSwgMjMwLCA0NywgMTAsIDExLCAyMjgsIDIyMiwgMTAsIDExLCAyMjgsIDIyMSwgMTAsIDExLCAKLSAgICAyMjgsIDIyMCwgMTAsIDExLCAyMjgsIDIxOSwgMTAsIDExLCAyMjgsIDIxOCwgMTAsIDExLCAyMjgsIDIxNywgMTAsIDExLCAKLSAgICAyMjgsIDIxNiwgMTAsIDExLCAyMjgsIDIxNSwgMTAsIDExLCAyMjgsIDIxNCwgMTAsIDExLCAyMjgsIDIxMywgMTAsIDExLCAKLSAgICAyMjgsIDIxMiwgMTAsIDExLCAyMjgsIDIxMSwgMTAsIDExLCAyMjgsIDIxMCwgMTAsIDExLCAyMjgsIDIwOSwgMTAsIDExLCAKLSAgICAyMjgsIDIwOCwgMTAsIDExLCAyMjgsIDIwNywgMTAsIDExLCAyMjgsIDIwNiwgMTAsIDExLCAyMjgsIDIwNSwgMTAsIDExLCAKLSAgICAyMjgsIDIwNCwgMTAsIDExLCAyMjgsIDIwMywgMTAsIDExLCAyMjgsIDIwMiwgMTAsIDExLCAyMjgsIDIwMSwgMTAsIDExLCAKLSAgICAyMjgsIDkxLCAxMCwgMTEsIDIyOCwgOTAsIDEwLCAxMSwgMjI4LCA4OSwgMTAsIDExLCAyMjgsIDg4LCAxMCwgMTEsIDIyOCwgCi0gICAgODcsIDEwLCAxMSwgMjI4LCA4NiwgMTAsIDExLCAyMjgsIDg1LCAxMCwgMTEsIDIyOCwgODQsIDEwLCAxMSwgMjI4LCA4MywgCi0gICAgMTAsIDExLCAyMjgsIDgyLCAxMCwgMTEsIDIyOCwgODEsIDEwLCAxMSwgMjI4LCA4MCwgMTAsIDExLCAyMjgsIDc5LCAxMCwgCi0gICAgMTEsIDIyOCwgNzgsIDEwLCAxMSwgMjI4LCA3NywgMTAsIDExLCAyMjgsIDc2LCAxMCwgMTEsIDIyOCwgNzUsIDEwLCAxMSwgCi0gICAgMjI4LCA3NCwgMTAsIDExLCAyMjgsIDczLCAxMCwgMTEsIDIyOCwgNzIsIDEwLCAxMSwgMjI4LCA3MSwgMTAsIDExLCAyMjgsIAotICAgIDcwLCAxMCwgMTEsIDIyOCwgNjksIDEwLCAxMSwgMjI4LCA2OCwgMTAsIDExLCAyMjgsIDY3LCAxMCwgMTEsIDIyOCwgNjYsIAotICAgIDEwLCAxMSwgMjI3LCAxOTYsIDEwLCAxMSwgMjI3LCAxOTUsIDEwLCAxMSwgMjI3LCAxOTQsIDEwLCAxMSwgMjI3LCAxOTMsIAotICAgIDEwLCAxMSwgMjI3LCAxOTIsIDEwLCAxMSwgMjI3LCAxOTEsIDEwLCAxMSwgMjI3LCAxOTAsIDEwLCAxMSwgMjI3LCAxODksIAotICAgIDEwLCAxMSwgMjI3LCAxODgsIDEwLCAxMSwgMjI3LCAxODcsIDEwLCAxMSwgMjI3LCAxODYsIDEwLCAxMSwgMjI3LCAxODUsIAotICAgIDEwLCAxMSwgMjI3LCAxODQsIDEwLCAxMSwgMjI3LCAxODMsIDEwLCAxMSwgMjI3LCAxODIsIDEwLCAxMSwgMjI3LCAxODEsIAotICAgIDEwLCAxMSwgMjI3LCAxODAsIDEwLCAxMSwgMjI3LCAxNzksIDEwLCAxMSwgMjI3LCAxNzgsIDEwLCAxMSwgMjI3LCAxNzcsIAotICAgIDEwLCAxMSwgMjI3LCAxNzYsIDEwLCAxMSwgMjI3LCAxNzUsIDEwLCAxMSwgMjI3LCAxNzQsIDEwLCAxMSwgMjI3LCAxNzMsIAotICAgIDEwLCAxMSwgMjI3LCAxNzIsIDEwLCAxMSwgMjI3LCAxNzEsIDEwLCAxMSwgMjI3LCAxNzAsIDEwLCAxMSwgMjI3LCAxNjksIAotICAgIDEwLCAxMSwgMjI3LCAxNjgsIDEwLCAxMSwgMjI3LCAxNjcsIDEwLCAxMSwgMjI3LCAxNjYsIDEwLCAxMSwgMjI3LCAxNjUsIAotICAgIDEwLCAxMSwgMjI3LCAxNjQsIDEwLCAxMSwgMjI3LCAxNjMsIDEwLCAxMSwgMjI3LCAxNjIsIDEwLCAxMSwgMjI3LCAxNjEsIAotICAgIDEwLCAxMSwgMjI3LCAxNjAsIDEwLCAxMSwgMjI3LCAxNTksIDEwLCAxMSwgMjI3LCAxNTgsIDEwLCAxMSwgMjI3LCAxNTcsIAotICAgIDEwLCAxMSwgMjI3LCAxNTYsIDEwLCAxMSwgMjI3LCAxNTUsIDEwLCAxMSwgMjI3LCAxNTQsIDEwLCAxMSwgMjI3LCAxNTMsIAotICAgIDEwLCAxMSwgMjI3LCAxNTIsIDEwLCAxMSwgMjI3LCAxNTEsIDEwLCAxMSwgMjI3LCAxNTAsIDEwLCAxMSwgMjI3LCAxNDksIAotICAgIDEwLCAxMSwgMjI3LCAxNDgsIDEwLCAxMSwgMjI3LCAxNDcsIDEwLCAxMSwgMjI3LCAxNDYsIDEwLCAxMSwgMjI3LCAxNDUsIAotICAgIDEwLCAxMSwgMjI3LCAxNDQsIDEwLCAxMSwgMjI3LCAxNDMsIDEwLCAxMSwgMjI3LCAxNDIsIDEwLCAxMSwgMjI3LCAxNDEsIAotICAgIDEwLCAxMSwgMjI3LCAxNDAsIDEwLCAxMSwgMjI3LCAxMzksIDEwLCAxMSwgMjI3LCAxMzgsIDEwLCAxMSwgMjI3LCAxMzcsIAotICAgIDEwLCAxMSwgMjI3LCAxMzYsIDEwLCAxMSwgMjI3LCAxMzUsIDEwLCAxMSwgMjI3LCAxMzQsIDEwLCAxMSwgMjI3LCAxMzMsIAotICAgIDEwLCAxMSwgMjI3LCAxMzIsIDEwLCAxMSwgMjI3LCAxMzEsIDEwLCAxMSwgMjI3LCAxMzAsIDEwLCAxMSwgMjI3LCAxMjksIAotICAgIDEwLCAxMSwgMjI3LCAxMjgsIDEwLCAxMSwgMjI3LCAxMjcsIDEwLCAxMSwgMjI3LCAxMjYsIDEwLCAxMSwgMjI3LCAxMjUsIAotICAgIDEwLCAxMSwgMjI3LCAxMjQsIDEwLCAxMSwgMjI3LCAxMjMsIDEwLCAxMSwgMjI3LCAxMjIsIDEwLCAxMSwgMjI2LCAyMjgsIAotICAgIDEwLCAxMSwgMjI2LCAyMjcsIDEwLCAxMSwgMjI2LCAyMjYsIDEwLCAxMSwgMjI2LCAyMjUsIDEwLCAxMSwgMjI2LCAyMjQsIAotICAgIDEwLCAxMSwgMjI2LCAyMjMsIDEwLCAxMSwgMjI2LCAyMjIsIDEwLCAxMSwgMjI2LCAyMjEsIDEwLCAxMSwgMjI2LCAyMjAsIAotICAgIDEwLCAxMSwgMjI2LCAyMTksIDEwLCAxMSwgMjI2LCAyMTgsIDEwLCAxMSwgMjI2LCAyMTcsIDEwLCAxMSwgMjI2LCAyMTYsIAotICAgIDEwLCAxMSwgMjI0LCAyMzksIDEwLCAxMSwgMjI0LCAyMzgsIDEwLCAxMSwgMjI0LCAyMzcsIDEwLCAxMSwgMjI0LCAyMzYsIAotICAgIDEwLCAxMSwgMjI0LCAyMzUsIDEwLCAxMSwgMjI0LCAyMzQsIDEwLCAxMSwgMjI0LCAyMzMsIDEwLCAxMSwgMjI0LCAxMTEsIAotICAgIDEwLCAxMSwgMjI0LCAxMTAsIDEwLCAxMSwgMjI0LCAxMDksIDEwLCAxMSwgMjI0LCAxMDgsIDEwLCAxMSwgMjI0LCAxMDcsIAotICAgIDEwLCAxMSwgMjI0LCAxMDYsIDEwLCAxMSwgMjI0LCAxMDUsIDEwLCAxMSwgMjI0LCAxMDQsIDEwLCAxMSwgMjI0LCAxMDMsIAotICAgIDEwLCAxMSwgMjI0LCAxMDIsIDEwLCAxMSwgMjI0LCAxMDEsIDEwLCAxMSwgMjI0LCAxMDAsIDEwLCAxMSwgMjI0LCA5OSwgCi0gICAgMTAsIDExLCAyMjQsIDk4LCAxMCwgMTEsIDIyNCwgOTcsIDEwLCAxMSwgMjI0LCA5NiwgMTAsIDExLCAyMjQsIDk1LCAxMCwgCi0gICAgMTEsIDIyNCwgOTQsIDEwLCAxMSwgMjI0LCA5MywgMTAsIDExLCAyMjQsIDkyLCAxMCwgMTEsIDIyNCwgOTEsIDEwLCAxMSwgCi0gICAgMjI0LCA5MCwgMTAsIDExLCAyMjQsIDg5LCAxMCwgMTEsIDIyNCwgODgsIDEwLCAxMSwgMjI0LCA4NywgMTAsIDExLCAyMjQsIAotICAgIDg2LCAxMCwgMTEsIDIyNCwgODUsIDEwLCAxMSwgMjI0LCA4NCwgMTAsIDExLCAyMjQsIDgzLCAxMCwgMTEsIDIyNCwgODIsIAotICAgIDEwLCAxMSwgMjI0LCA4MSwgMTAsIDExLCAyMjQsIDgwLCAxMCwgMTEsIDIyNCwgNzksIDEwLCAxMSwgMjI0LCA3OCwgMTAsIAotICAgIDExLCAyMjMsIDEsIDEwLCAxMSwgMjIzLCAwLCAxMCwgMTEsIDIyMiwgMjU1LCAxMCwgMTEsIDIyMiwgMjU0LCAxMCwgMTEsIAotICAgIDIyMiwgMjUzLCAxMCwgMTEsIDIyMiwgMjUyLCAxMCwgMTEsIDIyMiwgMjUxLCAxMCwgMTEsIDIyMiwgMjUwLCAxMCwgMTEsIAotICAgIDIyMiwgMjQ5LCAxMCwgMTEsIDIyMiwgMjQ4LCAxMCwgMTEsIDIyMiwgMjQ3LCAxMCwgMTEsIDIyMiwgMjQ2LCAxMCwgMTEsIAotICAgIDIyMiwgMjQ1LCAxMCwgMTEsIDIyMiwgMjQ0LCAxMCwgMTEsIDIyMiwgMjQzLCAxMCwgMTEsIDIyMiwgMjQyLCAxMCwgMTEsIAotICAgIDIyMiwgMjQxLCAxMCwgMTEsIDIyMiwgMjQwLCAxMCwgMTEsIDIyMiwgMjM5LCAxMCwgMTEsIDIyMiwgMjM4LCAxMCwgMTEsIAotICAgIDIyMiwgMjM3LCAxMCwgMTEsIDIyMiwgMjM2LCAxMCwgMTEsIDIyMiwgMjM1LCAxMCwgMTEsIDIyMiwgMjM0LCAxMCwgMTEsIAotICAgIDIyMiwgMjMzLCAxMCwgMTEsIDIyMiwgMjMyLCAxMCwgMTEsIDIyMiwgMjMxLCAxMCwgMTEsIDIyMiwgMjMwLCAxMCwgMTEsIAotICAgIDIyMiwgMjI5LCAxMCwgMTEsIDIyMiwgMjI4LCAxMCwgMTEsIDIyMiwgMjI3LCAxMCwgMTEsIDIyMiwgMjI2LCAxMCwgMTEsIAotICAgIDIyMiwgMjI1LCAxMCwgMTEsIDIyMiwgMjI0LCAxMCwgMTEsIDIyMiwgMjIzLCAxMCwgMTEsIDIyMiwgMjIyLCAxMCwgMTEsIAotICAgIDIyMiwgMjIxLCAxMCwgMTEsIDIyMiwgMjIwLCAxMCwgMTEsIDIyMiwgMjE5LCAxMCwgMTEsIDIyMiwgMjE4LCAxMCwgMTEsIAotICAgIDIyMiwgMjE3LCAxMCwgMTEsIDIyMiwgMjE2LCAxMCwgMTEsIDIyMiwgMjE1LCAxMCwgMTEsIDIyMiwgMjE0LCAxMCwgMTEsIAotICAgIDIyMiwgMjEzLCAxMCwgMTEsIDIyMiwgMjEyLCAxMCwgMTEsIDIyMiwgMjExLCAxMCwgMTEsIDIyMiwgMjEwLCAxMCwgMTEsIAotICAgIDIyMiwgMjA5LCAxMCwgMTEsIDIyMiwgMjA4LCAxMCwgMTEsIDIyMiwgMjA3LCAxMCwgMTEsIDIyMiwgMjA2LCAxMCwgMTEsIAotICAgIDIyMiwgMjA1LCAxMCwgMTEsIDIyMiwgMjA0LCAxMCwgMTEsIDIxOCwgOTcsIDEwLCAxMSwgMjE4LCA5NiwgMTAsIDExLCAKLSAgICAyMTgsIDk1LCAxMCwgMTEsIDIxOCwgOTQsIDEwLCAxMSwgMjE4LCA5MywgMTAsIDExLCAyMTgsIDkyLCAxMCwgMTEsIDIxOCwgCi0gICAgOTEsIDEwLCAxMSwgMjE4LCA5MCwgMTAsIDExLCAyMTgsIDg5LCAxMCwgMTEsIDIxOCwgODgsIDEwLCAxMSwgMjE4LCA4NywgCi0gICAgMTAsIDExLCAyMTgsIDg2LCAxMCwgMTEsIDIxOCwgODUsIDEwLCAxMSwgMjE4LCA4NCwgMTAsIDExLCAyMTgsIDgzLCAxMCwgCi0gICAgMTEsIDIxOCwgODIsIDEwLCAxMSwgMjE4LCA4MSwgMTAsIDExLCAyMTgsIDgwLCAxMCwgMTEsIDIxOCwgNzksIDEwLCAxMSwgCi0gICAgMjE4LCA3OCwgMTAsIDExLCAyMTgsIDc3LCAxMCwgMTEsIDIxOCwgNzYsIDEwLCAxMSwgMjE4LCA3NSwgMTAsIDExLCAyMTgsIAotICAgIDc0LCAxMCwgMTEsIDIxOCwgNzMsIDEwLCAxMSwgMjE4LCA3MiwgMTAsIDExLCAyMTgsIDcxLCAxMCwgMTEsIDIxOCwgNzAsIAotICAgIDEwLCAxMSwgMjE4LCA2OSwgMTAsIDExLCAyMTgsIDY4LCAxMCwgMTEsIDIxOCwgNjcsIDEwLCAxMSwgMjE4LCA2NiwgMTAsIAotICAgIDExLCAyMTgsIDY1LCAxMCwgMTEsIDIxOCwgNjQsIDEwLCAxMSwgMjE4LCA2MywgMTAsIDExLCAyMTgsIDYyLCAxMCwgMTEsIAotICAgIDIxOCwgNjEsIDEwLCAxMSwgMjE4LCA2MCwgMTAsIDExLCAyMTgsIDU5LCAxMCwgMTEsIDIxOCwgNTgsIDEwLCAxMSwgMjE4LCAKLSAgICA1NywgMTAsIDExLCAyMTgsIDU2LCAxMCwgMTEsIDIxOCwgNTUsIDEwLCAxMSwgMjE4LCA1NCwgMTAsIDExLCAyMTUsIDI0NSwgCi0gICAgMTAsIDExLCAyMTUsIDI0NCwgMTAsIDExLCAyMTUsIDI0MywgMTAsIDExLCAyMTUsIDI0MiwgMTAsIDExLCAyMTUsIDI0MSwgCi0gICAgMTAsIDExLCAyMTUsIDI0MCwgMTAsIDExLCAyMTUsIDIzOSwgMTAsIDExLCAyMTUsIDIzOCwgMTAsIDExLCAyMTUsIDIzNywgCi0gICAgMTAsIDExLCAyMTUsIDIzNiwgMTAsIDExLCAyMTUsIDIzNSwgMTAsIDExLCAyMTUsIDIzNCwgMTAsIDExLCAyMTUsIDIzMywgCi0gICAgMTAsIDExLCAyMTUsIDIzMiwgMTAsIDExLCAyMTUsIDIzMSwgMTAsIDExLCAyMTUsIDIzMCwgMTAsIDExLCAyMTUsIDIyOSwgCi0gICAgMTAsIDExLCAyMTUsIDIyOCwgMTAsIDExLCAyMTUsIDIyNywgMTAsIDExLCAyMTUsIDIyNiwgMTAsIDExLCAyMTUsIDIyNSwgCi0gICAgMTAsIDExLCAyMTUsIDIyNCwgMTAsIDExLCAyMTUsIDIyMywgMTAsIDExLCAyMTUsIDIyMiwgMTAsIDExLCAyMTUsIDIyMSwgCi0gICAgMTAsIDExLCAyMTUsIDIyMCwgMTAsIDExLCAyMTUsIDIxOSwgMTAsIDExLCAyMTUsIDIxOCwgMTAsIDExLCAyMTUsIDIxNywgCi0gICAgMTAsIDExLCAyMTUsIDIxNiwgMTAsIDExLCAyMTUsIDIxNSwgMTAsIDExLCAyMTUsIDIxNCwgMTAsIDExLCAyMTUsIDIxMywgCi0gICAgMTAsIDExLCAyMTUsIDIxMiwgMTAsIDExLCAyMTUsIDIxMSwgMTAsIDExLCAyMTUsIDIxMCwgMTAsIDExLCAyMTUsIDIwOSwgCi0gICAgMTAsIDExLCAyMTUsIDIwOCwgMTAsIDExLCAyMTUsIDIwNywgMTAsIDExLCAyMTUsIDIwNiwgMTAsIDExLCAyMTUsIDIwNSwgCi0gICAgMTAsIDExLCAyMTUsIDIwNCwgMTAsIDExLCAyMTUsIDIwMywgMTAsIDExLCAyMTUsIDIwMiwgMTAsIDExLCAyMTUsIDIwMSwgCi0gICAgMTAsIDExLCAyMTUsIDIwMCwgMTAsIDExLCAyMTUsIDE5OSwgMTAsIDExLCAyMTUsIDc4LCAxMCwgMTEsIDIxNSwgNzcsIDEwLCAKLSAgICAxMSwgMjE1LCA3NiwgMTAsIDExLCAyMTUsIDc1LCAxMCwgMTEsIDIxNSwgNzQsIDEwLCAxMSwgMjE1LCA3MywgMTAsIDExLCAKLSAgICAyMTUsIDcyLCAxMCwgMTEsIDIxNSwgNzEsIDEwLCAxMSwgMjE1LCA3MCwgMTAsIDExLCAyMTUsIDY5LCAxMCwgMTEsIDIxNSwgCi0gICAgNjgsIDEwLCAxMSwgMjE1LCA2NywgMTAsIDExLCAyMTUsIDY2LCAxMCwgMTEsIDIxNSwgNjUsIDEwLCAxMSwgMjE1LCA2NCwgCi0gICAgMTAsIDExLCAyMTUsIDYzLCAxMCwgMTEsIDIxNSwgNjIsIDEwLCAxMSwgMjE1LCA2MSwgMTAsIDExLCAyMTUsIDYwLCAxMCwgCi0gICAgMTEsIDIxNSwgNTksIDEwLCAxMSwgMjE1LCA1OCwgMTAsIDExLCAyMTUsIDU3LCAxMCwgMTEsIDIxNSwgNTYsIDEwLCAxMSwgCi0gICAgMjE1LCA1NSwgMTAsIDExLCAyMTUsIDU0LCAxMCwgMTEsIDIxNSwgNTMsIDEwLCAxMSwgMjE1LCA1MiwgMTAsIDExLCAyMTUsIAotICAgIDUxLCAxMCwgMTEsIDIxNSwgNTAsIDEwLCAxMSwgMjE1LCA0OSwgMTAsIDExLCAyMTUsIDQ4LCAxMCwgMTEsIDIxNSwgNDcsIAotICAgIDEwLCAxMSwgMjE1LCA0NiwgMTAsIDExLCAyMTUsIDQ1LCAxMCwgMTEsIDIxNSwgNDQsIDEwLCAxMSwgMjE1LCA0MywgMTAsIAotICAgIDExLCAyMTUsIDQyLCAxMCwgMTEsIDIxNSwgNDEsIDEwLCAxMSwgMjE1LCA0MCwgMTAsIDExLCAyMTUsIDM5LCAxMCwgMTEsIAotICAgIDIxNSwgMzgsIDEwLCAxMSwgMjE1LCAzNywgMTAsIDExLCAyMTUsIDM2LCAxMCwgMTEsIDIxNSwgMzUsIDEwLCAxMSwgMjE1LCAKLSAgICAzNCwgMTAsIDExLCAyMTUsIDMzLCAxMCwgMTEsIDIxNSwgMzIsIDEwLCAxMSwgMjE1LCAzMSwgMTAsIDExLCAyMTUsIDMwLCAKLSAgICAxMCwgMTEsIDIxNSwgMjksIDEwLCAxMSwgMjE1LCAyOCwgMTAsIDExLCAyMTUsIDI3LCAxMCwgMTEsIDIxNSwgMjYsIDEwLCAKLSAgICAxMSwgMjE1LCAyNSwgMTAsIDExLCAyMTUsIDI0LCAxMCwgMTEsIDIxNSwgMjMsIDEwLCAxMSwgMjE1LCAyMiwgMTAsIDExLCAKLSAgICAyMTUsIDIxLCAxMCwgMTEsIDIxNSwgMjAsIDEwLCAxMSwgMjE1LCAxOSwgMTAsIDExLCAyMTUsIDE4LCAxMCwgMTEsIDIxNSwgCi0gICAgMTcsIDEwLCAxMSwgMjE1LCAxNiwgMTAsIDExLCAyMTUsIDE1LCAxMCwgMTEsIDIxNSwgMTQsIDEwLCAxMSwgMjE1LCAxMywgCi0gICAgMTAsIDExLCAyMTUsIDEyLCAxMCwgMTEsIDIxNSwgMTEsIDEwLCAxMSwgMjE1LCAxMCwgMTAsIDExLCAyMTUsIDksIDEwLCAKLSAgICAxMSwgMjE1LCA4LCAxMCwgMTEsIDIxNSwgNywgMTAsIDExLCAyMTUsIDYsIDEwLCAxMSwgMjE1LCA1LCAxMCwgMTEsIDIxNSwgCi0gICAgNCwgMTAsIDExLCAyMTUsIDMsIDEwLCAxMSwgMjE1LCAyLCAxMCwgMTEsIDIxNCwgODEsIDEwLCAxMSwgMjE0LCA4MCwgMTAsIAotICAgIDExLCAyMTQsIDc5LCAxMCwgMTEsIDIxNCwgNzgsIDEwLCAxMSwgMjE0LCA3NywgMTAsIDExLCAyMTQsIDc2LCAxMCwgMTEsIAotICAgIDIxNCwgNzUsIDEwLCAxMSwgMjE0LCA3NCwgMTAsIDExLCAyMTQsIDczLCAxMCwgMTEsIDIxNCwgNzIsIDEwLCAxMSwgMjE0LCAKLSAgICA3MSwgMTAsIDExLCAyMTQsIDcwLCAxMCwgMTEsIDIxNCwgNjksIDEwLCAxMSwgMjE0LCA2OCwgMTAsIDExLCAyMTQsIDY3LCAKLSAgICAxMCwgMTEsIDIxNCwgNjYsIDEwLCAxMSwgMjE0LCA2NSwgMTAsIDExLCAyMTQsIDY0LCAxMCwgMTEsIDIxNCwgNjMsIDEwLCAKLSAgICAxMSwgMjE0LCA2MiwgMTAsIDExLCAyMTQsIDYxLCAxMCwgMTEsIDIxNCwgNjAsIDEwLCAxMSwgMjE0LCA1OSwgMTAsIDExLCAKLSAgICAyMTQsIDU4LCAxMCwgMTEsIDIxNCwgNTcsIDEwLCAxMSwgMjE0LCA1NiwgMTAsIDExLCAyMTQsIDU1LCAxMCwgMTEsIDIxNCwgCi0gICAgNTQsIDEwLCAxMSwgMjE0LCA1MywgMTAsIDExLCAyMTQsIDUyLCAxMCwgMTEsIDIxNCwgNTEsIDEwLCAxMSwgMjE0LCA1MCwgCi0gICAgMTAsIDExLCAyMTMsIDE2NSwgMTAsIDExLCAyMTMsIDE2NCwgMTAsIDExLCAyMTMsIDE2MywgMTAsIDExLCAyMTMsIDE2MiwgCi0gICAgMTAsIDExLCAyMTMsIDE2MSwgMTAsIDExLCAyMTMsIDE2MCwgMTAsIDExLCAyMTMsIDE1OSwgMTAsIDExLCAyMTMsIDE1OCwgCi0gICAgMTAsIDExLCAyMTMsIDE1NywgMTAsIDExLCAyMTMsIDE1NiwgMTAsIDExLCAyMTMsIDE1NSwgMTAsIDExLCAyMTMsIDE1NCwgCi0gICAgMTAsIDExLCAyMTMsIDEwMywgMTAsIDExLCAyMTMsIDEwMiwgMTAsIDExLCAyMTMsIDEwMSwgMTAsIDExLCAyMTMsIDEwMCwgCi0gICAgMTAsIDExLCAyMTMsIDk5LCAxMCwgMTEsIDIxMywgOTgsIDEwLCAxMSwgMjEzLCA5NywgMTAsIDExLCAyMTMsIDk2LCAxMCwgCi0gICAgMTEsIDIxMywgOTUsIDEwLCAxMSwgMjEyLCAxNTEsIDEwLCAxMSwgMjEyLCAxNTAsIDEwLCAxMSwgMjEyLCAxNDksIDEwLCAKLSAgICAxMSwgMjEyLCAxNDgsIDEwLCAxMSwgMjEyLCAxNDcsIDEwLCAxMSwgMjEyLCAxNDYsIDEwLCAxMSwgMjEyLCAxNDUsIDEwLCAKLSAgICAxMSwgMjEyLCAxNDQsIDEwLCAxMSwgMjEyLCAxNDMsIDEwLCAxMSwgMjEyLCAxNDIsIDEwLCAxMSwgMjEyLCAxNDEsIDEwLCAKLSAgICAxMSwgMjEyLCAxNDAsIDEwLCAxMSwgMjEyLCAxMzksIDEwLCAxMSwgMjEyLCAxMzgsIDEwLCAxMSwgMjEyLCAxMzcsIDEwLCAKLSAgICAxMSwgMjEyLCAxMzYsIDEwLCAxMSwgMjEyLCAxMzUsIDEwLCAxMSwgMjEyLCAxMzQsIDEwLCAxMSwgMjEyLCAxMzMsIDEwLCAKLSAgICAxMSwgMjEyLCAxMzIsIDEwLCAxMSwgMjEyLCAxMzEsIDEwLCAxMSwgMjEyLCAxMzAsIDEwLCAxMSwgMjEyLCAxMjksIDEwLCAKLSAgICAxMSwgMjEyLCAxMjgsIDEwLCAxMSwgMjEyLCAxMjcsIDEwLCAxMSwgMjEyLCAxMjYsIDEwLCAxMSwgMjEyLCAxMjUsIDEwLCAKLSAgICAxMSwgMjEyLCAxMjQsIDEwLCAxMSwgMjEyLCAxMjMsIDEwLCAxMSwgMjEyLCAxMjIsIDEwLCAxMSwgMjEyLCAxMjEsIDEwLCAKLSAgICAxMSwgMjEyLCAxMjAsIDEwLCAxMSwgMjEyLCAxMTksIDEwLCAxMSwgMjEyLCAxMTgsIDEwLCAxMSwgMjEyLCAxMTcsIDEwLCAKLSAgICAxMSwgMjEyLCAxMTYsIDEwLCAxMSwgMjEyLCAxMTUsIDEwLCAxMSwgMjEyLCAxMTQsIDEwLCAxMSwgMjEyLCAxMTMsIDEwLCAKLSAgICAxMSwgMjEyLCAxMTIsIDEwLCAxMSwgMjEyLCAxMTEsIDEwLCAxMSwgMjU0LCAyMzEsIDEwLCAxMSwgMjU0LCAyMzAsIDEwLCAKLSAgICAxMSwgMjU0LCAyMjksIDEwLCAxMSwgMjU0LCAyMjgsIDEwLCAxMSwgMjU0LCAyMjcsIDEwLCAxMSwgMjU0LCAyMjYsIDEwLCAKLSAgICAxMSwgMjU0LCAyMjUsIDEwLCAxMSwgMjU0LCAyMjQsIDEwLCAxMSwgMjU0LCAyMjMsIDEwLCAxMSwgMjU0LCAyMjIsIDEwLCAKLSAgICAxMSwgMjU0LCAyMjEsIDEwLCAxMSwgMjU0LCAyMjAsIDEwLCAxMSwgMjU0LCAyMTksIDEwLCAxMSwgMjU0LCAyMTgsIDEwLCAKLSAgICAxMSwgMjU0LCAyMTcsIDEwLCAxMSwgMjU0LCAyMTYsIDEwLCAxMSwgMjU0LCAyMTUsIDEwLCAxMSwgMjU0LCAyMTQsIDEwLCAKLSAgICAxMSwgMjU0LCAyMTMsIDEwLCAxMSwgMjU0LCAyMTIsIDEwLCAxMSwgMjU0LCAyMTEsIDEwLCAxMSwgMjU0LCAyMTAsIDEwLCAKLSAgICAxMSwgMjU0LCAyMDksIDEwLCAxMSwgMjU0LCAyMDgsIDEwLCAxMSwgMjU0LCAyMDcsIDEwLCAxMSwgMjU0LCAyMDYsIDEwLCAKLSAgICAxMSwgMjU0LCAyMDUsIDEwLCAxMSwgMjU0LCAyMDQsIDEwLCAxMSwgMjU0LCAyMDMsIDEwLCAxMSwgMjU0LCAyMDIsIDEwLCAKLSAgICAxMSwgMjU0LCAyMDEsIDEwLCAxMSwgMjU0LCAyMDAsIDEwLCAxMSwgMjU0LCAxOTksIDEwLCAxMSwgMjU0LCAxOTgsIDIwLCAKLSAgICAxLCAxNTMsIDIyOSwgOTgsIDIzMSwgODMsIDIwLCAxLCAxNTMsIDI0MywgNDYsIDI0NCwgNSwgMjAsIDEsIDE1MywgMjI1LCAKLSAgICAxMzEsIDIzMSwgODQsIDIyNSwgMTg5LCAyMCwgMSwgMTUzLCAyMjUsIDEzMSwgMjMxLCA4NCwgMjI1LCAxOTAsIDIwLCAxLCAKLSAgICAxNTMsIDIzMCwgNDQsIDIzMSwgODMsIDIwLCAxLCAxNTMsIDIyMCwgMTQ2LCAyMCwgMSwgMTUzLCAyMTcsIDE5LCAyMzEsIAotICAgIDgzLCAyMCwgMSwgMTUzLCAyMjcsIDIzOCwgMjMxLCA4MywgMjAsIDEsIDE1MywgMjIwLCAxOTksIDIyNiwgMjE0LCAyMjksIAotICAgIDAsIDIwLCAxLCAxNTMsIDIyNSwgMTMxLCAyMjYsIDIxNCwgMjI5LCAxLCAyMjUsIDE4OSwgMjAsIDEsIDE1MywgMjI1LCAKLSAgICAxMzEsIDIyNiwgMjE0LCAyMjksIDEsIDIyNSwgMTkwLCAyMCwgMSwgMTUzLCAyMzIsIDIzLCAyMCwgMSwgMTUzLCAyMTYsIAotICAgIDgzLCAyMzIsIDI0LCAyMCwgMSwgMTUzLCAyMjksIDE1NCwgMjAsIDEsIDE1MywgMjMyLCAyMCwgMjAsIDEsIDE1MywgMjMxLCAKLSAgICAyMzksIDIwLCAxLCAxNTMsIDIzMCwgMTE5LCAyMCwgMSwgMTUzLCAyMjEsIDQ1LCAyMCwgMSwgMTUzLCAyMjgsIDk2LCAyMCwgCi0gICAgMSwgMTUzLCAyMzQsIDE1NSwgMjAsIDEsIDE1MywgMjI4LCAyMjUsIDIwLCAxLCAxNTMsIDIxOCwgMjA1LCAyMCwgMSwgMTUzLCAKLSAgICAyMjksIDk3LCAyMCwgMSwgMTUzLCAyMzMsIDExMCwgMjAsIDEsIDE1MywgMjMzLCAzNiwgMjMzLCAyMTAsIDIwLCAxLCAxNTMsIAotICAgIDIyOCwgMTAzLCAyMzEsIDkxLCAyMCwgMSwgMTUzLCAyMzIsIDI3LCAyMCwgMSwgMTUzLCAyMjYsIDExOSwgMjAsIDEsIDE1MywgCi0gICAgMjQyLCAyMDcsIDIwLCAxLCAxNTMsIDIyNiwgMTc3LCAyMCwgMSwgMTUzLCAyMzAsIDIyMSwgMjI5LCAxMzAsIDIwLCAxLCAKLSAgICAxNTMsIDIyNywgMjE5LCAyMzEsIDk0LCAyMCwgMSwgMTUzLCAxMTEsIDIxMiwgMTc5LCAyMzAsIDM4LCAyMCwgMSwgMTUzLCAKLSAgICAyNDIsIDIwOCwgMjAsIDEsIDE1MywgMjI4LCAxMDMsIDIyOCwgMTA0LCAyMCwgMSwgMTUzLCAyMjAsIDU2LCAyMCwgMSwgCi0gICAgMTUzLCAyMzEsIDc2LCAyMCwgMSwgMTUzLCAyMzEsIDk3LCAyMCwgMSwgMTUzLCAyMzAsIDIwMCwgMjAsIDEsIDE1MywgMjM0LCAKLSAgICAyNTMsIDIwLCAxLCAxNTMsIDIyNiwgMjE0LCAyMzMsIDcxLCAyMCwgMSwgMTUzLCAyMjksIDIyOSwgMjMzLCA3MSwgMjAsIDEsIAotICAgIDE1MywgMjI2LCAzNCwgMjAsIDEsIDE1MywgMjMyLCAyMSwgMjAsIDEsIDE1MywgMjI5LCAzOCwgMjAsIDEsIDE1MywgMjI1LCAKLSAgICAyMCwgMjAsIDEsIDE1MywgMjE2LCA4MCwgMjAsIDEsIDE1MywgMjMyLCAxNTIsIDIwLCAxLCAxNTMsIDIxOSwgMjI3LCAyMCwgCi0gICAgMSwgMTUzLCAyMTcsIDE2OSwgMjAsIDEsIDE1MywgMjMyLCAxOCwgMjAsIDEsIDE1MywgMjM0LCAxNjIsIDIwLCAxLCAxNTMsIAotICAgIDIyOSwgMjI1LCAyMCwgMSwgMTUzLCAyMzMsIDIyMiwgMjAsIDEsIDE1MywgMjMwLCAyMDEsIDIwLCAxLCAxNTMsIDIyMCwgCi0gICAgMTQzLCAyMCwgMSwgMTUzLCAyMzIsIDE5MSwgMjAsIDEsIDE1MywgMjQ0LCA2MiwgMjAsIDEsIDE1MywgMjIzLCAxMDEsIDIwLCAKLSAgICAxLCAxNTMsIDIzMywgMjUwLCAyMCwgMSwgMTUzLCAyMTksIDIyMywgMjAsIDEsIDE1MywgMjMxLCAyMzYsIDIyNSwgMjMxLCAKLSAgICAyMCwgMSwgMTUzLCAyMjAsIDE5MiwgMjAsIDEsIDE1MywgMjI4LCAxMDIsIDIwLCAxLCAxNTMsIDIyMCwgMTc3LCAyMjgsIAotICAgIDExMywgMjEyLCAxODcsIDIwLCAxLCAxNTMsIDIyOCwgMSwgMjMwLCAyMTgsIDIwLCAxLCAxNTMsIDIyNiwgMjA5LCAyMCwgMSwgCi0gICAgMTUzLCAyMjgsIDIyNiwgMjAsIDEsIDE1MywgMjE1LCAxNDEsIDIwLCAxLCAxNTMsIDIyOSwgMTMzLCAyMCwgMSwgMTUzLCAKLSAgICAyMzIsIDE3LCAyMCwgMSwgMTUzLCAyMjksIDEyLCAyMCwgMSwgMTUzLCAyMzEsIDE4MiwgMjAsIDEsIDE1MywgMjI4LCAxMiwgCi0gICAgMjAsIDEsIDE1MywgMjE3LCAxNzMsIDIwLCAxLCAxNTMsIDIxOSwgMjIxLCAyMCwgMSwgMTUzLCAyMjYsIDIxMCwgMjAsIDEsIAotICAgIDE1MywgMjI4LCAxMTcsIDIwLCAxLCAxNTMsIDIzMiwgMjUsIDIwLCAxLCAxNTMsIDIyOCwgMTAsIDIwLCAxLCAxNTMsIDIzNCwgCi0gICAgMjIxLCAyMCwgMSwgMTUzLCAyMjgsIDEyMCwgMjAsIDEsIDE1MywgMjE0LCAyMjcsIDIwLCAxLCAxNTMsIDIzMiwgMTU2LCAKLSAgICAyMCwgMSwgMTUzLCAyMjksIDE4MCwgMjAsIDEsIDE1MywgMjMwLCAxNiwgMjAsIDEsIDE1MywgMjMxLCAxODEsIDIwLCAxLCAKLSAgICAyMjYsIDE0LCAyMjgsIDExNSwgMjAsIDEsIDIyNiwgMTQsIDIxNiwgODMsIDIzMiwgMjIsIDIwLCAxLCAyMjYsIDE0LCAyMjAsIAotICAgIDExMSwgMjAsIDEsIDIyNiwgMTQsIDIyMSwgNDksIDIxNiwgODIsIDIwLCAxLCAyMjYsIDE0LCAyMzIsIDE5MywgMjI4LCA5OSwgCi0gICAgMjAsIDEsIDIyNiwgMTQsIDIzMSwgMTg4LCAyMzIsIDI2LCAyMCwgMSwgMjI2LCAxNCwgMjM0LCA5NiwgMjAsIDEsIDIyNiwgCi0gICAgMTQsIDIxMywgNiwgMjAsIDEsIDIyNiwgMTQsIDIzMSwgMTgzLCAyMCwgMSwgMjI2LCAxNCwgMjM0LCAyNDIsIDIwLCAxLCAKLSAgICAyMjYsIDE0LCAyMjYsIDgzLCAyMCwgMSwgMjI2LCAxNCwgMjEzLCA3NywgMjMzLCA3MSwgMjAsIDEsIDIyNiwgMTQsIDIzMywgCi0gICAgMTI3LCAyMjgsIDExMywgMjI4LCAyMCwgMjAsIDEsIDIyNiwgMTQsIDIyOCwgOTcsIDIyMCwgMjE4LCAyMCwgMSwgMjI2LCAKLSAgICAxNCwgMjI5LCAxOTYsIDIyOSwgMTUsIDIwLCAxLCAyMjYsIDE0LCAyNDIsIDIwNSwgMjAsIDEsIDIyNiwgMTQsIDIyNSwgCi0gICAgMTgxLCAyMCwgMSwgMjI2LCAxNCwgMjE2LCA4MywgMjI4LCAxMTEsIDIwLCAxLCAyMjYsIDE0LCAyMjAsIDIyMywgMjI5LCAKLSAgICAxMCwgMjAsIDEsIDIyNiwgMTQsIDIyMCwgMjE5LCAyMCwgMSwgMjI2LCAxNCwgMjMxLCA4NCwgMjE3LCAxNzIsIDIwLCAxLCAKLSAgICAyMjYsIDE0LCAyMzEsIDE3MCwgMjMxLCAxODQsIDIwLCAxLCAyMjYsIDE0LCAyMjgsIDExLCAyMjgsIDk5LCAyMCwgMSwgCi0gICAgMjI2LCAxNCwgMjM0LCAxNTEsIDIwLCAxLCAyMjYsIDE0LCAyNDIsIDIwNiwgMjAsIDEsIDIyNiwgMTQsIDIzNCwgMTQ3LCAKLSAgICAyMCwgMSwgMjI2LCAxNCwgMjMzLCAxNTEsIDIwLCAxLCAyMjYsIDE0LCAyMjYsIDEyMSwgMjAsIDEsIDIyNiwgMTQsIDIxNCwgCi0gICAgMTU5LCAyMCwgMSwgMjI2LCAxNCwgMjI5LCA5OSwgMjMwLCAxMTcsIDIwLCAxLCAyMjYsIDE0LCAyMjksIDEzMiwgMjMxLCAKLSAgICAxNjYsIDIwLCAxLCAyMjYsIDE0LCAyMTMsIDE4MSwgMjAsIDEsIDIyNiwgMTQsIDIyMiwgMTgyLCAyMCwgMSwgMjI2LCAxNCwgCi0gICAgMjE4LCA0NSwgMjAsIDEsIDIyNiwgMTQsIDIzMSwgOTYsIDIwLCAxLCAyMjYsIDE0LCAyMjksIDExNywgMjAsIDEsIDIyNiwgCi0gICAgMTQsIDIyOSwgMTE4LCAyMzMsIDEwNywgMjAsIDEsIDIyNiwgMTQsIDIzMSwgODYsIDIwLCAxLCAyMjYsIDE0LCAyMTgsIAotICAgIDI1MywgMjAsIDEsIDIyNiwgMTQsIDIzMSwgMTc0LCAyMCwgMSwgMjI2LCAxNCwgMjMwLCAyMDMsIDIwLCAxLCAyMjYsIDE0LCAKLSAgICAyMjgsIDIxLCAyMCwgMSwgMjI2LCAxNCwgMjI1LCAyNCwgMjAsIDEsIDIyNiwgMTQsIDIzMSwgOTUsIDIyOSwgMTM0LCAyMCwgCi0gICAgMSwgMjI2LCAxNCwgMjQ0LCA5NSwgMjAsIDEsIDIyNiwgMTQsIDIzMSwgMTYxLCAyMCwgMSwgMjI2LCAxNCwgMjQ0LCAxMTYsIAotICAgIDIwLCAxLCAyMjYsIDE0LCAyMzQsIDE1OSwgMjAsIDEsIDIyNiwgMTQsIDIzMiwgNDMsIDIyOSwgNCwgMjAsIDEsIDIyNiwgCi0gICAgMTQsIDIzMiwgNDMsIDIyOCwgMjM2LCAyMCwgMSwgMjI2LCAxNCwgMjMzLCAzNSwgMjAsIDEsIDIyNiwgMTQsIDIyOSwgMTQwLCAKLSAgICAyMCwgMSwgMjI2LCAxNCwgMjI4LCAxMjIsIDIwLCAxLCAyMjYsIDE0LCAxODgsIDIwLCAxLCAyMjYsIDE0LCAyMzQsIDgzLCAKLSAgICAyMCwgMSwgMjI2LCAxNCwgMjI5LCA4NywgMjAsIDEsIDEzMSwgMjI5LCA5OCwgMjMyLCAyNCwgMjAsIDEsIDEzMSwgMjI3LCAKLSAgICAyMzcsIDIwLCAxLCAxMzEsIDIxMiwgMTg3LCAyMCwgMSwgMTMxLCAyMTQsIDM3LCAyMCwgMSwgMTMxLCAyMjksIDEzMywgMjAsIAotICAgIDEsIDEzMSwgMjI5LCAyMTcsIDIwLCAxLCAxMzEsIDIyOSwgMTA1LCAyMCwgMSwgMTMxLCAyNDIsIDIxNSwgMjAsIDEsIDEzMSwgCi0gICAgMjMxLCAxNzgsIDIwLCAxLCAxMzEsIDI0MywgNTMsIDIwLCAxLCAxMzEsIDIyOCwgMywgMjMwLCAyMzksIDIzMSwgOTgsIDIwLCAKLSAgICAxLCAxMzEsIDIyOCwgOTUsIDIzMSwgMTY5LCAyMCwgMSwgMTMxLCAyMzEsIDE3NSwgMjAsIDEsIDEzMSwgMjI1LCAxODcsIAotICAgIDIwLCAxLCAxMzEsIDIyOSwgMjAyLCAyMCwgMSwgMTMxLCAyMzEsIDE4NiwgMjUwLCAyMTUsIDIwLCAxLCAxMzEsIDIzNCwgCi0gICAgMTQ5LCAyMCwgMSwgMTMxLCAyNDIsIDIxNiwgMjAsIDEsIDEzMSwgMjM0LCAxNTYsIDIwLCAxLCAxMzEsIDIxMiwgMjA0LCAKLSAgICAyMzAsIDE0NiwgMjAsIDEsIDEzMSwgMjI3LCAyMzEsIDIwLCAxLCAxMzEsIDIzMSwgMTYzLCAyMCwgMSwgMTMxLCAyMjgsIAotICAgIDEyMSwgMjAsIDEsIDEzMSwgMjMxLCAxNjksIDIwLCAxLCAxMzEsIDIxMywgNywgMjAsIDEsIDEzMSwgMjM0LCAyLCAyMCwgMSwgCi0gICAgMTMxLCAyMzUsIDE0LCAyMCwgMSwgMTMxLCAyMjEsIDQ0LCAyMCwgMSwgMTMxLCAyMjksIDIxMSwgMjAsIDEsIDEzMSwgMjE4LCAKLSAgICA0MywgMjAsIDEsIDEzMSwgMjI4LCAyNDAsIDIwLCAxLCAxMzEsIDIxNywgMTksIDIxMiwgMTg5LCAyMCwgMSwgMTMxLCAyMTksIAotICAgIDIzLCAyMCwgMSwgMTMxLCAyMjksIDEyNCwgMjI4LCAyMCwgMjAsIDEsIDEzMSwgMjE0LCAxNTgsIDIwLCAxLCAxMzEsIDIzMCwgCi0gICAgMTksIDIwLCAxLCAxMzEsIDIzMiwgNDMsIDIzNCwgMTU4LCAyMCwgMSwgMTMxLCAyMjgsIDEwNCwgMjAsIDEsIDEzMSwgMjI5LCAKLSAgICAxMTksIDIwLCAxLCAxMzEsIDIzMywgMTExLCAyMCwgMSwgMTMxLCAyMzEsIDE3MSwgMjAsIDEsIDEzMSwgMjMxLCA3NSwgMjAsIAotICAgIDEsIDEzMSwgMjI4LCA5OCwgMjAsIDEsIDEzMSwgMjE3LCAxNjgsIDIwLCAxLCAxMzEsIDIyOSwgMTIxLCAyMCwgMSwgMTMxLCAKLSAgICAyNDMsIDIwNCwgMjAsIDEsIDEzMSwgMjI5LCAyMTYsIDIwLCAxLCAxMzEsIDIyOCwgMTIzLCAyMCwgMSwgMTMxLCAyMjgsIAotICAgIDExOSwgMjAsIDEsIDEzMSwgMjUxLCAzNiwgMjAsIDEsIDEzMSwgMjE0LCAxNjAsIDIwLCAxLCAxMzEsIDIzMSwgMTc2LCAyMCwgCi0gICAgMSwgMTMxLCAyMjMsIDUxLCAyMCwgMSwgMTMxLCAyMjksIDE0LCAyMCwgMSwgMTMxLCAyMzMsIDEyNiwgMjAsIDEsIDEzMSwgCi0gICAgMjE3LCAxNywgMjAsIDEsIDEzMSwgMjI4LCAxMDUsIDIyOSwgODcsIDIwLCAxLCAxMzEsIDIyOSwgNiwgMjAsIDEsIDEzMSwgCi0gICAgMjM0LCAxNjIsIDIwLCAxLCAxMzEsIDIyOSwgMTI1LCAyMCwgMSwgMTMxLCAyMzIsIDE3LCAyMCwgMSwgMTMxLCAyMzEsIAotICAgIDE2NCwgMjAsIDEsIDEzMSwgMjMyLCAxNTYsIDIwLCAxLCAxMzEsIDIzMywgMjEwLCAyMCwgMSwgMTMxLCAyMjksIDEyLCAyMCwgCi0gICAgMSwgMTMxLCAyMjksIDg3LCAyMCwgMSwgMTMxLCAyMTMsIDE3MiwgMjAsIDEsIDEzMSwgMjI5LCAxMjIsIDIwLCAxLCAxMzEsIAotICAgIDIyOCwgMTA4LCAyMCwgMSwgMTMxLCAyMjgsIDEwMCwgMjAsIDEsIDEzMSwgMjMzLCAyMjQsIDIyOCwgMjI2LCAyMCwgMSwgCi0gICAgMTMxLCAyMjgsIDEwNiwgMjAsIDEsIDEzMSwgMjI5LCAyMjQsIDIwLCAxLCAxMzEsIDIzMiwgNDMsIDIyOCwgMTExLCAyMCwgCi0gICAgMSwgMTMxLCAyMTMsIDkxLCAyMCwgMSwgMTMxLCAyMjksIDIyMywgMjAsIDEsIDEzMSwgMjIwLCAxNDUsIDIwLCAxLCAxMzEsIAotICAgIDIyMSwgNDcsIDIwLCAxLCAxMzEsIDIzMSwgMTcyLCAyMCwgMSwgMTMxLCAyMzIsIDI0LCAyMCwgMSwgMTMxLCAyMzEsIDE4MiwgCi0gICAgMjAsIDEsIDEzMSwgMjM0LCAxNTAsIDIwLCAxLCAxMzEsIDIzMSwgMTczLCAyMCwgMSwgMTMxLCAyMzQsIDE1NCwgMjAsIDEsIAotICAgIDEzMSwgMjMxLCAxODYsIDIyNSwgMjM1LCAyMCwgMSwgMTMxLCAyMTIsIDE3MSwgMjAsIDEsIDEzMSwgMjI5LCAyLCAyMCwgMSwgCi0gICAgMTMxLCAyMzEsIDMzLCAyMCwgMSwgMTMxLCAyMzAsIDE3MCwgMjAsIDEsIDEzMSwgMjIwLCAxOTUsIDIwLCAxLCAxMzEsIAotICAgIDIzNCwgMTcyLCAyMzMsIDk0LCAyMCwgMSwgMTMxLCAyMzQsIDE3MiwgMjQ0LCAxMjgsIDIwLCAxLCAxMzEsIDIyOSwgMTUyLCAKLSAgICAyMCwgMSwgMTMxLCAyMzAsIDE2LCAyMCwgMSwgMTMxLCAyMzIsIDIyOSwgMjAsIDEsIDEzMSwgMjI1LCAxOTcsIDIwLCAxLCAKLSAgICAxMzEsIDIyNiwgNzQsIDIwLCAxLCAxMzEsIDIxNywgMTgzLCAyMCwgMSwgMTAzLCAyMzEsIDE2MiwgMjAsIDEsIDEwMywgCi0gICAgMjE0LCAzNSwgMjAsIDEsIDEwMywgMjI5LCAwLCAyMCwgMSwgMTAzLCAyMzEsIDgzLCAyMCwgMSwgMTAzLCAyMjgsIDI1NCwgCi0gICAgMjAsIDEsIDEwMywgMjMzLCA3LCAyMCwgMSwgMTAzLCAyMjksIDMsIDIwLCAxLCAxMDMsIDIyOCwgMTE4LCAyMCwgMSwgMTAzLCAKLSAgICAyMjksIDEzOSwgMjAsIDEsIDEwMywgMjI4LCAyMCwgMjAsIDEsIDEwMywgMjEzLCAxODIsIDIwLCAxLCAxMDMsIDIyOSwgOTUsIAotICAgIDIwLCAxLCAxMDMsIDIyMCwgMjQxLCAyMCwgMSwgMTAzLCAyMjksIDEwNiwgMjAsIDEsIDEwMywgMjM0LCAxNTcsIDIwLCAxLCAKLSAgICAxMDMsIDIxNywgMTcwLCAyMCwgMSwgMTAzLCAyMjAsIDIyMSwgMjAsIDEsIDEwMywgMjI5LCAxMSwgMjAsIDEsIDEwMywgCi0gICAgMjE4LCAyNTMsIDIwLCAxLCAxMDMsIDIzNCwgMTYyLCAyMCwgMSwgMTAzLCAyMTMsIDc5LCAyMCwgMSwgMTAzLCAyMzMsIAotICAgIDIyNSwgMjAsIDEsIDEwMywgMjIyLCAxNTAsIDIwLCAxLCAxMDMsIDIzMSwgODgsIDIwLCAxLCAxMDMsIDIyOSwgMjE1LCAyMCwgCi0gICAgMSwgMTAzLCAyMzEsIDI1MSwgMjAsIDEsIDEwMywgMjMxLCA5NCwgMjAsIDEsIDEwMywgMjIxLCA0NiwgMjAsIDEsIDEwMywgCi0gICAgMjEzLCAzMCwgMjAsIDEsIDEwMywgMjI5LCA1LCAyMCwgMSwgMTAzLCAyMzQsIDE1MywgMjMxLCAxNjUsIDIwLCAxLCAxMDMsIAotICAgIDIyOSwgMTAyLCAyMCwgMSwgMTAzLCAyMTYsIDgyLCAyMCwgMSwgMTAzLCAyNDIsIDIyNCwgMjAsIDEsIDEwMywgMjI5LCA5MiwgCi0gICAgMjAsIDEsIDEwMywgMjQ0LCA5NiwgMjAsIDEsIDEwMywgMjI5LCAyMTksIDIwLCAxLCAxMDMsIDIzMSwgNjcsIDIwLCAxLCAKLSAgICAxMDMsIDIzMywgMzEsIDIwLCAxLCAxMDMsIDIyOSwgMjAxLCAyMCwgMSwgMTAzLCAyMzAsIDIxNywgMjAsIDEsIDEwMywgCi0gICAgMjMxLCA3MSwgMjAsIDEsIDEwMywgMjI1LCA2LCAyMCwgMSwgMTAzLCAyMzEsIDY5LCAyMCwgMSwgMTAzLCAyMzEsIDg1LCAKLSAgICAyMCwgMSwgMTAzLCAyMzIsIDE0MiwgMjAsIDEsIDEwMywgMjI4LCAxMTAsIDIwLCAxLCAxMDMsIDIzMSwgMTg1LCAyMCwgMSwgCi0gICAgMTAzLCAyMzMsIDIwMiwgMjAsIDEsIDEwMywgMjI4LCAxMiwgMjAsIDEsIDEwMywgMjE3LCAxNzMsIDIwLCAxLCAxMDMsIAotICAgIDIxOSwgMjIxLCAyMCwgMSwgMTAzLCAyMTIsIDE3MSwgMjAsIDEsIDEwMywgMjM0LCAxNTQsIDIwLCAxLCAxMDMsIDIyNCwgCi0gICAgNjAsIDIwLCAxLCAxMDMsIDIxNywgMjE4LCAyMCwgMSwgMTAzLCAyMjksIDEwMywgMjAsIDEsIDEwMywgMjMxLCA5MCwgMjAsIAotICAgIDEsIDEwMywgMjI4LCAxMDksIDIwLCAxLCAxMDMsIDIzNCwgMTUyLCAyMCwgMSwgMTAzLCAyMjUsIDE5MSwgMjAsIDEsIDEwMywgCi0gICAgMjI2LCAyOCwgMjAsIDEsIDEwMywgMjI3LCAyNDYsIDIwLCAxLCAxMDMsIDIzMywgMzUsIDIwLCAxLCAxMDMsIDIyOSwgMTQwLCAKLSAgICAyMCwgMSwgMTAzLCAyMzEsIDg3LCAyMCwgMSwgMTAzLCAyMjksIDExNCwgMjAsIDEsIDEwMywgMjEyLCAxODQsIDIwLCAxLCAKLSAgICAxMDMsIDIyNiwgMTQ5LCAyMCwgMSwgMTAzLCAyMTIsIDE4MywgMjAsIDEsIDEwMywgMjI5LCAyMjQsIDIwLCAxLCAxMDMsIAotICAgIDIyOCwgOTksIDIwLCAxLCAxMDMsIDIxOSwgMjUsIDIwLCAxLCAxMDMsIDIzMywgMjI5LCAyMCwgMSwgMTAzLCAyMjksIDEyOSwgCi0gICAgMjAsIDEsIDEwMywgMjI5LCAxMDAsIDIwLCAxLCAxMDMsIDIxNiwgNjYsIDIwLCAxLCAxMDMsIDIzMSwgOTgsIDIwLCAxLCAKLSAgICAxMDMsIDIzMywgMjE5LCAyMCwgMSwgMTAzLCAyMjgsIDEwNywgMjAsIDEsIDEwMywgMjE3LCAxNzEsIDIwLCAxLCAxMDMsIAotICAgIDIzMiwgMTksIDIwLCAxLCAxMDMsIDIyOSwgMTM4LCAyMCwgMSwgMTAzLCAyMzMsIDMwLCAyMCwgMSwgMTAzLCAyMjksIDEyMCwgCi0gICAgMjAsIDEsIDEwMywgMjI4LCAxMTIsIDIwLCAxLCAxMDMsIDIyOCwgMjQwLCAyMCwgMSwgMTAzLCAyNDIsIDIwOSwgMjAsIDEsIAotICAgIDEwMywgMjMzLCAyMzgsIDIwLCAxLCAxMDMsIDIyMywgMjM0LCAyMjcsIDc1LCAyMCwgMSwgMTAzLCAyMTgsIDM1LCAyMCwgMSwgCi0gICAgMTAzLCAyMTYsIDIyMywgMjAsIDEsIDEwMywgMjI4LCAxMCwgMjAsIDEsIDEwMywgMjIzLCAxMzYsIDIwLCAxLCAxMDMsIAotICAgIDIzMywgNzMsIDIwLCAxLCAxMDMsIDIzMSwgMTQ0LCAyMCwgMSwgMTAzLCAxODMsIDIwLCAxLCAxMDMsIDIxOCwgMjA1LCAyMCwgCi0gICAgMSwgMTAzLCAyMzAsIDE3MiwgMjAsIDEsIDEwMywgMjIwLCAyMDcsIDIwLCAxLCAxMDMsIDIyMCwgMjE3LCAyMCwgMSwgMTAzLCAKLSAgICAyMzMsIDE3NywgMjAsIDEsIDEwMywgMjI4LCA5MiwgMjAsIDEsIDEwMywgMjIwLCAxNTAsIDIwLCAxLCAxMDMsIDIyOCwgCi0gICAgMTAxLCAyMCwgMSwgMTAzLCAyMjYsIDg2LCAyMCwgMSwgMTAzLCAyMjksIDY0LCAyMCwgMSwgMTAzLCAyMjAsIDE3NiwgMjAsIAotICAgIDEsIDEwMywgMjI1LCAxOSwgMjAsIDEsIDEwMywgMjMwLCAxMTcsIDIwLCAxLCAxMDMsIDIzMiwgMTc0LCAyMCwgMSwgMTAzLCAKLSAgICAyMjMsIDIzNCwgMjMwLCAxNjYsIDIwLCAxLCAxMDMsIDIxNywgNzEsIDIwLCAxLCAxMDMsIDIyOCwgOTMsIDIwLCAxLCAxMDMsIAotICAgIDIzMSwgMTg2LCAxOTgsIDIwLCAxLCAxMDMsIDIyMiwgMTQ4LCAyMCwgMSwgMTAzLCAyNDQsIDE2MywgMjAsIDEsIDgwLCAKLSAgICAyMjksIDIyMywgMjAsIDEsIDgwLCAyMTYsIDIyOSwgMjAsIDEsIDgwLCAyMzEsIDE3NSwgMjAsIDEsIDgwLCAyMzMsIDExMSwgCi0gICAgMjAsIDEsIDgwLCAyMTQsIDEwOSwgMjAsIDEsIDgwLCAyMzIsIDE3OCwgMjAsIDEsIDgwLCAyMjYsIDIxMywgMjAsIDEsIDgwLCAKLSAgICAyMTksIDIzMCwgMjAsIDEsIDgwLCAyMjQsIDM3LCAyMCwgMSwgODAsIDIyOCwgMTE0LCAyMCwgMSwgODAsIDIyOSwgMTk0LCAKLSAgICAyMCwgMSwgODAsIDIyNSwgMzMsIDIwLCAxLCA4MCwgMjE4LCAxMywgMjAsIDEsIDgwLCAyMjksIDEwOCwgMjAsIDEsIDgwLCAKLSAgICAyMzMsIDI1NCwgMjAsIDEsIDgwLCAyMTMsIDE3NSwgMjAsIDEsIDgwLCAyMjIsIDg5LCAyMCwgMSwgODAsIDIyOSwgMTMwLCAKLSAgICAyMCwgMSwgODAsIDIyNiwgMjEwLCAyMCwgMSwgODAsIDIxNiwgMjMwLCAyMCwgMSwgODAsIDIzMywgMjIzLCAyMCwgMSwgODAsIAotICAgIDIzMiwgMTkyLCAyMCwgMSwgODAsIDIyOCwgMTE3LCAyMCwgMSwgODAsIDIyOSwgODQsIDIwLCAxLCA4MCwgMjMyLCAyNSwgCi0gICAgMjAsIDEsIDgwLCAyMjksIDEwMSwgMjAsIDEsIDgwLCAyMjksIDgzLCAyMCwgMSwgODAsIDIyOCwgMTE2LCAyMCwgMSwgODAsIAotICAgIDIyMywgMTM0LCAyMCwgMSwgODAsIDIyOSwgMiwgMjAsIDEsIDgwLCAyMjYsIDg1LCAyMCwgMSwgODAsIDIyMiwgMjAwLCAyMCwgCi0gICAgMSwgODAsIDIyOSwgMTE1LCAyMCwgMSwgODAsIDIzMSwgNzcsIDIwLCAxLCA4MCwgMjQyLCAyMDMsIDIwLCAxLCA4MCwgMjI5LCAKLSAgICAxMDQsIDIwLCAxLCA4MCwgMjI5LCAxMywgMjAsIDEsIDgwLCAyMzEsIDIzNSwgMjAsIDEsIDgwLCAyMzIsIDE3NiwgMjAsIDEsIAotICAgIDgwLCAyMjksIDEzNSwgMjAsIDEsIDgwLCAyMjksIDIwNywgMjAsIDEsIDgwLCAyMTgsIDM0LCAyMjgsIDk5LCAyMCwgMSwgCi0gICAgODAsIDIyMSwgNDgsIDIwLCAxLCA4MCwgMjI1LCAyOSwgMjAsIDEsIDgwLCAyMjksIDIyNywgMjE5LCAyMzUsIDIwLCAxLCAKLSAgICA4MCwgMjI5LCAxMjMsIDIyOCwgMjAsIDIwLCAxLCA4MCwgMjEyLCAyNTEsIDIwLCAxLCA4MCwgMjQyLCAyMDQsIDIwLCAxLCAKLSAgICA4MCwgMjE2LCA4MSwgMjAsIDEsIDgwLCAyMTMsIDEwLCAyMCwgMSwgODAsIDIyNSwgMTUwLCAyMCwgMSwgODAsIDIxNiwgNzEsIAotICAgIDIwLCAxLCA4MCwgMjM0LCAxNjAsIDIwLCAxLCA4MCwgMjE5LCAyNCwgMjAsIDEsIDgwLCAyMTcsIDE3MiwgMjAsIDEsIDgwLCAKLSAgICAyMTQsIDE2MSwgMjAsIDEsIDgwLCAyMTMsIDI0NywgMjAsIDEsIDgwLCAyMzMsIDE1NCwgMjAsIDEsIDgwLCAyMjUsIDM1LCAKLSAgICAyMCwgMSwgODAsIDIxOCwgNDQsIDIwLCAxLCA4MCwgMjQyLCAyMjMsIDIwLCAxLCA4MCwgMjI5LCAxNDQsIDIwLCAxLCA4MCwgCi0gICAgMjIwLCAyMjAsIDIwLCAxLCA4MCwgMjMxLCA3MiwgMjAsIDEsIDgwLCAyMzEsIDE3OSwgMjAsIDEsIDgwLCAyMjcsIDIzNSwgCi0gICAgMjAsIDEsIDgwLCAyMjgsIDIyMywgMjAsIDEsIDgwLCAyNDMsIDQ5LCAyMCwgMSwgODAsIDIxNiwgNzIsIDIwLCAxLCA4MCwgCi0gICAgMjMzLCAyMzIsIDIwLCAxLCA4MCwgMjEzLCA1NywgMjAsIDEsIDgwLCAyMjgsIDExLCAyNDksIDIwOSwgMjAsIDEsIDgwLCAKLSAgICAyMTIsIDI0MSwgMjAsIDEsIDgwLCAyMzEsIDg5LCAyMCwgMSwgODAsIDIyOSwgMjEyLCAyMCwgMSwgODAsIDIyNSwgMjMyLCAKLSAgICAyMCwgMSwgODAsIDIxMiwgMTg4LCAyMCwgMSwgODAsIDIzMywgMzIsIDIwLCAxLCA4MCwgMjQzLCAyMDQsIDIwLCAxLCA4MCwgCi0gICAgMjQzLCA0OCwgMjAsIDEsIDgwLCAyMjksIDk0LCAyMCwgMSwgODAsIDIzNCwgMTYyLCAyMCwgMSwgODAsIDIzMiwgMjgsIDIwLCAKLSAgICAxLCA4MCwgMjI5LCAxMDcsIDIwLCAxLCA4MCwgMjQyLCAyMTAsIDIwLCAxLCA4MCwgMjQ0LCAxNjQsIDIwLCAxLCA4MCwgCi0gICAgMjI4LCA5NCwgMjAsIDEsIDgwLCAyMjYsIDI5LCAyMCwgMSwgODAsIDIxMywgOCwgMjAsIDEsIDgwLCAyMjksIDEzMSwgMjAsIAotICAgIDEsIDgwLCAyMjgsIDExLCAyNTEsIDIwMCwgMjAsIDEsIDgwLCAyMjcsIDIxNSwgMjAsIDEsIDgwLCAyMjUsIDEyNywgMjAsIAotICAgIDEsIDgwLCAyMzEsIDMzLCAyMCwgMSwgODAsIDI0MywgMjAyLCAyMCwgMSwgODAsIDIzMCwgMzgsIDIwLCAxLCA4MCwgMjMwLCAKLSAgICAxNzAsIDIwLCAxLCA4MCwgMjQyLCAyMDksIDIwLCAxLCA4MCwgMjQzLCAyMDYsIDcyLCAyMCwgMSwgODAsIDIzMCwgMTE4LCAKLSAgICAyMCwgMSwgODAsIDIyNSwgMzIsIDIwLCAxLCA4MCwgMjI5LCA5NiwgMjAsIDEsIDgwLCAyMzMsIDIxMCwgMjAsIDEsIDgwLCAKLSAgICAyMjUsIDIyOSwgMjAsIDEsIDgwLCAyMjgsIDEwMiwgMjAsIDEsIDgwLCAyMTMsIDksIDIwLCAxLCA4MCwgMjI5LCAxMTYsIAotICAgIDIwLCAxLCA4MCwgMjI2LCAyMTQsIDIyNiwgNjIsIDIwLCAxLCA4MCwgMjQzLCAyMDYsIDI1MCwgMjAzLCAyMCwgMSwgODAsIAotICAgIDI0NCwgNiwgMjAsIDEsIDgwLCAyMjksIDcsIDIwLCAxLCA4MCwgNjEsIDIwLCAxLCA4MCwgMjE2LCAyMjMsIDIwLCAxLCA4MCwgCi0gICAgNzUsIDIwLCAxLCA4MCwgNzIsIDIwLCAxLCA4MCwgMjMzLCAxMDksIDIwLCAxLCA4MCwgMjI2LCAyMTQsIDIyNSwgMTU3LCAKLSAgICAyMCwgMSwgODAsIDIxOCwgNDksIDIwLCAxLCA4MCwgMjE4LCAyLCAyMCwgMSwgODAsIDIyOSwgMjI3LCAyMzAsIDEwNiwgCi0gICAgMjQwLCAyMjEsIDIwLCAxLCA4MCwgMjIwLCAxOTUsIDIwLCAxLCA4MCwgMjEzLCA1LCAyMCwgMSwgODAsIDIyOSwgNzcsIDIwLCAKLSAgICAxLCA4MCwgMjEyLCAxOTMsIDIwLCAxLCA4MCwgMjEyLCAyMTgsIDIxOCwgMTg1LCAyMCwgMSwgODAsIDIxMiwgMjE4LCAyNDksIAotICAgIDg2LCAyMCwgMSwgODAsIDIxMiwgMTc4LCAyMCwgMSwgODAsIDIxMiwgMTg2LCAyMCwgMSwgODAsIDIzNCwgMTQ4LCAyMCwgMSwgCi0gICAgODAsIDIyNiwgMjcsIDIwLCAxLCA4MCwgMjI5LCA4LCAyNDUsIDY1LCAyMCwgMSwgODAsIDIyNSwgMzAsIDIwLCAxLCA4MCwgCi0gICAgMjEzLCAxODAsIDIwLCAxLCA4MCwgMjQ0LCAxMTYsIDIwLCAxLCA4MCwgMjE0LCAyMjcsIDIwLCAxLCA4MCwgMjMyLCAxNTYsIAotICAgIDIwLCAxLCA4MCwgMjMxLCA0MiwgMjAsIDEsIDgwLCAyMjMsIDIwNCwgMjAsIDEsIDgwLCAyMjQsIDYxLCAyMCwgMSwgODAsIAotICAgIDIyOSwgNzYsIDIwLCAxLCA4MCwgMjI5LCAxNTksIDIwLCAxLCA4MCwgMjIwLCAxODcsIDIwLCAxLCA4MCwgMjIwLCAxNzYsIAotICAgIDIwLCAxLCA4MCwgMjQzLCAyMDYsIDIyMywgMjM2LCAyMCwgMSwgODAsIDIwNSwgMjAsIDEsIDgwLCAyMjUsIDI0MCwgMjAsIAotICAgIDEsIDgwLCAyMzIsIDE3NCwgMjAsIDEsIDgwLCAyMzQsIDM3LCAyMCwgMSwgODAsIDIzMSwgMTIyLCAyMCwgMSwgODAsIDE4OCwgCi0gICAgMjAsIDEsIDgwLCAyMzEsIDIzMiwgMjAsIDEsIDgwLCAyMTcsIDE3NCwgMjAsIDEsIDgwLCAyMzQsIDEwMSwgMjAsIDEsIDgwLCAKLSAgICAyMzAsIDIyMCwgMjAsIDEsIDgwLCAyMTcsIDIwMCwgMjAsIDEsIDgwLCAyNDQsIDEzNywgMjAsIDEsIDgwLCAyNDIsIDE5OSwgCi0gICAgMjAsIDEsIDIyNiwgMTMsIDE4MSwgMjAsIDEsIDIyNiwgMTMsIDY5LCAyMCwgMSwgMjI2LCAxMywgMjMzLCAyMzgsIDIwLCAxLCAKLSAgICAyMjYsIDEzLCAyNDUsIDE2NSwgMjAsIDEsIDIyNiwgMTMsIDIyNCwgMSwgMjAsIDEsIDIyNiwgMTMsIDIxOCwgMzUsIDIwLCAKLSAgICAxLCAyMjYsIDEzLCAyMjgsIDEwLCAyMCwgMSwgMjI2LCAxMywgMjMzLCAxNTcsIDIwLCAxLCAyMjYsIDEzLCAyMjMsIDEzNiwgCi0gICAgMjAsIDEsIDIyNiwgMTMsIDIyMywgMTgyLCAyMCwgMSwgMjI2LCAxMywgMjMxLCAxNDQsIDIwLCAxLCAyMjYsIDEzLCAyMTgsIAotICAgIDQ5LCAyMCwgMSwgMjI2LCAxMywgMjI5LCAyMjYsIDIwLCAxLCAyMjYsIDEzLCAyMjksIDE0LCAyMCwgMSwgMjI2LCAxMywgCi0gICAgMTgzLCAyMCwgMSwgMjI2LCAxMywgMjE4LCAyMDUsIDIwLCAxLCAyMjYsIDEzLCAyMjAsIDIwNywgMjAsIDEsIDIyNiwgMTMsIAotICAgIDIyMCwgMTE3LCAyMCwgMSwgMjI2LCAxMywgMjIxLCA0NCwgMjAsIDEsIDIyNiwgMTMsIDIzMywgMTc3LCAyMCwgMSwgMjI2LCAKLSAgICAxMywgMjM0LCAxNjIsIDIwLCAxLCAyMjYsIDEzLCAyMjgsIDY0LCAyMCwgMSwgMjI2LCAxMywgMjI4LCA5MiwgMjAsIDEsIAotICAgIDIyNiwgMTMsIDIyOCwgMjQxLCAyMCwgMSwgMjI2LCAxMywgMjEyLCAyMTcsIDIwLCAxLCAyMjYsIDEzLCAyMjAsIDE1MCwgCi0gICAgMjAsIDEsIDIyNiwgMTMsIDE4NiwgMjAsIDEsIDIyNiwgMTMsIDIyOCwgMTIwLCAyMCwgMSwgMjI2LCAxMywgMjI2LCAyNywgCi0gICAgMjAsIDEsIDIyNiwgMTMsIDIyOCwgMTAxLCAyMCwgMSwgMjI2LCAxMywgMjEzLCAxODAsIDIwLCAxLCAyMjYsIDEzLCAyMjYsIAotICAgIDg2LCAyMCwgMSwgMjI2LCAxMywgMjIzLCA1MSwgMjAsIDEsIDIyNiwgMTMsIDIyOSwgNjQsIDIwLCAxLCAyMjYsIDEzLCAKLSAgICAyMjMsIDIwNCwgMjAsIDEsIDIyNiwgMTMsIDIzNCwgMTcxLCAyMCwgMSwgMjI2LCAxMywgMjI5LCA5MywgMjAsIDEsIDIyNiwgCi0gICAgMTMsIDIyOSwgMTQxLCAyMCwgMSwgMjI2LCAxMywgMjIwLCAxODcsIDIwLCAxLCAyMjYsIDEzLCAyMjUsIDMzLCAyMCwgMSwgCi0gICAgMjI2LCAxMywgMjQ0LCA2LCAyMCwgMSwgMjI2LCAxMywgMjE0LCA0OSwgMjAsIDEsIDIyNiwgMTMsIDIzMywgMTMsIDIwLCAxLCAKLSAgICAyMjYsIDEzLCAyMzIsIDE3NCwgMjAsIDEsIDIyNiwgMTMsIDIzNCwgMzcsIDIwLCAxLCAyMjYsIDEzLCAyMzEsIDE3NywgMjAsIAotICAgIDEsIDIyNiwgMTMsIDIyMywgMjMzLCAyMCwgMSwgMjI2LCAxMywgMTg4LCAyMCwgMSwgMjI2LCAxMywgMjMwLCAyMzEsIDIwLCAKLSAgICAxLCAyMjYsIDEzLCAyMzEsIDE4NSwgMjAsIDEsIDIyNiwgMTMsIDIxNywgMTgzLCAyMCwgMSwgMjI2LCAxMywgMjM0LCA0LCAKLSAgICAyMCwgMSwgMjI2LCAxMywgMjIyLCAxNjYsIDIwLCAxLCAyMjYsIDEzLCAyMTQsIDk4LCA1NiwgMSwgMjUzLCAxOTMsIDc0LCAKLSAgICAxNDIsIDEsIDI1MywgMTkzLCAyMTMsIDM4LCA0NywgMjcsIDE2LCAyMjUsIDM5LCA0NywgMjcsIDE2LCAyNDgsIDEwMywgNDcsIAotICAgIDI3LCAxNiwgMjI2LCA1MCwgNDcsIDI3LCAxNiwgMjI2LCAyMzcsIDI0NSwgMTM1LCA0NywgMjcsIDE2LCAyMjYsIDIzNywgCi0gICAgMjQ3LCAxNTMsIDQ3LCAyNywgMTYsIDIxNCwgMjQ4LCAyNDUsIDEzNSwgNDcsIDI3LCAxNiwgMjE0LCAyNDgsIDI0NywgMTUzLCAKLSAgICA0NywgMjcsIDE2LCAyMzQsIDIwMiwgNDcsIDI3LCAxNiwgMjE4LCAxMTUsIDQ3LCAyNywgMTYsIDIyNiwgMTM3LCA0NywgMjcsIAotICAgIDE2LCAyMTIsIDIwOCwgNDcsIDI3LCAxNiwgMjEyLCAyMDksIDI0NywgMTUzLCA0NywgMjcsIDE2LCAyMzMsIDI0MywgNDcsIAotICAgIDI3LCAxNiwgMjUzLCAyMzYsIDI0NSwgMTM1LCA0NywgMjcsIDE2LCAyNDQsIDI0OSwgMjQ1LCAxMzUsIDQ3LCAyNywgMTYsIAotICAgIDIxNywgMjExLCA0NywgMjcsIDE2LCAyMzQsIDE2NywgNDcsIDI3LCAxNiwgMjUzLCAyMjcsIDQ3LCAyNywgMTYsIDI1MywgCi0gICAgMjI4LCAyNDcsIDE1MywgNDcsIDI3LCAxNiwgMjE4LCAxMjEsIDQ3LCAyNywgMTYsIDIxNywgMTEyLCA0NywgMjcsIDE2LCAKLSAgICAyMjcsIDcyLCAyNTMsIDE5MSwgNDcsIDI3LCAxNiwgMjQyLCAxMzUsIDI1MywgMTkxLCA0NywgMjcsIDE2LCAyMjUsIDM4LCAKLSAgICA0NywgMjcsIDE2LCAyNTAsIDg1LCA0NywgMjcsIDE2LCAyMTQsIDIzOCwgNDcsIDI3LCAxNiwgMjM1LCAxNjIsIDI1MywgCi0gICAgMTkxLCA0NywgMjcsIDE2LCAyMzQsIDE2OSwgMjUzLCAxOTEsIDQ3LCAyNywgMTYsIDIzNCwgMTY4LCAyNTMsIDE5MSwgNDcsIAotICAgIDI3LCAxNiwgMjIyLCAxMzEsIDQ3LCAyNywgMTYsIDIyNiwgMTI4LCA0NywgMjcsIDE2LCAyMTksIDg2LCAyNTMsIDIzMCwgCi0gICAgNDcsIDI3LCAxNiwgMjI2LCAyMzYsIDI1MywgMTkxLCA0NywgMjcsIDE2LCAyMTQsIDI0NywgMjUzLCAxOTEsIDQ3LCAyNywgCi0gICAgMTYsIDI1MywgMjMxLCAyNTMsIDE5MSwgNDcsIDI3LCAxNiwgMjUzLCAyMjUsIDQ3LCAyNywgMTYsIDIzNCwgNDYsIDQ3LCAKLSAgICAyNywgMTYsIDIyMywgMTk5LCA0NywgMjcsIDE2LCAyMjUsIDIzOCwgMjUzLCAxOTEsIDQ3LCAyNywgMTYsIDIxNywgMzYsIAotICAgIDQ3LCAyNywgMTYsIDI1NCwgMzAsIDQ3LCAyNywgMTYsIDIyMiwgNzgsIDQ3LCAyNywgMTYsIDIxOCwgMTI0LCAyNTMsIDE5MSwgCi0gICAgNDcsIDI3LCAxNiwgMjE4LCAxMjQsIDIzMSwgMTA3LCAyMTksIDg0LCA0NywgMjcsIDE2LCAyMjYsIDIzMSwgMjUzLCAxOTEsIAotICAgIDQ3LCAyNywgMTYsIDIxNywgMTQzLCA0NywgMjcsIDE2LCAyMzMsIDUxLCA0NywgMjcsIDE2LCAyNDUsIDI1MiwgNDcsIDI3LCAKLSAgICAxNiwgMjE2LCAxODUsIDQ3LCAyNywgMTYsIDIxNywgMTg1LCA0NywgMjcsIDE2LCAyMzMsIDI0NiwgNDcsIDI3LCAxNiwgCi0gICAgMjUzLCAyMzYsIDI0NCwgMjQ5LCAyMjksIDE3NywgNDcsIDI3LCAxNiwgMjQzLCAyMDcsIDI1MywgMTkxLCA0NywgMjcsIDE2LCAKLSAgICAyMzYsIDcsIDQ3LCAyNywgMTYsIDIxNiwgMTU3LCAyNTMsIDE5MSwgNDcsIDI3LCAxNiwgMjM0LCAyMDUsIDIxNiwgMTU2LCAKLSAgICA0NywgMjcsIDE2LCAyMjYsIDc1LCA0NywgMjcsIDE2LCAyMjUsIDQzLCA0NywgMjcsIDE2LCAyMzQsIDIwLCA0NywgMjcsIAotICAgIDE2LCAyNTAsIDE3LCAyNTMsIDE5MSwgNDcsIDI3LCAxNiwgMjI0LCAzOCwgNDcsIDI3LCAxNiwgMjI2LCAxNDAsIDI1MywgCi0gICAgMTkxLCA0NywgMjcsIDE2LCAyMjYsIDEzOCwgMjUzLCAxOTEsIDQ3LCAyNywgMTYsIDI0MCwgMTAyLCA0NywgMjcsIDE2LCAKLSAgICAyMzAsIDIzLCA0NywgMjcsIDE2LCAyMjYsIDMyLCA0NywgMjcsIDE2LCAyMzQsIDIxLCAyNTQsIDU4LCA0NywgMjcsIDE2LCAKLSAgICAyMTYsIDE1NywgMjU0LCA1OCwgNDcsIDI3LCAxNiwgMjE5LCA2MywgNDcsIDI3LCAxNiwgMjQyLCAxMDEsIDQ3LCAyNywgMTYsIAotICAgIDIzNSwgMTYyLCAyMjksIDE3NywgNDcsIDI3LCAxNiwgMjI3LCA3MiwgMjI5LCAxNzcsIDQ3LCAyNywgMTYsIDIyNiwgMjM3LCAKLSAgICAyMjksIDE3NywgNDcsIDI3LCAxNiwgMjI2LCAzMSwgNDcsIDI3LCAxNiwgMjM0LCA3LCA0NywgMjcsIDE2LCAyMjYsIDMwLCAKLSAgICA0NywgMjcsIDE2LCAyMzMsIDI0NSwgNDcsIDI3LCAxNiwgMjI2LCA3NiwgMjI5LCAxNzcsIDQ3LCAyNywgMTYsIDIzNCwgCi0gICAgMTY4LCAyMjksIDE3OCwgMjU0LCA3LCA0NywgMjcsIDE2LCAyMzQsIDE2OSwgMjI5LCAxNzgsIDI1NCwgNywgNDcsIDI3LCAKLSAgICAxNiwgMjEyLCAyMDYsIDQ3LCAyNywgMTYsIDI1MywgMjI4LCAyMjksIDE3NywgNDcsIDI3LCAxNiwgMjUzLCAyMjksIDIxOCwgCi0gICAgMTIyLCAyMjksIDE3NywgNDcsIDI3LCAxNiwgMjEyLCAyMDcsIDQ3LCAyNywgMTYsIDIzMywgMjQ0LCA0NywgMjcsIDE2LCAKLSAgICAyNDUsIDEzMCwgNDcsIDI3LCAxNiwgMjUwLCA4NiwgNDcsIDI3LCAxNiwgMjMxLCAxMSwgMjM1LCAxNjEsIDQ3LCAyNywgMTYsIAotICAgIDIxNCwgMjQ4LCAyMjksIDE3NywgNDcsIDI3LCAxNiwgMjI1LCAyMzgsIDIyOSwgMTc3LCA0NywgMjcsIDE2LCAyMjUsIDQ0LCAKLSAgICAyMjksIDE3NywgNDcsIDI3LCAxNiwgMjI3LCA2OSwgNDcsIDI3LCAxNiwgMjUzLCAyNTEsIDQ3LCAyNywgMTYsIDIzMiwgCi0gICAgMTE4LCA0NywgMjcsIDE2LCAyMjYsIDEzOCwgMjI5LCAxNzcsIDQ3LCAyNywgMTYsIDIyNiwgMTQwLCAyMjksIDE3NywgNDcsIAotICAgIDI3LCAxNiwgMjQ1LCAyNiwgMjI2LCAxMzksIDQ3LCAyNywgMTYsIDIzMywgMTc1LCA0NywgMjcsIDE2LCAyNTMsIDI1MiwgCi0gICAgNDcsIDI3LCAxNiwgMjE2LCAxNTcsIDIyOSwgMTc3LCA0NywgMjcsIDE2LCAyNDUsIDEzMywgNDcsIDI3LCAxNiwgMjE4LCAKLSAgICAxMjQsIDIyOSwgMTc3LCA0NywgMjcsIDE2LCAyMTgsIDExNiwgNDcsIDI3LCAxNiwgMjUwLCAxNywgMjI5LCAxNzcsIDQ3LCAKLSAgICAyNywgMTYsIDI0NSwgNjksIDQ3LCAyNywgMTYsIDIyMiwgNzksIDIyOSwgMTc3LCA0NywgMjcsIDE2LCAyMTMsIDEzOSwgCi0gICAgMjM0LCA0NiwgNDcsIDI3LCAxNiwgMjE2LCAxNTQsIDQ3LCAyNywgMTYsIDIyNSwgNDUsIDQ3LCAyNywgMTYsIDIxNiwgMTU4LCAKLSAgICA0NywgMjcsIDE2LCAyMTYsIDE1NSwgNDcsIDI3LCAxNiwgMjI1LCA0MiwgNDcsIDI3LCAxNiwgMjE2LCAxNTMsIDQ3LCAyNywgCi0gICAgMTYsIDIyNSwgNDEsIDQ3LCAyNywgMTYsIDI0MiwgMTM0LCA0NywgMjcsIDE2LCAyNTMsIDE4NSwgNDcsIDI3LCAxNiwgMjQ1LCAKLSAgICAyNiwgMjUzLCAxODUsIDQ3LCAyNywgMTYsIDIyNiwgMjMxLCAyMjksIDE3NywgNDcsIDI3LCAxNiwgMjE3LCAxNDIsIDI0NSwgCi0gICAgMzQsIDQ3LCAyNywgMTYsIDIxNywgMTQyLCAyNDQsIDI0OCwgNDcsIDI3LCAxNiwgMjE3LCAxNDQsIDI1MywgMjMyLCA0NywgCi0gICAgMjcsIDE2LCAyMTcsIDEzNywgMjM0LCAyNTEsIDI1MywgMjI0LCA0NywgMjcsIDE2LCAyMzQsIDIwNCwgNDcsIDI3LCAxNiwgCi0gICAgMjQ1LCA5NywgNDcsIDI3LCAxNiwgMjEzLCAyLCAyMzQsIDIwMSwgNDcsIDI3LCAxNiwgMjEzLCAyLCAyNTQsIDcsIDQ3LCAKLSAgICAyNywgMTYsIDIxOSwgODUsIDQ3LCAyNywgMTYsIDIzNCwgNDcsIDI1NCwgNywgNDcsIDI3LCAxNiwgMjQ3LCAxNTQsIDI1MywgCi0gICAgMTkxLCA0NywgMjcsIDE2LCAyMzMsIDI0NywgMjUzLCAxOTEsIDQ3LCAyNywgMTYsIDIzMywgMjQ3LCAyNTQsIDU4LCA0NywgCi0gICAgMjcsIDE2LCAyMzMsIDI0NywgMjI5LCAxNzcsIDQ3LCAyNywgMTYsIDI1MywgMjMxLCAyMjksIDE3NywgNDcsIDI3LCAxNiwgCi0gICAgMjUzLCAyMzMsIDQ3LCAyNywgMTYsIDI0NywgMTUzLCA0NywgMjcsIDE2LCAyMTYsIDE2OCwgNDcsIDI3LCAxNiwgMjE3LCAKLSAgICAxNzcsIDQ3LCAyNywgMTYsIDIzNCwgMTEsIDQ3LCAyNywgMTYsIDIzMywgNTYsIDI0NSwgOTIsIDI1MCwgOCwgNDcsIDI3LCAKLSAgICAxNiwgMjMzLCA1NiwgMjQ1LCAyNTMsIDI1MCwgOSwgNDcsIDI3LCAxNiwgMjMzLCA1NiwgMjE2LCAxNzAsIDI1MCwgOSwgNDcsIAotICAgIDI3LCAxNiwgMjMzLCA1NiwgMjE3LCAxODcsIDI1MCwgOSwgNDcsIDI3LCAxNiwgMjMzLCA1NiwgMjM2LCAyLCAyNTAsIDgsIAotICAgIDQ3LCAyNywgMTYsIDI0MiwgMTM1LCAyMjksIDE3OCwgMjU0LCA3LCA0NywgMjcsIDE2LCAyNDIsIDEzNSwgMjI2LCAxMjksIAotICAgIDI1MywgMTgxLCA0NywgMjcsIDE2LCAyNDIsIDEzNSwgMjI2LCAxMjksIDI0NywgMjM2LCA0NywgMjcsIDE2LCAyNDcsIDE3NywgCi0gICAgNDcsIDI3LCAxNiwgMjQ3LCAxNzgsIDIyNiwgMTI5LCAyNTMsIDE4MiwgMjM0LCAyMDEsIDQ3LCAyNywgMTYsIDI0NywgMTc4LCAKLSAgICAyMjYsIDEyOSwgMjUzLCAxODIsIDI1NCwgNywgNDcsIDI3LCAxNiwgMjQ3LCAxNzgsIDIyNiwgMTI5LCAyNDcsIDIzNiwgNDcsIAotICAgIDI3LCAxNiwgMjE2LCAxNzQsIDQ3LCAyNywgMTYsIDI1MywgMTg2LCA0NywgMjcsIDE2LCAyMzYsIDksIDQ3LCAyNywgMTYsIAotICAgIDI0NywgMTk4LCA0NywgMjcsIDE2LCAyNTQsIDExNiwgMjI1LCAxMzQsIDI1MywgMTg3LCA0NywgMjcsIDE2LCAyNTQsIDExNiwgCi0gICAgMjUzLCAxODQsIDQ3LCAyNywgMTYsIDI1NCwgMTE2LCAyNTMsIDE4NywgNDcsIDI3LCAxNiwgMjU0LCAxMTYsIDIzMSwgMTAxLCAKLSAgICA0NywgMjcsIDE2LCAyNTQsIDExNiwgMjMxLCAxMTAsIDQ3LCAyNywgMTYsIDI1NCwgMTE2LCAyNDIsIDEzNiwgNDcsIDI3LCAKLSAgICAxNiwgMjU0LCAxMTYsIDI0MiwgMTMzLCA0NywgMjcsIDE2LCAyNTQsIDExNiwgMjI1LCAxMzQsIDI0MiwgMTM2LCA0NywgMjcsIAotICAgIDE2LCAyMzEsIDIxNCwgMjI1LCA1MCwgMjQwLCAxMDAsIDQ3LCAyNywgMTYsIDIzMSwgMjE0LCAyNTQsIDYwLCAyMjUsIDUwLCAKLSAgICAyNDAsIDEwMCwgNDcsIDI3LCAxNiwgMjMxLCAyMTQsIDI0NywgMjM1LCAyNDAsIDEwMCwgNDcsIDI3LCAxNiwgMjMxLCAyMTQsIAotICAgIDI1NCwgNjAsIDI0NywgMjM1LCAyNDAsIDEwMCwgNDcsIDI3LCAxNiwgMjMxLCAyMTQsIDIxNiwgMTYzLCAyNDAsIDEwMCwgCi0gICAgNDcsIDI3LCAxNiwgMjMxLCAyMTQsIDIxNiwgMTc1LCA0NywgMjcsIDE2LCAyMzEsIDIxNCwgMjE3LCAxODEsIDI0MCwgMTAwLCAKLSAgICA0NywgMjcsIDE2LCAyMzEsIDIxNCwgMjE3LCAxODEsIDIzMywgNTksIDI0MCwgMTAwLCA0NywgMjcsIDE2LCAyMzEsIDIxNCwgCi0gICAgMjMzLCA1OSwgMjQwLCAxMDAsIDQ3LCAyNywgMTYsIDIzMSwgMjE0LCAyMjUsIDE3MSwgMjQwLCAxMDAsIDQ3LCAyNywgMTYsIAotICAgIDIzNSwgMTY3LCAyMTcsIDIwNCwgMjQwLCAxMDEsIDQ3LCAyNywgMTYsIDI1MywgMjI5LCAyMTcsIDIwNCwgMjQwLCAxMDEsIAotICAgIDQ3LCAyNywgMTYsIDI0NCwgMTQwLCAyMTcsIDE3OCwgNDcsIDI3LCAxNiwgMjQ0LCAxNDAsIDIzMCwgMjEzLCA0NywgMjcsIAotICAgIDE2LCAyNDQsIDE0MCwgMjQ3LCAxODIsIDQ3LCAyNywgMTYsIDIzMSwgMjE0LCAyMTQsIDI0MiwgMjQwLCAxMDAsIDQ3LCAyNywgCi0gICAgMTYsIDIzMSwgMjE0LCAyMjUsIDQ5LCAyNDAsIDEwMCwgNDcsIDI3LCAxNiwgMjMxLCAyMTQsIDIyNSwgMTcxLCAyMTcsIAotICAgIDE4MSwgMjQwLCAxMDAsIDQ3LCAyNywgMTYsIDI0MiwgMTMxLCAyMzAsIDk4LCAyNTMsIDIzMiwgNDcsIDI3LCAxNiwgMjQyLCAKLSAgICAxMzEsIDIzMCwgOTgsIDI0NywgMTUyLCA0NywgMjcsIDE2LCAyNDUsIDEwNiwgMjM0LCAyNTEsIDI0MywgMjA3LCAyMTQsIAotICAgIDEwNSwgNDcsIDI3LCAxNiwgMjM2LCA4LCA0NywgMjcsIDE2LCAyMzYsIDYsIDQ3LCAyNywgMTYsIDI0MywgMjA3LCAyNTMsIAotICAgIDE5MiwgMjQ3LCAyMzQsIDI0MCwgOTksIDQ3LCAyNywgMTYsIDI0MywgMjA3LCAyNDcsIDE5NiwgMTkzLCA0NywgMjcsIDE2LCAKLSAgICAyNDMsIDIwNywgMjQ3LCAxOTYsIDIzMCwgMjMsIDQ3LCAyNywgMTYsIDI0MywgMjA3LCAyMzAsIDE4LCAyNDAsIDEwMCwgNDcsIAotICAgIDI3LCAxNiwgMjQzLCAyMDcsIDI0NywgMTk2LCAyNDcsIDIxMSwgNDcsIDI3LCAxNiwgMjQzLCAyMDcsIDIyMCwgMzAsIDI0NywgCi0gICAgMTk1LCAyNDcsIDIxMSwgNDcsIDI3LCAxNiwgMjQzLCAyMDcsIDI0NywgMTk2LCAyMzQsIDE4OCwgNDcsIDI3LCAxNiwgMjQzLCAKLSAgICAyMDcsIDI0NywgMTk2LCAyMTIsIDE2LCA0NywgMjcsIDE2LCAyNDMsIDIwNywgMjQ3LCAxOTYsIDIyOSwgNjUsIDIzNCwgCi0gICAgMjAxLCA0NywgMjcsIDE2LCAyNDMsIDIwNywgMjQ3LCAxOTYsIDIyOSwgNjUsIDI1NCwgNywgNDcsIDI3LCAxNiwgMjQzLCAKLSAgICAyMDcsIDIzMSwgMjU0LCAyNTAsIDEwLCAyNDcsIDE4MiwgNDcsIDI3LCAxNiwgMjQzLCAyMDcsIDIzMSwgMjU0LCAyNTAsIAotICAgIDEwLCAyMzAsIDIxMywgNDcsIDI3LCAxNiwgMjQ0LCA5MSwgMjIwLCAzMCwgMjUwLCAxMCwgMjE0LCAyNDEsIDQ3LCAyNywgCi0gICAgMTYsIDI0MywgMjA3LCAyMjAsIDMwLCAyNTAsIDEwLCAyMTgsIDEyNSwgNDcsIDI3LCAxNiwgMjQzLCAyMDcsIDIyOSwgMTc5LCAKLSAgICA0NywgMjcsIDE2LCAyNTAsIDExLCAyMTEsIDI0OCwgNDcsIDI3LCAxNiwgMjUwLCAxMSwgMjM0LCA0NSwgNDcsIDI3LCAxNiwgCi0gICAgMjUwLCAxMSwgMjE5LCAxOTcsIDQ3LCAyNywgMTYsIDI0MywgMjA3LCAyNDAsIDE0NiwgMjEzLCAxLCAyMTcsIDE4MiwgNDcsIAotICAgIDI3LCAxNiwgMjQzLCAyMDcsIDI0NSwgMTA3LCAyNTMsIDI1MywgNDcsIDI3LCAxNiwgMjEzLCAxLCAyMTYsIDE2NCwgNDcsIAotICAgIDI3LCAxNiwgMjQ3LCAxOTAsIDIxNiwgMTY0LCA0NywgMjcsIDE2LCAyNDcsIDE5MCwgMjE3LCAxODIsIDQ3LCAyNywgMTYsIAotICAgIDI0NywgMTkwLCAyNTMsIDIzNCwgMjQ1LCAyNTMsIDI0NywgOTMsIDQ3LCAyNywgMTYsIDI0NywgMTkwLCAyMzAsIDIxMSwgCi0gICAgMjE3LCAxODYsIDI0NywgOTMsIDQ3LCAyNywgMTYsIDI0NywgMTkwLCAyNDcsIDE3NCwgMjQ1LCAzLCAyNDcsIDkzLCA0NywgCi0gICAgMjcsIDE2LCAyNDcsIDE5MCwgMjE2LCAxNzIsIDIyNywgNzcsIDI0NywgOTMsIDQ3LCAyNywgMTYsIDIxMywgMSwgMjUzLCAKLSAgICAyMzQsIDI0NSwgMjUzLCAyNDcsIDkzLCA0NywgMjcsIDE2LCAyMTMsIDEsIDIzMCwgMjExLCAyMTcsIDE4NiwgMjQ3LCA5MywgCi0gICAgNDcsIDI3LCAxNiwgMjEzLCAxLCAyNDcsIDE3NCwgMjQ1LCAzLCAyNDcsIDkzLCA0NywgMjcsIDE2LCAyMTMsIDEsIDIxNiwgCi0gICAgMTcyLCAyMjcsIDc3LCAyNDcsIDkzLCA0NywgMjcsIDE2LCAyNDMsIDI1LCAyNDcsIDE4OSwgNDcsIDI3LCAxNiwgMjQzLCAKLSAgICAyNSwgMjEzLCAwLCA0NywgMjcsIDE2LCAyNDcsIDE5NywgMjUzLCAyMzQsIDIzMSwgMTIsIDQ3LCAyNywgMTYsIDI0NywgCi0gICAgMTk3LCAyNTMsIDIzNCwgMjMxLCAxMzcsIDQ3LCAyNywgMTYsIDI0NywgMTk3LCAyNDcsIDE1MywgNDcsIDI3LCAxNiwgMjQ3LCAKLSAgICAxOTcsIDIxNywgMTM1LCA0NywgMjcsIDE2LCAyMjAsIDg5LCAyMTcsIDEzNSwgNDcsIDI3LCAxNiwgMjIwLCA4OSwgMjE3LCAKLSAgICAxMzYsIDI0NywgMTM4LCA0NywgMjcsIDE2LCAyMjAsIDg5LCAyMTcsIDEzNiwgMjE2LCAxNjUsIDQ3LCAyNywgMTYsIDIyMCwgCi0gICAgODksIDIxNywgMTM2LCAyMTcsIDE3NSwgNDcsIDI3LCAxNiwgMjIwLCA4OSwgMjUzLCAxNTksIDQ3LCAyNywgMTYsIDIyMCwgCi0gICAgODksIDI1MywgMTYwLCAyNDcsIDEzOCwgNDcsIDI3LCAxNiwgMjIwLCA4OSwgMjUzLCAxNjAsIDIxNiwgMTY1LCA0NywgMjcsIAotICAgIDE2LCAyMjAsIDg5LCAyNTMsIDE2MCwgMjE3LCAxNzUsIDQ3LCAyNywgMTYsIDI0NywgMTc1LCAyNDMsIDYsIDQ3LCAyNywgCi0gICAgMTYsIDI0NywgMTgxLCAyMjcsIDIsIDQ3LCAyNywgMTYsIDIxOSwgNzcsIDQ3LCAyNywgMTYsIDI1MywgMTc4LCAxOTMsIDQ3LCAKLSAgICAyNywgMTYsIDI1MywgMTc4LCAyMTQsIDEwNSwgNDcsIDI3LCAxNiwgMjUzLCAxNzgsIDI0MywgMTEwLCA0NywgMjcsIDE2LCAKLSAgICAyNTMsIDE3OCwgMjQ3LCAyMTEsIDQ3LCAyNywgMTYsIDI1MywgMTc4LCAyMzQsIDE4OCwgNDcsIDI3LCAxNiwgMjUzLCAxNzgsIAotICAgIDIxMiwgMTYsIDQ3LCAyNywgMTYsIDI1MywgMTc4LCAyMjksIDY0LCA0NywgMjcsIDE2LCAyMzQsIDE2OCwgMjI5LCAxNzgsIAotICAgIDIzMSwgMTA5LCA0NywgMjcsIDE2LCAyMzQsIDE2OSwgMjI5LCAxNzgsIDIzMSwgMTA5LCA0NywgMjcsIDE2LCAyMzQsIDE2OCwgCi0gICAgMjI5LCAxNzgsIDIzNCwgMjAxLCA0NywgMjcsIDE2LCAyMzQsIDE2OSwgMjI5LCAxNzgsIDIzNCwgMjAxLCA0NywgMjcsIDE2LCAKLSAgICAyMzQsIDQ3LCAyMzQsIDIwMSwgNDcsIDI3LCAxNiwgMjQyLCAxMzUsIDIyOSwgMTc4LCAyMzQsIDIwMSwgMjcsIDE2LCAyMjAsIAotICAgIDgxLCAyNTIsIDU1LCAyNywgMTYsIDUxLCAyNTIsIDU1LCAyNywgMTYsIDQwLCAyNTIsIDU1LCAyNywgMTYsIDIyMywgMjAzLCAKLSAgICA0MCwgMjUyLCA1NSwgMjcsIDE2LCAyNDgsIDEwMCwgMjUyLCA1NSwgMjcsIDE2LCAyMjAsIDE3NSwgMjUyLCA1NSwgMjcsIAotICAgIDE2LCA0MiwgMjIzLCAyMjgsIDUyLCAyNywgMTYsIDQ2LCAyMjMsIDIyOCwgNTIsIDI3LCAxNiwgMjIzLCAyMjgsIDI0NywgCi0gICAgNzIsIDI3LCAxNiwgMjQ4LCAxNDEsIDIyMiwgODIsIDI3LCAxNiwgMjQ4LCAxNjUsIDI1MCwgMTgxLCAyNywgMTYsIDIyMiwgCi0gICAgODIsIDI3LCAxNiwgMjQ5LCAxNzEsIDI3LCAxNiwgMjIzLCAyMjYsIDI0NCwgODAsIDI3LCAxNiwgMjIzLCAyMjYsIDI0NCwgCi0gICAgNzksIDI3LCAxNiwgMjIzLCAyMjYsIDI0NCwgNzgsIDI3LCAxNiwgMjQ0LCAxMDAsIDI3LCAxNiwgMjQ0LCAxMDEsIDU1LCAKLSAgICAyNywgMTYsIDI1MSwgNzYsIDc3LCAyNywgMTYsIDI1MCwgMjEwLCAyNywgMTYsIDI1MSwgODYsIDI3LCAxNiwgMTI1LCAyNywgCi0gICAgMTYsIDIyNywgNTksIDIxOSwgMTAyLCAyNywgMTYsIDIxNiwgMjMsIDIxOSwgMTAyLCAyNywgMTYsIDIxNywgOTYsIDIxOSwgCi0gICAgMTAyLCAyNywgMTYsIDI0MywgMjM2LCAyMTksIDEwMiwgMjcsIDE2LCAyNDQsIDQ5LCAyMTksIDEwMiwgMjcsIDE2LCAyMjAsIAotICAgIDUyLCAyMTksIDEwMiwgMjcsIDE2LCAyMjAsIDUwLCAyNDMsIDIyMCwgMjcsIDE2LCAyNDMsIDIzNCwgMjQzLCAyMjAsIDI3LCAKLSAgICAxNiwgMjQzLCAxNzgsIDI0OSwgMjA3LCAyNywgMTYsIDI0MywgMTc4LCAyNDksIDIwOCwgMjI3LCA0LCAyNTQsIDUxLCAyNywgCi0gICAgMTYsIDI0MywgMTc4LCAyNDksIDIwOCwgMjI3LCA0LCAyNTIsIDQyLCAyNywgMTYsIDI1MCwgMjUzLCAyNDksIDIwNywgMjcsIAotICAgIDE2LCAyNDQsIDIzMSwgMjQ5LCAyMDcsIDI3LCAxNiwgMjQ0LCAyMzEsIDI0OSwgMjA4LCAyMjcsIDQsIDI1NCwgNTEsIDI3LCAKLSAgICAxNiwgMjQ0LCAyMzEsIDI0OSwgMjA4LCAyMjcsIDQsIDI1MiwgNDIsIDI3LCAxNiwgMjQ2LCAzOCwgMjQ5LCAyMDYsIDI3LCAKLSAgICAxNiwgMjQ2LCAzOCwgMjQ5LCAyMDUsIDI3LCAxNiwgMjMwLCAxNTUsIDIzMSwgMTU1LCAyMjMsIDIxMywgMjcsIDE2LCA1MSwgCi0gICAgMjIwLCAyNTQsIDI3LCAxNiwgNTEsIDI0NCwgMzQsIDI3LCAxNiwgMjQ0LCAzNSwgMjE1LCAxMzQsIDI3LCAxNiwgMjQ0LCAKLSAgICAzNSwgMjQ2LCA2MCwgMjcsIDE2LCAyMzAsIDksIDIxNSwgMTM0LCAyNywgMTYsIDIzMCwgOSwgMjQ2LCA2MCwgMjcsIDE2LCAKLSAgICAyMjAsIDI1NSwgMjE1LCAxMzQsIDI3LCAxNiwgMjIwLCAyNTUsIDI0NiwgNjAsIDI3LCAxNiwgMjI0LCAxNjcsIDE2MCwgCi0gICAgMjIwLCAyNTQsIDI3LCAxNiwgMjI0LCAxNjcsIDE2MCwgMjQ0LCAzNCwgMjcsIDE2LCAyNDksIDE1NSwgMjE3LCA0MCwgMjcsIAotICAgIDE2LCAyNDksIDI3LCAyMTcsIDQwLCAyNywgMTYsIDIyNywgNCwgMjU0LCA1MSwgMjcsIDE2LCAyMjcsIDQsIDI1MiwgNDIsIAotICAgIDI3LCAxNiwgMjI0LCAxNDksIDI1NCwgNTEsIDI3LCAxNiwgMjI0LCAxNDksIDI1MiwgNDIsIDI3LCAxNiwgMjMwLCAxNTgsIAotICAgIDIyMywgMjEzLCAyNywgMTYsIDIxMywgMjM2LCAyMjMsIDIxMywgMjcsIDE2LCAxNTEsIDIyMywgMjEzLCAyNywgMTYsIDIyNCwgCi0gICAgMTY3LCAyMjMsIDIxMywgMjcsIDE2LCAyNDUsIDE0NiwgMjIzLCAyMTMsIDI3LCAxNiwgMjIwLCA0NiwgMjIzLCAyMTMsIDI3LCAKLSAgICAxNiwgMjE3LCAxMTMsIDIyMywgMjEzLCAyNywgMTYsIDIyMCwgMzgsIDIyMywgMjEzLCAyNywgMTYsIDEyMiwgMjQwLCAyMDEsIAotICAgIDIxNiwgMzYsIDIyMywgMjEzLCAyNywgMTYsIDIxMywgMTY3LCAyMjgsIDE1NCwgMjcsIDE2LCA5NCwgMjI4LCAxNTQsIDI3LCAKLSAgICAxNiwgMjQ5LCAyMjksIDIxMywgMTY3LCAyMjgsIDE1NCwgMjcsIDE2LCA0MSwgMjI4LCAxNTUsIDIxMywgMjM4LCAyNywgMTYsIAotICAgIDQxLCAyMjgsIDE1NSwgMjUxLCAxNDQsIDI3LCAxNiwgMjE2LCAxODQsIDIyOCwgMTU1LCAxMTQsIDIxMywgMjM4LCAyNywgCi0gICAgMTYsIDIxNiwgMTg0LCAyMjgsIDE1NSwgMTE0LCAyNTEsIDE0NCwgMjcsIDE2LCAyMTYsIDE4NCwgMjI4LCAxNTUsIDQyLCAKLSAgICAyMTMsIDIzOCwgMjcsIDE2LCAyMTYsIDE4NCwgMjI4LCAxNTUsIDQyLCAyNTEsIDE0NCwgMjcsIDE2LCAyMTYsIDE4NCwgCi0gICAgMjI4LCAxNTUsIDQ2LCAyMTMsIDIzOCwgMjcsIDE2LCAyMTYsIDE4NCwgMjI4LCAxNTUsIDQ2LCAyNTEsIDE0NCwgMjcsIDE2LCAKLSAgICAyMTYsIDE4NCwgMjI4LCAxNTUsIDExOSwgMjEzLCAyMzgsIDI3LCAxNiwgMjE2LCAxODQsIDIyOCwgMTU1LCAxMTksIDI1MSwgCi0gICAgMTQ0LCAyNywgMTYsIDIxNiwgMTg0LCAyMjgsIDE1NSwgMTE0LCA0NiwgMjEzLCAyMzgsIDI3LCAxNiwgMjE2LCAxODQsIAotICAgIDIyOCwgMTU1LCAxMTQsIDQ2LCAyNTEsIDE0NCwgMjcsIDE2LCAyMzAsIDE5OSwgMjI4LCAxNTUsIDIxMywgMjM4LCAyNywgCi0gICAgMTYsIDIzMCwgMTk5LCAyMjgsIDE1NSwgMjUxLCAxNDQsIDI3LCAxNiwgMjE2LCAxODEsIDIyOCwgMTU1LCAxMTksIDIxMywgCi0gICAgMjM4LCAyNywgMTYsIDIxNiwgMTgxLCAyMjgsIDE1NSwgMTE5LCAyNTEsIDE0NCwgMjcsIDE2LCAyMjYsIDEzMiwgMjI4LCAKLSAgICAxNTQsIDI3LCAxNiwgMjE0LCAxMTMsIDIyOCwgMTU0LCAyNywgMTYsIDIyOCwgMTU1LCAyNTEsIDE0NCwgMjcsIDE2LCAyMjgsIAotICAgIDU5LCAyMjgsIDE1NCwgMjcsIDE2LCAyNDksIDE3OCwgMjI4LCAxNTUsIDIxMywgMjM4LCAyNywgMTYsIDI0OSwgMTc4LCAKLSAgICAyMjgsIDE1NSwgMjUxLCAxNDQsIDI3LCAxNiwgMjUxLCA3NCwgMjcsIDE2LCAyMTMsIDIzNiwgMjI4LCAxNTgsIDI3LCAxNiwgCi0gICAgMTUxLCAyMjgsIDE1OCwgMjcsIDE2LCAyMjQsIDE2NywgMjI4LCAxNTgsIDI3LCAxNiwgMjQ1LCAxNDYsIDIyOCwgMTU4LCAKLSAgICAyNywgMTYsIDIyMCwgNDYsIDIyOCwgMTU4LCAyNywgMTYsIDIxNywgMTEzLCAyMjgsIDE1OCwgMjcsIDE2LCAyMjAsIDM4LCAKLSAgICAyMjgsIDE1OCwgMjcsIDE2LCAxMjIsIDI0MCwgMjAxLCAyMTYsIDM2LCAyMjgsIDE1OCwgMjcsIDE2LCAzNywgMjE5LCA3OSwgCi0gICAgMjcsIDE2LCAzNywgMjE5LCAxNzIsIDIxOSwgNzksIDI3LCAxNiwgMzcsIDIxNiwgMTkyLCAyNywgMTYsIDM3LCAyMTYsIAotICAgIDE5MSwgMjcsIDE2LCAzNywgMjE2LCAxOTAsIDI3LCAxNiwgMjQ0LCA3MCwgMjE2LCAxOTIsIDI3LCAxNiwgMjQ0LCA3MCwgCi0gICAgMjE2LCAxOTEsIDI3LCAxNiwgMjQ0LCA3MCwgMjE2LCAxOTAsIDI3LCAxNiwgMzcsIDI1MywgMTA1LCAyNDcsIDc0LCAyNywgCi0gICAgMTYsIDM3LCAyNDQsIDQxLCAyNywgMTYsIDM3LCAyNDQsIDQwLCAyNywgMTYsIDM3LCAyNDQsIDM5LCAyNywgMTYsIDM3LCAKLSAgICAyNDQsIDM4LCAyNywgMTYsIDM3LCAyNDQsIDM3LCAyNywgMTYsIDI1MSwgMjM0LCAyNTEsIDI1MCwgMjcsIDE2LCAyNDUsIAotICAgIDEwMSwgMjUxLCAyNTAsIDI3LCAxNiwgMjUxLCAyMzQsIDIxNywgNjUsIDI3LCAxNiwgMjQ1LCAxMDEsIDIxNywgNjUsIDI3LCAKLSAgICAxNiwgMjUxLCAyMzQsIDIyMCwgOCwgMjcsIDE2LCAyNDUsIDEwMSwgMjIwLCA4LCAyNywgMTYsIDI1MSwgMjM0LCAyMjUsIAotICAgIDI0NywgMjcsIDE2LCAyNDUsIDEwMSwgMjI1LCAyNDcsIDI3LCAxNiwgMzcsIDI1NCwgMTc0LCAyNywgMTYsIDM3LCAyMTksIAotICAgIDEwNCwgMjcsIDE2LCAzNywgMjE3LCAxOTEsIDI3LCAxNiwgMzcsIDIxOSwgMTA1LCAyNywgMTYsIDM3LCAyMzEsIDIyNSwgCi0gICAgMjcsIDE2LCAzNywgMjMxLCAyMjQsIDI3LCAxNiwgMzcsIDI1NCwgMTczLCAyNywgMTYsIDM3LCAyMzIsIDE2NywgMjcsIDE2LCAKLSAgICAyNTMsIDE2OSwgMjE1LCAxMzQsIDI3LCAxNiwgMjUzLCAxNjksIDI0NiwgNjAsIDI3LCAxNiwgMzcsIDI0NywgODksIDI3LCAKLSAgICAxNiwgMzcsIDIyMywgMTI4LCAyNywgMTYsIDM3LCAyNDQsIDI3LCAyNywgMTYsIDM3LCAyMjAsIDQsIDI3LCAxNiwgMzcsIAotICAgIDI1MSwgMjE1LCAyNywgMTYsIDM3LCA1MSwgMjE2LCAyMzIsIDI3LCAxNiwgMzcsIDIxNiwgMTY5LCAyMTYsIDIzMiwgMjcsIAotICAgIDE2LCAyMjMsIDEzMiwgMjcsIDE2LCAyMTksIDIwLCAyNywgMTYsIDIxMiwgMTUyLCAyNywgMTYsIDIyNSwgMjM5LCAyNywgCi0gICAgMTYsIDIzMSwgOTIsIDI3LCAxNiwgMjQzLCAyNDIsIDI3LCAxNiwgMjQ5LCA3OCwgMjcsIDE2LCAyNDgsIDI5LCAyNywgMTYsIAotICAgIDI0MiwgMTI2LCAyMjgsIDE1OSwgMjIwLCAyMywgMjcsIDE2LCAyNDIsIDEyNiwgMjI4LCAxNTksIDIyOCwgMTg2LCAyMjAsIAotICAgIDIzLCAyNywgMTYsIDIxNiwgMjEzLCAyNywgMTYsIDIxNiwgNTksIDI3LCAxNiwgMjM1LCAxOTEsIDIxNiwgNTksIDI3LCAxNiwgCi0gICAgMjE2LCA2MCwgMjIwLCAyMywgMjcsIDE2LCAyMTYsIDYwLCAyMTUsIDEzNCwgMjcsIDE2LCAyMjcsIDE1LCAyMTksIDQ0LCAKLSAgICAyNywgMTYsIDIyNywgMTUsIDIxOSwgNDEsIDI3LCAxNiwgMjI3LCAxNSwgMjE5LCA0MCwgMjcsIDE2LCAyMjcsIDE1LCAyMTksIAotICAgIDM5LCAyNywgMTYsIDIyNywgMTUsIDIxOSwgMzgsIDI3LCAxNiwgMjI3LCAxNSwgMjE5LCAzNywgMjcsIDE2LCAyMjcsIDE1LCAKLSAgICAyMTksIDM2LCAyNywgMTYsIDIyNywgMTUsIDIxOSwgMzUsIDI3LCAxNiwgMjI3LCAxNSwgMjE5LCAzNCwgMjcsIDE2LCAyMjcsIAotICAgIDE1LCAyMTksIDQzLCAyNywgMTYsIDIyNywgMTUsIDIxOSwgNDIsIDI3LCAxNiwgMjQxLCAyMjksIDI3LCAxNiwgMjI5LCAKLSAgICAxODYsIDI3LCAxNiwgMjQ1LCAxMDEsIDY1LCAyMTksIDczLCAyNywgMTYsIDI0OCwgMjIsIDIyMCwgMjMsIDI3LCAxNiwgMzcsIAotICAgIDExOSwgMjUxLCA5NSwgMjcsIDE2LCAzNywgMTE0LCAyNTEsIDk1LCAyNywgMTYsIDM3LCAyNDEsIDIzOSwgMjcsIDE2LCAzNywgCi0gICAgMjE5LCAyNTEsIDIyNSwgMTc1LCAyNywgMTYsIDIyNiwgOTEsIDc3LCAyNywgMTYsIDIyNiwgOTEsIDExNCwgNzcsIDI3LCAKLSAgICAxNiwgMTUxLCAyMjYsIDkxLCA3NywgMjcsIDE2LCAyNDIsIDE1OCwgMjE1LCAxMzQsIDI3LCAxNiwgMjQyLCAxNTgsIDI0NiwgCi0gICAgNjAsIDI3LCAxNiwgMiwgMjQ0LCA2OSwgMjcsIDE2LCAyNDgsIDEyNSwgMjcsIDE2LCAyNDgsIDEyNiwgMjU0LCA2MywgMjcsIAotICAgIDE2LCAyMzEsIDE5NywgMjcsIDE2LCAyMzIsIDE4MiwgMjcsIDE2LCAyNTEsIDcxLCAyNywgMTYsIDIyMSwgNzQsIDIxMywgCi0gICAgMjM4LCAyNywgMTYsIDIyMSwgNzQsIDI1MSwgMTQ0LCAyNywgMTYsIDIzMCwgMjUzLCAyNywgMTYsIDIzMCwgMjU0LCAyNTEsIAotICAgIDE0NCwgMjcsIDE2LCAyMjEsIDY4LCAyMTMsIDIzOCwgMjcsIDE2LCAyMjEsIDY4LCAyNTEsIDE0NCwgMjcsIDE2LCAyNDMsIAotICAgIDE5MiwgMjEzLCAyMzgsIDI3LCAxNiwgMjQzLCAxOTIsIDI1MSwgMTQ0LCAyNywgMTYsIDIzMiwgMTgzLCAyMjYsIDU1LCAKLSAgICAyMjMsIDIxMywgMjcsIDE2LCAyMzIsIDE4MywgMjM2LCAwLCAyMjMsIDIxMywgMjcsIDE2LCAyNTEsIDcyLCAyMjMsIDIxMywgCi0gICAgMjcsIDE2LCAyMjEsIDc0LCAyMjMsIDIxMywgMjcsIDE2LCAyMzAsIDI1NCwgMjIzLCAyMTMsIDI3LCAxNiwgMjIxLCA2OCwgCi0gICAgMjIzLCAyMTMsIDI3LCAxNiwgMjE3LCAyMDIsIDIyNiwgNTMsIDI0OSwgNDgsIDIyNSwgNTgsIDIyNiwgNTQsIDI3LCAxNiwgCi0gICAgMjE3LCAyMDIsIDIyNiwgNTMsIDI0OSwgNDgsIDIyNSwgNTgsIDIzNSwgMjU1LCAyNywgMTYsIDIxNywgMjAyLCAyMjYsIDUzLCAKLSAgICAyNDksIDQ4LCAyMjUsIDU4LCAyMjYsIDU1LCAyNDcsIDE2MywgMjcsIDE2LCAyMTcsIDIwMiwgMjM1LCAyNTQsIDI0OSwgNDgsIAotICAgIDIyNSwgNTgsIDIyNiwgNTQsIDI3LCAxNiwgMjE3LCAyMDIsIDIzNSwgMjU0LCAyNDksIDQ4LCAyMjUsIDU4LCAyMzUsIDI1NSwgCi0gICAgMjcsIDE2LCAyMTcsIDIwMiwgMjM1LCAyNTQsIDI0OSwgNDgsIDIyNSwgNTgsIDIzNiwgMCwgMjQ3LCAxNjMsIDI3LCAxNiwgCi0gICAgMjE3LCAyMDIsIDIzNSwgMjU0LCAyNDksIDQ4LCAyMjUsIDU4LCAyMzYsIDAsIDI0NywgMTYyLCAyNywgMTYsIDIxNywgMjAyLCAKLSAgICAyMzUsIDI1NCwgMjQ5LCA0OCwgMjI1LCA1OCwgMjM2LCAwLCAyNDcsIDE2MSwgMjcsIDE2LCAyNDksIDczLCAyNywgMTYsIAotICAgIDI0MiwgMTAzLCAyNTAsIDI1MywgMjQ5LCAyMDcsIDI3LCAxNiwgMjQyLCAxMDMsIDI0NCwgMjMxLCAyNDksIDIwNywgMjcsIAotICAgIDE2LCA0MSwgMjUzLCA3NCwgMjcsIDE2LCAyMTQsIDEzMiwgMjcsIDE2LCAyMjUsIDE0OCwgMjcsIDE2LCAyNDksIDE5OCwgCi0gICAgMjcsIDE2LCAyMjIsIDEyMSwgMjcsIDE2LCAyNDksIDIwMiwgMjcsIDE2LCAyMTYsIDIyMCwgMjcsIDE2LCAyMjUsIDEyMiwgCi0gICAgMjcsIDE2LCAyMjUsIDEyMywgMjQ0LCAyOSwgMjcsIDE2LCAyMjIsIDEyMiwgMjQ0LCAyOSwgMjcsIDE2LCAyMTYsIDIyMSwgCi0gICAgMjIzLCAyMTAsIDI3LCAxNiwgMjI2LCAzOSwgMjE5LCAxMSwgMjUsIDIxNCwgMTE4LCAxNzQsIDIxOCwgMTc0LCAyNSwgMjE0LCAKLSAgICAxMTgsIDE3NCwgMjE4LCAxNjMsIDI1LCAyMTQsIDExOCwgMTc0LCAyMTgsIDE1MywgMjUsIDIxNCwgMTE4LCAxNzQsIDIxOCwgCi0gICAgMTQ2LCAyNSwgMjE0LCAxMTgsIDE3NCwgMjE4LCAxMzgsIDI1LCAyMTQsIDExOCwgMTc0LCAyMTgsIDEzMiwgMjUsIDIxNCwgCi0gICAgMTE4LCAxNzQsIDIxOCwgMTMxLCAyNSwgMjE0LCAxMTgsIDE3NCwgMjE4LCAxMzAsIDI1LCAyMTQsIDExOCwgMTc0LCAyMTgsIAotICAgIDEyOSwgMjUsIDIxNCwgMTE4LCAxNzQsIDIxOCwgMTczLCAyNSwgMjE0LCAxMTgsIDE3NCwgMjE4LCAxNzIsIDI1LCAyMTQsIAotICAgIDExOCwgMTc0LCAyMTgsIDE3MSwgMjUsIDIxNCwgMTE4LCAxNzQsIDIxOCwgMTcwLCAyNSwgMjE0LCAxMTgsIDE3NCwgMjE4LCAKLSAgICAxNjksIDI1LCAyMTQsIDExOCwgMTc0LCAyMTgsIDE2OCwgMjUsIDIxNCwgMTE4LCAxNzQsIDIxOCwgMTY3LCAyNSwgMjE0LCAKLSAgICAxMTgsIDE3NCwgMjE4LCAxNjYsIDI1LCAyMTQsIDExOCwgMTc0LCAyMTgsIDE2NSwgMjUsIDIxNCwgMTE4LCAxNzQsIDIxOCwgCi0gICAgMTY0LCAyNSwgMjE0LCAxMTgsIDE3NCwgMjE4LCAxNjIsIDI1LCAyMTQsIDExOCwgMTc0LCAyMTgsIDE2MSwgMjUsIDIxNCwgCi0gICAgMTE4LCAxNzQsIDIxOCwgMTYwLCAyNSwgMjE0LCAxMTgsIDE3NCwgMjE4LCAxNTksIDI1LCAyMTQsIDExOCwgMTc0LCAyMTgsIAotICAgIDE1OCwgMjUsIDIxNCwgMTE4LCAxNzQsIDIxOCwgMTM3LCAyNSwgMjE0LCAxMTgsIDE3NCwgMjE4LCAxMzYsIDI1LCAyMTQsIAotICAgIDExOCwgMTc0LCAyMTgsIDEzNSwgMjUsIDIxNCwgMTE4LCAxNzQsIDIxOCwgMTM0LCAyNSwgMjE0LCAxMTgsIDE3NCwgMjE4LCAKLSAgICAxMzMsIDI1LCAyMzUsIDIxMSwgMTc0LCAyMTgsIDE3NCwgMjUsIDIzNSwgMjExLCAxNzQsIDIxOCwgMTYzLCAyNSwgMjM1LCAKLSAgICAyMTEsIDE3NCwgMjE4LCAxNDYsIDI1LCAyMzUsIDIxMSwgMTc0LCAyMTgsIDEzOCwgMjUsIDIzNSwgMjExLCAxNzQsIDIxOCwgCi0gICAgMTMxLCAyNSwgMjM1LCAyMTEsIDE3NCwgMjE4LCAxMzAsIDI1LCAyMzUsIDIxMSwgMTc0LCAyMTgsIDE3MiwgMjUsIDIzNSwgCi0gICAgMjExLCAxNzQsIDIxOCwgMTcxLCAyNSwgMjM1LCAyMTEsIDE3NCwgMjE4LCAxNzAsIDI1LCAyMzUsIDIxMSwgMTc0LCAyMTgsIAotICAgIDE2OSwgMjUsIDIzNSwgMjExLCAxNzQsIDIxOCwgMTY2LCAyNSwgMjM1LCAyMTEsIDE3NCwgMjE4LCAxNjUsIDI1LCAyMzUsIAotICAgIDIxMSwgMTc0LCAyMTgsIDE2NCwgMjUsIDIzNSwgMjExLCAxNzQsIDIxOCwgMTU5LCAyNSwgMjM1LCAyMTEsIDE3NCwgMjE4LCAKLSAgICAxNTgsIDI1LCAyMzUsIDIxMSwgMTc0LCAyMTgsIDE1NywgMjUsIDIzNSwgMjExLCAxNzQsIDIxOCwgMTU2LCAyNSwgMjM1LCAKLSAgICAyMTEsIDE3NCwgMjE4LCAxNTUsIDI1LCAyMzUsIDIxMSwgMTc0LCAyMTgsIDE1NCwgMjUsIDIzNSwgMjExLCAxNzQsIDIxOCwgCi0gICAgMTUyLCAyNSwgMjM1LCAyMTEsIDE3NCwgMjE4LCAxNTEsIDI1LCAyMzUsIDIxMSwgMTc0LCAyMTgsIDE1MCwgMjUsIDIzNSwgCi0gICAgMjExLCAxNzQsIDIxOCwgMTQ5LCAyNSwgMjM1LCAyMTEsIDE3NCwgMjE4LCAxNDgsIDI1LCAyMzUsIDIxMSwgMTc0LCAyMTgsIAotICAgIDE0NywgMjUsIDIzNSwgMjExLCAxNzQsIDIxOCwgMTQ1LCAyNSwgMjM1LCAyMTEsIDE3NCwgMjE4LCAxNDQsIDI1LCAyMzUsIAotICAgIDIxMSwgMTc0LCAyMTgsIDE0MywgMjUsIDIzNSwgMjExLCAxNzQsIDIxOCwgMTQyLCAyNSwgMjM1LCAyMTEsIDE3NCwgMjE4LCAKLSAgICAxNDEsIDI1LCAyMzUsIDIxMSwgMTc0LCAyMTgsIDE0MCwgMjUsIDIzNSwgMjExLCAxNzQsIDIxOCwgMTM5LCAyNSwgMjM1LCAKLSAgICAyMTEsIDE3NCwgMjE4LCAxMzcsIDI1LCAyMzUsIDIxMSwgMTc0LCAyMTgsIDEzNiwgMjUsIDIzNSwgMjExLCAxNzQsIDIxOCwgCi0gICAgMTM1LCAyNSwgMjM1LCAyMTEsIDE3NCwgMjE4LCAxMzQsIDI1LCAyMzUsIDIxMSwgMTc0LCAyMTgsIDEzMywgMzcsIDI1LCAKLSAgICAyNywgMjE2LCAxNjYsIDM3LCAyNSwgMjcsIDIxNywgMTc2LCAzNywgMjUsIDI3LCAyMjYsIDYzLCAyNSwgMjcsIDIzMywgNTUsIAotICAgIDIzMCwgMjEyLCAzMSwgMjQ1LCAxNzksIDI0NywgMTc2LCAzMSwgMjQxLCAyMDYsIDI0NSwgMTc5LCAyNDcsIDE3NiwgMzEsIAotICAgIDI0MCwgMjA0LCAyNDUsIDE3OSwgMjQ3LCAxNzYsIDMxLCAyNDUsIDE3OCwgMjQxLCAyMDcsIDI0NywgMTc2LCAzMSwgMjQ1LCAKLSAgICAxNzgsIDI0MCwgMjAzLCAyNDcsIDE3NiwgMzEsIDI0NSwgMTc5LCAxNzAsIDMxLCAyNTAsIDEwOCwgMTcwLCAzMSwgMjQzLCAKLSAgICAyMDAsIDI0OSwgMjI4LCAxNzAsIDMxLCAyMzAsIDI0NiwgMTcwLCAzMSwgMjUyLCA1MCwgMTcwLCAzMSwgMjM0LCAxODUsIAotICAgIDIyMCwgNywgMTcwLCAzMSwgMjQ5LCAxMTgsIDE3MCwgMzEsIDI1MywgMTQ4LCAxNzAsIDMxLCAyMjcsIDI5LCAxNzAsIDMxLCAKLSAgICAyNTEsIDgwLCAyMjYsIDI1NCwgMTcwLCAzMSwgMjQ4LCAyNCwgMTY3LCAyNDcsIDEzMSwgMTcwLCAzMSwgMjQ3LCAxMjgsIAotICAgIDE3MCwgMzEsIDIxMiwgMjEzLCAxNzAsIDMxLCAyMzUsIDI0MywgMTcwLCAzMSwgMjI2LCA3MiwgMTcwLCAzMSwgMjI0LCAyMCwgCi0gICAgMTcwLCAzMSwgMjQ5LCAxMjgsIDE3MCwgMzEsIDI0MSwgNDYsIDI1MiwgMTAxLCAxNzAsIDMxLCAyMTQsIDQzLCAxNzAsIDMxLCAKLSAgICAyNDQsIDgsIDE3MCwgMzEsIDI1NCwgMTUxLCAxNzAsIDMxLCAyMjMsIDIzOSwgMTcwLCAzMSwgMjIzLCAyMTcsIDE3MCwgMzEsIAotICAgIDI0NSwgMTc3LCAxNzAsIDMxLCAyMzUsIDU2LCAxNzAsIDMxLCAyNDksIDEyMywgMTcwLCAzMSwgMjQ1LCAxMDAsIDE3MCwgCi0gICAgMzEsIDI0NiwgNywgMTcwLCAzMSwgMjUwLCA4MSwgMTcwLCAzMSwgMjQ4LCAzMywgMTcwLCAzMSwgMjIsIDIyMywgMjE2LCAKLSAgICAxNzAsIDMxLCAyMjYsIDIwNSwgMTcwLCAzMSwgMjMzLCA1OCwgMTcwLCAzMSwgMjQ5LCAxOTEsIDE3MCwgMzEsIDIzNCwgODYsIAotICAgIDE3MCwgMzEsIDI0MywgNjIsIDE3MCwgMzEsIDIxOSwgNTIsIDE3MCwgMzEsIDIyNSwgMTYsIDE3MCwgMzEsIDI0MywgMTk5LCAKLSAgICAxNzAsIDMxLCAyMjMsIDIxOCwgMTcwLCAzMSwgMjMzLCA5NSwgMTY3LCAyMzAsIDIyNywgMTcwLCAzMSwgMjIzLCAyMTQsIAotICAgIDE3MCwgMzEsIDI0MiwgMTQ0LCAyMTEsIDIxMSwgMjMxLCAxNDEsIDE3MCwgMzEsIDI0NSwgMTAyLCAxNzAsIDMxLCAyMTksIAotICAgIDY0LCAxNzAsIDMxLCAyNDIsIDEwNSwgMTcwLCAzMSwgMjQ1LCA5NCwgMTcwLCAzMSwgMjI2LCAxMDgsIDE3MCwgMzEsIDIyMywgCi0gICAgMTIyLCAxNzAsIDMxLCAyNDQsIDI4LCAxNzAsIDMxLCAyMTQsIDI0MCwgMTY3LCAyMTQsIDI4LCAxNzAsIDMxLCAyNDksIAotICAgIDEzMiwgMTcwLCAzMSwgMjMxLCAxNTQsIDE3MCwgMzEsIDI0NSwgMjcsIDE3MCwgMzEsIDIxNSwgMTQzLCAxNzAsIDMxLCAKLSAgICAyNDcsIDE2NCwgMTcwLCAzMSwgMjQ5LCAxOTMsIDIzMCwgMTgwLCAxNzAsIDMxLCAyNDIsIDg3LCAxNzAsIDMxLCAyNDMsIAotICAgIDYzLCAyMzUsIDI1MSwgMTcwLCAzMSwgMjMxLCAyMDQsIDE3MCwgMzEsIDI1NCwgMTcwLCAxNzAsIDMxLCAyNDUsIDExNSwgCi0gICAgMTcwLCAzMSwgMjQ2LCA2MywgMTcwLCAzMSwgMjE0LCAyNiwgMTcwLCAzMSwgMjIwLCA3OCwgMTcwLCAzMSwgMjM1LCAyMTksIAotICAgIDE3MCwgMzEsIDI0NywgMjQ5LCAxNzAsIDMxLCAyNDgsIDEwNSwgMTcwLCAzMSwgMjQ3LCAxNjAsIDE3MCwgMzEsIDI0NCwgCi0gICAgMjUyLCAxNzAsIDMxLCAyMjEsIDM2LCAxNzAsIDMxLCAyMTksIDY4LCAxNzAsIDMxLCAyNDEsIDI0MSwgMTcwLCAzMSwgMjQ5LCAKLSAgICAxNTEsIDE3MCwgMzEsIDI0OSwgMTg4LCAxNzAsIDMxLCAyNDQsIDE0NSwgMTcwLCAzMSwgMjU0LCAxMTcsIDE3MCwgMzEsIAotICAgIDI0OSwgMTUwLCAxNzAsIDMxLCAyMjcsIDYzLCAyMTcsIDE0OSwgMjE0LCAyMTksIDE3MCwgMzEsIDI0NywgMTg0LCAxNzAsIAotICAgIDMxLCAyMzMsIDE0NywgMTcwLCAzMSwgMjQzLCAyMzksIDI0OSwgODgsIDIyMywgMTAzLCAyMTUsIDE0NSwgMjEsIDExNiwgCi0gICAgMjQ5LCA4OCwgMjIzLCAxMDMsIDIxNSwgMTQ1LCAyMSwgMTA5LCAyNDksIDg4LCAyMjMsIDEwMywgMjE1LCAxNDUsIDIxLCAKLSAgICAxNjYsIDI0OSwgODgsIDIyMywgMTAzLCAyMTUsIDE0NSwgMjEsIDE2MywgMjQ5LCA4OCwgMjIzLCAxMDMsIDIxNSwgMTQ1LCAKLSAgICAyMSwgMTgwLCAyNDksIDg4LCAyMjMsIDEwMywgMjE1LCAxNDUsIDIxLCAxODksIDI0OSwgODgsIDIyMywgMTAzLCAyMTUsIAotICAgIDE0NSwgMjEsIDE5OCwgMjQ5LCA4OCwgMjIzLCAxMDMsIDIxNSwgMTQ1LCAyMSwgMTk1LCAyNDksIDg4LCAyMjMsIDEwMywgCi0gICAgMjE1LCAxNDUsIDIxLCAyMDAsIDI0OSwgODgsIDIyMywgMTAzLCAyMTcsIDE5NiwgMjEsIDExNiwgMjQ5LCA4OCwgMjIzLCAKLSAgICAxMDMsIDIxNywgMTk2LCAyMSwgMTA5LCAyNDksIDg4LCAyMjMsIDEwMywgMjE3LCAxOTYsIDIxLCAxNjYsIDI0OSwgODgsIAotICAgIDIyMywgMTAzLCAyMTcsIDE5NiwgMjEsIDE2MywgMjQ5LCA4OCwgMjIzLCAxMDMsIDIxNywgMTk2LCAyMSwgMTgwLCAyNDksIAotICAgIDg4LCAyMjMsIDEwMywgMjE3LCAxOTYsIDIxLCAxODksIDI0OSwgODgsIDIyMywgMTAzLCAyMTcsIDE5NiwgMjEsIDE5OCwgCi0gICAgMjQ5LCA4OCwgMjIzLCAxMDMsIDIxNywgMTk2LCAyMSwgMTk1LCAyNDksIDg4LCAyMjMsIDEwMywgMjE3LCAxOTYsIDIxLCAKLSAgICAyMDAsIDE0LCAyMiwgNiwgNjEsIDE0LCAyMiwgNiwgMjUzLCA3NCwgMTQsIDIyLCA2LCAyNTAsIDI1MiwgMTQsIDIyLCA2LCAKLSAgICAyNDksIDMsIDE0LCAyMiwgNiwgNzQsIDE0LCAyMiwgNiwgMjQ0LCAyMzAsIDE0LCAyMiwgNiwgMjQzLCAxNzcsIDE0LCAyMiwgCi0gICAgNiwgMjQyLCA0MSwgMTQsIDIyLCA2LCA3MiwgMTQsIDIyLCA2LCAyMzUsIDE0MiwgMTQsIDIyLCA2LCAyMzUsIDI3LCAxNCwgCi0gICAgMjIsIDYsIDE1MCwgMTQsIDIyLCA2LCAxODMsIDE0LCAyMiwgNiwgMjA0LCAxNCwgMjIsIDYsIDc1LCAxNCwgMjIsIDYsIAotICAgIDIyNiwgMjI5LCAxNCwgMjIsIDYsIDIyNCwgMjQwLCAxNCwgMjIsIDYsIDE0OSwgMTQsIDIyLCA2LCAxOTcsIDE0LCAyMiwgNiwgCi0gICAgMjE4LCA5OSwgMTQsIDIyLCA2LCA2OSwgMTQsIDIyLCA2LCAyMTUsIDc5LCAxNCwgMjIsIDYsIDIxNCwgODIsIDE0LCAyMiwgCi0gICAgNiwgMjEzLCAxNjYsIDE0LCAyMiwgNiwgMjEzLCAxMDUsIDE0LCAyMiwgNiwgMjEyLCAxNTIsIDE0LCAyMiwgMywgNjEsIDE0LCAKLSAgICAyMiwgMywgMjUzLCA3NCwgMTQsIDIyLCAzLCAyNTAsIDI1MiwgMTQsIDIyLCAzLCAyNDksIDMsIDE0LCAyMiwgMywgNzQsIAotICAgIDE0LCAyMiwgMywgMjQ0LCAyMzAsIDE0LCAyMiwgMywgMjQzLCAxNzcsIDE0LCAyMiwgMywgMjQyLCA0MSwgMTQsIDIyLCAzLCAKLSAgICA3MiwgMTQsIDIyLCAzLCAyMzUsIDE0MiwgMTQsIDIyLCAzLCAyMzUsIDI3LCAxNCwgMjIsIDMsIDE1MCwgMTQsIDIyLCAzLCAKLSAgICAxODMsIDE0LCAyMiwgMywgMjA0LCAxNCwgMjIsIDMsIDc1LCAxNCwgMjIsIDMsIDIyNiwgMjI5LCAxNCwgMjIsIDMsIDIyNCwgCi0gICAgMjQwLCAxNCwgMjIsIDMsIDE0OSwgMTQsIDIyLCAzLCAxOTcsIDE0LCAyMiwgMywgMjE4LCA5OSwgMTQsIDIyLCAzLCA2OSwgCi0gICAgMTQsIDIyLCAzLCAyMTUsIDc5LCAxNCwgMjIsIDMsIDIxNCwgODIsIDE0LCAyMiwgMywgMjEzLCAxNjYsIDE0LCAyMiwgMywgCi0gICAgMjEzLCAxMDUsIDE0LCAyMiwgMywgMjEyLCAxNTIsIDE0LCAzMiwgNiwgNjEsIDE0LCAzMiwgNiwgMjUzLCA3NCwgMTQsIDMyLCAKLSAgICA2LCAyNTAsIDI1MiwgMTQsIDMyLCA2LCAyNDksIDMsIDE0LCAzMiwgNiwgNzQsIDE0LCAzMiwgNiwgMjQ0LCAyMzAsIDE0LCAKLSAgICAzMiwgNiwgMjQzLCAxNzcsIDE0LCAzMiwgNiwgMjQyLCA0MSwgMTQsIDMyLCA2LCA3MiwgMTQsIDMyLCA2LCAyMzUsIDE0MiwgCi0gICAgMTQsIDMyLCA2LCAyMzUsIDI3LCAxNCwgMzIsIDYsIDE1MCwgMTQsIDMyLCA2LCAxODMsIDE0LCAzMiwgNiwgMjA0LCAxNCwgCi0gICAgMzIsIDYsIDc1LCAxNCwgMzIsIDYsIDIyNiwgMjI5LCAxNCwgMzIsIDYsIDIyNCwgMjQwLCAxNCwgMzIsIDYsIDE0OSwgMTQsIAotICAgIDMyLCA2LCAxOTcsIDE0LCAzMiwgNiwgMjE4LCA5OSwgMTQsIDMyLCA2LCA2OSwgMTQsIDMyLCA2LCAyMTUsIDc5LCAxNCwgCi0gICAgMzIsIDYsIDIxNCwgODIsIDE0LCAzMiwgNiwgMjEzLCAxNjYsIDE0LCAzMiwgNiwgMjEzLCAxMDUsIDE0LCAzMiwgNiwgMjEyLCAKLSAgICAxNTIsIDE0LCAzMiwgMywgNjEsIDE0LCAzMiwgMywgMjUzLCA3NCwgMTQsIDMyLCAzLCAyNTAsIDI1MiwgMTQsIDMyLCAzLCAKLSAgICAyNDksIDMsIDE0LCAzMiwgMywgNzQsIDE0LCAzMiwgMywgMjQ0LCAyMzAsIDE0LCAzMiwgMywgMjQzLCAxNzcsIDE0LCAzMiwgCi0gICAgMywgNzIsIDE0LCAzMiwgMywgMjM1LCAxNDIsIDE0LCAzMiwgMywgMjM1LCAyNywgMTQsIDMyLCAzLCAxNTAsIDE0LCAzMiwgCi0gICAgMywgMTgzLCAxNCwgMzIsIDMsIDIwNCwgMTQsIDMyLCAzLCA3NSwgMTQsIDMyLCAzLCAyMjYsIDIyOSwgMTQsIDMyLCAzLCAKLSAgICAyMjQsIDI0MCwgMTQsIDMyLCAzLCAxNDksIDE0LCAzMiwgMywgMTk3LCAxNCwgMzIsIDMsIDIxOCwgOTksIDE0LCAzMiwgMywgCi0gICAgNjksIDE0LCAzMiwgMywgMjE1LCA3OSwgMTQsIDMyLCAzLCAyMTQsIDgyLCAxNCwgMzIsIDMsIDIxMywgMTY2LCAxNCwgMzIsIAotICAgIDMsIDIxMywgMTA1LCAxNCwgMzIsIDMsIDIxMiwgMTUyLCAxNCwgMjIsIDMyLCA2LCA2MSwgMTQsIDIyLCAzMiwgNiwgMjUzLCAKLSAgICA3NCwgMTQsIDIyLCAzMiwgNiwgMjUwLCAyNTIsIDE0LCAyMiwgMzIsIDYsIDI0OSwgMywgMTQsIDIyLCAzMiwgNiwgNzQsIAotICAgIDE0LCAyMiwgMzIsIDYsIDI0NCwgMjMwLCAxNCwgMjIsIDMyLCA2LCAyNDMsIDE3NywgMTQsIDIyLCAzMiwgNiwgMjQyLCA0MSwgCi0gICAgMTQsIDIyLCAzMiwgNiwgNzIsIDE0LCAyMiwgMzIsIDYsIDIzNSwgMTQyLCAxNCwgMjIsIDMyLCA2LCAyMzUsIDI3LCAxNCwgCi0gICAgMjIsIDMyLCA2LCAxNTAsIDE0LCAyMiwgMzIsIDYsIDE4MywgMTQsIDIyLCAzMiwgNiwgMjA0LCAxNCwgMjIsIDMyLCA2LCAKLSAgICA3NSwgMTQsIDIyLCAzMiwgNiwgMjI2LCAyMjksIDE0LCAyMiwgMzIsIDYsIDIyNCwgMjQwLCAxNCwgMjIsIDMyLCA2LCAxNDksIAotICAgIDE0LCAyMiwgMzIsIDYsIDE5NywgMTQsIDIyLCAzMiwgNiwgMjE4LCA5OSwgMTQsIDIyLCAzMiwgNiwgNjksIDE0LCAyMiwgCi0gICAgMzIsIDYsIDIxNSwgNzksIDE0LCAyMiwgMzIsIDYsIDIxNCwgODIsIDE0LCAyMiwgMzIsIDYsIDIxMywgMTY2LCAxNCwgMjIsIAotICAgIDMyLCA2LCAyMTMsIDEwNSwgMTQsIDIyLCAzMiwgNiwgMjEyLCAxNTIsIDE0LCAyMiwgMzIsIDMsIDYxLCAxNCwgMjIsIDMyLCAKLSAgICAzLCAyNTMsIDc0LCAxNCwgMjIsIDMyLCAzLCAyNTAsIDI1MiwgMTQsIDIyLCAzMiwgMywgMjQ5LCAzLCAxNCwgMjIsIDMyLCAKLSAgICAzLCA3NCwgMTQsIDIyLCAzMiwgMywgMjQ0LCAyMzAsIDE0LCAyMiwgMzIsIDMsIDI0MywgMTc3LCAxNCwgMjIsIDMyLCAzLCAKLSAgICAyNDIsIDQxLCAxNCwgMjIsIDMyLCAzLCA3MiwgMTQsIDIyLCAzMiwgMywgMjM1LCAxNDIsIDE0LCAyMiwgMzIsIDMsIDIzNSwgCi0gICAgMjcsIDE0LCAyMiwgMzIsIDMsIDE1MCwgMTQsIDIyLCAzMiwgMywgMTgzLCAxNCwgMjIsIDMyLCAzLCAyMDQsIDE0LCAyMiwgCi0gICAgMzIsIDMsIDc1LCAxNCwgMjIsIDMyLCAzLCAyMjYsIDIyOSwgMTQsIDIyLCAzMiwgMywgMjI0LCAyNDAsIDE0LCAyMiwgMzIsIAotICAgIDMsIDE0OSwgMTQsIDIyLCAzMiwgMywgMTk3LCAxNCwgMjIsIDMyLCAzLCAyMTgsIDk5LCAxNCwgMjIsIDMyLCAzLCA2OSwgCi0gICAgMTQsIDIyLCAzMiwgMywgMjE1LCA3OSwgMTQsIDIyLCAzMiwgMywgMjE0LCA4MiwgMTQsIDIyLCAzMiwgMywgMjEzLCAxNjYsIAotICAgIDE0LCAyMiwgMzIsIDMsIDIxMywgMTA1LCAxNCwgMjIsIDMyLCAzLCAyMTIsIDE1MiwgMTQsIDExMywgNiwgNjEsIDE0LCAKLSAgICAxMTMsIDYsIDI1MCwgMjUyLCAxNCwgMTEzLCA2LCAyNDksIDMsIDE0LCAxMTMsIDYsIDI0MywgMTc3LCAxNCwgMTEzLCA2LCAKLSAgICAyMzUsIDE0MiwgMTQsIDExMywgNiwgMjM1LCAyNywgMTQsIDExMywgNiwgMjA0LCAxNCwgMTEzLCA2LCA3NSwgMTQsIDExMywgCi0gICAgNiwgMjI2LCAyMjksIDE0LCAxMTMsIDYsIDIyNCwgMjQwLCAxNCwgMTEzLCA2LCAxOTcsIDE0LCAxMTMsIDYsIDIxOCwgOTksIAotICAgIDE0LCAxMTMsIDYsIDY5LCAxNCwgMTEzLCA2LCAyMTUsIDc5LCAxNCwgMTEzLCA2LCAyMTQsIDgyLCAxNCwgMTEzLCA2LCAKLSAgICAyMTMsIDE2NiwgMTQsIDExMywgNiwgMjEzLCAxMDUsIDE0LCAxMTMsIDYsIDIxMiwgMTUyLCAxNCwgMTEzLCAzLCA2MSwgMTQsIAotICAgIDExMywgMywgMjUzLCA3NCwgMTQsIDExMywgMywgMjUwLCAyNTIsIDE0LCAxMTMsIDMsIDI0OSwgMywgMTQsIDExMywgMywgCi0gICAgMjQ0LCAyMzAsIDE0LCAxMTMsIDMsIDI0MiwgNDEsIDE0LCAxMTMsIDMsIDcyLCAxNCwgMTEzLCAzLCAyMzUsIDE0MiwgMTQsIAotICAgIDExMywgMywgMjM1LCAyNywgMTQsIDExMywgMywgMTUwLCAxNCwgMTEzLCAzLCAxODMsIDE0LCAxMTMsIDMsIDIwNCwgMTQsIAotICAgIDExMywgMywgMjI2LCAyMjksIDE0LCAxMTMsIDMsIDIyNCwgMjQwLCAxNCwgMTEzLCAzLCAxNDksIDE0LCAxMTMsIDMsIDE5NywgCi0gICAgMTQsIDExMywgMywgMjE4LCA5OSwgMTQsIDExMywgMywgNjksIDE0LCAxMTMsIDMsIDIxNSwgNzksIDE0LCAxMTMsIDMsIAotICAgIDIxNCwgODIsIDE0LCAxMTMsIDMsIDIxMywgMTY2LCAxNCwgMTEzLCAzLCAyMTMsIDEwNSwgMTQsIDExMywgMywgMjEyLCAKLSAgICAxNTIsIDE0LCAyMiwgMTEzLCA2LCA2MSwgMTQsIDIyLCAxMTMsIDYsIDI1MywgNzQsIDE0LCAyMiwgMTEzLCA2LCAyNTAsIAotICAgIDI1MiwgMTQsIDIyLCAxMTMsIDYsIDI0OSwgMywgMTQsIDIyLCAxMTMsIDYsIDc0LCAxNCwgMjIsIDExMywgNiwgMjQ0LCAKLSAgICAyMzAsIDE0LCAyMiwgMTEzLCA2LCAyNDMsIDE3NywgMTQsIDIyLCAxMTMsIDYsIDI0MiwgNDEsIDE0LCAyMiwgMTEzLCA2LCAKLSAgICA3MiwgMTQsIDIyLCAxMTMsIDYsIDIzNSwgMTQyLCAxNCwgMjIsIDExMywgNiwgMjM1LCAyNywgMTQsIDIyLCAxMTMsIDYsIAotICAgIDE1MCwgMTQsIDIyLCAxMTMsIDYsIDE4MywgMTQsIDIyLCAxMTMsIDYsIDIwNCwgMTQsIDIyLCAxMTMsIDYsIDc1LCAxNCwgCi0gICAgMjIsIDExMywgNiwgMjI2LCAyMjksIDE0LCAyMiwgMTEzLCA2LCAyMjQsIDI0MCwgMTQsIDIyLCAxMTMsIDYsIDE0OSwgMTQsIAotICAgIDIyLCAxMTMsIDYsIDE5NywgMTQsIDIyLCAxMTMsIDYsIDIxOCwgOTksIDE0LCAyMiwgMTEzLCA2LCA2OSwgMTQsIDIyLCAKLSAgICAxMTMsIDYsIDIxNSwgNzksIDE0LCAyMiwgMTEzLCA2LCAyMTQsIDgyLCAxNCwgMjIsIDExMywgNiwgMjEzLCAxNjYsIDE0LCAKLSAgICAyMiwgMTEzLCA2LCAyMTMsIDEwNSwgMTQsIDIyLCAxMTMsIDYsIDIxMiwgMTUyLCAxNCwgMjIsIDExMywgMywgNjEsIDE0LCAKLSAgICAyMiwgMTEzLCAzLCAyNTMsIDc0LCAxNCwgMjIsIDExMywgMywgMjUwLCAyNTIsIDE0LCAyMiwgMTEzLCAzLCAyNDksIDMsIAotICAgIDE0LCAyMiwgMTEzLCAzLCA3NCwgMTQsIDIyLCAxMTMsIDMsIDI0NCwgMjMwLCAxNCwgMjIsIDExMywgMywgMjQzLCAxNzcsIAotICAgIDE0LCAyMiwgMTEzLCAzLCAyNDIsIDQxLCAxNCwgMjIsIDExMywgMywgNzIsIDE0LCAyMiwgMTEzLCAzLCAyMzUsIDE0MiwgCi0gICAgMTQsIDIyLCAxMTMsIDMsIDIzNSwgMjcsIDE0LCAyMiwgMTEzLCAzLCAxNTAsIDE0LCAyMiwgMTEzLCAzLCAxODMsIDE0LCAKLSAgICAyMiwgMTEzLCAzLCAyMDQsIDE0LCAyMiwgMTEzLCAzLCA3NSwgMTQsIDIyLCAxMTMsIDMsIDIyNiwgMjI5LCAxNCwgMjIsIAotICAgIDExMywgMywgMjI0LCAyNDAsIDE0LCAyMiwgMTEzLCAzLCAxNDksIDE0LCAyMiwgMTEzLCAzLCAxOTcsIDE0LCAyMiwgMTEzLCAKLSAgICAzLCAyMTgsIDk5LCAxNCwgMjIsIDExMywgMywgNjksIDE0LCAyMiwgMTEzLCAzLCAyMTUsIDc5LCAxNCwgMjIsIDExMywgMywgCi0gICAgMjE0LCA4MiwgMTQsIDIyLCAxMTMsIDMsIDIxMywgMTY2LCAxNCwgMjIsIDExMywgMywgMjEzLCAxMDUsIDE0LCAyMiwgMTEzLCAKLSAgICAzLCAyMTIsIDE1MiwgMTQsIDEyOSwgNiwgNjEsIDE0LCAxMjksIDYsIDI1MywgNzQsIDE0LCAxMjksIDYsIDI0OSwgMywgMTQsIAotICAgIDEyOSwgNiwgNzQsIDE0LCAxMjksIDYsIDI0NCwgMjMwLCAxNCwgMTI5LCA2LCAyNDMsIDE3NywgMTQsIDEyOSwgNiwgMjM1LCAKLSAgICAxNDIsIDE0LCAxMjksIDYsIDIzNSwgMjcsIDE0LCAxMjksIDYsIDE1MCwgMTQsIDEyOSwgNiwgMTgzLCAxNCwgMTI5LCA2LCAKLSAgICAyMDQsIDE0LCAxMjksIDYsIDc1LCAxNCwgMTI5LCA2LCAyMjYsIDIyOSwgMTQsIDEyOSwgNiwgMjI0LCAyNDAsIDE0LCAxMjksIAotICAgIDYsIDE5NywgMTQsIDEyOSwgNiwgMjE4LCA5OSwgMTQsIDEyOSwgNiwgNjksIDE0LCAxMjksIDYsIDIxNSwgNzksIDE0LCAKLSAgICAxMjksIDYsIDIxNCwgODIsIDE0LCAxMjksIDYsIDIxMywgMTY2LCAxNCwgMTI5LCA2LCAyMTMsIDEwNSwgMTQsIDEyOSwgMywgCi0gICAgNjEsIDE0LCAxMjksIDMsIDI1MywgNzQsIDE0LCAxMjksIDMsIDI1MCwgMjUyLCAxNCwgMTI5LCAzLCAyNDksIDMsIDE0LCAKLSAgICAxMjksIDMsIDc0LCAxNCwgMTI5LCAzLCAyNDQsIDIzMCwgMTQsIDEyOSwgMywgMjQzLCAxNzcsIDE0LCAxMjksIDMsIDI0MiwgCi0gICAgNDEsIDE0LCAxMjksIDMsIDcyLCAxNCwgMTI5LCAzLCAyMzUsIDE0MiwgMTQsIDEyOSwgMywgMjM1LCAyNywgMTQsIDEyOSwgCi0gICAgMywgMTUwLCAxNCwgMTI5LCAzLCAxODMsIDE0LCAxMjksIDMsIDIwNCwgMTQsIDEyOSwgMywgNzUsIDE0LCAxMjksIDMsIAotICAgIDIyNiwgMjI5LCAxNCwgMTI5LCAzLCAyMjQsIDI0MCwgMTQsIDEyOSwgMywgMTQ5LCAxNCwgMTI5LCAzLCAxOTcsIDE0LCAKLSAgICAxMjksIDMsIDIxOCwgOTksIDE0LCAxMjksIDMsIDY5LCAxNCwgMTI5LCAzLCAyMTUsIDc5LCAxNCwgMTI5LCAzLCAyMTQsIAotICAgIDgyLCAxNCwgMTI5LCAzLCAyMTMsIDE2NiwgMTQsIDEyOSwgMywgMjEzLCAxMDUsIDE0LCAxMjksIDMsIDIxMiwgMTUyLCAxNCwgCi0gICAgMTg3LCA2LCA2MSwgMTQsIDE4NywgNiwgMjUzLCA3NCwgMTQsIDE4NywgNiwgMjQ5LCAzLCAxNCwgMTg3LCA2LCA3NCwgMTQsIAotICAgIDE4NywgNiwgMjQ0LCAyMzAsIDE0LCAxODcsIDYsIDI0MywgMTc3LCAxNCwgMTg3LCA2LCA3MiwgMTQsIDE4NywgNiwgMjM1LCAKLSAgICAxNDIsIDE0LCAxODcsIDYsIDIzNSwgMjcsIDE0LCAxODcsIDYsIDE1MCwgMTQsIDE4NywgNiwgMTgzLCAxNCwgMTg3LCA2LCAKLSAgICA3NSwgMTQsIDE4NywgNiwgMTk3LCAxNCwgMTg3LCA2LCAyMTgsIDk5LCAxNCwgMTg3LCA2LCA2OSwgMTQsIDE4NywgNiwgCi0gICAgMjE1LCA3OSwgMTQsIDE4NywgNiwgMjE0LCA4MiwgMTQsIDE4NywgNiwgMjEzLCAxNjYsIDE0LCAxODcsIDYsIDIxMywgMTA1LCAKLSAgICAxNCwgMTg3LCAzLCA2MSwgMTQsIDE4NywgMywgMjUzLCA3NCwgMTQsIDE4NywgMywgMjUwLCAyNTIsIDE0LCAxODcsIDMsIAotICAgIDI0OSwgMywgMTQsIDE4NywgMywgNzQsIDE0LCAxODcsIDMsIDI0NCwgMjMwLCAxNCwgMTg3LCAzLCAyNDMsIDE3NywgMTQsIAotICAgIDE4NywgMywgMjQyLCA0MSwgMTQsIDE4NywgMywgNzIsIDE0LCAxODcsIDMsIDIzNSwgMTQyLCAxNCwgMTg3LCAzLCAyMzUsIAotICAgIDI3LCAxNCwgMTg3LCAzLCAxNTAsIDE0LCAxODcsIDMsIDE4MywgMTQsIDE4NywgMywgMjA0LCAxNCwgMTg3LCAzLCA3NSwgCi0gICAgMTQsIDE4NywgMywgMjI2LCAyMjksIDE0LCAxODcsIDMsIDIyNCwgMjQwLCAxNCwgMTg3LCAzLCAxNDksIDE0LCAxODcsIDMsIAotICAgIDE5NywgMTQsIDE4NywgMywgMjE4LCA5OSwgMTQsIDE4NywgMywgNjksIDE0LCAxODcsIDMsIDIxNSwgNzksIDE0LCAxODcsIAotICAgIDMsIDIxNCwgODIsIDE0LCAxODcsIDMsIDIxMywgMTY2LCAxNCwgMTg3LCAzLCAyMTMsIDEwNSwgMTQsIDE4NywgMywgMjEyLCAKLSAgICAxNTIsIDE0LCAyMiwgMTI5LCA2LCA2MSwgMTQsIDIyLCAxMjksIDYsIDI1MywgNzQsIDE0LCAyMiwgMTI5LCA2LCAyNTAsIAotICAgIDI1MiwgMTQsIDIyLCAxMjksIDYsIDI0OSwgMywgMTQsIDIyLCAxMjksIDYsIDc0LCAxNCwgMjIsIDEyOSwgNiwgMjQ0LCAKLSAgICAyMzAsIDE0LCAyMiwgMTI5LCA2LCAyNDMsIDE3NywgMTQsIDIyLCAxMjksIDYsIDI0MiwgNDEsIDE0LCAyMiwgMTI5LCA2LCAKLSAgICA3MiwgMTQsIDIyLCAxMjksIDYsIDIzNSwgMTQyLCAxNCwgMjIsIDEyOSwgNiwgMjM1LCAyNywgMTQsIDIyLCAxMjksIDYsIAotICAgIDE1MCwgMTQsIDIyLCAxMjksIDYsIDE4MywgMTQsIDIyLCAxMjksIDYsIDIwNCwgMTQsIDIyLCAxMjksIDYsIDc1LCAxNCwgCi0gICAgMjIsIDEyOSwgNiwgMjI2LCAyMjksIDE0LCAyMiwgMTI5LCA2LCAyMjQsIDI0MCwgMTQsIDIyLCAxMjksIDYsIDE0OSwgMTQsIAotICAgIDIyLCAxMjksIDYsIDE5NywgMTQsIDIyLCAxMjksIDYsIDIxOCwgOTksIDE0LCAyMiwgMTI5LCA2LCA2OSwgMTQsIDIyLCAKLSAgICAxMjksIDYsIDIxNSwgNzksIDE0LCAyMiwgMTI5LCA2LCAyMTQsIDgyLCAxNCwgMjIsIDEyOSwgNiwgMjEzLCAxNjYsIDE0LCAKLSAgICAyMiwgMTI5LCA2LCAyMTMsIDEwNSwgMTQsIDIyLCAxMjksIDYsIDIxMiwgMTUyLCAxNCwgMjIsIDEyOSwgMywgNjEsIDE0LCAKLSAgICAyMiwgMTI5LCAzLCAyNTMsIDc0LCAxNCwgMjIsIDEyOSwgMywgMjUwLCAyNTIsIDE0LCAyMiwgMTI5LCAzLCAyNDksIDMsIAotICAgIDE0LCAyMiwgMTI5LCAzLCA3NCwgMTQsIDIyLCAxMjksIDMsIDI0NCwgMjMwLCAxNCwgMjIsIDEyOSwgMywgMjQzLCAxNzcsIAotICAgIDE0LCAyMiwgMTI5LCAzLCAyNDIsIDQxLCAxNCwgMjIsIDEyOSwgMywgNzIsIDE0LCAyMiwgMTI5LCAzLCAyMzUsIDE0MiwgCi0gICAgMTQsIDIyLCAxMjksIDMsIDIzNSwgMjcsIDE0LCAyMiwgMTI5LCAzLCAxNTAsIDE0LCAyMiwgMTI5LCAzLCAxODMsIDE0LCAKLSAgICAyMiwgMTI5LCAzLCAyMDQsIDE0LCAyMiwgMTI5LCAzLCA3NSwgMTQsIDIyLCAxMjksIDMsIDIyNiwgMjI5LCAxNCwgMjIsIAotICAgIDEyOSwgMywgMjI0LCAyNDAsIDE0LCAyMiwgMTI5LCAzLCAxNDksIDE0LCAyMiwgMTI5LCAzLCAxOTcsIDE0LCAyMiwgMTI5LCAKLSAgICAzLCAyMTgsIDk5LCAxNCwgMjIsIDEyOSwgMywgNjksIDE0LCAyMiwgMTI5LCAzLCAyMTUsIDc5LCAxNCwgMjIsIDEyOSwgMywgCi0gICAgMjE0LCA4MiwgMTQsIDIyLCAxMjksIDMsIDIxMywgMTY2LCAxNCwgMjIsIDEyOSwgMywgMjEzLCAxMDUsIDE0LCAyMiwgMTI5LCAKLSAgICAzLCAyMTIsIDE1MiwgMTQsIDM1LCA2LCA2MSwgMTQsIDM1LCA2LCAyNTMsIDc0LCAxNCwgMzUsIDYsIDI1MCwgMjUyLCAxNCwgCi0gICAgMzUsIDYsIDI0OSwgMywgMTQsIDM1LCA2LCA3NCwgMTQsIDM1LCA2LCAyNDQsIDIzMCwgMTQsIDM1LCA2LCAyNDMsIDE3NywgCi0gICAgMTQsIDM1LCA2LCAyNDIsIDQxLCAxNCwgMzUsIDYsIDcyLCAxNCwgMzUsIDYsIDIzNSwgMTQyLCAxNCwgMzUsIDYsIDIzNSwgCi0gICAgMjcsIDE0LCAzNSwgNiwgMTUwLCAxNCwgMzUsIDYsIDE4MywgMTQsIDM1LCA2LCAyMDQsIDE0LCAzNSwgNiwgNzUsIDE0LCAKLSAgICAzNSwgNiwgMjI2LCAyMjksIDE0LCAzNSwgNiwgMjI0LCAyNDAsIDE0LCAzNSwgNiwgMTQ5LCAxNCwgMzUsIDYsIDE5NywgMTQsIAotICAgIDM1LCA2LCAyMTgsIDk5LCAxNCwgMzUsIDYsIDY5LCAxNCwgMzUsIDYsIDIxNSwgNzksIDE0LCAzNSwgNiwgMjE0LCA4MiwgCi0gICAgMTQsIDM1LCA2LCAyMTMsIDE2NiwgMTQsIDM1LCA2LCAyMTMsIDEwNSwgMTQsIDM1LCA2LCAyMTIsIDE1MiwgMTQsIDM1LCAzLCAKLSAgICA2MSwgMTQsIDM1LCAzLCAyNTMsIDc0LCAxNCwgMzUsIDMsIDI1MCwgMjUyLCAxNCwgMzUsIDMsIDI0OSwgMywgMTQsIDM1LCAKLSAgICAzLCA3NCwgMTQsIDM1LCAzLCAyNDQsIDIzMCwgMTQsIDM1LCAzLCAyNDMsIDE3NywgMTQsIDM1LCAzLCAyNDIsIDQxLCAxNCwgCi0gICAgMzUsIDMsIDcyLCAxNCwgMzUsIDMsIDIzNSwgMTQyLCAxNCwgMzUsIDMsIDIzNSwgMjcsIDE0LCAzNSwgMywgMTUwLCAxNCwgCi0gICAgMzUsIDMsIDE4MywgMTQsIDM1LCAzLCAyMDQsIDE0LCAzNSwgMywgNzUsIDE0LCAzNSwgMywgMjI2LCAyMjksIDE0LCAzNSwgCi0gICAgMywgMjI0LCAyNDAsIDE0LCAzNSwgMywgMTQ5LCAxNCwgMzUsIDMsIDE5NywgMTQsIDM1LCAzLCAyMTgsIDk5LCAxNCwgMzUsIAotICAgIDMsIDY5LCAxNCwgMzUsIDMsIDIxNSwgNzksIDE0LCAzNSwgMywgMjE0LCA4MiwgMTQsIDM1LCAzLCAyMTMsIDE2NiwgMTQsIAotICAgIDM1LCAzLCAyMTMsIDEwNSwgMTQsIDM1LCAzLCAyMTIsIDE1MiwgMTQsIDM1LCAyMiwgNiwgNjEsIDE0LCAzNSwgMjIsIDYsIAotICAgIDI1MywgNzQsIDE0LCAzNSwgMjIsIDYsIDI1MCwgMjUyLCAxNCwgMzUsIDIyLCA2LCAyNDksIDMsIDE0LCAzNSwgMjIsIDYsIAotICAgIDc0LCAxNCwgMzUsIDIyLCA2LCAyNDQsIDIzMCwgMTQsIDM1LCAyMiwgNiwgMjQzLCAxNzcsIDE0LCAzNSwgMjIsIDYsIDI0MiwgCi0gICAgNDEsIDE0LCAzNSwgMjIsIDYsIDcyLCAxNCwgMzUsIDIyLCA2LCAyMzUsIDE0MiwgMTQsIDM1LCAyMiwgNiwgMjM1LCAyNywgCi0gICAgMTQsIDM1LCAyMiwgNiwgMTUwLCAxNCwgMzUsIDIyLCA2LCAxODMsIDE0LCAzNSwgMjIsIDYsIDIwNCwgMTQsIDM1LCAyMiwgCi0gICAgNiwgNzUsIDE0LCAzNSwgMjIsIDYsIDIyNiwgMjI5LCAxNCwgMzUsIDIyLCA2LCAyMjQsIDI0MCwgMTQsIDM1LCAyMiwgNiwgCi0gICAgMTQ5LCAxNCwgMzUsIDIyLCA2LCAxOTcsIDE0LCAzNSwgMjIsIDYsIDIxOCwgOTksIDE0LCAzNSwgMjIsIDYsIDY5LCAxNCwgCi0gICAgMzUsIDIyLCA2LCAyMTUsIDc5LCAxNCwgMzUsIDIyLCA2LCAyMTQsIDgyLCAxNCwgMzUsIDIyLCA2LCAyMTMsIDE2NiwgMTQsIAotICAgIDM1LCAyMiwgNiwgMjEzLCAxMDUsIDE0LCAzNSwgMjIsIDYsIDIxMiwgMTUyLCAxNCwgMzUsIDIyLCAzLCA2MSwgMTQsIDM1LCAKLSAgICAyMiwgMywgMjUzLCA3NCwgMTQsIDM1LCAyMiwgMywgMjUwLCAyNTIsIDE0LCAzNSwgMjIsIDMsIDI0OSwgMywgMTQsIDM1LCAKLSAgICAyMiwgMywgNzQsIDE0LCAzNSwgMjIsIDMsIDI0NCwgMjMwLCAxNCwgMzUsIDIyLCAzLCAyNDMsIDE3NywgMTQsIDM1LCAyMiwgCi0gICAgMywgMjQyLCA0MSwgMTQsIDM1LCAyMiwgMywgNzIsIDE0LCAzNSwgMjIsIDMsIDIzNSwgMTQyLCAxNCwgMzUsIDIyLCAzLCAKLSAgICAyMzUsIDI3LCAxNCwgMzUsIDIyLCAzLCAxNTAsIDE0LCAzNSwgMjIsIDMsIDE4MywgMTQsIDM1LCAyMiwgMywgMjA0LCAxNCwgCi0gICAgMzUsIDIyLCAzLCA3NSwgMTQsIDM1LCAyMiwgMywgMjI2LCAyMjksIDE0LCAzNSwgMjIsIDMsIDIyNCwgMjQwLCAxNCwgMzUsIAotICAgIDIyLCAzLCAxNDksIDE0LCAzNSwgMjIsIDMsIDE5NywgMTQsIDM1LCAyMiwgMywgMjE4LCA5OSwgMTQsIDM1LCAyMiwgMywgCi0gICAgNjksIDE0LCAzNSwgMjIsIDMsIDIxNSwgNzksIDE0LCAzNSwgMjIsIDMsIDIxNCwgODIsIDE0LCAzNSwgMjIsIDMsIDIxMywgCi0gICAgMTY2LCAxNCwgMzUsIDIyLCAzLCAyMTMsIDEwNSwgMTQsIDM1LCAyMiwgMywgMjEyLCAxNTIsIDE0LCAzNSwgMzIsIDYsIDYxLCAKLSAgICAxNCwgMzUsIDMyLCA2LCAyNTMsIDc0LCAxNCwgMzUsIDMyLCA2LCAyNTAsIDI1MiwgMTQsIDM1LCAzMiwgNiwgMjQ5LCAzLCAKLSAgICAxNCwgMzUsIDMyLCA2LCA3NCwgMTQsIDM1LCAzMiwgNiwgMjQ0LCAyMzAsIDE0LCAzNSwgMzIsIDYsIDI0MywgMTc3LCAxNCwgCi0gICAgMzUsIDMyLCA2LCAyNDIsIDQxLCAxNCwgMzUsIDMyLCA2LCA3MiwgMTQsIDM1LCAzMiwgNiwgMjM1LCAxNDIsIDE0LCAzNSwgCi0gICAgMzIsIDYsIDIzNSwgMjcsIDE0LCAzNSwgMzIsIDYsIDE1MCwgMTQsIDM1LCAzMiwgNiwgMTgzLCAxNCwgMzUsIDMyLCA2LCAKLSAgICAyMDQsIDE0LCAzNSwgMzIsIDYsIDc1LCAxNCwgMzUsIDMyLCA2LCAyMjYsIDIyOSwgMTQsIDM1LCAzMiwgNiwgMjI0LCAyNDAsIAotICAgIDE0LCAzNSwgMzIsIDYsIDE0OSwgMTQsIDM1LCAzMiwgNiwgMTk3LCAxNCwgMzUsIDMyLCA2LCAyMTgsIDk5LCAxNCwgMzUsIAotICAgIDMyLCA2LCA2OSwgMTQsIDM1LCAzMiwgNiwgMjE1LCA3OSwgMTQsIDM1LCAzMiwgNiwgMjE0LCA4MiwgMTQsIDM1LCAzMiwgNiwgCi0gICAgMjEzLCAxNjYsIDE0LCAzNSwgMzIsIDYsIDIxMywgMTA1LCAxNCwgMzUsIDMyLCA2LCAyMTIsIDE1MiwgMTQsIDM1LCAzMiwgCi0gICAgMywgNjEsIDE0LCAzNSwgMzIsIDMsIDI1MywgNzQsIDE0LCAzNSwgMzIsIDMsIDI1MCwgMjUyLCAxNCwgMzUsIDMyLCAzLCAKLSAgICAyNDksIDMsIDE0LCAzNSwgMzIsIDMsIDc0LCAxNCwgMzUsIDMyLCAzLCAyNDQsIDIzMCwgMTQsIDM1LCAzMiwgMywgMjQzLCAKLSAgICAxNzcsIDE0LCAzNSwgMzIsIDMsIDI0MiwgNDEsIDE0LCAzNSwgMzIsIDMsIDcyLCAxNCwgMzUsIDMyLCAzLCAyMzUsIDE0MiwgCi0gICAgMTQsIDM1LCAzMiwgMywgMjM1LCAyNywgMTQsIDM1LCAzMiwgMywgMTUwLCAxNCwgMzUsIDMyLCAzLCAxODMsIDE0LCAzNSwgCi0gICAgMzIsIDMsIDIwNCwgMTQsIDM1LCAzMiwgMywgNzUsIDE0LCAzNSwgMzIsIDMsIDIyNiwgMjI5LCAxNCwgMzUsIDMyLCAzLCAKLSAgICAyMjQsIDI0MCwgMTQsIDM1LCAzMiwgMywgMTQ5LCAxNCwgMzUsIDMyLCAzLCAxOTcsIDE0LCAzNSwgMzIsIDMsIDIxOCwgOTksIAotICAgIDE0LCAzNSwgMzIsIDMsIDY5LCAxNCwgMzUsIDMyLCAzLCAyMTUsIDc5LCAxNCwgMzUsIDMyLCAzLCAyMTQsIDgyLCAxNCwgCi0gICAgMzUsIDMyLCAzLCAyMTMsIDE2NiwgMTQsIDM1LCAzMiwgMywgMjEzLCAxMDUsIDE0LCAzNSwgMzIsIDMsIDIxMiwgMTUyLCAKLSAgICAxNCwgMzUsIDIyLCAzMiwgNiwgNjEsIDE0LCAzNSwgMjIsIDMyLCA2LCAyNTMsIDc0LCAxNCwgMzUsIDIyLCAzMiwgNiwgCi0gICAgMjUwLCAyNTIsIDE0LCAzNSwgMjIsIDMyLCA2LCAyNDksIDMsIDE0LCAzNSwgMjIsIDMyLCA2LCA3NCwgMTQsIDM1LCAyMiwgCi0gICAgMzIsIDYsIDI0NCwgMjMwLCAxNCwgMzUsIDIyLCAzMiwgNiwgMjQzLCAxNzcsIDE0LCAzNSwgMjIsIDMyLCA2LCAyNDIsIDQxLCAKLSAgICAxNCwgMzUsIDIyLCAzMiwgNiwgNzIsIDE0LCAzNSwgMjIsIDMyLCA2LCAyMzUsIDE0MiwgMTQsIDM1LCAyMiwgMzIsIDYsIAotICAgIDIzNSwgMjcsIDE0LCAzNSwgMjIsIDMyLCA2LCAxNTAsIDE0LCAzNSwgMjIsIDMyLCA2LCAxODMsIDE0LCAzNSwgMjIsIDMyLCAKLSAgICA2LCAyMDQsIDE0LCAzNSwgMjIsIDMyLCA2LCA3NSwgMTQsIDM1LCAyMiwgMzIsIDYsIDIyNiwgMjI5LCAxNCwgMzUsIDIyLCAKLSAgICAzMiwgNiwgMjI0LCAyNDAsIDE0LCAzNSwgMjIsIDMyLCA2LCAxNDksIDE0LCAzNSwgMjIsIDMyLCA2LCAxOTcsIDE0LCAzNSwgCi0gICAgMjIsIDMyLCA2LCAyMTgsIDk5LCAxNCwgMzUsIDIyLCAzMiwgNiwgNjksIDE0LCAzNSwgMjIsIDMyLCA2LCAyMTUsIDc5LCAKLSAgICAxNCwgMzUsIDIyLCAzMiwgNiwgMjE0LCA4MiwgMTQsIDM1LCAyMiwgMzIsIDYsIDIxMywgMTY2LCAxNCwgMzUsIDIyLCAzMiwgCi0gICAgNiwgMjEzLCAxMDUsIDE0LCAzNSwgMjIsIDMyLCA2LCAyMTIsIDE1MiwgMTQsIDM1LCAyMiwgMzIsIDMsIDYxLCAxNCwgMzUsIAotICAgIDIyLCAzMiwgMywgMjUzLCA3NCwgMTQsIDM1LCAyMiwgMzIsIDMsIDI1MCwgMjUyLCAxNCwgMzUsIDIyLCAzMiwgMywgMjQ5LCAKLSAgICAzLCAxNCwgMzUsIDIyLCAzMiwgMywgNzQsIDE0LCAzNSwgMjIsIDMyLCAzLCAyNDQsIDIzMCwgMTQsIDM1LCAyMiwgMzIsIDMsIAotICAgIDI0MywgMTc3LCAxNCwgMzUsIDIyLCAzMiwgMywgMjQyLCA0MSwgMTQsIDM1LCAyMiwgMzIsIDMsIDcyLCAxNCwgMzUsIDIyLCAKLSAgICAzMiwgMywgMjM1LCAxNDIsIDE0LCAzNSwgMjIsIDMyLCAzLCAyMzUsIDI3LCAxNCwgMzUsIDIyLCAzMiwgMywgMTUwLCAxNCwgCi0gICAgMzUsIDIyLCAzMiwgMywgMTgzLCAxNCwgMzUsIDIyLCAzMiwgMywgMjA0LCAxNCwgMzUsIDIyLCAzMiwgMywgNzUsIDE0LCAKLSAgICAzNSwgMjIsIDMyLCAzLCAyMjYsIDIyOSwgMTQsIDM1LCAyMiwgMzIsIDMsIDIyNCwgMjQwLCAxNCwgMzUsIDIyLCAzMiwgMywgCi0gICAgMTQ5LCAxNCwgMzUsIDIyLCAzMiwgMywgMTk3LCAxNCwgMzUsIDIyLCAzMiwgMywgMjE4LCA5OSwgMTQsIDM1LCAyMiwgMzIsIAotICAgIDMsIDY5LCAxNCwgMzUsIDIyLCAzMiwgMywgMjE1LCA3OSwgMTQsIDM1LCAyMiwgMzIsIDMsIDIxNCwgODIsIDE0LCAzNSwgCi0gICAgMjIsIDMyLCAzLCAyMTMsIDE2NiwgMTQsIDM1LCAyMiwgMzIsIDMsIDIxMywgMTA1LCAxNCwgMzUsIDIyLCAzMiwgMywgMjEyLCAKLSAgICAxNTIsIDE0LCAyMzAsIDIwOCwgNiwgNjEsIDE0LCAyMzAsIDIwOCwgNiwgMjUzLCA3NCwgMTQsIDIzMCwgMjA4LCA2LCAyNTAsIAotICAgIDI1MiwgMTQsIDIzMCwgMjA4LCA2LCAyNDksIDMsIDE0LCAyMzAsIDIwOCwgNiwgNzQsIDE0LCAyMzAsIDIwOCwgNiwgMjQ0LCAKLSAgICAyMzAsIDE0LCAyMzAsIDIwOCwgNiwgMjQzLCAxNzcsIDE0LCAyMzAsIDIwOCwgNiwgMjQyLCA0MSwgMTQsIDIzMCwgMjA4LCAKLSAgICA2LCA3MiwgMTQsIDIzMCwgMjA4LCA2LCAyMzUsIDE0MiwgMTQsIDIzMCwgMjA4LCA2LCAyMzUsIDI3LCAxNCwgMjMwLCAyMDgsIAotICAgIDYsIDE1MCwgMTQsIDIzMCwgMjA4LCA2LCAxODMsIDE0LCAyMzAsIDIwOCwgNiwgMjA0LCAxNCwgMjMwLCAyMDgsIDYsIDc1LCAKLSAgICAxNCwgMjMwLCAyMDgsIDYsIDIyNiwgMjI5LCAxNCwgMjMwLCAyMDgsIDYsIDIyNCwgMjQwLCAxNCwgMjMwLCAyMDgsIDYsIAotICAgIDE0OSwgMTQsIDIzMCwgMjA4LCA2LCAxOTcsIDE0LCAyMzAsIDIwOCwgNiwgMjE4LCA5OSwgMTQsIDIzMCwgMjA4LCA2LCA2OSwgCi0gICAgMTQsIDIzMCwgMjA4LCA2LCAyMTUsIDc5LCAxNCwgMjMwLCAyMDgsIDYsIDIxNCwgODIsIDE0LCAyMzAsIDIwOCwgNiwgMjEzLCAKLSAgICAxNjYsIDE0LCAyMzAsIDIwOCwgNiwgMjEzLCAxMDUsIDE0LCAyMzAsIDIwOCwgNiwgMjEyLCAxNTIsIDE0LCAyMzAsIDIwOCwgCi0gICAgMywgNjEsIDE0LCAyMzAsIDIwOCwgMywgMjUzLCA3NCwgMTQsIDIzMCwgMjA4LCAzLCAyNTAsIDI1MiwgMTQsIDIzMCwgMjA4LCAKLSAgICAzLCAyNDksIDMsIDE0LCAyMzAsIDIwOCwgMywgNzQsIDE0LCAyMzAsIDIwOCwgMywgMjQ0LCAyMzAsIDE0LCAyMzAsIDIwOCwgCi0gICAgMywgMjQzLCAxNzcsIDE0LCAyMzAsIDIwOCwgMywgMjQyLCA0MSwgMTQsIDIzMCwgMjA4LCAzLCA3MiwgMTQsIDIzMCwgMjA4LCAKLSAgICAzLCAyMzUsIDE0MiwgMTQsIDIzMCwgMjA4LCAzLCAyMzUsIDI3LCAxNCwgMjMwLCAyMDgsIDMsIDE1MCwgMTQsIDIzMCwgCi0gICAgMjA4LCAzLCAxODMsIDE0LCAyMzAsIDIwOCwgMywgMjA0LCAxNCwgMjMwLCAyMDgsIDMsIDc1LCAxNCwgMjMwLCAyMDgsIDMsIAotICAgIDIyNiwgMjI5LCAxNCwgMjMwLCAyMDgsIDMsIDIyNCwgMjQwLCAxNCwgMjMwLCAyMDgsIDMsIDE0OSwgMTQsIDIzMCwgMjA4LCAKLSAgICAzLCAxOTcsIDE0LCAyMzAsIDIwOCwgMywgMjE4LCA5OSwgMTQsIDIzMCwgMjA4LCAzLCA2OSwgMTQsIDIzMCwgMjA4LCAzLCAKLSAgICAyMTUsIDc5LCAxNCwgMjMwLCAyMDgsIDMsIDIxNCwgODIsIDE0LCAyMzAsIDIwOCwgMywgMjEzLCAxNjYsIDE0LCAyMzAsIAotICAgIDIwOCwgMywgMjEzLCAxMDUsIDE0LCAyMzAsIDIwOCwgMywgMjEyLCAxNTIsIDE0LCAzMiwgMywgMjQ3LCA3MywgNzIsIDE0LCAKLSAgICAzMiwgMywgMjQ3LCA3MywgMjM1LCAxNDIsIDE0LCAyMiwgNiwgMjU0LCA1MiwgMTQsIDIyLCA2LCAyNTEsIDIwMywgMTQsIAotICAgIDIyLCA2LCAyNDMsIDgzLCAxNCwgMjIsIDYsIDI0OCwgNSwgMTQsIDIyLCA2LCAyNDUsIDYzLCAxNCwgMjIsIDYsIDIxMiwgCi0gICAgNzgsIDE0LCAyMiwgNiwgMjQ1LCAyOCwgMTQsIDIyLCA2LCAyMTcsIDEzMiwgMTQsIDIyLCA2LCAyMzUsIDE4MywgMTQsIDIyLCAKLSAgICA2LCAyMzQsIDIyNywgMTQsIDIyLCA2LCAyMzMsIDEyMiwgMTQsIDIyLCA2LCAyMzAsIDE3MiwgMTQsIDIyLCA2LCAyMjgsIAotICAgIDkyLCAxNCwgMjIsIDYsIDIxMywgMTQ1LCAxNCwgMjIsIDYsIDIyNywgNjUsIDE0LCAyMiwgNiwgMjI1LCAyNDAsIDE0LCAyMiwgCi0gICAgNiwgMjIzLCAxOTAsIDE0LCAyMiwgNiwgMjE3LCAxMzMsIDg3LCAxNCwgMjIsIDYsIDIyMCwgMTAzLCAxNCwgMjIsIDYsIAotICAgIDIxNywgMjQ4LCAxNCwgMjIsIDYsIDIxNSwgMTI4LCAxNCwgMjIsIDYsIDIyNiwgOSwgMTQsIDIyLCA2LCAyNTAsIDQ3LCAxNCwgCi0gICAgMjIsIDYsIDIyNSwgNDYsIDE0LCAyMiwgNiwgMjI3LCA2NywgMTQsIDIyLCAyMzAsIDM5LCAxNCwgMjIsIDMsIDI1NCwgNTIsIAotICAgIDE0LCAyMiwgMywgMjUxLCAyMDMsIDE0LCAyMiwgMywgMjQzLCA4MywgMTQsIDIyLCAzLCAyNDgsIDUsIDE0LCAyMiwgMywgCi0gICAgMjQ1LCA2MywgMTQsIDIyLCAzLCAyMTIsIDc4LCAxNCwgMjIsIDMsIDI0NSwgMjgsIDE0LCAyMiwgMywgMjE3LCAxMzIsIDE0LCAKLSAgICAyMiwgMywgMjM1LCAxODMsIDE0LCAyMiwgMywgMjM0LCAyMjcsIDE0LCAyMiwgMywgMjMzLCAxMjIsIDE0LCAyMiwgMywgCi0gICAgMjMwLCAxNzIsIDE0LCAyMiwgMywgMjI4LCA5MiwgMTQsIDIyLCAzLCAyMTMsIDE0NSwgMTQsIDIyLCAzLCAyMjcsIDY1LCAKLSAgICAxNCwgMjIsIDMsIDIyNSwgMjQwLCAxNCwgMjIsIDMsIDIyMywgMTkwLCAxNCwgMjIsIDMsIDQwLCAyMjAsIDEwMywgMTQsIAotICAgIDIyLCAzLCAyMjAsIDEwMywgMTQsIDIyLCAzLCAyMTcsIDI0OCwgMTQsIDIyLCAzLCAyMTUsIDEyOCwgMTQsIDIyLCAzLCAKLSAgICAyMjYsIDksIDE0LCAyMiwgMywgMjUwLCA0NywgMTQsIDIyLCAzLCAyMjUsIDQ2LCAxNCwgMjIsIDMsIDIyNywgNjcsIDE0LCAKLSAgICAyMiwgMjI2LCAxMjUsIDI0NywgMTg1LCAxNCwgMjIsIDI0NSwgNjQsIDg3LCAxNCwgMjIsIDIxNywgMTMzLCA4NywgMTQsIAotICAgIDIyLCAyMzQsIDIyOCwgODcsIDE0LCAyMiwgMjI2LCAxMCwgODcsIDE0LCAyMiwgMjIzLCAxOTEsIDg3LCAxNCwgMjIsIDIyNSwgCi0gICAgMjQxLCA4NywgMTQsIDMyLCA2LCAyNTQsIDUyLCAxNCwgMzIsIDYsIDI1MSwgMjAzLCAxNCwgMzIsIDYsIDI0MywgODMsIDE0LCAKLSAgICAzMiwgNiwgMjQ4LCA1LCAxNCwgMzIsIDYsIDI0NSwgNjMsIDE0LCAzMiwgNiwgMjEyLCA3OCwgMTQsIDMyLCA2LCAyNDUsIAotICAgIDI4LCAxNCwgMzIsIDYsIDIxNywgMTMyLCAxNCwgMzIsIDYsIDIzNSwgMTgzLCAxNCwgMzIsIDYsIDIzNCwgMjI3LCAxNCwgCi0gICAgMzIsIDYsIDIzMywgMTIyLCAxNCwgMzIsIDYsIDIzMCwgMTcyLCAxNCwgMzIsIDYsIDIyOCwgOTIsIDE0LCAzMiwgNiwgMjEzLCAKLSAgICAxNDUsIDE0LCAzMiwgNiwgMjI3LCA2NSwgMTQsIDMyLCA2LCAyMjUsIDI0MCwgMTQsIDMyLCA2LCAyMjMsIDE5MCwgMTQsIAotICAgIDMyLCA2LCAyMTcsIDEzMywgODcsIDE0LCAzMiwgNiwgMjIwLCAxMDMsIDE0LCAzMiwgNiwgMjE3LCAyNDgsIDE0LCAzMiwgNiwgCi0gICAgMjE1LCAxMjgsIDE0LCAzMiwgNiwgMjI2LCA5LCAxNCwgMzIsIDYsIDI1MCwgNDcsIDE0LCAzMiwgNiwgMjI1LCA0NiwgMTQsIAotICAgIDMyLCA2LCAyMjcsIDY3LCAxNCwgMzIsIDIzMCwgMzksIDE0LCAzMiwgMywgMjU0LCA1MiwgMTQsIDMyLCAzLCAyNTEsIDIwMywgCi0gICAgMTQsIDMyLCAzLCAyNDMsIDgzLCAxNCwgMzIsIDMsIDI0OCwgNSwgMTQsIDMyLCAzLCAyNDUsIDYzLCAxNCwgMzIsIDMsIAotICAgIDIxMiwgNzgsIDE0LCAzMiwgMywgMjQ1LCAyOCwgMTQsIDMyLCAzLCAyMTcsIDEzMiwgMTQsIDMyLCAzLCAyMzUsIDE4MywgCi0gICAgMTQsIDMyLCAzLCAyMzQsIDIyNywgMTQsIDMyLCAzLCAyMzMsIDEyMiwgMTQsIDMyLCAzLCAyMzAsIDE3MiwgMTQsIDMyLCAzLCAKLSAgICAyMjgsIDkyLCAxNCwgMzIsIDMsIDIxMywgMTQ1LCAxNCwgMzIsIDMsIDIyNywgNjUsIDE0LCAzMiwgMywgMjI1LCAyNDAsIAotICAgIDE0LCAzMiwgMywgMjIzLCAxOTAsIDE0LCAzMiwgMywgNDAsIDIyMCwgMTAzLCAxNCwgMzIsIDMsIDIyMCwgMTAzLCAxNCwgCi0gICAgMzIsIDMsIDIxNywgMjQ4LCAxNCwgMzIsIDMsIDIxNSwgMTI4LCAxNCwgMzIsIDMsIDIyNiwgOSwgMTQsIDMyLCAzLCAyNTAsIAotICAgIDQ3LCAxNCwgMzIsIDMsIDIyNSwgNDYsIDE0LCAzMiwgMywgMjI3LCA2NywgMTQsIDMyLCAyMjYsIDEyNSwgMjQ3LCAxODUsIAotICAgIDE0LCAzMiwgMjQ1LCA2NCwgODcsIDE0LCAzMiwgMjE3LCAxMzMsIDg3LCAxNCwgMzIsIDIzNCwgMjI4LCA4NywgMTQsIDMyLCAKLSAgICAyMjYsIDEwLCA4NywgMTQsIDMyLCAyMjMsIDE5MSwgODcsIDE0LCAzMiwgMjI1LCAyNDEsIDg3LCAxNCwgMjIsIDMyLCA2LCAKLSAgICAyNTQsIDUyLCAxNCwgMjIsIDMyLCA2LCAyNTEsIDIwMywgMTQsIDIyLCAzMiwgNiwgMjQzLCA4MywgMTQsIDIyLCAzMiwgNiwgCi0gICAgMjQ4LCA1LCAxNCwgMjIsIDMyLCA2LCAyNDUsIDYzLCAxNCwgMjIsIDMyLCA2LCAyMTIsIDc4LCAxNCwgMjIsIDMyLCA2LCAKLSAgICAyNDUsIDI4LCAxNCwgMjIsIDMyLCA2LCAyMTcsIDEzMiwgMTQsIDIyLCAzMiwgNiwgMjM1LCAxODMsIDE0LCAyMiwgMzIsIDYsIAotICAgIDIzNCwgMjI3LCAxNCwgMjIsIDMyLCA2LCAyMzMsIDEyMiwgMTQsIDIyLCAzMiwgNiwgMjMwLCAxNzIsIDE0LCAyMiwgMzIsIAotICAgIDYsIDIyOCwgOTIsIDE0LCAyMiwgMzIsIDYsIDIxMywgMTQ1LCAxNCwgMjIsIDMyLCA2LCAyMjcsIDY1LCAxNCwgMjIsIDMyLCAKLSAgICA2LCAyMjUsIDI0MCwgMTQsIDIyLCAzMiwgNiwgMjIzLCAxOTAsIDE0LCAyMiwgMzIsIDYsIDIxNywgMTMzLCA4NywgMTQsIAotICAgIDIyLCAzMiwgNiwgMjIwLCAxMDMsIDE0LCAyMiwgMzIsIDYsIDIxNywgMjQ4LCAxNCwgMjIsIDMyLCA2LCAyMTUsIDEyOCwgCi0gICAgMTQsIDIyLCAzMiwgNiwgMjI2LCA5LCAxNCwgMjIsIDMyLCA2LCAyNTAsIDQ3LCAxNCwgMjIsIDMyLCA2LCAyMjUsIDQ2LCAKLSAgICAxNCwgMjIsIDMyLCA2LCAyMjcsIDY3LCAxNCwgMjIsIDMyLCAyMzAsIDM5LCAxNCwgMjIsIDMyLCAzLCAyNTQsIDUyLCAxNCwgCi0gICAgMjIsIDMyLCAzLCAyNTEsIDIwMywgMTQsIDIyLCAzMiwgMywgMjQzLCA4MywgMTQsIDIyLCAzMiwgMywgMjQ4LCA1LCAxNCwgCi0gICAgMjIsIDMyLCAzLCAyNDUsIDYzLCAxNCwgMjIsIDMyLCAzLCAyMTIsIDc4LCAxNCwgMjIsIDMyLCAzLCAyNDUsIDI4LCAxNCwgCi0gICAgMjIsIDMyLCAzLCAyMTcsIDEzMiwgMTQsIDIyLCAzMiwgMywgMjM1LCAxODMsIDE0LCAyMiwgMzIsIDMsIDIzNCwgMjI3LCAKLSAgICAxNCwgMjIsIDMyLCAzLCAyMzMsIDEyMiwgMTQsIDIyLCAzMiwgMywgMjMwLCAxNzIsIDE0LCAyMiwgMzIsIDMsIDIyOCwgOTIsIAotICAgIDE0LCAyMiwgMzIsIDMsIDIxMywgMTQ1LCAxNCwgMjIsIDMyLCAzLCAyMjcsIDY1LCAxNCwgMjIsIDMyLCAzLCAyMjUsIDI0MCwgCi0gICAgMTQsIDIyLCAzMiwgMywgMjIzLCAxOTAsIDE0LCAyMiwgMzIsIDMsIDQwLCAyMjAsIDEwMywgMTQsIDIyLCAzMiwgMywgMjIwLCAKLSAgICAxMDMsIDE0LCAyMiwgMzIsIDMsIDIxNywgMjQ4LCAxNCwgMjIsIDMyLCAzLCAyMTUsIDEyOCwgMTQsIDIyLCAzMiwgMywgCi0gICAgMjI2LCA5LCAxNCwgMjIsIDMyLCAzLCAyNTAsIDQ3LCAxNCwgMjIsIDMyLCAzLCAyMjUsIDQ2LCAxNCwgMjIsIDMyLCAzLCAKLSAgICAyMjcsIDY3LCAxNCwgMjIsIDMyLCAyMjYsIDEyNSwgMjQ3LCAxODUsIDE0LCAyMiwgMzIsIDI0NSwgNjQsIDg3LCAxNCwgMjIsIAotICAgIDMyLCAyMTcsIDEzMywgODcsIDE0LCAyMiwgMzIsIDIzNCwgMjI4LCA4NywgMTQsIDIyLCAzMiwgMjI2LCAxMCwgODcsIDE0LCAKLSAgICAyMiwgMzIsIDIyMywgMTkxLCA4NywgMTQsIDIyLCAzMiwgMjI1LCAyNDEsIDg3LCAxNCwgMzUsIDIyLCA2LCAyNTQsIDUyLCAKLSAgICAxNCwgMzUsIDIyLCA2LCAyNTEsIDIwMywgMTQsIDM1LCAyMiwgNiwgMjQzLCA4MywgMTQsIDM1LCAyMiwgNiwgMjQ4LCA1LCAKLSAgICAxNCwgMzUsIDIyLCA2LCAyNDUsIDYzLCAxNCwgMzUsIDIyLCA2LCAyMTIsIDc4LCAxNCwgMzUsIDIyLCA2LCAyNDUsIDI4LCAKLSAgICAxNCwgMzUsIDIyLCA2LCAyMTcsIDEzMiwgMTQsIDM1LCAyMiwgNiwgMjM1LCAxODMsIDE0LCAzNSwgMjIsIDYsIDIzNCwgCi0gICAgMjI3LCAxNCwgMzUsIDIyLCA2LCAyMzMsIDEyMiwgMTQsIDM1LCAyMiwgNiwgMjMwLCAxNzIsIDE0LCAzNSwgMjIsIDYsIAotICAgIDIyOCwgOTIsIDE0LCAzNSwgMjIsIDYsIDIxMywgMTQ1LCAxNCwgMzUsIDIyLCA2LCAyMjcsIDY1LCAxNCwgMzUsIDIyLCA2LCAKLSAgICAyMjUsIDI0MCwgMTQsIDM1LCAyMiwgNiwgMjIzLCAxOTAsIDE0LCAzNSwgMjIsIDYsIDIxNywgMTMzLCA4NywgMTQsIDM1LCAKLSAgICAyMiwgNiwgMjIwLCAxMDMsIDE0LCAzNSwgMjIsIDYsIDIxNywgMjQ4LCAxNCwgMzUsIDIyLCA2LCAyMTUsIDEyOCwgMTQsIAotICAgIDM1LCAyMiwgNiwgMjI2LCA5LCAxNCwgMzUsIDIyLCA2LCAyNTAsIDQ3LCAxNCwgMzUsIDIyLCA2LCAyMjUsIDQ2LCAxNCwgCi0gICAgMzUsIDIyLCA2LCAyMjcsIDY3LCAxNCwgMzUsIDIyLCAyMzAsIDM5LCAxNCwgMzUsIDIyLCAzLCAyNTQsIDUyLCAxNCwgMzUsIAotICAgIDIyLCAzLCAyNTEsIDIwMywgMTQsIDM1LCAyMiwgMywgMjQzLCA4MywgMTQsIDM1LCAyMiwgMywgMjQ4LCA1LCAxNCwgMzUsIAotICAgIDIyLCAzLCAyNDUsIDYzLCAxNCwgMzUsIDIyLCAzLCAyMTIsIDc4LCAxNCwgMzUsIDIyLCAzLCAyNDUsIDI4LCAxNCwgMzUsIAotICAgIDIyLCAzLCAyMTcsIDEzMiwgMTQsIDM1LCAyMiwgMywgMjM1LCAxODMsIDE0LCAzNSwgMjIsIDMsIDIzNCwgMjI3LCAxNCwgCi0gICAgMzUsIDIyLCAzLCAyMzMsIDEyMiwgMTQsIDM1LCAyMiwgMywgMjMwLCAxNzIsIDE0LCAzNSwgMjIsIDMsIDIyOCwgOTIsIDE0LCAKLSAgICAzNSwgMjIsIDMsIDIxMywgMTQ1LCAxNCwgMzUsIDIyLCAzLCAyMjcsIDY1LCAxNCwgMzUsIDIyLCAzLCAyMjUsIDI0MCwgMTQsIAotICAgIDM1LCAyMiwgMywgMjIzLCAxOTAsIDE0LCAzNSwgMjIsIDMsIDQwLCAyMjAsIDEwMywgMTQsIDM1LCAyMiwgMywgMjIwLCAKLSAgICAxMDMsIDE0LCAzNSwgMjIsIDMsIDIxNywgMjQ4LCAxNCwgMzUsIDIyLCAzLCAyMTUsIDEyOCwgMTQsIDM1LCAyMiwgMywgCi0gICAgMjI2LCA5LCAxNCwgMzUsIDIyLCAzLCAyNTAsIDQ3LCAxNCwgMzUsIDIyLCAzLCAyMjUsIDQ2LCAxNCwgMzUsIDIyLCAzLCAKLSAgICAyMjcsIDY3LCAxNCwgMzUsIDIyLCAyMjYsIDEyNSwgMjQ3LCAxODUsIDE0LCAzNSwgMjIsIDI0NSwgNjQsIDg3LCAxNCwgMzUsIAotICAgIDIyLCAyMTcsIDEzMywgODcsIDE0LCAzNSwgMjIsIDIzNCwgMjI4LCA4NywgMTQsIDM1LCAyMiwgMjI2LCAxMCwgODcsIDE0LCAKLSAgICAzNSwgMjIsIDIyMywgMTkxLCA4NywgMTQsIDM1LCAyMiwgMjI1LCAyNDEsIDg3LCAxNCwgMzUsIDIyLCAzMiwgNiwgMjU0LCAKLSAgICA1MiwgMTQsIDM1LCAyMiwgMzIsIDYsIDI1MSwgMjAzLCAxNCwgMzUsIDIyLCAzMiwgNiwgMjQzLCA4MywgMTQsIDM1LCAyMiwgCi0gICAgMzIsIDYsIDI0OCwgNSwgMTQsIDM1LCAyMiwgMzIsIDYsIDI0NSwgNjMsIDE0LCAzNSwgMjIsIDMyLCA2LCAyMTIsIDc4LCAKLSAgICAxNCwgMzUsIDIyLCAzMiwgNiwgMjQ1LCAyOCwgMTQsIDM1LCAyMiwgMzIsIDYsIDIxNywgMTMyLCAxNCwgMzUsIDIyLCAzMiwgCi0gICAgNiwgMjM1LCAxODMsIDE0LCAzNSwgMjIsIDMyLCA2LCAyMzQsIDIyNywgMTQsIDM1LCAyMiwgMzIsIDYsIDIzMywgMTIyLCAKLSAgICAxNCwgMzUsIDIyLCAzMiwgNiwgMjMwLCAxNzIsIDE0LCAzNSwgMjIsIDMyLCA2LCAyMjgsIDkyLCAxNCwgMzUsIDIyLCAzMiwgCi0gICAgNiwgMjEzLCAxNDUsIDE0LCAzNSwgMjIsIDMyLCA2LCAyMjcsIDY1LCAxNCwgMzUsIDIyLCAzMiwgNiwgMjI1LCAyNDAsIDE0LCAKLSAgICAzNSwgMjIsIDMyLCA2LCAyMjMsIDE5MCwgMTQsIDM1LCAyMiwgMzIsIDYsIDIxNywgMTMzLCA4NywgMTQsIDM1LCAyMiwgMzIsIAotICAgIDYsIDIyMCwgMTAzLCAxNCwgMzUsIDIyLCAzMiwgNiwgMjE3LCAyNDgsIDE0LCAzNSwgMjIsIDMyLCA2LCAyMTUsIDEyOCwgCi0gICAgMTQsIDM1LCAyMiwgMzIsIDYsIDIyNiwgOSwgMTQsIDM1LCAyMiwgMzIsIDYsIDI1MCwgNDcsIDE0LCAzNSwgMjIsIDMyLCA2LCAKLSAgICAyMjUsIDQ2LCAxNCwgMzUsIDIyLCAzMiwgNiwgMjI3LCA2NywgMTQsIDM1LCAyMiwgMzIsIDIzMCwgMzksIDE0LCAzNSwgMjIsIAotICAgIDMyLCAzLCAyNTQsIDUyLCAxNCwgMzUsIDIyLCAzMiwgMywgMjUxLCAyMDMsIDE0LCAzNSwgMjIsIDMyLCAzLCAyNDMsIDgzLCAKLSAgICAxNCwgMzUsIDIyLCAzMiwgMywgMjQ4LCA1LCAxNCwgMzUsIDIyLCAzMiwgMywgMjQ1LCA2MywgMTQsIDM1LCAyMiwgMzIsIDMsIAotICAgIDIxMiwgNzgsIDE0LCAzNSwgMjIsIDMyLCAzLCAyNDUsIDI4LCAxNCwgMzUsIDIyLCAzMiwgMywgMjE3LCAxMzIsIDE0LCAzNSwgCi0gICAgMjIsIDMyLCAzLCAyMzUsIDE4MywgMTQsIDM1LCAyMiwgMzIsIDMsIDIzNCwgMjI3LCAxNCwgMzUsIDIyLCAzMiwgMywgMjMzLCAKLSAgICAxMjIsIDE0LCAzNSwgMjIsIDMyLCAzLCAyMzAsIDE3MiwgMTQsIDM1LCAyMiwgMzIsIDMsIDIyOCwgOTIsIDE0LCAzNSwgMjIsIAotICAgIDMyLCAzLCAyMTMsIDE0NSwgMTQsIDM1LCAyMiwgMzIsIDMsIDIyNywgNjUsIDE0LCAzNSwgMjIsIDMyLCAzLCAyMjUsIDI0MCwgCi0gICAgMTQsIDM1LCAyMiwgMzIsIDMsIDIyMywgMTkwLCAxNCwgMzUsIDIyLCAzMiwgMywgNDAsIDIyMCwgMTAzLCAxNCwgMzUsIDIyLCAKLSAgICAzMiwgMywgMjIwLCAxMDMsIDE0LCAzNSwgMjIsIDMyLCAzLCAyMTcsIDI0OCwgMTQsIDM1LCAyMiwgMzIsIDMsIDIxNSwgCi0gICAgMTI4LCAxNCwgMzUsIDIyLCAzMiwgMywgMjI2LCA5LCAxNCwgMzUsIDIyLCAzMiwgMywgMjUwLCA0NywgMTQsIDM1LCAyMiwgCi0gICAgMzIsIDMsIDIyNSwgNDYsIDE0LCAzNSwgMjIsIDMyLCAzLCAyMjcsIDY3LCAxNCwgMzUsIDIyLCAzMiwgMjI2LCAxMjUsIAotICAgIDI0NywgMTg1LCAxNCwgMzUsIDIyLCAzMiwgMjQ1LCA2NCwgODcsIDE0LCAzNSwgMjIsIDMyLCAyMTcsIDEzMywgODcsIDE0LCAKLSAgICAzNSwgMjIsIDMyLCAyMzQsIDIyOCwgODcsIDE0LCAzNSwgMjIsIDMyLCAyMjYsIDEwLCA4NywgMTQsIDM1LCAyMiwgMzIsIAotICAgIDIyMywgMTkxLCA4NywgMTQsIDM1LCAyMiwgMzIsIDIyNSwgMjQxLCA4NywgMTQsIDIyLCA2LCAyNDcsIDE3OSwgMTQsIDIyLCAKLSAgICAzLCAyNDcsIDE3OSwgMTQsIDIyLCAyMSwgMjEyLCA3OSwgMTQsIDIyLCAyMSwgMTE2LCAxNCwgMjIsIDIxLCAxMDksIDE0LCAKLSAgICAyMiwgMjEsIDE2NiwgMTQsIDIyLCAyMSwgMTYzLCAxNCwgMjIsIDIxLCAxODAsIDE0LCAyMiwgMjEsIDE4OSwgMTQsIDIyLCAKLSAgICAyMSwgMTk4LCAxNCwgMjIsIDIxLCAxOTUsIDE0LCAyMiwgMjEsIDIwMCwgMTQsIDE4NywgMjEsIDIxMiwgNzksIDE0LCAxODcsIAotICAgIDIxLCAxMTYsIDE0LCAxODcsIDIxLCAxMDksIDE0LCAxODcsIDIxLCAxNjYsIDE0LCAxODcsIDIxLCAxNjMsIDE0LCAxODcsIAotICAgIDIxLCAxODAsIDE0LCAxODcsIDIxLCAxODksIDE0LCAxODcsIDIxLCAxOTgsIDE0LCAxODcsIDIxLCAxOTUsIDE0LCAxODcsIAotICAgIDIxLCAyMDAsIDE0LCAzNSwgMjEsIDIxMiwgNzksIDE0LCAzNSwgMjEsIDExNiwgMTQsIDM1LCAyMSwgMTA5LCAxNCwgMzUsIAotICAgIDIxLCAxNjYsIDE0LCAzNSwgMjEsIDE2MywgMTQsIDM1LCAyMSwgMTgwLCAxNCwgMzUsIDIxLCAxODksIDE0LCAzNSwgMjEsIAotICAgIDE5OCwgMTQsIDM1LCAyMSwgMTk1LCAxNCwgMzUsIDIxLCAyMDAsIDE0LCAzNSwgMjIsIDIxLCAyMTIsIDc5LCAxNCwgMzUsIAotICAgIDIyLCAyMSwgMTE2LCAxNCwgMzUsIDIyLCAyMSwgMTA5LCAxNCwgMzUsIDIyLCAyMSwgMTY2LCAxNCwgMzUsIDIyLCAyMSwgCi0gICAgMTYzLCAxNCwgMzUsIDIyLCAyMSwgMTgwLCAxNCwgMzUsIDIyLCAyMSwgMTg5LCAxNCwgMzUsIDIyLCAyMSwgMTk4LCAxNCwgCi0gICAgMzUsIDIyLCAyMSwgMTk1LCAxNCwgMzUsIDIyLCAyMSwgMjAwLCAxNCwgMjMwLCAyMDgsIDIxLCAyMTIsIDc5LCAxNCwgMjMwLCAKLSAgICAyMDgsIDIxLCAxMTYsIDE0LCAyMzAsIDIwOCwgMjEsIDEwOSwgMTQsIDIzMCwgMjA4LCAyMSwgMTY2LCAxNCwgMjMwLCAyMDgsIAotICAgIDIxLCAxNjMsIDE0LCAyMzAsIDIwOCwgMjEsIDE4MCwgMTQsIDIzMCwgMjA4LCAyMSwgMTg5LCAxNCwgMjMwLCAyMDgsIDIxLCAKLSAgICAxOTgsIDE0LCAyMzAsIDIwOCwgMjEsIDE5NSwgMTQsIDIzMCwgMjA4LCAyMSwgMjAwLCAyMzIsIDEwLCA4NSwgMjQ1LCAxNzYsIAotICAgIDIxMywgMjI0LCAyMzIsIDEwLCA4NSwgMjE5LCAyMTUsIDIxMywgMjI0LCAyMzIsIDEwLCA4NSwgMjEzLCAyNTAsIDIxMywgCi0gICAgMjI0LCAyMzIsIDEwLCA4NSwgMjI4LCAxNjcsIDIxMywgMjI0LCAyMzIsIDEwLCA4NSwgMjI0LCA0LCAyNDYsIDUwLCAyMzIsIAotICAgIDEwLCA4NSwgMjQyLCAxMDQsIDI0NiwgNTAsIDIzMiwgMTAsIDg1LCA2NywgMjQ2LCA1MCwgMjMyLCAxMCwgODUsIDEyMiwgCi0gICAgNjUsIDI1MCwgNzcsIDIzMiwgMTAsIDg1LCAxMTcsIDY1LCAyNTAsIDc3LCAyMzIsIDEwLCA4NSwgMTMzLCA2NSwgMjUwLCAKLSAgICA3NywgMjMyLCAxMCwgODUsIDI0MywgMjM3LCA2NSwgMjUwLCA3NywgMjMyLCAxMCwgODUsIDI0NCwgNTAsIDY1LCAyNTAsIAotICAgIDc3LCAyMzIsIDEwLCA4NSwgMjIwLCA1MywgNjUsIDI1MCwgNzcsIDIzMiwgMTAsIDg1LCAyMjEsIDQzLCA2NSwgMjUwLCA3NywgCi0gICAgMjMyLCAxMCwgODUsIDI0NSwgMTUwLCA2NSwgMjUwLCA3NywgMjMyLCAxMCwgODUsIDIyOSwgMzEsIDY1LCAyNTAsIDc3LCAKLSAgICAyMzIsIDEwLCA4NSwgMTIyLCA2NSwgMjUyLCA3MiwgMjMyLCAxMCwgODUsIDExNywgNjUsIDI1MiwgNzIsIDIzMiwgMTAsIAotICAgIDg1LCAxMzMsIDY1LCAyNTIsIDcyLCAyMzIsIDEwLCA4NSwgMjQzLCAyMzcsIDY1LCAyNTIsIDcyLCAyMzIsIDEwLCA4NSwgCi0gICAgMjQ0LCA1MCwgNjUsIDI1MiwgNzIsIDIzMiwgMTAsIDg1LCAyMjAsIDUzLCA2NSwgMjUyLCA3MiwgMjMyLCAxMCwgODUsIAotICAgIDIyMSwgNDMsIDY1LCAyNTIsIDcyLCAyMzIsIDEwLCA4NSwgMjQ1LCAxNTAsIDY1LCAyNTIsIDcyLCAyMzIsIDEwLCA4NSwgCi0gICAgMjI5LCAzMSwgNjUsIDI1MiwgNzIsIDIzMiwgMTAsIDg1LCAxMjIsIDY1LCAyNDksIDIyNywgMjMyLCAxMCwgODUsIDExNywgCi0gICAgNjUsIDI0OSwgMjI3LCAyMzIsIDEwLCA4NSwgMTMzLCA2NSwgMjQ5LCAyMjcsIDIzMiwgMTAsIDg1LCAyNDMsIDIzNywgNjUsIAotICAgIDI0OSwgMjI3LCAyMzIsIDEwLCA4NSwgMjQ0LCA1MCwgNjUsIDI0OSwgMjI3LCAyMzIsIDEwLCA4NSwgMjIwLCA1MywgNjUsIAotICAgIDI0OSwgMjI3LCAyMzIsIDEwLCA4NSwgMjIxLCA0MywgNjUsIDI0OSwgMjI3LCAyMzIsIDEwLCA4NSwgMjQ1LCAxNTAsIDY1LCAKLSAgICAyNDksIDIyNywgMjMyLCAxMCwgODUsIDIyOSwgMzEsIDY1LCAyNDksIDIyNywgMjMyLCAxMCwgODUsIDIyNSwgMTU5LCAyMzIsIAotICAgIDEwLCA4NSwgMjI3LCAyMiwgMjMyLCAxMCwgODUsIDI1MiwgNzMsIDIzMiwgMTAsIDg1LCAyNTAsIDcsIDIzMiwgMTAsIDg1LCAKLSAgICAyMTksIDE3MSwgMjMyLCAxMCwgODUsIDIxOCwgMjQwLCAyMzIsIDEwLCA4NSwgMjUzLCA5NSwgMjMyLCAxMCwgODUsIDIxMywgCi0gICAgMjE3LCAyMzIsIDEwLCA4NSwgMjM1LCA2NSwgMjMyLCAxMCwgODUsIDI1MiwgMTAxLCAxMjcsIDg1LCAxOTksIDI1MiwgMTAxLCAKLSAgICAxMjcsIDg1LCAyNDEsIDMwLCAxMjcsIDg1LCAyNDEsIDI5LCAxMjcsIDg1LCAyNDEsIDI4LCAxMjcsIDg1LCAyNDEsIDI3LCAKLSAgICAxMjcsIDg1LCAyNDEsIDI2LCAxMjcsIDg1LCAyNDEsIDI1LCAxMjcsIDg1LCAyNDEsIDI0LCAxMjcsIDg1LCAyNDEsIDIzLCAKLSAgICAxMjcsIDg1LCAyNDEsIDIyLCAxMjcsIDg1LCAyNDEsIDIxLCAxMjcsIDg1LCAyNDEsIDIwLCAxMjcsIDg1LCAyNDEsIDE5LCAKLSAgICAxMjcsIDg1LCAyNDEsIDE4LCAxMjcsIDg1LCAyNDEsIDE3LCAxMjcsIDg1LCAyNDEsIDE2LCAxMjcsIDg1LCAyNDEsIDE1LCAKLSAgICAxMjcsIDg1LCAyNDEsIDE0LCAxMjcsIDg1LCAyNDEsIDEzLCAxMjcsIDg1LCAyNDEsIDEyLCAxMjcsIDg1LCAyNDEsIDExLCAKLSAgICAxMjcsIDg1LCAyNDEsIDEwLCAxMjcsIDg1LCAyNDEsIDksIDEyNywgODUsIDI0MSwgOCwgMTI3LCA4NSwgMjQxLCA3LCAxMjcsIAotICAgIDg1LCAyNDEsIDYsIDEyNywgODUsIDI0MSwgNSwgMTI3LCA4NSwgMjQxLCA0LCAxMjcsIDg1LCAyNDEsIDMsIDEyNywgODUsIAotICAgIDI0MSwgMiwgMTI3LCA4NSwgMjQxLCAxLCAxMjcsIDg1LCAyNDEsIDAsIDEyNywgODUsIDI0MCwgMjU1LCAxMjcsIDg1LCAKLSAgICAyNDAsIDI1NCwgMTI3LCA4NSwgMjQwLCAyNTMsIDEyNywgODUsIDI0MCwgMjUyLCAxMjcsIDg1LCAyNDAsIDI1MSwgMTI3LCAKLSAgICA4NSwgMjQwLCAyNTAsIDEyNywgODUsIDI0MCwgMjQ5LCAxMjcsIDg1LCAyNDAsIDI0OCwgMTI3LCA4NSwgMjQwLCAyNDcsIAotICAgIDEyNywgODUsIDI0MCwgMjQ2LCAxMjcsIDg1LCAyNDAsIDI0NSwgMTI3LCA4NSwgMjQwLCAyNDQsIDEyNywgODUsIDI0MCwgCi0gICAgMjQzLCAxMjcsIDg1LCAyNDAsIDI0MiwgMTI3LCA4NSwgMjQwLCAyNDEsIDEyNywgODUsIDI0MCwgMjQwLCAxMjcsIDg1LCAKLSAgICAyNDAsIDIzOSwgMTI3LCA4NSwgMjQwLCAyMzgsIDEyNywgODUsIDcxLCAyNTIsIDEwMSwgMTI3LCA4NSwgMjE0LCAyMTUsIAotICAgIDEyNywgODUsIDIxNCwgMjE0LCAxMjcsIDg1LCAyMTQsIDIxMywgMTI3LCA4NSwgMjE0LCAyMTIsIDEyNywgODUsIDIxNCwgCi0gICAgMjExLCAxMjcsIDg1LCAyMTQsIDIxMCwgMTI3LCA4NSwgMjE0LCAyMDksIDEyNywgODUsIDIxNCwgMjA4LCAxMjcsIDg1LCAKLSAgICAyMTQsIDIwNywgMTI3LCA4NSwgMjE0LCAyMDYsIDEyNywgODUsIDIxNCwgMjA1LCAxMjcsIDg1LCAyMTQsIDIwNCwgMTI3LCAKLSAgICA4NSwgMjE0LCAyMDMsIDEyNywgODUsIDIxNCwgMjAyLCAxMjcsIDg1LCAyMTQsIDIwMSwgMTI3LCA4NSwgMjE0LCAyMDAsIAotICAgIDEyNywgODUsIDIxNCwgMTk5LCAxMjcsIDg1LCAyMTQsIDE5OCwgMTI3LCA4NSwgMjE0LCAxOTcsIDEyNywgODUsIDIxNCwgCi0gICAgMTk2LCAxMjcsIDg1LCAyMTQsIDE5NSwgMTI3LCA4NSwgMjE0LCAxOTQsIDEyNywgODUsIDIxNCwgMTkzLCAxMjcsIDg1LCAKLSAgICAyMTQsIDE5MiwgMTI3LCA4NSwgMjE0LCAxOTEsIDEyNywgODUsIDIxNCwgMTkwLCAxMjcsIDg1LCAyMTQsIDE4OSwgMTI3LCAKLSAgICA4NSwgMjE0LCAxODgsIDEyNywgODUsIDIxNCwgMTg3LCAxMjcsIDg1LCAyMTQsIDE4NiwgMTI3LCA4NSwgMjE0LCAxODUsIAotICAgIDEyNywgODUsIDIxNCwgMTg0LCAxMjcsIDg1LCAyMTQsIDE4MywgMTI3LCA4NSwgMjE0LCAxODIsIDEyNywgODUsIDIxNCwgCi0gICAgMTgxLCAxMjcsIDg1LCAyMTQsIDE4MCwgMTI3LCA4NSwgMjE0LCAxNzksIDEyNywgODUsIDIxNCwgMTc4LCAxMjcsIDg1LCAKLSAgICAyMTQsIDE3NywgMTI3LCA4NSwgMjE0LCAxNzYsIDEyNywgODUsIDIxNCwgMTc1LCAxMjcsIDg1LCAyMTQsIDE3NCwgMTI3LCAKLSAgICA4NSwgMjE0LCAxNzMsIDEyNywgODUsIDIxNCwgMTcyLCAxMjcsIDg1LCAyMTQsIDE3MSwgMTI3LCA4NSwgMjE0LCAxNzAsIAotICAgIDEyNywgODUsIDIxNCwgMTY5LCAxMjcsIDg1LCAyMTQsIDE2OCwgMTI3LCA4NSwgMjE0LCAxNjcsIDIyNSwgMTY1LCAyNTAsIAotICAgIDE3NSwgMjUyLCAxMDEsIDIyNSwgMTY1LCAyNTAsIDE3NSwgMjU0LCAxNjksIDY1LCAyMTksIDIwMywgMjI1LCAxNjUsIDI1MCwgCi0gICAgMTc1LCAxMTcsIDY1LCAyMTksIDIwMywgMjI1LCAxNjUsIDI1MCwgMTc1LCAxMzMsIDY1LCAyMTksIDIwMywgMjI1LCAxNjUsIAotICAgIDI1MCwgMTc1LCAyNDMsIDIzNywgNjUsIDIxOSwgMjAzLCAyMjUsIDE2NSwgMjUwLCAxNzUsIDI0NCwgNTAsIDY1LCAyMTksIAotICAgIDIwMywgMjI1LCAxNjUsIDI1MCwgMTc1LCAyMjAsIDUzLCA2NSwgMjE5LCAyMDMsIDIyNSwgMTY1LCAyNTAsIDE3NSwgMjIxLCAKLSAgICA0MywgNjUsIDIxOSwgMjAzLCAyMjUsIDE2NSwgMjUwLCAxNzUsIDI0NSwgMTUwLCA2NSwgMjE5LCAyMDMsIDIyNSwgMTY1LCAKLSAgICAyNTAsIDE3NSwgMjI5LCAzMSwgNjUsIDIxOSwgMjAzLCAyMjUsIDE2NSwgMjUwLCAxNzUsIDIxNywgMjAxLCA2NSwgMjE5LCAKLSAgICAyMDMsIDIyNSwgMTY1LCAyNTAsIDE3NSwgMjM1LCAxMzcsIDY1LCAyMTksIDIwMywgMjI1LCAxNjUsIDI1MCwgMTc1LCAyMzQsIAotICAgIDQwLCA2NSwgMjE5LCAyMDMsIDIyNSwgMTY1LCAyNTAsIDE3NSwgMjI0LCAxNjAsIDY1LCAyMTksIDIwMywgMjI1LCAxNjUsIAotICAgIDI1MCwgMTc1LCAyMzQsIDg4LCA2NSwgMjE5LCAyMDMsIDIyNSwgMTY1LCAyNTAsIDE3NSwgMjU0LCAxNjksIDY1LCAyNDEsIAotICAgIDIwOSwgMjI1LCAxNjUsIDI1MCwgMTc1LCAxMTcsIDY1LCAyNDEsIDIwOSwgMjI1LCAxNjUsIDI1MCwgMTc1LCAxMzMsIDY1LCAKLSAgICAyNDEsIDIwOSwgMjI1LCAxNjUsIDI1MCwgMTc1LCAyNDMsIDIzNywgNjUsIDI0MSwgMjA5LCAyMjUsIDE2NSwgMjUwLCAxNzUsIAotICAgIDI0NCwgNTAsIDY1LCAyNDEsIDIwOSwgMjI1LCAxNjUsIDI1MCwgMTc1LCAyMjAsIDUzLCA2NSwgMjQxLCAyMDksIDIyNSwgCi0gICAgMTY1LCAyNTAsIDE3NSwgMjIxLCA0MywgNjUsIDI0MSwgMjA5LCAyMjUsIDE2NSwgMjUwLCAxNzUsIDI0NSwgMTUwLCA2NSwgCi0gICAgMjQxLCAyMDksIDIyNSwgMTY1LCAyNTAsIDE3NSwgMjI5LCAzMSwgNjUsIDI0MSwgMjA5LCAyMjUsIDE2NSwgMjUwLCAxNzUsIAotICAgIDIxNywgMjAxLCA2NSwgMjQxLCAyMDksIDIyNSwgMTY1LCAyNTAsIDE3NSwgMjM1LCAxMzcsIDY1LCAyNDEsIDIwOSwgMjI1LCAKLSAgICAxNjUsIDI1MCwgMTc1LCAyMzQsIDQwLCA2NSwgMjQxLCAyMDksIDIyNSwgMTY1LCAyNTAsIDE3NSwgMjI0LCAxNjAsIDY1LCAKLSAgICAyNDEsIDIwOSwgMjI1LCAxNjUsIDI1MCwgMTc1LCAyMzQsIDg4LCA2NSwgMjQxLCAyMDksIDIyNSwgMTY1LCAyNTAsIDE3NSwgCi0gICAgMjU0LCAxNjksIDY1LCAyNDcsIDE5OSwgMjI1LCAxNjUsIDI1MCwgMTc1LCAxMTcsIDY1LCAyNDcsIDE5OSwgMjI1LCAxNjUsIAotICAgIDI1MCwgMTc1LCAxMzMsIDY1LCAyNDcsIDE5OSwgMjI1LCAxNjUsIDI1MCwgMTc1LCAyNDMsIDIzNywgNjUsIDI0NywgMTk5LCAKLSAgICAyMjUsIDE2NSwgMjUwLCAxNzUsIDI0NCwgNTAsIDY1LCAyNDcsIDE5OSwgMjI1LCAxNjUsIDI1MCwgMTc1LCAyMjAsIDUzLCAKLSAgICA2NSwgMjQ3LCAxOTksIDIyNSwgMTY1LCAyNTAsIDE3NSwgMjIxLCA0MywgNjUsIDI0NywgMTk5LCAyMjUsIDE2NSwgMjUwLCAKLSAgICAxNzUsIDI0NSwgMTUwLCA2NSwgMjQ3LCAxOTksIDIyNSwgMTY1LCAyNTAsIDE3NSwgMjI5LCAzMSwgNjUsIDI0NywgMTk5LCAKLSAgICAyMjUsIDE2NSwgMjUwLCAxNzUsIDIxNywgMjAxLCA2NSwgMjQ3LCAxOTksIDIyNSwgMTY1LCAyNTAsIDE3NSwgMjM1LCAxMzcsIAotICAgIDY1LCAyNDcsIDE5OSwgMjI1LCAxNjUsIDI1MCwgMTc1LCAyMzQsIDQwLCA2NSwgMjQ3LCAxOTksIDIyNSwgMTY1LCAyNTAsIAotICAgIDE3NSwgMjI0LCAxNjAsIDY1LCAyNDcsIDE5OSwgMjI1LCAxNjUsIDI1MCwgMTc1LCAyMzQsIDg4LCA2NSwgMjQ3LCAxOTksIAotICAgIDIyNSwgMTY1LCAyNTAsIDE3NSwgODMsIDIzNSwgNjUsIDIyNSwgMTY1LCAyNTAsIDE3NSwgMjU0LCAxNjksIDY1LCAyNDksIAotICAgIDE3OSwgMjI1LCAxNjUsIDI1MCwgMTc1LCAxMTcsIDY1LCAyNDksIDE3OSwgMjI1LCAxNjUsIDI1MCwgMTc1LCAxMzMsIDY1LCAKLSAgICAyNDksIDE3OSwgMjI1LCAxNjUsIDI1MCwgMTc1LCAyNDMsIDIzNywgNjUsIDI0OSwgMTc5LCAyMjUsIDE2NSwgMjUwLCAxNzUsIAotICAgIDI0NCwgNTAsIDY1LCAyNDksIDE3OSwgMjI1LCAxNjUsIDI1MCwgMTc1LCAyMjAsIDUzLCA2NSwgMjQ5LCAxNzksIDIyNSwgCi0gICAgMTY1LCAyNTAsIDE3NSwgMjIxLCA0MywgNjUsIDI0OSwgMTc5LCAyMjUsIDE2NSwgMjUwLCAxNzUsIDI0NSwgMTUwLCA2NSwgCi0gICAgMjQ5LCAxNzksIDIyNSwgMTY1LCAyNTAsIDE3NSwgMjI5LCAzMSwgNjUsIDI0OSwgMTc5LCAyMjUsIDE2NSwgMjUwLCAxNzUsIAotICAgIDIxNywgMjAxLCA2NSwgMjQ5LCAxNzksIDIyNSwgMTY1LCAyNTAsIDE3NSwgMjM1LCAxMzcsIDY1LCAyNDksIDE3OSwgMjI1LCAKLSAgICAxNjUsIDI1MCwgMTc1LCAyMzQsIDQwLCA2NSwgMjQ5LCAxNzksIDIyNSwgMTY1LCAyNTAsIDE3NSwgMjI0LCAxNjAsIDY1LCAKLSAgICAyNDksIDE3OSwgMjI1LCAxNjUsIDI1MCwgMTc1LCAyMzQsIDg4LCA2NSwgMjQ5LCAxNzksIDIyNSwgMTY1LCAyNTAsIDE3NSwgCi0gICAgNjcsIDIzNSwgNjUsIDIxLCAyMTIsIDgwLCAyNDMsIDIwMCwgMjE5LCA2OSwgMjEsIDIxMiwgODAsIDI0OSwgMTU3LCAyMSwgCi0gICAgMTIyLCAyNDksIDE1NywgMjEsIDExNywgMjQ5LCAxNTcsIDIxLCAxMzMsIDI0OSwgMTU3LCAyMSwgMjQzLCAyMzcsIDI0OSwgCi0gICAgMTU3LCAyMSwgMjQ0LCA1MCwgMjQ5LCAxNTcsIDIxLCAyMjAsIDUzLCAyNDksIDE1NywgMjEsIDIyMSwgNDMsIDI0OSwgMTU3LCAKLSAgICAyMSwgMjQ1LCAxNTAsIDI0OSwgMTU3LCAyMSwgMjI5LCAzMSwgMjQ5LCAxNTcsIDg2LCA3LCA2LCAxLCA2MSwgODYsIDcsIDYsIAotICAgIDEsIDI1MywgNzQsIDg2LCA3LCA2LCAxLCAyNTAsIDI1MiwgODYsIDcsIDYsIDEsIDI0OSwgMywgODYsIDcsIDYsIDEsIDc0LCAKLSAgICA4NiwgNywgNiwgMSwgMjQ0LCAyMzAsIDg2LCA3LCA2LCAxLCAyNDMsIDE3NywgODYsIDcsIDYsIDEsIDI0MiwgNDEsIDg2LCAKLSAgICA3LCA2LCAxLCA3MiwgODYsIDcsIDYsIDEsIDIzNSwgMTQyLCA4NiwgNywgNiwgMSwgMjM1LCAyNywgODYsIDcsIDYsIDEsIAotICAgIDE1MCwgODYsIDcsIDYsIDEsIDE4MywgODYsIDcsIDYsIDEsIDIwNCwgODYsIDcsIDYsIDEsIDc1LCA4NiwgNywgNiwgMSwgCi0gICAgMjI2LCAyMjksIDg2LCA3LCA2LCAxLCAyMjQsIDI0MCwgODYsIDcsIDYsIDEsIDE0OSwgODYsIDcsIDYsIDEsIDE5NywgODYsIAotICAgIDcsIDYsIDEsIDIxOCwgOTksIDg2LCA3LCA2LCAxLCA2OSwgODYsIDcsIDYsIDEsIDIxNSwgNzksIDg2LCA3LCA2LCAxLCAKLSAgICAyMTQsIDgyLCA4NiwgNywgNiwgMSwgMjEzLCAxNjYsIDg2LCA3LCA2LCAxLCAyMTMsIDEwNSwgODYsIDcsIDYsIDEsIDIxMiwgCi0gICAgMTUyLCAyMTYsIDIxOSwgMjIwLCAyMzMsIDI1MSwgODQsIDcsIDYsIDEsIDE5NywgMzYsIDMyLCA3LCA2LCAxLCAyNTAsIAotICAgIDI1MiwgMzYsIDMyLCA3LCA2LCAxLCAxNDksIDM2LCAyNTAsIDEyNSwgMzYsIDIxMywgMTY4LCA5MSwgNywgNiwgMSwgNjEsIAotICAgIDkxLCA3LCA2LCAxLCAyNTMsIDc0LCA5MSwgNywgNiwgMSwgMjUwLCAyNTIsIDkxLCA3LCA2LCAxLCAyNDksIDMsIDkxLCA3LCAKLSAgICA2LCAxLCA3NCwgOTEsIDcsIDYsIDEsIDI0NCwgMjMwLCA5MSwgNywgNiwgMSwgMjQzLCAxNzcsIDkxLCA3LCA2LCAxLCAyNDIsIAotICAgIDQxLCA5MSwgNywgNiwgMSwgNzIsIDkxLCA3LCA2LCAxLCAyMzUsIDE0MiwgOTEsIDcsIDYsIDEsIDIzNSwgMjcsIDkxLCA3LCAKLSAgICA2LCAxLCAxNTAsIDkxLCA3LCA2LCAxLCAxODMsIDkxLCA3LCA2LCAxLCAyMDQsIDkxLCA3LCA2LCAxLCA3NSwgOTEsIDcsIDYsIAotICAgIDEsIDIyNiwgMjI5LCA5MSwgNywgNiwgMSwgMjI0LCAyNDAsIDkxLCA3LCA2LCAxLCAxNDksIDkxLCA3LCA2LCAxLCAxOTcsIAotICAgIDkxLCA3LCA2LCAxLCAyMTgsIDk5LCA5MSwgNywgNiwgMSwgNjksIDkxLCA3LCA2LCAxLCAyMTUsIDc5LCA5MSwgNywgNiwgMSwgCi0gICAgMjE0LCA4MiwgOTEsIDcsIDYsIDEsIDIxMywgMTY2LCA5MSwgNywgNiwgMSwgMjEzLCAxMDUsIDkxLCA3LCA2LCAxLCAyMTIsIAotICAgIDE1MiwgOTEsIDI0MCwgMTkzLCA5MSwgMjMwLCAxMjAsIDkxLCAyMjIsIDEwMiwgOTEsIDIxOSwgMTU4LCA5MSwgMjI1LCA5OCwgCi0gICAgOTEsIDIxNCwgNywgMTQ2LCAzNiwgNywgNiwgMSwgNjEsIDE0NiwgMzYsIDcsIDYsIDEsIDI1MywgNzQsIDE0NiwgMzYsIDcsIAotICAgIDYsIDEsIDI1MCwgMjUyLCAxNDYsIDM2LCA3LCA2LCAxLCAyNDksIDMsIDE0NiwgMzYsIDcsIDYsIDEsIDc0LCAxNDYsIDM2LCAKLSAgICA3LCA2LCAxLCAyNDQsIDIzMCwgMTQ2LCAzNiwgNywgNiwgMSwgMjQzLCAxNzcsIDE0NiwgMzYsIDcsIDYsIDEsIDI0MiwgNDEsIAotICAgIDE0NiwgMzYsIDcsIDYsIDEsIDcyLCAxNDYsIDM2LCA3LCA2LCAxLCAyMzUsIDE0MiwgMTQ2LCAzNiwgNywgNiwgMSwgMjM1LCAKLSAgICAyNywgMTQ2LCAzNiwgNywgNiwgMSwgMTUwLCAxNDYsIDM2LCA3LCA2LCAxLCAxODMsIDE0NiwgMzYsIDcsIDYsIDEsIDIwNCwgCi0gICAgMTQ2LCAzNiwgNywgNiwgMSwgNzUsIDE0NiwgMzYsIDcsIDYsIDEsIDIyNiwgMjI5LCAxNDYsIDM2LCA3LCA2LCAxLCAyMjQsIAotICAgIDI0MCwgMTQ2LCAzNiwgNywgNiwgMSwgMTQ5LCAxNDYsIDM2LCA3LCA2LCAxLCAxOTcsIDE0NiwgMzYsIDcsIDYsIDEsIDIxOCwgCi0gICAgOTksIDE0NiwgMzYsIDcsIDYsIDEsIDY5LCAxNDYsIDM2LCA3LCA2LCAxLCAyMTUsIDc5LCAxNDYsIDM2LCA3LCA2LCAxLCAKLSAgICAyMTQsIDgyLCAxNDYsIDM2LCA3LCA2LCAxLCAyMTMsIDE2NiwgMTQ2LCAzNiwgNywgNiwgMSwgMjEzLCAxMDUsIDE0NiwgMzYsIAotICAgIDcsIDYsIDEsIDIxMiwgMTUyLCAxNDYsIDkxLCA3LCA2LCAxLCA2MSwgMTQ2LCA5MSwgNywgNiwgMSwgMjUzLCA3NCwgMTQ2LCAKLSAgICA5MSwgNywgNiwgMSwgMjUwLCAyNTIsIDE0NiwgOTEsIDcsIDYsIDEsIDI0OSwgMywgMTQ2LCA5MSwgNywgNiwgMSwgNzQsIAotICAgIDE0NiwgOTEsIDcsIDYsIDEsIDI0NCwgMjMwLCAxNDYsIDkxLCA3LCA2LCAxLCAyNDMsIDE3NywgMTQ2LCA5MSwgNywgNiwgMSwgCi0gICAgMjQyLCA0MSwgMTQ2LCA5MSwgNywgNiwgMSwgNzIsIDE0NiwgOTEsIDcsIDYsIDEsIDIzNSwgMTQyLCAxNDYsIDkxLCA3LCA2LCAKLSAgICAxLCAyMzUsIDI3LCAxNDYsIDkxLCA3LCA2LCAxLCAxNTAsIDE0NiwgOTEsIDcsIDYsIDEsIDE4MywgMTQ2LCA5MSwgNywgNiwgCi0gICAgMSwgMjA0LCAxNDYsIDkxLCA3LCA2LCAxLCA3NSwgMTQ2LCA5MSwgNywgNiwgMSwgMjI2LCAyMjksIDE0NiwgOTEsIDcsIDYsIAotICAgIDEsIDIyNCwgMjQwLCAxNDYsIDkxLCA3LCA2LCAxLCAxNDksIDE0NiwgOTEsIDcsIDYsIDEsIDE5NywgMTQ2LCA5MSwgNywgNiwgCi0gICAgMSwgMjE4LCA5OSwgMTQ2LCA5MSwgNywgNiwgMSwgNjksIDE0NiwgOTEsIDcsIDYsIDEsIDIxNSwgNzksIDE0NiwgOTEsIDcsIAotICAgIDYsIDEsIDIxNCwgODIsIDE0NiwgOTEsIDcsIDYsIDEsIDIxMywgMTY2LCAxNDYsIDkxLCA3LCA2LCAxLCAyMTMsIDEwNSwgCi0gICAgMTQ2LCA5MSwgNywgNiwgMSwgMjEyLCAxNTIsIDI0OSwgNjgsIDE0NiwgOTEsIDcsIDYsIDEsIDIyNiwgMjI5LCAxNDYsIDkxLCAKLSAgICAyNDAsIDEwNiwgMTQ2LCA5MSwgMTkzLCAxNDYsIDkxLCAyMjIsIDIwMiwgMTQ2LCA5MSwgMjU0LCAxODUsIDE0NiwgOTEsIAotICAgIDIxNCwgNywgNDEsIDI0NywgMTE2LCA5MSwgMjQ5LCAyMTYsIDkxLCAyNDksIDEwOSwgOTEsIDI0MywgMjIyLCA5MSwgMjQwLCAKLSAgICA5OCwgOTEsIDIyOSwgMTY4LCA5MSwgMjI5LCAxNjEsIDkxLCAyMjcsIDgwLCA5MSwgMjE5LCAyMjIsIDkxLCAxMTQsIDIsIAotICAgIDI0NCwgMjU0LCA3NywgOTEsIDIxNCwgMTAwLCAyMjMsIDI1MywgMjM1LCAyMzYsIDE2LCAxLCA2MSwgMjIzLCAyNTMsIDIzNSwgCi0gICAgMjM2LCAxNiwgMSwgMjUzLCA3NCwgMjIzLCAyNTMsIDIzNSwgMjM2LCAxNiwgMSwgMjUwLCAyNTIsIDIyMywgMjUzLCAyMzUsIAotICAgIDIzNiwgMTYsIDEsIDI0OSwgMywgMjIzLCAyNTMsIDIzNSwgMjM2LCAxNiwgMSwgNzQsIDIyMywgMjUzLCAyMzUsIDIzNiwgCi0gICAgMTYsIDEsIDI0NCwgMjMwLCAyMjMsIDI1MywgMjM1LCAyMzYsIDE2LCAxLCAyNDMsIDE3NywgMjIzLCAyNTMsIDIzNSwgMjM2LCAKLSAgICAxNiwgMSwgMjQyLCA0MSwgMjIzLCAyNTMsIDIzNSwgMjM2LCAxNiwgMSwgNzIsIDIyMywgMjUzLCAyMzUsIDIzNiwgMTYsIDEsIAotICAgIDIzNSwgMTQyLCAyMjMsIDI1MywgMjM1LCAyMzYsIDE2LCAxLCAyMzUsIDI3LCAyMjMsIDI1MywgMjM1LCAyMzYsIDE2LCAxLCAKLSAgICAxNTAsIDIyMywgMjUzLCAyMzUsIDIzNiwgMTYsIDEsIDE4MywgMjIzLCAyNTMsIDIzNSwgMjM2LCAxNiwgMSwgMjA0LCAyMjMsIAotICAgIDI1MywgMjM1LCAyMzYsIDE2LCAxLCA3NSwgMjIzLCAyNTMsIDIzNSwgMjM2LCAxNiwgMSwgMjI2LCAyMjksIDIyMywgMjUzLCAKLSAgICAyMzUsIDIzNiwgMTYsIDEsIDIyNCwgMjQwLCAyMjMsIDI1MywgMjM1LCAyMzYsIDE2LCAxLCAxNDksIDIyMywgMjUzLCAyMzUsIAotICAgIDIzNiwgMTYsIDEsIDE5NywgMjIzLCAyNTMsIDIzNSwgMjM2LCAxNiwgMSwgMjE4LCA5OSwgMjIzLCAyNTMsIDIzNSwgMjM2LCAKLSAgICAxNiwgMSwgNjksIDIyMywgMjUzLCAyMzUsIDIzNiwgMTYsIDEsIDIxNSwgNzksIDIyMywgMjUzLCAyMzUsIDIzNiwgMTYsIDEsIAotICAgIDIxNCwgODIsIDIyMywgMjUzLCAyMzUsIDIzNiwgMTYsIDEsIDIxMywgMTY2LCAyMjMsIDI1MywgMjM1LCAyMzYsIDE2LCAxLCAKLSAgICAyMTMsIDEwNSwgMjIzLCAyNTMsIDIzNSwgMjM2LCAxNiwgMSwgMjEyLCAxNTIsIDQxLCAxNDIsIDI0MSwgNDksIDkxLCA1NiwgCi0gICAgMjM0LCAyNywgOTEsIDU2LCAyMjIsIDIwMiwgOTEsIDksIDIxNSwgMTQ4LCAyMzgsIDQzLCA5MSwgOSwgMjE1LCAxNDgsIAotICAgIDIzOCwgNDcsIDkxLCA5LCAyMTUsIDE0OCwgMjM4LCA1NSwgOTEsIDU2LCAyNDgsIDQxLCA5MSwgOSwgMjE1LCAxNDgsIDIzOCwgCi0gICAgNjIsIDkxLCA5LCAyMTUsIDE0OCwgMjM4LCA0OSwgOTEsIDksIDIxNSwgMTQ4LCAyMzgsIDIxLCA5MSwgOSwgMjE1LCAxNDgsIAotICAgIDIzOCwgNDgsIDkxLCA5LCAyMTUsIDE0OCwgMjM4LCA2MSwgOTEsIDksIDIxNSwgMTQ4LCAyMzgsIDM1LCA5MSwgOSwgMjE1LCAKLSAgICAxNDgsIDIzOCwgMjgsIDkxLCA5LCAyMTUsIDE0OCwgMjM4LCAzNywgOTEsIDksIDIxNSwgMTQ4LCAyMzgsIDU4LCA5MSwgOSwgCi0gICAgMjE1LCAxNDgsIDIzOCwgNDQsIDkxLCA5LCAyMTUsIDE0OCwgMjM4LCA2MCwgOTEsIDksIDIxNSwgMTQ4LCAyMzgsIDM2LCAKLSAgICA5MSwgOSwgMjE1LCAxNDgsIDIzOCwgNTksIDkxLCA5LCAyMTUsIDE0OCwgMjM4LCAyMiwgOTEsIDksIDIxNSwgMTQ4LCAyMzgsIAotICAgIDI3LCA5MSwgOSwgMjE1LCAxNDgsIDIzOCwgMjAsIDkxLCA5LCAyMTUsIDE0OCwgMjM4LCA1MCwgOTEsIDksIDIxNSwgMTQ4LCAKLSAgICAyMzgsIDUyLCA5MSwgOSwgMjE1LCAxNDgsIDIzOCwgMzAsIDkxLCA5LCAyMTUsIDE0OCwgMjM4LCA0MSwgOTEsIDksIDIxNSwgCi0gICAgMTQ4LCAyMzgsIDM5LCA5MSwgOSwgMjE1LCAxNDgsIDIzOCwgNjUsIDkxLCA5LCAyMTUsIDE0OCwgMjM4LCA2NCwgOTEsIDksIAotICAgIDIxNSwgMTQ4LCAyMzgsIDE4LCA5MSwgOSwgMjE1LCAxNDgsIDIzOCwgNDUsIDkxLCA5LCAyMTUsIDE0OCwgMjM4LCA2MywgCi0gICAgOTEsIDksIDIxNSwgMTQ4LCAyMzgsIDU0LCA5MSwgOSwgMjE1LCAxNDgsIDIzOCwgNDAsIDkxLCA5LCAyMTUsIDE0OCwgMjM4LCAKLSAgICAxOSwgOTEsIDksIDIxNSwgMTQ4LCAyMzgsIDQyLCA5MSwgOSwgMjE1LCAxNDgsIDIzOCwgMjQsIDkxLCA5LCAyMTUsIDE0OCwgCi0gICAgMjM4LCAyMywgOTEsIDksIDIxNSwgMTQ4LCAyMzgsIDUzLCA5MSwgOSwgMjE1LCAxNDgsIDIzOCwgMzEsIDkxLCA5LCAyMTUsIAotICAgIDE0OCwgMjM4LCAzMywgOTEsIDksIDIxNSwgMTQ4LCAyMzgsIDM0LCA5MSwgOSwgMjE1LCAxNDgsIDIzOCwgMjYsIDkxLCA5LCAKLSAgICAyMTUsIDE0OCwgMjM4LCA1NywgOTEsIDksIDIxNSwgMTQ4LCAyMzgsIDUxLCAyMTYsIDIxOSwgMjIwLCAyMzMsIDI1MSwgODQsIAotICAgIDksIDIxNSwgMTQ4LCAyMzgsIDMyLCAyMTYsIDIxOSwgMjIwLCAyMzMsIDI1MSwgODQsIDksIDIxNSwgMTQ4LCAyMzgsIDY0LCAKLSAgICAyMTYsIDIxOSwgMjIwLCAyMzMsIDI1MSwgODQsIDksIDIxNSwgMTQ4LCAyMzgsIDYyLCAyMTYsIDIxOSwgMjIwLCAyMzMsIAotICAgIDI1MSwgODQsIDksIDIxNSwgMTQ4LCAyMzgsIDQ2LCAyMTYsIDIxOSwgMjIwLCAyMzMsIDI1MSwgODQsIDksIDIxNSwgMTQ4LCAKLSAgICAyMzgsIDI5LCAyMTYsIDIxOSwgMjIwLCAyMzMsIDI1MSwgODQsIDksIDIxNSwgMTQ4LCAyMzgsIDQyLCAyMTYsIDIxOSwgCi0gICAgMjIwLCAyMzMsIDI1MSwgODQsIDksIDIxNSwgMTQ4LCAyMzgsIDI1LCAyMTYsIDIxOSwgMjIwLCAyMzMsIDI1MSwgODQsIDksIAotICAgIDIxNSwgMTQ4LCAyMzgsIDU2LCAyMTYsIDIxOSwgMjIwLCAyMzMsIDI1MSwgODQsIDksIDIxNSwgMTQ4LCAyMzgsIDM4LCAzNiwgCi0gICAgMTQzLCAyNTQsIDE1MCwgMzYsIDE0MywgMjU0LCAxNzIsIDI0OSwgMTQsIDI0NCwgMTEsIDI0OSwgMTkzLCAyMTUsIDE2NCwgCi0gICAgMjI5LCA0NCwgMiwgMjE5LCA5MiwgMjE4LCAyMzMsIDExMCwgMjMwLCAxODQsIDIxOCwgMjMyLCAyNDksIDIxOSwgMjUzLCAKLSAgICAxMjMsIDI0NiwgOSwgMjE4LCAyMzEsIDExMCwgMjUxLCA0NywgMjI0LCA0OSwgMjUxLCA2OCwgMjUzLCAxMjMsIDIyOSwgNDMsIAotICAgIDIxNCwgMjUsIDIxNCwgMTksIDIxNCwgMTEyLCAyMzEsIDgsIDIxNCwgOSwgMjQ1LCAxODAsIDI0MiwgMTU3LCAyNDUsIDEyLCAKLSAgICAyNDUsIDE4MCwgMjQyLCAxNTcsIDI1NCwgMzcsIDI0NSwgMTgwLCAyNDIsIDE1NywgMjUzLCAxNDAsIDI0MiwgMTU3LCAyLCAKLSAgICAyMzEsIDExNSwgMTU2LCAyMzAsIDE5OSwgODcsIDIxNCwgMTEsIDI0OSwgNzcsIDIzMCwgMTk5LCA4NywgMjQ0LCA2MSwgCi0gICAgMjI0LCAxNjcsIDIzMCwgMTk5LCA4NywgMjE0LCAxMSwgMjQyLCAxODYsIDIzMCwgMTk5LCA4NywgMjQzLCAyMDAsIDIzMCwgCi0gICAgMTk5LCA4NywgMjE0LCAzNiwgMjQyLCAxODYsIDIzMCwgMTk5LCA4NywgMjMzLCAxMDMsIDIyNCwgMTY3LCAyMzAsIDE5OSwgCi0gICAgODcsIDIxNCwgMzYsIDI0OSwgNzcsIDIzMCwgMTk5LCA4NywgMjQ5LCA3NywgMjMwLCAxOTgsIDE1NiwgMjMwLCAxOTksIDIsIAotICAgIDI0NCwgMTU4LCAyNDQsIDYxLCAyMjQsIDE2NywgMjMwLCAxOTksIDIsIDI0NCwgMTU4LCAyMzMsIDEwMywgMjI0LCAxNjcsIAotICAgIDIzMCwgMTk5LCAyLCAyNDQsIDE1OCwgMjQzLCAyMDAsIDIzMCwgMTk5LCAyLCAyNDQsIDE1OCwgMjE4LCAyMzksIDIsIDI0NCwgCi0gICAgMTU4LCAyNDIsIDE1NSwgMjE5LCA5NSwgMjIwLCAxNzksIDIxOSwgOTUsIDI1MCwgNTMsIDIyMiwgODcsIDI0NSwgNiwgMjE2LCAKLSAgICAxOTMsIDI0OCwgMzUsIDIxNiwgMTkzLCAyMjYsIDE4NiwgMjE2LCAxOTMsIDI1MCwgMjEzLCAyMTYsIDczLCAyNTAsIDU1LCAKLSAgICAyNTEsIDEzMywgMjIzLCA5MywgMjQxLCAxNjQsIDIxOCwgMjM2LCAyNTEsIDEzMywgMjQ1LCAxODQsIDY1LCAyMzIsIDAsIAotICAgIDI0NSwgMTg0LCA2NSwgMjIzLCAxODQsIDI0MSwgMTg4LCAyNDMsIDIzNywgMjMzLCA3OCwgMjQ5LCAxODMsIDIzMSwgMjMzLCAKLSAgICAyMzMsIDc3LCAyNDQsIDE0NCwgMjMzLCA3NywgMjMzLCA3OCwgMjQ0LCAxNiwgMjM1LCAyNTIsIDIxMywgMjI0LCAyMzAsIAotICAgIDEyOCwgMjE2LCAyNDUsIDI1MywgMTA3LCAyNDIsIDExOSwgMjMxLCAxMzEsIDIxNCwgMjMsIDIxOCwgOCwgMjMzLCA1MCwgCi0gICAgMjUyLCA2OCwgMjI1LCAxOTQsIDIyNCwgNCwgMjUzLCAyMjMsIDI0MiwgMTA0LCAyNTMsIDIyMywgMjI2LCA5MiwgMjI2LCAKLSAgICA5MywgMjUwLCA1NiwgMjE5LCA1NCwgMjQyLCA2LCAyMjAsIDE4LCA2NSwgMjI1LCAxNzYsIDIzMSwgMTUyLCAyMjcsIDYzLCAKLSAgICAyNTEsIDExOSwgMjI1LCAxMDksIDIzMywgNjAsIDIyMywgMTg1LCAyNDksIDgyLCAyMjMsIDE4NSwgMjUyLCA3OCwgMjQ5LCAKLSAgICAxMTIsIDIyMywgMTg0LCAyNDksIDM2LCAyNCwgMjIzLCAxODQsIDIxOSwgODEsIDI1MSwgOTMsIDIxOSwgMjAyLCAyNTEsIAotICAgIDc4LCAyNDMsIDIyMSwgMjQzLCAyMTcsIDIyMywgMTA4LCAyMTgsIDE5MSwgMjI1LCAxMTEsIDI0OCwgMTIwLCAyMjcsIDEwMSwgCi0gICAgMjE4LCAyMDgsIDI0MywgMjE4LCAyMjAsIDE1NSwgMjQ0LCA2MCwgMjUwLCAyMDksIDIsIDIxOCwgMTg0LCAyNDcsIDI0MiwgCi0gICAgMjE5LCAyMzYsIDI0MCwgMTA1LCAyNDksIDgxLCAyMjAsIDI1MCwgMjQwLCAxMDQsIDI0MCwgMTA1LCAyNDksIDgxLCAyNDYsIAotICAgIDYyLCAyNDksIDExMSwgMjUwLCAyMSwgMTM0LCAyNTAsIDE4NiwgMjMyLCAxOTQsIDI0OSwgMzAsIDI0MSwgNDEsIDIyNSwgCi0gICAgMTEzLCAyMjAsIDE2NCwgMjUxLCAyMTMsIDI1MSwgODksIDIyNSwgMTE0LCA2NSwgMjQ0LCAyLCAyNDksIDExMCwgMjQzLCAKLSAgICAyNDksIDI0LCAyMzQsIDQxLCAyMTcsIDIyNywgMjEzLCAyMTYsIDI0MSwgMjUyLCAyMjIsIDE4MywgMjUxLCAxMDMsIDI0LCAKLSAgICAyNDksIDQzLCAyMTMsIDIyMiwgMjQyLCAxNjAsIDI0OSwgMTcyLCAyNDIsIDE2MCwgMjE2LCAxNTEsIDI0NiwgNDUsIDI1MSwgCi0gICAgMjM4LCAyMzAsIDE2MywgMjQ5LCAyMDAsIDI1MSwgMjM4LCAyMzAsIDE2MiwgMjUyLCAxMDQsIDI1MSwgMTAyLCAyMjMsIAotICAgIDE4NiwgMjEzLCAxODksIDIyNSwgNzUsIDI1MSwgMTU4LCAyNTAsIDIwOCwgMjM1LCAxMzYsIDI1MCwgMTQsIDIxNiwgMTkzLCAKLSAgICAyNDQsIDEzMCwgMjUwLCAxMywgMjQ0LCA2MywgMjQ0LCA2NCwgMjE5LCAyMDAsIDI1MiwgNzcsIDIyNiwgMTIyLCAyMjUsIAotICAgIDEyNCwgMjQ5LCAxNDMsIDI1MiwgNzgsIDIxOCwgMTAsIDIxNiwgMTkzLCAyNDksIDY4LCAyNDQsIDM2LCAyMjUsIDE5NSwgCi0gICAgMjQ4LCAzMiwgMjM1LCAxMzEsIDI0NywgODUsIDI1MCwgMTY0LCAyMTksIDUzLCAyMTMsIDIyNSwgMjUwLCAzNSwgMjMwLCAKLSAgICAxOTksIDIxNCwgMTQ0LCAyNTAsIDk2LCAyMjIsIDExNywgMjIyLCAxNDEsIDI0MiwgMTI0LCAyNTAsIDE4MywgMjUwLCAxNjUsIAotICAgIDI0MCwgMjMyLCAyNDQsIDk5LCAyMTMsIDI0MSwgMjIzLCAxMDIsIDI0OSwgMTczLCAyNDQsIDU1LCAyMjUsIDEzNiwgMjQsIAotICAgIDI0NCwgNTksIDIzMSwgNDAsIDIzMCwgMTc4LCAyNTAsIDE5OCwgMjQ5LCAyMzIsIDI0MSwgMjE2LCAyNTMsIDE1NiwgMjI2LCAKLSAgICAxODksIDIxNiwgMjI3LCAyNDEsIDIzNCwgMjQ5LCAyMjIsIDIxNywgMTk1LCAyMTcsIDY3LCAyNDksIDIxMywgMjUxLCAxMjUsIAotICAgIDIyNiwgNTIsIDI1MywgMTU1LCAyMTQsIDE1MCwgMjQzLCA4NiwgMjQ3LCAxNDksIDI0MSwgMTQyLCAyMjAsIDEyLCAyMzIsIAotICAgIDM5LCAyNTEsIDE2OCwgMjQzLCA4NywgMjQ3LCAxOTIsIDI1MSwgOTIsIDI0NCwgMjEsIDIyNSwgMTY1LCAyNTAsIDE3MywgCi0gICAgMjcsIDIyOCwgMTU4LCAyMzAsIDE1NSwgMjcsIDIyOCwgMTUzLCAyMjIsIDEzMCwgMjQyLCA4MCwgMjcsIDIzNCwgMTQzLCAKLSAgICAyMTYsIDE0OCwgMjE0LCAxMzUsIDI3LCAyMjIsIDExMSwgMjIzLCAzNSwgMjIwLCAxOTEsIDIsIDIyMiwgMTQzLCAyMTcsIAotICAgIDE5NywgMjI0LCA2OCwgMjQsIDI1MiwgNzgsIDIyMCwgMzMsIDI0LCAyMjAsIDMzLCAyNTEsIDExMiwgMjUyLCA0MywgMjQsIAotICAgIDI0MSwgMzYsIDI1MCwgNTcsIDI0NCwgNDIsIDIxOSwgMjQ3LCAyMjMsIDM2LCAyMTgsIDIxMiwgMjE2LCAxNTIsIDI0MCwgCi0gICAgMjMzLCAyMjQsIDY5LCAyNTQsIDM4LCAyNDQsIDAsIDIyMywgNDcsIDI0NCwgMCwgMjE4LCAxODYsIDI0MCwgMjIyLCAyNTEsIAotICAgIDQ4LCAyNDAsIDIyMiwgMiwgMjQzLCA3MCwgMjI3LCA5NSwgMjUxLCA0OCwgMjM1LCAxMzEsIDIyNSwgMTE5LCAyMjcsIDk0LCAKLSAgICAyNDUsIDExLCAyMjUsIDExOSwgMjI3LCA5NCwgMjQwLCAyMzEsIDI1MiwgNjQsIDI1MywgOTcsIDIxNywgMjA1LCAyMzIsIAotICAgIDM5LCAyNDAsIDIyNywgMjMyLCAxNjYsIDI0MCwgMjI3LCAyNDksIDExNSwgMjE5LCA2NSwgMjIyLCAxMTYsIDI0NywgMjUwLCAKLSAgICAyMTksIDY1LCAyNDQsIDE0OCwgMjM1LCAxNDcsIDIzMywgMTEzLCAyMzUsIDEzMSwgMjUwLCAxNTgsIDI0NSwgMTEsIDI1MCwgCi0gICAgMTU4LCAyMjQsIDMzLCAyMzAsIDE4MiwgMjI2LCAyMzgsIDIxNCwgMjUsIDI1MSwgNTIsIDI0OSwgODQsIDIxNywgNjAsIAotICAgIDIzMywgNDIsIDIyNCwgNzAsIDI1MCwgMTU2LCAyNDYsIDUwLCAyNDksIDc1LCAyMTMsIDI0NCwgMjE5LCAyNTQsIDIxOSwgCi0gICAgMjUyLCAyNDAsIDIzMiwgMjI0LCA0NSwgMjQyLCAxNDYsIDIyMCwgMjM3LCAyMzAsIDIxNSwgMjIzLCA5NiwgMjUwLCA0NSwgCi0gICAgMjQ3LCA5MCwgMjI1LCAyMDUsIDI1MSwgMTI2LCAyNDUsIDEyNiwgMjI3LCAxMDMsIDIxOSwgMTg0LCAyMjAsIDIzMiwgMjUxLCAKLSAgICA1MSwgMjU0LCAzLCAyNDEsIDQwLCAyMzMsIDE0NCwgMjUxLCAyMzYsIDI0NCwgNTksIDIxNiwgMTUxLCAyNDQsIDU5LCAyNTEsIAotICAgIDEzMiwgMjE2LCA1NSwgMjQxLCAyMzIsIDI1MCwgNDYsIDI1MiwgMTA0LCAyNTAsIDQ2LCAyNDMsIDIxMiwgMjUyLCAxMDQsIAotICAgIDI1MCwgNDYsIDI1MSwgMTYwLCAyMjYsIDcwLCAyMzQsIDM1LCAyMjUsIDEyOCwgMjQ2LCA0MiwgMjUwLCAxOTksIDI1MiwgCi0gICAgOTUsIDI1MCwgMTk5LCAyNDcsIDg0LCAyMzAsIDE4MywgMjQ0LCAxNTgsIDI0OSwgODUsIDI0NCwgMTU4LCAyMTcsIDYxLCAKLSAgICAyNDQsIDE1OCwgMjI0LCA3MSwgMjQ0LCAxNTgsIDI1MCwgMTU3LCAyNDQsIDE1OCwgMjQ2LCA1MSwgMjQ0LCAxNTgsIDIxOSwgCi0gICAgMTczLCAyMTMsIDI0NCwgMjQwLCAyMzMsIDI0NCwgMTU4LCAyMzAsIDIxNiwgMjQ0LCAxNTgsIDI0NywgOTEsIDI0NCwgMTU4LCAKLSAgICAyMjUsIDIwNiwgMjQ0LCAxNTgsIDI0MywgMjE1LCAyNDQsIDE1OCwgMjQyLCAzLCAyNDQsIDE1OCwgMjEzLCAyMTEsIDI0NCwgCi0gICAgMTU4LCAyNTEsIDI0NywgMjQ0LCAxNTgsIDIyNiwgMTcyLCAyNDQsIDE1OCwgMjI1LCAyMDYsIDIyOCwgMTY0LCAyMjYsIAotICAgIDEwNiwgMjI1LCA2NywgMjQ0LCAyMzcsIDI0NSwgMTgzLCAyMjgsIDE2NCwgMjMwLCAxODAsIDIxNiwgMjMyLCA2NywgMTE0LCAKLSAgICAyMjUsIDE0MSwgMjUyLCA5OSwgMjM1LCAyMzksIDY3LCAxMTksIDIyNSwgMTQxLCAyNTIsIDk5LCAyMzUsIDIzOSwgNjcsIAotICAgIDQyLCAyMjUsIDE0MSwgMjUyLCA5OSwgMjM1LCAyMzksIDY3LCA0NiwgMjI1LCAxNDEsIDI1MiwgOTksIDIzNSwgMjM5LCAKLSAgICAyNDQsIDUzLCAyNDEsIDI1NSwgNTIsIDIxNCwgMTcsIDI0MSwgMjU1LCA1MiwgMjI3LCA4MSwgMjQxLCAyNTUsIDUyLCAyMTcsIAotICAgIDg5LCAxMTQsIDUyLCAyMTcsIDg5LCAxMTksIDUyLCAyNDksIDIxMiwgMjQxLCAyNTAsIDUyLCAyMjcsIDQwLCAyNDEsIDI1MCwgCi0gICAgNTIsIDI0OSwgNjMsIDIxMywgMjA3LCAyNDEsIDIzNCwgMjQ0LCAyMzgsIDIyOSwgMTg1LCAyMTgsIDk4LCAyMzUsIDEyNiwgCi0gICAgMjQ2LCA0NywgMjM0LCA5MSwgMjUxLCAxNzAsIDIxMywgMjA3LCAyNDksIDE4NiwgMjI1LCAxNCwgMjQxLCAyNTMsIDIyNSwgCi0gICAgMTEwLCAyMzEsIDI0MCwgMjIwLCAxODQsIDI1MywgMTE5LCAyMjAsIDE4NCwgMjQxLCAxNTAsIDIyMCwgMTg0LCAyMTMsIAotICAgIDIwNywgMjIyLCAxNTYsIDIxMywgMjA3LCAyNTEsIDExMSwgMjQzLCAyNTQsIDI1MSwgMTksIDIzNSwgMjUyLCAyMjAsIDk1LCAKLSAgICAyNTEsIDE4LCAyMzUsIDI1MiwgMjIwLCA5NSwgMjUxLCA4OCwgMjQyLCAxNzAsIDIzMSwgMjQ4LCAyMTMsIDIwOCwgMjQ0LCAKLSAgICAxNDIsIDIzMSwgMjQ5LCAyNCwgMjEzLCAyMDksIDI0MSwgNDYsIDI0MSwgMjQ5LCAxMTcsIDIzMSwgMTIzLCAyNDEsIDQ2LCAKLSAgICAyNDEsIDI0OSwgMTE3LCAyMTMsIDIwNiwgMjQxLCA0NiwgMjQxLCAyNDksIDIyNSwgMTMzLCAyMjcsIDkzLCAyMTMsIDIwOSwgCi0gICAgMiwgMjUxLCAzNSwgMjQ1LCAxODEsIDI1MSwgNjksIDIsIDIxNCwgMjIzLCAyMjYsIDQ0LCAyLCAyNTEsIDEzNSwgMjQyLCAKLSAgICAxNiwgMjMxLCAyNDksIDIsIDI0MiwgODksIDIyNSwgMjQxLCAyMzEsIDIzNywgMjMxLCAyNDksIDIsIDIxNiwgNjEsIDIyNywgCi0gICAgNzQsIDIzMSwgMjQ4LCAyMjcsIDc0LCAyMTMsIDIwOCwgMjUyLCAxMDMsIDI0OSwgMTI5LCAyMTMsIDE5MiwgMjI1LCA3MCwgCi0gICAgMjM1LCAxMzEsIDIyNywgODksIDIzNSwgMTMxLCAyNDIsIDE0NSwgMjQyLCAxOTgsIDI1MiwgMTA0LCAyNTQsIDIyLCAyNDQsIAotICAgIDI0MiwgMjU0LCA2OSwgMjU0LCA3MCwgMjMwLCAyMDYsIDIzNiwgMSwgMjIwLCAyOCwgMjM1LCAyMjksIDI0NywgMjQxLCAKLSAgICAyMjYsIDQzLCAyNDIsIDg2LCAyNDgsIDEyNCwgMjMyLCAyMzAsIDIzMCwgMzAsIDIyNSwgMTMyLCAyNDQsIDE1OSwgMjMxLCAKLSAgICAyMDUsIDI0MiwgMTUsIDI1MiwgNTgsIDIyNSwgMTM1LCAyMTgsIDExNywgMjI1LCAxOTgsIDIzNCwgNzMsIDc3LCAyMzIsIAotICAgIDE2NiwgMjMzLCAzNCwgMjIzLCAxMzAsIDI0MywgMzAsIDIxOSwgNzEsIDIzNCwgNzIsIDI1MSwgOTcsIDI0OSwgODcsIDIsIAotICAgIDI0MSwgMjExLCAyMTQsIDMsIDI1MSwgMjQ1LCAyNDEsIDIxMSwgMjUxLCA2MywgMjQxLCAyMTEsIDExNywgMjQxLCAyMDksIAotICAgIDIxOSwgMTk4LCAyNDEsIDIxMSwgMjQyLCA5OCwgMjQxLCAyMTEsIDI0MSwgMjEyLCAyLCA2OCwgMjUxLCAxMzEsIDI0MSwgCi0gICAgMjExLCAyNDIsIDEwNCwgMjQxLCAyMTEsIDIxMywgMzMsIDI0MSwgMjExLCAyMjUsIDE1LCAyNDEsIDIxMSwgMjQxLCAyMTIsIAotICAgIDIsIDIyMywgMTg2LCAyMjMsIDE5NywgMjQxLCAyMDksIDI0MSwgMjEyLCAyNDgsIDMyLCAyNDcsIDIwMSwgMjIxLCA1LCAyLCAKLSAgICAxMTgsIDYyLCAyMzUsIDIxMiwgMjQ1LCAxMjksIDE3NywgMjUxLCA0NSwgMjU0LCAyMSwgODcsIDI1MSwgMTIwLCAyMjAsIAotICAgIDIwLCA4NywgMjQ5LCAxNjYsIDg3LCAyMTksIDE3OCwgMjE4LCAxOTMsIDg3LCAyNDYsIDQwLCAyNDgsIDEwMiwgODcsIDIyNSwgCi0gICAgMTk5LCA2NSwgMjI1LCAxMjksIDI0NCwgMzAsIDI1MSwgMTgxLCAyNDcsIDExNywgODcsIDIxOSwgMTkxLCAyNTIsIDc3LCAKLSAgICAyMTcsIDEwMiwgMjUyLCA3NywgNjcsIDI0NCwgMjAsIDI0MCwgMjAxLCAyMjUsIDEzOSwgODcsIDIzMCwgMjE5LCAyNTIsIAotICAgIDkwLCAyNDksIDM5LCAyNDQsIDI1NSwgMTA3LCAyNDcsIDg2LCA1MiwgMjQ5LCA3OSwgMjUwLCAxNzQsIDI1MiwgNjMsIDIsIAotICAgIDIxMywgMzEsIDUyLCAyNTIsIDYzLCAyLCAyNDcsIDg2LCA1MiwgMjUyLCA2MywgMiwgMjQ1LCAxNCwgNTIsIDI1MiwgNjMsIAotICAgIDIsIDIyNSwgMTA4LCA1MiwgMjMwLCAyMTksIDIsIDIxMywgMjIwLCAyNTAsIDc0LCAyLCAyMTUsIDEyNCwgMjE2LCAxODksIAotICAgIDI0LCAyMTMsIDMxLCA1MiwgMjIyLCA5NywgMjI2LCA0MiwgMjQ5LCAxNDcsIDI1MSwgNjcsIDIzMCwgMjU1LCAyNDQsIDI1LCAKLSAgICAyNDcsIDEzNywgMjI3LCAyNywgMjQ3LCAxNDIsIDI0NiwgNCwgMjQ0LCA3NiwgMjQ0LCA5LCAyMjcsIDQwLCAyNDQsIDc2LCAKLSAgICAyNDQsIDksIDIyNiwgMjAxLCAyLCAyNDksIDQxLCAyMjYsIDIwMSwgMjQ0LCAxNTEsIDIxNSwgMTM0LCAyNTAsIDIwNCwgCi0gICAgMjE3LCAyMjYsIDI1MCwgMjA0LCAyNTAsIDE3NSwgMjM1LCAyMzksIDI1MCwgNzQsIDIsIDIxNSwgMTI0LCAyMTYsIDE4OCwgCi0gICAgMjUwLCA3NCwgMiwgMjQ2LCA1OCwgMjE2LCAxODgsIDI1MiwgNjAsIDI1MCwgNzMsIDI0OSwgMTk5LCAyMjUsIDEwLCAyMjMsIAotICAgIDg3LCAyMjUsIDEwLCAyMjYsIDE0NywgMjE5LCA2MSwgMjIzLCA0MiwgMjE2LCAxODAsIDIyMywgNDIsIDI1MSwgMTE2LCAKLSAgICAyMTgsIDM5LCAyMzMsIDc1LCAyMjgsIDE1NiwgMjI4LCAxNTcsIDIsIDI0OCwgMzEsIDI0OSwgODYsIDI0OSwgMTkzLCAyNTEsIAotICAgIDExNywgMjI3LCA0MCwgMjUxLCAxMTcsIDI0MiwgMTA0LCAyNTEsIDExNywgMjUxLCAxMzEsIDI1MSwgMTE3LCAyMjcsIDIzLCAKLSAgICAyNTEsIDExNywgMjUxLCAxMTQsIDIzMCwgMjUsIDI1MiwgOTMsIDIyMiwgMTA1LCAyMzEsIDEyNCwgMjE3LCAyMTAsIDIyNCwgCi0gICAgMTYsIDIyNiwgMTk5LCAyNDQsIDEyNywgMjMyLCAzOSwgMjIyLCAxNDAsIDI1NCwgMCwgMjI1LCAzMSwgMjU0LCAxNTcsIAotICAgIDIzMiwgMTY4LCAyNTAsIDYzLCAyMzEsIDEzNiwgMjI2LCAyNTMsIDIxNiwgMTk2LCAyMzUsIDI0OCwgMjE2LCAxOTYsIDIyNiwgCi0gICAgMjA2LCAyNDUsIDIzNiwgODcsIDIzNSwgMjQ1LCAyNDUsIDc4LCAyNDUsIDc5LCAyLCAyNDYsIDU4LCA3NiwgNDksIDI0OSwgCi0gICAgMTkzLCAyMzIsIDYsIDIsIDIzMiwgMTYyLCAyNDQsIDQyLCAyNDksIDE5MywgMjMyLCA2LCAyLCAyMjQsIDQ4LCAyNDQsIDQyLCAKLSAgICAyMjcsIDQwLCAyMzIsIDYsIDIsIDIyNCwgNDgsIDI0NCwgNDIsIDIyNywgNDAsIDIzMiwgNiwgMiwgMjMyLCAxNjIsIDI0NCwgCi0gICAgNDIsIDIyNSwgMTE2LCAyMjUsIDExNywgMjQwLCAyMzUsIDIyOSwgMTY2LCAyMzAsIDIyOSwgMjI1LCAyNDksIDIzMCwgMjI5LCAKLSAgICAyMjUsIDI1MCwgMiwgOTUsIDc2LCAyNTMsIDEyMywgMjMzLCA3MCwgMjE0LCAxNTMsIDIzMCwgMjI4LCAyMzAsIDIyOSwgCi0gICAgMjI1LCAyNTAsIDIyNywgOTYsIDIyOCwgMTg2LCAyMzAsIDIyOSwgMjI1LCAyNDgsIDI1NCwgMSwgMiwgMjUyLCA0OSwgMjUwLCAKLSAgICAxOTgsIDIxNCwgMTUwLCAyNTAsIDE5OCwgMjE3LCAyMDcsIDIyNCwgNjMsIDIxNCwgMTQ5LCAyMTYsIDI1LCA5NSwgMjUzLCAKLSAgICAxNjIsIDI0OSwgMTk1LCA5NSwgMjQsIDEzMiwgMjI3LCA0MCwgMjQ5LCAyMjksIDI1MywgMTYyLCAyNDksIDE5NSwgOTUsIAotICAgIDI0LCAxMzIsIDIyNywgNDAsIDI0OSwgMjI5LCAyNTMsIDE2MywgMiwgMzYsIDEyMiwgMjI2LCAyNDQsIDI0OSwgMTk1LCAKLSAgICAyNDYsIDU4LCAyNCwgMjE1LCAxMjQsIDIyNywgNDAsIDI0OSwgMjI5LCAyNTMsIDE2MiwgMjUzLCAyNTUsIDI0NiwgNTgsIAotICAgIDI0LCAyMTUsIDEyNCwgMjI3LCA0MCwgMjQ5LCAyMjksIDI1MywgMTYyLCAxMTUsIDI1MSwgNjYsIDg3LCAxMjQsIDI1MSwgCi0gICAgNjYsIDg3LCAyMTksIDE5NSwgMiwgMjUwLCAxOTIsIDkwLCAyMTksIDE5NCwgMjE5LCAxOTUsIDIsIDEyMiwgMjE5LCAyMTgsIAotICAgIDIxNCwgMTksIDIxOSwgMTk1LCAyLCAxMzMsIDIxOSwgMjE4LCAyMTQsIDE4LCAyNTIsIDM1LCAyNDUsIDEyOSwgMjI1LCAKLSAgICAxNjEsIDIzMywgNjYsIDIzMiwgMTYsIDI0MiwgMTYwLCAyMjMsIDE0NCwgMjMyLCAxNiwgMjQyLCAxNjAsIDIzMiwgMjA0LCAKLSAgICAyLCAyMzUsIDIyMiwgMjI2LCA3NCwgMjQ5LCAxOTMsIDIzMiwgMjA0LCAyLCAyMzQsIDE0NCwgMjM0LCAxNDQsIDIzMiwgCi0gICAgMjAzLCAyMjcsIDQwLCAyMzIsIDIwMywgMjUxLCAyMjEsIDI1MSwgMjIyLCAyLCAyNTAsIDE5MiwgOTAsIDI1MSwgMTE1LCAKLSAgICAyMzIsIDIzMywgODcsIDIyNCwgNjQsIDI1MSwgMTUsIDI1MiwgMTAyLCAyLCAxMzIsIDc2LCA0OSwgMjQ1LCAxMDEsIDIsIAotICAgIDEzMiwgNzYsIDQ5LCAyMjcsIDYzLCAyLCAyNDQsIDI1NCwgMTUyLCAyLCA0MiwgNDYsIDc2LCA0OSwgMjE5LCAyMjUsIDIsIAotICAgIDk1LCA3NiwgNDksIDIxNiwgMjI3LCAyLCAyMTUsIDEyNCwgNzYsIDQ5LCAyMjgsIDE4NiwgMTIyLCAyMTUsIDE1NCwgMjQ1LCAKLSAgICAxNDgsIDg3LCAyMzQsIDE0MiwgMjE3LCAyMDAsIDIzNSwgMjE2LCAxNiwgMzEsIDcsIDYsIDIzMywgMzMsIDIzNSwgMjE2LCAKLSAgICAxNiwgMzEsIDcsIDMsIDIzMywgMzMsIDIzNSwgMjE2LCAxNiwgMzEsIDIyOCwgNTUsIDIzNSwgMjE2LCAxNiwgMzEsIDIxOCwgCi0gICAgMTI4LCAyMzUsIDIxNiwgMTYsIDMxLCA3LCAyMzMsIDMzLCAyNDQsIDY1LCAyNDUsIDEyOSwgMjE2LCAyMjIsIDIxMywgMTg3LCAKLSAgICAyNDIsIDQsIDIyOCwgMzgsIDI0LCAyNTEsIDEyMSwgMjQxLCA1MiwgMjI1LCAxODIsIDIzMSwgMzksIDIxNywgMjA4LCAyNDksIAotICAgIDU0LCAyNTIsIDc4LCAyMjAsIDUzLCAyMjUsIDE0MywgMjE5LCA5NiwgMiwgMjMxLCAzNywgMjQ3LCA3NCwgMjM1LCAxMzEsIAotICAgIDE2LCAzMSwgMjUxLCAyMzMsIDIxNiwgMTc4LCAyNDUsIDExNCwgODMsIDQxLCAyNTEsIDE1LCA2NywgNDEsIDI1MSwgMTUsIAotICAgIDIzMywgMTA4LCAyMjQsIDQsIDI0OSwgMjI4LCAyMzMsIDEwOCwgMjUxLCAxMzEsIDI0OSwgMjI4LCAyMzMsIDEwOCwgMjI3LCAKLSAgICAyMywgMjQ3LCAyMDAsIDIzMywgMTA4LCAyNTEsIDEzMSwgMjQ3LCAyMDAsIDMsIDIyNywgMjMsIDI0NywgMjAwLCAzLCAyNTEsIAotICAgIDEzMSwgMjQ3LCAyMDAsIDIxNSwgMTMzLCAyMjQsIDQsIDIxNiwgMTgzLCAyNDYsIDU5LCAyMjQsIDQsIDIxNiwgMTgzLCAKLSAgICAyMTUsIDEzMywgMywgMjI0LCA0LCAyMTYsIDE4MywgMjQ2LCA1OSwgMywgMjI0LCA0LCAyMTYsIDE4MywgMjQ5LCAxOTcsIAotICAgIDI0NCwgMTU5LCAxMjIsIDIyNywgMTA2LCAyNDksIDE5NywgMjQ0LCAxNTksIDExNywgMjI3LCAxMDYsIDI0OSwgMTk3LCAKLSAgICAyNDQsIDE1OSwgMTMzLCAyMjcsIDEwNiwgMjQ5LCAxOTcsIDI0NCwgMTU5LCAyNDMsIDIzNywgMjI3LCAxMDYsIDI0OSwgCi0gICAgMTk3LCAyNDQsIDE1OSwgMjQ0LCA1MCwgMjI3LCAxMDYsIDI0OSwgMTk3LCAyNDQsIDE1OSwgMjIwLCA1MywgMjI3LCAxMDYsIAotICAgIDI0OSwgMTk3LCAyNDQsIDE1OSwgMjIxLCA0MywgMjI3LCAxMDYsIDI0OSwgMTk3LCAyNDQsIDE1OSwgMjQ1LCAxNTAsIDIyNywgCi0gICAgMTA2LCAyNDksIDE5NywgMjQ0LCAxNTksIDIyOSwgMzEsIDIyNywgMTA2LCAyNDksIDE5NywgMjQ0LCAxNTksIDIxNywgMjAxLCAKLSAgICAyMjcsIDEwNiwgMjQ5LCAxOTcsIDI0NCwgMTU5LCAyNDUsIDEyNSwgMjI3LCAxMDYsIDI0OSwgMTk3LCAyNDQsIDE1OSwgCi0gICAgMjE2LCA0MiwgMjI3LCAxMDYsIDI0OSwgMTk3LCAyNDQsIDE1OSwgMjI3LCA1OCwgMjQ5LCAxOTcsIDI0NCwgMTU5LCAyMTYsIAotICAgIDIyLCAyNDksIDE5NywgMjQ0LCAxNTksIDIxNywgOTQsIDI0OSwgMTk3LCAyNDQsIDE1OSwgMjQzLCAyMzMsIDI0OSwgMTk3LCAKLSAgICAyNDQsIDE1OSwgMjQ0LCA0OCwgMjQ5LCAxOTcsIDI0NCwgMTU5LCAyMjAsIDQ5LCAyNDksIDE5NywgMjQ0LCAxNTksIDIyMSwgCi0gICAgNDIsIDI0OSwgMTk3LCAyNDQsIDE1OSwgMjQ1LCAxNDksIDI0OSwgMTk3LCAyNDQsIDE1OSwgMjI5LCAzMCwgMjQ5LCAxOTcsIAotICAgIDI0NCwgMTU5LCAyMTcsIDE5OSwgMjQ5LCAxOTcsIDI0NCwgMTU5LCAyNDUsIDEyMywgMjQ5LCAxOTcsIDI0NCwgMTU5LCAKLSAgICAyMTYsIDQwLCAyMzAsIDE4NywgMjQzLCAyMDEsIDIxNiwgMjQ3LCAyMTYsIDIxNSwgMjE5LCA4OCwgNjUsIDIzMywgMTEsIAotICAgIDIyMCwgOTYsIDY1LCAyMzUsIDEzMiwgMjMwLCAxNzYsIDI0MiwgMTAyLCAyNDQsIDE1OSwgMiwgMjIwLCAyLCAyNDQsIDIzNywgCi0gICAgMjQ0LCAxNTksIDIsIDIxNywgMjIyLCA2NSwgMjM1LCA1NiwgMjIwLCAyLCAyNDQsIDE1OSwgMiwgMjI3LCA0MCwgMjMwLCAKLSAgICAxODAsIDIyMCwgMiwgMjQ0LCAxNTksIDIsIDIyNywgNDAsIDIzMCwgMTgxLCAyNCwgMjIwLCAyLCAyNDQsIDIzNywgMjIwLCAKLSAgICAyLCAyNDQsIDE1OSwgMiwgMjI3LCA0MCwgMjMwLCAxODEsIDI0LCAyNDksIDE2OCwgMjE4LCAxOTIsIDIyMCwgMiwgMjQ0LCAKLSAgICAxNTksIDIsIDIyNywgNDAsIDIzMCwgMTgxLCAyNCwgMjE3LCA1OCwgMjQ0LCAyMzcsIDIyMCwgMiwgMjQ0LCAxNTksIDIsIAotICAgIDI0MiwgOCwgMjIwLCAyLCAyNDQsIDE1OSwgMiwgMjQwLCAyMzQsIDIxMywgMjE4LCAyNDQsIDE1OCwgMjIwLCAyLCAyNDQsIAotICAgIDE1OSwgMiwgMjIwLCAyLCAyNDQsIDIzNywgMjQ0LCAxNTksIDIyMiwgMTM1LCAyNDgsIDEzLCAyNDQsIDIsIDIyMywgMjM4LCAKLSAgICAyNDQsIDE1OCwgMjIwLCAyLCAyNDQsIDE1OSwgMiwgMjQxLCAyMTAsIDI0NCwgMjM3LCAyMjAsIDIsIDI0NCwgMTU5LCAyLCAKLSAgICAyMTgsIDIzNCwgMjIwLCAxLCAyNDQsIDE1OCwgMjI5LCAxNjksIDI0NCwgMTU4LCAyMTUsIDE1OCwgMjQ0LCAxNTgsIDI0NCwgCi0gICAgMTU5LCAyLCAyNDksIDE2OCwgMjE4LCAxOTIsIDIyNiwgNjcsIDI0NCwgMTU4LCAyNDksIDE0MSwgMjQ0LCAxNTgsIDI0NCwgCi0gICAgMTU5LCAyMTcsIDkxLCAxMTgsIDIzNCwgNzIsIDIzNCwgNzEsIDI0NCwgMTU5LCAyLCAyNDksIDE5MywgMjQ0LCAyMzcsIAotICAgIDI0NCwgMTU5LCAyLCAyMTksIDMxLCAyMTYsIDIzMywgMjQsIDIxMywgMjE4LCAyNDQsIDIzOSwgMjQ0LCAxNTksIDIsIDIxOSwgCi0gICAgMzEsIDIxNiwgMjMzLCAyNCwgMjE3LCA1OCwgMjQ0LCAyMzcsIDI0NywgMTQ0LCAyNDQsIDE1OCwgMjU0LCAxNywgMjQ0LCAKLSAgICAxNTgsIDIyNSwgMTA3LCAyNDQsIDE1OCwgMjQ5LCA1NiwgMjQ0LCAxNTgsIDIyNiwgNDYsIDI0NCwgMTU4LCAyNDQsIDE1OSwgCi0gICAgMiwgMjMyLCAxNzksIDY1LCAyMTYsIDE2MiwgMjQ3LCAxNDQsIDI1MSwgMTcsIDIyMywgMjM4LCAyNDQsIDE1OCwgMjQ0LCAKLSAgICAxMjEsIDI0NCwgMTU4LCAyMTQsIDQsIDI0NCwgMTU4LCAyMjAsIDE5LCAyNDQsIDE1OCwgMjE3LCAyNCwgMjQ0LCAxNTgsIAotICAgIDIzMiwgMTY5LCAyNDksIDU2LCAyNDQsIDE1OCwgMjQ0LCAxNTksIDIsIDIyNywgNDAsIDIzMCwgMTgxLCAyNCwgMjQ5LCAKLSAgICAxNjgsIDIxOCwgMTkyLCAyNDQsIDE1OSwgMjIyLCAxMDksIDIzNSwgMjUyLCAyNDQsIDEyMiwgMjUzLCAxMjksIDI0NCwgCi0gICAgMTU4LCAyNDQsIDE4LCAyNDQsIDE1OCwgMjQ3LCAxMTcsIDI0NCwgMTU4LCAyNDQsIDE1OSwgMjEzLCAyMTYsIDIzMCwgMTgwLCAKLSAgICAyNDQsIDE1OSwgMiwgMjMxLCAxNDksIDIzMSwgMjA3LCAyNDIsIDEwMiwgMjUwLCAxNTcsIDI0NCwgMTU5LCAyLCAyMjAsIDIsIAotICAgIDI0NCwgMjM3LCAyNTAsIDE1NywgMjQ0LCAxNTksIDIsIDIxNywgMjIyLCA2NSwgMjM1LCA1NiwgMjIwLCAyLCAyNTAsIDE1NywgCi0gICAgMjQ0LCAxNTksIDIsIDIyNywgNDAsIDIzMCwgMTgwLCAyMjAsIDIsIDI1MCwgMTU3LCAyNDQsIDE1OSwgMiwgMjQxLCAyMTAsIAotICAgIDI0NCwgMjM3LCAyNTAsIDE1NywgMjQ0LCAxNTksIDIsIDIxMywgMTg0LCAyMjAsIDMsIDIzNCwgNzEsIDI1MCwgMTU3LCAKLSAgICAyNDQsIDE1OSwgMiwgMjQ5LCAxOTMsIDI0NCwgMjM3LCAyMjUsIDEwNywgMjUwLCAxNTcsIDI0NCwgMTU4LCAyNDksIDU2LCAKLSAgICAyNTAsIDE1NywgMjQ0LCAxNTgsIDIxNCwgNCwgMjUwLCAxNTcsIDI0NCwgMTU4LCAyNDQsIDE1OSwgMiwgMjI4LCAxODYsIAotICAgIDI0MiwgMTM5LCAyNDMsIDEwLCAyNDQsIDE1OSwgMiwgMjI3LCA4MSwgMjQzLCAxMCwgMjI2LCA0NCwgMjUxLCA5NCwgMjQ4LCAKLSAgICAyNiwgMjIyLCA4OCwgMjMwLCAyMTUsIDI0MSwgMjEzLCAyMzAsIDIxNSwgMjE5LCAxOTYsIDIzMCwgMjE1LCAyNDEsIDI0NCwgCi0gICAgMjI2LCA0NCwgMjI0LCA0NywgMTIyLCAyNDEsIDI1NCwgMjI2LCA0NCwgMjI0LCA0NywgMjUxLCAxMDQsIDI0MSwgMjUwLCAKLSAgICAyMzUsIDI1MiwgMjUwLCAxMTMsIDIyNiwgNDQsIDI0MywgMjA4LCAyMjYsIDQ0LCAyLCAyMjUsIDEwNywgMjQ0LCAxNTgsIAotICAgIDIyNiwgNDQsIDIsIDI0NCwgMTAsIDI0MSwgMjQ5LCAyMjMsIDEwNCwgMjQxLCAxOTgsIDIxOSwgODMsIDIzMiwgMjAyLCAKLSAgICAyMjQsIDUzLCAyNTAsIDE3NiwgMjQxLCAxNDgsIDIxNiwgMjA1LCAyNDEsIDE0OCwgMjE2LCAyMDYsIDIsIDI1MSwgNDMsIAotICAgIDIyOCwgMTY0LCAyMTYsIDIwNSwgMjMxLCA5OSwgMTc3LCAyMjQsIDU0LCAyMTksIDg5LCAyMTYsIDIwMywgMjE2LCAyMDQsIAotICAgIDI1MCwgMTc2LCAyNTEsIDIxLCAyMjcsIDYwLCAyNTEsIDIxLCAyMTYsIDE1OSwgMjUxLCAyMiwgMjE5LCA2OSwgMjMxLCAwLCAKLSAgICAyNTQsIDM5LCAyNDQsIDY2LCAyNDUsIDk1LCAyMjUsIDEzMywgMjUwLCAxNzYsIDIyNywgNjAsIDIyNSwgMTMzLCAyNTAsIAotICAgIDE3NiwgMjE3LCAyMzksIDIyNywgNjAsIDIxNywgMjM5LCAyNTMsIDk2LCAyMjcsIDYwLCAyNTMsIDk2LCAyMjQsIDExLCAKLSAgICAyMTQsIDIyNCwgMjQ4LCA5LCAyMTYsIDE1MCwgMjUzLCAxNTcsIDIzMiwgMTcyLCAyMTYsIDIxMSwgMjMwLCAyMDksIDIzMCwgCi0gICAgMTg2LCAyMjQsIDUyLCAyMTgsIDIwNywgMjI0LCA1MiwgMjMwLCAxODYsIDI1MCwgMjE0LCAyNTQsIDEzNCwgMjE2LCAyMDIsIAotICAgIDIyMCwgMTk2LCAyMjMsIDg0LCAyMTksIDE4OSwgMTk5LCAyMTYsIDIwOSwgMjMzLCAyLCA3MSwgMjE2LCAyMDksIDIzMywgMiwgCi0gICAgMjQ5LCAxMjksIDUyLCAyMjUsIDEzMywgMjUwLCAxNjEsIDIyMywgMTk3LCAyMzMsIDIsIDIxNiwgMTgwLCAyNDQsIDQzLCAKLSAgICAyMjcsIDYzLCAyMjUsIDExOCwgMjQ3LCA3NywgMjI4LCAxODYsIDI0NSwgODQsIDUyLCAyMjAsIDAsIDg3LCAyMjgsIDE4NiwgCi0gICAgMjIwLCAwLCA4NywgMjI1LCA5LCAyMzIsIDIyMiwgMjM1LCAyNTIsIDIzNSwgMTU1LCAyMjUsIDE3MywgODcsIDI0NywgMTAwLCAKLSAgICAyMjgsIDE2MywgMjMyLCAyMjIsIDg3LCAyMjUsIDExMiwgMjE0LCAyNSwgODcsIDIyOCwgMTc3LCAyMTQsIDI1LCA4NywgCi0gICAgMjUxLCAxODAsIDIyOCwgMTg2LCAyNTEsIDE3OSwgMjUxLCAxNzgsIDIzMCwgMTg2LCAyNTEsIDE3OCwgMjI2LCA4OCwgMjI4LCAKLSAgICAxODYsIDIyNiwgODcsIDI1MCwgMzcsIDI0OSwgNjQsIDIzMSwgMTIwLCA4NywgMjEzLCAyMDUsIDg3LCAyMjMsIDIxMSwgCi0gICAgMjUyLCAxMDQsIDg3LCAyMTYsIDI0OCwgMjE0LCAyNSwgMjQ5LCAxOTAsIDIyMCwgMTU4LCAyNTIsIDM4LCAyNTIsIDM2LCAKLSAgICAyMjYsIDExNSwgMjQ5LCAxMTYsIDI0OSwgMjgsIDI1MiwgODcsIDI0OSwgMjE1LCA0MiwgMjMyLCAxNDgsIDEwNCwgMTYsIAotICAgIDMxLCAyMjQsIDE0OCwgMTA0LCAxNiwgMzEsIDI1NCwgMTAwLCAxMDQsIDE2LCAzMSwgMjQ0LCA2NSwgMTA0LCAxNiwgMzEsIAotICAgIDI0NSwgMTc5LCAxMDQsIDE2LCAzMSwgMjE0LCAyNCwgMTA0LCAxNiwgMzEsIDI1MywgMjEzLCAxMDQsIDE2LCAzMSwgMjUzLCAKLSAgICAyMTQsIDIyMywgMjU1LCAxMDQsIDE2LCAzMSwgMjUzLCAyMTQsIDIyMywgMjU0LCAxMDQsIDE2LCAzMSwgMjUzLCAyMTQsIAotICAgIDIxNCwgMTI0LCAxMDQsIDE2LCAzMSwgMjUzLCAyMTQsIDIxNCwgMTIzLCAxMDQsIDE2LCAzMSwgMjE0LCAxMzgsIDEwNCwgCi0gICAgMTYsIDMxLCAyMTQsIDEzNywgMTA0LCAxNiwgMzEsIDIxNCwgMTM2LCAxMDQsIDE2LCAzMSwgMjE4LCAyNDUsIDEwNCwgMTYsIAotICAgIDMxLCAyMjYsIDEsIDIxOCwgMjQ1LCAxMDQsIDE2LCAzMSwgODMsIDIxOCwgMjQ1LCAxMDQsIDE2LCAzMSwgMjMxLCAxMTksIAotICAgIDIxOSwgMTYsIDEwNCwgMTYsIDMxLCAyMzEsIDExOSwgMjE5LCAxNSwgMTA0LCAxNiwgMzEsIDIzMSwgMTE5LCAyMTksIDE0LCAKLSAgICAxMDQsIDE2LCAzMSwgMjQ5LCAyMzEsIDEwNCwgMTYsIDMxLCAyMjIsIDE3MiwgMTA0LCAxNiwgMzEsIDIyOSwgMTksIDEwNCwgCi0gICAgMTYsIDMxLCAyMTQsIDEyMiwgMTA0LCAxNiwgMzEsIDIxNCwgMTIxLCAxMDQsIDE2LCAzMSwgMjIzLCAxMDUsIDIyMiwgMTcyLCAKLSAgICAxMDQsIDE2LCAzMSwgMjIzLCAxMDUsIDIyMiwgMTcxLCAxMDQsIDE2LCAzMSwgMjQyLCAxNDIsIDEwNCwgMTYsIDMxLCAyMjAsIAotICAgIDkyLCAxMDQsIDE2LCAzMSwgMjM1LCAxNzUsIDIyNywgMjAsIDEwNCwgMTYsIDMxLCAyMzUsIDE3NSwgMjI3LCAxOSwgMTA0LCAKLSAgICAxNiwgMzEsIDI0OSwgNzQsIDY1LCAyMzUsIDE3NCwgMTA0LCAxNiwgMzEsIDIyMywgMjUxLCA2NSwgMjM1LCAxNzQsIDEwNCwgCi0gICAgMTYsIDMxLCAyNDksIDEwNywgMjI3LCAyMCwgMTA0LCAxNiwgMzEsIDIzNSwgMTczLCAyMjcsIDIwLCAxMDQsIDE2LCAzMSwgCi0gICAgMjE5LCAxNywgNjUsIDI0OSwgMTA2LCAxMDQsIDE2LCAzMSwgMjQ5LCA3NCwgNjUsIDI0OSwgMTA2LCAxMDQsIDE2LCAzMSwgCi0gICAgMjQ5LCA3NCwgNjUsIDI0OSwgMTA1LCAxMDQsIDE2LCAzMSwgMjQ5LCAxMDcsIDI1MywgMjUwLCAxMDQsIDE2LCAzMSwgMjIyLCAKLSAgICAxNzMsIDY1LCAyNDksIDEwNywgMjUzLCAyNTAsIDEwNCwgMTYsIDMxLCAyMTksIDE3LCA2NSwgMjIyLCAxNzMsIDY1LCAyNDksIAotICAgIDEwNiwgMTA0LCAxNiwgMzEsIDIxNCwgMjIwLCAxMDQsIDE2LCAzMSwgMjE3LCAzNywgMjI3LCAyMCwgMTA0LCAxNiwgMzEsIAotICAgIDIzMywgODEsIDIyNywgMjAsIDEwNCwgMTYsIDMxLCAyNTMsIDI0OSwgMjI3LCAyMCwgMTA0LCAxNiwgMzEsIDIxOSwgMTcsIAotICAgIDY1LCAyNTMsIDI0OCwgMTA0LCAxNiwgMzEsIDIyMiwgMTczLCA2NSwgMjUzLCAyNDgsIDEwNCwgMTYsIDMxLCAyMTksIDE3LCAKLSAgICA2NSwgMjIyLCAxNzMsIDY1LCAyNTMsIDI0OCwgMTA0LCAxNiwgMzEsIDIxNCwgMTM5LCA2NSwgMjUzLCAyNDgsIDEwNCwgMTYsIAotICAgIDMxLCAyMjMsIDI1MSwgNjUsIDI1MywgMjQ4LCAxMDQsIDE2LCAzMSwgMjIzLCAyNTEsIDY1LCAyNTMsIDI0NywgMTA0LCAxNiwgCi0gICAgMzEsIDIyMywgMjUwLCAxMDQsIDE2LCAzMSwgMjIzLCAyNDksIDEwNCwgMTYsIDMxLCAyMjMsIDI0OCwgMTA0LCAxNiwgMzEsIAotICAgIDIyMywgMjQ3LCAxMDQsIDE2LCAzMSwgMjU0LCA2NiwgMTA0LCAxNiwgMzEsIDI1NCwgNjUsIDEwNCwgMTYsIDMxLCAyMzEsIAotICAgIDIyNiwgMTA0LCAxNiwgMzEsIDIyMiwgMTc4LCAxMDQsIDE2LCAzMSwgMjUzLCAxNjEsIDEwNCwgMTYsIDMxLCAyMjQsIDE4LCAKLSAgICAxMDQsIDE2LCAzMSwgMjI0LCAxNywgMTA0LCAxNiwgMzEsIDI1MywgOTksIDEwNCwgMTYsIDMxLCAyNTEsIDE1MiwgMjI3LCAKLSAgICAyMCwgMTA0LCAxNiwgMzEsIDIxOCwgMCwgMTA0LCAxNiwgMzEsIDIxNywgMjU1LCAxMDQsIDE2LCAzMSwgMjI0LCAxNTMsIAotICAgIDIzMiwgMjUxLCAxMDQsIDE2LCAzMSwgMjUxLCAxMDksIDEwNCwgMTYsIDMxLCAyNTEsIDEwOCwgMTA0LCAxNiwgMzEsIDI1MSwgCi0gICAgMTA3LCAxMDQsIDE2LCAzMSwgMjU0LCA0NywgMTA0LCAxNiwgMzEsIDIyNywgODQsIDEwNCwgMTYsIDMxLCAyMTksIDE4MCwgCi0gICAgMTA0LCAxNiwgMzEsIDIxNywgMzUsIDEwNCwgMTYsIDMxLCAyNDIsIDc3LCAxMDQsIDE2LCAzMSwgMjE0LCAxMiwgMTA0LCAKLSAgICAxNiwgMzEsIDIyNSwgMTA2LCAxMDQsIDE2LCAzMSwgMjUwLCAyMDIsIDEwNCwgMTYsIDMxLCAyMTYsIDUwLCAxMDQsIDE2LCAKLSAgICAzMSwgMjUwLCAxNzgsIDIzMCwgMTkyLCAxMDQsIDE2LCAzMSwgMjIyLCAxMjAsIDY1LCAyMzUsIDU4LCAxMDQsIDE2LCAzMSwgCi0gICAgMjUwLCAyMTEsIDEwNCwgMTYsIDMxLCAyMTYsIDE3NywgMTA0LCAxNiwgMzEsIDIxOSwgOTMsIDIxNiwgMTc3LCAxMDQsIDE2LCAKLSAgICAzMSwgMjMyLCAyMDEsIDEwNCwgMTYsIDMxLCAyMTksIDI0MCwgMTA0LCAxNiwgMzEsIDIxNSwgMTEzLCAxMDQsIDE2LCAzMSwgCi0gICAgMjQwLCAyMzMsIDI0NiwgMTksIDEwNCwgMTYsIDMxLCAyNTMsIDE0MiwgMTA0LCAxNiwgMzEsIDIyNSwgMTE0LCAyNTMsIAotICAgIDE0MiwgMTA0LCAxNiwgMzEsIDI1MSwgNzAsIDEwNCwgMTYsIDMxLCAyMjUsIDEwNSwgMjUxLCA3MCwgMTA0LCAxNiwgMzEsIAotICAgIDI1NCwgNDQsIDEwNCwgMTYsIDMxLCAyMTksIDU3LCAyMTgsIDIyNiwgMjE5LCA1NiwgMTA0LCAxNiwgMzEsIDIxOSwgNTcsIAotICAgIDIxOCwgMjI2LCAyMTksIDU1LCAxMDQsIDE2LCAzMSwgMjE5LCAxMywgMTA0LCAxNiwgMzEsIDIyNSwgODAsIDEwNCwgMTYsIAotICAgIDMxLCAyNDcsIDEzMywgMTA0LCAxNiwgMzEsIDI0NywgMTM1LCAxMDQsIDE2LCAzMSwgMjQ3LCAxMzQsIDEwNCwgMTYsIDMxLCAKLSAgICAyMjUsIDE3LCAxMDQsIDE2LCAzMSwgMjI1LCA3LCAxMDQsIDE2LCAzMSwgMjQ5LCA2MiwgMTA0LCAxNiwgMzEsIDI0OSwgNjEsIAotICAgIDEwNCwgMTYsIDMxLCAyNDksIDYwLCAxMDQsIDE2LCAzMSwgMjQ5LCA1OSwgMTA0LCAxNiwgMzEsIDI0OSwgNTgsIDEwNCwgCi0gICAgMTYsIDMxLCAyNTQsIDc3LCAxMDQsIDE2LCAzMSwgMjUyLCAzOSwgNjUsIDIzMSwgMjEyLCAxMDQsIDE2LCAzMSwgMjUyLCAKLSAgICAzOSwgNjUsIDIxNCwgMjQ5LCAxMDQsIDE2LCAzMSwgMjIzLCAyMDksIDEwNCwgMTYsIDMxLCAyNDAsIDIyNSwgMTA0LCAxNiwgCi0gICAgMzEsIDIyOSwgNDMsIDEwNCwgMTYsIDMxLCAyNDgsIDkxLCAxMDQsIDE2LCAzMSwgMjMwLCAyMDQsIDEwNCwgMTYsIDMxLCAKLSAgICAxNTEsIDI0NiwgNDksIDEwNCwgMTYsIDMxLCAxNTEsIDIyNywgMCwgOSwgMTMsIDI0MCwgOTUsIDksIDEzLCAyNDAsIDk0LCAKLSAgICA5LCAxMywgMjQwLCA5MywgOSwgMTMsIDI0MCwgOTIsIDksIDEzLCAyNDAsIDkxLCA5LCAxMywgMjQwLCA5MCwgOSwgMTMsIAotICAgIDI0MCwgODksIDksIDEzLCAyNDAsIDg4LCA5LCAxMywgMjQwLCA4NywgOSwgMTMsIDI0MCwgODYsIDksIDEzLCAyNDAsIDg1LCAKLSAgICA5LCAxMywgMjQwLCA4NCwgOSwgMTMsIDI0MCwgODMsIDksIDEzLCAyNDAsIDgyLCA5LCAxMywgMjQwLCA4MSwgOSwgMTMsIAotICAgIDI0MCwgODAsIDksIDEzLCAyNDAsIDc5LCA5LCAxMywgMjQwLCA3OCwgOSwgMTMsIDI0MCwgNzcsIDksIDEzLCAyNDAsIDc2LCAKLSAgICA5LCAxMywgMjQwLCA3NSwgOSwgMTMsIDI0MCwgNzQsIDksIDEzLCAyNDAsIDczLCA5LCAxMywgMjQwLCA3MiwgOSwgMTMsIAotICAgIDI0MCwgNzEsIDksIDEzLCAyNDAsIDcwLCA5LCAxMywgMjQwLCA2OSwgOSwgMTMsIDI0MCwgNjgsIDksIDEzLCAyNDAsIDY3LCAKLSAgICA5LCAxMywgMjQwLCA2NiwgOSwgMTMsIDI0MCwgNjUsIDksIDEzLCAyNDAsIDY0LCA5LCAxMywgMjQwLCA2MywgOSwgMTMsIAotICAgIDI0MCwgNjIsIDksIDEzLCAyNDAsIDYxLCA5LCAxMywgMjQwLCA2MCwgOSwgMTMsIDI0MCwgNTksIDksIDEzLCAyNDAsIDU4LCAKLSAgICA5LCAxMywgMjQwLCA1NywgOSwgMTMsIDI0MCwgNTYsIDksIDEzLCAyNDAsIDU1LCA5LCAxMywgMjQwLCA1NCwgOSwgMTMsIAotICAgIDI0MCwgNTMsIDksIDEzLCAyNDAsIDUyLCA5LCAxMywgMjQwLCA1MSwgOSwgMTMsIDI0MCwgNTAsIDksIDEzLCAyNDAsIDQ5LCAKLSAgICA5LCAxMywgMjQwLCA0OCwgOSwgMTMsIDI0MCwgNDcsIDksIDEzLCAyNDAsIDQ2LCA5LCAxMywgMjQwLCA0NSwgOSwgMTMsIAotICAgIDI0MCwgNDQsIDksIDEzLCAyNDAsIDQzLCA5LCAxMywgMjQwLCA0MiwgOSwgMTMsIDI0MCwgNDEsIDksIDEzLCAyNDAsIDQwLCAKLSAgICA5LCAxMywgMjQwLCAzOSwgOSwgMTMsIDI0MCwgMzgsIDksIDEzLCAyNDAsIDM3LCA5LCAxMywgMjQwLCAzNiwgOSwgMTMsIAotICAgIDI0MCwgMzUsIDksIDEzLCAyNDAsIDM0LCA5LCAxMywgMjQwLCAzMywgOSwgMTMsIDI0MCwgMzIsIDksIDEzLCAyNDAsIDMxLCAKLSAgICA5LCAxMywgMjQwLCAzMCwgOSwgMTMsIDI0MCwgMjksIDksIDEzLCAyNDAsIDI4LCA5LCAxMywgMjQwLCAyNywgOSwgMTMsIAotICAgIDI0MCwgMjYsIDksIDEzLCAyNDAsIDI1LCA5LCAxMywgMjQwLCAyNCwgOSwgMTMsIDI0MCwgMjMsIDksIDEzLCAyNDAsIDIyLCAKLSAgICA5LCAxMywgMjQwLCAyMSwgOSwgMTMsIDI0MCwgMjAsIDksIDEzLCAyNDAsIDE5LCA5LCAxMywgMjQwLCAxOCwgOSwgMTMsIAotICAgIDI0MCwgMTcsIDksIDEzLCAyNDAsIDE2LCA5LCAxMywgMjQwLCAxNSwgOSwgMTMsIDI0MCwgMTQsIDksIDEzLCAyNDAsIDEzLCAKLSAgICA5LCAxMywgMjQwLCAxMiwgOSwgMTMsIDI0MCwgMTEsIDksIDEzLCAyNDAsIDEwLCA5LCAxMywgMjQwLCA5LCA5LCAxMywgCi0gICAgMjQwLCA4LCA5LCAxMywgMjQwLCA3LCA5LCAxMywgMjQwLCA2LCA5LCAxMywgMjQwLCA1LCA5LCAxMywgMjQwLCA0LCA5LCAKLSAgICAxMywgMjQwLCAzLCA5LCAxMywgMjQwLCAyLCA5LCAxMywgMjQwLCAxLCA5LCAxMywgMjQwLCAwLCA5LCAxMywgMjM5LCAyNTUsIAotICAgIDksIDEzLCAyMzksIDI1NCwgOSwgMTMsIDIzOSwgMjUzLCA5LCAxMywgMjM5LCAyNTIsIDksIDEzLCAyMzksIDI1MSwgOSwgCi0gICAgMTMsIDIzOSwgMjUwLCA5LCAxMywgMjM5LCAyNDksIDksIDEzLCAyMzksIDI0OCwgOSwgMTMsIDIzOSwgMjQ3LCA5LCAxMywgCi0gICAgMjM5LCAyNDYsIDksIDEzLCAyMzksIDI0NSwgOSwgMTMsIDIzOSwgMjQ0LCA5LCAxMywgMjM5LCAyNDMsIDksIDEzLCAyMzksIAotICAgIDI0MiwgOSwgMTMsIDIzOSwgMjQxLCA5LCAxMywgMjM5LCAyNDAsIDksIDEzLCAyMzksIDIzOSwgOSwgMTMsIDIzOSwgMjM4LCAKLSAgICA5LCAxMywgMjM5LCAyMzcsIDksIDEzLCAyMzksIDIzNiwgOSwgMTMsIDIzOSwgMjM1LCA5LCAxMywgMjM5LCAyMzQsIDksIAotICAgIDEzLCAyMzksIDIzMywgOSwgMTMsIDIzOSwgMjMyLCA5LCAxMywgMjM5LCAyMzEsIDksIDEzLCAyMzksIDIzMCwgOSwgMTMsIAotICAgIDIzOSwgMjI5LCA5LCAxMywgMjM5LCAyMjgsIDksIDEzLCAyMzksIDIyNywgOSwgMTMsIDIzOSwgMjI2LCA5LCAxMywgMjM5LCAKLSAgICAyMjUsIDksIDEzLCAyMzksIDIyNCwgOSwgMTMsIDIzOSwgMjIzLCA5LCAxMywgMjM5LCAyMjIsIDksIDEzLCAyMzksIDIyMSwgCi0gICAgOSwgMTMsIDIzOSwgMjIwLCA5LCAxMywgMjM5LCAyMTksIDksIDEzLCAyMzksIDIxOCwgOSwgMTMsIDIzOSwgMjE3LCA5LCAKLSAgICAxMywgMjM5LCAyMTYsIDksIDEzLCAyMzksIDIxNSwgOSwgMTMsIDIzOSwgMjE0LCA5LCAxMywgMjM5LCAyMTMsIDksIDEzLCAKLSAgICAyMzksIDIxMiwgOSwgMTMsIDIzOSwgMjExLCA5LCAxMywgMjM5LCAyMTAsIDksIDEzLCAyMzksIDIwOSwgOSwgMTMsIDIzOSwgCi0gICAgMjA4LCA5LCAxMywgMjM5LCAyMDcsIDksIDEzLCAyMzksIDIwNiwgOSwgMTMsIDIzOSwgMjA1LCA5LCAxMywgMjM5LCAyMDQsIAotICAgIDksIDEzLCAyMzksIDIwMywgOSwgMTMsIDIzOSwgMjAyLCA5LCAxMywgMjM5LCAyMDEsIDksIDEzLCAyMzksIDIwMCwgOSwgCi0gICAgMTMsIDIzOSwgMTk5LCA5LCAxMywgMjM5LCAxOTgsIDksIDEzLCAyMzksIDE5NywgOSwgMTMsIDIzOSwgMTk2LCA5LCAxMywgCi0gICAgMjM5LCAxOTUsIDksIDEzLCAyMzksIDE5NCwgOSwgMTMsIDIzOSwgMTkzLCA5LCAxMywgMjM5LCAxOTIsIDksIDEzLCAyMzksIAotICAgIDE5MSwgOSwgMTMsIDIzOSwgMTkwLCA5LCAxMywgMjM5LCAxODksIDksIDEzLCAyMzksIDE4OCwgOSwgMTMsIDIzOSwgMTg3LCAKLSAgICA5LCAxMywgMjM5LCAxODYsIDksIDEzLCAyMzksIDE4NSwgOSwgMTMsIDIzOSwgMTg0LCA5LCAxMywgMjM5LCAxODMsIDksIAotICAgIDEzLCAyMzksIDE4MiwgOSwgMTMsIDIzOSwgMTgxLCA5LCAxMywgMjM5LCAxODAsIDksIDEzLCAyMzksIDE3OSwgOSwgMTMsIAotICAgIDIzOSwgMTc4LCA5LCAxMywgMjM5LCAxNzcsIDksIDEzLCAyMzksIDE3NiwgOSwgMTMsIDIzOSwgMTc1LCA5LCAxMywgMjM5LCAKLSAgICAxNzQsIDksIDEzLCAyMzksIDE3MywgOSwgMTMsIDIzOSwgMTcyLCA5LCAxMywgMjM5LCAxNzEsIDksIDEzLCAyMzksIDE3MCwgCi0gICAgOSwgMTMsIDIzOSwgMTY5LCA5LCAxMywgMjM5LCAxNjgsIDksIDEzLCAyMzksIDE2NywgOSwgMTMsIDIzOSwgMTY2LCA5LCAKLSAgICAxMywgMjM5LCAxNjUsIDksIDEzLCAyMzksIDE2NCwgOSwgMTMsIDIzOSwgMTYzLCA5LCAxMywgMjM5LCAxNjIsIDksIDEzLCAKLSAgICAyMzksIDE2MSwgOSwgMTMsIDIzOSwgMTYwLCA5LCAxMywgMjM5LCAxNTksIDksIDEzLCAyMzksIDE1OCwgOSwgMTMsIDIzOSwgCi0gICAgMTU3LCA5LCAxMywgMjM5LCAxNTYsIDksIDEzLCAyMzksIDE1NSwgOSwgMTMsIDIzOSwgMTU0LCA5LCAxMywgMjM5LCAxNTMsIAotICAgIDksIDEzLCAyMzksIDE1MiwgOSwgMTMsIDIzOSwgMTUxLCA5LCAxMywgMjM5LCAxNTAsIDksIDEzLCAyMzksIDE0OSwgOSwgCi0gICAgMTMsIDIzOSwgMTQ4LCA5LCAxMywgMjM5LCAxNDcsIDksIDEzLCAyMzksIDE0NiwgOSwgMTMsIDIzOSwgMTQ1LCA5LCAxMywgCi0gICAgMjM5LCAxNDQsIDksIDEzLCAyMzksIDE0MywgOSwgMTMsIDIzOSwgMTQyLCA5LCAxMywgMjM5LCAxNDEsIDksIDEzLCAyMzksIAotICAgIDE0MCwgOSwgMTMsIDIzOSwgMTM5LCA5LCAxMywgMjM5LCAxMzgsIDksIDEzLCAyMzksIDEzNywgOSwgMTMsIDIzOSwgMTM2LCAKLSAgICA5LCAxMywgMjM5LCAxMzUsIDksIDEzLCAyMzksIDEzNCwgOSwgMTMsIDIzOSwgMTMzLCA5LCAxMywgMjM5LCAxMzIsIDksIAotICAgIDEzLCAyMzksIDEzMSwgOSwgMTMsIDIzOSwgMTMwLCA5LCAxMywgMjM5LCAxMjksIDksIDEzLCAyMzksIDEyOCwgOSwgMTMsIAotICAgIDIzOSwgMTI3LCA5LCAxMywgMjM5LCAxMjYsIDksIDEzLCAyMzksIDEyNSwgOSwgMTMsIDIzOSwgMTI0LCA5LCAxMywgMjM5LCAKLSAgICAxMjMsIDksIDEzLCAyMzksIDEyMiwgOSwgMTMsIDIzOSwgMTIxLCA5LCAxMywgMjM5LCAxMjAsIDksIDEzLCAyMzksIDExOSwgCi0gICAgOSwgMTMsIDIzOSwgMTE4LCA5LCAxMywgMjM5LCAxMTcsIDksIDEzLCAyMzksIDExNiwgOSwgMTMsIDIzOSwgMTE1LCA5LCAKLSAgICAxMywgMjM5LCAxMTQsIDksIDEzLCAyMzksIDExMywgOSwgMTMsIDIzOSwgMTEyLCA5LCAxMywgMjM5LCAxMTEsIDksIDEzLCAKLSAgICAyMzksIDExMCwgOSwgMTMsIDIzOSwgMTA5LCA5LCAxMywgMjM5LCAxMDgsIDksIDEzLCAyMzksIDEwNywgOSwgMTMsIDIzOSwgCi0gICAgMTA2LCA5LCAxMywgMjM5LCAxMDUsIDksIDEzLCAyMzksIDEwNCwgOSwgMTMsIDIzOSwgMTAzLCA5LCAxMywgMjM5LCAxMDIsIAotICAgIDksIDEzLCAyMzksIDEwMSwgOSwgMTMsIDIzOSwgMTAwLCA5LCAxMywgMjM5LCA5OSwgOSwgMTMsIDIzOSwgOTgsIDksIDEzLCAKLSAgICAyMzksIDk3LCA5LCAxMywgMjM5LCA5NiwgOSwgMTMsIDIzOSwgOTUsIDksIDEzLCAyMzksIDk0LCA5LCAxMywgMjM5LCA5MywgCi0gICAgOSwgMTMsIDIzOSwgOTIsIDksIDEzLCAyMzksIDkxLCA5LCAxMywgMjM5LCA5MCwgOSwgMTMsIDIzOSwgODksIDksIDEzLCAKLSAgICAyMzksIDg4LCA5LCAxMywgMjM5LCA4NywgOSwgMTMsIDIzOSwgODYsIDksIDEzLCAyMzksIDg1LCA5LCAxMywgMjM5LCA4NCwgCi0gICAgOSwgMTMsIDIzOSwgODMsIDksIDEzLCAyMzksIDgyLCA5LCAxMywgMjM5LCA4MSwgOSwgMTMsIDIzOSwgODAsIDksIDEzLCAKLSAgICAyMzksIDc5LCA5LCAxMywgMjM5LCA3OCwgOSwgMTMsIDIzOSwgNzcsIDksIDEzLCAyMzksIDc2LCA5LCAxMywgMjM5LCA3NSwgCi0gICAgOSwgMTMsIDIzOSwgNzQsIDksIDEzLCAyMzksIDczLCA5LCAxMywgMjM5LCA3MiwgOSwgMTMsIDIzOSwgNzEsIDksIDEzLCAKLSAgICAyMzksIDcwLCA5LCAxMywgMjM5LCA2OSwgOSwgMTMsIDIzOSwgNjgsIDksIDEzLCAyMzksIDY3LCA5LCAxMywgMjM5LCA2NiwgCi0gICAgOSwgMTMsIDIzOSwgNjUsIDksIDEzLCAyMzksIDY0LCA5LCAxMywgMjM5LCA2MywgOSwgMTMsIDIzOSwgNjIsIDksIDEzLCAKLSAgICAyMzksIDYxLCA5LCAxMywgMjM5LCA2MCwgOSwgMTMsIDIzOSwgNTksIDksIDEzLCAyMzksIDU4LCA5LCAxMywgMjM5LCA1NywgCi0gICAgOSwgMTMsIDIzOSwgNTYsIDksIDEzLCAyMzksIDU1LCA5LCAxMywgMjM5LCA1NCwgOSwgMTMsIDIzOSwgNTMsIDksIDEzLCAKLSAgICAyMzksIDUyLCA5LCAxMywgMjM5LCA1MSwgOSwgMTMsIDIzOSwgNTAsIDksIDEzLCAyMzksIDQ5LCA5LCAxMywgMjM5LCA0OCwgCi0gICAgOSwgMTMsIDIzOSwgNDcsIDksIDEzLCAyMzksIDQ2LCA5LCAxMywgMjM5LCA0NSwgOSwgMTMsIDIzOSwgNDQsIDksIDEzLCAKLSAgICAyMzksIDQzLCA5LCAxMywgMjM5LCA0MiwgOSwgMTMsIDIzOSwgNDEsIDksIDEzLCAyMzksIDQwLCA5LCAxMywgMjM5LCAzOSwgCi0gICAgOSwgMTMsIDIzOSwgMzgsIDksIDEzLCAyMzksIDM3LCA5LCAxMywgMjM5LCAzNiwgOSwgMTMsIDIzOSwgMzUsIDksIDEzLCAKLSAgICAyMzksIDM0LCA5LCAxMywgMjM5LCAzMywgOSwgMTMsIDIzOSwgMzIsIDksIDEzLCAyMzksIDMxLCA5LCAxMywgMjM5LCAzMCwgCi0gICAgOSwgMTMsIDIzOSwgMjksIDksIDEzLCAyMzksIDI4LCA5LCAxMywgMjM5LCAyNywgOSwgMTMsIDIzOSwgMjYsIDksIDEzLCAKLSAgICAyMzksIDI1LCA5LCAxMywgMjM5LCAyNCwgOSwgMTMsIDIzOSwgMjMsIDksIDEzLCAyMzksIDIyLCA5LCAxMywgMjM5LCAyMSwgCi0gICAgOSwgMTMsIDIzOSwgMjAsIDksIDEzLCAyMzksIDE5LCA5LCAxMywgMjM5LCAxOCwgOSwgMTMsIDIzOSwgMTcsIDksIDEzLCAKLSAgICAyMzksIDE2LCA5LCAxMywgMjM5LCAxNSwgOSwgMTMsIDIzOSwgMTQsIDksIDEzLCAyMzksIDEzLCA5LCAxMywgMjM5LCAxMiwgCi0gICAgOSwgMTMsIDIzOSwgMTEsIDksIDEzLCAyMzksIDEwLCA5LCAxMywgMjM5LCA5LCA5LCAxMywgMjM5LCA4LCA5LCAxMywgMjM5LCAKLSAgICA3LCA5LCAxMywgMjM5LCA2LCA5LCAxMywgMjM5LCA1LCA5LCAxMywgMjM5LCA0LCA5LCAxMywgMjM5LCAzLCA5LCAxMywgCi0gICAgMjM5LCAyLCA5LCAxMywgMjM5LCAxLCA5LCAxMywgMjM5LCAwLCA5LCAxMywgMjM4LCAyNTUsIDksIDEzLCAyMzgsIDI1NCwgCi0gICAgOSwgMTMsIDIzOCwgMjUzLCA5LCAxMywgMjM4LCAyNTIsIDksIDEzLCAyMzgsIDI1MSwgOSwgMTMsIDIzOCwgMjUwLCA5LCAKLSAgICAxMywgMjM4LCAyNDksIDksIDEzLCAyMzgsIDI0OCwgOSwgMTMsIDIzOCwgMjQ3LCA5LCAxMywgMjM4LCAyNDYsIDksIDEzLCAKLSAgICAyMzgsIDI0NSwgOSwgMTMsIDIzOCwgMjQ0LCA5LCAxMywgMjM4LCAyNDMsIDksIDEzLCAyMzgsIDI0MiwgOSwgMTMsIDIzOCwgCi0gICAgMjQxLCA5LCAxMywgMjM4LCAyNDAsIDksIDEzLCAyMzgsIDIzOSwgOSwgMTMsIDIzOCwgMjM4LCA5LCAxMywgMjM4LCAyMzcsIAotICAgIDksIDEzLCAyMzgsIDIzNiwgOSwgMTMsIDIzOCwgMjM1LCA5LCAxMywgMjM4LCAyMzQsIDksIDEzLCAyMzgsIDIzMywgOSwgCi0gICAgMTMsIDIzOCwgMjMyLCA5LCAxMywgMjM4LCAyMzEsIDksIDEzLCAyMzgsIDIzMCwgOSwgMTMsIDIzOCwgMjI5LCA5LCAxMywgCi0gICAgMjM4LCAyMjgsIDksIDEzLCAyMzgsIDIyNywgOSwgMTMsIDIzOCwgMjI2LCA5LCAxMywgMjM4LCAyMjUsIDksIDEzLCAyMzgsIAotICAgIDIyNCwgOSwgMTMsIDIzOCwgMjIzLCA5LCAxMywgMjM4LCAyMjIsIDksIDEzLCAyMzgsIDIyMSwgOSwgMTMsIDIzOCwgMjIwLCAKLSAgICA5LCAxMywgMjM4LCAyMTksIDksIDEzLCAyMzgsIDIxOCwgOSwgMTMsIDIzOCwgMjE3LCA5LCAxMywgMjM4LCAyMTYsIDksIAotICAgIDEzLCAyMzgsIDIxNSwgOSwgMTMsIDIzOCwgMjE0LCA5LCAxMywgMjM4LCAyMTMsIDksIDEzLCAyMzgsIDIxMiwgOSwgMTMsIAotICAgIDIzOCwgMjExLCA5LCAxMywgMjM4LCAyMTAsIDksIDEzLCAyMzgsIDIwOSwgOSwgMTMsIDIzOCwgMjA4LCA5LCAxMywgMjM4LCAKLSAgICAyMDcsIDksIDEzLCAyMzgsIDIwNiwgOSwgMTMsIDIzOCwgMjA1LCA5LCAxMywgMjM4LCAyMDQsIDksIDEzLCAyMzgsIDIwMywgCi0gICAgOSwgMTMsIDIzOCwgMjAyLCA5LCAxMywgMjM4LCAyMDEsIDksIDEzLCAyMzgsIDIwMCwgOSwgMTMsIDIzOCwgMTk5LCA5LCAKLSAgICAxMywgMjM4LCAxOTgsIDksIDEzLCAyMzgsIDE5NywgOSwgMTMsIDIzOCwgMTk2LCA5LCAxMywgMjM4LCAxOTUsIDksIDEzLCAKLSAgICAyMzgsIDE5NCwgOSwgMTMsIDIzOCwgMTkzLCA5LCAxMywgMjM4LCAxOTIsIDksIDEzLCAyMzgsIDE5MSwgOSwgMTMsIDIzOCwgCi0gICAgMTkwLCA5LCAxMywgMjM4LCAxODksIDksIDEzLCAyMzgsIDE4OCwgOSwgMTMsIDIzOCwgMTg3LCA5LCAxMywgMjM4LCAxODYsIAotICAgIDksIDEzLCAyMzgsIDE4NSwgOSwgMTMsIDIzOCwgMTg0LCA5LCAxMywgMjM4LCAxODMsIDksIDEzLCAyMzgsIDE4MiwgOSwgCi0gICAgMTMsIDIzOCwgMTgxLCA5LCAxMywgMjM4LCAxODAsIDksIDEzLCAyMzgsIDE3OSwgOSwgMTMsIDIzOCwgMTc4LCA5LCAxMywgCi0gICAgMjM4LCAxNzcsIDksIDEzLCAyMzgsIDE3NiwgOSwgMTMsIDIzOCwgMTc1LCA5LCAxMywgMjM4LCAxNzQsIDksIDEzLCAyMzgsIAotICAgIDE3MywgOSwgMTMsIDIzOCwgMTcyLCA5LCAxMywgMjM4LCAxNzEsIDksIDEzLCAyMzgsIDE3MCwgOSwgMTMsIDIzOCwgMTY5LCAKLSAgICA5LCAxMywgMjM4LCAxNjgsIDksIDEzLCAyMzgsIDE2NywgOSwgMTMsIDIzOCwgMTY2LCA5LCAxMywgMjM4LCAxNjUsIDksIAotICAgIDEzLCAyMzgsIDE2NCwgOSwgMTMsIDIzOCwgMTYzLCA5LCAxMywgMjM4LCAxNjIsIDksIDEzLCAyMzgsIDE2MSwgOSwgMTMsIAotICAgIDIzOCwgMTYwLCA5LCAxMywgMjM4LCAxNTksIDksIDEzLCAyMzgsIDE1OCwgOSwgMTMsIDIzOCwgMTU3LCA5LCAxMywgMjM4LCAKLSAgICAxNTYsIDksIDEzLCAyMzgsIDE1NSwgOSwgMTMsIDIzOCwgMTU0LCA5LCAxMywgMjM4LCAxNTMsIDksIDEzLCAyMzgsIDE1MiwgCi0gICAgOSwgMTMsIDIzOCwgMTUxLCA5LCAxMywgMjM4LCAxNTAsIDksIDEzLCAyMzgsIDE0OSwgOSwgMTMsIDIzOCwgMTQ4LCA5LCAKLSAgICAxMywgMjM4LCAxNDcsIDksIDEzLCAyMzgsIDE0NiwgOSwgMTMsIDIzOCwgMTQ1LCA5LCAxMywgMjM4LCAxNDQsIDksIDEzLCAKLSAgICAyMzgsIDE0MywgOSwgMTMsIDIzOCwgMTQyLCA5LCAxMywgMjM4LCAxNDEsIDksIDEzLCAyMzgsIDE0MCwgOSwgMTMsIDIzOCwgCi0gICAgMTM5LCA5LCAxMywgMjM4LCAxMzgsIDksIDEzLCAyMzgsIDEzNywgOSwgMTMsIDIzOCwgMTM2LCA5LCAxMywgMjM4LCAxMzUsIAotICAgIDksIDEzLCAyMzgsIDEzNCwgOSwgMTMsIDIzOCwgMTMzLCA5LCAxMywgMjM4LCAxMzIsIDksIDEzLCAyMzgsIDEzMSwgOSwgCi0gICAgMTMsIDIzOCwgMTMwLCA5LCAxMywgMjM4LCAxMjksIDksIDEzLCAyMzgsIDEyOCwgOSwgMTMsIDIzOCwgMTI3LCA5LCAxMywgCi0gICAgMjM4LCAxMjYsIDksIDEzLCAyMzgsIDEyNSwgOSwgMTMsIDIzOCwgMTI0LCA5LCAxMywgMjM4LCAxMjMsIDksIDEzLCAyMzgsIAotICAgIDEyMiwgOSwgMTMsIDIzOCwgMTIxLCA5LCAxMywgMjM4LCAxMjAsIDksIDEzLCAyMzgsIDExOSwgOSwgMTMsIDIzOCwgMTE4LCAKLSAgICA5LCAxMywgMjM4LCAxMTcsIDksIDEzLCAyMzgsIDExNiwgOSwgMTMsIDIzOCwgMTE1LCA5LCAxMywgMjM4LCAxMTQsIDksIAotICAgIDEzLCAyMzgsIDExMywgOSwgMTMsIDIzOCwgMTEyLCA5LCAxMywgMjM4LCAxMTEsIDksIDEzLCAyMzgsIDExMCwgOSwgMTMsIAotICAgIDIzOCwgMTA5LCA5LCAxMywgMjM4LCAxMDgsIDksIDEzLCAyMzgsIDEwNywgOSwgMTMsIDIzOCwgMTA2LCA5LCAxMywgMjM4LCAKLSAgICAxMDUsIDksIDEzLCAyMzgsIDEwNCwgOSwgMTMsIDIzOCwgMTAzLCA5LCAxMywgMjM4LCAxMDIsIDksIDEzLCAyMzgsIDEwMSwgCi0gICAgOSwgMTMsIDIzOCwgMTAwLCA5LCAxMywgMjM4LCA5OSwgOSwgMTMsIDIzOCwgOTgsIDksIDEzLCAyMzgsIDk3LCA5LCAxMywgCi0gICAgMjM4LCA5NiwgOSwgMTMsIDIzOCwgOTUsIDksIDEzLCAyMzgsIDk0LCA5LCAxMywgMjM4LCA5MywgOSwgMTMsIDIzOCwgOTIsIAotICAgIDksIDEzLCAyMzgsIDkxLCA5LCAxMywgMjM4LCA5MCwgOSwgMTMsIDIzOCwgODksIDksIDEzLCAyMzgsIDg4LCA5LCAxMywgCi0gICAgMjM4LCA4NywgOSwgMTMsIDIzOCwgODYsIDksIDEzLCAyMzgsIDg1LCA5LCAxMywgMjM4LCA4NCwgOSwgMTMsIDIzOCwgODMsIAotICAgIDksIDEzLCAyMzgsIDgyLCA5LCAxMywgMjM4LCA4MSwgOSwgMTMsIDIzOCwgODAsIDksIDEzLCAyMzgsIDc5LCA5LCAxMywgCi0gICAgMjM4LCA3OCwgOSwgMTMsIDIzOCwgNzcsIDksIDEzLCAyMzgsIDc2LCA5LCAxMywgMjM4LCA3NSwgOSwgMTMsIDIzOCwgNzQsIAotICAgIDksIDEzLCAyMzgsIDczLCA5LCAxMywgMjM4LCA3MiwgOSwgMTMsIDIzOCwgNzEsIDksIDEzLCAyMzgsIDcwLCA5LCAxMywgCi0gICAgMjM4LCA2OSwgOSwgMTMsIDIzOCwgNjgsIDksIDEzLCAyMzgsIDY3LCA5LCAxMywgMjM4LCA2NiwgMjMzLCAxMTQsIDIxOCwgCi0gICAgMzMsIDEyNiwgMjE5LCAyMDYsIDEyNiwgMjQ0LCAyNTQsIDc3LCAxMjYsIDIyNCwgMTQzLCA3NywgMTI2LCA1MCwgNTIsIAotICAgIDEyNiwgMjQ3LCA4NiwgNTIsIDEyNiwgMjI2LCA1NywgNTIsIDEyNiwgMjU0LCAzNSwgMTI2LCAyNTMsIDIyNiwgMTI2LCA0MiwgCi0gICAgMjI2LCAxMzEsIDEyNiwgNDYsIDIyNiwgMTMxLCAxMjYsIDI1MywgMTMyLCAxMjYsIDk0LCA1MiwgMTI2LCAyNDksIDE1NywgCi0gICAgMTI2LCAyNDAsIDE1OSwgMTI2LCAyNDMsIDIwMCwgMjE5LCA2OSwgMTI2LCAyMTksIDIzMSwgMTI2LCAyMSwgMjEyLCA3OSwgCi0gICAgMTI2LCAyMSwgMTE2LCAxMjYsIDIxLCAxMDksIDEyNiwgMjEsIDE2NiwgMTI2LCAyMSwgMTYzLCAxMjYsIDIxLCAxODAsIAotICAgIDEyNiwgMjEsIDE4OSwgMTI2LCAyMSwgMTk4LCAxMjYsIDIxLCAxOTUsIDEyNiwgMjEsIDIwMCwgMTI2LCAyNDksIDE2NCwgCi0gICAgMTI2LCAyMjEsIDcwLCAxMjYsIDIzMywgMzksIDUyLCAxMjYsIDI0NSwgNjEsIDUyLCAxMjYsIDI0MiwgMTA3LCA1MiwgMTI2LCAKLSAgICAyMjQsIDE1OCwgNzcsIDEyNiwgMjQ5LCAxNTYsIDI1MywgMTIyLCAxMjYsIDcsIDYsIDEsIDYxLCAxMjYsIDcsIDYsIDEsIAotICAgIDI1MywgNzQsIDEyNiwgNywgNiwgMSwgMjUwLCAyNTIsIDEyNiwgNywgNiwgMSwgMjQ5LCAzLCAxMjYsIDcsIDYsIDEsIDc0LCAKLSAgICAxMjYsIDcsIDYsIDEsIDI0NCwgMjMwLCAxMjYsIDcsIDYsIDEsIDI0MywgMTc3LCAxMjYsIDcsIDYsIDEsIDI0MiwgNDEsIAotICAgIDEyNiwgNywgNiwgMSwgNzIsIDEyNiwgNywgNiwgMSwgMjM1LCAxNDIsIDEyNiwgNywgNiwgMSwgMjM1LCAyNywgMTI2LCA3LCAKLSAgICA2LCAxLCAxNTAsIDEyNiwgNywgNiwgMSwgMTgzLCAxMjYsIDcsIDYsIDEsIDIwNCwgMTI2LCA3LCA2LCAxLCA3NSwgMTI2LCAKLSAgICA3LCA2LCAxLCAyMjYsIDIyOSwgMTI2LCA3LCA2LCAxLCAyMjQsIDI0MCwgMTI2LCA3LCA2LCAxLCAxNDksIDEyNiwgNywgNiwgCi0gICAgMSwgMTk3LCAxMjYsIDcsIDYsIDEsIDIxOCwgOTksIDEyNiwgNywgNiwgMSwgNjksIDEyNiwgNywgNiwgMSwgMjE1LCA3OSwgCi0gICAgMTI2LCA3LCA2LCAxLCAyMTQsIDgyLCAxMjYsIDcsIDYsIDEsIDIxMywgMTY2LCAxMjYsIDcsIDYsIDEsIDIxMywgMTA1LCAKLSAgICAxMjYsIDcsIDYsIDEsIDIxMiwgMTUyLCAxMjYsIDQyLCA0MSwgMTI1LCAxMjYsIDIyMywgMjAzLCAyMTksIDIzMSwgMTI2LCAKLSAgICA0NiwgNDEsIDEyNSwgMTI2LCAyNDksIDIyNCwgMjU0LCAxNzQsIDEyNiwgMTE1LCAyMzIsIDI0MiwgMTI2LCAyNDIsIDExNCwgCi0gICAgMjU0LCAxNzQsIDEyNiwgNywgMywgMSwgNjEsIDEyNiwgNywgMywgMSwgMjUzLCA3NCwgMTI2LCA3LCAzLCAxLCAyNTAsIAotICAgIDI1MiwgMTI2LCA3LCAzLCAxLCAyNDksIDMsIDEyNiwgNywgMywgMSwgNzQsIDEyNiwgNywgMywgMSwgMjQ0LCAyMzAsIDEyNiwgCi0gICAgNywgMywgMSwgMjQzLCAxNzcsIDEyNiwgNywgMywgMSwgMjQyLCA0MSwgMTI2LCA3LCAzLCAxLCA3MiwgMTI2LCA3LCAzLCAxLCAKLSAgICAyMzUsIDE0MiwgMTI2LCA3LCAzLCAxLCAyMzUsIDI3LCAxMjYsIDcsIDMsIDEsIDE1MCwgMTI2LCA3LCAzLCAxLCAxODMsIAotICAgIDEyNiwgNywgMywgMSwgMjA0LCAxMjYsIDcsIDMsIDEsIDc1LCAxMjYsIDcsIDMsIDEsIDIyNiwgMjI5LCAxMjYsIDcsIDMsIAotICAgIDEsIDIyNCwgMjQwLCAxMjYsIDcsIDMsIDEsIDE0OSwgMTI2LCA3LCAzLCAxLCAxOTcsIDEyNiwgNywgMywgMSwgMjE4LCA5OSwgCi0gICAgMTI2LCA3LCAzLCAxLCA2OSwgMTI2LCA3LCAzLCAxLCAyMTUsIDc5LCAxMjYsIDcsIDMsIDEsIDIxNCwgODIsIDEyNiwgNywgCi0gICAgMywgMSwgMjEzLCAxNjYsIDEyNiwgNywgMywgMSwgMjEzLCAxMDUsIDEyNiwgNywgMywgMSwgMjEyLCAxNTIsIDEyNiwgNDIsIAotICAgIDI0OSwgNDAsIDEyNSwgMTI2LCA3MSwgMjMyLCAyNDIsIDEyNiwgNDYsIDI0OSwgNDAsIDEyNSwgMTI2LCAyMTcsIDQyLCAKLSAgICAyNTAsIDE5NCwgMjE4LCAzMywgNDMsIDIyMSwgMjU0LCA0MywgMjIxLCAyNDMsIDQzLCAyMjEsIDIzMiwgNDMsIDIyMSwgCi0gICAgMjIwLCA0MywgMjIxLCAyMDksIDQzLCAyMjEsIDE5OCwgNDMsIDIyMSwgMTg3LCA0MywgMjIxLCAxNzYsIDQzLCAyMjEsIAotICAgIDE2NSwgNDMsIDIyMSwgMTU3LCA0MywgMjIxLCAxNTYsIDQzLCAyMjEsIDE1NSwgNDMsIDIyMSwgMTU0LCA0MywgMjIxLCAKLSAgICAxNTIsIDQzLCAyMjEsIDE1MSwgNDMsIDIyMSwgMTUwLCA0MywgMjIxLCAxNDksIDQzLCAyMjEsIDE0OCwgNDMsIDIyMSwgCi0gICAgMTQ3LCA0MywgMjIxLCAxNDYsIDQzLCAyMjEsIDE0NSwgNDMsIDIyMSwgMTQ0LCA0MywgMjIxLCAxNDMsIDQzLCAyMjEsIAotICAgIDE0MSwgNDMsIDIyMSwgMTQwLCA0MywgMjIxLCAxMzksIDQzLCAyMjEsIDEzOCwgNDMsIDIyMSwgMTM3LCA0MywgMjIxLCAKLSAgICAxMzYsIDQzLCAyMjEsIDEzNSwgNDMsIDIyMSwgMTM0LCA0MywgMjIxLCAxMzMsIDQzLCAyMjEsIDEzMiwgNDMsIDIyMSwgCi0gICAgMTMwLCA0MywgMjIxLCAxMjksIDQzLCAyMjEsIDEyOCwgNDMsIDIyMSwgMTI3LCA0MywgMjIxLCAxMjYsIDQzLCAyMjEsIAotICAgIDEyNSwgNDMsIDIyMSwgMTI0LCA0MywgMjIxLCAxMjMsIDQzLCAyMjEsIDEyMiwgNDMsIDIyMSwgMTIxLCA0MywgMjIxLCAKLSAgICAxMTksIDQzLCAyMjEsIDExOCwgNDMsIDIyMSwgMTE3LCA0MywgMjIxLCAxMTYsIDQzLCAyMjEsIDExNSwgNDMsIDIyMSwgCi0gICAgMTE0LCA0MywgMjIxLCAxMTMsIDQzLCAyMjEsIDExMiwgNDMsIDIyMSwgMTExLCA0MywgMjIxLCAxMTAsIDQzLCAyMjEsIAotICAgIDEwOCwgNDMsIDIyMSwgMTA3LCA0MywgMjIxLCAxMDYsIDQzLCAyMjEsIDEwNSwgNDMsIDIyMSwgMTA0LCA0MywgMjIxLCAKLSAgICAxMDMsIDQzLCAyMjEsIDEwMiwgNDMsIDIyMSwgMTAxLCA0MywgMjIxLCAxMDAsIDQzLCAyMjEsIDk5LCA0MywgMjIxLCA5NywgCi0gICAgNDMsIDIyMSwgOTYsIDQzLCAyMjEsIDk1LCA0MywgMjIxLCA5NCwgNDMsIDIyMSwgOTMsIDQzLCAyMjEsIDkyLCA0MywgMjIxLCAKLSAgICA5MSwgNDMsIDIyMSwgOTAsIDQzLCAyMjEsIDg5LCA0MywgMjIxLCA4OCwgNDMsIDIyMSwgODYsIDQzLCAyMjEsIDg1LCA0MywgCi0gICAgMjIxLCA4NCwgNDMsIDIyMSwgODMsIDQzLCAyMjEsIDgyLCA0MywgMjIxLCA4MSwgNDMsIDIyMSwgODAsIDQzLCAyMjEsIDc5LCAKLSAgICA0MywgMjIxLCA3OCwgNDMsIDIyMSwgNzcsIDQzLCAyMjIsIDc0LCA0MywgMjIyLCA3MywgNDMsIDIyMiwgNzIsIDQzLCAyMjIsIAotICAgIDcxLCA0MywgMjIyLCA3MCwgNDMsIDIyMiwgNjksIDQzLCAyMjIsIDY4LCA0MywgMjIyLCA2NywgNDMsIDIyMiwgNjYsIDQzLCAKLSAgICAyMjIsIDY1LCA0MywgMjIyLCA2MywgNDMsIDIyMiwgNjIsIDQzLCAyMjIsIDYxLCA0MywgMjIyLCA2MCwgNDMsIDIyMiwgNTksIAotICAgIDQzLCAyMjIsIDU4LCA0MywgMjIyLCA1NywgNDMsIDIyMiwgNTYsIDQzLCAyMjIsIDU1LCA0MywgMjIyLCA1NCwgNDMsIDIyMiwgCi0gICAgNTIsIDQzLCAyMjIsIDUxLCA0MywgMjIyLCA1MCwgNDMsIDIyMiwgNDksIDQzLCAyMjIsIDQ4LCA0MywgMjIyLCA0NywgNDMsIAotICAgIDIyMiwgNDYsIDQzLCAyMjIsIDQ1LCA0MywgMjIyLCA0NCwgNDMsIDIyMiwgNDMsIDQzLCAyMjIsIDQxLCA0MywgMjIyLCA0MCwgCi0gICAgNDMsIDIyMiwgMzksIDQzLCAyMjIsIDM4LCA0MywgMjIyLCAzNywgNDMsIDIyMiwgMzYsIDQzLCAyMjIsIDM1LCA0MywgMjIyLCAKLSAgICAzNCwgNDMsIDIyMiwgMzMsIDQzLCAyMjIsIDMyLCA0MywgMjIyLCAzMCwgNDMsIDIyMiwgMjksIDQzLCAyMjIsIDI4LCA0MywgCi0gICAgMjIyLCAyNywgNDMsIDIyMiwgMjYsIDQzLCAyMjIsIDI1LCA0MywgMjIyLCAyNCwgNDMsIDIyMiwgMjMsIDQzLCAyMjIsIDIyLCAKLSAgICA0MywgMjIyLCAyMSwgNDMsIDIyMiwgMTksIDQzLCAyMjIsIDE4LCA0MywgMjIyLCAxNywgNDMsIDIyMiwgMTYsIDQzLCAyMjIsIAotICAgIDE1LCA0MywgMjIyLCAxNCwgNDMsIDIyMiwgMTMsIDQzLCAyMjIsIDEyLCA0MywgMjIyLCAxMSwgNDMsIDIyMiwgMTAsIDQzLCAKLSAgICAyMjIsIDgsIDQzLCAyMjIsIDcsIDQzLCAyMjIsIDYsIDQzLCAyMjIsIDUsIDQzLCAyMjIsIDQsIDQzLCAyMjIsIDMsIDQzLCAKLSAgICAyMjIsIDIsIDQzLCAyMjIsIDEsIDQzLCAyMjIsIDAsIDQzLCAyMjEsIDI1NSwgNDMsIDIyMSwgMjUzLCA0MywgMjIxLCAyNTIsIAotICAgIDQzLCAyMjEsIDI1MSwgNDMsIDIyMSwgMjUwLCA0MywgMjIxLCAyNDksIDQzLCAyMjEsIDI0OCwgNDMsIDIyMSwgMjQ3LCA0MywgCi0gICAgMjIxLCAyNDYsIDQzLCAyMjEsIDI0NSwgNDMsIDIyMSwgMjQ0LCA0MywgMjIxLCAyNDIsIDQzLCAyMjEsIDI0MSwgNDMsIAotICAgIDIyMSwgMjQwLCA0MywgMjIxLCAyMzksIDQzLCAyMjEsIDIzOCwgNDMsIDIyMSwgMjM3LCA0MywgMjIxLCAyMzYsIDQzLCAKLSAgICAyMjEsIDIzNSwgNDMsIDIyMSwgMjM0LCA0MywgMjIxLCAyMzMsIDQzLCAyMjEsIDIzMSwgNDMsIDIyMSwgMjMwLCA0MywgCi0gICAgMjIxLCAyMjksIDQzLCAyMjEsIDIyOCwgNDMsIDIyMSwgMjI3LCA0MywgMjIxLCAyMjYsIDQzLCAyMjEsIDIyNSwgNDMsIAotICAgIDIyMSwgMjI0LCA0MywgMjIxLCAyMjMsIDQzLCAyMjEsIDIyMiwgNDMsIDIyMSwgMjE5LCA0MywgMjIxLCAyMTgsIDQzLCAKLSAgICAyMjEsIDIxNywgNDMsIDIyMSwgMjE2LCA0MywgMjIxLCAyMTUsIDQzLCAyMjEsIDIxNCwgNDMsIDIyMSwgMjEzLCA0MywgCi0gICAgMjIxLCAyMTIsIDQzLCAyMjEsIDIxMSwgNDMsIDIyMSwgMjEwLCA0MywgMjIxLCAyMDgsIDQzLCAyMjEsIDIwNywgNDMsIAotICAgIDIyMSwgMjA2LCA0MywgMjIxLCAyMDUsIDQzLCAyMjEsIDIwNCwgNDMsIDIyMSwgMjAzLCA0MywgMjIxLCAyMDIsIDQzLCAKLSAgICAyMjEsIDIwMSwgNDMsIDIyMSwgMjAwLCA0MywgMjIxLCAxOTksIDQzLCAyMjEsIDE5NywgNDMsIDIyMSwgMTk2LCA0MywgCi0gICAgMjIxLCAxOTUsIDQzLCAyMjEsIDE5NCwgNDMsIDIyMSwgMTkzLCA0MywgMjIxLCAxOTIsIDQzLCAyMjEsIDE5MSwgNDMsIAotICAgIDIyMSwgMTkwLCA0MywgMjIxLCAxODksIDQzLCAyMjEsIDE4OCwgNDMsIDIyMSwgMTg2LCA0MywgMjIxLCAxODUsIDQzLCAKLSAgICAyMjEsIDE4NCwgNDMsIDIyMSwgMTgzLCA0MywgMjIxLCAxODIsIDQzLCAyMjEsIDE4MSwgNDMsIDIyMSwgMTgwLCA0MywgCi0gICAgMjIxLCAxNzksIDQzLCAyMjEsIDE3OCwgNDMsIDIyMSwgMTc3LCA0MywgMjIxLCAxNzUsIDQzLCAyMjEsIDE3NCwgNDMsIAotICAgIDIyMSwgMTczLCA0MywgMjIxLCAxNzIsIDQzLCAyMjEsIDE3MSwgNDMsIDIyMSwgMTcwLCA0MywgMjIxLCAxNjksIDQzLCAKLSAgICAyMjEsIDE2OCwgNDMsIDIyMSwgMTY3LCA0MywgMjIxLCAxNjYsIDQzLCAyMjEsIDE2NCwgNDMsIDIyMSwgMTYzLCA0MywgCi0gICAgMjIxLCAxNjIsIDQzLCAyMjEsIDE2MSwgNDMsIDIyMSwgMTYwLCA0MywgMjIxLCAxNTksIDQzLCAyMjEsIDE1OCwgCisgICAgMCwgMjE5LCAxOCwgMjQ1LCAzMSwgNzgsIDIyMywgMjU0LCA3OCwgNTQsIDUwLCAyNDcsIDEzMiwgNTAsIDIyNSwgMTgyLCAKKyAgICA1MCwgMjU0LCAxMjYsIDI1NCwgNTcsIDQzLCAyMjYsIDMsIDQ0LCAyMjYsIDMsIDI1MywgMjE2LCA5NiwgNTAsIDI0OSwgCisgICAgMjE5LCAyNDAsIDE2NywgMjQzLCAyMjksIDIxOCwgMTI5LCAyMTksIDQ2LCAyMSwgMjEwLCA4NiwgMjEsIDExMCwgMjEsIAorICAgIDEwNSwgMjEsIDE1OCwgMjEsIDE2MSwgMjEsIDE4OSwgMjEsIDE5NCwgMjEsIDE5OCwgMjEsIDE5NSwgMjEsIDIwMCwgMjQ5LCAKKyAgICAyMjYsIDIyMCwgMTUwLCAyMzMsIDE1LCA1MCwgMjQ1LCA5OCwgNTAsIDI0MiwgMTMwLCA1MCwgMjI0LCAxMywgNzgsIDI0OSwgCisgICAgMjE3LCAyNTMsIDIwNiwgNywgNiwgMSwgNjEsIDcsIDYsIDEsIDI1MywgMTU4LCA3LCA2LCAxLCAyNTEsIDY2LCA3LCA2LCAxLCAKKyAgICAyNDksIDYwLCA3LCA2LCAxLCA3NSwgNywgNiwgMSwgMjQ1LCA2LCA3LCA2LCAxLCAyNDMsIDIwMiwgNywgNiwgMSwgMjQyLCAKKyAgICA2MCwgNywgNiwgMSwgNzMsIDcsIDYsIDEsIDIzNSwgMTQ0LCA3LCA2LCAxLCAyMzUsIDIzLCA3LCA2LCAxLCAxNTYsIDcsIDYsIAorICAgIDEsIDE5MywgNywgNiwgMSwgMjMwLCAyNSwgNywgNiwgMSwgNzYsIDcsIDYsIDEsIDIyNiwgMTA1LCA3LCA2LCAxLCAyMjQsIAorICAgIDk2LCA3LCA2LCAxLCAxNTMsIDcsIDYsIDEsIDIyMiwgOTEsIDcsIDYsIDEsIDIxNywgMTUyLCA3LCA2LCAxLCA3MCwgNywgNiwgCisgICAgMSwgMjE0LCAxMDUsIDcsIDYsIDEsIDIxMiwgOTgsIDcsIDYsIDEsIDIxMSwgMTc4LCA3LCA2LCAxLCAyMTEsIDExNywgNywgCisgICAgNiwgMSwgMjEwLCAxNTksIDQzLCA0MiwgMTI3LCAyMjMsIDUwLCAyMTksIDQ2LCA0NCwgNDIsIDEyNywgMjUwLCAzMSwgMjU1LCAKKyAgICAxNCwgMTIxLCAyMzIsIDIxMywgMjQyLCAxMzcsIDI1NSwgMTQsIDcsIDQsIDEsIDYxLCA3LCA0LCAxLCAyNTMsIDE1OCwgNywgCisgICAgNCwgMSwgMjUxLCA2NiwgNywgNCwgMSwgMjQ5LCA2MCwgNywgNCwgMSwgNzUsIDcsIDQsIDEsIDI0NSwgNiwgNywgNCwgMSwgCisgICAgMjQzLCAyMDIsIDcsIDQsIDEsIDI0MiwgNjAsIDcsIDQsIDEsIDczLCA3LCA0LCAxLCAyMzUsIDE0NCwgNywgNCwgMSwgMjM1LCAKKyAgICAyMywgNywgNCwgMSwgMTU2LCA3LCA0LCAxLCAxOTMsIDcsIDQsIDEsIDIzMCwgMjUsIDcsIDQsIDEsIDc2LCA3LCA0LCAxLCAKKyAgICAyMjYsIDEwNSwgNywgNCwgMSwgMjI0LCA5NiwgNywgNCwgMSwgMTUzLCA3LCA0LCAxLCAyMjIsIDkxLCA3LCA0LCAxLCAyMTcsIAorICAgIDE1MiwgNywgNCwgMSwgNzAsIDcsIDQsIDEsIDIxNCwgMTA1LCA3LCA0LCAxLCAyMTIsIDk4LCA3LCA0LCAxLCAyMTEsIDE3OCwgCisgICAgNywgNCwgMSwgMjExLCAxMTcsIDcsIDQsIDEsIDIxMCwgMTU5LCA0MywgMjQ5LCA5OSwgMTI3LCA2NywgMjMyLCAyMTMsIDQ0LCAKKyAgICAyNDksIDk5LCAxMjcsIDE4MiwgMjI4LCA3MywgMjE5LCAxOCwgMjM1LCAxOTMsIDI0NSwgMzEsIDc4LCAyNTAsIDE3NiwgNTAsIAorICAgIDIyNCwgMjI4LCA1MCwgMjQ5LCA5OCwgNTAsIDIxMSwgNDAsIDUwLCAyNTEsIDEzNSwgMTMwLCAyMjEsIDE3MywgNTAsIDI0OCwgCisgICAgMSwgMjQ5LCAxNjMsIDUwLCAyNDQsIDEzNiwgMjI2LCAxNTQsIDIzNSwgMjM4LCAyMzMsIDQyLCA1MiwgMjU0LCAxMTAsIAorICAgIDIyMywgMjU0LCA3OCwgMjI4LCA1MiwgNTAsIDIxOSwgNTIsIDI0MCwgMTY4LCAyMjMsIDEwMiwgNTAsIDIzMSwgMjMyLCAKKyAgICAyNDgsIDcxLCA1MCwgMjI1LCAyMSwgNTAsIDIxOCwgMjMsIDEwNSwgMjE4LCAyMywgMTU4LCAyNTUsIDMsIDI1NSwgMTQsIAorICAgIDIzMCwgMjI4LCA1MCwgMjI1LCA2OCwgNTAsIDIzMCwgMjI0LCAyNDcsIDEyMCwgMjUwLCAxODMsIDIxOCwgMjMsIDExMCwgCisgICAgMjMxLCAxNDgsIDIyNiwgMTU0LCAyMzUsIDIzOCwgMjIyLCAyNDcsIDUyLCAyNTQsIDExMCwgMjIzLCAyNTQsIDc4LCAyMTIsIAorICAgIDExNCwgMjQ0LCAyLCAxMjMsIDIyNCwgMjEsIDIxMiwgMTE0LCAyNDQsIDIsIDEyMywgMjQyLCAyNywgMjEyLCAxMTQsIDI0NCwgCisgICAgMiwgMTM0LCAyMjQsIDE5LCAyMzUsIDE5MywgMjI0LCAxMywgNzgsIDcsIDYsIDEsIDExNSwgMiwgMjQyLCAxMzYsIDcsIDYsIAorICAgIDEsIDExNSwgMiwgMTQyLCA3LCA2LCAxLCAxMTUsIDIsIDI1MCwgMzAsIDcsIDYsIDEsIDExNSwgMiwgMTgyLCA3LCA2LCAxLCAKKyAgICAxMTUsIDIsIDI0OCwgMSwgNywgNiwgMSwgMTE1LCAyLCAyMjIsIDIzNCwgNDgsIDcsIDYsIDEsIDI1NCwgMjQzLCA3LCA2LCAKKyAgICAxLCAyNTEsIDY3LCAyLCAyNTAsIDE4MywgNywgNiwgMSwgMTYwLCAyLCAyNDIsIDEzNiwgNywgNiwgMSwgMTYwLCAyLCAxNDIsIAorICAgIDcsIDYsIDEsIDE2MCwgMiwgMjUwLCAzMCwgNywgNiwgMSwgMTYwLCAyLCAyNDgsIDEsIDcsIDYsIDEsIDI0MCwgMTU0LCAyLCAKKyAgICAyNDIsIDEzNiwgNywgNiwgMSwgMjQwLCAxNTQsIDIsIDE0MiwgNywgNiwgMSwgMjQwLCAxNTQsIDIsIDI1MCwgMzAsIDcsIDYsIAorICAgIDEsIDI0MCwgMTU0LCAyLCAyNDgsIDEsIDcsIDYsIDEsIDI0NSwgNTksIDcsIDYsIDEsIDIzMCwgMjYsIDIsIDE4MiwgNywgNiwgCisgICAgMSwgMTQ0LCAyLCAyNDIsIDEzNiwgNywgNiwgMSwgMTQ0LCAyLCAxNDIsIDcsIDYsIDEsIDE0NCwgMiwgMjUwLCAzMCwgNywgCisgICAgNiwgMSwgMTQ0LCAyLCAxODIsIDcsIDYsIDEsIDE0NCwgMiwgMjQ4LCAxLCAyMzAsIDg0LCA1MCwgNywgNiwgMSwgMTQ0LCAyLCAKKyAgICA5MSwgNywgNiwgMSwgMTA0LCAyLCAyNDIsIDEzNiwgNywgNiwgMSwgMTA0LCAyLCAxNDIsIDcsIDYsIDEsIDEwNCwgMiwgCisgICAgMjUwLCAzMCwgNywgNiwgMSwgMTA0LCAyLCAyNDgsIDEsIDcsIDYsIDEsIDIxMSwgMTE4LCAyLCAxNDIsIDcsIDYsIDEsIAorICAgIDIxNiwgMTUxLCA3LCA0LCAxLCAyMjAsIDc2LCAyMjIsIDkxLCA3LCA0LCAxLCAxMTUsIDIsIDI0MiwgMTM2LCA3LCA0LCAxLCAKKyAgICAxMTUsIDIsIDE0MiwgNywgNCwgMSwgMTE1LCAyLCAyNTAsIDMwLCA3LCA0LCAxLCAxMTUsIDIsIDE4MiwgNywgNCwgMSwgCisgICAgMTE1LCAyLCAyNDgsIDEsIDcsIDQsIDEsIDExNSwgMiwgMjIyLCAyMzQsIDQ4LCA3LCA0LCAxLCAyNTQsIDI0MywgNywgNCwgCisgICAgMSwgMjUxLCA2NywgMiwgMjUwLCAxODMsIDcsIDQsIDEsIDE2MCwgMiwgMjQyLCAxMzYsIDcsIDQsIDEsIDE2MCwgMiwgMTQyLCAKKyAgICA3LCA0LCAxLCAxNjAsIDIsIDI1MCwgMzAsIDcsIDQsIDEsIDE2MCwgMiwgMjQ4LCAxLCA3LCA0LCAxLCAyNDAsIDE1NCwgMiwgCisgICAgMjQyLCAxMzYsIDcsIDQsIDEsIDI0MCwgMTU0LCAyLCAxNDIsIDcsIDQsIDEsIDI0MCwgMTU0LCAyLCAyNTAsIDMwLCA3LCA0LCAKKyAgICAxLCAyNDAsIDE1NCwgMiwgMjQ4LCAxLCA3LCA0LCAxLCAyNDUsIDU5LCA3LCA0LCAxLCAyMzAsIDI2LCAyLCAxODIsIDcsIDQsIAorICAgIDEsIDE0NCwgMiwgMjQyLCAxMzYsIDcsIDQsIDEsIDE0NCwgMiwgMTQyLCA3LCA0LCAxLCAxNDQsIDIsIDI1MCwgMzAsIDcsIAorICAgIDQsIDEsIDE0NCwgMiwgMTgyLCA3LCA0LCAxLCAxNDQsIDIsIDI0OCwgMSwgMjQ3LCAxNjksIDUwLCA3LCA0LCAxLCAxNDQsIAorICAgIDIsIDkxLCA3LCA0LCAxLCAxMDQsIDIsIDI0MiwgMTM2LCA3LCA0LCAxLCAxMDQsIDIsIDE0MiwgNywgNCwgMSwgMTA0LCAyLCAKKyAgICAyNTAsIDMwLCA3LCA0LCAxLCAxMDQsIDIsIDI0OCwgMSwgNywgNCwgMSwgMjExLCAxMTgsIDIsIDE0MiwgNywgNCwgMSwgCisgICAgMjE2LCAxNTEsIDcsIDQsIDEsIDIxMSwgMTE4LCAyLCAyNDgsIDEsIDcsIDYsIDEsIDExNSwgMiwgMjMxLCAyMzIsIDcsIDQsIAorICAgIDEsIDExNSwgMiwgMjMxLCAyMzIsIDcsIDYsIDEsIDExNSwgMiwgMjUxLCAxNDYsIDcsIDQsIDEsIDExNSwgMiwgMjUxLCAKKyAgICAxNDYsIDcsIDYsIDEsIDExNSwgMiwgMjI2LCAyMjQsIDcsIDQsIDEsIDExNSwgMiwgMjI2LCAyMjQsIDcsIDYsIDEsIDI1MSwgCisgICAgNjcsIDIsIDE0MiwgNywgNCwgMSwgMjUxLCA2NywgMiwgMTQyLCA3LCA2LCAxLCAyNTEsIDY3LCAyLCAyNTAsIDMwLCA3LCA0LCAKKyAgICAxLCAyNTEsIDY3LCAyLCAyNTAsIDMwLCA3LCA2LCAxLCAyNTEsIDY3LCAyLCA1OSwgNDgsIDcsIDQsIDEsIDI1MSwgNjcsIDIsIAorICAgIDU5LCA0OCwgNywgNiwgMSwgMjUxLCA2NywgMiwgMjUwLCAyMzQsIDcsIDQsIDEsIDI1MSwgNjcsIDIsIDI1MCwgMjM0LCA3LCAKKyAgICA2LCAxLCAyNDksIDYxLCAyLCAyNTAsIDIzNCwgNywgNCwgMSwgMjQ5LCA2MSwgMiwgMjUwLCAyMzQsIDcsIDYsIDEsIDI0OSwgCisgICAgNjEsIDIsIDkxLCA3LCA0LCAxLCAyNDksIDYxLCAyLCA5MSwgNywgNiwgMSwgMTYwLCAyLCAyMzEsIDIzMiwgNywgNCwgMSwgCisgICAgMTYwLCAyLCAyMzEsIDIzMiwgNywgNiwgMSwgMTYwLCAyLCAyNTEsIDE0NiwgNywgNCwgMSwgMTYwLCAyLCAyNTEsIDE0NiwgCisgICAgNywgNiwgMSwgMTYwLCAyLCA1OSwgNDgsIDcsIDQsIDEsIDE2MCwgMiwgNTksIDQ4LCA3LCA2LCAxLCAxNjAsIDIsIDIyNiwgCisgICAgMjI0LCA3LCA0LCAxLCAxNjAsIDIsIDIyNiwgMjI0LCA3LCA2LCAxLCAxNjAsIDIsIDI1MCwgMjM0LCA3LCA0LCAxLCAxNjAsIAorICAgIDIsIDI1MCwgMjM0LCA3LCA2LCAxLCAyNDMsIDIwMywgMiwgMjUwLCAzMCwgNywgNCwgMSwgMjQzLCAyMDMsIDIsIDI1MCwgCisgICAgMzAsIDcsIDYsIDEsIDI0MywgMjAzLCAyLCAyNTEsIDE0NiwgNywgNCwgMSwgMjQzLCAyMDMsIDIsIDI1MSwgMTQ2LCA3LCA2LCAKKyAgICAxLCAyNDMsIDIwMywgMiwgNTksIDQ4LCA3LCA0LCAxLCAyNDMsIDIwMywgMiwgNTksIDQ4LCA3LCA2LCAxLCAyNDMsIDIwMywgCisgICAgMiwgMjUwLCAxODMsIDcsIDQsIDEsIDI0MywgMjAzLCAyLCAyNTAsIDE4MywgNywgNiwgMSwgMjQyLCA2MSwgMiwgMjUwLCAKKyAgICAzMCwgNywgNCwgMSwgMjQyLCA2MSwgMiwgMjUwLCAzMCwgNywgNiwgMSwgMjQyLCA2MSwgMiwgOTEsIDcsIDQsIDEsIDI0MiwgCisgICAgNjEsIDIsIDkxLCA3LCA2LCAxLCAyNDAsIDE1NCwgMiwgMTgyLCA3LCA0LCAxLCAyNDAsIDE1NCwgMiwgMTgyLCA3LCA2LCAxLCAKKyAgICAyNDAsIDE1NCwgMiwgMjMxLCAyMzIsIDcsIDQsIDEsIDI0MCwgMTU0LCAyLCAyMzEsIDIzMiwgNywgNiwgMSwgMjQwLCAxNTQsIAorICAgIDIsIDI1MSwgMTQ2LCA3LCA0LCAxLCAyNDAsIDE1NCwgMiwgMjUxLCAxNDYsIDcsIDYsIDEsIDI0MCwgMTU0LCAyLCAyMjYsIAorICAgIDIyNCwgNywgNCwgMSwgMjQwLCAxNTQsIDIsIDIyNiwgMjI0LCA3LCA2LCAxLCAyNDAsIDE1NCwgMiwgNTksIDQ4LCA3LCA0LCAKKyAgICAxLCAyNDcsIDExOSwgNzMsIDcsIDYsIDI3LCAyMzYsIDMxLCA3LCA0LCAyNywgMjM2LCAzMSwgNywgNiwgMSwgMjM1LCAxNDUsIAorICAgIDIsIDI1MCwgMzAsIDcsIDQsIDEsIDIzNSwgMTQ1LCAyLCAyNTAsIDMwLCA3LCA2LCAxLCAyMzUsIDI0LCAyLCAyNTAsIDE4MywgCisgICAgNywgNCwgMSwgMjM1LCAyNCwgMiwgMjUwLCAxODMsIDcsIDQsIDEsIDIzMywgMjM5LCA3LCA2LCAxLCAyMzMsIDE0OSwgMiwgCisgICAgMTQyLCA3LCA0LCAxLCAyMzMsIDE0OSwgMiwgMTQyLCA3LCA2LCAxLCAyMzMsIDE0OSwgMiwgMjUwLCAxODMsIDcsIDQsIDEsIAorICAgIDIzMywgMTQ5LCAyLCAyNTAsIDE4MywgNywgNiwgMSwgMjMzLCAxNDksIDIsIDI1MCwgMjM0LCA3LCA0LCAxLCAyMzMsIDE0OSwgCisgICAgMiwgMjUwLCAyMzQsIDcsIDYsIDEsIDIzMywgMTQ5LCAyLCAyMzAsIDIyNCwgMjQ3LCAxMjAsIDcsIDQsIDEsIDIzMywgMTQ5LCAKKyAgICAyLCAyMzAsIDIyNCwgMjQ3LCAxMjAsIDcsIDYsIDEsIDIzMywgMTQ5LCAyLCA5MSwgNywgNCwgMSwgMjMzLCAxNDksIDIsIAorICAgIDkxLCA3LCA2LCAxLCAyMzAsIDI2LCAyLCAxNDIsIDcsIDQsIDEsIDIzMCwgMjYsIDIsIDE0MiwgNywgNiwgMSwgMjMwLCAyNiwgCisgICAgMiwgMjUwLCAxODMsIDcsIDQsIDEsIDIzMCwgMjYsIDIsIDI1MCwgMTgzLCA3LCA2LCAxLCAyMzAsIDI2LCAyLCAyNTAsIAorICAgIDIzNCwgNywgNCwgMSwgMjMwLCAyNiwgMiwgMjUwLCAyMzQsIDcsIDQsIDEsIDIzMCwgMjYsIDIyNCwgMjA0LCAyNTEsIDc4LCAKKyAgICAyNTQsIDU3LCA3LCA2LCAxLCAyNDUsIDEzOCwgNywgNCwgMSwgMjQ1LCAxMzgsIDcsIDYsIDEsIDE0NCwgMiwgMjMxLCAyMzIsIAorICAgIDcsIDQsIDEsIDE0NCwgMiwgMjMxLCAyMzIsIDcsIDYsIDEsIDE0NCwgMiwgMjUxLCAxNDYsIDcsIDQsIDEsIDE0NCwgMiwgCisgICAgMjUxLCAxNDYsIDcsIDYsIDEsIDE0NCwgMiwgNTIsIDE0MiwgNywgNCwgMSwgMTQ0LCAyLCA1MiwgMTQyLCA3LCA2LCAyNywgCisgICAgMjI2LCAyMzQsIDcsIDQsIDI3LCAyMjYsIDIzNCwgNywgNiwgMSwgMjIzLCAyMjQsIDIsIDE0MiwgNywgNCwgMSwgMjIzLCAKKyAgICAyMjQsIDIsIDE0MiwgNywgNiwgMSwgMjIzLCAyMjQsIDIsIDI1MCwgMTgzLCA3LCA0LCAxLCAyMjMsIDIyNCwgMiwgMjUwLCAKKyAgICAxODMsIDcsIDYsIDEsIDIyMywgMjI0LCAyLCAyNTAsIDIzNCwgNywgNCwgMSwgMjIzLCAyMjQsIDIsIDI1MCwgMjM0LCA3LCAKKyAgICA2LCAxLCAyMjIsIDkyLCAyLCAxNDIsIDcsIDQsIDEsIDIyMiwgOTIsIDIsIDE0MiwgNywgNiwgMSwgMjIyLCA5MiwgMiwgCisgICAgMjUwLCAzMCwgNywgNCwgMSwgMjIyLCA5MiwgMiwgMjUwLCAzMCwgNywgNiwgMSwgMjIyLCA5MiwgMiwgMjUwLCAxODMsIDcsIAorICAgIDQsIDEsIDIyMiwgOTIsIDIsIDI1MCwgMTgzLCA3LCA2LCAxLCAyMjIsIDkyLCAyLCAyNTAsIDIzNCwgNywgNCwgMSwgMjIyLCAKKyAgICA5MiwgMiwgMjUwLCAyMzQsIDcsIDYsIDEsIDIxNywgMTUzLCAyLCAyNTAsIDE4MywgNywgNCwgMSwgMjE3LCAxNTMsIDIsIAorICAgIDI1MCwgMTgzLCA3LCA2LCAxLCAyMTcsIDE1MywgMiwgMjUwLCAyMzQsIDcsIDQsIDEsIDIxNywgMTUzLCAyLCAyNTAsIDIzNCwgCisgICAgNywgNiwgMSwgMjE3LCAxNTMsIDIsIDkxLCA3LCA0LCAxLCAyMTcsIDE1MywgMiwgOTEsIDcsIDYsIDEsIDEwNCwgMiwgMTgyLCAKKyAgICA3LCA0LCAxLCAxMDQsIDIsIDE4MiwgNywgNiwgMSwgMTA0LCAyLCAyMzEsIDIzMiwgNywgNCwgMSwgMTA0LCAyLCAyMzEsIAorICAgIDIzMiwgNywgNiwgMSwgMTA0LCAyLCAyNTEsIDE0NiwgNywgNCwgMSwgMTA0LCAyLCAyNTEsIDE0NiwgNywgNiwgMSwgMTA0LCAKKyAgICAyLCAyMjIsIDIzNCwgNDgsIDcsIDQsIDEsIDEwNCwgMiwgMjIyLCAyMzQsIDQ4LCA3LCA2LCAxLCAxMDQsIDIsIDUyLCAxNDIsIAorICAgIDcsIDQsIDEsIDEwNCwgMiwgNTIsIDE0MiwgNywgNiwgMSwgMTA0LCAyLCAyMjYsIDIyNCwgNywgNCwgMSwgMTA0LCAyLCAKKyAgICAyMjYsIDIyNCwgNywgNiwgMSwgMjEyLCA5OSwgMiwgMjUwLCAzMCwgNywgNCwgMSwgMjEyLCA5OSwgMiwgMjUwLCAzMCwgNywgCisgICAgNiwgMSwgMjExLCAxMTgsIDIsIDI1MCwgMzAsIDcsIDQsIDEsIDIxMSwgMTE4LCAyLCAyNTAsIDMwLCA3LCA2LCAxLCAyMTEsIAorICAgIDExOCwgMiwgMjQ4LCAxLCA3LCA2LCAxLCAyMTAsIDE2MCwgMiwgMTQyLCA3LCA0LCAxLCAyMTAsIDE2MCwgMiwgMTQyLCA3LCAKKyAgICA2LCAxLCAyMTAsIDE2MCwgMiwgNTksIDQ4LCA3LCA0LCAxLCAyMTAsIDE2MCwgMiwgNTksIDQ4LCA3LCA2LCAxLCAyMTAsIAorICAgIDE2MCwgMiwgMjUwLCAyMzQsIDcsIDQsIDEsIDIxMCwgMTYwLCAyLCAyNTAsIDIzNCwgNywgNCwgMSwgMTk5LCAyMjIsIDkxLCAKKyAgICA3LCA0LCAxLCA1NywgMiwgOTEsIDcsIDYsIDEsIDU3LCAyLCAxMDMsIDcsIDYsIDEsIDU3LCAyLCAyMTYsIDExLCA3LCA0LCAKKyAgICAxLCA1NywgMiwgMjE2LCAxMSwgNywgNiwgMSwgMTM4LCAxOTQsIDcsIDQsIDEsIDEzOCwgMTk0LCA3LCA2LCAxLCAyMDQsIAorICAgIDc2LCA3LCA2LCAxLCAyNTEsIDY3LCAyLCAxMDMsIDcsIDQsIDEsIDI1MSwgNjcsIDIsIDEwMywgNywgNiwgMSwgMjU0LCAKKyAgICAyMTksIDI0OSwgNjAsIDcsIDYsIDEsIDI0OSwgNjEsIDIsIDEwMywgNywgNiwgMSwgMjQ5LCA2MSwgMiwgMjE2LCAxMSwgNywgCisgICAgNCwgMSwgMjQ5LCA2MSwgMiwgMjE2LCAxMSwgNywgNCwgMSwgMjE1LCA5NCwgMjQ4LCA1NCwgNywgNiwgMSwgMjIzLCA0OSwgCisgICAgNzUsIDcsIDYsIDEsIDIyMSwgMTk1LCA3LCA2LCAxLCAyMDQsIDc1LCA3LCA2LCAxLCAyNDUsIDcsIDIsIDEwMywgNywgNCwgCisgICAgMSwgMjQ1LCA3LCAyLCAxMDMsIDcsIDYsIDEsIDI0MywgMjAzLCAyLCAxMDMsIDcsIDYsIDEsIDI0MywgMTA3LCA3LCA0LCAxLCAKKyAgICAyNDAsIDIwMSwgNywgNiwgMSwgMjM1LCAxODUsIDcsIDYsIDEsIDI0MCwgMTU0LCAyLCA5MSwgNywgNiwgMSwgMjM1LCAyNCwgCisgICAgMiwgMTAzLCA3LCA0LCAxLCAyMzUsIDI0LCAyLCAxMDMsIDcsIDQsIDEsIDIzMywgMTQ5LCAyLCAxMzAsIDcsIDQsIDEsIAorICAgIDIzMywgMTAwLCAyLCA5MSwgNywgNiwgMSwgMjE1LCA5NCwgMTkzLCA3LCA2LCAxLCAyMzAsIDI2LCAyLCA0MywgMTAzLCA3LCAKKyAgICA0LCAxLCAyMzAsIDI2LCAyLCAxOTksIDQ0LCAyMzMsIDM2LCA3LCA2LCAxLCAxNDQsIDIsIDIzMCwgMjI0LCAxODIsIDcsIDYsIAorICAgIDEsIDE0NCwgMiwgMjQwLCAyNDgsIDcsIDQsIDEsIDE0NCwgMiwgMjQwLCAyNDgsIDcsIDYsIDEsIDIyNiwgMjE5LCA3LCA0LCAKKyAgICAxLCAyMjYsIDIxOSwgNywgNiwgMSwgMjI2LCAxMDYsIDIsIDEwMywgNywgNCwgMSwgMjI2LCAxMDYsIDIsIDEwMywgNywgMSwgCisgICAgMjEwLCAyMTQsIDcsIDYsIDEsIDEzOCwgMTA1LCA3LCA0LCAxLCAxMzgsIDEwNSwgNywgNiwgMSwgMjQ1LCA3NSwgNywgMSwgCisgICAgMjIzLCA0OSwgMjQ1LCA3NiwgMjMyLCAxMjMsIDcsIDQsIDEsIDIxNywgMTUzLCAyLCAyMjYsIDY2LCAxMDMsIDcsIDYsIDEsIAorICAgIDIxNywgMTUzLCAyLCAxMDMsIDcsIDQsIDEsIDIxNywgMTUzLCAyLCAxMDMsIDcsIDYsIDEsIDIxNywgMTUzLCAyLCAyMjMsIAorICAgIDU1LCAxMDMsIDcsIDYsIDEsIDEwNCwgMiwgMjQwLCAyNDgsIDcsIDQsIDEsIDEwNCwgMiwgMjQwLCAyNDgsIDcsIDYsIDEsIAorICAgIDIxNCwgMTU3LCA3LCA2LCAxLCAyMTQsIDEwNiwgMiwgMTAzLCA3LCA2LCAxLCAyMTEsIDExOCwgMiwgMTAzLCA3LCA0LCAxLCAKKyAgICAyMTEsIDExOCwgMiwgMTAzLCA3LCA2LCAxLCAyMTAsIDE2MCwgMiwgOTEsIDcsIDQsIDEsIDIxMCwgMTYwLCAyLCA5MSwgNywgCisgICAgNiwgMSwgMjQ1LCA4LCA3LCA2LCAxLCAyNDUsIDksIDIyMywgNDgsIDcsIDQsIDEsIDI0NSwgOSwgMjIzLCA0OCwgNywgNCwgCisgICAgMSwgMjQ1LCA5LCAyLCAyMTcsIDc3LCA3LCAxLCAxMTMsIDIsIDkxLCA3LCA2LCAxLCAxMzgsIDE4OSwgNywgNCwgMSwgMTM4LCAKKyAgICAxODksIDcsIDEsIDIzNSwgMTkzLCAyNDIsIDE4MCwgMjE4LCAxMzAsIDIsIDkxLCA3LCAxLCAyMTEsIDE4MSwgNywgMSwgCisgICAgMjQ4LCA0NywgMjUwLCAxMSwgNywgMSwgMjMzLCA3NywgMjUwLCAxMSwgNywgMSwgMjU0LCAxMzcsIDI1MCwgMTEsIDcsIDEsIAorICAgIDIyMywgNTUsIDI1MCwgMTEsIDcsIDYsIDEsIDI0NiwgNDAsIDIsIDI1MCwgMjM0LCA3LCA2LCAxLCAyNDksIDYxLCAyLCA0LCAKKyAgICAxLCAyMTAsIDE2MCwgMiwgMjUwLCAyMzQsIDcsIDQsIDEsIDI0NiwgNDAsIDIsIDI1MCwgMjM0LCA3LCA2LCAxLCAyMzIsIAorICAgIDE4OCwgNywgNiwgMSwgMjMzLCAxNDksIDIsIDQsIDEsIDIzNSwgMTQ0LCA3LCA0LCAxLCAyMzIsIDE4OCwgNywgNiwgMSwgCisgICAgMjI4LCAxODYsIDcsIDYsIDEsIDIzMCwgMjYsIDIsIDQsIDEsIDIzNSwgMTQ0LCA3LCA0LCAxLCAyMjgsIDE4NiwgNywgNiwgCisgICAgMSwgMTE1LCAyLCAyNTAsIDIzNCwgNywgNCwgMSwgMTE1LCAyLCAyNTAsIDIzNCwgNywgNiwgMSwgMjQwLCAxNTQsIDIsIAorICAgIDI1MCwgMjM0LCA3LCA0LCAxLCAyNDAsIDE1NCwgMiwgMjUwLCAyMzQsIDcsIDYsIDEsIDE0NCwgMiwgMjUwLCAyMzQsIDcsIAorICAgIDQsIDEsIDE0NCwgMiwgMjUwLCAyMzQsIDcsIDYsIDEsIDEwNCwgMiwgMjUwLCAyMzQsIDcsIDQsIDEsIDEwNCwgMiwgMjUwLCAKKyAgICAyMzQsIDcsIDYsIDEsIDEwNCwgMiwgMjQ4LCAyLCAyMiwgMjMxLCAyMzIsIDcsIDQsIDEsIDEwNCwgMiwgMjQ4LCAyLCAyMiwgCisgICAgMjMxLCAyMzIsIDcsIDYsIDEsIDEwNCwgMiwgMjQ4LCAyLCAyMiwgMTQyLCA3LCA0LCAxLCAxMDQsIDIsIDI0OCwgMiwgMjIsIAorICAgIDE0MiwgNywgNiwgMSwgMTA0LCAyLCAyNDgsIDIsIDIyLCAyNTAsIDIzNCwgNywgNCwgMSwgMTA0LCAyLCAyNDgsIDIsIDIyLCAKKyAgICAyNTAsIDIzNCwgNywgNiwgMSwgMTA0LCAyLCAyNDgsIDIsIDIyLCAyNDIsIDEzNiwgNywgNCwgMSwgMTA0LCAyLCAyNDgsIDIsIAorICAgIDIyLCAyNDIsIDEzNiwgNywgNCwgMSwgMjE1LCA5NCwgNzUsIDcsIDYsIDEsIDExNSwgMiwgMjQ4LCAyLCAyMiwgMjMxLCAKKyAgICAyMzIsIDcsIDQsIDEsIDExNSwgMiwgMjQ4LCAyLCAyMiwgMjMxLCAyMzIsIDcsIDYsIDEsIDExNSwgMiwgNTksIDc3LCAyMiwgCisgICAgMjMxLCAyMzIsIDcsIDQsIDEsIDExNSwgMiwgNTksIDc3LCAyMiwgMjMxLCAyMzIsIDcsIDYsIDEsIDI1NCwgMjQ0LCAyLCAKKyAgICAyMzEsIDIzMiwgNywgNCwgMSwgMjU0LCAyNDQsIDIsIDIzMSwgMjMyLCA3LCA2LCAxLCAyNDMsIDIwMywgMiwgOTEsIDcsIDQsIAorICAgIDEsIDI0MywgMjAzLCAyLCA5MSwgNywgNiwgMSwgMjQzLCAyMDMsIDIsIDI1MCwgMjM0LCA3LCA0LCAxLCAyNDMsIDIwMywgMiwgCisgICAgMjUwLCAyMzQsIDcsIDYsIDEsIDIzNSwgMjQsIDIsIDI1MCwgMjM0LCA3LCA0LCAxLCAyMzUsIDI0LCAyLCAyNTAsIDIzNCwgCisgICAgNywgNiwgMSwgMTQ0LCAyLCAyMjYsIDIyNCwgNywgNCwgMSwgMTQ0LCAyLCAyMjYsIDIyNCwgNywgNiwgMSwgMTQ0LCAyLCAKKyAgICAyMjYsIDIyNSwgMjIsIDIzMSwgMjMyLCA3LCA0LCAxLCAxNDQsIDIsIDIyNiwgMjI1LCAyMiwgMjMxLCAyMzIsIDcsIDYsIDEsIAorICAgIDI0NSwgOSwgMiwgMjUwLCAyMzQsIDcsIDQsIDEsIDI0NSwgOSwgMiwgMjUwLCAyMzQsIDcsIDQsIDEsIDIzNSwgMTQ1LCAyLCAKKyAgICAyNTAsIDIzNCwgNywgNiwgMSwgMjQ2LCAzOSwgNywgNiwgMSwgMjQ5LCA2MSwgMiwgNCwgMSwgMjEwLCAxNTksIDcsIDQsIDEsIAorICAgIDI0NiwgMzksIDcsIDYsIDEsIDI0MywgMjAzLCAyLCAxNDIsIDcsIDQsIDEsIDI0MywgMjAzLCAyLCAxNDIsIDcsIDYsIDEsIAorICAgIDI0MCwgMTk5LCA3LCA2LCAxLCAyMTEsIDE4MSwgNywgNiwgMSwgMjMwLCAyNiwgMiwgMjQyLCAxMzYsIDcsIDQsIDEsIDIzMCwgCisgICAgMjYsIDIsIDI0MiwgMTM2LCA3LCA2LCAxLCAxMTUsIDIsIDIyMiwgMjM0LCA3NywgMjIsIDE0MiwgNywgNCwgMSwgMTE1LCAyLCAKKyAgICAyMjIsIDIzNCwgNzcsIDIyLCAxNDIsIDcsIDYsIDEsIDI1NCwgMjQ0LCAyLCAxNDIsIDcsIDQsIDEsIDI1NCwgMjQ0LCAyLCAKKyAgICAxNDIsIDcsIDYsIDEsIDE0NCwgMiwgMjE4LCAxMDMsIDIyLCAxNDIsIDcsIDQsIDEsIDE0NCwgMiwgMjE4LCAxMDMsIDIyLCAKKyAgICAxNDIsIDcsIDYsIDEsIDExNSwgMiwgNTIsIDI0MiwgMTM2LCA3LCA0LCAxLCAxMTUsIDIsIDUyLCAyNDIsIDEzNiwgNywgNiwgCisgICAgMSwgMTE1LCAyLCAyMzUsIDE5MywgMjUxLCAxNDYsIDcsIDQsIDEsIDExNSwgMiwgMjM1LCAxOTMsIDI1MSwgMTQ2LCA3LCA2LCAKKyAgICAxLCAxNjAsIDIsIDUyLCAyNDIsIDEzNiwgNywgNCwgMSwgMTYwLCAyLCA1MiwgMjQyLCAxMzYsIDcsIDYsIDEsIDE2MCwgMiwgCisgICAgMjM1LCAxOTMsIDI1MSwgMTQ2LCA3LCA0LCAxLCAxNjAsIDIsIDIzNSwgMTkzLCAyNTEsIDE0NiwgNywgNiwgMSwgMjQwLCAKKyAgICAxNTQsIDIsIDUyLCAyNDIsIDEzNiwgNywgNCwgMSwgMjQwLCAxNTQsIDIsIDUyLCAyNDIsIDEzNiwgNywgNiwgMSwgMjQwLCAKKyAgICAxNTQsIDIsIDIzNSwgMTkzLCAyNTEsIDE0NiwgNywgNCwgMSwgMjQwLCAxNTQsIDIsIDIzNSwgMTkzLCAyNTEsIDE0NiwgNywgCisgICAgNiwgMSwgMTQ0LCAyLCA1MiwgMjQyLCAxMzYsIDcsIDQsIDEsIDE0NCwgMiwgNTIsIDI0MiwgMTM2LCA3LCA2LCAxLCAxNDQsIAorICAgIDIsIDIzNSwgMTkzLCAyNTEsIDE0NiwgNywgNCwgMSwgMTQ0LCAyLCAyMzUsIDE5MywgMjUxLCAxNDYsIDcsIDYsIDEsIDIyMywgCisgICAgMjI0LCAyLCA1MiwgMjQyLCAxMzYsIDcsIDQsIDEsIDIyMywgMjI0LCAyLCA1MiwgMjQyLCAxMzYsIDcsIDYsIDEsIDIyMywgCisgICAgMjI0LCAyLCAyMzUsIDE5MywgMjUxLCAxNDYsIDcsIDQsIDEsIDIyMywgMjI0LCAyLCAyMzUsIDE5MywgMjUxLCAxNDYsIDcsIAorICAgIDYsIDEsIDEwNCwgMiwgNTIsIDI0MiwgMTM2LCA3LCA0LCAxLCAxMDQsIDIsIDUyLCAyNDIsIDEzNiwgNywgNiwgMSwgMTA0LCAKKyAgICAyLCAyMzUsIDE5MywgMjUxLCAxNDYsIDcsIDQsIDEsIDEwNCwgMiwgMjM1LCAxOTMsIDI1MSwgMTQ2LCA3LCA2LCAxLCAyMjIsIAorICAgIDkyLCAyLCAyNDksIDIyMCwgNTEsIDcsIDQsIDEsIDIyMiwgOTIsIDIsIDI0OSwgMjIwLCA1MSwgNywgNiwgMSwgMjE3LCAKKyAgICAxNTMsIDIsIDI0OSwgMjIwLCA1MSwgNywgNCwgMSwgMjE3LCAxNTMsIDIsIDI0OSwgMjIwLCA1MSwgNywgNiwgMSwgMjEwLCAKKyAgICAyMzEsIDcsIDQsIDEsIDIxMCwgMjMxLCA3LCA2LCAxLCAyNDIsIDYxLCAyLCAyNTAsIDIzNCwgNywgNCwgMSwgMjQyLCA2MSwgCisgICAgMiwgMjUwLCAyMzQsIDcsIDYsIDEsIDIzMCwgMjYsIDIsIDE5OSwgNDQsIDIzMywgMzYsIDcsIDQsIDEsIDI0OSwgNjEsIDIsIAorICAgIDI0OSwgMTAwLCA3LCA2LCAxLCAyMjYsIDEzNCwgNywgNCwgMSwgMjI2LCAxMzQsIDcsIDYsIDEsIDIxMCwgMTYwLCAyLCAKKyAgICAxMDMsIDcsIDQsIDEsIDIxMCwgMTYwLCAyLCAxMDMsIDcsIDYsIDEsIDExNSwgMiwgNTksIDQ4LCA3LCA0LCAxLCAxMTUsIDIsIAorICAgIDU5LCA0OCwgNywgNiwgMSwgMTYwLCAyLCAyNTAsIDE4MywgNywgNCwgMSwgMTYwLCAyLCAyNTAsIDE4MywgNywgNiwgMSwgCisgICAgMTQ0LCAyLCAyNDgsIDIsIDIyLCAyMzEsIDIzMiwgNywgNCwgMSwgMTQ0LCAyLCAyNDgsIDIsIDIyLCAyMzEsIDIzMiwgNywgCisgICAgNiwgMSwgMTQ0LCAyLCAyMTYsIDg5LCAyMiwgMjMxLCAyMzIsIDcsIDQsIDEsIDE0NCwgMiwgMjE2LCA4OSwgMjIsIDIzMSwgCisgICAgMjMyLCA3LCA2LCAxLCAxNDQsIDIsIDU5LCA0OCwgNywgNCwgMSwgMTQ0LCAyLCA1OSwgNDgsIDcsIDYsIDEsIDE0NCwgMiwgCisgICAgNTksIDc3LCAyMiwgMjMxLCAyMzIsIDcsIDQsIDEsIDE0NCwgMiwgNTksIDc3LCAyMiwgMjMxLCAyMzIsIDcsIDYsIDEsIAorICAgIDIxMSwgMTE4LCAyLCAyMzEsIDIzMiwgNywgNCwgMSwgMjExLCAxMTgsIDIsIDIzMSwgMjMyLCA3LCA0LCAxLCAyMzMsIDE0OSwgCisgICAgMiwgMjQ5LCAxMDAsIDcsIDQsIDEsIDIzMCwgMjYsIDIsIDI0OSwgMTAwLCA3LCA0LCAxLCAyMTcsIDE1MywgMiwgMjQ5LCAKKyAgICAxMDAsIDcsIDQsIDEsIDI0NywgMTE5LCAyMzUsIDE0NCwgNywgNCwgMSwgMjQ4LCAxNDMsIDI0NywgMjIwLCA3LCA0LCAxLCAKKyAgICAyMjQsIDMxLCAyNDcsIDIyMCwgNywgNiwgMSwgMTE1LCAyLCA5MSwgNywgNiwgMSwgMjUxLCA2NywgMiwgOTEsIDcsIDQsIDEsIAorICAgIDI1MSwgNjcsIDIsIDkxLCA3LCA2LCAxLCAyMzMsIDE0OSwgMiwgMTMwLCA3LCA2LCAxLCAyMTcsIDE1MywgMiwgMjQ3LCAKKyAgICAyNTUsIDkxLCA3LCA0LCAxLCAyMjIsIDkyLCAyLCAyMTcsIDI1MCwgMjE3LCA3NywgNywgNCwgMSwgMjEwLCAxNjAsIDIsIAorICAgIDIxNywgMjUwLCAyMTcsIDc3LCA3LCA2LCAxLCAyNDIsIDE4MCwgMjE4LCAxMjksIDcsIDQsIDEsIDI0MiwgMTgwLCAyMTgsIAorICAgIDEyOSwgNywgNiwgMSwgNTcsIDIsIDkxLCA3LCA2LCAxLCAxMDQsIDEzMCwgNywgNiwgMSwgMjE1LCA5NCwgMjE0LCAxMDUsIAorICAgIDcsIDYsIDEsIDE2MCwgMiwgOTEsIDcsIDQsIDEsIDE2MCwgMiwgOTEsIDcsIDYsIDEsIDIzNSwgMTQ1LCAyLCA5MSwgNywgNCwgCisgICAgMSwgMjM1LCAxNDUsIDIsIDkxLCA3LCA2LCAxLCA0LCAyMjQsIDk3LCAyLCAyNDEsIDUyLCAyMTcsIDc3LCA3LCA0LCAxLCAKKyAgICAyMjQsIDk3LCAyLCAyNDEsIDUyLCAyMTcsIDc3LCA3LCA2LCAxLCAyMjMsIDIyNCwgMiwgOTEsIDcsIDQsIDEsIDIyMywgCisgICAgMjI0LCAyLCA5MSwgNywgNiwgMSwgMjExLCAxMTgsIDIsIDkxLCA3LCA0LCAxLCAyMTEsIDExOCwgMiwgOTEsIDcsIDQsIDEsIAorICAgIDIxNSwgOTQsIDYxLCA3LCA0LCAxLCAyNTQsIDE0MywgNywgNCwgMSwgMjE1LCA5NCwgMjU0LCAxNDMsIDcsIDQsIDEsIDU3LCAKKyAgICAyLCAxMDMsIDcsIDQsIDEsIDIwNCwgNzYsIDcsIDQsIDEsIDI1MSwgNjcsIDIsIDI0OSwgMTAwLCA3LCA0LCAxLCAyNDksIAorICAgIDYxLCAyLCAyMTcsIDc3LCA3LCA0LCAxLCAyNDksIDYxLCAyLCAxMDMsIDcsIDQsIDEsIDIyMywgNDksIDc1LCA3LCA0LCAxLCAKKyAgICAyMjEsIDE5NSwgNywgNCwgMSwgMjIxLCAxOTYsIDIsIDEwMywgNywgNCwgMSwgMjA0LCA3NSwgNywgNCwgMSwgMjIzLCA0OSwgCisgICAgMjA0LCA3NSwgNywgNCwgMSwgMjIzLCA0OSwgMjA0LCAxNjAsIDIsIDEwMywgNywgNCwgMSwgMjUwLCAwLCAyMjMsIDQ5LCAKKyAgICAyMDQsIDc1LCA3LCA0LCAxLCAyNDcsIDExOSwgMjM1LCAxNDUsIDIsIDkxLCA3LCA0LCAxLCAyNDMsIDIwMywgMiwgMTAzLCAKKyAgICA3LCA0LCAxLCAxMTksIDI0MywgMjAyLCA3LCAxLCA0LCA2LCAyNDMsIDIwMiwgNywgNCwgMSwgMjQzLCAxMDcsIDcsIDQsIDEsIAorICAgIDIyMywgMTUxLCAyNDAsIDI0OCwgNywgNCwgMSwgMjE1LCA5NCwgMjQyLCA2MCwgNywgNCwgMSwgMjQyLCA2MSwgMiwgMTAzLCAKKyAgICA3LCA0LCAxLCAyNDEsIDIwOCwgMiwgMTAzLCA3LCA0LCAxLCAyNDAsIDE1NCwgMiwgOTEsIDcsIDQsIDEsIDIzNSwgMTg1LCAKKyAgICA3LCAxLCA0LCA2LCA3MywgNywgNCwgMSwgMjMzLCAxNDksIDIsIDIzMCwgMjI0LCAxODIsIDcsIDQsIDEsIDIzMywgMTQ5LCAKKyAgICAyLCAyNTIsIDQxLCA3LCA0LCAxLCAyMzMsIDE0OSwgMiwgMjIzLCA1NSwgMTAzLCA3LCA0LCAxLCAyMzMsIDEsIDcsIDQsIDEsIAorICAgIDIxNSwgOTQsIDE5MywgNywgNCwgMSwgMjE1LCA5NCwgMjMyLCA1MCwgMiwgMTk5LCAyMzMsIDM2LCA3LCA0LCAxLCAyMzIsIAorICAgIDUwLCAyLCAxMDMsIDcsIDQsIDEsIDIzMCwgMjYsIDIsIDQzLCAxMDMsIDcsIDQsIDEsIDIzMCwgMjYsIDIsIDIyMywgNTUsIAorICAgIDEwMywgNywgMSwgNCwgNiwgMjMwLCAyNSwgNywgNCwgMSwgMjUyLCAxMzQsIDc2LCA3LCAxLCA0LCA2LCAyMjYsIDIzNCwgNywgCisgICAgNCwgMSwgMjUwLCAwLCAyMjYsIDIwMSwgNywgNCwgMSwgMjI1LCAxMzMsIDcsIDQsIDEsIDIxNSwgOTQsIDE1MywgNywgNCwgCisgICAgMSwgMjE1LCA5NCwgMjIzLCAyMjQsIDIsIDE5OSwgMjMzLCAzNiwgNywgNCwgMSwgMjE1LCA5NCwgMjIzLCAyMjQsIDIsIAorICAgIDEwMywgNywgNCwgMSwgMjIzLCAyMjQsIDIsIDE5OSwgMjMzLCAzNiwgNywgNCwgMSwgMjIzLCAyMjQsIDIsIDIxNywgNzcsIAorICAgIDcsIDQsIDEsIDIyMywgMjI0LCAyLCAyNDQsIDg3LCA3LCA0LCAxLCAyMjMsIDQ5LCAyMjMsIDIyNCwgMiwgMjQ0LCA4NywgNywgCisgICAgMSwgNCwgNiwgMTUzLCA3LCAxLCA0LCA2LCAyMzUsIDE5MywgMTUzLCA3LCA0LCAxLCAyMjIsIDkyLCAyLCAxMDMsIDcsIDQsIAorICAgIDEsIDI0NSwgNzUsIDcsIDQsIDEsIDI0NywgMTE5LCAyMzUsIDE0NSwgMiwgMjE4LCAxMDMsIDIyLCAxMDMsIDcsIDQsIDEsIAorICAgIDIxOCwgMjMxLCAyMjMsIDQ5LCAyNDUsIDc1LCA3LCA0LCAxLCAyNDUsIDc2LCAyLCAyNDksIDEwMCwgNywgNCwgMSwgMjE1LCAKKyAgICA5NCwgMjE3LCAxNTIsIDcsIDQsIDEsIDIxNywgMTUzLCAyLCAyMjMsIDU1LCAxMDMsIDcsIDQsIDEsIDEwNCwgMTMwLCA3LCAKKyAgICA0LCAxLCAyMTQsIDE1NywgNywgNCwgMSwgMjE0LCAxMDYsIDIsIDEwMywgNywgNCwgMSwgMjE1LCA5NCwgMjE0LCAxMDUsIDcsIAorICAgIDQsIDEsIDIxNSwgOTQsIDIxMiwgOTgsIDcsIDQsIDEsIDIxNSwgOTQsIDIxMSwgMTE3LCA3LCAxLCA0LCA2LCAyMTEsIDExNywgCisgICAgNywgNCwgMSwgMjEwLCAxNjAsIDIsIDIyMywgNTUsIDEwMywgNywgNCwgMSwgMjEwLCAxNjAsIDIsIDI0OSwgMTAwLCA3LCA0LCAKKyAgICAxLCAyNDUsIDgsIDcsIDQsIDEsIDI0NSwgOSwgMiwgMjQ5LCAxMDAsIDcsIDEsIDI0MiwgMTgwLCAyMTgsIDEyOSwgNywgMSwgCisgICAgMjI1LCAxMzksIDIxMywgMTM1LCAyNDMsIDI0OSwgNywgMSwgMjM1LCAxOTMsIDI0MiwgMTgwLCAyMTgsIDEyOSwgNywgMSwgCisgICAgMjE4LCAxMTAsIDI1MSwgNjYsIDcsIDEsIDI1MSwgMjQ2LCAyNTAsIDExLCA3LCAxLCA0LCA2LCAyNTMsIDE1OCwgNywgNCwgCisgICAgMSwgMjUwLCAwLCAyMDQsIDc1LCA3LCAxLCA0LCA2LCAyNDMsIDIwMywgMiwgMTAzLCA3LCAxLCA0LCA2LCAyNDIsIDYwLCA3LCAKKyAgICA0LCAxLCAyMzUsIDE0NSwgMiwgMjQ5LCAxMjcsIDcsIDQsIDEsIDIxNSwgOTQsIDIzNSwgMjMsIDcsIDEsIDQsIDYsIDE1NiwgCisgICAgNywgNCwgMSwgMjI0LCA5NywgMiwgMTAzLCA3LCAxLCAyNDIsIDE4MCwgMjE4LCAxMzAsIDIsIDkxLCA3LCAxLCAyMjMsIDQ5LCAKKyAgICAyNDIsIDE4MCwgMjE4LCAxMzAsIDIsIDkxLCA3LCA0LCAxLCAyNDYsIDQwLCAyNDcsIDIyMCwgNywgNCwgMSwgMjQ4LCAyNiwgCisgICAgMjQ3LCAyMjAsIDcsIDQsIDEsIDI0NiwgNDAsIDI0NywgMjIxLCAyLCAyNDksIDEwMCwgNywgNCwgMSwgMjE1LCAxODUsIAorICAgIDI0NywgMjIwLCA3LCA0LCAxLCAyMTYsIDIzNSwgMjQ3LCAyMjAsIDcsIDQsIDEsIDIxNywgMjksIDI0NywgMjIxLCAyLCAKKyAgICAyNDksIDEwMCwgNywgNCwgMSwgMjQ0LCAxMzQsIDI0NywgMjIwLCA3LCA0LCAxLCAyMzIsIDEwMCwgMjQ3LCAyMjAsIDcsIDQsIAorICAgIDEsIDIzMiwgNTEsIDI0NywgMjIwLCA3LCAxLCAyNTEsIDI0NiwgMjI1LCAxODEsIDcsIDEsIDI1MSwgMjU0LCAyMjUsIDE4MSwgCisgICAgNywgNCwgMSwgMjE1LCA5NCwgMjQyLCA2MSwgMiwgMjQ0LCA4NywgNywgNCwgMSwgMjE1LCA5NCwgMjQyLCA2MSwgMiwgMjQ0LCAKKyAgICA4OCwgMjIsIDIxNywgNzcsIDU4LCAxLCA0LCAyNDIsIDYwLCA1OCwgMSwgNCwgMjQyLCA2MSwgMiwgMTAzLCA1OCwgMSwgNCwgCisgICAgMjM1LCAxNDQsIDU4LCAxLCA0LCAxNTMsIDU4LCAxLCA0LCAyMTUsIDk0LCAxNTMsIDU4LCAxLCA0LCAyMTUsIDk0LCAyMjMsIAorICAgIDIyNCwgMiwgMTAzLCA1OCwgMSwgNCwgNiwgMjM1LCAxOTMsIDE1MywgNTgsIDEsIDQsIDIxMiwgOTgsIDU4LCAxLCA0LCAKKyAgICAyMTEsIDExNywgNTgsIDEsIDIyNCwgMTkwLCA1OCwgMSwgNTIsIDIyNCwgMTkwLCA1OCwgMSwgMjE1LCA5NCwgMjQ5LCAyMTksIAorICAgIDU4LCAxLCAyNTQsIDU3LCA1OCwgMSwgMjIzLCA0OSwgMjQ5LCAyMTksIDU4LCAxLCA0NCwgMTYzLCAyMjIsIDIzMywgNTgsIAorICAgIDEsIDQzLCAxNjMsIDIyMiwgMjMzLCA1OCwgMSwgMjQyLCAxODAsIDIxOCwgMTI5LCA1OCwgMSwgMjIzLCA0OSwgMjQyLCAKKyAgICAxODAsIDIxOCwgMTI5LCA1OCwgMSwgNDMsIDI1MywgMjQ5LCA1OCwgMSwgNDQsIDI1MywgMjQ5LCA1OCwgMSwgMTIwLCAyNTMsIAorICAgIDI0OSwgNTgsIDEsIDEyNCwgMjUzLCAyNDksIDU4LCAxLCAyNTAsIDMxLCAyNTUsIDE0LCAyNTAsIDIzNCwgNTgsIDEsIDY3LCAKKyAgICAyMzIsIDIxMywgNTgsIDEsIDIzMSwgMjMyLCA1OCwgMSwgMjU1LCAzLCAyNTUsIDE0LCA1OCwgMSwgMjQyLCAxMzcsIDI1NSwgCisgICAgMTQsIDU4LCAxLCAxMjEsIDY3LCAyMzIsIDIxMywgNTgsIDEsIDEyMSwgMjMxLCAyMzIsIDU4LCAxLCAxMjEsIDI0MiwgMTM3LCAKKyAgICAyNTUsIDE0LCA1OCwgMSwgMTIxLCAyNTUsIDMsIDI1NSwgMTQsIDU4LCAxLCAyMTUsIDIyMiwgMjQ5LCAyMjYsIDU4LCAxLCAKKyAgICAxNjMsIDIxNSwgMjIyLCAyNDksIDIyNiwgNTgsIDEsIDI1MCwgMTczLCA0NCwgMTYzLCAyMjIsIDIzMywgNTgsIDEsIDI1MCwgCisgICAgMTczLCA0MywgMTYzLCAyMjIsIDIzMywgNTgsIDEsIDEyMCwgMjE3LCA4NywgNTgsIDEsIDEyNCwgMjE3LCA4NywgNTgsIDEsIAorICAgIDk2LCA1MCwgNTgsIDEsIDIzMCwgMTgyLCA1MCwgMjUxLCAxNDYsIDU5LCA0OCwgMjIyLCAyMzQsIDQ4LCAyMjYsIDIyNCwgNCwgCisgICAgMTgyLCA1MiwgMjU1LCAzLCAyNTUsIDE0LCA1OCwgMSwgMjIzLCAzNiwgMTAzLCA1OCwgMSwgMjQ5LCAxMzEsIDI1NSwgMTQsIAorICAgIDU4LCAxLCA0LCAyNDMsIDEwNywgNTgsIDEsIDQsIDE1NiwgNTgsIDEsIDQsIDIyMiwgOTEsIDU4LCAxLCA0LCAyMTEsIDE3OCwgCisgICAgNTgsIDEsIDQsIDIyMywgNDksIDI0MiwgMTgwLCAyMTgsIDEyOSwgNTgsIDEsIDI0NSwgMjAsIDEzOCwgMTMwLCA1OCwgMSwgCisgICAgMTI1LCAxMzgsIDEzMCwgNTgsIDEsIDIzMCwgMjI1LCAxMzgsIDEzMCwgNTgsIDEsIDEyMSwgMTM4LCAxMzAsIDU4LCAxLCAKKyAgICAyNDUsIDE5LCAxMzgsIDEzMCwgNTgsIDEsIDIxMCwgMjU0LCAyNDgsIDQ0LCAxMzgsIDc4LCA1OCwgMSwgMjExLCA3MCwgCisgICAgMjQ4LCA0NCwgMTM4LCA3OCwgNTgsIDEsIDIxMywgMTMzLCA1OCwgMSwgMjE0LCAxODYsIDU4LCAxLCA1MiwgMjU0LCA1NywgCisgICAgNTgsIDEsIDEyMSwgMTI0LCAyNTMsIDI0OSwgNTgsIDEsIDEyMSwgMTIwLCAyNTMsIDI0OSwgNTgsIDEsIDEyMSwgNDMsIAorICAgIDI1MywgMjQ5LCA1OCwgMSwgMTIxLCA0NCwgMjUzLCAyNDksIDU4LCAxLCAxMjEsIDIyMiwgMjMzLCA1OCwgMSwgMjMwLCAKKyAgICAyMjQsIDI0MiwgMTM3LCAyNTUsIDE0LCA1OCwgMSwgMjMwLCAyMjQsIDUyLCAyNDIsIDEzNywgMjU1LCAxNCwgNTgsIDEsIAorICAgIDIzMCwgMjI0LCA1MiwgMjU1LCAzLCAyNTUsIDE0LCA1OCwgMSwgMTIxLCAxODIsIDU4LCAxLCAyMjMsIDE1NywgMjQ5LCAKKyAgICAyMjYsIDU4LCAxLCAyNTIsIDU4LCAxMjUsIDIxNiwgMzAsIDU4LCAxLCAyNDUsIDE0MywgMTI1LCAyMTYsIDMwLCA1OCwgMSwgCisgICAgMjUyLCA1OCwgMTIxLCAyMTYsIDMwLCA1OCwgMSwgMjQ1LCAxNDMsIDEyMSwgMjE2LCAzMCwgNTgsIDEsIDIyMCwgNTQsIDU4LCAKKyAgICAxLCAyMDQsIDIyMCwgNTQsIDU4LCAxLCAxMjEsIDQzLCA3NCwgMzgsIDI0MiwgMTM3LCAyNTUsIDE0LCAzOCwgMjU1LCAzLCAKKyAgICAyNTUsIDE0LCAzOCwgMjUwLCAzMSwgMjU1LCAxNCwgMzgsIDE4MiwgMzgsIDIzMSwgMjMyLCAzOCwgMjI2LCAxMTksIDM4LCAKKyAgICAyNTEsIDE0NiwgMzgsIDU5LCA0OCwgMzgsIDI0OCwgMSwgMzgsIDI0MSwgNTIsIDQ4LCAzOCwgMjIyLCAyMzQsIDQ4LCAzOCwgCisgICAgNTIsIDI1NSwgMywgMjU1LCAxNCwgMzgsIDI1MCwgMjM0LCAzOCwgNjcsIDIzMiwgMjE0LCA0OCwgMzgsIDUyLCA2NywgMjMyLCAKKyAgICAyMTQsIDQ4LCAzOCwgNTIsIDI0MiwgMTM3LCAyNTUsIDE0LCAzOCwgMjUwLCAyNTUsIDM4LCAyMzUsIDE5MywgMjUxLCAxNDYsIAorICAgIDM4LCAyMTUsIDk0LCAyNDksIDIyMCwgNDgsIDM4LCAyNDksIDIyMCwgNDgsIDM4LCAyMjMsIDQ5LCAyNDksIDIyMCwgNDgsIAorICAgIDM4LCAyNDksIDIyMCwgNzcsIDIyMiwgMjUxLCAzOCwgMjQyLCAxMzcsIDI1NSwgMTUsIDUxLCAzOCwgMjU1LCAzLCAyNTUsIAorICAgIDE1LCA1MSwgMzgsIDQzLCAyMTcsIDg4LCA1MSwgMzgsIDQ0LCAyMTcsIDg4LCA1MSwgMzgsIDQzLCAyNTQsIDExMCwgNDgsIAorICAgIDM4LCAyNDAsIDI0OCwgMzgsIDQzLCAxNjMsIDIyMiwgMjM0LCA1MSwgMzgsIDEyMCwgMjE3LCA4OCwgNTEsIDM4LCAxMjQsIAorICAgIDIxNywgODgsIDUxLCAzOCwgOTYsIDUsIDUxLCAzOCwgMjMwLCAxODIsIDUsIDUxLCAzOCwgMjI2LCA2NCwgMjQxLCA1MiwgCisgICAgNTEsIDM4LCAyMjMsIDU1LCAyNDEsIDUyLCA1MSwgMzgsIDU5LCA1MSwgMzgsIDI0OCwgMiwgNTEsIDM4LCAyMjIsIDIzNCwgCisgICAgNTEsIDM4LCAyNDksIDIyMCwgNTEsIDM4LCAyNTAsIDE4MywgMzgsIDIyNiwgMjI0LCAzOCwgNjcsIDIzMiwgMjE0LCA1MSwgCisgICAgMzgsIDI1MSwgMTQwLCA1MSwgMzgsIDIzNSwgMTkzLCA1MiwgMjU0LCAyNCwgNTEsIDM4LCAyNTAsIDIzNSwgNTEsIDM4LCAKKyAgICAyNTAsIDMxLCAyNTUsIDE1LCA1MSwgMzgsIDI1MSwgMTQ3LCA1MSwgMzgsIDIzNSwgMTkzLCAyNTEsIDE0NywgNTEsIDM4LCAKKyAgICAyMTYsIDg5LCA1MSwgMzgsIDIzMSwgMjMzLCA1MSwgMzgsIDEyMSwgMjMyLCAyMTMsIDM4LCA1MiwgMTIxLCAyMzIsIDIxMywgCisgICAgMzgsIDIxNiwgODksIDIyNiwgMTIwLCAzOCwgMjE5LCAyNTEsIDIxOCwgMTAzLCAyMjYsIDEyMCwgMzgsIDE5OSwgMjE4LCAKKyAgICAxMDMsIDIyNiwgMTIwLCAzOCwgMjE5LCAyNTEsIDIxOSwgNDcsIDIyNiwgMTIwLCAzOCwgMTk5LCAyMTksIDQ3LCAyMjYsIAorICAgIDEyMCwgMzgsIDQ0LCAxNjMsIDIyMiwgMjM0LCA1MSwgMzgsIDIzNSwgMTkzLCAyNTEsIDE0MCwgNTEsIDM4LCA0MiwgNTEsIAorICAgIDM4LCAyMjEsIDE4MCwgNTEsIDM4LCAyMTEsIDE3OSwgNDgsIDM4LCA2NywgMTgyLCAzOCwgNTIsIDIyNiwgMTE5LCAzOCwgCisgICAgMjQyLCAxMzcsIDEzOCwgNzgsIDM4LCAyNTUsIDMsIDEzOCwgNzgsIDM4LCAyNiwgMjI1LCAxNzUsIDM4LCAyNiwgMjM0LCAyLCAKKyAgICAzOCwgMjYsIDI0NywgMjUyLCAyMTYsIDE4LCAzOCwgMjYsIDIxMCwgMjE5LCAzOCwgMjUxLCAxNDAsIDQ4LCAzOCwgMjQ1LCAKKyAgICA5OCwgNSwgNTEsIDM4LCA1MiwgNjcsIDIzMiwgMjE0LCA1MSwgMzgsIDQzLCAyNTQsIDExMCwgNTEsIDM4LCAyMjgsIDUyLCAKKyAgICAyMTYsIDg5LCA0OCwgMzgsIDI0MSwgNTgsIDQ4LCAzOCwgMjU0LCAxNDgsIDEyOCwgMjE2LCA0MiwgNDgsIDM4LCA0MywgNDQsIAorICAgIDgwLCA1MSwgMzgsIDIxNCwgMTUzLCA4MCwgNTEsIDM4LCAyNDIsIDE0MiwgMjM1LCA2MywgMzgsIDQ0LCAyNTMsIDI1MCwgCisgICAgNDgsIDM4LCA0MywgMTYzLCAyMjIsIDIzNCwgNDgsIDM4LCAyNDQsIDEzMSwgMzgsIDIxMSwgMTc5LCA1MSwgMzgsIDQzLCAKKyAgICAyNTMsIDI1MCwgNTEsIDM4LCA0NCwgMjUzLCAyNTAsIDUxLCAzOCwgNDQsIDI1MywgMjUwLCAyMiwgMTIwLCAyNTMsIDI1MCwgCisgICAgNTEsIDM4LCA0NCwgMTYzLCAyMjIsIDIzNCwgNDgsIDM4LCA1OSwgNzcsIDIyMiwgMjUxLCAzOCwgMjUzLCAyMTcsIDUxLCAKKyAgICAzOCwgNTIsIDIyMiwgMjM0LCA1MSwgMzgsIDIxMCwgMzUsIDQ4LCAzOCwgNTIsIDI1MSwgMTQ3LCA1MSwgMzgsIDUyLCAyNTEsIAorICAgIDE0NiwgMzgsIDUyLCAyMzEsIDIzMiwgMzgsIDUyLCAyMzEsIDIzMywgNTEsIDM4LCA1MiwgMTgyLCAzOCwgNTIsIDIzNSwgCisgICAgMTkzLCAyNTEsIDE0NiwgMzgsIDUyLCA5NywgODAsIDUxLCAzOCwgNywgNCwgMSwgNjEsIDM4LCA3LCA0LCAxLCA3NSwgMzgsIAorICAgIDcsIDQsIDEsIDczLCAzOCwgNywgNCwgMSwgNzYsIDM4LCA3LCA0LCAxLCA3MCwgMzgsIDcsIDQsIDEsIDI1MSwgNjYsIDM4LCAKKyAgICA3LCA0LCAxLCAyNDksIDYwLCAzOCwgNywgNCwgMSwgMjQyLCA2MCwgMzgsIDcsIDQsIDEsIDE5MywgMzgsIDcsIDQsIDEsIAorICAgIDE1MywgMzgsIDcsIDQsIDEsIDIxNywgMTUyLCAzOCwgNywgNCwgMSwgMjE0LCAxMDUsIDM4LCA3LCA0LCAxLCAyMTEsIDE3OCwgCisgICAgMjYsIDYsIDEsIDI0MSwgMTk2LCAyNiwgNCwgMSwgMjQxLCAxOTYsIDI2LCA2LCAxLCAyNTQsIDIzLCAyMjEsIDI0NiwgMjYsIAorICAgIDQsIDEsIDI1NCwgMjMsIDIyMSwgMjQ2LCAyNiwgMjI3LCAxOTgsIDUwLCAyNiwgMjMyLCAxMDgsIDIyNywgMTk4LCA1MCwgCisgICAgMjYsIDYsIDEsIDIyNiwgNTEsIDI0NywgMjI3LCAyNiwgNCwgMSwgMjI2LCA1MSwgMjQ3LCAyMjcsIDI2LCAyMTAsIDIxOSwgCisgICAgMjYsIDQsIDIyMywgNDksIDIzMiwgODMsIDIxOSwgMTc4LCA4NywgMjYsIDQsIDI0NiwgMTE4LCAyMzIsIDgzLCAyMTksIAorICAgIDE3OCwgODcsIDI2LCA0LCAyMjMsIDQ5LCAyNDYsIDExOCwgMjMyLCA4MywgMjE5LCAxNzgsIDg3LCAyNiwgMjI0LCAxMywgCisgICAgNzgsIDI2LCAyMTYsIDE4LCAyNiwgMjQ3LCAyNTIsIDIxNiwgMTgsIDI2LCA2LCAxLCAyNTQsIDE0NCwgMiwgMjE2LCAxOCwgCisgICAgMjYsIDI1NCwgOTcsIDIxNywgMiwgMjYsIDYsIDEsIDI0NSwgMTAxLCAyLCAyMTYsIDE4LCAyNiwgNiwgMSwgMjQ1LCA2NCwgCisgICAgMiwgMjE2LCAxOCwgMjYsIDYsIDEsIDIzNSwgMTg2LCAyLCAyMTYsIDE4LCAyNiwgNiwgMSwgMjI2LCAyMDAsIDIsIDIxNiwgCisgICAgMTgsIDI2LCA2LCAxLCAyMTQsIDE1OCwgMiwgMjE2LCAxOCwgMjYsIDYsIDEsIDIyNiwgMjAyLCAyLCAyMTYsIDE4LCAyNiwgCisgICAgNCwgMSwgMjM1LCAxODYsIDIsIDI0NywgMjUyLCAyMiwgMjE2LCAxOCwgMjYsIDYsIDEsIDI1NCwgMTQzLCAyNiwgNiwgMSwgCisgICAgMjUyLCAyNiwgMjYsIDYsIDEsIDI0MywgMTA3LCAyNiwgNiwgMSwgMjQ4LCA1NCwgMjYsIDYsIDEsIDI0NSwgMTAwLCAyNiwgCisgICAgNiwgMSwgMjEwLCA4NSwgMjYsIDYsIDEsIDI0NSwgNjMsIDI2LCA2LCAxLCAyMTYsIDE3OSwgMjYsIDYsIDEsIDIzNSwgMTg1LCAKKyAgICAyNiwgNiwgMSwgMjM0LCAyMjIsIDI2LCA2LCAxLCAyMzMsIDk4LCAyNiwgNiwgMSwgMjMwLCAxMDIsIDI2LCA2LCAxLCAyMjcsIAorICAgIDIzNywgMjYsIDYsIDEsIDIxMSwgMTU3LCAyNiwgNiwgMSwgMjI2LCAxOTksIDI2LCA2LCAxLCAyMjUsIDEwOCwgMjYsIDYsIAorICAgIDEsIDIyMywgMzcsIDI2LCA2LCAxLCAyMTksIDE3NywgMjYsIDYsIDEsIDIxNywgNDEsIDI2LCA2LCAxLCAyMTQsIDE1NywgCisgICAgMjYsIDYsIDEsIDIyNSwgMTMzLCAyNiwgNiwgMSwgMjUwLCAxMTAsIDI2LCA2LCAxLCAyMjQsIDE2MSwgMjYsIDYsIDEsIAorICAgIDIyNiwgMjAxLCAyNiwgNiwgMSwgMjM1LCAxODYsIDIsIDI0NywgMjUxLCAyNiwgNiwgMSwgMjE0LCAxNTgsIDIsIDI0NywgCisgICAgMjUxLCAyNiwgNCwgMSwgMjU0LCAxNDQsIDIsIDIxNiwgMTgsIDI2LCA0LCAxLCAyNDUsIDEwMSwgMiwgMjE2LCAxOCwgMjYsIAorICAgIDQsIDEsIDI0NSwgNjQsIDIsIDIxNiwgMTgsIDI2LCA0LCAxLCAyMzUsIDE4NiwgMiwgMjE2LCAxOCwgMjYsIDQsIDEsIDIxNCwgCisgICAgMTU4LCAyLCAyNDcsIDI1MiwgMjIsIDIxNiwgMTgsIDI2LCA0LCAxLCAyNTQsIDE0MywgMjYsIDQsIDEsIDI1MiwgMjYsIDI2LCAKKyAgICA0LCAxLCAyNDMsIDEwNywgMjYsIDQsIDEsIDI0OCwgNTQsIDI2LCA0LCAxLCAyNDUsIDEwMCwgMjYsIDQsIDEsIDIxMCwgODUsIAorICAgIDI2LCA0LCAxLCAyNDUsIDYzLCAyNiwgNCwgMSwgMjE2LCAxNzksIDI2LCA0LCAxLCAyMzUsIDE4NSwgMjYsIDQsIDEsIDIzNCwgCisgICAgMjIyLCAyNiwgNCwgMSwgMjMzLCA5OCwgMjYsIDQsIDEsIDIzMCwgMTAyLCAyNiwgNCwgMSwgMjI3LCAyMzcsIDI2LCA0LCAxLCAKKyAgICAyMTEsIDE1NywgMjYsIDQsIDEsIDIyNiwgMTk5LCAyNiwgNCwgMSwgMjI1LCAxMDgsIDI2LCA0LCAxLCAyMjMsIDM3LCAyNiwgCisgICAgNCwgMSwgNDAsIDIxOSwgMTc3LCAyNiwgNCwgMSwgMjE5LCAxNzcsIDI2LCA0LCAxLCAyMTcsIDQxLCAyNiwgNCwgMSwgMjE0LCAKKyAgICAxNTcsIDI2LCA0LCAxLCAyMjUsIDEzMywgMjYsIDQsIDEsIDI1MCwgMTEwLCAyNiwgNCwgMSwgMjI0LCAxNjEsIDI2LCA0LCAKKyAgICAxLCAyMjYsIDIwMSwgMjYsIDQsIDEsIDIzNSwgMTg2LCAyLCAyNDcsIDI1MSwgMjYsIDQsIDEsIDIxNCwgMTU4LCAyLCAyNDcsIAorICAgIDI1MSwgMjYsIDQsIDEsIDIyNiwgMjAwLCAyLCAyMTYsIDE4LCAyNiwgNCwgMSwgMjE0LCAxNTgsIDIsIDIxNiwgMTgsIDI2LCAKKyAgICA0LCAxLCAyMjYsIDIwMiwgMiwgMjE2LCAxOCwgMjYsIDYsIDIzNCwgMjQ3LCA4NywgMjYsIDI1MiwgMjcsIDg3LCAyNiwgCisgICAgMjE2LCAxODAsIDg3LCAyNiwgMjE0LCAxNTgsIDIsIDI0MSwgNTIsIDg3LCAyNiwgMjE0LCAxNTgsIDIsIDI1NSwgMywgMjIsIAorICAgIDI0MSwgNTIsIDg3LCAyNiwgMjE0LCAxNTgsIDIsIDI0OCwgMiwgMjIsIDI0MSwgNTIsIDg3LCAyNiwgMjI1LCAxMzQsIDg3LCAKKyAgICAyNiwgMjI1LCAxMDksIDg3LCAyNiwgMjM0LCAyNDcsIDg3LCAyNiwgMSwgMjU0LCAyMywgMjM0LCA2LCAyNiwgNCwgMSwgCisgICAgMjU0LCAyMywgMjM0LCA2LCAyNiwgMSwgMjE4LCAxMzcsIDI2LCA0LCAxLCAyMTgsIDEzNywgMjYsIDEsIDI0NywgMjI3LCAKKyAgICAyNiwgNCwgMSwgMjQ3LCAyMjcsIDI2LCAxLCAyMzQsIDYsIDI2LCA0LCAxLCAyMzQsIDYsIDI2LCAxLCAyMjEsIDI0NiwgMjYsIAorICAgIDQsIDEsIDIyMSwgMjQ2LCA4MSwgNiwgMSwgMjIwLCA1NSwgODEsIDQsIDEsIDIyMCwgNTUsIDgxLCA2LCAxLCAyNDQsIDE0MCwgCisgICAgODEsIDQsIDEsIDI0NCwgMTQwLCA4MSwgNiwgMSwgMjM0LCAxMTcsIDgxLCA0LCAxLCAyMzQsIDExNywgODEsIDYsIDEsIAorICAgIDI0MSwgNDUsIDgxLCA0LCAxLCAyNDEsIDQ1LCA4MSwgNiwgMSwgMjQzLCAxMDIsIDgxLCA0LCAxLCAyNDMsIDEwMiwgODEsIAorICAgIDYsIDEsIDIyMCwgMjIsIDgxLCA0LCAxLCAyMjAsIDIyLCA4MSwgNiwgMSwgMjQ4LCA2OSwgODEsIDQsIDEsIDI0OCwgNjksIAorICAgIDI2LCAyMzQsIDIyMywgODcsIDI2LCAyMjMsIDM4LCA4NywgMjYsIDIzMiwgODMsIDIxOSwgMTc4LCA4NywgMjYsIDEsIDIxMCwgCisgICAgMjI0LCAyNiwgNiwgMjE2LCAxODAsIDg3LCAyNiwgMjMyLCA4MywgMjQ1LCAxMDEsIDg3LCAyNiwgMjIzLCA0OSwgMjMyLCAKKyAgICA4MywgMjQ1LCAxMDEsIDg3LCAyNiwgNiwgMSwgMjIwLCA3LCAyNiwgNCwgMSwgMjIwLCA3LCAyNiwgNiwgMjMyLCA4MywgCisgICAgMjE5LCAxNzgsIDg3LCAyNiwgNiwgMSwgMjIxLCAyNDMsIDI2LCA0LCAxLCAyMjEsIDI0MywgMjYsIDIyMywgMzgsIDIsIAorICAgIDIxOCwgMTAzLCA4NywgMjYsIDYsIDIyMywgNDksIDIzMiwgODMsIDIxOSwgMTc4LCA4NywgMjYsIDYsIDI0NiwgMTE4LCAKKyAgICAyMzIsIDgzLCAyMTksIDE3OCwgODcsIDI2LCA2LCAyMjMsIDQ5LCAyNDYsIDExOCwgMjMyLCA4MywgMjE5LCAxNzgsIDg3LCAKKyAgICAzMywgNiwgMSwgMjM2LCA2MSwgMiwgMjQyLCAxMzYsIDMzLCA2LCAxLCAyMzUsIDE4OSwgMzMsIDYsIDEsIDI0NywgMTYyLCAKKyAgICAzMywgNiwgMSwgMjQyLCAxODcsIDMzLCA2LCAxLCAyMTQsIDIwMiwgMjM2LCA2MCwgMzMsIDYsIDEsIDI0NiwgMzYsIDMzLCAKKyAgICA2LCAxLCAyNTEsIDc2LCA3MywgMzMsIDYsIDEsIDIxMSwgOCwgMzMsIDYsIDEsIDIzNSwgMTI2LCAzMywgNiwgMSwgMjMyLCAKKyAgICAxODcsIDMzLCA2LCAxLCAyMjgsIDE3OCwgMzMsIDYsIDEsIDIxNSwgMTc0LCAzMywgNiwgMSwgMjM0LCA0OCwgMzMsIDYsIDEsIAorICAgIDI0MCwgMTU0LCAyLCAyNDIsIDEzNiwgMzMsIDYsIDEsIDIxOSwgMjUxLCA3MCwgMzMsIDYsIDEsIDI0NiwgMzIsIDMzLCA2LCAKKyAgICAxLCA2MSwgMzMsIDYsIDEsIDI1MiwgNzUsIDMzLCA2LCAxLCAyMTMsIDI1NSwgMzMsIDYsIDEsIDI0MiwgMjM2LCAzMywgNiwgCisgICAgMSwgMjQ4LCA5MCwgMzMsIDYsIDEsIDIzNiwgNjAsIDMzLCA2LCAxLCAyMTAsIDc0LCAzMywgNiwgMSwgMjEwLCA5NCwgMzMsIAorICAgIDYsIDEsIDczLCAzMywgNiwgMSwgMjE5LCAyNTEsIDczLCAzMywgNiwgMSwgMTc2LCAzMywgNiwgMSwgMjQ1LCAxNzQsIDMzLCAKKyAgICA2LCAxLCAyNDUsIDE1OSwgMzMsIDYsIDEsIDI0NSwgMTUwLCAzMywgNiwgMSwgNzYsIDMzLCA2LCAxLCAyMjUsIDIyMSwgMzMsIAorICAgIDYsIDEsIDI0NSwgOTIsIDMzLCA2LCAxLCAyNDUsIDgyLCAzMywgNiwgMSwgMjE3LCAyMiwgMzMsIDYsIDEsIDcwLCAzMywgNiwgCisgICAgMSwgMjQ1LCAyMDIsIDMzLCA2LCAxLCAxNjIsIDMzLCA2LCAxLCAyMTUsIDE3OCwgMzMsIDYsIDEsIDI1MCwgMTMxLCAzMywgCisgICAgNiwgMSwgMjIwLCAxMDIsIDMzLCA2LCAxLCAyMjAsIDY1LCAzMywgNiwgMSwgMjQyLCAzLCA1MCwgMzMsIDYsIDEsIDIxMSwgCisgICAgMjcsIDMzLCA2LCAxLCAyMTksIDUyLCA1MCwgMzMsIDYsIDEsIDc1LCAzMywgNiwgMSwgMjEwLCAyMTIsIDMzLCA2LCAxLCAKKyAgICAxOTEsIDMzLCA0LCAxLCA2MSwgMzMsIDQsIDEsIDI1MiwgNzUsIDMzLCA0LCAxLCAyMTMsIDI1NSwgMzMsIDQsIDEsIDI0MiwgCisgICAgMjM2LCAzMywgNCwgMSwgMjQ4LCA5MCwgMzMsIDQsIDEsIDIzNiwgNjAsIDMzLCA0LCAxLCAyMTAsIDc0LCAzMywgNCwgMSwgCisgICAgMjEwLCA5NCwgMzMsIDQsIDEsIDczLCAzMywgNCwgMSwgMjE5LCAyNTEsIDczLCAzMywgNCwgMSwgMTc2LCAzMywgNCwgMSwgCisgICAgMjQ1LCAxNzQsIDMzLCA0LCAxLCAyNDUsIDE1OSwgMzMsIDQsIDEsIDI0NSwgMTUwLCAzMywgNCwgMSwgNzYsIDMzLCA0LCAxLCAKKyAgICAyMjUsIDIyMSwgMzMsIDQsIDEsIDI0NSwgOTIsIDMzLCA0LCAxLCAyNDUsIDgyLCAzMywgNCwgMSwgMjE3LCAyMiwgMzMsIDQsIAorICAgIDEsIDcwLCAzMywgNCwgMSwgMjQ1LCAyMDIsIDMzLCA0LCAxLCAxNjIsIDMzLCA0LCAxLCAyMTUsIDE3OCwgMzMsIDQsIDEsIAorICAgIDI1MCwgMTMxLCAzMywgNCwgMSwgMjIwLCAxMDIsIDMzLCA0LCAxLCAyMjAsIDY1LCAzMywgNCwgMSwgMjQyLCAzLCA1MCwgCisgICAgMzMsIDQsIDEsIDIxMSwgMjcsIDMzLCA0LCAxLCAyMTksIDUyLCA1MCwgMzMsIDQsIDEsIDc1LCAzMywgNCwgMSwgMjEwLCAKKyAgICAyMTIsIDMzLCA0LCAxLCAxOTEsIDMzLCA0LCAxLCAyMzYsIDYxLCAyLCAyNDIsIDEzNiwgMzMsIDQsIDEsIDIzNSwgMTg5LCAKKyAgICAzMywgNCwgMSwgMjQ3LCAxNjIsIDMzLCA0LCAxLCAyNDIsIDE4NywgMzMsIDQsIDEsIDIxNCwgMjAyLCAyMzYsIDYwLCAzMywgCisgICAgNCwgMSwgMjQ2LCAzNiwgMzMsIDQsIDEsIDI1MSwgNzYsIDczLCAzMywgNCwgMSwgMjExLCA4LCAzMywgNCwgMSwgMjM1LCAKKyAgICAxMjYsIDMzLCA0LCAxLCAyMzIsIDE4NywgMzMsIDQsIDEsIDIyOCwgMTc4LCAzMywgNCwgMSwgMjE1LCAxNzQsIDMzLCA0LCAKKyAgICAxLCAyMzQsIDQ4LCAzMywgNCwgMSwgMjQwLCAxNTQsIDIsIDI0MiwgMTM2LCAzMywgNCwgMSwgMjE5LCAyNTEsIDcwLCAzMywgCisgICAgNCwgMSwgMjQ2LCAzMiwgMzMsIDYsIDEsIDIyNiwgMjAxLCAzMywgNCwgMSwgMjI2LCAyMDEsIDMzLCA2LCAxLCAyMTEsIDU5LCAKKyAgICAzMywgNCwgMSwgMjExLCA1OSwgMzMsIDYsIDEsIDIzNSwgMTgzLCA3NSwgMzMsIDQsIDEsIDIzNSwgMTgzLCA3NSwgMzMsIDYsIAorICAgIDEsIDIzMiwgMTkyLCAyMTAsIDE4MywgMzMsIDQsIDEsIDIzMiwgMTkyLCAyMTAsIDE4MywgMzMsIDYsIDEsIDIzNSwgMTgzLCAKKyAgICAyMzIsIDE5MiwgMjEwLCAxODMsIDMzLCA0LCAxLCAyMzUsIDE4MywgMjMyLCAxOTIsIDIxMCwgMTgzLCAzMywgNiwgMSwgCisgICAgMjUxLCAyNDksIDIxMCwgMTgzLCAzMywgNCwgMSwgMjUxLCAyNDksIDIxMCwgMTgzLCAzMywgNiwgMSwgMjM1LCAxODMsIAorICAgIDI1MSwgMjQ5LCAyMTAsIDE4MywgMzMsIDQsIDEsIDIzNSwgMTgzLCAyNTEsIDI0OSwgMjEwLCAxODMsIDMzLCA2LCAxLCAKKyAgICAyMzMsIDIzMywgMzMsIDQsIDEsIDIzMywgMjMzLCAzMywgNiwgMSwgMjI0LCAxNjEsIDMzLCA0LCAxLCAyMjQsIDE2MSwgMzMsIAorICAgIDYsIDEsIDI0NCwgODIsIDMzLCA0LCAxLCAyNDQsIDgyLCAzMywgNiwgMSwgMjM1LCAxNDYsIDMzLCA0LCAxLCAyMzUsIDE0NiwgCisgICAgMzMsIDYsIDEsIDIzNSwgMTQ3LCAyLCA1MiwgMjQyLCAxMzcsIDI1NSwgMTQsIDMzLCA0LCAxLCAyMzUsIDE0NywgMiwgNTIsIAorICAgIDI0MiwgMTM3LCAyNTUsIDE0LCAzMywgNiwgMSwgMjE0LCAyMDUsIDMzLCA0LCAxLCAyMTQsIDIwNSwgMzMsIDYsIDEsIDIyMiwgCisgICAgMTg1LCAyMjYsIDIwMSwgMzMsIDQsIDEsIDIyMiwgMTg1LCAyMjYsIDIwMSwgMzMsIDYsIDEsIDIyNiwgMjAyLCAyLCAyMTYsIAorICAgIDY1LCAzMywgNCwgMSwgMjI2LCAyMDIsIDIsIDIxNiwgNjUsIDMzLCA2LCAxLCAyMjYsIDE0MCwgMzMsIDQsIDEsIDIyNiwgCisgICAgMTQwLCAzMywgNiwgMSwgMjM0LCA2LCAzMywgNCwgMSwgMjM0LCA2LCAzMywgMjE2LCAxNDYsIDUwLCAzOCwgMzMsIDIxNiwgCisgICAgNjUsIDM4LCAzMywgMjI2LCA2NSwgMzgsIDMzLCAyNDgsIDE1NCwgMjI1LCAxOCwgMzgsIDMzLCAyMjQsIDE1NSwgMjI1LCAKKyAgICAxOCwgMzgsIDMzLCAyMjUsIDMsIDM4LCAzMywgMjQwLCAyMTEsIDIxNiwgMTQ2LCA1MCwgMzgsIDMzLCAyMzAsIDE5MSwgNTAsIAorICAgIDMzLCA2LCAxLCAyMTksIDI1MSwgMjQwLCAxNTQsIDIsIDIxNywgNzcsIDMzLCA0LCAxLCAyMTksIDI1MSwgMjQwLCAxNTQsIAorICAgIDIsIDIxNywgNzcsIDMzLCA2LCAxLCAyMjAsIDE0NiwgNTAsIDMzLCA0LCAxLCAyMjAsIDE0NiwgNTAsIDMzLCA2LCAxLCAKKyAgICAyNDUsIDkzLCAyLCAyMTYsIDExNCwgMzMsIDQsIDEsIDI0NSwgOTMsIDIsIDIxNiwgMTE0LCAzMywgNiwgMSwgMjQyLCAyMzcsIAorICAgIDIsIDIxNCwgMTU2LCAzMywgNCwgMSwgMjQyLCAyMzcsIDIsIDIxNCwgMTU2LCAzMywgNiwgMSwgMjQyLCAyMzcsIDIsIDkxLCAKKyAgICAzMywgNCwgMSwgMjQyLCAyMzcsIDIsIDkxLCAzMywgNiwgMSwgMjQyLCAyMzcsIDIsIDIzMCwgMjI0LCAxMDMsIDMzLCA0LCAKKyAgICAxLCAyNDIsIDIzNywgMiwgMjMwLCAyMjQsIDEwMywgMzMsIDYsIDEsIDIxMCwgNzUsIDIsIDI0OCwgMzksIDMzLCA0LCAxLCAKKyAgICAyMTAsIDc1LCAyLCAyNDgsIDM5LCAzMywgNiwgMSwgMjEwLCA5NSwgMiwgMjQ4LCAzOSwgMzMsIDQsIDEsIDIxMCwgOTUsIDIsIAorICAgIDI0OCwgMzksIDMzLCA2LCAxLCAyMzUsIDEzLCAyLCAyNDgsIDM5LCAzMywgNCwgMSwgMjM1LCAxMywgMiwgMjQ4LCAzOSwgCisgICAgMzMsIDYsIDEsIDIzNSwgMTMsIDIsIDY3LCA5MSwgMzMsIDQsIDEsIDIzNSwgMTMsIDIsIDY3LCA5MSwgMzMsIDYsIDEsIAorICAgIDIzNSwgMTMsIDIsIDkxLCAzMywgNCwgMSwgMjM1LCAxMywgMiwgOTEsIDMzLCA2LCAxLCAyNTIsIDEyNCwgMTc2LCAzMywgNCwgCisgICAgMSwgMjUyLCAxMjQsIDE3NiwgMzMsIDYsIDEsIDI0NSwgMTUxLCAyLCAyNDgsIDM5LCAzMywgNCwgMSwgMjQ1LCAxNTEsIDIsIAorICAgIDI0OCwgMzksIDMzLCA2LCAyNywgMjQ1LCAxNTEsIDI0MiwgMjM2LCAzMywgNCwgMjcsIDI0NSwgMTUxLCAyNDIsIDIzNiwgCisgICAgMzMsIDYsIDEsIDIyNSwgMjIyLCAyLCAyMzAsIDIyNCwgMTAzLCAzMywgNCwgMSwgMjI1LCAyMjIsIDIsIDIzMCwgMjI0LCAKKyAgICAxMDMsIDMzLCA2LCAxLCAyNTUsIDIwLCAxNjIsIDMzLCA0LCAxLCAyNTUsIDIwLCAxNjIsIDMzLCA2LCAxLCAyNDUsIDgzLCAKKyAgICAyLCAyNDgsIDM5LCAzMywgNCwgMSwgMjQ1LCA4MywgMiwgMjQ4LCAzOSwgMzMsIDYsIDEsIDIxNywgMjMsIDIsIDI0OCwgMzksIAorICAgIDMzLCA0LCAxLCAyMTcsIDIzLCAyLCAyNDgsIDM5LCAzMywgNiwgMSwgMjE4LCAxMjEsIDcwLCAzMywgNCwgMSwgMjE4LCAKKyAgICAxMjEsIDcwLCAzMywgNiwgMSwgMjE4LCAxMjEsIDEwNCwgMiwgOTEsIDMzLCA0LCAxLCAyMTgsIDEyMSwgMTA0LCAyLCA5MSwgCisgICAgMzMsIDYsIDEsIDI0MiwgNDksIDIsIDI0OCwgMzksIDMzLCA0LCAxLCAyNDIsIDQ5LCAyLCAyNDgsIDM5LCAzMywgNiwgMjcsIAorICAgIDIxNywgMjMsIDIxNSwgMTc4LCAzMywgNCwgMjcsIDIxNywgMjMsIDIxNSwgMTc4LCAzMywgNiwgMSwgMjUwLCAxMzIsIDIsIAorICAgIDI0OCwgMzksIDMzLCA0LCAxLCAyNTAsIDEzMiwgMiwgMjQ4LCAzOSwgMzMsIDYsIDEsIDI1MCwgMTMyLCAyLCA2NywgOTEsIAorICAgIDMzLCA0LCAxLCAyNTAsIDEzMiwgMiwgNjcsIDkxLCAzMywgNiwgMSwgMjIwLCAzMywgMzMsIDQsIDEsIDIyMCwgMzMsIDMzLCAKKyAgICA2LCAxLCAyNTUsIDIwLCAyNTAsIDEzMSwgMzMsIDQsIDEsIDI1NSwgMjAsIDI1MCwgMTMxLCAzMywgNiwgMSwgMjU1LCAyMCwgCisgICAgMjUwLCAxMzIsIDIsIDI0OCwgMzksIDMzLCA0LCAxLCAyNTUsIDIwLCAyNTAsIDEzMiwgMiwgMjQ4LCAzOSwgMzMsIDEsIAorICAgIDIyNiwgNTgsIDMzLCA2LCAxLCAyMTAsIDc1LCAyLCAyNTEsIDE0NiwgMzMsIDQsIDEsIDIxMCwgNzUsIDIsIDI1MSwgMTQ2LCAKKyAgICAzMywgNiwgMSwgMjM1LCAxMywgMiwgMTAzLCAzMywgNCwgMSwgMjM1LCAxMywgMiwgMTAzLCAzMywgNiwgMSwgMjQ1LCAxNzUsIAorICAgIDIsIDIxNywgNzcsIDMzLCA0LCAxLCAyNDUsIDE3NSwgMiwgMjE3LCA3NywgMzMsIDYsIDEsIDI0NSwgMTUxLCAyLCAxMDMsIAorICAgIDMzLCA0LCAxLCAyNDUsIDE1MSwgMiwgMTAzLCAzMywgNiwgMSwgMjQ1LCAxNTEsIDIsIDIxNywgNzcsIDMzLCA0LCAxLCAKKyAgICAyNDUsIDE1MSwgMiwgMjE3LCA3NywgMzMsIDYsIDEsIDIzNCwgMTI3LCAyNTAsIDEzMSwgMzMsIDQsIDEsIDIzNCwgMTI3LCAKKyAgICAyNTAsIDEzMSwgMzMsIDYsIDEsIDI0NSwgMTYwLCAyLCAyMTcsIDc3LCAzMywgNCwgMSwgMjQ1LCAxNjAsIDIsIDIxNywgNzcsIAorICAgIDMzLCA0LCAxLCAyMjYsIDU4LCAzMywgNiwgMSwgMTE1LCAyLCAyNTEsIDE0NiwgMzMsIDQsIDEsIDExNSwgMiwgMjUxLCAKKyAgICAxNDYsIDMzLCA2LCAxLCAxMTUsIDIsIDI0OCwgMSwgMzMsIDQsIDEsIDExNSwgMiwgMjQ4LCAxLCAzMywgNiwgMjcsIDExNSwgCisgICAgMjM2LCA2MCwgMzMsIDQsIDI3LCAxMTUsIDIzNiwgNjAsIDMzLCA2LCAxLCAyMzYsIDYxLCAyLCAyNTEsIDE0NiwgMzMsIDQsIAorICAgIDEsIDIzNiwgNjEsIDIsIDI1MSwgMTQ2LCAzMywgNiwgMSwgMjIxLCAxOTUsIDMzLCA0LCAxLCAyMjEsIDE5NSwgMzMsIDYsIAorICAgIDEsIDIyMSwgMTk2LCAyLCAyNDgsIDEsIDMzLCA0LCAxLCAyMjEsIDE5NiwgMiwgMjQ4LCAxLCAzMywgNiwgMSwgMjEwLCA3NSwgCisgICAgMiwgMjQ4LCAxLCAzMywgNCwgMSwgMjEwLCA3NSwgMiwgMjQ4LCAxLCAzMywgNiwgMSwgMjEwLCA5NSwgMiwgMjQ4LCAxLCAKKyAgICAzMywgNCwgMSwgMjEwLCA5NSwgMiwgMjQ4LCAxLCAzMywgNiwgMSwgMjU1LCAyMCwgMjQ2LCAzNiwgMzMsIDQsIDEsIDI1NSwgCisgICAgMjAsIDI0NiwgMzYsIDMzLCA2LCAxLCAyNDAsIDE1NCwgMiwgMjMxLCAyMzIsIDMzLCA0LCAxLCAyNDAsIDE1NCwgMiwgMjMxLCAKKyAgICAyMzIsIDMzLCA2LCAxLCAyNDAsIDE1NCwgMiwgMjQ4LCAxLCAzMywgNCwgMSwgMjQwLCAxNTQsIDIsIDI0OCwgMSwgMzMsIDYsIAorICAgIDEsIDE0NCwgMiwgMjQ4LCAxLCAzMywgNCwgMSwgMTQ0LCAyLCAyNDgsIDEsIDMzLCA2LCAxLCAyNTIsIDEzNCwgNzYsIDMzLCAKKyAgICA0LCAxLCAyNTIsIDEzNCwgNzYsIDMzLCA2LCAxLCAyNTIsIDEzNCwgMTQ0LCAyLCAyNDgsIDEsIDMzLCA0LCAxLCAyNTIsIAorICAgIDEzNCwgMTQ0LCAyLCAyNDgsIDEsIDMzLCA2LCAxLCAxNjAsIDIsIDI0OCwgMSwgMzMsIDQsIDEsIDE2MCwgMiwgMjQ4LCAxLCAKKyAgICAzMywgNiwgMSwgMTA0LCAyLCAyMzEsIDIzMiwgMzMsIDQsIDEsIDEwNCwgMiwgMjMxLCAyMzIsIDMzLCA2LCAxLCAxMDQsIDIsIAorICAgIDI0OCwgMSwgMzMsIDQsIDEsIDEwNCwgMiwgMjQ4LCAxLCAzMywgNiwgMSwgMTA0LCAyLCA1MiwgMTQyLCAzMywgNCwgMSwgCisgICAgMTA0LCAyLCA1MiwgMTQyLCAzMywgNiwgMSwgMjUwLCAxMzIsIDIsIDI0OCwgMSwgMzMsIDQsIDEsIDI1MCwgMTMyLCAyLCAKKyAgICAyNDgsIDEsIDMzLCA2LCAxLCAyNDIsIDIzNywgMiwgMjQ4LCAzOSwgMzMsIDQsIDEsIDI0MiwgMjM3LCAyLCAyNDgsIDM5LCAKKyAgICAzMywgNiwgMSwgMjExLCAyOCwgMiwgMjQ4LCAxLCAzMywgNCwgMSwgMjExLCAyOCwgMiwgMjQ4LCAxLCAzMywgNiwgMSwgCisgICAgMjQyLCAyMzcsIDIsIDIxOCwgMTAzLCAyMiwgMTAzLCAzMywgNCwgMSwgMjQyLCAyMzcsIDIsIDIxOCwgMTAzLCAyMiwgMTAzLCAKKyAgICAzMywgNiwgMSwgMjQyLCA0OSwgMiwgMTAzLCAzMywgNCwgMSwgMjQyLCA0OSwgMiwgMTAzLCAzMywgNiwgMSwgMjQyLCA0OSwgCisgICAgMiwgOTEsIDMzLCA0LCAxLCAyNDIsIDQ5LCAyLCA5MSwgMzMsIDYsIDEsIDIzNCwgMTQsIDI0OCwgOTAsIDMzLCA0LCAxLCAKKyAgICAyMzQsIDE0LCAyNDgsIDkwLCAzMywgNiwgMSwgMjM0LCAxNCwgMjQ3LCAxNjIsIDMzLCA0LCAxLCAyMzQsIDE0LCAyNDcsIAorICAgIDE2MiwgMzMsIDYsIDEsIDIzNCwgMTQsIDIxMCwgMjcsIDMzLCA0LCAxLCAyMzQsIDE0LCAyMTAsIDI3LCAzMywgNiwgMSwgCisgICAgMjM0LCAxNCwgMjQ2LCAzMCwgMzMsIDQsIDEsIDIzNCwgMTQsIDI0NiwgMzAsIDMzLCA2LCAxLCAyMzQsIDE0LCAyMzIsIAorICAgIDE4NywgMzMsIDQsIDEsIDIzNCwgMTQsIDIzMiwgMTg3LCAzMywgNiwgMSwgMjM0LCAxNCwgMjI4LCAxNzgsIDMzLCA0LCAxLCAKKyAgICAyMzQsIDE0LCAyMjgsIDE3OCwgMzMsIDYsIDEsIDIzNCwgMTQsIDIxOSwgMTA5LCAzMywgNCwgMSwgMjM0LCAxNCwgMjE5LCAKKyAgICAxMDksIDMzLCA2LCAxLCAyMzQsIDE0LCAyMTYsIDYwLCAzMywgNCwgMSwgMjM0LCAxNCwgMjE2LCA2MCwgMzMsIDYsIDEsIAorICAgIDIyMywgNDksIDIxMCwgOTQsIDMzLCA0LCAxLCAyMjMsIDQ5LCAyMTAsIDk0LCAzMywgNiwgMSwgMjQ1LCAxNzUsIDIsIDEwMywgCisgICAgMzMsIDQsIDEsIDI0NSwgMTc1LCAyLCAxMDMsIDMzLCA2LCAxLCAyMzIsIDI1NCwgMzMsIDQsIDEsIDIzMiwgMjU0LCAzMywgCisgICAgNiwgMSwgMjIzLCAzOSwgMzMsIDQsIDEsIDIyMywgMzksIDMzLCA2LCAxLCAyMTEsIDkyLCAzMywgNCwgMSwgMjExLCA5MiwgCisgICAgMzMsIDYsIDEsIDIyNCwgODgsIDMzLCA0LCAxLCAyMjQsIDg4LCAzMywgNiwgMSwgMjEyLCAyMiwgMzMsIDQsIDEsIDIxMiwgCisgICAgMjIsIDMzLCA2LCAxLCAyNTQsIDE2NiwgMTc2LCAzMywgNCwgMSwgMjU0LCAxNjYsIDE3NiwgMzMsIDYsIDEsIDI0NSwgMTc1LCAKKyAgICAyLCAyMzAsIDIyNCwgMTAzLCAzMywgNCwgMSwgMjQ1LCAxNzUsIDIsIDIzMCwgMjI0LCAxMDMsIDMzLCA2LCAxLCAyNDUsIAorICAgIDE1MSwgMiwgMjMwLCAyMjQsIDEwMywgMzMsIDQsIDEsIDI0NSwgMTUxLCAyLCAyMzAsIDIyNCwgMTAzLCAzMywgNiwgMSwgCisgICAgMjI1LCAyMjIsIDIsIDI0OCwgMzksIDMzLCA0LCAxLCAyMjUsIDIyMiwgMiwgMjQ4LCAzOSwgMzMsIDYsIDEsIDIyMCwgMzQsIAorICAgIDIsIDI0OCwgMzksIDMzLCA0LCAxLCAyMjAsIDM0LCAyLCAyNDgsIDM5LCAxNTAsIDYsIDEsIDI1MywgMTY0LCAxNTAsIDYsIAorICAgIDEsIDI1MiwgMzksIDE1MCwgNiwgMSwgMjQyLCAyMDMsIDE1MCwgNiwgMSwgMjQ4LCAyMjEsIDE1MCwgNiwgMSwgMjQ1LCAKKyAgICAyMTMsIDE1MCwgNiwgMSwgMjEwLCAxMTYsIDE1MCwgNiwgMSwgMjQ1LCAxOTcsIDE1MCwgNiwgMSwgMjQ1LCA2NSwgMTUwLCAKKyAgICA2LCAxLCAxMTEsIDE1MCwgNiwgMSwgMjEwLCA3NCwgMTUwLCA2LCAxLCAyMzUsIDIyNywgMTUwLCA2LCAxLCAyMzIsIDE5MCwgCisgICAgMTUwLCA2LCAxLCAyMTEsIDE2MCwgMTUwLCA2LCAxLCAyNTEsIDMzLCAxNTAsIDYsIDEsIDIzNCwgMTY1LCAxNTAsIDYsIDEsIAorICAgIDI0MSwgNjgsIDE1MCwgNiwgMSwgMjM1LCAxNDEsIDE1MCwgNiwgMSwgMjQyLCAyNDYsIDE1MCwgNiwgMSwgMjUwLCAxMjYsIAorICAgIDE1MCwgNiwgMSwgMjMxLCA1OCwgMTUwLCA2LCAxLCAyMTEsIDgsIDE1MCwgNiwgMSwgMjI4LCAzOSwgMTUwLCA2LCAxLCAKKyAgICAyMjAsIDEwMiwgMTUwLCA2LCAxLCAyMTMsIDEzOCwgMTUwLCA2LCAxLCAyNTAsIDE1NywgMTUwLCA2LCAxLCAyMjUsIDIwNSwgCisgICAgMTUwLCA2LCAxLCAyMzUsIDExMCwgMTUwLCA2LCAxLCAyMDUsIDE1MCwgNiwgMSwgMjIxLCAxNjEsIDE1MCwgNiwgMSwgMjEzLCAKKyAgICAxNzksIDE1MCwgNiwgMSwgMjE2LCA2MiwgMTUwLCA2LCAxLCAyMjMsIDk1LCAxNTAsIDYsIDEsIDI0OSwgMjM4LCAxNTAsIDYsIAorICAgIDEsIDIxMCwgMjQ5LCAxNTAsIDYsIDEsIDIyNSwgNDYsIDE1MCwgNiwgMSwgMjM0LCAxNzYsIDE1MCwgNiwgMSwgMjI2LCAKKyAgICAyMjIsIDE1MCwgNiwgMSwgMjQ0LCAxNDIsIDE1MCwgNTgsIDEsIDQzLCAxNjMsIDIyMiwgMjMzLCAxNTAsIDI1NCwgNTcsIAorICAgIDE1MCwgMjQ1LCAxNTQsIDc4LCAxNTAsIDI0NSwgMzEsIDc4LCAxNTAsIDI0OSwgMjE5LCAxNTAsIDIyNCwgMTMsIDc4LCAKKyAgICAxNTAsIDI1NSwgMjEsIDc4LCAxNTAsIDQsIDEsIDI1MywgMTY0LCAxNTAsIDQsIDEsIDI1MiwgMzksIDE1MCwgNCwgMSwgCisgICAgMjQyLCAyMDMsIDE1MCwgNCwgMSwgMjQ4LCAyMjEsIDE1MCwgNCwgMSwgMjQ1LCAyMTMsIDE1MCwgNCwgMSwgMjEwLCAxMTYsIAorICAgIDE1MCwgNCwgMSwgMjQ1LCAxOTcsIDE1MCwgNCwgMSwgMjQ1LCA2NSwgMTUwLCA0LCAxLCAxMTEsIDE1MCwgNCwgMSwgMjEwLCAKKyAgICA3NCwgMTUwLCA0LCAxLCAyMzUsIDIyNywgMTUwLCA0LCAxLCAyMzIsIDE5MCwgMTUwLCA0LCAxLCAyMTEsIDE2MCwgMTUwLCAKKyAgICA0LCAxLCAyNTEsIDMzLCAxNTAsIDQsIDEsIDIzNCwgMTY1LCAxNTAsIDQsIDEsIDI0MSwgNjgsIDE1MCwgNCwgMSwgMjM1LCAKKyAgICAxNDEsIDE1MCwgNCwgMSwgMjQyLCAyNDYsIDE1MCwgNCwgMSwgMjUwLCAxMjYsIDE1MCwgNCwgMSwgMjMxLCA1OCwgMTUwLCAKKyAgICA0LCAxLCAyMTEsIDgsIDE1MCwgNCwgMSwgMjI4LCAzOSwgMTUwLCA0LCAxLCAyMjAsIDEwMiwgMTUwLCA0LCAxLCAyMTMsIAorICAgIDEzOCwgMTUwLCA0LCAxLCAyNTAsIDE1NywgMTUwLCA0LCAxLCAyMjUsIDIwNSwgMTUwLCA0LCAxLCAyMzUsIDExMCwgMTUwLCAKKyAgICA0LCAxLCAyMDUsIDE1MCwgNCwgMSwgMjIxLCAxNjEsIDE1MCwgNCwgMSwgMjEzLCAxNzksIDE1MCwgNCwgMSwgMjE2LCA2MiwgCisgICAgMTUwLCA0LCAxLCAyMjMsIDk1LCAxNTAsIDQsIDEsIDI0OSwgMjM4LCAxNTAsIDQsIDEsIDIxMCwgMjQ5LCAxNTAsIDQsIDEsIAorICAgIDIyNSwgNDYsIDE1MCwgNCwgMSwgMjM0LCAxNzYsIDE1MCwgNCwgMSwgMjI2LCAyMjIsIDE1MCwgNCwgMSwgMjQ0LCAxNDIsIAorICAgIDE1MCwgNCwgMjcsIDI0NSwgMjE0LCAyMTAsIDI0OSwgMTUwLCAyNDMsIDIyOSwgMjE4LCAxMjksIDE1MCwgMjQwLCAxNjgsIAorICAgIDE1MCwgMjQ2LCA5NSwgNTAsIDk0LCAyNTUsIDE1LCAyNDUsIDU3LCA5NCwgMjU1LCAxNSwgMjIxLCAxNjIsIDk0LCAyNTUsIAorICAgIDE1LCAyMjAsIDg4LCA5NCwgMjU1LCAxNSwgMjEwLCAxMDQsIDIyNCwgNzEsIDk0LCAyNTUsIDE1LCAyMTAsIDEwNCwgMjQzLCAKKyAgICAxMjUsIDk0LCAyNTUsIDE1LCAyMTYsIDc1LCA5NCwgMjU1LCAxNSwgMjIzLCA0NywgOTQsIDI1NSwgMTUsIDIxMCwgMTAzLCAKKyAgICA5NCwgMjU1LCAxNSwgMjI1LCAyNDUsIDk0LCAyNTUsIDE1LCAyMTEsIDIwLCA5NCwgMjU1LCAxNSwgMjE2LCAyMTQsIDk0LCAKKyAgICAyNTUsIDE1LCAyNDMsIDQxLCA5NCwgMjU1LCAxNSwgMjQzLCA0MiwgMjMwLCA2OSwgOTQsIDI1NSwgMTUsIDI0MywgMzksIAorICAgIDk0LCAyNTUsIDE1LCAyMjQsIDcyLCAyMjYsIDE2LCA5NCwgMjU1LCAxNSwgMjE2LCAyNTMsIDI0MywgNTYsIDk0LCAyNTUsIAorICAgIDE1LCAyMjUsIDIyNiwgOTQsIDI1NSwgMTUsIDI1MywgMjAwLCAyNDIsIDQxLCA5NCwgMjU1LCAxNSwgMjMwLCA3OSwgOTQsIAorICAgIDI1NSwgMTUsIDIzMSwgMjA4LCA5NCwgMjU1LCAxNSwgMjMxLCA0OSwgOTQsIDI1NSwgMTUsIDIzMSwgNTAsIDIzNCwgMTc3LCAKKyAgICA5NCwgMjU1LCAxNSwgMjQ4LCAxNjMsIDk0LCAyNTUsIDE1LCAyMjQsIDgzLCA5NCwgMjU1LCAxNSwgMjE2LCAyNTMsIDIyNCwgCisgICAgNjcsIDk0LCAyNTUsIDE1LCAyMTEsIDMwLCAyNTIsIDQwLCAyMTAsIDIzMCwgOTQsIDI1NSwgMTUsIDIyNiwgMjA3LCA5NCwgCisgICAgMjU1LCAxNSwgMjM2LCAxOSwgOTQsIDI1NSwgMTUsIDI0OCwgNzAsIDk0LCAyNTUsIDE1LCAyMTAsIDMzLCA5NCwgMTY0LCAKKyAgICAyMzEsIDE0MywgMjUwLCAzNSwgOTQsIDIyNSwgMTEsIDIyMCwgMzYsIDk0LCAyMjUsIDExLCAyNDEsIDI1MCwgMjIxLCAxNjIsIAorICAgIDk0LCAyMjUsIDExLCAyNDEsIDI1MCwgMjI1LCAyMzksIDk0LCAyMjUsIDExLCAyNDEsIDI1MCwgMjI0LCA3NiwgOTQsIDIyNSwgCisgICAgMTEsIDI0MSwgMTU4LCA5NCwgMjI1LCAxMSwgMjE1LCAxNzYsIDk0LCAyMjUsIDExLCAyMjEsIDE2MiwgOTQsIDIyNSwgMTEsIAorICAgIDIyNSwgMjM5LCA5NCwgMjI1LCAxMSwgMjI0LCA3NiwgOTQsIDIyNSwgMTEsIDI0MSwgNjEsIDk0LCAyMjUsIDExLCAyNDEsIAorICAgIDYyLCAyNDEsIDI1MiwgMzEsIDIxNCwgMywgOTQsIDIyNSwgMTEsIDIyNCwgMTcsIDk0LCAyMjUsIDExLCAyNDgsIDIwOCwgCisgICAgMTc3LCAyMzEsIDE3MSwgOTQsIDIyNSwgMTEsIDIzMSwgMzgsIDk0LCAyMjQsIDE0MSwgMjMxLCAxNjgsIDk0LCAyMjUsIDExLCAKKyAgICAyMjMsIDE2OSwgOTQsIDIyNCwgMTQxLCAyMjUsIDI0NywgOTQsIDIyNSwgMTEsIDIyMCwgMjEsIDI0NywgMTIwLCA5NCwgCisgICAgMjI1LCAxMSwgMjE5LCAxNTksIDI0NywgMTIwLCA5NCwgMjI0LCAxNDEsIDIxOSwgNTMsIDIyNSwgMjQxLCA5NCwgMTY0LCAKKyAgICAyMTQsIDE2MCwgMjQ3LCAxMjAsIDk0LCAxNjQsIDIzMiwgMTA4LCAyNDcsIDEyMCwgOTQsIDIyNCwgMTQxLCAyMjcsIDE5NSwgCisgICAgMjQyLCA0MCwgOTQsIDIyNSwgMTEsIDIyNCwgNzcsIDIyNCwgNzEsIDk0LCAxLCAyNTQsIDE3MCwgOTQsIDEsIDI1MiwgMjgsIAorICAgIDk0LCAxLCAyNDIsIDIwMSwgOTQsIDEsIDI0OCwgMTg5LCA5NCwgMSwgMjQxLCAyMzgsIDk0LCAxLCAyMTQsIDMsIDk0LCAxLCAKKyAgICAyMTAsIDk3LCA5NCwgMSwgMjQxLCAxOTcsIDk0LCAxLCAyMTYsIDIzMCwgOTQsIDEsIDIxMCwgMjMzLCA5NCwgMSwgNDAsIAorICAgIDIzNCwgMjUwLCA5NCwgMSwgMjM0LCAyNTAsIDk0LCAxLCAyMzMsIDk0LCA5NCwgMSwgNDAsIDIzMSwgNjUsIDk0LCAxLCAKKyAgICAyMzEsIDY1LCA5NCwgMSwgNDAsIDIyNywgMTk0LCA5NCwgMSwgMjI3LCAxOTQsIDk0LCAxLCAyMjEsIDI0OSwgOTQsIDEsIAorICAgIDI1MywgMTYyLCA5NCwgMSwgNDAsIDIyNSwgMjIxLCA5NCwgMSwgMjI1LCAyMjEsIDk0LCAxLCA0MCwgMjE1LCAxNzksIDk0LCAKKyAgICAxLCAyMTUsIDE3OSwgOTQsIDEsIDIyNCwgMzksIDk0LCAxLCAyMjMsIDY3LCA5NCwgMSwgMjIwLCAyMCwgOTQsIDEsIDIxNywgCisgICAgMzgsIDk0LCAyNywgMjExLCA2LCA1MiwgMjE0LCAzLCA5NCwgMjcsIDIxMSwgNiwgMjE0LCA0LCAyMTAsIDIzMywgOTQsIDI3LCAKKyAgICAyMTEsIDYsIDUyLCAyMTAsIDIzMywgOTQsIDIyNCwgMTQxLCAyNDMsIDQxLCA5NCwgMjI0LCAxNDEsIDI0MywgMzksIDEwLCAKKyAgICA1NCwgNTAsIDEwLCA1LCAyMjEsIDI0MiwgMTAsIDI0NCwgMzAsIDIzMSwgMTU0LCAxMCwgNSwgMjIyLCAyMywgMTAsIDUsIAorICAgIDIyMSwgMjQ1LCAyNTQsIDM3LCAyNDksIDEwOSwgMjIyLCAxOTMsIDI1NCwgMzcsIDI0NCwgNCwgMjIyLCAxOTMsIDEwLCAKKyAgICAyMjMsIDEzNCwgMjU0LCAzNywgMjI1LCAxODMsIDIzMCwgMTkzLCA1MCwgMjU0LCAzNywgMjI1LCAxODMsIDIxNiwgMjQ4LCAKKyAgICAyMTYsIDE0OCwgNTAsIDI1NCwgMjIxLCA1MCwgMTAsIDI0OSwgMjE5LCAxMCwgMjQ4LCAxNTAsIDIyMCwgMTM3LCAxMCwgCisgICAgMjI1LCAxMywgMjEzLCAyNDEsIDUwLCAxMCwgNSwgMjMwLCAxNzQsIDEwLCA1LCAyMjIsIDMsIDI1NCwgMTcyLCAyMTIsIDQ1LCAKKyAgICAxMCwgNSwgMjU0LCAxNzIsIDI1MywgMjIxLCAxMCwgNSwgMjIzLCAxNjcsIDI1NCwgMTcxLCAxMCwgNSwgMjIzLCAxNzUsIAorICAgIDI1NCwgMTUyLCAyNTQsIDEwNCwgMTAsIDUsIDIxNywgNzAsIDEwLCA0LCAxMjUsIDIxNywgODAsIDEwLCA0LCAxMjUsIDI3LCAKKyAgICAxMTIsIDIsIDIzMywgMTAzLCAyLCAyMTEsIDQzLCAxMCwgNCwgMTI1LCAyMTAsIDEwOCwgMTAsIDQsIDI0NCwgMTY1LCAxMCwgCisgICAgNCwgMjQ4LCAxODQsIDEwLCA0LCAyMzQsIDIwNSwgMTAsIDIyMCwgMTUwLCAxMCwgMjE1LCAyMTEsIDU5LCAyMjQsIDE0MSwgCisgICAgNzgsIDEwLCAyMjQsIDEzLCA3OCwgMTAsIDEsIDIzNCwgMjA5LCAyMTEsIDQzLCAxMCwgMSwgMjQyLCAxOSwgMTAsIDEsIAorICAgIDExMiwgMiwgMjMxLCAyMjgsIDQ4LCAxMCwgMSwgMTEyLCAyLCAyMDIsIDQ4LCAxMCwgMSwgMjEyLCAzMSwgMiwgMjAyLCA0OCwgCisgICAgMTAsIDEsIDExMiwgMiwgMjAyLCA1MSwgMTAsIDEsIDc5LCAyLCAyMDIsIDQ4LCAxMCwgMSwgMjU0LCAxNzAsIDEwLCAxLCAKKyAgICAyNTIsIDU0LCAxMCwgMSwgMjE3LCA4LCAyMzEsIDE2NCwgMTAsIDEsIDIxNywgNywgMTAsIDEsIDIxNiwgMTkyLCAxMCwgMSwgCisgICAgMjM1LCAxMjMsIDEwLCAxLCAyNDIsIDM3LCAxMCwgMSwgMjM0LCAxMjksIDEwLCAxLCAyNDgsIDE5NSwgMTAsIDEsIDIxNiwgCisgICAgMjAyLCAxMCwgMSwgMjIzLCA5NSwgMTAsIDEsIDIxMCwgMTA4LCAxMCwgMSwgMjIxLCAxNjYsIDEwLCAxLCAyMjAsIDU5LCAKKyAgICAxMCwgMSwgMjIyLCAyNiwgMTAsIDEsIDI0OCwgMjE2LCAxMCwgMSwgMjE3LCA4MCwgMTAsIDEsIDIxMCwgMTExLCAxMCwgMSwgCisgICAgMjU0LCAxOTYsIDEwLCAxLCAyNDIsIDI0NCwgMTAsIDEsIDIzNCwgMTc1LCAyLCAxMTMsIDE3MCwgNDgsIDEwLCAxLCAyMzQsIAorICAgIDE3NSwgMiwgMTM0LCAxNzAsIDUxLCAxMCwgMSwgMjQ0LCAxNjgsIDc5LCAyLCAyMzUsIDE5MywgMjE0LCAxMDUsIDEwLCAxLCAKKyAgICAyNDQsIDE2OCwgNzksIDIsIDExMywgMTcwLCA0OCwgMTAsIDEsIDI0NCwgMTY4LCA3OSwgMiwgMTM0LCAxNzAsIDQ4LCAxMCwgCisgICAgMjE3LCA0MywgMTAsIDEsIDI0NCwgMTQyLCAxMCwgMSwgMjI0LCA4MSwgMTAsIDEsIDIzNCwgMjUwLCAxMCwgMSwgMjMzLCAKKyAgICAxMDIsIDEwLCAxLCAyMzEsIDc4LCAxMCwgMSwgMjI4LCA2MiwgMTAsIDEsIDI0MSwgMjE4LCAxMCwgMSwgMjEyLCAzMCwgMTAsIAorICAgIDEsIDExMiwgMjMxLCAxOTIsIDEwLCAxLCAyMTEsIDQzLCAxMCwgMjQ0LCAxNjMsIDEwLCAyNDgsIDE4MiwgMTAsIDIzNCwgCisgICAgMjAzLCAxMCwgMjQ0LCAxNjUsIDEwLCAyNDgsIDE4NCwgMTAsIDIzNCwgMjA1LCAxMCwgMjIwLCA5MywgMTAsIDIxOCwgNDUsIAorICAgIDEwLCAyMzEsIDIyNiwgNDgsIDEwLCAyMDIsIDQ4LCAxMCwgMjAyLCA1MSwgMTAsIDIxOCwgNjUsIDI1NCwgMTcwLCAxMCwgCisgICAgMjM1LCAxOTMsIDI0OCwgMTg0LCAxMCwgMTY0LCAyMjgsIDYzLCAyNDIsIDIxOCwgMTAsIDIwOSwgMjU1LCAxMCwgMjUsIDUsIAorICAgIDQsIDIxNCwgMTA2LCA0OCwgMTAsIDI1LCA1LCAyMzUsIDE5MywgNCwgMjE0LCAxMDYsIDQ4LCAxMCwgMjUsIDUsIDU5LCA1MSwgCisgICAgMTAsIDIyMywgNDksIDI0OCwgMTg0LCAxMCwgMjQ0LCAxNjYsIDIsIDExMywgMjQ3LCAxMTgsIDEwLCAyMTIsIDMyLCAyMDIsIAorICAgIDUxLCAyNTQsIDM3LCAyMSwgMjEwLCA4NiwgMjU0LCAzNywgMjEsIDExMCwgMjU0LCAzNywgMjEsIDEwNSwgMjU0LCAzNywgCisgICAgMjEsIDE1OCwgMjU0LCAzNywgMjEsIDE2MSwgMjU0LCAzNywgMjEsIDE4OSwgMjU0LCAzNywgMjEsIDE5NCwgMjU0LCAzNywgCisgICAgMjEsIDE5OCwgMjU0LCAzNywgMjEsIDE5NSwgMjU0LCAzNywgMjEsIDIwMCwgMTAsIDIyNSwgMTgyLCA1MCwgMTAsIDI0OCwgCisgICAgODMsIDIyMCwgMTM3LCAxMCwgMjE2LCAxNDYsIDIyMCwgMTM3LCAxMCwgMjQ0LCA4MSwgMjI1LCA5LCAyMTgsIDE1NiwgMTAsIAorICAgIDEsIDI0NywgMTE5LCAyNTIsIDU0LCAxMCwgMSwgMjQ3LCAxMTksIDIyNCwgODEsIDEwLCAxLCAyMTgsIDIzLCAyNTQsIDE3MCwgCisgICAgMTAsIDEsIDExMiwgMjEyLCA0NiwgMTAsIDEsIDExMiwgMiwgMjEyLCAzMiwgMjAyLCA0OCwgMTAsIDEsIDExMiwgMiwgMjEyLCAKKyAgICAzMiwgMjAyLCA1MSwgMTAsIDEsIDEyNSwgMjQyLCAxOSwgMTAsIDEsIDEyNSwgMjAyLCAyNTQsIDE3MCwgMTAsIDEsIDEyNSwgCisgICAgMjAyLCAyMTIsIDMwLCAxMCwgMSwgMTA0LCAyLCAyMDIsIDQ4LCAxMCwgMSwgMTI1LCAyMDIsIDIxMSwgNDMsIDEwLCAxLCAKKyAgICAyMTUsIDE0OCwgMTAsIDEsIDIxNSwgMTQ2LCAxMCwgMSwgMjUyLCA2NCwgMTAsIDEsIDIxNywgOCwgMiwgMjIyLCAyMzMsIAorICAgIDEwLCAxLCAyMTcsIDgsIDIsIDEzNCwgMTcwLCA3NywgMjQ2LCAxMDMsIDEwLCAxLCAyMjUsIDIwNSwgMTAsIDEsIDIxNywgNSwgCisgICAgMTAsIDEsIDI1MiwgNTIsIDEwLCAxLCAxMjIsIDIsIDIwMiwgNDgsIDEwLCAxLCAxMjIsIDIsIDExMywgMTcwLCA2NywgNDgsIAorICAgIDEwLCAxLCAyMjcsIDE1MywgMTAsIDEsIDI0NiwgNDMsIDEwLCAxLCAxMjIsIDIsIDEzNCwgMTcwLCA0OCwgMTAsIDEsIDIxNywgCisgICAgMjYsIDEwLCAxLCAyMTcsIDI0LCAxMCwgMSwgMjQ4LCAxMzAsIDEwLCAxLCAyNDgsIDE5NiwgMiwgMjIyLCAyMzMsIDEwLCAxLCAKKyAgICAyNDgsIDE5NiwgMiwgNTksIDUxLCAxMCwgMSwgMjQ4LCAxOTYsIDIsIDU5LCAyNTIsIDQzLCAyMiwgNCwgMjE3LCA4MCwgMTAsIAorICAgIDEsIDI0OCwgMjAxLCAxMCwgMSwgMjQ4LCAxMzIsIDEwLCAxLCAyNDYsIDcwLCAxMCwgMSwgMjQ4LCAxOTYsIDIsIDEzNCwgCisgICAgMTcwLCA3NywgMjQ2LCAxMDMsIDEwLCAxLCAyNDgsIDE5NiwgMiwgMjQ0LCAxMSwgMTcwLCA0OCwgMTAsIDEsIDIyMiwgMTcxLCAKKyAgICAxMCwgMSwgMjIzLCA5NiwgMiwgNCwgMjE0LCAxMDUsIDEwLCAxLCAyMjMsIDk2LCAyLCAyMjIsIDIzMywgMTAsIDEsIDIyMywgCisgICAgOTYsIDIsIDU5LCA1MSwgMTAsIDEsIDIyMywgOTYsIDIsIDQsIDIxNCwgMTA2LCA1MSwgMTAsIDEsIDIyMywgOTYsIDIsIDU5LCAKKyAgICAyNTIsIDQzLCAyMiwgNTksIDQ4LCAxMCwgMSwgMjIzLCA5NiwgMiwgMTEzLCAxNzAsIDQ4LCAxMCwgMSwgMjM1LCAxMjAsIAorICAgIDEwLCAxLCAyMjMsIDk2LCAyLCAyNDQsIDExLCAxNzAsIDQ4LCAxMCwgMSwgMjIxLCAxNjcsIDIsIDU5LCAyNTIsIDQzLCAyMiwgCisgICAgNTksIDQ4LCAxMCwgMSwgMjIxLCAxNjcsIDIsIDEzNCwgMTcwLCA1MSwgMTAsIDEsIDIyMSwgMTY3LCAyLCAxMzQsIDE3MCwgCisgICAgMjUyLCA0MywgMjIsIDEzNCwgMTcwLCA0OCwgMTAsIDEsIDIyMiwgMjcsIDIsIDExMywgMTcwLCA1MSwgMTAsIDEsIDIyMiwgCisgICAgMjcsIDIsIDEzNCwgMTcwLCA0OCwgMTAsIDEsIDIxNywgODEsIDIsIDEzNCwgMTcwLCA0OCwgMTAsIDEsIDI1NCwgMTk3LCAyLCAKKyAgICAxMzQsIDE3MCwgNDgsIDEwLCAxLCAyNDcsIDExOSwgMjQ0LCAxNDIsIDEwLCAxLCAyNDQsIDE0MywgMiwgNTksIDIzMCwgCisgICAgMTA5LCA1MSwgMTAsIDEsIDI0NCwgMTQzLCAyLCA1OSwgNTEsIDEwLCAxLCAyMTMsIDI0OCwgMTAsIDEsIDI0NCwgMTQzLCAyLCAKKyAgICAxMzQsIDE3MCwgNTEsIDEwLCAxLCAyMjUsIDIwMywgMTAsIDEsIDIyNCwgODIsIDIsIDU5LCA0OCwgMTAsIDEsIDIyNCwgODIsIAorICAgIDIsIDEzNCwgMTcwLCA0OCwgMTAsIDEsIDIzNCwgMTc0LCAxMCwgMSwgMjE3LCAyNTAsIDIzNCwgMjUwLCAxMCwgMSwgMjM0LCAKKyAgICAyNTEsIDIsIDIyMiwgMjMzLCAxMCwgMSwgMjM0LCAyNTEsIDIsIDU5LCA0OCwgMTAsIDEsIDIyOSwgNzksIDEwLCAxLCAyMzQsIAorICAgIDI1MSwgMiwgMTM0LCAxNzAsIDUxLCAxMCwgMSwgMjQzLCAxMjIsIDEwLCAxLCAyNDMsIDEyMywgMiwgMjIyLCAyMzMsIDEwLCAKKyAgICAxLCAyMjksIDIsIDEwLCAxLCAyNDMsIDEyMywgMiwgMTEzLCAxNzAsIDUxLCAxMCwgMSwgMjQyLCAxMDEsIDEwLCAxLCAyNDMsIAorICAgIDEyMywgMiwgMTM0LCAxNzAsIDQ4LCAxMCwgMSwgMjMzLCAxMDMsIDIsIDQsIDIxNCwgMTA1LCAxMCwgMSwgMjMzLCAxMDMsIAorICAgIDIsIDU5LCA0OCwgMTAsIDEsIDIzMywgMTAzLCAyLCAxMzQsIDE3MCwgNDgsIDEwLCAxLCAyMzMsIDEwMywgMiwgMTM0LCAKKyAgICAxNzAsIDUxLCAxMCwgMSwgMjI4LCA2MywgMiwgNTksIDUxLCAxMCwgMSwgMjI4LCA2MywgMjQyLCAyMTgsIDEwLCAxLCAyMjIsIAorICAgIDIxNCwgMTAsIDEsIDIyOCwgNjMsIDIsIDIyMiwgMjMzLCAxMCwgMSwgMjI4LCA2MywgMiwgMTM0LCAxNzAsIDQ4LCAxMCwgMSwgCisgICAgMjQxLCAyMTksIDI0NywgMTQxLCAxMCwgMSwgMjE3LCAyNywgMiwgNTksIDQ4LCAxMCwgMSwgMjQxLCAyMTksIDIsIDc5LCAKKyAgICA0OCwgMTAsIDEsIDI0MSwgMjE5LCAyNDIsIDE3MSwgMTAsIDEsIDI0MSwgMjE5LCAyNDIsIDE3MiwgMiwgMjAyLCA0OCwgMTAsIAorICAgIDEsIDIxNywgOCwgMjMxLCAxNjUsIDI0MiwgMTcxLCAxMCwgMSwgMjEyLCAzMSwgMiwgMjIyLCAyMzMsIDEwLCAxLCAyMzQsIAorICAgIDczLCAyMjYsIDIzNCwgMTAsIDEsIDIyNiwgMjM0LCAxMCwgMSwgNzAsIDEwLCAxLCAyMTAsIDIxMiwgMTAsIDEsIDIzNCwgCisgICAgNzMsIDIxMCwgMjEyLCAxMCwgMSwgMjEyLCAzMSwgMiwgMTEzLCAxNzAsIDQ4LCAxMCwgMSwgMjEzLCAyNTUsIDEwLCAxLCAKKyAgICAyNDQsIDE2OCwgMjExLCA0MywgMTAsIDEsIDc5LCAyLCAyMTcsIDc3LCAxMCwgMSwgNzksIDIsIDQsIDIxNCwgMTA1LCAxMCwgCisgICAgMSwgMjEyLCAzMSwgMiwgNTksIDQ4LCAxMCwgMSwgNzUsIDEwLCAxLCA3OSwgMiwgMTM0LCAxNzAsIDUxLCAxMCwgMSwgNzksIAorICAgIDI1MiwgMTMyLCAxMCwgMSwgNzksIDI1MiwgMTMzLCAyLCAyMDIsIDQ4LCAxMCwgMjQzLCAyMjksIDIxOCwgMTI5LCAxMCwgMSwgCisgICAgMjU0LCAyNDMsIDEwLCA0LCAxMjUsIDI3LCAyMjIsIDI3LCAyLCAyMzMsIDEwMywgMiwgMTEyLCAyMzEsIDE5MiwgMTAsIDQsIAorICAgIDEyNSwgMjcsIDIyNCwgODIsIDIsIDIzMywgMTAzLCAyLCAxMTIsIDIzMSwgMTkyLCAxMCwgNCwgMTI1LCA2NiwgNjUsIDE3LCAKKyAgICAxMCwgNCwgMTI1LCAyMzMsIDEwMywgMjU0LCAxNzAsIDEwLCA0LCAxMjUsIDIzNSwgMTIzLCAxMCwgNCwgMTI1LCAxMzQsIAorICAgIDI0NywgMTE4LCAxMCwgNCwgMTI1LCAyMjEsIDE2NiwgMTAsIDI0NSwgMTQzLCA2NCwgMjUzLCAxNjYsIDEwLCAyMTgsIDE1MiwgCisgICAgNjQsIDIyMiwgMTM4LCAyNDUsIDE3NSwgMjQxLCAxNTUsIDEwLCA0LCAxMjUsIDIyMiwgMTgzLCAyMTAsIDg2LCAxMCwgNCwgCisgICAgMTI1LCAyMTQsIDE1OSwgMjIzLCAxMTUsIDIxMCwgODYsIDEwLCA0LCAxMjUsIDI0NywgMTE5LCAyNDEsIDIzNiwgNjQsIAorICAgIDIzNCwgMTI5LCAxMCwgNCwgMTI1LCA2NiwgNTMsIDE3LCAxMCwgNCwgMTIxLCAyMjEsIDE2NiwgMTAsIDQsIDEyNSwgMjMxLCAKKyAgICAyMjcsIDEwLCA0LCAyMTIsIDMwLCAxMCwgNCwgMjExLCA0MywgMTAsIDQsIDEyNSwgMjExLCA0MywgMTAsIDQsIDEyNSwgCisgICAgMjI4LCA2MiwgMTAsIDIyNSwgNDEsIDY0LCAyMjIsIDEzLCAxMCwgMjQ1LCAxNTIsIDI1MCwgMTc1LCAxMjEsIDIxOCwgMTI5LCAKKyAgICAxMCwgMjQ1LCAxNTIsIDI1MCwgMTc1LCAxMjUsIDIxOCwgMTI5LCAxMCwgMjIyLCAxODMsIDEyNSwgMjE4LCAxMzAsIDIsIAorICAgIDI0NCwgMTA0LCAyNTAsIDE3NCwgMTAsIDQsIDEyMSwgMjMxLCA3OCwgMTAsIDEsIDI0OCwgMTk2LCAyLCAyMzUsIDE5MywgCisgICAgMjE0LCAxMDUsIDEwLCAxLCAyMjMsIDk2LCAyLCAyMzUsIDE5MywgMjE0LCAxMDUsIDI0NSwgMjIsIDI1NCwgMzcsIDIxLCAKKyAgICAyMTAsIDg2LCAyNDUsIDIyLCAyNTQsIDM3LCAyMSwgMTEwLCAyNDUsIDIyLCAyNTQsIDM3LCAyMSwgMTA1LCAyNDUsIDIyLCAKKyAgICAyNTQsIDM3LCAyMSwgMTU4LCAyNDUsIDIyLCAyNTQsIDM3LCAyMSwgMTYxLCAyNDUsIDIyLCAyNTQsIDM3LCAyMSwgMTg5LCAKKyAgICAyNDUsIDIyLCAyNTQsIDM3LCAyMSwgMTk0LCAyNDUsIDIyLCAyNTQsIDM3LCAyMSwgMTk4LCAyNDUsIDIyLCAyNTQsIDM3LCAKKyAgICAyMSwgMTk1LCAyNDUsIDIyLCAyNTQsIDM3LCAyMSwgMjAwLCAxMCwgMSwgMjIwLCA2MCwgMiwgNTksIDUxLCAxMCwgMSwgCisgICAgMjQ4LCAyMTcsIDIsIDU5LCA1MSwgMTAsIDEsIDI0MiwgMjQ1LCAyLCA1OSwgNTEsIDEwLCA1LCAyMTksIDE1OCwgMjU0LCAKKyAgICAxMjYsIDEwLCA1LCAyMTksIDE1OCwgMjI0LCAyMzUsIDIzMSwgNTgsIDEwLCAxLCAyNDEsIDIxOSwgMiwgMjM1LCAxOTMsIAorICAgIDIxNCwgMTA1LCAxODgsIDI0NSwgMTQzLCA2NCwgMjI2LCAxNCwgMTg4LCAyMTgsIDE5LCAyNDMsIDIyOSwgMjE4LCAxMjksIAorICAgIDE4OCwgMjE4LCA2NywgMjQzLCAyMjksIDIxOCwgMTI5LCAxODgsIDIxOCwgMTksIDI0OSwgMjI2LCAxODgsIDIxOCwgNjcsIAorICAgIDI0OSwgMjI2LCAxODgsIDIwMywgMjQ5LCAyMjYsIDE4OCwgMjQ5LCAyMjcsIDIxOSwgMTA2LCAyMzMsIDQ2LCAxODgsIDI0OSwgCisgICAgMjI3LCAyMTksIDEwNiwgMjIyLCAyNTEsIDE4OCwgMjE4LCAxOSwgMjQ5LCAyMjcsIDIxOSwgMTA2LCAyMzMsIDQ2LCAxODgsIAorICAgIDIxOCwgNjcsIDI0OSwgMjI3LCAyMTksIDEwNiwgMjIyLCAyNTEsIDE4OCwgMjQ5LCAxODAsIDE4OCwgMjQyLCAxLCAyMjYsIAorICAgIDI1MCwgMTg4LCAyNDIsIDEsIDIzMSwgMzYsIDE4OCwgMjQyLCAxLCAyNTMsIDIxOCwgMTg4LCAyNTUsIDIxLCA3OCwgMTg4LCAKKyAgICAxLCAyNTQsIDE3NCwgMTg4LCAxLCAyMTgsIDIzLCAyNTQsIDE3NCwgMTg4LCAxLCAyNTIsIDI1LCAxODgsIDEsIDI0MywgCisgICAgMTEzLCAxODgsIDEsIDI0MywgMTE0LCAyNDMsIDkxLCAxODgsIDEsIDI0OCwgMTkyLCAxODgsIDEsIDI0NywgMTE5LCAyNDgsIAorICAgIDE5MywgMjIyLCAyMjksIDE4OCwgMSwgMjQxLCAyMzgsIDE4OCwgMSwgMjEyLCAzMCwgMTg4LCAxLCAyMTAsIDEwOCwgMTg4LCAKKyAgICAxLCAyNDEsIDE5NSwgMTg4LCAxLCAyMTYsIDIyNiwgMTg4LCAxLCAyMTYsIDIyNywgMjQzLCA5MSwgMTg4LCAxLCAyMTAsIAorICAgIDE5OSwgMTg4LCAxLCAyMTAsIDIwMCwgMjQxLCAyMzgsIDE4OCwgMSwgMjM0LCAyMjUsIDE4OCwgMSwgMjMzLCAxMDEsIDE4OCwgCisgICAgMSwgMjMwLCAxOTAsIDE4OCwgMSwgMjI3LCAxOTQsIDE4OCwgMSwgMjIwLCAxNDMsIDE4OCwgMSwgNDAsIDIyMCwgMTQzLCAKKyAgICAxODgsIDEsIDc1LCAxODgsIDEsIDIyNSwgMjIxLCAxODgsIDEsIDIyMywgNDksIDIyNSwgMjIxLCAxODgsIDEsIDIyMiwgMjQsIAorICAgIDE4OCwgMSwgMjI0LCA3NSwgMTg4LCAxLCAyMjIsIDIyOSwgMTg4LCAxLCAyMjAsIDIwLCAxODgsIDEsIDIxNywgMzYsIDE4OCwgCisgICAgMSwgMjI1LCAxNjksIDI1MiwgMTIsIDE4OCwgMSwgMjI1LCAxNjksIDI0MiwgMjQyLCAxODgsIDEsIDIyNSwgMTY5LCAyNDgsIAorICAgIDIwLCAxODgsIDIyNCwgMTUxLCA0OCwgMTg4LCAyMjQsIDE1MSwgNTEsIDE4OCwgMjI0LCAxNTEsIDI0NiwgMTE3LCAxODgsIAorICAgIDIxMCwgMTcsIDQ4LCAxODgsIDIxMCwgMTcsIDUxLCAxODgsIDIxMCwgMTcsIDI0NiwgMTE3LCAxODgsIDIyMywgMTMxLCA0OCwgCisgICAgMTg4LCAyMjMsIDEzMSwgNTEsIDE4OCwgMjQ2LCAxMTgsIDIxMCwgMjQsIDI0MSwgNDQsIDE4OCwgMjQ2LCAxMTgsIDIxMCwgCisgICAgMjQsIDI1NCwgMTA1LCAxODgsIDI0MSwgMjQxLCA0OCwgMTg4LCAyNDEsIDI0MSwgNTEsIDE4OCwgMjQxLCAyNDAsIDI0NiwgCisgICAgMTE3LCAxODgsIDI0NSwgNzksIDQ4LCAxODgsIDI0NSwgNzksIDUxLCAxODgsIDIyMiwgMTA3LCAxODgsIDI0NCwgMTM2LCAKKyAgICAyNDcsIDEyMCwgMTg4LCAyMjMsIDI0OCwgMTg4LCAyMjIsIDEzNCwgMTg4LCAxMTMsIDY3LCAxNzAsIDQ4LCAxODgsIDExMywgCisgICAgNjcsIDE3MCwgNTEsIDE4OCwgMTM0LCAxNzAsIDQ4LCAxODgsIDEzNCwgMTcwLCA1MSwgMTg4LCAyMjYsIDI0OCwgMjMyLCAKKyAgICAyMTQsIDQ4LCAxODgsIDIyNiwgMjQ4LCAyMzIsIDIxNCwgNTEsIDE4OCwgMjMwLCA1NiwgMTg4LCAyNTIsIDEzMSwgMTg4LCAKKyAgICAxLCAyMTksIDQ5LCAyMTAsIDgwLCAxODgsIDEsIDIxOSwgNDksIDIzNCwgMTIyLCAxODgsIDEsIDIxOSwgNDksIDI0NCwgCisgICAgMTU0LCAxMCwgMSwgMjUyLCA1NSwgMiwgMTM0LCAxNzAsIDI0MCwgMjUwLCA1MSwgMTAsIDEsIDI1MiwgNTUsIDIsIDU5LCAKKyAgICAyNTIsIDQzLCAyMiwgMTM0LCAxNzAsIDQ4LCAxMCwgMSwgMjUyLCA1NSwgMiwgMTM0LCAxNzAsIDIyNSwgNywgMjE0LCAxNTMsIAorICAgIDUxLCAxMCwgMSwgMjUyLCA1NSwgMiwgMTM0LCAxNzAsIDIyNSwgNywgMjE0LCAxNTMsIDI1MiwgNDMsIDIyLCAxMTMsIDE3MCwgCisgICAgNDgsIDEwLCAxLCAyNTIsIDU1LCAyLCAxMTMsIDE3MCwgMjUyLCA0MywgMjIsIDU5LCA0OCwgMTAsIDEsIDI1MiwgNTUsIDIsIAorICAgIDIzNSwgMTkzLCA0LCAyMTQsIDEwNiwgNTEsIDEwLCAxLCAyNTIsIDU1LCAyLCA0LCAyMTQsIDEwNSwgMTAsIDEsIDEyMiwgMiwgCisgICAgMTEzLCAxNzAsIDQ4LCAxMCwgMSwgMTIyLCAyLCAxMzQsIDE3MCwgMjI1LCA3LCAyMTQsIDE1MywgNTEsIDEwLCAxLCAyNDgsIAorICAgIDE5NiwgMiwgMTEzLCAxNzAsIDIxMywgMTg5LCAyNTIsIDQzLCAyMiwgNCwgMjE3LCA4MCwgMTAsIDEsIDI0OCwgMTk2LCAyLCAKKyAgICAyMzUsIDE5MywgNCwgMjE0LCAxMDYsIDUxLCAxMCwgMSwgMjIzLCA5NiwgMiwgOTEsIDEwLCAxLCAyMjEsIDE2NywgMiwgCisgICAgMjQ0LCAxMSwgMTcwLCA0OCwgMTAsIDEsIDI1NCwgMTk3LCAyLCAxMTMsIDE3MCwgNDgsIDEwLCAxLCAyNTQsIDE5NywgMiwgCisgICAgMTM0LCAxNzAsIDIyNSwgNywgMjQ2LCAxMDQsIDQ4LCAxMCwgMSwgMjU0LCAxOTcsIDIsIDExMywgMTcwLCAyMTMsIDE4OSwgCisgICAgNDgsIDEwLCAxLCAyNDQsIDE0MywgMiwgMTEzLCAxNzAsIDUxLCAxMCwgMSwgMjQ0LCAxNDMsIDIsIDEzNCwgMTcwLCAyMjUsIAorICAgIDcsIDIxNCwgMTUzLCA1MSwgMTAsIDEsIDIzNCwgMTc1LCAyLCA1OSwgNDgsIDEwLCAxLCAyMzQsIDE3NSwgMiwgMTM0LCAKKyAgICAxNzAsIDQ4LCAxMCwgMSwgMjM0LCAxNzUsIDIsIDEzNCwgMTcwLCAyMjUsIDcsIDIxNCwgMTUzLCA1MSwgMTAsIDEsIDY2LCAKKyAgICAyLCA1OSwgNDgsIDEwLCAxLCA2NiwgMiwgNTksIDUxLCAxMCwgMSwgMjI4LCA2MywgMiwgMTEzLCAxNzAsIDUxLCAxMCwgMSwgCisgICAgMjI4LCA2MywgMiwgNCwgMjE3LCA4MCwgMTAsIDEsIDIyOCwgNjMsIDIsIDQsIDIxNCwgMTA1LCAxMCwgMSwgMjMzLCAxMDMsIAorICAgIDIsIDEzMCwgMTAsIDEsIDIyMywgOTYsIDIsIDExMywgMTcwLCAyMTMsIDE4OSwgNDgsIDEwLCAxLCAyMjMsIDk2LCAyLCAKKyAgICAyMDIsIDQ4LCAxMCwgMSwgMjIxLCAxNjcsIDIsIDExMywgMTcwLCAyMTMsIDE4OSwgNDgsIDEwLCAxLCAxMjIsIDIsIDQsIAorICAgIDEwLCAxLCAyMTcsIDgxLCA1MSwgMTAsIDEsIDEyMiwgMiwgNCwgMTAsIDEsIDIxNywgODEsIDIyLCAxMTMsIDI0NywgMTE4LCAKKyAgICAxMCwgMSwgMjIxLCAxNjcsIDIsIDQsIDEwLCAxLCAyMTcsIDgxLCAyMiwgMTEzLCAyNDcsIDExOCwgMTAsIDEsIDIyMywgOTYsIAorICAgIDIsIDQsIDEwLCAxLCAyMTcsIDgxLCAyMiwgMTEzLCAyNDcsIDExOCwgMTAsIDEsIDEyMiwgMiwgNCwgMTAsIDEsIDIxNywgCisgICAgODEsIDQ4LCAxMCwgMSwgMTEyLCAyLCAyNDUsIDIyLCAyNTQsIDM3LCAyMSwgMTEzLCA0OCwgMTAsIDEsIDExMiwgMiwgMjQ1LCAKKyAgICAyMiwgMjU0LCAzNywgMjEsIDEzNCwgNDgsIDEwLCAxLCAyNDQsIDE2OCwgNzksIDIsIDI0NSwgMjIsIDI1NCwgMzcsIDIxLCAKKyAgICAxMTMsIDQ4LCAxMCwgMSwgMjQ0LCAxNjgsIDc5LCAyLCAyNDUsIDIyLCAyNTQsIDM3LCAyMSwgMTM0LCA0OCwgMTAsIDEsIAorICAgIDI0NCwgMTY4LCA3OSwgMiwgMjQ1LCAyMiwgMjU0LCAzNywgMjEsIDI0NCwgMTEsIDUxLCAxMCwgMSwgMjEyLCAzMSwgMiwgCisgICAgMjQ1LCAyMiwgMjU0LCAzNywgMjEsIDExMywgNDgsIDEwLCAxLCAyMTIsIDMxLCAyLCAyNDUsIDIyLCAyNTQsIDM3LCAyMSwgCisgICAgMTM0LCA0OCwgMTAsIDEsIDc5LCAyNTIsIDEzMywgMiwgMjQ1LCAyMiwgMjU0LCAzNywgMjEsIDExMywgNDgsIDEwLCAxLCAKKyAgICA3OSwgMjUyLCAxMzMsIDIsIDI0NSwgMjIsIDI1NCwgMzcsIDIxLCAxMzQsIDQ4LCAxMCwgMSwgMTIyLCAyLCAyNDUsIDIyLCAKKyAgICAyNTQsIDM3LCAyMSwgMjQ0LCAxMSwgNTEsIDEwLCAxLCAyMjEsIDE2NywgMiwgMjQ1LCAyMiwgMjU0LCAzNywgMjEsIDI0NCwgCisgICAgMTEsIDQ4LCAxMCwgMSwgMjIxLCAxNjcsIDIsIDIzNSwgMTkzLCAyMTQsIDEwNSwgMTAsIDEsIDIzNCwgMjUxLCAyLCAxMTMsIAorICAgIDE3MCwgNDgsIDIxNiwgMjA1LCAxLCAyNDIsIDQ2LCAyMTYsIDIwNSwgMSwgMjIwLCA2OCwgMjE2LCAyMDUsIDEsIDIyOCwgCisgICAgNjEsIDIxNiwgMjA1LCAxLCAyMjMsIDE4NCwgMjE2LCAyMDUsIDEsIDI1MiwgMTg5LCAyMTYsIDIwNSwgMSwgMjMyLCAyNTEsIAorICAgIDIxNiwgMjA1LCAxLCAyMzUsIDgsIDIxNiwgMjA1LCAxLCAyNTQsIDE1OSwgMjE2LCAyMDUsIDEsIDIxNCwgMjUsIDIxNiwgCisgICAgMjA1LCAxLCAyMzEsIDc3LCAyMTYsIDIwNSwgMSwgMjQ0LCAxOTQsIDIxNiwgMjA1LCAxLCAyNDgsIDIzLCAyMTYsIDIwNSwgCisgICAgMSwgMjE2LCAyMDcsIDIxNiwgMjA1LCAxLCAyMzMsIDEzMSwgMjE2LCAyMDUsIDEsIDI0MywgMTMxLCAyMTYsIDIwNSwgMSwgCisgICAgMjQyLCAxNzcsIDIxNiwgMjA1LCAxLCAyMjEsIDE2NSwgMjE2LCAyMDUsIDEsIDI0OCwgMTQ4LCAyMTYsIDIwNSwgMSwgMjEwLCAKKyAgICAxMDAsIDIxNiwgMjA1LCAxLCAyMTcsIDM3LCAyMTYsIDIwNSwgMSwgMjExLCAxMDMsIDIxNiwgMjA1LCAxLCAyMjUsIDIzMywgCisgICAgMjE2LCAyMDUsIDEsIDIzNSwgMTI4LCAyMTYsIDIwNSwgMSwgMjUwLCAxMzQsIDIxNiwgMjA1LCAxLCAyMTUsIDE1NSwgMjE2LCAKKyAgICAyMDUsIDEsIDI0MSwgMTg4LCAyMTYsIDIwNSwgMSwgMjM0LCAxMzEsIDIxNiwgMjA1LCAxLCAyMTYsIDIwNiwgMjE2LCAyMDUsIAorICAgIDEsIDIxMCwgMTE1LCAyMTYsIDIwNSwgMSwgMjIwLCA1OCwgMjE2LCAyMDUsIDEsIDIyMiwgMzAsIDIxNiwgMjA1LCAxLCAKKyAgICAyNDgsIDIxOSwgMjE2LCAyMDUsIDEsIDExMSwgMjE2LCAyMDUsIDEsIDIxMCwgMjMsIDIxNiwgMjA1LCAxLCAyNTQsIDE5MywgCisgICAgMjE2LCAyMDUsIDEsIDI0MiwgMjQzLCAyMTYsIDIwNSwgMSwgMjI0LCA4NSwgMjE2LCAyMDUsIDEsIDIxMiwgNjMsIDIxNiwgCisgICAgMjA1LCAyNTUsIDIyLCAyMTYsIDIwNSwgMjU1LCAzOCwgMjE2LCAyMDUsIDI0MCwgMTE0LCAyMTYsIDIwNSwgMjQ1LCAyMDgsIAorICAgIDIxNiwgMjA1LCAyMTQsIDIyMiwgMjE2LCAyMDUsIDIyNiwgMTgyLCAyMTYsIDIwNSwgMjQ1LCAyMTYsIDIxNiwgMjA1LCAKKyAgICAyNDUsIDE2LCAyMTYsIDIwNSwgMjI2LCAyNDcsIDIxNiwgMjA1LCAyMjYsIDI1NSwgMjE2LCAyMDUsIDIxOCwgNDUsIDIxNiwgCisgICAgMjA1LCAxLCAyMjksIDIyNSwgMjI4LCAxMzcsIDIxLCAyMTAsIDg2LCAyMjgsIDEzNywgMjEsIDExMCwgMjI4LCAxMzcsIDIxLCAKKyAgICAxMDUsIDIyOCwgMTM3LCAyMSwgMTU4LCAyMjgsIDEzNywgMjEsIDE2MSwgMjI4LCAxMzcsIDIxLCAxODksIDIyOCwgMTM3LCAKKyAgICAyMSwgMTk0LCAyMjgsIDEzNywgMjEsIDE5OCwgMjI4LCAxMzcsIDIxLCAxOTUsIDIyOCwgMTM3LCAyMSwgMjAwLCAyMjgsIAorICAgIDEzNywgMSwgNjEsIDIyOCwgMTM3LCAxLCAyNDUsIDIwOSwgMjI4LCAxMzcsIDEsIDczLCAyMjgsIDEzNywgMSwgNzUsIDIyOCwgCisgICAgMTM3LCAxLCA3MCwgMjI4LCAxMzcsIDEsIDIyNiwgMTgzLCAyMjgsIDEzNywgMSwgNzYsIDIyOCwgMTM3LCAxLCAyNDgsIAorICAgIDIwOSwgMjI4LCAxMzcsIDEsIDIzMCwgMjUsIDIyOCwgMTM3LCAxLCAyNTIsIDE5MSwgMjI4LCAxMzcsIDEsIDE5MCwgMjI4LCAKKyAgICAxMzcsIDEsIDIxNywgMTA1LCAyMjgsIDEzNywgMSwgMjM1LCAxNDEsIDIyOCwgMTM3LCAxLCAyNTAsIDE1NywgMjI4LCAxMzcsIAorICAgIDEsIDI0OCwgMjIxLCAyMjgsIDEzNywgMSwgMjA1LCAyMjgsIDEzNywgMSwgMjIyLCAxNzksIDIyOCwgMTM3LCAxLCAyMDYsIAorICAgIDIyOCwgMTM3LCAxLCAyNDMsIDc5LCAyMjgsIDEzNywgMSwgMjQ0LCAxOTYsIDIyOCwgMTM3LCAxLCAxNzYsIDIyOCwgMTM3LCAKKyAgICAxLCAyMzMsIDEzNSwgMjI4LCAxMzcsIDEsIDIyOSwgMjI5LCAyMTEsIDIyMywgMjI4LCAxMzcsIDEsIDE4NCwgMjI4LCAxMzcsIAorICAgIDEsIDIyNywgMTY1LCAyMjgsIDEzNywgMSwgMTk3LCAyMjgsIDEzNywgMSwgMTYyLCAyMjgsIDEzNywgMSwgMjEyLCA2NSwgCisgICAgMjI4LCAxMzcsIDEsIDE5MSwgMjI4LCAxMzcsIDEsIDIyNywgMTY2LCAyMTEsIDIyMywgMjI4LCAxMzcsIDEsIDIzNSwgNjEsIAorICAgIDIzNSwgMTQxLCAyMjgsIDEzNywgMSwgMjM1LCA2MSwgMjUwLCAxNTcsIDIyOCwgMTM3LCAxLCAyMzUsIDYxLCAyMDUsIDIyOCwgCisgICAgMTM3LCAzOCwgMjE5LCAyNTEsIDEyNSwgMjE2LCAzMCwgMjI4LCAxMzcsIDM4LCAyMTksIDI1MSwgMTIxLCAyMTYsIDMwLCAKKyAgICAyMjgsIDEzNywgMzgsIDIxOSwgMjUxLCAyMjIsIDIyOCwgMjE2LCAzMCwgMjI4LCAxMzcsIDM4LCAxOTksIDI0OCwgMzgsIAorICAgIDIxNiwgMzAsIDIyOCwgMTM3LCAzOCwgMTk5LCAxMjUsIDIxNiwgMzAsIDIyOCwgMTM3LCAzOCwgMTk5LCAxMjEsIDIxNiwgCisgICAgMzAsIDIyOCwgMTM3LCAzOCwgMTk5LCAyMjIsIDIyOCwgMjE2LCAzMCwgMjI4LCAxMzcsIDM4LCAyMjksIDE5MywgNzgsIAorICAgIDIyOCwgMTM3LCAzOCwgNTIsIDU5LCA0OCwgMjI4LCAxMzcsIDEyNSwgMTM4LCAyNTQsIDU3LCAyMjgsIDEzNywgMTIxLCAKKyAgICAxMzgsIDI1NCwgNTcsIDIyOCwgMTM3LCAxNiwgMjI2LCAxODQsIDI0OCwgNTAsIDIyOCwgMTM3LCAxNiwgMjQzLCA3OCwgCisgICAgMjI4LCAxMzcsIDI0OSwgMjE5LCAyMjgsIDEzNywgMjQ1LCAzMSwgNzgsIDIyOCwgMTM3LCAyMzMsIDEwOCwgMjIxLCAyNTIsIAorICAgIDEsIDI1NCwgMTc2LCAyMjEsIDI1MiwgMSwgMjUxLCAyMjgsIDIyMSwgMjUyLCAxLCAyNDMsIDExMiwgMjIxLCAyNTIsIDEsIAorICAgIDI0OCwgMTk0LCAyMjEsIDI1MiwgMSwgMjM1LCAxNTIsIDIyMSwgMjUyLCAxLCAyNTIsIDE4OSwgMjIxLCAyNTIsIDEsIDIxMCwgCisgICAgODksIDIyMSwgMjUyLCAxLCAyMzUsIDE2MCwgMjIxLCAyNTIsIDEsIDIxNiwgNjcsIDIyMSwgMjUyLCAxLCAyMTAsIDE4MiwgCisgICAgMjIxLCAyNTIsIDEsIDIzNSwgOSwgMjIxLCAyNTIsIDEsIDIzMywgMTI4LCAyMjEsIDI1MiwgMSwgMjMwLCAxOTAsIDIyMSwgCisgICAgMjUyLCAxLCAyMjcsIDE5NCwgMjIxLCAyNTIsIDEsIDIxOSwgMTU2LCAyMjEsIDI1MiwgMSwgMjM1LCAyNTUsIDIyMSwgMjUyLCAKKyAgICAxLCAyNDQsIDEyMSwgMjIxLCAyNTIsIDEsIDIxNSwgMTgxLCAyMjEsIDI1MiwgMSwgMjI0LCAxMCwgMjIxLCAyNTIsIDEsIAorICAgIDIyMiwgMjI5LCAyMjEsIDI1MiwgMSwgMjIwLCA4NSwgMjIxLCAyNTIsIDEsIDIxNywgMTAwLCAyMjEsIDI1MiwgMTY0LCAKKyAgICAyMzUsIDI1NSwgMjIxLCAyNTIsIDE2NCwgMjM1LCAyNTQsIDIyMSwgMjUyLCAxNjQsIDIyNiwgMjQzLCAyMjEsIDI1MiwgCisgICAgMTY0LCAyNDgsIDIwNywgMjIxLCAyNTIsIDU4LCAxLCAyNDUsIDEwNSwgMjEwLCAxODIsIDIyMSwgMjUyLCAxNjQsIDI0NSwgCisgICAgMTA1LCAyMTAsIDE4MiwgMjIxLCAyNTIsIDI1LCA1LCAxOTksIDc1LCAyMjEsIDI1MiwgMjUsIDUsIDc1LCAyMjEsIDI1MiwgCisgICAgMjUsIDUsIDIyNiwgMTE4LCAyNTUsIDczLCAyMjEsIDI1MiwgMjUsIDUsIDE5OSwgMjU1LCA3MywgMjIxLCAyNTIsIDI1LCA1LCAKKyAgICAyNTUsIDczLCAyMjEsIDI1MiwgMjUsIDUsIDIyNiwgMTE4LCA2MSwgMjIxLCAyNTIsIDI1LCA1LCAxOTksIDYxLCAyMjEsIAorICAgIDI1MiwgMjUsIDUsIDYxLCAyMjEsIDI1MiwgNTgsIDEsIDIxOSwgMjUxLCA2MSwgMjIxLCAyNTIsIDI1LCA1LCAyMTksIDI1MSwgCisgICAgNjEsIDIyMSwgMjUyLCAyNSwgNSwgMTk5LCA3MCwgMjIxLCAyNTIsIDI1LCA1LCA3MCwgMjIxLCAyNTIsIDU4LCAxLCA3MywgCisgICAgMjIxLCAyNTIsIDI1LCA1LCAxOTksIDczLCAyMjEsIDI1MiwgMjUsIDUsIDczLCAyMjEsIDI1MiwgMjUsIDUsIDc2LCAyMjEsIAorICAgIDI1MiwgMjUsIDUsIDIxOCwgNDUsIDIyMSwgMjUyLCAxNjQsIDIyOSwgOTIsIDIyMSwgMjUyLCAyMjQsIDE0MSwgMjI5LCA5MiwgCisgICAgMjIxLCAyNTIsIDIyNCwgMTQxLCAyNTQsIDIxOCwgMjIxLCAyNTIsIDIyNCwgMTQxLCAyNTQsIDExNCwgMjIxLCAyNTIsIAorICAgIDIyNCwgMTQxLCAyNTIsIDExNCwgMjIxLCAyNTIsIDIyNCwgMTQxLCAyNTMsIDIwMSwgMjIxLCAyNTIsIDIyNCwgMTQxLCAKKyAgICAyMjAsIDgsIDIyMSwgMjUyLCAyNTUsIDIxLCA3OCwgMjIxLCAyNTIsIDIyNCwgMTQxLCAyMzEsIDY4LCAyMjQsIDQ1LCAyMjEsIAorICAgIDI1MiwgMjI0LCAxNDEsIDIxMCwgMzEsIDIyMSwgMjUyLCAyMjQsIDE0MSwgMjI0LCA0NSwgMjIxLCAyNTIsIDIyNCwgMTQxLCAKKyAgICAyMTAsIDExNCwgMjIxLCAyNTIsIDIyNCwgMTQxLCAyMTUsIDkwLCAyMjEsIDI1MiwgMjI0LCAxNDEsIDI1NCwgOSwgMjIxLCAKKyAgICAyNTIsIDIyNCwgMTQxLCAyMTksIDUzLCAyMzEsIDE0NSwgMjIxLCAyNTIsIDIyNCwgMTQxLCAyNTQsIDEwMCwgMjMxLCAxODIsIAorICAgIDEsIDI0MiwgMjQsIDIzMSwgMTgyLCAxLCAyNTUsIDI1LCAyMzEsIDE4MiwgMSwgMjU0LCAyMTYsIDIzMSwgMTgyLCAxLCAKKyAgICAyNTQsIDI1NSwgMjMxLCAxODIsIDEsIDI1NCwgMjA5LCAyMzEsIDE4MiwgMSwgMjE0LCAxMjQsIDIzMSwgMTgyLCAxLCAyNTMsIAorICAgIDE2MCwgMjMxLCAxODIsIDEsIDIzNSwgMTYwLCAyMzEsIDE4MiwgMSwgMjUzLCAxOTgsIDIzMSwgMTgyLCAxLCAyNTQsIDE4MSwgCisgICAgMjMxLCAxODIsIDEsIDI1NCwgMTg2LCAyMzEsIDE4MiwgMSwgMjU0LCAxNzgsIDIzMSwgMTgyLCAxLCAyNTQsIDEzNiwgMjMxLCAKKyAgICAxODIsIDEsIDI1NCwgMTIzLCAyMzEsIDE4MiwgMSwgMjUzLCAyMzcsIDIzMSwgMTgyLCAxLCAyMzUsIDI1NSwgMjMxLCAxODIsIAorICAgIDEsIDI1NCwgNzIsIDIzMSwgMTgyLCAxLCAyNTMsIDIwOCwgMjMxLCAxODIsIDEsIDI1NCwgNDUsIDIzMSwgMTgyLCAxLCAKKyAgICAyNTQsIDQxLCAyMzEsIDE4MiwgMSwgMjUzLCAyMzEsIDIzMSwgMTgyLCAxLCAyNTMsIDIwNiwgMjMxLCAxODIsIDEsIDI0NiwgCisgICAgNTUsIDIzMSwgMTgyLCAxLCAyMzUsIDIsIDIzMSwgMTgyLCAxLCAyNTQsIDE5NiwgMjMxLCAxODIsIDI1NCwgMjIyLCA3OCwgCisgICAgMjMxLCAxODIsIDIxMywgMTM2LCA3OCwgMjMxLCAxODIsIDI0MywgNTMsIDc4LCAyMzEsIDE4MiwgMjI0LCAxNDAsIDEwLCAxLCAKKyAgICAyNTIsIDU1LCAyLCA0LCAyMTQsIDEwNiwgNTEsIDEwLCAxLCAxNTEsIDIsIDExMywgMTcwLCA0OCwgMTAsIDEsIDIxNywgODEsIAorICAgIDIsIDExMywgMTcwLCA0OCwgMTAsIDEsIDI0NCwgMTQzLCAyLCA1OSwgMjUyLCA0MywgMjIsIDEzNCwgMTcwLCA0OCwgMTAsIAorICAgIDEsIDIyNCwgODIsIDIsIDU5LCA1MSwgMTAsIDEsIDIzMywgMTAzLCAyLCA1MiwgMTMwLCAxMCwgMSwgNjYsIDIsIDEzNCwgCisgICAgMTcwLCA0OCwgMTAsIDEsIDc5LCAyLCAxMTMsIDE3MCwgMjUyLCA0MywgMjIsIDIwMiwgNDgsIDEwLCAxLCA3OSwgMiwgMTEzLCAKKyAgICAxNzAsIDI1MiwgNDMsIDIyLCA1OSwgNDgsIDEwLCAxLCAyMjMsIDk2LCAyLCAyMzIsIDEyMywgMTAsIDEsIDIxMiwgMzEsIDIsIAorICAgIDU5LCAyMTEsIDIzMSwgMTAsIDEsIDIyMiwgMjAxLCAyMTEsIDQzLCAxMCwgMjQ5LCA5OSwgMjQ0LCAxNjUsIDEwLCAyNDksIAorICAgIDk5LCAyNDgsIDE4NCwgMTAsIDI0OSwgOTksIDIzNCwgMjA1LCAxMCwgMjQ5LCA5OSwgMjQ0LCAxNjMsIDEwLCAyNDksIDk5LCAKKyAgICAyNDgsIDE4MiwgMTAsIDI0OSwgOTksIDIzNCwgMjAzLCAxMCwgMTM4LCAxMjMsIDU5LCA0OCwgMTAsIDEzOCwgMTEzLCAxNzAsIAorICAgIDQ4LCAxMCwgMTM4LCAyMzIsIDEyNCwgNDgsIDEwLCAxMzgsIDEyMywgNTksIDUxLCAxMCwgMTM4LCAxMTMsIDE3MCwgNTEsIAorICAgIDEwLCAxMzgsIDIzMiwgMTI0LCA1MSwgMTAsIDIwNCwgMjQ0LCAxNjMsIDEwLCAyMDQsIDI0OCwgMTgyLCAxMCwgMjA0LCAKKyAgICAyMzQsIDIwMywgMTAsIDQsIDEyNSwgMjEyLCAzMCwgMTAsIDI0NCwgMTY2LCAyLCAyMjIsIDIzMywgMTAsIDI0NCwgMTY2LCAKKyAgICAyLCA1OSwgNDgsIDEwLCAyMzQsIDIwNiwgMiwgNTksIDUxLCAxMCwgNDMsIDI1MywgMjUwLCA0OCwgMTAsIDQ0LCAyNTMsIAorICAgIDI1MCwgNDgsIDEwLCA0MywgMjUzLCAyNTAsIDUxLCAxMCwgNDQsIDI1MywgMjUwLCA1MSwgMTAsIDUyLCA0NCwgMjUzLCAKKyAgICAyNTAsIDQ4LCAxMCwgNTIsIDQ0LCAyNTMsIDI1MCwgNzcsIDIsIDI0NywgMTIwLCAxMCwgNDQsIDI1MywgMjUwLCA3NywgMiwgCisgICAgMjQ3LCAxMjAsIDEwLCAyNDgsIDE4NSwgMiwgMjQ3LCAxMjAsIDg0LCA1LCAyMzUsIDE5MywgMjUwLCAyNTUsIDg0LCA1LCAKKyAgICAyNTAsIDI1NSwgODQsIDUsIDI1NCwgNzUsIDg0LCA1LCAyMTMsIDE0NywgODQsIDEsIDIxOSwgMjUxLCA2MSwgODQsIDEsIAorICAgIDYxLCA4NCwgMSwgMjU1LCA3MywgODQsIDEsIDczLCA4NCwgMSwgMjM2LCAzMywgODQsIDEsIDcwLCA4NCwgMSwgMjE0LCAKKyAgICAxMTgsIDg0LCAxLCAxNDksIDE1MywgODQsIDEsIDE0OSwgMTU2LCA4NCwgMSwgMjUxLCAyLCA3NSwgODQsIDEsIDIxOSwgCisgICAgMjUxLCA3NSwgODQsIDEsIDc1LCA4NCwgMSwgMjU0LCAyMDEsIDg0LCAxLCAyNTEsIDIsIDc2LCA4NCwgMSwgMjE5LCAyNTEsIAorICAgIDc2LCA4NCwgMSwgNzYsIDg0LCAxLCAyNTMsIDE5MiwgODQsIDEsIDE3NiwgODQsIDEsIDIzNCwgMTMyLCA4NCwgMSwgMjQzLCAKKyAgICAxMzUsIDg0LCAxLCAyNDIsIDI0OSwgODQsIDEsIDIyOSwgNzcsIDg0LCAxLCAyNTEsIDMzLCA4NCwgMSwgMjUwLCAxNTcsIAorICAgIDg0LCAxLCAyMzUsIDE0MSwgODQsIDEsIDIzNSwgMTE0LCA4NCwgMSwgMjI3LCAxNjUsIDg0LCAxLCAyMTUsIDE1NiwgODQsIAorICAgIDEsIDIxNSwgMTQ0LCA4NCwgMSwgMjQ4LCAxMzUsIDg0LCAxLCAyNDgsIDExOSwgODQsIDEsIDIyOCwgMTEwLCA4NCwgMSwgCisgICAgMjE3LCAxMDUsIDg0LCAxLCAyMTYsIDIwOCwgODQsIDEsIDI0OCwgMjIxLCA4NCwgMSwgMjQ4LCAyNSwgODQsIDEsIDE5NywgCisgICAgODQsIDEsIDIyOCwgOTIsIDg0LCAxLCAxOTAsIDg0LCAxLCAyMjUsIDE0NywgODQsIDEsIDI1MiwgMTkxLCA4NCwgMSwgMjUyLCAKKyAgICAxOCwgODQsIDEsIDE4NCwgODQsIDEsIDE5MSwgODQsIDEsIDIwNSwgODQsIDEsIDIyMiwgMTc5LCA4NCwgMSwgMjMzLCAxMzUsIAorICAgIDg0LCAxLCAyMzIsIDE4NCwgODQsIDEsIDIzMiwgMTc1LCA4NCwgMSwgMjE0LCAyNywgODQsIDEsIDIyMCwgMTAyLCA4NCwgMSwgCisgICAgMjE4LCAyMjMsIDg0LCAxLCAyMDYsIDg0LCAxLCAxNjIsIDg0LCAyNSwgNSwgMjI2LCAyMzQsIDg0LCAyNSwgNSwgMjI2LCAKKyAgICAxODEsIDg0LCA1LCAyMjcsIDIwNSwgODQsIDUsIDI1MywgMTc1LCA4NCwgMjUsIDUsIDI1NSwgNzMsIDg0LCAyNSwgNSwgNzMsIAorICAgIDg0LCAyNSwgNSwgMjM2LCAzMywgODQsIDI1LCA1LCA3MCwgODQsIDI1LCA1LCAyMTQsIDExOCwgODQsIDI1LCA1LCAxNDksIAorICAgIDE1MywgODQsIDI1LCA1LCAxNDksIDIyMiwgMTgwLCA4NCwgMjUsIDUsIDI1MSwgMiwgNzUsIDg0LCAyNSwgNSwgMjE5LCAKKyAgICAyNTEsIDc1LCA4NCwgMjUsIDUsIDc1LCA4NCwgMjUsIDUsIDI1NCwgMjAxLCA4NCwgMjUsIDUsIDI1MSwgMiwgNzYsIDg0LCAKKyAgICAyNSwgNSwgMjE5LCAyNTEsIDc2LCA4NCwgMjUsIDUsIDc2LCA4NCwgMjUsIDUsIDI1MywgMTkyLCA4NCwgNSwgMjEzLCAxNTIsIAorICAgIDg0LCAyNSwgNSwgMjI0LCAxODUsIDc1LCA4NCwgMjUsIDUsIDI1MywgMTcxLCA4NCwgMjI2LCAyMDQsIDg0LCAyMTgsIDExMSwgCisgICAgNSwgMjE0LCAyMTYsIDg0LCAyMTgsIDExMSwgNSwgMjU0LCA3NywgODQsIDI0MiwgMTM3LCAyNTUsIDE0LCA4NCwgMjU1LCAzLCAKKyAgICAyNTUsIDE0LCA4NCwgMjUsIDUsIDI1MSwgMiwgMTk5LCA3NSwgODQsIDI1LCA1LCAyMTQsIDIxNCwgODQsIDI1LCA1LCAyMTQsIAorICAgIDExNywgODQsIDEsIDIyNCwgODgsIDg0LCAxLCAyMzQsIDExNSwgODQsIDEsIDI0MiwgMjI2LCA4NCwgMSwgMjEwLCAxMTYsIAorICAgIDg0LCAxLCAyNDgsIDEyNCwgODQsIDEsIDIyMywgMzksIDg0LCAxLCAyNDQsIDE5NiwgODQsIDEsIDIxMCwgMTY4LCA4NCwgMSwgCisgICAgMTQ5LCAyMjIsIDE4MCwgODQsIDEsIDE0OSwgMjMyLCAxODUsIDg0LCAyNSwgNSwgMTQ5LCAxNTYsIDg0LCAyNSwgNSwgMTQ5LCAKKyAgICAyMzIsIDE4NSwgODQsIDI0OCwgMTc4LCA4NCwgNTIsIDI0OCwgMTc4LCA4NCwgMjEsIDIxMCwgODYsIDg0LCAyMSwgMTEwLCAKKyAgICA4NCwgMjEsIDEwNSwgODQsIDIxLCAxNTgsIDg0LCAyMSwgMTYxLCA4NCwgMjEsIDE4OSwgODQsIDIxLCAxOTQsIDg0LCAyMSwgCisgICAgMTk4LCA4NCwgMjEsIDE5NSwgODQsIDIxLCAyMDAsIDg0LCAyNTUsIDIxLCA1MCwgODQsIDUsIDEyNSwgMjE5LCAxNywgMjQ3LCAKKyAgICAxMjAsIDg0LCAxLCAyNTEsIDIsIDYxLCA4NCwgMSwgMjI2LCAyMzQsIDg0LCAxLCAyMjYsIDE4MSwgODQsIDEsIDI1MywgCisgICAgMTcxLCA4NCwgMSwgMjE0LCAyMTQsIDg0LCAxLCAyMTQsIDExNywgODQsIDEsIDIxMCwgODIsIDg0LCAxLCAxMTQsIDE5MSwgCisgICAgODQsIDEsIDI0MywgMjksIDg0LCAxLCAyMzUsIDk2LCA4NCwgMSwgMjQyLCAxODAsIDIxOCwgMTI5LCA4NCwgMSwgMjQ4LCAKKyAgICAxMjUsIDg0LCAxLCAyNTIsIDExMSwgMTQ2LCA1LCAyNTAsIDI1NSwgMTQ2LCA1LCAyNTQsIDc1LCAxNDYsIDUsIDIxMywgCisgICAgMTQ3LCAxNDYsIDEsIDYxLCAxNDYsIDEsIDI1NSwgNzMsIDE0NiwgMSwgNzMsIDE0NiwgMSwgMjM2LCAzMywgMTQ2LCAxLCAKKyAgICA3MCwgMTQ2LCAxLCAyMTQsIDExOCwgMTQ2LCAxLCAxNDksIDE1MywgMTQ2LCAxLCAxNDksIDE1NiwgMTQ2LCAxLCA3NSwgCisgICAgMTQ2LCAxLCAyNTQsIDIwMSwgMTQ2LCAxLCA3NiwgMTQ2LCAxLCAyNTMsIDE5MiwgMTQ2LCAxLCAxNzYsIDE0NiwgMSwgMjM0LCAKKyAgICAxMzIsIDE0NiwgMSwgMjQzLCAxMzUsIDE0NiwgMSwgMjQyLCAyNDksIDE0NiwgMSwgMjI5LCA3NywgMTQ2LCAxLCAyNTEsIAorICAgIDMzLCAxNDYsIDEsIDI1MCwgMTU3LCAxNDYsIDEsIDIzNSwgMTQxLCAxNDYsIDEsIDIzNSwgMTE0LCAxNDYsIDEsIDIyNywgCisgICAgMTY1LCAxNDYsIDEsIDIxNSwgMTU2LCAxNDYsIDEsIDIxNSwgMTQ0LCAxNDYsIDEsIDI0OCwgMTM1LCAxNDYsIDEsIDI0OCwgCisgICAgMTE5LCAxNDYsIDEsIDIyOCwgMTEwLCAxNDYsIDEsIDIxNywgMTA1LCAxNDYsIDEsIDIxNiwgMjA4LCAxNDYsIDEsIDI0OCwgCisgICAgMjIxLCAxNDYsIDEsIDI0OCwgMjUsIDE0NiwgMSwgMTk3LCAxNDYsIDEsIDE5MCwgMTQ2LCAxLCAyMjUsIDE0NywgMTQ2LCAxLCAKKyAgICAyNTIsIDE5MSwgMTQ2LCAxLCAyNTIsIDE4LCAxNDYsIDEsIDE4NCwgMTQ2LCAxLCAxOTEsIDE0NiwgMSwgMjA1LCAxNDYsIDEsIAorICAgIDIzMywgMTM1LCAxNDYsIDEsIDIyMCwgMTAyLCAxNDYsIDEsIDIxOCwgMjIzLCAxNDYsIDEsIDIwNiwgMTQ2LCAxLCAxNjIsIAorICAgIDE0NiwgNSwgMjI3LCAyMDUsIDE0NiwgNSwgMjUzLCAxNzUsIDE0NiwgMjUsIDUsIDI1NSwgNzMsIDE0NiwgMjUsIDUsIDczLCAKKyAgICAxNDYsIDI1LCA1LCAyMzYsIDMzLCAxNDYsIDI1LCA1LCA3MCwgMTQ2LCAyNSwgNSwgMjE0LCAxMTgsIDE0NiwgMjUsIDUsIAorICAgIDE0OSwgMTUzLCAxNDYsIDI1LCA1LCAxNDksIDIyMiwgMTgwLCAxNDYsIDI1LCA1LCA3NSwgMTQ2LCAyNSwgNSwgMjU0LCAKKyAgICAyMDEsIDE0NiwgMjUsIDUsIDc2LCAxNDYsIDI1LCA1LCAyNTMsIDE5MiwgMTQ2LCA1LCAyMTMsIDE1MiwgMTQ2LCAxLCAyMzQsIAorICAgIDEyNCwgMjE3LCAxMDUsIDE0NiwgMjUzLCAxOTMsIDIzMywgMjMsIDc4LCAxNDYsIDEsIDIyMiwgMTc5LCAxNDYsIDEsIDIyMywgCisgICAgMzksIDE0NiwgMSwgMjEwLCAxNjgsIDE0NiwgMSwgMTQ5LCAyMjIsIDE4MCwgMTQ2LCAxLCAxNDksIDIzMiwgMTg1LCAxNDYsIAorICAgIDI1LCA1LCAxNDksIDE1NiwgMTQ2LCAyNSwgNSwgMTQ5LCAyMzIsIDE4NSwgMTQ2LCAyMSwgMjEwLCA4NiwgMTQ2LCAyMSwgCisgICAgMTEwLCAxNDYsIDIxLCAxMDUsIDE0NiwgMjEsIDE1OCwgMTQ2LCAyMSwgMTYxLCAxNDYsIDIxLCAxODksIDE0NiwgMjEsIAorICAgIDE5NCwgMTQ2LCAyMSwgMTk4LCAxNDYsIDIxLCAxOTUsIDE0NiwgMjEsIDIwMCwgMTQ2LCAxLCAyMjMsIDE4OCwgMiwgMjMwLCAKKyAgICAyMjQsIDI0NywgMjU0LCAxNDYsIDEsIDIyMywgMTg4LCAyLCAyMzIsIDEwOCwgMjQ3LCAyNTQsIDE0NiwgMjIyLCAxMTgsIAorICAgIDc4LCAxNDYsIDIyMiwgMTE4LCA1MCwgMTQ2LCAyNDksIDk4LCAyMjcsIDE5NywgMTEwLCAxNDYsIDI0OSwgOTgsIDIyNywgCisgICAgMTk3LCAxMDUsIDE0NiwgMjQ5LCA5OCwgMjI3LCAxOTcsIDE1OCwgMTQ2LCAyNDksIDk4LCAyMjcsIDE5NywgMTYxLCAxNDYsIAorICAgIDI0OSwgOTgsIDIyNywgMTk3LCAxMjMsIDIzMywgMTYsIDIxNiwgMjAxLCAyMTYsIDE5NiwgMjQ4LCA0OCwgMTQ2LCAyNDksIAorICAgIDk4LCAyNDgsIDQ5LCAyMTksIDExOSwgMTQ2LCAyMzUsIDE2MSwgMTQ2LCAyNDMsIDEwMywgNzgsIDE4MywgNSwgMjU0LCAKKyAgICAyNTQsIDI1MSwgMjQzLCAxODMsIDUsIDI1MSwgMjQzLCAxODMsIDUsIDIxMywgMTQ3LCAxODMsIDEsIDYxLCAxODMsIDEsIAorICAgIDI1NSwgNzMsIDE4MywgMSwgNzMsIDE4MywgMSwgMjM2LCAzMywgMTgzLCAxLCA3MCwgMTgzLCAxLCAyMTQsIDExOCwgMTgzLCAKKyAgICAxLCAyNDUsIDIwOSwgMTgzLCAxLCAyNTQsIDIwMSwgMTgzLCAxLCAyMjYsIDE4MywgMTgzLCAxLCAyNTMsIDE5MiwgMTgzLCAKKyAgICAxLCAxNzYsIDE4MywgMSwgMjM0LCAxMzIsIDE4MywgMSwgMjQzLCAxMzUsIDE4MywgMSwgMjQyLCAyNDksIDE4MywgMSwgCisgICAgMjI5LCA3NywgMTgzLCAxLCAyNTEsIDMzLCAxODMsIDEsIDI1MCwgMTU3LCAxODMsIDEsIDIzNSwgMTQxLCAxODMsIDEsIAorICAgIDIzNSwgMTE0LCAxODMsIDEsIDIyNywgMTY1LCAxODMsIDEsIDIxNSwgMTU2LCAxODMsIDEsIDIxNSwgMTQ0LCAxODMsIDEsIAorICAgIDI0OCwgMTM1LCAxODMsIDEsIDI0OCwgMTE5LCAxODMsIDEsIDIyOCwgMTEwLCAxODMsIDEsIDIxNywgMTA1LCAxODMsIDEsIAorICAgIDIxNiwgMjA4LCAxODMsIDEsIDI0OCwgMjIxLCAxODMsIDEsIDI0OCwgMjUsIDE4MywgMSwgMTk3LCAxODMsIDEsIDE5MCwgCisgICAgMTgzLCAxLCAyMjUsIDE0NywgMTgzLCAxLCAyNTIsIDE5MSwgMTgzLCAxLCAyNTIsIDE4LCAxODMsIDEsIDE4NCwgMTgzLCAxLCAKKyAgICAxOTEsIDE4MywgMSwgMjA1LCAxODMsIDEsIDIzMywgMTM1LCAxODMsIDEsIDIzMiwgMTg0LCAxODMsIDEsIDIxNCwgMjcsIAorICAgIDE4MywgMSwgMjIwLCAxMDIsIDE4MywgMSwgMjA2LCAxODMsIDEsIDE2MiwgMTgzLCA1LCAyMjcsIDIwNSwgMTgzLCAyNSwgNSwgCisgICAgMjU1LCA3MywgMTgzLCAyNSwgNSwgNzMsIDE4MywgMjUsIDUsIDIzNiwgMzMsIDE4MywgMjUsIDUsIDcwLCAxODMsIDI1LCA1LCAKKyAgICAyMTQsIDExOCwgMTgzLCAyNSwgNSwgMjQ1LCAyMDksIDE4MywgMjUsIDUsIDI1NCwgMjAxLCAxODMsIDI1LCA1LCAyMjYsIAorICAgIDE4MywgMTgzLCAyNSwgNSwgMjUzLCAxOTIsIDE4MywgNSwgMjEzLCAxNTIsIDE4MywgNSwgMjE0LCAyMTgsIDE4MywgMSwgCisgICAgMjM0LCAxMTUsIDE4MywgMSwgMjQyLCAyMjYsIDE4MywgMSwgMjEwLCAxMTYsIDE4MywgMSwgMjIyLCAxNzksIDE4MywgMSwgCisgICAgMjQ0LCAxOTYsIDE4MywgMjEsIDIxMCwgODYsIDE4MywgMjEsIDExMCwgMTgzLCAyMSwgMTA1LCAxODMsIDIxLCAxNTgsIAorICAgIDE4MywgMjEsIDE2MSwgMTgzLCAyMSwgMTg5LCAxODMsIDIxLCAxOTQsIDE4MywgMjEsIDE5OCwgMTgzLCAyMSwgMTk1LCAKKyAgICAxODMsIDIxLCAyMDAsIDE4MywgMjE2LCA3NCwgMTgzLCAyNTQsIDI1MywgMTgzLCAyMzUsIDE3OCwgMTgzLCAyMTQsIDE0NiwgCisgICAgMTgzLCAyNDUsIDE4MSwgMjI2LCAxODgsIDE4MywgNSwgMjExLCA3OCwgMTcxLCA1LCAyNTAsIDI1NSwgMTcxLCA1LCAyNTQsIAorICAgIDc1LCAxNzEsIDUsIDIxMywgMTQ3LCAxNzEsIDEsIDYxLCAxNzEsIDEsIDI1NSwgNzMsIDE3MSwgMSwgNzMsIDE3MSwgMSwgCisgICAgMjM2LCAzMywgMTcxLCAxLCA3MCwgMTcxLCAxLCAyMTQsIDExOCwgMTcxLCAxLCAxNDksIDE1MywgMTcxLCAxLCAxNDksIAorICAgIDE1NiwgMTcxLCAyNSwgMjUxLCAyLCA3NSwgMTcxLCAxLCA3NSwgMTcxLCAxLCAyNTQsIDIwMSwgMTcxLCAyNSwgMjUxLCAyLCAKKyAgICA3NiwgMTcxLCAxLCA3NiwgMTcxLCAxLCAyNTMsIDE5MiwgMTcxLCAxLCAxNzYsIDE3MSwgMSwgMjM0LCAxMzIsIDE3MSwgMSwgCisgICAgMjQzLCAxMzUsIDE3MSwgMSwgMjQyLCAyNDksIDE3MSwgMSwgMjI5LCA3NywgMTcxLCAxLCAyNTEsIDMzLCAxNzEsIDEsIAorICAgIDI1MCwgMTU3LCAxNzEsIDEsIDIzNSwgMTQxLCAxNzEsIDEsIDIzNSwgMTE0LCAxNzEsIDEsIDIyNywgMTY1LCAxNzEsIDEsIAorICAgIDIxNSwgMTU2LCAxNzEsIDEsIDIxNSwgMTQ0LCAxNzEsIDEsIDI0OCwgMTM1LCAxNzEsIDEsIDI0OCwgMTE5LCAxNzEsIDEsIAorICAgIDIyOCwgMTEwLCAxNzEsIDEsIDIxNywgMTA1LCAxNzEsIDEsIDIxNiwgMjA4LCAxNzEsIDEsIDI0OCwgMjIxLCAxNzEsIDEsIAorICAgIDI0OCwgMjUsIDE3MSwgMSwgMTk3LCAxNzEsIDEsIDE5MCwgMTcxLCAxLCAyMjUsIDE0NywgMTcxLCAxLCAyNTIsIDE5MSwgCisgICAgMTcxLCAxLCAyNTIsIDE4LCAxNzEsIDEsIDE4NCwgMTcxLCAxLCAxOTEsIDE3MSwgMSwgMjA1LCAxNzEsIDEsIDIzMywgMTM1LCAKKyAgICAxNzEsIDEsIDIzMiwgMTg0LCAxNzEsIDEsIDIxNCwgMjcsIDE3MSwgMSwgMjIwLCAxMDIsIDE3MSwgMSwgMjE4LCAyMjMsIAorICAgIDE3MSwgMSwgMjA2LCAxNzEsIDEsIDE2MiwgMTcxLCA1LCAyMjcsIDIwNSwgMTcxLCA1LCAyNTMsIDE3NSwgMTcxLCAyNSwgNSwgCisgICAgMjU1LCA3MywgMTcxLCAyNSwgNSwgNzMsIDE3MSwgMjUsIDUsIDIzNiwgMzMsIDE3MSwgMjUsIDUsIDcwLCAxNzEsIDI1LCA1LCAKKyAgICAyMTQsIDExOCwgMTcxLCAyNSwgNSwgMTQ5LCAxNTMsIDE3MSwgMjUsIDUsIDE0OSwgMjIyLCAxODAsIDE3MSwgMjUsIDUsIAorICAgIDI1MSwgMiwgNzUsIDE3MSwgMjUsIDUsIDc1LCAxNzEsIDI1LCA1LCAyNTQsIDIwMSwgMTcxLCAyNSwgNSwgMjUxLCAyLCA3NiwgCisgICAgMTcxLCAyNSwgNSwgNzYsIDE3MSwgMjUsIDUsIDI1MywgMTkyLCAxNzEsIDUsIDIxMywgMTUyLCAxNzEsIDIyNiwgMjA0LCAKKyAgICAxNzEsIDEsIDE0OSwgMjIyLCAxODAsIDE3MSwgMSwgMTQ5LCAyMzIsIDE4NSwgMTcxLCAyNSwgNSwgMTQ5LCAxNTYsIDE3MSwgCisgICAgMjUsIDUsIDE0OSwgMjMyLCAxODUsIDE3MSwgMjEsIDIxMCwgODYsIDE3MSwgMjEsIDExMCwgMTcxLCAyMSwgMTA1LCAxNzEsIAorICAgIDIxLCAxNTgsIDE3MSwgMjEsIDE2MSwgMTcxLCAyMSwgMTg5LCAxNzEsIDIxLCAxOTQsIDE3MSwgMjEsIDE5OCwgMTcxLCAyMSwgCisgICAgMTk1LCAxNzEsIDIxLCAyMDAsIDE3MSwgMjU1LCAyMSwgNTAsIDE3MSwgMjIyLCAxMTgsIDUwLCAxNTcsIDUsIDI1MCwgMjU1LCAKKyAgICAxNTcsIDUsIDI1NCwgNzUsIDE1NywgNSwgMjEzLCAxNDcsIDE1NywgMSwgNjEsIDE1NywgMSwgMjU1LCA3MywgMTU3LCAxLCAKKyAgICA3MywgMTU3LCAxLCAyMzYsIDMzLCAxNTcsIDEsIDcwLCAxNTcsIDEsIDIxNCwgMTE4LCAxNTcsIDEsIDE0OSwgMTUzLCAxNTcsIAorICAgIDEsIDE0OSwgMTU2LCAxNTcsIDEsIDc1LCAxNTcsIDEsIDI1NCwgMjAxLCAxNTcsIDEsIDc2LCAxNTcsIDEsIDI1MywgMTkyLCAKKyAgICAxNTcsIDEsIDE3NiwgMTU3LCAxLCAyMzQsIDEzMiwgMTU3LCAxLCAyNDMsIDEzNSwgMTU3LCAxLCAyNDIsIDI0OSwgMTU3LCAKKyAgICAxLCAyMjksIDc3LCAxNTcsIDEsIDI1MSwgMzMsIDE1NywgMSwgMjUwLCAxNTcsIDE1NywgMSwgMjM1LCAxNDEsIDE1NywgMSwgCisgICAgMjM1LCAxMTQsIDE1NywgMSwgMjI3LCAxNjUsIDE1NywgMSwgMjE1LCAxNTYsIDE1NywgMSwgMjE1LCAxNDQsIDE1NywgMSwgCisgICAgMjQ4LCAxMzUsIDE1NywgMSwgMjQ4LCAxMTksIDE1NywgMSwgMjI4LCAxMTAsIDE1NywgMSwgMjE3LCAxMDUsIDE1NywgMSwgCisgICAgMjE2LCAyMDgsIDE1NywgMSwgMjQ4LCAyMjEsIDE1NywgMSwgMjQ4LCAyNSwgMTU3LCAxLCAxOTcsIDE1NywgMSwgMTkwLCAKKyAgICAxNTcsIDEsIDIyNSwgMTQ3LCAxNTcsIDEsIDI1MiwgMTkxLCAxNTcsIDEsIDI1MiwgMTgsIDE1NywgMSwgMTg0LCAxNTcsIDEsIAorICAgIDE5MSwgMTU3LCAxLCAyMDUsIDE1NywgMSwgMjMzLCAxMzUsIDE1NywgMSwgMjMyLCAxODQsIDE1NywgMSwgMjE0LCAyNywgCisgICAgMTU3LCAxLCAyMjAsIDEwMiwgMTU3LCAxLCAyMTgsIDIyMywgMTU3LCAxLCAyMDYsIDE1NywgMSwgMTYyLCAxNTcsIDUsIAorICAgIDIyNywgMjA1LCAxNTcsIDUsIDI1MywgMTc1LCAxNTcsIDI1LCA1LCAyNTUsIDczLCAxNTcsIDI1LCA1LCA3MywgMTU3LCAyNSwgCisgICAgNSwgMjM2LCAzMywgMTU3LCAyNSwgNSwgNzAsIDE1NywgMjUsIDUsIDIxNCwgMTE4LCAxNTcsIDI1LCA1LCAxNDksIDE1MywgCisgICAgMTU3LCAyNSwgNSwgMTQ5LCAyMjIsIDE4MCwgMTU3LCAyNSwgNSwgNzUsIDE1NywgMjUsIDUsIDI1NCwgMjAxLCAxNTcsIDI1LCAKKyAgICA1LCA3NiwgMTU3LCAyNSwgNSwgMjUzLCAxOTIsIDE1NywgNSwgMjEzLCAxNTIsIDE1NywgMjU0LCAyMDIsIDIzMywgMjMsIAorICAgIDc4LCAxNTcsIDI1MywgMTkzLCAyMzMsIDIzLCA3OCwgMTU3LCAxLCAyMjIsIDE3OSwgMTU3LCAxLCAyMjMsIDM5LCAxNTcsIAorICAgIDEsIDIxMCwgMTY4LCAxNTcsIDEsIDE0OSwgMjIyLCAxODAsIDE1NywgMSwgMTQ5LCAyMzIsIDE4NSwgMTU3LCAyNSwgNSwgCisgICAgMTQ5LCAxNTYsIDE1NywgMjUsIDUsIDE0OSwgMjMyLCAxODUsIDE1NywgMjEsIDIxMCwgODYsIDE1NywgMjEsIDExMCwgMTU3LCAKKyAgICAyMSwgMTA1LCAxNTcsIDIxLCAxNTgsIDE1NywgMjEsIDE2MSwgMTU3LCAyMSwgMTg5LCAxNTcsIDIxLCAxOTQsIDE1NywgMjEsIAorICAgIDE5OCwgMTU3LCAyMSwgMTk1LCAxNTcsIDIxLCAyMDAsIDE1NywgMjM1LCAxNjEsIDE1NywgMSwgMjEyLCA2NSwgMTU3LCAKKyAgICAyNDQsIDIsIDEyMywgMjI0LCAyMSwgMTU3LCAyNDQsIDIsIDEyMywgMjQyLCAyNywgMTU3LCAyNDQsIDIsIDEzNCwgMjI0LCAKKyAgICAxOSwgMTU3LCAyNDQsIDIsIDEyMywgMjE5LCAxMTcsIDE1NywgMjQ0LCAyLCAxMjMsIDI0NSwgMTg4LCAxNTcsIDI0NCwgMiwgCisgICAgMTM0LCAyMTksIDExNiwgMzYsIDUsIDI1NCwgNzUsIDM2LCA1LCAyMTMsIDE0NywgMzYsIDEsIDYxLCAzNiwgMSwgMjU1LCAKKyAgICA3MywgMzYsIDEsIDczLCAzNiwgMSwgMjM2LCAzMywgMzYsIDEsIDcwLCAzNiwgMSwgMjE0LCAxMTgsIDM2LCAxLCA3NSwgMzYsIAorICAgIDEsIDI0NSwgMjA5LCAzNiwgMSwgMjU0LCAyMDEsIDM2LCAxLCA3NiwgMzYsIDEsIDIyNiwgMTgzLCAzNiwgMSwgMjUzLCAKKyAgICAxOTIsIDM2LCAxLCAxNzYsIDM2LCAxLCAyMjksIDc3LCAzNiwgMSwgMjUxLCAzMywgMzYsIDEsIDIzNSwgMTQxLCAzNiwgMSwgCisgICAgMjI3LCAxNjUsIDM2LCAxLCAyMTUsIDE1NiwgMzYsIDEsIDIyOCwgMTEwLCAzNiwgMSwgMjE3LCAxMDUsIDM2LCAxLCAxOTcsIAorICAgIDM2LCAxLCAyMjgsIDkyLCAzNiwgMSwgMTkwLCAzNiwgMSwgMTg0LCAzNiwgMSwgMTkxLCAzNiwgMSwgMjA1LCAzNiwgMSwgCisgICAgMjIyLCAxNzksIDM2LCAxLCAyMzMsIDEzNSwgMzYsIDEsIDIzMiwgMTg0LCAzNiwgMSwgMjMyLCAxNzUsIDM2LCAxLCAyMTQsIAorICAgIDI3LCAzNiwgMSwgMjIwLCAxMDIsIDM2LCAxLCAyMTgsIDIyMywgMzYsIDEsIDIwNiwgMzYsIDEsIDE2MiwgMzYsIDI1LCA1LCAKKyAgICAyNTUsIDczLCAzNiwgMjUsIDUsIDczLCAzNiwgMjUsIDUsIDIzNiwgMzMsIDM2LCAyNSwgNSwgNzAsIDM2LCAyNSwgNSwgCisgICAgMjE0LCAxMTgsIDM2LCAyNSwgNSwgNzUsIDM2LCAyNSwgNSwgMjQ1LCAyMDksIDM2LCAyNSwgNSwgMjU0LCAyMDEsIDM2LCAKKyAgICAyNSwgNSwgNzYsIDM2LCAyNSwgNSwgMjI2LCAxODMsIDM2LCAyNSwgNSwgMjUzLCAxOTIsIDM2LCA1LCAyMTMsIDE1MiwgMzYsIAorICAgIDIyNiwgMjA0LCAzNiwgMjUzLCAxOTMsIDIzMywgMjMsIDc4LCAzNiwgMjEsIDIxMCwgODYsIDM2LCAyMSwgMTEwLCAzNiwgCisgICAgMjEsIDEwNSwgMzYsIDIxLCAxNTgsIDM2LCAyMSwgMTYxLCAzNiwgMjEsIDE4OSwgMzYsIDIxLCAxOTQsIDM2LCAyMSwgMTk4LCAKKyAgICAzNiwgMjEsIDE5NSwgMzYsIDIxLCAyMDAsIDM2LCA1NCwgMjE2LCAyNDcsIDM2LCA1NCwgMTIzLCAyNDAsIDIxMCwgMzYsIAorICAgIDU0LCAxMjMsIDIxNiwgMTQ3LCAzNiwgMjQ4LCAxNDYsIDUwLCAzNiwgMjMwLCAxMzUsIDUwLCAzNiwgMjExLCA0NSwgNTAsIAorICAgIDM2LCAyNDgsIDg3LCA1MCwgMzYsIDI0OSwgMTM5LCA1MCwgMzYsIDI1MywgMjM4LCA3NywgNTAsIDM2LCAyMjIsIDExOCwgCisgICAgNTAsIDM2LCA1NCwgNTAsIDE0OCwgNSwgMjUwLCAyNTUsIDE0OCwgNSwgMjU0LCA3NSwgMTQ4LCA1LCAyMTMsIDE0NywgMTQ4LCAKKyAgICAxLCA2MSwgMTQ4LCAxLCAyNTUsIDczLCAxNDgsIDEsIDczLCAxNDgsIDEsIDIzNiwgMzMsIDE0OCwgMSwgNzAsIDE0OCwgMSwgCisgICAgMjE0LCAxMTgsIDE0OCwgMSwgMTQ5LCAxNTMsIDE0OCwgMSwgMTQ5LCAxNTYsIDE0OCwgMSwgNzUsIDE0OCwgMSwgMjQ1LCAKKyAgICAyMDksIDE0OCwgMSwgMjU0LCAyMDEsIDE0OCwgMSwgNzYsIDE0OCwgMSwgMjI2LCAxODMsIDE0OCwgMSwgMjUzLCAxOTIsIAorICAgIDE0OCwgMSwgMTc2LCAxNDgsIDEsIDIzNCwgMTMyLCAxNDgsIDEsIDI0MywgMTM1LCAxNDgsIDEsIDI0MiwgMjQ5LCAxNDgsIAorICAgIDEsIDIyOSwgNzcsIDE0OCwgMSwgMjUxLCAzMywgMTQ4LCAxLCAyNTAsIDE1NywgMTQ4LCAxLCAyMzUsIDE0MSwgMTQ4LCAxLCAKKyAgICAyMzUsIDExNCwgMTQ4LCAxLCAyMjcsIDE2NSwgMTQ4LCAxLCAyMTUsIDE1NiwgMTQ4LCAxLCAyMTUsIDE0NCwgMTQ4LCAxLCAKKyAgICAyNDgsIDEzNSwgMTQ4LCAxLCAyNDgsIDExOSwgMTQ4LCAxLCAyMjgsIDExMCwgMTQ4LCAxLCAyMTcsIDEwNSwgMTQ4LCAxLCAKKyAgICAyMTYsIDIwOCwgMTQ4LCAxLCAyNDgsIDIyMSwgMTQ4LCAxLCAyNDgsIDI1LCAxNDgsIDEsIDE5NywgMTQ4LCAxLCAxOTAsIAorICAgIDE0OCwgMSwgMjI1LCAxNDcsIDE0OCwgMSwgMjUyLCAxOTEsIDE0OCwgMSwgMjUyLCAxOCwgMTQ4LCAxLCAxODQsIDE0OCwgMSwgCisgICAgMTkxLCAxNDgsIDEsIDIwNSwgMTQ4LCAxLCAyMjIsIDE3OSwgMTQ4LCAxLCAyMzMsIDEzNSwgMTQ4LCAxLCAyMzIsIDE4NCwgCisgICAgMTQ4LCAxLCAyMTQsIDI3LCAxNDgsIDEsIDIyMCwgMTAyLCAxNDgsIDEsIDIxOCwgMjIzLCAxNDgsIDEsIDIwNiwgMTQ4LCAxLCAKKyAgICAxNjIsIDE0OCwgNSwgMjUzLCAxNzUsIDE0OCwgMjUsIDUsIDI1NSwgNzMsIDE0OCwgMjUsIDUsIDczLCAxNDgsIDI1LCA1LCAKKyAgICAyMzYsIDMzLCAxNDgsIDI1LCA1LCA3MCwgMTQ4LCAyNSwgNSwgMjE0LCAxMTgsIDE0OCwgMjUsIDUsIDE0OSwgMTUzLCAxNDgsIAorICAgIDI1LCA1LCAxNDksIDIyMiwgMTgwLCAxNDgsIDI1LCA1LCA3NSwgMTQ4LCAyNSwgNSwgMjQ1LCAyMDksIDE0OCwgMjUsIDUsIAorICAgIDI1NCwgMjAxLCAxNDgsIDI1LCA1LCA3NiwgMTQ4LCAyNSwgNSwgMjI2LCAxODMsIDE0OCwgMjUsIDUsIDI1MywgMTkyLCAKKyAgICAxNDgsIDUsIDIxMywgMTUyLCAxNDgsIDIzMywgMjMsIDc4LCAxNDgsIDI1NCwgMjAyLCAyMzMsIDIzLCA3OCwgMTQ4LCAxLCAKKyAgICAyMTUsIDE4MywgMTQ4LCAxLCAyNDYsIDM4LCAxNDgsIDEsIDE0OSwgMjIyLCAxODAsIDE0OCwgMSwgMTQ5LCAyMzIsIDE4NSwgCisgICAgMTQ4LCAyNSwgNSwgMTQ5LCAxNTYsIDE0OCwgMjUsIDUsIDE0OSwgMjMyLCAxODUsIDE0OCwgMjEsIDIxMCwgODYsIDE0OCwgCisgICAgMjEsIDExMCwgMTQ4LCAyMSwgMTA1LCAxNDgsIDIxLCAxNTgsIDE0OCwgMjEsIDE2MSwgMTQ4LCAyMSwgMTg5LCAxNDgsIDIxLCAKKyAgICAxOTQsIDE0OCwgMjEsIDE5OCwgMTQ4LCAyMSwgMTk1LCAxNDgsIDIxLCAyMDAsIDE0OCwgMjQ0LCAyLCAyMSwgMjEwLCA4NywgCisgICAgMzEsIDIyNiwgMjM3LCAyMjQsIDIyMywgNjQsIDE2MSwgMTQ4LCAyNDQsIDIsIDIxLCAxMjMsIDMxLCAyMjYsIDIzNywgMjI0LCAKKyAgICAyMjMsIDY0LCAxNjEsIDE0OCwgMjQ0LCAyLCAyMSwgMTEzLCAzMSwgMjI2LCAyMzcsIDIyNCwgMjIzLCA2NCwgMTYxLCAxNDgsIAorICAgIDI0NCwgMiwgMjEsIDEzNCwgMzEsIDIyNiwgMjM3LCAyMjQsIDIyMywgNjQsIDE2MSwgMTQ4LCAyNDQsIDIsIDIxLCAxMjMsIAorICAgIDMxLCAyNDUsIDQyLCAyMjQsIDIyMywgNjQsIDE2MSwgMTQ4LCAyNDQsIDIsIDIxLCAxMTMsIDMxLCAyNDUsIDQyLCAyMjQsIAorICAgIDIyMywgNjQsIDE2MSwgMTQ4LCAyNDQsIDIsIDIxLCAxMzQsIDMxLCAyNDUsIDQyLCAyMjQsIDIyMywgNjQsIDE2MSwgMTQ4LCAKKyAgICA1LCAyMTUsIDg0LCAxNjUsIDUsIDI1NCwgNzUsIDE2NSwgNSwgMjEzLCAxNDcsIDE2NSwgMSwgNjEsIDE2NSwgMSwgMjU1LCAKKyAgICA3MywgMTY1LCAxLCA3MywgMTY1LCAxLCAyMzYsIDMzLCAxNjUsIDEsIDcwLCAxNjUsIDEsIDIxNCwgMTE4LCAxNjUsIDEsIAorICAgIDE0OSwgMTUzLCAxNjUsIDEsIDE0OSwgMTU2LCAxNjUsIDEsIDc1LCAxNjUsIDEsIDI0NSwgMjA5LCAxNjUsIDEsIDI1NCwgCisgICAgMjAxLCAxNjUsIDEsIDc2LCAxNjUsIDEsIDIyNiwgMTgzLCAxNjUsIDEsIDI1MywgMTkyLCAxNjUsIDEsIDE3NiwgMTY1LCAxLCAKKyAgICAyMzQsIDEzMiwgMTY1LCAxLCAyNDMsIDEzNSwgMTY1LCAxLCAyNDIsIDI0OSwgMTY1LCAxLCAyMjksIDc3LCAxNjUsIDEsIAorICAgIDI1MSwgMzMsIDE2NSwgMSwgMjUwLCAxNTcsIDE2NSwgMSwgMjM1LCAxNDEsIDE2NSwgMSwgMjM1LCAxMTQsIDE2NSwgMSwgCisgICAgMjI3LCAxNjUsIDE2NSwgMSwgMjE1LCAxNTYsIDE2NSwgMSwgMjE1LCAxNDQsIDE2NSwgMSwgMjQ4LCAxMzUsIDE2NSwgMSwgCisgICAgMjQ4LCAxMTksIDE2NSwgMSwgMjI4LCAxMTAsIDE2NSwgMSwgMjE3LCAxMDUsIDE2NSwgMSwgMjE2LCAyMDgsIDE2NSwgMSwgCisgICAgMjQ4LCAyMjEsIDE2NSwgMSwgMjQ4LCAyNSwgMTY1LCAxLCAxOTcsIDE2NSwgMSwgMTkwLCAxNjUsIDEsIDIyNSwgMTQ3LCAKKyAgICAxNjUsIDEsIDI1MiwgMTkxLCAxNjUsIDEsIDI1MiwgMTgsIDE2NSwgMSwgMTg0LCAxNjUsIDEsIDE5MSwgMTY1LCAxLCAyMDUsIAorICAgIDE2NSwgMSwgMjIyLCAxNzksIDE2NSwgMSwgMjMzLCAxMzUsIDE2NSwgMSwgMjMyLCAxODQsIDE2NSwgMSwgMjE0LCAyNywgCisgICAgMTY1LCAxLCAyMjAsIDEwMiwgMTY1LCAxLCAyMTgsIDIyMywgMTY1LCAxLCAyMDYsIDE2NSwgMSwgMTYyLCAxNjUsIDUsIAorICAgIDIyNywgMjA1LCAxNjUsIDUsIDI1MywgMTc1LCAxNjUsIDI1LCA1LCAyNTUsIDczLCAxNjUsIDI1LCA1LCA3MywgMTY1LCAyNSwgCisgICAgNSwgMjM2LCAzMywgMTY1LCAyNSwgNSwgNzAsIDE2NSwgMjUsIDUsIDIxNCwgMTE4LCAxNjUsIDI1LCA1LCAxNDksIDE1MywgCisgICAgMTY1LCAyNSwgNSwgMTQ5LCAyMjIsIDE4MCwgMTY1LCAyNSwgNSwgNzUsIDE2NSwgMjUsIDUsIDI0NSwgMjA5LCAxNjUsIDI1LCAKKyAgICA1LCAyNTQsIDIwMSwgMTY1LCAyNSwgNSwgNzYsIDE2NSwgMjUsIDUsIDIyNiwgMTgzLCAxNjUsIDI1LCA1LCAyNTMsIDE5MiwgCisgICAgMTY1LCA1LCAyMTMsIDE1MiwgMTY1LCAyMzMsIDIzLCA3OCwgMTY1LCAyNTQsIDIwMiwgMjMzLCAyMywgNzgsIDE2NSwgMSwgCisgICAgMjQ0LCAxOTYsIDE2NSwgMSwgMTQ5LCAyMjIsIDE4MCwgMTY1LCAxLCAxNDksIDIzMiwgMTg1LCAxNjUsIDI1LCA1LCAxNDksIAorICAgIDE1NiwgMTY1LCAyNSwgNSwgMTQ5LCAyMzIsIDE4NSwgMTY1LCAyMSwgMjEwLCA4NiwgMTY1LCAyMSwgMTEwLCAxNjUsIDIxLCAKKyAgICAxMDUsIDE2NSwgMjEsIDE1OCwgMTY1LCAyMSwgMTYxLCAxNjUsIDIxLCAxODksIDE2NSwgMjEsIDE5NCwgMTY1LCAyMSwgCisgICAgMTk4LCAxNjUsIDIxLCAxOTUsIDE2NSwgMjEsIDIwMCwgMTY1LCA1LCAyMzUsIDEwMiwgMTY1LCA1LCAyMTQsIDE2MSwgMTM2LCAKKyAgICA1LCAyNTQsIDc1LCAxMzYsIDUsIDIxMywgMTQ3LCAxMzYsIDEsIDYxLCAxMzYsIDEsIDI1NSwgNzMsIDEzNiwgMSwgNzMsIAorICAgIDEzNiwgMSwgMjM2LCAzMywgMTM2LCAxLCA3MCwgMTM2LCAxLCAyMTQsIDExOCwgMTM2LCAxLCAxNDksIDE1MywgMTM2LCAxLCAKKyAgICAxNDksIDE1NiwgMTM2LCAxLCA3NSwgMTM2LCAxLCAyNDUsIDIwOSwgMTM2LCAxLCAyNTQsIDIwMSwgMTM2LCAxLCA3NiwgCisgICAgMTM2LCAxLCAyMjYsIDE4MywgMTM2LCAxLCAyNTMsIDE5MiwgMTM2LCAxLCAxNzYsIDEzNiwgMSwgMjM0LCAxMzIsIDEzNiwgCisgICAgMSwgMjQzLCAxMzUsIDEzNiwgMSwgMjQyLCAyNDksIDEzNiwgMSwgMjI5LCA3NywgMTM2LCAxLCAyNTEsIDMzLCAxMzYsIDEsIAorICAgIDI1MCwgMTU3LCAxMzYsIDEsIDIzNSwgMTQxLCAxMzYsIDEsIDIzNSwgMTE0LCAxMzYsIDEsIDIyNywgMTY1LCAxMzYsIDEsIAorICAgIDIxNSwgMTU2LCAxMzYsIDEsIDIxNSwgMTQ0LCAxMzYsIDEsIDI0OCwgMTM1LCAxMzYsIDEsIDI0OCwgMTE5LCAxMzYsIDEsIAorICAgIDIyOCwgMTEwLCAxMzYsIDEsIDIxNywgMTA1LCAxMzYsIDEsIDIxNiwgMjA4LCAxMzYsIDEsIDI0OCwgMjIxLCAxMzYsIDEsIAorICAgIDI0OCwgMjUsIDEzNiwgMSwgMTk3LCAxMzYsIDEsIDIyOCwgOTIsIDEzNiwgMSwgMTkwLCAxMzYsIDEsIDIyNSwgMTQ3LCAKKyAgICAxMzYsIDEsIDI1MiwgMTkxLCAxMzYsIDEsIDI1MiwgMTgsIDEzNiwgMSwgMTg0LCAxMzYsIDEsIDE5MSwgMTM2LCAxLCAyMDUsIAorICAgIDEzNiwgMSwgMjIyLCAxNzksIDEzNiwgMSwgMjMzLCAxMzUsIDEzNiwgMSwgMjMyLCAxODQsIDEzNiwgMSwgMjMyLCAxNzUsIAorICAgIDEzNiwgMSwgMjE0LCAyNywgMTM2LCAxLCAyMjAsIDEwMiwgMTM2LCAxLCAyMTgsIDIyMywgMTM2LCAxLCAyMDYsIDEzNiwgMSwgCisgICAgMTYyLCAxMzYsIDEsIDIxNSwgMTI1LCAxMzYsIDUsIDI1MywgMTc1LCAxMzYsIDI1LCA1LCAyNTUsIDczLCAxMzYsIDI1LCA1LCAKKyAgICA3MywgMTM2LCAyNSwgNSwgMjM2LCAzMywgMTM2LCAyNSwgNSwgNzAsIDEzNiwgMjUsIDUsIDIxNCwgMTE4LCAxMzYsIDI1LCAKKyAgICA1LCAxNDksIDE1MywgMTM2LCAyNSwgNSwgMTQ5LCAyMjIsIDE4MCwgMTM2LCAyNSwgNSwgNzUsIDEzNiwgMjUsIDUsIDI0NSwgCisgICAgMjA5LCAxMzYsIDI1LCA1LCAyNTQsIDIwMSwgMTM2LCAyNSwgNSwgNzYsIDEzNiwgMjUsIDUsIDIyNiwgMTgzLCAxMzYsIDI1LCAKKyAgICA1LCAyNTMsIDE5MiwgMTM2LCA1LCAyMTMsIDE1MiwgMTM2LCAxLCA1OSwgMjIzLCA3MywgMTM2LCAyNTMsIDE5MywgMjMzLCAKKyAgICAyMywgNzgsIDEzNiwgMSwgMTQ5LCAyMjIsIDE4MCwgMTM2LCAxLCAxNDksIDIzMiwgMTg1LCAxMzYsIDI1LCA1LCAxNDksIAorICAgIDE1NiwgMTM2LCAyNSwgNSwgMTQ5LCAyMzIsIDE4NSwgMTM2LCAyMSwgMjEwLCA4NiwgMTM2LCAyMSwgMTEwLCAxMzYsIDIxLCAKKyAgICAxMDUsIDEzNiwgMjEsIDE1OCwgMTM2LCAyMSwgMTYxLCAxMzYsIDIxLCAxODksIDEzNiwgMjEsIDE5NCwgMTM2LCAyMSwgCisgICAgMTk4LCAxMzYsIDIxLCAxOTUsIDEzNiwgMjEsIDIwMCwgMTM2LCA1NCwgMjE2LCAyNDcsIDEzNiwgNTQsIDEyMywgMjQwLCAKKyAgICAyMTAsIDEzNiwgNTQsIDEyMywgMjE2LCAxNDcsIDEzNiwgMjQ0LCAyLCAxMjMsIDIyNCwgMjEsIDEzNiwgMjQ0LCAyLCAxMjMsIAorICAgIDI0MiwgMjcsIDEzNiwgMjQ0LCAyLCAxMzQsIDIyNCwgMTksIDEzNiwgMjQ4LCAxNTAsIDc4LCAxMzYsIDEsIDI1MCwgOTksIAorICAgIDIyOCwgMTExLCAxMzYsIDEsIDI1MCwgOTksIDIzMCwgMjUsIDEzNiwgMSwgMjUwLCA5OSwgMjIyLCAxODAsIDEzNiwgMSwgCisgICAgMjUwLCA5OSwgMTU2LCAxMzYsIDEsIDI1MCwgOTksIDIzMiwgMTg1LCAxMzYsIDEsIDI1MCwgOTksIDIzNSwgMjMsIDE3NSwgCisgICAgNSwgMjU0LCA3NCwgMTc1LCA1LCAyMTMsIDE0NiwgMTc1LCAxLCAyNTMsIDE2NSwgMTc1LCAxLCAyNTUsIDI3LCAxNzUsIDEsIAorICAgIDI1NCwgMjIzLCAxNzUsIDEsIDI1NCwgMjM4LCAxNzUsIDEsIDIzNSwgMTUxLCAxNzUsIDEsIDIzNiwgMzIsIDE3NSwgMSwgCisgICAgMjE0LCAxMTAsIDE3NSwgMSwgMjE0LCAxMTIsIDE3NSwgMSwgMjM1LCAxNzMsIDE3NSwgMSwgMjM1LCAxNzQsIDE3NSwgMSwgCisgICAgMjM2LCAxOCwgMTc1LCAxLCAyMzYsIDIwLCAxNzUsIDEsIDI0NSwgMTcsIDE3NSwgMSwgMjQ1LCAyMDQsIDE3NSwgMSwgMjU0LCAKKyAgICAxODgsIDE3NSwgMSwgMjI2LCAxMDgsIDE3NSwgMSwgMjI2LCAxNzcsIDE3NSwgMSwgMjUzLCAxNzgsIDE3NSwgMSwgMjU0LCAKKyAgICAxNDYsIDIzNCwgMTg3LCAxNzUsIDEsIDIzMSwgMjA5LCAyMzQsIDE4NywgMTc1LCAxLCAyNTQsIDE0NiwgMjQzLCA4MiwgCisgICAgMTc1LCAxLCAyMzEsIDIwOSwgMjQzLCA4MiwgMTc1LCAxLCAyMzQsIDIyOSwgMjI5LCAyMjIsIDE3NSwgMSwgMjIxLCAyMzYsIAorICAgIDI0MywgODIsIDE3NSwgMSwgMjU0LCAxNDYsIDI1MCwgMjE2LCAxNzUsIDEsIDIzMSwgMjA5LCAyNTAsIDIxNiwgMTc1LCAxLCAKKyAgICAyNTQsIDE0NiwgMjM1LCAxMjcsIDE3NSwgMSwgMjMxLCAyMDksIDIzNSwgMTI3LCAxNzUsIDEsIDIxNywgOTgsIDIyOSwgCisgICAgMjIyLCAxNzUsIDEsIDIxNywgOTgsIDIyMSwgMjM1LCAyMjksIDIyMywgMTc1LCAxLCAyMjEsIDIzNiwgMjM1LCAxMjcsIAorICAgIDE3NSwgMSwgMjU0LCAxNDYsIDIxNSwgMTUyLCAxNzUsIDEsIDIzMSwgMjA5LCAyMTUsIDE1MiwgMTc1LCAxLCAyNTQsIDE0NiwgCisgICAgMjQ4LCAxMjYsIDE3NSwgMSwgMjMxLCAyMDksIDI0OCwgMTI2LCAxNzUsIDEsIDIzMCwgNTMsIDIyOSwgMTgwLCAxNzUsIDEsIAorICAgIDIyMSwgMjM2LCAyNDgsIDEyNiwgMTc1LCAxLCAyNTQsIDE0NiwgMjE3LCAzMCwgMTc1LCAxLCAyMzEsIDIwOSwgMjE3LCAzMCwgCisgICAgMTc1LCAxLCAyNTQsIDE0NiwgMjQ4LCAxNDQsIDE3NSwgMSwgMjMxLCAyMDksIDI0OCwgMTQ0LCAxNzUsIDEsIDI0OCwgMTc0LCAKKyAgICAyMjksIDE4MCwgMTc1LCAxLCAyMjEsIDIzNiwgMjQ4LCAxNDQsIDE3NSwgMSwgMjU0LCAxNDYsIDIyNSwgMjI4LCAxNzUsIDEsIAorICAgIDIzMSwgMjA5LCAyMjUsIDIyOCwgMTc1LCAxLCAyNTQsIDE0NiwgMjUyLCAxMTIsIDE3NSwgMSwgMjMxLCAyMDksIDI1MiwgCisgICAgMTEyLCAxNzUsIDEsIDIzMSwgMTMxLCAxNzUsIDEsIDI1NCwgMTMxLCAyNTIsIDExMiwgMTc1LCAxLCAyMTEsIDUxLCAxNzUsIAorICAgIDEsIDIyMywgMTMzLCAxNzUsIDEsIDI0OCwgMTc0LCAyMzMsIDY3LCAxNzUsIDEsIDIxNCwgMSwgMTc1LCAxLCAyMTcsIDk4LCAKKyAgICAyMjEsIDIxMCwgMTc1LCAxLCAyMzAsIDUzLCAyMjEsIDIxMCwgMTc1LCAxLCAyNDgsIDE3NCwgMjIxLCAyMTAsIDE3NSwgMSwgCisgICAgMjQxLCAyNDIsIDE3NSwgMSwgMjMwLCA1MywgMjMzLCA2NywgMTc1LCAxLCAyNDQsIDE1NiwgMTc1LCA1LCAyNTQsIDE3NywgCisgICAgMTc1LCAyNSwgNSwgMjU0LCAyMzMsIDE3NSwgMjUsIDUsIDIzNCwgMTU1LCAyNTQsIDI0MCwgMTc1LCAyNSwgNSwgMjQ3LCAKKyAgICAyMjgsIDI1NCwgMjQwLCAxNzUsIDI1LCA1LCAyMzQsIDE1NSwgMjM1LCAxNzAsIDE3NSwgMjUsIDUsIDI0NywgMjI4LCAyMzUsIAorICAgIDE3MCwgMTc1LCAyNSwgNSwgMjM0LCAxNTUsIDIyNiwgODgsIDE3NSwgMjUsIDUsIDI0NywgMjI4LCAyMjYsIDg4LCAxNzUsIAorICAgIDI1LCA1LCAyNDMsIDEyNCwgMTc1LCAyNSwgNSwgMjM0LCAxNSwgMTc1LCAyNSwgNSwgMjQ3LCAyMjgsIDIzNCwgMTUsIDE3NSwgCisgICAgMjUsIDUsIDIzNCwgMTcsIDI0OCwgNjcsIDE3NSwgMjUsIDUsIDIzNCwgMTYsIDI0MiwgNDcsIDI1NCwgMjMzLCAxNzUsIDI1LCAKKyAgICA1LCAyMzQsIDE2LCAyNDIsIDQ3LCAyNDcsIDIyOCwgMjU0LCAyMzMsIDE3NSwgMjUsIDUsIDIzNCwgMTYsIDI0MiwgNDcsIAorICAgIDI0MywgODEsIDE3NSwgMjUsIDUsIDI0MywgODEsIDE3NSwgMjUsIDUsIDI0NywgMjI4LCAyNDMsIDEyNCwgMTc1LCAyNSwgNSwgCisgICAgMjQ3LCAyMjgsIDI0MywgODEsIDE3NSwgMjI0LCAxNDEsIDIzMywgMjA3LCAxNjgsIDEzNSwgMjM0LCAyOSwgMjM0LCAyNDYsIAorICAgIDE2OCwgMTM1LCAyMzQsIDEwNiwgMjM0LCAxMjgsIDE2OCwgMTM1LCAyMzQsIDEwNiwgMjM0LCA5OSwgMTY4LCAxMzUsIDIzNCwgCisgICAgMTA2LCAyMzQsIDk1LCAxNjgsIDEzNSwgMjM0LCAxMDYsIDIzNCwgMTAzLCAxNjgsIDEzNSwgMjM0LCAxMDYsIDIyMywgMTU0LCAKKyAgICAxNjgsIDEzNSwgMjI5LCA1LCAyMjgsIDI0OCwgMTY4LCAxMzUsIDI1MCwgODcsIDI1MCwgMTQ3LCAxNjgsIDEzNSwgMjUwLCAKKyAgICA4NywgMjUwLCA5NSwgMTY4LCAxMzUsIDI1MCwgODcsIDI1MCwgMTQ2LCAxNjgsIDEzNSwgMjE5LCA1OSwgMjE5LCA1OCwgCisgICAgMTY4LCAxMzUsIDI1MCwgODcsIDI1MCwgODMsIDE2OCwgMTM1LCAyMTAsIDI0NSwgMjEwLCAyNTIsIDE2OCwgMTM1LCAyNDcsIAorICAgIDE0NiwgMjUwLCAxNTQsIDE2OCwgMTM1LCAyMTYsIDQyLCAyMjUsIDIzOCwgMTY4LCAxMzUsIDIxNiwgMTU3LCAyMTYsIDIwMCwgCisgICAgMTY4LCAxMzUsIDIxNiwgMTU3LCAyMjksIDIwMSwgMTY4LCAxMzUsIDIxNiwgMTU3LCAyMjUsIDExMSwgMTY4LCAxMzUsIAorICAgIDIyOCwgNzUsIDIyOSwgOTgsIDE2OCwgMTM1LCAyNDcsIDE0NiwgMjQ4LCA2OCwgMTY4LCAxMzUsIDIxNiwgNDIsIDIxNywgCisgICAgNTUsIDE2OCwgMTM1LCAyMTYsIDE1NywgMjE2LCAxMzEsIDE2OCwgMTM1LCAyMTYsIDE1NywgMjE2LCAyMDQsIDE2OCwgMTM1LCAKKyAgICAyMTYsIDE1NywgMjE2LCAxNTQsIDE2OCwgMTM1LCAyMjgsIDc1LCAyMjcsIDIzNywgMTY4LCAxMzUsIDI1MSwgMjA2LCAyNTIsIAorICAgIDE2NCwgMTY4LCAxMzUsIDIyNSwgMTcsIDIyNSwgNDIsIDE2OCwgMTM1LCAyMjUsIDEyMiwgMjI1LCAxMTMsIDE2OCwgMTM1LCAKKyAgICAyNDQsIDQ0LCAyNDQsIDE5NiwgMTY4LCAxMzUsIDIyNSwgMTIyLCAyMjUsIDE0MSwgMTY4LCAxMzUsIDI0NCwgNDQsIDI0NCwgCisgICAgMTczLCAxNjgsIDEzNSwgMjI1LCAxMjIsIDIyMSwgMjQ3LCAxNjgsIDEzNSwgMjMwLCAxNjIsIDE4NCwgMTY4LCAxMzUsIAorICAgIDIxMCwgMjQ1LCAyMTEsIDc5LCAxNjgsIDEzNSwgMjIyLCAyMTIsIDIyMiwgMTM5LCAxNjgsIDEzNSwgMjIyLCAxNDAsIDE2OCwgCisgICAgMTM1LCAyMzIsIDE1NywgMjMyLCAyMDYsIDE2OCwgMTM1LCAyMzIsIDk4LCAxNjgsIDEzNSwgMjExLCAyMjgsIDIxMiwgNjEsIAorICAgIDE2OCwgMTM1LCAyMTksIDU5LCAyMjIsIDYsIDE2OCwgMTM1LCAyMTksIDU5LCAyMjIsIDExNCwgMTY4LCAxMzUsIDIxOSwgCisgICAgNTksIDIxOCwgODIsIDE2OCwgMTM1LCAyNDEsIDY5LCAyNDEsIDE1OSwgMTY4LCAxMzUsIDIzMiwgMTU3LCAyNTAsIDY4LCAKKyAgICAxNjgsIDEzNSwgMTQ0LCAyNTQsIDExNSwgMTY4LCAxMzUsIDI0MSwgNjksIDIyOCwgNzAsIDE2OCwgMTM1LCAyMjYsIDY4LCAKKyAgICAxNjgsIDEzNSwgMjIxLCAyMzAsIDYxLCAxNjgsIDEzNSwgMjMxLCAyMDQsIDI0MiwgMTcsIDE2OCwgMTM1LCAyMjEsIDIzMCwgCisgICAgMjU1LCA3MywgMTY4LCAxMzUsIDIyMSwgMjMwLCAyNTQsIDEzNiwgMTY4LCAxMzUsIDIyMSwgMjMwLCA3MywgMTY4LCAxMzUsIAorICAgIDIyMSwgMjMwLCAyMzYsIDMzLCAxNjgsIDEzNSwgMjIxLCAyMzAsIDIxNCwgMjE0LCAxNjgsIDEzNSwgMjIxLCAyMzAsIDIxNCwgCisgICAgMjEyLCAxNjgsIDEzNSwgMjIxLCAyMzAsIDcwLCAxNjgsIDEzNSwgMjIxLCAyMzAsIDIxNCwgMTE4LCAxNjgsIDEzNSwgMjI1LCAKKyAgICAxMjQsIDE2OCwgMjQ5LCA5OCwgMTYsIDI1MiwgMTY1LCAxNjgsIDEzNSwgMjIxLCAyMzAsIDc1LCAxNjgsIDEzNSwgMjIxLCAKKyAgICAyMzAsIDI1NCwgMjQzLCAxNjgsIDEzNSwgMjIxLCAyMzAsIDc2LCAxNjgsIDEzNSwgMjIxLCAyMzAsIDI1NCwgMjAyLCAyMzEsIAorICAgIDE5OCwgMTY4LCAxMzUsIDIyMSwgMjMwLCAyNTQsIDIwMiwgMjMxLCAxOTksIDE2OCwgMTM1LCAyMzMsIDEwNiwgMTY4LCAKKyAgICAxMzUsIDIzMSwgMTk1LCAxNjgsIDEzNSwgMjMxLCAxOTYsIDE2OCwgMTM1LCAyMzEsIDIwNCwgMjQ1LCAxODAsIDE2OCwgCisgICAgMTM1LCAyMzEsIDIwNCwgMjE2LCAxNTYsIDE2OCwgMTM1LCAyMzEsIDIwNCwgMjE1LCAyMjgsIDE2OCwgMTM1LCAyMzEsIAorICAgIDIwNCwgMjUwLCAxMzUsIDE2OCwgMTM1LCAyMTYsIDE5OCwgMTY4LCAxMzUsIDIyOCwgMjA1LCAxNjgsIDEzNSwgMjExLCA3MywgCisgICAgMTY4LCAxMzUsIDI0NCwgMzUsIDE2OCwgMjEsIDIxMCwgODYsIDE2OCwgMjEsIDExMCwgMTY4LCAyMSwgMTA1LCAxNjgsIDIxLCAKKyAgICAxNTgsIDE2OCwgMjEsIDE2MSwgMTY4LCAyMSwgMTg5LCAxNjgsIDIxLCAxOTQsIDE2OCwgMjEsIDE5OCwgMTY4LCAyMSwgCisgICAgMTk1LCAxNjgsIDIxLCAyMDAsIDE2OCwgMTM1LCAyNTQsIDExMSwgMTY4LCAxMzUsIDIzNCwgMTA0LCAyMDksIDIwOSwgMSwgCisgICAgMjM0LCAyOCwgMjA5LCAyMDksIDEsIDIzNCwgMTA2LCAyMTgsIDM1LCAyMDksIDIwOSwgMSwgMjM0LCAxMDYsIDIxNywgNjIsIAorICAgIDIwOSwgMjA5LCAxLCAyMjksIDQsIDIwOSwgMjA5LCAxLCAyNDksIDIzOCwgMjA5LCAyMDksIDEsIDIxOSwgNTksIDIxNywgCisgICAgNjIsIDIwOSwgMjA5LCAxLCAyMjcsIDEzNCwgMjA5LCAyMDksIDEsIDI0NywgMTQ1LCAyMDksIDIwOSwgMSwgMTExLCAyMDksIAorICAgIDIwOSwgMSwgMjE2LCAxNTcsIDIxOCwgMzUsIDIwOSwgMjA5LCAxLCAyMTYsIDE1NywgMjE3LCA2MiwgMjA5LCAyMDksIDEsIAorICAgIDIyOCwgNzQsIDIwOSwgMjA5LCAxLCAyNTEsIDIwNSwgMjA5LCAyMDksIDEsIDIyNSwgMTYsIDIwOSwgMjA5LCAxLCAyMjUsIAorICAgIDEyMiwgMjE4LCAzNSwgMjA5LCAyMDksIDEsIDI0NCwgNDQsIDIxNywgNjIsIDIwOSwgMjA5LCAxLCAyMjUsIDEyMiwgMjE3LCAKKyAgICA2MiwgMjA5LCAyMDksIDEsIDI0NCwgNDQsIDIxOCwgMzUsIDIwOSwgMjA5LCAxLCAyMzAsIDE2MSwgMjA5LCAyMDksIDEsIAorICAgIDIxMCwgMjQ0LCAyMDksIDIwOSwgMSwgMjMyLCAxNTcsIDIzMiwgMjA2LCAyMDksIDIwOSwgMSwgMjMyLCAxNTcsIDIzMiwgCisgICAgMTIxLCAyMDksIDIwOSwgMSwgMjExLCAyMjcsIDIwOSwgMjA5LCAxLCAyMTksIDU5LCAyMTgsIDM1LCAyMDksIDIwOSwgMSwgCisgICAgMjQxLCA2OSwgMjE4LCAzNSwgMjA5LCAyMDksIDEsIDc2LCAyMDksIDIwOSwgMSwgMjQxLCA2OSwgMjE3LCA2MiwgMjA5LCAKKyAgICAyMDksIDI0NSwgMTYzLCAyMDksIDIwOSwgMjUsIDUsIDYxLCAyMDksIDIwOSwgMjUsIDUsIDIzMSwgMjA0LCAyMzQsIDIzNCwgCisgICAgMjA5LCAyMDksIDI1LCA1LCAyNTUsIDczLCAyMDksIDIwOSwgMjUsIDUsIDI1NCwgMTM2LCAyMDksIDIwOSwgMjUsIDUsIDczLCAKKyAgICAyMDksIDIwOSwgMjUsIDUsIDIzNiwgMzMsIDIwOSwgMjA5LCAyNSwgNSwgMjExLCAxMTcsIDIwOSwgMjA5LCAyNSwgNSwgCisgICAgMjEwLCAxNjksIDIwOSwgMjA5LCAyNSwgNSwgNzAsIDIwOSwgMjA5LCAyNSwgNSwgMjE0LCAxMTgsIDIwOSwgMjA5LCAyNSwgCisgICAgNSwgMjMxLCAyMDQsIDIzNCwgMTMsIDIwOSwgMjA5LCAyMjAsIDE0NSwgNSwgMjMyLCAxNTYsIDIwOSwgMjA5LCAyMjAsIAorICAgIDE0NSwgNSwgMjI3LCAxMzQsIDIwOSwgMjA5LCAyNSwgNSwgNzUsIDIwOSwgMjA5LCAyNSwgNSwgMjQ1LCAxOTUsIDIwOSwgCisgICAgMjA5LCAyNSwgNSwgNzYsIDIwOSwgMjA5LCAyNSwgNSwgMjUzLCAxNjcsIDIwOSwgMjA5LCAyNSwgNSwgMjU0LCAyMDEsIAorICAgIDIwOSwgMjA5LCAyMzQsIDI5LCAyMzMsIDEzNSwgMjA5LCAyMDksIDEzOCwgMjMxLCAyMDQsIDI0NSwgMTgwLCAyMDksIDIwOSwgCisgICAgMTM4LCAyMzEsIDIwNCwgMjE2LCAxNTYsIDIwOSwgMjA5LCAxMzgsIDIzMSwgMjA0LCAyMTYsIDExNywgMjA5LCAyMDksIAorICAgIDEzOCwgMjMxLCAyMDQsIDI1MCwgMjIzLCAyMDksIDIwOSwgMjUxLCA0LCA3OCwgMjA5LCAyMDksIDIyOCwgMjE0LCAyMDksIAorICAgIDIwOSwgMjEsIDIxMCwgODYsIDIwOSwgMjA5LCAyMSwgMTEwLCAyMDksIDIwOSwgMjEsIDEwNSwgMjA5LCAyMDksIDIxLCAKKyAgICAxNTgsIDIwOSwgMjA5LCAyMSwgMTYxLCAyMDksIDIwOSwgMjEsIDE4OSwgMjA5LCAyMDksIDIxLCAxOTQsIDIwOSwgMjA5LCAKKyAgICAyMSwgMTk4LCAyMDksIDIwOSwgMjEsIDE5NSwgMjA5LCAyMDksIDIxLCAyMDAsIDIwOSwgMjA5LCAyNDEsIDY5LCAyMjgsIAorICAgIDc0LCAyMDksIDIwOSwgMjQxLCA2OSwgMjMwLCAxNjEsIDIwOSwgMjA5LCAxLCAyMzQsIDEwNywgMjQyLCAxNzQsIDIwOSwgCisgICAgMjA5LCAxLCAyMzQsIDEwNywgMjI3LCAxMzQsIDYzLCAzLCAyMjYsIDIwNCwgNjMsIDE2NCwgMjQyLCAxMTUsIDIxMSwgMCwgCisgICAgMjMwLCAyNDgsIDIxNSwgMTg5LCA2MSwgNjMsIDE2NCwgMjQyLCAxMTUsIDIxMSwgMCwgMjMwLCAyNDgsIDI1NSwgMTU5LCAKKyAgICAyMjIsIDIxNiwgMjUyLCA3NywgMTg0LCA2MywgMTY0LCAyNDIsIDExNSwgMjExLCAwLCAyMzAsIDI0OCwgMjU1LCAxNTksIAorICAgIDI0MiwgMTE1LCAyMTUsIDE3MywgMTg0LCA2MywgMTY0LCA2NSwgMjExLCAwLCAyMzAsIDI0OCwgMjMxLCA5MywgMTg0LCA2MywgCisgICAgMTY0LCAyNDksIDI1MiwgMjExLCAwLCAyMzAsIDI0OCwgMjIwLCAxMDksIDE4NCwgNjMsIDE2NCwgMjUwLCAyMzksIDIxMSwgCisgICAgMCwgMjMwLCAyNDgsIDIyNSwgMTEyLCAyMjAsIDk2LCAxODQsIDYzLCAxNjQsIDIxMSwgMCwgMjMwLCAyNDgsIDIxNSwgMTczLCAKKyAgICAyMjAsIDk2LCAxODQsIDYzLCAxNjQsIDIyMSwgMjA4LCAyMjAsIDk1LCA2MywgMTY0LCAyNTEsIDEyOCwgMjExLCAwLCAyMzAsIAorICAgIDI0NywgNjMsIDE2NCwgMjUxLCAyMjMsIDIyMCwgMywgMjExLCAwLCAyMzAsIDI0NywgNjMsIDE2NCwgMjM1LCAxOTcsIDIxNSwgCisgICAgMTcyLCA2MywgMTY0LCAyNDgsIDYxLCAyMTUsIDE3MywgMjUxLCAxMjcsIDYzLCAxNjQsIDIyMCwgOTUsIDYzLCAxNjQsIAorICAgIDIyNywgMTM5LCAyMjAsIDk1LCA2MywgMTY0LCAyMTUsIDE3MywgMjIwLCA5NSwgNjMsIDE2NCwgMjI3LCAxMzksIDIxNSwgCisgICAgMTczLCAyMjAsIDk1LCA2MywgMTY0LCAyMjIsIDIzNiwgMjUwLCAxMjIsIDIxOCwgMjM2LCAyMjAsIDk1LCA2MywgMTY0LCAKKyAgICAyMjMsIDQyLCAyNDIsIDE0NiwgMjIwLCA5NSwgNjMsIDE2NCwgMjUwLCAyMzksIDI1NSwgMTYzLCAyMjIsIDE0NCwgMjMxLCAKKyAgICA5MiwgMTk5LCAyNTEsIDcsIDYzLCAxNjQsIDI0MiwgMTE1LCAyMTUsIDE3MiwgNjMsIDIzMiwgMTQ0LCA1LCAyNTAsIDE1NSwgCisgICAgMjIyLCAxNDMsIDYzLCAyMzIsIDE0NCwgNSwgMjMyLCAyNTIsIDIyMiwgMTQzLCA2MywgMjUzLCAyMTIsIDUsIDIyMCwgMTA1LCAKKyAgICAyNDMsIDY1LCAyNTUsIDE2NCwgMjIyLCAxNDMsIDYzLCAyNTMsIDIxMiwgNSwgMjU1LCAxNjEsIDE5MCwgNjMsIDI1MywgCisgICAgMjEyLCA1LCAyMjEsIDE4MiwgMjE1LCAxNjgsIDYzLCA1LCAyMjMsIDEzMCwgMjQ3LCAxNTksIDI0MywgNjQsIDYzLCA1LCAKKyAgICAyMjMsIDEzMCwgMjQ3LCAxNTksIDI0MiwgMTc2LCA2MywgNSwgMjIzLCAxMzAsIDI0NywgMTU5LCAyNDIsIDExNiwgNjMsIDUsIAorICAgIDIyMywgMTMwLCAyMjksIDIxOSwgMjQzLCA2NCwgNjMsIDUsIDIyMywgMTMwLCAyMjksIDIxOSwgMjQyLCAxNzYsIDYzLCA1LCAKKyAgICAyMjMsIDEzMCwgMjQ3LCAxNTksIDIyMywgMTMwLCAyMjksIDIxOCwgNjMsIDIxLCAyMTAsIDg2LCA2MywgMjEsIDExMCwgNjMsIAorICAgIDIxLCAxMDUsIDYzLCAyMSwgMTU4LCA2MywgMjEsIDE2MSwgNjMsIDIxLCAxODksIDYzLCAyMSwgMTk0LCA2MywgMjEsIDE5OCwgCisgICAgNjMsIDIxLCAxOTUsIDYzLCAyMSwgMjAwLCA2MywgMjEsIDE2MywgMTEwLCA2MywgMjEsIDE2MywgMTA1LCA2MywgMjEsIAorICAgIDE2MywgMTU4LCA2MywgMjEsIDE2MywgMTYxLCA2MywgMjEsIDE2MywgMTg5LCA2MywgMjEsIDE2MywgMTk0LCA2MywgMjEsIAorICAgIDE2MywgMTk4LCA2MywgMjEsIDE2MywgMTk1LCA2MywgMjEsIDE2MywgMjAwLCA2MywgMjEsIDE2MywgMjEwLCA4NiwgNjMsIAorICAgIDE2NCwgMjUxLCAxMzAsIDIyMiwgMTQzLCA2MywgMTY0LCAyMjksIDY4LCAyNTEsIDY4LCAyMjcsIDE0OSwgMjEwLCAyNSwgCisgICAgNjMsIDE2NCwgMjUwLCAyMzksIDI1NSwgMTYzLCAyMjIsIDE0NCwgMjUxLCA2OSwgMjMwLCAyMDIsIDI1MSwgNywgNjMsIAorICAgIDE2NCwgMjI5LCA2OCwgMjUxLCA2OCwgMjIwLCAxMDYsIDIyMiwgMTQzLCA2MywgMTY0LCAyNTAsIDEzMiwgMjMwLCAyNDcsIAorICAgIDYzLCAxNjQsIDIxNSwgMTg0LCAyNTUsIDE2MCwgNjMsIDE2NCwgMjQyLCAxMDAsIDIyMiwgMTQ0LCAyNDIsIDYzLCA2MywgCisgICAgMTY0LCAyNDIsIDEwMCwgMjIyLCAxNDQsIDI0MiwgNjksIDYzLCAxNjQsIDI1NCwgMTE2LCAyMzQsIDEyMywgMjQyLCA2MywgCisgICAgNjMsIDE2NCwgMjU0LCAxMTYsIDIzNCwgMTIzLCAyNDIsIDY5LCA2MywgNSwgMjExLCA2NSwgMjE1LCAxNzEsIDYzLCA1LCAKKyAgICAyMzEsIDE2NywgMjE1LCAxNzEsIDYzLCAxLCAxNzYsIDYzLCAxLCAyMzQsIDEzMiwgNjMsIDEsIDI0MywgMTM1LCA2MywgMSwgCisgICAgMjQyLCAyNDksIDYzLCAxLCAyMjksIDc3LCA2MywgMSwgMjUxLCAzMywgNjMsIDEsIDI1MCwgMTU3LCA2MywgMSwgMjM1LCAKKyAgICAxNDEsIDYzLCAxLCAyMjcsIDE2NSwgNjMsIDEsIDIxNSwgMTU2LCA2MywgMSwgMjE1LCAxNDQsIDYzLCAxLCAyNDgsIDEzNSwgCisgICAgNjMsIDEsIDI0OCwgMTE5LCA2MywgMSwgMjI4LCAxMTAsIDYzLCAxLCAyMTcsIDEwNSwgNjMsIDEsIDIxNiwgMjA4LCA2MywgCisgICAgMSwgMjQ4LCAyMjEsIDYzLCAxLCAyNDgsIDI1LCA2MywgMSwgMTk3LCA2MywgMSwgMTkwLCA2MywgMSwgMjI1LCAxNDcsIDYzLCAKKyAgICAxLCAyNTIsIDE5MSwgNjMsIDEsIDI1MiwgMTgsIDYzLCAxLCAxODQsIDYzLCAxLCAyMTUsIDE4MywgNjMsIDEsIDIxNSwgCisgICAgMTc1LCA2MywgMSwgMjQ2LCAzOCwgNjMsIDEsIDI0NiwgMzMsIDYzLCAxLCAyMTIsIDY1LCA2MywgMSwgMjEwLCA4MiwgNjMsIAorICAgIDEsIDIxMCwgMTE2LCA2MywgMSwgMjU1LCAxNjYsIDYzLCAxLCAxOTEsIDYzLCAxLCAyMDUsIDYzLCAxLCAyMzMsIDEzNSwgCisgICAgNjMsIDEsIDIyMCwgMTAyLCA2MywgMSwgMjE4LCAyMjMsIDYzLCAxLCAyMDYsIDYzLCAxLCAxNjIsIDYzLCAxLCA2MSwgNjMsIAorICAgIDEsIDIzMywgMjMxLCA2MywgMSwgMjQ0LCA3NywgMjA1LCA2MywgMSwgMjM0LCA0NiwgNjMsIDEsIDIyMiwgMTc5LCA2MywgCisgICAgMjUsIDUsIDI1NSwgNzMsIDYzLCAyNSwgNSwgNzMsIDYzLCAyNSwgNSwgMjM2LCAzMywgNjMsIDI1LCA1LCA3MCwgNjMsIDI1LCAKKyAgICA1LCAyMTQsIDExOCwgNjMsIDI1LCA1LCAxNDksIDE1MywgNjMsIDI1LCA1LCAxNDksIDIyMiwgMTgwLCA2MywgMjUsIDUsIAorICAgIDE0OSwgMTU2LCA2MywgMjUsIDUsIDE0OSwgMjMyLCAxODUsIDYzLCAyNSwgNSwgNzUsIDYzLCAyNSwgNSwgMjQ1LCAyMDksIAorICAgIDYzLCAyNSwgNSwgNzYsIDYzLCAyNSwgNSwgMjI2LCAxODMsIDYzLCA1LCAyMjIsIDIyMSwgMjE4LCA4NCwgMjI5LCA3OCwgCisgICAgMjIyLCAyMTEsIDYzLCA1LCAyMjIsIDIxNiwgMjUyLCA3NiwgNjMsIDI1LCA1LCAyMjMsIDQ5LCA3MywgNjMsIDI1LCA1LCAKKyAgICAyMjMsIDQ5LCAyMzYsIDMzLCA2MywgNSwgMjI3LCAxNDksIDIxMCwgMjYsIDIyOSwgMjI2LCAyNDgsIDIyMSwgNjMsIDUsIAorICAgIDIxOSwgNzEsIDIzMywgNjAsIDYzLCAxNjQsIDI0MiwgMjksIDYzLCAxNjQsIDIyNiwgNTcsIDYzLCA1LCAyMzMsIDYzLCAKKyAgICAyMjIsIDE0MywgNjMsIDUsIDIxMSwgNzAsIDIyMiwgMTQzLCA2MywgNSwgMjMzLCA2NCwgMjE1LCAxODQsIDI1MSwgNywgNjMsIAorICAgIDUsIDIzMSwgOTUsIDI1MSwgNywgNjMsIDUsIDI0MiwgMTE5LCAyNTEsIDgsIDIyMywgNDAsIDYzLCA1LCAyNDIsIDExOSwgCisgICAgMjMxLCA4NSwgMjIzLCA0MCwgNjMsIDUsIDIzNSwgMTkzLCAyMzEsIDk1LCAyNTEsIDcsIDYzLCAyMTgsIDczLCA1LCAyMzMsIAorICAgIDY0LCAyMTUsIDE4NCwgMjUxLCA3LCA2MywgMjE4LCA3MywgNSwgMjMxLCA5NSwgMjUxLCA3LCA2MywgMjE4LCA3MywgNSwgCisgICAgMjM1LCAxOTMsIDIzMSwgOTUsIDI1MSwgNywgNjMsIDIxOCwgNzMsIDEsIDE3NiwgNjMsIDIxOCwgNzMsIDEsIDIzNCwgMTMyLCAKKyAgICA2MywgMjE4LCA3MywgMSwgMjQzLCAxMzUsIDYzLCAyMTgsIDczLCAxLCAyNDIsIDI0OSwgNjMsIDIxOCwgNzMsIDEsIDIyOSwgCisgICAgNzcsIDYzLCAyMTgsIDczLCAxLCAyNTEsIDMzLCA2MywgMjE4LCA3MywgMSwgMjUwLCAxNTcsIDYzLCAyMTgsIDczLCAxLCAKKyAgICAyMzUsIDE0MSwgNjMsIDIxOCwgNzMsIDEsIDIyNywgMTY1LCA2MywgMjE4LCA3MywgMSwgMjE1LCAxNTYsIDYzLCAyMTgsIAorICAgIDczLCAxLCAyMTUsIDE0NCwgNjMsIDIxOCwgNzMsIDEsIDI0OCwgMTM1LCA2MywgMjE4LCA3MywgMSwgMjQ4LCAxMTksIDYzLCAKKyAgICAyMTgsIDczLCAxLCAyMjgsIDExMCwgNjMsIDIxOCwgNzMsIDEsIDIxNywgMTA1LCA2MywgMjE4LCA3MywgMSwgMjE2LCAyMDgsIAorICAgIDYzLCAyMTgsIDczLCAxLCAyNDgsIDIyMSwgNjMsIDIxOCwgNzMsIDEsIDI0OCwgMjUsIDYzLCAyMTgsIDczLCAxLCAxOTcsIAorICAgIDYzLCAyMTgsIDczLCAxLCAxOTAsIDYzLCAyMTgsIDczLCAxLCAyMjUsIDE0NywgNjMsIDIxOCwgNzMsIDEsIDI1MiwgMTkxLCAKKyAgICA2MywgMjE4LCA3MywgMSwgMjUyLCAxOCwgNjMsIDIxOCwgNzMsIDEsIDE4NCwgNjMsIDIxOCwgNzMsIDEsIDIxNSwgMTgzLCAKKyAgICA2MywgMjE4LCA3MywgMSwgMjE1LCAxNzUsIDYzLCAyMTgsIDczLCAxLCAyNDYsIDM4LCA2MywgMjE4LCA3MywgMSwgMjQ2LCAKKyAgICAzMywgNjMsIDIxOCwgNzMsIDEsIDIxMiwgNjUsIDYzLCAyMTgsIDczLCAxLCAyMTAsIDgyLCA2MywgMjE4LCA3MywgMSwgCisgICAgMjEwLCAxMTYsIDYzLCAyMTgsIDczLCAxLCAyNTUsIDE2NiwgNjMsIDIxOCwgNzMsIDEsIDE5MSwgNjMsIDIxOCwgNzMsIDEsIAorICAgIDIwNSwgNjMsIDIxOCwgNzMsIDEsIDIzMywgMTM1LCA2MywgMjE4LCA3MywgMSwgMjIwLCAxMDIsIDYzLCAyMTgsIDczLCAxLCAKKyAgICAyMTgsIDIyMywgNjMsIDIxOCwgNzMsIDEsIDIwNiwgNjMsIDIxOCwgNzMsIDEsIDE2MiwgNjMsIDIxOCwgNzMsIDEsIDYxLCAKKyAgICA2MywgMjE4LCA3MywgMSwgMjMzLCAyMzEsIDYzLCAyMTgsIDczLCAxLCAyNDQsIDc3LCAyMTIsIDY1LCA2MywgMjE4LCA3MywgCisgICAgMSwgMjQ0LCA3NywgMTkxLCA2MywgMjE4LCA3MywgMSwgMjQ0LCA3NywgMjA1LCA2MywgMjMzLCAyMTgsIDIyMiwgMTQxLCAKKyAgICAyMzQsIDEzMiwgNjMsIDIzMywgMjE4LCAyMjIsIDE0MSwgMjM0LCAxMzMsIDI1MSwgNjksIDIzMCwgMjAyLCAyNTEsIDcsIAorICAgIDYzLCAyNTAsIDI1MiwgNSwgMTE0LCAyNTIsIDcwLCA2MywgMjUwLCAyNTIsIDUsIDE5MiwgMjUyLCA3MCwgNjMsIDI1MCwgCisgICAgMjUyLCA1LCAyNTAsIDI1MywgMjE3LCAyMCwgNjMsIDI1MCwgMjUyLCA1LCAyMjEsIDIwNywgMjU1LCAxNjUsIDYzLCAxNiwgCisgICAgMjQ2LCA5MSwgMjUxLCAxMjUsIDYzLCAxNiwgMjIzLCAxMjksIDIyMiwgMjIyLCA2MywgMTYsIDIyNiwgNzcsIDI0MywgNjMsIAorICAgIDYzLCAxNiwgMjIzLCAxMjksIDIyMiwgMjIzLCAyMjMsIDQyLCAyNDIsIDE0NSwgNjMsIDE2LCAyMjUsIDExMiwgMTkwLCA2MywgCisgICAgMTYsIDIyOCwgNTksIDI1MSwgMTI1LCA2MywgMTYsIDIyOCwgNTksIDI1MSwgMTI2LCAyMjcsIDEzOSwgMjU1LCAxNjIsIDYzLCAKKyAgICAxNiwgMjI4LCA1OSwgMjUxLCAxMjYsIDI0MiwgMTE3LCAyNTUsIDE2MiwgNjMsIDE2LCAyMjgsIDU5LCAyNTEsIDEyNiwgCisgICAgMjUxLCA2OSwgMjU1LCAxNjIsIDYzLCA1LCAyMjMsIDEzMCwgMjI5LCAyMTksIDIyMywgMTMwLCAyNDcsIDE1OCwgNjMsIDUsIAorICAgIDIyMywgMTMwLCAyMjksIDIxOSwgMjQyLCAxMTYsIDYzLCAxNjQsIDI1MSwgMTI5LCAyMjAsIDMsIDI0MiwgMjE1LCAyMzAsIAorICAgIDI0OCwgMjIzLCA0MSwgNjMsIDE2NCwgMjMwLCAxNjMsIDIxMSwgMCwgMjQyLCAyMTUsIDIzMCwgMjQ4LCAyMjMsIDQxLCA2MywgCisgICAgMTY0LCAyMjcsIDEzOSwgMjE1LCAxNzIsIDYzLCAxNjQsIDY1LCAyNTEsIDE1MiwgMjIyLCAyMTMsIDIxMSwgMCwgMjMwLCAKKyAgICAyNDgsIDIzMSwgOTMsIDE4NCwgNjMsIDE2NCwgMjQ5LCAyNTIsIDI1MSwgMTUyLCAyMjIsIDIxMywgMjExLCAwLCAyMzAsIAorICAgIDI0OCwgMjIwLCAxMDksIDE4NCwgMjIyLCAyNTAsIDIxNywgMjU1LCA1MCwgMjMzLCA0NSwgMjE3LCAyNTUsIDUwLCAyMjIsIAorICAgIDI1MCwgMjE3LCAyNTUsIDUsIDIsIDI0NywgMTE4LCAyMzMsIDQ1LCAyMTcsIDI1NSwgNSwgMiwgMjQ3LCAxMTgsIDYzLCAKKyAgICAxNjQsIDIzMywgNTUsIDIzMSwgOTYsIDIyMiwgMTQzLCA2MywgMTY0LCAyMTUsIDI1MCwgMjMxLCA5NiwgMjIyLCAxNDMsIAorICAgIDY4LCAxLCAxNzYsIDY4LCAxLCAyMzQsIDEzMiwgNjgsIDEsIDI0MywgMTM1LCA2OCwgMSwgMjQyLCAyNDksIDY4LCAxLCAKKyAgICAyMjksIDc3LCA2OCwgMSwgMjUxLCAzMywgNjgsIDEsIDI1MCwgMTU3LCA2OCwgMSwgMjM1LCAxNDEsIDY4LCAxLCAyMzUsIAorICAgIDExNCwgNjgsIDEsIDIyNywgMTY1LCA2OCwgMSwgMjI4LCA3NiwgNjgsIDEsIDIxNSwgMTU2LCA2OCwgMSwgMjE1LCAxNDQsIAorICAgIDY4LCAxLCAyNDgsIDEzNSwgNjgsIDEsIDI0OCwgMTE5LCA2OCwgMSwgMjI4LCAxMTAsIDY4LCAxLCAyMTcsIDEwNSwgNjgsIAorICAgIDEsIDIxNiwgMjA4LCA2OCwgMSwgMjQ4LCAyMjEsIDY4LCAxLCAyNDgsIDI1LCA2OCwgMSwgMTk3LCA2OCwgMSwgMTkwLCA2OCwgCisgICAgMSwgMjI1LCAxNDcsIDY4LCAxLCAyNTIsIDE5MSwgNjgsIDEsIDI1MiwgMTgsIDY4LCAxLCAxODQsIDY4LCAxLCAxOTEsIDY4LCAKKyAgICAxLCAyMDUsIDY4LCAxLCAyMzMsIDEzNSwgNjgsIDEsIDIxMiwgNjUsIDY4LCAxLCAyMDYsIDY4LCAxLCAxNjIsIDY4LCAxLCAKKyAgICAyMzIsIDE4NCwgNjgsIDEsIDYxLCA2OCwgMSwgMjIwLCA4NiwgNjEsIDY4LCAxLCA3MywgNjgsIDEsIDIzNiwgMzMsIDY4LCAKKyAgICAxLCA3MCwgNjgsIDEsIDIxNCwgMTE4LCA2OCwgMSwgNzUsIDY4LCAxLCAyMzAsIDE1MSwgNzUsIDY4LCAxLCA3NiwgNjgsIDEsIAorICAgIDI1MywgMTkyLCA2OCwgMjUsIDUsIDIxNywgNjQsIDI1NSwgNzMsIDY4LCAyNSwgNSwgMjU1LCA3MywgNjgsIDI1LCA1LCA3MywgCisgICAgNjgsIDI1LCA1LCAyMzYsIDMzLCA2OCwgMjUsIDUsIDcwLCA2OCwgMjUsIDUsIDIxNCwgMTE4LCA2OCwgMjUsIDUsIDc1LCAKKyAgICA2OCwgMjUsIDUsIDI1NCwgMjAxLCA2OCwgMjUsIDUsIDIzMCwgMTUxLCAyMzYsIDMzLCA2OCwgMjUsIDUsIDIzMCwgMTUxLCAKKyAgICA3NiwgNjgsIDI1LCA1LCAxNjAsIDQ4LCA2OCwgNSwgMjU0LCA3NSwgNjgsIDUsIDU5LCA1MSwgNjgsIDUsIDIxMywgMTQ3LCAKKyAgICA2OCwgNSwgMjEzLCAxNTIsIDY4LCA1LCAyNTMsIDIzNSwgNjgsIDExNiwgNSwgMTQ3LCAxOTEsIDY4LCAxMTYsIDUsIDE0NywgCisgICAgMjA1LCA2OCwgMTE2LCA1LCAxNDcsIDIxMiwgNjUsIDY4LCAxMTYsIDUsIDE0NywgMTYyLCA2OCwgMSwgMjQyLCAxMzIsIAorICAgIDIwNiwgNjgsIDIxLCAyMTAsIDg2LCA2OCwgMjEsIDExMCwgNjgsIDIxLCAxMDUsIDY4LCAyMSwgMTU4LCA2OCwgMjEsIDE2MSwgCisgICAgNjgsIDIxLCAxODksIDY4LCAyMSwgMTk0LCA2OCwgMjEsIDE5OCwgNjgsIDIxLCAxOTUsIDY4LCAyMSwgMjAwLCA2OCwgNSwgCisgICAgMjMyLCAxOTIsIDIyMSwgMTcyLCA2OCwgNSwgMjIxLCAxNzIsIDY4LCAxNiwgMjMyLCAxNTMsIDY4LCAxNiwgMjQ5LCAyMTMsIAorICAgIDY4LCAxNiwgMjU0LCAyMjAsIDY4LCAxNiwgMjQzLCA0OCwgNjgsIDEsIDIyMCwgMTAyLCA2OCwgMSwgMjE4LCAyMjMsIDY4LCAKKyAgICAxLCAxNDksIDE1MywgNjgsIDEsIDE0OSwgMjIyLCAxODAsIDY4LCAxLCAxNDksIDE1NiwgNjgsIDEsIDE0OSwgMjMyLCAxODUsIAorICAgIDY4LCAyNSwgNSwgMTQ5LCAxNTMsIDY4LCAyNSwgNSwgMTQ5LCAyMjIsIDE4MCwgNjgsIDI1LCA1LCAxNDksIDE1NiwgNjgsIAorICAgIDI1LCA1LCAxNDksIDIzMiwgMTg1LCA2OCwgMSwgMjMwLCAxNTEsIDIyOSwgNzcsIDY4LCAxLCAyMzAsIDE1MSwgMjM1LCAKKyAgICAxMTQsIDY4LCAxLCAyMzAsIDE1MSwgMjUyLCAxMTEsIDY4LCAxLCAyMzAsIDE1MSwgMjUyLCAxMDYsIDY4LCAxMTYsIDUsIAorICAgIDIzMCwgMTUxLCAxNDcsIDE5NywgNjgsIDExNiwgNSwgMjMwLCAxNTEsIDE0NywgMTg0LCA2OCwgMTE2LCA1LCAyMzAsIDE1MSwgCisgICAgMTQ3LCAyMzMsIDEzNSwgNjgsIDEsIDIyMCwgMTA4LCAyMzQsIDIxMywgMjIwLCAxMDIsIDY4LCAyNSwgNSwgMjIwLCAxMDgsIAorICAgIDIzNCwgMjEzLCAyNDUsIDU1LCA2OCwgMTM4LCAxNjQsIDIyMCwgMTA4LCAyMzQsIDIxMywgMjQxLCAyNDcsIDY4LCAxMzgsIAorICAgIDE2NCwgMjIwLCAxMDgsIDIzNCwgMjEzLCAyMzQsIDE4MywgMjI1LCAxMjEsIDY4LCAxLCAyMTIsIDcsIDIyNCwgMTA4LCAKKyAgICAyMzQsIDIxMywgMjE2LCAyMDgsIDY4LCAxLCAyMTIsIDcsIDIyNCwgMTA4LCAyMzQsIDIxMywgMjI0LCAxMTQsIDY4LCAyNSwgCisgICAgNSwgMjEyLCA3LCAyMjQsIDEwOCwgMjM0LCAyMTMsIDI0NSwgNTUsIDY4LCAyNSwgNSwgMjEyLCA3LCAyMjQsIDEwOCwgMjM0LCAKKyAgICAyMTMsIDIxNCwgMjE0LCA2OCwgNSwgMjEyLCA3LCAyMjQsIDEwOCwgMjM0LCAyMTMsIDIxNiwgMjksIDY4LCA1LCAyMTIsIDcsIAorICAgIDIyNCwgMTA4LCAyMzQsIDIxMywgMjE2LCAyOCwgNjgsIDUsIDIxMiwgNywgMjI0LCAxMDgsIDIzNCwgMjEzLCAyMTYsIDI3LCAKKyAgICA2OCwgNSwgMjEyLCA3LCAyMjQsIDEwOCwgMjM0LCAyMTMsIDIxNiwgMjYsIDY4LCA1LCAyMTIsIDcsIDIyNCwgMTA4LCAyMzQsIAorICAgIDIxMywgMjE2LCAyNSwgNjgsIDEsIDI0NSwgMjE5LCAyMjQsIDEwOCwgMjM0LCAyMTMsIDIyOCwgMTEwLCA2OCwgMSwgMjQ1LCAKKyAgICAyMTksIDIyNCwgMTA4LCAyMzQsIDIxMywgMjEwLCAxNzYsIDY4LCAxLCAyNDUsIDIxOSwgMjI0LCAxMDgsIDIzNCwgMjEzLCAKKyAgICAyNDIsIDIxNywgNjgsIDI1LCA1LCAyNDMsIDU5LCAyMzQsIDIxMywgNzMsIDY4LCAyNSwgNSwgMjM0LCAxODgsIDIyNiwgCisgICAgMjM0LCA2OCwgMjUsIDUsIDIzNCwgMTg4LCA3MCwgNjgsIDI1LCA1LCAyMzQsIDE4OCwgMjQ1LCAyMDksIDY4LCAxLCAyMjAsIAorICAgIDg2LCAxNzYsIDY4LCAxLCAyMjAsIDg2LCAyMzQsIDEzMiwgNjgsIDEsIDIyMCwgODYsIDI0MywgMTM1LCA2OCwgMSwgMjIwLCAKKyAgICA4NiwgMjUxLCAzMywgNjgsIDEsIDIyMCwgODYsIDIxMCwgMTE2LCA2OCwgMSwgMjIwLCA4NiwgMjI3LCAxNjUsIDY4LCAxLCAKKyAgICAyMjAsIDg2LCAyNDgsIDIyMSwgNjgsIDEsIDIyMCwgODYsIDE5NywgNjgsIDEsIDIyMCwgODYsIDIyNSwgMTQ3LCA2OCwgMSwgCisgICAgMjIwLCA4NiwgMjQ0LCAxOTYsIDY4LCAxLCAyMjAsIDg2LCAyNTIsIDE5MSwgNjgsIDEsIDIyMCwgODYsIDIxNiwgMjA4LCAKKyAgICA2OCwgMSwgMjIwLCA4NiwgMTYyLCA2OCwgMTE2LCA1LCAyMjAsIDg2LCAxNDcsIDIxMiwgNjUsIDY4LCAyNSwgNSwgMjIwLCAKKyAgICA4NiwgMjU1LCA3MywgNjgsIDI1LCA1LCAyMjAsIDg2LCA3NSwgNjgsIDI1LCA1LCAyMjAsIDg2LCAxNjAsIDQ4LCA2OCwgMjUsIAorICAgIDUsIDIyMCwgODYsIDQwLCAyMTEsIDExNywgNjgsIDUsIDIyMCwgODYsIDIxNiwgMjgsIDY4LCA1LCAyMjAsIDg2LCAyMTYsIAorICAgIDI3LCA2OCwgNSwgMjIwLCA4NiwgMjE2LCAyNSwgNjgsIDUsIDIyMCwgODYsIDIxNiwgMjQsIDY4LCA1LCAyMjAsIDg2LCAKKyAgICAyNDksIDE1MiwgMjE2LCAyOCwgNjgsIDUsIDIyMCwgODYsIDI0OSwgMTUyLCAyMTYsIDI3LCA2OCwgNSwgMjIwLCA4NiwgCisgICAgMjQ5LCAxNTIsIDI0NSwgMTUzLCAyMTYsIDMwLCA2OCwgMSwgMjIyLCAxMjgsIDIyNiwgNjMsIDI0NCwgMTk2LCA2OCwgNSwgCisgICAgMjIyLCAxMjgsIDIyNiwgNjMsIDIxNiwgMjUsIDY4LCAyMjAsIDg2LCAyMSwgMjEwLCA4NiwgNjgsIDIyMCwgODYsIDIxLCAKKyAgICAxMTAsIDY4LCAyMjAsIDg2LCAyMSwgMTA1LCA2OCwgMjIwLCA4NiwgMjEsIDE1OCwgNjgsIDIyMCwgODYsIDIxLCAxNjEsIAorICAgIDY4LCAyMjAsIDg2LCAyMSwgMTg5LCA2OCwgMjIwLCA4NiwgMjEsIDE5NCwgNjgsIDIyMCwgODYsIDIxLCAxOTgsIDY4LCAKKyAgICAyMjAsIDg2LCAyMSwgMTk1LCA2OCwgMjIwLCA4NiwgMjEsIDIwMCwgNjgsIDUsIDIzNCwgMTI2LCAyMTYsIDI5LCA2OCwgNSwgCisgICAgMjM0LCAxMjYsIDIxNiwgMjcsIDY4LCAyNSwgNSwgMjU0LCAxOTAsIDYxLCA2OCwgMjUsIDUsIDI1NCwgMTkwLCAyNTQsIAorICAgIDIwMSwgNjgsIDE2LCAyMjAsIDg2LCAxMTAsIDY4LCAxNiwgMjIwLCA4NiwgMjQ1LCAzMCwgOTgsIDYsIDEsIDI1NCwgMTIzLCAKKyAgICA5OCwgNiwgMSwgMjUyLCAxNTIsIDk4LCA2LCAxLCAyNDMsIDEwNiwgOTgsIDYsIDEsIDI0NywgMTI4LCA5OCwgNiwgMSwgCisgICAgMjQ1LCAxNTAsIDk4LCA2LCAxLCAyMTMsIDE2MCwgOTgsIDYsIDEsIDIxMCwgODksIDk4LCA2LCAxLCAyMTcsIDYwLCA5OCwgCisgICAgNiwgMSwgMjM1LCAyNTUsIDk4LCA2LCAxLCAyMzQsIDIzNCwgOTgsIDYsIDEsIDIzMywgODEsIDk4LCA2LCAxLCAyMzEsIAorICAgIDE4NSwgOTgsIDYsIDEsIDIyOSwgMTk1LCA5OCwgNiwgMSwgMjI2LCAxOTYsIDk4LCA2LCAxLCAyMjYsIDE3LCA5OCwgNiwgMSwgCisgICAgMjEwLCA3OCwgOTgsIDYsIDEsIDIyMywgMTcxLCA5OCwgNiwgMSwgMjIxLCAyNDMsIDk4LCA2LCAxLCAyMTcsIDUwLCA5OCwgCisgICAgNiwgMSwgMjE0LCAxOTAsIDk4LCA2LCAxLCAyMjUsIDE0MCwgOTgsIDYsIDEsIDIzNCwgMTIxLCA5OCwgNiwgMSwgMjQyLCAKKyAgICAyNDEsIDk4LCA2LCAxLCAyMjQsIDczLCA5OCwgNiwgMSwgMjIwLCAyMCwgOTgsIDYsIDEsIDI1MCwgOTcsIDk4LCA2LCAxLCAKKyAgICAyNTEsIDcsIDk4LCA2LCAxLCAyMzUsIDEwMCwgOTgsIDYsIDEsIDI1MCwgNDAsIDk4LCA2LCAxLCAyNTAsIDE0MywgOTgsIDYsIAorICAgIDEsIDIxMSwgMTYzLCA5OCwgNiwgMSwgMjM1LCAxMTEsIDk4LCA2LCAxLCAyNDIsIDQzLCA5OCwgNiwgMSwgMjQxLCAyMzgsIAorICAgIDk4LCA2LCAxLCAyNDEsIDE3NSwgOTgsIDYsIDEsIDIxMiwgMjIsIDk4LCA2LCAxLCAyNDIsIDQsIDk4LCA2LCAxLCAyNDEsIAorICAgIDY1LCA5OCwgNiwgMSwgMjEwLCAyNDYsIDk4LCA2LCAxLCAyNTQsIDIzMiwgOTgsIDEsIDI1NCwgMTIzLCA5OCwgMSwgMjUyLCAKKyAgICAxNTIsIDk4LCAxLCAyNDMsIDEwNiwgOTgsIDEsIDI0NywgMTI4LCA5OCwgMSwgMjQ1LCAxNTAsIDk4LCAxLCAyMTMsIDE2MCwgCisgICAgOTgsIDEsIDIxMCwgODksIDk4LCAxLCAyMTcsIDYwLCA5OCwgMSwgMjM1LCAyNTUsIDk4LCAxLCAyMzQsIDIzNCwgOTgsIDEsIAorICAgIDIzMywgODEsIDk4LCAxLCAyMzEsIDE4NSwgOTgsIDEsIDIyOSwgMTk1LCA5OCwgMSwgMjI2LCAxOTYsIDk4LCAxLCAyMjYsIAorICAgIDE3LCA5OCwgMSwgMjEwLCA3OCwgOTgsIDEsIDIyMywgMTcxLCA5OCwgMSwgMjIxLCAyNDMsIDk4LCAxLCAyMTcsIDUwLCA5OCwgCisgICAgMSwgMjE0LCAxOTAsIDk4LCAxLCAyMjUsIDE0MCwgOTgsIDEsIDIzNCwgMTIxLCA5OCwgMSwgMjQyLCAyNDEsIDk4LCAxLCAKKyAgICAyMjQsIDczLCA5OCwgMSwgMjIwLCAyMCwgOTgsIDEsIDI1MCwgOTcsIDk4LCAxLCAyNTEsIDcsIDk4LCAxLCAyMzUsIDEwMCwgCisgICAgOTgsIDEsIDI1MCwgNDAsIDk4LCAxLCAyNTAsIDE0MywgOTgsIDEsIDIxMSwgMTYzLCA5OCwgMSwgMjM1LCAxMTEsIDk4LCAxLCAKKyAgICAyNDIsIDQzLCA5OCwgMSwgMjQxLCAyMzgsIDk4LCAxLCAyNDEsIDE3NSwgOTgsIDEsIDIxMiwgMjIsIDk4LCAxLCAyNDIsIDQsIAorICAgIDk4LCAxLCAyNDEsIDY1LCA5OCwgMSwgMjQ0LCAxMjEsIDk4LCAxLCAyMTAsIDI0NiwgOTgsIDEsIDI0NSwgMTY1LCA5OCwgMSwgCisgICAgMjE1LCA5NCwgMjQzLCAxMDYsIDk4LCAxLCAyNTQsIDE5NiwgOTgsIDIyNiwgMTUsIDIyMCwgMTM3LCA1OCwgMSwgOTgsIAorICAgIDIyOSwgMTk1LCA5OCwgMSwgMjU0LCAyMzIsIDk4LCAxLCAyNDIsIDMsIDUwLCA5OCwgMSwgMjMzLCAxMjcsIDUwLCAyNCwgCisgICAgMTAwLCAyMzQsIDU4LCAyNCwgMTAwLCAyMTgsIDIxNSwgMjQsIDEwMCwgMjI4LCAyMjYsIDI0LCAxMDAsIDIxNiwgMTAxLCAKKyAgICAyNCwgMTAwLCAyMTgsIDIwNCwgMjQsIDEwMCwgMjIzLCAyNiwgMjQsIDEwMCwgMjMwLCAyMTcsIDI0LCAxMDAsIDIyNSwgOTUsIAorICAgIDI0LCAxMDAsIDIxOCwgMjEyLCAyNCwgMTAwLCAyMTksIDE0OCwgMjQsIDEwMCwgMjE4LCAyMDksIDI0LCAxMDAsIDIzNiwgCisgICAgNTYsIDI0LCAxMDAsIDI1MCwgNDYsIDI0LCAxMDAsIDIxOCwgMjE5LCAyNCwgMTAwLCAyNTAsIDEwNiwgMjQsIDEwMCwgMjM0LCAKKyAgICAxMTAsIDI0LCAxMDAsIDIxNiwgMTczLCAyNCwgMTAwLCAyMjUsIDEzMSwgMjQsIDEwMCwgMjQxLCAxNzIsIDI0LCAxMDAsIAorICAgIDIyOCwgMjIyLCAyNCwgMTAwLCAyMTgsIDIxMywgMjQsIDEwMCwgMjI4LCAyMTYsIDI0LCAxMDAsIDIyOCwgMjIwLCAyNCwgCisgICAgMTAwLCAyMTYsIDk4LCAyNCwgMTAwLCAyMjMsIDE0LCAyNCwgMTAwLCAyMTgsIDIxMSwgMjQsIDEwMCwgMjIzLCAyNCwgMjQsIAorICAgIDEwMCwgMjM0LCAyMTgsIDI0LCAxMDAsIDIzMCwgMjEwLCAyNCwgMTAwLCAyMzQsIDIyMSwgMjQsIDEwMCwgMjI1LCA5MCwgCisgICAgMjQsIDEwMCwgMjI1LCA4OCwgMjQsIDEwMCwgMjI1LCA3NiwgMjQsIDEwMCwgMjI1LCA4NCwgMjQsIDEwMCwgMjI1LCA4MiwgCisgICAgMjQsIDEwMCwgMjI1LCA3OSwgMjQsIDEwMCwgMjI1LCA4MSwgMjQsIDEwMCwgMjI1LCA3OCwgMjQsIDEwMCwgMjI1LCA4MywgCisgICAgMjQsIDEwMCwgMjI1LCA5MywgMjQsIDEwMCwgMjI1LCA5NCwgMjQsIDEwMCwgMjI1LCA3NywgMjQsIDEwMCwgMjI1LCA4NywgCisgICAgMjQsIDEwMCwgMjM0LCAyMTksIDI0LCAxMDAsIDIzNCwgMjE3LCAyNCwgMTAwLCAyMTksIDE0MSwgMjQsIDEwMCwgMjE5LCAKKyAgICAxMzksIDI0LCAxMDAsIDIxOSwgMTMxLCAyNCwgMTAwLCAyMTksIDEzNCwgMjQsIDEwMCwgMjE5LCAxNDAsIDI0LCAxMDAsIAorICAgIDIxOSwgMTM2LCAyNCwgMTAwLCAyMTksIDEzNSwgMjQsIDEwMCwgMjE5LCAxMzMsIDI0LCAxMDAsIDIxOSwgMTQ0LCAyNCwgCisgICAgMTAwLCAyMTksIDE0NiwgMjQsIDEwMCwgMjE5LCAxNDcsIDI0LCAxMDAsIDIxOSwgMTQyLCAyNCwgMTAwLCAyMTksIDEzMiwgCisgICAgMjQsIDEwMCwgMjE5LCAxMzcsIDI0LCAxMDAsIDIxOSwgMTQ1LCAyNCwgMTAwLCAyNTAsIDkwLCAyNCwgMTAwLCAyNTAsIDg4LCAKKyAgICAyNCwgMTAwLCAyNTAsIDE2OCwgMjQsIDEwMCwgMjUwLCAxNjYsIDI0LCAxMDAsIDIyNiwgMzIsIDI0LCAxMDAsIDIzNiwgNTEsIAorICAgIDI0LCAxMDAsIDIzNiwgNDIsIDI0LCAxMDAsIDIzNiwgNTAsIDI0LCAxMDAsIDIzNiwgNDcsIDI0LCAxMDAsIDIzNiwgNDUsIAorICAgIDI0LCAxMDAsIDIzNiwgNDksIDI0LCAxMDAsIDIxOCwgMjE2LCAyNCwgMTAwLCAyMzYsIDU0LCAyNCwgMTAwLCAyMzYsIDU1LCAKKyAgICAyNCwgMTAwLCAyMzYsIDQzLCAyNCwgMTAwLCAyMzYsIDQ4LCAyNCwgMTAwLCAyMTEsIDI2LCAyNCwgMTAwLCAyNTAsIDQ1LCAKKyAgICAyNCwgMTAwLCAyNTAsIDkxLCAyNCwgMTAwLCAyNTAsIDg5LCAyNCwgMTAwLCAyNTAsIDE2OSwgMjQsIDEwMCwgMjUwLCAxNjcsIAorICAgIDI0LCAxMDAsIDI1MCwgMTA0LCAyNCwgMTAwLCAyNTAsIDEwNSwgMjQsIDEwMCwgMjUwLCA5MiwgMjQsIDEwMCwgMjUwLCAKKyAgICAxNzAsIDI0LCAxMDAsIDIyNSwgMTI5LCAyNCwgMTAwLCAyMzQsIDIyMCwgMjQsIDEwMCwgMjE4LCAyMTcsIDI0LCAxMDAsIAorICAgIDIxMSwgMzIsIDI0LCAxMDAsIDIzNCwgNDksIDI0LCAxMDAsIDIyOCwgMjE4LCAyNCwgMTAwLCAyMjgsIDIyNCwgMjQsIDEwMCwgCisgICAgMjI4LCAyMjMsIDI0LCAxMDAsIDIxNiwgOTUsIDI0LCAxMDAsIDI0NCwgMTAzLCAyNCwgMTQzLCAyNDQsIDEwMywgMjQsIAorICAgIDE0MywgNjEsIDI0LCAxNDMsIDI1NCwgMjQzLCAyNCwgMTQzLCAxOTEsIDI0LCAxNDMsIDIxMSwgOTIsIDI0LCAxNDMsIDI0NSwgCisgICAgMTE3LCAyNCwgMTQzLCA3NSwgMjQsIDE0MywgMjExLCAzNiwgMjQsIDE0MywgMjExLCA0NywgMjQsIDE0MywgNzYsIDI0LCAKKyAgICAxNDMsIDIxMiwgNjUsIDI0LCAxNDMsIDIxMiwgNjIsIDI0LCAxNDMsIDIyNiwgMjM0LCAyNCwgMTQzLCAyMTAsIDI0NCwgMjQsIAorICAgIDE0MywgNzAsIDI0LCAxNDMsIDIxMiwgMTEsIDI0LCAxNDMsIDIxMiwgMjIsIDI0LCAxNDMsIDIxMSwgMjUwLCAyNCwgMTQzLCAKKyAgICAyMTAsIDIxMiwgMjQsIDE0MywgMjQ1LCA1NSwgMjQsIDE0MywgMjExLCA4LCAyNCwgMTQzLCA3MywgMjQsIDE0MywgMjU1LCAKKyAgICAxNTcsIDI0LCAxNDMsIDI1NSwgMTU2LCAyNCwgMTQzLCAyMTEsIDEwNiwgMjQsIDE0MywgMjExLCAxMDQsIDI0LCAxNDMsIAorICAgIDI0NSwgMTE1LCAyNCwgMTQzLCAyNDUsIDExNCwgMjQsIDE0MywgMjQ1LCAxMTYsIDI0LCAxNDMsIDIxMSwgMzUsIDI0LCAKKyAgICAxNDMsIDIxMSwgMzQsIDI0LCAxNDMsIDIyNywgODQsIDI0LCAxNDMsIDIyNywgODUsIDI0LCAxNDMsIDIyNywgNzgsIDI0LCAKKyAgICAxNDMsIDIyNywgODMsIDI0LCAxNDMsIDIyNywgODEsIDI0LCAxNDMsIDIxMCwgMjM4LCAyNCwgMTQzLCAyMTAsIDIzNywgMjQsIAorICAgIDE0MywgMjEwLCAyMzYsIDI0LCAxNDMsIDIxMCwgMjM5LCAyNCwgMTQzLCAyMTAsIDI0MCwgMjQsIDE0MywgMjE1LCAzMCwgCisgICAgMjQsIDE0MywgMjE1LCAyOSwgMjQsIDE0MywgMjE1LCAyNywgMjQsIDE0MywgMjE1LCAyNCwgMjQsIDE0MywgMjE1LCAyNSwgCisgICAgMjQsIDE0MywgMjEwLCAyMTEsIDI0LCAxNDMsIDIxMCwgMjA4LCAyNCwgMTQzLCAyMTAsIDIwOSwgMjQsIDE0MywgMjEwLCAKKyAgICAyMDMsIDI0LCAxNDMsIDIxMCwgMjA0LCAyNCwgMTQzLCAyMTAsIDIwNSwgMjQsIDE0MywgMjEwLCAyMDcsIDI0LCAxNDMsIAorICAgIDI0NSwgNDksIDI0LCAxNDMsIDI0NSwgNTEsIDI0LCAxNDMsIDIxMSwgNywgMjQsIDE0MywgMjQwLCAxNTMsIDI0LCAxNDMsIAorICAgIDI0MCwgMTQ1LCAyNCwgMTQzLCAyNDAsIDE0OCwgMjQsIDE0MywgMjQwLCAxNDYsIDI0LCAxNDMsIDI0MCwgMTUwLCAyNCwgCisgICAgMTQzLCAyNDAsIDE1MiwgMjQsIDE0MywgMjU0LCAzNCwgMjQsIDE0MywgMjU0LCAzMSwgMjQsIDE0MywgMjU0LCAyOSwgMjQsIAorICAgIDE0MywgMjU0LCAzMCwgMjQsIDE0MywgMjE4LCAyMjAsIDI0LCAxNDMsIDI1NSwgMTU4LCAyNCwgMTQzLCAyMTEsIDEwNSwgCisgICAgMjQsIDE0MywgMjExLCAzMywgMjQsIDE0MywgMjI3LCA4MCwgMjQsIDE0MywgMjI3LCA3OSwgMjQsIDkwLCAyMzQsIDU4LCAKKyAgICAyNCwgOTAsIDIxOCwgMjE1LCAyNCwgOTAsIDIzNCwgNTEsIDI0LCA5MCwgMjI4LCAyMjYsIDI0LCA5MCwgMjI4LCAyMjQsIAorICAgIDI0LCA5MCwgMjI4LCAyMjMsIDI0LCA5MCwgMjE2LCAxMDEsIDI0LCA5MCwgMjIzLCAyNiwgMjQsIDkwLCAyMjMsIDIxLCAyNCwgCisgICAgOTAsIDIyMywgMTgsIDI0LCA5MCwgMjIzLCAxMSwgMjQsIDkwLCAyMjMsIDYsIDI0LCA5MCwgMjIzLCAxLCAyNCwgOTAsIAorICAgIDIyMywgMTIsIDI0LCA5MCwgMjIzLCAyNCwgMjQsIDkwLCAyMzAsIDIxNywgMjQsIDkwLCAyMjUsIDk1LCAyNCwgOTAsIDIyNSwgCisgICAgODQsIDI0LCA5MCwgMjE5LCAxNDgsIDI0LCA5MCwgMjE4LCAyMDksIDI0LCA5MCwgMjM2LCA1NiwgMjQsIDkwLCAyNTAsIDQ2LCAKKyAgICAyNCwgOTAsIDI1MCwgMTA2LCAyNCwgOTAsIDIzNCwgMTEwLCAyNCwgOTAsIDIxNiwgMTczLCAyNCwgOTAsIDIyNSwgMTMxLCAKKyAgICAyNCwgOTAsIDI0MSwgMTcyLCAyNCwgOTAsIDIzNCwgNTIsIDI0LCA5MCwgMjM0LCA1MCwgMjQsIDkwLCAyMjgsIDIyMiwgMjQsIAorICAgIDkwLCAyMjgsIDIxNiwgMjQsIDkwLCAyMjgsIDIxOCwgMjQsIDkwLCAyMjgsIDIyMSwgMjQsIDkwLCAyMjgsIDIxNywgMjQsIAorICAgIDkwLCAyMTYsIDk4LCAyNCwgOTAsIDIxNiwgOTUsIDI0LCA5MCwgMjIzLCAxOSwgMjQsIDkwLCAyMjMsIDE0LCAyNCwgOTAsIAorICAgIDIyMywgMCwgMjQsIDkwLCAyMjIsIDI1NSwgMjQsIDkwLCAyMTgsIDIxMSwgMjQsIDkwLCAyMjMsIDE2LCAyNCwgOTAsIDIyMywgCisgICAgMTUsIDI0LCA5MCwgMjIzLCA4LCAyNCwgOTAsIDIyMywgMTAsIDI0LCA5MCwgMjIzLCAyMywgMjQsIDkwLCAyMjMsIDMsIDI0LCAKKyAgICA5MCwgMjIzLCAxMywgMjQsIDkwLCAyMjMsIDIyLCAyNCwgOTAsIDIyMiwgMjU0LCAyNCwgOTAsIDIzMCwgMjEzLCAyNCwgOTAsIAorICAgIDIzMCwgMjA4LCAyNCwgOTAsIDIzMCwgMjEwLCAyNCwgOTAsIDIzMCwgMjA3LCAyNCwgOTAsIDIzMCwgMjA1LCAyNCwgOTAsIAorICAgIDIzMCwgMjExLCAyNCwgOTAsIDIzMCwgMjE2LCAyNCwgOTAsIDIzMCwgMjE0LCAyNCwgOTAsIDIzNCwgMjIxLCAyNCwgOTAsIAorICAgIDIyNSwgODYsIDI0LCA5MCwgMjI1LCA4NywgMjQsIDkwLCAyMjUsIDkyLCAyNCwgOTAsIDIzNCwgMjE5LCAyNCwgOTAsIDIxOSwgCisgICAgMTQxLCAyNCwgOTAsIDIxOSwgMTMxLCAyNCwgOTAsIDIxOSwgMTM0LCAyNCwgOTAsIDIxOSwgMTM2LCAyNCwgOTAsIDIyNiwgCisgICAgMzIsIDI0LCA5MCwgMjM2LCA1MSwgMjQsIDkwLCAyMzYsIDQ0LCAyNCwgOTAsIDIxOCwgMjE2LCAyNCwgOTAsIDIzNiwgNTIsIAorICAgIDI0LCA5MCwgMjExLCAyNiwgMjQsIDkwLCAyMTEsIDIyLCAyNCwgOTAsIDIxMSwgMjMsIDI0LCA5MCwgMjI1LCAxMjksIDI0LCAKKyAgICA5MCwgMjM0LCAyMjAsIDI0LCA5MCwgMjQxLCAxNzAsIDI0LCA5MCwgMjQxLCAxNjgsIDI0LCA5MCwgMjQxLCAxNzEsIDI0LCAKKyAgICA5MCwgMjQxLCAxNjksIDI0LCA5MCwgMjExLCAzMiwgMjQsIDkwLCAyMzQsIDU0LCAyNCwgOTAsIDIzNCwgNTMsIDI0LCA5MCwgCisgICAgMjM0LCA1NywgMjQsIDkwLCAyMzQsIDU1LCAyNCwgOTAsIDIzNCwgNTYsIDI0LCA5MCwgMjE4LCAyMTMsIDI5LCAzLCAxNjIsIAorICAgIDI5LCAzLCAyNDAsIDIyMiwgMjksIDMsIDI0MSwgMTgwLCAyOSwgMywgMjQyLCA0NiwgMjksIDMsIDI0MSwgMjIwLCAyOSwgMywgCisgICAgMjQxLCAyMzgsIDI5LCAzLCAyNDEsIDY4LCAyOSwgMywgMjQxLCA2NywgMjksIDMsIDIzMywgMTM1LCAyOSwgMywgMjMyLCAKKyAgICA5OCwgMjksIDMsIDIzMiwgMjQxLCAyOSwgMywgMjMzLCAxMzQsIDI5LCAzLCAyMzMsIDUwLCAyOSwgMywgMjMzLCA1OCwgMjksIAorICAgIDMsIDIzMiwgMTU2LCAyOSwgMywgMjMyLCA3MCwgMjksIDMsIDI0MSwgMTg5LCAyOSwgMywgMjQxLCAxODMsIDI5LCAzLCAKKyAgICAyNDEsIDE4NSwgMjksIDMsIDI0MSwgMTg4LCAyOSwgMywgMjQxLCAxODYsIDI5LCAzLCAyNDEsIDE4NywgMjksIDMsIDI0MSwgCisgICAgMTg0LCAyOSwgMywgMjQxLCAxODIsIDI5LCAzLCAxODQsIDI5LCAzLCAyMzAsIDEwMiwgMjksIDMsIDIzMCwgMjMwLCAyOSwgCisgICAgMywgMjMxLCAyMzcsIDI5LCAzLCAyMzEsIDgwLCAyOSwgMywgMjMxLCA5MSwgMjksIDMsIDIzMCwgMTYxLCAyOSwgMywgMjMwLCAKKyAgICA0MiwgMjksIDMsIDIxNywgMTYzLCAyOSwgMywgMjE3LCAxNTcsIDI5LCAzLCAyMTcsIDE1OSwgMjksIDMsIDIxNywgMTYyLCAKKyAgICAyOSwgMywgMjE3LCAxNjAsIDI5LCAzLCAyMTcsIDE2MSwgMjksIDMsIDIxNywgMTU4LCAyOSwgMywgMjE3LCAxNTYsIDI5LCAKKyAgICAzLCAyMDUsIDI5LCAzLCAyMjIsIDE0MCwgMjksIDMsIDIyMywgMzUsIDI5LCAzLCAyMjMsIDE4NCwgMjksIDMsIDIyMywgCisgICAgMTA4LCAyOSwgMywgMjIzLCAxMjgsIDI5LCAzLCAyMjIsIDIxMSwgMjksIDMsIDIyMiwgMTA5LCAyOSwgMywgMjA2LCAyOSwgCisgICAgMywgMjE4LCA4MywgMjksIDMsIDIxOSwgMTkxLCAyOSwgMywgMjIyLCAzMSwgMjksIDMsIDIyMSwgMTcwLCAyOSwgMywgMjIxLCAKKyAgICAxODEsIDI5LCAzLCAyMTksIDU4LCAyOSwgMywgMjE3LCAyNTMsIDI5LCAzLCAyMjAsIDEwMiwgMjksIDMsIDIxOSwgMjI1LCAKKyAgICAyOSwgMywgMjIwLCAzMiwgMjksIDMsIDIyMCwgOTgsIDI5LCAzLCAyMjAsIDYxLCAyOSwgMywgMjIwLCA2MywgMjksIDMsIAorICAgIDIyMCwgNywgMjksIDMsIDIxOSwgMjA4LCAyOSwgMywgMjI0LCA4OCwgMjksIDMsIDIyNCwgMzAsIDI5LCAzLCAyMjQsIDUzLCAKKyAgICAyOSwgMywgMjI0LCA4NywgMjksIDMsIDIyNCwgNjgsIDI5LCAzLCAyMjQsIDY5LCAyOSwgMywgMjI0LCA0MiwgMjksIDMsIAorICAgIDIyNCwgNDEsIDI5LCAzLCAyMjMsIDI0MiwgMjksIDMsIDIyMywgMjM4LCAyOSwgMywgMjIzLCAyNDEsIDI5LCAzLCAyMjMsIAorICAgIDIzOSwgMjksIDMsIDIyMywgMjQwLCAyOSwgMywgMjI0LCA2NSwgMjksIDMsIDIyNCwgNTksIDI5LCAzLCAyMjQsIDYxLCAyOSwgCisgICAgMywgMjI0LCA2NCwgMjksIDMsIDIyNCwgNjIsIDI5LCAzLCAyMjQsIDYzLCAyOSwgMywgMjI0LCA2MCwgMjksIDMsIDIyNCwgCisgICAgNTgsIDI5LCAzLCAyMjQsIDU0LCAyOSwgMywgMjI0LCA1NywgMjksIDMsIDIyNCwgNTUsIDI5LCAzLCAyMjQsIDU2LCAyOSwgCisgICAgMywgMjUyLCAxOTEsIDI5LCAzLCAyNTEsIDEyNSwgMjksIDMsIDI1MiwgNiwgMjksIDMsIDI1MiwgMTg5LCAyOSwgMywgMjUyLCAKKyAgICA2NiwgMjksIDMsIDI1MiwgNzUsIDI5LCAzLCAyNTEsIDIwNSwgMjksIDMsIDI1MSwgODMsIDI5LCAzLCAyMTQsIDI3LCAyOSwgCisgICAgMywgMjEyLCAxMTYsIDI5LCAzLCAyMTMsIDE3NiwgMjksIDMsIDIxNCwgMjYsIDI5LCAzLCAyMTMsIDI1MCwgMjksIDMsIAorICAgIDIxMywgMjU1LCAyOSwgMywgMjEzLCAxMzgsIDI5LCAzLCAyMTIsIDEwNywgMjksIDMsIDIxNywgMTA1LCAyOSwgMywgMjE1LCAKKyAgICAxMTgsIDI5LCAzLCAyMTYsIDExNywgMjksIDMsIDIxNywgMTAxLCAyOSwgMywgMjE3LCAxMSwgMjksIDMsIDIxNywgMjIsIAorICAgIDI5LCAzLCAxMTEsIDI5LCAzLCAyMTUsIDgwLCAyOSwgMywgMjUxLCAzMywgMjksIDMsIDI0OSwgMTEyLCAyOSwgMywgMjUwLCAKKyAgICA1MSwgMjksIDMsIDI1MSwgMzIsIDI5LCAzLCAyNTAsIDE4MiwgMjksIDMsIDI1MCwgMTkwLCAyOSwgMywgMjQ5LCAyMzgsIAorICAgIDI5LCAzLCAyNDksIDgxLCAyOSwgMywgMjExLCAxNjUsIDI5LCAzLCAyMTEsIDE0MSwgMjksIDMsIDIxMSwgMTU3LCAyOSwgMywgCisgICAgMjExLCAxNjQsIDI5LCAzLCAyMTEsIDE2MSwgMjksIDMsIDIxMSwgMTYyLCAyOSwgMywgMjExLCAxNDgsIDI5LCAzLCAyMTEsIAorICAgIDE0NywgMjksIDMsIDIxMSwgMTM2LCAyOSwgMywgMjExLCAxMzIsIDI5LCAzLCAyMTEsIDEzNSwgMjksIDMsIDIxMSwgMTMzLCAKKyAgICAyOSwgMywgMjExLCAxMzQsIDI5LCAzLCAxOTcsIDI5LCAzLCAyMjcsIDIzNywgMjksIDMsIDIyOCwgMjMzLCAyOSwgMywgCisgICAgMjI5LCAyMjUsIDI5LCAzLCAyMjksIDEwMywgMjksIDMsIDIyOSwgMTA3LCAyOSwgMywgMjI4LCA3NCwgMjksIDMsIDIyNywgCisgICAgMTc0LCAyOSwgMywgMjI3LCAxNjUsIDI5LCAzLCAyMjcsIDEyOCwgMjksIDMsIDIyNywgMTQ4LCAyOSwgMywgMjI3LCAxNjQsIAorICAgIDI5LCAzLCAyMjcsIDE1NSwgMjksIDMsIDIyNywgMTU2LCAyOSwgMywgMjI3LCAxMzQsIDI5LCAzLCAyMjcsIDExOSwgMjksIAorICAgIDMsIDI0MiwgMTgwLCA2MSwgMjksIDMsIDI0MiwgMTgwLCA3MCwgMjksIDMsIDI0MiwgMTgwLCA3MywgMjksIDMsIDI0MiwgCisgICAgMTgwLCAyNTUsIDczLCAyOSwgMywgMjQyLCAxODAsIDI0NSwgMjA5LCAyOSwgMywgMjQyLCAxODAsIDc1LCAyOSwgMywgMjQyLCAKKyAgICAxODAsIDc2LCAyOSwgMywgMjQyLCAxODAsIDIxMiwgNjUsIDI5LCAzLCAxNzYsIDI5LCAzLCAyMzMsIDIxNywgMjksIDMsIAorICAgIDIzNCwgOTIsIDI5LCAzLCAyMzUsIDEwLCAyOSwgMywgMjM0LCAxODEsIDI5LCAzLCAyMzQsIDE4MiwgMjksIDMsIDIzNCwgCisgICAgMjgsIDI5LCAzLCAyMzQsIDI3LCAyOSwgMywgMjMzLCAxODIsIDI5LCAzLCAyMzMsIDE3NiwgMjksIDMsIDIzMywgMTgxLCAKKyAgICAyOSwgMywgMjMzLCAxNzcsIDI5LCAzLCAyMzMsIDE3OCwgMjksIDMsIDIzMywgMTcxLCAyOSwgMywgMjMzLCAxNjUsIDI5LCAKKyAgICAzLCAyMzMsIDE2NywgMjksIDMsIDIzMywgMTcwLCAyOSwgMywgMjMzLCAxNjgsIDI5LCAzLCAyMzMsIDE2OSwgMjksIDMsIAorICAgIDIzMywgMTY2LCAyOSwgMywgMjMzLCAxNjQsIDI5LCAzLCAyMzMsIDE2MCwgMjksIDMsIDIzMywgMTYzLCAyOSwgMywgMjMzLCAKKyAgICAxNjEsIDI5LCAzLCAyMzMsIDE2MiwgMjksIDMsIDIxMiwgNjUsIDI5LCAzLCAyMTEsIDE5NSwgMjksIDMsIDIxMSwgMjUwLCAKKyAgICAyOSwgMywgMjEyLCA2NCwgMjksIDMsIDIxMiwgMTcsIDI5LCAzLCAyMTIsIDIyLCAyOSwgMywgMjExLCAyMjcsIDI5LCAzLCAKKyAgICAyMTEsIDIyNiwgMjksIDMsIDIyNSwgMTM5LCA2MSwgMjksIDMsIDIyNSwgMTM5LCA3MCwgMjksIDMsIDIyNSwgMTM5LCA3MywgCisgICAgMjksIDMsIDIyNSwgMTM5LCAyNTUsIDczLCAyOSwgMywgMjI1LCAxMzksIDI0NSwgMjA5LCAyOSwgMywgMjI1LCAxMzksIDc1LCAKKyAgICAyOSwgMywgMjI1LCAxMzksIDc2LCAyOSwgMywgMjEwLCAxMTYsIDI5LCAzLCAyMTAsIDEzLCAyOSwgMywgMjEwLCA0NCwgMjksIAorICAgIDMsIDIxMCwgMTE1LCAyOSwgMywgMjEwLCA5MiwgMjksIDMsIDIxMCwgOTQsIDI5LCAzLCAyMTAsIDIzLCAyOSwgMywgMjEwLCAKKyAgICAwLCAyOSwgMywgMjEwLCA4MiwgMjksIDMsIDIxMCwgNjIsIDI5LCAzLCAyMTAsIDY5LCAyOSwgMywgMjEwLCA4MSwgMjksIDMsIAorICAgIDIxMCwgNzMsIDI5LCAzLCAyMTAsIDc0LCAyOSwgMywgMjEwLCA2NywgMjksIDMsIDIxMCwgNTMsIDI5LCAzLCAxOTEsIDI5LCAKKyAgICAzLCAyMTAsIDIxMiwgMjksIDMsIDIxMSwgOCwgMjksIDMsIDIxMSwgMTAzLCAyOSwgMywgMjExLCA0NCwgMjksIDMsIDIxMSwgCisgICAgNDcsIDI5LCAzLCAyMTAsIDI0NCwgMjksIDMsIDIxMCwgMjM1LCAyOSwgMywgMjQ4LCAyMjEsIDI5LCAzLCAyNDYsIDc4LCAKKyAgICAyOSwgMywgMjQ4LCAzLCAyOSwgMywgMjQ4LCAyMjAsIDI5LCAzLCAyNDgsIDc3LCAyOSwgMywgMjQ4LCA5MCwgMjksIDMsIAorICAgIDI0NywgMTQ1LCAyOSwgMywgMjQ2LCA0NywgMjksIDMsIDI0OCwgMTM1LCAyOSwgMywgMjQ4LCAxMDAsIDI5LCAzLCAyNDgsIAorICAgIDExMiwgMjksIDMsIDI0OCwgMTM0LCAyOSwgMywgMjQ4LCAxMjIsIDI5LCAzLCAyNDgsIDEyMywgMjksIDMsIDI0OCwgMTA1LCAKKyAgICAyOSwgMywgMjQ4LCA5MSwgMjksIDMsIDIzNSwgMTQxLCAyOSwgMywgMjM1LCA1MSwgMjksIDMsIDIzNSwgMTA4LCAyOSwgMywgCisgICAgMjM1LCAxNDAsIDI5LCAzLCAyMzUsIDEyNCwgMjksIDMsIDIzNSwgMTI2LCAyOSwgMywgMjM1LCA2OCwgMjksIDMsIDIzNSwgCisgICAgMzEsIDI5LCAzLCAyNDMsIDEzNSwgMjksIDMsIDI0MiwgMTEzLCAyOSwgMywgMjQyLCAyMTQsIDI5LCAzLCAyNDMsIDEzMiwgCisgICAgMjksIDMsIDI0MywgNTUsIDI5LCAzLCAyNDMsIDYyLCAyOSwgMywgMjQyLCAxNzQsIDI5LCAzLCAyNDIsIDE3MywgMjksIDMsIAorICAgIDI0MiwgNzgsIDI5LCAzLCAyNDIsIDc0LCAyOSwgMywgMjQyLCA3NywgMjksIDMsIDI0MiwgNzUsIDI5LCAzLCAyNDIsIDc2LCAKKyAgICAyOSwgMywgMjQzLCAyOSwgMjksIDMsIDI0MywgOSwgMjksIDMsIDI0MywgMTksIDI5LCAzLCAyNDMsIDI4LCAyOSwgMywgCisgICAgMjQzLCAyMywgMjksIDMsIDI0MywgMjQsIDI5LCAzLCAyNDMsIDEzLCAyOSwgMywgMjQyLCAyNTQsIDI5LCAzLCAyMTYsIAorICAgIDIwOCwgMjksIDMsIDIxNiwgMTM2LCAyOSwgMywgMjE2LCAxNzUsIDI5LCAzLCAyMTYsIDIwNywgMjksIDMsIDIxNiwgMTk0LCAKKyAgICAyOSwgMywgMjE2LCAxOTUsIDI5LCAzLCAyMTYsIDE1NiwgMjksIDMsIDIxNiwgMTI4LCAyOSwgMywgMjUwLCAxNTcsIDI5LCAKKyAgICAzLCAyNTAsIDY5LCAyOSwgMywgMjUwLCAxMTAsIDI5LCAzLCAyNTAsIDE1NiwgMjksIDMsIDI1MCwgMTI4LCAyOSwgMywgCisgICAgMjUwLCAxMzEsIDI5LCAzLCAyNTAsIDg2LCAyOSwgMywgMjUwLCA1OCwgMjksIDMsIDIyNSwgMTQ3LCAyOSwgMywgMjI1LCAKKyAgICAxMTQsIDI5LCAzLCAyMjUsIDEzMywgMjksIDMsIDIyNSwgMTQ2LCAyOSwgMywgMjI1LCAxMzUsIDI5LCAzLCAyMjUsIDEzNiwgCisgICAgMjksIDMsIDIyNSwgMTIxLCAyOSwgMywgMjI1LCAxMTAsIDI5LCAzLCAyMTUsIDE4MywgMjksIDMsIDIxNSwgMTYzLCAyOSwgCisgICAgMywgMjE1LCAxNjcsIDI5LCAzLCAyMTUsIDE4MiwgMjksIDMsIDIxNSwgMTc3LCAyOSwgMywgMjE1LCAxNzgsIDI5LCAzLCAKKyAgICAyMTUsIDE2NiwgMjksIDMsIDIxNSwgMTYxLCAyOSwgMywgMjE1LCAzOSwgMjksIDMsIDIxNSwgMzEsIDI5LCAzLCAyMTUsIAorICAgIDM1LCAyOSwgMywgMjE1LCAzOCwgMjksIDMsIDIxNSwgMzYsIDI5LCAzLCAyMTUsIDM3LCAyOSwgMywgMjE1LCAzMywgMjksIAorICAgIDMsIDIxNSwgMzIsIDI5LCAzLCAyNDQsIDE5NiwgMjksIDMsIDI0MywgMjM0LCAyOSwgMywgMjQ0LCAxMjEsIDI5LCAzLCAKKyAgICAyNDQsIDE5NSwgMjksIDMsIDI0NCwgMTQ3LCAyOSwgMywgMjQ0LCAxNTQsIDI5LCAzLCAyNDQsIDQzLCAyOSwgMywgMjQzLCAKKyAgICAyMTMsIDI5LCAzLCAxOTAsIDI5LCAzLCAyMjQsIDE1MCwgMjksIDMsIDIyNSwgMTA4LCAyOSwgMywgMjI2LCA4OSwgMjksIDMsIAorICAgIDIyNSwgMjExLCAyOSwgMywgMjI1LCAyMjEsIDI5LCAzLCAyMjUsIDE2LCAyOSwgMywgMjI0LCAxMTQsIDI5LCAzLCAyMjIsIAorICAgIDk5LCAyOSwgMywgMjMwLCAzMSwgMjksIDMsIDI0MywgMjA3LCAyOSwgMzgsIDI0MywgNTMsIDIyLCAyNSwgMjMzLCAyMywgCisgICAgNzgsIDI5LCAzOCwgMjUsIDIzMywgMjMsIDc4LCAyOSwgMzgsIDI0MywgNTMsIDc4LCAyOSwgMjIxLCAxNzMsIDc4LCAyOSwgCisgICAgMjExLCAyMDgsIDI5LCAyNDMsIDIyOSwgMjE4LCAxMjksIDI5LCAyNDksIDIxOSwgMjksIDIyMCwgMTUwLCAyOSwgMjQ5LCAKKyAgICAyMjYsIDI5LCAyMjQsIDE5OSwgMjQ5LCAyMjYsIDI5LCAyMjQsIDEzLCA3OCwgMjksIDIyNiwgMTUsIDIyMCwgMTM3LCAyOSwgCisgICAgMjEsIDExMCwgMjksIDIxLCAxMDUsIDI5LCAyMSwgMTU4LCAyOSwgMjEsIDE2MSwgMjksIDIxLCAxODksIDI5LCAyMSwgMTk0LCAKKyAgICAyOSwgMjEsIDE5OCwgMjksIDIxLCAxOTUsIDI5LCAyMSwgMjAwLCAyOSwgNTQsIDIxNiwgMjQ3LCAyOSwgNTQsIDIxNSwgNzMsIAorICAgIDI5LCA1NCwgMjE2LCAxNjIsIDI5LCA1NCwgMjQ0LCAxNSwgMjksIDU0LCAyNDQsIDExNCwgMjksIDU0LCAyMTksIDExMSwgCisgICAgMjksIDU0LCAyMjAsIDExNiwgMjksIDU0LCAyNDUsIDE4NCwgMjksIDU0LCAyMjgsIDE5NSwgMjksIDU0LCAyNDAsIDIxMCwgCisgICAgMjksIDU0LCAyMTYsIDI0OCwgMjE2LCAxNDcsIDI5LCAzLCAyMjEsIDE3NywgMjMwLCA0MiwgMjksIDMsIDIzMCwgMzgsIDI5LCAKKyAgICAzLCAyMzAsIDM5LCAyOSwgMywgMjMwLCA0MCwgMjksIDMsIDIyMSwgMTc3LCAyNTEsIDgzLCAyOSwgMywgMjUxLCA4MCwgMjksIAorICAgIDMsIDI1MSwgODEsIDI5LCAzLCAyNTEsIDgyLCAyOSwgMywgMjIxLCAxNzcsIDI0MywgMjEzLCAyOSwgMywgMjQzLCAyMDksIAorICAgIDI5LCAzLCAyNDMsIDIxMCwgMjksIDMsIDI0MywgMjExLCAyOSwgMywgMjIxLCAxNzcsIDIyNCwgMTE0LCAyOSwgMywgMjI0LCAKKyAgICAxMTAsIDI5LCAzLCAyMjQsIDExMSwgMjksIDMsIDIyNCwgMTEyLCAyOSwgMjE2LCAzMSwgMTY0LCAyMTAsIDI0NywgMjksIAorICAgIDIxNiwgMzEsIDE2NCwgMjQ4LCA0MSwgMjksIDIxNiwgMzEsIDE2NCwgMjIyLCAyMzgsIDI5LCAyMTYsIDMxLCAxNjQsIDIxOSwgCisgICAgMjUxLCAyMjIsIDIzOCwgMjksIDIxNiwgMzEsIDE2NCwgMjQ3LCAyMzUsIDI5LCAyMTYsIDMxLCAxNjQsIDIzNCwgMTY0LCAKKyAgICAyOSwgMjE2LCAzMSwgMTY0LCAyNTAsIDk0LCAyOSwgMjE2LCAzMSwgMTY0LCAyNDEsIDE3NywgMjksIDIxNiwgMzEsIDE2NCwgCisgICAgMjQ4LCA0MCwgMjksIDIxNiwgMzEsIDE2NCwgMjMzLCAxOTQsIDE2OSwgMSwgNjEsIDE2OSwgMSwgNzUsIDE2OSwgMSwgNzMsIAorICAgIDE2OSwgMSwgNzYsIDE2OSwgMSwgNzAsIDE2OSwgMSwgMjE0LCAxMDUsIDE2OSwgMSwgMjQzLCAxMzUsIDE2OSwgMSwgMTc2LCAKKyAgICAxNjksIDEsIDI0MywgNjIsIDE2OSwgMSwgMjQyLCAyMTQsIDE2OSwgMSwgMjQyLCAxNzQsIDE2OSwgMSwgMjQyLCAxMTMsIAorICAgIDE2OSwgMSwgMjQyLCA3OSwgMTY5LCAxLCAxNjIsIDE2OSwgMSwgMjQxLCAyMzgsIDE2OSwgMSwgMjQxLCAxODAsIDE2OSwgMSwgCisgICAgMjQxLCA2OCwgMTY5LCAxLCAyNDAsIDIyMiwgMTY5LCAxLCAyNDAsIDIwMSwgMTY5LCAxLCAyMzMsIDEzNSwgMTY5LCAxLCAKKyAgICAyMzMsIDU4LCAxNjksIDEsIDIzMiwgMjQxLCAxNjksIDEsIDIzMiwgMTU2LCAxNjksIDEsIDIzMiwgOTgsIDE2OSwgMSwgCisgICAgMjMyLCA3MSwgMTY5LCAxLCAxODQsIDE2OSwgMSwgMjMxLCA5MSwgMTY5LCAxLCAyMzAsIDIzMCwgMTY5LCAxLCAyMzAsIAorICAgIDE2MSwgMTY5LCAxLCAyMzAsIDEwMiwgMTY5LCAxLCAxOTcsIDE2OSwgMSwgMjQxLCA5MCwgMTY5LCAxLCAyMjksIDIxMywgCisgICAgMTY5LCAxLCAyMjksIDEwNywgMTY5LCAxLCAyMjgsIDIzMywgMTY5LCAxLCAyMjgsIDc0LCAxNjksIDEsIDIyNywgMjM3LCAKKyAgICAxNjksIDEsIDIyNywgMTc2LCAxNjksIDEsIDIyNCwgMjksIDE2OSwgMSwgMjI0LCAxNiwgMTY5LCAxLCAyMjQsIDksIDE2OSwgCisgICAgMSwgMjI0LCAxLCAxNjksIDEsIDIyMywgMjQ2LCAxNjksIDEsIDIyMywgMjQ0LCAxNjksIDEsIDIwNiwgMTY5LCAxLCAyMjIsIAorICAgIDkxLCAxNjksIDEsIDIyMSwgMTgxLCAxNjksIDEsIDIxOSwgMTkxLCAxNjksIDEsIDIxOSwgNTgsIDE2OSwgMSwgMjE4LCA4MywgCisgICAgMTY5LCAxLCAyMTgsIDIsIDE2OSwgMSwgMjQ4LCAyMjEsIDE2OSwgMSwgMjE3LCAxMDUsIDE2OSwgMSwgMjQ4LCA5MCwgMTY5LCAKKyAgICAxLCAyMTcsIDIyLCAxNjksIDEsIDI0OCwgMywgMTY5LCAxLCAyMTYsIDExNywgMTY5LCAxLCAyNDcsIDE0NSwgMTY5LCAxLCAKKyAgICAyNDYsIDc4LCAxNjksIDEsIDI0NiwgNTAsIDE2OSwgMSwgMjQ3LCAxNTYsIDE2OSwgMSwgMjE2LCA1OSwgMTY5LCAxLCAyMTYsIAorICAgIDU4LCAxNjksIDEsIDIxNiwgNDcsIDE2OSwgMSwgMjE2LCA0NiwgMTY5LCAxLCAyMTYsIDQ1LCAxNjksIDEsIDIxNiwgNDQsIAorICAgIDE2OSwgMSwgMjE1LCAxODMsIDE2OSwgMSwgMjE1LCAxNzgsIDE2OSwgMSwgMjE1LCAxNjcsIDE2OSwgMSwgMjE1LCAxNjYsIAorICAgIDE2OSwgMSwgMjE1LCAxNjMsIDE2OSwgMSwgMjE1LCAxNjIsIDE2OSwgMSwgMjEyLCA2NSwgMTY5LCAxLCAyMTIsIDIyLCAKKyAgICAxNjksIDEsIDIxMSwgMjUwLCAxNjksIDEsIDIxMSwgMjI3LCAxNjksIDEsIDIxMSwgMTk1LCAxNjksIDEsIDIxMSwgMTgzLCAKKyAgICAxNjksIDEsIDE5MSwgMTY5LCAxLCAyMTEsIDQ3LCAxNjksIDEsIDIxMSwgOCwgMTY5LCAxLCAyMTAsIDI0NCwgMTY5LCAxLCAKKyAgICAyMTAsIDIxMiwgMTY5LCAxLCAyMTAsIDE3NywgMTgsIDE5LCAyNDAsIDE2OCwgMTgsIDE5LCA3NSwgMTgsIDE5LCAyNTUsIAorICAgIDM3LCAxOCwgMTksIDczLCAxOCwgMTksIDIzNiwgMzMsIDE4LCAxOSwgNzYsIDE4LCAxOSwgMjI2LCAxODMsIDE4LCAxOSwgCisgICAgMjExLCAxMTYsIDIyNiwgMTgzLCAxOCwgMTksIDcyLCAyNDUsIDIwOSwgMTgsIDE5LCA3MiwgNzMsIDE4LCAxOSwgNjEsIDE4LCAKKyAgICAxOSwgMjU1LCA3MywgMTgsIDE5LCAyMTIsIDIyLCAxOCwgMTksIDE1OSwgMjEyLCAyMiwgMTgsIDE5LCAyMTEsIDI1MCwgMTgsIAorICAgIDE5LCAxNTksIDIxMSwgMjUwLCAxOCwgMTksIDIxMSwgMjQyLCAxOCwgMTksIDE1OSwgMjExLCAyNDIsIDE4LCAxOSwgMjExLCAKKyAgICAyMjcsIDE4LCAxOSwgMTU5LCAyMTEsIDIyNywgMTgsIDE5LCAyMTEsIDIxNSwgMTgsIDE5LCAxNTksIDIxMSwgMjE1LCAxOCwgCisgICAgMTksIDIyOSwgMTkwLCAyMTEsIDIxNSwgMTgsIDE5LCAyMTIsIDY1LCAxOCwgMTksIDE1OSwgMjEyLCA2NSwgMTgsIDE5LCAKKyAgICAyMTIsIDY0LCAxOCwgMTksIDE1OSwgMjEyLCA2NCwgMTgsIDE5LCAyMjksIDE5MCwgMjEyLCA2NCwgMTgsIDE5LCAyNTQsIAorICAgIDIwMSwgMTgsIDE5LCAyMTEsIDExNiwgMjEyLCA5OCwgMTgsIDE5LCAyNDIsIDE4MCwgMjE4LCAxMjksIDE4LCAxOSwgNDAsIAorICAgIDE0MiwgMTgsIDE5LCA0MCwgMjQyLCAxMzYsIDE4LCAxOSwgNDAsIDI1MSwgMTc1LCAxNjMsIDIyMiwgMjMzLCAxOCwgMTksIAorICAgIDQwLCAyMTYsIDE0LCAxNjMsIDIyMiwgMjMzLCAxOCwgMTksIDQwLCA0NCwgMTYzLCAyMjIsIDIzMywgMTgsIDE5LCA0MCwgCisgICAgMjIyLCAyMzMsIDE4LCAxOSwgNDAsIDUyLCAxNDIsIDE4LCAxOSwgNDAsIDUyLCAyMTksIDI1MSwgNjcsIDIxOCwgOTAsIDE4LCAKKyAgICAxOSwgNDAsIDIzMCwgMjI0LCAyNDcsIDEyMCwgMTgsIDE5LCA0MCwgMjE5LCAyNTEsIDIwMywgOTEsIDE4LCAxOSwgNDAsIAorICAgIDIyNSwgMjIsIDE4LCAxOSwgNDAsIDEyNCwgMjE3LCA4NywgMTgsIDE5LCAyNDUsIDE1MCwgMTgsIDE5LCAyMzUsIDI1NSwgCisgICAgMTgsIDE5LCAyMjYsIDE5NiwgMTgsIDE5LCAyNTQsIDEyMywgMTgsIDE5LCAyMjUsIDIyMSwgMTgsIDE5LCAyMjYsIDg3LCAKKyAgICAxOCwgMTksIDIyNSwgMTA4LCAxOCwgMTksIDIyNSwgNzEsIDE4LCAxOSwgMjI1LCAxNiwgMTgsIDE5LCAyMjQsIDI0OSwgMTgsIAorICAgIDE5LCAyMTEsIDExNiwgMjI0LCAyNDksIDE4LCAxOSwgNzIsIDI0MSwgMjIwLCAxOCwgMTksIDcyLCAyNDEsIDE4MCwgMTgsIAorICAgIDE5LCAxOTAsIDE4LCAxOSwgMjI2LCA4OSwgMTgsIDE5LCAyMjQsIDExMiwgMTgsIDE5LCAxNTksIDIyNCwgMTEyLCAxOCwgCisgICAgMTksIDIyNCwgMTEwLCAxOCwgMTksIDE1OSwgMjI0LCAxMTAsIDE4LCAxOSwgMjI0LCAxMDksIDE4LCAxOSwgMTU5LCAyMjQsIAorICAgIDEwOSwgMTgsIDE5LCAyMjQsIDEwNywgMTgsIDE5LCAxNTksIDIyNCwgMTA3LCAxOCwgMTksIDIyNCwgMTA2LCAxOCwgMTksIAorICAgIDE1OSwgMjI0LCAxMDYsIDE4LCAxOSwgMjI0LCAxMTQsIDE4LCAxOSwgMTU5LCAyMjQsIDExNCwgMTgsIDE5LCAyMjQsIDExMywgCisgICAgMTgsIDE5LCAxNTksIDIyNCwgMTEzLCAxOCwgMTksIDIxMSwgMTE2LCAyMjQsIDExMywgMTgsIDE5LCAyMjYsIDEwNSwgMTgsIAorICAgIDE5LCAxNTksIDIyNiwgMTA1LCAxOCwgMTksIDcyLCAyNDIsIDYwLCAxOCwgMTksIDIxNywgMjIsIDE4LCAxOSwgMjE3LCA5OSwgCisgICAgMTgsIDE5LCAyMTYsIDExNywgMTgsIDE5LCAyMTYsIDEwMywgMTgsIDE5LCAxMTEsIDE4LCAxOSwgMjE2LCAxNywgMTgsIDE5LCAKKyAgICAyMTEsIDExNiwgMjE2LCAxNywgMTgsIDE5LCA3MiwgMjQ4LCA3NywgMTgsIDE5LCA3MiwgMjQ4LCAzLCAxOCwgMTksIDIxNywgCisgICAgMTA1LCAxOCwgMTksIDIxNywgMTAxLCAxOCwgMTksIDIxNSwgNzgsIDE4LCAxOSwgMTU5LCAyMTUsIDc4LCAxOCwgMTksIAorICAgIDIxNSwgNjIsIDE4LCAxOSwgMTU5LCAyMTUsIDYyLCAxOCwgMTksIDIxNSwgNjEsIDE4LCAxOSwgMTU5LCAyMTUsIDYxLCAxOCwgCisgICAgMTksIDEwNSwgMTgsIDE5LCAxNTksIDEwNSwgMTgsIDE5LCAyMTUsIDU0LCAxOCwgMTksIDE1OSwgMjE1LCA1NCwgMTgsIDE5LCAKKyAgICAyMTUsIDgwLCAxOCwgMTksIDE1OSwgMjE1LCA4MCwgMTgsIDE5LCAyMTUsIDc5LCAxOCwgMTksIDE1OSwgMjE1LCA3OSwgMTgsIAorICAgIDE5LCAyMjksIDE5MCwgMjE1LCA3OSwgMTgsIDE5LCAyMTcsIDE1MiwgMTgsIDE5LCAyMTUsIDE1MSwgMTgsIDE5LCAyMTUsIAorICAgIDEzNSwgMTgsIDE5LCAyMTUsIDEzMywgMTgsIDE5LCAyMTUsIDE1NiwgMTgsIDE5LCAyMzQsIDE4MiwgMTgsIDE5LCAyMzUsIAorICAgIDcsIDE4LCAxOSwgMjM0LCA5MiwgMTgsIDE5LCAyMzQsIDgzLCAxOCwgMTksIDIzNCwgMjgsIDE4LCAxOSwgMjM0LCAxMCwgCisgICAgMTgsIDE5LCAyMTEsIDExNiwgMjM0LCAxMCwgMTgsIDE5LCAxNzYsIDE4LCAxOSwgMjM1LCAxMCwgMTgsIDE5LCAyMzMsIAorICAgIDE3OCwgMTgsIDE5LCAxNTksIDIzMywgMTc4LCAxOCwgMTksIDIzMywgMTc2LCAxOCwgMTksIDE1OSwgMjMzLCAxNzYsIDE4LCAKKyAgICAxOSwgMjMzLCAxNzUsIDE4LCAxOSwgMTU5LCAyMzMsIDE3NSwgMTgsIDE5LCAyMzMsIDE3NCwgMTgsIDE5LCAxNTksIDIzMywgCisgICAgMTc0LCAxOCwgMTksIDIzMywgMTczLCAxOCwgMTksIDE1OSwgMjMzLCAxNzMsIDE4LCAxOSwgMjMzLCAxODIsIDE4LCAxOSwgCisgICAgMTU5LCAyMzMsIDE4MiwgMTgsIDE5LCAyMzMsIDE4MSwgMTgsIDE5LCAxNTksIDIzMywgMTgxLCAxOCwgMTksIDIyOSwgMTkwLCAKKyAgICAyMzMsIDE4MSwgMTgsIDE5LCAyMzUsIDIzLCAxOCwgMTksIDIzMywgMTgzLCAxOCwgMTksIDIxOSwgMjcsIDIzNCwgMTc2LCAKKyAgICAxOCwgMTksIDIxOSwgMjcsIDIzNCwgODQsIDE4LCAxOSwgMjE5LCAyNywgMjM0LCAyMywgMTgsIDE5LCAyMTksIDI3LCAyMzQsIAorICAgIDI0OCwgMTgsIDE5LCAyNTAsIDE5MCwgMTgsIDE5LCAyNTEsIDMxLCAxOCwgMTksIDI1MCwgNTEsIDE4LCAxOSwgMjUwLCA0MSwgCisgICAgMTgsIDE5LCAyNDksIDIzOCwgMTgsIDE5LCAyNDksIDE3NCwgMTgsIDE5LCAyMTEsIDExNiwgMjQ5LCAxNzQsIDE4LCAxOSwgCisgICAgMjUxLCAzMywgMTgsIDE5LCAyNTEsIDMyLCAxOCwgMTksIDI0OSwgNzksIDE4LCAxOSwgMTU5LCAyNDksIDc5LCAxOCwgMTksIAorICAgIDI0OSwgNzcsIDE4LCAxOSwgMTU5LCAyNDksIDc3LCAxOCwgMTksIDI0OSwgNzYsIDE4LCAxOSwgMTU5LCAyNDksIDc2LCAxOCwgCisgICAgMTksIDI0OSwgNzUsIDE4LCAxOSwgMTU5LCAyNDksIDc1LCAxOCwgMTksIDI0OSwgNzQsIDE4LCAxOSwgMTU5LCAyNDksIDc0LCAKKyAgICAxOCwgMTksIDI0OSwgODEsIDE4LCAxOSwgMTU5LCAyNDksIDgxLCAxOCwgMTksIDI0OSwgODAsIDE4LCAxOSwgMTU5LCAyNDksIAorICAgIDgwLCAxOCwgMTksIDIyOSwgMTkwLCAyNDksIDgwLCAxOCwgMTksIDI1MSwgNjYsIDE4LCAxOSwgMjIxLCAyMDksIDIxNiwgCisgICAgMjEwLCAxOCwgMTksIDIzMSwgOTEsIDE4LCAxOSwgMjMxLCAyMzYsIDE4LCAxOSwgMjMwLCAyMzAsIDE4LCAxOSwgMjMwLCAKKyAgICAyMDEsIDE4LCAxOSwgMjMwLCAxNjEsIDE4LCAxOSwgMjMwLCAxMzIsIDE4LCAxOSwgMjExLCAxMTYsIDIzMCwgMTMyLCAxOCwgCisgICAgMTksIDE4NCwgMTgsIDE5LCAyMzEsIDIzNywgMTgsIDE5LCAyMzAsIDQwLCAxOCwgMTksIDE1OSwgMjMwLCA0MCwgMTgsIDE5LCAKKyAgICAyMzAsIDM4LCAxOCwgMTksIDE1OSwgMjMwLCAzOCwgMTgsIDE5LCAyMzAsIDM3LCAxOCwgMTksIDE1OSwgMjMwLCAzNywgMTgsIAorICAgIDE5LCAyMzAsIDM2LCAxOCwgMTksIDE1OSwgMjMwLCAzNiwgMTgsIDE5LCAyMzAsIDM1LCAxOCwgMTksIDE1OSwgMjMwLCAzNSwgCisgICAgMTgsIDE5LCAyMzAsIDQyLCAxOCwgMTksIDE1OSwgMjMwLCA0MiwgMTgsIDE5LCAyMzAsIDQxLCAxOCwgMTksIDE1OSwgMjMwLCAKKyAgICA0MSwgMTgsIDE5LCAyMjksIDE5MCwgMjMwLCA0MSwgMTgsIDE5LCAxOTMsIDE4LCAxOSwgMTU5LCAxOTMsIDE4LCAxOSwgCisgICAgMjMwLCAyMzQsIDE4LCAxOSwgMjUzLCAyMDUsIDE5MywgMTgsIDE5LCAyMjEsIDIwOSwgMTkzLCAxOCwgMTksIDIyOSwgMTA3LCAKKyAgICAxOCwgMTksIDIyOSwgMjI0LCAxOCwgMTksIDIyOCwgMjMzLCAxOCwgMTksIDIyOCwgMjA4LCAxOCwgMTksIDIyOCwgNzQsIAorICAgIDE4LCAxOSwgMjI4LCA2NCwgMTgsIDE5LCAyMTEsIDExNiwgMjI4LCA2NCwgMTgsIDE5LCAxOTcsIDE4LCAxOSwgMjI5LCAKKyAgICAyMjUsIDE4LCAxOSwgMjI3LCAxNzIsIDE4LCAxOSwgMTU5LCAyMjcsIDE3MiwgMTgsIDE5LCAyMjcsIDE3NCwgMTgsIDE5LCAKKyAgICAxNTksIDIyNywgMTc0LCAxOCwgMTksIDIyNywgMTczLCAxOCwgMTksIDE1OSwgMjI3LCAxNzMsIDE4LCAxOSwgMjI5LCAxOTAsIAorICAgIDIyNywgMTczLCAxOCwgMTksIDIzMCwgMjUsIDE4LCAxOSwgNzIsIDIyOSwgNzksIDE4LCAxOSwgMjI4LCAyMzgsIDE4LCAxOSwgCisgICAgMjMzLCA1OCwgMTgsIDE5LCAyMzMsIDEzMywgMTgsIDE5LCAyMzIsIDI0MSwgMTgsIDE5LCAyMzIsIDIyNywgMTgsIDE5LCAKKyAgICAyMzIsIDE1NiwgMTgsIDE5LCAyMzIsIDEyNywgMTgsIDE5LCAyMTEsIDExNiwgMjMyLCAxMjcsIDE4LCAxOSwgMjMzLCAxMzUsIAorICAgIDE4LCAxOSwgMjMzLCAxMzQsIDE4LCAxOSwgMjMyLCA2OCwgMTgsIDE5LCAxNTksIDIzMiwgNjgsIDE4LCAxOSwgMjMyLCA2NywgCisgICAgMTgsIDE5LCAxNTksIDIzMiwgNjcsIDE4LCAxOSwgMjMyLCA2NiwgMTgsIDE5LCAxNTksIDIzMiwgNjYsIDE4LCAxOSwgMjMyLCAKKyAgICA2NSwgMTgsIDE5LCAxNTksIDIzMiwgNjUsIDE4LCAxOSwgMjMyLCA2NCwgMTgsIDE5LCAxNTksIDIzMiwgNjQsIDE4LCAxOSwgCisgICAgMjMyLCA3MCwgMTgsIDE5LCAxNTksIDIzMiwgNzAsIDE4LCAxOSwgMjMyLCA2OSwgMTgsIDE5LCAxNTksIDIzMiwgNjksIDE4LCAKKyAgICAxOSwgMTU2LCAxOCwgMTksIDE1OSwgMTU2LCAxOCwgMTksIDE0NywgMTU2LCAxOCwgMTksIDIyMSwgMTgxLCAxOCwgMTksIAorICAgIDIyMiwgMjksIDE4LCAxOSwgMjE5LCAxOTEsIDE4LCAxOSwgMjE5LCAxNzUsIDE4LCAxOSwgMjE5LCA1OCwgMTgsIDE5LCAKKyAgICAyMTksIDQwLCAxOCwgMTksIDIxMSwgMTE2LCAyMTksIDQwLCAxOCwgMTksIDIwNiwgMTgsIDE5LCAyMjIsIDMxLCAxOCwgMTksIAorICAgIDIxNywgMjQ5LCAxOCwgMTksIDE1OSwgMjE3LCAyNDksIDE4LCAxOSwgMjE3LCAyNDMsIDE4LCAxOSwgMTU5LCAyMTcsIDI0MywgCisgICAgMTgsIDE5LCAyMTcsIDI0MiwgMTgsIDE5LCAxNTksIDIxNywgMjQyLCAxOCwgMTksIDIxNywgMjM4LCAxOCwgMTksIDE1OSwgCisgICAgMjE3LCAyMzgsIDE4LCAxOSwgMjE3LCAyMzcsIDE4LCAxOSwgMTU5LCAyMTcsIDIzNywgMTgsIDE5LCAyMTcsIDI1MywgMTgsIAorICAgIDE5LCAxNTksIDIxNywgMjUzLCAxOCwgMTksIDIxNywgMjUyLCAxOCwgMTksIDE1OSwgMjE3LCAyNTIsIDE4LCAxOSwgMjI5LCAKKyAgICAxOTAsIDIxNywgMjUyLCAxOCwgMTksIDIyMiwgOTEsIDE4LCAxOSwgMjUzLCAyMDUsIDIyMiwgOTEsIDE4LCAxOSwgMjE3LCAKKyAgICAyNTQsIDE4LCAxOSwgMjUxLCAyMTgsIDIyMiwgOTEsIDE4LCAxOSwgMjMwLCAxMjcsIDIxOSwgMTA4LCAxOCwgMTksIDIyOSwgCisgICAgMTkwLCAyMTksIDk5LCAxOCwgMTksIDIyOSwgMTkwLCAyMjIsIDg5LCAxOCwgMTksIDIyOSwgMTkwLCAyMTgsIDIzNSwgMTgsIAorICAgIDE5LCAyMjksIDE5MCwgMjE4LCA4NiwgMTgsIDE5LCAyMjksIDE5MCwgMjE5LCA5OCwgMTgsIDE5LCAyMjksIDE5MCwgMjIxLCAKKyAgICAxODQsIDE4LCAxOSwgMjIwLCA2MywgMTgsIDE5LCAyMjAsIDMyLCAxOCwgMTksIDIyMCwgMjcsIDE4LCAxOSwgMjIwLCA3LCAKKyAgICAxOCwgMTksIDIyMCwgMSwgMTgsIDE5LCAyMjAsIDEwMiwgMTgsIDE5LCAyMjAsIDk4LCAxOCwgMTksIDIxOSwgMjA2LCAxOCwgCisgICAgMTksIDE1OSwgMjE5LCAyMDYsIDE4LCAxOSwgMjE5LCAyMDUsIDE4LCAxOSwgMTU5LCAyMTksIDIwNSwgMTgsIDE5LCAyMTksIAorICAgIDIwNCwgMTgsIDE5LCAxNTksIDIxOSwgMjA0LCAxOCwgMTksIDIxOSwgMjAzLCAxOCwgMTksIDE1OSwgMjE5LCAyMDMsIDE4LCAKKyAgICAxOSwgMjE5LCAyMDIsIDE4LCAxOSwgMTU5LCAyMTksIDIwMiwgMTgsIDE5LCAyMTksIDIwOCwgMTgsIDE5LCAxNTksIDIxOSwgCisgICAgMjA4LCAxOCwgMTksIDIxOSwgMjA3LCAxOCwgMTksIDE1OSwgMjE5LCAyMDcsIDE4LCAxOSwgMjIwLCAxMDQsIDE4LCAxOSwgCisgICAgMjExLCA0NywgMTgsIDE5LCAyMTEsIDEwMSwgMTgsIDE5LCAyMTEsIDgsIDE4LCAxOSwgMjEwLCAyNTUsIDE4LCAxOSwgMjEwLCAKKyAgICAyNDQsIDE4LCAxOSwgMjEwLCAyMjksIDE4LCAxOSwgMjExLCAxMTYsIDIxMCwgMjI5LCAxOCwgMTksIDE5MSwgMTgsIDE5LCAKKyAgICAyMTEsIDEwMywgMTgsIDE5LCAyMTAsIDE3NCwgMTgsIDE5LCAxNTksIDIxMCwgMTc0LCAxOCwgMTksIDIxMCwgMTczLCAxOCwgCisgICAgMTksIDE1OSwgMjEwLCAxNzMsIDE4LCAxOSwgMjEwLCAxNzIsIDE4LCAxOSwgMTU5LCAyMTAsIDE3MiwgMTgsIDE5LCAyMTAsIAorICAgIDE3MSwgMTgsIDE5LCAxNTksIDIxMCwgMTcxLCAxOCwgMTksIDIxMCwgMTcwLCAxOCwgMTksIDE1OSwgMjEwLCAxNzAsIDE4LCAKKyAgICAxOSwgMjEwLCAxNzYsIDE4LCAxOSwgMTU5LCAyMTAsIDE3NiwgMTgsIDE5LCAyMTAsIDE3NSwgMTgsIDE5LCAxNTksIDIxMCwgCisgICAgMTc1LCAxOCwgMTksIDIyOSwgMTkwLCAyMTAsIDE3NSwgMTgsIDE5LCAyMTEsIDExNywgMTgsIDE5LCAyNTIsIDQsIDIxMSwgCisgICAgMTE3LCAxOCwgMTksIDE1OSwgMjExLCAxMTcsIDE4LCAxOSwgMjIxLCAyMDksIDIxMSwgOCwgMTgsIDE5LCAyMjMsIDEyOCwgCisgICAgMTgsIDE5LCAyMjMsIDIyMywgMjIzLCAxMjgsIDE4LCAxOSwgMTU5LCAyMzMsIDU4LCAxOCwgMTksIDIyMywgMTgzLCAxOCwgCisgICAgMTksIDIyMywgMzUsIDE4LCAxOSwgMjIyLCAyMzksIDE4LCAxOSwgMjIyLCAyMTEsIDE4LCAxOSwgMjIyLCAxOTcsIDE4LCAKKyAgICAxOSwgMTU5LCAyMzIsIDE1NiwgMTgsIDE5LCAyMDUsIDE4LCAxOSwgMjIzLCAxODQsIDE4LCAxOSwgMTU5LCAyMzMsIDEzNSwgCisgICAgMTgsIDE5LCAyMjIsIDEwOCwgMTgsIDE5LCAxNTksIDIyMiwgMTA4LCAxOCwgMTksIDE1MywgMTgsIDE5LCAxNTksIDE1MywgCisgICAgMTgsIDE5LCAxNDcsIDE1MywgMTgsIDE5LCAyNDQsIDE1NCwgMTgsIDE5LCAyNDQsIDE5MywgMTgsIDE5LCAyNDQsIDEyMSwgCisgICAgMTgsIDE5LCAyNDQsIDEwOCwgMTgsIDE5LCAyNDQsIDQzLCAxOCwgMTksIDI0NCwgMzQsIDE4LCAxOSwgMjQ0LCAxOTYsIDE4LCAKKyAgICAxOSwgMjQ0LCAxOTUsIDE4LCAxOSwgMjQzLCAyMTIsIDE4LCAxOSwgMTU5LCAyNDMsIDIxMiwgMTgsIDE5LCAyNDUsIDYsIAorICAgIDE4LCAxOSwgMjE2LCAxOTUsIDE4LCAxOSwgMjMwLCAyMywgMjE2LCAxOTUsIDE4LCAxOSwgMjE2LCAxNzUsIDE4LCAxOSwgCisgICAgMjMwLCAyMywgMjE2LCAxNzUsIDE4LCAxOSwgMjE2LCAxNzEsIDE4LCAxOSwgMjMwLCAyMywgMjE2LCAxNzEsIDE4LCAxOSwgCisgICAgMjE2LCAxNTYsIDE4LCAxOSwgMjE2LCAxNTMsIDE4LCAxOSwgMjE2LCAyMDgsIDE4LCAxOSwgMjE2LCAyMDcsIDE4LCAxOSwgCisgICAgMjE2LCAxMjcsIDE4LCAxOSwgMTU5LCAyMTYsIDEyNywgMTgsIDE5LCAyMTYsIDIxMCwgMTgsIDE5LCAyMTUsIDE0MiwgMTgsIAorICAgIDE5LCAyMTUsIDE0MCwgMTgsIDE5LCAyMTUsIDEzOSwgMTgsIDE5LCAyMTUsIDE0NCwgMTgsIDE5LCAyMTUsIDE0NSwgMTgsIAorICAgIDE5LCAyMTUsIDUyLCAxOCwgMTksIDIxNSwgNTEsIDE4LCAxOSwgMjE1LCA1MCwgMTgsIDE5LCAyMTUsIDUzLCAxOCwgMTksIAorICAgIDIyNywgMTkzLCAyNDEsIDIzOCwgMTgsIDE5LCAyMjcsIDE5MywgMjQxLCAxODAsIDE4LCAxOSwgMjI3LCAxOTMsIDI0MSwgCisgICAgMTYxLCAxOCwgMTksIDIyNywgMTkzLCAyNDEsIDY4LCAxOCwgMTksIDIyNywgMTkzLCAyNDEsIDUzLCAxOCwgMTksIDIyNywgCisgICAgMTkzLCAxNjIsIDE4LCAxOSwgMjI3LCAxOTMsIDI0MiwgNDYsIDE4LCAxOSwgMjI3LCAxOTMsIDI0MiwgNjAsIDE4LCAxOSwgCisgICAgMjI3LCAxOTIsIDI0MiwgNjAsIDE4LCAxOSwgMjQxLCAxNTQsIDE4LCAxOSwgMjI0LCA4NCwgMTgsIDE5LCAyMjQsIDUzLCAKKyAgICAxOCwgMTksIDIyNCwgNDgsIDE4LCAxOSwgMjI0LCA0MiwgMTgsIDE5LCAyMjQsIDM3LCAxOCwgMTksIDIyNCwgODgsIDE4LCAKKyAgICAxOSwgMjI0LCA4NywgMTgsIDE5LCAyMjQsIDk2LCAxOCwgMTksIDIxNiwgNTUsIDE4LCAxOSwgMjE2LCA1MywgMTgsIDE5LCAKKyAgICAyMTYsIDUyLCAxOCwgMTksIDIxNiwgNTYsIDE4LCAxOSwgMTU5LCAyMjMsIDEyOCwgMTgsIDE5LCAxNTksIDIyMywgMzUsIAorICAgIDE4LCAxOSwgMTU5LCAyMjIsIDIxMSwgMTgsIDE5LCAxNTksIDIwNSwgMTgsIDE5LCAyMjksIDc1LCAxOCwgMTksIDIyOSwgCisgICAgMjcsIDE4LCAxOSwgMjI5LCAyMywgMTgsIDE5LCAyMjksIDQsIDE4LCAxOSwgMjI4LCAyNTUsIDE4LCAxOSwgMjI5LCA3NywgCisgICAgMTgsIDE5LCAyMjksIDc2LCAxOCwgMTksIDIyOSwgNzksIDE4LCAxOSwgMjI4LCAxMDMsIDE4LCAxOSwgMjIxLCAyMDksIAorICAgIDIyMCwgNjMsIDE4LCAxOSwgMjIxLCAyMDksIDIyMCwgMzIsIDE4LCAxOSwgMjIxLCAyMDksIDIyMCwgNywgMTgsIDE5LCAKKyAgICAyMjEsIDIwOSwgMjIwLCAxMDIsIDE4LCAxOSwgMjExLCAyMTMsIDIxNiwgMTk1LCAxOCwgMTksIDIxMSwgMjEzLCAyMTYsIAorICAgIDE3NSwgMTgsIDE5LCAyMTEsIDIxMywgMjE2LCAxNTYsIDE4LCAxOSwgMjExLCAyMTMsIDIxNiwgMjA4LCAxOCwgMTksIDIxMSwgCisgICAgMjEzLCAyMTYsIDIxMCwgMTgsIDE5LCAyMzIsIDI0OCwgMTgsIDE5LCAyMzIsIDI0NywgMTgsIDE5LCAyMzIsIDI0NiwgMTgsIAorICAgIDE5LCAyMzIsIDI0NSwgMTgsIDE5LCAyMzIsIDI1NCwgMTgsIDE5LCAyMzIsIDI1MywgMTgsIDE5LCAyMzIsIDI1NSwgMTgsIAorICAgIDE5LCAyMTYsIDIwOSwgMjE2LCAxOTUsIDE4LCAxOSwgMjE2LCAyMDksIDIxNiwgMTc1LCAxOCwgMTksIDIxNiwgMjA5LCAKKyAgICAyMTYsIDE3MSwgMTgsIDE5LCAyMTYsIDIwOSwgMjE2LCAxNTYsIDE4LCAxOSwgMjE2LCAyMDksIDIxNiwgMTUzLCAxOCwgMTksIAorICAgIDIxNiwgMjA5LCAyMTYsIDIwOCwgMTgsIDE5LCAyMTYsIDIwOSwgMjE2LCAyMDcsIDE4LCAxOSwgMjE2LCAyMDksIDIxNiwgCisgICAgMjEwLCAxOCwgMTksIDI1NCwgMTg5LCAyNTMsIDE1OCwgMTgsIDE5LCAyNTEsIDIxOCwgNzUsIDE4LCAxOSwgMjUxLCAyMTgsIAorICAgIDczLCAxOCwgMTksIDI1MSwgMjE4LCA3NiwgMTgsIDE5LCAyNTEsIDIxOCwgNjEsIDE4LCAxOSwgMjUxLCAyMTgsIDIxMiwgCisgICAgMjIsIDE4LCAxOSwgMjUxLCAyMTgsIDIxMSwgMjUwLCAxOCwgMTksIDI1MSwgMjE4LCAyMTEsIDIyNywgMTgsIDE5LCAyNTEsIAorICAgIDIxOCwgMjEyLCA2NSwgMTgsIDE5LCAyNTEsIDIxOCwgMjI5LCAxMDcsIDE4LCAxOSwgMjUxLCAyMTgsIDIyOCwgMjMzLCAxOCwgCisgICAgMTksIDI1MSwgMjE4LCAyMjgsIDc0LCAxOCwgMTksIDI1MSwgMjE4LCAxOTcsIDE4LCAxOSwgMjUxLCAyMTgsIDIzNCwgMTgyLCAKKyAgICAxOCwgMTksIDI1MSwgMjE4LCAyMzQsIDkyLCAxOCwgMTksIDI1MSwgMjE4LCAyMzQsIDI4LCAxOCwgMTksIDI1MSwgMjE4LCAKKyAgICAxNzYsIDE4LCAxOSwgMjIxLCAyMDksIDI0MSwgMjM4LCAxOCwgMTksIDIyMSwgMjA5LCAyNDEsIDE4MCwgMTgsIDE5LCAyMjEsIAorICAgIDIwOSwgMjQxLCA2OCwgMTgsIDE5LCAyMjEsIDIwOSwgMTYyLCAxOCwgMTksIDcyLCAyNDIsIDIyMCwgMTgsIDE5LCA3MiwgCisgICAgMjQyLCAyMjQsIDE4LCAxOSwgNzIsIDI0MiwgMjM2LCAxOCwgMTksIDcyLCAyNDIsIDIzNSwgMTgsIDE5LCA3MiwgMjQyLCAKKyAgICAyMjUsIDE4LCAxOSwgNzIsIDI0MiwgMjQ5LCAxOCwgMTksIDcyLCAyMjIsIDE0MCwgMTgsIDE5LCA3MiwgMjIyLCAyMTEsIAorICAgIDE4LCAxOSwgNzIsIDIyMywgMTI4LCAxOCwgMTksIDcyLCAyMjMsIDEwOCwgMTgsIDE5LCA3MiwgMjIzLCAzNSwgMTgsIDE5LCAKKyAgICA3MiwgMjA1LCAxOCwgMTksIDcyLCAyMTEsIDE5NSwgMTgsIDE5LCA3MiwgMjExLCAyMjcsIDE4LCAxOSwgNzIsIDIxMiwgMjIsIAorICAgIDE4LCAxOSwgNzIsIDIxMiwgMTcsIDE4LCAxOSwgNzIsIDIxMSwgMjUwLCAxOCwgMTksIDcyLCAyMTIsIDY1LCAxOCwgMTksIAorICAgIDcyLCAyNDAsIDE5NCwgMTgsIDE5LCA3MiwgMjQwLCAxOTUsIDE4LCAxOSwgNzIsIDI0MCwgMTk4LCAxOCwgMTksIDcyLCAKKyAgICAyNDAsIDE5NywgMTgsIDE5LCA3MiwgMjQwLCAxOTYsIDE4LCAxOSwgNzIsIDI0MCwgMjAwLCAxOCwgMTksIDcyLCAyMTYsIAorICAgIDEzNiwgMTgsIDE5LCA3MiwgMjE2LCAxNTYsIDE4LCAxOSwgNzIsIDIxNiwgMTk1LCAxOCwgMTksIDcyLCAyMTYsIDE5NCwgCisgICAgMTgsIDE5LCA3MiwgMjE2LCAxNzUsIDE4LCAxOSwgNzIsIDIxNiwgMjA4LCAxOCwgMTksIDcyLCAyMTUsIDEyMywgMTgsIDE5LCAKKyAgICA3MiwgMjE1LCAxMzMsIDE4LCAxOSwgNzIsIDIxNSwgMTUxLCAxOCwgMTksIDcyLCAyMTUsIDE1MCwgMTgsIDE5LCA3MiwgCisgICAgMjE1LCAxMzUsIDE4LCAxOSwgNzIsIDIxNSwgMTU2LCAxOCwgMTksIDcyLCAyMjQsIDE1MCwgMTgsIDE5LCA3MiwgMjI1LCAKKyAgICAxNiwgMTgsIDE5LCA3MiwgMjI1LCAyMjEsIDE4LCAxOSwgNzIsIDIyNSwgMjExLCAxOCwgMTksIDcyLCAyMjUsIDEwOCwgMTgsIAorICAgIDE5LCA3MiwgMTkwLCAxOCwgMTksIDcyLCAyMjYsIDEwNSwgMTgsIDE5LCA3MiwgMjQyLCAxMTMsIDE4LCAxOSwgNzIsIDI0MiwgCisgICAgMTc0LCAxOCwgMTksIDcyLCAyNDMsIDYyLCAxOCwgMTksIDcyLCAyNDMsIDU1LCAxOCwgMTksIDcyLCAyNDIsIDIxNCwgMTgsIAorICAgIDE5LCA3MiwgMjQzLCAxMzUsIDE4LCAxOSwgNzIsIDIzNCwgMTAwLCAxOCwgMTksIDcyLCAyMzQsIDEwNSwgMTgsIDE5LCA3MiwgCisgICAgMjM0LCAxMTksIDE4LCAxOSwgNzIsIDIzNCwgMTE4LCAxOCwgMTksIDcyLCAyMzQsIDExMiwgMTgsIDE5LCA3MiwgMjM0LCAKKyAgICAxMzIsIDE4LCAxOSwgNzIsIDIzNCwgNDEsIDE4LCAxOSwgNzIsIDIzNCwgNDIsIDE4LCAxOSwgNzIsIDIzNCwgNDUsIDE4LCAKKyAgICAxOSwgNzIsIDIzNCwgNDQsIDE4LCAxOSwgNzIsIDIzNCwgNDMsIDE4LCAxOSwgNzIsIDIzNCwgNDYsIDE4LCAxOSwgNzIsIAorICAgIDIzNCwgNDcsIDE4LCAxOSwgNzIsIDIyNywgMjM3LCAxOCwgMTksIDcyLCAyMjgsIDc0LCAxOCwgMTksIDcyLCAyMjksIDEwNywgCisgICAgMTgsIDE5LCA3MiwgMjI5LCAxMDMsIDE4LCAxOSwgNzIsIDIyOCwgMjMzLCAxOCwgMTksIDcyLCAxOTcsIDE4LCAxOSwgNzIsIAorICAgIDIzMCwgMTAyLCAxOCwgMTksIDcyLCAyMzAsIDE2MSwgMTgsIDE5LCA3MiwgMjMxLCA5MSwgMTgsIDE5LCA3MiwgMjMxLCA4MCwgCisgICAgMTgsIDE5LCA3MiwgMjMwLCAyMzAsIDE4LCAxOSwgNzIsIDE4NCwgMTgsIDE5LCA3MiwgMjEwLCAyMTIsIDE4LCAxOSwgNzIsIAorICAgIDIxMCwgMjQ0LCAxOCwgMTksIDcyLCAyMTEsIDQ3LCAxOCwgMTksIDcyLCAyMTEsIDQ0LCAxOCwgMTksIDcyLCAyMTEsIDgsIAorICAgIDE4LCAxOSwgNzIsIDE5MSwgMTgsIDE5LCA3MiwgMjM1LCA1MSwgMTgsIDE5LCAyMjEsIDIwOSwgMjM1LCA1MSwgMTgsIDE5LCAKKyAgICA3MiwgMjM1LCA2OCwgMTgsIDE5LCA3MiwgMjM1LCAxMjYsIDE4LCAxOSwgNzIsIDIzNSwgMTI0LCAxOCwgMTksIDcyLCAyMzUsIAorICAgIDEwOCwgMTgsIDE5LCAyMjEsIDIwOSwgMjM1LCAxMDgsIDE4LCAxOSwgNzIsIDIzNSwgMTQxLCAxOCwgMTksIDcyLCAyMzUsIAorICAgIDgxLCAxOCwgMTksIDcyLCAyMzUsIDg1LCAxOCwgMTksIDcyLCAyMzUsIDk1LCAxOCwgMTksIDcyLCAyMzUsIDk0LCAxOCwgCisgICAgMTksIDcyLCAyMzUsIDkzLCAxOCwgMTksIDcyLCAyMzUsIDk2LCAxOCwgMTksIDcyLCAyMzIsIDk4LCAxOCwgMTksIDcyLCAKKyAgICAyMzIsIDE1NiwgMTgsIDE5LCA3MiwgMjMzLCA1OCwgMTgsIDE5LCA3MiwgMjMzLCA1MCwgMTgsIDE5LCA3MiwgMjMyLCAyNDEsIAorICAgIDE4LCAxOSwgNzIsIDIzMywgMTM1LCAxOCwgMTksIDcyLCAyNDcsIDE0OSwgMTgsIDE5LCA3MiwgMjQ3LCAxNTAsIDE4LCAxOSwgCisgICAgNzIsIDI0NywgMTU1LCAxOCwgMTksIDcyLCAyNDcsIDE1NCwgMTgsIDE5LCA3MiwgMjQ3LCAxNTEsIDE4LCAxOSwgNzIsIAorICAgIDI0NywgMTU2LCAxOCwgMTksIDcyLCAyMzIsIDI0NCwgMTgsIDE5LCA3MiwgMjMyLCAyNDYsIDE4LCAxOSwgNzIsIDIzMiwgCisgICAgMjUwLCAxOCwgMTksIDcyLCAyMzIsIDI0OSwgMTgsIDE5LCA3MiwgMjMyLCAyNDgsIDE4LCAxOSwgNzIsIDIzMiwgMjU0LCAKKyAgICAxOCwgMTksIDcyLCAyMTYsIDUwLCAxOCwgMTksIDcyLCAyMTYsIDUyLCAxOCwgMTksIDcyLCAyMTYsIDU1LCAxOCwgMTksIAorICAgIDcyLCAyMTYsIDU0LCAxOCwgMTksIDcyLCAyMTYsIDUzLCAxOCwgMTksIDcyLCAyMTYsIDU2LCAxOCwgMTksIDcyLCAyMTYsIAorICAgIDQ1LCAxOCwgMTksIDcyLCAyMTYsIDQ2LCAxOCwgMTksIDcyLCAyMTYsIDU4LCAxOCwgMTksIDcyLCAyMTYsIDU3LCAxOCwgCisgICAgMTksIDcyLCAyMTYsIDQ3LCAxOCwgMTksIDcyLCAyMTYsIDU5LCAxOCwgMTksIDcyLCAyMTAsIDEzLCAxOCwgMTksIDcyLCAKKyAgICAyMTAsIDIzLCAxOCwgMTksIDcyLCAyMTAsIDk0LCAxOCwgMTksIDcyLCAyMTAsIDkyLCAxOCwgMTksIDcyLCAyMTAsIDQ0LCAKKyAgICAxOCwgMTksIDcyLCAyMTAsIDExNiwgMTgsIDE5LCA3MiwgMjEwLCAxNTksIDE4LCAxOSwgNzIsIDY1LCAyMTAsIDE1OSwgMTgsIAorICAgIDE5LCA3MiwgMjQ2LCAyOCwgMTgsIDE5LCA3MiwgMjQ2LCAyOSwgMTgsIDE5LCA3MiwgMjQ2LCAzNiwgMTgsIDE5LCA3MiwgCisgICAgMjQ2LCAzNSwgMTgsIDE5LCA3MiwgMjQ2LCAzMSwgMTgsIDE5LCA3MiwgMjQ2LCAzOCwgMTgsIDE5LCA3MiwgMjE4LCA4MywgCisgICAgMTgsIDE5LCA3MiwgMjE5LCA1OCwgMTgsIDE5LCA3MiwgMjIxLCAxODEsIDE4LCAxOSwgNzIsIDIyMSwgMTcwLCAxOCwgMTksIAorICAgIDcyLCAyMTksIDE5MSwgMTgsIDE5LCA3MiwgMjA2LCAxOCwgMTksIDcyLCAyMTksIDIyNSwgMTgsIDE5LCA3MiwgMjIwLCA3LCAKKyAgICAxOCwgMTksIDcyLCAyMjAsIDYzLCAxOCwgMTksIDcyLCAyMjAsIDYxLCAxOCwgMTksIDcyLCAyMjAsIDMyLCAxOCwgMTksIAorICAgIDcyLCAyMjAsIDEwMiwgMTgsIDE5LCA3MiwgMjIwLCAxMDQsIDE4LCAxOSwgNzIsIDIxNSwgMTYzLCAxOCwgMTksIDcyLCAKKyAgICAyMTUsIDE2NiwgMTgsIDE5LCA3MiwgMjE1LCAxNzgsIDE4LCAxOSwgNzIsIDIxNSwgMTc3LCAxOCwgMTksIDcyLCAyMTUsIAorICAgIDE2NywgMTgsIDE5LCA3MiwgMjE1LCAxODMsIDE4LCAxOSwgNzIsIDI1MCwgNjksIDE4LCAxOSwgNzIsIDI1MCwgODYsIDE4LCAKKyAgICAxOSwgNzIsIDI1MCwgMTMxLCAxOCwgMTksIDcyLCAyNTAsIDEyOCwgMTgsIDE5LCA3MiwgMjUwLCAxMTAsIDE4LCAxOSwgNzIsIAorICAgIDI1MCwgMTU3LCAxOCwgMTksIDcyLCAyMTUsIDEyNiwgMTgsIDE5LCA3MiwgMjE1LCAxMjcsIDE4LCAxOSwgNzIsIDIxNSwgCisgICAgMTMwLCAxOCwgMTksIDcyLCAyMTUsIDEyOSwgMTgsIDE5LCA3MiwgMjE1LCAxMjgsIDE4LCAxOSwgNzIsIDIxNSwgMTMxLCAKKyAgICAxOCwgMTksIDI1MCwgMTExLCA1MCwgMTgsIDE5LCAyNDMsIDIyOSwgMjE4LCAxMjksIDE4LCAxOSwgMjI0LCA4MCwgMTgsIAorICAgIDE5LCAyMjksIDczLCAxOCwgMTksIDIyOCwgMTAwLCAxOCwgMTksIDIyOCwgOTksIDE4LCAxOSwgMjI4LCA5OCwgMTgsIDE5LCAKKyAgICAyMjgsIDk3LCAxOCwgMTksIDIyOCwgMTAyLCAxOCwgMTksIDIyOCwgMTAxLCAxOCwgMTksIDIxMSwgMjEzLCAyMTYsIDEyNSwgCisgICAgMTgsIDE5LCAyMTEsIDIxMywgMjE2LCAxMjQsIDE4LCAxOSwgMjExLCAyMTMsIDIxNiwgMTIzLCAxOCwgMTksIDIxMSwgMjEzLCAKKyAgICAyMTYsIDEyMiwgMTgsIDE5LCAyMTEsIDIxMywgMjE2LCAxMjEsIDE4LCAxOSwgMjExLCAyMTMsIDIxNiwgMTI4LCAxOCwgMTksIAorICAgIDIxMSwgMjEzLCAyMTYsIDEyNywgMTgsIDE5LCAyMTEsIDIxMywgNDAsIDIxNiwgMjEwLCAxOCwgMTksIDI1MSwgMjE4LCAKKyAgICAyMTIsIDk4LCAyMjYsIDIyNiwgMjE5LCAxOSwgNzgsIDIyNiwgMjI2LCAxLCAyNTIsIDQ4LCAyMjYsIDIyNiwgMSwgMjMyLCAKKyAgICA4NywgMjI2LCAyMjYsIDEsIDI0NCwgMTUxLCAyMjYsIDIyNiwgMSwgMjIyLCAxNSwgMjI2LCAyMjYsIDEsIDIyOCwgMTkzLCAKKyAgICAyMjYsIDIyNiwgMSwgMjE0LCAyMjYsIDIyNiwgMjI2LCAxLCAyNDgsIDE5NywgMjI2LCAyMjYsIDEsIDIxNiwgODAsIDIyNiwgCisgICAgMjI2LCAxLCAyNDksIDIyOSwgMjI2LCAyMjYsIDEsIDI1MCwgMTgwLCAyMjYsIDIyNiwgMSwgMjMwLCA5MSwgMjI2LCAyMjYsIAorICAgIDEsIDI0MiwgMTU2LCAyMjYsIDIyNiwgMSwgMjI5LCA2MywgMjI2LCAyMjYsIDEsIDIxOCwgMTIyLCAyMjYsIDIyNiwgMSwgCisgICAgMjIyLCAxMzUsIDIyNiwgMjI2LCAxLCAyNTQsIDE5OCwgMjI2LCAyMjYsIDEsIDIyNiwgMTg3LCAyMjYsIDIyNiwgMSwgMjE0LCAKKyAgICAxNTAsIDIyNiwgMjI2LCAxLCAyNDUsIDIzMSwgMjI2LCAyMjYsIDEsIDIzNSwgMTg4LCAyMjYsIDIyNiwgMSwgMjQ1LCAyMzIsIAorICAgIDIyNiwgMjI2LCAxLCAyMjYsIDE1OCwgMjI2LCAyMjYsIDEsIDIxNCwgMjA2LCAyMjYsIDIyNiwgMSwgMjM2LCAzOSwgMjI2LCAKKyAgICAyMjYsIDEsIDI0NSwgMjI5LCAyMjYsIDIyNiwgMSwgMjI1LCAyMDIsIDIyNiwgMjI2LCAyNDQsIDE1MCwgNzgsIDIyNiwgCisgICAgMjI2LCAyMjMsIDQ5LCAyNDQsIDE1MCwgNzgsIDE3OCwgMSwgMjQ0LCAxNDEsIDI0NCwgMTMzLCAyNDQsIDE1NSwgMjQ1LCA2LCAKKyAgICAxNzgsIDEsIDIxNCwgMTA1LCAxNzgsIDEsIDIxNCwgMTM1LCAyMTQsIDE1MSwgNzAsIDE3OCwgMSwgMjEwLCAyMTQsIDE3OCwgCisgICAgMSwgMjExLCAxMTcsIDE3OCwgMSwgMjEyLCA5OCwgMTc4LCAxLCAyMTYsIDEzMCwgMjE2LCAxMjksIDIxNiwgMTUxLCAxNzgsIAorICAgIDEsIDI0NSwgNTksIDE3OCwgMSwgMjU0LCA5MywgNjEsIDE3OCwgMSwgMjI2LCAxNDMsIDc2LCAxNzgsIDEsIDI1NSwgMTcsIAorICAgIDYxLCAxNzgsIDEsIDI1NCwgMjI3LCAxNzgsIDEsIDIzMiwgMTMzLCA3NiwgMTc4LCAxLCAyMTksIDI0NCwgNzYsIDE3OCwgMSwgCisgICAgNzYsIDE3OCwgMSwgMjI2LCAyMzQsIDE3OCwgMSwgMjI2LCAxOTYsIDE3OCwgMSwgMjIzLCAxNjQsIDIyMywgMTc3LCAyMjMsIAorICAgIDk0LCAxNTMsIDE3OCwgMSwgMjM0LCAxOTMsIDE3OCwgMSwgMjUwLCAxNzcsIDE3OCwgMSwgMjM0LCAxOTQsIDIzNSwgMjMsIAorICAgIDE3OCwgMSwgMjQzLCAyMDIsIDE3OCwgMSwgMjQ1LCAxMzgsIDE3OCwgMSwgMjQzLCA1OCwgMjQyLCA2NiwgMjQzLCAyMDIsIAorICAgIDE3OCwgMSwgMjQzLCA5NiwgMTc4LCAxLCAyMTEsIDE4OCwgMjExLCAxODIsIDIxMiwgOTgsIDE3OCwgMSwgMjQyLCAzOCwgCisgICAgMjQyLCA2MCwgMTc4LCAxLCAyNDIsIDQyLCAyNDIsIDYwLCAxNzgsIDEsIDIzMiwgMTM1LCAyNDIsIDYwLCAxNzgsIDEsIAorICAgIDIxOSwgMjQ3LCAyNDIsIDYwLCAxNzgsIDEsIDIyOSwgMTg1LCAyMjcsIDE1NywgMjI5LCAxODYsIDIzMCwgMjUsIDE3OCwgMSwgCisgICAgMjE5LCAyNDUsIDIzMCwgMjUsIDE3OCwgMSwgMjQ2LCAxMTUsIDE3OCwgMSwgMjM1LCAxNjgsIDIzNSwgMTcyLCAyMzUsIAorICAgIDE2MiwgNzMsIDE3OCwgMSwgNzUsIDE3OCwgMSwgMjM1LCAxMTcsIDIzNSwgMTQ0LCAxNzgsIDEsIDI0MywgNDMsIDE3OCwgMSwgCisgICAgMjMyLCAxMzYsIDI1NCwgMjQzLCAxNzgsIDEsIDIxOSwgMjQ5LCA2MSwgMTc4LCAxLCAyMzUsIDE1NCwgMjQ1LCAxMTMsIAorICAgIDE3OCwgMSwgMjI1LCAxNjQsIDIyNSwgMTg2LCAyMjYsIDEwNSwgMTc4LCAxLCAyNTQsIDE2MywgMjQ1LCAxMTEsIDE3OCwgMSwgCisgICAgMjE5LCAyNCwgMjIyLCA5MSwgMTc4LCAxLCAyMTksIDE3OSwgMjMyLCAxMzIsIDIyMiwgOTEsIDE3OCwgMSwgMjE5LCAyNDMsIAorICAgIDIyMiwgOTEsIDE3OCwgMSwgMjUxLCA2NiwgMTc4LCAxLCAyMTAsIDE1OSwgMTc4LCAxLCAyMTYsIDYzLCAyMTYsIDczLCAKKyAgICAyMTUsIDQxLCAyMTcsIDE1MiwgMTc4LCAxLCAyMTksIDI0MiwgMjE3LCAxNTIsIDE3OCwgMSwgMjQ5LCA2MCwgMTc4LCAxLCAKKyAgICAyNTIsIDMxLCAyNTIsIDM0LCAyNTEsIDIyNCwgMjUzLCAxNTgsIDE3OCwgMSwgMjE5LCAyNDgsIDI1MywgMTU4LCAxNzgsIDEsIAorICAgIDI0NiwgMTE0LCAxNzgsIDEsIDIyNiwgMTcxLCAxNzgsIDEsIDI0NSwgMTk2LCAyNDUsIDE5OCwgNzUsIDE3OCwgMSwgMjMxLCAKKyAgICAxNzgsIDIzMSwgMTg2LCAxOTMsIDE3OCwgMSwgMjMyLCAxMzQsIDE5MywgMTc4LCAxLCAyMTksIDI0NiwgMTkzLCAxNzgsIDEsIAorICAgIDIzMywgNzMsIDIzMywgMTE0LCAyMzIsIDE0MywgMTU2LCAxNzgsIDEsIDI0NiwgMTE2LCAxNzgsIDEsIDIzNSwgMjMwLCAKKyAgICAxNzgsIDEsIDIzNSwgMjMxLCAxNzgsIDEsIDI0OCwgMjEwLCAyNDgsIDIxNSwgMjQ5LCA2MCwgMTc4LCAxLCAyMjYsIDEzOCwgCisgICAgMjQ1LCA1OCwgNzYsIDE3OCwgMSwgMjQ1LCAyMjcsIDE3OCwgMSwgMjM1LCAxODcsIDE3OCwgMSwgMjQ5LCA3OCwgMTc4LCAxLCAKKyAgICAyNTEsIDE3LCAxNzgsIDEsIDI1MCwgMTg5LCAxNzgsIDEsIDIxOCwgMTYxLCAxNzgsIDEsIDIzMiwgMTMxLCAxNzgsIDEsIAorICAgIDIxOSwgMjQxLCAxNzgsIDEsIDI0MCwgMTEwLCAxNzgsIDEsIDIyNCwgOTYsIDE3OCwgMSwgMjExLCAxNzgsIDE3OCwgMjE5LCAKKyAgICAxNTUsIDIyNCwgMTQwLCAxNzgsIDIzMCwgODUsIDIyNCwgMTQwLCAxNzgsIDI0OSwgMTMxLCAyMjQsIDE0MCwgMTc4LCAyNTQsIAorICAgIDYsIDg3LCAxNzgsIDIxNSwgODIsIDg3LCAxNzgsIDI1MiwgNDYsIDg3LCAyMTcsIDgzLCAxLCA2MSwgMjE3LCA4MywgMSwgCisgICAgNzMsIDIxNywgODMsIDEsIDcwLCAyMTcsIDgzLCAxLCAxNzYsIDIxNywgODMsIDEsIDI0MywgMTM1LCAyMTcsIDgzLCAxLCAKKyAgICAyMjksIDc3LCAyMTcsIDgzLCAxLCAyMTcsIDEwNSwgMjE3LCA4MywgMSwgMjQ4LCAyMjEsIDIxNywgODMsIDEsIDE5NywgCisgICAgMjE3LCA4MywgMSwgMTkwLCAyMTcsIDgzLCAxLCAyNTIsIDE5MSwgMjE3LCA4MywgMSwgMTg0LCAyMTcsIDgzLCAxLCAxOTEsIAorICAgIDIxNywgODMsIDEsIDIzMywgMTM1LCAyMTcsIDgzLCAxLCAyMTIsIDY1LCAyMTcsIDgzLCAxLCAyMDYsIDIxNywgODMsIDEsIAorICAgIDE2MiwgMjE3LCA4MywgMjUsIDUsIDczLCAyMTcsIDgzLCAyNSwgNSwgNzAsIDIxNywgODMsIDUsIDIxMywgMTUyLCAyNDIsIAorICAgIDcsIDEsIDYxLCAyNDIsIDcsIDEsIDczLCAyNDIsIDcsIDEsIDcwLCAyNDIsIDcsIDEsIDE3NiwgMjQyLCA3LCAxLCAyNDMsIAorICAgIDEzNSwgMjQyLCA3LCAxLCAyMjksIDc3LCAyNDIsIDcsIDEsIDIxNywgMTA1LCAyNDIsIDcsIDEsIDI0OCwgMjIxLCAyNDIsIAorICAgIDcsIDEsIDE5NywgMjQyLCA3LCAxLCAxOTAsIDI0MiwgNywgMSwgMjUyLCAxOTEsIDI0MiwgNywgMSwgMTg0LCAyNDIsIDcsIAorICAgIDEsIDE5MSwgMjQyLCA3LCAxLCAyMDUsIDI0MiwgNywgMSwgMjMzLCAxMzUsIDI0MiwgNywgMSwgMjEyLCA2NSwgMjQyLCA3LCAKKyAgICAxLCAyMDYsIDI0MiwgNywgMSwgMTYyLCAyNDIsIDcsIDI1LCA1LCA3MywgMjQyLCA3LCAyNSwgNSwgNzAsIDI0MiwgNywgNSwgCisgICAgMjI2LCA0OSwgMjI1LCAxMjYsIDIxOSwgMTU1LCAyMjQsIDE0MCwgMjI1LCAxMjYsIDUyLCAyMjQsIDE0MCwgMjUxLCAxMjAsIAorICAgIDEsIDYxLCAyNTEsIDEyMCwgMSwgNzMsIDI1MSwgMTIwLCAxLCA3MCwgMjUxLCAxMjAsIDEsIDE3NiwgMjUxLCAxMjAsIDEsIAorICAgIDI0MywgMTM1LCAyNTEsIDEyMCwgMSwgMjI5LCA3NywgMjUxLCAxMjAsIDEsIDIxNywgMTA1LCAyNTEsIDEyMCwgMSwgMjQ4LCAKKyAgICAyMjEsIDI1MSwgMTIwLCAxLCAxOTcsIDI1MSwgMTIwLCAxLCAxOTAsIDI1MSwgMTIwLCAxLCAyNTIsIDE5MSwgMjUxLCAxMjAsIAorICAgIDEsIDE4NCwgMjUxLCAxMjAsIDEsIDE5MSwgMjUxLCAxMjAsIDEsIDIwNSwgMjUxLCAxMjAsIDEsIDIzMywgMTM1LCAyNTEsIAorICAgIDEyMCwgMSwgMjEyLCA2NSwgMjUxLCAxMjAsIDEsIDIwNiwgMjUxLCAxMjAsIDEsIDE2MiwgMjUxLCAxMjAsIDI1LCA1LCA3MywgCisgICAgMjUxLCAxMjAsIDI1LCA1LCA3MCwgMjE3LCA4MiwgMSwgNjEsIDIxNywgODIsIDEsIDczLCAyMTcsIDgyLCAxLCA3MCwgMjE3LCAKKyAgICA4MiwgMSwgMTc2LCAyMTcsIDgyLCAxLCAyNDMsIDEzNSwgMjE3LCA4MiwgMSwgMjI5LCA3NywgMjE3LCA4MiwgMSwgMjE3LCAKKyAgICAxMDUsIDIxNywgODIsIDEsIDI0OCwgMjIxLCAyMTcsIDgyLCAxLCAxOTcsIDIxNywgODIsIDEsIDE5MCwgMjE3LCA4MiwgMSwgCisgICAgMjUyLCAxOTEsIDIxNywgODIsIDEsIDE4NCwgMjE3LCA4MiwgMSwgMTkxLCAyMTcsIDgyLCAxLCAyMzMsIDEzNSwgMjE3LCAKKyAgICA4MiwgMSwgMjEyLCA2NSwgMjE3LCA4MiwgMSwgMjA2LCAyMTcsIDgyLCAyNSwgNSwgNzMsIDIxNywgODIsIDI1LCA1LCA3MCwgCisgICAgNjksIDEsIDE3NiwgNjksIDEsIDIzNCwgMTMyLCA2OSwgMSwgMjM0LCAyOCwgNjksIDEsIDIzNCwgMTA1LCA2OSwgMSwgMjI5LCAKKyAgICA0LCA2OSwgMSwgMjUxLCAzMywgNjksIDEsIDI1MCwgMTU3LCA2OSwgMSwgMjQ5LCAyMzgsIDY5LCAxLCAyNTAsIDg2LCA2OSwgCisgICAgMSwgMjI3LCAxMzQsIDY5LCAxLCAyNDgsIDIyMSwgNjksIDEsIDIxNSwgMTQ0LCA2OSwgMSwgMjQ3LCAxNDUsIDY5LCAxLCAKKyAgICAyMTUsIDEzOSwgNjksIDEsIDIyOCwgODAsIDY5LCAxLCAyMTcsIDEwNSwgNjksIDEsIDIxNiwgMjA4LCA2OSwgMSwgMTExLCAKKyAgICA2OSwgMSwgMjE2LCAxNTYsIDY5LCAxLCAyMjgsIDc0LCA2OSwgMSwgMjUyLCAxOTEsIDY5LCAxLCAyMjUsIDE0NywgNjksIDEsIAorICAgIDIyNSwgMTYsIDY5LCAxLCAyMjUsIDEyMSwgNjksIDEsIDIzMCwgMTYxLCA2OSwgMSwgMjEwLCAyNDQsIDY5LCAxLCAyMjIsIAorICAgIDIxMSwgNjksIDEsIDIzMiwgMTU2LCA2OSwgMSwgMjEzLCAxMzgsIDY5LCAxLCAyMjAsIDEwMiwgNjksIDEsIDIxOCwgMTg0LCAKKyAgICA2OSwgMSwgMjA2LCA2OSwgMSwgMTYyLCA2OSwgMSwgMjMzLCAxMzUsIDY5LCAxLCAyMjQsIDg4LCA2OSwgMjM1LCAyNDMsIAorICAgIDI1LCAyMjQsIDc0LCA2OSwgMjM1LCAyNDMsIDI1LCAyMjQsIDg3LCA2OSwgMjM1LCAyNDMsIDI1LCAyMjQsIDUzLCA2OSwgCisgICAgMjM1LCAyNDMsIDI1LCAyMjQsIDQ4LCA2OSwgMjM1LCAyNDMsIDI1LCAyMjQsIDMwLCA2OSwgMjM1LCAyNDMsIDI1LCAyMjQsIAorICAgIDIsIDY5LCAyMzUsIDI0MywgMjUsIDIyMywgMjQ2LCA2OSwgMjM1LCAyNDMsIDI1LCAyMjMsIDI0NSwgNjksIDIzNSwgMjQzLCAKKyAgICAyNSwgMjIyLCAxMDAsIDY5LCAyMzUsIDI0MywgMjUsIDIyMiwgOTMsIDY5LCAyMzUsIDI0MywgMjUsIDIzMiwgNjIsIDY5LCAKKyAgICAyMzUsIDI0MywgMjUsIDIzMiwgNTIsIDY5LCAyMzUsIDI0MywgMjUsIDIyNCwgNjksIDY5LCAyMzUsIDI0MywgMjUsIDIyNCwgCisgICAgODAsIDY5LCAyMzUsIDI0MywgMjUsIDIyNCwgMzgsIDIxNSwgNDksIDExMCwgNjksIDIzNSwgMjQzLCAyNSwgMjI0LCAzOCwgCisgICAgMjE1LCA0OSwgMTA1LCA2OSwgMjM1LCAyNDMsIDI1LCAyMjQsIDcwLCA2OSwgMjUsIDIzNSwgMjI5LCAyNTQsIDQ1LCA2OSwgCisgICAgMjUsIDIzNSwgMjI5LCAyNTUsIDczLCA2OSwgMjUsIDUsIDI1NSwgNzMsIDY5LCAyNSwgNSwgNzMsIDY5LCAyNSwgNSwgMjM2LCAKKyAgICAzMywgNjksIDI1LCA1LCAyMTEsIDExNywgNjksIDI1LCA1LCAyMTAsIDE2OSwgNjksIDI1LCA1LCA3MCwgNjksIDI1LCA1LCAKKyAgICAyMTQsIDExOCwgNjksIDI1LCA1LCAyMTQsIDIyOSwgNjksIDI1LCA1LCAyMjYsIDIzNCwgNjksIDI1LCA1LCAxOTEsIDY5LCAKKyAgICAyNSwgNSwgMjM2LCA2MCwgNjksIDI1LCA1LCA3NSwgNjksIDI1LCA1LCAyNTQsIDI0MywgNjksIDI1LCA1LCAyNTQsIDIwMSwgCisgICAgNjksIDI1LCA1LCAyMjYsIDE4MywgNjksIDI1LCA1LCAyNTMsIDE5MiwgNjksIDUsIDIyOCwgMjA2LCA2OSwgNSwgMjIzLCAKKyAgICAxMjYsIDY5LCA1LCAyMTAsIDE4MCwgNjksIDUsIDIzMCwgNTIsIDY5LCA1LCAyMTUsIDIxMywgNjksIDUsIDI1MiwgMTQzLCAKKyAgICA2OSwgNSwgMjIyLCAyMDYsIDY5LCA1LCAyMTYsIDQwLCA2OSwgNSwgMjM0LCAyNDEsIDY5LCA1LCAyNTQsIDIwMywgNjksIDUsIAorICAgIDIyMSwgMjQ0LCAyMjEsIDIzOCwgNjksIDUsIDIxMywgMTQ5LCA2OSwgNSwgMjQ5LCAyMzIsIDY5LCA1LCAyNTIsIDExNywgCisgICAgNjksIDUsIDIzNCwgMTI1LCA2OSwgNSwgMjUyLCAxMzcsIDY5LCA1LCAyNTEsIDksIDIyNSwgNzIsIDIzMywgMTg3LCA2OSwgCisgICAgNSwgMjMzLCAzMCwgMjE2LCAxNywgNjksIDUsIDI1MiwgMjAsIDY5LCA1LCAyMjUsIDEyMywgMjMwLCA5OSwgNjksIDUsIAorICAgIDIzNCwgOSwgNjksIDI0OSwgOTgsIDE2LCAyMjMsIDI4LCA2OSwgNSwgMjUzLCAxNzQsIDY5LCA1LCAyNTMsIDE5NSwgNjksIAorICAgIDIxLCAyMTAsIDg2LCA2OSwgMjEsIDExMCwgNjksIDIxLCAxMDUsIDY5LCAyMSwgMTU4LCA2OSwgMjEsIDE2MSwgNjksIDIxLCAKKyAgICAxODksIDY5LCAyMSwgMTk0LCA2OSwgMjEsIDE5OCwgNjksIDIxLCAxOTUsIDY5LCAyMSwgMjAwLCA2OSwgMTYsIDIzMywgMzAsIAorICAgIDI1MywgMTk3LCAyMTksIDQzLCA2OSwgMTYsIDIzMywgMzAsIDI1MywgMTk3LCAyMzAsIDcxLCA2OSwgMTYsIDIzMywgMzAsIAorICAgIDI1MywgMTk3LCAyMjUsIDcxLCA2OSwgMTYsIDIzMywgMzAsIDI1MywgMTk3LCAyNTIsIDQ5LCA2OSwgMTYsIDIzMywgMzAsIAorICAgIDI1MywgMTk3LCAyNTEsIDEwMywgNjksIDE2LCAyMzMsIDMwLCAyNTMsIDE5NywgMjI0LCAyMTUsIDY5LCAxNiwgMjMzLCAzMCwgCisgICAgMjUzLCAxOTcsIDIyNCwgMjA5LCA2OSwgMTYsIDIzMywgMzAsIDI1MywgMTk3LCAyMjQsIDIwNywgNjksIDE2LCAyMzMsIDMwLCAKKyAgICAyNTMsIDE5NywgMjI0LCAyMTMsIDY5LCAxNiwgMjMzLCAzMCwgMjUzLCAxOTcsIDIyNCwgMjExLCA4MywgMjUxLCAyMzYsIAorICAgIDgzLCAyNDUsIDE2MywgODMsIDI0OSwgMjE5LCA4MywgMjQzLCAyMjksIDIxOCwgMTI5LCA4MywgMjQ5LCAyMjYsIDgzLCAKKyAgICAyNDQsIDExLCAyNDcsIDExOCwgODMsIDIxNiwgMzksIDIxOSwgNTIsIDI0MCwgMTY4LCA4MywgMjE5LCAxOTAsIDMsIDI1MSwgCisgICAgMTcyLCAyMzEsIDE1NCwgODMsIDIzMSwgMTgzLCAyNDksIDIxOSwgODMsIDIzMSwgMTgzLCAyNDMsIDIyOSwgMjE4LCAxMjksIAorICAgIDgzLCAyMjgsIDE5MSwgODMsIDI0MywgMjUzLCA0NSwgMjIxLCAxNTcsIDExMCwgODMsIDI0MywgMjUzLCA0NSwgMjIxLCAKKyAgICAxNTcsIDEwNSwgODMsIDI0MywgMjUzLCA0NSwgMjIxLCAxNTcsIDE1OCwgODMsIDI1LCAyMjAsIDEzNywgODMsIDIxLCAyMTAsIAorICAgIDg2LCA4MywgMjEsIDExMCwgODMsIDIxLCAxMDUsIDgzLCAyMSwgMTU4LCA4MywgMjEsIDE2MSwgODMsIDIxLCAxODksIDgzLCAKKyAgICAyMSwgMTk0LCA4MywgMjEsIDE5OCwgODMsIDIxLCAxOTUsIDgzLCAyMSwgMjAwLCA4MywgMSwgNjEsIDgzLCAxLCA3NSwgODMsIAorICAgIDEsIDczLCA4MywgMSwgNzYsIDgzLCAxLCA3MCwgODMsIDEsIDIyNiwgMjM0LCA4MywgMSwgMjE0LCAyMTQsIDgzLCAxLCAKKyAgICAyNDUsIDIwOSwgODMsIDEsIDE5NywgODMsIDEsIDI1NCwgMTE1LCA4MywgMSwgMjUyLCAxOTEsIDgzLCAxLCAxOTAsIDgzLCAKKyAgICAxLCAyMjQsIDg4LCA4MywgMSwgMjQzLCAxMzUsIDgzLCAxLCAxODQsIDgzLCAxLCAyMzMsIDEzNSwgODMsIDEsIDIwNiwgODMsIAorICAgIDEsIDIyMCwgMTAyLCA4MywgMSwgMjE3LCAxMDUsIDgzLCAxLCAyNDgsIDIyMSwgODMsIDEsIDI1MCwgMTU3LCA4MywgMSwgCisgICAgMjM1LCAxNDEsIDgzLCAxLCAxOTEsIDgzLCAxLCAyMDUsIDgzLCAxLCAyMTIsIDY1LCA4MywgMSwgMjQ0LCAxOTYsIDgzLCAxLCAKKyAgICAxNzYsIDgzLCAxLCAyMzQsIDEzMiwgODMsIDEsIDIxNSwgMTgzLCA4MywgMSwgMjEwLCAxMTYsIDgzLCAxLCAyNDIsIDQ2LCAKKyAgICA4MywgMSwgMjEwLCAxNiwgODMsIDEsIDIzMiwgMjU0LCA4MywgMSwgMjEwLCA2OSwgODMsIDEsIDI1MCwgMTEwLCA4MywgMSwgCisgICAgMjE2LCAzOSwgMTk5LCAyNSwgNTAsIDgzLCAxLCAyMTYsIDM5LCA3NSwgODMsIDEsIDIxNiwgMzksIDczLCA4MywgMSwgMjE2LCAKKyAgICAzOSwgNzYsIDgzLCAxLCAyMTYsIDM5LCA3MCwgODMsIDEsIDIxNiwgMzksIDIyNiwgMjM0LCA4MywgMSwgMjE2LCAzOSwgCisgICAgMjE0LCAyMTQsIDgzLCAxLCAyMTYsIDM5LCAyNTQsIDExNSwgODMsIDEsIDIxNiwgMzksIDI1MiwgMTkxLCA4MywgMSwgMjE2LCAKKyAgICAzOSwgMTkwLCA4MywgMSwgMjE2LCAzOSwgMjI0LCA4OCwgODMsIDEsIDIxNiwgMzksIDI0MywgMTM1LCA4MywgMSwgMjE2LCAKKyAgICAzOSwgMTg0LCA4MywgMSwgMjE2LCAzOSwgMjE3LCAxMDUsIDgzLCAxLCAyMTYsIDM5LCAyNDgsIDIyMSwgODMsIDEsIDIxNiwgCisgICAgMzksIDI1MCwgMTU3LCA4MywgMSwgMjE2LCAzOSwgMjM1LCAxNDEsIDgzLCAxLCAyMTYsIDM5LCAyMTUsIDE4MywgODMsIDEsIAorICAgIDIxNiwgMzksIDE5MSwgODMsIDEsIDIxNiwgMzksIDIxMiwgNjUsIDgzLCAxLCAyMTYsIDM5LCAxNzYsIDgzLCAxLCAyMTYsIAorICAgIDM5LCAyNDMsIDEzMiwgODMsIDEsIDIxNiwgMzksIDI0MiwgNDYsIDgzLCAxLCAyMTYsIDM5LCAyMzUsIDEwNywgODMsIDEsIAorICAgIDIxNiwgMzksIDIyOCwgMjMxLCA4MywgMSwgMjE2LCAzOSwgMjQ2LCAzOCwgODMsIDEsIDIxOSwgMTkwLCA3NSwgODMsIDEsIAorICAgIDIxOSwgMTkwLCA3MywgODMsIDEsIDIxOSwgMTkwLCAyMzUsIDE1MiwgODMsIDEsIDIxOSwgMTkwLCAyMTQsIDIxNCwgODMsIAorICAgIDEsIDIxOSwgMTkwLCA3MCwgODMsIDEsIDIxOSwgMTkwLCAyNTQsIDExNSwgODMsIDEsIDIxOSwgMTkwLCAxNzYsIDgzLCAxLCAKKyAgICAyMTksIDE5MCwgMjQzLCAxMzUsIDgzLCAxLCAyMTksIDE5MCwgMTYyLCA4MywgMSwgMjE5LCAxOTAsIDE5MCwgODMsIDEsIAorICAgIDIxOSwgMTkwLCAyMjAsIDEwMiwgODMsIDEsIDIxOSwgMTkwLCAyMTcsIDEwNSwgODMsIDEsIDIxOSwgMTkwLCAyNDgsIDIyMSwgCisgICAgODMsIDEsIDIxOSwgMTkwLCAyMzUsIDE0MSwgODMsIDEsIDIxOSwgMTkwLCAyNDQsIDE5NiwgODMsIDEsIDIxOSwgMTkwLCAKKyAgICAyNDMsIDEzMiwgODMsIDEsIDIxOSwgMTkwLCAyNDIsIDQ2LCA4MywgMSwgMjE5LCAxOTAsIDIxNSwgMTgzLCA4MywgMSwgCisgICAgMjE5LCAxOTAsIDIxMCwgMTE2LCA4MywgMSwgMjE5LCAxOTAsIDIyMywgMTg0LCA4MywgMSwgMjE5LCAxOTAsIDI1MCwgMTU3LCAKKyAgICA4MywgMSwgMjE5LCAxOTAsIDIxMCwgODIsIDgzLCAxLCAyMzEsIDE4MywgNzMsIDgzLCAxLCAyMzEsIDE4MywgMTc2LCA4MywgCisgICAgMSwgMjMxLCAxODMsIDIwNSwgODMsIDEsIDIzMSwgMTgzLCAyNDQsIDE5NiwgODMsIDEsIDIzMSwgMTgzLCAyMTAsIDgyLCAKKyAgICA4MywgMSwgMjU0LCAxNjIsIDI0MywgMTE2LCAyNTQsIDc2LCAxMTAsIDgzLCAxLCAyNTQsIDE2MiwgMjQzLCAxMTYsIDIxMywgCisgICAgMTQ4LCAxMTAsIDgzLCAxLCAyNTQsIDE2MiwgMjQzLCAxMTYsIDI0OCwgMTg2LCA4MywgMSwgMjU0LCAxNjIsIDI0MywgMTE2LCAKKyAgICAyMTQsIDIyNCwgODMsIDEsIDI1NCwgMTYyLCAyNDMsIDExNiwgMjM1LCAxOTMsIDIxNCwgMjI0LCA4MywgMSwgMjU0LCAxNjIsIAorICAgIDI0MywgMTE2LCAyNTIsIDE1NSwgODMsIDEsIDI1NCwgMTYyLCAyNDMsIDExNiwgMTM0LCAyNTIsIDE1NSwgODMsIDEsIDI1NCwgCisgICAgMTYyLCAyNDMsIDExNiwgNjEsIDgzLCAxLCAyNTQsIDE2MiwgMjQzLCAxMTYsIDczLCA4MywgMSwgMjU0LCAxNjIsIDI0MywgCisgICAgMTE2LCAxNzYsIDgzLCAxLCAyNTQsIDE2MiwgMjQzLCAxMTYsIDIyOSwgNzcsIDgzLCAxLCAyNTQsIDE2MiwgMjQzLCAxMTYsIAorICAgIDI1MSwgMzMsIDgzLCAxLCAyNTQsIDE2MiwgMjQzLCAxMTYsIDIxNSwgMTU2LCA4MywgMSwgMjU0LCAxNjIsIDI0MywgMTE2LCAKKyAgICAyMTUsIDE0NCwgODMsIDEsIDI1NCwgMTYyLCAyNDMsIDExNiwgMjQ4LCAxMzUsIDgzLCAxLCAyNTQsIDE2MiwgMjQzLCAxMTYsIAorICAgIDIyOCwgMTEwLCA4MywgMSwgMjU0LCAxNjIsIDI0MywgMTE2LCAyMTcsIDEwNSwgODMsIDEsIDI1NCwgMTYyLCAyNDMsIDExNiwgCisgICAgMjQ4LCAyMjEsIDgzLCAxLCAyNTQsIDE2MiwgMjQzLCAxMTYsIDE5MCwgODMsIDEsIDI1NCwgMTYyLCAyNDMsIDExNiwgMjI1LCAKKyAgICAxNDcsIDgzLCAxLCAyNTQsIDE2MiwgMjQzLCAxMTYsIDIxOCwgMjIzLCA4MywgMSwgMjU0LCAxNjIsIDI0MywgMTE2LCAyMTAsIAorICAgIDgyLCA4MywgMSwgMjU0LCAxNjIsIDI0MywgMTE2LCAyMTAsIDExNiwgODMsIDEsIDI1NCwgMTYyLCAyNDMsIDExNiwgMjU0LCAKKyAgICAyMDksIDgzLCAxLCAyMTYsIDM5LCAyNTQsIDE2MiwgMjQzLCAxMTYsIDIxNywgMTA1LCA4MywgMSwgMjE2LCAzOSwgMjU0LCAKKyAgICAxNjIsIDI0MywgMTE2LCAyMTAsIDgyLCA4MywgMSwgMjMxLCAxODMsIDI1NCwgMTYyLCAyNDMsIDExNiwgMjQyLCAyNDksIAorICAgIDgzLCAxLCAyMzEsIDE4MywgMjU0LCAxNjIsIDI0MywgMTE2LCAyMjksIDc3LCA4MywgMSwgMjMxLCAxODMsIDI1NCwgMTYyLCAKKyAgICAyNDMsIDExNiwgMjUxLCAzMywgODMsIDEsIDIzMSwgMTgzLCAyNTQsIDE2MiwgMjQzLCAxMTYsIDIzNSwgMTE0LCA4MywgMSwgCisgICAgMjMxLCAxODMsIDI1NCwgMTYyLCAyNDMsIDExNiwgMjE1LCAxNTYsIDgzLCAxLCAyMzEsIDE4MywgMjU0LCAxNjIsIDI0MywgCisgICAgMTE2LCAyNDgsIDExOSwgODMsIDEsIDIzMSwgMTgzLCAyNTQsIDE2MiwgMjQzLCAxMTYsIDIxNywgMTA1LCA4MywgMSwgMjMxLCAKKyAgICAxODMsIDI1NCwgMTYyLCAyNDMsIDExNiwgMjQ4LCAyNSwgODMsIDEsIDIzMSwgMTgzLCAyNTQsIDE2MiwgMjQzLCAxMTYsIAorICAgIDIxOCwgMjIzLCA4MywgMSwgMjMxLCAxODMsIDI1NCwgMTYyLCAyNDMsIDExNiwgMjQ5LCA3MiwgODMsIDEsIDIzMSwgMTgzLCAKKyAgICAyNTQsIDE2MiwgMjQzLCAxMTYsIDIxMCwgODIsIDgzLCAxLCAyMzEsIDE4MywgMjU0LCAxNjIsIDI0MywgMTE2LCAyMTAsIAorICAgIDExNiwgODMsIDEsIDI1NCwgMTYyLCAyNDMsIDExNiwgMTYzLCA3MCwgODMsIDEsIDI1NCwgMTYyLCAyNDMsIDExNiwgMTYzLCAKKyAgICAxOTEsIDgzLCAxLCAyMzEsIDE4MywgMjU0LCAxNjIsIDI0MywgMTE2LCAyNTIsIDE4LCA4MywgMSwgMjU0LCAxNjIsIDI0MywgCisgICAgMTE2LCAyNDgsIDIxMSwgODMsIDEsIDIzMSwgMTgzLCAyNTQsIDE2MiwgMjQzLCAxMTYsIDIzMiwgMjU0LCAxOCwgMTksIAorICAgIDIyNiwgMTA5LCAxOCwgMTksIDI1MywgMTY3LCAxOCwgMTksIDI1NSwgMjgsIDE4LCAxOSwgMjEyLCAyNSwgMTgsIDE5LCAKKyAgICAyMjQsIDIyMSwgMTgsIDE5LCAyMjUsIDIyOSwgMTgsIDE5LCAyMjQsIDEwNSwgMTgsIDE5LCAyMTcsIDMxLCAxOCwgMTksIAorICAgIDIzNCwgMTg5LCAxOCwgMTksIDIzMywgMTc5LCAxOCwgMTksIDIzMSwgMTMyLCAxOCwgMTksIDIyOCwgMzcsIDE4LCAxOSwgCisgICAgMjI5LCAxODEsIDE4LCAxOSwgMjMzLCA2OCwgMTgsIDE5LCAyMTksIDIyLCAxOCwgMTksIDIyMSwgMjExLCAxOCwgMTksIAorICAgIDIxOSwgMjMyLCAxOCwgMTksIDIyMCwgNjYsIDE4LCAxOSwgMjE5LCAyMDEsIDE4LCAxOSwgMjEwLCAyMjAsIDE4LCAxOSwgCisgICAgMjExLCA1MiwgMTgsIDE5LCAyMjMsIDEzNCwgMTgsIDE5LCAyMjcsIDE3MSwgMTgsIDE5LCAyMjYsIDIxNiwgMjI3LCAxNzEsIAorICAgIDE4LCAxOSwgMjI3LCAxNzAsIDE4LCAxOSwgMjI2LCAyMTYsIDIyNywgMTcwLCAxOCwgMTksIDIyNywgMTY5LCAxOCwgMTksIAorICAgIDIyNiwgMjE2LCAyMjcsIDE2OSwgMTgsIDE5LCAyMjcsIDE2OCwgMTgsIDE5LCAyMjYsIDIxNiwgMjI3LCAxNjgsIDE4LCAxOSwgCisgICAgMjIyLCAxMDUsIDE4LCAxOSwgMjIyLCAxMDQsIDE4LCAxOSwgMjIyLCAxMDMsIDE4LCAxOSwgMjIyLCAxMDIsIDE4LCAxOSwgCisgICAgMjIyLCAxMDEsIDE4LCAxOSwgMjIyLCAxMDksIDE4LCAxOSwgMjI2LCAyMTYsIDIyNiwgMTA1LCAxOCwgMTksIDIyNiwgMjE2LCAKKyAgICAyMTcsIDE1MiwgMTgsIDE5LCAyMjYsIDIxNiwgMjM1LCAyMywgMTgsIDE5LCAyMjYsIDIxNiwgMjUxLCA2NiwgMTgsIDE5LCAKKyAgICAyMjYsIDIxNiwgMTkzLCAxOCwgMTksIDIyNiwgMjE2LCAyMzAsIDI1LCAxOCwgMTksIDIyNiwgMjE2LCAyMjIsIDkxLCAxOCwgCisgICAgMTksIDIyNiwgMjE2LCAyMjAsIDEwNCwgMTgsIDE5LCAyNDUsIDIxOSwgMjEyLCA5OCwgMTgsIDE5LCAyMTIsIDcsIDIxMiwgCisgICAgOTgsIDE4LCAxOSwgNDAsIDQsIDIyMiwgMjMzLCAxOCwgMTksIDQwLCAyMjMsIDE1NywgMjQ3LCAxMjAsIDE4LCAxOSwgMjIzLCAKKyAgICAyMjMsIDIyMiwgMTA2LCAxOCwgMTksIDE1OSwgMjMyLCAxMjcsIDE4LCAxOSwgMTU5LCAyMzMsIDEzNCwgMTgsIDE5LCAyMTYsIAorICAgIDEyNiwgMTgsIDE5LCAyMTYsIDEyOCwgMTgsIDE5LCAyMTUsIDEzNiwgMTgsIDE5LCAyMTUsIDEzOCwgMTgsIDE5LCAyMTUsIAorICAgIDE0MywgMTgsIDE5LCAyMTYsIDQ5LCAxOCwgMTksIDIxNiwgNTEsIDE4LCAxOSwgMjIxLCAyMDksIDIxOSwgMjA2LCAxOCwgCisgICAgMTksIDIyMSwgMjA5LCAyMjAsIDEsIDE4LCAxOSwgMjIxLCAyMDksIDI0MSwgNTMsIDE4LCAxOSwgNzIsIDI0MiwgNzMsIDE4LCAKKyAgICAxOSwgNzIsIDI0OCwgNTIsIDI0MywgNTUsIDE4LCAxOSwgNzIsIDI0MywgMTMyLCAxOCwgMTksIDcyLCAyNDIsIDc4LCAxOCwgCisgICAgMTksIDIyMSwgMjA5LCAyMzUsIDMzLCAxOCwgMTksIDcyLCAyMzUsIDMxLCAxOCwgMTksIDI1MiwgNjgsIDI0OCwgNTIsIAorICAgIDE1NiwgMTgsIDE5LCAyNTIsIDY4LCAyNDgsIDUyLCAxNTMsIDE4LCAxOSwgNzIsIDI0OCwgNDcsIDIyMiwgOTEsIDIzMiwgCisgICAgMjIzLCAyMTMsIDEyMiwgMjMzLCAxMCwgMjMyLCAyMjMsIDEsIDE3NiwgMjMyLCAyMjMsIDEsIDIzNCwgMTMyLCAyMzIsIAorICAgIDIyMywgMSwgMjQzLCAxMzUsIDIzMiwgMjIzLCAxLCAyNDIsIDI0OSwgMjMyLCAyMjMsIDEsIDIyOSwgNzcsIDIzMiwgMjIzLCAKKyAgICAxLCAyNTEsIDMzLCAyMzIsIDIyMywgMSwgMjUwLCAxNTcsIDIzMiwgMjIzLCAxLCAyMzUsIDE0MSwgMjMyLCAyMjMsIDEsIAorICAgIDIzNSwgMTE0LCAyMzIsIDIyMywgMSwgMjExLCA3MSwgMjMyLCAyMjMsIDEsIDIxNywgMTA1LCAyMzIsIDIyMywgMSwgMjE2LCAKKyAgICAyMDgsIDIzMiwgMjIzLCAxLCAyNDgsIDIyMSwgMjMyLCAyMjMsIDEsIDI0OCwgMjUsIDIzMiwgMjIzLCAxLCAxOTcsIDIzMiwgCisgICAgMjIzLCAxLCAxOTAsIDIzMiwgMjIzLCAxLCAyMjUsIDE0NywgMjMyLCAyMjMsIDEsIDI1MiwgMTkxLCAyMzIsIDIyMywgMSwgCisgICAgMjUyLCAxOCwgMjMyLCAyMjMsIDEsIDE4NCwgMjMyLCAyMjMsIDEsIDE5MSwgMjMyLCAyMjMsIDEsIDIwNSwgMjMyLCAyMjMsIAorICAgIDEsIDIzMywgMTM1LCAyMzIsIDIyMywgMSwgMjEyLCA2NSwgMjMyLCAyMjMsIDEsIDIyMCwgMTAyLCAyMzIsIDIyMywgMSwgCisgICAgMjE4LCAyMjMsIDIzMiwgMjIzLCAxLCAyMDYsIDIzMiwgMjIzLCAxLCAxNjIsIDIzMiwgMjIzLCAyNSwgNSwgNjEsIDIzMiwgCisgICAgMjIzLCAyNSwgNSwgNzMsIDIzMiwgMjIzLCAyNSwgNSwgNzAsIDIzMiwgMjIzLCAyNSwgNSwgMjQ1LCAyMDksIDIzMiwgMjIzLCAKKyAgICAyNSwgNSwgMjU0LCAyMDEsIDIzMiwgMjIzLCAyNSwgNSwgMjI2LCAxODMsIDIzMiwgMjIzLCAyNSwgNSwgMjUzLCAxOTIsIAorICAgIDIzMiwgMjIzLCAyNSwgNSwgNzUsIDIzMiwgMjIzLCAyNSwgNSwgNzYsIDIzMiwgMjIzLCAyMTgsIDczLCAxLCAxOTEsIDIzMiwgCisgICAgMjIzLCAyMTgsIDczLCAxLCAyMDUsIDIzMiwgMjIzLCAyMTgsIDczLCAxLCAyMTIsIDY1LCAyMzIsIDIyMywgNCwgMSwgMTc2LCAKKyAgICAyMzIsIDIyMywgNCwgMSwgMjI5LCA3NywgMjMyLCAyMjMsIDQsIDEsIDI1NCwgNzUsIDIzMiwgMjIzLCA0LCAxLCAyMTcsIAorICAgIDEwNSwgMjMyLCAyMjMsIDQsIDEsIDE5NywgMjMyLCAyMjMsIDQsIDEsIDE5MCwgMjMyLCAyMjMsIDQsIDEsIDE4NCwgMjMyLCAKKyAgICAyMjMsIDQsIDEsIDIwNSwgMjMyLCAyMjMsIDQsIDEsIDIzMywgMTM1LCAyMzIsIDIyMywgNSwgMjMwLCA4OSwgMjMyLCAyMjMsIAorICAgIDUsIDIzNCwgMTcxLCAyMzIsIDIyMywgNSwgMjIyLCAzMiwgMjMyLCAyMjMsIDUsIDIzMiwgMTI3LCAyMzIsIDIyMywgMjQ1LCAKKyAgICAzMSwgNzgsIDIzMiwgMjIzLCAyMjQsIDEzLCA3OCwgMjMyLCAyMjMsIDIxLCAyMTAsIDg2LCAyMzIsIDIyMywgMjEsIDExMCwgCisgICAgMjMyLCAyMjMsIDIxLCAxMDUsIDIzMiwgMjIzLCAyMSwgMTU4LCAyMzIsIDIyMywgMjEsIDE2MSwgMjMyLCAyMjMsIDIxLCAKKyAgICAxODksIDIzMiwgMjIzLCAyMSwgMTk0LCAyMzIsIDIyMywgMjEsIDE5OCwgMjMyLCAyMjMsIDIxLCAxOTUsIDIzMiwgMjIzLCAKKyAgICAyMSwgMjAwLCAzOSwgMjMzLCA1OSwgMSwgMTc2LCAzOSwgMjMzLCA1OSwgMSwgMjExLCAxNjUsIDM5LCAyMzMsIDU5LCAxLCAKKyAgICAyMjksIDc3LCAzOSwgMjMzLCA1OSwgMSwgMjE1LCAxODMsIDM5LCAyMzMsIDU5LCAxLCAyMDYsIDM5LCAyMzMsIDU5LCAxLCAKKyAgICAxOTEsIDM5LCAyMzMsIDU5LCAxLCAyMTcsIDEwNSwgMzksIDIzMywgNTksIDEsIDIxNiwgMjA4LCAzOSwgMjMzLCA1OSwgMSwgCisgICAgMjMzLCAxMzUsIDM5LCAyMzMsIDU5LCAxLCAxOTAsIDM5LCAyMzMsIDU5LCAxLCAyMjUsIDE0NywgMzksIDIzMywgNTksIDEsIAorICAgIDE4NCwgMzksIDIzMywgNTksIDEsIDI0NCwgMTk2LCAzOSwgMjMzLCA1OSwgMSwgMjE0LCAyNywgMzksIDIzMywgNTksIDEsIAorICAgIDE2MiwgMzksIDIzMywgNTksIDEsIDIyNCwgODgsIDM5LCAyMzMsIDU5LCAxLCAyMzQsIDEzMiwgMzksIDIzMywgNTksIDEsIAorICAgIDIxNSwgMTc1LCAzOSwgMjMzLCA1OSwgMSwgMTk3LCAzOSwgMjMzLCA1OSwgMSwgNjEsIDM5LCAyMzMsIDU5LCAxLCA3MywgCisgICAgMzksIDIzMywgNTksIDEsIDI0NSwgMjA5LCAzOSwgMjMzLCA1OSwgMSwgMjQ1LCAxOTcsIDM5LCAyMzMsIDU5LCAxLCA3MCwgCisgICAgMzksIDIzMywgNTksIDEsIDIyNiwgMTgzLCAzOSwgMjMzLCA1OSwgMSwgNzYsIDM5LCAyMzMsIDU5LCAxLCAyMTQsIDIxNCwgCisgICAgMzksIDIzMywgNTksIDEsIDc1LCAzOSwgMjMzLCA1OSwgMSwgMjUzLCAxOTAsIDM5LCAyMzMsIDU5LCAxLCAyNTQsIDIwMSwgCisgICAgMzksIDIzMywgNTksIDEsIDIxNiwgMjgsIDM5LCAyMzMsIDU5LCAxLCAyMTYsIDI3LCAzOSwgMjMzLCA1OSwgMSwgMjE2LCAKKyAgICAyNiwgMzksIDIzMywgNTksIDEsIDIxNiwgMjUsIDM5LCAyMzMsIDU5LCAxLCAyMTYsIDI0LCAxNjYsIDM5LCAxNzMsIDEsIAorICAgIDEyNSwgMjI0LCA4OCwgMTY2LCAzOSwgMTczLCAxLCAxMjEsIDIyNCwgODgsIDE2NiwgMzksIDE3MywgMSwgMTI1LCAxNzYsIAorICAgIDE2NiwgMzksIDE3MywgMSwgMTI1LCAyMTEsIDE2NSwgMTY2LCAzOSwgMTczLCAxLCAxMjUsIDIyOSwgNzcsIDE2NiwgMzksIAorICAgIDE3MywgMSwgMTIxLCAxNzYsIDE2NiwgMzksIDE3MywgMSwgMTIxLCAyMTEsIDE2NSwgMTY2LCAzOSwgMTczLCAxLCAxMjEsIAorICAgIDIyOSwgNzcsIDE2NiwgMzksIDE3MywgMSwgMTI1LCAyMTUsIDE4MywgMTY2LCAzOSwgMTczLCAxLCAxMjUsIDIwNiwgMTY2LCAKKyAgICAzOSwgMTczLCAxLCAxMjUsIDE5MSwgMTY2LCAzOSwgMTczLCAxLCAxMjEsIDIxNSwgMTgzLCAxNjYsIDM5LCAxNzMsIDEsIAorICAgIDEyMSwgMjA2LCAxNjYsIDM5LCAxNzMsIDEsIDEyMSwgMTkxLCAxNjYsIDM5LCAxNzMsIDEsIDEyNSwgMjE3LCAxMDUsIDE2NiwgCisgICAgMzksIDE3MywgMSwgMTI1LCAyMTYsIDIwOCwgMTY2LCAzOSwgMTczLCAxLCAxMjUsIDE5NywgMTY2LCAzOSwgMTczLCAxLCAKKyAgICAxMjEsIDIxNywgMTA1LCAxNjYsIDM5LCAxNzMsIDEsIDEyMSwgMjE2LCAyMDgsIDE2NiwgMzksIDE3MywgMSwgMTIxLCAxOTcsIAorICAgIDE2NiwgMzksIDE3MywgMSwgMTI1LCAxOTAsIDE2NiwgMzksIDE3MywgMSwgMTI1LCAyMjUsIDE0NywgMTY2LCAzOSwgMTczLCAKKyAgICAxLCAxMjUsIDE4NCwgMTY2LCAzOSwgMTczLCAxLCAxMjEsIDE5MCwgMTY2LCAzOSwgMTczLCAxLCAxMjEsIDIyNSwgMTQ3LCAKKyAgICAxNjYsIDM5LCAxNzMsIDEsIDEyMSwgMTg0LCAxNjYsIDM5LCAxNzMsIDEsIDEyNSwgMjQ0LCAxOTYsIDE2NiwgMzksIDE3MywgCisgICAgMSwgMTI1LCAyMTQsIDI3LCAxNjYsIDM5LCAxNzMsIDEsIDEyNSwgMjMzLCAxMzUsIDE2NiwgMzksIDE3MywgMSwgMTIxLCAKKyAgICAyNDQsIDE5NiwgMTY2LCAzOSwgMTczLCAxLCAxMjEsIDIxNCwgMjcsIDE2NiwgMzksIDE3MywgMSwgMTIxLCAyMzMsIDEzNSwgCisgICAgMTY2LCAzOSwgMTczLCAxLCAxMjUsIDE2MiwgMTY2LCAzOSwgMTczLCAxLCAxMjUsIDI0OCwgMjIxLCAxNjYsIDM5LCAxNzMsIAorICAgIDEsIDEyNSwgMjUyLCAxOTEsIDE2NiwgMzksIDE3MywgMSwgMTIxLCAxNjIsIDE2NiwgMzksIDE3MywgMSwgMTIxLCAyNDgsIAorICAgIDIyMSwgMTY2LCAzOSwgMTczLCAxLCAxMjEsIDI1MiwgMTkxLCAxNjYsIDM5LCAxNzMsIDEsIDEyNSwgMjMzLCAxODQsIDE2NiwgCisgICAgMzksIDE3MywgMSwgMTI1LCAyMTEsIDEzOCwgMTY2LCAzOSwgMTczLCAxLCAxMjEsIDIzMywgMTg0LCAxNjYsIDM5LCAxNzMsIAorICAgIDEsIDEyMSwgMjExLCAxMzgsIDE2NiwgMzksIDE3MywgMSwgMTI1LCAyMTgsIDgyLCAxNjYsIDM5LCAxNzMsIDEsIDEyMSwgCisgICAgMjE4LCA4MiwgMTY2LCAzOSwgMTczLCAyNSwgNSwgMjUsIDIxOSwgMjM5LCAxNjYsIDM5LCAxNzMsIDI1LCA1LCAyNTUsIDczLCAKKyAgICAxNjYsIDM5LCAxNzMsIDI1LCA1LCAyMzYsIDMzLCAxNjYsIDM5LCAxNzMsIDI1LCA1LCA3MCwgMTY2LCAzOSwgMTczLCAyNSwgCisgICAgNSwgMjE0LCAxMTgsIDE2NiwgMzksIDE3MywgMjUsIDUsIDc1LCAxNjYsIDM5LCAxNzMsIDI1LCA1LCAyNTQsIDI0MywgMTY2LCAKKyAgICAzOSwgMTczLCAyNSwgNSwgNzYsIDE2NiwgMzksIDE3MywgMjUsIDUsIDIyNywgMCwgMTY2LCAzOSwgMTczLCAyNSwgNSwgCisgICAgMjE0LCAyMTQsIDE2NiwgMzksIDE3MywgMjUsIDUsIDI1MywgMTY3LCAxNjYsIDM5LCAxNzMsIDI1LCA1LCAyNTUsIDI4LCAKKyAgICAxNjYsIDM5LCAxNzMsIDI1LCA1LCAyMTQsIDExMSwgMTY2LCAzOSwgMTczLCAyNSwgNSwgMjI2LCAxMDksIDE2NiwgMzksIAorICAgIDE3MywgMjUsIDUsIDIyNiwgMjUzLCAxNjYsIDM5LCAxNzMsIDI1LCA1LCAyMTQsIDIxMCwgMTY2LCAzOSwgMTczLCAyNSwgNSwgCisgICAgMjM1LCAxNTIsIDE2NiwgMzksIDE3MywgMSwgNDAsIDIxNCwgMTA1LCAxNjYsIDM5LCAxNzMsIDEsIDQwLCAyMjksIDc5LCAKKyAgICAxNjYsIDM5LCAxNzMsIDEsIDQwLCAyMzAsIDI1LCAxNjYsIDM5LCAxNzMsIDEsIDQwLCAxOTMsIDE2NiwgMzksIDE3MywgMSwgCisgICAgNDAsIDIzNSwgMjMsIDE2NiwgMzksIDE3MywgMSwgNDAsIDI0OSwgNjAsIDE2NiwgMzksIDE3MywgMSwgNDAsIDI1MywgMTU4LCAKKyAgICAxNjYsIDM5LCAxNzMsIDEzOCwgMjMxLCAxNTgsIDE2NiwgMzksIDE3MywgMTM4LCAyMzEsIDE1NywgMTY2LCAzOSwgMTczLCAKKyAgICAyMSwgMjEwLCA4NiwgMTY2LCAzOSwgMTczLCAyMSwgMTEwLCAxNjYsIDM5LCAxNzMsIDIxLCAxMDUsIDE2NiwgMzksIDE3MywgCisgICAgMjEsIDE1OCwgMTY2LCAzOSwgMTczLCAyMSwgMTYxLCAxNjYsIDM5LCAxNzMsIDIxLCAxODksIDE2NiwgMzksIDE3MywgMjEsIAorICAgIDE5NCwgMTY2LCAzOSwgMTczLCAyMSwgMTk4LCAxNjYsIDM5LCAxNzMsIDIxLCAxOTUsIDE2NiwgMzksIDE3MywgMjEsIDIwMCwgCisgICAgMTY2LCAzOSwgMTczLCA4OSwgMjEsIDExMCwgMTY2LCAzOSwgMTczLCA1LCAyMzMsIDEyMCwgMTY2LCAzOSwgMTczLCA1LCAKKyAgICAyMzMsIDExOSwgNjksIDE2LCAyMjUsIDIzNiwgNjksIDE2LCAyMzAsIDcyLCAyMzQsIDI1LCA2OSwgMTYsIDIyNSwgNzIsIAorICAgIDIzNCwgMjUsIDY5LCAxNiwgMjUyLCA1MCwgMjM0LCAyNSwgNjksIDE2LCAyNTEsIDEwNCwgMjM0LCAyNSwgNjksIDE2LCAKKyAgICAyMjQsIDIxNiwgMjM0LCAyNSwgNjksIDE2LCAyMjQsIDIxMCwgMjM0LCAyNSwgNjksIDE2LCAyMjQsIDIwOCwgMjM0LCAyNSwgCisgICAgNjksIDE2LCAyMjQsIDIxNCwgMjM0LCAyNSwgNjksIDE2LCAyMjQsIDIxMiwgMjM0LCAyNSwgNjksIDE2LCAyNDgsIDE3MywgCisgICAgMjM0LCAyNSwgNjksIDE2LCAyNDgsIDE2OSwgMjM0LCAyNSwgNjksIDE2LCAyNDgsIDE2OCwgMjM0LCAyNSwgNjksIDE2LCAKKyAgICAyNDgsIDE3MSwgMjM0LCAyNSwgNjksIDE2LCAyNDgsIDE3MCwgMjM0LCAyNSwgNjksIDE2LCAyNDgsIDE2NywgMjM0LCAyNSwgCisgICAgNjksIDE2LCAyMTUsIDg3LCA2OSwgMTYsIDIzMCwgNzIsIDIyMiwgMjA1LCA2OSwgMTYsIDIyNSwgNzIsIDIyMiwgMjA1LCAKKyAgICA2OSwgMTYsIDI1MiwgNTAsIDIyMiwgMjA1LCA2OSwgMTYsIDI1MSwgMTA0LCAyMjIsIDIwNSwgNjksIDE2LCAyMjQsIDIxNiwgCisgICAgMjIyLCAyMDUsIDY5LCAxNiwgMjI0LCAyMTAsIDIyMiwgMjA1LCA2OSwgMTYsIDIyNCwgMjA4LCAyMjIsIDIwNSwgNjksIDE2LCAKKyAgICAyMjQsIDIxNCwgMjIyLCAyMDUsIDY5LCAxNiwgMjI0LCAyMTIsIDIyMiwgMjA1LCA2OSwgMTYsIDI0OCwgMTczLCAyMjIsIAorICAgIDIwNSwgNjksIDE2LCAyNDgsIDE2OSwgMjIyLCAyMDUsIDY5LCAxNiwgMjQ4LCAxNjgsIDIyMiwgMjA1LCA2OSwgMTYsIDI0OCwgCisgICAgMTcxLCAyMjIsIDIwNSwgNjksIDE2LCAyNDgsIDE3MCwgMjIyLCAyMDUsIDY5LCAxNiwgMjQ4LCAxNjcsIDIyMiwgMjA1LCAKKyAgICAyNTEsIDEyMSwgMSwgMTc2LCAyNTEsIDEyMSwgMSwgMjQzLCAxMzUsIDI1MSwgMTIxLCAxLCAyMjksIDc3LCAyNTEsIDEyMSwgCisgICAgMSwgMjI5LCAyMiwgMjUxLCAxMjEsIDEsIDE5MCwgMjUxLCAxMjEsIDEsIDI1MiwgMTkxLCAyNTEsIDEyMSwgMSwgMTg0LCAKKyAgICAyNTEsIDEyMSwgMSwgMjMwLCAxMDUsIDI1MSwgMTIxLCAxLCAyMTcsIDEwNSwgMjUxLCAxMjEsIDEsIDI0OCwgMjIxLCAyNTEsIAorICAgIDEyMSwgMSwgMTk3LCAyNTEsIDEyMSwgMSwgMjI4LCAzNiwgMjUxLCAxMjEsIDEsIDI1MSwgMzMsIDI1MSwgMTIxLCAxLCAKKyAgICAyMzUsIDE0MSwgMjUxLCAxMjEsIDEsIDIyNywgMTY1LCAyNTEsIDEyMSwgMSwgMjI3LCAxNTgsIDI1MSwgMTIxLCAxLCAxOTEsIAorICAgIDI1MSwgMTIxLCAxLCAyMDUsIDI1MSwgMTIxLCAxLCAyMzMsIDEzNSwgMjUxLCAxMjEsIDEsIDIxNCwgMjcsIDI1MSwgMTIxLCAKKyAgICAxLCAyMDYsIDI1MSwgMTIxLCAxLCA2MSwgMjUxLCAxMjEsIDEsIDE2MiwgMjUxLCAxMjEsIDI1LCA1LCA3MywgMjUxLCAxMjEsIAorICAgIDI1LCA1LCA3MCwgMjUxLCAxMjEsIDI1LCA1LCA3NSwgMjUxLCAxMjEsIDI1LCA1LCA3NiwgMjUxLCAxMjEsIDI1LCA1LCAKKyAgICAyNTQsIDI0MywgMjUxLCAxMjEsIDIyNiwgNjAsIDI1MSwgMTIxLCAyNDUsIDE0MywgNjQsIDIyMSwgMTcyLCAzOSwgODksIDEsIAorICAgIDEyNSwgMTc2LCAzOSwgODksIDEsIDEyNSwgMjM0LCAxMzIsIDM5LCA4OSwgMSwgMTI1LCAyMzMsIDE3MSwgMzksIDg5LCAxLCAKKyAgICAxMjEsIDE3NiwgMzksIDg5LCAxLCAxMjEsIDIzMywgMTcxLCAzOSwgODksIDEsIDEyMSwgMjM0LCAxMzIsIDM5LCA4OSwgMSwgCisgICAgMjI5LCA3NywgMzksIDg5LCAxLCAxMjUsIDI1MSwgMzMsIDM5LCA4OSwgMSwgMTI1LCAyNTAsIDE1NywgMzksIDg5LCAxLCAKKyAgICAxMjEsIDI1MSwgMzMsIDM5LCA4OSwgMSwgMTIxLCAyMDYsIDM5LCA4OSwgMSwgMTIxLCAyNTAsIDE1NywgMzksIDg5LCAxLCAKKyAgICAyMjcsIDE2NSwgMzksIDg5LCAxLCAyMjMsIDE0MCwgMzksIDg5LCAxLCAxMjUsIDIyMywgMTM4LCAzOSwgODksIDEsIDI0OCwgCisgICAgMjIxLCAzOSwgODksIDEsIDEyMSwgMjIzLCAxMzgsIDM5LCA4OSwgMSwgMjIzLCAxNDksIDM5LCA4OSwgMSwgMTI1LCAyMTcsIAorICAgIDEwNSwgMzksIDg5LCAxLCAxMjUsIDIxNiwgMjA4LCAzOSwgODksIDEsIDEyMSwgMjE3LCAxMDUsIDM5LCA4OSwgMSwgMTIxLCAKKyAgICAyMTYsIDIwOCwgMzksIDg5LCAxLCAxOTcsIDM5LCA4OSwgMSwgMjUyLCAxOTEsIDM5LCA4OSwgMSwgMTI1LCAxOTAsIDM5LCAKKyAgICA4OSwgMSwgMTI1LCAyMjUsIDE0NywgMzksIDg5LCAxLCAxMjUsIDI0NCwgMTk2LCAzOSwgODksIDEsIDEyMSwgMTkwLCAzOSwgCisgICAgODksIDEsIDEyMSwgMjQ0LCAxOTYsIDM5LCA4OSwgMSwgMTIxLCAyMjUsIDE0NywgMzksIDg5LCAxLCAxODQsIDM5LCA4OSwgCisgICAgMSwgMTIxLCAxOTEsIDM5LCA4OSwgMSwgMTI1LCAxOTEsIDM5LCA4OSwgMSwgMjA1LCAzOSwgODksIDEsIDIyMiwgMTM3LCAKKyAgICAzOSwgODksIDEsIDIzMywgMTM1LCAzOSwgODksIDEsIDIzMiwgOTMsIDM5LCA4OSwgMSwgMjEyLCA2NSwgMzksIDg5LCAxLCAKKyAgICAxMjUsIDIyMCwgMTAyLCAzOSwgODksIDEsIDEyNSwgMjE4LCAyMjMsIDM5LCA4OSwgMSwgMTI1LCAyMDYsIDM5LCA4OSwgMSwgCisgICAgMTI1LCAxNjIsIDM5LCA4OSwgMSwgMjMyLCAxODQsIDM5LCA4OSwgMSwgNjEsIDM5LCA4OSwgMSwgMTIxLCAxNjIsIDM5LCAKKyAgICA4OSwgMSwgNzMsIDM5LCA4OSwgMSwgMjM2LCAzMywgMzksIDg5LCAxLCA3MCwgMzksIDg5LCAxLCAyMTQsIDExOCwgMzksIAorICAgIDg5LCAxLCAyNDUsIDIwOSwgMzksIDg5LCAxLCAyMjYsIDE4MywgMzksIDg5LCAxLCAyMzMsIDEyMCwgMzksIDg5LCAxLCAKKyAgICAyNDIsIDEzMiwgMjA2LCAzOSwgODksIDExNiwgNSwgMTQ3LCAyMDUsIDM5LCA4OSwgMTE2LCA1LCAxNDcsIDIzMywgMTM1LCAKKyAgICAzOSwgODksIDExNiwgNSwgMjMzLCAxMzYsIDIxNywgNTgsIDIzMywgMTA5LCAzOSwgODksIDUsIDIzMSwgMjA0LCAyMzQsIAorICAgIDIzMSwgMjMzLCAxMDksIDM5LCA4OSwgMTE2LCA1LCA0MCwgMjI5LCA3NywgMzksIDg5LCAxMTYsIDUsIDEyMSwgMTkwLCAzOSwgCisgICAgODksIDExNiwgNSwgMTI1LCAyMjMsIDEzOSwgMTc3LCAxMjEsIDE5MCwgMzksIDg5LCAxMTYsIDUsIDE4NCwgMzksIDg5LCAKKyAgICAxMTYsIDUsIDI1MiwgMTkxLCAzOSwgODksIDExNiwgNSwgMjA2LCAzOSwgODksIDUsIDIyMiwgMTAsIDM5LCA4OSwgMjUsIDUsIAorICAgIDYxLCAzOSwgODksIDI1LCA1LCAyMzEsIDIwNCwgMjIxLCAyMjYsIDM5LCA4OSwgMjUsIDUsIDI1NSwgNzMsIDM5LCA4OSwgCisgICAgMjUsIDUsIDIxNywgNjQsIDI1NSwgNzMsIDM5LCA4OSwgMjUsIDUsIDczLCAzOSwgODksIDI1LCA1LCAyMzYsIDMzLCAzOSwgCisgICAgODksIDI1LCA1LCAyMTQsIDIxNCwgMzksIDg5LCAyNSwgNSwgMjE0LCAxMTcsIDM5LCA4OSwgMjUsIDUsIDcwLCAzOSwgODksIAorICAgIDI1LCA1LCAyMTQsIDExOCwgMzksIDg5LCAyNSwgNSwgNzYsIDM5LCA4OSwgMjUsIDUsIDIyNywgMSwgNTEsIDM5LCA4OSwgCisgICAgMjUsIDUsIDIyNiwgMTA5LCAzOSwgODksIDI1LCA1LCA3NSwgMzksIDg5LCAyNSwgNSwgMjU0LCAyNDMsIDM5LCA4OSwgMjUsIAorICAgIDUsIDIyNiwgMTgzLCAzOSwgODksIDI1LCA1LCAyNTQsIDIwMSwgMzksIDg5LCAyNSwgNSwgODksIDI1NCwgMjAxLCAzOSwgCisgICAgODksIDI1LCA1LCAyMjcsIDEsIDQ4LCAzOSwgODksIDUsIDIzMSwgMjA0LCAyMzQsIDIzMCwgMzksIDg5LCA1LCAyMTYsIDI5LCAKKyAgICAzOSwgODksIDUsIDIxNiwgMjgsIDM5LCA4OSwgNSwgMjM0LCA5NywgMjE2LCAyNywgMzksIDg5LCA1LCAyMzQsIDk3LCAyMTYsIAorICAgIDI2LCAzOSwgODksIDUsIDIzNCwgOTcsIDIxNiwgMjUsIDM5LCA4OSwgNSwgMjIzLCAxODgsIDI0MiwgNDUsIDM5LCA4OSwgNSwgCisgICAgMjMxLCAyMDQsIDIyMSwgMjUzLCAzOSwgODksIDUsIDIzNCwgOTYsIDIzNCwgMjE1LCAzOSwgODksIDM4LCAyNDksIDExNSwgCisgICAgMjQ3LCAxMjAsIDM5LCA4OSwgMjQxLCA0NiwgMjEsIDIxMCwgODYsIDM5LCA4OSwgMjQxLCA0NiwgMjEsIDExMCwgMzksIDg5LCAKKyAgICAyNDEsIDQ2LCAyMSwgMTA1LCAzOSwgODksIDI0MSwgNDYsIDIxLCAxNTgsIDM5LCA4OSwgMjQxLCA0NiwgMjEsIDE2MSwgMzksIAorICAgIDg5LCAyNDEsIDQ2LCAyMSwgMTg5LCAzOSwgODksIDI0MSwgNDYsIDIxLCAxOTQsIDM5LCA4OSwgMjQxLCA0NiwgMjEsIDE5OCwgCisgICAgMzksIDg5LCAyNDEsIDQ2LCAyMSwgMTk1LCAzOSwgODksIDI0MSwgNDYsIDIxLCAyMDAsIDM5LCA4OSwgODksIDIxLCAyMTAsIAorICAgIDg2LCAzOSwgODksIDg5LCAyMSwgMTEwLCAzOSwgODksIDg5LCAyMSwgMTA1LCAzOSwgODksIDg5LCAyMSwgMTU4LCAzOSwgCisgICAgODksIDg5LCAyMSwgMTYxLCAzOSwgODksIDg5LCAyMSwgMTg5LCAzOSwgODksIDg5LCAyMSwgMTk0LCAzOSwgODksIDg5LCAKKyAgICAyMSwgMTk4LCAzOSwgODksIDg5LCAyMSwgMTk1LCAzOSwgODksIDg5LCAyMSwgMjAwLCAzOSwgODksIDUsIDIxMSwgMjQ5LCAKKyAgICAzOSwgODksIDUsIDIxMSwgMjQ4LCAzOSwgODksIDUsIDIyMSwgMjE1LCAzOSwgODksIDUsIDIzNCwgMTYwLCAzOSwgODksIDUsIAorICAgIDI0MCwgMjMyLCAzOSwgODksIDUsIDI0NywgMTM0LCAzOSwgODksIDUsIDIyMywgNDksIDIyMiwgMTg3LCAyMjMsIDE0OSwgCisgICAgMzksIDg5LCA1LCAyMzEsIDIwNCwgMjExLCA3MiwgMzksIDg5LCA1LCAyMzUsIDYsIDM5LCA4OSwgNSwgMjM1LCA1LCAzOSwgCisgICAgODksIDUsIDIyMSwgMjIyLCAzOSwgODksIDUsIDIyMSwgMjIxLCAzOSwgODksIDUsIDI0MiwgOSwgMzksIDg5LCA1LCAyNTEsIAorICAgIDMwLCAxMDIsIDUsIDIxNCwgMjAwLCAyMjMsIDMwLCAxMDIsIDUsIDIxNCwgMjAwLCAyNTEsIDEsIDEwMiwgNSwgMjUwLCAKKyAgICAxODYsIDEwMiwgNSwgMjE4LCAxNSwgMTAyLCA1LCAyNTEsIDIzMywgMTAyLCAxLCAyNTQsIDE4NCwgMTAyLCAxLCAyNTQsIAorICAgIDE4NSwgMjE3LCAxMywgMTAyLCAxLCAyMzYsIDI5LCAxMDIsIDEsIDIzNiwgMzAsIDIxNywgMTMsIDEwMiwgMSwgMjE0LCAKKyAgICAyMDMsIDEwMiwgMSwgMjE0LCAyMDQsIDIxNywgMTMsIDEwMiwgMSwgMjIzLCAxODgsIDIyMywgNzksIDEwMiwgMSwgMjIzLCAKKyAgICAxODgsIDIyMywgODAsIDIxNywgMTMsIDEwMiwgMSwgMjMzLCAxMzYsIDIzMywgMjQsIDEwMiwgMSwgMjMzLCAxMzYsIDIzMywgCisgICAgMjUsIDIxNywgMTMsIDEwMiwgMSwgMjQ1LCAxNzksIDEwMiwgMSwgMjU0LCAxOTksIDEwMiwgMSwgMjI2LCAyMTIsIDEwMiwgCisgICAgMSwgMjI2LCAyMTMsIDIxNywgMTMsIDEwMiwgMSwgMTc2LCAxMDIsIDEsIDIzNSwgMTMsIDIzMSwgMjA3LCAxMDIsIDEsIAorICAgIDI0MywgMTM1LCAxMDIsIDEsIDI0MywgMTM2LCAyNDIsIDE2MSwgMTAyLCAxLCAyMjksIDc3LCAxMDIsIDEsIDI1MSwgMzMsIAorICAgIDEwMiwgMSwgMjUxLCAzNCwgMjMzLCAxMjMsIDEwMiwgMSwgMjM1LCAxNDEsIDEwMiwgMSwgMjM1LCAxNDIsIDIzNSwgMTE4LCAKKyAgICAxMDIsIDEsIDIyNywgMTY1LCAxMDIsIDEsIDIxNywgMTA2LCAyMzMsIDc2LCAxMDIsIDEsIDIxNywgMTA2LCAyMzAsIDY3LCAKKyAgICAyMzEsIDIwNywgMTAyLCAxLCAyNDgsIDIyMiwgMjMwLCA2NywgMjU0LCAxNDUsIDEwMiwgMSwgMjQ4LCAyMjIsIDIzMCwgNjcsIAorICAgIDIzMSwgMjA3LCAxMDIsIDEsIDIyOSwgMjI5LCAyMjMsIDE1MiwgMTAyLCAxLCAyMTcsIDEwNSwgMTAyLCAxLCAyMTcsIDEwNiwgCisgICAgMjE3LCAzNSwgMTAyLCAxLCAyNDgsIDIyMSwgMTAyLCAxLCAyNDgsIDIyMiwgMjMxLCAyMjUsIDEwMiwgMSwgMTk3LCAxMDIsIAorICAgIDEsIDE5MCwgMTAyLCAxLCAyMjYsIDkwLCAyMzQsIDIyNiwgMTAyLCAxLCAyNTIsIDE5MSwgMTAyLCAxLCAyNTIsIDE5MiwgCisgICAgMjM0LCAxNzIsIDEwMiwgMSwgMTg0LCAxMDIsIDEsIDE5MSwgMTAyLCAxLCAyMDUsIDEwMiwgMSwgMjMzLCAxMzUsIDEwMiwgCisgICAgMSwgMjEyLCA2NSwgMTAyLCAxLCAyMjIsIDM0LCAyMjIsIDIwLCAxMDIsIDEsIDIyMiwgMzQsIDIyMSwgMjMzLCAxMDIsIDEsIAorICAgIDIwNiwgMTAyLCAxLCAxNjIsIDEwMiwgNSwgMjIzLCA3MCwgMTAyLCAyNSwgNSwgMjE3LCAxMywgMTAyLCAyNSwgNSwgMjE0LCAKKyAgICAxOTksIDEwMiwgMjUsIDUsIDIxNCwgMjAwLCAyMjEsIDIyOSwgMTAyLCAyNSwgNSwgMjE4LCA0NywgMTAyLCAyNSwgNSwgCisgICAgMjE4LCA0OCwgMjM2LCAyMSwgMTAyLCAyNSwgNSwgMjIzLCAxODgsIDIyMywgNzksIDEwMiwgMjUsIDUsIDIyMywgMTg4LCAKKyAgICAyMjMsIDgwLCAyMTcsIDEzLCAxMDIsIDI1LCA1LCAyMzMsIDEzNiwgMjMzLCAyNCwgMTAyLCAyNSwgNSwgMjMzLCAxMzYsIAorICAgIDIzMywgMjUsIDIxNywgMTMsIDEwMiwgMjUsIDUsIDIxNywgNjUsIDEwMiwgMjUsIDUsIDIxNywgNjYsIDIyMywgNzksIDEwMiwgCisgICAgMjUsIDUsIDIxNywgNjYsIDIxNywgMTMsIDEwMiwgMjUsIDUsIDIxNywgNjYsIDIyMywgODAsIDIxNywgMTMsIDEwMiwgMjUsIAorICAgIDUsIDIyNSwgMTg0LCAxMDIsIDI1LCA1LCAyMjUsIDE4NSwgMjE3LCAxMywgMTAyLCAyNTQsIDI1MCwgMjU0LCAyNDksIDEwMiwgCisgICAgMSwgMjM0LCAyNTEsIDIyMSwgMjI4LCAxMDIsIDEsIDIzNCwgMTAyLCAyMjEsIDIyOCwgMTAyLCAxLCAyMTUsIDM0LCAyMjEsIAorICAgIDIyOCwgMTAyLCAxLCAyNDUsIDIwMywgMjIxLCAyMjgsIDEwMiwgMSwgMjE0LCAwLCAyMjEsIDIyOCwgMTAyLCAxLCAyMTAsIAorICAgIDEwNywgMjIxLCAyMjgsIDEwMiwgMSwgMjUzLCAyMDksIDIyMSwgMjI4LCAxMDIsIDIxLCAyMTAsIDg2LCAxMDIsIDIxLCAKKyAgICAxMTAsIDEwMiwgMjEsIDEwNSwgMTAyLCAyMSwgMTU4LCAxMDIsIDIxLCAxNjEsIDEwMiwgMjEsIDE4OSwgMTAyLCAyMSwgCisgICAgMTk0LCAxMDIsIDIxLCAxOTgsIDEwMiwgMjEsIDE5NSwgMTAyLCAyMSwgMjAwLCAxMDIsIDIyNiwgMjksIDEwMiwgMjI2LCAKKyAgICA1NSwgMTAyLCAyMTEsIDIzOCwgMTAyLCAyNTAsIDIzNiwgMjI2LCA0OCwgMTAyLCAyNTAsIDIzNiwgMjE5LCAxNzIsIDEwMiwgCisgICAgMjUwLCAyMzYsIDIyNiwgMiwgMTAyLCAyMjYsIDU0LCAxMDIsIDI4LCAxNiwgMjQ3LCAxMjYsIDEwMiwgMjgsIDE2LCAyNDgsIAorICAgIDUxLCAxMDIsIDI4LCAxNiwgMjQ2LCA2NCwgMTAyLCAyOCwgMTYsIDI0OCwgMTc2LCAxMDIsIDI4LCAxNiwgMjQ4LCAxNzcsIAorICAgIDIxOCwgMTUsIDEwMiwgMjgsIDE2LCAyNDcsIDIwNSwgMTAyLCAyOCwgMTYsIDI0OCwgMjE0LCAxMDIsIDI4LCAxNiwgMjQ4LCAKKyAgICAzMywgMTAyLCAyOCwgMTYsIDI0OCwgMTk4LCAxMDIsIDI4LCAxNiwgMjQ4LCAxNzcsIDI0MywgNTcsIDEwMiwgMjgsIDE2LCAKKyAgICAzOCwgMjE3LCA5LCAxMDIsIDI4LCAxNiwgMzgsIDI0NSwgMTQxLCAxMDIsIDI4LCAxNiwgMzgsIDIzNCwgMTY3LCAxMDIsIAorICAgIDI4LCAxNiwgMzgsIDIzNCwgMTY5LCAxMDIsIDI4LCAxNiwgMzgsIDIzNSwgMTIyLCAxMDIsIDI4LCAxNiwgMzgsIDIzNCwgCisgICAgMTY4LCAyLCAyMzUsIDEyMiwgMTAyLCAyOCwgMTYsIDM4LCAyMzQsIDE3MCwgMiwgMjM1LCAxMjIsIDEwMiwgMjgsIDE2LCAKKyAgICAzOCwgMjUyLCAzNywgMTAyLCAyOCwgMTYsIDM4LCAyNDIsIDE2NSwgMTAyLCAyOCwgMTYsIDIyMiwgMjQ5LCAyMDQsIDI0NiwgCisgICAgNzQsIDEwMiwgMjgsIDE2LCAyMjIsIDI0OSwgMjA0LCAyNDgsIDIxMiwgMTAyLCAyOCwgMTYsIDIyMiwgMjQ5LCAyNTAsIDAsIAorICAgIDIxNSwgMTExLCAxMDIsIDI4LCAxNiwgMjIyLCAyNDksIDI1MCwgMCwgMjE3LCA3MywgMTAyLCAyOCwgMTYsIDIzMywgNDQsIAorICAgIDIwNCwgMjI2LCA0MywgMTAyLCAyOCwgMTYsIDIzMywgNDQsIDIwNCwgMjI0LCAxMzksIDEwMiwgMjgsIDE2LCAyMzMsIDQ0LCAKKyAgICAyNTAsIDAsIDIyNSwgMzgsIDEwMiwgMjgsIDE2LCAyMzMsIDQ0LCAyNTAsIDAsIDIyNSwgMjYsIDEwMiwgMjgsIDE2LCAyMzMsIAorICAgIDQ0LCAyMDQsIDIyNSwgNjEsIDIwNywgNSwgMjI2LCAyNiwgMjA3LCA1LCAyMjYsIDM5LCAyMDcsIDUsIDIyNiwgMzUsIDIwNywgCisgICAgMSwgNjEsIDIwNywgMSwgNzMsIDIwNywgMSwgNzAsIDIwNywgMSwgMjU0LCAyNDMsIDIwNywgMSwgNzYsIDIwNywgMSwgNzUsIAorICAgIDIwNywgMSwgMjQ1LCA1NSwgMjA3LCAxLCAxNzYsIDIwNywgMSwgMjI0LCA4OCwgMjA3LCAxLCAyNDMsIDEzNSwgMjA3LCAxLCAKKyAgICAyMjksIDc3LCAyMDcsIDEsIDI1MSwgMzMsIDIwNywgMSwgMjM1LCAxNDEsIDIwNywgMSwgMjEwLCAxMTYsIDIwNywgMSwgCisgICAgMjI3LCAxNjUsIDIwNywgMSwgMjE3LCAxMDUsIDIwNywgMSwgMjQ4LCAyMjEsIDIwNywgMSwgMTk3LCAyMDcsIDEsIDE5MCwgCisgICAgMjA3LCAxLCAyNDQsIDE5NiwgMjA3LCAxLCAyMTQsIDI3LCAyMDcsIDEsIDI1MiwgMTkxLCAyMDcsIDEsIDE4NCwgMjA3LCAxLCAKKyAgICAxOTEsIDIwNywgMSwgMjA1LCAyMDcsIDEsIDIzMywgMTM1LCAyMDcsIDEsIDIxMiwgNjUsIDIwNywgMSwgMjA2LCAyMDcsIDEsIAorICAgIDIxMSwgMTY1LCAyMDcsIDEsIDE2MiwgMjA3LCAxMTYsIDUsIDIyNiwgNTIsIDIwNywgMTE2LCA1LCAyMjYsIDI4LCAyMDcsIAorICAgIDExNiwgNSwgMjI2LCAyNSwgMjA3LCAyNSwgNSwgMjI2LCA0MiwgMjA3LCAyNSwgNSwgMjI2LCAyNCwgMjA3LCAyNSwgNSwgCisgICAgMjI2LCA0NiwgMjA3LCAyNSwgNSwgMjI2LCAzNCwgMjA3LCAyNSwgNSwgMjI2LCA1MywgMjA3LCAyNSwgNSwgMjI2LCA0NCwgCisgICAgMjA3LCA1LCAyMjYsIDU2LCAyMDcsIDUsIDIxMywgMTUyLCAyMDcsIDExNiwgNSwgMjI1LCAyNDgsIDE4NCwgMjA3LCAxMTYsIAorICAgIDUsIDIyNSwgMjQ4LCAyMTIsIDY1LCAyMDcsIDEsIDIzNCwgMTMyLCAyMDcsIDEsIDIxNywgMjMxLCAyMDcsIDIxLCAyMTAsIAorICAgIDg2LCAyMDcsIDIxLCAxMTAsIDIwNywgMjEsIDEwNSwgMjA3LCAyMSwgMTU4LCAyMDcsIDIxLCAxNjEsIDIwNywgMjEsIDE4OSwgCisgICAgMjA3LCAyMSwgMTk0LCAyMDcsIDIxLCAxOTgsIDIwNywgMjEsIDE5NSwgMjA3LCAyMSwgMjAwLCAyMDcsIDI1MywgMTc1LCAKKyAgICAyMDcsIDEsIDIyMywgNTIsIDIwNywgMSwgMjMzLCA3LCAyMDcsIDEsIDI1MiwgMTgsIDIwNywgMSwgNDAsIDIzNSwgMjMsIAorICAgIDIwNywgMSwgNDAsIDE5MywgMjUyLCAxMjAsIDEsIDYxLCAyNTIsIDEyMCwgMSwgMjE5LCAxNjQsIDYxLCAyNTIsIDEyMCwgMSwgCisgICAgMTYyLCAyNTIsIDEyMCwgMSwgMjE5LCAxNjQsIDE2MiwgMjUyLCAxMjAsIDEsIDIzMSwgMTgxLCAxNjIsIDI1MiwgMTIwLCAxLCAKKyAgICAyNTIsIDE5MSwgMjUyLCAxMjAsIDEsIDIzNCwgMjEyLCAyNTIsIDE5MSwgMjUyLCAxMjAsIDEsIDE5MCwgMjUyLCAxMjAsIDEsIAorICAgIDIxOSwgMTY0LCAxOTAsIDI1MiwgMTIwLCAxLCAxOTcsIDI1MiwgMTIwLCAxLCAyMzEsIDE4MSwgMTk3LCAyNTIsIDEyMCwgMSwgCisgICAgMjEyLCA2NSwgMjUyLCAxMjAsIDEsIDIxOSwgMTY0LCAyMTIsIDY1LCAyNTIsIDEyMCwgMSwgMjI2LCA2NywgMjEyLCA2NSwgCisgICAgMjUyLCAxMjAsIDEsIDI0MywgMTM1LCAyNTIsIDEyMCwgMSwgMjE5LCAxNjQsIDI0MywgMTM1LCAyNTIsIDEyMCwgMSwgMjM1LCAKKyAgICAxNDEsIDI1MiwgMTIwLCAxLCAyNDgsIDIyMSwgMjUyLCAxMjAsIDEsIDIwNSwgMjUyLCAxMjAsIDEsIDIxOSwgMTY0LCAyMDUsIAorICAgIDI1MiwgMTIwLCAxLCAxODQsIDI1MiwgMTIwLCAxLCAyMTksIDE2NCwgMTg0LCAyNTIsIDEyMCwgMSwgMjE5LCAyNiwgMjE3LCAKKyAgICAxMDUsIDI1MiwgMTIwLCAxLCAyMjgsIDU1LCAyMTcsIDEwNSwgMjUyLCAxMjAsIDEsIDIwNiwgMjUyLCAxMjAsIDEsIDIxOSwgCisgICAgMTY0LCAyMDYsIDI1MiwgMTIwLCAxLCAyMzEsIDE4MSwgMjA2LCAyNTIsIDEyMCwgMSwgMTkxLCAyNTIsIDEyMCwgMSwgMjE5LCAKKyAgICAxNjQsIDE5MSwgMjUyLCAxMjAsIDEsIDIyOSwgNzcsIDI1MiwgMTIwLCAxLCAyMzMsIDEzNSwgMjUyLCAxMjAsIDEsIDIxOSwgCisgICAgMTY0LCAyMzMsIDEzNSwgMjUyLCAxMjAsIDEsIDIyNywgMTY1LCAyNTIsIDEyMCwgMSwgMjUxLCAzMywgMjUyLCAxMjAsIDEsIAorICAgIDIyOSwgMTQ4LCAyNTIsIDEyMCwgMSwgMjMxLCAxMjQsIDI1MiwgMTIwLCAxLCA3MywgMjUyLCAxMjAsIDEsIDcwLCAyNTIsIAorICAgIDEyMCwgNSwgMjE2LCAzMywgMjUyLCAxMjAsIDI1LCA1LCA3NSwgMjUyLCAxMjAsIDI1LCA1LCAyMjYsIDY3LCA3NSwgMjUyLCAKKyAgICAxMjAsIDI1LCA1LCAyNDUsIDIwOSwgMjUyLCAxMjAsIDI1LCA1LCA3MywgMjUyLCAxMjAsIDI1LCA1LCAyMzQsIDIxMiwgNzMsIAorICAgIDI1MiwgMTIwLCAyNSwgNSwgNzYsIDI1MiwgMTIwLCAyNSwgNSwgMjM0LCAyMTIsIDc2LCAyNTIsIDEyMCwgMjUsIDUsIDcwLCAKKyAgICAyNTIsIDEyMCwgMjUsIDUsIDEwNCwgMzEsIDIxOSwgMTY0LCAyMDYsIDI1MiwgMTIwLCAxMTYsIDUsIDIyOSwgNzksIDI1MiwgCisgICAgMTIwLCAxMTYsIDUsIDI0MiwgNjAsIDI1MiwgMTIwLCAyMjYsIDM3LCAyNTIsIDEyMCwgMjI2LCAzMywgMjUyLCAxMjAsIDE2LCAKKyAgICAyNTEsIDI0MSwgMjI5LCAyMjksIDIzMSwgMzcsIDI1MiwgMTIwLCAxNiwgMjUxLCAyNDEsIDIyNSwgNjQsIDI1MiwgMTIwLCAKKyAgICAxNiwgMjUxLCAyNDEsIDIzNSwgNDgsIDI1MiwgMTIwLCAxNiwgMjUxLCAyNDEsIDIyNiwgMzcsIDE5NiwgMSwgMTc2LCAxOTYsIAorICAgIDEsIDIzNCwgMzksIDE5NiwgMSwgMjM0LCAxMzIsIDE5NiwgMSwgMjQzLCAxMzUsIDE5NiwgMSwgMjQyLCAxODYsIDE5NiwgMSwgCisgICAgMjI5LCA3NywgMTk2LCAxLCAyNTEsIDMzLCAxOTYsIDEsIDI1MCwgMTU3LCAxOTYsIDEsIDIzNSwgMTQxLCAxOTYsIDEsIAorICAgIDIyNywgMTY1LCAxOTYsIDEsIDIxNywgMTA1LCAxOTYsIDEsIDIxNiwgMjA4LCAxOTYsIDEsIDI0OCwgMjIxLCAxOTYsIDEsIAorICAgIDE5NywgMTk2LCAxLCAxOTAsIDE5NiwgMSwgMjI1LCA0MiwgMTk2LCAxLCAyMjUsIDE0NywgMTk2LCAxLCAyNDQsIDE5NiwgCisgICAgMTk2LCAxLCAyNDQsIDc1LCAxOTYsIDEsIDI1MiwgMTkxLCAxOTYsIDEsIDI1MSwgMjIyLCAxOTYsIDEsIDE4NCwgMTk2LCAxLCAKKyAgICAyMzAsIDE2OCwgMTk2LCAxLCAyMTUsIDE4MywgMTk2LCAxLCAyMTUsIDE3NSwgMTk2LCAxLCAyNDYsIDM4LCAxOTYsIDEsIAorICAgIDE5MSwgMTk2LCAxLCAyMDUsIDE5NiwgMSwgMjMzLCAxMzUsIDE5NiwgMSwgMTYyLCAxOTYsIDEsIDI0MSwgMTUzLCAxOTYsIAorICAgIDEsIDIxNCwgMjcsIDE5NiwgMSwgMjA2LCAxOTYsIDEsIDIyMCwgMTAyLCAxOTYsIDEsIDIxMiwgNjUsIDE5NiwgMSwgNjEsIAorICAgIDE5NiwgMjE4LCA3MywgMSwgMTkxLCAxOTYsIDIxOCwgNzMsIDEsIDIwNSwgMTk2LCAyNSwgNSwgMjU1LCA3MywgMTk2LCAyNSwgCisgICAgNSwgNzMsIDE5NiwgMjUsIDUsIDc2LCAxOTYsIDI1LCA1LCAyMjYsIDE4MywgMTk2LCAyNSwgNSwgNzAsIDE5NiwgMjUsIDUsIAorICAgIDIxNCwgMTE4LCAxOTYsIDI1LCA1LCA3NSwgMTk2LCAxMTYsIDUsIDIzNSwgMjMsIDE5NiwgMTE2LCA1LCAxOTMsIDE5NiwgCisgICAgMTE2LCA1LCAxNTYsIDE5NiwgMTE2LCA1LCAyMzAsIDI1LCAxOTYsIDExNiwgNSwgMjI2LCAxMDUsIDE5NiwgMTE2LCA1LCAKKyAgICAxNTMsIDE5NiwgMTE2LCA1LCAyMTcsIDE1MiwgMTk2LCAxMTYsIDUsIDIyNywgMTQyLCAxOTYsIDExNiwgNSwgMjM0LCAyMzAsIAorICAgIDE5NiwgNSwgMjIzLCAxNTAsIDE5NiwgNSwgMjI3LCAyMDUsIDE5NiwgMjI0LCAxNDEsIDIxNywgMTAzLCAxOTYsIDIyNCwgCisgICAgMTQxLCAyMjcsIDE1MiwgMjE2LCAxMjAsIDIxNywgMTAzLCAxOTYsIDIyNCwgMTQxLCAyNTAsIDE2NCwgMTk2LCAyMjQsIAorICAgIDE0MSwgMjE1LCAxNzAsIDI1MCwgMTY0LCAxOTYsIDIyNCwgMTQxLCAyMTUsIDE2OSwgMTk2LCAyMSwgMjEwLCA4NiwgMTk2LCAKKyAgICAyMSwgMTEwLCAxOTYsIDIxLCAxMDUsIDE5NiwgMjEsIDE1OCwgMTk2LCAyMSwgMTYxLCAxOTYsIDIxLCAxODksIDE5NiwgMjEsIAorICAgIDE5NCwgMTk2LCAyMSwgMTk4LCAxOTYsIDIxLCAxOTUsIDE5NiwgMjEsIDIwMCwgMTk2LCAxLCAyMTUsIDE1NiwgMTk2LCAxLCAKKyAgICAyMTUsIDE0NCwgMTk2LCAxLCAyNDgsIDEzNSwgMjI2LCAyMTAsIDI1MCwgMTAzLCAyMSwgMjEwLCA4NiwgMjI2LCAyMTAsIAorICAgIDI1MCwgMTAzLCAyMSwgMTEwLCAyMjYsIDIxMCwgMjUwLCAxMDMsIDIxLCAxMDUsIDIyNiwgMjEwLCAyNTAsIDEwMywgMjEsIAorICAgIDE1OCwgMjI2LCAyMTAsIDI1MCwgMTAzLCAyMSwgMTYxLCAyMjYsIDIxMCwgMjUwLCAxMDMsIDIxLCAxODksIDIyNiwgMjEwLCAKKyAgICAyNTAsIDEwMywgMjEsIDE5NCwgMjI2LCAyMTAsIDI1MCwgMTAzLCAyMSwgMTk4LCAyMjYsIDIxMCwgMjUwLCAxMDMsIDIxLCAKKyAgICAxOTUsIDIyNiwgMjEwLCAyNTAsIDEwMywgMjEsIDIwMCwgMjI2LCAyMTAsIDI1MCwgMTAzLCAxLCAyMzMsIDEzNSwgMjI2LCAKKyAgICAyMTAsIDI1MCwgMTAzLCAxLCAyNTMsIDIwNiwgMjI2LCAyMTAsIDI1MCwgMTAzLCAxLCAyNTQsIDIxNiwgMjI2LCAyMTAsIAorICAgIDI1MCwgMTAzLCAxLCAyNTQsIDExNSwgMjI2LCAyMTAsIDI1MCwgMTAzLCAxLCAyNTQsIDE3OCwgMjI2LCAyMTAsIDI1MCwgCisgICAgMTAzLCAxLCAyMzMsIDEzNCwgMjI2LCAyMTAsIDI1MCwgMTAzLCAxLCAyNTUsIDM1LCAyMjYsIDIxMCwgMjUwLCAxMDMsIDEsIAorICAgIDI1NSwgMzYsIDIyNiwgMjEwLCAyNTAsIDEwMywgMSwgMjU1LCAzNCwgMjI2LCAyMTAsIDI1MCwgMTAzLCAxLCAyNTUsIDI5LCAKKyAgICAyMjYsIDIxMCwgMjUwLCAxMDMsIDEsIDIzMiwgMjQxLCAyMjYsIDIxMCwgMjUwLCAxMDMsIDEsIDIzNSwgMTcxLCAyMjYsIAorICAgIDIxMCwgMjUwLCAxMDMsIDEsIDIzNiwgMzQsIDIyNiwgMjEwLCAyNTAsIDEwMywgMSwgMjM1LCAxOTAsIDIyNiwgMjEwLCAKKyAgICAyNTAsIDEwMywgMSwgMjM1LCAxNzksIDIyNiwgMjEwLCAyNTAsIDEwMywgMSwgMjMyLCA5OCwgMjI2LCAyMTAsIDI1MCwgCisgICAgMTAzLCAxLCAyMTQsIDIyMSwgMjI2LCAyMTAsIDI1MCwgMTAzLCAxLCAyMTQsIDIxOSwgMjI2LCAyMTAsIDI1MCwgMTAzLCAxLCAKKyAgICAyMTQsIDE2OCwgMjI2LCAyMTAsIDI1MCwgMTAzLCAxLCAyMTQsIDExMSwgMjI2LCAyMTAsIDI1MCwgMTAzLCAxLCAyMzMsIAorICAgIDU4LCAyMjYsIDIxMCwgMjUwLCAxMDMsIDEsIDI0NSwgMTA4LCAyMjYsIDIxMCwgMjUwLCAxMDMsIDEsIDI0NSwgMjEyLCAKKyAgICAyMjYsIDIxMCwgMjUwLCAxMDMsIDEsIDI0NSwgMTUwLCAyMjYsIDIxMCwgMjUwLCAxMDMsIDEsIDI0NSwgODYsIDIyNiwgCisgICAgMjEwLCAyNTAsIDEwMywgMSwgMjMyLCAxNTYsIDIyNiwgMjEwLCAyNTAsIDEwMywgMSwgMjI2LCAxMzcsIDIyNiwgMjEwLCAKKyAgICAyNTAsIDEwMywgMSwgMjI2LCAyNTIsIDIyNiwgMjEwLCAyNTAsIDEwMywgMSwgMjI2LCAxMjUsIDIyNiwgMjEwLCAyNTAsIAorICAgIDEwMywgMSwgMjI2LCAyMjIsIDIyNiwgMjEwLCAyNTAsIDEwMywgMjMwLCAxMDMsIDIxNSwgMTIxLCAyMjYsIDIxMCwgMjUwLCAKKyAgICAxMDMsIDI0MywgMTMwLCAyMTUsIDEyMiwgMjI2LCAyMTAsIDI1MCwgMTAzLCAyMzAsIDEwMSwgMjE1LCAxMjIsIDIyNiwgCisgICAgMjEwLCAyNTAsIDEwMywgMjIzLCA5MiwgMjI2LCAyMTAsIDI1MCwgMTAzLCAyMjUsIDE0NSwgMjI2LCAyMTAsIDI1MCwgMTAzLCAKKyAgICAyNTQsIDIwOCwgMjI2LCAyMTAsIDI1MCwgMTAzLCAyMjQsIDE0MSwgMjMwLCA5OCwgMjI2LCAyMTAsIDI1MCwgMTAzLCAyMjQsIAorICAgIDE0MSwgNTIsIDIzMCwgOTgsIDIwNywgMjI0LCAxNDEsIDI1MSwgMjQxLCAyMTgsIDgsIDIwNywgMjI0LCAxNDEsIDI1MSwgCisgICAgMjQxLCAyMjYsIDM4LCAyMDcsIDIyNCwgMTQxLCAyNTEsIDI0MSwgMjI0LCAxMjksIDIwNywgMjI0LCAxNDEsIDI1MSwgMjQxLCAKKyAgICAyNTEsIDE5LCAyMDcsIDIyNCwgMTQxLCAyNTEsIDI0MSwgMjMzLCA4LCAyMjEsIDIyNSwgMjA3LCAyMjQsIDE0MSwgMjUxLCAKKyAgICAyNDEsIDIzNSwgMTMsIDIyMSwgMjI1LCAyMDcsIDIyNCwgMTQxLCAyNTEsIDI0MSwgMjQ4LCAyMjIsIDIyMSwgMjI1LCAyMDcsIAorICAgIDIyNCwgMTQxLCAyNTEsIDI0MSwgMjUyLCAxOTIsIDIyMSwgMjI1LCAyMTMsIDI1MiwgMTM4LCAyMzQsIDIxMCwgMjEzLCAKKyAgICAyNTIsIDEzOCwgMjIwLCA3NywgMjEzLCAyNTIsIDEzOCwgMjI0LCAxOTgsIDIxMywgMjUyLCA1LCAyMjgsIDIwOSwgMjEzLCAKKyAgICAyNTIsIDUsIDIxMSwgODAsIDIzMCwgMjIyLCAyMTgsIDAsIDIxMywgMjUyLCAxMzgsIDIxMSwgODAsIDI1NCwgMjEzLCAyMzUsIAorICAgIDI0MywgMjE4LCAwLCAyMTMsIDI1MiwgMTM4LCAyMTEsIDgwLCAyMzUsIDI0MywgMjE4LCAwLCAyMTMsIDI1MiwgMTM4LCAKKyAgICAyMTEsIDgwLCAyMzQsIDE5OCwgMjM1LCAyNDMsIDIxOCwgMCwgMjEzLCAyNTIsIDEzOCwgMjUxLCAyLCA1MSwgMjEzLCAyNTIsIAorICAgIDEzOCwgMjExLCA4MCwgMjM0LCAxOTgsIDIzNSwgMjQzLCAyMTgsIDEsIDIyMSwgMTk3LCAyMTMsIDI1MiwgMTM4LCA1MiwgCisgICAgMjE4LCAwLCAyMTMsIDI1MiwgMTM4LCAyMTUsIDIxMSwgMjE4LCAwLCAyMTMsIDI1MiwgMTM4LCAyMzQsIDE5OCwgMjU0LCAKKyAgICA3NywgMjEzLCAyNTIsIDEzOCwgNTksIDUxLCAyMTMsIDI1MiwgMTM4LCAxMTMsIDE3MCwgNTEsIDIxMywgMjUyLCAxMzgsIAorICAgIDEzNCwgMTcwLCA1MSwgMjEzLCAyNTIsIDEzOCwgMjIyLCAyNDAsIDIzNCwgMjA5LCAyMzUsIDI0MywgMjE4LCAwLCAyMTMsIAorICAgIDI1MiwgMTM4LCAyNTMsIDIwNCwgMjM1LCAyNDMsIDIxOCwgMCwgMjEzLCAyNTIsIDUsIDIxMywgMTQ4LCAyMTgsIDAsIDIxMywgCisgICAgMjUyLCA1LCAyMTMsIDE0OCwgMjE0LCAyMTYsIDIxMywgMjUyLCA1LCAyMjMsIDQ5LCAyMTMsIDE0OCwgMjE0LCAyMTYsIAorICAgIDIxMywgMjUyLCA1LCAyMTMsIDE0OCwgMjU0LCA3NywgMjEzLCAyNTIsIDUsIDIyMywgNDksIDIxMywgMTQ4LCAyNTQsIDc3LCAKKyAgICAyMTMsIDI1MiwgNSwgMjEzLCAxNDgsIDIxNCwgMjE3LCAyLCAyMTcsIDc3LCAyMTMsIDI1MiwgNSwgMjEzLCAxNDgsIDI1NCwgCisgICAgNzgsIDIsIDIxNywgNzcsIDIxMywgMjUyLCA1LCAyNTQsIDc2LCAyNTQsIDkxLCAyMTMsIDI1MiwgNSwgMjU0LCA3NiwgMjUyLCAKKyAgICAxNjYsIDIxMywgMjUyLCA1LCAyNTQsIDc2LCAyMTQsIDIwLCAyMTMsIDI1MiwgNSwgMjU0LCA3NiwgMjE0LCAyMSwgMiwgCisgICAgMjE3LCA3NywgMjEzLCAyNTIsIDUsIDIxNiwgNjgsIDIxMywgMjUyLCA1LCAyNDEsIDE5MSwgMTk5LCAyNTQsIDc1LCAyMTMsIAorICAgIDI1MiwgNSwgMTk5LCAyNTQsIDc1LCAyMTMsIDI1MiwgNSwgMjIyLCAxNDIsIDE5OSwgMjU0LCA3NSwgMjEzLCAyNTIsIDUsIAorICAgIDI1NCwgNzYsIDIxNCwgMjIzLCAyMzAsIDkwLCAyMTMsIDI1MiwgNSwgMjU0LCAyMCwgMjEzLCAyNTIsIDUsIDIyMiwgMTg3LCAKKyAgICAyNTQsIDIwLCAyMTMsIDI1MiwgMTM4LCAyNTEsIDIsIDQ4LCAyMTMsIDI1MiwgNSwgMjM1LCAxMDIsIDIxMywgMjUyLCA1LCAKKyAgICAyMTQsIDE2MSwgNywgMSwgNCwgNiwgNjEsIDcsIDEsIDQsIDYsIDI1NCwgMjQzLCA3LCA0LCAxLCAyMTUsIDk0LCAyNTQsIAorICAgIDI0MywgNywgMSwgNCwgNiwgMjUyLCAxMzQsIDI1MywgMTU4LCA3LCAxLCA0LCA2LCAyNTEsIDY2LCA3LCAxLCA0LCA2LCAKKyAgICAyNDksIDYwLCA3LCAxLCA0LCA2LCAyNDUsIDU5LCA3LCAxLCA0LCA2LCA3NSwgNywgNCwgMSwgMjE1LCA5NCwgMjA0LCA3NSwgCisgICAgNywgNCwgMSwgMjE1LCA5NCwgNzMsIDcsIDEsIDQsIDYsIDIzNSwgMTQ0LCA3LCAxLCA0LCA2LCAyMzUsIDIzLCA3LCAxLCA0LCAKKyAgICA2LCAyMzMsIDE0OSwgMiwgOTEsIDcsIDEsIDQsIDYsIDE5MywgNywgMSwgNCwgNiwgMjIzLCA0OSwgMjMwLCAyNSwgNywgMSwgCisgICAgNCwgNiwgNzYsIDcsIDEsIDQsIDYsIDIwNCwgNzYsIDcsIDQsIDEsIDIxOSwgMTg3LCA3NiwgNywgNCwgMSwgMjE5LCAxODcsIAorICAgIDIwNCwgNzYsIDcsIDQsIDEsIDIxOSwgMTg3LCAxNDQsIDIsIDkxLCA3LCA0LCAxLCAyMTUsIDk0LCAyMjYsIDIzNCwgNywgMSwgCisgICAgNCwgNiwgMjI2LCAxMzQsIDcsIDQsIDEsIDIxNiwgMTQsIDE2MywgNzYsIDcsIDQsIDEsIDI1MSwgMTc1LCAxNjMsIDc2LCA3LCAKKyAgICAxLCA0LCA2LCAyMjYsIDEwNSwgNywgMSwgNCwgNiwgMjIzLCA0OSwgMTUzLCA3LCAxLCA0LCA2LCAyMTUsIDk0LCAxNTMsIDcsIAorICAgIDEsIDQsIDYsIDIxNywgMTUyLCA3LCAxLCA0LCA2LCA3MCwgNywgNCwgMSwgMjE5LCAxODcsIDcwLCA3LCA0LCAxLCAyMTksIAorICAgIDE4NywgMjQ4LCAwLCA3MCwgNywgNCwgMSwgMjE5LCAxODcsIDIxNSwgOTQsIDE5MywgNywgMSwgNCwgNiwgMjE0LCAxMDUsIAorICAgIDcsIDEsIDQsIDYsIDIxMiwgOTgsIDcsIDEsIDQsIDYsIDIxMCwgMTU5LCA3LCAxLCA0LCA2LCAyNDUsIDgsIDcsIDEsIDIxMywgCisgICAgMTM1LCAyMzMsIDgyLCAyMTgsIDI1MCwgNywgMSwgMjU0LCAxOTYsIDI2LCAxLCA0LCA2LCAyNDMsIDEwNywgMjYsIDEsIDQsIAorICAgIDYsIDIzMywgOTgsIDI2LCAxLCA0LCA2LCAyMjUsIDEwOCwgMjYsIDEsIDQsIDYsIDIyMywgMzcsIDI2LCAxLCA0LCA2LCAKKyAgICAyMjQsIDE2MSwgMzMsIDEsIDQsIDYsIDI0NSwgMTc0LCA1OCwgMSwgNiwgNjEsIDU4LCAxLCA2LCAyNTQsIDI0MywgNTgsIDEsIAorICAgIDYsIDI1MywgMTU4LCA1OCwgMSwgNiwgMjUyLCAxMzQsIDI1MywgMTU4LCA1OCwgMSwgNiwgMjQ5LCA2MCwgNTgsIDEsIDYsIAorICAgIDc1LCA1OCwgMSwgNiwgMjIzLCA0OSwgNzUsIDU4LCAxLCA2LCAyNDMsIDIwMiwgNTgsIDEsIDYsIDI0MiwgNjAsIDU4LCAxLCAKKyAgICA2LCA3MywgNTgsIDEsIDYsIDIzNSwgMTQ0LCA1OCwgMSwgNiwgMjM1LCAyMywgNTgsIDEsIDYsIDE1NiwgNTgsIDEsIDYsIAorICAgIDE5MywgNTgsIDEsIDYsIDIzMCwgMjUsIDU4LCAxLCA2LCAyMjMsIDQ5LCAyMzAsIDI1LCA1OCwgMSwgNiwgNzYsIDU4LCAxLCAKKyAgICA2LCAyMjYsIDEzNCwgNTgsIDEsIDYsIDIyNiwgMTA1LCA1OCwgMSwgNiwgMTUzLCA1OCwgMSwgNiwgMjE3LCAxNTIsIDU4LCAKKyAgICAxLCA2LCA3MCwgNTgsIDEsIDYsIDIxMiwgOTgsIDU4LCAxLCA0LCA2MSwgNTgsIDEsIDQsIDIxNSwgOTQsIDYxLCA1OCwgMSwgCisgICAgNCwgMjU0LCAxNDMsIDU4LCAxLCA0LCAyMTUsIDk0LCAyNTQsIDI0MywgNTgsIDEsIDQsIDI1MywgMTU4LCA1OCwgMSwgNCwgCisgICAgMjQ5LCA2MCwgNTgsIDEsIDQsIDc1LCA1OCwgMSwgNCwgMjIxLCAxOTUsIDU4LCAxLCA0LCAyMDQsIDc1LCA1OCwgMSwgNCwgCisgICAgMjE1LCA5NCwgMjA0LCA3NSwgNTgsIDEsIDQsIDI0MywgMjAyLCA1OCwgMSwgNCwgMjE1LCA5NCwgNzMsIDU4LCAxLCA0LCAKKyAgICAyMzUsIDIzLCA1OCwgMSwgNCwgMTkzLCA1OCwgMSwgNCwgMjQ1LCAxMzgsIDU4LCAxLCA0LCA3NiwgNTgsIDEsIDQsIDIwNCwgCisgICAgNzYsIDU4LCAxLCA0LCAyMTYsIDE0LCAxNjMsIDc2LCA1OCwgMSwgNCwgMjUxLCAxNzUsIDE2MywgNzYsIDU4LCAxLCA0LCAKKyAgICAyMjYsIDEwNSwgNTgsIDEsIDQsIDIxNywgMTUyLCA1OCwgMSwgNCwgNzAsIDU4LCAxLCA0LCAyMTksIDE4NywgNzAsIDU4LCAKKyAgICAxLCA0LCAyMTUsIDk0LCAxOTMsIDU4LCAxLCA0LCAyMTQsIDEwNSwgNTgsIDEsIDQsIDI1NCwgMTk2LCA1OCwgMSwgNCwgCisgICAgMjUyLCAyNiwgNTgsIDEsIDQsIDI2LCAyNDMsIDEwNywgNTgsIDEsIDQsIDI0OCwgNTQsIDU4LCAxLCA0LCAyNiwgMjI1LCAKKyAgICAxMzMsIDU4LCAxLCA0LCAyNTAsIDExMCwgNywgMjE4LCA2NSwgNCwgMSwgNzMsIDcsIDIxOCwgNjUsIDQsIDEsIDE1MywgNywgCisgICAgMjE4LCA2NSwgNCwgMSwgNzAsIDcsIDIxOCwgNjUsIDQsIDEsIDIxNCwgMTA1LCAyNiwgMjE4LCA2NSwgNCwgMSwgMjUyLCAKKyAgICAyNiwgMjYsIDIxOCwgNjUsIDQsIDEsIDI0MywgMTA3LCAyNiwgMjE4LCA2NSwgNCwgMSwgMjIzLCAzNywgMjYsIDIxOCwgNjUsIAorICAgIDQsIDEsIDIyNSwgMTMzLCAyNiwgMjE4LCA2NSwgNCwgMSwgMjUwLCAxMTAsIDcsIDQsIDEsIDIxNCwgMjE0LCA3LCA0LCAxLCAKKyAgICA1NywgMiwgMjMwLCAyMjQsIDE4MiwgNywgNCwgMSwgMjQ5LCA2MSwgMiwgMjMwLCAyMjQsIDE4MiwgNywgNCwgMSwgMjQ1LCAKKyAgICA3LCAyLCAyMzAsIDIyNCwgMTgyLCA3LCA0LCAxLCAyMzIsIDUwLCAyLCAyMzAsIDIyNCwgMTgyLCA3LCA0LCAxLCAyMzAsIAorICAgIDI2LCAyLCAyMzAsIDIyNCwgMTgyLCA3LCA0LCAxLCAyMjYsIDEwNiwgMiwgMjMwLCAyMjQsIDE4MiwgNywgNCwgMSwgMjIzLCAKKyAgICAyMjQsIDIsIDIzMCwgMjI0LCAxODIsIDcsIDQsIDEsIDIyMywgMjI0LCAyLCAyNDQsIDg4LCAyMiwgMjMwLCAyMjQsIDE4MiwgCisgICAgNywgNCwgMSwgMjIyLCA5MiwgMiwgMjMwLCAyMjQsIDE4MiwgNywgNCwgMSwgMjE3LCAxNTMsIDIsIDIzMCwgMjI0LCAxODIsIAorICAgIDcsIDQsIDEsIDIxMCwgMTYwLCAyLCAyMzAsIDIyNCwgMTgyLCA3LCA0LCAxLCAyMTUsIDk0LCAyNDMsIDIwMiwgNTgsIDEsIAorICAgIDMzLCAyNDUsIDE1MCwgNywgNCwgMSwgMjM1LCAyMTMsIDI0MywgMjAyLCA3LCA0LCAxLCAyMTYsIDIxMSwgMiwgMjE4LCAKKyAgICAxMDcsIDcsIDQsIDYsIDEsIDI0MCwgMTU0LCAyLCA5MSwgNywgNCwgMSwgMjM1LCAxODYsIDIsIDkxLCA3LCA0LCAxLCAyMjYsIAorICAgIDEwNiwgMiwgOTEsIDcsIDQsIDYsIDEsIDEwNCwgMiwgOTEsIDcsIDQsIDEsIDIxNCwgMTU4LCAyLCA5MSwgNywgNCwgMSwgCisgICAgNTcsIDIsIDIyNiwgNjYsIDEwMywgNywgNCwgMSwgMjQ5LCA2MSwgMiwgMjI2LCA2NiwgMTAzLCA3LCA0LCAxLCAyNDUsIDcsIAorICAgIDIsIDIyNiwgNjYsIDEwMywgNywgNCwgMSwgMjQzLCAyMDMsIDIsIDIyNiwgNjYsIDEwMywgNywgNCwgMSwgMjM1LCAyNCwgMiwgCisgICAgMjI2LCA2NiwgMTAzLCA3LCA0LCAxLCAyMzMsIDE0OSwgMiwgMjI2LCA2NiwgMTAzLCA3LCA0LCAxLCAyMzIsIDUwLCAyLCAKKyAgICAyMjYsIDY2LCAxMDMsIDcsIDQsIDEsIDIzMCwgMjYsIDIsIDIyNiwgNjYsIDEwMywgNywgNCwgMSwgMjI2LCAxMDYsIDIsIAorICAgIDIyNiwgNjYsIDEwMywgNywgNCwgMSwgMjIzLCAyMjQsIDIsIDIyNiwgNjYsIDEwMywgNywgNCwgMSwgMjIyLCA5MiwgMiwgCisgICAgMjI2LCA2NiwgMTAzLCA3LCA0LCAxLCAyNDUsIDc2LCAyLCAyMjYsIDY2LCAxMDMsIDcsIDQsIDEsIDIxNCwgMTA2LCAyLCAKKyAgICAyMjYsIDY2LCAxMDMsIDcsIDQsIDEsIDIxMSwgMTc5LCAyLCAyMjYsIDY2LCAxMDMsIDcsIDQsIDEsIDIxMCwgMTYwLCAyLCAKKyAgICAyMjYsIDY2LCAxMDMsIDcsIDQsIDEsIDExNSwgMiwgMjIzLCA1NSwgMTAzLCA3LCA0LCAxLCAyNTQsIDE0NCwgMiwgMjIzLCAKKyAgICA1NSwgMTAzLCA3LCA0LCAxLCAyNDksIDYxLCAyLCAyNDEsIDUyLCAyMiwgMjE3LCA3NywgNywgNCwgMSwgMTYwLCAyLCAyMjMsIAorICAgIDU1LCAxMDMsIDcsIDQsIDEsIDIwNCwgMTYwLCAyLCAyMjMsIDU1LCAxMDMsIDcsIDQsIDEsIDIyMywgNDksIDIwNCwgMTYwLCAKKyAgICAyLCAyMjMsIDU1LCAxMDMsIDcsIDQsIDEsIDIyMSwgMTk2LCAyLCAyMjMsIDU1LCAxMDMsIDcsIDQsIDEsIDI0MCwgMTU0LCAKKyAgICAyLCAyMjMsIDU1LCAxMDMsIDcsIDQsIDEsIDIwNCwgMTQ0LCAyLCAyMjMsIDU1LCAxMDMsIDcsIDQsIDEsIDI0NSwgNzYsIDIsIAorICAgIDIyMywgNTUsIDEwMywgNywgNCwgMSwgMTA0LCAyLCAyMjMsIDU1LCAxMDMsIDcsIDQsIDEsIDI0NSwgOSwgMiwgMjIzLCA1NSwgCisgICAgMTAzLCA1OCwgMSwgNCwgMjE1LCA5NCwgMjU0LCAxNDMsIDU4LCAxLCA0LCAyNTEsIDY2LCA1OCwgMSwgNCwgMjUxLCA2NywgCisgICAgMiwgMjQ5LCAxMDAsIDU4LCAxLCA0LCAyNDUsIDU5LCA1OCwgMSwgNCwgMjIzLCA0OSwgMjA0LCA3NSwgNTgsIDEsIDQsIAorICAgIDI0NSwgNiwgNTgsIDEsIDQsIDI0NywgMTE5LCAyMzUsIDE0NSwgMiwgOTEsIDU4LCAxLCA0LCAxMTksIDI0MywgMjAyLCA1OCwgCisgICAgMSwgNCwgMjE1LCA5NCwgMjQyLCA2MCwgNTgsIDEsIDQsIDI0MCwgMTU0LCAyLCA5MSwgNTgsIDEsIDQsIDIzNSwgMTg1LCAKKyAgICA1OCwgMSwgNCwgNiwgNzMsIDU4LCAxLCA0LCA2LCAyNDAsIDE1NCwgMiwgOTEsIDU4LCAxLCA0LCAyMzUsIDE0NSwgMiwgCisgICAgMjQ5LCAxMjcsIDU4LCAxLCA0LCAyMzMsIDE0OSwgMiwgMjIzLCA1NSwgMTAzLCA1OCwgMSwgNCwgMjMzLCAxNDksIDIsIAorICAgIDIyNiwgNjYsIDEwMywgNTgsIDEsIDQsIDYsIDE1NiwgNTgsIDEsIDQsIDIzMiwgNTAsIDIsIDEwMywgNTgsIDEsIDQsIDIxNSwgCisgICAgOTQsIDIzMiwgNTAsIDIsIDE5OSwgMjMzLCAzNiwgNTgsIDEsIDQsIDIzMCwgMjYsIDIsIDQzLCAxMDMsIDU4LCAxLCA0LCAKKyAgICAyMzAsIDI2LCAyLCAyMjMsIDU1LCAxMDMsIDU4LCAxLCA0LCA2LCAyMzAsIDI1LCA1OCwgMSwgNCwgMjUyLCAxMzQsIDc2LCAKKyAgICA1OCwgMSwgNCwgMjI1LCAxMzMsIDU4LCAxLCA0LCAyMjIsIDkyLCAyLCAxMDMsIDU4LCAxLCA0LCAyNDUsIDc1LCA1OCwgMSwgCisgICAgNCwgMjE3LCAxNTMsIDIsIDIyNiwgNjYsIDEwMywgNTgsIDEsIDQsIDEwNCwgMTMwLCA1OCwgMSwgNCwgMjE0LCAxNTcsIDU4LCAKKyAgICAxLCA0LCA2LCA3MCwgNTgsIDEsIDQsIDIxNCwgMTA2LCAyLCAxMDMsIDU4LCAxLCA0LCAyMTUsIDk0LCAyMTQsIDEwNSwgNTgsIAorICAgIDEsIDQsIDIxMCwgMTU5LCA1OCwgMSwgNCwgMjEwLCAxNjAsIDIsIDIyMywgNTUsIDEwMywgNTgsIDEsIDQsIDIxMCwgMTYwLCAKKyAgICAyLCAyNDksIDEwMCwgNTgsIDEsIDQsIDI0NSwgOCwgNTgsIDEsIDQsIDIxNiwgMTc5LCAzOCwgMjQ2LCAxMTgsIDI0MiwgCisgICAgMTM3LCAyNTUsIDE0LCAzOCwgMjQ2LCAxMTgsIDI1NSwgMywgMjU1LCAxNCwgMzgsIDIxOSwgNjksIDUxLCAzOCwgMjE4LCA2LCAKKyAgICA3OCwgMzgsIDIzMSwgMjMxLCAzOCwgMjQyLCAxMzQsIDM4LCAyMzEsIDIyOSwgMzgsIDI1NSwgMSwgMzgsIDI0MiwgMTM1LCAKKyAgICAzOCwgMjU1LCAyLCAzOCwgNywgNCwgMSwgMjIzLCAyMjQsIDUxLCAzOCwgMjUxLCAxNDUsIDM4LCAyMzEsIDIzMCwgMzgsIAorICAgIDUyLCAyNTAsIDMxLCA0OCwgMzgsIDIyNiwgMjI1LCA0OCwgMzgsIDIxMCwgMzUsIDUxLCAzOCwgMjM1LCAxNzIsIDUxLCAzOCwgCisgICAgMjE0LCAxNTEsIDQ4LCAzOCwgMjE0LCAxMzQsIDQ4LCAzOCwgNywgNCwgMSwgMjQ0LCA2MywgMjA0LCAxMTUsIDQ4LCAzOCwgCisgICAgNywgNCwgMSwgMjU0LCAyNDMsIDM4LCA3LCA0LCAxLCAyNTQsIDczLCAzOCwgNywgNCwgMSwgMjUzLCAxNzYsIDM4LCA3LCA0LCAKKyAgICAxLCAyNTEsIDY3LCAyNTAsIDE4MywgMzgsIDcsIDQsIDEsIDIzNSwgMjEzLCAyNDksIDYwLCAzOCwgNywgNCwgMSwgMjQ1LCAKKyAgICA1OSwgMzgsIDcsIDQsIDEsIDI0MywgMjAyLCAzOCwgNywgMSwgNCwgNiwgMjQzLCAyMDIsIDM4LCA3LCA0LCAxLCAyMzUsIAorICAgIDIzLCAzOCwgNywgNCwgMSwgMTU2LCAzOCwgNywgMSwgNCwgNiwgMTU2LCAzOCwgNywgMSwgNCwgNiwgMTkzLCAzOCwgNywgNCwgCisgICAgMSwgMjMwLCAyNSwgMzgsIDcsIDEsIDQsIDYsIDIzMCwgMjUsIDM4LCA3LCAxLCA0LCA2LCAxNTMsIDM4LCA3LCA0LCAxLCAKKyAgICAyMjMsIDIyNCwgMjIyLCAxODYsIDM4LCA3LCA0LCAxLCAyMjIsIDkxLCAzOCwgNywgNCwgMSwgMTk5LCAyMjIsIDkxLCAzOCwgCisgICAgNywgNCwgMSwgMjEwLCAxNTksIDM4LCA1MiwgMjM1LCAxOTMsIDI1MSwgMTQ3LCA1MSwgMzgsIDI1NCwgMTQ4LCAxMjgsIAorICAgIDIxNiwgNDIsIDUxLCAzOCwgNDMsIDI1MywgMjUwLCA0OCwgMzgsIDQ0LCAyNTMsIDI1MCwgMjIsIDEyNCwgMjUzLCAyNTAsIAorICAgIDUxLCA3LCA2LCAxLCAxMTUsIDIsIDIyMiwgMjM0LCA1MSwgNywgNCwgMSwgMTE1LCAyLCAyMjIsIDIzNCwgNTEsIDcsIDYsIAorICAgIDEsIDU3LCAyLCA1OSwgNDgsIDcsIDQsIDEsIDU3LCAyLCA1OSwgNDgsIDcsIDYsIDEsIDU3LCAyLCA1OSwgNTEsIDcsIDQsIAorICAgIDEsIDU3LCAyLCA1OSwgNTEsIDcsIDYsIDEsIDU3LCAyLCAyMzIsIDIxNCwgNTEsIDcsIDQsIDEsIDU3LCAyLCAyMzIsIDIxNCwgCisgICAgNTEsIDcsIDYsIDEsIDI1MSwgNjcsIDIsIDI1MCwgMTg0LCAyMiwgMTQyLCA3LCA0LCAxLCAyNTEsIDY3LCAyLCAyNTAsIAorICAgIDE4NCwgMjIsIDE0MiwgNywgNiwgMSwgMjQ5LCA2MSwgMiwgNTksIDQ4LCA3LCA0LCAxLCAyNDksIDYxLCAyLCA1OSwgNDgsIAorICAgIDcsIDYsIDEsIDI0OSwgNjEsIDIsIDU5LCA1MSwgNywgNCwgMSwgMjQ5LCA2MSwgMiwgNTksIDUxLCA3LCA2LCAxLCAyNDksIAorICAgIDYxLCAyLCAyMzIsIDIxNCwgNTEsIDcsIDQsIDEsIDI0OSwgNjEsIDIsIDIzMiwgMjE0LCA1MSwgNywgNiwgMSwgMjQ5LCA2MSwgCisgICAgMiwgMjUwLCAxODMsIDcsIDQsIDEsIDI0OSwgNjEsIDIsIDI1MCwgMTgzLCA3LCA2LCAxLCAyNDksIDYxLCAyLCAyNTAsIDMxLCAKKyAgICA1MSwgNywgNCwgMSwgMjQ5LCA2MSwgMiwgMjUwLCAzMSwgNTEsIDcsIDYsIDEsIDE2MCwgMiwgMjMxLCAyMzMsIDIyLCAyNDIsIAorICAgIDEzNiwgNywgNCwgMSwgMTYwLCAyLCAyMzEsIDIzMywgMjIsIDI0MiwgMTM2LCA3LCA2LCAxLCAxNjAsIDIsIDIzMSwgMjMzLCAKKyAgICAyMiwgMTQyLCA3LCA0LCAxLCAxNjAsIDIsIDIzMSwgMjMzLCAyMiwgMTQyLCA3LCA2LCAxLCAxNjAsIDIsIDI1MCwgMzEsIAorICAgIDUxLCA3LCA0LCAxLCAxNjAsIDIsIDI1MCwgMzEsIDUxLCA3LCA2LCAxLCAxNjAsIDIsIDIxNiwgODksIDUxLCA3LCA0LCAxLCAKKyAgICAxNjAsIDIsIDIxNiwgODksIDUxLCA3LCA2LCAxLCAxNjAsIDIsIDI1MCwgMTg0LCAyMiwgMjUxLCAxNDYsIDcsIDQsIDEsIAorICAgIDE2MCwgMiwgMjUwLCAxODQsIDIyLCAyNTEsIDE0NiwgNywgNiwgMSwgMjQ1LCA3LCAyLCA1OSwgNDgsIDcsIDQsIDEsIDI0NSwgCisgICAgNywgMiwgNTksIDQ4LCA3LCA2LCAxLCAyNDMsIDIwMywgMiwgMjMxLCAyMzIsIDcsIDQsIDEsIDI0MywgMjAzLCAyLCAyMzEsIAorICAgIDIzMiwgNywgNiwgMSwgMjQyLCA2MSwgMiwgNTksIDQ4LCA3LCA0LCAxLCAyNDIsIDYxLCAyLCA1OSwgNDgsIDcsIDYsIDEsIAorICAgIDI0MiwgNjEsIDIsIDU5LCA1MSwgNywgNCwgMSwgMjQyLCA2MSwgMiwgNTksIDUxLCA3LCA2LCAxLCAyNDIsIDYxLCAyLCAKKyAgICAyNDgsIDEsIDcsIDQsIDEsIDI0MiwgNjEsIDIsIDI0OCwgMSwgNywgNiwgMSwgMjQyLCA2MSwgMiwgMjUwLCAxODMsIDcsIDQsIAorICAgIDEsIDI0MiwgNjEsIDIsIDI1MCwgMTgzLCA3LCA2LCAxLCAyNDIsIDYxLCAyLCAyNTEsIDE0NywgNTEsIDcsIDQsIDEsIDI0MiwgCisgICAgNjEsIDIsIDI1MSwgMTQ3LCA1MSwgNywgNiwgMSwgMjQwLCAxNTQsIDIsIDIxNiwgODksIDUxLCA3LCA0LCAxLCAyNDAsIAorICAgIDE1NCwgMiwgMjE2LCA4OSwgNTEsIDcsIDYsIDEsIDI0MCwgMTU0LCAyLCAyNDgsIDIsIDIyLCAxNDIsIDcsIDQsIDEsIDI0MCwgCisgICAgMTU0LCAyLCAyNDgsIDIsIDIyLCAxNDIsIDcsIDYsIDEsIDIzNSwgMjQsIDIsIDE0MiwgNywgNCwgMSwgMjM1LCAyNCwgMiwgCisgICAgMTQyLCA3LCA2LCAxLCAyMzUsIDI0LCAyLCA1OSwgNTEsIDcsIDQsIDEsIDIzNSwgMjQsIDIsIDU5LCA1MSwgNywgNiwgMSwgCisgICAgMjM1LCAyNCwgMiwgMjMyLCAyMTQsIDUxLCA3LCA0LCAxLCAyMzUsIDI0LCAyLCAyMzIsIDIxNCwgNTEsIDcsIDYsIDEsIAorICAgIDIzMywgMTQ5LCAyLCA1OSwgNTEsIDcsIDQsIDEsIDIzMywgMTQ5LCAyLCA1OSwgNTEsIDcsIDYsIDEsIDIzMywgMTQ5LCAyLCAKKyAgICA1OSwgMjUyLCA0MywgMjIsIDIzMSwgMjMyLCA3LCA0LCAxLCAyMzMsIDE0OSwgMiwgNTksIDI1MiwgNDMsIDIyLCAyMzEsIAorICAgIDIzMiwgNywgNiwgMSwgMjMzLCAxNDksIDIsIDIzMiwgMjE0LCA1MSwgNywgNCwgMSwgMjMzLCAxNDksIDIsIDIzMiwgMjE0LCAKKyAgICA1MSwgNywgNiwgMSwgMjMzLCAxNDksIDIsIDI1MCwgMzEsIDUxLCA3LCA0LCAxLCAyMzMsIDE0OSwgMiwgMjUwLCAzMSwgNTEsIAorICAgIDcsIDYsIDEsIDIzMiwgNTAsIDIsIDE0MiwgNywgNCwgMSwgMjMyLCA1MCwgMiwgMTQyLCA3LCA2LCAxLCAyMzIsIDUwLCAyLCAKKyAgICA1OSwgNDgsIDcsIDQsIDEsIDIzMiwgNTAsIDIsIDU5LCA0OCwgNywgNiwgMSwgMjMyLCA1MCwgMiwgNTksIDUxLCA3LCA0LCAKKyAgICAxLCAyMzIsIDUwLCAyLCA1OSwgNTEsIDcsIDYsIDEsIDIzMCwgMjYsIDIsIDU5LCA0OCwgNywgNCwgMSwgMjMwLCAyNiwgMiwgCisgICAgNTksIDQ4LCA3LCA2LCAxLCAyMzAsIDI2LCAyLCA1OSwgNTEsIDcsIDQsIDEsIDIzMCwgMjYsIDIsIDU5LCA1MSwgNywgNiwgCisgICAgMSwgMjMwLCAyNiwgMiwgMjMyLCAyMTQsIDUxLCA3LCA0LCAxLCAyMzAsIDI2LCAyLCAyMzIsIDIxNCwgNTEsIDcsIDYsIDEsIAorICAgIDIzMCwgMjYsIDIsIDI1MCwgMzEsIDUxLCA3LCA0LCAxLCAyMzAsIDI2LCAyLCAyNTAsIDMxLCA1MSwgNywgNiwgMSwgMTQ0LCAKKyAgICAyLCAyMTYsIDg5LCAyMiwgMTQyLCA3LCA0LCAxLCAxNDQsIDIsIDIxNiwgODksIDIyLCAxNDIsIDcsIDYsIDEsIDE0NCwgMiwgCisgICAgMjE2LCA4OSwgMjIsIDI0OCwgMSwgNywgNCwgMSwgMTQ0LCAyLCAyMTYsIDg5LCAyMiwgMjQ4LCAxLCA3LCA2LCAxLCAxNDQsIAorICAgIDIsIDIzMSwgMjMzLCAyMiwgMjQyLCAxMzYsIDcsIDQsIDEsIDE0NCwgMiwgMjMxLCAyMzMsIDIyLCAyNDIsIDEzNiwgNywgNiwgCisgICAgMSwgMTQ0LCAyLCAyMzEsIDIzMywgMjIsIDE0MiwgNywgNCwgMSwgMTQ0LCAyLCAyMzEsIDIzMywgMjIsIDE0MiwgNywgNiwgCisgICAgMSwgMjI2LCAxMDYsIDIsIDE0MiwgNywgNCwgMSwgMjI2LCAxMDYsIDIsIDE0MiwgNywgNiwgMSwgMjI2LCAxMDYsIDIsIDU5LCAKKyAgICA0OCwgNywgNCwgMSwgMjI2LCAxMDYsIDIsIDU5LCA0OCwgNywgNiwgMSwgMjIzLCAyMjQsIDIsIDU5LCA0OCwgNywgNCwgMSwgCisgICAgMjIzLCAyMjQsIDIsIDU5LCA0OCwgNywgNiwgMSwgMjIzLCAyMjQsIDIsIDU5LCA1MSwgNywgNCwgMSwgMjIzLCAyMjQsIDIsIAorICAgIDU5LCA1MSwgNywgNiwgMSwgMjIzLCAyMjQsIDIsIDU5LCAyNTIsIDQzLCAyMiwgMjMxLCAyMzIsIDcsIDQsIDEsIDIyMywgCisgICAgMjI0LCAyLCA1OSwgMjUyLCA0MywgMjIsIDIzMSwgMjMyLCA3LCA2LCAxLCAyMjMsIDIyNCwgMiwgMjMyLCAyMTQsIDUxLCA3LCAKKyAgICA0LCAxLCAyMjMsIDIyNCwgMiwgMjMyLCAyMTQsIDUxLCA3LCA2LCAxLCAyMjIsIDkyLCAyLCA1OSwgNDgsIDcsIDQsIDEsIAorICAgIDIyMiwgOTIsIDIsIDU5LCA0OCwgNywgNiwgMSwgMjIyLCA5MiwgMiwgNTksIDUxLCA3LCA0LCAxLCAyMjIsIDkyLCAyLCA1OSwgCisgICAgNTEsIDcsIDYsIDEsIDIyMiwgOTIsIDIsIDI1NSwgMywgMjIsIDU5LCA0OCwgNywgNCwgMSwgMjIyLCA5MiwgMiwgMjU1LCAzLCAKKyAgICAyMiwgNTksIDQ4LCA3LCA2LCAxLCAyMjIsIDkyLCAyLCAyNTAsIDIzNSwgMjIsIDU5LCA0OCwgNywgNCwgMSwgMjIyLCA5MiwgCisgICAgMiwgMjUwLCAyMzUsIDIyLCA1OSwgNDgsIDcsIDYsIDEsIDIyMiwgOTIsIDIsIDU5LCAyNTIsIDQzLCAyMiwgNTksIDQ4LCA3LCAKKyAgICA0LCAxLCAyMjIsIDkyLCAyLCA1OSwgMjUyLCA0MywgMjIsIDU5LCA0OCwgNywgNiwgMSwgMjE3LCAxNTMsIDIsIDU5LCA0OCwgCisgICAgNywgNCwgMSwgMjE3LCAxNTMsIDIsIDU5LCA0OCwgNywgNiwgMSwgMjE3LCAxNTMsIDIsIDU5LCA1MSwgNywgNCwgMSwgMjE3LCAKKyAgICAxNTMsIDIsIDU5LCA1MSwgNywgNiwgMSwgMjE3LCAxNTMsIDIsIDIzMiwgMjE0LCA1MSwgNywgNCwgMSwgMjE3LCAxNTMsIDIsIAorICAgIDIzMiwgMjE0LCA1MSwgNywgNiwgMSwgMjE3LCAxNTMsIDIsIDI1MCwgMzEsIDUxLCA3LCA0LCAxLCAyMTcsIDE1MywgMiwgCisgICAgMjUwLCAzMSwgNTEsIDcsIDYsIDEsIDEwNCwgMiwgMjQ4LCAyLCA1MSwgNywgNCwgMSwgMTA0LCAyLCAyNDgsIDIsIDUxLCA3LCAKKyAgICA2LCAxLCAxMDQsIDIsIDIxNiwgODksIDUxLCA3LCA0LCAxLCAxMDQsIDIsIDIxNiwgODksIDUxLCA3LCA2LCAxLCAxMDQsIDIsIAorICAgIDI1MCwgMzEsIDUxLCA3LCA0LCAxLCAxMDQsIDIsIDI1MCwgMzEsIDUxLCA3LCA2LCAxLCAxMDQsIDIsIDIxNiwgODksIDIyLCAKKyAgICAxNDIsIDcsIDQsIDEsIDEwNCwgMiwgMjE2LCA4OSwgMjIsIDE0MiwgNywgNiwgMSwgMTA0LCAyLCAyMzEsIDIzMywgMjIsIAorICAgIDI0OCwgMSwgNywgNCwgMSwgMTA0LCAyLCAyMzEsIDIzMywgMjIsIDI0OCwgMSwgNywgNiwgMSwgMjE0LCAxMDYsIDIsIDE4MiwgCisgICAgNywgNCwgMSwgMjE0LCAxMDYsIDIsIDE4MiwgNywgNiwgMSwgMjE0LCAxMDYsIDIsIDU5LCA1MSwgNywgNCwgMSwgMjE0LCAKKyAgICAxMDYsIDIsIDU5LCA1MSwgNywgNiwgMSwgMjEyLCA5OSwgMiwgMjQyLCAxMzYsIDcsIDQsIDEsIDIxMiwgOTksIDIsIDI0MiwgCisgICAgMTM2LCA3LCA2LCAxLCAyMTIsIDk5LCAyLCAxNDIsIDcsIDQsIDEsIDIxMiwgOTksIDIsIDE0MiwgNywgNiwgMSwgMjEyLCAKKyAgICA5OSwgMiwgMjQ4LCAxLCA3LCA0LCAxLCAyMTIsIDk5LCAyLCAyNDgsIDEsIDcsIDYsIDEsIDIxMiwgOTksIDIsIDU5LCA0OCwgCisgICAgNywgNCwgMSwgMjEyLCA5OSwgMiwgNTksIDQ4LCA3LCA2LCAxLCAyMTIsIDk5LCAyLCA1OSwgNTEsIDcsIDQsIDEsIDIxMiwgCisgICAgOTksIDIsIDU5LCA1MSwgNywgNiwgMSwgMjExLCAxNzksIDIsIDU5LCA0OCwgNywgNCwgMSwgMjExLCAxNzksIDIsIDU5LCAKKyAgICA0OCwgNywgNiwgMSwgMjExLCAxNzksIDIsIDI0OCwgMSwgNywgNCwgMSwgMjExLCAxNzksIDIsIDI0OCwgMSwgNywgNiwgMSwgCisgICAgMjExLCAxMTgsIDIsIDU5LCA0OCwgNywgNCwgMSwgMjExLCAxMTgsIDIsIDU5LCA0OCwgNywgNiwgMSwgMjEwLCAxNjAsIDIsIAorICAgIDI1MCwgMzAsIDcsIDQsIDEsIDIxMCwgMTYwLCAyLCAyNTAsIDMwLCA3LCA2LCAxLCAyMTAsIDE2MCwgMiwgNTksIDUxLCA3LCAKKyAgICA0LCAxLCAyMTAsIDE2MCwgMiwgNTksIDUxLCA3LCA2LCAxLCAyMTAsIDE2MCwgMiwgMjMyLCAyMTQsIDUxLCA3LCA0LCAxLCAKKyAgICAyMTAsIDE2MCwgMiwgMjMyLCAyMTQsIDUxLCA3LCA0LCAxLCAyNDIsIDYxLCAyLCAyMzIsIDIxNCwgNTEsIDcsIDQsIDEsIAorICAgIDIxNywgMTUzLCAyLCAyNDgsIDEsIDcsIDQsIDEsIDIxMiwgOTksIDIsIDIyMiwgMjM0LCA0OCwgNywgNCwgMSwgMjExLCAKKyAgICAxMTgsIDIsIDIyMiwgMjM0LCA0OCwgNywgNCwgMSwgMTE1LCAyLCA0NCwgMTYzLCAyMjIsIDIzMywgNywgNCwgMSwgMTk5LCAKKyAgICAyMjIsIDkyLCAyLCA1OSwgNDgsIDcsIDQsIDEsIDE5OSwgMjIyLCA5MiwgMiwgMjQ3LCAyNTUsIDkxLCA3LCA0LCAxLCAxOTksIAorICAgIDIyMiwgOTIsIDIsIDEyNSwgOTEsIDcsIDYsIDEsIDIyMCwgNzYsIDIyMiwgOTEsIDcsIDQsIDEsIDI0OCwgNTQsIDcsIDYsIAorICAgIDEsIDExNSwgMiwgNTksIDUxLCA3LCA0LCAxLCAxMTUsIDIsIDU5LCA1MSwgNywgNiwgMSwgMTE1LCAyLCAyNDEsIDUyLCA0OCwgCisgICAgNywgNCwgMSwgMTE1LCAyLCAyNDEsIDUyLCA0OCwgNywgNiwgMSwgMTE1LCAyLCAyNTAsIDMxLCAyMiwgMTQyLCA3LCA0LCAxLCAKKyAgICAxMTUsIDIsIDI1MCwgMzEsIDIyLCAxNDIsIDcsIDYsIDEsIDExNSwgMiwgMjUwLCAzMSwgMjIsIDI0MiwgMTM2LCA3LCA0LCAKKyAgICAxLCAxMTUsIDIsIDI1MCwgMzEsIDIyLCAyNDIsIDEzNiwgNywgNiwgMSwgMTE1LCAyLCAyNTAsIDMxLCAyMiwgMjQxLCA1MiwgCisgICAgNDgsIDcsIDQsIDEsIDExNSwgMiwgMjUwLCAzMSwgMjIsIDI0MSwgNTIsIDQ4LCA3LCA2LCAxLCAxMTUsIDIsIDI1MCwgMzEsIAorICAgIDIyLCAxODIsIDcsIDQsIDEsIDExNSwgMiwgMjUwLCAzMSwgMjIsIDE4MiwgNywgNiwgMSwgMTE1LCAyLCAyNTAsIDMxLCAyMiwgCisgICAgNTksIDUxLCA3LCA0LCAxLCAxMTUsIDIsIDI1MCwgMzEsIDIyLCA1OSwgNTEsIDcsIDYsIDEsIDExNSwgMiwgMjUxLCAxNDcsIAorICAgIDIyLCAxNDIsIDcsIDQsIDEsIDExNSwgMiwgMjUxLCAxNDcsIDIyLCAxNDIsIDcsIDYsIDEsIDExNSwgMiwgMjUxLCAxNDcsIAorICAgIDIyLCAyNDIsIDEzNiwgNywgNCwgMSwgMTE1LCAyLCAyNTEsIDE0NywgMjIsIDI0MiwgMTM2LCA3LCA2LCAxLCAxMTUsIDIsIAorICAgIDI1MSwgMTQ3LCAyMiwgMjQxLCA1MiwgNDgsIDcsIDQsIDEsIDExNSwgMiwgMjUxLCAxNDcsIDIyLCAyNDEsIDUyLCA0OCwgNywgCisgICAgNiwgMSwgMTE1LCAyLCAyNTEsIDE0NywgMjIsIDE4MiwgNywgNCwgMSwgMTE1LCAyLCAyNTEsIDE0NywgMjIsIDE4MiwgNywgCisgICAgNiwgMSwgMTE1LCAyLCAyNTEsIDE0NywgMjIsIDU5LCA1MSwgNywgNCwgMSwgMTE1LCAyLCAyNTEsIDE0NywgMjIsIDU5LCAKKyAgICA1MSwgNywgNiwgMSwgMTYwLCAyLCA1OSwgNTEsIDcsIDQsIDEsIDE2MCwgMiwgNTksIDUxLCA3LCA2LCAxLCAxNjAsIDIsIAorICAgIDI0MSwgNTIsIDQ4LCA3LCA0LCAxLCAxNjAsIDIsIDI0MSwgNTIsIDQ4LCA3LCA2LCAxLCAxNjAsIDIsIDE4MiwgNywgNCwgMSwgCisgICAgMTYwLCAyLCAxODIsIDcsIDYsIDEsIDE2MCwgMiwgMjUwLCAzMSwgMjIsIDE0MiwgNywgNCwgMSwgMTYwLCAyLCAyNTAsIDMxLCAKKyAgICAyMiwgMTQyLCA3LCA2LCAxLCAxNjAsIDIsIDI1MCwgMzEsIDIyLCAyNDIsIDEzNiwgNywgNCwgMSwgMTYwLCAyLCAyNTAsIAorICAgIDMxLCAyMiwgMjQyLCAxMzYsIDcsIDYsIDEsIDE2MCwgMiwgMjUwLCAzMSwgMjIsIDI0MSwgNTIsIDQ4LCA3LCA0LCAxLCAKKyAgICAxNjAsIDIsIDI1MCwgMzEsIDIyLCAyNDEsIDUyLCA0OCwgNywgNiwgMSwgMTYwLCAyLCAyNTAsIDMxLCAyMiwgMTgyLCA3LCAKKyAgICA0LCAxLCAxNjAsIDIsIDI1MCwgMzEsIDIyLCAxODIsIDcsIDYsIDEsIDE2MCwgMiwgMjUwLCAzMSwgMjIsIDU5LCA1MSwgNywgCisgICAgNCwgMSwgMTYwLCAyLCAyNTAsIDMxLCAyMiwgNTksIDUxLCA3LCA2LCAxLCAyNDAsIDE1NCwgMiwgMjQxLCA1MiwgNDgsIDcsIAorICAgIDQsIDEsIDI0MCwgMTU0LCAyLCAyNDEsIDUyLCA0OCwgNywgNiwgMSwgMjQwLCAxNTQsIDIsIDU5LCA1MSwgNywgNCwgMSwgCisgICAgMjQwLCAxNTQsIDIsIDU5LCA1MSwgNywgNiwgMSwgMTQ0LCAyLCA1OSwgNTEsIDcsIDQsIDEsIDE0NCwgMiwgNTksIDUxLCA3LCAKKyAgICA2LCAxLCAxNDQsIDIsIDI0MSwgNTIsIDQ4LCA3LCA0LCAxLCAxNDQsIDIsIDI0MSwgNTIsIDQ4LCA3LCA2LCAxLCAxNDQsIDIsIAorICAgIDI1MCwgMzEsIDIyLCAxNDIsIDcsIDQsIDEsIDE0NCwgMiwgMjUwLCAzMSwgMjIsIDE0MiwgNywgNiwgMSwgMTQ0LCAyLCAKKyAgICAyNTAsIDMxLCAyMiwgMjQyLCAxMzYsIDcsIDQsIDEsIDE0NCwgMiwgMjUwLCAzMSwgMjIsIDI0MiwgMTM2LCA3LCA2LCAxLCAKKyAgICAxNDQsIDIsIDI1MCwgMzEsIDIyLCAyNDEsIDUyLCA0OCwgNywgNCwgMSwgMTQ0LCAyLCAyNTAsIDMxLCAyMiwgMjQxLCA1MiwgCisgICAgNDgsIDcsIDYsIDEsIDE0NCwgMiwgMjUwLCAzMSwgMjIsIDE4MiwgNywgNCwgMSwgMTQ0LCAyLCAyNTAsIDMxLCAyMiwgMTgyLCAKKyAgICA3LCA2LCAxLCAxNDQsIDIsIDI1MCwgMzEsIDIyLCA1OSwgNTEsIDcsIDQsIDEsIDE0NCwgMiwgMjUwLCAzMSwgMjIsIDU5LCAKKyAgICA1MSwgNywgNiwgMSwgMTQ0LCAyLCAyNDAsIDI0OSwgMjIsIDE0MiwgNywgNCwgMSwgMTQ0LCAyLCAyNDAsIDI0OSwgMjIsIAorICAgIDE0MiwgNywgNiwgMSwgMTQ0LCAyLCAyNDAsIDI0OSwgMjIsIDI0MiwgMTM2LCA3LCA0LCAxLCAxNDQsIDIsIDI0MCwgMjQ5LCAKKyAgICAyMiwgMjQyLCAxMzYsIDcsIDYsIDEsIDE0NCwgMiwgMjQwLCAyNDksIDIyLCAyNDEsIDUyLCA0OCwgNywgNCwgMSwgMTQ0LCAKKyAgICAyLCAyNDAsIDI0OSwgMjIsIDI0MSwgNTIsIDQ4LCA3LCA2LCAxLCAxNDQsIDIsIDI0MCwgMjQ5LCAyMiwgMTgyLCA3LCA0LCAKKyAgICAxLCAxNDQsIDIsIDI0MCwgMjQ5LCAyMiwgMTgyLCA3LCA2LCAxLCAxNDQsIDIsIDI0MCwgMjQ5LCAyMiwgNTksIDUxLCA3LCAKKyAgICA0LCAxLCAxNDQsIDIsIDI0MCwgMjQ5LCAyMiwgNTksIDUxLCA3LCA2LCAxLCAxMDQsIDIsIDU5LCA1MSwgNywgNCwgMSwgCisgICAgMTA0LCAyLCA1OSwgNTEsIDcsIDYsIDEsIDEwNCwgMiwgMjQxLCA1MiwgNDgsIDcsIDQsIDEsIDEwNCwgMiwgMjQxLCA1MiwgCisgICAgNDgsIDcsIDYsIDEsIDEwNCwgMiwgMjQwLCAyNDksIDIyLCAxNDIsIDcsIDQsIDEsIDEwNCwgMiwgMjQwLCAyNDksIDIyLCAKKyAgICAxNDIsIDcsIDYsIDEsIDEwNCwgMiwgMjQwLCAyNDksIDIyLCAyNDIsIDEzNiwgNywgNCwgMSwgMTA0LCAyLCAyNDAsIDI0OSwgCisgICAgMjIsIDI0MiwgMTM2LCA3LCA2LCAxLCAxMDQsIDIsIDI0MCwgMjQ5LCAyMiwgMjQxLCA1MiwgNDgsIDcsIDQsIDEsIDEwNCwgCisgICAgMiwgMjQwLCAyNDksIDIyLCAyNDEsIDUyLCA0OCwgNywgNiwgMSwgMTA0LCAyLCAyNDAsIDI0OSwgMjIsIDE4MiwgNywgNCwgCisgICAgMSwgMTA0LCAyLCAyNDAsIDI0OSwgMjIsIDE4MiwgNywgNiwgMSwgMTA0LCAyLCAyNDAsIDI0OSwgMjIsIDU5LCA1MSwgNywgCisgICAgNCwgMSwgMTA0LCAyLCAyNDAsIDI0OSwgMjIsIDU5LCA1MSwgNywgNiwgMSwgMjExLCAxMTgsIDIsIDI0MiwgMTM2LCA3LCA0LCAKKyAgICAxLCAyMTEsIDExOCwgMiwgMjQyLCAxMzYsIDcsIDYsIDEsIDIxMSwgMTE4LCAyLCA1OSwgNTEsIDcsIDQsIDEsIDIxMSwgCisgICAgMTE4LCAyLCA1OSwgNTEsIDcsIDYsIDEsIDIxMSwgMTE4LCAyLCAyNDEsIDUyLCA0OCwgNywgNCwgMSwgMjExLCAxMTgsIDIsIAorICAgIDI0MSwgNTIsIDQ4LCA3LCA2LCAxLCAyMTEsIDExOCwgMiwgMTgyLCA3LCA0LCAxLCAyMTEsIDExOCwgMiwgMTgyLCA3LCA2LCAKKyAgICAxLCAyMzAsIDIyMywgMjMyLCAxODUsIDcsIDQsIDEsIDIzMCwgMjIzLCAyMzIsIDE4NSwgNywgNiwgMSwgMjMwLCAyMjMsIAorICAgIDIxNCwgMTA1LCA3LCA0LCAxLCAyMzAsIDIyMywgMjE0LCAxMDUsIDcsIDYsIDEsIDIxMSwgMTE4LCAyLCAyMzIsIDEyMywgNywgCisgICAgNCwgMSwgMjExLCAxMTgsIDIsIDIzMiwgMTIzLCAyNiwgNCwgMSwgMjU0LCAxNDQsIDIsIDIyNCwgMTU0LCAyNiwgNCwgMSwgCisgICAgMjU0LCAxNDQsIDIsIDI0OCwgMTUzLCAyNiwgNCwgMSwgMjU0LCAxNDQsIDIsIDIyNCwgMTU1LCAyMiwgMjE0LCAxMywgMjYsIAorICAgIDQsIDEsIDI1NCwgMTQ0LCAyLCAyNDgsIDE1NCwgMjIsIDIxNCwgMTMsIDI2LCA0LCAxLCAyNTQsIDE0NCwgMiwgMjI0LCAKKyAgICAxNTUsIDIyLCAyMjYsIDExMCwgMjYsIDQsIDEsIDI1NCwgMTQ0LCAyLCAyNDgsIDE1NCwgMjIsIDIyNiwgMTEwLCAyNiwgNCwgCisgICAgMSwgMjU0LCAxNDQsIDIsIDIyNCwgMTU1LCAyMiwgMjI1LCAxNzUsIDI2LCA0LCAxLCAyNTQsIDE0NCwgMiwgMjQ4LCAxNTQsIAorICAgIDIyLCAyMjUsIDE3NSwgMjYsIDYsIDEsIDI1NCwgMTQ0LCAyLCAyMjQsIDE1NCwgMjYsIDYsIDEsIDI1NCwgMTQ0LCAyLCAKKyAgICAyNDgsIDE1MywgMjYsIDYsIDEsIDI1NCwgMTQ0LCAyLCAyMjQsIDE1NSwgMjIsIDIxNCwgMTMsIDI2LCA2LCAxLCAyNTQsIAorICAgIDE0NCwgMiwgMjQ4LCAxNTQsIDIyLCAyMTQsIDEzLCAyNiwgNiwgMSwgMjU0LCAxNDQsIDIsIDIyNCwgMTU1LCAyMiwgMjI2LCAKKyAgICAxMTAsIDI2LCA2LCAxLCAyNTQsIDE0NCwgMiwgMjQ4LCAxNTQsIDIyLCAyMjYsIDExMCwgMjYsIDYsIDEsIDI1NCwgMTQ0LCAKKyAgICAyLCAyMjQsIDE1NSwgMjIsIDIyNSwgMTc1LCAyNiwgNiwgMSwgMjU0LCAxNDQsIDIsIDI0OCwgMTU0LCAyMiwgMjI1LCAxNzUsIAorICAgIDI2LCA0LCAxLCAyNDUsIDEwMSwgMiwgMjI0LCAxNTQsIDI2LCA0LCAxLCAyNDUsIDEwMSwgMiwgMjQ4LCAxNTMsIDI2LCA0LCAKKyAgICAxLCAyNDUsIDEwMSwgMiwgMjI0LCAxNTUsIDIyLCAyMTQsIDEzLCAyNiwgNCwgMSwgMjQ1LCAxMDEsIDIsIDI0OCwgMTU0LCAKKyAgICAyMiwgMjE0LCAxMywgMjYsIDQsIDEsIDI0NSwgMTAxLCAyLCAyMjQsIDE1NSwgMjIsIDIyNiwgMTEwLCAyNiwgNCwgMSwgCisgICAgMjQ1LCAxMDEsIDIsIDI0OCwgMTU0LCAyMiwgMjI2LCAxMTAsIDI2LCA2LCAxLCAyNDUsIDEwMSwgMiwgMjI0LCAxNTQsIDI2LCAKKyAgICA2LCAxLCAyNDUsIDEwMSwgMiwgMjQ4LCAxNTMsIDI2LCA2LCAxLCAyNDUsIDEwMSwgMiwgMjI0LCAxNTUsIDIyLCAyMTQsIAorICAgIDEzLCAyNiwgNiwgMSwgMjQ1LCAxMDEsIDIsIDI0OCwgMTU0LCAyMiwgMjE0LCAxMywgMjYsIDYsIDEsIDI0NSwgMTAxLCAyLCAKKyAgICAyMjQsIDE1NSwgMjIsIDIyNiwgMTEwLCAyNiwgNiwgMSwgMjQ1LCAxMDEsIDIsIDI0OCwgMTU0LCAyMiwgMjI2LCAxMTAsIAorICAgIDI2LCA0LCAxLCAyNDUsIDY0LCAyLCAyMjQsIDE1NCwgMjYsIDQsIDEsIDI0NSwgNjQsIDIsIDI0OCwgMTUzLCAyNiwgNCwgMSwgCisgICAgMjQ1LCA2NCwgMiwgMjI0LCAxNTUsIDIyLCAyMTQsIDEzLCAyNiwgNCwgMSwgMjQ1LCA2NCwgMiwgMjQ4LCAxNTQsIDIyLCAKKyAgICAyMTQsIDEzLCAyNiwgNCwgMSwgMjQ1LCA2NCwgMiwgMjI0LCAxNTUsIDIyLCAyMjYsIDExMCwgMjYsIDQsIDEsIDI0NSwgNjQsIAorICAgIDIsIDI0OCwgMTU0LCAyMiwgMjI2LCAxMTAsIDI2LCA0LCAxLCAyNDUsIDY0LCAyLCAyMjQsIDE1NSwgMjIsIDIyNSwgMTc1LCAKKyAgICAyNiwgNCwgMSwgMjQ1LCA2NCwgMiwgMjQ4LCAxNTQsIDIyLCAyMjUsIDE3NSwgMjYsIDYsIDEsIDI0NSwgNjQsIDIsIDIyNCwgCisgICAgMTU0LCAyNiwgNiwgMSwgMjQ1LCA2NCwgMiwgMjQ4LCAxNTMsIDI2LCA2LCAxLCAyNDUsIDY0LCAyLCAyMjQsIDE1NSwgMjIsIAorICAgIDIxNCwgMTMsIDI2LCA2LCAxLCAyNDUsIDY0LCAyLCAyNDgsIDE1NCwgMjIsIDIxNCwgMTMsIDI2LCA2LCAxLCAyNDUsIDY0LCAKKyAgICAyLCAyMjQsIDE1NSwgMjIsIDIyNiwgMTEwLCAyNiwgNiwgMSwgMjQ1LCA2NCwgMiwgMjQ4LCAxNTQsIDIyLCAyMjYsIDExMCwgCisgICAgMjYsIDYsIDEsIDI0NSwgNjQsIDIsIDIyNCwgMTU1LCAyMiwgMjI1LCAxNzUsIDI2LCA2LCAxLCAyNDUsIDY0LCAyLCAyNDgsIAorICAgIDE1NCwgMjIsIDIyNSwgMTc1LCAyNiwgNCwgMSwgMjM1LCAxODYsIDIsIDIyNCwgMTU0LCAyNiwgNCwgMSwgMjM1LCAxODYsIAorICAgIDIsIDI0OCwgMTUzLCAyNiwgNCwgMSwgMjM1LCAxODYsIDIsIDIyNCwgMTU1LCAyMiwgMjE0LCAxMywgMjYsIDQsIDEsIDIzNSwgCisgICAgMTg2LCAyLCAyNDgsIDE1NCwgMjIsIDIxNCwgMTMsIDI2LCA0LCAxLCAyMzUsIDE4NiwgMiwgMjI0LCAxNTUsIDIyLCAyMjYsIAorICAgIDExMCwgMjYsIDQsIDEsIDIzNSwgMTg2LCAyLCAyNDgsIDE1NCwgMjIsIDIyNiwgMTEwLCAyNiwgNCwgMSwgMjM1LCAxODYsIAorICAgIDIsIDIyNCwgMTU1LCAyMiwgMjI1LCAxNzUsIDI2LCA0LCAxLCAyMzUsIDE4NiwgMiwgMjQ4LCAxNTQsIDIyLCAyMjUsIDE3NSwgCisgICAgMjYsIDYsIDEsIDIzNSwgMTg2LCAyLCAyMjQsIDE1NCwgMjYsIDYsIDEsIDIzNSwgMTg2LCAyLCAyNDgsIDE1MywgMjYsIDYsIAorICAgIDEsIDIzNSwgMTg2LCAyLCAyMjQsIDE1NSwgMjIsIDIxNCwgMTMsIDI2LCA2LCAxLCAyMzUsIDE4NiwgMiwgMjQ4LCAxNTQsIAorICAgIDIyLCAyMTQsIDEzLCAyNiwgNiwgMSwgMjM1LCAxODYsIDIsIDIyNCwgMTU1LCAyMiwgMjI2LCAxMTAsIDI2LCA2LCAxLCAKKyAgICAyMzUsIDE4NiwgMiwgMjQ4LCAxNTQsIDIyLCAyMjYsIDExMCwgMjYsIDYsIDEsIDIzNSwgMTg2LCAyLCAyMjQsIDE1NSwgMjIsIAorICAgIDIyNSwgMTc1LCAyNiwgNiwgMSwgMjM1LCAxODYsIDIsIDI0OCwgMTU0LCAyMiwgMjI1LCAxNzUsIDI2LCA0LCAxLCAyMjYsIAorICAgIDIwMCwgMiwgMjI0LCAxNTQsIDI2LCA0LCAxLCAyMjYsIDIwMCwgMiwgMjQ4LCAxNTMsIDI2LCA0LCAxLCAyMjYsIDIwMCwgMiwgCisgICAgMjI0LCAxNTUsIDIyLCAyMTQsIDEzLCAyNiwgNCwgMSwgMjI2LCAyMDAsIDIsIDI0OCwgMTU0LCAyMiwgMjE0LCAxMywgMjYsIAorICAgIDQsIDEsIDIyNiwgMjAwLCAyLCAyMjQsIDE1NSwgMjIsIDIyNiwgMTEwLCAyNiwgNCwgMSwgMjI2LCAyMDAsIDIsIDI0OCwgCisgICAgMTU0LCAyMiwgMjI2LCAxMTAsIDI2LCA2LCAxLCAyMjYsIDIwMCwgMiwgMjI0LCAxNTQsIDI2LCA2LCAxLCAyMjYsIDIwMCwgCisgICAgMiwgMjQ4LCAxNTMsIDI2LCA2LCAxLCAyMjYsIDIwMCwgMiwgMjI0LCAxNTUsIDIyLCAyMTQsIDEzLCAyNiwgNiwgMSwgMjI2LCAKKyAgICAyMDAsIDIsIDI0OCwgMTU0LCAyMiwgMjE0LCAxMywgMjYsIDYsIDEsIDIyNiwgMjAwLCAyLCAyMjQsIDE1NSwgMjIsIDIyNiwgCisgICAgMTEwLCAyNiwgNiwgMSwgMjI2LCAyMDAsIDIsIDI0OCwgMTU0LCAyMiwgMjI2LCAxMTAsIDI2LCA0LCAxLCAyMTQsIDE1OCwgCisgICAgMiwgMjI0LCAxNTQsIDI2LCA0LCAxLCAyMTQsIDE1OCwgMiwgMjQ4LCAxNTMsIDI2LCA0LCAxLCAyMTQsIDE1OCwgMiwgMjI0LCAKKyAgICAxNTUsIDIyLCAyMTQsIDEzLCAyNiwgNCwgMSwgMjE0LCAxNTgsIDIsIDI0OCwgMTU0LCAyMiwgMjE0LCAxMywgMjYsIDQsIDEsIAorICAgIDIxNCwgMTU4LCAyLCAyMjQsIDE1NSwgMjIsIDIyNiwgMTEwLCAyNiwgNCwgMSwgMjE0LCAxNTgsIDIsIDI0OCwgMTU0LCAyMiwgCisgICAgMjI2LCAxMTAsIDI2LCA0LCAxLCAyMTQsIDE1OCwgMiwgMjI0LCAxNTUsIDIyLCAyMjUsIDE3NSwgMjYsIDQsIDEsIDIxNCwgCisgICAgMTU4LCAyLCAyNDgsIDE1NCwgMjIsIDIyNSwgMTc1LCAyNiwgNiwgMSwgMjE0LCAxNTgsIDIsIDI0OCwgMTUzLCAyNiwgNiwgCisgICAgMSwgMjE0LCAxNTgsIDIsIDI0OCwgMTU0LCAyMiwgMjE0LCAxMywgMjYsIDYsIDEsIDIxNCwgMTU4LCAyLCAyNDgsIDE1NCwgCisgICAgMjIsIDIyNiwgMTEwLCAyNiwgNiwgMSwgMjE0LCAxNTgsIDIsIDI0OCwgMTU0LCAyMiwgMjI1LCAxNzUsIDI2LCA0LCAxLCAKKyAgICAyMjYsIDIwMiwgMiwgMjI0LCAxNTQsIDI2LCA0LCAxLCAyMjYsIDIwMiwgMiwgMjQ4LCAxNTMsIDI2LCA0LCAxLCAyMjYsIAorICAgIDIwMiwgMiwgMjI0LCAxNTUsIDIyLCAyMTQsIDEzLCAyNiwgNCwgMSwgMjI2LCAyMDIsIDIsIDI0OCwgMTU0LCAyMiwgMjE0LCAKKyAgICAxMywgMjYsIDQsIDEsIDIyNiwgMjAyLCAyLCAyMjQsIDE1NSwgMjIsIDIyNiwgMTEwLCAyNiwgNCwgMSwgMjI2LCAyMDIsIDIsIAorICAgIDI0OCwgMTU0LCAyMiwgMjI2LCAxMTAsIDI2LCA0LCAxLCAyMjYsIDIwMiwgMiwgMjI0LCAxNTUsIDIyLCAyMjUsIDE3NSwgCisgICAgMjYsIDQsIDEsIDIyNiwgMjAyLCAyLCAyNDgsIDE1NCwgMjIsIDIyNSwgMTc1LCAyNiwgNiwgMSwgMjI2LCAyMDIsIDIsIAorICAgIDIyNCwgMTU0LCAyNiwgNiwgMSwgMjI2LCAyMDIsIDIsIDI0OCwgMTUzLCAyNiwgNiwgMSwgMjI2LCAyMDIsIDIsIDIyNCwgCisgICAgMTU1LCAyMiwgMjE0LCAxMywgMjYsIDYsIDEsIDIyNiwgMjAyLCAyLCAyNDgsIDE1NCwgMjIsIDIxNCwgMTMsIDI2LCA2LCAxLCAKKyAgICAyMjYsIDIwMiwgMiwgMjI0LCAxNTUsIDIyLCAyMjYsIDExMCwgMjYsIDYsIDEsIDIyNiwgMjAyLCAyLCAyNDgsIDE1NCwgMjIsIAorICAgIDIyNiwgMTEwLCAyNiwgNiwgMSwgMjI2LCAyMDIsIDIsIDIyNCwgMTU1LCAyMiwgMjI1LCAxNzUsIDI2LCA2LCAxLCAyMjYsIAorICAgIDIwMiwgMiwgMjQ4LCAxNTQsIDIyLCAyMjUsIDE3NSwgMjYsIDQsIDEsIDI1NCwgMTQ0LCAyLCAyMTQsIDEzLCAyNiwgNCwgMSwgCisgICAgMjU0LCAxNDQsIDIsIDIyNiwgMTEwLCAyNiwgNCwgMSwgMjQ1LCAxMDEsIDIsIDIxNCwgMTMsIDI2LCA0LCAxLCAyNDUsIAorICAgIDEwMSwgMiwgMjI2LCAxMTAsIDI2LCA0LCAxLCAyNDUsIDY0LCAyLCAyMTQsIDEzLCAyNiwgNCwgMSwgMjQ1LCA2NCwgMiwgCisgICAgMjI2LCAxMTAsIDI2LCA0LCAxLCAyMzUsIDE4NiwgMiwgMjE0LCAxMywgMjYsIDQsIDEsIDIzNSwgMTg2LCAyLCAyMjYsIAorICAgIDExMCwgMjYsIDQsIDEsIDIyNiwgMjAwLCAyLCAyMTQsIDEzLCAyNiwgNCwgMSwgMjI2LCAyMDAsIDIsIDIyNiwgMTEwLCAyNiwgCisgICAgNCwgMSwgMjE0LCAxNTgsIDIsIDIxNCwgMTMsIDI2LCA0LCAxLCAyMTQsIDE1OCwgMiwgMjI2LCAxMTAsIDI2LCA0LCAxLCAKKyAgICAyMjYsIDIwMiwgMiwgMjE0LCAxMywgMjYsIDQsIDEsIDIyNiwgMjAyLCAyLCAyMjYsIDExMCwgMjYsIDQsIDEsIDI1NCwgCisgICAgMTQ0LCAyLCAyMjQsIDE1NSwgMjIsIDIxMCwgMjE5LCAyNiwgNCwgMSwgMjU0LCAxNDQsIDIsIDI0OCwgMTU0LCAyMiwgMjEwLCAKKyAgICAyMTksIDI2LCA0LCAxLCAyNTQsIDE0NCwgMiwgMjI0LCAxNTUsIDIyLCAyMTQsIDE0LCAyMiwgMjEwLCAyMTksIDI2LCA0LCAKKyAgICAxLCAyNTQsIDE0NCwgMiwgMjQ4LCAxNTQsIDIyLCAyMTQsIDE0LCAyMiwgMjEwLCAyMTksIDI2LCA0LCAxLCAyNTQsIDE0NCwgCisgICAgMiwgMjI0LCAxNTUsIDIyLCAyMjYsIDExMSwgMjIsIDIxMCwgMjE5LCAyNiwgNCwgMSwgMjU0LCAxNDQsIDIsIDI0OCwgMTU0LCAKKyAgICAyMiwgMjI2LCAxMTEsIDIyLCAyMTAsIDIxOSwgMjYsIDQsIDEsIDI1NCwgMTQ0LCAyLCAyMjQsIDE1NSwgMjIsIDIyNSwgCisgICAgMTc2LCAyMiwgMjEwLCAyMTksIDI2LCA0LCAxLCAyNTQsIDE0NCwgMiwgMjQ4LCAxNTQsIDIyLCAyMjUsIDE3NiwgMjIsIAorICAgIDIxMCwgMjE5LCAyNiwgNiwgMSwgMjU0LCAxNDQsIDIsIDIyNCwgMTU1LCAyMiwgMjI0LCAxNjcsIDI2LCA2LCAxLCAyNTQsIAorICAgIDE0NCwgMiwgMjQ4LCAxNTQsIDIyLCAyMjQsIDE2NywgMjYsIDYsIDEsIDI1NCwgMTQ0LCAyLCAyMjQsIDE1NSwgMjIsIDIxNCwgCisgICAgMTQsIDIyLCAyMjQsIDE2NywgMjYsIDYsIDEsIDI1NCwgMTQ0LCAyLCAyNDgsIDE1NCwgMjIsIDIxNCwgMTQsIDIyLCAyMjQsIAorICAgIDE2NywgMjYsIDYsIDEsIDI1NCwgMTQ0LCAyLCAyMjQsIDE1NSwgMjIsIDIyNiwgMTExLCAyMiwgMjI0LCAxNjcsIDI2LCA2LCAKKyAgICAxLCAyNTQsIDE0NCwgMiwgMjQ4LCAxNTQsIDIyLCAyMjYsIDExMSwgMjIsIDIyNCwgMTY3LCAyNiwgNiwgMSwgMjU0LCAxNDQsIAorICAgIDIsIDIyNCwgMTU1LCAyMiwgMjI1LCAxNzYsIDIyLCAyMjQsIDE2NywgMjYsIDYsIDEsIDI1NCwgMTQ0LCAyLCAyNDgsIDE1NCwgCisgICAgMjIsIDIyNSwgMTc2LCAyMiwgMjI0LCAxNjcsIDI2LCA0LCAxLCAyNDUsIDY0LCAyLCAyMjQsIDE1NSwgMjIsIDIxMCwgMjE5LCAKKyAgICAyNiwgNCwgMSwgMjQ1LCA2NCwgMiwgMjQ4LCAxNTQsIDIyLCAyMTAsIDIxOSwgMjYsIDQsIDEsIDI0NSwgNjQsIDIsIDIyNCwgCisgICAgMTU1LCAyMiwgMjE0LCAxNCwgMjIsIDIxMCwgMjE5LCAyNiwgNCwgMSwgMjQ1LCA2NCwgMiwgMjQ4LCAxNTQsIDIyLCAyMTQsIAorICAgIDE0LCAyMiwgMjEwLCAyMTksIDI2LCA0LCAxLCAyNDUsIDY0LCAyLCAyMjQsIDE1NSwgMjIsIDIyNiwgMTExLCAyMiwgMjEwLCAKKyAgICAyMTksIDI2LCA0LCAxLCAyNDUsIDY0LCAyLCAyNDgsIDE1NCwgMjIsIDIyNiwgMTExLCAyMiwgMjEwLCAyMTksIDI2LCA0LCAKKyAgICAxLCAyNDUsIDY0LCAyLCAyMjQsIDE1NSwgMjIsIDIyNSwgMTc2LCAyMiwgMjEwLCAyMTksIDI2LCA0LCAxLCAyNDUsIDY0LCAKKyAgICAyLCAyNDgsIDE1NCwgMjIsIDIyNSwgMTc2LCAyMiwgMjEwLCAyMTksIDI2LCA2LCAxLCAyNDUsIDY0LCAyLCAyMjQsIDE1NSwgCisgICAgMjIsIDIyNCwgMTY3LCAyNiwgNiwgMSwgMjQ1LCA2NCwgMiwgMjQ4LCAxNTQsIDIyLCAyMjQsIDE2NywgMjYsIDYsIDEsIAorICAgIDI0NSwgNjQsIDIsIDIyNCwgMTU1LCAyMiwgMjE0LCAxNCwgMjIsIDIyNCwgMTY3LCAyNiwgNiwgMSwgMjQ1LCA2NCwgMiwgCisgICAgMjQ4LCAxNTQsIDIyLCAyMTQsIDE0LCAyMiwgMjI0LCAxNjcsIDI2LCA2LCAxLCAyNDUsIDY0LCAyLCAyMjQsIDE1NSwgMjIsIAorICAgIDIyNiwgMTExLCAyMiwgMjI0LCAxNjcsIDI2LCA2LCAxLCAyNDUsIDY0LCAyLCAyNDgsIDE1NCwgMjIsIDIyNiwgMTExLCAyMiwgCisgICAgMjI0LCAxNjcsIDI2LCA2LCAxLCAyNDUsIDY0LCAyLCAyMjQsIDE1NSwgMjIsIDIyNSwgMTc2LCAyMiwgMjI0LCAxNjcsIDI2LCAKKyAgICA2LCAxLCAyNDUsIDY0LCAyLCAyNDgsIDE1NCwgMjIsIDIyNSwgMTc2LCAyMiwgMjI0LCAxNjcsIDI2LCA0LCAxLCAyMjYsIAorICAgIDIwMiwgMiwgMjI0LCAxNTUsIDIyLCAyMTAsIDIxOSwgMjYsIDQsIDEsIDIyNiwgMjAyLCAyLCAyNDgsIDE1NCwgMjIsIDIxMCwgCisgICAgMjE5LCAyNiwgNCwgMSwgMjI2LCAyMDIsIDIsIDIyNCwgMTU1LCAyMiwgMjE0LCAxNCwgMjIsIDIxMCwgMjE5LCAyNiwgNCwgCisgICAgMSwgMjI2LCAyMDIsIDIsIDI0OCwgMTU0LCAyMiwgMjE0LCAxNCwgMjIsIDIxMCwgMjE5LCAyNiwgNCwgMSwgMjI2LCAyMDIsIAorICAgIDIsIDIyNCwgMTU1LCAyMiwgMjI2LCAxMTEsIDIyLCAyMTAsIDIxOSwgMjYsIDQsIDEsIDIyNiwgMjAyLCAyLCAyNDgsIDE1NCwgCisgICAgMjIsIDIyNiwgMTExLCAyMiwgMjEwLCAyMTksIDI2LCA0LCAxLCAyMjYsIDIwMiwgMiwgMjI0LCAxNTUsIDIyLCAyMjUsIAorICAgIDE3NiwgMjIsIDIxMCwgMjE5LCAyNiwgNCwgMSwgMjI2LCAyMDIsIDIsIDI0OCwgMTU0LCAyMiwgMjI1LCAxNzYsIDIyLCAKKyAgICAyMTAsIDIxOSwgMjYsIDYsIDEsIDIyNiwgMjAyLCAyLCAyMjQsIDE1NSwgMjIsIDIyNCwgMTY3LCAyNiwgNiwgMSwgMjI2LCAKKyAgICAyMDIsIDIsIDI0OCwgMTU0LCAyMiwgMjI0LCAxNjcsIDI2LCA2LCAxLCAyMjYsIDIwMiwgMiwgMjI0LCAxNTUsIDIyLCAyMTQsIAorICAgIDE0LCAyMiwgMjI0LCAxNjcsIDI2LCA2LCAxLCAyMjYsIDIwMiwgMiwgMjQ4LCAxNTQsIDIyLCAyMTQsIDE0LCAyMiwgMjI0LCAKKyAgICAxNjcsIDI2LCA2LCAxLCAyMjYsIDIwMiwgMiwgMjI0LCAxNTUsIDIyLCAyMjYsIDExMSwgMjIsIDIyNCwgMTY3LCAyNiwgNiwgCisgICAgMSwgMjI2LCAyMDIsIDIsIDI0OCwgMTU0LCAyMiwgMjI2LCAxMTEsIDIyLCAyMjQsIDE2NywgMjYsIDYsIDEsIDIyNiwgMjAyLCAKKyAgICAyLCAyMjQsIDE1NSwgMjIsIDIyNSwgMTc2LCAyMiwgMjI0LCAxNjcsIDI2LCA2LCAxLCAyMjYsIDIwMiwgMiwgMjQ4LCAxNTQsIAorICAgIDIyLCAyMjUsIDE3NiwgMjIsIDIyNCwgMTY3LCAyNiwgNCwgMSwgMjU0LCAxNDQsIDIsIDIxMywgMTIwLCAyNiwgNCwgMSwgCisgICAgMjU0LCAxNDQsIDIsIDIzMSwgMjMyLCAyNiwgNCwgMSwgMjU0LCAxNDQsIDIsIDIxNCwgMTQsIDIyLCAyMTAsIDIxOSwgMjYsIAorICAgIDQsIDEsIDI1NCwgMTQ0LCAyLCAyMTAsIDIxOSwgMjYsIDQsIDEsIDI1NCwgMTQ0LCAyLCAyMjYsIDExMSwgMjIsIDIxMCwgCisgICAgMjE5LCAyNiwgNCwgMSwgMjU0LCAxNDQsIDIsIDIyNSwgMTc1LCAyNiwgNCwgMSwgMjU0LCAxNDQsIDIsIDIyNSwgMTc2LCAKKyAgICAyMiwgMjEwLCAyMTksIDI2LCA2LCAxLCAyNTQsIDE0NCwgMiwgMjEzLCAxMjAsIDI2LCA2LCAxLCAyNTQsIDE0NCwgMiwgCisgICAgMjMxLCAyMzIsIDI2LCA2LCAxLCAyNTQsIDE0NCwgMiwgMjE0LCAxMywgMjYsIDYsIDEsIDI1NCwgMTQ0LCAyLCAyMjYsIAorICAgIDExMCwgMjYsIDYsIDEsIDI1NCwgMTQ0LCAyLCAyMjQsIDE2NywgMjYsIDIzNCwgMiwgMjYsIDIyNCwgMTY3LCAyNiwgMjI0LCAKKyAgICAxNTQsIDI2LCAyMjUsIDE3NSwgMjYsIDI0NywgMjUyLCAyMiwgMjI1LCAxNzUsIDI2LCA0LCAxLCAyNDUsIDY0LCAyLCAyMTQsIAorICAgIDE0LCAyMiwgMjEwLCAyMTksIDI2LCA0LCAxLCAyNDUsIDY0LCAyLCAyMTAsIDIxOSwgMjYsIDQsIDEsIDI0NSwgNjQsIDIsIAorICAgIDIyNiwgMTExLCAyMiwgMjEwLCAyMTksIDI2LCA0LCAxLCAyNDUsIDY0LCAyLCAyMjUsIDE3NSwgMjYsIDQsIDEsIDI0NSwgCisgICAgNjQsIDIsIDIyNSwgMTc2LCAyMiwgMjEwLCAyMTksIDI2LCA2LCAxLCAyNDUsIDEwMSwgMiwgMjE0LCAxMywgMjYsIDYsIDEsIAorICAgIDI0NSwgMTAxLCAyLCAyMjYsIDExMCwgMjYsIDYsIDEsIDI0NSwgNjQsIDIsIDIxNCwgMTMsIDI2LCA2LCAxLCAyNDUsIDY0LCAKKyAgICAyLCAyMjYsIDExMCwgMjYsIDYsIDEsIDI0NSwgNjQsIDIsIDIyNCwgMTY3LCAyNiwgMjI0LCAxNTUsIDIyLCAyMTQsIDEzLCAKKyAgICAyNiwgMjI0LCAxNTUsIDIyLCAyMjYsIDExMCwgMjYsIDIyNCwgMTU1LCAyMiwgMjI1LCAxNzUsIDI2LCA0LCAxLCAyMzUsIAorICAgIDE4NiwgMiwgMjEzLCAxMjAsIDI2LCA0LCAxLCAyMzUsIDE4NiwgMiwgMjMxLCAyMzIsIDI2LCA0LCAxLCAyMzUsIDE4NiwgMiwgCisgICAgMjQ3LCAyNTIsIDIyLCAyMTQsIDEzLCAyNiwgNCwgMSwgMjM1LCAxODYsIDIsIDI0NywgMjUyLCAyMiwgMjI2LCAxMTAsIDI2LCAKKyAgICA0LCAxLCAyMzUsIDE4NiwgMiwgMjI1LCAxNzUsIDI2LCA0LCAxLCAyMzUsIDE4NiwgMiwgMjQ3LCAyNTIsIDIyLCAyMjUsIAorICAgIDE3NSwgMjYsIDYsIDEsIDIzNSwgMTg2LCAyLCAyMTMsIDEyMCwgMjYsIDYsIDEsIDIzNSwgMTg2LCAyLCAyMzEsIDIzMiwgCisgICAgMjYsIDYsIDEsIDIzNSwgMTg2LCAyLCAyMTQsIDEzLCAyNiwgNiwgMSwgMjM1LCAxODYsIDIsIDIyNiwgMTEwLCAyNiwgMjQ4LCAKKyAgICAxNTQsIDIyLCAyMTQsIDEzLCAyNiwgMjQ4LCAxNTQsIDIyLCAyMjYsIDExMCwgMjYsIDI0OCwgMTU0LCAyMiwgMjI1LCAxNzUsIAorICAgIDI2LCA0LCAxLCAyMTQsIDE1OCwgMiwgMjEzLCAxMjAsIDI2LCA0LCAxLCAyMTQsIDE1OCwgMiwgMjMxLCAyMzIsIDI2LCA0LCAKKyAgICAxLCAyMTQsIDE1OCwgMiwgMjQ3LCAyNTIsIDIyLCAyMTQsIDEzLCAyNiwgNCwgMSwgMjE0LCAxNTgsIDIsIDI0NywgMjUyLCAKKyAgICAyMiwgMjI2LCAxMTAsIDI2LCA0LCAxLCAyMjMsIDM4LCAyLCAyMjQsIDE1NCwgMjYsIDQsIDEsIDIyMywgMzgsIDIsIDI0OCwgCisgICAgMTUzLCAyNiwgNCwgMSwgMjE0LCAxNTgsIDIsIDIyNSwgMTc1LCAyNiwgNCwgMSwgMjE0LCAxNTgsIDIsIDI0NywgMjUyLCAKKyAgICAyMiwgMjI1LCAxNzUsIDI2LCA2LCAxLCAyMTQsIDE1OCwgMiwgMjEzLCAxMjAsIDI2LCA2LCAxLCAyMTQsIDE1OCwgMiwgCisgICAgMjMxLCAyMzIsIDI2LCA2LCAxLCAyMTQsIDE1OCwgMiwgMjE0LCAxMywgMjYsIDYsIDEsIDIxNCwgMTU4LCAyLCAyMjYsIAorICAgIDExMCwgMjYsIDYsIDEsIDIyMywgMzgsIDIsIDI0OCwgMTUzLCAyNiwgMjQ3LCAyNTIsIDIyLCAyMTQsIDEzLCAyNiwgMjQ3LCAKKyAgICAyNTIsIDIyLCAyMjYsIDExMCwgMjYsIDIxNCwgMTMsIDI2LCA0LCAxLCAyMjYsIDIwMiwgMiwgMjE0LCAxNCwgMjIsIDIxMCwgCisgICAgMjE5LCAyNiwgNCwgMSwgMjI2LCAyMDIsIDIsIDIxMCwgMjE5LCAyNiwgNCwgMSwgMjI2LCAyMDIsIDIsIDIyNiwgMTExLCAKKyAgICAyMiwgMjEwLCAyMTksIDI2LCA0LCAxLCAyMjYsIDIwMiwgMiwgMjI1LCAxNzUsIDI2LCA0LCAxLCAyMjYsIDIwMiwgMiwgCisgICAgMjI1LCAxNzYsIDIyLCAyMTAsIDIxOSwgMjYsIDYsIDEsIDIyNiwgMjAwLCAyLCAyMTQsIDEzLCAyNiwgNiwgMSwgMjI2LCAKKyAgICAyMDAsIDIsIDIyNiwgMTEwLCAyNiwgNiwgMSwgMjI2LCAyMDIsIDIsIDIxNCwgMTMsIDI2LCA2LCAxLCAyMjYsIDIwMiwgMiwgCisgICAgMjI2LCAxMTAsIDI2LCA2LCAxLCAyMjYsIDIwMiwgMiwgMjI0LCAxNjcsIDI2LCAyMjYsIDExMCwgMjYsIDI0OCwgMTUzLCAKKyAgICAyNDUsIDE1MSwgMjI0LCAyNywgMjQ1LCAxNjAsIDIyNCwgMjcsIDI0NSwgMTUxLCAyMTksIDE4LCAyNDUsIDE2MCwgMjE5LCAKKyAgICAxOCwgMjE2LCAxNDEsIDIxOSwgMTgsIDI0NCwgOSwgMjE5LCAxOCwgMjE5LCAxMjMsIDIxOSwgMTgsIDI0NCwgMTEyLCAyMTksIAorICAgIDE4LCAyMjQsIDE0MSwgMjE5LCAxOCwgMjE2LCAxNzAsIDIxOSwgMTgsIDI0MiwgMzUsIDIxOSwgMTgsIDIxMCwgODcsIDIxMSwgCisgICAgMjQ1LCAyMTksIDE4LCAyMTAsIDg3LCAyMTEsIDI0NSwgMjI4LCA2NywgMjEwLCA4NywgMjExLCAyNDUsIDIzNSwgNjMsIAorICAgIDIzMywgMzgsIDc4LCAyMjIsIDI0MywgNzgsIDI0MCwgMTY4LCAyMjgsIDY4LCAyNDAsIDE2OCwgMjQ0LCAxMTIsIDI0OCwgCisgICAgMTU2LCAyNDUsIDE1MSwgMjQ4LCAxNTYsIDI0NSwgMTYwLCAyNDgsIDE1NiwgMjAzLCAxMzAsIDUyLCA2NywgMjMyLCAyMTMsIAorICAgIDUyLCAxMjEsIDIzMiwgMjEzLCA0MywgMjE5LCAxNTUsIDIyMywgMjU0LCA3OCwgNDQsIDIxOSwgMTU1LCAyMjMsIDI1NCwgCisgICAgNzgsIDIxOSwgMTU1LCAyMzIsIDEwOSwgMjIzLCAyNTQsIDc4LCAyMTksIDE1NSwgMjQxLCAxNjMsIDIyMywgMjU0LCA3OCwgCisgICAgNDMsIDUyLCAyMjMsIDI1NCwgNzgsIDQ0LCA1MiwgMjIzLCAyNTQsIDc4LCA1MiwgMjMyLCAxMDksIDIyMywgMjU0LCA3OCwgCisgICAgNTIsIDI0MSwgMTYzLCAyMjMsIDI1NCwgNzgsIDI0OCwgMjA1LCA1MiwgMjQ4LCAyMDUsIDI1MSwgMTEzLCAyMTUsIDIyMiwgCisgICAgMjUxLCAxMTMsIDEyMywgNTksIDIzMywgNTYsIDExMywgNTksIDIzMywgNTYsIDIwMywgMjQ1LCAxNjMsIDI0MCwgMTY2LCAKKyAgICAyMjUsIDEwLCAyMzIsIDIxNCwgMjIwLCAxMzcsIDIyNiwgMTUsIDIyMCwgMTM3LCAyMzMsIDM4LCAyNDUsIDE1OCwgMjIyLCAKKyAgICAyNDMsIDI0NSwgMTU4LCAyMjQsIDI0NiwgMjQ3LCAxOTYsIDI0NCwgMTksIDIzMywgMzgsIDIyNiwgMTE3LCAyMjIsIDI0MywgCisgICAgMjI2LCAxMTcsIDIyOSwgMTk0LCAyMjgsIDczLCAyMTksIDE4LCAyMjUsIDE4MywgMjMwLCAxOTMsIDUwLCAyMjUsIDE4MywgCisgICAgMjE2LCAyNDgsIDIxNiwgMTQ4LCA1MCwgMjI0LCAxOTAsIDUyLCAyMjQsIDE5MCwgMjE1LCAyMTEsIDIyNCwgMTkwLCAyMjMsIAorICAgIDQ5LCAyMjQsIDE5MCwgMjIzLCA0OSwgNTIsIDIyNCwgMTkwLCAyMjMsIDQ5LCAyMTUsIDIxMSwgMjI0LCAxOTAsIDI1MCwgCisgICAgMjM4LCAyMTksIDE1NSwgMjMzLCA0MiwgMjU0LCAxMTAsIDIyMywgMjU0LCA3OCwgMjE5LCAxNTUsIDIyMiwgMjQ3LCAyNTQsIAorICAgIDExMCwgMjIzLCAyNTQsIDc4LCAyMjMsIDEwNywgNzgsIDUyLCAyNDUsIDMxLCA3OCwgMjM1LCAyMDEsIDIyNiwgMTE5LCAKKyAgICAyMTQsIDE4MCwgMTM1LCAyMTYsIDExMSwgMjUwLCAyMzksIDIzNSwgMjE2LCAyMjUsIDEwLCAyNTMsIDIxNCwgMjQwLCAxNjksIAorICAgIDI1MSwgMTEzLCAyNDQsIDIsIDIxOSwgOTUsIDQzLCA0MiwgMjUxLCAxNTgsIDIsIDIyNCwgNywgNDQsIDQyLCAyNTEsIDE1OCwgCisgICAgMiwgMjI0LCA3LCA1MiwgMjI0LCAxMywgNzgsIDIyNCwgMTMsIDI0NSwgMzEsIDc4LCAyNDUsIDMxLCAyMjQsIDEzLCA3OCwgCisgICAgMjE2LCA3MCwgNSwgMjQ1LCA2NSwgMjIzLCA0OSwgMjI1LCA2OCwgNTAsIDg1LCAxNDAsIDI1MSwgMTEzLCA4NSwgOTcsIAorICAgIDI1MSwgMTEzLCAxMjEsIDI1MywgMjE2LCAyMjMsIDQ5LCAyMjAsIDE1MCwgMjUwLCAxLCAyMTQsIDE2MywgMTEzLCAyNTMsIAorICAgIDIxNSwgMjU0LCAxNTgsIDIxMywgMTg4LCAyNDksIDIxNywgMjMwLCAxODIsIDUwLCAyMTcsIDIzNCwgMjQ4LCAxNTYsIDIzNSwgCisgICAgMTkzLCAyMTQsIDE4MCwgMjQ0LCA1MiwgMjI0LCAxNDEsIDc4LCAxMzQsIDU5LCAyMjQsIDE0MCwgMjI0LCAyNCwgMjI0LCAKKyAgICAxOTAsIDI0NCwgMTEsIDU5LCAyMjQsIDE0MCwgMjQ0LCA4MSwgNTksIDIyNCwgMTQwLCAxMTMsIDU5LCAyMjQsIDE0MCwgCisgICAgMjQ0LCAxMSwgNTksIDc4LCAyNDYsIDExOCwgMjQ5LCAxMzAsIDIxNSwgMjIxLCA2NywgMjQ0LCAxMSwgMjQ3LCAxMTgsIAorICAgIDIzMSwgODIsIDExLCAyMTksIDE4LCAyMTEsIDIwOSwgMjM1LCA2MywgMjQzLCAyMjcsIDI1NCwgNTIsIDIzNSwgMTkxLCAKKyAgICAyMTYsIDg1LCAyMzUsIDE5MSwgMjIwLCAxMzcsIDIzNSwgMTkxLCAyMjUsIDIyLCAyMzUsIDIyOCwgMjE3LCAxODIsIDIxNywgCisgICAgMjUxLCAyNTUsIDUsIDIxNywgMTgyLCAyMTcsIDI1MSwgMjM1LCAyMjgsIDEwLCAyNDQsIDIwLCAyMjAsIDgwLCAyNTUsIDUsIAorICAgIDEwLCAyNDQsIDIwLCAyMjAsIDgwLCAyMjksIDE4OSwgMjEsIDIyMCwgODEsIDIyOCwgNjksIDIxLCAyMjAsIDgxLCAyMTgsIAorICAgIDIzLCAyMTAsIDg2LCAyMTgsIDIzLCA3LCA0LCAxLCA3MywgMjE4LCAyMywgMTYxLCAyMTgsIDIzLCAxODksIDIxOCwgMjMsIAorICAgIDE5NCwgMjE4LCAyMywgMTk4LCAyMTgsIDIzLCAxOTUsIDIxOCwgMjMsIDIwMCwgMjE4LCAyMywgOTYsIDUwLCAyMTgsIDIzLCAKKyAgICAyMzAsIDE4MSwgMjE4LCAyMywgMjQ1LCA5OCwgNTAsIDIxOCwgMjMsIDQzLCAyMjYsIDMsIDIxOCwgMjMsIDQ0LCAyMjYsIDMsIAorICAgIDIxOCwgMjMsIDcsIDQsIDEsIDIzMCwgMjUsIDIxOCwgNjUsIDIxMCwgODYsIDIxOCwgNjUsIDExMCwgMjE4LCA2NSwgMTA1LCAKKyAgICAyMTgsIDY1LCAxNTgsIDIxOCwgNjUsIDE2MSwgMjE4LCA2NSwgMTg5LCAyMTgsIDY1LCAxOTQsIDIxOCwgNjUsIDE5OCwgCisgICAgMjE4LCA2NSwgMTk1LCAyMTgsIDY1LCAyMDAsIDIxOCwgNjUsIDk2LCA1MCwgMjE4LCA2NSwgMjMwLCAxODEsIDIxOCwgNjUsIAorICAgIDI0NSwgOTgsIDUwLCAyMTgsIDY1LCA0MywgMjI2LCAzLCAyMTgsIDY1LCA0NCwgMjI2LCAzLCA3LCAyMTgsIDY1LCA0LCAxLCAKKyAgICA2MSwgNywgMjE4LCA2NSwgNCwgMSwgNzUsIDcsIDIxOCwgNjUsIDQsIDEsIDc2LCA3LCAyMTgsIDY1LCA0LCAxLCAyMTEsIAorICAgIDE3OCwgNywgMjE4LCA2NSwgNCwgMSwgMjIxLCAxOTUsIDcsIDIxOCwgNjUsIDQsIDEsIDI0MiwgNjAsIDcsIDIxOCwgNjUsIAorICAgIDQsIDEsIDIzNSwgMjMsIDcsIDIxOCwgNjUsIDQsIDEsIDE1NiwgNywgMjE4LCA2NSwgNCwgMSwgMTkzLCA3LCAyMTgsIDY1LCAKKyAgICA0LCAxLCAyMzAsIDI1LCA3LCAyMTgsIDY1LCA0LCAxLCAyMjYsIDEwNSwgNywgMjE4LCA2NSwgNCwgMSwgMjIyLCA5MSwgNywgCisgICAgMjE4LCA2NSwgNCwgMSwgMjE3LCAxNTIsIDI0NSwgNDYsIDUwLCAyNDksIDIyNywgNTAsIDI0OSwgMTE3LCA1MCwgMjQzLCAKKyAgICAyNTEsIDI0MywgMjU0LCA1MCwgMjMyLCAxOTgsIDUwLCAyMzAsIDE5NCwgNTAsIDIyOSwgMjEwLCA1MCwgMjI1LCAxNjIsIAorICAgIDUwLCAyMjIsIDExOCwgNTAsIDIxMSwgMjE3LCA1MCwgMTY2LCAyMjAsIDQ5LCA1MCwgMjQ3LCAxMjcsIDUwLCAyNDUsIDQ3LCAKKyAgICA1MCwgMjM0LCA3NiwgNTAsIDIxNSwgMTEyLCA1MCwgMjQ2LCAxMDEsIDUwLCAyNDMsIDQwLCAyMjUsIDE5MywgNTAsIDIyNSwgCisgICAgMTYwLCA1MCwgMjQyLCAxMDksIDUwLCAyNTMsIDE4MiwgNTAsIDI0MCwgMjI4LCA1MCwgMjUwLCAxODUsIDUwLCAyMzIsIAorICAgIDE5MSwgMjE2LCAzLCA1MCwgMjE5LCAwLCA1MCwgMjE2LCAyNDUsIDUwLCAyMzUsIDI0MSwgMjIyLCAxMTgsIDUwLCAzOCwgCisgICAgNDMsIDI0MSwgMjU1LCA0OCwgMzgsIDQ0LCAyNDEsIDI1NSwgNDgsIDM4LCAxOTksIDY3LCAyMzIsIDIxNCwgMjI2LCAxMjAsIAorICAgIDM4LCAyMTksIDI1MSwgNjcsIDIzMiwgMjE0LCAyMjYsIDEyMCwgMzgsIDI1NCwgODgsIDgwLCA0OCwgMzgsIDI1MCwgMiwgCisgICAgODAsIDQ4LCAzOCwgNDMsIDgwLCA0OCwgMzgsIDQ0LCA4MCwgNDgsIDM4LCAyMjIsIDIzNCwgMjI2LCAxMjAsIDM4LCAyNTAsIAorICAgIDIsIDIyMiwgMjM0LCAyMjYsIDEyMCwgMzgsIDI1NCwgODgsIDIyMiwgMjM0LCAyMjYsIDEyMCwgMzgsIDEzNCwgMTcwLCA0OCwgCisgICAgMzgsIDI0NCwgMTEsIDE3MCwgNDgsIDM4LCAyNDUsIDE0NiwgMjUwLCAzNSwgMzgsIDI0NSwgMTQ2LCAyMTgsIDIzNCwgMzgsIAorICAgIDI0NSwgMTQ2LCAyNDcsIDI0OCwgMzgsIDI0NSwgMTQ2LCAyNTAsIDM2LCAyNTIsIDE4MCwgMzgsIDQzLCA0NCwgODAsIDQ4LCAKKyAgICAzOCwgMjQ1LCAxNDYsIDIyMSwgMTg4LCAzOCwgMjQ1LCAxNDYsIDIzNCwgMTM1LCAzOCwgMjQ1LCAxNDYsIDIxNCwgMTU1LCAKKyAgICAyMjUsIDcsIDIxNSwgMjI1LCAzOCwgMjIzLCA1MCwgMjE5LCA0NywgMjI2LCAxMjAsIDM4LCA1MiwgNjcsIDIxOCwgMTAzLCAKKyAgICAyMjYsIDEyMCwgMzgsIDI1NCwgOTgsIDg3LCAzOCwgMjE1LCAyMTEsIDIxNCwgMTgyLCAzOCwgMjExLCAyNDcsIDI1MSwgCisgICAgMTQwLCA0OCwgMzgsIDE0MCwgODAsIDIyNiwgMTIwLCAzOCwgMTk5LCA1MiwgMjE5LCA0NywgMjI2LCAxMjAsIDM4LCA5NywgCisgICAgMjQxLCAyNTUsIDIsIDI1MiwgMTM5LCAyNDYsIDEwMywgMzgsIDE0MCwgMjQxLCAyNTUsIDIsIDI1MiwgMTM5LCAyNDYsIAorICAgIDEwMywgMzgsIDQzLCA4MCwgNTEsIDM4LCA0NCwgODAsIDUxLCAzOCwgMjUzLCAyMTcsIDQ4LCAyNTUsIDExLCAyMjYsIDIzMSwgCisgICAgMjU0LCAyNTEsIDIxNiwgNDIsIDIxNiwgMTk2LCAyMTgsIDc0LCAxMzksIDYsIDI1MSwgNjYsIDI0OCwgNzEsIDI1MCwgMTc4LCAKKyAgICAyNTAsIDE3NSwgMjMyLCAyMTQsIDg3LCAyNTAsIDI0MCwgMjI2LCAyMzEsIDI1MSwgMjYsIDIxNCwgMTg5LCAyNDUsIDQ4LCAKKyAgICAyNDksIDE5MSwgMjIxLCAxODUsIDI0OCwgNzEsIDI0NCwgMTc5LCAxMTksIDQsIDI0MywgMjAyLCAxMTksIDYsIDI0MiwgNjAsIAorICAgIDI1MSwgMjE5LCA2LCAyNDIsIDYwLCAxMzksIDYsIDI0MiwgNjAsIDIyNSwgMzcsIDI0OSwgMTkxLCAyMjUsIDM3LCAyNDksIAorICAgIDE5MiwgMTE3LCAxMTMsIDIyNSwgMTA4LCAxMTksIDYsIDczLCAyNTEsIDIxOSwgNiwgNzMsIDExOSwgNiwgMTU2LCAxMTksIAorICAgIDQsIDE1NiwgMjMzLCAxNDksIDU3LCAyNTIsIDE0MSwgODcsIDEzOSwgNiwgMjMwLCAyNSwgMjI3LCAxOTYsIDUwLCAyMTksIAorICAgIDMxLCAyMjMsIDExOSwgMjQ5LCAxNjIsIDExOSwgNiwgMjI2LCAxMDUsIDEzOSwgNiwgMjI2LCAxMDUsIDEzOSwgNiwgMjI0LCAKKyAgICA5NiwgMTE5LCA2LCAxNTMsIDI1MSwgMjE5LCA2LCAxNTMsIDEzOSwgNiwgMTUzLCAyMjQsIDE5NiwgMjE3LCA3MSwgMjIzLCAKKyAgICA2MiwgMjIwLCAxMzIsIDc4LCAyMTcsIDEsIDUwLCAyMTUsIDI1MywgMTY0LCA1MCwgMjEzLCAyNDAsIDEzOSwgNiwgMjEwLCAKKyAgICAxNTksIDIyNiwgMTMzLCA1MCwgMjI2LCAyMjEsIDUwLCAyMzUsIDE5MywgMjI2LCAyMjEsIDUwLCAyNTEsIDIxOSwgNiwgCisgICAgMjEwLCAxNTksIDIxNSwgOTQsIDI2LCA0LCAxLCAyMzUsIDE4NSwgMjM0LCAxNzMsIDUwLCAyNTQsIDEwNywgNTAsIDExOSwgCisgICAgNiwgMjUzLCAxNTgsIDI1MSwgMjE5LCA2LCAyNTEsIDY2LCAyNDUsIDY4LCA4NywgMTE5LCA0LCA3NSwgMTE5LCA2LCA3NSwgCisgICAgMTE5LCA2LCAyNDUsIDYsIDIxNSwgOTQsIDYsIDI0NSwgNiwgMTE5LCA2LCAxOTMsIDExOSwgNCwgNzYsIDExMiwgODcsIAorICAgIDI1MiwgMjksIDg3LCAyNDIsIDIwMiwgODcsIDI0OCwgMTkwLCA4NywgMjM1LCAyMzIsIDIxOSwgMjksIDIyMiwgMTg3LCA2LCAKKyAgICAyMjQsIDk2LCAyNDQsIDE4MiwgNTAsIDEzOSwgNCwgMjI1LCAxMDgsIDEzOSwgNCwgMjQzLCAxMDcsIDEzOSwgNiwgMjQzLCAKKyAgICAxMDcsIDEzOSwgNiwgMjI1LCAxMDgsIDEzOSwgMjMwLCAyNCwgMjE4LCA0MCwgMjE1LCA5NCwgMzUsIDYsIDI0MywgMjAyLCAKKyAgICAyMTUsIDk0LCAzNSwgNiwgMTU2LCAyMjMsIDQ5LCAzNSwgNiwgMTU2LCAyMTUsIDk0LCAzNSwgNiwgMjExLCAxMTcsIDEzOSwgCisgICAgMzIsIDYsIDI0OSwgNjAsIDEzOSwgMzIsIDQsIDI0OSwgNjAsIDEzOSwgMzIsIDQsIDc1LCAxMzksIDMyLCA0LCA3MywgMTM5LCAKKyAgICAzMiwgNCwgMjM1LCAxNDQsIDIyNCwgMTcwLCAyMzIsIDIxMywgMjE1LCA5NCwgMjU0LCAxMjYsIDIyNSwgMTgzLCA1MCwgCisgICAgMjU0LCAxODAsIDIxNSwgOTQsIDQsIDI0NSwgNiwgMTYsIDMxLCAyMjEsIDI1MiwgMjE5LCAyOSwgMjEyLCAxMTQsIDI0NCwgCisgICAgMiwgMTIzLCAyMjAsIDExOCwgMjEyLCAxMTQsIDI0NCwgMiwgMTIzLCAyMjgsIDE5NCwgMjEyLCAxMTQsIDI0NCwgMiwgMTIzLCAKKyAgICAyMTYsIDI0MSwgMjEyLCAxMTQsIDI0NCwgMiwgMTIzLCAyMTYsIDE2OCwgMjEyLCAxMTQsIDI0NCwgMiwgMTEzLCAyMTYsIAorICAgIDE2NiwgMjEyLCAxMTQsIDI0NCwgMiwgMTIzLCAyNDQsIDExNywgMjEyLCAxMTQsIDI0NCwgMiwgMTEzLCAyNDQsIDExNiwgCisgICAgMjEyLCAxMTQsIDI0NCwgMiwgMTM0LCAyNDQsIDExNiwgMjEyLCAxMTQsIDI0NCwgMiwgMjQ0LCAxMSwgMjQ0LCAxMTYsIAorICAgIDIxMiwgMTE0LCAyNDQsIDIsIDEyMywgMjE5LCAxMTUsIDIxMiwgMTE0LCAyNDQsIDIsIDI0NCwgODEsIDIxOSwgMTEzLCAKKyAgICAyMTIsIDExNCwgMjQ0LCAyLCAxMjMsIDI0NSwgMTg4LCAyMTIsIDExNCwgMjQ0LCAyLCAxMzQsIDI0NSwgMTg2LCAyMTIsIAorICAgIDExNCwgMjQ0LCAyLCAyNDQsIDgxLCAyNDUsIDE4NiwgMjEyLCAxMTQsIDI0NCwgMiwgMjIwLCAxMjIsIDI0NSwgMTg2LCAKKyAgICAyNDQsIDIsIDIyNywgMTk3LCAxMTAsIDIyMiwgMTk4LCAyMjcsIDE5OCwgMTEwLCAyMjIsIDE5OCwgMjI3LCAxOTgsIDEwNSwgCisgICAgMjIyLCAxOTgsIDIyNywgMTk4LCAxNTgsIDIyMiwgMTk4LCAyMjcsIDE5OCwgMTYxLCAyMjIsIDE5OCwgMjI3LCAxOTgsIAorICAgIDE4OSwgMjIyLCAxOTgsIDIyNywgMTk4LCAxOTQsIDIyMiwgMTk4LCAyMjcsIDE5OCwgMTk4LCAyMjIsIDE5OCwgMjI3LCAKKyAgICAxOTgsIDE5NSwgMjIyLCAxOTgsIDIyNywgMTk4LCAyMDAsIDIyMiwgMTk4LCAyMjcsIDE5OCwgMjE2LCAyNDcsIDIyMiwgCisgICAgMTk4LCAyMjcsIDE5OCwgMjQ1LCAxNjcsIDIyMiwgMTk4LCAyMjcsIDE5OCwgMjE1LCA3NiwgMjIyLCAxOTgsIDIyNywgMTk4LCAKKyAgICAyNDQsIDExNCwgMjIyLCAxOTgsIDIyNywgMTk4LCAxMjMsIDI0MCwgMjEwLCAyMjIsIDE5OCwgMjI3LCAxOTgsIDI0NCwgODEsIAorICAgIDI0MCwgMjEwLCAyMjIsIDE5OCwgMjI3LCAxOTgsIDEyMywgMjE2LCAxNDcsIDQsIDIyMiwgMTk4LCAyMjcsIDE5OCwgMTEwLCAKKyAgICA0LCAyMjIsIDE5OCwgMjI3LCAxOTgsIDEwNSwgNCwgMjIyLCAxOTgsIDIyNywgMTk4LCAxNTgsIDQsIDIyMiwgMTk4LCAyMjcsIAorICAgIDE5OCwgMTYxLCA0LCAyMjIsIDE5OCwgMjI3LCAxOTgsIDE4OSwgNCwgMjIyLCAxOTgsIDIyNywgMTk4LCAxOTQsIDQsIDIyMiwgCisgICAgMTk4LCAyMjcsIDE5OCwgMTk4LCA0LCAyMjIsIDE5OCwgMjI3LCAxOTgsIDE5NSwgNCwgMjIyLCAxOTgsIDIyNywgMTk4LCAKKyAgICAyMDAsIDQsIDIyMiwgMTk4LCAyMjcsIDE5OCwgMjE2LCAyNDcsIDQsIDIyMiwgMTk4LCAyMjcsIDE5OCwgMjQ1LCAxNjcsIDQsIAorICAgIDIyMiwgMTk4LCAyMjcsIDE5OCwgMjE1LCA3NiwgNCwgMjIyLCAxOTgsIDIyNywgMTk4LCAyNDQsIDExNCwgNCwgMjIyLCAKKyAgICAxOTgsIDIyNywgMTk4LCAxMjMsIDI0MCwgMjEwLCA0LCAyMjIsIDE5OCwgMjI3LCAxOTgsIDI0NCwgODEsIDI0MCwgMjEwLCAKKyAgICA0LCAyMjIsIDE5OCwgMjI3LCAxOTgsIDEyMywgMjE2LCAxNDcsIDIyMiwgMTk4LCAyMjcsIDE5OCwgMTIzLCAyMTYsIDE0OCwgCisgICAgMjUxLCA2NywgMjQ5LCA2MCwgMjIyLCAxOTgsIDIyNywgMTk4LCAyNDQsIDgxLCAyMTYsIDE0NywgMjIyLCAxOTgsIDIyNywgCisgICAgMTk4LCAyMTYsIDI0OCwgMjE2LCAxNDcsIDIyMiwgMTk4LCAyMjcsIDE5OCwgMjIzLCA0OSwgMTIzLCAyNDAsIDIxMCwgNywgCisgICAgNCwgMSwgMjIzLCA0OSwgMjUxLCA2NiwgMjIyLCAxOTgsIDIyNywgMTk4LCAyMTksIDEyNSwgMjMzLCA3OCwgMTcsIDIyMiwgCisgICAgMTk4LCAyMjcsIDE5OCwgMjQ0LCAxMTUsIDI0NSwgMjI2LCAxNywgMjIyLCAxOTgsIDIyNywgMTk4LCAyNDQsIDExNSwgMjE2LCAKKyAgICAxNDcsIDIyMiwgMTk4LCAyMjcsIDE5OCwgMTIzLCAyNDAsIDIxMSwgMjE2LCAxNDcsIDIxMiwgMTE0LCAyNDQsIDIsIDIxMCwgCisgICAgODcsIDIxNiwgMTY2LCAxNDAsIDc0LCAyMTQsIDE1MywgNzQsIDk3LCA3NCwgMjQ2LCAxMDQsIDc0LCA0MywgNDQsIDc0LCAKKyAgICAxMjAsIDEyNCwgNzQsIDIyOCwgNTYsIDIxMiwgOSwgNzQsIDIyOCwgNTYsIDI0NSwgMjIwLCA3NCwgMjE5LCAyOCwgMjQ1LCAKKyAgICAyMjAsIDc0LCAyMTksIDI4LCAyMTIsIDksIDc0LCAxNDAsIDgwLCAyLCA5MSwgOTcsIDgwLCAyLCA5MSwgMTQwLCAyMTIsIAorICAgIDM2LCA3NCwgOTcsIDIxMiwgMzYsIDc0LCAxNDAsIDExMywgMjQxLCAyMzQsIDc0LCAyMTQsIDE1MywgMTEzLCAyNDEsIDIzNCwgCisgICAgNzQsIDk3LCAxMTMsIDI0MSwgMjM0LCA3NCwgMjQ2LCAxMDQsIDExMywgMjQxLCAyMzQsIDc0LCAxNDAsIDgwLCAyLCAyMTcsIAorICAgIDc3LCA5NywgODAsIDIsIDIxNywgNzcsIDE0MCwgODAsIDI0MywgMjQzLCAxMzAsIDIxNCwgMTUzLCA4MCwgMjQzLCAyNDMsIAorICAgIDEzMCwgOTcsIDgwLCAyNDMsIDI0MywgMTMwLCAyNDYsIDEwNCwgODAsIDI0MywgMjQzLCAxMzAsIDEyMCwgMTI0LCA4MCwgMiwgCisgICAgMjUyLCAxMjcsIDE0MCwgODAsIDIsIDEwMywgOTcsIDgwLCAyLCAxMDMsIDE0MCwgODAsIDIsIDIzMiwgMTIzLCA5NywgODAsIAorICAgIDIsIDIzMiwgMTIzLCA0MywgNDQsIDIxMiwgMzYsIDc0LCA0MywgNDQsIDgwLCAyLCA5MSwgMjQ2LCAxMDQsIDIxMCwgMzUsIAorICAgIDc0LCAyMTQsIDE1MywgODAsIDIsIDIxNiwgNzcsIDIzMywgMzcsIDIxNCwgMTUzLCA4MCwgMiwgMjE2LCA3NywgMjIyLCAKKyAgICAyNDEsIDI0NiwgMTA0LCA4MCwgMiwgMjE2LCA3NywgMjMzLCAzNywgMjQ2LCAxMDQsIDgwLCAyLCAyMTYsIDc3LCAyMjIsIAorICAgIDI0MSwgOTcsIDgwLCAyLCAyNDksIDE2MSwgMjQ2LCAxMDMsIDI0NiwgMTA0LCA4MCwgMiwgMjQ5LCAxNjEsIDIzMywgMzcsIAorICAgIDI1NCwgODgsIDIxNiwgMTQsIDIyMCwgMTUzLCA3NCwgMjUwLCAyLCAyMTYsIDE0LCAyMjAsIDE1MywgNzQsIDIyOCwgNTYsIAorICAgIDIxMiwgOSwgODAsIDIxNiwgNDIsIDE5OSwgMTMwLCAxNDAsIDgwLCAyMTYsIDQyLCAyNTIsIDE0MSwgMTE3LCA5NywgODAsIAorICAgIDIxNiwgNDIsIDEzMCwgMjU0LCA4OCwgMjA0LCAyNTAsIDM2LCA3NCwgMjUwLCAyLCAyMDQsIDI1MCwgMzYsIDc0LCAxNDAsIAorICAgIDI0MSwgMjU1LCAyLCAyNTIsIDEzOSwgMjE0LCAxNTIsIDE0MCwgMjQxLCAyNTUsIDIsIDI1MiwgMTM5LCAyNDYsIDEwMywgCisgICAgMjE0LCAxNTMsIDI0MSwgMjU1LCAyLCAyNTIsIDEzOSwgMjIyLCAyNDEsIDIxNCwgMTUzLCAyNDEsIDI1NSwgMiwgMjUyLCAKKyAgICAxMzksIDIzMywgMzcsIDk3LCAyNDEsIDI1NSwgMiwgMjUyLCAxMzksIDIxNCwgMTUyLCA5NywgMjQxLCAyNTUsIDIsIDI1MiwgCisgICAgMTM5LCAyNDYsIDEwMywgMjQ2LCAxMDQsIDI0MSwgMjU1LCAyLCAyNTIsIDEzOSwgMjIyLCAyNDEsIDI0NiwgMTA0LCAyNDEsIAorICAgIDI1NSwgMiwgMjUyLCAxMzksIDIzMywgMzcsIDk3LCA4MCwgMTE3LCAxNDAsIDc0LCAyMTQsIDE1MywgODAsIDE0MCwgNjQsIAorICAgIDI0NiwgMTA0LCA3NCwgMTQwLCA4MCwgMTE3LCA5NywgNzQsIDE0MCwgMjI2LCA3MCwgMjUzLCAyNDcsIDIxNCwgMTUzLCAKKyAgICAyMjYsIDcwLCAyNTMsIDI0NywgOTcsIDIyNiwgNzAsIDI1MywgMjQ3LCAyNDYsIDEwNCwgMjI2LCA3MCwgMjUzLCAyNDcsIAorICAgIDE0MCwgMjQxLCAyNTUsIDExNywgOTcsIDI0MSwgMjU0LCA5NywgMjQxLCAyNTUsIDExNywgMTQwLCAyNDEsIDI1NCwgMTQwLCAKKyAgICA1MiwgODAsIDIsIDkxLCA0MywgNDQsIDUyLCA4MCwgMiwgOTEsIDk3LCA1MiwgODAsIDIsIDkxLCAxNDAsIDUyLCA3NCwgCisgICAgMjE0LCAxNTMsIDUyLCA3NCwgOTcsIDUyLCA3NCwgMjQ2LCAxMDQsIDUyLCA3NCwgNDMsIDQ0LCA1MiwgNzQsIDEyMCwgMTI0LCAKKyAgICA1MiwgNzQsIDIyOCwgNTYsIDIxMiwgOSwgNTIsIDc0LCAyMjgsIDU2LCAyNDUsIDIyMCwgNTIsIDc0LCAyMTksIDI4LCAyNDUsIAorICAgIDIyMCwgNTIsIDc0LCAyMTksIDI4LCAyMTIsIDksIDUyLCA3NCwgMTQwLCAyMTUsIDIxMSwgNzQsIDk3LCAyMTUsIDIxMSwgCisgICAgNzQsIDE0MCwgMjE4LCAyMzAsIDc0LCA5NywgMjE4LCAyMzAsIDc0LCAyMTQsIDE1MywgODAsIDIsIDUyLCA5MSwgMjQ2LCAKKyAgICAxMDQsIDgwLCAyLCA1MiwgOTEsIDE0MCwgMjQ4LCAxNTUsIDc0LCAyMTQsIDE1MywgMjQ4LCAxNTUsIDc0LCA5NywgMjQ4LCAKKyAgICAxNTUsIDc0LCAyNDYsIDEwNCwgMjQ4LCAxNTUsIDc0LCAxNDAsIDgwLCAyMTYsIDQyLCAxMzAsIDk3LCA4MCwgMjE2LCA0MiwgCisgICAgMTMwLCAxNDAsIDcxLCA3NCwgMjE0LCAxNTMsIDcxLCA3NCwgOTcsIDcxLCA3NCwgMjQ2LCAxMDQsIDcxLCA3NCwgMjE0LCAKKyAgICAxNTMsIDcxLCA4MCwgMjQzLCAyNDMsIDEzMCwgMjE0LCAxNTMsIDcxLCA4MCwgMjI2LCAxOTcsIDIyNSwgMjE0LCAyMTQsIAorICAgIDE1MywgNzEsIDgwLCAyMjYsIDE5NywgMjI1LCAyMTUsIDIsIDIwMywgMTMwLCAyMTQsIDE1MywgNzEsIDgwLCAyMjYsIDE5NywgCisgICAgMjI1LCAyMTUsIDIsIDY3LCAxMzAsIDIxNCwgMTUzLCA3MSwgNTIsIDc0LCAyMTQsIDE1MywgNzEsIDUyLCA4MCwgMjI2LCAKKyAgICAxOTcsIDIyNSwgMjE0LCA5NywgNzEsIDgwLCAyNDMsIDI0MywgMjEyLCA1NiwgMjI4LCA1NiwgMjEyLCA5LCA4MCwgMjE2LCAKKyAgICA0MiwgMjQ5LCAxNjAsIDIxOSwgMjgsIDI0NSwgMjIwLCA4MCwgMjE2LCA0MiwgMjQ5LCAxNjAsIDEyMCwgMTI0LCA3MSwgNzQsIAorICAgIDQ0LCA4MCwgMiwgNCwgMjUwLCAzNSwgMjQ2LCAxMDQsIDgwLCAxNDAsIDY0LCAyMTQsIDE1MywgNzQsIDEzNCwgOTcsIDI1MywgCisgICAgMjQ3LCAxNDAsIDgwLCAyLCA2NywgOTEsIDk3LCA4MCwgMiwgNjcsIDkxLCA0MywgNDQsIDgwLCAyLCA2NywgOTEsIDE0MCwgCisgICAgODAsIDIsIDUyLCA2NywgOTEsIDk3LCA4MCwgMiwgNTIsIDY3LCA5MSwgNDMsIDQ0LCA4MCwgMiwgNTIsIDY3LCA5MSwgMTQwLCAKKyAgICAyMjYsIDE3MywgNzQsIDk3LCAyMjYsIDE3MywgNzQsIDQzLCA0NCwgMjI2LCAxNzMsIDc0LCAzMSwgMjU0LCAxNTQsIDI0OSwgCisgICAgMjE0LCAyMjUsIDI1MywgMjQ3LCAyMzMsIDIxNiwgMTg3LCAyNDUsIDI3LCAyMTYsIDE4NywgMjQ3LCAxMzgsIDIyOCwgNTIsIAorICAgIDI0NSwgMjgsIDI0NSwgMTUyLCAyMjAsIDEyNywgMjM1LCAyNDUsIDIyOSwgMjIxLCAyNDUsIDE3MCwgMjI2LCAyMzEsIDIyOCwgCisgICAgNTIsIDI1NCwgMTI0LCAyNDUsIDE3MCwgMjI2LCAyMzEsIDQsIDI0NSwgMTcwLCAyMjYsIDIzMSwgMjQ5LCAxODYsIDI1MywgCisgICAgMjM4LCAyMzEsIDYyLCAyNDcsIDEzOCwgMjI4LCA1MiwgMjQ5LCAxODgsIDI1MywgMjM4LCAyMzEsIDYyLCA0LCAyNDksIAorICAgIDE4NiwgMjUzLCAyMzgsIDIzMSwgNjIsIDI0NSwgMTQzLCA2NCwgMjI0LCAxNzIsIDIzMCwgMjQsIDIyNCwgMTgwLCAyMzAsIAorICAgIDI0LCAyNDksIDE2NSwgMjMwLCAyNCwgMjE4LCA0MCwgMjMwLCAxODIsIDUwLCAyMzAsIDE4MCwgNTAsIDU5LCAyMjUsIDIyLCAKKyAgICAyNDcsIDE2OSwgMjE5LCA5NSwgMjIwLCAxMjgsIDIzMCwgMTgxLCAyNTMsIDIxNywgMjI2LCAxNjcsIDIyMiwgMjM0LCAyMjYsIAorICAgIDE2NywgMjUxLCAxMTQsIDIyNiwgMTY3LCA0MiwgMjIyLCAxOTMsIDI0OSwgMTA5LCAyMjIsIDE5MywgMjQ0LCA0LCAyMjIsIAorICAgIDE5MywgMjI0LCAxNjgsIDExMSwgMjM1LCAyMzQsIDQ0LCAyNTQsIDEwOSwgMjU0LCAxMDksIDIzMSwgODgsIDI1NCwgMTA5LCAKKyAgICAyMTgsIDI1NSwgMjU0LCAxMDksIDI0NywgMTcxLCAyNDcsIDEzOCwgMjI4LCA1MiwgMjQ3LCAxNzQsIDIyNiwgOCwgMTExLCAKKyAgICAyMjgsIDUyLCAyMjYsIDgsIDExMSwgMjMyLCAxNDYsIDI1NCwgMTE4LCAyMzIsIDE0NiwgMjI2LCAxNTgsIDIzNSwgMTk4LCAKKyAgICAyMTQsIDE3NSwgMjM1LCAyMTEsIDUyLCAyMzUsIDIxMSwgMjE1LCAyMTEsIDIzNSwgMjExLCAyNDksIDE4MiwgMjM1LCAyMTEsIAorICAgIDIxOCwgMTMsIDIzNSwgMjExLCAyMTMsIDEyOSwgMjM1LCAyMTEsIDI1MCwgMiwgMjM1LCAyMTEsIDI1MCwgMiwgMjQ5LCAKKyAgICAxODIsIDIzNSwgMjExLCAyNTQsIDg4LCAyNDksIDE4MiwgMjM1LCAyMTEsIDIxNiwgMTg2LCAyNTIsIDY3LCAyMjMsIDEzNywgCisgICAgMjI0LCAxNjksIDU5LCAyMzAsIDE4MSwgMjQ1LCAzMywgMjQzLCA0NiwgMjI0LCAxNjksIDI0MSwgNTcsIDIxNiwgODksIAorICAgIDIyNiwgMTY3LCAyMjMsIDQ5LCAxODIsIDIzNSwgMTkzLCAyMzMsIDY1LCAyMjIsIDkxLCAyMTksIDE1NywgMjEyLCAzNSwgCisgICAgMjExLCAyMDAsIDIyNCwgMTgwLCAyMjgsIDUyLCAxODIsIDIzMCwgMTgyLCAxODIsIDI1MywgMjEwLCAxMjgsIDExMSwgMjI4LCAKKyAgICA1MiwgMjUzLCAyMTAsIDEyOCwgMTExLCAyNTQsIDQ4LCAxMjgsIDExMSwgMjU0LCA0OCwgMjUxLCA4OCwgMjI4LCA1MiwgCisgICAgMjU1LCA0LCAxMjgsIDExMSwgMjI5LCAxMDAsIDI1NCwgNDgsIDIyOCwgNTksIDI1NSwgNCwgMTI4LCAxMTEsIDI1NCwgMTQ4LCAKKyAgICAxMjgsIDExMSwgMjI4LCA1MiwgMjU0LCAxNDgsIDEyOCwgMTExLCAyNTQsIDE0OCwgMTI4LCAxNzcsIDEyOCwgMTExLCAyMTUsIAorICAgIDIxMSwgMTgyLCAyNTQsIDE1NSwgMTI4LCAxMTEsIDI0NSwgOTQsIDExMSwgMjQzLCA0NSwgMjQ1LCA5NCwgMTExLCAyNDcsIAorICAgIDIzNCwgMjUyLCAyMywgMjU0LCA1MCwgMjE2LCAxOTYsIDIzMiwgMjIxLCAyNDMsIDQ1LCAxMjgsIDExMSwgMjU0LCA0OCwgCisgICAgMTI4LCAyMTYsIDQyLCAxNzcsIDIxNiwgMTk2LCAyMzYsIDE1LCAyMjYsIDIzMSwgMjM2LCAxNSwgNjQsIDE3NywgMjU0LCAKKyAgICA0OCwgMTI4LCAxMTEsIDI0OSwgMjI3LCAyNDUsIDk3LCAyNDUsIDk4LCAyNDksIDIyNiwgMjIyLCAyMzQsIDIzNiwgMCwgCisgICAgMTI4LCAxMTEsIDIyMiwgMjM0LCAxMjgsIDExMSwgMjQ5LCAxNTQsIDExMSwgMjQ1LCA2NywgMjQ1LCA5NiwgMTExLCAyMTgsIAorICAgIDE1NywgMjQ1LCA5NywgMjQ4LCA1NSwgMTI4LCAxMTEsIDEyOCwgMjE2LCA0MiwgMjUxLCA3OCwgMjQ4LCA3MiwgMjMxLCA4OCwgCisgICAgMjUxLCA3NywgMjI0LCAxMSwgMTI4LCAxMTEsIDIyOCwgNTIsIDEyOCwgMTExLCAyNDAsIDEwNCwgMTExLCAyMjgsIDUyLCAKKyAgICAyNDAsIDEwNCwgMTExLCAyMTgsIDEwOSwgMjQ1LCA5NCwgMTExLCAyMzMsIDE1LCAxNzcsIDEyOCwgMTExLCAyNDIsIDEzMCwgCisgICAgMTc3LCAxMjgsIDExMSwgMjMzLCAxNSwgMTE3LCAxMjgsIDExMSwgMjQyLCAxMzAsIDExNywgMTI4LCAxMTEsIDIzMywgMTUsIAorICAgIDI1MSwgODgsIDIyOCwgNTIsIDEyOCwgMTExLCAyNDIsIDEzMCwgMjUxLCA4OCwgMjI4LCA1MiwgMTI4LCAxMTEsIDIzMCwgCisgICAgOTcsIDIzMywgMTQsIDIzMCwgOTcsIDI0MiwgMTI5LCAyNTIsIDIzLCAyMjgsIDUyLCAyNDUsIDk0LCAxMTEsIDIyOCwgNTIsIAorICAgIDIzMywgMTQsIDIyOCwgNTIsIDI0MiwgMTI5LCAyMjksIDEwMCwgMjMzLCAxNSwgMjI4LCA1OSwgMTI4LCAxMTEsIDIyOSwgCisgICAgMTAwLCAyNDIsIDEzMCwgMjI4LCA1OSwgMTI4LCAxMTEsIDIzMywgMTUsIDE3NywgMjQ1LCA5NCwgMTExLCAyNDIsIDEzMCwgCisgICAgMTc3LCAyNDUsIDk0LCAxMTEsIDIyOSwgMTAwLCAyMzMsIDE1LCAyMjgsIDU5LCAyNDUsIDk0LCAxMTEsIDIyOSwgMTAwLCAKKyAgICAyNDIsIDEzMCwgMjI4LCA1OSwgMjQ1LCA5NCwgMTExLCAyMzMsIDE1LCAxNzcsIDI0MiwgMTI5LCAyNDIsIDEzMCwgMTc3LCAKKyAgICAyMzMsIDE0LCAyMjksIDEwMCwgMjMzLCAxNSwgMjI4LCA1OSwgMjQyLCAxMjksIDIyOSwgMTAwLCAyNDIsIDEzMCwgMjI4LCAKKyAgICA1OSwgMjMzLCAxNCwgMjI0LCAyMDIsIDIxOCwgNTUsIDIyNCwgMjAzLCAxNzcsIDEyOCwgMTExLCAyMTgsIDU2LCAxNzcsIAorICAgIDEyOCwgMTExLCAyMjQsIDIwMywgMTc3LCAyNDUsIDk0LCAxMTEsIDIxOCwgNTYsIDE3NywgMjQ1LCA5NCwgMTExLCAyNDcsIAorICAgIDEzOCwgMjI4LCA1MiwgMjI0LCAyMDUsIDI0NywgMTM4LCAyMjgsIDUyLCAyMTgsIDU3LCAyMTgsIDY0LCAyMjYsIDIzMSwgCisgICAgMjE4LCAyMiwgMjI2LCAyMzEsIDIyOCwgNTIsIDExNSwgMjE4LCA2NCwgMjI2LCAyMzEsIDIyOCwgNTIsIDExNSwgMjE4LCAKKyAgICAyMiwgMjI2LCAyMzEsIDIxOCwgNjQsIDY0LCAxNzcsIDEyOCwgMTExLCAyMTgsIDIyLCA2NCwgMTc3LCAxMjgsIDExMSwgCisgICAgMjI5LCAxMDAsIDExNSwgMjE4LCA2NCwgNjQsIDIyOCwgNTksIDEyOCwgMTExLCAyMjksIDEwMCwgMTE1LCAyMTgsIDIyLCAKKyAgICA2NCwgMjI4LCA1OSwgMTI4LCAxMTEsIDIxOCwgNjQsIDY0LCAyLCAyMjgsIDUyLCAxMjgsIDExMSwgMjE4LCAyMiwgNjQsIDIsIAorICAgIDIyOCwgNTIsIDEyOCwgMTExLCAyMzAsIDgxLCAyMzAsIDgyLCAyMzAsIDgzLCAyMzAsIDgyLCAyMTQsIDE3NSwgNDIsIDIzNiwgCisgICAgMTUsIDIyNiwgMjMxLCA0MiwgMjI2LCAxNTAsIDIyNiwgMjMxLCA0MiwgMjM2LCAxNSwgNjQsIDE3NywgMTI4LCAxMTEsIDQyLCAKKyAgICAyMjYsIDE1MCwgNjQsIDE3NywgMTI4LCAxMTEsIDQyLCAyNTAsIDI1MSwgNDIsIDI0OSwgMTAyLCAzNywgMjI1LCAyMiwgMzcsIAorICAgIDIzMCwgMTgxLCAzNywgMjE2LCA4NSwgMzcsIDI0NywgMTY5LCAyMTksIDk1LCAzNywgNTksIDIyNiwgMTY3LCAzNywgMjIyLCAKKyAgICAyMzQsIDIyNiwgMTY3LCAzNywgMjUzLCAyMTcsIDIyNiwgMTY3LCAzNywgMjQ1LCA5NywgMzcsIDI0OCwgMTU2LCA5MiwgCisgICAgMjI1LCAyMiwgOTIsIDIzMCwgMTgxLCA5MiwgMjE2LCA4NSwgOTIsIDU5LCAyMjYsIDE2NywgNDQsIDIxNywgODcsIDQzLCAKKyAgICAyMTcsIDg3LCAxMjQsIDIxNywgODcsIDEyMCwgMjE3LCA4NywgMjUzLCAyMjAsIDIzMCwgMTU2LCAyMTUsIDE5MSwgMjQ0LCAKKyAgICAyNSwgMjE1LCAyMTEsIDY3LCAyNTIsIDE0MSwgNDQsIDIxNSwgOTMsIDUyLCA2NywgMjUyLCAxNDEsIDUyLCA0NCwgMjE1LCAKKyAgICA5MywgMjQ3LCAxMzgsIDIyOCwgNTIsIDIyNCwgMTYzLCAyMjgsIDUyLCAyMTUsIDE5MSwgMjQ3LCAxMzgsIDIyOCwgNTIsIAorICAgIDI0NCwgMjYsIDIyOSwgMTAyLCA1MiwgNjcsIDI1MiwgMTQxLCA1MiwgNDQsIDIxNSwgOTMsIDIyNCwgMjAzLCAyMTQsIDE4NCwgCisgICAgMjIzLCA5MSwgMjE4LCA1NiwgMjE0LCAxODQsIDIyMywgOTEsIDIyOCwgNTcsIDIxOCwgNzcsIDIyNiwgMjMxLCAyNDksIAorICAgIDE4NiwgMjUzLCAyMzgsIDIyOCwgNTcsIDIxOCwgNzYsIDIyOCwgNTcsIDIxOCwgNzcsIDY0LCAxNzcsIDEyOCwgMTExLCAKKyAgICAyNDksIDE4NiwgMjUzLCAyMzgsIDIyOCwgNTcsIDIxOCwgNzcsIDE3NywgMTI4LCAxMTEsIDIyNiwgMTUwLCAyMjYsIDIzMSwgCisgICAgMjM2LCAxNSwgMjI2LCAyMzEsIDIzMCwgODcsIDI0MSwgMjAwLCAyNDksIDE5NiwgMjMxLCAxMzcsIDIzNSwgMjA4LCAyMTEsIAorICAgIDE0NSwgMjI5LCAyMDIsIDIyOCwgNTgsIDQ0LCAyNTQsIDExMCwgMiwgMjU0LCAyNSwgNDQsIDIxNSwgMjI1LCAyMzAsIDI0LCAKKyAgICAyMzIsIDE0NiwgMjU0LCAxMTgsIDIzMCwgMjQsIDIzMiwgMTQ2LCAyMjYsIDE1OCwgMjMwLCAyNCwgMjM1LCAxOTgsIDIzMCwgCisgICAgMjQsIDIxNCwgMTc1LCAyNDcsIDI0OSwgMjI2LCAxNjcsIDU5LCAyMjYsIDE2NywgMjE4LCAxNTcsIDIyNiwgMTY3LCAyNDcsIAorICAgIDE2OSwgMjE2LCA4NSwgMjUxLCAxNjQsIDQzLCAyMjgsIDU3LCAyNDQsIDE4MSwgMjIwLCAxNDksIDIyNCwgMTgwLCA0NCwgCisgICAgMjI4LCA1NywgMjQ0LCAxODEsIDIyMCwgMTQ5LCAyMjQsIDE4MCwgNDMsIDIyMCwgMTQ5LCAyMjQsIDE4MCwgNDQsIDIyMCwgCisgICAgMTQ5LCAyMjQsIDE4MCwgMjIzLCA0OSwgMjE2LCA4OSwgMjQ1LCA5NywgMjQ5LCA5OSwgMjMyLCAxNDYsIDIyNiwgMTU4LCAKKyAgICAyNDksIDk5LCAyMzIsIDE0NiwgMjU0LCAxMTgsIDUyLCAyMTgsIDYzLCA1MiwgMjE4LCAyMSwgNTIsIDIzNSwgMTk4LCA1MiwgCisgICAgMjE0LCAxNzUsIDIyNSwgNDcsIDEyOCwgMjIsIDIyNiwgOCwgMTExLCAyMzMsIDE1LCAyLCAyNDcsIDEyMCwgMjQyLCAxMzAsIAorICAgIDIsIDI0NywgMTIwLCAyMTMsIDE4NywgMjMwLCA5NywgMjMzLCAxNCwgMjEzLCAxODcsIDIzMCwgOTcsIDI0MiwgMTI5LCAKKyAgICAyMzMsIDE1LCAxMjgsIDIxNiwgNDIsIDE3NywgMjQyLCAxMjksIDI0MiwgMTMwLCAxMjgsIDIxNiwgNDIsIDE3NywgMjMzLCAKKyAgICAxNCwgMTI4LCAyMTYsIDQyLCAxNzcsIDIzMywgMTQsIDEyOCwgMjE2LCA0MiwgMTc3LCAyNDIsIDEyOSwgMTI4LCAyMTYsIAorICAgIDQyLCAxNzcsIDIyNCwgMjAyLCAxMjgsIDIxNiwgNDIsIDE3NywgMjE4LCA1NSwgMjQ3LCAxMzgsIDIyOCwgNTIsIDIyNCwgCisgICAgMjA2LCAxNzcsIDI0NSwgOTksIDI0NywgMTM4LCAyMjgsIDUyLCAyMTgsIDU4LCAxNzcsIDI0NSwgOTksIDIyOCwgNTIsIDQyLCAKKyAgICAyMzYsIDE1LCA2NCwgMTc3LCAxMjgsIDExMSwgMjI4LCA1MiwgNDIsIDIyNiwgMTUwLCA2NCwgMTc3LCAxMjgsIDExMSwgNDIsIAorICAgIDIzNiwgMTUsIDY0LCAxNzcsIDIyOCwgNTIsIDEyOCwgMTExLCA0MiwgMjI2LCAxNTAsIDY0LCAxNzcsIDIyOCwgNTIsIDEyOCwgCisgICAgMTExLCAyMzMsIDE1LCAyNTEsIDg4LCAyMjgsIDUyLCAyNDUsIDk0LCAxMTEsIDI0MiwgMTMwLCAyNTEsIDg4LCAyMjgsIDUyLCAKKyAgICAyNDUsIDk0LCAxMTEsIDIyNCwgMjAzLCAyNTEsIDg4LCAyMjgsIDUyLCAyNDUsIDk0LCAxMTEsIDIxOCwgNTYsIDI1MSwgODgsIAorICAgIDIyOCwgNTIsIDI0NSwgOTQsIDExMSwgMjI4LCA1MiwgMjI4LCA1NywgMjE4LCA3NywgMjI2LCAyMzEsIDI0NywgMTM4LCAKKyAgICAyMjgsIDUyLCAyNDksIDE4OCwgMjUzLCAyMzgsIDIyOCwgNTcsIDIxOCwgNzYsIDIyOCwgNTIsIDIyOCwgNTcsIDIxOCwgNzcsIAorICAgIDY0LCAxNzcsIDEyOCwgMTExLCAyNDcsIDEzOCwgMjI4LCA1MiwgMjQ5LCAxODgsIDI1MywgMjM4LCAyMjgsIDU3LCAyMTgsIAorICAgIDc3LCAxNzcsIDI0NSwgOTksIDY3LCAyNDUsIDE2MywgMjMwLCAyMjIsIDIwMywgMjQ1LCAxNjMsIDEyMCwgNDQsIDI0NywgCisgICAgMjU1LCAyNDUsIDE2MywgMTI0LCA0NCwgMjQ3LCAyNTUsIDI0NSwgMTYzLCAyNDUsIDE3MCwgNjQsIDIsIDE5OSwgMjAzLCAKKyAgICA5MSwgMjQ1LCAxNzAsIDY0LCAyLCA2NywgMjUyLCAxNDEsIDI1MywgMjA3LCAyNDUsIDE0MywgNjQsIDIwMywgOTEsIDQsIAorICAgIDI0NSwgMTcwLCA2NCwgMiwgNjcsIDI1MiwgMTQxLCAyNTMsIDIwNywgMjQ1LCAxNDMsIDY0LCAyMDMsIDkxLCAyNDUsIDE3MCwgCisgICAgNjQsIDIsIDU5LCA0OCwgMjQ1LCAxNzAsIDY0LCAyLCAyMjYsIDEyMywgNCwgMjQ1LCAxNzAsIDY0LCAyLCAyMjYsIDEyMywgCisgICAgMjQ1LCAxNzAsIDY0LCAyLCAyMTQsIDE4MywgMjQ1LCAxNzAsIDY0LCAyLCAxMTMsIDIwMywgMjE4LCA5MCwgMjQ5LCAxODYsIAorICAgIDIsIDE5OSwgMjAzLCA5MSwgMjQ5LCAxODYsIDIsIDY3LCAyNTIsIDE0MSwgMjUzLCAyMDcsIDI0NSwgMTQzLCA2NCwgMjAzLCAKKyAgICA5MSwgNCwgMjQ5LCAxODYsIDIsIDY3LCAyNTIsIDE0MSwgMjUzLCAyMDcsIDI0NSwgMTQzLCA2NCwgMjAzLCA5MSwgMjQ5LCAKKyAgICAxODYsIDIsIDIyNiwgMTIzLCA0LCAyNDksIDE4NiwgMiwgMjI2LCAxMjMsIDIxMCwgMTYwLCAxODcsIDI1MiwgMTczLCAyMzEsIAorICAgIDYxLCAyNDcsIDI1MCwgNTAsIDI0NSwgMTcyLCA3NCwgMjQwLCAyMzQsIDEyMCwgMjUzLCAyNDksIDEyNCwgMjUzLCAyNDksIAorICAgIDIyNCwgMTc1LCAyMjUsIDE2NSwgMjEyLCAzMiwgMjMyLCAyMTMsIDQzLCAyNTAsIDE4MSwgNDQsIDI1MCwgMTgxLCA0MywgCisgICAgMjQ0LCA1NywgNDQsIDI0NCwgNTcsIDI1MSwgMTc1LCA0NCwgMjQ5LCAxMzIsIDI1MSwgMTc1LCA0MywgMjQ5LCAxMzIsIAorICAgIDIxNiwgMTQsIDQ0LCAyNDksIDEzMiwgMjE2LCAxNCwgNDMsIDI0OSwgMTMyLCAyMjMsIDQ5LCAyMjgsIDUyLCA1MCwgNDIsIAorICAgIDIzMiwgMTA0LCAyNTQsIDI1LCAyMjEsIDE2NCwgMjIxLCAxNzEsIDIxNywgMSwgMjIzLCAxMjAsIDIyNCwgMjQxLCAyMzUsIAorICAgIDIzOCwgMjEzLCAxNjUsIDIxOCwgMjM0LCAyMjUsIDQxLCA2NCwgMjM1LCAyMDcsIDUwLCAyMTUsIDk0LCAyMjgsIDUyLCA1MCwgCisgICAgMjEyLCA0MiwgMjQwLCAyMzYsIDIxNiwgMTQsIDQzLCAyNDksIDE2MCwgMjE2LCAxNCwgNDQsIDI0OSwgMTYwLCAyNTEsIAorICAgIDE3NSwgNDMsIDI0OSwgMTYwLCAyNTEsIDE3NSwgNDQsIDI0OSwgMTYwLCAyMTYsIDE0LCAxNjMsIDIzNSwgMjExLCAyNTEsIAorICAgIDE3NSwgMTYzLCAyMzUsIDIxMSwgMjQzLCAyNDAsIDIxOSwgNzUsIDEyMCwgMjUzLCAyNTAsIDI1MiwgMjQsIDExMywgMjAzLCAKKyAgICAyNTIsIDEyOSwgMjI2LCAxNjAsIDIzNCwgMTM4LCAyNDUsIDkwLCAyMTYsIDQyLCAyMTYsIDE5NiwgMjIyLCAyNTEsIDIxMSwgCisgICAgMTc5LCAyMzYsIDAsIDExNSwgMjIzLCAxMTcsIDI1MSwgMTYzLCAyMzQsIDEzNywgMjMzLCA0MiwgMjU0LCAxMTAsIDEyNywgCisgICAgMjIyLCAyNDcsIDI1NCwgMTEwLCAxMjcsIDI0NSwgOTAsIDIxNiwgNDIsIDIxNiwgMTk2LCAyMzMsIDQ2LCAyNTIsIDM1LCAKKyAgICAyMjIsIDIzMywgMjQ5LCA3MCwgMjU0LCAxNTUsIDI1NCwgMSwgMjE3LCAxODEsIDIxNiwgNCwgMjIyLCAxMjMsIDI0NywgCisgICAgMjE1LCAyMjYsIDE1MSwgMjQ5LCAxOTgsIDIxNywgNTIsIDIxOSwgODYsIDI0OSwgMTUxLCAyNDksIDE1MCwgMjU0LCA2NiwgCisgICAgMjQzLCAyMjUsIDE2LCAyNDAsIDE1MSwgMjU0LCA2NiwgMjQzLCAyMjUsIDE2LCAyMTgsIDIyOCwgMjI0LCAyNywgMjU0LCAKKyAgICA2NiwgMjQzLCAyMjUsIDE2LCAyMjQsIDI4LCAyNDUsIDk5LCAyNTQsIDY2LCAyNDMsIDIyNSwgMTYsIDIyNCwgMjgsIDI0NywgCisgICAgMTc0LCAyNTQsIDY2LCAyNDMsIDIyNSwgMTYsIDIyNCwgMjgsIDI0NywgMjQ4LCAyNTQsIDY2LCAyNDMsIDIyNSwgMTYsIAorICAgIDIyNCwgMjgsIDIzNSwgNTYsIDI1NCwgNjYsIDI0MywgMjI1LCAxNiwgMjI0LCAyOCwgMjUwLCAzNSwgMjU0LCA2NiwgMjQzLCAKKyAgICAyMjUsIDE2LCAyNTAsIDM2LCAyMTgsIDEzNSwgMjU0LCA2NiwgMjQzLCAyMjUsIDE2LCAyNTAsIDM2LCAyMzUsIDU2LCAyNTQsIAorICAgIDY2LCAyNDMsIDIyNSwgMTYsIDIxOSwgOTYsIDEzMCwgMjU0LCA2NiwgMjQzLCAyMjUsIDE2LCAyNTIsIDE4MSwgMTMwLCAKKyAgICAyNTQsIDY2LCAyNDMsIDIyNSwgMTYsIDIyNCwgMjgsIDIxOSwgOTUsIDI1NCwgNjYsIDI0MywgMjI1LCAxNiwgMjI0LCAyOCwgCisgICAgMjUyLCAxODAsIDI1NCwgNjYsIDI0MywgMjI1LCAxNiwgMjI0LCAyOCwgMjMzLCAxNCwgMjU0LCA2NiwgMjQzLCAyMjUsIDE2LCAKKyAgICAyMjQsIDI4LCAyNDIsIDEyOSwgMjU0LCA2NiwgMjQzLCAyMjUsIDE2LCAxNDAsIDIxNCwgMTksIDI1NCwgNjYsIDI0MywgCisgICAgMjI1LCAxNiwgOTcsIDIxNCwgMTksIDI1NCwgNjYsIDI0MywgMjI1LCAxNiwgMjI0LCAyOCwgMTQwLCA3NCwgMjU0LCA2NiwgCisgICAgMjQzLCAyMjUsIDE2LCAyMjQsIDI4LCA5NywgNzQsIDI1NCwgNjYsIDI0MywgMjI1LCAxNiwgMjUwLCAzNiwgMjUyLCAxODAsIAorICAgIDI1NCwgNjYsIDI0MywgMjI1LCAxNiwgMTI0LCAyMTcsIDg4LCAyMTQsIDE4MywgMjU0LCA2NiwgMjQzLCAyMjUsIDE2LCAKKyAgICAyNDgsIDU1LCAyMTgsIDEzNSwgMjU0LCA2NiwgMjQzLCAyMjUsIDE2LCAyMjQsIDI4LCAxMjQsIDI1MCwgMjM4LCAyNTQsIAorICAgIDY2LCAyNDMsIDIyNSwgMTYsIDIyNCwgMjgsIDI0OCwgNTQsIDI1NCwgNjYsIDI0MywgMjI1LCAxNiwgMTI0LCAyMTcsIDg4LCAKKyAgICAyMzUsIDU2LCAyNTQsIDY2LCAyNDMsIDIyNSwgMTYsIDIxNCwgMTUzLCAyMTQsIDE5LCAyNTQsIDY2LCAyNDMsIDIyNSwgMTYsIAorICAgIDIyNCwgMjgsIDIxNCwgMTUzLCA3NCwgMjU0LCA2NiwgMjQzLCAyMjUsIDE2LCAxMjAsIDIxNywgODgsIDIyNiwgMTIzLCAKKyAgICAyNTQsIDY2LCAyNDMsIDIyNSwgMTYsIDI0OCwgNjYsIDIxOCwgMTM1LCAyNTQsIDY2LCAyNDMsIDIyNSwgMTYsIDIyNCwgMjgsIAorICAgIDEyMCwgMjUwLCAyMzgsIDI1NCwgNjYsIDI0MywgMjI1LCAxNiwgMjI0LCAyOCwgMjQ4LCA2NSwgMjU0LCA2NiwgMjQzLCAKKyAgICAyMjUsIDE2LCAxMjAsIDIxNywgODgsIDIzNSwgNTYsIDI1NCwgNjYsIDI0MywgMjI1LCAxNiwgMjQ2LCAxMDQsIDIxNCwgMTksIAorICAgIDI1NCwgNjYsIDI0MywgMjI1LCAxNiwgMjI0LCAyOCwgMjQ2LCAxMDQsIDc0LCAyNTQsIDY2LCAyNDMsIDIyNSwgMTYsIDIyMywgCisgICAgMjUzLCAyMTQsIDE4MywgMjU0LCA2NiwgMjQzLCAyMjUsIDE2LCAyNDgsIDU1LCAyMTQsIDE4MywgMjU0LCA2NiwgMjQzLCAKKyAgICAyMjUsIDE2LCAyNDcsIDI0OSwgMjE0LCAxODMsIDI1NCwgNjYsIDI0MywgMjI1LCAxNiwgMjM1LCA1NywgMjE0LCAxODMsIAorICAgIDI1NCwgNjYsIDI0MywgMjI1LCAxNiwgMjUwLCAzNiwgMjE0LCAxODMsIDI1NCwgNjYsIDI0MywgMjI1LCAxNiwgMTIwLCAKKyAgICAyMjAsIDUsIDIzNSwgNTYsIDI1NCwgNjYsIDI0MywgMjI1LCAxNiwgMjIzLCAyNTMsIDIyNCwgMjcsIDI1NCwgNjYsIDI0MywgCisgICAgMjI1LCAxNiwgMjUwLCAzNiwgMjE4LCAxNTYsIDI1NCwgNjYsIDI0MywgMjI1LCAxNiwgMjI0LCAyOCwgMjQ5LCAyMjYsIAorICAgIDI1NCwgNjYsIDI0MywgMjI1LCAxNiwgMTIwLCAyMTcsIDg4LCAyNDgsIDEsIDI1NCwgNjYsIDI0MywgMjI1LCAxNiwgMjQ4LCAKKyAgICA2NiwgMjQ4LCAxLCAyNTQsIDY2LCAyNDMsIDIyNSwgMTYsIDIxOCwgMTU3LCAyNDgsIDEsIDI1NCwgNjYsIDI0MywgMjI1LCAKKyAgICAxNiwgMjM1LCA1NywgMjQ4LCAxLCAyNTQsIDY2LCAyNDMsIDIyNSwgMTYsIDI1MCwgMzYsIDI0OCwgMSwgMjU0LCA2NiwgCisgICAgMjQzLCAyMjUsIDE2LCAxMjQsIDIyMCwgNSwgMjE4LCAxMzUsIDI1NCwgNjYsIDI0MywgMjI1LCAxNiwgNDMsIDIyMCwgNSwgCisgICAgMjE4LCAxMzUsIDI1NCwgNjYsIDI0MywgMjI1LCAxNiwgMjE2LCA4OSwgMjQ4LCAxLCAyNTQsIDY2LCAyNDMsIDIyNSwgMTYsIAorICAgIDI0MiwgMTMwLCAyNDgsIDEsIDI1NCwgNjYsIDI0MywgMjI1LCAxNiwgMjQ5LCAyMjAsIDEzMCwgMjU0LCA2NiwgMjQzLCAKKyAgICAyMjUsIDE2LCAyNDgsIDY2LCAxODIsIDI1NCwgNjYsIDI0MywgMjI1LCAxNiwgMjEwLCAzNCwgMjU0LCA2NiwgMjQzLCAyMjUsIAorICAgIDE2LCAyMTgsIDEzNiwgMTgyLCAyNTQsIDY2LCAyNDMsIDIyNSwgMTYsIDIyMCwgMTUxLCAyMTQsIDE4MywgMjU0LCA2NiwgCisgICAgMjQzLCAyMjUsIDE2LCAyMjQsIDI4LCAyMjgsIDUyLCAyNDUsIDk5LCAyNTQsIDY2LCAyNDMsIDIyNSwgMTYsIDIyNCwgMjgsIAorICAgIDIyNCwgMTIsIDI1NCwgNjYsIDI0MywgMjI1LCAxNiwgMTI0LCAyNTAsIDIzOSwgMTgyLCAyNTQsIDY2LCAyNDMsIDIyNSwgCisgICAgMTYsIDEyMCwgMjUwLCAyMzksIDE4MiwgMjU0LCA2NiwgMjQzLCAyMjUsIDE2LCAyMzUsIDE4NSwgMjU0LCA2NiwgMjQzLCAKKyAgICAyMjUsIDE2LCAyMjMsIDM3LCAyNTQsIDY2LCAyNDMsIDIyNSwgMTYsIDIyNiwgMjAxLCAyNTQsIDY2LCAyNDMsIDIyNSwgMTYsIAorICAgIDI1NCwgMTQ0LCAyMTQsIDE4MywgMjU0LCA2NiwgMjQzLCAyMjUsIDE2LCAyNDUsIDEwMSwgMjE0LCAxODMsIDI1NCwgNjYsIAorICAgIDI0MywgMjI1LCAxNiwgMjM1LCAxODYsIDIxNCwgMTgzLCAyNTQsIDY2LCAyNDMsIDIyNSwgMTYsIDIyNiwgMjAyLCAyMTQsIAorICAgIDE4MywgMjU0LCA2NiwgMjQzLCAyMjUsIDE2LCAyNTQsIDE0MywgMjI4LCA1MiwgMjUwLCAxMzAsIDc4LCA0NCwgMjU0LCAKKyAgICAxMTAsIDIsIDI0NiwgMTA0LCAyMTAsIDM1LCA3NCwgMjE5LCAyMzUsIDIwNCwgMjUxLCAxNjMsIDI1MiwgNDUsIDg3LCA2NywgCisgICAgMjMyLCAyMTQsIDIsIDIzMCwgMjI0LCAyNDcsIDEyMCwgMjM1LCAyMTYsIDg3LCAyNDksIDE4MywgMjE0LCAxODEsIDg3LCAKKyAgICAyNDcsIDE4OSwgMjE0LCAxODEsIDg3LCAyNDUsIDE1NCwgODcsIDI0OSwgMjEwLCA4NywgNzEsIDQyLCAyLCAyNTAsIDE3NSwgCisgICAgNjcsIDIzMiwgMjEzLCAyNDUsIDEzMCwgODcsIDI1NCwgMTM5LCAyMzQsIDEzOSwgODcsIDI0MSwgMjEzLCA4NywgMzcsIAorICAgIDIwMywgMjUyLCAxNDEsIDIsIDIyOCwgNTAsIDM3LCAyMTUsIDIyNiwgMjQ2LCAxMDYsIDI1MSwgMTM1LCAyNTAsIDM2LCAyLCAKKyAgICAyMjgsIDU0LCA3NCwgMjE0LCAxNzksIDg3LCAyMzAsIDEzNywgODcsIDI0MCwgMTY0LCA4NywgMjI2LCAxNzQsIDI0MiwgNTksIAorICAgIDg3LCAyMjYsIDE3NCwgMjMzLCAxNDcsIDg3LCAyMjUsIDI0NCwgODcsIDIyNSwgMjQzLCA4NywgMjQ3LCAxOTcsIDI0OSwgCisgICAgOTcsIDE2LCAyNDQsIDIwLCAxMDUsIDIxOSwgNTAsIDg3LCAyNTQsIDY2LCAyNDMsIDIyNSwgMTYsIDIyNCwgMjcsIDI0OCwgCisgICAgODMsIDIyMCwgMTM4LCAyMzQsIDEzOSwgODcsIDIyNCwgMTkyLCAyMjYsIDc1LCAyMjksIDgyLCAyMjYsIDc1LCAyMjQsIAorICAgIDE4OCwgMjIxLCAxODksIDg3LCAyNTAsIDE3LCAyMjEsIDE4OSwgODcsIDQzLCAyMjYsIDQsIDIxNCwgMTYwLCAxMDMsIDQzLCAKKyAgICAyMjYsIDQsIDI0NSwgMjEsIDQzLCAyMjYsIDQsIDIzMiwgMTA4LCAxMDMsIDQ0LCAyMjYsIDQsIDIxNCwgMTYwLCAxMDMsIAorICAgIDQ0LCAyMjYsIDQsIDI0NSwgMjEsIDQ0LCAyMjYsIDQsIDIzMiwgMTA4LCAxMDMsIDQzLCA0MiwgMjUxLCAxNTgsIDIxNCwgCisgICAgMTYwLCAyNDksIDE2MCwgNDMsIDQyLCAyNTEsIDE1OCwgMjQ1LCAyMSwgNDMsIDQyLCAyNTEsIDE1OCwgMjMyLCAxMDgsIAorICAgIDI0OSwgMTYwLCA0NCwgNDIsIDI1MSwgMTU4LCAyMTQsIDE2MCwgMjQ5LCAxNjAsIDQ0LCA0MiwgMjUxLCAxNTgsIDI0NSwgCisgICAgMjEsIDQ0LCA0MiwgMjUxLCAxNTgsIDIzMiwgMTA4LCAyNDksIDE2MCwgNDMsIDI0OSwgOTksIDI1MSwgMTU4LCAyMTQsIAorICAgIDE2MCwgMTAzLCA0MywgMjQ5LCA5OSwgMjUxLCAxNTgsIDIzMCwgMjI0LCAyMjUsIDEwMSwgNDMsIDI0OSwgOTksIDI1MSwgCisgICAgMTU4LCAyMzIsIDEwOCwgMTAzLCAyNDksIDk5LCAyNTEsIDE1OCwgMjQ1LCAyMSwgNDQsIDI0OSwgOTksIDI1MSwgMTU4LCAKKyAgICAyMTQsIDE2MCwgMTAzLCA0NCwgMjQ5LCA5OSwgMjUxLCAxNTgsIDIzMCwgMjI0LCAyMjUsIDEwMSwgNDQsIDI0OSwgOTksIAorICAgIDI1MSwgMTU4LCAyMzIsIDEwOCwgMTAzLCAyMzUsIDIxMiwgMjQ1LCAyMSwgMjAzLCAyMzIsIDIxNCwgMjQ1LCAyMSwgMjE0LCAKKyAgICAxNjAsIDQzLCAxNzcsIDIzMiwgMTA4LCA0NCwgMjQ5LCA5OSwgMjUxLCAxNTgsIDIyMSwgMTcyLCAyMTQsIDE2MCwgNDQsIAorICAgIDE3NywgMjMyLCAxMDgsIDQzLCAyNDksIDk5LCAyNTEsIDE1OCwgMjIxLCAxNzIsIDIxOCwgNDEsIDIxNiwgMTMsIDIxOCwgCisgICAgNDEsIDI1MSwgMTc0LCAyMTYsIDE0LCA0MiwgMTI3LCAyNTEsIDE3NSwgNDIsIDEyNywgMjUxLCAxNzUsIDQyLCAyNTEsIAorICAgIDE1OCwgMTE3LCAyMTYsIDE0LCA0MiwgMTI3LCAzNCwgMTYsIDI1MSwgMTc0LCA0MywgNjcsIDkzLCAyMzIsIDIxMywgNDQsIAorICAgIDY3LCA5MywgMjMyLCAyMTMsIDIwMywgMjIxLCAyMDUsIDIzMiwgMjEyLCAyMDMsIDIyMSwgMjA1LCAyMzIsIDIxMSwgMjAzLCAKKyAgICAyMjEsIDIwNSwgMjMyLCAyMTAsIDIwMywgMjIxLCAyMDUsIDIzMiwgMjA5LCAyNDgsIDQ2LCAxNiwgMTkyLCA2NywgMjIsIAorICAgIDIxNiwgMTQsIDIyMiwgMjUxLCAyNDgsIDQ2LCAxNiwgMTkyLCA2NywgMjIsIDI1MSwgMTc1LCAyMjIsIDI1MSwgMjQ4LCA0NiwgCisgICAgMTYsIDE5MiwgNjcsIDIsIDI1MCwgMzUsIDI0OCwgNDYsIDE2LCAxOTIsIDEyNCwgMjIsIDIwMywgMiwgMjUwLCAzNSwgMjQ4LCAKKyAgICA0NiwgMTYsIDE5MiwgMTIwLCAyMiwgMjAzLCAyLCAyNTAsIDM1LCAyNDgsIDQ2LCAxNiwgMTkyLCA2NywgMiwgMjE1LCAyMjUsIAorICAgIDI0OCwgNDYsIDE2LCAxOTIsIDEyNCwgMjIsIDIwMywgMiwgMjE1LCAyMjUsIDI0OCwgNDYsIDE2LCAxOTIsIDEyMCwgMjIsIAorICAgIDIwMywgMiwgMjE1LCAyMjUsIDI0OCwgNDYsIDE2LCAxOTIsIDY3LCAyMiwgMjEyLCAzNSwgMjQ4LCA0NiwgMTYsIDE5MiwgCisgICAgMTI0LCAyMiwgMjAzLCAyLCAyMTIsIDM1LCAyNDgsIDQ2LCAxNiwgMTkyLCAxMjAsIDIyLCAyMDMsIDIsIDIxMiwgMzUsIAorICAgIDI0OCwgNDYsIDE2LCAxOTIsIDEyNCwgMjIsIDI0MSwgNDQsIDI0OCwgNDYsIDE2LCAxOTIsIDEyMCwgMjIsIDI0MSwgNDQsIAorICAgIDI0OCwgNDYsIDE2LCAxOTIsIDY3LCAyMiwgMjE2LCAxNCwgMjMzLCA0NiwgMjQ4LCA0NiwgMTYsIDE5MiwgNjcsIDIyLCAKKyAgICAyNTEsIDE3NSwgMjMzLCA0NiwgNDIsIDI0NCwgMzIsIDIyMywgNTQsIDg3LCAyNDUsIDE4MiwgODcsIDY3LCAyMzIsIDIxNCwgCisgICAgMjQ1LCAyMSwgMjMxLCAzMywgMjUxLCAxNDYsIDIzMSwgMzMsIDE5OSwgMTE3LCAyMTksIDI1MCwgMjMxLCAzMywgMjE5LCAKKyAgICAyNTEsIDExNywgMjMyLCAxMzcsIDIzMSwgMzMsIDE5OSwgMTE3LCAxMTMsIDIxOSwgMjM3LCAyMzEsIDMzLCAxMTMsIDIxOSwgCisgICAgMjM4LCAxMTcsIDIzMiwgMTM3LCAyMzEsIDMzLCAxMTMsIDIxOSwgMjM4LCAyMzUsIDY0LCAyMzEsIDMzLCAyMTUsIDIwOCwgCisgICAgMjMxLCAzMywgMjE2LCAyMjMsIDIzMSwgMzMsIDIyNSwgMTg4LCAyNDUsIDIyNCwgMjQyLCAxMjIsIDI0MywgMjE5LCAyMTYsIAorICAgIDE0LCAyMjYsIDMsIDI1MSwgMTc1LCAyMjYsIDMsIDIxNiwgMTQsIDI0OSwgOTksIDEyNywgMjUxLCAxNzUsIDI0OSwgOTksIAorICAgIDEyNywgMjE2LCAxNCwgMjE2LCA2LCAyMjAsIDUzLCAxMjcsIDI1MSwgMTc1LCAyMTYsIDYsIDIyMCwgNTMsIDEyNywgNzEsIAorICAgIDIxNSwgMjM5LCAyNTIsIDM1LCAyMjIsIDIzNCwgMiwgMjUwLCAzNSwgMjE4LCAxMjAsIDI0NCwgNjQsIDI1NSwgMTcsIDI0OSwgCisgICAgOTYsIDI0NSwgMTcxLCAyMzUsIDE5OCwgMjQ4LCA4MywgMjQ1LCAyNCwgODcsIDg1LCAyMjIsIDI0NywgNTIsIDIxNSwgMjI1LCAKKyAgICA4NSwgMjMzLCA0MiwgNTIsIDIxNSwgMjI1LCA4NSwgMjE0LCAxNjIsIDUyLCAyMTUsIDIyNSwgODUsIDI0NiwgMTA1LCA1MiwgCisgICAgMjE1LCAyMjUsIDg1LCAyMjIsIDI0NywgNTIsIDIxNSwgMjI2LCAyLCA2NywgMTMwLCA4NSwgMjMzLCA0MiwgNTIsIDIxNSwgCisgICAgMjI2LCAyLCA2NywgMTMwLCA4NSwgMjIyLCAyNDcsIDIxNSwgMjI2LCAyLCA1MiwgNjcsIDEzMCwgMjU0LCAxNzMsIDI1MCwgCisgICAgMywgMjE4LCAxMjYsIDIxNiwgODYsIDI1MCwgMywgMjQwLCAyMzcsIDIsIDI0NCwgNTAsIDIyMSwgMjQxLCAxNiwgMzEsIAorICAgIDIyNywgMjAyLCAxNiwgMzEsIDIxOCwgMTUyLCA2NCwgMjQxLCAyMzMsIDE2LCAzMSwgMjE4LCAxNTIsIDY0LCAyMTYsIDIxMiwgCisgICAgMTYsIDMxLCAyNDUsIDE0MywgNjQsIDIxNiwgMjEyLCAxNiwgMzEsIDI0NSwgMTQzLCA2NCwgMjE1LCAyNDMsIDE2LCAzMSwgCisgICAgMjQ1LCAxMzIsIDE2LCAzMSwgMjU1LCA3LCAxNiwgMzEsIDI1MiwgNDQsIDE2LCAzMSwgMjUyLCAxNzksIDE2LCAzMSwgMjAzLCAKKyAgICAyMTcsIDg5LCAxNiwgMzEsIDIzMiwgMjE0LCAyNDQsIDE0NSwgMTYsIDMxLCA2NywgMjE3LCA4OSwgMTYsIDMxLCAyNDQsIAorICAgIDIwLCAyNDQsIDE0NSwgMTYsIDMxLCAyNTAsIDIzMCwgMjIzLCA1MywgMTYsIDMxLCAyMjAsIDI4LCAyMjYsIDEzMCwgMTYsIAorICAgIDMxLCAyMjAsIDI4LCAyMzUsIDI1NSwgMTYsIDMxLCAyNDgsIDE1MSwgMjMyLCAyMDQsIDI0NSwgNzcsIDE2LCAzMSwgMjQ4LCAKKyAgICAzMSwgMjQ5LCAxNzgsIDExMCwgMTYsIDMxLCAyNDgsIDMxLCAyNDksIDE3OCwgMTA1LCAxNiwgMzEsIDI0OCwgMzEsIDI0OSwgCisgICAgMTc4LCAxNTgsIDE2LCAzMSwgMjQ4LCAzMSwgMjQ5LCAxNzgsIDE2MSwgMTYsIDMxLCAxNTIsIDI1NSwgNywgMTYsIDMxLCAKKyAgICAyMTcsIDE3NywgMjM2LCA2MiwgMTYsIDMxLCAyNDUsIDE0MywgNjQsIDIxNSwgMjQ0LCAyNTEsIDIxMywgMTYsIDMxLCAyNTEsIAorICAgIDUsIDE2LCAzMSwgMjQ1LCAxNDMsIDY0LCAyMzEsIDgxLCAxNiwgMzEsIDIxOCwgNjEsIDE2LCAzMSwgMjQ1LCA3NywgMTYsIAorICAgIDMxLCAyNDQsIDEwNywgMjIwLCAxMzcsIDE2LCAzMSwgMjQyLCAxMjEsIDIyMCwgMTM3LCAxNiwgMzEsIDIyMywgMTIxLCAKKyAgICAyMjAsIDEzNywgMTYsIDMxLCAyMTQsIDE3NCwgMjIwLCAxMzcsIDE2LCAzMSwgMjE5LCAxOCwgMTYsIDMxLCAyNDgsIDYzLCAKKyAgICAyNTEsIDIxNiwgODcsIDIwNCwgMjUxLCAxNjMsIDE2LCAzMSwgMjI5LCA4NSwgMTYsIDMxLCAyNDgsIDY0LCAyNDQsIDIwLCAKKyAgICAxMDUsIDE2LCAzMSwgMjE4LCA2MiwgMjQ0LCAyMCwgMTA1LCAyMjYsIDI0MSwgMTAzLCAyMjYsIDI0MSwgMjUwLCAxNTIsIAorICAgIDIyNiwgMjQxLCAyNDQsIDIzLCAyMjYsIDI0MSwgMjM1LCAxOTMsIDI0NCwgMjMsIDIyNiwgMjQxLCAyNTIsIDQyLCAyNTEsIAorICAgIDEyNCwgMjI2LCAyNDEsIDI1MSwgMTcwLCAyMTYsIDExMSwgMjI2LCAyNDEsIDI1MSwgMTU1LCAyNTIsIDE0NiwgMjQwLCAKKyAgICAxMDMsIDIyNiwgMjQxLCAyNTQsIDEyNywgNjQsIDI1MCwgMTI5LCAyMjYsIDI0MSwgMjQ4LCAxNTYsIDIyNiwgMjQxLCAyNDksIAorICAgIDg3LCAyNTUsIDExLCAyMjcsIDIwMCwgMjI2LCAyNDEsIDUyLCAyNTIsIDE4MCwgMzcsIDIxLCAxMTAsIDM3LCAyMSwgMTA1LCAKKyAgICAzNywgMjEsIDE1OCwgMzcsIDIxLCAxNjEsIDM3LCAyMSwgMTg5LCAzNywgMjEsIDE5NCwgMzcsIDIxLCAxOTgsIDM3LCAyMSwgCisgICAgMTk1LCAzNywgMjEsIDIwMCwgMzcsIDU0LCAyMTYsIDI0NywgMzcsIDU0LCAyNDUsIDE2NywgMzcsIDU0LCAyMTUsIDc2LCAKKyAgICAzNywgNTQsIDIxNiwgMTY0LCAzNywgNTQsIDI0NCwgNSwgMzcsIDU0LCAyNDQsIDExOCwgMzcsIDU0LCAyMTksIDExOSwgMzcsIAorICAgIDU0LCAyMjAsIDExOSwgMzcsIDU0LCAyNDUsIDE5MCwgMzcsIDU0LCAyMjgsIDE5NywgMzcsIDU0LCAyMTUsIDczLCA4OCwgCisgICAgMjEsIDExMCwgODgsIDIxLCAxMDUsIDg4LCAyMSwgMTU4LCA4OCwgMjEsIDE2MSwgODgsIDIxLCAxODksIDg4LCAyMSwgMTk0LCAKKyAgICA4OCwgMjEsIDE5OCwgODgsIDIxLCAxOTUsIDg4LCAyMSwgMjAwLCA4OCwgNTQsIDIxNiwgMjQ3LCA4OCwgNTQsIDI0NSwgCisgICAgMTY3LCA4OCwgNTQsIDIxNSwgNzYsIDg4LCA1NCwgMjE2LCAxNjQsIDg4LCA1NCwgMjQ0LCA1LCA4OCwgNTQsIDI0NCwgMTE4LCAKKyAgICA4OCwgNTQsIDIxOSwgMTE5LCA4OCwgNTQsIDIyMCwgMTE5LCA4OCwgNTQsIDI0NSwgMTkwLCA4OCwgNTQsIDIyOCwgMTk3LCAKKyAgICA4OCwgNTQsIDIxNSwgNzMsIDIxLCAxMjMsIDI0MywgMjI5LCAyMTgsIDEyOSwgMjEsIDExMywgMjQzLCAyMjksIDIxOCwgCisgICAgMTI5LCAyMSwgMTM0LCAyNDMsIDIyOSwgMjE4LCAxMjksIDIxLCAyNDQsIDExLCAyNDMsIDIyOSwgMjE4LCAxMjksIDIxLCAKKyAgICAyNDQsIDgxLCAyNDMsIDIyOSwgMjE4LCAxMjksIDIxLCAyMTksIDEyNSwgMjQzLCAyMjksIDIxOCwgMTI5LCAyMSwgMjIwLCAKKyAgICAxMjIsIDI0MywgMjI5LCAyMTgsIDEyOSwgMjEsIDI0NSwgMTkzLCAyNDMsIDIyOSwgMjE4LCAxMjksIDIxLCAyMjgsIDIwMCwgCisgICAgMjQzLCAyMjksIDIxOCwgMTI5LCA1NCwgMjE2LCAyNDgsIDI0MywgMjI5LCAyMTgsIDEyOSwgNTQsIDI0NSwgMTY4LCAyNDMsIAorICAgIDIyOSwgMjE4LCAxMjksIDU0LCAyMTUsIDc3LCAyNDMsIDIyOSwgMjE4LCAxMjksIDU0LCAyMTYsIDE2NSwgMjQzLCAyMjksIAorICAgIDIxOCwgMTI5LCA1NCwgMjQ0LCA2LCAyNDMsIDIyOSwgMjE4LCAxMjksIDU0LCAyNDQsIDExOSwgMjQzLCAyMjksIDIxOCwgCisgICAgMTI5LCA1NCwgMjE5LCAxMjAsIDI0MywgMjI5LCAyMTgsIDEyOSwgNTQsIDIyMCwgMTIwLCAyNDMsIDIyOSwgMjE4LCAxMjksIAorICAgIDU0LCAyNDUsIDE5MSwgMjQzLCAyMjksIDIxOCwgMTI5LCA1NCwgMjI4LCAxOTgsIDI0MywgMjI5LCAyMTgsIDEyOSwgNTQsIAorICAgIDIxNSwgNzQsIDI0MywgMjI5LCAyMTgsIDEyOSwgODgsIDcsIDQsIDEsIDYxLCA4OCwgNywgNCwgMSwgMjUzLCAxNTgsIDg4LCAKKyAgICA3LCA0LCAxLCAyNTEsIDY2LCA4OCwgNywgNCwgMSwgMjQ5LCA2MCwgODgsIDcsIDQsIDEsIDc1LCA4OCwgNywgNCwgMSwgCisgICAgMjQ1LCA2LCA4OCwgNywgNCwgMSwgMjQzLCAyMDIsIDg4LCA3LCA0LCAxLCAyNDIsIDYwLCA4OCwgNywgNCwgMSwgNzMsIDg4LCAKKyAgICA3LCA0LCAxLCAyMzUsIDE0NCwgODgsIDcsIDQsIDEsIDIzNSwgMjMsIDg4LCA3LCA0LCAxLCAxNTYsIDg4LCA3LCA0LCAxLCAKKyAgICAxOTMsIDg4LCA3LCA0LCAxLCAyMzAsIDI1LCA4OCwgNywgNCwgMSwgNzYsIDg4LCA3LCA0LCAxLCAyMjYsIDEwNSwgODgsIDcsIAorICAgIDQsIDEsIDIyNCwgOTYsIDg4LCA3LCA0LCAxLCAxNTMsIDg4LCA3LCA0LCAxLCAyMjIsIDkxLCA4OCwgNywgNCwgMSwgMjE3LCAKKyAgICAxNTIsIDg4LCA3LCA0LCAxLCA3MCwgODgsIDcsIDQsIDEsIDIxNCwgMTA1LCA4OCwgNywgNCwgMSwgMjEyLCA5OCwgODgsIDcsIAorICAgIDQsIDEsIDIxMSwgMTc4LCA4OCwgNywgNCwgMSwgMjExLCAxMTcsIDg4LCA3LCA0LCAxLCAyMTAsIDE1OSwgMzcsIDcsIDYsIAorICAgIDEsIDYxLCAzNywgNywgNiwgMSwgMjUzLCAxNTgsIDM3LCA3LCA2LCAxLCAyNTEsIDY2LCAzNywgNywgNiwgMSwgMjQ5LCA2MCwgCisgICAgMzcsIDcsIDYsIDEsIDc1LCAzNywgNywgNiwgMSwgMjQ1LCA2LCAzNywgNywgNiwgMSwgMjQzLCAyMDIsIDM3LCA3LCA2LCAxLCAKKyAgICAyNDIsIDYwLCAzNywgNywgNiwgMSwgNzMsIDM3LCA3LCA2LCAxLCAyMzUsIDE0NCwgMzcsIDcsIDYsIDEsIDIzNSwgMjMsIAorICAgIDM3LCA3LCA2LCAxLCAxNTYsIDM3LCA3LCA2LCAxLCAxOTMsIDM3LCA3LCA2LCAxLCAyMzAsIDI1LCAzNywgNywgNiwgMSwgCisgICAgNzYsIDM3LCA3LCA2LCAxLCAyMjYsIDEwNSwgMzcsIDcsIDYsIDEsIDIyNCwgOTYsIDM3LCA3LCA2LCAxLCAxNTMsIDM3LCA3LCAKKyAgICA2LCAxLCAyMjIsIDkxLCAzNywgNywgNiwgMSwgMjE3LCAxNTIsIDM3LCA3LCA2LCAxLCA3MCwgMzcsIDcsIDYsIDEsIDIxNCwgCisgICAgMTA1LCAzNywgNywgNiwgMSwgMjEyLCA5OCwgMzcsIDcsIDYsIDEsIDIxMSwgMTc4LCAzNywgNywgNiwgMSwgMjExLCAxMTcsIAorICAgIDM3LCA3LCA2LCAxLCAyMTAsIDE1OSwgMzcsIDcsIDQsIDEsIDYxLCAzNywgNywgNCwgMSwgMjUzLCAxNTgsIDM3LCA3LCA0LCAKKyAgICAxLCAyNTEsIDY2LCAzNywgNywgNCwgMSwgMjQ5LCA2MCwgMzcsIDcsIDQsIDEsIDc1LCAzNywgNywgNCwgMSwgMjQ1LCA2LCAKKyAgICAzNywgNywgNCwgMSwgMjQzLCAyMDIsIDM3LCA3LCA0LCAxLCAyNDIsIDYwLCAzNywgNywgNCwgMSwgNzMsIDM3LCA3LCA0LCAKKyAgICAxLCAyMzUsIDE0NCwgMzcsIDcsIDQsIDEsIDIzNSwgMjMsIDM3LCA3LCA0LCAxLCAxNTYsIDM3LCA3LCA0LCAxLCAxOTMsIAorICAgIDM3LCA3LCA0LCAxLCAyMzAsIDI1LCAzNywgNywgNCwgMSwgNzYsIDM3LCA3LCA0LCAxLCAyMjYsIDEwNSwgMzcsIDcsIDQsIAorICAgIDEsIDIyNCwgOTYsIDM3LCA3LCA0LCAxLCAxNTMsIDM3LCA3LCA0LCAxLCAyMjIsIDkxLCAzNywgNywgNCwgMSwgMjE3LCAKKyAgICAxNTIsIDM3LCA3LCA0LCAxLCA3MCwgMzcsIDcsIDQsIDEsIDIxNCwgMTA1LCAzNywgNywgNCwgMSwgMjEyLCA5OCwgMzcsIDcsIAorICAgIDQsIDEsIDIxMSwgMTc4LCAzNywgNywgNCwgMSwgMjExLCAxMTcsIDM3LCA3LCA0LCAxLCAyMTAsIDE1OSwgMzcsIDIxLCAKKyAgICAyMTAsIDg2LCAxNTIsIDM3LCA1NCwgMjQ1LCAxNjcsIDE1MiwgMzcsIDU0LCAyMTUsIDc2LCAxNTIsIDM3LCA1NCwgMjE2LCAKKyAgICAxNjQsIDE1MiwgMzcsIDU0LCAyNDQsIDUsIDE1MiwgMzcsIDU0LCAyNDQsIDExOCwgMTUyLCAzNywgNTQsIDIxOSwgMTE5LCAKKyAgICAxNTIsIDM3LCA1NCwgMjIwLCAxMTksIDE1MiwgMzcsIDU0LCAyNDUsIDE5MCwgMTUyLCAzNywgNTQsIDIyOCwgMTk3LCAxNTIsIAorICAgIDM3LCA1NCwgMjE1LCA3MywgNTIsIDM3LCAyMSwgMTEwLCA1MiwgMzcsIDIxLCAxMDUsIDUyLCAzNywgMjEsIDE1OCwgNTIsIAorICAgIDM3LCAyMSwgMTYxLCA1MiwgMzcsIDIxLCAxODksIDUyLCAzNywgMjEsIDE5NCwgNTIsIDM3LCAyMSwgMTk4LCA1MiwgMzcsIAorICAgIDIxLCAxOTUsIDUyLCAzNywgMjEsIDIwMCwgNTIsIDM3LCA1NCwgMjE2LCAyNDcsIDE1MiwgMzcsIDIxLCAyMTAsIDg2LCA5MywgCisgICAgOTksIDE5MiwgMjQxLCA0NCwgOTMsIDk5LCAxMTQsIDI0MSwgNDQsIDkzLCA5OSwgMTkyLCAyMTMsIDIzOSwgOTMsIDk5LCAKKyAgICAxMTQsIDIxMywgMjM5LCA5MywgOTksIDE5MiwgMjE1LCAyMTEsIDI0OCwgMTU3LCAyNDEsIDQ0LCA5MywgOTksIDExNCwgCisgICAgMjE1LCAyMTEsIDI0OCwgMTU3LCAyNDEsIDQ0LCA5MywgOTksIDE5MiwgMjE1LCAyMTEsIDI0OCwgMTU3LCAyMTMsIDIzOSwgCisgICAgOTMsIDk5LCAxMTQsIDIxNSwgMjExLCAyNDgsIDE1NywgMjEzLCAyMzksIDkzLCA5OSwgMTkyLCAyMjQsIDI0LCAyNDgsIAorICAgIDE1NywgMjQxLCA0NCwgOTMsIDk5LCAxMTQsIDIyNCwgMjQsIDI0OCwgMTU3LCAyNDEsIDQ0LCA5MywgOTksIDE5MiwgMjI0LCAKKyAgICAyNCwgMjQ4LCAxNTcsIDIxMywgMjM5LCA5MywgOTksIDExNCwgMjI0LCAyNCwgMjQ4LCAxNTcsIDIxMywgMjM5LCA5MywgOTksIAorICAgIDE5MiwgMTI0LCAyMiwgMjIyLCAyNTEsIDkzLCA5OSwgMTI0LCAxOTIsIDIyLCA0NCwgMjQxLCAyMjEsIDkzLCA5OSwgMTI0LCAKKyAgICAxMTQsIDIyLCA0NCwgMjMyLCAyMzAsIDkzLCA5OSwgMTE0LCAxMjQsIDIyLCAyMjIsIDI1MSwgOTMsIDk5LCAxOTIsIDEyNCwgCisgICAgMjIsIDIzMywgNDYsIDkzLCA5OSwgMTI0LCAxOTIsIDIyLCA0MywgMjQxLCAyMjEsIDkzLCA5OSwgMTI0LCAxMTQsIDIyLCAKKyAgICA0MywgMjMyLCAyMzAsIDkzLCA5OSwgMTE0LCAxMjQsIDIyLCAyMzMsIDQ2LCA5MywgOTksIDE5MiwgMTIwLCAyMiwgMjIyLCAKKyAgICAyNTEsIDkzLCA5OSwgMTIwLCAxOTIsIDIyLCA0NCwgMjQxLCAyMjEsIDkzLCA5OSwgMTIwLCAxMTQsIDIyLCA0NCwgMjMyLCAKKyAgICAyMzAsIDkzLCA5OSwgMTE0LCAxMjAsIDIyLCAyMjIsIDI1MSwgOTMsIDk5LCAxOTIsIDEyMCwgMjIsIDIzMywgNDYsIDkzLCAKKyAgICA5OSwgMTIwLCAxOTIsIDIyLCA0MywgMjQxLCAyMjEsIDkzLCA5OSwgMTIwLCAxMTQsIDIyLCA0MywgMjMyLCAyMzAsIDkzLCAKKyAgICA5OSwgMTE0LCAxMjAsIDIyLCAyMzMsIDQ2LCA5MywgOTksIDE5MiwgNjcsIDIyLCAyMjIsIDI1MSwgOTMsIDk5LCA2NywgCisgICAgMTkyLCAyMiwgNDQsIDI0MSwgMjIxLCA5MywgOTksIDEyMCwgMTE0LCAyMiwgNDQsIDEyNCwgMjMyLCAyMzAsIDkzLCA5OSwgCisgICAgMTI0LCAxMTQsIDIyLCA0NCwgMTIwLCAyMzIsIDIzMCwgOTMsIDk5LCA2NywgMTE0LCAyMiwgNDQsIDIzMiwgMjMwLCA5MywgCisgICAgOTksIDEyNCwgMTkyLCAyMiwgNDQsIDEyMCwgMjQxLCAyMjEsIDkzLCA5OSwgMTIwLCAxOTIsIDIyLCA0NCwgMTI0LCAyNDEsIAorICAgIDIyMSwgOTMsIDk5LCAxMTQsIDY3LCAyMiwgMjIyLCAyNTEsIDkzLCA5OSwgMTkyLCA2NywgMjIsIDIzMywgNDYsIDkzLCA5OSwgCisgICAgNjcsIDE5MiwgMjIsIDQzLCAyNDEsIDIyMSwgOTMsIDk5LCAxMjAsIDExNCwgMjIsIDQzLCAxMjQsIDIzMiwgMjMwLCA5MywgCisgICAgOTksIDEyNCwgMTE0LCAyMiwgNDMsIDEyMCwgMjMyLCAyMzAsIDkzLCA5OSwgNjcsIDExNCwgMjIsIDQzLCAyMzIsIDIzMCwgCisgICAgOTMsIDk5LCAxMjQsIDE5MiwgMjIsIDQzLCAxMjAsIDI0MSwgMjIxLCA5MywgOTksIDEyMCwgMTkyLCAyMiwgNDMsIDEyNCwgCisgICAgMjQxLCAyMjEsIDkzLCA5OSwgMTE0LCA2NywgMjIsIDIzMywgNDYsIDkzLCA5OSwgMTkyLCAxMjQsIDIyLCAyNDEsIDQ0LCAKKyAgICA5MywgOTksIDQzLCAxMTQsIDIyLCA0NCwgMTI0LCAyMzIsIDIzMCwgOTMsIDk5LCA0NCwgMTE0LCAyMiwgNDMsIDEyNCwgCisgICAgMjMyLCAyMzAsIDkzLCA5OSwgMTI0LCAxOTIsIDIyLCAyMDMsIDI0MSwgMjIxLCA5MywgOTksIDEyNCwgMTE0LCAyMiwgMjAzLCAKKyAgICAyMzIsIDIzMCwgOTMsIDk5LCA0NCwgMTkyLCAyMiwgNDMsIDEyNCwgMjQxLCAyMjEsIDkzLCA5OSwgNDMsIDE5MiwgMjIsIAorICAgIDQ0LCAxMjQsIDI0MSwgMjIxLCA5MywgOTksIDExNCwgMTI0LCAyMiwgMjQxLCA0NCwgOTMsIDk5LCAxOTIsIDEyMCwgMjIsIAorICAgIDI0MSwgNDQsIDkzLCA5OSwgNDMsIDExNCwgMjIsIDQ0LCAxMjAsIDIzMiwgMjMwLCA5MywgOTksIDQ0LCAxMTQsIDIyLCA0MywgCisgICAgMTIwLCAyMzIsIDIzMCwgOTMsIDk5LCAxMjAsIDE5MiwgMjIsIDIwMywgMjQxLCAyMjEsIDkzLCA5OSwgMTIwLCAxMTQsIDIyLCAKKyAgICAyMDMsIDIzMiwgMjMwLCA5MywgOTksIDQ0LCAxOTIsIDIyLCA0MywgMTIwLCAyNDEsIDIyMSwgOTMsIDk5LCA0MywgMTkyLCAKKyAgICAyMiwgNDQsIDEyMCwgMjQxLCAyMjEsIDkzLCA5OSwgMTE0LCAxMjAsIDIyLCAyNDEsIDQ0LCA5MywgOTksIDE5MiwgNjcsIAorICAgIDIyLCAyNDEsIDQ0LCA5MywgOTksIDQzLCAxMTQsIDIyLCA0NCwgNjcsIDIzMiwgMjMwLCA5MywgOTksIDQ0LCAxMTQsIDIyLCAKKyAgICA0MywgNjcsIDIzMiwgMjMwLCA5MywgOTksIDY3LCAxOTIsIDIyLCAyMDMsIDI0MSwgMjIxLCA5MywgOTksIDEyMCwgMTE0LCAKKyAgICAyMiwgMTI0LCAyMDMsIDIzMiwgMjMwLCA5MywgOTksIDEyNCwgMTE0LCAyMiwgMTIwLCAyMDMsIDIzMiwgMjMwLCA5MywgOTksIAorICAgIDY3LCAxMTQsIDIyLCAyMDMsIDIzMiwgMjMwLCA5MywgOTksIDQzLCAxMjAsIDExNCwgMjIsIDQ0LCAxMjQsIDIzMiwgMjMwLCAKKyAgICA5MywgOTksIDQ0LCAxMjAsIDExNCwgMjIsIDQzLCAxMjQsIDIzMiwgMjMwLCA5MywgOTksIDQzLCAxMjQsIDExNCwgMjIsIAorICAgIDQ0LCAxMjAsIDIzMiwgMjMwLCA5MywgOTksIDQ0LCAxMjQsIDExNCwgMjIsIDQzLCAxMjAsIDIzMiwgMjMwLCA5MywgOTksIAorICAgIDEyNCwgMTkyLCAyMiwgMTIwLCAyMDMsIDI0MSwgMjIxLCA5MywgOTksIDEyMCwgMTkyLCAyMiwgMTI0LCAyMDMsIDI0MSwgCisgICAgMjIxLCA5MywgOTksIDQ0LCAxOTIsIDIyLCA0MywgNjcsIDI0MSwgMjIxLCA5MywgOTksIDQzLCAxOTIsIDIyLCA0NCwgNjcsIAorICAgIDI0MSwgMjIxLCA5MywgOTksIDExNCwgNjcsIDIyLCAyNDEsIDQ0LCA5MywgOTksIDE5MiwgNTIsIDI0OCwgMTU3LCAyNDEsIAorICAgIDQ0LCA5MywgOTksIDExNCwgNTIsIDI0OCwgMTU3LCAyNDEsIDQ0LCA5MywgOTksIDE5MiwgNTIsIDI0OCwgMTU3LCAyMTMsIAorICAgIDIzOSwgOTMsIDk5LCAxMTQsIDUyLCAyNDgsIDE1NywgMjEzLCAyMzksIDkzLCA5OSwgNTIsIDI0MSwgNDQsIDkzLCA5OSwgCisgICAgNTIsIDIxMywgMjM5LCA5MywgOTksIDEyNCwgMjE5LCAxNTUsIDIyLCA0NCwgMjQ2LCAxMTMsIDkzLCA5OSwgMTI0LCA1MiwgCisgICAgMjIsIDQ0LCAyMTksIDE1NCwgOTMsIDk5LCA1MiwgMTI0LCAyMiwgMjIyLCAyNTEsIDkzLCA5OSwgMTI0LCAyMTksIDE1NSwgCisgICAgMjIsIDQzLCAyNDYsIDExMywgOTMsIDk5LCAxMjQsIDUyLCAyMiwgNDMsIDIxOSwgMTU0LCA5MywgOTksIDUyLCAxMjQsIDIyLCAKKyAgICAyMzMsIDQ2LCA5MywgOTksIDEyMCwgMjE5LCAxNTUsIDIyLCA0NCwgMjQ2LCAxMTMsIDkzLCA5OSwgMTIwLCA1MiwgMjIsIAorICAgIDQ0LCAyMTksIDE1NCwgOTMsIDk5LCA1MiwgMTIwLCAyMiwgMjIyLCAyNTEsIDkzLCA5OSwgMTIwLCAyMTksIDE1NSwgMjIsIAorICAgIDQzLCAyNDYsIDExMywgOTMsIDk5LCAxMjAsIDUyLCAyMiwgNDMsIDIxOSwgMTU0LCA5MywgOTksIDUyLCAxMjAsIDIyLCAKKyAgICAyMzMsIDQ2LCA5MywgOTksIDY3LCAyMTksIDE1NSwgMjIsIDQ0LCAyNDYsIDExMywgOTMsIDk5LCA2NywgNTIsIDIyLCA0NCwgCisgICAgMjE5LCAxNTQsIDkzLCA5OSwgNTIsIDY3LCAyMiwgMjIyLCAyNTEsIDkzLCA5OSwgNjcsIDIxOSwgMTU1LCAyMiwgNDMsIAorICAgIDI0NiwgMTEzLCA5MywgOTksIDY3LCA1MiwgMjIsIDQzLCAyMTksIDE1NCwgOTMsIDk5LCA1MiwgNjcsIDIyLCAyMzMsIDQ2LCAKKyAgICA5MywgOTksIDEyNCwgMjE5LCAxNTUsIDIyLCAyMDMsIDI0NiwgMTEzLCA5MywgOTksIDEyNCwgNTIsIDIyLCAyMDMsIDIxOSwgCisgICAgMTU0LCA5MywgOTksIDUyLCAxMjQsIDIyLCAyNDEsIDQ0LCA5MywgOTksIDEyMCwgMjE5LCAxNTUsIDIyLCAyMDMsIDI0NiwgCisgICAgMTEzLCA5MywgOTksIDEyMCwgNTIsIDIyLCAyMDMsIDIxOSwgMTU0LCA5MywgOTksIDUyLCAxMjAsIDIyLCAyNDEsIDQ0LCAKKyAgICA5MywgOTksIDY3LCAyMTksIDE1NSwgMjIsIDIwMywgMjQ2LCAxMTMsIDkzLCA5OSwgNjcsIDUyLCAyMiwgMjAzLCAyMTksIAorICAgIDE1NCwgOTMsIDk5LCA1MiwgNjcsIDIyLCAyNDEsIDQ0LCA5MywgOTksIDE5MiwgMjU0LCAyNiwgMTI0LCAyMiwgMjIyLCAKKyAgICAyNTEsIDkzLCA5OSwgMTkyLCAyNTQsIDI2LCAxMjQsIDIyLCAyMzMsIDQ2LCA5MywgOTksIDE5MiwgMjU0LCAyNiwgMTIwLCAKKyAgICAyMiwgMjMzLCA0NiwgOTMsIDk5LCAxOTIsIDI1NCwgMjYsIDEyMCwgMjIsIDIyMiwgMjUxLCA5MywgOTksIDE5MiwgMjQ3LCAKKyAgICAyNTUsIDIxNCwgMTYwLCA0NCwgMjE2LCA0MiwgMjMyLCAxMDgsIDIzMywgNDYsIDkzLCA5OSwgMTkyLCAyNDcsIDI1NSwgCisgICAgMjE0LCAxNjAsIDQzLCAyMTYsIDQyLCAyMzIsIDEwOCwgMjIyLCAyNTEsIDkzLCA5OSwgMTkyLCAyNDcsIDI1NSwgMjQ5LCAKKyAgICAxMzAsIDkzLCA5OSwgMTkyLCAyMzMsIDQ2LCA5MywgOTksIDE5MiwgMjE0LCAxNjMsIDkzLCA5OSwgMTkyLCAyMjIsIDI1MSwgCisgICAgOTMsIDk5LCAxOTIsIDI0NiwgMTA2LCA5MywgOTksIDExNCwgMjMzLCA0NiwgOTMsIDk5LCAxMTQsIDIxNCwgMTYzLCA5MywgCisgICAgOTksIDExNCwgMjIyLCAyNTEsIDkzLCA5OSwgMTE0LCAyNDYsIDEwNiwgOTMsIDk5LCAxOTIsIDQzLCAyMiwgMTE0LCAyMjIsIAorICAgIDI1MSwgOTMsIDk5LCAxOTIsIDEyMCwgMjIsIDExNCwgMjQ2LCAxMDYsIDkzLCA5OSwgMTE0LCA0MywgMjIsIDE5MiwgMjIyLCAKKyAgICAyNTEsIDkzLCA5OSwgMTE0LCAxMjAsIDIyLCAxOTIsIDI0NiwgMTA2LCAyMTQsIDE2MCwgMTYzLCAyNTEsIDIxMywgMjMyLCAKKyAgICAxMDgsIDEyMywgMjQ1LCAxODksIDI1MSwgMjEzLCAyMzIsIDEwOCwgMTIzLCAyMjQsIDIyLCAyNTEsIDIxMywgMjMyLCAxMDgsIAorICAgIDEzNCwgMjQ1LCAxODcsIDI1MSwgMjEzLCAyMzIsIDEwOCwgMTYzLCAyNTEsIDIxMywgMjMyLCAxMDgsIDI0NCwgODEsIDI0NSwgCisgICAgMTg3LCAyNTEsIDIxMywgMjMyLCAxMDgsIDEzNCwgMjI0LCAyMCwgMjUxLCAyMTMsIDIzMiwgMTA4LCAyMjAsIDEyMiwgMjQ1LCAKKyAgICAxODcsIDI1MSwgMjEzLCAyNDMsIDIyOSwgMjUxLCAyMTMsIDQzLCAyMjAsIDEyMiwgMjQ1LCAxODcsIDI1MSwgMjEzLCA0MywgCisgICAgMTM0LCAyMjQsIDIwLCAyNTEsIDIxMywgNDMsIDI0NCwgODEsIDI0NSwgMTg3LCAyNTEsIDIxMywgNDMsIDE2MywgMjUxLCAKKyAgICAyMTMsIDQzLCAxMzQsIDI0NSwgMTg3LCAyNTEsIDIxMywgNDMsIDEyMywgMjI0LCAyMiwgMjUxLCAyMTMsIDQzLCAxMjMsIAorICAgIDI0NSwgMTg5LCAyNTEsIDIxMywgNDQsIDE2MywgMjUxLCAyMTMsIDE5MiwgMjIwLCA5MiwgMjMxLCA4MiwgMjIwLCA5MiwgCisgICAgMjQ4LCAxNjIsIDIyMCwgOTIsIDIxNCwgMTYwLCAxMjMsIDI0NSwgMTg5LCAyNTEsIDIxMywgNDQsIDEyMywgMjQ1LCAxODksIAorICAgIDI1MSwgMjEzLCAyMjQsIDI2LCAyMzIsIDEwOCwgMjMzLCA0NiwgMjI0LCAyNiwgMjMyLCAxMDgsIDIyMiwgMjUxLCAyMjQsIAorICAgIDI2LCAyMTQsIDE2MCwgMjMzLCA0NiwgMjI0LCAyNiwgMjE0LCAxNjAsIDQzLCAyMiwgMjMyLCAxMDgsIDQzLCAyMiwgMjMyLCAKKyAgICAxMDgsIDIyMiwgMjUxLCAyMjQsIDI2LCAyMTQsIDE2MCwgNDMsIDIyLCAyMzIsIDEwOCwgMjIyLCAyNTEsIDIyNCwgMjYsIAorICAgIDIxNCwgMTYwLCA0MywgMjIsIDIxNCwgMTYwLCA0NCwgMjIsIDIzMiwgMTA4LCAyMzMsIDQ2LCAyMjQsIDI2LCAyMTQsIDE2MCwgCisgICAgNDMsIDIyLCAyMTQsIDE2MCwgNDQsIDIyLCAyMzIsIDEwOCwgMjIyLCAyNTEsIDIyNCwgMjYsIDIxNCwgMTYwLCAyMjIsIAorICAgIDI1MSwgMjI0LCAyNiwgMjE0LCAxNjAsIDQ0LCAyMiwgMjMyLCAxMDgsIDIzMywgNDYsIDIyNCwgMjYsIDIxNCwgMTYwLCA0NCwgCisgICAgMjIsIDIzMiwgMTA4LCA0MywgMjIsIDIzMiwgMTA4LCAyMjIsIDI1MSwgODUsIDIxOCwgMjM0LCA3MSwgMjE4LCAyMzQsIDcxLCAKKyAgICA0MiwgMiwgMjIyLCAxODMsIDI0OSwgMTU5LCA3MSwgNDIsIDI0OSwgMTg3LCA4NSwgNCwgMjE4LCAyMzQsIDQyLCAyLCAyMDMsIAorICAgIDI0NCwgMTA1LCA0MiwgMiwgNjcsIDI0NCwgMTA1LCA0MiwgMiwgMjI2LCAxNDQsIDI0OSwgMTI2LCAyNDQsIDEwNSwgNDIsIAorICAgIDIsIDIxNCwgMTYwLCA0MywgMjE2LCA0MiwgMjMyLCAxMDgsIDQ0LCAyNDQsIDEwNSwgNDIsIDIsIDIxNCwgMTYwLCA0NCwgCisgICAgMjE2LCA0MiwgMjMyLCAxMDgsIDQzLCAyNDQsIDEwNSwgNDIsIDIsIDI0NywgMjU1LCAyNDksIDEyNiwgMjQ0LCAxMDUsIDg1LCAKKyAgICA0LCAyMTgsIDIzNCwgNzEsIDQsIDIxOCwgMjM0LCA4NSwgMjIzLCAxMTYsIDcxLCAyMjMsIDExNiwgODUsIDY3LCAyMjMsIAorICAgIDExNiwgNzEsIDY3LCAyMjMsIDExNiwgODUsIDIyNiwgNiwgNzEsIDIyNiwgNiwgODUsIDIxNCwgMTYyLCAyMTUsIDIyNSwgCisgICAgNzEsIDIxNCwgMTYyLCAyMTUsIDIyNSwgODUsIDIxNCwgMTYyLCA0LCAyMTUsIDIyNSwgNzEsIDIxNCwgMTYyLCA0LCAyMTUsIAorICAgIDIyNSwgODUsIDIyMiwgMjQ3LCAyMTUsIDIyNSwgNzEsIDIyMiwgMjQ3LCAyMTUsIDIyNSwgODUsIDIyMiwgMjQ3LCA0LCAKKyAgICAyMTUsIDIyNSwgNzEsIDIyMiwgMjQ3LCA0LCAyMTUsIDIyNSwgODUsIDIyMiwgMjQ3LCAyMjUsIDgsIDcxLCAyMjIsIDI0NywgCisgICAgMjI1LCA4LCA4NSwgMjQ2LCAxMDUsIDIxNSwgMjI1LCA3MSwgMjQ2LCAxMDUsIDIxNSwgMjI1LCA4NSwgMjQ2LCAxMDUsIDQsIAorICAgIDIxNSwgMjI1LCA3MSwgMjQ2LCAxMDUsIDQsIDIxNSwgMjI1LCA4NSwgMjMzLCA0MiwgMjE1LCAyMjUsIDcxLCAyMzMsIDQyLCAKKyAgICAyMTUsIDIyNSwgODUsIDIzMywgNDIsIDQsIDIxNSwgMjI1LCA3MSwgMjMzLCA0MiwgNCwgMjE1LCAyMjUsIDg1LCAyMzMsIAorICAgIDQyLCAyMjUsIDgsIDcxLCAyMzMsIDQyLCAyMjUsIDgsIDg1LCAyNDcsIDI0OCwgNzEsIDI0NywgMjQ4LCA3MSwgMjQ3LCAKKyAgICAyNDksIDI0OSwgMTg3LCA4NSwgNCwgMjQ3LCAyNDgsIDI0NCwgODksIDIzMiwgMTA0LCA3MSwgMjUwLCAzNSwgMjQ2LCAxMTgsIAorICAgIDI1MCwgMzUsIDI1MCwgMzYsIDIsIDY3LCAyNDQsIDEwNSwgMjUxLCAxMTEsIDg1LCAyNTAsIDM1LCAyNTAsIDM2LCAyLCA0MywgCisgICAgMTYzLCAyNTEsIDIyMSwgMjUwLCAzNiwgMiwgNDQsIDE2MywgMjUxLCAyMjEsIDI1MCwgMzYsIDIsIDIzMiwgMTA4LCAxNjMsIAorICAgIDI1MSwgMjIxLCAyNTAsIDM2LCAyLCAyMTQsIDE2MCwgMTYzLCAyNTEsIDIyMSwgMjUwLCAzNiwgMiwgMjE0LCAxNjAsIDQ0LCAKKyAgICAyMjQsIDI2LCAyNTEsIDIyMSwgMjUwLCAzNiwgMiwgMjU0LCAxNTUsIDI1MSwgODgsIDIxNCwgMTYwLCA0MywgMjI0LCAyNiwgCisgICAgMjUxLCAyMjEsIDQzLCAxNjMsIDg1LCAyNTAsIDM1LCA0NCwgMTYzLCA4NSwgMjUwLCAzNSwgMjM1LCAxOTQsIDI1MSwgMTEzLCAKKyAgICAyMzUsIDE5NCwgNzEsIDI1MCwgMzUsIDIxNCwgMTYwLCAxNjMsIDIzNSwgMTk0LCA3MSwgMjUwLCAzNSwgMjMyLCAxMDgsIAorICAgIDE2MywgMjM1LCAxOTQsIDcxLCAyNTAsIDM1LCAyMTQsIDE2MCwgNDMsIDIyNCwgMjYsIDI1MCwgMzMsIDI1NCwgMjUsIDIxNCwgCisgICAgMTYwLCA0NCwgMjI0LCAyNiwgMjUwLCAzMywgMjU0LCAyNSwgMjMyLCAxMDgsIDQ0LCAyMjQsIDI2LCAyNTAsIDMzLCAyNTQsIAorICAgIDI1LCAyMzIsIDEwOCwgNDMsIDIyNCwgMjYsIDI1MCwgMzMsIDI1NCwgMjUsIDIxNCwgMTYwLCAxNjMsIDI1MCwgMzUsIDIzMiwgCisgICAgMTA4LCAxNjMsIDI1MCwgMzUsIDg1LCAyMzIsIDEwOCwgNDQsIDIxNSwgMjI1LCA4NSwgMjMyLCAxMDgsIDQzLCAyMTUsIAorICAgIDIyNSwgODUsIDIxNCwgMTYwLCA0MywgMjE1LCAyMjUsIDg1LCAyMTQsIDE2MCwgNDQsIDIxNSwgMjI1LCA3MSwgMjUxLCAKKyAgICAxMTMsIDQyLCAyLCA0MywgMTYzLCAyNTEsIDIyMSwgNDIsIDIsIDQ0LCAxNjMsIDI1MSwgMjIxLCA0MiwgMiwgMjE0LCAxNjAsIAorICAgIDQzLCAyNDcsIDI1NSwgMTYzLCAyNTEsIDIyMSwgNDIsIDIsIDIzMiwgMTA4LCA0NCwgMjQ3LCAyNTUsIDE2MywgMjUxLCAKKyAgICAyMjEsIDcxLCA0MiwgMiwgNjcsIDI1MSwgMjMyLCAyMzIsIDIxMywgNzEsIDIxNCwgMTYyLCAyMTUsIDIyNiwgMiwgMjQ3LCAKKyAgICAxMjAsIDIxNCwgMTYyLCAyMTUsIDIyNiwgMiwgNDMsIDE2MywgMjUxLCAyMjEsIDIxNCwgMTYyLCAyMTUsIDIyNiwgMiwgNDQsIAorICAgIDE2MywgMjUxLCAyMjEsIDIzMywgODUsIDI1MCwgMzUsIDcxLCA0MiwgMiwgMjE0LCAxNjAsIDQzLCAyMjQsIDI1LCA3MSwgCisgICAgNDIsIDIsIDIzMiwgMTA4LCA0MywgMjI0LCAyNSwgNzEsIDQyLCAyLCAyMzIsIDEwOCwgNDQsIDIyNCwgMjUsIDcxLCA0MiwgCisgICAgMiwgMjE0LCAxNjAsIDQ0LCAyMjQsIDI1LCA3MSwgMjUwLCAzNiwgMiwgMjE0LCAxNjAsIDQzLCAyMjQsIDI1LCA3MSwgMjUwLCAKKyAgICAzNiwgMiwgMjMyLCAxMDgsIDQzLCAyMjQsIDI1LCA3MSwgMjUwLCAzNiwgMiwgMjMyLCAxMDgsIDQ0LCAyMjQsIDI1LCA3MSwgCisgICAgMjUwLCAzNiwgMiwgMjE0LCAxNjAsIDQ0LCAyMjQsIDI1LCAyMTQsIDE2MCwgNDMsIDIxNSwgMjI1LCAyMTQsIDE2MCwgNDQsIAorICAgIDIxNSwgMjI1LCAyMzIsIDEwOCwgNDMsIDIxNSwgMjI1LCA3MSwgMjMxLCA4MiwgMjE4LCAyMzQsIDg1LCAyMzEsIDgyLCAKKyAgICAyMTgsIDIzNCwgNzEsIDIzMSwgODIsIDQsIDIxOCwgMjM0LCA4NSwgMjMxLCA4MiwgNCwgMjE4LCAyMzQsIDIzMiwgMTA4LCAKKyAgICA0NCwgMjE1LCAyMjUsIDg1LCAyMTgsIDM4LCAyLCAyMjMsIDEzMiwgMjQ5LCAyNDcsIDIxNCwgMTk0LCAyMTksIDYwLCAyNDksIAorICAgIDIyMiwgODUsIDIxOCwgMTU2LCA3MSwgMjE4LCAxNTYsIDIzMiwgMjI4LCAyMTYsIDEzMiwgMjE4LCAzNywgMjUzLCAyMzQsIAorICAgIDIyOCwgNzEsIDI0OCwgMzgsIDIyOCwgNzEsIDI0OSwgMTk1LCAyMjYsIDE2MywgODUsIDIxNywgMCwgNzEsIDIxNywgMCwgCisgICAgMjUyLCAxNTYsIDI1MSwgMTYzLCAyNTIsIDE1NiwgOTMsIDIsIDI1MCwgMTI5LCAyNTIsIDE1NiwgOTMsIDIsIDIxMSwgMTc4LCAKKyAgICAyMjEsIDI1NCwgMjE0LCAxOTUsIDIsIDIyMywgMTYwLCAyNDYsIDg0LCAyNDAsIDI0MywgMjUyLCAyMiwgNzEsIDIyMCwgMiwgCisgICAgMjI1LCAxMDEsIDg1LCAyMjAsIDIsIDIyNSwgMTAxLCAyMjAsIDg3LCAyMjMsIDQ5LCAyMjIsIDE4NywgMjQ0LCA1NSwgMjQxLCAKKyAgICAyMjgsIDI1MSwgMTEzLCA4NSwgNDMsIDIyNSwgNywgMjM1LCAyNDIsIDg1LCA0NCwgMjI1LCA3LCAyMzUsIDI0MiwgNzEsIAorICAgIDQzLCAyMjUsIDcsIDIzNSwgMjQyLCA3MSwgMTIwLCAyMjUsIDcsIDIzNSwgMjQyLCA3MSwgNDQsIDIyNSwgNywgMjM1LCAKKyAgICAyNDIsIDcxLCAxMjQsIDIyNSwgNywgMjM1LCAyNDIsIDIxOSwgMTAxLCAyMiwgMjQ5LCAxMjksIDI1MCwgMjE5LCA1MCwgCisgICAgMjIzLCAxNzIsIDUwLCAyNTEsIDIzOSwgNTAsIDI1MSwgMjUsIDI1NCwgMTAyLCAyMjYsIDE0NSwgMjQ5LCAxMzAsIDI1MCwgCisgICAgMTExLCAyMjMsIDM3LCAyNDksIDEzMSwgNjQsIDIzMiwgMTE4LCAyNDksIDEzMSwgNjQsIDIzNSwgMTE2LCAyMTgsIDE1NywgCisgICAgMjIsIDI0OSwgMTM2LCAyNDQsIDE2OCwgODcsIDI1NCwgMjQ4LCAyMjAsIDg5LCAyNDIsIDIyLCAyMiwgMjE5LCAxODksIAorICAgIDIyNSwgMjIwLCA4NywgMjEwLCAyNTQsIDIxMSwgNjksIDIxNSwgMjE1LCAzMSwgMjQxLCAyMjMsIDIxNSwgMjE1LCAzMSwgCisgICAgMjMzLCAxMDcsIDIxNSwgMjE1LCAzMSwgMjQ0LCA5NiwgMjE1LCAyMTUsIDMxLCAyMTYsIDEzMywgMjE1LCAyMTUsIDMxLCAKKyAgICAyMTEsIDIzOSwgMjE1LCAyMTUsIDMxLCAyMTIsIDQwLCAyMTUsIDIxNSwgMzEsIDIzMCwgMTE1LCAyMTUsIDIxNSwgMzEsIAorICAgIDI0NSwgMjIzLCAyMTIsIDEsIDY0LCAyNDgsIDE4LCA3MSwgMjQzLCAyMzksIDI0NCwgMTkwLCA3MSwgMjE5LCA3NCwgMjQ0LCAKKyAgICAxOTAsIDg1LCAyMTksIDc0LCAyNDQsIDE5MCwgNzEsIDIxOCwgMzgsIDIsIDIyMywgMTMyLCAyNDQsIDkyLCAyMjQsIDIyLCAKKyAgICAyMzAsIDEyOCwgMjMzLCA4MCwgMjI0LCAyMiwgMjMwLCAxMjgsIDIzMSwgNTQsIDI0NCwgMTM4LCA1MCwgMjQ1LCAyMjMsIAorICAgIDIzMSwgMTkwLCA1MCwgMjM1LCAzOCwgMjIxLCAyMjAsIDIxNCwgMTQ1LCAyMjksIDkzLCAyMjUsIDIwLCAyNTQsIDEyLCAKKyAgICAyMTcsIDQwLCAyNDMsIDUyLCAyNTEsIDMsIDIzMywgMTksIDIxMywgMTUwLCAyMzIsIDIzOCwgMjIxLCAxOTEsIDIyMiwgMTksIAorICAgIDI1MCwgMjQ4LCAyNTQsIDQyLCAyMjUsIDUyLCA3MSwgMjUwLCAxMTcsIDIzNCwgNzgsIDcxLCAyNTAsIDExNywgMjI0LCAxNCwgCisgICAgNzEsIDI1MCwgMTE3LCAyMjIsIDE5NSwgNzEsIDI1MCwgMTE3LCAyNTEsIDIzMSwgNzEsIDI1MCwgMTE3LCAyMzQsIDMwLCAKKyAgICA3MSwgMjUwLCAxMTcsIDIyNSwgMjMxLCA4NSwgMjUwLCAxMTcsIDIzNCwgNzgsIDg1LCAyNTAsIDExNywgMjI0LCAxNCwgODUsIAorICAgIDI1MCwgMTE3LCAyMjIsIDE5NSwgODUsIDI1MCwgMTE3LCAyNTEsIDIzMSwgODUsIDI1MCwgMTE3LCAyMzQsIDMwLCA4NSwgCisgICAgMjUwLCAxMTcsIDIyNSwgMjMxLCA4NSwgMjE5LCAxNiwgMjE4LCA1MCwgNzEsIDI0MSwgMjI4LCAyMTgsIDUwLCA3MSwgMjQ3LCAKKyAgICAyNDksIDIxOCwgNTAsIDg1LCAyNDksIDI0NSwgMjE4LCA1MCwgNzEsIDIxOSwgMTYsIDIxOCwgNTAsIDg1LCAyNDEsIDIyOCwgCisgICAgMjE4LCA1MCwgODUsIDI0NywgMjQ5LCAyMTgsIDUwLCA3MSwgMjQ5LCAyNDUsIDIxOCwgNTAsIDI0MCwgMjQzLCAyMTgsIAorICAgIDIzOCwgMjI0LCAyMiwgMjI4LCA0NywgMjQ1LCAxODksIDIyOCwgNDcsIDI1MiwgNzMsIDI0NSwgMTg5LCAyMjgsIDQyLCAKKyAgICAyNTIsIDczLCAyMTksIDExOCwgMjI4LCA0MiwgMjMwLCA1NywgMjQ0LCA2NiwgNTAsIDIzMCwgNTcsIDIyOSwgMTg4LCA1MCwgCisgICAgMjMwLCA1NywgMjIwLCA3NiwgNTAsIDIxMiwgOSwgMTg4LCAyNDksIDEzMCwgMjQ1LCAyMjAsIDE4OCwgMjQ5LCAxMzAsIAorICAgIDIxNCwgMTcxLCAyMjMsIDExMiwgODcsIDIyMywgMTEyLCAxNiwgMzEsIDIxNSwgNDgsIDIyNSwgMzQsIDIyMywgMTEyLCAxNiwgCisgICAgMzEsIDIxNSwgNDcsIDIyNSwgMzQsIDIyMywgMTEyLCAxNiwgMzEsIDIxNSwgNDYsIDIyNSwgMzQsIDIyMywgMTEyLCAxNiwgCisgICAgMzEsIDIxNSwgNDUsIDIyNSwgMzQsIDIyMywgMTEyLCAxNiwgMzEsIDIxNSwgNDQsIDIyNSwgMzQsIDIyMywgMTEyLCAxNiwgCisgICAgMzEsIDIxNSwgNDMsIDIyNSwgMzQsIDIyMywgMTEyLCAxNiwgMzEsIDIxNSwgNDIsIDIyNSwgMzQsIDIyMywgMTEyLCAxNiwgCisgICAgMzEsIDI0MywgNTAsIDIzMSwgMTM4LCA4NSwgMjE0LCAxNzEsIDIyMywgMTEyLCA4NywgMjIzLCAxMTMsIDIyNiwgMjAsIDg3LCAKKyAgICAyMjUsIDI1MiwgMjI2LCAyMCwgODcsIDIyNSwgMTc0LCAyMjYsIDIwLCA1MCwgMjExLCAyNTUsIDg3LCAyNDcsIDI0MSwgCisgICAgMjQ0LCAxODksIDI0NywgMjQxLCAyNDQsIDE4OCwgMjQ3LCAyNDEsIDI0NCwgMTg3LCAyNDcsIDI0MSwgMjQ0LCAxODYsIAorICAgIDI0NywgMjQxLCAyNDQsIDE4NSwgMjQ3LCAyNDEsIDI0NCwgMTg0LCA3MSwgMjUwLCAzNiwgMiwgNTksIDIyMiwgMjUxLCA3MSwgCisgICAgMjUwLCAzNiwgMiwgMTEzLCAyNDcsIDExOCwgODUsIDI1MCwgMzYsIDIsIDcxLCA1OSwgMjIyLCAyNTEsIDg1LCAyNTAsIDM2LCAKKyAgICAyLCAxMTMsIDcxLCAyNDcsIDExOCwgMjMwLCAxNDIsIDMxLCAyMTEsIDY5LCAyMzAsIDE0MiwgMzEsIDIxMCwgMjUzLCAyNDcsIAorICAgIDIyNCwgMzEsIDI0MiwgMTMxLCAyMTEsIDY5LCAyNDcsIDIyNCwgMzEsIDIzMywgMTMsIDIxMCwgMjUzLCAyNDcsIDIyNCwgCisgICAgMzEsIDIzMywgMTMsIDIxMSwgNjksIDI0NywgMjI0LCAzMSwgMjQyLCAxMzEsIDIxMCwgMjUzLCA3MSwgMjQ0LCA3MywgODUsIAorICAgIDI0NCwgNzMsIDI0MiwgMjIsIDIyLCAyMjUsIDEwNCwgMjU0LCAxMjAsIDI0OSwgMTI4LCAyMTcsIDIzNSwgMjE4LCAxNjQsIAorICAgIDY0LCAyNTQsIDIyNiwgMjIxLCAyMDYsIDI1NCwgMTY5LCAyNDQsIDUxLCAyNDMsIDYwLCAyMTgsIDE2NCwgNjQsIDI0MSwgCisgICAgMjAyLCAyNTMsIDE5OSwgODcsIDI0NCwgNjIsIDIyNiwgMTI2LCA3MSwgMjE4LCAxNTYsIDEzNCwgMjMyLCAyMDgsIDI0OSwgCisgICAgMTc1LCAyMjIsIDI1MSwgMTM0LCAyMzIsIDIwOCwgMjQ5LCAxNzUsIDIzMywgNDYsIDIxMiwgNTAsIDUwLCAxMjUsIDIxMywgCisgICAgMTMwLCA1MCwgMjQ2LCAxMTAsIDI0NCwgMTM4LCA1MCwgMjQ2LCAxMTAsIDIzMSwgMTkwLCA1MCwgMjM1LCAyMDMsIDI0NCwgCisgICAgMTM4LCAyMiwgMjMxLCAxOTAsIDUwLCAyMzEsIDE5MCwgMjIsIDI0NCwgMTM4LCA1MCwgMjMxLCAxOTAsIDIsIDIxOCwgMTAzLCAKKyAgICA1MCwgMjMxLCAxOTAsIDIsIDIxOCwgMTAzLCAyMiwgMjMxLCAxOTAsIDIyLCAyNDQsIDEzOCwgNTAsIDY3LCAyMzEsIDE5MCwgCisgICAgMiwgMjE4LCAxMDMsIDUwLCAyMDMsIDIzMSwgMTkwLCAyLCAyMTgsIDEwMywgNTAsIDIzMSwgODIsIDcxLCAyNTAsIDM1LCAKKyAgICAyMzEsIDgyLCA4NSwgMjUwLCAzNSwgMjMxLCA4MiwgNCwgNzEsIDI1MCwgMzUsIDIzMSwgMTUzLCA4NywgMjQ3LCAxNjcsIAorICAgIDg3LCAyMTQsIDE2OSwgMjI1LCAyNTEsIDg3LCAyNDksIDIzMSwgMjQzLCAyMjQsIDIxNCwgMTQxLCAyMjksIDg4LCAyNTAsIAorICAgIDE2MSwgMjI2LCA2MSwgMjM1LCA0NCwgMjEzLCAxODUsIDI1MCwgOTMsIDg1LCAyMzAsIDEyOSwgMjMyLCAyMjUsIDIyMCwgCisgICAgMTEyLCAyMjAsIDE0NywgMjI0LCA1LCAyMjAsIDEzMCwgMjE5LCA1NSwgMjUyLCAxNTksIDI1MiwgMTI2LCA5MiwgMjM0LCAKKyAgICAxMzgsIDcxLCAyNDYsIDkzLCAyMzEsIDE4NSwgNzEsIDI0NiwgOTMsIDIzNCwgNzgsIDg1LCAyNDYsIDkzLCAyMzEsIDE4NSwgCisgICAgODUsIDI0NiwgOTMsIDIzNCwgNzgsIDIxOSwgNjEsIDIxMSwgMjMwLCAyMTksIDY0LCAyMTgsIDM4LCAyNTIsIDUxLCAyNDksIAorICAgIDI0NywgMjIzLCAxNTksIDg1LCAyMTksIDYwLCAyMTYsIDEzNCwgMjQ5LCAyNDgsIDIyLCAyMjMsIDE1OSwgMjE1LCA5NCwgCisgICAgNzEsIDIyMCwgMiwgMjI1LCAxMDEsIDIxNSwgOTQsIDg1LCAyMjAsIDIsIDIyNSwgMTAxLCA3MSwgMjQ3LCAyNDksIDIzNiwgCisgICAgMCwgMjE4LCAyMzQsIDI0OSwgMTI1LCAyMzMsIDkxLCAyNDcsIDE5MywgMjUwLCAyNDQsIDIyNiwgMTY2LCAyMjUsIDEwNCwgCisgICAgMjUwLCAyNDUsIDIxOSwgODgsIDI0MSwgMjEyLCAyLCA3MSwgMjQ5LCAxMzAsIDM3LCAyNDksIDEyNSwgMjMzLCA5MSwgMjUwLCAKKyAgICAxNTMsIDIyOCwgNzUsIDI0NSwgMTI0LCAyNTQsIDE0MSwgMjI2LCAxOTEsIDQzLCAyMTIsIDI2LCAyMTUsIDI1MSwgODUsIAorICAgIDIxNSwgNTUsIDQzLCAyMTIsIDI2LCAyMTUsIDI1MSwgNzEsIDIxNSwgNTUsIDQzLCAyMTIsIDI2LCAyMTUsIDI1MSwgODUsIAorICAgIDQzLCAyMzMsIDkyLCAyMzEsIDUzLCA3MSwgNDMsIDIzMywgOTIsIDIzMSwgNTMsIDI0NiwgODksIDIxOSwgODIsIDUwLCAKKyAgICAxMTQsIDcxLCAyNDYsIDEwNSwgMjE1LCAyMjUsIDQzLCAyNTAsIDAsIDI0NSwgMTI0LCA5MiwgMjIxLCAyNTQsIDI0NCwgCisgICAgMTc1LCAyNDcsIDI1NSwgMjM2LCAwLCA3MSwgMjUwLCAzNiwgMjM2LCAwLCA4NSwgMjE4LCAyMzQsIDg1LCAyMTUsIDE5MiwgCisgICAgMjIzLCA2MCwgNDMsIDI0NSwgMTIzLCAyMjMsIDYwLCA0MywgMjQ1LCAxMjIsIDI1MywgMjExLCAxNiwgMzEsIDIxNCwgMTQ1LCAKKyAgICAxMTQsIDI1MCwgMzYsIDIsIDIxOCwgMTAzLCAyMiwgMTEzLCAxNzAsIDQ4LCAyMjUsIDE4OSwgMjIyLCAyNDgsIDIzNSwgCisgICAgMjA1LCAyMjUsIDE4OSwgMjMzLCA0MywgMjM1LCAyMDUsIDIyNSwgMTg5LCAyMzUsIDE5MywgMjI1LCAxODksIDg1LCAyNDksIAorICAgIDEzMSwgMjI2LCAxOTcsIDIyMCwgMjksIDIyMCwgMTcsIDIxOSwgMjI5LCAyNTAsIDYxLCAyNTAsIDIyNiwgMjQxLCAxNTcsIAorICAgIDIxOSwgMTI2LCAyNDMsIDYxLCAyMTEsIDIzMCwgMjQwLCAyMjAsIDI0MywgNjEsIDIsIDI0MiwgMTIsIDIzMSwgMTczLCAxNiwgCisgICAgMzEsIDIzMiwgMjI5LCAyMzAsIDExNSwgMjE0LCAxOTUsIDIyNiwgMTk3LCAyNDIsIDEyMiwgMjQ0LCAxMiwgMjQ0LCA3NCwgCisgICAgMjM2LCAwLCAyNDEsIDU5LCAyNDQsIDEyOSwgMjIyLCAxNCwgNDIsIDI0NCwgMTEsIDI0OSwgMTU5LCAyMTksIDEwNCwgMjQwLCAKKyAgICAxMTIsIDIxOSwgMTA3LCAyMjUsIDE2OCwgMiwgMjUyLCAxNTksIDIxNiwgMjQyLCAyMzUsIDEzMSwgMjUyLCAxNDYsIDg3LCAKKyAgICAyNDEsIDIzMSwgMjQyLCAxMzMsIDg3LCAyNDMsIDIzMiwgMjI0LCAxNDIsIDI0OSwgMTAzLCAyMjYsIDE5NywgODUsIDIxOCwgCisgICAgMjM0LCA3MSwgMjQ0LCA3NCwgMiwgMjAzLCAyMzAsIDIyNCwgODUsIDIxOCwgMTA0LCAyMTQsIDE2MCwgMjUxLCAyMTcsIAorICAgIDIyMSwgMTkzLCA4NSwgMjIxLCAxOTMsIDIzMiwgMTA4LCAyNTEsIDIxNywgMjIxLCAxOTMsIDcxLCAyMjEsIDE5MywgNzEsIAorICAgIDExNCwgMjUwLCAxMzAsIDc4LCAyMTcsIDEsIDIzMiwgMTU0LCA1MCwgMjE3LCA1MywgMjQ2LCA4OCwgMjU0LCAxOTEsIDI0NSwgCisgICAgMTE5LCAyMjMsIDE1NywgMjQ0LCA4NSwgMjIzLCAxNTcsIDI0MiwgMTUsIDIxMywgMTc0LCAyNDIsIDE1LCAyMTEsIDE5OCwgCisgICAgMjQyLCAxNSwgMjMyLCAxMDgsIDQ0LCAyMjUsIDE5OCwgMjI1LCAxOTgsIDIxNCwgMTYwLCA0NCwgMjI1LCAxOTgsIDcxLCAKKyAgICAyMjgsIDIzMCwgODUsIDIyOCwgMjMwLCAyNTAsIDEzMCwgNzgsIDExNCwgMjUwLCAxMzAsIDc4LCAyMzAsIDg0LCAyMTEsIAorICAgIDE3OCwgMTE0LCAyMzAsIDg0LCAyMTEsIDE3OCwgMjUyLCAxNTYsIDIxMSwgMTc4LCAxMTQsIDI1MiwgMTU2LCAyMTEsIDE3OCwgCisgICAgMjI2LCAxMjYsIDI2LCAyNDksIDEzMCwgMTE0LCAyNiwgMjQ5LCAxMzAsIDIwNCwgMjUwLCAxNzUsIDI0OSwgMTMwLCAxMTQsIAorICAgIDIwNCwgMjUwLCAxNzUsIDI0OSwgMTMwLCA3LCAyNDksIDEzMCwgMjIwLCA5MSwgNzEsIDcsIDI0OSwgMTMwLCAyMjYsIDEyNiwgCisgICAgNywgMjQ5LCAxMzAsIDIzMSwgMTg3LCAyNDksIDEzMCwgMjE4LCAxNTcsIDY0LCAyNDgsIDE0OSwgMjQ0LCAxMSwgMjE3LCAKKyAgICAxNSwgMjUzLCAyMTYsIDI0NCwgMTEsIDI1MiwgMTU3LCAyNTMsIDIxNiwgMTE0LCAyNDQsIDExLCAyNTIsIDE1NywgMjUzLCAKKyAgICAyMTYsIDI0NCwgMTEsIDI0OSwgMjQzLCAyNTMsIDIxNiwgODUsIDI0NCwgMTEsIDIyNSwgOSwgMjE4LCAxNTYsIDcxLCAyNDQsIAorICAgIDExLCAyMjUsIDksIDIxOCwgMTU2LCAyMTksIDExLCAyMTgsIDExMSwgMjI2LCAxMjYsIDcxLCAyMTgsIDE1NiwgMzcsIDcxLCAKKyAgICAyMTgsIDE1NiwgMjA0LCAyNTAsIDE3NSwgODUsIDIxOCwgMTU2LCA4NSwgMjUwLCAxNzUsIDcxLCAyMTgsIDE1NiwgMjI2LCAKKyAgICAxMjYsIDg1LCAyMTgsIDE1NiwgMTE0LCAyMjYsIDEyNiwgODUsIDIxOCwgMTU2LCAyMjUsIDYwLCAyMTgsIDE1NiwgMjIwLCAKKyAgICA5MSwgNzEsIDIxOCwgMTU2LCAxMTQsIDI1MywgMjE2LCAyMDQsIDI1MCwgMTc1LCAyNTMsIDIxNiwgMjQ1LCAxOTMsIDIxOCwgCisgICAgMjQ0LCAyNTMsIDIxNiwgMjQ1LCAxOTMsIDIyNSwgOSwgODUsIDIxOCwgMTU2LCAyNDUsIDE5MywgMjI1LCA5LCAyMjUsIDYwLCAKKyAgICAyMTgsIDE1NiwgMjE5LCAxMjUsIDIyNSwgOSwgODUsIDIxOCwgMTU2LCAyNDUsIDE5MywgMjI1LCA5LCAyMjMsIDExNCwgODUsIAorICAgIDIxOCwgMTU2LCAxMTQsIDI0NSwgMTkzLCAyMjUsIDksIDIyMywgMTE0LCA4NSwgMjE4LCAxNTYsIDIxNSwgNzcsIDIyNSwgOSwgCisgICAgODUsIDIxOCwgMTU2LCAyMTksIDEyMCwgMjI1LCA5LCAyNTMsIDIxNiwgMjE3LCAxNSwgMjUzLCAyMTYsIDIwNCwgMjUwLCAKKyAgICAxNzUsIDIxNywgMTUsIDI1MywgMjE2LCAxMTQsIDIxNywgMTUsIDI1MywgMjE2LCAyMTksIDEyNSwgMjI1LCAxNTcsIDg1LCAKKyAgICAyMiwgNzEsIDI0NCwgNTQsIDg1LCAyNDQsIDU0LCA3MSwgMjQ0LCA1NCwgMjQ1LCAxOTMsIDIyNSwgMTU3LCAyMjYsIDEyNiwgCisgICAgODUsIDI0NCwgNTQsIDM3LCAyMDQsIDI1MCwgMTc1LCAyNDUsIDE5MywgMjI1LCA5LCAyMTgsIDE1NiwgMTE0LCAyMTcsIDE1LCAKKyAgICAyMjUsIDYwLCAyNTMsIDIxNiwgMjE5LCA2MiwgMjE2LCAxMDUsIDIxNSwgMjE4LCAyMTksIDYyLCAxMTQsIDI1MCwgMTE0LCAKKyAgICAyMTksIDYyLCAyMTksIDEzLCAxMTQsIDIxOSwgMTMsIDI1MiwgMTU3LCAyNTMsIDIxNiwgMjQ1LCAxOTMsIDIxNywgMTUsIAorICAgIDIyNCwgMTcxLCAyNTMsIDIxNiwgMTE0LCAyNDUsIDE5MywgMjE3LCAxNSwgMjI0LCAxNzEsIDI1MywgMjE2LCAyNDksIDEzMSwgCisgICAgNzgsIDIyMCwgOTEsIDcxLCAyNTAsIDM1LCAxNTIsIDkyLCAyNDksIDEzMSwgNzgsIDIzMiwgMTA4LCA0NCwgMjQ2LCA4NiwgCisgICAgNzEsIDIxOCwgMjM0LCAyMTQsIDE2MCwgNDQsIDI0NiwgODYsIDcxLCAyMTgsIDIzNCwgMjMyLCAxMDgsIDQ0LCAyMjAsIDkxLCAKKyAgICA3MSwgMjE4LCAyMzQsIDIxNCwgMTYwLCA0NCwgMjIwLCA5MSwgNzEsIDIxOCwgMjM0LCA4NSwgMjI0LCAxMywgMTY0LCAyMjYsIAorICAgIDE0NywgNzEsIDIyNCwgMTMsIDE2NCwgMjI2LCAxNDcsIDcxLCAyNDUsIDMxLCAxNjQsIDIyNiwgMTQ3LCA4NSwgMjQ3LCAKKyAgICAyNDksIDIzMCwgMTgyLCA3MSwgMjExLCAxNzgsIDExNCwgMjQ1LCAzMSwgMTY0LCA4NywgMTkyLCA2NywgMTMwLCAyMzEsIAorICAgIDgyLCA2NywgMTMwLCAxMTQsIDY3LCAxMzAsIDExNCwgMjE5LCAxNTUsIDIxNSwgOTQsIDI0OSwgMjIwLCAyMjMsIDI1NCwgCisgICAgMTY0LCAyMjYsIDE0NywgMTE0LCAyMTksIDE1NSwgMjQ5LCAyMjAsIDIyMywgMjU0LCAxNjQsIDIyNiwgMTQ3LCAxMTQsIDUyLCAKKyAgICAyMTUsIDk0LCAyNDksIDIyMCwgMjIzLCAyNTQsIDE2NCwgMjI2LCAxNDcsIDExNCwgNTIsIDI0OSwgMjIwLCAyMjMsIDI1NCwgCisgICAgMTY0LCAyMjYsIDE0NywgMTE0LCAxMjEsIDIxOSwgMTU1LCAyNDksIDIyMCwgMjIzLCAyNTQsIDE2NCwgMjI2LCAxNDcsIAorICAgIDExNCwgMTIxLCA1MiwgMjQ5LCAyMjAsIDIyMywgMjU0LCAxNjQsIDIyNiwgMTQ3LCAyNDksIDkxLCAyMTgsIDE0MCwgMjI2LCAKKyAgICAxNSwgNSwgMjI2LCAxNDcsIDExNCwgMjQ1LCAzMSwgMTY0LCAyMjYsIDE0NywgMTE0LCAyNDEsIDIyOCwgMjQ1LCAzMSwgCisgICAgMTY0LCAyMjYsIDE0NywgMTE0LCA4NSwgMjQxLCAyMjcsIDIyMiwgMTg3LCAxMTQsIDg1LCAyNDEsIDIyOCwgMjUxLCAxMTMsIAorICAgIDI0NCwgNTUsIDI0MSwgMjI3LCAyMjIsIDE4NywgMjQ0LCA1NSwgMjQxLCAyMjgsIDI1MSwgMTEzLCAyMzEsIDgyLCA0MywgCisgICAgMjI2LCA0LCAyMjYsIDE0NywgMjMxLCA4MiwgNDQsIDIyNiwgNCwgMjI2LCAxNDcsIDIzMSwgODIsIDI0NCwgNjMsIDQzLCAKKyAgICAyMjYsIDQsIDIyNiwgMTQ3LCAyMzEsIDgyLCAyNDQsIDYzLCA0NCwgMjI2LCA0LCAyMjYsIDE0NywgMjMxLCA4MiwgMjMzLCAKKyAgICA0MiwgMjU0LCAxMTAsIDI1MSwgMTU4LCAyMjYsIDE0NywgMjMxLCA4MiwgMjIyLCAyNDcsIDI1NCwgMTEwLCAyNTEsIDE1OCwgCisgICAgMjI2LCAxNDcsIDExNCwgMjMzLCA0MiwgMjU0LCAxMTAsIDIyMywgMjU0LCAxNjQsIDIyNiwgMTQ3LCAxMTQsIDIyMiwgMjQ3LCAKKyAgICAyNTQsIDExMCwgMjIzLCAyNTQsIDE2NCwgMjI2LCAxNDcsIDExNCwgMjMzLCA0MiwgMjU0LCAxMTAsIDI1MSwgMTU4LCAyMjYsIAorICAgIDE0NywgMTE0LCAyMjIsIDI0NywgMjU0LCAxMTAsIDI1MSwgMTU4LCAyMjYsIDE0NywgMTkyLCA0MywgMjE2LCA2LCAyMjAsIAorICAgIDUzLCAyNTEsIDE1OCwgMjI2LCAxNDcsIDE5MiwgNDQsIDIxNiwgNiwgMjIwLCA1MywgMjUxLCAxNTgsIDIyNiwgMTQ3LCAKKyAgICAyMzEsIDgyLCA0MywgMjQ5LCA5OSwgMjUxLCAxNTgsIDIyNiwgMTQ3LCAyMzEsIDgyLCA0NCwgMjQ5LCA5OSwgMjUxLCAxNTgsIAorICAgIDIyNiwgMTQ3LCAyNDcsIDIwNCwgMTUyLCAzNywgMjEsIDExMCwgMjQ3LCAyMDQsIDE1MiwgMzcsIDIxLCAxMDUsIDI0NywgCisgICAgMjA0LCAxNTIsIDM3LCAyMSwgMTU4LCAyNDcsIDIwNCwgMTUyLCAzNywgMjEsIDE2MSwgMjQ3LCAyMDQsIDE1MiwgMzcsIDIxLCAKKyAgICAxODksIDI0NywgMjA0LCAxNTIsIDM3LCAyMSwgMTk0LCAyNDcsIDIwNCwgMTUyLCAzNywgMjEsIDE5OCwgMjQ3LCAyMDQsIAorICAgIDE1MiwgMzcsIDIxLCAxOTUsIDI0NywgMjA0LCAxNTIsIDM3LCAyMSwgMjAwLCAyNDcsIDIwNCwgMTUyLCAzNywgNTQsIDIxNiwgCisgICAgMjQ3LCAyNDcsIDIwNCwgMzcsIDM1LCAyMSwgMTEwLCAyNDcsIDIwNCwgMzcsIDM1LCAyMSwgMTA1LCAyNDcsIDIwNCwgMzcsIAorICAgIDM1LCAyMSwgMTU4LCAyNDcsIDIwNCwgMzcsIDM1LCAyMSwgMTYxLCAyNDcsIDIwNCwgMzcsIDM1LCAyMSwgMTg5LCAyNDcsIAorICAgIDIwNCwgMzcsIDM1LCAyMSwgMTk0LCAyNDcsIDIwNCwgMzcsIDM1LCAyMSwgMTk4LCAyNDcsIDIwNCwgMzcsIDM1LCAyMSwgCisgICAgMTk1LCAyNDcsIDIwNCwgMzcsIDM1LCAyMSwgMjAwLCAyNDcsIDIwNCwgMzcsIDM1LCA1NCwgMjE2LCAyNDcsIDI0NywgMjA0LCAKKyAgICAxNTIsIDM3LCAzNSwgMjEsIDExMCwgMjQ3LCAyMDQsIDE1MiwgMzcsIDM1LCAyMSwgMTA1LCAyNDcsIDIwNCwgMTUyLCAzNywgCisgICAgMzUsIDIxLCAxNTgsIDI0NywgMjA0LCAxNTIsIDM3LCAzNSwgMjEsIDE2MSwgMjQ3LCAyMDQsIDE1MiwgMzcsIDM1LCAyMSwgCisgICAgMTg5LCAyNDcsIDIwNCwgMTUyLCAzNywgMzUsIDIxLCAxOTQsIDI0NywgMjA0LCAxNTIsIDM3LCAzNSwgMjEsIDE5OCwgMjQ3LCAKKyAgICAyMDQsIDE1MiwgMzcsIDM1LCAyMSwgMTk1LCAyNDcsIDIwNCwgMTUyLCAzNywgMzUsIDIxLCAyMDAsIDI0NywgMjA0LCAxNTIsIAorICAgIDM3LCAzNSwgNTQsIDIxNiwgMjQ3LCAxMTQsIDIxMSwgMjQ2LCA5NywgNzQsIDExNCwgOTYsIDUwLCAxMTQsIDIzMCwgMTgyLCAKKyAgICA1MCwgMTE0LCAyNDcsIDE2OSwgNTAsIDExNCwgMjE5LCAyOCwgMjQ1LCAyMjAsIDc0LCAxMTQsIDk3LCA3NCwgMTE0LCAyMjgsIAorICAgIDU2LCAyNDUsIDIyMCwgNzQsIDI0NiwgOTgsIDIyNSwgMTEsIDk3LCA3NCwgMTE0LCAyMjIsIDE4NCwgOTcsIDc0LCAyMTUsIAorICAgIDIyNCwgOTcsIDc0LCAxMTQsIDIxNSwgMjI0LCA5NywgNzQsIDI0OCwgMTU1LCAyMTUsIDIyNCwgOTcsIDc0LCAxMTQsIDI0OCwgCisgICAgMTU1LCAyMTUsIDIyNCwgOTcsIDc0LCA4NSwgOTcsIDc0LCAyMTYsIDE0NCwgMjE2LCAxMiwgOTcsIDI1MywgMjQ5LCAyMTYsIAorICAgIDE0NCwgMjUxLCAxNzMsIDk3LCAyNTMsIDI0OSwgODUsIDk3LCAyNTMsIDI0OSwgMTE0LCA4NSwgMjQ5LCA5MSwgMjQ2LCAKKyAgICAxMDQsIDIyLCA5NywgNzQsIDExNCwgODUsIDI0OSwgOTEsIDIxNCwgMTUzLCAyMiwgOTcsIDc0LCAyMTgsIDIzMSwgODUsIAorICAgIDk3LCA3NCwgMTE0LCAyNDksIDIwNiwgODUsIDk3LCA3NCwgMjIyLCAyNDYsIDcxLCA5NywgNzQsIDIzMywgNDEsIDcxLCA5NywgCisgICAgNzQsIDI1MiwgMTgzLCAyMjAsIDkxLCA3MSwgOTcsIDc0LCAyNDMsIDI0MSwgMjIwLCA5MSwgNzEsIDk3LCA3NCwgMTE0LCAKKyAgICAyMzIsIDEwOCwgMjIyLCAyNDUsIDcxLCA5NywgNzQsIDExNCwgMjE0LCAxNjAsIDIyMiwgMjQ1LCA3MSwgOTcsIDc0LCAyMjgsIAorICAgIDQ5LCAyMzIsIDEwOCwgMjIyLCAyNDUsIDcxLCA5NywgNzQsIDI0OSwgOTksIDIzMiwgMTIzLCAyMjgsIDQ5LCAyMTQsIDE2MCwgCisgICAgMjIyLCAyNDUsIDcxLCA5NywgNzQsIDM3LCAxMTQsIDcxLCA5NywgNzQsIDIxMSwgMjUyLCA5NywgNzQsIDI1MSwgMjIwLCAKKyAgICAyMTksIDI4LCAyNDUsIDIyMCwgNzQsIDI1MSwgMjIwLCA5NywgNzQsIDI1MSwgMjIwLCAyMjgsIDU2LCAyNDUsIDIyMCwgNzQsIAorICAgIDExNCwgMjUxLCAyMjAsIDIxOSwgMjgsIDI0NSwgMjIwLCA3NCwgMTE0LCAyNTEsIDIyMCwgOTcsIDc0LCAxMTQsIDI1MSwgCisgICAgMjIwLCAyMjgsIDU2LCAyNDUsIDIyMCwgNzQsIDIxNywgMTcsIDk3LCA3NCwgMTE0LCAyMTcsIDE2LCA5NywgNzQsIDIxMiwgCisgICAgMTgsIDk3LCA3NCwgMTE0LCAyMTIsIDE4LCA5NywgNzQsIDIyNiwgMTcyLCA5NywgNzQsIDUyLCAyNDksIDk5LCAyMzIsIAorICAgIDEyMywgMTM0LCAyNDcsIDIxNCwgMjU0LCAxMDksIDcxLCAyMTUsIDIyNiwgMjQ5LCAxODcsIDQsIDcxLCAyMTUsIDIyNSwgCisgICAgMjI1LCAxNzEsIDIwNCwgMjE4LCA2MywgMjA0LCAyMTgsIDIxLCA0MywgMjIyLCA5MCwgMjUyLCAxNzMsIDI0OCwgNjAsIDQ0LCAKKyAgICAyMjIsIDkwLCAyNTIsIDE3MywgMjQ4LCA2MCwgMTc3LCAyLCA1OSwgMjM1LCAyMTUsIDIyMywgNTAsIDIxOSwgNDcsIDIyNCwgCisgICAgMjAxLCAyMTgsIDYzLCAyMTgsIDIyLCAyMjQsIDIwMSwgMjE5LCA0NiwgNjcsIDI1MiwgMTQxLCAyLCAyMDMsIDkxLCAxMSwgCisgICAgMjIyLCAyMjgsIDI0NywgMjU0LCAxOTksIDI0NywgMTY4LCAxMSwgMjQ0LCAxNzUsIDI0NywgMjU0LCA5MiwgMjMyLCAxNDYsIAorICAgIDI1NCwgMTE4LCA5MiwgMjMyLCAxNDYsIDIyNiwgMTU4LCA3MSwgMjQ3LCAyNDksIDIsIDI1MCwgMTczLCAyNDcsIDEyMCwgCisgICAgMjIsIDIsIDI0NywgMTIwLCAyNDUsIDE3MCwgNjQsIDIyNiwgMTcwLCAyMTQsIDE1MiwgMjMyLCAxMDgsIDQ0LCAyNDksIAorICAgIDE2MSwgMiwgMjQ3LCAxMjAsIDIxNCwgMTYwLCA0MywgMjQ5LCAxNjEsIDIsIDI0NywgMTIwLCA0MywgMjI2LCAxMjgsIDIzNSwgCisgICAgNjYsIDQ0LCAyMjYsIDEyOCwgMjM1LCA2NiwgMjQzLCAyMjksIDIyNiwgMTI4LCAyMzUsIDY2LCAyMzMsIDg1LCAxMjAsIAorICAgIDIxNywgODcsIDIzMywgODUsIDEyNCwgMjE3LCA4NywgNDMsIDIyLCA0NCwgNTIsIDIxNSwgOTMsIDQzLCAyMiwgNDQsIDIxNywgCisgICAgODcsIDQzLCAyMzAsIDg3LCAxOTksIDQ0LCAyMTcsIDg3LCAxOTksIDQzLCAyMTcsIDg3LCAxMjAsIDIxNywgODgsIDIsIAorICAgIDI1MCwgMzYsIDQ4LCAyMzIsIDEwNSwgMjQ3LCAxNzMsIDI1MSwgNzgsIDIwMywgMjIyLCAxMzMsIDcxLCAyNDksIDIwNSwgCisgICAgMjQ3LCAyNDgsIDcxLCAyNDksIDIwNSwgMjQ3LCAyNDksIDIsIDE0MCwgMjE2LCAxMTQsIDcxLCAyNDksIDIwNSwgMjQ3LCAKKyAgICAyNDksIDIsIDk3LCAyMTYsIDExNCwgNzEsIDQyLCAyLCAxNDAsIDIxNiwgMTE0LCA3MSwgNDIsIDIsIDk3LCAyMTYsIDExNCwgCisgICAgMTEsIDQzLCA3MSwgNDIsIDEyNywgMTEsIDQ0LCA3MSwgNDIsIDEyNywgMTEsIDQzLCAyNTQsIDExMCwgMTI3LCAxMSwgNDQsIAorICAgIDI1NCwgMTEwLCAxMjcsIDExLCA0MywgNTIsIDI1NCwgMTEwLCAxMjcsIDExLCA0NCwgNTIsIDI1NCwgMTEwLCAxMjcsIDExLCAKKyAgICA0MywgNzEsIDIxNiwgNiwgMjIwLCA1MywgMTI3LCAxMSwgNDQsIDcxLCAyMTYsIDYsIDIyMCwgNTMsIDEyNywgMTEsIDQzLCAKKyAgICAyNDQsIDYzLCAyMjYsIDMsIDExLCA0NCwgMjQ0LCA2MywgMjI2LCAzLCAyMTQsIDE1MywgMjI0LCAyNCwgNzQsIDI0NiwgCisgICAgMTA0LCAyMjQsIDI0LCA3NCwgMjU0LCA4OCwgMjQzLCA5OCwgMjUwLCAzNiwgNzQsIDI1MCwgMiwgMjQzLCA5OCwgMjUwLCAKKyAgICAzNiwgNzQsIDQ0LCA4MCwgMiwgMzcsIDIyNSwgMjIsIDE5OSwgMTQwLCA3NCwgMTk5LCA5NywgNzQsIDE5OSwgNDMsIDQ0LCAKKyAgICA3NCwgMTk5LCAxNDAsIDUyLCA3NCwgMTk5LCA5NywgNTIsIDc0LCAxOTksIDQzLCA0NCwgNTIsIDc0LCAxOTksIDE0MCwgODAsIAorICAgIDI0MywgMjQzLCAxMzAsIDE5OSwgOTcsIDgwLCAyNDMsIDI0MywgMTMwLCAxOTksIDE0MCwgNTIsIDgwLCAyNDMsIDI0MywgCisgICAgMTMwLCAxOTksIDk3LCA1MiwgODAsIDI0MywgMjQzLCAxMzAsIDE5OSwgOTcsIDIxOCwgMjMwLCA3NCwgNDYsIDQ3LCAyNTEsIAorICAgIDIxNSwgNDYsIDQ3LCAyNDcsIDExNywgNDYsIDQ3LCAyNDYsIDI0NSwgNDYsIDQ3LCAyNDcsIDExNiwgNDYsIDQ3LCAyNDYsIAorICAgIDE4MSwgNDYsIDQ3LCAyNDcsIDUyLCA0NiwgNDcsIDI0NiwgMjQ0LCA0NiwgNDcsIDI0NywgMTE1LCA0NiwgNDcsIDI0NiwgCisgICAgMTQ5LCA0NiwgNDcsIDI0NywgMjAsIDQ2LCA0NywgMjQ2LCAyMTIsIDQ2LCA0NywgMjQ3LCA4MywgNDYsIDQ3LCAyNDYsIAorICAgIDE4MCwgNDYsIDQ3LCAyNDcsIDUxLCA0NiwgNDcsIDI0NiwgMjQzLCA0NiwgNDcsIDI0NywgMTE0LCA0NiwgNDcsIDI0NiwgCisgICAgMTMzLCA0NiwgNDcsIDI0NywgNCwgNDYsIDQ3LCAyNDYsIDE5NiwgNDYsIDQ3LCAyNDcsIDY3LCA0NiwgNDcsIDI0NiwgMTY0LCAKKyAgICA0NiwgNDcsIDI0NywgMzUsIDQ2LCA0NywgMjQ2LCAyMjcsIDQ2LCA0NywgMjQ3LCA5OCwgNDYsIDQ3LCAyNDYsIDE0OCwgNDYsIAorICAgIDQ3LCAyNDcsIDE5LCA0NiwgNDcsIDI0NiwgMjExLCA0NiwgNDcsIDI0NywgODIsIDQ2LCA0NywgMjQ2LCAxNzksIDQ2LCA0NywgCisgICAgMjQ3LCA1MCwgNDYsIDQ3LCAyNDYsIDI0MiwgNDYsIDQ3LCAyNDcsIDExMywgNDYsIDQ3LCAyNDYsIDEyNSwgNDYsIDQ3LCAKKyAgICAyNDYsIDI1MiwgNDYsIDQ3LCAyNDYsIDE4OCwgNDYsIDQ3LCAyNDcsIDU5LCA0NiwgNDcsIDI0NiwgMTU2LCA0NiwgNDcsIAorICAgIDI0NywgMjcsIDQ2LCA0NywgMjQ2LCAyMTksIDQ2LCA0NywgMjQ3LCA5MCwgNDYsIDQ3LCAyNDYsIDE0MCwgNDYsIDQ3LCAKKyAgICAyNDcsIDExLCA0NiwgNDcsIDI0NiwgMjAzLCA0NiwgNDcsIDI0NywgNzQsIDQ2LCA0NywgMjQ2LCAxNzEsIDQ2LCA0NywgCisgICAgMjQ3LCA0MiwgNDYsIDQ3LCAyNDYsIDIzNCwgNDYsIDQ3LCAyNDcsIDEwNSwgNDYsIDQ3LCAyNDYsIDEzMiwgNDYsIDQ3LCAKKyAgICAyNDcsIDMsIDQ2LCA0NywgMjQ2LCAxOTUsIDQ2LCA0NywgMjQ3LCA2NiwgNDYsIDQ3LCAyNDYsIDE2MywgNDYsIDQ3LCAyNDcsIAorICAgIDM0LCA0NiwgNDcsIDI0NiwgMjI2LCA0NiwgNDcsIDI0NywgOTcsIDQ2LCA0NywgMjQ2LCAxNDcsIDQ2LCA0NywgMjQ3LCAxOCwgCisgICAgNDYsIDQ3LCAyNDYsIDIxMCwgNDYsIDQ3LCAyNDcsIDgxLCA0NiwgNDcsIDI0NiwgMTc4LCA0NiwgNDcsIDI0NywgNDksIDQ2LCAKKyAgICA0NywgMjQ2LCAyNDEsIDQ2LCA0NywgMjQ3LCAxMTIsIDQ2LCA0NywgMjQ2LCAxMjEsIDQ2LCA0NywgMjQ2LCAyNDgsIDQ2LCAKKyAgICA0NywgMjQ2LCAxODQsIDQ2LCA0NywgMjQ3LCA1NSwgNDYsIDQ3LCAyNDYsIDE1MiwgNDYsIDQ3LCAyNDcsIDIzLCA0NiwgNDcsIAorICAgIDI0NiwgMjE1LCA0NiwgNDcsIDI0NywgODYsIDQ2LCA0NywgMjQ2LCAxMzYsIDQ2LCA0NywgMjQ3LCA3LCA0NiwgNDcsIDI0NiwgCisgICAgMTk5LCA0NiwgNDcsIDI0NywgNzAsIDQ2LCA0NywgMjQ2LCAxNjcsIDQ2LCA0NywgMjQ3LCAzOCwgNDYsIDQ3LCAyNDYsIAorICAgIDIzMCwgNDYsIDQ3LCAyNDcsIDEwMSwgNDYsIDQ3LCAyNDYsIDEyOCwgNDYsIDQ3LCAyNDYsIDI1NSwgNDYsIDQ3LCAyNDYsIAorICAgIDE5MSwgNDYsIDQ3LCAyNDcsIDYyLCA0NiwgNDcsIDI0NiwgMTU5LCA0NiwgNDcsIDI0NywgMzAsIDQ2LCA0NywgMjQ2LCAKKyAgICAyMjIsIDQ2LCA0NywgMjQ3LCA5MywgNDYsIDQ3LCAyNDYsIDE0MywgNDYsIDQ3LCAyNDcsIDE0LCA0NiwgNDcsIDI0NiwgCisgICAgMjA2LCA0NiwgNDcsIDI0NywgNzcsIDQ2LCA0NywgMjQ2LCAxNzQsIDQ2LCA0NywgMjQ3LCA0NSwgNDYsIDQ3LCAyNDYsIAorICAgIDIzNywgNDYsIDQ3LCAyNDcsIDEwOCwgNDYsIDQ3LCAyNDYsIDEyNCwgNDYsIDQ3LCAyNDYsIDI1MSwgNDYsIDQ3LCAyNDYsIAorICAgIDE4NywgNDYsIDQ3LCAyNDcsIDU4LCA0NiwgNDcsIDI0NiwgMTU1LCA0NiwgNDcsIDI0NywgMjYsIDQ2LCA0NywgMjQ2LCAKKyAgICAyMTgsIDQ2LCA0NywgMjQ3LCA4OSwgNDYsIDQ3LCAyNDYsIDEzOSwgNDYsIDQ3LCAyNDcsIDEwLCA0NiwgNDcsIDI0NiwgCisgICAgMjAyLCA0NiwgNDcsIDI0NywgNzMsIDQ2LCA0NywgMjQ2LCAxNzAsIDQ2LCA0NywgMjQ3LCA0MSwgNDYsIDQ3LCAyNDYsIAorICAgIDIzMywgNDYsIDQ3LCAyNDcsIDEwNCwgNDYsIDQ3LCAyNDYsIDEzMSwgNDYsIDQ3LCAyNDcsIDIsIDQ2LCA0NywgMjQ2LCAKKyAgICAxOTQsIDQ2LCA0NywgMjQ3LCA2NSwgNDYsIDQ3LCAyNDYsIDE2MiwgNDYsIDQ3LCAyNDcsIDMzLCA0NiwgNDcsIDI0NiwgCisgICAgMjI1LCA0NiwgNDcsIDI0NywgOTYsIDQ2LCA0NywgMjQ2LCAxNDYsIDQ2LCA0NywgMjQ3LCAxNywgNDYsIDQ3LCAyNDYsIAorICAgIDIwOSwgNDYsIDQ3LCAyNDcsIDgwLCA0NiwgNDcsIDI0NiwgMTc3LCA0NiwgNDcsIDI0NywgNDgsIDQ2LCA0NywgMjQ2LCAKKyAgICAyNDAsIDQ2LCA0NywgMjQ3LCAxMTEsIDQ2LCA0NywgMjQ2LCAxMTksIDQ2LCA0NywgMjQ2LCAyNDYsIDQ2LCA0NywgMjQ2LCAKKyAgICAxODIsIDQ2LCA0NywgMjQ3LCA1MywgNDYsIDQ3LCAyNDYsIDE1MCwgNDYsIDQ3LCAyNDcsIDIxLCA0NiwgNDcsIDI0NiwgCisgICAgMjEzLCA0NiwgNDcsIDI0NywgODQsIDQ2LCA0NywgMjQ2LCAxMzQsIDQ2LCA0NywgMjQ3LCA1LCA0NiwgNDcsIDI0NiwgMTk3LCAKKyAgICA0NiwgNDcsIDI0NywgNjgsIDQ2LCA0NywgMjQ2LCAxNjUsIDQ2LCA0NywgMjQ3LCAzNiwgNDYsIDQ3LCAyNDYsIDIyOCwgNDYsIAorICAgIDQ3LCAyNDcsIDk5LCA0NiwgNDcsIDI0NiwgMTI2LCA0NiwgNDcsIDI0NiwgMjUzLCA0NiwgNDcsIDI0NiwgMTg5LCA0NiwgCisgICAgNDcsIDI0NywgNjAsIDQ2LCA0NywgMjQ2LCAxNTcsIDQ2LCA0NywgMjQ3LCAyOCwgNDYsIDQ3LCAyNDYsIDIyMCwgNDYsIDQ3LCAKKyAgICAyNDcsIDkxLCA0NiwgNDcsIDI0NiwgMTQxLCA0NiwgNDcsIDI0NywgMTIsIDQ2LCA0NywgMjQ2LCAyMDQsIDQ2LCA0NywgCisgICAgMjQ3LCA3NSwgNDYsIDQ3LCAyNDYsIDE3MiwgNDYsIDQ3LCAyNDcsIDQzLCA0NiwgNDcsIDI0NiwgMjM1LCA0NiwgNDcsIAorICAgIDI0NywgMTA2LCA0NiwgNDcsIDI0NiwgMTIyLCA0NiwgNDcsIDI0NiwgMjQ5LCA0NiwgNDcsIDI0NiwgMTg1LCA0NiwgNDcsIAorICAgIDI0NywgNTYsIDQ2LCA0NywgMjQ2LCAxNTMsIDQ2LCA0NywgMjQ3LCAyNCwgNDYsIDQ3LCAyNDYsIDIxNiwgNDYsIDQ3LCAKKyAgICAyNDcsIDg3LCA0NiwgNDcsIDI0NiwgMTM3LCA0NiwgNDcsIDI0NywgOCwgNDYsIDQ3LCAyNDYsIDIwMCwgNDYsIDQ3LCAyNDcsIAorICAgIDcxLCA0NiwgNDcsIDI0NiwgMTY4LCA0NiwgNDcsIDI0NywgMzksIDQ2LCA0NywgMjQ2LCAyMzEsIDQ2LCA0NywgMjQ3LCAKKyAgICAxMDIsIDQ2LCA0NywgMjQ2LCAxMjksIDQ2LCA0NywgMjQ3LCAwLCA0NiwgNDcsIDI0NiwgMTkyLCA0NiwgNDcsIDI0NywgNjMsIAorICAgIDQ2LCA0NywgMjQ2LCAxNjAsIDQ2LCA0NywgMjQ3LCAzMSwgNDYsIDQ3LCAyNDYsIDIyMywgNDYsIDQ3LCAyNDcsIDk0LCA0NiwgCisgICAgNDcsIDI0NiwgMTQ0LCA0NiwgNDcsIDI0NywgMTUsIDQ2LCA0NywgMjQ2LCAyMDcsIDQ2LCA0NywgMjQ3LCA3OCwgNDYsIDQ3LCAKKyAgICAyNDYsIDE3NSwgNDYsIDQ3LCAyNDcsIDQ2LCA0NiwgNDcsIDI0NiwgMjM4LCA0NiwgNDcsIDI0NywgMTA5LCA0NiwgNDcsIAorICAgIDI0NiwgMTIwLCA0NiwgNDcsIDI0NiwgMjQ3LCA0NiwgNDcsIDI0NiwgMTgzLCA0NiwgNDcsIDI0NywgNTQsIDQ2LCA0NywgCisgICAgMjQ2LCAxNTEsIDQ2LCA0NywgMjQ3LCAyMiwgNDYsIDQ3LCAyNDYsIDIxNCwgNDYsIDQ3LCAyNDcsIDg1LCA0NiwgNDcsIAorICAgIDI0NiwgMTM1LCA0NiwgNDcsIDI0NywgNiwgNDYsIDQ3LCAyNDYsIDE5OCwgNDYsIDQ3LCAyNDcsIDY5LCA0NiwgNDcsIDI0NiwgCisgICAgMTY2LCA0NiwgNDcsIDI0NywgMzcsIDQ2LCA0NywgMjQ2LCAyMjksIDQ2LCA0NywgMjQ3LCAxMDAsIDQ2LCA0NywgMjQ2LCAKKyAgICAxMjcsIDQ2LCA0NywgMjQ2LCAyNTQsIDQ2LCA0NywgMjQ2LCAxOTAsIDQ2LCA0NywgMjQ3LCA2MSwgNDYsIDQ3LCAyNDYsIAorICAgIDE1OCwgNDYsIDQ3LCAyNDcsIDI5LCA0NiwgNDcsIDI0NiwgMjIxLCA0NiwgNDcsIDI0NywgOTIsIDQ2LCA0NywgMjQ2LCAKKyAgICAxNDIsIDQ2LCA0NywgMjQ3LCAxMywgNDYsIDQ3LCAyNDYsIDIwNSwgNDYsIDQ3LCAyNDcsIDc2LCA0NiwgNDcsIDI0NiwgCisgICAgMTczLCA0NiwgNDcsIDI0NywgNDQsIDQ2LCA0NywgMjQ2LCAyMzYsIDQ2LCA0NywgMjQ3LCAxMDcsIDQ2LCA0NywgMjQ2LCAKKyAgICAxMjMsIDQ2LCA0NywgMjQ2LCAyNTAsIDQ2LCA0NywgMjQ2LCAxODYsIDQ2LCA0NywgMjQ3LCA1NywgNDYsIDQ3LCAyNDYsIAorICAgIDE1NCwgNDYsIDQ3LCAyNDcsIDI1LCA0NiwgNDcsIDI0NiwgMjE3LCA0NiwgNDcsIDI0NywgODgsIDQ2LCA0NywgMjQ2LCAKKyAgICAxMzgsIDQ2LCA0NywgMjQ3LCA5LCA0NiwgNDcsIDI0NiwgMjAxLCA0NiwgNDcsIDI0NywgNzIsIDQ2LCA0NywgMjQ2LCAxNjksIAorICAgIDQ2LCA0NywgMjQ3LCA0MCwgNDYsIDQ3LCAyNDYsIDIzMiwgNDYsIDQ3LCAyNDcsIDEwMywgNDYsIDQ3LCAyNDYsIDEzMCwgCisgICAgNDYsIDQ3LCAyNDcsIDEsIDQ2LCA0NywgMjQ2LCAxOTMsIDQ2LCA0NywgMjQ3LCA2NCwgNDYsIDQ3LCAyNDYsIDE2MSwgNDYsIAorICAgIDQ3LCAyNDcsIDMyLCA0NiwgNDcsIDI0NiwgMjI0LCA0NiwgNDcsIDI0NywgOTUsIDQ2LCA0NywgMjQ2LCAxNDUsIDQ2LCA0NywgCisgICAgMjQ3LCAxNiwgNDYsIDQ3LCAyNDYsIDIwOCwgNDYsIDQ3LCAyNDcsIDc5LCA0NiwgNDcsIDI0NiwgMTc2LCA0NiwgNDcsIAorICAgIDI0NywgNDcsIDQ2LCA0NywgMjQ2LCAyMzksIDQ2LCA0NywgMjQ3LCAxMTAsIDk3LCAyMTUsIDU4LCA4MCwgMiwgNjcsIDkxLCAKKyAgICA5NywgMjE1LCA1OCwgODAsIDIsIDUyLCA2NywgOTEsIDE0MCwgNTIsIDgwLCAyLCA2NywgOTEsIDk3LCA1MiwgODAsIDIsIAorICAgIDY3LCA5MSwgNDMsIDQ0LCA1MiwgODAsIDIsIDY3LCA5MSwgOTcsIDIxNSwgNTgsIDgwLCAyNDMsIDI0MywgMTMwLCAxNDAsIAorICAgIDUyLCA4MCwgMjQzLCAyNDMsIDEzMCwgOTcsIDUyLCA4MCwgMjQzLCAyNDMsIDEzMCwgMjQ2LCAxMDQsIDgwLCAyLCAyMDMsIAorICAgIDkxLCAyMTQsIDE1MywgODAsIDIsIDIwMywgOTEsIDIxNCwgMTUzLCAyMTUsIDIxMSwgNzQsIDI0NiwgMTA0LCAyMTUsIDIxMSwgCisgICAgNzQsIDE0MCwgNTIsIDI0OCwgMTU3LCA3NCwgOTcsIDUyLCAyNDgsIDE1NywgNzQsIDE0MCwgMjE1LCAyMTEsIDI0OCwgMTU3LCAKKyAgICA3NCwgOTcsIDIxNSwgMjExLCAyNDgsIDE1NywgNzQsIDk3LCAyMTUsIDU4LCAyMTUsIDIxMSwgMjQ4LCAxNTcsIDc0LCA5NywgCisgICAgODAsIDIsIDI0NiwgMTE4LCAyMTgsIDEzOSwgMjE0LCAxNTMsIDgwLCAyMTYsIDQyLCAxMzAsIDI0NiwgMTA0LCA4MCwgMjE2LCAKKyAgICA0MiwgMTMwLCA5NywgODAsIDIsIDIxNywgNzgsIDIsIDY3LCA5MSwgOTcsIDgwLCAyLCAyMTcsIDc4LCAyLCA1MiwgNjcsIAorICAgIDkxLCA5NywgMjE1LCA1OCwgODAsIDIsIDIxNywgNzcsIDk3LCAyMTUsIDU4LCA4MCwgMiwgMjE3LCA3OCwgMiwgNjcsIDkxLCAKKyAgICA5NywgMjE1LCA1OCwgODAsIDIsIDIxNywgNzgsIDIsIDUyLCA2NywgOTEsIDE0MCwgMjUzLCAyNTEsIDk3LCAyNTMsIDI1MSwgCisgICAgMTQwLCA1MiwgMjUzLCAyNTEsIDk3LCA1MiwgMjUzLCAyNTEsIDE0MCwgODAsIDIxNiwgNDIsIDg1LCAyNDcsIDI0OCwgOTcsIAorICAgIDgwLCAyMTYsIDQyLCA4NSwgMjQ3LCAyNDgsIDE0MCwgODAsIDI0MywgMjQzLCAyNTIsIDE0MSwgMjE2LCA0MiwgODUsIDI0NywgCisgICAgMjQ4LCA5NywgODAsIDI0MywgMjQzLCAyNTIsIDE0MSwgMjE2LCA0MiwgODUsIDI0NywgMjQ4LCAyMjgsIDU2LCAyMTIsIDksIAorICAgIDIyLCAyMTksIDI4LCAyNDUsIDIyMCwgNzQsIDIyOCwgNTYsIDI0NSwgMjIwLCAyMiwgMjE5LCAyOCwgMjEyLCA5LCA3NCwgCisgICAgMjI4LCA1NiwgMjEyLCA5LCA4MCwgMiwgMTAzLCAyMjgsIDU2LCAyNDUsIDIyMCwgODAsIDIsIDEwMywgMjE5LCAyOCwgMjQ1LCAKKyAgICAyMjAsIDgwLCAyLCAxMDMsIDIxOSwgMjgsIDIxMiwgOSwgODAsIDIsIDEwMywgMjI4LCA1NiwgMjEyLCA5LCA4MCwgMjIsIAorICAgIDIyOCwgNTYsIDI0NSwgMjIwLCA3NCwgMjI4LCA1NiwgMjQ1LCAyMjAsIDgwLCAyMiwgMjE5LCAyOCwgMjQ1LCAyMjAsIDc0LCAKKyAgICAyMTksIDI4LCAyNDUsIDIyMCwgODAsIDIyLCAyMTksIDI4LCAyMTIsIDksIDc0LCAyMTksIDI4LCAyMTIsIDksIDgwLCAyMiwgCisgICAgMjI4LCA1NiwgMjEyLCA5LCA3NCwgMjIyLCAyMjgsIDI0NywgMjU1LCAyNDksIDEyNSwgMjQ0LCAxNzUsIDI0NywgMjU0LCAKKyAgICAyNDQsIDE3NSwgMjQ3LCAyNTUsIDI0OSwgMTI1LCAyMjIsIDIyOCwgMjQ3LCAyNTQsIDIxOSwgMjgsIDI0NSwgMjIwLCA4MCwgCisgICAgMjQ5LCAxMjUsIDIyOCwgNTYsIDI0NSwgMjIwLCA3NCwgMjI4LCA1NiwgMjQ1LCAyMjAsIDgwLCAyNDksIDEyNSwgMjE5LCAKKyAgICAyOCwgMjQ1LCAyMjAsIDc0LCAyNDQsIDE3NSwgMjQ3LCAyNTUsIDI0OSwgMTI1LCAyMjgsIDU2LCAyNDUsIDIyMCwgNzQsIAorICAgIDIyMiwgMjI4LCAyNDcsIDI1NSwgMjQ5LCAxMjUsIDIxOSwgMjgsIDI0NSwgMjIwLCA3NCwgMjI4LCA1NiwgMjQ1LCAyMjAsIAorICAgIDgwLCAyNDksIDEyNSwgMjI4LCA1NiwgMjEyLCA5LCA3NCwgMjI4LCA1NiwgMjEyLCA5LCA4MCwgMjQ5LCAxMjUsIDIyOCwgCisgICAgNTYsIDI0NSwgMjIwLCA3NCwgMjEyLCAzNiwgODAsIDIyNSwgNywgMjQ3LCAxOTUsIDIyMiwgMjUxLCA4MCwgMjI1LCA3LCAKKyAgICA5NywgMjE2LCAxODgsIDI0OSwgOTAsIDIxNCwgMTUyLCA4MCwgMjI1LCA3LCA5NywgMjE2LCAxODgsIDI0OSwgOTAsIDI0NiwgCisgICAgMTAzLCA4MCwgMjI1LCA3LCAyNDYsIDEwNCwgMjE2LCAxODgsIDI0OSwgOTAsIDIzMywgMzcsIDgwLCAyMjUsIDcsIDI0NiwgCisgICAgMTA0LCAyMTYsIDE4OCwgMjQ5LCA5MCwgMjIyLCAyNDEsIDIyMiwgMjQ0LCAyNTQsIDI2LCAyNTAsIDIsIDc0LCAyMzMsIDQwLCAKKyAgICAyNTQsIDI2LCAyNTQsIDg4LCA3NCwgMjE2LCAxNCwgMjU0LCAyNiwgMjU0LCA4OCwgNzQsIDI1MSwgMTc1LCAyNTQsIDI2LCAKKyAgICAyNTQsIDg4LCA3NCwgMjE2LCAxNCwgMjU0LCAyNiwgMjUwLCAyLCA4MCwgMiwgMjMwLCAxODEsIDIxNiwgMTQsIDI1NCwgMjYsIAorICAgIDI1NCwgODgsIDgwLCAyLCAyMjUsIDIyLCAyMzIsIDEwOCwgNDQsIDIyMCwgMTUyLCAyNTAsIDIsIDc0LCAyMzIsIDEwOCwgCisgICAgNDMsIDIyMCwgMTUyLCAyNTQsIDg4LCA3NCwgMjU0LCA4OCwgMjUwLCAwLCAyNTAsIDM2LCA3NCwgMjUwLCAyLCAyNTAsIDAsIAorICAgIDI1MCwgMzYsIDc0LCA5NywgODAsIDc3LCAyMTksIDI1MSwgMTQwLCA3NCwgMTQwLCA4MCwgNzcsIDIxOSwgMjUxLCA5NywgCisgICAgNzQsIDIxOSwgMjUxLCA5NywgODAsIDc3LCAxNDAsIDc0LCA5NywgODAsIDIsIDk2LCA1MSwgMTQwLCA4MCwgMiwgOTYsIDUxLCAKKyAgICA5NywgODAsIDIxNiwgMTM5LCAyMTEsIDE3OCwgNDMsIDQ0LCA4MCwgMjE2LCAxMzksIDQsIDI1MCwgMzUsIDIxNCwgMTUzLCAKKyAgICAyMTUsIDU4LCA4MCwgMjQzLCAyNDMsIDQsIDI1MCwgMzUsIDQzLCAyNTIsIDEzOSwgMTIwLCA0NCwgMjUyLCAxMzksIDEyNCwgCisgICAgMjQxLCAyNTQsIDQzLCAyNTIsIDEzOSwgMTI0LCA0NCwgMjUyLCAxMzksIDEyMCwgMjQxLCAyNTQsIDEyMCwgMjUyLCAxMzksIAorICAgIDQ0LCAxMjQsIDI1MiwgMTM5LCA0MywgMjQxLCAyNTQsIDEyMCwgMjUyLCAxMzksIDQzLCAxMjQsIDI1MiwgMTM5LCA0NCwgCisgICAgMjQxLCAyNTQsIDQzLCAyNTIsIDEzOSwgMTIwLCA0NCwgMjUyLCAxMzksIDEyMCwgMjQxLCAyNTQsIDEyMCwgMjUyLCAxMzksIAorICAgIDQ0LCAxMjQsIDI1MiwgMTM5LCA0NCwgMjQxLCAyNTQsIDQzLCAyNTIsIDEzOSwgMTI0LCA0NCwgMjUyLCAxMzksIDEyNCwgCisgICAgMjQxLCAyNTQsIDEyMCwgMjUyLCAxMzksIDQzLCAxMjQsIDI1MiwgMTM5LCA0MywgMjQxLCAyNTQsIDE0MCwgMjQxLCAyNTUsIAorICAgIDIsIDI1MiwgMTM5LCAxMjAsIDIxNiwgNDIsIDEzMCwgOTcsIDI0MSwgMjU1LCAyLCAyNTIsIDEzOSwgMTIwLCAyMTYsIDQyLCAKKyAgICAxMzAsIDIxNCwgMTUzLCAyNDEsIDI1NSwgMiwgMjUyLCAxMzksIDQ0LCAyMTYsIDQyLCAxMzAsIDI0NiwgMTA0LCAyNDEsIAorICAgIDI1NSwgMiwgMjUyLCAxMzksIDQ0LCAyMTYsIDQyLCAxMzAsIDE0MCwgMjQxLCAyNTUsIDIsIDI1MiwgMTM5LCAxMjQsIDIxNiwgCisgICAgNDIsIDEzMCwgOTcsIDI0MSwgMjU1LCAyLCAyNTIsIDEzOSwgMTI0LCAyMTYsIDQyLCAxMzAsIDIxNCwgMTUzLCAyNDEsIAorICAgIDI1NSwgMiwgMjUyLCAxMzksIDQzLCAyMTYsIDQyLCAxMzAsIDI0NiwgMTA0LCAyNDEsIDI1NSwgMiwgMjUyLCAxMzksIDQzLCAKKyAgICAyMTYsIDQyLCAxMzAsIDE0MCwgMjQxLCAyNTUsIDIsIDI1MiwgMTM5LCAxMjAsIDI0MywgMjQzLCAxMzAsIDk3LCAyNDEsIAorICAgIDI1NSwgMiwgMjUyLCAxMzksIDEyMCwgMjQzLCAyNDMsIDEzMCwgMjE0LCAxNTMsIDI0MSwgMjU1LCAyLCAyNTIsIDEzOSwgCisgICAgNDQsIDI0MywgMjQzLCAxMzAsIDI0NiwgMTA0LCAyNDEsIDI1NSwgMiwgMjUyLCAxMzksIDQ0LCAyNDMsIDI0MywgMTMwLCAKKyAgICAxNDAsIDI0MSwgMjU1LCAyLCAyNTIsIDEzOSwgMTI0LCAyNDMsIDI0MywgMTMwLCA5NywgMjQxLCAyNTUsIDIsIDI1MiwgCisgICAgMTM5LCAxMjQsIDI0MywgMjQzLCAxMzAsIDIxNCwgMTUzLCAyNDEsIDI1NSwgMiwgMjUyLCAxMzksIDQzLCAyNDMsIDI0MywgCisgICAgMTMwLCAyNDYsIDEwNCwgMjQxLCAyNTUsIDIsIDI1MiwgMTM5LCA0MywgMjQzLCAyNDMsIDEzMCwgMTQwLCAyNDEsIDI1NSwgCisgICAgMiwgMjUyLCAxMzksIDEyMCwgNzcsIDE0MCwgMjQxLCAyNTUsIDIsIDI1MiwgMTM5LCAyNDYsIDEwNiwgMjE0LCAxNTMsIAorICAgIDI0MSwgMjU1LCAyLCAyNTIsIDEzOSwgNDMsIDI1MiwgMzAsIDIxNCwgMTUzLCAyNDEsIDI1NSwgMiwgMjUyLCAxMzksIDIyMiwgCisgICAgMjUxLCA5NywgMjQxLCAyNTUsIDIsIDI1MiwgMTM5LCAxMjAsIDc3LCA5NywgMjQxLCAyNTUsIDIsIDI1MiwgMTM5LCAyNDYsIAorICAgIDEwNiwgMjQ2LCAxMDQsIDI0MSwgMjU1LCAyLCAyNTIsIDEzOSwgNDMsIDI1MiwgMzAsIDI0NiwgMTA0LCAyNDEsIDI1NSwgMiwgCisgICAgMjUyLCAxMzksIDIyMiwgMjUxLCAxNDAsIDI0MSwgMjU1LCAyLCAyNTIsIDEzOSwgMTIwLCA3NywgOTcsIDI0MSwgMjU1LCAyLCAKKyAgICAyNTIsIDEzOSwgMjE0LCAxNjMsIDE0MCwgMjQxLCAyNTUsIDIsIDI1MiwgMTM5LCAxMjQsIDc3LCA5NywgMjQxLCAyNTUsIDIsIAorICAgIDI1MiwgMTM5LCAyNDYsIDEwNiwgOTcsIDI0MSwgMjU1LCAyLCAyNTIsIDEzOSwgMTIwLCA3NywgMTQwLCAyNDEsIDI1NSwgMiwgCisgICAgMjUyLCAxMzksIDIxNCwgMTYzLCA5NywgMjQxLCAyNTUsIDIsIDI1MiwgMTM5LCAxMjQsIDc3LCAxNDAsIDI0MSwgMjU1LCAyLCAKKyAgICAyNTIsIDEzOSwgMjQ2LCAxMDYsIDE0MCwgMjQxLCAyNTUsIDIsIDI1MiwgMTM5LCAxMjAsIDc3LCAxOTksIDI0OCwgMTU2LCAKKyAgICAxNDAsIDI0MSwgMjU1LCAyLCAyNTIsIDEzOSwgMTI0LCAyNTIsIDQzLCAxOTksIDI0OCwgMTU2LCA5NywgMjQxLCAyNTUsIDIsIAorICAgIDI1MiwgMTM5LCAxMjAsIDc3LCAxOTksIDI0OCwgMTU2LCA5NywgMjQxLCAyNTUsIDIsIDI1MiwgMTM5LCAxMjQsIDI1MiwgCisgICAgNDMsIDE5OSwgMjQ4LCAxNTYsIDIxNCwgMTUzLCAyNDEsIDI1NSwgMiwgMjUyLCAxMzksIDQzLCAyNTIsIDMwLCAyNDYsIAorICAgIDEwNCwgMjQxLCAyNTUsIDIsIDI1MiwgMTM5LCAyMjIsIDI1MSwgMjQ2LCAxMDQsIDI0MSwgMjU1LCAyLCAyNTIsIDEzOSwgCisgICAgNDMsIDI1MiwgMzAsIDIxNCwgMTUzLCAyNDEsIDI1NSwgMiwgMjUyLCAxMzksIDIyMiwgMjUxLCA0NCwgNTIsIDgwLCAyLCAKKyAgICAyMjIsIDE4MywgMjQxLCAyMzUsIDI0NSwgOTgsIDUsIDc3LCA5NywgNzQsIDIxNiwgODksIDIyNiwgMTY4LCA3NywgOTcsIAorICAgIDc0LCAxNDAsIDgwLCA3NywgMjE2LCA4OSwgMjI2LCAxNjcsIDk3LCA4MCwgNzcsIDIxNiwgODksIDIyNiwgMTY3LCA5NywgCisgICAgODAsIDc3LCAyNTQsIDE0OCwgMTI4LCAxMTEsIDIzMywgMTUsIDc3LCAxNDAsIDc0LCAxNDAsIDgwLCAyMTYsIDEzOSwgMjMzLCAKKyAgICAxNCwgMjQyLCAxMzAsIDc3LCA5NywgNzQsIDIxOCwgNjQsIDc3LCA5NywgNzQsIDE0MCwgODAsIDIxNiwgMTM5LCAyMTgsIAorICAgIDYzLCAyMTgsIDIyLCA3NywgMTQwLCA3NCwgNDMsIDI0NCwgOTEsIDIxNywgNzcsIDQ0LCAyNDQsIDkxLCAyMTcsIDc3LCAKKyAgICAxMjAsIDI0NCwgOTEsIDIxNywgNzcsIDEyNCwgMjQ0LCA5MSwgMjE3LCA3NywgMjE1LCAyMTEsIDY3LCAyNTIsIDE0MSwgCisgICAgMjQ4LCA2MCwgMjEwLCAxNjAsIDE4NywgMjE4LCAyNDIsIDIxMCwgMTYwLCAxODcsIDIxNSwgNDksIDI0OSwgMjI2LCA0MywgCisgICAgNzEsIDI0OSwgOTksIDEyNywgNDQsIDcxLCAyNDksIDk5LCAxMjcsIDQzLCA3MSwgMjI2LCAzLCA0NCwgNzEsIDIyNiwgMywgCisgICAgMjEwLCAxNjAsIDE4NywgNDMsIDIzNiwgMTUsIDEyNywgMjEwLCAxNjAsIDE4NywgNDQsIDIzNiwgMTUsIDEyNywgMjEwLCAKKyAgICAxNjAsIDE4NywgNDMsIDI1MSwgMjQyLCAxMjcsIDIxMCwgMTYwLCAxODcsIDQ0LCAyNTEsIDI0MiwgMTI3LCA0MywgNDIsIAorICAgIDI1MSwgMTU4LCAyLCAyMTQsIDE4MywgNDQsIDQyLCAyNTEsIDE1OCwgMiwgMjE0LCAxODMsIDQzLCA0MiwgMjUxLCAxNTgsIAorICAgIDIsIDIxNiwgMTE1LCAyMzYsIDAsIDIxNiwgMTQsIDI0OSwgMTYwLCA0NCwgNDIsIDI1MSwgMTU4LCAyLCAyMTYsIDExNSwgCisgICAgMjM2LCAwLCAyNTEsIDE3NSwgMjQ5LCAxNjAsIDQzLCA0MiwgMjUxLCAxNTgsIDIsIDIxNiwgMTE1LCAyMzYsIDAsIDI1MSwgCisgICAgMTc1LCAyNDksIDE2MCwgNDQsIDQyLCAyNTEsIDE1OCwgMiwgMjE2LCAxMTUsIDIzNiwgMCwgMjE2LCAxNCwgMjQ5LCAxNjAsIAorICAgIDQzLCAyNTQsIDExMCwgMjUxLCAxNTgsIDIsIDI0NywgMTIwLCA0NCwgMjU0LCAxMTAsIDI1MSwgMTU4LCAyLCAyNDcsIDEyMCwgCisgICAgNDMsIDI1NCwgMjYsIDIzMywgMTUsIDEyNywgNDQsIDI1NCwgMjYsIDI0MiwgMTMwLCAxMjcsIDUyLCA0MywgMjU0LCAyNiwgCisgICAgMjQyLCAxMzAsIDEyNywgNTIsIDQ0LCAyNTQsIDI2LCAyMzMsIDE1LCAxMjcsIDQzLCA4NSwgMjE2LCA2LCAyMjAsIDUzLCAKKyAgICAxMjcsIDQ0LCA4NSwgMjE2LCA2LCAyMjAsIDUzLCAxMjcsIDI0NiwgMTE4LCAyNDQsIDEzNSwgNjcsIDIxMCwgMzUsIDIzMiwgCisgICAgMjEzLCAyMzEsIDg4LCAyNTQsIDExMCwgMjI2LCAxNzAsIDIzMywgNDYsIDQ0LCAyNTQsIDExMCwgMjE0LCAxMiwgMiwgMjE4LCAKKyAgICAyMzQsIDIzMSwgODgsIDQ0LCAyNTQsIDExMCwgMiwgMjQ3LCAxMjAsIDI1NCwgMTEwLCAyLCAyMjIsIDkyLCAyMzUsIDIxNSwgCisgICAgMjU1LCAzLCAyNTQsIDEwOSwgMjE4LCAyNTUsIDI1NCwgMTEwLCAyMjYsIDE3MCwgMjMzLCA0NiwgMjE4LCAyNTUsIDI1NCwgCisgICAgMTEwLCAyMjYsIDE3MCwgMjE0LCAxNjMsIDIxNSwgOTQsIDI1NCwgMTA5LCAyMjMsIDQ5LCAyNTQsIDEwOSwgMjU0LCAxMTAsIAorICAgIDIsIDIxNCwgMTgzLCAyMjMsIDQ5LCAyNTQsIDExMCwgMiwgMjE0LCAxODMsIDIyNiwgMjQ4LCAyNTQsIDExMCwgMjI2LCAKKyAgICAxNzAsIDIxNCwgMTYzLCAyMjYsIDI0OCwgMjU0LCAxMTAsIDIyNiwgMTcwLCAyNDYsIDEwNiwgMjMxLCA4OCwgMjU0LCAxMTAsIAorICAgIDIsIDIwNCwgMjU0LCA1LCAyNDUsIDE0MCwgMjM2LCAwLCA4MCwgMjI1LCA3LCAxMjAsIDIyLCAyMjIsIDI1MSwgMjMxLCA4OCwgCisgICAgMjU0LCAxMTAsIDIsIDIwNCwgMjU0LCA1LCAyNDUsIDE0MCwgMjM2LCAwLCA4MCwgMjI1LCA3LCAxMjAsIDIyLCAyMzMsIDQ2LCAKKyAgICAyMzEsIDg4LCAyNTQsIDExMCwgMiwgMjA0LCAyNTQsIDUsIDI0NSwgMTQwLCAyMzYsIDAsIDgwLCAyMjUsIDcsIDEyNCwgMjIsIAorICAgIDIyMiwgMjUxLCAyMzEsIDg4LCAyNTQsIDExMCwgMiwgMjA0LCAyNTQsIDUsIDI0NSwgMTQwLCAyMzYsIDAsIDgwLCAyMjUsIAorICAgIDcsIDEyNCwgMjIsIDIzMywgNDYsIDIzMSwgODgsIDI1NCwgMTEwLCAyLCAyMDQsIDI1NCwgNSwgMjQ1LCAxNDAsIDIzNiwgMCwgCisgICAgODAsIDIyNSwgNywgNDQsIDIyLCAyMTQsIDE2MywgMjMxLCA4OCwgMjU0LCAxMTAsIDIsIDIwNCwgMjU0LCA1LCAyNDUsIAorICAgIDE0MCwgMjM2LCAwLCA4MCwgMjI1LCA3LCA0MywgMjIsIDIxNCwgMTYzLCAyMzEsIDg4LCAyNTQsIDExMCwgMiwgMjA0LCAKKyAgICAyNTQsIDUsIDI0NSwgMTQwLCAyMzYsIDAsIDgwLCAyMjUsIDcsIDQ0LCAyMiwgMjQ2LCAxMDYsIDIzMSwgODgsIDI1NCwgCisgICAgMTEwLCAyLCAyMDQsIDI1NCwgNSwgMjQ1LCAxNDAsIDIzNiwgMCwgODAsIDIyNSwgNywgNDMsIDIyLCAyNDYsIDEwNiwgMjIzLCAKKyAgICA0OSwgMjQ1LCAxNTIsIDIyMCwgMTI3LCAyNDUsIDE1MiwgMjIwLCAxMjgsIDIsIDIyNiwgMTIzLCAyNDUsIDE1MiwgMjIwLCAKKyAgICAxMjgsIDIsIDQsIDI1MCwgMzYsIDQ4LCAyNDUsIDE1MiwgMjIwLCAxMjgsIDIsIDQ0LCA4MCwgNDgsIDI0NSwgMTUyLCAyMjAsIAorICAgIDEyOCwgMiwgNDMsIDgwLCA0OCwgMjUwLCAzNiwgMiwgMjAzLCAxMzAsIDM3LCA2NywgMTMwLCAzNywgMjI2LCA3LCAzNywgCisgICAgMjIzLCA1MCwgMjE5LCA0NiwgMzcsIDIyNSwgMTcxLCAyNTAsIDM2LCAyNDcsIDE3MywgMjUxLCA3OCwgMjAzLCAyNTIsIAorICAgIDE0MSwgMjIsIDIxNiwgMTQsIDE2MywgMjQ3LCAxNzMsIDI1MSwgNzgsIDY3LCAxMzAsIDI1MCwgMzYsIDIsIDIxOCwgMjQsIAorICAgIDIxMSwgMTc4LCAzNywgMjU0LCA4NywgMjQ3LCAxNjksIDUwLCAxMjAsIDgwLCAyMTYsIDEzOSwgMjUwLCAzNSwgMzcsIDcxLCAKKyAgICAyNTEsIDExMywgMzcsIDI1MSwgMTEzLCAzNywgMjMzLCAxNCwgMzcsIDI0MiwgMTI5LCAyNTAsIDM2LCAyLCA0LCAyNTAsIAorICAgIDM2LCAyMTYsIDQyLCAyMTYsIDE5NiwgMjIyLCAyNTEsIDI1MCwgMzYsIDIsIDExMywgMjAzLCAyMTgsIDkxLCAyMTYsIDQyLCAKKyAgICAyMTYsIDE5NiwgMjIyLCAyNTEsIDkyLCAyMjIsIDIyOCwgMjQ3LCAyNTUsIDIxOSwgOTUsIDkyLCAyNDQsIDE3NSwgMjQ3LCAKKyAgICAyNTUsIDIxOSwgOTUsIDkyLCAyNTMsIDIxNiwgOTIsIDQsIDI1MCwgMzUsIDkyLCAyMTgsIDIzNCwgMTEzLCAyMzUsIDY1LCAKKyAgICAyMTgsIDIzMiwgMjE1LCAyMjYsIDIsIDU5LCA0OCwgMjE1LCAyMjYsIDIsIDIxNCwgMTgzLCAyMjIsIDkyLCAyMzYsIDAsIAorICAgIDIxNSwgMjI1LCAyMTUsIDIyNiwgMiwgMjIwLCAxMzQsIDI1MywgMjA3LCAyNTEsIDE3NCwgNDQsIDIxNSwgMjI2LCA3NywgCisgICAgNDMsIDIxNSwgMjI1LCA0MywgMjE1LCAyMjYsIDI1MiwgMzAsIDY3LCAxMzAsIDY3LCAyNTIsIDE0MSwgMjUyLCAzMCwgNDQsIAorICAgIDIxNSwgMjI1LCAyNTEsIDE2NSwgMiwgNDMsIDE2MywgMjUxLCAyMjEsIDI1MSwgMTY1LCAyLCA0NCwgMTYzLCAyNTEsIDIyMSwgCisgICAgODUsIDI1MSwgMTY0LCAzMCwgMiwgNDMsIDE2MywgMjUxLCAyMjEsIDMwLCAyLCA0NCwgMTYzLCAyNTEsIDIyMSwgNzEsIAorICAgIDI0MCwgMjM2LCA4NSwgMjQwLCAyMzYsIDQzLCAyMTEsIDI0NCwgMjQ0LCAxMzUsIDQ0LCAyMTEsIDI0NCwgMjQ0LCAxMzUsIAorICAgIDQzLCA1MiwgMjExLCAyNDQsIDI0NCwgMTM1LCA0NCwgNTIsIDIxMSwgMjQ0LCAyNDQsIDEzNSwgMjM1LCAyNDgsIDIzNSwgCisgICAgMjM0LCAyMTYsIDExMiwgMTE3LCAyMzUsIDIzNCwgMjM1LCAyMzUsIDIyOSwgMTAyLCAyLCA2NywgMTMwLCAyNDYsIDExMiwgCisgICAgMjMwLCA4NywgNDIsIDIsIDI0OSwgMTgxLCAyMjYsIDEyNywgMjM1LCAyNDYsIDI1MywgMjM3LCAyMTksIDIxOSwgMjI0LCAKKyAgICAxODAsIDI0NSwgOTgsIDUsIDIyLCAyMTksIDk3LCAyMjYsIDcsIDI0NSwgOTgsIDUsIDIyLCAyMTksIDk3LCAyMjYsIDgsIDIsIAorICAgIDIxNiwgODksIDQ4LCAyNDAsIDEwNCwgMjE2LCA0MiwgMjIsIDIxOSwgOTcsIDIyNiwgNywgMjQyLCAxODMsIDIxOCwgMTU1LCAKKyAgICAyMTYsIDE4NSwgMjQ2LCAxMDUsIDIxNSwgMjI2LCAyLCA0MywgMTYzLCAyNTEsIDIyMSwgMjQ2LCAxMDUsIDIxNSwgMjI2LCAKKyAgICAyLCA0NCwgMTYzLCAyNTEsIDIyMSwgODUsIDI0NywgMjQ5LCAyLCAxMjQsIDc0LCA4NSwgMjMyLCAxMDQsIDcxLCAyNTAsIAorICAgIDM2LCAyLCAxMjQsIDc0LCA4NSwgMjUwLCAzNiwgMiwgMTI0LCA3NCwgMjQ1LCA4NSwgNzEsIDIxOCwgMjM0LCAyNDUsIDg1LCAKKyAgICA4NSwgMjE4LCAyMzQsIDI0NSwgODUsIDcxLCAyNDcsIDI0OCwgMjQ1LCA4NSwgODUsIDI0NywgMjQ4LCAyNDUsIDg1LCA3MSwgCisgICAgMjUwLCAzNSwgMjQ1LCA4NSwgODUsIDI1MCwgMzUsIDIyMiwgMTMyLCAyMjMsIDUwLCAyMTksIDQ3LCAyMjYsIDE2NywgMjE5LCAKKyAgICA0NywgMiwgMjI2LCAxMjMsIDIyMywgNTAsIDIxOSwgNDcsIDIsIDIwMywgOTEsIDI1MSwgMjQ5LCAyMTksIDQ2LCAyNTEsIAorICAgIDI0OSwgMjIzLCA1MCwgMjE5LCA0NiwgNTIsIDIyNSwgMjIsIDIxNSwgMjExLCAyMjUsIDIyLCAyMzMsIDQyLCAyNDksIDkxLCAKKyAgICAyNTQsIDExMCwgMTI3LCAyMjIsIDI0NywgMjQ5LCA5MSwgMjU0LCAxMTAsIDEyNywgMjE2LCA3OCwgMjMwLCAxNzksIDIzMCwgCisgICAgMjQsIDM3LCA1OSwgMjI2LCAxNjcsIDIzMCwgMjQsIDM3LCA5NiwgMjI2LCAxNjcsIDIzMCwgMjQsIDM3LCAzMCwgMjI2LCAKKyAgICAxNjcsIDIzMCwgMjQsIDIxNCwgMTc2LCAyMjYsIDE2OCwgMiwgMjQ3LCAxMjAsIDIzMCwgMjQsIDIxNCwgMTc2LCAyMjYsIAorICAgIDE2OCwgMiwgMjI1LCAyMiwgMjMwLCAyNCwgNDIsIDIzNSwgMTk5LCAyMjYsIDE2NywgMjMwLCAyNCwgNDIsIDIxNCwgMTc2LCAKKyAgICAyMjYsIDE2NywgMTEzLCAyMzIsIDE0NiwgMjIsIDIyNiwgMTY3LCAxMTMsIDIzMiwgMTQ2LCAxNzcsIDIyNiwgMTY3LCAyMzAsIAorICAgIDI0LCAzMCwgMjI2LCAxNjcsIDIzMCwgMTU0LCAxMTMsIDIxOCwgNDMsIDIxOCwgNDEsIDIsIDIzNSwgMjExLCAyMjQsIDI0LCAKKyAgICAyMzUsIDIxMiwgMjI2LCAxNjcsIDI0NCwgOTksIDIyNSwgMjU1LCAyMzUsIDIxMSwgMjM1LCAyMTIsIDIsIDUyLCA5MSwgCisgICAgMjM1LCAyMTIsIDI1MywgMTczLCAyLCAyMTksIDk1LCAyNTAsIDMyLCAyNDMsIDIyNiwgMjU0LCA4OCwgMjM1LCAyMDksIAorICAgIDIzMiwgMjE0LCAyMzUsIDIxMCwgMiwgMjIzLCAxMTUsIDIyNSwgMjM3LCAyNTQsIDIsIDIyNSwgMSwgMjMyLCAyMTQsIDIzNSwgCisgICAgMjEwLCAyLCAyMjAsIDE1MiwgMjI1LCAyMzcsIDI1NCwgMiwgMjI1LCAxLCAyMzIsIDIxNCwgMjM1LCAyMTAsIDIyOCwgNTIsIAorICAgIDIzNSwgMjUwLCAyMTYsIDE5NiwgMjI1LCAxLCAyMzUsIDIxMiwgMjU0LCAyLCAxMTUsIDIyNSwgMTEsIDIyNiwgMTY3LCAKKyAgICAyMjQsIDE4LCAyMzUsIDIxMiwgMjI2LCAxNjcsIDIzNSwgMjEyLCAyLCAxNDAsIDgwLCAyLCAxMDMsIDIzNSwgMjEyLCAyLCAKKyAgICAzMCwgNTAsIDIzNSwgMjEyLCAyLCAyMzUsIDE5OCwgMjM1LCAyMTIsIDIsIDIxNCwgMTc1LCAyMzUsIDIxMiwgMiwgMjI2LCAKKyAgICAxMjMsIDIzNSwgMjEyLCAyLCAyMTQsIDE4MywgMjM1LCA2NiwgMjMzLCA4NSwgNDMsIDIxNSwgMjI2LCAyMjYsIDE2NywgCisgICAgMjEwLCAxNjAsIDE4NywgMjIxLCAyMDEsIDI0OSwgMjA5LCAyMTAsIDE2MCwgMTg3LCAyMjEsIDIwMSwgMjI1LCA1NiwgMjEwLCAKKyAgICAxNjAsIDE4NywgMjIxLCAyMDEsIDIyNCwgMTc2LCA5NiwgNSwgMiwgNCwgMjUwLCAzNiwgNDgsIDk2LCA1LCAyLCAyNTAsIAorICAgIDMxLCAyNTUsIDE1LCA0OCwgOTYsIDUsIDIsIDIxNiwgODksIDQ4LCA5NiwgNSwgMiwgNTksIDUxLCA5NiwgNSwgMiwgMjE2LCAKKyAgICA4OSwgNTEsIDk2LCA1LCAyLCAyMTgsIDY1LCAxMDUsIDk2LCA1LCAyLCA4NSwgMjE1LCAyMjUsIDIzMCwgMTgyLCA1LCAyLCAKKyAgICAyNDksIDIyMCwgNDgsIDIzMCwgMTgyLCA1LCAyLCA1OSwgNTEsIDIzMCwgMTgyLCA1LCAyLCAyNDQsIDE3NSwgMjQ3LCAxMTgsIAorICAgIDIzMCwgMTgyLCA1LCAyLCAyMjIsIDIyOCwgMjQ3LCAxMTgsIDk2LCA1LCAyMzYsIDAsIDQzLCAxNjMsIDI1MCwgMzUsIDk2LCAKKyAgICA1LCAyMzYsIDAsIDQ0LCAxNjMsIDI1MCwgMzUsIDIxMywgMjU0LCAxNzcsIDI0OSwgMTMxLCAyMjQsIDE4MCwgMjMwLCA4NCwgCisgICAgNSwgMiwgNTksIDQ4LCAyMzAsIDg0LCA1LCAyLCAyMTQsIDE4MywgMjIwLCAxNDksIDIyNCwgMTgxLCAyLCAyNTEsIDE3NSwgCisgICAgMjQ5LCAyNTUsIDIxOSwgNzcsIDIyNCwgMTgwLCAyMzAsIDg0LCA1LCAyMzYsIDAsIDQzLCAxNjMsIDI1MCwgMzUsIDIzMCwgCisgICAgODQsIDUsIDIzNiwgMCwgNDQsIDE2MywgMjUwLCAzNSwgMzcsIDIzMCwgODQsIDUsIDIsIDI1MCwgMzEsIDI1NSwgMTQsIAorICAgIDIzMCwgODQsIDUsIDIzNiwgMCwgNTIsIDI1MCwgMzUsIDM3LCAyNDcsIDE2OSwgNTAsIDk2LCA1LCAyMzYsIDAsIDIxNSwgCisgICAgMjI1LCAyMzAsIDE4MiwgNSwgMjM2LCAwLCAyMTUsIDIyNSwgMjMwLCA4NCwgNSwgMjM2LCAwLCAyMTUsIDIyNSwgMjM1LCAKKyAgICAyMDYsIDIyNCwgMTgwLCAyMjIsIDI0MiwgMjM1LCAyMDYsIDIyNCwgMTgwLCAyMTAsIDE2MCwgMTg3LCAyMjMsIDkwLCAyNDksIAorICAgIDIwOSwgMjU0LCAxMzQsIDE3NywgMjQ5LCAxNjUsIDIzNSwgMTk5LCAyLCAyNDcsIDEyMCwgMjE0LCAxNzYsIDIsIDIzMCwgCisgICAgMTgyLCA1MCwgMjE0LCAxNzYsIDIsIDIyNiwgMTIzLCAyMzUsIDE5OSwgMiwgMjI2LCAxMjMsIDIzNSwgMTk5LCAyLCAyMzIsIAorICAgIDE0NiwgMjU0LCAxMTgsIDIxNCwgMTc2LCAyLCAyMzIsIDE0NiwgMjI2LCAxNTgsIDIxNCwgMTc2LCA3NywgMjM1LCAxOTgsIAorICAgIDIzNSwgMTk5LCA3NywgMjE0LCAxNzUsIDIxNCwgMTc2LCA3NywgMjUyLCAxNDEsIDc3LCAyMzUsIDE5OCwgMjM1LCAxOTksIAorICAgIDc3LCAyNTIsIDE0MSwgNzcsIDIxNCwgMTc1LCAyMTQsIDE3NiwgMjUyLCAzMCwgMjIsIDIzNSwgNjUsIDIsIDIxNCwgMTc1LCAKKyAgICAyMzUsIDE5OSwgMjUyLCAzMCwgMjIsIDIzNSwgNjUsIDIsIDIzNSwgMTk4LCAyNTAsIDAsIDIxNCwgMTc2LCAyLCAyMjAsIAorICAgIDEzMywgMjUwLCAwLCAyMzUsIDE5OSwgMiwgMjIwLCAxMzMsIDUyLCA0MiwgMjM1LCAxOTgsIDUyLCA0MiwgMjE0LCAxNzUsIAorICAgIDI1MCwgMCwgMjE0LCAxNzYsIDIsIDIyMCwgMTM0LCAyMiwgMjE5LCA3NywgMjI0LCAxODAsIDIzMiwgMTQ2LCAyMiwgMiwgCisgICAgNTksIDQ4LCAyMzIsIDE0NiwgMTc3LCAyLCA1OSwgNDgsIDUyLCAyMzIsIDE0NiwgMjU0LCAxMTgsIDUyLCAyMzIsIDE0NiwgCisgICAgMjI2LCAxNTgsIDExMywgMjM1LCAyMDAsIDIzMiwgMTQ2LCAyNTQsIDExOCwgMTEzLCAyMzUsIDIwMCwgMjMyLCAxNDYsIAorICAgIDIyNiwgMTU4LCAyMTksIDg1LCAyMzMsIDg1LCAyMjYsIDE1OCwgMjE5LCA4NSwgMjMzLCA4NSwgMjU0LCAxMTgsIDIzMiwgCisgICAgMTQ2LCAxNzcsIDIyNiwgMTIxLCAyMzIsIDE0NiwgMjU0LCAxMTgsIDIzMiwgMTQ2LCAyMiwgMiwgMjMwLCAyMjQsIDIxOCwgCisgICAgMTM5LCAyMzIsIDE0NiwgMTc3LCAyLCAyMzAsIDIyNCwgMjE4LCAxMzksIDIzMiwgMTQ2LCAyMiwgMiwgMjAzLCAyNDgsIAorICAgIDE1NiwgMjMyLCAxNDYsIDE3NywgMiwgMjAzLCAyNDgsIDE1NiwgMjMyLCAxNDYsIDIyLCAyLCA1MiwgMjI2LCAxMjMsIDIzMiwgCisgICAgMTQ2LCAyMiwgMiwgMjE0LCAxODMsIDIzMiwgMTQ2LCAyMiwgMiwgNTIsIDIxNCwgMTgzLCA0LCAyMTMsIDI1MSwgMiwgMjE0LCAKKyAgICAxODMsIDIzMiwgMTQ2LCAxNzcsIDIsIDUyLCAyMjYsIDEyMywgMjMyLCAxNDYsIDE3NywgMiwgNTIsIDIxNCwgMTgzLCAyMTAsIAorICAgIDE2MCwgMTg3LCAyNDcsIDEyOSwgMjU0LCA3OSwgMjEwLCAxNjAsIDE4NywgMjIzLCAxNDgsIDI1NCwgNzksIDI0NSwgOTgsIAorICAgIDUsIDIsIDU5LCA1MSwgMjQwLCAxMDQsIDIsIDU5LCA0OCwgMjE1LCAyMTEsIDIwMywgMjUyLCAxNDEsIDIsIDUyLCA2NywgCisgICAgOTEsIDIxNSwgMjExLCAyMDMsIDI1MiwgMTQxLCAyLCAyMTUsIDIxMSwgNjcsIDkxLCAyMTYsIDg5LCAyMjYsIDE2OCwgMiwgCisgICAgNTksIDQ4LCAyMTYsIDg5LCAyMjYsIDE2OCwgMiwgMjIyLCAyMjgsIDI0NywgMTE4LCAyMTksIDE2MiwgMjMwLCAxODIsIAorICAgIDIxOSwgMTYxLCAyNDksIDE5OSwgMiwgNTksIDQ4LCAyNDUsIDk4LCAyLCAyNTMsIDIxNiwgMjU0LCAxNDgsIDEyOCwgMjE2LCAKKyAgICA0MiwgMiwgMjUwLCAzMSwgMjU1LCAxNCwgMjU0LCA0OCwgMTI4LCAxNzcsIDEyOCwgMTExLCAyNDUsIDk4LCA1LCA3NywgOTYsIAorICAgIDUwLCA5NiwgNSwgNzcsIDI0NSwgOTgsIDUwLCAyNDUsIDk4LCA1LCA3NywgMjE2LCA4OSwgMjI2LCAxNjcsIDUyLCAyNDksIAorICAgIDIyNywgMjQ1LCA5OSwgMTEzLCAyNDksIDE5NCwgMjQ1LCA5OCwgMjE5LCAxNzYsIDEzNCwgMjQ5LCAxOTQsIDI0NSwgOTgsIAorICAgIDIxOSwgMTc2LCAyNDUsIDk4LCA1LCAyLCAxMTMsIDE3MCwgNzcsIDIyLCAxMTMsIDE3MCwgNTEsIDI0NSwgOTQsIDIsIDI0NCwgCisgICAgMTEsIDE3MCwgNDgsIDIzMywgMTUsIDIsIDI1MCwgMzYsIDIzNSwgMjE1LCAyNDIsIDEzMCwgMiwgMjUwLCAzNiwgMjM1LCAKKyAgICAyMTUsIDIzMywgMTUsIDIsIDIyNCwgMTMsIDE2NCwgNDgsIDI0MiwgMTMwLCAyLCAyMjQsIDEzLCAxNjQsIDQ4LCAyMzMsIAorICAgIDE1LCAxNzcsIDIxOSwgOTcsIDEyOCwgMTExLCAyNDIsIDEzMCwgMTc3LCAyMTksIDk3LCAxMjgsIDExMSwgMjMzLCAxNSwgCisgICAgMTc3LCAyMTksIDk3LCAxMjgsIDIxNiwgNDIsIDIsIDU5LCAyMzUsIDIxNSwgMjQyLCAxMzAsIDE3NywgMjE5LCA5NywgMTI4LCAKKyAgICAyMTYsIDQyLCAyLCA1OSwgMjM1LCAyMTUsIDIzMywgMTUsIDE3NywgMjE5LCA5NywgMTI4LCAyMTYsIDQyLCAyLCA1OSwgNDgsIAorICAgIDI0MiwgMTMwLCAxNzcsIDIxOSwgOTcsIDEyOCwgMjE2LCA0MiwgMiwgNTksIDQ4LCAyMzMsIDE1LCAxNzcsIDIxOSwgOTcsIAorICAgIDEyOCwgMjE2LCA0MiwgMiwgNTksIDc3LCAyMjIsIDI1MSwgMjQyLCAxMzAsIDE3NywgMjE5LCA5NywgMTI4LCAyMTYsIDQyLCAKKyAgICAyLCA1OSwgNzcsIDIzMywgNDYsIDIzMywgMTUsIDE3NywgMjU0LCA0OSwgMjQyLCAxMzAsIDE3NywgMjU0LCA0OSwgMjMzLCAKKyAgICAxNSwgMjIsIDIxOSwgMTUzLCAyMjgsIDUyLCAxMjgsIDExMSwgMjQyLCAxMzAsIDIyLCAyMTksIDE1MywgMjI4LCA1MiwgCisgICAgMTI4LCAxMTEsIDIzMywgMTUsIDIyLCAyMjgsIDUyLCAyNTQsIDQ5LCAyNDIsIDEzMCwgMjIsIDIyOCwgNTIsIDI1NCwgNDksIAorICAgIDIzMywgMTUsIDc3LCAyNDYsIDExMSwgMTI4LCA3NywgMjQyLCAxMjksIDI0MiwgMTMwLCA3NywgMjQ2LCAxMTEsIDEyOCwgCisgICAgNzcsIDIzMywgMTQsIDIzMywgMTUsIDc3LCAyMTksIDE2MiwgMTc3LCAyNDUsIDk5LCAyNDIsIDEzMCwgNzcsIDIxOSwgMTYyLCAKKyAgICAxNzcsIDI0NSwgOTksIDIzMywgMTUsIDc3LCAyMTksIDE2MiwgNzcsIDI0MiwgMTI5LCAyNDIsIDEzMCwgNzcsIDIxOSwgCisgICAgMTYyLCA3NywgMjMzLCAxNCwgMjMzLCAxNSwgNzcsIDI0MiwgMTMwLCA3NywgMjQ2LCAxMTEsIDI0NSwgOTksIDI0MiwgMTMwLCAKKyAgICA3NywgMjMzLCAxNSwgNzcsIDI0NiwgMTExLCAyNDUsIDk5LCAyMzMsIDE1LCA3NywgMjE5LCA5NywgMTI4LCA3NywgMjQyLCAKKyAgICAxMzAsIDc3LCAyMTksIDk3LCAyNDUsIDk5LCAyNDIsIDEzMCwgNzcsIDIxOSwgOTcsIDEyOCwgNzcsIDIzMywgMTUsIDc3LCAKKyAgICAyMTksIDk3LCAyNDUsIDk5LCAyMTksIDk3LCAxMjgsIDIxNiwgNDIsIDE3NywgMjMzLCAxNCwgMjE5LCA5NywgMTI4LCAyMTYsIAorICAgIDQyLCAxNzcsIDI0MiwgMTI5LCAyMTksIDk3LCAxMjgsIDIxNiwgNDIsIDE3NywgMjMzLCAxNSwgMiwgNTksIDIzNSwgMjE1LCAKKyAgICAyMTksIDk3LCAxMjgsIDIxNiwgNDIsIDE3NywgMjQyLCAxMzAsIDIsIDU5LCAyMzUsIDIxNSwgMjQ2LCAxMTEsIDEyOCwgCisgICAgMjE2LCA0MiwgMTc3LCAyMzMsIDE0LCAyNDYsIDExMSwgMTI4LCAyMTYsIDQyLCAxNzcsIDI0MiwgMTI5LCAyNDYsIDExMSwgCisgICAgMjE5LCA5NywgMTI4LCAyMTYsIDQyLCAxNzcsIDIzMywgMTQsIDI0NiwgMTExLCAyMTksIDk3LCAxMjgsIDIxNiwgNDIsIAorICAgIDE3NywgMjQyLCAxMjksIDIxOSwgMTYyLCAxNzcsIDIzMywgMTQsIDIxOSwgMTYyLCAxNzcsIDI0MiwgMTI5LCAyMTksIDE2MiwgCisgICAgNzcsIDIzMywgMTUsIDc3LCAyNDUsIDk4LCA1MCwgMjE5LCAxNjIsIDc3LCAyNDIsIDEzMCwgNzcsIDI0NSwgOTgsIDUwLCAKKyAgICA1MiwgMjI5LCA5MSwgMjMzLCAxNCwgNTIsIDIyOSwgOTEsIDI0MiwgMTI5LCA1MiwgMjI5LCA5MSwgMjMzLCAxNSwgMiwgCisgICAgMjE0LCAxODMsIDI0MiwgMTMwLCAyMjYsIDEyMSwgMjMzLCAxNCwgMjQyLCAxMzAsIDI1MiwgMzAsIDIzMywgMTQsIDIzMywgCisgICAgMTUsIDI1MCwgMCwgMjUxLCA3OCwgMjQ5LCA5MiwgMjQyLCAxMzAsIDI1MCwgMCwgMjUxLCA3OCwgMjQ5LCA5MiwgMjMzLCAKKyAgICAxNSwgMjUwLCAwLCAyNTEsIDc4LCAyNDksIDkzLCA3NywgMjE5LCA5NywgMjQ1LCA5OSwgMjQyLCAxMzAsIDI1MCwgMCwgCisgICAgMjUxLCA3OCwgMjQ5LCA5MywgNzcsIDIxOSwgOTcsIDI0NSwgOTksIDIxOSwgNzgsIDIxNiwgMjAwLCAyMzMsIDgzLCAyMTYsIAorICAgIDIwMCwgMjE5LCA3OCwgMjE2LCAyMDEsIDE3NywgMTI4LCAxMTEsIDIzMywgODMsIDIxNiwgMjAxLCAxNzcsIDEyOCwgMTExLCAKKyAgICAyNDUsIDk4LCA1LCAyLCAyNTEsIDEwOCwgNDgsIDIyNCwgMjAzLCA3NywgMjE5LCAxNTMsIDI0NSwgOTgsIDUwLCAyMTgsIAorICAgIDU2LCA3NywgMjE5LCAxNTMsIDI0NSwgOTgsIDUwLCAyMjQsIDIwMywgNzcsIDIxOSwgMTUzLCAyMjgsIDUyLCAxMjgsIDExMSwgCisgICAgMjE4LCA1NiwgNzcsIDIxOSwgMTUzLCAyMjgsIDUyLCAxMjgsIDExMSwgMjI0LCAyMDMsIDc3LCAyNDUsIDk4LCA1MCwgMjE4LCAKKyAgICA1NiwgNzcsIDI0NSwgOTgsIDUwLCAyMjQsIDIwMywgNzcsIDIyOCwgNTIsIDEyOCwgMTExLCAyMTgsIDU2LCA3NywgMjI4LCAKKyAgICA1MiwgMTI4LCAxMTEsIDIyNCwgMjAzLCA3NywgMjU0LCAxNDgsIDEyOCwgMTExLCAyMTgsIDU2LCA3NywgMjU0LCAxNDgsIAorICAgIDEyOCwgMTExLCAyMjQsIDIwMywgNzcsIDIyOCwgNTIsIDI1NCwgMTQ4LCAxMjgsIDExMSwgMjE4LCA1NiwgNzcsIDIyOCwgCisgICAgNTIsIDI1NCwgMTQ4LCAxMjgsIDExMSwgNTIsIDIyNCwgMjAyLCA1MiwgMjE4LCA1NSwgMjE4LCA2NCwgMiwgMjQ3LCAxMjAsIAorICAgIDIxOCwgMjIsIDIsIDI0NywgMTIwLCAyMTgsIDY0LCAyLCA5NiwgNSwgNTEsIDIxOCwgMjIsIDIsIDk2LCA1LCA1MSwgMjE4LCAKKyAgICA2NCwgMiwgMjMwLCA4NCwgNSwgNTEsIDIxOCwgMjIsIDIsIDIzMCwgODQsIDUsIDUxLCAyMTgsIDY0LCA2NCwgMTc3LCAxMjgsIAorICAgIDIxNiwgNDIsIDIsIDU5LCA0OCwgMjE4LCAyMiwgNjQsIDE3NywgMTI4LCAyMTYsIDQyLCAyLCA1OSwgNDgsIDIxOCwgNjQsIAorICAgIDY0LCA3NywgMjQ1LCA5OCwgNTAsIDIxOCwgMjIsIDY0LCA3NywgMjQ1LCA5OCwgNTAsIDIxOCwgNjQsIDY0LCA3NywgMjE2LCAKKyAgICA4OSwgMjI2LCAxNjcsIDIxOCwgMjIsIDY0LCA3NywgMjE2LCA4OSwgMjI2LCAxNjcsIDIxOCwgNjQsIDY0LCA3NywgMjU0LCAKKyAgICAxNDgsIDEyOCwgMTExLCAyMTgsIDIyLCA2NCwgNzcsIDI1NCwgMTQ4LCAxMjgsIDExMSwgMjE4LCA2NCwgNjQsIDc3LCAyMjgsIAorICAgIDUyLCAxMjgsIDExMSwgMjE4LCAyMiwgNjQsIDc3LCAyMjgsIDUyLCAxMjgsIDExMSwgNDIsIDQzLCAyMDQsIDkzLCAyMjYsIAorICAgIDE2NywgNDIsIDQ0LCAyMDQsIDkzLCAyMjYsIDE2NywgMjUwLCAwLCAyMTgsIDYzLCAyNTAsIDAsIDIxOCwgMjEsIDI1MCwgMCwgCisgICAgMjE4LCA2NCwgMTc3LCAxMjgsIDExMSwgMjUwLCAwLCAyMTgsIDIyLCAxNzcsIDEyOCwgMTExLCAyMTgsIDY0LCA3NywgMjE4LCAKKyAgICAyMSwgMjE4LCAyMiwgNzcsIDIxOCwgNjMsIDIxOCwgNjQsIDc3LCAyMTgsIDYzLCAyMTgsIDIyLCA3NywgMjE4LCAyMSwgCisgICAgMjE4LCAyMiwgMjUyLCAzMCwgMjE4LCA2MywgMjE4LCAyMiwgMjUyLCAzMCwgMjIsIDIzNSwgNjUsIDI1MSwgNzgsIDI0OCwgCisgICAgMTU3LCAyLCAyMTgsIDYzLCAyNDUsIDE3MCwgNjQsIDIyNiwgMTcwLCAyNDYsIDEwMywgMjI1LCA0OCwgMiwgMjE3LCAxMiwgCisgICAgMjE2LCAxMywgMjE1LCAyNDAsIDIzNSwgMTk4LCAyNDQsIDIxLCAyMjgsIDY1LCAyMTksIDI1MSwgNDMsIDIxNywgODcsIAorICAgIDIxOSwgMjUxLCAxMjQsIDIxNywgODcsIDIxOSwgMjUxLCAxMjAsIDIxNywgODcsIDIyNSwgMTcyLCAyLCAyMjIsIDkxLCA2NywgCisgICAgMjUyLCAxNDEsIDIxNSwgMjExLCA0NCwgMjE1LCA5MywgNTIsIDY3LCAyNTIsIDE0MSwgNDMsIDIxNSwgOTMsIDY3LCAyNTIsIAorICAgIDE0MSwgNTIsIDQzLCAyMTUsIDkzLCA1MiwgNjcsIDI1MiwgMTQxLCA1MiwgNDMsIDIxNSwgOTMsIDE5OSwgMjQ4LCAxNTcsIAorICAgIDI0MywgMjQzLCA0MywgMjMxLCA2MywgNjQsIDUyLCAyMTMsIDIzOSwgMjE5LCAyNTEsIDEyNCwgMjE3LCA4OCwgMiwgMjI2LCAKKyAgICAxMjMsIDIxOSwgMjUxLCAxMjAsIDIxNywgODgsIDIsIDIxNCwgMTgzLCAyMTksIDI1MSwgMTIwLCAyMTcsIDg4LCA3NywgCisgICAgMjE5LCAyNTEsIDEyNCwgMjE3LCA4NywgNTIsIDEyNCwgMjE3LCA4NywgNTIsIDEyMCwgMjE3LCA4NywgNTIsIDIxOCwgMTAzLCAKKyAgICAyMjgsIDUyLCA1MCwgMjIzLCA0OSwgNTIsIDIxOCwgMTAzLCAyMjgsIDUyLCA1MCwgMjQ3LCAxMzgsIDIyOCwgNTIsIDI0NywgCisgICAgMTc1LCAyLCAyMjMsIDQ5LCAyMjksIDEwMSwgMjE5LCA5NSwgNjcsIDIzMiwgMjE0LCAyLCAyNTAsIDM2LCA0OCwgNjcsIAorICAgIDIzMiwgMjE0LCAyLCAyNTAsIDM2LCA1MSwgMTI0LCAyMTcsIDg4LCAyLCAyNTAsIDM2LCA1MSwgMjI2LCA4LCAyLCAyMDMsIAorICAgIDkxLCAyMjYsIDgsIDIsIDIxNiwgODksIDIyNiwgMTY3LCAyMTUsIDIxMSwgNjcsIDI1MiwgMTQxLCAyNTEsIDI0NCwgMjIzLCAKKyAgICA5MSwgMjE1LCAyMTEsIDY3LCAyNTIsIDE0MSwgMiwgMjAzLCA5MSwgMjE1LCAyMTEsIDI0OSwgMjI3LCAyMjYsIDE2NywgCisgICAgMjE1LCAyMTEsIDIyOSwgOTEsIDIzMywgMTQsIDIxNSwgMjExLCAyMjksIDkxLCAyNDIsIDEyOSwgMjQ2LCAxMTEsIDIxOSwgCisgICAgOTcsIDIzMywgMTUsIDE3NywgMTI4LCAxMTEsIDI0NiwgMTExLCAyMTksIDk3LCAyNDIsIDEzMCwgMTc3LCAxMjgsIDExMSwgCisgICAgMjE1LCAyMTEsIDIxOSwgNDcsIDI1MSwgMjQ0LCAyMjMsIDkxLCAyMzMsIDg1LCAyMTUsIDIxMSwgNjcsIDI1MiwgMTQxLCAKKyAgICAyMjYsIDE2NywgNTIsIDIxOSwgNDcsIDIyNiwgMTY3LCA3MSwgNjcsIDEzMCwgMjMwLCAyNCwgNzEsIDY3LCAxMzAsIDIyOCwgCisgICAgNTYsIDI0NSwgMjIwLCA3MSwgNzQsIDIyOCwgNTYsIDIxMiwgOSwgNzEsIDc0LCAyMTksIDI4LCAyNDUsIDIyMCwgNzEsIDc0LCAKKyAgICAyMTksIDI4LCAyMTIsIDksIDcxLCA3NCwgNDMsIDQ0LCA3MSwgNzQsIDE0MCwgODUsIDc0LCAyMTQsIDE1MywgODUsIDc0LCAKKyAgICAyNDYsIDEwNCwgODUsIDc0LCAyMjgsIDU2LCAyNDUsIDIyMCwgODUsIDc0LCAyMjgsIDU2LCAyMTIsIDksIDg1LCA3NCwgCisgICAgMjE5LCAyOCwgMjQ1LCAyMjAsIDg1LCA3NCwgMjE5LCAyOCwgMjEyLCA5LCA4NSwgNzQsIDQzLCA0NCwgODUsIDc0LCAxMjAsIAorICAgIDEyNCwgODUsIDc0LCA5NywgODAsIDIsIDIxNiwgNzcsIDI0NiwgMTAzLCA5NywgODAsIDIsIDIxNiwgNzcsIDIxNCwgMTUyLCAKKyAgICAxNDAsIDgwLCAyLCAyMTYsIDc3LCAyNDYsIDEwMywgMTQwLCA4MCwgMiwgMjE2LCA3NywgMjE0LCAxNTIsIDQyLCAyLCAyMTYsIAorICAgIDE0LCAxNjMsIDI1MSwgMjIxLCA0MiwgMiwgMjUxLCAxNzUsIDE2MywgMjUxLCAyMjEsIDQyLCAyLCAyMTQsIDE2MCwgNDQsIAorICAgIDI0NywgMjU1LCAxNjMsIDI1MSwgMjIxLCA0MiwgMiwgMjMyLCAxMDgsIDQzLCAyNDcsIDI1NSwgMTYzLCAyNTEsIDIyMSwgCisgICAgMjQ3LCAyNDksIDIsIDQzLCAxNjMsIDI1MSwgMjIxLCAyNDcsIDI0OSwgMiwgNDQsIDE2MywgMjUxLCAyMjEsIDI0NywgMjQ5LCAKKyAgICAyLCAyMTYsIDE0LCAxNjMsIDI1MSwgMjIxLCAyNDcsIDI0OSwgMiwgMjUxLCAxNzUsIDE2MywgMjUxLCAyMjEsIDI0NiwgCisgICAgMTE4LCAyMTgsIDIzNCwgODUsIDIzMywgODUsIDIxOCwgMjM0LCA3MSwgMjMzLCA4NSwgMjE4LCAyMzQsIDg1LCAyMTMsIAorICAgIDE4NywgNCwgMjE4LCAyMzQsIDcxLCAyMTMsIDE4NywgNCwgMjE4LCAyMzQsIDg1LCAyMjUsIDE5MCwgNzEsIDIyNSwgMTkwLCAKKyAgICA3MSwgMjQxLCAxOTMsIDg1LCAyNDEsIDE5MywgMjAzLCA4NSwgMjQxLCAxOTMsIDg1LCAyMzMsIDg1LCAyNTAsIDM1LCA4NSwgCisgICAgMjMxLCA4MiwgMjQ3LCAyNDgsIDcxLCAyMzEsIDgyLCAyNDcsIDI0OCwgODUsIDIzMSwgODIsIDIzMiwgMTA0LCA3MSwgMjMxLCAKKyAgICA4MiwgMjMyLCAxMDQsIDg1LCA0LCAyNDcsIDI0OCwgODUsIDQsIDIzMiwgMTA0LCA3MSwgNCwgMjMyLCAxMDQsIDg1LCAyMDMsIAorICAgIDI0NSwgMTY0LCA3MSwgMjAzLCAyNDUsIDE2NCwgODUsIDY3LCAyNDUsIDE2NCwgNzEsIDY3LCAyNDUsIDE2NCwgNDMsIDgwLCAKKyAgICAyLCA0LCAyNTAsIDM1LCAxMzQsIDE0MCwgMjUzLCAyNDcsIDQzLCA4MCwgMiwgMzcsIDIyNSwgMjIsIDE5OSwgMTQwLCAyMTgsIAorICAgIDIzMCwgNzQsIDE0MCwgMjE1LCA1OCwgODAsIDIsIDY3LCA5MSwgMTQwLCAyMTUsIDU4LCA4MCwgMiwgNTIsIDY3LCA5MSwgCisgICAgMTQwLCAyMTUsIDU4LCA4MCwgMjQzLCAyNDMsIDEzMCwgMTQwLCAyMTUsIDU4LCAyMTUsIDIxMSwgMjQ4LCAxNTcsIDc0LCAKKyAgICAxNDAsIDgwLCAyLCAyNDYsIDExOCwgMjE4LCAxMzksIDE0MCwgODAsIDIsIDIxNywgNzgsIDIsIDY3LCA5MSwgMTQwLCA4MCwgCisgICAgMiwgMjE3LCA3OCwgMiwgNTIsIDY3LCA5MSwgMTQwLCAyMTUsIDU4LCA4MCwgMiwgMjE3LCA3NywgMTQwLCAyMTUsIDU4LCAKKyAgICA4MCwgMiwgMjE3LCA3OCwgMiwgNjcsIDkxLCAxNDAsIDIxNSwgNTgsIDgwLCAyLCAyMTcsIDc4LCAyLCA1MiwgNjcsIDkxLCAKKyAgICAxNDAsIDgwLCAyMTYsIDEzOSwgMjExLCAxNzgsIDIxMiwgMzYsIDgwLCAyMjUsIDcsIDI0NywgMTk1LCAyMzMsIDQ2LCAyNDUsIAorICAgIDk4LCA1LCA3NywgMTQwLCA3NCwgMjIzLCA1MCwgMjE2LCA4OSwgMjI2LCAxNjgsIDc3LCAxNDAsIDc0LCAxNDAsIDgwLCA3NywgCisgICAgMjIzLCA1MCwgMjU0LCAxNDgsIDEyOCwgMTExLCA5NywgODAsIDIxNiwgMTM5LCAyNDIsIDEyOSwgOTcsIDgwLCAyMTYsIAorICAgIDEzOSwgMjE4LCAyMSwgMTQwLCAyMjQsIDI0LCA3NCwgOTcsIDIyNCwgMjQsIDc0LCAyMjMsIDUwLCAyMTYsIDg5LCAyMjYsIAorICAgIDE2OCwgNzcsIDk3LCA3NCwgOTcsIDgwLCA3NywgMjIzLCA1MCwgMjU0LCAxNDgsIDEyOCwgMTExLCAyMTYsIDg5LCAyMjYsIAorICAgIDE2OCwgNzcsIDE0MCwgNzQsIDE0MCwgODAsIDc3LCAyNTQsIDE0OCwgMTI4LCAxMTEsIDE0MCwgODAsIDc3LCAyMjMsIDUwLCAKKyAgICAyMTYsIDg5LCAyMjYsIDE2NywgOTcsIDgwLCA3NywgMjIzLCA1MCwgMjE2LCA4OSwgMjI2LCAxNjcsIDcxLCAyMzEsIDgyLCAKKyAgICAyMTgsIDE1NiwgODUsIDQsIDIxOCwgMTU2LCA3MSwgNCwgMjE4LCAxNTYsIDg1LCAyMjIsIDI0NywgMjI1LCAxOTAsIDcxLCAKKyAgICAyMjIsIDI0NywgMjI1LCAxOTAsIDExNCwgMjMzLCA4NSwgMjUwLCAzNSwgMTE0LCAyMjYsIDEyNCwgMiwgMjI2LCAxMjQsIAorICAgIDIzNSwgMjE1LCAxMTQsIDI1MCwgMzYsIDIsIDI1MCwgMzYsIDIzNSwgMjE1LCAxMTQsIDI1MCwgMzUsIDExNCwgMzcsIDIyMSwgCisgICAgMjU0LCAxNDUsIDYsIDEsIDI1MywgMTU5LCAxNDUsIDYsIDEsIDI1MSwgMTE3LCAxNDUsIDYsIDEsIDIxMywgMjUzLCAxNDUsIAorICAgIDYsIDEsIDI0MiwgMTg1LCAxNDUsIDYsIDEsIDI0NywgMTQwLCAxNDUsIDYsIDEsIDIxMSwgMjEsIDE0NSwgNiwgMSwgMjEwLCAKKyAgICA2OCwgMTQ1LCA2LCAxLCAyNDYsIDM0LCAxNDUsIDYsIDEsIDIxMCwgOTEsIDE0NSwgNiwgMSwgMjM1LCAxNDgsIDE0NSwgNiwgCisgICAgMSwgNjUsIDIzNSwgMTQ4LCAxNDUsIDYsIDEsIDczLCAxNDUsIDYsIDEsIDI0NywgMTYwLCAxNDUsIDYsIDEsIDIzNCwgMjQwLCAKKyAgICAxNDUsIDYsIDEsIDIzMiwgMTg2LCAxNDUsIDYsIDEsIDIzMCwgMjksIDE0NSwgNiwgMSwgMjI5LCAxOTEsIDE0NSwgNiwgMSwgCisgICAgMjI2LCAxODUsIDE0NSwgNiwgMSwgMjI1LCA0LCAxNDUsIDYsIDEsIDIyMiwgMjI3LCAxNDUsIDYsIDEsIDIxOSwgODMsIAorICAgIDE0NSwgNiwgMSwgMjE1LCA4MSwgMTQ1LCA2LCAxLCAyMTQsIDIwMSwgMTQ1LCA2LCAxLCAyNDMsIDI0NiwgMTQ1LCA2LCAxLCAKKyAgICAyNDEsIDE5OSwgMTQ1LCA2LCAxLCAyMjYsIDEzNSwgMTQ1LCA2LCAxLCAyMjUsIDIyMSwgMTQ1LCA2LCAxLCAyMTksIDIyOCwgCisgICAgMTQ1LCA2LCAxLCAyMTUsIDE2NywgMTQ1LCA2LCAxLCAyNTAsIDc1LCAxNDUsIDYsIDEsIDIyMCwgMTAyLCAxNDUsIDYsIDEsIAorICAgIDIxMSwgMjcsIDE0NSwgNiwgMSwgMjExLCAyOSwgMTQ1LCA2LCAxLCAyMTEsIDU3LCAxNDUsIDYsIDEsIDIxOCwgMjUzLCAKKyAgICAxNjIsIDE0NSwgNiwgMSwgMjEwLCAyMTIsIDE0NSwgNiwgMSwgNCwgMjEwLCAxODMsIDE0NSwgNiwgMSwgNCwgMjEwLCAxODQsIAorICAgIDIsIDIxNywgNzcsIDE0NSwgNiwgMSwgMjEwLCAyNDQsIDE0NSwgNiwgMSwgMjM1LCAxODQsIDQsIDIxMCwgMTgzLCAxNDUsIAorICAgIDYsIDEsIDI1MSwgMjQ5LCAyMTAsIDE4MywgMTQ1LCA2LCAxLCAyMzUsIDE4NCwgMjUxLCAyNDksIDIxMCwgMTgzLCAxNDUsIAorICAgIDYsIDEsIDI0NCwgODIsIDE0NSwgNiwgMSwgMjM1LCAxNDYsIDE0NSwgNiwgMSwgMjE5LCAyMjcsIDE0NSwgNiwgMSwgMjE1LCAKKyAgICAyMDIsIDYxLCAxNDUsIDYsIDEsIDIzMywgNzUsIDIzMCwgMjksIDE0NSwgNCwgMSwgMjUzLCAxNTksIDE0NSwgNCwgMSwgCisgICAgMjUxLCAxMTcsIDE0NSwgNCwgMSwgMjEzLCAyNTMsIDE0NSwgNCwgMSwgMjQyLCAxODUsIDE0NSwgNCwgMSwgMjQ3LCAxNDAsIAorICAgIDE0NSwgNCwgMSwgMjExLCAyMSwgMTQ1LCA0LCAxLCAyMTAsIDY4LCAxNDUsIDQsIDEsIDI0NiwgMzQsIDE0NSwgNCwgMSwgCisgICAgMjEwLCA5MSwgMTQ1LCA0LCAxLCAyMzUsIDE0OCwgMTQ1LCA0LCAxLCA2NSwgMjM1LCAxNDgsIDE0NSwgNCwgMSwgNzMsIAorICAgIDE0NSwgNCwgMSwgMjQ3LCAxNjAsIDE0NSwgNCwgMSwgMjM0LCAyNDAsIDE0NSwgNCwgMSwgMjMyLCAxODYsIDE0NSwgNCwgMSwgCisgICAgMjMwLCAyOSwgMTQ1LCA0LCAxLCAyMjksIDE5MSwgMTQ1LCA0LCAxLCAyMjYsIDE4NSwgMTQ1LCA0LCAxLCAyMjUsIDQsIAorICAgIDE0NSwgNCwgMSwgMjIyLCAyMjcsIDE0NSwgNCwgMSwgMjE5LCA4MywgMTQ1LCA0LCAxLCAyMTUsIDgxLCAxNDUsIDQsIDEsIAorICAgIDIxNCwgMjAxLCAxNDUsIDQsIDEsIDI0MywgMjQ2LCAxNDUsIDQsIDEsIDI0MSwgMTk5LCAxNDUsIDQsIDEsIDIyNiwgMTM1LCAKKyAgICAxNDUsIDQsIDEsIDIyNSwgMjIxLCAxNDUsIDQsIDEsIDIxOSwgMjI4LCAxNDUsIDQsIDEsIDIxNSwgMTY3LCAxNDUsIDQsIDEsIAorICAgIDI1MCwgNzUsIDE0NSwgNCwgMSwgMjIwLCAxMDIsIDE0NSwgNCwgMSwgMjExLCAyNywgMTQ1LCA0LCAxLCAyMTEsIDI5LCAKKyAgICAxNDUsIDQsIDEsIDIxMSwgNTcsIDE0NSwgNCwgMSwgMjE4LCAyNTMsIDE2MiwgMTQ1LCA0LCAxLCAyMTAsIDIxMiwgMTQ1LCAKKyAgICA0LCAxLCA0LCAyMTAsIDE4MywgMTQ1LCA0LCAxLCA0LCAyMTAsIDE4NCwgMiwgMjE3LCA3NywgMTQ1LCA0LCAxLCAyMTAsIAorICAgIDI0NCwgMTQ1LCA0LCAxLCAyMzUsIDE4NCwgNCwgMjEwLCAxODMsIDE0NSwgNCwgMSwgMjUxLCAyNDksIDIxMCwgMTgzLCAKKyAgICAxNDUsIDQsIDEsIDIzNSwgMTg0LCAyNTEsIDI0OSwgMjEwLCAxODMsIDE0NSwgNCwgMSwgMjQ0LCA4MiwgMTQ1LCA0LCAxLCAKKyAgICAyMzUsIDE0NiwgMTQ1LCA0LCAxLCAyMTksIDIyNywgMTQ1LCA0LCAxLCAyMTUsIDIwMiwgNjEsIDE0NSwgNCwgMSwgMjMzLCAKKyAgICA3NSwgMjMwLCAyOSwgNywgNiwgMSwgMjMzLCAxNDksIDIsIDUyLCAxMzAsIDcsIDQsIDEsIDIzMywgMTQ5LCAyLCA1MiwgCisgICAgMTMwLCA3LCA2LCAxLCAyMzMsIDE0OSwgMiwgMjMwLCAyMjQsIDE4MiwgNywgNiwgMSwgMjI2LCAxMDYsIDIsIDkxLCA3LCA2LCAKKyAgICAxLCAyMjMsIDIyNCwgMiwgMjE3LCA3NywgNywgNCwgMSwgMTE1LCAyLCA5MSwgNywgNCwgMSwgMjE3LCAxNTMsIDIsIDI0NywgCisgICAgMjU1LCA5MSwgNywgNiwgMSwgMjQyLCA2MSwgMiwgMjQ4LCAzOSwgNywgNCwgMSwgMjQyLCA2MSwgMiwgMjQ4LCAzOSwgNywgCisgICAgNiwgMSwgMjM1LCAyNCwgMiwgMjQ4LCAzOSwgNywgNCwgMSwgMjM1LCAyNCwgMiwgMjQ4LCAzOSwgNywgNiwgMSwgMjEwLCAKKyAgICAxNjAsIDIsIDI0OCwgMzksIDcsIDQsIDEsIDIxMCwgMTYwLCAyLCAyNDgsIDM5LCA3LCA2LCAxLCAyNTQsIDE0MywgNywgNiwgCisgICAgMSwgMjMyLCA1MCwgMiwgMTAzLCA3LCA2LCAxLCAyMTUsIDk0LCA2MSwgNywgNiwgMSwgMjE1LCA5NCwgMjU0LCAxNDMsIDcsIAorICAgIDQsIDEsIDIxNCwgMTA2LCAyLCA0NCwgMTAzLCA3LCA2LCAxLCAyMTIsIDk5LCAyLCAxMDMsIDcsIDQsIDEsIDIxMiwgOTksIAorICAgIDIsIDEwMywgNywgNCwgMSwgMjE0LCAxMDYsIDIsIDI0OSwgMTAwLCA3LCA2LCAxLCAxNjMsIDI0MiwgNjAsIDcsIDQsIDEsIAorICAgIDE2MywgMjQyLCA2MCwgNywgNCwgMSwgMjE3LCA3NSwgMjI1LCAxMzMsIDcsIDQsIDEsIDE2MCwgMiwgMjI4LCA1MCwgNywgNCwgCisgICAgMSwgMjE1LCA5NCwgMjIzLCAyMjQsIDIsIDIxNywgNzcsIDcsIDQsIDEsIDE0NCwgMiwgMTIxLCAyMjIsIDIzNCwgMjM1LCAKKyAgICAyMTUsIDcsIDEsIDQsIDYsIDIxNSwgOTQsIDc1LCA3LCAyMTgsIDY1LCA0LCAxLCAyMzUsIDE0NCwgNTgsIDEsIDYsIDIxNCwgCisgICAgMTA1LCA3LCA2LCAxLCAyMjIsIDkyLCAyLCAyMTcsIDI1MCwgMjE3LCA3NywgNywgNiwgMSwgMjEwLCAxNjAsIDIsIDIxNywgCisgICAgMjUwLCAyMTcsIDc3LCA4MSwgNiwgMSwgMjU0LCAxNjQsIDgxLCA0LCAxLCAyNTQsIDE2NCwgODEsIDYsIDEsIDIxMywgMTczLCAKKyAgICA4MSwgNCwgMSwgMjEzLCAxNzMsIDgxLCA2LCAxLCAyNDMsIDEwNywgODEsIDQsIDEsIDI0MywgMTA3LCA4MSwgNiwgMSwgCisgICAgMjQ4LCAxOTEsIDgxLCA0LCAxLCAyNDgsIDE5MSwgODEsIDYsIDEsIDI0NSwgMTk0LCA4MSwgNCwgMSwgMjQ1LCAxOTQsIDgxLCAKKyAgICA2LCAxLCAyMTksIDMzLCA4MSwgNCwgMSwgMjE5LCAzMywgODEsIDYsIDEsIDIxMCwgMTAxLCA4MSwgNCwgMSwgMjEwLCAxMDEsIAorICAgIDgxLCA2LCAxLCAyNDEsIDI0OCwgODEsIDQsIDEsIDI0MSwgMjQ4LCA4MSwgNiwgMSwgMjE2LCAxNzcsIDgxLCA0LCAxLCAKKyAgICAyMTYsIDE3NywgODEsIDYsIDEsIDI0MCwgMTE2LCA4MSwgNCwgMSwgMjQwLCAxMTYsIDgxLCA2LCAxLCAyMzQsIDIyNywgODEsIAorICAgIDQsIDEsIDIzNCwgMjI3LCA4MSwgNiwgMSwgMjMzLCA3MiwgODEsIDQsIDEsIDIzMywgNzIsIDgxLCA2LCAxLCAyMzAsIDIzMCwgCisgICAgODEsIDQsIDEsIDIzMCwgMjMwLCA4MSwgNiwgMSwgMjI4LCAyMzMsIDgxLCA0LCAxLCAyMjgsIDIzMywgODEsIDYsIDEsIAorICAgIDIzMywgMjMzLCA4MSwgNCwgMSwgMjMzLCAyMzMsIDgxLCA2LCAxLCA3NiwgODEsIDQsIDEsIDc2LCA4MSwgNiwgMSwgMjI1LCAKKyAgICAxMDgsIDgxLCA0LCAxLCAyMjUsIDEwOCwgODEsIDYsIDEsIDIyMiwgMjExLCA4MSwgNCwgMSwgMjIyLCAyMTEsIDgxLCA2LCAKKyAgICAxLCAyMTksIDE2NSwgODEsIDQsIDEsIDIxOSwgMTY1LCA4MSwgNiwgMSwgMjE3LCA0MSwgODEsIDQsIDEsIDIxNywgNDEsIAorICAgIDgxLCA2LCAxLCAyMTQsIDIyOSwgODEsIDQsIDEsIDIxNCwgMjI5LCA4MSwgNiwgMSwgMjQ0LCAxMjEsIDgxLCA0LCAxLCAKKyAgICAyNDQsIDEyMSwgODEsIDYsIDEsIDIzNCwgMTEyLCA4MSwgNCwgMSwgMjM0LCAxMTIsIDgxLCA2LCAxLCAyMjQsIDE2MSwgODEsIAorICAgIDQsIDEsIDIyNCwgMTYxLCA4MSwgNiwgMSwgMjI2LCAxNzgsIDgxLCA0LCAxLCAyMjYsIDE3OCwgODEsIDYsIDEsIDI0NywgCisgICAgMjUzLCAyNTQsIDE3MCwgODEsIDQsIDEsIDI0NywgMjUzLCAyNTQsIDE3MCwgODEsIDYsIDEsIDU1LCA4MSwgMjU0LCAxOTYsIAorICAgIDgxLCA0LCAxLCA1NSwgODEsIDI1NCwgMTk2LCA4MSwgNiwgMSwgMjQ5LCAxMTUsIDI0NSwgMTk0LCA4MSwgNCwgMSwgMjQ5LCAKKyAgICAxMTUsIDI0NSwgMTk0LCA4MSwgNiwgMSwgMjQ3LCAyNTMsIDIzNCwgMjI3LCA4MSwgNCwgMSwgMjQ3LCAyNTMsIDIzNCwgCisgICAgMjI3LCA4MSwgNiwgMSwgMjQ3LCAyNTMsIDIyOCwgMjMzLCA4MSwgNCwgMSwgMjQ3LCAyNTMsIDIyOCwgMjMzLCA4MSwgNiwgCisgICAgMSwgMjQ5LCAxMTUsIDIyOCwgMjMzLCA4MSwgNCwgMSwgMjQ5LCAxMTUsIDIyOCwgMjMzLCA4MSwgNiwgMSwgNTUsIDgxLCAKKyAgICAyMjYsIDE3OCwgODEsIDQsIDEsIDU1LCA4MSwgMjI2LCAxNzgsIDgxLCA2LCAxLCAyMjEsIDI0NiwgODEsIDQsIDEsIDIyMSwgCisgICAgMjQ2LCA4MSwgNiwgMSwgMjQ5LCAxMjgsIDIyMCwgNTUsIDgxLCA0LCAxLCAyNDksIDEyOCwgMjIwLCA1NSwgODEsIDYsIDEsIAorICAgIDU1LCA4MSwgMjIwLCA1NSwgODEsIDQsIDEsIDU1LCA4MSwgMjIwLCA1NSwgODEsIDYsIDEsIDU1LCA4MSwgMjQ1LCA3NSwgCisgICAgODEsIDQsIDEsIDU1LCA4MSwgMjQ1LCA3NSwgODEsIDYsIDEsIDI1NCwgMTgyLCAyMzQsIDExNywgODEsIDQsIDEsIDI1NCwgCisgICAgMTgyLCAyMzQsIDExNywgODEsIDYsIDEsIDI0NywgMjUzLCAyNDEsIDQ1LCA4MSwgNCwgMSwgMjQ3LCAyNTMsIDI0MSwgNDUsIAorICAgIDgxLCA2LCAxLCA1NSwgODEsIDI0MSwgNDUsIDgxLCA0LCAxLCA1NSwgODEsIDI0MSwgNDUsIDgxLCA2LCAxLCA1NSwgODEsIAorICAgIDE2MiwgODEsIDQsIDEsIDU1LCA4MSwgMTYyLCA4MSwgNiwgMSwgMjMzLCAxNDgsIDE2MiwgODEsIDQsIDEsIDIzMywgMTQ4LCAKKyAgICAxNjIsIDgxLCA2LCAxLCA1NSwgODEsIDI0MSwgMjE3LCA4MSwgNCwgMSwgNTUsIDgxLCAyNDEsIDIxNywgODEsIDYsIDEsIAorICAgIDU1LCA4MSwgMjQxLCAyNTEsIDgxLCA0LCAxLCA1NSwgODEsIDI0MSwgMjUxLCA4MSwgNiwgMSwgNTUsIDgxLCAyNDMsIDEwMiwgCisgICAgODEsIDQsIDEsIDU1LCA4MSwgMjQzLCAxMDIsIDgxLCA2LCAxLCA1NSwgODEsIDI0NywgMTYzLCA4MSwgNCwgMSwgNTUsIDgxLCAKKyAgICAyNDcsIDE2MywgODEsIDYsIDEsIDU1LCA4MSwgMjIwLCAyMiwgODEsIDQsIDEsIDU1LCA4MSwgMjIwLCAyMiwgODEsIDYsIDEsIAorICAgIDU1LCAyMjcsIDIwOCwgMjIwLCAyMiwgODEsIDQsIDEsIDU1LCAyMjcsIDIwOCwgMjIwLCAyMiwgODEsIDYsIDEsIDU1LCAKKyAgICAyMjcsIDIwOCwgMjI5LCAyNywgODEsIDQsIDEsIDU1LCAyMjcsIDIwOCwgMjI5LCAyNywgODEsIDYsIDEsIDU1LCAyMjcsIAorICAgIDIwOCwgMjI3LCAxNDgsIDgxLCA0LCAxLCA1NSwgMjI3LCAyMDgsIDIyNywgMTQ4LCA4MSwgNiwgMSwgNTUsIDIyNywgMjA4LCAKKyAgICAyMTIsIDM3LCA4MSwgNCwgMSwgNTUsIDIyNywgMjA4LCAyMTIsIDM3LCA4MSwgMTYsIDIzNCwgMjQ2LCA4MSwgMTYsIDIzMCwgCisgICAgMjMxLCAyMjIsIDIxMSwgODEsIDE2LCAyMjUsIDEwOSwgMjIyLCAyMTEsIDgxLCAxNiwgMjE4LCAxNDcsIDgxLCAxNiwgMjE3LCAKKyAgICA0MiwgMjIyLCAyMTEsIDgxLCAxNiwgMjM0LCAxMTMsIDIyMiwgMjExLCA4MSwgMTYsIDIyMCwgMjMsIDIxOSwgMTY1LCA4MSwgCisgICAgNiwgMSwgMjQ5LCAxMTUsIDIyMCwgNTUsIDgxLCA0LCAxLCAyNDksIDExNSwgMjIwLCA1NSwgODEsIDYsIDEsIDI0OSwgMTE1LCAKKyAgICAyNDMsIDEwMiwgODEsIDQsIDEsIDI0OSwgMTE1LCAyNDMsIDEwMiwgODEsIDM4LCAyMjgsIDIzNCwgNDgsIDgxLCAzOCwgCisgICAgMjE4LCAyNDcsIDI1MywgMjI0LCA4MSwgMzgsIDIxOCwgMjQ3LCAyMzMsIDIxLCA4MSwgNiwgMSwgMjUxLCAxOTksIDIzNCwgCisgICAgMTE3LCA4MSwgNCwgMSwgMjUxLCAxOTksIDIzNCwgMTE3LCA4MSwgNTUsIDIyNywgMjA4LCAyNDMsIDIyOSwgMjE4LCAxMjksIAorICAgIDgxLCA1NSwgMjI3LCAyMDgsIDI0NywgMTk3LCAyMjQsIDEzLCA3OCwgODEsIDU1LCAyMjcsIDIwOCwgMjM1LCAyMzcsIDIyNCwgCisgICAgMTMsIDc4LCA4MSwgNTUsIDIyNywgMjA4LCAyMTMsIDI0MSwgMjQ3LCAxNzIsIDgxLCAyNDQsIDIsIDEyMywgMjQyLCAyNywgCisgICAgODEsIDI0MywgMjI5LCAyMTgsIDEyOSwgODEsIDIzMCwgMTI0LCAyNDcsIDE3MiwgOTgsIDQsIDEsIDI1NCwgMTIzLCA5OCwgCisgICAgNCwgMSwgMjUyLCAxNTIsIDk4LCA0LCAxLCAyNDMsIDEwNiwgOTgsIDQsIDEsIDI0NywgMTI4LCA5OCwgNCwgMSwgMjQ1LCAKKyAgICAxNTAsIDk4LCA0LCAxLCAyMTMsIDE2MCwgOTgsIDQsIDEsIDIxMCwgODksIDk4LCA0LCAxLCAyMTcsIDYwLCA5OCwgNCwgMSwgCisgICAgMjM1LCAyNTUsIDk4LCA0LCAxLCAyMzQsIDIzNCwgOTgsIDQsIDEsIDIzMywgODEsIDk4LCA0LCAxLCAyMzEsIDE4NSwgOTgsIAorICAgIDQsIDEsIDIyOSwgMTk1LCA5OCwgNCwgMSwgMjI2LCAxOTYsIDk4LCA0LCAxLCAyMjYsIDE3LCA5OCwgNCwgMSwgMjEwLCA3OCwgCisgICAgOTgsIDQsIDEsIDIyMywgMTcxLCA5OCwgNCwgMSwgMjIxLCAyNDMsIDk4LCA0LCAxLCAyMTcsIDUwLCA5OCwgNCwgMSwgMjE0LCAKKyAgICAxOTAsIDk4LCA0LCAxLCAyMjUsIDE0MCwgOTgsIDQsIDEsIDIzNCwgMTIxLCA5OCwgNCwgMSwgMjQyLCAyNDEsIDk4LCA0LCAKKyAgICAxLCAyMjQsIDczLCA5OCwgNCwgMSwgMjIwLCAyMCwgOTgsIDQsIDEsIDI1MCwgOTcsIDk4LCA0LCAxLCAyNTEsIDcsIDk4LCAKKyAgICA0LCAxLCAyMzUsIDEwMCwgOTgsIDQsIDEsIDI1MCwgNDAsIDk4LCA0LCAxLCAyNTAsIDE0MywgOTgsIDQsIDEsIDIxMSwgCisgICAgMTYzLCA5OCwgNCwgMSwgMjM1LCAxMTEsIDk4LCA0LCAxLCAyNDIsIDQzLCA5OCwgNCwgMSwgMjQxLCAyMzgsIDk4LCA0LCAxLCAKKyAgICAyNDEsIDE3NSwgOTgsIDQsIDEsIDIxMiwgMjIsIDk4LCA0LCAxLCAyNDIsIDQsIDk4LCA0LCAxLCAyNDEsIDY1LCA5OCwgNCwgCisgICAgMSwgMjEwLCAyNDYsIDk4LCA0LCAxLCAyNTQsIDIzMiwgMjE2LCAxMDgsIDEsIDE5MSwgMjE2LCAxMDgsIDEsIDIxMSwgOTksIAorICAgIDIxNiwgMTA4LCAxLCAyMTEsIDk4LCAyMTYsIDEwOCwgMSwgMjExLCA4OCwgMjE2LCAxMDgsIDEsIDIxMSwgODYsIDIxNiwgCisgICAgMTA4LCAxLCAyNTIsIDMyLCAyNTUsIDE2LCAyMTEsIDgxLCAyMTYsIDEwOCwgMSwgMjExLCA4MSwgMjE2LCAxMDgsIDEsIAorICAgIDIxMSwgOTYsIDIxNiwgMTA4LCAxLCAyMTEsIDkzLCAyMTYsIDEwOCwgMSwgMjExLCA5NSwgMjE2LCAxMDgsIDEsIDIxMSwgCisgICAgOTQsIDIxNiwgMTA4LCAxLCAyMTEsIDEyLCAyMTYsIDEwOCwgMSwgMjExLCA5MCwgMjE2LCAxMDgsIDEsIDIxMSwgNzksIAorICAgIDIxNiwgMTA4LCAxLCAyMTUsIDExNSwgMjExLCA3OSwgMjE2LCAxMDgsIDEsIDIxMSwgNzYsIDIxNiwgMTA4LCAxLCAyMTEsIAorICAgIDg0LCAyMTYsIDEwOCwgMSwgMjUyLCAzMiwgMjU1LCAxNiwgMjExLCA4NCwgMjE2LCAxMDgsIDEsIDIxNSwgMTE1LCAyMTEsIAorICAgIDg0LCAyMTYsIDEwOCwgMSwgMjExLCA4MywgMjE2LCAxMDgsIDEsIDIxMSwgMTAzLCAyMTYsIDEwOCwgMSwgMjExLCA3NywgCisgICAgMjE2LCAxMDgsIDEsIDIxNSwgMTE1LCAyMTEsIDc3LCAyMTYsIDEwOCwgMSwgMjExLCA2NiwgMjE2LCAxMDgsIDEsIDIxNSwgCisgICAgMTE1LCAyMTEsIDY2LCAyMTYsIDEwOCwgMSwgMjExLCA4LCAyMTYsIDEwOCwgMSwgMjExLCA0OSwgMjE2LCAxMDgsIDEsIAorICAgIDI1NCwgMjA3LCAyMTEsIDQ5LCAyMTYsIDEwOCwgMSwgMjE1LCAxMTUsIDIxMSwgNDksIDIxNiwgMTA4LCAxLCAyMTEsIDc1LCAKKyAgICAyMTYsIDEwOCwgMSwgMjExLCA3NCwgMjE2LCAxMDgsIDEsIDIxMSwgNzEsIDIxNiwgMTA4LCAxLCAyMTUsIDExNSwgMjExLCAKKyAgICA4NSwgMjE2LCAxMDgsIDEsIDIxNSwgMTE1LCAyMTEsIDY5LCAyMTYsIDEwOCwgMSwgMjExLCA2NywgMjE2LCAxMDgsIDEsIAorICAgIDIxMCwgMjEyLCAyMTYsIDEwOCwgMSwgMjExLCA2NCwgMjE2LCAxMDgsIDEsIDIxMSwgNjMsIDIxNiwgMTA4LCAxLCAyMTEsIAorICAgIDg3LCAyMTYsIDEwOCwgMSwgMjE1LCAxMTUsIDIxMSwgODcsIDIxNiwgMTA4LCAxLCAyNTMsIDE2MywgMjExLCA4NywgMjE2LCAKKyAgICAxMDgsIDEsIDIxMSwgNjIsIDIxNiwgMTA4LCAxLCAyMTEsIDYwLCAyMTYsIDEwOCwgMSwgMjExLCA2MSwgMjE2LCAxMDgsIDEsIAorICAgIDIxMSwgNTksIDIxNiwgMTA4LCAxLCAyMTEsIDU4LCAyMTYsIDEwOCwgMSwgMjExLCA5NywgMjE2LCAxMDgsIDEsIDIxMSwgCisgICAgNTYsIDIxNiwgMTA4LCAxLCAyMTEsIDU0LCAyMTYsIDEwOCwgMSwgMjExLCA1MywgMjE2LCAxMDgsIDEsIDIxMSwgNTIsIAorICAgIDIxNiwgMTA4LCAxLCAyMTEsIDUwLCAyMTYsIDEwOCwgMSwgMjE3LCAzNCwgMjExLCA1MCwgMjE2LCAxMDgsIDEsIDIxMSwgCisgICAgNDgsIDIxNiwgMTA4LCAxLCAyMTEsIDQ3LCAyMTYsIDEwOCwgMSwgMjEwLCAyNDQsIDIxNiwgMTA4LCA1OCwgMSwgMjMzLCAKKyAgICAxMjYsIDc4LCAyMTYsIDEwOCwgMjIwLCAxMzgsIDc4LCAyMTYsIDEwOCwgMTE2LCAyMzUsIDYzLCAyOSwgMywgMjMyLCAxNTUsIAorICAgIDI5LCAzLCAyMzAsIDE2MCwgMjksIDMsIDIyMiwgMjA5LCAyOSwgMywgMjE5LCA1NywgMjksIDMsIDIyMCwgNiwgMjksIDMsIAorICAgIDI1MSwgMjA0LCAyOSwgMywgMjE2LCA0MSwgMjksIDMsIDI0OSwgMjM3LCAyOSwgMywgMjI4LCA3MiwgMjksIDMsIDIyNywgCisgICAgMTMzLCAyOSwgMywgMjQyLCAxODAsIDIyNywgMCwgMjksIDMsIDIxMCwgMjIsIDI5LCAzLCAyNDcsIDE0MywgMjksIDMsIAorICAgIDI0OCwgMTA0LCAyOSwgMywgMjM1LCA2NywgMjksIDMsIDIxNiwgMTU1LCAyOSwgMywgMjUwLCA4NSwgMjksIDMsIDIyNSwgCisgICAgMTIwLCAyOSwgMywgMjI1LCAxNSwgMjksIDMsIDI0MiwgMjU1LCAyOSwgMywgMjQyLCAyNTEsIDI5LCAzLCAyNDIsIDI1MiwgCisgICAgMjksIDMsIDI0MiwgMjUzLCAyOSwgMywgMjE4LCAyMjMsIDI5LCAzLCAyMTgsIDE3OSwgMjksIDMsIDIxOCwgMTkyLCAyOSwgCisgICAgMywgMjE4LCAyMjIsIDI5LCAzLCAyMTgsIDE5NiwgMjksIDMsIDIxOCwgMTk3LCAyOSwgMywgMjE4LCAxODQsIDI5LCAzLCAKKyAgICAyNTAsIDIxMywgMjksIDMsIDI1MCwgMTkyLCAyOSwgMywgMjUwLCAxOTQsIDI5LCAzLCAyNTAsIDIxMiwgMjksIDMsIDI1MCwgCisgICAgMjEwLCAyOSwgMywgMjUwLCAyMTEsIDI5LCAzLCAyNTAsIDE5MywgMjksIDMsIDIwOSwgMjQzLCAyOSwgMywgMjA5LCAyMjEsIAorICAgIDI5LCAzLCAyMDksIDIzNCwgMjksIDMsIDIwOSwgMjQyLCAyOSwgMywgMjA5LCAyMzcsIDI5LCAzLCAyMDksIDIzOCwgMjksIAorICAgIDMsIDIwOSwgMjI2LCAyOSwgMywgMjUwLCAyMDgsIDI5LCAzLCAyNTAsIDE5NSwgMjksIDMsIDI1MCwgMTk3LCAyOSwgMywgCisgICAgMjUwLCAyMDcsIDI5LCAzLCAyNTAsIDIwNSwgMjksIDMsIDI1MCwgMjA2LCAyOSwgMywgMjUwLCAxOTYsIDI5LCAzLCAyMjMsIAorICAgIDIzNiwgMjksIDMsIDIyMywgMjI2LCAyOSwgMywgMjIzLCAyMzIsIDI5LCAzLCAyMjMsIDIzNSwgMjksIDMsIDIyMywgMjMzLCAKKyAgICAyOSwgMywgMjIzLCAyMzQsIDI5LCAzLCAyMjMsIDIzMSwgMjksIDMsIDIzMywgMTU5LCAyOSwgMywgMjMzLCAxNTEsIDI5LCAKKyAgICAzLCAyMzMsIDE1NCwgMjksIDMsIDIzMywgMTU4LCAyOSwgMywgMjMzLCAxNTUsIDI5LCAzLCAyMzMsIDE1NiwgMjksIDMsIAorICAgIDIzMywgMTUyLCAyOSwgMywgMjExLCAxMzAsIDI5LCAzLCAyMTEsIDEyMCwgMjksIDMsIDIxMSwgMTI2LCAyOSwgMywgMjExLCAKKyAgICAxMjksIDI5LCAzLCAyMTEsIDEyNywgMjksIDMsIDIxMSwgMTI4LCAyOSwgMywgMjExLCAxMjUsIDI5LCAzLCAyNDIsIDcxLCAKKyAgICAyOSwgMywgMjQyLCA2MiwgMjksIDMsIDI0MiwgNjUsIDI5LCAzLCAyNDIsIDcwLCAyOSwgMywgMjQyLCA2NywgMjksIDMsIAorICAgIDI0MiwgNjgsIDI5LCAzLCAyNDIsIDY0LCAzOCwgMzMsIDEsIDI1MiwgNzUsIDM4LCAzMywgMSwgMjEzLCAyNTUsIDM4LCAzMywgCisgICAgMSwgMjQyLCAyMzYsIDM4LCAzMywgMSwgMjQ4LCA5MCwgMzgsIDMzLCAxLCAyMTAsIDc0LCAzOCwgMzMsIDEsIDIxMCwgOTQsIAorICAgIDM4LCAzMywgMSwgMTc2LCAzOCwgMzMsIDEsIDI0NSwgMTc0LCAzOCwgMzMsIDEsIDI0NSwgMTU5LCAzOCwgMzMsIDEsIDI0NSwgCisgICAgMTUwLCAzOCwgMzMsIDEsIDc2LCAzOCwgMzMsIDEsIDIyNSwgMjIxLCAzOCwgMzMsIDEsIDI0NSwgOTIsIDM4LCAzMywgMSwgCisgICAgMjQ1LCA4MiwgMzgsIDMzLCAxLCAyMTcsIDIyLCAzOCwgMzMsIDEsIDE2MiwgMzgsIDMzLCAxLCAyMTUsIDE3OCwgMzgsIDMzLCAKKyAgICAxLCAyNTAsIDEzMSwgMzgsIDMzLCAxLCAyMjAsIDEwMiwgMzgsIDMzLCAxLCAyMjAsIDY1LCAzOCwgMzMsIDEsIDI0NCwgODIsIAorICAgIDM4LCAzMywgMSwgMjQ1LCA4MSwgMzgsIDMzLCAxLCA2MSwgMzgsIDMzLCAxLCAyMzYsIDYwLCAzOCwgMzMsIDEsIDI0NywgCisgICAgMTYxLCAzOCwgMzMsIDEsIDIzMCwgMTQwLCAyMTQsIDIwNSwgMzgsIDMzLCAxLCAyMTEsIDU5LCAzOCwgMzMsIDEsIDIxMCwgCisgICAgMjEyLCAzOCwgMzMsIDEsIDIzNSwgMTgzLCA2MSwgMzgsIDMzLCAxLCAyMzIsIDE5MiwgMjEwLCAxODMsIDM4LCAzMywgMSwgCisgICAgMjUxLCAyNDksIDIxMCwgMTgzLCAzOCwgMzMsIDEsIDIzNSwgMTgzLCAyNTEsIDI0OSwgMjEwLCAxODMsIDQ0LCAyNTQsIAorICAgIDExMCwgMjE4LCA2MCwgMjMxLCAxNTQsIDQ0LCAyNTQsIDExMCwgMjQ2LCAxMTgsIDIxOCwgNjAsIDIzMSwgMTU0LCA0MywgCisgICAgMjE4LCA2MCwgMTI3LCA0NCwgMjE4LCA2MCwgMTI3LCA0MywgMjQ2LCAxMTgsIDIxOCwgNjAsIDEyNywgNDQsIDI0NiwgMTE4LCAKKyAgICAyMTgsIDYwLCAxMjcsIDIyMywgMTU3LCAyMzUsIDIwMiwgMjMxLCAxNTQsIDIyMywgMTU3LCAyNDYsIDExOCwgMjM1LCAyMDIsIAorICAgIDIzMSwgMTU0LCAyNDYsIDExOCwgMjE1LCAyNDEsIDIzMSwgMTU0LCA0MywgMjE1LCAyNDEsIDEyNywgNDQsIDIxNSwgMjQxLCAKKyAgICAxMjcsIDIyMywgMTU3LCAyMTgsIDIzNCwgNDMsIDIyMywgMTU3LCAyMjYsIDE5OCwgMTI3LCA0NCwgMjIzLCAxNTcsIDIyNiwgCisgICAgMTk4LCAxMjcsIDI0NSwgMjEwLCAyNDksIDE1OCwgMjI2LCAxMywgMjQ0LCAyMiwgMjI2LCAxMywgMjIzLCA0OSwgMjQ0LCAKKyAgICAyMiwgMjI2LCAxMywgMjQwLCAxNjUsIDI0NiwgMTE4LCAyMjYsIDI1MSwgMjQ2LCAxMDQsIDI1NCwgMTE5LCAyMTQsIDE1MywgCisgICAgMjU0LCAxMTksIDI0NiwgMTE4LCAyMjIsIDI0NywgMjU0LCAxMDksIDUyLCAyMjYsIDI0OCwgMjQwLCAxNjgsIDIzNSwgMTkzLCAKKyAgICAyMzUsIDIwMSwgMjI2LCA1OSwgMjUxLCAxNTQsIDI0MCwgMTY5LCAyLCAyNDgsIDEsIDIxNiwgODksIDIsIDIyMiwgMjM0LCAKKyAgICA0OCwgNDMsIDEyMSwgMjI2LCA1LCAxMjcsIDQ0LCAxMjEsIDIyNiwgNSwgMTI3LCAyMTYsIDg5LCAyLCA1OSwgNDgsIDIxNiwgCisgICAgODksIDIsIDU5LCA1MSwgNDMsIDY3LCAyNTIsIDE0MSwgMiwgMjI0LCA3LCA0NCwgNjcsIDI1MiwgMTQxLCAyLCAyMjQsIDcsIAorICAgIDIxNiwgMTQsIDQzLCAxNjMsIDEyNywgMjE2LCAxNCwgNDQsIDE2MywgMTI3LCAyNTEsIDE3NSwgNDMsIDE2MywgMTI3LCAKKyAgICAyNTEsIDE3NSwgNDQsIDE2MywgMTI3LCA0MywgMjE5LCAxODcsIDEwNCwgMTI3LCA0NCwgMjE5LCAxODcsIDEwNCwgMTI3LCAKKyAgICA0MywgNTIsIDIyNiwgMywgNDQsIDUyLCAyMjYsIDMsIDExMywgMTcwLCAxMTcsIDEyMywgNTksIDIyNCwgMTQwLCAxMjMsIAorICAgIDU5LCAxMTcsIDExMywgMTcwLCAyMjQsIDE0MCwgOTIsIDI0NCwgMTEsIDU5LCAyMjQsIDE0MCwgMjQ0LCA4MSwgNTksIDc4LCAKKyAgICAyMjMsIDQ5LCAyMjQsIDEzLCA3OCwgNjcsIDE4MiwgMjIyLCAyMzQsIDIyNSwgMTAsIDIxMSwgMjA5LCAyMjAsIDEzOCwgCisgICAgMjMwLCAyMjQsIDI0NywgMTIwLCAyMTUsIDk0LCAyNDksIDIxOSwgMjIzLCAxNTcsIDI0NywgMTIwLCAyMjMsIDE1NywgMjQ5LCAKKyAgICAyMTksIDIxNSwgOTQsIDIyMCwgMTUwLCAyNDgsIDIwNiwgMiwgNDMsIDI0MiwgMTA4LCAyNDgsIDIwNiwgMiwgNDQsIDI0MiwgCisgICAgMTA4LCAyMTUsIDk0LCAyNDgsIDIwNSwgMjE2LCAxNCwgMTYzLCAyMjEsIDE3MywgNTAsIDIxNSwgNTksIDI0OCwgMTU2LCAKKyAgICAyMTYsIDE0MywgMjQ4LCAxNTYsIDksIDM0LCAyMjMsIDc2LCA5LCAzNCwgMjUwLCAxMCwgOSwgMzQsIDIyMSwgMTc2LCAxMTAsIAorICAgIDksIDM0LCAyMjEsIDE3NiwgMTA1LCA5LCAzNCwgMjIxLCAxNzYsIDE1OCwgOSwgMzQsIDIyNSwgMTY3LCA5LCAzNCwgMjUxLCAKKyAgICAxNjMsIDksIDM0LCAyMTcsIDkyLCA5LCAzNCwgMjM0LCAzMywgMTEwLCA5LCAzNCwgMjM0LCAzMywgMTA1LCA5LCAzNCwgCisgICAgMjQ3LCAxNzAsIDksIDM0LCAyMjEsIDE3OSwgOSwgMzQsIDQsIDExMCwgOSwgMzQsIDQsIDEwNSwgOSwgMzQsIDIzMywgOTcsIAorICAgIDExMCwgOSwgMzQsIDIzMywgOTcsIDEwNSwgOSwgMzQsIDIzMywgOTcsIDE1OCwgOSwgMzQsIDIzMywgOTcsIDE2MSwgOSwgCisgICAgMzQsIDIxOSwgNjgsIDksIDM0LCAyMTYsIDE0NSwgOSwgMzQsIDIxOSwgNjYsIDExMCwgOSwgMzQsIDIxOSwgNjYsIDEwNSwgCisgICAgOSwgMzQsIDI0MSwgMjI4LCAxMTAsIDksIDM0LCAyNDEsIDIyOCwgMTA1LCA5LCAzNCwgMjQyLCAxNSwgOSwgMzQsIDIyMywgCisgICAgMTQ3LCA5LCAzNCwgMjUwLCA4MiwgOSwgMzQsIDIxOCwgMzcsIDksIDM0LCAyMzAsIDEyOCwgOSwgMzQsIDI0OCwgODgsIDksIAorICAgIDM0LCAyMzAsIDEyMCwgOSwgMzQsIDI1MCwgMjUsIDksIDM0LCAyMTIsIDQxLCAxMTAsIDksIDM0LCAyMTIsIDQxLCAxMDUsIAorICAgIDksIDM0LCAyNDQsIDk2LCA5LCAzNCwgMjI1LCAyMzIsIDExMCwgOSwgMzQsIDIyNSwgMjMyLCAxMDUsIDksIDM0LCAyMTksIAorICAgIDE2MCwgMTYzLCAyMTUsIDIzNiwgMjE1LCAxODgsIDksIDM0LCAyNDksIDE0NSwgOSwgMzQsIDI0NywgMTM2LCA5LCAzNCwgCisgICAgMjM1LCAxMzcsIDksIDM0LCAyNTEsIDE5OCwgNjQsIDI0OSwgMjUwLCA5LCAzNCwgMjQ1LCAxNSwgOSwgMzQsIDIxOCwgMjQ5LCAKKyAgICAxMTAsIDksIDM0LCAyMTgsIDI0OSwgMTA1LCA5LCAzNCwgMjUyLCAxNTQsIDksIDM0LCAyMTksIDE2NywgOSwgMzQsIDI1MSwgCisgICAgNjMsIDIxOSwgMTY3LCA5LCAzNCwgMjI5LCA5MCwgMTEwLCA5LCAzNCwgMjI5LCA5MCwgMTA1LCA5LCAzNCwgMjI5LCA5MCwgCisgICAgMTU4LCA5LCAzNCwgMjI5LCA5MCwgMTYxLCA5LCAzNCwgMjMxLCA0NiwgOSwgMzQsIDIyMCwgNTcsIDksIDM0LCAyMjMsIAorICAgIDE1MywgOSwgMzQsIDI0NSwgMzcsIDksIDM0LCAyMjYsIDIwOSwgOSwgMzQsIDI1MSwgMTMzLCAxMTAsIDksIDM0LCAyNTEsIAorICAgIDEzMywgMTA1LCA5LCAzNCwgMjMxLCA4NiwgOSwgMzQsIDIzMCwgMTIzLCA5LCAzNCwgMjQyLCAxNDAsIDExMCwgOSwgMzQsIAorICAgIDI0MiwgMTQwLCAxMDUsIDksIDM0LCAyNDIsIDE0MCwgMTU4LCA5LCAzNCwgMjE2LCAxMDYsIDksIDM0LCAyNDksIDI0OSwgOSwgCisgICAgMzQsIDIxMiwgOSwgMTEwLCA5LCAzNCwgMjEyLCA5LCAxMDUsIDksIDM0LCAyNTEsIDYzLCAyMjEsIDE3MCwgOSwgMzQsIAorICAgIDIxOSwgMTYwLCAyNDAsIDI0OCwgOSwgMzQsIDI0MCwgMjQ4LCA5LCAzNCwgMjUxLCA2MywgMjE5LCAyLCA5LCAzNCwgMjUxLCAKKyAgICA2MywgMjIwLCA1MiwgOSwgMzQsIDI0NCwgMzIsIDksIDM0LCAyNTEsIDYzLCAyNTAsIDIyOCwgOSwgMzQsIDIxOSwgMTYwLCAKKyAgICAyMTIsIDU3LCA5LCAzNCwgMjEyLCA1OCwgMTEwLCA5LCAzNCwgMjEyLCA1OCwgMTA1LCA5LCAzNCwgMjUwLCAyNywgOSwgMzQsIAorICAgIDI1MSwgNjMsIDI0MiwgMTY2LCA5LCAzNCwgMTk5LCAxMTAsIDksIDM0LCAxOTksIDEwNSwgOSwgMzQsIDI1MSwgNjMsIDIzMiwgCisgICAgMTM3LCA5LCAzNCwgMjUxLCA2MywgMjQzLCA4OCwgOSwgMzQsIDIzMCwgMTE5LCAxMTAsIDksIDM0LCAyMzAsIDExOSwgMTA1LCAKKyAgICA5LCAzNCwgMjIzLCAxNTksIDksIDM0LCAyNTEsIDIwNywgOSwgMzQsIDI1MSwgNjMsIDIxNywgNTYsIDIzMywgNTIsIDksIAorICAgIDM0LCAyNTEsIDYzLCAyMzMsIDUzLCA5LCAzNCwgMjUxLCA2MywgMjExLCAyMzksIDksIDM0LCAyNTEsIDYzLCAyNDQsIDQ2LCAKKyAgICA5LCAzNCwgMjQ1LCAyMTgsIDExMCwgOSwgMzQsIDI0NSwgMjE4LCAxMDUsIDksIDM0LCAyNDUsIDIxOCwgMTU4LCA5LCAzNCwgCisgICAgMjUxLCA2MywgMjQ1LCAyMTcsIDksIDM0LCAyNDEsIDIzNSwgOSwgMzQsIDI1MSwgNjMsIDI0MCwgMjQ1LCA5LCAzNCwgMjUxLCAKKyAgICAxOTQsIDksIDM0LCAyNDIsIDIyMiwgOSwgMzQsIDI1MSwgNjMsIDI0NCwgOTAsIDksIDM0LCAyNTEsIDYzLCAyNTEsIDIzNywgCisgICAgOSwgMzQsIDI1MSwgNjMsIDIyMiwgMSwgOSwgMzQsIDIxOSwgMTYwLCAyMTIsIDIsIDksIDM0LCAyMTksIDE2MCwgMjExLCAKKyAgICA0MSwgOSwgMzQsIDI1MSwgNjMsIDI0MywgMjQ0LCA5LCAzNCwgMjM1LCAxNDMsIDI0NSwgNDEsIDksIDM0LCAyNTEsIDYzLCAKKyAgICAyNDUsIDQxLCA5LCAzNCwgMjM1LCAxNDMsIDIxNiwgMTUsIDksIDM0LCAyNTEsIDYzLCAyMTYsIDE1LCA5LCAzNCwgMjM1LCAKKyAgICAxNDMsIDI0NiwgOTYsIDksIDM0LCAyNTEsIDYzLCAyNDYsIDk2LCA5LCAzNCwgMjE1LCA5MSwgOSwgMzQsIDIzNSwgMTQzLCAKKyAgICAyMTUsIDkxLCA5LCAzNCwgMjUxLCA2MywgMjE1LCA5MSwgNjAsIDM0LCAxMTAsIDYwLCAzNCwgMjMyLCAyMTMsIDYwLCAzNCwgCisgICAgMjQ3LCAxMjAsIDYwLCAzNCwgMjE5LCA5NSwgNjAsIDM0LCAyMjEsIDE3NSwgNjAsIDM0LCAxMDMsIDYwLCAzNCwgMTA1LCAKKyAgICA2MCwgMzQsIDIzMiwgMjM3LCA2MCwgMzQsIDIzMSwgMTg1LCA2MCwgMzQsIDIzMywgMzMsIDYwLCAzNCwgMjQ1LCAxMjksIAorICAgIDYwLCAzNCwgMTk1LCA2MCwgMzQsIDEyNCwgMjUxLCAxNjMsIDYwLCAzNCwgMjQ5LCAxNDcsIDYwLCAzNCwgMjQwLCAxMTEsIAorICAgIDYwLCAzNCwgMjE3LCA5MiwgNjAsIDM0LCAyMDQsIDI1MSwgMTYzLCA2MCwgMzQsIDIzNCwgMzIsIDYwLCAzNCwgMjI0LCAKKyAgICAyMjQsIDYwLCAzNCwgMjExLCAyMDIsIDYwLCAzNCwgMjE4LCAyNDMsIDYwLCAzNCwgNDQsIDIwNCwgMjUxLCAxNjMsIDYwLCAKKyAgICAzNCwgMjQxLCAxNzYsIDI0NSwgMTQ1LCA2MCwgMzQsIDIxNiwgMjQ3LCA2MCwgMzQsIDI0NywgMTcwLCA2MCwgMzQsIDIyMSwgCisgICAgMTc5LCA2MCwgMzQsIDI1MCwgMTAsIDYwLCAzNCwgMjI0LCAxODIsIDYwLCAzNCwgMjU0LCAyMTUsIDYwLCAzNCwgMjMwLCAKKyAgICAxMTAsIDYwLCAzNCwgMjQ1LCAxNDUsIDYwLCAzNCwgMjQ1LCAyMjMsIDYwLCAzNCwgMjIxLCAyMDAsIDYwLCAzNCwgMjQyLCAKKyAgICAxNzQsIDYwLCAzNCwgMjQyLCAxNzUsIDIxOSwgODEsIDYwLCAzNCwgMjQ1LCA0MCwgNjAsIDM0LCAyNTEsIDI0OCwgNjAsIAorICAgIDM0LCAyMTEsIDIyMSwgNjAsIDM0LCAyNTAsIDEwMSwgNjAsIDM0LCAyMjIsIDE5NiwgNjAsIDM0LCAyMzUsIDI1MSwgNjAsIAorICAgIDM0LCAyMTksIDc5LCA2MCwgMzQsIDIzMywgOTYsIDYwLCAzNCwgMjQ5LCAxNTYsIDYwLCAzNCwgMjE4LCAyMzcsIDYwLCAzNCwgCisgICAgMjMwLCAxMTUsIDYwLCAzNCwgMjIyLCAyMjQsIDYwLCAzNCwgMjExLCAyMDYsIDYwLCAzNCwgMjI2LCAxOTAsIDYwLCAzNCwgCisgICAgMjE1LCA5NywgNjAsIDM0LCAyNDYsIDgwLCA2MCwgMzQsIDIxOSwgMjUxLCAyMTYsIDE0NSwgNjAsIDM0LCAyNDYsIDExOCwgCisgICAgMjUwLCAxMCwgNjAsIDM0LCAxOTksIDIxOCwgMTA4LCA2MCwgMzQsIDExMywgMjQyLCAxMCwgNjAsIDM0LCAyMjAsIDAsIDYwLCAKKyAgICAzNCwgMjUxLCAxNjksIDYwLCAzNCwgMjE5LCA2NSwgNjAsIDM0LCAyNTEsIDEzNywgNjAsIDM0LCAyMTgsIDEzOCwgNjAsIAorICAgIDM0LCAyNDEsIDIyNywgNjAsIDM0LCAyNDIsIDI4LCA2MCwgMzQsIDI0NywgMTIzLCA2MCwgMzQsIDI0MiwgMTUsIDYwLCAzNCwgCisgICAgMjUxLCAxNTQsIDYwLCAzNCwgMjIzLCAxNDcsIDYwLCAzNCwgMjIxLCAxODcsIDYwLCAzNCwgMjQ3LCAxOTksIDYwLCAzNCwgCisgICAgMjUzLCAxNjgsIDYwLCAzNCwgMjE4LCAyMzQsIDYwLCAzNCwgMjI4LCA1MSwgNjAsIDM0LCAyMTgsIDM3LCA2MCwgMzQsIAorICAgIDIyMSwgMjExLCA2MCwgMzQsIDIzMCwgMTI4LCA2MCwgMzQsIDIxNSwgMjM1LCA2MCwgMzQsIDIzMywgMTIyLCA2MCwgMzQsIAorICAgIDIxOCwgMTI5LCA2MCwgMzQsIDI0OCwgODgsIDYwLCAzNCwgMjEyLCAyMSwgNjAsIDM0LCAyNDcsIDE0NiwgMjI4LCA1MSwgCisgICAgNjAsIDM0LCAyNDksIDIxNSwgNjAsIDM0LCAyNDMsIDIyMiwgNjAsIDM0LCAyNTAsIDIxLCA2MCwgMzQsIDIxOCwgMTQyLCAKKyAgICA2MCwgMzQsIDIxMiwgNDAsIDYwLCAzNCwgMjQ0LCA5NiwgNjAsIDM0LCAyNTAsIDE4LCA2MCwgMzQsIDI0NCwgMTYxLCA2MCwgCisgICAgMzQsIDUyLCAyMTEsIDE3OCwgNjAsIDM0LCAxNjMsIDIxNSwgMjM2LCAyMTUsIDE4OCwgNjAsIDM0LCAyMTksIDg5LCA2MCwgCisgICAgMzQsIDI0NCwgMTcxLCA2MCwgMzQsIDI0OSwgMTQ1LCA2MCwgMzQsIDI0NywgMTM2LCA2MCwgMzQsIDIyNCwgMTc5LCA2MCwgCisgICAgMzQsIDIzNSwgMTM3LCA2MCwgMzQsIDIzMSwgNjcsIDYwLCAzNCwgMjE2LCA4OCwgNjAsIDM0LCAyMTcsIDI0NSwgNjAsIDM0LCAKKyAgICAyMzIsIDIzMSwgNjAsIDM0LCAyMTQsIDEzMSwgNjAsIDM0LCAyNDQsIDEyMCwgNjAsIDM0LCAyNTEsIDE5OCwgNjQsIDI0OSwgCisgICAgMjUwLCA2MCwgMzQsIDIxOSwgMTg4LCA2MCwgMzQsIDI0NiwgMTE4LCAyMTYsIDI0MiwgNjAsIDM0LCAyMTEsIDI1MywgNjAsIAorICAgIDM0LCAyMTksIDEwMywgNjAsIDM0LCAyNDcsIDE4NywgNjAsIDM0LCAyNDUsIDE1LCA2MCwgMzQsIDIxOSwgNSwgNjAsIDM0LCAKKyAgICA3NCwgNjAsIDM0LCAyMTgsIDEzMSwgNjAsIDM0LCAyMTgsIDI0OCwgNjAsIDM0LCAyMTUsIDI1NSwgNjAsIDM0LCAyNDIsIAorICAgIDE0NywgNjAsIDM0LCAyNTAsIDIxOCwgNjAsIDM0LCAyMTgsIDE2MCwgNjAsIDM0LCAyNTIsIDE1NCwgNjAsIDM0LCAyMjMsIAorICAgIDMxLCA2MCwgMzQsIDIxOSwgMTY3LCA2MCwgMzQsIDIzNSwgMTMwLCA2MCwgMzQsIDIyOSwgODksIDYwLCAzNCwgMjIwLCA1NywgCisgICAgNjAsIDM0LCAyNDQsIDE0OSwgNjAsIDM0LCAyMjYsIDIwOSwgNjAsIDM0LCAyNTQsIDExOCwgNjAsIDM0LCAyMjUsIDI5LCAKKyAgICA2MCwgMzQsIDI0NSwgMjI3LCA2MCwgMzQsIDI1MSwgMTMyLCA2MCwgMzQsIDIzMSwgODYsIDYwLCAzNCwgMjMwLCAxODMsIAorICAgIDYwLCAzNCwgMjIwLCAxNTYsIDYwLCAzNCwgMjUzLCAyNTIsIDYwLCAzNCwgMjMwLCAxMjMsIDYwLCAzNCwgMjE2LCAxOSwgCisgICAgNjAsIDM0LCAyMjYsIDE2NSwgNjAsIDM0LCAyNTEsIDIwMSwgNjAsIDM0LCAyMTgsIDEyNywgNjAsIDM0LCAyNDksIDIyNSwgCisgICAgNjAsIDM0LCAyNDIsIDEzOSwgNjAsIDM0LCAyMTYsIDEwNiwgNjAsIDM0LCAyMzUsIDIxNywgNjAsIDM0LCAyNTEsIDIxMSwgCisgICAgNjAsIDM0LCAyMTIsIDU4LCAyNDUsIDE0NSwgNjAsIDM0LCAyNDksIDI0OSwgNjAsIDM0LCAyMTIsIDgsIDYwLCAzNCwgMjIxLCAKKyAgICAxNzAsIDYwLCAzNCwgMjQwLCAyNDgsIDYwLCAzNCwgMjE5LCAyLCA2MCwgMzQsIDIxNCwgMjIsIDYwLCAzNCwgMjUyLCA3MiwgCisgICAgNjAsIDM0LCAyMjUsIDczLCA2MCwgMzQsIDI1MiwgMTc0LCA2MCwgMzQsIDIyMCwgNTIsIDYwLCAzNCwgMjIzLCAxMTAsIDYwLCAKKyAgICAzNCwgMjIyLCAxMjYsIDYwLCAzNCwgMjQ0LCAzMiwgNjAsIDM0LCAyNTEsIDIwMCwgNjAsIDM0LCAyNTAsIDIyOCwgNjAsIAorICAgIDM0LCAyNTEsIDIyNiwgNjAsIDM0LCAyMzAsIDEyNSwgNjAsIDM0LCAyMTIsIDU3LCA2MCwgMzQsIDI1MCwgMjcsIDYwLCAzNCwgCisgICAgMjExLCAyMzYsIDYwLCAzNCwgMjQ3LCAxODAsIDYwLCAzNCwgMjEzLCAxNjEsIDYwLCAzNCwgMjQyLCAxNjYsIDYwLCAzNCwgCisgICAgMjMyLCAxMzcsIDYwLCAzNCwgMjQzLCA4OCwgNjAsIDM0LCAyMzAsIDExOCwgNjAsIDM0LCAyMTksIDk0LCA2MCwgMzQsIAorICAgIDIxOSwgMjUxLCAyMTcsIDc2LCAyNTEsIDIzNywgNjAsIDM0LCAyMjMsIDE1OSwgNjAsIDM0LCAyNTEsIDIwNywgNjAsIDM0LCAKKyAgICAyMTEsIDE5NywgNjAsIDM0LCAyNDQsIDE5MCwgNjAsIDM0LCAyMzMsIDUyLCA2MCwgMzQsIDIxNywgNTYsIDIzMywgNTIsIAorICAgIDYwLCAzNCwgMjMzLCA0OCwgNjAsIDM0LCAyMTksIDMwLCA2MCwgMzQsIDIzMywgNTMsIDYwLCAzNCwgMjExLCAyMzksIDYwLCAKKyAgICAzNCwgMjQ0LCA0NiwgNjAsIDM0LCAyNDUsIDIxNywgNjAsIDM0LCAyNDEsIDIzNSwgNjAsIDM0LCAyNDQsIDAsIDYwLCAzNCwgCisgICAgMjQwLCAyNDUsIDYwLCAzNCwgMjUxLCAxOTQsIDYwLCAzNCwgMjE3LCA2MywgNjAsIDM0LCAyNDIsIDM0LCA2MCwgMzQsIAorICAgIDI0NCwgMTEzLCA2MCwgMzQsIDIyMiwgMjgsIDIxMSwgMjM2LCA2MCwgMzQsIDI1MCwgMjIwLCA2MCwgMzQsIDI0MiwgMjIyLCAKKyAgICA2MCwgMzQsIDI0NCwgOTAsIDYwLCAzNCwgMjUxLCAyMzcsIDYwLCAzNCwgMjIyLCAxLCA2MCwgMzQsIDI0OCwgNzQsIDYwLCAKKyAgICAzNCwgMjEyLCAyLCA2MCwgMzQsIDI0MSwgMjEwLCA2MCwgMzQsIDIxMSwgNDEsIDYwLCAzNCwgMjMwLCAxOTIsIDYwLCAzNCwgCisgICAgMjUxLCAyMjEsIDYwLCAzNCwgMjQ1LCAxNTUsIDYwLCAzNCwgMjQzLCAyNDQsIDYwLCAzNCwgMjE1LCAyMDksIDYwLCAzNCwgCisgICAgMjQ2LCA4MiwgNjAsIDM0LCAyMjMsIDE0MSwgNjAsIDM0LCAyMjgsIDUzLCA2MCwgMzQsIDI0NSwgNDEsIDYwLCAzNCwgMjE2LCAKKyAgICAxNSwgNjAsIDM0LCAyNDYsIDk2LCA2MCwgMzQsIDIxNSwgOTEsIDYwLCAzNCwgMjQ0LCA0OCwgMTA5LCAyNDgsIDM3LCAxMzUsIAorICAgIDQzLCAyMTYsIDQyLCAyMjIsIDI1MSwgMTA5LCAyNDgsIDM3LCAxMzUsIDc3LCAyMTYsIDQyLCA1MSwgMTA5LCAyNDgsIDM3LCAKKyAgICAxMzUsIDQzLCAyMTYsIDQyLCAyMzAsIDIyNCwgMjIsIDIyMiwgMjUxLCAxMDksIDI0OCwgMzcsIDEzNSwgNzcsIDIxNiwgNDIsIAorICAgIDIzMCwgMjI0LCAyMiwgNTEsIDEwOSwgMjQ4LCAzNywgMTM1LCAyNDMsIDIyOSwgMjE4LCAxMCwgMTA5LCAyNDgsIDM3LCAKKyAgICAxMzUsIDIxOCwgMTEsIDI0MywgMjQzLCA0OCwgMTA5LCAyNDgsIDM3LCAxMzUsIDIxOCwgMTEsIDI0MywgMjQzLCA1MSwgCisgICAgMTA5LCAyNDgsIDM3LCAxMzUsIDIxOCwgMTEsIDI0MywgMjQzLCAyMzMsIDQ2LCAxMDksIDI0OCwgMzcsIDEzNSwgMjE4LCAKKyAgICAxMSwgMjQzLCAyNDMsIDIxNCwgMTYwLCAyMzMsIDQ2LCAxMDksIDI0OCwgMzcsIDEzNSwgMjE4LCAxMSwgMjQzLCAyNDMsIAorICAgIDIxNCwgMTYwLCAyMjIsIDI1MSwgMTA5LCAyNDgsIDM3LCAxMzUsIDIxOCwgMTEsIDI0MywgMjQzLCAyMzIsIDEwOCwgMjMzLCAKKyAgICA0NiwgMTA5LCAyNDgsIDM3LCAxMzUsIDIyNiwgMTIyLCAxMDksIDIxOSwgMTgsIDEwOSwgMjQ5LCAyMTksIDEwOSwgMjQzLCAKKyAgICAyMjksIDIxOCwgMTI5LCAyNDcsIDE3NywgNzgsIDIzNSwgMTMxLCAyMzUsIDIzNiwgMjE4LCAxNTksIDg3LCAxMDksIDIzNSwgCisgICAgMTU4LCA3OCwgMTA5LCAyNDksIDI1MiwgNzgsIDEwOSwgNTQsIDIxMCwgODYsIDQzLCAyNTQsIDExMCwgMTI3LCA0NCwgMjU0LCAKKyAgICAxMTAsIDEyNywgNDMsIDUyLCAyNTQsIDExMCwgMTI3LCA0NCwgNTIsIDI1NCwgMTEwLCAxMjcsIDQzLCAyNDksIDE2MSwgCisgICAgMTI3LCA0NCwgMjQ5LCAxNjEsIDEyNywgNDMsIDcxLCAyNDksIDE2MSwgMTI3LCA0NCwgNzEsIDI0OSwgMTYxLCAxMjcsIDQzLCAKKyAgICA4NSwgMjMzLCAyMCwgMTI3LCA0NCwgODUsIDIzMywgMjAsIDEyNywgMjI0LCAyMzcsIDc4LCAyNDMsIDMyLCA3OCwgNDMsIAorICAgIDIxNiwgNiwgMjIwLCA1MywgMTI3LCA0NCwgMjE2LCA2LCAyMjAsIDUzLCAxMjcsIDQzLCA3MSwgMjMzLCAyMCwgMTI3LCA0NCwgCisgICAgNzEsIDIzMywgMjAsIDEyNywgNDMsIDcxLCAyMTYsIDYsIDIyMCwgNTMsIDEyNywgNDQsIDcxLCAyMTYsIDYsIDIyMCwgNTMsIAorICAgIDEyNywgNDMsIDcxLCA0MiwgMTI3LCA0NCwgNzEsIDQyLCAxMjcsIDIxMiwgMzYsIDI0OCwgMTU2LCAyMjMsIDQ5LCA1MiwgCisgICAgMjI0LCAxOTEsIDIyMywgMjU0LCA3OCwgNTIsIDIyNCwgMTkxLCAyMjMsIDI1NCwgNzgsIDEyMSwgNTIsIDIyNCwgMTkxLCAKKyAgICAyMjMsIDI1NCwgNzgsIDIyNCwgMjM3LCAxNjQsIDI0NCwgMTkwLCAyNDIsIDgsIDIyNywgMTk4LCAxMTAsIDI0MiwgOCwgCisgICAgMjI3LCAxOTgsIDEwNSwgMjQyLCA4LCAyMjcsIDE5OCwgMTU4LCAyNDIsIDgsIDIyNywgMTk4LCAxNjEsIDI0MiwgOCwgMjI3LCAKKyAgICAxOTgsIDE4OSwgMjQyLCA4LCAyMjcsIDE5OCwgMTk0LCAyNDIsIDgsIDIyNywgMTk4LCAxOTgsIDI0MiwgOCwgMjI3LCAxOTgsIAorICAgIDE5NSwgMjQyLCA4LCAyMjcsIDE5OCwgMjAwLCAxMDksIDIzMywgMywgMTM4LCA3OCwgMTA5LCAyMjIsIDIyOCwgMTM4LCA3OCwgCisgICAgMTA5LCAyNDgsIDQ0LCAxMzgsIDc4LCAxMDksIDI0NSwgMTI4LCAxMzgsIDc4LCAyNCwgMjE5LCAxNTUsIDU5LCAxMzgsIDc4LCAKKyAgICAyNCwgNTIsIDU5LCAxMzgsIDc4LCAyMTIsIDMyLCAyNDgsIDE1NiwgNjcsIDIzNCwgMjMzLCAyMjMsIDc3LCA3OCwgNjcsIAorICAgIDIzNCwgMjMzLCAyMjMsIDc3LCAyLCAyMTMsIDEzNSwgMjE5LCAzMSwgNzgsIDY3LCAyMzQsIDIzMywgMjIzLCA3NywgMTY0LCAKKyAgICAyMTQsIDE2MCwgMjQyLCAyNywgNjcsIDIzNCwgMjMzLCAyMjMsIDc3LCAyLCAyMTMsIDEzNSwgMjE5LCAzMSwgMTY0LCAyMTQsIAorICAgIDE2MCwgMjQyLCAyNywgNjcsIDIzNCwgMjMzLCAyMjMsIDc3LCAxNjQsIDIzMiwgMTA4LCAyNDIsIDI3LCAzNywgMjI0LCAKKyAgICAyMzcsIDc4LCAxMDksIDIxNywgMywgMjMyLCAyMTQsIDI0NCwgMTQ2LCAyMjAsIDEzOCwgODcsIDI0MiwgOCwgMjI3LCAxOTgsIAorICAgIDIxNiwgMjQ3LCAyNDIsIDgsIDIyNywgMTk4LCAyMTUsIDczLCAyNDIsIDgsIDIyNywgMTk4LCAyMTYsIDE2MiwgNjcsIDEwOSwgCisgICAgMjM1LCAxNTgsIDc4LCAyMzEsIDE0MCwgNzgsIDIyNSwgMjU1LCAyNTQsIDE0MCwgNzgsIDEwOSwgNDUsIDIzNSwgMjM4LCAKKyAgICAxMDksIDE2MywgMjQ0LCAxMDYsIDIxOSwgMTgsIDE0MSwgMSwgNCwgNjEsIDE0MSwgMSwgNjEsIDE0MSwgMSwgNCwgNzMsIAorICAgIDE0MSwgMSwgNzMsIDE0MSwgMSwgNCwgNzAsIDE0MSwgMSwgNzAsIDE0MSwgMSwgNCwgNzUsIDE0MSwgMSwgNzUsIDE0MSwgMSwgCisgICAgNCwgNzYsIDE0MSwgMSwgNzYsIDE0MSwgMSwgMTc2LCAxNDEsIDEsIDI0MywgMTM1LCAxNDEsIDEsIDIzNCwgOTIsIDE0MSwgCisgICAgMSwgMjQyLCAyMTQsIDE0MSwgMSwgMjMzLCAyMTcsIDE0MSwgMSwgMjQyLCAxMTMsIDE0MSwgMSwgMjM0LCAxODIsIDE0MSwgCisgICAgMSwgMjQzLCA2MiwgMTQxLCAxLCAyMzQsIDI4LCAxNDEsIDEsIDI0MiwgMTc0LCAxNDEsIDEsIDIwNiwgMTQxLCAxLCAyMTAsIAorICAgIDExNiwgMTQxLCAxLCAyMTksIDE5MSwgMTQxLCAxLCAyMTAsIDQ0LCAxNDEsIDEsIDIxOCwgODMsIDE0MSwgMSwgMjEwLCAxMywgCisgICAgMTQxLCAxLCAyMjEsIDE4MSwgMTQxLCAxLCAyMTAsIDk0LCAxNDEsIDEsIDIxOSwgNTgsIDE0MSwgMSwgMjEwLCAyMywgMTQxLCAKKyAgICAxLCAyMTcsIDEwNSwgMTQxLCAxLCAyNDgsIDIyMSwgMTQxLCAxLCAyMTYsIDExNywgMTQxLCAxLCAyNDgsIDMsIDE0MSwgMSwgCisgICAgNCwgMjE1LCAxMTgsIDE0MSwgMSwgMjE1LCAxMTgsIDE0MSwgMSwgMjQ2LCA3OCwgMTQxLCAxLCAyMTcsIDIyLCAxNDEsIDEsIAorICAgIDI0OCwgOTAsIDE0MSwgMSwgMTExLCAxNDEsIDEsIDI0NywgMTQ1LCAxNDEsIDEsIDE5NywgMTQxLCAxLCAyMjgsIDIzMywgCisgICAgMTQxLCAxLCAyMjcsIDIzNywgMTQxLCAxLCAyMjksIDEwNywgMTQxLCAxLCAyMjgsIDc0LCAxNDEsIDEsIDE2MiwgMTQxLCAxLCAKKyAgICAyNTIsIDE5MSwgMTQxLCAxLCAxOTAsIDE0MSwgMSwgMjQxLCAxODAsIDE0MSwgMSwgMjUyLCA2LCAxNDEsIDEsIDIyNSwgCisgICAgMTA4LCAxNDEsIDEsIDI0MCwgMjIyLCAxNDEsIDEsIDI1MSwgMTI1LCAxNDEsIDEsIDIyNCwgMTUwLCAxNDEsIDEsIDI0MSwgCisgICAgMjM4LCAxNDEsIDEsIDI1MiwgNzUsIDE0MSwgMSwgMjI1LCAyMjEsIDE0MSwgMSwgMjQxLCA2OCwgMTQxLCAxLCAyNTEsIAorICAgIDIwNSwgMTQxLCAxLCAyMjUsIDE2LCAxNDEsIDEsIDE4NCwgMTQxLCAxLCAyMzAsIDIzMCwgMTQxLCAxLCAyMzAsIDEwMiwgCisgICAgMTQxLCAxLCAyMzEsIDkxLCAxNDEsIDEsIDIzMCwgMTYxLCAxNDEsIDEsIDQsIDE5MSwgMTQxLCAxLCAxOTEsIDE0MSwgMSwgCisgICAgNCwgMjEwLCAyMTIsIDE0MSwgMSwgMjEwLCAyMTIsIDE0MSwgMSwgNCwgMjEwLCAyNDQsIDE0MSwgMSwgMjEwLCAyNDQsIAorICAgIDE0MSwgMSwgMjA1LCAxNDEsIDEsIDIyMywgMzUsIDE0MSwgMSwgMjIyLCAxNDAsIDE0MSwgMSwgMjIzLCAxMjgsIDE0MSwgMSwgCisgICAgMjIyLCAyMTEsIDE0MSwgMSwgNCwgMjEyLCA2NSwgMTQxLCAxLCAyMTIsIDY1LCAxNDEsIDEsIDIxMSwgMjUwLCAxNDEsIDEsIAorICAgIDIxMiwgMjIsIDE0MSwgMSwgMjExLCAyMjcsIDE0MSwgMSwgMjMwLCAyNSwgMTQxLCAxLCAyMTIsIDExNiwgMTQxLCAxLCA0LCAKKyAgICAxNzYsIDE0MSwgMSwgNCwgMjM0LCAxODIsIDM4LCAyMzQsIDIwMSwgMjEzLCAxMzUsIDIxOSwgMzEsIDc4LCAzOCwgMjM0LCAKKyAgICAyMDEsIDIyMCwgMTU1LCAyMTksIDMxLCA3OCwgMjM0LCAyMDEsIDIxMywgMTM1LCAyMTksIDMxLCA3OCwgMjM0LCAyMDEsIAorICAgIDIyMCwgMTU1LCAyMTksIDMxLCA3OCwgMTQxLCAyMzUsIDE1OCwgNzgsIDE0MSwgMjEzLCAxMzUsIDIzNSwgMTU4LCA3OCwgCisgICAgMTQxLCAyNDcsIDIyMSwgMjEwLCAyMjUsIDIzNCwgMjAxLCA1MiwgMjQwLCAxNjgsIDU2LCAxLCA0LCA2MSwgNTYsIDEsIDYxLCAKKyAgICA1NiwgMSwgNCwgNzMsIDU2LCAxLCA3MywgNTYsIDEsIDQsIDcwLCA1NiwgMSwgNzAsIDU2LCAxLCA0LCA3NSwgNTYsIDEsIAorICAgIDc1LCA1NiwgMSwgNCwgNzYsIDU2LCAxLCA3NiwgNTYsIDEsIDE3NiwgNTYsIDEsIDI0MywgMTM1LCA1NiwgMSwgMjM0LCA5MiwgCisgICAgNTYsIDEsIDI0MiwgMjE0LCA1NiwgMSwgMjMzLCAyMTcsIDU2LCAxLCAyNDIsIDExMywgNTYsIDEsIDIzNCwgMTgyLCA1NiwgCisgICAgMSwgMjQzLCA2MiwgNTYsIDEsIDIzNCwgMjgsIDU2LCAxLCAyNDIsIDE3NCwgNTYsIDEsIDIwNiwgNTYsIDEsIDIxMCwgMTE2LCAKKyAgICA1NiwgMSwgMjE5LCAxOTEsIDU2LCAxLCAyMTAsIDQ0LCA1NiwgMSwgMjE4LCA4MywgNTYsIDEsIDIxMCwgMTMsIDU2LCAxLCAKKyAgICAyMjEsIDE4MSwgNTYsIDEsIDIxMCwgOTQsIDU2LCAxLCAyMTksIDU4LCA1NiwgMSwgMjEwLCAyMywgNTYsIDEsIDIxNywgCisgICAgMTA1LCA1NiwgMSwgMjQ4LCAyMjEsIDU2LCAxLCAyMTYsIDExNywgNTYsIDEsIDI0OCwgMywgNTYsIDEsIDQsIDIxNSwgMTE4LCAKKyAgICA1NiwgMSwgMjE1LCAxMTgsIDU2LCAxLCAyNDYsIDc4LCA1NiwgMSwgMjE3LCAyMiwgNTYsIDEsIDI0OCwgOTAsIDU2LCAxLCAKKyAgICAxMTEsIDU2LCAxLCAyNDcsIDE0NSwgNTYsIDEsIDE5NywgNTYsIDEsIDIyOCwgMjMzLCA1NiwgMSwgMjI3LCAyMzcsIDU2LCAKKyAgICAxLCAyMjksIDEwNywgNTYsIDEsIDIyOCwgNzQsIDU2LCAxLCAxNjIsIDU2LCAxLCAyNTIsIDE5MSwgNTYsIDEsIDE5MCwgNTYsIAorICAgIDEsIDI0MSwgMTgwLCA1NiwgMSwgMjUyLCA2LCA1NiwgMSwgMjI1LCAxMDgsIDU2LCAxLCAyNDAsIDIyMiwgNTYsIDEsIDI1MSwgCisgICAgMTI1LCA1NiwgMSwgMjI0LCAxNTAsIDU2LCAxLCAyNDEsIDIzOCwgNTYsIDEsIDI1MiwgNzUsIDU2LCAxLCAyMjUsIDIyMSwgCisgICAgNTYsIDEsIDI0MSwgNjgsIDU2LCAxLCAyNTEsIDIwNSwgNTYsIDEsIDIyNSwgMTYsIDU2LCAxLCAxODQsIDU2LCAxLCAyMzAsIAorICAgIDIzMCwgNTYsIDEsIDIzMCwgMTAyLCA1NiwgMSwgMjMxLCA5MSwgNTYsIDEsIDIzMCwgMTYxLCA1NiwgMSwgNCwgMTkxLCA1NiwgCisgICAgMSwgMTkxLCA1NiwgMSwgNCwgMjEwLCAyMTIsIDU2LCAxLCAyMTAsIDIxMiwgNTYsIDEsIDQsIDIxMCwgMjQ0LCA1NiwgMSwgCisgICAgMjEwLCAyNDQsIDU2LCAxLCAyMDUsIDU2LCAxLCAyMjMsIDM1LCA1NiwgMSwgMjIyLCAxNDAsIDU2LCAxLCAyMjMsIDEyOCwgCisgICAgNTYsIDEsIDIyMiwgMjExLCA1NiwgMSwgNCwgMjEyLCA2NSwgNTYsIDEsIDIxMiwgNjUsIDU2LCAxLCAyMTEsIDI1MCwgNTYsIAorICAgIDEsIDIxMiwgMjIsIDU2LCAxLCAyMTEsIDIyNywgNTYsIDEsIDIzMCwgMjUsIDU2LCAxLCAyMTIsIDExNiwgNTYsIDEsIDQsIAorICAgIDE3NiwgNTYsIDEsIDQsIDIzNCwgMTgyLCA1NiwgMSwgMjE0LCAyNywgNTYsIDEsIDIxMywgMTc2LCA1NiwgMSwgMjEzLCAKKyAgICAyNTUsIDU2LCAxLCAyMTMsIDEzOCwgNTYsIDIzMCwgMjI0LCAyNDcsIDEyMCwgMjM0LCAyMDEsIDIyNCwgMTczLCAyMTksIAorICAgIDMxLCA3OCwgNTYsIDIzNSwgMTU4LCA3OCwgNTYsIDIxMywgMTM1LCAyMzUsIDE1OCwgNzgsIDU2LCAyNDcsIDIyMSwgMjMzLCAKKyAgICAyNTUsIDI1MSwgMTg0LCAxLCAyNTMsIDE1OCwgMjUxLCAxODQsIDEsIDIyNiwgMTA1LCAyNTEsIDE4NCwgMSwgMTkzLCAyNTEsIAorICAgIDE4NCwgMSwgMjQ1LCA2LCAyNTEsIDE4NCwgMSwgMjQ5LCA2MCwgMjUxLCAxODQsIDEsIDIxNywgMTUyLCAyNTEsIDE4NCwgMSwgCisgICAgMjMwLCAyNSwgMjUxLCAxODQsIDEsIDE1NiwgMjUxLCAxODQsIDEsIDI0MywgMjAyLCAyNTEsIDE4NCwgMSwgMjM1LCAyMywgCisgICAgMjUxLCAxODQsIDEsIDI0MiwgNjAsIDI1MSwgMTg0LCAxLCAyMzUsIDE0NCwgMjUxLCAxODQsIDEsIDIyNCwgOTYsIDI1MSwgCisgICAgMTg0LCAxLCAyMTEsIDE3OCwgMjUxLCAxODQsIDEsIDIxMCwgODMsIDI1MSwgMTg0LCAxLCAyNTAsIDE1OCwgMjUxLCAxODQsIAorICAgIDEsIDIyMCwgMTA0LCAyNTEsIDE4NCwgMSwgMTUzLCAyNTEsIDE4NCwgMSwgMjEwLCAxNTksIDI1MSwgMTg0LCAxLCAyNTEsIAorICAgIDY2LCAyNTEsIDE4NCwgMSwgMjIyLCA5MSwgMjUxLCAxODQsIDEsIDYxLCAyNTEsIDE4NCwgMSwgNzYsIDI1MSwgMTg0LCAxLCAKKyAgICA3NSwgMjUxLCAxODQsIDEsIDI0NSwgMTk3LCAyNTEsIDE4NCwgMSwgMjU0LCAyMDEsIDI1MSwgMTg0LCAxLCAyNDUsIDE5NSwgCisgICAgMjUxLCAxODQsIDEsIDI1MywgMTkyLCAyNTEsIDE4NCwgMSwgMjI2LCAxMzQsIDI1MSwgMTg0LCAxLCAyNTQsIDEyMywgMjUxLCAKKyAgICAxODQsIDEsIDI0NSwgMTUwLCAyNTEsIDE4NCwgMSwgMjU0LCAxMTUsIDI1MSwgMTg0LCAxLCAyNDUsIDEzOCwgMjUxLCAxODQsIAorICAgIDEsIDI0NSwgOTIsIDI1MSwgMTg0LCAxLCA3MywgMjUxLCAxODQsIDEsIDcwLCAyNTEsIDE4NCwgMSwgMjM1LCAxNTYsIDI1MSwgCisgICAgMTg0LCAxLCAyMTQsIDEwNSwgMjUxLCAxODQsIDEsIDIyOSwgNzksIDI1MSwgMTg0LCAxLCAyNDIsIDE3OCwgMjUxLCAxODQsIAorICAgIDEsIDIzNiwgMzQsIDI0LCAxLCAyMzQsIDU4LCAyNCwgMSwgMjE4LCAyMTUsIDI0LCAxLCAyMzQsIDUxLCAyNCwgMSwgMjI4LCAKKyAgICAyMjYsIDI0LCAxLCAyMjgsIDIyNCwgMjQsIDEsIDIyOCwgMjIzLCAyNCwgMSwgMjE2LCAxMDEsIDI0LCAxLCAyMTgsIDIwNCwgCisgICAgMjQsIDEsIDIyMywgMjYsIDI0LCAxLCAyMjMsIDIxLCAyNCwgMSwgMjIzLCAxOCwgMjQsIDEsIDIyMywgMTEsIDI0LCAxLCAKKyAgICAyMjMsIDYsIDI0LCAxLCAyMjMsIDEsIDI0LCAxLCAyMjMsIDEyLCAyNCwgMSwgMjIzLCAyNCwgMjQsIDEsIDIzMCwgMjE3LCAKKyAgICAyNCwgMSwgMjI1LCA5NSwgMjQsIDEsIDIxOCwgMjEyLCAyNCwgMSwgMjI1LCA4NCwgMjQsIDEsIDIxOSwgMTQ4LCAyNCwgMSwgCisgICAgMjE4LCAyMDksIDI0LCAxLCAyMzYsIDU2LCAyNCwgMSwgMjUwLCA0NiwgMjQsIDEsIDIxOCwgMjE5LCAyNCwgMSwgMjUwLCAKKyAgICAxMDYsIDI0LCAxLCAyMzQsIDExMCwgMjQsIDEsIDIxNiwgMTczLCAyNCwgMSwgMjI1LCAxMzEsIDI0LCAxLCAyNDEsIDE3MiwgCisgICAgMjQsIDEsIDYxLCAyNCwgMSwgMjU0LCAyNDMsIDI0LCAxLCAxOTEsIDI0LCAxLCAyMTEsIDkyLCAyNCwgMSwgMjQ1LCAxMTcsIAorICAgIDI0LCAxLCA3NSwgMjQsIDEsIDIxMSwgMzYsIDI0LCAxLCAyMTEsIDQ3LCAyNCwgMSwgNzYsIDI0LCAxLCAyMTIsIDY1LCAyNCwgCisgICAgMSwgMjEyLCA2MiwgMjQsIDEsIDIyNiwgMjM0LCAyNCwgMSwgMjEwLCAyNDQsIDI0LCAxLCA3MCwgMjQsIDEsIDIxMiwgMTEsIAorICAgIDI0LCAxLCAyMTIsIDIyLCAyNCwgMSwgMjExLCAyNTAsIDI0LCAxLCAyMTAsIDIxMiwgMjQsIDEsIDI0NSwgNTUsIDI0LCAxLCAKKyAgICAyMTEsIDgsIDI0LCAxLCA3MywgMjQsIDI0NCwgMTAzLCAyNCwgMSwgMjE4LCAyMTMsIDI0LCAxLCAyMjgsIDIxNiwgMjQsIDEsIAorICAgIDIyOCwgMjE4LCAyNCwgMSwgMjI4LCAyMjEsIDI0LCAxLCAyMjMsIDE5LCAyNCwgMSwgMjIzLCAwLCAyNCwgMSwgMjIzLCA4LCAKKyAgICAyNCwgMSwgMjIzLCAxMywgMjQsIDEsIDIyMiwgMjU0LCAyNCwgMSwgMjMwLCAyMTAsIDI0LCAxLCAyMzAsIDIwNywgMjQsIDEsIAorICAgIDIzMCwgMjExLCAyNCwgMSwgMjM0LCAyMjEsIDI0LCAxLCAyMjUsIDkwLCAyNCwgMSwgMjI1LCA3NiwgMjQsIDEsIDIyNSwgCisgICAgODIsIDI0LCAxLCAyMjUsIDc5LCAyNCwgMSwgMjI1LCA5MywgMjQsIDEsIDIyNSwgNzcsIDI0LCAxLCAyMzQsIDIxOSwgMjQsIAorICAgIDEsIDIzNCwgMjE3LCAyNCwgMSwgMjE5LCAxNDEsIDI0LCAxLCAyMTksIDEzOSwgMjQsIDEsIDIxOSwgMTMxLCAyNCwgMSwgCisgICAgMjE5LCAxMzYsIDI0LCAxLCAyMTksIDE0NiwgMjQsIDEsIDIyNiwgMzIsIDI0LCAxLCAyMTgsIDIxNiwgMjQsIDEsIDIxMSwgCisgICAgMjYsIDI0LCAxLCAyMTEsIDIyLCAyNCwgMSwgMjExLCAyMywgMjQsIDEsIDIzNCwgMjIwLCAyNCwgMSwgMjE4LCAyMTcsIDI0LCAKKyAgICAxLCAyMTEsIDMyLCAyNCwgMSwgMjEwLCAyMzgsIDI0LCAxLCAyMTAsIDIzNywgMjQsIDEsIDIxMCwgMjQwLCAyNCwgMSwgCisgICAgMjEwLCAyMDMsIDI0LCAxLCAyMTAsIDIwNCwgMjQsIDEsIDIxMCwgMjA3LCAyNCwgMSwgMjU0LCAzNCwgMjQsIDEsIDI1NCwgCisgICAgMjgsIDEwOSwgMjU0LCA5OSwgMjMyLCAyMDMsIDc4LCAxMDksIDI1NCwgOTksIDIyMywgNTAsIDc4LCAxMDksIDI1NCwgOTksIAorICAgIDEyMywgNzgsIDEwOSwgMjU0LCA5OSwgMTEzLCA3OCwgMTA5LCAyNTQsIDk5LCAxMzQsIDc4LCAxMDksIDI1NCwgOTksIDI0NCwgCisgICAgMTEsIDc4LCAxMDksIDI1NCwgOTksIDIxNiwgMTQsIDc4LCAxMDksIDI1NCwgOTksIDIzMCwgMjI0LCA3OCwgMTA5LCAyNTQsIAorICAgIDk5LCAyNTEsIDE3NSwgNzgsIDEwOSwgMjU0LCA5OSwgMjQ0LCA5MiwgNzgsIDEwOSwgMjU0LCA5OSwgMjIxLCAxNzYsIDc4LCAKKyAgICAxMDksIDI1NCwgOTksIDIxNiwgMTY5LCA3OCwgMTA5LCAyNTQsIDk5LCAyNDQsIDQsIDc4LCAxMDksIDI1NCwgOTksIDI0MSwgCisgICAgMjI0LCA3OCwgMTA5LCAyNTQsIDk5LCAyNDUsIDIyNCwgNzgsIDEwOSwgMjU0LCA5OSwgMjMxLCAxODYsIDc4LCAyNTEsIAorICAgIDE4NCwgMSwgMjUxLCAxMjUsIDI1MSwgMTg0LCAxLCAyMTAsIDQ0LCAyNTEsIDE4NCwgMSwgMjM1LCAxMDgsIDI1MSwgMTg0LCAKKyAgICAxLCAyNDIsIDExMywgMjUxLCAxODQsIDEsIDI0NSwgMjA5LCAyNTEsIDE4NCwgMSwgMjQ1LCAxMzUsIDI1MSwgMTg0LCAxLCAKKyAgICAyMjYsIDE4MywgMjUxLCAxODQsIDEsIDIyNiwgMTg3LCAyNTEsIDE4NCwgMSwgMjM1LCAxNzksIDI1MSwgMTg0LCAxLCAyNTQsIAorICAgIDEwMSwgMjUxLCAxODQsIDEsIDIzNSwgMjI0LCAyNTEsIDE4NCwgMSwgMjE0LCAxNjgsIDI1MSwgMTg0LCAxLCAyMzYsIDE2LCAKKyAgICAyNTEsIDE4NCwgMSwgMjI5LCA1NywgMjUxLCAxODQsIDEsIDI1NCwgMTk1LCAyNTEsIDE4NCwgMSwgMjUzLCAxODcsIDI1MSwgCisgICAgMTg0LCAxLCAyNTQsIDEzNiwgMjUxLCAxODQsIDEsIDIyNiwgMjA0LCAyNTEsIDE4NCwgMSwgMjI2LCAxODksIDI1MSwgMTg0LCAKKyAgICAxLCAyMzUsIDIyMSwgMjUxLCAxODQsIDQwLCAxLCAyMjYsIDEwNSwgMjUxLCAxODQsIDQwLCAxLCAyMTcsIDE1MiwgMjUxLCAKKyAgICAxODQsIDQwLCAxLCAyMzUsIDIzLCAyNTEsIDE4NCwgNDAsIDEsIDI0MiwgNjAsIDI1MSwgMTg0LCAxLCAyNDIsIDI1MCwgCisgICAgMjUxLCAxODQsIDEsIDIzMiwgMjU1LCAyNTEsIDE4NCwgMSwgMjA5LCAyNTAsIDksIDIxOCwgMTAzLCAyMTcsIDE1MiwgOSwgCisgICAgMjE4LCAxMDMsIDIxMiwgNCwgOSwgMjE4LCAxMDMsIDIxMSwgMTU4LCA5LCAyMTgsIDEwMywgMjUxLCA3OSwgOSwgMjE4LCAKKyAgICAxMDMsIDIxNywgMjU0LCA5LCAyMTgsIDEwMywgMjQwLCAxNTgsIDksIDIxOCwgMTAzLCAyNDAsIDE2MiwgOSwgMjE4LCAxMDMsIAorICAgIDI0MCwgMjMxLCA5LCAyMTgsIDEwMywgMjQwLCAxNTksIDksIDIxOCwgMTAzLCAyMTcsIDE1NSwgOSwgMjE4LCAxMDMsIDI0MCwgCisgICAgMTYxLCA5LCAyMTgsIDEwMywgMjQwLCAxNTcsIDksIDIxOCwgMTAzLCAyNDAsIDIyOSwgOSwgMjE4LCAxMDMsIDI0MCwgMTYwLCAKKyAgICA5LCAyMTgsIDEwMywgMjQwLCAxNTYsIDksIDIxOCwgMTAzLCAyMzAsIDI1LCA5LCAyMTgsIDEwMywgMjQyLCA2MCwgOSwgCisgICAgMjE4LCAxMDMsIDIyMiwgOTEsIDksIDIxOCwgMTAzLCAyMjYsIDEwNSwgOSwgMjE4LCAxMDMsIDIxOSwgMjEsIDksIDIxOCwgCisgICAgMTAzLCAyNDksIDYwLCA5LCAyMTgsIDEwMywgMjQwLCAxNjMsIDksIDIxOCwgMTAzLCAyNDEsIDE5MCwgOSwgMjE4LCAxMDMsIAorICAgIDIxNywgMTY0LCA5LCAyMTgsIDEwMywgMjE3LCAyMzMsIDksIDIxOCwgMTAzLCAyMTgsIDE2OCwgOSwgMjE4LCAxMDMsIDIyMCwgCisgICAgMTEwLCA5LCAyMTgsIDEwMywgMjI1LCAyMjQsIDksIDIxOCwgMTAzLCAyMjQsIDk4LCA5LCAyMTgsIDEwMywgMjE2LCA0MywgCisgICAgOSwgMjE4LCAxMDMsIDIxNywgMTU0LCA5LCAyMTgsIDEwMywgMjE3LCAyNDQsIDksIDIxOCwgMTAzLCAyNDAsIDE3MCwgOSwgCisgICAgMjE4LCAxMDMsIDI0MCwgMTU1LCA5LCAyMTgsIDEwMywgMjI1LCAxNDksIDksIDIxOCwgMTAzLCAyMjQsIDk2LCA1NiwgMSwgCisgICAgNCwgMjMzLCAyMTcsIDU2LCAxLCA0LCAyMTksIDE5MSwgNTYsIDEsIDQsIDIxOCwgODMsIDU2LCAxLCA0LCAxMTEsIDU2LCAxLCAKKyAgICA0LCAyMjcsIDIzNywgNTYsIDEsIDQsIDE2MiwgNTYsIDEsIDQsIDI0MSwgMTgwLCA1NiwgMSwgNCwgMjQwLCAyMjIsIDU2LCAKKyAgICAxLCA0LCAyNDEsIDIzOCwgNTYsIDEsIDQsIDI0MSwgNjgsIDU2LCAxLCA0LCAyMzAsIDEwMiwgNTYsIDEsIDQsIDIwNSwgNTYsIAorICAgIDEsIDQsIDIyMywgMzUsIDU2LCAxLCA0LCAyMjIsIDE0MCwgNTYsIDEsIDQsIDIyMywgMTI4LCA1NiwgMSwgNCwgMjIyLCAKKyAgICAyMTEsIDg4LCAyNCwgMjM0LCA1OCwgODgsIDI0LCAyMjgsIDIyNiwgODgsIDI0LCAyMTYsIDEwMSwgODgsIDI0LCAyMjMsIAorICAgIDI2LCA4OCwgMjQsIDIzMCwgMjE3LCA4OCwgMjQsIDIyNSwgOTUsIDg4LCAyNCwgMjE5LCAxNDgsIDg4LCAyNCwgMjM2LCA1NiwgCisgICAgODgsIDI0LCAyNTAsIDQ2LCA4OCwgMjQsIDI1MCwgMTA2LCA4OCwgMjQsIDIzNCwgMTEwLCA4OCwgMjQsIDIxNiwgMTczLCAKKyAgICA4OCwgMjQsIDIyNSwgMTMxLCA4OCwgMjQsIDI0MSwgMTcyLCA4OCwgMjQsIDIzNCwgNTksIDYxLCA4OCwgMjQsIDIyOCwgCisgICAgMjI3LCA2MSwgODgsIDI0LCAyMTYsIDEwMiwgNjEsIDg4LCAyNCwgMjIzLCAyNywgNjEsIDg4LCAyNCwgMjMwLCAyMTgsIDYxLCAKKyAgICA4OCwgMjQsIDIyNSwgOTYsIDYxLCA4OCwgMjQsIDIxOSwgMTQ5LCA2MSwgODgsIDI0LCAyMzYsIDU3LCA2MSwgODgsIDI0LCAKKyAgICAyNTAsIDQ3LCA2MSwgODgsIDI0LCAyNTAsIDEwNywgNjEsIDg4LCAyNCwgMjM0LCAxMTEsIDYxLCA4OCwgMjQsIDIxNiwgCisgICAgMTc0LCA2MSwgODgsIDI0LCAyMjUsIDEzMiwgNjEsIDg4LCAyNCwgMjQxLCAxNzMsIDYxLCA4OCwgMjQsIDI1MCwgNDcsIDcwLCAKKyAgICA4OCwgMjM0LCAzLCAxMzUsIDIyNiwgMjE3LCA4OCwgMjM0LCAzLCAxMzUsIDE0NCwgMjQwLCAyMjIsIDg4LCAxNTQsIDExMCwgCisgICAgODgsIDE1NCwgMTA1LCA4OCwgMTU0LCAxNTgsIDg4LCAxNTQsIDE2MSwgODgsIDE1NCwgMTg5LCA4OCwgMTU0LCAxOTQsIDg4LCAKKyAgICAxNTQsIDE5OCwgODgsIDE1NCwgMTk1LCA4OCwgMTU0LCAyMDAsIDg4LCAxNTQsIDIxNiwgMjQ3LCA4OCwgMTU0LCAyMzAsIAorICAgIDEyOCwgODgsIDE1NCwgMjQ0LCA5NiwgODgsIDE1NCwgMjEyLCA0MCwgODgsIDE1NCwgMjExLCAyMTQsIDg4LCAxNTQsIDIzMSwgCisgICAgMzksIDg4LCAxNTQsIDI0NSwgMjIzLCA4OCwgMTU0LCAyMTgsIDM3LCA4OCwgMTU0LCAyMTgsIDEzMiwgODgsIDE1NCwgMjQxLCAKKyAgICAyNDQsIDg4LCAxNTQsIDIxOSwgNTQsIDg4LCAxNTQsIDIyOSwgMjA0LCA4OCwgMTU0LCAyMTksIDQsIDg4LCAxNTQsIDI0NCwgCisgICAgMTAyLCA4OCwgMTU0LCAyNDksIDIwMCwgODgsIDE1NCwgMjMzLCAxMjUsIDg4LCAxNTQsIDIyMywgNzEsIDg4LCAxNTQsIAorICAgIDI1MSwgMTUsIDg4LCAxNTQsIDIxOCwgODcsIDg4LCAxNTQsIDIxOCwgMjAsIDg4LCAxNTQsIDI0NSwgMTI3LCA4OCwgMTU0LCAKKyAgICAyMjMsIDYzLCA4OCwgMTU0LCAyNTQsIDE1MCwgODgsIDE1NCwgMjQ0LCAxMjgsIDg4LCAxNTQsIDIyMywgNjEsIDg4LCAxNTQsIAorICAgIDIyMCwgMTU2LCA4OCwgMTU0LCAyMjMsIDEyNywgMzcsIDE1NCwgMjI0LCAxMiwgMzcsIDE1NCwgMjM0LCA4MCwgMzcsIDE1NCwgCisgICAgMjIxLCAxOTgsIDM3LCAxNTQsIDIzMywgMjU1LCAzNywgNTQsIDIxNiwgMjQ4LCAyMjYsIDE5NywgODUsIDIxOCwgMjM0LCAKKyAgICAzNywgNTQsIDIxNSwgNzQsIDIyNiwgMTk3LCA4NSwgMjE4LCAyMzQsIDM3LCA1NCwgMjE2LCAxNjMsIDIyNiwgMTk3LCA4NSwgCisgICAgMjE4LCAyMzQsIDM3LCA1NCwgMjQ0LCAxNiwgMjI2LCAxOTcsIDg1LCAyMTgsIDIzNCwgMzcsIDU0LCAyNDQsIDExNSwgMjI2LCAKKyAgICAxOTcsIDg1LCAyMTgsIDIzNCwgMzcsIDU0LCAyMTksIDExMiwgMjI2LCAxOTcsIDg1LCAyMTgsIDIzNCwgMzcsIDU0LCAyMjAsIAorICAgIDExNywgMjI2LCAxOTcsIDg1LCAyMTgsIDIzNCwgMzcsIDU0LCAyNDUsIDE4NSwgMjI2LCAxOTcsIDg1LCAyMTgsIDIzNCwgCisgICAgMjI1LCAyNTEsIDUwLCAzNywgNTQsIDIxNSwgNzQsIDExMCwgMzcsIDU0LCAyMTUsIDc0LCAxMDUsIDM3LCA1NCwgMjE1LCAKKyAgICA3NCwgMTU4LCAzNywgNTQsIDIxNSwgNzQsIDE2MSwgMzcsIDU0LCAyMTUsIDc0LCAxODksIDM3LCA1NCwgMjE1LCA3NCwgCisgICAgMTk0LCAzNywgNTQsIDIxNSwgNzQsIDE5OCwgMzcsIDU0LCAyMTUsIDc0LCAxOTUsIDM3LCA1NCwgMjE1LCA3NCwgMjAwLCAKKyAgICAzNywgNTQsIDIxNiwgMTYyLCAzNywgNTQsIDIxNiwgMTYzLCAxMTAsIDM3LCA1NCwgMjE2LCAxNjMsIDEwNSwgMzcsIDU0LCAKKyAgICAyMTYsIDE2MywgMTU4LCAzNywgNTQsIDIxNiwgMTYzLCAxNjEsIDM3LCA1NCwgMjE2LCAxNjMsIDE4OSwgMzcsIDI0LCAyMzQsIAorICAgIDU4LCAzNywgMjQsIDIyOCwgMjI2LCAzNywgMjQsIDIxNiwgMTAxLCAzNywgMjQsIDIyMywgMjYsIDM3LCAyNCwgMjMwLCAKKyAgICAyMTcsIDM3LCAyNCwgMjI1LCA5NSwgMzcsIDI0LCAyMTksIDE0OCwgMzcsIDI0LCAyMzYsIDU2LCAzNywgMjQsIDI1MCwgNDYsIAorICAgIDM3LCAyNCwgMjUwLCAxMDYsIDM3LCAyNCwgMjM0LCAxMTAsIDM3LCAyNCwgMjE2LCAxNzMsIDM3LCAyNCwgMjI1LCAxMzEsIAorICAgIDM3LCAyNCwgMjQxLCAxNzIsIDM3LCAyNCwgMjM0LCA1OSwgNjEsIDM3LCAyNCwgMjI4LCAyMjcsIDYxLCAzNywgMjQsIDIxNiwgCisgICAgMTAyLCA2MSwgMzcsIDI0LCAyMjMsIDI3LCA2MSwgMzcsIDI0LCAyMzAsIDIxOCwgNjEsIDM3LCAyNCwgMjI1LCA5NiwgNjEsIAorICAgIDM3LCAyNCwgMjE5LCAxNDksIDYxLCAzNywgMjQsIDIzNiwgNTcsIDYxLCAzNywgMjQsIDI1MCwgNDcsIDYxLCAzNywgMjQsIAorICAgIDI1MCwgMTA3LCA2MSwgMzcsIDI0LCAyMzQsIDExMSwgNjEsIDM3LCAyNCwgMjE2LCAxNzQsIDYxLCAzNywgMjQsIDIyNSwgCisgICAgMTMyLCA2MSwgMzcsIDI0LCAyNDEsIDE3MywgNjEsIDM3LCAyMzQsIDMsIDEzNSwgMjUwLCAxNDgsIDM3LCAyMzQsIDMsIAorICAgIDEzNSwgMjM1LCA0NywgMzcsIDI0LCAyMzYsIDU3LCA3MCwgMjM0LCAzLCAyMTgsIDE1OSwgODcsIDM3LCAxNTQsIDExMCwgCisgICAgMzcsIDE1NCwgMTA1LCAzNywgMTU0LCAxNTgsIDM3LCAxNTQsIDE2MSwgMzcsIDE1NCwgMTg5LCAzNywgMTU0LCAxOTQsIDM3LCAKKyAgICAxNTQsIDE5OCwgMzcsIDE1NCwgMTk1LCAzNywgMTU0LCAyMDAsIDM3LCAxNTQsIDIxNiwgMjQ3LCAzNywgMTU0LCAyMzAsIAorICAgIDEyOCwgMzcsIDE1NCwgMjQ0LCA5NiwgMzcsIDE1NCwgMjEyLCA0MCwgMzcsIDE1NCwgMjExLCAyMTQsIDM3LCAxNTQsIDIzMSwgCisgICAgMzksIDM3LCAxNTQsIDI0NSwgMjIzLCAzNywgMTU0LCAyMTgsIDM3LCAzNywgMTU0LCAyMTgsIDEzMiwgMzcsIDE1NCwgMjQxLCAKKyAgICAyNDQsIDM3LCAxNTQsIDIxOSwgNTQsIDM3LCAxNTQsIDIyOSwgMjA0LCAzNywgMTU0LCAyMTksIDQsIDM3LCAxNTQsIDI0NCwgCisgICAgMTAyLCAzNywgMTU0LCAyNDksIDIwMCwgMzcsIDE1NCwgMjMzLCAxMjUsIDM3LCAxNTQsIDIyMSwgMTc0LCAzNywgMTU0LCAKKyAgICAyMzEsIDE4OSwgMzcsIDE1NCwgMjQ0LCAxMzcsIDM3LCAxNTQsIDIxOCwgNDksIDM3LCAxNTQsIDI0NSwgMzQsIDM3LCAxNTQsIAorICAgIDIyNCwgMTg3LCAzNywgMTU0LCAyNTMsIDE5NiwgMzcsIDE1NCwgMjM1LCAxNTksIDM3LCAxNTQsIDIyMywgNjEsIDM3LCAKKyAgICAxNTQsIDI0OSwgMTY0LCAzNywgMTU0LCAyNDksIDE1NSwgMzcsIDE1NCwgMjQxLCAxNjUsIDM3LCAxNTQsIDI1MCwgMTc0LCAKKyAgICAzNywgMTU0LCAyMzIsIDExMCwgMzcsIDE1NCwgMjMzLCA0NiwgMzcsIDE1NCwgMjIyLCAyNTEsIDM3LCAxNTQsIDIzMSwgODMsIAorICAgIDM3LCAxNTQsIDIyMywgODcsIDM3LCAxNTQsIDIxOCwgODcsIDM3LCAxNTQsIDIxOCwgMjAsIDM3LCAxNTQsIDI0NSwgMTI3LCAKKyAgICAzNywgMTU0LCAyMjMsIDYzLCAzNywgMTU0LCAyNTQsIDE1MCwgMzcsIDE1NCwgMjI4LCAyMTIsIDM3LCA1NCwgMjE2LCAxNjMsIAorICAgIDE5NCwgMzcsIDU0LCAyMTYsIDE2MywgMTk4LCAzNywgNTQsIDIxNiwgMTYzLCAxOTUsIDM3LCA1NCwgMjE2LCAxNjMsIDIwMCwgCisgICAgMzcsIDU0LCAyNDQsIDE1LCAzNywgNTQsIDI0NCwgMTYsIDExMCwgMzcsIDU0LCAyNDQsIDE2LCAxMDUsIDM3LCA1NCwgMjQ0LCAKKyAgICAxNiwgMTU4LCAzNywgNTQsIDI0NCwgMTYsIDE2MSwgMzcsIDU0LCAyNDQsIDE2LCAxODksIDM3LCA1NCwgMjQ0LCAxNiwgCisgICAgMTk0LCAzNywgNTQsIDI0NCwgMTYsIDE5OCwgMzcsIDU0LCAyNDQsIDE2LCAxOTUsIDM3LCA1NCwgMjQ0LCAxNiwgMjAwLCAKKyAgICAzNywgNTQsIDI0NCwgMTE0LCAxMDksIDIxNywgMywgMTYsIDMxLCAyMzUsIDEzMywgMTA5LCAyMTcsIDMsIDE2LCAzMSwgCisgICAgMjQ0LCAxNDgsIDEwOSwgMjE3LCAzLCAxNiwgMzEsIDIzMSwgMTYwLCAxMDksIDIxNywgMywgMTYsIDMxLCAyNTQsIDQ3LCAKKyAgICAxMDksIDIxNywgMywgMTYsIDMxLCAyMzEsIDEzMiwgMTA5LCAyMTcsIDMsIDE2LCAzMSwgMjM1LCA0NSwgMTA5LCAyMTcsIDMsIAorICAgIDE2LCAzMSwgMjM1LCA0NiwgMTA5LCAyMTcsIDMsIDE2LCAzMSwgMjUzLCAxODgsIDEwOSwgMjE3LCAzLCAxNiwgMzEsIDIyMCwgCisgICAgMTM2LCAxMDksIDIxNywgMywgMTYsIDMxLCAyMjYsIDIzOSwgMTA5LCAyMTcsIDMsIDE2LCAzMSwgMjI4LCA0MCwgMTA5LCAKKyAgICAyMTcsIDMsIDE2LCAzMSwgMjQ4LCA4NSwgNDIsIDI0MSwgMTkwLCA0MiwgMjQ1LCA4OCwgNDIsIDI0NSwgNDMsIDIzMiwgCisgICAgMjE5LCAyMzIsIDI0MCwgNTAsIDM3LCA1NiwgNjEsIDM3LCA1NiwgNzMsIDM3LCA1NiwgNzAsIDM3LCA1NiwgNzUsIDM3LCAKKyAgICA1NiwgNzYsIDM3LCA1NiwgMTc2LCAzNywgNTYsIDIzNCwgOTIsIDM3LCA1NiwgMjMzLCAyMTcsIDM3LCA1NiwgMjM0LCAxODIsIAorICAgIDM3LCA1NiwgMjM0LCAyOCwgMzcsIDU2LCAyMDYsIDM3LCA1NiwgMjE5LCAxOTEsIDM3LCA1NiwgMjE4LCA4MywgMzcsIDU2LCAKKyAgICAyMjEsIDE4MSwgMzcsIDU2LCAyMTksIDU4LCAzNywgNTYsIDIxNywgMTA1LCAzNywgNTYsIDIxNiwgMTE3LCAzNywgNTYsIAorICAgIDIxNSwgMTE4LCAzNywgNTYsIDIxNywgMjIsIDM3LCA1NiwgMTExLCAzNywgNTYsIDE5NywgMzcsIDU2LCAyMjgsIDIzMywgCisgICAgMzcsIDU2LCAyMjcsIDIzNywgMzcsIDU2LCAyMjksIDEwNywgMzcsIDU2LCAyMjgsIDc0LCAzNywgNTYsIDE2MiwgMzcsIDU2LCAKKyAgICAyNDEsIDE4MCwgMzcsIDU2LCAyNDAsIDIyMiwgMzcsIDU2LCAyNDEsIDIzOCwgMzcsIDU2LCAyNDEsIDY4LCAzNywgNTYsIAorICAgIDE4NCwgMzcsIDU2LCAyMzAsIDIzMCwgMzcsIDU2LCAyMzAsIDEwMiwgMzcsIDU2LCAyMzEsIDkxLCAzNywgNTYsIDIzMCwgCisgICAgMTYxLCAzNywgNTYsIDE5MSwgMzcsIDU2LCAyMTAsIDIxMiwgMzcsIDU2LCAyMTAsIDI0NCwgMzcsIDU2LCAyMDUsIDM3LCAKKyAgICA1NiwgMjIzLCAzNSwgMzcsIDU2LCAyMjIsIDE0MCwgMzcsIDU2LCAyMjMsIDEyOCwgMzcsIDU2LCAyMjIsIDIxMSwgMzcsIAorICAgIDU2LCAyMTIsIDY1LCAzNywgNTYsIDIxMSwgMjUwLCAzNywgNTYsIDIxMiwgMjIsIDM3LCA1NiwgMjExLCAyMjcsIDQyLCAKKyAgICAyNTQsIDcxLCA0MiwgMjUzLCAyMzksIDQyLCAyNTQsIDk1LCA0MiwgMjU1LCAzMSwgNDIsIDIzNSwgMjI2LCA0MiwgMjM1LCAKKyAgICAxOTYsIDQyLCAyMTQsIDE2NiwgNDIsIDI0NSwgNjYsIDQyLCAyNDUsIDIwNiwgNDIsIDIyNiwgMTg2LCA0MiwgMjI2LCAxODAsIAorICAgIDQyLCAyMzQsIDI0NSwgNDIsIDIzNCwgMjE0LCA0MiwgMjM0LCAyMTEsIDQyLCAyNDMsIDkyLCA0MiwgMjQzLCAxMDEsIDQyLCAKKyAgICAyNDIsIDIwNCwgNDIsIDI0MiwgMjAwLCA0MiwgMjMzLCAxNTAsIDQyLCAyNDIsIDE5MywgNDIsIDIzNCwgNzIsIDQyLCAyMzQsIAorICAgIDcxLCA0MiwgMjM0LCA3MCwgNDIsIDIzNCwgNjksIDQyLCAyNDIsIDg2LCA0MiwgMjQyLCA4NSwgNDIsIDIzMywgMTkzLCA0MiwgCisgICAgMjMzLCAxOTUsIDQyLCAyMzQsIDE3OCwgNDIsIDIzNCwgMSwgNDIsIDIzNCwgOCwgNDIsIDIyMiwgMTYsIDQyLCAyMjEsIAorICAgIDIzNywgNDIsIDIxOSwgMTI5LCA0MiwgMjIwLCAxNDEsIDQyLCAyMjAsIDE0MCwgNDIsIDI0OCwgMjE4LCA0MiwgMjQ4LCAzNiwgCisgICAgNDIsIDI0NywgMTIxLCA0MiwgMjE2LCAzMiwgNDIsIDIyOSwgMjAwLCA0MiwgMjI4LCA0MSwgNDIsIDI0MiwgMzIsIDQyLCAKKyAgICAyMjYsIDg0LCA0MiwgMjI2LCA4MywgNDIsIDI1MiwgMTg4LCA0MiwgMjI1LCAxMDUsIDQyLCAyMjUsIDY5LCA0MiwgMjI1LCAKKyAgICA3MCwgNDIsIDI1MSwgMjM0LCA0MiwgMjQwLCAyMjEsIDQyLCAyNDAsIDIxNywgNDIsIDI1MSwgOTEsIDQyLCAyNDAsIDIwNCwgCisgICAgNDIsIDI0MSwgMjE1LCA0MiwgMjI1LCAxNTksIDQyLCAyMjUsIDE5NCwgNDIsIDI0MSwgMTk4LCA0MiwgMjI1LCAxOTEsIDQyLCAKKyAgICAyMjUsIDIwNywgNDIsIDI1MiwgNjEsIDQyLCAyMjUsIDYsIDQyLCAyNTEsIDE4MCwgNDIsIDI0MSwgNTYsIDQyLCAyMjQsIAorICAgIDI1MCwgNDIsIDI0MSwgNDgsIDQyLCAyNDEsIDUwLCA0MiwgMjMxLCAyMDEsIDQyLCAyMzEsIDE5NywgNDIsIDIzMSwgMjA2LCAKKyAgICA0MiwgMjMxLCAxNTAsIDQyLCAyMzEsIDE3NSwgNDIsIDIzMCwgMTk3LCA0MiwgMjMwLCAxNzYsIDQyLCAyMzAsIDE3NSwgNDIsIAorICAgIDIzMSwgNzQsIDQyLCAyMzEsIDcxLCA0MiwgMjMxLCA3NSwgNDIsIDIxMSwgMTAyLCA0MiwgMjExLCAxMDAsIDQyLCAyMTAsIAorICAgIDIwMSwgNDIsIDIyMiwgMjI2LCA0MiwgMjIyLCAyMzAsIDQyLCAyMjIsIDExNywgNDIsIDIyMiwgMTExLCA0MiwgMjIzLCA4NSwgCisgICAgNDIsIDIyMywgODIsIDQyLCAyMTIsIDM4LCAxMDksIDIxNywgMywgMTYsIDMxLCAyNDAsIDIzOSwgMjEwLCA4NiwgMTA5LCAKKyAgICAyMTcsIDMsIDE2LCAzMSwgMjQwLCAyMzksIDExMCwgMTA5LCAyMTcsIDMsIDE2LCAzMSwgMjQwLCAyMzksIDEwNSwgMTA5LCAKKyAgICAyMTcsIDMsIDE2LCAzMSwgMjQwLCAyMzksIDE1OCwgMTA5LCAyMTcsIDMsIDE2LCAzMSwgMjQwLCAyMzksIDE2MSwgMTA5LCAKKyAgICAyMTcsIDMsIDE2LCAzMSwgMjQwLCAyMzksIDE4OSwgMTA5LCAyMTcsIDMsIDE2LCAzMSwgMjQwLCAyMzksIDE5NCwgMTA5LCAKKyAgICAyMTcsIDMsIDE2LCAzMSwgMjQwLCAyMzksIDE5OCwgMTA5LCAyMTcsIDMsIDE2LCAzMSwgMjQwLCAyMzksIDE5NSwgMTA5LCAKKyAgICAyMTcsIDMsIDE2LCAzMSwgMjQwLCAyMzksIDIwMCwgMTA5LCAyMTcsIDMsIDE2LCAzMSwgMjQwLCAyMzksIDIxNiwgMjQ3LCAKKyAgICAxMDksIDIxNywgMywgMTYsIDMxLCAyNDAsIDIzOSwgMjQ1LCAxNjcsIDEwOSwgMjE3LCAzLCAxNiwgMzEsIDI0MCwgMjM5LCAKKyAgICAyMTUsIDc2LCAxMDksIDIxNywgMywgMTYsIDMxLCAyNDAsIDIzOSwgMjE2LCAxNjQsIDEwOSwgMjE3LCAzLCAxNiwgMzEsIAorICAgIDI0MCwgMjM5LCAyNDQsIDUsIDEwOSwgMjE3LCAzLCAxNiwgMzEsIDI0MCwgMjM5LCAyNDQsIDExOCwgMTA5LCAyMTcsIDMsIAorICAgIDE2LCAzMSwgMjQwLCAyMzksIDIxOSwgMTE5LCAxMDksIDIxNywgMywgMTYsIDMxLCAyNDAsIDIzOSwgMjIwLCAxMTksIDEwOSwgCisgICAgMjE3LCAzLCAxNiwgMzEsIDI0MCwgMjM5LCAyNDUsIDE5MCwgMTA5LCAyMTcsIDMsIDE2LCAzMSwgMjQwLCAyMzksIDIyOCwgCisgICAgMTk3LCAxMDksIDIxNywgMywgMTYsIDMxLCAyNDAsIDIzOSwgMjE1LCA3MywgMTA5LCAyMTcsIDMsIDE2LCAzMSwgMjQwLCAKKyAgICAyMzksIDIxNSwgNjcsIDEwOSwgMjE3LCAzLCAxNiwgMzEsIDI0MCwgMjM5LCAyMTUsIDYzLCAxMDksIDIxNywgMywgMTYsIAorICAgIDMxLCAyNDAsIDIzOSwgMjE1LCA2NCwgMTA5LCAyMTcsIDMsIDE2LCAzMSwgMjQwLCAyMzksIDIxNSwgNjksIDQyLCAyNDAsIAorICAgIDIzMCwgNDIsIDI0OCwgMjIxLCA0MiwgMjUzLCAxOTIsIDQyLCAxMzAsIDQyLCAyMjYsIDEyNSwgNDIsIDIyNSwgMjI1LCA0MiwgCisgICAgMjQ3LCAxNDcsIDQyLCAyNDcsIDE0OCwgMjE4LCAyMzMsIDQyLCAyNDcsIDE0OCwgMjQ5LCAxMDgsIDQyLCAyMzUsIDE1NiwgCisgICAgNDIsIDI0NSwgOTEsIDIyOSwgMjA1LCAyNDEsIDIxNiwgNDIsIDI0NSwgOTEsIDIyOSwgMjA1LCAyMTcsIDE3NCwgNDIsIAorICAgIDI0NSwgOTEsIDIyOSwgMjA1LCAyMTcsIDc0LCA0MiwgMjQ1LCA5MSwgMjI5LCAyMDUsIDIzMSwgNzAsIDQyLCAyNDksIDE1NywgCisgICAgNDIsIDIyNiwgOTAsIDI1NCwgMTI1LCA0MiwgMTk3LCA0MiwgMjMwLCAxMDMsIDYxLCA0MiwgMTg0LCA0MiwgMTc2LCA0MiwgCisgICAgMjM0LCAxODUsIDQyLCAyMzEsIDEyOSwgNDIsIDI0MywgODAsIDQyLCAyNTEsIDE4LCA0MiwgMjM0LCAxODQsIDQyLCAyMjUsIAorICAgIDE1MCwgNDIsIDIyOSwgODEsIDQyLCAyMzAsIDEwMywgMjQ1LCA2LCA0MiwgMjMwLCAxMDMsIDI0MywgMjAyLCA0MiwgMjMxLCAKKyAgICAxNSwgNDIsIDIzNCwgMTM0LCA0MiwgMjQwLCAxNjMsIDQyLCAyMzQsIDk0LCA0MiwgMjMwLCAyMzIsIDQyLCAyNDIsIDIxNiwgCisgICAgNDIsIDIxNiwgMTE5LCA0MiwgMjMwLCAxMDMsIDE1NiwgNDIsIDIzMCwgMTY5LCA0MiwgMjQ3LCAxNTcsIDQyLCAyMzQsIDQwLCAKKyAgICA0MiwgMjQ0LCA0NSwgNDIsIDIyOCwgMTEyLCA0MiwgMjMwLCAxMDMsIDE5MywgNDIsIDIzMCwgMTY2LCA0MiwgMjQ5LCAyMzksIAorICAgIDQyLCAyMzQsIDM0LCA0MiwgMjMwLCAxNjcsIDIxOCwgMjMzLCA0MiwgMjQ5LCAyNDAsIDIxOCwgMjMzLCA0MiwgMjMyLCA1MCwgCisgICAgMjE4LCAyMzMsIDQyLCAyMzQsIDM1LCAyMTgsIDIzMywgNDIsIDIzMCwgMTY3LCAyNDksIDEwOCwgNDIsIDI0OSwgMjQwLCAKKyAgICAyNDksIDEwOCwgNDIsIDIzMiwgNTAsIDI0OSwgMTA4LCA0MiwgMjM0LCAzNSwgMjQ5LCAxMDgsIDQyLCAyMzIsIDUwLCAxMTcsIAorICAgIDIyMiwgOTEsIDQyLCAyMzIsIDUwLCAxMTcsIDIyMiwgOTIsIDIxOCwgMjMzLCA0MiwgMTkwLCA0MiwgMjMzLCAyNTEsIDQyLCAKKyAgICAyMzAsIDEwNSwgNDIsIDI0MiwgMTUxLCA0MiwgMjIzLCAxNzYsIDQyLCAyMjMsIDE3NywgMTE3LCAyMjIsIDkxLCA0MiwgCisgICAgMjIzLCAxNzcsIDExNywgMjIyLCA5MiwgMjE4LCAyMzMsIDQyLCAyMjQsIDE2MiwgNDIsIDIyOCwgMTMsIDQyLCAyMzAsIAorICAgIDEwMywgMjIyLCA5MSwgNDIsIDIzMCwgMTA0LCA0MiwgMjI0LCAxMTYsIDQyLCAyMjcsIDE3NiwgNDIsIDIzMCwgMTAzLCAKKyAgICAyMTQsIDEwNSwgNDIsIDIzMCwgNDksIDQyLCAyMzMsIDE4NSwgNDIsIDIzMCwgNTAsIDIzMSwgNzQsIDQyLCAyMjQsIDExNSwgCisgICAgNDIsIDIyNywgMTc1LCA0MiwgMjMwLCAxMDMsIDIxMiwgOTgsIDQyLCAyMzAsIDQzLCA0MiwgMjMzLCAxODMsIDQyLCAyMzAsIAorICAgIDQ0LCAyMzEsIDc0LCA0MiwgMjM1LCAyNCwgMjI2LCAyMjAsIDQyLCAyMzIsIDUwLCAyMjYsIDIyMCwgNDIsIDI1NCwgMTM2LCAKKyAgICA0MiwgMjUxLCAxNjAsIDQyLCAyNTAsIDIxNCwgNDIsIDI1MCwgMTkxLCA0MiwgMjUxLCA2NywgMTE3LCAyMzQsIDEzNCwgNDIsIAorICAgIDI0OSwgMjM4LCA0MiwgMjQ4LCAxNDIsIDQyLCAyNDIsIDcyLCA0MiwgMTYyLCA0MiwgMjQwLCAyMzEsIDQyLCAyMzUsIDI1NSwgCisgICAgNDIsIDIzNCwgNDcsIDQyLCAyMzQsIDM1LCAyNTAsIDI1MCwgNDIsIDIzMywgMjE5LCA0MiwgMjMyLCAxNTksIDQyLCAyMzIsIAorICAgIDE1OCwgNDIsIDIzMiwgMTQ3LCA0MiwgMjMyLCA2MywgNDIsIDIzMSwgMTMwLCAyMTksIDc5LCA0MiwgMjMwLCAxOTYsIDQyLCAKKyAgICAyMzAsIDE1MiwgNDIsIDIyNSwgMTQ4LCA0MiwgMjI1LCAxOSwgNDIsIDIyNCwgMjE5LCA0MiwgMjI0LCAyMTcsIDQyLCAyMTgsIAorICAgIDIyNywgNDIsIDIxOCwgMiwgNDIsIDIxMiwgMjQsIDQyLCAyMTQsIDEwNiwgMTE3LCAxOTMsIDQyLCAxMTUsIDExNywgMTkzLCAKKyAgICAxMDksIDIxNywgMywgMTYsIDMxLCAyNDgsIDE0NiwgMTEwLCAxMDksIDIxNywgMywgMTYsIDMxLCAyNDgsIDE0NiwgMTA1LCAKKyAgICAxMDksIDIxNywgMywgMTYsIDMxLCAyNDgsIDE0NiwgMTU4LCAxMDksIDIxNywgMywgMTYsIDMxLCAyNDgsIDE0NiwgMTYxLCAKKyAgICAxMDksIDIxNywgMywgMTYsIDMxLCAyNDgsIDE0NiwgMTg5LCAxMDksIDIxNywgMywgMTYsIDMxLCAyNDgsIDE0NiwgMTk0LCAKKyAgICAxMDksIDIxNywgMywgMTYsIDMxLCAyNDgsIDE0NiwgMTk4LCAxMDksIDIxNywgMywgMTYsIDMxLCAyNDgsIDE0NiwgMTk1LCAKKyAgICAxMDksIDIxNywgMywgMTYsIDMxLCAyNDgsIDE0NiwgMjAwLCAxMDksIDIxNywgMywgMTYsIDMxLCAyNDgsIDE0NiwgMjE2LCAKKyAgICAyNDcsIDEwOSwgMjE3LCAzLCAxNiwgMzEsIDI0OCwgMTQ2LCAyNDUsIDE2NywgMTA5LCAyMTcsIDMsIDE2LCAzMSwgMjQ4LCAKKyAgICAxNDYsIDIxNSwgNzYsIDEwOSwgMjE3LCAzLCAxNiwgMzEsIDI0OCwgMTQ2LCAyMTYsIDE2NCwgMTA5LCAyMTcsIDMsIDE2LCAKKyAgICAzMSwgMjQ4LCAxNDYsIDI0NCwgNSwgMTA5LCAyMTcsIDMsIDE2LCAzMSwgMjQ4LCAxNDYsIDI0NCwgMTE4LCAxMDksIDIxNywgCisgICAgMywgMTYsIDMxLCAyNDgsIDE0NiwgMjE5LCAxMTksIDEwOSwgMjE3LCAzLCAxNiwgMzEsIDI0OCwgMTQ2LCAyMjAsIDExOSwgCisgICAgMTA5LCAyMTcsIDMsIDE2LCAzMSwgMjQ4LCAxNDYsIDI0NSwgMTkwLCAxMDksIDIxNywgMywgMTYsIDMxLCAyNDgsIDE0NiwgCisgICAgMjI4LCAxOTcsIDEwOSwgMjE3LCAzLCAxNiwgMzEsIDI0OCwgMTQ2LCAyMTUsIDczLCAxMDksIDIxNywgMywgMTYsIDMxLCAKKyAgICAyNDgsIDE0NiwgMjE1LCA2NywgMTA5LCAyMTcsIDMsIDE2LCAzMSwgMjQ4LCAxNDYsIDIxNSwgNjMsIDEwOSwgMjE3LCAzLCAKKyAgICAxNiwgMzEsIDI0OCwgMTQ2LCAyMTUsIDY0LCAxMDksIDIxNywgMywgMTYsIDMxLCAyNDgsIDE0NiwgMjE1LCA2OSwgMTA5LCAKKyAgICAyMTcsIDMsIDE2LCAzMSwgMjQ4LCAxNDYsIDIxNSwgNzAsIDEwOSwgMjE3LCAzLCAxNiwgMzEsIDI0OCwgMTQ2LCAyMTUsIAorICAgIDY1LCAxMDksIDIxNywgMywgMTYsIDMxLCAyNDgsIDE0NiwgMjE1LCA2NiwgMTA5LCAyMTcsIDMsIDE2LCAzMSwgMjQ4LCAKKyAgICAxNDYsIDIxNSwgNzIsIDEwOSwgMjE3LCAzLCAxNiwgMzEsIDI0OCwgMTQ2LCAyMTUsIDY4LCAxMDksIDIxNywgMywgMTYsIAorICAgIDMxLCAyNDgsIDE0NiwgMjE2LCAxNjIsIDEwOSwgMjE3LCAzLCAxNiwgMzEsIDI0OCwgMTQ2LCAyMTYsIDE2MSwgNDIsIDI0MywgCisgICAgMTE4LCAyNDEsIDE5MiwgMzEsIDIxNiwgMTk2LCAyNDksIDE0MCwgMjQxLCAyMjMsIDI0MSwgMTkyLCAzMSwgMjE2LCAxOTYsIAorICAgIDIyMywgMTIyLCAyNDUsIDIyMywgMjQxLCAxOTIsIDMxLCAyNDcsIDIzMSwgMjUzLCAyMDcsIDIxNiwgMTk2LCAyNTIsIDU2LCAKKyAgICAyNDEsIDE5MiwgMzEsIDIxMCwgMjIzLCAyNDQsIDM4LCAyNDEsIDE5MiwgMzEsIDIxMiwgNTksIDI0MSwgMTkyLCAzMSwgCisgICAgMjQ5LCAyMDMsIDI0MSwgMTkyLCAzMSwgMjE2LCAxOTYsIDI1NCwgMywgMjQxLCAxOTIsIDMxLCAyNDEsIDYwLCAyMTYsIDM4LCAKKyAgICAyNDEsIDE5MiwgMzEsIDQsIDIxNywgNjEsIDI0MSwgMTkyLCAzMSwgMjE1LCAyMzcsIDI0MSwgMTkyLCAzMSwgMjI1LCAyMTksIAorICAgIDI0MSwgMTkyLCAzMSwgMjE4LCAxNTgsIDI0MSwgMTkyLCAzMSwgMjQ0LCAxMzksIDI0MSwgMTkyLCAzMSwgMjQyLCAxMzIsIAorICAgIDIyNCwgMjQwLCAyNDEsIDE5MiwgMzEsIDIzMCwgMTU1LCAyNDEsIDE5MiwgMzEsIDI0NSwgMTI2LCAyNDEsIDE5MiwgMzEsIAorICAgIDI0NCwgMzksIDI0MSwgMTkyLCAzMSwgMjExLCAyMDcsIDIyNiwgMTk3LCAyMTYsIDE5NiwgMjQ4LCA4NiwgMjQxLCAxOTIsIAorICAgIDMxLCAyNTQsIDUxLCAyNDEsIDE5MiwgMzEsIDI0OSwgMTg1LCAyNDEsIDE5MiwgMzEsIDI1MSwgMjI3LCAyMTYsIDEzOCwgCisgICAgMjQxLCAxOTIsIDMxLCAyNDIsIDE0OSwgMjQxLCAxOTIsIDMxLCAyMTgsIDI0NSwgMjU0LCA3MCwgMjQxLCAxOTIsIDMxLCAKKyAgICAyMjMsIDUzLCAyNDEsIDE5MiwgMzEsIDIzNSwgMjIwLCAyNDEsIDE5MiwgMzEsIDI0MiwgMTMyLCAyMTcsIDYxLCAyNDEsIAorICAgIDE5MiwgMzEsIDIzMCwgMTExLCAyNDksIDE1OSwgMjQxLCAxOTIsIDMxLCAyNDIsIDEzMiwgMjI0LCAxOTcsIDI0MSwgMTkyLCAKKyAgICAzMSwgMjE2LCAxOTYsIDI1NSwgMTgsIDIxMiwgNDAsIDI0MSwgMTkyLCAzMSwgMjE2LCAxOTYsIDI1MCwgOCwgMjQ0LCA5NiwgCisgICAgMjQxLCAxOTIsIDMxLCAyMzUsIDIzMywgMjQxLCAxOTIsIDMxLCAyNDYsIDU3LCAyNDEsIDE5MiwgMzEsIDIyMywgNTYsIAorICAgIDI0MSwgMTkyLCAzMSwgMjQyLCAxMzIsIDIyNCwgMjI0LCAyNDEsIDE5MiwgMzEsIDIyNCwgMTc3LCAyNDEsIDE5MiwgMzEsIAorICAgIDI0OCwgMTYxLCA2NCwgMjE2LCAxOTYsIDIzMiwgMjMwLCAyNDEsIDE5MiwgMzEsIDIxNiwgMTk2LCAyNDQsIDE3NCwgMjQxLCAKKyAgICAxOTIsIDMxLCAyMjYsIDE2MywgMjQxLCAxOTIsIDMxLCAyMjYsIDI0NCwgMjQxLCAxOTIsIDMxLCAyNDgsIDU5LCAyNDEsIAorICAgIDE5MiwgMzEsIDI0OCwgNzksIDI0MSwgMTkyLCAzMSwgMjM1LCAyNDcsIDI0MSwgMTkyLCAzMSwgMjUxLCAxNDksIDI0MSwgCisgICAgMTkyLCAzMSwgMjQ5LCAyMjEsIDIxNiwgNDIsIDIzMSwgNzYsIDI0MSwgMTkyLCAzMSwgMjQzLCA4NywgMjE2LCAzOCwgMjQxLCAKKyAgICAxOTIsIDMxLCAyMjQsIDEyNSwgMjE0LCAxNTQsIDI0MSwgMTkyLCAzMSwgMjI2LCAxNjIsIDI0MSwgMTkyLCAzMSwgMjE2LCAKKyAgICAxOTYsIDIxMiwgMTMsIDI0MSwgMTkyLCAzMSwgMjIzLCA0NSwgMjQxLCAxOTIsIDMxLCAyMTYsIDE5NiwgMjUwLCAyMjAsIAorICAgIDI0MSwgMTkyLCAzMSwgMjE2LCAxOTYsIDI1MywgMjU1LCAyMTYsIDEzMywgMjQxLCAxOTIsIDMxLCAyMTYsIDE5NiwgMjM0LCAKKyAgICAxNzksIDIxOCwgMTM0LCAyMzAsIDExNSwgMjQxLCAxOTIsIDMxLCAyNDgsIDMyLCAyNDEsIDE5MiwgMzEsIDIxNiwgMTk2LCAKKyAgICAyMzEsIDE1MiwgMjMxLCAyMDIsIDI0MSwgMTkyLCAzMSwgMjU1LCAxOSwgMjQxLCAxOTIsIDMxLCAyMTYsIDE5NiwgMjEyLCAKKyAgICA1NCwgMjQxLCAxOTIsIDMxLCAyMTYsIDE5NiwgMjQzLCA0NywgMjExLCAyMzksIDI0MSwgMTkyLCAzMSwgMjE2LCAxOTYsIAorICAgIDIzNSwgNTIsIDIzMywgMTA3LCAyNDEsIDE5MiwgMzEsIDI0NywgMTg0LCAyNDEsIDE5MiwgMzEsIDIzMiwgMjIwLCAyNDEsIAorICAgIDE5MiwgMzEsIDIzNSwgMjIzLCAyMTUsIDE4NywgMjQxLCAxOTIsIDMxLCA0LCAyMjQsIDE5NywgMjQxLCAxOTIsIDMxLCAKKyAgICAyNTQsIDIxNywgMjQ5LCAyMTIsIDI0MSwgMTkyLCAzMSwgMjUyLCA1OSwgMjQ5LCAyMTIsIDgsIDMsIDIzNSwgMTYwLCA4LCAKKyAgICAzLCAyMzUsIDE1MywgOCwgMywgNzMsIDgsIDMsIDIzNSwgMTgyLCA4LCAzLCAyMzYsIDU4LCA4LCAzLCAyMzYsIDQxLCA4LCAKKyAgICAzLCAyMzYsIDYwLCA4LCAzLCAyMzYsIDU5LCA4LCAzLCAyNTMsIDIwNiwgOCwgMywgMjUzLCAxNjksIDgsIDMsIDYxLCA4LCAKKyAgICAzLCAyNTQsIDcyLCA4LCAzLCAyMTQsIDE2NCwgOCwgMywgMjE0LCAxNjcsIDgsIDMsIDIxNCwgMTY1LCA4LCAzLCAyMjYsIAorICAgIDE0MCwgOCwgMywgMjI2LCAxMTQsIDgsIDMsIDc2LCA4LCAzLCAyMjYsIDE3NSwgOCwgMywgMjQ1LCAzNSwgOCwgMywgNzUsIAorICAgIDgsIDMsIDIxMSwgMTk1LCA4LCAzLCAyNTEsIDIyOCwgOCwgMywgMjUxLCAyMjUsIDgsIDMsIDI1MiwgNiwgOCwgMywgMjUxLCAKKyAgICAyMzgsIDgsIDMsIDI1MSwgMjUxLCA4LCAzLCAyNTEsIDI1MCwgOCwgMywgMjUxLCAyNTMsIDgsIDMsIDI1MSwgMjUyLCA4LCAKKyAgICAzLCAyNTIsIDEyMSwgOCwgMywgMjUyLCAxMTMsIDgsIDMsIDI1MiwgMTkxLCA4LCAzLCAyNTIsIDE0MiwgOCwgMywgMjUxLCAKKyAgICAxMDEsIDgsIDMsIDI1MSwgMTA1LCA4LCAzLCAyNTEsIDEwMiwgOCwgMywgMjUxLCAxNzksIDgsIDMsIDI1MSwgMTYzLCA4LCAKKyAgICAzLCAyNTEsIDIwNSwgOCwgMywgMjUxLCAxODUsIDgsIDMsIDI1MiwgMjEsIDgsIDMsIDI1MiwgNzUsIDgsIDMsIDI1MiwgMzMsIAorICAgIDgsIDMsIDI1MSwgODcsIDgsIDMsIDI1MSwgODQsIDgsIDMsIDI1MSwgMTI1LCA4LCAzLCAyNTEsIDEwMCwgOCwgMywgMjUxLCAKKyAgICA5NCwgOCwgMywgMjUxLCA5OCwgOCwgMywgMjUxLCA3MiwgOCwgMywgMjUxLCA3MCwgOCwgMywgMjUxLCA3NywgOCwgMywgCisgICAgMjUxLCA3NSwgOCwgMywgMjUxLCA3MywgOCwgMywgMjUxLCA3NCwgOCwgMywgMjI1LCA0OSwgOCwgMywgMjI1LCA0NSwgOCwgCisgICAgMywgMjI1LCAxMDgsIDgsIDMsIDIyNSwgNTksIDgsIDMsIDIyNSwgNzUsIDgsIDMsIDIyNSwgMTAyLCA4LCAzLCAyMjUsIDk4LCAKKyAgICA4LCAzLCAyMjUsIDI0MCwgOCwgMywgMjI1LCAyMzAsIDgsIDMsIDE5MCwgOCwgMywgMjI2LCAyMSwgOCwgMywgMjI0LCAxMzUsIAorICAgIDgsIDMsIDIyNCwgMTM3LCA4LCAzLCAyMjQsIDEzNiwgOCwgMywgMjI0LCAyMzMsIDgsIDMsIDIyNCwgMjIyLCA4LCAzLCAKKyAgICAyMjUsIDE2LCA4LCAzLCAyMjQsIDI0NSwgOCwgMywgMjI0LCAxMjEsIDgsIDMsIDIyNCwgMTE3LCA4LCAzLCAyMjQsIDE1MCwgCisgICAgOCwgMywgMjI0LCAxMzQsIDgsIDMsIDIyNCwgMTI2LCA4LCAzLCAyMjQsIDEzMiwgOCwgMywgMjI0LCAxMDAsIDgsIDMsIAorICAgIDIyNCwgOTksIDgsIDMsIDIyNCwgMTA0LCA4LCAzLCAyMjQsIDEwMywgOCwgMywgMjI0LCAxMDEsIDgsIDMsIDIyNCwgMTAyLCAKKyAgICA4LCAzLCAyNTIsIDk2LCA4LCAzLCAyNTIsIDk1LCA4LCAzLCAyNTIsIDEwMiwgOCwgMywgMjUyLCA5NywgOCwgMywgMjUyLCAKKyAgICA5OSwgOCwgMywgMjUyLCA5OCwgOCwgMywgMjUyLCAxMDEsIDgsIDMsIDI1MiwgMTAwLCA4LCAzLCAyNTIsIDEwOCwgOCwgMywgCisgICAgMjUyLCAxMDcsIDgsIDMsIDI1MiwgMTExLCA4LCAzLCAyNTIsIDEwOSwgOCwgMywgMjUyLCA4NywgOCwgMywgMjUyLCA4OSwgCisgICAgOCwgMywgMjUyLCA4OCwgOCwgMywgMjUyLCA5MiwgOCwgMywgMjUyLCA5MSwgOCwgMywgMjUyLCA5NCwgOCwgMywgMjUyLCAKKyAgICA5MywgOCwgMywgMjUyLCAxMDMsIDgsIDMsIDI1MiwgMTA2LCA4LCAzLCAyNTIsIDEwNCwgOCwgMywgMjUyLCA4MywgOCwgMywgCisgICAgMjUyLCA4MiwgOCwgMywgMjUyLCA5MCwgOCwgMywgMjUyLCA4NiwgOCwgMywgMjUyLCA4NCwgOCwgMywgMjUyLCA4NSwgOCwgCisgICAgMywgMjUyLCA3OSwgOCwgMywgMjUyLCA3OCwgOCwgMywgMjUyLCA4MSwgOCwgMywgMjUyLCA4MCwgOCwgMywgMjI5LCAxNjksIAorICAgIDgsIDMsIDIyOSwgMTY4LCA4LCAzLCAyMjksIDE3NCwgOCwgMywgMjI5LCAxNzAsIDgsIDMsIDIyOSwgMTcxLCA4LCAzLCAKKyAgICAyMjksIDE3MywgOCwgMywgMjI5LCAxNzIsIDgsIDMsIDIyOSwgMTc3LCA4LCAzLCAyMjksIDE3NiwgOCwgMywgMjI5LCAxNzksIAorICAgIDgsIDMsIDIyOSwgMTc4LCA4LCAzLCAyMjksIDE2NSwgOCwgMywgMjI5LCAxNjQsIDgsIDMsIDIyOSwgMTY3LCA4LCAzLCAKKyAgICAyMjksIDE2NiwgOCwgMywgMjI5LCAxNTgsIDgsIDMsIDIyOSwgMTU3LCA4LCAzLCAyMjksIDE2MiwgOCwgMywgMjI5LCAxNjEsIAorICAgIDgsIDMsIDIyOSwgMTU5LCA4LCAzLCAyMjksIDE2MCwgOCwgMywgMjI5LCAxNTIsIDgsIDMsIDIyOSwgMTUxLCA4LCAzLCAKKyAgICAyMjksIDE1NiwgOCwgMywgMjI5LCAxNTUsIDgsIDMsIDIyOSwgMTUzLCA4LCAzLCAyMjksIDE1NCwgOCwgMywgMjQxLCAxMTAsIAorICAgIDgsIDMsIDI0MSwgMTA5LCA4LCAzLCAyNDEsIDExNSwgOCwgMywgMjQxLCAxMTEsIDgsIDMsIDI0MSwgMTEyLCA4LCAzLCAKKyAgICAyNDEsIDExNCwgOCwgMywgMjQxLCAxMTMsIDgsIDMsIDI0MSwgMTE4LCA4LCAzLCAyNDEsIDExNywgOCwgMywgMjQxLCAxMjAsIAorICAgIDgsIDMsIDI0MSwgMTE5LCA4LCAzLCAyNDEsIDEwMSwgOCwgMywgMjQxLCAxMDMsIDgsIDMsIDI0MSwgMTAyLCA4LCAzLCAKKyAgICAyNDEsIDEwNiwgOCwgMywgMjQxLCAxMDUsIDgsIDMsIDI0MSwgMTA4LCA4LCAzLCAyNDEsIDEwNywgOCwgMywgMjQxLCA5NywgCisgICAgOCwgMywgMjQxLCA5NiwgOCwgMywgMjQxLCAxMDQsIDgsIDMsIDI0MSwgMTAwLCA4LCAzLCAyNDEsIDk4LCA4LCAzLCAyNDEsIAorICAgIDk5LCA4LCAzLCAyNDEsIDkxLCA4LCAzLCAyNDEsIDk1LCA4LCAzLCAyNDEsIDk0LCA4LCAzLCAyNDEsIDkyLCA4LCAzLCAKKyAgICAyNDEsIDkzLCA4LCAzLCAyMzAsIDE3MiwgOCwgMywgMjMwLCAxNzEsIDgsIDMsIDIzMCwgMjMwLCA4LCAzLCAyMzAsIDE3OCwgCisgICAgOCwgMywgMjMwLCAyMDMsIDgsIDMsIDIzMCwgMjIxLCA4LCAzLCAyMzAsIDIxOSwgOCwgMywgMjMxLCAxMzksIDgsIDMsIAorICAgIDIzMSwgMTM0LCA4LCAzLCAxODQsIDgsIDMsIDIzMSwgMTcyLCA4LCAzLCAyMzAsIDc0LCA4LCAzLCAyMzAsIDczLCA4LCAzLCAKKyAgICAyMzAsIDc3LCA4LCAzLCAyMzAsIDc1LCA4LCAzLCAyMzAsIDEyMSwgOCwgMywgMjMwLCAxMDcsIDgsIDMsIDIzMCwgMTYxLCAKKyAgICA4LCAzLCAyMzAsIDEyNiwgOCwgMywgMjMxLCAyNiwgOCwgMywgMjMxLCA5MSwgOCwgMywgMjMwLCA1NSwgOCwgMywgMjMwLCAKKyAgICA1MSwgOCwgMywgMjMwLCAxMDIsIDgsIDMsIDIzMCwgNzAsIDgsIDMsIDIzMCwgNjMsIDgsIDMsIDIzMCwgNjgsIDgsIDMsIAorICAgIDIzMCwgMjgsIDgsIDMsIDIzMCwgMjcsIDgsIDMsIDIzMCwgMzMsIDgsIDMsIDIzMCwgMzAsIDgsIDMsIDI0NCwgODMsIDgsIAorICAgIDMsIDI0NCwgNzgsIDgsIDMsIDI0NCwgMTIxLCA4LCAzLCAyNDQsIDk4LCA4LCAzLCAyNDQsIDE2NywgOCwgMywgMjQ0LCAKKyAgICAxNTgsIDgsIDMsIDI0NCwgMTk2LCA4LCAzLCAyNDQsIDE3MCwgOCwgMywgMjQ0LCAzLCA4LCAzLCAyNDQsIDQzLCA4LCAzLCAKKyAgICAyNDQsIDI3LCA4LCAzLCAyNDMsIDIxOCwgOCwgMywgMjQzLCAyMTcsIDgsIDMsIDI0MywgMjM0LCA4LCAzLCAyNDMsIDIyMywgCisgICAgOCwgMywgMjQzLCAyMjEsIDgsIDMsIDI0MywgMjIyLCA4LCAzLCAyNDMsIDIwNSwgOCwgMywgMjQzLCAyMDQsIDgsIDMsIAorICAgIDI0MywgMjA4LCA4LCAzLCAyNDMsIDIwNiwgOCwgMywgMjEzLCAxNDQsIDgsIDMsIDIxMywgMTM5LCA4LCAzLCAyMTMsIDE3NiwgCisgICAgOCwgMywgMjEzLCAxNTMsIDgsIDMsIDIxMywgMTY2LCA4LCAzLCAyMTMsIDE2MywgOCwgMywgMjEzLCAxNjgsIDgsIDMsIAorICAgIDIxMywgMTY3LCA4LCAzLCAyMTQsIDcsIDgsIDMsIDIxNCwgMiwgOCwgMywgMjE0LCAyNywgOCwgMywgMjE0LCAxOCwgOCwgMywgCisgICAgMjEzLCAxMjUsIDgsIDMsIDIxMywgMTIxLCA4LCAzLCAyMTMsIDEzOCwgOCwgMywgMjEzLCAxMjYsIDgsIDMsIDIxMywgMTc4LCAKKyAgICA4LCAzLCAyMTMsIDI0NCwgOCwgMywgMjEyLCAxMTAsIDgsIDMsIDIxMiwgMTA4LCA4LCAzLCAyMTIsIDExNiwgOCwgMywgCisgICAgMjEyLCAxMTMsIDgsIDMsIDIxMiwgMTExLCA4LCAzLCAyMTIsIDExMiwgOCwgMywgMjEyLCAxMDIsIDgsIDMsIDIxMiwgMTAxLCAKKyAgICA4LCAzLCAyMTIsIDEwNiwgOCwgMywgMjEyLCAxMDUsIDgsIDMsIDIxMiwgMTAzLCA4LCAzLCAyMTIsIDEwNCwgOCwgMywgCisgICAgMjQ3LCAxNzgsIDgsIDMsIDI0NywgMTY2LCA4LCAzLCAyNDgsIDMsIDgsIDMsIDI0NywgMjAzLCA4LCAzLCAyNDcsIDIzNiwgCisgICAgOCwgMywgMjQ3LCAyNDAsIDgsIDMsIDI0NywgMjM5LCA4LCAzLCAyNDgsIDE1MiwgOCwgMywgMjQ4LCAxNDcsIDgsIDMsIAorICAgIDI0OCwgMjIxLCA4LCAzLCAyNDgsIDE3MiwgOCwgMywgMjQ2LCA2MiwgOCwgMywgMjQ2LCA2MywgOCwgMywgMjQ3LCAxMjAsIAorICAgIDgsIDMsIDI0NiwgMTAyLCA4LCAzLCAyNDcsIDE0NSwgOCwgMywgMjQ3LCAxMjIsIDgsIDMsIDI0OCwgMzAsIDgsIDMsIDI0OCwgCisgICAgOTAsIDgsIDMsIDI0OCwgNDUsIDgsIDMsIDI0NiwgNTMsIDgsIDMsIDI0NiwgNTEsIDgsIDMsIDI0NiwgNzgsIDgsIDMsIAorICAgIDI0NiwgNjEsIDgsIDMsIDI0NiwgNTYsIDgsIDMsIDI0NiwgNTksIDgsIDMsIDIxNiwgNjcsIDgsIDMsIDIxNiwgNjEsIDgsIAorICAgIDMsIDIxNiwgMTE3LCA4LCAzLCAyMTYsIDc2LCA4LCAzLCAyMTYsIDEwOSwgOCwgMywgMjE2LCAxMTEsIDgsIDMsIDIxNiwgCisgICAgMTEwLCA4LCAzLCAyMTcsIDQ2LCA4LCAzLCAyMTcsIDMzLCA4LCAzLCAyMTcsIDEwNSwgOCwgMywgMjE3LCA1NCwgOCwgMywgCisgICAgMjE1LCAxMDIsIDgsIDMsIDIxNSwgMTAxLCA4LCAzLCAyMTUsIDEwNCwgOCwgMywgMjE1LCAxMDMsIDgsIDMsIDIxNiwgNSwgCisgICAgOCwgMywgMjE2LCAxLCA4LCAzLCAxMTEsIDgsIDMsIDIxNiwgMTMsIDgsIDMsIDIxNiwgMjEzLCA4LCAzLCAyMTcsIDIyLCA4LCAKKyAgICAzLCAyMTYsIDIzNywgOCwgMywgMjE1LCA4OCwgOCwgMywgMjE1LCA4MywgOCwgMywgMjE1LCAxMTgsIDgsIDMsIDIxNSwgCisgICAgMTAwLCA4LCAzLCAyMTUsIDg5LCA4LCAzLCAyMTUsIDk4LCA4LCAzLCAyNDgsIDEwNywgOCwgMywgMjQ4LCAxMDYsIDgsIDMsIAorICAgIDI0OCwgMTEyLCA4LCAzLCAyNDgsIDEwOCwgOCwgMywgMjQ4LCAxMDksIDgsIDMsIDI0OCwgMTExLCA4LCAzLCAyNDgsIDExMCwgCisgICAgOCwgMywgMjQ4LCAxMjgsIDgsIDMsIDI0OCwgMTI3LCA4LCAzLCAyNDgsIDEzNSwgOCwgMywgMjQ4LCAxMjksIDgsIDMsIAorICAgIDI0OCwgOTcsIDgsIDMsIDI0OCwgOTksIDgsIDMsIDI0OCwgOTgsIDgsIDMsIDI0OCwgMTAyLCA4LCAzLCAyNDgsIDEwMSwgOCwgCisgICAgMywgMjQ4LCAxMDUsIDgsIDMsIDI0OCwgMTAzLCA4LCAzLCAyNDgsIDEyMCwgOCwgMywgMjQ4LCAxMjMsIDgsIDMsIDI0OCwgCisgICAgMTIxLCA4LCAzLCAyNDgsIDkzLCA4LCAzLCAyNDgsIDkyLCA4LCAzLCAyNDgsIDEwMCwgOCwgMywgMjQ4LCA5NiwgOCwgMywgCisgICAgMjQ4LCA5NCwgOCwgMywgMjQ4LCA5NSwgOCwgMywgMjI5LCAxMjYsIDgsIDMsIDIyOSwgMTI1LCA4LCAzLCAyMjksIDEzMywgCisgICAgOCwgMywgMjI5LCAxMjgsIDgsIDMsIDIyOSwgMTI5LCA4LCAzLCAyMjksIDEzMCwgOCwgMywgMjI5LCAxNDIsIDgsIDMsIAorICAgIDIyOSwgMTQxLCA4LCAzLCAyMjksIDE0OCwgOCwgMywgMjI5LCAxNDMsIDgsIDMsIDIyOSwgMTE4LCA4LCAzLCAyMjksIDExNywgCisgICAgOCwgMywgMjI5LCAxMjQsIDgsIDMsIDIyOSwgMTE5LCA4LCAzLCAyMjksIDEzNCwgOCwgMywgMjI5LCAxNDAsIDgsIDMsIAorICAgIDIyOSwgMTM4LCA4LCAzLCAyMjksIDExMCwgOCwgMywgMjI5LCAxMDksIDgsIDMsIDIyOSwgMTE1LCA4LCAzLCAyMjksIDExMywgCisgICAgOCwgMywgMjI5LCAxMTEsIDgsIDMsIDIyOSwgMTEyLCA4LCAzLCAyNDEsIDc3LCA4LCAzLCAyNDEsIDc2LCA4LCAzLCAyNDEsIAorICAgIDgzLCA4LCAzLCAyNDEsIDc4LCA4LCAzLCAyNDEsIDgwLCA4LCAzLCAyNDEsIDc5LCA4LCAzLCAyNDEsIDgyLCA4LCAzLCAKKyAgICAyNDEsIDgxLCA4LCAzLCAyNDEsIDg4LCA4LCAzLCAyNDEsIDg3LCA4LCAzLCAyNDEsIDkwLCA4LCAzLCAyNDEsIDg5LCA4LCAKKyAgICAzLCAyNDEsIDcxLCA4LCAzLCAyNDEsIDcyLCA4LCAzLCAyNDEsIDc0LCA4LCAzLCAyNDEsIDczLCA4LCAzLCAyNDEsIDc1LCAKKyAgICA4LCAzLCAyNDEsIDg0LCA4LCAzLCAyNDEsIDg2LCA4LCAzLCAyNDEsIDg1LCA4LCAzLCAyNDEsIDcwLCA4LCAzLCAyMjgsIAorICAgIDE4OSwgOCwgMywgMjI4LCAxODcsIDgsIDMsIDIyOCwgMjMzLCA4LCAzLCAyMjgsIDE5MiwgOCwgMywgMjI4LCAyMTUsIDgsIAorICAgIDMsIDIyOCwgMjI5LCA4LCAzLCAyMjgsIDIyOCwgOCwgMywgMjI5LCAxODMsIDgsIDMsIDE5NywgOCwgMywgMjI5LCAxOTcsIAorICAgIDgsIDMsIDIyNywgMTg2LCA4LCAzLCAyMjcsIDE4OCwgOCwgMywgMjI3LCAxODcsIDgsIDMsIDIyOCwgNTEsIDgsIDMsIDIyOCwgCisgICAgMzgsIDgsIDMsIDIyOCwgNzQsIDgsIDMsIDIyOCwgNjAsIDgsIDMsIDIyOSwgODMsIDgsIDMsIDIyOSwgMTA3LCA4LCAzLCAKKyAgICAyMjksIDk0LCA4LCAzLCAyMjcsIDE4MSwgOCwgMywgMjI3LCAxNzcsIDgsIDMsIDIyNywgMjM3LCA4LCAzLCAyMjcsIDE4NSwgCisgICAgOCwgMywgMjI3LCAxODMsIDgsIDMsIDIyNywgMTg0LCA4LCAzLCAyNDEsIDE0MSwgOCwgMywgMjQxLCAxNDAsIDgsIDMsIAorICAgIDI0MSwgMTQ2LCA4LCAzLCAyNDEsIDE0MiwgOCwgMywgMjQxLCAxNDMsIDgsIDMsIDI0MSwgMTQ1LCA4LCAzLCAyNDEsIDE0NCwgCisgICAgOCwgMywgMjQxLCAxNTEsIDgsIDMsIDI0MSwgMTUwLCA4LCAzLCAyNDEsIDE1MywgOCwgMywgMjQxLCAxNTIsIDgsIDMsIAorICAgIDI0MSwgMTMzLCA4LCAzLCAyNDEsIDEzNSwgOCwgMywgMjQxLCAxMzQsIDgsIDMsIDI0MSwgMTM3LCA4LCAzLCAyNDEsIDEzOSwgCisgICAgOCwgMywgMjQxLCAxMzgsIDgsIDMsIDI0MSwgMTQ3LCA4LCAzLCAyNDEsIDE0OSwgOCwgMywgMjQxLCAxNDgsIDgsIDMsIAorICAgIDI0MSwgMTI5LCA4LCAzLCAyNDEsIDEyOCwgOCwgMywgMjQxLCAxMzYsIDgsIDMsIDI0MSwgMTMyLCA4LCAzLCAyNDEsIDEzMCwgCisgICAgOCwgMywgMjQxLCAxMzEsIDgsIDMsIDI0MSwgMTIzLCA4LCAzLCAyNDEsIDEyMiwgOCwgMywgMjQxLCAxMjcsIDgsIDMsIAorICAgIDI0MSwgMTI2LCA4LCAzLCAyNDEsIDEyNCwgOCwgMywgMjQxLCAxMjUsIDgsIDMsIDIzMiwgMTk1LCA4LCAzLCAyMzIsIDE4OSwgCisgICAgOCwgMywgMjMyLCAyNDEsIDgsIDMsIDIzMiwgMjAyLCA4LCAzLCAyMzIsIDIzMywgOCwgMywgMjMyLCAyMzIsIDgsIDMsIAorICAgIDIzMiwgMjM2LCA4LCAzLCAyMzIsIDIzNCwgOCwgMywgMjMzLCA3OSwgOCwgMywgMjMzLCA2OSwgOCwgMywgMjMzLCAxMzUsIAorICAgIDgsIDMsIDIzMywgODgsIDgsIDMsIDIzMiwgNzksIDgsIDMsIDIzMiwgNzgsIDgsIDMsIDIzMiwgODEsIDgsIDMsIDIzMiwgCisgICAgODAsIDgsIDMsIDIzMiwgMTE2LCA4LCAzLCAyMzIsIDEwNiwgOCwgMywgMjMyLCAxNTYsIDgsIDMsIDIzMiwgMTIwLCA4LCAzLCAKKyAgICAyMzMsIDIsIDgsIDMsIDIzMywgNTgsIDgsIDMsIDIzMywgMTcsIDgsIDMsIDIzMiwgNzQsIDgsIDMsIDIzMiwgNzIsIDgsIDMsIAorICAgIDIzMiwgOTgsIDgsIDMsIDIzMiwgNzcsIDgsIDMsIDIzMiwgNzUsIDgsIDMsIDIzMiwgNzYsIDgsIDMsIDIzMiwgNTQsIDgsIAorICAgIDMsIDIzMiwgNTMsIDgsIDMsIDIzMiwgNjIsIDgsIDMsIDIzMiwgNTcsIDgsIDMsIDIzMiwgNTUsIDgsIDMsIDIzMiwgNTYsIAorICAgIDgsIDMsIDI0MiwgMTg5LCA4LCAzLCAyNDIsIDE4OCwgOCwgMywgMjQyLCAyMTQsIDgsIDMsIDI0MiwgMTk5LCA4LCAzLCAKKyAgICAyNDIsIDIwNiwgOCwgMywgMjQyLCAyMDUsIDgsIDMsIDI0MiwgMjA4LCA4LCAzLCAyNDIsIDIwNywgOCwgMywgMjQzLCA4OSwgCisgICAgOCwgMywgMjQzLCA4NCwgOCwgMywgMjQzLCAxMzUsIDgsIDMsIDI0MywgOTksIDgsIDMsIDI0MiwgOTEsIDgsIDMsIDI0MiwgCisgICAgOTAsIDgsIDMsIDI0MiwgOTMsIDgsIDMsIDI0MiwgOTIsIDgsIDMsIDI0MiwgMTU0LCA4LCAzLCAyNDIsIDE1MiwgOCwgMywgCisgICAgMjQyLCAxNzQsIDgsIDMsIDI0MiwgMTYyLCA4LCAzLCAyNDMsIDMzLCA4LCAzLCAyNDMsIDMxLCA4LCAzLCAyNDMsIDYyLCA4LCAKKyAgICAzLCAyNDMsIDQ0LCA4LCAzLCAyNDIsIDgxLCA4LCAzLCAyNDIsIDgwLCA4LCAzLCAyNDIsIDExMywgOCwgMywgMjQyLCA4OSwgCisgICAgOCwgMywgMjQyLCA4MiwgOCwgMywgMjQyLCA4OCwgOCwgMywgMjM0LCA2MSwgOCwgMywgMjM0LCA2MCwgOCwgMywgMjM0LCAKKyAgICA5MiwgOCwgMywgMjM0LCA3NSwgOCwgMywgMjM0LCA4NSwgOCwgMywgMjM0LCA4OCwgOCwgMywgMjM0LCA4NiwgOCwgMywgCisgICAgMjM0LCAyMDIsIDgsIDMsIDIzNCwgMTkwLCA4LCAzLCAxNzYsIDgsIDMsIDIzNCwgMjI4LCA4LCAzLCAyMzMsIDIwMCwgOCwgCisgICAgMywgMjMzLCAyMDUsIDgsIDMsIDIzMywgMjAyLCA4LCAzLCAyMzQsIDAsIDgsIDMsIDIzMywgMjUyLCA4LCAzLCAyMzQsIDI4LCAKKyAgICA4LCAzLCAyMzQsIDcsIDgsIDMsIDIzNCwgMTU2LCA4LCAzLCAyMzQsIDE0MCwgOCwgMywgMjM0LCAxODIsIDgsIDMsIDIzNCwgCisgICAgMTU5LCA4LCAzLCAyMzMsIDE4OSwgOCwgMywgMjMzLCAxODYsIDgsIDMsIDIzMywgMjE3LCA4LCAzLCAyMzMsIDE5OSwgOCwgCisgICAgMywgMjMzLCAxOTIsIDgsIDMsIDIzMywgMTk2LCA4LCAzLCAyNDMsIDE1LCA4LCAzLCAyNDMsIDE0LCA4LCAzLCAyNDMsIDE5LCAKKyAgICA4LCAzLCAyNDMsIDE2LCA4LCAzLCAyNDMsIDE4LCA4LCAzLCAyNDMsIDE3LCA4LCAzLCAyNDMsIDI2LCA4LCAzLCAyNDMsIAorICAgIDI1LCA4LCAzLCAyNDMsIDI5LCA4LCAzLCAyNDMsIDI3LCA4LCAzLCAyNDMsIDYsIDgsIDMsIDI0MywgNSwgOCwgMywgMjQzLCAKKyAgICA4LCA4LCAzLCAyNDMsIDcsIDgsIDMsIDI0MywgMTEsIDgsIDMsIDI0MywgMTAsIDgsIDMsIDI0MywgMTMsIDgsIDMsIDI0MywgCisgICAgMTIsIDgsIDMsIDI0MywgMjEsIDgsIDMsIDI0MywgMjAsIDgsIDMsIDI0MywgMjQsIDgsIDMsIDI0MywgMjIsIDgsIDMsIAorICAgIDI0MywgMSwgOCwgMywgMjQzLCAwLCA4LCAzLCAyNDMsIDksIDgsIDMsIDI0MywgNCwgOCwgMywgMjQzLCAyLCA4LCAzLCAKKyAgICAyNDMsIDMsIDgsIDMsIDIzMCwgMjQ5LCA4LCAzLCAyMzAsIDI1MCwgOCwgMywgMjMxLCAxMiwgOCwgMywgMjMxLCAxMSwgOCwgCisgICAgMywgMjMxLCAxNCwgOCwgMywgMjMxLCAxMywgOCwgMywgMjMwLCAyNDAsIDgsIDMsIDIzMCwgMjQyLCA4LCAzLCAyMzAsIAorICAgIDI0MSwgOCwgMywgMjMwLCAyNDUsIDgsIDMsIDIzMCwgMjQ0LCA4LCAzLCAyMzAsIDI0NywgOCwgMywgMjMwLCAyNDYsIDgsIAorICAgIDMsIDIzMCwgMjUxLCA4LCAzLCAyMzAsIDI1MywgOCwgMywgMjMwLCAyNTIsIDgsIDMsIDIzMCwgMjM2LCA4LCAzLCAyMzAsIAorICAgIDIzNSwgOCwgMywgMjMwLCAyNDMsIDgsIDMsIDIzMCwgMjM5LCA4LCAzLCAyMzAsIDIzNywgOCwgMywgMjMwLCAyMzgsIDgsIAorICAgIDMsIDI0MCwgMTgwLCA4LCAzLCAyNDAsIDE3OSwgOCwgMywgMjQwLCAxODYsIDgsIDMsIDI0MCwgMTgxLCA4LCAzLCAyNDAsIAorICAgIDE4MywgOCwgMywgMjQwLCAxODIsIDgsIDMsIDI0MCwgMTg1LCA4LCAzLCAyNDAsIDE4NCwgOCwgMywgMjQwLCAxOTEsIDgsIAorICAgIDMsIDI0MCwgMTkwLCA4LCAzLCAyNDAsIDE5MywgOCwgMywgMjQwLCAxOTIsIDgsIDMsIDI0MCwgMTcyLCA4LCAzLCAyNDAsIAorICAgIDE3MSwgOCwgMywgMjQwLCAxNzQsIDgsIDMsIDI0MCwgMTczLCA4LCAzLCAyNDAsIDE3NiwgOCwgMywgMjQwLCAxNzUsIDgsIAorICAgIDMsIDI0MCwgMTc4LCA4LCAzLCAyNDAsIDE3NywgOCwgMywgMjQwLCAxODcsIDgsIDMsIDI0MCwgMTg5LCA4LCAzLCAyNDAsIAorICAgIDE4OCwgOCwgMywgMjI5LCAyNCwgOCwgMywgMjI5LCAyNiwgOCwgMywgMjI5LCAyNSwgOCwgMywgMjI5LCA2NywgOCwgMywgCisgICAgMjI5LCA2NSwgOCwgMywgMjI5LCA3NywgOCwgMywgMjI5LCA3MCwgOCwgMywgMjI4LCAyNDMsIDgsIDMsIDIyOCwgMjQyLCA4LCAKKyAgICAzLCAyMjgsIDI0NCwgOCwgMywgMjI4LCAyNTIsIDgsIDMsIDIyOCwgMjQ5LCA4LCAzLCAyMjksIDQsIDgsIDMsIDIyOCwgCisgICAgMjU0LCA4LCAzLCAyMjksIDU4LCA4LCAzLCAyMjksIDY0LCA4LCAzLCAyMjksIDYwLCA4LCAzLCAyNDEsIDE1NiwgOCwgMywgCisgICAgMjQxLCAxNjYsIDgsIDMsIDI0MSwgMTc1LCA4LCAzLCAyNDEsIDI1MSwgOCwgMywgMjQxLCAyNDMsIDgsIDMsIDE2MiwgOCwgCisgICAgMywgMjQyLCA2LCA4LCAzLCAyNDAsIDIwNiwgOCwgMywgMjQwLCAyMDUsIDgsIDMsIDI0MCwgMjA4LCA4LCAzLCAyNDAsIAorICAgIDIwNywgOCwgMywgMjQwLCAyNDIsIDgsIDMsIDI0MCwgMjMzLCA4LCAzLCAyNDEsIDY4LCA4LCAzLCAyNDEsIDQ3LCA4LCAzLCAKKyAgICAyNDEsIDE5NCwgOCwgMywgMjQxLCAyMzgsIDgsIDMsIDI0MSwgMjA2LCA4LCAzLCAyMTIsIDQzLCA4LCAzLCAyMTIsIDI4LCAKKyAgICA4LCAzLCAyMTIsIDY1LCA4LCAzLCAyMTIsIDUxLCA4LCAzLCAyMTEsIDE4NSwgOCwgMywgMjExLCAxODcsIDgsIDMsIDIxMSwgCisgICAgMTg2LCA4LCAzLCAyMTEsIDIwMywgOCwgMywgMjExLCAyMjcsIDgsIDMsIDIxMSwgMjEwLCA4LCAzLCAyMTIsIDUsIDgsIDMsIAorICAgIDIxMiwgMjIsIDgsIDMsIDIxMiwgMTAsIDgsIDMsIDIxMCwgMzAsIDgsIDMsIDIxMCwgMjksIDgsIDMsIDIxMCwgNDQsIDgsIAorICAgIDMsIDIxMCwgMzIsIDgsIDMsIDIxMCwgMzcsIDgsIDMsIDIxMCwgMzksIDgsIDMsIDIxMCwgMzgsIDgsIDMsIDIxMCwgMTAyLCAKKyAgICA4LCAzLCAyMTAsIDk5LCA4LCAzLCAyMTAsIDExNiwgOCwgMywgMjEwLCAxMDUsIDgsIDMsIDIxMCwgNiwgOCwgMywgMjEwLCAKKyAgICA4LCA4LCAzLCAyMTAsIDcsIDgsIDMsIDIxMCwgMTksIDgsIDMsIDIxMCwgMTgsIDgsIDMsIDIxMCwgMjMsIDgsIDMsIDIxMCwgCisgICAgMjAsIDgsIDMsIDIxMCwgODQsIDgsIDMsIDIxMCwgOTQsIDgsIDMsIDIxMCwgODgsIDgsIDMsIDIxMCwgMiwgOCwgMywgMjEwLCAKKyAgICAxLCA4LCAzLCAyMTAsIDEzLCA4LCAzLCAyMTAsIDUsIDgsIDMsIDIxMCwgMywgOCwgMywgMjEwLCA0LCA4LCAzLCAyMDksIAorICAgIDI0NSwgOCwgMywgMjA5LCAyNDQsIDgsIDMsIDIwOSwgMjUwLCA4LCAzLCAyMDksIDI0OCwgOCwgMywgMjA5LCAyNDYsIDgsIAorICAgIDMsIDIwOSwgMjQ3LCA4LCAzLCAyNTAsIDI4LCA4LCAzLCAyNTAsIDI0LCA4LCAzLCAyNTAsIDUxLCA4LCAzLCAyNTAsIDM3LCAKKyAgICA4LCAzLCAyNTAsIDQ4LCA4LCAzLCAyNTAsIDQyLCA4LCAzLCAyNTAsIDUwLCA4LCAzLCAyNTAsIDQ5LCA4LCAzLCAyNTAsIAorICAgIDIyNCwgOCwgMywgMjUwLCAyMTcsIDgsIDMsIDI1MSwgMzMsIDgsIDMsIDI1MCwgMjUxLCA4LCAzLCAyNDksIDEwNCwgOCwgMywgCisgICAgMjQ5LCAxMDYsIDgsIDMsIDI0OSwgMTA1LCA4LCAzLCAyNDksIDE1MywgOCwgMywgMjQ5LCAxNDQsIDgsIDMsIDI0OSwgMjM4LCAKKyAgICA4LCAzLCAyNDksIDE2OSwgOCwgMywgMjUwLCAxNjAsIDgsIDMsIDI1MCwgMTkwLCA4LCAzLCAyNTAsIDE2NSwgOCwgMywgCisgICAgMjQ5LCA4NCwgOCwgMywgMjQ5LCA4MiwgOCwgMywgMjQ5LCAxMTIsIDgsIDMsIDI0OSwgMTAyLCA4LCAzLCAyNDksIDg5LCA4LCAKKyAgICAzLCAyNDksIDEwMSwgOCwgMywgMjQ5LCA2MywgOCwgMywgMjQ5LCA2MiwgOCwgMywgMjQ5LCA3MywgOCwgMywgMjQ5LCA2OSwgCisgICAgOCwgMywgMjQ5LCA2NCwgOCwgMywgMjQ5LCA2NiwgOCwgMywgMjA5LCAyMjgsIDgsIDMsIDIwOSwgMjI3LCA4LCAzLCAyMDksIAorICAgIDIzNCwgOCwgMywgMjA5LCAyMjksIDgsIDMsIDIwOSwgMjMxLCA4LCAzLCAyMDksIDIzMCwgOCwgMywgMjA5LCAyMzMsIDgsIAorICAgIDMsIDIwOSwgMjMyLCA4LCAzLCAyMDksIDI0MCwgOCwgMywgMjA5LCAyMzksIDgsIDMsIDIwOSwgMjQzLCA4LCAzLCAyMDksIAorICAgIDI0MSwgOCwgMywgMjA5LCAyMjQsIDgsIDMsIDIwOSwgMjI2LCA4LCAzLCAyMDksIDIyNSwgOCwgMywgMjA5LCAyMzUsIDgsIAorICAgIDMsIDIwOSwgMjM4LCA4LCAzLCAyMDksIDIzNiwgOCwgMywgMjA5LCAyMTcsIDgsIDMsIDIwOSwgMjIxLCA4LCAzLCAyMDksIAorICAgIDIyMCwgOCwgMywgMjA5LCAyMTgsIDgsIDMsIDIwOSwgMjE5LCA4LCAzLCAyMDksIDIxMSwgOCwgMywgMjA5LCAyMTAsIDgsIAorICAgIDMsIDIwOSwgMjE2LCA4LCAzLCAyMDksIDIxNCwgOCwgMywgMjA5LCAyMTIsIDgsIDMsIDIwOSwgMjEzLCA4LCAzLCAyMjcsIAorICAgIDEwNCwgOCwgMywgMjI3LCAxMDMsIDgsIDMsIDIyNywgMTA5LCA4LCAzLCAyMjcsIDEwNSwgOCwgMywgMjI3LCAxMDYsIDgsIAorICAgIDMsIDIyNywgMTA4LCA4LCAzLCAyMjcsIDEwNywgOCwgMywgMjI3LCAxMTQsIDgsIDMsIDIyNywgMTEzLCA4LCAzLCAyMjcsIAorICAgIDExNywgOCwgMywgMjI3LCAxMTYsIDgsIDMsIDIyNywgOTcsIDgsIDMsIDIyNywgOTgsIDgsIDMsIDIyNywgMTAxLCA4LCAzLCAKKyAgICAyMjcsIDEwMiwgOCwgMywgMjI3LCAxMTAsIDgsIDMsIDIyNywgMTEyLCA4LCAzLCAyMjcsIDkyLCA4LCAzLCAyMjcsIDEwMCwgCisgICAgOCwgMywgMjI3LCA5NiwgOCwgMywgMjI3LCA5MywgOCwgMywgMjI3LCA5NCwgOCwgMywgMjI3LCA4NywgOCwgMywgMjI3LCAKKyAgICA4NiwgOCwgMywgMjI3LCA5MSwgOCwgMywgMjI3LCA5MCwgOCwgMywgMjI3LCA4OCwgOCwgMywgMjI3LCA4OSwgOCwgMywgCisgICAgMjE5LCAxMjcsIDgsIDMsIDE5NCwgOCwgMywgMjE5LCAxOTEsIDgsIDMsIDIxOSwgMTMwLCA4LCAzLCAyMTksIDE4MywgOCwgCisgICAgMywgMjE5LCAxODYsIDgsIDMsIDIxOSwgMTg0LCA4LCAzLCAyMjEsIDIyNiwgOCwgMywgMjIxLCAyMTQsIDgsIDMsIDIwNiwgCisgICAgOCwgMywgMjIxLCAyMzQsIDgsIDMsIDIxOCwgMjgsIDgsIDMsIDIxOCwgMzAsIDgsIDMsIDIxOCwgMjksIDgsIDMsIDIxOSwgCisgICAgMzQsIDgsIDMsIDIxOSwgMjMsIDgsIDMsIDIxOSwgNTgsIDgsIDMsIDIxOSwgMzgsIDgsIDMsIDIyMCwgMTE0LCA4LCAzLCAKKyAgICAyMjEsIDE4MSwgOCwgMywgMjIwLCAxMzksIDgsIDMsIDIxOCwgNSwgOCwgMywgMjE4LCAzLCA4LCAzLCAyMTgsIDgzLCA4LCAKKyAgICAzLCAyMTgsIDI3LCA4LCAzLCAyMTgsIDksIDgsIDMsIDIxOCwgMTcsIDgsIDMsIDIxNywgMTY2LCA4LCAzLCAyMTcsIDE2NSwgCisgICAgOCwgMywgMjE3LCAyMzIsIDgsIDMsIDIxNywgMTczLCA4LCAzLCAyMTcsIDE2OCwgOCwgMywgMjE3LCAxNzIsIDgsIDMsIAorICAgIDIxOCwgMTg2LCA4LCAzLCAyMTgsIDE4NSwgOCwgMywgMjE4LCAxOTIsIDgsIDMsIDIxOCwgMTg3LCA4LCAzLCAyMTgsIDE4OSwgCisgICAgOCwgMywgMjE4LCAxOTEsIDgsIDMsIDIxOCwgMTkwLCA4LCAzLCAyMTgsIDIwMCwgOCwgMywgMjE4LCAxOTgsIDgsIDMsIAorICAgIDIxOCwgMjIzLCA4LCAzLCAyMTgsIDIwMSwgOCwgMywgMjE4LCAxODEsIDgsIDMsIDIxOCwgMTgwLCA4LCAzLCAyMTgsIDE4NCwgCisgICAgOCwgMywgMjE4LCAxODIsIDgsIDMsIDIxOCwgMTk0LCA4LCAzLCAyMTgsIDE5NywgOCwgMywgMjE4LCAxOTUsIDgsIDMsIAorICAgIDIxOCwgMTc3LCA4LCAzLCAyMTgsIDE3NSwgOCwgMywgMjE4LCAxNzksIDgsIDMsIDIxOCwgMTc4LCA4LCAzLCAyMTgsIDE3MCwgCisgICAgOCwgMywgMjE4LCAxNjksIDgsIDMsIDIxOCwgMTc0LCA4LCAzLCAyMTgsIDE3MywgOCwgMywgMjE4LCAxNzEsIDgsIDMsIAorICAgIDIxOCwgMTcyLCA4LCAzLCAyMTAsIDc3LCA4LCAzLCAyMTAsIDc2LCA4LCAzLCAyMTAsIDgyLCA4LCAzLCAyMTAsIDc5LCA4LCAKKyAgICAzLCAyMTAsIDU5LCA4LCAzLCAyMTAsIDYxLCA4LCAzLCAyMTAsIDYwLCA4LCAzLCAyMTAsIDY0LCA4LCAzLCAyMTAsIDYzLCAKKyAgICA4LCAzLCAyMTAsIDY3LCA4LCAzLCAyMTAsIDY1LCA4LCAzLCAyMTAsIDcxLCA4LCAzLCAyMTAsIDcwLCA4LCAzLCAyMTAsIAorICAgIDc0LCA4LCAzLCAyMTAsIDcyLCA4LCAzLCAyMTAsIDU1LCA4LCAzLCAyMTAsIDU0LCA4LCAzLCAyMTAsIDYyLCA4LCAzLCAKKyAgICAyMTAsIDU4LCA4LCAzLCAyMTAsIDU2LCA4LCAzLCAyMTAsIDU3LCA4LCAzLCAyMTAsIDQ3LCA4LCAzLCAyMTAsIDQ2LCA4LCAKKyAgICAzLCAyMTAsIDUxLCA4LCAzLCAyMTAsIDUwLCA4LCAzLCAyMTAsIDQ4LCA4LCAzLCAyMTAsIDQ5LCA4LCAzLCAyNTAsIDEzNiwgCisgICAgOCwgMywgMjUwLCAxMzMsIDgsIDMsIDI1MCwgMTU3LCA4LCAzLCAyNTAsIDE0NCwgOCwgMywgMjUwLCA2NSwgOCwgMywgMjUwLCAKKyAgICA2NCwgOCwgMywgMjUwLCA2NywgOCwgMywgMjUwLCA2NiwgOCwgMywgMjUwLCA3OSwgOCwgMywgMjUwLCA3OCwgOCwgMywgCisgICAgMjUwLCA4NiwgOCwgMywgMjUwLCA4MSwgOCwgMywgMjUwLCAxMTUsIDgsIDMsIDI1MCwgMTEzLCA4LCAzLCAyNTAsIDEzMSwgCisgICAgOCwgMywgMjUwLCAxMjEsIDgsIDMsIDI1MCwgNTksIDgsIDMsIDI1MCwgNjksIDgsIDMsIDI1MCwgNjMsIDgsIDMsIDI1MCwgCisgICAgNjAsIDgsIDMsIDI1MCwgNjIsIDgsIDMsIDI1MCwgNTMsIDgsIDMsIDI1MCwgNTIsIDgsIDMsIDI1MCwgNTcsIDgsIDMsIAorICAgIDI1MCwgNTYsIDgsIDMsIDI1MCwgNTQsIDgsIDMsIDI1MCwgNTUsIDgsIDMsIDIyMiwgMTc1LCA4LCAzLCAyMjIsIDE3OSwgOCwgCisgICAgMywgMjIyLCAxNTgsIDgsIDMsIDIyMiwgMTU5LCA4LCAzLCAyMjIsIDE2MiwgOCwgMywgMjIyLCAxNjEsIDgsIDMsIDIyMiwgCisgICAgMTY1LCA4LCAzLCAyMjIsIDE2MywgOCwgMywgMjIyLCAxNjksIDgsIDMsIDIyMiwgMTY4LCA4LCAzLCAyMjIsIDE3NCwgOCwgCisgICAgMywgMjIyLCAxNzAsIDgsIDMsIDIyMiwgMTU0LCA4LCAzLCAyMjIsIDE1MiwgOCwgMywgMjIyLCAxNjAsIDgsIDMsIDIyMiwgCisgICAgMTU3LCA4LCAzLCAyMjIsIDE1NSwgOCwgMywgMjIyLCAxNTYsIDgsIDMsIDIyMiwgMTQ3LCA4LCAzLCAyMjIsIDE0NiwgOCwgCisgICAgMywgMjIyLCAxNTEsIDgsIDMsIDIyMiwgMTUwLCA4LCAzLCAyMjIsIDE0OCwgOCwgMywgMjIyLCAxNDksIDgsIDMsIDIyOCwgCisgICAgMzQsIDgsIDMsIDIyOCwgMzMsIDgsIDMsIDIyOCwgMzYsIDgsIDMsIDIyOCwgMzUsIDgsIDMsIDIyOCwgMjYsIDgsIDMsIAorICAgIDIyOCwgMjgsIDgsIDMsIDIyOCwgMjcsIDgsIDMsIDIyOCwgMzAsIDgsIDMsIDIyOCwgMjksIDgsIDMsIDIyOCwgMzIsIDgsIAorICAgIDMsIDIyOCwgMzEsIDgsIDMsIDIyOCwgMjEsIDgsIDMsIDIyOCwgMjAsIDgsIDMsIDIyOCwgMjUsIDgsIDMsIDIyOCwgMjQsIAorICAgIDgsIDMsIDIyOCwgMjIsIDgsIDMsIDIyOCwgMjMsIDgsIDMsIDIyOCwgMTUsIDgsIDMsIDIyOCwgMTQsIDgsIDMsIDIyOCwgCisgICAgMTksIDgsIDMsIDIyOCwgMTgsIDgsIDMsIDIyOCwgMTYsIDgsIDMsIDIyOCwgMTcsIDgsIDMsIDIyMCwgNzIsIDgsIDMsIAorICAgIDIyMCwgNjcsIDgsIDMsIDIyMCwgMTAyLCA4LCAzLCAyMjAsIDgzLCA4LCAzLCAyMTksIDIxNSwgOCwgMywgMjE5LCAyMTcsIAorICAgIDgsIDMsIDIxOSwgMjE2LCA4LCAzLCAyMTksIDIzNiwgOCwgMywgMjE5LCAyMzMsIDgsIDMsIDIyMCwgNywgOCwgMywgMjE5LCAKKyAgICAyNTQsIDgsIDMsIDIyMCwgNDIsIDgsIDMsIDIyMCwgMzUsIDgsIDMsIDIyMCwgNjMsIDgsIDMsIDIyMCwgNTAsIDgsIDMsIAorICAgIDIxOSwgMjExLCA4LCAzLCAyMTksIDIwOSwgOCwgMywgMjE5LCAyMjUsIDgsIDMsIDIxOSwgMjE0LCA4LCAzLCAyMTksIDIxMiwgCisgICAgOCwgMywgMjE5LCAyMTMsIDgsIDMsIDIxOSwgMTk0LCA4LCAzLCAyMTksIDE5MywgOCwgMywgMjE5LCAyMDAsIDgsIDMsIAorICAgIDIxOSwgMTk3LCA4LCAzLCAyMTksIDE5NSwgOCwgMywgMjE5LCAxOTYsIDgsIDMsIDIyMywgMTQxLCA4LCAzLCAyMjMsIDEzNSwgCisgICAgOCwgMywgMjA1LCA4LCAzLCAyMjMsIDE0NywgOCwgMywgMjIyLCAxMjAsIDgsIDMsIDIyMiwgMTIyLCA4LCAzLCAyMjIsIAorICAgIDEyMSwgOCwgMywgMjIyLCAxODgsIDgsIDMsIDIyMiwgMTgxLCA4LCAzLCAyMjIsIDIxMSwgOCwgMywgMjIyLCAxOTIsIDgsIAorICAgIDMsIDIyMywgNDMsIDgsIDMsIDIyMywgMTI4LCA4LCAzLCAyMjMsIDgxLCA4LCAzLCAyMjIsIDExMywgOCwgMywgMjIyLCAKKyAgICAxMTAsIDgsIDMsIDIyMiwgMTQwLCA4LCAzLCAyMjIsIDExOSwgOCwgMywgMjIyLCAxMTUsIDgsIDMsIDIyMiwgMTE2LCA4LCAKKyAgICAzLCAyMjIsIDk1LCA4LCAzLCAyMjIsIDk0LCA4LCAzLCAyMjIsIDEwMCwgOCwgMywgMjIyLCA5OCwgOCwgMywgMjIyLCA5NiwgCisgICAgOCwgMywgMjIyLCA5NywgOCwgMywgMjM1LCA5OCwgOCwgMywgMjM1LCA5NywgOCwgMywgMjM1LCAxMDgsIDgsIDMsIDIzNSwgCisgICAgOTksIDgsIDMsIDIzNSwgMTA0LCA4LCAzLCAyMzUsIDEwMywgOCwgMywgMjM1LCAxMDYsIDgsIDMsIDIzNSwgMTA1LCA4LCAzLCAKKyAgICAyMzUsIDQxLCA4LCAzLCAyMzUsIDQwLCA4LCAzLCAyMzUsIDQzLCA4LCAzLCAyMzUsIDQyLCA4LCAzLCAyMzUsIDU2LCA4LCAKKyAgICAzLCAyMzUsIDU0LCA4LCAzLCAyMzUsIDY4LCA4LCAzLCAyMzUsIDU4LCA4LCAzLCAyMzUsIDM0LCA4LCAzLCAyMzUsIDMyLCAKKyAgICA4LCAzLCAyMzUsIDUxLCA4LCAzLCAyMzUsIDM5LCA4LCAzLCAyMzUsIDM2LCA4LCAzLCAyMzUsIDM3LCA4LCAzLCAyMzUsIAorICAgIDI2LCA4LCAzLCAyMzUsIDI1LCA4LCAzLCAyMzUsIDMwLCA4LCAzLCAyMzUsIDI5LCA4LCAzLCAyMzUsIDI3LCA4LCAzLCAKKyAgICAyMzUsIDI4LCA4LCAzLCAyMjQsIDQ2LCA4LCAzLCAyMjQsIDQ0LCA4LCAzLCAyMjQsIDUzLCA4LCAzLCAyMjQsIDQ3LCA4LCAKKyAgICAzLCAyMjQsIDUwLCA4LCAzLCAyMjQsIDQ5LCA4LCAzLCAyMjQsIDUyLCA4LCAzLCAyMjQsIDUxLCA4LCAzLCAyMjMsIDI1NSwgCisgICAgOCwgMywgMjIzLCAyNTIsIDgsIDMsIDIyNCwgMSwgOCwgMywgMjI0LCAwLCA4LCAzLCAyMjQsIDMzLCA4LCAzLCAyMjQsIDMyLCAKKyAgICA4LCAzLCAyMjQsIDQyLCA4LCAzLCAyMjQsIDM2LCA4LCAzLCAyMjMsIDI0NywgOCwgMywgMjIzLCAyNDMsIDgsIDMsIDIyNCwgCisgICAgMzAsIDgsIDMsIDIyMywgMjUxLCA4LCAzLCAyMjMsIDI0OSwgOCwgMywgMjIzLCAyNTAsIDgsIDMsIDIyMywgMjI3LCA4LCAzLCAKKyAgICAyMjMsIDIyNSwgOCwgMywgMjIzLCAyMzcsIDgsIDMsIDIyMywgMjMwLCA4LCAzLCAyMjMsIDIyOCwgOCwgMywgMjIzLCAyMjksIAorICAgIDgsIDMsIDIzNSwgODcsIDgsIDMsIDIzNSwgODYsIDgsIDMsIDIzNSwgOTMsIDgsIDMsIDIzNSwgODgsIDgsIDMsIDIzNSwgCisgICAgOTAsIDgsIDMsIDIzNSwgODksIDgsIDMsIDIzNSwgOTIsIDgsIDMsIDIzNSwgOTEsIDgsIDMsIDIzNSwgNzgsIDgsIDMsIAorICAgIDIzNSwgODAsIDgsIDMsIDIzNSwgNzksIDgsIDMsIDIzNSwgODMsIDgsIDMsIDIzNSwgODIsIDgsIDMsIDIzNSwgODUsIDgsIAorICAgIDMsIDIzNSwgODQsIDgsIDMsIDIzNSwgNzQsIDgsIDMsIDIzNSwgNzMsIDgsIDMsIDIzNSwgODEsIDgsIDMsIDIzNSwgNzcsIAorICAgIDgsIDMsIDIzNSwgNzUsIDgsIDMsIDIzNSwgNzYsIDgsIDMsIDIzNSwgNzAsIDgsIDMsIDIzNSwgNjksIDgsIDMsIDIzNSwgCisgICAgNzIsIDgsIDMsIDIzNSwgNzEsIDgsIDMsIDIyOCwgMTYyLCA4LCAzLCAyMjgsIDE2MSwgOCwgMywgMjI4LCAxNjksIDgsIDMsIAorICAgIDIyOCwgMTYzLCA4LCAzLCAyMjgsIDE2NSwgOCwgMywgMjI4LCAxNjQsIDgsIDMsIDIyOCwgMTY4LCA4LCAzLCAyMjgsIDE2NiwgCisgICAgOCwgMywgMjI4LCAxNTEsIDgsIDMsIDIyOCwgMTUyLCA4LCAzLCAyMjgsIDE1NywgOCwgMywgMjI4LCAxNTYsIDgsIDMsIAorICAgIDIyOCwgMTYwLCA4LCAzLCAyMjgsIDE1OCwgOCwgMywgMjI4LCAxNDYsIDgsIDMsIDIyOCwgMTU1LCA4LCAzLCAyMjgsIDE1MCwgCisgICAgOCwgMywgMjI4LCAxNDcsIDgsIDMsIDIyOCwgMTQ4LCA4LCAzLCAyMjgsIDE0MSwgOCwgMywgMjI4LCAxNDAsIDgsIDMsIAorICAgIDIyOCwgMTQ1LCA4LCAzLCAyMjgsIDE0NCwgOCwgMywgMjI4LCAxNDIsIDgsIDMsIDIyOCwgMTQzLCA4LCAzLCAyMjcsIDEzNywgCisgICAgOCwgMywgMjI3LCAxMzYsIDgsIDMsIDIyNywgMTQ4LCA4LCAzLCAyMjcsIDE0MSwgOCwgMywgMjI3LCAxNDUsIDgsIDMsIAorICAgIDIyNywgMTQ0LCA4LCAzLCAyMjcsIDE0NywgOCwgMywgMjI3LCAxNDYsIDgsIDMsIDIyNywgMTI0LCA4LCAzLCAyMjcsIDEyNiwgCisgICAgOCwgMywgMjI3LCAxMjUsIDgsIDMsIDIyNywgMTMwLCA4LCAzLCAyMjcsIDEyOSwgOCwgMywgMjI3LCAxMzQsIDgsIDMsIAorICAgIDIyNywgMTMxLCA4LCAzLCAyMjcsIDEyMiwgOCwgMywgMjI3LCAxMjAsIDgsIDMsIDIyNywgMTI4LCA4LCAzLCAyMjcsIDEyMywgCisgICAgOCwgMywgMjExLCAxNTAsIDgsIDMsIDIxMSwgMTQ5LCA4LCAzLCAyMTEsIDE1NywgOCwgMywgMjExLCAxNTIsIDgsIDMsIAorICAgIDIxMSwgMTU0LCA4LCAzLCAyMTEsIDE1MywgOCwgMywgMjExLCAxNTYsIDgsIDMsIDIxMSwgMTU1LCA4LCAzLCAyMTEsIDEzOSwgCisgICAgOCwgMywgMjExLCAxNDAsIDgsIDMsIDIxMSwgMTQ0LCA4LCAzLCAyMTEsIDE0MywgOCwgMywgMjExLCAxNDgsIDgsIDMsIAorICAgIDIxMSwgMTQ2LCA4LCAzLCAyMTEsIDEyMSwgOCwgMywgMjExLCAxMTksIDgsIDMsIDIxMSwgMTMxLCA4LCAzLCAyMTEsIDEyNCwgCisgICAgOCwgMywgMjExLCAxMjIsIDgsIDMsIDIxMSwgMTIzLCA4LCAzLCAyMTAsIDI1MCwgOCwgMywgMjEwLCAyNDgsIDgsIDMsIAorICAgIDIxMSwgOCwgOCwgMywgMjEwLCAyNTEsIDgsIDMsIDIxMSwgMiwgOCwgMywgMjExLCAxLCA4LCAzLCAyMTEsIDUsIDgsIDMsIAorICAgIDIxMSwgMywgOCwgMywgMjEwLCAxOTEsIDgsIDMsIDIxMCwgMTkwLCA4LCAzLCAyMTAsIDE5NCwgOCwgMywgMjEwLCAxOTIsIAorICAgIDgsIDMsIDIxMCwgMjI0LCA4LCAzLCAyMTAsIDIyMSwgOCwgMywgMjEwLCAyNDQsIDgsIDMsIDIxMCwgMjI4LCA4LCAzLCAKKyAgICAyMTAsIDE4MiwgOCwgMywgMjEwLCAxNzgsIDgsIDMsIDIxMCwgMjEyLCA4LCAzLCAyMTAsIDE4OSwgOCwgMywgMjEwLCAxODUsIAorICAgIDgsIDMsIDIxMCwgMTg2LCA4LCAzLCAyMTAsIDE2MiwgOCwgMywgMjEwLCAxNjEsIDgsIDMsIDIxMCwgMTY5LCA4LCAzLCAKKyAgICAyMTAsIDE2NSwgOCwgMywgMjEwLCAxNjMsIDgsIDMsIDIxMCwgMTY0LCA4LCAzNCwgMjI0LCAzMywgOCwgMzQsIDIzMiwgCisgICAgMjQxLCA4LCAzNCwgMjM0LCA2MSwgOCwgMzQsIDIyNywgMTQxLCA4LCAzNCwgMjQ5LCA2OSwgOCwgMzQsIDIxOCwgMTkyLCA4LCAKKyAgICAzNCwgMjQzLCAxMiwgOCwgMzQsIDI0MywgNDQsIDgsIDM0LCAyMzAsIDIzMCwgOCwgMzQsIDI0MCwgMTgwLCA4LCAzNCwgCisgICAgMjMyLCA1NiwgOCwgMzQsIDI1MiwgODMsIDgsIDM0LCAyMzAsIDEyNiwgOCwgMzQsIDIxMCwgMjQ0LCA4LCAzNCwgMjI0LCAKKyAgICAxMjEsIDgsIDM0LCAyNDAsIDE3NCwgOCwgMzQsIDIxNywgNDYsIDgsIDM0LCAyNDMsIDEzNSwgOCwgMzQsIDIxMCwgNSwgOCwgCisgICAgMzQsIDI0OSwgNjMsIDgsIDM0LCAyNDgsIDk1LCA4LCAzNCwgMjUxLCA5OCwgOCwgMzQsIDI0MywgOCwgOCwgMzQsIDIyNywgCisgICAgMTMxLCA4LCAzNCwgMjE1LCAxMTgsIDgsIDM0LCAyMjYsIDE3NSwgOCwgMzQsIDIzNSwgNzQsIDgsIDM0LCAyMTAsIDE5LCA4LCAKKyAgICAzNCwgMjI0LCAxMDAsIDgsIDM0LCAyNDEsIDEwOCwgOCwgMzQsIDIxMCwgMjUwLCA4LCAzNCwgMjEyLCAxMTIsIDgsIDM0LCAKKyAgICAyMTksIDIwMCwgOCwgMzQsIDIxMywgMjQ0LCA4LCAzNCwgMjEwLCAxMTYsIDgsIDM0LCAyMzUsIDY4LCA4LCAzNCwgMjI3LCAKKyAgICA5NiwgOCwgMzQsIDIzNSwgNzIsIDgsIDM0LCAyNDIsIDE1NCwgOCwgMzQsIDIzNSwgOTIsIDgsIDM0LCAyMTEsIDIyNywgOCwgCisgICAgMzQsIDI0NiwgNzgsIDgsIDM0LCAyMTksIDIxMywgOCwgMzQsIDIzMiwgMjM2LCA4LCAzNCwgMjQ5LCA3MywgOCwgMzQsIAorICAgIDI0OSwgMTA1LCA4LCAzNCwgMjUwLCAzNywgOCwgMzQsIDI0MCwgMTc3LCA4LCAzNCwgMjIwLCA3MiwgOCwgMzQsIDIxMCwgNCwgCisgICAgOCwgMzQsIDIxOSwgMjU0LCA4LCAzNCwgMjUwLCAxMzEsIDgsIDM0LCAyMDksIDIzMSwgOCwgMzQsIDIyOSwgMTczLCA4LCAKKyAgICAzNCwgMjM0LCAxODIsIDIzMiwgMTk2LCAxLCAyNTIsIDE5MSwgMjMyLCAxOTYsIDEsIDE5MCwgMjMyLCAxOTYsIDEsIDIyNSwgCisgICAgMTQ3LCAyMzIsIDE5NiwgMSwgMjQ4LCAyMjEsIDIzMiwgMTk2LCAxLCAyMTcsIDEwNSwgMjMyLCAxOTYsIDEsIDIxNiwgMjA4LCAKKyAgICAyMzIsIDE5NiwgMSwgMjQzLCAxMzUsIDIzMiwgMTk2LCAxLCAxNzYsIDIzMiwgMTk2LCAxLCAyMzQsIDEzMiwgMjMyLCAxOTYsIAorICAgIDEsIDIzNSwgMTQxLCAyMzIsIDE5NiwgMSwgMjUxLCAzMywgMjMyLCAxOTYsIDEsIDI1MCwgMTU3LCAyMzIsIDE5NiwgMSwgCisgICAgMjQ2LCAzOCwgMjMyLCAxOTYsIDEsIDIxNSwgMTgzLCAyMzIsIDE5NiwgMSwgMjE1LCAxNzUsIDIzMiwgMTk2LCAxLCAxODQsIAorICAgIDIzMiwgMTk2LCAxLCAxOTcsIDIzMiwgMTk2LCAxLCAyMzMsIDEzNSwgMjMyLCAxOTYsIDEsIDIwNiwgMjMyLCAxOTYsIDEsIAorICAgIDIxMCwgODIsIDIzMiwgMTk2LCAxLCAyMTAsIDExNiwgMjMyLCAxOTYsIDEsIDIyOSwgNzcsIDIzMiwgMTk2LCAxLCAxNjIsIAorICAgIDIzMiwgMTk2LCAxLCAyMTEsIDE2NSwgMjMyLCAxOTYsIDEsIDI0MSwgMTg5LCAyMzIsIDE5NiwgMSwgMjQ0LCAxOTYsIDIzMiwgCisgICAgMTk2LCAxLCAyMTIsIDY1LCAyMzIsIDE5NiwgMSwgMjIwLCAxMDIsIDIzMiwgMTk2LCAxLCAxOTEsIDIzMiwgMTk2LCAxLCAKKyAgICAyNDIsIDI0OSwgMjMyLCAxOTYsIDEsIDYxLCAyMzIsIDE5NiwgMSwgMjU0LCAyNDMsIDIzMiwgMTk2LCAxLCA3NSwgMjMyLCAKKyAgICAxOTYsIDEsIDI0NSwgNTUsIDIzMiwgMTk2LCAxLCA3MywgMjMyLCAxOTYsIDEsIDc2LCAyMzIsIDE5NiwgMSwgNzAsIDIzMiwgCisgICAgMTk2LCAxLCAyMTQsIDIxNCwgMjMyLCAxOTYsIDEsIDIxNCwgMjA4LCAyMzIsIDE5NiwgMSwgMjI2LCAyMzQsIDIzMiwgMTk2LCAKKyAgICAxLCAxMzgsIDIzMCwgMzIsIDIxNiwgMTE3LCAyMzIsIDE5NiwgMSwgMTM4LCAyMjksIDIyOSwgMjI1LCAxNiwgMjMyLCAxOTYsIAorICAgIDEsIDEzOCwgMjMwLCAzMiwgMjQ5LCA3MiwgMjMyLCAxOTYsIDEsIDEzOCwgMjMwLCAzMiwgMjUxLCAyMDUsIDIzMiwgMTk2LCAKKyAgICAxLCAxMzgsIDIzMCwgMzIsIDE5NywgMjMyLCAxOTYsIDEsIDEzOCwgMjMwLCAzMiwgMjM1LCAxMTUsIDIzMiwgMTk2LCAyMjQsIAorICAgIDE0MSwgMjQ5LCAyMTksIDIzMiwgMTk2LCAyMjQsIDE0MSwgMjQzLCAyMjksIDIxOCwgMTI5LCA0MSwgMywgMjQ1LCAyMDksIAorICAgIDQxLCAzLCAyNDUsIDIwNSwgNDEsIDMsIDI0MSwgMjIwLCA0MSwgMywgMjEyLCAxNywgNDEsIDMsIDIxMiwgMTYsIDQxLCAzLCAKKyAgICAyMjUsIDIxMSwgNDEsIDMsIDI1MiwgMTMsIDQxLCAzLCAyNTIsIDY2LCA0MSwgMywgMjMxLCAxMTYsIDQxLCAzLCAyMzMsIAorICAgIDI0NywgNDEsIDMsIDIzMSwgNiwgNDEsIDMsIDI0MywgNzUsIDQxLCAzLCAyNDQsIDE0NywgNDEsIDMsIDIxMywgMjUwLCA0MSwgCisgICAgMywgMjE3LCAxMSwgNDEsIDMsIDIxNiwgMTk0LCA0MSwgMywgMjQ4LCAxNiwgNDEsIDMsIDI0OCwgMTMsIDQxLCAzLCAyMzMsIAorICAgIDUwLCA0MSwgMywgMjIzLCAxMDgsIDQxLCAzLCAyNDgsIDc3LCA0MSwgMywgMjI5LCAxMzksIDQxLCAzLCAyMjEsIDE3MCwgCisgICAgNDEsIDMsIDIyMCwgNjEsIDQxLCAzLCAyMTAsIDkyLCA0MSwgMywgMjEwLCA3MywgNDEsIDMsIDI1MCwgMTgyLCA0MSwgMywgCisgICAgMjM1LCAxMjQsIDQxLCAzLCAyMjgsIDE3NiwgNDEsIDMsIDIxMSwgNDQsIDQxLCAzLCAyMzQsIDE4MSwgNDEsIDMsIDIyOSwgCisgICAgNTEsIDQxLCAzLCAyNDMsIDU1LCA0MSwgMywgMjMxLCA4MCwgNDEsIDMsIDIyOSwgMTAzLCA0MSwgMywgMjI3LCAxNTUsIDQxLCAKKyAgICAzLCA3MywgNDEsIDMsIDIzNSwgMjU1LCA0MSwgMywgMjQxLCAxODAsIDQxLCAzLCAyNDEsIDE2MCwgNDEsIDMsIDIxMSwgCisgICAgMjUwLCA0MSwgMywgMjExLCAyNDEsIDQxLCAzLCAyMjUsIDEwOCwgNDEsIDMsIDI1MiwgMTEsIDQxLCAzLCAyNTIsIDYsIDQxLCAKKyAgICAzLCAyMzEsIDEwOSwgNDEsIDMsIDIzMywgMjQ0LCA0MSwgMywgMjMxLCAzLCA0MSwgMywgMjQzLCA3MSwgNDEsIDMsIDI0NCwgCisgICAgMTIxLCA0MSwgMywgMjEzLCAxNzYsIDQxLCAzLCAyMTYsIDExNywgNDEsIDMsIDIxNiwgMTc1LCA0MSwgMywgMjQ4LCA4LCAKKyAgICA0MSwgMywgMjQ4LCAxMiwgNDEsIDMsIDIzMiwgMjQxLCA0MSwgMywgMjIzLCAzNSwgNDEsIDMsIDI0OCwgMywgNDEsIDMsIAorICAgIDIyOSwgMTMzLCA0MSwgMywgMjE5LCAxOTEsIDQxLCAzLCAyMjAsIDMyLCA0MSwgMywgMjEwLCA0NCwgNDEsIDMsIDIxMCwgCisgICAgNjksIDQxLCAzLCAyNTAsIDUxLCA0MSwgMywgMjM1LCAxMDgsIDQxLCAzLCAyMjgsIDE2OSwgNDEsIDMsIDIxMSwgOCwgNDEsIAorICAgIDMsIDIzNCwgOTIsIDQxLCAzLCAyMjksIDQzLCA0MSwgMywgMjQyLCAyMTQsIDQxLCAzLCAyMzAsIDIzMCwgNDEsIDMsIDIyOCwgCisgICAgMjMzLCA0MSwgMywgMjI3LCAxNDgsIDQxLCAzLCA2MSwgNDEsIDMsIDI1NCwgMTIzLCA0MSwgMywgMjI5LCA3MiwgNDEsIDMsIAorICAgIDE2MiwgNDEsIDMsIDI0MiwgMTgsIDQxLCAzLCAyMTIsIDY1LCA0MSwgMywgMjEyLCA1NSwgNDEsIDMsIDE5MCwgNDEsIDMsIAorICAgIDI1MiwgMTgsIDQxLCAzLCAyNTIsIDE5MSwgNDEsIDMsIDIzMSwgMTI0LCA0MSwgMywgMjMzLCAyNTEsIDQxLCAzLCAyMzMsIAorICAgIDI1MCwgNDEsIDMsIDIzMSwgMTAsIDQxLCAzLCAyNDMsIDc5LCA0MSwgMywgMjQ0LCAxOTYsIDQxLCAzLCAyMTQsIDI3LCA0MSwgCisgICAgMywgMjE3LCAxMDUsIDQxLCAzLCAyMTYsIDIwOCwgNDEsIDMsIDI0OCwgMjUsIDQxLCAzLCAyNDgsIDE1LCA0MSwgMywgMjMzLCAKKyAgICAxMzUsIDQxLCAzLCAyMDUsIDQxLCAzLCAyNDgsIDIyMSwgNDEsIDMsIDIyOSwgMTQ4LCA0MSwgMywgMjA2LCA0MSwgMywgCisgICAgMjIwLCAxMDIsIDQxLCAzLCAyMTAsIDExNiwgNDEsIDMsIDIxMCwgODIsIDQxLCAzLCAyNTEsIDMzLCA0MSwgMywgMjM1LCAKKyAgICAxNDEsIDQxLCAzLCAyMjgsIDE4NSwgNDEsIDMsIDE5MSwgNDEsIDMsIDE3NiwgNDEsIDMsIDIzNCwgMjM0LCA0MSwgMywgCisgICAgMjI5LCA1NiwgNDEsIDMsIDI0MywgMTM1LCA0MSwgMywgMTg0LCA0MSwgMywgMTk3LCA0MSwgMywgMjI3LCAxNjUsIDQxLCAzLCAKKyAgICAyMjYsIDE4MywgNDEsIDMsIDIyNiwgMTc5LCA0MSwgMywgMjQxLCA1MywgNDEsIDMsIDIxMSwgMjE1LCA0MSwgMywgMjExLCAKKyAgICAyMTEsIDQxLCAzLCAyMjQsIDI0OSwgNDEsIDMsIDI1MiwgOSwgNDEsIDMsIDI1MSwgMTkzLCA0MSwgMywgMjMxLCAxMDQsIAorICAgIDQxLCAzLCAyMzMsIDI0MiwgNDEsIDMsIDIzMCwgMjU1LCA0MSwgMywgMjQzLCA2NywgNDEsIDMsIDI0NCwgMzQsIDQxLCAzLCAKKyAgICAyMTMsIDEyNywgNDEsIDMsIDIxNiwgMTcsIDQxLCAzLCAyMTYsIDE1MywgNDEsIDMsIDI0OCwgNiwgNDEsIDMsIDI0OCwgMTAsIAorICAgIDQxLCAzLCAyMzIsIDEyNywgNDEsIDMsIDIyMiwgMTk3LCA0MSwgMywgMjQ3LCAxMjUsIDQxLCAzLCAyMjksIDEyMCwgNDEsIAorICAgIDMsIDIxOSwgNDAsIDQxLCAzLCAyMjAsIDEsIDQxLCAzLCAyMTAsIDIxLCA0MSwgMywgMjEwLCA2NiwgNDEsIDMsIDI0OSwgCisgICAgMTc0LCA0MSwgMywgMjM1LCA1OSwgNDEsIDMsIDIyOCwgMTU5LCA0MSwgMywgMjEwLCAyMjksIDQxLCAzLCAyMzQsIDEwLCAKKyAgICA0MSwgMywgMjI5LCA0MSwgNDEsIDMsIDI0MiwgMTY0LCA0MSwgMywgMjMwLCAxMzIsIDQxLCAzLCAyMjgsIDY0LCA0MSwgMywgCisgICAgMjI3LCAxMzIsIDQxLCAzLCA3MCwgNDEsIDMsIDIxNCwgMTkwLCA0MSwgMywgMjQwLCAyMjIsIDQxLCAzLCAyNDAsIDIxMiwgCisgICAgNDEsIDMsIDIxMSwgMTk1LCA0MSwgMywgMjExLCAxODksIDQxLCAzLCAyMjQsIDE1MCwgNDEsIDMsIDI1MiwgOCwgNDEsIDMsIAorICAgIDI1MSwgMTI1LCA0MSwgMywgMjMxLCAxMDMsIDQxLCAzLCAyMzMsIDI0MCwgNDEsIDMsIDIzMCwgMjU0LCA0MSwgMywgMjQzLCAKKyAgICA2NiwgNDEsIDMsIDI0MywgMjM0LCA0MSwgMywgMjEyLCAxMTYsIDQxLCAzLCAyMTUsIDExOCwgNDEsIDMsIDIxNiwgMTM2LCAKKyAgICA0MSwgMywgMjQ4LCA0LCA0MSwgMywgMjQ4LCA5LCA0MSwgMywgMjMyLCA5OCwgNDEsIDMsIDIyMiwgMTQwLCA0MSwgMywgCisgICAgMjQ2LCA3OCwgNDEsIDMsIDIyOSwgMTE1LCA0MSwgMywgMjE4LCA4MywgNDEsIDMsIDIxOSwgMjI1LCA0MSwgMywgMjEwLCAKKyAgICAxMywgNDEsIDMsIDIxMCwgNjIsIDQxLCAzLCAyNDksIDExMiwgNDEsIDMsIDIzNSwgNTEsIDQxLCAzLCAyMjgsIDE1NSwgNDEsIAorICAgIDMsIDIxMCwgMjEyLCA0MSwgMywgMjMzLCAyMTcsIDQxLCAzLCAyMjksIDQwLCA0MSwgMywgMjQyLCAxMTMsIDQxLCAzLCAKKyAgICAyMzAsIDEwMiwgNDEsIDMsIDIyNywgMjM3LCA0MSwgMywgMjI3LCAxMjgsIDQxLCAzLCA3NiwgNDEsIDMsIDIyNiwgMTk2LCAKKyAgICA0MSwgMywgMjI5LCAwLCA0MSwgMywgMjQxLCA2OCwgNDEsIDMsIDI0MSwgNTYsIDQxLCAzLCAyMTEsIDIyNywgNDEsIDMsIAorICAgIDIxMSwgMjE2LCA0MSwgMywgMjI1LCAxNiwgNDEsIDMsIDI1MiwgMTAsIDQxLCAzLCAyNTEsIDIwNSwgNDEsIDMsIDIzMSwgCisgICAgMTA1LCA0MSwgMywgMjMzLCAyNDMsIDQxLCAzLCAyMzEsIDEsIDQxLCAzLCAyNDMsIDY5LCA0MSwgMywgMjQzLCA2OCwgNDEsIAorICAgIDMsIDI0NCwgNDMsIDQxLCAzLCAyMTMsIDEzOCwgNDEsIDMsIDExMSwgNDEsIDMsIDIxNiwgMTU2LCA0MSwgMywgMjQ4LCA3LCAKKyAgICA0MSwgMywgMjQ4LCAxMSwgNDEsIDMsIDIzMiwgMTU2LCA0MSwgMywgMjIyLCAyMTEsIDQxLCAzLCAyNDcsIDE0NSwgNDEsIDMsIAorICAgIDIyOSwgMTI0LCA0MSwgMywgMjE5LCA1OCwgNDEsIDMsIDIyMCwgNywgNDEsIDMsIDIxMCwgMjMsIDQxLCAzLCAyMTAsIDY3LCAKKyAgICA0MSwgMywgMjQ5LCAyMzgsIDQxLCAzLCAyMzUsIDY4LCA0MSwgMywgMjI4LCAxNjAsIDQxLCAzLCAyMTAsIDI0NCwgNDEsIDMsIAorICAgIDIzNCwgMjgsIDQxLCAzLCAyMjksIDQyLCA0MSwgMywgMjQyLCAxNzQsIDQxLCAzLCAyMzAsIDE2MSwgNDEsIDMsIDIyOCwgCisgICAgNzQsIDQxLCAzLCAyMjcsIDEzNCwgNDEsIDMsIDc1LCA0MSwgMywgMjQ1LCAxNTAsIDQxLCAzLCAyMjksIDYxLCA0MSwgMywgCisgICAgMjQxLCAyMzgsIDQxLCAzLCAyNDEsIDIwOSwgNDEsIDMsIDIxMiwgMjIsIDQxLCAzLCAyMTIsIDEyLCA0MSwgMywgMjI1LCAKKyAgICAyMjEsIDQxLCAzLCAyNTIsIDE0LCA0MSwgMywgMjUyLCA3NSwgNDEsIDMsIDIzMSwgMTE3LCA0MSwgMywgMjMzLCAyNDgsIAorICAgIDQxLCAzLCAyMzMsIDI0NiwgNDEsIDMsIDIzMSwgNywgNDEsIDMsIDI0MywgNzYsIDQxLCAzLCAyNDMsIDc0LCA0MSwgMywgCisgICAgMjQ0LCAxNTQsIDQxLCAzLCAyMTMsIDI1NSwgNDEsIDMsIDIxNywgMjIsIDQxLCAzLCAyMTYsIDE5NSwgNDEsIDMsIDI0OCwgCisgICAgMTcsIDQxLCAzLCAyNDgsIDE0LCA0MSwgMywgMjMzLCA1OCwgNDEsIDMsIDIyMywgMTI4LCA0MSwgMywgMjQ4LCA5MCwgNDEsIAorICAgIDMsIDIyOSwgMTQwLCA0MSwgMywgMjIxLCAxODEsIDQxLCAzLCAyMjAsIDYzLCA0MSwgMywgMjEwLCA5NCwgNDEsIDMsIDIxMCwgCisgICAgNzQsIDQxLCAzLCAyNTAsIDE5MCwgNDEsIDMsIDIzNSwgMTI2LCA0MSwgMywgMjI4LCAxNzgsIDQxLCAzLCAyMTEsIDQ3LCAKKyAgICA0MSwgMywgMjM0LCAxODIsIDQxLCAzLCAyMjksIDUyLCA0MSwgMywgMjI5LCA0OCwgNDEsIDMsIDI0MywgNjIsIDQxLCAzLCAKKyAgICAyNDMsIDUxLCA0MSwgMywgMjMxLCA5MSwgNDEsIDMsIDIyOSwgMTA3LCA0MSwgMywgMjI3LCAxNTYsIDQxLCAzLCAyMjksIAorICAgIDc5LCA0MSwgMywgMjMzLCAyMiwgNDEsIDI0OSwgMjE5LCA0MSwgMjQzLCAyMjksIDIxOCwgMTI5LCA0MSwgMjI0LCAxMywgCisgICAgNzgsIDQxLCAzLCAyMjksIDEyMywgMjQ0LCAxOTYsIDQxLCAzLCAyMjksIDEyMywgMTc2LCA0MSwgMywgMjI5LCAxMjMsIAorICAgIDIxOSwgNDAsIDQxLCAxNiwgMjQ0LCAxNDQsIDQxLCAxNiwgMjM0LCAxODAsIDQxLCAxNiwgMjE2LCA4MSwgNDEsIDE2LCAKKyAgICAyMjgsIDIwOCwgNDEsIDE2LCAyNTIsIDE0NywgNDEsIDE2LCAyNDQsIDE5NSwgNDEsIDE2LCAyMTcsIDEwMSwgNDEsIDE2LCAKKyAgICAyNDgsIDE3NiwgNDEsIDE2LCAyNDcsIDEyNCwgNDEsIDE2LCAyMzMsIDIwNiwgNDEsIDE2LCAyMTYsIDIxLCA0MSwgMTYsIAorICAgIDI0NywgMTQ0LCA0MSwgMTYsIDIzNSwgNjAsIDQxLCAyMSwgMjEwLCA4NiwgNDEsIDIxLCAxMTAsIDQxLCAyMSwgMTA1LCA0MSwgCisgICAgMjEsIDE1OCwgNDEsIDIxLCAxNjEsIDQxLCAyMSwgMTg5LCA0MSwgMjEsIDE5NCwgNDEsIDIxLCAxOTgsIDQxLCAyMSwgMTk1LCAKKyAgICA0MSwgMjEsIDIwMCwgNDEsIDMsIDIyOSwgMTIzLCAxODQsIDQxLCAzLCAyMjksIDEyMywgMjQ3LCAxNDUsIDMzLCA2LCAxLCAKKyAgICAyMTAsIDkwLCAzMywgNCwgMSwgMjEwLCA5MCwgMzMsIDYsIDEsIDI0NiwgMzQsIDMzLCA0LCAxLCAyNDYsIDM0LCAzMywgNiwgCisgICAgMSwgMjIzLCA0OSwgMjQ2LCAzNiwgMzMsIDQsIDEsIDIyMywgNDksIDI0NiwgMzYsIDMzLCA2LCAxLCAyMzUsIDE4NSwgMzMsIAorICAgIDQsIDEsIDIzNSwgMTg1LCAzMywgNiwgMSwgMjQ3LCAxNjEsIDMzLCA0LCAxLCAyNDcsIDE2MSwgMzMsIDYsIDEsIDIzMCwgCisgICAgMTQwLCAyMTQsIDIwNSwgMzMsIDQsIDEsIDIzMCwgMTQwLCAyMTQsIDIwNSwgMzMsIDYsIDEsIDI1MSwgMTM2LCAyMjYsIAorICAgIDIwMSwgMzMsIDQsIDEsIDI1MSwgMTM2LCAyMjYsIDIwMSwgMzMsIDYsIDEsIDIyOSwgODcsIDIxMSwgMzEsIDMzLCA0LCAxLCAKKyAgICAyMjksIDg3LCAyMTEsIDMxLCAzMywgNiwgMSwgMjExLCAyOCwgMiwgMjUyLCAxODUsIDIxMSwgMzEsIDMzLCA0LCAxLCAyMTEsIAorICAgIDI4LCAyLCAyNTIsIDE4NSwgMjExLCAzMSwgMzMsIDYsIDEsIDIzNSwgMTgzLCAyMTEsIDU5LCAzMywgNCwgMSwgMjM1LCAKKyAgICAxODMsIDIxMSwgNTksIDMzLCA2LCAxLCAyMjMsIDQ5LCAyMTAsIDIxMiwgMzMsIDQsIDEsIDIyMywgNDksIDIxMCwgMjEyLCAKKyAgICAzMywgNiwgMSwgMjM1LCAxODMsIDYxLCAzMywgNCwgMSwgMjM1LCAxODMsIDYxLCAzMywgNiwgMSwgMjUwLCAwLCAyMzIsIAorICAgIDE5MiwgMjEwLCAxODMsIDMzLCA0LCAxLCAyNTAsIDAsIDIzMiwgMTkyLCAyMTAsIDE4MywgMzMsIDYsIDEsIDI1MSwgMjE0LCAKKyAgICAyMTAsIDE4MywgMzMsIDQsIDEsIDI1MSwgMjE0LCAyMTAsIDE4MywgMzMsIDYsIDEsIDIzNSwgMTgzLCAyNTAsIDAsIDIzMiwgCisgICAgMTkyLCAyMTAsIDE4MywgMzMsIDQsIDEsIDIzNSwgMTgzLCAyNTAsIDAsIDIzMiwgMTkyLCAyMTAsIDE4MywgMzMsIDYsIDEsIAorICAgIDIxMCwgMjQ2LCAzMywgNCwgMSwgMjEwLCAyNDYsIDMzLCA2LCAxLCAyMjMsIDQ5LCAyMTUsIDE3OCwgMzMsIDQsIDEsIDIyMywgCisgICAgNDksIDIxNSwgMTc4LCAzMywgNiwgMSwgMjE5LCA1MiwgMjQ4LCA5MCwgMzMsIDQsIDEsIDIxOSwgNTIsIDI0OCwgOTAsIDMzLCAKKyAgICA2LCAxLCAyMTksIDUyLCAyNDUsIDE3NCwgMzMsIDQsIDEsIDIxOSwgNTIsIDI0NSwgMTc0LCAzMywgNiwgMSwgMjE5LCA1MiwgCisgICAgMjQ1LCAxNTksIDMzLCA0LCAxLCAyMTksIDUyLCAyNDUsIDE1OSwgMzMsIDYsIDEsIDIzMCwgMTQ0LCA3NiwgMzMsIDQsIDEsIAorICAgIDIzMCwgMTQ0LCA3NiwgMzMsIDYsIDEsIDI1MSwgMjQwLCA3NiwgMzMsIDQsIDEsIDI1MSwgMjQwLCA3NiwgMzMsIDYsIDEsIAorICAgIDUyLCAyMzAsIDE0NCwgNzYsIDMzLCA0LCAxLCA1MiwgMjMwLCAxNDQsIDc2LCAzMywgMSwgMjMwLCA4NiwgNzYsIDM4LCAzMywgCisgICAgMjEyLCAxMDAsIDM4LCAzMywgMjE2LCAyNDgsIDIzMCwgMTkxLCA1MCwgMzgsIDMzLCAyNDAsIDIxMSwgMjMwLCAxOTEsIDUwLCAKKyAgICAzOCwgMzMsIDIxNiwgMTQ4LCAyMzAsIDE5MSwgNTAsIDIxOSwgOTMsIDI1MywgMjE2LCAzOCwgMzMsIDEsIDIxNCwgMjAyLCAKKyAgICAyMzYsIDYwLCAzOCwgMzMsIDEsIDczLCAzOCwgMzMsIDEsIDIxMSwgOCwgMzgsIDMzLCAxLCA3MCwgMzgsIDMzLCAxLCAyNDIsIAorICAgIDMsIDUwLCAzOCwgMzMsIDEsIDIxMSwgMjcsIDM4LCAzMywgMSwgMjE5LCA1MiwgNTAsIDM4LCAzMywgMSwgMjI2LCAyMDEsIAorICAgIDM4LCAzMywgMjM0LCAxOTIsIDM4LCAzMywgMjI1LCAyMjcsIDMzLCAyMzQsIDE5MiwgMzMsIDIyNSwgMjI3LCAzMywgNiwgMSwgCisgICAgMjQ2LCA0NiwgMzMsIDQsIDEsIDI0NiwgNDYsIDMzLCA2LCAxLCAyNDYsIDI3LCAzMywgNCwgMSwgMjQ2LCAyNywgMzMsIDYsIAorICAgIDEsIDIxMCwgNTIsIDMzLCA0LCAxLCAyMTAsIDUyLCAzMywgNiwgMSwgMjUwLCAyMDYsIDMzLCA0LCAxLCAyNTAsIDIwNiwgCisgICAgMzMsIDYsIDEsIDI0NiwgMjUsIDMzLCA0LCAxLCAyNDYsIDI1LCAzMywgNiwgMSwgMjE3LCAyMywgMiwgMjMwLCAyMjQsIAorICAgIDEwMywgMzMsIDQsIDEsIDIxNywgMjMsIDIsIDIzMCwgMjI0LCAxMDMsIDMzLCA2LCAxLCAyMTUsIDc4LCAzMywgNCwgMSwgCisgICAgMjE1LCA3OCwgMzMsIDYsIDEsIDIxNSwgMTYwLCAzMywgNCwgMSwgMjE1LCAxNjAsIDMzLCA2LCAxLCAyMTUsIDE2NCwgMzMsIAorICAgIDQsIDEsIDIxNSwgMTY0LCAzMywgNiwgMSwgMjE3LCAyOCwgMzMsIDQsIDEsIDIxNywgMjgsIDMzLCA2LCAxLCAyNDAsIDE5OCwgCisgICAgMzMsIDQsIDEsIDI0MCwgMTk4LCAzMywgNiwgMSwgMjE5LCAyMDYsIDMzLCA0LCAxLCAyMTksIDIwNiwgMzgsIDMzLCAxLCAKKyAgICAyMzUsIDE4MywgNzUsIDIwLCAxLCA2MSwgMjAsIDEsIDE3NiwgMjAsIDEsIDcwLCAyMCwgMSwgMjMzLCAyMTcsIDIwLCAxLCAKKyAgICAyNDUsIDIwOSwgMjAsIDEsIDIyMywgMTA4LCAyMCwgMSwgMjE3LCA4NiwgMjAsIDEsIDc2LCAyMCwgMSwgMjI3LCAxNDgsIAorICAgIDIwLCAxLCA3MywgMjAsIDEsIDIzMywgMTM1LCAyMCwgMSwgMTkwLCAyMCwgMSwgMjIyLCAyMzksIDIwLCAxLCAyMjMsIDI5LCAKKyAgICAyMCwgMSwgMjMzLCA0OSwgMjAsIDEsIDIzMSwgNzksIDIwLCAxLCAyMTcsIDEwMSwgMjAsIDEsIDIyOSwgMTQ2LCAyMCwgMSwgCisgICAgMjI4LCAxODMsIDIwLCAxLCAxOTMsIDIwLCAxLCAyMTgsIDQsIDIwLCAxLCAyMzAsIDEwMiwgMjAsIDEsIDIyMCwgMjcsIDIwLCAKKyAgICAxLCAyMTksIDE5MSwgMjAsIDEsIDIyMCwgMzcsIDIwLCAxLCAyMjAsIDEyMywgMjAsIDEsIDIzMywgMTU1LCAyMCwgMSwgCisgICAgMjM0LCAxNTYsIDIwLCAxLCAyMjcsIDIwOSwgMjAsIDEsIDIyNywgMjM3LCAyMCwgMSwgMjI4LCAxNTQsIDIwLCAxLCAyMTAsIAorICAgIDIyNiwgMjAsIDEsIDIxOSwgMjI1LCAyMCwgMSwgMjEwLCAxODcsIDIwLCAxLCAxOTEsIDIwLCAxLCAyMjgsIDksIDIwLCAxLCAKKyAgICAyMzQsIDE0MiwgMjAsIDEsIDIyNSwgMTUxLCAyMCwgMSwgMjI4LCAxNzYsIDIwLCAxLCAyMjcsIDI0NiwgMjAsIDEsIDIyNCwgCisgICAgMTQ0LCAyMCwgMSwgMjExLCAxOTIsIDIwLCAxLCAyMjUsIDIxMSwgMjAsIDEsIDI0NCwgMTQ3LCAyMCwgMSwgMjIyLCAxNDAsIAorICAgIDIwLCAxLCAyMzIsIDk4LCAyMCwgMSwgMjMwLCAyMzAsIDIwLCAxLCAyMjgsIDIzMywgMjAsIDEsIDIyMywgNTEsIDIwLCAxLCAKKyAgICAyMjMsIDE3MSwgMjAsIDEsIDIzNCwgMTY1LCAyMCwgMSwgMjI5LCA3LCAyMCwgMSwgMjI5LCA1NiwgMjAsIDEsIDIyOSwgNzcsIAorICAgIDIwLCAxLCAyMjAsIDcsIDIwLCAxLCAyMjQsIDE0NywgMjAsIDEsIDI0MywgMjM0LCAyMCwgMSwgMjQ0LCAzNywgMjAsIDEsIAorICAgIDIxMiwgNjUsIDIwLCAxLCAxOTcsIDIwLCAxLCAyMzIsIDI0MSwgMjAsIDEsIDIyNSwgMTA4LCAyMCwgMSwgMjMyLCAxMTksIAorICAgIDIwLCAxLCAyMzQsIDI4LCAyMCwgMSwgMjMxLCAxMTQsIDIwLCAxLCAyMjMsIDgzLCAyMCwgMSwgMjMxLCA1OCwgMjAsIDEsIAorICAgIDE4NCwgMjAsIDEsIDIxNiwgMTE3LCAyMCwgMSwgMjM0LCA5MiwgMjAsIDEsIDIzMCwgMTYxLCAyMCwgMSwgMjMxLCAxMjIsIAorICAgIDIwLCAxLCAyMTYsIDIzMCwgMjAsIDEsIDIzMywgMjUxLCAyMCwgMSwgMjE2LCAyNDcsIDIwLCAxLCAyMjcsIDIzOCwgMjAsIAorICAgIDEsIDIyMSwgMjUxLCAyMCwgMSwgMjQ0LCAxOTIsIDIwLCAxLCAyMzMsIDI1MywgMjAsIDEsIDIzNCwgMjQsIDIwLCAzOCwgCisgICAgMTY0LCAyMzQsIDUsIDIwLCAzOCwgMTY0LCAyMTUsIDExMCwgMjAsIDIyOCwgMTgyLCAyMCwgMjQzLCAyMjksIDIxOCwgMTI5LCAKKyAgICAyMCwgMjQ5LCAyMjYsIDIwLCAyNDksIDIxOSwgMjAsIDIyMCwgMTUwLCAyMCwgMjI0LCAxMywgNzgsIDU4LCAxLCAyNTAsIAorICAgIDk2LCAxMzgsIDIxMCwgMjU0LCAyMjUsIDYxLCA1OCwgMSwgMjUwLCA5NiwgMTM4LCAyMTEsIDcwLCAyMjUsIDYxLCA1OCwgMSwgCisgICAgMjUwLCA5NiwgMTM4LCAyMTAsIDI1NCwgMjIwLCA4NCwgNTgsIDEsIDI1MCwgOTYsIDEzOCwgMjExLCA3MCwgMjIwLCA4NCwgCisgICAgNTgsIDEsIDI1MCwgOTYsIDEzOCwgMjEwLCAyNTQsIDIyNCwgMzAsIDU4LCAxLCAyNTAsIDk2LCAxMzgsIDIxMSwgNzAsIAorICAgIDIyNCwgMzAsIDU4LCAxLCAyNTAsIDk2LCAxMzgsIDIxMCwgMjU0LCAyMjIsIDE0MCwgNTgsIDEsIDI1MCwgOTYsIDEzOCwgCisgICAgMjExLCA3MCwgMjIyLCAxNDAsIDU4LCAxLCAyNDUsIDIwLCAyNDYsIDExOCwgMTM4LCAxMzAsIDU4LCAxLCAxMjUsIDI0NiwgCisgICAgMTE4LCAxMzgsIDEzMCwgNTgsIDEsIDIzMCwgMjI1LCAyNDYsIDExOCwgMTM4LCAxMzAsIDU4LCAxLCAxMjEsIDI0NiwgMTE4LCAKKyAgICAxMzgsIDEzMCwgNTgsIDEsIDI0NSwgMTksIDI0NiwgMTE4LCAxMzgsIDEzMCwgNTgsIDEsIDI0NSwgMjAsIDI0NiwgMTE4LCAKKyAgICAyMzMsIDM5LCAxMzgsIDEzMCwgNTgsIDEsIDEyNSwgMjQ2LCAxMTgsIDIzMywgMzksIDEzOCwgMTMwLCA1OCwgMSwgMjMwLCAKKyAgICAyMjUsIDI0NiwgMTE4LCAyMzMsIDM5LCAxMzgsIDEzMCwgNTgsIDEsIDEyMSwgMjQ2LCAxMTgsIDIzMywgMzksIDEzOCwgCisgICAgMTMwLCA1OCwgMSwgMjQ1LCAxOSwgMjQ2LCAxMTgsIDIzMywgMzksIDEzOCwgMTMwLCA1OCwgMSwgMjQ1LCAyMCwgMjMzLCAKKyAgICAzOSwgMTM4LCAxMzAsIDU4LCAxLCAxMjUsIDIzMywgMzksIDEzOCwgMTMwLCA1OCwgMSwgMjMwLCAyMjUsIDIzMywgMzksIAorICAgIDEzOCwgMTMwLCA1OCwgMSwgMTIxLCAyMzMsIDM5LCAxMzgsIDEzMCwgNTgsIDEsIDI0NSwgMTksIDIzMywgMzksIDEzOCwgCisgICAgMTMwLCA1OCwgMSwgNTksIDY3LCAxMzAsIDU4LCAxLCA1OSwgMjE5LCA5NSwgNTgsIDEsIDU5LCAyMDMsIDEzMCwgNTgsIDEsIAorICAgIDIzMiwgMTA4LCA0NCwgMjQ5LCAxNjEsIDI1NCwgMTA5LCA1OCwgMSwgMjIzLCAxNTcsIDEyMCwgNzQsIDU4LCAxLCAyMjMsIAorICAgIDE1NywgMTI0LCA3NCwgNTgsIDEsIDIyMywgMTU3LCAyNDUsIDMxLCA3OCwgNTgsIDEsIDIyMywgMTU3LCAyMzUsIDE5MywgCisgICAgMjQ1LCAzMSwgNzgsIDU4LCAxLCAxMjEsIDIzNSwgMTkzLCAyNDUsIDMxLCA3OCwgNTgsIDEsIDIxOCwgMTExLCAyMiwgMTI1LCAKKyAgICAyMTYsIDMwLCA1OCwgMSwgMjE4LCAxMTEsIDIyLCAxMjEsIDIxNiwgMzAsIDcsIDYsIDEsIDI0NSwgMTk5LCAyNTQsIDE3MCwgCisgICAgNywgNCwgMSwgMjQ1LCAxOTksIDI1NCwgMTcwLCA3LCA2LCAxLCAyNDUsIDE5OSwgMjU0LCAxOTYsIDcsIDQsIDEsIDI0NSwgCisgICAgMTk5LCAyNTQsIDE5NiwgNywgNiwgMSwgMjQxLCAyMDcsIDcsIDQsIDEsIDI0MSwgMjA3LCA3LCA2LCAxLCAyMTUsIDQwLCA3LCAKKyAgICA0LCAxLCAyMTUsIDQwLCA3LCA2LCAxLCAyMTUsIDIyOSwgNywgNCwgMSwgMjE1LCAyMjksIDcsIDYsIDEsIDI0OSwgMTEwLCAKKyAgICA3LCA0LCAxLCAyNDksIDExMCwgNywgNiwgMSwgMjQ5LCAxMTEsIDIsIDI0OSwgMjE5LCA3LCA0LCAxLCAyNDksIDExMSwgMiwgCisgICAgMjQ5LCAyMTksIDcsIDEsIDQsIDYsIDI0NSwgNiwgNywgMSwgNCwgNiwgMjIyLCA5MSwgNywgNiwgMSwgMjU1LCA3MywgNywgCisgICAgNCwgMSwgMjU1LCA3MywgNywgNiwgMSwgMjU0LCA3MywgNywgNCwgMSwgMjU0LCA3MywgNywgNiwgMSwgMjUzLCAxOTIsIDcsIAorICAgIDQsIDEsIDI1MywgMTkyLCA3LCA2LCAxLCAyNTMsIDE3NiwgNywgNCwgMSwgMjUzLCAxNzYsIDcsIDYsIDEsIDI1MywgMTc3LCAKKyAgICAyLCAyMDMsIDEzMCwgNywgNCwgMSwgMjUzLCAxNzcsIDIsIDIwMywgMTMwLCA3LCA2LCAxLCAyNTMsIDE2NywgNywgNCwgMSwgCisgICAgMjUzLCAxNjcsIDcsIDYsIDEsIDIyMywgNDksIDI1MSwgNjcsIDIsIDI0NywgMTIwLCA3LCA0LCAxLCAyMjMsIDQ5LCAyNTEsIAorICAgIDY3LCAyLCAyNDcsIDEyMCwgNywgNiwgMSwgMjM1LCAyNCwgMiwgOTEsIDcsIDQsIDEsIDIzNSwgMjQsIDIsIDkxLCA3LCA2LCAKKyAgICAxLCAyMzUsIDI0LCAyLCAyNDcsIDI1NSwgOTEsIDcsIDQsIDEsIDIzNSwgMjQsIDIsIDI0NywgMjU1LCA5MSwgNywgNiwgMSwgCisgICAgMjM1LCAyNCwgMiwgMjE4LCAxMDMsIDIyLCAyNDcsIDI1NSwgOTEsIDcsIDQsIDEsIDIzNSwgMjQsIDIsIDIxOCwgMTAzLCAKKyAgICAyMiwgMjQ3LCAyNTUsIDkxLCA3LCA2LCAxLCAyNTEsIDEzNSwgMTU2LCA3LCA0LCAxLCAyNTEsIDEzNSwgMTU2LCA3LCA2LCAKKyAgICAxLCAyMzMsIDE0OSwgMiwgMTI1LCA5MSwgNywgNCwgMSwgMjMzLCAxNDksIDIsIDEyNSwgOTEsIDcsIDYsIDEsIDE0NCwgMiwgCisgICAgMTk5LCAyMTgsIDEwMywgMjI2LCAxMjAsIDcsIDQsIDEsIDE0NCwgMiwgMTk5LCAyMTgsIDEwMywgMjI2LCAxMjAsIDcsIDYsIAorICAgIDEsIDE0NCwgMiwgMjMyLCAxMjMsIDcsIDQsIDEsIDE0NCwgMiwgMjMyLCAxMjMsIDcsIDYsIDEsIDIyNiwgMTgzLCA3LCA0LCAKKyAgICAxLCAyMjYsIDE4MywgNywgNiwgMSwgMjI2LCAxMDYsIDIsIDIxOCwgMTAzLCAyMTYsIDEzOSwgMjQ4LCAzOSwgNywgNCwgMSwgCisgICAgMjI2LCAxMDYsIDIsIDIxOCwgMTAzLCAyMTYsIDEzOSwgMjQ4LCAzOSwgNywgNiwgMSwgMjI2LCAxMDYsIDIsIDI0NCwgNTMsIAorICAgIDcsIDQsIDEsIDIyNiwgMTA2LCAyLCAyNDQsIDUzLCA3LCA2LCAxLCAyMjYsIDEwNiwgMiwgMjE4LCAyMjksIDIxNywgNzcsIAorICAgIDcsIDQsIDEsIDIyNiwgMTA2LCAyLCAyMTgsIDIyOSwgMjE3LCA3NywgNywgNiwgMSwgMjI0LCA5NywgMiwgMjE4LCAxMDMsIAorICAgIDIxNiwgMTM5LCAyNDgsIDM5LCA3LCA0LCAxLCAyMjQsIDk3LCAyLCAyMTgsIDEwMywgMjE2LCAxMzksIDI0OCwgMzksIDcsIAorICAgIDYsIDEsIDIyNCwgOTcsIDIsIDI0NywgMjU1LCA5MSwgNywgNCwgMSwgMjI0LCA5NywgMiwgMjQ3LCAyNTUsIDkxLCA3LCA2LCAKKyAgICAxLCAyMjMsIDIyNCwgMjIyLCAxODYsIDcsIDQsIDEsIDIyMywgMjI0LCAyMjIsIDE4NiwgNywgNiwgMSwgMjIyLCAxMzAsIAorICAgIDIyMiwgMTg2LCA3LCA0LCAxLCAyMjIsIDEzMCwgMjIyLCAxODYsIDcsIDYsIDEsIDIxNCwgMTA2LCAyLCAyNDcsIDI1NSwgCisgICAgOTEsIDcsIDQsIDEsIDIxNCwgMTA2LCAyLCAyNDcsIDI1NSwgOTEsIDcsIDYsIDEsIDIxMiwgMTA2LCA3LCA0LCAxLCAyMTIsIAorICAgIDEwNiwgNywgNiwgMSwgMjEzLCAxNDUsIDIxMCwgMTU5LCA3LCA0LCAxLCAyMTMsIDE0NSwgMjEwLCAxNTksIDcsIDYsIDEsIAorICAgIDIxNiwgMTUyLCAyLCA5MSwgNywgNCwgMSwgMjE2LCAxNTIsIDIsIDkxLCA3LCA2LCAxLCAyMTYsIDE1MiwgMiwgMjE4LCAKKyAgICAxMDMsIDIxNiwgMTM5LCAyNDgsIDM5LCA3LCA0LCAxLCAyMTYsIDE1MiwgMiwgMjE4LCAxMDMsIDIxNiwgMTM5LCAyNDgsIAorICAgIDM5LCA3LCA2LCAxLCAyMTMsIDI0NSwgNywgNCwgMSwgMjEzLCAyNDUsIDcsIDYsIDEsIDI0NSwgNjUsIDcsIDQsIDEsIDI0NSwgCisgICAgNjUsIDcsIDYsIDEsIDIzNSwgMTcxLCA3LCA0LCAxLCAyMzUsIDE3MSwgNywgNiwgMSwgMjQ5LCAyMDcsIDcsIDQsIDEsIAorICAgIDI0OSwgMjA3LCA1OCwgMSwgMjE0LCAxMzMsIDcsIDQsIDEsIDI0NiwgNjksIDcsIDQsIDEsIDIzMiwgODQsIDcsIDQsIDEsIAorICAgIDIzMCwgODAsIDcsIDQsIDEsIDIyNywgMjAxLCA3LCA0LCAxLCAyMjIsIDEyOSwgNywgMSwgNCwgNiwgMjIyLCAxMjksIDcsIAorICAgIDQsIDEsIDIxNSwgMTA4LCA3LCA0LCAxLCAyMTQsIDE5NywgNywgNiwgMSwgMjM1LCAyMTMsIDI0OSwgNjAsIDcsIDQsIDEsIAorICAgIDIzNSwgMjEzLCAyNDksIDYwLCA3LCA2LCAxLCAyMzUsIDIxMywgMjQ1LCA2LCA3LCA0LCAxLCAyMzUsIDIxMywgMjQ1LCA2LCAKKyAgICA3LCA2LCAxLCAyMzUsIDIxMywgMjQzLCAyMDIsIDcsIDYsIDEsIDIxNSwgOTQsIDIzNSwgMjEzLCAyNDMsIDIwMiwgNywgNCwgCisgICAgMSwgMjE1LCA5NCwgMjM1LCAyMTMsIDI0MywgMjAyLCA3LCA2LCAxLCAyMTUsIDk0LCAxNTYsIDcsIDQsIDEsIDIxNSwgOTQsIAorICAgIDE1NiwgNywgNiwgMSwgMjM1LCAyMTMsIDE1MywgNywgNCwgMSwgMjM1LCAyMTMsIDE1MywgNywgNiwgMSwgMjM1LCAyMTMsIAorICAgIDIyMiwgOTEsIDcsIDQsIDEsIDIzNSwgMjEzLCAyMjIsIDkxLCA3LCA2LCAxLCAyMzUsIDIxMywgMjE3LCAxNTIsIDcsIDQsIAorICAgIDEsIDIzNSwgMjEzLCAyMTcsIDE1MiwgNTgsIDEsIDEyMSwgMjUwLCAzMSwgMjU1LCAxNCwgNTgsIDEsIDI0OSwgMjI2LCA1OCwgCisgICAgMSwgMjE5LCAyNTEsIDI0NSwgOTgsIDUwLCA3LCA2LCAxLCAyMjEsIDI1NSwgNywgNCwgMSwgMjIxLCAyNTUsIDcsIDYsIDEsIAorICAgIDIxNSwgOTQsIDI0MiwgNjAsIDcsIDQsIDEsIDIzMywgMTQ5LCAyLCAyMjMsIDU1LCAyNDEsIDUyLCAyMiwgMjUyLCA0MSwgNywgCisgICAgNiwgMSwgMjMwLCAyNiwgMiwgMjQ4LCAzOSwgNywgNCwgMSwgMjMwLCAyNiwgMiwgMjQ4LCAzOSwgNywgNiwgMSwgMjUxLCAKKyAgICA2NywgMiwgMTMwLCA3LCA0LCAxLCAyNTEsIDY3LCAyLCAxMzAsIDcsIDYsIDEsIDI0MywgMjAzLCAyLCAyMjYsIDI0OCwgOTEsIAorICAgIDcsIDQsIDEsIDI0MywgMjAzLCAyLCAyMjYsIDI0OCwgOTEsIDcsIDYsIDEsIDIzNSwgMjQsIDIsIDIyNiwgMjQ4LCA5MSwgNywgCisgICAgNCwgMSwgMjM1LCAyNCwgMiwgMjI2LCAyNDgsIDkxLCA3LCA2LCAxLCAyMzAsIDI2LCAyLCAyMjYsIDI0OCwgOTEsIDcsIDQsIAorICAgIDEsIDIzMCwgMjYsIDIsIDIyNiwgMjQ4LCA5MSwgNywgNiwgMSwgMjIzLCAyMjQsIDIsIDIyNiwgMjQ4LCA5MSwgNywgNCwgMSwgCisgICAgMjIzLCAyMjQsIDIsIDIyNiwgMjQ4LCA5MSwgNywgNiwgMSwgMjIyLCA5MiwgMiwgMjI2LCAyNDgsIDkxLCA3LCA0LCAxLCAKKyAgICAyMjIsIDkyLCAyLCAyMjYsIDI0OCwgOTEsIDcsIDYsIDEsIDI0MiwgNjEsIDIsIDEwMywgNTgsIDEsIDYsIDI0MiwgNjEsIDIsIAorICAgIDkxLCA1OCwgMSwgNCwgMjcsIDIyNiwgMjM0LCA3LCAxLCA0LCA2LCAyMTUsIDk0LCAxOTMsIDcsIDI0NSwgMTAzLCAxLCAKKyAgICAyMjMsIDQ5LCAyNDUsIDYsIDcsIDI0NSwgMTAzLCAxLCAyMjMsIDQ5LCAyMjYsIDEwNSwgNywgMjQ1LCAxMDMsIDEsIDIzNSwgCisgICAgMTkzLCAxOTMsIDcsIDI0NSwgMTAzLCAxLCAyNDAsIDE1NCwgMjMyLCAxMjksIDcsIDI0NSwgMTAzLCAxLCAyNTQsIDIzLCAKKyAgICAxOTMsIDIxNywgMjMwLCAyMjksIDIxNCwgMSwgNjEsIDIxNywgMjMwLCAyMjksIDIxNCwgMSwgNzMsIDIxNywgMjMwLCAyMjksIAorICAgIDIxNCwgNSwgMjQ2LCA0OCwgMjE3LCAyMzAsIDIyOSwgMjE0LCAxLCA3MCwgMjE3LCAyMzAsIDIyOSwgMjE0LCAxLCA3NSwgCisgICAgMjE3LCAyMzAsIDIyOSwgMjE0LCAxLCA3NiwgMjE3LCAyMzAsIDIyOSwgMjE0LCA1LCAyNDEsIDI1MywgMjE3LCAyMzAsIAorICAgIDIyOSwgMjE0LCAxLCAyMzQsIDI4LCAyMTcsIDIzMCwgMjI5LCAyMTQsIDEsIDIzNCwgMTA1LCAyMTcsIDIzMCwgMjI5LCAKKyAgICAyMTQsIDEsIDI0MiwgMTc0LCAyMTcsIDIzMCwgMjI5LCAyMTQsIDEsIDI0MiwgMjI0LCAyMTcsIDIzMCwgMjI5LCAyMTQsIDUsIAorICAgIDI1NCwgNzUsIDIxNywgMjMwLCAyMjksIDIxNCwgMSwgMjQ5LCAyMzgsIDIxNywgMjMwLCAyMjksIDIxNCwgMSwgMjUwLCA4NiwgCisgICAgMjE3LCAyMzAsIDIyOSwgMjE0LCAxLCAyMzUsIDY4LCAyMTcsIDIzMCwgMjI5LCAyMTQsIDEsIDIzNSwgMTA5LCAyMTcsIAorICAgIDIzMCwgMjI5LCAyMTQsIDEsIDIxNSwgMTMzLCAyMTcsIDIzMCwgMjI5LCAyMTQsIDEsIDIxNSwgMTM5LCAyMTcsIDIzMCwgCisgICAgMjI5LCAyMTQsIDEsIDI0OCwgMTA1LCAyMTcsIDIzMCwgMjI5LCAyMTQsIDEsIDI0OCwgMTE0LCAyMTcsIDIzMCwgMjI5LCAKKyAgICAyMTQsIDEsIDExMSwgMjE3LCAyMzAsIDIyOSwgMjE0LCAxLCAyMTYsIDE1NiwgMjE3LCAyMzAsIDIyOSwgMjE0LCAxLCAyNDcsIAorICAgIDE0NSwgMjE3LCAyMzAsIDIyOSwgMjE0LCAxLCAyNDgsIDcsIDIxNywgMjMwLCAyMjksIDIxNCwgMSwgMjI4LCA3NCwgMjE3LCAKKyAgICAyMzAsIDIyOSwgMjE0LCAxLCAyMjUsIDE2LCAyMTcsIDIzMCwgMjI5LCAyMTQsIDEsIDIyNSwgMTIxLCAyMTcsIDIzMCwgCisgICAgMjI5LCAyMTQsIDEsIDI1MSwgMjA1LCAyMTcsIDIzMCwgMjI5LCAyMTQsIDEsIDI1MiwgMTAsIDIxNywgMjMwLCAyMjksIAorICAgIDIxNCwgMSwgMjMwLCAxNjEsIDIxNywgMjMwLCAyMjksIDIxNCwgMSwgMjIyLCAyMTEsIDIxNywgMjMwLCAyMjksIDIxNCwgMSwgCisgICAgMjMyLCAxNTYsIDIxNywgMjMwLCAyMjksIDIxNCwgMSwgMjIyLCAxNjUsIDIxNywgMjMwLCAyMjksIDIxNCwgMSwgMjE5LCAKKyAgICA1OCwgMjE3LCAyMzAsIDIyOSwgMjE0LCAxLCAyNDEsIDY4LCAyMTcsIDIzMCwgMjI5LCAyMTQsIDI1LCA1LCA2MSwgMjE3LCAKKyAgICAyMzAsIDIyOSwgMjE0LCAyNSwgNSwgNzMsIDIxNywgMjMwLCAyMjksIDIxNCwgMjUsIDUsIDcwLCAyMTcsIDIzMCwgMjI5LCAKKyAgICAyMTQsIDI1LCA1LCA3NSwgMjE3LCAyMzAsIDIyOSwgMjE0LCAyNSwgNSwgMjI2LCAxODMsIDIxNywgMjMwLCAyMjksIDIxNCwgCisgICAgMjI1LCAxMiwgMjMxLCAxNTgsIDIxNywgMjMwLCAyMjksIDIxNCwgMjI1LCAxMiwgMjMxLCAxNTcsIDIxNywgMjMwLCAyMjksIAorICAgIDIxNCwgMjI1LCAxMiwgMjMxLCAxNTYsIDIxNywgMjMwLCAyMjksIDIxNCwgMjI1LCAxMiwgMjMxLCAxNTUsIDIyOCwgNTYsIAorICAgIDIzNSwgMjQwLCAyNDQsIDIsIDEyMywgMjI0LCAyMSwgMjI4LCA1NiwgMjM1LCAyNDAsIDI0NCwgMiwgMTIzLCAyNDIsIDI3LCAKKyAgICAyMjgsIDU2LCAyMzUsIDI0MCwgMjQ0LCAyLCAxMzQsIDIyNCwgMTksIDIyOCwgNTYsIDIzNSwgMjQwLCAyNDQsIDIsIDEyMywgCisgICAgMjE5LCAxMTcsIDIyOCwgNTYsIDIzNSwgMjQwLCAyNDQsIDIsIDEyMywgMjQ1LCAxODgsIDIyOCwgNTYsIDIzNSwgMjQwLCAKKyAgICAyNDQsIDIsIDEzNCwgMjE5LCAxMTYsIDIyOCwgNTYsIDIzNSwgMjQwLCAyMjQsIDIyLCA3OCwgMjI4LCA1NiwgMjM1LCAyNDAsIAorICAgIDIyNSwgNDAsIDc4LCAyMjgsIDU2LCAyMzUsIDI0MCwgMjIyLCAxMTgsIDc4LCAyMjgsIDU2LCAyMzUsIDI0MCwgMjI0LCAyMywgCisgICAgNzgsIDIyNSwgMTQ0LCAxLCAxNzYsIDIyNSwgMTQ0LCAxLCAyMzQsIDEzMiwgMjI1LCAxNDQsIDEsIDI0MywgMTM1LCAyMjUsIAorICAgIDE0NCwgMSwgMjI5LCA3NywgMjI1LCAxNDQsIDEsIDI1MSwgMzMsIDIyNSwgMTQ0LCAxLCAyNTAsIDE1NywgMjI1LCAxNDQsIAorICAgIDEsIDIzNSwgMTQxLCAyMjUsIDE0NCwgMSwgMjI3LCAxNjUsIDIyNSwgMTQ0LCAxLCAyMTcsIDEwNSwgMjI1LCAxNDQsIDEsIAorICAgIDIxNiwgMjA4LCAyMjUsIDE0NCwgMSwgMjQ4LCAyMjEsIDIyNSwgMTQ0LCAxLCAxOTcsIDIyNSwgMTQ0LCAxLCAxOTAsIDIyNSwgCisgICAgMTQ0LCAxLCAyMjUsIDE0NywgMjI1LCAxNDQsIDEsIDI1MiwgMTkxLCAyMjUsIDE0NCwgMSwgMTg0LCAyMjUsIDE0NCwgMSwgCisgICAgMjE1LCAxODMsIDIyNSwgMTQ0LCAxLCAyMTUsIDE3NSwgMjI1LCAxNDQsIDEsIDI0NiwgMzgsIDIyNSwgMTQ0LCAxLCAyMTIsIAorICAgIDY1LCAyMjUsIDE0NCwgMSwgMjEwLCA4MiwgMjI1LCAxNDQsIDEsIDIxMCwgMTE2LCAyMjUsIDE0NCwgMSwgNCwgNjEsIDIyNSwgCisgICAgMTQ0LCAxLCAxOTEsIDIyNSwgMTQ0LCAxLCAyMDUsIDIyNSwgMTQ0LCAxLCAyMzMsIDEzNSwgMjI1LCAxNDQsIDEsIDIyMCwgCisgICAgMTAyLCAyMjUsIDE0NCwgMSwgMjA2LCAyMjUsIDE0NCwgMSwgMTYyLCAyMjUsIDE0NCwgMSwgNjEsIDIyNSwgMTQ0LCAxLCAKKyAgICA3MywgMjI1LCAxNDQsIDEsIDcwLCAyMjUsIDE0NCwgMSwgNzUsIDIyNSwgMTQ0LCAxLCA3NiwgMjI1LCAxNDQsIDEsIDIyNCwgCisgICAgODgsIDIyNSwgMTQ0LCAxLCAyMTEsIDE2NSwgMjI1LCAxNDQsIDEsIDI0NCwgMTk2LCAyMjUsIDE0NCwgMSwgMjQzLCAyOSwgCisgICAgMjI1LCAxNDQsIDEsIDI0NSwgMjA5LCAyMjUsIDE0NCwgMjE4LCA3MywgMSwgMjEyLCA2NSwgMjI1LCAxNDQsIDIxOCwgNzMsIAorICAgIDEsIDE5MSwgMjI1LCAxNDQsIDEsIDIxNSwgMTU2LCAyMjUsIDE0NCwgMSwgMjE1LCAxNDQsIDIyNSwgMTQ0LCAxLCAyNDgsIAorICAgIDEzNSwgMjI1LCAxNDQsIDEsIDIyOCwgMTEwLCAyMjUsIDE0NCwgMSwgMjU0LCAxNDEsIDE5MSwgMjI1LCAxNDQsIDEsIDIxMywgCisgICAgMTM0LCAyMjAsIDEwMiwgMjI1LCAxNDQsIDEsIDIxMywgMTM1LCAxNjIsIDIyNSwgMTQ0LCAxLCAyNTMsIDIyMywgMjQ0LCAKKyAgICAxOTYsIDIyNSwgMTQ0LCAyMTgsIDczLCAxLCAyMDUsIDIyNSwgMTQ0LCAyMTgsIDI1LCAxLCAyMDUsIDIyNSwgMTQ0LCAxLCAKKyAgICAyNTAsIDI1NSwgMjI1LCAxNDQsIDIxOSwgMTU1LCAyNDEsIDIzNiwgNzgsIDIyNSwgMTQ0LCA1MiwgMjQxLCAyMzYsIDc4LCAKKyAgICAyMjUsIDE0NCwgMTY0LCAyMjAsIDk1LCAyMjUsIDE0NCwgMTY0LCA1MiwgMjIwLCA5NSwgMTc5LCA1LCAyNTQsIDc1LCAxNzksIAorICAgIDUsIDIxMywgMTQ3LCAxNzksIDEsIDYxLCAxNzksIDEsIDI1NSwgNzMsIDE3OSwgMSwgNzMsIDE3OSwgMSwgMjM2LCAzMywgCisgICAgMTc5LCAxLCA3MCwgMTc5LCAxLCAyMTQsIDExOCwgMTc5LCAxLCAxNDksIDE1MywgMTc5LCAxLCAxNDksIDIyMiwgMTgwLCAKKyAgICAxNzksIDEsIDE0OSwgMTU2LCAxNzksIDEsIDE0OSwgMjMyLCAxODUsIDE3OSwgMSwgNzUsIDE3OSwgMSwgMjQ1LCAyMDksIAorICAgIDE3OSwgMSwgMjU0LCAyMDEsIDE3OSwgMSwgNzYsIDE3OSwgMSwgMjI2LCAxODMsIDE3OSwgMSwgMjUzLCAxOTIsIDE3OSwgMSwgCisgICAgMTc2LCAxNzksIDEsIDIzNCwgMTMyLCAxNzksIDEsIDI0MywgMTM1LCAxNzksIDEsIDI0MiwgMjQ5LCAxNzksIDEsIDIyOSwgCisgICAgNzcsIDE3OSwgMSwgMjUxLCAzMywgMTc5LCAxLCAyNTAsIDE1NywgMTc5LCAxLCAyMzUsIDE0MSwgMTc5LCAxLCAyMzUsIAorICAgIDExNCwgMTc5LCAxLCAyMjcsIDE2NSwgMTc5LCAxLCAyMTUsIDE1NiwgMTc5LCAxLCAyMTUsIDE0NCwgMTc5LCAxLCAyNDgsIAorICAgIDEzNSwgMTc5LCAxLCAyNDgsIDExOSwgMTc5LCAxLCAyMjgsIDExMCwgMTc5LCAxLCAyMTcsIDEwNSwgMTc5LCAxLCAyMTYsIAorICAgIDIwOCwgMTc5LCAxLCAyNDgsIDIyMSwgMTc5LCAxLCAyNDgsIDI1LCAxNzksIDEsIDE5NywgMTc5LCAxLCAxOTAsIDE3OSwgMSwgCisgICAgMjI1LCAxNDcsIDE3OSwgMSwgMjUyLCAxOTEsIDE3OSwgMSwgMjUyLCAxOCwgMTc5LCAxLCAxODQsIDE3OSwgMSwgMTkxLCAKKyAgICAxNzksIDEsIDIwNSwgMTc5LCAxLCAyMzMsIDEzNSwgMTc5LCAxLCAyMTQsIDI3LCAxNzksIDEsIDIyMCwgMTAyLCAxNzksIDEsIAorICAgIDIxOCwgMjIzLCAxNzksIDEsIDIwNiwgMTc5LCAxLCAxNjIsIDE3OSwgMSwgMjMyLCAxODQsIDE3OSwgMTE2LCA1LCAyNDIsIAorICAgIDQ0LCAxNzksIDI1LCA1LCAyNTUsIDczLCAxNzksIDI1LCA1LCA3MywgMTc5LCAyNSwgNSwgMjM2LCAzMywgMTc5LCAyNSwgNSwgCisgICAgNzAsIDE3OSwgMjUsIDUsIDIxNCwgMTE4LCAxNzksIDI1LCA1LCAxNDksIDE1MywgMTc5LCAyNSwgNSwgMTQ5LCAyMjIsIAorICAgIDE4MCwgMTc5LCAyNSwgNSwgMTQ5LCAxNTYsIDE3OSwgMjUsIDUsIDE0OSwgMjMyLCAxODUsIDE3OSwgMjUsIDUsIDc1LCAKKyAgICAxNzksIDI1LCA1LCAyNDUsIDIwOSwgMTc5LCAyNSwgNSwgMjU0LCAyMDEsIDE3OSwgMjUsIDUsIDc2LCAxNzksIDI1LCA1LCAKKyAgICAyMjYsIDE4MywgMTc5LCAyNSwgNSwgMjUzLCAxOTIsIDE3OSwgNSwgMjEzLCAxNTIsIDE3OSwgMjQ4LCAxNzgsIDE3OSwgNTIsIAorICAgIDI0OCwgMTc4LCAxNzksIDIxLCAyMTAsIDg2LCAxNzksIDIxLCAxMTAsIDE3OSwgMjEsIDEwNSwgMTc5LCAyMSwgMTU4LCAKKyAgICAxNzksIDIxLCAxNjEsIDE3OSwgMjEsIDE4OSwgMTc5LCAyMSwgMTk0LCAxNzksIDIxLCAxOTgsIDE3OSwgMjEsIDE5NSwgCisgICAgMTc5LCAyMSwgMjAwLCAzOCwgODQsIDIxLCAyMTAsIDg2LCAzOCwgODQsIDIxLCAxMTAsIDM4LCA4NCwgMjEsIDEwNSwgMzgsIAorICAgIDg0LCAyMSwgMTU4LCAzOCwgODQsIDIxLCAxNjEsIDM4LCA4NCwgMjEsIDE4OSwgMzgsIDg0LCAyMSwgMTk0LCAzOCwgODQsIAorICAgIDIxLCAxOTgsIDM4LCA4NCwgMjEsIDE5NSwgMzgsIDg0LCAyMSwgMjAwLCAzOCwgODQsIDEsIDYxLCAzOCwgODQsIDEsIDcwLCAKKyAgICAzOCwgODQsIDEsIDE3NiwgMzgsIDg0LCAxLCAxOTcsIDM4LCA4NCwgMSwgMTkwLCAzOCwgODQsIDEsIDIwNSwgMzgsIDg0LCAKKyAgICAxLCAyMTMsIDE3NiwgMzgsIDg0LCA1LCAyNTMsIDE3NSwgODQsIDUsIDIxOSwgMTcsIDI1MCwgMjU1LCA4NCwgNSwgMjUxLCAKKyAgICAwLCAyMTMsIDE1MiwgODQsIDUsIDUyLCAyNTEsIDAsIDIxMywgMTUyLCA4NCwgNSwgMjUxLCAwLCAxMDUsIDg0LCA1LCAyNTEsIAorICAgIDAsIDE1OCwgODQsIDUsIDI1MSwgMCwgMjUzLCAxNzUsIDg0LCA1LCAyMjQsIDEyNCwgODQsIDI0MywgMTAwLCAyNDQsIDEwMywgCisgICAgODQsIDI1MCwgMjM4LCA4NCwgMjQxLCAyMzAsIDIzNCwgMTg4LCAyMzIsIDI0MiwgMjEsIDIxMCwgODYsIDIzNCwgMTg4LCAKKyAgICAyMzIsIDI0MiwgMjEsIDExMCwgMjM0LCAxODgsIDIzMiwgMjQyLCAyMSwgMTA1LCAyMzQsIDE4OCwgMjMyLCAyNDIsIDIxLCAKKyAgICAxNTgsIDIzNCwgMTg4LCAyMzIsIDI0MiwgMjEsIDE2MSwgMjM0LCAxODgsIDIzMiwgMjQyLCAyMSwgMTg5LCAyMzQsIDE4OCwgCisgICAgMjMyLCAyNDIsIDIxLCAxOTQsIDIzNCwgMTg4LCAyMzIsIDI0MiwgMjEsIDE5OCwgMjM0LCAxODgsIDIzMiwgMjQyLCAyMSwgCisgICAgMTk1LCAyMzQsIDE4OCwgMjMyLCAyNDIsIDIxLCAyMDAsIDIzNCwgMTg4LCAyMzIsIDI0MiwgMSwgMTc2LCAyMzQsIDE4OCwgCisgICAgMjMyLCAyNDIsIDEsIDIzNCwgMTMyLCAyMzQsIDE4OCwgMjMyLCAyNDIsIDEsIDI0MywgMTM1LCAyMzQsIDE4OCwgMjMyLCAKKyAgICAyNDIsIDEsIDIyOSwgNzcsIDIzNCwgMTg4LCAyMzIsIDI0MiwgMSwgMjA2LCAyMzQsIDE4OCwgMjMyLCAyNDIsIDEsIDIyMCwgCisgICAgMTAyLCAyMzQsIDE4OCwgMjMyLCAyNDIsIDEsIDIxMCwgMTE2LCAyMzQsIDE4OCwgMjMyLCAyNDIsIDEsIDIyNywgMTY1LCAKKyAgICAyMzQsIDE4OCwgMjMyLCAyNDIsIDEsIDIxNywgMTA1LCAyMzQsIDE4OCwgMjMyLCAyNDIsIDEsIDI0MCwgMjI2LCAyMzQsIAorICAgIDE4OCwgMjMyLCAyNDIsIDEsIDE5NywgMjM0LCAxODgsIDIzMiwgMjQyLCAxLCAxOTAsIDIzNCwgMTg4LCAyMzIsIDI0MiwgMSwgCisgICAgMjI1LCAxNDcsIDIzNCwgMTg4LCAyMzIsIDI0MiwgMSwgMTg0LCAyMzQsIDE4OCwgMjMyLCAyNDIsIDEsIDI0OCwgMjIxLCAKKyAgICAyMzQsIDE4OCwgMjMyLCAyNDIsIDEsIDI1MiwgMTkxLCAyMzQsIDE4OCwgMjMyLCAyNDIsIDEsIDIwNSwgMjM0LCAxODgsIAorICAgIDIzMiwgMjQyLCAxLCAxOTEsIDIzNCwgMTg4LCAyMzIsIDI0MiwgMSwgMjMzLCAxMzUsIDIzNCwgMTg4LCAyMzIsIDI0MiwgMSwgCisgICAgMjEyLCA2NSwgMjM0LCAxODgsIDIzMiwgMjQyLCAxLCAyMTYsIDIwOCwgMjM0LCAxODgsIDIzMiwgMjQyLCAxLCAxNjIsIAorICAgIDIzNCwgMTg4LCAyMzIsIDI0MiwgMSwgMjE0LCAyNywgMjM0LCAxODgsIDIzMiwgMjQyLCAxLCAyNTEsIDMzLCAyMzQsIDE4OCwgCisgICAgMjMyLCAyNDIsIDEsIDYxLCAyMzQsIDE4OCwgMjMyLCAyNDIsIDEsIDIyNiwgMjM0LCAyMzQsIDE4OCwgMjMyLCAyNDIsIDEsIAorICAgIDczLCAyMzQsIDE4OCwgMjMyLCAyNDIsIDEsIDIyNiwgMTgzLCAyMzQsIDE4OCwgMjMyLCAyNDIsIDI1LCAyMTQsIDIxNCwgCisgICAgMjM0LCAxODgsIDIzMiwgMjQyLCAyNSwgNzUsIDIzNCwgMTg4LCAyMzIsIDI0MiwgMjUsIDcwLCAyMzQsIDE4OCwgMjMyLCAKKyAgICAyNDIsIDI1LCAyNDUsIDIwOSwgMjM0LCAxODgsIDIzMiwgMjQyLCAyNSwgNzYsIDIzNCwgMTg4LCAyMzIsIDI0MiwgMTM4LCAKKyAgICAyMjUsIDMwLCAyMzQsIDE4OCwgMjMyLCAyNDIsIDEzOCwgMjUxLCAxMiwgMjM0LCAxODgsIDIzMiwgMjQyLCAxMzgsIDI1MSwgCisgICAgMTMsIDIyNSwgMzAsIDIzNCwgMTg4LCAyMzIsIDI0MiwgNSwgMjQ5LCA3NywgMjM0LCAxODgsIDIzMiwgMjQyLCA1LCAyMTksIAorICAgIDE5OSwgMjIzLCA5MywgMSwgMTc2LCAyMjMsIDkzLCAxLCAyNDMsIDEzNSwgMjIzLCA5MywgMSwgMjI5LCA3NywgMjIzLCA5MywgCisgICAgMSwgMjE3LCAxMDUsIDIyMywgOTMsIDEsIDI0OCwgMjIxLCAyMjMsIDkzLCAxLCAxOTcsIDIyMywgOTMsIDEsIDE5MCwgMjIzLCAKKyAgICA5MywgMSwgMjUyLCAxOTEsIDIyMywgOTMsIDEsIDE4NCwgMjIzLCA5MywgMSwgMjUxLCAzMywgMjIzLCA5MywgMSwgMjM1LCAKKyAgICAxNDEsIDIyMywgOTMsIDEsIDIyNywgMTY1LCAyMjMsIDkzLCAxLCAyMDYsIDIyMywgOTMsIDEsIDIwNSwgMjIzLCA5MywgMSwgCisgICAgMjMzLCAxMzUsIDIyMywgOTMsIDEsIDE5MSwgMjIzLCA5MywgMSwgMjEyLCA2NSwgMjIzLCA5MywgMSwgMTYyLCAyMjMsIDkzLCAKKyAgICAxLCAyMzEsIDEyNCwgMjIzLCA5MywgMSwgMjI5LCA1NiwgMjIzLCA5MywgMSwgMjI5LCAxNDgsIDIyMywgOTMsIDEsIDIyNywgCisgICAgMTM1LCAyMjMsIDkzLCAxLCA2MSwgMjIzLCA5MywgMjUsIDUsIDczLCAyMjMsIDkzLCAyNSwgNSwgNzAsIDIyMywgOTMsIDI1LCAKKyAgICA1LCA3NSwgMjIzLCA5MywgMjUsIDUsIDI1NCwgMjAxLCAyMjMsIDkzLCAyNSwgNSwgNzYsIDIyMywgOTMsIDI1LCA1LCAyNTMsIAorICAgIDE5MiwgMjIzLCA5MywgMjUsIDUsIDI0NSwgNTUsIDIyMywgOTMsIDI1LCA1LCAyNDUsIDIzMywgMjIzLCA5MywgMTE2LCA1LCAKKyAgICAyMjksIDc5LCAyMjMsIDkzLCAxMTYsIDUsIDIzMCwgMjUsIDIyMywgOTMsIDExNiwgNSwgMTUzLCAyMjMsIDkzLCAxMTYsIDUsIAorICAgIDI0MiwgNjAsIDIyMywgOTMsIDIxMywgMTUyLCAyMjMsIDkzLCAyMjEsIDE3MywgNzgsIDI0LCAxMDAsIDIxNiwgOTcsIDI0LCAKKyAgICAxMDAsIDIxNiwgOTYsIDI0LCAxMDAsIDIxNiwgOTQsIDI0LCAxMDAsIDIxNiwgOTksIDI0LCAxMDAsIDIyMywgMjEsIDI0LCAKKyAgICAxMDAsIDIyMywgNSwgMjQsIDEwMCwgMjIzLCAwLCAyNCwgMTAwLCAyMjMsIDIsIDI0LCAxMDAsIDIyMywgMTgsIDI0LCAxMDAsIAorICAgIDIyMywgMTEsIDI0LCAxMDAsIDIyMywgNCwgMjQsIDEwMCwgMjIzLCAyMywgMjQsIDEwMCwgMjIzLCA2LCAyNCwgMTAwLCAKKyAgICAyMjMsIDI1LCAyNCwgMTAwLCAyMjMsIDIyLCAyNCwgMTAwLCAyMzAsIDIxMywgMjQsIDEwMCwgMjMwLCAyMDQsIDI0LCAxMDAsIAorICAgIDIzMCwgMjA3LCAyNCwgMTAwLCAyMjUsIDgwLCAyNCwgMTAwLCAyMjUsIDkxLCAyNCwgMTAwLCAyMjUsIDkyLCAyNCwgMTAwLCAKKyAgICAyMTgsIDIwNywgMjQsIDEwMCwgMjM2LCA0NiwgMjQsIDEwMCwgMjM2LCA1MywgMjQsIDEwMCwgMjE4LCAyMTgsIDI0LCAxMDAsIAorICAgIDIxOCwgMjA1LCAyNCwgMTAwLCAyMjUsIDEzMCwgMjQsIDEwMCwgMjQxLCAxNjcsIDI0LCAxMDAsIDIxOCwgMjAyLCAxNTUsIAorICAgIDUsIDIyNiwgMjcsIDE1NSwgNSwgMjUwLCAxODcsIDE1NSwgNSwgMjMzLCA2NiwgMTU1LCA1LCAyMTEsIDI0MywgMTU1LCAxLCAKKyAgICA2MSwgMTU1LCAxLCAyNDAsIDE1NCwgMjM0LCAxOTEsIDE1NSwgMSwgNzMsIDE1NSwgMSwgMjM2LCAzMywgMTU1LCAxLCA3MCwgCisgICAgMTU1LCAxLCAyMjYsIDkwLCAyNTAsIDE2MywgMTU1LCAxLCAyMjksIDc4LCAyMzMsIDI4LCAxNTUsIDEsIDIyOSwgNzgsIAorICAgIDIzMywgMjksIDIyMywgMTQyLCAxNTUsIDEsIDc1LCAxNTUsIDEsIDI1NCwgMjAxLCAxNTUsIDEsIDc2LCAxNTUsIDEsIDE3NiwgCisgICAgMTU1LCAxLCAyMzUsIDEzLCAyMjEsIDIyOCwgMTU1LCAxLCAyMzUsIDEzLCAyMzAsIDY2LCAxNTUsIDEsIDI0MywgMTM1LCAKKyAgICAxNTUsIDEsIDI0MywgMTM2LCAyMzAsIDY2LCAxNTUsIDEsIDIyOSwgNzcsIDE1NSwgMSwgMjUxLCAzMywgMTU1LCAxLCAyNTEsIAorICAgIDM0LCAyMzAsIDY2LCAxNTUsIDEsIDIzNSwgMTQxLCAxNTUsIDEsIDIyNywgMTY2LCAyMzAsIDY2LCAxNTUsIDEsIDIzNSwgCisgICAgMTQyLCAyMzEsIDIwNywgMTU1LCAxLCAyMjcsIDE2NSwgMTU1LCAxLCAyMTUsIDE1NiwgMTU1LCAxLCAyMTUsIDE1NywgMjMxLCAKKyAgICAyMDcsIDE1NSwgMSwgMjQ4LCAxMzUsIDE1NSwgMSwgMjQ4LCAxMzYsIDIzMSwgMjA3LCAxNTUsIDEsIDIyOSwgMjI5LCAyMzAsIAorICAgIDY2LCAxNTUsIDEsIDIxNywgMTA1LCAxNTUsIDEsIDIxNywgMTA2LCAyMzAsIDY2LCAxNTUsIDEsIDI0OCwgMjIxLCAxNTUsIAorICAgIDEsIDI0OCwgMjIyLCAyMzEsIDIwNywgMTU1LCAxLCAxOTcsIDE1NSwgMSwgMTkwLCAxNTUsIDEsIDIyNiwgOTAsIDIzMCwgCisgICAgNjYsIDE1NSwgMSwgMjUyLCAxOTEsIDE1NSwgMSwgMjUyLCAxOTIsIDIzMCwgNjYsIDE1NSwgMSwgMTg0LCAxNTUsIDEsIAorICAgIDE5MSwgMTU1LCAxLCAyMDUsIDE1NSwgMSwgMjIzLCAxODgsIDI1NCwgMjEwLCAxNTUsIDEsIDIzMywgMTM1LCAxNTUsIDEsIAorICAgIDIxMiwgNjUsIDE1NSwgMSwgMjIyLCAzNCwgMjMwLCA2NiwgMTU1LCAxLCAyMjIsIDM0LCAyMzEsIDIwNywgMTU1LCAxLCAKKyAgICAyMDYsIDE1NSwgMSwgMTYyLCAxNTUsIDUsIDI1MCwgMTg4LCAyMTYsIDI1MCwgMTU1LCAyNSwgNSwgMjE3LCA0NywgMTU1LCAKKyAgICAyNSwgNSwgMjE2LCAzNSwgMTU1LCAyNSwgNSwgMjExLCAxOTAsIDE1NSwgMjUsIDUsIDIxMSwgMTkxLCAyMzEsIDY5LCAxNTUsIAorICAgIDI1LCA1LCAyMTgsIDQ3LCAxNTUsIDI1LCA1LCAyMTgsIDQ4LCAyMzEsIDU3LCAxNTUsIDI1LCA1LCAyMTcsIDY1LCAxNTUsIAorICAgIDI1LCA1LCAyNDcsIDE5NCwgMjMwLCA2NSwgMTU1LCAyNSwgNSwgMjI1LCAxODQsIDE1NSwgMTE2LCA1LCAyMzQsIDE1OCwgCisgICAgMTU1LCAxMTYsIDUsIDIyNSwgMTk2LCAxNTUsIDExNiwgNSwgMjUxLCAxOSwgMTU1LCAyMjYsIDQwLCAxNTUsIDQzLCAyMjMsIAorICAgIDY5LCAxNTUsIDQ0LCAyMjMsIDY5LCAxNTUsIDIyNiwgNzksIDI1NCwgMTE3LCAxNTUsIDIyNiwgNzksIDIzMSwgMjI0LCAKKyAgICAxNTUsIDIyNiwgNzksIDIzMiwgODgsIDE1NSwgMjI2LCA3OSwgMjExLCAyMzgsIDE1NSwgMjI2LCA3OSwgMjI2LCA0MSwgCisgICAgMTU1LCAyMjYsIDc5LCAyMzIsIDIwNSwgMTU1LCAyMjYsIDc5LCAyMzIsIDgyLCAxNTUsIDIyNiwgNzksIDI1NCwgMjQ5LCAKKyAgICAxNTUsIDIyNiwgNzksIDI1NCwgMjUwLCAyNTQsIDI0OSwgMTU1LCAyMjYsIDc5LCAyMjUsIDUxLCAxNTUsIDIxNSwgOTQsIAorICAgIDIyNiwgNzksIDIyNSwgNTEsIDE1NSwgMjI2LCAzNiwgMTU1LCAyMSwgMjEwLCA4NiwgMTU1LCAyMSwgMTEwLCAxNTUsIDIxLCAKKyAgICAxMDUsIDE1NSwgMjEsIDE1OCwgMTU1LCAyMSwgMTYxLCAxNTUsIDIxLCAxODksIDE1NSwgMjEsIDE5NCwgMTU1LCAyMSwgCisgICAgMTk4LCAxNTUsIDIxLCAxOTUsIDE1NSwgMjEsIDIwMCwgMTU1LCAyMjYsIDc5LCAyMTYsIDY5LCAyMTUsIDEwNiwgMTU1LCAKKyAgICAyMjYsIDc5LCAyMzUsIDE2NywgMTcyLCAxLCA2MSwgMTcyLCAxLCA3MywgMTcyLCAxLCA3MCwgMTcyLCAxLCA3NSwgMTcyLCAKKyAgICAxLCAyNTQsIDIwMSwgMTcyLCAxLCA3NiwgMTcyLCAxLCAxNzYsIDE3MiwgMSwgMjM0LCAxMzIsIDE3MiwgMSwgMjQzLCAxMzUsIAorICAgIDE3MiwgMSwgMjQyLCAyNDksIDE3MiwgMSwgMjI4LCAyNDUsIDE3MiwgMSwgMjI5LCA3NywgMTcyLCAxLCAyNTAsIDE1NywgCisgICAgMTcyLCAxLCAyNTAsIDExMiwgMTcyLCAxLCAyMzUsIDE0MSwgMTcyLCAxLCAyMzUsIDExNCwgMTcyLCAxLCAyMjgsIDIzNSwgCisgICAgMTcyLCAxLCAyMjgsIDIzNywgMTcyLCAxLCAyMjgsIDIzNiwgMTcyLCAxLCAyMTcsIDEwNSwgMTcyLCAxLCAyMTYsIDIwOCwgCisgICAgMTcyLCAxLCAyNDgsIDIyMSwgMTcyLCAxLCAyNDgsIDI1LCAxNzIsIDEsIDIyNywgMjA3LCAxNzIsIDEsIDE5NywgMTcyLCAxLCAKKyAgICAyNDgsIDEzNSwgMTcyLCAxLCAxOTAsIDE3MiwgMSwgMjI0LCAyMjAsIDE3MiwgMSwgMjI1LCAxNDcsIDE3MiwgMSwgMjUyLCAKKyAgICAxOTEsIDE3MiwgMSwgMjUyLCAxOCwgMTcyLCAxLCAyMzAsIDk1LCAxNzIsIDEsIDE4NCwgMTcyLCAxLCAyNTIsIDExMSwgCisgICAgMTcyLCAxLCAxOTEsIDE3MiwgMSwgMjA1LCAxNzIsIDEsIDIzMywgMTM1LCAxNzIsIDEsIDIxNCwgMjcsIDE3MiwgMSwgMjE4LCAKKyAgICAyMjMsIDE3MiwgMSwgMjA2LCAxNzIsIDEsIDE2MiwgMTcyLCAyNSwgNSwgMjU1LCA3MywgMTcyLCAyNSwgNSwgNzMsIDE3MiwgCisgICAgMjUsIDUsIDIzNiwgMzMsIDE3MiwgMjUsIDUsIDI0NSwgMTk1LCAxNzIsIDI1LCA1LCA3MCwgMTcyLCAyNSwgNSwgMjI2LCAKKyAgICAyMzQsIDE3MiwgMjUsIDUsIDc2LCAxNzIsIDI1LCA1LCAyNTQsIDIwMSwgMTcyLCAyNSwgNSwgMjUzLCAxOTIsIDE3MiwgMjUsIAorICAgIDUsIDIxNCwgMjE0LCAxNzIsIDExNiwgNSwgMTkxLCAxNzIsIDExNiwgNSwgMjA1LCAxNzIsIDExNiwgNSwgMjMzLCAxMzUsIAorICAgIDE3MiwgMTE2LCA1LCAyMTIsIDY1LCAxNzIsIDEsIDQwLCAyMzUsIDIzLCAxNzIsIDEsIDQwLCAyNDMsIDIwMiwgMTcyLCAxLCAKKyAgICA0MCwgMjI5LCA3OSwgMTcyLCAxMTYsIDUsIDQwLCAyMjksIDc5LCAxNzIsIDEsIDQwLCAyNTAsIDE1OCwgMTcyLCAxLCA0MCwgCisgICAgMjE3LCAxNTIsIDE3MiwgMSwgNDAsIDIzMCwgMjUsIDE3MiwgMSwgNDAsIDIyNiwgMTA1LCAxNzIsIDEsIDQwLCAyMTEsIAorICAgIDExNywgMTcyLCAxLCA0MCwgMTUzLCAxNzIsIDEsIDQwLCAxNTYsIDE3MiwgMSwgNDAsIDIxOCwgMjI2LCAxNzIsIDExNiwgNSwgCisgICAgNDAsIDE5MywgMTcyLCAxMTYsIDUsIDQwLCAyNDIsIDYwLCAxNzIsIDIxLCAyMTAsIDg2LCAxNzIsIDIxLCAxMTAsIDE3MiwgCisgICAgMjEsIDEwNSwgMTcyLCAyMSwgMTU4LCAxNzIsIDIxLCAxNjEsIDE3MiwgMjEsIDE4OSwgMTcyLCAyMSwgMTk0LCAxNzIsIDIxLCAKKyAgICAxOTgsIDE3MiwgMjEsIDE5NSwgMTcyLCAyMSwgMjAwLCAxNzIsIDIyNCwgMTQxLCAyMTgsIDI1MSwgMTcyLCAyMjQsIDE0MSwgCisgICAgMjQ4LCAxNzgsIDE3MiwgMjI0LCAxNDEsIDUyLCAyNDgsIDE3OCwgMTcyLCAyMjQsIDE0MSwgMjE1LCAyMTEsIDI0OCwgMTc4LCAKKyAgICA2OCwgMSwgMjM0LCAxMjYsIDI0MywgMTM1LCA2OCwgMSwgMjM0LCAxMjYsIDI1MSwgMzMsIDY4LCAxLCAyMzQsIDEyNiwgCisgICAgMjUwLCAxNTcsIDY4LCAxLCAyMzQsIDEyNiwgMjM1LCAxNDEsIDY4LCAxLCAyMzQsIDEyNiwgMjM1LCAxMTQsIDY4LCAxLCAKKyAgICAyMzQsIDEyNiwgMjI3LCAxNjUsIDY4LCAxLCAyMzQsIDEyNiwgMjE1LCAxNTYsIDY4LCAxLCAyMzQsIDEyNiwgMjE1LCAxNDQsIAorICAgIDY4LCAxLCAyMzQsIDEyNiwgMjQ4LCAxMzUsIDY4LCAxLCAyMzQsIDEyNiwgMjQ4LCAxMTksIDY4LCAxLCAyMzQsIDEyNiwgCisgICAgMjQ4LCAyNSwgNjgsIDEsIDIzNCwgMTI2LCAxOTcsIDY4LCAxLCAyMzQsIDEyNiwgMjA2LCA2OCwgMSwgMjM0LCAxMjYsIAorICAgIDE2MiwgNjgsIDEsIDIzNCwgMTI2LCAyNDEsIDE4OSwgNjgsIDEsIDIzNCwgMTI2LCAyNDQsIDE5NiwgNjgsIDU4LCAxLCAKKyAgICAyMzQsIDEyNiwgMjIzLCAxMDksIDY4LCAxLCAyMzQsIDEyNiwgMjExLCAxNjUsIDY4LCAxLCAyMzQsIDEyNiwgMjEwLCAxMTYsIAorICAgIDY4LCAxLCAyMzQsIDEyNiwgMjA1LCA2OCwgMjMyLCAxNDUsIDIzNCwgMTI2LCAyMjYsIDI1MywgNjgsIDIzMiwgMTQ1LCAKKyAgICAyMzQsIDEyNiwgMjI0LCA0MywgNjgsIDIzMiwgMTQ1LCAyMzQsIDEyNiwgMjQxLCAxMjEsIDY4LCAxNiwgMjU0LCAxOTAsIAorICAgIDI0NSwgMzAsIDY4LCAxNiwgMjU0LCAxOTAsIDExMCwgNjgsIDE2LCAyNTQsIDE5MCwgMTA1LCA2OCwgMSwgMjU0LCAxOTAsIAorICAgIDIwNSwgNjgsIDUsIDIyNiwgMjMsIDIzNCwgMjEzLCAyMTYsIDMwLCAzOSwgMjA4LCAxLCAxMjEsIDIzNCwgMjgsIDM5LCAKKyAgICAyMDgsIDEsIDEyNSwgMjM0LCAyOCwgMzksIDIwOCwgMSwgMTIxLCAyMzQsIDEwNSwgMzksIDIwOCwgMSwgMTI1LCAyMzQsIAorICAgIDEwNSwgMzksIDIwOCwgMSwgMTIxLCAyMzQsIDExNCwgMzksIDIwOCwgMSwgMTI1LCAyMzQsIDExNCwgMzksIDIwOCwgMSwgCisgICAgMTIxLCAyNDIsIDE3NCwgMzksIDIwOCwgMSwgMTI1LCAyNDIsIDE3NCwgMzksIDIwOCwgMSwgMTIxLCAyMjksIDQsIDM5LCAKKyAgICAyMDgsIDEsIDEyNSwgMjI5LCA0LCAzOSwgMjA4LCAxLCAxMjEsIDI0OSwgMjM4LCAzOSwgMjA4LCAxLCAxMjUsIDI0OSwgCisgICAgMjM4LCAzOSwgMjA4LCAxLCAxMjEsIDI1MCwgODYsIDM5LCAyMDgsIDEsIDEyNSwgMjUwLCA4NiwgMzksIDIwOCwgMSwgMTIxLCAKKyAgICAyMTksIDU4LCAzOSwgMjA4LCAxLCAxMjUsIDIxOSwgNTgsIDM5LCAyMDgsIDEsIDEyMSwgMjI3LCAxMzQsIDM5LCAyMDgsIDEsIAorICAgIDEyNSwgMjI3LCAxMzQsIDM5LCAyMDgsIDEsIDEyMSwgMjQ3LCAxNDUsIDM5LCAyMDgsIDEsIDEyNSwgMjQ3LCAxNDUsIDM5LCAKKyAgICAyMDgsIDEsIDEyMSwgMTExLCAzOSwgMjA4LCAxLCAxMjUsIDExMSwgMzksIDIwOCwgMSwgMTIxLCAyMTYsIDE1NiwgMzksIAorICAgIDIwOCwgMSwgMTI1LCAyMTYsIDE1NiwgMzksIDIwOCwgMSwgMTIxLCAyMjgsIDc0LCAzOSwgMjA4LCAxLCAxMjUsIDIyOCwgCisgICAgNzQsIDM5LCAyMDgsIDEsIDEyMSwgMjUxLCAyMDUsIDM5LCAyMDgsIDEsIDEyNSwgMjUxLCAyMDUsIDM5LCAyMDgsIDEsIAorICAgIDEyMSwgMjI1LCAxNiwgMzksIDIwOCwgMSwgMTI1LCAyMjUsIDE2LCAzOSwgMjA4LCAxLCAxMjEsIDIyNSwgMTIxLCAzOSwgCisgICAgMjA4LCAxLCAxMjUsIDIyNSwgMTIxLCAzOSwgMjA4LCAxLCAxMjEsIDI0NCwgNDMsIDM5LCAyMDgsIDEsIDEyNSwgMjQ0LCAKKyAgICA0MywgMzksIDIwOCwgMSwgMTIxLCAyMzAsIDE2MSwgMzksIDIwOCwgMSwgMTI1LCAyMzAsIDE2MSwgMzksIDIwOCwgMSwgCisgICAgMTIxLCAyMTAsIDI0NCwgMzksIDIwOCwgMSwgMTI1LCAyMTAsIDI0NCwgMzksIDIwOCwgMSwgMTIxLCAyMjIsIDIxMSwgMzksIAorICAgIDIwOCwgMSwgMTI1LCAyMjIsIDIxMSwgMzksIDIwOCwgMSwgMTIxLCAyMzIsIDE1NiwgMzksIDIwOCwgMSwgMTI1LCAyMzIsIAorICAgIDE1NiwgMzksIDIwOCwgMSwgMTIxLCAyMTMsIDEzOCwgMzksIDIwOCwgMSwgMTI1LCAyMTMsIDEzOCwgMzksIDIwOCwgMSwgCisgICAgMTIxLCAyNDEsIDY4LCAzOSwgMjA4LCAxLCAxMjUsIDI0MSwgNjgsIDM5LCAyMDgsIDEsIDEyMSwgNzYsIDM5LCAyMDgsIDEsIAorICAgIDEyNSwgNzYsIDM5LCAyMDgsIDIzMSwgMjA0LCAyMzQsIDIzMCwgMzksIDIwOCwgMjUsIDI1NSwgNzMsIDM5LCAyMDgsIDI1LCAKKyAgICA3MywgMzksIDIwOCwgMjUsIDIxNCwgMjE0LCAzOSwgMjA4LCAyNSwgNzAsIDM5LCAyMDgsIDI1LCA3NSwgMzksIDIwOCwgMjUsIAorICAgIDc2LCAzOSwgMjA4LCAyMzEsIDIwNCwgMjM0LCAxMDgsIDM5LCAyMDgsIDI1LCAyNDAsIDExOSwgMzksIDIwOCwgMjUsIDIxNCwgCisgICAgMjEzLCAzOSwgMjA4LCAyNSwgMjE0LCAyMjksIDM5LCAyMDgsIDI1LCAyNTMsIDE5MCwgMzksIDIwOCwgMjUsIDI1MywgMTY3LCAKKyAgICAzOSwgMjA4LCAyNSwgMjU0LCAxMjMsIDM5LCAyMDgsIDI1LCAyNTQsIDEzNiwgMzksIDIwOCwgMTM4LCAyMzEsIDIwNCwgCisgICAgMjQ1LCAxODAsIDM5LCAyMDgsIDEzOCwgMjMxLCAyMDQsIDIyNywgMjA2LCAzOSwgMjA4LCAxMzgsIDIzMSwgMjA0LCAyMTYsIAorICAgIDE1NiwgMzksIDIwOCwgMTM4LCAyMzEsIDIwNCwgMjE5LCA0MiwgMzksIDIwOCwgMTYsIDIzNCwgMTMsIDM5LCAyMDgsIDE2LCAKKyAgICAyMjcsIDIwNiwgMzksIDIwOCwgMTYsIDIyMSwgMjUzLCAzOSwgMjA4LCAxNiwgMjQxLCA2OSwgMjQxLCA2NCwgMzksIDIwOCwgCisgICAgMTYsIDIzNCwgMjIsIDIzNCwgMjEsIDE4NiwgMTg1LCAxLCA3NSwgMTg2LCAxODUsIDEsIDc2LCAxODYsIDE4NSwgMSwgMjUwLCAKKyAgICAxNTcsIDE4NiwgMTg1LCAxLCAyMjcsIDE2NSwgMTg2LCAxODUsIDEsIDIxNSwgMTU2LCAxODYsIDE4NSwgMSwgMjE1LCAxNDQsIAorICAgIDE4NiwgMTg1LCAxLCAyNDgsIDEzNSwgMTg2LCAxODUsIDEsIDI0OCwgMTE5LCAxODYsIDE4NSwgMSwgMjI4LCAxMTAsIDE4NiwgCisgICAgMTg1LCAxLCAyMjAsIDEwMiwgMTg2LCAxODUsIDEsIDIxOCwgMjIzLCAxODYsIDE4NSwgMjUsIDUsIDIzNiwgMzMsIDE4NiwgCisgICAgMTg1LCAyNSwgNSwgMjE0LCAxMTgsIDE4NiwgMTg1LCAyNSwgNSwgMjU1LCAzNywgMTg2LCAxODUsIDI1LCA1LCAyNTMsIAorICAgIDE5MiwgMTg2LCAxODUsIDI1LCA1LCAyNTUsIDMwLCAxODYsIDE4NSwgMjUwLCAxMjUsIDE4NiwgMTg1LCAyNTQsIDIwNiwgCisgICAgMjM0LCA5OCwgMTg2LCAxODUsIDI1NCwgMTAzLCAxODYsIDE4NSwgMywgMjIzLCA3NCwgNzgsIDE4NiwgMTg1LCAyMTEsIAorICAgIDIwOSwgMjIzLCA3NCwgNzgsIDE4NiwgMTg1LCAyNSwgNSwgMjEzLCAxNDcsIDE4NiwgMTg1LCAyMTMsIDE1MiwgMjksIDMsIAorICAgIDIxNSwgMTM3LCAyOSwgMywgMjE1LCAxNDAsIDI5LCAzLCAyMTUsIDE0MywgMjksIDMsIDIxNSwgMTQxLCAyOSwgMywgMjE1LCAKKyAgICAxNDIsIDI5LCAzLCAyMTUsIDEzOSwgMjksIDMsIDI0OCwgMTEzLCAyOSwgMywgMjQ4LCAxMTUsIDI5LCAzLCAyNDgsIDExOCwgCisgICAgMjksIDMsIDI0OCwgMTE2LCAyOSwgMywgMjQ4LCAxMTcsIDI5LCAzLCAyNDgsIDExNCwgMjksIDMsIDI0NiwgMjgsIDI5LCAzLCAKKyAgICAyNDYsIDMxLCAyOSwgMywgMjQ2LCAzNywgMjksIDMsIDI0NiwgMzUsIDI5LCAzLCAyNDYsIDM2LCAyOSwgMywgMjQ2LCAyOSwgCisgICAgMjksIDMsIDI1MCwgMjA0LCAyOSwgMywgMjUwLCAxOTgsIDI5LCAzLCAyNTAsIDIwMCwgMjksIDMsIDI1MCwgMjAzLCAyOSwgCisgICAgMywgMjUwLCAyMDEsIDI5LCAzLCAyNTAsIDIwMiwgMjksIDMsIDI1MCwgMTk5LCAyOSwgMywgMjUyLCAxMTEsIDI5LCAzLCAKKyAgICAyNTIsIDkwLCAyOSwgMywgMjUyLCAxMDIsIDI5LCAzLCAyNTIsIDExMCwgMjksIDMsIDI1MiwgMTA1LCAyOSwgMywgMjUyLCAKKyAgICAxMDYsIDI5LCAzLCAyNTIsIDk0LCAxODYsIDE4NSwgMSwgMjM0LCAxOSwgMTg2LCAxODUsIDEsIDIyMSwgMjUzLCAxODYsIAorICAgIDE4NSwgMSwgMjMzLCAxMDksIDE4NiwgMTg1LCAxLCAyMzAsIDE3MiwgMTg2LCAxODUsIDEsIDE5MCwgMTg2LCAxODUsIDEsIAorICAgIDE5NywgMTg2LCAxODUsIDEsIDI1MCwgMTAyLCAxODYsIDE4NSwgMSwgMjE2LCA5MCwgMTg2LCAxODUsIDEsIDIzNCwgMTAxLCAKKyAgICAxODYsIDE4NSwgMSwgMjI4LCAyNTAsIDE4NiwgMTg1LCAxLCAyMTYsIDE1MCwgMTg2LCAxODUsIDEsIDIxMiwgNjAsIDE4NiwgCisgICAgMTg1LCAxLCAyMTEsIDY5LCAxODYsIDE4NSwgMSwgMjQwLCAyMTYsIDE4NiwgMTg1LCAxLCAyMTQsIDE5MCwgMTg2LCAxODUsIAorICAgIDEsIDczLCAxODYsIDE4NSwgMSwgMjI1LCAxNDIsIDE4NiwgMTg1LCAxLCAyNTMsIDIwMiwgMTg2LCAxODUsIDEsIDI0MiwgCisgICAgMTY3LCAxODYsIDE4NSwgMSwgMjM1LCAxMTIsIDE4NiwgMTg1LCAxLCAyMjMsIDE2NiwgMTg2LCAxODUsIDEsIDI1MiwgMTkxLCAKKyAgICAxODYsIDE4NSwgMSwgMjM1LCAxMDAsIDE4NiwgMTg1LCAxLCAyNDcsIDIxOSwgMTg2LCAxODUsIDEsIDI0MiwgMjIxLCAxODYsIAorICAgIDE4NSwgMSwgMjQ4LCA1LCAxODYsIDE4NSwgMSwgMjUyLCAxNiwgMTg2LCAxODUsIDEsIDIzNCwgMjAsIDIzMiwgMTI4LCAKKyAgICAxODYsIDE4NSwgMSwgMjMzLCAxMTAsIDIzMiwgMTI4LCAxODYsIDE4NSwgMSwgMjMwLCAxNzMsIDIzMiwgMTI4LCAxODYsIAorICAgIDE4NSwgMSwgMjI2LCA5MCwgMjMyLCAxMjgsIDE4NiwgMTg1LCAxLCAyMjksIDIyOSwgMjMyLCAxMjgsIDE4NiwgMTg1LCAxLCAKKyAgICAyMTYsIDkxLCAyMzIsIDEyOCwgMTg2LCAxODUsIDEsIDIyOCwgMjUxLCAyMzIsIDEyOCwgMTg2LCAxODUsIDEsIDI0MCwgCisgICAgMTU0LCAyMzIsIDEyOCwgMTg2LCAxODUsIDI1LCA1LCAyMjYsIDE5NSwgMTg2LCAxODUsIDI1LCA1LCAyMzUsIDI1MywgMTg2LCAKKyAgICAxODUsIDI1LCA1LCAyNTQsIDEyMiwgMTg2LCAxODUsIDI1LCA1LCAyMTEsIDM4LCAxODYsIDE4NSwgMjUsIDUsIDIxOSwgMzIsIAorICAgIDE4NiwgMTg1LCAyNSwgNSwgMjE0LCAxODcsIDE4NiwgMTg1LCAyNSwgNSwgMjUwLCAxMjMsIDE4NiwgMTg1LCAyNSwgNSwgCisgICAgMjI3LCAxOTEsIDE4NiwgMTg1LCAyNTAsIDEyNCwgMTg2LCAxODUsIDIzMiwgODUsIDIzNSwgMTUwLCAxODYsIDE4NSwgMjU0LCAKKyAgICA0NiwgMjM1LCAxNTAsIDE4NiwgMTg1LCAyMSwgMjEwLCA4NiwgMTg2LCAxODUsIDIxLCAxMTAsIDE4NiwgMTg1LCAyMSwgCisgICAgMTA1LCAxODYsIDE4NSwgMjEsIDE1OCwgMTg2LCAxODUsIDIxLCAxNjEsIDE4NiwgMTg1LCAyMSwgMTg5LCAxODYsIDE4NSwgCisgICAgMjEsIDE5NCwgMTg2LCAxODUsIDIxLCAxOTgsIDE4NiwgMTg1LCAyMSwgMTk1LCAxODYsIDE4NSwgMjEsIDIwMCwgMjQsIAorICAgIDE0MywgMjI3LCA3NywgMjQsIDE0MywgMjI3LCA4MiwgMjQsIDE0MywgMjEwLCAyNDMsIDI0LCAxNDMsIDIxMCwgMjQyLCAyNCwgCisgICAgMTQzLCAyMTAsIDI0MSwgMjQsIDE0MywgMjE1LCAyMywgMjQsIDE0MywgMjE1LCAyNiwgMjQsIDE0MywgMjEwLCAyMTAsIDI0LCAKKyAgICAxNDMsIDIxMCwgMjA2LCAyNCwgMTQzLCAyNDUsIDU0LCAyNCwgMTQzLCAyNDUsIDUyLCAyNCwgMTQzLCAyNDUsIDUzLCAyNCwgCisgICAgMTQzLCAyNDUsIDUwLCAyNCwgMTQzLCAyNDAsIDE0NCwgMjQsIDE0MywgMjQwLCAxNDMsIDI0LCAxNDMsIDI0MCwgMTQxLCAKKyAgICAyNCwgMTQzLCAyNDAsIDE0MiwgMjQsIDE0MywgMjQwLCAxNDcsIDI0LCAxNDMsIDI0MCwgMTQwLCAyNCwgMTQzLCAyNDAsIAorICAgIDEzOSwgMjQsIDE0MywgMjQwLCAxNDksIDI0LCAxNDMsIDI1NCwgMzMsIDI0LCAxNDMsIDI1NCwgMzIsIDI0LCA5MCwgMjI4LCAKKyAgICAyMTksIDI0LCA5MCwgMjI4LCAyMjUsIDI0LCA5MCwgMjE4LCAyMDQsIDI0LCA5MCwgMjE4LCAyMDMsIDI0LCA5MCwgMjE2LCAKKyAgICA5NiwgMjQsIDkwLCAyMTYsIDk0LCAyNCwgOTAsIDIxNiwgOTMsIDI0LCA5MCwgMjE2LCA5OSwgMjQsIDkwLCAyMTYsIDEwMCwgCisgICAgMjQsIDkwLCAyMTYsIDkyLCAyNCwgOTAsIDIyMywgNSwgMjQsIDkwLCAyMjMsIDIwLCAyNCwgOTAsIDIxOCwgMjEwLCAyNCwgCisgICAgOTAsIDIyMywgMTcsIDI0LCA5MCwgMjIzLCA3LCAyNCwgOTAsIDIyMywgOSwgMjQsIDkwLCAyMjIsIDI1MiwgMjQsIDkwLCAKKyAgICAyMjIsIDI1MywgMjQsIDkwLCAyMzQsIDIxOCwgMjQsIDkwLCAyMzAsIDIxMiwgMjQsIDkwLCAyMzAsIDIwNiwgMjQsIDkwLCAKKyAgICAyMTgsIDIxNCwgMjQsIDkwLCAyMzAsIDIwOSwgMjQsIDkwLCAyMzAsIDIxNSwgMjQsIDkwLCAyMjUsIDc2LCAyNCwgOTAsIAorICAgIDIyNSwgODUsIDI0LCA5MCwgMjI1LCA4OSwgMjQsIDkwLCAyMTgsIDIxMiwgMjQsIDkwLCAyMjUsIDc5LCAyNCwgOTAsIDIyNSwgCisgICAgOTMsIDI0LCA5MCwgMjI1LCA5NCwgMjQsIDkwLCAyMTksIDE0MCwgMjQsIDkwLCAyMTksIDE0MywgMjQsIDkwLCAyMTgsIAorICAgIDIwOCwgMjQsIDkwLCAyMTgsIDIwNiwgMjQsIDkwLCAyMTksIDEzOCwgMjQsIDkwLCAyMTksIDE0NiwgMjQsIDkwLCAyMTksIAorICAgIDE0NywgMjQsIDkwLCAyMTksIDEzMiwgMjQsIDkwLCAyMTksIDE0NSwgMjQsIDkwLCAyMjYsIDMwLCAyNCwgOTAsIDIyNiwgCisgICAgMzEsIDI0LCA5MCwgMjExLCAyNCwgMjQsIDkwLCAyMTEsIDI1LCAyNCwgOTAsIDI1MCwgNDQsIDI0LCA5MCwgMjUwLCA0MywgCisgICAgMjQsIDkwLCAyMTgsIDIxOSwgMjQsIDkwLCAyMjUsIDEyOCwgMjQsIDkwLCAyMjUsIDEyNywgOSwgMTQsIDIzOCwgMjQsIDksIAorICAgIDE0LCAyMzgsIDIzLCA5LCAxNCwgMjM4LCAyMiwgOSwgMTQsIDIzOCwgMjEsIDksIDE0LCAyMzgsIDIwLCA5LCAxNCwgMjM4LCAKKyAgICAxOSwgOSwgMTQsIDIzOCwgMTgsIDksIDE0LCAyMzgsIDE3LCA5LCAxNCwgMjM4LCAxNiwgOSwgMTQsIDIzOCwgMTUsIDksIAorICAgIDE0LCAyMzgsIDE0LCA5LCAxNCwgMjM4LCAxMywgOSwgMTQsIDIzOCwgMTIsIDksIDE0LCAyMzgsIDExLCA5LCAxNCwgMjM4LCAKKyAgICAxMCwgOSwgMTQsIDIzOCwgOSwgOSwgMTQsIDIzOCwgOCwgOSwgMTQsIDIzOCwgNywgOSwgMTQsIDIzOCwgNiwgOSwgMTQsIAorICAgIDIzOCwgNSwgOSwgMTQsIDIzOCwgNCwgOSwgMTQsIDIzOCwgMywgOSwgMTQsIDIzOCwgMiwgOSwgMTQsIDIzOCwgMSwgOSwgCisgICAgMTQsIDIzOCwgMCwgOSwgMTQsIDIzNywgMjU1LCA5LCAxNCwgMjM3LCAyNTQsIDksIDE0LCAyMzcsIDI1MywgOSwgMTQsIAorICAgIDIzNywgMjUyLCA5LCAxNCwgMjM3LCAyNTEsIDksIDE0LCAyMzcsIDI1MCwgOSwgMTQsIDIzNywgMjQ5LCA5LCAxNCwgMjM3LCAKKyAgICAyNDgsIDksIDE0LCAyMzcsIDI0NywgOSwgMTQsIDIzNywgMjQ2LCA5LCAxNCwgMjM3LCAyNDUsIDksIDE0LCAyMzcsIDI0NCwgCisgICAgOSwgMTQsIDIzNywgMjQzLCA5LCAxNCwgMjM3LCAyNDIsIDksIDE0LCAyMzcsIDI0MSwgOSwgMTQsIDIzNywgMjQwLCA5LCAKKyAgICAxNCwgMjM3LCAyMzksIDksIDE0LCAyMzcsIDIzOCwgOSwgMTQsIDIzNywgMjM3LCA5LCAxNCwgMjM3LCAyMzYsIDksIDE0LCAKKyAgICAyMzcsIDIzNSwgOSwgMTQsIDIzNywgMjM0LCA5LCAxNCwgMjM3LCAyMzMsIDksIDE0LCAyMzcsIDIzMiwgOSwgMTQsIDIzNywgCisgICAgMjMxLCA5LCAxNCwgMjM3LCAyMzAsIDksIDE0LCAyMzcsIDIyOSwgOSwgMTQsIDIzNywgMjI4LCA5LCAxNCwgMjM3LCAyMjcsIAorICAgIDksIDE0LCAyMzcsIDIyNiwgOSwgMTQsIDIzNywgMjI1LCA5LCAxNCwgMjM3LCAyMjQsIDksIDE0LCAyMzcsIDIyMywgOSwgCisgICAgMTQsIDIzNywgMjIyLCA5LCAxNCwgMjM3LCAyMjEsIDksIDE0LCAyMzcsIDIyMCwgOSwgMTQsIDIzNywgMjE5LCA5LCAxNCwgCisgICAgMjM3LCAyMTgsIDksIDE0LCAyMzcsIDIxNywgOSwgMTQsIDIzNywgMjE2LCA5LCAxNCwgMjM3LCAyMTUsIDksIDE0LCAyMzcsIAorICAgIDIxNCwgOSwgMTQsIDIzNywgMjEzLCA5LCAxNCwgMjM3LCAyMTIsIDksIDE0LCAyMzcsIDIxMSwgOSwgMTQsIDIzNywgMjEwLCAKKyAgICA5LCAxNCwgMjM3LCAyMDksIDksIDE0LCAyMzcsIDIwOCwgOSwgMTQsIDIzNywgMjA3LCA5LCAxNCwgMjM3LCAyMDYsIDksIAorICAgIDE0LCAyMzcsIDIwNSwgOSwgMTQsIDIzNywgMjA0LCA5LCAxNCwgMjM3LCAyMDMsIDksIDE0LCAyMzcsIDIwMiwgOSwgMTQsIAorICAgIDIzNywgMjAxLCA5LCAxNCwgMjM3LCAyMDAsIDksIDE0LCAyMzcsIDE5OSwgOSwgMTQsIDIzNywgMTk4LCA5LCAxNCwgMjM3LCAKKyAgICAxOTcsIDksIDE0LCAyMzcsIDE5NiwgOSwgMTQsIDIzNywgMTk1LCA5LCAxNCwgMjM3LCAxOTQsIDksIDE0LCAyMzcsIDE5MywgCisgICAgOSwgMTQsIDIzNywgMTkyLCA5LCAxNCwgMjM3LCAxOTEsIDksIDE0LCAyMzcsIDE5MCwgOSwgMTQsIDIzNywgMTg5LCA5LCAKKyAgICAxNCwgMjM3LCAxODgsIDksIDE0LCAyMzcsIDE4NywgOSwgMTQsIDIzNywgMTg2LCA5LCAxNCwgMjM3LCAxODUsIDksIDE0LCAKKyAgICAyMzcsIDE4NCwgOSwgMTQsIDIzNywgMTgzLCA5LCAxNCwgMjM3LCAxODIsIDksIDE0LCAyMzcsIDE4MSwgOSwgMTQsIDIzNywgCisgICAgMTgwLCA5LCAxNCwgMjM3LCAxNzksIDksIDE0LCAyMzcsIDE3OCwgOSwgMTQsIDIzNywgMTc3LCA5LCAxNCwgMjM3LCAxNzYsIAorICAgIDksIDE0LCAyMzcsIDE3NSwgOSwgMTQsIDIzNywgMTc0LCA5LCAxNCwgMjM3LCAxNzMsIDksIDE0LCAyMzcsIDE3MiwgOSwgCisgICAgMTQsIDIzNywgMTcxLCA5LCAxNCwgMjM3LCAxNzAsIDksIDE0LCAyMzcsIDE2OSwgOSwgMTQsIDIzNywgMTY4LCA5LCAxNCwgCisgICAgMjM3LCAxNjcsIDksIDE0LCAyMzcsIDE2NiwgOSwgMTQsIDIzNywgMTY1LCA5LCAxNCwgMjM3LCAxNjQsIDksIDE0LCAyMzcsIAorICAgIDE2MywgOSwgMTQsIDIzNywgMTYyLCA5LCAxNCwgMjM3LCAxNjEsIDksIDE0LCAyMzcsIDE2MCwgOSwgMTQsIDIzNywgMTU5LCAKKyAgICA5LCAxNCwgMjM3LCAxNTgsIDksIDE0LCAyMzcsIDE1NywgOSwgMTQsIDIzNywgMTU2LCA5LCAxNCwgMjM3LCAxNTUsIDksIAorICAgIDE0LCAyMzcsIDE1NCwgOSwgMTQsIDIzNywgMTUzLCA5LCAxNCwgMjM3LCAxNTIsIDksIDE0LCAyMzcsIDE1MSwgOSwgMTQsIAorICAgIDIzNywgMTUwLCA5LCAxNCwgMjM3LCAxNDksIDksIDE0LCAyMzcsIDE0OCwgOSwgMTQsIDIzNywgMTQ3LCA5LCAxNCwgMjM3LCAKKyAgICAxNDYsIDksIDE0LCAyMzcsIDE0NSwgOSwgMTQsIDIzNywgMTQ0LCA5LCAxNCwgMjM3LCAxNDMsIDksIDE0LCAyMzcsIDE0MiwgCisgICAgOSwgMTQsIDIzNywgMTQxLCA5LCAxNCwgMjM3LCAxNDAsIDksIDE0LCAyMzcsIDEzOSwgOSwgMTQsIDIzNywgMTM4LCA5LCAKKyAgICAxNCwgMjM3LCAxMzcsIDksIDE0LCAyMzcsIDEzNiwgOSwgMTQsIDIzNywgMTM1LCA5LCAxNCwgMjM3LCAxMzQsIDksIDE0LCAKKyAgICAyMzcsIDEzMywgOSwgMTQsIDIzNywgMTMyLCA5LCAxNCwgMjM3LCAxMzEsIDksIDE0LCAyMzcsIDEzMCwgOSwgMTQsIDIzNywgCisgICAgMTI5LCA5LCAxNCwgMjM3LCAxMjgsIDksIDE0LCAyMzcsIDEyNywgOSwgMTQsIDIzNywgMTI2LCA5LCAxNCwgMjM3LCAxMjUsIAorICAgIDksIDE0LCAyMzcsIDEyNCwgOSwgMTQsIDIzNywgMTIzLCA5LCAxNCwgMjM3LCAxMjIsIDksIDE0LCAyMzcsIDEyMSwgOSwgCisgICAgMTQsIDIzNywgMTIwLCA5LCAxNCwgMjM3LCAxMTksIDksIDE0LCAyMzcsIDExOCwgOSwgMTQsIDIzNywgMTE3LCA5LCAxNCwgCisgICAgMjM3LCAxMTYsIDksIDE0LCAyMzcsIDExNSwgOSwgMTQsIDIzNywgMTE0LCA5LCAxNCwgMjM3LCAxMTMsIDksIDE0LCAyMzcsIAorICAgIDExMiwgOSwgMTQsIDIzNywgMTExLCA5LCAxNCwgMjM3LCAxMTAsIDksIDE0LCAyMzcsIDEwOSwgOSwgMTQsIDIzNywgMTA4LCAKKyAgICA5LCAxNCwgMjM3LCAxMDcsIDksIDE0LCAyMzcsIDEwNiwgOSwgMTQsIDIzNywgMTA1LCA5LCAxNCwgMjM3LCAxMDQsIDksIAorICAgIDE0LCAyMzcsIDEwMywgOSwgMTQsIDIzNywgMTAyLCA5LCAxNCwgMjM3LCAxMDEsIDksIDE0LCAyMzcsIDEwMCwgOSwgMTQsIAorICAgIDIzNywgOTksIDksIDE0LCAyMzcsIDk4LCA5LCAxNCwgMjM3LCA5NywgOSwgMTQsIDIzNywgOTYsIDksIDE0LCAyMzcsIDk1LCAKKyAgICA5LCAxNCwgMjM3LCA5NCwgOSwgMTQsIDIzNywgOTMsIDksIDE0LCAyMzcsIDkyLCA5LCAxNCwgMjM3LCA5MSwgOSwgMTQsIAorICAgIDIzNywgOTAsIDksIDE0LCAyMzcsIDg5LCA5LCAxNCwgMjM3LCA4OCwgOSwgMTQsIDIzNywgODcsIDksIDE0LCAyMzcsIDg2LCAKKyAgICA5LCAxNCwgMjM3LCA4NSwgOSwgMTQsIDIzNywgODQsIDksIDE0LCAyMzcsIDgzLCA5LCAxNCwgMjM3LCA4MiwgOSwgMTQsIAorICAgIDIzNywgODEsIDksIDE0LCAyMzcsIDgwLCA5LCAxNCwgMjM3LCA3OSwgOSwgMTQsIDIzNywgNzgsIDksIDE0LCAyMzcsIDc3LCAKKyAgICA5LCAxNCwgMjM3LCA3NiwgOSwgMTQsIDIzNywgNzUsIDksIDE0LCAyMzcsIDc0LCA5LCAxNCwgMjM3LCA3MywgOSwgMTQsIAorICAgIDIzNywgNzIsIDksIDE0LCAyMzcsIDcxLCA5LCAxNCwgMjM3LCA3MCwgOSwgMTQsIDIzNywgNjksIDksIDE0LCAyMzcsIDY4LCAKKyAgICA5LCAxNCwgMjM3LCA2NywgOSwgMTQsIDIzNywgNjYsIDksIDE0LCAyMzcsIDY1LCA5LCAxNCwgMjM3LCA2NCwgOSwgMTQsIAorICAgIDIzNywgNjMsIDksIDE0LCAyMzcsIDYyLCA5LCAxNCwgMjM3LCA2MSwgOSwgMTQsIDIzNywgNjAsIDksIDE0LCAyMzcsIDU5LCAKKyAgICA5LCAxNCwgMjM3LCA1OCwgOSwgMTQsIDIzNywgNTcsIDksIDE0LCAyMzcsIDU2LCA5LCAxNCwgMjM3LCA1NSwgOSwgMTQsIAorICAgIDIzNywgNTQsIDksIDE0LCAyMzcsIDUzLCA5LCAxNCwgMjM3LCA1MiwgOSwgMTQsIDIzNywgNTEsIDksIDE0LCAyMzcsIDUwLCAKKyAgICA5LCAxNCwgMjM3LCA0OSwgOSwgMTQsIDIzNywgNDgsIDksIDE0LCAyMzcsIDQ3LCA5LCAxNCwgMjM3LCA0NiwgOSwgMTQsIAorICAgIDIzNywgNDUsIDksIDE0LCAyMzcsIDQ0LCA5LCAxNCwgMjM3LCA0MywgOSwgMTQsIDIzNywgNDIsIDksIDE0LCAyMzcsIDQxLCAKKyAgICA5LCAxNCwgMjM3LCA0MCwgOSwgMTQsIDIzNywgMzksIDksIDE0LCAyMzcsIDM4LCA5LCAxNCwgMjM3LCAzNywgOSwgMTQsIAorICAgIDIzNywgMzYsIDksIDE0LCAyMzcsIDM1LCA5LCAxNCwgMjM3LCAzNCwgOSwgMTQsIDIzNywgMzMsIDksIDE0LCAyMzcsIDMyLCAKKyAgICA5LCAxNCwgMjM3LCAzMSwgOSwgMTQsIDIzNywgMzAsIDksIDE0LCAyMzcsIDI5LCA5LCAxNCwgMjM3LCAyOCwgOSwgMTQsIAorICAgIDIzNywgMjcsIDksIDE0LCAyMzcsIDI2LCA5LCAxNCwgMjM3LCAyNSwgOSwgMTQsIDIzNywgMjQsIDksIDE0LCAyMzcsIDIzLCAKKyAgICA5LCAxNCwgMjM3LCAyMiwgOSwgMTQsIDIzNywgMjEsIDksIDE0LCAyMzcsIDIwLCA5LCAxNCwgMjM3LCAxOSwgOSwgMTQsIAorICAgIDIzNywgMTgsIDksIDE0LCAyMzcsIDE3LCA5LCAxNCwgMjM3LCAxNiwgOSwgMTQsIDIzNywgMTUsIDksIDE0LCAyMzcsIDE0LCAKKyAgICA5LCAxNCwgMjM3LCAxMywgOSwgMTQsIDIzNywgMTIsIDksIDE0LCAyMzcsIDExLCA5LCAxNCwgMjM3LCAxMCwgOSwgMTQsIAorICAgIDIzNywgOSwgOSwgMTQsIDIzNywgOCwgOSwgMTQsIDIzNywgNywgOSwgMTQsIDIzNywgNiwgOSwgMTQsIDIzNywgNSwgOSwgCisgICAgMTQsIDIzNywgNCwgOSwgMTQsIDIzNywgMywgOSwgMTQsIDIzNywgMiwgOSwgMTQsIDIzNywgMSwgOSwgMTQsIDIzNywgMCwgCisgICAgOSwgMTQsIDIzNiwgMjU1LCA5LCAxNCwgMjM2LCAyNTQsIDksIDE0LCAyMzYsIDI1MywgOSwgMTQsIDIzNiwgMjUyLCA5LCAKKyAgICAxNCwgMjM2LCAyNTEsIDksIDE0LCAyMzYsIDI1MCwgOSwgMTQsIDIzNiwgMjQ5LCA5LCAxNCwgMjM2LCAyNDgsIDksIDE0LCAKKyAgICAyMzYsIDI0NywgOSwgMTQsIDIzNiwgMjQ2LCA5LCAxNCwgMjM2LCAyNDUsIDksIDE0LCAyMzYsIDI0NCwgOSwgMTQsIDIzNiwgCisgICAgMjQzLCA5LCAxNCwgMjM2LCAyNDIsIDksIDE0LCAyMzYsIDI0MSwgOSwgMTQsIDIzNiwgMjQwLCA5LCAxNCwgMjM2LCAyMzksIAorICAgIDksIDE0LCAyMzYsIDIzOCwgOSwgMTQsIDIzNiwgMjM3LCA5LCAxNCwgMjM2LCAyMzYsIDksIDE0LCAyMzYsIDIzNSwgOSwgCisgICAgMTQsIDIzNiwgMjM0LCA5LCAxNCwgMjM2LCAyMzMsIDksIDE0LCAyMzYsIDIzMiwgOSwgMTQsIDIzNiwgMjMxLCA5LCAxNCwgCisgICAgMjM2LCAyMzAsIDksIDE0LCAyMzYsIDIyOSwgOSwgMTQsIDIzNiwgMjI4LCA5LCAxNCwgMjM2LCAyMjcsIDksIDE0LCAyMzYsIAorICAgIDIyNiwgOSwgMTQsIDIzNiwgMjI1LCA5LCAxNCwgMjM2LCAyMjQsIDksIDE0LCAyMzYsIDIyMywgOSwgMTQsIDIzNiwgMjIyLCAKKyAgICA5LCAxNCwgMjM2LCAyMjEsIDksIDE0LCAyMzYsIDIyMCwgOSwgMTQsIDIzNiwgMjE5LCA5LCAxNCwgMjM2LCAyMTgsIDksIAorICAgIDE0LCAyMzYsIDIxNywgOSwgMTQsIDIzNiwgMjE2LCA5LCAxNCwgMjM2LCAyMTUsIDksIDE0LCAyMzYsIDIxNCwgOSwgMTQsIAorICAgIDIzNiwgMjEzLCA5LCAxNCwgMjM2LCAyMTIsIDksIDE0LCAyMzYsIDIxMSwgOSwgMTQsIDIzNiwgMjEwLCA5LCAxNCwgMjM2LCAKKyAgICAyMDksIDksIDE0LCAyMzYsIDIwOCwgOSwgMTQsIDIzNiwgMjA3LCA5LCAxNCwgMjM2LCAyMDYsIDksIDE0LCAyMzYsIDIwNSwgCisgICAgOSwgMTQsIDIzNiwgMjA0LCA5LCAxNCwgMjM2LCAyMDMsIDksIDE0LCAyMzYsIDIwMiwgOSwgMTQsIDIzNiwgMjAxLCA5LCAKKyAgICAxNCwgMjM2LCAyMDAsIDksIDE0LCAyMzYsIDE5OSwgOSwgMTQsIDIzNiwgMTk4LCA5LCAxNCwgMjM2LCAxOTcsIDksIDE0LCAKKyAgICAyMzYsIDE5NiwgOSwgMTQsIDIzNiwgMTk1LCA5LCAxNCwgMjM2LCAxOTQsIDksIDE0LCAyMzYsIDE5MywgOSwgMTQsIDIzNiwgCisgICAgMTkyLCA5LCAxNCwgMjM2LCAxOTEsIDksIDE0LCAyMzYsIDE5MCwgOSwgMTQsIDIzNiwgMTg5LCA5LCAxNCwgMjM2LCAxODgsIAorICAgIDksIDE0LCAyMzYsIDE4NywgOSwgMTQsIDIzNiwgMTg2LCA5LCAxNCwgMjM2LCAxODUsIDksIDE0LCAyMzYsIDE4NCwgOSwgCisgICAgMTQsIDIzNiwgMTgzLCA5LCAxNCwgMjM2LCAxODIsIDksIDE0LCAyMzYsIDE4MSwgOSwgMTQsIDIzNiwgMTgwLCA5LCAxNCwgCisgICAgMjM2LCAxNzksIDksIDE0LCAyMzYsIDE3OCwgOSwgMTQsIDIzNiwgMTc3LCA5LCAxNCwgMjM2LCAxNzYsIDksIDE0LCAyMzYsIAorICAgIDE3NSwgOSwgMTQsIDIzNiwgMTc0LCA5LCAxNCwgMjM2LCAxNzMsIDksIDE0LCAyMzYsIDE3MiwgOSwgMTQsIDIzNiwgMTcxLCAKKyAgICA5LCAxNCwgMjM2LCAxNzAsIDksIDE0LCAyMzYsIDE2OSwgOSwgMTQsIDIzNiwgMTY4LCA5LCAxNCwgMjM2LCAxNjcsIDksIAorICAgIDE0LCAyMzYsIDE2NiwgOSwgMTQsIDIzNiwgMTY1LCA5LCAxNCwgMjM2LCAxNjQsIDksIDE0LCAyMzYsIDE2MywgOSwgMTQsIAorICAgIDIzNiwgMTYyLCA5LCAxNCwgMjM2LCAxNjEsIDksIDE0LCAyMzYsIDE2MCwgOSwgMTQsIDIzNiwgMTU5LCA5LCAxNCwgMjM2LCAKKyAgICAxNTgsIDksIDE0LCAyMzYsIDE1NywgOSwgMTQsIDIzNiwgMTU2LCA5LCAxNCwgMjM2LCAxNTUsIDksIDE0LCAyMzYsIDE1NCwgCisgICAgOSwgMTQsIDIzNiwgMTUzLCA5LCAxNCwgMjM2LCAxNTIsIDksIDE0LCAyMzYsIDE1MSwgOSwgMTQsIDIzNiwgMTUwLCA5LCAKKyAgICAxNCwgMjM2LCAxNDksIDksIDE0LCAyMzYsIDE0OCwgOSwgMTQsIDIzNiwgMTQ3LCA5LCAxNCwgMjM2LCAxNDYsIDksIDE0LCAKKyAgICAyMzYsIDE0NSwgOSwgMTQsIDIzNiwgMTQ0LCA5LCAxNCwgMjM2LCAxNDMsIDksIDE0LCAyMzYsIDE0MiwgOSwgMTQsIDIzNiwgCisgICAgMTQxLCA5LCAxNCwgMjM2LCAxNDAsIDksIDE0LCAyMzYsIDEzOSwgOSwgMTQsIDIzNiwgMTM4LCA5LCAxNCwgMjM2LCAxMzcsIAorICAgIDksIDE0LCAyMzYsIDEzNiwgOSwgMTQsIDIzNiwgMTM1LCA5LCAxNCwgMjM2LCAxMzQsIDksIDE0LCAyMzYsIDEzMywgOSwgCisgICAgMTQsIDIzNiwgMTMyLCA5LCAxNCwgMjM2LCAxMzEsIDksIDE0LCAyMzYsIDEzMCwgOSwgMTQsIDIzNiwgMTI5LCA5LCAxNCwgCisgICAgMjM2LCAxMjgsIDksIDE0LCAyMzYsIDEyNywgOSwgMTQsIDIzNiwgMTI2LCA5LCAxNCwgMjM2LCAxMjUsIDksIDE0LCAyMzYsIAorICAgIDEyNCwgOSwgMTQsIDIzNiwgMTIzLCA5LCAxNCwgMjM2LCAxMjIsIDksIDE0LCAyMzYsIDEyMSwgOSwgMTQsIDIzNiwgMTIwLCAKKyAgICA5LCAxNCwgMjM2LCAxMTksIDksIDE0LCAyMzYsIDExOCwgOSwgMTQsIDIzNiwgMTE3LCA5LCAxNCwgMjM2LCAxMTYsIDksIAorICAgIDE0LCAyMzYsIDExNSwgOSwgMTQsIDIzNiwgMTE0LCA5LCAxNCwgMjM2LCAxMTMsIDksIDE0LCAyMzYsIDExMiwgOSwgMTQsIAorICAgIDIzNiwgMTExLCA5LCAxNCwgMjM2LCAxMTAsIDksIDE0LCAyMzYsIDEwOSwgOSwgMTQsIDIzNiwgMTA4LCA5LCAxNCwgMjM2LCAKKyAgICAxMDcsIDksIDE0LCAyMzYsIDEwNiwgOSwgMTQsIDIzNiwgMTA1LCA5LCAxNCwgMjM2LCAxMDQsIDksIDE0LCAyMzYsIDEwMywgCisgICAgOSwgMTQsIDIzNiwgMTAyLCA5LCAxNCwgMjM2LCAxMDEsIDksIDE0LCAyMzYsIDEwMCwgOSwgMTQsIDIzNiwgOTksIDksIDE0LCAKKyAgICAyMzYsIDk4LCA5LCAxNCwgMjM2LCA5NywgOSwgMTQsIDIzNiwgOTYsIDksIDE0LCAyMzYsIDk1LCA5LCAxNCwgMjM2LCA5NCwgCisgICAgOSwgMTQsIDIzNiwgOTMsIDksIDE0LCAyMzYsIDkyLCA5LCAxNCwgMjM2LCA5MSwgOSwgMTQsIDIzNiwgOTAsIDksIDE0LCAKKyAgICAyMzYsIDg5LCA5LCAxNCwgMjM2LCA4OCwgOSwgMTQsIDIzNiwgODcsIDksIDE0LCAyMzYsIDg2LCA5LCAxNCwgMjM2LCA4NSwgCisgICAgOSwgMTQsIDIzNiwgODQsIDksIDE0LCAyMzYsIDgzLCA5LCAxNCwgMjM2LCA4MiwgOSwgMTQsIDIzNiwgODEsIDksIDE0LCAKKyAgICAyMzYsIDgwLCA5LCAxNCwgMjM2LCA3OSwgOSwgMTQsIDIzNiwgNzgsIDksIDE0LCAyMzYsIDc3LCA5LCAxNCwgMjM2LCA3NiwgCisgICAgOSwgMTQsIDIzNiwgNzUsIDksIDE0LCAyMzYsIDc0LCA5LCAxNCwgMjM2LCA3MywgOSwgMTQsIDIzNiwgNzIsIDksIDE0LCAKKyAgICAyMzYsIDcxLCA5LCAxNCwgMjM2LCA3MCwgOSwgMTQsIDIzNiwgNjksIDksIDE0LCAyMzYsIDY4LCA5LCAxNCwgMjM2LCA2NywgCisgICAgOSwgMTQsIDIzNiwgNjYsIDksIDE0LCAyMzYsIDY1LCA3LCA0LCAyNywgMjQ0LCAxMjUsIDcsIDQsIDI3LCAyNDQsIDEyMSwgCisgICAgNywgNCwgMjcsIDI0NCwgNzYsIDcsIDQsIDI3LCAyNDQsIDEyNCwgNywgNCwgMjcsIDI0NCwgMTIzLCA3LCA0LCAyNywgMTk5LCAKKyAgICAyMjIsIDkyLCAyMTcsIDE1MiwgNywgNCwgMjcsIDIxOCwgMTY4LCAxNTAsIDQsIDI3LCAyMzEsIDU5LCAyMjgsIDM5LCAxNTAsIAorICAgIDQsIDI3LCAyMzEsIDU5LCAyNDUsIDIxMywgMTUwLCA0LCAyNywgMjMxLCA1OSwgMjM1LCAyMjcsIDE1MCwgNCwgMjcsIDIxMywgCisgICAgMTgwLCAyMjgsIDM5LCAxNTAsIDQsIDI3LCAyMzEsIDU5LCAyMTEsIDE2MCwgOTQsIDEsIDIxMCwgMjM0LCAyLCAyNDEsIAorICAgIDE1OCwgOTQsIDIyNSwgMTEsIDIzNSwgNTAsIDIxNCwgMTEsIDk0LCAyNywgMjExLCA2LCAyMTAsIDIzNCwgMjEwLCAyMzQsIAorICAgIDIyNSwgMjM5LCA5NCwgMSwgMjU0LCAxMzksIDI1MywgMTYyLCA5NCwgMSwgMjExLCAyNDcsIDI1NCwgMTcwLCA5NCwgMSwgCisgICAgMjExLCAyNDcsIDI0OCwgMTg5LCA5NCwgMSwgMjExLCAyNDcsIDI0MSwgMjM4LCA5NCwgMSwgMjExLCAyNDcsIDIzNCwgMjUwLCAKKyAgICA5NCwgMSwgMjExLCAyNDcsIDIzMywgOTQsIDk0LCAxLCAyMTEsIDI0NywgNDAsIDIzMSwgNjUsIDk0LCAxLCAyMTEsIDI0NywgCisgICAgMjIzLCA2NywgOTQsIDEsIDIxMSwgMjQ3LCAyMTcsIDM4LCA5NCwgMSwgMjU0LCAxMzksIDk2LCA1MCwgOTQsIDEsIDIyMCwgCisgICAgMjEsIDIsIDIyMCwgMjEsIDI0NywgMTIwLCA5NCwgMSwgMjIwLCAyMSwgMiwgMjE5LCAxNTksIDI0NywgMTIwLCA5NCwgMSwgCisgICAgMjIwLCAyMSwgMiwgMjQ4LCAyMDgsIDIyLCAyMjAsIDIxLCAyNDcsIDEyMCwgOTQsIDEsIDIyMCwgMjEsIDIsIDI0OCwgMjA4LCAKKyAgICAyMiwgMjE5LCAxNTksIDI0NywgMTIwLCA5NCwgMSwgMTEyLCAyLCAyMjUsIDIzOSwgOTQsIDEsIDExMiwgMiwgMjI0LCA3NiwgCisgICAgOTQsIDEsIDExMiwgMiwgMjMxLCAxNzEsIDk0LCAxLCAyNTIsIDI5LCAyLCAyNDgsIDIwNywgOTQsIDEsIDI0MiwgMjAyLCAyLCAKKyAgICAyNDgsIDIwNywgOTQsIDEsIDI0OCwgMTkwLCAyLCAyNDgsIDIwNywgOTQsIDEsIDI0MSwgMjM5LCAyLCAyMzEsIDE3MSwgOTQsIAorICAgIDEsIDIxNCwgNCwgMiwgMjQ4LCAyMDcsIDk0LCAxLCAyMTAsIDk4LCAyLCAyNDgsIDIwNywgOTQsIDEsIDIxNiwgMjMxLCAyLCAKKyAgICAyNDgsIDIwNywgOTQsIDEsIDIxMCwgMjM0LCAyLCAyNDgsIDIwNywgOTQsIDEsIDQwLCAyMzQsIDI1MSwgMiwgMjQ4LCAyMDcsIAorICAgIDk0LCAxLCAyMzQsIDI1MSwgMiwgMjQ4LCAyMDcsIDk0LCAxLCAyMzMsIDk1LCAyLCAyNDgsIDIwNywgOTQsIDEsIDIzMSwgCisgICAgNjYsIDIsIDI0OCwgMjA3LCA5NCwgMSwgMjI3LCAxOTUsIDIsIDI0OCwgMjA3LCA5NCwgMSwgMjIxLCAyNTAsIDIsIDI0OCwgCisgICAgMjA3LCA5NCwgMSwgNDAsIDIyNSwgMjIyLCAyLCAyNDgsIDIwNywgOTQsIDEsIDIyNSwgMjIyLCAyLCAyNDgsIDIwNywgOTQsIAorICAgIDEsIDIxNSwgMTgwLCAyLCAyNDgsIDIwNywgOTQsIDEsIDIyNCwgNDAsIDIsIDI0OCwgMjA3LCA5NCwgMSwgMjIzLCA2OCwgMiwgCisgICAgMjQ4LCAyMDcsIDk0LCAxLCAyMjAsIDIxLCAyLCAyNDgsIDIwNywgOTQsIDEsIDIxNywgMzksIDIsIDI0OCwgMjA3LCA5NCwgCisgICAgMSwgMjE0LCA0LCAyLCAyNDEsIDYxLCA5NCwgMSwgMjUyLCAyOSwgMiwgMjIzLCAxNjksIDk0LCAxLCAyMzQsIDI1MSwgMiwgCisgICAgMjIzLCAxNjksIDk0LCAxLCAyMjUsIDIyMiwgMiwgMjIzLCAxNjksIDk0LCAyNywgMTEyLCAyMzMsIDk0LCAxMCwgMSwgMTEyLCAKKyAgICAyMTIsIDQ3LCA1MywgMTcsIDEwLCAxLCAxMTIsIDIxMiwgNDcsIDQwLCAxNywgMTAsIDEsIDI1MiwgNjUsIDUzLCAxNywgMTAsIAorICAgIDEsIDI1MiwgNjUsIDQwLCAxNywgMTAsIDEsIDI1MiwgNjUsIDY1LCAxNywgMTAsIDEsIDI1MiwgNjUsIDE0NywgMTcsIDEwLCAKKyAgICAxLCAyMjUsIDIwNiwgNTMsIDE3LCAxMCwgMSwgMjI1LCAyMDYsIDQwLCAxNywgMTAsIDEsIDIyNSwgMjA2LCA2NSwgMTcsIAorICAgIDEwLCAxLCAyMjUsIDIwNiwgMTQ3LCAxNywgMTAsIDEsIDI1MiwgNTMsIDUzLCAxNywgMTAsIDEsIDI1MiwgNTMsIDQwLCAxNywgCisgICAgMTAsIDEsIDI1MiwgNTMsIDY1LCAxNywgMTAsIDEsIDI1MiwgNTMsIDE0NywgMTcsIDEwLCAxLCAyMTUsIDE0NywgNTMsIDE3LCAKKyAgICAxMCwgMSwgMjE1LCAxNDcsIDQwLCAxNywgMTAsIDEsIDIxNSwgMTQ3LCA2NSwgMTcsIDEwLCAxLCAyMTUsIDE0NywgMTQ3LCAKKyAgICAxNywgMTAsIDEsIDIxNywgNiwgNTMsIDE3LCAxMCwgMSwgMjE3LCA2LCA0MCwgMTcsIDEwLCAxLCAyMTcsIDYsIDY1LCAxNywgCisgICAgMTAsIDEsIDIxNywgNiwgMTQ3LCAxNywgMTAsIDEsIDIxNSwgMTQ5LCA1MywgMTcsIDEwLCAxLCAyMTUsIDE0OSwgNDAsIDE3LCAKKyAgICAxMCwgMSwgMjE1LCAxNDksIDY1LCAxNywgMTAsIDEsIDIxNSwgMTQ5LCAxNDcsIDE3LCAxMCwgMSwgMjEzLCAyNDksIDUzLCAKKyAgICAxNywgMTAsIDEsIDIxMywgMjQ5LCA0MCwgMTcsIDEwLCAxLCAyMTMsIDI0OSwgNjUsIDE3LCAxMCwgMSwgMjEzLCAyNDksIAorICAgIDE0NywgMTcsIDEwLCAxLCAyMjUsIDIwNCwgNTMsIDE3LCAxMCwgMSwgMjI1LCAyMDQsIDQwLCAxNywgMTAsIDEsIDIyNSwgCisgICAgMjA0LCA2NSwgMTcsIDEwLCAxLCAyMjUsIDIwNCwgMTQ3LCAxNywgMTAsIDEsIDI0NiwgNDQsIDUzLCAxNywgMTAsIDEsIAorICAgIDI0NiwgNDQsIDQwLCAxNywgMTAsIDEsIDI0NiwgNDQsIDY1LCAxNywgMTAsIDEsIDI0NiwgNDQsIDE0NywgMTcsIDEwLCAxLCAKKyAgICAyMjcsIDE1NCwgNTMsIDE3LCAxMCwgMSwgMjI3LCAxNTQsIDQwLCAxNywgMTAsIDEsIDIyNywgMTU0LCA2NSwgMTcsIDEwLCAKKyAgICAxLCAyMjcsIDE1NCwgMTQ3LCAxNywgMTAsIDEsIDIxNywgMjcsIDUzLCAxNywgMTAsIDEsIDIxNywgMjcsIDQwLCAxNywgMTAsIAorICAgIDEsIDIxNywgMjcsIDY1LCAxNywgMTAsIDEsIDIxNywgMjcsIDE0NywgMTcsIDEwLCAxLCAyMTcsIDI1LCA1MywgMTcsIDEwLCAKKyAgICAxLCAyMTcsIDI1LCA0MCwgMTcsIDEwLCAxLCAyMTcsIDI1LCA2NSwgMTcsIDEwLCAxLCAyMTcsIDI1LCAxNDcsIDE3LCAxMCwgCisgICAgMSwgMjQ4LCAxMzMsIDUzLCAxNywgMTAsIDEsIDI0OCwgMTMzLCA0MCwgMTcsIDEwLCAxLCAyNDgsIDIwMiwgNTMsIDE3LCAKKyAgICAxMCwgMSwgMjQ4LCAyMDIsIDQwLCAxNywgMTAsIDEsIDI0NiwgNzEsIDUzLCAxNywgMTAsIDEsIDI0NiwgNzEsIDQwLCAxNywgCisgICAgMTAsIDEsIDI0OCwgMTMxLCA1MywgMTcsIDEwLCAxLCAyNDgsIDEzMSwgNDAsIDE3LCAxMCwgMSwgMjM1LCAxMjEsIDUzLCAKKyAgICAxNywgMTAsIDEsIDIzNSwgMTIxLCA0MCwgMTcsIDEwLCAxLCAyMjIsIDE3MiwgNTMsIDE3LCAxMCwgMSwgMjIyLCAxNzIsIAorICAgIDQwLCAxNywgMTAsIDEsIDIzNCwgMTc1LCA1MywgMTcsIDEwLCAxLCAyMzQsIDE3NSwgNDAsIDE3LCAxMCwgMSwgMjM0LCAKKyAgICAxNzUsIDY1LCAxNywgMTAsIDEsIDIzNCwgMTc1LCAxNDcsIDE3LCAxMCwgMSwgMjQzLCAxMjMsIDUzLCAxNywgMTAsIDEsIAorICAgIDI0MywgMTIzLCA0MCwgMTcsIDEwLCAxLCAyNDMsIDEyMywgNjUsIDE3LCAxMCwgMSwgMjQzLCAxMjMsIDE0NywgMTcsIDEwLCAKKyAgICAxLCAyNDIsIDEwMiwgNTMsIDE3LCAxMCwgMSwgMjQyLCAxMDIsIDQwLCAxNywgMTAsIDEsIDI0MiwgMTAyLCA2NSwgMTcsIAorICAgIDEwLCAxLCAyNDIsIDEwMiwgMTQ3LCAxNywgMTAsIDEsIDIyOSwgMywgNTMsIDE3LCAxMCwgMSwgMjI5LCAzLCA0MCwgMTcsIAorICAgIDEwLCAxLCAyMjksIDMsIDY1LCAxNywgMTAsIDEsIDIyOSwgMywgMTQ3LCAxNywgMTAsIDEsIDIyOCwgNjMsIDI0MiwgMjE5LCAKKyAgICA1MywgMTcsIDEwLCAxLCAyMjgsIDYzLCAyNDIsIDIxOSwgNDAsIDE3LCAxMCwgMSwgMjIyLCAyMTUsIDUzLCAxNywgMTAsIDEsIAorICAgIDIyMiwgMjE1LCA0MCwgMTcsIDEwLCAxLCAyMjIsIDIxNSwgNjUsIDE3LCAxMCwgMSwgMjIyLCAyMTUsIDE0NywgMTcsIDEwLCAKKyAgICAxLCAyNDEsIDIxOSwgMiwgNzksIDc3LCA1MywgMTcsIDEwLCAxLCAyNDEsIDIxOSwgMiwgNzksIDc3LCA0MCwgMTcsIDEwLCAKKyAgICAxLCAyNDEsIDIxOSwgMjQyLCAxNzIsIDUzLCAxNywgMTAsIDEsIDI0MSwgMjE5LCAyNDIsIDE3MiwgNDAsIDE3LCAxMCwgMSwgCisgICAgMjQxLCAyMTksIDI0MiwgMTcyLCA2NSwgMTcsIDEwLCAxLCAyNDEsIDIxOSwgMjQyLCAxNzIsIDE0NywgMTcsIDEwLCAxLCAKKyAgICAyNDEsIDIxOSwgMjQ3LCAxNDIsIDUzLCAxNywgMTAsIDEsIDI0MSwgMjE5LCAyNDcsIDE0MiwgNDAsIDE3LCAxMCwgMSwgCisgICAgMjQxLCAyMTksIDI0NywgMTQyLCA2NSwgMTcsIDEwLCAxLCAyNDEsIDIxOSwgMjQ3LCAxNDIsIDE0NywgMTcsIDEwLCAxLCAKKyAgICA3OSwgMjUyLCAxMzMsIDUzLCAxNywgMTAsIDEsIDc5LCAyNTIsIDEzMywgNDAsIDE3LCAxMCwgMSwgNzksIDI1MiwgMTMzLCAKKyAgICAyLCAyMDIsIDc3LCA1MywgMTcsIDEwLCAxLCA3OSwgMjUyLCAxMzMsIDIsIDIwMiwgNzcsIDQwLCAxNywgMTAsIDE2LCA1OSwgCisgICAgNDgsIDEwLCAxNiwgNTksIDUxLCAxMCwgMTYsIDExMywgMTcwLCA0OCwgMTAsIDE2LCAxMTMsIDE3MCwgNTEsIDEwLCAxNiwgCisgICAgMTM0LCAxNzAsIDQ4LCAxMCwgMTYsIDEzNCwgMTcwLCA1MSwgMTAsIDE2LCAxMzQsIDE3MCwgMjI1LCA3LCAyNDYsIDEwNCwgCisgICAgNDgsIDEwLCAxNiwgMTM0LCAxNzAsIDIyNSwgNywgMjQ2LCAxMDQsIDUxLCAxMCwgMTYsIDI0NCwgMTEsIDE3MCwgNDgsIDEwLCAKKyAgICAxNiwgMjQ0LCAxMSwgMTcwLCA1MSwgMTAsIDE2LCA1MiwgNjcsIDI1MiwgMTQxLCA1MSwgMTAsIDE2LCAxMTMsIDE3MCwgCisgICAgMjEzLCAxODksIDQ4LCAxMCwgMTYsIDExMywgMTcwLCAyMTMsIDE4OSwgNTEsIDEwLCAxNiwgMjIyLCAyMzMsIDEwLCAxNiwgCisgICAgNCwgMjE3LCA4MSwgNDgsIDEwLCAxNiwgNCwgMjE3LCA4MSwgNTEsIDEwLCAxLCAyMjksIDgwLCA1MywgMTcsIDEwLCAxLCAKKyAgICAyMjksIDgwLCA0MCwgMTcsIDEwLCAxLCAyMjksIDgwLCA2NSwgMTcsIDEwLCAxLCAyMjksIDgwLCAxNDcsIDE3LCAxMCwgMSwgCisgICAgMTA0LCA1MywgMTcsIDEwLCAxLCAxMDQsIDQwLCAxNywgMTAsIDEsIDIyNiwgMjM1LCA1MywgMTcsIDEwLCAxLCAyMjYsIAorICAgIDIzNSwgNDAsIDE3LCAxMCwgMSwgMjEwLCAyMTMsIDUzLCAxNywgMTAsIDEsIDIxMCwgMjEzLCA0MCwgMTcsIDEwLCAxLCAKKyAgICAxMDQsIDIsIDIwMiwgNzcsIDUzLCAxNywgMTAsIDEsIDIxNCwgMCwgNTMsIDE3LCAxMCwgMSwgMjE0LCAwLCA0MCwgMTcsIAorICAgIDEwLCAxLCAyMzQsIDczLCAyMjYsIDIzNSwgNTMsIDE3LCAxMCwgMSwgMjM0LCA3MywgMjI2LCAyMzUsIDQwLCAxNywgMTAsIAorICAgIDEsIDIzNCwgNzMsIDIxMCwgMjEzLCA1MywgMTcsIDEwLCAxLCAyMzQsIDczLCAyMTAsIDIxMywgNDAsIDE3LCAxMCwgMSwgCisgICAgMTYwLCA1MywgMTcsIDEwLCAxLCAxNjAsIDQwLCAxNywgMTAsIDEsIDE2MCwgNjUsIDE3LCAxMCwgMSwgMTYwLCAxNDcsIDE3LCAKKyAgICAxMCwgMSwgMjE0LCAyMDcsIDIzNCwgMTg2LCAyMzQsIDczLCAxMTIsIDIzMSwgMTkzLCA2NSwgMTcsIDEwLCAxLCAyMTQsIAorICAgIDIwNywgMjM0LCAxODYsIDIzNCwgNzMsIDExMiwgMjMxLCAxOTMsIDE0NywgMTcsIDEwLCAyNywgNzksIDIsIDIwMiwgNzcsIAorICAgIDIsIDExMiwgNTMsIDE3LCAxMCwgMjcsIDc5LCAyLCAyMDIsIDc3LCAyLCAxMTIsIDQwLCAxNywgMTAsIDI3LCA3OSwgMiwgCisgICAgMjAyLCA3NywgMiwgMjU0LCAyNDQsIDUzLCAxNywgMTAsIDI3LCA3OSwgMiwgMjAyLCA3NywgMiwgMjU0LCAyNDQsIDQwLCAKKyAgICAxNywgMTAsIDI3LCA3OSwgMiwgMjAyLCA3NywgMiwgMjEyLCAzMSwgNTMsIDE3LCAxMCwgMjcsIDc5LCAyLCAyMDIsIDc3LCAKKyAgICAyLCAyMTIsIDMxLCA0MCwgMTcsIDEwLCAyNywgNzksIDIsIDIwMiwgNzcsIDIsIDEwNCwgNTMsIDE3LCAxMCwgMjcsIDc5LCAKKyAgICAyLCAyMDIsIDc3LCAyLCAxMDQsIDQwLCAxNywgMTAsIDI3LCA3OSwgMiwgMjAyLCA3NywgMiwgMjI2LCAyMzUsIDUzLCAxNywgCisgICAgMTAsIDI3LCA3OSwgMiwgMjAyLCA3NywgMiwgMjI2LCAyMzUsIDQwLCAxNywgMTAsIDI3LCA3OSwgMiwgMjAyLCA3NywgMiwgCisgICAgMjEwLCAyMTMsIDUzLCAxNywgMTAsIDI3LCA3OSwgMiwgMjAyLCA3NywgMiwgMjEwLCAyMTMsIDQwLCAxNywgMTAsIDI3LCAKKyAgICA3OSwgMiwgMjAyLCA3NywgMiwgMTYwLCA1MywgMTcsIDEwLCAyNywgNzksIDIsIDIwMiwgNzcsIDIsIDE2MCwgNDAsIDE3LCAKKyAgICAxMCwgMjcsIDc5LCAyLCAyMDIsIDc3LCAyLCAxNjAsIDY1LCAxNywgMTAsIDI3LCAyMTQsIDIwNywgMjM0LCA3MywgNzksIDIsIAorICAgIDIwMiwgNzcsIDIsIDExMiwgMjMxLCAxOTMsIDUzLCAxNywgMTAsIDI3LCAyMTQsIDIwNywgMjM0LCA3MywgNzksIDIsIDIwMiwgCisgICAgNzcsIDIsIDExMiwgMjMxLCAxOTMsIDQwLCAxNywgMTAsIDI3LCAyMTQsIDIwNywgMjM0LCA3MywgNzksIDIsIDIwMiwgNzcsIAorICAgIDIsIDExMiwgMjMxLCAxOTMsIDY1LCAxNywgMTAsIDEsIDI0NCwgMTY4LCA3OSwgNTMsIDE3LCAxMCwgMSwgMjQ0LCAxNjgsIAorICAgIDc5LCA0MCwgMTcsIDEwLCAxLCAyNDQsIDE2OCwgNzksIDY1LCAxNywgMTAsIDEsIDI0NCwgMTY4LCA3OSwgMTQ3LCAxNywgCisgICAgMTAsIDI3LCA3OSwgMiwgMjAyLCA3NywgMiwgMTUxLCA1MywgMTcsIDEwLCAyNywgNzksIDIsIDIwMiwgNzcsIDIsIDEyMiwgCisgICAgNTMsIDE3LCAxMCwgMjcsIDc5LCAyLCAyMDIsIDc3LCAyLCA2NiwgNTMsIDE3LCAxMCwgMjcsIDc5LCAyLCAyMDIsIDc3LCAyLCAKKyAgICAxMTIsIDIzMSwgMTkzLCA1MywgMTcsIDEwLCAyNywgNzksIDIsIDIwMiwgNzcsIDIsIDc5LCA1MywgMTcsIDEwLCAyNywgCisgICAgMjUyLCA1NSwgMiwgMTUxLCA1MywgMTcsIDEwLCAyNywgMjUyLCA1NSwgMiwgMTIyLCA1MywgMTcsIDEwLCAyNywgMjUyLCAKKyAgICA1NSwgMiwgMjM0LCAxMzAsIDUzLCAxNywgMTAsIDI3LCAyNTIsIDU1LCAyLCA2NiwgNTMsIDE3LCAxMCwgMjcsIDI1MiwgNTUsIAorICAgIDIsIDExMiwgMjMxLCAxOTMsIDUzLCAxNywgMTAsIDI3LCAyNTIsIDU1LCAyLCA3OSwgNTMsIDE3LCAxMCwgMjcsIDIxNywgOCwgCisgICAgMiwgMTUxLCA1MywgMTcsIDEwLCAyNywgMjE3LCA4LCAyLCAxMjIsIDUzLCAxNywgMTAsIDI3LCAyMTcsIDgsIDIsIDIzNCwgCisgICAgMTMwLCA1MywgMTcsIDEwLCAyNywgMjE3LCA4LCAyLCA2NiwgNTMsIDE3LCAxMCwgMjcsIDIxNywgOCwgMiwgMTEyLCAyMzEsIAorICAgIDE5MywgNTMsIDE3LCAxMCwgMjcsIDIxNywgOCwgMiwgNzksIDUzLCAxNywgMTAsIDI3LCAyMTYsIDE5MywgMiwgMTUxLCA1MywgCisgICAgMTcsIDEwLCAyNywgMjE2LCAxOTMsIDIsIDY2LCA1MywgMTcsIDEwLCAyNywgMjE2LCAxOTMsIDIsIDExMiwgMjMxLCAxOTMsIAorICAgIDUzLCAxNywgMTAsIDI3LCAyMTYsIDE5MywgMiwgNzksIDUzLCAxNywgMTAsIDI3LCAxNTEsIDIsIDEyMiwgNTMsIDE3LCAxMCwgCisgICAgMjcsIDE1MSwgMiwgNjYsIDUzLCAxNywgMTAsIDI3LCAxMjIsIDIsIDE1MSwgNTMsIDE3LCAxMCwgMjcsIDEyMiwgMiwgNjYsIAorICAgIDUzLCAxNywgMTAsIDI3LCAyMzQsIDEzMCwgMiwgMTUxLCA1MywgMTcsIDEwLCAyNywgMjM0LCAxMzAsIDIsIDEyMiwgNTMsIAorICAgIDE3LCAxMCwgMjcsIDIzNCwgMTMwLCAyLCA2NiwgNTMsIDE3LCAxMCwgMjcsIDIyMSwgMTY3LCAyLCAxNTEsIDUzLCAxNywgCisgICAgMTAsIDI3LCAyMjEsIDE2NywgMiwgMTIyLCA1MywgMTcsIDEwLCAyNywgMjIxLCAxNjcsIDIsIDIzNCwgMTMwLCA1MywgMTcsIAorICAgIDEwLCAyNywgMjIxLCAxNjcsIDIsIDY2LCA1MywgMTcsIDEwLCAyNywgMjIyLCAyNywgMiwgMTIyLCA1MywgMTcsIDEwLCAyNywgCisgICAgMjIyLCAyNywgMiwgNjYsIDUzLCAxNywgMTAsIDI3LCAyNDgsIDIxNywgMiwgMTUxLCA1MywgMTcsIDEwLCAyNywgMjQ4LCAKKyAgICAyMTcsIDIsIDEyMiwgNTMsIDE3LCAxMCwgMjcsIDI0OCwgMjE3LCAyLCAyMzQsIDEzMCwgNTMsIDE3LCAxMCwgMjcsIDI0OCwgCisgICAgMjE3LCAyLCA2NiwgNTMsIDE3LCAxMCwgMjcsIDIxNywgODEsIDIsIDEyMiwgNTMsIDE3LCAxMCwgMjcsIDIxNywgODEsIDIsIAorICAgIDY2LCA1MywgMTcsIDEwLCAyNywgMjEwLCAxMTIsIDIsIDY2LCA1MywgMTcsIDEwLCAyNywgMjU0LCAxOTcsIDIsIDE1MSwgCisgICAgNTMsIDE3LCAxMCwgMjcsIDI1NCwgMTk3LCAyLCA2NiwgNTMsIDE3LCAxMCwgMjcsIDI0MiwgMjQ1LCAyLCAxNTEsIDUzLCAKKyAgICAxNywgMTAsIDI3LCAyNDIsIDI0NSwgMiwgNjYsIDUzLCAxNywgMTAsIDI3LCAyNDQsIDE0MywgMiwgMTUxLCA1MywgMTcsIAorICAgIDEwLCAyNywgMjQ0LCAxNDMsIDIsIDEyMiwgNTMsIDE3LCAxMCwgMjcsIDI0NCwgMTQzLCAyLCAyMzQsIDEzMCwgNTMsIDE3LCAKKyAgICAxMCwgMjcsIDI0NCwgMTQzLCAyLCA2NiwgNTMsIDE3LCAxMCwgMjcsIDI0NCwgMTQzLCAyLCAxMTIsIDIzMSwgMTkzLCA1MywgCisgICAgMTcsIDEwLCAyNywgMjQ0LCAxNDMsIDIsIDc5LCA1MywgMTcsIDEwLCAyNywgMjI0LCA4MiwgMiwgMTIyLCA1MywgMTcsIDEwLCAKKyAgICAyNywgMjI0LCA4MiwgMiwgNjYsIDUzLCAxNywgMTAsIDI3LCAyMjQsIDgyLCAyLCAxMTIsIDIzMSwgMTkzLCA1MywgMTcsIAorICAgIDEwLCAyNywgMjI0LCA4MiwgMiwgNzksIDUzLCAxNywgMTAsIDI3LCAyMzQsIDI1MSwgMiwgMTEyLCA1MywgMTcsIDEwLCAyNywgCisgICAgMjM0LCAyNTEsIDIsIDE1MSwgNTMsIDE3LCAxMCwgMjcsIDIzNCwgMjUxLCAyLCAxMjIsIDUzLCAxNywgMTAsIDI3LCAyMzQsIAorICAgIDI1MSwgMiwgMjM0LCAxMzAsIDUzLCAxNywgMTAsIDI3LCAyMzQsIDI1MSwgMiwgMjMzLCAxMDMsIDUzLCAxNywgMTAsIDI3LCAKKyAgICAyMzQsIDI1MSwgMiwgNjYsIDUzLCAxNywgMTAsIDI3LCAyMzQsIDI1MSwgMiwgMTEyLCAyMzEsIDE5MywgNTMsIDE3LCAxMCwgCisgICAgMjcsIDIzNCwgMjUxLCAyLCA3OSwgNTMsIDE3LCAxMCwgMjcsIDIzMywgMTAzLCAyLCAxNTEsIDUzLCAxNywgMTAsIDI3LCAKKyAgICAyMzMsIDEwMywgMiwgMTIyLCA1MywgMTcsIDEwLCAyNywgMjMzLCAxMDMsIDIsIDIzNCwgMTMwLCA1MywgMTcsIDEwLCAyNywgCisgICAgMjMzLCAxMDMsIDIsIDY2LCA1MywgMTcsIDEwLCAyNywgMjMzLCAxMDMsIDIsIDExMiwgMjMxLCAxOTMsIDUzLCAxNywgMTAsIAorICAgIDI3LCAyMzMsIDEwMywgMiwgNzksIDUzLCAxNywgMTAsIDI3LCA2NiwgMiwgMTUxLCA1MywgMTcsIDEwLCAyNywgNjYsIDIsIAorICAgIDEyMiwgNTMsIDE3LCAxMCwgMjcsIDY2LCAyLCAyMzQsIDEzMCwgNTMsIDE3LCAxMCwgMjcsIDY2LCAyLCA2NiwgNTMsIDE3LCAKKyAgICAxMCwgMjcsIDY2LCAyLCAxMTIsIDIzMSwgMTkzLCA1MywgMTcsIDEwLCAyNywgNjYsIDIsIDc5LCA1MywgMTcsIDEwLCAyNywgCisgICAgMjI4LCA2MywgMiwgMTUxLCA1MywgMTcsIDEwLCAyNywgMjI4LCA2MywgMiwgMTIyLCA1MywgMTcsIDEwLCAyNywgMjI4LCAKKyAgICA2MywgMiwgMjM0LCAxMzAsIDUzLCAxNywgMTAsIDI3LCAyMjgsIDYzLCAyLCA2NiwgNTMsIDE3LCAxMCwgMjcsIDIyOCwgNjMsIAorICAgIDIsIDExMiwgMjMxLCAxOTMsIDUzLCAxNywgMTAsIDI3LCAyMjgsIDYzLCAyLCA3OSwgNTMsIDE3LCAxMCwgMjcsIDI0MSwgCisgICAgMjE5LCAyLCAxNTEsIDUzLCAxNywgMTAsIDI3LCAyNDEsIDIxOSwgMiwgNjYsIDUzLCAxNywgMTAsIDI3LCAyNDEsIDIxOSwgCisgICAgMiwgMTEyLCAyMzEsIDE5MywgNTMsIDE3LCAxMCwgMjcsIDI0MSwgMjE5LCAyLCA3OSwgNTMsIDE3LCAxMCwgMjcsIDc5LCAyLCAKKyAgICAxNTEsIDUzLCAxNywgMTAsIDI3LCA3OSwgMiwgMTIyLCA1MywgMTcsIDEwLCAyNywgNzksIDIsIDIzNCwgMTMwLCA1MywgMTcsIAorICAgIDEwLCAyNywgNzksIDIsIDY2LCA1MywgMTcsIDEwLCAyNywgNzksIDIsIDExMiwgMjMxLCAxOTMsIDUzLCAxNywgMTAsIDI3LCAKKyAgICA3OSwgMiwgNzksIDUzLCAxNywgMTAsIDI3LCAyMTYsIDIwMywgMiwgMjE4LCAyMywgMTEyLCA1MywgMTcsIDEwLCAyNywgCisgICAgMjIzLCA5NiwgMiwgMjE4LCAyMywgMTEyLCA1MywgMTcsIDEwLCAyNywgMTEyLCAyMzEsIDE5MywgMiwgMjE4LCAyMywgMTEyLCAKKyAgICA1MywgMTcsIDEwLCAyNywgMjIwLCA5NCwgMiwgMjQ4LCAxODMsIDUzLCAxNywgMTAsIDI3LCAyMjAsIDk0LCAyLCAyMzQsIAorICAgIDIwNCwgNTMsIDE3LCAxMCwgMjcsIDIyMCwgOTQsIDIsIDI0NCwgMTY2LCA1MywgMTcsIDEwLCAyNywgMjIwLCA5NCwgMiwgCisgICAgMjQ4LCAxODUsIDUzLCAxNywgMTAsIDI3LCAyMjAsIDk0LCAyLCAyMzQsIDIwNiwgNTMsIDE3LCAxMCwgMjcsIDIyMCwgOTQsIAorICAgIDIsIDIxOCwgMjMsIDExMiwgNTMsIDE3LCAxMCwgMjcsIDc5LCAyLCAyMDIsIDc3LCAyLCAyMjMsIDk2LCA0MCwgMTcsIDEwLCAKKyAgICAyNywgNzksIDIsIDIwMiwgNzcsIDIsIDIxMCwgMTA5LCA0MCwgMTcsIDEwLCAyNywgNzksIDIsIDIwMiwgNzcsIDIsIDY2LCAKKyAgICA0MCwgMTcsIDEwLCAyNywgNzksIDIsIDIwMiwgNzcsIDIsIDIyOCwgNjMsIDQwLCAxNywgMTAsIDI3LCA3OSwgMiwgMjAyLCAKKyAgICA3NywgMiwgMTEyLCAyMzEsIDE5MywgNDAsIDE3LCAxMCwgMjcsIDc5LCAyLCAyMDIsIDc3LCAyLCA3OSwgNDAsIDE3LCAxMCwgCisgICAgMjcsIDI1MiwgNTUsIDIsIDIyMywgOTYsIDQwLCAxNywgMTAsIDI3LCAyNTIsIDU1LCAyLCAyMTAsIDEwOSwgNDAsIDE3LCAKKyAgICAxMCwgMjcsIDI1MiwgNTUsIDIsIDY2LCA0MCwgMTcsIDEwLCAyNywgMjUyLCA1NSwgMiwgMjI4LCA2MywgNDAsIDE3LCAxMCwgCisgICAgMjcsIDI1MiwgNTUsIDIsIDExMiwgMjMxLCAxOTMsIDQwLCAxNywgMTAsIDI3LCAyNTIsIDU1LCAyLCA3OSwgNDAsIDE3LCAKKyAgICAxMCwgMjcsIDIxNywgOCwgMiwgMjIzLCA5NiwgNDAsIDE3LCAxMCwgMjcsIDIxNywgOCwgMiwgMjEwLCAxMDksIDQwLCAxNywgCisgICAgMTAsIDI3LCAyMTcsIDgsIDIsIDY2LCA0MCwgMTcsIDEwLCAyNywgMjE3LCA4LCAyLCAyMjgsIDYzLCA0MCwgMTcsIDEwLCAKKyAgICAyNywgMjE3LCA4LCAyLCAxMTIsIDIzMSwgMTkzLCA0MCwgMTcsIDEwLCAyNywgMjE3LCA4LCAyLCA3OSwgNDAsIDE3LCAxMCwgCisgICAgMjcsIDIxNiwgMTkzLCAyLCAyMjMsIDk2LCA0MCwgMTcsIDEwLCAyNywgMjE2LCAxOTMsIDIsIDIxMCwgMTA5LCA0MCwgMTcsIAorICAgIDEwLCAyNywgMjE2LCAxOTMsIDIsIDY2LCA0MCwgMTcsIDEwLCAyNywgMjE2LCAxOTMsIDIsIDIyOCwgNjMsIDQwLCAxNywgCisgICAgMTAsIDI3LCAyMTYsIDE5MywgMiwgMTEyLCAyMzEsIDE5MywgNDAsIDE3LCAxMCwgMjcsIDIxNiwgMTkzLCAyLCA3OSwgNDAsIAorICAgIDE3LCAxMCwgMjcsIDI0NCwgMTQzLCAyLCAxMTIsIDIzMSwgMTkzLCA0MCwgMTcsIDEwLCAyNywgMjQ0LCAxNDMsIDIsIDc5LCAKKyAgICA0MCwgMTcsIDEwLCAyNywgMjI0LCA4MiwgMiwgMTEyLCAyMzEsIDE5MywgNDAsIDE3LCAxMCwgMjcsIDIyNCwgODIsIDIsIAorICAgIDc5LCA0MCwgMTcsIDEwLCAyNywgMjM0LCAyNTEsIDIsIDExMiwgNDAsIDE3LCAxMCwgMjcsIDIzNCwgMjUxLCAyLCAyMzMsIAorICAgIDEwMywgNDAsIDE3LCAxMCwgMjcsIDIzNCwgMjUxLCAyLCA2NiwgNDAsIDE3LCAxMCwgMjcsIDIzNCwgMjUxLCAyLCAxMTIsIAorICAgIDIzMSwgMTkzLCA0MCwgMTcsIDEwLCAyNywgMjM0LCAyNTEsIDIsIDc5LCA0MCwgMTcsIDEwLCAyNywgMjMzLCAxMDMsIDIsIAorICAgIDY2LCA0MCwgMTcsIDEwLCAyNywgMjMzLCAxMDMsIDIsIDExMiwgMjMxLCAxOTMsIDQwLCAxNywgMTAsIDI3LCAyMzMsIDEwMywgCisgICAgMiwgNzksIDQwLCAxNywgMTAsIDI3LCA2NiwgMiwgMTEyLCA0MCwgMTcsIDEwLCAyNywgNjYsIDIsIDY2LCA0MCwgMTcsIDEwLCAKKyAgICAyNywgMjI4LCA2MywgMiwgMjIzLCA5NiwgNDAsIDE3LCAxMCwgMjcsIDIyOCwgNjMsIDIsIDIxMCwgMTA5LCA0MCwgMTcsIAorICAgIDEwLCAyNywgMjI4LCA2MywgMiwgNjYsIDQwLCAxNywgMTAsIDI3LCAyMjgsIDYzLCAyLCAyMjgsIDYzLCA0MCwgMTcsIDEwLCAKKyAgICAyNywgMjI4LCA2MywgMiwgMTEyLCAyMzEsIDE5MywgNDAsIDE3LCAxMCwgMjcsIDIyOCwgNjMsIDIsIDc5LCA0MCwgMTcsIAorICAgIDEwLCAyNywgMTEyLCAyMzEsIDE5MywgMiwgMjE4LCAyMywgMTEyLCA0MCwgMTcsIDEwLCAyNywgNzksIDIsIDIyMywgOTYsIAorICAgIDQwLCAxNywgMTAsIDI3LCA3OSwgMiwgMjEwLCAxMDksIDQwLCAxNywgMTAsIDI3LCA3OSwgMiwgNjYsIDQwLCAxNywgMTAsIAorICAgIDI3LCA3OSwgMiwgMjI4LCA2MywgNDAsIDE3LCAxMCwgMjcsIDc5LCAyLCAxMTIsIDIzMSwgMTkzLCA0MCwgMTcsIDEwLCAyNywgCisgICAgNzksIDIsIDc5LCA0MCwgMTcsIDEwLCAyNywgNzksIDIsIDIwMiwgNzcsIDIsIDE1MSwgNjUsIDE3LCAxMCwgMjcsIDc5LCAyLCAKKyAgICAyMDIsIDc3LCAyLCAxMjIsIDY1LCAxNywgMTAsIDI3LCA3OSwgMiwgMjAyLCA3NywgMiwgMjM0LCAxMzAsIDY1LCAxNywgMTAsIAorICAgIDI3LCA3OSwgMiwgMjAyLCA3NywgMiwgNjYsIDY1LCAxNywgMTAsIDI3LCA3OSwgMiwgMjAyLCA3NywgMiwgMjQxLCAyMTksIAorICAgIDY1LCAxNywgMTAsIDI3LCAyNTIsIDU1LCAyLCAxNTEsIDY1LCAxNywgMTAsIDI3LCAyNTIsIDU1LCAyLCAxMjIsIDY1LCAxNywgCisgICAgMTAsIDI3LCAyNTIsIDU1LCAyLCAyMzQsIDEzMCwgNjUsIDE3LCAxMCwgMjcsIDI1MiwgNTUsIDIsIDY2LCA2NSwgMTcsIDEwLCAKKyAgICAyNywgMjUyLCA1NSwgMiwgMjQxLCAyMTksIDY1LCAxNywgMTAsIDI3LCAyMTcsIDgsIDIsIDE1MSwgNjUsIDE3LCAxMCwgMjcsIAorICAgIDIxNywgOCwgMiwgMTIyLCA2NSwgMTcsIDEwLCAyNywgMjE3LCA4LCAyLCAyMzQsIDEzMCwgNjUsIDE3LCAxMCwgMjcsIDIxNywgCisgICAgOCwgMiwgNjYsIDY1LCAxNywgMTAsIDI3LCAyMTcsIDgsIDIsIDI0MSwgMjE5LCA2NSwgMTcsIDEwLCAyNywgMjE2LCAxOTMsIAorICAgIDIsIDY2LCA2NSwgMTcsIDEwLCAyNywgMTUxLCAyLCAxMjIsIDY1LCAxNywgMTAsIDI3LCAxNTEsIDIsIDY2LCA2NSwgMTcsIAorICAgIDEwLCAyNywgMTIyLCAyLCAxNTEsIDY1LCAxNywgMTAsIDI3LCAxMjIsIDIsIDY2LCA2NSwgMTcsIDEwLCAyNywgMjM0LCAKKyAgICAxMzAsIDIsIDE1MSwgNjUsIDE3LCAxMCwgMjcsIDIzNCwgMTMwLCAyLCA2NiwgNjUsIDE3LCAxMCwgMjcsIDIyMSwgMTY3LCAKKyAgICAyLCAxNTEsIDY1LCAxNywgMTAsIDI3LCAyMjEsIDE2NywgMiwgMTIyLCA2NSwgMTcsIDEwLCAyNywgMjIxLCAxNjcsIDIsIAorICAgIDIzNCwgMTMwLCA2NSwgMTcsIDEwLCAyNywgMjIxLCAxNjcsIDIsIDY2LCA2NSwgMTcsIDEwLCAyNywgMjIyLCAyNywgMiwgCisgICAgMTIyLCA2NSwgMTcsIDEwLCAyNywgMjIyLCAyNywgMiwgMjM0LCAxMzAsIDY1LCAxNywgMTAsIDI3LCAyMjIsIDI3LCAyLCAKKyAgICA2NiwgNjUsIDE3LCAxMCwgMjcsIDI0OCwgMjE3LCAyLCAxNTEsIDY1LCAxNywgMTAsIDI3LCAyNDgsIDIxNywgMiwgMTIyLCAKKyAgICA2NSwgMTcsIDEwLCAyNywgMjQ4LCAyMTcsIDIsIDIzNCwgMTMwLCA2NSwgMTcsIDEwLCAyNywgMjQ4LCAyMTcsIDIsIDY2LCAKKyAgICA2NSwgMTcsIDEwLCAyNywgMjE3LCA4MSwgMiwgMTIyLCA2NSwgMTcsIDEwLCAyNywgMjEwLCAxMTIsIDIsIDY2LCA2NSwgMTcsIAorICAgIDEwLCAyNywgMjU0LCAxOTcsIDIsIDE1MSwgNjUsIDE3LCAxMCwgMjcsIDI1NCwgMTk3LCAyLCA2NiwgNjUsIDE3LCAxMCwgCisgICAgMjcsIDI0MiwgMjQ1LCAyLCAxNTEsIDY1LCAxNywgMTAsIDI3LCAyNDIsIDI0NSwgMiwgNjYsIDY1LCAxNywgMTAsIDI3LCAKKyAgICAyNDQsIDE0MywgMiwgMTUxLCA2NSwgMTcsIDEwLCAyNywgMjQ0LCAxNDMsIDIsIDEyMiwgNjUsIDE3LCAxMCwgMjcsIDI0NCwgCisgICAgMTQzLCAyLCAyMzQsIDEzMCwgNjUsIDE3LCAxMCwgMjcsIDI0NCwgMTQzLCAyLCA2NiwgNjUsIDE3LCAxMCwgMjcsIDIyNCwgCisgICAgODIsIDIsIDEyMiwgNjUsIDE3LCAxMCwgMjcsIDIyNCwgODIsIDIsIDY2LCA2NSwgMTcsIDEwLCAyNywgMjM0LCAyNTEsIDIsIAorICAgIDE1MSwgNjUsIDE3LCAxMCwgMjcsIDIzNCwgMjUxLCAyLCAxMjIsIDY1LCAxNywgMTAsIDI3LCAyMzQsIDI1MSwgMiwgMjM0LCAKKyAgICAxMzAsIDY1LCAxNywgMTAsIDI3LCAyMzQsIDI1MSwgMiwgMjMzLCAxMDMsIDY1LCAxNywgMTAsIDI3LCAyMzQsIDI1MSwgMiwgCisgICAgNjYsIDY1LCAxNywgMTAsIDI3LCAyMzMsIDEwMywgMiwgMTUxLCA2NSwgMTcsIDEwLCAyNywgMjMzLCAxMDMsIDIsIDEyMiwgCisgICAgNjUsIDE3LCAxMCwgMjcsIDIzMywgMTAzLCAyLCAyMzQsIDEzMCwgNjUsIDE3LCAxMCwgMjcsIDIzMywgMTAzLCAyLCA2NiwgCisgICAgNjUsIDE3LCAxMCwgMjcsIDIzMywgMTAzLCAyLCAyNDEsIDIxOSwgNjUsIDE3LCAxMCwgMjcsIDY2LCAyLCAxNTEsIDY1LCAKKyAgICAxNywgMTAsIDI3LCA2NiwgMiwgMTIyLCA2NSwgMTcsIDEwLCAyNywgNjYsIDIsIDIzNCwgMTMwLCA2NSwgMTcsIDEwLCAyNywgCisgICAgNjYsIDIsIDY2LCA2NSwgMTcsIDEwLCAyNywgMjI4LCA2MywgMiwgMTUxLCA2NSwgMTcsIDEwLCAyNywgMjI4LCA2MywgMiwgCisgICAgMTIyLCA2NSwgMTcsIDEwLCAyNywgMjI4LCA2MywgMiwgMjM0LCAxMzAsIDY1LCAxNywgMTAsIDI3LCAyMjgsIDYzLCAyLCAKKyAgICA2NiwgNjUsIDE3LCAxMCwgMjcsIDIyOCwgNjMsIDIsIDI0MSwgMjE5LCA2NSwgMTcsIDEwLCAyNywgMjQxLCAyMTksIDIsIAorICAgIDE1MSwgNjUsIDE3LCAxMCwgMjcsIDI0MSwgMjE5LCAyLCA2NiwgNjUsIDE3LCAxMCwgMjcsIDI0MSwgMjE5LCAyLCAyMTgsIAorICAgIDIzLCAxMTIsIDY1LCAxNywgMTAsIDI3LCA3OSwgMiwgMTUxLCA2NSwgMTcsIDEwLCAyNywgNzksIDIsIDEyMiwgNjUsIDE3LCAKKyAgICAxMCwgMjcsIDc5LCAyLCAyMzQsIDEzMCwgNjUsIDE3LCAxMCwgMjcsIDc5LCAyLCA2NiwgNjUsIDE3LCAxMCwgMjcsIDc5LCAKKyAgICAyLCAyNDEsIDIxOSwgNjUsIDE3LCAxMCwgMjcsIDc5LCAyLCAyMDIsIDc3LCAyLCA2NiwgMTQ3LCAxNywgMTAsIDI3LCA3OSwgCisgICAgMiwgMjAyLCA3NywgMiwgMjQxLCAyMTksIDE0NywgMTcsIDEwLCAyNywgMjUyLCA1NSwgMiwgNjYsIDE0NywgMTcsIDEwLCAKKyAgICAyNywgMjUyLCA1NSwgMiwgMjQxLCAyMTksIDE0NywgMTcsIDEwLCAyNywgMjE3LCA4LCAyLCA2NiwgMTQ3LCAxNywgMTAsIAorICAgIDI3LCAyMTcsIDgsIDIsIDI0MSwgMjE5LCAxNDcsIDE3LCAxMCwgMjcsIDIxNiwgMTkzLCAyLCA2NiwgMTQ3LCAxNywgMTAsIAorICAgIDI3LCAyMTYsIDE5MywgMiwgMjQxLCAyMTksIDE0NywgMTcsIDEwLCAyNywgMjIxLCAxNjcsIDIsIDY2LCAxNDcsIDE3LCAxMCwgCisgICAgMjcsIDIyMSwgMTY3LCAyLCAyNDEsIDIxOSwgMTQ3LCAxNywgMTAsIDI3LCAyMjAsIDYwLCAyLCA2NiwgMTQ3LCAxNywgMTAsIAorICAgIDI3LCAyMjAsIDYwLCAyLCAyNDEsIDIxOSwgMTQ3LCAxNywgMTAsIDI3LCAyMzQsIDI1MSwgMiwgMjMzLCAxMDMsIDE0NywgCisgICAgMTcsIDEwLCAyNywgMjM0LCAyNTEsIDIsIDY2LCAxNDcsIDE3LCAxMCwgMjcsIDIzMywgMTAzLCAyLCA2NiwgMTQ3LCAxNywgCisgICAgMTAsIDI3LCAyMjgsIDYzLCAyLCA2NiwgMTQ3LCAxNywgMTAsIDI3LCAyMjgsIDYzLCAyLCAyNDEsIDIxOSwgMTQ3LCAxNywgCisgICAgMTAsIDI3LCA3OSwgMiwgNjYsIDE0NywgMTcsIDEwLCAyNywgNzksIDIsIDI0MSwgMjE5LCAxNDcsIDE3LCAxMCwgMjcsIAorICAgIDIyMCwgOTQsIDIsIDI0NCwgMTY2LCAxNDcsIDE3LCAxMCwgMjcsIDIyMCwgOTQsIDIsIDI0OCwgMTg1LCAxNDcsIDE3LCAxMCwgCisgICAgMjcsIDIyMCwgOTQsIDIsIDIzNCwgMjA2LCAxNDcsIDE3LCAxMCwgMjcsIDIxNywgODEsIDIsIDExMiwgMjMxLCAxOTMsIDUzLCAKKyAgICAxNywgMTAsIDI3LCAyMTcsIDgxLCAyLCA3OSwgNTMsIDE3LCAxMCwgMjcsIDI1NCwgMTk3LCAyLCAxMTIsIDIzMSwgMTkzLCAKKyAgICA1MywgMTcsIDEwLCAyNywgMjU0LCAxOTcsIDIsIDc5LCA1MywgMTcsIDEwLCAyNywgMjQyLCAyNDUsIDIsIDExMiwgMjMxLCAKKyAgICAxOTMsIDUzLCAxNywgMTAsIDI3LCAyNDIsIDI0NSwgMiwgNzksIDUzLCAxNywgMTAsIDI3LCAyMjEsIDE2NywgMiwgMTEyLCAKKyAgICAyMzEsIDE5MywgNTMsIDE3LCAxMCwgMjcsIDIyMSwgMTY3LCAyLCA3OSwgNTMsIDE3LCAxMCwgMjcsIDIyMCwgNjAsIDIsIAorICAgIDExMiwgMjMxLCAxOTMsIDUzLCAxNywgMTAsIDI3LCAyMjAsIDYwLCAyLCA3OSwgNTMsIDE3LCAxMCwgMjcsIDEyMiwgMiwgCisgICAgMTEyLCAyMzEsIDE5MywgNTMsIDE3LCAxMCwgMjcsIDEyMiwgMiwgNzksIDUzLCAxNywgMTAsIDI3LCAxNTEsIDIsIDExMiwgCisgICAgMjMxLCAxOTMsIDUzLCAxNywgMTAsIDI3LCAxNTEsIDIsIDc5LCA1MywgMTcsIDEwLCAyNywgMjM0LCAxMzAsIDIsIDExMiwgCisgICAgMjMxLCAxOTMsIDUzLCAxNywgMTAsIDI3LCAyMzQsIDEzMCwgMiwgNzksIDUzLCAxNywgMTAsIDI3LCAyMjIsIDI3LCAyLCAKKyAgICAxMTIsIDIzMSwgMTkzLCA1MywgMTcsIDEwLCAyNywgMjIyLCAyNywgMiwgNzksIDUzLCAxNywgMTAsIDI3LCAyNDgsIDIxNywgCisgICAgMiwgMTEyLCAyMzEsIDE5MywgNTMsIDE3LCAxMCwgMjcsIDI0OCwgMjE3LCAyLCA3OSwgNTMsIDE3LCAxMCwgMjcsIDIyMCwgCisgICAgNjAsIDIsIDE1MSwgNTMsIDE3LCAxMCwgMjcsIDIyMCwgNjAsIDIsIDEyMiwgNTMsIDE3LCAxMCwgMjcsIDIyMCwgNjAsIDIsIAorICAgIDIzNCwgMTMwLCA1MywgMTcsIDEwLCAyNywgMjIwLCA2MCwgMiwgNjYsIDUzLCAxNywgMTAsIDI3LCAyMjAsIDYwLCAyLCAKKyAgICAyMjMsIDk2LCA1MywgMTcsIDEwLCAyNywgMjIxLCAxNjcsIDIsIDIyMywgOTYsIDUzLCAxNywgMTAsIDI3LCAyMjIsIDI3LCAKKyAgICAyLCAyMjMsIDk2LCA1MywgMTcsIDEwLCAyNywgMjQ4LCAyMTcsIDIsIDIyMywgOTYsIDUzLCAxNywgMTAsIDI3LCAyMTcsIAorICAgIDgxLCAyLCAxMTIsIDIzMSwgMTkzLCA0MCwgMTcsIDEwLCAyNywgMjE3LCA4MSwgMiwgNzksIDQwLCAxNywgMTAsIDI3LCAKKyAgICAyNTQsIDE5NywgMiwgMTEyLCAyMzEsIDE5MywgNDAsIDE3LCAxMCwgMjcsIDI1NCwgMTk3LCAyLCA3OSwgNDAsIDE3LCAxMCwgCisgICAgMjcsIDI0MiwgMjQ1LCAyLCAxMTIsIDIzMSwgMTkzLCA0MCwgMTcsIDEwLCAyNywgMjQyLCAyNDUsIDIsIDc5LCA0MCwgMTcsIAorICAgIDEwLCAyNywgMjIxLCAxNjcsIDIsIDExMiwgMjMxLCAxOTMsIDQwLCAxNywgMTAsIDI3LCAyMjEsIDE2NywgMiwgNzksIDQwLCAKKyAgICAxNywgMTAsIDI3LCAyMjAsIDYwLCAyLCAxMTIsIDIzMSwgMTkzLCA0MCwgMTcsIDEwLCAyNywgMjIwLCA2MCwgMiwgNzksIAorICAgIDQwLCAxNywgMTAsIDI3LCAxMjIsIDIsIDExMiwgMjMxLCAxOTMsIDQwLCAxNywgMTAsIDI3LCAxMjIsIDIsIDc5LCA0MCwgCisgICAgMTcsIDEwLCAyNywgMTUxLCAyLCAxMTIsIDIzMSwgMTkzLCA0MCwgMTcsIDEwLCAyNywgMTUxLCAyLCA3OSwgNDAsIDE3LCAKKyAgICAxMCwgMjcsIDIzNCwgMTMwLCAyLCAxMTIsIDIzMSwgMTkzLCA0MCwgMTcsIDEwLCAyNywgMjM0LCAxMzAsIDIsIDc5LCA0MCwgCisgICAgMTcsIDEwLCAyNywgMjIyLCAyNywgMiwgMTEyLCAyMzEsIDE5MywgNDAsIDE3LCAxMCwgMjcsIDIyMiwgMjcsIDIsIDc5LCAKKyAgICA0MCwgMTcsIDEwLCAyNywgMjQ4LCAyMTcsIDIsIDExMiwgMjMxLCAxOTMsIDQwLCAxNywgMTAsIDI3LCAyNDgsIDIxNywgMiwgCisgICAgNzksIDQwLCAxNywgMTAsIDI3LCAyMjAsIDYwLCAyLCAxNTEsIDQwLCAxNywgMTAsIDI3LCAyMjAsIDYwLCAyLCAxMjIsIDQwLCAKKyAgICAxNywgMTAsIDI3LCAyMjAsIDYwLCAyLCAyMzQsIDEzMCwgNDAsIDE3LCAxMCwgMjcsIDIyMCwgNjAsIDIsIDY2LCA0MCwgMTcsIAorICAgIDEwLCAyNywgMjIwLCA2MCwgMiwgMjIzLCA5NiwgNDAsIDE3LCAxMCwgMjcsIDIyMSwgMTY3LCAyLCAyMjMsIDk2LCA0MCwgCisgICAgMTcsIDEwLCAyNywgMjIyLCAyNywgMiwgMjIzLCA5NiwgNDAsIDE3LCAxMCwgMjcsIDI0OCwgMjE3LCAyLCAyMjMsIDk2LCAKKyAgICA0MCwgMTcsIDEwLCAyNywgMjIwLCA2MCwgMiwgMTUxLCA2NSwgMTcsIDEwLCAyNywgMjIwLCA2MCwgMiwgMTIyLCA2NSwgMTcsIAorICAgIDEwLCAyNywgMjIwLCA2MCwgMiwgMjM0LCAxMzAsIDY1LCAxNywgMTAsIDI3LCAyMjAsIDYwLCAyLCA2NiwgNjUsIDE3LCAxMCwgCisgICAgMjcsIDIyMSwgMTY3LCAyLCAyNDEsIDIxOSwgNjUsIDE3LCAxMCwgMjcsIDIyMCwgNjAsIDIsIDI0MSwgMjE5LCA2NSwgMTcsIAorICAgIDEwLCAyNywgMjE3LCA4MSwgMiwgNjYsIDY1LCAxNywgMTAsIDI3LCAyMjEsIDE2NywgMiwgMTUxLCAxNDcsIDE3LCAxMCwgCisgICAgMjcsIDIyMSwgMTY3LCAyLCAxMjIsIDE0NywgMTcsIDEwLCAyNywgMjIxLCAxNjcsIDIsIDIzNCwgMTMwLCAxNDcsIDE3LCAKKyAgICAxMCwgMjcsIDIyMCwgNjAsIDIsIDE1MSwgMTQ3LCAxNywgMTAsIDI3LCAyMjAsIDYwLCAyLCAxMjIsIDE0NywgMTcsIDEwLCAKKyAgICAyNywgMjIwLCA2MCwgMiwgMjM0LCAxMzAsIDE0NywgMTcsIDEwLCAyNywgMjE3LCA4MSwgMiwgNjYsIDE0NywgMTcsIDEwLCAKKyAgICAyNywgMjEwLCAxMTIsIDIsIDY2LCAxNDcsIDE3LCAxMCwgMjcsIDExMiwgMiwgMjQ0LCAxNjQsIDQwLCAxNywgMTAsIDI3LCAKKyAgICAxMTIsIDIsIDI0NCwgMTY0LCA1MywgMTcsIDIyNiwgMTQ2LCA0MywgMjI2LCAzLCAyMjYsIDE0NiwgNDQsIDIyNiwgMywgMTAsIAorICAgIDI3LCAyMTcsIDgsIDIsIDE1MSwgMiwgNjYsIDY1LCAxNywgMTAsIDI3LCAyMTcsIDgsIDIsIDEyMiwgMiwgMTUxLCA0MCwgCisgICAgMTcsIDEwLCAyNywgMjE3LCA4LCAyLCAxMjIsIDIsIDE1MSwgNjUsIDE3LCAxMCwgMjcsIDIxNywgOCwgMiwgMTIyLCAyLCAKKyAgICA2NiwgNjUsIDE3LCAxMCwgMjcsIDIxNywgOCwgMiwgMjM0LCAxMzAsIDIsIDY2LCA2NSwgMTcsIDEwLCAyNywgMjE3LCA4LCAKKyAgICAyLCA2NiwgMiwgMTUxLCA2NSwgMTcsIDEwLCAyNywgMjE3LCA4LCAyLCA2NiwgMiwgMTIyLCA2NSwgMTcsIDEwLCAyNywgCisgICAgMjE3LCA4LCAyLCA2NiwgMiwgMjM0LCAxMzAsIDY1LCAxNywgMTAsIDI3LCAxNTEsIDIsIDY2LCAyLCAxMjIsIDQwLCAxNywgCisgICAgMTAsIDI3LCAxNTEsIDIsIDY2LCAyLCAxMjIsIDY1LCAxNywgMTAsIDI3LCAxMjIsIDIsIDY2LCAyLCA3OSwgNDAsIDE3LCAKKyAgICAxMCwgMjcsIDEyMiwgMiwgNjYsIDIsIDExMiwgMjMxLCAxOTMsIDQwLCAxNywgMTAsIDI3LCAyMjEsIDE2NywgMiwgMTIyLCAKKyAgICAyLCAxNTEsIDY1LCAxNywgMTAsIDI3LCAyMjEsIDE2NywgMiwgMTUxLCAyLCAxMjIsIDY1LCAxNywgMTAsIDI3LCAyMjEsIAorICAgIDE2NywgMiwgMTUxLCAyLCAxMTIsIDIzMSwgMTkzLCA0MCwgMTcsIDEwLCAyNywgMjIxLCAxNjcsIDIsIDY2LCAyLCAxMjIsIAorICAgIDQwLCAxNywgMTAsIDI3LCAyMjEsIDE2NywgMiwgNjYsIDIsIDEyMiwgNjUsIDE3LCAxMCwgMjcsIDIyMSwgMTY3LCAyLCA2NiwgCisgICAgMiwgMTUxLCA2NSwgMTcsIDEwLCAyNywgMjIxLCAxNjcsIDIsIDY2LCAyLCA2NiwgNDAsIDE3LCAxMCwgMjcsIDIyMSwgMTY3LCAKKyAgICAyLCA2NiwgMiwgNjYsIDY1LCAxNywgMTAsIDI3LCAyMjIsIDI3LCAyLCAxMjIsIDIsIDEyMiwgNDAsIDE3LCAxMCwgMjcsIAorICAgIDIyMiwgMjcsIDIsIDEyMiwgMiwgMTIyLCA2NSwgMTcsIDEwLCAyNywgMjIyLCAyNywgMiwgNjYsIDIsIDY2LCA0MCwgMTcsIAorICAgIDEwLCAyNywgMjIwLCA2MCwgMiwgMTIyLCAyLCA2NiwgNDAsIDE3LCAxMCwgMjcsIDIyMCwgNjAsIDIsIDEyMiwgMiwgNjYsIAorICAgIDY1LCAxNywgMTAsIDI3LCAyMjAsIDYwLCAyLCAxNTEsIDIsIDc5LCA0MCwgMTcsIDEwLCAyNywgMjIwLCA2MCwgMiwgNjYsIAorICAgIDIsIDIzNCwgMTMwLCA0MCwgMTcsIDEwLCAyNywgMjIwLCA2MCwgMiwgNjYsIDIsIDIzNCwgMTMwLCA2NSwgMTcsIDEwLCAyNywgCisgICAgMjIwLCA2MCwgMiwgNjYsIDIsIDY2LCA0MCwgMTcsIDEwLCAyNywgMjIwLCA2MCwgMiwgNjYsIDIsIDY2LCA2NSwgMTcsIDEwLCAKKyAgICAyNywgMjQ4LCAyMTcsIDIsIDEyMiwgMiwgMTEyLCAyMzEsIDE5MywgNDAsIDE3LCAxMCwgMjcsIDI0OCwgMjE3LCAyLCAyMzQsIAorICAgIDEzMCwgMiwgNjYsIDQwLCAxNywgMTAsIDI3LCAyNDgsIDIxNywgMiwgMjM0LCAxMzAsIDIsIDY2LCA2NSwgMTcsIDEwLCAyNywgCisgICAgMjE3LCA4MSwgMiwgNjYsIDIsIDEyMiwgNDAsIDE3LCAxMCwgMjcsIDIxNywgODEsIDIsIDY2LCAyLCAxMjIsIDY1LCAxNywgCisgICAgMTAsIDI3LCAyMTcsIDgxLCAyLCA2NiwgMiwgNjYsIDY1LCAxNywgMTAsIDI3LCAyMTcsIDgxLCAyLCA2NiwgMiwgNzksIDQwLCAKKyAgICAxNywgMTAsIDI3LCAyNTQsIDE5NywgMiwgMTUxLCAyLCA2NiwgNDAsIDE3LCAxMCwgMjcsIDI1NCwgMTk3LCAyLCA2NiwgMiwgCisgICAgNjYsIDQwLCAxNywgMTAsIDI3LCAyNTQsIDE5NywgMiwgNjYsIDIsIDY2LCA2NSwgMTcsIDEwLCAyNywgMjU0LCAxOTcsIDIsIAorICAgIDY2LCAyLCAxMTIsIDIzMSwgMTkzLCA0MCwgMTcsIDEwLCAyNywgMjQyLCAyNDUsIDIsIDY2LCAyLCA2NiwgNDAsIDE3LCAxMCwgCisgICAgMjcsIDI0MiwgMjQ1LCAyLCA2NiwgMiwgNzksIDQwLCAxNywgMTAsIDI3LCAyNDIsIDI0NSwgMiwgNjYsIDIsIDExMiwgMjMxLCAKKyAgICAxOTMsIDQwLCAxNywgMTAsIDI3LCAyNDQsIDE0MywgMiwgMjM0LCAxMzAsIDIsIDY2LCA0MCwgMTcsIDEwLCAyNywgMjQ0LCAKKyAgICAxNDMsIDIsIDIzNCwgMTMwLCAyLCA2NiwgNjUsIDE3LCAxMCwgMjcsIDIyNCwgODIsIDIsIDY2LCAyLCAxMjIsIDQwLCAxNywgCisgICAgMTAsIDI3LCAyMjQsIDgyLCAyLCA2NiwgMiwgNjYsIDQwLCAxNywgMTAsIDI3LCAyMzMsIDEwMywgMiwgMTIyLCAyLCA2NiwgCisgICAgNDAsIDE3LCAxMCwgMjcsIDIzMywgMTAzLCAyLCAxMjIsIDIsIDc5LCA0MCwgMTcsIDEwLCAyNywgMjMzLCAxMDMsIDIsIAorICAgIDEyMiwgMiwgMTEyLCAyMzEsIDE5MywgNDAsIDE3LCAxMCwgMjcsIDIzMywgMTAzLCAyLCAxNTEsIDIsIDE1MSwgNjUsIDE3LCAKKyAgICAxMCwgMjcsIDIzMywgMTAzLCAyLCAxNTEsIDIsIDE1MSwgNDAsIDE3LCAxMCwgMjcsIDIzMywgMTAzLCAyLCAyMzQsIDEzMCwgCisgICAgMiwgNjYsIDQwLCAxNywgMTAsIDI3LCAyMzMsIDEwMywgMiwgMjM0LCAxMzAsIDIsIDY2LCA2NSwgMTcsIDEwLCAyNywgMjMzLCAKKyAgICAxMDMsIDIsIDY2LCAyLCAxMjIsIDQwLCAxNywgMTAsIDI3LCAyMzMsIDEwMywgMiwgNjYsIDIsIDEyMiwgNjUsIDE3LCAxMCwgCisgICAgMjcsIDY2LCAyLCAxMjIsIDIsIDE1MSwgNjUsIDE3LCAxMCwgMjcsIDY2LCAyLCAxMjIsIDIsIDY2LCA2NSwgMTcsIDEwLCAKKyAgICAyNywgNjYsIDIsIDEyMiwgMiwgNzksIDQwLCAxNywgMTAsIDI3LCA2NiwgMiwgMTUxLCAyLCAxMjIsIDY1LCAxNywgMTAsIAorICAgIDI3LCA2NiwgMiwgMTUxLCAyLCA2NiwgNjUsIDE3LCAxMCwgMjcsIDY2LCAyLCAyMzQsIDEzMCwgMiwgMTUxLCA2NSwgMTcsIAorICAgIDEwLCAyNywgNjYsIDIsIDIzNCwgMTMwLCAyLCA2NiwgNjUsIDE3LCAxMCwgMjcsIDY2LCAyLCAxNTEsIDIsIDIzNCwgMTMwLCAKKyAgICA2NSwgMTcsIDEwLCAyNywgMjQxLCAyMTksIDIsIDY2LCAyLCAxNTEsIDY1LCAxNywgMTAsIDI3LCAyNDEsIDIxOSwgMiwgNjYsIAorICAgIDIsIDY2LCA2NSwgMTcsIDEwLCAyNywgMjI4LCA2MywgMiwgMTIyLCAyLCA2NiwgNjUsIDE3LCAxMCwgMjcsIDIyOCwgNjMsIAorICAgIDIsIDEyMiwgMiwgMTEyLCAyMzEsIDE5MywgNDAsIDE3LCAxMCwgMjcsIDIyOCwgNjMsIDIsIDE1MSwgMiwgNjYsIDQwLCAxNywgCisgICAgMTAsIDI3LCAyMjgsIDYzLCAyLCAxNTEsIDIsIDY2LCA2NSwgMTcsIDEwLCAyNywgMjI4LCA2MywgMiwgMTUxLCAyLCAxMTIsIAorICAgIDIzMSwgMTkzLCA0MCwgMTcsIDEwLCAyNywgMjI4LCA2MywgMiwgNjYsIDIsIDc5LCA0MCwgMTcsIDEwLCAyNywgMjI4LCA2MywgCisgICAgMiwgNjYsIDIsIDExMiwgMjMxLCAxOTMsIDQwLCAxNywgMTAsIDI3LCA3OSwgMiwgNjYsIDIsIDY2LCA0MCwgMTcsIDEwLCAKKyAgICAyNywgNzksIDIsIDY2LCAyLCA2NiwgNjUsIDE3LCAxMCwgMjcsIDI1MiwgNTUsIDIsIDIzNCwgMTMwLCAyLCA3OSwgNDAsIAorICAgIDE3LCAxMCwgMjcsIDIxNywgOCwgMiwgMTUxLCAyLCA3OSwgNDAsIDE3LCAxMCwgMjcsIDIxNywgOCwgMiwgMTUxLCAyLCAKKyAgICAxMTIsIDIzMSwgMTkzLCA0MCwgMTcsIDEwLCAyNywgMjE3LCA4LCAyLCAyMzQsIDEzMCwgMiwgNzksIDQwLCAxNywgMTAsIAorICAgIDI3LCAyMTcsIDgsIDIsIDIzNCwgMTMwLCAyLCAxMTIsIDIzMSwgMTkzLCA0MCwgMTcsIDEwLCAyNywgMjE3LCA4LCAyLCA2NiwgCisgICAgMiwgNzksIDQwLCAxNywgMTAsIDI3LCAyMTcsIDgsIDIsIDY2LCAyLCAxMTIsIDIzMSwgMTkzLCA0MCwgMTcsIDEwLCAyNywgCisgICAgMTUxLCAyLCA2NiwgMiwgNzksIDQwLCAxNywgMTAsIDI3LCAxNTEsIDIsIDEyMiwgMiwgMTEyLCAyMzEsIDE5MywgNDAsIDE3LCAKKyAgICAxMCwgMjcsIDE1MSwgMiwgNjYsIDIsIDExMiwgMjMxLCAxOTMsIDQwLCAxNywgMTAsIDI3LCAyMjEsIDE2NywgMiwgMjM0LCAKKyAgICAxMzAsIDIsIDExMiwgMjMxLCAxOTMsIDQwLCAxNywgMTAsIDI3LCAyMjIsIDI3LCAyLCAxMjIsIDIsIDc5LCA0MCwgMTcsIAorICAgIDEwLCAyNywgMjIwLCA2MCwgMiwgMTIyLCAyLCA3OSwgNDAsIDE3LCAxMCwgMjcsIDI0OCwgMjE3LCAyLCAxMjIsIDIsIDc5LCAKKyAgICA0MCwgMTcsIDEwLCAyNywgMjMzLCAxMDMsIDIsIDE1MSwgMiwgNzksIDQwLCAxNywgMTAsIDI3LCAyMzMsIDEwMywgMiwgNjYsIAorICAgIDIsIDc5LCA0MCwgMTcsIDEwLCAyNywgNzksIDIsIDEyMiwgMiwgNzksIDQwLCAxNywgMTAsIDI3LCA3OSwgMiwgMTUxLCAyLCAKKyAgICA3OSwgNDAsIDE3LCAxMCwgMjcsIDc5LCAyLCA2NiwgMiwgNzksIDQwLCAxNywgMTAsIDI3LCA2NiwgMiwgNjYsIDIsIDc5LCAKKyAgICA0MCwgMTcsIDEwLCAyNywgMjI0LCA4MiwgMiwgNjYsIDIsIDc5LCA0MCwgMTcsIDEwLCAyNywgMjI4LCA2MywgMiwgMTIyLCAKKyAgICAyLCA3OSwgNDAsIDE3LCAxMCwgMjcsIDIyNCwgODIsIDIsIDY2LCAyLCAxMjIsIDY1LCAxNywgMTAsIDI3LCAyMzMsIDEwMywgCisgICAgMiwgMTIyLCAyLCA2NiwgNjUsIDE3LCAxMCwgMjcsIDI1NCwgMTk3LCAyLCA2NiwgMiwgNzksIDQwLCAxNywgMTAsIDI3LCAKKyAgICAyMzQsIDI1MSwgMiwgNjYsIDIsIDc5LCA0MCwgMTcsIDEwLCAyNywgMjI4LCA2MywgMiwgMTUxLCAyLCAxMjIsIDY1LCAxNywgCisgICAgMTAsIDI3LCA2NiwgMiwgMjM0LCAxMzAsIDIsIDc5LCA0MCwgMTcsIDEwLCAyNywgMjMzLCAxMDMsIDIsIDE1MSwgMiwgNjYsIAorICAgIDY1LCAxNywgMTAsIDI3LCAyMzQsIDI1MSwgMiwgNjYsIDIsIDY2LCA0MCwgMTcsIDEwLCAyNywgMjMzLCAxMDMsIDIsIDE1MSwgCisgICAgMiwgNjYsIDQwLCAxNywgMTAsIDI3LCAyMjgsIDYzLCAyLCAxNTEsIDIsIDEyMiwgNDAsIDE3LCAxMCwgMjcsIDE1MSwgMiwgCisgICAgMTIyLCAyLCA3OSwgNDAsIDE3LCAxMCwgMjcsIDEyMiwgMiwgMTUxLCAyLCA3OSwgNDAsIDE3LCAxMCwgMjcsIDY2LCAyLCAKKyAgICAxNTEsIDIsIDc5LCA0MCwgMTcsIDEwLCAyNywgMjQ0LCAxNDMsIDIsIDY2LCAyLCA3OSwgNDAsIDE3LCAxMCwgMjcsIDI1MiwgCisgICAgNTUsIDIsIDEyMiwgMiwgNzksIDQwLCAxNywgMTAsIDI3LCAyMzQsIDI1MSwgMiwgNjYsIDIsIDY2LCA2NSwgMTcsIDEwLCAKKyAgICAyNywgMjU0LCAxOTcsIDIsIDE1MSwgMiwgNjYsIDY1LCAxNywgMTAsIDI3LCAyMjIsIDI3LCAyLCA2NiwgMiwgNjYsIDY1LCAKKyAgICAxNywgMTAsIDI3LCAyMjEsIDE2NywgMiwgMjM0LCAxMzAsIDIsIDc5LCA0MCwgMTcsIDEwLCAyNywgMjI4LCA2MywgMiwgCisgICAgMTUxLCAyLCA3OSwgNDAsIDE3LCAxMCwgMjcsIDIyMiwgNCwgMjE0LCAxMjgsIDI1MywgMjM4LCAyMzQsIDQsIDIxOCwgMTMwLCAKKyAgICA1LCA1MywgMTcsIDEwLCAyNywgMjI0LCA3OCwgMjE0LCAxMjgsIDI1MywgMjM4LCAyMzQsIDQsIDIxOCwgMTMwLCA1LCA1MywgCisgICAgMTcsIDEwLCAyNywgMjU0LCAxNTMsIDUzLCAxNywgMTAsIDI3LCAyNTQsIDE4MywgNTMsIDE3LCAxMCwgMjcsIDIzMCwgMTUzLCAKKyAgICA1MywgMTcsIDEwLCAyNywgMjIyLCA1LCA1MywgMTcsIDEwLCAyNywgMjIzLCAxNDMsIDUzLCAxNywgMTAsIDI3LCAyNTQsIAorICAgIDE3MiwgNTMsIDE3LCAxMCwgMjcsIDIxMiwgNDksIDUzLCAxNywgMTAsIDI3LCAyMjIsIDQsIDUzLCAxNywgMTAsIDI3LCAKKyAgICAyMjIsIDMsIDI1NCwgMTcyLCAyMTIsIDQ4LCAxMCwgMjcsIDIzNSwgMTM0LCAyMjMsIDM0LCA1MCwgMTAsIDI3LCAyNTEsIAorICAgIDIzMCwgMjU0LCAzOSwgMjU0LCA0MCwgNDUsIDIyMSwgMTU2LCA0NSwgMjIxLCA0NSwgNDUsIDIyMCwgMjMzLCA0NSwgMjIwLCAKKyAgICAyMjIsIDQ1LCAyMjAsIDIxMSwgNDUsIDIyMCwgMjAwLCA0NSwgMjIwLCAxODksIDQ1LCAyMjAsIDE3OCwgNDUsIDIyMCwgCisgICAgMTY3LCA0NSwgMjIxLCAxNTUsIDQ1LCAyMjEsIDE0NCwgNDUsIDIyMSwgMTMzLCA0NSwgMjIxLCAxMjIsIDQ1LCAyMjEsIAorICAgIDExMSwgNDUsIDIyMSwgMTAwLCA0NSwgMjIxLCA4OSwgMjI0LCAxOTQsIDI0NCwgMjAsIDMxLCA2NywgMjQ5LCAyMTksIDIyNCwgCisgICAgMTk0LCAyNDQsIDIwLCAzMSwgNjcsIDEwOSwgMjQ5LCAyMTksIDIyNCwgMTk0LCAyNDQsIDIwLCAzMSwgNjcsIDEwOSwgMjQzLCAKKyAgICAyMjksIDIxOCwgMTI5LCAyMjQsIDE5NCwgMjQ0LCAyMCwgMzEsIDY3LCAyNDksIDIyNiwgMjI0LCAxOTQsIDI0NCwgMjAsIAorICAgIDMxLCA2NywgMjIwLCAxNTAsIDIyNCwgMTk0LCAyNDQsIDIwLCAzMSwgNjcsIDI0NSwgMzEsIDc4LCAyMjQsIDE5NCwgMjQ0LCAKKyAgICAyMCwgMzEsIDY3LCAyMjQsIDEzLCA3OCwgMjI0LCAxOTQsIDI0NCwgMjAsIDMxLCA2NywgNDMsIDcxLCAyMzMsIDIwLCAxMjcsIAorICAgIDIyNCwgMTk0LCAyNDQsIDIwLCAzMSwgNjcsIDQ0LCA3MSwgMjMzLCAyMCwgMjUxLCAxNTYsIDIyNCwgMTk0LCAyNDQsIDIwLCAKKyAgICAzMSwgNjcsIDIwMywgMjQ1LCAxNjMsIDM4LCAyNywgNDMsIDI0MiwgMjcsIDM4LCAyNywgNDQsIDI0MiwgMjcsIDM4LCA1MiwgCisgICAgMjE2LCA4OSwgNDMsIDI0MiwgMjcsIDM4LCA1MiwgMjE2LCA4OSwgNDQsIDI0MiwgMjcsIDM4LCAyMzEsIDIzMywgNDMsIAorICAgIDI0MiwgMjcsIDM4LCAyMzEsIDIzMywgNDQsIDI0MiwgMjcsIDM4LCAyNDksIDE5NywgMjMxLCAyMzIsIDIyNCwgMTk0LCAKKyAgICAyNDQsIDIwLCAzMSwgNjcsIDExMywgNTksIDIzMywgNTYsIDIyNCwgMTk0LCAyNDQsIDIwLCAzMSwgNjcsIDI0NSwgMTYwLCAKKyAgICAyNDgsIDE1NiwgMjI0LCAxOTQsIDI0NCwgMjAsIDMxLCA2NywgMjQ1LCAxNTEsIDI0OCwgMTU2LCAyMjQsIDE5NCwgMjQ0LCAKKyAgICAyMCwgMzEsIDY3LCAxMjEsIDIzMiwgMjEzLCAyMjQsIDE5NCwgMjQ0LCAyMCwgMzEsIDY3LCAyMTIsIDMyLCAxMjEsIDIzMiwgCisgICAgMjEzLCAyMjQsIDE5NCwgMjQ0LCAyMCwgMzEsIDY3LCA0MywgMjI2LCAzLCAyMjQsIDE5NCwgMjQ0LCAyMCwgMzEsIDY3LCAKKyAgICA0NCwgMjI2LCAzLCAyMjQsIDE5NCwgMjQ0LCAyMCwgMzEsIDY3LCA0MywgMjQ5LCA5OSwgMTI3LCAyMjQsIDE5NCwgMjQ0LCAKKyAgICAyMCwgMzEsIDY3LCA0NCwgMjQ5LCA5OSwgMTI3LCAyMjQsIDE5NCwgMjQ0LCAyMCwgMzEsIDY3LCA0MywgMjE2LCA2LCAyMjAsIAorICAgIDUzLCAxMjcsIDIyNCwgMTk0LCAyNDQsIDIwLCAzMSwgNjcsIDQ0LCAyMTYsIDYsIDIyMCwgNTMsIDEyNywgMjI0LCAxOTQsIAorICAgIDI0NCwgMjAsIDMxLCA2NywgNDMsIDg1LCAyMzMsIDIwLCAxMjcsIDIyNCwgMTk0LCAyNDQsIDIwLCAzMSwgNjcsIDQ0LCA4NSwgCisgICAgMjMzLCAyMCwgMTI3LCAyMjQsIDE5NCwgMjQ0LCAyMCwgMzEsIDY3LCA0MywgNTIsIDI1NCwgMTEwLCAxMjcsIDIyNCwgMTk0LCAKKyAgICAyNDQsIDIwLCAzMSwgNjcsIDQ0LCA1MiwgMjU0LCAxMTAsIDEyNywgMjI0LCAxOTQsIDI0NCwgMjAsIDMxLCA2NywgNDMsIAorICAgIDI1NCwgMTEwLCAxMjcsIDIyNCwgMTk0LCAyNDQsIDIwLCAzMSwgNjcsIDQ0LCAyNTQsIDExMCwgMTI3LCAyMjQsIDE5NCwgCisgICAgMjQ0LCAyMCwgMzEsIDY3LCA0MywgMjQ5LCAxNjEsIDEyNywgMjI0LCAxOTQsIDI0NCwgMjAsIDMxLCA2NywgNDQsIDI0OSwgCisgICAgMTYxLCAxMjcsIDIyNCwgMTk0LCAyNDQsIDIwLCAzMSwgNjcsIDQzLCA3MSwgMjQ5LCAxNjEsIDEyNywgMjI0LCAxOTQsIAorICAgIDI0NCwgMjAsIDMxLCA2NywgNDQsIDcxLCAyNDksIDE2MSwgMTI3LCAyMjAsIDEzMSwgMjQ3LCAxMjAsIDcxLCAyMjAsIDEzMSwgCisgICAgMjQ3LCAxMjAsIDIyNCwgMTk0LCAyNDQsIDIwLCAzMSwgNjcsIDQzLCA0MiwgMTI3LCAyMjQsIDE5NCwgMjQ0LCAyMCwgMzEsIAorICAgIDY3LCA0NCwgNDIsIDEyNywgMjQ4LCAxNTUsIDIyNiwgMTE5LCAyNTAsIDE3MiwgMjI2LCAxMTksIDIxMiwgMzIsIDIyNiwgCisgICAgMTE5LCA1MiwgMjEyLCAzMiwgMjI2LCAxMTksIDI0OCwgMTU1LCAxMjEsIDIzMiwgMjEzLCAyNTAsIDE3MiwgMTIxLCAyMzIsIAorICAgIDIxMywgMjEyLCAzMiwgMTIxLCAyMzIsIDIxMywgNCwgMjQ5LCAyMTksIDQsIDEwOSwgMjQ5LCAyMTksIDQsIDI0MywgMjI5LCAKKyAgICAyMTgsIDEyOSwgNCwgMjIwLCAxNTAsIDQsIDI0OSwgMjI2LCA0LCAyMjQsIDEzLCA3OCwgNCwgMjQ1LCAzMSwgNzgsIDQsIAorICAgIDI0NSwgMTYwLCAyNDgsIDE1NiwgNCwgNDMsIDIyNiwgMywgNCwgNDQsIDIyNiwgMywgNCwgNDMsIDI0OSwgOTksIDEyNywgNCwgCisgICAgNDQsIDI0OSwgOTksIDEyNywgNCwgNDMsIDIxNiwgNiwgMjIwLCA1MywgMTI3LCA0LCA0NCwgMjE2LCA2LCAyMjAsIDUzLCAKKyAgICAxMjcsIDQsIDU0LCA1MCwgNCwgMjU0LCAxMjYsIDQsIDI1MywgMjE2LCA0LCA5NiwgNTAsIDQsIDI0MCwgMTY3LCA0LCAyMzMsIAorICAgIDE1LCA1MCwgNCwgMjQyLCAxMzAsIDUwLCA0LCAyNDUsIDk4LCA1MCwgNCwgMjIzLCA1MCwgMjE5LCA0NiwgNCwgMjQ3LCAKKyAgICAxMzIsIDUwLCA0LCAyMjUsIDE4MiwgNTAsIDQsIDI0OSwgMjE3LCAyNTMsIDIwNiwgMTAsIDI0NCwgMTY0LCA1MywgMTcsIAorICAgIDEwLCAyMTcsIDQ0LCAyLCAyNDQsIDE2NCwgNDgsIDEwLCAyNDgsIDE4MywgNTMsIDE3LCAxMCwgMjE3LCA3OCwgMjQ0LCAxLCAKKyAgICAxMCwgMjM0LCAyMDQsIDUzLCAxNywgMTAsIDI0NCwgMTY2LCA1MywgMTcsIDEwLCAyNDQsIDE2NiwgMTQ3LCAxNywgMTAsIAorICAgIDI0OCwgMTg1LCA1MywgMTcsIDEwLCAyNDgsIDE4NSwgMTQ3LCAxNywgMTAsIDIzNCwgMjA2LCA1MywgMTcsIDEwLCAyMzQsIAorICAgIDIwNiwgMTQ3LCAxNywgMTAsIDIyMCwgOTQsIDUzLCAxNywgMTAsIDIyMCwgOTQsIDE0NywgMTcsIDEwLCAyMTgsIDQ2LCA1MywgCisgICAgMTcsIDEwLCAyMTgsIDQ2LCAxNDcsIDE3LCAxMCwgMSwgMjAyLCA1MywgMTcsIDEwLCAxLCAxMTIsIDIsIDIzMSwgMjI4LCAKKyAgICA3NywgNTMsIDE3LCAxMCwgMSwgMTEyLCAyLCAyMzEsIDIyOCwgNzcsIDQwLCAxNywgMTAsIDEsIDExMiwgMiwgMjAyLCA3NywgCisgICAgNTMsIDE3LCAxMCwgMSwgMTEyLCAyLCAyMDIsIDc3LCA0MCwgMTcsIDEwLCAxLCAyMTIsIDMxLCAyLCAyMDIsIDc3LCA1MywgCisgICAgMTcsIDEwLCAxLCAyMTIsIDMxLCAyLCAyMDIsIDc3LCA0MCwgMTcsIDEwLCAxLCAxMTIsIDIsIDIwMiwgMjUyLCA0MywgNTMsIAorICAgIDE3LCAxMCwgMSwgMTEyLCAyLCAyMDIsIDI1MiwgNDMsIDQwLCAxNywgMTAsIDEsIDc5LCAyLCAyMDIsIDc3LCA1MywgMTcsIAorICAgIDEwLCAxLCA3OSwgMiwgMjAyLCA3NywgNDAsIDE3LCAxMCwgMSwgNzksIDIsIDIwMiwgNzcsIDY1LCAxNywgMTAsIDEsIDc5LCAKKyAgICAyLCAyMDIsIDc3LCAxNDcsIDE3LCAxMCwgMSwgMTEyLCA1MywgMTcsIDEwLCAxLCAxMTIsIDQwLCAxNywgMTAsIDEsIDI1MiwgCisgICAgNTUsIDUzLCAxNywgMTAsIDEsIDI1MiwgNTUsIDQwLCAxNywgMTAsIDEsIDI1MiwgNTUsIDY1LCAxNywgMTAsIDEsIDI1MiwgCisgICAgNTUsIDE0NywgMTcsIDEwLCAxLCAyMTcsIDgsIDIzMSwgMTY1LCA1MywgMTcsIDEwLCAxLCAyMTcsIDgsIDIzMSwgMTY1LCAKKyAgICA0MCwgMTcsIDEwLCAxLCAyMTcsIDgsIDUzLCAxNywgMTAsIDEsIDIxNywgOCwgNDAsIDE3LCAxMCwgMSwgMjE3LCA4LCA2NSwgCisgICAgMTcsIDEwLCAxLCAyMTcsIDgsIDE0NywgMTcsIDEwLCAxLCAyMTYsIDE5MywgNTMsIDE3LCAxMCwgMSwgMjE2LCAxOTMsIDQwLCAKKyAgICAxNywgMTAsIDEsIDIxNiwgMTkzLCA2NSwgMTcsIDEwLCAxLCAyMTYsIDE5MywgMTQ3LCAxNywgMTAsIDEsIDE1MSwgNTMsIAorICAgIDE3LCAxMCwgMSwgMTUxLCA0MCwgMTcsIDEwLCAxLCAxNTEsIDY1LCAxNywgMTAsIDEsIDE1MSwgMTQ3LCAxNywgMTAsIDEsIAorICAgIDEyMiwgNTMsIDE3LCAxMCwgMSwgMTIyLCA0MCwgMTcsIDEwLCAxLCAxMjIsIDY1LCAxNywgMTAsIDEsIDEyMiwgMTQ3LCAxNywgCisgICAgMTAsIDEsIDIzNCwgMTMwLCA1MywgMTcsIDEwLCAxLCAyMzQsIDEzMCwgNDAsIDE3LCAxMCwgMSwgMjM0LCAxMzAsIDY1LCAKKyAgICAxNywgMTAsIDEsIDIzNCwgMTMwLCAxNDcsIDE3LCAxMCwgMSwgMjQ4LCAxOTYsIDUzLCAxNywgMTAsIDEsIDI0OCwgMTk2LCAKKyAgICA0MCwgMTcsIDEwLCAxLCAyMTYsIDIwMywgNTMsIDE3LCAxMCwgMSwgMjE2LCAyMDMsIDQwLCAxNywgMTAsIDEsIDIyMywgOTYsIAorICAgIDUzLCAxNywgMTAsIDEsIDIyMywgOTYsIDQwLCAxNywgMTAsIDEsIDIxMCwgMTA5LCA1MywgMTcsIDEwLCAxLCAyMTAsIDEwOSwgCisgICAgNDAsIDE3LCAxMCwgMSwgMjIxLCAxNjcsIDUzLCAxNywgMTAsIDEsIDIyMSwgMTY3LCA0MCwgMTcsIDEwLCAxLCAyMjEsIAorICAgIDE2NywgNjUsIDE3LCAxMCwgMSwgMjIxLCAxNjcsIDE0NywgMTcsIDEwLCAxLCAyMjAsIDYwLCA1MywgMTcsIDEwLCAxLCAKKyAgICAyMjAsIDYwLCA0MCwgMTcsIDEwLCAxLCAyMjAsIDYwLCA2NSwgMTcsIDEwLCAxLCAyMjAsIDYwLCAxNDcsIDE3LCAxMCwgMSwgCisgICAgMjIyLCAyNywgNTMsIDE3LCAxMCwgMSwgMjIyLCAyNywgNDAsIDE3LCAxMCwgMSwgMjIyLCAyNywgNjUsIDE3LCAxMCwgMSwgCisgICAgMjIyLCAyNywgMTQ3LCAxNywgMTAsIDEsIDI0OCwgMjE3LCA1MywgMTcsIDEwLCAxLCAyNDgsIDIxNywgNDAsIDE3LCAxMCwgCisgICAgMSwgMjQ4LCAyMTcsIDY1LCAxNywgMTAsIDEsIDI0OCwgMjE3LCAxNDcsIDE3LCAxMCwgMSwgMjE3LCA4MSwgNTMsIDE3LCAKKyAgICAxMCwgMSwgMjE3LCA4MSwgNDAsIDE3LCAxMCwgMSwgMjE3LCA4MSwgNjUsIDE3LCAxMCwgMSwgMjE3LCA4MSwgMTQ3LCAxNywgCisgICAgMTAsIDEsIDIxMCwgMTEyLCA1MywgMTcsIDEwLCAxLCAyMTAsIDExMiwgNDAsIDE3LCAxMCwgMSwgMjEwLCAxMTIsIDY1LCAKKyAgICAxNywgMTAsIDEsIDIxMCwgMTEyLCAxNDcsIDE3LCAxMCwgMSwgMjU0LCAxOTcsIDUzLCAxNywgMTAsIDEsIDI1NCwgMTk3LCAKKyAgICA0MCwgMTcsIDEwLCAxLCAyNTQsIDE5NywgNjUsIDE3LCAxMCwgMSwgMjU0LCAxOTcsIDE0NywgMTcsIDEwLCAxLCAyNDIsIAorICAgIDI0NSwgNTMsIDE3LCAxMCwgMSwgMjQyLCAyNDUsIDQwLCAxNywgMTAsIDEsIDI0MiwgMjQ1LCA2NSwgMTcsIDEwLCAxLCAKKyAgICAyNDIsIDI0NSwgMTQ3LCAxNywgMTAsIDEsIDI0NCwgMTQzLCA1MywgMTcsIDEwLCAxLCAyNDQsIDE0MywgNDAsIDE3LCAxMCwgCisgICAgMSwgMjQ0LCAxNDMsIDY1LCAxNywgMTAsIDEsIDI0NCwgMTQzLCAxNDcsIDE3LCAxMCwgMSwgMjI0LCA4MiwgNTMsIDE3LCAKKyAgICAxMCwgMSwgMjI0LCA4MiwgNDAsIDE3LCAxMCwgMSwgMjI0LCA4MiwgNjUsIDE3LCAxMCwgMSwgMjI0LCA4MiwgMTQ3LCAxNywgCisgICAgMTAsIDEsIDIzNCwgMjUxLCA1MywgMTcsIDEwLCAxLCAyMzQsIDI1MSwgNDAsIDE3LCAxMCwgMSwgMjM0LCAyNTEsIDY1LCAKKyAgICAxNywgMTAsIDEsIDIzNCwgMjUxLCAxNDcsIDE3LCAxMCwgMSwgMjMzLCAxMDMsIDUzLCAxNywgMTAsIDEsIDIzMywgMTAzLCAKKyAgICA0MCwgMTcsIDEwLCAxLCAyMzMsIDEwMywgNjUsIDE3LCAxMCwgMSwgMjMzLCAxMDMsIDE0NywgMTcsIDEwLCAxLCA2NiwgNTMsIAorICAgIDE3LCAxMCwgMSwgNjYsIDQwLCAxNywgMTAsIDEsIDY2LCA2NSwgMTcsIDEwLCAxLCA2NiwgMTQ3LCAxNywgMTAsIDEsIDIyOCwgCisgICAgNjMsIDUzLCAxNywgMTAsIDEsIDIyOCwgNjMsIDQwLCAxNywgMTAsIDEsIDIyOCwgNjMsIDY1LCAxNywgMTAsIDEsIDIyOCwgCisgICAgNjMsIDE0NywgMTcsIDEwLCAxLCAyNDEsIDIxOSwgNTMsIDE3LCAxMCwgMSwgMjQxLCAyMTksIDQwLCAxNywgMTAsIDEsIAorICAgIDI0MSwgMjE5LCA2NSwgMTcsIDEwLCAxLCAyNDEsIDIxOSwgMTQ3LCAxNywgMTAsIDEsIDIxMiwgMzEsIDUzLCAxNywgMTAsIAorICAgIDEsIDIxMiwgMzEsIDQwLCAxNywgMTAsIDEsIDExMiwgMjMxLCAxOTMsIDUzLCAxNywgMTAsIDEsIDExMiwgMjMxLCAxOTMsIAorICAgIDQwLCAxNywgMTAsIDEsIDc5LCA1MywgMTcsIDEwLCAxLCA3OSwgNDAsIDE3LCAxMCwgMSwgNzksIDY1LCAxNywgMTAsIDEsIAorICAgIDc5LCAxNDcsIDE3LCAxMCwgMjcsIDIzMywgMTAzLCAyLCAxMTIsIDIsIDIzMSwgMjI4LCA3NywgNTMsIDE3LCAxMCwgMjcsIAorICAgIDIzMywgMTAzLCAyLCAxMTIsIDIsIDIzMSwgMjI4LCA3NywgNDAsIDE3LCAxMCwgMjcsIDIzMywgMTAzLCAyLCAxMTIsIDIsIAorICAgIDIwMiwgNzcsIDUzLCAxNywgMTAsIDI3LCAyMzMsIDEwMywgMiwgMTEyLCAyLCAyMDIsIDc3LCA0MCwgMTcsIDEwLCAyNywgCisgICAgMjMzLCAxMDMsIDIsIDExMiwgMiwgMjAyLCAyNTIsIDQzLCA1MywgMTcsIDEwLCAyNywgMjMzLCAxMDMsIDIsIDExMiwgMiwgCisgICAgMjAyLCAyNTIsIDQzLCA0MCwgMTcsIDEwLCAyNywgMjMzLCAxMDMsIDIsIDExMiwgNTMsIDE3LCAxMCwgMjcsIDIzMywgMTAzLCAKKyAgICAyLCAxMTIsIDQwLCAxNywgMjEwLCA4NywgMjExLCAyNDUsIDIyOCwgNzMsIDIxOSwgMTgsIDEyNiwgMjQ1LCAzMSwgNzgsIAorICAgIDEyNiwgMjIzLCAyNTQsIDc4LCAxMjYsIDU0LCA1MCwgMTI2LCAyNDcsIDEzMiwgNTAsIDEyNiwgMjI1LCAxODIsIDUwLCAKKyAgICAxMjYsIDI1NCwgMTI2LCAxMjYsIDI1NCwgNTcsIDEyNiwgNDMsIDIyNiwgMywgMTI2LCA0NCwgMjI2LCAzLCAxMjYsIDI1MywgCisgICAgMjE2LCAxMjYsIDk2LCA1MCwgMTI2LCAyNDksIDIxOSwgMTI2LCAyNDAsIDE2NywgMTI2LCAyNDMsIDIyOSwgMjE4LCAxMjksIAorICAgIDEyNiwgMjE5LCA0NiwgMTI2LCAyMSwgMjEwLCA4NiwgMTI2LCAyMSwgMTEwLCAxMjYsIDIxLCAxMDUsIDEyNiwgMjEsIDE1OCwgCisgICAgMTI2LCAyMSwgMTYxLCAxMjYsIDIxLCAxODksIDEyNiwgMjEsIDE5NCwgMTI2LCAyMSwgMTk4LCAxMjYsIDIxLCAxOTUsIAorICAgIDEyNiwgMjEsIDIwMCwgMTI2LCAyNDksIDIyNiwgMTI2LCAyMjAsIDE1MCwgMTI2LCAyMzMsIDE1LCA1MCwgMTI2LCAyNDUsIAorICAgIDk4LCA1MCwgMTI2LCAyNDIsIDEzMCwgNTAsIDEyNiwgMjI0LCAxMywgNzgsIDEyNiwgMjQ5LCAyMTcsIDI1MywgMjA2LCAKKyAgICAxMjYsIDcsIDYsIDEsIDYxLCAxMjYsIDcsIDYsIDEsIDI1MywgMTU4LCAxMjYsIDcsIDYsIDEsIDI1MSwgNjYsIDEyNiwgNywgCisgICAgNiwgMSwgMjQ5LCA2MCwgMTI2LCA3LCA2LCAxLCA3NSwgMTI2LCA3LCA2LCAxLCAyNDUsIDYsIDEyNiwgNywgNiwgMSwgMjQzLCAKKyAgICAyMDIsIDEyNiwgNywgNiwgMSwgMjQyLCA2MCwgMTI2LCA3LCA2LCAxLCA3MywgMTI2LCA3LCA2LCAxLCAyMzUsIDE0NCwgCisgICAgMTI2LCA3LCA2LCAxLCAyMzUsIDIzLCAxMjYsIDcsIDYsIDEsIDE1NiwgMTI2LCA3LCA2LCAxLCAxOTMsIDEyNiwgNywgNiwgCisgICAgMSwgMjMwLCAyNSwgMTI2LCA3LCA2LCAxLCA3NiwgMTI2LCA3LCA2LCAxLCAyMjYsIDEwNSwgMTI2LCA3LCA2LCAxLCAyMjQsIAorICAgIDk2LCAxMjYsIDcsIDYsIDEsIDE1MywgMTI2LCA3LCA2LCAxLCAyMjIsIDkxLCAxMjYsIDcsIDYsIDEsIDIxNywgMTUyLCAKKyAgICAxMjYsIDcsIDYsIDEsIDcwLCAxMjYsIDcsIDYsIDEsIDIxNCwgMTA1LCAxMjYsIDcsIDYsIDEsIDIxMiwgOTgsIDEyNiwgNywgCisgICAgNiwgMSwgMjExLCAxNzgsIDEyNiwgNywgNiwgMSwgMjExLCAxMTcsIDEyNiwgNywgNiwgMSwgMjEwLCAxNTksIDEyNiwgNDMsIAorICAgIDQyLCAxMjcsIDEyNiwgMjIzLCA1MCwgMjE5LCA0NiwgMTI2LCA0NCwgNDIsIDEyNywgMTI2LCAyNTAsIDMxLCAyNTUsIDE0LCAKKyAgICAxMjYsIDEyMSwgMjMyLCAyMTMsIDEyNiwgMjQyLCAxMzcsIDI1NSwgMTQsIDEyNiwgNywgNCwgMSwgNjEsIDEyNiwgNywgNCwgCisgICAgMSwgMjUzLCAxNTgsIDEyNiwgNywgNCwgMSwgMjUxLCA2NiwgMTI2LCA3LCA0LCAxLCAyNDksIDYwLCAxMjYsIDcsIDQsIDEsIAorICAgIDc1LCAxMjYsIDcsIDQsIDEsIDI0NSwgNiwgMTI2LCA3LCA0LCAxLCAyNDMsIDIwMiwgMTI2LCA3LCA0LCAxLCAyNDIsIDYwLCAKKyAgICAxMjYsIDcsIDQsIDEsIDczLCAxMjYsIDcsIDQsIDEsIDIzNSwgMTQ0LCAxMjYsIDcsIDQsIDEsIDIzNSwgMjMsIDEyNiwgNywgCisgICAgNCwgMSwgMTU2LCAxMjYsIDcsIDQsIDEsIDE5MywgMTI2LCA3LCA0LCAxLCAyMzAsIDI1LCAxMjYsIDcsIDQsIDEsIDc2LCAKKyAgICAxMjYsIDcsIDQsIDEsIDIyNiwgMTA1LCAxMjYsIDcsIDQsIDEsIDIyNCwgOTYsIDEyNiwgNywgNCwgMSwgMTUzLCAxMjYsIDcsIAorICAgIDQsIDEsIDIyMiwgOTEsIDEyNiwgNywgNCwgMSwgMjE3LCAxNTIsIDEyNiwgNywgNCwgMSwgNzAsIDEyNiwgNywgNCwgMSwgCisgICAgMjE0LCAxMDUsIDEyNiwgNywgNCwgMSwgMjEyLCA5OCwgMTI2LCA3LCA0LCAxLCAyMTEsIDE3OCwgMTI2LCA3LCA0LCAxLCAKKyAgICAyMTEsIDExNywgMTI2LCA3LCA0LCAxLCAyMTAsIDE1OSwgMTI2LCA0MywgMjQ5LCA5OSwgMTI3LCAxMjYsIDY3LCAyMzIsIAorICAgIDIxMywgMTI2LCA0NCwgMjQ5LCA5OSwgMTI3LCAxMjYsIDE4MiwgMTI2LCA0MywgNzEsIDIyNiwgMywgMTI2LCA0NCwgNzEsIAorICAgIDIyNiwgMywgMTAxLCAxMDksIDI0MywgMjI5LCAyMTgsIDEyOSwgMTAxLCA0MywgMjQ5LCAxNjEsIDEyNywgMTAxLCA0NCwgCisgICAgMjQ5LCAxNjEsIDEyNywgMTAxLCAxMDksIDI0OSwgMjE5LCAxMDEsIDU2LCAyMzAsIDIyNCwgMjQ3LCAxMjAsIDEwMSwgNTYsIAorICAgIDEsIDIxMSwgMjI3LCAxMDEsIDU2LCAxLCA0LCA2MSwgMTAxLCA1NiwgMSwgNCwgNzMsIDEwMSwgNTYsIDEsIDQsIDcwLCAKKyAgICAxMDEsIDU2LCAxLCA0LCA3NSwgMTAxLCA1NiwgMSwgNCwgNzYsIDEwMSwgNTYsIDEsIDQsIDE5MSwgMTAxLCA1NiwgMSwgNCwgCisgICAgMjEwLCAyMTIsIDEwMSwgNTYsIDEsIDQsIDIxMCwgMjQ0LCAxMDEsIDU2LCAxLCA0LCAyMTUsIDExOCwgMTAxLCAyMzQsIAorICAgIDIwMSwgMjI0LCAxNzMsIDIxOSwgMzEsIDc4LCAxMDEsIDU2LCAxLCA2MSwgMTAxLCA1NiwgMSwgNzMsIDEwMSwgNTYsIDEsIAorICAgIDcwLCAxMDEsIDU2LCAxLCA3NSwgMTAxLCA1NiwgMSwgNzYsIDEwMSwgNTYsIDEsIDE3NiwgMTAxLCA1NiwgMSwgMjM0LCA5MiwgCisgICAgMTAxLCA1NiwgMSwgMjMzLCAyMTcsIDEwMSwgNTYsIDEsIDIzNCwgMTgyLCAxMDEsIDU2LCAxLCAyMzQsIDI4LCAxMDEsIDU2LCAKKyAgICAxLCAyMDYsIDEwMSwgNTYsIDEsIDIxOSwgMTkxLCAxMDEsIDU2LCAxLCAyMTgsIDgzLCAxMDEsIDU2LCAxLCAyMjEsIDE4MSwgCisgICAgMTAxLCA1NiwgMSwgMjE5LCA1OCwgMTAxLCA1NiwgMSwgMjE3LCAxMDUsIDEwMSwgNTYsIDEsIDIxNiwgMTE3LCAxMDEsIDU2LCAKKyAgICAxLCAyMTUsIDExOCwgMTAxLCA1NiwgMSwgMjE3LCAyMiwgMTAxLCA1NiwgMSwgMTExLCAxMDEsIDU2LCAxLCAxOTcsIDEwMSwgCisgICAgNTYsIDEsIDIyOCwgMjMzLCAxMDEsIDU2LCAxLCAyMjcsIDIzNywgMTAxLCA1NiwgMSwgMjI5LCAxMDcsIDEwMSwgNTYsIDEsIAorICAgIDIyOCwgNzQsIDEwMSwgNTYsIDEsIDE2MiwgMTAxLCA1NiwgMSwgMjQxLCAxODAsIDEwMSwgNTYsIDEsIDI0MCwgMjIyLCAKKyAgICAxMDEsIDU2LCAxLCAyNDEsIDIzOCwgMTAxLCA1NiwgMSwgMjQxLCA2OCwgMTAxLCA1NiwgMSwgMTg0LCAxMDEsIDU2LCAxLCAKKyAgICAyMzAsIDIzMCwgMTAxLCA1NiwgMSwgMjMwLCAxMDIsIDEwMSwgNTYsIDEsIDIzMSwgOTEsIDEwMSwgNTYsIDEsIDIzMCwgCisgICAgMTYxLCAxMDEsIDU2LCAxLCAxOTEsIDEwMSwgNTYsIDEsIDIxMCwgMjEyLCAxMDEsIDU2LCAxLCAyMTAsIDI0NCwgMTAxLCAKKyAgICA1NiwgMSwgMjA1LCAxMDEsIDU2LCAxLCAyMjMsIDM1LCAxMDEsIDU2LCAxLCAyMjIsIDE0MCwgMTAxLCA1NiwgMSwgMjIzLCAKKyAgICAxMjgsIDEwMSwgNTYsIDEsIDIyMiwgMjExLCAxMDEsIDU2LCAxLCAyMTIsIDY1LCAxMDEsIDU2LCAxLCAyMzAsIDI1LCAxMDEsIAorICAgIDU2LCAyMTMsIDEzNSwgMjE5LCAzMSwgNzgsIDEwMSwgNTYsIDIyMCwgMTU1LCAyMTksIDMxLCA3OCwgMTAxLCAyNCwgMjQ0LCAKKyAgICAxMDMsIDEwMSwgMjQsIDEsIDIzNCwgNTgsIDEwMSwgMjQsIDEsIDIxOCwgMjE1LCAxMDEsIDI0LCAxLCAyMzQsIDUxLCAxMDEsIAorICAgIDI0LCAxLCAyMjgsIDIyNiwgMTAxLCAyNCwgMSwgMjI4LCAyMjQsIDEwMSwgMjQsIDEsIDIyOCwgMjIzLCAxMDEsIDI0LCAxLCAKKyAgICAyMTYsIDEwMSwgMTAxLCAyNCwgMSwgMjE4LCAyMDQsIDEwMSwgMjQsIDEsIDIyMywgMjYsIDEwMSwgMjQsIDEsIDIyMywgMjEsIAorICAgIDEwMSwgMjQsIDEsIDIyMywgMTgsIDEwMSwgMjQsIDEsIDIyMywgMTEsIDEwMSwgMjQsIDEsIDIyMywgNiwgMTAxLCAyNCwgMSwgCisgICAgMjIzLCAxLCAxMDEsIDI0LCAxLCAyMjMsIDEyLCAxMDEsIDI0LCAxLCAyMjMsIDI0LCAxMDEsIDI0LCAxLCAyMzAsIDIxNywgCisgICAgMTAxLCAyNCwgMSwgMjI1LCA5NSwgMTAxLCAyNCwgMSwgMjE4LCAyMTIsIDEwMSwgMjQsIDEsIDIyNSwgODQsIDEwMSwgMjQsIAorICAgIDEsIDIxOSwgMTQ4LCAxMDEsIDI0LCAxLCAyMTgsIDIwOSwgMTAxLCAyNCwgMSwgMjM2LCA1NiwgMTAxLCAyNCwgMSwgMjUwLCAKKyAgICA0NiwgMTAxLCAyNCwgMSwgMjE4LCAyMTksIDEwMSwgMjQsIDEsIDI1MCwgMTA2LCAxMDEsIDI0LCAxLCAyMzQsIDExMCwgCisgICAgMTAxLCAyNCwgMSwgMjE2LCAxNzMsIDEwMSwgMjQsIDEsIDIyNSwgMTMxLCAxMDEsIDI0LCAxLCAyNDEsIDE3MiwgMTAxLCAKKyAgICAyNCwgMSwgNjEsIDEwMSwgMjQsIDEsIDI1NCwgMjQzLCAxMDEsIDI0LCAxLCAxOTEsIDEwMSwgMjQsIDEsIDIxMSwgOTIsIAorICAgIDEwMSwgMjQsIDEsIDI0NSwgMTE3LCAxMDEsIDI0LCAxLCA3NSwgMTAxLCAyNCwgMSwgMjExLCAzNiwgMTAxLCAyNCwgMSwgCisgICAgMjExLCA0NywgMTAxLCAyNCwgMSwgNzYsIDEwMSwgMjQsIDEsIDIxMiwgNjUsIDEwMSwgMjQsIDEsIDIxMiwgNjIsIDEwMSwgCisgICAgMjQsIDEsIDIyNiwgMjM0LCAxMDEsIDI0LCAxLCAyMTAsIDI0NCwgMTAxLCAyNCwgMSwgNzAsIDEwMSwgMjQsIDEsIDIxMiwgCisgICAgMTEsIDEwMSwgMjQsIDEsIDIxMiwgMjIsIDEwMSwgMjQsIDEsIDIxMSwgMjUwLCAxMDEsIDI0LCAxLCAyMTAsIDIxMiwgMTAxLCAKKyAgICAyNCwgMSwgMjQ1LCA1NSwgMTAxLCAyNCwgMSwgMjExLCA4LCAxMDEsIDI0LCAxLCA3MywgMTI2LCAyNTAsIDE3NiwgNTAsIAorICAgIDEyNiwgMjI0LCAyMjgsIDUwLCAxMjYsIDIyOCwgNTIsIDUwLCAxMjYsIDIzMSwgMjMyLCAxMjYsIDI1MSwgMTM1LCAxMzAsIAorICAgIDEyNiwgMjExLCA0MCwgNTAsIDEyNiwgMjExLCAyMTcsIDUwLCAxMDEsIDI0NCwgMTgsIDE5MiwgMjEzLCAyMzksIDEwMSwgCisgICAgMTQwLCA3NCwgMTAxLCAyMTQsIDE1MywgNzQsIDEwMSwgOTcsIDc0LCAxMDEsIDI0NiwgMTA0LCA3NCwgMTAxLCA4NSwgMjE4LCAKKyAgICAyMzQsIDEwMSwgNzEsIDI1MCwgMzUsIDIzNSwgMjA0LCAyNTQsIDk5LCAyNTQsIDEyMCwgMjM1LCAyMDQsIDI1NCwgOTksIAorICAgIDIyMCwgMTM3LCAyMzUsIDIwNCwgMjU0LCA5OSwgMjE2LCAyMzYsIDIyNiwgMjQ5LCAyMjMsIDcyLCAyNTAsIDE0MiwgMjIzLCAKKyAgICA3MiwgMjUwLCAxNDIsIDYyLCA1NywgMywgMjUzLCAxNDIsIDYxLCA2MiwgNTcsIDMsIDI1MywgMTExLCA3NSwgNjIsIDU3LCAKKyAgICAzLCAyNTMsIDEyMCwgNzMsIDYyLCA1NywgMywgMjUzLCA4OCwgNzYsIDYyLCA1NywgMywgMjUzLCAxMzgsIDcwLCA2MiwgNTcsIAorICAgIDMsIDI1MywgMTU3LCAyNDgsIDIyMSwgNjIsIDU3LCAzLCAyNTMsIDEwNCwgMjQ4LCA5MCwgNjIsIDU3LCAzLCAyNTMsIDE0NCwgCisgICAgMjQ4LCAzLCA2MiwgNTcsIDMsIDI1MywgMTM0LCAyNDcsIDE0NSwgNjIsIDU3LCAzLCAyNTMsIDk4LCAyNDYsIDc4LCA2MiwgCisgICAgNTcsIDMsIDI1MywgOTIsIDIzNSwgMTQxLCA2MiwgNTcsIDMsIDI1MywgMTAzLCAyMzUsIDEyNiwgNjIsIDU3LCAzLCAyNTMsIAorICAgIDExMywgMjM1LCA2OCwgNjIsIDU3LCAzLCAyNTMsIDg0LCAyMzUsIDUxLCA2MiwgNTcsIDMsIDI1MywgNzIsIDE3NiwgNjIsIAorICAgIDU3LCAzLCAyNTMsIDEwNSwgMjM0LCAxODIsIDYyLCA1NywgMywgMjUzLCA4MiwgMjM0LCA5MiwgNjIsIDU3LCAzLCAyNTMsIAorICAgIDc5LCAyMzQsIDI4LCA2MiwgNTcsIDMsIDI1MywgNjgsIDIzMywgMjE3LCA2MiwgNTcsIDMsIDI1MywgNjksIDE4NCwgNjIsIAorICAgIDU3LCAzLCAyNTMsIDEzNSwgMjMxLCA5MSwgNjIsIDU3LCAzLCAyNTMsIDc2LCAyMzAsIDIzMCwgNjIsIDU3LCAzLCAyNTMsIAorICAgIDEzMywgMjMwLCAxNjEsIDYyLCA1NywgMywgMjUzLCAxMjUsIDIzMCwgMTAyLCA2MiwgNTcsIDMsIDI1MywgMTQ2LCAxOTcsIAorICAgIDYyLCA1NywgMywgMjUzLCAxMjQsIDIyOSwgMTA3LCA2MiwgNTcsIDMsIDI1MywgMTE4LCAyMjgsIDIzMywgNjIsIDU3LCAzLCAKKyAgICAyNTMsIDk3LCAyMjgsIDc0LCA2MiwgNTcsIDMsIDI1MywgOTQsIDIyNywgMjM3LCA2MiwgNTcsIDMsIDI1MywgMTUzLCAxOTAsIAorICAgIDYyLCA1NywgMywgMjUzLCA3NywgMjI1LCAyMjEsIDYyLCA1NywgMywgMjUzLCAxMTAsIDIyNSwgMTA4LCA2MiwgNTcsIDMsIAorICAgIDI1MywgMTM3LCAyMjUsIDE2LCA2MiwgNTcsIDMsIDI1MywgOTksIDIyNCwgMTUwLCA2MiwgNTcsIDMsIDI1MywgMTMyLCAKKyAgICAyMjQsIDg4LCA2MiwgNTcsIDMsIDI1MywgNzEsIDIyNCwgNjksIDYyLCA1NywgMywgMjUzLCAxMjcsIDIyNCwgNTMsIDYyLCAKKyAgICA1NywgMywgMjUzLCAxMTYsIDIyNCwgNDIsIDYyLCA1NywgMywgMjUzLCA4OSwgMjA1LCA2MiwgNTcsIDMsIDI1MywgMTIxLCAKKyAgICAyMjMsIDEyOCwgNjIsIDU3LCAzLCAyNTMsIDk2LCAyMjMsIDM1LCA2MiwgNTcsIDMsIDI1MywgMTU1LCAyMjIsIDIxMSwgNjIsIAorICAgIDU3LCAzLCAyNTMsIDEyMiwgMjIyLCAxNDAsIDYyLCA1NywgMywgMjUzLCAxMTcsIDIwNiwgNjIsIDU3LCAzLCAyNTMsIDE0MCwgCisgICAgMjIxLCAxODEsIDYyLCA1NywgMywgMjUzLCAxMDgsIDIxOSwgMTkxLCA2MiwgNTcsIDMsIDI1MywgMTM2LCAyMTksIDU4LCAKKyAgICA2MiwgNTcsIDMsIDI1MywgOTEsIDIxOCwgODMsIDYyLCA1NywgMywgMjUzLCA5MCwgMjE3LCAxMDUsIDYyLCA1NywgMywgCisgICAgMjUzLCAxNTEsIDIxNywgMjIsIDYyLCA1NywgMywgMjUzLCAxMTIsIDIxNiwgMTE3LCA2MiwgNTcsIDMsIDI1MywgMTQ5LCAKKyAgICAxMTEsIDYyLCA1NywgMywgMjUzLCA4MCwgMjE1LCAxMTgsIDYyLCA1NywgMywgMjUzLCA5NSwgMjEyLCA2NSwgNjIsIDU3LCAKKyAgICAzLCAyNTMsIDc0LCAyMTIsIDIyLCA2MiwgNTcsIDMsIDI1MywgMTA5LCAyMTEsIDI1MCwgNjIsIDU3LCAzLCAyNTMsIDEwNywgCisgICAgMjExLCAyMjcsIDYyLCA1NywgMywgMjUzLCAxMzEsIDIxMCwgMTE2LCA2MiwgNTcsIDMsIDI1MywgNzUsIDIxMCwgOTQsIDYyLCAKKyAgICA1NywgMywgMjUzLCAxMjgsIDIxMCwgMjMsIDYyLCA1NywgMywgMjUzLCAxMjMsIDI1NSwgNzUsIDYyLCA1NywgMywgMjUzLCAKKyAgICAxMDYsIDI1NSwgNzQsIDYyLCA1NywgMywgMjUzLCA2NSwgMjUzLCAxOTIsIDYyLCA1NywgMywgMjUzLCA3OCwgMjQ2LCA0NiwgCisgICAgNjIsIDU3LCAzLCAyNTMsIDYxLCAyNDYsIDQ1LCA2MiwgNTcsIDMsIDI1MywgMTAxLCAyMjcsIDE3NCwgNjIsIDU3LCAzLCAKKyAgICAyNTMsIDExOSwgMjI0LCAxNDgsIDYyLCA1NywgMywgMjUzLCA4NywgMjI0LCAxNTIsIDYyLCA1NywgMywgMjUzLCA3MywgCisgICAgMjIzLCAxODYsIDYyLCA1NywgMywgMjUzLCAxMTUsIDIyMywgMTg1LCA2MiwgNTcsIDMsIDI1MywgODEsIDIyMiwgMjEwLCAKKyAgICA2MiwgNTcsIDMsIDI1MywgODMsIDIxNywgMTAyLCA2MiwgNTcsIDMsIDI1MywgNjMsIDIxNSwgNzgsIDYyLCA1NywgMywgCisgICAgMjUzLCA2MCwgMTA1LCA2MiwgNTcsIDE2LCAyNTMsIDEzMCwgNjIsIDU3LCAxNiwgMjUzLCAxMjksIDYyLCA1NywgMTYsIAorICAgIDI1MywgMTI2LCA2MiwgNTcsIDE2LCAyNTMsIDExNCwgNjIsIDU3LCAxNiwgMjUzLCAxMDIsIDYyLCA1NywgMTYsIDI1MywgCisgICAgMTAwLCA2MiwgNTcsIDE2LCAyNTMsIDkzLCA2MiwgNTcsIDE2LCAyNTMsIDg2LCA2MiwgNTcsIDE2LCAyNTMsIDg1LCA2MiwgCisgICAgNTcsIDE2LCAyNTMsIDcwLCA2MiwgNTcsIDE2LCAyNTMsIDY3LCA2MiwgNTcsIDE2LCAyNTMsIDY2LCA2MiwgNTcsIDE2LCAKKyAgICAyNTMsIDY0LCA2MiwgNTcsIDE2LCAyNTMsIDYyLCA2MiwgNTcsIDEwNiwgMjUzLCA1OSwgMjMxLCAxODUsIDYyLCA1NywgCisgICAgMTA2LCAyNTMsIDU4LCAyMTEsIDIyMSwgNjIsIDU3LCAxMDYsIDI1MywgNTcsIDI0OCwgNzQsIDYyLCA1NywgMTA2LCAyNTMsIAorICAgIDU2LCAyNDUsIDk1LCA2MiwgNTcsIDEwNiwgMjUzLCA1NSwgMjMxLCAxNTksIDYyLCA1NywgMTA2LCAyNTMsIDU0LCAyMTgsIAorICAgIDE2MiwgNjIsIDU3LCAxMDYsIDI1MywgNTMsIDI0NSwgMzcsIDYyLCA1NywgMTA2LCAyNTMsIDUyLCAyMjMsIDE1MywgNjIsIAorICAgIDU3LCAxMDYsIDI1MywgNTEsIDIyMCwgNjIsIDYyLCA1NywgMTA2LCAyNTMsIDUwLCAyNDEsIDIzNywgNjIsIDU3LCAxMDYsIAorICAgIDI1MywgNDksIDIxOSwgMjUsIDYyLCA1NywgMTA2LCAyNTMsIDQ4LCAyNTEsIDIwMywgNjIsIDU3LCAxMDYsIDI1MywgNDcsIAorICAgIDI0OSwgMTQ1LCA2MiwgNTcsIDEwNiwgMjUzLCA0NiwgMjUxLCAxMTUsIDYyLCA1NywgMTA2LCAyNTMsIDQ1LCAyMTIsIDIsIAorICAgIDYyLCA1NywgMTA2LCAyNTMsIDQ0LCAyNTIsIDEzNiwgNjIsIDU3LCAxMDYsIDI1MywgNDMsIDIyNiwgMjA1LCA2MiwgNTcsIAorICAgIDEwNiwgMjUzLCA0MiwgMjE4LCAyNTQsIDYyLCA1NywgMTA2LCAyNTMsIDQxLCAyNDksIDY4LCA2MiwgNTcsIDIzMCwgMTQyLCAKKyAgICAyNTMsIDQwLCAyMzQsIDIyNCwgNjIsIDU3LCAyMzAsIDE0MiwgMjUzLCAzOSwgMjM0LCAyMzIsIDYyLCA1NywgMTA2LCAyNTMsIAorICAgIDM4LCAyMjYsIDIxOCwgNjIsIDU3LCAxMDYsIDI1MywgMzcsIDIxMSwgMjM2LCA2MiwgNTcsIDEwNiwgMjUzLCAzNiwgNjIsIAorICAgIDU3LCAyMzAsIDE0MiwgMjUzLCAzNSwgMjU0LCAxNywgNjIsIDU3LCAyMzAsIDE0MiwgMjUzLCAzNCwgMjMxLCA1MiwgNjIsIAorICAgIDU3LCAxMDYsIDI1MywgMzMsIDI1MSwgMTM0LCA2MiwgNTcsIDEwNiwgMjUzLCAzMiwgMjQyLCAxNjYsIDYyLCA1NywgMTA2LCAKKyAgICAyNTMsIDMxLCA2MiwgNTcsIDEwNiwgMjUzLCAzMCwgMjExLCAyMTIsIDYyLCA1NywgMTA2LCAyNTMsIDI5LCA2MiwgNTcsIAorICAgIDEwNiwgMjUzLCAyOCwgNjIsIDU3LCAxMDYsIDI1MywgMjcsIDI0MCwgMjQ4LCA2MiwgNTcsIDEwNiwgMjUzLCAyNiwgNjIsIAorICAgIDU3LCAxMDYsIDI1MywgMjUsIDYyLCA1NywgMTA2LCAyNTMsIDI0LCA2MiwgNTcsIDIzMCwgMTQyLCAyNTMsIDIyLCAyMTUsIAorICAgIDkyLCA2MiwgNTcsIDEwNiwgMjUzLCAyMSwgNjIsIDU3LCAxMDYsIDI1MywgMjAsIDYyLCA1NywgMTA2LCAyNTMsIDE5LCAKKyAgICAyNDksIDI1MCwgNjIsIDU3LCAxMDYsIDI1MywgMTgsIDYyLCA1NywgMTA2LCAyNTMsIDE3LCA2MiwgNTcsIDEwNiwgMjUzLCAKKyAgICAxNiwgMjQzLCA5MywgNjIsIDU3LCAxMDYsIDI1MywgMTUsIDI1NCwgNCwgNjIsIDU3LCAxMDYsIDI1MywgMTQsIDYyLCA1NywgCisgICAgMTA2LCAyNTMsIDEzLCA2MiwgNTcsIDEwNiwgMjUzLCAxMiwgNjIsIDU3LCAxMDYsIDI1MywgMTEsIDYyLCA1NywgMTA2LCAKKyAgICAyNTMsIDEwLCA2MiwgNTcsIDEwNiwgMjUzLCA5LCA2MiwgNTcsIDEwNiwgMjUzLCA4LCA2MiwgNTcsIDEwNiwgMjUzLCA3LCAKKyAgICA2MiwgNTcsIDEwNiwgMjUzLCA2LCA2MiwgNTcsIDEwNiwgMjUzLCA1LCAyMzAsIDEzNCwgNjIsIDU3LCAxMDYsIDI1MywgNCwgCisgICAgNjIsIDU3LCAxMDYsIDI1MywgMywgMjE1LCAyMzUsIDYyLCA1NywgMTA2LCAyNTMsIDIsIDYyLCA1NywgMTA2LCAyNTMsIDEsIAorICAgIDYyLCA1NywgMTA2LCAyNTMsIDAsIDYyLCA1NywgMTA2LCAyNTIsIDI1NSwgNjIsIDU3LCAxMDYsIDI1MiwgMjU0LCA2MiwgCisgICAgNTcsIDEwNiwgMjUyLCAyNTMsIDYyLCA1NywgMTA2LCAyNTIsIDI1MiwgNjIsIDU3LCAxMDYsIDI1MiwgMjUxLCA2MiwgNTcsIAorICAgIDEwNiwgMjUyLCAyNTAsIDYyLCA1NywgMTA2LCAyNTIsIDI0OSwgNjIsIDU3LCAxMDYsIDI1MiwgMjQ4LCA2MiwgNTcsIDEwNiwgCisgICAgMjUyLCAyNDcsIDI0MSwgMjExLCA2MiwgNTcsIDEwNiwgMjUyLCAyMjYsIDI0NCwgMjgsIDYyLCA1NywgMTA2LCAyNTIsIAorICAgIDIyMywgMjUyLCAxMTYsIDYyLCA1NywgMTA2LCAyNTIsIDIxOCwgMjE5LCA1LCA2MiwgNTcsIDEwNiwgMjUyLCAyMTcsIDc0LCAKKyAgICA2MiwgNTcsIDEwNiwgMjUyLCAyMTYsIDYyLCA1NywgMTA2LCAyNTIsIDIxNSwgMjE3LCAyMzYsIDYyLCA1NywgMTA2LCAyNTIsIAorICAgIDIxNCwgNjIsIDU3LCAxMDYsIDI1MiwgMjEzLCA2MiwgNTcsIDEwNiwgMjUyLCAyMTIsIDIxMSwgMjU0LCAyNTAsIDEzOSwgCisgICAgNjIsIDU3LCAxMDYsIDI1MiwgMjExLCAyNTAsIDEzOSwgNjIsIDU3LCAxMDYsIDI1MiwgMjEwLCAyNTAsIDE0MCwgMjQzLCAKKyAgICAyNTUsIDYyLCA1NywgMTA2LCAyNTIsIDIwOSwgMjEyLCAwLCA2MiwgNTcsIDEwNiwgMjUyLCAyMDgsIDYyLCA1NywgMTA2LCAKKyAgICAyNTIsIDIwNywgNjIsIDU3LCAyMzAsIDE0MiwgMjUyLCAyMDYsIDI0NywgMTk4LCA2MiwgNTcsIDEwNiwgMjUyLCAyMDUsIAorICAgIDYyLCA1NywgMTA2LCAyNTIsIDIwNCwgNjIsIDU3LCAxMDYsIDI1MiwgMjAyLCA2MiwgNTcsIDEwNiwgMjUyLCAyMDEsIDYyLCAKKyAgICA1NywgMTA2LCAyNTIsIDIwMCwgNjIsIDU3LCAxMDYsIDI1MiwgMTk5LCAyNDgsIDE1OSwgNjIsIDU3LCAxMDYsIDI1MiwgCisgICAgMTk4LCA2MiwgNTcsIDEwNiwgMjUyLCAxOTcsIDYyLCA1NywgMTA2LCAyNTIsIDE5NiwgNjIsIDU3LCAxMDYsIDI1MiwgMTk1LCAKKyAgICA2MiwgNTcsIDEwNiwgMjUyLCAxOTQsIDYyLCA1NywgMTA2LCAyMTMsIDE4NiwgMjUzLCAyMywgNjIsIDU3LCAxMDYsIDIxMywgCisgICAgMTg2LCAyNTIsIDI0NiwgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAyNTIsIDI0NSwgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAKKyAgICAyNTIsIDI0NCwgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAyNTIsIDI0MywgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAyNTIsIAorICAgIDI0MiwgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAyNTIsIDI0MSwgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAyNTIsIDI0MCwgCisgICAgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAyNTIsIDIzOSwgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAyNTIsIDIzOCwgNjIsIDU3LCAKKyAgICAxMDYsIDIxMywgMTg2LCAyNTIsIDIzNywgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAyNTIsIDIzNiwgNjIsIDU3LCAxMDYsIAorICAgIDIxMywgMTg2LCAyNTIsIDIzNSwgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAyNTIsIDIzNCwgNjIsIDU3LCAxMDYsIDIxMywgCisgICAgMTg2LCAyNTIsIDIzMywgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAyNTIsIDIzMiwgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAKKyAgICAyNTIsIDIzMSwgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAyNTIsIDIzMCwgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAyNTIsIAorICAgIDIyOSwgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAyNTIsIDIyOCwgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAyNTIsIDIyNywgCisgICAgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAyNTIsIDIyNSwgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAyNTIsIDIyNCwgNjIsIDU3LCAKKyAgICAxMDYsIDIxMywgMTg2LCAyNTIsIDIyMiwgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAyNTIsIDIyMSwgNjIsIDU3LCAxMDYsIAorICAgIDIxMywgMTg2LCAyNTIsIDIyMCwgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAyNTIsIDIxOSwgNjIsIDU3LCAxMDYsIDIxMywgCisgICAgMTg2LCAyNTIsIDIwMywgNjIsIDU3LCAxMDYsIDIxMywgMTg2LCAyNTIsIDE5MywgMjU0LCAyMzYsIDIxMSwgMjA5LCAyMjAsIAorICAgIDEzOCwgMjMyLCAyMTMsIDI1NCwgMjM2LCAyMTEsIDIwOSwgMjIwLCAxMzgsIDI0NywgMTIwLCAyNTQsIDIzNiwgMjUwLCAKKyAgICAxMzAsIDc4LCAyNTQsIDIzNiwgNTQsIDExMCwgMjU0LCAyMzYsIDU0LCAxMDUsIDI1NCwgMjM2LCA1NCwgMTU4LCAyNTQsIAorICAgIDIzNiwgNTQsIDE2MSwgMjU0LCAyMzYsIDU0LCAxODksIDI1NCwgMjM2LCA1NCwgMTk0LCAyNTQsIDIzNiwgNTQsIDE5OCwgCisgICAgMjU0LCAyMzYsIDU0LCAxOTUsIDI1NCwgMjM2LCA1NCwgMjAwLCAyNTQsIDIzNiwgNTQsIDIxNiwgMjQ3LCAyNTQsIDIzNiwgCisgICAgNTQsIDIxNSwgNzMsIDI1NCwgMjM2LCA1NCwgMjE2LCAxNjIsIDI1NCwgMjM2LCA1NCwgMjQ0LCAxNSwgMjU0LCAyMzYsIDU0LCAKKyAgICAyNDQsIDExNCwgMjU0LCAyMzYsIDU0LCAyMTksIDExMSwgMjU0LCAyMzYsIDU0LCAyMjAsIDExNiwgMjU0LCAyMzYsIDU0LCAKKyAgICAyNDUsIDE4NCwgMjU0LCAyMzYsIDU0LCAyMjgsIDE5NSwgMjU0LCAyMzYsIDU0LCAxMjMsIDI0MCwgMjEwLCAyNTQsIDIzNiwgCisgICAgNTQsIDExMywgMjQwLCAyMTAsIDI1NCwgMjM2LCA1NCwgMTM0LCAyNDAsIDIxMCwgMjU0LCAyMzYsIDU0LCAyNDQsIDExLCAKKyAgICAyNDAsIDIxMCwgMjU0LCAyMzYsIDU0LCAyNDQsIDgxLCAyNDAsIDIxMCwgMjU0LCAyMzYsIDU0LCAyMTksIDEyNSwgMjQwLCAKKyAgICAyMTAsIDI1NCwgMjM2LCA1NCwgMjIwLCAxMjIsIDI0MCwgMjEwLCAyNTQsIDIzNiwgNTQsIDI0NSwgMTkzLCAyNDAsIDIxMCwgCisgICAgMjU0LCAyMzYsIDU0LCAyMjgsIDIwMCwgMjQwLCAyMTAsIDI1NCwgMjM2LCA1NCwgMTIzLCAyMTYsIDE0NywgMjU0LCAyMzYsIAorICAgIDU0LCAxMTMsIDIxNiwgMTQ3LCAyNTQsIDIzNiwgNTQsIDEzNCwgMjE2LCAxNDcsIDI1NCwgMjM2LCA1NCwgMjQ0LCAxMSwgCisgICAgMjE2LCAxNDcsIDI1NCwgMjM2LCA1NCwgMjQ0LCA4MSwgMjE2LCAxNDcsIDI1NCwgMjM2LCA1NCwgMjE5LCAxMjUsIDIxNiwgCisgICAgMTQ3LCAyNTQsIDIzNiwgNTQsIDIyMCwgMTIyLCAyMTYsIDE0NywgMjU0LCAyMzYsIDU0LCAyNDUsIDE5MywgMjE2LCAxNDcsIAorICAgIDI1NCwgMjM2LCA1NCwgMjI4LCAyMDAsIDIxNiwgMTQ3LCAyNTQsIDIzNiwgNTQsIDIxNiwgMjQ4LCAyMTYsIDE0NywgMjU0LCAKKyAgICAyMzYsIDU0LCAyMTUsIDc0LCAyMTYsIDE0NywgMjU0LCAyMzYsIDU0LCAyMTYsIDE2MywgMjE2LCAxNDcsIDI1NCwgMjM2LCAKKyAgICA1NCwgMjQ0LCAxNiwgMjE2LCAxNDcsIDI1NCwgMjM2LCA1NCwgMjQ0LCAxMTUsIDIxNiwgMTQ3LCAyNTQsIDIzNiwgNTQsIAorICAgIDIxOSwgMTEyLCAyMTYsIDE0NywgMjU0LCAyMzYsIDU0LCAyMjAsIDExNywgMjE2LCAxNDcsIDI1NCwgMjM2LCA1NCwgMjQ1LCAKKyAgICAxODUsIDIxNiwgMTQ3LCAyNTQsIDIzNiwgNTQsIDIyOCwgMTk2LCAyMTYsIDE0NywgMjU0LCAyMzYsIDIxMiwgMTQsIDI1MiwgCisgICAgMTI4LCAyMTQsIDE3MywgMjU0LCAyMzYsIDIxMiwgMTQsIDI0NCwgOTIsIDIxOCwgNTksIDI1NCwgMjM2LCAyMTIsIDE0LCAKKyAgICAyMjEsIDE3NiwgMjE4LCA1OSwgMjU0LCAyMzYsIDIxMiwgMTQsIDIxNiwgMTY5LCAyMTgsIDU5LCAyNTQsIDIzNiwgMjEyLCAKKyAgICAxNCwgMjQ0LCA0LCAyMTgsIDU5LCAyNTQsIDIzNiwgMjQ2LCA4MSwgMjMxLCA5MCwgMjQ0LCA5MiwgMjE4LCA1OSwgMjU0LCAKKyAgICAyMzYsIDIzMiwgMTk5LCAyMzEsIDkwLCAyNDQsIDkyLCAyMTgsIDU5LCAyNTQsIDIzNiwgMjMxLCA5MCwgMjIxLCAxNzYsIAorICAgIDIxOCwgNTksIDI1NCwgMjM2LCAyMzEsIDkwLCAyMTYsIDE2OSwgMjE4LCA1OSwgMjYsIDI1NSwgNiwgMjUzLCAxOTQsIDEyMywgCisgICAgMjI0LCAyMSwgMjYsIDI1NSwgNiwgMjUzLCAxOTQsIDEyMywgMjQyLCAyNywgMjYsIDI1NSwgNiwgMjUzLCAxOTQsIDEyMywgCisgICAgMjQ2LCAxMDAsIDI2LCAyNTUsIDYsIDI1MywgMTk0LCAxODksIDI2LCAyNTUsIDYsIDI1MywgMTk0LCAyNDQsIDExNCwgMjYsIAorICAgIDI1NSwgNiwgMjUzLCAxOTQsIDI0NCwgODEsIDI0MCwgMjEwLCAyNiwgMjU1LCA2LCAyNTMsIDE5NCwgMjQ0LCA4MSwgMjE2LCAKKyAgICAxNDcsIDI2LCAyNTUsIDYsIDI1MywgMTk0LCAyNDQsIDExNSwgMjE2LCAxNDcsIDI2LCAyNTUsIDYsIDI1MywgMTk0LCAyNDQsIAorICAgIDgxLCAyMTcsIDY3LCAyNiwgMjU1LCA2LCAyNTMsIDE5NCwgMjE2LCAyNDgsIDIxNywgNjcsIDI2LCAyNTUsIDYsIDI1MywgCisgICAgMTk0LCAyNDQsIDExNSwgMjE3LCA2NywgMjYsIDI1NSwgNiwgMjUzLCAxOTQsIDEyMywgMjQwLCAyMTEsIDIxNywgNjcsIDI2LCAKKyAgICAyNTUsIDYsIDI1MywgMTk0LCAyNDQsIDgxLCAyNDAsIDIxMSwgMjE3LCA2NywgMjYsIDI1NSwgNiwgMjUzLCAxOTQsIDEyMywgCisgICAgMjE2LCAxNDgsIDIxNywgNjcsIDI2LCAyNTUsIDYsIDI1MywgMTk0LCAyNDQsIDgxLCAyMTYsIDE0OCwgMjE3LCA2NywgMjYsIAorICAgIDI1NSwgNiwgMjUzLCAxOTQsIDI0NCwgODEsIDIxOCwgMTUwLCAyNiwgMjU1LCA2LCAyNTMsIDE5NCwgMjE2LCAyNDgsIDIxOCwgCisgICAgMTUwLCAyNiwgMjU1LCA2LCAyNTMsIDE5NCwgMjQ0LCAxMTUsIDIxOCwgMTUwLCAyNiwgMjU1LCA2LCAyNTMsIDE5NCwgMTIzLCAKKyAgICAyNDAsIDIxMSwgMjE4LCAxNTAsIDI2LCAyNTUsIDYsIDI1MywgMTk0LCAyNDQsIDgxLCAyNDAsIDIxMSwgMjE4LCAxNTAsIAorICAgIDI2LCAyNTUsIDYsIDI1MywgMTk0LCAxMjMsIDIxNiwgMTQ4LCAyMTgsIDE1MCwgMjYsIDI1NSwgNiwgMjUzLCAxOTQsIDIxNiwgCisgICAgMjQ4LCAyMTYsIDE0OCwgMjE4LCAxNTAsIDI2LCAyNTUsIDYsIDI1MywgMTk0LCAyNDQsIDExNSwgMjE2LCAxNDgsIDIxOCwgCisgICAgMTUwLCAyNiwgMjU1LCA2LCAyNTMsIDE5NCwgMjE2LCAyNDgsIDIzMCwgMTY0LCAyNiwgMjU1LCA2LCAyNDEsIDIwNSwgMTIzLCAKKyAgICAyMjUsIDMxLCAyNiwgMjU1LCA2LCAyMTYsIDE4MSwgMTEwLCAyNiwgMjU1LCA2LCAyNDEsIDIwMSwgMTEwLCAyNiwgMjU1LCAKKyAgICA2LCAyNDUsIDEwNCwgMTA1LCAyNiwgMjU1LCA2LCAyMTYsIDE4MSwgMTA1LCAyNiwgMjU1LCA2LCAyNDksIDY1LCAxMTMsIAorICAgIDI0NiwgOTksIDI2LCAyNTUsIDYsIDI0NSwgMTA0LCAxMTMsIDI0NiwgOTksIDI2LCAyNTUsIDYsIDIxNSwgMjAzLCAxODksIAorICAgIDI2LCAyNTUsIDYsIDIxNSwgMjAzLCAyMTYsIDI0NywgMjYsIDI1NSwgNiwgMjE1LCAyMDMsIDIxNiwgMjQ4LCAyNTQsIDE0MSwgCisgICAgMTcsIDI2LCAyNTUsIDYsIDI0MSwgMjAxLCAyMTYsIDI0NywgMjYsIDI1NSwgNiwgMjMxLCA0MSwgMjE2LCAyNDcsIDI2LCAKKyAgICAyNTUsIDYsIDIxNiwgMTgxLCAyMTYsIDI0NywgMjYsIDI1NSwgNiwgMjE2LCAxODEsIDIxNiwgMTYyLCAyNiwgMjU1LCA2LCAKKyAgICAyMTUsIDIwMywgMjQ0LCAxMTQsIDI2LCAyNTUsIDYsIDIxNSwgMjAzLCAyNDQsIDExNSwgMjU0LCAxNDEsIDE3LCAyNiwgCisgICAgMjU1LCA2LCAyNDEsIDIwMSwgMjQ0LCAxMTQsIDI2LCAyNTUsIDYsIDIxNiwgMTgxLCAyNDQsIDExNCwgMjYsIDI1NSwgNiwgCisgICAgMjE2LCAxODEsIDEyMywgMjQwLCAyMTAsIDI2LCAyNTUsIDYsIDIxNiwgMTgxLCAxMzQsIDI0MCwgMjEwLCAyNiwgMjU1LCA2LCAKKyAgICAyNDUsIDEwNCwgMjQ0LCA4MSwgMjQwLCAyMTAsIDI2LCAyNTUsIDYsIDIxNSwgMjAzLCAyNDQsIDgxLCAyNDAsIDIxMCwgMjYsIAorICAgIDI1NSwgNiwgMjE2LCAxODEsIDI0NCwgODEsIDI0MCwgMjEwLCAyNiwgMjU1LCA2LCAyNTAsIDIyNywgMjQ0LCA4MSwgMjQwLCAKKyAgICAyMTAsIDI2LCAyNTUsIDYsIDIyOSwgMTgyLCAyNDQsIDgxLCAyNDAsIDIxMCwgMjYsIDI1NSwgNiwgMjE2LCAxODEsIDEyMywgCisgICAgMjE2LCAxNDcsIDI2LCAyNTUsIDYsIDIxNiwgMTgxLCAyNDQsIDgxLCAyMTYsIDE0NywgMjYsIDI1NSwgNiwgMjQ4LCA1NywgCisgICAgMjQ0LCA4MSwgMjMwLCAxNjQsIDI2LCAyNTUsIDYsIDIxOCwgMTE4LCAyNDQsIDExNSwgMjMwLCAxNjQsIDI2LCAxMjMsIAorICAgIDE2MywgNTAsIDI2LCAxMjMsIDE2MywgNSwgMjU0LCAxNDEsIDE3LCAyNiwgMTEzLCAyMTYsIDE2NywgNTAsIDI2LCAxMzQsIAorICAgIDIyNCwgMjAsIDUwLCAyNiwgMjExLCA0NSwgNTAsIDI2LCAyMTcsIDY4LCA1MCwgMjYsIDI0NiwgMTAxLCA1MCwgMjYsIDIyNiwgCisgICAgMjQ2LCA1MCwgMjYsIDExMywgMjI2LCAyNDUsIDUwLCAyNiwgMTM0LCAyMjYsIDI0NSwgNTAsIDI2LCAyNDQsIDExLCAyMjYsIAorICAgIDI0NSwgNTAsIDI2LCAyNDQsIDgxLCAyMjYsIDI0NSwgNTAsIDI2LCAyMzEsIDM1LCA1MCwgMjYsIDIzMywgMTU3LCAyNTIsIAorICAgIDEyOCwgNTAsIDI2LCAyMzIsIDE5NCwgNTAsIDI2LCAyMjYsIDEzMSwgNTAsIDI2LCAyMTEsIDE1OSwgNTAsIDI2LCAyNTMsIAorICAgIDI0MywgNTAsIDI2LCAyNTQsIDAsIDUwLCAyNiwgMjQyLCAxNDQsIDUwLCAyNiwgMjE1LCAxODYsIDI1MiwgMTI4LCA1MCwgCisgICAgMjYsIDIxMCwgODcsIDUwLCAyMjIsIDE5OCwgMjIwLCAxMTMsIDUwLCAyMjIsIDE5OCwgMjE0LCAxODUsIDUwLCAyMjIsIAorICAgIDE5OCwgMjIwLCAxNDIsIDUwLCAyMjIsIDE5OCwgMjIwLCAxMTEsIDUwLCAyMjIsIDE5OCwgMjQ3LCAyMTMsIDIyMCwgMTExLCAKKyAgICA1MCwgMjIyLCAxOTgsIDIxOSwgMTY4LCA1MCwgMjIyLCAxOTgsIDI0OCwgNTMsIDUwLCAyMjIsIDE5OCwgMjI0LCA2LCA1MCwgCisgICAgMjIyLCAxOTgsIDIyMCwgMTI5LCA1MCwgMjIyLCAxOTgsIDI0NiwgNjAsIDUwLCAyMjIsIDE5OCwgMjUzLCAyMzgsIDUwLCAKKyAgICAyMjIsIDE5OCwgMjUwLCAxNzEsIDUwLCAyMjUsIDE0MywgMjQ3LCAxOTEsIDUsIDIyNSwgMjEzLCAyMjUsIDE0MywgMjQ3LCAKKyAgICAxOTEsIDUsIDIyNSwgMjQsIDI0MSwgMjM1LCAyMjUsIDE0MywgMjQ3LCAxOTEsIDUsIDIxNywgNDUsIDI0MSwgMjM1LCAyMjUsIAorICAgIDE0MywgMjQ3LCAxOTEsIDUsIDI1MCwgMjQ3LCAyMjUsIDE0MywgMjQ3LCAxOTEsIDUsIDI1MCwgMTAxLCAyMjUsIDE0MywgCisgICAgMjQ3LCAxOTEsIDUsIDIxMSwgMjIxLCAyMjUsIDE0MywgMjQ3LCAxOTEsIDUsIDI0MSwgMjExLCAyMjUsIDE0MywgMjQ3LCAKKyAgICAxOTEsIDUsIDI0MywgODUsIDIyNSwgMTQzLCAyNDcsIDE5MSwgNSwgMjE2LCAxMTYsIDIyNSwgMTQzLCAyNDcsIDE5MSwgNSwgCisgICAgNzQsIDIyNSwgMTQzLCAyNDcsIDE5MSwgNSwgMjUxLCAxNjksIDIyNSwgMTQzLCAyNDcsIDE5MSwgNSwgMjIwLCAyOSwgMjI1LCAKKyAgICAxNDMsIDI0NywgMTkxLCA1LCAyNDksIDI0NCwgMjI1LCAxNDMsIDI0NywgMTkxLCA1LCAyMzEsIDE4NCwgMjI1LCAxNDMsIAorICAgIDI0NywgMTkxLCA1LCAyMzEsIDEzNiwgMjI1LCAxNDMsIDI0NywgMTkxLCA1LCAyMjEsIDIxNiwgMjI1LCAxNDMsIDI0NywgCisgICAgMTkxLCA1LCAyMzIsIDIzNywgMjI1LCAxNDMsIDI0NywgMTkxLCA1LCAyNTEsIDE4OCwgMjI1LCAxNDMsIDI0NywgMTkxLCA1LCAKKyAgICAyNTAsIDIzMSwgMjI1LCAzNSwgMjI1LCAxNDMsIDI0NywgMTkxLCA1LCAyNDcsIDEzMywgMjI1LCAxNDMsIDI0NywgMTkxLCAKKyAgICA1LCAyNDksIDIyMywgMjI1LCAxNDMsIDI0NywgMTkxLCA1LCAyMTksIDg3LCAyMjUsIDE0MywgMjQ3LCAxOTEsIDUsIDI0OSwgCisgICAgMjI0LCAyMjUsIDE0MywgMjQ3LCAxOTEsIDUsIDI1MiwgNjMsIDIyNSwgMTQzLCAyNDcsIDE5MSwgNSwgMjIwLCAxNiwgMjI1LCAKKyAgICAxNDMsIDI0NywgMTkxLCA1LCAyNDAsIDI0OCwgMjI1LCAxNDMsIDI0NywgMTkxLCA1LCAyNDEsIDE3OCwgMjI1LCAxNDMsIAorICAgIDI0NywgMTkxLCA1LCAyNTEsIDExMiwgMjMzLCAzNiwgMjI1LCAxNDMsIDI0NywgMTkxLCA1LCAyNTAsIDIyNCwgMjI1LCAKKyAgICAxNDMsIDI0NywgMTkxLCA1LCAyMjMsIDE1MywgMjI1LCAxNDMsIDI0NywgMTkxLCA1LCAyNDUsIDIzMCwgMjI1LCAxNDMsIAorICAgIDI0NywgMTkxLCA1LCAyNDYsIDEwNywgMjI1LCAxNDMsIDI0NywgMTkxLCA1LCAyMTUsIDEwNSwgMjI1LCAxNDMsIDI0NywgCisgICAgMTkxLCA1LCAyNTIsIDY2LCAyMjUsIDE0MywgMjQ3LCAxOTEsIDUsIDIyNSwgMzYsIDIxNSwgMjM1LCAyMjUsIDE0MywgMjQ3LCAKKyAgICAxOTEsIDUsIDIxMywgMTU5LCAyMjUsIDE0MywgMjQ3LCAxOTEsIDUsIDIyNiwgMTgsIDIyNSwgMTQzLCAyNDcsIDE5MSwgNSwgCisgICAgMjIyLCAxOTAsIDIyNSwgMTQzLCAyNDcsIDE5MSwgNSwgMjMyLCAyMjQsIDIyNSwgMTQzLCAyNDcsIDE5MSwgNSwgMjI2LCAKKyAgICAxMTUsIDI1MiwgMTg0LCAyMjUsIDE0MywgMjQ3LCAxOTEsIDUsIDI0NCwgNDgsIDIyNSwgMTQzLCAyNDcsIDE5MSwgNSwgCisgICAgMjQyLCAxMzgsIDIyNSwgMTQzLCAyNDcsIDE5MSwgNSwgMjE4LCAxMTksIDIyNSwgMTQzLCAyNDcsIDE5MSwgNSwgNCwgMjUzLCAKKyAgICAxNjgsIDIyNSwgMTQzLCAyNDcsIDE5MSwgNSwgMjEyLCAzMiwgMjUyLCAxNDgsIDIyNSwgMTQzLCAyNDcsIDE5MSwgNSwgMzgsIAorICAgIDIyNiwgMjQ4LCA5MSwgMjMyLCA2MCwgMSwgNjEsIDIzMiwgNjAsIDEsIDc1LCAyMzIsIDYwLCAxLCAyNTMsIDE1OCwgMjMyLCAKKyAgICA2MCwgMSwgMjUyLCAxOSwgMjMyLCA2MCwgMSwgMjQzLCAyMDIsIDIzMiwgNjAsIDEsIDI0OSwgNjAsIDIzMiwgNjAsIDEsIAorICAgIDczLCAyMzIsIDYwLCAxLCAyMTIsIDk4LCAyMzIsIDYwLCAxLCAyMTAsIDE1OSwgMjMyLCA2MCwgMSwgMjE2LCAyMTAsIDIzMiwgCisgICAgNjAsIDEsIDIzNSwgMTQ0LCAyMzIsIDYwLCAxLCAyMzUsIDIzLCAyMzIsIDYwLCAxLCAyMjQsIDk2LCAyMzIsIDYwLCAxLCAKKyAgICAxNTYsIDIzMiwgNjAsIDEsIDE5MywgMjMyLCA2MCwgMSwgMjMwLCAyNSwgMjMyLCA2MCwgMSwgMjMwLCAxNjYsIDIzMiwgNjAsIAorICAgIDEsIDIyOCwgMTExLCAyMzIsIDYwLCAxLCA3MCwgMjMyLCA2MCwgMSwgMjI2LCAxMDUsIDIzMiwgNjAsIDEsIDIzNCwgNDcsIAorICAgIDIzMiwgNjAsIDEsIDE1MywgMjMyLCA2MCwgMSwgMjIyLCA5MSwgMjMyLCA2MCwgMSwgMjE3LCAxNTIsIDIzMiwgNjAsIDEsIAorICAgIDIxNSwgMTU5LCAyMzIsIDYwLCAxLCAyNTQsIDEyMywgMjMyLCA2MCwgMSwgMjQ1LCAxNTAsIDIzMiwgNjAsIDEsIDI0MiwgCisgICAgNjAsIDIzMiwgNjAsIDEsIDIxMSwgMTc4LCAyNTAsIDIzNywgMSwgNjEsIDI1MCwgMjM3LCAxLCAyMjYsIDkxLCAyNTAsIAorICAgIDIzNywgMSwgMjQ5LCA2MCwgMjUwLCAyMzcsIDEsIDE1NiwgMjUwLCAyMzcsIDEsIDIxNCwgMTE2LCAyNTAsIDIzNywgMSwgCisgICAgMTUzLCAyNTAsIDIzNywgMSwgMjMzLCA2MiwgMjUwLCAyMzcsIDEsIDI1NSwgNzUsIDI1MCwgMjM3LCAxLCAyMjQsIDk2LCAKKyAgICAyNTAsIDIzNywgMSwgMjUzLCAxNTgsIDI1MCwgMjM3LCAxLCAxOTMsIDI1MCwgMjM3LCAxLCA3NiwgMjUwLCAyMzcsIDEsIAorICAgIDI0OCwgMjIzLCAyNTAsIDIzNywgMSwgMjE3LCAxNTIsIDI1MCwgMjM3LCAxLCAyMjAsIDEwNCwgMjUwLCAyMzcsIDEsIDIyMCwgCisgICAgMTAzLCAyNTAsIDIzNywgMSwgMjIyLCA5MSwgMjUwLCAyMzcsIDEsIDI1MSwgNjUsIDI1MCwgMjM3LCAxLCA3MCwgMjUwLCAKKyAgICAyMzcsIDEsIDIyOCwgMTExLCAyNTAsIDIzNywgMSwgMjExLCAxNzgsIDI1MCwgMjM3LCAxLCAyMzAsIDI1LCAyNTAsIDIzNywgCisgICAgMSwgMjE1LCAxNTgsIDI1MCwgMjM3LCAxLCAyMjYsIDEwNSwgMjUwLCAyMzcsIDEsIDIxOCwgMjI2LCAyNTAsIDIzNywgMSwgCisgICAgNzMsIDI1MCwgMjM3LCAxLCA3NSwgMjUwLCAyMzcsIDEsIDIxNCwgMTEzLCAyNTAsIDIzNywgMSwgMjM1LCAyMywgMjUwLCAKKyAgICAyMzcsIDEsIDIzNSwgMTQsIDI1MCwgMjM3LCAxLCAyMjksIDE1MCwgMjUwLCAyMzcsIDEsIDIxNCwgMTE4LCAyNTAsIDIzNywgCisgICAgMSwgMjQzLCAyMDIsIDI1MCwgMjM3LCAxLCAyNDMsIDEzNywgMjUwLCAyMzcsIDEsIDIxOCwgMTY4LCAyNTAsIDIzNywgMSwgCisgICAgMjE4LCAxNjcsIDI1MCwgMjM3LCAxLCAyMjksIDc5LCAyNTAsIDIzNywgMSwgMjM2LCAzMywgMjUwLCAyMzcsIDEsIDI1MSwgCisgICAgNjQsIDI1MCwgMjM3LCAxLCAyMTUsIDE1OSwgMjUwLCAyMzcsIDEsIDIxNCwgMTE1LCAyNTAsIDIzNywgMSwgMjIyLCAxODAsIAorICAgIDI1MCwgMjM3LCAxLCAyMzEsIDEyOSwgMjUwLCAyMzcsIDEsIDIzMSwgMTI4LCAyNTAsIDIzNywgMSwgMjMxLCAxMjcsIDI1MCwgCisgICAgMjM3LCAxLCAyMzEsIDEyNiwgMjUwLCAyMzcsIDEsIDIzMywgNjEsIDI1MCwgMjM3LCAxLCAyNDUsIDIzNCwgMjUwLCAyMzcsIAorICAgIDEsIDIxNCwgMTE0LCA1NSwgMzIsIDEsIDYxLCA1NSwgMzIsIDEsIDI1MiwgNzUsIDU1LCAzMiwgMSwgMjM0LCAxODIsIDU1LCAKKyAgICAzMiwgMSwgMjQ4LCA5MCwgNTUsIDMyLCAxLCA3NSwgNTUsIDMyLCAxLCAyMTMsIDI1NSwgNTUsIDMyLCAxLCAyMTAsIDk0LCAKKyAgICA1NSwgMzIsIDEsIDI0MSwgMjM4LCA1NSwgMzIsIDEsIDIxNiwgMTk1LCA1NSwgMzIsIDEsIDczLCA1NSwgMzIsIDEsIDE3NiwgCisgICAgNTUsIDMyLCAxLCAyNDUsIDE3NCwgNTUsIDMyLCAxLCAyNDUsIDE1OSwgNTUsIDMyLCAxLCAyNDUsIDE1MCwgNTUsIDMyLCAxLCAKKyAgICAyNDUsIDc1LCA1NSwgMzIsIDEsIDc2LCA1NSwgMzIsIDEsIDIyNSwgMjIxLCA1NSwgMzIsIDEsIDIyMCwgNjMsIDU1LCAzMiwgCisgICAgMSwgMjMzLCAyMTcsIDU1LCAzMiwgMSwgMjQ1LCA5MiwgNTUsIDMyLCAxLCAyNDUsIDgyLCA1NSwgMzIsIDEsIDIxNywgMjIsIAorICAgIDU1LCAzMiwgMSwgNzAsIDU1LCAzMiwgMSwgMjQ1LCAxNzcsIDU1LCAzMiwgMSwgMjI1LCAxMzYsIDU1LCAzMiwgMSwgMjM0LCAKKyAgICAxMTksIDU1LCAzMiwgMSwgMjQ1LCAyMDIsIDU1LCAzMiwgMSwgMjQ1LCA4NCwgNTUsIDMyLCAxLCAyNTAsIDEzMSwgNTUsIAorICAgIDMyLCAxLCAyMzYsIDMzLCA1NSwgMzIsIDEsIDIxNCwgMTE4LCA1NSwgMzIsIDIyNywgMTk4LCAxMTAsIDU1LCAzMiwgMjI3LCAKKyAgICAxOTgsIDE4OSwgNTUsIDMyLCAyMjcsIDE5OCwgMjE2LCAyNDcsIDU1LCAzMiwgMjI3LCAxOTgsIDI0NCwgMTE0LCAyNDIsIAorICAgIDE1MywgMSwgMjU0LCAyMDQsIDI0MiwgMTUzLCAxLCAyNTIsIDE2MywgMjQyLCAxNTMsIDEsIDI0MiwgMjExLCAyNDIsIDE1MywgCisgICAgMSwgMjQ4LCAyMDQsIDI0MiwgMTUzLCAxLCAyNTQsIDIwMCwgMjQyLCAxNTMsIDEsIDIyNCwgNzksIDI0MiwgMTUzLCAxLCAKKyAgICAyMzUsIDE1NSwgMjQyLCAxNTMsIDEsIDI0MiwgMzksIDI0MiwgMTUzLCAxLCAyMTYsIDE1OCwgMjQyLCAxNTMsIDEsIDI0NSwgCisgICAgMTgzLCAyNDIsIDE1MywgMSwgMjMzLCAxOTAsIDI0MiwgMTUzLCAxLCAyMzMsIDExMywgMjQyLCAxNTMsIDEsIDIzMSwgMTc5LCAKKyAgICAyNDIsIDE1MywgMSwgMjI5LCAxODQsIDI0MiwgMTUzLCAxLCAyMzUsIDExOSwgMjQyLCAxNTMsIDEsIDIxNCwgMTM2LCAyNDIsIAorICAgIDE1MywgMSwgMjI2LCA2OSwgMjQyLCAxNTMsIDEsIDIyOCwgMTk1LCAyNDIsIDE1MywgMSwgMjIzLCAxNjUsIDI0MiwgMTUzLCAKKyAgICAxLCAyMjEsIDIxOCwgMjQyLCAxNTMsIDEsIDIxNywgNCwgMjQyLCAxNTMsIDEsIDIxMSwgMjM0LCAyNDIsIDE1MywgMSwgCisgICAgMjQ0LCAxNzgsIDI0MiwgMTUzLCAxLCAyMzYsIDM3LCAyNDIsIDE1MywgMSwgMjQwLCAxOTksIDI0MiwgMTUzLCAxLCAyMjYsIAorICAgIDEzOSwgMjQyLCAxNTMsIDEsIDIyOCwgMjAwLCAyNDAsIDIxMCwgMjE0LCAyMDksIDEsIDI1NCwgMTQ3LCAyMTQsIDIwOSwgMSwgCisgICAgMjUyLCAyNiwgMjE0LCAyMDksIDEsIDI0MywgMTA4LCAyMTQsIDIwOSwgMSwgMjM0LCAxMzIsIDIxNCwgMjA5LCAxLCAyNDgsIAorICAgIDU0LCAyMTQsIDIwOSwgMSwgMjQxLCA2OCwgMjE0LCAyMDksIDEsIDIxMSwgMjI3LCAyMTQsIDIwOSwgMSwgMjEwLCA4NSwgCisgICAgMjE0LCAyMDksIDEsIDI0MCwgMjQxLCAyMTQsIDIwOSwgMSwgMjE2LCAyMzAsIDIxNCwgMjA5LCAxLCAyMTAsIDIzMywgMjE0LCAKKyAgICAyMDksIDEsIDIzNCwgMjUwLCAyMTQsIDIwOSwgMSwgMjIwLCAyMCwgMjE0LCAyMDksIDEsIDIzMywgOTgsIDIxNCwgMjA5LCAKKyAgICAxLCAyMzEsIDY1LCAyMTQsIDIwOSwgMSwgMjQ4LCAyMSwgMjE0LCAyMDksIDEsIDIyNywgMTk0LCAyMTQsIDIwOSwgMSwgCisgICAgMjEwLCAxMywgMjE0LCAyMDksIDEsIDIyMSwgMjQ4LCAyMTQsIDIwOSwgMSwgMjU0LCAxOTYsIDIxNCwgMjA5LCAxLCAyMjQsIAorICAgIDE1MCwgMjE0LCAyMDksIDEsIDIyMiwgMjUsIDIxNCwgMjA5LCAxLCAyMjQsIDM1LCAyMTQsIDIwOSwgMSwgMjIzLCAxNDQsIAorICAgIDIxNCwgMjA5LCAxLCAyMTYsIDE5OSwgMjE0LCAyMDksIDEsIDI0MiwgMjQ0LCAyMTQsIDIwOSwgMSwgMTExLCAyMTQsIDIwOSwgCisgICAgMSwgNzMsIDIxNCwgMjA5LCAxLCA3MCwgMjE0LCAyMDksIDEsIDIxOCwgMTc5LCAyMTQsIDIwOSwgMjExLCAyMDksIDI0NywgCisgICAgMTcyLCA1NSwgMjI1LCAxNjksIDUsIDYxLCA1NSwgMjI1LCAxNjksIDUsIDczLCA1NSwgMjI1LCAxNjksIDUsIDcwLCA1NSwgCisgICAgMjI1LCAxNjksIDUsIDE3NiwgNTUsIDIyNSwgMTY5LCA1LCAyMzMsIDIxNywgNTUsIDIyNSwgMTY5LCA1LCAyNDMsIDEzNSwgCisgICAgNTUsIDIyNSwgMTY5LCA1LCAyNDIsIDExMywgNTUsIDIyNSwgMTY5LCA1LCAyMTEsIDE2NSwgNTUsIDIyNSwgMTY5LCA1LCAKKyAgICAyNTEsIDMzLCA1NSwgMjI1LCAxNjksIDUsIDIzNSwgMTQxLCA1NSwgMjI1LCAxNjksIDUsIDIzNSwgMTA4LCA1NSwgMjI1LCAKKyAgICAxNjksIDUsIDIxNywgMTA1LCA1NSwgMjI1LCAxNjksIDUsIDIxNSwgMTE4LCA1NSwgMjI1LCAxNjksIDUsIDI0OCwgMjIxLCAKKyAgICA1NSwgMjI1LCAxNjksIDUsIDI0OCwgMywgNTUsIDIyNSwgMTY5LCA1LCAyNDYsIDc4LCA1NSwgMjI1LCAxNjksIDUsIDIxNiwgCisgICAgMjA4LCA1NSwgMjI1LCAxNjksIDUsIDE5MCwgNTUsIDIyNSwgMTY5LCA1LCAyNTIsIDE5MSwgNTUsIDIyNSwgMTY5LCA1LCAKKyAgICAyNDQsIDE5NiwgNTUsIDIyNSwgMTY5LCA1LCAxOTcsIDU1LCAyMjUsIDE2OSwgNSwgMjI3LCAyMzcsIDU1LCAyMjUsIDE2OSwgCisgICAgNSwgMTg0LCA1NSwgMjI1LCAxNjksIDUsIDIzMCwgMjMwLCA1NSwgMjI1LCAxNjksIDUsIDIzMCwgMTAyLCA1NSwgMjI1LCAKKyAgICAxNjksIDUsIDE5MSwgNTUsIDIyNSwgMTY5LCA1LCAyMTQsIDI3LCA1NSwgMjI1LCAxNjksIDUsIDIxMywgMTc2LCA1NSwgCisgICAgMjI1LCAxNjksIDUsIDIwNSwgNTUsIDIyNSwgMTY5LCA1LCAyMjIsIDE0MCwgNTUsIDIyNSwgMTY5LCA1LCAyMzMsIDEzNSwgCisgICAgNTUsIDIyNSwgMTY5LCA1LCAyMDYsIDU1LCAyMjUsIDE2OSwgNSwgMjEwLCAxMTYsIDU1LCAyMjUsIDE2OSwgNSwgMjIwLCAKKyAgICAxMDIsIDU1LCAyMjUsIDE2OSwgNSwgMjE4LCAyMjMsIDU1LCAyMjUsIDE2OSwgNSwgMTYyLCA1NSwgMjI1LCAxNjksIDUsIAorICAgIDI1MywgMTg2LCA1NSwgMjI1LCAxNjksIDUsIDI1MywgMTg1LCA1NSwgMjI1LCAxNjksIDUsIDI1MywgMTg0LCA1NSwgMjI1LCAKKyAgICAxNjksIDUsIDIxMSwgMTQyLCA1NSwgMjI1LCAxNjksIDUsIDI0OCwgMjAwLCA1NSwgMjI1LCAxNjksIDUsIDI0OCwgMTk5LCAKKyAgICA1NSwgMjI1LCAxNjksIDUsIDI1MiwgMTcwLCA1NSwgMjI1LCAxNjksIDUsIDI1MSwgODUsIDU1LCAyMjUsIDE2OSwgMjExLCAKKyAgICAyMDksIDI0NywgMTcyLCA1NSwgMjI1LCAxNjksIDU0LCAxMTAsIDU1LCAyMjUsIDE2OSwgNTQsIDEwNSwgNTUsIDIyNSwgCisgICAgMTY5LCA1NCwgMjE2LCAyNDcsIDU1LCAyMjUsIDE2OSwgNTQsIDIxNSwgNzMsIDU1LCAyMjUsIDE2OSwgNTQsIDI0MCwgMjEwLCAKKyAgICAxODEsIDYsIDEsIDE5OSwgNzMsIDE4MSwgNiwgMSwgMTk5LCA3NSwgMTgxLCA2LCAxLCAxOTksIDYxLCAxODEsIDYsIDEsIAorICAgIDE5OSwgMjU0LCAyMDksIDE4MSwgNiwgMSwgMTk5LCA3NiwgMTgxLCA2LCAxLCAxOTksIDIyNiwgMTgzLCAxODEsIDYsIDEsIAorICAgIDIxOSwgMjUxLCA3MywgMTgxLCA2LCAxLCAyMTksIDI1MSwgNzUsIDE4MSwgNiwgMSwgMjE5LCAyNTEsIDYxLCAxODEsIDYsIAorICAgIDEsIDIxOSwgMjUxLCAyNTQsIDIwOSwgMTgxLCA2LCAxLCAyMTksIDI1MSwgNzYsIDE4MSwgNiwgMSwgMjE5LCAyNTEsIDIyNiwgCisgICAgMTgzLCAxODEsIDYsIDEsIDI1MywgMTY3LCAxODEsIDYsIDEsIDIyNiwgMTE2LCAxODEsIDYsIDEsIDIxMSwgMTk1LCAxODEsIAorICAgIDYsIDEsIDIxMSwgNDQsIDE4MSwgNiwgMSwgMjQyLCA2MCwgMTgxLCA2LCAxLCAyMjUsIDIxMSwgMTgxLCA2LCAxLCAyNTIsIAorICAgIDY2LCAxODEsIDYsIDEsIDIxNywgMTEsIDE4MSwgNiwgMSwgMjQ4LCA3NywgMTgxLCA2LCAxLCAyNTAsIDEyOCwgMTgxLCA2LCAKKyAgICAxLCAyMzUsIDEyNCwgMTgxLCA2LCAxLCAyMzQsIDE4OSwgMTgxLCA2LCAxLCAyNDMsIDgzLCAxODEsIDYsIDEsIDI0NSwgCisgICAgMjAyLCAxODEsIDYsIDEsIDIxMywgMjUwLCAxODEsIDYsIDEsIDI0NSwgNTksIDE4MSwgNiwgMSwgMjE2LCAxOTQsIDE4MSwgCisgICAgNiwgMSwgMjQ1LCA4MiwgMTgxLCA2LCAxLCAyMTAsIDkyLCAxODEsIDYsIDEsIDI0NSwgNzUsIDE4MSwgNiwgMSwgMjEwLCAKKyAgICA3MywgMTgxLCA2LCAxLCAyNDUsIDkyLCAxODEsIDYsIDEsIDI0NSwgMTc0LCAxODEsIDYsIDEsIDI0NSwgMTU5LCAxODEsIDYsIAorICAgIDEsIDI0NSwgMTUwLCAxODEsIDYsIDEsIDI0NSwgMTM4LCAxODEsIDYsIDEsIDIyNiwgMjE5LCAxODEsIDYsIDEsIDI0NSwgCisgICAgMzgsIDE4MSwgNCwgMSwgMTk5LCA3MywgMTgxLCA0LCAxLCAxOTksIDc1LCAxODEsIDQsIDEsIDE5OSwgNjEsIDE4MSwgNCwgCisgICAgMSwgMTk5LCAyNTQsIDIwOSwgMTgxLCA0LCAxLCAxOTksIDc2LCAxODEsIDQsIDEsIDE5OSwgMjI2LCAxODMsIDE4MSwgNCwgCisgICAgMSwgMjE5LCAyNTEsIDczLCAxODEsIDQsIDEsIDIxOSwgMjUxLCA3NSwgMTgxLCA0LCAxLCAyMTksIDI1MSwgNjEsIDE4MSwgCisgICAgNCwgMSwgMjE5LCAyNTEsIDI1NCwgMjA5LCAxODEsIDQsIDEsIDIxOSwgMjUxLCA3NiwgMTgxLCA0LCAxLCAyMTksIDI1MSwgCisgICAgMjI2LCAxODMsIDE4MSwgNCwgMSwgMjUzLCAxNjcsIDE4MSwgNCwgMSwgMjI2LCAxMTYsIDE4MSwgNCwgMSwgMjExLCAxOTUsIAorICAgIDE4MSwgNCwgMSwgMjExLCA0NCwgMTgxLCA0LCAxLCAyNDIsIDYwLCAxODEsIDQsIDEsIDIyNSwgMjExLCAxODEsIDQsIDEsIAorICAgIDI1MiwgNjYsIDE4MSwgNCwgMSwgMjE3LCAxMSwgMTgxLCA0LCAxLCAyNDgsIDc3LCAxODEsIDQsIDEsIDI1MCwgMTI4LCAKKyAgICAxODEsIDQsIDEsIDIzNSwgMTI0LCAxODEsIDQsIDEsIDIzNCwgMTg5LCAxODEsIDQsIDEsIDI0MywgODMsIDE4MSwgNCwgMSwgCisgICAgMjQ1LCAyMDIsIDE4MSwgNCwgMSwgMjEzLCAyNTAsIDE4MSwgNCwgMSwgMjQ1LCA1OSwgMTgxLCA0LCAxLCAyMTYsIDE5NCwgCisgICAgMTgxLCA0LCAxLCAyNDUsIDgyLCAxODEsIDQsIDEsIDIxMCwgOTIsIDE4MSwgNCwgMSwgMjQ1LCA3NSwgMTgxLCA0LCAxLCAKKyAgICAyMTAsIDczLCAxODEsIDQsIDEsIDI0NSwgOTIsIDE4MSwgNCwgMSwgMjQ1LCAxNzQsIDE4MSwgNCwgMSwgMjQ1LCAxNTksIAorICAgIDE4MSwgNCwgMSwgMjQ1LCAxNTAsIDE4MSwgNCwgMSwgMjQ1LCAxMzgsIDE4MSwgNCwgMSwgMjI2LCAyMTksIDE4MSwgNCwgMSwgCisgICAgMjQ1LCAzOCwgMjIwLCA2OSwgMSwgMjI1LCAyMDksIDIyMCwgNjksIDEsIDIxNiwgNSwgMjIwLCA2OSwgMSwgMjM0LCA5MSwgCisgICAgMjIwLCA2OSwgMSwgMjQ0LCAxNDcsIDIyMCwgNjksIDEsIDIxNiwgMTcyLCAyMjAsIDY5LCAxLCAyMTksIDU4LCAyMjAsIDY5LCAKKyAgICAxLCAyMTgsIDE0LCAyMjAsIDY5LCAxLCAyNTAsIDYxLCAyMjAsIDY5LCAxLCAyMTEsIDQ2LCAyMjAsIDY5LCAxLCAyNDAsIAorICAgIDIwOSwgMjIwLCA2OSwgMSwgMjUyLCA1LCAyMjAsIDY5LCAxLCAyNDgsIDg5LCAyMjAsIDY5LCAxLCAyNDMsIDEyMSwgMjIwLCAKKyAgICA2OSwgMSwgMjEzLCAxMjMsIDIyMCwgNjksIDEsIDIxNiwgMTc2LCAyMjAsIDY5LCAxLCAyMTAsIDIxLCAyMjAsIDY5LCAxLCAKKyAgICAyMzEsIDg5LCAyMjAsIDY5LCAxLCAyMzUsIDQ5LCAyMjAsIDY5LCAxLCAyMTEsIDIyNSwgMjIwLCA2OSwgMSwgMjQyLCA0OCwgCisgICAgMjIwLCA2OSwgMSwgMjMyLCAxNDIsIDIyMCwgNjksIDEsIDIzMCwgMTg5LCAyMjAsIDY5LCAxLCAyMzYsIDQwLCAyMjAsIDY5LCAKKyAgICAxLCAyNDUsIDIwMSwgMjIwLCA2OSwgMSwgMjUzLCAyMzEsIDIyMCwgNjksIDEsIDI1NCwgMjQ3LCAyMjAsIDY5LCAxLCAyMjYsIAorICAgIDE5NiwgMjIwLCA2OSwgMSwgMjExLCAyMTIsIDIyMCwgNjksIDEsIDIyNiwgMTMwLCAyMjAsIDY5LCAxLCAyNTQsIDIwOSwgCisgICAgMjIwLCA2OSwgMSwgMjIyLCAyMDgsIDIyMCwgNjksIDEsIDIyNywgMTk0LCAyMjAsIDY5LCAxLCAyNDUsIDIxNywgMjIwLCAKKyAgICA2OSwgMSwgMjU0LCAyMTQsIDIyMCwgNjksIDEsIDI0MCwgMTExLCAyMjAsIDY5LCAxLCAyMTQsIDE2MywgMjIwLCA2OSwgMSwgCisgICAgMjI2LCAyNTQsIDIyMCwgNjksIDEsIDIyNiwgMTc2LCAyMjAsIDY5LCAxLCAyMjYsIDIxOCwgMjIwLCA2OSwgMSwgMjUzLCAKKyAgICAxNzAsIDIyMCwgNjksIDEsIDI1NCwgMTksIDIyMCwgNjksIDEsIDIyNiwgMTU4LCAyMjAsIDY5LCAxLCAyNTQsIDE5MiwgCisgICAgMjIwLCA2OSwgMSwgMjQ1LCA4NiwgMjIwLCA2OSwgMSwgMjUzLCAyNTMsIDIyMCwgNjksIDEsIDI0NSwgMjI3LCAyMjAsIDY5LCAKKyAgICAxLCAyNDAsIDExOCwgMjIwLCA2OSwgMSwgMjExLCAxMywgMjI2LCAxNDEsIDEsIDI1NCwgMTcwLCAyMjYsIDE0MSwgMSwgCisgICAgMjUyLCAxOTEsIDIyNiwgMTQxLCAxLCAyMTcsIDEwNSwgMjI2LCAxNDEsIDEsIDIzNSwgMTQxLCAyMjYsIDE0MSwgMSwgMjExLCAKKyAgICAxNjUsIDIyNiwgMTQxLCAxLCAyMzQsIDEzMiwgMjI2LCAxNDEsIDEsIDI0OCwgNzYsIDIyNiwgMTQxLCAxLCAyMDUsIDIyNiwgCisgICAgMTQxLCAxLCAyMDYsIDIyNiwgMTQxLCAxLCAyMjAsIDI2LCAyMjYsIDE0MSwgMSwgMjQ4LCAyNSwgMjI2LCAxNDEsIDEsIAorICAgIDI1MCwgMjE1LCAyMjYsIDE0MSwgMSwgMjQzLCAxMzUsIDIyNiwgMTQxLCAxLCAyNDQsIDE5NiwgMjI2LCAxNDEsIDEsIDIyNCwgCisgICAgODYsIDIyNiwgMTQxLCAxLCAyMzUsIDksIDIyNiwgMTQxLCAxLCAyMzMsIDEzMCwgMjI2LCAxNDEsIDEsIDIzMCwgMjAwLCAKKyAgICAyMjYsIDE0MSwgMSwgMjI3LCAxNzgsIDIyNiwgMTQxLCAxLCAyMTIsIDMwLCAyMjYsIDE0MSwgMSwgMTYyLCAyMjYsIDE0MSwgCisgICAgMSwgMTkxLCAyMjYsIDE0MSwgMSwgNjEsIDIyNiwgMTQxLCAxLCA3NSwgMjI2LCAxNDEsIDEsIDczLCAyMjYsIDE0MSwgMSwgCisgICAgNzYsIDIyNiwgMTQxLCAxLCA3MCwgMjI2LCAxNDEsIDEsIDI1NSwgNzMsIDIyNiwgMTQxLCAxLCAyNDUsIDIwOSwgMjI2LCAKKyAgICAxNDEsIDEsIDIyNiwgMTgzLCAyMjYsIDE0MSwgMjEsIDIxMCwgODYsIDIyNiwgMTQxLCAyMSwgMTEwLCAyMjYsIDE0MSwgMjEsIAorICAgIDEwNSwgMjI2LCAxNDEsIDIxLCAxNTgsIDIyNiwgMTQxLCAyMSwgMTYxLCAyMjYsIDE0MSwgMjEsIDE4OSwgMjI2LCAxNDEsIAorICAgIDIxLCAxOTQsIDIyNiwgMTQxLCAyMSwgMTk4LCAyMjYsIDE0MSwgMjEsIDE5NSwgMjI2LCAxNDEsIDIxLCAyMDAsIDI0OSwgCisgICAgNjcsIDMsIDYxLCAyNDksIDY3LCAzLCA3NSwgMjQ5LCA2NywgMywgNzMsIDI0OSwgNjcsIDMsIDc2LCAyNDksIDY3LCAzLCAKKyAgICA3MCwgMjQ5LCA2NywgMywgMjM1LCAxNDEsIDI0OSwgNjcsIDMsIDIzNSwgNjgsIDI0OSwgNjcsIDMsIDE3NiwgMjQ5LCA2NywgCisgICAgMywgMjM0LCAxODIsIDI0OSwgNjcsIDMsIDIzNCwgOTIsIDI0OSwgNjcsIDMsIDIzNCwgMjgsIDI0OSwgNjcsIDMsIDIzMywgCisgICAgMjE3LCAyNDksIDY3LCAzLCAyMzMsIDEzNSwgMjQ5LCA2NywgMywgMjMzLCA1OCwgMjQ5LCA2NywgMywgMjMyLCAyNDEsIAorICAgIDI0OSwgNjcsIDMsIDIzMiwgMTU2LCAyNDksIDY3LCAzLCAyMzIsIDk4LCAyNDksIDY3LCAzLCAxODQsIDI0OSwgNjcsIDMsIAorICAgIDIzMSwgOTEsIDI0OSwgNjcsIDMsIDIzMCwgMjMwLCAyNDksIDY3LCAzLCAyMzAsIDE2MSwgMjQ5LCA2NywgMywgMjMwLCAKKyAgICAxMDIsIDI0OSwgNjcsIDMsIDE5NywgMjQ5LCA2NywgMywgMjI5LCAxMDcsIDI0OSwgNjcsIDMsIDIyOCwgMjMzLCAyNDksIAorICAgIDY3LCAzLCAyMjgsIDc0LCAyNDksIDY3LCAzLCAyMjcsIDIzNywgMjQ5LCA2NywgMywgMTkwLCAyNDksIDY3LCAzLCAyMjUsIAorICAgIDIyMSwgMjQ5LCA2NywgMywgMjI1LCAxMDgsIDI0OSwgNjcsIDMsIDIyNSwgMTYsIDI0OSwgNjcsIDMsIDIyNCwgMTUwLCAKKyAgICAyNDksIDY3LCAzLCAyMDUsIDI0OSwgNjcsIDMsIDIyMywgMTI4LCAyNDksIDY3LCAzLCAyMjMsIDM1LCAyNDksIDY3LCAzLCAKKyAgICAyMjIsIDIxMSwgMjQ5LCA2NywgMywgMjIyLCAxNDAsIDI0OSwgNjcsIDMsIDIwNiwgMjQ5LCA2NywgMywgMjIxLCAxODEsIAorICAgIDI0OSwgNjcsIDMsIDIxOSwgMTkxLCAyNDksIDY3LCAzLCAyMTksIDU4LCAyNDksIDY3LCAzLCAyMTgsIDgzLCAyNDksIDY3LCAKKyAgICAzLCAyMTcsIDEwNSwgMjQ5LCA2NywgMywgMjE3LCAyMiwgMjQ5LCA2NywgMywgMjE2LCAxMTcsIDI0OSwgNjcsIDMsIDExMSwgCisgICAgMjQ5LCA2NywgMywgMjE1LCAxMTgsIDI0OSwgNjcsIDMsIDIxMiwgNjUsIDI0OSwgNjcsIDMsIDIxMiwgMjIsIDI0OSwgNjcsIAorICAgIDMsIDIxMSwgMjUwLCAyNDksIDY3LCAzLCAyMTEsIDIyNywgMjQ5LCA2NywgMywgMjExLCAxNjUsIDI0OSwgNjcsIDMsIDIxMSwgCisgICAgMTYyLCAyNDksIDY3LCAzLCAyMTAsIDExNiwgMjQ5LCA2NywgMywgMjEwLCAyMywgMjM2LCAxLCAyNTQsIDI3LCAxLCAyNTQsIAorICAgIDE2OCwgMjM2LCAxLCAyNTQsIDI3LCAxLCAyNTIsIDI1LCAyMzYsIDEsIDI1NCwgMjcsIDEsIDI0MiwgMjAxLCAyMzYsIDEsIAorICAgIDI1NCwgMjcsIDEsIDI0OCwgMTg4LCAyMzYsIDEsIDI1NCwgMjcsIDEsIDI0MSwgMjM4LCAyMzYsIDEsIDI1NCwgMjcsIDEsIAorICAgIDIxMiwgMzAsIDIzNiwgMSwgMjU0LCAyNywgMSwgMjEwLCA5NywgMjM2LCAxLCAyNTQsIDI3LCAxLCAyNDEsIDE5NSwgMjM2LCAKKyAgICAxLCAyNTQsIDI3LCAxLCAyMTYsIDIyNiwgMjM2LCAxLCAyNTQsIDI3LCAxLCAyMTAsIDIzMiwgMjM2LCAxLCAyNTQsIDI3LCAKKyAgICAxLCAyMzQsIDIyNSwgMjM2LCAxLCAyNTQsIDI3LCAxLCAyMzMsIDkzLCAyMzYsIDEsIDI1NCwgMjcsIDEsIDIzMSwgNjUsIAorICAgIDIzNiwgMSwgMjU0LCAyNywgMSwgMjI3LCAxOTQsIDIzNiwgMSwgMjU0LCAyNywgMSwgMjIxLCAyNDksIDIzNiwgMSwgMjU0LCAKKyAgICAyNywgMSwgMjUzLCAxNjIsIDIzNiwgMSwgMjU0LCAyNywgMSwgMjI1LCAyMjEsIDIzNiwgMSwgMjU0LCAyNywgMSwgMjIyLCAKKyAgICAyNCwgMjM2LCAxLCAyNTQsIDI3LCAxLCAyMjQsIDM0LCAyMzYsIDEsIDI1NCwgMjcsIDEsIDIyMywgNjcsIDIzNiwgMSwgCisgICAgMjU0LCAyNywgMSwgMjIwLCAyMCwgMjM2LCAxLCAyNTQsIDI3LCAxLCAyMTcsIDM2LCAyMzYsIDEsIDI1NCwgMjcsIDIyMSwgCisgICAgMTczLCA1MCwgMjM2LCAxLCAyNTQsIDI3LCA1NCwgMTEwLCAyMzYsIDEsIDI1NCwgMjcsIDU0LCAxMDUsIDIzNiwgMSwgMjU0LCAKKyAgICAyNywgNTQsIDE1OCwgMjM2LCAxLCAyNTQsIDI3LCA1NCwgMjE2LCAyNDcsIDIzNiwgMSwgMjU0LCAyNywgNTQsIDIxNSwgNzMsIAorICAgIDIzNiwgMSwgMjU0LCAyNywgNTQsIDEyMywgMjQwLCAyMTAsIDIzNiwgMSwgMjU0LCAyNywgNTQsIDEyMywgMjE2LCAxNDcsIAorICAgIDIzNiwgMSwgMjU0LCAyNywgNTQsIDIxNiwgMjQ4LCAyMTYsIDE0NywgMjI1LCAxMTksIDEsIDI1NCwgMTY1LCAyMjUsIDExOSwgCisgICAgMSwgMjUyLCAyOCwgMjI1LCAxMTksIDEsIDI0MywgMTA5LCAyMjUsIDExOSwgMSwgMjQ4LCA1NiwgMjI1LCAxMTksIDEsIAorICAgIDI0MSwgMjM4LCAyMjUsIDExOSwgMSwgMjEyLCAzNywgMjI1LCAxMTksIDEsIDIxMCwgMTEwLCAyMjUsIDExOSwgMSwgMjQxLCAKKyAgICAxOTcsIDIyNSwgMTE5LCAxLCAyMTYsIDIzMCwgMjI1LCAxMTksIDEsIDIxMCwgMjMzLCAyMjUsIDExOSwgMSwgMjM0LCAyNTAsIAorICAgIDIyNSwgMTE5LCAxLCAyMzMsIDk5LCAyMjUsIDExOSwgMSwgMjMxLCA2NSwgMjI1LCAxMTksIDEsIDIyNywgMTk0LCAyMjUsIAorICAgIDExOSwgMSwgMjIwLCAxNDQsIDIyNSwgMTE5LCAxLCAyNTQsIDE5NiwgMjI1LCAxMTksIDEsIDIyNSwgMjIxLCAyMjUsIDExOSwgCisgICAgMSwgMjIyLCAyNSwgMjI1LCAxMTksIDEsIDIyNCwgMzksIDIyNSwgMTE5LCAxLCAyMjIsIDE4OSwgMjI1LCAxMTksIDEsIAorICAgIDIyMCwgMjAsIDIyNSwgMTE5LCAxLCAyMTcsIDQxLCAyMjUsIDExOSwgNTQsIDExMCwgMjI1LCAxMTksIDU0LCAyMTYsIDI0NywgCisgICAgMjI1LCAxMTksIDU0LCAyMTUsIDczLCAyMjUsIDExOSwgNTQsIDEyMywgMjQwLCAyMTAsIDIyNSwgMTE5LCA1NCwgMTA1LCAKKyAgICAyMjUsIDExOSwgNTQsIDE1OCwgMjI1LCAxMTksIDIxMSwgMjA5LCAyMjAsIDEzNywgMjMyLCA1OSwgMSwgNjEsIDIzMiwgNTksIAorICAgIDEsIDI1MywgMTU4LCAyMzIsIDU5LCAxLCAyNDMsIDIwMiwgMjMyLCA1OSwgMSwgMjQ5LCA2MCwgMjMyLCA1OSwgMSwgNzUsIAorICAgIDIzMiwgNTksIDEsIDIxNCwgMTA1LCAyMzIsIDU5LCAxLCA3MywgMjMyLCA1OSwgMSwgMjExLCAxMTcsIDIzMiwgNTksIDEsIAorICAgIDIzNSwgMjMsIDIzMiwgNTksIDEsIDE1NiwgMjMyLCA1OSwgMSwgMTkzLCAyMzIsIDU5LCAxLCAyMzAsIDI1LCAyMzIsIDU5LCAKKyAgICAxLCA3NiwgMjMyLCA1OSwgMSwgMTUzLCAyMzIsIDU5LCAxLCAyMTgsIDIyNiwgMjMyLCA1OSwgMSwgMjE3LCAxNTIsIDIzMiwgCisgICAgNTksIDEsIDcwLCAyMzIsIDU5LCAxLCAyNDUsIDYsIDIzMiwgNTksIDEsIDIyNCwgOTYsIDIzMiwgNTksIDEsIDIyMiwgOTEsIAorICAgIDIzMiwgNTksIDEsIDIxNSwgMTU5LCAyMzIsIDU5LCAxLCAyNTQsIDEyMywgMjMyLCA1OSwgMSwgMjQ1LCAxNTAsIDIzMiwgCisgICAgNTksIDEsIDIzMiwgNjIsIDIzMiwgNTksIDEsIDIyOCwgMTExLCAyMzIsIDU5LCAxLCAyNTEsIDY2LCAyMzIsIDU5LCAyMTUsIAorICAgIDIyMiwgNzgsIDIzMSwgNDgsIDI0MSwgMTc0LCAxLCA2MSwgMjMxLCA0OCwgMjQxLCAxNzQsIDEsIDc1LCAyMzEsIDQ4LCAKKyAgICAyNDEsIDE3NCwgMSwgNzMsIDIzMSwgNDgsIDI0MSwgMTc0LCAxLCA3NiwgMjMxLCA0OCwgMjQxLCAxNzQsIDEsIDE5MSwgCisgICAgMjMxLCA0OCwgMjQxLCAxNzQsIDEsIDIxMiwgNjUsIDIzMSwgNDgsIDI0MSwgMTc0LCAxLCAyNTIsIDE5MSwgMjMxLCA0OCwgCisgICAgMjQxLCAxNzQsIDEsIDI1MiwgMTkwLCAyMzEsIDQ4LCAyNDEsIDE3NCwgMSwgMTkwLCAyMzEsIDQ4LCAyNDEsIDE3NCwgMSwgCisgICAgMTg0LCAyMzEsIDQ4LCAyNDEsIDE3NCwgMSwgMTk3LCAyMzEsIDQ4LCAyNDEsIDE3NCwgMSwgMjI5LCAyMjgsIDIzMSwgNDgsIAorICAgIDI0MSwgMTc0LCAxLCAyMjksIDEwNywgMjMxLCA0OCwgMjQxLCAxNzQsIDEsIDIyOSwgMTA2LCAyMzEsIDQ4LCAyNDEsIDE3NCwgCisgICAgMSwgMjA1LCAyMzEsIDQ4LCAyNDEsIDE3NCwgMSwgMjIzLCAxODcsIDIzMSwgNDgsIDI0MSwgMTc0LCAxLCAyMzMsIDEzNSwgCisgICAgMjMxLCA0OCwgMjQxLCAxNzQsIDEsIDIzNCwgMTMyLCAyMzEsIDQ4LCAyNDEsIDE3NCwgMSwgMjQxLCAxODksIDIzMSwgNDgsIAorICAgIDI0MSwgMTc0LCAxLCAyMDYsIDIzMSwgNDgsIDI0MSwgMTc0LCAxLCAyMjIsIDMzLCAyMzEsIDQ4LCAyNDEsIDE3NCwgMSwgCisgICAgMjIxLCAxODEsIDIzMSwgNDgsIDI0MSwgMTc0LCAxLCAxNzYsIDIzMSwgNDgsIDI0MSwgMTc0LCAxLCAyMjQsIDg4LCAyMzEsIAorICAgIDQ4LCAyNDEsIDE3NCwgMSwgMjE3LCAxMDUsIDIzMSwgNDgsIDI0MSwgMTc0LCAxLCAyMTcsIDEwNCwgMjMxLCA0OCwgMjQxLCAKKyAgICAxNzQsIDEsIDIxNywgMjIsIDIzMSwgNDgsIDI0MSwgMTc0LCAxLCAyMTcsIDIxLCAyMzEsIDQ4LCAyNDEsIDE3NCwgMSwgCisgICAgMTExLCAyMzEsIDQ4LCAyNDEsIDE3NCwgMSwgMjQ4LCAyMjEsIDIzMSwgNDgsIDI0MSwgMTc0LCAxNiwgMjEzLCAxNzAsIAorICAgIDIzMSwgNDgsIDI0MSwgMTc0LCAxNiwgMjEzLCAxNjksIDIzMSwgNDgsIDI0OSwgOTQsIDEsIDYxLCAyMzEsIDQ4LCAyNDksIAorICAgIDk0LCAxLCA3NSwgMjMxLCA0OCwgMjQ5LCA5NCwgMSwgNzMsIDIzMSwgNDgsIDI0OSwgOTQsIDEsIDc2LCAyMzEsIDQ4LCAKKyAgICAyNDksIDk0LCAxLCAxOTEsIDIzMSwgNDgsIDI0OSwgOTQsIDEsIDIxMiwgNjUsIDIzMSwgNDgsIDI0OSwgOTQsIDEsIDI1MiwgCisgICAgMTkxLCAyMzEsIDQ4LCAyNDksIDk0LCAxLCAxOTAsIDIzMSwgNDgsIDI0OSwgOTQsIDEsIDE4NCwgMjMxLCA0OCwgMjQ5LCAKKyAgICA5NCwgMSwgMTk3LCAyMzEsIDQ4LCAyNDksIDk0LCAxLCAyMjksIDEwNywgMjMxLCA0OCwgMjQ5LCA5NCwgMSwgMjA1LCAyMzEsIAorICAgIDQ4LCAyNDksIDk0LCAxLCAyMzMsIDEzNSwgMjMxLCA0OCwgMjQ5LCA5NCwgMSwgMjM0LCAxMzIsIDIzMSwgNDgsIDI0OSwgCisgICAgOTQsIDEsIDI0MSwgMTg5LCAyMzEsIDQ4LCAyNDksIDk0LCAxLCAyMDYsIDIzMSwgNDgsIDI0OSwgOTQsIDEsIDI1NCwgMjMsIAorICAgIDIwNiwgMjMxLCA0OCwgMjQ5LCA5NCwgMSwgMjIxLCAxODEsIDIzMSwgNDgsIDI0OSwgOTQsIDEsIDE3NiwgMjMxLCA0OCwgCisgICAgMjQ5LCA5NCwgMSwgMjI0LCA4OCwgMjMxLCA0OCwgMjQ5LCA5NCwgMSwgMjE3LCAxMDUsIDIzMSwgNDgsIDI0OSwgOTQsIDEsIAorICAgIDIxNywgMjIsIDIzMSwgNDgsIDI0OSwgOTQsIDEsIDExMSwgMjMxLCA0OCwgMjQ5LCA5NCwgMSwgMjQ4LCAyMjEsIDIzMSwgCisgICAgNDgsIDI0OSwgOTQsIDIzMiwgMTQ1LCAyMjIsIDIxNywgMjMxLCA0OCwgMjQ5LCA5NCwgMjMyLCAxNDUsIDIzNiwgNiwgMjM0LCAKKyAgICAxMjAsIDEsIDYxLCAyMzQsIDEyMCwgMjUsIDUsIDczLCAyMzQsIDEyMCwgMjUsIDUsIDcwLCAyMzQsIDEyMCwgMjUsIDUsIAorICAgIDE0OSwgMTUzLCAyMzQsIDEyMCwgMjUsIDUsIDc1LCAyMzQsIDEyMCwgMjUsIDUsIDc2LCAyMzQsIDEyMCwgMjUsIDIzMywgCisgICAgMjMsIDc4LCAyMzQsIDEyMCwgNSwgNTIsIDIyMiwgMjM0LCA1MSwgMjM0LCAxMjAsIDUsIDI1NCwgNzUsIDIzNCwgMTIwLCA1LCAKKyAgICAyMTMsIDE0NywgMjM0LCAxMjAsIDEsIDE3NiwgMjM0LCAxMjAsIDEsIDIzNCwgMTMyLCAyMzQsIDEyMCwgMSwgMjQzLCAxMzUsIAorICAgIDIzNCwgMTIwLCAxLCAyNDIsIDI0OSwgMjM0LCAxMjAsIDEsIDI1MSwgMzMsIDIzNCwgMTIwLCAxLCAyNTAsIDE1NywgMjM0LCAKKyAgICAxMjAsIDEsIDIzNSwgMTQxLCAyMzQsIDEyMCwgMSwgMjI3LCAxNjUsIDIzNCwgMTIwLCAxLCAyMTUsIDE1NiwgMjM0LCAxMjAsIAorICAgIDEsIDIxNSwgMTQ0LCAyMzQsIDEyMCwgMSwgMjQ4LCAxMzUsIDIzNCwgMTIwLCAxLCAyNDgsIDExOSwgMjM0LCAxMjAsIDEsIAorICAgIDIyOCwgMTEwLCAyMzQsIDEyMCwgMSwgMjE3LCAxMDUsIDIzNCwgMTIwLCAxLCAyMTYsIDIwOCwgMjM0LCAxMjAsIDEsIDI0OCwgCisgICAgMjIxLCAyMzQsIDEyMCwgMSwgMjQ4LCAyNSwgMjM0LCAxMjAsIDEsIDE5NywgMjM0LCAxMjAsIDEsIDE5MCwgMjM0LCAxMjAsIAorICAgIDEsIDIyNSwgMTQ3LCAyMzQsIDEyMCwgMSwgMjUyLCAxOTEsIDIzNCwgMTIwLCAxLCAyNTIsIDE4LCAyMzQsIDEyMCwgMSwgCisgICAgMTg0LCAyMzQsIDEyMCwgMSwgMTkxLCAyMzQsIDEyMCwgMSwgMjA1LCAyMzQsIDEyMCwgMSwgMjMzLCAxMzUsIDIzNCwgMTIwLCAKKyAgICAxLCAyMTQsIDI3LCAyMzQsIDEyMCwgMSwgMjIwLCAxMDIsIDIzNCwgMTIwLCAxLCAyMTgsIDIyMywgMjM0LCAxMjAsIDEsIAorICAgIDIwNiwgMjM0LCAxMjAsIDEsIDIxMCwgMTE2LCAyMzQsIDEyMCwgMSwgMTYyLCAyMzQsIDEyMCwgMSwgMjM0LCA0NiwgMjM0LCAKKyAgICAxMjAsIDEsIDIxNSwgMTI0LCAyMzQsIDEyMCwgNSwgMjUyLCAxNDEsIDQ4LCAyMzQsIDEyMCwgNSwgMjUwLCAyMjEsIDIzNCwgCisgICAgMTIwLCA1LCA1OSwgNTEsIDIzNCwgMTIwLCAyMTMsIDE1MiwgMjM0LCAxMjAsIDIxLCAxMTAsIDIzNCwgMTIwLCAyMSwgMTA1LCAKKyAgICAyMzQsIDEyMCwgMjEsIDE1OCwgMjM0LCAxMjAsIDIxLCAxNjEsIDIzNCwgMTIwLCA1NCwgMjE2LCAyNDcsIDIzNCwgMTIwLCAKKyAgICA1NCwgMjE1LCA3MywgMjM0LCAxMjAsIDU0LCAxMjMsIDI0MCwgMjEwLCAyMzQsIDEyMCwgNTQsIDEyMywgMjE2LCAxNDcsIAorICAgIDIzNCwgMTIwLCAyMjQsIDE0MSwgMjQ3LCAxMjAsIDIzNCwgMTIwLCAyMjQsIDE0MSwgNCwgMjUwLCAzNSwgMjM0LCAxMjAsIAorICAgIDIyNCwgMTQxLCAyNTAsIDM1LCAyMzQsIDEyMCwgMjI0LCAxNDEsIDI0OSwgMTM3LCAxMzAsIDIzNCwgMTIwLCAyMjQsIDE0MSwgCisgICAgMjMxLCAxODAsIDIzNCwgMTIwLCAyMjQsIDE0MSwgMjMyLCAxMTUsIDIzNCwgMTIwLCAyMjQsIDE0MSwgMjQ4LCAxNzgsIAorICAgIDIzNCwgMTIwLCAyMjQsIDE0MSwgNTIsIDI0OCwgMTc4LCAyMzQsIDEyMCwgMjI0LCAxNDEsIDIzMiwgMjA3LCA1NSwgMjE5LCAKKyAgICAyOCwgMjU0LCAzOCwgMSwgMjQxLCAyMzgsIDU1LCAyMTksIDI4LCAyNTQsIDM4LCAxLCAyMzMsIDkzLCA1NSwgMjE5LCAyOCwgCisgICAgMjU0LCAzOCwgMSwgMjQxLCAxOTUsIDU1LCAyMTksIDI4LCAyNTQsIDM4LCAxLCAyMzEsIDY1LCA1NSwgMjE5LCAyOCwgMjU0LCAKKyAgICAzOCwgMSwgMjI0LCAzNCwgNTUsIDIxOSwgMjgsIDI1NCwgMzgsIDEsIDIxMiwgMzAsIDU1LCAyMTksIDI4LCAyNTQsIDM4LCAKKyAgICAxLCAyMjAsIDIwLCA1NSwgMjE5LCAyOCwgMjU0LCAzOCwgMSwgMjIzLCA2NywgNTUsIDIxOSwgMjgsIDI1NCwgMzgsIDEsIAorICAgIDI1MiwgMjUsIDU1LCAyMTksIDI4LCAyNTQsIDM4LCAxLCAyMTcsIDM2LCA1NSwgMjE5LCAyOCwgMjU0LCAzOCwgMSwgMjIxLCAKKyAgICAyMjYsIDU1LCAyMTksIDI4LCAyNTQsIDM4LCAxLCAyMzQsIDIyNSwgNTUsIDIxOSwgMjgsIDI1NCwgMzgsIDEsIDIyNywgCisgICAgMTk0LCA1NSwgMjE5LCAyOCwgMjU0LCAzOCwgMSwgMjM0LCAxMTYsIDU1LCAyMTksIDI4LCAyNTQsIDM4LCAxLCAyMjIsIDI0LCAKKyAgICA1NSwgMjE5LCAyOCwgMjU0LCAzOCwgMSwgMjIxLCAyNDksIDU1LCAyMTksIDI4LCAyNTQsIDM4LCAxLCAyNDQsIDE1NCwgNTUsIAorICAgIDIxOSwgMjgsIDI1NCwgMzgsIDEsIDI1NCwgMTcwLCA1NSwgMjE5LCAyOCwgMjU0LCAzOCwgMSwgMjUzLCAxNjEsIDU1LCAKKyAgICAyMTksIDI4LCAyNTQsIDM4LCAxLCAyNDgsIDIyLCA1NSwgMjE5LCAyOCwgMjU0LCAzOCwgMSwgMjQyLCAyMDEsIDU1LCAyMTksIAorICAgIDI4LCAyNTQsIDM4LCAxLCAyNDgsIDE4OCwgNTUsIDIxOSwgMjgsIDI1NCwgMzgsIDEsIDI0MiwgMjM4LCA1NSwgMjE5LCAyOCwgCisgICAgMjU0LCAzOCwgMSwgMjE2LCAyMjYsIDU1LCAyMTksIDI4LCAyNTQsIDM4LCAxLCAyMTAsIDk2LCA1NSwgMjE5LCAyOCwgMjU0LCAKKyAgICAzOCwgMSwgMjQ4LCAxOSwgNTUsIDIxOSwgMjgsIDI1NCwgMzgsIDEsIDIxMCwgMjMyLCA1NSwgMjE5LCAyOCwgMjU0LCAzOCwgCisgICAgMSwgMjE2LCAxOTcsIDU1LCAyMTksIDI4LCAyNTQsIDM4LCAxLCAyMTYsIDE3OCwgNTUsIDIxOSwgMjgsIDI1NCwgMzgsIDU0LCAKKyAgICAxMTAsIDU1LCAyMTksIDI4LCAyNTQsIDM4LCA1NCwgMjQ0LCAxMTQsIDU1LCAyMTksIDI4LCAyNTQsIDM4LCAxMzIsIDIzNSwgCisgICAgMjM4LCAyNTMsIDE3MiwgMSwgNjEsIDI1MywgMTcyLCAxLCAyNTUsIDczLCAyNTMsIDE3MiwgMSwgMjU0LCA3MywgMjUzLCAKKyAgICAxNzIsIDEsIDI1NSwgMzIsIDI1MywgMTcyLCAxLCAyNTQsIDEyMywgMjUzLCAxNzIsIDEsIDI1NSwgMzMsIDI1MywgMTcyLCAKKyAgICAxLCAyNTQsIDI0MywgMjUzLCAxNzIsIDEsIDI1NCwgMjM5LCAyNTMsIDE3MiwgMSwgNzUsIDI1MywgMTcyLCAxLCAyNDUsIAorICAgIDIwOSwgMjUzLCAxNzIsIDEsIDc2LCAyNTMsIDE3MiwgMSwgMjI2LCAxODMsIDI1MywgMTcyLCAxLCA3MywgMjUzLCAxNzIsIAorICAgIDEsIDIzNiwgMzMsIDI1MywgMTcyLCAxLCA3MCwgMjUzLCAxNzIsIDEsIDIxNCwgMTE4LCAyNTMsIDE3MiwgMSwgMjM0LCAKKyAgICAxODIsIDI1MywgMTcyLCAxLCAyMTEsIDE2MiwgMjUzLCAxNzIsIDEsIDIxMSwgMTI4LCAyNTMsIDE3MiwgMSwgMjExLCAxMzcsIAorICAgIDI1MywgMTcyLCAxLCAyNDMsIDYyLCAyNTMsIDE3MiwgMSwgMjQzLCAyNCwgMjUzLCAxNzIsIDEsIDI0MiwgMjM2LCAyNTMsIAorICAgIDE3MiwgMSwgMjUwLCAxOTAsIDI1MywgMTcyLCAxLCAyMzUsIDEyNiwgMjUzLCAxNzIsIDEsIDIxNywgMjIsIDI1MywgMTcyLCAKKyAgICAxLCAyMTYsIDE5NSwgMjUzLCAxNzIsIDEsIDI0OCwgOTAsIDI1MywgMTcyLCAxLCAyNDgsIDE3LCAyNTMsIDE3MiwgMSwgCisgICAgMjE1LCAxNTEsIDI1MywgMTcyLCAxLCAyMjUsIDIyMSwgMjUzLCAxNzIsIDEsIDI0NCwgMTU0LCAyNTMsIDE3MiwgMSwgMjUyLCAKKyAgICA3NSwgMjUzLCAxNzIsIDEsIDI1MiwgMTQsIDI1MywgMTcyLCAxLCAyMjksIDY0LCAyNTMsIDE3MiwgMSwgMjI4LCAyMzksIAorICAgIDI1MywgMTcyLCAxLCAyMjgsIDI0MCwgMjUzLCAxNzIsIDEsIDIyOSwgMTA3LCAyNTMsIDE3MiwgMSwgMjI3LCAxNTYsIDI1MywgCisgICAgMTcyLCAxLCAyMjgsIDEwNSwgMjUzLCAxNzIsIDEsIDIzMSwgOTEsIDI1MywgMTcyLCAxLCAyNDEsIDExNiwgMjUzLCAxNzIsIAorICAgIDEsIDIxMCwgMTY2LCAyNTMsIDE3MiwgMSwgMjExLCA0NywgMjUzLCAxNzIsIDEsIDIxMywgMjU1LCAyNTMsIDE3MiwgMSwgCisgICAgMjIzLCAxMjgsIDI1MywgMTcyLCAxLCAyMzMsIDU4LCAyNTMsIDE3MiwgMSwgMjIxLCAxODEsIDI1MywgMTcyLCAxLCAyMTAsIAorICAgIDk0LCAyNTMsIDE3MiwgMSwgMjIwLCA2MywgMjUzLCAxNzIsIDEsIDIxMCwgNzQsIDI1MywgMTcyLCAxLCAyMTksIDE5OCwgCisgICAgMjUzLCAxNzIsIDEsIDIxOCwgMTkzLCAyNTMsIDE3MiwgMSwgMjQxLCAyMzgsIDI1MywgMTcyLCAyNTUsIDIxLCA3OCwgMjE2LCAKKyAgICA3OSwgMTEzLCAxNzAsIDExNywgMTIzLCA1OSwgMjI0LCAxNDAsIDQsIDExMywgMTcwLCAxMTcsIDEyMywgNTksIDIyNCwgCisgICAgMTQwLCAyMzMsIDg1LCAxMTMsIDE3MCwgMTE3LCAxMjMsIDU5LCAyMjQsIDE0MCwgMjMzLCA4NSwgMTIzLCA1OSwgMTE3LCAKKyAgICAxMTMsIDE3MCwgMjI0LCAxNDAsIDIzMywgODUsIDExMywgMjIyLCAyMzIsIDExNywgMTIzLCAyMjIsIDIzNCwgMjI0LCAxNDAsIAorICAgIDIzMywgODUsIDEyMywgMjIyLCAyMzQsIDExNywgMTEzLCAyMjIsIDIzMiwgMjI0LCAxNDAsIDIzNSwgMjE4LCAyMjUsIDI1NCwgCisgICAgMSwgMjU0LCAxNjgsIDIzNSwgMjE4LCAyMjUsIDI1NCwgMSwgMjUyLCAyNSwgMjM1LCAyMTgsIDIyNSwgMjU0LCAxLCAyNDIsIAorICAgIDIwMSwgMjM1LCAyMTgsIDIyNSwgMjU0LCAxLCAyNDgsIDE4OCwgMjM1LCAyMTgsIDIyNSwgMjU0LCAxLCAyNDEsIDIzOCwgCisgICAgMjM1LCAyMTgsIDIyNSwgMjU0LCAxLCAyMTIsIDMwLCAyMzUsIDIxOCwgMjI1LCAyNTQsIDEsIDIxMCwgOTcsIDIzNSwgMjE4LCAKKyAgICAyMjUsIDI1NCwgMSwgMjQxLCAxOTUsIDIzNSwgMjE4LCAyMjUsIDI1NCwgMSwgMjE2LCAyMjYsIDIzNSwgMjE4LCAyMjUsIAorICAgIDI1NCwgMSwgMjEwLCAyMzIsIDIzNSwgMjE4LCAyMjUsIDI1NCwgMSwgMjM0LCAyMjUsIDIzNSwgMjE4LCAyMjUsIDI1NCwgMSwgCisgICAgMjMzLCA5MywgMjM1LCAyMTgsIDIyNSwgMjU0LCAxLCAyMzEsIDY1LCAyMzUsIDIxOCwgMjI1LCAyNTQsIDEsIDIyNywgMTk0LCAKKyAgICAyMzUsIDIxOCwgMjI1LCAyNTQsIDEsIDIyMSwgMjQ5LCAyMzUsIDIxOCwgMjI1LCAyNTQsIDEsIDI1MywgMTYyLCAyMzUsIAorICAgIDIxOCwgMjI1LCAyNTQsIDEsIDIyNSwgMjIxLCAyMzUsIDIxOCwgMjI1LCAyNTQsIDEsIDIyMiwgMjQsIDIzNSwgMjE4LCAKKyAgICAyMjUsIDI1NCwgMSwgMjI0LCAzNCwgMjM1LCAyMTgsIDIyNSwgMjU0LCAxLCAyMjMsIDY3LCAyMzUsIDIxOCwgMjI1LCAyNTQsIAorICAgIDEsIDIyMCwgMjAsIDIzNSwgMjE4LCAyMjUsIDI1NCwgMSwgMjE3LCAzNiwgMjM1LCAyMTgsIDIyNSwgMjU0LCA1NCwgMTEwLCAKKyAgICAyMzUsIDIxOCwgMjI1LCAyNTQsIDU0LCAxMDUsIDIzNSwgMjE4LCAyMjUsIDI1NCwgNTQsIDE1OCwgMjM1LCAyMTgsIDIyNSwgCisgICAgMjU0LCA1NCwgMTYxLCAyMzUsIDIxOCwgMjI1LCAyNTQsIDU0LCAyMTYsIDI0NywgMjM1LCAyMTgsIDIyNSwgMjU0LCA1NCwgCisgICAgMjE1LCA3MywgMjM1LCAyMTgsIDIyNSwgMjU0LCA1NCwgMTIzLCAyNDAsIDIxMCwgMjM1LCAyMTgsIDIyNSwgMjU0LCA1NCwgCisgICAgMTIzLCAyMTYsIDE0NywgMjM1LCAyMTgsIDIyNiwgNzIsIDEsIDI1NCwgMTY4LCAyMzUsIDIxOCwgMjI2LCA3MiwgMSwgMjUyLCAKKyAgICAyNSwgMjM1LCAyMTgsIDIyNiwgNzIsIDEsIDI0MiwgMjAxLCAyMzUsIDIxOCwgMjI2LCA3MiwgMSwgMjQ4LCAxODgsIDIzNSwgCisgICAgMjE4LCAyMjYsIDcyLCAxLCAyNDEsIDIzOCwgMjM1LCAyMTgsIDIyNiwgNzIsIDEsIDIxMiwgMjksIDIzNSwgMjE4LCAyMjYsIAorICAgIDcyLCAxLCAyMTAsIDk3LCAyMzUsIDIxOCwgMjI2LCA3MiwgMSwgMjQxLCAxOTUsIDIzNSwgMjE4LCAyMjYsIDcyLCAxLCAKKyAgICAyMTYsIDIyNiwgMjM1LCAyMTgsIDIyNiwgNzIsIDEsIDIxMCwgMjMyLCAyMzUsIDIxOCwgMjI2LCA3MiwgMSwgMjM0LCAyMjUsIAorICAgIDIzNSwgMjE4LCAyMjYsIDcyLCAxLCAyMzMsIDkzLCAyMzUsIDIxOCwgMjI2LCA3MiwgMSwgMjMxLCA2NCwgMjM1LCAyMTgsIAorICAgIDIyNiwgNzIsIDEsIDIyNywgMTk0LCAyMzUsIDIxOCwgMjI2LCA3MiwgMSwgMjIxLCAyNDksIDIzNSwgMjE4LCAyMjYsIDcyLCAKKyAgICAxLCAyMjUsIDIyMSwgMjM1LCAyMTgsIDIyNiwgNzIsIDEsIDIyMiwgMjQsIDIzNSwgMjE4LCAyMjYsIDcyLCAxLCAyMjAsIAorICAgIDIwLCAyMzUsIDIxOCwgMjI2LCA3MiwgMSwgMjE3LCAzNiwgMjM1LCAyMTgsIDIyNiwgNzIsIDU0LCAxMTAsIDIzNSwgMjE4LCAKKyAgICAyMjYsIDcyLCA1NCwgMTA1LCAyMzUsIDIxOCwgMjI2LCA3MiwgNTQsIDE1OCwgMjM1LCAyMTgsIDIyNiwgNzIsIDU0LCAxNjEsIAorICAgIDIzNSwgMjE4LCAyMjYsIDcyLCA1NCwgMjE2LCAyNDcsIDIzNSwgMjE4LCAyMjYsIDcyLCA1NCwgMjE1LCA3MywgMjM1LCAKKyAgICAyMTgsIDIyNiwgNzIsIDU0LCAxMjMsIDI0MCwgMjEwLCAyMzUsIDIxOCwgMjI2LCA3MiwgNTQsIDEyMywgMjE2LCAxNDcsIAorICAgIDU1LCAyMDEsIDEsIDIyNiwgMTQ5LCA2MSwgNTUsIDIwMSwgMSwgMjExLCAzNywgNjEsIDU1LCAyMDEsIDEsIDIxMSwgMzcsIAorICAgIDI1NCwgMjQzLCA1NSwgMjAxLCAxLCAyMjYsIDE0OSwgNzMsIDU1LCAyMDEsIDEsIDIxMSwgMzcsIDczLCA1NSwgMjAxLCAxLCAKKyAgICAyMTEsIDM3LCA3NSwgNTUsIDIwMSwgMSwgMjI2LCAxNDksIDc2LCA1NSwgMjAxLCAxLCAyMjYsIDE0OSwgMjI2LCAyMzQsIAorICAgIDU1LCAyMDEsIDEsIDIxMSwgMzcsIDIyNiwgMjM0LCA1NSwgMjAxLCAxLCAyMjYsIDE0OSwgMjU1LCAyNSwgNTUsIDIwMSwgMSwgCisgICAgMjExLCAzNywgMjU1LCAyNSwgNTUsIDIwMSwgMSwgMjI2LCAxNDksIDI1NCwgMjQyLCA1NSwgMjAxLCAxLCAyMTEsIDM3LCAKKyAgICAyNTQsIDI0MiwgNTUsIDIwMSwgMSwgMjI2LCAxNDksIDI1NCwgMjE2LCA1NSwgMjAxLCAxLCAyMTEsIDM3LCAyNTQsIDIxNiwgCisgICAgNTUsIDIwMSwgMSwgMjI2LCAxNDksIDI1NCwgMjM3LCA1NSwgMjAxLCAxLCAyMTEsIDM3LCAyNTQsIDIzNywgNTUsIDIwMSwgCisgICAgMSwgMjI2LCAxNDksIDI1NCwgMjU1LCA1NSwgMjAxLCAxLCAyMTEsIDM3LCAyNTQsIDI1NSwgNTUsIDIwMSwgMSwgMjI2LCAKKyAgICAxNDksIDI1NCwgMjQxLCA1NSwgMjAxLCAxLCAyMjYsIDE0OSwgMjQ1LCAxMiwgNTUsIDIwMSwgMSwgMjExLCAzNywgMjQ1LCAKKyAgICAxMiwgNTUsIDIwMSwgMSwgMjI2LCAxNDksIDI1MywgMTY3LCA1NSwgMjAxLCAxLCAyMTEsIDM3LCAyNTMsIDE2NywgNTUsIAorICAgIDIwMSwgMSwgMjI2LCAxNDksIDI1NCwgMjI0LCA1NSwgMjAxLCAxLCAyMTEsIDM3LCAyNTQsIDIyNCwgNTUsIDIwMSwgMSwgCisgICAgMjI2LCAxNDksIDI1NCwgMjM1LCA1NSwgMjAxLCAxLCAyMTEsIDM3LCAyNTQsIDIzNSwgNTUsIDIwMSwgMSwgMjI2LCAxNDksIAorICAgIDIyNiwgMjMzLCA1NSwgMjAxLCAxLCAyMTEsIDM3LCAyMjYsIDIzMywgNTUsIDIwMSwgMSwgMjI2LCAxNDksIDI1NCwgMTc4LCAKKyAgICA1NSwgMjAxLCAxLCAyMTEsIDM3LCAyNTQsIDE3OCwgNTUsIDIwMSwgMSwgMjI2LCAxNDksIDI1NCwgMjM0LCA1NSwgMjAxLCAKKyAgICAxLCAyMjYsIDE0OSwgMjQ1LCAxNjEsIDU1LCAyMDEsIDEsIDIyNiwgMTQ5LCAyNDUsIDE1OSwgNTUsIDIwMSwgMSwgMjI2LCAKKyAgICAxNDksIDI1NCwgMTIzLCA1NSwgMjAxLCAxLCAyMjYsIDE0OSwgMjU0LCAyMzIsIDU1LCAyMDEsIDEsIDIxMSwgMzcsIDI1NCwgCisgICAgMjMyLCA1NSwgMjAxLCAxLCAyMjYsIDE0OSwgMjQ1LCAxMzEsIDU1LCAyMDEsIDEsIDIxMSwgMzcsIDI0NSwgMTMxLCA1NSwgCisgICAgMjAxLCAxLCAyMjYsIDE0OSwgMjQ1LCAxNDcsIDU1LCAyMDEsIDEsIDIxMSwgMzcsIDI0NSwgMTQ3LCA1NSwgMjAxLCAxLCAKKyAgICAyMjYsIDE0OSwgMjQ1LCAxMTgsIDU1LCAyMDEsIDEsIDIxMSwgMzcsIDI0NSwgMTE4LCA1NSwgMjAxLCAxLCAyMTEsIDM3LCAKKyAgICAyNTQsIDExNSwgNTUsIDIwMSwgMSwgMjI2LCAxNDksIDI0NSwgMTM4LCA1NSwgMjAxLCAxLCAyMTEsIDM3LCAyNTQsIDIzMSwgCisgICAgNTUsIDIwMSwgMSwgMjI2LCAxNDksIDI0NSwgMTA4LCA1NSwgMjAxLCAxLCAyMjYsIDE0OSwgMjI2LCAxNzUsIDU1LCAyMDEsIAorICAgIDEsIDIyNiwgMTQ5LCAyNDAsIDExMywgNTUsIDIwMSwgMSwgMjI2LCAxNDksIDI0NSwgMjE1LCA1NSwgMjAxLCAxLCAyMTEsIAorICAgIDM3LCAyNDUsIDIxNSwgNTUsIDIwMSwgMSwgMjI2LCAxNDksIDI1NCwgNDUsIDU1LCAyMDEsIDEsIDIxMSwgMzcsIDI1NCwgCisgICAgNDUsIDU1LCAyMDEsIDEsIDIyNiwgMTQ5LCAyMzUsIDE4MSwgNTUsIDIwMSwgMSwgMjExLCAzNywgMjM1LCAxODEsIDU1LCAKKyAgICAyMDEsIDEsIDIyNiwgMTQ5LCAyMjYsIDE1OSwgNTUsIDIwMSwgMSwgMjExLCAzNywgMjI2LCAxNTksIDU1LCAyMDEsIDEsIAorICAgIDIyNiwgMTQ5LCAyNTQsIDQxLCA1NSwgMjAxLCAxLCAyMTEsIDM3LCAyNTQsIDQxLCA1NSwgMjAxLCAxLCAyMjYsIDE0OSwgCisgICAgMjU0LCAyMzAsIDU1LCAyMDEsIDEsIDIyNiwgMTQ5LCAyNTMsIDIzNywgNTUsIDIwMSwgMSwgMjI2LCAxNDksIDI1NCwgMjI4LCAKKyAgICA1NSwgMjAxLCAxLCAyMjYsIDE0OSwgMjUzLCAyMzEsIDU1LCAyMDEsIDEsIDIxMSwgMzcsIDI1MywgMjMxLCA1NSwgMjAxLCAKKyAgICAxLCAyMjYsIDE0OSwgMjQ1LCA3NSwgNTUsIDIwMSwgMSwgMjExLCAzNywgMjQ1LCA3NSwgNTUsIDIwMSwgMSwgMjI2LCAxNDksIAorICAgIDI1MywgMjA2LCA1NSwgMjAxLCAxLCAyMTEsIDM3LCAyNTMsIDIwNiwgNTUsIDIwMSwgMSwgMjI2LCAxNDksIDI1NCwgMjI1LCAKKyAgICA1NSwgMjAxLCAxLCAyMTEsIDM3LCAyNTQsIDIyNSwgNTUsIDIwMSwgMSwgMjI2LCAxNDksIDIyNiwgMTQwLCA1NSwgMjAxLCAKKyAgICAxLCAyMjYsIDE0OSwgMjUyLCAxMjUsIDIyMiwgMTI3LCAyMSwgMTEwLCAyMjIsIDEyNywgMjEsIDEwNSwgMjIyLCAxMjcsIAorICAgIDIxLCAxNTgsIDIyMiwgMTI3LCAyMSwgMTYxLCAyMjIsIDEyNywgMjEsIDE4OSwgMjIyLCAxMjcsIDIxLCAxOTQsIDIyMiwgCisgICAgMTI3LCAyMSwgMTk4LCAyMjIsIDEyNywgMjEsIDE5NSwgMjIyLCAxMjcsIDIxLCAyMDAsIDIyMiwgMTI3LCA1NCwgMjE2LCAKKyAgICAyNDcsIDIyMiwgMTI3LCA1NCwgMjE1LCA3MywgMjIyLCAxMjcsIDU0LCAyMTYsIDE2MiwgMjIyLCAxMjcsIDU0LCAyNDQsIAorICAgIDE1LCAyMjIsIDEyNywgNTQsIDI0NCwgMTE0LCAyMjIsIDEyNywgNTQsIDIxOSwgMTExLCAyMjIsIDEyNywgNTQsIDIyMCwgCisgICAgMTE2LCAyMjIsIDEyNywgNTQsIDI0NSwgMTg0LCAyMjIsIDEyNywgNTQsIDIyOCwgMTk1LCAyMjIsIDEyNywgNTQsIDEyMywgCisgICAgMjQwLCAyMTAsIDIyMiwgMTI3LCA1NCwgMTEzLCAyNDAsIDIxMCwgMjIyLCAxMjcsIDU0LCAxMzQsIDI0MCwgMjEwLCAyMjIsIAorICAgIDEyNywgNTQsIDI0NCwgMTEsIDI0MCwgMjEwLCAyMjIsIDEyNywgNTQsIDI0NCwgODEsIDI0MCwgMjEwLCAyMjIsIDEyNywgCisgICAgNTQsIDIxOSwgMTI1LCAyNDAsIDIxMCwgMjIyLCAxMjcsIDU0LCAyMjAsIDEyMiwgMjQwLCAyMTAsIDIyMiwgMTI3LCA1NCwgCisgICAgMjQ1LCAxOTMsIDI0MCwgMjEwLCAyMjIsIDEyNywgNTQsIDIyOCwgMjAwLCAyNDAsIDIxMCwgMjIyLCAxMjcsIDI0NCwgMiwgCisgICAgMTIzLCAyNDIsIDI3LCAyMjIsIDEyNywgMjQ0LCAyLCAxMjMsIDIyNCwgMjEsIDIyMiwgMTI3LCAyNDQsIDIsIDEyMywgMjE2LCAKKyAgICAxNjgsIDIyMiwgMTI3LCAyNDQsIDIsIDExMywgMjE2LCAxNjYsIDExOCwgNSwgMjUwLCAyNTUsIDExOCwgNSwgMjU0LCA3NSwgCisgICAgMTE4LCA1LCAyMTMsIDE0NywgMTE4LCA1LCAyMzUsIDEwMiwgMTE4LCA1LCAyMTQsIDE2MSwgMTE4LCAxLCA2MSwgMTE4LCAxLCAKKyAgICAyNTUsIDczLCAxMTgsIDEsIDczLCAxMTgsIDEsIDIzNiwgMzMsIDExOCwgMSwgNzAsIDExOCwgMSwgMjE0LCAxMTgsIDExOCwgCisgICAgMSwgMTQ5LCAxNTMsIDExOCwgMSwgMTQ5LCAyMjIsIDE4MCwgMTE4LCAxLCAxNDksIDE1NiwgMTE4LCAxLCAxNDksIDIzMiwgCisgICAgMTg1LCAxMTgsIDEsIDc1LCAxMTgsIDEsIDI1NCwgMjAxLCAxMTgsIDEsIDc2LCAxMTgsIDEsIDI1MywgMTkyLCAxMTgsIDEsIAorICAgIDE3NiwgMTE4LCAxLCAyMzQsIDEzMiwgMTE4LCAxLCAyNDMsIDEzNSwgMTE4LCAxLCAyNDIsIDI0OSwgMTE4LCAxLCAyMjksIAorICAgIDc3LCAxMTgsIDEsIDI1MSwgMzMsIDExOCwgMSwgMjUwLCAxNTcsIDExOCwgMSwgMjM1LCAxNDEsIDExOCwgMSwgMjM1LCAKKyAgICAxMTQsIDExOCwgMSwgMjI3LCAxNjUsIDExOCwgMSwgMjE1LCAxNTYsIDExOCwgMSwgMjE1LCAxNDQsIDExOCwgMSwgMjQ4LCAKKyAgICAxMzUsIDExOCwgMSwgMjQ4LCAxMTksIDExOCwgMSwgMjI4LCAxMTAsIDExOCwgMSwgMjE3LCAxMDUsIDExOCwgMSwgMjE2LCAKKyAgICAyMDgsIDExOCwgMSwgMjQ4LCAyMjEsIDExOCwgMSwgMjQ4LCAyNSwgMTE4LCAxLCAxOTcsIDExOCwgMSwgMTkwLCAxMTgsIDEsIAorICAgIDIyNSwgMTQ3LCAxMTgsIDEsIDI1MiwgMTkxLCAxMTgsIDEsIDI1MiwgMTgsIDExOCwgMSwgMTg0LCAxMTgsIDEsIDE5MSwgCisgICAgMTE4LCAxLCAyMDUsIDExOCwgMSwgMjMzLCAxMzUsIDExOCwgMSwgMjE0LCAyNywgMTE4LCAxLCAyMjAsIDEwMiwgMTE4LCAxLCAKKyAgICAyMTgsIDIyMywgMTE4LCAxLCAyMDYsIDExOCwgMSwgMTYyLCAxMTgsIDEsIDIzMiwgMTg0LCAxMTgsIDEsIDU1LCAzNiwgCisgICAgMjMyLCAxNzUsIDExOCwgMSwgNTUsIDM2LCAyMjIsIDE3OSwgMTE4LCAxLCA1NSwgMzYsIDIyOCwgOTIsIDExOCwgMjUsIDUsIAorICAgIDI1NSwgNzMsIDExOCwgMjUsIDUsIDI1MiwgMTUsIDI1NSwgNzMsIDExOCwgMjUsIDUsIDczLCAxMTgsIDI1LCA1LCAyMzYsIAorICAgIDMzLCAxMTgsIDI1LCA1LCA3MCwgMTE4LCAyNSwgNSwgMjE0LCAxMTgsIDExOCwgMjUsIDUsIDE0OSwgMTUzLCAxMTgsIDI1LCAKKyAgICA1LCAxNDksIDIyMiwgMTgwLCAxMTgsIDI1LCA1LCAxNDksIDE1NiwgMTE4LCAyNSwgNSwgMTQ5LCAyMzIsIDE4NSwgMTE4LCAKKyAgICAyNSwgNSwgNzUsIDExOCwgMjUsIDUsIDI1NCwgMjAxLCAxMTgsIDI1LCA1LCA3NiwgMTE4LCAyNSwgNSwgMjUzLCAxOTIsIAorICAgIDExOCwgMjEzLCAxNTIsIDExOCwgMjQ4LCAxNzgsIDExOCwgNTIsIDI0OCwgMTc4LCAxMTgsIDIyNCwgMTQxLCAyNDcsIDEyMCwgCisgICAgMTE4LCAyMjQsIDE0MSwgNTIsIDI0NywgMTIwLCAxMTgsIDIyNCwgMTQxLCAyMzIsIDIxMywgMTE4LCAyMjQsIDE0MSwgMjQ5LCAKKyAgICAxMzcsIDEzMCwgMTE4LCAyMjQsIDE0MSwgMjMyLCAxMTUsIDExOCwgNTQsIDExMCwgMTE4LCA1NCwgMTA1LCAxMTgsIDU0LCAKKyAgICAxNTgsIDExOCwgNTQsIDE2MSwgMTE4LCA1NCwgMTg5LCAxMTgsIDU0LCAxOTQsIDExOCwgNTQsIDE5OCwgMTE4LCA1NCwgCisgICAgMTk1LCAxMTgsIDU0LCAyMDAsIDExOCwgNTQsIDIxNiwgMjQ3LCAxMTgsIDU0LCAyMTUsIDczLCAxMTgsIDU0LCAyMTYsIAorICAgIDE2MiwgMTE4LCA1NCwgMjQ0LCAxNSwgMTE4LCA1NCwgMjQ0LCAxMTQsIDExOCwgNTQsIDIxOSwgMTExLCAxMTgsIDU0LCAKKyAgICAyMjAsIDExNiwgMTE4LCA1NCwgMjQ1LCAxODQsIDExOCwgNTQsIDIyOCwgMTk1LCAxMTgsIDU0LCAxMjMsIDI0MCwgMjEwLCAKKyAgICAxMTgsIDU0LCAxMjMsIDIxNiwgMTQ3LCAxMTgsIDIxLCAyMTAsIDg2LCAxMTgsIDIxLCAxMTAsIDExOCwgMjEsIDEwNSwgCisgICAgMTE4LCAyMSwgMTU4LCAxMTgsIDIxLCAxNjEsIDExOCwgMjEsIDE4OSwgMTE4LCAyMSwgMTk0LCAxMTgsIDIxLCAxOTgsIAorICAgIDExOCwgMjEsIDE5NSwgMTE4LCAyMSwgMjAwLCAyMzQsIDI0NCwgNSwgMjUwLCAyNTUsIDIzNCwgMjQ0LCA1LCAyNTQsIDc1LCAKKyAgICAyMzQsIDI0NCwgNSwgMjEzLCAxNDcsIDIzNCwgMjQ0LCAxLCA2MSwgMjM0LCAyNDQsIDEsIDI1NSwgNzMsIDIzNCwgMjQ0LCAKKyAgICAxLCA3MywgMjM0LCAyNDQsIDEsIDIzNiwgMzMsIDIzNCwgMjQ0LCAxLCA3MCwgMjM0LCAyNDQsIDEsIDIxNCwgMTE4LCAyMzQsIAorICAgIDI0NCwgMSwgNzUsIDIzNCwgMjQ0LCAxLCAyNTQsIDIwMSwgMjM0LCAyNDQsIDEsIDc2LCAyMzQsIDI0NCwgMSwgMjUzLCAKKyAgICAxOTIsIDIzNCwgMjQ0LCAxLCAxNzYsIDIzNCwgMjQ0LCAxLCAyMzQsIDEzMiwgMjM0LCAyNDQsIDEsIDI0MywgMTM1LCAyMzQsIAorICAgIDI0NCwgMSwgMjQyLCAyNDksIDIzNCwgMjQ0LCAxLCAyMjksIDc3LCAyMzQsIDI0NCwgMSwgMjUxLCAzMywgMjM0LCAyNDQsIAorICAgIDEsIDI1MCwgMTU3LCAyMzQsIDI0NCwgMSwgMjM1LCAxNDEsIDIzNCwgMjQ0LCAxLCAyMzUsIDExNCwgMjM0LCAyNDQsIDEsIAorICAgIDIyNywgMTY1LCAyMzQsIDI0NCwgMSwgMjE1LCAxNTYsIDIzNCwgMjQ0LCAxLCAyMTUsIDE0NCwgMjM0LCAyNDQsIDEsIDI0OCwgCisgICAgMTM1LCAyMzQsIDI0NCwgMSwgMjQ4LCAxMjQsIDIzNCwgMjQ0LCAxLCAyNDgsIDExOSwgMjM0LCAyNDQsIDEsIDIyMywgMzksIAorICAgIDIzNCwgMjQ0LCAxLCAyMjgsIDExMCwgMjM0LCAyNDQsIDEsIDIxNywgMTA1LCAyMzQsIDI0NCwgMSwgMjE2LCAyMDgsIDIzNCwgCisgICAgMjQ0LCAxLCAyNDgsIDIyMSwgMjM0LCAyNDQsIDEsIDI0OCwgMjUsIDIzNCwgMjQ0LCAxLCAxOTcsIDIzNCwgMjQ0LCAxLCAKKyAgICAxOTAsIDIzNCwgMjQ0LCAxLCAyMjUsIDE0NywgMjM0LCAyNDQsIDEsIDI1MiwgMTkxLCAyMzQsIDI0NCwgMSwgMjUyLCAxOCwgCisgICAgMjM0LCAyNDQsIDEsIDE4NCwgMjM0LCAyNDQsIDEsIDE5MSwgMjM0LCAyNDQsIDEsIDIwNSwgMjM0LCAyNDQsIDEsIDIzMywgCisgICAgMTM1LCAyMzQsIDI0NCwgMSwgMjE0LCAyNywgMjM0LCAyNDQsIDEsIDIyMCwgMTAyLCAyMzQsIDI0NCwgMSwgMjE4LCAyMjMsIAorICAgIDIzNCwgMjQ0LCAxLCAyMDYsIDIzNCwgMjQ0LCAxLCAxNjIsIDIzNCwgMjQ0LCAyNSwgNSwgMjU1LCA3MywgMjM0LCAyNDQsIAorICAgIDI1LCA1LCA3MywgMjM0LCAyNDQsIDI1LCA1LCAyMzYsIDMzLCAyMzQsIDI0NCwgMjUsIDUsIDcwLCAyMzQsIDI0NCwgMjUsIAorICAgIDUsIDIxNCwgMTE4LCAyMzQsIDI0NCwgMjUsIDUsIDc1LCAyMzQsIDI0NCwgMjUsIDUsIDI1NCwgMjAxLCAyMzQsIDI0NCwgCisgICAgMjUsIDUsIDc2LCAyMzQsIDI0NCwgMjUsIDUsIDI1MywgMTkyLCAyMzQsIDI0NCwgNSwgMjEzLCAxNTIsIDIzNCwgMjQ0LCA1LCAKKyAgICAyMjcsIDIwNSwgMjM0LCAyNDQsIDI1NSwgMjEsIDUwLCAyMzQsIDI0NCwgMjQ1LCAxMjEsIDUwLCAyMzQsIDI0NCwgNTQsIAorICAgIDUwLCAyMzQsIDI0NCwgMjIxLCAxNzMsIDc4LCAyMzQsIDI0NCwgNTIsIDIyMSwgMTczLCA3OCwgMjM0LCAyNDQsIDI0OCwgCisgICAgMTc4LCAyMzQsIDI0NCwgNTIsIDI0OCwgMTc4LCAyMTksIDM2LCAyMTksIDQ0LCAxLCAyMjIsIDE4LCAyMTksIDM2LCAyMTksIAorICAgIDQ0LCAxLCAyMTcsIDgwLCAyMTksIDM2LCAyMTksIDQ0LCAxLCAyNTIsIDE2OCwgMjE5LCAzNiwgMjE5LCA0NCwgMSwgMjUxLCAKKyAgICAyMywgMjE5LCAzNiwgMjE5LCA0NCwgMSwgMjQ4LCAyMDMsIDIxOSwgMzYsIDIxOSwgNDQsIDEsIDI0MywgMTIwLCAyMTksIAorICAgIDM2LCAyMTksIDQ0LCAxLCAyMzEsIDIxMCwgMjE5LCAzNiwgMjE5LCA0NCwgMSwgMjI5LCA3NCwgMjE5LCAzNiwgMjE5LCA0NCwgCisgICAgMSwgMjMzLCAxMTIsIDIxOSwgMzYsIDIxOSwgNDQsIDEsIDIyOSwgMjEzLCAyMTksIDM2LCAyMTksIDQ0LCAxLCAyMTQsIDI0LCAKKyAgICAyMTksIDM2LCAyMTksIDQ0LCAxLCAyMjYsIDczLCAyMTksIDM2LCAyMTksIDQ0LCAxLCAyMTEsIDg0LCAyMTksIDM2LCAyMTksIAorICAgIDQ0LCAxLCAyMjMsIDE2OCwgMjE5LCAzNiwgMjE5LCA0NCwgMSwgMjQyLCAzNywgMjE5LCAzNiwgMjE5LCA0NCwgMSwgMjM0LCAKKyAgICAyNDgsIDIxOSwgMzYsIDIxOSwgNDQsIDEsIDIzNSwgMTM2LCAyMTksIDM2LCAyMTksIDQ0LCAxLCAyMjcsIDE2MiwgMjE5LCAKKyAgICAzNiwgMjE5LCA0NCwgMSwgMjU0LCAyMDksIDIxOSwgMzYsIDIxOSwgNDQsIDEsIDI0NSwgMjA3LCAyMTksIDM2LCAyMTksIAorICAgIDQ0LCAxLCAyMzYsIDM0LCAyMTksIDM2LCAyMTksIDQ0LCAxLCAyMTQsIDIwOCwgMjE5LCAzNiwgMjE5LCA0NCwgMSwgMjI2LCAKKyAgICAyMjIsIDIxOSwgMzYsIDIxOSwgNDQsIDEsIDI0NSwgMTk3LCAyMTksIDM2LCAyMTksIDQ0LCAxLCAyMzEsIDIyMywgMjE5LCAKKyAgICAzNiwgMjE5LCA0NCwgMjEsIDIxMCwgODYsIDIxOSwgMzYsIDIxOSwgNDQsIDIxLCAxMTAsIDIxOSwgMzYsIDIxOSwgNDQsIAorICAgIDIxLCAxMDUsIDIxOSwgMzYsIDIxOSwgNDQsIDIxLCAxNTgsIDIxOSwgMzYsIDIxOSwgNDQsIDIxLCAxNjEsIDIxOSwgMzYsIAorICAgIDIxOSwgNDQsIDIxLCAxODksIDIxOSwgMzYsIDIxOSwgNDQsIDIxLCAxOTQsIDIxOSwgMzYsIDIxOSwgNDQsIDIxLCAxOTgsIAorICAgIDIxOSwgMzYsIDIxOSwgNDQsIDIxLCAxOTUsIDIxOSwgMzYsIDIxOSwgNDQsIDIxLCAyMDAsIDI1MCwgMTUxLCA1LCAyNTAsIAorICAgIDI1NSwgMjUwLCAxNTEsIDUsIDI1NCwgNzUsIDI1MCwgMTUxLCA1LCAyMTMsIDE0NywgMjUwLCAxNTEsIDEsIDI1NSwgNzMsIAorICAgIDI1MCwgMTUxLCAxLCA3MywgMjUwLCAxNTEsIDEsIDcwLCAyNTAsIDE1MSwgMSwgNzUsIDI1MCwgMTUxLCAxLCAyMzUsIDEwLCAKKyAgICAyNTAsIDE1MSwgMSwgMjM0LCAxMzEsIDI1MCwgMTUxLCAxLCAyNDMsIDEzMiwgMjUwLCAxNTEsIDEsIDI0MiwgMjQ4LCAyNTAsIAorICAgIDE1MSwgMSwgMjI5LCA3NiwgMjUwLCAxNTEsIDEsIDI1MSwgMzIsIDI1MCwgMTUxLCAxLCAyNTAsIDE1NiwgMjUwLCAxNTEsIAorICAgIDEsIDIzNSwgMTQwLCAyNTAsIDE1MSwgMSwgMjM1LCAxMTMsIDI1MCwgMTUxLCAxLCAyMjcsIDE2NCwgMjUwLCAxNTEsIDEsIAorICAgIDIxNSwgMTU1LCAyNTAsIDE1MSwgMSwgMjE1LCAxNDMsIDI1MCwgMTUxLCAxLCAyNDgsIDEzNCwgMjUwLCAxNTEsIDEsIDI0OCwgCisgICAgMTE4LCAyNTAsIDE1MSwgMSwgMjI4LCAxMDksIDI1MCwgMTUxLCAxLCAyMTcsIDEwMSwgMjUwLCAxNTEsIDEsIDIxNiwgMjA3LCAKKyAgICAyNTAsIDE1MSwgMSwgMjQ4LCAyMjAsIDI1MCwgMTUxLCAxLCAyNDgsIDI0LCAyNTAsIDE1MSwgMSwgMjI5LCAyMjUsIDI1MCwgCisgICAgMTUxLCAxLCAyMjYsIDg5LCAyNTAsIDE1MSwgMSwgMjI1LCAxNDYsIDI1MCwgMTUxLCAxLCAyNTIsIDE4OSwgMjUwLCAxNTEsIAorICAgIDEsIDI1MiwgMTcsIDI1MCwgMTUxLCAxLCAyMzEsIDIzNywgMjUwLCAxNTEsIDEsIDIxMCwgMTY3LCAyNTAsIDE1MSwgMSwgCisgICAgMjExLCAxMDMsIDI1MCwgMTUxLCAxLCAyMjMsIDE4NCwgMjUwLCAxNTEsIDEsIDIzMywgMTM0LCAyNTAsIDE1MSwgMSwgMjEyLCAKKyAgICA2NCwgMjUwLCAxNTEsIDEsIDIyMiwgMzEsIDI1MCwgMTUxLCAxLCAyNDIsIDQ2LCAyNTAsIDE1MSwgMjUsIDUsIDYxLCAyNTAsIAorICAgIDE1MSwgMjUsIDUsIDczLCAyNTAsIDE1MSwgMjUsIDUsIDIzNiwgMzMsIDI1MCwgMTUxLCAyNSwgNSwgNzAsIDI1MCwgMTUxLCAKKyAgICAyNSwgNSwgMjE0LCAxMTgsIDI1MCwgMTUxLCAyNSwgNSwgNzUsIDI1MCwgMTUxLCAyNSwgNSwgMjU0LCAyMDEsIDI1MCwgCisgICAgMTUxLCAyNSwgNSwgNzYsIDI1MCwgMTUxLCAyNSwgNSwgMjUzLCAxOTIsIDI1MCwgMTUxLCAyNSwgNSwgMjI2LCAyMTksIAorICAgIDI1MCwgMTUxLCAxNDQsIDc4LCAyNTAsIDE1MSwgMjUzLCAxOTMsIDc4LCAyNTAsIDE1MSwgMjEzLCAxNTIsIDI1MCwgMTUxLCAKKyAgICAyMzEsIDIzNSwgMjUwLCAxNTEsIDIxLCAyMTAsIDg2LCAyNTAsIDE1MSwgMjEsIDExMCwgMjUwLCAxNTEsIDIxLCAxMDUsIAorICAgIDI1MCwgMTUxLCAyMSwgMTU4LCAyNTAsIDE1MSwgMjEsIDE2MSwgMjUwLCAxNTEsIDIxLCAxODksIDI1MCwgMTUxLCAyMSwgCisgICAgMTk0LCAyNTAsIDE1MSwgMjEsIDE5OCwgMjUwLCAxNTEsIDIxLCAxOTUsIDI1MCwgMTUxLCAyMSwgMjAwLCAyNTAsIDE1MSwgCisgICAgMjIxLCAxNzMsIDc4LCAyNTAsIDE1MSwgMjQ4LCAxNzgsIDI1MCwgMTUxLCA1MiwgMjQ4LCAxNzgsIDI1MCwgMTUxLCAyMjQsIAorICAgIDEzLCA3OCwgMTc0LCA1LCAyNTAsIDI1NSwgMTc0LCA1LCAyNTQsIDc1LCAxNzQsIDUsIDIxMywgMTQ3LCAxNzQsIDEsIDYxLCAKKyAgICAxNzQsIDEsIDI1NSwgNzMsIDE3NCwgMSwgNzMsIDE3NCwgMSwgMjM2LCAzMywgMTc0LCAxLCA3MCwgMTc0LCAxLCAyMTQsIAorICAgIDExOCwgMTc0LCAxLCAxNDksIDE1MywgMTc0LCAxLCAxNDksIDIyMiwgMTgwLCAxNzQsIDEsIDE0OSwgMTU2LCAxNzQsIDEsIAorICAgIDE0OSwgMjMyLCAxODUsIDE3NCwgMSwgNzUsIDE3NCwgMSwgMjU0LCAyMDEsIDE3NCwgMSwgNzYsIDE3NCwgMSwgMjUzLCAKKyAgICAxOTIsIDE3NCwgMSwgMTc2LCAxNzQsIDEsIDIzNCwgMTMyLCAxNzQsIDEsIDI0MywgMTM1LCAxNzQsIDEsIDI0MiwgMjQ5LCAKKyAgICAxNzQsIDEsIDIyOSwgNzcsIDE3NCwgMSwgMjUxLCAzMywgMTc0LCAxLCAyNTAsIDE1NywgMTc0LCAxLCAyMzUsIDE0MSwgCisgICAgMTc0LCAxLCAyMzUsIDExNCwgMTc0LCAxLCAyMjcsIDE2NSwgMTc0LCAxLCAyMTUsIDE1NiwgMTc0LCAxLCAyMTUsIDE0NCwgCisgICAgMTc0LCAxLCAyNDgsIDEzNSwgMTc0LCAxLCAyNDgsIDExOSwgMTc0LCAxLCAyMjgsIDExMCwgMTc0LCAxLCAyMTcsIDEwNSwgCisgICAgMTc0LCAxLCAyMTYsIDIwOCwgMTc0LCAxLCAyNDgsIDIyMSwgMTc0LCAxLCAyNDgsIDI1LCAxNzQsIDEsIDE5NywgMTc0LCAxLCAKKyAgICAxOTAsIDE3NCwgMSwgMjI1LCAxNDcsIDE3NCwgMSwgMjUyLCAxOTEsIDE3NCwgMSwgMjUyLCAxOCwgMTc0LCAxLCAxODQsIAorICAgIDE3NCwgMSwgMTkxLCAxNzQsIDEsIDIwNSwgMTc0LCAxLCAyMzMsIDEzNSwgMTc0LCAxLCAyMzIsIDE4NCwgMTc0LCAxLCAKKyAgICAyMTQsIDI3LCAxNzQsIDEsIDIyMCwgMTAyLCAxNzQsIDEsIDIxOCwgMjIzLCAxNzQsIDEsIDIwNiwgMTc0LCAxLCAxNjIsIAorICAgIDE3NCwgMjUsIDUsIDI1NSwgNzMsIDE3NCwgMjUsIDUsIDczLCAxNzQsIDI1LCA1LCAyMzYsIDMzLCAxNzQsIDI1LCA1LCA3MCwgCisgICAgMTc0LCAyNSwgNSwgMjE0LCAxMTgsIDE3NCwgMjUsIDUsIDE0OSwgMTUzLCAxNzQsIDI1LCA1LCAxNDksIDIyMiwgMTgwLCAKKyAgICAxNzQsIDI1LCA1LCAxNDksIDE1NiwgMTc0LCAyNSwgNSwgMTQ5LCAyMzIsIDE4NSwgMTc0LCAyNSwgNSwgNzUsIDE3NCwgMjUsIAorICAgIDUsIDI1NCwgMjAxLCAxNzQsIDI1LCA1LCA3NiwgMTc0LCAyNSwgNSwgMjUzLCAxOTIsIDE3NCwgNSwgMjEzLCAxNTIsIDE3NCwgCisgICAgNSwgMjUzLCAxNzUsIDE3NCwgNSwgMjM1LCAxMDIsIDE3NCwgNSwgMjE0LCAxNjEsIDE3NCwgMjI2LCAyMDQsIDE3NCwgMjQ4LCAKKyAgICAxNzgsIDE3NCwgNTIsIDI0OCwgMTc4LCAxNzQsIDI1NSwgMjEsIDUwLCAxNzQsIDIyMCwgMTM3LCAxNzQsIDIxLCAyMTAsIAorICAgIDg2LCAxNzQsIDIxLCAxMTAsIDE3NCwgMjEsIDEwNSwgMTc0LCAyMSwgMTU4LCAxNzQsIDIxLCAxNjEsIDE3NCwgMjEsIDE4OSwgCisgICAgMTc0LCAyMSwgMTk0LCAxNzQsIDIxLCAxOTgsIDE3NCwgMjEsIDE5NSwgMTc0LCAyMSwgMjAwLCAyMTcsIDY5LCAxLCA2MSwgCisgICAgMjE3LCA2OSwgMSwgMjU1LCA3MywgMjE3LCA2OSwgMSwgNzMsIDIxNywgNjksIDEsIDIzNiwgMzMsIDIxNywgNjksIDEsIDcwLCAKKyAgICAyMTcsIDY5LCAxLCAyMTQsIDExOCwgMjE3LCA2OSwgMSwgNzUsIDIxNywgNjksIDEsIDI1NCwgMjAxLCAyMTcsIDY5LCAxLCAKKyAgICA3NiwgMjE3LCA2OSwgMSwgMjUzLCAxOTIsIDIxNywgNjksIDEsIDE3NiwgMjE3LCA2OSwgMSwgMjM0LCAxMzIsIDIxNywgNjksIAorICAgIDEsIDI0MywgMTM1LCAyMTcsIDY5LCAxLCAyNDIsIDI0OSwgMjE3LCA2OSwgMSwgMjI5LCA3NywgMjE3LCA2OSwgMSwgMjUxLCAKKyAgICAzMywgMjE3LCA2OSwgMSwgMjUwLCAxNTcsIDIxNywgNjksIDEsIDIzNSwgMTQxLCAyMTcsIDY5LCAxLCAyMzUsIDExNCwgCisgICAgMjE3LCA2OSwgMSwgMjI3LCAxNjUsIDIxNywgNjksIDEsIDIxNSwgMTU2LCAyMTcsIDY5LCAxLCAyMTUsIDE0NCwgMjE3LCAKKyAgICA2OSwgMSwgMjQ4LCAxMzUsIDIxNywgNjksIDEsIDI0OCwgMTE5LCAyMTcsIDY5LCAxLCAyMjgsIDExMCwgMjE3LCA2OSwgMSwgCisgICAgMjE3LCAxMDUsIDIxNywgNjksIDEsIDIxNiwgMjA4LCAyMTcsIDY5LCAxLCAyNDgsIDIyMSwgMjE3LCA2OSwgMSwgMjQ4LCAKKyAgICAyNSwgMjE3LCA2OSwgMSwgMTk3LCAyMTcsIDY5LCAxLCAxOTAsIDIxNywgNjksIDEsIDIyNSwgMTQ3LCAyMTcsIDY5LCAxLCAKKyAgICAyNTIsIDE5MSwgMjE3LCA2OSwgMSwgMjUyLCAxOCwgMjE3LCA2OSwgMSwgMTg0LCAyMTcsIDY5LCAxLCAxOTEsIDIxNywgNjksIAorICAgIDEsIDIwNSwgMjE3LCA2OSwgMSwgMjMzLCAxMzUsIDIxNywgNjksIDEsIDIxNCwgMjcsIDIxNywgNjksIDEsIDIyMCwgMTAyLCAKKyAgICAyMTcsIDY5LCAxLCAyMDYsIDIxNywgNjksIDEsIDE2MiwgMjE3LCA2OSwgMSwgMjIyLCAxNzksIDIxNywgNjksIDUsIDI1NCwgCisgICAgNzUsIDIxNywgNjksIDUsIDIxMywgMTQ3LCAyMTcsIDY5LCAyNSwgNSwgMjU1LCA3MywgMjE3LCA2OSwgMjUsIDUsIDczLCAKKyAgICAyMTcsIDY5LCAyNSwgNSwgMjM2LCAzMywgMjE3LCA2OSwgMjUsIDUsIDcwLCAyMTcsIDY5LCAyNSwgNSwgMjE0LCAxMTgsIAorICAgIDIxNywgNjksIDI1LCA1LCA3NSwgMjE3LCA2OSwgMjUsIDUsIDI1NCwgMjAxLCAyMTcsIDY5LCAyNSwgNSwgNzYsIDIxNywgCisgICAgNjksIDI1LCA1LCAyNTMsIDE5MiwgMjE3LCA2OSwgNSwgMjEzLCAxNTIsIDIxNywgNjksIDUsIDIyNywgMjA1LCAyMTcsIDY5LCAKKyAgICAyMSwgMjEwLCA4NiwgMjE3LCA2OSwgMjEsIDExMCwgMjE3LCA2OSwgMjEsIDEwNSwgMjE3LCA2OSwgMjEsIDE1OCwgMjE3LCAKKyAgICA2OSwgMjEsIDE2MSwgMjE3LCA2OSwgMjEsIDE4OSwgMjE3LCA2OSwgMjEsIDE5NCwgMjE3LCA2OSwgMjEsIDE5OCwgMjE3LCAKKyAgICA2OSwgMjEsIDE5NSwgMjE3LCA2OSwgMjEsIDIwMCwgMTUsIDUsIDYxLCAxNSwgNSwgMTE1LCAzMCwgNjEsIDE1LCA1LCAxMTUsIAorICAgIDMwLCAyNTIsIDE3NiwgMTUsIDUsIDExNSwgMzAsIDI0MywgMTA1LCAyMTYsIDIzOSwgMTUsIDUsIDExNSwgMzAsIDE2MiwgCisgICAgMTUsIDUsIDExNSwgMzAsIDIzNiwgMzUsIDE1LCA1LCAxMTUsIDMwLCAyMzMsIDExNiwgMjQyLCA5NCwgMTUsIDUsIDExNSwgCisgICAgMzAsIDIzMCwgNjEsIDE1LCA1LCAxMTUsIDMwLCAyMjIsIDIxLCAxNSwgNSwgMjU1LCA3NSwgMTUsIDUsIDI1NSwgMjUsIDE1LCAKKyAgICA1LCAyNTUsIDI2LCAzMCwgMjUzLCAyMjksIDE1LCA1LCAyNTUsIDI2LCAzMCwgMjQ2LCA2NywgMjQyLCA5NCwgMTUsIDUsIAorICAgIDI1NSwgMjYsIDMwLCAyNDMsIDExOCwgMTUsIDUsIDI1NSwgMjYsIDMwLCAyNDMsIDEwNSwgMjE2LCAyMzksIDE1LCA1LCAKKyAgICAyNTUsIDI2LCAzMCwgMTYyLCAxNSwgNSwgMjU1LCAyNiwgMzAsIDIzNiwgMzYsIDI0MiwgOTQsIDE1LCA1LCAyNTUsIDI2LCAKKyAgICAzMCwgMjM2LCA5LCAxNSwgNSwgMjU1LCAyNiwgMzAsIDIzMywgMTE3LCAxNSwgNSwgMjU1LCAyNiwgMzAsIDIyMCwgNDgsIAorICAgIDE1LCA1LCAyNTUsIDI2LCAzMCwgMTA0LCA5NiwgMTA0LCA5NiwgNzAsIDE1LCA1LCAyNTUsIDI2LCAyNDIsIDk0LCAxNSwgNSwgCisgICAgMjU1LCAyMywgMTUsIDUsIDI1NSwgMjQsIDMwLCAyNTIsIDE2MCwgMTUsIDUsIDI1NSwgMjQsIDMwLCAyNDMsIDEwNSwgMjE2LCAKKyAgICAyMzksIDE1LCA1LCAyNTUsIDI0LCAzMCwgMjMxLCA5MiwgOTYsIDI0NSwgMTUwLCAxNSwgNSwgMjU1LCAyNCwgMzAsIDIyMCwgCisgICAgMTAwLCAxNSwgNSwgMjU1LCAyNCwgMzAsIDIxNywgNzIsIDE1LCA1LCAyNTQsIDI1NSwgMTUsIDUsIDI1NCwgMTg2LCAxNSwgCisgICAgNSwgMjU0LCAxODcsIDMwLCAyNDUsIDg3LCAxNSwgNSwgMjU0LCAxODcsIDMwLCAyMjAsIDEwLCA5NiwgMjQyLCAxOTAsIDE1LCAKKyAgICA1LCAyNTQsIDE3OCwgMTUsIDUsIDI1NCwgMTc5LCAzMCwgMjU0LCAxNzgsIDE1LCA1LCAyNTQsIDE3OSwgMzAsIDI0NywgCisgICAgMjE2LCAxNSwgNSwgMjU0LCAxNzksIDMwLCAyNDIsIDE5MCwgMTUsIDUsIDI1NCwgMTc5LCAzMCwgMTYyLCAxNSwgNSwgMjU0LCAKKyAgICAxNzksIDMwLCAyMzQsIDI1NSwgMTUsIDUsIDI1NCwgMTc5LCAzMCwgMjM0LCA5MiwgMTUsIDUsIDI1NCwgMTc5LCAzMCwgCisgICAgMjIwLCA2MywgMTUsIDUsIDI1NCwgMTc5LCAzMCwgMjE0LCAxMjYsIDE1LCA1LCAyNTQsIDE3NSwgMTUsIDUsIDI1NCwgMTY4LCAKKyAgICAxNSwgNSwgMjU0LCAxMzIsIDE1LCA1LCAyNTQsIDEzMywgMzAsIDIyMCwgNjMsIDE1LCA1LCAyNTQsIDEyMywgMTUsIDUsIAorICAgIDI1NCwgMTI0LCAxMTcsIDI1NCwgMTIzLCAxNSwgNSwgMjU0LCAxMjQsIDEzNCwgMjE2LCA4NSwgMTUsIDUsIDI1NCwgMTI0LCAKKyAgICA5NiwgMjI5LCAyMTcsIDIyNiwgMTY0LCAyNTQsIDEyNCwgOTYsIDIyOSwgMjE2LCAxNSwgNSwgMjU0LCAxMjQsIDk2LCAyMjksIAorICAgIDIxNywgMjE4LCAyMzMsIDE1LCA1LCAyNTQsIDk0LCAxNSwgNSwgMjU0LCA2NywgMTUsIDUsIDI1NCwgMzUsIDE1LCA1LCAKKyAgICAyNTQsIDM2LCAzMCwgMjMzLCAxOTYsIDE1LCA1LCAyNTQsIDgsIDE1LCA1LCAyNTMsIDIzNiwgMTUsIDUsIDI1MywgMjMxLCAKKyAgICAxNSwgNSwgMjUzLCAyMzIsIDIxMCwgNDAsIDIxNiwgMjM5LCAxNSwgNSwgMjUzLCAyMzIsIDIzNSwgMywgMjE2LCAyMzksIAorICAgIDE1LCA1LCAyNTMsIDIzMiwgMTE3LCAyNTMsIDIzMiwgMjE1LCAxMTQsIDExNywgMjE1LCAxMTQsIDIxNSwgMTE0LCAxMTcsIAorICAgIDIxNSwgMTE0LCAyMjYsIDIxLCAxNSwgNSwgMjUzLCAyMzIsIDExNywgMjUzLCAyMzIsIDExNywgMjUzLCAyMzEsIDE1LCA1LCAKKyAgICAyNTMsIDIzMiwgMTE3LCAyNTMsIDIzMiwgMTE3LCAyNTMsIDIzMiwgMjQ5LCAxMjUsIDI1MywgMjMyLCAxMTcsIDI1MywgCisgICAgMjMyLCAxMTcsIDI1MywgMjMxLCAxNSwgNSwgMjUzLCAyMjksIDE1LCA1LCAyNTMsIDIyNiwgMTUsIDUsIDI1MiwgMTkxLCAKKyAgICAxNSwgNSwgMjUyLCAxNzYsIDE1LCA1LCAyNTIsIDE3MSwgMTUsIDUsIDI1MiwgMTY3LCAxNSwgNSwgMjUyLCAxNjEsIDE1LCAKKyAgICA1LCAyNTIsIDE2MiwgMTE3LCAyNTIsIDE2MSwgMTUsIDUsIDI1MiwgMTYwLCAxNSwgNSwgMTMwLCAxNSwgNSwgMjUyLCAxNDAsIAorICAgIDE1LCA1LCAyNTIsIDYsIDE1LCA1LCAyNTIsIDcsIDMwLCA2MSwgMTUsIDUsIDI1MiwgNywgMzAsIDI0MywgOTYsIDE1LCA1LCAKKyAgICAyNTIsIDcsIDMwLCAyMzYsIDM2LCAyNDIsIDk0LCAxNSwgNSwgMjUxLCAxMjUsIDE1LCA1LCAyNTEsIDEyNiwgMTE3LCAyNTEsIAorICAgIDEyNiwgMjU1LCAyNSwgMTUsIDUsIDI1MSwgMTI2LCAxMTcsIDI1MSwgMTI2LCAyMTQsIDE5MCwgMTUsIDUsIDI1MSwgMTI2LCAKKyAgICAyNDksIDEyNSwgMjUxLCAxMjUsIDE1LCA1LCAyNTEsIDEwOSwgMTUsIDUsIDI1MSwgMTEwLCAxMTcsIDI1MSwgMTA5LCAxNSwgCisgICAgNSwgMjUxLCA5OCwgMTUsIDUsIDI1MSwgOTcsIDE1LCA1LCAyNDgsIDIyMSwgMTUsIDUsIDI0OCwgMjEyLCAxNSwgNSwgMjQ4LCAKKyAgICAyMTMsIDIzNCwgNjYsIDMwLCAxMTUsIDk2LCAyMzEsIDE0NywgMTUsIDUsIDI0OCwgMjEzLCAyMzQsIDY2LCAzMCwgMjU0LCAKKyAgICAxMzIsIDE1LCA1LCAyNDgsIDIxMywgMjM0LCA2NiwgMzAsIDI1MiwgMTYwLCAxNSwgNSwgMjQ4LCAyMTMsIDIzNCwgNjYsIAorICAgIDMwLCAyNTIsIDYsIDE1LCA1LCAyNDgsIDIxMywgMjM0LCA2NiwgMzAsIDI0MywgMTM1LCAxNSwgNSwgMjQ4LCAyMTMsIDIzNCwgCisgICAgNjYsIDMwLCAyNDMsIDEzNiwgOTYsIDIzMSwgMTQ3LCAxNSwgNSwgMjQ4LCAyMTMsIDIzNCwgNjYsIDMwLCAyNDIsIDIxNCwgCisgICAgMTUsIDUsIDI0OCwgMjEzLCAyMzQsIDY2LCAzMCwgMjQyLCAxOTcsIDE1LCA1LCAyNDgsIDIxMywgMjM0LCA2NiwgMzAsIAorICAgIDI0MiwgMTAzLCAxNSwgNSwgMjQ4LCAyMTMsIDIzNCwgNjYsIDMwLCAxNjIsIDE1LCA1LCAyNDgsIDIxMywgMjM0LCA2NiwgCisgICAgMzAsIDIzNSwgMTc5LCAxNSwgNSwgMjQ4LCAyMTMsIDIzNCwgNjYsIDMwLCAyMzUsIDE4MCwgOTYsIDIzMiwgOTgsIDE1LCA1LCAKKyAgICAyNDgsIDIxMywgMjM0LCA2NiwgMzAsIDIzNCwgMjQyLCAxNSwgNSwgMjQ4LCAyMTMsIDIzNCwgNjYsIDMwLCAyMzMsIDEzNSwgCisgICAgMTUsIDUsIDI0OCwgMjEzLCAyMzQsIDY2LCAzMCwgMjMyLCA5OCwgMTUsIDUsIDI0OCwgMjEzLCAyMzQsIDY2LCAzMCwgMjMyLCAKKyAgICA5OSwgOTYsIDIzMSwgMTQ2LCAxNSwgNSwgMjQ4LCAyMTMsIDIzNCwgNjYsIDMwLCAyMzIsIDg0LCAxNSwgNSwgMjQ4LCAyMTMsIAorICAgIDIzNCwgNjYsIDMwLCAyMjksIDEwNywgMTUsIDUsIDI0OCwgMjEzLCAyMzQsIDY2LCAzMCwgMjI2LCAyMiwgOTYsIDIyNiwgCisgICAgMjEsIDE1LCA1LCAyNDgsIDIxMywgMjM0LCA2NiwgMzAsIDIxOSwgMTkxLCAxNSwgNSwgMjQ4LCAyMTMsIDIzNCwgNjYsIDMwLCAKKyAgICAyMTcsIDcyLCAxNSwgNSwgMjQ4LCAyMTMsIDIzNCwgNjYsIDMwLCAyMTQsIDIzMSwgOTYsIDI0MiwgMTk3LCAxNSwgNSwgCisgICAgMjQ4LCAyMTMsIDIzNCwgNjYsIDMwLCAyMTQsIDEyNiwgMTUsIDUsIDI0OCwgMTg3LCAxNSwgNSwgMjQ4LCAxNjYsIDE1LCA1LCAKKyAgICAyNDgsIDE2NSwgMTUsIDUsIDI0OCwgMTY0LCAxNSwgNSwgMjQ4LCAzLCAxNSwgNSwgMjQ3LCAyNDIsIDE1LCA1LCAyNDcsIAorICAgIDIxNywgMTUsIDUsIDI0NywgMjE4LCAzMCwgMjIwLCA2MywgMTUsIDUsIDI0NywgMjE2LCAxNSwgNSwgMjQ3LCAyMDYsIDE1LCAKKyAgICA1LCAyNDcsIDIwNywgMjM0LCAyMDgsIDEwNCwgMjQyLCA5NSwgMjQ3LCAxODcsIDE1LCA1LCAyNDcsIDE4NywgMTUsIDUsIAorICAgIDI0NiwgNzgsIDE1LCA1LCAyNDYsIDc5LCAxMTcsIDI0NiwgNzgsIDE1LCA1LCAyNDYsIDc5LCAyNDIsIDk0LCAxNSwgNSwgCisgICAgMjQ2LCA3OSwgMjIwLCA0NSwgMTUsIDUsIDI0NiwgNzYsIDE1LCA1LCAyNDYsIDc3LCAzMCwgMjQ1LCA3MiwgMTUsIDUsIAorICAgIDI0NiwgNzUsIDE1LCA1LCAyNDYsIDc0LCAxNSwgNSwgMjQ2LCA3MywgMTUsIDUsIDI0NiwgNzIsIDE1LCA1LCAyNDYsIDY4LCAKKyAgICAxNSwgNSwgMjQ2LCA2NiwgMTUsIDUsIDI0NiwgNjcsIDI0MiwgOTQsIDE1LCA1LCAyNDYsIDY3LCAyNDIsIDk1LCAyNDIsIAorICAgIDk0LCAxNSwgNSwgMjQ2LCA2NSwgMTUsIDUsIDI0NiwgNTgsIDE1LCA1LCA3NSwgMTUsIDUsIDE2MCwgMzAsIDIyNiwgMjEsIAorICAgIDE1LCA1LCAxNjAsIDExNywgMTYwLCAyMjcsIDE5NSwgMTE3LCAyMjcsIDE5NCwgMTUsIDUsIDI0NSwgMjM0LCAxNSwgNSwgCisgICAgMjQ1LCAyMzUsIDMwLCAxMTUsIDk2LCAyNDIsIDQ5LCA5NiwgMjQ4LCAyMjEsIDE1LCA1LCAyNDUsIDIzNSwgMzAsIDI0MywgCisgICAgOTYsIDE1LCA1LCAyNDUsIDIzNSwgMzAsIDIzMCwgMjMwLCAxNSwgNSwgMjQ1LCAyMzUsIDMwLCAyMjIsIDgsIDE1LCA1LCAKKyAgICAyNDUsIDIzNSwgMzAsIDIyMCwgNjMsIDE1LCA1LCAyNDUsIDIzNSwgMzAsIDcwLCAxNSwgNSwgMjQ1LCAyMTEsIDE1LCA1LCAKKyAgICAyNDUsIDIwMCwgMTUsIDUsIDI0NSwgMTc0LCAxNSwgNSwgMjQ1LCAxNTAsIDE1LCA1LCAyNDUsIDE1MSwgMzAsIDI0MywgCisgICAgMTA0LCAxNSwgNSwgMjQ1LCAxNTEsIDMwLCAyNDMsIDEwNSwgMjE2LCAyMzksIDE1LCA1LCAyNDUsIDE1MSwgMzAsIDIzMSwgCisgICAgOTEsIDE1LCA1LCAyNDUsIDE1MSwgMjQ5LCAxMjUsIDI0NSwgMTUwLCAxNSwgNSwgMjQ1LCAxNTEsIDIyNiwgMTY0LCAyNDUsIAorICAgIDE1MCwgMTUsIDUsIDI0NSwgMTUxLCAyMTgsIDIzMywgMTUsIDUsIDI0NSwgODksIDE1LCA1LCAyNDUsIDg3LCAxNSwgNSwgCisgICAgMjQ1LCA3MiwgMTUsIDUsIDI0NSwgMTAsIDE1LCA1LCAyNDUsIDExLCAzMCwgNjEsIDE1LCA1LCAyNDUsIDExLCAzMCwgMTE1LCAKKyAgICA5NiwgMjMzLCAxMDQsIDE1LCA1LCAyNDUsIDExLCAzMCwgMTE1LCA5NiwgMjMzLCAxMDUsIDMwLCAyMzMsIDEwNCwgMTUsIDUsIAorICAgIDI0NSwgMTEsIDMwLCAyNTQsIDEyMywgMTUsIDUsIDI0NSwgMTEsIDMwLCAyNTIsIDE3NiwgMTUsIDUsIDI0NSwgMTEsIDMwLCAKKyAgICAyNDYsIDY3LCAyNDIsIDk0LCAxNSwgNSwgMjQ1LCAxMSwgMzAsIDI0NiwgNjcsIDI0MiwgOTUsIDI0MiwgOTQsIDE1LCA1LCAKKyAgICAyNDUsIDExLCAzMCwgMTYyLCAxNSwgNSwgMjQ1LCAxMSwgMzAsIDI0MiwgNDksIDI0MiwgOTQsIDE1LCA1LCAyNDUsIDExLCAKKyAgICAzMCwgMjM2LCAzNiwgMjQyLCA5NCwgMTUsIDUsIDI0NSwgMTEsIDMwLCAyMzQsIDIwNywgMTUsIDUsIDI0NSwgMTEsIDMwLCAKKyAgICAyMzQsIDIwOCwgMjE4LCAyMzMsIDE1LCA1LCAyNDUsIDExLCAzMCwgMjMzLCAyMTUsIDE1LCA1LCAyNDUsIDExLCAzMCwgCisgICAgMjMzLCAxMzUsIDE1LCA1LCAyNDUsIDExLCAzMCwgMjMzLCAxMDUsIDMwLCAyMzMsIDEwNCwgMTUsIDUsIDI0NSwgMTEsIDMwLCAKKyAgICAyMzIsIDI0MSwgMTUsIDUsIDI0NSwgMTEsIDMwLCAyMzIsIDk4LCAxNSwgNSwgMjQ1LCAxMSwgMzAsIDIxNCwgMjMwLCAxNSwgCisgICAgNSwgMjQ1LCAxMSwgMzAsIDIxNCwgMjE5LCAxNSwgNSwgMjQzLCAxMzUsIDE1LCA1LCAyNDMsIDEzNiwgMjQyLCA5NCwgMTUsIAorICAgIDUsIDI0MywgMTMzLCAxNSwgNSwgMjQzLCAxMzQsIDMwLCAxMTUsIDk2LCAyNDgsIDIyMiwgOTYsIDE2MiwgMTUsIDUsIDI0MywgCisgICAgMTM0LCAzMCwgMTE1LCA5NiwgMTYyLCAxNSwgNSwgMjQzLCAxMzQsIDMwLCAxMTUsIDk2LCAyMzYsIDM1LCAxNSwgNSwgMjQzLCAKKyAgICAxMzQsIDMwLCAyNTUsIDI0LCAyMTYsIDI0MCwgOTYsIDIxNywgOTMsIDE1LCA1LCAyNDMsIDEzNCwgMzAsIDI1NCwgMTIzLCAKKyAgICAxNSwgNSwgMjQzLCAxMzQsIDMwLCAyNTMsIDIzMSwgMTUsIDUsIDI0MywgMTM0LCAzMCwgMjUzLCAyMzAsIDk2LCAyNDMsIAorICAgIDExOCwgMTUsIDUsIDI0MywgMTM0LCAzMCwgMjUyLCAxNzYsIDE1LCA1LCAyNDMsIDEzNCwgMzAsIDI1MiwgMTQxLCA5NiwgCisgICAgMjA1LCAxNSwgNSwgMjQzLCAxMzQsIDMwLCAyNTEsIDk4LCAxNSwgNSwgMjQzLCAxMzQsIDMwLCAyNTEsIDk5LCA5NiwgMjA1LCAKKyAgICAxNSwgNSwgMjQzLCAxMzQsIDMwLCAyNDgsIDIyMSwgMTUsIDUsIDI0MywgMTM0LCAzMCwgMjQ4LCAzLCAxNSwgNSwgMjQzLCAKKyAgICAxMzQsIDMwLCAyNDcsIDIxOCwgMzAsIDIyMCwgNjMsIDE1LCA1LCAyNDMsIDEzNCwgMzAsIDI0NiwgNzYsIDE1LCA1LCAyNDMsIAorICAgIDEzNCwgMzAsIDI0NSwgMTc0LCAxNSwgNSwgMjQzLCAxMzQsIDMwLCAyNDUsIDE3NSwgOTYsIDIzMywgMTM1LCAxNSwgNSwgCisgICAgMjQzLCAxMzQsIDMwLCAyNDUsIDE1MCwgMTUsIDUsIDI0MywgMTM0LCAzMCwgMjQ1LCAxNTEsIDMwLCAyNDMsIDEwNSwgMjE2LCAKKyAgICAyMzksIDE1LCA1LCAyNDMsIDEzNCwgMzAsIDI0MywgMTA1LCAyMTYsIDIzOSwgMTUsIDUsIDI0MywgMTM0LCAzMCwgMjQzLCAKKyAgICA5NiwgMTUsIDUsIDI0MywgMTM0LCAzMCwgMjQyLCAyMTQsIDE1LCA1LCAyNDMsIDEzNCwgMzAsIDI0MiwgMjEyLCAxNSwgNSwgCisgICAgMjQzLCAxMzQsIDMwLCAyNDIsIDIxMywgOTYsIDYxLCAxNSwgNSwgMjQzLCAxMzQsIDMwLCAyNDIsIDE5OCwgOTYsIDIxOCwgCisgICAgODMsIDE1LCA1LCAyNDMsIDEzNCwgMzAsIDI0MiwgNDksIDk2LCAyMzIsIDk5LCA5NiwgMjQ1LCA3MiwgMTUsIDUsIDI0MywgCisgICAgMTM0LCAzMCwgMjQyLCAzMCwgMTUsIDUsIDI0MywgMTM0LCAzMCwgMjQyLCAzMSwgOTYsIDIzMywgMTM1LCAxNSwgNSwgMjQzLCAKKyAgICAxMzQsIDMwLCAyNDEsIDE4MSwgOTYsIDIzMiwgMjQxLCAxNSwgNSwgMjQzLCAxMzQsIDMwLCAyNDAsIDIxOCwgMTUsIDUsIAorICAgIDI0MywgMTM0LCAzMCwgMjM2LCAzNiwgMjQyLCA5NCwgMTUsIDUsIDI0MywgMTM0LCAzMCwgMjM1LCAxNjYsIDk2LCAyNDAsIAorICAgIDIyMywgOTYsIDI1MywgMjMxLCAxNSwgNSwgMjQzLCAxMzQsIDMwLCAyMzQsIDI0MiwgMTUsIDUsIDI0MywgMTM0LCAzMCwgCisgICAgMjM0LCAyMDcsIDE1LCA1LCAyNDMsIDEzNCwgMzAsIDIzNCwgODksIDE1LCA1LCAyNDMsIDEzNCwgMzAsIDIzNCwgOTAsIDk2LCAKKyAgICAyMzMsIDEwNCwgMTUsIDUsIDI0MywgMTM0LCAzMCwgMjMzLCAyMTYsIDk2LCAyNTQsIDEyMywgMTUsIDUsIDI0MywgMTM0LCAKKyAgICAzMCwgMjMzLCAxMzUsIDE1LCA1LCAyNDMsIDEzNCwgMzAsIDIzMSwgOTIsIDk2LCAyNDUsIDE1MCwgMTUsIDUsIDI0MywgCisgICAgMTM0LCAzMCwgMjMwLCAyMzAsIDE1LCA1LCAyNDMsIDEzNCwgMzAsIDIyNywgMTk0LCAxNSwgNSwgMjQzLCAxMzQsIDMwLCAKKyAgICAyMjcsIDE5NSwgMTE3LCAyMjcsIDE5NCwgMTUsIDUsIDI0MywgMTM0LCAzMCwgMTkwLCAxNSwgNSwgMjQzLCAxMzQsIDMwLCAKKyAgICAyMjIsIDgsIDE1LCA1LCAyNDMsIDEzNCwgMzAsIDIyMSwgMjMxLCAxNSwgNSwgMjQzLCAxMzQsIDMwLCAyMjAsIDYzLCAxNSwgCisgICAgNSwgMjQzLCAxMzQsIDMwLCAyMjAsIDY0LCA5NiwgMjE1LCA5OCwgMTUsIDUsIDI0MywgMTM0LCAzMCwgMjIwLCAzMCwgMTUsIAorICAgIDUsIDI0MywgMTM0LCAzMCwgMjE4LCA0MywgMTUsIDUsIDI0MywgMTM0LCAzMCwgMjE3LCA3MiwgMTUsIDUsIDI0MywgMTM0LCAKKyAgICAzMCwgNzAsIDE1LCA1LCAyNDMsIDEzNCwgMzAsIDIxNCwgMjE5LCAxNSwgNSwgMjQzLCAxMzQsIDMwLCAyMTQsIDIyMCwgOTYsIAorICAgIDI0NiwgNzgsIDE1LCA1LCAyNDMsIDEzNCwgMTE3LCAyNDMsIDEzMywgMTUsIDUsIDI0MywgMTI4LCAxNSwgNSwgMjQzLCAKKyAgICAxMjksIDI0OSwgMTI1LCAyNDMsIDEyOCwgMTUsIDUsIDI0MywgMTI2LCAxNSwgNSwgMjQzLCAxMjcsIDExNywgMjQzLCAxMjcsIAorICAgIDI0MywgOTcsIDExNywgMjQzLCA5NiwgMTUsIDUsIDI0MywgMTE4LCAxNSwgNSwgMjQzLCAxMTksIDI0MywgMTI3LCAxMTcsIAorICAgIDI0MywgMTI3LCAyNDMsIDk3LCAxMTcsIDI0MywgOTYsIDE1LCA1LCAyNDMsIDExNywgMTUsIDUsIDI0MywgMTE1LCAxNSwgNSwgCisgICAgMjQzLCAxMDYsIDE1LCA1LCAyNDMsIDEwNCwgMTUsIDUsIDI0MywgMTA1LCAyMTYsIDIzOSwgMTUsIDUsIDI0MywgMTA1LCAKKyAgICAxMTcsIDI0MywgMTA0LCAxNSwgNSwgMjQzLCAxMDUsIDI0OSwgMTI1LCAyNDMsIDEwNCwgMTUsIDUsIDI0MywgOTYsIDE1LCAKKyAgICA1LCAyNDMsIDk1LCAxNSwgNSwgMjQzLCA5MCwgMTUsIDUsIDI0MywgMzYsIDE1LCA1LCAyNDMsIDM3LCAzMCwgMjMzLCAxOTYsIAorICAgIDE1LCA1LCAyNDIsIDIxNCwgMTUsIDUsIDI0MiwgMjE1LCAzMCwgNzUsIDE1LCA1LCAyNDIsIDIxNSwgMzAsIDcwLCAxNSwgNSwgCisgICAgMjQyLCAyMTUsIDI0OSwgMTI1LCAyNDIsIDIxNCwgMTUsIDUsIDI0MiwgMjEyLCAxNSwgNSwgMjQyLCAyMTMsIDExNywgMjQyLCAKKyAgICAyMTIsIDE1LCA1LCAyNDIsIDIxMywgMjQ5LCAxMjUsIDI0MiwgMjEyLCAxNSwgNSwgMjQyLCAyMDksIDE1LCA1LCAyNDIsIAorICAgIDE5NywgMTUsIDUsIDI0MiwgMTk4LCAyNDIsIDk0LCAxNSwgNSwgMjQyLCAxOTUsIDE1LCA1LCAyNDIsIDE5NiwgMzAsIDExNSwgCisgICAgOTYsIDIzNiwgMzUsIDE1LCA1LCAyNDIsIDE5NiwgMzAsIDI0MywgMTA1LCAyMTYsIDIzOSwgMTUsIDUsIDI0MiwgMTk2LCAKKyAgICAzMCwgMjM2LCAzNSwgMTUsIDUsIDI0MiwgMTk2LCAzMCwgMjMyLCA5OSwgOTYsIDIzNiwgMzUsIDE1LCA1LCAyNDIsIDE5NiwgCisgICAgMzAsIDE5MCwgMTUsIDUsIDI0MiwgMTkyLCAxNSwgNSwgMjQyLCAxOTAsIDE1LCA1LCAyNDIsIDE5MSwgMjQ5LCAxMjUsIAorICAgIDI0MiwgMTkwLCAxNSwgNSwgMjQyLCAxOTEsIDMwLCAyNTIsIDE3NiwgMTUsIDUsIDI0MiwgMTkxLCAzMCwgMjE3LCA3MiwgCisgICAgMTUsIDUsIDI0MiwgMTkxLCAyMTYsIDIzOSwgMTUsIDUsIDI0MiwgMTEzLCAxNSwgNSwgMjQyLCAxMTQsIDI0OSwgMTI1LCAKKyAgICAyNDIsIDExMywgMTUsIDUsIDI0MiwgMTExLCAxNSwgNSwgMjQyLCAxMTIsIDMwLCAyMzQsIDI0MiwgMTUsIDUsIDI0MiwgCisgICAgMTEyLCAzMCwgMjM0LCAyNDMsIDMwLCAyMzYsIDM2LCAyNDIsIDk0LCAxNSwgNSwgMjQyLCAxMTIsIDMwLCAyMjcsIDE5NCwgCisgICAgMTUsIDUsIDI0MiwgMTEyLCAzMCwgMjIyLCA5LCA5NiwgMjE1LCAxMTMsIDE1LCA1LCAyNDIsIDExMiwgMjQyLCA5NCwgMTUsIAorICAgIDUsIDI0MiwgMTAzLCAxNSwgNSwgMjQyLCAxMDQsIDMwLCAxMTUsIDk2LCAyMzMsIDE5NiwgMTUsIDUsIDI0MiwgMTA0LCAzMCwgCisgICAgMjMzLCAxOTYsIDE1LCA1LCAyNDIsIDEwNCwgMTE3LCAyNDIsIDEwNCwgMjMyLCA5MSwgMTUsIDUsIDI0MiwgOTgsIDE1LCA1LCAKKyAgICAyNDIsIDk2LCAxNSwgNSwgMjQyLCA5NywgMzAsIDIyMCwgNjMsIDE1LCA1LCAyNDIsIDg4LCAxNSwgNSwgMjQyLCA4NywgMTUsIAorICAgIDUsIDI0MiwgODQsIDE1LCA1LCAyNDIsIDgzLCAxNSwgNSwgMTYyLCAxNSwgNSwgMjQyLCA0OSwgMjE2LCAyMzksIDE1LCA1LCAKKyAgICAyNDIsIDQ5LCAyNDIsIDk0LCAxNSwgNSwgMjQyLCAzMCwgMTUsIDUsIDI0MSwgMTgwLCAxNSwgNSwgMjQxLCAxODEsIDMwLCAKKyAgICAyNTMsIDIzMSwgMTUsIDUsIDI0MSwgMTgxLCAzMCwgMjUzLCAyMjksIDE1LCA1LCAyNDEsIDE4MSwgMzAsIDI1MiwgMTc2LCAKKyAgICAxNSwgNSwgMjQxLCAxODEsIDMwLCAyNDcsIDE4NywgMTUsIDUsIDI0MSwgMTgxLCAzMCwgMjQzLCAxMjYsIDE1LCA1LCAyNDEsIAorICAgIDE4MSwgMzAsIDIzNCwgODEsIDE1LCA1LCAyNDEsIDE4MSwgMzAsIDIyNywgMTk0LCAxNSwgNSwgMjQxLCAxODEsIDMwLCAKKyAgICAyMjAsIDYzLCAxNSwgNSwgMjQxLCAxODEsIDMwLCA3MCwgMTUsIDUsIDI0MCwgMjIyLCAxNSwgNSwgMjQwLCAyMTgsIDE1LCAKKyAgICA1LCAyNDAsIDIxOSwgMzAsIDI1NCwgMTIzLCAxNSwgNSwgMjQwLCAyMTksIDMwLCAyNDIsIDMwLCAxNSwgNSwgMjQwLCAyMTksIAorICAgIDMwLCAyMzQsIDIwNywgMTUsIDUsIDI0MCwgMjE5LCAzMCwgMjMyLCAxOTcsIDE1LCA1LCAyNDAsIDIxOSwgMzAsIDIxNCwgCisgICAgMjE5LCAxNSwgNSwgMjQwLCAyMTUsIDE1LCA1LCA3MywgMTUsIDUsIDI0MCwgMTU0LCA2MSwgMTUsIDUsIDI0MCwgMTE1LCAKKyAgICAxNSwgNSwgMjM2LCA2MywgMTUsIDUsIDIzNiwgNjQsIDExNywgMjM2LCA2NCwgMjUxLCA5OCwgMTUsIDUsIDIzNiwgNjQsIAorICAgIDExNywgMjM2LCA2NCwgMjE4LCAyMzMsIDE1LCA1LCAyMzYsIDM4LCAxNSwgNSwgMjM2LCAzNSwgMTUsIDUsIDIzNiwgMzYsIAorICAgIDI0NywgMjQyLCAxNSwgNSwgMjM2LCAzNiwgMjIzLCAzNSwgMTUsIDUsIDIzNiwgMzYsIDExNywgMjM2LCAzNiwgMjIwLCAxNCwgCisgICAgMTE3LCAyMjAsIDE0LCAyMTQsIDIyMCwgMTE3LCAyMTQsIDIxOSwgMTUsIDUsIDIzNiwgMzYsIDI0MiwgOTQsIDE1LCA1LCAKKyAgICAyMzYsIDI3LCAxNSwgNSwgMjM2LCAyOCwgMzAsIDI0MywgMTA1LCAyMTYsIDIzOSwgMTUsIDUsIDIzNiwgMjYsIDE1LCA1LCAKKyAgICAyMzYsIDE2LCAxNSwgNSwgMjM2LCAxNywgMzAsIDIxNywgNzIsIDE1LCA1LCAyMzYsIDE3LCAyNDksIDEyNSwgMjM2LCAxNiwgCisgICAgMTUsIDUsIDIzNiwgMTcsIDIyNiwgMTY0LCAyMzYsIDE2LCAxNSwgNSwgMjM2LCAxNywgMjE4LCAyMzMsIDE1LCA1LCAyMzYsIAorICAgIDksIDE1LCA1LCAyMzUsIDI1NSwgMTUsIDUsIDIzNSwgMTc5LCAxNSwgNSwgMjM1LCAxNjUsIDE1LCA1LCAxNzYsIDE1LCA1LCAKKyAgICAyMzUsIDEzLCAzMCwgNjEsIDE1LCA1LCAyMzUsIDEzLCAzMCwgMjU0LCAyNTUsIDE1LCA1LCAyMzUsIDEzLCAzMCwgMjU1LCAKKyAgICAwLCA5NiwgMjMzLCAyMTUsIDE1LCA1LCAyMzUsIDEzLCAzMCwgMjUzLCAyMjksIDE1LCA1LCAyMzUsIDEzLCAzMCwgMjUyLCAKKyAgICAxNzYsIDE1LCA1LCAyMzUsIDEzLCAzMCwgMjUyLCAxNjAsIDE1LCA1LCAyMzUsIDEzLCAzMCwgMTMwLCAxNSwgNSwgMjM1LCAKKyAgICAxMywgMzAsIDI1MiwgNiwgMTUsIDUsIDIzNSwgMTMsIDMwLCAyNDUsIDg3LCAxNSwgNSwgMjM1LCAxMywgMzAsIDI0NSwgNzIsIAorICAgIDE1LCA1LCAyMzUsIDEzLCAzMCwgMjQzLCAxMzUsIDE1LCA1LCAyMzUsIDEzLCAzMCwgMjQzLCAxMTgsIDE1LCA1LCAyMzUsIAorICAgIDEzLCAzMCwgMjQzLCAxMDUsIDIxNiwgMjM5LCAxNSwgNSwgMjM1LCAxMywgMzAsIDI0MywgOTYsIDE1LCA1LCAyMzUsIDEzLCAKKyAgICAzMCwgMjQzLCA5NywgOTYsIDIyMCwgMTAxLCA5NiwgNjEsIDE1LCA1LCAyMzUsIDEzLCAzMCwgMjQyLCAyMTQsIDE1LCA1LCAKKyAgICAyMzUsIDEzLCAzMCwgMjQyLCAxOTcsIDE1LCA1LCAyMzUsIDEzLCAzMCwgMjQyLCAxOTEsIDk2LCAyMjEsIDIzMSwgMTUsIDUsIAorICAgIDIzNSwgMTMsIDMwLCAyNDIsIDE5MSwgMjQ5LCAxMjUsIDI0MiwgMTkwLCAxNSwgNSwgMjM1LCAxMywgMzAsIDI0MiwgMTEzLCAKKyAgICAxNSwgNSwgMjM1LCAxMywgMzAsIDI0MiwgODcsIDE1LCA1LCAyMzUsIDEzLCAzMCwgMjM2LCAzNSwgMTUsIDUsIDIzNSwgMTMsIAorICAgIDMwLCAyMzYsIDE2LCAxNSwgNSwgMjM1LCAxMywgMzAsIDIzNCwgMjQyLCAxNSwgNSwgMjM1LCAxMywgMzAsIDIzNCwgOTIsIAorICAgIDE1LCA1LCAyMzUsIDEzLCAzMCwgMjM0LCA4OSwgMTUsIDUsIDIzNSwgMTMsIDMwLCAyMzIsIDI0MSwgMTUsIDUsIDIzNSwgCisgICAgMTMsIDMwLCAyMzIsIDk4LCAxNSwgNSwgMjM1LCAxMywgMzAsIDIzMSwgOTEsIDE1LCA1LCAyMzUsIDEzLCAzMCwgMjMxLCAKKyAgICA5MiwgOTYsIDI0NiwgNzgsIDE1LCA1LCAyMzUsIDEzLCAzMCwgMjMxLCA5MiwgOTYsIDI0MiwgMjE0LCAxNSwgNSwgMjM1LCAKKyAgICAxMywgMzAsIDIzMSwgOTIsIDk2LCAyMTcsIDIyLCAxNSwgNSwgMjM1LCAxMywgMzAsIDIzMCwgMjMwLCAxNSwgNSwgMjM1LCAKKyAgICAxMywgMzAsIDIzMCwgMjMxLCA5NiwgMjI3LCAxODksIDE1LCA1LCAyMzUsIDEzLCAzMCwgMjI5LCAxMDcsIDE1LCA1LCAyMzUsIAorICAgIDEzLCAzMCwgMjI3LCAxOTQsIDE1LCA1LCAyMzUsIDEzLCAzMCwgMjI1LCAxMDgsIDE1LCA1LCAyMzUsIDEzLCAzMCwgMjIyLCAKKyAgICAxNDAsIDE1LCA1LCAyMzUsIDEzLCAzMCwgMjA2LCAxNSwgNSwgMjM1LCAxMywgMzAsIDIyMSwgMjMxLCAxNSwgNSwgMjM1LCAKKyAgICAxMywgMzAsIDIyMCwgMTAyLCAxNSwgNSwgMjM1LCAxMywgMzAsIDIyMCwgNjMsIDE1LCA1LCAyMzUsIDEzLCAzMCwgMjIwLCAKKyAgICAzMCwgMTUsIDUsIDIzNSwgMTMsIDMwLCAyMTksIDIyNSwgMTUsIDUsIDIzNSwgMTMsIDMwLCAyMTksIDE4MiwgMTUsIDUsIAorICAgIDIzNSwgMTMsIDMwLCAyMTgsIDUxLCAxNSwgNSwgMjM1LCAxMywgMzAsIDIxNywgNTAsIDE1LCA1LCAyMzUsIDEzLCAzMCwgCisgICAgNzAsIDE1LCA1LCAyMzUsIDEzLCAzMCwgMjE0LCAyMzAsIDE1LCA1LCAyMzUsIDEzLCAzMCwgMjE0LCAyMTksIDE1LCA1LCAKKyAgICAyMzUsIDEzLCAzMCwgMjE0LCAxOTMsIDMwLCAxOTAsIDE1LCA1LCAyMzUsIDEzLCAzMCwgMjE0LCAxMjYsIDE1LCA1LCAyMzUsIAorICAgIDEzLCAzMCwgMjEwLCA0NCwgMTUsIDUsIDIzNSwgMTEsIDE1LCA1LCAyMzUsIDEyLCAyNDksIDEyNSwgMjM1LCAxMSwgMTUsIAorICAgIDUsIDIzNSwgNCwgMTUsIDUsIDIzNSwgMSwgMTUsIDUsIDIzNCwgMjU1LCAxNSwgNSwgMjM0LCAyNTQsIDE1LCA1LCAyMzQsIAorICAgIDI1MiwgMTUsIDUsIDIzNCwgMjUzLCAxMTcsIDIzNCwgMjUyLCAxNSwgNSwgMjM0LCAyNDIsIDE1LCA1LCAyMzQsIDI0MywgCisgICAgMzAsIDIzNiwgMzYsIDI0MiwgOTQsIDE1LCA1LCAyMzQsIDIzOCwgMTUsIDUsIDIzNCwgMjM5LCAzMCwgMjUyLCAxNzYsIDE1LCAKKyAgICA1LCAyMzQsIDIzOSwgMjQ5LCAxMjUsIDIzNCwgMjM4LCAxNSwgNSwgMjM0LCAyMzYsIDE1LCA1LCAyMzQsIDIzNSwgMTUsIDUsIAorICAgIDIzNCwgMjA3LCAxNSwgNSwgMjM0LCAyMDgsIDIzMywgMTE4LCAzMCwgMTA0LCAxMTcsIDIzMywgMTE4LCAzMCwgNzAsIDE1LCAKKyAgICA1LCAyMzQsIDIwOCwgMTE3LCAyMzQsIDIwOCwgMjMzLCAxMTgsIDMwLCAxMDQsIDExNywgMjMzLCAxMTgsIDMwLCA3MCwgMTUsIAorICAgIDUsIDIzNCwgMTU3LCAxNSwgNSwgMjM0LCA5MiwgMTUsIDUsIDIzNCwgOTMsIDMwLCAyNTIsIDE3NiwgMTUsIDUsIDIzNCwgCisgICAgOTMsIDMwLCA3MCwgMTUsIDUsIDIzNCwgOTMsIDMwLCAyMTQsIDIxOSwgMTUsIDUsIDIzNCwgODksIDE1LCA1LCAyMzQsIDgxLCAKKyAgICAxNSwgNSwgMjM0LCA2OCwgMTUsIDUsIDIzNCwgNjcsIDE1LCA1LCAyMzQsIDY1LCAxNSwgNSwgMjM0LCA2NiwgMTE3LCAyMzQsIAorICAgIDY1LCAxNSwgNSwgMjMzLCAyMTcsIDE1LCA1LCAyMzMsIDIxOCwgMTE3LCAyNDEsIDE4MSwgMzAsIDI1MywgMjMwLCAyMzMsIAorICAgIDIxOCwgMTE3LCAyNDEsIDE4MSwgMzAsIDI1MywgMjI5LCAxNSwgNSwgMjMzLCAyMTUsIDE1LCA1LCAyMzMsIDIxMywgMTUsIAorICAgIDUsIDIzMywgMjE0LCAyMTQsIDEyLCAxNywgMTUsIDUsIDIzMywgMjEyLCAxNSwgNSwgMjMzLCAyMDksIDE1LCA1LCAyMzMsIAorICAgIDIxMCwgMjQyLCA5NCwgMTUsIDUsIDIzMywgMjA4LCAxNSwgNSwgMjMzLCAxOTYsIDE1LCA1LCAyMzMsIDE5NywgMjI2LCAKKyAgICAxNjQsIDIzMywgMTk2LCAxNSwgNSwgMjMzLCAxOTEsIDE1LCA1LCAyMzMsIDE3MiwgMTUsIDUsIDIzMywgMTM1LCAxNSwgNSwgCisgICAgMjMzLCAxMTcsIDE1LCA1LCAyMzMsIDExOCwgMzAsIDYxLCAxNSwgNSwgMjMzLCAxMTgsIDMwLCAxMTUsIDk2LCAyNDgsIAorICAgIDIyMiwgOTYsIDE2MiwgMTUsIDUsIDIzMywgMTE4LCAzMCwgMTE1LCA5NiwgMjQzLCA5NiwgMTUsIDUsIDIzMywgMTE4LCAzMCwgCisgICAgMTE1LCA5NiwgMjMzLCAxMDQsIDE1LCA1LCAyMzMsIDExOCwgMzAsIDI1NCwgMTc4LCAxNSwgNSwgMjMzLCAxMTgsIDMwLCAKKyAgICAyNTQsIDEyMywgMTUsIDUsIDIzMywgMTE4LCAzMCwgMjUzLCAyMzIsIDIxMCwgNDAsIDIxNiwgMjM5LCAxNSwgNSwgMjMzLCAKKyAgICAxMTgsIDMwLCAyNTIsIDE3NiwgMTUsIDUsIDIzMywgMTE4LCAzMCwgMjUyLCA2LCAxNSwgNSwgMjMzLCAxMTgsIDMwLCAyNDgsIAorICAgIDE2NiwgMTUsIDUsIDIzMywgMTE4LCAzMCwgMjQ1LCAxNTAsIDE1LCA1LCAyMzMsIDExOCwgMzAsIDI0MywgMTM1LCAxNSwgNSwgCisgICAgMjMzLCAxMTgsIDMwLCAyNDMsIDk2LCAxNSwgNSwgMjMzLCAxMTgsIDMwLCAyNDIsIDEwMywgMTUsIDUsIDIzMywgMTE4LCAKKyAgICAzMCwgMjQyLCAxMDQsIDk2LCAyNDIsIDEwMywgMTUsIDUsIDIzMywgMTE4LCAzMCwgMTYyLCAxNSwgNSwgMjMzLCAxMTgsIAorICAgIDMwLCAyNDIsIDMwLCAxNSwgNSwgMjMzLCAxMTgsIDMwLCAyNDEsIDE4MSwgMzAsIDIyNywgMTk0LCAxNSwgNSwgMjMzLCAKKyAgICAxMTgsIDMwLCAyMzYsIDM2LCAyNDIsIDk0LCAxNSwgNSwgMjMzLCAxMTgsIDMwLCAyMzYsIDE2LCAxNSwgNSwgMjMzLCAxMTgsIAorICAgIDMwLCAyMzYsIDE3LCA5NiwgMTYyLCAxNSwgNSwgMjMzLCAxMTgsIDMwLCAyMzYsIDE3LCA5NiwgMjMyLCA5OCwgMTUsIDUsIAorICAgIDIzMywgMTE4LCAzMCwgMjM0LCA5MiwgMTUsIDUsIDIzMywgMTE4LCAzMCwgMjM0LCA4MSwgMTUsIDUsIDIzMywgMTE4LCAzMCwgCisgICAgMjMzLCAyMTUsIDE1LCA1LCAyMzMsIDExOCwgMzAsIDIzMywgMjA5LCAxNSwgNSwgMjMzLCAxMTgsIDMwLCAyMzMsIDIxMCwgCisgICAgOTYsIDI0MSwgMTgxLCA5NiwgNjEsIDE1LCA1LCAyMzMsIDExOCwgMzAsIDIzMywgMTE3LCAxNSwgNSwgMjMzLCAxMTgsIDMwLCAKKyAgICAyMzIsIDE5NywgMTUsIDUsIDIzMywgMTE4LCAzMCwgMjMyLCA5OCwgMTUsIDUsIDIzMywgMTE4LCAzMCwgMjMyLCA4NiwgMTUsIAorICAgIDUsIDIzMywgMTE4LCAzMCwgMjMxLCA5MSwgMTUsIDUsIDIzMywgMTE4LCAzMCwgMjMxLCA5MiwgOTYsIDI0NSwgMTUwLCAxNSwgCisgICAgNSwgMjMzLCAxMTgsIDMwLCAyMzAsIDYxLCAxNSwgNSwgMjMzLCAxMTgsIDMwLCAyMjksIDEwNywgMTUsIDUsIDIzMywgMTE4LCAKKyAgICAzMCwgMjIwLCA2NCwgOTYsIDIxOCwgNDMsIDE1LCA1LCAyMzMsIDExOCwgMzAsIDIyMCwgMTAsIDk2LCAyNDIsIDE5MSwgOTYsIAorICAgIDI0NSwgODcsIDE1LCA1LCAyMzMsIDExOCwgMzAsIDIyMCwgMTAsIDk2LCAyNDIsIDE5MSwgMjE2LCAyMzksIDE1LCA1LCAKKyAgICAyMzMsIDExOCwgMzAsIDIxOSwgMjIzLCAxNSwgNSwgMjMzLCAxMTgsIDMwLCAyMTksIDIyNCwgOTYsIDIxOSwgMjIzLCAxNSwgCisgICAgNSwgMjMzLCAxMTgsIDMwLCAyMTgsIDQzLCAxNSwgNSwgMjMzLCAxMTgsIDMwLCAyMTcsIDg0LCAxNSwgNSwgMjMzLCAxMTgsIAorICAgIDMwLCAyMTcsIDcyLCAxNSwgNSwgMjMzLCAxMTgsIDMwLCAyMTcsIDIzLCA5NiwgMTE1LCA5NiwgMjE4LCA4NCwgOTYsIDE5NywgCisgICAgMTUsIDUsIDIzMywgMTE4LCAzMCwgNzAsIDE1LCA1LCAyMzMsIDExOCwgMzAsIDEwNCwgOTYsIDYxLCAxNSwgNSwgMjMzLCAKKyAgICAxMTgsIDMwLCAxMDQsIDk2LCAxMDQsIDk2LCA3MCwgMTUsIDUsIDIzMywgMTE4LCAzMCwgMjE0LCAyMzEsIDk2LCAyNTMsIAorICAgIDIzMSwgMTUsIDUsIDIzMywgMTE4LCAzMCwgMjE0LCAyMTksIDE1LCA1LCAyMzMsIDExOCwgMzAsIDIxNCwgMTI2LCAxNSwgNSwgCisgICAgMjMzLCAxMTgsIDIxOCwgMjMzLCAxNSwgNSwgMjMzLCAxMTUsIDE1LCA1LCAyMzMsIDExNiwgMzAsIDIyMCwgNjMsIDE1LCA1LCAKKyAgICAyMzMsIDExNiwgMzAsIDIyMCwgNjQsIDk2LCAyMTgsIDQzLCAxNSwgNSwgMjMzLCAxMTYsIDI0MiwgOTQsIDE1LCA1LCAyMzMsIAorICAgIDExNiwgMjQyLCA5NSwgMTE3LCAyMzMsIDExNiwgMjQyLCA5NSwgMjIwLCA2MywgMTUsIDUsIDIzMywgMTExLCAxNSwgNSwgCisgICAgMjMzLCAxMDQsIDE1LCA1LCAyMzMsIDEwNSwgMzAsIDIzMywgMTA0LCAxNSwgNSwgMjMzLCAxMDIsIDE1LCA1LCAyMzMsIAorICAgIDEwMywgMzAsIDIzMywgMTk2LCAxNSwgNSwgMjMzLCAxMDMsIDMwLCAyMzMsIDE5NywgOTYsIDIyMiwgMTQwLCAxNSwgNSwgCisgICAgMjMyLCAyNDEsIDE1LCA1LCAyMzIsIDIyNiwgMTUsIDUsIDIzMiwgMjE2LCAxNSwgNSwgMjMyLCAxOTcsIDE1LCA1LCAyMzIsIAorICAgIDk4LCAxNSwgNSwgMjMyLCA5OSwgMzAsIDI1MiwgMTc2LCAxNSwgNSwgMjMyLCA5NiwgMTUsIDUsIDIzMiwgOTcsIDMwLCAKKyAgICAyNTQsIDE3OCwgMTUsIDUsIDIzMiwgOTcsIDMwLCAyNTIsIDE3NiwgMTUsIDUsIDIzMiwgOTcsIDMwLCAyNDUsIDcyLCAxNSwgCisgICAgNSwgMjMyLCA5NywgMzAsIDI0NSwgNzMsIDIxNiwgMjM5LCAxNSwgNSwgMjMyLCA5NywgMzAsIDI0MywgMTA1LCAyMTYsIAorICAgIDIzOSwgMTUsIDUsIDIzMiwgOTcsIDMwLCAyNDEsIDE4MSwgMzAsIDI1MiwgMTc2LCAxNSwgNSwgMjMyLCA5NywgMzAsIDIzNiwgCisgICAgMTYsIDE1LCA1LCAyMzIsIDk3LCAzMCwgMjM1LCAxLCAxNSwgNSwgMjMyLCA5NywgMzAsIDIzNCwgMjU1LCAxNSwgNSwgMjMyLCAKKyAgICA5NywgMzAsIDIzNSwgMCwgOTYsIDI1MywgMjMxLCAxNSwgNSwgMjMyLCA5NywgMzAsIDIzNCwgOTIsIDE1LCA1LCAyMzIsIAorICAgIDk3LCAzMCwgMjMzLCAxMzYsIDk2LCAyNTMsIDIzMSwgMTUsIDUsIDIzMiwgOTcsIDMwLCAyMzMsIDExNywgMTUsIDUsIDIzMiwgCisgICAgOTcsIDMwLCAyMzEsIDkyLCA5NiwgMjQ1LCAxNTAsIDE1LCA1LCAyMzIsIDk3LCAzMCwgMjI5LCAxMDcsIDE1LCA1LCAyMzIsIAorICAgIDk3LCAzMCwgMjI3LCAyMzcsIDE1LCA1LCAyMzIsIDk3LCAzMCwgMjE5LCAxOTIsIDk2LCAyNTMsIDIzMSwgMTUsIDUsIDIzMiwgCisgICAgOTcsIDMwLCAyMTksIDE3NCwgOTYsIDI1MSwgMTI1LCAxNSwgNSwgMjMyLCA5NywgMzAsIDIxNSwgMTEzLCAxNSwgNSwgMjMyLCAKKyAgICA5NywgMjE2LCAyMzksIDE1LCA1LCAyMzIsIDk3LCAyNDksIDEyNSwgMjMyLCA5NiwgMTUsIDUsIDIzMiwgOTcsIDIyNiwgCisgICAgMTY0LCAyMzIsIDk2LCAxNSwgNSwgMjMyLCA5NywgMjE4LCAyMzMsIDE1LCA1LCAyMzIsIDk3LCAyMjAsIDQ1LCAxNSwgNSwgCisgICAgMjMyLCA5NSwgMTUsIDUsIDIzMiwgOTEsIDE1LCA1LCAyMzIsIDkyLCAxMTcsIDIzMiwgOTEsIDE1LCA1LCAyMzIsIDkyLCAKKyAgICAyMjYsIDE2NCwgMjMyLCA5MSwgMTUsIDUsIDIzMiwgOTIsIDIyMCwgNDUsIDE1LCA1LCAyMzIsIDg5LCAxNSwgNSwgMjMyLCAKKyAgICA4NiwgMTUsIDUsIDIzMiwgODQsIDE1LCA1LCAyMzIsIDg1LCAxMTcsIDIzMiwgODQsIDE1LCA1LCAyMzIsIDg1LCAxMTcsIAorICAgIDIzMiwgODUsIDI0MywgOTcsIDExNywgMjQzLCA5NiwgMTUsIDUsIDE4NCwgMTUsIDUsIDIzMSwgMjM5LCAzMCwgMjE3LCA3MiwgCisgICAgMTUsIDUsIDIzMSwgMjM5LCAyNDIsIDk0LCAxNSwgNSwgMjMxLCAyMzgsIDE1LCA1LCAyMzEsIDIxMCwgMTUsIDUsIDIzMSwgCisgICAgMTY2LCAxNSwgNSwgMjMxLCAxNDcsIDE1LCA1LCAyMzEsIDE0NiwgMTUsIDUsIDIzMSwgOTEsIDE1LCA1LCAyMzEsIDQ3LCAKKyAgICAxNSwgNSwgMjMwLCAyMzAsIDE1LCA1LCAyMzAsIDE4OCwgMTUsIDUsIDIzMCwgMTAyLCAxNSwgNSwgMjMwLCAxMDMsIDExNywgCisgICAgMjMwLCAxMDIsIDE1LCA1LCAyMzAsIDkzLCAxNSwgNSwgMjMwLCA5NCwgMjQyLCA5NCwgMTUsIDUsIDIzMCwgNzgsIDE1LCA1LCAKKyAgICAyMzAsIDY0LCAxNSwgNSwgMjMwLCA2MSwgMTUsIDUsIDIzMCwgNjIsIDMwLCA2MSwgMTUsIDUsIDIzMCwgNjIsIDMwLCAyMzMsIAorICAgIDE5NiwgMTUsIDUsIDIzMCwgNjIsIDMwLCAyMTAsIDExNiwgMTUsIDUsIDIzMCwgNjIsIDExNywgMjMwLCA2MSwgMTUsIDUsIAorICAgIDIzMCwgNjIsIDExNywgMjMwLCA2MiwgMzAsIDExNSwgOTYsIDE5NywgMTUsIDUsIDIzMCwgNjIsIDI0OSwgMTI1LCAyMzAsIAorICAgIDYxLCAxNSwgNSwgMjMwLCA1OSwgMTUsIDUsIDIzMCwgNjAsIDMwLCA2MSwgMTUsIDUsIDIzMCwgNjAsIDMwLCAxMTUsIDk2LCAKKyAgICAyNDgsIDMsIDE1LCA1LCAyMzAsIDYwLCAzMCwgMjQ4LCAzLCAxNSwgNSwgMjMwLCA2MCwgMjQyLCA5NCwgMTUsIDUsIDE5NywgCisgICAgMTUsIDUsIDIyOSwgMjI3LCAxNSwgNSwgMjI5LCAyMTYsIDE1LCA1LCAyMjksIDIxNywgMjM1LCAxOTIsIDE1LCA1LCAyMjksIAorICAgIDIxNywgMzAsIDIxOSwgMjI2LCAyMTYsIDIzOSwgMTUsIDUsIDIyOSwgMjE3LCAyMjYsIDE2NCwgMjI5LCAyMTYsIDE1LCA1LCAKKyAgICAyMjksIDIxNSwgMTUsIDUsIDIyOSwgMjA4LCAyMjcsIDE4MCwgMTUsIDUsIDIyOSwgMjA3LCAxNSwgNSwgMjI5LCAyMDYsIAorICAgIDE1LCA1LCAyMjksIDEwNywgMTUsIDUsIDIyOSwgMTA4LCAzMCwgNjEsIDE1LCA1LCAyMjksIDEwOCwgMzAsIDIxNCwgMjE5LCAKKyAgICAxNSwgNSwgMjI5LCAxMDgsIDIyMCwgNDUsIDE1LCA1LCAyMjgsIDIzMywgMTUsIDUsIDIyOCwgMjM0LCAzMCwgNzUsIDE1LCAKKyAgICA1LCAyMjgsIDIzMiwgMTUsIDUsIDIyOCwgMjAzLCAxNSwgNSwgMjI4LCAyMDQsIDMwLCAyNDMsIDEwNSwgMjE2LCAyMzksIAorICAgIDE1LCA1LCAyMjgsIDIwNCwgMzAsIDI0MywgOTcsIDk2LCAyNDMsIDEwNSwgMjE2LCAyMzksIDE1LCA1LCAyMjgsIDIwMSwgCisgICAgMTUsIDUsIDIyOCwgMjAyLCAzMCwgMjU0LCAxMjMsIDE1LCA1LCAyMjgsIDIwMiwgMzAsIDI1MywgMjMxLCAxNSwgNSwgMjI4LCAKKyAgICAyMDIsIDMwLCAyNTMsIDIzMiwgOTYsIDI1MywgMjMxLCAxNSwgNSwgMjI4LCAyMDIsIDMwLCAyNDIsIDEwMywgMTUsIDUsIAorICAgIDIyOCwgMjAyLCAzMCwgMjMxLCA5MiwgOTYsIDI0MywgMTA1LCAyMTYsIDIzOSwgMTUsIDUsIDIyOCwgMjAyLCAzMCwgMjI5LCAKKyAgICAxMDcsIDE1LCA1LCAyMjgsIDIwMiwgMzAsIDIyNywgMTk0LCAxNSwgNSwgMjI4LCAyMDIsIDMwLCAyMjAsIDYzLCAxNSwgNSwgCisgICAgMjI4LCAyMDIsIDMwLCAyMjAsIDY0LCA5NiwgMTE1LCAyNTQsIDEyMywgMTUsIDUsIDIyOCwgMjAyLCAzMCwgMjIwLCA2NCwgCisgICAgOTYsIDI1MywgMjMxLCAxNSwgNSwgMjI4LCAyMDIsIDMwLCAyMjAsIDY0LCA5NiwgMjUzLCAyMzIsIDk2LCAyNTMsIDIzMSwgCisgICAgMTUsIDUsIDIyOCwgMjAyLCAzMCwgMjE0LCAyMzEsIDk2LCAyNTMsIDIzMSwgMTUsIDUsIDIyOCwgMjAyLCAzMCwgMjE0LCAKKyAgICAxMjYsIDE1LCA1LCAyMjgsIDE5MCwgMTUsIDUsIDIyNywgMjM3LCAxNSwgNSwgMjI3LCAyMTAsIDE1LCA1LCAyMjcsIDE5NCwgCisgICAgMTUsIDUsIDIyNywgMTk1LCAyMzMsIDExNiwgMzAsIDI0MywgOTYsIDE1LCA1LCAyMjcsIDE5NSwgMjMzLCAxMTYsIDMwLCAKKyAgICAyMzEsIDE0NywgMTUsIDUsIDIyNywgMTk1LCAyMzMsIDExNiwgMzAsIDIyMiwgOCwgMTUsIDUsIDIyNywgMTk1LCAyMzMsIAorICAgIDExNiwgMzAsIDIyMiwgOSwgMTE3LCAyMjcsIDE5NSwgMjMzLCAxMTYsIDMwLCAyMjIsIDgsIDE1LCA1LCAyMjcsIDE5NSwgCisgICAgMjMzLCAxMTYsIDMwLCAyMTQsIDEyNiwgMTUsIDUsIDIyNywgMTk1LCAyMTYsIDIzOSwgMTUsIDUsIDIyNywgMTk1LCAxMTcsIAorICAgIDIyNywgMTk0LCAxNSwgNSwgMjI3LCAxOTUsIDI0OSwgMTI1LCAyMjcsIDE5NCwgMTUsIDUsIDIyNywgMTk1LCAyNDksIDEyNSwgCisgICAgMjI3LCAxOTUsIDIzMywgMTE2LCAxMTcsIDIzMywgMTE1LCAxNSwgNSwgMjI3LCAxODksIDE1LCA1LCAyMjcsIDE5MCwgMjU1LCAKKyAgICAyNCwgMzAsIDI1MywgMjI2LCAxNSwgNSwgMjI3LCAxOTAsIDI1NSwgMjQsIDMwLCAyNTIsIDYsIDE1LCA1LCAyMjcsIDE5MCwgCisgICAgMjU1LCAyNCwgMzAsIDI0NiwgNzQsIDE1LCA1LCAyMjcsIDE5MCwgMjU1LCAyNCwgMzAsIDI0MiwgMTAzLCAxNSwgNSwgMjI3LCAKKyAgICAxOTAsIDI1NSwgMjQsIDMwLCAyMzYsIDM2LCAyNDIsIDk0LCAxNSwgNSwgMjI3LCAxOTAsIDI1NSwgMjQsIDMwLCAyMzQsIAorICAgIDI1NSwgMTUsIDUsIDIyNywgMTkwLCAyNTUsIDI0LCAzMCwgMjMzLCAxMzUsIDE1LCA1LCAyMjcsIDE5MCwgMjU1LCAyNCwgCisgICAgMzAsIDIyOSwgMTA3LCAxNSwgNSwgMjI3LCAxOTAsIDI1NSwgMjQsIDMwLCAyMTksIDE3MSwgMTUsIDUsIDIyNywgMTkwLCAKKyAgICAyNTUsIDI0LCAzMCwgMjE0LCAyMzAsIDE1LCA1LCAyMjcsIDE5MCwgMjM0LCA2NiwgMzAsIDI1MiwgNiwgMTUsIDUsIDIyNywgCisgICAgMTkwLCAyMzQsIDY2LCAzMCwgMjUyLCA3LCA3MCwgMTUsIDUsIDE5MCwgMTUsIDUsIDIyNiwgODAsIDE1LCA1LCAyMjYsIDQ3LCAKKyAgICAxNSwgNSwgMjI2LCAyMSwgMTUsIDUsIDIyNSwgMTYxLCAxNSwgNSwgMjI1LCAxMDgsIDE1LCA1LCAyMjUsIDEwOSwgMzAsIAorICAgIDYxLCAxNSwgNSwgMjI1LCAxMDksIDMwLCAyNTUsIDI1LCAxNSwgNSwgMjI1LCAxMDksIDMwLCAyNTIsIDYsIDE1LCA1LCAKKyAgICAyMjUsIDEwOSwgMzAsIDI1MSwgMTI1LCAxNSwgNSwgMjI1LCAxMDksIDMwLCA3NSwgMTUsIDUsIDIyNSwgMTA5LCAzMCwgNzMsIAorICAgIDE1LCA1LCAyMjUsIDEwOSwgMzAsIDI0MCwgMTE1LCAxNSwgNSwgMjI1LCAxMDksIDMwLCA3MCwgMTUsIDUsIDIyNSwgMTA5LCAKKyAgICAzMCwgMjE0LCAyMzAsIDE1LCA1LCAyMjUsIDEwOSwgMjQ5LCAxMjUsIDIyNSwgMTA4LCAxNSwgNSwgMjI1LCA1MywgMTUsIDUsIAorICAgIDIyNSwgNTQsIDMwLCAyMzQsIDIzOCwgMTUsIDUsIDIyNSwgNTQsIDMwLCAyMTQsIDIxOSwgMTUsIDUsIDIyNSwgNTQsIDMwLCAKKyAgICAyMTAsIDExNiwgMTUsIDUsIDIyNSwgNTQsIDIyNiwgMTY0LCAyMjUsIDUzLCAxNSwgNSwgMjA1LCAxNSwgNSwgMjIzLCAxODIsIAorICAgIDE1LCA1LCAyMjMsIDM1LCAxNSwgNSwgMjIyLCAxNDAsIDE1LCA1LCAyMDYsIDE1LCA1LCAyMjIsIDIyLCAyMjcsIDE4MCwgCisgICAgMTUsIDUsIDIyMiwgMjEsIDE1LCA1LCAyMjIsIDIyLCAzMCwgNjEsIDE1LCA1LCAyMjIsIDIyLCAzMCwgMjQ2LCA3OCwgMTUsIAorICAgIDUsIDIyMiwgMjIsIDMwLCAyNDYsIDc2LCAxNSwgNSwgMjIyLCAyMiwgMzAsIDE2MiwgMTUsIDUsIDIyMiwgMjIsIDMwLCAKKyAgICAyMzQsIDI0MiwgMTUsIDUsIDIyMiwgMjIsIDMwLCAyMzMsIDE5NiwgMTUsIDUsIDIyMiwgMjIsIDMwLCAyMzIsIDg0LCAxNSwgCisgICAgNSwgMjIyLCAyMiwgMzAsIDIzMCwgMjMwLCAxNSwgNSwgMjIyLCAyMiwgMzAsIDIyNywgMTk0LCAxNSwgNSwgMjIyLCAyMiwgCisgICAgMzAsIDIyMiwgOCwgMTUsIDUsIDIyMiwgMjIsIDMwLCAyMjAsIDMwLCAxNSwgNSwgMjIyLCAyMiwgMzAsIDIxNywgOTMsIDE1LCAKKyAgICA1LCAyMjIsIDIyLCAzMCwgMjE0LCAyMzAsIDE1LCA1LCAyMjIsIDIyLCAzMCwgMjE0LCAyMjUsIDE1LCA1LCAyMjIsIDIyLCAKKyAgICAzMCwgMjE0LCAxOTcsIDE1LCA1LCAyMjIsIDIyLCAzMCwgMjE0LCAxNTAsIDE1LCA1LCAyMjIsIDIyLCAzMCwgMjE0LCAxMjYsIAorICAgIDE1LCA1LCAyMjIsIDIyLCAxMTcsIDIyMiwgMjEsIDE1LCA1LCAyMjIsIDIyLCAyNDIsIDk0LCAxNSwgNSwgMjIyLCA4LCAxNSwgCisgICAgNSwgMjIyLCA5LCAyMzMsIDExOCwgMzAsIDI1MywgMjI5LCAxNSwgNSwgMjIxLCAyMzksIDE1LCA1LCAyMjEsIDIzMSwgMTUsIAorICAgIDUsIDIyMCwgMTAyLCAxNSwgNSwgMjIwLCAxMDAsIDE1LCA1LCAyMjAsIDEwMSwgMzAsIDYxLCAxNSwgNSwgMjIwLCAxMDEsIAorICAgIDMwLCAyNTIsIDE3NiwgMTUsIDUsIDIyMCwgMTAxLCAzMCwgMjQyLCAxOTAsIDE1LCA1LCAyMjAsIDEwMSwgMzAsIDIyOSwgCisgICAgMTA3LCAxNSwgNSwgMjIwLCAxMDEsIDMwLCAyMTksIDIyMywgMTUsIDUsIDIyMCwgMTAxLCAzMCwgMjE1LCA5OCwgMTUsIDUsIAorICAgIDIyMCwgMTAxLCAzMCwgNzAsIDE1LCA1LCAyMjAsIDEwMSwgMzAsIDEwNCwgOTYsIDYxLCAxNSwgNSwgMjIwLCA5OSwgMTUsIAorICAgIDUsIDIyMCwgOTcsIDE1LCA1LCAyMjAsIDc4LCAxNSwgNSwgMjIwLCA2MywgMTUsIDUsIDIyMCwgNjQsIDI0MCwgMjIyLCAxNSwgCisgICAgNSwgMjIwLCA2NCwgMTE3LCAyMjAsIDY0LCAyNDMsIDEyNywgMTE3LCAyNDMsIDEyNywgMjQzLCA5NywgMTE3LCAyNDMsIDk2LCAKKyAgICAxNSwgNSwgMjIwLCA2NCwgMTE3LCAyMjAsIDY0LCAyMTcsIDk0LCAxMTcsIDIxNywgOTQsIDI0MywgOTcsIDExNywgMjQzLCAKKyAgICA5NiwgMTUsIDUsIDIyMCwgNTYsIDE1LCA1LCAyMjAsIDUxLCAxNSwgNSwgMjIwLCA0OCwgMTUsIDUsIDIyMCwgNDcsIDE1LCAKKyAgICA1LCAyMjAsIDQ0LCAxNSwgNSwgMjIwLCAzMCwgMTUsIDUsIDIyMCwgMzEsIDMwLCA2MSwgMTUsIDUsIDIyMCwgMzEsIDMwLCAKKyAgICAyMzYsIDE2LCAxNSwgNSwgMjIwLCAyNCwgMTUsIDUsIDIyMCwgMjUsIDMwLCA2MSwgMTUsIDUsIDIyMCwgMjUsIDMwLCAyNTIsIAorICAgIDE2MSwgMTUsIDUsIDIyMCwgMjUsIDMwLCAyNTEsIDEwOSwgMTUsIDUsIDIyMCwgMjUsIDMwLCAyNDcsIDIwNiwgMTUsIDUsIAorICAgIDIyMCwgMjUsIDMwLCAyNDMsIDk2LCAxNSwgNSwgMjIwLCAyNSwgMzAsIDIzNiwgMzUsIDE1LCA1LCAyMjAsIDI1LCAzMCwgCisgICAgMjM2LCAzNiwgMjQyLCA5NCwgMTUsIDUsIDIyMCwgMjUsIDMwLCAyMzMsIDE5MSwgMTUsIDUsIDIyMCwgMjUsIDMwLCAyMzIsIAorICAgIDg2LCAxNSwgNSwgMjIwLCAyNSwgMzAsIDIzMCwgOTMsIDE1LCA1LCAyMjAsIDI1LCAzMCwgMjIyLCA4LCAxNSwgNSwgMjIwLCAKKyAgICAxOCwgMTUsIDUsIDIyMCwgMTMsIDE1LCA1LCAyMjAsIDE0LCAyMTYsIDIzOSwgMTUsIDUsIDIyMCwgMTQsIDExNywgMjIwLCAKKyAgICAxNCwgMjUxLCA5OSwgMTE3LCAyNTEsIDk4LCAxNSwgNSwgMjIwLCA5LCAxNSwgNSwgMjE5LCAyMjUsIDE1LCA1LCAyMTksIAorICAgIDIyNiwgMTE3LCAyMzUsIDE5MywgMjE5LCAyMjUsIDE1LCA1LCAyMTksIDIyMywgMTUsIDUsIDIxOSwgMjIyLCAxNSwgNSwgCisgICAgMjE5LCAxOTEsIDE1LCA1LCAyMTksIDE5MiwgMjQyLCA5NCwgMTUsIDUsIDIxOSwgMTgyLCAxNSwgNSwgMjE5LCAxODAsIDE1LCAKKyAgICA1LCAyMTksIDE4MSwgMTE3LCAyMTksIDE4MSwgMjE5LCAyMjMsIDE1LCA1LCAyMTksIDE3MywgMTUsIDUsIDIxOSwgMTcxLCAKKyAgICAxNSwgNSwgMjE4LCA4MywgMTUsIDUsIDIxOCwgODQsIDExNywgMjE4LCA4MywgMTUsIDUsIDIxOCwgNTQsIDE1LCA1LCAyMTgsIAorICAgIDUzLCAxNSwgNSwgMjE4LCA1MSwgMTUsIDUsIDIxOCwgNDMsIDE1LCA1LCAyMTgsIDQyLCAxNSwgNSwgMjE4LCAxNywgMTUsIAorICAgIDUsIDIxOCwgMTYsIDE1LCA1LCAyMTcsIDEwNSwgMTUsIDUsIDIxNywgMTA2LCAyNTMsIDIxNiwgMTUsIDUsIDIxNywgMTA2LCAKKyAgICAzMCwgMjQxLCAxODAsIDE1LCA1LCAyMTcsIDEwNiwgMzAsIDIzMCwgMjMwLCAxNSwgNSwgMjE3LCAxMDYsIDI0MiwgOTQsIAorICAgIDE1LCA1LCAyMTcsIDkzLCAxNSwgNSwgMjE3LCA5NCwgMTE3LCAyMTcsIDk0LCAyMjgsIDIzNCwgMTE3LCAyMjgsIDIzNCwgCisgICAgMjQ3LCAxODgsIDExNywgMjQ3LCAxODcsIDE1LCA1LCAyMTcsIDk0LCAyMTgsIDIzMywgMTUsIDUsIDIxNywgODQsIDE1LCA1LCAKKyAgICAxMjksIDMwLCAyNTIsIDYsIDE1LCA1LCAxMjksIDMwLCAyNDIsIDEwMywgMTUsIDUsIDEyOSwgMzAsIDIyMCwgNjMsIDE1LCAKKyAgICA1LCAxMjksIDMwLCAyMTksIDIyNSwgMTUsIDUsIDEyOSwgMzAsIDIxNSwgMTEzLCAxNSwgNSwgMTI5LCAzMCwgMjE0LCAyMTksIAorICAgIDE1LCA1LCAyMTcsIDcyLCAxNSwgNSwgMjE3LCA1MCwgMTUsIDUsIDIxNywgMjIsIDE1LCA1LCAyMTcsIDIzLCAyNDIsIDk0LCAKKyAgICAxNSwgNSwgMjE2LCAxMTcsIDE1LCA1LCAyMTYsIDExOCwgMjE2LCAyMzksIDE1LCA1LCAyMTYsIDkwLCAxNSwgNSwgMjE2LCAKKyAgICA3MiwgMTUsIDUsIDIxNiwgNzMsIDMwLCAyMTcsIDcyLCAxNSwgNSwgMjE2LCA3MywgMTE3LCAyMTYsIDcyLCAxNSwgNSwgCisgICAgMjE2LCA3MywgMTE3LCAyMTYsIDczLCAyNDMsIDEyNywgMTE3LCAyNDMsIDEyNywgMjQzLCA5NywgMTE3LCAyNDMsIDk2LCAKKyAgICAxNSwgNSwgMjE1LCAxMTgsIDE1LCA1LCAyMTUsIDExMywgMTUsIDUsIDIxNSwgMTExLCAxNSwgNSwgMjE1LCAxMDgsIDE1LCAKKyAgICA1LCAyMTUsIDk4LCAxNSwgNSwgMjE1LCA5OSwgMTE3LCAyMTUsIDk5LCAyMTAsIDExNywgMTE3LCAyMTAsIDExNiwgMTUsIDUsIAorICAgIDcwLCAxNSwgNSwgMTA0LCAyNDIsIDEwMywgMTUsIDUsIDEwNCwgMTA0LCA3MCwgMTUsIDUsIDEwNCwgMTE3LCAxMDQsIDIyNiwgCisgICAgOTAsIDExNywgMjI2LCA5MCwgMjQzLCA5NywgMTE3LCAyNDMsIDk2LCAxNSwgNSwgMTA0LCAxMTcsIDEwNCwgMjE4LCAxOCwgCisgICAgMTE3LCAyMTgsIDE3LCAxNSwgNSwgMTA0LCAxMTcsIDEwNCwgMTA0LCAyMjMsIDQ5LCAxMTcsIDEwNCwgMjIzLCA0OCwgMTUsIAorICAgIDUsIDIxNCwgMjMwLCAxNSwgNSwgMjE0LCAyMjUsIDE1LCA1LCAyMTQsIDIxOSwgMTUsIDUsIDIxNCwgMjIwLCAyMzMsIDE5MSwgCisgICAgMTUsIDUsIDIxNCwgMjIwLCAzMCwgMjUyLCAxNzYsIDE1LCA1LCAyMTQsIDIyMCwgMzAsIDIzMCwgMjMwLCAxNSwgNSwgMjE0LCAKKyAgICAyMjAsIDMwLCAxMDQsIDk2LCAxMDQsIDk2LCA3MCwgMTUsIDUsIDIxNCwgMjIwLCAzMCwgMTA0LCA5NiwgMTA0LCA5NiwgCisgICAgMTA0LCAyNDIsIDk0LCAxNSwgNSwgMjE0LCAyMjAsIDI0MiwgOTQsIDE1LCA1LCAyMTQsIDIyMCwgMjIwLCA0NSwgMTUsIDUsIAorICAgIDIxNCwgMjIwLCAyMjAsIDQ2LCAzMCwgMjUyLCAxNzYsIDE1LCA1LCAyMTQsIDIxNSwgMTUsIDUsIDIxNCwgMTk3LCAxNSwgNSwgCisgICAgMjE0LCAxOTgsIDMwLCAyMzMsIDExNywgMTUsIDUsIDIxNCwgMTk4LCAzMCwgMjMxLCA5MiwgOTYsIDI0OCwgMjIxLCAxNSwgCisgICAgNSwgMjE0LCAxOTgsIDMwLCAyMjAsIDEwMCwgMTUsIDUsIDIxNCwgMTk4LCAzMCwgNzAsIDE1LCA1LCAyMTQsIDE5NiwgMTUsIAorICAgIDUsIDIxNCwgMTkyLCAxNSwgNSwgMjE0LCAxOTMsIDMwLCAyMzQsIDIwNywgMTUsIDUsIDIxNCwgMTkzLCAzMCwgMTkwLCAxNSwgCisgICAgNSwgMjE0LCAxOTAsIDE1LCA1LCAyMTQsIDE5MSwgMjQyLCA5NCwgMTUsIDUsIDIxNCwgMTUwLCAxNSwgNSwgMjE0LCAxNTEsIAorICAgIDI0OSwgMTI1LCAyMTQsIDE1MCwgMTUsIDUsIDIxNCwgMTUxLCAyMjAsIDQ1LCAxNSwgNSwgMjE0LCAxNDgsIDE1LCA1LCAKKyAgICAyMTQsIDE0OSwgMzAsIDExNSwgOTYsIDE2MiwgMTUsIDUsIDIxNCwgMTQ5LCAzMCwgMTE1LCA5NiwgMTk3LCAxNSwgNSwgCisgICAgMjE0LCAxNDksIDMwLCAyNTQsIDE3OCwgMTUsIDUsIDIxNCwgMTQ5LCAzMCwgMTYyLCAxNSwgNSwgMjE0LCAxNDksIDMwLCAKKyAgICAyMjcsIDE5NCwgMTUsIDUsIDIxNCwgMTQ5LCAzMCwgMjE0LCAyMzAsIDE1LCA1LCAyMTQsIDE0OSwgMzAsIDIxNCwgMjMxLCAKKyAgICA5NiwgMjUzLCAyMzEsIDE1LCA1LCAyMTQsIDE0OSwgMzAsIDIxNCwgMjMxLCA5NiwgMjUyLCA2LCAxNSwgNSwgMjE0LCAxNDcsIAorICAgIDE1LCA1LCAyMTQsIDE0NCwgMTUsIDUsIDIxNCwgMTQzLCAxNSwgNSwgMjE0LCAxMzksIDE1LCA1LCAyMTQsIDE0MCwgMzAsIAorICAgIDYxLCAxNSwgNSwgMjE0LCAxNDAsIDMwLCAyNTMsIDIyNiwgMTUsIDUsIDIxNCwgMTQwLCAzMCwgMTMwLCAxNSwgNSwgMjE0LCAKKyAgICAxNDAsIDMwLCAyNDYsIDY4LCAxNSwgNSwgMjE0LCAxNDAsIDMwLCAyNDMsIDEzNSwgMTUsIDUsIDIxNCwgMTQwLCAzMCwgCisgICAgMjQzLCAxMTgsIDE1LCA1LCAyMTQsIDE0MCwgMzAsIDI0MywgMTA1LCAyMTYsIDIzOSwgMTUsIDUsIDIxNCwgMTQwLCAzMCwgCisgICAgMjQzLCA5NiwgMTUsIDUsIDIxNCwgMTQwLCAzMCwgMjQyLCAxMTMsIDE1LCA1LCAyMTQsIDE0MCwgMzAsIDE2MiwgMTUsIDUsIAorICAgIDIxNCwgMTQwLCAzMCwgMjM2LCAzNSwgMTUsIDUsIDIxNCwgMTQwLCAzMCwgMjM2LCAxNiwgMTUsIDUsIDIxNCwgMTQwLCAzMCwgCisgICAgMjM1LCAxNjUsIDE1LCA1LCAyMTQsIDE0MCwgMzAsIDIzNCwgOTIsIDE1LCA1LCAyMTQsIDE0MCwgMzAsIDIzMiwgODQsIDE1LCAKKyAgICA1LCAyMTQsIDE0MCwgMzAsIDIzMCwgMTg4LCAxNSwgNSwgMjE0LCAxNDAsIDMwLCAxOTAsIDE1LCA1LCAyMTQsIDE0MCwgMzAsIAorICAgIDIyMCwgNjMsIDE1LCA1LCAyMTQsIDE0MCwgMzAsIDIxOSwgMTgwLCAxNSwgNSwgMjE0LCAxNDAsIDMwLCAyMTUsIDExOCwgCisgICAgMTUsIDUsIDIxNCwgMTQwLCAzMCwgMTA0LCA5NiwgMjQyLCAxMDMsIDE1LCA1LCAyMTQsIDE0MCwgMzAsIDIxNCwgMjE5LCAKKyAgICAxNSwgNSwgMjE0LCAxNDAsIDMwLCAyMTQsIDEzNywgMTUsIDUsIDIxNCwgMTM3LCAxNSwgNSwgMjE0LCAxMzgsIDMwLCA3MCwgCisgICAgMTUsIDUsIDIxNCwgMTI2LCAxNSwgNSwgMjE0LCAxMjcsIDMwLCA2MSwgMTUsIDUsIDIxNCwgMTI3LCAzMCwgMjMzLCAyMTcsIAorICAgIDE1LCA1LCAyMTQsIDEyNywgMzAsIDIzMywgMTk2LCAxNSwgNSwgMjE0LCAxMjcsIDMwLCAyMTcsIDcyLCAxNSwgNSwgMjE0LCAKKyAgICAxMjIsIDE1LCA1LCAyMTQsIDEyNSwgMTUsIDUsIDIxNCwgMTIzLCAxNSwgNSwgMjE0LCAxMTksIDE1LCA1LCAyMTQsIDEwOCwgCisgICAgMTUsIDUsIDIxNCwgMTA5LCAzMCwgMjM0LCAyMDcsIDE1LCA1LCAyMTQsIDEwNywgMTUsIDUsIDIxMCwgMTE2LCAxNSwgNSwgCisgICAgMjEwLCAxMTcsIDIxNiwgMjM5LCAxNSwgNSwgMjEwLCAxMTcsIDkyLCAzMCwgMjMzLCAxOTYsIDE1LCA1LCAyMTAsIDExMywgCisgICAgMTUsIDUsIDIxMCwgMTA2LCAxNSwgNSwgMjEwLCA5MywgMTUsIDUsIDIxMCwgNDQsIDE1LCA1LCAyMTAsIDQ1LCAxMTcsIAorICAgIDIxMCwgNDQsIDE1LCA1LCAyMTAsIDQzLCAxNSwgNSwgMjEwLCA0MSwgMTUsIDUsIDIxMCwgNDIsIDIzNSwgMywgMjE2LCAKKyAgICAyMzksIDE1LCA1LCAyMTAsIDM2LCAxNSwgNSwgMjEwLCAyOCwgMTUsIDUsIDIxMCwgMTMsIDE1LCA1LCAyMTAsIDExLCAxNSwgCisgICAgNSwgMjEwLCAxMiwgMzAsIDYxLCAxNSwgNSwgMjEwLCAxMCwgMTUsIDUsIDIxMCwgOSwgMTUsIDEzMiwgNSwgMTEzLCAyNTMsIAorICAgIDIzMSwgMTUsIDEzMiwgNSwgMTM0LCAyNTMsIDIzMSwgMTUsIDEzMiwgNSwgMjQ0LCAxMSwgMjUzLCAyMzEsIDE1LCAxMzIsIAorICAgIDUsIDI0NCwgODEsIDI1MywgMjMxLCAxNSwgMTMyLCA1LCAyMTksIDEyNSwgMjUzLCAyMzEsIDE1LCAxMzIsIDUsIDIyMCwgCisgICAgMTIyLCAyNTMsIDIzMSwgMTUsIDEzMiwgNSwgMjQ1LCAxOTMsIDI1MywgMjMxLCAxNSwgMTMyLCA1LCAyMjgsIDIwMCwgMjUzLCAKKyAgICAyMzEsIDE1LCAxMzIsIDUsIDEzNCwgMjQ3LCAxODcsIDE1LCAxMzIsIDUsIDI0NCwgMTEsIDI0NywgMTg3LCAxNSwgMTMyLCAKKyAgICA1LCAyNDQsIDgxLCAyNDcsIDE4NywgMTUsIDEzMiwgNSwgMjE5LCAxMjUsIDI0NywgMTg3LCAxNSwgMTMyLCA1LCAyMjAsIAorICAgIDEyMiwgMjQ3LCAxODcsIDE1LCAxMzIsIDUsIDI0NSwgMTkzLCAyNDcsIDE4NywgMTUsIDEzMiwgNSwgMjI4LCAyMDAsIDI0NywgCisgICAgMTg3LCAxNSwgMTMyLCA1LCAyNDQsIDExLCA3MCwgMTUsIDEzMiwgNSwgMjQ0LCA4MSwgNzAsIDE1LCAxMzIsIDUsIDIxOSwgCisgICAgMTI1LCA3MCwgMTUsIDEzMiwgNSwgMjIwLCAxMjIsIDcwLCAxNSwgMTMyLCA1LCAyNDUsIDE5MywgNzAsIDE1LCAxMzIsIDUsIAorICAgIDIyOCwgMjAwLCA3MCwgMTUsIDEzMiwgNSwgMTIzLCAyNDMsIDM4LCAxNSwgMTMyLCA1LCAxMTMsIDI0MywgMzgsIDE1LCAKKyAgICAxMzIsIDUsIDEzNCwgMjQzLCAzOCwgMTUsIDEzMiwgNSwgMjQ0LCAxMSwgMjQzLCAzOCwgMTUsIDEzMiwgNSwgMjQ0LCA4MSwgCisgICAgMjQzLCAzOCwgMTUsIDEzMiwgNSwgMjE5LCAxMjUsIDI0MywgMzgsIDE1LCAxMzIsIDUsIDIyMCwgMTIyLCAyNDMsIDM4LCAKKyAgICAxNSwgMTMyLCA1LCAyNDUsIDE5MywgMjQzLCAzOCwgMTUsIDEzMiwgNSwgMjI4LCAyMDAsIDI0MywgMzgsIDE1LCAxMzIsIDUsIAorICAgIDEyMywgMjQzLCAzNSwgMTUsIDEzMiwgNSwgMTEzLCAyNDMsIDM1LCAxNSwgMTMyLCA1LCAxMzQsIDI0MywgMzUsIDE1LCAKKyAgICAxMzIsIDUsIDI0NCwgMTEsIDI0MywgMzUsIDE1LCAxMzIsIDUsIDI0NCwgODEsIDI0MywgMzUsIDE1LCAxMzIsIDUsIDExMywgCisgICAgMjIwLCA3OCwgMTUsIDEzMiwgNSwgMTM0LCAyMjAsIDc4LCAxNSwgMTMyLCA1LCAxMzQsIDIyMCwgNzksIDIxNCwgMTIsIDE3LCAKKyAgICAxNSwgMTMyLCA1LCAyNDQsIDExLCAyMjAsIDc4LCAxNSwgMTMyLCA1LCAyNDQsIDgxLCAyMjAsIDc4LCAxNSwgMTMyLCA1LCAKKyAgICAyMTksIDEyNSwgMjIwLCA3OCwgMTUsIDEzMiwgNSwgMjIwLCAxMjIsIDIyMCwgNzgsIDE1LCAxMzIsIDUsIDI0NSwgMTkzLCAKKyAgICAyMjAsIDc4LCAxNSwgMTMyLCA1LCAyMjgsIDIwMCwgMjIwLCA3OCwgMTUsIDEzMiwgNSwgMTIzLCAyMjAsIDczLCAxNSwgCisgICAgMTMyLCA1LCAxMTMsIDIyMCwgNzMsIDE1LCAxMzIsIDUsIDEzNCwgMjIwLCA3MywgMTUsIDEzMiwgNSwgMTM0LCAyMjAsIDc0LCAKKyAgICAyMTQsIDEyLCAxNywgMTUsIDEzMiwgNSwgMjQ0LCAxMSwgMjIwLCA3MywgMTUsIDEzMiwgNSwgMjQ0LCA4MSwgMjIwLCA3MywgCisgICAgMTUsIDEzMiwgNSwgMjIwLCA3OSwgMzAsIDI0MywgMTE5LCA5NiwgMjQ3LCAxODcsIDE1LCAxMzIsIDUsIDIyMCwgNzksIDMwLCAKKyAgICAyNDMsIDExOSwgOTYsIDIzMCwgMTg4LCAxNSwgMTMyLCA1LCAxMjMsIDI1MSwgOTUsIDE1LCAxMzIsIDUsIDExMywgMjUxLCAKKyAgICA5NSwgMTUsIDEzMiwgNSwgMTM0LCAyNTEsIDk1LCAxNSwgMTMyLCA1LCAxMzQsIDI1MSwgOTYsIDIxNCwgMTIsIDE3LCAxNSwgCisgICAgMTMyLCA1LCAyNDQsIDExLCAyNTEsIDk1LCAxNSwgMTMyLCA1LCAyNDQsIDgxLCAyNTEsIDk1LCAxNSwgMTMyLCA1LCAxMzQsIAorICAgIDIxNCwgMTIsIDI0NCwgMjAsIDI0NSwgNzQsIDE1LCAxMzIsIDUsIDEzNCwgMjE0LCAxMiwgMjQ0LCAyMCwgMjQ1LCA3MSwgCisgICAgMTUsIDEzMiwgNSwgMjQ0LCAxMSwgMjE0LCAxMiwgMjQ0LCAyMCwgMjMyLCAyMTcsIDE1LCAxMzIsIDUsIDI0NCwgMTEsIAorICAgIDIxNCwgMTIsIDI0NCwgMjAsIDIzMiwgMjE1LCAxNSwgMTMyLCA1LCAyNDQsIDExLCAyMTQsIDEyLCAyNDQsIDIwLCAyMzIsIAorICAgIDIxOCwgNjEsIDE1LCAxMzIsIDUsIDI0NCwgMTEsIDIxNCwgMTIsIDI0NCwgMjAsIDIzMiwgMjE4LCAyNTMsIDE1OCwgMTUsIAorICAgIDEzMiwgNSwgMjE5LCAxMjUsIDIxNCwgMTIsIDI0NCwgMjAsIDI1MywgMjI4LCAxNSwgMTMyLCA1LCAyMjAsIDEyMiwgMjE0LCAKKyAgICAxMiwgMjQ0LCAyMCwgMjM2LCA4LCAxNSwgMTMyLCA1LCAyMjAsIDEyMiwgMjE0LCAxMiwgMjQ0LCAyMCwgMjM2LCAxMCwgNjEsIAorICAgIDE1LCAxMzIsIDUsIDIyMCwgMTIyLCAyMTQsIDEyLCAyNDQsIDIwLCAyMzYsIDEwLCAyNTMsIDE1OCwgMTUsIDEzMiwgNSwgCisgICAgMjQ1LCAxOTMsIDIxNCwgMTIsIDI0NCwgMjAsIDIxNCwgMTIxLCAxNSwgMTMyLCA1LCAyNDUsIDE5MywgMjE0LCAxMiwgMjQ0LCAKKyAgICAyMCwgMjE0LCAxMjAsIDE1LCAxMzIsIDUsIDIyOCwgMjAwLCAyMTQsIDEyLCAyNDQsIDIwLCAyMzYsIDI0LCAxNSwgMTMyLCAKKyAgICA1LCAyMjgsIDIwMCwgMjE0LCAxMiwgMjQ0LCAyMCwgMjM2LCAyMywgMTUsIDEzMiwgNSwgMjI4LCAyMDAsIDIxNCwgMTIsIAorICAgIDI0NCwgMjAsIDIzNiwgMjIsIDE1LCAxMzIsIDUsIDIyOCwgMjAwLCAyMTQsIDEyLCAyNDQsIDIwLCAyMzYsIDI1LCA2MSwgCisgICAgMTUsIDEzMiwgNSwgMTEzLCAyNTMsIDIzMiwgMjE2LCAyMzksIDE1LCAxMzIsIDUsIDEzNCwgMjUzLCAyMzIsIDIxNiwgMjM5LCAKKyAgICAxNSwgMTMyLCA1LCAyNDQsIDExLCAyNTMsIDIzMiwgMjE2LCAyMzksIDE1LCAxMzIsIDUsIDI0NCwgODEsIDI1MywgMjMyLCAKKyAgICAyMTYsIDIzOSwgMTUsIDEzMiwgNSwgMjE5LCAxMjUsIDI1MywgMjMyLCAyMTYsIDIzOSwgMTUsIDEzMiwgNSwgMTIzLCAyNTIsIAorICAgIDE1MCwgMTUsIDEzMiwgNSwgMTEzLCAyNTIsIDE1MCwgMTUsIDEzMiwgNSwgMTM0LCAyNTIsIDE1MCwgMTUsIDEzMiwgNSwgCisgICAgMjQ0LCAxMSwgMjUyLCAxNTAsIDE1LCAxMzIsIDUsIDI0NCwgMTEsIDI1MiwgMTUxLCAyMTQsIDEyLCAxNywgMTUsIDEzMiwgCisgICAgNSwgMjQ0LCA4MSwgMjUyLCAxNTAsIDE1LCAxMzIsIDUsIDI0NCwgODEsIDI1MiwgMTUxLCAyMTQsIDEyLCAxNywgMTUsIAorICAgIDEzMiwgNSwgMjI4LCAyMTAsIDE1LCAxMzIsIDUsIDIyOCwgMjExLCAxNSwgMTMyLCA1LCAxMjMsIDI0NSwgNzAsIDE1LCAKKyAgICAxMzIsIDUsIDExMywgMjQ1LCA3MCwgMTUsIDEzMiwgNSwgMTIzLCAyMTYsIDE2OSwgMjQ3LCAxODcsIDE1LCAxMzIsIDUsIAorICAgIDExMywgMjE2LCAxNjcsIDI0NywgMTg3LCAxNSwgMTMyLCA1LCAyNDQsIDgxLCAyMTksIDExNCwgMjQ3LCAxODcsIDE1LCAKKyAgICAxMzIsIDUsIDEyMywgMjE2LCAxNjksIDIxNCwgMTIsIDI0NCwgMjAsIDYxLCAxNSwgMTMyLCA1LCAxMTMsIDIxNiwgMTY3LCAKKyAgICAyMTQsIDEyLCAyNDQsIDIwLCA2MSwgMTUsIDEzMiwgNSwgMTIzLCAyNDUsIDE4OSwgMjUzLCAyMzEsIDE1LCAxMzIsIDUsIAorICAgIDEyMywgMjI0LCAyMiwgMjUzLCAyMzEsIDE1LCAxMzIsIDUsIDU1LCAyNTMsIDIxOSwgMTIzLCAyMTksIDExNSwgMTUsIDEzMiwgCisgICAgNSwgNTUsIDI1MywgMjE5LCAxMjMsIDIyNCwgMjEsIDE1LCAyMjQsIDE0MSwgNSwgNTUsIDI1MywgMjE5LCAyMTEsIDIwOSwgCisgICAgMjQ3LCAxNzIsIDE1LCAyMjQsIDE0MSwgNSwgNjcsIDI0OSwgMjI2LCAxNSwgMjI0LCAxNDEsIDUsIDI0NywgMjU1LCAyNDksIAorICAgIDIyNiwgMTUsIDIyNCwgMTQxLCA1LCAyNDcsIDI1NSwgMjE1LCAyMjEsIDEyLCAxMywgMjU1LCAxNTUsIDEyLCAxMywgMjU1LCAKKyAgICAxNTQsIDEyLCAxMywgMjU1LCAxNTMsIDEyLCAxMywgMjU1LCAxNTIsIDEyLCAxMywgMjU1LCAxNTEsIDEyLCAxMywgMjU1LCAKKyAgICAxNTAsIDEyLCAxMywgMjU1LCAxNDksIDEyLCAxMywgMjU1LCAxNDgsIDEyLCAxMywgMjU1LCAxNDcsIDEyLCAxMywgMjU1LCAKKyAgICAxNDYsIDEyLCAxMywgMjU1LCAxNDUsIDEyLCAxMywgMjU1LCAxNDQsIDEyLCAxMywgMjU1LCAxNDMsIDEyLCAxMywgMjU1LCAKKyAgICAxNDIsIDEyLCAxMywgMjU1LCAxNDEsIDEyLCAxMywgMjU1LCAxNDAsIDEyLCAxMywgMjU1LCAxMzksIDEyLCAxMywgMjU1LCAKKyAgICAxMzgsIDEyLCAxMywgMjU1LCAxMzcsIDEyLCAxMywgMjU1LCAxMzYsIDEyLCAxMywgMjU1LCAxMzUsIDEyLCAxMywgMjU1LCAKKyAgICAxMzQsIDEyLCAxMywgMjU1LCAxMzMsIDEyLCAxMywgMjU1LCAxMzIsIDEyLCAxMywgMjU1LCAxMzEsIDEyLCAxMywgMjU1LCAKKyAgICAxMzAsIDEyLCAxMywgMjU1LCAxMjksIDEyLCAxMywgMjU1LCAxMjgsIDEyLCAxMywgMjU1LCAxMjcsIDEyLCAxMywgMjU1LCAKKyAgICAxMjYsIDEyLCAxMywgMjU1LCAxMjUsIDEyLCAxMywgMjU1LCAxMjQsIDEyLCAxMywgMjU1LCAxMjMsIDEyLCAxMywgMjU1LCAKKyAgICAxMjIsIDEyLCAxMywgMjU1LCAxMjEsIDEyLCAxMywgMjU1LCAxMjAsIDEyLCAxMywgMjU1LCAxMTksIDEyLCAxMywgMjU1LCAKKyAgICAxMTgsIDEyLCAxMywgMjU1LCAxMTcsIDEyLCAxMywgMjU1LCAxMTYsIDEyLCAxMywgMjU1LCAxMTUsIDEyLCAxMywgMjU1LCAKKyAgICAxMTQsIDEyLCAxMywgMjU1LCAxMTMsIDEyLCAxMywgMjU1LCAxMTIsIDEyLCAxMywgMjU1LCAxMTEsIDEyLCAxMywgMjU1LCAKKyAgICAxMTAsIDEyLCAxMywgMjU1LCAxMDksIDEyLCAxMywgMjU1LCAxMDgsIDEyLCAxMywgMjU1LCAxMDcsIDEyLCAxMywgMjU1LCAKKyAgICAxMDYsIDEyLCAxMywgMjU1LCAxMDUsIDEyLCAxMywgMjU1LCAxMDQsIDEyLCAxMywgMjU1LCAxMDMsIDEyLCAxMywgMjU1LCAKKyAgICAxMDIsIDEyLCAxMywgMjU1LCAxMDEsIDEyLCAxMywgMjU1LCAxMDAsIDEyLCAxMywgMjU1LCA5OSwgMTIsIDEzLCAyNTUsIAorICAgIDk4LCAxMiwgMTMsIDI1NSwgOTcsIDEyLCAxMywgMjU1LCA5NiwgMTIsIDEzLCAyNTUsIDk1LCAxMiwgMTMsIDI1NSwgOTQsIAorICAgIDEyLCAxMywgMjU1LCA5MywgMTIsIDEzLCAyNTUsIDkyLCAxMiwgMTMsIDI1NSwgOTEsIDEyLCAxMywgMjU1LCA5MCwgMTIsIAorICAgIDEzLCAyNTUsIDg5LCAxMiwgMTMsIDI1NSwgODgsIDEyLCAxMywgMjU1LCA4NywgMTIsIDEzLCAyNTUsIDg2LCAxMiwgMTMsIAorICAgIDI1NSwgODUsIDEyLCAxMywgMjU1LCA4NCwgMTIsIDEzLCAyNTUsIDgzLCAxMiwgMTMsIDI1NSwgODIsIDEyLCAxMywgMjU1LCAKKyAgICA4MSwgMTIsIDEzLCAyNTUsIDgwLCAxMiwgMTMsIDI1NSwgNzksIDEyLCAxMywgMjU1LCA3OCwgMTIsIDEzLCAyNTUsIDc3LCAKKyAgICAxMiwgMTMsIDI1NSwgNzYsIDEyLCAxMywgMjUzLCAxNTYsIDEyLCAxMywgMjUzLCAxNTQsIDEyLCAxMywgMjUzLCAxNTIsIAorICAgIDEyLCAxMywgMjUzLCAxNTAsIDEyLCAxMywgMjUzLCAxNDgsIDEyLCAxMywgMjUzLCAxNDcsIDEyLCAxMywgMjUzLCAxNDUsIAorICAgIDEyLCAxMywgMjUzLCAxNDMsIDEyLCAxMywgMjUzLCAxNDEsIDEyLCAxMywgMjUzLCAxMzksIDEyLCAxMywgMjUxLCA2MiwgCisgICAgMTIsIDEzLCAyNTEsIDYxLCAxMiwgMTMsIDI1MSwgNjAsIDEyLCAxMywgMjUxLCA1OSwgMTIsIDEzLCAyNTEsIDU4LCAxMiwgCisgICAgMTMsIDI1MSwgNTcsIDEyLCAxMywgMjUxLCA1NiwgMTIsIDEzLCAyNTEsIDU1LCAxMiwgMTMsIDI1MSwgNTQsIDEyLCAxMywgCisgICAgMjUxLCA1MywgMTIsIDEzLCAyNTEsIDUyLCAxMiwgMTMsIDI1MSwgNTEsIDEyLCAxMywgMjUxLCA1MCwgMTIsIDEzLCAyNTEsIAorICAgIDQ5LCAxMiwgMTMsIDI1MSwgNDgsIDEyLCAxMywgMjUxLCA0NywgMTIsIDEzLCAyNTEsIDQ2LCAxMiwgMTMsIDI1MSwgNDUsIAorICAgIDEyLCAxMywgMjUxLCA0NCwgMTIsIDEzLCAyNTEsIDQzLCAxMiwgMTMsIDI1MSwgNDIsIDEyLCAxMywgMjUxLCA0MSwgMTIsIAorICAgIDEzLCAyNTEsIDQwLCAxMiwgMTMsIDI1MSwgMzksIDEyLCAxMywgMjUxLCAzOCwgMTIsIDEzLCAyNTEsIDM3LCAxMiwgMTMsIAorICAgIDI1MSwgMzYsIDEyLCAxMywgMjUxLCAzNSwgMTIsIDEzLCAyNDksIDU5LCAxMiwgMTMsIDI0OSwgNTgsIDEyLCAxMywgMjQ5LCAKKyAgICA1NywgMTIsIDEzLCAyNDksIDU2LCAxMiwgMTMsIDI0OSwgNTUsIDEyLCAxMywgMjQ5LCA1NCwgMTIsIDEzLCAyNDksIDUzLCAKKyAgICAxMiwgMTMsIDI0OSwgNTIsIDEyLCAxMywgMjQ5LCA1MSwgMTIsIDEzLCAyNDksIDUwLCAxMiwgMTMsIDI0OSwgNDksIDEyLCAKKyAgICAxMywgMjQ5LCA0OCwgMTIsIDEzLCAyNDksIDQ3LCAxMiwgMTMsIDI0OSwgNDYsIDEyLCAxMywgMjQ5LCA0NSwgMTIsIDEzLCAKKyAgICAyNDksIDQ0LCAxMiwgMTMsIDI0OSwgNDMsIDEyLCAxMywgMjQ5LCA0MiwgMTIsIDEzLCAyNDksIDQxLCAxMiwgMTMsIDI0OSwgCisgICAgNDAsIDEyLCAxMywgMjQ5LCAzOSwgMTIsIDEzLCAyNDksIDM4LCAxMiwgMTMsIDI0OSwgMzcsIDEyLCAxMywgMjQ5LCAzNiwgCisgICAgMTIsIDEzLCAyNDksIDM1LCAxMiwgMTMsIDI0OSwgMzQsIDEyLCAxMywgMjQ5LCAzMywgMTIsIDEzLCAyNDksIDMyLCAxMiwgCisgICAgMTMsIDI0OSwgMzEsIDEyLCAxMywgMjQ5LCAzMCwgMTIsIDEzLCAyNDksIDI5LCAxMiwgMTMsIDI0OSwgMjgsIDEyLCAxMywgCisgICAgMjQ5LCAyNywgMTIsIDEzLCAyNDksIDI2LCAxMiwgMTMsIDI0OSwgMjUsIDEyLCAxMywgMjQ5LCAyNCwgMTIsIDEzLCAyNDksIAorICAgIDIzLCAxMiwgMTMsIDI0OSwgMjIsIDEyLCAxMywgMjQ5LCAyMSwgMTIsIDEzLCAyNDksIDIwLCAxMiwgMTMsIDI0OSwgMTksIAorICAgIDEyLCAxMywgMjQ5LCAxOCwgMTIsIDEzLCAyNDksIDE3LCAxMiwgMTMsIDI0OSwgMTYsIDEyLCAxMywgMjQ5LCAxNSwgMTIsIAorICAgIDEzLCAyNDksIDE0LCAxMiwgMTMsIDI0OSwgMTMsIDEyLCAxMywgMjQ5LCAxMiwgMTIsIDEzLCAyNDksIDExLCAxMiwgMTMsIAorICAgIDI0OSwgMTAsIDEyLCAxMywgMjQ5LCA5LCAxMiwgMTMsIDI0OSwgOCwgMTIsIDEzLCAyNDksIDcsIDEyLCAxMywgMjQ5LCA2LCAKKyAgICAxMiwgMTMsIDI0OSwgNSwgMTIsIDEzLCAyNDksIDQsIDEyLCAxMywgMjQ5LCAzLCAxMiwgMTMsIDI0OSwgMiwgMTIsIDEzLCAKKyAgICAyNDksIDEsIDEyLCAxMywgMjQ5LCAwLCAxMiwgMTMsIDI0OCwgMjU1LCAxMiwgMTMsIDI0OCwgMjU0LCAxMiwgMTMsIDI0OCwgCisgICAgMjUzLCAxMiwgMTMsIDI0OCwgMjUyLCAxMiwgMTMsIDI0OCwgMjUxLCAxMiwgMTMsIDI0OCwgMjUwLCAxMiwgMTMsIDI0OCwgCisgICAgMjQ5LCAxMiwgMTMsIDI0OCwgMjQ4LCAxMiwgMTMsIDI0OCwgMjQ3LCAxMiwgMTMsIDI0OCwgMjQ2LCAxMiwgMTMsIDI0OCwgCisgICAgMjQ1LCAxMiwgMTMsIDI0OCwgMjQ0LCAxMiwgMTMsIDI0OCwgMjQzLCAxMiwgMTMsIDI0OCwgMjQyLCAxMiwgMTMsIDI0OCwgCisgICAgMjQxLCAxMiwgMTMsIDI0OCwgMjQwLCAxMiwgMTMsIDI0OCwgMjM5LCAxMiwgMTMsIDI0OCwgMjM4LCAxMiwgMTMsIDI0OCwgCisgICAgMjM3LCAxMiwgMTMsIDI0OCwgMjM2LCAxMiwgMTMsIDI0OCwgMjM1LCAxMiwgMTMsIDI0OCwgMjM0LCAxMiwgMTMsIDI0OCwgCisgICAgMjMzLCAxMiwgMTMsIDI0OCwgMjMyLCAxMiwgMTMsIDI0OCwgMjMxLCAxMiwgMTMsIDI0OCwgMjMwLCAxMiwgMTMsIDI0OCwgCisgICAgMjI5LCAxMiwgMTMsIDI0OCwgMjI4LCAxMiwgMTMsIDI0OCwgMjI3LCAxMiwgMTMsIDI0OCwgMjI2LCAxMiwgMTMsIDI0OCwgCisgICAgMjI1LCAxMiwgMTMsIDI0OCwgMjI0LCAxMiwgMTMsIDI0NiwgMjMsIDEyLCAxMywgMjQ2LCAyMiwgMTIsIDEzLCAyNDYsIDIxLCAKKyAgICAxMiwgMTMsIDI0NiwgMjAsIDEyLCAxMywgMjQ2LCAxOSwgMTIsIDEzLCAyNDYsIDE4LCAxMiwgMTMsIDI0NiwgMTcsIDEyLCAKKyAgICAxMywgMjQ2LCAxNiwgMTIsIDEzLCAyNDYsIDE1LCAxMiwgMTMsIDI0NiwgMTQsIDEyLCAxMywgMjQ2LCAxMywgMTIsIDEzLCAKKyAgICAyNDYsIDEyLCAxMiwgMTMsIDI0NiwgMTEsIDEyLCAxMywgMjQ2LCAxMCwgMTIsIDEzLCAyNDYsIDksIDEyLCAxMywgMjQ2LCAKKyAgICA4LCAxMiwgMTMsIDI0NiwgNywgMTIsIDEzLCAyNDYsIDYsIDEyLCAxMywgMjQ2LCA1LCAxMiwgMTMsIDI0NiwgNCwgMTIsIAorICAgIDEzLCAyNDYsIDMsIDEyLCAxMywgMjQ2LCAyLCAxMiwgMTMsIDI0NiwgMSwgMTIsIDEzLCAyNDYsIDAsIDEyLCAxMywgMjQ1LCAKKyAgICAyNTUsIDEyLCAxMywgMjQ1LCAyNTQsIDEyLCAxMywgMjQ1LCAyNTMsIDEyLCAxMywgMjQ1LCAyNTIsIDEyLCAxMywgMjQ1LCAKKyAgICAyNTEsIDEyLCAxMywgMjQ1LCAyNTAsIDEyLCAxMywgMjQ1LCAyNDksIDEyLCAxMywgMjQ1LCAyNDgsIDEyLCAxMywgMjQ1LCAKKyAgICAyNDcsIDEyLCAxMywgMjQ1LCAyNDYsIDEyLCAxMywgMjQ1LCAyNDUsIDEyLCAxMywgMjQ1LCAyNDQsIDEyLCAxMywgMjQ1LCAKKyAgICAyNDMsIDEyLCAxMywgMjQ1LCAyNDIsIDEyLCAxMywgMjQ1LCAyNDEsIDEyLCAxMywgMjQ1LCAyNDAsIDEyLCAxMywgMjQ1LCAKKyAgICAyMzksIDEyLCAxMywgMjQ1LCAyMzgsIDEyLCAxMywgMjQ1LCAyMzcsIDEyLCAxMywgMjQ1LCAyMzYsIDEyLCAxMywgMjQ1LCAKKyAgICA1LCAxMiwgMTMsIDI0NSwgNCwgMTIsIDEzLCAyNDUsIDMsIDEyLCAxMywgMjQ1LCAyLCAxMiwgMTMsIDI0NSwgMSwgMTIsIAorICAgIDEzLCAyNDUsIDAsIDEyLCAxMywgMjQ0LCAyNTUsIDEyLCAxMywgMjQ0LCAyNTQsIDEyLCAxMywgMjQ0LCAyNTMsIDEyLCAxMywgCisgICAgMjQ0LCAyNTIsIDEyLCAxMywgMjQ0LCAyNTEsIDEyLCAxMywgMjQ0LCAyNTAsIDEyLCAxMywgMjQ0LCAyNDksIDEyLCAxMywgCisgICAgMjQ0LCAyNDgsIDEyLCAxMywgMjQ0LCAyNDcsIDEyLCAxMywgMjQ0LCAyNDYsIDEyLCAxMywgMjQ0LCAyNDUsIDEyLCAxMywgCisgICAgMjQ0LCAyNDQsIDEyLCAxMywgMjQ0LCAyNDMsIDEyLCAxMywgMjQ0LCAyNDIsIDEyLCAxMywgMjQ0LCAyNDEsIDEyLCAxMywgCisgICAgMjQ0LCAyNDAsIDEyLCAxMywgMjQ0LCAyMzksIDEyLCAxMywgMjQ0LCAyMzgsIDEyLCAxMywgMjQ0LCAyMzcsIDEyLCAxMywgCisgICAgMjQ0LCAyMzYsIDEyLCAxMywgMjQ0LCAyMzUsIDEyLCAxMywgMjQ0LCAyMzQsIDEyLCAxMywgMjQ0LCAyMzMsIDEyLCAxMywgCisgICAgMjQ0LCAyMzIsIDEyLCAxMywgMjQ0LCAyMzEsIDEyLCAxMywgMjQ0LCAyMzAsIDEyLCAxMywgMjQ0LCAyMjksIDEyLCAxMywgCisgICAgMjQ0LCAyMjgsIDEyLCAxMywgMjQ0LCAyMjcsIDEyLCAxMywgMjQ0LCAyMjYsIDEyLCAxMywgMjQ0LCAyMjUsIDEyLCAxMywgCisgICAgMjQ0LCAyMjQsIDEyLCAxMywgMjQ0LCAyMjMsIDEyLCAxMywgMjQ0LCAyMjIsIDEyLCAxMywgMjQ0LCAyMjEsIDEyLCAxMywgCisgICAgMjQ0LCAyMjAsIDEyLCAxMywgMjQ0LCAyMTksIDEyLCAxMywgMjQ0LCAyMTgsIDEyLCAxMywgMjQ0LCAyMTcsIDEyLCAxMywgCisgICAgMjQ0LCAyMTYsIDEyLCAxMywgMjQ0LCAyMTUsIDEyLCAxMywgMjQ0LCAyMTQsIDEyLCAxMywgMjQ0LCAyMTMsIDEyLCAxMywgCisgICAgMjQ0LCAyMTIsIDEyLCAxMywgMjQ0LCAyMTEsIDEyLCAxMywgMjQ0LCAyMTAsIDEyLCAxMywgMjQ0LCAyMDksIDEyLCAxMywgCisgICAgMjQ0LCAyMDgsIDEyLCAxMywgMjQ0LCAyMDcsIDEyLCAxMywgMjQ0LCAyMDYsIDEyLCAxMywgMjQ0LCAyMDUsIDEyLCAxMywgCisgICAgMjQ0LCAyMDQsIDEyLCAxMywgMjQ0LCAyMDMsIDEyLCAxMywgMjQ0LCAyMDIsIDEyLCAxMywgMjQ0LCAyMDEsIDEyLCAxMywgCisgICAgMjQ0LCAyMDAsIDEyLCAxMywgMjQ0LCAxOTksIDEyLCAxMywgMjQ0LCAxOTgsIDEyLCAxMywgMjQ0LCAxOTcsIDEyLCAxMywgCisgICAgMjQzLCAyMDEsIDEyLCAxMywgMjQzLCAyMDAsIDEyLCAxMywgMjQzLCAxOTksIDEyLCAxMywgMjQzLCAxOTgsIDEyLCAxMywgCisgICAgMjQzLCAxOTcsIDEyLCAxMywgMjQzLCAxOTYsIDEyLCAxMywgMjQzLCAxOTUsIDEyLCAxMywgMjQzLCAxOTQsIDEyLCAxMywgCisgICAgMjQzLCAxOTMsIDEyLCAxMywgMjQzLCAxOTIsIDEyLCAxMywgMjQzLCAxOTEsIDEyLCAxMywgMjQzLCAxOTAsIDEyLCAxMywgCisgICAgMjQzLCAxODksIDEyLCAxMywgMjQzLCAxODgsIDEyLCAxMywgMjQzLCAxODcsIDEyLCAxMywgMjQzLCAxODYsIDEyLCAxMywgCisgICAgMjQzLCAxODUsIDEyLCAxMywgMjQzLCAxODQsIDEyLCAxMywgMjQzLCAxODMsIDEyLCAxMywgMjQzLCAxODIsIDEyLCAxMywgCisgICAgMjQzLCAxODEsIDEyLCAxMywgMjQzLCAxODAsIDEyLCAxMywgMjQzLCAxNzksIDEyLCAxMywgMjQzLCAxNzgsIDEyLCAxMywgCisgICAgMjQzLCAxNzcsIDEyLCAxMywgMjQzLCAxNzYsIDEyLCAxMywgMjQzLCAxNzUsIDEyLCAxMywgMjQzLCAxNzQsIDEyLCAxMywgCisgICAgMjQzLCAxNzMsIDEyLCAxMywgMjQzLCAxNzIsIDEyLCAxMywgMjQzLCAxNzEsIDEyLCAxMywgMjQzLCAxNzAsIDEyLCAxMywgCisgICAgMjQzLCAxNjksIDEyLCAxMywgMjQzLCAxNjgsIDEyLCAxMywgMjQzLCAxNjcsIDEyLCAxMywgMjQzLCAxNjYsIDEyLCAxMywgCisgICAgMjQzLCAxNjUsIDEyLCAxMywgMjQzLCAxNjQsIDEyLCAxMywgMjQzLCAxNjMsIDEyLCAxMywgMjQzLCAxNjIsIDEyLCAxMywgCisgICAgMjQzLCAxNjEsIDEyLCAxMywgMjQzLCAxNjAsIDEyLCAxMywgMjQzLCAxNTksIDEyLCAxMywgMjQzLCAxNTgsIDEyLCAxMywgCisgICAgMjQzLCAxNTcsIDEyLCAxMywgMjQzLCAxNTYsIDEyLCAxMywgMjQzLCAxNTUsIDEyLCAxMywgMjQzLCAxNTQsIDEyLCAxMywgCisgICAgMjQzLCAxNTMsIDEyLCAxMywgMjQzLCAxNTIsIDEyLCAxMywgMjQzLCAxNTEsIDEyLCAxMywgMjQzLCAxNTAsIDEyLCAxMywgCisgICAgMjQzLCAxNDksIDEyLCAxMywgMjQzLCAxNDgsIDEyLCAxMywgMjQzLCAxNDcsIDEyLCAxMywgMjQzLCAxNDYsIDEyLCAxMywgCisgICAgMjQzLCAxNDUsIDEyLCAxMywgMjQzLCAxNDQsIDEyLCAxMywgMjQzLCAxNDMsIDEyLCAxMywgMjQzLCAxNDIsIDEyLCAxMywgCisgICAgMjQzLCAxNDEsIDEyLCAxMywgMjQzLCAxNDAsIDEyLCAxMywgMjQzLCAxMzksIDEyLCAxMywgMjQzLCAxMzgsIDEyLCAxMywgCisgICAgMjQyLCA1OCwgMTIsIDEzLCAyNDIsIDU3LCAxMiwgMTMsIDI0MiwgNTYsIDEyLCAxMywgMjQyLCA1NSwgMTIsIDEzLCAyNDIsIAorICAgIDU0LCAxMiwgMTMsIDI0MiwgNTMsIDEyLCAxMywgMjQyLCA1MiwgMTIsIDEzLCAyNDIsIDUxLCAxMiwgMTMsIDI0MiwgNTAsIAorICAgIDEyLCAxMywgMjQwLCAxMzgsIDEyLCAxMywgMjQwLCAxMzcsIDEyLCAxMywgMjQwLCAxMzYsIDEyLCAxMywgMjQwLCAxMzUsIAorICAgIDEyLCAxMywgMjQwLCAxMzQsIDEyLCAxMywgMjQwLCAxMzMsIDEyLCAxMywgMjQwLCAxMzIsIDEyLCAxMywgMjQwLCAxMzEsIAorICAgIDEyLCAxMywgMjQwLCAxMzAsIDEyLCAxMywgMjQwLCAxMjksIDEyLCAxMywgMjQwLCAxMjgsIDEyLCAxMywgMjQwLCAxMjcsIAorICAgIDEyLCAxMywgMjQwLCAxMjYsIDEyLCAxMywgMjQwLCAxMjUsIDEyLCAxMywgMjQwLCAxMjQsIDEyLCAxMywgMjQwLCAxMjMsIAorICAgIDEyLCAxMywgMjQwLCAxMjIsIDEyLCAxMywgMjQwLCAxMjEsIDEyLCAxMywgMjQwLCAxMjAsIDEyLCAxMywgMjM1LCAyMiwgCisgICAgMTIsIDEzLCAyMzUsIDIxLCAxMiwgMTMsIDIzNSwgMjAsIDEyLCAxMywgMjM1LCAxOSwgMTIsIDEzLCAyMzUsIDE4LCAxMiwgCisgICAgMTMsIDIzNSwgMTcsIDEyLCAxMywgMjM1LCAxNiwgMTIsIDEzLCAyMzUsIDE1LCAxMiwgMTMsIDIzMywgMTQ2LCAxMiwgMTMsIAorICAgIDIzMywgMTQ1LCAxMiwgMTMsIDIzMywgMTQ0LCAxMiwgMTMsIDIzMywgMTQzLCAxMiwgMTMsIDIzMywgMTQyLCAxMiwgMTMsIAorICAgIDIzMywgMTQxLCAxMiwgMTMsIDIzMywgMTQwLCAxMiwgMTMsIDIzMywgMTM5LCAxMiwgMTMsIDIzMywgMTM4LCAxMiwgMTMsIAorICAgIDIzMywgMTM3LCAxMiwgMTMsIDIzMiwgNDksIDEyLCAxMywgMjMyLCA0OCwgMTIsIDEzLCAyMzIsIDQ3LCAxMiwgMTMsIDIzMiwgCisgICAgNDYsIDEyLCAxMywgMjMyLCA0NSwgMTIsIDEzLCAyMzIsIDQ0LCAxMiwgMTMsIDIzMiwgNDMsIDEyLCAxMywgMjMyLCA0MiwgCisgICAgMTIsIDEzLCAyMzIsIDQxLCAxMiwgMTMsIDIzMiwgNDAsIDEyLCAxMywgMjMyLCAzOSwgMTIsIDEzLCAyMzIsIDM4LCAxMiwgCisgICAgMTMsIDIzMiwgMzcsIDEyLCAxMywgMjMyLCAzNiwgMTIsIDEzLCAyMzIsIDM1LCAxMiwgMTMsIDIzMiwgMzQsIDEyLCAxMywgCisgICAgMjMyLCAzMywgMTIsIDEzLCAyMzIsIDMyLCAxMiwgMTMsIDIzMiwgMzEsIDEyLCAxMywgMjMyLCAzMCwgMTIsIDEzLCAyMzIsIAorICAgIDI5LCAxMiwgMTMsIDIzMiwgMjgsIDEyLCAxMywgMjMyLCAyNywgMTIsIDEzLCAyMzIsIDI2LCAxMiwgMTMsIDIzMiwgMjUsIAorICAgIDEyLCAxMywgMjMyLCAyNCwgMTIsIDEzLCAyMzIsIDIzLCAxMiwgMTMsIDIzMiwgMjIsIDEyLCAxMywgMjMyLCAyMSwgMTIsIAorICAgIDEzLCAyMzIsIDIwLCAxMiwgMTMsIDIzMiwgMTksIDEyLCAxMywgMjMyLCAxOCwgMTIsIDEzLCAyMzIsIDE3LCAxMiwgMTMsIAorICAgIDIzMiwgMTYsIDEyLCAxMywgMjMyLCAxNSwgMTIsIDEzLCAyMzIsIDE0LCAxMiwgMTMsIDIzMiwgMTMsIDEyLCAxMywgMjMyLCAKKyAgICAxMiwgMTIsIDEzLCAyMzIsIDExLCAxMiwgMTMsIDIzMiwgMTAsIDEyLCAxMywgMjMyLCA5LCAxMiwgMTMsIDIzMiwgOCwgMTIsIAorICAgIDEzLCAyMzIsIDcsIDEyLCAxMywgMjMyLCA2LCAxMiwgMTMsIDIzMiwgNSwgMTIsIDEzLCAyMzIsIDQsIDEyLCAxMywgMjMyLCAKKyAgICAzLCAxMiwgMTMsIDIzMiwgMiwgMTIsIDEzLCAyMzIsIDEsIDEyLCAxMywgMjMyLCAwLCAxMiwgMTMsIDIzMSwgMjU1LCAxMiwgCisgICAgMTMsIDIzMSwgMjU0LCAxMiwgMTMsIDIzMSwgMjUzLCAxMiwgMTMsIDIzMSwgMjUyLCAxMiwgMTMsIDIzMSwgMjUxLCAxMiwgCisgICAgMTMsIDIzMSwgMjUwLCAxMiwgMTMsIDIzMSwgMjQ5LCAxMiwgMTMsIDIzMSwgMjQ4LCAxMiwgMTMsIDIzMSwgMjQ3LCAxMiwgCisgICAgMTMsIDIzMSwgMjQ2LCAxMiwgMTMsIDIzMSwgMjQ1LCAxMiwgMTMsIDIzMSwgMjQ0LCAxMiwgMTMsIDIzMSwgMjQzLCAxMiwgCisgICAgMTMsIDIzMSwgMjQyLCAxMiwgMTMsIDIzMSwgMjQxLCAxMiwgMTMsIDIzMSwgMjQwLCAxMiwgMTMsIDIzMCwgMjIsIDEyLCAKKyAgICAxMywgMjMwLCAyMSwgMTIsIDEzLCAyMzAsIDIwLCAxMiwgMTMsIDIzMCwgMTksIDEyLCAxMywgMjMwLCAxOCwgMTIsIDEzLCAKKyAgICAyMzAsIDE3LCAxMiwgMTMsIDIzMCwgMTYsIDEyLCAxMywgMjMwLCAxNSwgMTIsIDEzLCAyMzAsIDE0LCAxMiwgMTMsIDIzMCwgCisgICAgMTMsIDEyLCAxMywgMjMwLCAxMiwgMTIsIDEzLCAyMzAsIDExLCAxMiwgMTMsIDIzMCwgMTAsIDEyLCAxMywgMjMwLCA5LCAKKyAgICAxMiwgMTMsIDIzMCwgOCwgMTIsIDEzLCAyMzAsIDcsIDEyLCAxMywgMjMwLCA2LCAxMiwgMTMsIDIzMCwgNSwgMTIsIDEzLCAKKyAgICAyMzAsIDQsIDEyLCAxMywgMjMwLCAzLCAxMiwgMTMsIDIzMCwgMiwgMTIsIDEzLCAyMzAsIDEsIDEyLCAxMywgMjMwLCAwLCAKKyAgICAxMiwgMTMsIDIyOSwgMjU1LCAxMiwgMTMsIDIyOSwgMjU0LCAxMiwgMTMsIDIyOSwgMjUzLCAxMiwgMTMsIDIyOSwgMjUyLCAKKyAgICAxMiwgMTMsIDIyOSwgMjUxLCAxMiwgMTMsIDIyOSwgMjUwLCAxMiwgMTMsIDIyOSwgMjQ5LCAxMiwgMTMsIDIyOSwgMjQ4LCAKKyAgICAxMiwgMTMsIDIyOSwgMjQ3LCAxMiwgMTMsIDIyOSwgMjQ2LCAxMiwgMTMsIDIyOSwgMjQ1LCAxMiwgMTMsIDIyOSwgMjQ0LCAKKyAgICAxMiwgMTMsIDIyOSwgMjQzLCAxMiwgMTMsIDIyOSwgMjQyLCAxMiwgMTMsIDIyOSwgMjQxLCAxMiwgMTMsIDIyOSwgMjQwLCAKKyAgICAxMiwgMTMsIDIyOSwgMjM5LCAxMiwgMTMsIDIyOSwgMjM4LCAxMiwgMTMsIDIyOSwgMjM3LCAxMiwgMTMsIDIyOSwgMjM2LCAKKyAgICAxMiwgMTMsIDIyOSwgMjM1LCAxMiwgMTMsIDIyOSwgMjM0LCAxMiwgMTMsIDIyOSwgMjMzLCAxMiwgMTMsIDIyOSwgMjMyLCAKKyAgICAxMiwgMTMsIDIyOSwgMjMxLCAxMiwgMTMsIDIyOSwgMjMwLCAxMiwgMTMsIDIyOCwgMTM0LCAxMiwgMTMsIDIyOCwgMTMzLCAKKyAgICAxMiwgMTMsIDIyOCwgMTMyLCAxMiwgMTMsIDIyOCwgMTMxLCAxMiwgMTMsIDIyOCwgMTMwLCAxMiwgMTMsIDIyOCwgMTI5LCAKKyAgICAxMiwgMTMsIDIyOCwgMTI4LCAxMiwgMTMsIDIyOCwgMTI3LCAxMiwgMTMsIDIyOCwgMTI2LCAxMiwgMTMsIDIyOCwgMTI1LCAKKyAgICAxMiwgMTMsIDIyOCwgMTI0LCAxMiwgMTMsIDIyOCwgMTIzLCAxMiwgMTMsIDIyOCwgMTIyLCAxMiwgMTMsIDIyOCwgMTIxLCAKKyAgICAxMiwgMTMsIDIyOCwgMTIwLCAxMiwgMTMsIDIyOCwgMTE5LCAxMiwgMTMsIDIyOCwgMTE4LCAxMiwgMTMsIDIyOCwgMTE3LCAKKyAgICAxMiwgMTMsIDIyOCwgMTE2LCAxMiwgMTMsIDIyOCwgMTE1LCAxMiwgMTMsIDIyOCwgMTE0LCAxMiwgMTMsIDIyOCwgMTEzLCAKKyAgICAxMiwgMTMsIDIyNywgMjM2LCAxMiwgMTMsIDIyNywgMjM1LCAxMiwgMTMsIDIyNywgMjM0LCAxMiwgMTMsIDIyNywgMjMzLCAKKyAgICAxMiwgMTMsIDIyNywgMjMyLCAxMiwgMTMsIDIyNywgMjMxLCAxMiwgMTMsIDIyNywgMjMwLCAxMiwgMTMsIDIyNywgMjI5LCAKKyAgICAxMiwgMTMsIDIyNywgMjI4LCAxMiwgMTMsIDIyNywgMjI3LCAxMiwgMTMsIDIyNywgMjI2LCAxMiwgMTMsIDIyNywgMjI1LCAKKyAgICAxMiwgMTMsIDIyNywgMjI0LCAxMiwgMTMsIDIyNywgMjIzLCAxMiwgMTMsIDIyNywgMjIyLCAxMiwgMTMsIDIyNywgMjIxLCAKKyAgICAxMiwgMTMsIDIyNywgMjIwLCAxMiwgMTMsIDIyNywgMjE5LCAxMiwgMTMsIDIyNywgMjE4LCAxMiwgMTMsIDIyNywgMjE3LCAKKyAgICAxMiwgMTMsIDIyNywgMjE2LCAxMiwgMTMsIDIyNywgMjE1LCAxMiwgMTMsIDIyNywgMjE0LCAxMiwgMTMsIDIyNywgMjEzLCAKKyAgICAxMiwgMTMsIDIyNywgMjEyLCAxMiwgMTMsIDIyNywgMjExLCAxMiwgMTMsIDIyNywgNzYsIDEyLCAxMywgMjI3LCA3NSwgMTIsIAorICAgIDEzLCAyMjcsIDc0LCAxMiwgMTMsIDIyNywgNzMsIDEyLCAxMywgMjI3LCA3MiwgMTIsIDEzLCAyMjcsIDcxLCAxMiwgMTMsIAorICAgIDIyNywgNzAsIDEyLCAxMywgMjI3LCA2OSwgMTIsIDEzLCAyMjcsIDY4LCAxMiwgMTMsIDIyNywgNjcsIDEyLCAxMywgMjI3LCAKKyAgICA2NiwgMTIsIDEzLCAyMjcsIDY1LCAxMiwgMTMsIDIyNywgNjQsIDEyLCAxMywgMjI3LCA2MywgMTIsIDEzLCAyMjcsIDYyLCAKKyAgICAxMiwgMTMsIDIyNywgNjEsIDEyLCAxMywgMjI3LCA2MCwgMTIsIDEzLCAyMjcsIDU5LCAxMiwgMTMsIDIyNywgNTgsIDEyLCAKKyAgICAxMywgMjI3LCA1NywgMTIsIDEzLCAyMjcsIDU2LCAxMiwgMTMsIDIyNywgNTUsIDEyLCAxMywgMjI3LCA1NCwgMTIsIDEzLCAKKyAgICAyMjcsIDUzLCAxMiwgMTMsIDIyNywgNTIsIDEyLCAxMywgMjI3LCA1MSwgMTIsIDEzLCAyMjcsIDUwLCAxMiwgMTMsIDIyNywgCisgICAgNDksIDEyLCAxMywgMjI3LCA0OCwgMTIsIDEzLCAyMjcsIDQ3LCAxMiwgMTMsIDIyNywgNDYsIDEyLCAxMywgMjI3LCA0NSwgCisgICAgMTIsIDEzLCAyMjcsIDQ0LCAxMiwgMTMsIDIyNywgNDMsIDEyLCAxMywgMjI3LCA0MiwgMTIsIDEzLCAyMjcsIDQxLCAxMiwgCisgICAgMTMsIDIyNywgNDAsIDEyLCAxMywgMjI3LCAzOSwgMTIsIDEzLCAyMjcsIDM4LCAxMiwgMTMsIDIyNywgMzcsIDEyLCAxMywgCisgICAgMjI3LCAzNiwgMTIsIDEzLCAyMjcsIDM1LCAxMiwgMTMsIDIyNywgMzQsIDEyLCAxMywgMjI3LCAzMywgMTIsIDEzLCAyMjcsIAorICAgIDMyLCAxMiwgMTMsIDIyNywgMzEsIDEyLCAxMywgMjI3LCAzMCwgMTIsIDEzLCAyMjcsIDI5LCAxMiwgMTMsIDIyNywgMjgsIAorICAgIDEyLCAxMywgMjI3LCAyNywgMTIsIDEzLCAyMjcsIDI2LCAxMiwgMTMsIDIyNywgMjUsIDEyLCAxMywgMjI3LCAyNCwgMTIsIAorICAgIDEzLCAyMjcsIDIzLCAxMiwgMTMsIDIyNywgMjIsIDEyLCAxMywgMjI3LCAyMSwgMTIsIDEzLCAyMjcsIDIwLCAxMiwgMTMsIAorICAgIDIyNywgMTksIDEyLCAxMywgMjI3LCAxOCwgMTIsIDEzLCAyMjcsIDE3LCAxMiwgMTMsIDIyNywgMTYsIDEyLCAxMywgMjI3LCAKKyAgICAxNSwgMTIsIDEzLCAyMjcsIDE0LCAxMiwgMTMsIDIyNywgMTMsIDEyLCAxMywgMjI3LCAxMiwgMTIsIDEzLCAyMjcsIDExLCAKKyAgICAxMiwgMTMsIDIyNywgMTAsIDEyLCAxMywgMjI3LCA5LCAxMiwgMTMsIDIyNywgOCwgMTIsIDEzLCAyMjcsIDcsIDEyLCAxMywgCisgICAgMjI3LCA2LCAxMiwgMTMsIDIyNywgNSwgMTIsIDEzLCAyMjcsIDQsIDEyLCAxMywgMjI3LCAzLCAxMiwgMTMsIDIyNywgMiwgCisgICAgMTIsIDEzLCAyMjYsIDEwNCwgMTIsIDEzLCAyMjYsIDEwMywgMTIsIDEzLCAyMjYsIDEwMiwgMTIsIDEzLCAyMjYsIDEwMSwgCisgICAgMTIsIDEzLCAyMjYsIDEwMCwgMTIsIDEzLCAyMjYsIDk5LCAxMiwgMTMsIDIyNiwgOTgsIDEyLCAxMywgMjI2LCA5NywgMTIsIAorICAgIDEzLCAyMjYsIDk2LCAxMiwgMTMsIDIyNiwgOTUsIDEyLCAxMywgMjI2LCA5NCwgMTIsIDEzLCAyMjYsIDkzLCAxMiwgMTMsIAorICAgIDIyNiwgOTIsIDEyLCAxMywgMjI0LCA5NSwgMTIsIDEzLCAyMjQsIDk0LCAxMiwgMTMsIDIyNCwgOTMsIDEyLCAxMywgMjI0LCAKKyAgICA5MiwgMTIsIDEzLCAyMjQsIDkxLCAxMiwgMTMsIDIyNCwgOTAsIDEyLCAxMywgMjI0LCA4OSwgMTIsIDEzLCAyMjMsIDIyMiwgCisgICAgMTIsIDEzLCAyMjMsIDIyMSwgMTIsIDEzLCAyMjMsIDIyMCwgMTIsIDEzLCAyMjMsIDIxOSwgMTIsIDEzLCAyMjMsIDIxOCwgCisgICAgMTIsIDEzLCAyMjMsIDIxNywgMTIsIDEzLCAyMjMsIDIxNiwgMTIsIDEzLCAyMjMsIDIxNSwgMTIsIDEzLCAyMjMsIDIxNCwgCisgICAgMTIsIDEzLCAyMjMsIDIxMywgMTIsIDEzLCAyMjMsIDIxMiwgMTIsIDEzLCAyMjMsIDIxMSwgMTIsIDEzLCAyMjMsIDIxMCwgCisgICAgMTIsIDEzLCAyMjMsIDIwOSwgMTIsIDEzLCAyMjMsIDIwOCwgMTIsIDEzLCAyMjMsIDIwNywgMTIsIDEzLCAyMjMsIDIwNiwgCisgICAgMTIsIDEzLCAyMjMsIDIwNSwgMTIsIDEzLCAyMjMsIDIwNCwgMTIsIDEzLCAyMjMsIDIwMywgMTIsIDEzLCAyMjMsIDIwMiwgCisgICAgMTIsIDEzLCAyMjMsIDIwMSwgMTIsIDEzLCAyMjMsIDIwMCwgMTIsIDEzLCAyMjMsIDE5OSwgMTIsIDEzLCAyMjMsIDE5OCwgCisgICAgMTIsIDEzLCAyMjMsIDE5NywgMTIsIDEzLCAyMjMsIDE5NiwgMTIsIDEzLCAyMjMsIDE5NSwgMTIsIDEzLCAyMjMsIDE5NCwgCisgICAgMTIsIDEzLCAyMjMsIDE5MywgMTIsIDEzLCAyMjMsIDE5MiwgMTIsIDEzLCAyMjMsIDE5MSwgMTIsIDEzLCAyMjMsIDE5MCwgCisgICAgMTIsIDEzLCAyMjMsIDE4OSwgMTIsIDEzLCAyMjIsIDg4LCAxMiwgMTMsIDIyMiwgODcsIDEyLCAxMywgMjIyLCA4NiwgMTIsIAorICAgIDEzLCAyMjIsIDg1LCAxMiwgMTMsIDIyMiwgODQsIDEyLCAxMywgMjIyLCA4MywgMTIsIDEzLCAyMjIsIDgyLCAxMiwgMTMsIAorICAgIDIyMiwgODEsIDEyLCAxMywgMjIyLCA4MCwgMTIsIDEzLCAyMjIsIDc5LCAxMiwgMTMsIDIyMiwgNzgsIDEyLCAxMywgMjIyLCAKKyAgICA3NywgMTIsIDEzLCAyMjIsIDc2LCAxMiwgMTMsIDIyMiwgNzUsIDEyLCAxMywgMjIyLCA3NCwgMTIsIDEzLCAyMjIsIDczLCAKKyAgICAxMiwgMTMsIDIyMiwgNzIsIDEyLCAxMywgMjIyLCA3MSwgMTIsIDEzLCAyMjIsIDcwLCAxMiwgMTMsIDIyMiwgNjksIDEyLCAKKyAgICAxMywgMjIyLCA2OCwgMTIsIDEzLCAyMjIsIDY3LCAxMiwgMTMsIDIyMiwgNjYsIDEyLCAxMywgMjIyLCA2NSwgMTIsIDEzLCAKKyAgICAyMjIsIDY0LCAxMiwgMTMsIDIyMiwgNjMsIDEyLCAxMywgMjIyLCA2MiwgMTIsIDEzLCAyMjIsIDYxLCAxMiwgMTMsIDIyMiwgCisgICAgNjAsIDEyLCAxMywgMjIyLCA1OSwgMTIsIDEzLCAyMjIsIDU4LCAxMiwgMTMsIDIyMiwgNTcsIDEyLCAxMywgMjIyLCA1NiwgCisgICAgMTIsIDEzLCAyMjIsIDU1LCAxMiwgMTMsIDIyMiwgNTQsIDEyLCAxMywgMjIyLCA1MywgMTIsIDEzLCAyMjIsIDUyLCAxMiwgCisgICAgMTMsIDIyMiwgNTEsIDEyLCAxMywgMjIyLCA1MCwgMTIsIDEzLCAyMjIsIDQ5LCAxMiwgMTMsIDIyMiwgNDgsIDEyLCAxMywgCisgICAgMjIyLCA0NywgMTIsIDEzLCAyMjIsIDQ2LCAxMiwgMTMsIDIyMiwgNDUsIDEyLCAxMywgMjIyLCA0NCwgMTIsIDEzLCAyMjIsIAorICAgIDQzLCAxMiwgMTMsIDIyMiwgNDIsIDEyLCAxMywgMjIyLCA0MSwgMTIsIDEzLCAyMjIsIDQwLCAxMiwgMTMsIDIyMiwgMzksIAorICAgIDEyLCAxMywgMjIyLCAzOCwgMTIsIDEzLCAyMjIsIDM3LCAxMiwgMTMsIDIyMiwgMzYsIDEyLCAxMywgMjIyLCAzNSwgMTIsIAorICAgIDEzLCAyMTcsIDE1MCwgMTIsIDEzLCAyMTcsIDE0OSwgMTIsIDEzLCAyMTcsIDE0OCwgMTIsIDEzLCAyMTcsIDE0NywgMTIsIAorICAgIDEzLCAyMTcsIDE0NiwgMTIsIDEzLCAyMTcsIDE0NSwgMTIsIDEzLCAyMTcsIDE0NCwgMTIsIDEzLCAyMTcsIDE0MywgMTIsIAorICAgIDEzLCAyMTcsIDE0MiwgMTIsIDEzLCAyMTcsIDE0MSwgMTIsIDEzLCAyMTcsIDE0MCwgMTIsIDEzLCAyMTcsIDEzOSwgMTIsIAorICAgIDEzLCAyMTcsIDEzOCwgMTIsIDEzLCAyMTcsIDEzNywgMTIsIDEzLCAyMTcsIDEzNiwgMTIsIDEzLCAyMTcsIDEzNSwgMTIsIAorICAgIDEzLCAyMTcsIDEzNCwgMTIsIDEzLCAyMTcsIDEzMywgMTIsIDEzLCAyMTcsIDEzMiwgMTIsIDEzLCAyMTcsIDEzMSwgMTIsIAorICAgIDEzLCAyMTcsIDEzMCwgMTIsIDEzLCAyMTcsIDEyOSwgMTIsIDEzLCAyMTcsIDEyOCwgMTIsIDEzLCAyMTcsIDEyNywgMTIsIAorICAgIDEzLCAyMTcsIDEyNiwgMTIsIDEzLCAyMTcsIDEyNSwgMTIsIDEzLCAyMTcsIDEyNCwgMTIsIDEzLCAyMTcsIDEyMywgMTIsIAorICAgIDEzLCAyMTcsIDEyMiwgMTIsIDEzLCAyMTcsIDEyMSwgMTIsIDEzLCAyMTcsIDEyMCwgMTIsIDEzLCAyMTcsIDExOSwgMTIsIAorICAgIDEzLCAyMTcsIDExOCwgMTIsIDEzLCAyMTcsIDExNywgMTIsIDEzLCAyMTcsIDExNiwgMTIsIDEzLCAyMTcsIDExNSwgMTIsIAorICAgIDEzLCAyMTcsIDExNCwgMTIsIDEzLCAyMTcsIDExMywgMTIsIDEzLCAyMTcsIDExMiwgMTIsIDEzLCAyMTcsIDExMSwgMTIsIAorICAgIDEzLCAyMTcsIDExMCwgMTIsIDEzLCAyMTcsIDEwOSwgMTIsIDEzLCAyMTcsIDEwOCwgMTIsIDEzLCAyMTcsIDEwNywgMTIsIAorICAgIDEzLCAyMTUsIDIyLCAxMiwgMTMsIDIxNSwgMjEsIDEyLCAxMywgMjE1LCAyMCwgMTIsIDEzLCAyMTUsIDE5LCAxMiwgMTMsIAorICAgIDIxNSwgMTgsIDEyLCAxMywgMjE1LCAxNywgMTIsIDEzLCAyMTUsIDE2LCAxMiwgMTMsIDIxNSwgMTUsIDEyLCAxMywgMjE1LCAKKyAgICAxNCwgMTIsIDEzLCAyMTUsIDEzLCAxMiwgMTMsIDIxNSwgMTIsIDEyLCAxMywgMjE1LCAxMSwgMTIsIDEzLCAyMTUsIDEwLCAKKyAgICAxMiwgMTMsIDIxNSwgOSwgMTIsIDEzLCAyMTUsIDgsIDEyLCAxMywgMjE1LCA3LCAxMiwgMTMsIDIxNSwgNiwgMTIsIDEzLCAKKyAgICAyMTUsIDUsIDEyLCAxMywgMjE1LCA0LCAxMiwgMTMsIDIxNSwgMywgMTIsIDEzLCAyMTUsIDIsIDEyLCAxMywgMjE1LCAxLCAKKyAgICAxMiwgMTMsIDIxNSwgMCwgMTIsIDEzLCAyMTQsIDI1NSwgMTIsIDEzLCAyMTQsIDI1NCwgMTIsIDEzLCAyMTQsIDI1MywgMTIsIAorICAgIDEzLCAyMTQsIDI1MiwgMTIsIDEzLCAyMTQsIDI1MSwgMTIsIDEzLCAyMTQsIDI1MCwgMTIsIDEzLCAyMTQsIDI0OSwgMTIsIAorICAgIDEzLCAyMTQsIDI0OCwgMTIsIDEzLCAyMTQsIDI0NywgMTIsIDEzLCAyMTQsIDI0NiwgMTIsIDEzLCAyMTQsIDI0NSwgMTIsIAorICAgIDEzLCAyMTQsIDI0NCwgMTIsIDEzLCAyMTQsIDI0MywgMTIsIDEzLCAyMTQsIDI0MiwgMTIsIDEzLCAyMTQsIDI0MSwgMTIsIAorICAgIDEzLCAyMTQsIDI0MCwgMTIsIDEzLCAyMTQsIDIzOSwgMTIsIDEzLCAyMTQsIDIzOCwgMTIsIDEzLCAyMTQsIDIzNywgMTIsIAorICAgIDEzLCAyMTQsIDIzNiwgMTIsIDEzLCAyMTQsIDIzNSwgMTIsIDEzLCAyMTQsIDIzNCwgMTIsIDEzLCAyMTQsIDIzMywgMTIsIAorICAgIDEzLCAyMTQsIDIzMiwgMTIsIDEzLCAyMTQsIDEwNCwgMTIsIDEzLCAyMTQsIDEwMywgMTIsIDEzLCAyMTQsIDEwMiwgMTIsIAorICAgIDEzLCAyMTQsIDEwMSwgMTIsIDEzLCAyMTQsIDEwMCwgMTIsIDEzLCAyMTQsIDk5LCAxMiwgMTMsIDIxNCwgOTgsIDEyLCAxMywgCisgICAgMjE0LCA5NywgMTIsIDEzLCAyMTQsIDk2LCAxMiwgMTMsIDIxNCwgOTUsIDEyLCAxMywgMjE0LCA5NCwgMTIsIDEzLCAyMTQsIAorICAgIDkzLCAxMiwgMTMsIDIxNCwgOTIsIDEyLCAxMywgMjE0LCA5MSwgMTIsIDEzLCAyMTQsIDkwLCAxMiwgMTMsIDIxNCwgODksIAorICAgIDEyLCAxMywgMjE0LCA4OCwgMTIsIDEzLCAyMTQsIDg3LCAxMiwgMTMsIDIxNCwgODYsIDEyLCAxMywgMjE0LCA4NSwgMTIsIAorICAgIDEzLCAyMTQsIDg0LCAxMiwgMTMsIDIxNCwgODMsIDEyLCAxMywgMjE0LCA4MiwgMTIsIDEzLCAyMTQsIDgxLCAxMiwgMTMsIAorICAgIDIxNCwgODAsIDEyLCAxMywgMjE0LCA3OSwgMTIsIDEzLCAyMTQsIDc4LCAxMiwgMTMsIDIxNCwgNzcsIDEyLCAxMywgMjE0LCAKKyAgICA3NiwgMTIsIDEzLCAyMTQsIDc1LCAxMiwgMTMsIDIxNCwgNzQsIDEyLCAxMywgMjE0LCA3MywgMTIsIDEzLCAyMTQsIDcyLCAKKyAgICAxMiwgMTMsIDIxNCwgNzEsIDEyLCAxMywgMjE0LCA3MCwgMTIsIDEzLCAyMTQsIDY5LCAxMiwgMTMsIDIxNCwgNjgsIDEyLCAKKyAgICAxMywgMjE0LCA2NywgMTIsIDEzLCAyMTQsIDY2LCAxMiwgMTMsIDIxNCwgNjUsIDEyLCAxMywgMjE0LCA2NCwgMTIsIDEzLCAKKyAgICAyMTQsIDYzLCAxMiwgMTMsIDIxNCwgNjIsIDEyLCAxMywgMjE0LCA2MSwgMTIsIDEzLCAyMTQsIDYwLCAxMiwgMTMsIDIxNCwgCisgICAgNTksIDEyLCAxMywgMjE0LCA1OCwgMTIsIDEzLCAyMTQsIDU3LCAxMiwgMTMsIDIxNCwgNTYsIDEyLCAxMywgMjE0LCA1NSwgCisgICAgMTIsIDEzLCAyMTQsIDU0LCAxMiwgMTMsIDIxNCwgNTMsIDEyLCAxMywgMjE0LCA1MiwgMTIsIDEzLCAyMTQsIDUxLCAxMiwgCisgICAgMTMsIDIxNCwgNTAsIDEyLCAxMywgMjE0LCA0OSwgMTIsIDEzLCAyMTQsIDQ4LCAxMiwgMTMsIDIxNCwgNDcsIDEyLCAxMywgCisgICAgMjE0LCA0NiwgMTIsIDEzLCAyMTQsIDQ1LCAxMiwgMTMsIDIxNCwgNDQsIDEyLCAxMywgMjE0LCA0MywgMTIsIDEzLCAyMTQsIAorICAgIDQyLCAxMiwgMTMsIDIxNCwgNDEsIDEyLCAxMywgMjE0LCA0MCwgMTIsIDEzLCAyMTQsIDM5LCAxMiwgMTMsIDIxNCwgMzgsIAorICAgIDEyLCAxMywgMjE0LCAzNywgMTIsIDEzLCAyMTQsIDM2LCAxMiwgMTMsIDIxNCwgMzUsIDEyLCAxMywgMjE0LCAzNCwgMTIsIAorICAgIDEzLCAyMTQsIDMzLCAxMiwgMTMsIDIxNCwgMzIsIDEyLCAxMywgMjE0LCAzMSwgMTIsIDEzLCAyMTQsIDMwLCAxMiwgMTMsIAorICAgIDIxNCwgMjksIDEyLCAxMywgMjE0LCAyOCwgMTIsIDEzLCAyMTIsIDk3LCAxMiwgMTMsIDIxMiwgOTYsIDEyLCAxMywgMjEyLCAKKyAgICA5NSwgMTIsIDEzLCAyMTIsIDk0LCAxMiwgMTMsIDIxMiwgOTMsIDEyLCAxMywgMjEyLCA5MiwgMTIsIDEzLCAyMTIsIDkxLCAKKyAgICAxMiwgMTMsIDIxMiwgOTAsIDEyLCAxMywgMjEyLCA4OSwgMTIsIDEzLCAyMTIsIDg4LCAxMiwgMTMsIDIxMiwgODcsIDEyLCAKKyAgICAxMywgMjEyLCA4NiwgMTIsIDEzLCAyMTIsIDg1LCAxMiwgMTMsIDIxMiwgODQsIDEyLCAxMywgMjEyLCA4MywgMTIsIDEzLCAKKyAgICAyMTIsIDgyLCAxMiwgMTMsIDIxMiwgODEsIDEyLCAxMywgMjEyLCA4MCwgMTIsIDEzLCAyMTIsIDc5LCAxMiwgMTMsIDIxMiwgCisgICAgNzgsIDEyLCAxMywgMjEyLCA3NywgMTIsIDEzLCAyMTIsIDc2LCAxMiwgMTMsIDIxMiwgNzUsIDEyLCAxMywgMjEyLCA3NCwgCisgICAgMTIsIDEzLCAyMTIsIDczLCAxMiwgMTMsIDIxMiwgNzIsIDEyLCAxMywgMjEyLCA3MSwgMTIsIDEzLCAyMTIsIDcwLCAxMiwgCisgICAgMTMsIDIxMiwgNjksIDEyLCAxMywgMjEyLCA2OCwgMTIsIDEzLCAyMTIsIDY3LCAxMiwgMTMsIDIxMiwgNjYsIDEyLCAxMywgCisgICAgMjExLCAxNzcsIDEyLCAxMywgMjExLCAxNzYsIDEyLCAxMywgMjExLCAxNzUsIDEyLCAxMywgMjExLCAxNzQsIDEyLCAxMywgCisgICAgMjExLCAxNzMsIDEyLCAxMywgMjExLCAxNzIsIDEyLCAxMywgMjExLCAxNzEsIDEyLCAxMywgMjExLCAxNzAsIDEyLCAxMywgCisgICAgMjExLCAxNjksIDEyLCAxMywgMjExLCAxNjgsIDEyLCAxMywgMjExLCAxNjcsIDEyLCAxMywgMjExLCAxNjYsIDEyLCAxMywgCisgICAgMjExLCAxMTUsIDEyLCAxMywgMjExLCAxMTQsIDEyLCAxMywgMjExLCAxMTMsIDEyLCAxMywgMjExLCAxMTIsIDEyLCAxMywgCisgICAgMjExLCAxMTEsIDEyLCAxMywgMjExLCAxMTAsIDEyLCAxMywgMjExLCAxMDksIDEyLCAxMywgMjExLCAxMDgsIDEyLCAxMywgCisgICAgMjExLCAxMDcsIDEyLCAxMywgMjEwLCAxNTgsIDEyLCAxMywgMjEwLCAxNTcsIDEyLCAxMywgMjEwLCAxNTYsIDEyLCAxMywgCisgICAgMjEwLCAxNTUsIDEyLCAxMywgMjEwLCAxNTQsIDEyLCAxMywgMjEwLCAxNTMsIDEyLCAxMywgMjEwLCAxNTIsIDEyLCAxMywgCisgICAgMjEwLCAxNTEsIDEyLCAxMywgMjEwLCAxNTAsIDEyLCAxMywgMjEwLCAxNDksIDEyLCAxMywgMjEwLCAxNDgsIDEyLCAxMywgCisgICAgMjEwLCAxNDcsIDEyLCAxMywgMjEwLCAxNDYsIDEyLCAxMywgMjEwLCAxNDUsIDEyLCAxMywgMjEwLCAxNDQsIDEyLCAxMywgCisgICAgMjEwLCAxNDMsIDEyLCAxMywgMjEwLCAxNDIsIDEyLCAxMywgMjEwLCAxNDEsIDEyLCAxMywgMjEwLCAxNDAsIDEyLCAxMywgCisgICAgMjEwLCAxMzksIDEyLCAxMywgMjEwLCAxMzgsIDEyLCAxMywgMjEwLCAxMzcsIDEyLCAxMywgMjEwLCAxMzYsIDEyLCAxMywgCisgICAgMjEwLCAxMzUsIDEyLCAxMywgMjEwLCAxMzQsIDEyLCAxMywgMjEwLCAxMzMsIDEyLCAxMywgMjEwLCAxMzIsIDEyLCAxMywgCisgICAgMjEwLCAxMzEsIDEyLCAxMywgMjEwLCAxMzAsIDEyLCAxMywgMjEwLCAxMjksIDEyLCAxMywgMjEwLCAxMjgsIDEyLCAxMywgCisgICAgMjEwLCAxMjcsIDEyLCAxMywgMjEwLCAxMjYsIDEyLCAxMywgMjEwLCAxMjUsIDEyLCAxMywgMjEwLCAxMjQsIDEyLCAxMywgCisgICAgMjEwLCAxMjMsIDEyLCAxMywgMjEwLCAxMjIsIDEyLCAxMywgMjEwLCAxMjEsIDEyLCAxMywgMjEwLCAxMjAsIDEyLCAxMywgCisgICAgMjEwLCAxMTksIDEyLCAxMywgMjEwLCAxMTgsIDEyLCAxMywgMjU1LCA3MiwgMTIsIDEzLCAyNTUsIDcxLCAxMiwgMTMsIAorICAgIDI1NSwgNzAsIDEyLCAxMywgMjU1LCA2OSwgMTIsIDEzLCAyNTUsIDY4LCAxMiwgMTMsIDI1NSwgNjcsIDEyLCAxMywgMjU1LCAKKyAgICA2NiwgMTIsIDEzLCAyNTUsIDY1LCAxMiwgMTMsIDI1NSwgNjQsIDEyLCAxMywgMjU1LCA2MywgMTIsIDEzLCAyNTUsIDYyLCAKKyAgICAxMiwgMTMsIDI1NSwgNjEsIDEyLCAxMywgMjU1LCA2MCwgMTIsIDEzLCAyNTUsIDU5LCAxMiwgMTMsIDI1NSwgNTgsIDEyLCAKKyAgICAxMywgMjU1LCA1NywgMTIsIDEzLCAyNTUsIDU2LCAxMiwgMTMsIDI1NSwgNTUsIDEyLCAxMywgMjU1LCA1NCwgMTIsIDEzLCAKKyAgICAyNTUsIDUzLCAxMiwgMTMsIDI1NSwgNTIsIDEyLCAxMywgMjU1LCA1MSwgMTIsIDEzLCAyNTUsIDUwLCAxMiwgMTMsIDI1NSwgCisgICAgNDksIDEyLCAxMywgMjU1LCA0OCwgMTIsIDEzLCAyNTUsIDQ3LCAxMiwgMTMsIDI1NSwgNDYsIDEyLCAxMywgMjU1LCA0NSwgCisgICAgMTIsIDEzLCAyNTUsIDQ0LCAxMiwgMTMsIDI1NSwgNDMsIDEyLCAxMywgMjU1LCA0MiwgMTIsIDEzLCAyNTUsIDQxLCAxMiwgCisgICAgMTMsIDI1NSwgNDAsIDEyLCAxMywgMjU1LCAzOSwgMjAsIDEsIDE2NywgMjI5LCAxMiwgMjMxLCAxNiwgMjAsIDEsIDE2NywgCisgICAgMjQzLCA3MCwgMjQ0LCAzNiwgMjAsIDEsIDE2NywgMjI0LCAyNTEsIDIzMSwgMTcsIDIyNSwgNTcsIDIwLCAxLCAxNjcsIAorICAgIDIyNCwgMjUxLCAyMzEsIDE3LCAyMjUsIDU4LCAyMCwgMSwgMTY3LCAyMjksIDIyNiwgMjMxLCAxNiwgMjAsIDEsIDE2NywgCisgICAgMjE5LCAyMjEsIDIwLCAxLCAxNjcsIDIxNiwgNjYsIDIzMSwgMTYsIDIwLCAxLCAxNjcsIDIyNywgMTE4LCAyMzEsIDE2LCAKKyAgICAyMCwgMSwgMTY3LCAyMjAsIDE5LCAyMjYsIDkwLCAyMjgsIDE2OSwgMjAsIDEsIDE2NywgMjI0LCAyNTEsIDIyNiwgOTAsIAorICAgIDIyOCwgMTcwLCAyMjUsIDU3LCAyMCwgMSwgMTY3LCAyMjQsIDI1MSwgMjI2LCA5MCwgMjI4LCAxNzAsIDIyNSwgNTgsIDIwLCAKKyAgICAxLCAxNjcsIDIzMSwgMjE4LCAyMCwgMSwgMTY3LCAyMTUsIDExOSwgMjMxLCAyMTksIDIwLCAxLCAxNjcsIDIyOSwgNzEsIAorICAgIDIwLCAxLCAxNjcsIDIzMSwgMjE1LCAyMCwgMSwgMTY3LCAyMzEsIDE3NiwgMjAsIDEsIDE2NywgMjMwLCA0OCwgMjAsIDEsIAorICAgIDE2NywgMjIwLCAxMjQsIDIwLCAxLCAxNjcsIDIyNywgMjQxLCAyMCwgMSwgMTY3LCAyMzQsIDE0OSwgMjAsIDEsIDE2NywgCisgICAgMjI4LCAxMzgsIDIwLCAxLCAxNjcsIDIxOCwgNCwgMjAsIDEsIDE2NywgMjI5LCAxMSwgMjAsIDEsIDE2NywgMjMzLCA4NywgCisgICAgMjAsIDEsIDE2NywgMjMzLCAxMiwgMjMzLCAxODksIDIwLCAxLCAxNjcsIDIyNywgMjQ4LCAyMzEsIDI0LCAyMCwgMSwgMTY3LCAKKyAgICAyMzEsIDIyMiwgMjAsIDEsIDE2NywgMjI1LCAyNDYsIDIwLCAxLCAxNjcsIDI0MiwgMjMxLCAyMCwgMSwgMTY3LCAyMjYsIAorICAgIDUwLCAyMCwgMSwgMTY3LCAyMzAsIDE1MSwgMjI5LCA0NSwgMjAsIDEsIDE2NywgMjI3LCA5OSwgMjMxLCAyNywgMjAsIDEsIAorICAgIDE2NywgMTA0LCAyMTAsIDE4OCwgMjI5LCAyMjAsIDIwLCAxLCAxNjcsIDI0MiwgMjMyLCAyMCwgMSwgMTY3LCAyMjcsIDI0OCwgCisgICAgMjI3LCAyNDksIDIwLCAxLCAxNjcsIDIxOSwgMTI4LCAyMCwgMSwgMTY3LCAyMzEsIDksIDIwLCAxLCAxNjcsIDIzMSwgMzAsIAorICAgIDIwLCAxLCAxNjcsIDIzMCwgMTMwLCAyMCwgMSwgMTY3LCAyMzQsIDI0OSwgMjAsIDEsIDE2NywgMjI2LCA5MCwgMjMzLCA0NywgCisgICAgMjAsIDEsIDE2NywgMjI5LCAxNDksIDIzMywgNDcsIDIwLCAxLCAxNjcsIDIyNSwgMTU4LCAyMCwgMSwgMTY3LCAyMzEsIAorICAgIDIxNiwgMjAsIDEsIDE2NywgMjI4LCAyMDcsIDIwLCAxLCAxNjcsIDIyNCwgMTM0LCAyMCwgMSwgMTY3LCAyMTUsIDExNiwgCisgICAgMjAsIDEsIDE2NywgMjMyLCA5NCwgMjAsIDEsIDE2NywgMjE5LCA0MSwgMjAsIDEsIDE2NywgMjE2LCAyMTYsIDIwLCAxLCAKKyAgICAxNjcsIDIzMSwgMjEzLCAyMCwgMSwgMTY3LCAyMzQsIDE1NiwgMjAsIDEsIDE2NywgMjI5LCAxNDUsIDIwLCAxLCAxNjcsIAorICAgIDIzMywgMjAxLCAyMCwgMSwgMTY3LCAyMzAsIDEzMSwgMjAsIDEsIDE2NywgMjE5LCAyMTgsIDIwLCAxLCAxNjcsIDIzMiwgCisgICAgMTM4LCAyMCwgMSwgMTY3LCAyNDQsIDkzLCAyMCwgMSwgMTY3LCAyMjIsIDE5OSwgMjAsIDEsIDE2NywgMjMzLCAyNDEsIDIwLCAKKyAgICAxLCAxNjcsIDIxOSwgMzcsIDIwLCAxLCAxNjcsIDIzMSwgMTczLCAyMjUsIDk5LCAyMCwgMSwgMTY3LCAyMjAsIDEyLCAyMCwgCisgICAgMSwgMTY3LCAyMjcsIDI0NywgMjAsIDEsIDE2NywgMjE5LCAyNTMsIDIyOCwgMiwgMjEwLCAxOTYsIDIwLCAxLCAxNjcsIAorICAgIDIyNywgMTM4LCAyMzAsIDE0OCwgMjAsIDEsIDE2NywgMjI2LCA4NSwgMjAsIDEsIDE2NywgMjI4LCAxMzksIDIwLCAxLCAKKyAgICAxNjcsIDIxNCwgMTcwLCAyMCwgMSwgMTY3LCAyMjksIDQ4LCAyMCwgMSwgMTY3LCAyMzEsIDIxMiwgMjAsIDEsIDE2NywgCisgICAgMjI4LCAxODEsIDIwLCAxLCAxNjcsIDIzMSwgMTE5LCAyMCwgMSwgMTY3LCAyMjcsIDE1MSwgMjAsIDEsIDE2NywgMjE2LCAKKyAgICAyMjAsIDIwLCAxLCAxNjcsIDIxOSwgMzQsIDIwLCAxLCAxNjcsIDIyNiwgODYsIDIwLCAxLCAxNjcsIDIyOCwgNiwgMjAsIDEsIAorICAgIDE2NywgMjMxLCAyMjAsIDIwLCAxLCAxNjcsIDIyNywgMTQ4LCAyMCwgMSwgMTY3LCAyMzQsIDIxNiwgMjAsIDEsIDE2NywgCisgICAgMjI4LCA5LCAyMCwgMSwgMTY3LCAyMTMsIDI1MCwgMjAsIDEsIDE2NywgMjMyLCA5OCwgMjAsIDEsIDE2NywgMjI5LCA5OCwgCisgICAgMjAsIDEsIDE2NywgMjI5LCAxOTYsIDIwLCAxLCAxNjcsIDIzMSwgMTE4LCAyMCwgMSwgMjI1LCAxMzgsIDIyOCwgNCwgMjAsIAorICAgIDEsIDIyNSwgMTM4LCAyMTUsIDExOSwgMjMxLCAyMTcsIDIwLCAxLCAyMjUsIDEzOCwgMjE5LCAxODUsIDIwLCAxLCAyMjUsIAorICAgIDEzOCwgMjIwLCAxMjgsIDIxNSwgMTE4LCAyMCwgMSwgMjI1LCAxMzgsIDIzMiwgMTQwLCAyMjcsIDI0NCwgMjAsIDEsIDIyNSwgCisgICAgMTM4LCAyMzEsIDEyNSwgMjMxLCAyMjEsIDIwLCAxLCAyMjUsIDEzOCwgMjM0LCA4NywgMjAsIDEsIDIyNSwgMTM4LCAyMTEsIAorICAgIDE1LCAyMCwgMSwgMjI1LCAxMzgsIDIzMSwgMTIwLCAyMCwgMSwgMjI1LCAxMzgsIDIzNCwgMjM3LCAyMCwgMSwgMjI1LCAKKyAgICAxMzgsIDIyNSwgMjA4LCAyMCwgMSwgMjI1LCAxMzgsIDIxMSwgODksIDIzMywgNDcsIDIwLCAxLCAyMjUsIDEzOCwgMjMzLCAKKyAgICAxMDMsIDIyOCwgMiwgMjI3LCAxNjAsIDIwLCAxLCAyMjUsIDEzOCwgMjI3LCAyNDIsIDIyMCwgMzgsIDIwLCAxLCAyMjUsIAorICAgIDEzOCwgMjI5LCAxMTYsIDIyOCwgMTg0LCAyMCwgMSwgMjI1LCAxMzgsIDI0MiwgMjI5LCAyMCwgMSwgMjI1LCAxMzgsIDIyNSwgCisgICAgNDksIDIwLCAxLCAyMjUsIDEzOCwgMjE1LCAxMTksIDIyOCwgMCwgMjAsIDEsIDIyNSwgMTM4LCAyMjAsIDQzLCAyMjgsIAorICAgIDE3OSwgMjAsIDEsIDIyNSwgMTM4LCAyMjAsIDM5LCAyMCwgMSwgMjI1LCAxMzgsIDIzMSwgMTcsIDIxNiwgMjE5LCAyMCwgMSwgCisgICAgMjI1LCAxMzgsIDIzMSwgMTA3LCAyMzEsIDEyMSwgMjAsIDEsIDIyNSwgMTM4LCAyMjcsIDE0OSwgMjI3LCAyNDQsIDIwLCAxLCAKKyAgICAyMjUsIDEzOCwgMjM0LCAxNDUsIDIwLCAxLCAyMjUsIDEzOCwgMjQyLCAyMzAsIDIwLCAxLCAyMjUsIDEzOCwgMjM0LCAxNDEsIAorICAgIDIwLCAxLCAyMjUsIDEzOCwgMjMzLCAxMjksIDIwLCAxLCAyMjUsIDEzOCwgMjI1LCAyNDksIDIwLCAxLCAyMjUsIDEzOCwgCisgICAgMjEzLCAxODIsIDIwLCAxLCAyMjUsIDEzOCwgMjI5LCAxMywgMjMwLCA0NiwgMjAsIDEsIDIyNSwgMTM4LCAyMjksIDQ3LCAKKyAgICAyMzEsIDEwMywgMjAsIDEsIDIyNSwgMTM4LCAyMTEsIDE5MywgMjAsIDEsIDIyNSwgMTM4LCAyMjIsIDExLCAyMCwgMSwgCisgICAgMjI1LCAxMzgsIDIxNywgOTcsIDIwLCAxLCAyMjUsIDEzOCwgMjMxLCAyOSwgMjAsIDEsIDIyNSwgMTM4LCAyMjksIDMyLCAKKyAgICAyMCwgMSwgMjI1LCAxMzgsIDIyOSwgMzMsIDIzMywgODQsIDIwLCAxLCAyMjUsIDEzOCwgMjMxLCAxOSwgMjAsIDEsIDIyNSwgCisgICAgMTM4LCAyMTgsIDUyLCAyMCwgMSwgMjI1LCAxMzgsIDIzMSwgMTExLCAyMCwgMSwgMjI1LCAxMzgsIDIzMCwgMTMzLCAyMCwgCisgICAgMSwgMjI1LCAxMzgsIDIyNywgMTYzLCAyMCwgMSwgMjI1LCAxMzgsIDIyNCwgMTM4LCAyMCwgMSwgMjI1LCAxMzgsIDIzMSwgCisgICAgMjgsIDIyOSwgNDksIDIwLCAxLCAyMjUsIDEzOCwgMjQ0LCAxMjYsIDIwLCAxLCAyMjUsIDEzOCwgMjMxLCA5OCwgMjAsIDEsIAorICAgIDIyNSwgMTM4LCAyNDQsIDE0NywgMjAsIDEsIDIyNSwgMTM4LCAyMzQsIDE1MywgMjAsIDEsIDIyNSwgMTM4LCAyMzEsIDIzOSwgCisgICAgMjI4LCAxNzMsIDIwLCAxLCAyMjUsIDEzOCwgMjMxLCAyMzksIDIyOCwgMTQ5LCAyMCwgMSwgMjI1LCAxMzgsIDIzMywgMTEsIAorICAgIDIwLCAxLCAyMjUsIDEzOCwgMjI5LCA1NSwgMjAsIDEsIDIyNSwgMTM4LCAyMjgsIDExLCAyMCwgMSwgMjI1LCAxMzgsIDE4NCwgCisgICAgMjAsIDEsIDIyNSwgMTM4LCAyMzQsIDc0LCAyMCwgMSwgMjI1LCAxMzgsIDIyOSwgMSwgMjAsIDEsIDEzNywgMjI5LCAxMiwgCisgICAgMjMxLCAyMTksIDIwLCAxLCAxMzcsIDIyNywgMTE3LCAyMCwgMSwgMTM3LCAyMTAsIDE5NiwgMjAsIDEsIDEzNywgMjEyLCAKKyAgICA1MywgMjAsIDEsIDEzNywgMjI5LCA0OCwgMjAsIDEsIDEzNywgMjI5LCAxMzcsIDIwLCAxLCAxMzcsIDIyOSwgMTksIDIwLCAKKyAgICAxLCAxMzcsIDI0MiwgMjM5LCAyMCwgMSwgMTM3LCAyMzEsIDExNSwgMjAsIDEsIDEzNywgMjQzLCA3NywgMjAsIDEsIDEzNywgCisgICAgMjI3LCAxNDAsIDIzMCwgMTcwLCAyMzEsIDMxLCAyMCwgMSwgMTM3LCAyMjcsIDI0MCwgMjMxLCAxMDYsIDIwLCAxLCAxMzcsIAorICAgIDIzMSwgMTEyLCAyMCwgMSwgMTM3LCAyMjUsIDU1LCAyMCwgMSwgMTM3LCAyMjksIDEyMiwgMjAsIDEsIDEzNywgMjMxLCAKKyAgICAxMjMsIDI1MSwgMjksIDIwLCAxLCAxMzcsIDIzNCwgMTQzLCAyMCwgMSwgMTM3LCAyNDIsIDI0MCwgMjAsIDEsIDEzNywgCisgICAgMjM0LCAxNTAsIDIwLCAxLCAxMzcsIDIxMCwgMjEzLCAyMzAsIDc2LCAyMCwgMSwgMTM3LCAyMjcsIDExMSwgMjAsIDEsIAorICAgIDEzNywgMjMxLCAxMDAsIDIwLCAxLCAxMzcsIDIyOCwgMTAsIDIwLCAxLCAxMzcsIDIzMSwgMTA2LCAyMCwgMSwgMTM3LCAKKyAgICAyMTEsIDE2LCAyMCwgMSwgMTM3LCAyMzMsIDI0OSwgMjAsIDEsIDEzNywgMjM1LCAxMCwgMjAsIDEsIDEzNywgMjIwLCAxMjMsIAorICAgIDIwLCAxLCAxMzcsIDIyOSwgMTMxLCAyMCwgMSwgMTM3LCAyMTcsIDk1LCAyMCwgMSwgMTM3LCAyMjgsIDE1MywgMjAsIDEsIAorICAgIDEzNywgMjE2LCA2NiwgMjEwLCAxOTgsIDIwLCAxLCAxMzcsIDIxOCwgNzksIDIwLCAxLCAxMzcsIDIyOSwgMzksIDIyNywgCisgICAgMTYwLCAyMCwgMSwgMTM3LCAyMTMsIDE4MSwgMjAsIDEsIDEzNywgMjI5LCAxOTksIDIwLCAxLCAxMzcsIDIzMSwgMjM5LCAKKyAgICAyMzQsIDE1MiwgMjAsIDEsIDEzNywgMjI3LCAyNDksIDIwLCAxLCAxMzcsIDIyOSwgMzQsIDIwLCAxLCAxMzcsIDIzMywgODgsIAorICAgIDIwLCAxLCAxMzcsIDIzMSwgMTA4LCAyMCwgMSwgMTM3LCAyMzEsIDgsIDIwLCAxLCAxMzcsIDIyNywgMjQzLCAyMCwgMSwgCisgICAgMTM3LCAyMTYsIDIxNSwgMjAsIDEsIDEzNywgMjI5LCAzNiwgMjAsIDEsIDEzNywgMjQzLCAyMzMsIDIwLCAxLCAxMzcsIAorICAgIDIyOSwgMTM2LCAyMCwgMSwgMTM3LCAyMjgsIDEyLCAyMCwgMSwgMTM3LCAyMjgsIDgsIDIwLCAxLCAxMzcsIDI1MSwgMTA3LCAKKyAgICAyMCwgMSwgMTM3LCAyMTMsIDE4MywgMjAsIDEsIDEzNywgMjMxLCAxMTMsIDIwLCAxLCAxMzcsIDIyMiwgMTQwLCAyMCwgMSwgCisgICAgMTM3LCAyMjgsIDE4MywgMjAsIDEsIDEzNywgMjMzLCAxMDIsIDIwLCAxLCAxMzcsIDIxNiwgNjQsIDIwLCAxLCAxMzcsIAorICAgIDIyNywgMjUwLCAyMjksIDEsIDIwLCAxLCAxMzcsIDIyOCwgMTc1LCAyMCwgMSwgMTM3LCAyMzQsIDE1NiwgMjAsIDEsIDEzNywgCisgICAgMjI5LCA0MCwgMjAsIDEsIDEzNywgMjMxLCAyMTIsIDIwLCAxLCAxMzcsIDIzMSwgMTAxLCAyMCwgMSwgMTM3LCAyMzIsIDk4LCAKKyAgICAyMCwgMSwgMTM3LCAyMzMsIDE4OSwgMjAsIDEsIDEzNywgMjI4LCAxODEsIDIwLCAxLCAxMzcsIDIyOSwgMSwgMjAsIDEsIAorICAgIDEzNywgMjExLCAxODQsIDIwLCAxLCAxMzcsIDIyOSwgMzcsIDIwLCAxLCAxMzcsIDIyNywgMjUzLCAyMCwgMSwgMTM3LCAKKyAgICAyMjcsIDI0NSwgMjAsIDEsIDEzNywgMjMzLCAyMDMsIDIyOCwgMTM5LCAyMCwgMSwgMTM3LCAyMjcsIDI1MSwgMjAsIDEsIAorICAgIDEzNywgMjI5LCAxNDQsIDIwLCAxLCAxMzcsIDIzMSwgMjM5LCAyMjgsIDAsIDIwLCAxLCAxMzcsIDIxMSwgMTAzLCAyMCwgMSwgCisgICAgMTM3LCAyMjksIDE0MywgMjAsIDEsIDEzNywgMjE5LCAyMjAsIDIwLCAxLCAxMzcsIDIyMCwgMTI2LCAyMCwgMSwgMTM3LCAKKyAgICAyMzEsIDEwOSwgMjAsIDEsIDEzNywgMjMxLCAyMTksIDIwLCAxLCAxMzcsIDIzMSwgMTE5LCAyMCwgMSwgMTM3LCAyMzQsIAorICAgIDE0NCwgMjAsIDEsIDEzNywgMjMxLCAxMTAsIDIwLCAxLCAxMzcsIDIzNCwgMTQ4LCAyMCwgMSwgMTM3LCAyMzEsIDEyMywgCisgICAgMjI1LCAxMDMsIDIwLCAxLCAxMzcsIDIxMCwgMTc5LCAyMCwgMSwgMTM3LCAyMjgsIDE3MSwgMjAsIDEsIDEzNywgMjMwLCAKKyAgICAyMjAsIDIwLCAxLCAxMzcsIDIzMCwgMTAwLCAyMCwgMSwgMTM3LCAyMjAsIDE1LCAyMCwgMSwgMTM3LCAyMzQsIDE2NiwgCisgICAgMjMzLCA3MCwgMjAsIDEsIDEzNywgMjM0LCAxNjYsIDI0NCwgMTYwLCAyMCwgMSwgMTM3LCAyMjksIDY5LCAyMCwgMSwgMTM3LCAKKyAgICAyMjksIDE5NiwgMjAsIDEsIDEzNywgMjMyLCAyMDAsIDIwLCAxLCAxMzcsIDIyNSwgNjUsIDIwLCAxLCAxMzcsIDIyNSwgCisgICAgMTk5LCAyMCwgMSwgMTM3LCAyMTYsIDIzMCwgMjAsIDEsIDEwNywgMjMxLCA5OSwgMjAsIDEsIDEwNywgMjEyLCA1MSwgMjAsIAorICAgIDEsIDEwNywgMjI4LCAxNjksIDIwLCAxLCAxMDcsIDIzMSwgMTYsIDIwLCAxLCAxMDcsIDIyOCwgMTY3LCAyMCwgMSwgMTA3LCAKKyAgICAyMzIsIDIzNSwgMjAsIDEsIDEwNywgMjI4LCAxNzIsIDIwLCAxLCAxMDcsIDIyOCwgNywgMjAsIDEsIDEwNywgMjI5LCA1NCwgCisgICAgMjAsIDEsIDEwNywgMjI3LCAxNjAsIDIwLCAxLCAxMDcsIDIxMSwgMTk0LCAyMCwgMSwgMTA3LCAyMjksIDksIDIwLCAxLCAKKyAgICAxMDcsIDIyMCwgNjEsIDIwLCAxLCAxMDcsIDIyOSwgMjAsIDIwLCAxLCAxMDcsIDIzNCwgMTUxLCAyMCwgMSwgMTA3LCAyMTYsIAorICAgIDIxNywgMjAsIDEsIDEwNywgMjIwLCA0MSwgMjAsIDEsIDEwNywgMjI4LCAxODAsIDIwLCAxLCAxMDcsIDIxOCwgNTIsIDIwLCAKKyAgICAxLCAxMDcsIDIzNCwgMTU2LCAyMCwgMSwgMTA3LCAyMTEsIDkxLCAyMCwgMSwgMTA3LCAyMzMsIDIwNCwgMjAsIDEsIDEwNywgCisgICAgMjIxLCAyMzQsIDIwLCAxLCAxMDcsIDIzMSwgMjEsIDIwLCAxLCAxMDcsIDIyOSwgMTM1LCAyMCwgMSwgMTA3LCAyMzEsIAorICAgIDE4OCwgMjAsIDEsIDEwNywgMjMxLCAyNywgMjAsIDEsIDEwNywgMjIwLCAxMjUsIDIwLCAxLCAxMDcsIDIxMSwgMzksIDIwLCAKKyAgICAxLCAxMDcsIDIyOCwgMTc0LCAyMCwgMSwgMTA3LCAyMzQsIDE0NywgMjMxLCAxMDIsIDIwLCAxLCAxMDcsIDIyOSwgMTYsIAorICAgIDIwLCAxLCAxMDcsIDIxNSwgMTE4LCAyMCwgMSwgMTA3LCAyNDIsIDI0OCwgMjAsIDEsIDEwNywgMjI5LCA2LCAyMCwgMSwgCisgICAgMTA3LCAyNDQsIDEyNywgMjAsIDEsIDEwNywgMjI5LCAxMzksIDIwLCAxLCAxMDcsIDIzMSwgMCwgMjAsIDEsIDEwNywgMjMzLCAKKyAgICA1LCAyMCwgMSwgMTA3LCAyMjksIDEyMSwgMjAsIDEsIDEwNywgMjMwLCAxNDcsIDIwLCAxLCAxMDcsIDIzMSwgNCwgMjAsIDEsIAorICAgIDEwNywgMjI0LCAxMTgsIDIwLCAxLCAxMDcsIDIzMSwgMiwgMjAsIDEsIDEwNywgMjMxLCAxOCwgMjAsIDEsIDEwNywgMjMyLCAKKyAgICA4NCwgMjAsIDEsIDEwNywgMjI3LCAyNTUsIDIwLCAxLCAxMDcsIDIzMSwgMTIyLCAyMCwgMSwgMTA3LCAyMzMsIDE4MCwgMjAsIAorICAgIDEsIDEwNywgMjI3LCAxNTEsIDIwLCAxLCAxMDcsIDIxNiwgMjIwLCAyMCwgMSwgMTA3LCAyMTksIDM0LCAyMCwgMSwgMTA3LCAKKyAgICAyMTAsIDE3OSwgMjAsIDEsIDEwNywgMjM0LCAxNDgsIDIwLCAxLCAxMDcsIDIyMywgMTcwLCAyMCwgMSwgMTA3LCAyMTcsIAorICAgIDEwLCAyMCwgMSwgMTA3LCAyMjksIDE3LCAyMCwgMSwgMTA3LCAyMzEsIDIzLCAyMCwgMSwgMTA3LCAyMjcsIDI1NCwgMjAsIAorICAgIDEsIDEwNywgMjM0LCAxNDYsIDIwLCAxLCAxMDcsIDIyNSwgNTksIDIwLCAxLCAxMDcsIDIyNSwgMTUyLCAyMCwgMSwgMTA3LCAKKyAgICAyMjcsIDEyNywgMjAsIDEsIDEwNywgMjMzLCAxMSwgMjAsIDEsIDEwNywgMjI5LCA1NSwgMjAsIDEsIDEwNywgMjMxLCAyMCwgCisgICAgMjAsIDEsIDEwNywgMjI5LCAyOSwgMjAsIDEsIDEwNywgMjEwLCAxOTMsIDIwLCAxLCAxMDcsIDIyNiwgMjEsIDIwLCAxLCAKKyAgICAxMDcsIDIxMCwgMTkyLCAyMCwgMSwgMTA3LCAyMjksIDE0NCwgMjAsIDEsIDEwNywgMjI3LCAyNDQsIDIwLCAxLCAxMDcsIAorICAgIDIxOCwgODEsIDIwLCAxLCAxMDcsIDIzMywgMjA4LCAyMCwgMSwgMTA3LCAyMjksIDQ0LCAyMCwgMSwgMTA3LCAyMjksIDE0LCAKKyAgICAyMCwgMSwgMTA3LCAyMTUsIDEwMiwgMjAsIDEsIDEwNywgMjMxLCAzMSwgMjAsIDEsIDEwNywgMjMzLCAxOTgsIDIwLCAxLCAKKyAgICAxMDcsIDIyNywgMjUyLCAyMCwgMSwgMTA3LCAyMTYsIDIxOCwgMjAsIDEsIDEwNywgMjMxLCAyMTQsIDIwLCAxLCAxMDcsIAorICAgIDIyOSwgNTMsIDIwLCAxLCAxMDcsIDIzMywgNCwgMjAsIDEsIDEwNywgMjI5LCAzNSwgMjAsIDEsIDEwNywgMjI4LCAxLCAyMCwgCisgICAgMSwgMTA3LCAyMjgsIDE1MywgMjAsIDEsIDEwNywgMjQyLCAyMzMsIDIwLCAxLCAxMDcsIDIzMywgMjE3LCAyMCwgMSwgMTA3LCAKKyAgICAyMjMsIDg0LCAyMjYsIDIwOSwgMjAsIDEsIDEwNywgMjE3LCA4NiwgMjAsIDEsIDEwNywgMjE2LCAxMCwgMjAsIDEsIDEwNywgCisgICAgMjI3LCAxNDgsIDIwLCAxLCAxMDcsIDIyMiwgMjM5LCAyMCwgMSwgMTA3LCAyMzMsIDQ5LCAyMCwgMSwgMTA3LCAyMzEsIDc5LCAKKyAgICAyMCwgMSwgMTA3LCAxOTMsIDIwLCAxLCAxMDcsIDIxOCwgNCwgMjAsIDEsIDEwNywgMjMwLCAxMDIsIDIwLCAxLCAxMDcsIAorICAgIDIyMCwgMjcsIDIwLCAxLCAxMDcsIDIyMCwgMzcsIDIwLCAxLCAxMDcsIDIzMywgMTU1LCAyMCwgMSwgMTA3LCAyMjcsIDIzNywgCisgICAgMjAsIDEsIDEwNywgMjE5LCAyMjUsIDIwLCAxLCAxMDcsIDIyNywgMjQ2LCAyMCwgMSwgMTA3LCAyMjUsIDIxMSwgMjAsIDEsIAorICAgIDEwNywgMjI4LCAyMzMsIDIwLCAxLCAxMDcsIDIxOSwgMjUyLCAyMCwgMSwgMTA3LCAyMjQsIDEzMywgMjAsIDEsIDEwNywgCisgICAgMjMwLCA0NiwgMjAsIDEsIDEwNywgMjMyLCAxMTksIDIwLCAxLCAxMDcsIDIyMywgODQsIDIzMCwgOTYsIDIwLCAxLCAxMDcsIAorICAgIDIxNiwgMTE3LCAyMCwgMSwgMTA3LCAyMjcsIDIzOCwgMjAsIDEsIDEwNywgMjMxLCAxMjMsIDE5OCwgMjAsIDEsIDEwNywgCisgICAgMjIxLCAyMzIsIDIwLCAxLCAxMDcsIDI0NCwgMTk1LCAyMCwgMSwgODIsIDIyOSwgMTQzLCAyMCwgMSwgODIsIDIxNiwgMTYsIAorICAgIDIwLCAxLCA4MiwgMjMxLCAxMTIsIDIwLCAxLCA4MiwgMjMzLCA4OCwgMjAsIDEsIDgyLCAyMTMsIDEyOCwgMjAsIDEsIDgyLCAKKyAgICAyMzIsIDEyNSwgMjAsIDEsIDgyLCAyMjYsIDg5LCAyMCwgMSwgODIsIDIxOSwgNDUsIDIwLCAxLCA4MiwgMjIzLCAxNDUsIAorICAgIDIwLCAxLCA4MiwgMjI4LCAzLCAyMCwgMSwgODIsIDIyOSwgMTE0LCAyMCwgMSwgODIsIDIyNCwgMTQ3LCAyMCwgMSwgODIsIAorICAgIDIxNywgNjIsIDIwLCAxLCA4MiwgMjI5LCAyMiwgMjAsIDEsIDgyLCAyMzMsIDI0NSwgMjAsIDEsIDgyLCAyMTEsIDE4NywgCisgICAgMjAsIDEsIDgyLCAyMjEsIDE3MCwgMjAsIDEsIDgyLCAyMjksIDQ1LCAyMCwgMSwgODIsIDIyNiwgODYsIDIwLCAxLCA4MiwgCisgICAgMjE2LCAxNywgMjAsIDEsIDgyLCAyMzMsIDIwMiwgMjAsIDEsIDgyLCAyMzIsIDEzOSwgMjAsIDEsIDgyLCAyMjgsIDYsIDIwLCAKKyAgICAxLCA4MiwgMjI4LCAyNTQsIDIwLCAxLCA4MiwgMjMxLCAyMjAsIDIwLCAxLCA4MiwgMjI5LCAxNSwgMjAsIDEsIDgyLCAyMjgsIAorICAgIDI1MywgMjAsIDEsIDgyLCAyMjgsIDUsIDIwLCAxLCA4MiwgMjIyLCAyMzcsIDIwLCAxLCA4MiwgMjI4LCAxNzEsIDIwLCAxLCAKKyAgICA4MiwgMjI1LCAyMTAsIDIwLCAxLCA4MiwgMjIyLCAzMSwgMjAsIDEsIDgyLCAyMjksIDMwLCAyMCwgMSwgODIsIDIzMSwgMTAsIAorICAgIDIwLCAxLCA4MiwgMjQyLCAyMjcsIDIwLCAxLCA4MiwgMjI5LCAxOCwgMjAsIDEsIDgyLCAyMjgsIDE4MiwgMjAsIDEsIDgyLCAKKyAgICAyMzEsIDE3MiwgMjAsIDEsIDgyLCAyMzIsIDEyMSwgMjAsIDEsIDgyLCAyMjksIDUwLCAyMCwgMSwgODIsIDIyOSwgMTI3LCAKKyAgICAyMCwgMSwgODIsIDIxNywgODUsIDIyNywgMjQ0LCAyMCwgMSwgODIsIDIyMCwgMTI3LCAyMCwgMSwgODIsIDIyNCwgMTQzLCAKKyAgICAyMCwgMSwgODIsIDIyOSwgMTQ3LCAyMTksIDUxLCAyMCwgMSwgODIsIDIyOSwgMzgsIDIyNywgMTYwLCAyMCwgMSwgODIsIAorICAgIDIxMSwgNCwgMjAsIDEsIDgyLCAyNDIsIDIyOCwgMjAsIDEsIDgyLCAyMTUsIDExNywgMjAsIDEsIDgyLCAyMTEsIDE5LCAyMCwgCisgICAgMSwgODIsIDIyNSwgMTYsIDIwLCAxLCA4MiwgMjE1LCAxMDcsIDIwLCAxLCA4MiwgMjM0LCAxNTQsIDIwLCAxLCA4MiwgMjE4LCAKKyAgICA4MCwgMjAsIDEsIDgyLCAyMTYsIDIxOSwgMjAsIDEsIDgyLCAyMTMsIDE4NCwgMjAsIDEsIDgyLCAyMTIsIDYsIDIwLCAxLCAKKyAgICA4MiwgMjMzLCAxMzIsIDIwLCAxLCA4MiwgMjI0LCAxNTAsIDIwLCAxLCA4MiwgMjE3LCA5NiwgMjAsIDEsIDgyLCAyNDIsIAorICAgIDI0NywgMjAsIDEsIDgyLCAyMjksIDU5LCAyMCwgMSwgODIsIDIyMCwgNDAsIDIwLCAxLCA4MiwgMjMxLCA1LCAyMCwgMSwgCisgICAgODIsIDIzMSwgMTE2LCAyMCwgMSwgODIsIDIyNywgMTE1LCAyMCwgMSwgODIsIDIyOCwgMTM2LCAyMCwgMSwgODIsIDI0MywgCisgICAgNzMsIDIwLCAxLCA4MiwgMjE1LCAxMDgsIDIwLCAxLCA4MiwgMjMzLCAyMTEsIDIwLCAxLCA4MiwgMjExLCA2NywgMjAsIDEsIAorICAgIDgyLCAyMjcsIDE0OSwgMjUwLCAxNiwgMjAsIDEsIDgyLCAyMTAsIDI1MCwgMjAsIDEsIDgyLCAyMzEsIDIyLCAyMCwgMSwgCisgICAgODIsIDIyOSwgMTMyLCAyMCwgMSwgODIsIDIyNSwgMTAwLCAyMCwgMSwgODIsIDIxMCwgMTk3LCAyMCwgMSwgODIsIDIzMywgCisgICAgNiwgMjAsIDEsIDgyLCAyNDMsIDIzMywgMjAsIDEsIDgyLCAyNDMsIDcyLCAyMCwgMSwgODIsIDIyOSwgOCwgMjAsIDEsIDgyLCAKKyAgICAyMzQsIDE1NiwgMjAsIDEsIDgyLCAyMzEsIDIyMywgMjAsIDEsIDgyLCAyMjksIDIxLCAyMCwgMSwgODIsIDI0MiwgMjM0LCAKKyAgICAyMCwgMSwgODIsIDI0NCwgMTk2LCAyMCwgMSwgODIsIDIyNywgMjM5LCAyMCwgMSwgODIsIDIyNSwgMTUzLCAyMCwgMSwgODIsIAorICAgIDIxMSwgMTcsIDIwLCAxLCA4MiwgMjI5LCA0NiwgMjAsIDEsIDgyLCAyMjcsIDE0OSwgMjUyLCAyMywgMjAsIDEsIDgyLCAKKyAgICAyMjcsIDk1LCAyMCwgMSwgODIsIDIyNCwgMjQ3LCAyMCwgMSwgODIsIDIzMCwgMjIwLCAyMCwgMSwgODIsIDI0MywgMjMxLCAKKyAgICAyMCwgMSwgODIsIDIyOSwgMjIwLCAyMCwgMSwgODIsIDIzMCwgMTAwLCAyMCwgMSwgODIsIDI0MiwgMjMzLCAyMCwgMSwgODIsIAorICAgIDI0MywgMjM1LCA3MywgMjAsIDEsIDgyLCAyMzAsIDQ3LCAyMCwgMSwgODIsIDIyNCwgMTQ2LCAyMCwgMSwgODIsIDIyOSwgCisgICAgMTAsIDIwLCAxLCA4MiwgMjMzLCAxODksIDIwLCAxLCA4MiwgMjI1LCA5NywgMjAsIDEsIDgyLCAyMjcsIDI0NywgMjAsIDEsIAorICAgIDgyLCAyMTEsIDE4LCAyMCwgMSwgODIsIDIyOSwgMzEsIDIwLCAxLCA4MiwgMjI2LCA5MCwgMjI1LCAxODcsIDIwLCAxLCA4MiwgCisgICAgMjQzLCAyMzUsIDI1MSwgMTUsIDIwLCAxLCA4MiwgMjQ0LCAzNywgMjAsIDEsIDgyLCAyMjgsIDE3NiwgMjAsIDEsIDgyLCAKKyAgICA2MSwgMjAsIDEsIDgyLCAyMTYsIDEwLCAyMCwgMSwgODIsIDc2LCAyMCwgMSwgODIsIDczLCAyMCwgMSwgODIsIDIzMywgODYsIAorICAgIDIwLCAxLCA4MiwgMjI2LCA5MCwgMjI1LCAyMywgMjAsIDEsIDgyLCAyMTcsIDEwMSwgMjAsIDEsIDgyLCAyMTcsIDUxLCAyMCwgCisgICAgMSwgODIsIDIyOSwgMTQ3LCAyMzAsIDM0LCAyNDAsIDIzNCwgMjAsIDEsIDgyLCAyMjAsIDE1LCAyMCwgMSwgODIsIDIxMSwgCisgICAgMTQsIDIwLCAxLCA4MiwgMjI4LCAyNDcsIDIwLCAxLCA4MiwgMjEwLCAyMDIsIDIwLCAxLCA4MiwgMjEwLCAyMjcsIDIxNywgCisgICAgMjQwLCAyMCwgMSwgODIsIDIxMCwgMjI3LCAyNDksIDE0NywgMjAsIDEsIDgyLCAyMTAsIDE4NywgMjAsIDEsIDgyLCAyMTAsIAorICAgIDE5NSwgMjAsIDEsIDgyLCAyMzQsIDE0MiwgMjAsIDEsIDgyLCAyMjUsIDE1MSwgMjAsIDEsIDgyLCAyMjgsIDE3NywgMjQ1LCAKKyAgICAxMDIsIDIwLCAxLCA4MiwgMjI0LCAxNDQsIDIwLCAxLCA4MiwgMjExLCAxOTIsIDIwLCAxLCA4MiwgMjQ0LCAxNDcsIDIwLCAKKyAgICAxLCA4MiwgMjEzLCAyNTAsIDIwLCAxLCA4MiwgMjMyLCA5OCwgMjAsIDEsIDgyLCAyMzAsIDIzMCwgMjAsIDEsIDgyLCAyMjMsIAorICAgIDUxLCAyMCwgMSwgODIsIDIyMywgMTcxLCAyMCwgMSwgODIsIDIyOCwgMjQ2LCAyMCwgMSwgODIsIDIyOSwgNzcsIDIwLCAxLCAKKyAgICA4MiwgMjIwLCA3LCAyMCwgMSwgODIsIDIxOSwgMjUyLCAyMCwgMSwgODIsIDI0MywgMjM1LCAyMjMsIDg2LCAyMCwgMSwgODIsIAorICAgIDE5NywgMjAsIDEsIDgyLCAyMjUsIDEwOCwgMjAsIDEsIDgyLCAyMzIsIDExOSwgMjAsIDEsIDgyLCAyMzQsIDI4LCAyMCwgMSwgCisgICAgODIsIDIzMSwgNTgsIDIwLCAxLCA4MiwgMTg0LCAyMCwgMSwgODIsIDIzMSwgMTY5LCAyMCwgMSwgODIsIDIxNiwgMjIxLCAKKyAgICAyMCwgMSwgODIsIDIzNCwgOTIsIDIwLCAxLCA4MiwgMjMwLCAxNTAsIDIwLCAxLCA4MiwgMjE2LCAyNDcsIDIwLCAxLCA4MiwgCisgICAgMjQ0LCAxNjksIDIwLCAxLCA4MiwgMjQyLCAyMjMsIDIwLCAxLCAyMjUsIDEzNywgMTc2LCAyMCwgMSwgMjI1LCAxMzcsIDcwLCAKKyAgICAyMCwgMSwgMjI1LCAxMzcsIDIzMywgMjE3LCAyMCwgMSwgMjI1LCAxMzcsIDI0NSwgMjA5LCAyMCwgMSwgMjI1LCAxMzcsIAorICAgIDIyMywgMTA4LCAyMCwgMSwgMjI1LCAxMzcsIDIxNywgODYsIDIwLCAxLCAyMjUsIDEzNywgMjI3LCAxNDgsIDIwLCAxLCAKKyAgICAyMjUsIDEzNywgMjMzLCAxMzUsIDIwLCAxLCAyMjUsIDEzNywgMjIyLCAyMzksIDIwLCAxLCAyMjUsIDEzNywgMjIzLCAyOSwgCisgICAgMjAsIDEsIDIyNSwgMTM3LCAyMzEsIDc5LCAyMCwgMSwgMjI1LCAxMzcsIDIxNywgMTAxLCAyMCwgMSwgMjI1LCAxMzcsIAorICAgIDIyOSwgMTQ2LCAyMCwgMSwgMjI1LCAxMzcsIDIyOCwgMTgzLCAyMCwgMSwgMjI1LCAxMzcsIDE5MywgMjAsIDEsIDIyNSwgCisgICAgMTM3LCAyMTgsIDQsIDIwLCAxLCAyMjUsIDEzNywgMjIwLCAyNywgMjAsIDEsIDIyNSwgMTM3LCAyMTksIDE5MSwgMjAsIDEsIAorICAgIDIyNSwgMTM3LCAyMjAsIDEyMywgMjAsIDEsIDIyNSwgMTM3LCAyMzMsIDE1NSwgMjAsIDEsIDIyNSwgMTM3LCAyMzQsIDE1NiwgCisgICAgMjAsIDEsIDIyNSwgMTM3LCAyMjcsIDIwOSwgMjAsIDEsIDIyNSwgMTM3LCAyMjcsIDIzNywgMjAsIDEsIDIyNSwgMTM3LCAKKyAgICAyMjgsIDE1NCwgMjAsIDEsIDIyNSwgMTM3LCAyMTAsIDIyNiwgMjAsIDEsIDIyNSwgMTM3LCAyMTksIDIyNSwgMjAsIDEsIAorICAgIDIyNSwgMTM3LCAxOTEsIDIwLCAxLCAyMjUsIDEzNywgMjI4LCA5LCAyMCwgMSwgMjI1LCAxMzcsIDIyNSwgMTUxLCAyMCwgMSwgCisgICAgMjI1LCAxMzcsIDIyNywgMjQ2LCAyMCwgMSwgMjI1LCAxMzcsIDIxMSwgMTkyLCAyMCwgMSwgMjI1LCAxMzcsIDIyNSwgMjExLCAKKyAgICAyMCwgMSwgMjI1LCAxMzcsIDIyMiwgMTQwLCAyMCwgMSwgMjI1LCAxMzcsIDIyOCwgMjMzLCAyMCwgMSwgMjI1LCAxMzcsIAorICAgIDIyMywgNTEsIDIwLCAxLCAyMjUsIDEzNywgMjM0LCAxNjUsIDIwLCAxLCAyMjUsIDEzNywgMjI5LCA3LCAyMCwgMSwgMjI1LCAKKyAgICAxMzcsIDIyOSwgNTYsIDIwLCAxLCAyMjUsIDEzNywgMjIwLCA3LCAyMCwgMSwgMjI1LCAxMzcsIDIyNCwgMTQ3LCAyMCwgMSwgCisgICAgMjI1LCAxMzcsIDI0NCwgMzcsIDIwLCAxLCAyMjUsIDEzNywgMjEyLCA2NSwgMjAsIDEsIDIyNSwgMTM3LCAyMzIsIDI0MSwgCisgICAgMjAsIDEsIDIyNSwgMTM3LCAyMzIsIDExOSwgMjAsIDEsIDIyNSwgMTM3LCAyMzQsIDI4LCAyMCwgMSwgMjI1LCAxMzcsIAorICAgIDIzMSwgMTE0LCAyMCwgMSwgMjI1LCAxMzcsIDIyMywgODMsIDIwLCAxLCAyMjUsIDEzNywgMTg0LCAyMCwgMSwgMjI1LCAKKyAgICAxMzcsIDIzMCwgMTYxLCAyMCwgMSwgMjI1LCAxMzcsIDIzMSwgMTIyLCAyMCwgMSwgMjI1LCAxMzcsIDIxNiwgMjMwLCAyMCwgCisgICAgMSwgMjI1LCAxMzcsIDIzMywgMjUxLCAyMCwgMSwgMjI1LCAxMzcsIDIyMSwgMjUxLCAyMCwgMSwgMjI1LCAxMzcsIDIxMiwgCisgICAgMTE1LCA5NSwgMSwgMTkwLCA5NSwgMSwgMjUyLCAxOTEsIDk1LCAxLCA4LCAxOTAsIDk1LCAxLCAyMjUsIDQyLCA5NSwgMSwgCisgICAgMTg0LCA5NSwgMSwgMjMwLCAyMzMsIDk1LCAxLCAyNTQsIDIzLCAxODQsIDk1LCAxLCAyNDQsIDE5NiwgOTUsIDEsIDIxNCwgCisgICAgMjcsIDk1LCAxLCAyMTMsIDE3NywgOTUsIDEsIDIxNywgMTA1LCA5NSwgMSwgMjQ4LCAyMjEsIDk1LCAxLCA4LCAyMTUsIAorICAgIDE1NiwgOTUsIDEsIDgsIDIxNywgMTA1LCA5NSwgMSwgMjE1LCAxNTYsIDk1LCAxLCAyNDgsIDEzNSwgOTUsIDEsIDE5NywgCisgICAgOTUsIDEsIDIyOCwgMjM3LCA5NSwgMSwgOCwgMjI4LCAxMTAsIDk1LCAxLCAyNTQsIDIzLCAxOTcsIDk1LCAxLCAyMjgsIAorICAgIDExMCwgOTUsIDEsIDIyOCwgOTYsIDk1LCAxLCAyMzMsIDEzNSwgOTUsIDEsIDIzMiwgNjEsIDk1LCAxLCAyMzIsIDI1NCwgCisgICAgOTUsIDEsIDIzMiwgMjQzLCA5NSwgMSwgMjE2LCA1NiwgOTUsIDEsIDI0NywgMTUzLCA5NSwgMSwgMjE2LCA0OCwgOTUsIDEsIAorICAgIDI0NywgMTUyLCA5NSwgMSwgMTc2LCA5NSwgMSwgMjQzLCAxMzUsIDk1LCAxLCA4LCAxNzYsIDk1LCAxLCAyMjQsIDg4LCA5NSwgCisgICAgMSwgMjI0LCA2NiwgOTUsIDEsIDIyOSwgNzcsIDk1LCAxLCAyMjksIDI4LCA5NSwgMSwgMjU0LCAyMywgMjI5LCA3NywgOTUsIAorICAgIDEsIDE2MiwgOTUsIDEsIDIxMSwgMTY1LCA5NSwgMSwgMjQyLCAyNDksIDk1LCAxLCAyNDIsIDIyNiwgOTUsIDEsIDIxNSwgCisgICAgMTY1LCA5NSwgMSwgMjQ2LCAyNiwgOTUsIDEsIDIyNywgMTY1LCA5NSwgMSwgMjI3LCAxNTAsIDk1LCAxLCAyMTUsIDE3NSwgCisgICAgOTUsIDEsIDI0NiwgMzMsIDk1LCAxLCA4LCAyMTUsIDE3NSwgOTUsIDEsIDgsIDI0NiwgMzMsIDk1LCAxLCAyMjMsIDEwNiwgCisgICAgMjE1LCAxNzUsIDk1LCAxLCAyMjAsIDEwMiwgOTUsIDEsIDIxOCwgMjIzLCA5NSwgMSwgMjEwLCA4MiwgOTUsIDEsIDIxMCwgCisgICAgMTQsIDk1LCAxLCAyMTUsIDE4MywgOTUsIDEsIDI0NiwgMzgsIDk1LCAxLCA4LCAyMTUsIDE4MywgOTUsIDEsIDIwNiwgOTUsIAorICAgIDEsIDIxMCwgMTE2LCA5NSwgMSwgMjEwLCAxNSwgOTUsIDEsIDIwOSwgMjQzLCA5NSwgMSwgMjA5LCAyMjMsIDk1LCAxLCAKKyAgICAyNTQsIDIzLCAyMDksIDI0MywgOTUsIDEsIDIwOSwgMjE1LCA5NSwgMSwgMjA5LCAyMjIsIDk1LCAxLCAyMTIsIDY1LCA5NSwgCisgICAgMSwgMjU0LCAyMDksIDk1LCAxLCAyNDEsIDE4OSwgOTUsIDEsIDIyOSwgMTkyLCA5NSwgNSwgMjUzLCAyMjIsIDk1LCA1LCAKKyAgICAyMjMsIDEwNiwgMjEzLCAxMzMsIDk1LCA1LCAyMjMsIDEwNiwgMjUzLCAyMjIsIDk1LCAyNSwgNSwgNjEsIDk1LCAyNSwgNSwgCisgICAgMjU1LCA3MywgOTUsIDI1LCA1LCAyNTQsIDIwNSwgOTUsIDI1LCA1LCAyNTQsIDEyMywgOTUsIDI1LCA1LCAyNTQsIDExNSwgCisgICAgOTUsIDI1LCA1LCA3NiwgOTUsIDI1LCA1LCAyMjYsIDE4MywgOTUsIDI1LCA1LCAyMTEsIDIyNywgOTUsIDI1LCA1LCAyMTIsIAorICAgIDk4LCA5NSwgMjUsIDUsIDc1LCA5NSwgMjUsIDUsIDI0NSwgMTUwLCA5NSwgMjUsIDUsIDI0NSwgMTM4LCA5NSwgMjUsIDUsIAorICAgIDIyNiwgMjMyLCA5NSwgMjUsIDUsIDczLCA5NSwgMjUsIDUsIDI0MCwgMTE5LCA5NSwgMjUsIDUsIDI0MCwgMTE4LCA5NSwgCisgICAgMjUsIDUsIDI0MCwgMTE3LCA5NSwgMjUsIDUsIDIzNSwgMTg5LCA5NSwgMjUsIDUsIDIzNiwgNjAsIDk1LCAyNSwgNSwgMjM2LCAKKyAgICAzMywgOTUsIDI1LCA1LCAyMzUsIDE1NiwgOTUsIDI1LCA1LCAyMzUsIDIzMSwgOTUsIDI1LCA1LCA3MCwgOTUsIDI1LCA1LCAKKyAgICAyMTQsIDIyOSwgOTUsIDI1LCA1LCAyMTQsIDIyOCwgOTUsIDI1LCA1LCAyMTQsIDIyNywgOTUsIDI1LCA1LCAyMTQsIDExOCwgCisgICAgOTUsIDI1LCA1LCAyMTQsIDIxMSwgOTUsIDI1LCA1LCAyMTQsIDE3OCwgOTUsIDI1LCA1LCAyMTEsIDExNywgOTUsIDI1LCA1LCAKKyAgICAyMTEsIDgsIDk1LCAyNSwgNSwgMjU0LCAyNDMsIDk1LCAyNSwgNSwgMjU0LCAyMzksIDk1LCAyNSwgNSwgMjQ1LCA4NiwgOTUsIAorICAgIDI1LCA1LCAyMjIsIDE4MywgMjQ1LCA4NiwgOTUsIDI1LCA1LCAyNDUsIDkyLCA5NSwgMjUsIDUsIDIyMiwgMTgzLCAyNDUsIAorICAgIDkyLCA5NSwgMjUsIDUsIDI1NCwgMjAxLCA5NSwgMjUsIDUsIDI0NSwgMTk1LCA5NSwgMjUsIDUsIDI1MywgMTkyLCA5NSwgCisgICAgMjUsIDUsIDIyNiwgMTM0LCA5NSwgMjUsIDUsIDIzMCwgMjUsIDk1LCAyNSwgNSwgMjI5LCA3OSwgOTUsIDEzOCwgMjIyLCAKKyAgICAyNTEsIDk1LCAxMzgsIDIxNiwgMTQsIDIyMiwgMjUxLCA5NSwgMTM4LCA0OCwgOTUsIDEzOCwgNTEsIDk1LCAxLCAyMTYsIAorICAgIDI4LCA5NSwgMSwgMjE2LCAyNywgOTUsIDEsIDIxNiwgMjYsIDk1LCAxLCAyMTYsIDI1LCA5NSwgMSwgMjE2LCAyNCwgOTUsIAorICAgIDEsIDIxNiwgMjMsIDk1LCAxLCAyMTYsIDIyLCA5NSwgMSwgMjIzLCAxMDYsIDIxNiwgMjksIDk1LCAxLCAyMjMsIDEwNiwgCisgICAgMjE2LCAyOCwgOTUsIDEsIDIyMywgMTA2LCAyMTYsIDI2LCA5NSwgMSwgMjIzLCAxMDYsIDIxNiwgMjUsIDk1LCAxLCAyMjMsIAorICAgIDEwNiwgMjE2LCAyNCwgOTUsIDEsIDIyMywgMTA2LCAyMTYsIDIyLCA1NiwgMSwgMjU0LCAyMywgNzUsIDE0MSwgMSwgMjU0LCAKKyAgICAyMywgMjExLCA0NywgNDksIDI4LCAxNiwgMjI0LCAxNTQsIDQ5LCAyOCwgMTYsIDI0OCwgMTU4LCA0OSwgMjgsIDE2LCAyMjUsIAorICAgIDE3NSwgNDksIDI4LCAxNiwgMjI2LCAxMTMsIDI0NSwgMTc4LCA0OSwgMjgsIDE2LCAyMjYsIDExMywgMjQ3LCAyMDEsIDQ5LCAKKyAgICAyOCwgMTYsIDIxNCwgMTYsIDI0NSwgMTc4LCA0OSwgMjgsIDE2LCAyMTQsIDE2LCAyNDcsIDIwMSwgNDksIDI4LCAxNiwgCisgICAgMjM0LCAxOTcsIDQ5LCAyOCwgMTYsIDIxNywgMTY5LCA0OSwgMjgsIDE2LCAyMjYsIDksIDQ5LCAyOCwgMTYsIDIxMCwgMjE3LCAKKyAgICA0OSwgMjgsIDE2LCAyMTAsIDIxOCwgMjQ3LCAyMDEsIDQ5LCAyOCwgMTYsIDIzMywgMjM0LCA0OSwgMjgsIDE2LCAyNTQsIAorICAgIDY4LCAyNDUsIDE3OCwgNDksIDI4LCAxNiwgMjQ1LCAyNiwgMjQ1LCAxNzgsIDQ5LCAyOCwgMTYsIDIxNywgMiwgNDksIDI4LCAKKyAgICAxNiwgMjM0LCAxNjEsIDQ5LCAyOCwgMTYsIDI1NCwgNTgsIDQ5LCAyOCwgMTYsIDI1NCwgNTksIDI0NywgMjAxLCA0OSwgMjgsIAorICAgIDE2LCAyMTcsIDE3NSwgNDksIDI4LCAxNiwgMjE2LCAxNTksIDQ5LCAyOCwgMTYsIDIyNiwgMjA2LCAyNTQsIDIxLCA0OSwgCisgICAgMjgsIDE2LCAyNDIsIDE1OSwgMjU0LCAyMSwgNDksIDI4LCAxNiwgMjI0LCAxNTMsIDQ5LCAyOCwgMTYsIDI1MCwgMTQ5LCAKKyAgICA0OSwgMjgsIDE2LCAyMTQsIDYsIDQ5LCAyOCwgMTYsIDIzNSwgMTY0LCAyNTQsIDIxLCA0OSwgMjgsIDE2LCAyMzQsIDE2MywgCisgICAgMjU0LCAyMSwgNDksIDI4LCAxNiwgMjM0LCAxNjIsIDI1NCwgMjEsIDQ5LCAyOCwgMTYsIDIyMSwgMjEzLCA0OSwgMjgsIDE2LCAKKyAgICAyMjYsIDAsIDQ5LCAyOCwgMTYsIDIxOCwgMTQ2LCAyNTQsIDYxLCA0OSwgMjgsIDE2LCAyMjYsIDExMiwgMjU0LCAyMSwgNDksIAorICAgIDI4LCAxNiwgMjE0LCAxNSwgMjU0LCAyMSwgNDksIDI4LCAxNiwgMjU0LCA2MiwgMjU0LCAyMSwgNDksIDI4LCAxNiwgMjU0LCAKKyAgICA1NiwgNDksIDI4LCAxNiwgMjM0LCAzNywgNDksIDI4LCAxNiwgMjIzLCA0NiwgNDksIDI4LCAxNiwgMjI1LCAxMDYsIDI1NCwgCisgICAgMjEsIDQ5LCAyOCwgMTYsIDIxNiwgODMsIDQ5LCAyOCwgMTYsIDI1NCwgMTIxLCA0OSwgMjgsIDE2LCAyMjEsIDE1OSwgNDksIAorICAgIDI4LCAxNiwgMjE3LCAxNzgsIDI1NCwgMjEsIDQ5LCAyOCwgMTYsIDIxNywgMTc4LCAyMzEsIDQwLCAyMTgsIDE0NCwgNDksIAorICAgIDI4LCAxNiwgMjI2LCAxMDcsIDI1NCwgMjEsIDQ5LCAyOCwgMTYsIDIxNiwgMTkwLCA0OSwgMjgsIDE2LCAyMzMsIDI3LCA0OSwgCisgICAgMjgsIDE2LCAyNDYsIDQxLCA0OSwgMjgsIDE2LCAyMTUsIDIyNywgNDksIDI4LCAxNiwgMjE2LCAyMzIsIDQ5LCAyOCwgMTYsIAorICAgIDIzMywgMjM3LCA0OSwgMjgsIDE2LCAyNTQsIDY4LCAyNDUsIDI2LCAyMjksIDk1LCA0OSwgMjgsIDE2LCAyNDMsIDIzNiwgCisgICAgMjU0LCAyMSwgNDksIDI4LCAxNiwgMjM2LCAxMiwgNDksIDI4LCAxNiwgMjE1LCAxOTksIDI1NCwgMjEsIDQ5LCAyOCwgMTYsIAorICAgIDIzNCwgMjAwLCAyMTUsIDE5OCwgNDksIDI4LCAxNiwgMjI1LCAyMDAsIDQ5LCAyOCwgMTYsIDIyNCwgMTU4LCA0OSwgMjgsIAorICAgIDE2LCAyMzQsIDExLCA0OSwgMjgsIDE2LCAyNTAsIDgwLCAyNTQsIDIxLCA0OSwgMjgsIDE2LCAyMjMsIDE0NiwgNDksIDI4LCAKKyAgICAxNiwgMjI2LCAxMiwgMjU0LCAyMSwgNDksIDI4LCAxNiwgMjI2LCAxMCwgMjU0LCAyMSwgNDksIDI4LCAxNiwgMjQwLCAxMDksIAorICAgIDQ5LCAyOCwgMTYsIDIyOSwgMjAzLCA0OSwgMjgsIDE2LCAyMjUsIDE1NiwgNDksIDI4LCAxNiwgMjM0LCAxMiwgMjU0LCAKKyAgICAxNDksIDQ5LCAyOCwgMTYsIDIxNSwgMTk5LCAyNTQsIDE0OSwgNDksIDI4LCAxNiwgMjE4LCAxMjMsIDQ5LCAyOCwgMTYsIAorICAgIDI0MiwgMTIzLCA0OSwgMjgsIDE2LCAyMzUsIDE2NCwgMjI5LCA5NSwgNDksIDI4LCAxNiwgMjI2LCAyMDYsIDIyOSwgOTUsIAorICAgIDQ5LCAyOCwgMTYsIDIyNiwgMTEzLCAyMjksIDk1LCA0OSwgMjgsIDE2LCAyMjUsIDE1NSwgNDksIDI4LCAxNiwgMjMzLCAKKyAgICAyNTQsIDQ5LCAyOCwgMTYsIDIyNSwgMTU0LCA0OSwgMjgsIDE2LCAyMzMsIDIzNiwgNDksIDI4LCAxNiwgMjI1LCAyMDEsIAorICAgIDIyOSwgOTUsIDQ5LCAyOCwgMTYsIDIzNCwgMTYyLCAyMjksIDk2LCAyNTQsIDk2LCA0OSwgMjgsIDE2LCAyMzQsIDE2MywgCisgICAgMjI5LCA5NiwgMjU0LCA5NiwgNDksIDI4LCAxNiwgMjEwLCAyMTUsIDQ5LCAyOCwgMTYsIDI1NCwgNTksIDIyOSwgOTUsIDQ5LCAKKyAgICAyOCwgMTYsIDI1NCwgNjAsIDIxNywgMTc2LCAyMjksIDk1LCA0OSwgMjgsIDE2LCAyMTAsIDIxNiwgNDksIDI4LCAxNiwgCisgICAgMjMzLCAyMzUsIDQ5LCAyOCwgMTYsIDI0NSwgMTczLCA0OSwgMjgsIDE2LCAyNTAsIDE1MCwgNDksIDI4LCAxNiwgMjMwLCAKKyAgICAxOTgsIDIzNSwgMTYzLCA0OSwgMjgsIDE2LCAyMTQsIDE2LCAyMjksIDk1LCA0OSwgMjgsIDE2LCAyMjUsIDEwNiwgMjI5LCAKKyAgICA5NSwgNDksIDI4LCAxNiwgMjI0LCAxNTksIDIyOSwgOTUsIDQ5LCAyOCwgMTYsIDIyNiwgMjAzLCA0OSwgMjgsIDE2LCAyNTQsIAorICAgIDg0LCA0OSwgMjgsIDE2LCAyMzIsIDU4LCA0OSwgMjgsIDE2LCAyMjYsIDEwLCAyMjksIDk1LCA0OSwgMjgsIDE2LCAyMjYsIAorICAgIDEyLCAyMjksIDk1LCA0OSwgMjgsIDE2LCAyNDUsIDYwLCAyMjYsIDExLCA0OSwgMjgsIDE2LCAyMzMsIDE1MywgNDksIDI4LCAKKyAgICAxNiwgMjU0LCA4NSwgNDksIDI4LCAxNiwgMjE1LCAxOTksIDIyOSwgOTUsIDQ5LCAyOCwgMTYsIDI0NSwgMTc2LCA0OSwgMjgsIAorICAgIDE2LCAyMTcsIDE3OCwgMjI5LCA5NSwgNDksIDI4LCAxNiwgMjE3LCAxNzAsIDQ5LCAyOCwgMTYsIDI1MCwgODAsIDIyOSwgCisgICAgOTUsIDQ5LCAyOCwgMTYsIDI0NSwgMTA2LCA0OSwgMjgsIDE2LCAyMjEsIDE2MCwgMjI5LCA5NSwgNDksIDI4LCAxNiwgMjExLCAKKyAgICAxNTEsIDIzNCwgMzcsIDQ5LCAyOCwgMTYsIDIxNSwgMTk2LCA0OSwgMjgsIDE2LCAyMjQsIDE2MCwgNDksIDI4LCAxNiwgCisgICAgMjE1LCAyMDAsIDQ5LCAyOCwgMTYsIDIxNSwgMTk3LCA0OSwgMjgsIDE2LCAyMjQsIDE1NywgNDksIDI4LCAxNiwgMjE1LCAKKyAgICAxOTUsIDQ5LCAyOCwgMTYsIDIyNCwgMTU2LCA0OSwgMjgsIDE2LCAyNDIsIDE1OCwgNDksIDI4LCAxNiwgMjU0LCAxNCwgNDksIAorICAgIDI4LCAxNiwgMjQ1LCA2MCwgMjU0LCAxNCwgNDksIDI4LCAxNiwgMjI2LCAxMDcsIDIyOSwgOTUsIDQ5LCAyOCwgMTYsIDIxNiwgCisgICAgMTg5LCAyNDUsIDY5LCA0OSwgMjgsIDE2LCAyMTYsIDE4OSwgMjQ1LCAyNSwgNDksIDI4LCAxNiwgMjE2LCAxOTEsIDI1NCwgCisgICAgNjMsIDQ5LCAyOCwgMTYsIDIxNiwgMTg0LCAyMzQsIDI0NywgMjU0LCA1NSwgNDksIDI4LCAxNiwgMjM0LCAxOTksIDQ5LCAKKyAgICAyOCwgMTYsIDI0NSwgMTM5LCA0OSwgMjgsIDE2LCAyMTEsIDExLCAyMzQsIDE5NiwgNDksIDI4LCAxNiwgMjExLCAxMSwgCisgICAgMjU0LCA5NiwgNDksIDI4LCAxNiwgMjE4LCAxNDUsIDQ5LCAyOCwgMTYsIDIzNCwgMzgsIDI1NCwgOTYsIDQ5LCAyOCwgMTYsIAorICAgIDI0NywgMjAyLCAyNTQsIDIxLCA0OSwgMjgsIDE2LCAyMzMsIDIzOCwgMjU0LCAyMSwgNDksIDI4LCAxNiwgMjMzLCAyMzgsIAorICAgIDI1NCwgMTQ5LCA0OSwgMjgsIDE2LCAyMzMsIDIzOCwgMjI5LCA5NSwgNDksIDI4LCAxNiwgMjU0LCA2MiwgMjI5LCA5NSwgCisgICAgNDksIDI4LCAxNiwgMjU0LCA2NCwgNDksIDI4LCAxNiwgMjQ3LCAyMDEsIDQ5LCAyOCwgMTYsIDIxNSwgMjEwLCA0OSwgMjgsIAorICAgIDE2LCAyMTYsIDIyNCwgNDksIDI4LCAxNiwgMjM0LCAyLCA0OSwgMjgsIDE2LCAyMzMsIDMyLCAyNDUsIDEzNCwgMjUwLCA3MSwgCisgICAgNDksIDI4LCAxNiwgMjMzLCAzMiwgMjQ2LCA0MiwgMjUwLCA3MiwgNDksIDI4LCAxNiwgMjMzLCAzMiwgMjE1LCAyMTIsIAorICAgIDI1MCwgNzIsIDQ5LCAyOCwgMTYsIDIzMywgMzIsIDIxNiwgMjM0LCAyNTAsIDcyLCA0OSwgMjgsIDE2LCAyMzMsIDMyLCAKKyAgICAyMzYsIDcsIDI1MCwgNzEsIDQ5LCAyOCwgMTYsIDI0MiwgMTU5LCAyMjksIDk2LCAyNTQsIDk2LCA0OSwgMjgsIDE2LCAyNDIsIAorICAgIDE1OSwgMjI2LCAxLCAyNTQsIDEwLCA0OSwgMjgsIDE2LCAyNDIsIDE1OSwgMjI2LCAxLCAyNDgsIDI5LCA0OSwgMjgsIDE2LCAKKyAgICAyNDcsIDIyNSwgNDksIDI4LCAxNiwgMjQ3LCAyMjYsIDIyNiwgMSwgMjU0LCAxMSwgMjM0LCAxOTYsIDQ5LCAyOCwgMTYsIAorICAgIDI0NywgMjI2LCAyMjYsIDEsIDI1NCwgMTEsIDI1NCwgOTYsIDQ5LCAyOCwgMTYsIDI0NywgMjI2LCAyMjYsIDEsIDI0OCwgCisgICAgMjksIDQ5LCAyOCwgMTYsIDIxNSwgMjE2LCA0OSwgMjgsIDE2LCAyNTQsIDE1LCA0OSwgMjgsIDE2LCAyMzYsIDE0LCA0OSwgCisgICAgMjgsIDE2LCAyNDcsIDI0NiwgNDksIDI4LCAxNiwgMjU0LCAyMTEsIDIyNSwgMCwgMjU0LCAxNiwgNDksIDI4LCAxNiwgMjU0LCAKKyAgICAyMTEsIDI1NCwgMTMsIDQ5LCAyOCwgMTYsIDI1NCwgMjExLCAyNTQsIDE2LCA0OSwgMjgsIDE2LCAyNTQsIDIxMSwgMjMxLCAKKyAgICAzNCwgNDksIDI4LCAxNiwgMjU0LCAyMTEsIDIzMSwgNDUsIDQ5LCAyOCwgMTYsIDI1NCwgMjExLCAyNDIsIDE2MCwgNDksIAorICAgIDI4LCAxNiwgMjU0LCAyMTEsIDI0MiwgMTU3LCA0OSwgMjgsIDE2LCAyNTQsIDIxMSwgMjI1LCAwLCAyNDIsIDE2MCwgNDksIAorICAgIDI4LCAxNiwgMjMxLCAxNTEsIDIyNCwgMTY1LCAyNDAsIDEwNywgNDksIDI4LCAxNiwgMjMxLCAxNTEsIDI1NCwgMTUxLCAKKyAgICAyMjQsIDE2NSwgMjQwLCAxMDcsIDQ5LCAyOCwgMTYsIDIzMSwgMTUxLCAyNDgsIDI4LCAyNDAsIDEwNywgNDksIDI4LCAxNiwgCisgICAgMjMxLCAxNTEsIDI1NCwgMTUxLCAyNDgsIDI4LCAyNDAsIDEwNywgNDksIDI4LCAxNiwgMjMxLCAxNTEsIDIxNSwgMjA1LCAKKyAgICAyNDAsIDEwNywgNDksIDI4LCAxNiwgMjMxLCAxNTEsIDIxNSwgMjE3LCA0OSwgMjgsIDE2LCAyMzEsIDE1MSwgMjE2LCAyMjgsIAorICAgIDI0MCwgMTA3LCA0OSwgMjgsIDE2LCAyMzEsIDE1MSwgMjE2LCAyMjgsIDIzMywgMzUsIDI0MCwgMTA3LCA0OSwgMjgsIDE2LCAKKyAgICAyMzEsIDE1MSwgMjMzLCAzNSwgMjQwLCAxMDcsIDQ5LCAyOCwgMTYsIDIzMSwgMTUxLCAyMjUsIDM5LCAyNDAsIDEwNywgNDksIAorICAgIDI4LCAxNiwgMjM1LCAxNjksIDIxNiwgMjUxLCAyNDAsIDEwOCwgNDksIDI4LCAxNiwgMjU0LCA2MCwgMjE2LCAyNTEsIDI0MCwgCisgICAgMTA4LCA0OSwgMjgsIDE2LCAyNDQsIDE3MiwgMjE2LCAyMjUsIDQ5LCAyOCwgMTYsIDI0NCwgMTcyLCAyMzAsIDE0MywgNDksIAorICAgIDI4LCAxNiwgMjQ0LCAxNzIsIDI0NywgMjMwLCA0OSwgMjgsIDE2LCAyMzEsIDE1MSwgMjE0LCAxMCwgMjQwLCAxMDcsIDQ5LCAKKyAgICAyOCwgMTYsIDIzMSwgMTUxLCAyMjQsIDE2NCwgMjQwLCAxMDcsIDQ5LCAyOCwgMTYsIDIzMSwgMTUxLCAyMjUsIDM5LCAyMTYsIAorICAgIDIyOCwgMjQwLCAxMDcsIDQ5LCAyOCwgMTYsIDI0MiwgMTU1LCAyMzAsIDI2LCAyNTQsIDYzLCA0OSwgMjgsIDE2LCAyNDIsIAorICAgIDE1NSwgMjMwLCAyNiwgMjQ3LCAyMDAsIDQ5LCAyOCwgMTYsIDI0NSwgMTQ4LCAyMzQsIDI0NywgMjQzLCAyMzYsIDIxMywgCisgICAgMTI0LCA0OSwgMjgsIDE2LCAyMzYsIDEzLCA0OSwgMjgsIDE2LCAyMzYsIDExLCA0OSwgMjgsIDE2LCAyNDMsIDIzNiwgMjU0LCAKKyAgICAyMiwgMjQ4LCAyNywgMjQwLCAxMDYsIDQ5LCAyOCwgMTYsIDI0MywgMjM2LCAyNDcsIDI0NCwgMTkwLCA0OSwgMjgsIDE2LCAKKyAgICAyNDMsIDIzNiwgMjQ3LCAyNDQsIDIyOSwgMjAzLCA0OSwgMjgsIDE2LCAyNDMsIDIzNiwgMjI5LCAxOTgsIDI0MCwgMTA3LCAKKyAgICA0OSwgMjgsIDE2LCAyNDMsIDIzNiwgMjQ3LCAyNDQsIDI0OCwgMywgNDksIDI4LCAxNiwgMjQzLCAyMzYsIDIxOSwgMTAyLCAKKyAgICAyNDcsIDI0MywgMjQ4LCAzLCA0OSwgMjgsIDE2LCAyNDMsIDIzNiwgMjQ3LCAyNDQsIDIzNCwgMTgyLCA0OSwgMjgsIDE2LCAKKyAgICAyNDMsIDIzNiwgMjQ3LCAyNDQsIDIxMCwgMjMsIDQ5LCAyOCwgMTYsIDI0MywgMjM2LCAyNDcsIDI0NCwgMjI4LCAyMzQsIAorICAgIDIzNCwgMTk2LCA0OSwgMjgsIDE2LCAyNDMsIDIzNiwgMjQ3LCAyNDQsIDIyOCwgMjM0LCAyNTQsIDk2LCA0OSwgMjgsIDE2LCAKKyAgICAyNDMsIDIzNiwgMjMxLCAxOTEsIDI1MCwgNzMsIDI0NywgMjMwLCA0OSwgMjgsIDE2LCAyNDMsIDIzNiwgMjMxLCAxOTEsIAorICAgIDI1MCwgNzMsIDIzMCwgMTQzLCA0OSwgMjgsIDE2LCAyNDQsIDEyMiwgMjE5LCAxMDIsIDI1MCwgNzMsIDIxNCwgOSwgNDksIAorICAgIDI4LCAxNiwgMjQzLCAyMzYsIDIxOSwgMTAyLCAyNTAsIDczLCAyMTcsIDE3OSwgNDksIDI4LCAxNiwgMjQzLCAyMzYsIDIyOSwgCisgICAgOTcsIDQ5LCAyOCwgMTYsIDI1MCwgNzQsIDIwOSwgMjQ5LCA0OSwgMjgsIDE2LCAyNTAsIDc0LCAyMzQsIDM2LCA0OSwgMjgsIAorICAgIDE2LCAyNTAsIDc0LCAyMTksIDksIDQ5LCAyOCwgMTYsIDI0MywgMjM2LCAyNDAsIDE1NCwgMjExLCAxMCwgMjE2LCAyMjksIAorICAgIDQ5LCAyOCwgMTYsIDI0MywgMjM2LCAyNDUsIDE0OSwgMjU0LCA4NiwgNDksIDI4LCAxNiwgMjExLCAxMCwgMjE1LCAyMDYsIAorICAgIDQ5LCAyOCwgMTYsIDI0NywgMjM4LCAyMTUsIDIwNiwgNDksIDI4LCAxNiwgMjQ3LCAyMzgsIDIxNiwgMjI5LCA0OSwgMjgsIAorICAgIDE2LCAyNDcsIDIzOCwgMjU0LCA2NSwgMjQ2LCA0MiwgMjQ3LCAxMzksIDQ5LCAyOCwgMTYsIDI0NywgMjM4LCAyMzAsIDE0MSwgCisgICAgMjE2LCAyMzMsIDI0NywgMTM5LCA0OSwgMjgsIDE2LCAyNDcsIDIzOCwgMjQ3LCAyMjIsIDI0NSwgMzYsIDI0NywgMTM5LCAKKyAgICA0OSwgMjgsIDE2LCAyNDcsIDIzOCwgMjE1LCAyMTQsIDIyNiwgMjExLCAyNDcsIDEzOSwgNDksIDI4LCAxNiwgMjExLCAxMCwgCisgICAgMjU0LCA2NSwgMjQ2LCA0MiwgMjQ3LCAxMzksIDQ5LCAyOCwgMTYsIDIxMSwgMTAsIDIzMCwgMTQxLCAyMTYsIDIzMywgMjQ3LCAKKyAgICAxMzksIDQ5LCAyOCwgMTYsIDIxMSwgMTAsIDI0NywgMjIyLCAyNDUsIDM2LCAyNDcsIDEzOSwgNDksIDI4LCAxNiwgMjExLCAKKyAgICAxMCwgMjE1LCAyMTQsIDIyNiwgMjExLCAyNDcsIDEzOSwgNDksIDI4LCAxNiwgMjQzLCA0OSwgMjQ3LCAyMzcsIDQ5LCAyOCwgCisgICAgMTYsIDI0MywgNDksIDIxMSwgOSwgNDksIDI4LCAxNiwgMjQ3LCAyNDUsIDI1NCwgNjUsIDIzMCwgMTk5LCA0OSwgMjgsIDE2LCAKKyAgICAyNDcsIDI0NSwgMjU0LCA2NSwgMjMxLCA3MywgNDksIDI4LCAxNiwgMjQ3LCAyNDUsIDI0NywgMjAxLCA0OSwgMjgsIDE2LCAKKyAgICAyNDcsIDI0NSwgMjE2LCAxODIsIDQ5LCAyOCwgMTYsIDIxOSwgMTYzLCAyMTYsIDE4MiwgNDksIDI4LCAxNiwgMjE5LCAxNjMsIAorICAgIDIxNiwgMTgzLCAyNDcsIDE4NiwgNDksIDI4LCAxNiwgMjE5LCAxNjMsIDIxNiwgMTgzLCAyMTUsIDIwNywgNDksIDI4LCAxNiwgCisgICAgMjE5LCAxNjMsIDIxNiwgMTgzLCAyMTYsIDIyMiwgNDksIDI4LCAxNiwgMjE5LCAxNjMsIDI1MywgMjQ0LCA0OSwgMjgsIDE2LCAKKyAgICAyMTksIDE2MywgMjUzLCAyNDUsIDI0NywgMTg2LCA0OSwgMjgsIDE2LCAyMTksIDE2MywgMjUzLCAyNDUsIDIxNSwgMjA3LCAKKyAgICA0OSwgMjgsIDE2LCAyMTksIDE2MywgMjUzLCAyNDUsIDIxNiwgMjIyLCA0OSwgMjgsIDE2LCAyNDcsIDIyMywgMjQzLCAzMCwgCisgICAgNDksIDI4LCAxNiwgMjQ3LCAyMjksIDIyNiwgMTM0LCA0OSwgMjgsIDE2LCAyMTgsIDEzNywgNDksIDI4LCAxNiwgMjU0LCA3LCAKKyAgICAxOTAsIDQ5LCAyOCwgMTYsIDI1NCwgNywgMjEzLCAxMjQsIDQ5LCAyOCwgMTYsIDI1NCwgNywgMjQzLCAxMzUsIDQ5LCAyOCwgCisgICAgMTYsIDI1NCwgNywgMjQ4LCAzLCA0OSwgMjgsIDE2LCAyNTQsIDcsIDIzNCwgMTgyLCA0OSwgMjgsIDE2LCAyNTQsIDcsIAorICAgIDIxMCwgMjMsIDQ5LCAyOCwgMTYsIDI1NCwgNywgMjI4LCAyMzMsIDQ5LCAyOCwgMTYsIDIzNCwgMTYyLCAyMjksIDk2LCAKKyAgICAyMzEsIDQ0LCA0OSwgMjgsIDE2LCAyMzQsIDE2MywgMjI5LCA5NiwgMjMxLCA0NCwgNDksIDI4LCAxNiwgMjM0LCAxNjIsIAorICAgIDIyOSwgOTYsIDIzNCwgMTk2LCA0OSwgMjgsIDE2LCAyMzQsIDE2MywgMjI5LCA5NiwgMjM0LCAxOTYsIDQ5LCAyOCwgMTYsIAorICAgIDIzNCwgMzgsIDIzNCwgMTk2LCA0OSwgMjgsIDE2LCAyNDIsIDE1OSwgMjI5LCA5NiwgMjM0LCAxOTYsIDI4LCAxNiwgMjE5LCAKKyAgICAxNTUsIDI1MiwgMTM1LCAyOCwgMTYsIDUyLCAyNTIsIDEzNSwgMjgsIDE2LCA0MCwgMjUyLCAxMzUsIDI4LCAxNiwgMjIzLCAKKyAgICA1MCwgNDAsIDI1MiwgMTM1LCAyOCwgMTYsIDI0OCwgMTU1LCAyNTIsIDEzNSwgMjgsIDE2LCAyMTksIDI1MSwgMjUyLCAxMzUsIAorICAgIDI4LCAxNiwgNDMsIDIyMywgNzcsIDUwLCAyOCwgMTYsIDQ0LCAyMjMsIDc3LCA1MCwgMjgsIDE2LCAyMjMsIDc3LCAyNDcsIAorICAgIDExOCwgMjgsIDE2LCAyNDgsIDE5NiwgMjIxLCAxNjMsIDI4LCAxNiwgMjQ4LCAyMjIsIDI1MCwgMjQ5LCAyOCwgMTYsIDIyMSwgCisgICAgMTYzLCAyOCwgMTYsIDI0OSwgMjM0LCAyOCwgMTYsIDIyMywgNzUsIDI0NCwgMTExLCAyOCwgMTYsIDIyMywgNzUsIDI0NCwgCisgICAgMTEwLCAyOCwgMTYsIDIyMywgNzUsIDI0NCwgMTA5LCAyOCwgMTYsIDI0NCwgMTMxLCAyOCwgMTYsIDI0NCwgMTMyLCA1MSwgCisgICAgMjgsIDE2LCAyNTEsIDE0OCwgNzgsIDI4LCAxNiwgMjUxLCAyNCwgMjgsIDE2LCAyNTEsIDE1OSwgMjgsIDE2LCAxMjcsIDI4LCAKKyAgICAxNiwgMjI2LCAxOTMsIDIxOCwgMTYzLCAyOCwgMTYsIDIxNSwgNTcsIDIxOCwgMTYzLCAyOCwgMTYsIDIxNiwgMTQyLCAyMTgsIAorICAgIDE2MywgMjgsIDE2LCAyNDQsIDEwLCAyMTgsIDE2MywgMjgsIDE2LCAyNDQsIDgwLCAyMTgsIDE2MywgMjgsIDE2LCAyMTksIAorICAgIDEyNCwgMjE4LCAxNjMsIDI4LCAxNiwgMjE5LCAxMjIsIDI0MywgMjUwLCAyOCwgMTYsIDI0NCwgOCwgMjQzLCAyNTAsIDI4LCAKKyAgICAxNiwgMjQzLCAyMDMsIDI1MCwgMTQsIDI4LCAxNiwgMjQzLCAyMDMsIDI1MCwgMTUsIDIyNiwgMTM2LCAyNTQsIDE0MiwgMjgsIAorICAgIDE2LCAyNDMsIDIwMywgMjUwLCAxNSwgMjI2LCAxMzYsIDI1MiwgMTIyLCAyOCwgMTYsIDI1MSwgNjcsIDI1MCwgMTQsIDI4LCAKKyAgICAxNiwgMjQ1LCA3LCAyNTAsIDE0LCAyOCwgMTYsIDI0NSwgNywgMjUwLCAxNSwgMjI2LCAxMzYsIDI1NCwgMTQyLCAyOCwgMTYsIAorICAgIDI0NSwgNywgMjUwLCAxNSwgMjI2LCAxMzYsIDI1MiwgMTIyLCAyOCwgMTYsIDI0NiwgODMsIDI1MCwgMTMsIDI4LCAxNiwgCisgICAgMjQ2LCA4MywgMjUwLCAxMiwgMjgsIDE2LCAyMzAsIDg1LCAyMzEsIDkwLCAyMjMsIDYxLCAyOCwgMTYsIDUyLCAyMjAsIDc1LCAKKyAgICAyOCwgMTYsIDUyLCAyNDQsIDY1LCAyOCwgMTYsIDI0NCwgNjYsIDIxNCwgMTYzLCAyOCwgMTYsIDI0NCwgNjYsIDI0NiwgCisgICAgMTA2LCAyOCwgMTYsIDIyOSwgMTg4LCAyMTQsIDE2MywgMjgsIDE2LCAyMjksIDE4OCwgMjQ2LCAxMDYsIDI4LCAxNiwgMjIwLCAKKyAgICA3NiwgMjE0LCAxNjMsIDI4LCAxNiwgMjIwLCA3NiwgMjQ2LCAxMDYsIDI4LCAxNiwgMjI0LCAyMiwgMTM4LCAyMjAsIDc1LCAKKyAgICAyOCwgMTYsIDIyNCwgMjIsIDEzOCwgMjQ0LCA2NSwgMjgsIDE2LCAyNDksIDIxNiwgMjE2LCA4NywgMjgsIDE2LCAyNDksIAorICAgIDg1LCAyMTYsIDg3LCAyOCwgMTYsIDIyNiwgMTM2LCAyNTQsIDE0MiwgMjgsIDE2LCAyMjYsIDEzNiwgMjUyLCAxMjIsIDI4LCAKKyAgICAxNiwgMjI0LCA0LCAyNTQsIDE0MiwgMjgsIDE2LCAyMjQsIDQsIDI1MiwgMTIyLCAyOCwgMTYsIDIzMCwgODgsIDIyMywgNjEsIAorICAgIDI4LCAxNiwgMjExLCAyNTEsIDIyMywgNjEsIDI4LCAxNiwgMTYzLCAyMjMsIDYxLCAyOCwgMTYsIDIyNCwgMjIsIDIyMywgCisgICAgNjEsIDI4LCAxNiwgMjQ1LCAxODksIDIyMywgNjEsIDI4LCAxNiwgMjE5LCAxMTgsIDIyMywgNjEsIDI4LCAxNiwgMjE2LCAKKyAgICAxNjAsIDIyMywgNjEsIDI4LCAxNiwgMjE5LCAxMTAsIDIyMywgNjEsIDI4LCAxNiwgMTIzLCAyNDAsIDIxMSwgMjE1LCA3MSwgCisgICAgMjIzLCA2MSwgMjgsIDE2LCAyMTEsIDE3OSwgMjI4LCA0MywgMjgsIDE2LCA5NiwgMjI4LCA0MywgMjgsIDE2LCAyNTAsIDM2LCAKKyAgICAyMTEsIDE3OSwgMjI4LCA0MywgMjgsIDE2LCA0MiwgMjI4LCA0NCwgMjExLCAyNTMsIDI4LCAxNiwgNDIsIDIyOCwgNDQsIAorICAgIDI1MSwgMjIxLCAyOCwgMTYsIDIxNSwgMjI2LCAyMjgsIDQ0LCAxMjAsIDIxMSwgMjUzLCAyOCwgMTYsIDIxNSwgMjI2LCAKKyAgICAyMjgsIDQ0LCAxMjAsIDI1MSwgMjIxLCAyOCwgMTYsIDIxNSwgMjI2LCAyMjgsIDQ0LCA0MywgMjExLCAyNTMsIDI4LCAxNiwgCisgICAgMjE1LCAyMjYsIDIyOCwgNDQsIDQzLCAyNTEsIDIyMSwgMjgsIDE2LCAyMTUsIDIyNiwgMjI4LCA0NCwgNDQsIDIxMSwgMjUzLCAKKyAgICAyOCwgMTYsIDIxNSwgMjI2LCAyMjgsIDQ0LCA0NCwgMjUxLCAyMjEsIDI4LCAxNiwgMjE1LCAyMjYsIDIyOCwgNDQsIDEyNCwgCisgICAgMjExLCAyNTMsIDI4LCAxNiwgMjE1LCAyMjYsIDIyOCwgNDQsIDEyNCwgMjUxLCAyMjEsIDI4LCAxNiwgMjE1LCAyMjYsIAorICAgIDIyOCwgNDQsIDEyMCwgNDQsIDIxMSwgMjUzLCAyOCwgMTYsIDIxNSwgMjI2LCAyMjgsIDQ0LCAxMjAsIDQ0LCAyNTEsIDIyMSwgCisgICAgMjgsIDE2LCAyMzAsIDEyOSwgMjI4LCA0NCwgMjExLCAyNTMsIDI4LCAxNiwgMjMwLCAxMjksIDIyOCwgNDQsIDI1MSwgMjIxLCAKKyAgICAyOCwgMTYsIDIxNSwgMjIzLCAyMjgsIDQ0LCAxMjQsIDIxMSwgMjUzLCAyOCwgMTYsIDIxNSwgMjIzLCAyMjgsIDQ0LCAxMjQsIAorICAgIDI1MSwgMjIxLCAyOCwgMTYsIDIyNiwgNCwgMjI4LCA0MywgMjgsIDE2LCAyMTMsIDEzMiwgMjI4LCA0MywgMjgsIDE2LCAKKyAgICAyMjgsIDQ0LCAyNTEsIDIyMSwgMjgsIDE2LCAyMjcsIDIwMywgMjI4LCA0MywgMjgsIDE2LCAyNDksIDI0MSwgMjI4LCA0NCwgCisgICAgMjExLCAyNTMsIDI4LCAxNiwgMjQ5LCAyNDEsIDIyOCwgNDQsIDI1MSwgMjIxLCAyOCwgMTYsIDI1MSwgMTQ2LCAyOCwgMTYsIAorICAgIDIxMSwgMjUxLCAyMjgsIDQ3LCAyOCwgMTYsIDE2MywgMjI4LCA0NywgMjgsIDE2LCAyMjQsIDIyLCAyMjgsIDQ3LCAyOCwgCisgICAgMTYsIDI0NSwgMTg5LCAyMjgsIDQ3LCAyOCwgMTYsIDIxOSwgMTE4LCAyMjgsIDQ3LCAyOCwgMTYsIDIxNiwgMTYwLCAyMjgsIAorICAgIDQ3LCAyOCwgMTYsIDIxOSwgMTEwLCAyMjgsIDQ3LCAyOCwgMTYsIDEyMywgMjQwLCAyMTEsIDIxNSwgNzEsIDIyOCwgNDcsIAorICAgIDI4LCAxNiwgMzgsIDIxOCwgMTM5LCAyOCwgMTYsIDM4LCAyMTgsIDI0MCwgMjE4LCAxMzksIDI4LCAxNiwgMzgsIDIxNSwgCisgICAgMjM0LCAyOCwgMTYsIDM4LCAyMTUsIDIzMywgMjgsIDE2LCAzOCwgMjE1LCAyMzIsIDI4LCAxNiwgMjQ0LCAxMDEsIDIxNSwgCisgICAgMjM0LCAyOCwgMTYsIDI0NCwgMTAxLCAyMTUsIDIzMywgMjgsIDE2LCAyNDQsIDEwMSwgMjE1LCAyMzIsIDI4LCAxNiwgMzgsIAorICAgIDI1MywgMTg5LCAyNDcsIDEyMCwgMjgsIDE2LCAzOCwgMjQ0LCA3MiwgMjgsIDE2LCAzOCwgMjQ0LCA3MSwgMjgsIDE2LCAzOCwgCisgICAgMjQ0LCA3MCwgMjgsIDE2LCAzOCwgMjQ0LCA2OSwgMjgsIDE2LCAzOCwgMjQ0LCA2OCwgMjgsIDE2LCAyNTIsIDU4LCAyNTIsIAorICAgIDc0LCAyOCwgMTYsIDI0NSwgMTQzLCAyNTIsIDc0LCAyOCwgMTYsIDI1MiwgNTgsIDIxNiwgMTExLCAyOCwgMTYsIDI0NSwgCisgICAgMTQzLCAyMTYsIDExMSwgMjgsIDE2LCAyNTIsIDU4LCAyMTksIDgwLCAyOCwgMTYsIDI0NSwgMTQzLCAyMTksIDgwLCAyOCwgCisgICAgMTYsIDI1MiwgNTgsIDIyNSwgMTE1LCAyOCwgMTYsIDI0NSwgMTQzLCAyMjUsIDExNSwgMjgsIDE2LCAzOCwgMjU1LCAxNCwgCisgICAgMjgsIDE2LCAzOCwgMjE4LCAxNjUsIDI4LCAxNiwgMzgsIDIxNiwgMjM4LCAyOCwgMTYsIDM4LCAyMTgsIDE2NiwgMjgsIDE2LCAKKyAgICAzOCwgMjMxLCAxNjIsIDI4LCAxNiwgMzgsIDIzMSwgMTYxLCAyOCwgMTYsIDM4LCAyNTUsIDEzLCAyOCwgMTYsIDM4LCAyMzIsIAorICAgIDExMiwgMjgsIDE2LCAyNTMsIDI1NCwgMjE0LCAxNjMsIDI4LCAxNiwgMjUzLCAyNTQsIDI0NiwgMTA2LCAyOCwgMTYsIDM4LCAKKyAgICAyNDcsIDEzNSwgMjgsIDE2LCAzOCwgMjIyLCAyMzEsIDI4LCAxNiwgMzgsIDI0NCwgNTgsIDI4LCAxNiwgMzgsIDIxOSwgNzYsIAorICAgIDI4LCAxNiwgMzgsIDI1MiwgMzgsIDI4LCAxNiwgMzgsIDUyLCAyMTYsIDE5LCAyOCwgMTYsIDM4LCAyMTUsIDIxMSwgMjE2LCAKKyAgICAxOSwgMjgsIDE2LCAyMjIsIDIzNSwgMjgsIDE2LCAyMTgsIDc1LCAyOCwgMTYsIDIxMCwgMTU5LCAyOCwgMTYsIDIyNSwgCisgICAgMTA3LCAyOCwgMTYsIDIzMSwgMjUsIDI4LCAxNiwgMjQ0LCAxNywgMjgsIDE2LCAyNDksIDEzOCwgMjgsIDE2LCAyNDgsIDc4LCAKKyAgICAyOCwgMTYsIDI0MiwgMTUwLCAyMjgsIDQ4LCAyMTksIDk1LCAyOCwgMTYsIDI0MiwgMTUwLCAyMjgsIDQ4LCAyMjgsIDc1LCAKKyAgICAyMTksIDk1LCAyOCwgMTYsIDIxNiwgMCwgMjgsIDE2LCAyMTUsIDk1LCAyOCwgMTYsIDIzNSwgMTkzLCAyMTUsIDk1LCAyOCwgCisgICAgMTYsIDIxNSwgOTYsIDIxOSwgOTUsIDI4LCAxNiwgMjE1LCA5NiwgMjE0LCAxNjMsIDI4LCAxNiwgMjI2LCAxNDgsIDIxOCwgCisgICAgMTAyLCAyOCwgMTYsIDIyNiwgMTQ4LCAyMTgsIDk5LCAyOCwgMTYsIDIyNiwgMTQ4LCAyMTgsIDk4LCAyOCwgMTYsIDIyNiwgCisgICAgMTQ4LCAyMTgsIDk3LCAyOCwgMTYsIDIyNiwgMTQ4LCAyMTgsIDk2LCAyOCwgMTYsIDIyNiwgMTQ4LCAyMTgsIDk1LCAyOCwgCisgICAgMTYsIDIyNiwgMTQ4LCAyMTgsIDk0LCAyOCwgMTYsIDIyNiwgMTQ4LCAyMTgsIDkzLCAyOCwgMTYsIDIyNiwgMTQ4LCAyMTgsIAorICAgIDkyLCAyOCwgMTYsIDIyNiwgMTQ4LCAyMTgsIDEwMSwgMjgsIDE2LCAyMjYsIDE0OCwgMjE4LCAxMDAsIDI4LCAxNiwgMjQxLCAKKyAgICAyNDUsIDI4LCAxNiwgMjI5LCAxMDUsIDI4LCAxNiwgMjQ1LCAxNDMsIDY0LCAyMTgsIDEzMywgMjgsIDE2LCAyNDgsIDcxLCAKKyAgICAyMTksIDk1LCAyOCwgMTYsIDM4LCAxMjQsIDI1MSwgMTY5LCAyOCwgMTYsIDM4LCAxMjAsIDI1MSwgMTY5LCAyOCwgMTYsIAorICAgIDM4LCAyNDIsIDAsIDI4LCAxNiwgMzgsIDIxOSwgNjcsIDIyNSwgNDMsIDI4LCAxNiwgMjI1LCAyMTYsIDc4LCAyOCwgMTYsIAorICAgIDIyNSwgMjE2LCAxMjAsIDc4LCAyOCwgMTYsIDE2MywgMjI1LCAyMTYsIDc4LCAyOCwgMTYsIDI0MiwgMTgyLCAyMTQsIDE2MywgCisgICAgMjgsIDE2LCAyNDIsIDE4MiwgMjQ2LCAxMDYsIDI4LCAxNiwgMiwgMjQ0LCAxMDAsIDI4LCAxNiwgMjQ4LCAxODAsIDI4LCAKKyAgICAxNiwgMjQ4LCAxODEsIDI1NCwgMTU0LCAyOCwgMTYsIDIzMSwgMTMzLCAyOCwgMTYsIDIzMiwgMTI5LCAyOCwgMTYsIDI1MSwgCisgICAgMTQzLCAyOCwgMTYsIDIyMCwgMTU0LCAyMTEsIDI1MywgMjgsIDE2LCAyMjAsIDE1NCwgMjUxLCAyMjEsIDI4LCAxNiwgMjMwLCAKKyAgICAxODQsIDI4LCAxNiwgMjMwLCAxODUsIDI1MSwgMjIxLCAyOCwgMTYsIDIyMCwgMTQ4LCAyMTEsIDI1MywgMjgsIDE2LCAyMjAsIAorICAgIDE0OCwgMjUxLCAyMjEsIDI4LCAxNiwgMjQzLCAyMjAsIDIxMSwgMjUzLCAyOCwgMTYsIDI0MywgMjIwLCAyNTEsIDIyMSwgCisgICAgMjgsIDE2LCAyMzIsIDEzMCwgMjI1LCAxODAsIDIyMywgNjEsIDI4LCAxNiwgMjMyLCAxMzAsIDIzNiwgNCwgMjIzLCA2MSwgCisgICAgMjgsIDE2LCAyNTEsIDE0NCwgMjIzLCA2MSwgMjgsIDE2LCAyMjAsIDE1NCwgMjIzLCA2MSwgMjgsIDE2LCAyMzAsIDE4NSwgCisgICAgMjIzLCA2MSwgMjgsIDE2LCAyMjAsIDE0OCwgMjIzLCA2MSwgMjgsIDE2LCAyMTYsIDI0OSwgMjI1LCAxNzgsIDI0OSwgMTA3LCAKKyAgICAyMjQsIDE3NCwgMjI1LCAxNzksIDI4LCAxNiwgMjE2LCAyNDksIDIyNSwgMTc4LCAyNDksIDEwNywgMjI0LCAxNzQsIDIzNiwgCisgICAgMywgMjgsIDE2LCAyMTYsIDI0OSwgMjI1LCAxNzgsIDI0OSwgMTA3LCAyMjQsIDE3NCwgMjI1LCAxODAsIDI0NywgMjExLCAKKyAgICAyOCwgMTYsIDIxNiwgMjQ5LCAyMzYsIDIsIDI0OSwgMTA3LCAyMjQsIDE3NCwgMjI1LCAxNzksIDI4LCAxNiwgMjE2LCAyNDksIAorICAgIDIzNiwgMiwgMjQ5LCAxMDcsIDIyNCwgMTc0LCAyMzYsIDMsIDI4LCAxNiwgMjE2LCAyNDksIDIzNiwgMiwgMjQ5LCAxMDcsIAorICAgIDIyNCwgMTc0LCAyMzYsIDQsIDI0NywgMjExLCAyOCwgMTYsIDIxNiwgMjQ5LCAyMzYsIDIsIDI0OSwgMTA3LCAyMjQsIDE3NCwgCisgICAgMjM2LCA0LCAyNDcsIDIxMCwgMjgsIDE2LCAyMTYsIDI0OSwgMjM2LCAyLCAyNDksIDEwNywgMjI0LCAxNzQsIDIzNiwgNCwgCisgICAgMjQ3LCAyMDksIDI4LCAxNiwgMjQ5LCAxMzMsIDI4LCAxNiwgMjQyLCAxMjYsIDI1MSwgNjcsIDI1MCwgMTQsIDI4LCAxNiwgCisgICAgMjQyLCAxMjYsIDI0NSwgNywgMjUwLCAxNCwgMjgsIDE2LCA0MiwgMjUzLCAxNTgsIDI4LCAxNiwgMjEzLCAxNTEsIDI4LCAKKyAgICAxNiwgMjI1LCAxNCwgMjgsIDE2LCAyNTAsIDUsIDI4LCAxNiwgMjIxLCAyMDMsIDI4LCAxNiwgMjUwLCA5LCAyOCwgMTYsIAorICAgIDIxNiwgNywgMjgsIDE2LCAyMjQsIDI0MiwgMjgsIDE2LCAyMjQsIDI0MywgMjQ0LCA2MCwgMjgsIDE2LCAyMjEsIDIwNCwgCisgICAgMjQ0LCA2MCwgMjgsIDE2LCAyMTYsIDgsIDIyMywgNTgsIDI4LCAxNiwgMjI1LCAxNjMsIDIxOCwgNjYsIDI2LCAyMTMsIAorICAgIDEzNywgMTg3LCAyMTcsIDIyOSwgMjYsIDIxMywgMTM3LCAxODcsIDIxNywgMjE4LCAyNiwgMjEzLCAxMzcsIDE4NywgMjE3LCAKKyAgICAyMDgsIDI2LCAyMTMsIDEzNywgMTg3LCAyMTcsIDIwMSwgMjYsIDIxMywgMTM3LCAxODcsIDIxNywgMTkzLCAyNiwgMjEzLCAKKyAgICAxMzcsIDE4NywgMjE3LCAxODcsIDI2LCAyMTMsIDEzNywgMTg3LCAyMTcsIDE4NiwgMjYsIDIxMywgMTM3LCAxODcsIDIxNywgCisgICAgMTg1LCAyNiwgMjEzLCAxMzcsIDE4NywgMjE3LCAxODQsIDI2LCAyMTMsIDEzNywgMTg3LCAyMTcsIDIyOCwgMjYsIDIxMywgCisgICAgMTM3LCAxODcsIDIxNywgMjI3LCAyNiwgMjEzLCAxMzcsIDE4NywgMjE3LCAyMjYsIDI2LCAyMTMsIDEzNywgMTg3LCAyMTcsIAorICAgIDIyNSwgMjYsIDIxMywgMTM3LCAxODcsIDIxNywgMjI0LCAyNiwgMjEzLCAxMzcsIDE4NywgMjE3LCAyMjMsIDI2LCAyMTMsIAorICAgIDEzNywgMTg3LCAyMTcsIDIyMiwgMjYsIDIxMywgMTM3LCAxODcsIDIxNywgMjIxLCAyNiwgMjEzLCAxMzcsIDE4NywgMjE3LCAKKyAgICAyMjAsIDI2LCAyMTMsIDEzNywgMTg3LCAyMTcsIDIxOSwgMjYsIDIxMywgMTM3LCAxODcsIDIxNywgMjE3LCAyNiwgMjEzLCAKKyAgICAxMzcsIDE4NywgMjE3LCAyMTYsIDI2LCAyMTMsIDEzNywgMTg3LCAyMTcsIDIxNSwgMjYsIDIxMywgMTM3LCAxODcsIDIxNywgCisgICAgMjE0LCAyNiwgMjEzLCAxMzcsIDE4NywgMjE3LCAyMTMsIDI2LCAyMTMsIDEzNywgMTg3LCAyMTcsIDE5MiwgMjYsIDIxMywgCisgICAgMTM3LCAxODcsIDIxNywgMTkxLCAyNiwgMjEzLCAxMzcsIDE4NywgMjE3LCAxOTAsIDI2LCAyMTMsIDEzNywgMTg3LCAyMTcsIAorICAgIDE4OSwgMjYsIDIxMywgMTM3LCAxODcsIDIxNywgMTg4LCAyNiwgMjM1LCAyMTQsIDE4NywgMjE3LCAyMjksIDI2LCAyMzUsIAorICAgIDIxNCwgMTg3LCAyMTcsIDIxOCwgMjYsIDIzNSwgMjE0LCAxODcsIDIxNywgMjAxLCAyNiwgMjM1LCAyMTQsIDE4NywgMjE3LCAKKyAgICAxOTMsIDI2LCAyMzUsIDIxNCwgMTg3LCAyMTcsIDE4NiwgMjYsIDIzNSwgMjE0LCAxODcsIDIxNywgMTg1LCAyNiwgMjM1LCAKKyAgICAyMTQsIDE4NywgMjE3LCAyMjcsIDI2LCAyMzUsIDIxNCwgMTg3LCAyMTcsIDIyNiwgMjYsIDIzNSwgMjE0LCAxODcsIDIxNywgCisgICAgMjI1LCAyNiwgMjM1LCAyMTQsIDE4NywgMjE3LCAyMjQsIDI2LCAyMzUsIDIxNCwgMTg3LCAyMTcsIDIyMSwgMjYsIDIzNSwgCisgICAgMjE0LCAxODcsIDIxNywgMjIwLCAyNiwgMjM1LCAyMTQsIDE4NywgMjE3LCAyMTksIDI2LCAyMzUsIDIxNCwgMTg3LCAyMTcsIAorICAgIDIxNCwgMjYsIDIzNSwgMjE0LCAxODcsIDIxNywgMjEzLCAyNiwgMjM1LCAyMTQsIDE4NywgMjE3LCAyMTIsIDI2LCAyMzUsIAorICAgIDIxNCwgMTg3LCAyMTcsIDIxMSwgMjYsIDIzNSwgMjE0LCAxODcsIDIxNywgMjEwLCAyNiwgMjM1LCAyMTQsIDE4NywgMjE3LCAKKyAgICAyMDksIDI2LCAyMzUsIDIxNCwgMTg3LCAyMTcsIDIwNywgMjYsIDIzNSwgMjE0LCAxODcsIDIxNywgMjA2LCAyNiwgMjM1LCAKKyAgICAyMTQsIDE4NywgMjE3LCAyMDUsIDI2LCAyMzUsIDIxNCwgMTg3LCAyMTcsIDIwNCwgMjYsIDIzNSwgMjE0LCAxODcsIDIxNywgCisgICAgMjAzLCAyNiwgMjM1LCAyMTQsIDE4NywgMjE3LCAyMDIsIDI2LCAyMzUsIDIxNCwgMTg3LCAyMTcsIDIwMCwgMjYsIDIzNSwgCisgICAgMjE0LCAxODcsIDIxNywgMTk5LCAyNiwgMjM1LCAyMTQsIDE4NywgMjE3LCAxOTgsIDI2LCAyMzUsIDIxNCwgMTg3LCAyMTcsIAorICAgIDE5NywgMjYsIDIzNSwgMjE0LCAxODcsIDIxNywgMTk2LCAyNiwgMjM1LCAyMTQsIDE4NywgMjE3LCAxOTUsIDI2LCAyMzUsIAorICAgIDIxNCwgMTg3LCAyMTcsIDE5NCwgMjYsIDIzNSwgMjE0LCAxODcsIDIxNywgMTkyLCAyNiwgMjM1LCAyMTQsIDE4NywgMjE3LCAKKyAgICAxOTEsIDI2LCAyMzUsIDIxNCwgMTg3LCAyMTcsIDE5MCwgMjYsIDIzNSwgMjE0LCAxODcsIDIxNywgMTg5LCAyNiwgMjM1LCAKKyAgICAyMTQsIDE4NywgMjE3LCAxODgsIDM4LCAyNiwgMjgsIDIxNSwgMjA4LCAzOCwgMjYsIDI4LCAyMTYsIDIyMywgMzgsIDI2LCAKKyAgICAyOCwgMjI1LCAxODgsIDI2LCAyOCwgMjMzLCAzMSwgMjMwLCAxNDIsIDMxLCAyNDUsIDIyMywgMjQ3LCAyMjQsIDMxLCAyNDEsIAorICAgIDIyMiwgMjQ1LCAyMjMsIDI0NywgMjI0LCAzMSwgMjQwLCAyMTQsIDI0NSwgMjIzLCAyNDcsIDIyNCwgMzEsIDI0NSwgMjIyLCAKKyAgICAyNDEsIDIyMywgMjQ3LCAyMjQsIDMxLCAyNDUsIDIyMiwgMjQwLCAyMTMsIDI0NywgMjI0LCAzMSwgMjQ1LCAyMjMsIDE4MCwgCisgICAgMzEsIDI1MCwgMTc0LCAxODAsIDMxLCAyNDMsIDIyOSwgMjUwLCAzNSwgMTgwLCAzMSwgMjMwLCAxNzcsIDE4MCwgMzEsIAorICAgIDI1MiwgMTMwLCAxODAsIDMxLCAyMzQsIDE3OSwgMjE5LCA3OSwgMTgwLCAzMSwgMjQ5LCAxNzksIDE4MCwgMzEsIDI1MywgCisgICAgMjMzLCAxODAsIDMxLCAyMjYsIDE2MywgMTgwLCAzMSwgMjUxLCAxNTMsIDIyNiwgMTMwLCAxODAsIDMxLCAyNDgsIDczLCAKKyAgICAxNzcsIDI0NywgMTc5LCAxODAsIDMxLCAyNDcsIDE3NiwgMTgwLCAzMSwgMjEwLCAyMjIsIDE4MCwgMzEsIDIzNSwgMjQ3LCAKKyAgICAxODAsIDMxLCAyMjUsIDE5NywgMTgwLCAzMSwgMjIzLCAxMjcsIDE4MCwgMzEsIDI0OSwgMTg5LCAxODAsIDMxLCAyNDEsIAorICAgIDYwLCAyNTIsIDE4NCwgMTgwLCAzMSwgMjEyLCA1OSwgMTgwLCAzMSwgMjQ0LCAzOSwgMTgwLCAzMSwgMjU0LCAyNDYsIDE4MCwgCisgICAgMzEsIDIyMywgODksIDE4MCwgMzEsIDIyMywgNjUsIDE4MCwgMzEsIDI0NSwgMjIxLCAxODAsIDMxLCAyMzUsIDUzLCAxODAsIAorICAgIDMxLCAyNDksIDE4NCwgMTgwLCAzMSwgMjQ1LCAxNDIsIDE4MCwgMzEsIDI0NiwgNTIsIDE4MCwgMzEsIDI1MCwgMTQ1LCAKKyAgICAxODAsIDMxLCAyNDgsIDgyLCAxODAsIDMxLCAyMywgMjIzLCA2NCwgMTgwLCAzMSwgMjI2LCA4MSwgMTgwLCAzMSwgMjMzLCAKKyAgICAzNCwgMTgwLCAzMSwgMjQ5LCAyNTQsIDE4MCwgMzEsIDIzNCwgNzcsIDE4MCwgMzEsIDI0MywgODYsIDE4MCwgMzEsIDIxOCwgCisgICAgMTEyLCAxODAsIDMxLCAyMjQsIDEzMCwgMTgwLCAzMSwgMjQzLCAyMjgsIDE4MCwgMzEsIDIyMywgNjYsIDE4MCwgMzEsIAorICAgIDIzMywgNzEsIDE3NywgMjMwLCAxNTcsIDE4MCwgMzEsIDIyMywgNjIsIDE4MCwgMzEsIDI0MiwgMTY4LCAyMTYsIDQyLCAKKyAgICAyMzEsIDc2LCAxODAsIDMxLCAyNDUsIDE0NCwgMTgwLCAzMSwgMjE4LCAxMjQsIDE4MCwgMzEsIDI0MiwgMTI4LCAxODAsIAorICAgIDMxLCAyNDUsIDEzNiwgMTgwLCAzMSwgMjI1LCAyMzUsIDE4MCwgMzEsIDIyMiwgMjI1LCAxODAsIDMxLCAyNDQsIDU5LCAKKyAgICAxODAsIDMxLCAyMTQsIDgsIDE3NywgMjEyLCA0NCwgMTgwLCAzMSwgMjQ5LCAxOTMsIDE4MCwgMzEsIDIzMSwgODksIDE4MCwgCisgICAgMzEsIDI0NSwgNjEsIDE4MCwgMzEsIDIxNCwgMTcyLCAxODAsIDMxLCAyNDcsIDIxMiwgMTgwLCAzMSwgMjUwLCAwLCAyMzAsIAorICAgIDExMCwgMTgwLCAzMSwgMjQyLCAxMDYsIDE4MCwgMzEsIDI0MywgODcsIDIzNSwgMjU1LCAxODAsIDMxLCAyMzEsIDE0MSwgCisgICAgMTgwLCAzMSwgMjU1LCAxMCwgMTgwLCAzMSwgMjQ1LCAxNTcsIDE4MCwgMzEsIDI0NiwgMTA5LCAxODAsIDMxLCAyMTIsIDQyLCAKKyAgICAxODAsIDMxLCAyMTksIDE1MCwgMTgwLCAzMSwgMjM1LCAyMjIsIDE4MCwgMzEsIDI0OCwgNDIsIDE4MCwgMzEsIDI0OCwgCisgICAgMTYwLCAxODAsIDMxLCAyNDcsIDIwOCwgMTgwLCAzMSwgMjQ1LCAyOSwgMTgwLCAzMSwgMjIwLCAxMTUsIDE4MCwgMzEsIAorICAgIDIxOCwgMTI4LCAxODAsIDMxLCAyNDIsIDIsIDE4MCwgMzEsIDI0OSwgMjEyLCAxODAsIDMxLCAyNDksIDI1MSwgMTgwLCAzMSwgCisgICAgMjQ0LCAxNzcsIDE4MCwgMzEsIDI1NCwgMjEyLCAxODAsIDMxLCAyNDksIDIxMSwgMTgwLCAzMSwgMjI2LCAxOTcsIDIxNiwgCisgICAgMTk2LCAyMTMsIDI0MiwgMTgwLCAzMSwgMjQ3LCAyMzIsIDE4MCwgMzEsIDIzMywgMTI0LCAxODAsIDMxLCAyNDQsIDEzLCAKKyAgICAyNDksIDE0OSwgMjIyLCAyMDIsIDIxNCwgMTc0LCAyMSwgMTEwLCAyNDksIDE0OSwgMjIyLCAyMDIsIDIxNCwgMTc0LCAyMSwgCisgICAgMTA1LCAyNDksIDE0OSwgMjIyLCAyMDIsIDIxNCwgMTc0LCAyMSwgMTU4LCAyNDksIDE0OSwgMjIyLCAyMDIsIDIxNCwgMTc0LCAKKyAgICAyMSwgMTYxLCAyNDksIDE0OSwgMjIyLCAyMDIsIDIxNCwgMTc0LCAyMSwgMTg5LCAyNDksIDE0OSwgMjIyLCAyMDIsIDIxNCwgCisgICAgMTc0LCAyMSwgMTk0LCAyNDksIDE0OSwgMjIyLCAyMDIsIDIxNCwgMTc0LCAyMSwgMTk4LCAyNDksIDE0OSwgMjIyLCAyMDIsIAorICAgIDIxNCwgMTc0LCAyMSwgMTk1LCAyNDksIDE0OSwgMjIyLCAyMDIsIDIxNCwgMTc0LCAyMSwgMjAwLCAyNDksIDE0OSwgMjIyLCAKKyAgICAyMDIsIDIxNiwgMjQzLCAyMSwgMTEwLCAyNDksIDE0OSwgMjIyLCAyMDIsIDIxNiwgMjQzLCAyMSwgMTA1LCAyNDksIDE0OSwgCisgICAgMjIyLCAyMDIsIDIxNiwgMjQzLCAyMSwgMTU4LCAyNDksIDE0OSwgMjIyLCAyMDIsIDIxNiwgMjQzLCAyMSwgMTYxLCAyNDksIAorICAgIDE0OSwgMjIyLCAyMDIsIDIxNiwgMjQzLCAyMSwgMTg5LCAyNDksIDE0OSwgMjIyLCAyMDIsIDIxNiwgMjQzLCAyMSwgMTk0LCAKKyAgICAyNDksIDE0OSwgMjIyLCAyMDIsIDIxNiwgMjQzLCAyMSwgMTk4LCAyNDksIDE0OSwgMjIyLCAyMDIsIDIxNiwgMjQzLCAyMSwgCisgICAgMTk1LCAyNDksIDE0OSwgMjIyLCAyMDIsIDIxNiwgMjQzLCAyMSwgMjAwLCAxMSwgMjMsIDYsIDYxLCAxMSwgMjMsIDYsIAorICAgIDI1MywgMTU4LCAxMSwgMjMsIDYsIDI1MSwgNjYsIDExLCAyMywgNiwgMjQ5LCA2MCwgMTEsIDIzLCA2LCA3NSwgMTEsIDIzLCAKKyAgICA2LCAyNDUsIDYsIDExLCAyMywgNiwgMjQzLCAyMDIsIDExLCAyMywgNiwgMjQyLCA2MCwgMTEsIDIzLCA2LCA3MywgMTEsIAorICAgIDIzLCA2LCAyMzUsIDE0NCwgMTEsIDIzLCA2LCAyMzUsIDIzLCAxMSwgMjMsIDYsIDE1NiwgMTEsIDIzLCA2LCAxOTMsIDExLCAKKyAgICAyMywgNiwgMjMwLCAyNSwgMTEsIDIzLCA2LCA3NiwgMTEsIDIzLCA2LCAyMjYsIDEwNSwgMTEsIDIzLCA2LCAyMjQsIDk2LCAKKyAgICAxMSwgMjMsIDYsIDE1MywgMTEsIDIzLCA2LCAyMjIsIDkxLCAxMSwgMjMsIDYsIDIxNywgMTUyLCAxMSwgMjMsIDYsIDcwLCAKKyAgICAxMSwgMjMsIDYsIDIxNCwgMTA1LCAxMSwgMjMsIDYsIDIxMiwgOTgsIDExLCAyMywgNiwgMjExLCAxNzgsIDExLCAyMywgNiwgCisgICAgMjExLCAxMTcsIDExLCAyMywgNiwgMjEwLCAxNTksIDExLCAyMywgNCwgNjEsIDExLCAyMywgNCwgMjUzLCAxNTgsIDExLCAKKyAgICAyMywgNCwgMjUxLCA2NiwgMTEsIDIzLCA0LCAyNDksIDYwLCAxMSwgMjMsIDQsIDc1LCAxMSwgMjMsIDQsIDI0NSwgNiwgMTEsIAorICAgIDIzLCA0LCAyNDMsIDIwMiwgMTEsIDIzLCA0LCAyNDIsIDYwLCAxMSwgMjMsIDQsIDczLCAxMSwgMjMsIDQsIDIzNSwgMTQ0LCAKKyAgICAxMSwgMjMsIDQsIDIzNSwgMjMsIDExLCAyMywgNCwgMTU2LCAxMSwgMjMsIDQsIDE5MywgMTEsIDIzLCA0LCAyMzAsIDI1LCAKKyAgICAxMSwgMjMsIDQsIDc2LCAxMSwgMjMsIDQsIDIyNiwgMTA1LCAxMSwgMjMsIDQsIDIyNCwgOTYsIDExLCAyMywgNCwgMTUzLCAKKyAgICAxMSwgMjMsIDQsIDIyMiwgOTEsIDExLCAyMywgNCwgMjE3LCAxNTIsIDExLCAyMywgNCwgNzAsIDExLCAyMywgNCwgMjE0LCAKKyAgICAxMDUsIDExLCAyMywgNCwgMjEyLCA5OCwgMTEsIDIzLCA0LCAyMTEsIDE3OCwgMTEsIDIzLCA0LCAyMTEsIDExNywgMTEsIAorICAgIDIzLCA0LCAyMTAsIDE1OSwgMTEsIDMyLCA2LCA2MSwgMTEsIDMyLCA2LCAyNTMsIDE1OCwgMTEsIDMyLCA2LCAyNTEsIDY2LCAKKyAgICAxMSwgMzIsIDYsIDI0OSwgNjAsIDExLCAzMiwgNiwgNzUsIDExLCAzMiwgNiwgMjQ1LCA2LCAxMSwgMzIsIDYsIDI0MywgCisgICAgMjAyLCAxMSwgMzIsIDYsIDI0MiwgNjAsIDExLCAzMiwgNiwgNzMsIDExLCAzMiwgNiwgMjM1LCAxNDQsIDExLCAzMiwgNiwgCisgICAgMjM1LCAyMywgMTEsIDMyLCA2LCAxNTYsIDExLCAzMiwgNiwgMTkzLCAxMSwgMzIsIDYsIDIzMCwgMjUsIDExLCAzMiwgNiwgCisgICAgNzYsIDExLCAzMiwgNiwgMjI2LCAxMDUsIDExLCAzMiwgNiwgMjI0LCA5NiwgMTEsIDMyLCA2LCAxNTMsIDExLCAzMiwgNiwgCisgICAgMjIyLCA5MSwgMTEsIDMyLCA2LCAyMTcsIDE1MiwgMTEsIDMyLCA2LCA3MCwgMTEsIDMyLCA2LCAyMTQsIDEwNSwgMTEsIDMyLCAKKyAgICA2LCAyMTIsIDk4LCAxMSwgMzIsIDYsIDIxMSwgMTc4LCAxMSwgMzIsIDYsIDIxMSwgMTE3LCAxMSwgMzIsIDYsIDIxMCwgCisgICAgMTU5LCAxMSwgMzIsIDQsIDYxLCAxMSwgMzIsIDQsIDI1MywgMTU4LCAxMSwgMzIsIDQsIDI1MSwgNjYsIDExLCAzMiwgNCwgCisgICAgMjQ5LCA2MCwgMTEsIDMyLCA0LCA3NSwgMTEsIDMyLCA0LCAyNDUsIDYsIDExLCAzMiwgNCwgMjQzLCAyMDIsIDExLCAzMiwgCisgICAgNCwgNzMsIDExLCAzMiwgNCwgMjM1LCAxNDQsIDExLCAzMiwgNCwgMjM1LCAyMywgMTEsIDMyLCA0LCAxNTYsIDExLCAzMiwgCisgICAgNCwgMTkzLCAxMSwgMzIsIDQsIDIzMCwgMjUsIDExLCAzMiwgNCwgNzYsIDExLCAzMiwgNCwgMjI2LCAxMDUsIDExLCAzMiwgCisgICAgNCwgMjI0LCA5NiwgMTEsIDMyLCA0LCAxNTMsIDExLCAzMiwgNCwgMjIyLCA5MSwgMTEsIDMyLCA0LCAyMTcsIDE1MiwgMTEsIAorICAgIDMyLCA0LCA3MCwgMTEsIDMyLCA0LCAyMTQsIDEwNSwgMTEsIDMyLCA0LCAyMTIsIDk4LCAxMSwgMzIsIDQsIDIxMSwgMTc4LCAKKyAgICAxMSwgMzIsIDQsIDIxMSwgMTE3LCAxMSwgMzIsIDQsIDIxMCwgMTU5LCAxMSwgMjMsIDMyLCA2LCA2MSwgMTEsIDIzLCAzMiwgCisgICAgNiwgMjUzLCAxNTgsIDExLCAyMywgMzIsIDYsIDI1MSwgNjYsIDExLCAyMywgMzIsIDYsIDI0OSwgNjAsIDExLCAyMywgMzIsIAorICAgIDYsIDc1LCAxMSwgMjMsIDMyLCA2LCAyNDUsIDYsIDExLCAyMywgMzIsIDYsIDI0MywgMjAyLCAxMSwgMjMsIDMyLCA2LCAKKyAgICAyNDIsIDYwLCAxMSwgMjMsIDMyLCA2LCA3MywgMTEsIDIzLCAzMiwgNiwgMjM1LCAxNDQsIDExLCAyMywgMzIsIDYsIDIzNSwgCisgICAgMjMsIDExLCAyMywgMzIsIDYsIDE1NiwgMTEsIDIzLCAzMiwgNiwgMTkzLCAxMSwgMjMsIDMyLCA2LCAyMzAsIDI1LCAxMSwgCisgICAgMjMsIDMyLCA2LCA3NiwgMTEsIDIzLCAzMiwgNiwgMjI2LCAxMDUsIDExLCAyMywgMzIsIDYsIDIyNCwgOTYsIDExLCAyMywgCisgICAgMzIsIDYsIDE1MywgMTEsIDIzLCAzMiwgNiwgMjIyLCA5MSwgMTEsIDIzLCAzMiwgNiwgMjE3LCAxNTIsIDExLCAyMywgMzIsIAorICAgIDYsIDcwLCAxMSwgMjMsIDMyLCA2LCAyMTQsIDEwNSwgMTEsIDIzLCAzMiwgNiwgMjEyLCA5OCwgMTEsIDIzLCAzMiwgNiwgCisgICAgMjExLCAxNzgsIDExLCAyMywgMzIsIDYsIDIxMSwgMTE3LCAxMSwgMjMsIDMyLCA2LCAyMTAsIDE1OSwgMTEsIDIzLCAzMiwgCisgICAgNCwgNjEsIDExLCAyMywgMzIsIDQsIDI1MywgMTU4LCAxMSwgMjMsIDMyLCA0LCAyNTEsIDY2LCAxMSwgMjMsIDMyLCA0LCAKKyAgICAyNDksIDYwLCAxMSwgMjMsIDMyLCA0LCA3NSwgMTEsIDIzLCAzMiwgNCwgMjQ1LCA2LCAxMSwgMjMsIDMyLCA0LCAyNDMsIAorICAgIDIwMiwgMTEsIDIzLCAzMiwgNCwgMjQyLCA2MCwgMTEsIDIzLCAzMiwgNCwgNzMsIDExLCAyMywgMzIsIDQsIDIzNSwgMTQ0LCAKKyAgICAxMSwgMjMsIDMyLCA0LCAyMzUsIDIzLCAxMSwgMjMsIDMyLCA0LCAxNTYsIDExLCAyMywgMzIsIDQsIDE5MywgMTEsIDIzLCAKKyAgICAzMiwgNCwgMjMwLCAyNSwgMTEsIDIzLCAzMiwgNCwgNzYsIDExLCAyMywgMzIsIDQsIDIyNiwgMTA1LCAxMSwgMjMsIDMyLCAKKyAgICA0LCAyMjQsIDk2LCAxMSwgMjMsIDMyLCA0LCAxNTMsIDExLCAyMywgMzIsIDQsIDIyMiwgOTEsIDExLCAyMywgMzIsIDQsIAorICAgIDIxNywgMTUyLCAxMSwgMjMsIDMyLCA0LCA3MCwgMTEsIDIzLCAzMiwgNCwgMjE0LCAxMDUsIDExLCAyMywgMzIsIDQsIDIxMiwgCisgICAgOTgsIDExLCAyMywgMzIsIDQsIDIxMSwgMTc4LCAxMSwgMjMsIDMyLCA0LCAyMTEsIDExNywgMTEsIDIzLCAzMiwgNCwgMjEwLCAKKyAgICAxNTksIDExLCAxMTksIDYsIDYxLCAxMSwgMTE5LCA2LCAyNTEsIDY2LCAxMSwgMTE5LCA2LCAyNDksIDYwLCAxMSwgMTE5LCAKKyAgICA2LCAyNDMsIDIwMiwgMTEsIDExOSwgNiwgMjM1LCAxNDQsIDExLCAxMTksIDYsIDIzNSwgMjMsIDExLCAxMTksIDYsIDIzMCwgCisgICAgMjUsIDExLCAxMTksIDYsIDc2LCAxMSwgMTE5LCA2LCAyMjYsIDEwNSwgMTEsIDExOSwgNiwgMjI0LCA5NiwgMTEsIDExOSwgCisgICAgNiwgMjIyLCA5MSwgMTEsIDExOSwgNiwgMjE3LCAxNTIsIDExLCAxMTksIDYsIDcwLCAxMSwgMTE5LCA2LCAyMTQsIDEwNSwgCisgICAgMTEsIDExOSwgNiwgMjEyLCA5OCwgMTEsIDExOSwgNiwgMjExLCAxNzgsIDExLCAxMTksIDYsIDIxMSwgMTE3LCAxMSwgMTE5LCAKKyAgICA2LCAyMTAsIDE1OSwgMTEsIDExOSwgNCwgNjEsIDExLCAxMTksIDQsIDI1MywgMTU4LCAxMSwgMTE5LCA0LCAyNTEsIDY2LCAKKyAgICAxMSwgMTE5LCA0LCAyNDksIDYwLCAxMSwgMTE5LCA0LCAyNDUsIDYsIDExLCAxMTksIDQsIDI0MiwgNjAsIDExLCAxMTksIDQsIAorICAgIDczLCAxMSwgMTE5LCA0LCAyMzUsIDE0NCwgMTEsIDExOSwgNCwgMjM1LCAyMywgMTEsIDExOSwgNCwgMTU2LCAxMSwgMTE5LCAKKyAgICA0LCAxOTMsIDExLCAxMTksIDQsIDIzMCwgMjUsIDExLCAxMTksIDQsIDIyNiwgMTA1LCAxMSwgMTE5LCA0LCAyMjQsIDk2LCAKKyAgICAxMSwgMTE5LCA0LCAxNTMsIDExLCAxMTksIDQsIDIyMiwgOTEsIDExLCAxMTksIDQsIDIxNywgMTUyLCAxMSwgMTE5LCA0LCAKKyAgICA3MCwgMTEsIDExOSwgNCwgMjE0LCAxMDUsIDExLCAxMTksIDQsIDIxMiwgOTgsIDExLCAxMTksIDQsIDIxMSwgMTc4LCAxMSwgCisgICAgMTE5LCA0LCAyMTEsIDExNywgMTEsIDExOSwgNCwgMjEwLCAxNTksIDExLCAyMywgMTE5LCA2LCA2MSwgMTEsIDIzLCAxMTksIAorICAgIDYsIDI1MywgMTU4LCAxMSwgMjMsIDExOSwgNiwgMjUxLCA2NiwgMTEsIDIzLCAxMTksIDYsIDI0OSwgNjAsIDExLCAyMywgCisgICAgMTE5LCA2LCA3NSwgMTEsIDIzLCAxMTksIDYsIDI0NSwgNiwgMTEsIDIzLCAxMTksIDYsIDI0MywgMjAyLCAxMSwgMjMsIAorICAgIDExOSwgNiwgMjQyLCA2MCwgMTEsIDIzLCAxMTksIDYsIDczLCAxMSwgMjMsIDExOSwgNiwgMjM1LCAxNDQsIDExLCAyMywgCisgICAgMTE5LCA2LCAyMzUsIDIzLCAxMSwgMjMsIDExOSwgNiwgMTU2LCAxMSwgMjMsIDExOSwgNiwgMTkzLCAxMSwgMjMsIDExOSwgCisgICAgNiwgMjMwLCAyNSwgMTEsIDIzLCAxMTksIDYsIDc2LCAxMSwgMjMsIDExOSwgNiwgMjI2LCAxMDUsIDExLCAyMywgMTE5LCA2LCAKKyAgICAyMjQsIDk2LCAxMSwgMjMsIDExOSwgNiwgMTUzLCAxMSwgMjMsIDExOSwgNiwgMjIyLCA5MSwgMTEsIDIzLCAxMTksIDYsIAorICAgIDIxNywgMTUyLCAxMSwgMjMsIDExOSwgNiwgNzAsIDExLCAyMywgMTE5LCA2LCAyMTQsIDEwNSwgMTEsIDIzLCAxMTksIDYsIAorICAgIDIxMiwgOTgsIDExLCAyMywgMTE5LCA2LCAyMTEsIDE3OCwgMTEsIDIzLCAxMTksIDYsIDIxMSwgMTE3LCAxMSwgMjMsIDExOSwgCisgICAgNiwgMjEwLCAxNTksIDExLCAyMywgMTE5LCA0LCA2MSwgMTEsIDIzLCAxMTksIDQsIDI1MywgMTU4LCAxMSwgMjMsIDExOSwgCisgICAgNCwgMjUxLCA2NiwgMTEsIDIzLCAxMTksIDQsIDI0OSwgNjAsIDExLCAyMywgMTE5LCA0LCA3NSwgMTEsIDIzLCAxMTksIDQsIAorICAgIDI0NSwgNiwgMTEsIDIzLCAxMTksIDQsIDI0MywgMjAyLCAxMSwgMjMsIDExOSwgNCwgMjQyLCA2MCwgMTEsIDIzLCAxMTksIAorICAgIDQsIDczLCAxMSwgMjMsIDExOSwgNCwgMjM1LCAxNDQsIDExLCAyMywgMTE5LCA0LCAyMzUsIDIzLCAxMSwgMjMsIDExOSwgNCwgCisgICAgMTU2LCAxMSwgMjMsIDExOSwgNCwgMTkzLCAxMSwgMjMsIDExOSwgNCwgMjMwLCAyNSwgMTEsIDIzLCAxMTksIDQsIDc2LCAKKyAgICAxMSwgMjMsIDExOSwgNCwgMjI2LCAxMDUsIDExLCAyMywgMTE5LCA0LCAyMjQsIDk2LCAxMSwgMjMsIDExOSwgNCwgMTUzLCAKKyAgICAxMSwgMjMsIDExOSwgNCwgMjIyLCA5MSwgMTEsIDIzLCAxMTksIDQsIDIxNywgMTUyLCAxMSwgMjMsIDExOSwgNCwgNzAsIAorICAgIDExLCAyMywgMTE5LCA0LCAyMTQsIDEwNSwgMTEsIDIzLCAxMTksIDQsIDIxMiwgOTgsIDExLCAyMywgMTE5LCA0LCAyMTEsIAorICAgIDE3OCwgMTEsIDIzLCAxMTksIDQsIDIxMSwgMTE3LCAxMSwgMjMsIDExOSwgNCwgMjEwLCAxNTksIDExLCAxMzMsIDYsIDYxLCAKKyAgICAxMSwgMTMzLCA2LCAyNTMsIDE1OCwgMTEsIDEzMywgNiwgMjQ5LCA2MCwgMTEsIDEzMywgNiwgNzUsIDExLCAxMzMsIDYsIAorICAgIDI0NSwgNiwgMTEsIDEzMywgNiwgMjQzLCAyMDIsIDExLCAxMzMsIDYsIDIzNSwgMTQ0LCAxMSwgMTMzLCA2LCAyMzUsIDIzLCAKKyAgICAxMSwgMTMzLCA2LCAxNTYsIDExLCAxMzMsIDYsIDE5MywgMTEsIDEzMywgNiwgMjMwLCAyNSwgMTEsIDEzMywgNiwgNzYsIAorICAgIDExLCAxMzMsIDYsIDIyNiwgMTA1LCAxMSwgMTMzLCA2LCAyMjQsIDk2LCAxMSwgMTMzLCA2LCAyMjIsIDkxLCAxMSwgMTMzLCAKKyAgICA2LCAyMTcsIDE1MiwgMTEsIDEzMywgNiwgNzAsIDExLCAxMzMsIDYsIDIxNCwgMTA1LCAxMSwgMTMzLCA2LCAyMTIsIDk4LCAKKyAgICAxMSwgMTMzLCA2LCAyMTEsIDE3OCwgMTEsIDEzMywgNiwgMjExLCAxMTcsIDExLCAxMzMsIDQsIDYxLCAxMSwgMTMzLCA0LCAKKyAgICAyNTMsIDE1OCwgMTEsIDEzMywgNCwgMjUxLCA2NiwgMTEsIDEzMywgNCwgMjQ5LCA2MCwgMTEsIDEzMywgNCwgNzUsIDExLCAKKyAgICAxMzMsIDQsIDI0NSwgNiwgMTEsIDEzMywgNCwgMjQzLCAyMDIsIDExLCAxMzMsIDQsIDI0MiwgNjAsIDExLCAxMzMsIDQsIAorICAgIDczLCAxMSwgMTMzLCA0LCAyMzUsIDE0NCwgMTEsIDEzMywgNCwgMjM1LCAyMywgMTEsIDEzMywgNCwgMTU2LCAxMSwgMTMzLCAKKyAgICA0LCAxOTMsIDExLCAxMzMsIDQsIDIzMCwgMjUsIDExLCAxMzMsIDQsIDc2LCAxMSwgMTMzLCA0LCAyMjYsIDEwNSwgMTEsIAorICAgIDEzMywgNCwgMjI0LCA5NiwgMTEsIDEzMywgNCwgMTUzLCAxMSwgMTMzLCA0LCAyMjIsIDkxLCAxMSwgMTMzLCA0LCAyMTcsIAorICAgIDE1MiwgMTEsIDEzMywgNCwgNzAsIDExLCAxMzMsIDQsIDIxNCwgMTA1LCAxMSwgMTMzLCA0LCAyMTIsIDk4LCAxMSwgMTMzLCAKKyAgICA0LCAyMTEsIDE3OCwgMTEsIDEzMywgNCwgMjExLCAxMTcsIDExLCAxMzMsIDQsIDIxMCwgMTU5LCAxMSwgMTM5LCA2LCA2MSwgCisgICAgMTEsIDEzOSwgNiwgMjUzLCAxNTgsIDExLCAxMzksIDYsIDI0OSwgNjAsIDExLCAxMzksIDYsIDc1LCAxMSwgMTM5LCA2LCAKKyAgICAyNDUsIDYsIDExLCAxMzksIDYsIDI0MywgMjAyLCAxMSwgMTM5LCA2LCA3MywgMTEsIDEzOSwgNiwgMjM1LCAxNDQsIDExLCAKKyAgICAxMzksIDYsIDIzNSwgMjMsIDExLCAxMzksIDYsIDE1NiwgMTEsIDEzOSwgNiwgMTkzLCAxMSwgMTM5LCA2LCA3NiwgMTEsIAorICAgIDEzOSwgNiwgMjIyLCA5MSwgMTEsIDEzOSwgNiwgMjE3LCAxNTIsIDExLCAxMzksIDYsIDcwLCAxMSwgMTM5LCA2LCAyMTQsIAorICAgIDEwNSwgMTEsIDEzOSwgNiwgMjEyLCA5OCwgMTEsIDEzOSwgNiwgMjExLCAxNzgsIDExLCAxMzksIDYsIDIxMSwgMTE3LCAxMSwgCisgICAgMTM5LCA0LCA2MSwgMTEsIDEzOSwgNCwgMjUzLCAxNTgsIDExLCAxMzksIDQsIDI1MSwgNjYsIDExLCAxMzksIDQsIDI0OSwgCisgICAgNjAsIDExLCAxMzksIDQsIDc1LCAxMSwgMTM5LCA0LCAyNDUsIDYsIDExLCAxMzksIDQsIDI0MywgMjAyLCAxMSwgMTM5LCA0LCAKKyAgICAyNDIsIDYwLCAxMSwgMTM5LCA0LCA3MywgMTEsIDEzOSwgNCwgMjM1LCAxNDQsIDExLCAxMzksIDQsIDIzNSwgMjMsIDExLCAKKyAgICAxMzksIDQsIDE1NiwgMTEsIDEzOSwgNCwgMTkzLCAxMSwgMTM5LCA0LCAyMzAsIDI1LCAxMSwgMTM5LCA0LCA3NiwgMTEsIAorICAgIDEzOSwgNCwgMjI2LCAxMDUsIDExLCAxMzksIDQsIDIyNCwgOTYsIDExLCAxMzksIDQsIDE1MywgMTEsIDEzOSwgNCwgMjIyLCAKKyAgICA5MSwgMTEsIDEzOSwgNCwgMjE3LCAxNTIsIDExLCAxMzksIDQsIDcwLCAxMSwgMTM5LCA0LCAyMTQsIDEwNSwgMTEsIDEzOSwgCisgICAgNCwgMjEyLCA5OCwgMTEsIDEzOSwgNCwgMjExLCAxNzgsIDExLCAxMzksIDQsIDIxMSwgMTE3LCAxMSwgMTM5LCA0LCAyMTAsIAorICAgIDE1OSwgMTEsIDIzLCAxMzMsIDYsIDYxLCAxMSwgMjMsIDEzMywgNiwgMjUzLCAxNTgsIDExLCAyMywgMTMzLCA2LCAyNTEsIAorICAgIDY2LCAxMSwgMjMsIDEzMywgNiwgMjQ5LCA2MCwgMTEsIDIzLCAxMzMsIDYsIDc1LCAxMSwgMjMsIDEzMywgNiwgMjQ1LCA2LCAKKyAgICAxMSwgMjMsIDEzMywgNiwgMjQzLCAyMDIsIDExLCAyMywgMTMzLCA2LCAyNDIsIDYwLCAxMSwgMjMsIDEzMywgNiwgNzMsIAorICAgIDExLCAyMywgMTMzLCA2LCAyMzUsIDE0NCwgMTEsIDIzLCAxMzMsIDYsIDIzNSwgMjMsIDExLCAyMywgMTMzLCA2LCAxNTYsIAorICAgIDExLCAyMywgMTMzLCA2LCAxOTMsIDExLCAyMywgMTMzLCA2LCAyMzAsIDI1LCAxMSwgMjMsIDEzMywgNiwgNzYsIDExLCAyMywgCisgICAgMTMzLCA2LCAyMjYsIDEwNSwgMTEsIDIzLCAxMzMsIDYsIDIyNCwgOTYsIDExLCAyMywgMTMzLCA2LCAxNTMsIDExLCAyMywgCisgICAgMTMzLCA2LCAyMjIsIDkxLCAxMSwgMjMsIDEzMywgNiwgMjE3LCAxNTIsIDExLCAyMywgMTMzLCA2LCA3MCwgMTEsIDIzLCAKKyAgICAxMzMsIDYsIDIxNCwgMTA1LCAxMSwgMjMsIDEzMywgNiwgMjEyLCA5OCwgMTEsIDIzLCAxMzMsIDYsIDIxMSwgMTc4LCAxMSwgCisgICAgMjMsIDEzMywgNiwgMjExLCAxMTcsIDExLCAyMywgMTMzLCA2LCAyMTAsIDE1OSwgMTEsIDIzLCAxMzMsIDQsIDYxLCAxMSwgCisgICAgMjMsIDEzMywgNCwgMjUzLCAxNTgsIDExLCAyMywgMTMzLCA0LCAyNTEsIDY2LCAxMSwgMjMsIDEzMywgNCwgMjQ5LCA2MCwgCisgICAgMTEsIDIzLCAxMzMsIDQsIDc1LCAxMSwgMjMsIDEzMywgNCwgMjQ1LCA2LCAxMSwgMjMsIDEzMywgNCwgMjQzLCAyMDIsIDExLCAKKyAgICAyMywgMTMzLCA0LCAyNDIsIDYwLCAxMSwgMjMsIDEzMywgNCwgNzMsIDExLCAyMywgMTMzLCA0LCAyMzUsIDE0NCwgMTEsIAorICAgIDIzLCAxMzMsIDQsIDIzNSwgMjMsIDExLCAyMywgMTMzLCA0LCAxNTYsIDExLCAyMywgMTMzLCA0LCAxOTMsIDExLCAyMywgCisgICAgMTMzLCA0LCAyMzAsIDI1LCAxMSwgMjMsIDEzMywgNCwgNzYsIDExLCAyMywgMTMzLCA0LCAyMjYsIDEwNSwgMTEsIDIzLCAKKyAgICAxMzMsIDQsIDIyNCwgOTYsIDExLCAyMywgMTMzLCA0LCAxNTMsIDExLCAyMywgMTMzLCA0LCAyMjIsIDkxLCAxMSwgMjMsIAorICAgIDEzMywgNCwgMjE3LCAxNTIsIDExLCAyMywgMTMzLCA0LCA3MCwgMTEsIDIzLCAxMzMsIDQsIDIxNCwgMTA1LCAxMSwgMjMsIAorICAgIDEzMywgNCwgMjEyLCA5OCwgMTEsIDIzLCAxMzMsIDQsIDIxMSwgMTc4LCAxMSwgMjMsIDEzMywgNCwgMjExLCAxMTcsIDExLCAKKyAgICAyMywgMTMzLCA0LCAyMTAsIDE1OSwgMTEsIDM1LCA2LCA2MSwgMTEsIDM1LCA2LCAyNTMsIDE1OCwgMTEsIDM1LCA2LCAyNTEsIAorICAgIDY2LCAxMSwgMzUsIDYsIDI0OSwgNjAsIDExLCAzNSwgNiwgNzUsIDExLCAzNSwgNiwgMjQ1LCA2LCAxMSwgMzUsIDYsIDI0MywgCisgICAgMjAyLCAxMSwgMzUsIDYsIDI0MiwgNjAsIDExLCAzNSwgNiwgNzMsIDExLCAzNSwgNiwgMjM1LCAxNDQsIDExLCAzNSwgNiwgCisgICAgMjM1LCAyMywgMTEsIDM1LCA2LCAxNTYsIDExLCAzNSwgNiwgMTkzLCAxMSwgMzUsIDYsIDIzMCwgMjUsIDExLCAzNSwgNiwgCisgICAgNzYsIDExLCAzNSwgNiwgMjI2LCAxMDUsIDExLCAzNSwgNiwgMjI0LCA5NiwgMTEsIDM1LCA2LCAxNTMsIDExLCAzNSwgNiwgCisgICAgMjIyLCA5MSwgMTEsIDM1LCA2LCAyMTcsIDE1MiwgMTEsIDM1LCA2LCA3MCwgMTEsIDM1LCA2LCAyMTQsIDEwNSwgMTEsIDM1LCAKKyAgICA2LCAyMTIsIDk4LCAxMSwgMzUsIDYsIDIxMSwgMTc4LCAxMSwgMzUsIDYsIDIxMSwgMTE3LCAxMSwgMzUsIDYsIDIxMCwgCisgICAgMTU5LCAxMSwgMzUsIDQsIDYxLCAxMSwgMzUsIDQsIDI1MywgMTU4LCAxMSwgMzUsIDQsIDI1MSwgNjYsIDExLCAzNSwgNCwgCisgICAgMjQ5LCA2MCwgMTEsIDM1LCA0LCA3NSwgMTEsIDM1LCA0LCAyNDUsIDYsIDExLCAzNSwgNCwgMjQzLCAyMDIsIDExLCAzNSwgCisgICAgNCwgMjQyLCA2MCwgMTEsIDM1LCA0LCA3MywgMTEsIDM1LCA0LCAyMzUsIDE0NCwgMTEsIDM1LCA0LCAyMzUsIDIzLCAxMSwgCisgICAgMzUsIDQsIDE1NiwgMTEsIDM1LCA0LCAxOTMsIDExLCAzNSwgNCwgMjMwLCAyNSwgMTEsIDM1LCA0LCA3NiwgMTEsIDM1LCA0LCAKKyAgICAyMjYsIDEwNSwgMTEsIDM1LCA0LCAyMjQsIDk2LCAxMSwgMzUsIDQsIDE1MywgMTEsIDM1LCA0LCAyMjIsIDkxLCAxMSwgMzUsIAorICAgIDQsIDIxNywgMTUyLCAxMSwgMzUsIDQsIDcwLCAxMSwgMzUsIDQsIDIxNCwgMTA1LCAxMSwgMzUsIDQsIDIxMiwgOTgsIDExLCAKKyAgICAzNSwgNCwgMjExLCAxNzgsIDExLCAzNSwgNCwgMjExLCAxMTcsIDExLCAzNSwgNCwgMjEwLCAxNTksIDExLCAzNSwgMjMsIDYsIAorICAgIDYxLCAxMSwgMzUsIDIzLCA2LCAyNTMsIDE1OCwgMTEsIDM1LCAyMywgNiwgMjUxLCA2NiwgMTEsIDM1LCAyMywgNiwgMjQ5LCAKKyAgICA2MCwgMTEsIDM1LCAyMywgNiwgNzUsIDExLCAzNSwgMjMsIDYsIDI0NSwgNiwgMTEsIDM1LCAyMywgNiwgMjQzLCAyMDIsIAorICAgIDExLCAzNSwgMjMsIDYsIDI0MiwgNjAsIDExLCAzNSwgMjMsIDYsIDczLCAxMSwgMzUsIDIzLCA2LCAyMzUsIDE0NCwgMTEsIAorICAgIDM1LCAyMywgNiwgMjM1LCAyMywgMTEsIDM1LCAyMywgNiwgMTU2LCAxMSwgMzUsIDIzLCA2LCAxOTMsIDExLCAzNSwgMjMsIAorICAgIDYsIDIzMCwgMjUsIDExLCAzNSwgMjMsIDYsIDc2LCAxMSwgMzUsIDIzLCA2LCAyMjYsIDEwNSwgMTEsIDM1LCAyMywgNiwgCisgICAgMjI0LCA5NiwgMTEsIDM1LCAyMywgNiwgMTUzLCAxMSwgMzUsIDIzLCA2LCAyMjIsIDkxLCAxMSwgMzUsIDIzLCA2LCAyMTcsIAorICAgIDE1MiwgMTEsIDM1LCAyMywgNiwgNzAsIDExLCAzNSwgMjMsIDYsIDIxNCwgMTA1LCAxMSwgMzUsIDIzLCA2LCAyMTIsIDk4LCAKKyAgICAxMSwgMzUsIDIzLCA2LCAyMTEsIDE3OCwgMTEsIDM1LCAyMywgNiwgMjExLCAxMTcsIDExLCAzNSwgMjMsIDYsIDIxMCwgCisgICAgMTU5LCAxMSwgMzUsIDIzLCA0LCA2MSwgMTEsIDM1LCAyMywgNCwgMjUzLCAxNTgsIDExLCAzNSwgMjMsIDQsIDI1MSwgNjYsIAorICAgIDExLCAzNSwgMjMsIDQsIDI0OSwgNjAsIDExLCAzNSwgMjMsIDQsIDc1LCAxMSwgMzUsIDIzLCA0LCAyNDUsIDYsIDExLCAzNSwgCisgICAgMjMsIDQsIDI0MywgMjAyLCAxMSwgMzUsIDIzLCA0LCAyNDIsIDYwLCAxMSwgMzUsIDIzLCA0LCA3MywgMTEsIDM1LCAyMywgCisgICAgNCwgMjM1LCAxNDQsIDExLCAzNSwgMjMsIDQsIDIzNSwgMjMsIDExLCAzNSwgMjMsIDQsIDE1NiwgMTEsIDM1LCAyMywgNCwgCisgICAgMTkzLCAxMSwgMzUsIDIzLCA0LCAyMzAsIDI1LCAxMSwgMzUsIDIzLCA0LCA3NiwgMTEsIDM1LCAyMywgNCwgMjI2LCAxMDUsIAorICAgIDExLCAzNSwgMjMsIDQsIDIyNCwgOTYsIDExLCAzNSwgMjMsIDQsIDE1MywgMTEsIDM1LCAyMywgNCwgMjIyLCA5MSwgMTEsIAorICAgIDM1LCAyMywgNCwgMjE3LCAxNTIsIDExLCAzNSwgMjMsIDQsIDcwLCAxMSwgMzUsIDIzLCA0LCAyMTQsIDEwNSwgMTEsIDM1LCAKKyAgICAyMywgNCwgMjEyLCA5OCwgMTEsIDM1LCAyMywgNCwgMjExLCAxNzgsIDExLCAzNSwgMjMsIDQsIDIxMSwgMTE3LCAxMSwgMzUsIAorICAgIDIzLCA0LCAyMTAsIDE1OSwgMTEsIDM1LCAzMiwgNiwgNjEsIDExLCAzNSwgMzIsIDYsIDI1MywgMTU4LCAxMSwgMzUsIDMyLCAKKyAgICA2LCAyNTEsIDY2LCAxMSwgMzUsIDMyLCA2LCAyNDksIDYwLCAxMSwgMzUsIDMyLCA2LCA3NSwgMTEsIDM1LCAzMiwgNiwgCisgICAgMjQ1LCA2LCAxMSwgMzUsIDMyLCA2LCAyNDMsIDIwMiwgMTEsIDM1LCAzMiwgNiwgMjQyLCA2MCwgMTEsIDM1LCAzMiwgNiwgCisgICAgNzMsIDExLCAzNSwgMzIsIDYsIDIzNSwgMTQ0LCAxMSwgMzUsIDMyLCA2LCAyMzUsIDIzLCAxMSwgMzUsIDMyLCA2LCAxNTYsIAorICAgIDExLCAzNSwgMzIsIDYsIDE5MywgMTEsIDM1LCAzMiwgNiwgMjMwLCAyNSwgMTEsIDM1LCAzMiwgNiwgNzYsIDExLCAzNSwgCisgICAgMzIsIDYsIDIyNiwgMTA1LCAxMSwgMzUsIDMyLCA2LCAyMjQsIDk2LCAxMSwgMzUsIDMyLCA2LCAxNTMsIDExLCAzNSwgMzIsIAorICAgIDYsIDIyMiwgOTEsIDExLCAzNSwgMzIsIDYsIDIxNywgMTUyLCAxMSwgMzUsIDMyLCA2LCA3MCwgMTEsIDM1LCAzMiwgNiwgCisgICAgMjE0LCAxMDUsIDExLCAzNSwgMzIsIDYsIDIxMiwgOTgsIDExLCAzNSwgMzIsIDYsIDIxMSwgMTc4LCAxMSwgMzUsIDMyLCA2LCAKKyAgICAyMTEsIDExNywgMTEsIDM1LCAzMiwgNiwgMjEwLCAxNTksIDExLCAzNSwgMzIsIDQsIDYxLCAxMSwgMzUsIDMyLCA0LCAyNTMsIAorICAgIDE1OCwgMTEsIDM1LCAzMiwgNCwgMjUxLCA2NiwgMTEsIDM1LCAzMiwgNCwgMjQ5LCA2MCwgMTEsIDM1LCAzMiwgNCwgNzUsIAorICAgIDExLCAzNSwgMzIsIDQsIDI0NSwgNiwgMTEsIDM1LCAzMiwgNCwgMjQzLCAyMDIsIDExLCAzNSwgMzIsIDQsIDI0MiwgNjAsIAorICAgIDExLCAzNSwgMzIsIDQsIDczLCAxMSwgMzUsIDMyLCA0LCAyMzUsIDE0NCwgMTEsIDM1LCAzMiwgNCwgMjM1LCAyMywgMTEsIAorICAgIDM1LCAzMiwgNCwgMTU2LCAxMSwgMzUsIDMyLCA0LCAxOTMsIDExLCAzNSwgMzIsIDQsIDIzMCwgMjUsIDExLCAzNSwgMzIsIAorICAgIDQsIDc2LCAxMSwgMzUsIDMyLCA0LCAyMjYsIDEwNSwgMTEsIDM1LCAzMiwgNCwgMjI0LCA5NiwgMTEsIDM1LCAzMiwgNCwgCisgICAgMTUzLCAxMSwgMzUsIDMyLCA0LCAyMjIsIDkxLCAxMSwgMzUsIDMyLCA0LCAyMTcsIDE1MiwgMTEsIDM1LCAzMiwgNCwgNzAsIAorICAgIDExLCAzNSwgMzIsIDQsIDIxNCwgMTA1LCAxMSwgMzUsIDMyLCA0LCAyMTIsIDk4LCAxMSwgMzUsIDMyLCA0LCAyMTEsIDE3OCwgCisgICAgMTEsIDM1LCAzMiwgNCwgMjExLCAxMTcsIDExLCAzNSwgMzIsIDQsIDIxMCwgMTU5LCAxMSwgMzUsIDIzLCAzMiwgNiwgNjEsIAorICAgIDExLCAzNSwgMjMsIDMyLCA2LCAyNTMsIDE1OCwgMTEsIDM1LCAyMywgMzIsIDYsIDI1MSwgNjYsIDExLCAzNSwgMjMsIDMyLCAKKyAgICA2LCAyNDksIDYwLCAxMSwgMzUsIDIzLCAzMiwgNiwgNzUsIDExLCAzNSwgMjMsIDMyLCA2LCAyNDUsIDYsIDExLCAzNSwgMjMsIAorICAgIDMyLCA2LCAyNDMsIDIwMiwgMTEsIDM1LCAyMywgMzIsIDYsIDI0MiwgNjAsIDExLCAzNSwgMjMsIDMyLCA2LCA3MywgMTEsIAorICAgIDM1LCAyMywgMzIsIDYsIDIzNSwgMTQ0LCAxMSwgMzUsIDIzLCAzMiwgNiwgMjM1LCAyMywgMTEsIDM1LCAyMywgMzIsIDYsIAorICAgIDE1NiwgMTEsIDM1LCAyMywgMzIsIDYsIDE5MywgMTEsIDM1LCAyMywgMzIsIDYsIDIzMCwgMjUsIDExLCAzNSwgMjMsIDMyLCAKKyAgICA2LCA3NiwgMTEsIDM1LCAyMywgMzIsIDYsIDIyNiwgMTA1LCAxMSwgMzUsIDIzLCAzMiwgNiwgMjI0LCA5NiwgMTEsIDM1LCAKKyAgICAyMywgMzIsIDYsIDE1MywgMTEsIDM1LCAyMywgMzIsIDYsIDIyMiwgOTEsIDExLCAzNSwgMjMsIDMyLCA2LCAyMTcsIDE1MiwgCisgICAgMTEsIDM1LCAyMywgMzIsIDYsIDcwLCAxMSwgMzUsIDIzLCAzMiwgNiwgMjE0LCAxMDUsIDExLCAzNSwgMjMsIDMyLCA2LCAKKyAgICAyMTIsIDk4LCAxMSwgMzUsIDIzLCAzMiwgNiwgMjExLCAxNzgsIDExLCAzNSwgMjMsIDMyLCA2LCAyMTEsIDExNywgMTEsIAorICAgIDM1LCAyMywgMzIsIDYsIDIxMCwgMTU5LCAxMSwgMzUsIDIzLCAzMiwgNCwgNjEsIDExLCAzNSwgMjMsIDMyLCA0LCAyNTMsIAorICAgIDE1OCwgMTEsIDM1LCAyMywgMzIsIDQsIDI1MSwgNjYsIDExLCAzNSwgMjMsIDMyLCA0LCAyNDksIDYwLCAxMSwgMzUsIDIzLCAKKyAgICAzMiwgNCwgNzUsIDExLCAzNSwgMjMsIDMyLCA0LCAyNDUsIDYsIDExLCAzNSwgMjMsIDMyLCA0LCAyNDMsIDIwMiwgMTEsIAorICAgIDM1LCAyMywgMzIsIDQsIDI0MiwgNjAsIDExLCAzNSwgMjMsIDMyLCA0LCA3MywgMTEsIDM1LCAyMywgMzIsIDQsIDIzNSwgCisgICAgMTQ0LCAxMSwgMzUsIDIzLCAzMiwgNCwgMjM1LCAyMywgMTEsIDM1LCAyMywgMzIsIDQsIDE1NiwgMTEsIDM1LCAyMywgMzIsIAorICAgIDQsIDE5MywgMTEsIDM1LCAyMywgMzIsIDQsIDIzMCwgMjUsIDExLCAzNSwgMjMsIDMyLCA0LCA3NiwgMTEsIDM1LCAyMywgCisgICAgMzIsIDQsIDIyNiwgMTA1LCAxMSwgMzUsIDIzLCAzMiwgNCwgMjI0LCA5NiwgMTEsIDM1LCAyMywgMzIsIDQsIDE1MywgMTEsIAorICAgIDM1LCAyMywgMzIsIDQsIDIyMiwgOTEsIDExLCAzNSwgMjMsIDMyLCA0LCAyMTcsIDE1MiwgMTEsIDM1LCAyMywgMzIsIDQsIAorICAgIDcwLCAxMSwgMzUsIDIzLCAzMiwgNCwgMjE0LCAxMDUsIDExLCAzNSwgMjMsIDMyLCA0LCAyMTIsIDk4LCAxMSwgMzUsIDIzLCAKKyAgICAzMiwgNCwgMjExLCAxNzgsIDExLCAzNSwgMjMsIDMyLCA0LCAyMTEsIDExNywgMTEsIDM1LCAyMywgMzIsIDQsIDIxMCwgCisgICAgMTU5LCAxMSwgMjMwLCAxMzgsIDYsIDYxLCAxMSwgMjMwLCAxMzgsIDYsIDI1MywgMTU4LCAxMSwgMjMwLCAxMzgsIDYsIAorICAgIDI1MSwgNjYsIDExLCAyMzAsIDEzOCwgNiwgMjQ5LCA2MCwgMTEsIDIzMCwgMTM4LCA2LCA3NSwgMTEsIDIzMCwgMTM4LCA2LCAKKyAgICAyNDUsIDYsIDExLCAyMzAsIDEzOCwgNiwgMjQzLCAyMDIsIDExLCAyMzAsIDEzOCwgNiwgMjQyLCA2MCwgMTEsIDIzMCwgCisgICAgMTM4LCA2LCA3MywgMTEsIDIzMCwgMTM4LCA2LCAyMzUsIDE0NCwgMTEsIDIzMCwgMTM4LCA2LCAyMzUsIDIzLCAxMSwgMjMwLCAKKyAgICAxMzgsIDYsIDE1NiwgMTEsIDIzMCwgMTM4LCA2LCAxOTMsIDExLCAyMzAsIDEzOCwgNiwgMjMwLCAyNSwgMTEsIDIzMCwgCisgICAgMTM4LCA2LCA3NiwgMTEsIDIzMCwgMTM4LCA2LCAyMjYsIDEwNSwgMTEsIDIzMCwgMTM4LCA2LCAyMjQsIDk2LCAxMSwgMjMwLCAKKyAgICAxMzgsIDYsIDE1MywgMTEsIDIzMCwgMTM4LCA2LCAyMjIsIDkxLCAxMSwgMjMwLCAxMzgsIDYsIDIxNywgMTUyLCAxMSwgCisgICAgMjMwLCAxMzgsIDYsIDcwLCAxMSwgMjMwLCAxMzgsIDYsIDIxNCwgMTA1LCAxMSwgMjMwLCAxMzgsIDYsIDIxMiwgOTgsIDExLCAKKyAgICAyMzAsIDEzOCwgNiwgMjExLCAxNzgsIDExLCAyMzAsIDEzOCwgNiwgMjExLCAxMTcsIDExLCAyMzAsIDEzOCwgNiwgMjEwLCAKKyAgICAxNTksIDExLCAyMzAsIDEzOCwgNCwgNjEsIDExLCAyMzAsIDEzOCwgNCwgMjUzLCAxNTgsIDExLCAyMzAsIDEzOCwgNCwgCisgICAgMjUxLCA2NiwgMTEsIDIzMCwgMTM4LCA0LCAyNDksIDYwLCAxMSwgMjMwLCAxMzgsIDQsIDc1LCAxMSwgMjMwLCAxMzgsIDQsIAorICAgIDI0NSwgNiwgMTEsIDIzMCwgMTM4LCA0LCAyNDMsIDIwMiwgMTEsIDIzMCwgMTM4LCA0LCAyNDIsIDYwLCAxMSwgMjMwLCAKKyAgICAxMzgsIDQsIDczLCAxMSwgMjMwLCAxMzgsIDQsIDIzNSwgMTQ0LCAxMSwgMjMwLCAxMzgsIDQsIDIzNSwgMjMsIDExLCAyMzAsIAorICAgIDEzOCwgNCwgMTU2LCAxMSwgMjMwLCAxMzgsIDQsIDE5MywgMTEsIDIzMCwgMTM4LCA0LCAyMzAsIDI1LCAxMSwgMjMwLCAKKyAgICAxMzgsIDQsIDc2LCAxMSwgMjMwLCAxMzgsIDQsIDIyNiwgMTA1LCAxMSwgMjMwLCAxMzgsIDQsIDIyNCwgOTYsIDExLCAyMzAsIAorICAgIDEzOCwgNCwgMTUzLCAxMSwgMjMwLCAxMzgsIDQsIDIyMiwgOTEsIDExLCAyMzAsIDEzOCwgNCwgMjE3LCAxNTIsIDExLCAKKyAgICAyMzAsIDEzOCwgNCwgNzAsIDExLCAyMzAsIDEzOCwgNCwgMjE0LCAxMDUsIDExLCAyMzAsIDEzOCwgNCwgMjEyLCA5OCwgMTEsIAorICAgIDIzMCwgMTM4LCA0LCAyMTEsIDE3OCwgMTEsIDIzMCwgMTM4LCA0LCAyMTEsIDExNywgMTEsIDIzMCwgMTM4LCA0LCAyMTAsIAorICAgIDE1OSwgMTEsIDMyLCA0LCAyNDcsIDExOSwgNzMsIDExLCAzMiwgNCwgMjQ3LCAxMTksIDIzNSwgMTQ0LCAxMSwgMjMsIDYsIAorICAgIDI1NCwgMTQzLCAxMSwgMjMsIDYsIDI1MiwgMjYsIDExLCAyMywgNiwgMjQzLCAxMDcsIDExLCAyMywgNiwgMjQ4LCA1NCwgCisgICAgMTEsIDIzLCA2LCAyNDUsIDEwMCwgMTEsIDIzLCA2LCAyMTAsIDg1LCAxMSwgMjMsIDYsIDI0NSwgNjMsIDExLCAyMywgNiwgCisgICAgMjE2LCAxNzksIDExLCAyMywgNiwgMjM1LCAxODUsIDExLCAyMywgNiwgMjM0LCAyMjIsIDExLCAyMywgNiwgMjMzLCA5OCwgCisgICAgMTEsIDIzLCA2LCAyMzAsIDEwMiwgMTEsIDIzLCA2LCAyMjcsIDIzNywgMTEsIDIzLCA2LCAyMTEsIDE1NywgMTEsIDIzLCA2LCAKKyAgICAyMjYsIDE5OSwgMTEsIDIzLCA2LCAyMjUsIDEwOCwgMTEsIDIzLCA2LCAyMjMsIDM3LCAxMSwgMjMsIDYsIDIxNiwgMTgwLCAKKyAgICA4NywgMTEsIDIzLCA2LCAyMTksIDE3NywgMTEsIDIzLCA2LCAyMTcsIDQxLCAxMSwgMjMsIDYsIDIxNCwgMTU3LCAxMSwgMjMsIAorICAgIDYsIDIyNSwgMTMzLCAxMSwgMjMsIDYsIDI1MCwgMTEwLCAxMSwgMjMsIDYsIDIyNCwgMTYxLCAxMSwgMjMsIDYsIDIyNiwgCisgICAgMjAxLCAxMSwgMjMsIDIyOSwgMjIxLCAxMSwgMjMsIDQsIDI1NCwgMTQzLCAxMSwgMjMsIDQsIDI1MiwgMjYsIDExLCAyMywgCisgICAgNCwgMjQzLCAxMDcsIDExLCAyMywgNCwgMjQ4LCA1NCwgMTEsIDIzLCA0LCAyNDUsIDEwMCwgMTEsIDIzLCA0LCAyMTAsIDg1LCAKKyAgICAxMSwgMjMsIDQsIDI0NSwgNjMsIDExLCAyMywgNCwgMjE2LCAxNzksIDExLCAyMywgNCwgMjM1LCAxODUsIDExLCAyMywgNCwgCisgICAgMjM0LCAyMjIsIDExLCAyMywgNCwgMjMzLCA5OCwgMTEsIDIzLCA0LCAyMzAsIDEwMiwgMTEsIDIzLCA0LCAyMjcsIDIzNywgCisgICAgMTEsIDIzLCA0LCAyMTEsIDE1NywgMTEsIDIzLCA0LCAyMjYsIDE5OSwgMTEsIDIzLCA0LCAyMjUsIDEwOCwgMTEsIDIzLCA0LCAKKyAgICAyMjMsIDM3LCAxMSwgMjMsIDQsIDQwLCAyMTksIDE3NywgMTEsIDIzLCA0LCAyMTksIDE3NywgMTEsIDIzLCA0LCAyMTcsIAorICAgIDQxLCAxMSwgMjMsIDQsIDIxNCwgMTU3LCAxMSwgMjMsIDQsIDIyNSwgMTMzLCAxMSwgMjMsIDQsIDI1MCwgMTEwLCAxMSwgCisgICAgMjMsIDQsIDIyNCwgMTYxLCAxMSwgMjMsIDQsIDIyNiwgMjAxLCAxMSwgMjMsIDIyNSwgMjUzLCAyNDcsIDIzMywgMTEsIDIzLCAKKyAgICAyNDUsIDEwMSwgODcsIDExLCAyMywgMjE2LCAxODAsIDg3LCAxMSwgMjMsIDIzNCwgMjIzLCA4NywgMTEsIDIzLCAyMjUsIAorICAgIDEzNCwgODcsIDExLCAyMywgMjIzLCAzOCwgODcsIDExLCAyMywgMjI1LCAxMDksIDg3LCAxMSwgMzIsIDYsIDI1NCwgMTQzLCAKKyAgICAxMSwgMzIsIDYsIDI1MiwgMjYsIDExLCAzMiwgNiwgMjQzLCAxMDcsIDExLCAzMiwgNiwgMjQ4LCA1NCwgMTEsIDMyLCA2LCAKKyAgICAyNDUsIDEwMCwgMTEsIDMyLCA2LCAyMTAsIDg1LCAxMSwgMzIsIDYsIDI0NSwgNjMsIDExLCAzMiwgNiwgMjE2LCAxNzksIAorICAgIDExLCAzMiwgNiwgMjM1LCAxODUsIDExLCAzMiwgNiwgMjM0LCAyMjIsIDExLCAzMiwgNiwgMjMzLCA5OCwgMTEsIDMyLCA2LCAKKyAgICAyMzAsIDEwMiwgMTEsIDMyLCA2LCAyMjcsIDIzNywgMTEsIDMyLCA2LCAyMTEsIDE1NywgMTEsIDMyLCA2LCAyMjYsIDE5OSwgCisgICAgMTEsIDMyLCA2LCAyMjUsIDEwOCwgMTEsIDMyLCA2LCAyMjMsIDM3LCAxMSwgMzIsIDYsIDIxNiwgMTgwLCA4NywgMTEsIDMyLCAKKyAgICA2LCAyMTksIDE3NywgMTEsIDMyLCA2LCAyMTcsIDQxLCAxMSwgMzIsIDYsIDIxNCwgMTU3LCAxMSwgMzIsIDYsIDIyNSwgCisgICAgMTMzLCAxMSwgMzIsIDYsIDI1MCwgMTEwLCAxMSwgMzIsIDYsIDIyNCwgMTYxLCAxMSwgMzIsIDYsIDIyNiwgMjAxLCAxMSwgCisgICAgMzIsIDIyOSwgMjIxLCAxMSwgMzIsIDQsIDI1NCwgMTQzLCAxMSwgMzIsIDQsIDI1MiwgMjYsIDExLCAzMiwgNCwgMjQzLCAKKyAgICAxMDcsIDExLCAzMiwgNCwgMjQ4LCA1NCwgMTEsIDMyLCA0LCAyNDUsIDEwMCwgMTEsIDMyLCA0LCAyMTAsIDg1LCAxMSwgMzIsIAorICAgIDQsIDI0NSwgNjMsIDExLCAzMiwgNCwgMjE2LCAxNzksIDExLCAzMiwgNCwgMjM1LCAxODUsIDExLCAzMiwgNCwgMjM0LCAKKyAgICAyMjIsIDExLCAzMiwgNCwgMjMzLCA5OCwgMTEsIDMyLCA0LCAyMzAsIDEwMiwgMTEsIDMyLCA0LCAyMjcsIDIzNywgMTEsIAorICAgIDMyLCA0LCAyMTEsIDE1NywgMTEsIDMyLCA0LCAyMjYsIDE5OSwgMTEsIDMyLCA0LCAyMjUsIDEwOCwgMTEsIDMyLCA0LCAKKyAgICAyMjMsIDM3LCAxMSwgMzIsIDQsIDQwLCAyMTksIDE3NywgMTEsIDMyLCA0LCAyMTksIDE3NywgMTEsIDMyLCA0LCAyMTcsIAorICAgIDQxLCAxMSwgMzIsIDQsIDIxNCwgMTU3LCAxMSwgMzIsIDQsIDIyNSwgMTMzLCAxMSwgMzIsIDQsIDI1MCwgMTEwLCAxMSwgCisgICAgMzIsIDQsIDIyNCwgMTYxLCAxMSwgMzIsIDQsIDIyNiwgMjAxLCAxMSwgMzIsIDIyNSwgMjUzLCAyNDcsIDIzMywgMTEsIDMyLCAKKyAgICAyNDUsIDEwMSwgODcsIDExLCAzMiwgMjE2LCAxODAsIDg3LCAxMSwgMzIsIDIzNCwgMjIzLCA4NywgMTEsIDMyLCAyMjUsIAorICAgIDEzNCwgODcsIDExLCAzMiwgMjIzLCAzOCwgODcsIDExLCAzMiwgMjI1LCAxMDksIDg3LCAxMSwgMjMsIDMyLCA2LCAyNTQsIAorICAgIDE0MywgMTEsIDIzLCAzMiwgNiwgMjUyLCAyNiwgMTEsIDIzLCAzMiwgNiwgMjQzLCAxMDcsIDExLCAyMywgMzIsIDYsIDI0OCwgCisgICAgNTQsIDExLCAyMywgMzIsIDYsIDI0NSwgMTAwLCAxMSwgMjMsIDMyLCA2LCAyMTAsIDg1LCAxMSwgMjMsIDMyLCA2LCAyNDUsIAorICAgIDYzLCAxMSwgMjMsIDMyLCA2LCAyMTYsIDE3OSwgMTEsIDIzLCAzMiwgNiwgMjM1LCAxODUsIDExLCAyMywgMzIsIDYsIDIzNCwgCisgICAgMjIyLCAxMSwgMjMsIDMyLCA2LCAyMzMsIDk4LCAxMSwgMjMsIDMyLCA2LCAyMzAsIDEwMiwgMTEsIDIzLCAzMiwgNiwgMjI3LCAKKyAgICAyMzcsIDExLCAyMywgMzIsIDYsIDIxMSwgMTU3LCAxMSwgMjMsIDMyLCA2LCAyMjYsIDE5OSwgMTEsIDIzLCAzMiwgNiwgCisgICAgMjI1LCAxMDgsIDExLCAyMywgMzIsIDYsIDIyMywgMzcsIDExLCAyMywgMzIsIDYsIDIxNiwgMTgwLCA4NywgMTEsIDIzLCAKKyAgICAzMiwgNiwgMjE5LCAxNzcsIDExLCAyMywgMzIsIDYsIDIxNywgNDEsIDExLCAyMywgMzIsIDYsIDIxNCwgMTU3LCAxMSwgMjMsIAorICAgIDMyLCA2LCAyMjUsIDEzMywgMTEsIDIzLCAzMiwgNiwgMjUwLCAxMTAsIDExLCAyMywgMzIsIDYsIDIyNCwgMTYxLCAxMSwgCisgICAgMjMsIDMyLCA2LCAyMjYsIDIwMSwgMTEsIDIzLCAzMiwgMjI5LCAyMjEsIDExLCAyMywgMzIsIDQsIDI1NCwgMTQzLCAxMSwgCisgICAgMjMsIDMyLCA0LCAyNTIsIDI2LCAxMSwgMjMsIDMyLCA0LCAyNDMsIDEwNywgMTEsIDIzLCAzMiwgNCwgMjQ4LCA1NCwgMTEsIAorICAgIDIzLCAzMiwgNCwgMjQ1LCAxMDAsIDExLCAyMywgMzIsIDQsIDIxMCwgODUsIDExLCAyMywgMzIsIDQsIDI0NSwgNjMsIDExLCAKKyAgICAyMywgMzIsIDQsIDIxNiwgMTc5LCAxMSwgMjMsIDMyLCA0LCAyMzUsIDE4NSwgMTEsIDIzLCAzMiwgNCwgMjM0LCAyMjIsIAorICAgIDExLCAyMywgMzIsIDQsIDIzMywgOTgsIDExLCAyMywgMzIsIDQsIDIzMCwgMTAyLCAxMSwgMjMsIDMyLCA0LCAyMjcsIDIzNywgCisgICAgMTEsIDIzLCAzMiwgNCwgMjExLCAxNTcsIDExLCAyMywgMzIsIDQsIDIyNiwgMTk5LCAxMSwgMjMsIDMyLCA0LCAyMjUsIAorICAgIDEwOCwgMTEsIDIzLCAzMiwgNCwgMjIzLCAzNywgMTEsIDIzLCAzMiwgNCwgNDAsIDIxOSwgMTc3LCAxMSwgMjMsIDMyLCA0LCAKKyAgICAyMTksIDE3NywgMTEsIDIzLCAzMiwgNCwgMjE3LCA0MSwgMTEsIDIzLCAzMiwgNCwgMjE0LCAxNTcsIDExLCAyMywgMzIsIDQsIAorICAgIDIyNSwgMTMzLCAxMSwgMjMsIDMyLCA0LCAyNTAsIDExMCwgMTEsIDIzLCAzMiwgNCwgMjI0LCAxNjEsIDExLCAyMywgMzIsIAorICAgIDQsIDIyNiwgMjAxLCAxMSwgMjMsIDMyLCAyMjUsIDI1MywgMjQ3LCAyMzMsIDExLCAyMywgMzIsIDI0NSwgMTAxLCA4NywgCisgICAgMTEsIDIzLCAzMiwgMjE2LCAxODAsIDg3LCAxMSwgMjMsIDMyLCAyMzQsIDIyMywgODcsIDExLCAyMywgMzIsIDIyNSwgMTM0LCAKKyAgICA4NywgMTEsIDIzLCAzMiwgMjIzLCAzOCwgODcsIDExLCAyMywgMzIsIDIyNSwgMTA5LCA4NywgMTEsIDM1LCAyMywgNiwgCisgICAgMjU0LCAxNDMsIDExLCAzNSwgMjMsIDYsIDI1MiwgMjYsIDExLCAzNSwgMjMsIDYsIDI0MywgMTA3LCAxMSwgMzUsIDIzLCA2LCAKKyAgICAyNDgsIDU0LCAxMSwgMzUsIDIzLCA2LCAyNDUsIDEwMCwgMTEsIDM1LCAyMywgNiwgMjEwLCA4NSwgMTEsIDM1LCAyMywgNiwgCisgICAgMjQ1LCA2MywgMTEsIDM1LCAyMywgNiwgMjE2LCAxNzksIDExLCAzNSwgMjMsIDYsIDIzNSwgMTg1LCAxMSwgMzUsIDIzLCA2LCAKKyAgICAyMzQsIDIyMiwgMTEsIDM1LCAyMywgNiwgMjMzLCA5OCwgMTEsIDM1LCAyMywgNiwgMjMwLCAxMDIsIDExLCAzNSwgMjMsIDYsIAorICAgIDIyNywgMjM3LCAxMSwgMzUsIDIzLCA2LCAyMTEsIDE1NywgMTEsIDM1LCAyMywgNiwgMjI2LCAxOTksIDExLCAzNSwgMjMsIAorICAgIDYsIDIyNSwgMTA4LCAxMSwgMzUsIDIzLCA2LCAyMjMsIDM3LCAxMSwgMzUsIDIzLCA2LCAyMTYsIDE4MCwgODcsIDExLCAzNSwgCisgICAgMjMsIDYsIDIxOSwgMTc3LCAxMSwgMzUsIDIzLCA2LCAyMTcsIDQxLCAxMSwgMzUsIDIzLCA2LCAyMTQsIDE1NywgMTEsIDM1LCAKKyAgICAyMywgNiwgMjI1LCAxMzMsIDExLCAzNSwgMjMsIDYsIDI1MCwgMTEwLCAxMSwgMzUsIDIzLCA2LCAyMjQsIDE2MSwgMTEsIAorICAgIDM1LCAyMywgNiwgMjI2LCAyMDEsIDExLCAzNSwgMjMsIDIyOSwgMjIxLCAxMSwgMzUsIDIzLCA0LCAyNTQsIDE0MywgMTEsIAorICAgIDM1LCAyMywgNCwgMjUyLCAyNiwgMTEsIDM1LCAyMywgNCwgMjQzLCAxMDcsIDExLCAzNSwgMjMsIDQsIDI0OCwgNTQsIDExLCAKKyAgICAzNSwgMjMsIDQsIDI0NSwgMTAwLCAxMSwgMzUsIDIzLCA0LCAyMTAsIDg1LCAxMSwgMzUsIDIzLCA0LCAyNDUsIDYzLCAxMSwgCisgICAgMzUsIDIzLCA0LCAyMTYsIDE3OSwgMTEsIDM1LCAyMywgNCwgMjM1LCAxODUsIDExLCAzNSwgMjMsIDQsIDIzNCwgMjIyLCAKKyAgICAxMSwgMzUsIDIzLCA0LCAyMzMsIDk4LCAxMSwgMzUsIDIzLCA0LCAyMzAsIDEwMiwgMTEsIDM1LCAyMywgNCwgMjI3LCAyMzcsIAorICAgIDExLCAzNSwgMjMsIDQsIDIxMSwgMTU3LCAxMSwgMzUsIDIzLCA0LCAyMjYsIDE5OSwgMTEsIDM1LCAyMywgNCwgMjI1LCAKKyAgICAxMDgsIDExLCAzNSwgMjMsIDQsIDIyMywgMzcsIDExLCAzNSwgMjMsIDQsIDQwLCAyMTksIDE3NywgMTEsIDM1LCAyMywgNCwgCisgICAgMjE5LCAxNzcsIDExLCAzNSwgMjMsIDQsIDIxNywgNDEsIDExLCAzNSwgMjMsIDQsIDIxNCwgMTU3LCAxMSwgMzUsIDIzLCA0LCAKKyAgICAyMjUsIDEzMywgMTEsIDM1LCAyMywgNCwgMjUwLCAxMTAsIDExLCAzNSwgMjMsIDQsIDIyNCwgMTYxLCAxMSwgMzUsIDIzLCAKKyAgICA0LCAyMjYsIDIwMSwgMTEsIDM1LCAyMywgMjI1LCAyNTMsIDI0NywgMjMzLCAxMSwgMzUsIDIzLCAyNDUsIDEwMSwgODcsIAorICAgIDExLCAzNSwgMjMsIDIxNiwgMTgwLCA4NywgMTEsIDM1LCAyMywgMjM0LCAyMjMsIDg3LCAxMSwgMzUsIDIzLCAyMjUsIDEzNCwgCisgICAgODcsIDExLCAzNSwgMjMsIDIyMywgMzgsIDg3LCAxMSwgMzUsIDIzLCAyMjUsIDEwOSwgODcsIDExLCAzNSwgMjMsIDMyLCA2LCAKKyAgICAyNTQsIDE0MywgMTEsIDM1LCAyMywgMzIsIDYsIDI1MiwgMjYsIDExLCAzNSwgMjMsIDMyLCA2LCAyNDMsIDEwNywgMTEsIAorICAgIDM1LCAyMywgMzIsIDYsIDI0OCwgNTQsIDExLCAzNSwgMjMsIDMyLCA2LCAyNDUsIDEwMCwgMTEsIDM1LCAyMywgMzIsIDYsIAorICAgIDIxMCwgODUsIDExLCAzNSwgMjMsIDMyLCA2LCAyNDUsIDYzLCAxMSwgMzUsIDIzLCAzMiwgNiwgMjE2LCAxNzksIDExLCAzNSwgCisgICAgMjMsIDMyLCA2LCAyMzUsIDE4NSwgMTEsIDM1LCAyMywgMzIsIDYsIDIzNCwgMjIyLCAxMSwgMzUsIDIzLCAzMiwgNiwgMjMzLCAKKyAgICA5OCwgMTEsIDM1LCAyMywgMzIsIDYsIDIzMCwgMTAyLCAxMSwgMzUsIDIzLCAzMiwgNiwgMjI3LCAyMzcsIDExLCAzNSwgMjMsIAorICAgIDMyLCA2LCAyMTEsIDE1NywgMTEsIDM1LCAyMywgMzIsIDYsIDIyNiwgMTk5LCAxMSwgMzUsIDIzLCAzMiwgNiwgMjI1LCAKKyAgICAxMDgsIDExLCAzNSwgMjMsIDMyLCA2LCAyMjMsIDM3LCAxMSwgMzUsIDIzLCAzMiwgNiwgMjE2LCAxODAsIDg3LCAxMSwgMzUsIAorICAgIDIzLCAzMiwgNiwgMjE5LCAxNzcsIDExLCAzNSwgMjMsIDMyLCA2LCAyMTcsIDQxLCAxMSwgMzUsIDIzLCAzMiwgNiwgMjE0LCAKKyAgICAxNTcsIDExLCAzNSwgMjMsIDMyLCA2LCAyMjUsIDEzMywgMTEsIDM1LCAyMywgMzIsIDYsIDI1MCwgMTEwLCAxMSwgMzUsIAorICAgIDIzLCAzMiwgNiwgMjI0LCAxNjEsIDExLCAzNSwgMjMsIDMyLCA2LCAyMjYsIDIwMSwgMTEsIDM1LCAyMywgMzIsIDIyOSwgCisgICAgMjIxLCAxMSwgMzUsIDIzLCAzMiwgNCwgMjU0LCAxNDMsIDExLCAzNSwgMjMsIDMyLCA0LCAyNTIsIDI2LCAxMSwgMzUsIDIzLCAKKyAgICAzMiwgNCwgMjQzLCAxMDcsIDExLCAzNSwgMjMsIDMyLCA0LCAyNDgsIDU0LCAxMSwgMzUsIDIzLCAzMiwgNCwgMjQ1LCAxMDAsIAorICAgIDExLCAzNSwgMjMsIDMyLCA0LCAyMTAsIDg1LCAxMSwgMzUsIDIzLCAzMiwgNCwgMjQ1LCA2MywgMTEsIDM1LCAyMywgMzIsIAorICAgIDQsIDIxNiwgMTc5LCAxMSwgMzUsIDIzLCAzMiwgNCwgMjM1LCAxODUsIDExLCAzNSwgMjMsIDMyLCA0LCAyMzQsIDIyMiwgCisgICAgMTEsIDM1LCAyMywgMzIsIDQsIDIzMywgOTgsIDExLCAzNSwgMjMsIDMyLCA0LCAyMzAsIDEwMiwgMTEsIDM1LCAyMywgMzIsIAorICAgIDQsIDIyNywgMjM3LCAxMSwgMzUsIDIzLCAzMiwgNCwgMjExLCAxNTcsIDExLCAzNSwgMjMsIDMyLCA0LCAyMjYsIDE5OSwgCisgICAgMTEsIDM1LCAyMywgMzIsIDQsIDIyNSwgMTA4LCAxMSwgMzUsIDIzLCAzMiwgNCwgMjIzLCAzNywgMTEsIDM1LCAyMywgMzIsIAorICAgIDQsIDQwLCAyMTksIDE3NywgMTEsIDM1LCAyMywgMzIsIDQsIDIxOSwgMTc3LCAxMSwgMzUsIDIzLCAzMiwgNCwgMjE3LCA0MSwgCisgICAgMTEsIDM1LCAyMywgMzIsIDQsIDIxNCwgMTU3LCAxMSwgMzUsIDIzLCAzMiwgNCwgMjI1LCAxMzMsIDExLCAzNSwgMjMsIDMyLCAKKyAgICA0LCAyNTAsIDExMCwgMTEsIDM1LCAyMywgMzIsIDQsIDIyNCwgMTYxLCAxMSwgMzUsIDIzLCAzMiwgNCwgMjI2LCAyMDEsIAorICAgIDExLCAzNSwgMjMsIDMyLCAyMjUsIDI1MywgMjQ3LCAyMzMsIDExLCAzNSwgMjMsIDMyLCAyNDUsIDEwMSwgODcsIDExLCAzNSwgCisgICAgMjMsIDMyLCAyMTYsIDE4MCwgODcsIDExLCAzNSwgMjMsIDMyLCAyMzQsIDIyMywgODcsIDExLCAzNSwgMjMsIDMyLCAyMjUsIAorICAgIDEzNCwgODcsIDExLCAzNSwgMjMsIDMyLCAyMjMsIDM4LCA4NywgMTEsIDM1LCAyMywgMzIsIDIyNSwgMTA5LCA4NywgMTEsIAorICAgIDIzLCA2LCAyNDcsIDIyNywgMTEsIDIzLCA0LCAyNDcsIDIyNywgMTEsIDIzLCAyMSwgMjEwLCA4NiwgMTEsIDIzLCAyMSwgCisgICAgMTEwLCAxMSwgMjMsIDIxLCAxMDUsIDExLCAyMywgMjEsIDE1OCwgMTEsIDIzLCAyMSwgMTYxLCAxMSwgMjMsIDIxLCAxODksIAorICAgIDExLCAyMywgMjEsIDE5NCwgMTEsIDIzLCAyMSwgMTk4LCAxMSwgMjMsIDIxLCAxOTUsIDExLCAyMywgMjEsIDIwMCwgMTEsIAorICAgIDEzOSwgMjEsIDIxMCwgODYsIDExLCAxMzksIDIxLCAxMTAsIDExLCAxMzksIDIxLCAxMDUsIDExLCAxMzksIDIxLCAxNTgsIAorICAgIDExLCAxMzksIDIxLCAxNjEsIDExLCAxMzksIDIxLCAxODksIDExLCAxMzksIDIxLCAxOTQsIDExLCAxMzksIDIxLCAxOTgsIAorICAgIDExLCAxMzksIDIxLCAxOTUsIDExLCAxMzksIDIxLCAyMDAsIDExLCAzNSwgMjEsIDIxMCwgODYsIDExLCAzNSwgMjEsIDExMCwgCisgICAgMTEsIDM1LCAyMSwgMTA1LCAxMSwgMzUsIDIxLCAxNTgsIDExLCAzNSwgMjEsIDE2MSwgMTEsIDM1LCAyMSwgMTg5LCAxMSwgCisgICAgMzUsIDIxLCAxOTQsIDExLCAzNSwgMjEsIDE5OCwgMTEsIDM1LCAyMSwgMTk1LCAxMSwgMzUsIDIxLCAyMDAsIDExLCAzNSwgCisgICAgMjMsIDIxLCAyMTAsIDg2LCAxMSwgMzUsIDIzLCAyMSwgMTEwLCAxMSwgMzUsIDIzLCAyMSwgMTA1LCAxMSwgMzUsIDIzLCAKKyAgICAyMSwgMTU4LCAxMSwgMzUsIDIzLCAyMSwgMTYxLCAxMSwgMzUsIDIzLCAyMSwgMTg5LCAxMSwgMzUsIDIzLCAyMSwgMTk0LCAKKyAgICAxMSwgMzUsIDIzLCAyMSwgMTk4LCAxMSwgMzUsIDIzLCAyMSwgMTk1LCAxMSwgMzUsIDIzLCAyMSwgMjAwLCAxMSwgMjMwLCAKKyAgICAxMzgsIDIxLCAyMTAsIDg2LCAxMSwgMjMwLCAxMzgsIDIxLCAxMTAsIDExLCAyMzAsIDEzOCwgMjEsIDEwNSwgMTEsIDIzMCwgCisgICAgMTM4LCAyMSwgMTU4LCAxMSwgMjMwLCAxMzgsIDIxLCAxNjEsIDExLCAyMzAsIDEzOCwgMjEsIDE4OSwgMTEsIDIzMCwgMTM4LCAKKyAgICAyMSwgMTk0LCAxMSwgMjMwLCAxMzgsIDIxLCAxOTgsIDExLCAyMzAsIDEzOCwgMjEsIDE5NSwgMTEsIDIzMCwgMTM4LCAyMSwgCisgICAgMjAwLCAxMCwgMTEsIDI1NCwgMTcwLCAxMCwgMTEsIDI1MiwgNTQsIDEwLCAxMSwgMjM1LCAxMjMsIDEwLCAxMSwgMjQ4LCAKKyAgICAxOTUsIDEwLCAxMSwgMjEyLCAzMCwgMTAsIDExLCAyMTAsIDEwOCwgMTAsIDExLCAyNDIsIDM3LCAxMCwgMTEsIDIxNywgODAsIAorICAgIDEwLCAxMSwgMjExLCA0MywgMTAsIDExLCAyMzQsIDI1MCwgMTAsIDExLCAyMzMsIDEwMiwgMTAsIDExLCAyMzEsIDc4LCAxMCwgCisgICAgMTEsIDIyOCwgNjIsIDEwLCAxMSwgMjIxLCAxNjYsIDEwLCAxMSwgMjU0LCAxOTYsIDEwLCAxMSwgMjQ0LCAxNDIsIDEwLCAKKyAgICAxMSwgMjIyLCAyNiwgMTAsIDExLCAyMjQsIDgxLCAxMCwgMTEsIDIyMywgOTUsIDEwLCAxMSwgMjIwLCA1OSwgMTAsIDExLCAKKyAgICAyMTcsIDcsIDEwLCAxMSwgMjE2LCAxOTIsIDEwLCAxMSwgMjM0LCAxMjksIDEwLCAxMSwgMjE2LCAyMDIsIDEwLCAxMSwgCisgICAgMjQ4LCAyMTYsIDEwLCAxMSwgMjEwLCAxMTEsIDEwLCAxMSwgMjQyLCAyNDQsIDEwLCAxMSwgMjQ3LCAxMTksIDI1MiwgNTQsIAorICAgIDEwLCAxMSwgMjQ3LCAxMTksIDIyOCwgNjIsIDEwLCAxMSwgMjQ3LCAxMTksIDI0NCwgMTQyLCAxMCwgMTEsIDI0NywgMTE5LCAKKyAgICAyMjQsIDgxLCAxMCwgMTEsIDY1LCAyNTIsIDU0LCAxMCwgMTEsIDY1LCAyMzUsIDEyMywgMTAsIDExLCA2NSwgMjQxLCAyMTgsIAorICAgIDEwLCAxMSwgNjUsIDI0MiwgMzcsIDEwLCAxMSwgNjUsIDIxMSwgNDMsIDEwLCAxMSwgNjUsIDIzNCwgMjUwLCAxMCwgMTEsIAorICAgIDY1LCAyMzMsIDEwMiwgMTAsIDExLCA2NSwgMjMxLCA3OCwgMTAsIDExLCA2NSwgMjI4LCA2MiwgMTAsIDExLCA2NSwgMjIxLCAKKyAgICAxNjYsIDEwLCAxMSwgNjUsIDI1NCwgMTk2LCAxMCwgMTEsIDY1LCAyNDQsIDE0MiwgMTAsIDExLCA2NSwgMjIyLCAyNiwgMTAsIAorICAgIDExLCA2NSwgMjI0LCA4MSwgMTAsIDExLCA2NSwgMjIwLCA1OSwgMTAsIDExLCA2NSwgMjE3LCA3LCAxMCwgMTEsIDY1LCAKKyAgICAyMTYsIDE5MiwgMTAsIDExLCA2NSwgMjM0LCAxMjksIDEwLCAxMSwgNjUsIDI0OCwgMjE2LCAxMCwgMTEsIDY1LCAyNDIsIAorICAgIDI0NCwgMTAsIDExLCAyMTcsIDc2LCAyMzUsIDEyMywgMTAsIDExLCAyMTcsIDc2LCAyNDIsIDM3LCAxMCwgMTEsIDIxNywgCisgICAgNzYsIDIxMSwgNDMsIDEwLCAxMSwgMjE3LCA3NiwgMjMzLCAxMDIsIDEwLCAxMSwgMjE3LCA3NiwgMjI4LCA2MiwgMTAsIDExLCAKKyAgICAyMTcsIDc2LCAyMjEsIDE2NiwgMTAsIDExLCAyMTcsIDc2LCAyNTQsIDE5NiwgMTAsIDExLCAyMTcsIDc2LCAyMjIsIDI2LCAKKyAgICAxMCwgMTEsIDIxNywgNzYsIDIyNCwgODEsIDEwLCAxMSwgMjE3LCA3NiwgMjIwLCA1OSwgMTAsIDExLCAyMTcsIDc2LCAyMzQsIAorICAgIDEyOSwgMTAsIDExLCAyMTcsIDc2LCAyNDgsIDIxNiwgMTAsIDExLCAyMTcsIDc2LCAyNDIsIDI0NCwgMTAsIDExLCAyMTcsIAorICAgIDc2LCAyNDcsIDExOSwgMjI4LCA2MiwgMTAsIDExLCAyMTcsIDc2LCAyNDcsIDExOSwgMjI0LCA4MSwgMTAsIDExLCAyMTgsIAorICAgIDExMCwgMjUyLCA1NCwgMTAsIDExLCAyMTgsIDExMCwgMjM1LCAxMjMsIDEwLCAxMSwgMjE4LCAxMTAsIDI0MSwgMjE4LCAxMCwgCisgICAgMTEsIDIxOCwgMTEwLCAyNDIsIDM3LCAxMCwgMTEsIDIxOCwgMTEwLCAyMTcsIDgwLCAxMCwgMTEsIDIxOCwgMTEwLCAyMTEsIAorICAgIDQzLCAxMCwgMTEsIDIxOCwgMTEwLCAyMzQsIDI1MCwgMTAsIDExLCAyMTgsIDExMCwgMjMxLCA3OCwgMTAsIDExLCAyMTgsIAorICAgIDExMCwgMjI4LCA2MiwgMTAsIDExLCAyMTgsIDExMCwgMjIxLCAxNjYsIDEwLCAxMSwgMjE4LCAxMTAsIDI1NCwgMTk2LCAxMCwgCisgICAgMTEsIDIxOCwgMTEwLCAyNDQsIDE0MiwgMTAsIDExLCAyMTgsIDExMCwgMjIyLCAyNiwgMTAsIDExLCAyMTgsIDExMCwgMjI0LCAKKyAgICA4MSwgMTAsIDExLCAyMTgsIDExMCwgMjIwLCA1OSwgMTAsIDExLCAyMTgsIDExMCwgMjE3LCA3LCAxMCwgMTEsIDIxOCwgCisgICAgMTEwLCAyMTYsIDE5MiwgMTAsIDExLCAyMTgsIDExMCwgMjM0LCAxMjksIDEwLCAxMSwgMjE4LCAxMTAsIDI0OCwgMjE2LCAKKyAgICAxMCwgMTEsIDIxOCwgMTEwLCAyMTAsIDExMSwgMTAsIDExLCAyMTgsIDExMCwgMjQyLCAyNDQsIDEwLCAxMSwgMjE4LCAxMTAsIAorICAgIDI0NywgMTE5LCAyNTIsIDU0LCAxMCwgMTEsIDIxOCwgMTEwLCAyNDcsIDExOSwgMjQ0LCAxNDIsIDEwLCAxMSwgMjMyLCAKKyAgICAxMjIsIDI1NCwgMTcwLCAxMCwgMTEsIDIzMiwgMTIyLCAyNTIsIDU0LCAxMCwgMTEsIDIzMiwgMTIyLCAyMzUsIDEyMywgMTAsIAorICAgIDExLCAyMzIsIDEyMiwgMjQ4LCAxOTUsIDEwLCAxMSwgMjMyLCAxMjIsIDI0MSwgMjE4LCAxMCwgMTEsIDIzMiwgMTIyLCAKKyAgICAyMTIsIDMwLCAxMCwgMTEsIDIzMiwgMTIyLCAyMTAsIDEwOCwgMTAsIDExLCAyMzIsIDEyMiwgMjQyLCAzNywgMTAsIDExLCAKKyAgICAyMzIsIDEyMiwgMjE3LCA4MCwgMTAsIDExLCAyMzIsIDEyMiwgMjExLCA0MywgMTAsIDExLCAyMzIsIDEyMiwgMjMzLCAxMDIsIAorICAgIDEwLCAxMSwgMjMyLCAxMjIsIDIzMSwgNzgsIDEwLCAxMSwgMjMyLCAxMjIsIDIyOCwgNjIsIDEwLCAxMSwgMjMyLCAxMjIsIAorICAgIDIyMSwgMTY2LCAxMCwgMTEsIDIzMiwgMTIyLCAyNTQsIDE5NiwgMTAsIDExLCAyMzIsIDEyMiwgMjQ0LCAxNDIsIDEwLCAxMSwgCisgICAgMjMyLCAxMjIsIDIyMiwgMjYsIDEwLCAxMSwgMjMyLCAxMjIsIDIyNCwgODEsIDEwLCAxMSwgMjMyLCAxMjIsIDIyMywgOTUsIAorICAgIDEwLCAxMSwgMjMyLCAxMjIsIDIyMCwgNTksIDEwLCAxMSwgMjMyLCAxMjIsIDIxNywgNywgMTAsIDExLCAyMzIsIDEyMiwgCisgICAgMjE2LCAxOTIsIDEwLCAxMSwgMjMyLCAxMjIsIDIzNCwgMTI5LCAxMCwgMTEsIDIzMiwgMTIyLCAyMTYsIDIwMiwgMTAsIDExLCAKKyAgICAyMzIsIDEyMiwgMjQ4LCAyMTYsIDEwLCAxMSwgMjMyLCAxMjIsIDIxMCwgMTExLCAxMCwgMTEsIDIzMiwgMTIyLCAyNDIsIAorICAgIDI0NCwgMTAsIDExLCAxMzksIDI1MiwgNTQsIDEwLCAxMSwgMTM5LCAyMzUsIDEyMywgMTAsIDExLCAxMzksIDI0OCwgMTk1LCAKKyAgICAxMCwgMTEsIDEzOSwgMjEyLCAzMCwgMTAsIDExLCAxMzksIDIxMCwgMTA4LCAxMCwgMTEsIDEzOSwgMjQyLCAzNywgMTAsIAorICAgIDExLCAxMzksIDIxNywgODAsIDEwLCAxMSwgMTM5LCAyMTEsIDQzLCAxMCwgMTEsIDEzOSwgMjMzLCAxMDIsIDEwLCAxMSwgCisgICAgMTM5LCAyMzEsIDc4LCAxMCwgMTEsIDEzOSwgMjI4LCA2MiwgMTAsIDExLCAxMzksIDIyMSwgMTY2LCAxMCwgMTEsIDEzOSwgCisgICAgMjU0LCAxOTYsIDEwLCAxMSwgMTM5LCAyNDQsIDE0MiwgMTAsIDExLCAxMzksIDIyMiwgMjYsIDEwLCAxMSwgMTM5LCAyMjQsIAorICAgIDgxLCAxMCwgMTEsIDEzOSwgMjIzLCA5NSwgMTAsIDExLCAxMzksIDIyMCwgNTksIDEwLCAxMSwgMTM5LCAyMTcsIDcsIDEwLCAKKyAgICAxMSwgMTM5LCAyMTYsIDE5MiwgMTAsIDExLCAxMzksIDIzNCwgMTI5LCAxMCwgMTEsIDEzOSwgMjE2LCAyMDIsIDEwLCAxMSwgCisgICAgMTM5LCAyNDgsIDIxNiwgMTAsIDExLCAxMzksIDIxMCwgMTExLCAxMCwgMTEsIDEzOSwgMjQyLCAyNDQsIDEwLCAxMSwgMjI2LCAKKyAgICAxNjgsIDY2LCAyLCAxMjIsIDIsIDIxNywgNDMsIDEwLCAxMSwgMjI2LCAxNjgsIDEyMiwgMiwgMjQ4LCAxOTUsIDIzMSwgCisgICAgMjA1LCA4NiwgMjQ1LCAyMjAsIDIxMSwgMjM5LCAyMzEsIDIwNSwgODYsIDIxOSwgMjgsIDIxMSwgMjM5LCAyMzEsIDIwNSwgCisgICAgODYsIDIxMiwgOSwgMjExLCAyMzksIDIzMSwgMjA1LCA4NiwgMjI4LCA1NiwgMjExLCAyMzksIDIzMSwgMjA1LCA4NiwgMjIzLCAKKyAgICAxMTEsIDI0NiwgOTYsIDIzMSwgMjA1LCA4NiwgMjQyLCAxMjcsIDI0NiwgOTYsIDIzMSwgMjA1LCA4NiwgNzEsIDI0NiwgOTYsIAorICAgIDIzMSwgMjA1LCA4NiwgMTIzLCA2NCwgMjUwLCAxNDEsIDIzMSwgMjA1LCA4NiwgMTEzLCA2NCwgMjUwLCAxNDEsIDIzMSwgCisgICAgMjA1LCA4NiwgMTM0LCA2NCwgMjUwLCAxNDEsIDIzMSwgMjA1LCA4NiwgMjQ0LCAxMSwgNjQsIDI1MCwgMTQxLCAyMzEsIAorICAgIDIwNSwgODYsIDI0NCwgODEsIDY0LCAyNTAsIDE0MSwgMjMxLCAyMDUsIDg2LCAyMTksIDEyNSwgNjQsIDI1MCwgMTQxLCAKKyAgICAyMzEsIDIwNSwgODYsIDIyMCwgMTIyLCA2NCwgMjUwLCAxNDEsIDIzMSwgMjA1LCA4NiwgMjQ1LCAxOTMsIDY0LCAyNTAsIAorICAgIDE0MSwgMjMxLCAyMDUsIDg2LCAyMjgsIDIwMCwgNjQsIDI1MCwgMTQxLCAyMzEsIDIwNSwgODYsIDEyMywgNjQsIDI1MiwgCisgICAgMTUzLCAyMzEsIDIwNSwgODYsIDExMywgNjQsIDI1MiwgMTUzLCAyMzEsIDIwNSwgODYsIDEzNCwgNjQsIDI1MiwgMTUzLCAKKyAgICAyMzEsIDIwNSwgODYsIDI0NCwgMTEsIDY0LCAyNTIsIDE1MywgMjMxLCAyMDUsIDg2LCAyNDQsIDgxLCA2NCwgMjUyLCAxNTMsIAorICAgIDIzMSwgMjA1LCA4NiwgMjE5LCAxMjUsIDY0LCAyNTIsIDE1MywgMjMxLCAyMDUsIDg2LCAyMjAsIDEyMiwgNjQsIDI1MiwgCisgICAgMTUzLCAyMzEsIDIwNSwgODYsIDI0NSwgMTkzLCA2NCwgMjUyLCAxNTMsIDIzMSwgMjA1LCA4NiwgMjI4LCAyMDAsIDY0LCAKKyAgICAyNTIsIDE1MywgMjMxLCAyMDUsIDg2LCAxMjMsIDY0LCAyNTAsIDM0LCAyMzEsIDIwNSwgODYsIDExMywgNjQsIDI1MCwgMzQsIAorICAgIDIzMSwgMjA1LCA4NiwgMTM0LCA2NCwgMjUwLCAzNCwgMjMxLCAyMDUsIDg2LCAyNDQsIDExLCA2NCwgMjUwLCAzNCwgMjMxLCAKKyAgICAyMDUsIDg2LCAyNDQsIDgxLCA2NCwgMjUwLCAzNCwgMjMxLCAyMDUsIDg2LCAyMTksIDEyNSwgNjQsIDI1MCwgMzQsIDIzMSwgCisgICAgMjA1LCA4NiwgMjIwLCAxMjIsIDY0LCAyNTAsIDM0LCAyMzEsIDIwNSwgODYsIDI0NSwgMTkzLCA2NCwgMjUwLCAzNCwgMjMxLCAKKyAgICAyMDUsIDg2LCAyMjgsIDIwMCwgNjQsIDI1MCwgMzQsIDIzMSwgMjA1LCA4NiwgMjI1LCAyNSwgMjMxLCAyMDUsIDg2LCAyMjYsIAorICAgIDE1NiwgMjMxLCAyMDUsIDg2LCAyNTIsIDE1NCwgMjMxLCAyMDUsIDg2LCAyNTAsIDcwLCAyMzEsIDIwNSwgODYsIDIxOCwgCisgICAgMjM5LCAyMzEsIDIwNSwgODYsIDIxOCwgMzksIDIzMSwgMjA1LCA4NiwgMjUzLCAxNzksIDIzMSwgMjA1LCA4NiwgMjExLCAKKyAgICAyMzIsIDIzMSwgMjA1LCA4NiwgMjM1LCA2MiwgMjMxLCAyMDUsIDg2LCAyNTIsIDE4NCwgMTMxLCA4NiwgMjAzLCAyNTIsIAorICAgIDE4NCwgMTMxLCA4NiwgMjQxLCA0MywgMTMxLCA4NiwgMjQxLCA0MiwgMTMxLCA4NiwgMjQxLCA0MSwgMTMxLCA4NiwgMjQxLCAKKyAgICA0MCwgMTMxLCA4NiwgMjQxLCAzOSwgMTMxLCA4NiwgMjQxLCAzOCwgMTMxLCA4NiwgMjQxLCAzNywgMTMxLCA4NiwgMjQxLCAKKyAgICAzNiwgMTMxLCA4NiwgMjQxLCAzNSwgMTMxLCA4NiwgMjQxLCAzNCwgMTMxLCA4NiwgMjQxLCAzMywgMTMxLCA4NiwgMjQxLCAKKyAgICAzMiwgMTMxLCA4NiwgMjQxLCAzMSwgMTMxLCA4NiwgMjQxLCAzMCwgMTMxLCA4NiwgMjQxLCAyOSwgMTMxLCA4NiwgMjQxLCAKKyAgICAyOCwgMTMxLCA4NiwgMjQxLCAyNywgMTMxLCA4NiwgMjQxLCAyNiwgMTMxLCA4NiwgMjQxLCAyNSwgMTMxLCA4NiwgMjQxLCAKKyAgICAyNCwgMTMxLCA4NiwgMjQxLCAyMywgMTMxLCA4NiwgMjQxLCAyMiwgMTMxLCA4NiwgMjQxLCAyMSwgMTMxLCA4NiwgMjQxLCAKKyAgICAyMCwgMTMxLCA4NiwgMjQxLCAxOSwgMTMxLCA4NiwgMjQxLCAxOCwgMTMxLCA4NiwgMjQxLCAxNywgMTMxLCA4NiwgMjQxLCAKKyAgICAxNiwgMTMxLCA4NiwgMjQxLCAxNSwgMTMxLCA4NiwgMjQxLCAxNCwgMTMxLCA4NiwgMjQxLCAxMywgMTMxLCA4NiwgMjQxLCAKKyAgICAxMiwgMTMxLCA4NiwgMjQxLCAxMSwgMTMxLCA4NiwgMjQxLCAxMCwgMTMxLCA4NiwgMjQxLCA5LCAxMzEsIDg2LCAyNDEsIDgsIAorICAgIDEzMSwgODYsIDI0MSwgNywgMTMxLCA4NiwgMjQxLCA2LCAxMzEsIDg2LCAyNDEsIDUsIDEzMSwgODYsIDI0MSwgNCwgMTMxLCAKKyAgICA4NiwgMjQxLCAzLCAxMzEsIDg2LCAyNDEsIDIsIDEzMSwgODYsIDI0MSwgMSwgMTMxLCA4NiwgMjQxLCAwLCAxMzEsIDg2LCAKKyAgICAyNDAsIDI1NSwgMTMxLCA4NiwgMjQwLCAyNTQsIDEzMSwgODYsIDI0MCwgMjUzLCAxMzEsIDg2LCAyNDAsIDI1MiwgMTMxLCAKKyAgICA4NiwgMjQwLCAyNTEsIDEzMSwgODYsIDY3LCAyNTIsIDE4NCwgMTMxLCA4NiwgMjEzLCAyMzgsIDEzMSwgODYsIDIxMywgCisgICAgMjM3LCAxMzEsIDg2LCAyMTMsIDIzNiwgMTMxLCA4NiwgMjEzLCAyMzUsIDEzMSwgODYsIDIxMywgMjM0LCAxMzEsIDg2LCAKKyAgICAyMTMsIDIzMywgMTMxLCA4NiwgMjEzLCAyMzIsIDEzMSwgODYsIDIxMywgMjMxLCAxMzEsIDg2LCAyMTMsIDIzMCwgMTMxLCAKKyAgICA4NiwgMjEzLCAyMjksIDEzMSwgODYsIDIxMywgMjI4LCAxMzEsIDg2LCAyMTMsIDIyNywgMTMxLCA4NiwgMjEzLCAyMjYsIAorICAgIDEzMSwgODYsIDIxMywgMjI1LCAxMzEsIDg2LCAyMTMsIDIyNCwgMTMxLCA4NiwgMjEzLCAyMjMsIDEzMSwgODYsIDIxMywgCisgICAgMjIyLCAxMzEsIDg2LCAyMTMsIDIyMSwgMTMxLCA4NiwgMjEzLCAyMjAsIDEzMSwgODYsIDIxMywgMjE5LCAxMzEsIDg2LCAKKyAgICAyMTMsIDIxOCwgMTMxLCA4NiwgMjEzLCAyMTcsIDEzMSwgODYsIDIxMywgMjE2LCAxMzEsIDg2LCAyMTMsIDIxNSwgMTMxLCAKKyAgICA4NiwgMjEzLCAyMTQsIDEzMSwgODYsIDIxMywgMjEzLCAxMzEsIDg2LCAyMTMsIDIxMiwgMTMxLCA4NiwgMjEzLCAyMTEsIAorICAgIDEzMSwgODYsIDIxMywgMjEwLCAxMzEsIDg2LCAyMTMsIDIwOSwgMTMxLCA4NiwgMjEzLCAyMDgsIDEzMSwgODYsIDIxMywgCisgICAgMjA3LCAxMzEsIDg2LCAyMTMsIDIwNiwgMTMxLCA4NiwgMjEzLCAyMDUsIDEzMSwgODYsIDIxMywgMjA0LCAxMzEsIDg2LCAKKyAgICAyMTMsIDIwMywgMTMxLCA4NiwgMjEzLCAyMDIsIDEzMSwgODYsIDIxMywgMjAxLCAxMzEsIDg2LCAyMTMsIDIwMCwgMTMxLCAKKyAgICA4NiwgMjEzLCAxOTksIDEzMSwgODYsIDIxMywgMTk4LCAxMzEsIDg2LCAyMTMsIDE5NywgMTMxLCA4NiwgMjEzLCAxOTYsIAorICAgIDEzMSwgODYsIDIxMywgMTk1LCAxMzEsIDg2LCAyMTMsIDE5NCwgMTMxLCA4NiwgMjEzLCAxOTMsIDEzMSwgODYsIDIxMywgCisgICAgMTkyLCAxMzEsIDg2LCAyMTMsIDE5MSwgMTMxLCA4NiwgMjEzLCAxOTAsIDIyNSwgMzMsIDI1MCwgMjQzLCAyNTIsIDE4NCwgCisgICAgMjI1LCAzMywgMjUwLCAyNDMsIDI1NSwgOSwgNjQsIDIxOSwgMTUsIDIyNSwgMzMsIDI1MCwgMjQzLCAxMTMsIDY0LCAyMTksIAorICAgIDE1LCAyMjUsIDMzLCAyNTAsIDI0MywgMTM0LCA2NCwgMjE5LCAxNSwgMjI1LCAzMywgMjUwLCAyNDMsIDI0NCwgMTEsIDY0LCAKKyAgICAyMTksIDE1LCAyMjUsIDMzLCAyNTAsIDI0MywgMjQ0LCA4MSwgNjQsIDIxOSwgMTUsIDIyNSwgMzMsIDI1MCwgMjQzLCAyMTksIAorICAgIDEyNSwgNjQsIDIxOSwgMTUsIDIyNSwgMzMsIDI1MCwgMjQzLCAyMjAsIDEyMiwgNjQsIDIxOSwgMTUsIDIyNSwgMzMsIDI1MCwgCisgICAgMjQzLCAyNDUsIDE5MywgNjQsIDIxOSwgMTUsIDIyNSwgMzMsIDI1MCwgMjQzLCAyMjgsIDIwMCwgNjQsIDIxOSwgMTUsIAorICAgIDIyNSwgMzMsIDI1MCwgMjQzLCAyMTYsIDI0OCwgNjQsIDIxOSwgMTUsIDIyNSwgMzMsIDI1MCwgMjQzLCAyMzUsIDEzOSwgCisgICAgNjQsIDIxOSwgMTUsIDIyNSwgMzMsIDI1MCwgMjQzLCAyMzQsIDMxLCA2NCwgMjE5LCAxNSwgMjI1LCAzMywgMjUwLCAyNDMsIAorICAgIDIyNCwgMTUsIDY0LCAyMTksIDE1LCAyMjUsIDMzLCAyNTAsIDI0MywgMjM0LCA3OSwgNjQsIDIxOSwgMTUsIDIyNSwgMzMsIAorICAgIDI1MCwgMjQzLCAyNTUsIDksIDY0LCAyNDEsIDIyNSwgMjI1LCAzMywgMjUwLCAyNDMsIDExMywgNjQsIDI0MSwgMjI1LCAKKyAgICAyMjUsIDMzLCAyNTAsIDI0MywgMTM0LCA2NCwgMjQxLCAyMjUsIDIyNSwgMzMsIDI1MCwgMjQzLCAyNDQsIDExLCA2NCwgCisgICAgMjQxLCAyMjUsIDIyNSwgMzMsIDI1MCwgMjQzLCAyNDQsIDgxLCA2NCwgMjQxLCAyMjUsIDIyNSwgMzMsIDI1MCwgMjQzLCAKKyAgICAyMTksIDEyNSwgNjQsIDI0MSwgMjI1LCAyMjUsIDMzLCAyNTAsIDI0MywgMjIwLCAxMjIsIDY0LCAyNDEsIDIyNSwgMjI1LCAKKyAgICAzMywgMjUwLCAyNDMsIDI0NSwgMTkzLCA2NCwgMjQxLCAyMjUsIDIyNSwgMzMsIDI1MCwgMjQzLCAyMjgsIDIwMCwgNjQsIAorICAgIDI0MSwgMjI1LCAyMjUsIDMzLCAyNTAsIDI0MywgMjE2LCAyNDgsIDY0LCAyNDEsIDIyNSwgMjI1LCAzMywgMjUwLCAyNDMsIAorICAgIDIzNSwgMTM5LCA2NCwgMjQxLCAyMjUsIDIyNSwgMzMsIDI1MCwgMjQzLCAyMzQsIDMxLCA2NCwgMjQxLCAyMjUsIDIyNSwgCisgICAgMzMsIDI1MCwgMjQzLCAyMjQsIDE1LCA2NCwgMjQxLCAyMjUsIDIyNSwgMzMsIDI1MCwgMjQzLCAyMzQsIDc5LCA2NCwgMjQxLCAKKyAgICAyMjUsIDIyNSwgMzMsIDI1MCwgMjQzLCAyNTUsIDksIDY0LCAyNDcsIDI0NywgMjI1LCAzMywgMjUwLCAyNDMsIDExMywgNjQsIAorICAgIDI0NywgMjQ3LCAyMjUsIDMzLCAyNTAsIDI0MywgMTM0LCA2NCwgMjQ3LCAyNDcsIDIyNSwgMzMsIDI1MCwgMjQzLCAyNDQsIAorICAgIDExLCA2NCwgMjQ3LCAyNDcsIDIyNSwgMzMsIDI1MCwgMjQzLCAyNDQsIDgxLCA2NCwgMjQ3LCAyNDcsIDIyNSwgMzMsIDI1MCwgCisgICAgMjQzLCAyMTksIDEyNSwgNjQsIDI0NywgMjQ3LCAyMjUsIDMzLCAyNTAsIDI0MywgMjIwLCAxMjIsIDY0LCAyNDcsIDI0NywgCisgICAgMjI1LCAzMywgMjUwLCAyNDMsIDI0NSwgMTkzLCA2NCwgMjQ3LCAyNDcsIDIyNSwgMzMsIDI1MCwgMjQzLCAyMjgsIDIwMCwgCisgICAgNjQsIDI0NywgMjQ3LCAyMjUsIDMzLCAyNTAsIDI0MywgMjE2LCAyNDgsIDY0LCAyNDcsIDI0NywgMjI1LCAzMywgMjUwLCAKKyAgICAyNDMsIDIzNSwgMTM5LCA2NCwgMjQ3LCAyNDcsIDIyNSwgMzMsIDI1MCwgMjQzLCAyMzQsIDMxLCA2NCwgMjQ3LCAyNDcsIAorICAgIDIyNSwgMzMsIDI1MCwgMjQzLCAyMjQsIDE1LCA2NCwgMjQ3LCAyNDcsIDIyNSwgMzMsIDI1MCwgMjQzLCAyMzQsIDc5LCA2NCwgCisgICAgMjQ3LCAyNDcsIDIyNSwgMzMsIDI1MCwgMjQzLCA4NSwgMjM1LCA2MiwgMjI1LCAzMywgMjUwLCAyNDMsIDI1NSwgOSwgNjQsIAorICAgIDI0OSwgMjQyLCAyMjUsIDMzLCAyNTAsIDI0MywgMTEzLCA2NCwgMjQ5LCAyNDIsIDIyNSwgMzMsIDI1MCwgMjQzLCAxMzQsIAorICAgIDY0LCAyNDksIDI0MiwgMjI1LCAzMywgMjUwLCAyNDMsIDI0NCwgMTEsIDY0LCAyNDksIDI0MiwgMjI1LCAzMywgMjUwLCAKKyAgICAyNDMsIDI0NCwgODEsIDY0LCAyNDksIDI0MiwgMjI1LCAzMywgMjUwLCAyNDMsIDIxOSwgMTI1LCA2NCwgMjQ5LCAyNDIsIAorICAgIDIyNSwgMzMsIDI1MCwgMjQzLCAyMjAsIDEyMiwgNjQsIDI0OSwgMjQyLCAyMjUsIDMzLCAyNTAsIDI0MywgMjQ1LCAxOTMsIAorICAgIDY0LCAyNDksIDI0MiwgMjI1LCAzMywgMjUwLCAyNDMsIDIyOCwgMjAwLCA2NCwgMjQ5LCAyNDIsIDIyNSwgMzMsIDI1MCwgCisgICAgMjQzLCAyMTYsIDI0OCwgNjQsIDI0OSwgMjQyLCAyMjUsIDMzLCAyNTAsIDI0MywgMjM1LCAxMzksIDY0LCAyNDksIDI0MiwgCisgICAgMjI1LCAzMywgMjUwLCAyNDMsIDIzNCwgMzEsIDY0LCAyNDksIDI0MiwgMjI1LCAzMywgMjUwLCAyNDMsIDIyNCwgMTUsIDY0LCAKKyAgICAyNDksIDI0MiwgMjI1LCAzMywgMjUwLCAyNDMsIDIzNCwgNzksIDY0LCAyNDksIDI0MiwgMjI1LCAzMywgMjUwLCAyNDMsIAorICAgIDcxLCAyMzUsIDYyLCAyMSwgMjEwLCA4NywgMjQzLCAyMjksIDIxOCwgMTI5LCAyMSwgMjEwLCA4NywgMjQ5LCAyMTksIDIxLCAKKyAgICAxMjMsIDI0OSwgMjE5LCAyMSwgMTEzLCAyNDksIDIxOSwgMjEsIDEzNCwgMjQ5LCAyMTksIDIxLCAyNDQsIDExLCAyNDksIAorICAgIDIxOSwgMjEsIDI0NCwgODEsIDI0OSwgMjE5LCAyMSwgMjE5LCAxMjUsIDI0OSwgMjE5LCAyMSwgMjIwLCAxMjIsIDI0OSwgCisgICAgMjE5LCAyMSwgMjQ1LCAxOTMsIDI0OSwgMjE5LCAyMSwgMjI4LCAyMDAsIDI0OSwgMjE5LCA4OCwgNywgNiwgMSwgNjEsIDg4LCAKKyAgICA3LCA2LCAxLCAyNTMsIDE1OCwgODgsIDcsIDYsIDEsIDI1MSwgNjYsIDg4LCA3LCA2LCAxLCAyNDksIDYwLCA4OCwgNywgNiwgCisgICAgMSwgNzUsIDg4LCA3LCA2LCAxLCAyNDUsIDYsIDg4LCA3LCA2LCAxLCAyNDMsIDIwMiwgODgsIDcsIDYsIDEsIDI0MiwgNjAsIAorICAgIDg4LCA3LCA2LCAxLCA3MywgODgsIDcsIDYsIDEsIDIzNSwgMTQ0LCA4OCwgNywgNiwgMSwgMjM1LCAyMywgODgsIDcsIDYsIAorICAgIDEsIDE1NiwgODgsIDcsIDYsIDEsIDE5MywgODgsIDcsIDYsIDEsIDIzMCwgMjUsIDg4LCA3LCA2LCAxLCA3NiwgODgsIDcsIAorICAgIDYsIDEsIDIyNiwgMTA1LCA4OCwgNywgNiwgMSwgMjI0LCA5NiwgODgsIDcsIDYsIDEsIDE1MywgODgsIDcsIDYsIDEsIDIyMiwgCisgICAgOTEsIDg4LCA3LCA2LCAxLCAyMTcsIDE1MiwgODgsIDcsIDYsIDEsIDcwLCA4OCwgNywgNiwgMSwgMjE0LCAxMDUsIDg4LCA3LCAKKyAgICA2LCAxLCAyMTIsIDk4LCA4OCwgNywgNiwgMSwgMjExLCAxNzgsIDg4LCA3LCA2LCAxLCAyMTEsIDExNywgODgsIDcsIDYsIDEsIAorICAgIDIxMCwgMTU5LCAyMTYsIDYsIDIyMCwgNTMsIDI1MSwgMTU3LCA3LCA2LCAxLCAyMjIsIDkxLCAzNywgMzIsIDcsIDYsIDEsIAorICAgIDI1MSwgNjYsIDM3LCAzMiwgNywgNiwgMSwgMTUzLCAzNywgMjUwLCAxOTEsIDM3LCAyMTEsIDE4MCwgOTIsIDcsIDYsIDEsIAorICAgIDYxLCA5MiwgNywgNiwgMSwgMjUzLCAxNTgsIDkyLCA3LCA2LCAxLCAyNTEsIDY2LCA5MiwgNywgNiwgMSwgMjQ5LCA2MCwgCisgICAgOTIsIDcsIDYsIDEsIDc1LCA5MiwgNywgNiwgMSwgMjQ1LCA2LCA5MiwgNywgNiwgMSwgMjQzLCAyMDIsIDkyLCA3LCA2LCAxLCAKKyAgICAyNDIsIDYwLCA5MiwgNywgNiwgMSwgNzMsIDkyLCA3LCA2LCAxLCAyMzUsIDE0NCwgOTIsIDcsIDYsIDEsIDIzNSwgMjMsIAorICAgIDkyLCA3LCA2LCAxLCAxNTYsIDkyLCA3LCA2LCAxLCAxOTMsIDkyLCA3LCA2LCAxLCAyMzAsIDI1LCA5MiwgNywgNiwgMSwgCisgICAgNzYsIDkyLCA3LCA2LCAxLCAyMjYsIDEwNSwgOTIsIDcsIDYsIDEsIDIyNCwgOTYsIDkyLCA3LCA2LCAxLCAxNTMsIDkyLCA3LCAKKyAgICA2LCAxLCAyMjIsIDkxLCA5MiwgNywgNiwgMSwgMjE3LCAxNTIsIDkyLCA3LCA2LCAxLCA3MCwgOTIsIDcsIDYsIDEsIDIxNCwgCisgICAgMTA1LCA5MiwgNywgNiwgMSwgMjEyLCA5OCwgOTIsIDcsIDYsIDEsIDIxMSwgMTc4LCA5MiwgNywgNiwgMSwgMjExLCAxMTcsIAorICAgIDkyLCA3LCA2LCAxLCAyMTAsIDE1OSwgOTIsIDI0MCwgMjAxLCA5MiwgMjMwLCA0OSwgOTIsIDIyMSwgMTgzLCA5MiwgMjE4LCAKKyAgICAyMjYsIDkyLCAyMjQsIDIxOCwgOTIsIDIxMiwgMjMsIDE1MiwgMzcsIDcsIDYsIDEsIDYxLCAxNTIsIDM3LCA3LCA2LCAxLCAKKyAgICAyNTMsIDE1OCwgMTUyLCAzNywgNywgNiwgMSwgMjUxLCA2NiwgMTUyLCAzNywgNywgNiwgMSwgMjQ5LCA2MCwgMTUyLCAzNywgCisgICAgNywgNiwgMSwgNzUsIDE1MiwgMzcsIDcsIDYsIDEsIDI0NSwgNiwgMTUyLCAzNywgNywgNiwgMSwgMjQzLCAyMDIsIDE1MiwgCisgICAgMzcsIDcsIDYsIDEsIDI0MiwgNjAsIDE1MiwgMzcsIDcsIDYsIDEsIDczLCAxNTIsIDM3LCA3LCA2LCAxLCAyMzUsIDE0NCwgCisgICAgMTUyLCAzNywgNywgNiwgMSwgMjM1LCAyMywgMTUyLCAzNywgNywgNiwgMSwgMTU2LCAxNTIsIDM3LCA3LCA2LCAxLCAxOTMsIAorICAgIDE1MiwgMzcsIDcsIDYsIDEsIDIzMCwgMjUsIDE1MiwgMzcsIDcsIDYsIDEsIDc2LCAxNTIsIDM3LCA3LCA2LCAxLCAyMjYsIAorICAgIDEwNSwgMTUyLCAzNywgNywgNiwgMSwgMjI0LCA5NiwgMTUyLCAzNywgNywgNiwgMSwgMTUzLCAxNTIsIDM3LCA3LCA2LCAxLCAKKyAgICAyMjIsIDkxLCAxNTIsIDM3LCA3LCA2LCAxLCAyMTcsIDE1MiwgMTUyLCAzNywgNywgNiwgMSwgNzAsIDE1MiwgMzcsIDcsIDYsIAorICAgIDEsIDIxNCwgMTA1LCAxNTIsIDM3LCA3LCA2LCAxLCAyMTIsIDk4LCAxNTIsIDM3LCA3LCA2LCAxLCAyMTEsIDE3OCwgMTUyLCAKKyAgICAzNywgNywgNiwgMSwgMjExLCAxMTcsIDE1MiwgMzcsIDcsIDYsIDEsIDIxMCwgMTU5LCAyMjMsIDE1NywgMjMxLCA5NywgNTAsIAorICAgIDIyMywgMTU3LCAyMzEsIDk0LCA1MCwgMTUyLCA5MiwgNywgNiwgMSwgNjEsIDE1MiwgOTIsIDcsIDYsIDEsIDI1MywgMTU4LCAKKyAgICAxNTIsIDkyLCA3LCA2LCAxLCAyNTEsIDY2LCAxNTIsIDkyLCA3LCA2LCAxLCAyNDksIDYwLCAxNTIsIDkyLCA3LCA2LCAxLCAKKyAgICA3NSwgMTUyLCA5MiwgNywgNiwgMSwgMjQ1LCA2LCAxNTIsIDkyLCA3LCA2LCAxLCAyNDMsIDIwMiwgMTUyLCA5MiwgNywgNiwgCisgICAgMSwgMjQyLCA2MCwgMTUyLCA5MiwgNywgNiwgMSwgNzMsIDE1MiwgOTIsIDcsIDYsIDEsIDIzNSwgMTQ0LCAxNTIsIDkyLCA3LCAKKyAgICA2LCAxLCAyMzUsIDIzLCAxNTIsIDkyLCA3LCA2LCAxLCAxNTYsIDE1MiwgOTIsIDcsIDYsIDEsIDE5MywgMTUyLCA5MiwgNywgCisgICAgNiwgMSwgMjMwLCAyNSwgMTUyLCA5MiwgNywgNiwgMSwgNzYsIDE1MiwgOTIsIDcsIDYsIDEsIDIyNiwgMTA1LCAxNTIsIDkyLCAKKyAgICA3LCA2LCAxLCAyMjQsIDk2LCAxNTIsIDkyLCA3LCA2LCAxLCAxNTMsIDE1MiwgOTIsIDcsIDYsIDEsIDIyMiwgOTEsIDE1MiwgCisgICAgOTIsIDcsIDYsIDEsIDIxNywgMTUyLCAxNTIsIDkyLCA3LCA2LCAxLCA3MCwgMTUyLCA5MiwgNywgNiwgMSwgMjE0LCAxMDUsIAorICAgIDE1MiwgOTIsIDcsIDYsIDEsIDIxMiwgOTgsIDE1MiwgOTIsIDcsIDYsIDEsIDIxMSwgMTc4LCAxNTIsIDkyLCA3LCA2LCAxLCAKKyAgICAyMTEsIDExNywgMTUyLCA5MiwgNywgNiwgMSwgMjEwLCAxNTksIDI0OSwgMTI4LCAxNTIsIDkyLCA3LCA2LCAxLCAyMjYsIAorICAgIDEwNSwgMTUyLCA5MiwgMjQwLCAxMTMsIDE1MiwgOTIsIDE5MCwgMTUyLCA5MiwgMjA2LCAxNTIsIDkyLCAyNTUsIDI1LCAKKyAgICAxNTIsIDkyLCAyMTIsIDIzLCA0MiwgMjQ3LCAxNjQsIDkyLCAyNTAsIDIzLCA5MiwgMjQ5LCAxNzAsIDkyLCAyNDMsIDI1MiwgCisgICAgOTIsIDI0MCwgMTA1LCA5MiwgMjI5LCA4NiwgOTIsIDIyOSwgNzksIDkyLCAyMjYsIDIxNCwgOTIsIDIxOSwgMzUsIDkyLCAKKyAgICAxMjAsIDIsIDI0NSwgMzEsIDc4LCA5MiwgMjEzLCAxMTksIDIyMywgMTAzLCAyMzUsIDIzOSwgMTYsIDEsIDYxLCAyMjMsIAorICAgIDEwMywgMjM1LCAyMzksIDE2LCAxLCAyNTMsIDE1OCwgMjIzLCAxMDMsIDIzNSwgMjM5LCAxNiwgMSwgMjUxLCA2NiwgMjIzLCAKKyAgICAxMDMsIDIzNSwgMjM5LCAxNiwgMSwgMjQ5LCA2MCwgMjIzLCAxMDMsIDIzNSwgMjM5LCAxNiwgMSwgNzUsIDIyMywgMTAzLCAKKyAgICAyMzUsIDIzOSwgMTYsIDEsIDI0NSwgNiwgMjIzLCAxMDMsIDIzNSwgMjM5LCAxNiwgMSwgMjQzLCAyMDIsIDIyMywgMTAzLCAKKyAgICAyMzUsIDIzOSwgMTYsIDEsIDI0MiwgNjAsIDIyMywgMTAzLCAyMzUsIDIzOSwgMTYsIDEsIDczLCAyMjMsIDEwMywgMjM1LCAKKyAgICAyMzksIDE2LCAxLCAyMzUsIDE0NCwgMjIzLCAxMDMsIDIzNSwgMjM5LCAxNiwgMSwgMjM1LCAyMywgMjIzLCAxMDMsIDIzNSwgCisgICAgMjM5LCAxNiwgMSwgMTU2LCAyMjMsIDEwMywgMjM1LCAyMzksIDE2LCAxLCAxOTMsIDIyMywgMTAzLCAyMzUsIDIzOSwgMTYsIAorICAgIDEsIDIzMCwgMjUsIDIyMywgMTAzLCAyMzUsIDIzOSwgMTYsIDEsIDc2LCAyMjMsIDEwMywgMjM1LCAyMzksIDE2LCAxLCAKKyAgICAyMjYsIDEwNSwgMjIzLCAxMDMsIDIzNSwgMjM5LCAxNiwgMSwgMjI0LCA5NiwgMjIzLCAxMDMsIDIzNSwgMjM5LCAxNiwgMSwgCisgICAgMTUzLCAyMjMsIDEwMywgMjM1LCAyMzksIDE2LCAxLCAyMjIsIDkxLCAyMjMsIDEwMywgMjM1LCAyMzksIDE2LCAxLCAyMTcsIAorICAgIDE1MiwgMjIzLCAxMDMsIDIzNSwgMjM5LCAxNiwgMSwgNzAsIDIyMywgMTAzLCAyMzUsIDIzOSwgMTYsIDEsIDIxNCwgMTA1LCAKKyAgICAyMjMsIDEwMywgMjM1LCAyMzksIDE2LCAxLCAyMTIsIDk4LCAyMjMsIDEwMywgMjM1LCAyMzksIDE2LCAxLCAyMTEsIDE3OCwgCisgICAgMjIzLCAxMDMsIDIzNSwgMjM5LCAxNiwgMSwgMjExLCAxMTcsIDIyMywgMTAzLCAyMzUsIDIzOSwgMTYsIDEsIDIxMCwgMTU5LCAKKyAgICA0MiwgMTQxLCAyNDEsIDYzLCA5MiwgNTYsIDIzNCwgMTgsIDkyLCA1NiwgMjA2LCA5MiwgOSwgMjE0LCAxNzcsIDIzOCwgNTAsIAorICAgIDkyLCA5LCAyMTQsIDE3NywgMjM4LCA1NCwgOTIsIDksIDIxNCwgMTc3LCAyMzgsIDYyLCA5MiwgNTYsIDI0OCwgOTAsIDkyLCAKKyAgICA5LCAyMTQsIDE3NywgMjM4LCA2OSwgOTIsIDksIDIxNCwgMTc3LCAyMzgsIDU2LCA5MiwgOSwgMjE0LCAxNzcsIDIzOCwgMjgsIAorICAgIDkyLCA5LCAyMTQsIDE3NywgMjM4LCA1NSwgOTIsIDksIDIxNCwgMTc3LCAyMzgsIDY4LCA5MiwgOSwgMjE0LCAxNzcsIDIzOCwgCisgICAgNDIsIDkyLCA5LCAyMTQsIDE3NywgMjM4LCAzNSwgOTIsIDksIDIxNCwgMTc3LCAyMzgsIDQ0LCA5MiwgOSwgMjE0LCAxNzcsIAorICAgIDIzOCwgNjUsIDkyLCA5LCAyMTQsIDE3NywgMjM4LCA1MSwgOTIsIDksIDIxNCwgMTc3LCAyMzgsIDY3LCA5MiwgOSwgMjE0LCAKKyAgICAxNzcsIDIzOCwgNDMsIDkyLCA5LCAyMTQsIDE3NywgMjM4LCA2NiwgOTIsIDksIDIxNCwgMTc3LCAyMzgsIDI5LCA5MiwgOSwgCisgICAgMjE0LCAxNzcsIDIzOCwgMzQsIDkyLCA5LCAyMTQsIDE3NywgMjM4LCAyNywgOTIsIDksIDIxNCwgMTc3LCAyMzgsIDU3LCAKKyAgICA5MiwgOSwgMjE0LCAxNzcsIDIzOCwgNTksIDkyLCA5LCAyMTQsIDE3NywgMjM4LCAzNywgOTIsIDksIDIxNCwgMTc3LCAyMzgsIAorICAgIDQ4LCA5MiwgOSwgMjE0LCAxNzcsIDIzOCwgNDYsIDkyLCA5LCAyMTQsIDE3NywgMjM4LCA3MiwgOTIsIDksIDIxNCwgMTc3LCAKKyAgICAyMzgsIDcxLCA5MiwgOSwgMjE0LCAxNzcsIDIzOCwgMjUsIDkyLCA5LCAyMTQsIDE3NywgMjM4LCA1MiwgOTIsIDksIDIxNCwgCisgICAgMTc3LCAyMzgsIDcwLCA5MiwgOSwgMjE0LCAxNzcsIDIzOCwgNjEsIDkyLCA5LCAyMTQsIDE3NywgMjM4LCA0NywgOTIsIDksIAorICAgIDIxNCwgMTc3LCAyMzgsIDI2LCA5MiwgOSwgMjE0LCAxNzcsIDIzOCwgNDksIDkyLCA5LCAyMTQsIDE3NywgMjM4LCAzMSwgCisgICAgOTIsIDksIDIxNCwgMTc3LCAyMzgsIDMwLCA5MiwgOSwgMjE0LCAxNzcsIDIzOCwgNjAsIDkyLCA5LCAyMTQsIDE3NywgMjM4LCAKKyAgICAzOCwgOTIsIDksIDIxNCwgMTc3LCAyMzgsIDQwLCA5MiwgOSwgMjE0LCAxNzcsIDIzOCwgNDEsIDkyLCA5LCAyMTQsIDE3NywgCisgICAgMjM4LCAzMywgOTIsIDksIDIxNCwgMTc3LCAyMzgsIDY0LCA5MiwgOSwgMjE0LCAxNzcsIDIzOCwgNTgsIDIxNiwgNiwgMjIwLCAKKyAgICA1MywgMjUxLCAxNTcsIDksIDIxNCwgMTc3LCAyMzgsIDM5LCAyMTYsIDYsIDIyMCwgNTMsIDI1MSwgMTU3LCA5LCAyMTQsIAorICAgIDE3NywgMjM4LCA3MSwgMjE2LCA2LCAyMjAsIDUzLCAyNTEsIDE1NywgOSwgMjE0LCAxNzcsIDIzOCwgNjksIDIxNiwgNiwgCisgICAgMjIwLCA1MywgMjUxLCAxNTcsIDksIDIxNCwgMTc3LCAyMzgsIDUzLCAyMTYsIDYsIDIyMCwgNTMsIDI1MSwgMTU3LCA5LCAKKyAgICAyMTQsIDE3NywgMjM4LCAzNiwgMjE2LCA2LCAyMjAsIDUzLCAyNTEsIDE1NywgOSwgMjE0LCAxNzcsIDIzOCwgNDksIDIxNiwgCisgICAgNiwgMjIwLCA1MywgMjUxLCAxNTcsIDksIDIxNCwgMTc3LCAyMzgsIDMyLCAyMTYsIDYsIDIyMCwgNTMsIDI1MSwgMTU3LCA5LCAKKyAgICAyMTQsIDE3NywgMjM4LCA2MywgMjE2LCA2LCAyMjAsIDUzLCAyNTEsIDE1NywgOSwgMjE0LCAxNzcsIDIzOCwgNDUsIDM3LCAKKyAgICAxNTQsIDI1NCwgMjQ1LCAzNywgMTU0LCAyNTUsIDEyLCAyNDksIDcxLCAyNDQsIDQyLCAyNTAsIDAsIDIxNCwgMTk0LCAyMjgsIAorICAgIDIxMywgMiwgMjE4LCAxNTMsIDIxOCwgMzMsIDExNywgMjMwLCAxMTQsIDIxOCwgMzIsIDI1MCwgMjYsIDI1MywgMjA3LCAKKyAgICAyNDYsIDU0LCAyMTgsIDMxLCAxMTcsIDI1MSwgMTE4LCAyMjMsIDE1OCwgMjUxLCAxNDAsIDI1MywgMjA3LCAyMjgsIDIxMiwgCisgICAgMjEyLCA0MSwgMjEyLCAzNSwgMjEzLCAxMzEsIDIzMCwgMTk1LCAyMTIsIDI1LCAyNDUsIDIyNCwgMjQyLCAxODEsIDI0NSwgCisgICAgNDUsIDI0NSwgMjI0LCAyNDIsIDE4MSwgMjU0LCAxMjgsIDI0NSwgMjI0LCAyNDIsIDE4MSwgMjUzLCAyMjUsIDI0MiwgMTgxLCAKKyAgICAyLCAyMzEsIDUxLCAxNjYsIDIzMCwgMTI5LCA4NywgMjEyLCAyNywgMjQ5LCAxMzcsIDIzMCwgMTI5LCA4NywgMjQ0LCA5MiwgCisgICAgMjI0LCAyMiwgMjMwLCAxMjksIDg3LCAyMTIsIDI3LCAyNDIsIDIxMCwgMjMwLCAxMjksIDg3LCAyNDMsIDIyOSwgMjMwLCAKKyAgICAxMjksIDg3LCAyMTIsIDUyLCAyNDIsIDIxMCwgMjMwLCAxMjksIDg3LCAyMzMsIDgwLCAyMjQsIDIyLCAyMzAsIDEyOSwgODcsIAorICAgIDIxMiwgNTIsIDI0OSwgMTM3LCAyMzAsIDEyOSwgODcsIDI0OSwgMTM3LCAyMzAsIDEyOCwgMTY2LCAyMzAsIDEyOSwgMiwgCisgICAgMjQ0LCAxOTAsIDI0NCwgOTIsIDIyNCwgMjIsIDIzMCwgMTI5LCAyLCAyNDQsIDE5MCwgMjMzLCA4MCwgMjI0LCAyMiwgMjMwLCAKKyAgICAxMjksIDIsIDI0NCwgMTkwLCAyNDMsIDIyOSwgMjMwLCAxMjksIDIsIDI0NCwgMTkwLCAyMTgsIDM4LCAyLCAyNDQsIDE5MCwgCisgICAgMjQyLCAxNzksIDIxOCwgMTU2LCAyMTksIDI1NSwgMjE4LCAxNTYsIDI1MCwgMTE2LCAyMjEsIDE2OCwgMjQ1LCAzOSwgMjE1LCAKKyAgICAyMzUsIDI0OCwgODQsIDIxNSwgMjM1LCAyMjYsIDU5LCAyMTUsIDIzNSwgMjUxLCAyNywgMjE1LCAxMDksIDI1MCwgMTE4LCAKKyAgICAyNTEsIDIxMCwgMjIyLCAxOTEsIDI0MSwgMTc5LCAyMTgsIDM2LCAyNTEsIDIxMCwgMjQ1LCAyMjgsIDY0LCAyMzEsIDE5NCwgCisgICAgMjQ1LCAyMjgsIDY0LCAyMjMsIDMxLCAyNDEsIDIwNCwgMjQ0LCAxMSwgMjMzLCA1NCwgMjQ5LCAyNDYsIDIzMSwgMTcwLCAKKyAgICAyMzMsIDUzLCAyNDQsIDE3NiwgMjMzLCA1MywgMjMzLCA1NCwgMjQ0LCA0NywgMjM2LCAwLCAyMTEsIDIzOSwgMjMwLCA1OCwgCisgICAgMjE2LCAzNCwgMjUzLCAxOTEsIDI0MiwgMTQzLCAyMzEsIDY3LCAyMTIsIDM5LCAyMTcsIDU3LCAyMzMsIDI2LCAyNTIsIAorICAgIDE0OSwgMjI1LCA2MiwgMjIzLCAxMTEsIDI1NCwgNTQsIDI0MiwgMTI3LCAyNTQsIDU0LCAyMjUsIDIxNywgMjI1LCAyMTgsIAorICAgIDI1MCwgMTE5LCAyMTgsIDExNCwgMjQyLCAyMywgMjE5LCA5MCwgNjQsIDIyNSwgNDQsIDIzMSwgODcsIDIyNiwgMTk3LCAKKyAgICAyNTEsIDE5NCwgMjI0LCAyMjksIDIzMywgMzYsIDIyMywgMzIsIDI0OSwgMTQyLCAyMjMsIDMyLCAyNTIsIDE1OSwgMjQ5LCAKKyAgICAxNzMsIDIyMywgMzEsIDI0OSwgOTUsIDIyLCAyMjMsIDMxLCAyMTgsIDE0MSwgMjUxLCAxNjcsIDIxOSwgMTQsIDI1MSwgCisgICAgMTUxLCAyNDMsIDI1MSwgMjQzLCAyNDcsIDIyMiwgMjA3LCAyMTcsIDI0NiwgMjI0LCAyMzEsIDI0OCwgMTc1LCAyMjYsIAorICAgIDIzNiwgMjE4LCA3LCAyNDMsIDI0OCwgMjE5LCAyMzAsIDI0NCwgOTEsIDI1MSwgMjEsIDIsIDIxNywgMjM5LCAyNDgsIDM1LCAKKyAgICAyMTksIDUyLCAyNDAsIDExMiwgMjQ5LCAxNDEsIDIyMCwgNzAsIDI0MCwgMTExLCAyNDAsIDExMiwgMjQ5LCAxNDEsIDI0NiwgCisgICAgMTA4LCAyNDksIDE3MiwgMjUwLCA4NCwgMTMwLCAyNTAsIDI1NCwgMjMyLCAxNDEsIDI0OSwgODgsIDI0MSwgNTUsIDIyNCwgCisgICAgMjMzLCAyMTksIDI0MCwgMjUyLCAzNiwgMjUxLCAxNjMsIDIyNCwgMjM0LCA2NCwgMjQ0LCAzMywgMjQ5LCAxNzEsIDI0NCwgCisgICAgMjQsIDIyLCAyMzQsIDMyLCAyMTcsIDE5LCAyMTEsIDIzMCwgMjQyLCAxMywgMjIyLCAxMiwgMjUxLCAxNzcsIDIyLCAyNDksIAorICAgIDEwMiwgMjExLCAyMzcsIDI0MiwgMTg0LCAyNDksIDIzNSwgMjQyLCAxODQsIDIxNSwgMTkzLCAyNDYsIDkwLCAyNTIsIDYyLCAKKyAgICAyMzAsIDkzLCAyNTAsIDcsIDI1MiwgNjIsIDIzMCwgOTIsIDI1MiwgMTg3LCAyNTEsIDE3NiwgMjIzLCAzMywgMjExLCAyMDEsIAorICAgIDIyNCwgMTk1LCAyNTEsIDIzNSwgMjUxLCAyMCwgMjM1LCAxMzgsIDI1MCwgNzcsIDIxNSwgMjM1LCAyNDQsIDE2MiwgMjUwLCAKKyAgICA3NiwgMjQ0LCA5NCwgMjQ0LCA5NSwgMjE5LCAxMiwgMjUyLCAxNTgsIDIyNSwgMjUwLCAyMjQsIDI0NCwgMjQ5LCAyMDQsIAorICAgIDI1MiwgMTU5LCAyMTcsIDU5LCAyMTUsIDIzNSwgMjQ5LCAxMjgsIDI0NCwgNjcsIDIyNSwgNjMsIDI0OCwgODEsIDIzNSwgCisgICAgMTMxLCAyNDcsIDEzMSwgMjUwLCAyMzIsIDIxOCwgMTEzLCAyMTEsIDI0MCwgMjUwLCA5OCwgMjMwLCAxMjksIDIxMywgMTY0LCAKKyAgICAyNTAsIDE2MiwgMjIxLCAxOTksIDIyMSwgMjI0LCAyNDIsIDE0OCwgMjUwLCAyNTEsIDI1MCwgMjMzLCAyNDAsIDI0NSwgCisgICAgMjQ0LCAxMzAsIDIxMiwgMCwgMjIyLCAyMDAsIDI0OSwgMjM2LCAyNDQsIDg2LCAyMjUsIDIsIDIyLCAyNDQsIDkwLCAyMzAsIAorICAgIDIyNywgMjMwLCAxMDgsIDI1MSwgMTAsIDI1MCwgMzksIDI0MSwgMjMyLCAyNTMsIDI0MSwgMjI2LCA2MiwgMjE2LCAxNCwgCisgICAgMjQxLCAyNTEsIDI1MCwgMjksIDIxNiwgMjQyLCAyMTYsIDExMywgMjUwLCAyMCwgMjUxLCAyMDIsIDIyNSwgMTc3LCAyNTMsIAorICAgIDI0MCwgMjEzLCAxNzIsIDI0MywgMTEwLCAyNDcsIDE5NywgMjQxLCAxNTYsIDIxOSwgODQsIDIzMSwgMjM0LCAyNTEsIDI0NSwgCisgICAgMjQzLCAxMTEsIDI0NywgMjQwLCAyNTEsIDE2NiwgMjQ0LCA1MiwgMjI1LCAzMywgMjUwLCAyNDEsIDI4LCAyMjgsIDQ3LCAKKyAgICAyMzAsIDg1LCAyOCwgMjI4LCA0MiwgMjIxLCAyMTIsIDI0MiwgOTksIDI4LCAyMzQsIDEzNywgMjE1LCAxOTAsIDIxMywgCisgICAgMTU0LCAyOCwgMjIxLCAxOTIsIDIyMiwgMTI0LCAyMjAsIDExLCAyLCAyMjEsIDIyNywgMjE2LCAyNDQsIDIyMywgMTc4LCAKKyAgICAyMiwgMjUyLCAxNTksIDIxOSwgMTA1LCAyMiwgMjE5LCAxMDUsIDI1MSwgMTg3LCAyNTIsIDEyMywgMjIsIDI0MSwgNDksIAorICAgIDI1MCwgMTIwLCAyNDQsIDczLCAyMTksIDYzLCAyMjIsIDEyNSwgMjE4LCAxMiwgMjE1LCAxOTQsIDI0MCwgMjQ2LCAyMjMsIAorICAgIDE3OSwgMjU0LCAxMjksIDI0NCwgMzEsIDIyMiwgMTM2LCAyNDQsIDMxLCAyMTcsIDI0MSwgMjQwLCAyMzUsIDI1MSwgMTE5LCAKKyAgICAyNDAsIDIzNSwgMiwgMjQzLCA5NCwgMjI2LCAyMjksIDI1MSwgMTE5LCAyMzUsIDEzMSwgMjI0LCAyMzksIDIyNiwgMjI4LCAKKyAgICAyNDUsIDQ0LCAyMjQsIDIzOSwgMjI2LCAyMjgsIDI0MCwgMjQ0LCAyNTIsIDE0NSwgMjUzLCAxODEsIDIxNiwgMjUyLCAyMzEsIAorICAgIDIzNCwgMjQwLCAyNDAsIDIzMiwgMTExLCAyNDAsIDI0MCwgMjQ5LCAxNzYsIDIxOCwgMTI1LCAyMjEsIDE5OCwgMjQ4LCA0MywgCisgICAgMjE4LCAxMjUsIDI0NCwgMTgwLCAyMzUsIDE0OSwgMjMzLCA4OSwgMjM1LCAxMzEsIDI1MCwgMjI2LCAyNDUsIDQ0LCAyNTAsIAorICAgIDIyNiwgMjIzLCAxNDEsIDIzMCwgMTEyLCAyMjYsIDExNCwgMjEyLCA0MSwgMjUxLCAxMjMsIDI0OSwgMTQ1LCAyMTYsIDEwNiwgCisgICAgMjMzLCAxOCwgMjIzLCAxODAsIDI1MCwgMjI0LCAyNDYsIDk2LCAyNDksIDEzNSwgMjEyLCAzLCAyMTksIDcwLCAyMTksIDY4LCAKKyAgICAyNDAsIDI0NSwgMjIzLCAxNTMsIDI0MiwgMTcwLCAyMjAsIDU3LCAyMzAsIDE0NSwgMjIyLCAxOTQsIDI1MCwgMTA4LCAyNDcsIAorICAgIDEzNiwgMjI1LCA3MywgMjUxLCAyMDMsIDI0NSwgMTY5LCAyMjYsIDIzOCwgMjE4LCAyNTIsIDIyMCwgNTIsIDI1MSwgMTIyLCAKKyAgICAyNTQsIDkyLCAyNDEsIDU0LCAyMzMsIDEyMSwgMjUyLCA2MCwgMjQ0LCA5MCwgMjE1LCAxOTMsIDI0NCwgOTAsIDI1MSwgCisgICAgMjA5LCAyMTUsIDkxLCAyNDEsIDI0OSwgMjUwLCAxMDksIDI1MiwgMTg3LCAyNTAsIDEwOSwgMjQzLCAyNDIsIDI1MiwgMTg3LCAKKyAgICAyNTAsIDEwOSwgMjUxLCAyMzcsIDIyNSwgMTk1LCAyMzQsIDI2LCAyMjQsIDI0OCwgMjQ2LCA4NywgMjUxLCAxMSwgMjUyLCAKKyAgICAxNzcsIDI1MSwgMTEsIDI0NywgMTMwLCAyMzAsIDExMywgMjQ0LCAxOTAsIDI0OSwgMTQ2LCAyNDQsIDE5MCwgMjE2LCAxMDcsIAorICAgIDI0NCwgMTkwLCAyMjMsIDE4MSwgMjQ0LCAxOTAsIDI1MCwgMjI1LCAyNDQsIDE5MCwgMjQ2LCA5NywgMjQ0LCAxOTAsIDIxOCwgCisgICAgMjQxLCAyMTIsIDMsIDI0MCwgMjQ2LCAyNDQsIDE5MCwgMjMwLCAxNDYsIDI0NCwgMTkwLCAyNDcsIDEzNywgMjQ0LCAxOTAsIAorICAgIDIyNSwgNzQsIDI0NCwgMTkwLCAyNDMsIDI0NSwgMjQ0LCAxOTAsIDI0MiwgMjAsIDI0NCwgMTkwLCAyMTEsIDIyNCwgMjQ0LCAKKyAgICAxOTAsIDI1MiwgNzEsIDI0NCwgMTkwLCAyMjYsIDQ1LCAyNDQsIDE5MCwgMjI1LCA3NCwgMjI4LCA1MywgMjI1LCAyMzIsIAorICAgIDIyNCwgMTg2LCAyNDUsIDEzLCAyNDUsIDIyNywgMjI4LCA1MywgMjMwLCAxMTAsIDIxNiwgMTksIDcxLCAxMjAsIDIyNSwgNywgCisgICAgMjUyLCAxODIsIDIzNSwgMjQyLCA3MSwgMTI0LCAyMjUsIDcsIDI1MiwgMTgyLCAyMzUsIDI0MiwgNzEsIDQzLCAyMjUsIDcsIAorICAgIDI1MiwgMTgyLCAyMzUsIDI0MiwgNzEsIDQ0LCAyMjUsIDcsIDI1MiwgMTgyLCAyMzUsIDI0MiwgMjQ0LCA4NCwgMjQyLCAxNiwgCisgICAgNTAsIDIxMiwgMzMsIDI0MiwgMTYsIDUwLCAyMjYsIDIxNSwgMjQyLCAxNiwgNTAsIDIxNiwgMTM1LCAxMjAsIDUwLCAyMTYsIAorICAgIDEzNSwgMTI0LCA1MCwgMjUwLCAxOSwgMjQyLCAxMSwgNTAsIDIwNCwgMjQyLCAxMSwgNTAsIDI0OSwgMTIzLCAyMTEsIDIyMCwgCisgICAgMjQxLCAyNTEsIDI0NSwgMTQsIDIyOSwgMTA0LCAyMTcsIDE1MSwgMjM1LCAxMjUsIDI0NiwgOTIsIDIzNCwgODIsIDI1MSwgCisgICAgMjQ3LCAyMTEsIDIyMCwgMjQ5LCAyNDksIDIyNCwgMTI3LCAyNDIsIDE0LCAyMjQsIDIzMCwgMjMxLCAxNzcsIDIyMCwgNCwgCisgICAgMjUzLCAyMDMsIDIyMCwgNCwgMjQxLCAxNjQsIDIyMCwgNCwgMjExLCAyMjAsIDIyMSwgMjQwLCAyMTEsIDIyMCwgMjUxLCAKKyAgICAxODYsIDI0NCwgMjksIDI1MSwgOTAsIDIzNiwgMCwgMjE5LCAxNjksIDI1MSwgODksIDIzNiwgMCwgMjE5LCAxNjksIDI1MSwgCisgICAgMTYyLCAyNDIsIDE5NCwgMjMxLCAxODUsIDIxMSwgMjIxLCAyNDQsIDE3NCwgMjMxLCAxODYsIDIyLCAyMTEsIDIyMiwgMjQxLCAKKyAgICA2MCwgMjQyLCAxMCwgMTEzLCAyMzEsIDU5LCAyNDEsIDYwLCAyNDIsIDEwLCAxMTMsIDIxMSwgMjE5LCAyNDEsIDYwLCAyNDIsIAorICAgIDEwLCAyMjQsIDI1NSwgMjI2LCAyMjcsIDIxMSwgMjIyLCAyLCAyNTEsIDEwNiwgMjQ1LCAyMjUsIDI1MSwgMTQxLCAyLCAKKyAgICAyMTMsIDI0NiwgMjI1LCAxNjgsIDIsIDI1MSwgMjEyLCAyNDIsIDM0LCAyMzEsIDE4NiwgMiwgMjQyLCAxMTAsIDIyNSwgCisgICAgMTA5LCAyMzEsIDE3NCwgMjMxLCAxODYsIDIsIDIxNSwgOTcsIDIyNiwgMjA4LCAyMzEsIDE4NSwgMjI2LCAyMDgsIDIxMSwgCisgICAgMjIxLCAyNTIsIDE4NiwgMjQ5LCAxOTAsIDIxMSwgMjA1LCAyMjQsIDE4OSwgMjM1LCAxMzEsIDIyNiwgMjIzLCAyMzUsIAorICAgIDEzMSwgMjQyLCAxNjksIDI0MiwgMjIyLCAyNTIsIDE4NywgMjU0LCAxMTMsIDI0NSwgMTgsIDI1NCwgMTYwLCAyNTQsIDE2MSwgCisgICAgMjMwLCAxMzYsIDIzNiwgNSwgMjE5LCAxMDAsIDIzNSwgMjMyLCAyNDgsIDM0LCAyMjUsIDE2NywgMjQyLCAxMDUsIDI0OCwgCisgICAgMTc5LCAyMzIsIDIwMSwgMjI5LCAyMTEsIDIyNCwgMjU0LCAyNDQsIDE5MSwgMjMxLCAxNDIsIDI0MiwgMzMsIDI1MiwgMTM4LCAKKyAgICAyMjUsIDEsIDIxNywgMTcxLCAyMjUsIDY2LCAyMzQsIDY0LCA3OCwgMjMyLCAxMTEsIDIzMywgMTAsIDIyMiwgMjMzLCAyNDMsIAorICAgIDU0LCAyMTgsIDEzMSwgMjM0LCA2MywgMjUxLCAxNzEsIDI0OSwgMTQ4LCAyLCAyNDEsIDIyNywgMjEyLCAxOSwgMjUyLCA2OSwgCisgICAgMjQxLCAyMjcsIDI1MSwgMTM1LCAyNDEsIDIyNywgMTEzLCAyNDEsIDIyNSwgMjE5LCAxMCwgMjQxLCAyMjcsIDI0MiwgMTIwLCAKKyAgICAyNDEsIDIyNywgMjQxLCAyMjgsIDIsIDc0LCAyNTEsIDIwOCwgMjQxLCAyMjcsIDI0MiwgMTI3LCAyNDEsIDIyNywgMjExLCAKKyAgICA0MiwgMjQxLCAyMjcsIDIyNCwgMTI4LCAyNDEsIDIyNywgMjQxLCAyMjgsIDIsIDIyMywgMzMsIDIyMywgNDQsIDI0MSwgCisgICAgMjI1LCAyNDEsIDIyOCwgMjQ4LCA4MSwgMjQ3LCAyNDksIDIyMCwgODIsIDIsIDExNSwgNTksIDIzNSwgMjE1LCAyNDUsIAorICAgIDE3MiwgMTkyLCAyNTEsIDExNiwgMjU0LCAxMTIsIDg3LCAyNTEsIDE5NSwgMjE5LCA5MiwgODcsIDI0OSwgMjI4LCA4NywgCisgICAgMjE4LCAyNDYsIDIxNywgMjQ4LCA4NywgMjQ2LCA4NSwgMjQ4LCAxNTcsIDg3LCAyMjUsIDY3LCA2NCwgMjI0LCAyNDksIAorICAgIDI0NCwgNjEsIDI1MiwgMywgMjQ3LCAxNjUsIDg3LCAyMTksIDMsIDI1MiwgMTU4LCAyMTYsIDE0OSwgMjUyLCAxNTgsIDcxLCAKKyAgICAyNDQsIDUxLCAyNDAsIDIxMSwgMjI1LCA1LCA4NywgMjMwLCAxNDksIDI1MiwgMTcyLCAyNDksIDk4LCAyNDUsIDMyLCAxMTQsIAorICAgIDI0NywgMTMyLCA1MCwgMjQ5LCAxMzksIDI1MCwgMjQyLCAyNTIsIDE0NCwgMiwgMjExLCA0MCwgNTAsIDI1MiwgMTQ0LCAyLCAKKyAgICAyNDcsIDEzMiwgNTAsIDI1MiwgMTQ0LCAyLCAyNDUsIDQ3LCA1MCwgMjUyLCAxNDQsIDIsIDIyNCwgMjI4LCA1MCwgMjMwLCAKKyAgICAxNDksIDIsIDIxMSwgMjM1LCAyNTAsIDEzOCwgMiwgMjE0LCAxNTMsIDIxNSwgMjMxLCAyMiwgMjExLCA0MCwgNTAsIDIyMSwgCisgICAgMTc4LCAyMjUsIDE2NiwgMjQ5LCAyMDgsIDI1MSwgMTM5LCAyMzAsIDE4NiwgMjQ0LCA1NiwgMjQ3LCAxODUsIDIyNiwgMTYxLCAKKyAgICAyNDcsIDE5MCwgMjQ2LCA0OSwgMjQ0LCAxMDcsIDI0NCwgNDAsIDIwNCwgMjQ0LCAxMDcsIDI0NCwgNDAsIDIyNiwgNzYsIDIsIAorICAgIDI0OSwgMTAwLCAyMjYsIDc2LCAyNDQsIDE4MywgMjE0LCAxNjMsIDI1MSwgMTYsIDIxNywgMTgsIDI1MSwgMTYsIDI1MCwgCisgICAgMjQzLCAyMzUsIDI0MiwgMjUwLCAxMzgsIDIsIDIxNCwgMTUzLCAyMTUsIDIzMCwgMjUwLCAxMzgsIDIsIDI0NiwgMTA0LCAKKyAgICAyMTUsIDIzMCwgMjUyLCAxNDEsIDI1MCwgMTM3LCAyNTAsIDYsIDIyNCwgMTIzLCAyMjIsIDE4NSwgMjI0LCAxMjMsIDIyNiwgCisgICAgMTksIDIxOCwgMTIxLCAyMjIsIDEzMSwgMjE1LCAyMjIsIDIyMiwgMTMxLCAyNTEsIDE5MSwgMjE3LCA5MSwgMjMzLCA1MSwgCisgICAgMjI4LCA0NSwgMjI4LCA0NiwgMiwgMjQ4LCA4MCwgMjQ5LCAxNDcsIDI1MCwgMCwgMjUxLCAxOTIsIDIwNCwgMjUxLCAxOTIsIAorICAgIDI0MiwgMTI3LCAyNTEsIDE5MiwgMjUxLCAyMDgsIDI1MSwgMTkyLCAyMjYsIDE1NywgMjUxLCAxOTIsIDI1MSwgMTg5LCAKKyAgICAyMjksIDIwNSwgMjUyLCAxNzUsIDIyMSwgMTg2LCAyMzEsIDYwLCAyMTcsIDEsIDIyMywgMTIzLCAyMjYsIDc0LCAyNDQsIAorICAgIDE1OSwgMjMxLCAyMzQsIDIyMSwgMjIzLCAyNTQsIDg5LCAyMjQsIDE0NSwgMjU0LCAyNTIsIDIzMiwgMTEzLCAyNTAsIDEyNywgCisgICAgMjMxLCA3MiwgMjI2LCAxMjksIDIxNSwgMjM4LCAyMzUsIDI1MiwgMjE1LCAyMzgsIDIyNiwgODIsIDI0NiwgMjQsIDg3LCAKKyAgICAyMzUsIDI0OSwgMjQ1LCAxMTksIDI0NSwgMTIwLCAyLCAyNDYsIDEwNCwgODAsIDQ4LCAyNTAsIDAsIDIzMSwgMjAwLCAyLCAKKyAgICAyMzIsIDEwNywgMjQ0LCA3MywgMjUwLCAwLCAyMzEsIDIwMCwgMiwgMjIzLCAxNTcsIDI0NCwgNzMsIDIwNCwgMjMxLCAyMDAsIAorICAgIDIsIDIyMywgMTU3LCAyNDQsIDczLCAyMDQsIDIzMSwgMjAwLCAyLCAyMzIsIDEwNywgMjQ0LCA3MywgMjI0LCAyMzYsIDIyNCwgCisgICAgMjM3LCAyNDAsIDI0OCwgMjI5LCA4NCwgMjMwLCAxNTksIDIyNSwgMTE3LCAyMzAsIDE1OSwgMjI1LCAxMTgsIDIsIDk3LCAKKyAgICA4MCwgMjUzLCAyMDcsIDIzMywgNDYsIDIxMywgMTc1LCAyMzAsIDE1OCwgMjMwLCAxNTksIDIyNSwgMTE4LCAyMjYsIDIzMCwgCisgICAgMjI4LCA3NSwgMjMwLCAxNTksIDIyNSwgMTE2LCAyNTQsIDkwLCAyLCAyNTIsIDEyOSwgMjUxLCAxMCwgMjEzLCAxNzIsIAorICAgIDI1MSwgMTAsIDIxNiwgMjU0LCAyMjMsIDE3MywgMjEzLCAxNzEsIDIxNSwgNjAsIDk3LCAyNTMsIDI0NywgMjUwLCAyLCA5NywgCisgICAgMjIsIDE0MCwgMjA0LCAyNTAsIDM2LCAyNTMsIDI0NywgMjUwLCAyLCA5NywgMjIsIDE0MCwgMjA0LCAyNTAsIDM2LCAyNTMsIAorICAgIDI0OCwgMiwgMzcsIDEyMywgMjI2LCAxMjAsIDI1MCwgMiwgMjQ2LCAxMDQsIDIyLCAyMTQsIDE1MywgMjA0LCAyNTAsIDM2LCAKKyAgICAyNTMsIDI0NywgMjU0LCA4OCwgMjQ2LCAxMDQsIDIyLCAyMTQsIDE1MywgMjA0LCAyNTAsIDM2LCAyNTMsIDI0NywgMTIxLCAKKyAgICAyNTEsIDEzOCwgODcsIDEyNSwgMjUxLCAxMzgsIDg3LCAyMTksIDcsIDIsIDI1MSwgNCwgOTEsIDIxOSwgNiwgMjE5LCA3LCAKKyAgICAyLCAxMjMsIDIxOSwgMzEsIDIxMiwgMzUsIDIxOSwgNywgMiwgMTM0LCAyMTksIDMxLCAyMTIsIDM0LCAyNTIsIDExNSwgCisgICAgMjQ1LCAxNzIsIDIyNSwgMjcsIDIzMywgNDIsIDIzMSwgMjExLCAyNDIsIDE4NCwgMjIyLCAyNDcsIDIzMSwgMjExLCAyNDIsIAorICAgIDE4NCwgMjMyLCAxNTIsIDIsIDIzNSwgMjI1LCAyMjUsIDE5OSwgMjUwLCAwLCAyMzIsIDE1MiwgMiwgMjM0LCAxMzgsIDIzNCwgCisgICAgMTM4LCAyMzIsIDE1MSwgMjA0LCAyMzIsIDE1MSwgMjUyLCA0NCwgMjUyLCA0NSwgMiwgMjUxLCA0LCA5MSwgMjUxLCAxOTAsIAorICAgIDIzMiwgMjA0LCA4NywgMjIzLCAxNzQsIDI1MSwgODYsIDI1MiwgMTg1LCAyLCAxNDAsIDgwLCA0OCwgMjQ1LCAxNDMsIDIsIAorICAgIDE0MCwgODAsIDQ4LCAyMjYsIDE5NywgMiwgMjQ1LCAzMSwgMTY0LCAyLCA0MywgNDQsIDgwLCA0OCwgMjE5LCAzOSwgMiwgCisgICAgOTcsIDgwLCA0OCwgMjE2LCAxNCwgMiwgMjE0LCAxNTMsIDgwLCA0OCwgMjI4LCA3NSwgMTIzLCAyMTQsIDE4NCwgMjQ1LCAKKyAgICAxOTEsIDg3LCAyMzQsIDEzNiwgMjE2LCAyNDcsIDIzNSwgMjE5LCAxNiwgMzEsIDcsIDYsIDIzMywgOSwgMjM1LCAyMTksIAorICAgIDE2LCAzMSwgNywgNCwgMjMzLCA5LCAyMzUsIDIxOSwgMTYsIDMxLCAyMjcsIDE5OSwgMjM1LCAyMTksIDE2LCAzMSwgMjE3LCAKKyAgICAxODMsIDIzNSwgMjE5LCAxNiwgMzEsIDcsIDIzMywgOSwgMjQ0LCA5NiwgMjQ1LCAxNzIsIDIxNiwgOSwgMjExLCAxOTksIAorICAgIDI0MiwgMjEsIDIyNywgMTgyLCAyMiwgMjUxLCAxOTcsIDI0MSwgNjYsIDIyNSwgNTAsIDIzMCwgMjI2LCAyMTYsIDI1NSwgCisgICAgMjQ5LCAxMTQsIDI1MiwgMTU5LCAyMTksIDEyNSwgMjI1LCA5LCAyMTgsIDE1NywgMiwgMjMwLCAyMjQsIDI0NywgMTIwLCAKKyAgICAyMzUsIDEzMSwgMTYsIDMxLCAyNTIsIDU3LCAyMTUsIDIyMCwgMjQ1LCAxNTYsIDg1LCA0MiwgMjUxLCA4NiwgNzEsIDQyLCAKKyAgICAyNTEsIDg2LCAyMzMsIDg1LCAyMjMsIDExMSwgMjUwLCAzNSwgMjMzLCA4NSwgMjUxLCAyMDgsIDI1MCwgMzUsIDIzMywgODUsIAorICAgIDIyNiwgMTU3LCAyNDcsIDI0OCwgMjMzLCA4NSwgMjUxLCAyMDgsIDI0NywgMjQ4LCA0LCAyMjYsIDE1NywgMjQ3LCAyNDgsIAorICAgIDQsIDI1MSwgMjA4LCAyNDcsIDI0OCwgMjE0LCAxNjIsIDIyMywgMTExLCAyMTUsIDIyNSwgMjQ2LCAxMDUsIDIyMywgMTExLCAKKyAgICAyMTUsIDIyNSwgMjE0LCAxNjIsIDQsIDIyMywgMTExLCAyMTUsIDIyNSwgMjQ2LCAxMDUsIDQsIDIyMywgMTExLCAyMTUsIAorICAgIDIyNSwgMzcsIDI0OSwgMTMxLCAyMjQsIDI1MiwgMjQ5LCAxMzEsIDIyNCwgMjUzLCAyLCAyNDIsIDI2LCA1MSwgMjQ5LCAKKyAgICAxMzEsIDIyNCwgMjUyLCAyMjgsIDQ5LCA0MywgMjIwLCAxNTMsIDIsIDEzNCwgMjQ3LCAxMTgsIDI1MCwgNCwgMjQ0LCAxOTEsIAorICAgIDEyMywgMjI2LCAyNDIsIDI1MCwgNCwgMjQ0LCAxOTEsIDExMywgMjI2LCAyNDIsIDI1MCwgNCwgMjQ0LCAxOTEsIDEzNCwgCisgICAgMjI2LCAyNDIsIDI1MCwgNCwgMjQ0LCAxOTEsIDI0NCwgMTEsIDIyNiwgMjQyLCAyNTAsIDQsIDI0NCwgMTkxLCAyNDQsIDgxLCAKKyAgICAyMjYsIDI0MiwgMjUwLCA0LCAyNDQsIDE5MSwgMjE5LCAxMjUsIDIyNiwgMjQyLCAyNTAsIDQsIDI0NCwgMTkxLCAyMjAsIAorICAgIDEyMiwgMjI2LCAyNDIsIDI1MCwgNCwgMjQ0LCAxOTEsIDI0NSwgMTkzLCAyMjYsIDI0MiwgMjUwLCA0LCAyNDQsIDE5MSwgCisgICAgMjI4LCAyMDAsIDIyNiwgMjQyLCAyNTAsIDQsIDI0NCwgMTkxLCAyMTYsIDI0OCwgMjI2LCAyNDIsIDI1MCwgNCwgMjQ0LCAKKyAgICAxOTEsIDI0NSwgMTY4LCAyMjYsIDI0MiwgMjUwLCA0LCAyNDQsIDE5MSwgMjE1LCA3NywgMjI2LCAyNDIsIDI1MCwgNCwgCisgICAgMjQ0LCAxOTEsIDIyNiwgMTkyLCAyNTAsIDQsIDI0NCwgMTkxLCAyMTUsIDU2LCAyNTAsIDQsIDI0NCwgMTkxLCAyMTYsIAorICAgIDE0MCwgMjUwLCA0LCAyNDQsIDE5MSwgMjQ0LCA3LCAyNTAsIDQsIDI0NCwgMTkxLCAyNDQsIDc5LCAyNTAsIDQsIDI0NCwgCisgICAgMTkxLCAyMTksIDEyMSwgMjUwLCA0LCAyNDQsIDE5MSwgMjIwLCAxMjEsIDI1MCwgNCwgMjQ0LCAxOTEsIDI0NSwgMTkyLCAKKyAgICAyNTAsIDQsIDI0NCwgMTkxLCAyMjgsIDE5OSwgMjUwLCA0LCAyNDQsIDE5MSwgMjE2LCAyNDYsIDI1MCwgNCwgMjQ0LCAxOTEsIAorICAgIDI0NSwgMTY2LCAyNTAsIDQsIDI0NCwgMTkxLCAyMTUsIDc1LCAyMzAsIDExNywgMjQzLCAyMzAsIDIxNiwgMzYsIDIxNiwgMiwgCisgICAgMjE4LCAxNDgsIDY0LCAyMzIsIDIzOSwgMjE5LCAxNzAsIDY0LCAyMzUsIDEzMiwgMjMwLCAxMDYsIDI0MiwgMTI0LCAyNDQsIAorICAgIDE5MCwgMjQyLCAxMjQsIDI0NCwgMTkxLCAyLCAyMTksIDc0LCAyNDUsIDEzLCAyNDQsIDE5MSwgMiwgMjE3LCAxNCwgNjQsIAorICAgIDIzNSwgNTMsIDIxOSwgNzQsIDI0NCwgMTkxLCAyLCAyMDQsIDIzMCwgMTEwLCAyMTksIDc0LCAyNDQsIDE5MSwgMiwgMjA0LCAKKyAgICAyMzAsIDExMSwgMjIsIDIxOSwgNzQsIDI0NSwgMTMsIDIxOSwgNzQsIDI0NCwgMTkxLCAyLCAyMDQsIDIzMCwgMTExLCAyMiwgCisgICAgMjQ5LCAyMzAsIDIxNywgMjQ3LCAyMTksIDc0LCAyNDQsIDE5MSwgMiwgMjA0LCAyMzAsIDExMSwgMjIsIDIxNiwgMTA0LCAKKyAgICAyNDUsIDEzLCAyMTksIDc0LCAyNDQsIDE5MSwgMiwgMjQyLCAyNSwgMjE5LCA3NCwgMjQ0LCAxOTEsIDIsIDI0MCwgMjQ3LCAKKyAgICAyMTEsIDIzMywgMjQ0LCAxOTAsIDIxOSwgNzQsIDI0NCwgMTkxLCAyLCAyMTksIDc0LCAyNDUsIDEzLCAyNDQsIDE5MSwgCisgICAgMjIxLCAyMTcsIDI0OCwgNjIsIDI0NCwgMzMsIDIyMywgODgsIDI0NCwgMTkwLCAyMTksIDc0LCAyNDQsIDE5MSwgMiwgMjQxLCAKKyAgICAyMjYsIDI0NSwgMTMsIDIxOSwgNzQsIDI0NCwgMTkxLCAyLCAyMTgsIDM0LCAyMTksIDczLCAyNDQsIDE5MCwgMjI5LCA4NywgCisgICAgMjQ0LCAxOTAsIDI0NSwgMjMsIDI0NCwgMTkwLCAyMTQsIDE4OCwgMjQ0LCAxOTAsIDI0NCwgMTkxLCAyLCAyNDksIDIzMCwgCisgICAgMjE3LCAyNDcsIDIyNSwgMTkyLCAyNDQsIDE5MCwgMjQ5LCAyMDEsIDI0NCwgMTkwLCAyNDksIDIwMiwgMjQ0LCAxOTAsIAorICAgIDIzNCwgNjIsIDI0NCwgMTkwLCAyNDQsIDE5MSwgMjE2LCAxMzcsIDExNSwgMjM0LCA2MywgMjM0LCA2MiwgMjQ0LCAxOTEsIAorICAgIDIsIDIxOSwgNzQsIDI0NSwgMTMsIDIzNCwgNjIsIDI0NCwgMTkxLCAyLCAyNTAsIDAsIDI0NSwgMTMsIDI0NCwgMTkxLCAyLCAKKyAgICAyMTgsIDg4LCAyMTYsIDE5LCAyNDQsIDE5MSwgMiwgMjE4LCA4OCwgMjE2LCAyMCwgMjIsIDIxMSwgMjMzLCAyNDUsIDE1LCAKKyAgICAyNDQsIDE5MSwgMiwgMjE4LCA4OCwgMjE2LCAyMCwgMjIsIDIxNiwgMTA0LCAyNDUsIDEzLCAyNDcsIDE5MiwgMjQ0LCAxOTAsIAorICAgIDIxMSwgMjA0LCAyNDQsIDE5MCwgMjU0LCAxMDgsIDI0NCwgMTkwLCAyMjQsIDIyNywgMjQ0LCAxOTAsIDI0OSwgMTE2LCAKKyAgICAyNDQsIDE5MCwgMjI1LCAxNzAsIDI0NCwgMTkwLCAyNDQsIDE5MSwgMiwgMjMyLCAxMjYsIDY0LCAyMTUsIDIwNCwgMjQ3LCAKKyAgICAxOTIsIDI1MSwgODgsIDIyMywgODgsIDI0NCwgMTkwLCAyNDMsIDIzOSwgMjQ0LCAxOTEsIDIsIDIwNCwgMjMwLCAxMTAsIAorICAgIDI1NCwgMTA2LCAyNDQsIDE5MCwgMjQ0LCAxNTIsIDI0NCwgMTkwLCAyMTIsIDIwLCAyNDQsIDE5MCwgMjE5LCA5MSwgMjQ0LCAKKyAgICAxOTAsIDIxNiwgNzEsIDI0NCwgMTkwLCAyNDIsIDEyNSwgMjQ0LCAxOTAsIDIzMiwgMTE0LCAyNDksIDExNiwgMjQ0LCAxOTAsIAorICAgIDI0NCwgMTkxLCAyLCAyMDQsIDIzMCwgMTEwLCAyNDAsIDIwMywgMjQ0LCAxOTAsIDI0NCwgMTkxLCAyLCAyMDQsIDIzMCwgCisgICAgMTExLCAyMiwgMjQ5LCAyMzAsIDIxNywgMjQ3LCAyNDQsIDE5MSwgMjIxLCAxOTAsIDIzNiwgMCwgMjQ0LCAxNTMsIDI1MywgCisgICAgMjEzLCAyNDQsIDE5MCwgMjQ0LCA0OSwgMjQ0LCAxOTAsIDIxOSwgOTIsIDI0NCwgMTkwLCAyNDcsIDE2NSwgMjQ0LCAxOTAsIAorICAgIDI0NCwgMTkxLCAyMTEsIDIzMCwgMjMwLCAxMTAsIDI0NCwgMTkxLCAyLCAyMzEsIDg0LCAyMzEsIDE0NCwgMjQyLCAxMjQsIAorICAgIDI1MCwgMjI1LCAyNDQsIDE5MSwgMiwgMjE5LCA3NCwgMjQ1LCAxMywgMjUwLCAyMjUsIDI0NCwgMTkxLCAyLCAyMTcsIDE0LCAKKyAgICA2NCwgMjM1LCA1MywgMjE5LCA3NCwgMjUwLCAyMjUsIDI0NCwgMTkxLCAyLCAyMDQsIDIzMCwgMTEwLCAyMTksIDc0LCAyNTAsIAorICAgIDIyNSwgMjQ0LCAxOTEsIDIsIDI0MSwgMjI2LCAyNDUsIDEzLCAyNTAsIDIyNSwgMjQ0LCAxOTEsIDIsIDIxMSwgMTk2LCAKKyAgICAyMTksIDc1LCAyMzQsIDYyLCAyNTAsIDIyNSwgMjQ0LCAxOTEsIDIsIDI1MCwgMCwgMjQ1LCAxMywgMjI0LCAyMjcsIDI1MCwgCisgICAgMjI1LCAyNDQsIDE5MCwgMjQ5LCAxMTYsIDI1MCwgMjI1LCAyNDQsIDE5MCwgMjEyLCAyMCwgMjUwLCAyMjUsIDI0NCwgMTkwLCAKKyAgICAyNDQsIDE5MSwgMiwgMjI4LCA3NSwgMjQyLCAxNjMsIDI0MywgMzQsIDI0NCwgMTkxLCAyLCAyMjYsIDIxNSwgMjQzLCAzNCwgCisgICAgMjI1LCAxNjgsIDI1MSwgMTY4LCAyNDgsIDc1LCAyMjEsIDE2OSwgMjMwLCAxNDUsIDI0MSwgMjI5LCAyMzAsIDE0NSwgMjE5LCAKKyAgICA4LCAyMzAsIDE0NSwgMjQyLCA1LCAyMjUsIDE2OCwgMjIzLCAxNTYsIDEyMywgMjQyLCAxNSwgMjI1LCAxNjgsIDIyMywgCisgICAgMTU2LCAyNTEsIDE3OCwgMjQyLCAxMSwgMjM2LCAwLCAyNTAsIDE3OSwgMjI1LCAxNjgsIDI0MywgMjM4LCAyMjUsIDE2OCwgCisgICAgMiwgMjI0LCAyMjcsIDI0NCwgMTkwLCAyMjUsIDE2OCwgMiwgMjQ0LCA0MSwgMjQyLCAxMCwgMjIyLCAyMDMsIDI0MSwgMjE0LCAKKyAgICAyMTgsIDE0MywgMjMyLCAxNDksIDIyMywgMTYyLCAyNTAsIDI0NCwgMjQxLCAxNjIsIDIxNSwgMjQ4LCAyNDEsIDE2MiwgCisgICAgMjE1LCAyNDksIDIsIDI1MSwgMTE0LCAyMjgsIDUzLCAyMTUsIDI0OCwgMjMxLCAzMiwgMTkyLCAyMjMsIDE2MywgMjE4LCAKKyAgICAxNDksIDIxNSwgMjQ2LCAyMTUsIDI0NywgMjUwLCAyNDQsIDI1MSwgOTIsIDIyNiwgMTk0LCAyNTEsIDkyLCAyMTUsIDIwMSwgCisgICAgMjUxLCA5MywgMjE4LCAxMjksIDIzMCwgMTg3LCAyNTQsIDEzMCwgMjQ0LCA5NywgMjQ1LCAxMzcsIDIyNCwgMjU1LCAyNTAsIAorICAgIDI0NCwgMjI2LCAxOTQsIDIyNCwgMjU1LCAyNTAsIDI0NCwgMjE3LCAzMiwgMjI2LCAxOTQsIDIxNywgMzIsIDI1MywgMTgwLCAKKyAgICAyMjYsIDE5NCwgMjUzLCAxODAsIDIyMywgMTE4LCAyMTMsIDI0NywgMjQ4LCA1OCwgMjE1LCAxOTIsIDI1MywgMjQyLCAyMzIsIAorICAgIDExNywgMjE1LCAyNTQsIDIzMCwgMTM5LCAyMzAsIDExNiwgMjIzLCAxNjEsIDIxOCwgNiwgMjIzLCAxNjEsIDIzMCwgMTE2LCAKKyAgICAyNTEsIDI4LCAyNTQsIDIyOSwgMjE1LCAyNDUsIDIyMCwgMTYsIDIyMiwgMTgyLCAyMTksIDEsIDIwMywgMjE1LCAyNTIsIAorICAgIDIzMiwgMjMwLCA2NywgMjE1LCAyNTIsIDIzMiwgMjMwLCAyNDksIDE5MCwgNTAsIDIyNCwgMjU1LCAyNTAsIDIyOSwgMjIzLCAKKyAgICA0NCwgMjMyLCAyMzAsIDIxNSwgMjIyLCAyNDQsIDc0LCAyMjYsIDE5NywgMjI0LCAyMzgsIDI0NywgMTIzLCAyMjgsIDc1LCAKKyAgICAyNDUsIDEyNSwgNTAsIDIxOSwgNzIsIDg3LCAyMjgsIDc1LCAyMTksIDcyLCA4NywgMjI0LCAxMjIsIDIzMiwgMTkzLCAyMzYsIAorICAgIDAsIDIzNSwgMTU3LCAyMjUsIDQxLCA4NywgMjQ3LCAxNDYsIDIyOCwgNTIsIDIzMiwgMTkzLCA4NywgMjI0LCAyMzIsIDIxMiwgCisgICAgNDEsIDg3LCAyMjgsIDY2LCAyMTIsIDQxLCA4NywgMjUyLCAyLCAyMjgsIDc1LCAyNTIsIDEsIDI1MiwgMCwgMjMwLCAxMTYsIAorICAgIDI1MiwgMCwgMjI1LCAyMTMsIDIyOCwgNzUsIDIyNSwgMjEyLCAyNTAsIDEwMCwgMjQ5LCAxMjQsIDIzMSwgNTYsIDg3LCAKKyAgICAyMTEsIDIxOCwgODcsIDIyMywgNTksIDI1MiwgMTg3LCA4NywgMjE2LCAzNywgMjEyLCA0MSwgMjQ5LCAyNTMsIDIxOSwgCisgICAgMjM0LCAyNTIsIDExOCwgMjUyLCAxMTYsIDIyNSwgMjQyLCAyNDksIDE3NywgMjQ5LCA4NiwgMjUyLCAxNjksIDI1MCwgMjIsIAorICAgIDQzLCAyMzIsIDkwLCAxMDgsIDE2LCAzMSwgMjI0LCAzLCAxMDgsIDE2LCAzMSwgMjU0LCAxOTIsIDEwOCwgMTYsIDMxLCAKKyAgICAyNDQsIDk2LCAxMDgsIDE2LCAzMSwgMjQ1LCAyMjMsIDEwOCwgMTYsIDMxLCAyMTIsIDQwLCAxMDgsIDE2LCAzMSwgMjU0LCAKKyAgICA0MywgMTA4LCAxNiwgMzEsIDI1NCwgNDQsIDIyMywgMTA1LCAxMDgsIDE2LCAzMSwgMjU0LCA0NCwgMjIzLCAxMDQsIDEwOCwgCisgICAgMTYsIDMxLCAyNTQsIDQ0LCAyMTMsIDE0MywgMTA4LCAxNiwgMzEsIDI1NCwgNDQsIDIxMywgMTQyLCAxMDgsIDE2LCAzMSwgCisgICAgMjEzLCAxNTcsIDEwOCwgMTYsIDMxLCAyMTMsIDE1NiwgMTA4LCAxNiwgMzEsIDIxMywgMTU1LCAxMDgsIDE2LCAzMSwgMjE4LCAKKyAgICA0NCwgMTA4LCAxNiwgMzEsIDIyNSwgMTI1LCAyMTgsIDQ0LCAxMDgsIDE2LCAzMSwgODUsIDIxOCwgNDQsIDEwOCwgMTYsIAorICAgIDMxLCAyMzEsIDU1LCAyMTgsIDcxLCAxMDgsIDE2LCAzMSwgMjMxLCA1NSwgMjE4LCA3MCwgMTA4LCAxNiwgMzEsIDIzMSwgCisgICAgNTUsIDIxOCwgNjksIDEwOCwgMTYsIDMxLCAyNTAsIDM4LCAxMDgsIDE2LCAzMSwgMjIyLCAxLCAxMDgsIDE2LCAzMSwgMjI4LCAKKyAgICAxODgsIDEwOCwgMTYsIDMxLCAyMTMsIDE0MSwgMTA4LCAxNiwgMzEsIDIxMywgMTQwLCAxMDgsIDE2LCAzMSwgMjIyLCAyMDQsIAorICAgIDIyMiwgMSwgMTA4LCAxNiwgMzEsIDIyMiwgMjA0LCAyMjIsIDAsIDEwOCwgMTYsIDMxLCAyNDIsIDE2NiwgMTA4LCAxNiwgCisgICAgMzEsIDIxOSwgMTY2LCAxMDgsIDE2LCAzMSwgMjM1LCAxNzcsIDIyNiwgMTUzLCAxMDgsIDE2LCAzMSwgMjM1LCAxNzcsIAorICAgIDIyNiwgMTUyLCAxMDgsIDE2LCAzMSwgMjQ5LCAxMzQsIDY0LCAyMzUsIDE3NiwgMTA4LCAxNiwgMzEsIDIyMywgMTAxLCA2NCwgCisgICAgMjM1LCAxNzYsIDEwOCwgMTYsIDMxLCAyNDksIDE2OCwgMjI2LCAxNTMsIDEwOCwgMTYsIDMxLCAyMzUsIDE3NSwgMjI2LCAKKyAgICAxNTMsIDEwOCwgMTYsIDMxLCAyMTgsIDcyLCA2NCwgMjQ5LCAxNjcsIDEwOCwgMTYsIDMxLCAyNDksIDEzNCwgNjQsIDI0OSwgCisgICAgMTY3LCAxMDgsIDE2LCAzMSwgMjQ5LCAxMzQsIDY0LCAyNDksIDE2NiwgMTA4LCAxNiwgMzEsIDI0OSwgMTY4LCAyNTQsIDgzLCAKKyAgICAxMDgsIDE2LCAzMSwgMjIyLCAyLCA2NCwgMjQ5LCAxNjgsIDI1NCwgODMsIDEwOCwgMTYsIDMxLCAyMTgsIDcyLCA2NCwgCisgICAgMjIyLCAyLCA2NCwgMjQ5LCAxNjcsIDEwOCwgMTYsIDMxLCAyMTMsIDI0MywgMTA4LCAxNiwgMzEsIDIxNiwgODQsIDIyNiwgCisgICAgMTUzLCAxMDgsIDE2LCAzMSwgMjMzLCA1NywgMjI2LCAxNTMsIDEwOCwgMTYsIDMxLCAyNTQsIDgyLCAyMjYsIDE1MywgMTA4LCAKKyAgICAxNiwgMzEsIDIxOCwgNzIsIDY0LCAyNTQsIDgxLCAxMDgsIDE2LCAzMSwgMjIyLCAyLCA2NCwgMjU0LCA4MSwgMTA4LCAxNiwgCisgICAgMzEsIDIxOCwgNzIsIDY0LCAyMjIsIDIsIDY0LCAyNTQsIDgxLCAxMDgsIDE2LCAzMSwgMjEzLCAxNTgsIDY0LCAyNTQsIDgxLCAKKyAgICAxMDgsIDE2LCAzMSwgMjIzLCAxMDEsIDY0LCAyNTQsIDgxLCAxMDgsIDE2LCAzMSwgMjIzLCAxMDEsIDY0LCAyNTQsIDgwLCAKKyAgICAxMDgsIDE2LCAzMSwgMjIzLCAxMDAsIDEwOCwgMTYsIDMxLCAyMjMsIDk5LCAxMDgsIDE2LCAzMSwgMjIzLCA5OCwgMTA4LCAKKyAgICAxNiwgMzEsIDIyMywgOTcsIDEwOCwgMTYsIDMxLCAyNTQsIDE1NywgMTA4LCAxNiwgMzEsIDI1NCwgMTU2LCAxMDgsIDE2LCAKKyAgICAzMSwgMjMxLCAxNjMsIDEwOCwgMTYsIDMxLCAyMjIsIDcsIDEwOCwgMTYsIDMxLCAyNTMsIDI0NiwgMTA4LCAxNiwgMzEsIAorICAgIDIyMywgMTI1LCAxMDgsIDE2LCAzMSwgMjIzLCAxMjQsIDEwOCwgMTYsIDMxLCAyNTMsIDE4MywgMTA4LCAxNiwgMzEsIDI1MSwgCisgICAgMjI5LCAyMjYsIDE1MywgMTA4LCAxNiwgMzEsIDIxNywgNDksIDEwOCwgMTYsIDMxLCAyMTcsIDQ4LCAxMDgsIDE2LCAzMSwgCisgICAgMjI0LCA4LCAyMzIsIDIyMiwgMTA4LCAxNiwgMzEsIDI1MSwgMTgzLCAxMDgsIDE2LCAzMSwgMjUxLCAxODIsIDEwOCwgMTYsIAorICAgIDMxLCAyNTEsIDE4MSwgMTA4LCAxNiwgMzEsIDI1NCwgMTM4LCAxMDgsIDE2LCAzMSwgMjI2LCAyMTgsIDEwOCwgMTYsIDMxLCAKKyAgICAyMTgsIDI0OCwgMTA4LCAxNiwgMzEsIDIxNiwgODIsIDEwOCwgMTYsIDMxLCAyNDIsIDk2LCAxMDgsIDE2LCAzMSwgMjEyLCAKKyAgICAyOCwgMTA4LCAxNiwgMzEsIDIyNCwgMjI2LCAxMDgsIDE2LCAzMSwgMjUxLCAxNCwgMTA4LCAxNiwgMzEsIDIxNSwgODYsIAorICAgIDEwOCwgMTYsIDMxLCAyNTAsIDI0NiwgMjMwLCAxMjIsIDEwOCwgMTYsIDMxLCAyMjEsIDIwMiwgNjQsIDIzNSwgNTUsIDEwOCwgCisgICAgMTYsIDMxLCAyNTEsIDI1LCAxMDgsIDE2LCAzMSwgMjE1LCAyMTksIDEwOCwgMTYsIDMxLCAyMTgsIDE1NCwgMjE1LCAyMTksIAorICAgIDEwOCwgMTYsIDMxLCAyMzIsIDE0OCwgMTA4LCAxNiwgMzEsIDIxOSwgNTYsIDEwOCwgMTYsIDMxLCAyMTQsIDE0MiwgMTA4LCAKKyAgICAxNiwgMzEsIDI0MCwgMjQ2LCAyNDYsIDY0LCAxMDgsIDE2LCAzMSwgMjUzLCAyMjcsIDEwOCwgMTYsIDMxLCAyMjQsIDIzNCwgCisgICAgMjUzLCAyMjcsIDEwOCwgMTYsIDMxLCAyNTEsIDE0MiwgMTA4LCAxNiwgMzEsIDIyNCwgMjI1LCAyNTEsIDE0MiwgMTA4LCAKKyAgICAxNiwgMzEsIDI1NCwgMTM1LCAxMDgsIDE2LCAzMSwgMjE4LCAxMTcsIDIxOCwgMjYsIDIxOCwgMTE2LCAxMDgsIDE2LCAzMSwgCisgICAgMjE4LCAxMTcsIDIxOCwgMjYsIDIxOCwgMTE1LCAxMDgsIDE2LCAzMSwgMjE4LCA2OCwgMTA4LCAxNiwgMzEsIDIyNCwgMjAwLCAKKyAgICAxMDgsIDE2LCAzMSwgMjQ3LCAxODEsIDEwOCwgMTYsIDMxLCAyNDcsIDE4MywgMTA4LCAxNiwgMzEsIDI0NywgMTgyLCAxMDgsIAorICAgIDE2LCAzMSwgMjI0LCAxMzEsIDEwOCwgMTYsIDMxLCAyMjQsIDEyMCwgMTA4LCAxNiwgMzEsIDI0OSwgMTIyLCAxMDgsIDE2LCAKKyAgICAzMSwgMjQ5LCAxMjEsIDEwOCwgMTYsIDMxLCAyNDksIDEyMCwgMTA4LCAxNiwgMzEsIDI0OSwgMTE5LCAxMDgsIDE2LCAzMSwgCisgICAgMjQ5LCAxMTgsIDEwOCwgMTYsIDMxLCAyNTQsIDE2OSwgMTA4LCAxNiwgMzEsIDI1MiwgMTE5LCA2NCwgMjMxLCAxNDksIAorICAgIDEwOCwgMTYsIDMxLCAyNTIsIDExOSwgNjQsIDIxNCwgMTcsIDEwOCwgMTYsIDMxLCAyMjMsIDU3LCAxMDgsIDE2LCAzMSwgCisgICAgMjQwLCAyMzgsIDEwOCwgMTYsIDMxLCAyMjgsIDIxMiwgMTA4LCAxNiwgMzEsIDI0OCwgMTQ1LCAxMDgsIDE2LCAzMSwgMjMwLCAKKyAgICAxMzQsIDEwOCwgMTYsIDMxLCAxNjMsIDI0NiwgOTQsIDEwOCwgMTYsIDMxLCAxNjMsIDIyNiwgMTMyLCA5LCAxNCwgMjQwLCAKKyAgICAxMDIsIDksIDE0LCAyNDAsIDEwMSwgOSwgMTQsIDI0MCwgMTAwLCA5LCAxNCwgMjQwLCA5OSwgOSwgMTQsIDI0MCwgOTgsIDksIAorICAgIDE0LCAyNDAsIDk3LCA5LCAxNCwgMjQwLCA5NiwgOSwgMTQsIDI0MCwgOTUsIDksIDE0LCAyNDAsIDk0LCA5LCAxNCwgMjQwLCAKKyAgICA5MywgOSwgMTQsIDI0MCwgOTIsIDksIDE0LCAyNDAsIDkxLCA5LCAxNCwgMjQwLCA5MCwgOSwgMTQsIDI0MCwgODksIDksIAorICAgIDE0LCAyNDAsIDg4LCA5LCAxNCwgMjQwLCA4NywgOSwgMTQsIDI0MCwgODYsIDksIDE0LCAyNDAsIDg1LCA5LCAxNCwgMjQwLCAKKyAgICA4NCwgOSwgMTQsIDI0MCwgODMsIDksIDE0LCAyNDAsIDgyLCA5LCAxNCwgMjQwLCA4MSwgOSwgMTQsIDI0MCwgODAsIDksIAorICAgIDE0LCAyNDAsIDc5LCA5LCAxNCwgMjQwLCA3OCwgOSwgMTQsIDI0MCwgNzcsIDksIDE0LCAyNDAsIDc2LCA5LCAxNCwgMjQwLCAKKyAgICA3NSwgOSwgMTQsIDI0MCwgNzQsIDksIDE0LCAyNDAsIDczLCA5LCAxNCwgMjQwLCA3MiwgOSwgMTQsIDI0MCwgNzEsIDksIAorICAgIDE0LCAyNDAsIDcwLCA5LCAxNCwgMjQwLCA2OSwgOSwgMTQsIDI0MCwgNjgsIDksIDE0LCAyNDAsIDY3LCA5LCAxNCwgMjQwLCAKKyAgICA2NiwgOSwgMTQsIDI0MCwgNjUsIDksIDE0LCAyNDAsIDY0LCA5LCAxNCwgMjQwLCA2MywgOSwgMTQsIDI0MCwgNjIsIDksIAorICAgIDE0LCAyNDAsIDYxLCA5LCAxNCwgMjQwLCA2MCwgOSwgMTQsIDI0MCwgNTksIDksIDE0LCAyNDAsIDU4LCA5LCAxNCwgMjQwLCAKKyAgICA1NywgOSwgMTQsIDI0MCwgNTYsIDksIDE0LCAyNDAsIDU1LCA5LCAxNCwgMjQwLCA1NCwgOSwgMTQsIDI0MCwgNTMsIDksIAorICAgIDE0LCAyNDAsIDUyLCA5LCAxNCwgMjQwLCA1MSwgOSwgMTQsIDI0MCwgNTAsIDksIDE0LCAyNDAsIDQ5LCA5LCAxNCwgMjQwLCAKKyAgICA0OCwgOSwgMTQsIDI0MCwgNDcsIDksIDE0LCAyNDAsIDQ2LCA5LCAxNCwgMjQwLCA0NSwgOSwgMTQsIDI0MCwgNDQsIDksIAorICAgIDE0LCAyNDAsIDQzLCA5LCAxNCwgMjQwLCA0MiwgOSwgMTQsIDI0MCwgNDEsIDksIDE0LCAyNDAsIDQwLCA5LCAxNCwgMjQwLCAKKyAgICAzOSwgOSwgMTQsIDI0MCwgMzgsIDksIDE0LCAyNDAsIDM3LCA5LCAxNCwgMjQwLCAzNiwgOSwgMTQsIDI0MCwgMzUsIDksIAorICAgIDE0LCAyNDAsIDM0LCA5LCAxNCwgMjQwLCAzMywgOSwgMTQsIDI0MCwgMzIsIDksIDE0LCAyNDAsIDMxLCA5LCAxNCwgMjQwLCAKKyAgICAzMCwgOSwgMTQsIDI0MCwgMjksIDksIDE0LCAyNDAsIDI4LCA5LCAxNCwgMjQwLCAyNywgOSwgMTQsIDI0MCwgMjYsIDksIAorICAgIDE0LCAyNDAsIDI1LCA5LCAxNCwgMjQwLCAyNCwgOSwgMTQsIDI0MCwgMjMsIDksIDE0LCAyNDAsIDIyLCA5LCAxNCwgMjQwLCAKKyAgICAyMSwgOSwgMTQsIDI0MCwgMjAsIDksIDE0LCAyNDAsIDE5LCA5LCAxNCwgMjQwLCAxOCwgOSwgMTQsIDI0MCwgMTcsIDksIAorICAgIDE0LCAyNDAsIDE2LCA5LCAxNCwgMjQwLCAxNSwgOSwgMTQsIDI0MCwgMTQsIDksIDE0LCAyNDAsIDEzLCA5LCAxNCwgMjQwLCAKKyAgICAxMiwgOSwgMTQsIDI0MCwgMTEsIDksIDE0LCAyNDAsIDEwLCA5LCAxNCwgMjQwLCA5LCA5LCAxNCwgMjQwLCA4LCA5LCAxNCwgCisgICAgMjQwLCA3LCA5LCAxNCwgMjQwLCA2LCA5LCAxNCwgMjQwLCA1LCA5LCAxNCwgMjQwLCA0LCA5LCAxNCwgMjQwLCAzLCA5LCAKKyAgICAxNCwgMjQwLCAyLCA5LCAxNCwgMjQwLCAxLCA5LCAxNCwgMjQwLCAwLCA5LCAxNCwgMjM5LCAyNTUsIDksIDE0LCAyMzksIAorICAgIDI1NCwgOSwgMTQsIDIzOSwgMjUzLCA5LCAxNCwgMjM5LCAyNTIsIDksIDE0LCAyMzksIDI1MSwgOSwgMTQsIDIzOSwgMjUwLCAKKyAgICA5LCAxNCwgMjM5LCAyNDksIDksIDE0LCAyMzksIDI0OCwgOSwgMTQsIDIzOSwgMjQ3LCA5LCAxNCwgMjM5LCAyNDYsIDksIAorICAgIDE0LCAyMzksIDI0NSwgOSwgMTQsIDIzOSwgMjQ0LCA5LCAxNCwgMjM5LCAyNDMsIDksIDE0LCAyMzksIDI0MiwgOSwgMTQsIAorICAgIDIzOSwgMjQxLCA5LCAxNCwgMjM5LCAyNDAsIDksIDE0LCAyMzksIDIzOSwgOSwgMTQsIDIzOSwgMjM4LCA5LCAxNCwgMjM5LCAKKyAgICAyMzcsIDksIDE0LCAyMzksIDIzNiwgOSwgMTQsIDIzOSwgMjM1LCA5LCAxNCwgMjM5LCAyMzQsIDksIDE0LCAyMzksIDIzMywgCisgICAgOSwgMTQsIDIzOSwgMjMyLCA5LCAxNCwgMjM5LCAyMzEsIDksIDE0LCAyMzksIDIzMCwgOSwgMTQsIDIzOSwgMjI5LCA5LCAKKyAgICAxNCwgMjM5LCAyMjgsIDksIDE0LCAyMzksIDIyNywgOSwgMTQsIDIzOSwgMjI2LCA5LCAxNCwgMjM5LCAyMjUsIDksIDE0LCAKKyAgICAyMzksIDIyNCwgOSwgMTQsIDIzOSwgMjIzLCA5LCAxNCwgMjM5LCAyMjIsIDksIDE0LCAyMzksIDIyMSwgOSwgMTQsIDIzOSwgCisgICAgMjIwLCA5LCAxNCwgMjM5LCAyMTksIDksIDE0LCAyMzksIDIxOCwgOSwgMTQsIDIzOSwgMjE3LCA5LCAxNCwgMjM5LCAyMTYsIAorICAgIDksIDE0LCAyMzksIDIxNSwgOSwgMTQsIDIzOSwgMjE0LCA5LCAxNCwgMjM5LCAyMTMsIDksIDE0LCAyMzksIDIxMiwgOSwgCisgICAgMTQsIDIzOSwgMjExLCA5LCAxNCwgMjM5LCAyMTAsIDksIDE0LCAyMzksIDIwOSwgOSwgMTQsIDIzOSwgMjA4LCA5LCAxNCwgCisgICAgMjM5LCAyMDcsIDksIDE0LCAyMzksIDIwNiwgOSwgMTQsIDIzOSwgMjA1LCA5LCAxNCwgMjM5LCAyMDQsIDksIDE0LCAyMzksIAorICAgIDIwMywgOSwgMTQsIDIzOSwgMjAyLCA5LCAxNCwgMjM5LCAyMDEsIDksIDE0LCAyMzksIDIwMCwgOSwgMTQsIDIzOSwgMTk5LCAKKyAgICA5LCAxNCwgMjM5LCAxOTgsIDksIDE0LCAyMzksIDE5NywgOSwgMTQsIDIzOSwgMTk2LCA5LCAxNCwgMjM5LCAxOTUsIDksIAorICAgIDE0LCAyMzksIDE5NCwgOSwgMTQsIDIzOSwgMTkzLCA5LCAxNCwgMjM5LCAxOTIsIDksIDE0LCAyMzksIDE5MSwgOSwgMTQsIAorICAgIDIzOSwgMTkwLCA5LCAxNCwgMjM5LCAxODksIDksIDE0LCAyMzksIDE4OCwgOSwgMTQsIDIzOSwgMTg3LCA5LCAxNCwgMjM5LCAKKyAgICAxODYsIDksIDE0LCAyMzksIDE4NSwgOSwgMTQsIDIzOSwgMTg0LCA5LCAxNCwgMjM5LCAxODMsIDksIDE0LCAyMzksIDE4MiwgCisgICAgOSwgMTQsIDIzOSwgMTgxLCA5LCAxNCwgMjM5LCAxODAsIDksIDE0LCAyMzksIDE3OSwgOSwgMTQsIDIzOSwgMTc4LCA5LCAKKyAgICAxNCwgMjM5LCAxNzcsIDksIDE0LCAyMzksIDE3NiwgOSwgMTQsIDIzOSwgMTc1LCA5LCAxNCwgMjM5LCAxNzQsIDksIDE0LCAKKyAgICAyMzksIDE3MywgOSwgMTQsIDIzOSwgMTcyLCA5LCAxNCwgMjM5LCAxNzEsIDksIDE0LCAyMzksIDE3MCwgOSwgMTQsIDIzOSwgCisgICAgMTY5LCA5LCAxNCwgMjM5LCAxNjgsIDksIDE0LCAyMzksIDE2NywgOSwgMTQsIDIzOSwgMTY2LCA5LCAxNCwgMjM5LCAxNjUsIAorICAgIDksIDE0LCAyMzksIDE2NCwgOSwgMTQsIDIzOSwgMTYzLCA5LCAxNCwgMjM5LCAxNjIsIDksIDE0LCAyMzksIDE2MSwgOSwgCisgICAgMTQsIDIzOSwgMTYwLCA5LCAxNCwgMjM5LCAxNTksIDksIDE0LCAyMzksIDE1OCwgOSwgMTQsIDIzOSwgMTU3LCA5LCAxNCwgCisgICAgMjM5LCAxNTYsIDksIDE0LCAyMzksIDE1NSwgOSwgMTQsIDIzOSwgMTU0LCA5LCAxNCwgMjM5LCAxNTMsIDksIDE0LCAyMzksIAorICAgIDE1MiwgOSwgMTQsIDIzOSwgMTUxLCA5LCAxNCwgMjM5LCAxNTAsIDksIDE0LCAyMzksIDE0OSwgOSwgMTQsIDIzOSwgMTQ4LCAKKyAgICA5LCAxNCwgMjM5LCAxNDcsIDksIDE0LCAyMzksIDE0NiwgOSwgMTQsIDIzOSwgMTQ1LCA5LCAxNCwgMjM5LCAxNDQsIDksIAorICAgIDE0LCAyMzksIDE0MywgOSwgMTQsIDIzOSwgMTQyLCA5LCAxNCwgMjM5LCAxNDEsIDksIDE0LCAyMzksIDE0MCwgOSwgMTQsIAorICAgIDIzOSwgMTM5LCA5LCAxNCwgMjM5LCAxMzgsIDksIDE0LCAyMzksIDEzNywgOSwgMTQsIDIzOSwgMTM2LCA5LCAxNCwgMjM5LCAKKyAgICAxMzUsIDksIDE0LCAyMzksIDEzNCwgOSwgMTQsIDIzOSwgMTMzLCA5LCAxNCwgMjM5LCAxMzIsIDksIDE0LCAyMzksIDEzMSwgCisgICAgOSwgMTQsIDIzOSwgMTMwLCA5LCAxNCwgMjM5LCAxMjksIDksIDE0LCAyMzksIDEyOCwgOSwgMTQsIDIzOSwgMTI3LCA5LCAKKyAgICAxNCwgMjM5LCAxMjYsIDksIDE0LCAyMzksIDEyNSwgOSwgMTQsIDIzOSwgMTI0LCA5LCAxNCwgMjM5LCAxMjMsIDksIDE0LCAKKyAgICAyMzksIDEyMiwgOSwgMTQsIDIzOSwgMTIxLCA5LCAxNCwgMjM5LCAxMjAsIDksIDE0LCAyMzksIDExOSwgOSwgMTQsIDIzOSwgCisgICAgMTE4LCA5LCAxNCwgMjM5LCAxMTcsIDksIDE0LCAyMzksIDExNiwgOSwgMTQsIDIzOSwgMTE1LCA5LCAxNCwgMjM5LCAxMTQsIAorICAgIDksIDE0LCAyMzksIDExMywgOSwgMTQsIDIzOSwgMTEyLCA5LCAxNCwgMjM5LCAxMTEsIDksIDE0LCAyMzksIDExMCwgOSwgCisgICAgMTQsIDIzOSwgMTA5LCA5LCAxNCwgMjM5LCAxMDgsIDksIDE0LCAyMzksIDEwNywgOSwgMTQsIDIzOSwgMTA2LCA5LCAxNCwgCisgICAgMjM5LCAxMDUsIDksIDE0LCAyMzksIDEwNCwgOSwgMTQsIDIzOSwgMTAzLCA5LCAxNCwgMjM5LCAxMDIsIDksIDE0LCAyMzksIAorICAgIDEwMSwgOSwgMTQsIDIzOSwgMTAwLCA5LCAxNCwgMjM5LCA5OSwgOSwgMTQsIDIzOSwgOTgsIDksIDE0LCAyMzksIDk3LCA5LCAKKyAgICAxNCwgMjM5LCA5NiwgOSwgMTQsIDIzOSwgOTUsIDksIDE0LCAyMzksIDk0LCA5LCAxNCwgMjM5LCA5MywgOSwgMTQsIDIzOSwgCisgICAgOTIsIDksIDE0LCAyMzksIDkxLCA5LCAxNCwgMjM5LCA5MCwgOSwgMTQsIDIzOSwgODksIDksIDE0LCAyMzksIDg4LCA5LCAKKyAgICAxNCwgMjM5LCA4NywgOSwgMTQsIDIzOSwgODYsIDksIDE0LCAyMzksIDg1LCA5LCAxNCwgMjM5LCA4NCwgOSwgMTQsIDIzOSwgCisgICAgODMsIDksIDE0LCAyMzksIDgyLCA5LCAxNCwgMjM5LCA4MSwgOSwgMTQsIDIzOSwgODAsIDksIDE0LCAyMzksIDc5LCA5LCAKKyAgICAxNCwgMjM5LCA3OCwgOSwgMTQsIDIzOSwgNzcsIDksIDE0LCAyMzksIDc2LCA5LCAxNCwgMjM5LCA3NSwgOSwgMTQsIDIzOSwgCisgICAgNzQsIDksIDE0LCAyMzksIDczLCA5LCAxNCwgMjM5LCA3MiwgOSwgMTQsIDIzOSwgNzEsIDksIDE0LCAyMzksIDcwLCA5LCAKKyAgICAxNCwgMjM5LCA2OSwgOSwgMTQsIDIzOSwgNjgsIDksIDE0LCAyMzksIDY3LCA5LCAxNCwgMjM5LCA2NiwgOSwgMTQsIDIzOSwgCisgICAgNjUsIDksIDE0LCAyMzksIDY0LCA5LCAxNCwgMjM5LCA2MywgOSwgMTQsIDIzOSwgNjIsIDksIDE0LCAyMzksIDYxLCA5LCAKKyAgICAxNCwgMjM5LCA2MCwgOSwgMTQsIDIzOSwgNTksIDksIDE0LCAyMzksIDU4LCA5LCAxNCwgMjM5LCA1NywgOSwgMTQsIDIzOSwgCisgICAgNTYsIDksIDE0LCAyMzksIDU1LCA5LCAxNCwgMjM5LCA1NCwgOSwgMTQsIDIzOSwgNTMsIDksIDE0LCAyMzksIDUyLCA5LCAKKyAgICAxNCwgMjM5LCA1MSwgOSwgMTQsIDIzOSwgNTAsIDksIDE0LCAyMzksIDQ5LCA5LCAxNCwgMjM5LCA0OCwgOSwgMTQsIDIzOSwgCisgICAgNDcsIDksIDE0LCAyMzksIDQ2LCA5LCAxNCwgMjM5LCA0NSwgOSwgMTQsIDIzOSwgNDQsIDksIDE0LCAyMzksIDQzLCA5LCAKKyAgICAxNCwgMjM5LCA0MiwgOSwgMTQsIDIzOSwgNDEsIDksIDE0LCAyMzksIDQwLCA5LCAxNCwgMjM5LCAzOSwgOSwgMTQsIDIzOSwgCisgICAgMzgsIDksIDE0LCAyMzksIDM3LCA5LCAxNCwgMjM5LCAzNiwgOSwgMTQsIDIzOSwgMzUsIDksIDE0LCAyMzksIDM0LCA5LCAKKyAgICAxNCwgMjM5LCAzMywgOSwgMTQsIDIzOSwgMzIsIDksIDE0LCAyMzksIDMxLCA5LCAxNCwgMjM5LCAzMCwgOSwgMTQsIDIzOSwgCisgICAgMjksIDksIDE0LCAyMzksIDI4LCA5LCAxNCwgMjM5LCAyNywgOSwgMTQsIDIzOSwgMjYsIDksIDE0LCAyMzksIDI1LCA5LCAKKyAgICAxNCwgMjM5LCAyNCwgOSwgMTQsIDIzOSwgMjMsIDksIDE0LCAyMzksIDIyLCA5LCAxNCwgMjM5LCAyMSwgOSwgMTQsIDIzOSwgCisgICAgMjAsIDksIDE0LCAyMzksIDE5LCA5LCAxNCwgMjM5LCAxOCwgOSwgMTQsIDIzOSwgMTcsIDksIDE0LCAyMzksIDE2LCA5LCAKKyAgICAxNCwgMjM5LCAxNSwgOSwgMTQsIDIzOSwgMTQsIDksIDE0LCAyMzksIDEzLCA5LCAxNCwgMjM5LCAxMiwgOSwgMTQsIDIzOSwgCisgICAgMTEsIDksIDE0LCAyMzksIDEwLCA5LCAxNCwgMjM5LCA5LCA5LCAxNCwgMjM5LCA4LCA5LCAxNCwgMjM5LCA3LCA5LCAxNCwgCisgICAgMjM5LCA2LCA5LCAxNCwgMjM5LCA1LCA5LCAxNCwgMjM5LCA0LCA5LCAxNCwgMjM5LCAzLCA5LCAxNCwgMjM5LCAyLCA5LCAKKyAgICAxNCwgMjM5LCAxLCA5LCAxNCwgMjM5LCAwLCA5LCAxNCwgMjM4LCAyNTUsIDksIDE0LCAyMzgsIDI1NCwgOSwgMTQsIDIzOCwgCisgICAgMjUzLCA5LCAxNCwgMjM4LCAyNTIsIDksIDE0LCAyMzgsIDI1MSwgOSwgMTQsIDIzOCwgMjUwLCA5LCAxNCwgMjM4LCAyNDksIAorICAgIDksIDE0LCAyMzgsIDI0OCwgOSwgMTQsIDIzOCwgMjQ3LCA5LCAxNCwgMjM4LCAyNDYsIDksIDE0LCAyMzgsIDI0NSwgOSwgCisgICAgMTQsIDIzOCwgMjQ0LCA5LCAxNCwgMjM4LCAyNDMsIDksIDE0LCAyMzgsIDI0MiwgOSwgMTQsIDIzOCwgMjQxLCA5LCAxNCwgCisgICAgMjM4LCAyNDAsIDksIDE0LCAyMzgsIDIzOSwgOSwgMTQsIDIzOCwgMjM4LCA5LCAxNCwgMjM4LCAyMzcsIDksIDE0LCAyMzgsIAorICAgIDIzNiwgOSwgMTQsIDIzOCwgMjM1LCA5LCAxNCwgMjM4LCAyMzQsIDksIDE0LCAyMzgsIDIzMywgOSwgMTQsIDIzOCwgMjMyLCAKKyAgICA5LCAxNCwgMjM4LCAyMzEsIDksIDE0LCAyMzgsIDIzMCwgOSwgMTQsIDIzOCwgMjI5LCA5LCAxNCwgMjM4LCAyMjgsIDksIAorICAgIDE0LCAyMzgsIDIyNywgOSwgMTQsIDIzOCwgMjI2LCA5LCAxNCwgMjM4LCAyMjUsIDksIDE0LCAyMzgsIDIyNCwgOSwgMTQsIAorICAgIDIzOCwgMjIzLCA5LCAxNCwgMjM4LCAyMjIsIDksIDE0LCAyMzgsIDIyMSwgOSwgMTQsIDIzOCwgMjIwLCA5LCAxNCwgMjM4LCAKKyAgICAyMTksIDksIDE0LCAyMzgsIDIxOCwgOSwgMTQsIDIzOCwgMjE3LCA5LCAxNCwgMjM4LCAyMTYsIDksIDE0LCAyMzgsIDIxNSwgCisgICAgOSwgMTQsIDIzOCwgMjE0LCA5LCAxNCwgMjM4LCAyMTMsIDksIDE0LCAyMzgsIDIxMiwgOSwgMTQsIDIzOCwgMjExLCA5LCAKKyAgICAxNCwgMjM4LCAyMTAsIDksIDE0LCAyMzgsIDIwOSwgOSwgMTQsIDIzOCwgMjA4LCA5LCAxNCwgMjM4LCAyMDcsIDksIDE0LCAKKyAgICAyMzgsIDIwNiwgOSwgMTQsIDIzOCwgMjA1LCA5LCAxNCwgMjM4LCAyMDQsIDksIDE0LCAyMzgsIDIwMywgOSwgMTQsIDIzOCwgCisgICAgMjAyLCA5LCAxNCwgMjM4LCAyMDEsIDksIDE0LCAyMzgsIDIwMCwgOSwgMTQsIDIzOCwgMTk5LCA5LCAxNCwgMjM4LCAxOTgsIAorICAgIDksIDE0LCAyMzgsIDE5NywgOSwgMTQsIDIzOCwgMTk2LCA5LCAxNCwgMjM4LCAxOTUsIDksIDE0LCAyMzgsIDE5NCwgOSwgCisgICAgMTQsIDIzOCwgMTkzLCA5LCAxNCwgMjM4LCAxOTIsIDksIDE0LCAyMzgsIDE5MSwgOSwgMTQsIDIzOCwgMTkwLCA5LCAxNCwgCisgICAgMjM4LCAxODksIDksIDE0LCAyMzgsIDE4OCwgOSwgMTQsIDIzOCwgMTg3LCA5LCAxNCwgMjM4LCAxODYsIDksIDE0LCAyMzgsIAorICAgIDE4NSwgOSwgMTQsIDIzOCwgMTg0LCA5LCAxNCwgMjM4LCAxODMsIDksIDE0LCAyMzgsIDE4MiwgOSwgMTQsIDIzOCwgMTgxLCAKKyAgICA5LCAxNCwgMjM4LCAxODAsIDksIDE0LCAyMzgsIDE3OSwgOSwgMTQsIDIzOCwgMTc4LCA5LCAxNCwgMjM4LCAxNzcsIDksIAorICAgIDE0LCAyMzgsIDE3NiwgOSwgMTQsIDIzOCwgMTc1LCA5LCAxNCwgMjM4LCAxNzQsIDksIDE0LCAyMzgsIDE3MywgOSwgMTQsIAorICAgIDIzOCwgMTcyLCA5LCAxNCwgMjM4LCAxNzEsIDksIDE0LCAyMzgsIDE3MCwgOSwgMTQsIDIzOCwgMTY5LCA5LCAxNCwgMjM4LCAKKyAgICAxNjgsIDksIDE0LCAyMzgsIDE2NywgOSwgMTQsIDIzOCwgMTY2LCA5LCAxNCwgMjM4LCAxNjUsIDksIDE0LCAyMzgsIDE2NCwgCisgICAgOSwgMTQsIDIzOCwgMTYzLCA5LCAxNCwgMjM4LCAxNjIsIDksIDE0LCAyMzgsIDE2MSwgOSwgMTQsIDIzOCwgMTYwLCA5LCAKKyAgICAxNCwgMjM4LCAxNTksIDksIDE0LCAyMzgsIDE1OCwgOSwgMTQsIDIzOCwgMTU3LCA5LCAxNCwgMjM4LCAxNTYsIDksIDE0LCAKKyAgICAyMzgsIDE1NSwgOSwgMTQsIDIzOCwgMTU0LCA5LCAxNCwgMjM4LCAxNTMsIDksIDE0LCAyMzgsIDE1MiwgOSwgMTQsIDIzOCwgCisgICAgMTUxLCA5LCAxNCwgMjM4LCAxNTAsIDksIDE0LCAyMzgsIDE0OSwgOSwgMTQsIDIzOCwgMTQ4LCA5LCAxNCwgMjM4LCAxNDcsIAorICAgIDksIDE0LCAyMzgsIDE0NiwgOSwgMTQsIDIzOCwgMTQ1LCA5LCAxNCwgMjM4LCAxNDQsIDksIDE0LCAyMzgsIDE0MywgOSwgCisgICAgMTQsIDIzOCwgMTQyLCA5LCAxNCwgMjM4LCAxNDEsIDksIDE0LCAyMzgsIDE0MCwgOSwgMTQsIDIzOCwgMTM5LCA5LCAxNCwgCisgICAgMjM4LCAxMzgsIDksIDE0LCAyMzgsIDEzNywgOSwgMTQsIDIzOCwgMTM2LCA5LCAxNCwgMjM4LCAxMzUsIDksIDE0LCAyMzgsIAorICAgIDEzNCwgOSwgMTQsIDIzOCwgMTMzLCA5LCAxNCwgMjM4LCAxMzIsIDksIDE0LCAyMzgsIDEzMSwgOSwgMTQsIDIzOCwgMTMwLCAKKyAgICA5LCAxNCwgMjM4LCAxMjksIDksIDE0LCAyMzgsIDEyOCwgOSwgMTQsIDIzOCwgMTI3LCA5LCAxNCwgMjM4LCAxMjYsIDksIAorICAgIDE0LCAyMzgsIDEyNSwgOSwgMTQsIDIzOCwgMTI0LCA5LCAxNCwgMjM4LCAxMjMsIDksIDE0LCAyMzgsIDEyMiwgOSwgMTQsIAorICAgIDIzOCwgMTIxLCA5LCAxNCwgMjM4LCAxMjAsIDksIDE0LCAyMzgsIDExOSwgOSwgMTQsIDIzOCwgMTE4LCA5LCAxNCwgMjM4LCAKKyAgICAxMTcsIDksIDE0LCAyMzgsIDExNiwgOSwgMTQsIDIzOCwgMTE1LCA5LCAxNCwgMjM4LCAxMTQsIDksIDE0LCAyMzgsIDExMywgCisgICAgOSwgMTQsIDIzOCwgMTEyLCA5LCAxNCwgMjM4LCAxMTEsIDksIDE0LCAyMzgsIDExMCwgOSwgMTQsIDIzOCwgMTA5LCA5LCAKKyAgICAxNCwgMjM4LCAxMDgsIDksIDE0LCAyMzgsIDEwNywgOSwgMTQsIDIzOCwgMTA2LCA5LCAxNCwgMjM4LCAxMDUsIDksIDE0LCAKKyAgICAyMzgsIDEwNCwgOSwgMTQsIDIzOCwgMTAzLCA5LCAxNCwgMjM4LCAxMDIsIDksIDE0LCAyMzgsIDEwMSwgOSwgMTQsIDIzOCwgCisgICAgMTAwLCA5LCAxNCwgMjM4LCA5OSwgOSwgMTQsIDIzOCwgOTgsIDksIDE0LCAyMzgsIDk3LCA5LCAxNCwgMjM4LCA5NiwgOSwgCisgICAgMTQsIDIzOCwgOTUsIDksIDE0LCAyMzgsIDk0LCA5LCAxNCwgMjM4LCA5MywgOSwgMTQsIDIzOCwgOTIsIDksIDE0LCAyMzgsIAorICAgIDkxLCA5LCAxNCwgMjM4LCA5MCwgOSwgMTQsIDIzOCwgODksIDksIDE0LCAyMzgsIDg4LCA5LCAxNCwgMjM4LCA4NywgOSwgCisgICAgMTQsIDIzOCwgODYsIDksIDE0LCAyMzgsIDg1LCA5LCAxNCwgMjM4LCA4NCwgOSwgMTQsIDIzOCwgODMsIDksIDE0LCAyMzgsIAorICAgIDgyLCA5LCAxNCwgMjM4LCA4MSwgOSwgMTQsIDIzOCwgODAsIDksIDE0LCAyMzgsIDc5LCA5LCAxNCwgMjM4LCA3OCwgOSwgCisgICAgMTQsIDIzOCwgNzcsIDksIDE0LCAyMzgsIDc2LCA5LCAxNCwgMjM4LCA3NSwgOSwgMTQsIDIzOCwgNzQsIDksIDE0LCAyMzgsIAorICAgIDczLCAyMzMsIDkwLCAyMTcsIDg0LCAxMjksIDIxOSwgMTgsIDEyOSwgMjQ1LCAzMSwgNzgsIDEyOSwgMjIzLCAyNTQsIDc4LCAKKyAgICAxMjksIDU0LCA1MCwgMTI5LCAyNDcsIDEzMiwgNTAsIDEyOSwgMjI1LCAxODIsIDUwLCAxMjksIDI1NCwgMTI2LCAxMjksIAorICAgIDI1NCwgNTcsIDEyOSwgNDMsIDIyNiwgMywgMTI5LCA0NCwgMjI2LCAzLCAxMjksIDI1MywgMjE2LCAxMjksIDk2LCA1MCwgCisgICAgMTI5LCAyNDksIDIxOSwgMTI5LCAyNDAsIDE2NywgMTI5LCAyNDMsIDIyOSwgMjE4LCAxMjksIDEyOSwgMjE5LCA0NiwgMTI5LCAKKyAgICAyMSwgMjEwLCA4NiwgMTI5LCAyMSwgMTEwLCAxMjksIDIxLCAxMDUsIDEyOSwgMjEsIDE1OCwgMTI5LCAyMSwgMTYxLCAxMjksIAorICAgIDIxLCAxODksIDEyOSwgMjEsIDE5NCwgMTI5LCAyMSwgMTk4LCAxMjksIDIxLCAxOTUsIDEyOSwgMjEsIDIwMCwgMTI5LCAKKyAgICAyNDksIDIyNiwgMTI5LCAyMjAsIDE1MCwgMTI5LCAyMzMsIDE1LCA1MCwgMTI5LCAyNDUsIDk4LCA1MCwgMTI5LCAyNDIsIAorICAgIDEzMCwgNTAsIDEyOSwgMjI0LCAxMywgNzgsIDEyOSwgMjQ5LCAyMTcsIDI1MywgMjA2LCAxMjksIDcsIDYsIDEsIDYxLCAKKyAgICAxMjksIDcsIDYsIDEsIDI1MywgMTU4LCAxMjksIDcsIDYsIDEsIDI1MSwgNjYsIDEyOSwgNywgNiwgMSwgMjQ5LCA2MCwgCisgICAgMTI5LCA3LCA2LCAxLCA3NSwgMTI5LCA3LCA2LCAxLCAyNDUsIDYsIDEyOSwgNywgNiwgMSwgMjQzLCAyMDIsIDEyOSwgNywgCisgICAgNiwgMSwgMjQyLCA2MCwgMTI5LCA3LCA2LCAxLCA3MywgMTI5LCA3LCA2LCAxLCAyMzUsIDE0NCwgMTI5LCA3LCA2LCAxLCAKKyAgICAyMzUsIDIzLCAxMjksIDcsIDYsIDEsIDE1NiwgMTI5LCA3LCA2LCAxLCAxOTMsIDEyOSwgNywgNiwgMSwgMjMwLCAyNSwgCisgICAgMTI5LCA3LCA2LCAxLCA3NiwgMTI5LCA3LCA2LCAxLCAyMjYsIDEwNSwgMTI5LCA3LCA2LCAxLCAyMjQsIDk2LCAxMjksIDcsIAorICAgIDYsIDEsIDE1MywgMTI5LCA3LCA2LCAxLCAyMjIsIDkxLCAxMjksIDcsIDYsIDEsIDIxNywgMTUyLCAxMjksIDcsIDYsIDEsIAorICAgIDcwLCAxMjksIDcsIDYsIDEsIDIxNCwgMTA1LCAxMjksIDcsIDYsIDEsIDIxMiwgOTgsIDEyOSwgNywgNiwgMSwgMjExLCAKKyAgICAxNzgsIDEyOSwgNywgNiwgMSwgMjExLCAxMTcsIDEyOSwgNywgNiwgMSwgMjEwLCAxNTksIDEyOSwgNDMsIDQyLCAxMjcsIAorICAgIDEyOSwgMjIzLCA1MCwgMjE5LCA0NiwgMTI5LCA0NCwgNDIsIDEyNywgMTI5LCAyNTAsIDMxLCAyNTUsIDE0LCAxMjksIDEyMSwgCisgICAgMjMyLCAyMTMsIDEyOSwgMjQyLCAxMzcsIDI1NSwgMTQsIDEyOSwgNywgNCwgMSwgNjEsIDEyOSwgNywgNCwgMSwgMjUzLCAKKyAgICAxNTgsIDEyOSwgNywgNCwgMSwgMjUxLCA2NiwgMTI5LCA3LCA0LCAxLCAyNDksIDYwLCAxMjksIDcsIDQsIDEsIDc1LCAxMjksIAorICAgIDcsIDQsIDEsIDI0NSwgNiwgMTI5LCA3LCA0LCAxLCAyNDMsIDIwMiwgMTI5LCA3LCA0LCAxLCAyNDIsIDYwLCAxMjksIDcsIAorICAgIDQsIDEsIDczLCAxMjksIDcsIDQsIDEsIDIzNSwgMTQ0LCAxMjksIDcsIDQsIDEsIDIzNSwgMjMsIDEyOSwgNywgNCwgMSwgCisgICAgMTU2LCAxMjksIDcsIDQsIDEsIDE5MywgMTI5LCA3LCA0LCAxLCAyMzAsIDI1LCAxMjksIDcsIDQsIDEsIDc2LCAxMjksIDcsIAorICAgIDQsIDEsIDIyNiwgMTA1LCAxMjksIDcsIDQsIDEsIDIyNCwgOTYsIDEyOSwgNywgNCwgMSwgMTUzLCAxMjksIDcsIDQsIDEsIAorICAgIDIyMiwgOTEsIDEyOSwgNywgNCwgMSwgMjE3LCAxNTIsIDEyOSwgNywgNCwgMSwgNzAsIDEyOSwgNywgNCwgMSwgMjE0LCAKKyAgICAxMDUsIDEyOSwgNywgNCwgMSwgMjEyLCA5OCwgMTI5LCA3LCA0LCAxLCAyMTEsIDE3OCwgMTI5LCA3LCA0LCAxLCAyMTEsIAorICAgIDExNywgMTI5LCA3LCA0LCAxLCAyMTAsIDE1OSwgMTI5LCA0MywgMjQ5LCA5OSwgMTI3LCAxMjksIDY3LCAyMzIsIDIxMywgCisgICAgMTI5LCA0NCwgMjQ5LCA5OSwgMTI3LCAxMjksIDE4MiwgMjUxLCA2LCAyMTcsIDg0LCA0NSwgMjIxLCA3OCwgNDUsIDIyMSwgCisgICAgNjcsIDQ1LCAyMjEsIDU2LCA0NSwgMjIxLCA0NCwgNDUsIDIyMSwgMzMsIDQ1LCAyMjEsIDIyLCA0NSwgMjIxLCAxMSwgNDUsIAorICAgIDIyMSwgMCwgNDUsIDIyMCwgMjQ1LCA0NSwgMjIwLCAyMzcsIDQ1LCAyMjAsIDIzNiwgNDUsIDIyMCwgMjM1LCA0NSwgMjIwLCAKKyAgICAyMzQsIDQ1LCAyMjAsIDIzMiwgNDUsIDIyMCwgMjMxLCA0NSwgMjIwLCAyMzAsIDQ1LCAyMjAsIDIyOSwgNDUsIDIyMCwgCisgICAgMjI4LCA0NSwgMjIwLCAyMjcsIDQ1LCAyMjAsIDIyNiwgNDUsIDIyMCwgMjI1LCA0NSwgMjIwLCAyMjQsIDQ1LCAyMjAsIAorICAgIDIyMywgNDUsIDIyMCwgMjIxLCA0NSwgMjIwLCAyMjAsIDQ1LCAyMjAsIDIxOSwgNDUsIDIyMCwgMjE4LCA0NSwgMjIwLCAKKyAgICAyMTcsIDQ1LCAyMjAsIDIxNiwgNDUsIDIyMCwgMjE1LCA0NSwgMjIwLCAyMTQsIDQ1LCAyMjAsIDIxMywgNDUsIDIyMCwgCisgICAgMjEyLCA0NSwgMjIwLCAyMTAsIDQ1LCAyMjAsIDIwOSwgNDUsIDIyMCwgMjA4LCA0NSwgMjIwLCAyMDcsIDQ1LCAyMjAsIAorICAgIDIwNiwgNDUsIDIyMCwgMjA1LCA0NSwgMjIwLCAyMDQsIDQ1LCAyMjAsIDIwMywgNDUsIDIyMCwgMjAyLCA0NSwgMjIwLCAKKyAgICAyMDEsIDQ1LCAyMjAsIDE5OSwgNDUsIDIyMCwgMTk4LCA0NSwgMjIwLCAxOTcsIDQ1LCAyMjAsIDE5NiwgNDUsIDIyMCwgCisgICAgMTk1LCA0NSwgMjIwLCAxOTQsIDQ1LCAyMjAsIDE5MywgNDUsIDIyMCwgMTkyLCA0NSwgMjIwLCAxOTEsIDQ1LCAyMjAsIAorICAgIDE5MCwgNDUsIDIyMCwgMTg4LCA0NSwgMjIwLCAxODcsIDQ1LCAyMjAsIDE4NiwgNDUsIDIyMCwgMTg1LCA0NSwgMjIwLCAKKyAgICAxODQsIDQ1LCAyMjAsIDE4MywgNDUsIDIyMCwgMTgyLCA0NSwgMjIwLCAxODEsIDQ1LCAyMjAsIDE4MCwgNDUsIDIyMCwgCisgICAgMTc5LCA0NSwgMjIwLCAxNzcsIDQ1LCAyMjAsIDE3NiwgNDUsIDIyMCwgMTc1LCA0NSwgMjIwLCAxNzQsIDQ1LCAyMjAsIAorICAgIDE3MywgNDUsIDIyMCwgMTcyLCA0NSwgMjIwLCAxNzEsIDQ1LCAyMjAsIDE3MCwgNDUsIDIyMCwgMTY5LCA0NSwgMjIwLCAKKyAgICAxNjgsIDQ1LCAyMjAsIDE2NiwgNDUsIDIyMCwgMTY1LCA0NSwgMjIwLCAxNjQsIDQ1LCAyMjAsIDE2MywgNDUsIDIyMCwgCisgICAgMTYyLCA0NSwgMjIwLCAxNjEsIDQ1LCAyMjAsIDE2MCwgNDUsIDIyMCwgMTU5LCA0NSwgMjIwLCAxNTgsIDQ1LCAyMjAsIAorICAgIDE1NywgNDUsIDIyMSwgMTU0LCA0NSwgMjIxLCAxNTMsIDQ1LCAyMjEsIDE1MiwgNDUsIDIyMSwgMTUxLCA0NSwgMjIxLCAKKyAgICAxNTAsIDQ1LCAyMjEsIDE0OSwgNDUsIDIyMSwgMTQ4LCA0NSwgMjIxLCAxNDcsIDQ1LCAyMjEsIDE0NiwgNDUsIDIyMSwgCisgICAgMTQ1LCA0NSwgMjIxLCAxNDMsIDQ1LCAyMjEsIDE0MiwgNDUsIDIyMSwgMTQxLCA0NSwgMjIxLCAxNDAsIDQ1LCAyMjEsIAorICAgIDEzOSwgNDUsIDIyMSwgMTM4LCA0NSwgMjIxLCAxMzcsIDQ1LCAyMjEsIDEzNiwgNDUsIDIyMSwgMTM1LCA0NSwgMjIxLCAKKyAgICAxMzQsIDQ1LCAyMjEsIDEzMiwgNDUsIDIyMSwgMTMxLCA0NSwgMjIxLCAxMzAsIDQ1LCAyMjEsIDEyOSwgNDUsIDIyMSwgCisgICAgMTI4LCA0NSwgMjIxLCAxMjcsIDQ1LCAyMjEsIDEyNiwgNDUsIDIyMSwgMTI1LCA0NSwgMjIxLCAxMjQsIDQ1LCAyMjEsIAorICAgIDEyMywgNDUsIDIyMSwgMTIxLCA0NSwgMjIxLCAxMjAsIDQ1LCAyMjEsIDExOSwgNDUsIDIyMSwgMTE4LCA0NSwgMjIxLCAKKyAgICAxMTcsIDQ1LCAyMjEsIDExNiwgNDUsIDIyMSwgMTE1LCA0NSwgMjIxLCAxMTQsIDQ1LCAyMjEsIDExMywgNDUsIDIyMSwgCisgICAgMTEyLCA0NSwgMjIxLCAxMTAsIDQ1LCAyMjEsIDEwOSwgNDUsIDIyMSwgMTA4LCA0NSwgMjIxLCAxMDcsIDQ1LCAyMjEsIAorICAgIDEwNiwgNDUsIDIyMSwgMTA1LCA0NSwgMjIxLCAxMDQsIDQ1LCAyMjEsIDEwMywgNDUsIDIyMSwgMTAyLCA0NSwgMjIxLCAKKyAgICAxMDEsIDQ1LCAyMjEsIDk5LCA0NSwgMjIxLCA5OCwgNDUsIDIyMSwgOTcsIDQ1LCAyMjEsIDk2LCA0NSwgMjIxLCA5NSwgNDUsIAorICAgIDIyMSwgOTQsIDQ1LCAyMjEsIDkzLCA0NSwgMjIxLCA5MiwgNDUsIDIyMSwgOTEsIDQ1LCAyMjEsIDkwLCA0NSwgMjIxLCA4OCwgCisgICAgNDUsIDIyMSwgODcsIDQ1LCAyMjEsIDg2LCA0NSwgMjIxLCA4NSwgNDUsIDIyMSwgODQsIDQ1LCAyMjEsIDgzLCA0NSwgMjIxLCAKKyAgICA4MiwgNDUsIDIyMSwgODEsIDQ1LCAyMjEsIDgwLCA0NSwgMjIxLCA3OSwgNDUsIDIyMSwgNzcsIDQ1LCAyMjEsIDc2LCA0NSwgCisgICAgMjIxLCA3NSwgNDUsIDIyMSwgNzQsIDQ1LCAyMjEsIDczLCA0NSwgMjIxLCA3MiwgNDUsIDIyMSwgNzEsIDQ1LCAyMjEsIDcwLCAKKyAgICA0NSwgMjIxLCA2OSwgNDUsIDIyMSwgNjgsIDQ1LCAyMjEsIDY2LCA0NSwgMjIxLCA2NSwgNDUsIDIyMSwgNjQsIDQ1LCAyMjEsIAorICAgIDYzLCA0NSwgMjIxLCA2MiwgNDUsIDIyMSwgNjEsIDQ1LCAyMjEsIDYwLCA0NSwgMjIxLCA1OSwgNDUsIDIyMSwgNTgsIDQ1LCAKKyAgICAyMjEsIDU3LCA0NSwgMjIxLCA1NSwgNDUsIDIyMSwgNTQsIDQ1LCAyMjEsIDUzLCA0NSwgMjIxLCA1MiwgNDUsIDIyMSwgNTEsIAorICAgIDQ1LCAyMjEsIDUwLCA0NSwgMjIxLCA0OSwgNDUsIDIyMSwgNDgsIDQ1LCAyMjEsIDQ3LCA0NSwgMjIxLCA0NiwgNDUsIDIyMSwgCisgICAgNDMsIDQ1LCAyMjEsIDQyLCA0NSwgMjIxLCA0MSwgNDUsIDIyMSwgNDAsIDQ1LCAyMjEsIDM5LCA0NSwgMjIxLCAzOCwgNDUsIAorICAgIDIyMSwgMzcsIDQ1LCAyMjEsIDM2LCA0NSwgMjIxLCAzNSwgNDUsIDIyMSwgMzQsIDQ1LCAyMjEsIDMyLCA0NSwgMjIxLCAzMSwgCisgICAgNDUsIDIyMSwgMzAsIDQ1LCAyMjEsIDI5LCA0NSwgMjIxLCAyOCwgNDUsIDIyMSwgMjcsIDQ1LCAyMjEsIDI2LCA0NSwgMjIxLCAKKyAgICAyNSwgNDUsIDIyMSwgMjQsIDQ1LCAyMjEsIDIzLCA0NSwgMjIxLCAyMSwgNDUsIDIyMSwgMjAsIDQ1LCAyMjEsIDE5LCA0NSwgCisgICAgMjIxLCAxOCwgNDUsIDIyMSwgMTcsIDQ1LCAyMjEsIDE2LCA0NSwgMjIxLCAxNSwgNDUsIDIyMSwgMTQsIDQ1LCAyMjEsIDEzLCAKKyAgICA0NSwgMjIxLCAxMiwgNDUsIDIyMSwgMTAsIDQ1LCAyMjEsIDksIDQ1LCAyMjEsIDgsIDQ1LCAyMjEsIDcsIDQ1LCAyMjEsIDYsIAorICAgIDQ1LCAyMjEsIDUsIDQ1LCAyMjEsIDQsIDQ1LCAyMjEsIDMsIDQ1LCAyMjEsIDIsIDQ1LCAyMjEsIDEsIDQ1LCAyMjAsIDI1NSwgCisgICAgNDUsIDIyMCwgMjU0LCA0NSwgMjIwLCAyNTMsIDQ1LCAyMjAsIDI1MiwgNDUsIDIyMCwgMjUxLCA0NSwgMjIwLCAyNTAsIDQ1LCAKKyAgICAyMjAsIDI0OSwgNDUsIDIyMCwgMjQ4LCA0NSwgMjIwLCAyNDcsIDQ1LCAyMjAsIDI0NiwgNDUsIDIyMCwgMjQ0LCA0NSwgCisgICAgMjIwLCAyNDMsIDQ1LCAyMjAsIDI0MiwgNDUsIDIyMCwgMjQxLCA0NSwgMjIwLCAyNDAsIDQ1LCAyMjAsIDIzOSwgNDUsIAorICAgIDIyMCwgMjM4LCAyMjcsIDIwMiwgMjI3LCAyMDQsIDIxOCwgMTUyLCA2NCwgMjQxLCAyMzMsIDIxOSwgNDgsIDIxOCwgMTUyLCAKKyAgICA2NCwgMjE2LCAyMTIsIDIxOCwgODUsIDI0NSwgMTQzLCA2NCwgMjE2LCAyMTIsIDI0NSwgNTYsIDI0NSwgMTQzLCA2NCwgCisgICAgMjE1LCAyNDMsIDI0NSwgMTA5LCAyNDUsIDEzMiwgMjQ1LCAxMzMsIDI1NSwgNywgMjU1LCA4LCAyNTQsIDE2NywgMjUyLCAKKyAgICA0NywgMjUyLCAxNzksIDI1MSwgMTMxLCAxMzUsIDIxNywgODksIDIwMywgMjE3LCA4OSwgMjQwLCAyMjcsIDIxNywgOTMsIAorICAgIDIzMiwgMjE0LCAyNDQsIDE0NSwgMTY2LCAyMzIsIDIxMywgMjQ1LCAxNDMsIDY0LCAyMzIsIDIxMywgMjMzLCAwLCAyMjgsIAorICAgIDEzNSwgMjQ1LCAxMTIsIDIzMiwgMjE0LCAyMTcsIDg5LCA2NywgMjE3LCA4OSwgMjEyLCAxMTgsIDI0NCwgMjAsIDI0NCwgCisgICAgMTQ1LCAyNDQsIDEyNSwgMjUwLCAyMzAsIDIyMywgNTMsIDI0OSwgMTQzLCAyMjAsIDI4LCAyMjYsIDEzMCwgMjMyLCAxNTAsIAorICAgIDExMCwgMjE5LCA1OCwgMjIwLCAyOCwgMjM1LCAyNTUsIDIzMiwgMTUwLCAyMTAsIDg2LCAyMTksIDE5MSwgMjQ4LCAxNTEsIAorICAgIDIzMiwgMjA0LCAyNDUsIDc3LCAyNDcsIDE1NSwgMjQ4LCAzMSwgMjQ5LCAxNzgsIDExMCwgMjQ4LCAxNDEsIDI0OCwgMzEsIAorICAgIDI0OSwgMTc4LCAxMDUsIDI0OCwgMTQwLCAyNDgsIDMxLCAyNDksIDE3OCwgMTU4LCAyNDgsIDEzOSwgMjQ4LCAzMSwgMjQ5LCAKKyAgICAxNzgsIDE2MSwgMjQ4LCAxMzgsIDE1MiwgMjU1LCA3LCAyMjksIDIwOSwgMjE3LCAxNzcsIDIzNiwgNjIsIDIxNywgMTgwLCAKKyAgICAyNDUsIDE0MywgNjQsIDIxNSwgMjQ0LCAyNTEsIDIxMywgMjQ1LCA2MiwgMjUxLCA1LCAyNTEsIDcsIDI0NSwgMTQzLCA2NCwgCisgICAgMjMxLCA4MSwgMjQ1LCAxMTAsIDIxOCwgNjEsIDIxOCwgNzgsIDI0NSwgNzcsIDI0NSwgNzgsIDIzNSwgMjMyLCAyMjAsIAorICAgIDEzOCwgMTYxLCAyNDQsIDEwNywgMjIwLCAxMzcsIDI0MywgMjM3LCAyMzUsIDIzMiwgMjIwLCAxMzgsIDE1OCwgMjQyLCAKKyAgICAxMjEsIDIyMCwgMTM3LCAyNDIsIDExOCwgMjM1LCAyMzIsIDIyMCwgMTM4LCAxMDUsIDIyMywgMTIxLCAyMjAsIDEzNywgCisgICAgMjIyLCAxNDUsIDIzNSwgMjMyLCAyMjAsIDEzOCwgMTEwLCAyMTQsIDE3NCwgMjIwLCAxMzcsIDIxNCwgMTMzLCAyMTksIDIxLCAKKyAgICAyNDgsIDYzLCAyNDgsIDY1LCAyMjYsIDc4LCAyNTAsIDE0MiwgMjI2LCA4MCwgMTI1LCAyMjYsIDI0MCwgMjI0LCAxOTMsIAorICAgIDI0MSwgNDcsIDI1MSwgMTUwLCAyMjUsIDE3MywgMjQxLCAyMDMsIDI1MSwgMTYxLCAyMjgsIDc1LCAyNTEsIDE1MCwgMjQxLCAKKyAgICAyMDMsIDIyOSwgMTc1LCAyMzUsIDI0MiwgMjM1LCAyNDQsIDIyOSwgODIsIDIzMiwgMjEzLCAyMjksIDk5LCAyMTgsIDE1MiwgCisgICAgNjQsIDIyMSwgMTU4LCAyNTQsIDE4LCAyMTgsIDIyMywgMjQ1LCAxNDMsIDY0LCAyMjEsIDE1OCwgMjU0LCAxOCwgMjQ1LCAKKyAgICA4MCwgMTM1LCAyMTcsIDkwLCAyMjAsIDEyNywgMjAzLCAyMTcsIDkwLCAyMjAsIDEyNywgMjQwLCAyMjQsIDEzNSwgMjE3LCAKKyAgICA5MCwgMiwgMjM1LCAzNSwgMjAzLCAyMTcsIDkwLCAyLCAyMzUsIDM1LCAyNDAsIDIyNSwgMjMyLCAyMTQsIDIxNywgOTAsIAorICAgIDIyMCwgMTI3LCA2NywgMjE3LCA5MCwgMjIwLCAxMjcsIDIxMiwgMTE3LCAyMjUsIDI1MywgMjMyLCAyMTQsIDI0NCwgMTQsIAorICAgIDIyNSwgMjUzLCAyMzIsIDIxNCwgMjQ2LCAxMDYsIDIyNSwgMzIsIDIyNSwgMjUzLCAyMzIsIDIxNCwgMjUyLCAxNzgsIDIyNSwgCisgICAgMjUzLCAyMzIsIDIxNCwgMjE0LCAxNjMsIDIyNSwgMjgsIDIyMywgNTAsIDIzMiwgMjE0LCAyNDQsIDE0NSwgMjIzLCA1MCwgCisgICAgMjM1LCAyNDIsIDIyMywgMzUsIDIxOSwgMTU1LCAyMjAsIDI4LCAxMDUsIDIxOSwgMTUyLCAyMTgsIDIyNSwgMjE5LCAxNTUsIAorICAgIDIyMCwgMjgsIDE1OCwgMjE5LCAxNTEsIDIxOCwgMjI0LCAyNDgsIDMxLCAyNDksIDE3OCwgMjE4LCAxMDUsIDI0OCwgMTM3LCAKKyAgICAyMjQsIDE4MywgMjE0LCAxMzIsIDExMCwgMjI0LCAxODMsIDIxNCwgMTMwLCAyMjQsIDE0OSwgMjI0LCAxODMsIDIxNCwgCisgICAgMTMyLCAxMDUsIDIyNCwgMTgzLCAyMTQsIDEyOSwgMjI0LCAxNDgsIDIyMCwgMTI4LCAyMTUsIDI0MiwgMjE4LCAxNTEsIAorICAgIDIxOCwgODksIDI1MSwgNiwgMjUwLCAxNDIsIDI1MCwgMjA5LCAyMzEsIDQzLCAyMTIsIDU5LCAyMzAsIDQzLCAyMTgsIDE1MiwgCisgICAgNjQsIDI0MiwgMTA3LCAyNTQsIDE4LCAyMTgsIDE1MiwgNjQsIDIyNCwgMTY2LCAyNTQsIDE4LCAyMTksIDIwLCAyNDUsIAorICAgIDE0MywgNjQsIDI0MiwgMTA3LCAyNTQsIDE4LCAyNDUsIDE0MywgNjQsIDIyNCwgMTY2LCAyNTQsIDE4LCAyNDUsIDEwNywgCisgICAgMjE4LCAxNTIsIDY0LCAyMTgsIDEwNSwgMjE5LCAzNSwgMjE5LCAxNTUsIDI0MiwgMTQxLCAxMzUsIDIzNSwgMTk1LCAyMjAsIAorICAgIDEwNywgMjE5LCAxNTUsIDEzNSwgMjM1LCAxOTUsIDIyMSwgMTk0LCAyNDksIDE3OCwgMjIwLCAxMzUsIDIzNSwgMTk1LCAKKyAgICAyNDksIDExMywgMjE4LCAxMDYsIDIxNiwgMjM2LCAyMTgsIDE2OCwgMjI2LCAxNjksIDIxNywgMTY3LCAyNDksIDIxOCwgCisgICAgMjI2LCAxNDIsIDIyNCwgMTg0LCAyMzEsIDQyLCAyMjUsIDE5LCAyNTQsIDUzLCAyMjQsIDE3OCwgMjQ5LCAyMTgsIDI1NCwgCisgICAgNjksIDIyOSwgMTYzLCAyMTksIDIwMCwgNywgNiwgMSwgMjQyLCAyNDksIDcsIDQsIDEsIDI0MiwgMjQ5LCAyNTAsIDE1OSwgCisgICAgMTY1LCAxLCAyMzIsIDE3NSwgMjA5LCAyMDksIDEsIDI0NCwgNDQsIDI0NCwgMzYsIDIwOSwgMjA5LCAxLCAyNDQsIDQ0LCAKKyAgICAyNDQsIDE1NywgMjA5LCAyMDksIDEsIDIyMiwgMjExLCAyMDksIDIwOSwgMSwgMjMyLCAxNTYsIDYzLCAxNjQsIDI1MSwgCisgICAgMjIzLCAyMjAsIDMsIDI0MiwgMjE1LCAyMzAsIDI0OCwgMjIzLCA0MSwgMjQzLCAyMTYsIDI0MywgMjE1LCAyNDMsIDIxNCwgCisgICAgMjMwLCA0NSwgMjA5LCAyNTEsIDIwOSwgMjUyLCAyMDksIDI1NCwgMjMyLCAxMDIsIDIyMiwgMjE5LCAyMzIsIDEwMywgMjIyLCAKKyAgICAyMjAsIDIyNSwgMjIzLCAyMzIsIDEwMSwgMjIyLCAyMTgsIDIyOCwgMTA2LCAyMzAsIDE2NSwgMjExLCAyMjksIDIxMiwgMTUsIAorICAgIDI0NSwgMTYyLCAyNDMsIDIyNiwgMjMwLCAyMjksIDIyNiwgMTk3LCAyMTQsIDEzNCwgODcsIDIzMCwgMjI5LCAyNDgsIDE1NywgCisgICAgODcsIDgsIDMsIDIzNSwgMTU4LCA3OCwgMjI0LCAxOTQsIDI0NCwgMjAsIDMxLCA2NywgNDQsIDcxLCAyMzMsIDIwLCAxMjcsIAorICAgIDIxMywgMTE4LCAyMTMsIDcsIDIxMiwgMTk1LCAyMTIsIDE4NCwgMjEyLCAxNzMsIDIxMiwgMTYyLCAyMTIsIDE1MSwgMjEyLCAKKyAgICAxNDAsIDIxMiwgMTI5LCAyMTMsIDExNywgMjEzLCAxMDYsIDIxMywgOTUsIDIxMywgODQsIDIxMywgNzMsIDIxMywgNjIsIAorICAgIDIxMywgNTEsIDI1MSwgNzEsIDIyNiwgMTU1LCA3OCwgMjUxLCAxOTYsIDIwOSwgMjUzLCA0OSwgMjgsIDE2LCAyNDMsIDIzNiwgCisgICAgMjE5LCAxMDIsIDI1MCwgNzMsIDIxNCwgOSwgMjEzLCA0MCwgMjEzLCAyOSwgMjEzLCAxOCwgMjEzLCA2LCAyMTIsIDI1MSwgCisgICAgMjEyLCAyNDAsIDIxMiwgMjI5LCAyMTIsIDIxOCwgMjEyLCAyMDcsIDIxMiwgMTk5LCAyMTIsIDE5OCwgMjEyLCAxOTcsIAorICAgIDIxMiwgMTk2LCAyMTIsIDE5NCwgMjEyLCAxOTMsIDIxMiwgMTkyLCAyMTIsIDE5MSwgMjEyLCAxOTAsIDIxMiwgMTg5LCAKKyAgICAyMTIsIDE4OCwgMjEyLCAxODcsIDIxMiwgMTg2LCAyMTIsIDE4NSwgMjEyLCAxODMsIDIxMiwgMTgyLCAyMTIsIDE4MSwgCisgICAgMjEyLCAxODAsIDIxMiwgMTc5LCAyMTIsIDE3OCwgMjEyLCAxNzcsIDIxMiwgMTc2LCAyMTIsIDE3NSwgMjEyLCAxNzQsIAorICAgIDIxMiwgMTcyLCAyMTIsIDE3MSwgMjEyLCAxNzAsIDIxMiwgMTY5LCAyMTIsIDE2OCwgMjEyLCAxNjcsIDIxMiwgMTY2LCAKKyAgICAyMTIsIDE2NSwgMjEyLCAxNjQsIDIxMiwgMTYzLCAyMTIsIDE2MSwgMjEyLCAxNjAsIDIxMiwgMTU5LCAyMTIsIDE1OCwgCisgICAgMjEyLCAxNTcsIDIxMiwgMTU2LCAyMTIsIDE1NSwgMjEyLCAxNTQsIDIxMiwgMTUzLCAyMTIsIDE1MiwgMjEyLCAxNTAsIAorICAgIDIxMiwgMTQ5LCAyMTIsIDE0OCwgMjEyLCAxNDcsIDIxMiwgMTQ2LCAyMTIsIDE0NSwgMjEyLCAxNDQsIDIxMiwgMTQzLCAKKyAgICAyMTIsIDE0MiwgMjEyLCAxNDEsIDIxMiwgMTM5LCAyMTIsIDEzOCwgMjEyLCAxMzcsIDIxMiwgMTM2LCAyMTIsIDEzNSwgCisgICAgMjEyLCAxMzQsIDIxMiwgMTMzLCAyMTIsIDEzMiwgMjEyLCAxMzEsIDIxMiwgMTMwLCAyMTIsIDEyOCwgMjEyLCAxMjcsIAorICAgIDIxMiwgMTI2LCAyMTIsIDEyNSwgMjEyLCAxMjQsIDIxMiwgMTIzLCAyMTIsIDEyMiwgMjEyLCAxMjEsIDIxMiwgMTIwLCAKKyAgICAyMTIsIDExOSwgMjEzLCAxMTYsIDIxMywgMTE1LCAyMTMsIDExNCwgMjEzLCAxMTMsIDIxMywgMTEyLCAyMTMsIDExMSwgCisgICAgMjEzLCAxMTAsIDIxMywgMTA5LCAyMTMsIDEwOCwgMjEzLCAxMDcsIDIxMywgMTA1LCAyMTMsIDEwNCwgMjEzLCAxMDMsIAorICAgIDIxMywgMTAyLCAyMTMsIDEwMSwgMjEzLCAxMDAsIDIxMywgOTksIDIxMywgOTgsIDIxMywgOTcsIDIxMywgOTYsIDIxMywgCisgICAgOTQsIDIxMywgOTMsIDIxMywgOTIsIDIxMywgOTEsIDIxMywgOTAsIDIxMywgODksIDIxMywgODgsIDIxMywgODcsIDIxMywgCisgICAgODYsIDIxMywgODUsIDIxMywgODMsIDIxMywgODIsIDIxMywgODEsIDIxMywgODAsIDIxMywgNzksIDIxMywgNzgsIDIxMywgCisgICAgNzcsIDIxMywgNzYsIDIxMywgNzUsIDIxMywgNzQsIDIxMywgNzIsIDIxMywgNzEsIDIxMywgNzAsIDIxMywgNjksIDIxMywgCisgICAgNjgsIDIxMywgNjcsIDIxMywgNjYsIDIxMywgNjUsIDIxMywgNjQsIDIxMywgNjMsIDIxMywgNjEsIDIxMywgNjAsIDIxMywgCisgICAgNTksIDIxMywgNTgsIDIxMywgNTcsIDIxMywgNTYsIDIxMywgNTUsIDIxMywgNTQsIDIxMywgNTMsIDIxMywgNTIsIDIxMywgCisgICAgNTAsIDIxMywgNDksIDIxMywgNDgsIDIxMywgNDcsIDIxMywgNDYsIDIxMywgNDUsIDIxMywgNDQsIDIxMywgNDMsIDIxMywgCisgICAgNDIsIDIxMywgNDEsIDIxMywgMzksIDIxMywgMzgsIDIxMywgMzcsIDIxMywgMzYsIDIxMywgMzUsIDIxMywgMzQsIDIxMywgCisgICAgMzMsIDIxMywgMzIsIDIxMywgMzEsIDIxMywgMzAsIDIxMywgMjgsIDIxMywgMjcsIDIxMywgMjYsIDIxMywgMjUsIDIxMywgCisgICAgMjQsIDIxMywgMjMsIDIxMywgMjIsIDIxMywgMjEsIDIxMywgMjAsIDIxMywgMTksIDIxMywgMTcsIDIxMywgMTYsIDIxMywgCisgICAgMTUsIDIxMywgMTQsIDIxMywgMTMsIDIxMywgMTIsIDIxMywgMTEsIDIxMywgMTAsIDIxMywgOSwgMjEzLCA4LCAyMTMsIDUsIAorICAgIDIxMywgNCwgMjEzLCAzLCAyMTMsIDIsIDIxMywgMSwgMjEzLCAwLCAyMTIsIDI1NSwgMjEyLCAyNTQsIDIxMiwgMjUzLCAKKyAgICAyMTIsIDI1MiwgMjEyLCAyNTAsIDIxMiwgMjQ5LCAyMTIsIDI0OCwgMjEyLCAyNDcsIDIxMiwgMjQ2LCAyMTIsIDI0NSwgCisgICAgMjEyLCAyNDQsIDIxMiwgMjQzLCAyMTIsIDI0MiwgMjEyLCAyNDEsIDIxMiwgMjM5LCAyMTIsIDIzOCwgMjEyLCAyMzcsIAorICAgIDIxMiwgMjM2LCAyMTIsIDIzNSwgMjEyLCAyMzQsIDIxMiwgMjMzLCAyMTIsIDIzMiwgMjEyLCAyMzEsIDIxMiwgMjMwLCAKKyAgICAyMTIsIDIyOCwgMjEyLCAyMjcsIDIxMiwgMjI2LCAyMTIsIDIyNSwgMjEyLCAyMjQsIDIxMiwgMjIzLCAyMTIsIDIyMiwgCisgICAgMjEyLCAyMjEsIDIxMiwgMjIwLCAyMTIsIDIxOSwgMjEyLCAyMTcsIDIxMiwgMjE2LCAyMTIsIDIxNSwgMjEyLCAyMTQsIAorICAgIDIxMiwgMjEzLCAyMTIsIDIxMiwgMjEyLCAyMTEsIDIxMiwgMjEwLCAyMTIsIDIwOSwgMjEyLCAyMDgsIDIxMiwgMjA2LCAKKyAgICAyMTIsIDIwNSwgMjEyLCAyMDQsIDIxMiwgMjAzLCAyMTIsIDIwMiwgMjEyLCAyMDEsIDIxMiwgMjAwLCA3LCA2LCAxLCAxMTUsIAorICAgIDIsIDIzMSwgMjMzLCAyMiwgMjQyLCAxMzYsIDcsIDQsIDEsIDExNSwgMiwgMjMxLCAyMzMsIDIyLCAyNDIsIDEzNiwgNywgNiwgCisgICAgMSwgMTYwLCAyLCA2NywgMjMyLCAyMTQsIDUxLCA3LCA0LCAxLCAxNjAsIDIsIDY3LCAyMzIsIDIxNCwgNTEsIDcsIDYsIDEsIAorICAgIDE2MCwgMiwgNjcsIDIzMiwgMjE0LCAyNTIsIDQzLCAyMiwgMjQyLCAxMzYsIDcsIDQsIDEsIDE2MCwgMiwgNjcsIDIzMiwgCisgICAgMjE0LCAyNTIsIDQzLCAyMiwgMjQyLCAxMzYsIDcsIDYsIDEsIDE2MCwgMiwgNjcsIDIzMiwgMjE0LCAyNTIsIDQzLCAyMiwgCisgICAgMTQyLCA3LCA0LCAxLCAxNjAsIDIsIDY3LCAyMzIsIDIxNCwgMjUyLCA0MywgMjIsIDE0MiwgNywgNiwgMSwgMTYwLCAyLCAKKyAgICAyNTAsIDMxLCAyMiwgMjMxLCAyMzIsIDcsIDQsIDEsIDE2MCwgMiwgMjUwLCAzMSwgMjIsIDIzMSwgMjMyLCA3LCA2LCAxLCAKKyAgICAxNjAsIDIsIDI1MCwgMzEsIDIyLCAyNTAsIDIzNCwgNywgNCwgMSwgMTYwLCAyLCAyNTAsIDMxLCAyMiwgMjUwLCAyMzQsIDcsIAorICAgIDYsIDEsIDI0MCwgMTU0LCAyLCAyMzEsIDIzMywgMjIsIDI0MiwgMTM2LCA3LCA0LCAxLCAyNDAsIDE1NCwgMiwgMjMxLCAKKyAgICAyMzMsIDIyLCAyNDIsIDEzNiwgNywgNCwgMSwgMjQwLCAxNTQsIDIsIDU5LCA3NywgMjIsIDE0MiwgNywgNCwgMSwgMjI5LCAKKyAgICA4MCwgMiwgMjE2LCA4OSwgNDgsIDcsIDYsIDEsIDE0NCwgMiwgNjcsIDIzMiwgMjE0LCA1MSwgNywgNCwgMSwgMTQ0LCAyLCAKKyAgICA2NywgMjMyLCAyMTQsIDUxLCA3LCA2LCAxLCAxNDQsIDIsIDY3LCAyMzIsIDIxNCwgMjUyLCA0MywgMjIsIDI0MiwgMTM2LCAKKyAgICA3LCA0LCAxLCAxNDQsIDIsIDY3LCAyMzIsIDIxNCwgMjUyLCA0MywgMjIsIDI0MiwgMTM2LCA3LCA2LCAxLCAxNDQsIDIsIAorICAgIDY3LCAyMzIsIDIxNCwgMjUyLCA0MywgMjIsIDE0MiwgNywgNCwgMSwgMTQ0LCAyLCA2NywgMjMyLCAyMTQsIDI1MiwgNDMsIAorICAgIDIyLCAxNDIsIDcsIDYsIDEsIDIyMiwgOTIsIDIsIDY3LCAyMzIsIDIxNCwgNTEsIDcsIDQsIDEsIDIyMiwgOTIsIDIsIDY3LCAKKyAgICAyMzIsIDIxNCwgNTEsIDcsIDYsIDEsIDEwNCwgMiwgMjMxLCAyMzMsIDIyLCAyNDIsIDEzNiwgNywgNCwgMSwgMTA0LCAyLCAKKyAgICAyMzEsIDIzMywgMjIsIDI0MiwgMTM2LCA3LCA2LCAxLCAxMTUsIDIsIDIyNiwgMjI1LCAyMiwgMTQyLCA3LCA0LCAxLCAxMTUsIAorICAgIDIsIDIyNiwgMjI1LCAyMiwgMTQyLCA3LCA2LCAxLCAxMTUsIDIsIDIyNiwgMjI1LCAyMiwgMTgyLCA3LCA0LCAxLCAxMTUsIAorICAgIDIsIDIyNiwgMjI1LCAyMiwgMTgyLCA3LCA2LCAxLCAxNjAsIDIsIDIyNiwgMjI1LCAyMiwgMTQyLCA3LCA0LCAxLCAxNjAsIAorICAgIDIsIDIyNiwgMjI1LCAyMiwgMTQyLCA3LCA2LCAxLCAxNjAsIDIsIDIyNiwgMjI1LCAyMiwgMTgyLCA3LCA0LCAxLCAxNjAsIAorICAgIDIsIDIyNiwgMjI1LCAyMiwgMTgyLCA3LCA2LCAxLCAxNjAsIDIsIDU5LCA3NywgMjIsIDE0MiwgNywgNCwgMSwgMTYwLCAyLCAKKyAgICA1OSwgNzcsIDIyLCAxNDIsIDcsIDYsIDEsIDE2MCwgMiwgNTksIDc3LCAyMiwgMTgyLCA3LCA0LCAxLCAxNjAsIDIsIDU5LCAKKyAgICA3NywgMjIsIDE4MiwgNywgNCwgMSwgMjQwLCAxNTQsIDIsIDU5LCA3NywgMjIsIDI0MiwgMTM2LCA3LCA0LCAxLCAyNDAsIAorICAgIDE1NCwgMiwgNTksIDc3LCAyMiwgMTgyLCA3LCA2LCAxLCAyNDAsIDE1NCwgMiwgMjI2LCAyMjUsIDIyLCAxNDIsIDcsIDQsIAorICAgIDEsIDI0MCwgMTU0LCAyLCAyMjYsIDIyNSwgMjIsIDU5LCA3NywgMjIsIDE0MiwgNywgNiwgMSwgMjQwLCAxNTQsIDIsIDIyNiwgCisgICAgMjI1LCAyMiwgMTgyLCA3LCA0LCAxLCAyNDAsIDE1NCwgMiwgMjI2LCAyMjUsIDIyLCA1OSwgNzcsIDIyLCAxODIsIDcsIDYsIAorICAgIDEsIDIzNSwgMTQ1LCAyLCAxODIsIDcsIDQsIDEsIDIzNSwgMTQ1LCAyLCA1OSwgNzcsIDIyLCAxODIsIDcsIDYsIDEsIDIzMywgCisgICAgMTQ5LCAyLCAxODIsIDcsIDQsIDEsIDIzMywgMTQ5LCAyLCAxODIsIDcsIDYsIDEsIDIzMiwgNTAsIDIsIDE4MiwgNywgNCwgCisgICAgMSwgMjMyLCA1MCwgMiwgMTgyLCA3LCA2LCAxLCAyMjMsIDIyNCwgMiwgMTgyLCA3LCA0LCAxLCAyMjMsIDIyNCwgMiwgMTgyLCAKKyAgICA3LCA2LCAxLCAxMDQsIDIsIDIyNiwgMjI1LCAyMiwgMTQyLCA3LCA0LCAxLCAxMDQsIDIsIDIyNiwgMjI1LCAyMiwgMTQyLCAKKyAgICA3LCA2LCAxLCAxMDQsIDIsIDIyNiwgMjI1LCAyMiwgMTgyLCA3LCA0LCAxLCAxMDQsIDIsIDIyNiwgMjI1LCAyMiwgMTgyLCAKKyAgICA3LCA2LCAxLCAxMDQsIDIsIDIzMSwgMjMzLCAyMiwgMTQyLCA3LCA0LCAxLCAxMDQsIDIsIDIzMSwgMjMzLCAyMiwgMTQyLCAKKyAgICA3LCA2LCAxLCAxMDQsIDIsIDIzMSwgMjMzLCAyMiwgMTgyLCA3LCA0LCAxLCAxMDQsIDIsIDIzMSwgMjMzLCAyMiwgMTgyLCAKKyAgICA3LCA0LCAxLCAyNTQsIDI0NCwgMiwgMjQyLCAxMzYsIDcsIDQsIDEsIDIwNCwgMTQ0LCAyLCAyNDIsIDEzNiwgNywgNCwgMSwgCisgICAgMjA0LCAxNDQsIDIsIDE0MiwgNywgNCwgMSwgMjE1LCA5NCwgMjE0LCAxMDYsIDIsIDI0MiwgMTM2LCA3LCA0LCAxLCAyMTUsIAorICAgIDk0LCAyMTQsIDEwNiwgMiwgMTQyLCA3LCA0LCAxLCAyMjEsIDE5NiwgMiwgMjQyLCAxMzYsIDcsIDQsIDEsIDIyMSwgMTk2LCAKKyAgICAyLCAxNDIsIDcsIDQsIDEsIDI0MSwgNTEsIDIyMSwgMTk2LCAyLCAyNDIsIDEzNiwgNywgNCwgMSwgMjQxLCA1MSwgMjIxLCAKKyAgICAxOTYsIDIsIDE0MiwgMTQ2LCAxLCAyMzQsIDEwOSwgMzYsIDExNiwgMjM1LCAyMywgMzYsIDExNiwgMjI5LCA3OSwgMzYsIAorICAgIDExNiwgMjUxLCA2NiwgMzYsIDExNiwgMjI3LCAxNjcsIDM2LCAxMTYsIDIxNSwgMTU5LCAzNiwgMTE2LCAyMjgsIDExMSwgCisgICAgMzYsIDExNiwgMjE3LCAxNTIsIDM2LCAxMTYsIDIzMCwgMjUsIDM2LCAxMTYsIDIyNiwgMTA1LCAzNiwgMTE2LCAxOTMsIDM2LCAKKyAgICAxMTYsIDIxMSwgMTE3LCAzNiwgMTE2LCAxNTMsIDM2LCAxMTYsIDE1NiwgMzYsIDExNiwgMjE0LCAxMDUsIDM2LCAxMTYsIAorICAgIDIzMiwgMTc2LCAzNiwgMTE2LCAyMzIsIDE4NSwgMzYsIDExNiwgMjIyLCAxODAsIDM2LCAxMTYsIDIyOCwgOTMsIDM2LCAKKyAgICAxMTYsIDIzNSwgMTQ0LCAzNiwgMTE2LCAyMjAsIDEwNCwgMzYsIDExNiwgMjE4LCAyMjYsIDM2LCAxMTYsIDIyMiwgOTEsIAorICAgIDM2LCAxMTYsIDI0MiwgNjAsIDM2LCAxMTYsIDIzMywgMjMyLCAzNiwgMywgMjM1LCAxMCwgMzYsIDMsIDIzNCwgOTIsIDM2LCAKKyAgICAzLCAyMzQsIDgzLCAzNiwgMywgMjMzLCAyMTcsIDM2LCAzLCAyMzMsIDE4OCwgMzYsIDMsIDIzNCwgMTgyLCAzNiwgMywgCisgICAgMjM0LCAxODEsIDM2LCAzLCAyMzQsIDI0NiwgMzYsIDMsIDIzNCwgMjgsIDM2LCAzLCAyMzQsIDEwLCAzNiwgMywgMjM0LCAKKyAgICAxOTUsIDM2LCAzLCAyMjksIDc2LCAzNiwgMywgMjI5LCAyNywgMzYsIDMsIDIyOSwgMjMsIDM2LCAzLCAyMjgsIDI0OCwgMzYsIAorICAgIDMsIDIyOCwgMjQxLCAzNiwgMywgMjI5LCA2NCwgMzYsIDMsIDIyOSwgNjIsIDM2LCAzLCAyMjksIDczLCAzNiwgMywgMjI5LCAKKyAgICA0LCAzNiwgMywgMjI4LCAyNTUsIDM2LCAzLCAyMjksIDY2LCAzNiwgMywgMjUxLCAzMiwgMzYsIDMsIDI1MCwgNTEsIDM2LCAKKyAgICAzLCAyNTAsIDQxLCAzNiwgMywgMjQ5LCAxMTIsIDM2LCAzLCAyNDksIDgzLCAzNiwgMywgMjUwLCAxOTAsIDM2LCAzLCAyNTAsIAorICAgIDE4MiwgMzYsIDMsIDI1MSwgMjIsIDM2LCAzLCAyNDksIDIzOCwgMzYsIDMsIDI0OSwgMTc0LCAzNiwgMywgMjUwLCAyMjIsIAorICAgIDM2LCAzLCAyMjcsIDE2NCwgMzYsIDMsIDIyNywgMTQ4LCAzNiwgMywgMjI3LCAxNDMsIDM2LCAzLCAyMjcsIDEyOCwgMzYsIAorICAgIDMsIDIyNywgMTIxLCAzNiwgMywgMjI3LCAxNTYsIDM2LCAzLCAyMjcsIDE1NSwgMzYsIDMsIDIyNywgMTYxLCAzNiwgMywgCisgICAgMjI3LCAxMzQsIDM2LCAzLCAyMjcsIDEzMiwgMzYsIDMsIDIyNywgMTU5LCAzNiwgMywgMjE1LCAxNTUsIDM2LCAzLCAyMTUsIAorICAgIDEzNSwgMzYsIDMsIDIxNSwgMTM0LCAzNiwgMywgMjE1LCAxMjMsIDM2LCAzLCAyMTUsIDEyMCwgMzYsIDMsIDIxNSwgMTUxLCAKKyAgICAzNiwgMywgMjE1LCAxNTAsIDM2LCAzLCAyMTUsIDE1NCwgMzYsIDMsIDIxNSwgMTMzLCAzNiwgMywgMjE1LCAxMzIsIDM2LCAKKyAgICAzLCAyMTUsIDE1MywgMzYsIDMsIDIyOCwgMTA5LCAzNiwgMywgMjI4LCA5NSwgMzYsIDMsIDIyOCwgOTQsIDM2LCAzLCAyMjgsIAorICAgIDc4LCAzNiwgMywgMjI4LCA3NywgMzYsIDMsIDIyOCwgMTA1LCAzNiwgMywgMjI4LCAxMDQsIDM2LCAzLCAyMjgsIDEwOCwgCisgICAgMzYsIDMsIDIyOCwgODAsIDM2LCAzLCAyMjgsIDc5LCAzNiwgMywgMjI4LCAxMDcsIDM2LCAzLCAyMTcsIDEwMSwgMzYsIDMsIAorICAgIDIxNiwgMTE3LCAzNiwgMywgMjE2LCAxMDMsIDM2LCAzLCAyMTUsIDExOCwgMzYsIDMsIDIxNSwgODUsIDM2LCAzLCAyMTcsIAorICAgIDIyLCAzNiwgMywgMjE3LCAxMSwgMzYsIDMsIDIxNywgNzksIDM2LCAzLCAxMTEsIDM2LCAzLCAyMTYsIDE3LCAzNiwgMywgCisgICAgMjE3LCA0MSwgMzYsIDMsIDIyOSwgMjI1LCAzNiwgMywgMjI4LCAyMzMsIDM2LCAzLCAyMjgsIDIwOCwgMzYsIDMsIDIyNywgCisgICAgMjM3LCAzNiwgMywgMjI3LCAxNzksIDM2LCAzLCAyMjksIDEwNywgMzYsIDMsIDIyOSwgMTAzLCAzNiwgMywgMjI5LCAyMTIsIAorICAgIDM2LCAzLCAyMjgsIDc0LCAzNiwgMywgMjI4LCA2NCwgMzYsIDMsIDIyOSwgMTg3LCAzNiwgMywgMjI2LCA4OSwgMzYsIDMsIAorICAgIDIyNSwgMTA4LCAzNiwgMywgMjI1LCA3MSwgMzYsIDMsIDIyNCwgMTUwLCAzNiwgMywgMjI0LCAxMTksIDM2LCAzLCAyMjUsIAorICAgIDIyMSwgMzYsIDMsIDIyNSwgMjExLCAzNiwgMywgMjI2LCA3MSwgMzYsIDMsIDIyNSwgMTYsIDM2LCAzLCAyMjQsIDI0OSwgCisgICAgMzYsIDMsIDIyNSwgMjM0LCAzNiwgMywgMjMxLCAyMzcsIDM2LCAzLCAyMzAsIDIzMCwgMzYsIDMsIDIzMCwgMjAxLCAzNiwgCisgICAgMywgMjMwLCAxMDIsIDM2LCAzLCAyMzAsIDU0LCAzNiwgMywgMjMxLCA5MSwgMzYsIDMsIDIzMSwgODAsIDM2LCAzLCAyMzEsIAorICAgIDIwMywgMzYsIDMsIDIzMCwgMTYxLCAzNiwgMywgMjMwLCAxMzIsIDM2LCAzLCAyMzEsIDEzNSwgMzYsIDMsIDIxMSwgMTAzLCAKKyAgICAzNiwgMywgMjExLCA4LCAzNiwgMywgMjEwLCAyNTUsIDM2LCAzLCAyMTAsIDIxMiwgMzYsIDMsIDIxMCwgMTgxLCAzNiwgMywgCisgICAgMjExLCA0NywgMzYsIDMsIDIxMSwgNDQsIDM2LCAzLCAyMTEsIDgyLCAzNiwgMywgMjEwLCAyNDQsIDM2LCAzLCAyMTAsIAorICAgIDIyOSwgMzYsIDMsIDIxMSwgNTUsIDM2LCAzLCAyMjMsIDE4NCwgMzYsIDMsIDIyMywgMzUsIDM2LCAzLCAyMjIsIDIzOSwgCisgICAgMzYsIDMsIDIyMiwgMTQwLCAzNiwgMywgMjIyLCAxMTIsIDM2LCAzLCAyMjMsIDEyOCwgMzYsIDMsIDIyMywgMTA4LCAzNiwgCisgICAgMywgMjIzLCAxNjYsIDM2LCAzLCAyMjIsIDIxMSwgMzYsIDMsIDIyMiwgMTk3LCAzNiwgMywgMjIzLCAxMzYsIDM2LCAzLCAKKyAgICAyMzMsIDEzNCwgMzYsIDMsIDIzMiwgMjQxLCAzNiwgMywgMjMyLCAyMjcsIDM2LCAzLCAyMzIsIDk4LCAzNiwgMywgMjMyLCAKKyAgICA3MywgMzYsIDMsIDIzMywgNTgsIDM2LCAzLCAyMzMsIDUwLCAzNiwgMywgMjMzLCAxMDksIDM2LCAzLCAyMzIsIDE1NiwgMzYsIAorICAgIDMsIDIzMiwgMTI3LCAzNiwgMywgMjMzLCA3NCwgMzYsIDMsIDIxNCwgMjYsIDM2LCAzLCAyMTMsIDE3NiwgMzYsIDMsIDIxMywgCisgICAgMTYyLCAzNiwgMywgMjEyLCAxMTYsIDM2LCAzLCAyMTIsIDEwOSwgMzYsIDMsIDIxMywgMjU1LCAzNiwgMywgMjEzLCAyNTAsIAorICAgIDM2LCAzLCAyMTQsIDIzLCAzNiwgMywgMjEzLCAxMzgsIDM2LCAzLCAyMTMsIDEyNywgMzYsIDMsIDIxNCwgNSwgMzYsIDMsIAorICAgIDIzMiwgMTc0LCAzNiwgMywgMjMyLCAxNjksIDM2LCAzLCAyMzIsIDE2OCwgMzYsIDMsIDIzMiwgMTY1LCAzNiwgMywgMjMyLCAKKyAgICAxNjQsIDM2LCAzLCAyMzIsIDE3MSwgMzYsIDMsIDIzMiwgMTcwLCAzNiwgMywgMjMyLCAxNzMsIDM2LCAzLCAyMzIsIDE2NywgCisgICAgMzYsIDMsIDIzMiwgMTY2LCAzNiwgMywgMjMyLCAxNzIsIDM2LCAzLCAyMzIsIDE4MywgMzYsIDMsIDIzMiwgMTc4LCAzNiwgCisgICAgMywgMjMyLCAxNzcsIDM2LCAzLCAyMzIsIDE2MSwgMzYsIDMsIDIzMiwgMTYwLCAzNiwgMywgMjMyLCAxODAsIDM2LCAzLCAKKyAgICAyMzIsIDE3OSwgMzYsIDMsIDIzMiwgMTgyLCAzNiwgMywgMjMyLCAxNjMsIDM2LCAzLCAyMzIsIDE2MiwgMzYsIDMsIDIzMiwgCisgICAgMTgxLCAzNiwgMywgMjIyLCAxNzgsIDM2LCAzLCAyMjIsIDE2NywgMzYsIDMsIDIyMiwgMTY2LCAzNiwgMywgMjIyLCAxNjAsIAorICAgIDM2LCAzLCAyMjIsIDE1MywgMzYsIDMsIDIyMiwgMTc0LCAzNiwgMywgMjIyLCAxNzMsIDM2LCAzLCAyMjIsIDE3NywgMzYsIAorICAgIDMsIDIyMiwgMTY1LCAzNiwgMywgMjIyLCAxNjQsIDM2LCAzLCAyMjIsIDE3NiwgMzYsIDMsIDIyOCwgOTEsIDM2LCAzLCAKKyAgICAyMjgsIDg2LCAzNiwgMywgMjI4LCA4NSwgMzYsIDMsIDIyOCwgODIsIDM2LCAzLCAyMjgsIDgxLCAzNiwgMywgMjI4LCA4OCwgCisgICAgMzYsIDMsIDIyOCwgODcsIDM2LCAzLCAyMjgsIDkwLCAzNiwgMywgMjI4LCA4NCwgMzYsIDMsIDIyOCwgODMsIDM2LCAzLCAKKyAgICAyMjgsIDg5LCAzNiwgMywgMjM1LCAxNDAsIDM2LCAzLCAyMzUsIDEwOCwgMzYsIDMsIDIzNSwgMTAxLCAzNiwgMywgMjM1LCAKKyAgICA1MSwgMzYsIDMsIDIzNSwgMzMsIDM2LCAzLCAyMzUsIDEyNiwgMzYsIDMsIDIzNSwgMTI0LCAzNiwgMywgMjM1LCAxMzUsIAorICAgIDM2LCAzLCAyMzUsIDY4LCAzNiwgMywgMjM1LCA1OSwgMzYsIDMsIDIzNSwgMTI5LCAzNiwgMywgMjIwLCA5OCwgMzYsIDMsIAorICAgIDIyMCwgMzIsIDM2LCAzLCAyMjAsIDI3LCAzNiwgMywgMjE5LCAyMjUsIDM2LCAzLCAyMTksIDIxMCwgMzYsIDMsIDIyMCwgCisgICAgNjMsIDM2LCAzLCAyMjAsIDYxLCAzNiwgMywgMjIwLCA5MCwgMzYsIDMsIDIyMCwgNywgMzYsIDMsIDIyMCwgMSwgMzYsIDMsIAorICAgIDIyMCwgNzEsIDM2LCAzLCAyMTgsIDIyMiwgMzYsIDMsIDIxOCwgMTkyLCAzNiwgMywgMjE4LCAxODgsIDM2LCAzLCAyMTgsIAorICAgIDE3OSwgMzYsIDMsIDIxOCwgMTc2LCAzNiwgMywgMjE4LCAxOTcsIDM2LCAzLCAyMTgsIDE5NiwgMzYsIDMsIDIxOCwgMjIxLCAKKyAgICAzNiwgMywgMjE4LCAxODQsIDM2LCAzLCAyMTgsIDE4MywgMzYsIDMsIDIxOCwgMTk5LCAzNiwgMywgMjIyLCAzMSwgMzYsIDMsIAorICAgIDIxOSwgMTkxLCAzNiwgMywgMjE5LCAxNzUsIDM2LCAzLCAyMTgsIDgzLCAzNiwgMywgMjE4LCA0LCAzNiwgMywgMjIxLCAKKyAgICAxODEsIDM2LCAzLCAyMjEsIDE3MCwgMzYsIDMsIDIyMiwgMTcsIDM2LCAzLCAyMTksIDU4LCAzNiwgMywgMjE5LCA0MCwgMzYsIAorICAgIDMsIDIyMSwgMjE5LCAzNiwgMywgMjQyLCA0NiwgMzYsIDMsIDI0MSwgMTgwLCAzNiwgMywgMjQxLCAxNjEsIDM2LCAzLCAKKyAgICAyNDAsIDIyMiwgMzYsIDMsIDI0MCwgMjAyLCAzNiwgMywgMjQxLCAyMzgsIDM2LCAzLCAyNDEsIDIyMCwgMzYsIDMsIDI0MiwgCisgICAgMzYsIDM2LCAzLCAyNDEsIDY4LCAzNiwgMywgMjQxLCA1MywgMzYsIDMsIDI0MSwgMjQ2LCAzNiwgMywgMjMzLCAyMzEsIDM2LCAKKyAgICAzLCAyMzMsIDIzMCwgMzYsIDMsIDIzMywgMjI1LCAzNiwgMywgMjMzLCAyMjQsIDM2LCAzLCAyMzMsIDIyMSwgMzYsIDMsIAorICAgIDIzMywgMjIwLCAzNiwgMywgMjMzLCAyMjcsIDM2LCAzLCAyMzMsIDIyNiwgMzYsIDMsIDIzMywgMjI5LCAzNiwgMywgMjMzLCAKKyAgICAyMjMsIDM2LCAzLCAyMzMsIDIyMiwgMzYsIDMsIDIzMywgMjI4LCAzNiwgMywgMjE5LCAyMzEsIDE3NSwgMTE2LCA1LCAyMTEsIAorICAgIDY4LCAxNzUsIDExNiwgNSwgMjIzLCAxNTUsIDE3NSwgMTE2LCA1LCAyMjMsIDc4LCA5OCwgMSwgMjE1LCAyOCwgNjksIDExNiwgCisgICAgNSwgMjQ5LCAyMzMsIDE3NiwgNjksIDExNiwgNSwgMjQ5LCAyMzMsIDIzNCwgMTMyLCA2OSwgMTE2LCA1LCAyNDksIDIzMywgCisgICAgMjM0LCAyOCwgNjksIDExNiwgNSwgMjQ5LCAyMzMsIDIzNCwgMTA1LCA2OSwgMTE2LCA1LCAyNDksIDIzMywgMjI5LCA0LCAKKyAgICA2OSwgMTE2LCA1LCAyNDksIDIzMywgMjUxLCAzMywgNjksIDExNiwgNSwgMjQ5LCAyMzMsIDI1MCwgMTU3LCA2OSwgMTE2LCAKKyAgICA1LCAyNDksIDIzMywgMjQ5LCAyMzgsIDY5LCAxMTYsIDUsIDI0OSwgMjMzLCAyNTAsIDg2LCA2OSwgMTE2LCA1LCAyNDksIAorICAgIDIzMywgMjI3LCAxMzQsIDY5LCAxMTYsIDUsIDI0OSwgMjMzLCAyNDgsIDIyMSwgNjksIDExNiwgNSwgMjQ5LCAyMzMsIDIxNSwgCisgICAgMTQ0LCA2OSwgMTE2LCA1LCAyNDksIDIzMywgMjQ3LCAxNDUsIDY5LCAxMTYsIDUsIDI0OSwgMjMzLCAyMTUsIDEzOSwgNjksIAorICAgIDExNiwgNSwgMjQ5LCAyMzMsIDE5NywgNjksIDExNiwgNSwgMjQ5LCAyMzMsIDIxNywgMTA1LCA2OSwgMTE2LCA1LCAyNDksIAorICAgIDIzMywgMjE2LCAyMDgsIDY5LCAxMTYsIDUsIDI0OSwgMjMzLCAxMTEsIDY5LCAxMTYsIDUsIDI0OSwgMjMzLCAyMTYsIDE1NiwgCisgICAgNjksIDExNiwgNSwgMjQ5LCAyMzMsIDIyOCwgNzQsIDY5LCAxMTYsIDUsIDI0OSwgMjMzLCAyNTIsIDE5MSwgNjksIDExNiwgCisgICAgNSwgMjQ5LCAyMzMsIDIyNSwgMTQ3LCA2OSwgMTE2LCA1LCAyNDksIDIzMywgMjI1LCAxNiwgNjksIDExNiwgNSwgMjQ5LCAKKyAgICAyMzMsIDIyNSwgMTIxLCA2OSwgMTE2LCA1LCAyNDksIDIzMywgMjMwLCAxNjEsIDY5LCAxMTYsIDUsIDI0OSwgMjMzLCAyMTAsIAorICAgIDI0NCwgNjksIDExNiwgNSwgMjQ5LCAyMzMsIDIyMiwgMjExLCA2OSwgMTE2LCA1LCAyNDksIDIzMywgMjMyLCAxNTYsIDY5LCAKKyAgICAxMTYsIDUsIDI0OSwgMjMzLCAyMTMsIDEzOCwgNjksIDExNiwgNSwgMjQ5LCAyMzMsIDIyMCwgMTAyLCA2OSwgMTE2LCA1LCAKKyAgICAyNDksIDIzMywgMjE4LCAyMjMsIDY5LCAxMTYsIDUsIDI0OSwgMjMzLCAyMDYsIDY5LCAxMTYsIDUsIDI0OSwgMjMzLCAxNjIsIAorICAgIDY5LCAxMTYsIDUsIDI0OSwgMjMzLCAyMzMsIDEzNSwgNjksIDI1LCA1LCAyNDksIDIzMywgMjI0LCA4OCwgNjksIDIzNSwgCisgICAgMjQzLCAyNSwgNSwgMjQ5LCAyMzMsIDIyNCwgMzAsIDY5LCAyMzUsIDI0MywgMjUsIDUsIDI0OSwgMjMzLCAyMjIsIDEwMCwgCisgICAgNjksIDIzNSwgMjQzLCAyNSwgNSwgMjQ5LCAyMzMsIDIyMiwgOTMsIDY5LCAyMzUsIDI0MywgMjUsIDUsIDI0OSwgMjMzLCAKKyAgICAyMjQsIDY5LCA2OSwgMjUsIDUsIDIyNiwgMjA0LCA2OSwgMjUsIDUsIDI1NSwgMzQsIDE0MSwgMSwgMjUxLCAyNTUsIDIyOSwgCisgICAgNzcsIDE0MSwgMSwgMjUxLCAyNTUsIDIyOSwgMjcsIDE0MSwgMSwgMjUxLCAyNTUsIDIyOCwgMjQ4LCAxNDEsIDEsIDI1MSwgCisgICAgMjU1LCAyMjksIDY0LCAxNDEsIDEsIDI1MSwgMjU1LCAyMjksIDQsIDU2LCAxLCAyNTEsIDI1NSwgMjI5LCA3NywgNTYsIDEsIAorICAgIDI1MSwgMjU1LCAyMjksIDI3LCA1NiwgMSwgMjUxLCAyNTUsIDIyOCwgMjQ4LCA1NiwgMSwgMjUxLCAyNTUsIDIyOSwgNjQsIAorICAgIDU2LCAxLCAyNTEsIDI1NSwgMjI5LCA0LCA1NiwgMSwgMjU0LCAxOTQsIDI1MCwgMTkwLCA1NiwgMSwgMjU0LCAxOTQsIDIxNSwgCisgICAgMTE4LCA1NiwgMSwgMjU0LCAxOTQsIDExMSwgNTYsIDEsIDI1NCwgMTk0LCAyMjYsIDEwNSwgNTgsIDEsIDI0NSwgMjAsIAorICAgIDI0NSwgMTksIDI0OSwgMTgyLCAxMzgsIDEzMCwgNTgsIDEsIDI0NSwgMTksIDI0NSwgMjAsIDI0OSwgMTgyLCAxMzgsIDEzMCwgCiB9OwogCiBzdGF0aWMgdW5zaWduZWQgY2hhciBwaHJhc2Vib29rX29mZnNldDFbXSA9IHsKQEAgLTEzMTI3LDQ4NyArMTM4MjQsNDg4IEBACiAgICAgMjEsIDIyLCAyMywgMjQsIDI1LCAyNiwgMjcsIDI4LCAyOSwgMzAsIDMxLCAzMiwgMzMsIDM0LCAzNSwgMzYsIDM3LCAzOCwgCiAgICAgMzksIDQwLCA0MSwgNDIsIDQzLCA0NCwgNDUsIDQ2LCA0NywgNDgsIDQ5LCA1MCwgNTEsIDUyLCA1MywgNTQsIDU1LCA1NiwgCiAgICAgNTcsIDU4LCA1OSwgNjAsIDYxLCA2MiwgNjMsIDY0LCA2NSwgNjYsIDY3LCA2OCwgNjksIDcwLCA3MSwgNzIsIDczLCA3NCwgCi0gICAgNzUsIDc2LCA3NywgNzgsIDc5LCA4MCwgODEsIDgyLCA4MywgODQsIDg1LCA4NiwgMTcsIDg3LCA4OCwgODksIDkwLCA5MSwgCi0gICAgOTIsIDkzLCA5NCwgOTUsIDk2LCA5NywgOTgsIDk5LCAxMDAsIDEwMSwgMTAyLCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxMDMsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTA0LCAxMDUsIDEwNiwgMTA3LCAxMDgsIAotICAgIDEwOSwgMTEwLCAxMTEsIDExMiwgMTEzLCAxMTQsIDExNSwgMTE2LCAxMTcsIDExOCwgMTE5LCAxMjAsIDEyMSwgMTIyLCAKLSAgICAxMjMsIDEyNCwgMTI1LCAxMjYsIDEyNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTI4LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxMjksIDEzMCwgCi0gICAgMTMxLCAxMzIsIDEzMywgMTM0LCAxMzUsIDEzNiwgMTM3LCAxMzgsIDEzOSwgMTQwLCAxNDEsIDE0MiwgMTQzLCAxNDQsIAotICAgIDE0NSwgMTQ2LCAxNywgMTQ3LCAxNDgsIDE0OSwgMTUwLCAxNTEsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE1MiwgMTcsIAotICAgIDE1MywgMTcsIDE1NCwgMTcsIDE1NSwgMTcsIDE1NiwgMTcsIDE3LCAxNywgMTU3LCAxNywgMTcsIDE3LCAxNTgsIDE1OSwgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTYwLCAxNjEsIDE2MiwgMTYzLCAxNjQsIAotICAgIDE2NSwgMTY2LCAxNywgMTY3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE2OCwgMTY5LCAxNzAsIDE3MSwgMTcyLCAxNzMsIAotICAgIDE3NCwgMTc1LCAxNzYsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNzcsIAotICAgIDE3OCwgMTc5LCAxODAsIDE4MSwgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE4MiwgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTgzLCAxODQsIDE4NSwgMTg2LCAxODcsIDE3LCAxODgsIAotICAgIDE3LCAxODksIDE5MCwgMTkxLCAxOTIsIDE5MywgMTk0LCAxOTUsIDE5NiwgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTk3LCAxOTgsIDE5OSwgMjAwLCAyMDEsIDE3LCAyMDIsIDIwMywgMjA0LCAyMDUsIDIwNiwgCi0gICAgMjA3LCAyMDgsIDIwOSwgMjEwLCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAyMTEsIDIxMiwgMjEzLCAKLSAgICAyMTQsIDIxNSwgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMjE2LCAxNywgMjE3LCAyMTgsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCisgICAgNzUsIDc2LCA3NywgNzgsIDc5LCA4MCwgODEsIDgyLCA4MywgODQsIDg1LCA4NiwgODcsIDg4LCA4OSwgOTAsIDkxLCA5MiwgCisgICAgOTMsIDk0LCA5NSwgOTYsIDk3LCA5OCwgOTksIDEwMCwgMTAxLCAxMDIsIDEwMywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCisgICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCisgICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCisgICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgMTA0LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDEwNSwgMTA2LCAxMDcsIDEwOCwgMTA5LCAKKyAgICAxMTAsIDExMSwgMTEyLCAxMTMsIDExNCwgMTE1LCAxMTYsIDExNywgMTE4LCAxMTksIDEyMCwgMTIxLCAxMjIsIDEyMywgCisgICAgMTI0LCAxMjUsIDEyNiwgMTI3LCAxMjgsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDEyOSwgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgMTMwLCAxMzEsIAorICAgIDEzMiwgMTMzLCAxMzQsIDEzNSwgMTM2LCAxMzcsIDEzOCwgMTM5LCAxNDAsIDE0MSwgMTQyLCAxNDMsIDE0NCwgMTQ1LCAKKyAgICAxNDYsIDE0NywgODcsIDE0OCwgMTQ5LCAxNTAsIDE1MSwgMTUyLCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAxNTMsIDg3LCAKKyAgICAxNTQsIDE1NSwgMTU2LCA4NywgMTU3LCA4NywgMTU4LCA4NywgODcsIDg3LCAxNTksIDg3LCA4NywgODcsIDE2MCwgMTYxLCAKKyAgICAxNjIsIDE2MywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgMTY0LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAxNjUsIDE2NiwgMTY3LCAxNjgsIAorICAgIDE2OSwgMTcwLCAxNzEsIDg3LCAxNzIsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgMTczLCAxNzQsIDE3NSwgMTc2LCAxNzcsIDE3OCwgCisgICAgMTc5LCAxODAsIDE4MSwgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDE4MiwgCisgICAgMTgzLCAxODQsIDE4NSwgMTg2LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAxODcsIDE4OCwgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICAxODksIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCisgICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCisgICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgCisgICAgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDE5MCwgMTkxLCAxOTIsIDE5MywgMTk0LCA4NywgMTk1LCAKKyAgICA4NywgMTk2LCAxOTcsIDE5OCwgMTk5LCAyMDAsIDIwMSwgMjAyLCAyMDMsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgMjA0LCAyMDUsIDg3LCA4NywgMjA2LCAyMDcsIDIwOCwgMjA5LCAyMTAsIDg3LCAyMTEsIDIxMiwgMjEzLCAyMTQsIAorICAgIDIxNSwgMjE2LCAyMTcsIDIxOCwgMjE5LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAyMjAsIDIyMSwgCisgICAgMjIyLCAyMjMsIDIyNCwgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCAKKyAgICA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgMjI1LCA4NywgMjI2LCAyMjcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCAyMjgsIDIyOSwgMjMwLCAyMzEsIDIzMiwgMjMzLCAyMzQsIDIzNSwgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIDg3LCA4NywgODcsIAorICAgIDg3LCA4NywgODcsIDg3LCAKIH07CiAKIHN0YXRpYyB1bnNpZ25lZCBpbnQgcGhyYXNlYm9va19vZmZzZXQyW10gPSB7CkBAIC0xMzYxNSwyODAzICsxNDMxMywzMDE1IEBACiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMSwgMywgNiwgOSwgMTEsIDE0LCAxNywgMTksIDIxLCAyNCwgMjcsIDI5LCAzMSwgCiAgICAgMzMsIDM1LCAzOSwgNDEsIDQ0LCA0NiwgNDgsIDUwLCA1MiwgNTQsIDU2LCA1OCwgNjAsIDYyLCA2NCwgNjYsIDY5LCA3MiwgCiAgICAgNzUsIDc4LCA4MiwgODYsIDkxLCA5NiwgMTAxLCAxMDUsIDExMCwgMTE1LCAxMjAsIDEyNCwgMTI5LCAxMzQsIDEzOCwgMTQyLCAKLSAgICAxNDYsIDE1MCwgMTU1LCAxNjAsIDE2NCwgMTY4LCAxNzMsIDE3NywgMTgyLCAxODcsIDE5MiwgMTk3LCAyMDIsIDIwNSwgCi0gICAgMjA5LCAyMTIsIDIxNiwgMjE5LCAyMjMsIDIyNywgMjMyLCAyMzcsIDI0MiwgMjQ2LCAyNTEsIDI1NiwgMjYxLCAyNjUsIAotICAgIDI3MCwgMjc1LCAyNzksIDI4MywgMjg3LCAyOTEsIDI5NiwgMzAxLCAzMDUsIDMwOSwgMzE0LCAzMTgsIDMyMywgMzI4LCAKLSAgICAzMzMsIDMzOCwgMzQzLCAzNDcsIDM1MCwgMzU0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNTYsIDM2MCwgMzY1LCAKLSAgICAzNjgsIDM3MSwgMzc0LCAzNzcsIDM4MCwgMzgzLCAzODUsIDM4OCwgMzk0LCA0MDIsIDQwNSwgNDA5LCA0MTIsIDQxNCwgCi0gICAgNDE3LCA0MjAsIDQyMywgNDI2LCA0MzAsIDQzMywgNDM2LCA0NDAsIDQ0MiwgNDQ1LCA0NTEsIDQ1OSwgNDY2LCA0NzMsIAotICAgIDQ4MCwgNDg1LCA0OTIsIDQ5OCwgNTA1LCA1MTIsIDUxOSwgNTI3LCA1MzIsIDU0MCwgNTQ3LCA1NTMsIDU2MCwgNTY3LCAKLSAgICA1NzUsIDU4MiwgNTkwLCA1OTgsIDYwMywgNjExLCA2MTgsIDYyNCwgNjMxLCA2MzgsIDY0NSwgNjQ4LCA2NTQsIDY2MSwgCi0gICAgNjY3LCA2NzQsIDY4MSwgNjg4LCA2OTMsIDY5OSwgNzA2LCA3MTIsIDcxOSwgNzI2LCA3MzMsIDc0MSwgNzQ2LCA3NTQsIAotICAgIDc2MSwgNzY3LCA3NzQsIDc4MSwgNzg5LCA3OTYsIDgwNCwgODEyLCA4MTcsIDgyNSwgODMyLCA4MzgsIDg0NSwgODUyLCAKLSAgICA4NTksIDg2MiwgODY4LCA4NzUsIDg4MSwgODg4LCA4OTUsIDkwMiwgOTA3LCA5MTUsIDkyMiwgOTI5LCA5MzYsIDk0MywgCi0gICAgOTUwLCA5NTcsIDk2NCwgOTcxLCA5NzksIDk4NywgOTk1LCAxMDAzLCAxMDExLCAxMDE5LCAxMDI3LCAxMDM1LCAxMDQyLCAKLSAgICAxMDQ5LCAxMDU2LCAxMDYzLCAxMDcwLCAxMDc3LCAxMDg0LCAxMDkxLCAxMDk4LCAxMTA1LCAxMTEyLCAxMTE5LCAxMTI3LCAKLSAgICAxMTM1LCAxMTQzLCAxMTUxLCAxMTU5LCAxMTY3LCAxMTc1LCAxMTgzLCAxMTkxLCAxMTk5LCAxMjA2LCAxMjEzLCAxMjIxLCAKLSAgICAxMjI5LCAxMjM3LCAxMjQ1LCAxMjUzLCAxMjYxLCAxMjY5LCAxMjc3LCAxMjg1LCAxMjkxLCAxMjk2LCAxMzAxLCAxMzA5LCAKLSAgICAxMzE3LCAxMzI1LCAxMzMzLCAxMzM4LCAxMzQ1LCAxMzUyLCAxMzYwLCAxMzY4LCAxMzc2LCAxMzg0LCAxMzk0LCAxNDA0LCAKLSAgICAxNDExLCAxNDE4LCAxNDI1LCAxNDMyLCAxNDQwLCAxNDQ4LCAxNDU2LCAxNDY0LCAxNDc1LCAxNDgwLCAxNDg1LCAxNDkyLCAKLSAgICAxNDk5LCAxNTA2LCAxNTEzLCAxNTIwLCAxNTI3LCAxNTMyLCAxNTM3LCAxNTQ0LCAxNTUxLCAxNTU5LCAxNTY3LCAxNTc1LCAKLSAgICAxNTgzLCAxNTkwLCAxNTk3LCAxNjA1LCAxNjEzLCAxNjIxLCAxNjI5LCAxNjM3LCAxNjQ1LCAxNjUzLCAxNjYxLCAxNjY5LCAKLSAgICAxNjc3LCAxNjg0LCAxNjkxLCAxNjk4LCAxNzA1LCAxNzEyLCAxNzE5LCAxNzI2LCAxNzMzLCAxNzQxLCAxNzQ5LCAxNzU2LCAKLSAgICAxNzYzLCAxNzcwLCAxNzc3LCAxNzg1LCAxNzkzLCAxODAxLCAxODA5LCAxODE3LCAxODI0LCAxODMxLCAxODM5LCAxODQ3LCAKLSAgICAxODU1LCAxODYzLCAxODY4LCAxODc0LCAxODgwLCAxODg3LCAxODk0LCAxODk5LCAxOTA0LCAxOTEwLCAxOTE3LCAxOTI0LCAKLSAgICAxOTMxLCAxOTM4LCAxOTQ2LCAxOTU0LCAxOTYxLCAxOTY3LCAxOTcyLCAxOTc4LCAxOTg1LCAxOTkyLCAxOTk5LCAyMDA0LCAKLSAgICAyMDA5LCAyMDE0LCAyMDIxLCAyMDI4LCAyMDM1LCAyMDQyLCAyMDQ5LCAyMDU1LCAyMDYzLCAyMDczLCAyMDgyLCAyMDg5LCAKLSAgICAyMDk2LCAyMTAxLCAyMTA2LCAyMTEzLCAyMTIwLCAyMTI0LCAyMTI5LCAyMTM0LCAyMTM5LCAyMTQ3LCAyMTU2LCAyMTYzLCAKLSAgICAyMTcwLCAyMTc5LCAyMTg2LCAyMTkzLCAyMTk4LCAyMjA1LCAyMjEyLCAyMjE5LCAyMjI2LCAyMjMzLCAyMjM4LCAyMjQ1LCAKLSAgICAyMjUyLCAyMjYwLCAyMjY1LCAyMjcwLCAyMjc1LCAyMjg1LCAyMjg5LCAyMjk1LCAyMzAxLCAyMzA3LCAyMzEzLCAyMzIxLCAKLSAgICAyMzM0LCAyMzQyLCAyMzQ3LCAyMzU3LCAyMzYyLCAyMzY3LCAyMzc3LCAyMzgyLCAyMzg5LCAyMzk2LCAyNDA0LCAyNDEyLCAKLSAgICAyNDE5LCAyNDI2LCAyNDMzLCAyNDQwLCAyNDUwLCAyNDYwLCAyNDY5LCAyNDc4LCAyNDg4LCAyNDk4LCAyNTA4LCAyNTE4LCAKLSAgICAyNTI0LCAyNTM0LCAyNTQ0LCAyNTU0LCAyNTY0LCAyNTcyLCAyNTgwLCAyNTg3LCAyNTk0LCAyNjAyLCAyNjEwLCAyNjE4LCAKLSAgICAyNjI2LCAyNjMzLCAyNjQwLCAyNjUwLCAyNjYwLCAyNjY4LCAyNjc2LCAyNjg0LCAyNjg5LCAyNjk5LCAyNzA0LCAyNzExLCAKLSAgICAyNzE4LCAyNzIzLCAyNzI4LCAyNzM2LCAyNzQ0LCAyNzU0LCAyNzY0LCAyNzcxLCAyNzc4LCAyNzg3LCAyNzk2LCAyODA0LCAKLSAgICAyODEyLCAyODIxLCAyODMwLCAyODM4LCAyODQ2LCAyODU1LCAyODY0LCAyODczLCAyODgyLCAyODkyLCAyOTAyLCAyOTEwLCAKLSAgICAyOTE4LCAyOTI3LCAyOTM2LCAyOTQ1LCAyOTU0LCAyOTY0LCAyOTc0LCAyOTgyLCAyOTkwLCAyOTk5LCAzMDA4LCAzMDE3LCAKLSAgICAzMDI2LCAzMDM1LCAzMDQ0LCAzMDQ5LCAzMDU0LCAzMDYyLCAzMDcwLCAzMDgwLCAzMDg4LCAzMDkzLCAzMDk4LCAzMTA1LCAKLSAgICAzMTEyLCAzMTE5LCAzMTI2LCAzMTMzLCAzMTQwLCAzMTUwLCAzMTYwLCAzMTcwLCAzMTgwLCAzMTg3LCAzMTk0LCAzMjA0LCAKLSAgICAzMjE0LCAzMjIyLCAzMjMwLCAzMjM4LCAzMjQ2LCAzMjU0LCAzMjYxLCAzMjY4LCAzMjc1LCAzMjgxLCAzMjg4LCAzMjk1LCAKLSAgICAzMzAyLCAzMzExLCAzMzIxLCAzMzMxLCAzMzM4LCAzMzQ1LCAzMzUxLCAzMzU2LCAzMzYzLCAzMzY5LCAzMzc1LCAzMzgyLCAKLSAgICAzMzg5LCAzNDAwLCAzNDEwLCAzNDE3LCAzNDI0LCAzNDMxLCAzNDM4LCAzNDQ0LCAzNDQ5LCAzNDU2LCAzNDYyLCAzNDY4LCAKLSAgICAzNDc2LCAzNDg0LCAzNDkxLCAzNDk3LCAzNTAyLCAzNTA5LCAzNTE1LCAzNTIzLCAzNTMzLCAzNTQzLCAzNTUyLCAzNTU5LCAKLSAgICAzNTY1LCAzNTcxLCAzNTc2LCAzNTgzLCAzNTkwLCAzNTk3LCAzNjA0LCAzNjExLCAzNjE2LCAzNjIxLCAzNjMxLCAzNjM5LCAKLSAgICAzNjQ4LCAzNjUzLCAzNjU5LCAzNjcwLCAzNjc3LCAzNjg1LCAzNjk0LCAzNjk5LCAzNzA1LCAzNzExLCAzNzE4LCAzNzIzLCAKLSAgICAzNzI5LCAzNzQwLCAzNzQ5LCAzNzU4LCAzNzY2LCAzNzc0LCAzNzg0LCAzNzg5LCAzNzk2LCAzODAzLCAzODA4LCAzODIwLCAKLSAgICAzODI5LCAzODM3LCAzODQ0LCAzODUzLCAzODU4LCAzODYzLCAzODcwLCAzODc3LCAzODg0LCAzODkxLCAzODk3LCAzOTA2LCAKLSAgICAzOTE0LCAzOTE5LCAzOTI3LCAzOTMzLCAzOTQxLCAzOTQ5LCAzOTU1LCAzOTYxLCAzOTY3LCAzOTc1LCAzOTgzLCAzOTg5LCAKLSAgICAzOTk3LCA0MDA0LCA0MDA5LCA0MDE2LCA0MDI0LCA0MDM0LCA0MDQxLCA0MDQ4LCA0MDU4LCA0MDY1LCA0MDcyLCA0MDgyLCAKLSAgICA0MDg5LCA0MDk2LCA0MTAzLCA0MTA5LCA0MTE1LCA0MTI1LCA0MTM4LCA0MTQzLCA0MTUwLCA0MTU1LCA0MTU5LCA0MTY1LCAKLSAgICA0MTc0LCA0MTgxLCA0MTg2LCA0MTkxLCA0MTk1LCA0MjAwLCA0MjA2LCA0MjEwLCA0MjE2LCA0MjIyLCA0MjI4LCA0MjM0LCAKLSAgICA0MjQyLCA0MjQ3LCA0MjUyLCA0MjU3LCA0MjYyLCA0MjY4LCA0MjcwLCA0Mjc1LCA0Mjc5LCA0Mjg1LCA0MjkxLCA0Mjk3LCAKLSAgICA0MzAyLCA0MzA5LCA0MzE2LCA0MzIyLCA0MzI5LCA0MzM3LCA0MzQ1LCA0MzUwLCA0MzU1LCA0MzU5LCA0MzY0LCA0MzY2LCAKLSAgICA0MzY4LCA0MzcxLCA0MzczLCA0Mzc2LCA0MzgxLCA0Mzg2LCA0MzkyLCA0Mzk3LCA0NDAxLCA0NDA1LCA0NDEwLCA0NDE5LCAKLSAgICA0NDI1LCA0NDMwLCA0NDM2LCA0NDQxLCA0NDQ3LCA0NDU1LCA0NDYzLCA0NDY3LCA0NDcxLCA0NDc2LCA0NDgyLCA0NDg4LCAKLSAgICA0NDk0LCA0NTAwLCA0NTA1LCA0NTEzLCA0NTIyLCA0NTMxLCA0NTM2LCA0NTQyLCA0NTQ5LCA0NTU2LCA0NTYzLCA0NTcwLCAKLSAgICA0NTc0LCA0NTgwLCA0NTg1LCA0NTkwLCA0NTk1LCA0NjAwLCA0NjAzLCA0NjA2LCA0NjA5LCA0NjEyLCA0NjE1LCA0NjE4LCAKLSAgICA0NjIyLCA0NjI2LCA0NjMyLCA0NjM1LCA0NjQwLCA0NjQ2LCA0NjUyLCA0NjU1LCA0NjYwLCA0NjY2LCA0NjcwLCA0Njc2LCAKLSAgICA0NjgyLCA0Njg4LCA0Njk0LCA0Njk5LCA0NzA0LCA0NzA5LCA0NzEyLCA0NzE4LCA0NzIzLCA0NzI4LCA0NzMyLCA0NzM3LCAKLSAgICA0NzQzLCA0NzQ5LCA0NzUyLCA0NzU2LCA0NzYwLCA0NzY0LCA0NzY3LCA0NzcwLCA0Nzc1LCA0Nzc5LCA0Nzg2LCA0NzkwLCAKLSAgICA0Nzk2LCA0ODAwLCA0ODA2LCA0ODEwLCA0ODE0LCA0ODE4LCA0ODIzLCA0ODI4LCA0ODM1LCA0ODQxLCA0ODQ4LCA0ODU0LCAKLSAgICA0ODYwLCA0ODY2LCA0ODY5LCA0ODczLCA0ODc3LCA0ODgxLCA0ODg1LCA0ODkwLCA0ODk1LCA0ODk5LCA0OTAzLCA0OTA5LCAKLSAgICA0OTEzLCA0OTE3LCA0OTIyLCA0OTI4LCA0OTMzLCA0OTM5LCA0OTQzLCA0OTUwLCA0OTU1LCA0OTYwLCA0OTY1LCA0OTcwLCAKLSAgICA0OTc2LCA0OTc5LCA0OTgzLCA0OTg4LCA0OTkzLCA1MDAyLCA1MDA4LCA1MDEzLCA1MDE3LCA1MDIyLCA1MDI2LCA1MDMxLCAKLSAgICA1MDM1LCA1MDM5LCA1MDQ0LCA1MDQ4LCA1MDU0LCA1MDU5LCA1MDY0LCA1MDY5LCA1MDc0LCA1MDc5LCA1MDg0LCA1MDkwLCAKLSAgICA1MDk2LCA1MTAyLCA1MTA3LCA1MTEyLCA1MTE4LCA1MTI0LCA1MTMwLCA1MTM1LCA1MTQwLCA1MTQ3LCA1MTU0LCA1MTU4LCAKLSAgICA1MTY0LCA1MTcxLCAwLCAwLCA1MTc4LCA1MTgxLCA1MTkwLCA1MTk5LCA1MjEwLCAwLCAwLCAwLCAwLCAwLCA1MjE0LCAKLSAgICA1MjE3LCA1MjIyLCA1MjMwLCA1MjM1LCA1MjQzLCA1MjUxLCAwLCA1MjU5LCAwLCA1MjY3LCA1Mjc1LCA1MjgzLCA1Mjk0LCAKLSAgICA1Mjk5LCA1MzA0LCA1MzA5LCA1MzE0LCA1MzE5LCA1MzI0LCA1MzI5LCA1MzM0LCA1MzM5LCA1MzQ0LCA1MzQ5LCA1MzU0LCAKLSAgICA1MzU5LCA1MzY0LCA1MzY5LCA1Mzc0LCAwLCA1Mzc5LCA1Mzg0LCA1Mzg5LCA1Mzk0LCA1Mzk5LCA1NDA0LCA1NDA5LCAKLSAgICA1NDE0LCA1NDIyLCA1NDMwLCA1NDM4LCA1NDQ2LCA1NDU0LCA1NDYyLCA1NDczLCA1NDc4LCA1NDgzLCA1NDg4LCA1NDkzLCAKLSAgICA1NDk4LCA1NTAzLCA1NTA4LCA1NTEzLCA1NTE4LCA1NTIzLCA1NTI4LCA1NTMzLCA1NTM4LCA1NTQzLCA1NTQ4LCA1NTUzLCAKLSAgICA1NTU4LCA1NTY0LCA1NTY5LCA1NTc0LCA1NTc5LCA1NTg0LCA1NTg5LCA1NTk0LCA1NTk5LCA1NjA3LCA1NjE1LCA1NjIzLCAKLSAgICA1NjMxLCA1NjM5LCA1NjQ0LCA1NjQ4LCA1NjUyLCA1NjU5LCA1NjY5LCA1Njc5LCA1NjgzLCA1Njg3LCA1NjkxLCA1Njk3LCAKLSAgICA1NzA0LCA1NzA4LCA1NzEzLCA1NzE3LCA1NzIyLCA1NzI2LCA1NzMxLCA1NzM1LCA1NzQwLCA1NzQ1LCA1NzUwLCA1NzU1LCAKLSAgICA1NzYwLCA1NzY1LCA1NzcwLCA1Nzc1LCA1NzgwLCA1Nzg1LCA1NzkwLCA1Nzk1LCA1ODAwLCA1ODA1LCA1ODEwLCA1ODE0LCAKLSAgICA1ODE4LCA1ODI0LCA1ODI4LCA1ODMzLCA1ODM5LCA1ODQ3LCA1ODUyLCA1ODU3LCA1ODY0LCA1ODY5LCA1ODc0LCA1ODgxLCAKLSAgICA1ODkwLCA1ODk5LCA1OTEwLCA1OTE4LCA1OTIzLCA1OTI4LCA1OTMzLCA1OTQwLCA1OTQ1LCA1OTUxLCA1OTU2LCA1OTYxLCAKLSAgICA1OTY2LCA1OTcxLCA1OTc2LCA1OTgxLCA1OTg5LCA1OTk1LCA2MDAwLCA2MDA0LCA2MDA5LCA2MDE0LCA2MDE5LCA2MDI0LCAKLSAgICA2MDI5LCA2MDM0LCA2MDM5LCA2MDQzLCA2MDQ5LCA2MDUzLCA2MDU4LCA2MDYzLCA2MDY4LCA2MDcyLCA2MDc3LCA2MDgyLCAKLSAgICA2MDg3LCA2MDkyLCA2MDk2LCA2MTAxLCA2MTA1LCA2MTEwLCA2MTE1LCA2MTIwLCA2MTI1LCA2MTMxLCA2MTM2LCA2MTQyLCAKLSAgICA2MTQ2LCA2MTUxLCA2MTU1LCA2MTU5LCA2MTY0LCA2MTY5LCA2MTc0LCA2MTc5LCA2MTg0LCA2MTg5LCA2MTk0LCA2MTk4LCAKLSAgICA2MjA0LCA2MjA4LCA2MjEzLCA2MjE4LCA2MjIzLCA2MjI3LCA2MjMyLCA2MjM3LCA2MjQyLCA2MjQ3LCA2MjUxLCA2MjU2LCAKLSAgICA2MjYwLCA2MjY1LCA2MjcwLCA2Mjc1LCA2MjgwLCA2Mjg2LCA2MjkxLCA2Mjk3LCA2MzAxLCA2MzA2LCA2MzEwLCA2MzE4LCAKLSAgICA2MzIzLCA2MzI4LCA2MzMzLCA2MzQwLCA2MzQ1LCA2MzUxLCA2MzU2LCA2MzYxLCA2MzY2LCA2MzcxLCA2Mzc2LCA2MzgxLCAKLSAgICA2Mzg5LCA2Mzk1LCA2NDAwLCA2NDA1LCA2NDEwLCA2NDE1LCA2NDIwLCA2NDI2LCA2NDMyLCA2NDM5LCA2NDQ2LCA2NDU1LCAKLSAgICA2NDY0LCA2NDcxLCA2NDc4LCA2NDg3LCA2NDk2LCA2NTAxLCA2NTA2LCA2NTExLCA2NTE2LCA2NTIxLCA2NTI2LCA2NTMxLCAKLSAgICA2NTM2LCA2NTQ3LCA2NTU4LCA2NTYzLCA2NTY4LCA2NTc1LCA2NTgyLCA2NTkwLCA2NTk4LCA2NjAzLCA2NjA4LCA2NjEzLCAKLSAgICA2NjE4LCA2NjIyLCA2NjI2LCA2NjMwLCA2NjM1LCA2NjQxLCA2NjQ1LCA2NjUyLCA2NjU3LCA2NjY3LCA2Njc3LCA2NjgzLCAKLSAgICA2Njg5LCA2Njk3LCA2NzA1LCA2NzEzLCA2NzIxLCA2NzI4LCA2NzM1LCA2NzQ0LCA2NzUzLCA2NzYxLCA2NzY5LCA2Nzc3LCAKLSAgICA2Nzg1LCA2NzkzLCA2ODAxLCA2ODA5LCA2ODE3LCA2ODI0LCA2ODMxLCA2ODM3LCA2ODQzLCA2ODUxLCA2ODU5LCA2ODY2LCAKLSAgICA2ODczLCA2ODgyLCA2ODkxLCA2ODk3LCA2OTAzLCA2OTExLCA2OTE5LCA2OTI3LCA2OTM1LCA2OTQxLCA2OTQ3LCA2OTU1LCAKLSAgICA2OTYzLCA2OTcxLCA2OTc5LCA2OTg2LCA2OTkzLCA3MDAxLCA3MDA5LCA3MDE3LCA3MDI1LCA3MDMwLCA3MDM1LCA3MDQyLCAKLSAgICA3MDQ5LCA3MDU5LCA3MDY5LCA3MDczLCA3MDgxLCA3MDg5LCA3MDk2LCA3MTAzLCA3MTExLCA3MTE5LCA3MTI2LCA3MTMzLCAKLSAgICA3MTQxLCA3MTQ5LCA3MTU2LCA3MTYzLCA3MTcxLCA3MTc5LCA3MTg0LCA3MTkxLCA3MTk4LCA3MjA1LCA3MjEyLCA3MjE4LCAKLSAgICA3MjI0LCA3MjMyLCA3MjQwLCA3MjQ1LCA3MjUwLCA3MjU4LCA3MjY2LCA3Mjc0LCA3MjgyLCA3MjkwLCA3Mjk4LCA3MzA1LCAKLSAgICA3MzEyLCA3MzIwLCA3MzI4LCA3MzM2LCA3MzQ0LCA3MzUxLCA3MzU4LCA3MzY0LCA3MzcwLCA3Mzc5LCA3Mzg4LCA3Mzk1LCAKLSAgICA3NDAyLCA3NDA5LCA3NDE2LCA3NDIzLCA3NDMwLCA3NDM3LCA3NDQ0LCA3NDUyLCA3NDYwLCA3NDY4LCA3NDc2LCA3NDg0LCAKLSAgICA3NDkyLCA3NTAyLCA3NTEyLCA3NTE5LCA3NTI2LCA3NTMzLCA3NTQwLCA3NTQ3LCA3NTU0LCA3NTYxLCA3NTY4LCA3NTc1LCAKLSAgICA3NTgyLCA3NTg5LCA3NTk2LCA3NjAzLCA3NjEwLCA3NjE3LCA3NjI0LCA3NjMxLCA3NjM4LCA3NjQ1LCA3NjUyLCA3NjU5LCAKLSAgICA3NjY2LCA3NjczLCA3NjgwLCA3Njg1LCA3NjkwLCA3Njk1LCA3NzAwLCA3NzA1LCA3NzEwLCA3NzE1LCA3NzIwLCA3NzI1LCAKLSAgICA3NzMwLCA3NzM2LCA3NzQyLCA3NzUxLCA3NzYwLCA3NzY5LCA3Nzc4LCA3Nzg2LCA3Nzk0LCA3ODAyLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCA3ODEwLCA3ODE1LCA3ODIwLCA3ODI1LCA3ODMwLCA3ODM1LCA3ODQwLCA3ODQ1LCA3ODUwLCAKLSAgICA3ODU0LCA3ODU5LCA3ODY0LCA3ODY5LCA3ODc0LCA3ODc5LCA3ODg0LCA3ODg5LCA3ODk0LCA3ODk5LCA3OTA0LCA3OTA5LCAKLSAgICA3OTE0LCA3OTE5LCA3OTI0LCA3OTI5LCA3OTM0LCA3OTM5LCA3OTQ0LCA3OTQ4LCA3OTUzLCA3OTU4LCA3OTYzLCA3OTY4LCAKLSAgICA3OTczLCA3OTc4LCA3OTgzLCA3OTg4LCA3OTkzLCAwLCAwLCA3OTk4LCA4MDA1LCA4MDA4LCA4MDEyLCA4MDE2LCA4MDE5LCAKLSAgICA4MDIzLCAwLCA4MDI3LCA4MDMyLCA4MDM3LCA4MDQyLCA4MDQ3LCA4MDUyLCA4MDU3LCA4MDYyLCA4MDY3LCA4MDcxLCAKLSAgICA4MDc2LCA4MDgxLCA4MDg2LCA4MDkxLCA4MDk2LCA4MTAxLCA4MTA2LCA4MTExLCA4MTE2LCA4MTIxLCA4MTI2LCA4MTMxLCAKLSAgICA4MTM2LCA4MTQxLCA4MTQ2LCA4MTUxLCA4MTU2LCA4MTYxLCA4MTY1LCA4MTcwLCA4MTc1LCA4MTgwLCA4MTg1LCA4MTkwLCAKLSAgICA4MTk1LCA4MjAwLCA4MjA1LCA4MjEwLCA4MjE1LCAwLCA4MjIyLCA4MjI3LCAwLCAwLCAwLCAwLCAwLCAwLCA4MjMwLCAKLSAgICA4MjM1LCA4MjQwLCA4MjQ1LCA4MjUyLCA4MjU5LCA4MjY0LCA4MjY5LCA4Mjc0LCA4Mjc5LCA4Mjg0LCA4Mjg5LCA4Mjk0LCAKLSAgICA4MzAxLCA4MzA2LCA4MzEzLCA4MzIwLCA4MzI1LCA4MzMyLCA4MzM3LCA4MzQyLCA4MzQ3LCA4MzU0LCA4MzU5LCA4MzY0LCAKLSAgICA4MzcxLCA4MzgwLCA4Mzg1LCA4MzkwLCA4Mzk1LCA4NDAwLCA4NDA2LCA4NDExLCA4NDE4LCA4NDI1LCA4NDMyLCA4NDM3LCAKLSAgICA4NDQyLCA4NDQ3LCA4NDUyLCA4NDU3LCA4NDYyLCA4NDcyLCA4NDc3LCA4NDg1LCA4NDkwLCA4NDk1LCA4NTAwLCA4NTA1LCAKLSAgICA4NTEyLCA4NTE5LCA4NTI2LCA4NTMyLCA4NTM4LCA4NTQ1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA4NTUyLCA4NTU2LCAKLSAgICA4NTYwLCA4NTY0LCA4NTY4LCA4NTcyLCA4NTc2LCA4NTgwLCA4NTg0LCA4NTg4LCA4NTkyLCA4NTk3LCA4NjAxLCA4NjA1LCAKLSAgICA4NjEwLCA4NjE0LCA4NjE5LCA4NjIzLCA4NjI3LCA4NjMxLCA4NjM2LCA4NjQwLCA4NjQ1LCA4NjQ5LCA4NjUzLCA4NjU3LCAKLSAgICA4NjYxLCAwLCAwLCAwLCAwLCAwLCA4NjY1LCA4NjcyLCA4NjgwLCA4Njg3LCA4NjkyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCA4Njk3LCA4NzAwLCA4NzA0LCA4NzA5LCAwLCAwLCA4NzEzLCA4NzE5LCA4NzI1LCA4NzI4LCA4NzM1LCAKLSAgICA4NzQ0LCA4NzQ3LCA4NzUwLCA4NzU1LCA4NzYxLCA4NzY1LCA4NzczLCA4Nzc5LCA4Nzg1LCA4NzkzLCA4Nzk3LCA4ODAyLCAKLSAgICA4ODEzLCA4ODE4LCA4ODIyLCA4ODI2LCA4ODMwLCAwLCAwLCA4ODMzLCA4ODQwLCA4ODQ0LCA4ODUwLCA4ODU0LCA4ODYxLCAKLSAgICA4ODY3LCA4ODc0LCA4ODgwLCA4ODg2LCA4ODkwLCA4ODk0LCA4OTAwLCA4OTA0LCA4OTA4LCA4OTEyLCA4OTE2LCA4OTIwLCAKLSAgICA4OTI0LCA4OTI4LCA4OTMyLCA4OTM2LCA4OTQwLCA4OTQ0LCA4OTQ4LCA4OTUyLCA4OTU2LCA4OTYwLCA4OTY0LCA4OTY4LCAKLSAgICA4OTc2LCA4OTg0LCA4OTk0LCA5MDAzLCA5MDEyLCA5MDE1LCA5MDE5LCA5MDIzLCA5MDI3LCA5MDMxLCA5MDM1LCA5MDM5LCAKLSAgICA5MDQzLCA5MDQ3LCA5MDUyLCA5MDU2LCA5MDU5LCA5MDYyLCA5MDY1LCA5MDY4LCA5MDcxLCA5MDc0LCA5MDc3LCA5MDgwLCAKLSAgICA5MDg0LCA5MDg3LCA5MDkwLCA5MDk1LCA5MTAwLCA5MTA2LCA5MTA5LCA5MTE2LCA5MTI1LCA5MTMwLCA5MTM1LCA5MTQyLCAKLSAgICA5MTQ3LCA5MTUyLCA5MTU2LCA5MTYwLCA5MTY0LCA5MTY4LCA5MTcyLCA5MTc2LCA5MTgwLCA5MTg0LCA5MTg4LCA5MTkyLCAKLSAgICA5MTk3LCA5MjAyLCA5MjA5LCA5MjE1LCA5MjIxLCA5MjI3LCA5MjMyLCA5MjQwLCA5MjQ4LCA5MjUzLCA5MjU5LCA5MjY1LCAKLSAgICA5MjcxLCA5Mjc3LCA5MjgxLCA5Mjg1LCA5Mjg5LCA5Mjk2LCA5MzA2LCA5MzEwLCA5MzE0LCA5MzE4LCA5MzI0LCA5MzMyLCAKLSAgICA5MzM2LCA5MzQwLCA5MzQ3LCA5MzUxLCA5MzU1LCA5MzU5LCA5MzY2LCA5MzczLCA5Mzg1LCA5Mzg5LCA5MzkzLCA5Mzk3LCAKLSAgICA5NDA3LCA5NDE2LCA5NDIwLCA5NDI4LCA5NDM1LCA5NDQyLCA5NDUxLCA5NDYyLCA5NDcwLCA5NDc0LCA5NDgzLCA5NDk0LCAKLSAgICA5NTAyLCA5NTE1LCA5NTIzLCA5NTMxLCA5NTM5LCA5NTQ3LCA5NTUzLCA5NTYyLCA5NTY5LCA5NTczLCA5NTgxLCA5NTg1LCAKLSAgICA5NTkyLCA5NjAwLCA5NjA0LCA5NjEwLCA5NjE3LCA5NjI0LCA5NjI4LCA5NjM2LCA5NjQwLCA5NjQ3LCA5NjUxLCA5NjU5LCAKLSAgICA5NjYzLCA5NjcxLCA5Njc5LCA5Njg2LCA5Njk0LCA5NzAyLCA5NzA5LCA5NzE1LCA5NzE5LCA5NzI2LCA5NzM0LCA5NzQwLCAKLSAgICA5NzQ3LCA5NzU0LCA5NzYwLCA5NzY5LCA5Nzc3LCA5Nzg0LCA5NzkwLCA5Nzk0LCA5Nzk3LCA5ODAxLCA5ODA3LCA5ODE1LCAKLSAgICA5ODE5LCA5ODI1LCA5ODMxLCA5ODM4LCA5ODQ1LCA5ODQ4LCA5ODU1LCA5ODYwLCA5ODY4LCA5ODczLCA5ODc3LCA5ODkwLCAKLSAgICA5OTAzLCA5OTA5LCA5OTE2LCA5OTIxLCA5OTI3LCA5OTMyLCA5OTM4LCA5OTQ4LCA5OTU1LCA5OTY0LCA5OTc0LCA5OTgwLCAKLSAgICA5OTg1LCA5OTkwLCA5OTk0LCA5OTk4LCAxMDAwMywgMTAwMDgsIDEwMDE0LCAxMDAyMiwgMTAwMzAsIDEwMDQxLCAxMDA0NiwgCi0gICAgMTAwNTUsIDEwMDY0LCAxMDA3MSwgMTAwNzcsIDEwMDgzLCAxMDA4OSwgMTAwOTUsIDEwMTAxLCAxMDEwNywgMTAxMTMsIAotICAgIDEwMTE5LCAxMDEyNSwgMTAxMzIsIDEwMTM5LCAxMDE0NiwgMTAxNTIsIDEwMTYwLCAxMDE2OSwgMTAxNzUsIDEwMTgyLCAKLSAgICAxMDE4OSwgMTAxOTQsIDEwMTk5LCAxMDIwMywgMTAyMTAsIDEwMjE3LCAxMDIyNiwgMTAyMzUsIDEwMjM4LCAxMDI0MywgCi0gICAgMTAyNDgsIDAsIDEwMjUzLCAxMDI1NywgMTAyNjEsIDEwMjY3LCAxMDI3MSwgMTAyNzUsIDEwMjgxLCAxMDI4NSwgMTAyOTMsIAotICAgIDEwMjk3LCAxMDMwMSwgMTAzMDUsIDEwMzA5LCAxMDMxMywgMTAzMTksIDEwMzIzLCAxMDMyOSwgMTAzMzMsIDEwMzM3LCAKLSAgICAxMDM0MSwgMTAzNDUsIDEwMzQ5LCAxMDM1NCwgMTAzNTcsIDEwMzYxLCAxMDM2NywgMTAzNzEsIDEwMzc1LCAxMDM3OSwgCi0gICAgMTAzODMsIDEwMzg3LCAxMDM5MywgMTAzOTksIDEwNDA1LCAxMDQwOSwgMTA0MTMsIDEwNDE4LCAxMDQyMiwgMTA0MjYsIAotICAgIDEwNDMxLCAxMDQzNSwgMTA0MzksIDEwNDQ2LCAxMDQ1MywgMTA0NTcsIDEwNDYxLCAxMDQ2NiwgMTA0NzAsIDEwNDc0LCAKLSAgICAxMDQ3NywgMTA0ODIsIDEwNDg1LCAxMDQ4OCwgMTA0OTMsIDEwNDk4LCAxMDUwMiwgMTA1MDYsIDEwNTEyLCAxMDUxOCwgCi0gICAgMTA1MjEsIDAsIDAsIDEwNTI0LCAxMDUzMCwgMTA1MzYsIDEwNTQyLCAxMDU1MiwgMTA1NjQsIDEwNTc2LCAxMDU5MywgCi0gICAgMTA2MDUsIDEwNjE2LCAxMDYyNCwgMTA2MzEsIDEwNjQyLCAxMDY1NywgMTA2NjgsIDEwNjc0LCAxMDY4MywgMTA2OTEsIAotICAgIDEwNzAzLCAxMDcxMywgMTA3MjEsIDEwNzMzLCAxMDc0MCwgMTA3NDgsIDEwNzYwLCAxMDc2NiwgMTA3NzIsIDEwNzgwLCAKLSAgICAxMDc4OCwgMTA3OTYsIDEwODAyLCAxMDgxMiwgMTA4MTksIDEwODI5LCAxMDgzOSwgMTA4NTIsIDEwODY2LCAxMDg4MCwgCi0gICAgMTA4OTAsIDEwOTAxLCAxMDkxMiwgMTA5MjUsIDEwOTM4LCAxMDk1MiwgMTA5NjQsIDEwOTc2LCAxMDk4OSwgMTEwMDIsIAotICAgIDExMDE0LCAxMTAyNywgMTEwMzYsIDExMDQ0LCAxMTA0OSwgMTEwNTQsIDExMDU5LCAxMTA2NCwgMTEwNjksIDExMDc0LCAKLSAgICAxMTA3OSwgMTEwODQsIDExMDg5LCAxMTA5NCwgMTEwOTksIDExMTA0LCAxMTEwOSwgMTExMTQsIDExMTE5LCAxMTEyNCwgCi0gICAgMTExMjksIDExMTM0LCAxMTEzOSwgMTExNDQsIDExMTQ5LCAxMTE1NCwgMTExNTksIDExMTY0LCAxMTE2OSwgMTExNzQsIAotICAgIDExMTc5LCAxMTE4NCwgMTExODksIDExMTk0LCAxMTE5OSwgMTEyMDQsIDExMjA4LCAxMTIxMywgMTEyMTgsIDExMjIzLCAKLSAgICAxMTIyOCwgMTEyMzMsIDExMjM3LCAxMTI0MSwgMTEyNDUsIDExMjQ5LCAxMTI1MywgMTEyNTcsIDExMjYxLCAxMTI2NSwgCi0gICAgMTEyNjksIDExMjczLCAxMTI3NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTEyODIsIAotICAgIDExMjg3LCAxMTI5MSwgMTEyOTUsIDExMjk5LCAxMTMwMywgMTEzMDcsIDExMzExLCAxMTMxNSwgMTEzMTksIDExMzIzLCAKLSAgICAxMTMyNywgMTEzMzIsIDExMzM2LCAxMTM0MCwgMTEzNDQsIDExMzQ5LCAxMTM1MywgMTEzNTgsIDExMzYyLCAxMTM2NywgCi0gICAgMTEzNzEsIDExMzc2LCAxMTM4MSwgMTEzODYsIDExMzkxLCAxMTM5NSwgMTE0MDAsIDExNDA1LCAxMTQxMCwgMTE0MTUsIAotICAgIDExNDE5LCAxMTQyNCwgMTE0MzEsIDExNDM1LCAxMTQ0MCwgMTE0NDQsIDExNDQ4LCAxMTQ1MywgMTE0NTcsIDExNDY0LCAKLSAgICAxMTQ3MSwgMTE0NzgsIDExNDg0LCAxMTQ5MiwgMTE1MDAsIDExNTA5LCAxMTUxNywgMTE1MjQsIDExNTMxLCAxMTUzOSwgCi0gICAgMTE1NDUsIDExNTUxLCAxMTU1NywgMTE1NjMsIDExNTcwLCAxMTU3NSwgMTE1NzksIDExNTg0LCAwLCAwLCAwLCAwLCAwLCAKLSAgICAxMTU4OCwgMTE1OTMsIDExNTk4LCAxMTYwMywgMTE2MDgsIDExNjEzLCAxMTYxOCwgMTE2MjMsIDExNjI4LCAxMTYzMywgCi0gICAgMTE2MzgsIDExNjQzLCAxMTY0OCwgMTE2NTMsIDExNjU4LCAxMTY2MywgMTE2NjgsIDExNjczLCAxMTY3OCwgMTE2ODMsIAotICAgIDExNjg4LCAxMTY5MywgMTE2OTgsIDExNzAzLCAxMTcwOCwgMTE3MTMsIDExNzE4LCAxMTcyNiwgMTE3MzMsIDExNzM5LCAKLSAgICAxMTc0NCwgMTE3NTIsIDExNzU5LCAxMTc2NSwgMTE3NzIsIDExNzc4LCAxMTc4MywgMTE3OTAsIDExNzk3LCAxMTgwMywgCi0gICAgMTE4MDgsIDExODEzLCAxMTgxOSwgMTE4MjQsIDExODI5LCAxMTgzNSwgMCwgMCwgMTE4NDAsIDExODQ2LCAxMTg1MiwgCi0gICAgMTE4NTgsIDExODY0LCAxMTg3MCwgMTE4NzYsIDExODgxLCAxMTg4OSwgMTE4OTUsIDExOTAxLCAxMTkwNywgMTE5MTMsIAotICAgIDExOTE5LCAxMTkyNywgMCwgMTE5MzMsIDExOTM4LCAxMTk0MywgMTE5NDgsIDExOTUzLCAxMTk1OCwgMTE5NjMsIDExOTY4LCAKLSAgICAxMTk3MywgMTE5NzgsIDExOTgzLCAxMTk4OCwgMTE5OTMsIDExOTk4LCAxMjAwMywgMTIwMDgsIDEyMDEzLCAxMjAxOCwgCi0gICAgMTIwMjMsIDEyMDI4LCAxMjAzMywgMTIwMzgsIDEyMDQzLCAxMjA0OCwgMTIwNTMsIDEyMDU4LCAxMjA2MywgMTIwNjgsIDAsIAotICAgIDAsIDEyMDczLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMjA3NywgMTIwODMsIAotICAgIDEyMDg3LCAxMjA5MSwgMTIwOTUsIDEyMTAwLCAxMjEwMywgMTIxMDcsIDEyMTEwLCAxMjExNCwgMTIxMTcsIDEyMTIxLCAKLSAgICAxMjEyNSwgMTIxMjksIDEyMTM0LCAxMjEzOSwgMTIxNDIsIDEyMTQ2LCAxMjE1MSwgMTIxNTYsIDEyMTU5LCAxMjE2MywgCi0gICAgMTIxNjYsIDEyMTcwLCAxMjE3NCwgMTIxNzgsIDEyMTgyLCAxMjE4NiwgMTIxOTAsIDEyMTk0LCAxMjE5OCwgMTIyMDIsIAotICAgIDEyMjA2LCAxMjIxMCwgMTIyMTQsIDEyMjE4LCAxMjIyMiwgMTIyMjYsIDEyMjMwLCAxMjIzNCwgMTIyMzgsIDEyMjQxLCAKLSAgICAxMjI0NSwgMTIyNDgsIDEyMjUyLCAxMjI1NiwgMTIyNjAsIDEyMjYzLCAxMjI2NiwgMTIyNjksIDEyMjczLCAxMjI3NywgCi0gICAgMTIyODEsIDEyMjg1LCAxMjI4OSwgMTIyOTMsIDEyMjk3LCAxMjMwMSwgMTIzMDQsIDEyMzA5LCAxMjMxNCwgMTIzMTgsIAotICAgIDEyMzIyLCAxMjMyNywgMTIzMzEsIDEyMzM2LCAxMjM0MCwgMTIzNDUsIDEyMzUwLCAxMjM1NiwgMTIzNjIsIDEyMzY4LCAKLSAgICAxMjM3MiwgMTIzNzcsIDEyMzgzLCAxMjM4OSwgMTIzOTMsIDEyMzk4LCAxMjQwMiwgMTI0MDgsIDEyNDEzLCAxMjQxNiwgCi0gICAgMTI0MjIsIDEyNDI4LCAxMjQzMywgMTI0MzgsIDEyNDQ1LCAxMjQ1MCwgMTI0NTUsIDEyNDU5LCAxMjQ2MywgMTI0NjcsIAotICAgIDEyNDcxLCAxMjQ3NSwgMTI0NzksIDEyNDgzLCAxMjQ4NywgMTI0OTIsIDEyNDk3LCAxMjUwMiwgMTI1MDgsIDEyNTExLCAKLSAgICAxMjUxNSwgMTI1MTksIDEyNTIyLCAxMjUyNSwgMTI1MjgsIDEyNTMxLCAxMjUzNCwgMTI1MzcsIDEyNTQwLCAxMjU0MywgCi0gICAgMTI1NDYsIDEyNTUwLCAxMjU1NywgMTI1NjIsIDEyNTY2LCAxMjU3MCwgMTI1NzQsIDEyNTc4LCAwLCAxMjU4MiwgMTI1ODYsIAotICAgIDEyNTkwLCAxMjU5NCwgMTI1OTgsIDEyNjA0LCAxMjYwOCwgMCwgMTI2MTIsIDEyNjE2LCAxMjYyMCwgMCwgMTI2MjQsIAotICAgIDEyNjI3LCAxMjYzMSwgMTI2MzQsIDEyNjM4LCAxMjY0MSwgMTI2NDUsIDEyNjQ5LCAwLCAwLCAxMjY1MywgMTI2NTYsIDAsIAotICAgIDAsIDEyNjYwLCAxMjY2MywgMTI2NjcsIDEyNjcwLCAxMjY3NCwgMTI2NzgsIDEyNjgyLCAxMjY4NiwgMTI2OTAsIDEyNjk0LCAKLSAgICAxMjY5OCwgMTI3MDIsIDEyNzA2LCAxMjcxMCwgMTI3MTQsIDEyNzE4LCAxMjcyMiwgMTI3MjYsIDEyNzMwLCAxMjczNCwgCi0gICAgMTI3MzgsIDEyNzQyLCAwLCAxMjc0NSwgMTI3NDgsIDEyNzUyLCAxMjc1NiwgMTI3NjAsIDEyNzYzLCAxMjc2NiwgMCwgCi0gICAgMTI3NjksIDAsIDAsIDAsIDEyNzczLCAxMjc3NywgMTI3ODEsIDEyNzg1LCAwLCAwLCAxMjc4OCwgMTI3OTIsIDEyNzk2LCAKLSAgICAxMjgwMSwgMTI4MDUsIDEyODEwLCAxMjgxNCwgMTI4MTksIDEyODI0LCAwLCAwLCAxMjgzMCwgMTI4MzQsIDAsIDAsIAotICAgIDEyODM5LCAxMjg0MywgMTI4NDgsIDEyODUyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMjg1OCwgMCwgMCwgMCwgMCwgCi0gICAgMTI4NjQsIDEyODY4LCAwLCAxMjg3MiwgMTI4NzYsIDEyODgxLCAxMjg4NiwgMTI4OTEsIDAsIDAsIDEyODk3LCAxMjkwMSwgCi0gICAgMTI5MDQsIDEyOTA3LCAxMjkxMCwgMTI5MTMsIDEyOTE2LCAxMjkxOSwgMTI5MjIsIDEyOTI1LCAxMjkyOCwgMTI5MzcsIAotICAgIDEyOTQ2LCAxMjk1MCwgMTI5NTQsIDEyOTYwLCAxMjk2NiwgMTI5NzIsIDEyOTc4LCAxMjk5MiwgMTI5OTksIDEzMDAyLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAxMzAwNiwgMTMwMTIsIDEzMDE2LCAwLCAxMzAyMCwgMTMwMjMsIDEzMDI3LCAxMzAzMCwgMTMwMzQsIAotICAgIDEzMDM3LCAwLCAwLCAwLCAwLCAxMzA0MSwgMTMwNDUsIDAsIDAsIDEzMDQ5LCAxMzA1MywgMTMwNTcsIDEzMDYwLCAxMzA2NCwgCi0gICAgMTMwNjgsIDEzMDcyLCAxMzA3NiwgMTMwODAsIDEzMDg0LCAxMzA4OCwgMTMwOTIsIDEzMDk2LCAxMzEwMCwgMTMxMDQsIAotICAgIDEzMTA4LCAxMzExMiwgMTMxMTYsIDEzMTIwLCAxMzEyNCwgMTMxMjgsIDEzMTMyLCAwLCAxMzEzNSwgMTMxMzgsIDEzMTQyLCAKLSAgICAxMzE0NiwgMTMxNTAsIDEzMTUzLCAxMzE1NiwgMCwgMTMxNTksIDEzMTYzLCAwLCAxMzE2NywgMTMxNzEsIDAsIDEzMTc1LCAKLSAgICAxMzE3OSwgMCwgMCwgMTMxODIsIDAsIDEzMTg2LCAxMzE5MSwgMTMxOTUsIDEzMjAwLCAxMzIwNCwgMCwgMCwgMCwgMCwgCi0gICAgMTMyMDksIDEzMjE0LCAwLCAwLCAxMzIxOSwgMTMyMjQsIDEzMjI5LCAwLCAwLCAwLCAxMzIzMywgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMTMyMzcsIDEzMjQxLCAxMzI0NSwgMTMyNDksIDAsIDEzMjUzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzI1NywgCi0gICAgMTMyNjEsIDEzMjY0LCAxMzI2NywgMTMyNzAsIDEzMjczLCAxMzI3NiwgMTMyNzksIDEzMjgyLCAxMzI4NSwgMTMyODgsIAotICAgIDEzMjkxLCAxMzI5NCwgMTMyOTcsIDEzMzAwLCAxMzMwNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMTMzMDksIDEzMzEzLCAxMzMxNywgMCwgMTMzMjEsIDEzMzI0LCAxMzMyOCwgMTMzMzEsIDEzMzM1LCAxMzMzOCwgMTMzNDIsIAotICAgIDEzMzQ2LCAxMzM1MCwgMCwgMTMzNTUsIDEzMzU4LCAxMzM2MiwgMCwgMTMzNjcsIDEzMzcwLCAxMzM3NCwgMTMzNzcsIAotICAgIDEzMzgxLCAxMzM4NSwgMTMzODksIDEzMzkzLCAxMzM5NywgMTM0MDEsIDEzNDA1LCAxMzQwOSwgMTM0MTMsIDEzNDE3LCAKLSAgICAxMzQyMSwgMTM0MjUsIDEzNDI5LCAxMzQzMywgMTM0MzcsIDEzNDQxLCAxMzQ0NSwgMTM0NDksIDAsIDEzNDUyLCAxMzQ1NSwgCi0gICAgMTM0NTksIDEzNDYzLCAxMzQ2NywgMTM0NzAsIDEzNDczLCAwLCAxMzQ3NiwgMTM0ODAsIDAsIDEzNDg0LCAxMzQ4OCwgCi0gICAgMTM0OTIsIDEzNDk2LCAxMzUwMCwgMCwgMCwgMTM1MDMsIDEzNTA3LCAxMzUxMSwgMTM1MTYsIDEzNTIwLCAxMzUyNSwgCi0gICAgMTM1MjksIDEzNTM0LCAxMzUzOSwgMTM1NDUsIDAsIDEzNTUxLCAxMzU1NSwgMTM1NjAsIDAsIDEzNTY2LCAxMzU3MCwgCi0gICAgMTM1NzUsIDAsIDAsIDEzNTc5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzU4MiwgCi0gICAgMTM1ODcsIDEzNTkyLCAxMzU5NywgMCwgMCwgMTM2MDMsIDEzNjA3LCAxMzYxMCwgMTM2MTMsIDEzNjE2LCAxMzYxOSwgCi0gICAgMTM2MjIsIDEzNjI1LCAxMzYyOCwgMTM2MzEsIDAsIDEzNjM0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAxMzYzOCwgMTM2NDIsIDEzNjQ2LCAwLCAxMzY1MCwgMTM2NTMsIDEzNjU3LCAxMzY2MCwgMTM2NjQsIAotICAgIDEzNjY3LCAxMzY3MSwgMTM2NzUsIDAsIDAsIDEzNjc5LCAxMzY4MiwgMCwgMCwgMTM2ODYsIDEzNjg5LCAxMzY5MywgCi0gICAgMTM2OTYsIDEzNzAwLCAxMzcwNCwgMTM3MDgsIDEzNzEyLCAxMzcxNiwgMTM3MjAsIDEzNzI0LCAxMzcyOCwgMTM3MzIsIAotICAgIDEzNzM2LCAxMzc0MCwgMTM3NDQsIDEzNzQ4LCAxMzc1MiwgMTM3NTYsIDEzNzYwLCAxMzc2NCwgMTM3NjgsIDAsIDEzNzcxLCAKLSAgICAxMzc3NCwgMTM3NzgsIDEzNzgyLCAxMzc4NiwgMTM3ODksIDEzNzkyLCAwLCAxMzc5NSwgMTM3OTksIDAsIDEzODAzLCAKLSAgICAxMzgwNywgMTM4MTEsIDEzODE1LCAxMzgxOSwgMCwgMCwgMTM4MjIsIDEzODI2LCAxMzgzMCwgMTM4MzUsIDEzODM5LCAKLSAgICAxMzg0NCwgMTM4NDgsIDEzODUzLCAxMzg1OCwgMCwgMCwgMTM4NjQsIDEzODY4LCAwLCAwLCAxMzg3MywgMTM4NzcsIAotICAgIDEzODgyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzg4NiwgMTM4OTIsIDAsIDAsIDAsIDAsIDEzODk4LCAxMzkwMiwgMCwgCi0gICAgMTM5MDYsIDEzOTEwLCAxMzkxNSwgMTM5MjAsIDEzOTI1LCAwLCAwLCAxMzkzMSwgMTM5MzUsIDEzOTM4LCAxMzk0MSwgCi0gICAgMTM5NDQsIDEzOTQ3LCAxMzk1MCwgMTM5NTMsIDEzOTU2LCAxMzk1OSwgMTM5NjIsIDEzOTY1LCAxMzk2OSwgMTM5NzUsIAotICAgIDEzOTgxLCAxMzk4NywgMTM5OTMsIDEzOTk5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNDAwNSwgMTQwMDksIAotICAgIDAsIDE0MDEzLCAxNDAxNiwgMTQwMjAsIDE0MDIzLCAxNDAyNywgMTQwMzAsIDAsIDAsIDAsIDE0MDM0LCAxNDAzNywgCi0gICAgMTQwNDEsIDAsIDE0MDQ1LCAxNDA0OCwgMTQwNTIsIDE0MDU2LCAwLCAwLCAwLCAxNDA1OSwgMTQwNjMsIDAsIDE0MDY3LCAwLCAKLSAgICAxNDA3MSwgMTQwNzUsIDAsIDAsIDAsIDE0MDc5LCAxNDA4MywgMCwgMCwgMCwgMTQwODcsIDE0MDkwLCAxNDA5NCwgMCwgMCwgCi0gICAgMCwgMTQwOTcsIDE0MTAwLCAxNDEwMywgMTQxMDYsIDE0MTEwLCAxNDExNCwgMTQxMTgsIDE0MTIyLCAxNDEyNiwgMTQxMzAsIAotICAgIDE0MTM0LCAxNDEzOCwgMCwgMCwgMCwgMCwgMTQxNDEsIDE0MTQ2LCAxNDE1MCwgMTQxNTUsIDE0MTU5LCAwLCAwLCAwLCAKLSAgICAxNDE2NCwgMTQxNjgsIDE0MTczLCAwLCAxNDE3OCwgMTQxODIsIDE0MTg3LCAxNDE5MiwgMCwgMCwgMTQxOTYsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDE0MTk5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNDIwNSwgMTQyMDksIAotICAgIDE0MjEyLCAxNDIxNSwgMTQyMTgsIDE0MjIxLCAxNDIyNCwgMTQyMjcsIDE0MjMwLCAxNDIzMywgMTQyMzYsIDE0MjQwLCAKLSAgICAxNDI0NSwgMTQyNTAsIDE0MjU0LCAxNDI1OCwgMTQyNjIsIDE0MjY2LCAxNDI3MCwgMTQyNzUsIDE0Mjc5LCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAxNDI4MiwgMTQyODYsIDE0MjkwLCAwLCAxNDI5NCwgMTQyOTcsIDE0MzAxLCAxNDMwNCwgMTQzMDgsIAotICAgIDE0MzExLCAxNDMxNSwgMTQzMTksIDAsIDE0MzIzLCAxNDMyNiwgMTQzMzAsIDAsIDE0MzM0LCAxNDMzNywgMTQzNDEsIAotICAgIDE0MzQ1LCAxNDM0OCwgMTQzNTIsIDE0MzU2LCAxNDM2MCwgMTQzNjQsIDE0MzY4LCAxNDM3MiwgMTQzNzYsIDE0MzgwLCAKLSAgICAxNDM4NCwgMTQzODgsIDE0MzkyLCAxNDM5NiwgMTQ0MDAsIDE0NDA0LCAxNDQwOCwgMTQ0MTIsIDE0NDE2LCAxNDQyMCwgMCwgCi0gICAgMTQ0MjMsIDE0NDI2LCAxNDQzMCwgMTQ0MzQsIDE0NDM4LCAxNDQ0MSwgMTQ0NDQsIDE0NDQ3LCAxNDQ1MSwgMTQ0NTUsIDAsIAotICAgIDE0NDU5LCAxNDQ2MywgMTQ0NjcsIDE0NDcxLCAxNDQ3NSwgMCwgMCwgMCwgMTQ0NzgsIDE0NDgyLCAxNDQ4NywgMTQ0OTEsIAotICAgIDE0NDk2LCAxNDUwMCwgMTQ1MDUsIDE0NTEwLCAwLCAxNDUxNiwgMTQ1MjAsIDE0NTI1LCAwLCAxNDUzMCwgMTQ1MzQsIAotICAgIDE0NTM5LCAxNDU0NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTQ1NDgsIDE0NTUyLCAwLCAxNDU1OCwgMTQ1NjIsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDE0NTY2LCAxNDU3MSwgMTQ1NzYsIDE0NTgxLCAwLCAwLCAxNDU4NywgMTQ1OTEsIDE0NTk0LCAxNDU5NywgCi0gICAgMTQ2MDAsIDE0NjAzLCAxNDYwNiwgMTQ2MDksIDE0NjEyLCAxNDYxNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTQ2MTgsIAotICAgIDE0NjMxLCAxNDY0MywgMTQ2NTUsIDE0NjY3LCAxNDY3OSwgMTQ2OTEsIDE0NzAzLCAwLCAwLCAxNDcwNywgMTQ3MTEsIDAsIAotICAgIDE0NzE1LCAxNDcxOCwgMTQ3MjIsIDE0NzI1LCAxNDcyOSwgMTQ3MzIsIDE0NzM2LCAxNDc0MCwgMCwgMTQ3NDQsIDE0NzQ3LCAKLSAgICAxNDc1MSwgMCwgMTQ3NTUsIDE0NzU4LCAxNDc2MiwgMTQ3NjYsIDE0NzY5LCAxNDc3MywgMTQ3NzcsIDE0NzgxLCAxNDc4NSwgCi0gICAgMTQ3ODksIDE0NzkzLCAxNDc5NywgMTQ4MDEsIDE0ODA1LCAxNDgwOSwgMTQ4MTMsIDE0ODE3LCAxNDgyMSwgMTQ4MjUsIAotICAgIDE0ODI5LCAxNDgzMywgMTQ4MzcsIDE0ODQxLCAwLCAxNDg0NCwgMTQ4NDcsIDE0ODUxLCAxNDg1NSwgMTQ4NTksIDE0ODYyLCAKLSAgICAxNDg2NSwgMTQ4NjgsIDE0ODcyLCAxNDg3NiwgMCwgMTQ4ODAsIDE0ODg0LCAxNDg4OCwgMTQ4OTIsIDE0ODk2LCAwLCAwLCAKLSAgICAxNDg5OSwgMTQ5MDMsIDE0OTA3LCAxNDkxMiwgMTQ5MTYsIDE0OTIxLCAxNDkyNSwgMTQ5MzAsIDE0OTM1LCAwLCAxNDk0MSwgCi0gICAgMTQ5NDUsIDE0OTUwLCAwLCAxNDk1NSwgMTQ5NTksIDE0OTY0LCAxNDk2OSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTQ5NzMsIAotICAgIDE0OTc3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNDk4MywgMCwgMTQ5ODcsIDE0OTkyLCAxNDk5NywgMTUwMDIsIDAsIDAsIAotICAgIDE1MDA4LCAxNTAxMiwgMTUwMTUsIDE1MDE4LCAxNTAyMSwgMTUwMjQsIDE1MDI3LCAxNTAzMCwgMTUwMzMsIDE1MDM2LCAwLCAKLSAgICAxNTAzOSwgMTUwNDMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE1MDQ3LCAxNTA1MSwgCi0gICAgMCwgMTUwNTUsIDE1MDU4LCAxNTA2MiwgMTUwNjUsIDE1MDY5LCAxNTA3MiwgMTUwNzYsIDE1MDgwLCAwLCAxNTA4NCwgCi0gICAgMTUwODcsIDE1MDkxLCAwLCAxNTA5NSwgMTUwOTgsIDE1MTAyLCAxNTEwNiwgMTUxMDksIDE1MTEzLCAxNTExNywgMTUxMjEsIAotICAgIDE1MTI1LCAxNTEyOSwgMTUxMzMsIDE1MTM3LCAxNTE0MSwgMTUxNDUsIDE1MTQ5LCAxNTE1MywgMTUxNTcsIDE1MTYxLCAKLSAgICAxNTE2NSwgMTUxNjksIDE1MTczLCAxNTE3NywgMTUxODEsIDE1MTg0LCAxNTE4OCwgMTUxOTEsIDE1MTk1LCAxNTE5OSwgCi0gICAgMTUyMDMsIDE1MjA2LCAxNTIwOSwgMTUyMTIsIDE1MjE2LCAxNTIyMCwgMTUyMjQsIDE1MjI4LCAxNTIzMiwgMTUyMzYsIAotICAgIDE1MjQwLCAxNTI0NCwgMTUyNDcsIDAsIDAsIDE1MjUxLCAxNTI1NSwgMTUyNjAsIDE1MjY0LCAxNTI2OSwgMTUyNzMsIAotICAgIDE1Mjc4LCAxNTI4MywgMCwgMTUyODksIDE1MjkzLCAxNTI5OCwgMCwgMTUzMDMsIDE1MzA3LCAxNTMxMiwgMTUzMTcsIAotICAgIDE1MzIxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNTMyNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTUzMzIsIAotICAgIDE1MzM3LCAxNTM0MiwgMTUzNDcsIDAsIDAsIDE1MzUzLCAxNTM1NywgMTUzNjAsIDE1MzYzLCAxNTM2NiwgMTUzNjksIAotICAgIDE1MzcyLCAxNTM3NSwgMTUzNzgsIDE1MzgxLCAxNTM4NCwgMTUzODgsIDE1MzkzLCAxNTM5OCwgMTU0MDQsIDE1NDEwLCAwLCAKLSAgICAwLCAwLCAxNTQxNiwgMTU0MjAsIDE1NDI2LCAxNTQzMSwgMTU0MzcsIDE1NDQyLCAxNTQ0OCwgMCwgMCwgMTU0NTQsIAotICAgIDE1NDU4LCAwLCAxNTQ2MiwgMTU0NjYsIDE1NDcwLCAxNTQ3NCwgMTU0NzgsIDE1NDgyLCAxNTQ4NiwgMTU0OTAsIDE1NDk0LCAKLSAgICAxNTQ5OCwgMTU1MDIsIDE1NTA2LCAxNTUxMCwgMTU1MTQsIDE1NTE4LCAxNTUyMiwgMTU1MjYsIDE1NTMwLCAwLCAwLCAwLCAKLSAgICAxNTUzNCwgMTU1NDAsIDE1NTQ2LCAxNTU1MiwgMTU1NTgsIDE1NTY0LCAxNTU3MCwgMTU1NzYsIDE1NTgyLCAxNTU4OCwgCi0gICAgMTU1OTQsIDE1NjAwLCAxNTYwOCwgMTU2MTQsIDE1NjIwLCAxNTYyNiwgMTU2MzIsIDE1NjM4LCAxNTY0NCwgMTU2NTAsIAotICAgIDE1NjU2LCAxNTY2MiwgMTU2NjgsIDE1Njc0LCAwLCAxNTY4MCwgMTU2ODYsIDE1NjkyLCAxNTY5OCwgMTU3MDQsIDE1NzEwLCAKLSAgICAxNTcxNCwgMTU3MjAsIDE1NzI0LCAwLCAxNTcyOCwgMCwgMCwgMTU3MzQsIDE1NzM4LCAxNTc0NCwgMTU3NTAsIDE1NzU2LCAKLSAgICAxNTc2MCwgMTU3NjYsIDAsIDAsIDAsIDE1NzcwLCAwLCAwLCAwLCAwLCAxNTc3NCwgMTU3NzksIDE1Nzg2LCAxNTc5MywgCi0gICAgMTU4MDAsIDE1ODA3LCAwLCAxNTgxNCwgMCwgMTU4MjEsIDE1ODI2LCAxNTgzMSwgMTU4MzgsIDE1ODQ1LCAxNTg1NCwgCi0gICAgMTU4NjUsIDE1ODc0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAxNTg3OSwgMTU4ODYsIDE1ODkzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNTg5OCwgMTU5MDQsIAotICAgIDE1OTEwLCAxNTkxNiwgMTU5MjIsIDE1OTI4LCAxNTkzNCwgMTU5NDAsIDE1OTQ2LCAxNTk1MiwgMTU5NTgsIDE1OTY0LCAKLSAgICAxNTk3MCwgMTU5NzYsIDE1OTgyLCAxNTk4OCwgMTU5OTQsIDE2MDAwLCAxNjAwNiwgMTYwMTIsIDE2MDE4LCAxNjAyNCwgCi0gICAgMTYwMzAsIDE2MDM2LCAxNjA0MiwgMTYwNDgsIDE2MDU0LCAxNjA2MCwgMTYwNjYsIDE2MDcyLCAxNjA3OCwgMTYwODQsIAotICAgIDE2MDkwLCAxNjA5NSwgMTYxMDEsIDE2MTA3LCAxNjExMSwgMTYxMTcsIDE2MTIxLCAxNjEyNywgMTYxMzMsIDE2MTM5LCAKLSAgICAxNjE0NSwgMTYxNTEsIDE2MTU3LCAxNjE2MiwgMTYxNjgsIDE2MTcyLCAxNjE3NywgMTYxODMsIDE2MTg5LCAxNjE5NSwgCi0gICAgMTYyMDAsIDE2MjA2LCAxNjIxMiwgMTYyMTgsIDE2MjIzLCAxNjIyOSwgMCwgMCwgMCwgMCwgMTYyMzMsIDE2MjM5LCAKLSAgICAxNjI0NCwgMTYyNTAsIDE2MjU1LCAxNjI2MywgMTYyNzEsIDE2Mjc1LCAxNjI3OSwgMTYyODMsIDE2Mjg5LCAxNjI5NSwgCi0gICAgMTYzMDEsIDE2MzA3LCAxNjMxMSwgMTYzMTUsIDE2MzE5LCAxNjMyMywgMTYzMjcsIDE2MzMwLCAxNjMzMywgMTYzMzYsIAotICAgIDE2MzM5LCAxNjM0MiwgMTYzNDUsIDE2MzQ4LCAxNjM1MSwgMTYzNTQsIDE2MzU4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAxNjM2MiwgMTYzNjcsIDAsIDE2Mzc0LCAwLCAwLCAxNjM4MSwgMTYzODYsIDAsIDE2MzkxLCAwLCAKLSAgICAwLCAxNjM5OCwgMCwgMCwgMCwgMCwgMCwgMCwgMTY0MDMsIDE2NDA4LCAxNjQxMiwgMTY0MTksIDAsIDE2NDI2LCAxNjQzMSwgCi0gICAgMTY0MzYsIDE2NDQxLCAxNjQ0OCwgMTY0NTUsIDE2NDYyLCAwLCAxNjQ2OSwgMTY0NzQsIDE2NDc5LCAwLCAxNjQ4NiwgMCwgCi0gICAgMTY0OTMsIDAsIDAsIDE2NDk4LCAxNjUwNSwgMCwgMTY1MTIsIDE2NTE2LCAxNjUyMywgMTY1MjcsIDE2NTMyLCAxNjU0MCwgCi0gICAgMTY1NDYsIDE2NTUyLCAxNjU1NywgMTY1NjMsIDE2NTY5LCAxNjU3NSwgMTY1ODAsIDAsIDE2NTg2LCAxNjU5NCwgMTY2MDEsIAotICAgIDAsIDAsIDE2NjA4LCAxNjYxMywgMTY2MTksIDE2NjI0LCAxNjYzMCwgMCwgMTY2MzYsIDAsIDE2NjQyLCAxNjY0OSwgCi0gICAgMTY2NTYsIDE2NjYzLCAxNjY3MCwgMTY2NzUsIDAsIDAsIDE2Njc5LCAxNjY4NCwgMTY2ODgsIDE2NjkyLCAxNjY5NiwgCi0gICAgMTY3MDAsIDE2NzA0LCAxNjcwOCwgMTY3MTIsIDE2NzE2LCAwLCAwLCAxNjcyMCwgMTY3MjYsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDE2NzMyLCAxNjczNiwgMTY3NDcsIDE2NzYyLCAxNjc3NywgMTY3ODcsIDE2Nzk4LCAxNjgxMSwgCi0gICAgMTY4MjIsIDE2ODI4LCAxNjgzNiwgMTY4NDYsIDE2ODUyLCAxNjg2MCwgMTY4NjQsIDE2ODcwLCAxNjg3NiwgMTY4ODQsIAotICAgIDE2ODk0LCAxNjkwMiwgMTY5MTUsIDE2OTIxLCAxNjkyOSwgMTY5MzcsIDE2OTQ5LCAxNjk1NiwgMTY5NjQsIDE2OTcyLCAKLSAgICAxNjk4MCwgMTY5ODgsIDE2OTk2LCAxNzAwNCwgMTcwMTQsIDE3MDE4LCAxNzAyMSwgMTcwMjQsIDE3MDI3LCAxNzAzMCwgCi0gICAgMTcwMzMsIDE3MDM2LCAxNzAzOSwgMTcwNDIsIDE3MDQ1LCAxNzA0OSwgMTcwNTMsIDE3MDU3LCAxNzA2MSwgMTcwNjUsIAotICAgIDE3MDY5LCAxNzA3MywgMTcwNzcsIDE3MDgxLCAxNzA4NiwgMTcwOTIsIDE3MTAyLCAxNzExNiwgMTcxMjYsIDE3MTMyLCAKLSAgICAxNzEzOCwgMTcxNDYsIDE3MTU0LCAxNzE2MiwgMTcxNzAsIDE3MTc2LCAxNzE4MiwgMTcxODUsIDE3MTg5LCAxNzE5MywgCi0gICAgMTcxOTcsIDE3MjAxLCAxNzIwNSwgMTcyMDksIDAsIDE3MjEzLCAxNzIxNywgMTcyMjEsIDE3MjI1LCAxNzIyOSwgMTcyMzMsIAotICAgIDE3MjM3LCAxNzI0MSwgMTcyNDUsIDE3MjQ5LCAxNzI1MywgMTcyNTYsIDE3MjU5LCAxNzI2MywgMTcyNjcsIDE3MjcxLCAKLSAgICAxNzI3NCwgMTcyNzgsIDE3MjgyLCAxNzI4NiwgMTcyOTAsIDE3Mjk0LCAxNzI5OCwgMTczMDIsIDE3MzA2LCAxNzMwOSwgCi0gICAgMTczMTIsIDE3MzE2LCAxNzMyMCwgMTczMjQsIDE3MzI4LCAxNzMzMSwgMTczMzQsIDE3MzM4LCAxNzM0MywgMTczNDcsIDAsIAotICAgIDAsIDAsIDAsIDE3MzUxLCAxNzM1NiwgMTczNjAsIDE3MzY1LCAxNzM2OSwgMTczNzQsIDE3Mzc5LCAxNzM4NSwgMTczOTAsIAotICAgIDE3Mzk2LCAxNzQwMCwgMTc0MDUsIDE3NDA5LCAxNzQxNCwgMTc0MjQsIDE3NDMwLCAxNzQzNiwgMTc0NDMsIDE3NDUzLCAKLSAgICAxNzQ1OSwgMTc0NjMsIDE3NDY3LCAxNzQ3MywgMTc0NzksIDE3NDg3LCAxNzQ5MywgMTc1MDEsIDE3NTA5LCAxNzUxNywgCi0gICAgMTc1MjcsIDE3NTM1LCAxNzU0NSwgMTc1NTAsIDE3NTU2LCAxNzU2MiwgMTc1NjgsIDE3NTc0LCAxNzU4MCwgMTc1ODYsIDAsIAotICAgIDE3NTkyLCAxNzU5OCwgMTc2MDQsIDE3NjEwLCAxNzYxNiwgMTc2MjIsIDE3NjI4LCAxNzYzNCwgMTc2NDAsIDE3NjQ2LCAKLSAgICAxNzY1MiwgMTc2NTcsIDE3NjYyLCAxNzY2OCwgMTc2NzQsIDE3NjgwLCAxNzY4NSwgMTc2OTEsIDE3Njk3LCAxNzcwMywgCi0gICAgMTc3MDksIDE3NzE1LCAxNzcyMSwgMTc3MjcsIDE3NzMzLCAxNzczOCwgMTc3NDMsIDE3NzQ5LCAxNzc1NSwgMTc3NjEsIAotICAgIDE3NzY3LCAxNzc3MiwgMTc3NzcsIDE3NzgzLCAxNzc5MSwgMTc3OTgsIDAsIDE3ODA1LCAxNzgxMiwgMTc4MjUsIDE3ODMyLCAKLSAgICAxNzgzOSwgMTc4NDcsIDE3ODU1LCAxNzg2MSwgMTc4NjcsIDE3ODczLCAxNzg4MywgMTc4ODgsIDE3ODk0LCAxNzkwNCwgCi0gICAgMTc5MTQsIDAsIDE3OTI0LCAxNzkzNCwgMTc5NDIsIDE3OTU0LCAxNzk2NiwgMTc5NzIsIDE3OTg2LCAxODAwMSwgMTgwMDYsIAotICAgIDE4MDExLCAxODAxOSwgMTgwMjcsIDE4MDM1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxODA0MywgCi0gICAgMTgwNDYsIDE4MDUwLCAxODA1NCwgMTgwNTgsIDE4MDYyLCAxODA2NiwgMTgwNzAsIDE4MDc0LCAxODA3OCwgMTgwODIsIAotICAgIDE4MDg2LCAxODA5MCwgMTgwOTQsIDE4MDk4LCAxODEwMiwgMTgxMDYsIDE4MTEwLCAxODExNCwgMTgxMTgsIDE4MTIyLCAKLSAgICAxODEyNSwgMTgxMjgsIDE4MTMyLCAxODEzNiwgMTgxNDAsIDE4MTQzLCAxODE0NiwgMTgxNDksIDE4MTUzLCAxODE1NywgCi0gICAgMTgxNjEsIDE4MTY0LCAxODE2OCwgMTgxNzEsIDE4MTc2LCAxODE3OSwgMTgxODMsIDE4MTg2LCAxODE5MCwgMTgxOTMsIAotICAgIDE4MTk4LCAxODIwMSwgMTgyMDUsIDE4MjEyLCAxODIxNywgMTgyMjEsIDE4MjI2LCAxODIzMCwgMTgyMzUsIDE4MjM5LCAKLSAgICAxODI0NCwgMTgyNTEsIDE4MjU3LCAxODI2MiwgMTgyNjYsIDE4MjcwLCAxODI3NCwgMTgyNzgsIDE4MjgyLCAxODI4OCwgCi0gICAgMTgyOTQsIDE4MzAxLCAxODMwNywgMTgzMTMsIDE4MzE3LCAxODMyMCwgMTgzMjMsIDE4MzI2LCAxODMyOSwgMTgzMzIsIAotICAgIDE4MzM1LCAxODMzOCwgMTgzNDEsIDE4MzQ0LCAxODM1MCwgMTgzNTQsIDE4MzU4LCAxODM2MiwgMTgzNjYsIDE4MzcwLCAKLSAgICAxODM3NCwgMTgzNzgsIDE4MzgyLCAxODM4NywgMTgzOTEsIDE4Mzk2LCAxODQwMSwgMTg0MDcsIDE4NDEyLCAxODQxOCwgCi0gICAgMTg0MjQsIDE4NDMwLCAxODQzNiwgMTg0NDIsIDE4NDUwLCAxODQ1OCwgMTg0NjcsIDE4NDc1LCAxODQ4NCwgMTg0OTMsIAotICAgIDE4NTA0LCAxODUxNCwgMTg1MjQsIDE4NTM1LCAxODU0NiwgMTg1NTYsIDE4NTY2LCAxODU3NiwgMTg1ODYsIDE4NTk2LCAKLSAgICAxODYwNiwgMTg2MTYsIDE4NjI2LCAxODYzNCwgMTg2NDEsIDE4NjQ3LCAxODY1NCwgMTg2NTksIDE4NjY1LCAxODY3MSwgCi0gICAgMTg2NzcsIDE4NjgzLCAxODY4OSwgMTg2OTUsIDE4NzAwLCAxODcwNiwgMTg3MTIsIDE4NzE4LCAxODcyNCwgMTg3MjksIAotICAgIDE4NzM4LCAxODc0NSwgMTg3NTEsIDE4NzU4LCAxODc2NiwgMTg3NzIsIDE4Nzc4LCAxODc4NCwgMTg3OTAsIDE4Nzk4LCAKLSAgICAxODgwNiwgMTg4MTYsIDE4ODI0LCAxODgzMiwgMTg4MzgsIDE4ODQzLCAxODg0OCwgMTg4NTMsIDE4ODU4LCAxODg2MywgCi0gICAgMTg4NjgsIDE4ODczLCAxODg3OCwgMTg4ODMsIDE4ODg5LCAxODg5NSwgMTg5MDEsIDE4OTA4LCAxODkxMywgMTg5MTksIAotICAgIDE4OTI0LCAxODkyOSwgMTg5MzQsIDE4OTM5LCAxODk0NCwgMTg5NDksIDE4OTU0LCAxODk1OSwgMTg5NjQsIDE4OTY5LCAKLSAgICAxODk3NCwgMTg5NzksIDE4OTg0LCAxODk4OSwgMTg5OTQsIDE4OTk5LCAxOTAwNCwgMTkwMDksIDE5MDE0LCAxOTAxOSwgCi0gICAgMTkwMjQsIDE5MDI5LCAxOTAzNCwgMTkwMzksIDE5MDQ0LCAxOTA0OSwgMTkwNTQsIDE5MDU5LCAxOTA2NCwgMTkwNjksIAotICAgIDE5MDc0LCAxOTA3OSwgMTkwODQsIDE5MDg5LCAxOTA5NCwgMTkwOTksIDE5MTA0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAxOTEwOSwgMTkxMTMsIDE5MTE3LCAxOTEyMSwgMTkxMjUsIDE5MTI5LCAxOTEzMywgMTkxMzcsIDE5MTQxLCAKLSAgICAxOTE0NSwgMTkxNDksIDE5MTUzLCAxOTE1NywgMTkxNjEsIDE5MTY1LCAxOTE2OSwgMTkxNzMsIDE5MTc3LCAxOTE4MSwgCi0gICAgMTkxODUsIDE5MTg5LCAxOTE5MywgMTkxOTcsIDE5MjAxLCAxOTIwNSwgMTkyMDksIDE5MjEzLCAxOTIxNywgMTkyMjEsIAotICAgIDE5MjI1LCAxOTIyOSwgMTkyMzMsIDE5MjM3LCAxOTI0MSwgMTkyNDUsIDE5MjQ5LCAxOTI1MywgMTkyNTcsIDE5MjYxLCAKLSAgICAxOTI2NSwgMTkyNjksIDE5MjczLCAxOTI3OSwgMTkyODMsIDE5Mjg4LCAwLCAwLCAwLCAxOTI5MywgMTkyOTcsIDE5MzAxLCAKLSAgICAxOTMwNSwgMTkzMDksIDE5MzEzLCAxOTMxNywgMTkzMjEsIDE5MzI1LCAxOTMyOSwgMTkzMzMsIDE5MzM3LCAxOTM0MSwgCi0gICAgMTkzNDUsIDE5MzQ5LCAxOTM1MywgMTkzNTcsIDE5MzYxLCAxOTM2NSwgMTkzNjksIDE5MzczLCAxOTM3NywgMTkzODEsIAotICAgIDE5Mzg1LCAxOTM4OSwgMTkzOTMsIDE5Mzk3LCAxOTQwMSwgMTk0MDUsIDE5NDA5LCAxOTQxMywgMTk0MTcsIDE5NDIxLCAKLSAgICAxOTQyNSwgMTk0MjksIDE5NDMzLCAxOTQzNywgMTk0NDEsIDE5NDQ1LCAxOTQ0OSwgMTk0NTMsIDE5NDU3LCAxOTQ2MSwgCi0gICAgMTk0NjUsIDE5NDY5LCAxOTQ3MywgMTk0NzcsIDE5NDgxLCAxOTQ4NSwgMTk0ODksIDE5NDkzLCAxOTQ5NywgMTk1MDEsIAotICAgIDE5NTA1LCAxOTUwOSwgMTk1MTMsIDE5NTE3LCAxOTUyMSwgMTk1MjUsIDE5NTI5LCAxOTUzMywgMTk1MzcsIDE5NTQxLCAKLSAgICAxOTU0NSwgMTk1NDksIDE5NTUzLCAxOTU1NywgMTk1NjEsIDE5NTY1LCAxOTU2OSwgMTk1NzMsIDE5NTc3LCAxOTU4MSwgCi0gICAgMTk1ODUsIDE5NTg5LCAxOTU5MywgMTk1OTcsIDE5NjAxLCAxOTYwNSwgMTk2MDksIDE5NjEzLCAxOTYxNywgMTk2MjEsIAotICAgIDE5NjI1LCAxOTYyOSwgMTk2MzMsIDE5NjM3LCAxOTY0MSwgMTk2NDUsIDE5NjQ5LCAxOTY1MywgMTk2NTcsIDE5NjYxLCAKLSAgICAxOTY2NSwgMTk2NjksIDE5NjczLCAxOTY3NywgMTk2ODEsIDE5Njg0LCAxOTY4OCwgMTk2OTEsIDE5Njk1LCAxOTY5OSwgCi0gICAgMTk3MDIsIDE5NzA2LCAxOTcxMCwgMTk3MTMsIDE5NzE3LCAxOTcyMSwgMTk3MjUsIDE5NzI5LCAxOTczMiwgMTk3MzYsIAotICAgIDE5NzQwLCAxOTc0NCwgMTk3NDgsIDE5NzUyLCAxOTc1NiwgMTk3NTksIDE5NzYzLCAxOTc2NywgMTk3NzEsIDE5Nzc1LCAKLSAgICAxOTc3OSwgMTk3ODMsIDE5Nzg3LCAxOTc5MSwgMTk3OTUsIDE5Nzk5LCAxOTgwMywgMTk4MDcsIDE5ODExLCAxOTgxNSwgCi0gICAgMTk4MTksIDE5ODIzLCAxOTgyNywgMTk4MzEsIDE5ODM1LCAxOTgzOSwgMTk4NDMsIDE5ODQ3LCAxOTg1MSwgMTk4NTUsIAotICAgIDE5ODU5LCAxOTg2MywgMTk4NjcsIDE5ODcxLCAxOTg3NSwgMTk4NzksIDE5ODgzLCAxOTg4NywgMTk4OTEsIDE5ODk1LCAKLSAgICAxOTg5OSwgMTk5MDMsIDE5OTA3LCAxOTkxMSwgMTk5MTUsIDE5OTE5LCAxOTkyMywgMTk5MjcsIDE5OTMxLCAxOTkzNSwgCi0gICAgMTk5MzksIDE5OTQzLCAxOTk0NywgMTk5NTEsIDE5OTU1LCAxOTk1OSwgMTk5NjMsIDE5OTY3LCAxOTk3MSwgMTk5NzUsIAotICAgIDE5OTc5LCAxOTk4MywgMTk5ODcsIDE5OTkxLCAxOTk5NSwgMTk5OTksIDIwMDAzLCAyMDAwNywgMjAwMTEsIDIwMDE1LCAKLSAgICAyMDAxOSwgMjAwMjMsIDIwMDI3LCAyMDAzMSwgMjAwMzUsIDIwMDM5LCAyMDA0MywgMjAwNDcsIDIwMDUxLCAyMDA1NSwgCi0gICAgMjAwNTksIDIwMDYzLCAyMDA2NywgMjAwNzEsIDIwMDc1LCAyMDA3OSwgMjAwODMsIDIwMDg3LCAyMDA5MSwgMjAwOTUsIAotICAgIDIwMDk5LCAyMDEwMywgMjAxMDcsIDIwMTExLCAyMDExNSwgMjAxMTksIDIwMTIzLCAyMDEyNywgMjAxMzEsIDIwMTM1LCAKLSAgICAyMDEzOSwgMjAxNDMsIDIwMTQ3LCAyMDE1MSwgMjAxNTUsIDIwMTU5LCAyMDE2MywgMjAxNjcsIDIwMTcxLCAyMDE3NSwgCi0gICAgMjAxNzksIDIwMTgzLCAyMDE4NywgMjAxOTEsIDIwMTk1LCAyMDE5OSwgMjAyMDMsIDIwMjA3LCAyMDIxMSwgMjAyMTUsIAotICAgIDIwMjE5LCAyMDIyMywgMjAyMjcsIDIwMjMxLCAyMDIzNSwgMjAyMzksIDIwMjQzLCAyMDI0NywgMjAyNTEsIDIwMjU1LCAKLSAgICAyMDI1OSwgMjAyNjMsIDIwMjY3LCAyMDI3MSwgMjAyNzUsIDIwMjc5LCAyMDI4MywgMjAyODcsIDIwMjkxLCAyMDI5NSwgCi0gICAgMjAyOTksIDIwMzAzLCAyMDMwNywgMjAzMTEsIDIwMzE0LCAyMDMxOCwgMjAzMjIsIDIwMzI2LCAyMDMzMCwgMjAzMzQsIAotICAgIDIwMzM4LCAyMDM0MiwgMjAzNDYsIDIwMzUwLCAyMDM1NCwgMjAzNTgsIDIwMzYyLCAyMDM2NiwgMjAzNzAsIDIwMzc0LCAKLSAgICAyMDM3OCwgMjAzODIsIDIwMzg2LCAyMDM5MCwgMjAzOTQsIDIwMzk4LCAyMDQwMiwgMjA0MDYsIDIwNDA5LCAyMDQxMywgCi0gICAgMjA0MTcsIDIwNDIxLCAyMDQyNSwgMjA0MjksIDIwNDMzLCAyMDQzNywgMjA0NDEsIDIwNDQ1LCAyMDQ0OSwgMjA0NTMsIAotICAgIDIwNDU3LCAyMDQ2MSwgMjA0NjUsIDIwNDY5LCAyMDQ3MiwgMjA0NzYsIDIwNDgwLCAyMDQ4NCwgMjA0ODgsIDIwNDkyLCAKLSAgICAyMDQ5NiwgMjA1MDAsIDIwNTA0LCAyMDUwOCwgMjA1MTIsIDIwNTE2LCAyMDUyMCwgMjA1MjQsIDIwNTI4LCAyMDUzMiwgCi0gICAgMjA1MzYsIDIwNTQwLCAyMDU0NCwgMjA1NDgsIDIwNTUyLCAyMDU1NiwgMjA1NjAsIDIwNTY0LCAyMDU2OCwgMjA1NzIsIAotICAgIDIwNTc2LCAyMDU4MCwgMjA1ODQsIDIwNTg4LCAyMDU5MiwgMjA1OTYsIDAsIDIwNjAwLCAyMDYwNCwgMjA2MDgsIDIwNjEyLCAKLSAgICAwLCAwLCAyMDYxNiwgMjA2MjAsIDIwNjI0LCAyMDYyOCwgMjA2MzIsIDIwNjM2LCAyMDY0MCwgMCwgMjA2NDQsIDAsIAotICAgIDIwNjQ4LCAyMDY1MiwgMjA2NTYsIDIwNjYwLCAwLCAwLCAyMDY2NCwgMjA2NjgsIDIwNjcyLCAyMDY3NiwgMjA2ODAsIAotICAgIDIwNjg0LCAyMDY4OCwgMjA2OTIsIDIwNjk2LCAyMDcwMCwgMjA3MDQsIDIwNzA4LCAyMDcxMiwgMjA3MTYsIDIwNzIwLCAKLSAgICAyMDcyNCwgMjA3MjgsIDIwNzMyLCAyMDczNiwgMjA3NDAsIDIwNzQ0LCAyMDc0OCwgMjA3NTIsIDIwNzU1LCAyMDc1OSwgCi0gICAgMjA3NjMsIDIwNzY3LCAyMDc3MSwgMjA3NzUsIDIwNzc5LCAyMDc4MywgMjA3ODcsIDIwNzkxLCAyMDc5NSwgMjA3OTksIAotICAgIDIwODAzLCAyMDgwNywgMjA4MTEsIDIwODE1LCAyMDgxOSwgMjA4MjMsIDAsIDIwODI3LCAyMDgzMSwgMjA4MzUsIDIwODM5LCAKLSAgICAwLCAwLCAyMDg0MywgMjA4NDYsIDIwODUwLCAyMDg1NCwgMjA4NTgsIDIwODYyLCAyMDg2NiwgMjA4NzAsIDIwODc0LCAKLSAgICAyMDg3OCwgMjA4ODIsIDIwODg2LCAyMDg5MCwgMjA4OTQsIDIwODk4LCAyMDkwMiwgMjA5MDYsIDIwOTExLCAyMDkxNiwgCi0gICAgMjA5MjEsIDIwOTI3LCAyMDkzMywgMjA5MzgsIDIwOTQzLCAyMDk0OSwgMjA5NTIsIDIwOTU2LCAyMDk2MCwgMjA5NjQsIAotICAgIDIwOTY4LCAyMDk3MiwgMjA5NzYsIDIwOTgwLCAwLCAyMDk4NCwgMjA5ODgsIDIwOTkyLCAyMDk5NiwgMCwgMCwgMjEwMDAsIAotICAgIDIxMDA0LCAyMTAwOCwgMjEwMTIsIDIxMDE2LCAyMTAyMCwgMjEwMjQsIDAsIDIxMDI4LCAwLCAyMTAzMiwgMjEwMzYsIAotICAgIDIxMDQwLCAyMTA0NCwgMCwgMCwgMjEwNDgsIDIxMDUyLCAyMTA1NiwgMjEwNjAsIDIxMDY0LCAyMTA2OCwgMjEwNzIsIAotICAgIDIxMDc2LCAyMTA4MCwgMjEwODUsIDIxMDkwLCAyMTA5NSwgMjExMDEsIDIxMTA3LCAyMTExMiwgMCwgMjExMTcsIDIxMTIxLCAKLSAgICAyMTEyNSwgMjExMjksIDIxMTMzLCAyMTEzNywgMjExNDEsIDIxMTQ1LCAyMTE0OSwgMjExNTMsIDIxMTU3LCAyMTE2MSwgCi0gICAgMjExNjUsIDIxMTY5LCAyMTE3MywgMjExNzcsIDIxMTgxLCAyMTE4NCwgMjExODgsIDIxMTkyLCAyMTE5NiwgMjEyMDAsIAotICAgIDIxMjA0LCAyMTIwOCwgMjEyMTIsIDIxMjE2LCAyMTIyMCwgMjEyMjQsIDIxMjI4LCAyMTIzMiwgMjEyMzYsIDIxMjQwLCAKLSAgICAyMTI0NCwgMjEyNDgsIDIxMjUyLCAyMTI1NiwgMjEyNjAsIDIxMjY0LCAyMTI2OCwgMjEyNzIsIDIxMjc2LCAyMTI4MCwgCi0gICAgMjEyODQsIDIxMjg4LCAyMTI5MiwgMjEyOTYsIDIxMzAwLCAyMTMwNCwgMjEzMDgsIDIxMzEyLCAyMTMxNiwgMjEzMjAsIAotICAgIDIxMzI0LCAyMTMyOCwgMjEzMzIsIDIxMzM2LCAyMTM0MCwgMCwgMjEzNDQsIDIxMzQ4LCAyMTM1MiwgMjEzNTYsIDAsIDAsIAotICAgIDIxMzYwLCAyMTM2NCwgMjEzNjgsIDIxMzcyLCAyMTM3NiwgMjEzODAsIDIxMzg0LCAyMTM4OCwgMjEzOTIsIDIxMzk2LCAKLSAgICAyMTQwMCwgMjE0MDQsIDIxNDA4LCAyMTQxMiwgMjE0MTYsIDIxNDIwLCAyMTQyNCwgMjE0MjgsIDIxNDMyLCAyMTQzNiwgCi0gICAgMjE0NDAsIDIxNDQ0LCAyMTQ0OCwgMjE0NTIsIDIxNDU2LCAyMTQ2MCwgMjE0NjQsIDIxNDY4LCAyMTQ3MiwgMjE0NzYsIAotICAgIDIxNDgwLCAyMTQ4NCwgMjE0ODgsIDIxNDkyLCAyMTQ5NiwgMjE1MDAsIDIxNTA0LCAyMTUwOCwgMjE1MTIsIDIxNTE2LCAKLSAgICAyMTUyMCwgMjE1MjQsIDIxNTI4LCAyMTUzMiwgMjE1MzYsIDIxNTQwLCAyMTU0NCwgMjE1NDgsIDIxNTUyLCAyMTU1NiwgCi0gICAgMjE1NjAsIDIxNTY0LCAyMTU2OCwgMjE1NzIsIDIxNTc2LCAyMTU4MCwgMjE1ODQsIDIxNTg3LCAyMTU5MSwgMjE1OTUsIAotICAgIDIxNTk5LCAyMTYwMywgMjE2MDcsIDIxNjExLCAyMTYxNSwgMjE2MTksIDIxNjIzLCAwLCAwLCAyMTYyNywgMjE2MzYsIAotICAgIDIxNjQyLCAyMTY0NywgMjE2NTEsIDIxNjU0LCAyMTY1OSwgMjE2NjIsIDIxNjY1LCAyMTY2OCwgMjE2NzMsIDIxNjc3LCAKLSAgICAyMTY4MiwgMjE2ODUsIDIxNjg4LCAyMTY5MSwgMjE2OTQsIDIxNjk3LCAyMTcwMCwgMjE3MDMsIDIxNzA2LCAyMTcwOSwgCi0gICAgMjE3MTMsIDIxNzE3LCAyMTcyMSwgMjE3MjUsIDIxNzI5LCAyMTczMywgMjE3MzcsIDIxNzQxLCAyMTc0NSwgMjE3NDksIDAsIAotICAgIDAsIDAsIDIxNzU1LCAyMTc2MSwgMjE3NjUsIDIxNzY5LCAyMTc3MywgMjE3NzksIDIxNzgzLCAyMTc4NywgMjE3OTEsIAotICAgIDIxNzk3LCAyMTgwMSwgMjE4MDUsIDIxODA5LCAyMTgxNSwgMjE4MTksIDIxODIzLCAyMTgyNywgMjE4MzMsIDIxODM5LCAKLSAgICAyMTg0NSwgMjE4NTMsIDIxODU5LCAyMTg2NSwgMjE4NzEsIDIxODc3LCAyMTg4MywgMCwgMCwgMCwgMCwgMCwgMCwgMjE4ODksIAotICAgIDIxODkyLCAyMTg5NSwgMjE4OTgsIDIxOTAxLCAyMTkwNCwgMjE5MDgsIDIxOTEyLCAyMTkxNSwgMjE5MTksIDIxOTIzLCAKLSAgICAyMTkyNywgMjE5MzEsIDIxOTM1LCAyMTkzOCwgMjE5NDIsIDIxOTQ2LCAyMTk1MCwgMjE5NTQsIDIxOTU4LCAyMTk2MiwgCi0gICAgMjE5NjYsIDIxOTcwLCAyMTk3NCwgMjE5NzgsIDIxOTgyLCAyMTk4NSwgMjE5ODksIDIxOTkzLCAyMTk5NywgMjIwMDEsIAotICAgIDIyMDA0LCAyMjAwOCwgMjIwMTIsIDIyMDE2LCAyMjAyMCwgMjIwMjQsIDIyMDI4LCAyMjAzMiwgMjIwMzYsIDIyMDQwLCAKLSAgICAyMjA0NCwgMjIwNDgsIDIyMDUyLCAyMjA1NiwgMjIwNjAsIDIyMDYzLCAyMjA2NywgMjIwNzEsIDIyMDc1LCAyMjA3OSwgCi0gICAgMjIwODMsIDIyMDg3LCAyMjA5MSwgMjIwOTUsIDIyMDk5LCAyMjEwMywgMjIxMDcsIDIyMTExLCAyMjExNSwgMjIxMTksIAotICAgIDIyMTIzLCAyMjEyNywgMjIxMzEsIDIyMTM1LCAyMjEzOSwgMjIxNDMsIDIyMTQ3LCAyMjE1MSwgMjIxNTUsIDIyMTU5LCAKLSAgICAyMjE2MywgMjIxNjcsIDIyMTcxLCAyMjE3NSwgMjIxNzksIDIyMTgzLCAyMjE4NywgMjIxOTEsIDIyMTk1LCAyMjE5OCwgCi0gICAgMjIyMDIsIDIyMjA2LCAyMjIxMCwgMjIyMTQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDIyMjE4LCAKLSAgICAyMjIyMiwgMjIyMjUsIDIyMjI5LCAyMjIzMiwgMjIyMzYsIDIyMjM5LCAyMjI0MywgMjIyNDksIDIyMjU0LCAyMjI1OCwgCi0gICAgMjIyNjEsIDIyMjY1LCAyMjI2OSwgMjIyNzQsIDIyMjc4LCAyMjI4MywgMjIyODcsIDIyMjkyLCAyMjI5NiwgMjIzMDEsIAotICAgIDIyMzA1LCAyMjMxMCwgMjIzMTYsIDIyMzIwLCAyMjMyNSwgMjIzMjksIDIyMzM0LCAyMjM0MCwgMjIzNDQsIDIyMzUwLCAKLSAgICAyMjM1NiwgMjIzNjAsIDIyMzY1LCAyMjM3MywgMjIzODEsIDIyMzg4LCAyMjM5MywgMjIzOTgsIDIyNDA3LCAyMjQxNCwgCi0gICAgMjI0MjEsIDIyNDI2LCAyMjQzMiwgMjI0MzYsIDIyNDQwLCAyMjQ0NCwgMjI0NDgsIDIyNDUyLCAyMjQ1NiwgMjI0NjAsIAotICAgIDIyNDY0LCAyMjQ2OCwgMjI0NzIsIDIyNDc4LCAyMjQ4MywgMjI0ODgsIDIyNDkxLCAyMjQ5NSwgMjI0OTksIDIyNTA0LCAKLSAgICAyMjUwOCwgMjI1MTMsIDIyNTE3LCAyMjUyMiwgMjI1MjYsIDIyNTMxLCAyMjUzNSwgMjI1NDAsIDIyNTQ0LCAyMjU0OSwgCi0gICAgMjI1NTMsIDIyNTU4LCAyMjU2NCwgMjI1NjgsIDIyNTczLCAyMjU3OCwgMjI1ODIsIDIyNTg2LCAyMjU5MCwgMjI1OTQsIAotICAgIDIyNTk3LCAyMjYwMSwgMjI2MDcsIDIyNjEyLCAyMjYxNywgMjI2MjEsIDIyNjI1LCAyMjYyOSwgMjI2MzQsIDIyNjM4LCAKLSAgICAyMjY0MywgMjI2NDcsIDIyNjUyLCAyMjY1NSwgMjI2NTksIDIyNjYzLCAyMjY2OCwgMjI2NzIsIDIyNjc3LCAyMjY4MSwgCi0gICAgMjI2ODYsIDIyNjkyLCAyMjY5NiwgMjI3MDAsIDIyNzA0LCAyMjcwOCwgMjI3MTIsIDIyNzE2LCAyMjcyMCwgMjI3MjQsIAotICAgIDIyNzI4LCAyMjczMiwgMjI3MzYsIDIyNzQyLCAyMjc0NSwgMjI3NDksIDIyNzUzLCAyMjc1OCwgMjI3NjIsIDIyNzY3LCAKLSAgICAyMjc3MSwgMjI3NzYsIDIyNzgwLCAyMjc4NSwgMjI3ODksIDIyNzk0LCAyMjc5OCwgMjI4MDMsIDIyODA3LCAyMjgxMiwgCi0gICAgMjI4MTgsIDIyODIyLCAyMjgyNiwgMjI4MzIsIDIyODM4LCAyMjg0NCwgMjI4NTAsIDIyODU0LCAyMjg1OCwgMjI4NjIsIAotICAgIDIyODY2LCAyMjg3MCwgMjI4NzQsIDIyODgwLCAyMjg4NCwgMjI4ODgsIDIyODkyLCAyMjg5NywgMjI5MDEsIDIyOTA2LCAKLSAgICAyMjkxMCwgMjI5MTUsIDIyOTE5LCAyMjkyNCwgMjI5MjgsIDIyOTMzLCAyMjkzNywgMjI5NDIsIDIyOTQ2LCAyMjk1MSwgCi0gICAgMjI5NTcsIDIyOTYxLCAyMjk2NywgMjI5NzEsIDIyOTc1LCAyMjk3OSwgMjI5ODMsIDIyOTg3LCAyMjk5MSwgMjI5OTcsIAotICAgIDIzMDAwLCAyMzAwNCwgMjMwMDgsIDIzMDEzLCAyMzAxNywgMjMwMjIsIDIzMDI2LCAyMzAzMSwgMjMwMzUsIDIzMDQwLCAKLSAgICAyMzA0NCwgMjMwNDksIDIzMDUzLCAyMzA1OCwgMjMwNjIsIDIzMDY3LCAyMzA3MywgMjMwNzYsIDIzMDgwLCAyMzA4NCwgCi0gICAgMjMwODksIDIzMDk0LCAyMzA5OCwgMjMxMDIsIDIzMTA2LCAyMzExMCwgMjMxMTQsIDIzMTE4LCAyMzEyNCwgMjMxMjcsIAotICAgIDIzMTMxLCAyMzEzNSwgMjMxNDAsIDIzMTQ0LCAyMzE0OSwgMjMxNTMsIDIzMTU4LCAyMzE2NCwgMjMxNjcsIDIzMTcyLCAKLSAgICAyMzE3NiwgMjMxODAsIDIzMTg0LCAyMzE4OCwgMjMxOTIsIDIzMTk2LCAyMzIwMCwgMjMyMDYsIDIzMjEwLCAyMzIxNCwgCi0gICAgMjMyMTgsIDIzMjIzLCAyMzIyNywgMjMyMzIsIDIzMjM2LCAyMzI0MSwgMjMyNDUsIDIzMjUwLCAyMzI1NCwgMjMyNTksIAotICAgIDIzMjYzLCAyMzI2OCwgMjMyNzIsIDIzMjc3LCAyMzI4MCwgMjMyODQsIDIzMjg4LCAyMzI5MiwgMjMyOTYsIDIzMzAwLCAKLSAgICAyMzMwNCwgMjMzMDgsIDIzMzEyLCAyMzMxOCwgMjMzMjIsIDIzMzI2LCAyMzMzMCwgMjMzMzUsIDIzMzM5LCAyMzM0NCwgCi0gICAgMjMzNDgsIDIzMzUzLCAyMzM1NywgMjMzNjIsIDIzMzY2LCAyMzM3MSwgMjMzNzUsIDIzMzgwLCAyMzM4NCwgMjMzODksIAotICAgIDIzMzk1LCAyMzM5OCwgMjM0MDMsIDIzNDA3LCAyMzQxMiwgMjM0MTgsIDIzNDI0LCAyMzQzMCwgMjM0MzYsIDIzNDQyLCAKLSAgICAyMzQ0OCwgMjM0NTQsIDIzNDU4LCAyMzQ2MiwgMjM0NjYsIDIzNDcwLCAyMzQ3NCwgMjM0NzgsIDIzNDgyLCAyMzQ4NiwgCi0gICAgMjM0OTEsIDIzNDk1LCAyMzUwMCwgMjM1MDQsIDIzNTA5LCAyMzUxMywgMjM1MTgsIDIzNTIyLCAyMzUyNywgMjM1MzEsIAotICAgIDIzNTM2LCAyMzU0MCwgMjM1NDUsIDIzNTQ5LCAyMzU1MywgMjM1NTcsIDIzNTYxLCAyMzU2NSwgMjM1NjksIDIzNTczLCAKLSAgICAyMzU3OSwgMjM1ODIsIDIzNTg2LCAyMzU5MCwgMjM1OTUsIDIzNTk5LCAyMzYwNCwgMjM2MDgsIDIzNjEzLCAyMzYxNywgCi0gICAgMjM2MjIsIDIzNjI2LCAyMzYzMSwgMjM2MzUsIDIzNjQwLCAyMzY0NCwgMjM2NDksIDIzNjU1LCAyMzY1OSwgMjM2NjUsIAotICAgIDIzNjcwLCAyMzY3NiwgMjM2ODAsIDIzNjg2LCAyMzY5MSwgMjM2OTUsIDIzNjk5LCAyMzcwMywgMjM3MDcsIDIzNzExLCAKLSAgICAyMzcxNiwgMjM3MTksIDIzNzIzLCAyMzcyOCwgMjM3MzIsIDIzNzM3LCAyMzc0MCwgMjM3NDQsIDIzNzQ4LCAyMzc1MiwgCi0gICAgMjM3NTYsIDIzNzYwLCAyMzc2NCwgMjM3NjgsIDIzNzcyLCAyMzc3NiwgMjM3ODAsIDIzNzg0LCAyMzc4OSwgMjM3OTMsIAotICAgIDIzNzk3LCAyMzgwMywgMjM4MDcsIDIzODEzLCAyMzgxNywgMjM4MjMsIDIzODI3LCAyMzgzMSwgMjM4MzUsIDIzODM5LCAKLSAgICAyMzg0MywgMjM4NDgsIDIzODUyLCAyMzg1NiwgMjM4NjAsIDIzODY0LCAyMzg2OCwgMjM4NzIsIDIzODc2LCAyMzg4MCwgCi0gICAgMjM4ODQsIDIzODg4LCAyMzg5NCwgMjM5MDAsIDIzOTA2LCAyMzkxMiwgMjM5MTgsIDIzOTIzLCAyMzkyOSwgMjM5MzUsIAotICAgIDIzOTQxLCAyMzk0NSwgMjM5NDksIDIzOTUzLCAyMzk1NywgMjM5NjEsIDIzOTY1LCAyMzk2OSwgMjM5NzMsIDIzOTc3LCAKLSAgICAyMzk4MSwgMjM5ODUsIDIzOTg5LCAyMzk5MywgMjM5OTgsIDI0MDAzLCAyNDAwOCwgMjQwMTIsIDI0MDE2LCAyNDAyMCwgCi0gICAgMjQwMjQsIDI0MDI4LCAyNDAzMiwgMjQwMzYsIDI0MDQwLCAyNDA0NCwgMjQwNDgsIDI0MDU0LCAyNDA2MCwgMjQwNjYsIAotICAgIDI0MDcyLCAyNDA3OCwgMjQwODQsIDI0MDkwLCAyNDA5NiwgMjQxMDIsIDI0MTA2LCAyNDExMCwgMjQxMTQsIDI0MTE4LCAKLSAgICAyNDEyMiwgMjQxMjYsIDI0MTMwLCAyNDEzNiwgMjQxNDIsIDI0MTQ4LCAyNDE1NCwgMjQxNjAsIDI0MTY2LCAyNDE3MiwgCi0gICAgMjQxNzgsIDI0MTg0LCAyNDE4OSwgMjQxOTQsIDI0MTk5LCAyNDIwNCwgMjQyMTAsIDI0MjE2LCAyNDIyMiwgMjQyMjgsIAotICAgIDI0MjM0LCAyNDI0MCwgMjQyNDYsIDI0MjUxLCAyNDI1NywgMjQyNjMsIDI0MjY5LCAyNDI3NCwgMjQyODAsIDI0Mjg2LCAKLSAgICAyNDI5MiwgMjQyOTcsIDI0MzAyLCAyNDMwNywgMjQzMTIsIDI0MzE3LCAyNDMyMiwgMjQzMjcsIDI0MzMyLCAyNDMzNywgCi0gICAgMjQzNDIsIDI0MzQ3LCAyNDM1MiwgMjQzNTYsIDI0MzYxLCAyNDM2NiwgMjQzNzEsIDI0Mzc2LCAyNDM4MSwgMjQzODYsIAotICAgIDI0MzkxLCAyNDM5NiwgMjQ0MDEsIDI0NDA2LCAyNDQxMSwgMjQ0MTYsIDI0NDIxLCAyNDQyNiwgMjQ0MzEsIDI0NDM2LCAKLSAgICAyNDQ0MSwgMjQ0NDYsIDI0NDUxLCAyNDQ1NiwgMjQ0NjEsIDI0NDY2LCAyNDQ3MSwgMjQ0NzYsIDI0NDgxLCAyNDQ4NiwgCi0gICAgMjQ0OTEsIDI0NDk2LCAyNDUwMSwgMjQ1MDUsIDI0NTEwLCAyNDUxNSwgMjQ1MjAsIDI0NTI1LCAyNDUzMCwgMjQ1MzUsIAotICAgIDI0NTQwLCAyNDU0NSwgMjQ1NTAsIDI0NTU1LCAyNDU2MCwgMjQ1NjUsIDI0NTcwLCAyNDU3NSwgMjQ1ODAsIDI0NTg1LCAKLSAgICAyNDU5MCwgMjQ1OTUsIDI0NjAwLCAyNDYwNSwgMjQ2MTAsIDI0NjE1LCAyNDYyMCwgMjQ2MjUsIDI0NjMwLCAyNDYzNCwgCi0gICAgMjQ2MzksIDI0NjQ0LCAyNDY0OSwgMjQ2NTQsIDI0NjU5LCAyNDY2MywgMjQ2NjgsIDI0NjczLCAyNDY3OCwgMjQ2ODMsIAotICAgIDI0Njg4LCAyNDY5MiwgMjQ2OTcsIDI0NzAzLCAyNDcwOCwgMjQ3MTMsIDI0NzE4LCAyNDcyMywgMjQ3MjksIDI0NzM0LCAKLSAgICAyNDczOSwgMjQ3NDQsIDI0NzQ5LCAyNDc1NCwgMjQ3NTksIDI0NzY0LCAyNDc2OSwgMjQ3NzQsIDI0Nzc5LCAyNDc4NCwgCi0gICAgMjQ3ODksIDI0Nzk0LCAyNDc5OSwgMjQ4MDQsIDI0ODA5LCAyNDgxNCwgMjQ4MTksIDI0ODI0LCAyNDgyOSwgMjQ4MzQsIAotICAgIDI0ODM5LCAyNDg0NCwgMjQ4NDksIDI0ODU0LCAyNDg1OSwgMjQ4NjQsIDI0ODY5LCAyNDg3NCwgMjQ4NzksIDI0ODg0LCAKLSAgICAyNDg4OSwgMjQ4OTQsIDI0ODk5LCAyNDkwNCwgMjQ5MDksIDI0OTE0LCAyNDkxOSwgMjQ5MjQsIDI0OTI5LCAyNDkzNCwgCi0gICAgMjQ5MzksIDI0OTQ0LCAyNDk0OSwgMjQ5NTUsIDI0OTYwLCAyNDk2NSwgMjQ5NzAsIDI0OTc1LCAyNDk4MCwgMjQ5ODUsIAotICAgIDI0OTkwLCAyNDk5NSwgMjUwMDAsIDI1MDA1LCAyNTAxMCwgMjUwMTUsIDI1MDIwLCAyNTAyNSwgMjUwMzAsIDI1MDM1LCAKLSAgICAyNTA0MCwgMjUwNDUsIDI1MDUwLCAyNTA1NSwgMjUwNjAsIDI1MDY1LCAyNTA3MCwgMjUwNzUsIDI1MDgwLCAyNTA4NSwgCi0gICAgMjUwOTAsIDI1MDk1LCAyNTEwMCwgMjUxMDUsIDI1MTEwLCAyNTExNSwgMjUxMjAsIDI1MTI1LCAyNTEzMCwgMjUxMzUsIAotICAgIDI1MTQwLCAyNTE0NSwgMjUxNTEsIDI1MTU1LCAyNTE1OSwgMjUxNjMsIDI1MTY3LCAyNTE3MSwgMjUxNzUsIDI1MTc5LCAKLSAgICAyNTE4MywgMjUxODksIDI1MTk1LCAyNTIwMSwgMjUyMDcsIDI1MjEzLCAyNTIxOSwgMjUyMjUsIDI1MjMyLCAyNTIzOCwgCi0gICAgMjUyNDMsIDI1MjQ4LCAyNTI1MywgMjUyNTgsIDI1MjYzLCAyNTI2OCwgMjUyNzMsIDI1Mjc4LCAyNTI4MywgMjUyODgsIAotICAgIDI1MjkzLCAyNTI5OCwgMjUzMDMsIDI1MzA4LCAyNTMxMywgMjUzMTgsIDI1MzIzLCAyNTMyOCwgMjUzMzMsIDI1MzM4LCAKLSAgICAyNTM0MywgMjUzNDgsIDI1MzUzLCAyNTM1OCwgMjUzNjMsIDI1MzY4LCAyNTM3MywgMjUzNzgsIDAsIDAsIDAsIDI1Mzg1LCAKLSAgICAyNTM5NSwgMjUzOTksIDI1NDA2LCAyNTQxMCwgMjU0MTQsIDI1NDE4LCAyNTQyNiwgMjU0MzAsIDI1NDM1LCAyNTQ0MCwgCi0gICAgMjU0NDUsIDI1NDQ5LCAyNTQ1NCwgMjU0NTksIDI1NDYyLCAyNTQ2NiwgMjU0NzAsIDI1NDc5LCAyNTQ4MywgMjU0ODcsIAotICAgIDI1NDkzLCAyNTQ5NywgMjU1MDEsIDI1NTA5LCAyNTUxMywgMjU1MjEsIDI1NTI3LCAyNTUzMywgMjU1MzksIDI1NTQ1LCAKLSAgICAyNTU1NCwgMjU1NTksIDI1NTYzLCAyNTU3MiwgMjU1NzUsIDI1NTgxLCAyNTU4NSwgMjU1OTEsIDI1NTk2LCAyNTYwMiwgCi0gICAgMjU2MTAsIDI1NjE2LCAyNTYyMSwgMjU2MjgsIDI1NjMzLCAyNTYzNywgMjU2NDEsIDI1NjUxLCAyNTY1NywgMjU2NjEsIAotICAgIDI1NjcxLCAyNTY3NywgMjU2ODEsIDI1Njg1LCAyNTY5MiwgMjU2OTksIDI1NzA0LCAyNTcwOSwgMjU3MTgsIDI1NzIyLCAKLSAgICAyNTcyNiwgMjU3MzAsIDI1NzM4LCAyNTc0NSwgMjU3NDksIDI1NzUzLCAyNTc1NywgMjU3NjEsIDI1NzY1LCAyNTc2OSwgCi0gICAgMjU3NzMsIDI1Nzc3LCAyNTc4MSwgMjU3ODUsIDI1Nzg5LCAyNTc5NCwgMjU3OTksIDI1ODA0LCAyNTgwOCwgMjU4MTIsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI1ODE2LCAyNTgyMCwgMjU4MjQsIDI1ODI4LCAKLSAgICAyNTgzMiwgMjU4MzcsIDI1ODQyLCAyNTg0NywgMjU4NTIsIDI1ODU2LCAyNTg2MCwgMjU4NjUsIDI1ODY5LCAwLCAyNTg3MywgCi0gICAgMjU4NzgsIDI1ODgzLCAyNTg4OCwgMjU4OTIsIDI1ODk3LCAyNTkwMiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMjU5MDcsIDI1OTExLCAyNTkxNSwgMjU5MTksIDI1OTIzLCAyNTkyOCwgMjU5MzMsIDI1OTM4LCAyNTk0MywgMjU5NDcsIAotICAgIDI1OTUxLCAyNTk1NiwgMjU5NjAsIDI1OTY0LCAyNTk2OCwgMjU5NzMsIDI1OTc4LCAyNTk4MywgMjU5ODcsIDI1OTkyLCAKLSAgICAyNTk5NywgMjYwMDIsIDI2MDA4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNjAxMywgMjYwMTcsIDI2MDIxLCAKLSAgICAyNjAyNSwgMjYwMjksIDI2MDM0LCAyNjAzOSwgMjYwNDQsIDI2MDQ5LCAyNjA1MywgMjYwNTcsIDI2MDYyLCAyNjA2NiwgCi0gICAgMjYwNzAsIDI2MDc0LCAyNjA3OSwgMjYwODQsIDI2MDg5LCAyNjA5MywgMjYwOTgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDI2MTAzLCAyNjEwNywgMjYxMTEsIDI2MTE1LCAyNjExOSwgMjYxMjQsIDI2MTI5LCAyNjEzNCwgCi0gICAgMjYxMzksIDI2MTQzLCAyNjE0NywgMjYxNTIsIDI2MTU2LCAwLCAyNjE2MCwgMjYxNjUsIDI2MTcwLCAwLCAyNjE3NSwgCi0gICAgMjYxODAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI2MTg1LCAyNjE4OCwgMjYxOTIsIDI2MTk2LCAKLSAgICAyNjIwMCwgMjYyMDQsIDI2MjA4LCAyNjIxMiwgMjYyMTYsIDI2MjIwLCAyNjIyNCwgMjYyMjgsIDI2MjMyLCAyNjIzNiwgCi0gICAgMjYyNDAsIDI2MjQ0LCAyNjI0OCwgMjYyNTIsIDI2MjU1LCAyNjI1OSwgMjYyNjMsIDI2MjY3LCAyNjI3MSwgMjYyNzUsIAotICAgIDI2Mjc5LCAyNjI4MywgMjYyODcsIDI2MjkxLCAyNjI5NSwgMjYyOTksIDI2MzAzLCAyNjMwNywgMjYzMTEsIDI2MzE0LCAKLSAgICAyNjMxOCwgMjYzMjIsIDI2MzI4LCAyNjMzNCwgMjYzNDAsIDI2MzQ2LCAyNjM1MiwgMjYzNTgsIDI2MzY0LCAyNjM3MCwgCi0gICAgMjYzNzYsIDI2MzgyLCAyNjM4OCwgMjYzOTQsIDI2NDAwLCAyNjQwNiwgMjY0MTUsIDI2NDI0LCAyNjQzMCwgMjY0MzYsIAotICAgIDI2NDQyLCAyNjQ0NywgMjY0NTEsIDI2NDU2LCAyNjQ2MSwgMjY0NjYsIDI2NDcwLCAyNjQ3NSwgMjY0ODAsIDI2NDg1LCAKLSAgICAyNjQ4OSwgMjY0OTQsIDI2NDk4LCAyNjUwMywgMjY1MDgsIDI2NTEzLCAyNjUxOCwgMjY1MjIsIDI2NTI2LCAyNjUzMCwgCi0gICAgMjY1MzQsIDI2NTM4LCAyNjU0MiwgMjY1NDYsIDI2NTUwLCAyNjU1NCwgMjY1NTgsIDI2NTY0LCAyNjU2OCwgMjY1NzIsIAotICAgIDI2NTc2LCAyNjU4MCwgMjY1ODQsIDI2NTkyLCAyNjU5OCwgMjY2MDIsIDI2NjA4LCAyNjYxMiwgMjY2MTgsIDI2NjIyLCAwLCAKLSAgICAwLCAyNjYyNiwgMjY2MzAsIDI2NjMzLCAyNjYzNiwgMjY2MzksIDI2NjQyLCAyNjY0NSwgMjY2NDgsIDI2NjUxLCAyNjY1NCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMjY2NTcsIDI2NjY1LCAyNjY3MywgMjY2ODEsIDI2Njg5LCAyNjY5NywgMjY3MDUsIDI2NzEzLCAKLSAgICAyNjcyMSwgMjY3MjksIDAsIDAsIDAsIDAsIDAsIDAsIDI2NzM3LCAyNjc0MCwgMjY3NDMsIDI2NzQ2LCAyNjc1MSwgMjY3NTQsIAotICAgIDI2NzU5LCAyNjc2NiwgMjY3NzQsIDI2Nzc5LCAyNjc4NiwgMjY3ODksIDI2Nzk2LCAyNjgwMywgMjY4MTAsIDAsIDI2ODE0LCAKLSAgICAyNjgxOCwgMjY4MjEsIDI2ODI0LCAyNjgyNywgMjY4MzAsIDI2ODMzLCAyNjgzNiwgMjY4MzksIDI2ODQyLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAyNjg0NSwgMjY4NDgsIDI2ODUxLCAyNjg1NCwgMjY4NTcsIDI2ODYwLCAyNjg2NCwgMjY4NjgsIDI2ODcyLCAKLSAgICAyNjg3NSwgMjY4NzksIDI2ODgzLCAyNjg4NiwgMjY4OTAsIDI2ODk0LCAyNjg5NywgMjY5MDEsIDI2OTA1LCAyNjkwOSwgCi0gICAgMjY5MTMsIDI2OTE3LCAyNjkyMSwgMjY5MjUsIDI2OTI4LCAyNjkzMSwgMjY5MzUsIDI2OTM5LCAyNjk0MiwgMjY5NDYsIAotICAgIDI2OTUwLCAyNjk1NCwgMjY5NTgsIDI2OTYyLCAyNjk2NiwgMjY5NzAsIDI2OTc0LCAyNjk4MSwgMjY5ODYsIDI2OTkxLCAKLSAgICAyNjk5NiwgMjcwMDEsIDI3MDA3LCAyNzAxMywgMjcwMTksIDI3MDI1LCAyNzAzMCwgMjcwMzYsIDI3MDQyLCAyNzA0NywgCi0gICAgMjcwNTMsIDI3MDU5LCAyNzA2NSwgMjcwNzEsIDI3MDc3LCAyNzA4MiwgMjcwODgsIDI3MDkzLCAyNzA5OSwgMjcxMDUsIAotICAgIDI3MTExLCAyNzExNywgMjcxMjMsIDI3MTI4LCAyNzEzMywgMjcxMzksIDI3MTQ1LCAyNzE1MCwgMjcxNTYsIDI3MTYxLCAKLSAgICAyNzE2NywgMjcxNzIsIDI3MTc3LCAyNzE4MywgMjcxODksIDI3MTk1LCAyNzIwMSwgMjcyMDcsIDI3MjEzLCAyNzIxOSwgCi0gICAgMjcyMjUsIDI3MjMxLCAyNzIzNywgMjcyNDMsIDI3MjQ5LCAyNzI1NCwgMjcyNTksIDI3MjY0LCAyNzI3MCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMjcyNzYsIDI3Mjg1LCAyNzI5NCwgMjczMDIsIDI3MzEwLCAyNzMyMCwgMjczMjgsIDI3MzM3LCAKLSAgICAyNzM0NCwgMjczNTEsIDI3MzU4LCAyNzM2NiwgMjczNzQsIDI3MzgyLCAyNzM5MCwgMjczOTgsIDI3NDA2LCAyNzQxNCwgCi0gICAgMjc0MjIsIDI3NDI5LCAyNzQzNywgMjc0NDUsIDI3NDUzLCAyNzQ2MSwgMjc0NjksIDI3NDc5LCAyNzQ4OSwgMjc0OTksIAotICAgIDI3NTA5LCAyNzUxOSwgMjc1MjksIDI3NTM5LCAyNzU0OSwgMjc1NTksIDI3NTY5LCAyNzU3OSwgMjc1ODksIDI3NTk5LCAKLSAgICAyNzYwOSwgMjc2MTcsIDI3NjI1LCAyNzYzNSwgMjc2NDMsIDAsIDAsIDAsIDAsIDAsIDI3NjUzLCAyNzY1NywgMjc2NjEsIAotICAgIDI3NjY1LCAyNzY2OSwgMjc2NzMsIDI3Njc3LCAyNzY4MSwgMjc2ODUsIDI3Njg5LCAyNzY5MywgMjc2OTcsIDI3NzAxLCAKLSAgICAyNzcwNSwgMjc3MDksIDI3NzEzLCAyNzcxNywgMjc3MjEsIDI3NzI1LCAyNzcyOSwgMjc3MzMsIDI3NzM3LCAyNzc0MSwgCi0gICAgMjc3NDUsIDI3NzUxLCAyNzc1NSwgMjc3NjEsIDI3NzY1LCAyNzc3MSwgMjc3NzUsIDI3NzgxLCAyNzc4NSwgMjc3ODksIAotICAgIDI3NzkzLCAyNzc5NywgMjc4MDEsIDI3ODA1LCAyNzgxMSwgMjc4MTcsIDI3ODIzLCAyNzgyOSwgMjc4MzQsIDI3ODM5LCAKLSAgICAyNzg0NCwgMjc4NTAsIDI3ODU2LCAyNzg2MiwgMjc4NjgsIDI3ODc1LCAyNzg4MSwgMjc4ODYsIDI3ODkxLCAyNzg5NSwgCi0gICAgMjc4OTksIDI3OTAzLCAyNzkwNywgMjc5MTEsIDI3OTE1LCAyNzkxOSwgMjc5MjUsIDI3OTMxLCAyNzkzNywgMjc5NDIsIAotICAgIDI3OTQ5LCAyNzk1NCwgMjc5NTksIDI3OTY1LCAyNzk3MCwgMjc5NzcsIDI3OTg0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAyNzk5MCwgMjc5OTUsIDI3OTk4LCAyODAwMiwgMjgwMDYsIDI4MDEwLCAyODAxNCwgMjgwMTgsIDI4MDIyLCAKLSAgICAyODAyNiwgMjgwMzAsIDI4MDM0LCAyODAzOCwgMjgwNDIsIDI4MDQ2LCAyODA1MCwgMjgwNTMsIDI4MDU2LCAyODA2MCwgCi0gICAgMjgwNjQsIDI4MDY4LCAyODA3MSwgMjgwNzQsIDI4MDc3LCAyODA4MSwgMjgwODUsIDI4MDg5LCAyODA5MywgMjgwOTcsIDAsIAotICAgIDAsIDAsIDI4MTAwLCAyODEwNCwgMjgxMDgsIDI4MTEyLCAyODExNywgMjgxMjIsIDI4MTI3LCAyODEzMiwgMjgxMzYsIAotICAgIDI4MTQwLCAyODE0NSwgMjgxNTAsIDAsIDAsIDAsIDAsIDI4MTU2LCAyODE2MCwgMjgxNjUsIDI4MTcwLCAyODE3NSwgCi0gICAgMjgxNzksIDI4MTgzLCAyODE4NywgMjgxOTEsIDI4MTk2LCAyODIwMCwgMjgyMDQsIDAsIDAsIDAsIDAsIDI4MjA4LCAwLCAwLCAKLSAgICAwLCAyODIxMiwgMjgyMTYsIDI4MjIwLCAyODIyNCwgMjgyMjcsIDI4MjMwLCAyODIzMywgMjgyMzYsIDI4MjM5LCAyODI0MiwgCi0gICAgMjgyNDUsIDI4MjQ4LCAyODI1MSwgMjgyNTYsIDI4MjYyLCAyODI2OCwgMjgyNzQsIDI4MjgwLCAyODI4NSwgMjgyOTEsIAotICAgIDI4Mjk3LCAyODMwMywgMjgzMDgsIDI4MzE0LCAyODMxOSwgMjgzMjUsIDI4MzMxLCAyODMzNiwgMjgzNDIsIDI4MzQ4LCAKLSAgICAyODM1NCwgMjgzNTksIDI4MzY0LCAyODM2OSwgMjgzNzUsIDI4MzgxLCAyODM4NiwgMjgzOTIsIDI4Mzk3LCAyODQwMywgCi0gICAgMjg0MDgsIDI4NDE0LCAwLCAwLCAyODQyMCwgMjg0MjYsIDI4NDMyLCAyODQzOCwgMjg0NDQsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDI4NDUwLCAyODQ1NywgMjg0NjQsIDI4NDcwLCAyODQ3NywgMjg0ODQsIDI4NDkwLCAyODQ5NywgCi0gICAgMjg1MDQsIDI4NTExLCAyODUxOCwgMjg1MjQsIDI4NTMxLCAyODUzOCwgMjg1NDQsIDI4NTUxLCAyODU1OCwgMjg1NjQsIAotICAgIDI4NTcxLCAyODU3OCwgMjg1ODQsIDI4NTkwLCAyODU5NywgMjg2MDMsIDI4NjA5LCAyODYxNiwgMjg2MjIsIDI4NjI5LCAKLSAgICAyODYzNiwgMjg2NDMsIDI4NjUwLCAyODY1NywgMjg2NjQsIDI4NjcwLCAyODY3NywgMjg2ODQsIDI4NjkwLCAyODY5NywgCi0gICAgMjg3MDQsIDI4NzExLCAyODcxOCwgMjg3MjUsIDI4NzMyLCAyODczOSwgMCwgMCwgMCwgMCwgMjg3NDYsIDI4NzU0LCAKLSAgICAyODc2MSwgMjg3NjgsIDI4Nzc0LCAyODc4MSwgMjg3ODcsIDI4Nzk0LCAyODgwMCwgMjg4MDcsIDI4ODE0LCAyODgyMSwgCi0gICAgMjg4MjgsIDI4ODM1LCAyODg0MiwgMjg4NDksIDI4ODU2LCAyODg2MywgMjg4NzAsIDI4ODc3LCAyODg4MywgMjg4ODksIAotICAgIDI4ODk2LCAyODkwMywgMjg5MTAsIDI4OTE2LCAwLCAwLCAwLCAwLCAwLCAwLCAyODkyMiwgMjg5MjgsIDI4OTMzLCAyODkzOCwgCi0gICAgMjg5NDMsIDI4OTQ4LCAyODk1MywgMjg5NTgsIDI4OTYzLCAyODk2OCwgMjg5NzMsIDAsIDAsIDAsIDI4OTc5LCAyODk4NSwgCi0gICAgMjg5OTEsIDI4OTk1LCAyOTAwMSwgMjkwMDcsIDI5MDEzLCAyOTAxOSwgMjkwMjUsIDI5MDMxLCAyOTAzNywgMjkwNDMsIAotICAgIDI5MDQ5LCAyOTA1NSwgMjkwNjEsIDI5MDY3LCAyOTA3MywgMjkwNzksIDI5MDg1LCAyOTA4OSwgMjkwOTUsIDI5MTAxLCAKLSAgICAyOTEwNywgMjkxMTMsIDI5MTE5LCAyOTEyNSwgMjkxMzEsIDI5MTM3LCAyOTE0MywgMjkxNDksIDI5MTU1LCAyOTE2MSwgCi0gICAgMjkxNjcsIDI5MTczLCAyOTE3OSwgMjkxODMsIDI5MTg4LCAyOTE5MywgMjkxOTgsIDI5MjAyLCAyOTIwNywgMjkyMTEsIAotICAgIDI5MjE2LCAyOTIyMSwgMjkyMjYsIDI5MjMwLCAyOTIzNSwgMjkyNDAsIDI5MjQ1LCAyOTI1MCwgMjkyNTUsIDI5MjU5LCAKLSAgICAyOTI2MywgMjkyNjgsIDI5MjczLCAyOTI3OCwgMjkyODIsIDI5Mjg2LCAyOTI5MSwgMjkyOTYsIDI5MzAxLCAyOTMwNiwgMCwgCi0gICAgMCwgMjkzMTIsIDI5MzE2LCAyOTMyMywgMjkzMjgsIDI5MzM0LCAyOTM0MCwgMjkzNDUsIDI5MzUxLCAyOTM1NywgMjkzNjIsIAotICAgIDI5MzY4LCAyOTM3NCwgMjkzODAsIDI5Mzg2LCAyOTM5MiwgMjkzOTcsIDI5NDAyLCAyOTQwOCwgMjk0MTMsIDI5NDE5LCAKLSAgICAyOTQyNCwgMjk0MzAsIDI5NDM2LCAyOTQ0MiwgMjk0NDgsIDI5NDUyLCAyOTQ1NywgMjk0NjIsIDI5NDY4LCAyOTQ3NCwgCi0gICAgMjk0NzksIDI5NDg1LCAyOTQ5MSwgMjk0OTUsIDI5NTAwLCAyOTUwNSwgMjk1MDksIDI5NTE0LCAyOTUxOSwgMjk1MjQsIAotICAgIDI5NTI5LCAyOTUzNSwgMjk1NDEsIDI5NTQ3LCAyOTU1MiwgMjk1NTcsIDI5NTYxLCAyOTU2NiwgMjk1NzAsIDI5NTc1LCAKLSAgICAyOTU3OSwgMjk1ODQsIDI5NTg5LCAyOTU5NCwgMjk1OTksIDI5NjA2LCAyOTYxMywgMjk2MjEsIDI5NjMyLCAyOTY0MSwgCi0gICAgMjk2NDksIDI5NjU2LCAyOTY2NywgMjk2NzMsIDI5NjgwLCAwLCAyOTY4NywgMjk2OTIsIDI5Njk3LCAyOTcwNSwgMjk3MTEsIAotICAgIDI5NzE5LCAyOTcyNCwgMjk3MzAsIDI5NzM2LCAyOTc0MiwgMjk3NDcsIDI5NzUzLCAyOTc1OCwgMjk3NjUsIDI5NzcxLCAKLSAgICAyOTc3NiwgMjk3ODIsIDI5Nzg4LCAyOTc5NCwgMjk4MDEsIDI5ODA4LCAyOTgxNSwgMjk4MjAsIDI5ODI1LCAyOTgzMiwgCi0gICAgMjk4MzksIDI5ODQ2LCAyOTg1MywgMjk4NjAsIDAsIDAsIDI5ODY3LCAyOTg3NCwgMjk4ODEsIDI5ODg3LCAyOTg5MywgCi0gICAgMjk4OTksIDI5OTA1LCAyOTkxMSwgMjk5MTcsIDI5OTIzLCAyOTkyOSwgMCwgMCwgMCwgMCwgMCwgMCwgMjk5MzUsIDI5OTQxLCAKLSAgICAyOTk0NiwgMjk5NTEsIDI5OTU2LCAyOTk2MSwgMjk5NjYsIDI5OTcxLCAyOTk3NiwgMjk5ODEsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDI5OTg2LCAyOTk5MSwgMjk5OTYsIDMwMDAxLCAzMDAwNiwgMzAwMTEsIDMwMDE2LCAzMDAyNSwgMzAwMzIsIDMwMDM3LCAKLSAgICAzMDA0MiwgMzAwNDcsIDMwMDUyLCAzMDA1NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzAwNjIsIDMwMDY4LCAKLSAgICAzMDA3NCwgMzAwNzgsIDMwMDgyLCAzMDA4NiwgMzAwOTAsIDMwMDk2LCAzMDEwMCwgMzAxMDYsIDMwMTEwLCAzMDExNiwgCi0gICAgMzAxMjIsIDMwMTMwLCAzMDEzNiwgMzAxNDQsIDMwMTQ4LCAzMDE1MiwgMzAxNTYsIDMwMTYyLCAzMDE2NSwgMzAxNzEsIAotICAgIDMwMTc1LCAzMDE4MSwgMzAxODUsIDMwMTg5LCAzMDE5NSwgMzAxOTksIDMwMjA1LCAzMDIwOSwgMzAyMTUsIDMwMjIzLCAKLSAgICAzMDIzMSwgMzAyMzksIDMwMjQ1LCAzMDI0OSwgMzAyNTUsIDMwMjU5LCAzMDI2NSwgMzAyNjgsIDMwMjcxLCAzMDI3NywgCi0gICAgMzAyODEsIDMwMjg3LCAzMDI5MCwgMzAyOTMsIDMwMjk2LCAzMDMwMCwgMzAzMDQsIDMwMzEwLCAzMDMxNiwgMzAzMjAsIAotICAgIDMwMzIzLCAzMDMyNywgMzAzMzIsIDMwMzM3LCAzMDM0NCwgMzAzNDksIDMwMzU2LCAzMDM2MywgMzAzNzIsIDMwMzc5LCAKLSAgICAzMDM4OCwgMzAzOTMsIDMwNDAwLCAzMDQwNywgMzA0MTYsIDMwNDIxLCAzMDQyOCwgMzA0MzMsIDMwNDM5LCAzMDQ0NSwgCi0gICAgMzA0NTEsIDMwNDU3LCAzMDQ2MywgMzA0NjksIDAsIDAsIDAsIDAsIDMwNDc1LCAzMDQ3OSwgMzA0ODIsIDMwNDg1LCAKLSAgICAzMDQ4OCwgMzA0OTEsIDMwNDk0LCAzMDQ5NywgMzA1MDAsIDMwNTAzLCAzMDUwNiwgMzA1MDksIDMwNTEyLCAzMDUxNSwgCi0gICAgMzA1MjAsIDMwNTI1LCAzMDUzMCwgMzA1MzMsIDMwNTM4LCAzMDU0MywgMzA1NDgsIDMwNTUzLCAzMDU2MCwgMzA1NjUsIAotICAgIDMwNTcwLCAzMDU3NSwgMzA1ODAsIDMwNTg3LCAzMDU5MywgMzA1OTksIDMwNjA1LCAzMDYxMSwgMzA2MTcsIDMwNjI2LCAKLSAgICAzMDYzNSwgMzA2NDEsIDMwNjQ3LCAzMDY1NiwgMzA2NjUsIDMwNjc0LCAzMDY4MywgMzA2OTIsIDMwNzAxLCAzMDcxMCwgCi0gICAgMzA3MTksIDAsIDAsIDAsIDMwNzI4LCAzMDczMywgMzA3MzgsIDMwNzQzLCAzMDc0NywgMzA3NTEsIDMwNzU1LCAzMDc2MCwgCi0gICAgMzA3NjQsIDMwNzY4LCAzMDc3MywgMzA3NzcsIDMwNzgyLCAzMDc4NywgMzA3OTIsIDMwNzk3LCAzMDgwMiwgMzA4MDcsIAotICAgIDMwODEyLCAzMDgxNywgMzA4MjIsIDMwODI2LCAzMDgzMCwgMzA4MzUsIDMwODQwLCAzMDg0NSwgMzA4NDksIDMwODUzLCAKLSAgICAzMDg1NywgMzA4NjIsIDMwODY3LCAzMDg3MiwgMzA4NzcsIDMwODgxLCAzMDg4OCwgMzA4OTUsIDMwOTAyLCAzMDkwOCwgCi0gICAgMzA5MTQsIDMwOTIwLCAzMDkyNiwgMzA5MzIsIDMwOTM4LCAwLCAwLCAwLCAzMDk0MywgMzA5NDgsIDMwOTUzLCAzMDk1OCwgCi0gICAgMzA5NjIsIDMwOTY2LCAzMDk3MCwgMzA5NzQsIDMwOTc4LCAzMDk4MiwgMzA5ODYsIDMwOTkwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAzMDk5NCwgMzA5OTgsIDMxMDA0LCAzMTAwOCwgMzEwMTQsIDMxMDIwLCAzMTAyNSwgMzEwMzIsIDMxMDM2LCAzMTA0MiwgCi0gICAgMzEwNDYsIDMxMDUyLCAzMTA1NywgMzEwNjQsIDMxMDcxLCAzMTA3NiwgMzEwODMsIDMxMDg4LCAzMTA5MywgMzEwOTcsIAotICAgIDMxMTAzLCAzMTEwNywgMzExMTMsIDMxMTIwLCAzMTEyNywgMzExMzIsIDMxMTM5LCAzMTE0NiwgMzExNTAsIDMxMTU2LCAKLSAgICAzMTE2MSwgMzExNjYsIDMxMTczLCAzMTE3OCwgMzExODMsIDMxMTg4LCAzMTE5MywgMzExOTcsIDMxMjAxLCAzMTIwNiwgCi0gICAgMzEyMTEsIDMxMjE4LCAzMTIyNCwgMzEyMjksIDMxMjM2LCAzMTI0MSwgMzEyNDgsIDMxMjUzLCAzMTI2MywgMzEyNzAsIAotICAgIDMxMjc3LCAzMTI4MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzEyODUsIDMxMjk0LCAzMTMwMSwgMzEzMDgsIDMxMzE1LCAKLSAgICAzMTMxOCwgMzEzMjIsIDMxMzI2LCAzMTMzMCwgMzEzMzQsIDMxMzM4LCAzMTM0MiwgMzEzNDYsIDMxMzUwLCAzMTM1NCwgCi0gICAgMzEzNTgsIDMxMzYyLCAzMTM2NiwgMzEzNjksIDMxMzcyLCAzMTM3NiwgMzEzODAsIDMxMzg0LCAzMTM4OCwgMzEzOTIsIAotICAgIDMxMzk2LCAzMTM5OSwgMzE0MDMsIDMxNDA3LCAzMTQxMSwgMzE0MTUsIDMxNDE4LCAzMTQyMSwgMzE0MjUsIDMxNDI4LCAKLSAgICAzMTQzMiwgMzE0MzYsIDMxNDQwLCAzMTQ0NCwgMzE0NDgsIDMxNDUxLCAzMTQ1NiwgMzE0NjEsIDMxNDY2LCAzMTQ3MCwgCi0gICAgMzE0NzQsIDMxNDc5LCAzMTQ4MywgMzE0ODgsIDMxNDkyLCAzMTQ5OCwgMzE1MDMsIDMxNTA4LCAzMTUxMywgMzE1MTksIAotICAgIDMxNTI0LCAzMTUzMCwgMzE1MzYsIDMxNTQyLCAzMTU0NiwgMCwgMCwgMCwgMzE1NTAsIDMxNTU1LCAzMTU2NCwgMzE1NjksIAotICAgIDMxNTc2LCAzMTU4MSwgMzE1ODUsIDMxNTg4LCAzMTU5MSwgMzE1OTQsIDMxNTk3LCAzMTYwMCwgMzE2MDMsIDMxNjA2LCAKLSAgICAzMTYwOSwgMCwgMCwgMCwgMzE2MTIsIDMxNjE2LCAzMTYyMCwgMzE2MjQsIDMxNjMxLCAzMTYzNywgMzE2NDMsIDMxNjQ5LCAKLSAgICAzMTY1NSwgMzE2NjEsIDMxNjY3LCAzMTY3MywgMzE2NzksIDMxNjg1LCAzMTY5MiwgMzE2OTksIDMxNzA2LCAzMTcxMywgCi0gICAgMzE3MjAsIDMxNzI3LCAzMTczNCwgMzE3NDEsIDMxNzQ4LCAzMTc1NSwgMzE3NjIsIDMxNzY5LCAzMTc3NiwgMzE3ODMsIAotICAgIDMxNzkwLCAzMTc5NywgMzE4MDQsIDMxODExLCAzMTgxOCwgMzE4MjUsIDMxODMyLCAzMTgzOSwgMzE4NDYsIDMxODUzLCAKLSAgICAzMTg2MCwgMzE4NjcsIDMxODc0LCAzMTg4MSwgMzE4ODgsIDMxODk1LCAzMTkwMywgMzE5MTEsIDMxOTE5LCAzMTkyNSwgCi0gICAgMzE5MzEsIDMxOTM3LCAzMTk0NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzE5NTQsIDMxOTU5LCAzMTk2NCwgMzE5NjksIAotICAgIDMxOTc0LCAzMTk4MywgMzE5OTQsIDMyMDAzLCAzMjAxNCwgMzIwMjAsIDMyMDMzLCAzMjAzOSwgMzIwNDYsIDMyMDUzLCAKLSAgICAzMjA1OCwgMzIwNjQsIDMyMDcwLCAzMjA4MSwgMzIwOTAsIDMyMDk3LCAzMjEwNCwgMzIxMTMsIDMyMTIwLCAzMjEyOSwgCi0gICAgMzIxMzksIDMyMTQ5LCAzMjE1NiwgMzIxNjMsIDMyMTcwLCAzMjE4MCwgMzIxODUsIDMyMTkzLCAzMjE5OSwgMzIyMDcsIAotICAgIDMyMjE2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMjIyMSwgMzIyMjYsIDMyMjMyLCAzMjIzOSwgCi0gICAgMzIyNDcsIDMyMjUzLCAzMjI1OSwgMzIyNjUsIDMyMjcwLCAzMjI3OCwgMzIyODQsIDMyMjkwLCAzMjI5NiwgMzIzMDQsIAotICAgIDMyMzA5LCAzMjMxNiwgMzIzMjEsIDMyMzI4LCAzMjMzNCwgMzIzNDIsIDMyMzUwLCAzMjM1NywgMzIzNjMsIDMyMzcwLCAKLSAgICAzMjM3NywgMzIzODMsIDMyMzkwLCAzMjM5NywgMzI0MDMsIDMyNDA4LCAzMjQxNCwgMzI0MjIsIDMyNDMwLCAzMjQzNiwgCi0gICAgMzI0NDIsIDMyNDQ4LCAzMjQ1NCwgMzI0NjIsIDMyNDY2LCAzMjQ3MiwgMzI0NzgsIDMyNDg0LCAzMjQ5MCwgMzI0OTYsIAotICAgIDMyNTAyLCAzMjUwNiwgMzI1MTEsIDMyNTE2LCAzMjUyMywgMzI1MjgsIDMyNTMyLCAzMjUzOCwgMzI1NDMsIDMyNTQ4LCAKLSAgICAzMjU1MiwgMzI1NTcsIDMyNTYyLCAzMjU2NiwgMzI1NzAsIDMyNTc0LCAzMjU4MCwgMzI1ODQsIDMyNTg5LCAzMjU5NCwgCi0gICAgMzI1OTgsIDMyNjAzLCAzMjYwNywgMzI2MTIsIDMyNjE2LCAzMjYyMiwgMzI2MjcsIDMyNjM0LCAzMjYzOSwgMzI2NDQsIAotICAgIDMyNjQ4LCAzMjY1MywgMzI2NTksIDMyNjY3LCAzMjY3MiwgMzI2NzgsIDMyNjgzLCAzMjY4NywgMzI2OTIsIDMyNjk2LCAKLSAgICAzMjcwMiwgMzI3MDksIDMyNzE2LCAzMjcyMSwgMzI3MjYsIDMyNzMwLCAzMjczNiwgMzI3NDIsIDMyNzQ3LCAzMjc1MiwgCi0gICAgMzI3NTcsIDMyNzYzLCAzMjc2OCwgMzI3NzQsIDMyNzc5LCAzMjc4NSwgMzI3OTEsIDMyNzk3LCAzMjgwNCwgMzI4MTEsIAotICAgIDMyODE4LCAzMjgyNSwgMzI4MzIsIDMyODM5LCAzMjg0NCwgMzI4NTMsIDMyODYzLCAzMjg3MywgMzI4ODMsIDMyODkzLCAKLSAgICAzMjkwMywgMzI5MTMsIDMyOTI2LCAzMjkzNiwgMzI5NDYsIDMyOTU2LCAzMjk2MywgMzI5NjgsIDMyOTc1LCAzMjk4MywgCi0gICAgMzI5OTEsIDMyOTk4LCAzMzAwNSwgMzMwMTIsIDMzMDE5LCAzMzAyNywgMzMwMzYsIDMzMDQ1LCAzMzA1NCwgMzMwNjMsIAotICAgIDMzMDcyLCAzMzA4MSwgMzMwOTAsIDMzMDk5LCAzMzEwOCwgMzMxMTcsIDMzMTI2LCAzMzEzNSwgMzMxNDQsIDMzMTUzLCAKLSAgICAzMzE2MSwgMzMxNzAsIDMzMTgxLCAzMzE4OSwgMzMxOTksIDMzMjExLCAzMzIyMCwgMzMyMjksIDMzMjM5LCAzMzI0OCwgCi0gICAgMzMyNTYsIDMzMjY1LCAzMzI3MiwgMzMyNzcsIDMzMjg1LCAzMzI5MCwgMzMyOTgsIDMzMzAzLCAzMzMxMiwgMzMzMTgsIAotICAgIDMzMzI1LCAzMzMzMiwgMzMzMzcsIDMzMzQyLCAzMzM1MCwgMzMzNTgsIDMzMzY3LCAzMzM3NiwgMzMzODEsIDMzMzg4LCAKLSAgICAzMzM5OSwgMzM0MDcsIDMzNDE2LCAzMzQyMSwgMzM0MjcsIDMzNDMyLCAzMzQzOSwgMzM0NDQsIDMzNDUzLCAzMzQ1OCwgCi0gICAgMzM0NjMsIDMzNDY4LCAzMzQ3NSwgMzM0ODIsIDMzNDg3LCAzMzQ5NiwgMzM1MDQsIDMzNTA5LCAzMzUxNCwgMzM1MjEsIAotICAgIDMzNTI4LCAzMzUzMiwgMzM1MzYsIDMzNTM5LCAzMzU0MiwgMzM1NDUsIDMzNTQ4LCAzMzU1MSwgMzM1NTQsIDMzNTYxLCAKLSAgICAzMzU2NCwgMzM1NjcsIDMzNTcyLCAzMzU3NiwgMzM1ODAsIDMzNTg0LCAzMzU4OCwgMzM1OTIsIDMzNjAyLCAzMzYwOCwgCi0gICAgMzM2MTQsIDMzNjIwLCAzMzYyOCwgMzM2MzYsIDMzNjQyLCAzMzY0OCwgMzM2NTUsIDMzNjYxLCAzMzY2NiwgMzM2NzIsIAotICAgIDMzNjc4LCAzMzY4MywgMzM2ODksIDMzNjk1LCAzMzcwMywgMzM3MDgsIDMzNzE0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMzcyMCwgMzM3MjcsIDMzNzM0LCAzMzczOSwgMzM3NDgsIAotICAgIDMzNzU2LCAzMzc2NCwgMzM3NzEsIDMzNzc4LCAzMzc4NSwgMzM3OTIsIDMzODAwLCAzMzgwOCwgMzM4MTgsIDMzODI4LCAKLSAgICAzMzgzNiwgMzM4NDQsIDMzODUyLCAzMzg2MCwgMzM4NjksIDMzODc4LCAzMzg4NiwgMzM4OTQsIDMzOTAzLCAzMzkxMiwgCi0gICAgMzM5MjIsIDMzOTMyLCAzMzk0MSwgMzM5NTAsIDMzOTU4LCAzMzk2NiwgMzM5NzQsIDMzOTgyLCAzMzk5MiwgMzQwMDIsIAotICAgIDM0MDEwLCAzNDAxOCwgMzQwMjYsIDM0MDM0LCAzNDA0MiwgMzQwNTAsIDM0MDU4LCAzNDA2NiwgMzQwNzQsIDM0MDgyLCAKLSAgICAzNDA5MCwgMzQwOTgsIDM0MTA3LCAzNDExNiwgMzQxMjUsIDM0MTM0LCAzNDE0NCwgMzQxNTQsIDM0MTYxLCAzNDE2OCwgCi0gICAgMzQxNzYsIDM0MTg0LCAzNDE5MywgMzQyMDIsIDM0MjEwLCAzNDIxOCwgMzQyMzAsIDM0MjQyLCAzNDI1MSwgMzQyNjAsIAotICAgIDM0MjY5LCAzNDI3OCwgMzQyODUsIDM0MjkyLCAzNDMwMCwgMzQzMDgsIDM0MzE2LCAzNDMyNCwgMzQzMzIsIDM0MzQwLCAKLSAgICAzNDM0OCwgMzQzNTYsIDM0MzY1LCAzNDM3NCwgMzQzODMsIDM0MzkyLCAzNDQwMSwgMzQ0MTAsIDM0NDIwLCAzNDQzMCwgCi0gICAgMzQ0NDAsIDM0NDUwLCAzNDQ1OSwgMzQ0NjgsIDM0NDc1LCAzNDQ4MiwgMzQ0OTAsIDM0NDk4LCAzNDUwNiwgMzQ1MTQsIAotICAgIDM0NTIyLCAzNDUzMCwgMzQ1NDIsIDM0NTU0LCAzNDU2MywgMzQ1NzIsIDM0NTgwLCAzNDU4OCwgMzQ1OTYsIDM0NjA0LCAKLSAgICAzNDYxNSwgMzQ2MjYsIDM0NjM3LCAzNDY0OCwgMzQ2NjAsIDM0NjcyLCAzNDY4MCwgMzQ2ODgsIDM0Njk2LCAzNDcwNCwgCi0gICAgMzQ3MTMsIDM0NzIyLCAzNDczMSwgMzQ3NDAsIDM0NzQ4LCAzNDc1NiwgMzQ3NjQsIDM0NzcyLCAzNDc4MCwgMzQ3ODgsIAotICAgIDM0Nzk3LCAzNDgwNiwgMzQ4MTYsIDM0ODI2LCAzNDgzNCwgMzQ4NDIsIDM0ODUwLCAzNDg1OCwgMzQ4NjYsIDM0ODc0LCAKLSAgICAzNDg4MSwgMzQ4ODgsIDM0ODk2LCAzNDkwNCwgMzQ5MTIsIDM0OTIwLCAzNDkyOCwgMzQ5MzYsIDM0OTQ0LCAzNDk1MiwgCi0gICAgMzQ5NjAsIDM0OTY4LCAzNDk3NiwgMzQ5ODQsIDM0OTkyLCAzNTAwMCwgMzUwMDgsIDM1MDE2LCAzNTAyNSwgMzUwMzQsIAotICAgIDM1MDQzLCAzNTA1MSwgMzUwNjAsIDM1MDY5LCAzNTA3OCwgMzUwODcsIDM1MDk3LCAzNTEwNiwgMzUxMTIsIDM1MTE3LCAKLSAgICAzNTEyNCwgMzUxMzEsIDM1MTM5LCAzNTE0NywgMzUxNTYsIDM1MTY1LCAzNTE3NSwgMzUxODUsIDM1MTk2LCAzNTIwNywgCi0gICAgMzUyMTcsIDM1MjI3LCAzNTIzNywgMzUyNDcsIDM1MjU2LCAzNTI2NSwgMzUyNzUsIDM1Mjg1LCAzNTI5NiwgMzUzMDcsIAotICAgIDM1MzE3LCAzNTMyNywgMzUzMzcsIDM1MzQ3LCAzNTM1NCwgMzUzNjEsIDM1MzY5LCAzNTM3NywgMzUzODQsIDM1MzkxLCAKLSAgICAzNTQwMCwgMzU0MDksIDM1NDE5LCAzNTQyOSwgMzU0NDAsIDM1NDUxLCAzNTQ2MSwgMzU0NzEsIDM1NDgxLCAzNTQ5MSwgCi0gICAgMzU1MDAsIDM1NTA5LCAzNTUxNywgMzU1MjUsIDM1NTMyLCAzNTUzOSwgMzU1NDcsIDM1NTU1LCAzNTU2NCwgMzU1NzMsIAotICAgIDM1NTgzLCAzNTU5MywgMzU2MDQsIDM1NjE1LCAzNTYyNSwgMzU2MzUsIDM1NjQ1LCAzNTY1NSwgMzU2NjQsIDM1NjczLCAKLSAgICAzNTY4MywgMzU2OTMsIDM1NzA0LCAzNTcxNSwgMzU3MjUsIDM1NzM1LCAzNTc0NSwgMzU3NTUsIDM1NzYyLCAzNTc2OSwgCi0gICAgMzU3NzcsIDM1Nzg1LCAzNTc5NCwgMzU4MDMsIDM1ODEzLCAzNTgyMywgMzU4MzQsIDM1ODQ1LCAzNTg1NSwgMzU4NjUsIAotICAgIDM1ODc1LCAzNTg4NSwgMzU4OTMsIDM1OTAxLCAzNTkwOSwgMzU5MTcsIDM1OTI2LCAzNTkzNSwgMzU5NDMsIDM1OTUxLCAKLSAgICAzNTk1OCwgMzU5NjUsIDM1OTcyLCAzNTk3OSwgMzU5ODcsIDM1OTk1LCAzNjAwMywgMzYwMTEsIDM2MDIyLCAzNjAzMiwgCi0gICAgMzYwNDMsIDM2MDUzLCAzNjA2NCwgMzYwNzQsIDM2MDgyLCAzNjA5MCwgMzYxMDEsIDM2MTExLCAzNjEyMiwgMzYxMzIsIAotICAgIDM2MTQzLCAzNjE1MywgMzYxNjEsIDM2MTY5LCAzNjE4MCwgMzYxOTAsIDM2MjAxLCAwLCAwLCAzNjIxMSwgMzYyMTksIAotICAgIDM2MjI3LCAzNjIzOCwgMzYyNDgsIDM2MjU5LCAwLCAwLCAzNjI2OSwgMzYyNzcsIDM2Mjg1LCAzNjI5NiwgMzYzMDYsIAotICAgIDM2MzE3LCAzNjMyNywgMzYzMzgsIDM2MzQ4LCAzNjM1NiwgMzYzNjQsIDM2Mzc1LCAzNjM4NSwgMzYzOTYsIDM2NDA2LCAKLSAgICAzNjQxNywgMzY0MjcsIDM2NDM1LCAzNjQ0MywgMzY0NTQsIDM2NDY0LCAzNjQ3NSwgMzY0ODUsIDM2NDk2LCAzNjUwNiwgCi0gICAgMzY1MTQsIDM2NTIyLCAzNjUzMywgMzY1NDMsIDM2NTU0LCAzNjU2NCwgMzY1NzUsIDM2NTg1LCAzNjU5MywgMzY2MDEsIAotICAgIDM2NjEyLCAzNjYyMiwgMzY2MzMsIDAsIDAsIDM2NjQzLCAzNjY1MSwgMzY2NTksIDM2NjcwLCAzNjY4MCwgMzY2OTEsIDAsIAotICAgIDAsIDM2NzAxLCAzNjcwOSwgMzY3MTcsIDM2NzI4LCAzNjczOCwgMzY3NDksIDM2NzU5LCAzNjc3MCwgMCwgMzY3ODAsIDAsIAotICAgIDM2Nzg4LCAwLCAzNjc5OCwgMCwgMzY4MDgsIDM2ODE4LCAzNjgyNiwgMzY4MzQsIDM2ODQ1LCAzNjg1NSwgMzY4NjYsIAotICAgIDM2ODc2LCAzNjg4NywgMzY4OTcsIDM2OTA1LCAzNjkxMywgMzY5MjQsIDM2OTM0LCAzNjk0NSwgMzY5NTUsIDM2OTY2LCAKLSAgICAzNjk3NiwgMzY5ODQsIDM2OTkyLCAzNzAwMCwgMzcwMDgsIDM3MDE2LCAzNzAyNCwgMzcwMzIsIDM3MDQwLCAzNzA0OCwgCi0gICAgMzcwNTYsIDM3MDY0LCAzNzA3MiwgMzcwODAsIDAsIDAsIDM3MDg4LCAzNzA5OSwgMzcxMDksIDM3MTIzLCAzNzEzNiwgCi0gICAgMzcxNTAsIDM3MTYzLCAzNzE3NywgMzcxOTAsIDM3MjAxLCAzNzIxMSwgMzcyMjUsIDM3MjM4LCAzNzI1MiwgMzcyNjUsIAotICAgIDM3Mjc5LCAzNzI5MiwgMzczMDMsIDM3MzEzLCAzNzMyNywgMzczNDAsIDM3MzU0LCAzNzM2NywgMzczODEsIDM3Mzk0LCAKLSAgICAzNzQwNSwgMzc0MTUsIDM3NDI5LCAzNzQ0MiwgMzc0NTYsIDM3NDY5LCAzNzQ4MywgMzc0OTYsIDM3NTA3LCAzNzUxNywgCi0gICAgMzc1MzEsIDM3NTQ0LCAzNzU1OCwgMzc1NzEsIDM3NTg1LCAzNzU5OCwgMzc2MDksIDM3NjE5LCAzNzYzMywgMzc2NDYsIAotICAgIDM3NjYwLCAzNzY3MywgMzc2ODcsIDM3NzAwLCAzNzcwOCwgMzc3MTYsIDM3NzI3LCAzNzczNSwgMCwgMzc3NDYsIDM3NzU0LCAKLSAgICAzNzc2NSwgMzc3NzMsIDM3NzgxLCAzNzc4OSwgMzc3OTcsIDM3ODA1LCAzNzgwOCwgMzc4MTEsIDM3ODE0LCAzNzgxNywgCi0gICAgMzc4MjMsIDM3ODM0LCAzNzg0MiwgMCwgMzc4NTMsIDM3ODYxLCAzNzg3MiwgMzc4ODAsIDM3ODg4LCAzNzg5NiwgMzc5MDQsIAotICAgIDM3OTEyLCAzNzkxOCwgMzc5MjQsIDM3OTMwLCAzNzkzOCwgMzc5NDYsIDM3OTU3LCAwLCAwLCAzNzk2OCwgMzc5NzYsIAotICAgIDM3OTg3LCAzNzk5NSwgMzgwMDMsIDM4MDExLCAwLCAzODAxOSwgMzgwMjQsIDM4MDI5LCAzODAzNCwgMzgwNDIsIDM4MDUwLCAKLSAgICAzODA2MSwgMzgwNzIsIDM4MDgwLCAzODA4OCwgMzgwOTYsIDM4MTA3LCAzODExNSwgMzgxMjMsIDM4MTMxLCAzODEzOSwgCi0gICAgMzgxNDcsIDM4MTUzLCAzODE1OSwgMCwgMCwgMzgxNjIsIDM4MTczLCAzODE4MSwgMCwgMzgxOTIsIDM4MjAwLCAzODIxMSwgCi0gICAgMzgyMTksIDM4MjI3LCAzODIzNSwgMzgyNDMsIDM4MjUxLCAzODI1NCwgMCwgMzgyNTcsIDM4MjYxLCAzODI2NSwgMzgyNjksIAotICAgIDM4MjczLCAzODI3NywgMzgyODEsIDM4Mjg1LCAzODI4OSwgMzgyOTMsIDM4Mjk3LCAzODMwMSwgMzgzMDcsIDM4MzEzLCAKLSAgICAzODMxOSwgMzgzMjIsIDM4MzI1LCAzODMyNywgMzgzMzEsIDM4MzM1LCAzODMzOSwgMzgzNDMsIDM4MzQ1LCAzODM0OSwgCi0gICAgMzgzNTMsIDM4MzU5LCAzODM2NSwgMzgzNzIsIDM4Mzc5LCAzODM4NCwgMzgzODksIDM4Mzk1LCAzODQwMSwgMzg0MDMsIAotICAgIDM4NDA2LCAzODQwOCwgMzg0MTIsIDM4NDE2LCAzODQyMCwgMzg0MjMsIDM4NDI3LCAzODQzMSwgMzg0MzUsIDM4NDM5LCAKLSAgICAzODQ0MywgMzg0NDksIDM4NDUzLCAzODQ1NywgMzg0NjMsIDM4NDY4LCAzODQ3NSwgMzg0NzcsIDM4NDgwLCAzODQ4NCwgCi0gICAgMzg0ODgsIDM4NDkzLCAzODQ5OSwgMzg1MDEsIDM4NTEwLCAzODUxOSwgMzg1MjIsIDM4NTI2LCAzODUyOCwgMzg1MzAsIAotICAgIDM4NTMyLCAzODUzNSwgMzg1NDEsIDM4NTQzLCAzODU0NywgMzg1NTEsIDM4NTU4LCAzODU2NSwgMzg1NjksIDM4NTc0LCAKLSAgICAzODU3OSwgMzg1ODQsIDM4NTg5LCAzODU5MywgMzg1OTcsIDM4NjAwLCAzODYwNCwgMzg2MDgsIDM4NjE1LCAzODYyMCwgCi0gICAgMzg2MjQsIDM4NjI4LCAzODYzMywgMzg2MzcsIDM4NjQxLCAzODY0NiwgMzg2NTEsIDM4NjU1LCAzODY1OSwgMzg2NjMsIAotICAgIDM4NjY1LCAzODY3MCwgMzg2NzUsIDM4Njc5LCAzODY4MywgMzg2ODcsIDM4NjkxLCAwLCAwLCAwLCAwLCAwLCAzODY5NSwgCi0gICAgMzg3MDEsIDM4NzA3LCAzODcxNCwgMzg3MjEsIDM4NzI2LCAzODczMSwgMzg3MzUsIDAsIDAsIDM4NzQxLCAzODc0NCwgCi0gICAgMzg3NDcsIDM4NzUwLCAzODc1MywgMzg3NTYsIDM4NzU5LCAzODc2MywgMzg3NjcsIDM4NzcyLCAzODc3NywgMzg3ODIsIAotICAgIDM4Nzg4LCAzODc5MiwgMzg3OTUsIDM4Nzk4LCAzODgwMSwgMzg4MDQsIDM4ODA3LCAzODgxMCwgMzg4MTMsIDM4ODE2LCAKLSAgICAzODgxOSwgMzg4MjMsIDM4ODI3LCAzODgzMiwgMzg4MzcsIDAsIDM4ODQyLCAzODg0OCwgMzg4NTQsIDM4ODYwLCAzODg2NywgCi0gICAgMzg4NzQsIDM4ODgxLCAzODg4OCwgMzg4OTQsIDM4OTAwLCAzODkwNiwgMzg5MTMsIDM4OTE5LCAwLCAwLCAwLCAzODkyNiwgCi0gICAgMzg5MjksIDM4OTMyLCAzODkzNSwgMzg5NDAsIDM4OTQzLCAzODk0NiwgMzg5NDksIDM4OTUyLCAzODk1NSwgMzg5NTgsIAotICAgIDM4OTYyLCAzODk2NSwgMzg5NjgsIDM4OTcxLCAzODk3NCwgMzg5NzcsIDM4OTgyLCAzODk4NSwgMzg5ODgsIDM4OTkxLCAKLSAgICAzODk5NCwgMzg5OTcsIDM5MDAyLCAzOTAwNSwgMzkwMDgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM5MDEzLCAzOTAxOCwgMzkwMjMsIDM5MDMwLCAzOTAzOCwgMzkwNDMsIAotICAgIDM5MDQ4LCAzOTA1MiwgMzkwNTYsIDM5MDYxLCAzOTA2OCwgMzkwNzUsIDM5MDc5LCAzOTA4NCwgMzkwODksIDM5MDk0LCAKLSAgICAzOTA5OSwgMzkxMDYsIDM5MTExLCAzOTExNiwgMzkxMjEsIDM5MTMwLCAzOTEzNywgMzkxNDQsIDM5MTQ4LCAzOTE1MywgCi0gICAgMzkxNTksIDM5MTY0LCAzOTE3MSwgMzkxNzksIDM5MTg3LCAzOTE5MSwgMzkxOTUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM5MTk5LCAzOTIwMywgMzkyMTEsIDM5MjE1LCAzOTIxOSwgMzkyMjQsIDM5MjI4LCAKLSAgICAzOTIzMiwgMzkyMzYsIDM5MjM4LCAzOTI0MiwgMzkyNDYsIDM5MjUwLCAzOTI1NSwgMzkyNTksIDM5MjYzLCAzOTI3MSwgCi0gICAgMzkyNzQsIDM5Mjc4LCAzOTI4MSwgMzkyODQsIDM5MjkwLCAzOTI5MywgMzkyOTYsIDM5MzAyLCAzOTMwNiwgMzkzMTAsIAotICAgIDM5MzE0LCAzOTMxNywgMzkzMjEsIDM5MzI0LCAzOTMyOCwgMzkzMzAsIDM5MzMzLCAzOTMzNiwgMzkzNDAsIDM5MzQyLCAKLSAgICAzOTM0NiwgMzkzNDksIDM5MzUyLCAzOTM1NywgMzkzNjIsIDM5MzY5LCAzOTM3MiwgMzkzNzUsIDM5Mzc5LCAzOTM4NCwgCi0gICAgMzkzODcsIDM5MzkwLCAzOTM5MywgMzkzOTcsIDM5NDAyLCAzOTQwNSwgMzk0MDgsIDM5NDEwLCAzOTQxMywgMzk0MTYsIAotICAgIDM5NDE5LCAzOTQyMywgMzk0MjgsIDM5NDMxLCAzOTQzNSwgMzk0MzksIDM5NDQzLCAzOTQ0NywgMzk0NTIsIDM5NDU4LCAKLSAgICAzOTQ2MywgMzk0NjgsIDM5NDc0LCAzOTQ3OSwgMzk0ODQsIDM5NDg4LCAzOTQ5MiwgMzk0OTcsIDM5NTAxLCAzOTUwNSwgCi0gICAgMzk1MDgsIDM5NTEwLCAzOTUxNSwgMzk1MjEsIDM5NTI4LCAzOTUzNSwgMzk1NDIsIDM5NTQ5LCAzOTU1NiwgMzk1NjMsIAotICAgIDM5NTcwLCAzOTU3NywgMzk1ODUsIDM5NTkyLCAzOTYwMCwgMzk2MDcsIDM5NjE0LCAzOTYyMiwgMzk2MzAsIDM5NjM1LCAKLSAgICAzOTY0MCwgMzk2NDUsIDM5NjUwLCAzOTY1NSwgMzk2NjAsIDM5NjY1LCAzOTY3MCwgMzk2NzUsIDM5NjgwLCAzOTY4NiwgCi0gICAgMzk2OTIsIDM5Njk4LCAzOTcwNCwgMzk3MTEsIDM5NzE5LCAzOTcyNiwgMzk3MzIsIDM5NzM4LCAzOTc0NCwgMzk3NTAsIAotICAgIDM5NzU2LCAzOTc2MiwgMzk3NjgsIDM5Nzc0LCAzOTc4MCwgMzk3ODcsIDM5Nzk0LCAzOTgwMSwgMzk4MDgsIDM5ODE2LCAKLSAgICAzOTgyNSwgMzk4MzMsIDM5ODQ0LCAzOTg1MiwgMzk4NjAsIDM5ODY5LCAzOTg3NiwgMzk4ODUsIDM5ODk0LCAzOTkwMiwgCi0gICAgMzk5MTEsIDAsIDAsIDAsIDAsIDAsIDAsIDM5OTE5LCAzOTkyMSwgMzk5MjQsIDM5OTI2LCAzOTkyOSwgMzk5MzIsIDM5OTM1LCAKLSAgICAzOTk0MCwgMzk5NDUsIDM5OTUwLCAzOTk1NSwgMzk5NTksIDM5OTYzLCAzOTk2NywgMzk5NzEsIDM5OTc2LCAzOTk4MiwgCi0gICAgMzk5ODcsIDM5OTkzLCAzOTk5OCwgNDAwMDMsIDQwMDA4LCA0MDAxNCwgNDAwMTksIDQwMDI1LCA0MDAzMSwgNDAwMzUsIAotICAgIDQwMDM5LCA0MDA0NCwgNDAwNDksIDQwMDU0LCA0MDA1OSwgNDAwNjQsIDQwMDcyLCA0MDA4MCwgNDAwODgsIDQwMDk2LCAKLSAgICA0MDEwMywgNDAxMTEsIDQwMTE4LCA0MDEyNSwgNDAxMzQsIDQwMTQ2LCA0MDE1MywgNDAxNjAsIDQwMTY3LCA0MDE3NCwgCi0gICAgNDAxODIsIDQwMTkwLCA0MDE5NywgNDAyMDQsIDQwMjEyLCA0MDIyMCwgNDAyMjUsIDQwMjMzLCA0MDIzOCwgNDAyNDMsIAotICAgIDQwMjQ5LCA0MDI1NCwgNDAyNjAsIDQwMjY3LCA0MDI3NCwgNDAyNzksIDQwMjg1LCA0MDI5MCwgNDAyOTMsIDQwMjk3LCAKLSAgICA0MDMwMCwgNDAzMDQsIDQwMzA4LCA0MDMxMiwgNDAzMTgsIDQwMzI0LCA0MDMzMCwgNDAzMzYsIDQwMzQwLCA0MDM0NCwgCi0gICAgNDAzNDgsIDQwMzUyLCA0MDM1OCwgNDAzNjQsIDQwMzY4LCA0MDM3MywgNDAzNzcsIDQwMzgyLCA0MDM4NywgNDAzOTIsIAotICAgIDQwMzk1LCA0MDM5OSwgNDA0MDIsIDQwNDA2LCA0MDQxMywgNDA0MjEsIDQwNDMyLCA0MDQ0MywgNDA0NDgsIDQwNDU3LCAKLSAgICA0MDQ2NCwgNDA0NzMsIDQwNDgyLCA0MDQ4NiwgNDA0OTIsIDQwNTAwLCA0MDUwNCwgNDA1MDksIDQwNTE0LCA0MDUyMCwgCi0gICAgNDA1MjYsIDQwNTMyLCA0MDUzOSwgNDA1NDMsIDQwNTQ3LCA0MDU1MiwgNDA1NTUsIDQwNTU3LCA0MDU2MSwgNDA1NjUsIAotICAgIDQwNTczLCA0MDU3NywgNDA1NzksIDQwNTgxLCA0MDU4NSwgNDA1OTMsIDQwNTk4LCA0MDYwNCwgNDA2MTQsIDQwNjIxLCAKLSAgICA0MDYyNiwgNDA2MzAsIDQwNjM0LCA0MDYzOCwgNDA2NDEsIDQwNjQ0LCA0MDY0NywgNDA2NTEsIDQwNjU1LCA0MDY1OSwgCi0gICAgNDA2NjMsIDQwNjY3LCA0MDY3MCwgNDA2NzQsIDQwNjc4LCA0MDY4MSwgNDA2ODMsIDQwNjg2LCA0MDY4OCwgNDA2OTIsIAotICAgIDQwNjk2LCA0MDY5OCwgNDA3MDQsIDQwNzA3LCA0MDcxMiwgNDA3MTYsIDQwNzIwLCA0MDcyMiwgNDA3MjQsIDQwNzI2LCAKLSAgICA0MDcyOSwgNDA3MzMsIDQwNzM3LCA0MDc0MSwgNDA3NDUsIDQwNzQ5LCA0MDc1NSwgNDA3NjEsIDQwNzYzLCA0MDc2NSwgCi0gICAgNDA3NjcsIDQwNzY5LCA0MDc3MiwgNDA3NzQsIDQwNzc4LCA0MDc4MCwgNDA3ODQsIDQwNzg4LCA0MDc5MywgNDA3OTcsIAotICAgIDQwODAxLCA0MDgwNSwgNDA4MDksIDQwODEzLCA0MDgxOSwgNDA4MjMsIDQwODMzLCA0MDg0MywgNDA4NDcsIDQwODUzLCAKLSAgICA0MDg1OSwgNDA4NjMsIDQwODY3LCA0MDg3MCwgNDA4NzUsIDQwODc5LCA0MDg4NSwgNDA4ODksIDQwOTAxLCA0MDkwOSwgCi0gICAgNDA5MTMsIDQwOTE3LCA0MDkyMywgNDA5MjcsIDQwOTMwLCA0MDkzMiwgNDA5MzUsIDQwOTM5LCA0MDk0MywgNDA5NTAsIAotICAgIDQwOTU0LCA0MDk1OCwgNDA5NjIsIDQwOTY1LCA0MDk3MCwgNDA5NzUsIDQwOTgwLCA0MDk4NSwgNDA5OTAsIDQwOTk1LCAKLSAgICA0MTAwMywgNDEwMTEsIDQxMDE1LCA0MTAxOSwgNDEwMjEsIDQxMDI2LCA0MTAzMCwgNDEwMzQsIDQxMDQyLCA0MTA1MCwgCi0gICAgNDEwNTYsIDQxMDYyLCA0MTA3MSwgNDEwODAsIDQxMDg1LCA0MTA5MCwgNDEwOTgsIDQxMTA2LCA0MTEwOCwgNDExMTAsIAotICAgIDQxMTE1LCA0MTEyMCwgNDExMjYsIDQxMTMyLCA0MTEzOCwgNDExNDQsIDQxMTQ4LCA0MTE1MiwgNDExNTksIDQxMTY2LCAKLSAgICA0MTE3MiwgNDExNzgsIDQxMTg4LCA0MTE5OCwgNDEyMDYsIDQxMjE0LCA0MTIxNiwgNDEyMjAsIDQxMjI0LCA0MTIyOSwgCi0gICAgNDEyMzQsIDQxMjQxLCA0MTI0OCwgNDEyNTEsIDQxMjU0LCA0MTI1NywgNDEyNjAsIDQxMjYzLCA0MTI2OCwgNDEyNzIsIAotICAgIDQxMjc3LCA0MTI4MiwgNDEyODUsIDQxMjg4LCA0MTI5MSwgNDEyOTQsIDQxMjk3LCA0MTMwMSwgNDEzMDQsIDQxMzA3LCAKLSAgICA0MTMxMCwgNDEzMTMsIDQxMzE1LCA0MTMxNywgNDEzMTksIDQxMzIxLCA0MTMyOSwgNDEzMzcsIDQxMzQzLCA0MTM0NywgCi0gICAgNDEzNTMsIDQxMzYzLCA0MTM2OSwgNDEzNzUsIDQxMzgxLCA0MTM4OSwgNDEzOTcsIDQxNDA4LCA0MTQxMiwgNDE0MTYsIAotICAgIDQxNDE4LCA0MTQyNCwgNDE0MjYsIDQxNDI4LCA0MTQzMCwgNDE0MzIsIDQxNDM4LCA0MTQ0MSwgNDE0NDcsIDQxNDUzLCAKLSAgICA0MTQ1NywgNDE0NjEsIDQxNDY1LCA0MTQ2OCwgNDE0NzIsIDQxNDc2LCA0MTQ3OCwgNDE0ODcsIDQxNDk2LCA0MTUwMSwgCi0gICAgNDE1MDYsIDQxNTEyLCA0MTUxOCwgNDE1MjQsIDQxNTI3LCA0MTUzMCwgNDE1MzMsIDQxNTM2LCA0MTUzOCwgNDE1NDMsIAotICAgIDQxNTQ4LCA0MTU1MywgNDE1NTksIDQxNTY1LCA0MTU3MywgNDE1ODEsIDQxNTg3LCA0MTU5MywgNDE1OTksIDQxNjA1LCAKLSAgICA0MTYxNCwgNDE2MjMsIDQxNjMyLCA0MTY0MSwgNDE2NTAsIDQxNjU5LCA0MTY2OCwgNDE2NzcsIDQxNjg2LCA0MTY5NSwgCi0gICAgNDE3MDMsIDQxNzE1LCA0MTcyNSwgNDE3NDAsIDQxNzQzLCA0MTc0OCwgNDE3NTQsIDQxNzYwLCA0MTc2NywgNDE3ODEsIAotICAgIDQxNzk2LCA0MTgwMiwgNDE4MDgsIDQxODE1LCA0MTgyMSwgNDE4MjksIDQxODM1LCA0MTg0OCwgNDE4NjIsIDQxODY3LCAKLSAgICA0MTg3MywgNDE4ODAsIDQxODgzLCA0MTg4NiwgNDE4ODgsIDQxODkxLCA0MTg5NCwgNDE4OTYsIDQxODk4LCA0MTkwMiwgCi0gICAgNDE5MDUsIDQxOTA4LCA0MTkxMSwgNDE5MTQsIDQxOTE5LCA0MTkyNCwgNDE5MjksIDQxOTM0LCA0MTkzOSwgNDE5NDIsIAotICAgIDQxOTQ0LCA0MTk0NiwgNDE5NDgsIDQxOTUyLCA0MTk1NiwgNDE5NjAsIDQxOTY2LCA0MTk3MSwgNDE5NzMsIDQxOTc1LCAKLSAgICA0MTk4MCwgNDE5ODUsIDQxOTkwLCA0MTk5NSwgNDIwMDAsIDQyMDA1LCA0MjAwNywgNDIwMDksIDQyMDE4LCA0MjAyMiwgCi0gICAgNDIwMzAsIDQyMDM5LCA0MjA0MSwgNDIwNDYsIDQyMDUxLCA0MjA1OSwgNDIwNjMsIDQyMDY1LCA0MjA2OSwgNDIwNzEsIAotICAgIDQyMDc1LCA0MjA3OSwgNDIwODMsIDQyMDg1LCA0MjA4NywgNDIwODksIDQyMDk0LCA0MjEwMSwgNDIxMDgsIDQyMTE1LCAKLSAgICA0MjEyMiwgNDIxMjksIDQyMTM2LCA0MjE0MywgNDIxNTAsIDQyMTU2LCA0MjE2MiwgNDIxNjksIDQyMTc2LCA0MjE4MywgCi0gICAgNDIxOTAsIDQyMTk2LCA0MjIwMiwgNDIyMDksIDQyMjE2LCA0MjIyMywgNDIyMzEsIDQyMjM4LCA0MjI0NiwgNDIyNTMsIAotICAgIDQyMjYxLCA0MjI2OCwgNDIyNzYsIDQyMjg0LCA0MjI5MSwgNDIyOTksIDQyMzA2LCA0MjMxNCwgNDIzMjEsIDQyMzI5LCAKLSAgICA0MjMzNiwgNDIzNDMsIDQyMzUwLCA0MjM1NywgNDIzNjQsIDQyMzcyLCA0MjM3OSwgNDIzODYsIDQyMzkzLCA0MjQwMSwgCi0gICAgNDI0MDgsIDQyNDE1LCA0MjQyMiwgNDI0MjksIDQyNDM3LCA0MjQ0NSwgNDI0NTIsIDQyNDU5LCA0MjQ2NSwgNDI0NzIsIAotICAgIDQyNDc3LCA0MjQ4NCwgNDI0OTEsIDQyNTAwLCA0MjUwNywgNDI1MTUsIDQyNTIzLCA0MjUyOCwgNDI1MzMsIDQyNTM4LCAKLSAgICA0MjU0NSwgNDI1NTIsIDQyNTU5LCA0MjU2NiwgNDI1NzEsIDQyNTc2LCA0MjU4NSwgNDI1OTEsIDQyNTk0LCA0MjYwMiwgCi0gICAgNDI2MDUsIDQyNjEwLCA0MjYxNSwgNDI2MTgsIDQyNjIxLCA0MjYyOSwgNDI2MzIsIDQyNjM3LCA0MjY0MCwgNDI2NDcsIAotICAgIDQyNjUyLCA0MjY2MCwgNDI2NjMsIDQyNjY2LCA0MjY2OSwgNDI2NzQsIDQyNjc5LCA0MjY4MiwgNDI2ODUsIDQyNjkzLCAKLSAgICA0MjY5NiwgNDI3MDEsIDQyNzA4LCA0MjcxMiwgNDI3MTYsIDQyNzIxLCA0MjcyNiwgNDI3MzIsIDQyNzM3LCA0Mjc0MywgCi0gICAgNDI3NDksIDQyNzU0LCA0Mjc2MCwgNDI3NjgsIDQyNzc0LCA0Mjc4MiwgNDI3OTAsIDQyNzk2LCA0MjgwNCwgNDI4MTIsIAotICAgIDQyODIxLCA0MjgyOSwgNDI4MzUsIDQyODQzLCA0Mjg1MiwgNDI4NjAsIDQyODY0LCA0Mjg2OSwgNDI4ODIsIDQyODk1LCAKLSAgICA0Mjg5OSwgNDI5MDMsIDQyOTA3LCA0MjkxMSwgNDI5MjEsIDQyOTI1LCA0MjkzMCwgNDI5MzUsIDQyOTQwLCA0Mjk0NSwgCi0gICAgNDI5NTAsIDQyOTU1LCA0Mjk2NSwgNDI5NzUsIDQyOTgzLCA0Mjk5MywgNDMwMDMsIDQzMDExLCA0MzAyMSwgNDMwMzEsIAotICAgIDQzMDM5LCA0MzA0OSwgNDMwNTksIDQzMDY3LCA0MzA3NSwgNDMwODUsIDQzMDk1LCA0MzA5OCwgNDMxMDEsIDQzMTA0LCAKLSAgICA0MzEwOSwgNDMxMTMsIDQzMTE5LCA0MzEyNiwgNDMxMzMsIDQzMTQxLCA0MzE0OCwgNDMxNTIsIDQzMTU2LCA0MzE2MCwgCi0gICAgNDMxNjQsIDQzMTY2LCA0MzE3MCwgNDMxNzQsIDQzMTc5LCA0MzE4NCwgNDMxOTEsIDQzMTk4LCA0MzIwMSwgNDMyMDgsIAotICAgIDQzMjEwLCA0MzIxMiwgNDMyMTYsIDQzMjIwLCA0MzIyNSwgNDMyMzEsIDQzMjM3LCA0MzI0MywgNDMyNDksIDQzMjU4LCAKLSAgICA0MzI2NywgNDMyNzYsIDQzMjgwLCA0MzI4MiwgNDMyODYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDQzMjkzLCA0MzI5NywgNDMzMDQsIDQzMzExLCA0MzMxOCwgNDMzMjUsIDQzMzI5LCA0MzMzMywgNDMzMzcsIDQzMzQxLCAKLSAgICA0MzM0NiwgNDMzNTIsIDQzMzU3LCA0MzM2MywgNDMzNjksIDQzMzc1LCA0MzM4MSwgNDMzODksIDQzMzk2LCA0MzQwMywgCi0gICAgNDM0MTAsIDQzNDE3LCA0MzQyMiwgNDM0MjgsIDQzNDM3LCA0MzQ0MSwgNDM0NDgsIDQzNDUyLCA0MzQ1NiwgNDM0NjIsIAotICAgIDQzNDY4LCA0MzQ3NCwgNDM0ODAsIDQzNDg0LCA0MzQ4OCwgNDM0OTEsIDQzNDk1LCA0MzQ5OSwgNDM1MDYsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDQzNTEzLCAKLSAgICA0MzUxNiwgNDM1MjAsIDQzNTI0LCA0MzUzMCwgNDM1MzYsIDQzNTQyLCA0MzU1MCwgNDM1NTcsIDQzNTYxLCA0MzU2OSwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNDM1NzQsIDQzNTc3LCAKLSAgICA0MzU4MCwgNDM1ODMsIDQzNTg2LCA0MzU4OSwgNDM1OTIsIDQzNTk1LCA0MzU5OCwgNDM2MDEsIDQzNjA1LCA0MzYwOSwgCi0gICAgNDM2MTMsIDQzNjE3LCA0MzYyMSwgNDM2MjUsIDQzNjI5LCA0MzYzMywgNDM2MzcsIDQzNjQxLCA0MzY0NSwgNDM2NDgsIAotICAgIDQzNjUxLCA0MzY1NCwgNDM2NTcsIDQzNjYwLCA0MzY2MywgNDM2NjYsIDQzNjY5LCA0MzY3MiwgNDM2NzYsIDQzNjgwLCAKLSAgICA0MzY4NCwgNDM2ODgsIDQzNjkyLCA0MzY5NiwgNDM3MDAsIDQzNzA0LCA0MzcwOCwgNDM3MTIsIDQzNzE2LCA0MzcyMiwgCi0gICAgNDM3MjgsIDQzNzM0LCA0Mzc0MSwgNDM3NDgsIDQzNzU1LCA0Mzc2MiwgNDM3NjksIDQzNzc2LCA0Mzc4MywgNDM3OTAsIAotICAgIDQzNzk3LCA0MzgwNCwgNDM4MTEsIDQzODE4LCA0MzgyNSwgNDM4MzIsIDQzODM5LCA0Mzg0NiwgNDM4NTMsIDQzODU4LCAKLSAgICA0Mzg2NCwgNDM4NzAsIDQzODc2LCA0Mzg4MSwgNDM4ODcsIDQzODkzLCA0Mzg5OSwgNDM5MDQsIDQzOTEwLCA0MzkxNiwgCi0gICAgNDM5MjEsIDQzOTI2LCA0MzkzMSwgNDM5MzYsIDQzOTQyLCA0Mzk0OCwgNDM5NTMsIDQzOTU4LCA0Mzk2NCwgNDM5NjksIAotICAgIDQzOTc1LCA0Mzk4MSwgNDM5ODcsIDQzOTkzLCA0Mzk5OSwgNDQwMDQsIDQ0MDEwLCA0NDAxNiwgNDQwMjIsIDQ0MDI3LCAKLSAgICA0NDAzMywgNDQwMzksIDQ0MDQ1LCA0NDA1MCwgNDQwNTYsIDQ0MDYyLCA0NDA2NywgNDQwNzIsIDQ0MDc3LCA0NDA4MiwgCi0gICAgNDQwODgsIDQ0MDk0LCA0NDA5OSwgNDQxMDQsIDQ0MTEwLCA0NDExNSwgNDQxMjEsIDQ0MTI3LCA0NDEzMywgNDQxMzksIAotICAgIDQ0MTQ1LCA0NDE1MCwgNDQxNTYsIDQ0MTYyLCA0NDE2OCwgNDQxNzMsIDQ0MTc5LCA0NDE4NSwgNDQxOTEsIDQ0MTk2LCAKLSAgICA0NDIwMiwgNDQyMDgsIDQ0MjEzLCA0NDIxOCwgNDQyMjMsIDQ0MjI4LCA0NDIzNCwgNDQyNDAsIDQ0MjQ1LCA0NDI1MCwgCi0gICAgNDQyNTYsIDQ0MjYxLCA0NDI2NywgNDQyNzMsIDQ0Mjc5LCA0NDI4NSwgNDQyOTEsIDQ0Mjk1LCA0NDMwMCwgNDQzMDUsIAotICAgIDQ0MzEwLCA0NDMxNSwgNDQzMjAsIDQ0MzI1LCA0NDMzMCwgNDQzMzUsIDQ0MzQwLCA0NDM0NSwgNDQzNDksIDQ0MzUzLCAKLSAgICA0NDM1NywgNDQzNjEsIDQ0MzY1LCA0NDM2OSwgNDQzNzMsIDQ0Mzc3LCA0NDM4MSwgNDQzODYsIDQ0MzkxLCA0NDM5NiwgCi0gICAgNDQ0MDEsIDQ0NDA2LCA0NDQxMSwgNDQ0MjAsIDQ0NDI5LCA0NDQzOCwgNDQ0NDcsIDQ0NDU2LCA0NDQ2NSwgNDQ0NzQsIAotICAgIDQ0NDgzLCA0NDQ5MCwgNDQ0OTgsIDQ0NTA2LCA0NDUxMywgNDQ1MjAsIDQ0NTI4LCA0NDUzNiwgNDQ1NDMsIDQ0NTUwLCAKLSAgICA0NDU1OCwgNDQ1NjYsIDQ0NTczLCA0NDU4MCwgNDQ1ODgsIDQ0NTk2LCA0NDYwMywgNDQ2MTAsIDQ0NjE4LCA0NDYyNywgCi0gICAgNDQ2MzYsIDQ0NjQ0LCA0NDY1MywgNDQ2NjIsIDQ0NjY5LCA0NDY3NiwgNDQ2ODQsIDQ0NjkzLCA0NDcwMiwgNDQ3MTAsIAotICAgIDQ0NzE5LCA0NDcyOCwgNDQ3MzUsIDQ0NzQyLCA0NDc1MSwgNDQ3NjAsIDQ0NzY4LCA0NDc3NiwgNDQ3ODUsIDQ0Nzk0LCAKLSAgICA0NDgwMSwgNDQ4MDgsIDQ0ODE3LCA0NDgyNiwgNDQ4MzQsIDQ0ODQyLCA0NDg1MSwgNDQ4NjAsIDQ0ODY3LCA0NDg3NCwgCi0gICAgNDQ4ODMsIDQ0ODkyLCA0NDkwMCwgNDQ5MDksIDQ0OTE4LCA0NDkyNiwgNDQ5MzYsIDQ0OTQ2LCA0NDk1NiwgNDQ5NjYsIAotICAgIDQ0OTc1LCA0NDk4NCwgNDQ5OTMsIDQ1MDAyLCA0NTAwOSwgNDUwMTcsIDQ1MDI1LCA0NTAzMywgNDUwNDEsIDQ1MDQ2LCAKLSAgICA0NTA1MSwgNDUwNjAsIDQ1MDY4LCA0NTA3NSwgNDUwODQsIDQ1MDkyLCA0NTA5OSwgNDUxMDgsIDQ1MTE2LCA0NTEyMywgCi0gICAgNDUxMzIsIDQ1MTQwLCA0NTE0NywgNDUxNTYsIDQ1MTY0LCA0NTE3MSwgNDUxODAsIDQ1MTg4LCA0NTE5NSwgNDUyMDQsIAotICAgIDQ1MjEyLCA0NTIxOSwgNDUyMjgsIDQ1MjM2LCA0NTI0MywgNDUyNTIsIDQ1MjYwLCA0NTI2NywgNDUyNzYsIDQ1Mjg1LCAKLSAgICA0NTI5NCwgNDUzMDMsIDQ1MzE3LCA0NTMzMSwgNDUzMzgsIDQ1MzQzLCA0NTM0OCwgNDUzNTMsIDQ1MzU4LCA0NTM2MywgCi0gICAgNDUzNjgsIDQ1MzczLCA0NTM3OCwgNDUzODYsIDQ1Mzk0LCA0NTQwMiwgNDU0MTAsIDQ1NDE1LCA0NTQyMiwgNDU0MjksIAotICAgIDQ1NDM2LCA0NTQ0MSwgNDU0NDksIDQ1NDU2LCA0NTQ2NCwgNDU0NjgsIDQ1NDc1LCA0NTQ4MSwgNDU0ODgsIDQ1NDkyLCAKLSAgICA0NTQ5OCwgNDU1MDQsIDQ1NTEwLCA0NTUxNCwgNDU1MTcsIDQ1NTIxLCA0NTUyNSwgNDU1MzIsIDQ1NTM4LCA0NTU0NCwgCi0gICAgNDU1NTAsIDQ1NTU2LCA0NTU3MCwgNDU1ODAsIDQ1NTk0LCA0NTYwOCwgNDU2MTQsIDQ1NjI0LCA0NTYzOCwgNDU2NDEsIAotICAgIDQ1NjQ0LCA0NTY1MSwgNDU2NTksIDQ1NjY0LCA0NTY2OSwgNDU2NzcsIDQ1Njg5LCA0NTcwMSwgNDU3MDksIDQ1NzEzLCAKLSAgICA0NTcxNywgNDU3MjAsIDQ1NzIzLCA0NTcyNywgNDU3MzEsIDQ1NzM0LCA0NTczNywgNDU3NDIsIDQ1NzQ3LCA0NTc1MywgCi0gICAgNDU3NTksIDQ1NzY0LCA0NTc2OSwgNDU3NzUsIDQ1NzgxLCA0NTc4NiwgNDU3OTEsIDQ1Nzk2LCA0NTgwMSwgNDU4MDcsIAotICAgIDQ1ODEzLCA0NTgxOCwgNDU4MjMsIDQ1ODI5LCA0NTgzNSwgNDU4NDAsIDQ1ODQ1LCA0NTg0OCwgNDU4NTEsIDQ1ODYwLCAKLSAgICA0NTg2MiwgNDU4NjQsIDQ1ODY3LCA0NTg3MSwgNDU4NzcsIDQ1ODc5LCA0NTg4MiwgNDU4ODksIDQ1ODk2LCA0NTkwNCwgCi0gICAgNDU5MTIsIDQ1OTIyLCA0NTkzNiwgNDU5NDEsIDQ1OTQ2LCA0NTk1MCwgNDU5NTUsIDQ1OTYzLCA0NTk3MSwgNDU5ODAsIAotICAgIDQ1OTg5LCA0NTk5OCwgNDYwMDcsIDQ2MDEyLCA0NjAxNywgNDYwMjMsIDQ2MDI5LCA0NjAzNSwgNDYwNDEsIDQ2MDQ0LCAKLSAgICA0NjA1MCwgNDYwNTYsIDQ2MDY2LCA0NjA3NiwgNDYwODQsIDQ2MDkyLCA0NjEwMSwgNDYxMTAsIDQ2MTE0LCA0NjEyMiwgCi0gICAgNDYxMzAsIDQ2MTM4LCA0NjE0NiwgNDYxNTUsIDQ2MTY0LCA0NjE3MywgNDYxODIsIDQ2MTg3LCA0NjE5MiwgNDYxOTcsIAotICAgIDQ2MjAyLCA0NjIwNywgNDYyMTMsIDQ2MjE5LCA0NjIyNCwgNDYyMzAsIDQ2MjMyLCA0NjIzNCwgNDYyMzYsIDQ2MjM4LCAKLSAgICA0NjI0MSwgNDYyNDQsIDQ2MjQ2LCA0NjI0OCwgNDYyNTAsIDQ2MjU0LCA0NjI1OCwgNDYyNjAsIDQ2MjYyLCA0NjI2NSwgCi0gICAgNDYyNjgsIDQ2MjcyLCA0NjI3OCwgNDYyODQsIDQ2Mjg2LCA0NjI5MywgNDYyOTcsIDQ2MzAyLCA0NjMwNywgNDYzMDksIAotICAgIDQ2MzE5LCA0NjMyNSwgNDYzMzEsIDQ2MzM3LCA0NjM0MywgNDYzNDksIDQ2MzU1LCA0NjM2MCwgNDYzNjMsIDQ2MzY2LCAKLSAgICA0NjM2OSwgNDYzNzEsIDQ2MzczLCA0NjM3NywgNDYzODEsIDQ2Mzg2LCA0NjM5MSwgNDYzOTYsIDQ2Mzk5LCA0NjQwMywgCi0gICAgNDY0MDgsIDQ2NDExLCA0NjQxNSwgNDY0MjAsIDQ2NDI1LCA0NjQzMCwgNDY0MzUsIDQ2NDQwLCA0NjQ0NSwgNDY0NTAsIAotICAgIDQ2NDU1LCA0NjQ2MCwgNDY0NjUsIDQ2NDcwLCA0NjQ3NSwgNDY0ODEsIDQ2NDg3LCA0NjQ5MywgNDY0OTUsIDQ2NDk4LCAKLSAgICA0NjUwMCwgNDY1MDMsIDQ2NTA1LCA0NjUwNywgNDY1MDksIDQ2NTExLCA0NjUxMywgNDY1MTUsIDQ2NTE3LCA0NjUxOSwgCi0gICAgNDY1MjEsIDQ2NTIzLCA0NjUyNSwgNDY1MjcsIDQ2NTI5LCA0NjUzMSwgNDY1MzMsIDQ2NTM1LCA0NjUzNywgNDY1NDIsIAotICAgIDQ2NTQ3LCA0NjU1MiwgNDY1NTcsIDQ2NTYyLCA0NjU2NywgNDY1NzIsIDQ2NTc3LCA0NjU4MiwgNDY1ODcsIDQ2NTkyLCAKLSAgICA0NjU5NywgNDY2MDIsIDQ2NjA3LCA0NjYxMiwgNDY2MTcsIDQ2NjIyLCA0NjYyNywgNDY2MzIsIDQ2NjM3LCA0NjY0MSwgCi0gICAgNDY2NDUsIDQ2NjQ5LCA0NjY1NSwgNDY2NjEsIDQ2NjY2LCA0NjY3MSwgNDY2NzYsIDQ2NjgxLCA0NjY4NiwgNDY2OTEsIAotICAgIDQ2Njk5LCA0NjcwNywgNDY3MTUsIDQ2NzIzLCA0NjczMSwgNDY3MzksIDQ2NzQ3LCA0Njc1NSwgNDY3NjEsIDQ2NzY2LCAKLSAgICA0Njc3MSwgNDY3NzYsIDQ2Nzc5LCA0Njc4MywgNDY3ODcsIDQ2NzkxLCA0Njc5NSwgNDY3OTksIDQ2ODAzLCA0NjgxMCwgCi0gICAgNDY4MTcsIDQ2ODI1LCA0NjgzMywgNDY4MzgsIDQ2ODQzLCA0Njg1MCwgNDY4NTcsIDQ2ODY0LCA0Njg3MSwgNDY4NzQsIAotICAgIDQ2ODc3LCA0Njg4MiwgNDY4ODQsIDQ2ODg4LCA0Njg5MywgNDY4OTUsIDQ2ODk3LCA0Njg5OSwgNDY5MDEsIDQ2OTA2LCAKLSAgICA0NjkwOSwgNDY5MTEsIDQ2OTE2LCA0NjkyMywgNDY5MzAsIDQ2OTMzLCA0NjkzNywgNDY5NDIsIDQ2OTQ3LCA0Njk1NSwgCi0gICAgNDY5NjEsIDQ2OTY3LCA0Njk3OSwgNDY5ODYsIDQ2OTkzLCA0Njk5OCwgNDcwMDMsIDQ3MDA5LCA0NzAxMiwgNDcwMTUsIAotICAgIDQ3MDIwLCA0NzAyMiwgNDcwMjYsIDQ3MDI4LCA0NzAzMCwgNDcwMzIsIDQ3MDM0LCA0NzAzNiwgNDcwMzgsIDQ3MDQzLCAKLSAgICA0NzA0NSwgNDcwNDcsIDQ3MDQ5LCA0NzA1MSwgNDcwNTUsIDQ3MDU3LCA0NzA2MCwgNDcwNjUsIDQ3MDcwLCA0NzA3NSwgCi0gICAgNDcwODAsIDQ3MDg2LCA0NzA5MiwgNDcwOTQsIDQ3MDk3LCA0NzEwNCwgNDcxMTEsIDQ3MTE4LCA0NzEyNSwgNDcxMjksIAotICAgIDQ3MTMzLCA0NzEzNSwgNDcxMzcsIDQ3MTQxLCA0NzE0NywgNDcxNTIsIDQ3MTU0LCA0NzE1OCwgNDcxNjcsIDQ3MTc1LCAKLSAgICA0NzE4MywgNDcxODksIDQ3MTk1LCA0NzIwMCwgNDcyMDYsIDQ3MjExLCA0NzIxNCwgNDcyMjgsIDQ3MjMxLCA0NzIzNiwgCi0gICAgNDcyNDEsIDQ3MjQ3LCA0NzI1NywgNDcyNTksIDQ3MjY1LCA0NzI3MSwgNDcyNzUsIDQ3MjgyLCA0NzI4NiwgNDcyODgsIAotICAgIDQ3MjkwLCA0NzI5NCwgNDczMDAsIDQ3MzA1LCA0NzMxMSwgNDczMTMsIDQ3MzE5LCA0NzMyMSwgNDczMjcsIDQ3MzI5LCAKLSAgICA0NzMzMSwgNDczMzYsIDQ3MzM4LCA0NzM0MiwgNDczNDcsIDQ3MzQ5LCA0NzM1NCwgNDczNTksIDQ3MzYzLCA0NzM3MCwgMCwgCi0gICAgNDczODAsIDQ3Mzg2LCA0NzM4OSwgNDczOTUsIDQ3Mzk4LCA0NzQwMywgNDc0MDgsIDQ3NDEyLCA0NzQxNCwgNDc0MTYsIAotICAgIDQ3NDIwLCA0NzQyNCwgNDc0MjgsIDQ3NDMyLCA0NzQzNywgNDc0MzksIDQ3NDQ0LCA0NzQ0NywgNDc0NTAsIDQ3NDUzLCAKLSAgICA0NzQ1NywgNDc0NjEsIDQ3NDY2LCA0NzQ3MCwgNDc0NzUsIDQ3NDgwLCA0NzQ4NCwgNDc0OTAsIDQ3NDk3LCA0NzUwMCwgCi0gICAgNDc1MDYsIDQ3NTExLCA0NzUxNSwgNDc1MjAsIDQ3NTI2LCA0NzUzMiwgNDc1MzksIDQ3NTQ1LCA0NzU1MiwgNDc1NTksIAotICAgIDQ3NTYxLCA0NzU2OCwgNDc1NzIsIDQ3NTc5LCA0NzU4NSwgNDc1OTAsIDQ3NTk2LCA0NzYwMCwgNDc2MDUsIDQ3NjA4LCAKLSAgICA0NzYxNCwgNDc2MjAsIDQ3NjI3LCA0NzYzNSwgNDc2NDIsIDQ3NjUxLCA0NzY2MSwgNDc2NjgsIDQ3Njc0LCA0NzY3OCwgCi0gICAgNDc2ODYsIDQ3NjkxLCA0NzcwMCwgNDc3MDMsIDQ3NzA2LCA0NzcxNSwgNDc3MjYsIDQ3NzMzLCA0NzczNSwgNDc3NDEsIAotICAgIDQ3NzQ2LCA0Nzc0OCwgNDc3NTEsIDQ3NzU1LCA0Nzc2MywgNDc3NzIsIDQ3Nzc1LCA0Nzc4MCwgNDc3ODUsIDQ3NzkzLCAKLSAgICA0NzgwMSwgNDc4MDksIDQ3ODE3LCA0NzgyMywgNDc4MjksIDQ3ODM1LCA0Nzg0MywgNDc4NDgsIDQ3ODUxLCA0Nzg1NSwgCi0gICAgNDc4NTgsIDQ3ODcwLCA0Nzg4MCwgNDc4OTEsIDQ3OTAwLCA0NzkxMSwgNDc5MjEsIDQ3OTMwLCA0NzkzNiwgNDc5NDQsIAotICAgIDQ3OTQ4LCA0Nzk1NiwgNDc5NjAsIDQ3OTY4LCA0Nzk3NSwgNDc5ODIsIDQ3OTkxLCA0ODAwMCwgNDgwMTAsIDQ4MDIwLCAKLSAgICA0ODAzMCwgNDgwNDAsIDQ4MDQ5LCA0ODA1OCwgNDgwNjgsIDQ4MDc4LCA0ODA4NywgNDgwOTYsIDQ4MTAyLCA0ODEwOCwgCi0gICAgNDgxMTQsIDQ4MTIwLCA0ODEyNiwgNDgxMzIsIDQ4MTM4LCA0ODE0NCwgNDgxNTAsIDQ4MTU3LCA0ODE2MywgNDgxNjksIAotICAgIDQ4MTc1LCA0ODE4MSwgNDgxODcsIDQ4MTkzLCA0ODE5OSwgNDgyMDUsIDQ4MjExLCA0ODIxOCwgNDgyMjUsIDQ4MjMyLCAKLSAgICA0ODIzOSwgNDgyNDYsIDQ4MjUzLCA0ODI2MCwgNDgyNjcsIDQ4Mjc0LCA0ODI4MSwgNDgyODksIDQ4Mjk0LCA0ODI5NywgCi0gICAgNDgzMDEsIDQ4MzA1LCA0ODMxMSwgNDgzMTQsIDQ4MzIwLCA0ODMyNiwgNDgzMzEsIDQ4MzM1LCA0ODM0MCwgNDgzNDYsIAotICAgIDQ4MzUzLCA0ODM1NiwgNDgzNjMsIDQ4MzcwLCA0ODM3NCwgNDgzODMsIDQ4MzkyLCA0ODM5NywgNDg0MDMsIDQ4NDA4LCAKLSAgICA0ODQxMywgNDg0MjAsIDQ4NDI3LCA0ODQzNSwgNDg0NDMsIDQ4NDUyLCA0ODQ1NiwgNDg0NjUsIDQ4NDcwLCA0ODQ3NCwgCi0gICAgNDg0ODEsIDQ4NDg1LCA0ODQ5MiwgNDg1MDAsIDQ4NTA1LCA0ODUxMywgNDg1MTcsIDQ4NTIyLCA0ODUyNiwgNDg1MzEsIAotICAgIDQ4NTM1LCA0ODU0MCwgNDg1NDUsIDQ4NTU0LCA0ODU1NiwgNDg1NjAsIDQ4NTY0LCA0ODU3MSwgNDg1NzgsIDQ4NTgzLCAKLSAgICA0ODU5MSwgNDg1OTcsIDAsIDQ4NjAzLCAwLCA0ODYwNiwgNDg2MTEsIDQ4NjE2LCA0ODYyNCwgNDg2MjgsIDQ4NjM1LCAKLSAgICA0ODY0MywgNDg2NTEsIDQ4NjU2LCA0ODY2MSwgNDg2NjcsIDQ4NjcyLCA0ODY3NywgNDg2ODMsIDQ4Njg4LCA0ODY5MSwgCi0gICAgNDg2OTUsIDQ4Njk5LCA0ODcwNiwgNDg3MTUsIDQ4NzIwLCA0ODcyOSwgNDg3MzgsIDQ4NzQ0LCA0ODc1MCwgNDg3NTUsIAotICAgIDQ4NzYwLCA0ODc2NSwgNDg3NzAsIDQ4Nzc2LCA0ODc4MiwgNDg3OTAsIDQ4Nzk4LCA0ODgwNCwgNDg4MTAsIDQ4ODE1LCAKLSAgICA0ODgyMCwgNDg4MjcsIDQ4ODM0LCA0ODg0MCwgNDg4NDMsIDQ4ODQ2LCA0ODg1MCwgNDg4NTQsIDQ4ODU4LCA0ODg2MywgCi0gICAgNDg4NjksIDQ4ODc1LCA0ODg4MiwgNDg4ODksIDQ4ODk0LCA0ODg5OCwgNDg5MDIsIDQ4OTA2LCA0ODkxMCwgNDg5MTQsIAotICAgIDQ4OTE4LCA0ODkyMiwgNDg5MjYsIDQ4OTMwLCA0ODkzNCwgNDg5MzgsIDQ4OTQyLCA0ODk0NiwgNDg5NTAsIDQ4OTU0LCAKLSAgICA0ODk1OCwgNDg5NjIsIDQ4OTY2LCA0ODk3MCwgNDg5NzQsIDQ4OTc4LCA0ODk4MiwgNDg5ODYsIDQ4OTkwLCA0ODk5NCwgCi0gICAgNDg5OTgsIDQ5MDAyLCA0OTAwNiwgNDkwMTAsIDQ5MDE0LCA0OTAxOCwgNDkwMjIsIDQ5MDI2LCA0OTAzMCwgNDkwMzQsIAotICAgIDQ5MDM4LCA0OTA0MiwgNDkwNDYsIDQ5MDUwLCA0OTA1NCwgNDkwNTgsIDQ5MDYyLCA0OTA2NiwgNDkwNzAsIDQ5MDc0LCAKLSAgICA0OTA3OCwgNDkwODIsIDQ5MDg2LCA0OTA5MCwgNDkwOTQsIDQ5MDk4LCA0OTEwMiwgNDkxMDYsIDQ5MTEwLCA0OTExNCwgCi0gICAgNDkxMTgsIDQ5MTIyLCA0OTEyNiwgNDkxMzAsIDQ5MTM0LCA0OTEzOCwgNDkxNDIsIDQ5MTQ2LCA0OTE1MCwgNDkxNTQsIAotICAgIDQ5MTU4LCA0OTE2MiwgNDkxNjYsIDQ5MTcwLCA0OTE3NCwgNDkxNzgsIDQ5MTgyLCA0OTE4NiwgNDkxOTAsIDQ5MTk0LCAKLSAgICA0OTE5OCwgNDkyMDIsIDQ5MjA2LCA0OTIxMCwgNDkyMTQsIDQ5MjE4LCA0OTIyMiwgNDkyMjYsIDQ5MjMwLCA0OTIzNCwgCi0gICAgNDkyMzgsIDQ5MjQyLCA0OTI0NiwgNDkyNTAsIDQ5MjU0LCA0OTI1OCwgNDkyNjIsIDQ5MjY2LCA0OTI3MCwgNDkyNzQsIAotICAgIDQ5Mjc4LCA0OTI4MiwgNDkyODYsIDQ5MjkwLCA0OTI5NCwgNDkyOTgsIDQ5MzAyLCA0OTMwNiwgNDkzMTAsIDQ5MzE0LCAKLSAgICA0OTMxOCwgNDkzMjIsIDQ5MzI2LCA0OTMzMCwgNDkzMzQsIDQ5MzM4LCA0OTM0MiwgNDkzNDYsIDQ5MzUwLCA0OTM1NCwgCi0gICAgNDkzNTgsIDQ5MzYyLCA0OTM2NiwgNDkzNzAsIDQ5Mzc0LCA0OTM3OCwgNDkzODIsIDQ5Mzg2LCA0OTM5MCwgNDkzOTQsIAotICAgIDQ5Mzk4LCA0OTQwMiwgNDk0MDYsIDQ5NDEwLCA0OTQxNCwgNDk0MTgsIDQ5NDIyLCA0OTQyNiwgNDk0MzAsIDQ5NDM0LCAKLSAgICA0OTQzOCwgNDk0NDIsIDQ5NDQ2LCA0OTQ1MCwgNDk0NTQsIDQ5NDU4LCA0OTQ2MiwgNDk0NjYsIDQ5NDcwLCA0OTQ3NCwgCi0gICAgNDk0NzgsIDQ5NDgyLCA0OTQ4NiwgNDk0OTAsIDQ5NDk0LCA0OTQ5OCwgNDk1MDIsIDQ5NTA2LCA0OTUxMCwgNDk1MTQsIAotICAgIDQ5NTE4LCA0OTUyMiwgNDk1MjYsIDQ5NTMwLCA0OTUzNCwgNDk1MzgsIDQ5NTQyLCA0OTU0NiwgNDk1NTAsIDQ5NTU0LCAKLSAgICA0OTU1OCwgNDk1NjIsIDQ5NTY2LCA0OTU3MCwgNDk1NzQsIDQ5NTc4LCA0OTU4MiwgNDk1ODYsIDQ5NTkwLCA0OTU5NCwgCi0gICAgNDk1OTgsIDQ5NjAyLCA0OTYwNiwgNDk2MTAsIDQ5NjE0LCA0OTYxOCwgNDk2MjIsIDQ5NjI2LCA0OTYzMCwgNDk2MzQsIAotICAgIDQ5NjM4LCA0OTY0MiwgNDk2NDYsIDQ5NjUwLCA0OTY1NCwgNDk2NTgsIDQ5NjYyLCA0OTY2NiwgNDk2NzAsIDQ5Njc0LCAKLSAgICA0OTY3OCwgNDk2ODIsIDQ5Njg2LCA0OTY5MCwgNDk2OTQsIDQ5Njk4LCA0OTcwMiwgNDk3MDYsIDQ5NzEwLCA0OTcxNCwgCi0gICAgNDk3MTgsIDQ5NzIyLCA0OTcyNiwgNDk3MzAsIDQ5NzM0LCA0OTczOCwgNDk3NDIsIDQ5NzQ2LCA0OTc1MCwgNDk3NTQsIAotICAgIDQ5NzU4LCA0OTc2MiwgNDk3NjYsIDQ5NzcwLCA0OTc3NCwgNDk3NzgsIDQ5NzgyLCA0OTc4NiwgNDk3OTAsIDQ5Nzk0LCAKLSAgICA0OTc5OCwgNDk4MDIsIDQ5ODA2LCA0OTgxMCwgNDk4MTQsIDQ5ODE4LCA0OTgyMiwgNDk4MjYsIDQ5ODMwLCA0OTgzNCwgCi0gICAgNDk4MzgsIDQ5ODQyLCA0OTg0NiwgNDk4NTAsIDQ5ODU0LCA0OTg1OCwgNDk4NjIsIDQ5ODY2LCA0OTg3MCwgNDk4NzQsIAotICAgIDQ5ODc4LCA0OTg4MiwgNDk4ODYsIDQ5ODkwLCA0OTg5NCwgNDk4OTgsIDQ5OTAyLCA0OTkwNiwgNDk5MTAsIDQ5OTE0LCAKLSAgICA0OTkxOCwgNDk5MjUsIDQ5OTMzLCA0OTkzOSwgNDk5NDUsIDQ5OTUyLCA0OTk1OSwgNDk5NjUsIDQ5OTcxLCA0OTk3NywgCi0gICAgNDk5ODMsIDQ5OTg4LCA0OTk5MywgNDk5OTgsIDUwMDAzLCA1MDAwOSwgNTAwMTUsIDUwMDIzLCA1MDAzMCwgNTAwMzYsIAotICAgIDUwMDQyLCA1MDA1MCwgNTAwNTksIDUwMDY2LCA1MDA3NiwgNTAwODcsIDUwMDkwLCA1MDA5MywgNTAwOTcsIDUwMTAxLCAKLSAgICA1MDEwOCwgNTAxMTUsIDUwMTI2LCA1MDEzNywgNTAxNDcsIDUwMTU3LCA1MDE2NCwgNTAxNzEsIDUwMTc4LCA1MDE4NSwgCi0gICAgNTAxOTYsIDUwMjA3LCA1MDIxOCwgNTAyMjksIDUwMjM5LCA1MDI0OSwgNTAyNjEsIDUwMjczLCA1MDI4NCwgNTAyOTUsIAotICAgIDUwMzA3LCA1MDMxOSwgNTAzMjgsIDUwMzM4LCA1MDM0OCwgNTAzNTksIDUwMzcwLCA1MDM3NywgNTAzODQsIDUwMzkxLCAKLSAgICA1MDM5OCwgNTA0MDgsIDUwNDE4LCA1MDQyNiwgNTA0MzQsIDUwNDQxLCA1MDQ0OCwgNTA0NTUsIDUwNDYyLCA1MDQ2OSwgCi0gICAgNTA0NzQsIDUwNDc5LCA1MDQ4NSwgNTA0OTMsIDUwNTAzLCA1MDUxMSwgNTA1MTksIDUwNTI3LCA1MDUzNSwgNTA1NDMsIAotICAgIDUwNTUxLCA1MDU1OSwgNTA1NjcsIDUwNTc2LCA1MDU4NSwgNTA1OTUsIDUwNjA1LCA1MDYxNCwgNTA2MjMsIDUwNjMzLCAKLSAgICA1MDY0MywgNTA2NTIsIDUwNjYxLCA1MDY3MSwgNTA2ODEsIDUwNjkwLCA1MDY5OSwgNTA3MDksIDUwNzE5LCA1MDczMywgCi0gICAgNTA3NTAsIDUwNzY0LCA1MDc4MSwgNTA3OTUsIDUwODA5LCA1MDgyMywgNTA4MzcsIDUwODQ3LCA1MDg1OCwgNTA4NjgsIAotICAgIDUwODc5LCA1MDg5NiwgNTA5MTMsIDUwOTIxLCA1MDkyNywgNTA5MzQsIDUwOTQxLCA1MDk0OCwgNTA5NTUsIDUwOTYwLCAKLSAgICA1MDk2NiwgNTA5NzEsIDUwOTc2LCA1MDk4MiwgNTA5ODcsIDUwOTkyLCA1MDk5NywgNTEwMDIsIDUxMDA3LCA1MTAxNCwgCi0gICAgNTEwMTksIDUxMDI2LCA1MTAzMSwgNTEwMzYsIDUxMDQwLCA1MTA0NCwgNTEwNTEsIDUxMDU4LCA1MTA2NSwgNTEwNzIsIAotICAgIDUxMDc5LCA1MTA4NiwgNTEwOTksIDUxMTEyLCA1MTEyNSwgNTExMzgsIDUxMTQ2LCA1MTE1NCwgNTExNjAsIDUxMTY2LCAKLSAgICA1MTE3MywgNTExODAsIDUxMTg3LCA1MTE5NCwgNTExOTgsIDUxMjAzLCA1MTIxMSwgNTEyMTksIDUxMjI3LCA1MTIzNCwgCi0gICAgNTEyMzgsIDUxMjQ2LCA1MTI1NCwgNTEyNTgsIDUxMjYyLCA1MTI2NywgNTEyNzQsIDUxMjgyLCA1MTI5MCwgNTEzMTAsIAotICAgIDUxMzMwLCA1MTM1MCwgNTEzNzAsIDUxMzkwLCA1MTQxMCwgNTE0MzAsIDUxNDUwLCA1MTQ1NiwgNTE0NjMsIDUxNDcyLCAKLSAgICA1MTQ4MCwgNTE0ODgsIDUxNDkzLCA1MTQ5NiwgNTE0OTksIDUxNTA0LCA1MTUwNywgNTE1MjYsIDUxNTMzLCA1MTUzOSwgCi0gICAgNTE1NDUsIDUxNTQ5LCA1MTU1MiwgNTE1NTUsIDUxNTU4LCA1MTU3MCwgNTE1ODMsIDUxNTkwLCA1MTU5NywgNTE2MDAsIAotICAgIDUxNjA0LCA1MTYwNywgNTE2MTIsIDUxNjE3LCA1MTYyMiwgNTE2MjgsIDUxNjM3LCA1MTY0NCwgNTE2NTEsIDUxNjU5LCAKLSAgICA1MTY2NiwgNTE2NzMsIDUxNjc2LCA1MTY4MiwgNTE2ODgsIDUxNjkxLCA1MTY5NCwgNTE2OTksIDUxNzA0LCA1MTcxMCwgCi0gICAgNTE3MTYsIDUxNzIwLCA1MTcyNSwgNTE3MzIsIDUxNzM2LCA1MTc0MiwgNTE3NDYsIDUxNzUwLCA1MTc1OCwgNTE3NzAsIAotICAgIDUxNzc5LCA1MTc4MywgNTE3ODUsIDUxNzk0LCA1MTgwMywgNTE4MDksIDUxODEyLCA1MTgxOCwgNTE4MjQsIDUxODI5LCAKLSAgICA1MTgzNCwgNTE4MzksIDUxODQ0LCA1MTg0OSwgNTE4NTQsIDUxODU2LCA1MTg2MiwgNTE4NjcsIDUxODc0LCA1MTg3OCwgCi0gICAgNTE4ODQsIDUxODg3LCA1MTg5MSwgNTE4OTgsIDUxOTA1LCA1MTkwNywgNTE5MDksIDUxOTE1LCA1MTkyMSwgNTE5MjcsIAotICAgIDUxOTM2LCA1MTk0NSwgNTE5NTIsIDUxOTU5LCA1MTk2NSwgNTE5NzEsIDUxOTc2LCA1MTk4MSwgNTE5ODYsIDUxOTkyLCAKLSAgICA1MTk5OCwgNTIwMDMsIDUyMDEwLCA1MjAxNCwgNTIwMTgsIDUyMDMxLCA1MjA0NCwgNTIwNTYsIDUyMDY1LCA1MjA3MSwgCi0gICAgNTIwNzgsIDUyMDgzLCA1MjA4OCwgNTIwOTMsIDUyMDk4LCA1MjEwMywgNTIxMDUsIDUyMTEyLCA1MjExOSwgNTIxMjYsIAotICAgIDUyMTMzLCA1MjE0MCwgNTIxNDgsIDUyMTU0LCA1MjE1OSwgNTIxNjUsIDUyMTcxLCA1MjE3NywgNTIxODQsIDUyMTkwLCAKLSAgICA1MjE5OCwgNTIyMDYsIDUyMjE0LCA1MjIyMiwgNTIyMjksIDUyMjM1LCA1MjI0MSwgNTIyNTAsIDUyMjU0LCA1MjI2MywgCi0gICAgNTIyNzIsIDUyMjgxLCA1MjI4OSwgNTIyOTMsIDUyMjk5LCA1MjMwNiwgNTIzMTMsIDUyMzE3LCA1MjMyMywgNTIzMzAsIAotICAgIDUyMzM1LCA1MjM0MCwgNTIzNDYsIDUyMzUxLCA1MjM1NiwgNTIzNjMsIDUyMzcwLCA1MjM3NSwgNTIzODAsIDUyMzg4LCAKLSAgICA1MjM5NiwgNTI0MDYsIDUyNDE2LCA1MjQyMywgNTI0MzAsIDUyNDM0LCA1MjQzOCwgNTI0NTAsIDUyNDU2LCA1MjQ2MiwgCi0gICAgNTI0NjcsIDUyNDcyLCA1MjQ3OSwgNTI0ODYsIDUyNDkyLCA1MjQ5OCwgNTI1MDcsIDUyNTE1LCA1MjUyMywgNTI1MzAsIAotICAgIDUyNTM3LCA1MjU0NCwgNTI1NTAsIDUyNTU3LCA1MjU2MywgNTI1NzAsIDUyNTc3LCA1MjU4NCwgNTI1OTEsIDUyNTk3LCAKLSAgICA1MjYwMiwgNTI2MTEsIDUyNjIxLCA1MjYyOCwgNTI2MzcsIDUyNjQzLCA1MjY0OCwgNTI2NTMsIDUyNjYzLCA1MjY2OSwgCi0gICAgNTI2NzUsIDUyNjgxLCA1MjY4OSwgNTI2OTQsIDUyNzAxLCA1MjcwOCwgNTI3MTksIDUyNzI2LCA1MjczMywgNTI3NDAsIAotICAgIDUyNzQ3LCA1Mjc1NCwgNTI3NjEsIDUyNzY4LCA1Mjc4MCwgNTI3OTIsIDUyODAzLCA1MjgxNCwgNTI4MjcsIDUyODQwLCAKLSAgICA1Mjg0NSwgNTI4NTAsIDUyODU5LCA1Mjg2OCwgNTI4NzUsIDUyODgyLCA1Mjg5MSwgNTI5MDAsIDUyOTA4LCA1MjkxNiwgCi0gICAgNTI5MjQsIDUyOTMyLCA1Mjk0MiwgNTI5NTIsIDUyOTY2LCA1Mjk4MCwgNTI5ODgsIDUyOTk2LCA1MzAwOCwgNTMwMjAsIAotICAgIDUzMDI4LCA1MzAzNiwgNTMwNDYsIDUzMDU2LCA1MzA2MSwgNTMwNjYsIDUzMDc1LCA1MzA4NCwgNTMwODksIDUzMDk0LCAKLSAgICA1MzEwMiwgNTMxMDgsIDUzMTE0LCA1MzEyMiwgNTMxMzAsIDUzMTQzLCA1MzE1NiwgNTMxNjAsIDUzMTY0LCA1MzE3MSwgCi0gICAgNTMxNzgsIDUzMTg1LCA1MzE5MywgNTMyMDEsIDUzMjEwLCA1MzIxOSwgNTMyMjUsIDUzMjMxLCA1MzIzOCwgNTMyNDUsIAotICAgIDUzMjUyLCA1MzI1OSwgNTMyNjgsIDUzMjc3LCA1MzI4MCwgNTMyODMsIDUzMjg4LCA1MzI5MywgNTMyOTksIDUzMzA1LCAKLSAgICA1MzMxMiwgNTMzMTksIDUzMzI5LCA1MzMzOSwgNTMzNDYsIDUzMzUzLCA1MzM2MSwgNTMzNjksIDUzMzc3LCA1MzM4NSwgCi0gICAgNTMzOTMsIDUzNDAxLCA1MzQwOCwgNTM0MTUsIDUzNDE5LCA1MzQyMywgNTM0MzAsIDUzNDM3LCA1MzQ0MiwgNTM0NDcsIAotICAgIDUzNDUyLCA1MzQ1NywgNTM0NjMsIDUzNDc3LCA1MzQ4NCwgNTM0OTEsIDUzNDk1LCA1MzQ5NywgNTM0OTksIDUzNTA0LCAKLSAgICA1MzUwOSwgNTM1MTQsIDUzNTE4LCA1MzUyNiwgNTM1MzMsIDUzNTQwLCA1MzU0OCwgNTM1NjAsIDUzNTY4LCA1MzU3NiwgCi0gICAgNTM1ODcsIDUzNTkxLCA1MzU5NSwgNTM2MDEsIDUzNjA5LCA1MzYyMiwgNTM2MjksIDUzNjM2LCA1MzY0MywgNTM2NDgsIAotICAgIDUzNjU1LCA1MzY2NCwgNTM2NzIsIDUzNjc4LCA1MzY4NCwgNTM2OTAsIDUzNjk5LCA1MzcwOCwgNTM3MTYsIDUzNzI1LCAKLSAgICA1MzczMCwgNTM3MzMsIDUzNzM4LCA1Mzc0NCwgNTM3NTAsIDUzNzU2LCA1Mzc2MiwgNTM3NjYsIDUzNzY5LCA1Mzc3MywgCi0gICAgNTM3NzcsIDUzNzgzLCA1Mzc4OSwgNTM3OTUsIDUzODAxLCA1MzgwNSwgNTM4MDksIDUzODE2LCA1MzgyMywgNTM4MzAsIAotICAgIDUzODM3LCA1Mzg0NCwgNTM4NTEsIDUzODYxLCA1Mzg3MSwgNTM4NzgsIDUzODg1LCA1Mzg5MywgNTM5MDEsIDUzOTA1LCAKLSAgICA1MzkxMCwgNTM5MTUsIDUzOTIxLCA1MzkyNywgNTM5MzAsIDUzOTMzLCA1MzkzNiwgNTM5MzksIDUzOTQzLCA1Mzk0OCwgCi0gICAgNTM5NTMsIDUzOTU4LCA1Mzk2MywgNTM5NjgsIDUzOTcyLCA1Mzk3NiwgNTM5ODAsIDUzOTg0LCA1Mzk4OCwgNTM5OTIsIAotICAgIDUzOTk2LCA1NDAwMiwgNTQwMDYsIDU0MDEyLCA1NDAxNywgNTQwMjQsIDU0MDMyLCA1NDAzOSwgNTQwNDcsIDU0MDU0LCAKLSAgICA1NDA2MiwgNTQwNzEsIDU0MDc4LCA1NDA4OCwgNTQwOTksIDU0MTA1LCA1NDExNCwgNTQxMjAsIDU0MTI5LCA1NDEzOCwgCi0gICAgNTQxNDQsIDU0MTUwLCA1NDE1NCwgNTQxNTgsIDU0MTY3LCA1NDE3NiwgNTQxODMsIDU0MTkwLCA1NDE5OSwgMCwgMCwgMCwgCi0gICAgNTQyMDgsIDU0MjEzLCA1NDIxNywgNTQyMjEsIDU0MjI2LCA1NDIzMSwgNTQyMzYsIDU0MjQ0LCA1NDI1MiwgNTQyNTUsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU0MjU5LCA1NDI2NCwgNTQyNjksIDU0Mjc0LCA1NDI3OSwgCi0gICAgNTQyODQsIDU0Mjg5LCA1NDI5NCwgNTQyOTksIDU0MzA0LCA1NDMwOSwgNTQzMTUsIDU0MzE5LCA1NDMyNCwgNTQzMjksIAotICAgIDU0MzM0LCA1NDMzOSwgNTQzNDQsIDU0MzQ5LCA1NDM1NCwgNTQzNTksIDU0MzY0LCA1NDM2OSwgNTQzNzQsIDU0Mzc5LCAKLSAgICA1NDM4NCwgNTQzODksIDU0Mzk0LCA1NDM5OSwgNTQ0MDQsIDU0NDA5LCA1NDQxNCwgNTQ0MTksIDU0NDI0LCA1NDQyOSwgCi0gICAgNTQ0MzUsIDU0NDQwLCA1NDQ0NiwgNTQ0NTUsIDU0NDYwLCA1NDQ2OCwgNTQ0NzUsIDU0NDg0LCA1NDQ4OSwgNTQ0OTQsIAotICAgIDU0NDk5LCA1NDUwNSwgMCwgNTQ1MTIsIDU0NTE3LCA1NDUyMiwgNTQ1MjcsIDU0NTMyLCA1NDUzNywgNTQ1NDIsIDU0NTQ3LCAKLSAgICA1NDU1MiwgNTQ1NTcsIDU0NTYyLCA1NDU2OCwgNTQ1NzIsIDU0NTc3LCA1NDU4MiwgNTQ1ODcsIDU0NTkyLCA1NDU5NywgCi0gICAgNTQ2MDIsIDU0NjA3LCA1NDYxMiwgNTQ2MTcsIDU0NjIyLCA1NDYyNywgNTQ2MzIsIDU0NjM3LCA1NDY0MiwgNTQ2NDcsIAotICAgIDU0NjUyLCA1NDY1NywgNTQ2NjIsIDU0NjY3LCA1NDY3MiwgNTQ2NzcsIDU0NjgyLCA1NDY4OCwgNTQ2OTMsIDU0Njk5LCAKLSAgICA1NDcwOCwgNTQ3MTMsIDU0NzIxLCA1NDcyOCwgNTQ3MzcsIDU0NzQyLCA1NDc0NywgNTQ3NTIsIDU0NzU4LCAwLCA1NDc2NSwgCi0gICAgNTQ3NzMsIDU0NzgxLCA1NDc5MSwgNTQ3OTgsIDU0ODA2LCA1NDgxMiwgNTQ4MjEsIDU0ODI5LCA1NDgzNywgNTQ4NDUsIAotICAgIDU0ODUzLCA1NDg2MSwgNTQ4NjksIDU0ODc0LCA1NDg4MSwgNTQ4ODcsIDU0ODk0LCA1NDkwMiwgNTQ5MDksIDU0OTE2LCAKLSAgICA1NDkyNCwgNTQ5MzAsIDU0OTM2LCA1NDk0MywgNTQ5NTAsIDU0OTYwLCA1NDk3MCwgNTQ5NzcsIDU0OTg0LCA1NDk4OSwgCi0gICAgNTQ5OTksIDU1MDA5LCA1NTAxNCwgNTUwMTksIDU1MDI0LCA1NTAyOSwgNTUwMzQsIDU1MDM5LCA1NTA0NCwgNTUwNDksIAotICAgIDU1MDU0LCA1NTA1OSwgNTUwNjQsIDU1MDY5LCA1NTA3NCwgNTUwNzksIDU1MDg0LCA1NTA4OSwgNTUwOTQsIDU1MDk5LCAKLSAgICA1NTEwNCwgNTUxMDksIDU1MTE0LCA1NTExOSwgNTUxMjQsIDU1MTI5LCA1NTEzNCwgNTUxMzksIDU1MTQ0LCA1NTE0OSwgCi0gICAgNTUxNTQsIDU1MTU5LCA1NTE2MywgNTUxNjcsIDU1MTcyLCA1NTE3NywgNTUxODIsIDU1MTg3LCA1NTE5MiwgNTUxOTcsIAotICAgIDU1MjAyLCA1NTIwNywgNTUyMTIsIDU1MjE3LCA1NTIyMiwgNTUyMjcsIDU1MjMyLCA1NTIzNywgNTUyNDIsIDU1MjQ3LCAKLSAgICA1NTI1MiwgNTUyNTcsIDU1MjY0LCA1NTI3MSwgNTUyNzgsIDU1Mjg1LCA1NTI5MiwgNTUyOTksIDU1MzA2LCA1NTMxMywgCi0gICAgNTUzMjAsIDU1MzI3LCA1NTMzNCwgNTUzNDEsIDU1MzQ4LCA1NTM1NSwgNTUzNjAsIDU1MzY1LCA1NTM3MiwgNTUzNzksIAotICAgIDU1Mzg2LCA1NTM5MywgNTU0MDAsIDU1NDA3LCA1NTQxNCwgNTU0MjEsIDU1NDI4LCA1NTQzNSwgNTU0NDIsIDU1NDQ5LCAKLSAgICA1NTQ1NSwgNTU0NjEsIDU1NDY3LCA1NTQ3MywgNTU0ODAsIDU1NDg3LCA1NTQ5NCwgNTU1MDEsIDU1NTA4LCA1NTUxNSwgCi0gICAgNTU1MjIsIDU1NTI5LCA1NTUzNiwgNTU1NDMsIDU1NTUxLCA1NTU1OSwgNTU1NjcsIDU1NTc1LCA1NTU4MywgNTU1OTEsIAotICAgIDU1NTk5LCA1NTYwNywgNTU2MTEsIDU1NjE3LCA1NTYyMywgNTU2MjcsIDU1NjMzLCA1NTYzOSwgNTU2NDUsIDU1NjUyLCAKLSAgICA1NTY1OSwgNTU2NjYsIDU1NjczLCA1NTY3OCwgNTU2ODQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1NjkwLCA1NTY5OCwgCi0gICAgNTU3MDcsIDU1NzE2LCA1NTcyNCwgNTU3MzAsIDU1NzM1LCA1NTc0MCwgNTU3NDUsIDU1NzUwLCA1NTc1NSwgNTU3NjAsIAotICAgIDU1NzY1LCA1NTc3MCwgNTU3NzUsIDU1NzgwLCA1NTc4NSwgNTU3OTAsIDU1Nzk1LCA1NTgwMCwgNTU4MDUsIDU1ODEwLCAKLSAgICA1NTgxNSwgNTU4MjAsIDU1ODI1LCA1NTgzMCwgNTU4MzUsIDU1ODQwLCA1NTg0NSwgNTU4NTAsIDU1ODU1LCA1NTg2MCwgCi0gICAgNTU4NjUsIDU1ODcwLCA1NTg3NSwgNTU4ODAsIDU1ODg1LCA1NTg5MCwgNTU4OTUsIDU1OTAwLCA1NTkwNSwgNTU5MTAsIAotICAgIDU1OTE1LCA1NTkyMCwgNTU5MjUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1OTMwLCA1NTkzNCwgNTU5MzksIAotICAgIDU1OTQ0LCA1NTk0OSwgNTU5NTQsIDU1OTYzLCA1NTk2OCwgNTU5NzMsIDU1OTc4LCA1NTk4MywgNTU5ODgsIDU1OTkzLCAKLSAgICA1NTk5OCwgNTYwMDMsIDU2MDEwLCA1NjAxNSwgNTYwMjAsIDU2MDI5LCA1NjAzNiwgNTYwNDEsIDU2MDQ2LCA1NjA1MSwgCi0gICAgNTYwNTgsIDU2MDYzLCA1NjA3MCwgNTYwNzUsIDU2MDgwLCA1NjA4NywgNTYwOTQsIDU2MDk5LCA1NjEwNCwgNTYxMDksIAotICAgIDU2MTE2LCA1NjEyMywgNTYxMjgsIDU2MTMzLCA1NjEzOCwgNTYxNDMsIDU2MTQ4LCA1NjE1NSwgNTYxNjIsIDU2MTY3LCAKLSAgICA1NjE3MiwgNTYxNzcsIDU2MTgyLCA1NjE4NywgNTYxOTIsIDU2MTk3LCA1NjIwMiwgNTYyMDcsIDU2MjEyLCA1NjIxNywgCi0gICAgNTYyMjQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU2MjI5LCA1NjIzNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgNTYyNDEsIDU2MjQ3LCA1NjI1MSwgNTYyNTUsIDU2MjU5LCA1NjI2MywgNTYyNjcsIDU2MjcxLCAKLSAgICA1NjI3NSwgNTYyNzksIDU2MjgzLCA1NjI4NywgNTYyOTMsIDU2Mjk3LCA1NjMwMSwgNTYzMDUsIDU2MzA5LCA1NjMxMywgCi0gICAgNTYzMTcsIDU2MzIxLCA1NjMyNSwgNTYzMjksIDU2MzMzLCA1NjMzNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgNTYzNDEsIDU2MzQ1LCA1NjM0OSwgNTYzNTMsIDU2MzU3LCA1NjM2MSwgNTYzNjUsIDAsIDU2MzY5LCA1NjM3MywgNTYzNzcsIAotICAgIDU2MzgxLCA1NjM4NSwgNTYzODksIDU2MzkzLCAwLCA1NjM5NywgNTY0MDEsIDU2NDA1LCA1NjQwOSwgNTY0MTMsIDU2NDE3LCAKLSAgICA1NjQyMSwgMCwgNTY0MjUsIDU2NDI5LCA1NjQzMywgNTY0MzcsIDU2NDQxLCA1NjQ0NSwgNTY0NDksIDAsIDU2NDUzLCAKLSAgICA1NjQ1NywgNTY0NjEsIDU2NDY1LCA1NjQ2OSwgNTY0NzMsIDU2NDc3LCAwLCA1NjQ4MSwgNTY0ODUsIDU2NDg5LCA1NjQ5MywgCi0gICAgNTY0OTcsIDU2NTAxLCA1NjUwNSwgMCwgNTY1MDksIDU2NTEzLCA1NjUxNywgNTY1MjEsIDU2NTI1LCA1NjUyOSwgNTY1MzMsIAotICAgIDAsIDU2NTM3LCA1NjU0MSwgNTY1NDUsIDU2NTQ5LCA1NjU1MywgNTY1NTcsIDU2NTYxLCAwLCA1NjU2NSwgNTY1NzAsIAotICAgIDU2NTc1LCA1NjU4MCwgNTY1ODUsIDU2NTkwLCA1NjU5NSwgNTY1OTksIDU2NjA0LCA1NjYwOSwgNTY2MTQsIDU2NjE4LCAKLSAgICA1NjYyMywgNTY2MjgsIDU2NjMzLCA1NjYzOCwgNTY2NDIsIDU2NjQ3LCA1NjY1MiwgNTY2NTcsIDU2NjYyLCA1NjY2NywgCi0gICAgNTY2NzIsIDU2Njc2LCA1NjY4MSwgNTY2ODYsIDU2NjkzLCA1NjY5OCwgNTY3MDMsIDU2NzA5LCA1NjcxNiwgNTY3MjMsIAotICAgIDU2NzMyLCA1NjczOSwgNTY3NDgsIDU2NzUyLCA1Njc1NiwgNTY3NjIsIDU2NzY4LCA1Njc3NCwgNTY3ODIsIDU2Nzg4LCAKLSAgICA1Njc5MiwgNTY3OTYsIDU2ODAwLCA1NjgwNiwgNTY4MTIsIDU2ODE2LCA1NjgxOCwgNTY4MjIsIDU2ODI4LCA1NjgzMCwgCi0gICAgNTY4MzQsIDU2ODM4LCA1Njg0MiwgNTY4NDgsIDU2ODUzLCA1Njg1NywgNTY4NjEsIDU2ODY2LCA1Njg3MiwgNTY4NzcsIAotICAgIDU2ODgyLCA1Njg4NywgNTY4OTIsIDU2ODk5LCA1NjkwNiwgNTY5MTEsIDU2OTE2LCA1NjkyMSwgNTY5MjYsIDU2OTMxLCAKLSAgICA1NjkzNiwgNTY5NDAsIDU2OTQ0LCA1Njk1MSwgNTY5NTgsIDU2OTY0LCA1Njk2OCwgNTY5NzMsIDU2OTc2LCA1Njk4MCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgNTY5ODgsIDU2OTkyLCA1Njk5NiwgNTcwMDEsIDU3MDA2LCA1NzAxMSwgNTcwMTUsIDU3MDE5LCAKLSAgICA1NzAyMywgNTcwMjgsIDU3MDMzLCA1NzAzNywgNTcwNDEsIDU3MDQ1LCA1NzA0OSwgNTcwNTQsIDU3MDU5LCA1NzA2NCwgCi0gICAgNTcwNjksIDU3MDczLCA1NzA3NywgNTcwODIsIDU3MDg3LCA1NzA5MiwgNTcwOTcsIDU3MTAxLCAwLCA1NzEwNSwgNTcxMDksIAotICAgIDU3MTEzLCA1NzExNywgNTcxMjEsIDU3MTI1LCA1NzEyOSwgNTcxMzQsIDU3MTM5LCA1NzE0MywgNTcxNDgsIDU3MTUzLCAKLSAgICA1NzE2MiwgNTcxNjYsIDU3MTcwLCA1NzE3NCwgNTcxODEsIDU3MTg1LCA1NzE5MCwgNTcxOTUsIDU3MTk5LCA1NzIwMywgCi0gICAgNTcyMDksIDU3MjE0LCA1NzIxOSwgNTcyMjQsIDU3MjI5LCA1NzIzMywgNTcyMzcsIDU3MjQxLCA1NzI0NSwgNTcyNDksIAotICAgIDU3MjU0LCA1NzI1OSwgNTcyNjMsIDU3MjY3LCA1NzI3MiwgNTcyNzcsIDU3MjgyLCA1NzI4NiwgNTcyOTAsIDU3Mjk1LCAKLSAgICA1NzMwMCwgNTczMDYsIDU3MzEyLCA1NzMxNiwgNTczMjIsIDU3MzI4LCA1NzMzMiwgNTczMzgsIDU3MzQ0LCA1NzM0OSwgCi0gICAgNTczNTQsIDU3MzU4LCA1NzM2NCwgNTczNjgsIDU3MzcyLCA1NzM3OCwgNTczODQsIDU3Mzg5LCA1NzM5NCwgNTczOTgsIAotICAgIDU3NDAyLCA1NzQxMCwgNTc0MTYsIDU3NDIyLCA1NzQyOCwgNTc0MzMsIDU3NDM4LCA1NzQ0MywgNTc0NDksIDU3NDUzLCAKLSAgICA1NzQ1OSwgNTc0NjMsIDU3NDY3LCA1NzQ3MywgNTc0NzksIDU3NDg1LCA1NzQ5MSwgNTc0OTcsIDU3NTAzLCA1NzUwOSwgCi0gICAgNTc1MTUsIDU3NTIxLCA1NzUyNywgNTc1MzMsIDU3NTM5LCA1NzU0MywgNTc1NDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDU3NTU1LCA1NzU1OCwgNTc1NjIsIDU3NTY2LCA1NzU3MCwgNTc1NzQsIDU3NTc3LCA1NzU4MCwgCi0gICAgNTc1ODQsIDU3NTg4LCA1NzU5MiwgNTc1OTYsIDU3NTk5LCA1NzYwNCwgNTc2MDgsIDU3NjEyLCA1NzYxNiwgNTc2MjIsIAotICAgIDU3NjI2LCA1NzYzMCwgNTc2MzQsIDU3NjM4LCA1NzY0NSwgNTc2NTEsIDU3NjU1LCA1NzY1OSwgNTc2NjMsIDU3NjY3LCAKLSAgICA1NzY3MSwgNTc2NzUsIDU3Njc5LCA1NzY4MywgNTc2ODcsIDU3NjkxLCA1NzY5NSwgNTc3MDEsIDU3NzA1LCA1NzcwOSwgCi0gICAgNTc3MTMsIDU3NzE3LCA1NzcyMSwgNTc3MjUsIDU3NzI5LCA1NzczMywgNTc3MzcsIDU3NzQxLCA1Nzc0NSwgNTc3NDksIAotICAgIDU3NzUzLCA1Nzc1NywgNTc3NjEsIDU3NzY1LCA1Nzc3MSwgNTc3NzcsIDU3NzgyLCA1Nzc4NywgNTc3OTEsIDU3Nzk1LCAKLSAgICA1Nzc5OSwgNTc4MDMsIDU3ODA3LCA1NzgxMSwgNTc4MTUsIDU3ODE5LCA1NzgyMywgNTc4MjcsIDU3ODMxLCA1NzgzNSwgCi0gICAgNTc4MzksIDU3ODQzLCA1Nzg0NywgNTc4NTEsIDU3ODU1LCA1Nzg1OSwgNTc4NjMsIDU3ODY3LCA1Nzg3MSwgNTc4NzUsIAotICAgIDU3ODc5LCA1Nzg4MywgNTc4ODksIDU3ODkzLCA1Nzg5NywgNTc5MDEsIDU3OTA1LCA1NzkwOSwgNTc5MTMsIDU3OTE3LCAKLSAgICA1NzkyMSwgNTc5MjYsIDU3OTMzLCA1NzkzNywgNTc5NDEsIDU3OTQ1LCA1Nzk0OSwgNTc5NTMsIDU3OTU3LCA1Nzk2MSwgCi0gICAgNTc5NjUsIDU3OTY5LCA1Nzk3MywgNTc5NzcsIDU3OTgxLCA1Nzk4OCwgNTc5OTIsIDU3OTk4LCA1ODAwMiwgNTgwMDYsIAotICAgIDU4MDEwLCA1ODAxNCwgNTgwMTgsIDU4MDIxLCA1ODAyNSwgNTgwMjksIDU4MDMzLCA1ODAzNywgNTgwNDEsIDU4MDQ1LCAKLSAgICA1ODA0OSwgNTgwNTMsIDU4MDU3LCA1ODA2MSwgNTgwNjUsIDU4MDY5LCA1ODA3MywgNTgwNzcsIDU4MDgxLCA1ODA4NSwgCi0gICAgNTgwODksIDU4MDkzLCA1ODA5NywgNTgxMDEsIDU4MTA1LCA1ODEwOSwgNTgxMTMsIDU4MTE3LCA1ODEyMSwgNTgxMjUsIAotICAgIDU4MTI5LCA1ODEzMywgNTgxMzcsIDU4MTQxLCA1ODE0NSwgNTgxNDksIDU4MTU1LCA1ODE1OSwgNTgxNjMsIDU4MTY3LCAKLSAgICA1ODE3MSwgNTgxNzUsIDU4MTc5LCA1ODE4MywgNTgxODcsIDU4MTkxLCA1ODE5NSwgNTgxOTksIDU4MjAzLCA1ODIwNywgCi0gICAgNTgyMTEsIDU4MjE1LCA1ODIxOSwgNTgyMjMsIDU4MjI3LCA1ODIzMSwgNTgyMzUsIDU4MjM5LCA1ODI0MywgNTgyNDcsIAotICAgIDU4MjUxLCA1ODI1NSwgNTgyNTksIDU4MjYzLCA1ODI3MSwgNTgyNzUsIDU4Mjc5LCA1ODI4MywgNTgyODcsIDU4MjkxLCAKLSAgICA1ODI5NywgNTgzMDEsIDU4MzA1LCA1ODMwOSwgNTgzMTMsIDU4MzE3LCA1ODMyMSwgNTgzMjUsIDU4MzI5LCA1ODMzMywgCi0gICAgNTgzMzcsIDU4MzQxLCA1ODM0NSwgNTgzNDksIDU4MzU1LCA1ODM1OSwgNTgzNjMsIDU4MzY3LCA1ODM3MSwgNTgzNzUsIAotICAgIDU4Mzc5LCA1ODM4MywgNTgzODcsIDU4MzkxLCA1ODM5NSwgNTgzOTksIDU4NDAzLCA1ODQwNywgNTg0MTEsIDU4NDE1LCAKLSAgICA1ODQxOSwgNTg0MjMsIDU4NDI3LCA1ODQzMSwgNTg0MzUsIDU4NDM5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1ODQ0MywgNTg0NTIsIDU4NDYwLCAKLSAgICA1ODQ3MiwgNTg0ODMsIDU4NDkxLCA1ODUwMCwgNTg1MDksIDU4NTE5LCA1ODUzMSwgNTg1NDMsIDU4NTU1LCAwLCAwLCAwLCAKLSAgICAwLCA1ODU2MSwgNTg1NjQsIDU4NTY3LCA1ODU3MiwgNTg1NzUsIDU4NTgyLCA1ODU4NiwgNTg1OTAsIDU4NTk0LCA1ODU5OCwgCi0gICAgNTg2MDIsIDU4NjA3LCA1ODYxMiwgNTg2MTYsIDU4NjIwLCA1ODYyNSwgNTg2MzAsIDU4NjM1LCA1ODY0MCwgNTg2NDMsIAotICAgIDU4NjQ2LCA1ODY1MiwgNTg2NTgsIDU4NjYzLCA1ODY2OCwgNTg2NzUsIDU4NjgyLCA1ODY4NiwgNTg2OTAsIDU4Njk0LCAKLSAgICA1ODcwMiwgNTg3MDgsIDU4NzE1LCA1ODcyMCwgNTg3MjUsIDU4NzMwLCA1ODczNSwgNTg3NDAsIDU4NzQ1LCA1ODc1MCwgCi0gICAgNTg3NTUsIDU4NzYwLCA1ODc2NSwgNTg3NzAsIDU4Nzc1LCA1ODc4MCwgNTg3ODUsIDU4NzkxLCA1ODc5NiwgNTg4MDAsIAotICAgIDU4ODA2LCA1ODgxNywgNTg4MjcsIDU4ODQyLCA1ODg1MiwgNTg4NTYsIDU4ODY1LCA1ODg3MSwgNTg4NzcsIDU4ODgzLCAKLSAgICA1ODg4OCwgNTg4OTEsIDU4ODk2LCA1ODkwMCwgMCwgNTg5MDYsIDU4OTEwLCA1ODkxMywgNTg5MTcsIDU4OTIwLCA1ODkyNCwgCi0gICAgNTg5MjcsIDU4OTMxLCA1ODkzNCwgNTg5MzgsIDU4OTQxLCA1ODk0NCwgNTg5NDgsIDU4OTUyLCA1ODk1NiwgNTg5NjAsIAotICAgIDU4OTY0LCA1ODk2OCwgNTg5NzIsIDU4OTc2LCA1ODk4MCwgNTg5ODQsIDU4OTg4LCA1ODk5MiwgNTg5OTYsIDU5MDAwLCAKLSAgICA1OTAwNCwgNTkwMDgsIDU5MDEyLCA1OTAxNiwgNTkwMjAsIDU5MDI0LCA1OTAyOCwgNTkwMzIsIDU5MDM2LCA1OTA0MSwgCi0gICAgNTkwNDUsIDU5MDQ5LCA1OTA1MywgNTkwNTcsIDU5MDYwLCA1OTA2NCwgNTkwNjcsIDU5MDcxLCA1OTA3NSwgNTkwNzksIAotICAgIDU5MDgzLCA1OTA4NiwgNTkwOTAsIDU5MDkzLCA1OTA5NywgNTkxMDEsIDU5MTA1LCA1OTEwOSwgNTkxMTMsIDU5MTE3LCAKLSAgICA1OTEyMSwgNTkxMjUsIDU5MTI5LCA1OTEzMywgNTkxMzcsIDU5MTQxLCA1OTE0NCwgNTkxNDgsIDU5MTUyLCA1OTE1NiwgCi0gICAgNTkxNjAsIDU5MTY0LCA1OTE2NywgNTkxNzIsIDU5MTc2LCA1OTE4MSwgNTkxODUsIDU5MTg4LCA1OTE5MiwgNTkxOTYsIAotICAgIDU5MjAwLCA1OTIwNCwgNTkyMDksIDU5MjEzLCA1OTIxNywgNTkyMjEsIDU5MjI1LCA1OTIyOCwgNTkyMzIsIDU5MjM2LCAwLCAKLSAgICAwLCA1OTI0MSwgNTkyNDksIDU5MjU3LCA1OTI2NCwgNTkyNzEsIDU5Mjc1LCA1OTI4MSwgNTkyODYsIDU5MjkxLCA1OTI5NSwgCi0gICAgNTkyOTgsIDU5MzAyLCA1OTMwNSwgNTkzMDksIDU5MzEyLCA1OTMxNiwgNTkzMTksIDU5MzIzLCA1OTMyNiwgNTkzMjksIAotICAgIDU5MzMzLCA1OTMzNywgNTkzNDEsIDU5MzQ1LCA1OTM0OSwgNTkzNTMsIDU5MzU3LCA1OTM2MSwgNTkzNjUsIDU5MzY5LCAKLSAgICA1OTM3MywgNTkzNzcsIDU5MzgxLCA1OTM4NSwgNTkzODksIDU5MzkzLCA1OTM5NywgNTk0MDEsIDU5NDA1LCA1OTQwOSwgCi0gICAgNTk0MTMsIDU5NDE3LCA1OTQyMSwgNTk0MjYsIDU5NDMwLCA1OTQzNCwgNTk0MzgsIDU5NDQyLCA1OTQ0NSwgNTk0NDksIAotICAgIDU5NDUyLCA1OTQ1NiwgNTk0NjAsIDU5NDY0LCA1OTQ2OCwgNTk0NzEsIDU5NDc1LCA1OTQ3OCwgNTk0ODIsIDU5NDg2LCAKLSAgICA1OTQ5MCwgNTk0OTQsIDU5NDk4LCA1OTUwMiwgNTk1MDYsIDU5NTEwLCA1OTUxNCwgNTk1MTgsIDU5NTIyLCA1OTUyNiwgCi0gICAgNTk1MjksIDU5NTMzLCA1OTUzNywgNTk1NDEsIDU5NTQ1LCA1OTU0OSwgNTk1NTIsIDU5NTU3LCA1OTU2MSwgNTk1NjYsIAotICAgIDU5NTcwLCA1OTU3MywgNTk1NzcsIDU5NTgxLCA1OTU4NSwgNTk1ODksIDU5NTk0LCA1OTU5OCwgNTk2MDIsIDU5NjA2LCAKLSAgICA1OTYxMCwgNTk2MTMsIDU5NjE3LCA1OTYyMSwgNTk2MjYsIDU5NjMwLCA1OTYzNCwgNTk2MzgsIDU5NjQyLCA1OTY0NywgCi0gICAgNTk2NTQsIDU5NjU4LCA1OTY2NCwgMCwgMCwgMCwgMCwgMCwgNTk2NjksIDU5NjczLCA1OTY3NywgNTk2ODAsIDU5Njg0LCAKLSAgICA1OTY4OCwgNTk2OTIsIDU5Njk1LCA1OTY5OCwgNTk3MDIsIDU5NzA2LCA1OTcxMCwgNTk3MTQsIDU5NzE4LCA1OTcyMiwgCi0gICAgNTk3MjYsIDU5NzMwLCA1OTczNCwgNTk3MzcsIDU5NzQxLCA1OTc0NSwgNTk3NDgsIDU5NzUxLCA1OTc1NCwgNTk3NTcsIAotICAgIDU5NzYxLCA1OTc2NSwgNTk3NjksIDU5NzczLCA1OTc3NywgNTk3ODEsIDU5Nzg1LCA1OTc4OSwgNTk3OTMsIDU5Nzk3LCAKLSAgICA1OTgwMCwgNTk4MDMsIDU5ODA3LCA1OTgxMSwgNTk4MTUsIDU5ODE5LCAwLCAwLCAwLCA1OTgyMywgNTk4MjcsIDU5ODMxLCAKLSAgICA1OTgzNSwgNTk4MzksIDU5ODQzLCA1OTg0NywgNTk4NTEsIDU5ODU1LCA1OTg1OSwgNTk4NjMsIDU5ODY3LCA1OTg3MSwgCi0gICAgNTk4NzUsIDU5ODc5LCA1OTg4MywgNTk4ODcsIDU5ODkxLCA1OTg5NSwgNTk4OTksIDU5OTAzLCA1OTkwNywgNTk5MTEsIAotICAgIDU5OTE1LCA1OTkxOSwgNTk5MjMsIDU5OTI3LCA1OTkzMSwgNTk5MzUsIDU5OTM5LCA1OTk0MywgNTk5NDYsIDU5OTUwLCAKLSAgICA1OTk1MywgNTk5NTcsIDU5OTYxLCA1OTk2NCwgNTk5NjgsIDU5OTcyLCA1OTk3NSwgNTk5NzksIDU5OTgzLCA1OTk4NywgCi0gICAgNTk5OTEsIDU5OTk0LCA1OTk5OCwgNjAwMDIsIDYwMDA2LCA2MDAxMCwgNjAwMTQsIDYwMDE4LCA2MDAyMSwgNjAwMjQsIAotICAgIDYwMDI4LCA2MDAzMiwgNjAwMzYsIDYwMDQwLCA2MDA0NCwgNjAwNDgsIDYwMDUyLCA2MDA1NiwgNjAwNjAsIDYwMDY0LCAKLSAgICA2MDA2OCwgNjAwNzIsIDYwMDc2LCA2MDA4MCwgNjAwODQsIDYwMDg4LCA2MDA5MiwgNjAwOTYsIDYwMTAwLCA2MDEwNCwgCi0gICAgNjAxMDgsIDYwMTEyLCA2MDExNiwgNjAxMjAsIDYwMTI0LCA2MDEyOCwgNjAxMzIsIDYwMTM2LCA2MDE0MCwgNjAxNDQsIAotICAgIDYwMTQ4LCA2MDE1MiwgNjAxNTYsIDYwMTYwLCA2MDE2NCwgNjAxNjgsIDYwMTcyLCA2MDE3NiwgNjAxODAsIDYwMTg0LCAKLSAgICA2MDE4OCwgMCwgNjAxOTIsIDYwMTk4LCA2MDIwNCwgNjAyMDksIDYwMjE0LCA2MDIxOSwgNjAyMjUsIDYwMjMxLCA2MDIzNywgCi0gICAgNjAyNDMsIDYwMjQ5LCA2MDI1NSwgNjAyNjEsIDYwMjY3LCA2MDI3MywgNjAyNzksIDYwMjg1LCA2MDI4OSwgNjAyOTMsIAotICAgIDYwMjk3LCA2MDMwMSwgNjAzMDUsIDYwMzA5LCA2MDMxMywgNjAzMTcsIDYwMzIxLCA2MDMyNSwgNjAzMjksIDYwMzMzLCAKLSAgICA2MDMzNywgNjAzNDEsIDYwMzQ1LCA2MDM0OSwgNjAzNTMsIDYwMzU3LCA2MDM2MSwgNjAzNjUsIDYwMzcwLCA2MDM3NSwgCi0gICAgNjAzODAsIDYwMzg1LCA2MDM4OSwgNjAzOTMsIDAsIDAsIDAsIDAsIDAsIDYwMzk3LCA2MDQwMiwgNjA0MDcsIDYwNDEyLCAKLSAgICA2MDQxNywgNjA0MjIsIDYwNDI3LCA2MDQzMiwgNjA0MzcsIDYwNDQyLCA2MDQ0NywgNjA0NTIsIDYwNDU3LCA2MDQ2MiwgCi0gICAgNjA0NjcsIDYwNDcyLCA2MDQ3NiwgNjA0ODEsIDYwNDg1LCA2MDQ5MCwgNjA0OTUsIDYwNTAwLCA2MDUwNSwgNjA1MTAsIAotICAgIDYwNTE1LCA2MDUyMCwgNjA1MjUsIDYwNTMwLCA2MDUzNSwgNjA1NDAsIDYwNTQ1LCA2MDU1MCwgNjA1NTUsIDYwNTYwLCAKLSAgICA2MDU2NSwgNjA1NzAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDYwNTc1LCA2MDU4MCwgNjA1ODUsIAotICAgIDYwNTkwLCA2MDU5NCwgNjA1OTksIDYwNjAzLCA2MDYwOCwgNjA2MTMsIDYwNjE4LCA2MDYyMywgNjA2MjgsIDYwNjMyLCAKLSAgICA2MDYzNywgNjA2NDIsIDYwNjQ3LCA2MDY1MiwgNjA2NTYsIDYwNjYwLCA2MDY2NCwgNjA2NjgsIDYwNjcyLCA2MDY3NiwgCi0gICAgNjA2ODAsIDYwNjg0LCA2MDY4OCwgNjA2OTIsIDYwNjk2LCA2MDcwMCwgNjA3MDQsIDYwNzA4LCA2MDcxMywgNjA3MTgsIAotICAgIDYwNzIzLCA2MDcyOCwgNjA3MzMsIDYwNzM4LCA2MDc0MywgNjA3NDgsIDYwNzUzLCA2MDc1OCwgNjA3NjMsIDYwNzY4LCAKLSAgICA2MDc3MywgNjA3NzgsIDYwNzgzLCA2MDc4OSwgMCwgNjA3OTYsIDYwNzk5LCA2MDgwMiwgNjA4MDUsIDYwODA4LCA2MDgxMSwgCi0gICAgNjA4MTQsIDYwODE3LCA2MDgyMCwgNjA4MjMsIDYwODI3LCA2MDgzMSwgNjA4MzUsIDYwODM5LCA2MDg0MywgNjA4NDcsIAotICAgIDYwODUxLCA2MDg1NSwgNjA4NTksIDYwODYzLCA2MDg2NywgNjA4NzEsIDYwODc1LCA2MDg3OSwgNjA4ODMsIDYwODg3LCAKLSAgICA2MDg5MSwgNjA4OTUsIDYwODk5LCA2MDkwMywgNjA5MDcsIDYwOTExLCA2MDkxNSwgNjA5MTksIDYwOTIzLCA2MDkyNywgCi0gICAgNjA5MzEsIDYwOTM1LCA2MDkzOSwgNjA5NDMsIDYwOTQ3LCA2MDk1NiwgNjA5NjUsIDYwOTc0LCA2MDk4MywgNjA5OTIsIAotICAgIDYxMDAxLCA2MTAxMCwgNjEwMTksIDYxMDIyLCA2MTAyNywgNjEwMzIsIDYxMDM3LCA2MTA0MiwgNjEwNDcsIDYxMDUyLCAKLSAgICA2MTA1NywgNjEwNjIsIDYxMDY3LCA2MTA3MSwgNjEwNzYsIDYxMDgxLCA2MTA4NiwgNjEwOTEsIDYxMDk2LCA2MTEwMCwgCi0gICAgNjExMDQsIDYxMTA4LCA2MTExMiwgNjExMTYsIDYxMTIwLCA2MTEyNCwgNjExMjgsIDYxMTMyLCA2MTEzNiwgNjExNDAsIAotICAgIDYxMTQ0LCA2MTE0OCwgNjExNTIsIDYxMTU3LCA2MTE2MiwgNjExNjcsIDYxMTcyLCA2MTE3NywgNjExODIsIDYxMTg3LCAKLSAgICA2MTE5MiwgNjExOTcsIDYxMjAyLCA2MTIwNywgNjEyMTIsIDYxMjE3LCA2MTIyMiwgNjEyMjgsIDYxMjM0LCA2MTIzOSwgCi0gICAgNjEyNDQsIDYxMjQ3LCA2MTI1MCwgNjEyNTMsIDYxMjU2LCA2MTI1OSwgNjEyNjIsIDYxMjY1LCA2MTI2OCwgNjEyNzEsIAotICAgIDYxMjc1LCA2MTI3OSwgNjEyODMsIDYxMjg3LCA2MTI5MSwgNjEyOTUsIDYxMjk5LCA2MTMwMywgNjEzMDcsIDYxMzExLCAKLSAgICA2MTMxNSwgNjEzMTksIDYxMzIzLCA2MTMyNywgNjEzMzEsIDYxMzM1LCA2MTMzOSwgNjEzNDMsIDYxMzQ3LCA2MTM1MSwgCi0gICAgNjEzNTUsIDYxMzU5LCA2MTM2MywgNjEzNjcsIDYxMzcxLCA2MTM3NSwgNjEzNzksIDYxMzgzLCA2MTM4NywgNjEzOTEsIAotICAgIDYxMzk1LCA2MTM5OSwgNjE0MDMsIDYxNDA3LCA2MTQxMSwgNjE0MTUsIDYxNDE5LCA2MTQyMywgNjE0MjcsIDYxNDMxLCAKLSAgICA2MTQzNiwgNjE0NDEsIDYxNDQ2LCA2MTQ1MSwgNjE0NTUsIDYxNDYwLCA2MTQ2NSwgNjE0NzAsIDYxNDc1LCA2MTQ4MCwgCi0gICAgNjE0ODUsIDYxNDkwLCA2MTQ5NSwgNjE1MDAsIDYxNTA0LCA2MTUxMCwgNjE1MTYsIDYxNTIyLCA2MTUyOCwgNjE1MzQsIAotICAgIDYxNTQwLCA2MTU0NiwgNjE1NTIsIDYxNTU4LCA2MTU2NCwgNjE1NzAsIDYxNTc2LCA2MTU3OSwgNjE1ODIsIDYxNTg1LCAKLSAgICA2MTU5MCwgNjE1OTMsIDYxNTk2LCA2MTU5OSwgNjE2MDIsIDYxNjA1LCA2MTYwOCwgNjE2MTIsIDYxNjE2LCA2MTYyMCwgCi0gICAgNjE2MjQsIDYxNjI4LCA2MTYzMiwgNjE2MzYsIDYxNjQwLCA2MTY0NCwgNjE2NDgsIDYxNjUyLCA2MTY1NiwgNjE2NjAsIAotICAgIDYxNjYzLCA2MTY2NiwgNjE2NzAsIDYxNjc0LCA2MTY3OCwgNjE2ODIsIDYxNjg1LCA2MTY4OSwgNjE2OTMsIDYxNjk3LCAKLSAgICA2MTcwMSwgNjE3MDQsIDYxNzA4LCA2MTcxMiwgNjE3MTYsIDYxNzIwLCA2MTcyMywgNjE3MjcsIDYxNzMxLCA2MTczNCwgCi0gICAgNjE3MzgsIDYxNzQyLCA2MTc0NiwgNjE3NTAsIDYxNzU0LCA2MTc1OCwgNjE3NjIsIDAsIDYxNzY2LCA2MTc2OSwgNjE3NzIsIAotICAgIDYxNzc1LCA2MTc3OCwgNjE3ODEsIDYxNzg0LCA2MTc4NywgNjE3OTAsIDYxNzkzLCA2MTc5NiwgNjE3OTksIDYxODAyLCAKLSAgICA2MTgwNSwgNjE4MDgsIDYxODExLCA2MTgxNCwgNjE4MTcsIDYxODIwLCA2MTgyMywgNjE4MjYsIDYxODI5LCA2MTgzMiwgCi0gICAgNjE4MzUsIDYxODM4LCA2MTg0MSwgNjE4NDQsIDYxODQ3LCA2MTg1MCwgNjE4NTMsIDYxODU2LCA2MTg1OSwgNjE4NjIsIAotICAgIDYxODY1LCA2MTg2OCwgNjE4NzEsIDYxODc0LCA2MTg3NywgNjE4ODAsIDYxODgzLCA2MTg4NiwgNjE4ODksIDYxODkyLCAKLSAgICA2MTg5NSwgNjE4OTgsIDYxOTAxLCA2MTkwNCwgNjE5MDcsIDYxOTEwLCA2MTkxMywgNjE5MTYsIDYxOTE5LCA2MTkyMiwgCi0gICAgNjE5MjUsIDYxOTI4LCA2MTkzMSwgNjE5MzQsIDYxOTM3LCA2MTk0MCwgNjE5NDMsIDYxOTQ2LCA2MTk0OSwgNjE5NTIsIAotICAgIDYxOTU1LCA2MTk1OCwgNjE5NjEsIDYxOTY0LCA2MTk2NywgNjE5NzAsIDYxOTczLCA2MTk3NiwgNjE5NzksIDYxOTgyLCAKLSAgICA2MTk4NSwgNjE5ODgsIDYxOTkxLCA2MTk5NCwgNjE5OTcsIDYyMDAwLCA2MjAwMywgNjIwMDYsIDYyMDA5LCA2MjAxMiwgCi0gICAgNjIwMTUsIDYyMDE4LCA2MjAyMSwgNjIwMjQsIDYyMDI3LCA2MjAzMCwgNjIwMzgsIDYyMDQ1LCA2MjA1MiwgNjIwNTksIAotICAgIDYyMDY2LCA2MjA3MywgNjIwODAsIDYyMDg3LCA2MjA5NCwgNjIxMDEsIDYyMTA5LCA2MjExNywgNjIxMjUsIDYyMTMzLCAKLSAgICA2MjE0MSwgNjIxNDksIDYyMTU3LCA2MjE2NSwgNjIxNzMsIDYyMTgxLCA2MjE4OSwgNjIxOTcsIDYyMjA1LCA2MjIxMywgCi0gICAgNjIyMjEsIDYyMjI0LCA2MjIyNywgNjIyMzAsIDYyMjMyLCA2MjIzNSwgNjIyMzgsIDYyMjQxLCA2MjI0NiwgNjIyNTEsIAotICAgIDYyMjU0LCA2MjI2MSwgNjIyNjgsIDYyMjc1LCA2MjI4MiwgNjIyODUsIDYyMjkwLCA2MjI5MiwgNjIyOTYsIDYyMjk4LCAKLSAgICA2MjMwMCwgNjIzMDMsIDYyMzA2LCA2MjMwOSwgNjIzMTIsIDYyMzE1LCA2MjMxOCwgNjIzMjEsIDYyMzI2LCA2MjMzMSwgCi0gICAgNjIzMzQsIDYyMzM3LCA2MjM0MCwgNjIzNDMsIDYyMzQ2LCA2MjM0OSwgNjIzNTIsIDYyMzU2LCA2MjM1OSwgNjIzNjIsIAotICAgIDYyMzY1LCA2MjM2OCwgNjIzNzEsIDYyMzc1LCA2MjM3OCwgNjIzODEsIDYyMzg0LCA2MjM4OSwgNjIzOTQsIDYyMzk5LCAKLSAgICA2MjQwNCwgNjI0MDksIDYyNDE0LCA2MjQxOSwgNjI0MjQsIDYyNDI5LCA2MjQzNywgNjI0MzksIDYyNDQyLCA2MjQ0NSwgCi0gICAgNjI0NDgsIDYyNDUxLCA2MjQ1NiwgNjI0NjQsIDYyNDY3LCA2MjQ3MCwgNjI0NzQsIDYyNDc3LCA2MjQ4MCwgNjI0ODMsIAotICAgIDYyNDg4LCA2MjQ5MSwgNjI0OTQsIDYyNDk5LCA2MjUwMiwgNjI1MDUsIDYyNTEwLCA2MjUxMywgNjI1MTYsIDYyNTIxLCAKLSAgICA2MjUyNiwgNjI1MzEsIDYyNTM0LCA2MjUzNywgNjI1NDAsIDYyNTQzLCA2MjU0OSwgNjI1NTIsIDYyNTU1LCA2MjU1OCwgCi0gICAgNjI1NjAsIDYyNTYzLCA2MjU2NiwgNjI1NjksIDYyNTc0LCA2MjU3NywgNjI1ODAsIDYyNTgzLCA2MjU4NiwgNjI1ODksIAotICAgIDYyNTk0LCA2MjU5NywgNjI2MDAsIDYyNjAzLCA2MjYwNiwgNjI2MDksIDYyNjEyLCA2MjYxNSwgNjI2MTgsIDYyNjIxLCAKLSAgICA2MjYyNiwgNjI2MzAsIDYyNjM3LCA2MjY0NCwgNjI2NTEsIDYyNjU4LCA2MjY2NSwgNjI2NzIsIDYyNjc5LCA2MjY4NiwgCi0gICAgNjI2OTMsIDYyNzAxLCA2MjcwOSwgNjI3MTcsIDYyNzI1LCA2MjczMywgNjI3NDEsIDYyNzQ5LCA2Mjc1NywgNjI3NjUsIAotICAgIDYyNzczLCA2Mjc4MSwgNjI3ODksIDYyNzk3LCA2MjgwNSwgNjI4MTMsIDYyODIxLCA2MjgyOSwgNjI4MzcsIDYyODQ1LCAKLSAgICA2Mjg1MywgNjI4NjEsIDYyODY5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAxNDcsIDE1MSwgMTU2LCAxNjEsIDE2NSwgMTcwLCAxNzUsIDE3OSwgMTg0LCAxODksIDE5NCwgMTk5LCAyMDQsIDIwNywgCisgICAgMjExLCAyMTQsIDIxOCwgMjIxLCAyMjUsIDIyOSwgMjM0LCAyMzksIDI0NCwgMjQ4LCAyNTMsIDI1OCwgMjYzLCAyNjcsIAorICAgIDI3MiwgMjc3LCAyODEsIDI4NSwgMjkwLCAyOTQsIDI5OSwgMzA0LCAzMDgsIDMxMywgMzE4LCAzMjIsIDMyNywgMzMyLCAKKyAgICAzMzcsIDM0MiwgMzQ3LCAzNTEsIDM1NCwgMzU4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNTksIDM2MywgMzY4LCAKKyAgICAzNzEsIDM3NCwgMzc3LCAzODAsIDM4MywgMzg2LCAzODgsIDM5MSwgMzk3LCA0MDUsIDQwOCwgNDEyLCA0MTUsIDQxNywgCisgICAgNDIwLCA0MjMsIDQyNiwgNDI5LCA0MzMsIDQzNiwgNDM5LCA0NDMsIDQ0NSwgNDQ4LCA0NTQsIDQ2MiwgNDY5LCA0NzYsIAorICAgIDQ4MywgNDg4LCA0OTUsIDUwMSwgNTA4LCA1MTQsIDUyMSwgNTI5LCA1MzQsIDU0MiwgNTQ5LCA1NTUsIDU2MiwgNTY5LCAKKyAgICA1NzcsIDU4NCwgNTkyLCA2MDAsIDYwNSwgNjEyLCA2MTksIDYyNSwgNjMyLCA2MzgsIDY0NSwgNjQ4LCA2NTQsIDY2MSwgCisgICAgNjY3LCA2NzQsIDY4MSwgNjg4LCA2OTMsIDcwMCwgNzA3LCA3MTMsIDcyMCwgNzI2LCA3MzMsIDc0MSwgNzQ2LCA3NTQsIAorICAgIDc2MSwgNzY3LCA3NzQsIDc4MSwgNzg5LCA3OTYsIDgwNCwgODEyLCA4MTcsIDgyNCwgODMxLCA4MzcsIDg0NCwgODUwLCAKKyAgICA4NTcsIDg2MCwgODY2LCA4NzMsIDg3OSwgODg2LCA4OTMsIDkwMCwgOTA1LCA5MTMsIDkyMCwgOTI3LCA5MzQsIDk0MSwgCisgICAgOTQ4LCA5NTUsIDk2MiwgOTY5LCA5NzcsIDk4NSwgOTkzLCAxMDAxLCAxMDA5LCAxMDE3LCAxMDI1LCAxMDMzLCAxMDQwLCAKKyAgICAxMDQ3LCAxMDU0LCAxMDYxLCAxMDY4LCAxMDc1LCAxMDgyLCAxMDg5LCAxMDk2LCAxMTAzLCAxMTEwLCAxMTE3LCAxMTI1LCAKKyAgICAxMTMzLCAxMTQxLCAxMTQ5LCAxMTU3LCAxMTY1LCAxMTczLCAxMTgxLCAxMTg5LCAxMTk3LCAxMjA0LCAxMjExLCAxMjE4LCAKKyAgICAxMjI1LCAxMjMzLCAxMjQxLCAxMjQ5LCAxMjU3LCAxMjY1LCAxMjczLCAxMjgxLCAxMjg3LCAxMjkyLCAxMjk3LCAxMzA1LCAKKyAgICAxMzEzLCAxMzIxLCAxMzI5LCAxMzM0LCAxMzQxLCAxMzQ4LCAxMzU2LCAxMzY0LCAxMzcyLCAxMzgwLCAxMzkwLCAxNDAwLCAKKyAgICAxNDA3LCAxNDE0LCAxNDIxLCAxNDI4LCAxNDM2LCAxNDQ0LCAxNDUyLCAxNDYwLCAxNDcxLCAxNDc2LCAxNDgxLCAxNDg4LCAKKyAgICAxNDk1LCAxNTAyLCAxNTA5LCAxNTE2LCAxNTIzLCAxNTI4LCAxNTMzLCAxNTQwLCAxNTQ3LCAxNTU1LCAxNTYzLCAxNTcxLCAKKyAgICAxNTc5LCAxNTg2LCAxNTkzLCAxNjAxLCAxNjA5LCAxNjE3LCAxNjI1LCAxNjMzLCAxNjQxLCAxNjQ5LCAxNjU3LCAxNjY1LCAKKyAgICAxNjczLCAxNjgwLCAxNjg3LCAxNjkzLCAxNjk5LCAxNzA2LCAxNzEzLCAxNzIwLCAxNzI3LCAxNzM1LCAxNzQzLCAxNzUwLCAKKyAgICAxNzU3LCAxNzY0LCAxNzcxLCAxNzc5LCAxNzg3LCAxNzk1LCAxODAzLCAxODExLCAxODE4LCAxODI1LCAxODMzLCAxODQxLCAKKyAgICAxODQ5LCAxODU3LCAxODYzLCAxODY5LCAxODc1LCAxODgyLCAxODg5LCAxODk0LCAxODk5LCAxOTA0LCAxOTExLCAxOTE4LCAKKyAgICAxOTI1LCAxOTMyLCAxOTQwLCAxOTQ4LCAxOTU1LCAxOTYxLCAxOTY2LCAxOTcxLCAxOTc4LCAxOTg1LCAxOTkyLCAxOTk3LCAKKyAgICAyMDAyLCAyMDA3LCAyMDE0LCAyMDIxLCAyMDI4LCAyMDM1LCAyMDQyLCAyMDQ4LCAyMDU2LCAyMDY2LCAyMDc0LCAyMDgxLCAKKyAgICAyMDg4LCAyMDkzLCAyMDk4LCAyMTA1LCAyMTEyLCAyMTE2LCAyMTIxLCAyMTI2LCAyMTMxLCAyMTM5LCAyMTQ4LCAyMTU1LCAKKyAgICAyMTYyLCAyMTcxLCAyMTc4LCAyMTg1LCAyMTkwLCAyMTk3LCAyMjA0LCAyMjExLCAyMjE4LCAyMjI1LCAyMjMwLCAyMjM3LCAKKyAgICAyMjQ0LCAyMjUyLCAyMjU3LCAyMjYyLCAyMjY3LCAyMjc3LCAyMjgxLCAyMjg3LCAyMjkzLCAyMjk5LCAyMzA1LCAyMzEzLCAKKyAgICAyMzI2LCAyMzM0LCAyMzM5LCAyMzQ5LCAyMzU0LCAyMzU5LCAyMzY5LCAyMzc0LCAyMzgxLCAyMzg4LCAyMzk2LCAyNDA0LCAKKyAgICAyNDExLCAyNDE4LCAyNDI1LCAyNDMyLCAyNDQyLCAyNDUyLCAyNDYxLCAyNDcwLCAyNDgwLCAyNDkwLCAyNTAwLCAyNTEwLCAKKyAgICAyNTE2LCAyNTI2LCAyNTM2LCAyNTQ2LCAyNTU2LCAyNTY0LCAyNTcyLCAyNTc5LCAyNTg2LCAyNTk0LCAyNjAyLCAyNjEwLCAKKyAgICAyNjE4LCAyNjI1LCAyNjMyLCAyNjQyLCAyNjUyLCAyNjYwLCAyNjY4LCAyNjc2LCAyNjgxLCAyNjkxLCAyNjk2LCAyNzAzLCAKKyAgICAyNzEwLCAyNzE1LCAyNzIwLCAyNzI4LCAyNzM2LCAyNzQ2LCAyNzU2LCAyNzYzLCAyNzcwLCAyNzc5LCAyNzg4LCAyNzk2LCAKKyAgICAyODA0LCAyODEzLCAyODIyLCAyODMwLCAyODM4LCAyODQ3LCAyODU2LCAyODY1LCAyODc0LCAyODg0LCAyODk0LCAyOTAyLCAKKyAgICAyOTEwLCAyOTE5LCAyOTI4LCAyOTM3LCAyOTQ2LCAyOTU2LCAyOTY2LCAyOTc0LCAyOTgyLCAyOTkxLCAzMDAwLCAzMDA5LCAKKyAgICAzMDE4LCAzMDI3LCAzMDM2LCAzMDQxLCAzMDQ2LCAzMDU0LCAzMDYyLCAzMDcyLCAzMDgwLCAzMDg1LCAzMDkwLCAzMDk3LCAKKyAgICAzMTA0LCAzMTExLCAzMTE4LCAzMTI1LCAzMTMyLCAzMTQyLCAzMTUyLCAzMTYyLCAzMTcyLCAzMTc5LCAzMTg2LCAzMTk2LCAKKyAgICAzMjA2LCAzMjE0LCAzMjIyLCAzMjMwLCAzMjM4LCAzMjQ2LCAzMjUzLCAzMjYwLCAzMjY3LCAzMjczLCAzMjgwLCAzMjg3LCAKKyAgICAzMjk0LCAzMzAzLCAzMzEzLCAzMzIzLCAzMzMwLCAzMzM3LCAzMzQzLCAzMzQ4LCAzMzU1LCAzMzYxLCAzMzY3LCAzMzc0LCAKKyAgICAzMzgxLCAzMzkyLCAzNDAyLCAzNDA5LCAzNDE2LCAzNDIzLCAzNDMwLCAzNDM2LCAzNDQxLCAzNDQ4LCAzNDU0LCAzNDU5LCAKKyAgICAzNDY3LCAzNDc1LCAzNDgyLCAzNDg4LCAzNDkzLCAzNTAwLCAzNTA1LCAzNTEyLCAzNTIxLCAzNTMwLCAzNTM5LCAzNTQ2LCAKKyAgICAzNTUyLCAzNTU4LCAzNTYzLCAzNTcwLCAzNTc3LCAzNTg0LCAzNTkxLCAzNTk4LCAzNjAzLCAzNjA4LCAzNjE3LCAzNjI1LCAKKyAgICAzNjM0LCAzNjM5LCAzNjQ1LCAzNjU2LCAzNjYzLCAzNjcxLCAzNjgwLCAzNjg2LCAzNjkyLCAzNjk4LCAzNzA1LCAzNzEwLCAKKyAgICAzNzE2LCAzNzI3LCAzNzM2LCAzNzQ1LCAzNzUzLCAzNzYxLCAzNzcxLCAzNzc2LCAzNzgzLCAzNzkwLCAzNzk1LCAzODA3LCAKKyAgICAzODE2LCAzODI0LCAzODMxLCAzODQwLCAzODQ1LCAzODUwLCAzODU3LCAzODY0LCAzODcxLCAzODc4LCAzODg0LCAzODkzLCAKKyAgICAzOTAxLCAzOTA2LCAzOTE0LCAzOTIwLCAzOTI4LCAzOTM2LCAzOTQyLCAzOTQ4LCAzOTU0LCAzOTYxLCAzOTY5LCAzOTc1LCAKKyAgICAzOTgzLCAzOTkwLCAzOTk1LCA0MDAyLCA0MDEwLCA0MDIwLCA0MDI3LCA0MDM0LCA0MDQ0LCA0MDUxLCA0MDU4LCA0MDY4LCAKKyAgICA0MDc1LCA0MDgyLCA0MDg5LCA0MDk1LCA0MTAxLCA0MTExLCA0MTI0LCA0MTI5LCA0MTM2LCA0MTQxLCA0MTQ1LCA0MTUxLCAKKyAgICA0MTYwLCA0MTY3LCA0MTcyLCA0MTc3LCA0MTgxLCA0MTg2LCA0MTkyLCA0MTk2LCA0MjAyLCA0MjA4LCA0MjE0LCA0MjIwLCAKKyAgICA0MjI4LCA0MjMzLCA0MjM4LCA0MjQzLCA0MjQ4LCA0MjU0LCA0MjU2LCA0MjYxLCA0MjY1LCA0MjcxLCA0Mjc3LCA0MjgzLCAKKyAgICA0Mjg4LCA0Mjk1LCA0MzAyLCA0MzA4LCA0MzE1LCA0MzIzLCA0MzMxLCA0MzM2LCA0MzQxLCA0MzQ1LCA0MzUwLCA0MzUyLCAKKyAgICA0MzU0LCA0MzU3LCA0MzU5LCA0MzYxLCA0MzY2LCA0MzcxLCA0Mzc3LCA0MzgyLCA0Mzg2LCA0MzkxLCA0Mzk2LCA0NDA1LCAKKyAgICA0NDExLCA0NDE2LCA0NDIyLCA0NDI3LCA0NDMzLCA0NDQxLCA0NDQ5LCA0NDUzLCA0NDU3LCA0NDYyLCA0NDY4LCA0NDc0LCAKKyAgICA0NDgwLCA0NDg2LCA0NDkxLCA0NDk5LCA0NTA4LCA0NTE3LCA0NTIxLCA0NTI3LCA0NTM0LCA0NTQxLCA0NTQ4LCA0NTU1LCAKKyAgICA0NTU5LCA0NTY0LCA0NTY5LCA0NTc0LCA0NTc5LCA0NTg0LCA0NTg2LCA0NTg5LCA0NTkyLCA0NTk1LCA0NTk4LCA0NjAxLCAKKyAgICA0NjA1LCA0NjA5LCA0NjE1LCA0NjE4LCA0NjIzLCA0NjI5LCA0NjM1LCA0NjM4LCA0NjQzLCA0NjQ5LCA0NjUzLCA0NjU5LCAKKyAgICA0NjY1LCA0NjcxLCA0Njc3LCA0NjgyLCA0Njg3LCA0NjkyLCA0Njk1LCA0NzAxLCA0NzA2LCA0NzExLCA0NzE1LCA0NzIwLCAKKyAgICA0NzI2LCA0NzMyLCA0NzM1LCA0NzM5LCA0NzQzLCA0NzQ3LCA0NzUwLCA0NzUzLCA0NzU4LCA0NzYyLCA0NzY5LCA0NzczLCAKKyAgICA0Nzc5LCA0NzgzLCA0Nzg5LCA0NzkzLCA0Nzk3LCA0ODAxLCA0ODA2LCA0ODExLCA0ODE4LCA0ODI0LCA0ODMxLCA0ODM3LCAKKyAgICA0ODQzLCA0ODQ5LCA0ODUyLCA0ODU2LCA0ODYwLCA0ODYzLCA0ODY3LCA0ODcyLCA0ODc3LCA0ODgxLCA0ODg1LCA0ODkxLCAKKyAgICA0ODk1LCA0ODk5LCA0OTA0LCA0OTEwLCA0OTE1LCA0OTIxLCA0OTI1LCA0OTMyLCA0OTM3LCA0OTQyLCA0OTQ3LCA0OTUyLCAKKyAgICA0OTU4LCA0OTYxLCA0OTY1LCA0OTcwLCA0OTc1LCA0OTg0LCA0OTkwLCA0OTk1LCA0OTk5LCA1MDA0LCA1MDA4LCA1MDEzLCAKKyAgICA1MDE3LCA1MDIxLCA1MDI2LCA1MDI5LCA1MDM1LCA1MDQwLCA1MDQ1LCA1MDUwLCA1MDU1LCA1MDYwLCA1MDY1LCA1MDcxLCAKKyAgICA1MDc3LCA1MDgzLCA1MDg4LCA1MDkzLCA1MDk5LCA1MTA1LCA1MTExLCA1MTE2LCA1MTIxLCA1MTI4LCA1MTM1LCA1MTM5LCAKKyAgICA1MTQ1LCA1MTUyLCAwLCAwLCA1MTU5LCA1MTYyLCA1MTcxLCA1MTgwLCA1MTkxLCAwLCAwLCAwLCAwLCAwLCA1MTk1LCAKKyAgICA1MTk4LCA1MjAzLCA1MjExLCA1MjE2LCA1MjI0LCA1MjMyLCAwLCA1MjQwLCAwLCA1MjQ4LCA1MjU2LCA1MjY0LCA1Mjc1LCAKKyAgICA1MjgwLCA1Mjg1LCA1MjkwLCA1Mjk1LCA1MzAwLCA1MzA1LCA1MzEwLCA1MzE1LCA1MzIwLCA1MzI1LCA1MzMwLCA1MzM1LCAKKyAgICA1MzQwLCA1MzQ1LCA1MzUwLCA1MzU1LCAwLCA1MzYwLCA1MzY1LCA1MzcwLCA1Mzc1LCA1MzgwLCA1Mzg1LCA1MzkwLCAKKyAgICA1Mzk1LCA1NDAzLCA1NDExLCA1NDE5LCA1NDI3LCA1NDM1LCA1NDQzLCA1NDU0LCA1NDU5LCA1NDY0LCA1NDY5LCA1NDc0LCAKKyAgICA1NDc5LCA1NDg0LCA1NDg5LCA1NDk0LCA1NDk5LCA1NTA0LCA1NTA5LCA1NTE0LCA1NTE5LCA1NTI0LCA1NTI5LCA1NTM0LCAKKyAgICA1NTM5LCA1NTQ1LCA1NTUwLCA1NTU1LCA1NTYwLCA1NTY1LCA1NTcwLCA1NTc1LCA1NTgwLCA1NTg4LCA1NTk2LCA1NjA0LCAKKyAgICA1NjEyLCA1NjIwLCA1NjI1LCA1NjI5LCA1NjMzLCA1NjQwLCA1NjUwLCA1NjYwLCA1NjY0LCA1NjY4LCA1NjcyLCA1Njc4LCAKKyAgICA1Njg1LCA1Njg5LCA1Njk0LCA1Njk4LCA1NzAzLCA1NzA3LCA1NzEyLCA1NzE2LCA1NzIxLCA1NzI2LCA1NzMxLCA1NzM2LCAKKyAgICA1NzQxLCA1NzQ2LCA1NzUxLCA1NzU2LCA1NzYxLCA1NzY2LCA1NzcxLCA1Nzc2LCA1NzgxLCA1Nzg2LCA1NzkxLCA1Nzk1LCAKKyAgICA1Nzk5LCA1ODA1LCA1ODA5LCA1ODE0LCA1ODIwLCA1ODI4LCA1ODMzLCA1ODM4LCA1ODQ1LCA1ODUwLCA1ODU1LCA1ODYyLCAKKyAgICA1ODcxLCA1ODgwLCA1ODkxLCA1ODk5LCA1OTA0LCA1OTA5LCA1OTE0LCA1OTIxLCA1OTI2LCA1OTMyLCA1OTM3LCA1OTQyLCAKKyAgICA1OTQ3LCA1OTUyLCA1OTU3LCA1OTYyLCA1OTcwLCA1OTc2LCA1OTgxLCA1OTg1LCA1OTkwLCA1OTk1LCA2MDAwLCA2MDA1LCAKKyAgICA2MDEwLCA2MDE1LCA2MDIwLCA2MDI0LCA2MDMwLCA2MDM0LCA2MDM5LCA2MDQ0LCA2MDQ5LCA2MDUzLCA2MDU4LCA2MDYzLCAKKyAgICA2MDY4LCA2MDczLCA2MDc3LCA2MDgyLCA2MDg2LCA2MDkxLCA2MDk2LCA2MTAxLCA2MTA2LCA2MTEyLCA2MTE3LCA2MTIzLCAKKyAgICA2MTI3LCA2MTMyLCA2MTM2LCA2MTQwLCA2MTQ1LCA2MTUwLCA2MTU1LCA2MTYwLCA2MTY1LCA2MTcwLCA2MTc1LCA2MTc5LCAKKyAgICA2MTg1LCA2MTg5LCA2MTk0LCA2MTk5LCA2MjA0LCA2MjA4LCA2MjEzLCA2MjE4LCA2MjIzLCA2MjI4LCA2MjMyLCA2MjM3LCAKKyAgICA2MjQxLCA2MjQ2LCA2MjUxLCA2MjU2LCA2MjYxLCA2MjY3LCA2MjcyLCA2Mjc4LCA2MjgyLCA2Mjg3LCA2MjkxLCA2Mjk5LCAKKyAgICA2MzA0LCA2MzA5LCA2MzE0LCA2MzIxLCA2MzI2LCA2MzMyLCA2MzM3LCA2MzQyLCA2MzQ3LCA2MzUyLCA2MzU3LCA2MzYyLCAKKyAgICA2MzcwLCA2Mzc2LCA2MzgxLCA2Mzg2LCA2MzkxLCA2Mzk2LCA2NDAxLCA2NDA3LCA2NDEzLCA2NDIwLCA2NDI3LCA2NDM2LCAKKyAgICA2NDQ1LCA2NDUyLCA2NDU5LCA2NDY4LCA2NDc3LCA2NDgyLCA2NDg3LCA2NDkyLCA2NDk3LCA2NTAyLCA2NTA3LCA2NTEyLCAKKyAgICA2NTE3LCA2NTI4LCA2NTM5LCA2NTQ0LCA2NTQ5LCA2NTU2LCA2NTYzLCA2NTcxLCA2NTc5LCA2NTg0LCA2NTg5LCA2NTk0LCAKKyAgICA2NTk5LCA2NjAzLCA2NjA3LCA2NjExLCA2NjE3LCA2NjIzLCA2NjI3LCA2NjM0LCA2NjM5LCA2NjQ5LCA2NjU5LCA2NjY1LCAKKyAgICA2NjcxLCA2Njc5LCA2Njg3LCA2Njk1LCA2NzAzLCA2NzEwLCA2NzE3LCA2NzI2LCA2NzM1LCA2NzQzLCA2NzUxLCA2NzU5LCAKKyAgICA2NzY3LCA2Nzc1LCA2NzgzLCA2NzkxLCA2Nzk5LCA2ODA2LCA2ODEzLCA2ODE5LCA2ODI1LCA2ODMzLCA2ODQxLCA2ODQ4LCAKKyAgICA2ODU1LCA2ODY0LCA2ODczLCA2ODc5LCA2ODg1LCA2ODkzLCA2OTAxLCA2OTA5LCA2OTE3LCA2OTIzLCA2OTI5LCA2OTM3LCAKKyAgICA2OTQ1LCA2OTUzLCA2OTYxLCA2OTY4LCA2OTc1LCA2OTgzLCA2OTkxLCA2OTk5LCA3MDA3LCA3MDEyLCA3MDE3LCA3MDI0LCAKKyAgICA3MDMxLCA3MDQxLCA3MDUxLCA3MDU1LCA3MDYzLCA3MDcxLCA3MDc4LCA3MDg1LCA3MDkzLCA3MTAxLCA3MTA4LCA3MTE1LCAKKyAgICA3MTIzLCA3MTMxLCA3MTM4LCA3MTQ1LCA3MTUzLCA3MTYxLCA3MTY2LCA3MTczLCA3MTgwLCA3MTg3LCA3MTk0LCA3MjAwLCAKKyAgICA3MjA2LCA3MjE0LCA3MjIyLCA3MjI3LCA3MjMyLCA3MjQwLCA3MjQ4LCA3MjU2LCA3MjY0LCA3MjcyLCA3MjgwLCA3Mjg3LCAKKyAgICA3Mjk0LCA3MzAyLCA3MzEwLCA3MzE4LCA3MzI2LCA3MzMzLCA3MzQwLCA3MzQ2LCA3MzUyLCA3MzYxLCA3MzcwLCA3Mzc3LCAKKyAgICA3Mzg0LCA3MzkxLCA3Mzk4LCA3NDA1LCA3NDEyLCA3NDE5LCA3NDI2LCA3NDM0LCA3NDQyLCA3NDUwLCA3NDU4LCA3NDY2LCAKKyAgICA3NDc0LCA3NDg0LCA3NDk0LCA3NTAxLCA3NTA4LCA3NTE1LCA3NTIyLCA3NTI5LCA3NTM2LCA3NTQzLCA3NTUwLCA3NTU3LCAKKyAgICA3NTY0LCA3NTcxLCA3NTc4LCA3NTg1LCA3NTkyLCA3NTk5LCA3NjA2LCA3NjEzLCA3NjIwLCA3NjI3LCA3NjM0LCA3NjQxLCAKKyAgICA3NjQ4LCA3NjU1LCA3NjYyLCA3NjY3LCA3NjcyLCA3Njc3LCA3NjgyLCA3Njg3LCA3NjkyLCA3Njk3LCA3NzAyLCA3NzA3LCAKKyAgICA3NzEyLCA3NzE4LCA3NzI0LCA3NzMzLCA3NzQyLCA3NzUxLCA3NzYwLCA3NzY4LCA3Nzc2LCA3Nzg0LCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCA3NzkyLCA3Nzk3LCA3ODAyLCA3ODA3LCA3ODEyLCA3ODE3LCA3ODIyLCA3ODI3LCA3ODMyLCAKKyAgICA3ODM2LCA3ODQxLCA3ODQ2LCA3ODUxLCA3ODU2LCA3ODYxLCA3ODY2LCA3ODcxLCA3ODc2LCA3ODgxLCA3ODg2LCA3ODkxLCAKKyAgICA3ODk2LCA3OTAxLCA3OTA2LCA3OTExLCA3OTE2LCA3OTIxLCA3OTI2LCA3OTMwLCA3OTM1LCA3OTQwLCA3OTQ1LCA3OTUwLCAKKyAgICA3OTU1LCA3OTYwLCA3OTY1LCA3OTcwLCA3OTc1LCAwLCAwLCA3OTgwLCA3OTg3LCA3OTkwLCA3OTk0LCA3OTk4LCA4MDAxLCAKKyAgICA4MDA1LCAwLCA4MDA5LCA4MDE0LCA4MDE5LCA4MDI0LCA4MDI5LCA4MDM0LCA4MDM5LCA4MDQ0LCA4MDQ5LCA4MDUzLCAKKyAgICA4MDU4LCA4MDYzLCA4MDY4LCA4MDczLCA4MDc4LCA4MDgzLCA4MDg4LCA4MDkzLCA4MDk4LCA4MTAzLCA4MTA4LCA4MTEzLCAKKyAgICA4MTE4LCA4MTIzLCA4MTI4LCA4MTMzLCA4MTM4LCA4MTQzLCA4MTQ3LCA4MTUyLCA4MTU3LCA4MTYyLCA4MTY3LCA4MTcyLCAKKyAgICA4MTc3LCA4MTgyLCA4MTg3LCA4MTkyLCA4MTk3LCAwLCA4MjA0LCA4MjA5LCAwLCAwLCAwLCAwLCA4MjEyLCAwLCA4MjE2LCAKKyAgICA4MjIxLCA4MjI2LCA4MjMxLCA4MjM4LCA4MjQ1LCA4MjUwLCA4MjU1LCA4MjYwLCA4MjY1LCA4MjcwLCA4Mjc1LCA4MjgwLCAKKyAgICA4Mjg3LCA4MjkyLCA4Mjk5LCA4MzA2LCA4MzExLCA4MzE4LCA4MzIzLCA4MzI4LCA4MzMzLCA4MzQwLCA4MzQ1LCA4MzUwLCAKKyAgICA4MzU3LCA4MzY2LCA4MzcxLCA4Mzc2LCA4MzgxLCA4Mzg2LCA4MzkyLCA4Mzk3LCA4NDA0LCA4NDExLCA4NDE4LCA4NDIzLCAKKyAgICA4NDI4LCA4NDMzLCA4NDM4LCA4NDQzLCA4NDQ4LCA4NDU4LCA4NDYzLCA4NDcxLCA4NDc2LCA4NDgxLCA4NDg2LCA4NDkxLCAKKyAgICA4NDk4LCA4NTA1LCA4NTEyLCA4NTE4LCA4NTI0LCA4NTMxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA4NTM4LCA4NTQyLCAKKyAgICA4NTQ2LCA4NTUwLCA4NTU0LCA4NTU4LCA4NTYyLCA4NTY2LCA4NTcwLCA4NTc0LCA4NTc4LCA4NTgzLCA4NTg3LCA4NTkxLCAKKyAgICA4NTk2LCA4NjAwLCA4NjA1LCA4NjA5LCA4NjEzLCA4NjE3LCA4NjIyLCA4NjI2LCA4NjMxLCA4NjM1LCA4NjM5LCA4NjQzLCAKKyAgICA4NjQ3LCAwLCAwLCAwLCAwLCAwLCA4NjUxLCA4NjU4LCA4NjY2LCA4NjczLCA4Njc4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCA4NjgzLCA4Njg2LCA4NjkwLCA4Njk1LCA4Njk5LCAwLCA4NzAzLCA4NzA5LCA4NzE1LCA4NzE4LCAKKyAgICA4NzI1LCA4NzM0LCA4NzM3LCA4NzQwLCA4NzQ1LCA4NzUxLCA4NzU1LCA4NzYzLCA4NzY5LCA4Nzc1LCA4NzgzLCA4Nzg3LCAKKyAgICA4NzkyLCA4ODAzLCA4ODA4LCA4ODEyLCA4ODE2LCA4ODIwLCAwLCAwLCA4ODIzLCA4ODMwLCA4ODM0LCA4ODQwLCA4ODQ0LCAKKyAgICA4ODUxLCA4ODU3LCA4ODY0LCA4ODcwLCA4ODc2LCA4ODgwLCA4ODg0LCA4ODkwLCA4ODk0LCA4ODk4LCA4OTAyLCA4OTA2LCAKKyAgICA4OTEwLCA4OTE0LCA4OTE4LCA4OTIyLCA4OTI2LCA4OTMwLCA4OTM0LCA4OTM4LCA4OTQyLCA4OTQ2LCA4OTUwLCA4OTU0LCAKKyAgICA4OTU4LCA4OTY2LCA4OTc0LCA4OTg0LCA4OTkzLCA5MDAyLCA5MDA1LCA5MDA5LCA5MDEzLCA5MDE3LCA5MDIxLCA5MDI1LCAKKyAgICA5MDI5LCA5MDMzLCA5MDM3LCA5MDQyLCA5MDQ2LCA5MDQ5LCA5MDUyLCA5MDU1LCA5MDU4LCA5MDYxLCA5MDY0LCA5MDY3LCAKKyAgICA5MDcwLCA5MDc0LCA5MDc3LCA5MDgwLCA5MDg1LCA5MDkwLCA5MDk2LCA5MDk5LCA5MTA2LCA5MTE1LCA5MTIwLCA5MTI1LCAKKyAgICA5MTMyLCA5MTM3LCA5MTQyLCA5MTQ2LCA5MTUwLCA5MTU0LCA5MTU4LCA5MTYyLCA5MTY2LCA5MTcwLCA5MTc0LCA5MTc4LCAKKyAgICA5MTgyLCA5MTg3LCA5MTkyLCA5MTk5LCA5MjA1LCA5MjExLCA5MjE3LCA5MjIyLCA5MjMwLCA5MjM4LCA5MjQzLCA5MjQ5LCAKKyAgICA5MjU1LCA5MjYxLCA5MjY3LCA5MjcxLCA5Mjc1LCA5Mjc5LCA5Mjg2LCA5Mjk2LCA5MzAwLCA5MzA0LCA5MzA4LCA5MzE0LCAKKyAgICA5MzIyLCA5MzI2LCA5MzMwLCA5MzM3LCA5MzQxLCA5MzQ1LCA5MzQ5LCA5MzU2LCA5MzYzLCA5Mzc1LCA5Mzc5LCA5MzgzLCAKKyAgICA5Mzg3LCA5Mzk3LCA5NDA2LCA5NDEwLCA5NDE4LCA5NDI1LCA5NDMyLCA5NDQxLCA5NDUyLCA5NDYwLCA5NDY0LCA5NDczLCAKKyAgICA5NDg0LCA5NDkyLCA5NTA1LCA5NTEzLCA5NTIxLCA5NTI5LCA5NTM3LCA5NTQzLCA5NTUyLCA5NTU5LCA5NTYzLCA5NTcxLCAKKyAgICA5NTc1LCA5NTgyLCA5NTkwLCA5NTk0LCA5NjAwLCA5NjA3LCA5NjE0LCA5NjE4LCA5NjI2LCA5NjMwLCA5NjM3LCA5NjQxLCAKKyAgICA5NjQ5LCA5NjUzLCA5NjYxLCA5NjY5LCA5Njc2LCA5Njg0LCA5NjkyLCA5Njk5LCA5NzA1LCA5NzA5LCA5NzE2LCA5NzI0LCAKKyAgICA5NzMwLCA5NzM3LCA5NzQ0LCA5NzUwLCA5NzU5LCA5NzY3LCA5Nzc0LCA5NzgwLCA5Nzg0LCA5Nzg3LCA5NzkxLCA5Nzk3LCAKKyAgICA5ODA1LCA5ODA5LCA5ODE1LCA5ODIxLCA5ODI4LCA5ODM1LCA5ODM4LCA5ODQ1LCA5ODUwLCA5ODU4LCA5ODYzLCA5ODY3LCAKKyAgICA5ODgwLCA5ODkzLCA5ODk5LCA5OTA2LCA5OTExLCA5OTE3LCA5OTIyLCA5OTI4LCA5OTM4LCA5OTQ1LCA5OTU0LCA5OTY0LCAKKyAgICA5OTcwLCA5OTc1LCA5OTgwLCA5OTg0LCA5OTg4LCA5OTkzLCA5OTk4LCAxMDAwNCwgMTAwMTIsIDEwMDIwLCAxMDAzMSwgCisgICAgMTAwMzYsIDEwMDQ1LCAxMDA1NCwgMTAwNjEsIDEwMDY3LCAxMDA3MywgMTAwNzksIDEwMDg1LCAxMDA5MSwgMTAwOTcsIAorICAgIDEwMTAzLCAxMDEwOSwgMTAxMTUsIDEwMTIyLCAxMDEyOSwgMTAxMzYsIDEwMTQyLCAxMDE1MCwgMTAxNTksIDEwMTY1LCAKKyAgICAxMDE3MiwgMTAxNzksIDEwMTg0LCAxMDE4OSwgMTAxOTMsIDEwMjAwLCAxMDIwNywgMTAyMTYsIDEwMjI1LCAxMDIyOCwgCisgICAgMTAyMzMsIDEwMjM4LCAwLCAxMDI0MywgMTAyNDcsIDEwMjUxLCAxMDI1NywgMTAyNjEsIDEwMjY1LCAxMDI3MSwgMTAyNzUsIAorICAgIDEwMjgzLCAxMDI4NywgMTAyOTEsIDEwMjk1LCAxMDI5OSwgMTAzMDMsIDEwMzA5LCAxMDMxMywgMTAzMTksIDEwMzIzLCAKKyAgICAxMDMyNywgMTAzMzEsIDEwMzM1LCAxMDMzOSwgMTAzNDQsIDEwMzQ3LCAxMDM1MSwgMTAzNTcsIDEwMzYxLCAxMDM2NSwgCisgICAgMTAzNjksIDEwMzczLCAxMDM3NywgMTAzODMsIDEwMzg5LCAxMDM5NSwgMTAzOTksIDEwNDAzLCAxMDQwOCwgMTA0MTIsIAorICAgIDEwNDE2LCAxMDQyMSwgMTA0MjUsIDEwNDI5LCAxMDQzNiwgMTA0NDMsIDEwNDQ3LCAxMDQ1MSwgMTA0NTYsIDEwNDYwLCAKKyAgICAxMDQ2NCwgMTA0NjcsIDEwNDcyLCAxMDQ3NSwgMTA0NzgsIDEwNDgzLCAxMDQ4OCwgMTA0OTIsIDEwNDk2LCAxMDUwMiwgCisgICAgMTA1MDgsIDEwNTExLCAwLCAwLCAxMDUxNCwgMTA1MjAsIDEwNTI2LCAxMDUzMiwgMTA1NDIsIDEwNTU0LCAxMDU2NiwgCisgICAgMTA1ODMsIDEwNTk1LCAxMDYwNiwgMTA2MTQsIDEwNjIxLCAxMDYzMiwgMTA2NDcsIDEwNjU4LCAxMDY2NCwgMTA2NzMsIAorICAgIDEwNjgxLCAxMDY5MywgMTA3MDMsIDEwNzExLCAxMDcyMywgMTA3MzAsIDEwNzM4LCAxMDc1MCwgMTA3NTYsIDEwNzYyLCAKKyAgICAxMDc3MCwgMTA3NzgsIDEwNzg2LCAxMDc5MiwgMTA4MDIsIDEwODA5LCAxMDgxOSwgMTA4MjksIDEwODQyLCAxMDg1NiwgCisgICAgMTA4NzAsIDEwODgwLCAxMDg5MSwgMTA5MDIsIDEwOTE1LCAxMDkyOCwgMTA5NDIsIDEwOTU0LCAxMDk2NiwgMTA5NzksIAorICAgIDEwOTkyLCAxMTAwNCwgMTEwMTcsIDExMDI2LCAxMTAzNCwgMTEwMzksIDExMDQ0LCAxMTA0OSwgMTEwNTQsIDExMDU5LCAKKyAgICAxMTA2NCwgMTEwNjksIDExMDc0LCAxMTA3OSwgMTEwODQsIDExMDg5LCAxMTA5NCwgMTEwOTksIDExMTA0LCAxMTEwOSwgCisgICAgMTExMTQsIDExMTE5LCAxMTEyNCwgMTExMjksIDExMTM0LCAxMTEzOSwgMTExNDQsIDExMTQ5LCAxMTE1NCwgMTExNTksIAorICAgIDExMTY0LCAxMTE2OSwgMTExNzQsIDExMTc5LCAxMTE4NCwgMTExODksIDExMTk0LCAxMTE5OCwgMTEyMDMsIDExMjA4LCAKKyAgICAxMTIxMywgMTEyMTgsIDExMjIzLCAxMTIyNywgMTEyMzEsIDExMjM1LCAxMTIzOSwgMTEyNDMsIDExMjQ3LCAxMTI1MSwgCisgICAgMTEyNTUsIDExMjU5LCAxMTI2MywgMTEyNjcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDExMjcyLCAxMTI3NywgMTEyODEsIDExMjg1LCAxMTI4OSwgMTEyOTMsIDExMjk3LCAxMTMwMSwgMTEzMDUsIDExMzA5LCAKKyAgICAxMTMxMywgMTEzMTcsIDExMzIyLCAxMTMyNiwgMTEzMzAsIDExMzM0LCAxMTMzOSwgMTEzNDMsIDExMzQ4LCAxMTM1MywgCisgICAgMTEzNTgsIDExMzYyLCAxMTM2NywgMTEzNzIsIDExMzc3LCAxMTM4MiwgMTEzODYsIDExMzkxLCAxMTM5NSwgMTE0MDAsIAorICAgIDExNDA1LCAxMTQwOSwgMTE0MTQsIDExNDIxLCAxMTQyNSwgMTE0MzAsIDExNDM0LCAxMTQzOCwgMTE0NDMsIDExNDQ3LCAKKyAgICAxMTQ1NCwgMTE0NjEsIDExNDY4LCAxMTQ3NCwgMTE0ODIsIDExNDkwLCAxMTQ5OSwgMTE1MDcsIDExNTE0LCAxMTUyMSwgCisgICAgMTE1MjksIDExNTM1LCAxMTU0MSwgMTE1NDcsIDExNTUzLCAxMTU2MCwgMTE1NjUsIDExNTY5LCAxMTU3NCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMTE1NzgsIDExNTgzLCAxMTU4OCwgMTE1OTMsIDExNTk4LCAxMTYwMywgMTE2MDgsIDExNjEzLCAxMTYxOCwgCisgICAgMTE2MjMsIDExNjI4LCAxMTYzMywgMTE2MzgsIDExNjQzLCAxMTY0OCwgMTE2NTMsIDExNjU4LCAxMTY2MywgMTE2NjgsIAorICAgIDExNjczLCAxMTY3OCwgMTE2ODMsIDExNjg4LCAxMTY5MywgMTE2OTgsIDExNzAzLCAxMTcwOCwgMTE3MTYsIDExNzIzLCAKKyAgICAxMTcyOSwgMTE3MzQsIDExNzQyLCAxMTc0OSwgMTE3NTUsIDExNzYyLCAxMTc2OCwgMTE3NzMsIDExNzgwLCAxMTc4NywgCisgICAgMTE3OTMsIDExNzk4LCAxMTgwMywgMTE4MDksIDExODE0LCAxMTgxOSwgMTE4MjUsIDAsIDAsIDExODMwLCAxMTgzNiwgCisgICAgMTE4NDIsIDExODQ4LCAxMTg1NCwgMTE4NjAsIDExODY2LCAxMTg3MSwgMTE4NzksIDExODg1LCAxMTg5MSwgMTE4OTcsIAorICAgIDExOTAzLCAxMTkwOSwgMTE5MTcsIDAsIDExOTIzLCAxMTkyOCwgMTE5MzMsIDExOTM4LCAxMTk0MywgMTE5NDgsIDExOTUzLCAKKyAgICAxMTk1OCwgMTE5NjMsIDExOTY4LCAxMTk3MywgMTE5NzgsIDExOTgzLCAxMTk4OCwgMTE5OTMsIDExOTk4LCAxMjAwMywgCisgICAgMTIwMDgsIDEyMDEzLCAxMjAxOCwgMTIwMjMsIDEyMDI4LCAxMjAzMywgMTIwMzgsIDEyMDQzLCAxMjA0OCwgMTIwNTMsIAorICAgIDEyMDU4LCAwLCAwLCAxMjA2MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgNjI4NzIsIDYyODgxLCA2Mjg5MCwgNjI5MDEsIDYyOTA4LCA2MjkxMywgNjI5MTgsIDYyOTI1LCA2MjkzMiwgNjI5MzgsIAotICAgIDYyOTQzLCA2Mjk0OCwgNjI5NTMsIDYyOTU4LCA2Mjk2NSwgNjI5NzAsIDYyOTc1LCA2Mjk4MCwgNjI5OTEsIDYyOTk2LCAKLSAgICA2MzAwMSwgNjMwMDgsIDYzMDEzLCA2MzAyMCwgNjMwMjUsIDYzMDMwLCA2MzAzNywgNjMwNDQsIDYzMDUxLCA2MzA2MCwgCi0gICAgNjMwNjksIDYzMDc0LCA2MzA3OSwgNjMwODQsIDYzMDkxLCA2MzA5NiwgNjMxMDYsIDYzMTEzLCA2MzExOCwgNjMxMjMsIAotICAgIDYzMTI4LCA2MzEzMywgNjMxMzgsIDYzMTQzLCA2MzE1MiwgNjMxNTksIDYzMTY2LCA2MzE3MSwgNjMxNzgsIDYzMTgzLCAKLSAgICA2MzE5MCwgNjMxOTksIDYzMjEwLCA2MzIxNSwgNjMyMjQsIDYzMjI5LCA2MzIzNiwgNjMyNDUsIDYzMjU0LCA2MzI1OSwgCi0gICAgNjMyNjQsIDYzMjcxLCA2MzI3NywgNjMyODQsIDYzMjkxLCA2MzI5NSwgNjMyOTksIDYzMzAyLCA2MzMwNiwgNjMzMTAsIAotICAgIDYzMzE0LCA2MzMxOCwgNjMzMjIsIDYzMzI2LCA2MzMzMCwgNjMzMzMsIDYzMzM3LCA2MzM0MSwgNjMzNDUsIDYzMzQ5LCAKLSAgICA2MzM1MywgNjMzNTcsIDYzMzYwLCA2MzM2NCwgNjMzNjgsIDYzMzcxLCA2MzM3NSwgNjMzNzksIDYzMzgzLCA2MzM4NywgCi0gICAgNjMzOTEsIDYzMzk1LCA2MzM5OSwgNjM0MDMsIDYzNDA3LCA2MzQxMSwgNjM0MTUsIDYzNDE5LCA2MzQyMywgNjM0MjcsIAotICAgIDYzNDMxLCA2MzQzNSwgNjM0MzksIDYzNDQzLCA2MzQ0NywgNjM0NTEsIDYzNDU1LCA2MzQ1OSwgNjM0NjMsIDYzNDY3LCAKLSAgICA2MzQ3MSwgNjM0NzUsIDYzNDc5LCA2MzQ4MywgNjM0ODcsIDYzNDkxLCA2MzQ5NSwgNjM0OTksIDYzNTAzLCA2MzUwNywgCi0gICAgNjM1MTEsIDYzNTE1LCA2MzUxOSwgNjM1MjMsIDYzNTI3LCA2MzUzMSwgNjM1MzUsIDYzNTM5LCA2MzU0MywgNjM1NDcsIAotICAgIDYzNTUwLCA2MzU1NCwgNjM1NTgsIDYzNTYyLCA2MzU2NiwgNjM1NzAsIDYzNTc0LCA2MzU3OCwgNjM1ODIsIDYzNTg2LCAKLSAgICA2MzU5MCwgNjM1OTQsIDYzNTk4LCA2MzYwMiwgNjM2MDYsIDYzNjEwLCA2MzYxNCwgNjM2MTgsIDYzNjIyLCA2MzYyNiwgCi0gICAgNjM2MzAsIDYzNjM0LCA2MzYzOCwgNjM2NDIsIDYzNjQ2LCA2MzY1MCwgNjM2NTQsIDYzNjU4LCA2MzY2MiwgNjM2NjYsIAotICAgIDYzNjcwLCA2MzY3NCwgNjM2NzgsIDYzNjgyLCA2MzY4NiwgNjM2OTAsIDYzNjk0LCA2MzY5OCwgNjM3MDIsIDYzNzA2LCAKLSAgICA2MzcxMCwgNjM3MTQsIDYzNzE4LCA2MzcyMiwgNjM3MjYsIDYzNzMwLCA2MzczNCwgNjM3MzgsIDYzNzQyLCA2Mzc0NiwgCi0gICAgNjM3NTAsIDYzNzU0LCA2Mzc1OCwgNjM3NjIsIDYzNzY2LCA2Mzc3MCwgNjM3NzQsIDYzNzc4LCA2Mzc4MiwgNjM3ODYsIAotICAgIDYzNzkwLCA2Mzc5NCwgNjM3OTgsIDYzODAyLCA2MzgwNiwgNjM4MTAsIDYzODE0LCA2MzgxOCwgNjM4MjIsIDYzODI2LCAKLSAgICA2MzgzMCwgNjM4MzQsIDYzODM4LCA2Mzg0MiwgNjM4NDYsIDYzODUwLCA2Mzg1NCwgNjM4NTgsIDYzODYyLCA2Mzg2NiwgCi0gICAgNjM4NzAsIDYzODc0LCA2Mzg3OCwgNjM4ODIsIDYzODg2LCA2Mzg5MCwgNjM4OTQsIDYzODk4LCA2MzkwMiwgNjM5MDYsIAotICAgIDYzOTEwLCA2MzkxNCwgNjM5MTgsIDYzOTIyLCA2MzkyNiwgNjM5MzAsIDYzOTM0LCA2MzkzOCwgNjM5NDIsIDYzOTQ2LCAKLSAgICA2Mzk1MCwgNjM5NTQsIDYzOTU4LCA2Mzk2MiwgNjM5NjYsIDYzOTcwLCA2Mzk3NCwgNjM5NzgsIDYzOTgyLCA2Mzk4NiwgCi0gICAgNjM5OTAsIDYzOTk0LCA2Mzk5OCwgNjQwMDIsIDY0MDA2LCA2NDAxMCwgNjQwMTQsIDY0MDE4LCA2NDAyMSwgNjQwMjUsIAotICAgIDY0MDI5LCA2NDAzMywgNjQwMzcsIDY0MDQxLCA2NDA0NSwgNjQwNDksIDY0MDUzLCA2NDA1NywgNjQwNjEsIDY0MDY1LCAKLSAgICA2NDA2OSwgNjQwNzMsIDY0MDc3LCA2NDA4MSwgNjQwODUsIDY0MDg5LCA2NDA5MywgNjQwOTcsIDY0MTAxLCA2NDEwNSwgCi0gICAgNjQxMDksIDY0MTEzLCA2NDExNywgNjQxMjEsIDY0MTI1LCA2NDEyOSwgNjQxMzMsIDY0MTM3LCA2NDE0MSwgNjQxNDUsIAotICAgIDY0MTQ5LCA2NDE1MywgNjQxNTcsIDY0MTYxLCA2NDE2NSwgNjQxNjksIDY0MTczLCA2NDE3NywgNjQxODEsIDY0MTg1LCAKLSAgICA2NDE4OSwgNjQxOTMsIDY0MTk3LCA2NDIwMSwgNjQyMDUsIDY0MjA5LCA2NDIxMywgNjQyMTcsIDY0MjIxLCA2NDIyNSwgCi0gICAgNjQyMjksIDY0MjMzLCA2NDIzNywgNjQyNDEsIDY0MjQ1LCA2NDI0OSwgNjQyNTMsIDY0MjU3LCA2NDI2MSwgNjQyNjUsIAotICAgIDY0MjY5LCA2NDI3MywgNjQyNzcsIDY0MjgxLCA2NDI4NSwgNjQyODksIDY0MjkzLCA2NDI5NywgNjQzMDEsIDY0MzA1LCAKLSAgICA2NDMwOSwgNjQzMTMsIDY0MzE3LCA2NDMyMSwgNjQzMjUsIDY0MzI5LCA2NDMzMywgNjQzMzcsIDY0MzQxLCA2NDM0NSwgCi0gICAgNjQzNDksIDY0MzUzLCA2NDM1NywgNjQzNjEsIDY0MzY1LCA2NDM2OSwgNjQzNzMsIDY0Mzc3LCA2NDM4MSwgNjQzODUsIAotICAgIDY0Mzg5LCA2NDM5MywgNjQzOTcsIDY0NDAxLCA2NDQwNSwgNjQ0MDksIDY0NDEzLCA2NDQxNywgNjQ0MjEsIDY0NDI1LCAKLSAgICA2NDQyOSwgNjQ0MzMsIDY0NDM3LCA2NDQ0MSwgNjQ0NDUsIDY0NDQ5LCA2NDQ1MywgNjQ0NTcsIDY0NDYxLCA2NDQ2NSwgCi0gICAgNjQ0NjksIDY0NDczLCA2NDQ3NywgNjQ0ODEsIDY0NDg0LCA2NDQ4OCwgNjQ0OTIsIDY0NDk2LCA2NDUwMCwgNjQ1MDQsIAotICAgIDY0NTA4LCA2NDUxMiwgNjQ1MTYsIDY0NTIwLCA2NDUyNCwgNjQ1MjgsIDY0NTMyLCA2NDUzNiwgNjQ1NDAsIDY0NTQ0LCAKLSAgICA2NDU0OCwgNjQ1NTIsIDY0NTU2LCA2NDU2MCwgNjQ1NjQsIDY0NTY4LCA2NDU3MiwgNjQ1NzYsIDY0NTgwLCA2NDU4NCwgCi0gICAgNjQ1ODgsIDY0NTkyLCA2NDU5NiwgNjQ2MDAsIDY0NjA0LCA2NDYwOCwgNjQ2MTIsIDY0NjE2LCA2NDYyMCwgNjQ2MjQsIAotICAgIDY0NjI4LCA2NDYzMiwgNjQ2MzYsIDY0NjQwLCA2NDY0NCwgNjQ2NDgsIDY0NjUyLCA2NDY1NiwgNjQ2NjAsIDY0NjY0LCAKLSAgICA2NDY2OCwgNjQ2NzIsIDY0Njc2LCA2NDY4MCwgNjQ2ODQsIDY0Njg4LCA2NDY5MiwgNjQ2OTYsIDY0NzAwLCA2NDcwNCwgCi0gICAgNjQ3MDgsIDY0NzEyLCA2NDcxNiwgNjQ3MjAsIDY0NzI0LCA2NDcyOCwgNjQ3MzIsIDY0NzM2LCA2NDc0MCwgNjQ3NDQsIAotICAgIDY0NzQ4LCA2NDc1MiwgNjQ3NTYsIDY0NzYwLCA2NDc2NCwgNjQ3NjgsIDY0NzcyLCA2NDc3NiwgNjQ3ODAsIDY0Nzg0LCAKLSAgICA2NDc4OCwgNjQ3OTIsIDY0Nzk2LCA2NDgwMCwgNjQ4MDQsIDY0ODA4LCA2NDgxMiwgNjQ4MTYsIDY0ODIwLCA2NDgyNCwgCi0gICAgNjQ4MjgsIDY0ODMyLCA2NDgzNiwgNjQ4NDAsIDY0ODQzLCA2NDg0NywgNjQ4NTEsIDY0ODU1LCA2NDg1OSwgNjQ4NjMsIAotICAgIDY0ODY3LCA2NDg3MSwgNjQ4NzUsIDY0ODc5LCA2NDg4MywgNjQ4ODcsIDY0ODkxLCA2NDg5NSwgNjQ4OTksIDY0OTAzLCAKLSAgICA2NDkwNywgNjQ5MTEsIDY0OTE1LCA2NDkxOSwgNjQ5MjMsIDY0OTI3LCA2NDkzMSwgNjQ5MzUsIDY0OTM5LCA2NDk0MywgCi0gICAgNjQ5NDcsIDY0OTUxLCA2NDk1NSwgNjQ5NTksIDY0OTYzLCA2NDk2NywgNjQ5NzEsIDY0OTc1LCA2NDk3OSwgNjQ5ODMsIAotICAgIDY0OTg3LCA2NDk5MSwgNjQ5OTUsIDY0OTk5LCA2NTAwMywgNjUwMDcsIDY1MDExLCA2NTAxNSwgNjUwMTksIDY1MDIzLCAKLSAgICA2NTAyNywgNjUwMzEsIDY1MDM1LCA2NTAzOSwgNjUwNDMsIDY1MDQ3LCA2NTA1MSwgNjUwNTUsIDY1MDU5LCA2NTA2MywgCi0gICAgNjUwNjcsIDY1MDcxLCA2NTA3NSwgNjUwNzksIDY1MDgzLCA2NTA4NywgNjUwOTEsIDY1MDk1LCA2NTA5OSwgNjUxMDMsIAotICAgIDY1MTA3LCA2NTExMSwgNjUxMTUsIDY1MTE5LCA2NTEyMywgNjUxMjcsIDY1MTMxLCA2NTEzNSwgNjUxMzksIDY1MTQzLCAKLSAgICA2NTE0NywgNjUxNTEsIDY1MTU1LCA2NTE1OSwgNjUxNjMsIDY1MTY3LCA2NTE3MSwgNjUxNzUsIDY1MTc5LCA2NTE4MywgCi0gICAgNjUxODcsIDY1MTkxLCA2NTE5NSwgNjUxOTksIDY1MjAzLCA2NTIwNywgNjUyMTEsIDY1MjE1LCA2NTIxOSwgNjUyMjMsIAotICAgIDY1MjI3LCA2NTIzMSwgNjUyMzUsIDY1MjM5LCA2NTI0MywgNjUyNDcsIDY1MjUxLCA2NTI1NSwgNjUyNTksIDY1MjYzLCAKLSAgICA2NTI2NywgNjUyNzEsIDY1Mjc1LCA2NTI3OSwgNjUyODMsIDY1Mjg3LCA2NTI5MSwgNjUyOTUsIDY1Mjk5LCA2NTMwMywgCi0gICAgNjUzMDcsIDY1MzExLCA2NTMxNSwgNjUzMTksIDY1MzIzLCA2NTMyNywgNjUzMzEsIDY1MzM1LCA2NTMzOCwgNjUzNDIsIAotICAgIDY1MzQ2LCA2NTM1MCwgNjUzNTQsIDY1MzU4LCA2NTM2MiwgNjUzNjYsIDY1MzcwLCA2NTM3NCwgNjUzNzgsIDY1MzgyLCAKLSAgICA2NTM4NiwgNjUzOTAsIDY1Mzk0LCA2NTM5OCwgNjU0MDIsIDY1NDA2LCA2NTQxMCwgNjU0MTQsIDY1NDE4LCA2NTQyMiwgCi0gICAgNjU0MjYsIDY1NDMwLCA2NTQzNCwgNjU0MzgsIDY1NDQyLCA2NTQ0NiwgNjU0NTAsIDY1NDU0LCA2NTQ1OCwgNjU0NjIsIAotICAgIDY1NDY2LCA2NTQ3MCwgNjU0NzQsIDY1NDc4LCA2NTQ4MiwgNjU0ODYsIDY1NDkwLCA2NTQ5NCwgNjU0OTgsIDY1NTAyLCAKLSAgICA2NTUwNiwgNjU1MTAsIDY1NTE0LCA2NTUxOCwgNjU1MjIsIDY1NTI2LCA2NTUzMCwgNjU1MzQsIDY1NTM4LCA2NTU0MiwgCi0gICAgNjU1NDYsIDY1NTUwLCA2NTU1NCwgNjU1NTgsIDY1NTYyLCA2NTU2NiwgNjU1NzAsIDY1NTc0LCA2NTU3OCwgNjU1ODIsIAotICAgIDY1NTg2LCA2NTU5MCwgNjU1OTQsIDY1NTk4LCA2NTYwMiwgNjU2MDYsIDY1NjEwLCA2NTYxNCwgNjU2MTgsIDY1NjIyLCAKLSAgICA2NTYyNiwgNjU2MzAsIDY1NjM0LCA2NTYzOCwgNjU2NDIsIDY1NjQ2LCA2NTY1MCwgNjU2NTQsIDY1NjU4LCA2NTY2MiwgCi0gICAgNjU2NjYsIDY1NjcwLCA2NTY3NCwgNjU2NzgsIDY1NjgyLCA2NTY4NiwgNjU2OTAsIDY1Njk0LCA2NTY5OCwgNjU3MDIsIAotICAgIDY1NzA2LCA2NTcxMCwgNjU3MTQsIDY1NzE4LCA2NTcyMiwgNjU3MjYsIDY1NzMwLCA2NTczNCwgNjU3MzgsIDY1NzQyLCAKLSAgICA2NTc0NiwgNjU3NTAsIDY1NzU0LCA2NTc1OCwgNjU3NjIsIDY1NzY2LCA2NTc3MCwgNjU3NzQsIDY1Nzc4LCA2NTc4MiwgCi0gICAgNjU3ODYsIDY1NzkwLCA2NTc5MywgNjU3OTcsIDY1ODAxLCA2NTgwNSwgNjU4MDksIDY1ODEzLCA2NTgxNywgNjU4MjEsIAotICAgIDY1ODI1LCA2NTgyOSwgNjU4MzMsIDY1ODM3LCA2NTg0MSwgNjU4NDUsIDY1ODQ5LCA2NTg1MywgNjU4NTcsIDY1ODYxLCAKLSAgICA2NTg2NSwgNjU4NjksIDY1ODczLCA2NTg3NywgNjU4ODEsIDY1ODg1LCA2NTg4OSwgNjU4OTMsIDY1ODk3LCA2NTkwMSwgCi0gICAgNjU5MDUsIDY1OTA5LCA2NTkxMywgNjU5MTcsIDY1OTIxLCA2NTkyNSwgNjU5MjksIDY1OTMzLCA2NTkzNywgNjU5NDEsIAotICAgIDY1OTQ1LCA2NTk0OSwgNjU5NTMsIDY1OTU3LCA2NTk2MSwgNjU5NjUsIDY1OTY5LCA2NTk3MywgNjU5NzcsIDY1OTgxLCAKLSAgICA2NTk4NSwgNjU5ODksIDY1OTkzLCA2NTk5NywgNjYwMDEsIDY2MDA1LCA2NjAwOSwgNjYwMTMsIDY2MDE3LCA2NjAyMSwgCi0gICAgNjYwMjUsIDY2MDI5LCA2NjAzMywgNjYwMzcsIDY2MDQxLCA2NjA0NSwgNjYwNDksIDY2MDUzLCA2NjA1NywgNjYwNjEsIAotICAgIDY2MDY1LCA2NjA2OSwgNjYwNzMsIDY2MDc3LCA2NjA4MSwgNjYwODUsIDY2MDg5LCA2NjA5MywgNjYwOTcsIDY2MTAxLCAKLSAgICA2NjEwNSwgNjYxMDksIDY2MTEzLCA2NjExNywgNjYxMjEsIDY2MTI1LCA2NjEyOSwgNjYxMzMsIDY2MTM3LCA2NjE0MSwgCi0gICAgNjYxNDUsIDY2MTQ5LCA2NjE1MywgNjYxNTcsIDY2MTYxLCA2NjE2NSwgNjYxNjksIDY2MTczLCA2NjE3NywgNjYxODEsIAotICAgIDY2MTg1LCA2NjE4OSwgNjYxOTMsIDY2MTk3LCA2NjIwMSwgNjYyMDUsIDY2MjA5LCA2NjIxMywgNjYyMTcsIDY2MjIxLCAKLSAgICA2NjIyNSwgNjYyMjksIDY2MjMzLCA2NjIzNywgNjYyNDEsIDY2MjQ1LCA2NjI0OSwgNjYyNTMsIDY2MjU3LCA2NjI2MSwgCi0gICAgNjYyNjUsIDY2MjY5LCA2NjI3MywgNjYyNzcsIDY2MjgxLCA2NjI4NSwgNjYyODksIDY2MjkzLCA2NjI5NywgNjYzMDEsIAotICAgIDY2MzA1LCA2NjMwOSwgNjYzMTMsIDY2MzE3LCA2NjMyMSwgNjYzMjUsIDY2MzI5LCA2NjMzMywgNjYzMzcsIDY2MzQxLCAKLSAgICA2NjM0NSwgNjYzNDksIDY2MzUzLCA2NjM1NywgNjYzNjEsIDY2MzY1LCA2NjM2OSwgNjYzNzMsIDY2Mzc3LCA2NjM4MSwgCi0gICAgNjYzODUsIDY2Mzg5LCA2NjM5MywgNjYzOTYsIDY2NDAwLCA2NjQwNCwgNjY0MDgsIDY2NDEyLCA2NjQxNiwgNjY0MjAsIAotICAgIDY2NDI0LCA2NjQyOCwgNjY0MzIsIDY2NDM2LCA2NjQ0MCwgNjY0NDQsIDY2NDQ4LCA2NjQ1MiwgNjY0NTYsIDY2NDYwLCAKLSAgICA2NjQ2NCwgNjY0NjgsIDY2NDcyLCA2NjQ3NiwgNjY0ODAsIDY2NDg0LCA2NjQ4OCwgNjY0OTIsIDY2NDk2LCA2NjUwMCwgCi0gICAgNjY1MDQsIDY2NTA4LCA2NjUxMiwgNjY1MTYsIDY2NTIwLCA2NjUyNCwgNjY1MjgsIDY2NTMyLCA2NjUzNiwgNjY1NDAsIAotICAgIDY2NTQ0LCA2NjU0OCwgNjY1NTIsIDY2NTU2LCA2NjU2MCwgNjY1NjQsIDY2NTY4LCA2NjU3MiwgNjY1NzYsIDY2NTgwLCAKLSAgICA2NjU4NCwgNjY1ODgsIDY2NTkyLCA2NjU5NiwgNjY2MDAsIDY2NjA0LCA2NjYwOCwgNjY2MTIsIDY2NjE2LCA2NjYyMCwgCi0gICAgNjY2MjQsIDY2NjI4LCA2NjYzMiwgNjY2MzYsIDY2NjQwLCA2NjY0NCwgNjY2NDgsIDY2NjUyLCA2NjY1NiwgNjY2NjAsIAotICAgIDY2NjY0LCA2NjY2OCwgNjY2NzIsIDY2Njc2LCA2NjY4MCwgNjY2ODQsIDY2Njg4LCA2NjY5MiwgNjY2OTYsIDY2NzAwLCAKLSAgICA2NjcwNCwgNjY3MDgsIDY2NzEyLCA2NjcxNiwgNjY3MjAsIDY2NzI0LCA2NjcyOCwgNjY3MzIsIDY2NzM2LCA2Njc0MCwgCi0gICAgNjY3NDQsIDY2NzQ4LCA2Njc1MiwgNjY3NTYsIDY2NzYwLCA2Njc2NCwgNjY3NjgsIDY2NzcyLCA2Njc3NiwgNjY3ODAsIAotICAgIDY2Nzg0LCA2Njc4OCwgNjY3OTIsIDY2Nzk2LCA2NjgwMCwgNjY4MDQsIDY2ODA4LCA2NjgxMiwgNjY4MTYsIDY2ODIwLCAKLSAgICA2NjgyNCwgNjY4MjgsIDY2ODMyLCA2NjgzNiwgNjY4NDAsIDY2ODQ0LCA2Njg0OCwgNjY4NTIsIDY2ODU2LCA2Njg2MCwgCi0gICAgNjY4NjQsIDY2ODY4LCA2Njg3MiwgNjY4NzYsIDY2ODgwLCA2Njg4NCwgNjY4ODgsIDY2ODkyLCA2Njg5NiwgNjY5MDAsIAotICAgIDY2OTA0LCA2NjkwOCwgNjY5MTIsIDY2OTE2LCA2NjkyMCwgNjY5MjQsIDY2OTI4LCA2NjkzMiwgNjY5MzYsIDY2OTQwLCAKLSAgICA2Njk0NCwgNjY5NDgsIDY2OTUyLCA2Njk1NiwgNjY5NjAsIDY2OTY0LCA2Njk2OCwgNjY5NzIsIDY2OTc2LCA2Njk4MCwgCi0gICAgNjY5ODQsIDY2OTg4LCA2Njk5MiwgNjY5OTYsIDY3MDAwLCA2NzAwNCwgNjcwMDgsIDY3MDEyLCA2NzAxNiwgNjcwMjAsIAotICAgIDY3MDI0LCA2NzAyOCwgNjcwMzIsIDY3MDM2LCA2NzA0MCwgNjcwNDQsIDY3MDQ4LCA2NzA1MiwgNjcwNTYsIDY3MDYwLCAKLSAgICA2NzA2NCwgNjcwNjgsIDY3MDcyLCA2NzA3NiwgNjcwODAsIDY3MDg0LCA2NzA4OCwgNjcwOTIsIDY3MDk2LCA2NzEwMCwgCi0gICAgNjcxMDQsIDY3MTA4LCA2NzExMiwgNjcxMTYsIDY3MTIwLCA2NzEyNCwgNjcxMjgsIDY3MTMyLCA2NzEzNiwgNjcxNDAsIAotICAgIDY3MTQ0LCA2NzE0OCwgNjcxNTIsIDY3MTU1LCA2NzE1OSwgNjcxNjMsIDY3MTY3LCA2NzE3MSwgNjcxNzUsIDY3MTc5LCAKLSAgICA2NzE4MywgNjcxODcsIDY3MTkxLCA2NzE5NSwgNjcxOTksIDY3MjAzLCA2NzIwNywgNjcyMTEsIDY3MjE1LCA2NzIxOSwgCi0gICAgNjcyMjMsIDY3MjI3LCA2NzIzMSwgNjcyMzUsIDY3MjM5LCA2NzI0MywgNjcyNDcsIDY3MjUxLCA2NzI1NSwgNjcyNTksIAotICAgIDY3MjYzLCA2NzI2NywgNjcyNzEsIDY3Mjc1LCA2NzI3OSwgNjcyODMsIDY3Mjg3LCA2NzI5MSwgNjcyOTUsIDY3Mjk5LCAKLSAgICA2NzMwMywgNjczMDcsIDY3MzExLCA2NzMxNSwgNjczMTksIDY3MzIzLCA2NzMyNywgNjczMzEsIDY3MzM1LCA2NzMzOSwgCi0gICAgNjczNDMsIDY3MzQ3LCA2NzM1MSwgNjczNTUsIDY3MzU5LCA2NzM2MywgNjczNjcsIDY3MzcxLCA2NzM3NSwgNjczNzksIAotICAgIDY3MzgzLCA2NzM4NywgNjczOTEsIDY3Mzk1LCA2NzM5OSwgNjc0MDMsIDY3NDA3LCA2NzQxMSwgNjc0MTUsIDY3NDE5LCAKLSAgICA2NzQyMywgNjc0MjcsIDY3NDMxLCA2NzQzNSwgNjc0MzksIDY3NDQzLCA2NzQ0NywgNjc0NTEsIDY3NDU1LCA2NzQ1OSwgCi0gICAgNjc0NjMsIDY3NDY3LCA2NzQ3MSwgNjc0NzUsIDY3NDc5LCA2NzQ4MywgNjc0ODcsIDY3NDkxLCA2NzQ5NSwgNjc0OTksIAotICAgIDY3NTAzLCA2NzUwNywgNjc1MTEsIDY3NTE1LCA2NzUxOSwgNjc1MjMsIDY3NTI3LCA2NzUzMSwgNjc1MzUsIDY3NTM5LCAKLSAgICA2NzU0MywgNjc1NDcsIDY3NTUxLCA2NzU1NSwgNjc1NTksIDY3NTYzLCA2NzU2NywgNjc1NzEsIDY3NTc1LCA2NzU3OSwgCi0gICAgNjc1ODMsIDY3NTg3LCA2NzU5MSwgNjc1OTUsIDY3NTk5LCA2NzYwMywgNjc2MDcsIDY3NjExLCA2NzYxNSwgNjc2MTksIAotICAgIDY3NjIzLCA2NzYyNywgNjc2MzEsIDY3NjM1LCA2NzYzOSwgNjc2NDMsIDY3NjQ3LCA2NzY1MSwgNjc2NTUsIDY3NjU5LCAKLSAgICA2NzY2MywgNjc2NjcsIDY3NjcxLCA2NzY3NSwgNjc2NzksIDY3NjgzLCA2NzY4NywgNjc2OTEsIDY3Njk1LCA2NzY5OSwgCi0gICAgNjc3MDMsIDY3NzA3LCA2NzcxMSwgNjc3MTUsIDY3NzE5LCA2NzcyMywgNjc3MjcsIDY3NzMxLCA2NzczNSwgNjc3MzksIAotICAgIDY3NzQzLCA2Nzc0NywgNjc3NTEsIDY3NzU1LCA2Nzc1OSwgNjc3NjMsIDY3NzY3LCA2Nzc3MSwgNjc3NzUsIDY3Nzc5LCAKLSAgICA2Nzc4MywgNjc3ODcsIDY3NzkxLCA2Nzc5NSwgNjc3OTksIDY3ODAzLCA2NzgwNywgNjc4MTEsIDY3ODE1LCA2NzgxOSwgCi0gICAgNjc4MjMsIDY3ODI3LCA2NzgzMSwgNjc4MzUsIDY3ODM5LCA2Nzg0MywgNjc4NDcsIDY3ODUxLCA2Nzg1NSwgNjc4NTksIAotICAgIDY3ODYzLCA2Nzg2NywgNjc4NzEsIDY3ODc1LCA2Nzg3OSwgNjc4ODMsIDY3ODg3LCA2Nzg5MSwgNjc4OTUsIDY3ODk5LCAKLSAgICA2NzkwMywgNjc5MDcsIDY3OTExLCA2NzkxNSwgNjc5MTksIDY3OTIzLCA2NzkyNywgNjc5MzEsIDY3OTM1LCAwLCAwLCAwLCAKLSAgICA2NzkzOSwgNjc5NDMsIDY3OTQ3LCA2Nzk1MSwgNjc5NTUsIDY3OTU5LCA2Nzk2MywgNjc5NjcsIDY3OTcxLCA2Nzk3NSwgCi0gICAgNjc5NzksIDY3OTgzLCA2Nzk4NywgNjc5OTEsIDY3OTk1LCA2Nzk5OSwgNjgwMDMsIDY4MDA3LCA2ODAxMSwgNjgwMTUsIAotICAgIDY4MDE5LCA2ODAyMywgNjgwMjcsIDY4MDMxLCA2ODAzNSwgNjgwMzksIDY4MDQzLCA2ODA0NywgNjgwNTEsIDY4MDU1LCAKLSAgICA2ODA1OSwgNjgwNjMsIDY4MDY3LCA2ODA3MSwgNjgwNzUsIDY4MDc5LCA2ODA4MywgNjgwODcsIDY4MDkxLCA2ODA5NSwgCi0gICAgNjgwOTksIDY4MTAzLCA2ODEwNywgNjgxMTEsIDY4MTE1LCA2ODExOSwgNjgxMjMsIDY4MTI3LCA2ODEzMSwgNjgxMzUsIAotICAgIDY4MTM5LCA2ODE0MywgNjgxNDcsIDY4MTUxLCA2ODE1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjgxNTksIAotICAgIDY4MTY0LCA2ODE2OCwgNjgxNzMsIDY4MTc4LCA2ODE4MywgNjgxODgsIDY4MTkzLCA2ODE5NywgNjgyMDIsIDY4MjA3LCAKLSAgICA2ODIxMiwgNjgyMTcsIDY4MjIyLCA2ODIyNywgNjgyMzIsIDY4MjM2LCA2ODI0MCwgNjgyNDUsIDY4MjUwLCA2ODI1NSwgCi0gICAgNjgyNjAsIDY4MjY1LCA2ODI2OSwgNjgyNzQsIDY4Mjc5LCA2ODI4NCwgNjgyODksIDY4Mjk0LCA2ODI5OCwgNjgzMDMsIAotICAgIDY4MzA3LCA2ODMxMiwgNjgzMTYsIDY4MzIxLCA2ODMyNSwgNjgzMjksIDY4MzMzLCA2ODMzOCwgNjgzNDMsIDY4MzQ4LCAKLSAgICA2ODM1NiwgNjgzNjQsIDY4MzcyLCA2ODM4MCwgNjgzODcsIDY4Mzk1LCA2ODQwMSwgNjg0MDksIDY4NDEzLCA2ODQxNywgCi0gICAgNjg0MjEsIDY4NDI1LCA2ODQyOSwgNjg0MzMsIDY4NDM3LCA2ODQ0MSwgNjg0NDUsIDY4NDQ5LCA2ODQ1MywgNjg0NTcsIAotICAgIDY4NDYxLCA2ODQ2NSwgNjg0NjksIDY4NDczLCA2ODQ3NywgNjg0ODEsIDY4NDg1LCA2ODQ4OSwgNjg0OTMsIDY4NDk3LCAKLSAgICA2ODUwMSwgNjg1MDUsIDY4NTA5LCA2ODUxMywgNjg1MTcsIDY4NTIxLCA2ODUyNSwgNjg1MjksIDY4NTMzLCA2ODUzNywgCi0gICAgNjg1NDEsIDY4NTQ1LCA2ODU0OSwgNjg1NTMsIDY4NTU2LCA2ODU2MCwgNjg1NjQsIDY4NTY4LCA2ODU3MiwgNjg1NzYsIAotICAgIDY4NTgwLCA2ODU4NCwgNjg1ODgsIDY4NTkyLCA2ODU5NiwgNjg2MDAsIDY4NjA0LCA2ODYwOCwgNjg2MTIsIDY4NjE2LCAKLSAgICA2ODYyMCwgNjg2MjQsIDY4NjI4LCA2ODYzMiwgNjg2MzYsIDY4NjQwLCA2ODY0NCwgNjg2NDgsIDY4NjUyLCA2ODY1NiwgCi0gICAgNjg2NjAsIDY4NjY0LCA2ODY2OCwgNjg2NzIsIDY4Njc2LCA2ODY4MCwgNjg2ODQsIDY4Njg4LCA2ODY5MiwgNjg2OTYsIAotICAgIDY4NzAwLCA2ODcwMywgNjg3MDcsIDY4NzExLCA2ODcxNCwgNjg3MTgsIDY4NzIyLCA2ODcyNiwgNjg3MjksIDY4NzMzLCAKLSAgICA2ODczNywgNjg3NDEsIDY4NzQ1LCA2ODc0OSwgNjg3NTMsIDY4NzU3LCA2ODc2MSwgNjg3NjUsIDY4NzY5LCA2ODc3MywgCi0gICAgNjg3NzcsIDY4NzgxLCA2ODc4NSwgNjg3ODgsIDY4NzkyLCA2ODc5NiwgNjg4MDAsIDY4ODA0LCA2ODgwOCwgNjg4MTIsIAotICAgIDY4ODE2LCA2ODgyMCwgNjg4MjQsIDY4ODI3LCA2ODgzMCwgNjg4MzQsIDY4ODM4LCA2ODg0MiwgNjg4NDUsIDY4ODQ4LCAKLSAgICA2ODg1MiwgNjg4NTYsIDY4ODYwLCA2ODg2NCwgNjg4NjgsIDY4ODcyLCA2ODg3NiwgNjg4ODAsIDY4ODg0LCA2ODg4OCwgCi0gICAgNjg4OTIsIDY4ODk2LCA2ODkwMCwgNjg5MDQsIDY4OTA4LCA2ODkxMiwgNjg5MTYsIDY4OTIwLCA2ODkyNCwgNjg5MjgsIAotICAgIDY4OTMyLCA2ODkzNiwgNjg5NDAsIDY4OTQ0LCA2ODk0OCwgNjg5NTIsIDY4OTU2LCA2ODk2MCwgNjg5NjQsIDY4OTY4LCAKLSAgICA2ODk3MiwgNjg5NzYsIDY4OTgwLCA2ODk4NCwgNjg5ODgsIDY4OTkyLCA2ODk5NiwgNjg5OTksIDY5MDAzLCA2OTAwNywgCi0gICAgNjkwMTEsIDY5MDE1LCA2OTAxOSwgNjkwMjMsIDY5MDI3LCA2OTAzMSwgNjkwMzUsIDY5MDM5LCA2OTA0MywgNjkwNDcsIAotICAgIDY5MDUxLCA2OTA1NSwgNjkwNTksIDY5MDYzLCA2OTA2NywgNjkwNzEsIDY5MDc1LCA2OTA3OSwgNjkwODMsIDY5MDg3LCAKLSAgICA2OTA5MSwgNjkwOTUsIDY5MDk5LCA2OTEwMywgNjkxMDcsIDY5MTExLCA2OTExNSwgNjkxMTksIDY5MTIzLCA2OTEyNywgCi0gICAgNjkxMzEsIDY5MTM1LCA2OTEzOSwgNjkxNDMsIDY5MTQ2LCA2OTE1MCwgNjkxNTQsIDY5MTU4LCA2OTE2MiwgNjkxNjYsIAotICAgIDY5MTcwLCA2OTE3NCwgNjkxNzgsIDY5MTgyLCA2OTE4NiwgNjkxOTAsIDY5MTk0LCA2OTE5OCwgNjkyMDIsIDY5MjA2LCAKLSAgICA2OTIxMCwgNjkyMTMsIDY5MjE3LCA2OTIyMSwgNjkyMjUsIDY5MjI5LCA2OTIzMywgNjkyMzcsIDY5MjQxLCA2OTI0NSwgCi0gICAgNjkyNDksIDY5MjUzLCA2OTI1NywgNjkyNjEsIDY5MjY1LCA2OTI2OSwgNjkyNzMsIDY5Mjc3LCA2OTI4MSwgNjkyODUsIAotICAgIDY5Mjg5LCA2OTI5MywgNjkyOTcsIDY5MzAwLCA2OTMwNCwgNjkzMDgsIDY5MzEyLCA2OTMxNiwgNjkzMjAsIDY5MzI0LCAKLSAgICA2OTMyOCwgNjkzMzIsIDY5MzM2LCA2OTM0MCwgNjkzNDQsIDY5MzQ4LCA2OTM1MiwgNjkzNTYsIDY5MzYwLCA2OTM2NCwgCi0gICAgNjkzNjgsIDY5MzcyLCA2OTM3NiwgNjkzODAsIDY5Mzg0LCA2OTM4OCwgNjkzOTIsIDY5Mzk2LCA2OTQwMCwgNjk0MDQsIAotICAgIDY5NDA4LCA2OTQxMiwgNjk0MTYsIDY5NDIwLCA2OTQyNCwgNjk0MjgsIDY5NDMyLCA2OTQzNiwgNjk0NDAsIDY5NDQ0LCAKLSAgICA2OTQ0OCwgNjk0NTIsIDY5NDU2LCA2OTQ2MCwgNjk0NjQsIDY5NDY4LCA2OTQ3MiwgNjk0NzUsIDY5NDgwLCA2OTQ4NCwgCi0gICAgNjk0OTAsIDY5NDk1LCA2OTUwMSwgNjk1MDUsIDY5NTA5LCA2OTUxMywgNjk1MTcsIDY5NTIxLCA2OTUyNSwgNjk1MjksIAotICAgIDY5NTMzLCA2OTUzNywgNjk1NDEsIDY5NTQ1LCA2OTU0OSwgNjk1NTMsIDY5NTU3LCA2OTU2MCwgNjk1NjMsIDY5NTY2LCAKLSAgICA2OTU2OSwgNjk1NzIsIDY5NTc1LCA2OTU3OCwgNjk1ODEsIDY5NTg0LCA2OTU4OSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNjk1OTUsIDY5NjAwLCA2OTYwNSwgNjk2MTAsIDY5NjE1LCAKLSAgICA2OTYyMiwgNjk2MjksIDY5NjM0LCA2OTYzOSwgNjk2NDQsIDY5NjQ5LCA2OTY1NiwgNjk2NjMsIDY5NjcwLCA2OTY3NywgCi0gICAgNjk2ODQsIDY5NjkxLCA2OTcwMSwgNjk3MTEsIDY5NzE4LCA2OTcyNSwgNjk3MzIsIDY5NzM5LCA2OTc0NSwgNjk3NTEsIAotICAgIDY5NzYwLCA2OTc2OSwgNjk3NzYsIDY5NzgzLCA2OTc5NCwgNjk4MDUsIDY5ODEwLCA2OTgxNSwgNjk4MjIsIDY5ODI5LCAKLSAgICA2OTgzNiwgNjk4NDMsIDY5ODUwLCA2OTg1NywgNjk4NjQsIDY5ODcxLCA2OTg3NywgNjk4ODMsIDY5ODg5LCA2OTg5NSwgCi0gICAgNjk5MDIsIDY5OTA5LCA2OTkxNCwgNjk5MTgsIDY5OTI1LCA2OTkzMiwgNjk5MzksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDY5OTQzLCA2OTk0NywgNjk5NTEsIDY5OTU0LCA2OTk1NywgNjk5NjIsIDY5OTY3LCA2OTk3MiwgNjk5NzcsIDY5OTgyLCAKLSAgICA2OTk4NywgNjk5OTIsIDY5OTk3LCA3MDAwMiwgNzAwMDcsIDcwMDE2LCA3MDAyNSwgNzAwMzAsIDcwMDM1LCA3MDA0MCwgCi0gICAgNzAwNDUsIDcwMDUwLCA3MDA1NSwgNzAwNjAsIDcwMDY1LCA3MDA3MCwgNzAwNzUsIDcwMDgwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCA3MDA4NSwgNzAwODgsIDcwMDkxLCA3MDA5NCwgNzAwOTgsIDcwMTAyLCA3MDEwNiwgNzAxMTAsIDcwMTEzLCAKLSAgICA3MDExNywgNzAxMjAsIDcwMTI0LCA3MDEyNywgNzAxMzEsIDcwMTM1LCA3MDEzOSwgNzAxNDMsIDcwMTQ3LCA3MDE1MSwgCi0gICAgNzAxNTUsIDcwMTU4LCA3MDE2MiwgNzAxNjYsIDcwMTcwLCA3MDE3NCwgNzAxNzgsIDcwMTgyLCA3MDE4NiwgNzAxOTAsIAotICAgIDcwMTk0LCA3MDE5OCwgNzAyMDIsIDcwMjA2LCA3MDIxMCwgNzAyMTQsIDcwMjE3LCA3MDIyMSwgNzAyMjUsIDcwMjI5LCAKLSAgICA3MDIzMywgNzAyMzcsIDcwMjQxLCA3MDI0NSwgNzAyNDksIDcwMjUzLCA3MDI1NywgNzAyNjEsIDcwMjY1LCA3MDI2OSwgCi0gICAgNzAyNzMsIDcwMjc3LCA3MDI4MSwgNzAyODUsIDcwMjg5LCA3MDI5MywgNzAyOTcsIDcwMzAxLCA3MDMwNSwgNzAzMDksIAotICAgIDcwMzEzLCA3MDMxNiwgNzAzMjAsIDcwMzI0LCA3MDMyOCwgNzAzMzIsIDcwMzM2LCA3MDM0MCwgNzAzNDQsIDcwMzQ3LCAKLSAgICA3MDM1MSwgNzAzNTUsIDcwMzU5LCA3MDM2MywgNzAzNjcsIDcwMzcxLCA3MDM3NSwgNzAzNzksIDcwMzgzLCA3MDM4NywgCi0gICAgNzAzOTEsIDcwMzk1LCA3MDQwMCwgNzA0MDUsIDcwNDA4LCA3MDQxMywgNzA0MTYsIDcwNDE5LCA3MDQyMiwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgNzA0MjYsIDcwNDM1LCA3MDQ0NCwgNzA0NTMsIDcwNDYyLCA3MDQ3MSwgNzA0ODAsIDcwNDg5LCAKLSAgICA3MDQ5OCwgNzA1MDYsIDcwNTEzLCA3MDUyMSwgNzA1MjgsIDcwNTM2LCA3MDU0NiwgNzA1NTUsIDcwNTY1LCA3MDU3NCwgCi0gICAgNzA1ODQsIDcwNTkyLCA3MDU5OSwgNzA2MDcsIDcwNjE0LCA3MDYyMiwgNzA2MjcsIDcwNjMyLCA3MDYzNywgNzA2NDYsIAotICAgIDcwNjUyLCA3MDY1OCwgNzA2NjUsIDcwNjc0LCA3MDY4MiwgNzA2OTAsIDcwNjk4LCA3MDcwNSwgNzA3MTIsIDcwNzE5LCAKLSAgICA3MDcyNiwgNzA3MzEsIDcwNzM2LCA3MDc0MSwgNzA3NDYsIDcwNzUxLCA3MDc1NiwgNzA3NjEsIDcwNzY2LCA3MDc3NCwgCi0gICAgNzA3ODIsIDcwNzg4LCA3MDc5MywgNzA3OTgsIDcwODAzLCA3MDgwOCwgNzA4MTMsIDcwODE4LCA3MDgyMywgNzA4MjgsIAotICAgIDcwODMzLCA3MDg0MSwgNzA4NDksIDcwODU0LCA3MDg1OSwgNzA4NjksIDcwODc5LCA3MDg4NiwgNzA4OTMsIDcwOTAyLCAKLSAgICA3MDkxMSwgNzA5MjMsIDcwOTM1LCA3MDk0MSwgNzA5NDcsIDcwOTU1LCA3MDk2MywgNzA5NzMsIDcwOTgzLCA3MDk5MCwgCi0gICAgNzA5OTcsIDcxMDAyLCA3MTAwNywgNzEwMTksIDcxMDMxLCA3MTAzOSwgNzEwNDcsIDcxMDU3LCA3MTA2NywgNzEwNzksIAotICAgIDcxMDkxLCA3MTEwMCwgNzExMDksIDcxMTE2LCA3MTEyMywgNzExMzAsIDcxMTM3LCA3MTE0NiwgNzExNTUsIDcxMTYwLCAKLSAgICA3MTE2NSwgNzExNzIsIDcxMTc5LCA3MTE4NiwgNzExOTMsIDcxMjA1LCA3MTIxNywgNzEyMjIsIDcxMjI3LCA3MTIzMiwgCi0gICAgNzEyMzcsIDcxMjQyLCA3MTI0NywgNzEyNTIsIDcxMjU3LCA3MTI2MSwgNzEyNjYsIDcxMjcxLCA3MTI3NiwgNzEyODEsIAotICAgIDcxMjg2LCA3MTI5MiwgNzEyOTcsIDcxMzAyLCA3MTMwOSwgNzEzMTYsIDcxMzIzLCA3MTMzMCwgNzEzMzcsIDcxMzQ2LCAKLSAgICA3MTM1NSwgNzEzNjEsIDcxMzY3LCA3MTM3MywgNzEzNzksIDcxMzg1LCA3MTM5MSwgNzEzOTgsIDcxNDA1LCA3MTQxMiwgCi0gICAgNzE0MTYsIDcxNDIzLCA3MTQyOCwgNzE0MzMsIDcxNDQwLCAwLCA3MTQ1MywgNzE0NjEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDcxNDY5LCA3MTQ3OCwgNzE0ODcsIDcxNDk2LCA3MTUwNSwgNzE1MTQsIDcxNTIzLCAKLSAgICA3MTUzMiwgNzE1NDEsIDcxNTUwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAxMjA2NywgMCwgMTIwNzYsIDEyMDgzLCAxMjA5MSwgMTIxMDMsIDEyMTEwLCAxMjExNywgMTIxMjQsIDEyMTM1LCAxMjE0NiwgCisgICAgMTIxNTMsIDEyMTYxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMjE2NywgMTIxNzIsIDEyMTc3LCAxMjE4MiwgMTIxODcsIAorICAgIDEyMTkyLCAxMjE5NywgMTIyMDIsIDEyMjA3LCAxMjIxMiwgMTIyMTcsIDEyMjIyLCAxMjIyNywgMTIyMzEsIDEyMjM1LCAKKyAgICAxMjIzOSwgMTIyNDQsIDEyMjUwLCAxMjI1NiwgMTIyNjIsIDEyMjY3LCAxMjI3MiwgMTIyNzcsIDEyMjgyLCAxMjI4OCwgCisgICAgMTIyOTcsIDEyMzA1LCAwLCAxMjMxMSwgMTIzMTcsIDEyMzIxLCAxMjMyNSwgMTIzMjksIDEyMzM0LCAxMjMzNywgMTIzNDEsIAorICAgIDEyMzQ0LCAxMjM0OCwgMTIzNTEsIDEyMzU1LCAxMjM1OSwgMTIzNjMsIDEyMzY4LCAxMjM3MywgMTIzNzYsIDEyMzgwLCAKKyAgICAxMjM4NSwgMTIzOTAsIDEyMzkzLCAxMjM5NywgMTI0MDAsIDEyNDA0LCAxMjQwOCwgMTI0MTIsIDEyNDE2LCAxMjQyMCwgCisgICAgMTI0MjQsIDEyNDI4LCAxMjQzMiwgMTI0MzYsIDEyNDQwLCAxMjQ0NCwgMTI0NDgsIDEyNDUyLCAxMjQ1NiwgMTI0NjAsIAorICAgIDEyNDY0LCAxMjQ2OCwgMTI0NzIsIDEyNDc1LCAxMjQ3OSwgMTI0ODIsIDEyNDg2LCAxMjQ5MCwgMTI0OTQsIDEyNDk3LCAKKyAgICAxMjUwMCwgMTI1MDMsIDEyNTA3LCAxMjUxMSwgMTI1MTUsIDEyNTE5LCAxMjUyMywgMTI1MjcsIDEyNTMxLCAxMjUzNCwgCisgICAgMTI1MzcsIDEyNTQyLCAxMjU0NywgMTI1NTEsIDEyNTU1LCAxMjU2MCwgMTI1NjQsIDEyNTY5LCAxMjU3MywgMTI1NzgsIAorICAgIDEyNTgzLCAxMjU4OSwgMTI1OTUsIDEyNjAxLCAxMjYwNSwgMTI2MTAsIDEyNjE2LCAxMjYyMiwgMTI2MjYsIDEyNjMxLCAKKyAgICAxMjYzNSwgMTI2NDEsIDEyNjQ2LCAxMjY0OSwgMTI2NTUsIDEyNjYxLCAxMjY2NiwgMTI2NzEsIDEyNjc4LCAxMjY4MywgCisgICAgMTI2ODgsIDEyNjkyLCAxMjY5NiwgMTI3MDAsIDEyNzA0LCAxMjcwOCwgMTI3MTIsIDEyNzE2LCAxMjcyMCwgMTI3MjUsIAorICAgIDEyNzMwLCAxMjczNSwgMTI3NDEsIDEyNzQ0LCAxMjc0OCwgMTI3NTIsIDEyNzU1LCAxMjc1OCwgMTI3NjEsIDEyNzY0LCAKKyAgICAxMjc2NywgMTI3NzAsIDEyNzczLCAxMjc3NiwgMTI3NzksIDEyNzgzLCAxMjc5MCwgMTI3OTUsIDEyNzk5LCAxMjgwMywgCisgICAgMTI4MDcsIDEyODExLCAwLCAxMjgxNSwgMTI4MTksIDEyODIzLCAxMjgyNywgMTI4MzEsIDEyODM3LCAxMjg0MSwgMCwgCisgICAgMTI4NDUsIDEyODQ5LCAxMjg1MywgMCwgMTI4NTcsIDEyODYwLCAxMjg2NCwgMTI4NjcsIDEyODcxLCAxMjg3NCwgMTI4NzgsIAorICAgIDEyODgyLCAwLCAwLCAxMjg4NiwgMTI4ODksIDAsIDAsIDEyODkzLCAxMjg5NiwgMTI5MDAsIDEyOTAzLCAxMjkwNywgCisgICAgMTI5MTEsIDEyOTE1LCAxMjkxOSwgMTI5MjMsIDEyOTI3LCAxMjkzMSwgMTI5MzUsIDEyOTM5LCAxMjk0MywgMTI5NDcsIAorICAgIDEyOTUxLCAxMjk1NSwgMTI5NTksIDEyOTYzLCAxMjk2NywgMTI5NzEsIDEyOTc1LCAwLCAxMjk3OCwgMTI5ODEsIDEyOTg1LCAKKyAgICAxMjk4OSwgMTI5OTMsIDEyOTk2LCAxMjk5OSwgMCwgMTMwMDIsIDAsIDAsIDAsIDEzMDA2LCAxMzAxMCwgMTMwMTQsIAorICAgIDEzMDE3LCAwLCAwLCAxMzAyMCwgMTMwMjQsIDEzMDI4LCAxMzAzMywgMTMwMzcsIDEzMDQyLCAxMzA0NiwgMTMwNTEsIAorICAgIDEzMDU2LCAwLCAwLCAxMzA2MiwgMTMwNjYsIDAsIDAsIDEzMDcxLCAxMzA3NSwgMTMwODAsIDEzMDg0LCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAxMzA5MCwgMCwgMCwgMCwgMCwgMTMwOTYsIDEzMTAwLCAwLCAxMzEwNCwgMTMxMDgsIDEzMTEzLCAKKyAgICAxMzExOCwgMTMxMjMsIDAsIDAsIDEzMTI5LCAxMzEzMywgMTMxMzYsIDEzMTM5LCAxMzE0MiwgMTMxNDUsIDEzMTQ4LCAKKyAgICAxMzE1MSwgMTMxNTQsIDEzMTU3LCAxMzE2MCwgMTMxNjksIDEzMTc4LCAxMzE4MiwgMTMxODYsIDEzMTkyLCAxMzE5OCwgCisgICAgMTMyMDQsIDEzMjEwLCAxMzIyNCwgMTMyMzEsIDEzMjM0LCAwLCAwLCAwLCAwLCAwLCAxMzIzOCwgMTMyNDQsIDEzMjQ4LCAwLCAKKyAgICAxMzI1MiwgMTMyNTUsIDEzMjU5LCAxMzI2MiwgMTMyNjYsIDEzMjY5LCAwLCAwLCAwLCAwLCAxMzI3MywgMTMyNzcsIDAsIDAsIAorICAgIDEzMjgxLCAxMzI4NSwgMTMyODksIDEzMjkyLCAxMzI5NiwgMTMzMDAsIDEzMzA0LCAxMzMwOCwgMTMzMTIsIDEzMzE2LCAKKyAgICAxMzMyMCwgMTMzMjQsIDEzMzI4LCAxMzMzMiwgMTMzMzYsIDEzMzQwLCAxMzM0NCwgMTMzNDgsIDEzMzUyLCAxMzM1NiwgCisgICAgMTMzNjAsIDEzMzY0LCAwLCAxMzM2NywgMTMzNzAsIDEzMzc0LCAxMzM3OCwgMTMzODIsIDEzMzg1LCAxMzM4OCwgMCwgCisgICAgMTMzOTEsIDEzMzk1LCAwLCAxMzM5OSwgMTM0MDMsIDAsIDEzNDA3LCAxMzQxMCwgMCwgMCwgMTM0MTMsIDAsIDEzNDE3LCAKKyAgICAxMzQyMiwgMTM0MjYsIDEzNDMxLCAxMzQzNSwgMCwgMCwgMCwgMCwgMTM0NDAsIDEzNDQ1LCAwLCAwLCAxMzQ1MCwgMTM0NTUsIAorICAgIDEzNDYwLCAwLCAwLCAwLCAxMzQ2NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTM0NjgsIDEzNDcyLCAxMzQ3NiwgMTM0ODAsIAorICAgIDAsIDEzNDg0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMzQ4OCwgMTM0OTIsIDEzNDk1LCAxMzQ5OCwgMTM1MDEsIDEzNTA0LCAKKyAgICAxMzUwNywgMTM1MTAsIDEzNTEzLCAxMzUxNiwgMTM1MTksIDEzNTIyLCAxMzUyNSwgMTM1MjgsIDEzNTMxLCAxMzUzNiwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTM1NDAsIDEzNTQ0LCAxMzU0OCwgMCwgMTM1NTIsIDEzNTU1LCAKKyAgICAxMzU1OSwgMTM1NjIsIDEzNTY2LCAxMzU2OSwgMTM1NzMsIDEzNTc3LCAxMzU4MSwgMCwgMTM1ODYsIDEzNTg5LCAxMzU5MywgCisgICAgMCwgMTM1OTgsIDEzNjAxLCAxMzYwNSwgMTM2MDgsIDEzNjEyLCAxMzYxNiwgMTM2MjAsIDEzNjI0LCAxMzYyOCwgMTM2MzIsIAorICAgIDEzNjM2LCAxMzY0MCwgMTM2NDQsIDEzNjQ4LCAxMzY1MiwgMTM2NTYsIDEzNjYwLCAxMzY2NCwgMTM2NjgsIDEzNjcyLCAKKyAgICAxMzY3NiwgMTM2ODAsIDAsIDEzNjgzLCAxMzY4NiwgMTM2OTAsIDEzNjk0LCAxMzY5OCwgMTM3MDEsIDEzNzA0LCAwLCAKKyAgICAxMzcwNywgMTM3MTEsIDAsIDEzNzE1LCAxMzcxOSwgMTM3MjMsIDEzNzI3LCAxMzczMCwgMCwgMCwgMTM3MzMsIDEzNzM3LCAKKyAgICAxMzc0MSwgMTM3NDYsIDEzNzUwLCAxMzc1NSwgMTM3NTksIDEzNzY0LCAxMzc2OSwgMTM3NzUsIDAsIDEzNzgxLCAxMzc4NSwgCisgICAgMTM3OTAsIDAsIDEzNzk2LCAxMzgwMCwgMTM4MDUsIDAsIDAsIDEzODA5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAxMzgxMiwgMTM4MTcsIDEzODIyLCAxMzgyNywgMCwgMCwgMTM4MzMsIDEzODM3LCAxMzg0MCwgCisgICAgMTM4NDMsIDEzODQ2LCAxMzg0OSwgMTM4NTIsIDEzODU1LCAxMzg1OCwgMTM4NjEsIDEzODY0LCAxMzg2OCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTM4NzIsIDEzODc2LCAxMzg4MCwgMCwgMTM4ODQsIDEzODg3LCAKKyAgICAxMzg5MSwgMTM4OTQsIDEzODk4LCAxMzkwMSwgMTM5MDUsIDEzOTA5LCAwLCAwLCAxMzkxMywgMTM5MTYsIDAsIDAsIAorICAgIDEzOTIwLCAxMzkyMywgMTM5MjcsIDEzOTMwLCAxMzkzNCwgMTM5MzgsIDEzOTQyLCAxMzk0NiwgMTM5NTAsIDEzOTU0LCAKKyAgICAxMzk1OCwgMTM5NjIsIDEzOTY2LCAxMzk3MCwgMTM5NzQsIDEzOTc4LCAxMzk4MiwgMTM5ODYsIDEzOTkwLCAxMzk5NCwgCisgICAgMTM5OTgsIDE0MDAyLCAwLCAxNDAwNSwgMTQwMDgsIDE0MDEyLCAxNDAxNiwgMTQwMjAsIDE0MDIzLCAxNDAyNiwgMCwgCisgICAgMTQwMjksIDE0MDMzLCAwLCAxNDAzNywgMTQwNDEsIDE0MDQ1LCAxNDA0OSwgMTQwNTIsIDAsIDAsIDE0MDU1LCAxNDA1OSwgCisgICAgMTQwNjMsIDE0MDY4LCAxNDA3MiwgMTQwNzcsIDE0MDgxLCAxNDA4NiwgMTQwOTEsIDAsIDAsIDE0MDk3LCAxNDEwMSwgMCwgCisgICAgMCwgMTQxMDYsIDE0MTEwLCAxNDExNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTQxMTksIDE0MTI1LCAwLCAwLCAwLCAwLCAKKyAgICAxNDEzMSwgMTQxMzUsIDAsIDE0MTM5LCAxNDE0MywgMTQxNDgsIDE0MTUzLCAxNDE1OCwgMCwgMCwgMTQxNjQsIDE0MTY4LCAKKyAgICAxNDE3MSwgMTQxNzQsIDE0MTc3LCAxNDE4MCwgMTQxODMsIDE0MTg2LCAxNDE4OSwgMTQxOTIsIDE0MTk1LCAxNDE5OCwgCisgICAgMTQyMDIsIDE0MjA4LCAxNDIxNCwgMTQyMjAsIDE0MjI2LCAxNDIzMiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMTQyMzgsIDE0MjQyLCAwLCAxNDI0NiwgMTQyNDksIDE0MjUzLCAxNDI1NiwgMTQyNjAsIDE0MjYzLCAwLCAwLCAwLCAKKyAgICAxNDI2NywgMTQyNzAsIDE0Mjc0LCAwLCAxNDI3OCwgMTQyODEsIDE0Mjg1LCAxNDI4OSwgMCwgMCwgMCwgMTQyOTIsIAorICAgIDE0Mjk2LCAwLCAxNDMwMCwgMCwgMTQzMDQsIDE0MzA4LCAwLCAwLCAwLCAxNDMxMiwgMTQzMTYsIDAsIDAsIDAsIDE0MzIwLCAKKyAgICAxNDMyMywgMTQzMjcsIDAsIDAsIDAsIDE0MzMwLCAxNDMzMywgMTQzMzYsIDE0MzM5LCAxNDM0MywgMTQzNDcsIDE0MzUxLCAKKyAgICAxNDM1NSwgMTQzNTksIDE0MzYzLCAxNDM2NywgMTQzNzAsIDAsIDAsIDAsIDAsIDE0MzczLCAxNDM3OCwgMTQzODIsIAorICAgIDE0Mzg3LCAxNDM5MSwgMCwgMCwgMCwgMTQzOTYsIDE0NDAwLCAxNDQwNSwgMCwgMTQ0MTAsIDE0NDE0LCAxNDQxOSwgCisgICAgMTQ0MjQsIDAsIDAsIDE0NDI4LCAwLCAwLCAwLCAwLCAwLCAwLCAxNDQzMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMTQ0MzcsIDE0NDQxLCAxNDQ0NCwgMTQ0NDcsIDE0NDUwLCAxNDQ1MywgMTQ0NTYsIDE0NDU5LCAKKyAgICAxNDQ2MiwgMTQ0NjUsIDE0NDY4LCAxNDQ3MiwgMTQ0NzcsIDE0NDgyLCAxNDQ4NiwgMTQ0OTAsIDE0NDk0LCAxNDQ5OCwgCisgICAgMTQ1MDIsIDE0NTA3LCAxNDUxMSwgMCwgMCwgMCwgMCwgMCwgMCwgMTQ1MTQsIDE0NTE4LCAxNDUyMiwgMCwgMTQ1MjYsIAorICAgIDE0NTI5LCAxNDUzMywgMTQ1MzYsIDE0NTQwLCAxNDU0MywgMTQ1NDcsIDE0NTUxLCAwLCAxNDU1NSwgMTQ1NTgsIDE0NTYyLCAKKyAgICAwLCAxNDU2NiwgMTQ1NjksIDE0NTczLCAxNDU3NywgMTQ1ODAsIDE0NTg0LCAxNDU4OCwgMTQ1OTIsIDE0NTk2LCAxNDYwMCwgCisgICAgMTQ2MDQsIDE0NjA4LCAxNDYxMiwgMTQ2MTYsIDE0NjIwLCAxNDYyNCwgMTQ2MjgsIDE0NjMyLCAxNDYzNiwgMTQ2NDAsIAorICAgIDE0NjQ0LCAxNDY0OCwgMTQ2NTIsIDAsIDE0NjU1LCAxNDY1OCwgMTQ2NjIsIDE0NjY2LCAxNDY3MCwgMTQ2NzMsIDE0Njc2LCAKKyAgICAxNDY3OSwgMTQ2ODMsIDE0Njg3LCAwLCAxNDY5MSwgMTQ2OTUsIDE0Njk5LCAxNDcwMywgMTQ3MDYsIDAsIDAsIDAsIAorICAgIDE0NzA5LCAxNDcxMywgMTQ3MTgsIDE0NzIyLCAxNDcyNywgMTQ3MzEsIDE0NzM2LCAxNDc0MSwgMCwgMTQ3NDcsIDE0NzUxLCAKKyAgICAxNDc1NiwgMCwgMTQ3NjEsIDE0NzY1LCAxNDc3MCwgMTQ3NzUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE0Nzc5LCAxNDc4MywgCisgICAgMCwgMTQ3ODksIDE0NzkzLCAwLCAwLCAwLCAwLCAwLCAwLCAxNDc5NywgMTQ4MDIsIDE0ODA3LCAxNDgxMiwgMCwgMCwgCisgICAgMTQ4MTgsIDE0ODIyLCAxNDgyNSwgMTQ4MjgsIDE0ODMxLCAxNDgzNCwgMTQ4MzcsIDE0ODQwLCAxNDg0MywgMTQ4NDYsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE0ODQ5LCAxNDg2MiwgMTQ4NzQsIDE0ODg2LCAxNDg5OCwgMTQ5MTAsIDE0OTIyLCAKKyAgICAxNDkzNCwgMCwgMCwgMTQ5MzgsIDE0OTQyLCAwLCAxNDk0NiwgMTQ5NDksIDE0OTUzLCAxNDk1NiwgMTQ5NjAsIDE0OTYzLCAKKyAgICAxNDk2NywgMTQ5NzEsIDAsIDE0OTc1LCAxNDk3OCwgMTQ5ODIsIDAsIDE0OTg2LCAxNDk4OSwgMTQ5OTMsIDE0OTk3LCAKKyAgICAxNTAwMCwgMTUwMDQsIDE1MDA4LCAxNTAxMiwgMTUwMTYsIDE1MDIwLCAxNTAyNCwgMTUwMjgsIDE1MDMyLCAxNTAzNiwgCisgICAgMTUwNDAsIDE1MDQ0LCAxNTA0OCwgMTUwNTIsIDE1MDU2LCAxNTA2MCwgMTUwNjQsIDE1MDY4LCAxNTA3MiwgMCwgMTUwNzUsIAorICAgIDE1MDc4LCAxNTA4MiwgMTUwODYsIDE1MDkwLCAxNTA5MywgMTUwOTYsIDE1MDk5LCAxNTEwMywgMTUxMDcsIDAsIDE1MTExLCAKKyAgICAxNTExNSwgMTUxMTksIDE1MTIzLCAxNTEyNiwgMCwgMCwgMTUxMjksIDE1MTMzLCAxNTEzNywgMTUxNDIsIDE1MTQ2LCAKKyAgICAxNTE1MSwgMTUxNTUsIDE1MTYwLCAxNTE2NSwgMCwgMTUxNzEsIDE1MTc1LCAxNTE4MCwgMCwgMTUxODUsIDE1MTg5LCAKKyAgICAxNTE5NCwgMTUxOTksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE1MjAzLCAxNTIwNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMTUyMTMsIDAsIDE1MjE3LCAxNTIyMiwgMTUyMjcsIDE1MjMyLCAwLCAwLCAxNTIzOCwgMTUyNDIsIDE1MjQ1LCAxNTI0OCwgCisgICAgMTUyNTEsIDE1MjU0LCAxNTI1NywgMTUyNjAsIDE1MjYzLCAxNTI2NiwgMCwgMTUyNjksIDE1MjczLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNTI3NywgMTUyODEsIDAsIDE1Mjg1LCAxNTI4OCwgMTUyOTIsIAorICAgIDE1Mjk1LCAxNTI5OSwgMTUzMDIsIDE1MzA2LCAxNTMxMCwgMCwgMTUzMTQsIDE1MzE3LCAxNTMyMSwgMCwgMTUzMjUsIAorICAgIDE1MzI4LCAxNTMzMiwgMTUzMzYsIDE1MzM5LCAxNTM0MywgMTUzNDcsIDE1MzUxLCAxNTM1NSwgMTUzNTksIDE1MzYzLCAKKyAgICAxNTM2NywgMTUzNzEsIDE1Mzc1LCAxNTM3OSwgMTUzODMsIDE1Mzg3LCAxNTM5MSwgMTUzOTUsIDE1Mzk5LCAxNTQwMywgCisgICAgMTU0MDcsIDE1NDExLCAxNTQxNCwgMTU0MTgsIDE1NDIxLCAxNTQyNSwgMTU0MjksIDE1NDMzLCAxNTQzNiwgMTU0MzksIAorICAgIDE1NDQyLCAxNTQ0NiwgMTU0NTAsIDE1NDU0LCAxNTQ1OCwgMTU0NjIsIDE1NDY2LCAxNTQ3MCwgMTU0NzMsIDE1NDc2LCAwLCAKKyAgICAwLCAxNTQ4MCwgMTU0ODQsIDE1NDg5LCAxNTQ5MywgMTU0OTgsIDE1NTAyLCAxNTUwNywgMTU1MTIsIDAsIDE1NTE4LCAKKyAgICAxNTUyMiwgMTU1MjcsIDAsIDE1NTMyLCAxNTUzNiwgMTU1NDEsIDE1NTQ2LCAxNTU1MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMTU1NTUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE1NTYxLCAxNTU2NiwgMTU1NzEsIDE1NTc2LCAwLCAwLCAKKyAgICAxNTU4MiwgMTU1ODYsIDE1NTg5LCAxNTU5MiwgMTU1OTUsIDE1NTk4LCAxNTYwMSwgMTU2MDQsIDE1NjA3LCAxNTYxMCwgCisgICAgMTU2MTMsIDE1NjE3LCAxNTYyMiwgMTU2MjcsIDE1NjMzLCAxNTYzOSwgMCwgMCwgMCwgMTU2NDUsIDE1NjQ5LCAxNTY1NSwgCisgICAgMTU2NjEsIDE1NjY3LCAxNTY3MiwgMTU2NzgsIDAsIDAsIDE1Njg0LCAxNTY4OCwgMCwgMTU2OTIsIDE1Njk2LCAxNTcwMCwgCisgICAgMTU3MDQsIDE1NzA4LCAxNTcxMiwgMTU3MTYsIDE1NzIwLCAxNTcyNCwgMTU3MjgsIDE1NzMyLCAxNTczNiwgMTU3NDAsIAorICAgIDE1NzQ0LCAxNTc0OCwgMTU3NTIsIDE1NzU2LCAxNTc2MCwgMCwgMCwgMCwgMTU3NjQsIDE1NzcwLCAxNTc3NiwgMTU3ODIsIAorICAgIDE1Nzg4LCAxNTc5NCwgMTU4MDAsIDE1ODA2LCAxNTgxMiwgMTU4MTgsIDE1ODI0LCAxNTgzMCwgMTU4MzgsIDE1ODQ0LCAKKyAgICAxNTg1MCwgMTU4NTYsIDE1ODYyLCAxNTg2OCwgMTU4NzQsIDE1ODgwLCAxNTg4NiwgMTU4OTIsIDE1ODk4LCAxNTkwNCwgMCwgCisgICAgMTU5MTAsIDE1OTE2LCAxNTkyMiwgMTU5MjgsIDE1OTM0LCAxNTk0MCwgMTU5NDQsIDE1OTUwLCAxNTk1NCwgMCwgMTU5NTgsIAorICAgIDAsIDAsIDE1OTY0LCAxNTk2OCwgMTU5NzQsIDE1OTgwLCAxNTk4NiwgMTU5OTAsIDE1OTk2LCAwLCAwLCAwLCAxNjAwMCwgMCwgCisgICAgMCwgMCwgMCwgMTYwMDQsIDE2MDA5LCAxNjAxNiwgMTYwMjMsIDE2MDMwLCAxNjAzNywgMCwgMTYwNDQsIDAsIDE2MDUxLCAKKyAgICAxNjA1NiwgMTYwNjEsIDE2MDY4LCAxNjA3NSwgMTYwODQsIDE2MDk1LCAxNjEwNCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTYxMDksIDE2MTE2LCAxNjEyMywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMTYxMjgsIDE2MTM0LCAxNjE0MCwgMTYxNDYsIDE2MTUyLCAxNjE1OCwgMTYxNjQsIDE2MTcwLCAKKyAgICAxNjE3NiwgMTYxODIsIDE2MTg4LCAxNjE5NCwgMTYyMDAsIDE2MjA2LCAxNjIxMiwgMTYyMTgsIDE2MjI0LCAxNjIzMCwgCisgICAgMTYyMzYsIDE2MjQyLCAxNjI0OCwgMTYyNTQsIDE2MjYwLCAxNjI2NiwgMTYyNzIsIDE2Mjc4LCAxNjI4NCwgMTYyOTAsIAorICAgIDE2Mjk2LCAxNjMwMiwgMTYzMDgsIDE2MzE0LCAxNjMyMCwgMTYzMjUsIDE2MzMxLCAxNjMzNywgMTYzNDEsIDE2MzQ3LCAKKyAgICAxNjM1MSwgMTYzNTcsIDE2MzYzLCAxNjM2OSwgMTYzNzUsIDE2MzgxLCAxNjM4NywgMTYzOTIsIDE2Mzk4LCAxNjQwMiwgCisgICAgMTY0MDcsIDE2NDEzLCAxNjQxOSwgMTY0MjUsIDE2NDMwLCAxNjQzNiwgMTY0NDIsIDE2NDQ4LCAxNjQ1MywgMTY0NTksIDAsIAorICAgIDAsIDAsIDAsIDE2NDYzLCAxNjQ2OSwgMTY0NzQsIDE2NDgwLCAxNjQ4NSwgMTY0OTMsIDE2NTAxLCAxNjUwNSwgMTY1MDksIAorICAgIDE2NTEzLCAxNjUxOSwgMTY1MjUsIDE2NTMxLCAxNjUzNywgMTY1NDEsIDE2NTQ1LCAxNjU0OSwgMTY1NTMsIDE2NTU3LCAKKyAgICAxNjU2MCwgMTY1NjMsIDE2NTY2LCAxNjU2OSwgMTY1NzIsIDE2NTc1LCAxNjU3OCwgMTY1ODEsIDE2NTg0LCAxNjU4OCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTY1OTIsIDE2NTk3LCAwLCAxNjYwNCwgMCwgMCwgMTY2MTEsIAorICAgIDE2NjE2LCAwLCAxNjYyMSwgMCwgMCwgMTY2MjgsIDAsIDAsIDAsIDAsIDAsIDAsIDE2NjMzLCAxNjYzOCwgMTY2NDIsIAorICAgIDE2NjQ5LCAwLCAxNjY1NiwgMTY2NjEsIDE2NjY2LCAxNjY3MSwgMTY2NzgsIDE2Njg1LCAxNjY5MiwgMCwgMTY2OTksIAorICAgIDE2NzA0LCAxNjcwOSwgMCwgMTY3MTYsIDAsIDE2NzIzLCAwLCAwLCAxNjcyOCwgMTY3MzUsIDAsIDE2NzQyLCAxNjc0NiwgCisgICAgMTY3NTMsIDE2NzU3LCAxNjc2MiwgMTY3NzAsIDE2Nzc2LCAxNjc4MiwgMTY3ODcsIDE2NzkzLCAxNjc5OSwgMTY4MDUsIAorICAgIDE2ODEwLCAwLCAxNjgxNiwgMTY4MjQsIDE2ODMxLCAwLCAwLCAxNjgzOCwgMTY4NDMsIDE2ODQ5LCAxNjg1NCwgMTY4NjAsIAorICAgIDAsIDE2ODY2LCAwLCAxNjg3MiwgMTY4NzksIDE2ODg2LCAxNjg5MywgMTY5MDAsIDE2OTA1LCAwLCAwLCAxNjkwOSwgCisgICAgMTY5MTQsIDE2OTE4LCAxNjkyMiwgMTY5MjYsIDE2OTMwLCAxNjkzNCwgMTY5MzgsIDE2OTQyLCAxNjk0NiwgMCwgMCwgCisgICAgMTY5NTAsIDE2OTU2LCAxNjk2MiwgMTY5NjksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE2OTc2LCAxNjk4MCwgMTY5OTEsIAorICAgIDE3MDA2LCAxNzAyMSwgMTcwMzEsIDE3MDQyLCAxNzA1NSwgMTcwNjYsIDE3MDcyLCAxNzA4MCwgMTcwOTAsIDE3MDk2LCAKKyAgICAxNzEwNCwgMTcxMDgsIDE3MTE0LCAxNzEyMCwgMTcxMjgsIDE3MTM4LCAxNzE0NiwgMTcxNTksIDE3MTY1LCAxNzE3MywgCisgICAgMTcxODEsIDE3MTkzLCAxNzIwMCwgMTcyMDgsIDE3MjE2LCAxNzIyNCwgMTcyMzIsIDE3MjQwLCAxNzI0OCwgMTcyNTgsIAorICAgIDE3MjYyLCAxNzI2NSwgMTcyNjgsIDE3MjcxLCAxNzI3NCwgMTcyNzcsIDE3MjgwLCAxNzI4MywgMTcyODYsIDE3Mjg5LCAKKyAgICAxNzI5MywgMTcyOTcsIDE3MzAxLCAxNzMwNSwgMTczMDksIDE3MzEzLCAxNzMxNywgMTczMjEsIDE3MzI1LCAxNzMzMCwgCisgICAgMTczMzYsIDE3MzQ2LCAxNzM2MCwgMTczNzAsIDE3Mzc2LCAxNzM4MiwgMTczOTAsIDE3Mzk4LCAxNzQwNiwgMTc0MTQsIAorICAgIDE3NDIwLCAxNzQyNiwgMTc0MjksIDE3NDMzLCAxNzQzNywgMTc0NDEsIDE3NDQ1LCAxNzQ0OSwgMTc0NTMsIDAsIDE3NDU3LCAKKyAgICAxNzQ2MSwgMTc0NjUsIDE3NDY5LCAxNzQ3MywgMTc0NzcsIDE3NDgxLCAxNzQ4NSwgMTc0ODksIDE3NDkzLCAxNzQ5NywgCisgICAgMTc1MDAsIDE3NTAzLCAxNzUwNywgMTc1MTEsIDE3NTE1LCAxNzUxOCwgMTc1MjIsIDE3NTI2LCAxNzUzMCwgMTc1MzQsIAorICAgIDE3NTM4LCAxNzU0MiwgMTc1NDYsIDE3NTUwLCAxNzU1MywgMTc1NTYsIDE3NTYwLCAxNzU2NCwgMTc1NjgsIDE3NTcxLCAKKyAgICAxNzU3NCwgMTc1NzcsIDE3NTgxLCAxNzU4NiwgMTc1OTAsIDAsIDAsIDAsIDAsIDE3NTk0LCAxNzU5OSwgMTc2MDMsIAorICAgIDE3NjA4LCAxNzYxMiwgMTc2MTcsIDE3NjIyLCAxNzYyOCwgMTc2MzMsIDE3NjM5LCAxNzY0MywgMTc2NDgsIDE3NjUyLCAKKyAgICAxNzY1NywgMTc2NjcsIDE3NjczLCAxNzY3OSwgMTc2ODYsIDE3Njk2LCAxNzcwMiwgMTc3MDYsIDE3NzEwLCAxNzcxNiwgCisgICAgMTc3MjIsIDE3NzMwLCAxNzczNiwgMTc3NDQsIDE3NzUyLCAxNzc2MCwgMTc3NzAsIDE3Nzc4LCAxNzc4OCwgMTc3OTMsIAorICAgIDE3Nzk5LCAxNzgwNSwgMTc4MTEsIDE3ODE3LCAxNzgyMywgMTc4MjksIDAsIDE3ODM1LCAxNzg0MSwgMTc4NDcsIDE3ODUzLCAKKyAgICAxNzg1OSwgMTc4NjUsIDE3ODcxLCAxNzg3NywgMTc4ODMsIDE3ODg5LCAxNzg5NSwgMTc5MDAsIDE3OTA1LCAxNzkxMSwgCisgICAgMTc5MTcsIDE3OTIzLCAxNzkyOCwgMTc5MzQsIDE3OTQwLCAxNzk0NiwgMTc5NTIsIDE3OTU4LCAxNzk2NCwgMTc5NzAsIAorICAgIDE3OTc2LCAxNzk4MSwgMTc5ODYsIDE3OTkyLCAxNzk5OCwgMTgwMDQsIDE4MDA5LCAxODAxNCwgMTgwMTksIDE4MDI1LCAKKyAgICAxODAzMywgMTgwNDAsIDAsIDE4MDQ3LCAxODA1NCwgMTgwNjcsIDE4MDc0LCAxODA4MSwgMTgwODksIDE4MDk3LCAxODEwMywgCisgICAgMTgxMDksIDE4MTE1LCAxODEyNSwgMTgxMzAsIDE4MTM2LCAxODE0NiwgMTgxNTYsIDAsIDE4MTY2LCAxODE3NiwgMTgxODQsIAorICAgIDE4MTk2LCAxODIwOCwgMTgyMTQsIDE4MjI4LCAxODI0MywgMTgyNDgsIDE4MjUzLCAxODI2MSwgMTgyNjksIDE4Mjc3LCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxODI4NSwgMTgyODgsIDE4MjkyLCAxODI5NiwgMTgzMDAsIAorICAgIDE4MzA0LCAxODMwOCwgMTgzMTIsIDE4MzE2LCAxODMyMCwgMTgzMjQsIDE4MzI4LCAxODMzMiwgMTgzMzYsIDE4MzQwLCAKKyAgICAxODM0NCwgMTgzNDgsIDE4MzUyLCAxODM1NiwgMTgzNjAsIDE4MzY0LCAxODM2NywgMTgzNzAsIDE4Mzc0LCAxODM3OCwgCisgICAgMTgzODIsIDE4Mzg1LCAxODM4OCwgMTgzOTEsIDE4Mzk1LCAxODM5OSwgMTg0MDIsIDE4NDA1LCAxODQwOSwgMTg0MTIsIAorICAgIDE4NDE3LCAxODQyMCwgMTg0MjQsIDE4NDI3LCAxODQzMSwgMTg0MzQsIDE4NDM5LCAxODQ0MiwgMTg0NDYsIDE4NDUzLCAKKyAgICAxODQ1OCwgMTg0NjIsIDE4NDY3LCAxODQ3MSwgMTg0NzYsIDE4NDgwLCAxODQ4NSwgMTg0OTIsIDE4NDk4LCAxODUwMywgCisgICAgMTg1MDcsIDE4NTExLCAxODUxNSwgMTg1MTksIDE4NTIzLCAxODUyOCwgMTg1MzMsIDE4NTM5LCAxODU0NCwgMTg1NDksIAorICAgIDE4NTUzLCAxODU1NiwgMTg1NTksIDE4NTYyLCAxODU2NSwgMTg1NjgsIDE4NTcxLCAxODU3NCwgMTg1NzcsIDE4NTgwLCAKKyAgICAxODU4NiwgMTg1OTAsIDE4NTk0LCAxODU5OCwgMTg2MDIsIDE4NjA2LCAxODYxMCwgMTg2MTQsIDE4NjE4LCAxODYyMywgCisgICAgMTg2MjcsIDE4NjMyLCAxODYzNywgMTg2NDMsIDE4NjQ4LCAxODY1NCwgMTg2NjAsIDE4NjY2LCAxODY3MiwgMTg2NzgsIAorICAgIDE4Njg1LCAxODY5MiwgMTg3MDAsIDE4NzA4LCAxODcxNywgMTg3MjYsIDE4NzM3LCAxODc0NywgMTg3NTcsIDE4NzY4LCAKKyAgICAxODc3OSwgMTg3ODksIDE4Nzk5LCAxODgwOSwgMTg4MTksIDE4ODI5LCAxODgzOSwgMTg4NDksIDE4ODU5LCAxODg2NywgCisgICAgMTg4NzQsIDE4ODgwLCAxODg4NywgMTg4OTIsIDE4ODk4LCAxODkwNCwgMTg5MTAsIDE4OTE2LCAxODkyMiwgMTg5MjgsIAorICAgIDE4OTMzLCAxODkzOSwgMTg5NDUsIDE4OTUxLCAxODk1NywgMTg5NjIsIDE4OTcwLCAxODk3NywgMTg5ODMsIDE4OTkwLCAKKyAgICAxODk5OCwgMTkwMDQsIDE5MDEwLCAxOTAxNiwgMTkwMjIsIDE5MDMwLCAxOTAzOCwgMTkwNDgsIDE5MDU2LCAxOTA2NCwgCisgICAgMTkwNzAsIDE5MDc1LCAxOTA4MCwgMTkwODUsIDE5MDkwLCAxOTA5NSwgMTkxMDAsIDE5MTA1LCAxOTExMCwgMTkxMTUsIAorICAgIDE5MTIxLCAxOTEyNywgMTkxMzMsIDE5MTQwLCAxOTE0NSwgMTkxNTEsIDE5MTU2LCAxOTE2MSwgMTkxNjYsIDE5MTcxLCAKKyAgICAxOTE3NiwgMTkxODEsIDE5MTg2LCAxOTE5MSwgMTkxOTYsIDE5MjAxLCAxOTIwNiwgMTkyMTEsIDE5MjE2LCAxOTIyMSwgCisgICAgMTkyMjYsIDE5MjMxLCAxOTIzNiwgMTkyNDEsIDE5MjQ2LCAxOTI1MSwgMTkyNTYsIDE5MjYxLCAxOTI2NiwgMTkyNzEsIAorICAgIDE5Mjc2LCAxOTI4MSwgMTkyODYsIDE5MjkxLCAxOTI5NiwgMTkzMDEsIDE5MzA2LCAxOTMxMSwgMTkzMTYsIDE5MzIxLCAKKyAgICAxOTMyNiwgMTkzMzEsIDE5MzM2LCAwLCAxOTM0MSwgMCwgMCwgMCwgMCwgMCwgMTkzNDYsIDAsIDAsIDE5MzUxLCAxOTM1NSwgCisgICAgMTkzNTksIDE5MzYzLCAxOTM2NywgMTkzNzEsIDE5Mzc1LCAxOTM3OSwgMTkzODMsIDE5Mzg3LCAxOTM5MSwgMTkzOTUsIAorICAgIDE5Mzk5LCAxOTQwMywgMTk0MDcsIDE5NDExLCAxOTQxNSwgMTk0MTksIDE5NDIzLCAxOTQyNywgMTk0MzEsIDE5NDM1LCAKKyAgICAxOTQzOSwgMTk0NDMsIDE5NDQ3LCAxOTQ1MSwgMTk0NTUsIDE5NDU5LCAxOTQ2MywgMTk0NjcsIDE5NDcxLCAxOTQ3NSwgCisgICAgMTk0NzksIDE5NDgzLCAxOTQ4NywgMTk0OTEsIDE5NDk1LCAxOTQ5OSwgMTk1MDMsIDE5NTA3LCAxOTUxMSwgMTk1MTUsIAorICAgIDE5NTIxLCAxOTUyNSwgMTk1MzAsIDE5NTM1LCAxOTUzOSwgMTk1NDQsIDE5NTQ5LCAxOTU1MywgMTk1NTcsIDE5NTYxLCAKKyAgICAxOTU2NSwgMTk1NjksIDE5NTczLCAxOTU3NywgMTk1ODEsIDE5NTg1LCAxOTU4OSwgMTk1OTMsIDE5NTk3LCAxOTYwMSwgCisgICAgMTk2MDUsIDE5NjA5LCAxOTYxMywgMTk2MTcsIDE5NjIxLCAxOTYyNSwgMTk2MjksIDE5NjMzLCAxOTYzNywgMTk2NDEsIAorICAgIDE5NjQ1LCAxOTY0OSwgMTk2NTMsIDE5NjU3LCAxOTY2MSwgMTk2NjUsIDE5NjY5LCAxOTY3MywgMTk2NzcsIDE5NjgxLCAKKyAgICAxOTY4NSwgMTk2ODksIDE5NjkzLCAxOTY5NywgMTk3MDEsIDE5NzA1LCAxOTcwOSwgMTk3MTMsIDE5NzE3LCAxOTcyMSwgCisgICAgMTk3MjUsIDE5NzI5LCAxOTczMywgMTk3MzcsIDE5NzQxLCAxOTc0NSwgMTk3NDksIDE5NzUzLCAxOTc1NywgMTk3NjEsIAorICAgIDE5NzY1LCAxOTc2OSwgMTk3NzMsIDE5Nzc3LCAxOTc4MSwgMTk3ODUsIDE5Nzg5LCAxOTc5MywgMTk3OTcsIDE5ODAxLCAKKyAgICAxOTgwNSwgMTk4MDksIDE5ODEzLCAxOTgxNywgMTk4MjEsIDE5ODI1LCAxOTgyOSwgMTk4MzMsIDE5ODM3LCAxOTg0MSwgCisgICAgMTk4NDUsIDE5ODQ5LCAxOTg1MywgMTk4NTcsIDE5ODYxLCAxOTg2NSwgMTk4NjksIDE5ODczLCAxOTg3NywgMTk4ODEsIAorICAgIDE5ODg1LCAxOTg4OSwgMTk4OTMsIDE5ODk3LCAxOTkwMSwgMTk5MDUsIDE5OTA5LCAxOTkxMywgMTk5MTcsIDE5OTIxLCAKKyAgICAxOTkyNSwgMTk5MjksIDE5OTMzLCAxOTkzNywgMTk5NDAsIDE5OTQ0LCAxOTk0NywgMTk5NTEsIDE5OTU1LCAxOTk1OCwgCisgICAgMTk5NjIsIDE5OTY2LCAxOTk2OSwgMTk5NzMsIDE5OTc3LCAxOTk4MSwgMTk5ODUsIDE5OTg4LCAxOTk5MiwgMTk5OTYsIAorICAgIDIwMDAwLCAyMDAwNCwgMjAwMDgsIDIwMDEyLCAyMDAxNSwgMjAwMTksIDIwMDIzLCAyMDAyNywgMjAwMzEsIDIwMDM1LCAKKyAgICAyMDAzOSwgMjAwNDMsIDIwMDQ3LCAyMDA1MSwgMjAwNTUsIDIwMDU5LCAyMDA2MywgMjAwNjcsIDIwMDcxLCAyMDA3NSwgCisgICAgMjAwNzksIDIwMDgzLCAyMDA4NywgMjAwOTEsIDIwMDk1LCAyMDA5OSwgMjAxMDMsIDIwMTA3LCAyMDExMSwgMjAxMTUsIAorICAgIDIwMTE5LCAyMDEyMywgMjAxMjcsIDIwMTMxLCAyMDEzNSwgMjAxMzksIDIwMTQzLCAyMDE0NywgMjAxNTEsIDIwMTU1LCAKKyAgICAyMDE1OSwgMjAxNjMsIDIwMTY3LCAyMDE3MSwgMjAxNzUsIDIwMTc5LCAyMDE4MywgMjAxODcsIDIwMTkxLCAyMDE5NSwgCisgICAgMjAxOTksIDIwMjAzLCAyMDIwNywgMjAyMTEsIDIwMjE1LCAyMDIxOSwgMjAyMjMsIDIwMjI3LCAyMDIzMSwgMjAyMzUsIAorICAgIDIwMjM5LCAyMDI0MywgMjAyNDcsIDIwMjUxLCAyMDI1NSwgMjAyNTksIDIwMjYzLCAyMDI2NywgMjAyNzEsIDIwMjc1LCAKKyAgICAyMDI3OSwgMjAyODMsIDIwMjg3LCAyMDI5MSwgMjAyOTUsIDIwMjk5LCAyMDMwMywgMjAzMDcsIDIwMzExLCAyMDMxNSwgCisgICAgMjAzMTksIDIwMzIzLCAyMDMyNywgMjAzMzEsIDIwMzM1LCAyMDMzOSwgMjAzNDMsIDIwMzQ3LCAyMDM1MSwgMjAzNTUsIAorICAgIDIwMzU5LCAyMDM2MywgMjAzNjcsIDIwMzcxLCAyMDM3NSwgMjAzNzksIDIwMzgzLCAyMDM4NywgMjAzOTEsIDIwMzk1LCAKKyAgICAyMDM5OSwgMjA0MDMsIDIwNDA3LCAyMDQxMSwgMjA0MTUsIDIwNDE5LCAyMDQyMywgMjA0MjcsIDIwNDMxLCAyMDQzNSwgCisgICAgMjA0MzksIDIwNDQzLCAyMDQ0NywgMjA0NTEsIDIwNDU1LCAyMDQ1OSwgMjA0NjMsIDIwNDY3LCAyMDQ3MSwgMjA0NzUsIAorICAgIDIwNDc5LCAyMDQ4MywgMjA0ODcsIDIwNDkxLCAyMDQ5NSwgMjA0OTksIDIwNTAzLCAyMDUwNywgMjA1MTEsIDIwNTE1LCAKKyAgICAyMDUxOSwgMjA1MjMsIDIwNTI3LCAyMDUzMSwgMjA1MzUsIDIwNTM5LCAyMDU0MywgMjA1NDcsIDIwNTUxLCAyMDU1NSwgCisgICAgMjA1NTksIDIwNTYzLCAyMDU2NywgMjA1NzAsIDIwNTc0LCAyMDU3OCwgMjA1ODIsIDIwNTg2LCAyMDU5MCwgMjA1OTQsIAorICAgIDIwNTk4LCAyMDYwMiwgMjA2MDYsIDIwNjEwLCAyMDYxNCwgMjA2MTgsIDIwNjIyLCAyMDYyNiwgMjA2MzAsIDIwNjM0LCAKKyAgICAyMDYzOCwgMjA2NDIsIDIwNjQ2LCAyMDY1MCwgMjA2NTQsIDIwNjU4LCAyMDY2MiwgMjA2NjUsIDIwNjY5LCAyMDY3MywgCisgICAgMjA2NzcsIDIwNjgxLCAyMDY4NSwgMjA2ODksIDIwNjkzLCAyMDY5NywgMjA3MDEsIDIwNzA1LCAyMDcwOSwgMjA3MTMsIAorICAgIDIwNzE3LCAyMDcyMSwgMjA3MjUsIDIwNzI4LCAyMDczMiwgMjA3MzYsIDIwNzQwLCAyMDc0NCwgMjA3NDgsIDIwNzUyLCAKKyAgICAyMDc1NiwgMjA3NTksIDIwNzYzLCAyMDc2NywgMjA3NzEsIDIwNzc1LCAyMDc3OSwgMjA3ODMsIDIwNzg3LCAyMDc5MSwgCisgICAgMjA3OTUsIDIwNzk5LCAyMDgwMywgMjA4MDcsIDIwODExLCAyMDgxNSwgMjA4MTksIDIwODIzLCAyMDgyNywgMjA4MzEsIAorICAgIDIwODM1LCAyMDgzOSwgMjA4NDMsIDIwODQ3LCAyMDg1MSwgMCwgMjA4NTUsIDIwODU5LCAyMDg2MywgMjA4NjcsIDAsIDAsIAorICAgIDIwODcxLCAyMDg3NSwgMjA4NzksIDIwODgzLCAyMDg4NywgMjA4OTEsIDIwODk1LCAwLCAyMDg5OSwgMCwgMjA5MDMsIAorICAgIDIwOTA3LCAyMDkxMSwgMjA5MTUsIDAsIDAsIDIwOTE5LCAyMDkyMywgMjA5MjcsIDIwOTMxLCAyMDkzNSwgMjA5MzksIAorICAgIDIwOTQzLCAyMDk0NywgMjA5NTEsIDIwOTU1LCAyMDk1OSwgMjA5NjMsIDIwOTY3LCAyMDk3MSwgMjA5NzUsIDIwOTc5LCAKKyAgICAyMDk4MywgMjA5ODcsIDIwOTkxLCAyMDk5NSwgMjA5OTksIDIxMDAzLCAyMTAwNywgMjEwMTAsIDIxMDE0LCAyMTAxOCwgCisgICAgMjEwMjIsIDIxMDI2LCAyMTAzMCwgMjEwMzQsIDIxMDM4LCAyMTA0MiwgMjEwNDYsIDIxMDUwLCAyMTA1NCwgMjEwNTgsIAorICAgIDIxMDYyLCAyMTA2NiwgMjEwNzAsIDIxMDc0LCAyMTA3OCwgMCwgMjEwODIsIDIxMDg2LCAyMTA5MCwgMjEwOTQsIDAsIDAsIAorICAgIDIxMDk4LCAyMTEwMSwgMjExMDUsIDIxMTA5LCAyMTExMywgMjExMTcsIDIxMTIxLCAyMTEyNSwgMjExMjksIDIxMTMzLCAKKyAgICAyMTEzNywgMjExNDEsIDIxMTQ1LCAyMTE0OSwgMjExNTMsIDIxMTU3LCAyMTE2MSwgMjExNjYsIDIxMTcxLCAyMTE3NiwgCisgICAgMjExODIsIDIxMTg4LCAyMTE5MywgMjExOTgsIDIxMjA0LCAyMTIwNywgMjEyMTEsIDIxMjE1LCAyMTIxOSwgMjEyMjMsIAorICAgIDIxMjI3LCAyMTIzMSwgMjEyMzUsIDAsIDIxMjM5LCAyMTI0MywgMjEyNDcsIDIxMjUxLCAwLCAwLCAyMTI1NSwgMjEyNTksIAorICAgIDIxMjYzLCAyMTI2NywgMjEyNzEsIDIxMjc1LCAyMTI3OSwgMCwgMjEyODMsIDAsIDIxMjg3LCAyMTI5MSwgMjEyOTUsIAorICAgIDIxMjk5LCAwLCAwLCAyMTMwMywgMjEzMDcsIDIxMzExLCAyMTMxNSwgMjEzMTksIDIxMzIzLCAyMTMyNywgMjEzMzEsIAorICAgIDIxMzM1LCAyMTM0MCwgMjEzNDUsIDIxMzUwLCAyMTM1NiwgMjEzNjIsIDIxMzY3LCAwLCAyMTM3MiwgMjEzNzYsIDIxMzgwLCAKKyAgICAyMTM4NCwgMjEzODgsIDIxMzkyLCAyMTM5NiwgMjE0MDAsIDIxNDA0LCAyMTQwOCwgMjE0MTIsIDIxNDE2LCAyMTQyMCwgCisgICAgMjE0MjQsIDIxNDI4LCAyMTQzMiwgMjE0MzYsIDIxNDM5LCAyMTQ0MywgMjE0NDcsIDIxNDUxLCAyMTQ1NSwgMjE0NTksIAorICAgIDIxNDYzLCAyMTQ2NywgMjE0NzEsIDIxNDc1LCAyMTQ3OSwgMjE0ODMsIDIxNDg3LCAyMTQ5MSwgMjE0OTUsIDIxNDk5LCAKKyAgICAyMTUwMywgMjE1MDcsIDIxNTExLCAyMTUxNSwgMjE1MTksIDIxNTIzLCAyMTUyNywgMjE1MzEsIDIxNTM1LCAyMTUzOSwgCisgICAgMjE1NDMsIDIxNTQ3LCAyMTU1MSwgMjE1NTUsIDIxNTU5LCAyMTU2MywgMjE1NjcsIDIxNTcxLCAyMTU3NSwgMjE1NzksIAorICAgIDIxNTgzLCAyMTU4NywgMjE1OTEsIDIxNTk1LCAwLCAyMTU5OSwgMjE2MDMsIDIxNjA3LCAyMTYxMSwgMCwgMCwgMjE2MTUsIAorICAgIDIxNjE5LCAyMTYyMywgMjE2MjcsIDIxNjMxLCAyMTYzNSwgMjE2MzksIDIxNjQzLCAyMTY0NywgMjE2NTEsIDIxNjU1LCAKKyAgICAyMTY1OSwgMjE2NjMsIDIxNjY3LCAyMTY3MSwgMjE2NzUsIDIxNjc5LCAyMTY4MywgMjE2ODcsIDIxNjkxLCAyMTY5NSwgCisgICAgMjE2OTksIDIxNzAzLCAyMTcwNywgMjE3MTEsIDIxNzE1LCAyMTcxOSwgMjE3MjMsIDIxNzI3LCAyMTczMSwgMjE3MzUsIAorICAgIDIxNzM5LCAyMTc0MywgMjE3NDcsIDIxNzUxLCAyMTc1NSwgMjE3NTksIDIxNzYzLCAyMTc2NywgMjE3NzEsIDIxNzc1LCAKKyAgICAyMTc3OSwgMjE3ODMsIDIxNzg3LCAyMTc5MSwgMjE3OTUsIDIxNzk5LCAyMTgwMywgMjE4MDcsIDIxODExLCAyMTgxNSwgCisgICAgMjE4MTksIDIxODIzLCAyMTgyNywgMjE4MzEsIDIxODM1LCAyMTgzOSwgMjE4NDIsIDIxODQ2LCAyMTg1MCwgMjE4NTQsIAorICAgIDIxODU4LCAyMTg2MiwgMjE4NjYsIDIxODcwLCAyMTg3NCwgMjE4NzgsIDAsIDAsIDIxODgyLCAyMTg5MSwgMjE4OTcsIAorICAgIDIxOTAyLCAyMTkwNiwgMjE5MDksIDIxOTE0LCAyMTkxNywgMjE5MjAsIDIxOTIzLCAyMTkyOCwgMjE5MzIsIDIxOTM3LCAKKyAgICAyMTk0MCwgMjE5NDMsIDIxOTQ2LCAyMTk0OSwgMjE5NTIsIDIxOTU1LCAyMTk1OCwgMjE5NjEsIDIxOTY0LCAyMTk2OCwgCisgICAgMjE5NzIsIDIxOTc2LCAyMTk4MCwgMjE5ODQsIDIxOTg4LCAyMTk5MiwgMjE5OTYsIDIyMDAwLCAyMjAwNCwgMCwgMCwgMCwgCisgICAgMjIwMTAsIDIyMDE2LCAyMjAyMCwgMjIwMjQsIDIyMDI4LCAyMjAzNCwgMjIwMzgsIDIyMDQyLCAyMjA0NiwgMjIwNTIsIAorICAgIDIyMDU2LCAyMjA2MCwgMjIwNjQsIDIyMDcwLCAyMjA3NCwgMjIwNzgsIDIyMDgyLCAyMjA4OCwgMjIwOTQsIDIyMTAwLCAKKyAgICAyMjEwOCwgMjIxMTQsIDIyMTIwLCAyMjEyNiwgMjIxMzIsIDIyMTM4LCAwLCAwLCAwLCAwLCAwLCAwLCAyMjE0NCwgMjIxNDcsIAorICAgIDIyMTUwLCAyMjE1MywgMjIxNTYsIDIyMTU5LCAyMjE2MywgMjIxNjcsIDIyMTcwLCAyMjE3NCwgMjIxNzgsIDIyMTgyLCAKKyAgICAyMjE4NiwgMjIxOTAsIDIyMTkzLCAyMjE5NywgMjIyMDEsIDIyMjA1LCAyMjIwOSwgMjIyMTMsIDIyMjE3LCAyMjIyMSwgCisgICAgMjIyMjUsIDIyMjI5LCAyMjIzMywgMjIyMzcsIDIyMjQwLCAyMjI0NCwgMjIyNDgsIDIyMjUyLCAyMjI1NiwgMjIyNTksIAorICAgIDIyMjYzLCAyMjI2NywgMjIyNzEsIDIyMjc1LCAyMjI3OSwgMjIyODMsIDIyMjg3LCAyMjI5MSwgMjIyOTUsIDIyMjk5LCAKKyAgICAyMjMwMywgMjIzMDcsIDIyMzExLCAyMjMxNCwgMjIzMTgsIDIyMzIyLCAyMjMyNiwgMjIzMzAsIDIyMzM0LCAyMjMzOCwgCisgICAgMjIzNDIsIDIyMzQ2LCAyMjM1MCwgMjIzNTQsIDIyMzU4LCAyMjM2MiwgMjIzNjYsIDIyMzcwLCAyMjM3NCwgMjIzNzgsIAorICAgIDIyMzgyLCAyMjM4NiwgMjIzOTAsIDIyMzk0LCAyMjM5OCwgMjI0MDIsIDIyNDA2LCAyMjQxMCwgMjI0MTQsIDIyNDE4LCAKKyAgICAyMjQyMiwgMjI0MjYsIDIyNDMwLCAyMjQzNCwgMjI0MzgsIDIyNDQyLCAyMjQ0NiwgMjI0NTAsIDIyNDUzLCAyMjQ1NywgCisgICAgMjI0NjEsIDIyNDY1LCAyMjQ2OSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjI0NzMsIDIyNDc3LCAKKyAgICAyMjQ4MCwgMjI0ODQsIDIyNDg3LCAyMjQ5MSwgMjI0OTQsIDIyNDk4LCAyMjUwNCwgMjI1MDksIDIyNTEzLCAyMjUxNiwgCisgICAgMjI1MjAsIDIyNTI0LCAyMjUyOSwgMjI1MzMsIDIyNTM4LCAyMjU0MiwgMjI1NDcsIDIyNTUxLCAyMjU1NiwgMjI1NjAsIAorICAgIDIyNTY1LCAyMjU3MSwgMjI1NzUsIDIyNTgwLCAyMjU4NCwgMjI1ODksIDIyNTk1LCAyMjU5OSwgMjI2MDUsIDIyNjExLCAKKyAgICAyMjYxNSwgMjI2MjAsIDIyNjI4LCAyMjYzNiwgMjI2NDMsIDIyNjQ4LCAyMjY1MywgMjI2NjIsIDIyNjY5LCAyMjY3NiwgCisgICAgMjI2ODEsIDIyNjg3LCAyMjY5MSwgMjI2OTUsIDIyNjk5LCAyMjcwMywgMjI3MDcsIDIyNzExLCAyMjcxNSwgMjI3MTksIAorICAgIDIyNzIzLCAyMjcyNywgMjI3MzMsIDIyNzM4LCAyMjc0MywgMjI3NDYsIDIyNzUwLCAyMjc1NCwgMjI3NTksIDIyNzYzLCAKKyAgICAyMjc2OCwgMjI3NzIsIDIyNzc3LCAyMjc4MSwgMjI3ODYsIDIyNzkwLCAyMjc5NSwgMjI3OTksIDIyODA0LCAyMjgwOCwgCisgICAgMjI4MTMsIDIyODE5LCAyMjgyMywgMjI4MjgsIDIyODMzLCAyMjgzNywgMjI4NDEsIDIyODQ1LCAyMjg0OSwgMjI4NTIsIAorICAgIDIyODU2LCAyMjg2MiwgMjI4NjcsIDIyODcyLCAyMjg3NiwgMjI4ODAsIDIyODg0LCAyMjg4OSwgMjI4OTMsIDIyODk4LCAKKyAgICAyMjkwMiwgMjI5MDcsIDIyOTEwLCAyMjkxNCwgMjI5MTgsIDIyOTIzLCAyMjkyNywgMjI5MzIsIDIyOTM2LCAyMjk0MSwgCisgICAgMjI5NDcsIDIyOTUxLCAyMjk1NSwgMjI5NTksIDIyOTYzLCAyMjk2NywgMjI5NzEsIDIyOTc1LCAyMjk3OSwgMjI5ODMsIAorICAgIDIyOTg3LCAyMjk5MSwgMjI5OTcsIDIzMDAwLCAyMzAwNCwgMjMwMDgsIDIzMDEzLCAyMzAxNywgMjMwMjIsIDIzMDI2LCAKKyAgICAyMzAzMSwgMjMwMzUsIDIzMDQwLCAyMzA0NCwgMjMwNDksIDIzMDUzLCAyMzA1OCwgMjMwNjIsIDIzMDY3LCAyMzA3MywgCisgICAgMjMwNzcsIDIzMDgxLCAyMzA4NywgMjMwOTMsIDIzMDk5LCAyMzEwNSwgMjMxMDksIDIzMTEzLCAyMzExNywgMjMxMjEsIAorICAgIDIzMTI1LCAyMzEyOSwgMjMxMzUsIDIzMTM5LCAyMzE0MywgMjMxNDcsIDIzMTUyLCAyMzE1NiwgMjMxNjEsIDIzMTY1LCAKKyAgICAyMzE3MCwgMjMxNzQsIDIzMTc5LCAyMzE4MywgMjMxODgsIDIzMTkyLCAyMzE5NywgMjMyMDEsIDIzMjA2LCAyMzIxMiwgCisgICAgMjMyMTYsIDIzMjIyLCAyMzIyNiwgMjMyMzAsIDIzMjM0LCAyMzIzOCwgMjMyNDIsIDIzMjQ2LCAyMzI1MiwgMjMyNTUsIAorICAgIDIzMjU5LCAyMzI2MywgMjMyNjgsIDIzMjcyLCAyMzI3NywgMjMyODEsIDIzMjg2LCAyMzI5MCwgMjMyOTUsIDIzMjk5LCAKKyAgICAyMzMwNCwgMjMzMDgsIDIzMzEzLCAyMzMxNywgMjMzMjIsIDIzMzI4LCAyMzMzMSwgMjMzMzUsIDIzMzM5LCAyMzM0NCwgCisgICAgMjMzNDksIDIzMzUzLCAyMzM1NywgMjMzNjEsIDIzMzY1LCAyMzM2OSwgMjMzNzMsIDIzMzc5LCAyMzM4MiwgMjMzODYsIAorICAgIDIzMzkwLCAyMzM5NSwgMjMzOTksIDIzNDA0LCAyMzQwOCwgMjM0MTMsIDIzNDE5LCAyMzQyMywgMjM0MjgsIDIzNDMyLCAKKyAgICAyMzQzNiwgMjM0NDAsIDIzNDQ0LCAyMzQ0OCwgMjM0NTIsIDIzNDU2LCAyMzQ2MiwgMjM0NjYsIDIzNDcwLCAyMzQ3NCwgCisgICAgMjM0NzksIDIzNDgzLCAyMzQ4OCwgMjM0OTIsIDIzNDk3LCAyMzUwMSwgMjM1MDYsIDIzNTEwLCAyMzUxNSwgMjM1MTksIAorICAgIDIzNTI0LCAyMzUyOCwgMjM1MzMsIDIzNTM2LCAyMzU0MCwgMjM1NDQsIDIzNTQ4LCAyMzU1MiwgMjM1NTYsIDIzNTYwLCAKKyAgICAyMzU2NCwgMjM1NjgsIDIzNTc0LCAyMzU3NywgMjM1ODEsIDIzNTg1LCAyMzU5MCwgMjM1OTQsIDIzNTk5LCAyMzYwMywgCisgICAgMjM2MDgsIDIzNjEyLCAyMzYxNywgMjM2MjEsIDIzNjI2LCAyMzYzMCwgMjM2MzUsIDIzNjM5LCAyMzY0NCwgMjM2NTAsIAorICAgIDIzNjU0LCAyMzY2MCwgMjM2NjQsIDIzNjcwLCAyMzY3NiwgMjM2ODIsIDIzNjg4LCAyMzY5NCwgMjM3MDAsIDIzNzA2LCAKKyAgICAyMzcxMiwgMjM3MTYsIDIzNzIwLCAyMzcyNCwgMjM3MjgsIDIzNzMyLCAyMzczNiwgMjM3NDAsIDIzNzQ0LCAyMzc0OSwgCisgICAgMjM3NTMsIDIzNzU4LCAyMzc2MiwgMjM3NjcsIDIzNzcxLCAyMzc3NiwgMjM3ODAsIDIzNzg1LCAyMzc4OSwgMjM3OTQsIAorICAgIDIzNzk4LCAyMzgwMywgMjM4MDcsIDIzODExLCAyMzgxNSwgMjM4MTksIDIzODIzLCAyMzgyNywgMjM4MzEsIDIzODM3LCAKKyAgICAyMzg0MCwgMjM4NDQsIDIzODQ4LCAyMzg1MywgMjM4NTcsIDIzODYyLCAyMzg2NiwgMjM4NzEsIDIzODc1LCAyMzg4MCwgCisgICAgMjM4ODQsIDIzODg5LCAyMzg5MywgMjM4OTgsIDIzOTAyLCAyMzkwNywgMjM5MTMsIDIzOTE3LCAyMzkyMywgMjM5MjgsIAorICAgIDIzOTM0LCAyMzkzOCwgMjM5NDQsIDIzOTQ5LCAyMzk1MywgMjM5NTcsIDIzOTYxLCAyMzk2NSwgMjM5NjksIDIzOTc0LCAKKyAgICAyMzk3NywgMjM5ODEsIDIzOTg2LCAyMzk5MCwgMjM5OTUsIDIzOTk4LCAyNDAwMiwgMjQwMDYsIDI0MDEwLCAyNDAxNCwgCisgICAgMjQwMTgsIDI0MDIyLCAyNDAyNiwgMjQwMzAsIDI0MDM0LCAyNDAzOCwgMjQwNDIsIDI0MDQ3LCAyNDA1MSwgMjQwNTUsIAorICAgIDI0MDYxLCAyNDA2NSwgMjQwNzEsIDI0MDc1LCAyNDA4MSwgMjQwODUsIDI0MDg5LCAyNDA5MywgMjQwOTcsIDI0MTAxLCAKKyAgICAyNDEwNiwgMjQxMTAsIDI0MTE0LCAyNDExOCwgMjQxMjIsIDI0MTI2LCAyNDEzMCwgMjQxMzQsIDI0MTM4LCAyNDE0MiwgCisgICAgMjQxNDYsIDI0MTUyLCAyNDE1OCwgMjQxNjQsIDI0MTcwLCAyNDE3NiwgMjQxODEsIDI0MTg3LCAyNDE5MywgMjQxOTksIAorICAgIDI0MjAzLCAyNDIwNywgMjQyMTEsIDI0MjE1LCAyNDIxOSwgMjQyMjMsIDI0MjI3LCAyNDIzMSwgMjQyMzUsIDI0MjM5LCAKKyAgICAyNDI0MywgMjQyNDcsIDI0MjUxLCAyNDI1NiwgMjQyNjEsIDI0MjY2LCAyNDI3MCwgMjQyNzQsIDI0Mjc4LCAyNDI4MiwgCisgICAgMjQyODYsIDI0MjkwLCAyNDI5NCwgMjQyOTgsIDI0MzAyLCAyNDMwNiwgMjQzMTIsIDI0MzE4LCAyNDMyNCwgMjQzMzAsIAorICAgIDI0MzM2LCAyNDM0MiwgMjQzNDgsIDI0MzU0LCAyNDM2MCwgMjQzNjQsIDI0MzY4LCAyNDM3MiwgMjQzNzYsIDI0MzgwLCAKKyAgICAyNDM4NCwgMjQzODgsIDI0Mzk0LCAyNDQwMCwgMjQ0MDYsIDI0NDEyLCAyNDQxOCwgMjQ0MjQsIDI0NDMwLCAyNDQzNiwgCisgICAgMjQ0NDIsIDI0NDQ3LCAyNDQ1MiwgMjQ0NTcsIDI0NDYyLCAyNDQ2OCwgMjQ0NzQsIDI0NDgwLCAyNDQ4NiwgMjQ0OTIsIAorICAgIDI0NDk4LCAyNDUwNCwgMjQ1MDksIDI0NTE1LCAyNDUyMSwgMjQ1MjcsIDI0NTMyLCAyNDUzOCwgMjQ1NDQsIDI0NTUwLCAKKyAgICAyNDU1NSwgMjQ1NjAsIDI0NTY1LCAyNDU3MCwgMjQ1NzUsIDI0NTgwLCAyNDU4NSwgMjQ1OTAsIDI0NTk1LCAyNDYwMCwgCisgICAgMjQ2MDUsIDI0NjEwLCAyNDYxNCwgMjQ2MTksIDI0NjI0LCAyNDYyOSwgMjQ2MzQsIDI0NjM5LCAyNDY0NCwgMjQ2NDksIAorICAgIDI0NjU0LCAyNDY1OSwgMjQ2NjQsIDI0NjY5LCAyNDY3NCwgMjQ2NzksIDI0Njg0LCAyNDY4OSwgMjQ2OTQsIDI0Njk5LCAKKyAgICAyNDcwNCwgMjQ3MDksIDI0NzE0LCAyNDcxOSwgMjQ3MjQsIDI0NzI5LCAyNDczNCwgMjQ3MzksIDI0NzQ0LCAyNDc0OSwgCisgICAgMjQ3NTQsIDI0NzU5LCAyNDc2MywgMjQ3NjgsIDI0NzczLCAyNDc3OCwgMjQ3ODMsIDI0Nzg4LCAyNDc5MywgMjQ3OTgsIAorICAgIDI0ODAzLCAyNDgwOCwgMjQ4MTMsIDI0ODE4LCAyNDgyMywgMjQ4MjgsIDI0ODMzLCAyNDgzOCwgMjQ4NDMsIDI0ODQ4LCAKKyAgICAyNDg1MywgMjQ4NTgsIDI0ODYzLCAyNDg2OCwgMjQ4NzMsIDI0ODc4LCAyNDg4MywgMjQ4ODgsIDI0ODkyLCAyNDg5NywgCisgICAgMjQ5MDIsIDI0OTA3LCAyNDkxMiwgMjQ5MTcsIDI0OTIxLCAyNDkyNiwgMjQ5MzEsIDI0OTM2LCAyNDk0MSwgMjQ5NDYsIAorICAgIDI0OTUwLCAyNDk1NSwgMjQ5NjEsIDI0OTY2LCAyNDk3MSwgMjQ5NzYsIDI0OTgxLCAyNDk4NywgMjQ5OTIsIDI0OTk3LCAKKyAgICAyNTAwMiwgMjUwMDcsIDI1MDEyLCAyNTAxNywgMjUwMjIsIDI1MDI3LCAyNTAzMiwgMjUwMzcsIDI1MDQyLCAyNTA0NywgCisgICAgMjUwNTIsIDI1MDU3LCAyNTA2MiwgMjUwNjcsIDI1MDcyLCAyNTA3NywgMjUwODIsIDI1MDg3LCAyNTA5MiwgMjUwOTcsIAorICAgIDI1MTAyLCAyNTEwNywgMjUxMTIsIDI1MTE3LCAyNTEyMiwgMjUxMjcsIDI1MTMyLCAyNTEzNywgMjUxNDIsIDI1MTQ3LCAKKyAgICAyNTE1MiwgMjUxNTcsIDI1MTYyLCAyNTE2NywgMjUxNzIsIDI1MTc3LCAyNTE4MiwgMjUxODcsIDI1MTkyLCAyNTE5NywgCisgICAgMjUyMDIsIDI1MjA3LCAyNTIxMywgMjUyMTgsIDI1MjIzLCAyNTIyOCwgMjUyMzMsIDI1MjM4LCAyNTI0MywgMjUyNDgsIAorICAgIDI1MjUzLCAyNTI1OCwgMjUyNjMsIDI1MjY4LCAyNTI3MiwgMjUyNzcsIDI1MjgyLCAyNTI4NywgMjUyOTIsIDI1Mjk3LCAKKyAgICAyNTMwMiwgMjUzMDcsIDI1MzEyLCAyNTMxNywgMjUzMjIsIDI1MzI3LCAyNTMzMiwgMjUzMzcsIDI1MzQyLCAyNTM0NywgCisgICAgMjUzNTIsIDI1MzU3LCAyNTM2MiwgMjUzNjcsIDI1MzcyLCAyNTM3NywgMjUzODIsIDI1Mzg3LCAyNTM5MiwgMjUzOTcsIAorICAgIDI1NDAyLCAyNTQwOCwgMjU0MTIsIDI1NDE2LCAyNTQyMCwgMjU0MjQsIDI1NDI4LCAyNTQzMiwgMjU0MzYsIDI1NDQwLCAKKyAgICAyNTQ0NiwgMjU0NTIsIDI1NDU4LCAyNTQ2NCwgMjU0NzAsIDI1NDc2LCAyNTQ4MiwgMjU0ODksIDI1NDk1LCAyNTUwMCwgCisgICAgMjU1MDUsIDI1NTEwLCAyNTUxNSwgMjU1MjAsIDI1NTI1LCAyNTUzMCwgMjU1MzUsIDI1NTQwLCAyNTU0NSwgMjU1NTAsIAorICAgIDI1NTU1LCAyNTU2MCwgMjU1NjUsIDI1NTcwLCAyNTU3NSwgMjU1ODAsIDI1NTg1LCAyNTU5MCwgMjU1OTUsIDI1NjAwLCAKKyAgICAyNTYwNSwgMjU2MTAsIDI1NjE1LCAyNTYyMCwgMjU2MjUsIDI1NjMwLCAyNTYzNSwgMCwgMCwgMCwgMjU2NDIsIDI1NjUyLCAKKyAgICAyNTY1NiwgMjU2NjMsIDI1NjY3LCAyNTY3MSwgMjU2NzUsIDI1NjgzLCAyNTY4NywgMjU2OTIsIDI1Njk3LCAyNTcwMiwgCisgICAgMjU3MDYsIDI1NzExLCAyNTcxNiwgMjU3MTksIDI1NzIzLCAyNTcyNywgMjU3MzYsIDI1NzQwLCAyNTc0NCwgMjU3NTAsIAorICAgIDI1NzU0LCAyNTc1OCwgMjU3NjYsIDI1NzcwLCAyNTc3OCwgMjU3ODQsIDI1NzkwLCAyNTc5NiwgMjU4MDIsIDI1ODEyLCAKKyAgICAyNTgxOCwgMjU4MjIsIDI1ODMxLCAyNTgzNCwgMjU4NDAsIDI1ODQ0LCAyNTg1MCwgMjU4NTUsIDI1ODYxLCAyNTg2OSwgCisgICAgMjU4NzUsIDI1ODgxLCAyNTg4OSwgMjU4OTUsIDI1ODk5LCAyNTkwMywgMjU5MTMsIDI1OTE5LCAyNTkyMywgMjU5MzMsIAorICAgIDI1OTM5LCAyNTk0MywgMjU5NDcsIDI1OTU0LCAyNTk2MSwgMjU5NjYsIDI1OTcxLCAyNTk4MCwgMjU5ODQsIDI1OTg4LCAKKyAgICAyNTk5MiwgMjYwMDAsIDI2MDA3LCAyNjAxMSwgMjYwMTUsIDI2MDE5LCAyNjAyMywgMjYwMjcsIDI2MDMxLCAyNjAzNSwgCisgICAgMjYwMzksIDI2MDQzLCAyNjA0NywgMjYwNTEsIDI2MDU2LCAyNjA2MSwgMjYwNjYsIDI2MDcwLCAyNjA3NCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjYwNzgsIDI2MDgyLCAyNjA4NiwgMjYwOTAsIDI2MDk0LCAKKyAgICAyNjA5OSwgMjYxMDQsIDI2MTA5LCAyNjExNCwgMjYxMTgsIDI2MTIyLCAyNjEyNywgMjYxMzEsIDAsIDI2MTM1LCAyNjE0MCwgCisgICAgMjYxNDUsIDI2MTQ5LCAyNjE1MywgMjYxNTgsIDI2MTYzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAyNjE2OCwgMjYxNzIsIDI2MTc2LCAyNjE4MCwgMjYxODQsIDI2MTg5LCAyNjE5NCwgMjYxOTksIDI2MjA0LCAyNjIwOCwgCisgICAgMjYyMTIsIDI2MjE3LCAyNjIyMSwgMjYyMjUsIDI2MjI5LCAyNjIzNCwgMjYyMzksIDI2MjQzLCAyNjI0NywgMjYyNTIsIAorICAgIDI2MjU3LCAyNjI2MiwgMjYyNjgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI2MjczLCAyNjI3NywgMjYyODEsIAorICAgIDI2Mjg1LCAyNjI4OSwgMjYyOTQsIDI2Mjk5LCAyNjMwNCwgMjYzMDksIDI2MzEzLCAyNjMxNywgMjYzMjIsIDI2MzI2LCAKKyAgICAyNjMzMCwgMjYzMzQsIDI2MzM5LCAyNjM0NCwgMjYzNDgsIDI2MzUyLCAyNjM1NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMjYzNjIsIDI2MzY2LCAyNjM3MCwgMjYzNzQsIDI2Mzc4LCAyNjM4MywgMjYzODgsIDI2MzkzLCAKKyAgICAyNjM5OCwgMjY0MDIsIDI2NDA2LCAyNjQxMSwgMjY0MTUsIDAsIDI2NDE5LCAyNjQyNCwgMjY0MjksIDAsIDI2NDMzLCAKKyAgICAyNjQzOCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjY0NDMsIDI2NDQ2LCAyNjQ1MCwgMjY0NTQsIAorICAgIDI2NDU4LCAyNjQ2MiwgMjY0NjYsIDI2NDcwLCAyNjQ3NCwgMjY0NzgsIDI2NDgyLCAyNjQ4NiwgMjY0OTAsIDI2NDk0LCAKKyAgICAyNjQ5OCwgMjY1MDIsIDI2NTA2LCAyNjUxMCwgMjY1MTMsIDI2NTE3LCAyNjUyMSwgMjY1MjUsIDI2NTI5LCAyNjUzMywgCisgICAgMjY1MzcsIDI2NTQxLCAyNjU0NSwgMjY1NDksIDI2NTUzLCAyNjU1NywgMjY1NjEsIDI2NTY1LCAyNjU2OCwgMjY1NzEsIAorICAgIDI2NTc1LCAyNjU3OSwgMjY1ODUsIDI2NTkxLCAyNjU5NywgMjY2MDMsIDI2NjA5LCAyNjYxNSwgMjY2MjEsIDI2NjI3LCAKKyAgICAyNjYzMywgMjY2MzksIDI2NjQ1LCAyNjY1MSwgMjY2NTcsIDI2NjYzLCAyNjY3MiwgMjY2ODEsIDI2Njg3LCAyNjY5MywgCisgICAgMjY2OTksIDI2NzA0LCAyNjcwOCwgMjY3MTMsIDI2NzE4LCAyNjcyMywgMjY3MjcsIDI2NzMyLCAyNjczNywgMjY3NDIsIAorICAgIDI2NzQ2LCAyNjc1MSwgMjY3NTUsIDI2NzYwLCAyNjc2NSwgMjY3NzAsIDI2Nzc1LCAyNjc3OSwgMjY3ODMsIDI2Nzg3LCAKKyAgICAyNjc5MSwgMjY3OTUsIDI2Nzk5LCAyNjgwMywgMjY4MDcsIDI2ODExLCAyNjgxNSwgMjY4MjEsIDI2ODI1LCAyNjgyOSwgCisgICAgMjY4MzMsIDI2ODM3LCAyNjg0MSwgMjY4NDksIDI2ODU1LCAyNjg1OSwgMjY4NjUsIDI2ODY5LCAyNjg3NSwgMjY4NzksIDAsIAorICAgIDAsIDI2ODgzLCAyNjg4NywgMjY4OTAsIDI2ODkzLCAyNjg5NiwgMjY4OTksIDI2OTAyLCAyNjkwNSwgMjY5MDgsIDI2OTExLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAyNjkxNCwgMjY5MjIsIDI2OTMwLCAyNjkzOCwgMjY5NDYsIDI2OTU0LCAyNjk2MiwgMjY5NzAsIAorICAgIDI2OTc4LCAyNjk4NiwgMCwgMCwgMCwgMCwgMCwgMCwgMjY5OTQsIDI2OTk3LCAyNzAwMCwgMjcwMDMsIDI3MDA4LCAyNzAxMSwgCisgICAgMjcwMTYsIDI3MDIzLCAyNzAzMSwgMjcwMzYsIDI3MDQzLCAyNzA0NiwgMjcwNTMsIDI3MDYwLCAyNzA2NywgMCwgMjcwNzEsIAorICAgIDI3MDc1LCAyNzA3OCwgMjcwODEsIDI3MDg0LCAyNzA4NywgMjcwOTAsIDI3MDkzLCAyNzA5NiwgMjcwOTksIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDI3MTAyLCAyNzEwNSwgMjcxMDgsIDI3MTExLCAyNzExNCwgMjcxMTcsIDI3MTIxLCAyNzEyNSwgMjcxMjksIAorICAgIDI3MTMyLCAyNzEzNiwgMjcxNDAsIDI3MTQzLCAyNzE0NywgMjcxNTEsIDI3MTU0LCAyNzE1OCwgMjcxNjEsIDI3MTY1LCAKKyAgICAyNzE2OSwgMjcxNzMsIDI3MTc3LCAyNzE4MSwgMjcxODQsIDI3MTg3LCAyNzE5MSwgMjcxOTUsIDI3MTk4LCAyNzIwMiwgCisgICAgMjcyMDYsIDI3MjEwLCAyNzIxNCwgMjcyMTgsIDI3MjIyLCAyNzIyNiwgMjcyMzAsIDI3MjM3LCAyNzI0MiwgMjcyNDcsIAorICAgIDI3MjUyLCAyNzI1NywgMjcyNjMsIDI3MjY5LCAyNzI3NSwgMjcyODEsIDI3Mjg2LCAyNzI5MiwgMjcyOTgsIDI3MzAzLCAKKyAgICAyNzMwOSwgMjczMTUsIDI3MzIxLCAyNzMyNywgMjczMzMsIDI3MzM4LCAyNzM0NCwgMjczNDksIDI3MzU1LCAyNzM2MSwgCisgICAgMjczNjcsIDI3MzczLCAyNzM3OSwgMjczODQsIDI3Mzg5LCAyNzM5NSwgMjc0MDEsIDI3NDA2LCAyNzQxMiwgMjc0MTcsIAorICAgIDI3NDIzLCAyNzQyOCwgMjc0MzMsIDI3NDM5LCAyNzQ0NSwgMjc0NTEsIDI3NDU3LCAyNzQ2MywgMjc0NjksIDI3NDc1LCAKKyAgICAyNzQ4MSwgMjc0ODcsIDI3NDkzLCAyNzQ5OSwgMjc1MDUsIDI3NTEwLCAyNzUxNSwgMjc1MjAsIDI3NTI2LCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAyNzUzMiwgMjc1NDEsIDI3NTUwLCAyNzU1OCwgMjc1NjYsIDI3NTc2LCAyNzU4NCwgMjc1OTMsIAorICAgIDI3NjAwLCAyNzYwNywgMjc2MTQsIDI3NjIyLCAyNzYzMCwgMjc2MzgsIDI3NjQ2LCAyNzY1NCwgMjc2NjIsIDI3NjcwLCAKKyAgICAyNzY3OCwgMjc2ODUsIDI3NjkzLCAyNzcwMSwgMjc3MDksIDI3NzE3LCAyNzcyNSwgMjc3MzUsIDI3NzQ1LCAyNzc1NSwgCisgICAgMjc3NjUsIDI3Nzc1LCAyNzc4NSwgMjc3OTUsIDI3ODA1LCAyNzgxNSwgMjc4MjUsIDI3ODM1LCAyNzg0NSwgMjc4NTUsIAorICAgIDI3ODY1LCAyNzg3MywgMjc4ODEsIDI3ODkxLCAyNzg5OSwgMCwgMCwgMCwgMCwgMCwgMjc5MDksIDI3OTEzLCAyNzkxNywgCisgICAgMjc5MjEsIDI3OTI1LCAyNzkyOSwgMjc5MzMsIDI3OTM3LCAyNzk0MSwgMjc5NDUsIDI3OTQ5LCAyNzk1MywgMjc5NTcsIAorICAgIDI3OTYxLCAyNzk2NSwgMjc5NjksIDI3OTczLCAyNzk3NywgMjc5ODEsIDI3OTg1LCAyNzk4OSwgMjc5OTMsIDI3OTk3LCAKKyAgICAyODAwMSwgMjgwMDcsIDI4MDExLCAyODAxNywgMjgwMjEsIDI4MDI3LCAyODAzMSwgMjgwMzcsIDI4MDQxLCAyODA0NSwgCisgICAgMjgwNDksIDI4MDUzLCAyODA1NywgMjgwNjEsIDI4MDY3LCAyODA3MywgMjgwNzksIDI4MDg1LCAyODA5MCwgMjgwOTYsIAorICAgIDI4MTAyLCAyODEwOCwgMjgxMTQsIDI4MTIwLCAyODEyNiwgMjgxMzMsIDI4MTM5LCAyODE0NCwgMjgxNDksIDI4MTUzLCAKKyAgICAyODE1NywgMjgxNjEsIDI4MTY1LCAyODE2OSwgMjgxNzMsIDI4MTc3LCAyODE4MywgMjgxODksIDI4MTk1LCAyODIwMCwgCisgICAgMjgyMDcsIDI4MjEyLCAyODIxNywgMjgyMjMsIDI4MjI4LCAyODIzNSwgMjgyNDIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDI4MjQ5LCAyODI1NSwgMjgyNTksIDI4MjY0LCAyODI2OSwgMjgyNzQsIDI4Mjc5LCAyODI4NCwgMjgyODksIAorICAgIDI4Mjk0LCAyODI5OSwgMjgzMDQsIDI4MzA5LCAyODMxNCwgMjgzMTksIDI4MzI0LCAyODMyOCwgMjgzMzIsIDI4MzM3LCAKKyAgICAyODM0MiwgMjgzNDcsIDI4MzUxLCAyODM1NSwgMjgzNTksIDI4MzY0LCAyODM2OSwgMjgzNzQsIDI4Mzc5LCAyODM4MywgMCwgCisgICAgMCwgMCwgMjgzODcsIDI4MzkyLCAyODM5NywgMjg0MDIsIDI4NDA4LCAyODQxNCwgMjg0MjAsIDI4NDI2LCAyODQzMSwgCisgICAgMjg0MzYsIDI4NDQyLCAyODQ0OCwgMCwgMCwgMCwgMCwgMjg0NTUsIDI4NDYwLCAyODQ2NiwgMjg0NzIsIDI4NDc4LCAKKyAgICAyODQ4MywgMjg0ODgsIDI4NDkzLCAyODQ5OCwgMjg1MDQsIDI4NTA5LCAyODUxNCwgMCwgMCwgMCwgMCwgMjg1MTksIDAsIDAsIAorICAgIDAsIDI4NTI0LCAyODUyOSwgMjg1MzQsIDI4NTM5LCAyODU0MywgMjg1NDcsIDI4NTUxLCAyODU1NSwgMjg1NTksIDI4NTYzLCAKKyAgICAyODU2NywgMjg1NzEsIDI4NTc1LCAyODU4MCwgMjg1ODYsIDI4NTkyLCAyODU5OCwgMjg2MDMsIDI4NjA4LCAyODYxNCwgCisgICAgMjg2MjAsIDI4NjI2LCAyODYzMSwgMjg2MzcsIDI4NjQyLCAyODY0OCwgMjg2NTQsIDI4NjU5LCAyODY2NSwgMjg2NzEsIAorICAgIDI4Njc3LCAyODY4MiwgMjg2ODcsIDI4NjkyLCAyODY5OCwgMjg3MDQsIDI4NzA5LCAyODcxNSwgMjg3MjAsIDI4NzI2LCAKKyAgICAyODczMSwgMjg3MzcsIDAsIDAsIDI4NzQzLCAyODc0OSwgMjg3NTUsIDI4NzYxLCAyODc2NywgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMjg3NzMsIDI4NzgwLCAyODc4NywgMjg3OTMsIDI4ODAwLCAyODgwNywgMjg4MTMsIDI4ODIwLCAKKyAgICAyODgyNywgMjg4MzQsIDI4ODQwLCAyODg0NiwgMjg4NTMsIDI4ODU5LCAyODg2NSwgMjg4NzIsIDI4ODc5LCAyODg4NSwgCisgICAgMjg4OTIsIDI4ODk5LCAyODkwNSwgMjg5MTEsIDI4OTE4LCAyODkyNCwgMjg5MzAsIDI4OTM3LCAyODk0MywgMjg5NTAsIAorICAgIDI4OTU3LCAyODk2NCwgMjg5NzEsIDI4OTc4LCAyODk4NSwgMjg5OTEsIDI4OTk4LCAyOTAwNSwgMjkwMTEsIDI5MDE4LCAKKyAgICAyOTAyNSwgMjkwMzIsIDI5MDM5LCAyOTA0NiwgMjkwNTMsIDI5MDYwLCAwLCAwLCAwLCAwLCAyOTA2NywgMjkwNzUsIAorICAgIDI5MDgyLCAyOTA4OSwgMjkwOTUsIDI5MTAyLCAyOTEwOCwgMjkxMTUsIDI5MTIxLCAyOTEyOCwgMjkxMzUsIDI5MTQyLCAKKyAgICAyOTE0OSwgMjkxNTYsIDI5MTYzLCAyOTE3MCwgMjkxNzcsIDI5MTg0LCAyOTE5MSwgMjkxOTgsIDI5MjA1LCAyOTIxMSwgCisgICAgMjkyMTgsIDI5MjI1LCAyOTIzMiwgMjkyMzgsIDAsIDAsIDAsIDAsIDAsIDAsIDI5MjQ0LCAyOTI1MCwgMjkyNTUsIDI5MjYwLCAKKyAgICAyOTI2NSwgMjkyNzAsIDI5Mjc1LCAyOTI4MCwgMjkyODUsIDI5MjkwLCAyOTI5NSwgMCwgMCwgMCwgMjkzMDEsIDI5MzA3LCAKKyAgICAyOTMxMywgMjkzMTcsIDI5MzIzLCAyOTMyOSwgMjkzMzUsIDI5MzQxLCAyOTM0NywgMjkzNTMsIDI5MzU5LCAyOTM2NSwgCisgICAgMjkzNzEsIDI5Mzc3LCAyOTM4MywgMjkzODksIDI5Mzk1LCAyOTQwMSwgMjk0MDcsIDI5NDExLCAyOTQxNywgMjk0MjMsIAorICAgIDI5NDI5LCAyOTQzNSwgMjk0NDEsIDI5NDQ3LCAyOTQ1MywgMjk0NTksIDI5NDY1LCAyOTQ3MSwgMjk0NzcsIDI5NDgzLCAKKyAgICAyOTQ4OSwgMjk0OTUsIDI5NTAxLCAyOTUwNSwgMjk1MTAsIDI5NTE1LCAyOTUyMCwgMjk1MjQsIDI5NTI5LCAyOTUzMywgCisgICAgMjk1MzgsIDI5NTQzLCAyOTU0OCwgMjk1NTIsIDI5NTU3LCAyOTU2MiwgMjk1NjcsIDI5NTcyLCAyOTU3NywgMjk1ODEsIAorICAgIDI5NTg1LCAyOTU5MCwgMjk1OTUsIDI5NTk5LCAyOTYwMywgMjk2MDcsIDI5NjEyLCAyOTYxNywgMjk2MjIsIDI5NjI3LCAwLCAKKyAgICAwLCAyOTYzMywgMjk2MzcsIDI5NjQ0LCAyOTY0OSwgMjk2NTUsIDI5NjYxLCAyOTY2NiwgMjk2NzIsIDI5Njc4LCAyOTY4MywgCisgICAgMjk2ODksIDI5Njk1LCAyOTcwMSwgMjk3MDYsIDI5NzEyLCAyOTcxNywgMjk3MjIsIDI5NzI4LCAyOTczMywgMjk3MzksIAorICAgIDI5NzQ0LCAyOTc1MCwgMjk3NTYsIDI5NzYyLCAyOTc2OCwgMjk3NzIsIDI5Nzc3LCAyOTc4MiwgMjk3ODgsIDI5Nzk0LCAKKyAgICAyOTc5OSwgMjk4MDUsIDI5ODExLCAyOTgxNSwgMjk4MjAsIDI5ODI1LCAyOTgyOSwgMjk4MzQsIDI5ODM5LCAyOTg0NCwgCisgICAgMjk4NDksIDI5ODU1LCAyOTg2MSwgMjk4NjYsIDI5ODcxLCAyOTg3NiwgMjk4ODAsIDI5ODg1LCAyOTg4OSwgMjk4OTQsIAorICAgIDI5ODk4LCAyOTkwMywgMjk5MDgsIDI5OTEzLCAyOTkxOCwgMjk5MjQsIDI5OTMwLCAyOTkzNywgMjk5NDcsIDI5OTU2LCAKKyAgICAyOTk2MywgMjk5NjksIDI5OTc5LCAyOTk4NCwgMjk5OTAsIDAsIDI5OTk1LCAzMDAwMCwgMzAwMDUsIDMwMDEzLCAzMDAxOSwgCisgICAgMzAwMjcsIDMwMDMyLCAzMDAzOCwgMzAwNDQsIDMwMDUwLCAzMDA1NSwgMzAwNjEsIDMwMDY2LCAzMDA3MywgMzAwNzksIAorICAgIDMwMDg0LCAzMDA5MCwgMzAwOTYsIDMwMTAyLCAzMDEwOSwgMzAxMTYsIDMwMTIzLCAzMDEyOCwgMzAxMzMsIDMwMTQwLCAKKyAgICAzMDE0NywgMzAxNTQsIDMwMTYxLCAzMDE2OCwgMCwgMCwgMzAxNzUsIDMwMTgyLCAzMDE4OSwgMzAxOTUsIDMwMjAxLCAKKyAgICAzMDIwNywgMzAyMTMsIDMwMjE5LCAzMDIyNSwgMzAyMzEsIDMwMjM3LCAwLCAwLCAwLCAwLCAwLCAwLCAzMDI0MywgMzAyNDksIAorICAgIDMwMjU0LCAzMDI1OSwgMzAyNjQsIDMwMjY5LCAzMDI3NCwgMzAyNzksIDMwMjg0LCAzMDI4OSwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMzAyOTQsIDMwMjk5LCAzMDMwNCwgMzAzMDksIDMwMzE0LCAzMDMxOSwgMzAzMjQsIDMwMzMzLCAzMDM0MCwgMzAzNDUsIAorICAgIDMwMzUwLCAzMDM1NSwgMzAzNjAsIDMwMzY1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3MTU1OSwgNzE1NjYsIDcxNTc0LCA3MTU4MiwgCi0gICAgNzE1ODksIDcxNTk3LCA3MTYwNCwgNzE2MTAsIDcxNjE2LCA3MTYyMywgNzE2MjksIDcxNjM1LCA3MTY0MSwgNzE2NDgsIAotICAgIDcxNjU1LCA3MTY2MiwgNzE2NjksIDcxNjc2LCA3MTY4MywgNzE2OTAsIDcxNjk3LCA3MTcwNCwgNzE3MTEsIDcxNzE4LCAKLSAgICA3MTcyNSwgNzE3MzIsIDcxNzM5LCA3MTc0NSwgNzE3NTIsIDcxNzU5LCA3MTc2NiwgNzE3NzMsIDcxNzgwLCA3MTc4NywgCi0gICAgNzE3OTQsIDcxODAxLCA3MTgwOCwgNzE4MTUsIDcxODIyLCA3MTgyOSwgNzE4MzYsIDcxODQzLCA3MTg1MCwgNzE4NTcsIAotICAgIDcxODY0LCA3MTg3MSwgNzE4NzksIDcxODg3LCA3MTg5NSwgNzE5MDMsIDAsIDAsIDAsIDAsIDcxOTExLCA3MTkyMCwgCi0gICAgNzE5MjksIDcxOTM4LCA3MTk0NywgNzE5NTYsIDcxOTY1LCA3MTk3MiwgNzE5NzksIDcxOTg2LCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICA3MTk5MywgNzE5OTcsIDcyMDAyLCA3MjAwNywgNzIwMTIsIDcyMDE3LCA3MjAyMiwgNzIwMjcsIDcyMDMyLCA3MjAzNywgCi0gICAgNzIwNDIsIDcyMDQ3LCA3MjA1MSwgNzIwNTUsIDcyMDYwLCA3MjA2NSwgNzIwNjksIDcyMDc0LCA3MjA3OSwgNzIwODQsIAotICAgIDcyMDg5LCA3MjA5NCwgNzIwOTksIDcyMTA0LCA3MjEwOCwgNzIxMTIsIDcyMTE3LCA3MjEyMiwgNzIxMjcsIDcyMTMxLCAKLSAgICA3MjEzNSwgNzIxMzksIDcyMTQzLCA3MjE0NywgNzIxNTEsIDcyMTU2LCA3MjE2MSwgNzIxNjYsIDcyMTcxLCA3MjE3NiwgCi0gICAgNzIxODMsIDcyMTg5LCA3MjE5NCwgNzIxOTksIDcyMjA0LCA3MjIwOSwgNzIyMTUsIDcyMjIyLCA3MjIyOCwgNzIyMzUsIAotICAgIDcyMjQxLCA3MjI0NywgNzIyNTIsIDcyMjU5LCA3MjI2NSwgNzIyNzAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDcyMjc2LCAKLSAgICA3MjI4MCwgNzIyODQsIDcyMjg3LCA3MjI5MSwgNzIyOTQsIDcyMjk4LCA3MjMwMSwgNzIzMDUsIDcyMzA5LCA3MjMxNCwgCi0gICAgNzIzMTgsIDcyMzIzLCA3MjMyNiwgNzIzMzAsIDcyMzM0LCA3MjMzNywgNzIzNDEsIDcyMzQ1LCA3MjM0OCwgNzIzNTIsIAotICAgIDcyMzU2LCA3MjM2MCwgNzIzNjQsIDcyMzY4LCA3MjM3MiwgNzIzNzYsIDcyMzgwLCA3MjM4NCwgNzIzODgsIDcyMzkyLCAKLSAgICA3MjM5NiwgNzI0MDAsIDcyNDA0LCA3MjQwOCwgNzI0MTIsIDcyNDE2LCA3MjQyMCwgNzI0MjMsIDcyNDI2LCA3MjQzMCwgCi0gICAgNzI0MzQsIDcyNDM4LCA3MjQ0MSwgNzI0NDQsIDcyNDQ3LCA3MjQ1MSwgNzI0NTUsIDcyNDU5LCA3MjQ2MywgNzI0NjcsIAotICAgIDcyNDcwLCA3MjQ3NCwgNzI0ODAsIDcyNDg1LCA3MjQ4OSwgNzI0OTQsIDcyNDk4LCA3MjUwMywgNzI1MDgsIDcyNTE0LCAKLSAgICA3MjUxOSwgNzI1MjUsIDcyNTI5LCA3MjUzNCwgNzI1MzksIDcyNTQzLCA3MjU0OCwgNzI1NTMsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDcyNTU3LCA3MjU2MCwgNzI1NjQsIDcyNTY4LCA3MjU3MSwgNzI1NzQsIDcyNTc3LCA3MjU4MCwgNzI1ODMsIAotICAgIDcyNTg2LCA3MjU4OSwgNzI1OTIsIDAsIDAsIDAsIDAsIDAsIDAsIDcyNTk1LCA3MjYwMCwgNzI2MDQsIDcyNjA4LCA3MjYxMiwgCi0gICAgNzI2MTYsIDcyNjIwLCA3MjYyNCwgNzI2MjgsIDcyNjMyLCA3MjYzNiwgNzI2NDAsIDcyNjQ0LCA3MjY0OCwgNzI2NTIsIAotICAgIDcyNjU2LCA3MjY2MCwgNzI2NjUsIDcyNjcwLCA3MjY3NiwgNzI2ODIsIDcyNjg5LCA3MjY5NCwgNzI2OTksIDcyNzA1LCAKLSAgICA3MjcwOSwgNzI3MTQsIDcyNzE3LCAwLCAwLCAwLCAwLCA3MjcyMCwgNzI3MjcsIDcyNzMzLCA3MjczOSwgNzI3NDUsIAotICAgIDcyNzUxLCA3Mjc1NywgNzI3NjMsIDcyNzY5LCA3Mjc3NSwgNzI3ODEsIDcyNzg3LCA3Mjc5NCwgNzI4MDEsIDcyODA4LCAKLSAgICA3MjgxNSwgNzI4MjIsIDcyODI5LCA3MjgzNiwgNzI4NDMsIDcyODUwLCA3Mjg1NiwgNzI4NjIsIDcyODY5LCA3Mjg3NSwgCi0gICAgNzI4ODIsIDcyODg5LCA3Mjg5NSwgNzI5MDEsIDcyOTA4LCA3MjkxNSwgNzI5MjIsIDcyOTI4LCA3MjkzNSwgNzI5NDIsIAotICAgIDcyOTQ4LCA3Mjk1NSwgNzI5NjEsIDcyOTY4LCA3Mjk3NSwgNzI5ODEsIDcyOTg3LCA3Mjk5NCwgNzMwMDAsIDczMDA3LCAKLSAgICA3MzAxNCwgNzMwMjMsIDczMDMwLCA3MzAzNywgNzMwNDEsIDczMDQ2LCA3MzA1MSwgNzMwNTYsIDczMDYxLCA3MzA2NSwgCi0gICAgNzMwNjksIDczMDc0LCA3MzA3OCwgNzMwODMsIDczMDg4LCA3MzA5MywgNzMwOTgsIDczMTAyLCA3MzEwNywgNzMxMTEsIAotICAgIDczMTE2LCA3MzEyMCwgNzMxMjUsIDczMTMwLCA3MzEzNSwgNzMxNDAsIDczMTQ0LCA3MzE0OSwgNzMxNTQsIDczMTU5LCAKLSAgICA3MzE2NSwgNzMxNzAsIDczMTc2LCA3MzE4MiwgNzMxODgsIDczMTk1LCA3MzIwMSwgNzMyMDcsIDczMjE0LCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3MzIxOCwgNzMyMjMsIDczMjI3LCA3MzIzMSwgNzMyMzUsIDczMjM5LCA3MzI0MywgCi0gICAgNzMyNDcsIDczMjUxLCA3MzI1NSwgNzMyNTksIDczMjYzLCA3MzI2NywgNzMyNzEsIDczMjc1LCA3MzI3OSwgNzMyODMsIAotICAgIDczMjg3LCA3MzI5MSwgNzMyOTUsIDczMjk5LCA3MzMwMywgNzMzMDcsIDczMzExLCA3MzMxNSwgNzMzMTksIDczMzIzLCAKLSAgICA3MzMyNywgNzMzMzEsIDczMzM1LCAwLCAwLCAwLCA3MzMzOSwgNzMzNDMsIDczMzQ3LCA3MzM1MSwgNzMzNTUsIDczMzU4LCAKLSAgICA3MzM2NCwgNzMzNjcsIDczMzcxLCA3MzM3NCwgNzMzODAsIDczMzg2LCA3MzM5NCwgNzMzOTcsIDczNDAxLCA3MzQwNCwgCi0gICAgNzM0MDcsIDczNDEzLCA3MzQxOSwgNzM0MjMsIDczNDI5LCA3MzQzMywgNzM0MzcsIDczNDQzLCA3MzQ0NywgNzM0NTMsIAotICAgIDczNDU5LCA3MzQ2MywgNzM0NjcsIDczNDczLCA3MzQ3NywgNzM0ODMsIDczNDg5LCA3MzQ5MywgNzM0OTksIDczNTAzLCAKLSAgICA3MzUwOSwgNzM1MTIsIDczNTE1LCA3MzUyMSwgNzM1MjUsIDczNTMxLCA3MzUzNCwgNzM1MzcsIDczNTQwLCA3MzU0NiwgCi0gICAgNzM1NTAsIDczNTU0LCA3MzU2MCwgNzM1NjYsIDczNTcwLCA3MzU3MywgNzM1NzksIDczNTg0LCA3MzU4OSwgNzM1OTQsIAotICAgIDczNjAxLCA3MzYwNiwgNzM2MTMsIDczNjE4LCA3MzYyNSwgNzM2MzAsIDczNjM2LCA3MzY0MiwgNzM2NDgsIDczNjUxLCAKLSAgICA3MzY1NSwgNzM2NTksIDczNjY0LCA3MzY2OSwgNzM2NzQsIDczNjc5LCA3MzY4NCwgNzM2ODksIDczNjk0LCA3MzY5OSwgCi0gICAgNzM3MDYsIDczNzExLCAwLCA3MzcxOCwgNzM3MjEsIDczNzI1LCA3MzcyOCwgNzM3MzEsIDczNzM0LCA3MzczNywgNzM3NDAsIAotICAgIDczNzQzLCA3Mzc0NiwgNzM3NDksIDAsIDAsIDAsIDAsIDczNzUyLCA3Mzc1OSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzAzNzAsIDMwMzc2LCAKKyAgICAzMDM4MiwgMzAzODYsIDMwMzkwLCAzMDM5NCwgMzAzOTgsIDMwNDA0LCAzMDQwOCwgMzA0MTQsIDMwNDE4LCAzMDQyNCwgCisgICAgMzA0MzAsIDMwNDM4LCAzMDQ0NCwgMzA0NTIsIDMwNDU2LCAzMDQ2MCwgMzA0NjQsIDMwNDcwLCAzMDQ3MywgMzA0NzksIAorICAgIDMwNDgzLCAzMDQ4OSwgMzA0OTMsIDMwNDk3LCAzMDUwMywgMzA1MDcsIDMwNTEzLCAzMDUxNywgMzA1MjMsIDMwNTMxLCAKKyAgICAzMDUzOSwgMzA1NDcsIDMwNTUzLCAzMDU1NywgMzA1NjMsIDMwNTY3LCAzMDU3MywgMzA1NzYsIDMwNTc5LCAzMDU4NSwgCisgICAgMzA1ODksIDMwNTk1LCAzMDU5OCwgMzA2MDEsIDMwNjA0LCAzMDYwOCwgMzA2MTIsIDMwNjE4LCAzMDYyNCwgMzA2MjcsIAorICAgIDMwNjMwLCAzMDYzNCwgMzA2MzksIDMwNjQ0LCAzMDY1MSwgMzA2NTYsIDMwNjYzLCAzMDY3MCwgMzA2NzksIDMwNjg2LCAKKyAgICAzMDY5NSwgMzA3MDAsIDMwNzA3LCAzMDcxNCwgMzA3MjMsIDMwNzI4LCAzMDczNSwgMzA3NDAsIDMwNzQ2LCAzMDc1MiwgCisgICAgMzA3NTgsIDMwNzY0LCAzMDc3MCwgMzA3NzYsIDAsIDAsIDAsIDAsIDMwNzgyLCAzMDc4NiwgMzA3ODksIDMwNzkyLCAKKyAgICAzMDc5NSwgMzA3OTgsIDMwODAxLCAzMDgwNCwgMzA4MDcsIDMwODEwLCAzMDgxMywgMzA4MTYsIDMwODE5LCAzMDgyMiwgCisgICAgMzA4MjcsIDMwODMyLCAzMDgzNywgMzA4NDAsIDMwODQ1LCAzMDg1MCwgMzA4NTUsIDMwODYwLCAzMDg2NywgMzA4NzIsIAorICAgIDMwODc3LCAzMDg4MiwgMzA4ODcsIDMwODk0LCAzMDkwMCwgMzA5MDYsIDMwOTEyLCAzMDkxOCwgMzA5MjQsIDMwOTMzLCAKKyAgICAzMDk0MiwgMzA5NDgsIDMwOTU0LCAzMDk2MiwgMzA5NzAsIDMwOTc5LCAzMDk4OCwgMzA5OTYsIDMxMDA0LCAzMTAxMywgCisgICAgMzEwMjIsIDAsIDAsIDAsIDMxMDMwLCAzMTAzNCwgMzEwMzgsIDMxMDQyLCAzMTA0NSwgMzEwNDgsIDMxMDUxLCAzMTA1NSwgCisgICAgMzEwNTgsIDMxMDYxLCAzMTA2NSwgMzEwNjgsIDMxMDcyLCAzMTA3NiwgMzEwODAsIDMxMDg0LCAzMTA4OCwgMzEwOTIsIAorICAgIDMxMDk2LCAzMTEwMCwgMzExMDQsIDMxMTA3LCAzMTExMCwgMzExMTQsIDMxMTE4LCAzMTEyMiwgMzExMjUsIDMxMTI4LCAKKyAgICAzMTEzMSwgMzExMzUsIDMxMTM5LCAzMTE0MiwgMzExNDYsIDMxMTQ5LCAzMTE1NCwgMzExNTksIDMxMTY0LCAzMTE2OSwgCisgICAgMzExNzQsIDMxMTc5LCAzMTE4NCwgMzExODksIDMxMTk0LCAzMTE5OCwgMzEyMDIsIDMxMjA4LCAzMTIxNSwgMzEyMTksIAorICAgIDMxMjIzLCAzMTIyNywgMzEyMzAsIDMxMjMzLCAzMTIzNiwgMzEyMzksIDMxMjQyLCAzMTI0NSwgMzEyNDgsIDMxMjUxLCAKKyAgICAzMTI1NCwgMzEyNTcsIDMxMjYxLCAzMTI2NSwgMzEyNjksIDMxMjc0LCAzMTI3OCwgMzEyODIsIDMxMjg4LCAzMTI5MiwgCisgICAgMzEyOTgsIDMxMzA0LCAzMTMwOSwgMzEzMTYsIDMxMzIwLCAzMTMyNiwgMzEzMzAsIDMxMzM2LCAzMTM0MSwgMzEzNDgsIAorICAgIDMxMzU1LCAzMTM2MCwgMzEzNjcsIDMxMzcyLCAzMTM3NywgMzEzODEsIDMxMzg3LCAzMTM5MSwgMzEzOTcsIDMxNDA0LCAKKyAgICAzMTQxMSwgMzE0MTUsIDMxNDIxLCAzMTQyNywgMzE0MzEsIDMxNDM3LCAzMTQ0MiwgMzE0NDcsIDMxNDU0LCAzMTQ1OSwgCisgICAgMzE0NjQsIDMxNDY5LCAzMTQ3NCwgMzE0NzgsIDMxNDgyLCAzMTQ4NywgMzE0OTIsIDMxNDk5LCAzMTUwNSwgMzE1MTAsIAorICAgIDMxNTE3LCAzMTUyMiwgMzE1MjksIDMxNTM0LCAzMTU0MywgMzE1NDksIDMxNTU1LCAzMTU1OSwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMzE1NjMsIDMxNTcyLCAzMTU3OSwgMzE1ODYsIDMxNTkzLCAzMTU5NiwgMzE2MDAsIDMxNjA0LCAzMTYwOCwgCisgICAgMzE2MTIsIDMxNjE2LCAzMTYyMCwgMzE2MjQsIDMxNjI4LCAzMTYzMiwgMzE2MzYsIDMxNjQwLCAzMTY0NCwgMzE2NDcsIAorICAgIDMxNjUwLCAzMTY1NCwgMzE2NTgsIDMxNjYyLCAzMTY2NiwgMzE2NzAsIDMxNjc0LCAzMTY3NywgMzE2ODEsIDMxNjg1LCAKKyAgICAzMTY4OSwgMzE2OTMsIDMxNjk2LCAzMTY5OSwgMzE3MDMsIDMxNzA2LCAzMTcxMCwgMzE3MTQsIDMxNzE3LCAzMTcyMSwgCisgICAgMzE3MjUsIDMxNzI4LCAzMTczMywgMzE3MzgsIDMxNzQzLCAzMTc0NywgMzE3NTEsIDMxNzU2LCAzMTc2MCwgMzE3NjUsIAorICAgIDMxNzY5LCAzMTc3NCwgMzE3NzgsIDMxNzgyLCAzMTc4NywgMzE3OTIsIDMxNzk2LCAzMTgwMSwgMzE4MDYsIDMxODExLCAKKyAgICAzMTgxNSwgMCwgMCwgMCwgMzE4MTksIDMxODI0LCAzMTgzMywgMzE4MzgsIDMxODQ1LCAzMTg1MCwgMzE4NTQsIDMxODU3LCAKKyAgICAzMTg2MCwgMzE4NjMsIDMxODY2LCAzMTg2OSwgMzE4NzIsIDMxODc1LCAzMTg3OCwgMCwgMCwgMCwgMzE4ODEsIDMxODg1LCAKKyAgICAzMTg4OSwgMzE4OTMsIDMxOTAwLCAzMTkwNiwgMzE5MTIsIDMxOTE4LCAzMTkyNCwgMzE5MzAsIDMxOTM2LCAzMTk0MiwgCisgICAgMzE5NDgsIDMxOTU0LCAzMTk2MSwgMzE5NjgsIDMxOTc1LCAzMTk4MiwgMzE5ODksIDMxOTk2LCAzMjAwMywgMzIwMTAsIAorICAgIDMyMDE3LCAzMjAyNCwgMzIwMzEsIDMyMDM4LCAzMjA0NSwgMzIwNTIsIDMyMDU5LCAzMjA2NiwgMzIwNzMsIDMyMDgwLCAKKyAgICAzMjA4NywgMzIwOTQsIDMyMTAxLCAzMjEwOCwgMzIxMTUsIDMyMTIyLCAzMjEyOSwgMzIxMzYsIDMyMTQzLCAzMjE1MCwgCisgICAgMzIxNTcsIDMyMTY0LCAzMjE3MiwgMzIxODAsIDMyMTg4LCAzMjE5NCwgMzIyMDAsIDMyMjA2LCAzMjIxNCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzIyMjMsIDMyMjMwLCAzMjIzNywgMzIyNDQsIDMyMjUxLCAKKyAgICAzMjI2MCwgMzIyNjksIDMyMjc4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMjI4NywgMzIyOTIsIDMyMjk3LCAzMjMwMiwgCisgICAgMzIzMDcsIDMyMzE2LCAzMjMyNywgMzIzMzYsIDMyMzQ3LCAzMjM1MywgMzIzNjYsIDMyMzcyLCAzMjM3OSwgMzIzODYsIAorICAgIDMyMzkxLCAzMjM5NywgMzI0MDMsIDMyNDE0LCAzMjQyMywgMzI0MzAsIDMyNDM3LCAzMjQ0NiwgMzI0NTMsIDMyNDYyLCAKKyAgICAzMjQ3MiwgMzI0ODIsIDMyNDg5LCAzMjQ5NiwgMzI1MDMsIDMyNTEzLCAzMjUxOCwgMzI1MjYsIDMyNTMyLCAzMjU0MCwgCisgICAgMzI1NDksIDMyNTU0LCAzMjU2MSwgMzI1NjcsIDMyNTcyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzMjU3NywgCisgICAgMzI1ODIsIDMyNTg4LCAzMjU5NSwgMzI2MDMsIDMyNjA5LCAzMjYxNSwgMzI2MjEsIDMyNjI2LCAzMjYzMywgMzI2MzksIAorICAgIDMyNjQ1LCAzMjY1MSwgMzI2NTksIDMyNjY0LCAzMjY3MiwgMzI2NzcsIDMyNjgzLCAzMjY4OSwgMzI2OTYsIDMyNzA0LCAKKyAgICAzMjcxMSwgMzI3MTcsIDMyNzI0LCAzMjczMSwgMzI3MzcsIDMyNzQ0LCAzMjc1MSwgMzI3NTcsIDMyNzYyLCAzMjc2OCwgCisgICAgMzI3NzYsIDMyNzg0LCAzMjc5MCwgMzI3OTYsIDMyODAyLCAzMjgwOCwgMzI4MTYsIDMyODIwLCAzMjgyNiwgMzI4MzIsIAorICAgIDMyODM4LCAzMjg0NCwgMzI4NTAsIDMyODU2LCAzMjg2MCwgMzI4NjUsIDMyODcwLCAzMjg3NywgMzI4ODIsIDMyODg2LCAKKyAgICAzMjg5MiwgMzI4OTcsIDMyOTAyLCAzMjkwNiwgMzI5MTEsIDMyOTE2LCAzMjkyMCwgMzI5MjQsIDMyOTI5LCAzMjkzNiwgCisgICAgMzI5NDAsIDMyOTQ1LCAzMjk1MCwgMzI5NTQsIDMyOTU5LCAzMjk2MywgMzI5NjgsIDMyOTcyLCAzMjk3OCwgMzI5ODMsIAorICAgIDMyOTkwLCAzMjk5NSwgMzMwMDAsIDMzMDA0LCAzMzAwOSwgMzMwMTQsIDMzMDIxLCAzMzAyNiwgMzMwMzIsIDMzMDM3LCAKKyAgICAzMzA0MSwgMzMwNDYsIDMzMDUwLCAzMzA1NSwgMzMwNjIsIDMzMDY5LCAzMzA3NCwgMzMwNzksIDMzMDgzLCAzMzA4OSwgCisgICAgMzMwOTUsIDMzMTAwLCAzMzEwNSwgMzMxMTAsIDMzMTE2LCAzMzEyMSwgMzMxMjcsIDMzMTMyLCAzMzEzOCwgMzMxNDQsIAorICAgIDMzMTUwLCAzMzE1NywgMzMxNjQsIDMzMTcxLCAzMzE3OCwgMzMxODUsIDMzMTkyLCAzMzE5NywgMzMyMDUsIDMzMjE0LCAKKyAgICAzMzIyMywgMzMyMzIsIDMzMjQxLCAzMzI1MCwgMzMyNTksIDMzMjcxLCAzMzI4MCwgMzMyODksIDMzMjk4LCAzMzMwNSwgCisgICAgMzMzMTAsIDMzMzE3LCAzMzMyNSwgMzMzMzMsIDMzMzQwLCAzMzM0NywgMzMzNTQsIDMzMzYxLCAzMzM2OSwgMzMzNzgsIAorICAgIDMzMzg3LCAzMzM5NiwgMzM0MDUsIDMzNDE0LCAzMzQyMywgMzM0MzIsIDMzNDQxLCAzMzQ1MCwgMzM0NTksIDMzNDY4LCAKKyAgICAzMzQ3NywgMzM0ODYsIDMzNDk1LCAzMzUwMywgMzM1MTIsIDMzNTIzLCAzMzUzMSwgMzM1NDAsIDMzNTUxLCAzMzU2MCwgCisgICAgMzM1NjksIDMzNTc4LCAzMzU4NywgMzM1OTUsIDMzNjA0LCAzMzYxMSwgMzM2MTYsIDMzNjI0LCAzMzYyOSwgMzM2MzYsIAorICAgIDMzNjQxLCAzMzY1MCwgMzM2NTYsIDMzNjYzLCAzMzY3MCwgMzM2NzUsIDMzNjgwLCAzMzY4OCwgMzM2OTYsIDMzNzA1LCAKKyAgICAzMzcxNCwgMzM3MTksIDMzNzI2LCAzMzczNywgMzM3NDUsIDMzNzU0LCAzMzc2MCwgMzM3NjYsIDMzNzcxLCAzMzc3OCwgCisgICAgMzM3ODMsIDMzNzkyLCAzMzc5NywgMzM4MDIsIDMzODA3LCAzMzgxNCwgMzM4MjEsIDMzODI2LCAzMzgzNSwgMzM4NDMsIAorICAgIDMzODQ4LCAzMzg1MywgMzM4NjAsIDMzODY3LCAzMzg3MSwgMzM4NzUsIDMzODc4LCAzMzg4MSwgMzM4ODQsIDMzODg3LCAKKyAgICAzMzg5MCwgMzM4OTMsIDMzOTAwLCAzMzkwMywgMzM5MDYsIDMzOTExLCAzMzkxNSwgMzM5MTksIDMzOTIzLCAzMzkyNywgCisgICAgMzM5MzEsIDMzOTQwLCAzMzk0NiwgMzM5NTIsIDMzOTU4LCAzMzk2NiwgMzM5NzQsIDMzOTgwLCAzMzk4NiwgMzM5OTMsIAorICAgIDMzOTk5LCAzNDAwNCwgMzQwMTAsIDM0MDE2LCAzNDAyMiwgMzQwMjksIDM0MDM1LCAzNDA0MywgMzQwNDksIDM0MDU2LCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAzNDA2MiwgMzQwNjksIAorICAgIDM0MDc2LCAzNDA4MSwgMzQwOTAsIDM0MDk4LCAzNDEwNiwgMzQxMTMsIDM0MTIwLCAzNDEyNywgMzQxMzQsIDM0MTQyLCAKKyAgICAzNDE1MCwgMzQxNjAsIDM0MTcwLCAzNDE3OCwgMzQxODYsIDM0MTk0LCAzNDIwMiwgMzQyMTEsIDM0MjIwLCAzNDIyOCwgCisgICAgMzQyMzYsIDM0MjQ1LCAzNDI1NCwgMzQyNjQsIDM0Mjc0LCAzNDI4MywgMzQyOTIsIDM0MzAwLCAzNDMwOCwgMzQzMTYsIAorICAgIDM0MzI0LCAzNDMzNCwgMzQzNDQsIDM0MzUyLCAzNDM2MCwgMzQzNjgsIDM0Mzc2LCAzNDM4NCwgMzQzOTIsIDM0NDAwLCAKKyAgICAzNDQwOCwgMzQ0MTYsIDM0NDI0LCAzNDQzMiwgMzQ0NDAsIDM0NDQ5LCAzNDQ1OCwgMzQ0NjcsIDM0NDc2LCAzNDQ4NiwgCisgICAgMzQ0OTYsIDM0NTAzLCAzNDUxMCwgMzQ1MTgsIDM0NTI2LCAzNDUzNSwgMzQ1NDQsIDM0NTUyLCAzNDU2MCwgMzQ1NzIsIAorICAgIDM0NTg0LCAzNDU5MywgMzQ2MDIsIDM0NjExLCAzNDYyMCwgMzQ2MjcsIDM0NjM0LCAzNDY0MiwgMzQ2NTAsIDM0NjU4LCAKKyAgICAzNDY2NiwgMzQ2NzQsIDM0NjgyLCAzNDY5MCwgMzQ2OTgsIDM0NzA3LCAzNDcxNiwgMzQ3MjUsIDM0NzM0LCAzNDc0MywgCisgICAgMzQ3NTIsIDM0NzYyLCAzNDc3MiwgMzQ3ODIsIDM0NzkyLCAzNDgwMSwgMzQ4MTAsIDM0ODE3LCAzNDgyNCwgMzQ4MzIsIAorICAgIDM0ODQwLCAzNDg0OCwgMzQ4NTYsIDM0ODY0LCAzNDg3MiwgMzQ4ODQsIDM0ODk2LCAzNDkwNSwgMzQ5MTQsIDM0OTIyLCAKKyAgICAzNDkzMCwgMzQ5MzgsIDM0OTQ2LCAzNDk1NywgMzQ5NjgsIDM0OTc5LCAzNDk5MCwgMzUwMDIsIDM1MDE0LCAzNTAyMiwgCisgICAgMzUwMzAsIDM1MDM4LCAzNTA0NiwgMzUwNTUsIDM1MDY0LCAzNTA3MywgMzUwODIsIDM1MDkwLCAzNTA5OCwgMzUxMDYsIAorICAgIDM1MTE0LCAzNTEyMiwgMzUxMzAsIDM1MTM5LCAzNTE0OCwgMzUxNTgsIDM1MTY4LCAzNTE3NSwgMzUxODIsIDM1MTkwLCAKKyAgICAzNTE5OCwgMzUyMDYsIDM1MjE0LCAzNTIyMSwgMzUyMjgsIDM1MjM2LCAzNTI0NCwgMzUyNTIsIDM1MjYwLCAzNTI2OCwgCisgICAgMzUyNzYsIDM1Mjg0LCAzNTI5MiwgMzUzMDAsIDM1MzA4LCAzNTMxNiwgMzUzMjQsIDM1MzMyLCAzNTM0MCwgMzUzNDgsIAorICAgIDM1MzU2LCAzNTM2NSwgMzUzNzQsIDM1MzgzLCAzNTM5MSwgMzU0MDAsIDM1NDA5LCAzNTQxOCwgMzU0MjcsIDM1NDM3LCAKKyAgICAzNTQ0NiwgMzU0NTMsIDM1NDU4LCAzNTQ2NSwgMzU0NzIsIDM1NDgwLCAzNTQ4OCwgMzU0OTcsIDM1NTA2LCAzNTUxNiwgCisgICAgMzU1MjYsIDM1NTM3LCAzNTU0OCwgMzU1NTcsIDM1NTY2LCAzNTU3NiwgMzU1ODYsIDM1NTk1LCAzNTYwNCwgMzU2MTQsIAorICAgIDM1NjI0LCAzNTYzNSwgMzU2NDYsIDM1NjU1LCAzNTY2NCwgMzU2NzQsIDM1Njg0LCAzNTY5MSwgMzU2OTgsIDM1NzA2LCAKKyAgICAzNTcxNCwgMzU3MjAsIDM1NzI2LCAzNTczNSwgMzU3NDQsIDM1NzU0LCAzNTc2NCwgMzU3NzUsIDM1Nzg2LCAzNTc5NSwgCisgICAgMzU4MDQsIDM1ODE0LCAzNTgyNCwgMzU4MzMsIDM1ODQyLCAzNTg1MCwgMzU4NTgsIDM1ODY1LCAzNTg3MiwgMzU4ODAsIAorICAgIDM1ODg4LCAzNTg5NywgMzU5MDYsIDM1OTE2LCAzNTkyNiwgMzU5MzcsIDM1OTQ4LCAzNTk1NywgMzU5NjYsIDM1OTc2LCAKKyAgICAzNTk4NiwgMzU5OTUsIDM2MDA0LCAzNjAxNCwgMzYwMjQsIDM2MDM1LCAzNjA0NiwgMzYwNTUsIDM2MDY0LCAzNjA3NCwgCisgICAgMzYwODQsIDM2MDkxLCAzNjA5OCwgMzYxMDYsIDM2MTE0LCAzNjEyMywgMzYxMzIsIDM2MTQyLCAzNjE1MiwgMzYxNjMsIAorICAgIDM2MTc0LCAzNjE4MywgMzYxOTIsIDM2MjAyLCAzNjIxMiwgMzYyMjAsIDM2MjI4LCAzNjIzNiwgMzYyNDQsIDM2MjUzLCAKKyAgICAzNjI2MiwgMzYyNjksIDM2Mjc2LCAzNjI4MywgMzYyOTAsIDM2Mjk3LCAzNjMwNCwgMzYzMTIsIDM2MzIwLCAzNjMyOCwgCisgICAgMzYzMzYsIDM2MzQ3LCAzNjM1OCwgMzYzNjksIDM2MzgwLCAzNjM5MSwgMzY0MDIsIDM2NDEwLCAzNjQxOCwgMzY0MjksIAorICAgIDM2NDQwLCAzNjQ1MSwgMzY0NjIsIDM2NDczLCAzNjQ4NCwgMzY0OTIsIDM2NTAwLCAzNjUxMSwgMzY1MjIsIDM2NTMzLCAwLCAKKyAgICAwLCAzNjU0NCwgMzY1NTIsIDM2NTYwLCAzNjU3MSwgMzY1ODIsIDM2NTkzLCAwLCAwLCAzNjYwNCwgMzY2MTIsIDM2NjIwLCAKKyAgICAzNjYzMSwgMzY2NDIsIDM2NjUzLCAzNjY2NCwgMzY2NzUsIDM2Njg2LCAzNjY5NCwgMzY3MDIsIDM2NzEzLCAzNjcyNCwgCisgICAgMzY3MzUsIDM2NzQ2LCAzNjc1NywgMzY3NjgsIDM2Nzc2LCAzNjc4NCwgMzY3OTUsIDM2ODA2LCAzNjgxNywgMzY4MjgsIAorICAgIDM2ODM5LCAzNjg1MCwgMzY4NTgsIDM2ODY2LCAzNjg3NywgMzY4ODgsIDM2ODk5LCAzNjkxMCwgMzY5MjEsIDM2OTMyLCAKKyAgICAzNjk0MCwgMzY5NDgsIDM2OTU5LCAzNjk3MCwgMzY5ODEsIDAsIDAsIDM2OTkyLCAzNzAwMCwgMzcwMDgsIDM3MDE5LCAKKyAgICAzNzAzMCwgMzcwNDEsIDAsIDAsIDM3MDUyLCAzNzA2MCwgMzcwNjgsIDM3MDc5LCAzNzA5MCwgMzcxMDEsIDM3MTEyLCAKKyAgICAzNzEyMywgMCwgMzcxMzQsIDAsIDM3MTQyLCAwLCAzNzE1MywgMCwgMzcxNjQsIDM3MTc1LCAzNzE4MywgMzcxOTEsIAorICAgIDM3MjAyLCAzNzIxMywgMzcyMjQsIDM3MjM1LCAzNzI0NiwgMzcyNTcsIDM3MjY1LCAzNzI3MywgMzcyODQsIDM3Mjk1LCAKKyAgICAzNzMwNiwgMzczMTcsIDM3MzI4LCAzNzMzOSwgMzczNDcsIDM3MzU1LCAzNzM2MywgMzczNzEsIDM3Mzc5LCAzNzM4NywgCisgICAgMzczOTUsIDM3NDAzLCAzNzQxMSwgMzc0MTksIDM3NDI3LCAzNzQzNSwgMzc0NDMsIDAsIDAsIDM3NDUxLCAzNzQ2MiwgCisgICAgMzc0NzMsIDM3NDg3LCAzNzUwMSwgMzc1MTUsIDM3NTI5LCAzNzU0MywgMzc1NTcsIDM3NTY4LCAzNzU3OSwgMzc1OTMsIAorICAgIDM3NjA3LCAzNzYyMSwgMzc2MzUsIDM3NjQ5LCAzNzY2MywgMzc2NzQsIDM3Njg1LCAzNzY5OSwgMzc3MTMsIDM3NzI3LCAKKyAgICAzNzc0MSwgMzc3NTUsIDM3NzY5LCAzNzc4MCwgMzc3OTEsIDM3ODA1LCAzNzgxOSwgMzc4MzMsIDM3ODQ3LCAzNzg2MSwgCisgICAgMzc4NzUsIDM3ODg2LCAzNzg5NywgMzc5MTEsIDM3OTI1LCAzNzkzOSwgMzc5NTMsIDM3OTY3LCAzNzk4MSwgMzc5OTIsIAorICAgIDM4MDAzLCAzODAxNywgMzgwMzEsIDM4MDQ1LCAzODA1OSwgMzgwNzMsIDM4MDg3LCAzODA5NSwgMzgxMDMsIDM4MTE0LCAKKyAgICAzODEyMiwgMCwgMzgxMzMsIDM4MTQxLCAzODE1MiwgMzgxNjAsIDM4MTY4LCAzODE3NiwgMzgxODQsIDM4MTkyLCAzODE5NSwgCisgICAgMzgxOTgsIDM4MjAxLCAzODIwNCwgMzgyMTAsIDM4MjIxLCAzODIyOSwgMCwgMzgyNDAsIDM4MjQ4LCAzODI1OSwgMzgyNjcsIAorICAgIDM4Mjc1LCAzODI4MywgMzgyOTEsIDM4Mjk5LCAzODMwNSwgMzgzMTEsIDM4MzE3LCAzODMyNSwgMzgzMzMsIDM4MzQ0LCAwLCAKKyAgICAwLCAzODM1NSwgMzgzNjMsIDM4Mzc0LCAzODM4MiwgMzgzOTAsIDM4Mzk4LCAwLCAzODQwNiwgMzg0MTIsIDM4NDE4LCAKKyAgICAzODQyNCwgMzg0MzIsIDM4NDQwLCAzODQ1MSwgMzg0NjIsIDM4NDcwLCAzODQ3OCwgMzg0ODYsIDM4NDk3LCAzODUwNSwgCisgICAgMzg1MTMsIDM4NTIxLCAzODUyOSwgMzg1MzcsIDM4NTQzLCAzODU0OSwgMCwgMCwgMzg1NTIsIDM4NTYzLCAzODU3MSwgMCwgCisgICAgMzg1ODIsIDM4NTkwLCAzODYwMSwgMzg2MDksIDM4NjE3LCAzODYyNSwgMzg2MzMsIDM4NjQxLCAzODY0NCwgMCwgMzg2NDcsIAorICAgIDM4NjUxLCAzODY1NSwgMzg2NTksIDM4NjYzLCAzODY2NywgMzg2NzEsIDM4Njc1LCAzODY3OSwgMzg2ODMsIDM4Njg3LCAKKyAgICAzODY5MSwgMzg2OTcsIDM4NzAzLCAzODcwOSwgMzg3MTIsIDM4NzE1LCAzODcxNywgMzg3MjEsIDM4NzI1LCAzODcyOSwgCisgICAgMzg3MzMsIDM4NzM1LCAzODczOSwgMzg3NDMsIDM4NzQ5LCAzODc1NSwgMzg3NjIsIDM4NzY5LCAzODc3NCwgMzg3NzksIAorICAgIDM4Nzg1LCAzODc5MSwgMzg3OTMsIDM4Nzk2LCAzODc5OCwgMzg4MDIsIDM4ODA2LCAzODgxMCwgMzg4MTMsIDM4ODE3LCAKKyAgICAzODgyMSwgMzg4MjUsIDM4ODI5LCAzODgzMywgMzg4MzksIDM4ODQzLCAzODg0NywgMzg4NTMsIDM4ODU4LCAzODg2NSwgCisgICAgMzg4NjcsIDM4ODcwLCAzODg3NCwgMzg4NzgsIDM4ODgzLCAzODg4OSwgMzg4OTEsIDM4OTAwLCAzODkwOSwgMzg5MTIsIAorICAgIDM4OTE2LCAzODkxOCwgMzg5MjAsIDM4OTIyLCAzODkyNSwgMzg5MzEsIDM4OTMzLCAzODkzNywgMzg5NDEsIDM4OTQ4LCAKKyAgICAzODk1NSwgMzg5NTksIDM4OTY0LCAzODk2OSwgMzg5NzQsIDM4OTc5LCAzODk4MywgMzg5ODcsIDM4OTkwLCAzODk5NCwgCisgICAgMzg5OTgsIDM5MDA1LCAzOTAxMCwgMzkwMTQsIDM5MDE4LCAzOTAyMywgMzkwMjcsIDM5MDMxLCAzOTAzNiwgMzkwNDEsIAorICAgIDM5MDQ1LCAzOTA0OSwgMzkwNTMsIDM5MDU1LCAzOTA2MCwgMzkwNjUsIDM5MDY5LCAzOTA3MywgMzkwNzcsIDM5MDgxLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAzOTA4NSwgMzkwOTEsIDM5MDk3LCAzOTEwNCwgMzkxMTEsIDM5MTE2LCAzOTEyMSwgMzkxMjUsIDAsIDAsIAorICAgIDM5MTMxLCAzOTEzNCwgMzkxMzcsIDM5MTQwLCAzOTE0MywgMzkxNDYsIDM5MTQ5LCAzOTE1MywgMzkxNTcsIDM5MTYyLCAKKyAgICAzOTE2NywgMzkxNzIsIDM5MTc5LCAzOTE4MywgMzkxODYsIDM5MTg5LCAzOTE5MiwgMzkxOTUsIDM5MTk4LCAzOTIwMSwgCisgICAgMzkyMDQsIDM5MjA3LCAzOTIxMCwgMzkyMTQsIDM5MjE4LCAzOTIyMywgMzkyMjgsIDAsIDM5MjMzLCAzOTIzOSwgMzkyNDUsIAorICAgIDM5MjUxLCAzOTI1OCwgMzkyNjUsIDM5MjcyLCAzOTI3OSwgMzkyODUsIDM5MjkxLCAzOTI5OCwgMzkzMDUsIDM5MzEyLCAwLCAKKyAgICAwLCAwLCAzOTMxOSwgMzkzMjIsIDM5MzI1LCAzOTMyOCwgMzkzMzMsIDM5MzM2LCAzOTMzOSwgMzkzNDIsIDM5MzQ1LCAKKyAgICAzOTM0OCwgMzkzNTEsIDM5MzU1LCAzOTM1OCwgMzkzNjEsIDM5MzY0LCAzOTM2NywgMzkzNzAsIDM5Mzc1LCAzOTM3OCwgCisgICAgMzkzODEsIDM5Mzg0LCAzOTM4NywgMzkzOTAsIDM5Mzk1LCAzOTM5OCwgMzk0MDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM5NDA2LCAzOTQxMSwgMzk0MTYsIDM5NDIzLCAKKyAgICAzOTQzMSwgMzk0MzYsIDM5NDQxLCAzOTQ0NSwgMzk0NDksIDM5NDU0LCAzOTQ2MSwgMzk0NjgsIDM5NDcyLCAzOTQ3NywgCisgICAgMzk0ODIsIDM5NDg3LCAzOTQ5MiwgMzk0OTksIDM5NTA0LCAzOTUwOSwgMzk1MTQsIDM5NTIzLCAzOTUzMCwgMzk1MzcsIAorICAgIDM5NTQxLCAzOTU0NiwgMzk1NTIsIDM5NTU3LCAzOTU2NCwgMzk1NzMsIDM5NTgyLCAzOTU4NiwgMzk1OTAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDM5NTk0LCAzOTU5OCwgMzk2MDYsIDM5NjEwLCAzOTYxNCwgCisgICAgMzk2MTksIDM5NjIzLCAzOTYyNywgMzk2MzEsIDM5NjMzLCAzOTYzNywgMzk2NDEsIDM5NjQ1LCAzOTY1MCwgMzk2NTQsIAorICAgIDM5NjU4LCAzOTY2NiwgMzk2NjksIDM5NjczLCAzOTY3NiwgMzk2NzksIDM5Njg1LCAzOTY4OSwgMzk2OTIsIDM5Njk4LCAKKyAgICAzOTcwMiwgMzk3MDYsIDM5NzEwLCAzOTcxMywgMzk3MTcsIDM5NzIwLCAzOTcyNCwgMzk3MjYsIDM5NzI5LCAzOTczMiwgCisgICAgMzk3MzYsIDM5NzM4LCAzOTc0MiwgMzk3NDUsIDM5NzQ4LCAzOTc1MywgMzk3NTgsIDM5NzY1LCAzOTc2OCwgMzk3NzEsIAorICAgIDM5Nzc1LCAzOTc4MCwgMzk3ODMsIDM5Nzg2LCAzOTc4OSwgMzk3OTMsIDM5Nzk4LCAzOTgwMSwgMzk4MDQsIDM5ODA2LCAKKyAgICAzOTgwOSwgMzk4MTIsIDM5ODE1LCAzOTgxOSwgMzk4MjQsIDM5ODI3LCAzOTgzMSwgMzk4MzUsIDM5ODM5LCAzOTg0MywgCisgICAgMzk4NDgsIDM5ODU0LCAzOTg1OSwgMzk4NjQsIDM5ODcwLCAzOTg3NSwgMzk4ODAsIDM5ODg0LCAzOTg4OCwgMzk4OTMsIAorICAgIDM5ODk3LCAzOTkwMSwgMzk5MDQsIDM5OTA2LCAzOTkxMSwgMzk5MTcsIDM5OTI0LCAzOTkzMSwgMzk5MzgsIDM5OTQ1LCAKKyAgICAzOTk1MiwgMzk5NTksIDM5OTY2LCAzOTk3MywgMzk5ODEsIDM5OTg4LCAzOTk5NiwgNDAwMDMsIDQwMDEwLCA0MDAxOCwgCisgICAgNDAwMjYsIDQwMDMxLCA0MDAzNiwgNDAwNDEsIDQwMDQ2LCA0MDA1MSwgNDAwNTYsIDQwMDYxLCA0MDA2NiwgNDAwNzEsIAorICAgIDQwMDc2LCA0MDA4MiwgNDAwODgsIDQwMDk0LCA0MDEwMCwgNDAxMDcsIDQwMTE1LCA0MDEyMiwgNDAxMjgsIDQwMTM0LCAKKyAgICA0MDE0MCwgNDAxNDYsIDQwMTUyLCA0MDE1OCwgNDAxNjQsIDQwMTcwLCA0MDE3NiwgNDAxODMsIDQwMTkwLCA0MDE5NywgCisgICAgNDAyMDQsIDQwMjEyLCA0MDIyMSwgNDAyMjksIDQwMjQwLCA0MDI0OCwgNDAyNTYsIDQwMjY1LCA0MDI3MiwgNDAyODEsIAorICAgIDQwMjkwLCA0MDI5OCwgNDAzMDcsIDAsIDAsIDAsIDAsIDAsIDAsIDQwMzE1LCA0MDMxNywgNDAzMjAsIDQwMzIyLCA0MDMyNSwgCisgICAgNDAzMjgsIDQwMzMxLCA0MDMzNiwgNDAzNDEsIDQwMzQ2LCA0MDM1MSwgNDAzNTUsIDQwMzU5LCA0MDM2MywgNDAzNjcsIAorICAgIDQwMzcyLCA0MDM3OCwgNDAzODMsIDQwMzg5LCA0MDM5NCwgNDAzOTksIDQwNDA0LCA0MDQxMCwgNDA0MTUsIDQwNDIxLCAKKyAgICA0MDQyNywgNDA0MzEsIDQwNDM1LCA0MDQ0MCwgNDA0NDUsIDQwNDUwLCA0MDQ1NSwgNDA0NjAsIDQwNDY4LCA0MDQ3NiwgCisgICAgNDA0ODQsIDQwNDkyLCA0MDQ5OSwgNDA1MDcsIDQwNTE0LCA0MDUyMSwgNDA1MzAsIDQwNTQyLCA0MDU0OCwgNDA1NTQsIAorICAgIDQwNTYyLCA0MDU3MCwgNDA1NzksIDQwNTg4LCA0MDU5NiwgNDA2MDQsIDQwNjEzLCA0MDYyMiwgNDA2MjcsIDQwNjM1LCAKKyAgICA0MDY0MCwgNDA2NDUsIDQwNjUxLCA0MDY1NiwgNDA2NjIsIDQwNjY5LCA0MDY3NiwgNDA2ODEsIDQwNjg3LCA0MDY5MiwgCisgICAgNDA2OTUsIDQwNjk5LCA0MDcwMiwgNDA3MDYsIDQwNzEwLCA0MDcxNCwgNDA3MjAsIDQwNzI2LCA0MDczMiwgNDA3MzgsIAorICAgIDQwNzQyLCA0MDc0NiwgNDA3NTAsIDQwNzU0LCA0MDc2MCwgNDA3NjYsIDQwNzcwLCA0MDc3NSwgNDA3NzksIDQwNzg0LCAKKyAgICA0MDc4OSwgNDA3OTQsIDQwNzk3LCA0MDgwMSwgNDA4MDQsIDQwODA4LCA0MDgxNSwgNDA4MjMsIDQwODM0LCA0MDg0NSwgCisgICAgNDA4NTAsIDQwODU5LCA0MDg2NiwgNDA4NzUsIDQwODg0LCA0MDg4OCwgNDA4OTQsIDQwOTAyLCA0MDkwNiwgNDA5MTEsIAorICAgIDQwOTE2LCA0MDkyMiwgNDA5MjgsIDQwOTM0LCA0MDk0MSwgNDA5NDUsIDQwOTQ5LCA0MDk1NCwgNDA5NTcsIDQwOTU5LCAKKyAgICA0MDk2MywgNDA5NjcsIDQwOTc1LCA0MDk3OSwgNDA5ODEsIDQwOTgzLCA0MDk4NywgNDA5OTUsIDQxMDAwLCA0MTAwNiwgCisgICAgNDEwMTYsIDQxMDIzLCA0MTAyOCwgNDEwMzIsIDQxMDM2LCA0MTA0MCwgNDEwNDMsIDQxMDQ2LCA0MTA0OSwgNDEwNTMsIAorICAgIDQxMDU3LCA0MTA2MSwgNDEwNjUsIDQxMDY5LCA0MTA3MiwgNDEwNzYsIDQxMDgwLCA0MTA4MywgNDEwODUsIDQxMDg4LCAKKyAgICA0MTA5MCwgNDEwOTQsIDQxMDk4LCA0MTEwMCwgNDExMDYsIDQxMTA5LCA0MTExNCwgNDExMTgsIDQxMTIyLCA0MTEyNCwgCisgICAgNDExMjYsIDQxMTI4LCA0MTEzMSwgNDExMzUsIDQxMTM5LCA0MTE0MywgNDExNDcsIDQxMTUxLCA0MTE1NywgNDExNjMsIAorICAgIDQxMTY1LCA0MTE2NywgNDExNjksIDQxMTcxLCA0MTE3NCwgNDExNzYsIDQxMTgwLCA0MTE4MiwgNDExODYsIDQxMTg5LCAKKyAgICA0MTE5NSwgNDExOTksIDQxMjAzLCA0MTIwNiwgNDEyMDksIDQxMjEzLCA0MTIxOSwgNDEyMjMsIDQxMjMzLCA0MTI0MywgCisgICAgNDEyNDcsIDQxMjUzLCA0MTI1OSwgNDEyNjIsIDQxMjY2LCA0MTI2OSwgNDEyNzQsIDQxMjc4LCA0MTI4NCwgNDEyODgsIAorICAgIDQxMzAwLCA0MTMwOCwgNDEzMTIsIDQxMzE2LCA0MTMyMiwgNDEzMjYsIDQxMzI5LCA0MTMzMSwgNDEzMzQsIDQxMzM4LCAKKyAgICA0MTM0MiwgNDEzNDksIDQxMzUzLCA0MTM1NywgNDEzNjEsIDQxMzY0LCA0MTM2OSwgNDEzNzQsIDQxMzc5LCA0MTM4NCwgCisgICAgNDEzODksIDQxMzk0LCA0MTQwMiwgNDE0MTAsIDQxNDE0LCA0MTQxOCwgNDE0MjAsIDQxNDI1LCA0MTQyOSwgNDE0MzMsIAorICAgIDQxNDQxLCA0MTQ0OSwgNDE0NTUsIDQxNDYxLCA0MTQ3MCwgNDE0NzksIDQxNDg0LCA0MTQ4OSwgNDE0OTcsIDQxNTA1LCAKKyAgICA0MTUwNywgNDE1MDksIDQxNTE0LCA0MTUxOSwgNDE1MjUsIDQxNTMxLCA0MTUzNywgNDE1NDMsIDQxNTQ3LCA0MTU1MSwgCisgICAgNDE1NTgsIDQxNTY1LCA0MTU3MSwgNDE1NzcsIDQxNTg3LCA0MTU5NywgNDE2MDUsIDQxNjEzLCA0MTYxNSwgNDE2MTksIAorICAgIDQxNjIzLCA0MTYyOCwgNDE2MzMsIDQxNjQwLCA0MTY0NywgNDE2NTAsIDQxNjUzLCA0MTY1NiwgNDE2NTksIDQxNjYyLCAKKyAgICA0MTY2NywgNDE2NzEsIDQxNjc2LCA0MTY4MSwgNDE2ODQsIDQxNjg3LCA0MTY5MCwgNDE2OTMsIDQxNjk2LCA0MTcwMCwgCisgICAgNDE3MDMsIDQxNzA2LCA0MTcwOSwgNDE3MTIsIDQxNzE0LCA0MTcxNiwgNDE3MTgsIDQxNzIwLCA0MTcyOCwgNDE3MzYsIAorICAgIDQxNzQyLCA0MTc0NiwgNDE3NTIsIDQxNzYyLCA0MTc2OCwgNDE3NzQsIDQxNzgwLCA0MTc4OCwgNDE3OTYsIDQxODA3LCAKKyAgICA0MTgxMSwgNDE4MTUsIDQxODE3LCA0MTgyMywgNDE4MjUsIDQxODI3LCA0MTgyOSwgNDE4MzEsIDQxODM3LCA0MTg0MCwgCisgICAgNDE4NDYsIDQxODUyLCA0MTg1NiwgNDE4NjAsIDQxODY0LCA0MTg2NywgNDE4NzEsIDQxODc1LCA0MTg3NywgNDE4ODYsIAorICAgIDQxODk1LCA0MTkwMCwgNDE5MDUsIDQxOTExLCA0MTkxNywgNDE5MjMsIDQxOTI2LCA0MTkyOSwgNDE5MzIsIDQxOTM1LCAKKyAgICA0MTkzNywgNDE5NDIsIDQxOTQ3LCA0MTk1MiwgNDE5NTgsIDQxOTY0LCA0MTk3MiwgNDE5ODAsIDQxOTg2LCA0MTk5MiwgCisgICAgNDE5OTgsIDQyMDA0LCA0MjAxMywgNDIwMjIsIDQyMDMxLCA0MjA0MCwgNDIwNDksIDQyMDU4LCA0MjA2NywgNDIwNzYsIAorICAgIDQyMDg1LCA0MjA5NCwgNDIxMDIsIDQyMTE0LCA0MjEyNCwgNDIxMzksIDQyMTQyLCA0MjE0NywgNDIxNTMsIDQyMTU5LCAKKyAgICA0MjE2NiwgNDIxODAsIDQyMTk1LCA0MjIwMSwgNDIyMDcsIDQyMjE0LCA0MjIyMCwgNDIyMjgsIDQyMjM0LCA0MjI0NywgCisgICAgNDIyNjEsIDQyMjY2LCA0MjI3MiwgNDIyNzksIDQyMjgyLCA0MjI4NSwgNDIyODcsIDQyMjkwLCA0MjI5MywgNDIyOTUsIAorICAgIDQyMjk3LCA0MjMwMSwgNDIzMDQsIDQyMzA3LCA0MjMxMCwgNDIzMTMsIDQyMzE4LCA0MjMyMywgNDIzMjgsIDQyMzMzLCAKKyAgICA0MjMzOCwgNDIzNDEsIDQyMzQzLCA0MjM0NSwgNDIzNDcsIDQyMzUxLCA0MjM1NSwgNDIzNTksIDQyMzY1LCA0MjM3MCwgCisgICAgNDIzNzIsIDQyMzc0LCA0MjM3OSwgNDIzODQsIDQyMzg5LCA0MjM5NCwgNDIzOTksIDQyNDA0LCA0MjQwNiwgNDI0MDgsIAorICAgIDQyNDE3LCA0MjQyMSwgNDI0MjksIDQyNDM4LCA0MjQ0MCwgNDI0NDUsIDQyNDUwLCA0MjQ1OCwgNDI0NjIsIDQyNDY0LCAKKyAgICA0MjQ2OCwgNDI0NzAsIDQyNDc0LCA0MjQ3OCwgNDI0ODIsIDQyNDg0LCA0MjQ4NiwgNDI0ODgsIDQyNDk1LCA0MjUwNCwgCisgICAgNDI1MTMsIDQyNTIyLCA0MjUzMSwgNDI1NDAsIDQyNTQ5LCA0MjU1OCwgNDI1NjcsIDQyNTc1LCA0MjU4MywgNDI1OTIsIAorICAgIDQyNjAxLCA0MjYxMCwgNDI2MTksIDQyNjI3LCA0MjYzNSwgNDI2NDQsIDQyNjUzLCA0MjY2MiwgNDI2NzIsIDQyNjgxLCAKKyAgICA0MjY5MSwgNDI3MDAsIDQyNzEwLCA0MjcxOSwgNDI3MjksIDQyNzM5LCA0Mjc0OCwgNDI3NTgsIDQyNzY3LCA0Mjc3NywgCisgICAgNDI3ODYsIDQyNzk2LCA0MjgwNSwgNDI4MTQsIDQyODIzLCA0MjgzMiwgNDI4NDEsIDQyODUxLCA0Mjg2MCwgNDI4NjksIAorICAgIDQyODc4LCA0Mjg4OCwgNDI4OTcsIDQyOTA2LCA0MjkxNSwgNDI5MjQsIDQyOTM0LCA0Mjk0NCwgNDI5NTMsIDQyOTYyLCAKKyAgICA0Mjk3MCwgNDI5NzgsIDQyOTg1LCA0Mjk5MywgNDMwMDIsIDQzMDEzLCA0MzAyMiwgNDMwMzEsIDQzMDQwLCA0MzA0NywgCisgICAgNDMwNTQsIDQzMDYxLCA0MzA3MCwgNDMwNzksIDQzMDg4LCA0MzA5NywgNDMxMDQsIDQzMTA5LCA0MzExOCwgNDMxMjMsIAorICAgIDQzMTI2LCA0MzEzNCwgNDMxMzcsIDQzMTQyLCA0MzE0NywgNDMxNTAsIDQzMTUzLCA0MzE2MSwgNDMxNjQsIDQzMTY5LCAKKyAgICA0MzE3MiwgNDMxNzksIDQzMTg0LCA0MzE5MiwgNDMxOTUsIDQzMTk4LCA0MzIwMSwgNDMyMDYsIDQzMjExLCA0MzIxNCwgCisgICAgNDMyMTcsIDQzMjI1LCA0MzIyOCwgNDMyMzUsIDQzMjQyLCA0MzI0NiwgNDMyNTAsIDQzMjU1LCA0MzI2MCwgNDMyNjYsIAorICAgIDQzMjcxLCA0MzI3NywgNDMyODMsIDQzMjg4LCA0MzI5NCwgNDMzMDIsIDQzMzA4LCA0MzMxNiwgNDMzMjQsIDQzMzMwLCAKKyAgICA0MzMzOCwgNDMzNDYsIDQzMzU1LCA0MzM2MywgNDMzNjksIDQzMzc3LCA0MzM4NiwgNDMzOTQsIDQzMzk4LCA0MzQwMywgCisgICAgNDM0MTYsIDQzNDI5LCA0MzQzMywgNDM0MzcsIDQzNDQxLCA0MzQ0NSwgNDM0NTUsIDQzNDU5LCA0MzQ2NCwgNDM0NjksIAorICAgIDQzNDc0LCA0MzQ3OSwgNDM0ODQsIDQzNDg5LCA0MzQ5OSwgNDM1MDksIDQzNTE3LCA0MzUyNywgNDM1MzcsIDQzNTQ1LCAKKyAgICA0MzU1NSwgNDM1NjUsIDQzNTczLCA0MzU4MywgNDM1OTMsIDQzNjAxLCA0MzYwOSwgNDM2MTksIDQzNjI5LCA0MzYzMiwgCisgICAgNDM2MzUsIDQzNjM4LCA0MzY0MywgNDM2NDcsIDQzNjUzLCA0MzY2MCwgNDM2NjcsIDQzNjc1LCA0MzY4MiwgNDM2ODYsIAorICAgIDQzNjkwLCA0MzY5NCwgNDM2OTgsIDQzNzAwLCA0MzcwNCwgNDM3MDgsIDQzNzEzLCA0MzcxOCwgNDM3MjUsIDQzNzMyLCAKKyAgICA0MzczNSwgNDM3NDIsIDQzNzQ0LCA0Mzc0NiwgNDM3NTAsIDQzNzU0LCA0Mzc1OSwgNDM3NjUsIDQzNzcxLCA0Mzc3NywgCisgICAgNDM3ODMsIDQzNzkyLCA0MzgwMSwgNDM4MTAsIDQzODE0LCA0MzgxNiwgNDM4MjAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDQzODI3LCA0MzgzMSwgNDM4MzgsIDQzODQ1LCA0Mzg1MiwgNDM4NTksIDQzODYzLCA0Mzg2NywgCisgICAgNDM4NzEsIDQzODc1LCA0Mzg4MCwgNDM4ODYsIDQzODkxLCA0Mzg5NywgNDM5MDMsIDQzOTA5LCA0MzkxNSwgNDM5MjMsIAorICAgIDQzOTMwLCA0MzkzNywgNDM5NDQsIDQzOTUxLCA0Mzk1NiwgNDM5NjIsIDQzOTcxLCA0Mzk3NSwgNDM5ODIsIDQzOTg2LCAKKyAgICA0Mzk5MCwgNDM5OTYsIDQ0MDAyLCA0NDAwOCwgNDQwMTQsIDQ0MDE4LCA0NDAyMiwgNDQwMjUsIDQ0MDI4LCA0NDAzMiwgCisgICAgNDQwMzksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDQ0MDQ2LCA0NDA0OSwgNDQwNTMsIDQ0MDU3LCA0NDA2MywgNDQwNjksIDQ0MDc1LCA0NDA4MywgNDQwOTAsIAorICAgIDQ0MDk0LCA0NDEwMiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgNDQxMDcsIDQ0MTEwLCA0NDExMywgNDQxMTYsIDQ0MTE5LCA0NDEyMiwgNDQxMjUsIDQ0MTI4LCA0NDEzMSwgNDQxMzQsIAorICAgIDQ0MTM4LCA0NDE0MiwgNDQxNDYsIDQ0MTUwLCA0NDE1NCwgNDQxNTgsIDQ0MTYyLCA0NDE2NiwgNDQxNzAsIDQ0MTc0LCAKKyAgICA0NDE3OCwgNDQxODEsIDQ0MTg0LCA0NDE4NywgNDQxOTAsIDQ0MTkzLCA0NDE5NiwgNDQxOTksIDQ0MjAyLCA0NDIwNSwgCisgICAgNDQyMDksIDQ0MjEzLCA0NDIxNywgNDQyMjEsIDQ0MjI1LCA0NDIyOSwgNDQyMzMsIDQ0MjM3LCA0NDI0MSwgNDQyNDUsIAorICAgIDQ0MjQ5LCA0NDI1NSwgNDQyNjEsIDQ0MjY3LCA0NDI3NCwgNDQyODEsIDQ0Mjg4LCA0NDI5NSwgNDQzMDIsIDQ0MzA5LCAKKyAgICA0NDMxNiwgNDQzMjMsIDQ0MzMwLCA0NDMzNywgNDQzNDQsIDQ0MzUxLCA0NDM1OCwgNDQzNjUsIDQ0MzcyLCA0NDM3OSwgCisgICAgNDQzODYsIDQ0MzkxLCA0NDM5NywgNDQ0MDMsIDQ0NDA5LCA0NDQxNCwgNDQ0MjAsIDQ0NDI2LCA0NDQzMiwgNDQ0MzcsIAorICAgIDQ0NDQzLCA0NDQ0OSwgNDQ0NTQsIDQ0NDU5LCA0NDQ2NSwgNDQ0NzAsIDQ0NDc2LCA0NDQ4MiwgNDQ0ODcsIDQ0NDkzLCAKKyAgICA0NDQ5OSwgNDQ1MDQsIDQ0NTEwLCA0NDUxNiwgNDQ1MjIsIDQ0NTI4LCA0NDUzNCwgNDQ1MzksIDQ0NTQ1LCA0NDU1MSwgCisgICAgNDQ1NTcsIDQ0NTYyLCA0NDU2OCwgNDQ1NzQsIDQ0NTgwLCA0NDU4NSwgNDQ1OTEsIDQ0NTk3LCA0NDYwMiwgNDQ2MDcsIAorICAgIDQ0NjEzLCA0NDYxOCwgNDQ2MjQsIDQ0NjMwLCA0NDYzNSwgNDQ2NDEsIDQ0NjQ3LCA0NDY1MiwgNDQ2NTgsIDQ0NjY0LCAKKyAgICA0NDY3MCwgNDQ2NzYsIDQ0NjgyLCA0NDY4NywgNDQ2OTMsIDQ0Njk5LCA0NDcwNSwgNDQ3MTAsIDQ0NzE2LCA0NDcyMiwgCisgICAgNDQ3MjgsIDQ0NzMzLCA0NDczOSwgNDQ3NDUsIDQ0NzUwLCA0NDc1NSwgNDQ3NjEsIDQ0NzY2LCA0NDc3MiwgNDQ3NzgsIAorICAgIDQ0NzgzLCA0NDc4OSwgNDQ3OTUsIDQ0ODAwLCA0NDgwNiwgNDQ4MTIsIDQ0ODE4LCA0NDgyNCwgNDQ4MzAsIDQ0ODM0LCAKKyAgICA0NDgzOSwgNDQ4NDQsIDQ0ODQ5LCA0NDg1NCwgNDQ4NTksIDQ0ODY0LCA0NDg2OSwgNDQ4NzQsIDQ0ODc5LCA0NDg4NCwgCisgICAgNDQ4ODgsIDQ0ODkyLCA0NDg5NiwgNDQ5MDAsIDQ0OTA0LCA0NDkwOCwgNDQ5MTIsIDQ0OTE2LCA0NDkyMCwgNDQ5MjUsIAorICAgIDQ0OTMwLCA0NDkzNSwgNDQ5NDAsIDQ0OTQ1LCA0NDk1MCwgNDQ5NTksIDQ0OTY4LCA0NDk3NywgNDQ5ODYsIDQ0OTk1LCAKKyAgICA0NTAwNCwgNDUwMTMsIDQ1MDIyLCA0NTAyOSwgNDUwMzcsIDQ1MDQ1LCA0NTA1MiwgNDUwNTksIDQ1MDY3LCA0NTA3NSwgCisgICAgNDUwODIsIDQ1MDg5LCA0NTA5NywgNDUxMDUsIDQ1MTEyLCA0NTExOSwgNDUxMjcsIDQ1MTM1LCA0NTE0MiwgNDUxNDksIAorICAgIDQ1MTU3LCA0NTE2NiwgNDUxNzUsIDQ1MTgzLCA0NTE5MiwgNDUyMDEsIDQ1MjA4LCA0NTIxNSwgNDUyMjMsIDQ1MjMyLCAKKyAgICA0NTI0MSwgNDUyNDksIDQ1MjU4LCA0NTI2NywgNDUyNzQsIDQ1MjgxLCA0NTI5MCwgNDUyOTksIDQ1MzA3LCA0NTMxNSwgCisgICAgNDUzMjQsIDQ1MzMzLCA0NTM0MCwgNDUzNDcsIDQ1MzU2LCA0NTM2NSwgNDUzNzMsIDQ1MzgxLCA0NTM5MCwgNDUzOTksIAorICAgIDQ1NDA2LCA0NTQxMywgNDU0MjIsIDQ1NDMxLCA0NTQzOSwgNDU0NDgsIDQ1NDU3LCA0NTQ2NSwgNDU0NzUsIDQ1NDg1LCAKKyAgICA0NTQ5NSwgNDU1MDUsIDQ1NTE0LCA0NTUyMywgNDU1MzIsIDQ1NTQxLCA0NTU0OCwgNDU1NTYsIDQ1NTY0LCA0NTU3MiwgCisgICAgNDU1ODAsIDQ1NTg1LCA0NTU5MCwgNDU1OTksIDQ1NjA3LCA0NTYxNCwgNDU2MjMsIDQ1NjMxLCA0NTYzOCwgNDU2NDcsIAorICAgIDQ1NjU1LCA0NTY2MiwgNDU2NzEsIDQ1Njc5LCA0NTY4NiwgNDU2OTUsIDQ1NzAzLCA0NTcxMCwgNDU3MTksIDQ1NzI3LCAKKyAgICA0NTczNCwgNDU3NDMsIDQ1NzUxLCA0NTc1OCwgNDU3NjcsIDQ1Nzc1LCA0NTc4MiwgNDU3OTEsIDQ1Nzk5LCA0NTgwNiwgCisgICAgNDU4MTUsIDQ1ODI0LCA0NTgzMywgNDU4NDIsIDQ1ODU2LCA0NTg3MCwgNDU4NzcsIDQ1ODgyLCA0NTg4NywgNDU4OTIsIAorICAgIDQ1ODk3LCA0NTkwMiwgNDU5MDcsIDQ1OTEyLCA0NTkxNywgNDU5MjUsIDQ1OTMzLCA0NTk0MSwgNDU5NDksIDQ1OTU0LCAKKyAgICA0NTk2MSwgNDU5NjgsIDQ1OTc1LCA0NTk4MCwgNDU5ODgsIDQ1OTk1LCA0NjAwMywgNDYwMDcsIDQ2MDE0LCA0NjAyMCwgCisgICAgNDYwMjcsIDQ2MDMxLCA0NjAzNywgNDYwNDMsIDQ2MDQ5LCA0NjA1MywgNDYwNTYsIDQ2MDYwLCA0NjA2NCwgNDYwNzEsIAorICAgIDQ2MDc3LCA0NjA4MywgNDYwODksIDQ2MDk1LCA0NjEwOSwgNDYxMTksIDQ2MTMzLCA0NjE0NywgNDYxNTMsIDQ2MTYzLCAKKyAgICA0NjE3NywgNDYxODAsIDQ2MTgzLCA0NjE5MCwgNDYxOTgsIDQ2MjAzLCA0NjIwOCwgNDYyMTYsIDQ2MjI4LCA0NjI0MCwgCisgICAgNDYyNDgsIDQ2MjUyLCA0NjI1NiwgNDYyNTksIDQ2MjYyLCA0NjI2NiwgNDYyNzAsIDQ2MjczLCA0NjI3NiwgNDYyODEsIAorICAgIDQ2Mjg2LCA0NjI5MiwgNDYyOTgsIDQ2MzAzLCA0NjMwOCwgNDYzMTQsIDQ2MzIwLCA0NjMyNSwgNDYzMzAsIDQ2MzM1LCAKKyAgICA0NjM0MCwgNDYzNDYsIDQ2MzUyLCA0NjM1NywgNDYzNjIsIDQ2MzY4LCA0NjM3NCwgNDYzNzksIDQ2Mzg0LCA0NjM4NywgCisgICAgNDYzOTAsIDQ2Mzk5LCA0NjQwMSwgNDY0MDMsIDQ2NDA2LCA0NjQxMCwgNDY0MTYsIDQ2NDE4LCA0NjQyMSwgNDY0MjgsIAorICAgIDQ2NDM1LCA0NjQ0MywgNDY0NTEsIDQ2NDYxLCA0NjQ3NSwgNDY0ODAsIDQ2NDg1LCA0NjQ4OSwgNDY0OTQsIDQ2NTAyLCAKKyAgICA0NjUxMCwgNDY1MTksIDQ2NTI4LCA0NjUzNywgNDY1NDYsIDQ2NTUxLCA0NjU1NiwgNDY1NjIsIDQ2NTY4LCA0NjU3NCwgCisgICAgNDY1ODAsIDQ2NTgzLCA0NjU4OSwgNDY1OTUsIDQ2NjA1LCA0NjYxNSwgNDY2MjMsIDQ2NjMxLCA0NjY0MCwgNDY2NDksIAorICAgIDQ2NjUzLCA0NjY2MSwgNDY2NjksIDQ2Njc3LCA0NjY4NSwgNDY2OTQsIDQ2NzAzLCA0NjcxMiwgNDY3MjEsIDQ2NzI2LCAKKyAgICA0NjczMSwgNDY3MzYsIDQ2NzQxLCA0Njc0NiwgNDY3NTIsIDQ2NzU4LCA0Njc2MywgNDY3NjksIDQ2NzcxLCA0Njc3MywgCisgICAgNDY3NzUsIDQ2Nzc3LCA0Njc4MCwgNDY3ODMsIDQ2Nzg1LCA0Njc4NywgNDY3ODksIDQ2NzkzLCA0Njc5NywgNDY3OTksIAorICAgIDQ2ODAxLCA0NjgwNCwgNDY4MDcsIDQ2ODExLCA0NjgxNywgNDY4MjMsIDQ2ODI1LCA0NjgzMiwgNDY4MzYsIDQ2ODQxLCAKKyAgICA0Njg0NiwgNDY4NDgsIDQ2ODU4LCA0Njg2NCwgNDY4NzAsIDQ2ODc2LCA0Njg4MiwgNDY4ODgsIDQ2ODk0LCA0Njg5OSwgCisgICAgNDY5MDIsIDQ2OTA1LCA0NjkwOCwgNDY5MTAsIDQ2OTEyLCA0NjkxNiwgNDY5MjAsIDQ2OTI1LCA0NjkzMCwgNDY5MzUsIAorICAgIDQ2OTM4LCA0Njk0MiwgNDY5NDcsIDQ2OTUwLCA0Njk1NCwgNDY5NTksIDQ2OTY0LCA0Njk2OSwgNDY5NzQsIDQ2OTc5LCAKKyAgICA0Njk4NCwgNDY5ODksIDQ2OTk0LCA0Njk5OSwgNDcwMDQsIDQ3MDA5LCA0NzAxNCwgNDcwMjAsIDQ3MDI2LCA0NzAzMiwgCisgICAgNDcwMzQsIDQ3MDM3LCA0NzAzOSwgNDcwNDIsIDQ3MDQ0LCA0NzA0NiwgNDcwNDgsIDQ3MDUwLCA0NzA1MiwgNDcwNTQsIAorICAgIDQ3MDU2LCA0NzA1OCwgNDcwNjAsIDQ3MDYyLCA0NzA2NCwgNDcwNjYsIDQ3MDY4LCA0NzA3MCwgNDcwNzIsIDQ3MDc0LCAKKyAgICA0NzA3NiwgNDcwODEsIDQ3MDg2LCA0NzA5MSwgNDcwOTYsIDQ3MTAxLCA0NzEwNiwgNDcxMTEsIDQ3MTE2LCA0NzEyMSwgCisgICAgNDcxMjYsIDQ3MTMxLCA0NzEzNiwgNDcxNDEsIDQ3MTQ2LCA0NzE1MSwgNDcxNTYsIDQ3MTYxLCA0NzE2NiwgNDcxNzEsIAorICAgIDQ3MTc2LCA0NzE4MCwgNDcxODQsIDQ3MTg4LCA0NzE5NCwgNDcyMDAsIDQ3MjA1LCA0NzIxMCwgNDcyMTUsIDQ3MjIwLCAKKyAgICA0NzIyNSwgNDcyMzAsIDQ3MjM4LCA0NzI0NiwgNDcyNTQsIDQ3MjYyLCA0NzI3MCwgNDcyNzgsIDQ3Mjg2LCA0NzI5NCwgCisgICAgNDczMDAsIDQ3MzA1LCA0NzMxMCwgNDczMTUsIDQ3MzE4LCA0NzMyMiwgNDczMjYsIDQ3MzMwLCA0NzMzNCwgNDczMzgsIAorICAgIDQ3MzQyLCA0NzM0OSwgNDczNTYsIDQ3MzY0LCA0NzM3MiwgNDczNzcsIDQ3MzgyLCA0NzM4OSwgNDczOTYsIDQ3NDAzLCAKKyAgICA0NzQxMCwgNDc0MTMsIDQ3NDE2LCA0NzQyMSwgNDc0MjMsIDQ3NDI3LCA0NzQzMiwgNDc0MzQsIDQ3NDM2LCA0NzQzOCwgCisgICAgNDc0NDAsIDQ3NDQ1LCA0NzQ0OCwgNDc0NTAsIDQ3NDU1LCA0NzQ2MiwgNDc0NjksIDQ3NDcyLCA0NzQ3NiwgNDc0ODEsIAorICAgIDQ3NDg2LCA0NzQ5NCwgNDc1MDAsIDQ3NTA2LCA0NzUxOCwgNDc1MjUsIDQ3NTMyLCA0NzUzNywgNDc1NDIsIDQ3NTQ4LCAKKyAgICA0NzU1MSwgNDc1NTQsIDQ3NTU5LCA0NzU2MSwgNDc1NjUsIDQ3NTY3LCA0NzU2OSwgNDc1NzEsIDQ3NTczLCA0NzU3NSwgCisgICAgNDc1NzcsIDQ3NTgyLCA0NzU4NCwgNDc1ODYsIDQ3NTg4LCA0NzU5MCwgNDc1OTQsIDQ3NTk2LCA0NzU5OSwgNDc2MDQsIAorICAgIDQ3NjA5LCA0NzYxNCwgNDc2MTksIDQ3NjI1LCA0NzYzMSwgNDc2MzMsIDQ3NjM2LCA0NzY0MywgNDc2NTAsIDQ3NjU3LCAKKyAgICA0NzY2NCwgNDc2NjgsIDQ3NjcyLCA0NzY3NCwgNDc2NzYsIDQ3NjgwLCA0NzY4NiwgNDc2OTEsIDQ3NjkzLCA0NzY5NywgCisgICAgNDc3MDYsIDQ3NzE0LCA0NzcyMiwgNDc3MjgsIDQ3NzM0LCA0NzczOSwgNDc3NDUsIDQ3NzUwLCA0Nzc1MywgNDc3NjcsIAorICAgIDQ3NzcwLCA0Nzc3NSwgNDc3ODAsIDQ3Nzg2LCA0Nzc5NiwgNDc3OTgsIDQ3ODA0LCA0NzgxMCwgNDc4MTQsIDQ3ODIxLCAKKyAgICA0NzgyNSwgNDc4MjcsIDQ3ODI5LCA0NzgzMywgNDc4MzksIDQ3ODQ0LCA0Nzg1MCwgNDc4NTIsIDQ3ODU4LCA0Nzg2MCwgCisgICAgNDc4NjYsIDQ3ODY4LCA0Nzg3MCwgNDc4NzUsIDQ3ODc3LCA0Nzg4MSwgNDc4ODYsIDQ3ODg4LCA0Nzg5MywgNDc4OTgsIAorICAgIDQ3OTAyLCA0NzkwOSwgMCwgNDc5MTksIDQ3OTI1LCA0NzkyOCwgNDc5MzQsIDQ3OTM3LCA0Nzk0MiwgNDc5NDcsIDQ3OTUxLCAKKyAgICA0Nzk1MywgNDc5NTUsIDQ3OTU5LCA0Nzk2MywgNDc5NjcsIDQ3OTcxLCA0Nzk3NiwgNDc5NzgsIDQ3OTgzLCA0Nzk4NiwgCisgICAgNDc5ODksIDQ3OTkyLCA0Nzk5NiwgNDgwMDAsIDQ4MDA1LCA0ODAwOSwgNDgwMTQsIDQ4MDE5LCA0ODAyMywgNDgwMjgsIAorICAgIDQ4MDM0LCA0ODAzNywgNDgwNDMsIDQ4MDQ4LCA0ODA1MiwgNDgwNTcsIDQ4MDYzLCA0ODA2OSwgNDgwNzYsIDQ4MDgyLCAKKyAgICA0ODA4OSwgNDgwOTYsIDQ4MDk4LCA0ODEwNSwgNDgxMDksIDQ4MTE1LCA0ODEyMSwgNDgxMjYsIDQ4MTMyLCA0ODEzNiwgCisgICAgNDgxNDEsIDQ4MTQ0LCA0ODE0OSwgNDgxNTUsIDQ4MTYyLCA0ODE3MCwgNDgxNzcsIDQ4MTg2LCA0ODE5NiwgNDgyMDMsIAorICAgIDQ4MjA5LCA0ODIxMywgNDgyMjAsIDQ4MjI1LCA0ODIzNCwgNDgyMzcsIDQ4MjQwLCA0ODI0OSwgNDgyNTksIDQ4MjY2LCAKKyAgICA0ODI2OCwgNDgyNzQsIDQ4Mjc5LCA0ODI4MSwgNDgyODQsIDQ4Mjg4LCA0ODI5NiwgNDgzMDUsIDQ4MzA4LCA0ODMxMywgCisgICAgNDgzMTgsIDQ4MzI2LCA0ODMzNCwgNDgzNDIsIDQ4MzUwLCA0ODM1NiwgNDgzNjIsIDQ4MzY4LCA0ODM3NiwgNDgzODEsIAorICAgIDQ4Mzg0LCA0ODM4OCwgNDgzOTEsIDQ4NDAzLCA0ODQxMywgNDg0MjQsIDQ4NDMzLCA0ODQ0NCwgNDg0NTQsIDQ4NDYzLCAKKyAgICA0ODQ2OSwgNDg0NzcsIDQ4NDgxLCA0ODQ4OSwgNDg0OTMsIDQ4NTAxLCA0ODUwOCwgNDg1MTUsIDQ4NTI0LCA0ODUzMywgCisgICAgNDg1NDMsIDQ4NTUzLCA0ODU2MywgNDg1NzMsIDQ4NTgyLCA0ODU5MSwgNDg2MDEsIDQ4NjExLCA0ODYyMCwgNDg2MjksIAorICAgIDQ4NjM1LCA0ODY0MSwgNDg2NDcsIDQ4NjUzLCA0ODY1OSwgNDg2NjUsIDQ4NjcxLCA0ODY3NywgNDg2ODMsIDQ4NjkwLCAKKyAgICA0ODY5NiwgNDg3MDIsIDQ4NzA4LCA0ODcxNCwgNDg3MjAsIDQ4NzI2LCA0ODczMiwgNDg3MzgsIDQ4NzQ0LCA0ODc1MSwgCisgICAgNDg3NTgsIDQ4NzY1LCA0ODc3MiwgNDg3NzksIDQ4Nzg2LCA0ODc5MywgNDg4MDAsIDQ4ODA3LCA0ODgxNCwgNDg4MjIsIAorICAgIDQ4ODI3LCA0ODgzMCwgNDg4MzQsIDQ4ODM4LCA0ODg0NCwgNDg4NDcsIDQ4ODUzLCA0ODg1OSwgNDg4NjQsIDQ4ODY4LCAKKyAgICA0ODg3MywgNDg4NzksIDQ4ODg2LCA0ODg4OSwgNDg4OTYsIDQ4OTAzLCA0ODkwNywgNDg5MTYsIDQ4OTI1LCA0ODkzMCwgCisgICAgNDg5MzYsIDQ4OTQxLCA0ODk0NiwgNDg5NTMsIDQ4OTYwLCA0ODk2OCwgNDg5NzYsIDQ4OTg1LCA0ODk4OSwgNDg5OTgsIAorICAgIDQ5MDAzLCA0OTAwNywgNDkwMTQsIDQ5MDE4LCA0OTAyNSwgNDkwMzMsIDQ5MDM4LCA0OTA0NiwgNDkwNTAsIDQ5MDU1LCAKKyAgICA0OTA1OSwgNDkwNjQsIDQ5MDY4LCA0OTA3MywgNDkwNzgsIDQ5MDg3LCA0OTA4OSwgNDkwOTIsIDQ5MDk1LCA0OTEwMiwgCisgICAgNDkxMDksIDQ5MTE0LCA0OTEyMiwgNDkxMjgsIDQ5MTM0LCA0OTEzOSwgNDkxNDIsIDQ5MTQ3LCA0OTE1MiwgNDkxNTcsIAorICAgIDQ5MTY1LCA0OTE2OSwgNDkxNzYsIDQ5MTg0LCA0OTE5MiwgNDkxOTcsIDQ5MjAyLCA0OTIwOCwgNDkyMTMsIDQ5MjE4LCAKKyAgICA0OTIyNCwgNDkyMjksIDQ5MjMyLCA0OTIzNiwgNDkyNDAsIDQ5MjQ3LCA0OTI1NiwgNDkyNjEsIDQ5MjcwLCA0OTI3OSwgCisgICAgNDkyODUsIDQ5MjkxLCA0OTI5NiwgNDkzMDEsIDQ5MzA2LCA0OTMxMSwgNDkzMTcsIDQ5MzIzLCA0OTMzMSwgNDkzMzksIAorICAgIDQ5MzQ1LCA0OTM1MSwgNDkzNTYsIDQ5MzYxLCA0OTM2OCwgNDkzNzUsIDQ5MzgxLCA0OTM4NCwgNDkzODcsIDQ5MzkxLCAKKyAgICA0OTM5NSwgNDkzOTksIDQ5NDA0LCA0OTQxMCwgNDk0MTYsIDQ5NDIzLCA0OTQzMCwgNDk0MzUsIDQ5NDM5LCA0OTQ0MywgCisgICAgNDk0NDcsIDQ5NDUxLCA0OTQ1NSwgNDk0NTksIDQ5NDYzLCA0OTQ2NywgNDk0NzEsIDQ5NDc1LCA0OTQ3OSwgNDk0ODMsIAorICAgIDQ5NDg3LCA0OTQ5MSwgNDk0OTUsIDQ5NDk5LCA0OTUwMywgNDk1MDcsIDQ5NTExLCA0OTUxNSwgNDk1MTksIDQ5NTIzLCAKKyAgICA0OTUyNywgNDk1MzEsIDQ5NTM1LCA0OTUzOSwgNDk1NDMsIDQ5NTQ3LCA0OTU1MSwgNDk1NTUsIDQ5NTU5LCA0OTU2MywgCisgICAgNDk1NjcsIDQ5NTcxLCA0OTU3NSwgNDk1NzksIDQ5NTgzLCA0OTU4NywgNDk1OTEsIDQ5NTk1LCA0OTU5OSwgNDk2MDMsIAorICAgIDQ5NjA3LCA0OTYxMSwgNDk2MTUsIDQ5NjE5LCA0OTYyMywgNDk2MjcsIDQ5NjMxLCA0OTYzNSwgNDk2MzksIDQ5NjQzLCAKKyAgICA0OTY0NywgNDk2NTEsIDQ5NjU1LCA0OTY1OSwgNDk2NjMsIDQ5NjY3LCA0OTY3MSwgNDk2NzUsIDQ5Njc5LCA0OTY4MywgCisgICAgNDk2ODcsIDQ5NjkxLCA0OTY5NSwgNDk2OTksIDQ5NzAzLCA0OTcwNywgNDk3MTEsIDQ5NzE1LCA0OTcxOSwgNDk3MjMsIAorICAgIDQ5NzI3LCA0OTczMSwgNDk3MzUsIDQ5NzM5LCA0OTc0MywgNDk3NDcsIDQ5NzUxLCA0OTc1NSwgNDk3NTksIDQ5NzYzLCAKKyAgICA0OTc2NywgNDk3NzEsIDQ5Nzc1LCA0OTc3OSwgNDk3ODMsIDQ5Nzg3LCA0OTc5MSwgNDk3OTUsIDQ5Nzk5LCA0OTgwMywgCisgICAgNDk4MDcsIDQ5ODExLCA0OTgxNSwgNDk4MTksIDQ5ODIzLCA0OTgyNywgNDk4MzEsIDQ5ODM1LCA0OTgzOSwgNDk4NDMsIAorICAgIDQ5ODQ3LCA0OTg1MSwgNDk4NTUsIDQ5ODU5LCA0OTg2MywgNDk4NjcsIDQ5ODcxLCA0OTg3NSwgNDk4NzksIDQ5ODgzLCAKKyAgICA0OTg4NywgNDk4OTEsIDQ5ODk1LCA0OTg5OSwgNDk5MDMsIDQ5OTA3LCA0OTkxMSwgNDk5MTUsIDQ5OTE5LCA0OTkyMywgCisgICAgNDk5MjcsIDQ5OTMxLCA0OTkzNSwgNDk5MzksIDQ5OTQzLCA0OTk0NywgNDk5NTEsIDQ5OTU1LCA0OTk1OSwgNDk5NjMsIAorICAgIDQ5OTY3LCA0OTk3MSwgNDk5NzUsIDQ5OTc5LCA0OTk4MywgNDk5ODcsIDQ5OTkxLCA0OTk5NSwgNDk5OTksIDUwMDAzLCAKKyAgICA1MDAwNywgNTAwMTEsIDUwMDE1LCA1MDAxOSwgNTAwMjMsIDUwMDI3LCA1MDAzMSwgNTAwMzUsIDUwMDM5LCA1MDA0MywgCisgICAgNTAwNDcsIDUwMDUxLCA1MDA1NSwgNTAwNTksIDUwMDYzLCA1MDA2NywgNTAwNzEsIDUwMDc1LCA1MDA3OSwgNTAwODMsIAorICAgIDUwMDg3LCA1MDA5MSwgNTAwOTUsIDUwMDk5LCA1MDEwMywgNTAxMDcsIDUwMTExLCA1MDExNSwgNTAxMTksIDUwMTIzLCAKKyAgICA1MDEyNywgNTAxMzEsIDUwMTM1LCA1MDEzOSwgNTAxNDMsIDUwMTQ3LCA1MDE1MSwgNTAxNTUsIDUwMTU5LCA1MDE2MywgCisgICAgNTAxNjcsIDUwMTcxLCA1MDE3NSwgNTAxNzksIDUwMTgzLCA1MDE4NywgNTAxOTEsIDUwMTk1LCA1MDE5OSwgNTAyMDMsIAorICAgIDUwMjA3LCA1MDIxMSwgNTAyMTUsIDUwMjE5LCA1MDIyMywgNTAyMjcsIDUwMjMxLCA1MDIzNSwgNTAyMzksIDUwMjQzLCAKKyAgICA1MDI0NywgNTAyNTEsIDUwMjU1LCA1MDI1OSwgNTAyNjMsIDUwMjY3LCA1MDI3MSwgNTAyNzUsIDUwMjc5LCA1MDI4MywgCisgICAgNTAyODcsIDUwMjkxLCA1MDI5NSwgNTAyOTksIDUwMzAzLCA1MDMwNywgNTAzMTEsIDUwMzE1LCA1MDMxOSwgNTAzMjMsIAorICAgIDUwMzI3LCA1MDMzMSwgNTAzMzUsIDUwMzM5LCA1MDM0MywgNTAzNDcsIDUwMzUxLCA1MDM1NSwgNTAzNTksIDUwMzYzLCAKKyAgICA1MDM2NywgNTAzNzEsIDUwMzc1LCA1MDM3OSwgNTAzODMsIDUwMzg3LCA1MDM5MSwgNTAzOTUsIDUwMzk5LCA1MDQwMywgCisgICAgNTA0MDcsIDUwNDExLCA1MDQxNSwgNTA0MTksIDUwNDIzLCA1MDQyNywgNTA0MzEsIDUwNDM1LCA1MDQzOSwgNTA0NDMsIAorICAgIDUwNDQ3LCA1MDQ1MSwgNTA0NTUsIDUwNDU5LCA1MDQ2NiwgNTA0NzQsIDUwNDgwLCA1MDQ4NiwgNTA0OTMsIDUwNTAwLCAKKyAgICA1MDUwNiwgNTA1MTIsIDUwNTE4LCA1MDUyNCwgNTA1MjksIDUwNTM0LCA1MDUzOSwgNTA1NDQsIDUwNTUwLCA1MDU1NiwgCisgICAgNTA1NjQsIDUwNTcxLCA1MDU3NywgNTA1ODMsIDUwNTkxLCA1MDYwMCwgNTA2MDcsIDUwNjE3LCA1MDYyOCwgNTA2MzEsIAorICAgIDUwNjM0LCA1MDYzOCwgNTA2NDIsIDUwNjQ5LCA1MDY1NiwgNTA2NjcsIDUwNjc4LCA1MDY4OCwgNTA2OTgsIDUwNzA1LCAKKyAgICA1MDcxMiwgNTA3MTksIDUwNzI2LCA1MDczNywgNTA3NDgsIDUwNzU5LCA1MDc3MCwgNTA3ODAsIDUwNzkwLCA1MDgwMiwgCisgICAgNTA4MTQsIDUwODI1LCA1MDgzNiwgNTA4NDgsIDUwODYwLCA1MDg2OSwgNTA4NzksIDUwODg5LCA1MDkwMCwgNTA5MTEsIAorICAgIDUwOTE4LCA1MDkyNSwgNTA5MzIsIDUwOTM5LCA1MDk0OSwgNTA5NTksIDUwOTY3LCA1MDk3NSwgNTA5ODIsIDUwOTg5LCAKKyAgICA1MDk5NiwgNTEwMDMsIDUxMDEwLCA1MTAxNSwgNTEwMjAsIDUxMDI2LCA1MTAzNCwgNTEwNDQsIDUxMDU0LCA1MTA2NCwgCisgICAgNTEwNzQsIDUxMDg0LCA1MTA5NCwgNTExMDQsIDUxMTE0LCA1MTEyNCwgNTExMzQsIDUxMTQ0LCA1MTE1NSwgNTExNjYsIAorICAgIDUxMTc2LCA1MTE4NiwgNTExOTcsIDUxMjA4LCA1MTIxOCwgNTEyMjgsIDUxMjM5LCA1MTI1MCwgNTEyNjAsIDUxMjcwLCAKKyAgICA1MTI4MSwgNTEyOTIsIDUxMzA4LCA1MTMyNywgNTEzNDMsIDUxMzYyLCA1MTM3OCwgNTEzOTQsIDUxNDEwLCA1MTQyNiwgCisgICAgNTE0MzcsIDUxNDQ5LCA1MTQ2MCwgNTE0NzIsIDUxNDkxLCA1MTUxMCwgNTE1MTgsIDUxNTI0LCA1MTUzMSwgNTE1MzgsIAorICAgIDUxNTQ1LCA1MTU1MiwgNTE1NTcsIDUxNTYzLCA1MTU2OCwgNTE1NzMsIDUxNTc5LCA1MTU4NCwgNTE1ODksIDUxNTk0LCAKKyAgICA1MTU5OSwgNTE2MDQsIDUxNjExLCA1MTYxNiwgNTE2MjMsIDUxNjI4LCA1MTYzMywgNTE2MzcsIDUxNjQxLCA1MTY0OCwgCisgICAgNTE2NTUsIDUxNjYyLCA1MTY2OSwgNTE2NzYsIDUxNjgzLCA1MTY5NiwgNTE3MDksIDUxNzIyLCA1MTczNSwgNTE3NDMsIAorICAgIDUxNzUxLCA1MTc1NywgNTE3NjMsIDUxNzcwLCA1MTc3NywgNTE3ODQsIDUxNzkxLCA1MTc5NSwgNTE4MDAsIDUxODA4LCAKKyAgICA1MTgxNiwgNTE4MjQsIDUxODMxLCA1MTgzNSwgNTE4NDMsIDUxODUxLCA1MTg1NSwgNTE4NTksIDUxODY0LCA1MTg3MSwgCisgICAgNTE4NzksIDUxODg3LCA1MTkwNiwgNTE5MjUsIDUxOTQ0LCA1MTk2MywgNTE5ODIsIDUyMDAxLCA1MjAyMCwgNTIwMzksIAorICAgIDUyMDQ1LCA1MjA1MiwgNTIwNjEsIDUyMDY5LCA1MjA3NywgNTIwODIsIDUyMDg1LCA1MjA4OCwgNTIwOTMsIDUyMDk2LCAKKyAgICA1MjExNSwgNTIxMjIsIDUyMTI4LCA1MjEzNCwgNTIxMzgsIDUyMTQxLCA1MjE0NCwgNTIxNDcsIDUyMTU5LCA1MjE3MiwgCisgICAgNTIxNzksIDUyMTg2LCA1MjE4OSwgNTIxOTMsIDUyMTk2LCA1MjIwMSwgNTIyMDYsIDUyMjExLCA1MjIxNywgNTIyMjYsIAorICAgIDUyMjMzLCA1MjI0MCwgNTIyNDgsIDUyMjU1LCA1MjI2MiwgNTIyNjUsIDUyMjcxLCA1MjI3NywgNTIyODAsIDUyMjgzLCAKKyAgICA1MjI4OCwgNTIyOTMsIDUyMjk5LCA1MjMwNSwgNTIzMDksIDUyMzE0LCA1MjMyMSwgNTIzMjUsIDUyMzMxLCA1MjMzNSwgCisgICAgNTIzMzksIDUyMzQ3LCA1MjM1OSwgNTIzNjgsIDUyMzcyLCA1MjM3NCwgNTIzODMsIDUyMzkyLCA1MjM5OCwgNTI0MDEsIAorICAgIDUyNDA3LCA1MjQxMywgNTI0MTgsIDUyNDIzLCA1MjQyOCwgNTI0MzMsIDUyNDM4LCA1MjQ0MywgNTI0NDUsIDUyNDUxLCAKKyAgICA1MjQ1NiwgNTI0NjMsIDUyNDY3LCA1MjQ3MywgNTI0NzYsIDUyNDgwLCA1MjQ4NywgNTI0OTQsIDUyNDk2LCA1MjQ5OCwgCisgICAgNTI1MDQsIDUyNTEwLCA1MjUxNiwgNTI1MjUsIDUyNTM0LCA1MjU0MSwgNTI1NDgsIDUyNTU0LCA1MjU2MCwgNTI1NjUsIAorICAgIDUyNTcwLCA1MjU3NSwgNTI1ODEsIDUyNTg3LCA1MjU5MiwgNTI1OTksIDUyNjAzLCA1MjYwNywgNTI2MjAsIDUyNjMzLCAKKyAgICA1MjY0NSwgNTI2NTQsIDUyNjYwLCA1MjY2NywgNTI2NzIsIDUyNjc3LCA1MjY4MiwgNTI2ODcsIDUyNjkyLCA1MjY5NCwgCisgICAgNTI3MDEsIDUyNzA4LCA1MjcxNSwgNTI3MjIsIDUyNzI5LCA1MjczNywgNTI3NDMsIDUyNzQ4LCA1Mjc1NCwgNTI3NjAsIAorICAgIDUyNzY2LCA1Mjc3MywgNTI3NzksIDUyNzg3LCA1Mjc5NSwgNTI4MDMsIDUyODExLCA1MjgxOCwgNTI4MjQsIDUyODMwLCAKKyAgICA1MjgzOSwgNTI4NDMsIDUyODUyLCA1Mjg2MSwgNTI4NzAsIDUyODc4LCA1Mjg4MiwgNTI4ODgsIDUyODk1LCA1MjkwMiwgCisgICAgNTI5MDYsIDUyOTEyLCA1MjkxOSwgNTI5MjQsIDUyOTI5LCA1MjkzNSwgNTI5NDAsIDUyOTQ1LCA1Mjk1MiwgNTI5NTksIAorICAgIDUyOTY0LCA1Mjk2OSwgNTI5NzcsIDUyOTg1LCA1Mjk5NSwgNTMwMDUsIDUzMDEyLCA1MzAxOSwgNTMwMjMsIDUzMDI3LCAKKyAgICA1MzAzOSwgNTMwNDUsIDUzMDUxLCA1MzA1NiwgNTMwNjEsIDUzMDY4LCA1MzA3NSwgNTMwODEsIDUzMDg3LCA1MzA5NiwgCisgICAgNTMxMDQsIDUzMTEyLCA1MzExOSwgNTMxMjYsIDUzMTMzLCA1MzEzOSwgNTMxNDYsIDUzMTUyLCA1MzE1OSwgNTMxNjYsIAorICAgIDUzMTczLCA1MzE4MCwgNTMxODYsIDUzMTkxLCA1MzIwMCwgNTMyMTAsIDUzMjE3LCA1MzIyNiwgNTMyMzIsIDUzMjM3LCAKKyAgICA1MzI0MiwgNTMyNTIsIDUzMjU4LCA1MzI2NCwgNTMyNzAsIDUzMjc4LCA1MzI4MywgNTMyOTAsIDUzMjk3LCA1MzMwOCwgCisgICAgNTMzMTUsIDUzMzIyLCA1MzMyOSwgNTMzMzYsIDUzMzQzLCA1MzM1MCwgNTMzNTcsIDUzMzY5LCA1MzM4MSwgNTMzOTIsIAorICAgIDUzNDAzLCA1MzQxNiwgNTM0MjksIDUzNDM0LCA1MzQzOSwgNTM0NDgsIDUzNDU3LCA1MzQ2NCwgNTM0NzEsIDUzNDgwLCAKKyAgICA1MzQ4OSwgNTM0OTcsIDUzNTA1LCA1MzUxMywgNTM1MjEsIDUzNTMxLCA1MzU0MSwgNTM1NTUsIDUzNTY5LCA1MzU3NywgCisgICAgNTM1ODUsIDUzNTk3LCA1MzYwOSwgNTM2MTcsIDUzNjI1LCA1MzYzNSwgNTM2NDUsIDUzNjUwLCA1MzY1NSwgNTM2NjQsIAorICAgIDUzNjczLCA1MzY3OCwgNTM2ODMsIDUzNjkxLCA1MzY5NywgNTM3MDMsIDUzNzExLCA1MzcxOSwgNTM3MzIsIDUzNzQ1LCAKKyAgICA1Mzc0OSwgNTM3NTMsIDUzNzYwLCA1Mzc2NywgNTM3NzQsIDUzNzgyLCA1Mzc5MCwgNTM3OTksIDUzODA4LCA1MzgxNCwgCisgICAgNTM4MjAsIDUzODI3LCA1MzgzNCwgNTM4NDEsIDUzODQ4LCA1Mzg1NywgNTM4NjYsIDUzODY5LCA1Mzg3MiwgNTM4NzcsIAorICAgIDUzODgyLCA1Mzg4OCwgNTM4OTQsIDUzOTAxLCA1MzkwOCwgNTM5MTgsIDUzOTI4LCA1MzkzNSwgNTM5NDIsIDUzOTUwLCAKKyAgICA1Mzk1OCwgNTM5NjYsIDUzOTc0LCA1Mzk4MiwgNTM5OTAsIDUzOTk2LCA1NDAwMiwgNTQwMDYsIDU0MDEwLCA1NDAxNywgCisgICAgNTQwMjQsIDU0MDI5LCA1NDAzNCwgNTQwMzksIDU0MDQ0LCA1NDA1MCwgNTQwNjQsIDU0MDcxLCA1NDA3OCwgNTQwODIsIAorICAgIDU0MDg0LCA1NDA4NiwgNTQwOTEsIDU0MDk2LCA1NDEwMSwgNTQxMDYsIDU0MTE0LCA1NDEyMSwgNTQxMjgsIDU0MTM2LCAKKyAgICA1NDE0OCwgNTQxNTYsIDU0MTY0LCA1NDE3NSwgNTQxNzksIDU0MTgzLCA1NDE4OSwgNTQxOTcsIDU0MjEwLCA1NDIxNywgCisgICAgNTQyMjQsIDU0MjMxLCA1NDIzNiwgNTQyNDMsIDU0MjUyLCA1NDI2MCwgNTQyNjYsIDU0MjcyLCA1NDI3OCwgNTQyODcsIAorICAgIDU0Mjk2LCA1NDMwNCwgNTQzMTMsIDU0MzE4LCA1NDMyMSwgNTQzMjYsIDU0MzMyLCA1NDMzOCwgNTQzNDQsIDU0MzUwLCAKKyAgICA1NDM1NCwgNTQzNTcsIDU0MzYxLCA1NDM2NSwgNTQzNzEsIDU0Mzc3LCA1NDM4MywgNTQzODksIDU0MzkzLCA1NDM5NywgCisgICAgNTQ0MDQsIDU0NDExLCA1NDQxOCwgNTQ0MjUsIDU0NDMyLCA1NDQzOSwgNTQ0NDksIDU0NDU5LCA1NDQ2NiwgNTQ0NzMsIAorICAgIDU0NDgxLCA1NDQ4OSwgNTQ0OTMsIDU0NDk4LCA1NDUwMywgNTQ1MDksIDU0NTE1LCA1NDUxOCwgNTQ1MjEsIDU0NTI0LCAKKyAgICA1NDUyNywgNTQ1MzEsIDU0NTM2LCA1NDU0MSwgNTQ1NDYsIDU0NTUxLCA1NDU1NiwgNTQ1NjAsIDU0NTY0LCA1NDU2OCwgCisgICAgNTQ1NzIsIDU0NTc2LCA1NDU4MCwgNTQ1ODQsIDU0NTkwLCA1NDU5NCwgNTQ2MDAsIDU0NjA1LCA1NDYxMiwgNTQ2MjAsIAorICAgIDU0NjI3LCA1NDYzNSwgNTQ2NDIsIDU0NjUwLCA1NDY1OSwgNTQ2NjYsIDU0Njc2LCA1NDY4NywgNTQ2OTMsIDU0NzAyLCAKKyAgICA1NDcwOCwgNTQ3MTcsIDU0NzI2LCA1NDczMiwgNTQ3MzgsIDU0NzQyLCA1NDc0NiwgNTQ3NTUsIDU0NzY0LCA1NDc3MSwgCisgICAgNTQ3NzgsIDU0Nzg3LCAwLCAwLCAwLCA1NDc5NiwgNTQ4MDEsIDU0ODA1LCA1NDgwOSwgNTQ4MTQsIDU0ODE5LCA1NDgyNCwgCisgICAgNTQ4MzIsIDU0ODQwLCA1NDg0MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgNTQ4NDcsIDU0ODUyLCA1NDg1NywgNTQ4NjIsIDU0ODY3LCA1NDg3MiwgNTQ4NzcsIDU0ODgyLCAKKyAgICA1NDg4NywgNTQ4OTIsIDU0ODk3LCA1NDkwMywgNTQ5MDcsIDU0OTEyLCA1NDkxNywgNTQ5MjIsIDU0OTI3LCA1NDkzMiwgCisgICAgNTQ5MzcsIDU0OTQyLCA1NDk0NywgNTQ5NTIsIDU0OTU3LCA1NDk2MiwgNTQ5NjcsIDU0OTcyLCA1NDk3NywgNTQ5ODIsIAorICAgIDU0OTg3LCA1NDk5MiwgNTQ5OTcsIDU1MDAyLCA1NTAwNywgNTUwMTIsIDU1MDE3LCA1NTAyMywgNTUwMjgsIDU1MDM0LCAKKyAgICA1NTA0MywgNTUwNDgsIDU1MDU2LCA1NTA2MywgNTUwNzIsIDU1MDc3LCA1NTA4MiwgNTUwODcsIDU1MDkzLCAwLCA1NTEwMCwgCisgICAgNTUxMDUsIDU1MTEwLCA1NTExNSwgNTUxMjAsIDU1MTI1LCA1NTEzMCwgNTUxMzUsIDU1MTQwLCA1NTE0NSwgNTUxNTAsIAorICAgIDU1MTU2LCA1NTE2MCwgNTUxNjUsIDU1MTcwLCA1NTE3NSwgNTUxODAsIDU1MTg1LCA1NTE5MCwgNTUxOTUsIDU1MjAwLCAKKyAgICA1NTIwNSwgNTUyMTAsIDU1MjE1LCA1NTIyMCwgNTUyMjUsIDU1MjMwLCA1NTIzNSwgNTUyNDAsIDU1MjQ1LCA1NTI1MCwgCisgICAgNTUyNTUsIDU1MjYwLCA1NTI2NSwgNTUyNzAsIDU1Mjc2LCA1NTI4MSwgNTUyODcsIDU1Mjk2LCA1NTMwMSwgNTUzMDksIAorICAgIDU1MzE2LCA1NTMyNSwgNTUzMzAsIDU1MzM1LCA1NTM0MCwgNTUzNDYsIDAsIDU1MzUzLCA1NTM2MSwgNTUzNjksIDU1Mzc4LCAKKyAgICA1NTM4NSwgNTUzOTMsIDU1Mzk5LCA1NTQwOCwgNTU0MTYsIDU1NDI0LCA1NTQzMiwgNTU0NDAsIDU1NDQ4LCA1NTQ1NiwgCisgICAgNTU0NjEsIDU1NDY4LCA1NTQ3NCwgNTU0ODEsIDU1NDg5LCA1NTQ5NiwgNTU1MDMsIDU1NTExLCA1NTUxNywgNTU1MjMsIAorICAgIDU1NTMwLCA1NTUzNywgNTU1NDcsIDU1NTU3LCA1NTU2NCwgNTU1NzEsIDU1NTc2LCA1NTU4NiwgNTU1OTYsIDU1NjAxLCAKKyAgICA1NTYwNiwgNTU2MTEsIDU1NjE2LCA1NTYyMSwgNTU2MjYsIDU1NjMxLCA1NTYzNiwgNTU2NDEsIDU1NjQ2LCA1NTY1MSwgCisgICAgNTU2NTYsIDU1NjYxLCA1NTY2NiwgNTU2NzEsIDU1Njc2LCA1NTY4MSwgNTU2ODYsIDU1NjkxLCA1NTY5NiwgNTU3MDEsIAorICAgIDU1NzA2LCA1NTcxMSwgNTU3MTYsIDU1NzIxLCA1NTcyNiwgNTU3MzEsIDU1NzM2LCA1NTc0MSwgNTU3NDYsIDU1NzUwLCAKKyAgICA1NTc1NCwgNTU3NTksIDU1NzY0LCA1NTc2OSwgNTU3NzQsIDU1Nzc5LCA1NTc4NCwgNTU3ODksIDU1Nzk0LCA1NTc5OSwgCisgICAgNTU4MDQsIDU1ODA5LCA1NTgxNCwgNTU4MTksIDU1ODI0LCA1NTgyOSwgNTU4MzQsIDU1ODM5LCA1NTg0NCwgNTU4NTEsIAorICAgIDU1ODU4LCA1NTg2NSwgNTU4NzIsIDU1ODc5LCA1NTg4NiwgNTU4OTMsIDU1OTAwLCA1NTkwNywgNTU5MTQsIDU1OTIxLCAKKyAgICA1NTkyOCwgNTU5MzUsIDU1OTQyLCA1NTk0NywgNTU5NTIsIDU1OTU5LCA1NTk2NiwgNTU5NzMsIDU1OTgwLCA1NTk4NywgCisgICAgNTU5OTQsIDU2MDAxLCA1NjAwOCwgNTYwMTUsIDU2MDIyLCA1NjAyOSwgNTYwMzYsIDU2MDQyLCA1NjA0OCwgNTYwNTQsIAorICAgIDU2MDYwLCA1NjA2NywgNTYwNzQsIDU2MDgxLCA1NjA4OCwgNTYwOTUsIDU2MTAyLCA1NjEwOSwgNTYxMTYsIDU2MTIzLCAKKyAgICA1NjEzMCwgNTYxMzgsIDU2MTQ2LCA1NjE1NCwgNTYxNjIsIDU2MTcwLCA1NjE3OCwgNTYxODYsIDU2MTk0LCA1NjE5OCwgCisgICAgNTYyMDQsIDU2MjEwLCA1NjIxNCwgNTYyMjAsIDU2MjI2LCA1NjIzMiwgNTYyMzksIDU2MjQ2LCA1NjI1MywgNTYyNjAsIAorICAgIDU2MjY1LCA1NjI3MSwgNTYyNzcsIDU2Mjg0LCAwLCAwLCAwLCAwLCAwLCA1NjI5MSwgNTYyOTksIDU2MzA4LCA1NjMxNywgCisgICAgNTYzMjUsIDU2MzMxLCA1NjMzNiwgNTYzNDEsIDU2MzQ2LCA1NjM1MSwgNTYzNTYsIDU2MzYxLCA1NjM2NiwgNTYzNzEsIAorICAgIDU2Mzc2LCA1NjM4MSwgNTYzODYsIDU2MzkxLCA1NjM5NiwgNTY0MDEsIDU2NDA2LCA1NjQxMSwgNTY0MTYsIDU2NDIxLCAKKyAgICA1NjQyNiwgNTY0MzEsIDU2NDM2LCA1NjQ0MSwgNTY0NDYsIDU2NDUxLCA1NjQ1NiwgNTY0NjEsIDU2NDY2LCA1NjQ3MSwgCisgICAgNTY0NzYsIDU2NDgxLCA1NjQ4NiwgNTY0OTEsIDU2NDk2LCA1NjUwMSwgNTY1MDYsIDU2NTExLCA1NjUxNiwgNTY1MjEsIAorICAgIDU2NTI2LCAwLCA1NjUzMSwgMCwgMCwgMCwgMCwgMCwgNTY1MzYsIDAsIDAsIDU2NTQxLCA1NjU0NSwgNTY1NTAsIDU2NTU1LCAKKyAgICA1NjU2MCwgNTY1NjUsIDU2NTc0LCA1NjU3OSwgNTY1ODQsIDU2NTg5LCA1NjU5NCwgNTY1OTksIDU2NjA0LCA1NjYwOSwgCisgICAgNTY2MTQsIDU2NjIxLCA1NjYyNiwgNTY2MzEsIDU2NjQwLCA1NjY0NywgNTY2NTIsIDU2NjU3LCA1NjY2MiwgNTY2NjksIAorICAgIDU2Njc0LCA1NjY4MSwgNTY2ODYsIDU2NjkxLCA1NjY5OCwgNTY3MDUsIDU2NzEwLCA1NjcxNSwgNTY3MjAsIDU2NzI3LCAKKyAgICA1NjczNCwgNTY3MzksIDU2NzQ0LCA1Njc0OSwgNTY3NTQsIDU2NzU5LCA1Njc2NiwgNTY3NzMsIDU2Nzc4LCA1Njc4MywgCisgICAgNTY3ODgsIDU2NzkzLCA1Njc5OCwgNTY4MDMsIDU2ODA4LCA1NjgxMywgNTY4MTgsIDU2ODIzLCA1NjgyOCwgNTY4MzUsIAorICAgIDU2ODQwLCA1Njg0NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTY4NTAsIDU2ODU3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCA1Njg2MiwgNTY4NjcsIDU2ODcxLCA1Njg3NSwgNTY4NzksIDU2ODgzLCA1Njg4NywgNTY4OTEsIAorICAgIDU2ODk1LCA1Njg5OSwgNTY5MDMsIDU2OTA3LCA1NjkxMywgNTY5MTcsIDU2OTIxLCA1NjkyNSwgNTY5MjksIDU2OTMzLCAKKyAgICA1NjkzNywgNTY5NDEsIDU2OTQ1LCA1Njk0OSwgNTY5NTMsIDU2OTU3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA1Njk2MSwgNTY5NjUsIDU2OTY5LCA1Njk3MywgNTY5NzcsIDU2OTgxLCA1Njk4NSwgMCwgNTY5ODksIDU2OTkzLCA1Njk5NywgCisgICAgNTcwMDEsIDU3MDA1LCA1NzAwOSwgNTcwMTMsIDAsIDU3MDE3LCA1NzAyMSwgNTcwMjUsIDU3MDI5LCA1NzAzMywgNTcwMzcsIAorICAgIDU3MDQxLCAwLCA1NzA0NSwgNTcwNDksIDU3MDUzLCA1NzA1NywgNTcwNjEsIDU3MDY1LCA1NzA2OSwgMCwgNTcwNzMsIAorICAgIDU3MDc3LCA1NzA4MSwgNTcwODUsIDU3MDg5LCA1NzA5MywgNTcwOTcsIDAsIDU3MTAxLCA1NzEwNSwgNTcxMDksIDU3MTEzLCAKKyAgICA1NzExNywgNTcxMjEsIDU3MTI1LCAwLCA1NzEyOSwgNTcxMzMsIDU3MTM3LCA1NzE0MSwgNTcxNDUsIDU3MTQ5LCA1NzE1MywgCisgICAgMCwgNTcxNTcsIDU3MTYxLCA1NzE2NSwgNTcxNjksIDU3MTczLCA1NzE3NywgNTcxODEsIDAsIDU3MTg1LCA1NzE5MCwgCisgICAgNTcxOTUsIDU3MjAwLCA1NzIwNSwgNTcyMTAsIDU3MjE1LCA1NzIxOSwgNTcyMjQsIDU3MjI5LCA1NzIzNCwgNTcyMzgsIAorICAgIDU3MjQzLCA1NzI0OCwgNTcyNTMsIDU3MjU4LCA1NzI2MiwgNTcyNjcsIDU3MjcyLCA1NzI3NywgNTcyODIsIDU3Mjg3LCAKKyAgICA1NzI5MiwgNTcyOTYsIDU3MzAxLCA1NzMwNiwgNTczMTMsIDU3MzE4LCA1NzMyMywgNTczMjksIDU3MzM2LCA1NzM0MywgCisgICAgNTczNTIsIDU3MzU5LCA1NzM2OCwgNTczNzIsIDU3Mzc2LCA1NzM4MiwgNTczODgsIDU3Mzk0LCA1NzQwMiwgNTc0MDgsIAorICAgIDU3NDEyLCA1NzQxNiwgNTc0MjAsIDU3NDI2LCA1NzQzMiwgNTc0MzYsIDU3NDM4LCA1NzQ0MiwgNTc0NDgsIDU3NDUwLCAKKyAgICA1NzQ1NCwgNTc0NTgsIDU3NDYyLCA1NzQ2OCwgNTc0NzMsIDU3NDc3LCA1NzQ4MSwgNTc0ODYsIDU3NDkyLCA1NzQ5NywgCisgICAgNTc1MDIsIDU3NTA3LCA1NzUxMiwgNTc1MTksIDU3NTI2LCA1NzUzMSwgNTc1MzYsIDU3NTQxLCA1NzU0NiwgNTc1NTEsIAorICAgIDU3NTU2LCA1NzU2MCwgNTc1NjQsIDU3NTcxLCA1NzU3OCwgNTc1ODQsIDU3NTg4LCA1NzU5MywgNTc1OTUsIDU3NTk5LCAKKyAgICA1NzYwNywgNTc2MTEsIDU3NjE1LCA1NzYxOSwgNTc2MjMsIDU3NjI5LCA1NzYzNSwgNTc2MzksIDU3NjQ1LCA1NzY0OSwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTc2NTMsIDU3NjU3LCAKKyAgICA1NzY2MSwgNTc2NjYsIDU3NjcxLCA1NzY3NiwgNTc2ODAsIDU3Njg0LCA1NzY4OCwgNTc2OTMsIDU3Njk4LCA1NzcwMiwgCisgICAgNTc3MDYsIDU3NzEwLCA1NzcxNCwgNTc3MTksIDU3NzI0LCA1NzcyOSwgNTc3MzQsIDU3NzM4LCA1Nzc0MiwgNTc3NDcsIAorICAgIDU3NzUyLCA1Nzc1NywgNTc3NjIsIDU3NzY2LCAwLCA1Nzc3MCwgNTc3NzQsIDU3Nzc4LCA1Nzc4MiwgNTc3ODYsIDU3NzkwLCAKKyAgICA1Nzc5NCwgNTc3OTksIDU3ODA0LCA1NzgwOCwgNTc4MTMsIDU3ODE4LCA1NzgyNywgNTc4MzEsIDU3ODM1LCA1NzgzOSwgCisgICAgNTc4NDYsIDU3ODUwLCA1Nzg1NSwgNTc4NjAsIDU3ODY0LCA1Nzg2OCwgNTc4NzQsIDU3ODc5LCA1Nzg4NCwgNTc4ODksIAorICAgIDU3ODk0LCA1Nzg5OCwgNTc5MDIsIDU3OTA2LCA1NzkxMCwgNTc5MTQsIDU3OTE5LCA1NzkyNCwgNTc5MjgsIDU3OTMyLCAKKyAgICA1NzkzNywgNTc5NDIsIDU3OTQ3LCA1Nzk1MSwgNTc5NTUsIDU3OTYwLCA1Nzk2NSwgNTc5NzEsIDU3OTc3LCA1Nzk4MSwgCisgICAgNTc5ODcsIDU3OTkzLCA1Nzk5NywgNTgwMDMsIDU4MDA5LCA1ODAxNCwgNTgwMTksIDU4MDIzLCA1ODAyOSwgNTgwMzMsIAorICAgIDU4MDM3LCA1ODA0MywgNTgwNDksIDU4MDU0LCA1ODA1OSwgNTgwNjMsIDU4MDY3LCA1ODA3NSwgNTgwODEsIDU4MDg3LCAKKyAgICA1ODA5MywgNTgwOTgsIDU4MTAzLCA1ODEwOCwgNTgxMTQsIDU4MTE4LCA1ODEyNCwgNTgxMjgsIDU4MTMyLCA1ODEzOCwgCisgICAgNTgxNDQsIDU4MTUwLCA1ODE1NiwgNTgxNjIsIDU4MTY4LCA1ODE3NCwgNTgxODAsIDU4MTg2LCA1ODE5MiwgNTgxOTgsIAorICAgIDU4MjA0LCA1ODIwOCwgNTgyMTQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU4MjIwLCA1ODIyMywgCisgICAgNTgyMjcsIDU4MjMxLCA1ODIzNSwgNTgyMzksIDU4MjQyLCA1ODI0NSwgNTgyNDksIDU4MjUzLCA1ODI1NywgNTgyNjEsIAorICAgIDU4MjY0LCA1ODI2OSwgNTgyNzMsIDU4Mjc3LCA1ODI4MSwgNTgyODYsIDU4MjkwLCA1ODI5NCwgNTgyOTgsIDU4MzAyLCAKKyAgICA1ODMwOCwgNTgzMTQsIDU4MzE4LCA1ODMyMiwgNTgzMjYsIDU4MzMwLCA1ODMzNCwgNTgzMzgsIDU4MzQyLCA1ODM0NiwgCisgICAgNTgzNTAsIDU4MzU0LCA1ODM1OCwgNTgzNjQsIDU4MzY4LCA1ODM3MiwgNTgzNzYsIDU4MzgwLCA1ODM4NCwgNTgzODgsIAorICAgIDU4MzkyLCA1ODM5NiwgNTg0MDAsIDU4NDA0LCA1ODQwOCwgNTg0MTIsIDU4NDE2LCA1ODQyMCwgNTg0MjQsIDU4NDI4LCAKKyAgICA1ODQzNCwgNTg0NDAsIDU4NDQ1LCA1ODQ1MCwgNTg0NTQsIDU4NDU4LCA1ODQ2MiwgNTg0NjYsIDU4NDcwLCA1ODQ3NCwgCisgICAgNTg0NzgsIDU4NDgyLCA1ODQ4NiwgNTg0OTAsIDU4NDk0LCA1ODQ5OCwgNTg1MDIsIDU4NTA2LCA1ODUxMCwgNTg1MTQsIAorICAgIDU4NTE4LCA1ODUyMiwgNTg1MjYsIDU4NTMwLCA1ODUzNCwgNTg1MzgsIDU4NTQyLCA1ODU0NiwgNTg1NTIsIDU4NTU2LCAKKyAgICA1ODU2MCwgNTg1NjQsIDU4NTY4LCA1ODU3MiwgNTg1NzYsIDU4NTgwLCA1ODU4NCwgNTg1ODksIDU4NTk2LCA1ODYwMCwgCisgICAgNTg2MDQsIDU4NjA4LCA1ODYxMiwgNTg2MTYsIDU4NjIwLCA1ODYyNCwgNTg2MjgsIDU4NjMyLCA1ODYzNiwgNTg2NDAsIAorICAgIDU4NjQ0LCA1ODY1MSwgNTg2NTUsIDU4NjYxLCA1ODY2NSwgNTg2NjksIDU4NjczLCA1ODY3NywgNTg2ODEsIDU4Njg0LCAKKyAgICA1ODY4OCwgNTg2OTIsIDU4Njk2LCA1ODcwMCwgNTg3MDQsIDU4NzA4LCA1ODcxMiwgNTg3MTYsIDU4NzIwLCA1ODcyNCwgCisgICAgNTg3MjgsIDU4NzMyLCA1ODczNiwgNTg3NDAsIDU4NzQ0LCA1ODc0OCwgNTg3NTIsIDU4NzU2LCA1ODc2MCwgNTg3NjQsIAorICAgIDU4NzY4LCA1ODc3MiwgNTg3NzYsIDU4NzgwLCA1ODc4NCwgNTg3ODgsIDU4NzkyLCA1ODc5NiwgNTg4MDAsIDU4ODA0LCAKKyAgICA1ODgwOCwgNTg4MTIsIDU4ODE4LCA1ODgyMiwgNTg4MjYsIDU4ODMwLCA1ODgzNCwgNTg4MzgsIDU4ODQyLCA1ODg0NiwgCisgICAgNTg4NTAsIDU4ODU0LCA1ODg1OCwgNTg4NjIsIDU4ODY2LCA1ODg3MCwgNTg4NzQsIDU4ODc4LCA1ODg4MiwgNTg4ODYsIAorICAgIDU4ODkwLCA1ODg5NCwgNTg4OTgsIDU4OTAyLCA1ODkwNiwgNTg5MTAsIDU4OTE0LCA1ODkxOCwgNTg5MjIsIDU4OTI2LCAKKyAgICA1ODkzNCwgNTg5MzgsIDU4OTQyLCA1ODk0NiwgNTg5NTAsIDU4OTU0LCA1ODk2MCwgNTg5NjQsIDU4OTY4LCA1ODk3MiwgCisgICAgNTg5NzYsIDU4OTgwLCA1ODk4NCwgNTg5ODgsIDU4OTkyLCA1ODk5NiwgNTkwMDAsIDU5MDA0LCA1OTAwOCwgNTkwMTIsIAorICAgIDU5MDE4LCA1OTAyMiwgNTkwMjYsIDU5MDMwLCA1OTAzNCwgNTkwMzgsIDU5MDQyLCA1OTA0NiwgNTkwNTAsIDU5MDU0LCAKKyAgICA1OTA1OCwgNTkwNjIsIDU5MDY2LCA1OTA3MCwgNTkwNzQsIDU5MDc4LCA1OTA4MiwgNTkwODYsIDU5MDkwLCA1OTA5NCwgCisgICAgNTkwOTgsIDU5MTAyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCA1OTEwNiwgNTkxMTUsIDU5MTIzLCA1OTEzNSwgNTkxNDYsIDU5MTU0LCA1OTE2MywgNTkxNzIsIAorICAgIDU5MTgyLCA1OTE5NCwgNTkyMDYsIDU5MjE4LCAwLCAwLCAwLCAwLCA1OTIyNCwgNTkyMjcsIDU5MjMwLCA1OTIzNSwgCisgICAgNTkyMzgsIDU5MjQ1LCA1OTI0OSwgNTkyNTMsIDU5MjU3LCA1OTI2MSwgNTkyNjUsIDU5MjcwLCA1OTI3NSwgNTkyNzksIAorICAgIDU5MjgzLCA1OTI4OCwgNTkyOTMsIDU5Mjk4LCA1OTMwMywgNTkzMDYsIDU5MzA5LCA1OTMxNSwgNTkzMjEsIDU5MzI2LCAKKyAgICA1OTMzMSwgNTkzMzgsIDU5MzQ1LCA1OTM0OSwgNTkzNTMsIDU5MzU3LCA1OTM2NSwgNTkzNzEsIDU5Mzc4LCA1OTM4MywgCisgICAgNTkzODgsIDU5MzkzLCA1OTM5OCwgNTk0MDMsIDU5NDA4LCA1OTQxMywgNTk0MTgsIDU5NDIzLCA1OTQyOCwgNTk0MzMsIAorICAgIDU5NDM4LCA1OTQ0MywgNTk0NDgsIDU5NDU0LCA1OTQ1OSwgNTk0NjMsIDU5NDY5LCA1OTQ4MCwgNTk0OTAsIDU5NTA1LCAKKyAgICA1OTUxNSwgNTk1MTksIDU5NTI5LCA1OTUzNSwgNTk1NDEsIDU5NTQ3LCA1OTU1MiwgNTk1NTUsIDU5NTYwLCA1OTU2NCwgMCwgCisgICAgNTk1NzAsIDU5NTc0LCA1OTU3NywgNTk1ODEsIDU5NTg0LCA1OTU4OCwgNTk1OTEsIDU5NTk1LCA1OTU5OCwgNTk2MDIsIAorICAgIDU5NjA1LCA1OTYwOCwgNTk2MTIsIDU5NjE2LCA1OTYyMCwgNTk2MjQsIDU5NjI4LCA1OTYzMiwgNTk2MzYsIDU5NjQwLCAKKyAgICA1OTY0NCwgNTk2NDcsIDU5NjUxLCA1OTY1NSwgNTk2NTksIDU5NjYzLCA1OTY2NywgNTk2NzEsIDU5Njc1LCA1OTY3OSwgCisgICAgNTk2ODMsIDU5Njg3LCA1OTY5MSwgNTk2OTUsIDU5Njk5LCA1OTcwNCwgNTk3MDgsIDU5NzEyLCA1OTcxNiwgNTk3MjAsIAorICAgIDU5NzIzLCA1OTcyNywgNTk3MzAsIDU5NzM0LCA1OTczOCwgNTk3NDIsIDU5NzQ2LCA1OTc0OSwgNTk3NTMsIDU5NzU2LCAKKyAgICA1OTc2MCwgNTk3NjQsIDU5NzY4LCA1OTc3MiwgNTk3NzYsIDU5NzgwLCA1OTc4NCwgNTk3ODgsIDU5NzkyLCA1OTc5NiwgCisgICAgNTk4MDAsIDU5ODA0LCA1OTgwNywgNTk4MTEsIDU5ODE1LCA1OTgxOSwgNTk4MjMsIDU5ODI3LCA1OTgzMCwgNTk4MzUsIAorICAgIDU5ODM5LCA1OTg0NCwgNTk4NDgsIDU5ODUxLCA1OTg1NSwgNTk4NTksIDU5ODYzLCA1OTg2NywgNTk4NzIsIDU5ODc2LCAKKyAgICA1OTg4MCwgNTk4ODQsIDU5ODg4LCA1OTg5MiwgNTk4OTYsIDU5OTAwLCAwLCAwLCA1OTkwNSwgNTk5MTMsIDU5OTIxLCAKKyAgICA1OTkyOCwgNTk5MzUsIDU5OTM5LCA1OTk0NSwgNTk5NTAsIDU5OTU1LCA1OTk1OSwgNTk5NjIsIDU5OTY2LCA1OTk2OSwgCisgICAgNTk5NzMsIDU5OTc2LCA1OTk4MCwgNTk5ODMsIDU5OTg3LCA1OTk5MCwgNTk5OTMsIDU5OTk3LCA2MDAwMSwgNjAwMDUsIAorICAgIDYwMDA5LCA2MDAxMywgNjAwMTcsIDYwMDIxLCA2MDAyNSwgNjAwMjksIDYwMDMyLCA2MDAzNiwgNjAwNDAsIDYwMDQ0LCAKKyAgICA2MDA0OCwgNjAwNTIsIDYwMDU2LCA2MDA2MCwgNjAwNjQsIDYwMDY4LCA2MDA3MiwgNjAwNzYsIDYwMDgwLCA2MDA4NCwgCisgICAgNjAwODksIDYwMDkzLCA2MDA5NywgNjAxMDEsIDYwMTA1LCA2MDEwOCwgNjAxMTIsIDYwMTE1LCA2MDExOSwgNjAxMjMsIAorICAgIDYwMTI3LCA2MDEzMSwgNjAxMzQsIDYwMTM4LCA2MDE0MSwgNjAxNDUsIDYwMTQ5LCA2MDE1MywgNjAxNTcsIDYwMTYxLCAKKyAgICA2MDE2NSwgNjAxNjksIDYwMTczLCA2MDE3NywgNjAxODEsIDYwMTg1LCA2MDE4OSwgNjAxOTIsIDYwMTk2LCA2MDIwMCwgCisgICAgNjAyMDQsIDYwMjA4LCA2MDIxMiwgNjAyMTUsIDYwMjIwLCA2MDIyNCwgNjAyMjksIDYwMjMzLCA2MDIzNiwgNjAyNDAsIAorICAgIDYwMjQ0LCA2MDI0OCwgNjAyNTIsIDYwMjU3LCA2MDI2MSwgNjAyNjUsIDYwMjY5LCA2MDI3MywgNjAyNzcsIDYwMjgxLCAKKyAgICA2MDI4NSwgNjAyOTAsIDYwMjk0LCA2MDI5OCwgNjAzMDIsIDYwMzA2LCA2MDMxMSwgNjAzMTgsIDYwMzIyLCA2MDMyOCwgMCwgCisgICAgMCwgMCwgMCwgMCwgNjAzMzMsIDYwMzM4LCA2MDM0MywgNjAzNDcsIDYwMzUyLCA2MDM1NywgNjAzNjIsIDYwMzY3LCAKKyAgICA2MDM3MSwgNjAzNzYsIDYwMzgxLCA2MDM4NiwgNjAzOTEsIDYwMzk2LCA2MDQwMSwgNjA0MDYsIDYwNDExLCA2MDQxNiwgCisgICAgNjA0MjAsIDYwNDI1LCA2MDQzMCwgNjA0MzUsIDYwNDM5LCA2MDQ0MywgNjA0NDcsIDYwNDUyLCA2MDQ1NywgNjA0NjIsIAorICAgIDYwNDY3LCA2MDQ3MiwgNjA0NzcsIDYwNDgyLCA2MDQ4NywgNjA0OTIsIDYwNDk3LCA2MDUwMSwgNjA1MDUsIDYwNTEwLCAKKyAgICA2MDUxNSwgNjA1MjAsIDYwNTI1LCAwLCAwLCAwLCA2MDUzMCwgNjA1MzQsIDYwNTM4LCA2MDU0MiwgNjA1NDYsIDYwNTUwLCAKKyAgICA2MDU1NCwgNjA1NTgsIDYwNTYyLCA2MDU2NiwgNjA1NzAsIDYwNTc0LCA2MDU3OCwgNjA1ODIsIDYwNTg2LCA2MDU5MCwgCisgICAgNjA1OTQsIDYwNTk4LCA2MDYwMiwgNjA2MDYsIDYwNjEwLCA2MDYxNCwgNjA2MTgsIDYwNjIyLCA2MDYyNiwgNjA2MzAsIAorICAgIDYwNjM0LCA2MDYzOCwgNjA2NDIsIDYwNjQ2LCA2MDY1MCwgNjA2NTMsIDYwNjU3LCA2MDY2MCwgNjA2NjQsIDYwNjY4LCAKKyAgICA2MDY3MSwgNjA2NzUsIDYwNjc5LCA2MDY4MiwgNjA2ODYsIDYwNjkwLCA2MDY5NCwgNjA2OTgsIDYwNzAxLCA2MDcwNSwgCisgICAgNjA3MDksIDYwNzEzLCA2MDcxNywgNjA3MjEsIDYwNzI1LCA2MDcyOCwgNjA3MzEsIDYwNzM1LCA2MDczOSwgNjA3NDMsIAorICAgIDYwNzQ3LCA2MDc1MSwgNjA3NTUsIDYwNzU5LCA2MDc2MywgNjA3NjcsIDYwNzcxLCA2MDc3NSwgNjA3NzksIDYwNzgzLCAKKyAgICA2MDc4NywgNjA3OTEsIDYwNzk1LCA2MDc5OSwgNjA4MDMsIDYwODA3LCA2MDgxMSwgNjA4MTUsIDYwODE5LCA2MDgyMywgCisgICAgNjA4MjcsIDYwODMxLCA2MDgzNSwgNjA4MzksIDYwODQzLCA2MDg0NywgNjA4NTEsIDYwODU1LCA2MDg1OSwgNjA4NjMsIAorICAgIDYwODY3LCA2MDg3MSwgNjA4NzUsIDYwODc5LCA2MDg4MywgNjA4ODcsIDYwODkxLCA2MDg5NSwgMCwgNjA4OTksIDYwOTA1LCAKKyAgICA2MDkxMSwgNjA5MTYsIDYwOTIxLCA2MDkyNiwgNjA5MzIsIDYwOTM4LCA2MDk0NCwgNjA5NTAsIDYwOTU2LCA2MDk2MiwgCisgICAgNjA5NjgsIDYwOTc0LCA2MDk4MCwgNjA5ODYsIDYwOTkyLCA2MDk5NywgNjEwMDIsIDYxMDA3LCA2MTAxMiwgNjEwMTcsIAorICAgIDYxMDIyLCA2MTAyNywgNjEwMzIsIDYxMDM3LCA2MTA0MiwgNjEwNDcsIDYxMDUyLCA2MTA1NywgNjEwNjIsIDYxMDY3LCAKKyAgICA2MTA3MiwgNjEwNzcsIDYxMDgyLCA2MTA4NywgNjEwOTIsIDYxMDk4LCA2MTEwNCwgNjExMTAsIDYxMTE2LCA2MTEyMSwgCisgICAgNjExMjYsIDAsIDAsIDAsIDAsIDAsIDYxMTMxLCA2MTEzNiwgNjExNDEsIDYxMTQ2LCA2MTE1MSwgNjExNTYsIDYxMTYxLCAKKyAgICA2MTE2NiwgNjExNzEsIDYxMTc2LCA2MTE4MSwgNjExODYsIDYxMTkxLCA2MTE5NiwgNjEyMDEsIDYxMjA2LCA2MTIxMSwgCisgICAgNjEyMTYsIDYxMjIxLCA2MTIyNiwgNjEyMzEsIDYxMjM2LCA2MTI0MSwgNjEyNDYsIDYxMjUxLCA2MTI1NiwgNjEyNjEsIAorICAgIDYxMjY2LCA2MTI3MSwgNjEyNzYsIDYxMjgxLCA2MTI4NiwgNjEyOTEsIDYxMjk2LCA2MTMwMSwgNjEzMDYsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDYxMzExLCA2MTMxNiwgNjEzMjEsIDYxMzI2LCA2MTMzMCwgNjEzMzUsIAorICAgIDYxMzM5LCA2MTM0NCwgNjEzNDksIDYxMzU0LCA2MTM1OSwgNjEzNjQsIDYxMzY4LCA2MTM3MywgNjEzNzgsIDYxMzgzLCAKKyAgICA2MTM4OCwgNjEzOTIsIDYxMzk2LCA2MTQwMCwgNjE0MDQsIDYxNDA4LCA2MTQxMiwgNjE0MTYsIDYxNDIwLCA2MTQyNCwgCisgICAgNjE0MjgsIDYxNDMyLCA2MTQzNiwgNjE0NDAsIDYxNDQ0LCA2MTQ0OSwgNjE0NTQsIDYxNDU5LCA2MTQ2NCwgNjE0NjksIAorICAgIDYxNDc0LCA2MTQ3OSwgNjE0ODQsIDYxNDg5LCA2MTQ5NCwgNjE0OTksIDYxNTA0LCA2MTUwOSwgNjE1MTQsIDYxNTE5LCAKKyAgICA2MTUyNSwgMCwgNjE1MzIsIDYxNTM1LCA2MTUzOCwgNjE1NDEsIDYxNTQ0LCA2MTU0NywgNjE1NTAsIDYxNTUzLCA2MTU1NiwgCisgICAgNjE1NTksIDYxNTYzLCA2MTU2NywgNjE1NzEsIDYxNTc1LCA2MTU3OSwgNjE1ODMsIDYxNTg3LCA2MTU5MSwgNjE1OTUsIAorICAgIDYxNTk5LCA2MTYwMywgNjE2MDcsIDYxNjExLCA2MTYxNSwgNjE2MTksIDYxNjIzLCA2MTYyNywgNjE2MzEsIDYxNjM1LCAKKyAgICA2MTYzOSwgNjE2NDMsIDYxNjQ3LCA2MTY1MSwgNjE2NTUsIDYxNjU5LCA2MTY2MywgNjE2NjcsIDYxNjcxLCA2MTY3NSwgCisgICAgNjE2NzksIDYxNjgzLCA2MTY5MiwgNjE3MDEsIDYxNzEwLCA2MTcxOSwgNjE3MjgsIDYxNzM3LCA2MTc0NiwgNjE3NTUsIAorICAgIDYxNzU4LCA2MTc2MywgNjE3NjgsIDYxNzczLCA2MTc3OCwgNjE3ODMsIDYxNzg4LCA2MTc5MywgNjE3OTgsIDYxODAzLCAKKyAgICA2MTgwNywgNjE4MTIsIDYxODE3LCA2MTgyMiwgNjE4MjcsIDYxODMyLCA2MTgzNiwgNjE4NDAsIDYxODQ0LCA2MTg0OCwgCisgICAgNjE4NTIsIDYxODU2LCA2MTg2MCwgNjE4NjQsIDYxODY4LCA2MTg3MiwgNjE4NzYsIDYxODgwLCA2MTg4NCwgNjE4ODgsIAorICAgIDYxODkzLCA2MTg5OCwgNjE5MDMsIDYxOTA4LCA2MTkxMywgNjE5MTgsIDYxOTIzLCA2MTkyOCwgNjE5MzMsIDYxOTM4LCAKKyAgICA2MTk0MywgNjE5NDgsIDYxOTUzLCA2MTk1OCwgNjE5NjQsIDYxOTcwLCA2MTk3NSwgNjE5ODAsIDYxOTgzLCA2MTk4NiwgCisgICAgNjE5ODksIDYxOTkyLCA2MTk5NSwgNjE5OTgsIDYyMDAxLCA2MjAwNCwgNjIwMDcsIDYyMDExLCA2MjAxNSwgNjIwMTksIAorICAgIDYyMDIzLCA2MjAyNywgNjIwMzEsIDYyMDM1LCA2MjAzOSwgNjIwNDMsIDYyMDQ3LCA2MjA1MSwgNjIwNTUsIDYyMDU5LCAKKyAgICA2MjA2MywgNjIwNjcsIDYyMDcxLCA2MjA3NSwgNjIwNzksIDYyMDgzLCA2MjA4NywgNjIwOTEsIDYyMDk1LCA2MjA5OSwgCisgICAgNjIxMDMsIDYyMTA3LCA2MjExMSwgNjIxMTUsIDYyMTE5LCA2MjEyMywgNjIxMjcsIDYyMTMxLCA2MjEzNSwgNjIxMzksIAorICAgIDYyMTQzLCA2MjE0NywgNjIxNTEsIDYyMTU1LCA2MjE1OSwgNjIxNjMsIDYyMTY3LCA2MjE3MiwgNjIxNzcsIDYyMTgyLCAKKyAgICA2MjE4NywgNjIxOTEsIDYyMTk2LCA2MjIwMSwgNjIyMDYsIDYyMjExLCA2MjIxNiwgNjIyMjEsIDYyMjI2LCA2MjIzMSwgCisgICAgNjIyMzYsIDYyMjQwLCA2MjI0NywgNjIyNTQsIDYyMjYxLCA2MjI2OCwgNjIyNzUsIDYyMjgyLCA2MjI4OSwgNjIyOTYsIAorICAgIDYyMzAzLCA2MjMxMCwgNjIzMTcsIDYyMzI0LCA2MjMyNywgNjIzMzAsIDYyMzMzLCA2MjMzOCwgNjIzNDEsIDYyMzQ0LCAKKyAgICA2MjM0NywgNjIzNTAsIDYyMzUzLCA2MjM1NiwgNjIzNjAsIDYyMzY0LCA2MjM2OCwgNjIzNzIsIDYyMzc1LCA2MjM3OSwgCisgICAgNjIzODMsIDYyMzg3LCA2MjM5MSwgNjIzOTUsIDYyMzk5LCA2MjQwMywgNjI0MDcsIDYyNDEwLCA2MjQxMywgNjI0MTcsIAorICAgIDYyNDIxLCA2MjQyNSwgNjI0MjksIDYyNDMyLCA2MjQzNiwgNjI0NDAsIDYyNDQ0LCA2MjQ0OCwgNjI0NTEsIDYyNDU1LCAKKyAgICA2MjQ1OSwgNjI0NjMsIDYyNDY3LCA2MjQ3MCwgNjI0NzQsIDYyNDc4LCA2MjQ4MSwgNjI0ODUsIDYyNDg5LCA2MjQ5MywgCisgICAgNjI0OTcsIDYyNTAxLCA2MjUwNSwgNjI1MDksIDAsIDYyNTEzLCA2MjUxNiwgNjI1MTksIDYyNTIyLCA2MjUyNSwgNjI1MjgsIAorICAgIDYyNTMxLCA2MjUzNCwgNjI1MzcsIDYyNTQwLCA2MjU0MywgNjI1NDYsIDYyNTQ5LCA2MjU1MiwgNjI1NTUsIDYyNTU4LCAKKyAgICA2MjU2MSwgNjI1NjQsIDYyNTY3LCA2MjU3MCwgNjI1NzMsIDYyNTc2LCA2MjU3OSwgNjI1ODIsIDYyNTg1LCA2MjU4OCwgCisgICAgNjI1OTEsIDYyNTk0LCA2MjU5NywgNjI2MDAsIDYyNjAzLCA2MjYwNiwgNjI2MDksIDYyNjEyLCA2MjYxNSwgNjI2MTgsIAorICAgIDYyNjIxLCA2MjYyNCwgNjI2MjcsIDYyNjMwLCA2MjYzMywgNjI2MzYsIDYyNjM5LCA2MjY0MiwgNjI2NDUsIDYyNjQ4LCAKKyAgICA2MjY1MSwgNjI2NTQsIDYyNjU3LCA2MjY2MCwgNjI2NjMsIDYyNjY2LCA2MjY2OSwgNjI2NzIsIDYyNjc1LCA2MjY3OCwgCisgICAgNjI2ODEsIDYyNjg0LCA2MjY4NywgNjI2OTAsIDYyNjkzLCA2MjY5NiwgNjI2OTksIDYyNzAyLCA2MjcwNSwgNjI3MDgsIAorICAgIDYyNzExLCA2MjcxNCwgNjI3MTcsIDYyNzIwLCA2MjcyMywgNjI3MjYsIDYyNzI5LCA2MjczMiwgNjI3MzUsIDYyNzM4LCAKKyAgICA2Mjc0MSwgNjI3NDQsIDYyNzQ3LCA2Mjc1MCwgNjI3NTMsIDYyNzU2LCA2Mjc1OSwgNjI3NjIsIDYyNzY1LCA2Mjc2OCwgCisgICAgNjI3NzEsIDYyNzc0LCA2Mjc3NywgNjI3ODYsIDYyNzk0LCA2MjgwMiwgNjI4MTAsIDYyODE4LCA2MjgyNiwgNjI4MzQsIAorICAgIDYyODQyLCA2Mjg1MCwgNjI4NTgsIDYyODY3LCA2Mjg3NiwgNjI4ODUsIDYyODk0LCA2MjkwMywgNjI5MTIsIDYyOTIxLCAKKyAgICA2MjkzMCwgNjI5MzksIDYyOTQ4LCA2Mjk1NywgNjI5NjYsIDYyOTc1LCA2Mjk4NCwgNjI5OTMsIDYyOTk2LCA2Mjk5OSwgCisgICAgNjMwMDIsIDYzMDA0LCA2MzAwNywgNjMwMTAsIDYzMDEzLCA2MzAxOCwgNjMwMjMsIDYzMDI2LCA2MzAzMywgNjMwNDAsIAorICAgIDYzMDQ3LCA2MzA1NCwgNjMwNTcsIDYzMDYyLCA2MzA2NCwgNjMwNjgsIDYzMDcwLCA2MzA3MiwgNjMwNzUsIDYzMDc4LCAKKyAgICA2MzA4MSwgNjMwODQsIDYzMDg3LCA2MzA5MCwgNjMwOTMsIDYzMDk4LCA2MzEwMywgNjMxMDYsIDYzMTA5LCA2MzExMiwgCisgICAgNjMxMTUsIDYzMTE4LCA2MzEyMSwgNjMxMjQsIDYzMTI4LCA2MzEzMSwgNjMxMzQsIDYzMTM3LCA2MzE0MCwgNjMxNDMsIAorICAgIDYzMTQ3LCA2MzE1MCwgNjMxNTMsIDYzMTU2LCA2MzE2MSwgNjMxNjYsIDYzMTcxLCA2MzE3NiwgNjMxODEsIDYzMTg2LCAKKyAgICA2MzE5MSwgNjMxOTYsIDYzMjAyLCA2MzIxMCwgNjMyMTIsIDYzMjE1LCA2MzIxOCwgNjMyMjEsIDYzMjI0LCA2MzIzMCwgCisgICAgNjMyMzgsIDYzMjQxLCA2MzI0NCwgNjMyNDksIDYzMjUyLCA2MzI1NSwgNjMyNTgsIDYzMjYzLCA2MzI2NiwgNjMyNjksIAorICAgIDYzMjc0LCA2MzI3NywgNjMyODAsIDYzMjg1LCA2MzI4OCwgNjMyOTEsIDYzMjk2LCA2MzMwMSwgNjMzMDYsIDYzMzA5LCAKKyAgICA2MzMxMiwgNjMzMTUsIDYzMzE4LCA2MzMyNCwgNjMzMjcsIDYzMzMwLCA2MzMzMywgNjMzMzUsIDYzMzM4LCA2MzM0MSwgCisgICAgNjMzNDQsIDYzMzQ5LCA2MzM1MiwgNjMzNTUsIDYzMzU4LCA2MzM2MSwgNjMzNjQsIDYzMzY5LCA2MzM3MiwgNjMzNzUsIAorICAgIDYzMzc4LCA2MzM4MSwgNjMzODQsIDYzMzg3LCA2MzM5MCwgNjMzOTMsIDYzMzk2LCA2MzQwMSwgNjM0MDUsIDYzNDEzLCAKKyAgICA2MzQyMSwgNjM0MjksIDYzNDM3LCA2MzQ0NSwgNjM0NTMsIDYzNDYxLCA2MzQ2OSwgNjM0NzcsIDYzNDg2LCA2MzQ5NSwgCisgICAgNjM1MDQsIDYzNTEzLCA2MzUyMiwgNjM1MzEsIDYzNTQwLCA2MzU0OSwgNjM1NTgsIDYzNTY3LCA2MzU3NiwgNjM1ODUsIAorICAgIDYzNTk0LCA2MzYwMywgNjM2MTIsIDYzNjIxLCA2MzYzMCwgNjM2MzksIDYzNjQ4LCA2MzY1NywgNjM2NjYsIDYzNjc1LCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2MzY3OCwgNjM2ODcsIDYzNjk2LCA2MzcwNywgCisgICAgNjM3MTQsIDYzNzE5LCA2MzcyNCwgNjM3MzEsIDYzNzM4LCA2Mzc0NCwgNjM3NDksIDYzNzU0LCA2Mzc1OSwgNjM3NjQsIAorICAgIDYzNzcxLCA2Mzc3NiwgNjM3ODEsIDYzNzg2LCA2Mzc5NywgNjM4MDIsIDYzODA3LCA2MzgxNCwgNjM4MTksIDYzODI2LCAKKyAgICA2MzgzMSwgNjM4MzYsIDYzODQzLCA2Mzg1MCwgNjM4NTcsIDYzODY2LCA2Mzg3NSwgNjM4ODAsIDYzODg1LCA2Mzg5MCwgCisgICAgNjM4OTcsIDYzOTAyLCA2MzkxMiwgNjM5MTksIDYzOTI0LCA2MzkyOSwgNjM5MzQsIDYzOTM5LCA2Mzk0NCwgNjM5NDksIAorICAgIDYzOTU4LCA2Mzk2NSwgNjM5NzIsIDYzOTc3LCA2Mzk4NCwgNjM5ODksIDYzOTk2LCA2NDAwNSwgNjQwMTYsIDY0MDIxLCAKKyAgICA2NDAzMCwgNjQwMzUsIDY0MDQyLCA2NDA1MSwgNjQwNjAsIDY0MDY1LCA2NDA3MCwgNjQwNzcsIDY0MDgzLCA2NDA5MCwgCisgICAgNjQwOTcsIDY0MTAxLCA2NDEwNSwgNjQxMDgsIDY0MTEyLCA2NDExNiwgNjQxMjAsIDY0MTI0LCA2NDEyOCwgNjQxMzIsIAorICAgIDY0MTM2LCA2NDEzOSwgNjQxNDMsIDY0MTQ3LCA2NDE1MSwgNjQxNTUsIDY0MTU5LCA2NDE2MywgNjQxNjYsIDY0MTcwLCAKKyAgICA2NDE3NCwgNjQxNzcsIDY0MTgxLCA2NDE4NSwgNjQxODksIDY0MTkzLCA2NDE5NywgNjQyMDEsIDY0MjA1LCA2NDIwOSwgCisgICAgNjQyMTMsIDY0MjE3LCA2NDIyMSwgNjQyMjUsIDY0MjI5LCA2NDIzMywgNjQyMzcsIDY0MjQxLCA2NDI0NSwgNjQyNDksIAorICAgIDY0MjUzLCA2NDI1NywgNjQyNjEsIDY0MjY1LCA2NDI2OSwgNjQyNzMsIDY0Mjc3LCA2NDI4MSwgNjQyODUsIDY0Mjg5LCAKKyAgICA2NDI5MywgNjQyOTcsIDY0MzAxLCA2NDMwNSwgNjQzMDksIDY0MzEzLCA2NDMxNywgNjQzMjEsIDY0MzI1LCA2NDMyOSwgCisgICAgNjQzMzMsIDY0MzM3LCA2NDM0MSwgNjQzNDUsIDY0MzQ5LCA2NDM1MywgNjQzNTYsIDY0MzYwLCA2NDM2NCwgNjQzNjgsIAorICAgIDY0MzcyLCA2NDM3NiwgNjQzODAsIDY0Mzg0LCA2NDM4OCwgNjQzOTIsIDY0Mzk2LCA2NDQwMCwgNjQ0MDQsIDY0NDA4LCAKKyAgICA2NDQxMiwgNjQ0MTYsIDY0NDIwLCA2NDQyNCwgNjQ0MjgsIDY0NDMyLCA2NDQzNiwgNjQ0NDAsIDY0NDQ0LCA2NDQ0OCwgCisgICAgNjQ0NTIsIDY0NDU2LCA2NDQ2MCwgNjQ0NjQsIDY0NDY4LCA2NDQ3MiwgNjQ0NzYsIDY0NDgwLCA2NDQ4NCwgNjQ0ODgsIAorICAgIDY0NDkyLCA2NDQ5NiwgNjQ1MDAsIDY0NTA0LCA2NDUwOCwgNjQ1MTIsIDY0NTE2LCA2NDUyMCwgNjQ1MjQsIDY0NTI4LCAKKyAgICA2NDUzMiwgNjQ1MzYsIDY0NTQwLCA2NDU0NCwgNjQ1NDgsIDY0NTUyLCA2NDU1NiwgNjQ1NjAsIDY0NTY0LCA2NDU2OCwgCisgICAgNjQ1NzIsIDY0NTc2LCA2NDU4MCwgNjQ1ODQsIDY0NTg4LCA2NDU5MiwgNjQ1OTYsIDY0NjAwLCA2NDYwNCwgNjQ2MDgsIAorICAgIDY0NjEyLCA2NDYxNiwgNjQ2MjAsIDY0NjI0LCA2NDYyOCwgNjQ2MzIsIDY0NjM2LCA2NDY0MCwgNjQ2NDQsIDY0NjQ4LCAKKyAgICA2NDY1MiwgNjQ2NTYsIDY0NjYwLCA2NDY2NCwgNjQ2NjgsIDY0NjcyLCA2NDY3NiwgNjQ2ODAsIDY0Njg0LCA2NDY4OCwgCisgICAgNjQ2OTIsIDY0Njk2LCA2NDcwMCwgNjQ3MDQsIDY0NzA4LCA2NDcxMiwgNjQ3MTYsIDY0NzIwLCA2NDcyNCwgNjQ3MjgsIAorICAgIDY0NzMyLCA2NDczNiwgNjQ3NDAsIDY0NzQ0LCA2NDc0OCwgNjQ3NTIsIDY0NzU2LCA2NDc2MCwgNjQ3NjQsIDY0NzY4LCAKKyAgICA2NDc3MiwgNjQ3NzYsIDY0NzgwLCA2NDc4NCwgNjQ3ODgsIDY0NzkyLCA2NDc5NiwgNjQ4MDAsIDY0ODA0LCA2NDgwOCwgCisgICAgNjQ4MTIsIDY0ODE2LCA2NDgyMCwgNjQ4MjQsIDY0ODI3LCA2NDgzMSwgNjQ4MzUsIDY0ODM5LCA2NDg0MywgNjQ4NDcsIAorICAgIDY0ODUxLCA2NDg1NSwgNjQ4NTksIDY0ODYzLCA2NDg2NywgNjQ4NzEsIDY0ODc1LCA2NDg3OSwgNjQ4ODMsIDY0ODg3LCAKKyAgICA2NDg5MSwgNjQ4OTUsIDY0ODk5LCA2NDkwMywgNjQ5MDcsIDY0OTExLCA2NDkxNSwgNjQ5MTksIDY0OTIzLCA2NDkyNywgCisgICAgNjQ5MzEsIDY0OTM1LCA2NDkzOSwgNjQ5NDMsIDY0OTQ3LCA2NDk1MSwgNjQ5NTUsIDY0OTU5LCA2NDk2MywgNjQ5NjcsIAorICAgIDY0OTcxLCA2NDk3NSwgNjQ5NzksIDY0OTgzLCA2NDk4NywgNjQ5OTEsIDY0OTk1LCA2NDk5OSwgNjUwMDMsIDY1MDA3LCAKKyAgICA2NTAxMSwgNjUwMTUsIDY1MDE5LCA2NTAyMywgNjUwMjcsIDY1MDMxLCA2NTAzNSwgNjUwMzksIDY1MDQzLCA2NTA0NywgCisgICAgNjUwNTEsIDY1MDU1LCA2NTA1OSwgNjUwNjMsIDY1MDY3LCA2NTA3MSwgNjUwNzUsIDY1MDc5LCA2NTA4MywgNjUwODcsIAorICAgIDY1MDkxLCA2NTA5NSwgNjUwOTksIDY1MTAzLCA2NTEwNywgNjUxMTEsIDY1MTE1LCA2NTExOSwgNjUxMjMsIDY1MTI3LCAKKyAgICA2NTEzMSwgNjUxMzUsIDY1MTM5LCA2NTE0MywgNjUxNDcsIDY1MTUxLCA2NTE1NSwgNjUxNTksIDY1MTYzLCA2NTE2NywgCisgICAgNjUxNzEsIDY1MTc1LCA2NTE3OSwgNjUxODMsIDY1MTg3LCA2NTE5MSwgNjUxOTUsIDY1MTk5LCA2NTIwMywgNjUyMDcsIAorICAgIDY1MjExLCA2NTIxNSwgNjUyMTksIDY1MjIzLCA2NTIyNywgNjUyMzEsIDY1MjM1LCA2NTIzOSwgNjUyNDMsIDY1MjQ3LCAKKyAgICA2NTI1MSwgNjUyNTUsIDY1MjU5LCA2NTI2MywgNjUyNjcsIDY1MjcxLCA2NTI3NSwgNjUyNzksIDY1MjgzLCA2NTI4NywgCisgICAgNjUyOTAsIDY1Mjk0LCA2NTI5OCwgNjUzMDIsIDY1MzA2LCA2NTMxMCwgNjUzMTQsIDY1MzE4LCA2NTMyMiwgNjUzMjYsIAorICAgIDY1MzMwLCA2NTMzNCwgNjUzMzgsIDY1MzQyLCA2NTM0NiwgNjUzNTAsIDY1MzU0LCA2NTM1OCwgNjUzNjIsIDY1MzY2LCAKKyAgICA2NTM3MCwgNjUzNzQsIDY1Mzc4LCA2NTM4MiwgNjUzODYsIDY1MzkwLCA2NTM5NCwgNjUzOTgsIDY1NDAyLCA2NTQwNiwgCisgICAgNjU0MTAsIDY1NDE0LCA2NTQxOCwgNjU0MjIsIDY1NDI2LCA2NTQzMCwgNjU0MzQsIDY1NDM4LCA2NTQ0MiwgNjU0NDYsIAorICAgIDY1NDUwLCA2NTQ1NCwgNjU0NTgsIDY1NDYyLCA2NTQ2NiwgNjU0NzAsIDY1NDc0LCA2NTQ3OCwgNjU0ODIsIDY1NDg2LCAKKyAgICA2NTQ5MCwgNjU0OTQsIDY1NDk4LCA2NTUwMiwgNjU1MDYsIDY1NTEwLCA2NTUxNCwgNjU1MTgsIDY1NTIyLCA2NTUyNiwgCisgICAgNjU1MzAsIDY1NTM0LCA2NTUzOCwgNjU1NDIsIDY1NTQ2LCA2NTU1MCwgNjU1NTQsIDY1NTU4LCA2NTU2MiwgNjU1NjYsIAorICAgIDY1NTcwLCA2NTU3NCwgNjU1NzgsIDY1NTgyLCA2NTU4NiwgNjU1OTAsIDY1NTk0LCA2NTU5OCwgNjU2MDIsIDY1NjA2LCAKKyAgICA2NTYxMCwgNjU2MTQsIDY1NjE4LCA2NTYyMiwgNjU2MjYsIDY1NjMwLCA2NTYzNCwgNjU2MzgsIDY1NjQyLCA2NTY0NiwgCisgICAgNjU2NDksIDY1NjUzLCA2NTY1NywgNjU2NjEsIDY1NjY1LCA2NTY2OSwgNjU2NzMsIDY1Njc3LCA2NTY4MSwgNjU2ODUsIAorICAgIDY1Njg5LCA2NTY5MywgNjU2OTcsIDY1NzAxLCA2NTcwNSwgNjU3MDksIDY1NzEzLCA2NTcxNywgNjU3MjEsIDY1NzI1LCAKKyAgICA2NTcyOSwgNjU3MzMsIDY1NzM3LCA2NTc0MSwgNjU3NDUsIDY1NzQ5LCA2NTc1MywgNjU3NTcsIDY1NzYxLCA2NTc2NSwgCisgICAgNjU3NjksIDY1NzczLCA2NTc3NywgNjU3ODEsIDY1Nzg1LCA2NTc4OSwgNjU3OTMsIDY1Nzk3LCA2NTgwMSwgNjU4MDUsIAorICAgIDY1ODA5LCA2NTgxMywgNjU4MTcsIDY1ODIxLCA2NTgyNSwgNjU4MjksIDY1ODMzLCA2NTgzNywgNjU4NDEsIDY1ODQ1LCAKKyAgICA2NTg0OSwgNjU4NTMsIDY1ODU3LCA2NTg2MSwgNjU4NjUsIDY1ODY5LCA2NTg3MywgNjU4NzcsIDY1ODgxLCA2NTg4NSwgCisgICAgNjU4ODksIDY1ODkzLCA2NTg5NywgNjU5MDEsIDY1OTA1LCA2NTkwOSwgNjU5MTMsIDY1OTE3LCA2NTkyMSwgNjU5MjUsIAorICAgIDY1OTI5LCA2NTkzMywgNjU5MzcsIDY1OTQxLCA2NTk0NSwgNjU5NDksIDY1OTUzLCA2NTk1NywgNjU5NjEsIDY1OTY1LCAKKyAgICA2NTk2OSwgNjU5NzMsIDY1OTc3LCA2NTk4MSwgNjU5ODUsIDY1OTg5LCA2NTk5MywgNjU5OTcsIDY2MDAxLCA2NjAwNSwgCisgICAgNjYwMDksIDY2MDEzLCA2NjAxNywgNjYwMjEsIDY2MDI1LCA2NjAyOSwgNjYwMzMsIDY2MDM3LCA2NjA0MSwgNjYwNDUsIAorICAgIDY2MDQ5LCA2NjA1MywgNjYwNTcsIDY2MDYxLCA2NjA2NSwgNjYwNjksIDY2MDczLCA2NjA3NywgNjYwODEsIDY2MDg1LCAKKyAgICA2NjA4OSwgNjYwOTMsIDY2MDk3LCA2NjEwMSwgNjYxMDUsIDY2MTA5LCA2NjExMywgNjYxMTcsIDY2MTIxLCA2NjEyNSwgCisgICAgNjYxMjksIDY2MTMzLCA2NjEzNywgNjYxNDEsIDY2MTQ0LCA2NjE0OCwgNjYxNTIsIDY2MTU2LCA2NjE2MCwgNjYxNjQsIAorICAgIDY2MTY4LCA2NjE3MiwgNjYxNzYsIDY2MTgwLCA2NjE4NCwgNjYxODgsIDY2MTkyLCA2NjE5NiwgNjYyMDAsIDY2MjA0LCAKKyAgICA2NjIwOCwgNjYyMTIsIDY2MjE2LCA2NjIyMCwgNjYyMjQsIDY2MjI4LCA2NjIzMiwgNjYyMzYsIDY2MjQwLCA2NjI0NCwgCisgICAgNjYyNDgsIDY2MjUyLCA2NjI1NiwgNjYyNjAsIDY2MjY0LCA2NjI2OCwgNjYyNzIsIDY2Mjc2LCA2NjI4MCwgNjYyODQsIAorICAgIDY2Mjg4LCA2NjI5MiwgNjYyOTYsIDY2MzAwLCA2NjMwNCwgNjYzMDgsIDY2MzEyLCA2NjMxNiwgNjYzMjAsIDY2MzI0LCAKKyAgICA2NjMyOCwgNjYzMzIsIDY2MzM2LCA2NjM0MCwgNjYzNDQsIDY2MzQ4LCA2NjM1MiwgNjYzNTYsIDY2MzYwLCA2NjM2NCwgCisgICAgNjYzNjgsIDY2MzcyLCA2NjM3NiwgNjYzODAsIDY2Mzg0LCA2NjM4OCwgNjYzOTIsIDY2Mzk2LCA2NjQwMCwgNjY0MDQsIAorICAgIDY2NDA4LCA2NjQxMiwgNjY0MTYsIDY2NDIwLCA2NjQyNCwgNjY0MjgsIDY2NDMyLCA2NjQzNiwgNjY0NDAsIDY2NDQ0LCAKKyAgICA2NjQ0OCwgNjY0NTIsIDY2NDU2LCA2NjQ2MCwgNjY0NjQsIDY2NDY4LCA2NjQ3MiwgNjY0NzYsIDY2NDgwLCA2NjQ4NCwgCisgICAgNjY0ODgsIDY2NDkyLCA2NjQ5NiwgNjY1MDAsIDY2NTA0LCA2NjUwOCwgNjY1MTIsIDY2NTE2LCA2NjUyMCwgNjY1MjQsIAorICAgIDY2NTI4LCA2NjUzMiwgNjY1MzYsIDY2NTQwLCA2NjU0NCwgNjY1NDgsIDY2NTUyLCA2NjU1NiwgNjY1NjAsIDY2NTY0LCAKKyAgICA2NjU2OCwgNjY1NzIsIDY2NTc2LCA2NjU4MCwgNjY1ODQsIDY2NTg4LCA2NjU5MiwgNjY1OTYsIDY2NTk5LCA2NjYwMywgCisgICAgNjY2MDcsIDY2NjExLCA2NjYxNSwgNjY2MTksIDY2NjIzLCA2NjYyNywgNjY2MzEsIDY2NjM1LCA2NjYzOSwgNjY2NDMsIAorICAgIDY2NjQ3LCA2NjY1MSwgNjY2NTUsIDY2NjU5LCA2NjY2MywgNjY2NjcsIDY2NjcxLCA2NjY3NSwgNjY2NzksIDY2NjgzLCAKKyAgICA2NjY4NywgNjY2OTEsIDY2Njk1LCA2NjY5OSwgNjY3MDMsIDY2NzA3LCA2NjcxMSwgNjY3MTUsIDY2NzE5LCA2NjcyMywgCisgICAgNjY3MjcsIDY2NzMxLCA2NjczNSwgNjY3MzksIDY2NzQzLCA2Njc0NywgNjY3NTEsIDY2NzU1LCA2Njc1OSwgNjY3NjMsIAorICAgIDY2NzY3LCA2Njc3MSwgNjY3NzUsIDY2Nzc5LCA2Njc4MywgNjY3ODcsIDY2NzkxLCA2Njc5NSwgNjY3OTksIDY2ODAzLCAKKyAgICA2NjgwNywgNjY4MTEsIDY2ODE1LCA2NjgxOSwgNjY4MjMsIDY2ODI3LCA2NjgzMSwgNjY4MzUsIDY2ODM5LCA2Njg0MywgCisgICAgNjY4NDcsIDY2ODUxLCA2Njg1NSwgNjY4NTksIDY2ODYzLCA2Njg2NywgNjY4NzEsIDY2ODc1LCA2Njg3OSwgNjY4ODMsIAorICAgIDY2ODg3LCA2Njg5MSwgNjY4OTUsIDY2ODk5LCA2NjkwMywgNjY5MDcsIDY2OTExLCA2NjkxNSwgNjY5MTksIDY2OTIzLCAKKyAgICA2NjkyNywgNjY5MzEsIDY2OTM1LCA2NjkzOSwgNjY5NDMsIDY2OTQ3LCA2Njk1MSwgNjY5NTUsIDY2OTU5LCA2Njk2MywgCisgICAgNjY5NjcsIDY2OTcxLCA2Njk3NSwgNjY5NzksIDY2OTgzLCA2Njk4NywgNjY5OTEsIDY2OTk1LCA2Njk5OSwgNjcwMDMsIAorICAgIDY3MDA3LCA2NzAxMSwgNjcwMTUsIDY3MDE5LCA2NzAyMywgNjcwMjcsIDY3MDMxLCA2NzAzNSwgNjcwMzksIDY3MDQzLCAKKyAgICA2NzA0NywgNjcwNTEsIDY3MDU1LCA2NzA1OSwgNjcwNjMsIDY3MDY3LCA2NzA3MSwgNjcwNzUsIDY3MDc5LCA2NzA4MywgCisgICAgNjcwODcsIDY3MDkxLCA2NzA5NSwgNjcwOTksIDY3MTAzLCA2NzEwNywgNjcxMTEsIDY3MTE1LCA2NzExOSwgNjcxMjMsIAorICAgIDY3MTI3LCA2NzEzMSwgNjcxMzUsIDY3MTM5LCA2NzE0MywgNjcxNDcsIDY3MTUxLCA2NzE1NSwgNjcxNTksIDY3MTYzLCAKKyAgICA2NzE2NywgNjcxNzEsIDY3MTc1LCA2NzE3OSwgNjcxODMsIDY3MTg3LCA2NzE5MSwgNjcxOTUsIDY3MTk5LCA2NzIwMiwgCisgICAgNjcyMDYsIDY3MjEwLCA2NzIxNCwgNjcyMTgsIDY3MjIyLCA2NzIyNiwgNjcyMzAsIDY3MjMzLCA2NzIzNywgNjcyNDEsIAorICAgIDY3MjQ1LCA2NzI0OSwgNjcyNTMsIDY3MjU3LCA2NzI2MSwgNjcyNjUsIDY3MjY5LCA2NzI3MywgNjcyNzcsIDY3MjgxLCAKKyAgICA2NzI4NSwgNjcyODksIDY3MjkzLCA2NzI5NywgNjczMDEsIDY3MzA1LCA2NzMwOSwgNjczMTMsIDY3MzE3LCA2NzMyMSwgCisgICAgNjczMjUsIDY3MzI5LCA2NzMzMywgNjczMzcsIDY3MzQxLCA2NzM0NSwgNjczNDksIDY3MzUzLCA2NzM1NywgNjczNjEsIAorICAgIDY3MzY1LCA2NzM2OSwgNjczNzMsIDY3Mzc3LCA2NzM4MSwgNjczODUsIDY3Mzg5LCA2NzM5MywgNjczOTcsIDY3NDAxLCAKKyAgICA2NzQwNSwgNjc0MDksIDY3NDEzLCA2NzQxNywgNjc0MjEsIDY3NDI1LCA2NzQyOSwgNjc0MzMsIDY3NDM3LCA2NzQ0MSwgCisgICAgNjc0NDUsIDY3NDQ5LCA2NzQ1MywgNjc0NTcsIDY3NDYxLCA2NzQ2NSwgNjc0NjksIDY3NDczLCA2NzQ3NywgNjc0ODEsIAorICAgIDY3NDg1LCA2NzQ4OSwgNjc0OTMsIDY3NDk3LCA2NzUwMSwgNjc1MDUsIDY3NTA5LCA2NzUxMywgNjc1MTcsIDY3NTIxLCAKKyAgICA2NzUyNSwgNjc1MjksIDY3NTMzLCA2NzUzNywgNjc1NDEsIDY3NTQ1LCA2NzU0OSwgNjc1NTMsIDY3NTU3LCA2NzU2MSwgCisgICAgNjc1NjUsIDY3NTY5LCA2NzU3MywgNjc1NzcsIDY3NTgxLCA2NzU4NSwgNjc1ODksIDY3NTkzLCA2NzU5NywgNjc2MDEsIAorICAgIDY3NjA1LCA2NzYwOSwgNjc2MTMsIDY3NjE3LCA2NzYyMSwgNjc2MjUsIDY3NjI5LCA2NzYzMywgNjc2MzcsIDY3NjQxLCAKKyAgICA2NzY0NSwgNjc2NDksIDY3NjUzLCA2NzY1NywgNjc2NjEsIDY3NjY1LCA2NzY2OSwgNjc2NzMsIDY3Njc3LCA2NzY4MSwgCisgICAgNjc2ODUsIDY3Njg5LCA2NzY5MywgNjc2OTcsIDY3NzAxLCA2NzcwNSwgNjc3MDksIDY3NzEzLCA2NzcxNywgNjc3MjEsIAorICAgIDY3NzI1LCA2NzcyOSwgNjc3MzMsIDY3NzM3LCA2Nzc0MSwgNjc3NDUsIDY3NzQ5LCA2Nzc1MywgNjc3NTcsIDY3NzYxLCAKKyAgICA2Nzc2NSwgNjc3NjksIDY3NzczLCA2Nzc3NywgNjc3ODEsIDY3Nzg1LCA2Nzc4OSwgNjc3OTMsIDY3Nzk3LCA2NzgwMSwgCisgICAgNjc4MDUsIDY3ODA5LCA2NzgxMywgNjc4MTcsIDY3ODIxLCA2NzgyNSwgNjc4MjksIDY3ODMzLCA2NzgzNywgNjc4NDEsIAorICAgIDY3ODQ1LCA2Nzg0OSwgNjc4NTMsIDY3ODU3LCA2Nzg2MSwgNjc4NjUsIDY3ODY5LCA2Nzg3MywgNjc4NzcsIDY3ODgxLCAKKyAgICA2Nzg4NSwgNjc4ODksIDY3ODkzLCA2Nzg5NywgNjc5MDEsIDY3OTA1LCA2NzkwOSwgNjc5MTMsIDY3OTE3LCA2NzkyMSwgCisgICAgNjc5MjUsIDY3OTI5LCA2NzkzMywgNjc5MzcsIDY3OTQxLCA2Nzk0NSwgNjc5NDksIDY3OTUzLCA2Nzk1NywgNjc5NjAsIAorICAgIDY3OTY0LCA2Nzk2OCwgNjc5NzIsIDY3OTc2LCA2Nzk4MCwgNjc5ODQsIDY3OTg4LCA2Nzk5MiwgNjc5OTYsIDY4MDAwLCAKKyAgICA2ODAwNCwgNjgwMDgsIDY4MDEyLCA2ODAxNiwgNjgwMjAsIDY4MDI0LCA2ODAyOCwgNjgwMzIsIDY4MDM2LCA2ODA0MCwgCisgICAgNjgwNDQsIDY4MDQ4LCA2ODA1MiwgNjgwNTYsIDY4MDYwLCA2ODA2NCwgNjgwNjgsIDY4MDcyLCA2ODA3NiwgNjgwODAsIAorICAgIDY4MDg0LCA2ODA4OCwgNjgwOTIsIDY4MDk2LCA2ODEwMCwgNjgxMDQsIDY4MTA4LCA2ODExMiwgNjgxMTYsIDY4MTIwLCAKKyAgICA2ODEyNCwgNjgxMjgsIDY4MTMyLCA2ODEzNiwgNjgxNDAsIDY4MTQ0LCA2ODE0OCwgNjgxNTIsIDY4MTU2LCA2ODE2MCwgCisgICAgNjgxNjQsIDY4MTY4LCA2ODE3MiwgNjgxNzYsIDY4MTgwLCA2ODE4NCwgNjgxODgsIDY4MTkyLCA2ODE5NiwgNjgyMDAsIAorICAgIDY4MjA0LCA2ODIwOCwgNjgyMTIsIDY4MjE2LCA2ODIyMCwgNjgyMjQsIDY4MjI4LCA2ODIzMiwgNjgyMzYsIDY4MjQwLCAKKyAgICA2ODI0NCwgNjgyNDgsIDY4MjUyLCA2ODI1NiwgNjgyNjAsIDY4MjY0LCA2ODI2OCwgNjgyNzIsIDY4Mjc2LCA2ODI4MCwgCisgICAgNjgyODQsIDY4Mjg4LCA2ODI5MiwgNjgyOTYsIDY4MzAwLCA2ODMwNCwgNjgzMDgsIDY4MzEyLCA2ODMxNiwgNjgzMjAsIAorICAgIDY4MzI0LCA2ODMyOCwgNjgzMzIsIDY4MzM2LCA2ODM0MCwgNjgzNDQsIDY4MzQ4LCA2ODM1MiwgNjgzNTYsIDY4MzYwLCAKKyAgICA2ODM2NCwgNjgzNjgsIDY4MzcyLCA2ODM3NiwgNjgzODAsIDY4Mzg0LCA2ODM4OCwgNjgzOTIsIDY4Mzk2LCA2ODQwMCwgCisgICAgNjg0MDQsIDY4NDA4LCA2ODQxMiwgNjg0MTYsIDY4NDIwLCA2ODQyNCwgNjg0MjgsIDY4NDMyLCA2ODQzNiwgNjg0NDAsIAorICAgIDY4NDQ0LCA2ODQ0OCwgNjg0NTIsIDY4NDU2LCA2ODQ2MCwgNjg0NjQsIDY4NDY4LCA2ODQ3MiwgNjg0NzYsIDY4NDgwLCAKKyAgICA2ODQ4NCwgNjg0ODgsIDY4NDkyLCA2ODQ5NiwgNjg1MDAsIDY4NTA0LCA2ODUwOCwgNjg1MTIsIDY4NTE2LCA2ODUyMCwgCisgICAgNjg1MjQsIDY4NTI4LCA2ODUzMiwgNjg1MzYsIDY4NTQwLCA2ODU0NCwgNjg1NDgsIDY4NTUyLCA2ODU1NiwgNjg1NjAsIAorICAgIDY4NTY0LCA2ODU2OCwgNjg1NzIsIDY4NTc2LCA2ODU4MCwgNjg1ODQsIDY4NTg4LCA2ODU5MiwgNjg1OTYsIDY4NjAwLCAKKyAgICA2ODYwNCwgNjg2MDgsIDY4NjEyLCA2ODYxNiwgNjg2MjAsIDY4NjI0LCA2ODYyOCwgNjg2MzIsIDY4NjM2LCA2ODY0MCwgCisgICAgNjg2NDQsIDY4NjQ4LCA2ODY1MiwgNjg2NTYsIDY4NjYwLCA2ODY2NCwgNjg2NjgsIDY4NjcyLCA2ODY3NiwgNjg2ODAsIAorICAgIDY4Njg0LCA2ODY4OCwgNjg2OTIsIDY4Njk2LCA2ODcwMCwgNjg3MDQsIDY4NzA4LCA2ODcxMiwgNjg3MTYsIDY4NzIwLCAKKyAgICA2ODcyNCwgNjg3MjgsIDY4NzMyLCA2ODczNiwgNjg3NDAsIDAsIDAsIDAsIDY4NzQ0LCA2ODc0OCwgNjg3NTIsIDY4NzU2LCAKKyAgICA2ODc2MCwgNjg3NjQsIDY4NzY4LCA2ODc3MiwgNjg3NzYsIDY4NzgwLCA2ODc4NCwgNjg3ODgsIDY4NzkyLCA2ODc5NiwgCisgICAgNjg4MDAsIDY4ODA0LCA2ODgwOCwgNjg4MTIsIDY4ODE2LCA2ODgyMCwgNjg4MjQsIDY4ODI4LCA2ODgzMiwgNjg4MzYsIAorICAgIDY4ODQwLCA2ODg0NCwgNjg4NDgsIDY4ODUyLCA2ODg1NiwgNjg4NjAsIDY4ODY0LCA2ODg2OCwgNjg4NzIsIDY4ODc2LCAKKyAgICA2ODg4MCwgNjg4ODQsIDY4ODg4LCA2ODg5MiwgNjg4OTYsIDY4OTAwLCA2ODkwNCwgNjg5MDgsIDY4OTEyLCA2ODkxNiwgCisgICAgNjg5MjAsIDY4OTI0LCA2ODkyOCwgNjg5MzIsIDY4OTM2LCA2ODk0MCwgNjg5NDQsIDY4OTQ4LCA2ODk1MiwgNjg5NTYsIAorICAgIDY4OTYwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2ODk2NCwgNjg5NjksIDY4OTczLCA2ODk3OCwgNjg5ODMsIAorICAgIDY4OTg4LCA2ODk5MywgNjg5OTgsIDY5MDAyLCA2OTAwNywgNjkwMTIsIDY5MDE3LCA2OTAyMiwgNjkwMjcsIDY5MDMyLCAKKyAgICA2OTAzNywgNjkwNDEsIDY5MDQ1LCA2OTA1MCwgNjkwNTQsIDY5MDU5LCA2OTA2NCwgNjkwNjksIDY5MDczLCA2OTA3OCwgCisgICAgNjkwODMsIDY5MDg4LCA2OTA5MywgNjkwOTgsIDY5MTAyLCA2OTEwNywgNjkxMTEsIDY5MTE2LCA2OTEyMCwgNjkxMjUsIAorICAgIDY5MTI5LCA2OTEzMywgNjkxMzcsIDY5MTQyLCA2OTE0NywgNjkxNTIsIDY5MTYwLCA2OTE2OCwgNjkxNzYsIDY5MTg0LCAKKyAgICA2OTE5MSwgNjkxOTksIDY5MjA1LCA2OTIxMywgNjkyMTcsIDY5MjIxLCA2OTIyNSwgNjkyMjksIDY5MjMzLCA2OTIzNywgCisgICAgNjkyNDEsIDY5MjQ1LCA2OTI0OSwgNjkyNTMsIDY5MjU3LCA2OTI2MSwgNjkyNjUsIDY5MjY5LCA2OTI3MywgNjkyNzcsIAorICAgIDY5MjgxLCA2OTI4NSwgNjkyODksIDY5MjkzLCA2OTI5NywgNjkzMDEsIDY5MzA1LCA2OTMwOSwgNjkzMTMsIDY5MzE3LCAKKyAgICA2OTMyMSwgNjkzMjUsIDY5MzI5LCA2OTMzMywgNjkzMzcsIDY5MzQxLCA2OTM0NSwgNjkzNDksIDY5MzUzLCA2OTM1NywgCisgICAgNjkzNjAsIDY5MzY0LCA2OTM2OCwgNjkzNzIsIDY5Mzc2LCA2OTM4MCwgNjkzODQsIDY5Mzg4LCA2OTM5MiwgNjkzOTYsIAorICAgIDY5NDAwLCA2OTQwNCwgNjk0MDgsIDY5NDEyLCA2OTQxNiwgNjk0MjAsIDY5NDI0LCA2OTQyOCwgNjk0MzIsIDY5NDM2LCAKKyAgICA2OTQ0MCwgNjk0NDQsIDY5NDQ4LCA2OTQ1MiwgNjk0NTYsIDY5NDYwLCA2OTQ2NCwgNjk0NjgsIDY5NDcyLCA2OTQ3NiwgCisgICAgNjk0ODAsIDY5NDg0LCA2OTQ4OCwgNjk0OTIsIDY5NDk2LCA2OTUwMCwgNjk1MDQsIDY5NTA3LCA2OTUxMSwgNjk1MTUsIAorICAgIDY5NTE4LCA2OTUyMiwgNjk1MjYsIDY5NTMwLCA2OTUzMywgNjk1MzcsIDY5NTQxLCA2OTU0NSwgNjk1NDksIDY5NTUzLCAKKyAgICA2OTU1NywgNjk1NjEsIDY5NTY1LCA2OTU2OSwgNjk1NzMsIDY5NTc3LCA2OTU4MSwgNjk1ODUsIDY5NTg5LCA2OTU5MiwgCisgICAgNjk1OTYsIDY5NjAwLCA2OTYwMywgNjk2MDcsIDY5NjExLCA2OTYxNSwgNjk2MTksIDY5NjIzLCA2OTYyNywgNjk2MzAsIAorICAgIDY5NjMzLCA2OTYzNywgNjk2NDEsIDY5NjQ1LCA2OTY0OCwgNjk2NTEsIDY5NjU1LCA2OTY1OSwgNjk2NjMsIDY5NjY3LCAKKyAgICA2OTY3MSwgNjk2NzUsIDY5Njc5LCA2OTY4MywgNjk2ODcsIDY5NjkxLCA2OTY5NSwgNjk2OTksIDY5NzAzLCA2OTcwNywgCisgICAgNjk3MTEsIDY5NzE1LCA2OTcxOSwgNjk3MjMsIDY5NzI3LCA2OTczMSwgNjk3MzUsIDY5NzM5LCA2OTc0MywgNjk3NDcsIAorICAgIDY5NzUxLCA2OTc1NSwgNjk3NTksIDY5NzYzLCA2OTc2NywgNjk3NzEsIDY5Nzc1LCA2OTc3OSwgNjk3ODMsIDY5Nzg3LCAKKyAgICA2OTc5MSwgNjk3OTUsIDY5Nzk5LCA2OTgwMiwgNjk4MDYsIDY5ODEwLCA2OTgxNCwgNjk4MTgsIDY5ODIyLCA2OTgyNiwgCisgICAgNjk4MzAsIDY5ODM0LCA2OTgzOCwgNjk4NDIsIDY5ODQ2LCA2OTg1MCwgNjk4NTQsIDY5ODU4LCA2OTg2MiwgNjk4NjYsIAorICAgIDY5ODcwLCA2OTg3NCwgNjk4NzgsIDY5ODgyLCA2OTg4NiwgNjk4OTAsIDY5ODk0LCA2OTg5OCwgNjk5MDIsIDY5OTA2LCAKKyAgICA2OTkxMCwgNjk5MTQsIDY5OTE4LCA2OTkyMiwgNjk5MjYsIDY5OTMwLCA2OTkzNCwgNjk5MzgsIDY5OTQyLCA2OTk0NiwgCisgICAgNjk5NDksIDY5OTUzLCA2OTk1NywgNjk5NjEsIDY5OTY1LCA2OTk2OSwgNjk5NzMsIDY5OTc3LCA2OTk4MSwgNjk5ODUsIAorICAgIDY5OTg5LCA2OTk5MywgNjk5OTcsIDcwMDAxLCA3MDAwNSwgNzAwMDksIDcwMDEzLCA3MDAxNiwgNzAwMjAsIDcwMDI0LCAKKyAgICA3MDAyOCwgNzAwMzIsIDcwMDM2LCA3MDA0MCwgNzAwNDQsIDcwMDQ4LCA3MDA1MiwgNzAwNTYsIDcwMDYwLCA3MDA2NCwgCisgICAgNzAwNjgsIDcwMDcyLCA3MDA3NiwgNzAwODAsIDcwMDg0LCA3MDA4OCwgNzAwOTIsIDcwMDk2LCA3MDEwMCwgNzAxMDMsIAorICAgIDcwMTA3LCA3MDExMSwgNzAxMTUsIDcwMTE5LCA3MDEyMywgNzAxMjcsIDcwMTMxLCA3MDEzNSwgNzAxMzksIDcwMTQzLCAKKyAgICA3MDE0NywgNzAxNTEsIDcwMTU1LCA3MDE1OSwgNzAxNjMsIDcwMTY3LCA3MDE3MSwgNzAxNzUsIDcwMTc5LCA3MDE4MywgCisgICAgNzAxODcsIDcwMTkxLCA3MDE5NSwgNzAxOTksIDcwMjAzLCA3MDIwNywgNzAyMTEsIDcwMjE1LCA3MDIxOSwgNzAyMjMsIAorICAgIDcwMjI3LCA3MDIzMSwgNzAyMzUsIDcwMjM5LCA3MDI0MywgNzAyNDcsIDcwMjUxLCA3MDI1NSwgNzAyNTksIDcwMjYzLCAKKyAgICA3MDI2NywgNzAyNzEsIDcwMjc1LCA3MDI3OCwgNzAyODMsIDcwMjg3LCA3MDI5MywgNzAyOTgsIDcwMzA0LCA3MDMwOCwgCisgICAgNzAzMTIsIDcwMzE2LCA3MDMyMCwgNzAzMjQsIDcwMzI4LCA3MDMzMiwgNzAzMzYsIDcwMzQwLCA3MDM0NCwgNzAzNDgsIAorICAgIDcwMzUyLCA3MDM1NiwgNzAzNjAsIDcwMzYzLCA3MDM2NiwgNzAzNjksIDcwMzcyLCA3MDM3NSwgNzAzNzgsIDcwMzgxLCAKKyAgICA3MDM4NCwgNzAzODcsIDcwMzkyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCA3MDM5OCwgNzA0MDMsIDcwNDA4LCA3MDQxMywgNzA0MTgsIDcwNDI1LCA3MDQzMiwgNzA0MzcsIDcwNDQyLCAKKyAgICA3MDQ0NywgNzA0NTIsIDcwNDU5LCA3MDQ2NiwgNzA0NzMsIDcwNDgwLCA3MDQ4NywgNzA0OTQsIDcwNTA0LCA3MDUxNCwgCisgICAgNzA1MjEsIDcwNTI4LCA3MDUzNSwgNzA1NDIsIDcwNTQ4LCA3MDU1NCwgNzA1NjMsIDcwNTcyLCA3MDU3OSwgNzA1ODYsIAorICAgIDcwNTk3LCA3MDYwOCwgNzA2MTMsIDcwNjE4LCA3MDYyNSwgNzA2MzIsIDcwNjM5LCA3MDY0NiwgNzA2NTMsIDcwNjYwLCAKKyAgICA3MDY2NywgNzA2NzQsIDcwNjgwLCA3MDY4NiwgNzA2OTIsIDcwNjk4LCA3MDcwNSwgNzA3MTIsIDcwNzE3LCA3MDcyMSwgCisgICAgNzA3MjgsIDcwNzM1LCA3MDc0MiwgNzA3NDYsIDcwNzUzLCA3MDc1NywgNzA3NjIsIDcwNzY2LCA3MDc3MiwgNzA3NzcsIAorICAgIDcwNzgzLCA3MDc4OCwgNzA3OTIsIDcwNzk2LCA3MDc5OSwgNzA4MDIsIDcwODA3LCA3MDgxMiwgNzA4MTcsIDcwODIyLCAKKyAgICA3MDgyNywgNzA4MzIsIDcwODM3LCA3MDg0MiwgNzA4NDcsIDcwODUyLCA3MDg2MSwgNzA4NzAsIDcwODc1LCA3MDg4MCwgCisgICAgNzA4ODUsIDcwODkwLCA3MDg5NSwgNzA5MDAsIDcwOTA1LCA3MDkxMCwgNzA5MTUsIDcwOTIwLCA3MDkyNSwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgNzA5MzAsIDcwOTM2LCA3MDkzOSwgNzA5NDIsIDcwOTQ1LCA3MDk0OSwgNzA5NTMsIDcwOTU3LCAKKyAgICA3MDk2MSwgNzA5NjQsIDcwOTY4LCA3MDk3MSwgNzA5NzUsIDcwOTc4LCA3MDk4MiwgNzA5ODYsIDcwOTkwLCA3MDk5NCwgCisgICAgNzA5OTgsIDcxMDAyLCA3MTAwNiwgNzEwMDksIDcxMDEzLCA3MTAxNywgNzEwMjEsIDcxMDI1LCA3MTAyOSwgNzEwMzMsIAorICAgIDcxMDM3LCA3MTA0MSwgNzEwNDUsIDcxMDQ5LCA3MTA1MywgNzEwNTcsIDcxMDYxLCA3MTA2NSwgNzEwNjgsIDcxMDcyLCAKKyAgICA3MTA3NiwgNzEwODAsIDcxMDg0LCA3MTA4OCwgNzEwOTIsIDcxMDk2LCA3MTEwMCwgNzExMDQsIDcxMTA4LCA3MTExMiwgCisgICAgNzExMTYsIDcxMTIwLCA3MTEyNCwgNzExMjgsIDcxMTMyLCA3MTEzNiwgNzExNDAsIDcxMTQ0LCA3MTE0OCwgNzExNTIsIAorICAgIDcxMTU2LCA3MTE2MCwgNzExNjQsIDcxMTY3LCA3MTE3MSwgNzExNzUsIDcxMTc5LCA3MTE4MywgNzExODcsIDcxMTkxLCAKKyAgICA3MTE5NSwgNzExOTgsIDcxMjAyLCA3MTIwNiwgNzEyMTAsIDcxMjE0LCA3MTIxOCwgNzEyMjIsIDcxMjI2LCA3MTIzMCwgCisgICAgNzEyMzQsIDcxMjM4LCA3MTI0MiwgNzEyNDYsIDcxMjUxLCA3MTI1NiwgNzEyNTksIDcxMjY0LCA3MTI2NywgNzEyNzAsIAorICAgIDcxMjczLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3MTI3NywgNzEyODYsIDcxMjk1LCA3MTMwNCwgNzEzMTMsIDcxMzIyLCAKKyAgICA3MTMzMSwgNzEzNDAsIDcxMzQ5LCA3MTM1NywgNzEzNjQsIDcxMzcyLCA3MTM3OSwgNzEzODcsIDcxMzk3LCA3MTQwNiwgCisgICAgNzE0MTYsIDcxNDI1LCA3MTQzNSwgNzE0NDMsIDcxNDUwLCA3MTQ1OCwgNzE0NjUsIDcxNDczLCA3MTQ3OCwgNzE0ODMsIAorICAgIDcxNDg4LCA3MTQ5NywgNzE1MDMsIDcxNTA5LCA3MTUxNiwgNzE1MjUsIDcxNTMzLCA3MTU0MSwgNzE1NDksIDcxNTU2LCAKKyAgICA3MTU2MywgNzE1NzAsIDcxNTc3LCA3MTU4MiwgNzE1ODcsIDcxNTkyLCA3MTU5NywgNzE2MDIsIDcxNjA3LCA3MTYxMiwgCisgICAgNzE2MTcsIDcxNjI1LCA3MTYzMywgNzE2MzksIDcxNjQ1LCA3MTY1MCwgNzE2NTUsIDcxNjYwLCA3MTY2NSwgNzE2NzAsIAorICAgIDcxNjc1LCA3MTY4MCwgNzE2ODUsIDcxNjkzLCA3MTcwMSwgNzE3MDYsIDcxNzExLCA3MTcyMSwgNzE3MzEsIDcxNzM4LCAKKyAgICA3MTc0NSwgNzE3NTQsIDcxNzYzLCA3MTc3NSwgNzE3ODcsIDcxNzkzLCA3MTc5OSwgNzE4MDcsIDcxODE1LCA3MTgyNSwgCisgICAgNzE4MzUsIDcxODQyLCA3MTg0OSwgNzE4NTQsIDcxODU5LCA3MTg3MSwgNzE4ODMsIDcxODkxLCA3MTg5OSwgNzE5MDksIAorICAgIDcxOTE5LCA3MTkzMSwgNzE5NDMsIDcxOTUyLCA3MTk2MSwgNzE5NjgsIDcxOTc1LCA3MTk4MiwgNzE5ODksIDcxOTk4LCAKKyAgICA3MjAwNywgNzIwMTIsIDcyMDE3LCA3MjAyNCwgNzIwMzEsIDcyMDM4LCA3MjA0NSwgNzIwNTcsIDcyMDY5LCA3MjA3NCwgCisgICAgNzIwNzksIDcyMDg0LCA3MjA4OSwgNzIwOTQsIDcyMDk5LCA3MjEwNCwgNzIxMDksIDcyMTEzLCA3MjExOCwgNzIxMjMsIAorICAgIDcyMTI4LCA3MjEzMywgNzIxMzgsIDcyMTQ0LCA3MjE0OSwgNzIxNTQsIDcyMTYxLCA3MjE2OCwgNzIxNzUsIDcyMTgyLCAKKyAgICA3MjE4OSwgNzIxOTgsIDcyMjA3LCA3MjIxMywgNzIyMTksIDcyMjI1LCA3MjIzMSwgNzIyMzgsIDcyMjQ1LCA3MjI1MiwgCisgICAgNzIyNTksIDcyMjY2LCA3MjI3MCwgNzIyNzcsIDcyMjgyLCA3MjI4NywgNzIyOTQsIDAsIDcyMzA3LCA3MjMxNSwgNzIzMjMsIAorICAgIDcyMzMwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3MjMzNywgNzIzNDYsIDcyMzU1LCA3MjM2NCwgCisgICAgNzIzNzMsIDcyMzgyLCA3MjM5MSwgNzI0MDAsIDcyNDA5LCA3MjQxOCwgNzI0MjcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDcyNDM0LCAKKyAgICA3MjQ0MSwgNzI0NDcsIDcyNDU0LCA3MjQ2MiwgNzI0NzAsIDcyNDc3LCA3MjQ4NSwgNzI0OTIsIDcyNDk4LCA3MjUwNCwgCisgICAgNzI1MTEsIDcyNTE3LCA3MjUyMywgNzI1MjksIDcyNTM2LCA3MjU0MywgNzI1NTAsIDcyNTU3LCA3MjU2NCwgNzI1NzEsIAorICAgIDcyNTc4LCA3MjU4NSwgNzI1OTIsIDcyNTk5LCA3MjYwNiwgNzI2MTMsIDcyNjIwLCA3MjYyNywgNzI2MzMsIDcyNjQwLCAKKyAgICA3MjY0NywgNzI2NTQsIDcyNjYxLCA3MjY2OCwgNzI2NzUsIDcyNjgyLCA3MjY4OSwgNzI2OTYsIDcyNzAzLCA3MjcxMCwgCisgICAgNzI3MTcsIDcyNzI0LCA3MjczMSwgNzI3MzgsIDcyNzQ1LCA3Mjc1MiwgNzI3NTksIDcyNzY3LCA3Mjc3NSwgNzI3ODMsIAorICAgIDcyNzkxLCAwLCAwLCAwLCAwLCA3Mjc5OSwgNzI4MDgsIDcyODE3LCA3MjgyNiwgNzI4MzUsIDcyODQ0LCA3Mjg1MywgCisgICAgNzI4NjAsIDcyODY3LCA3Mjg3NCwgMCwgMCwgMCwgMCwgMCwgMCwgNzI4ODEsIDcyODg1LCA3Mjg5MCwgNzI4OTUsIDcyOTAwLCAKKyAgICA3MjkwNSwgNzI5MTAsIDcyOTE1LCA3MjkyMCwgNzI5MjUsIDcyOTMwLCA3MjkzNSwgNzI5MzksIDcyOTQzLCA3Mjk0OCwgCisgICAgNzI5NTMsIDcyOTU3LCA3Mjk2MiwgNzI5NjcsIDcyOTcyLCA3Mjk3NywgNzI5ODIsIDcyOTg3LCA3Mjk5MiwgNzI5OTYsIAorICAgIDczMDAwLCA3MzAwNSwgNzMwMTAsIDczMDE0LCA3MzAxOCwgNzMwMjIsIDczMDI2LCA3MzAzMCwgNzMwMzQsIDczMDM4LCAKKyAgICA3MzA0MywgNzMwNDgsIDczMDUzLCA3MzA1OCwgNzMwNjMsIDczMDcwLCA3MzA3NiwgNzMwODEsIDczMDg2LCA3MzA5MSwgCisgICAgNzMwOTYsIDczMTAyLCA3MzEwOSwgNzMxMTUsIDczMTIyLCA3MzEyOCwgNzMxMzQsIDczMTM5LCA3MzE0NiwgNzMxNTIsIAorICAgIDczMTU3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3MzE2MywgNzMxNjcsIDczMTcxLCA3MzE3NCwgNzMxNzgsIDczMTgxLCAKKyAgICA3MzE4NSwgNzMxODgsIDczMTkyLCA3MzE5NiwgNzMyMDEsIDczMjA1LCA3MzIxMCwgNzMyMTMsIDczMjE3LCA3MzIyMSwgCisgICAgNzMyMjQsIDczMjI4LCA3MzIzMiwgNzMyMzUsIDczMjM5LCA3MzI0MywgNzMyNDcsIDczMjUxLCA3MzI1NSwgNzMyNTksIAorICAgIDczMjYzLCA3MzI2NywgNzMyNzEsIDczMjc1LCA3MzI3OSwgNzMyODMsIDczMjg3LCA3MzI5MSwgNzMyOTUsIDczMjk5LCAKKyAgICA3MzMwMywgNzMzMDcsIDczMzEwLCA3MzMxMywgNzMzMTcsIDczMzIxLCA3MzMyNSwgNzMzMjgsIDczMzMxLCA3MzMzNCwgCisgICAgNzMzMzgsIDczMzQyLCA3MzM0NiwgNzMzNTAsIDczMzUzLCA3MzM1NiwgNzMzNjAsIDczMzY1LCA3MzM3MCwgNzMzNzQsIAorICAgIDczMzc5LCA3MzM4MywgNzMzODgsIDczMzkzLCA3MzM5OSwgNzM0MDQsIDczNDEwLCA3MzQxNCwgNzM0MTksIDczNDI0LCAKKyAgICA3MzQyOCwgNzM0MzMsIDczNDM4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3MzQ0MiwgNzM0NDUsIDczNDQ5LCAKKyAgICA3MzQ1MywgNzM0NTYsIDczNDU5LCA3MzQ2MiwgNzM0NjUsIDczNDY4LCA3MzQ3MSwgNzM0NzQsIDczNDc3LCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCA3MzQ4MCwgNzM0ODUsIDczNDg5LCA3MzQ5MywgNzM0OTcsIDczNTAxLCA3MzUwNSwgNzM1MDksIDczNTEzLCAKKyAgICA3MzUxNywgNzM1MjEsIDczNTI1LCA3MzUyOSwgNzM1MzMsIDczNTM3LCA3MzU0MSwgNzM1NDUsIDczNTUwLCA3MzU1NSwgCisgICAgNzM1NjEsIDczNTY3LCA3MzU3NCwgNzM1NzksIDczNTg0LCA3MzU5MCwgNzM1OTQsIDczNTk5LCA3MzYwMiwgMCwgMCwgMCwgCisgICAgMCwgNzM2MDUsIDczNjEyLCA3MzYxOCwgNzM2MjQsIDczNjMwLCA3MzYzNiwgNzM2NDIsIDczNjQ4LCA3MzY1NCwgNzM2NjAsIAorICAgIDczNjY2LCA3MzY3MiwgNzM2NzksIDczNjg2LCA3MzY5MywgNzM2OTksIDczNzA2LCA3MzcxMywgNzM3MjAsIDczNzI3LCAKKyAgICA3MzczNCwgNzM3NDAsIDczNzQ2LCA3Mzc1MywgNzM3NTksIDczNzY2LCA3Mzc3MywgNzM3NzksIDczNzg1LCA3Mzc5MiwgCisgICAgNzM3OTksIDczODA2LCA3MzgxMiwgNzM4MTksIDczODI2LCA3MzgzMiwgNzM4MzksIDczODQ1LCA3Mzg1MiwgNzM4NTksIAorICAgIDczODY1LCA3Mzg3MSwgNzM4NzgsIDczODg0LCA3Mzg5MSwgNzM4OTgsIDczOTA3LCA3MzkxNCwgNzM5MjEsIDczOTI1LCAKKyAgICA3MzkzMCwgNzM5MzUsIDczOTQwLCA3Mzk0NSwgNzM5NDksIDczOTUzLCA3Mzk1OCwgNzM5NjIsIDczOTY3LCA3Mzk3MiwgCisgICAgNzM5NzcsIDczOTgxLCA3Mzk4NSwgNzM5OTAsIDczOTk0LCA3Mzk5OSwgNzQwMDMsIDc0MDA4LCA3NDAxMywgNzQwMTgsIAorICAgIDc0MDIzLCA3NDAyNywgNzQwMzIsIDc0MDM3LCA3NDA0MiwgNzQwNDgsIDc0MDUzLCA3NDA1OSwgNzQwNjUsIDc0MDcxLCAKKyAgICA3NDA3NywgNzQwODMsIDc0MDg4LCA3NDA5NCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNzQwOTgsIAorICAgIDc0MTAzLCA3NDEwNywgNzQxMTEsIDc0MTE1LCA3NDExOSwgNzQxMjMsIDc0MTI3LCA3NDEzMSwgNzQxMzUsIDc0MTM5LCAKKyAgICA3NDE0MywgNzQxNDcsIDc0MTUxLCA3NDE1NSwgNzQxNTksIDc0MTYzLCA3NDE2NywgNzQxNzEsIDc0MTc1LCA3NDE3OSwgCisgICAgNzQxODMsIDc0MTg3LCA3NDE5MSwgNzQxOTUsIDc0MTk5LCA3NDIwMywgNzQyMDcsIDc0MjExLCA3NDIxNSwgMCwgMCwgMCwgCisgICAgNzQyMTksIDc0MjIzLCA3NDIyNywgNzQyMzEsIDc0MjM1LCA3NDIzOCwgNzQyNDQsIDc0MjQ3LCA3NDI1MSwgNzQyNTQsIAorICAgIDc0MjYwLCA3NDI2NiwgNzQyNzQsIDc0Mjc3LCA3NDI4MSwgNzQyODQsIDc0Mjg3LCA3NDI5MywgNzQyOTksIDc0MzAzLCAKKyAgICA3NDMwOSwgNzQzMTMsIDc0MzE3LCA3NDMyMywgNzQzMjcsIDc0MzMzLCA3NDMzOSwgNzQzNDMsIDc0MzQ3LCA3NDM1MywgCisgICAgNzQzNTcsIDc0MzYzLCA3NDM2OSwgNzQzNzMsIDc0Mzc5LCA3NDM4MywgNzQzODksIDc0MzkyLCA3NDM5NSwgNzQ0MDEsIAorICAgIDc0NDA1LCA3NDQxMSwgNzQ0MTQsIDc0NDE3LCA3NDQyMCwgNzQ0MjYsIDc0NDMwLCA3NDQzNCwgNzQ0NDAsIDc0NDQ2LCAKKyAgICA3NDQ0OSwgNzQ0NTIsIDc0NDU4LCA3NDQ2MywgNzQ0NjgsIDc0NDczLCA3NDQ4MCwgNzQ0ODUsIDc0NDkyLCA3NDQ5NywgCisgICAgNzQ1MDQsIDc0NTA5LCA3NDUxNCwgNzQ1MTksIDc0NTI0LCA3NDUyNywgNzQ1MzEsIDc0NTM1LCA3NDU0MCwgNzQ1NDUsIAorICAgIDc0NTUwLCA3NDU1NSwgNzQ1NjAsIDc0NTY1LCA3NDU3MCwgNzQ1NzUsIDc0NTgyLCA3NDU4NywgMCwgNzQ1OTQsIDc0NTk3LCAKKyAgICA3NDYwMSwgNzQ2MDQsIDc0NjA3LCA3NDYxMCwgNzQ2MTMsIDc0NjE2LCA3NDYxOSwgNzQ2MjIsIDc0NjI1LCAwLCAwLCAwLCAKKyAgICAwLCA3NDYyOCwgNzQ2MzUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDc0NjQwLCA3NDY0MywgNzQ2NDYsIDc0NjQ5LCA3NDY1MiwgCisgICAgNzQ2NTYsIDc0NjU5LCA3NDY2MiwgNzQ2NjYsIDc0NjcwLCA3NDY3NCwgNzQ2NzgsIDc0NjgyLCA3NDY4NiwgNzQ2OTAsIAorICAgIDc0Njk0LCA3NDY5OCwgNzQ3MDIsIDc0NzA2LCA3NDcxMCwgNzQ3MTQsIDc0NzE4LCA3NDcyMiwgNzQ3MjYsIDc0NzMwLCAKKyAgICA3NDczMywgNzQ3MzcsIDc0NzQwLCA3NDc0NCwgNzQ3NDgsIDc0NzUyLCA3NDc1NiwgNzQ3NjAsIDc0NzYzLCA3NDc2NywgCisgICAgNzQ3NzAsIDc0NzczLCA3NDc3NywgNzQ3ODEsIDc0Nzg1LCA3NDc4OCwgNzQ3OTEsIDc0Nzk2LCA3NDgwMCwgNzQ4MDUsIAorICAgIDc0ODEwLCA3NDgxNCwgNzQ4MTksIDc0ODIzLCA3NDgyOCwgNzQ4MzMsIDc0ODM4LCA3NDg0MiwgNzQ4NDYsIDc0ODUxLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3NDg1NiwgNzQ4NjEsIDc0ODY2LCA3NDg3MSwgNzQ4NzcsIDc0ODgyLCA3NDg4NywgCisgICAgNzQ4OTIsIDc0ODk3LCA3NDkwMiwgNzQ5MDYsIDc0OTEwLCA3NDkxNSwgNzQ5MjAsIDAsIDAsIDc0OTI2LCA3NDkzMCwgCisgICAgNzQ5MzMsIDc0OTM2LCA3NDkzOSwgNzQ5NDIsIDc0OTQ1LCA3NDk0OCwgNzQ5NTEsIDc0OTU0LCAwLCAwLCA3NDk1NywgCisgICAgNzQ5NjIsIDc0OTY3LCA3NDk3MywgNzQ5ODAsIDc0OTg2LCA3NDk5MiwgNzQ5OTgsIDc1MDA0LCA3NTAxMCwgNzUwMTYsIAorICAgIDc1MDIyLCA3NTAyOCwgNzUwMzQsIDc1MDQwLCA3NTA0NiwgNzUwNTEsIDc1MDU2LCA3NTA2MSwgNzUwNjcsIDc1MDczLCAKKyAgICA3NTA4MCwgNzUwODYsIDc1MDkyLCA3NTA5NywgNzUxMDQsIDc1MTExLCA3NTExOCwgNzUxMjQsIDc1MTI5LCA3NTEzNCwgCisgICAgNzUxMzksIDAsIDAsIDAsIDAsIDc1MTQ3LCA3NTE1MywgNzUxNTksIDc1MTY1LCA3NTE3MSwgNzUxNzcsIDc1MTgzLCAKKyAgICA3NTE4OSwgNzUxOTUsIDc1MjAxLCA3NTIwNywgNzUyMTMsIDc1MjE5LCA3NTIyNSwgNzUyMzEsIDc1MjM3LCA3NTI0MywgCisgICAgNzUyNDksIDc1MjU1LCA3NTI2MSwgNzUyNjcsIDc1MjcyLCA3NTI3NywgNzUyODMsIDc1Mjg5LCA3NTI5NSwgNzUzMDEsIAorICAgIDc1MzA3LCA3NTMxMywgNzUzMTksIDc1MzI1LCA3NTMzMSwgNzUzMzcsIDc1MzQzLCA3NTM0OSwgNzUzNTUsIDc1MzYxLCAKKyAgICA3NTM2NywgNzUzNzMsIDc1Mzc5LCA3NTM4NSwgNzUzOTEsIDc1Mzk3LCA3NTQwMywgNzU0MDksIDc1NDE1LCA3NTQyMSwgCisgICAgNzU0MjYsIDc1NDMxLCA3NTQzNywgNzU0NDIsIDc1NDQ2LCA3NTQ1MSwgNzU0NTUsIDc1NDU5LCA3NTQ2MywgNzU0NjksIAorICAgIDc1NDc0LCA3NTQ3OSwgNzU0ODQsIDc1NDg5LCA3NTQ5NCwgNzU0OTksIDc1NTA0LCA3NTUxMSwgNzU1MTgsIDc1NTI1LCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICA3Mzc2NCwgNzM3NjcsIDczNzcwLCA3Mzc3MywgNzM3NzYsIDczNzgwLCA3Mzc4MywgNzM3ODYsIDczNzkwLCA3Mzc5NCwgCi0gICAgNzM3OTgsIDczODAyLCA3MzgwNiwgNzM4MTAsIDczODE0LCA3MzgxOCwgNzM4MjIsIDczODI2LCA3MzgzMCwgNzM4MzQsIAotICAgIDczODM4LCA3Mzg0MiwgNzM4NDYsIDczODUwLCA3Mzg1NCwgNzM4NTcsIDczODYxLCA3Mzg2NCwgNzM4NjgsIDczODcyLCAKLSAgICA3Mzg3NiwgNzM4ODAsIDczODg0LCA3Mzg4NywgNzM4OTEsIDczODk0LCA3Mzg5NywgNzM5MDEsIDczOTA1LCA3MzkwOSwgCi0gICAgNzM5MTMsIDczOTE2LCA3MzkyMSwgNzM5MjUsIDczOTMwLCA3MzkzNSwgNzM5MzksIDczOTQ0LCA3Mzk0OCwgNzM5NTMsIAotICAgIDczOTU4LCA3Mzk2MywgNzM5NjgsIDczOTczLCA3Mzk3OSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNzM5ODUsIAotICAgIDczOTkwLCA3Mzk5NSwgNzQwMDAsIDc0MDA3LCA3NDAxMiwgNzQwMTcsIDc0MDIxLCA3NDAyNiwgNzQwMzEsIDc0MDM1LCAKLSAgICA3NDAzOSwgNzQwNDQsIDc0MDUwLCAwLCAwLCA3NDA1NywgNzQwNjEsIDc0MDY0LCA3NDA2NywgNzQwNzAsIDc0MDczLCAKLSAgICA3NDA3NiwgNzQwNzksIDc0MDgyLCA3NDA4NSwgMCwgMCwgNzQwODgsIDc0MDkzLCA3NDA5OCwgNzQxMDQsIDc0MTExLCAKLSAgICA3NDExNywgNzQxMjMsIDc0MTI5LCA3NDEzNSwgNzQxNDEsIDc0MTQ3LCA3NDE1MywgNzQxNTksIDc0MTY1LCA3NDE3MSwgCi0gICAgNzQxNzcsIDc0MTgyLCA3NDE4OCwgNzQxOTMsIDc0MTk5LCA3NDIwNSwgNzQyMTIsIDc0MjE4LCA3NDIyNCwgNzQyMjksIAotICAgIDc0MjM2LCA3NDI0MywgNzQyNTAsIDc0MjU2LCA3NDI2MSwgNzQyNjYsIDc0MjcxLCAwLCAwLCAwLCAwLCA3NDI3OSwgCi0gICAgNzQyODUsIDc0MjkxLCA3NDI5NywgNzQzMDMsIDc0MzA5LCA3NDMxNSwgNzQzMjEsIDc0MzI3LCA3NDMzMywgNzQzMzksIAotICAgIDc0MzQ1LCA3NDM1MSwgNzQzNTcsIDc0MzYzLCA3NDM2OSwgNzQzNzUsIDc0MzgxLCA3NDM4NywgNzQzOTMsIDc0Mzk5LCAKLSAgICA3NDQwNCwgNzQ0MDksIDc0NDE1LCA3NDQyMSwgNzQ0MjcsIDc0NDMzLCA3NDQzOSwgNzQ0NDUsIDc0NDUxLCA3NDQ1NywgCi0gICAgNzQ0NjMsIDc0NDY5LCA3NDQ3NSwgNzQ0ODEsIDc0NDg3LCA3NDQ5MywgNzQ0OTksIDc0NTA1LCA3NDUxMSwgNzQ1MTcsIAotICAgIDc0NTIzLCA3NDUyOSwgNzQ1MzUsIDc0NTQxLCA3NDU0NywgNzQ1NTMsIDc0NTU4LCA3NDU2MywgNzQ1NjksIDc0NTc0LCAKLSAgICA3NDU3OCwgNzQ1ODMsIDc0NTg3LCA3NDU5MSwgNzQ1OTUsIDc0NjAxLCA3NDYwNiwgNzQ2MTEsIDc0NjE2LCA3NDYyMSwgCi0gICAgNzQ2MjYsIDc0NjMxLCA3NDYzNiwgNzQ2NDMsIDc0NjUwLCA3NDY1NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNzQ2NjQsIDc0NjY5LCA3NDY3NCwgNzQ2NzksIAotICAgIDc0Njg2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3NDY5MywgNzQ2OTcsIDc0NzAxLCA3NDcwNSwgNzQ3MDksIAotICAgIDc0NzEzLCAwLCAwLCA3NDcxNywgNzQ3MjEsIDc0NzI1LCA3NDcyOSwgNzQ3MzMsIDc0NzM3LCAwLCAwLCA3NDc0MSwgCi0gICAgNzQ3NDUsIDc0NzQ5LCA3NDc1MywgNzQ3NTcsIDc0NzYxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3NDc2NSwgCi0gICAgNzQ3NjksIDc0NzczLCA3NDc3NywgNzQ3ODEsIDc0Nzg1LCA3NDc4OSwgMCwgNzQ3OTMsIDc0Nzk3LCA3NDgwMSwgNzQ4MDUsIAotICAgIDc0ODA5LCA3NDgxMywgNzQ4MTcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDc1NTMyLCA3NTUzNywgNzU1NDIsIDc1NTQ3LCA3NTU1NCwgNzU1NjEsIDc1NTY1LCA3NTU2OSwgNzU1NzQsIDc1NTc5LCAKKyAgICA3NTU4NCwgNzU1ODksIDc1NTk0LCA3NTU5OSwgNzU2MDQsIDc1NjA5LCA3NTYxNCwgNzU2MjAsIDc1NjI2LCA3NTYzMiwgCisgICAgNzU2MzgsIDc1NjQ0LCA3NTY0OCwgNzU2NTQsIDc1NjU4LCA3NTY2NCwgNzU2NzEsIDc1Njc3LCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCA3NTY4MSwgNzU2ODUsIDc1Njg5LCA3NTY5MywgNzU2OTcsIDc1NzAxLCAwLCAwLCA3NTcwNSwgNzU3MDksIAorICAgIDc1NzEzLCA3NTcxNywgNzU3MjEsIDc1NzI1LCAwLCAwLCA3NTcyOSwgNzU3MzMsIDc1NzM3LCA3NTc0MSwgNzU3NDUsIAorICAgIDc1NzQ5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3NTc1MywgNzU3NTcsIDc1NzYxLCA3NTc2NSwgNzU3NjksIAorICAgIDc1NzczLCA3NTc3NywgMCwgNzU3ODEsIDc1Nzg1LCA3NTc4OSwgNzU3OTMsIDc1Nzk3LCA3NTgwMSwgNzU4MDUsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDc0ODIxLCA3NDgyOCwgNzQ4MzUsIDc0ODQyLCA3NDg0OSwgNzQ4NTUsIDc0ODYxLCAKLSAgICA3NDg2OCwgNzQ4NzUsIDc0ODgyLCA3NDg4OSwgNzQ4OTYsIDc0OTAzLCA3NDkxMCwgNzQ5MTcsIDc0OTI0LCA3NDkzMCwgCi0gICAgNzQ5MzcsIDc0OTQ0LCA3NDk1MSwgNzQ5NTgsIDc0OTY1LCA3NDk3MiwgNzQ5NzksIDc0OTg2LCA3NDk5MywgNzUwMDAsIAotICAgIDc1MDA3LCA3NTAxNiwgNzUwMjUsIDc1MDM0LCA3NTA0MywgNzUwNTIsIDc1MDYxLCA3NTA3MCwgNzUwNzksIDc1MDg3LCAKLSAgICA3NTA5NSwgNzUxMDMsIDc1MTExLCA3NTExOSwgNzUxMjcsIDc1MTM1LCA3NTE0MywgNzUxNDksIDc1MTU3LCAwLCAwLCAKLSAgICA3NTE2NSwgNzUxNzIsIDc1MTc4LCA3NTE4NCwgNzUxOTAsIDc1MTk2LCA3NTIwMiwgNzUyMDgsIDc1MjE0LCA3NTIyMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgNzU4MDksIDc1ODE0LCA3NTgxOSwgNzU4MjQsIDc1ODI5LCA3NTgzMywgNzU4MzcsIDc1ODQyLCA3NTg0NywgNzU4NTIsIAorICAgIDc1ODU3LCA3NTg2MiwgNzU4NjcsIDc1ODcyLCA3NTg3NywgNzU4ODIsIDc1ODg2LCA3NTg5MSwgNzU4OTYsIDc1OTAxLCAKKyAgICA3NTkwNiwgNzU5MTEsIDc1OTE2LCA3NTkyMSwgNzU5MjYsIDc1OTMxLCA3NTkzNiwgNzU5NDEsIDc1OTQ4LCA3NTk1NSwgCisgICAgNzU5NjIsIDc1OTY5LCA3NTk3NiwgNzU5ODMsIDc1OTkwLCA3NTk5NywgNzYwMDMsIDc2MDA5LCA3NjAxNSwgNzYwMjEsIAorICAgIDc2MDI3LCA3NjAzMywgNzYwMzksIDc2MDQ1LCA3NjA0OSwgNzYwNTUsIDAsIDAsIDc2MDYxLCA3NjA2NiwgNzYwNzAsIAorICAgIDc2MDc0LCA3NjA3OCwgNzYwODIsIDc2MDg2LCA3NjA5MCwgNzYwOTQsIDc2MDk4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3NjEwMiwgCisgICAgNzYxMDYsIDc2MTEwLCA3NjExNCwgNzYxMTgsIDc2MTIyLCA3NjEyNiwgNzYxMzAsIDc2MTM0LCA3NjEzOCwgNzYxNDIsIAorICAgIDc2MTQ2LCA3NjE1MCwgNzYxNTQsIDc2MTU4LCA3NjE2MiwgNzYxNjYsIDc2MTcwLCA3NjE3NCwgNzYxNzgsIDc2MTgyLCAKKyAgICA3NjE4NiwgNzYxOTAsIDAsIDAsIDAsIDAsIDc2MTk0LCA3NjE5OCwgNzYyMDIsIDc2MjA2LCA3NjIxMCwgNzYyMTQsIAorICAgIDc2MjE4LCA3NjIyMiwgNzYyMjYsIDc2MjMwLCA3NjIzNCwgNzYyMzgsIDc2MjQyLCA3NjI0NiwgNzYyNTAsIDc2MjU0LCAKKyAgICA3NjI1OCwgNzYyNjIsIDc2MjY2LCA3NjI3MCwgNzYyNzQsIDc2Mjc4LCA3NjI4MiwgNzYyODYsIDc2MjkwLCA3NjI5NCwgCisgICAgNzYyOTgsIDc2MzAyLCA3NjMwNiwgNzYzMTAsIDc2MzE0LCA3NjMxOCwgNzYzMjIsIDc2MzI2LCA3NjMzMCwgNzYzMzQsIAorICAgIDc2MzM4LCA3NjM0MiwgNzYzNDYsIDc2MzUwLCA3NjM1NCwgNzYzNTgsIDc2MzYyLCA3NjM2NiwgNzYzNzAsIDc2Mzc0LCAKKyAgICA3NjM3OCwgNzYzODIsIDc2Mzg2LCAwLCAwLCAwLCAwLCA3NjM5MCwgNzYzOTQsIDc2Mzk4LCA3NjQwMiwgNzY0MDYsIAorICAgIDc2NDEwLCA3NjQxNCwgNzY0MTgsIDc2NDIyLCA3NjQyNiwgNzY0MzAsIDc2NDM0LCA3NjQzOCwgNzY0NDIsIDc2NDQ2LCAKKyAgICA3NjQ1MCwgNzY0NTQsIDc2NDU4LCA3NjQ2MiwgNzY0NjYsIDc2NDcwLCA3NjQ3NCwgNzY0NzgsIDc2NDgyLCA3NjQ4NiwgCisgICAgNzY0OTAsIDc2NDk0LCA3NjQ5OCwgNzY1MDIsIDc2NTA2LCA3NjUxMCwgNzY1MTQsIDc2NTE4LCA3NjUyMiwgNzY1MjYsIAorICAgIDc2NTMwLCA3NjUzNCwgNzY1MzgsIDc2NTQyLCA3NjU0NiwgNzY1NTAsIDc2NTU0LCA3NjU1OCwgNzY1NjIsIDc2NTY2LCAKKyAgICA3NjU3MCwgNzY1NzQsIDc2NTc4LCA3NjU4MiwgNzY1ODYsIDc2NTkwLCA3NjU5NCwgNzY1OTgsIDc2NjAyLCA3NjYwNiwgCisgICAgNzY2MTAsIDc2NjE0LCA3NjYxOCwgNzY2MjIsIDc2NjI2LCA3NjYzMCwgNzY2MzQsIDc2NjM4LCA3NjY0MiwgNzY2NDYsIAorICAgIDc2NjUwLCA3NjY1NCwgNzY2NTgsIDc2NjYyLCA3NjY2NiwgNzY2NzAsIDc2Njc0LCA3NjY3OCwgNzY2ODIsIDc2Njg2LCAKKyAgICA3NjY5MCwgNzY2OTQsIDc2Njk4LCA3NjcwMiwgNzY3MDYsIDc2NzEwLCA3NjcxNCwgNzY3MTgsIDc2NzIyLCA3NjcyNiwgCisgICAgNzY3MzAsIDc2NzM0LCA3NjczOCwgNzY3NDIsIDc2NzQ2LCA3Njc1MCwgNzY3NTQsIDc2NzU4LCA3Njc2MiwgNzY3NjYsIAorICAgIDc2NzcwLCA3Njc3NCwgNzY3NzgsIDc2NzgyLCA3Njc4NiwgNzY3OTAsIDc2Nzk0LCA3Njc5OCwgNzY4MDIsIDc2ODA2LCAKKyAgICA3NjgxMCwgNzY4MTQsIDc2ODE4LCA3NjgyMiwgNzY4MjYsIDc2ODMwLCA3NjgzNCwgNzY4MzgsIDc2ODQyLCA3Njg0NiwgCisgICAgNzY4NTAsIDc2ODU0LCA3Njg1OCwgNzY4NjIsIDc2ODY2LCA3Njg3MCwgNzY4NzQsIDc2ODc4LCA3Njg4MiwgNzY4ODYsIAorICAgIDc2ODkwLCA3Njg5NCwgNzY4OTgsIDc2OTAyLCA3NjkwNiwgNzY5MTAsIDc2OTE0LCA3NjkxOCwgNzY5MjIsIDc2OTI2LCAKKyAgICA3NjkzMCwgNzY5MzQsIDc2OTM4LCA3Njk0MiwgNzY5NDYsIDc2OTUwLCA3Njk1NCwgNzY5NTgsIDc2OTYyLCA3Njk2NiwgCisgICAgNzY5NzAsIDc2OTc0LCA3Njk3OCwgNzY5ODIsIDc2OTg2LCA3Njk5MCwgNzY5OTQsIDc2OTk4LCA3NzAwMiwgNzcwMDYsIAorICAgIDc3MDEwLCA3NzAxNCwgNzcwMTgsIDc3MDIyLCA3NzAyNiwgNzcwMzAsIDc3MDM0LCA3NzAzOCwgNzcwNDIsIDc3MDQ2LCAKKyAgICA3NzA1MCwgNzcwNTQsIDc3MDU4LCA3NzA2MiwgNzcwNjYsIDc3MDcwLCA3NzA3NCwgNzcwNzgsIDc3MDgyLCA3NzA4NiwgCisgICAgNzcwOTAsIDc3MDk0LCA3NzA5OCwgNzcxMDIsIDc3MTA2LCA3NzExMCwgNzcxMTQsIDc3MTE4LCA3NzEyMiwgNzcxMjYsIAorICAgIDc3MTMwLCA3NzEzNCwgNzcxMzgsIDc3MTQyLCA3NzE0NiwgNzcxNTAsIDc3MTU0LCA3NzE1OCwgNzcxNjIsIDc3MTY2LCAKKyAgICA3NzE3MCwgNzcxNzQsIDc3MTc4LCA3NzE4MiwgNzcxODYsIDc3MTkwLCA3NzE5NCwgNzcxOTgsIDc3MjAyLCA3NzIwNiwgCisgICAgNzcyMTAsIDc3MjE0LCA3NzIxOCwgNzcyMjIsIDc3MjI2LCA3NzIzMCwgNzcyMzQsIDc3MjM4LCA3NzI0MiwgNzcyNDYsIAorICAgIDc3MjUwLCA3NzI1NCwgNzcyNTgsIDc3MjYyLCA3NzI2NiwgNzcyNzAsIDc3Mjc0LCA3NzI3OCwgNzcyODIsIDc3Mjg2LCAKKyAgICA3NzI5MCwgNzcyOTQsIDc3Mjk4LCA3NzMwMiwgNzczMDYsIDc3MzEwLCA3NzMxNCwgNzczMTgsIDc3MzIyLCA3NzMyNiwgCisgICAgNzczMzAsIDc3MzM0LCA3NzMzOCwgNzczNDIsIDc3MzQ2LCA3NzM1MCwgNzczNTQsIDc3MzU4LCA3NzM2MiwgNzczNjYsIAorICAgIDc3MzcwLCA3NzM3NCwgNzczNzgsIDc3MzgyLCA3NzM4NiwgNzczOTAsIDc3Mzk0LCA3NzM5OCwgNzc0MDIsIDc3NDA2LCAKKyAgICA3NzQxMCwgNzc0MTQsIDc3NDE4LCA3NzQyMiwgNzc0MjYsIDc3NDMwLCA3NzQzNCwgNzc0MzgsIDc3NDQyLCA3NzQ0NiwgCisgICAgNzc0NTAsIDc3NDU0LCA3NzQ1OCwgNzc0NjIsIDc3NDY2LCA3NzQ3MCwgNzc0NzQsIDc3NDc4LCA3NzQ4MiwgNzc0ODYsIAorICAgIDc3NDkwLCA3NzQ5NCwgNzc0OTgsIDc3NTAyLCA3NzUwNiwgNzc1MTAsIDc3NTE0LCA3NzUxOCwgNzc1MjIsIDc3NTI2LCAKKyAgICA3NzUzMCwgNzc1MzQsIDc3NTM4LCA3NzU0MiwgNzc1NDYsIDc3NTUwLCA3NzU1NCwgNzc1NTgsIDc3NTYyLCA3NzU2NiwgCisgICAgNzc1NzAsIDc3NTc0LCA3NzU3OCwgNzc1ODIsIDc3NTg2LCA3NzU5MCwgNzc1OTQsIDc3NTk4LCA3NzYwMiwgNzc2MDYsIAorICAgIDc3NjEwLCA3NzYxNCwgNzc2MTgsIDc3NjIyLCA3NzYyNiwgNzc2MzAsIDc3NjM0LCA3NzYzOCwgNzc2NDIsIDc3NjQ2LCAKKyAgICA3NzY1MCwgNzc2NTQsIDc3NjU4LCA3NzY2MiwgNzc2NjYsIDc3NjcwLCA3NzY3NCwgNzc2NzgsIDc3NjgyLCA3NzY4NiwgCisgICAgNzc2OTAsIDc3Njk0LCA3NzY5OCwgNzc3MDIsIDc3NzA2LCA3NzcxMCwgNzc3MTQsIDc3NzE4LCA3NzcyMiwgNzc3MjYsIAorICAgIDc3NzMwLCA3NzczNCwgNzc3MzgsIDc3NzQyLCA3Nzc0NiwgNzc3NTAsIDc3NzU0LCA3Nzc1OCwgNzc3NjIsIDc3NzY2LCAKKyAgICA3Nzc3MCwgNzc3NzQsIDc3Nzc4LCA3Nzc4MiwgNzc3ODYsIDc3NzkwLCA3Nzc5NCwgNzc3OTgsIDc3ODAyLCA3NzgwNiwgCisgICAgNzc4MTAsIDc3ODE0LCA3NzgxOCwgNzc4MjIsIDc3ODI2LCA3NzgzMCwgNzc4MzQsIDc3ODM4LCA3Nzg0MiwgNzc4NDYsIAorICAgIDc3ODUwLCAwLCAwLCA3Nzg1NCwgNzc4NTgsIDc3ODYyLCA3Nzg2NiwgNzc4NzAsIDc3ODc0LCA3Nzg3OCwgNzc4ODIsIAorICAgIDc3ODg2LCA3Nzg5MCwgNzc4OTQsIDc3ODk4LCA3NzkwMiwgNzc5MDYsIDc3OTEwLCA3NzkxNCwgNzc5MTgsIDc3OTIyLCAKKyAgICA3NzkyNiwgNzc5MzAsIDc3OTM0LCA3NzkzOCwgNzc5NDIsIDc3OTQ2LCA3Nzk1MCwgNzc5NTQsIDc3OTU4LCA3Nzk2MiwgCisgICAgNzc5NjYsIDc3OTcwLCA3Nzk3NCwgNzc5NzgsIDc3OTgyLCA3Nzk4NiwgNzc5OTAsIDc3OTk0LCA3Nzk5OCwgNzgwMDIsIAorICAgIDc4MDA2LCA3ODAxMCwgNzgwMTQsIDc4MDE4LCA3ODAyMiwgNzgwMjYsIDc4MDMwLCA3ODAzNCwgNzgwMzgsIDc4MDQyLCAKKyAgICA3ODA0NiwgNzgwNTAsIDc4MDU0LCA3ODA1OCwgNzgwNjIsIDc4MDY2LCA3ODA3MCwgNzgwNzQsIDc4MDc4LCA3ODA4MiwgCisgICAgNzgwODYsIDc4MDkwLCA3ODA5NCwgNzgwOTgsIDc4MTAyLCA3ODEwNiwgNzgxMTAsIDc4MTE0LCA3ODExOCwgNzgxMjIsIAorICAgIDc4MTI2LCA3ODEzMCwgNzgxMzQsIDc4MTM4LCA3ODE0MiwgNzgxNDYsIDc4MTUwLCA3ODE1NCwgNzgxNTgsIDc4MTYyLCAKKyAgICA3ODE2NiwgNzgxNzAsIDc4MTc0LCA3ODE3OCwgNzgxODIsIDc4MTg2LCA3ODE5MCwgNzgxOTQsIDc4MTk4LCA3ODIwMiwgCisgICAgNzgyMDYsIDc4MjEwLCA3ODIxNCwgNzgyMTgsIDc4MjIyLCA3ODIyNiwgNzgyMzAsIDc4MjM0LCA3ODIzOCwgNzgyNDIsIAorICAgIDc4MjQ2LCA3ODI1MCwgNzgyNTQsIDc4MjU4LCA3ODI2MiwgNzgyNjYsIDc4MjcwLCA3ODI3NCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgNzUyMjYsIDc1MjMwLCA3NTIzNCwgNzUyMzgsIDc1MjQyLCA3NTI0NiwgNzUyNTAsIDc1MjU0LCAKLSAgICA3NTI1OCwgNzUyNjIsIDc1MjY2LCA3NTI3MCwgNzUyNzQsIDc1Mjc4LCA3NTI4MiwgNzUyODYsIDc1MjkwLCA3NTI5NCwgCi0gICAgNzUyOTgsIDc1MzAyLCA3NTMwNiwgNzUzMTAsIDc1MzE0LCAwLCAwLCAwLCAwLCA3NTMxOCwgNzUzMjIsIDc1MzI2LCAKLSAgICA3NTMzMCwgNzUzMzQsIDc1MzM4LCA3NTM0MiwgNzUzNDYsIDc1MzUwLCA3NTM1NCwgNzUzNTgsIDc1MzYyLCA3NTM2NiwgCi0gICAgNzUzNzAsIDc1Mzc0LCA3NTM3OCwgNzUzODIsIDc1Mzg2LCA3NTM5MCwgNzUzOTQsIDc1Mzk4LCA3NTQwMiwgNzU0MDYsIAotICAgIDc1NDEwLCA3NTQxNCwgNzU0MTgsIDc1NDIyLCA3NTQyNiwgNzU0MzAsIDc1NDM0LCA3NTQzOCwgNzU0NDIsIDc1NDQ2LCAKLSAgICA3NTQ1MCwgNzU0NTQsIDc1NDU4LCA3NTQ2MiwgNzU0NjYsIDc1NDcwLCA3NTQ3NCwgNzU0NzgsIDc1NDgyLCA3NTQ4NiwgCi0gICAgNzU0OTAsIDc1NDk0LCA3NTQ5OCwgNzU1MDIsIDc1NTA2LCA3NTUxMCwgMCwgMCwgMCwgMCwgNzU1MTQsIDc1NTE4LCAKLSAgICA3NTUyMiwgNzU1MjYsIDc1NTMwLCA3NTUzNCwgNzU1MzgsIDc1NTQyLCA3NTU0NiwgNzU1NTAsIDc1NTU0LCA3NTU1OCwgCi0gICAgNzU1NjIsIDc1NTY2LCA3NTU3MCwgNzU1NzQsIDc1NTc4LCA3NTU4MiwgNzU1ODYsIDc1NTkwLCA3NTU5NCwgNzU1OTgsIAotICAgIDc1NjAyLCA3NTYwNiwgNzU2MTAsIDc1NjE0LCA3NTYxOCwgNzU2MjIsIDc1NjI2LCA3NTYzMCwgNzU2MzQsIDc1NjM4LCAKLSAgICA3NTY0MiwgNzU2NDYsIDc1NjUwLCA3NTY1NCwgNzU2NTgsIDc1NjYyLCA3NTY2NiwgNzU2NzAsIDc1Njc0LCA3NTY3OCwgCi0gICAgNzU2ODIsIDc1Njg2LCA3NTY5MCwgNzU2OTQsIDc1Njk4LCA3NTcwMiwgNzU3MDYsIDc1NzEwLCA3NTcxNCwgNzU3MTgsIAotICAgIDc1NzIyLCA3NTcyNiwgNzU3MzAsIDc1NzM0LCA3NTczOCwgNzU3NDIsIDc1NzQ2LCA3NTc1MCwgNzU3NTQsIDc1NzU4LCAKLSAgICA3NTc2MiwgNzU3NjYsIDc1NzcwLCA3NTc3NCwgNzU3NzgsIDc1NzgyLCA3NTc4NiwgNzU3OTAsIDc1Nzk0LCA3NTc5OCwgCi0gICAgNzU4MDIsIDc1ODA2LCA3NTgxMCwgNzU4MTQsIDc1ODE4LCA3NTgyMiwgNzU4MjYsIDc1ODMwLCA3NTgzNCwgNzU4MzgsIAotICAgIDc1ODQyLCA3NTg0NiwgNzU4NTAsIDc1ODU0LCA3NTg1OCwgNzU4NjIsIDc1ODY2LCA3NTg3MCwgNzU4NzQsIDc1ODc4LCAKLSAgICA3NTg4MiwgNzU4ODYsIDc1ODkwLCA3NTg5NCwgNzU4OTgsIDc1OTAyLCA3NTkwNiwgNzU5MTAsIDc1OTE0LCA3NTkxOCwgCi0gICAgNzU5MjIsIDc1OTI2LCA3NTkzMCwgNzU5MzQsIDc1OTM4LCA3NTk0MiwgNzU5NDYsIDc1OTUwLCA3NTk1NCwgNzU5NTgsIAotICAgIDc1OTYyLCA3NTk2NiwgNzU5NzAsIDc1OTc0LCA3NTk3OCwgNzU5ODIsIDc1OTg2LCA3NTk5MCwgNzU5OTQsIDc1OTk4LCAKLSAgICA3NjAwMiwgNzYwMDYsIDc2MDEwLCA3NjAxNCwgNzYwMTgsIDc2MDIyLCA3NjAyNiwgNzYwMzAsIDc2MDM0LCA3NjAzOCwgCi0gICAgNzYwNDIsIDc2MDQ2LCA3NjA1MCwgNzYwNTQsIDc2MDU4LCA3NjA2MiwgNzYwNjYsIDc2MDcwLCA3NjA3NCwgNzYwNzgsIAotICAgIDc2MDgyLCA3NjA4NiwgNzYwOTAsIDc2MDk0LCA3NjA5OCwgNzYxMDIsIDc2MTA2LCA3NjExMCwgNzYxMTQsIDc2MTE4LCAKLSAgICA3NjEyMiwgNzYxMjYsIDc2MTMwLCA3NjEzNCwgNzYxMzgsIDc2MTQyLCA3NjE0NiwgNzYxNTAsIDc2MTU0LCA3NjE1OCwgCi0gICAgNzYxNjIsIDc2MTY2LCA3NjE3MCwgNzYxNzQsIDc2MTc4LCA3NjE4MiwgNzYxODYsIDc2MTkwLCA3NjE5NCwgNzYxOTgsIAotICAgIDc2MjAyLCA3NjIwNiwgNzYyMTAsIDc2MjE0LCA3NjIxOCwgNzYyMjIsIDc2MjI2LCA3NjIzMCwgNzYyMzQsIDc2MjM4LCAKLSAgICA3NjI0MiwgNzYyNDYsIDc2MjUwLCA3NjI1NCwgNzYyNTgsIDc2MjYyLCA3NjI2NiwgNzYyNzAsIDc2Mjc0LCA3NjI3OCwgCi0gICAgNzYyODIsIDc2Mjg2LCA3NjI5MCwgNzYyOTQsIDc2Mjk4LCA3NjMwMiwgNzYzMDYsIDc2MzEwLCA3NjMxNCwgNzYzMTgsIAotICAgIDc2MzIyLCA3NjMyNiwgNzYzMzAsIDc2MzM0LCA3NjMzOCwgNzYzNDIsIDc2MzQ2LCA3NjM1MCwgNzYzNTQsIDc2MzU4LCAKLSAgICA3NjM2MiwgNzYzNjYsIDc2MzcwLCA3NjM3NCwgNzYzNzgsIDc2MzgyLCA3NjM4NiwgNzYzOTAsIDc2Mzk0LCA3NjM5OCwgCi0gICAgNzY0MDIsIDc2NDA2LCA3NjQxMCwgNzY0MTQsIDc2NDE4LCA3NjQyMiwgNzY0MjYsIDc2NDMwLCA3NjQzNCwgNzY0MzgsIAotICAgIDc2NDQyLCA3NjQ0NiwgNzY0NTAsIDc2NDU0LCA3NjQ1OCwgNzY0NjIsIDc2NDY2LCA3NjQ3MCwgNzY0NzQsIDc2NDc4LCAKLSAgICA3NjQ4MiwgNzY0ODYsIDc2NDkwLCA3NjQ5NCwgNzY0OTgsIDc2NTAyLCA3NjUwNiwgNzY1MTAsIDc2NTE0LCA3NjUxOCwgCi0gICAgNzY1MjIsIDc2NTI2LCA3NjUzMCwgNzY1MzQsIDc2NTM4LCA3NjU0MiwgNzY1NDYsIDc2NTUwLCA3NjU1NCwgNzY1NTgsIAotICAgIDc2NTYyLCA3NjU2NiwgNzY1NzAsIDc2NTc0LCA3NjU3OCwgNzY1ODIsIDc2NTg2LCA3NjU5MCwgNzY1OTQsIDc2NTk4LCAKLSAgICA3NjYwMiwgNzY2MDYsIDc2NjEwLCA3NjYxNCwgNzY2MTgsIDc2NjIyLCA3NjYyNiwgNzY2MzAsIDc2NjM0LCA3NjYzOCwgCi0gICAgNzY2NDIsIDc2NjQ2LCA3NjY1MCwgNzY2NTQsIDc2NjU4LCA3NjY2MiwgNzY2NjYsIDc2NjcwLCA3NjY3NCwgNzY2NzgsIAotICAgIDc2NjgyLCA3NjY4NiwgNzY2OTAsIDc2Njk0LCA3NjY5OCwgNzY3MDIsIDc2NzA2LCA3NjcxMCwgNzY3MTQsIDc2NzE4LCAwLCAKLSAgICAwLCA3NjcyMiwgNzY3MjYsIDc2NzMwLCA3NjczNCwgNzY3MzgsIDc2NzQyLCA3Njc0NiwgNzY3NTAsIDc2NzU0LCA3Njc1OCwgCi0gICAgNzY3NjIsIDc2NzY2LCA3Njc3MCwgNzY3NzQsIDc2Nzc4LCA3Njc4MiwgNzY3ODYsIDc2NzkwLCA3Njc5NCwgNzY3OTgsIAotICAgIDc2ODAyLCA3NjgwNiwgNzY4MTAsIDc2ODE0LCA3NjgxOCwgNzY4MjIsIDc2ODI2LCA3NjgzMCwgNzY4MzQsIDc2ODM4LCAKLSAgICA3Njg0MiwgNzY4NDYsIDc2ODUwLCA3Njg1NCwgNzY4NTgsIDc2ODYyLCA3Njg2NiwgNzY4NzAsIDc2ODc0LCA3Njg3OCwgCi0gICAgNzY4ODIsIDc2ODg2LCA3Njg5MCwgNzY4OTQsIDc2ODk4LCA3NjkwMiwgNzY5MDYsIDc2OTEwLCA3NjkxNCwgNzY5MTgsIAotICAgIDc2OTIyLCA3NjkyNiwgNzY5MzAsIDc2OTM0LCA3NjkzOCwgNzY5NDIsIDc2OTQ2LCA3Njk1MCwgNzY5NTQsIDc2OTU4LCAKLSAgICA3Njk2MiwgNzY5NjYsIDAsIDAsIDc2OTcwLCA3Njk3NCwgNzY5NzgsIDc2OTgyLCA3Njk4NiwgNzY5OTAsIDc2OTk0LCAKLSAgICA3Njk5OCwgNzcwMDIsIDc3MDA2LCA3NzAxMCwgNzcwMTQsIDc3MDE4LCA3NzAyMiwgNzcwMjYsIDc3MDMwLCA3NzAzNCwgCi0gICAgNzcwMzgsIDc3MDQyLCA3NzA0NiwgNzcwNTAsIDc3MDU0LCA3NzA1OCwgNzcwNjIsIDc3MDY2LCA3NzA3MCwgNzcwNzQsIAotICAgIDc3MDc4LCA3NzA4MiwgNzcwODYsIDc3MDkwLCA3NzA5NCwgNzcwOTgsIDc3MTAyLCA3NzEwNiwgNzcxMTAsIDc3MTE0LCAKLSAgICA3NzExOCwgNzcxMjIsIDc3MTI2LCA3NzEzMCwgNzcxMzQsIDc3MTM4LCA3NzE0MiwgNzcxNDYsIDc3MTUwLCA3NzE1NCwgCi0gICAgNzcxNTgsIDc3MTYyLCA3NzE2NiwgNzcxNzAsIDc3MTc0LCA3NzE3OCwgNzcxODIsIDc3MTg2LCA3NzE5MCwgNzcxOTQsIAotICAgIDc3MTk4LCA3NzIwMiwgNzcyMDYsIDc3MjEwLCA3NzIxNCwgNzcyMTgsIDc3MjIyLCA3NzIyNiwgNzcyMzAsIDc3MjM0LCAKLSAgICA3NzIzOCwgNzcyNDIsIDc3MjQ2LCA3NzI1MCwgNzcyNTQsIDc3MjU4LCA3NzI2MiwgNzcyNjYsIDc3MjcwLCA3NzI3NCwgCi0gICAgNzcyNzgsIDc3MjgyLCA3NzI4NiwgNzcyOTAsIDc3Mjk0LCA3NzI5OCwgNzczMDIsIDc3MzA2LCA3NzMxMCwgNzczMTQsIAotICAgIDc3MzE4LCA3NzMyMiwgNzczMjYsIDc3MzMwLCA3NzMzNCwgNzczMzgsIDc3MzQyLCA3NzM0NiwgNzczNTAsIDc3MzU0LCAKLSAgICA3NzM1OCwgNzczNjIsIDc3MzY2LCA3NzM3MCwgNzczNzQsIDc3Mzc4LCA3NzM4MiwgNzczODYsIDc3MzkwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3ODI3OCwgNzgyODMsIDc4Mjg4LCA3ODI5MywgNzgyOTgsIDc4MzAzLCA3ODMxMSwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNzgzMTYsIDc4MzIzLCA3ODMzMCwgNzgzMzcsIDc4MzQ0LCAwLCAKKyAgICAwLCAwLCAwLCAwLCA3ODM1MSwgNzgzNTgsIDc4MzY1LCA3ODM3NSwgNzgzODEsIDc4Mzg3LCA3ODM5MywgNzgzOTksIAorICAgIDc4NDA1LCA3ODQxMSwgNzg0MTgsIDc4NDI0LCA3ODQzMCwgNzg0MzYsIDc4NDQ1LCA3ODQ1NCwgNzg0NjYsIDc4NDc4LCAKKyAgICA3ODQ4NCwgNzg0OTAsIDc4NDk2LCA3ODUwMywgNzg1MTAsIDc4NTE3LCA3ODUyNCwgNzg1MzEsIDAsIDc4NTM4LCA3ODU0NSwgCisgICAgNzg1NTIsIDc4NTYwLCA3ODU2NywgMCwgNzg1NzQsIDAsIDc4NTgxLCA3ODU4OCwgMCwgNzg1OTUsIDc4NjAzLCAwLCAKKyAgICA3ODYxMCwgNzg2MTcsIDc4NjI0LCA3ODYzMSwgNzg2MzgsIDc4NjQ1LCA3ODY1MiwgNzg2NTksIDc4NjY2LCA3ODY3MywgCisgICAgNzg2NzgsIDc4Njg1LCA3ODY5MiwgNzg2OTgsIDc4NzA0LCA3ODcxMCwgNzg3MTYsIDc4NzIyLCA3ODcyOCwgNzg3MzQsIAorICAgIDc4NzQwLCA3ODc0NiwgNzg3NTIsIDc4NzU4LCA3ODc2NCwgNzg3NzAsIDc4Nzc2LCA3ODc4MiwgNzg3ODgsIDc4Nzk0LCAKKyAgICA3ODgwMCwgNzg4MDYsIDc4ODEyLCA3ODgxOCwgNzg4MjQsIDc4ODMwLCA3ODgzNiwgNzg4NDIsIDc4ODQ4LCA3ODg1NCwgCisgICAgNzg4NjAsIDc4ODY2LCA3ODg3MiwgNzg4NzgsIDc4ODg0LCA3ODg5MCwgNzg4OTYsIDc4OTAyLCA3ODkwOCwgNzg5MTQsIAorICAgIDc4OTIwLCA3ODkyNiwgNzg5MzIsIDc4OTM4LCA3ODk0NCwgNzg5NTAsIDc4OTU2LCA3ODk2MiwgNzg5NjgsIDc4OTc0LCAKKyAgICA3ODk4MCwgNzg5ODYsIDc4OTkyLCA3ODk5OCwgNzkwMDQsIDc5MDEwLCA3OTAxNiwgNzkwMjIsIDc5MDI4LCA3OTAzNCwgCisgICAgNzkwNDAsIDc5MDQ2LCA3OTA1MiwgNzkwNTgsIDc5MDY0LCA3OTA3MCwgNzkwNzYsIDc5MDgyLCA3OTA4OCwgNzkwOTQsIAorICAgIDc5MTAwLCA3OTEwNiwgNzkxMTIsIDc5MTE4LCA3OTEyNCwgNzkxMzAsIDc5MTM2LCA3OTE0MiwgNzkxNDgsIDc5MTU2LCAKKyAgICA3OTE2NCwgNzkxNzAsIDc5MTc2LCA3OTE4MiwgNzkxODgsIDc5MTk3LCA3OTIwNiwgNzkyMTQsIDc5MjIyLCA3OTIzMCwgCisgICAgNzkyMzgsIDc5MjQ2LCA3OTI1NCwgNzkyNjIsIDc5MjcwLCA3OTI3NywgNzkyODQsIDc5Mjk0LCA3OTMwNCwgNzkzMDgsIAorICAgIDc5MzEyLCA3OTMxNywgNzkzMjIsIDc5MzI3LCA3OTMzMiwgNzkzNDEsIDc5MzUwLCA3OTM1NiwgNzkzNjIsIDc5MzY5LCAKKyAgICA3OTM3NiwgNzkzODMsIDc5Mzg3LCA3OTM5MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgNzkzOTksIDc5NDA1LCA3OTQxMSwgNzk0MTcsIDc5NDIzLCA3OTQyOCwgNzk0MzMsIDc5NDM5LCA3OTQ0NSwgCisgICAgNzk0NTEsIDc5NDU3LCA3OTQ2NSwgNzk0NzEsIDc5NDc3LCA3OTQ4NSwgNzk0OTMsIDc5NTAxLCA3OTUwOSwgNzk1MTQsIAorICAgIDc5NTE5LCA3OTUyNCwgNzk1MjksIDc5NTQyLCA3OTU1NSwgNzk1NjUsIDc5NTc1LCA3OTU4NiwgNzk1OTcsIDc5NjA4LCAKKyAgICA3OTYxOSwgNzk2MjksIDc5NjM5LCA3OTY1MCwgNzk2NjEsIDc5NjcyLCA3OTY4MywgNzk2OTMsIDc5NzAzLCA3OTcxMywgCisgICAgNzk3MjksIDc5NzQ1LCA3OTc2MSwgNzk3NjgsIDc5Nzc1LCA3OTc4MiwgNzk3ODksIDc5Nzk5LCA3OTgwOSwgNzk4MTksIAorICAgIDc5ODMxLCA3OTg0MSwgNzk4NDksIDc5ODU3LCA3OTg2NiwgNzk4NzQsIDc5ODg0LCA3OTg5MiwgNzk5MDAsIDc5OTA4LCAKKyAgICA3OTkxNywgNzk5MjUsIDc5OTM1LCA3OTk0MywgNzk5NTEsIDc5OTU5LCA3OTk2OSwgNzk5NzcsIDc5OTg0LCA3OTk5MSwgCisgICAgNzk5OTgsIDgwMDA1LCA4MDAxMywgODAwMjEsIDgwMDI5LCA4MDAzNywgODAwNDUsIDgwMDU0LCA4MDA2MiwgODAwNzAsIAorICAgIDgwMDc4LCA4MDA4NiwgODAwOTQsIDgwMTAzLCA4MDExMSwgODAxMTksIDgwMTI3LCA4MDEzNSwgODAxNDMsIDgwMTUxLCAKKyAgICA4MDE1OSwgODAxNjcsIDgwMTc1LCA4MDE4MywgODAxOTIsIDgwMjAwLCA4MDIxMCwgODAyMTgsIDgwMjI2LCA4MDIzNCwgCisgICAgODAyNDQsIDgwMjUyLCA4MDI2MCwgODAyNjgsIDgwMjc2LCA4MDI4NSwgODAyOTQsIDgwMzAyLCA4MDMxMiwgODAzMjAsIAorICAgIDgwMzI4LCA4MDMzNiwgODAzNDUsIDgwMzUzLCA4MDM2MywgODAzNzEsIDgwMzc4LCA4MDM4NSwgODAzOTMsIDgwNDAwLCAKKyAgICA4MDQwOSwgODA0MTYsIDgwNDI0LCA4MDQzMiwgODA0NDEsIDgwNDQ5LCA4MDQ1OSwgODA0NjcsIDgwNDc1LCA4MDQ4MywgCisgICAgODA0OTMsIDgwNTAxLCA4MDUwOCwgODA1MTUsIDgwNTIzLCA4MDUzMCwgODA1MzksIDgwNTQ2LCA4MDU1NiwgODA1NjYsIAorICAgIDgwNTc3LCA4MDU4NiwgODA1OTUsIDgwNjA0LCA4MDYxMywgODA2MjIsIDgwNjMyLCA4MDY0MywgODA2NTQsIDgwNjY0LCAKKyAgICA4MDY3NSwgODA2ODcsIDgwNjk3LCA4MDcwNiwgODA3MTUsIDgwNzIzLCA4MDczMiwgODA3NDIsIDgwNzUwLCA4MDc1OSwgCisgICAgODA3NjgsIDgwNzc2LCA4MDc4NSwgODA3OTUsIDgwODAzLCA4MDgxMiwgODA4MjEsIDgwODI5LCA4MDgzOCwgODA4NDgsIAorICAgIDgwODU2LCA4MDg2NiwgODA4NzQsIDgwODg0LCA4MDg5MiwgODA5MDAsIDgwOTA5LCA4MDkxNywgODA5MjcsIDgwOTM1LCAKKyAgICA4MDk0MywgODA5NTMsIDgwOTYxLCA4MDk2OCwgODA5NzUsIDgwOTg0LCA4MDk5MywgODEwMDEsIDgxMDEwLCA4MTAyMCwgCisgICAgODEwMjgsIDgxMDM5LCA4MTA0NywgODEwNTUsIDgxMDYyLCA4MTA3MCwgODEwNzksIDgxMDg2LCA4MTA5NiwgODExMDYsIAorICAgIDgxMTE3LCA4MTEyNywgODExMzgsIDgxMTQ2LCA4MTE1NCwgODExNjMsIDgxMTcxLCA4MTE4MCwgODExODgsIDgxMTk2LCAKKyAgICA4MTIwNSwgODEyMTMsIDgxMjIyLCA4MTIzMCwgODEyMzcsIDgxMjQ0LCA4MTI1MSwgODEyNTgsIDgxMjY2LCA4MTI3NCwgCisgICAgODEyODIsIDgxMjkwLCA4MTI5OSwgODEzMDcsIDgxMzE1LCA4MTMyNCwgODEzMzIsIDgxMzQwLCA4MTM0OCwgODEzNTcsIAorICAgIDgxMzY1LCA4MTM3MywgODEzODEsIDgxMzg5LCA4MTM5NywgODE0MDUsIDgxNDEzLCA4MTQyMSwgODE0MjksIDgxNDM4LCAKKyAgICA4MTQ0NiwgODE0NTQsIDgxNDYyLCA4MTQ3MCwgODE0NzgsIDgxNDg3LCA4MTQ5NiwgODE1MDQsIDgxNTEyLCA4MTUyMCwgCisgICAgODE1MjksIDgxNTM3LCA4MTU0NiwgODE1NTMsIDgxNTYwLCA4MTU2OCwgODE1NzUsIDgxNTgzLCA4MTU5MSwgODE2MDAsIAorICAgIDgxNjA4LCA4MTYxNywgODE2MjUsIDgxNjMzLCA4MTY0MywgODE2NTAsIDgxNjU3LCA4MTY2NSwgODE2NzIsIDgxNjgwLCAKKyAgICA4MTY5MCwgODE3MDEsIDgxNzA5LCA4MTcxOCwgODE3MjYsIDgxNzM1LCA4MTc0MywgODE3NTIsIDgxNzYwLCA4MTc2OSwgCisgICAgODE3NzcsIDgxNzg2LCA4MTc5NSwgODE4MDMsIDgxODExLCA4MTgxOSwgODE4MjgsIDgxODM1LCA4MTg0MywgODE4NTIsIAorICAgIDgxODYxLCA4MTg3MCwgODE4ODAsIDgxODg4LCA4MTg5OCwgODE5MDYsIDgxOTE2LCA4MTkyNCwgODE5MzQsIDgxOTQyLCAKKyAgICA4MTk1MiwgODE5NjAsIDgxOTY5LCA4MTk3NiwgODE5ODUsIDgxOTkyLCA4MjAwMiwgODIwMTAsIDgyMDIwLCA4MjAyOCwgCisgICAgODIwMzgsIDgyMDQ2LCA4MjA1NCwgODIwNjIsIDgyMDcxLCA4MjA3OSwgODIwODgsIDgyMDk3LCA4MjEwNiwgODIxMTUsIAorICAgIDgyMTI1LCA4MjEzMywgODIxNDMsIDgyMTUxLCA4MjE2MSwgODIxNjksIDgyMTc5LCA4MjE4NywgODIxOTcsIDgyMjA1LCAKKyAgICA4MjIxNCwgODIyMjEsIDgyMjMwLCA4MjIzNywgODIyNDcsIDgyMjU1LCA4MjI2NSwgODIyNzMsIDgyMjgzLCA4MjI5MSwgCisgICAgODIyOTksIDgyMzA3LCA4MjMxNiwgODIzMjQsIDgyMzMzLCA4MjM0MiwgODIzNTEsIDgyMzYwLCA4MjM2OCwgODIzNzYsIAorICAgIDgyMzg1LCA4MjM5MywgODI0MDIsIDgyNDExLCA4MjQxOSwgODI0MjcsIDgyNDM1LCA4MjQ0NCwgODI0NTIsIDgyNDYwLCAKKyAgICA4MjQ2OSwgODI0NzcsIDgyNDg1LCA4MjQ5MywgODI1MDEsIDgyNTA2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCA4MjUxMSwgODI1MjEsIDgyNTMxLCA4MjU0MSwgODI1NTEsIDgyNTYyLCA4MjU3MiwgODI1ODIsIAorICAgIDgyNTkzLCA4MjYwMiwgODI2MTEsIDgyNjIwLCA4MjYzMSwgODI2NDEsIDgyNjUxLCA4MjY2MywgODI2NzMsIDgyNjgzLCAKKyAgICA4MjY5MywgODI3MDMsIDgyNzEzLCA4MjcyMywgODI3MzMsIDgyNzQzLCA4Mjc1MywgODI3NjMsIDgyNzczLCA4Mjc4NCwgCisgICAgODI3OTUsIDgyODA1LCA4MjgxNSwgODI4MjcsIDgyODM4LCA4Mjg0OSwgODI4NTksIDgyODY5LCA4Mjg3OSwgODI4ODksIAorICAgIDgyODk5LCA4MjkwOSwgODI5MTksIDgyOTMxLCA4Mjk0MSwgODI5NTEsIDgyOTYzLCA4Mjk3NCwgODI5ODUsIDgyOTk1LCAKKyAgICA4MzAwNSwgODMwMTUsIDgzMDI1LCA4MzAzNywgODMwNDcsIDgzMDU3LCA4MzA2OCwgODMwNzksIDgzMDg5LCA4MzA5OSwgCisgICAgODMxMDgsIDgzMTE3LCA4MzEyNiwgODMxMzUsIDgzMTQ0LCA4MzE1NCwgMCwgMCwgODMxNjQsIDgzMTc0LCA4MzE4NCwgCisgICAgODMxOTQsIDgzMjA0LCA4MzIxNiwgODMyMjYsIDgzMjM2LCA4MzI0OCwgODMyNTgsIDgzMjcwLCA4MzI3OSwgODMyODgsIAorICAgIDgzMjk5LCA4MzMwOSwgODMzMjEsIDgzMzMyLCA4MzM0NSwgODMzNTUsIDgzMzY3LCA4MzM3NiwgODMzODcsIDgzMzk4LCAKKyAgICA4MzQxMSwgODM0MjEsIDgzNDMxLCA4MzQ0MSwgODM0NTEsIDgzNDYxLCA4MzQ3MCwgODM0NzksIDgzNDg4LCA4MzQ5NywgCisgICAgODM1MDcsIDgzNTE3LCA4MzUyNywgODM1MzcsIDgzNTQ3LCA4MzU1NywgODM1NjcsIDgzNTc3LCA4MzU4NywgODM1OTcsIAorICAgIDgzNjA3LCA4MzYxNywgODM2MjYsIDgzNjM1LCA4MzY0NCwgODM2NTQsIDgzNjY0LCA4MzY3NCwgODM2ODQsIDgzNjk0LCAKKyAgICA4MzcwNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgODM3MTUsIDgzNzMwLCAKKyAgICA4Mzc0NSwgODM3NTEsIDgzNzU3LCA4Mzc2MywgODM3NjksIDgzNzc1LCA4Mzc4MSwgODM3ODcsIDgzNzkzLCA4MzgwMSwgCisgICAgODM4MDUsIDgzODA4LCAwLCAwLCA4MzgxNiwgODM4MTksIDgzODIyLCA4MzgyNSwgODM4MjgsIDgzODMxLCA4MzgzNCwgCisgICAgODM4MzcsIDgzODQwLCA4Mzg0MywgODM4NDYsIDgzODQ5LCA4Mzg1MiwgODM4NTUsIDgzODU4LCA4Mzg2MSwgODM4NjQsIAorICAgIDgzODcyLCA4Mzg4MSwgODM4OTIsIDgzOTAwLCA4MzkwOCwgODM5MTcsIDgzOTI2LCA4MzkzNywgODM5NDksIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDgzOTU4LCA4Mzk2MywgODM5NjgsIDgzOTc1LCA4Mzk4MiwgODM5ODgsIDgzOTk0LCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCA4Mzk5OSwgODQwMDksIDg0MDE5LCA4NDAyOSwgODQwMzgsIDg0MDQ5LCA4NDA1OCwgODQwNjcsIAorICAgIDg0MDc3LCA4NDA4NywgODQwOTksIDg0MTExLCA4NDEyMiwgODQxMzMsIDg0MTQ0LCA4NDE1NSwgODQxNjUsIDg0MTc1LCAKKyAgICA4NDE4NSwgODQxOTUsIDg0MjA2LCA4NDIxNywgODQyMjEsIDg0MjI2LCA4NDIzNSwgODQyNDQsIDg0MjQ4LCA4NDI1MiwgCisgICAgODQyNTYsIDg0MjYxLCA4NDI2NiwgODQyNzEsIDg0Mjc2LCA4NDI3OSwgODQyODMsIDAsIDg0Mjg4LCA4NDI5MSwgODQyOTQsIAorICAgIDg0Mjk4LCA4NDMwMiwgODQzMDcsIDg0MzExLCA4NDMxNSwgODQzMjAsIDg0MzI1LCA4NDMzMiwgODQzMzksIDg0MzQyLCAKKyAgICA4NDM0NSwgODQzNDgsIDg0MzUxLCA4NDM1NCwgODQzNTgsIDg0MzYyLCAwLCA4NDM2NiwgODQzNzEsIDg0Mzc1LCA4NDM3OSwgCisgICAgMCwgMCwgMCwgMCwgODQzODQsIDg0Mzg5LCA4NDM5NiwgODQ0MDEsIDg0NDA2LCAwLCA4NDQxMSwgODQ0MTYsIDg0NDIxLCAKKyAgICA4NDQyNiwgODQ0MzEsIDg0NDM2LCA4NDQ0MSwgODQ0NDYsIDg0NDUxLCA4NDQ1NiwgODQ0NjEsIDg0NDY2LCA4NDQ3NSwgCisgICAgODQ0ODQsIDg0NDkyLCA4NDUwMCwgODQ1MDksIDg0NTE4LCA4NDUyNywgODQ1MzYsIDg0NTQ0LCA4NDU1MiwgODQ1NjAsIAorICAgIDg0NTY4LCA4NDU3MywgODQ1NzgsIDg0NTg0LCA4NDU5MCwgODQ1OTYsIDg0NjAyLCA4NDYxMCwgODQ2MTgsIDg0NjI0LCAKKyAgICA4NDYzMCwgODQ2MzYsIDg0NjQyLCA4NDY0OCwgODQ2NTQsIDg0NjYwLCA4NDY2NiwgODQ2NzEsIDg0Njc2LCA4NDY4MSwgCisgICAgODQ2ODYsIDg0NjkxLCA4NDY5NiwgODQ3MDEsIDg0NzA2LCA4NDcxMiwgODQ3MTgsIDg0NzI0LCA4NDczMCwgODQ3MzYsIAorICAgIDg0NzQyLCA4NDc0OCwgODQ3NTQsIDg0NzYwLCA4NDc2NiwgODQ3NzIsIDg0Nzc4LCA4NDc4NCwgODQ3OTAsIDg0Nzk2LCAKKyAgICA4NDgwMiwgODQ4MDgsIDg0ODE0LCA4NDgyMCwgODQ4MjYsIDg0ODMyLCA4NDgzOCwgODQ4NDQsIDg0ODUwLCA4NDg1NiwgCisgICAgODQ4NjIsIDg0ODY4LCA4NDg3NCwgODQ4ODAsIDg0ODg2LCA4NDg5MiwgODQ4OTgsIDg0OTA0LCA4NDkxMCwgODQ5MTYsIAorICAgIDg0OTIyLCA4NDkyOCwgODQ5MzQsIDg0OTQwLCA4NDk0NiwgODQ5NTIsIDg0OTU4LCA4NDk2NCwgODQ5NzAsIDg0OTc2LCAKKyAgICA4NDk4MiwgODQ5ODgsIDg0OTk0LCA4NTAwMCwgODUwMDYsIDg1MDEyLCA4NTAxOCwgODUwMjQsIDg1MDMwLCA4NTAzNiwgCisgICAgODUwNDIsIDg1MDQ4LCA4NTA1NCwgODUwNjAsIDg1MDY2LCA4NTA3MSwgODUwNzYsIDg1MDgxLCA4NTA4NiwgODUwOTIsIAorICAgIDg1MDk4LCA4NTEwNCwgODUxMTAsIDg1MTE2LCA4NTEyMiwgODUxMjgsIDg1MTM0LCA4NTE0MCwgODUxNDYsIDg1MTUzLCAKKyAgICA4NTE2MCwgODUxNjUsIDg1MTcwLCA4NTE3NSwgODUxODAsIDg1MTkyLCA4NTIwNCwgODUyMTUsIDg1MjI2LCA4NTIzOCwgCisgICAgODUyNTAsIDg1MjU4LCAwLCAwLCA4NTI2NiwgMCwgODUyNzQsIDg1Mjc4LCA4NTI4MiwgODUyODUsIDg1Mjg5LCA4NTI5MywgCisgICAgODUyOTYsIDg1Mjk5LCA4NTMwMywgODUzMDcsIDg1MzEwLCA4NTMxMywgODUzMTYsIDg1MzE5LCA4NTMyNCwgODUzMjcsIAorICAgIDg1MzMxLCA4NTMzNCwgODUzMzcsIDg1MzQwLCA4NTM0MywgODUzNDYsIDg1MzQ5LCA4NTM1MiwgODUzNTUsIDg1MzU4LCAKKyAgICA4NTM2MSwgODUzNjQsIDg1MzY4LCA4NTM3MiwgODUzNzYsIDg1MzgwLCA4NTM4NSwgODUzOTAsIDg1Mzk2LCA4NTQwMiwgCisgICAgODU0MDgsIDg1NDEzLCA4NTQxOSwgODU0MjUsIDg1NDMxLCA4NTQzNiwgODU0NDIsIDg1NDQ4LCA4NTQ1MywgODU0NTgsIAorICAgIDg1NDY0LCA4NTQ2OSwgODU0NzUsIDg1NDgxLCA4NTQ4NiwgODU0OTIsIDg1NDk4LCA4NTUwMywgODU1MDksIDg1NTE1LCAKKyAgICA4NTUyMSwgODU1MjcsIDg1NTMzLCA4NTUzNywgODU1NDIsIDg1NTQ2LCA4NTU1MSwgODU1NTUsIDg1NTYwLCA4NTU2NSwgCisgICAgODU1NzEsIDg1NTc3LCA4NTU4MywgODU1ODgsIDg1NTk0LCA4NTYwMCwgODU2MDYsIDg1NjExLCA4NTYxNywgODU2MjMsIAorICAgIDg1NjI4LCA4NTYzMywgODU2MzksIDg1NjQ0LCA4NTY1MCwgODU2NTYsIDg1NjYxLCA4NTY2NywgODU2NzMsIDg1Njc4LCAKKyAgICA4NTY4NCwgODU2OTAsIDg1Njk2LCA4NTcwMiwgODU3MDgsIDg1NzEzLCA4NTcxNywgODU3MjIsIDg1NzI0LCA4NTcyOSwgCisgICAgODU3MzQsIDg1NzQwLCA4NTc0NSwgODU3NTAsIDg1NzU0LCA4NTc2MCwgODU3NjUsIDg1NzcwLCA4NTc3NSwgODU3ODAsIAorICAgIDg1Nzg1LCA4NTc5MCwgODU3OTUsIDg1ODAxLCA4NTgwNywgODU4MTMsIDg1ODIxLCA4NTgyNSwgODU4MjksIDg1ODMzLCAKKyAgICA4NTgzNywgODU4NDEsIDg1ODQ1LCA4NTg1MCwgODU4NTUsIDg1ODYwLCA4NTg2NSwgODU4NjksIDg1ODc0LCA4NTg3OSwgCisgICAgODU4ODQsIDg1ODg5LCA4NTg5NCwgODU4OTksIDg1OTA0LCA4NTkwOSwgODU5MTMsIDg1OTE3LCA4NTkyMiwgODU5MjcsIAorICAgIDg1OTMyLCA4NTkzNywgODU5NDEsIDg1OTQ2LCA4NTk1MSwgODU5NTYsIDg1OTYxLCA4NTk2NSwgODU5NzAsIDg1OTc1LCAKKyAgICA4NTk4MCwgODU5ODUsIDg1OTg5LCA4NTk5NCwgODU5OTksIDg2MDAzLCA4NjAwOCwgODYwMTMsIDg2MDE4LCA4NjAyMywgCisgICAgODYwMjgsIDg2MDMzLCA4NjA0MCwgODYwNDcsIDg2MDUxLCA4NjA1NiwgODYwNjEsIDg2MDY2LCA4NjA3MSwgODYwNzYsIAorICAgIDg2MDgxLCA4NjA4NiwgODYwOTEsIDg2MDk2LCA4NjEwMSwgODYxMDYsIDg2MTExLCA4NjExNiwgODYxMjEsIDg2MTI2LCAKKyAgICA4NjEzMSwgODYxMzYsIDg2MTQxLCA4NjE0NiwgODYxNTEsIDg2MTU2LCA4NjE2MSwgODYxNjYsIDg2MTcxLCA4NjE3NiwgCisgICAgODYxODEsIDg2MTg2LCA4NjE5MSwgODYxOTYsIDAsIDAsIDAsIDg2MjAxLCA4NjIwNSwgODYyMTAsIDg2MjE0LCA4NjIxOSwgCisgICAgODYyMjQsIDAsIDAsIDg2MjI4LCA4NjIzMywgODYyMzgsIDg2MjQyLCA4NjI0NywgODYyNTIsIDAsIDAsIDg2MjU3LCAKKyAgICA4NjI2MiwgODYyNjYsIDg2MjcxLCA4NjI3NiwgODYyODEsIDAsIDAsIDg2Mjg2LCA4NjI5MSwgODYyOTYsIDAsIDAsIDAsIAorICAgIDg2MzAwLCA4NjMwNCwgODYzMDgsIDg2MzEyLCA4NjMxNSwgODYzMTksIDg2MzIzLCAwLCA4NjMyNywgODYzMzMsIDg2MzM2LCAKKyAgICA4NjM0MCwgODYzNDMsIDg2MzQ3LCA4NjM1MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgODYzNTUsIDg2MzYxLCAKKyAgICA4NjM2NywgODYzNzMsIDg2Mzc5LCAwLCAwLCA4NjM4MywgODYzODksIDg2Mzk1LCA4NjQwMSwgODY0MDcsIDg2NDEzLCAKKyAgICA4NjQyMCwgODY0MjcsIDg2NDM0LCA4NjQ0MSwgODY0NDgsIDg2NDU1LCAwLCA4NjQ2MiwgODY0NjksIDg2NDc2LCA4NjQ4MiwgCisgICAgODY0ODksIDg2NDk2LCA4NjUwMywgODY1MTAsIDg2NTE2LCA4NjUyMywgODY1MzAsIDg2NTM3LCA4NjU0NCwgODY1NTAsIAorICAgIDg2NTU3LCA4NjU2NCwgODY1NzEsIDg2NTc4LCA4NjU4NCwgODY1OTEsIDg2NTk4LCA4NjYwNSwgODY2MTIsIDg2NjE5LCAKKyAgICA4NjYyNiwgODY2MzMsIDAsIDg2NjQwLCA4NjY0NiwgODY2NTMsIDg2NjYwLCA4NjY2NywgODY2NzQsIDg2NjgwLCA4NjY4NywgCisgICAgODY2OTQsIDg2NzAxLCA4NjcwOCwgODY3MTUsIDg2NzIyLCA4NjcyOSwgODY3MzUsIDg2NzQyLCA4Njc0OSwgODY3NTYsIAorICAgIDg2NzYzLCAwLCA4Njc3MCwgODY3NzcsIDAsIDg2Nzg0LCA4Njc5MSwgODY3OTgsIDg2ODA1LCA4NjgxMiwgODY4MTksIAorICAgIDg2ODI2LCA4NjgzMywgODY4NDAsIDg2ODQ3LCA4Njg1NCwgODY4NjEsIDg2ODY4LCA4Njg3NSwgODY4ODIsIDAsIDAsIAorICAgIDg2ODg4LCA4Njg5MywgODY4OTgsIDg2OTAzLCA4NjkwOCwgODY5MTMsIDg2OTE4LCA4NjkyMywgODY5MjgsIDg2OTMzLCAKKyAgICA4NjkzOCwgODY5NDMsIDg2OTQ4LCA4Njk1MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgODY5NTgsIDg2OTY1LCAKKyAgICA4Njk3MiwgODY5NzksIDg2OTg2LCA4Njk5MywgODcwMDAsIDg3MDA3LCA4NzAxNCwgODcwMjEsIDg3MDI4LCA4NzAzNSwgCisgICAgODcwNDIsIDg3MDQ5LCA4NzA1NiwgODcwNjMsIDg3MDcwLCA4NzA3NywgODcwODQsIDg3MDkxLCA4NzA5OSwgODcxMDcsIAorICAgIDg3MTE0LCA4NzEyMSwgODcxMjYsIDg3MTM0LCA4NzE0MiwgODcxNDksIDg3MTU2LCA4NzE2MSwgODcxNjgsIDg3MTczLCAKKyAgICA4NzE3OCwgODcxODUsIDg3MTkwLCA4NzE5NSwgODcyMDAsIDg3MjA4LCA4NzIxMywgODcyMTgsIDg3MjI1LCA4NzIzMCwgCisgICAgODcyMzUsIDg3MjQyLCA4NzI0OSwgODcyNTQsIDg3MjU5LCA4NzI2NCwgODcyNjksIDg3Mjc0LCA4NzI3OSwgODcyODQsIAorICAgIDg3Mjg5LCA4NzI5NCwgODczMDEsIDg3MzA2LCA4NzMxMywgODczMTgsIDg3MzIzLCA4NzMyOCwgODczMzMsIDg3MzM4LCAKKyAgICA4NzM0MywgODczNDgsIDg3MzUzLCA4NzM1OCwgODczNjMsIDg3MzY4LCA4NzM3NSwgODczODIsIDg3Mzg5LCA4NzM5NiwgCisgICAgODc0MDIsIDg3NDA3LCA4NzQxNCwgODc0MTksIDg3NDI0LCA4NzQzMywgODc0NDAsIDg3NDQ5LCA4NzQ1NiwgODc0NjEsIAorICAgIDg3NDY2LCA4NzQ3NCwgODc0NzksIDg3NDg0LCA4NzQ4OSwgODc0OTQsIDg3NDk5LCA4NzUwNiwgODc1MTEsIDg3NTE2LCAKKyAgICA4NzUyMSwgODc1MjYsIDg3NTMxLCA4NzUzOCwgODc1NDUsIDg3NTUyLCA4NzU1OSwgODc1NjYsIDg3NTczLCA4NzU4MCwgCisgICAgODc1ODcsIDg3NTk0LCA4NzYwMSwgODc2MDgsIDg3NjE1LCA4NzYyMiwgODc2MjksIDg3NjM2LCA4NzY0MywgODc2NTAsIAorICAgIDg3NjU3LCA4NzY2NCwgODc2NzEsIDg3Njc4LCA4NzY4NSwgODc2OTIsIDg3Njk5LCA4NzcwNiwgODc3MTMsIDg3NzIwLCAKKyAgICA4NzcyNywgMCwgMCwgMCwgMCwgMCwgODc3MzQsIDg3NzQyLCA4Nzc1MCwgMCwgMCwgMCwgMCwgODc3NTUsIDg3NzU5LCAKKyAgICA4Nzc2MywgODc3NjcsIDg3NzcxLCA4Nzc3NSwgODc3NzksIDg3NzgzLCA4Nzc4NywgODc3OTEsIDg3Nzk2LCA4NzgwMSwgCisgICAgODc4MDYsIDg3ODExLCA4NzgxNiwgODc4MjEsIDg3ODI2LCA4NzgzMSwgODc4MzYsIDg3ODQyLCA4Nzg0OCwgODc4NTQsIAorICAgIDg3ODYxLCA4Nzg2OCwgODc4NzUsIDg3ODgyLCA4Nzg4OSwgODc4OTYsIDg3OTAyLCA4NzkwOCwgODc5MTQsIDg3OTIxLCAKKyAgICA4NzkyOCwgODc5MzUsIDg3OTQyLCA4Nzk0OSwgODc5NTYsIDg3OTYzLCA4Nzk3MCwgODc5NzcsIDg3OTg0LCA4Nzk5MSwgCisgICAgODc5OTgsIDg4MDA1LCA4ODAxMiwgMCwgMCwgMCwgODgwMTksIDg4MDI3LCA4ODAzNSwgODgwNDMsIDg4MDUxLCA4ODA1OSwgCisgICAgODgwNjksIDg4MDc5LCA4ODA4NywgODgwOTUsIDg4MTAzLCA4ODExMSwgODgxMTksIDg4MTI1LCA4ODEzMiwgODgxNDEsIAorICAgIDg4MTUwLCA4ODE1OSwgODgxNjgsIDg4MTc3LCA4ODE4NiwgODgxOTYsIDg4MjA3LCA4ODIxNywgODgyMjgsIDg4MjM3LCAKKyAgICA4ODI0NiwgODgyNTUsIDg4MjY1LCA4ODI3NiwgODgyODYsIDg4Mjk3LCA4ODMwOCwgODgzMTcsIDg4MzI1LCA4ODMzMSwgCisgICAgODgzMzcsIDg4MzQzLCA4ODM0OSwgODgzNTcsIDg4MzY1LCA4ODM3MSwgODgzNzgsIDg4Mzg4LCA4ODM5NSwgODg0MDIsIAorICAgIDg4NDA5LCA4ODQxNiwgODg0MjMsIDg4NDMzLCA4ODQ0MCwgODg0NDcsIDg4NDU1LCA4ODQ2MywgODg0NzIsIDg4NDgxLCAKKyAgICA4ODQ5MCwgODg0OTksIDg4NTA4LCA4ODUxNiwgODg1MjUsIDg4NTM0LCA4ODU0MywgODg1NDcsIDg4NTU0LCA4ODU1OSwgCisgICAgODg1NjQsIDg4NTY4LCA4ODU3MiwgODg1NzYsIDg4NTgwLCA4ODU4NSwgODg1OTAsIDg4NTk2LCA4ODYwMiwgODg2MDYsIAorICAgIDg4NjEyLCA4ODYxNiwgODg2MjAsIDg4NjI0LCA4ODYyOCwgODg2MzIsIDg4NjM2LCA4ODY0MiwgMCwgMCwgMCwgMCwgMCwgCisgICAgODg2NDYsIDg4NjUxLCA4ODY1NiwgODg2NjEsIDg4NjY2LCA4ODY3MywgODg2NzgsIDg4NjgzLCA4ODY4OCwgODg2OTMsIAorICAgIDg4Njk4LCA4ODcwMywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNzczOTQsIDc3Mzk5LCA3NzQwNCwgNzc0MDksIDc3NDE0LCAKLSAgICA3NzQxOSwgNzc0MjcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDc3NDMyLCA3NzQzOSwgNzc0NDYsIAotICAgIDc3NDUzLCA3NzQ2MCwgMCwgMCwgMCwgMCwgMCwgNzc0NjcsIDc3NDc0LCA3NzQ4MSwgNzc0OTEsIDc3NDk3LCA3NzUwMywgCi0gICAgNzc1MDksIDc3NTE1LCA3NzUyMSwgNzc1MjcsIDc3NTM0LCA3NzU0MCwgNzc1NDYsIDc3NTUyLCA3NzU2MSwgNzc1NzAsIAotICAgIDc3NTgyLCA3NzU5NCwgNzc2MDAsIDc3NjA2LCA3NzYxMiwgNzc2MTksIDc3NjI2LCA3NzYzMywgNzc2NDAsIDc3NjQ3LCAwLCAKLSAgICA3NzY1NCwgNzc2NjEsIDc3NjY4LCA3NzY3NiwgNzc2ODMsIDAsIDc3NjkwLCAwLCA3NzY5NywgNzc3MDQsIDAsIDc3NzExLCAKLSAgICA3NzcxOSwgMCwgNzc3MjYsIDc3NzMzLCA3Nzc0MCwgNzc3NDcsIDc3NzU0LCA3Nzc2MSwgNzc3NjgsIDc3Nzc1LCA3Nzc4MiwgCi0gICAgNzc3ODksIDc3Nzk0LCA3NzgwMSwgNzc4MDgsIDc3ODE0LCA3NzgyMCwgNzc4MjYsIDc3ODMyLCA3NzgzOCwgNzc4NDQsIAotICAgIDc3ODUwLCA3Nzg1NiwgNzc4NjIsIDc3ODY4LCA3Nzg3NCwgNzc4ODAsIDc3ODg2LCA3Nzg5MiwgNzc4OTgsIDc3OTA0LCAKLSAgICA3NzkxMCwgNzc5MTYsIDc3OTIyLCA3NzkyOCwgNzc5MzQsIDc3OTQwLCA3Nzk0NiwgNzc5NTIsIDc3OTU4LCA3Nzk2NCwgCi0gICAgNzc5NzAsIDc3OTc2LCA3Nzk4MiwgNzc5ODgsIDc3OTk0LCA3ODAwMCwgNzgwMDYsIDc4MDEyLCA3ODAxOCwgNzgwMjQsIAotICAgIDc4MDMwLCA3ODAzNiwgNzgwNDIsIDc4MDQ4LCA3ODA1NCwgNzgwNjAsIDc4MDY2LCA3ODA3MiwgNzgwNzgsIDc4MDg0LCAKLSAgICA3ODA5MCwgNzgwOTYsIDc4MTAyLCA3ODEwOCwgNzgxMTQsIDc4MTIwLCA3ODEyNiwgNzgxMzIsIDc4MTM4LCA3ODE0NCwgCi0gICAgNzgxNTAsIDc4MTU2LCA3ODE2MiwgNzgxNjgsIDc4MTc0LCA3ODE4MCwgNzgxODYsIDc4MTkyLCA3ODE5OCwgNzgyMDQsIAotICAgIDc4MjEwLCA3ODIxNiwgNzgyMjIsIDc4MjI4LCA3ODIzNCwgNzgyNDAsIDc4MjQ2LCA3ODI1MiwgNzgyNTgsIDc4MjY0LCAKLSAgICA3ODI3MiwgNzgyODAsIDc4Mjg2LCA3ODI5MiwgNzgyOTgsIDc4MzA0LCA3ODMxMywgNzgzMjIsIDc4MzMwLCA3ODMzOCwgCi0gICAgNzgzNDYsIDc4MzU0LCA3ODM2MiwgNzgzNzAsIDc4Mzc4LCA3ODM4NiwgNzgzOTMsIDc4NDAwLCA3ODQxMCwgNzg0MjAsIAotICAgIDc4NDI0LCA3ODQyOCwgNzg0MzMsIDc4NDM4LCA3ODQ0MywgNzg0NDgsIDc4NDU3LCA3ODQ2NiwgNzg0NzIsIDc4NDc4LCAKLSAgICA3ODQ4NSwgNzg0OTIsIDc4NDk5LCA3ODUwMywgNzg1MDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDc4NTE1LCA3ODUyMSwgNzg1MjcsIDc4NTMzLCA3ODUzOSwgNzg1NDQsIDc4NTQ5LCA3ODU1NSwgCi0gICAgNzg1NjEsIDc4NTY3LCA3ODU3MywgNzg1ODEsIDc4NTg3LCA3ODU5MywgNzg2MDEsIDc4NjA5LCA3ODYxNywgNzg2MjUsIAotICAgIDc4NjMwLCA3ODYzNSwgNzg2NDAsIDc4NjQ1LCA3ODY1NywgNzg2NjksIDc4Njc5LCA3ODY4OSwgNzg3MDAsIDc4NzExLCAKLSAgICA3ODcyMiwgNzg3MzMsIDc4NzQzLCA3ODc1MywgNzg3NjQsIDc4Nzc1LCA3ODc4NiwgNzg3OTcsIDc4ODA3LCA3ODgxNywgCi0gICAgNzg4MjcsIDc4ODQyLCA3ODg1NywgNzg4NzIsIDc4ODc5LCA3ODg4NiwgNzg4OTMsIDc4OTAwLCA3ODkxMCwgNzg5MjAsIAotICAgIDc4OTMwLCA3ODk0MSwgNzg5NTEsIDc4OTU5LCA3ODk2NywgNzg5NzYsIDc4OTg0LCA3ODk5MywgNzkwMDEsIDc5MDA5LCAKLSAgICA3OTAxNywgNzkwMjYsIDc5MDM0LCA3OTA0MywgNzkwNTEsIDc5MDU5LCA3OTA2NywgNzkwNzYsIDc5MDg0LCA3OTA5MSwgCi0gICAgNzkwOTgsIDc5MTA1LCA3OTExMiwgNzkxMjAsIDc5MTI4LCA3OTEzNiwgNzkxNDQsIDc5MTUyLCA3OTE2MSwgNzkxNjksIAotICAgIDc5MTc3LCA3OTE4NSwgNzkxOTMsIDc5MjAxLCA3OTIxMCwgNzkyMTgsIDc5MjI2LCA3OTIzNCwgNzkyNDIsIDc5MjUwLCAKLSAgICA3OTI1OCwgNzkyNjYsIDc5Mjc0LCA3OTI4MiwgNzkyOTAsIDc5Mjk5LCA3OTMwNywgNzkzMTYsIDc5MzI0LCA3OTMzMiwgCi0gICAgNzkzNDAsIDc5MzQ5LCA3OTM1NywgNzkzNjUsIDc5MzczLCA3OTM4MSwgNzkzOTAsIDc5Mzk5LCA3OTQwNywgNzk0MTYsIAotICAgIDc5NDI0LCA3OTQzMiwgNzk0NDAsIDc5NDQ5LCA3OTQ1NywgNzk0NjYsIDc5NDc0LCA3OTQ4MSwgNzk0ODgsIDc5NDk2LCAKLSAgICA3OTUwMywgNzk1MTEsIDc5NTE4LCA3OTUyNiwgNzk1MzQsIDc5NTQzLCA3OTU1MSwgNzk1NjAsIDc5NTY4LCA3OTU3NiwgCi0gICAgNzk1ODQsIDc5NTkzLCA3OTYwMSwgNzk2MDgsIDc5NjE1LCA3OTYyMywgNzk2MzAsIDc5NjM4LCA3OTY0NSwgNzk2NTUsIAotICAgIDc5NjY1LCA3OTY3NSwgNzk2ODQsIDc5NjkzLCA3OTcwMiwgNzk3MTEsIDc5NzIwLCA3OTczMCwgNzk3NDEsIDc5NzUyLCAKLSAgICA3OTc2MiwgNzk3NzMsIDc5Nzg0LCA3OTc5NCwgNzk4MDMsIDc5ODEyLCA3OTgyMCwgNzk4MjksIDc5ODM4LCA3OTg0NiwgCi0gICAgNzk4NTUsIDc5ODY0LCA3OTg3MiwgNzk4ODEsIDc5ODkwLCA3OTg5OCwgNzk5MDcsIDc5OTE2LCA3OTkyNCwgNzk5MzMsIAotICAgIDc5OTQyLCA3OTk1MCwgNzk5NTksIDc5OTY3LCA3OTk3NiwgNzk5ODQsIDc5OTkyLCA4MDAwMSwgODAwMDksIDgwMDE4LCAKLSAgICA4MDAyNiwgODAwMzQsIDgwMDQzLCA4MDA1MSwgODAwNTgsIDgwMDY1LCA4MDA3NCwgODAwODMsIDgwMDkxLCA4MDEwMCwgCi0gICAgODAxMDksIDgwMTE3LCA4MDEyNywgODAxMzUsIDgwMTQzLCA4MDE1MCwgODAxNTgsIDgwMTY2LCA4MDE3MywgODAxODMsIAotICAgIDgwMTkzLCA4MDIwNCwgODAyMTQsIDgwMjI1LCA4MDIzMywgODAyNDEsIDgwMjUwLCA4MDI1OCwgODAyNjcsIDgwMjc1LCAKLSAgICA4MDI4MywgODAyOTIsIDgwMzAwLCA4MDMwOSwgODAzMTcsIDgwMzI0LCA4MDMzMSwgODAzMzgsIDgwMzQ1LCA4MDM1MywgCi0gICAgODAzNjEsIDgwMzY5LCA4MDM3NywgODAzODYsIDgwMzk0LCA4MDQwMiwgODA0MTEsIDgwNDE5LCA4MDQyNywgODA0MzUsIAotICAgIDgwNDQ0LCA4MDQ1MiwgODA0NjAsIDgwNDY4LCA4MDQ3NiwgODA0ODQsIDgwNDkyLCA4MDUwMCwgODA1MDgsIDgwNTE2LCAKLSAgICA4MDUyNSwgODA1MzMsIDgwNTQxLCA4MDU0OSwgODA1NTcsIDgwNTY1LCA4MDU3NCwgODA1ODMsIDgwNTkxLCA4MDU5OSwgCi0gICAgODA2MDcsIDgwNjE2LCA4MDYyNCwgODA2MzMsIDgwNjQwLCA4MDY0NywgODA2NTUsIDgwNjYyLCA4MDY3MCwgODA2NzgsIAotICAgIDgwNjg3LCA4MDY5NSwgODA3MDQsIDgwNzEyLCA4MDcyMCwgODA3MzAsIDgwNzM3LCA4MDc0NCwgODA3NTIsIDgwNzU5LCAKLSAgICA4MDc2NywgODA3NzcsIDgwNzg4LCA4MDc5NiwgODA4MDUsIDgwODEzLCA4MDgyMiwgODA4MzAsIDgwODM5LCA4MDg0NywgCi0gICAgODA4NTYsIDgwODY0LCA4MDg3MywgODA4ODIsIDgwODkwLCA4MDg5OCwgODA5MDYsIDgwOTE1LCA4MDkyMiwgODA5MzAsIAotICAgIDgwOTM5LCA4MDk0OCwgODA5NTcsIDgwOTY2LCA4MDk3NCwgODA5ODMsIDgwOTkxLCA4MTAwMCwgODEwMDgsIDgxMDE3LCAKLSAgICA4MTAyNSwgODEwMzQsIDgxMDQyLCA4MTA1MCwgODEwNTcsIDgxMDY1LCA4MTA3MiwgODEwODEsIDgxMDg5LCA4MTA5OCwgCi0gICAgODExMDYsIDgxMTE1LCA4MTEyMywgODExMzEsIDgxMTM5LCA4MTE0OCwgODExNTYsIDgxMTY1LCA4MTE3NCwgODExODMsIAotICAgIDgxMTkyLCA4MTIwMSwgODEyMDksIDgxMjE4LCA4MTIyNiwgODEyMzUsIDgxMjQzLCA4MTI1MiwgODEyNjAsIDgxMjY5LCAKLSAgICA4MTI3NywgODEyODUsIDgxMjkyLCA4MTMwMCwgODEzMDcsIDgxMzE2LCA4MTMyNCwgODEzMzMsIDgxMzQxLCA4MTM1MCwgCi0gICAgODEzNTgsIDgxMzY2LCA4MTM3NCwgODEzODMsIDgxMzkxLCA4MTQwMCwgODE0MDksIDgxNDE4LCA4MTQyNywgODE0MzUsIAotICAgIDgxNDQzLCA4MTQ1MiwgODE0NjAsIDgxNDY5LCA4MTQ3OCwgODE0ODYsIDgxNDk0LCA4MTUwMiwgODE1MTEsIDgxNTE5LCAKLSAgICA4MTUyNywgODE1MzYsIDgxNTQ0LCA4MTU1MiwgODE1NjAsIDgxNTY4LCA4MTU3MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgODE1NzgsIDgxNTg4LCA4MTU5OCwgODE2MDgsIDgxNjE4LCA4MTYyOSwgODE2MzksIAotICAgIDgxNjQ5LCA4MTY2MCwgODE2NjksIDgxNjc4LCA4MTY4NywgODE2OTcsIDgxNzA3LCA4MTcxNywgODE3MjgsIDgxNzM4LCAKLSAgICA4MTc0OCwgODE3NTgsIDgxNzY4LCA4MTc3OCwgODE3ODgsIDgxNzk4LCA4MTgwOCwgODE4MTgsIDgxODI4LCA4MTgzOCwgCi0gICAgODE4NDksIDgxODYwLCA4MTg3MCwgODE4ODAsIDgxODkxLCA4MTkwMiwgODE5MTMsIDgxOTIzLCA4MTkzMywgODE5NDMsIAotICAgIDgxOTUzLCA4MTk2MywgODE5NzMsIDgxOTgzLCA4MTk5NCwgODIwMDQsIDgyMDE0LCA4MjAyNSwgODIwMzYsIDgyMDQ3LCAKLSAgICA4MjA1NywgODIwNjcsIDgyMDc3LCA4MjA4NywgODIwOTgsIDgyMTA4LCA4MjExOCwgODIxMjksIDgyMTQwLCA4MjE1MCwgCi0gICAgODIxNjAsIDgyMTY5LCA4MjE3OCwgODIxODcsIDgyMTk2LCA4MjIwNSwgODIyMTUsIDAsIDAsIDgyMjI1LCA4MjIzNSwgCi0gICAgODIyNDUsIDgyMjU1LCA4MjI2NSwgODIyNzYsIDgyMjg2LCA4MjI5NiwgODIzMDcsIDgyMzE3LCA4MjMyOCwgODIzMzcsIAotICAgIDgyMzQ2LCA4MjM1NywgODIzNjcsIDgyMzc4LCA4MjM4OSwgODI0MDEsIDgyNDExLCA4MjQyMiwgODI0MzEsIDgyNDQxLCAKLSAgICA4MjQ1MSwgODI0NjMsIDgyNDczLCA4MjQ4MywgODI0OTMsIDgyNTAzLCA4MjUxMywgODI1MjIsIDgyNTMxLCA4MjU0MCwgCi0gICAgODI1NDksIDgyNTU5LCA4MjU2OSwgODI1NzksIDgyNTg5LCA4MjU5OSwgODI2MDksIDgyNjE5LCA4MjYyOSwgODI2MzksIAotICAgIDgyNjQ5LCA4MjY1OSwgODI2NjksIDgyNjc4LCA4MjY4NywgODI2OTYsIDgyNzA2LCA4MjcxNiwgODI3MjYsIDgyNzM2LCAKLSAgICA4Mjc0NiwgODI3NTcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDgyNzY3LCA4Mjc4MiwgCi0gICAgODI3OTcsIDgyODAzLCA4MjgwOSwgODI4MTUsIDgyODIxLCA4MjgyNywgODI4MzMsIDgyODM5LCA4Mjg0NSwgODI4NTMsIAotICAgIDgyODU3LCA4Mjg2MCwgMCwgMCwgODI4NjgsIDgyODcxLCA4Mjg3NCwgODI4NzcsIDgyODgwLCA4Mjg4MywgODI4ODYsIAotICAgIDgyODg5LCA4Mjg5MiwgODI4OTUsIDgyODk4LCA4MjkwMSwgODI5MDQsIDgyOTA3LCA4MjkxMCwgODI5MTMsIDgyOTE2LCAKLSAgICA4MjkyNCwgODI5MzMsIDgyOTQ0LCA4Mjk1MiwgODI5NjAsIDgyOTY5LCA4Mjk3OCwgODI5ODksIDgzMDAxLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCA4MzAxMCwgODMwMTUsIDgzMDIwLCA4MzAyNywgODMwMzQsIDgzMDQwLCA4MzA0NiwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgODMwNTEsIDgzMDYxLCA4MzA3MSwgODMwODEsIDgzMDkwLCA4MzEwMSwgODMxMTAsIDgzMTE5LCAKLSAgICA4MzEyOSwgODMxMzksIDgzMTUxLCA4MzE2MywgODMxNzQsIDgzMTg1LCA4MzE5NiwgODMyMDcsIDgzMjE3LCA4MzIyNywgCi0gICAgODMyMzcsIDgzMjQ3LCA4MzI1OCwgODMyNjksIDgzMjczLCA4MzI3OCwgODMyODcsIDgzMjk2LCA4MzMwMCwgODMzMDQsIAotICAgIDgzMzA4LCA4MzMxMywgODMzMTgsIDgzMzIzLCA4MzMyOCwgODMzMzEsIDgzMzM1LCAwLCA4MzM0MCwgODMzNDMsIDgzMzQ2LCAKLSAgICA4MzM1MCwgODMzNTQsIDgzMzU5LCA4MzM2MywgODMzNjcsIDgzMzcyLCA4MzM3NywgODMzODQsIDgzMzkxLCA4MzM5NCwgCi0gICAgODMzOTcsIDgzNDAwLCA4MzQwMywgODM0MDYsIDgzNDEwLCA4MzQxNCwgMCwgODM0MTgsIDgzNDIzLCA4MzQyNywgODM0MzEsIAotICAgIDAsIDAsIDAsIDAsIDgzNDM2LCA4MzQ0MSwgODM0NDgsIDgzNDUzLCA4MzQ1OCwgMCwgODM0NjMsIDgzNDY4LCA4MzQ3MywgCi0gICAgODM0NzgsIDgzNDgzLCA4MzQ4OCwgODM0OTMsIDgzNDk4LCA4MzUwMywgODM1MDgsIDgzNTEzLCA4MzUxOCwgODM1MjcsIAotICAgIDgzNTM2LCA4MzU0NCwgODM1NTIsIDgzNTYxLCA4MzU3MCwgODM1NzksIDgzNTg4LCA4MzU5NiwgODM2MDQsIDgzNjEyLCAKLSAgICA4MzYyMCwgODM2MjUsIDgzNjMwLCA4MzYzNiwgODM2NDIsIDgzNjQ4LCA4MzY1NCwgODM2NjIsIDgzNjcwLCA4MzY3NiwgCi0gICAgODM2ODIsIDgzNjg4LCA4MzY5NCwgODM3MDAsIDgzNzA2LCA4MzcxMiwgODM3MTgsIDgzNzIzLCA4MzcyOCwgODM3MzMsIAotICAgIDgzNzM4LCA4Mzc0MywgODM3NDgsIDgzNzUzLCA4Mzc1OCwgODM3NjQsIDgzNzcwLCA4Mzc3NiwgODM3ODIsIDgzNzg4LCAKLSAgICA4Mzc5NCwgODM4MDAsIDgzODA2LCA4MzgxMiwgODM4MTgsIDgzODI0LCA4MzgzMCwgODM4MzYsIDgzODQyLCA4Mzg0OCwgCi0gICAgODM4NTQsIDgzODYwLCA4Mzg2NiwgODM4NzIsIDgzODc4LCA4Mzg4NCwgODM4OTAsIDgzODk2LCA4MzkwMiwgODM5MDgsIAotICAgIDgzOTE0LCA4MzkyMCwgODM5MjYsIDgzOTMyLCA4MzkzOCwgODM5NDQsIDgzOTUwLCA4Mzk1NiwgODM5NjIsIDgzOTY4LCAKLSAgICA4Mzk3NCwgODM5ODAsIDgzOTg2LCA4Mzk5MiwgODM5OTgsIDg0MDA0LCA4NDAxMCwgODQwMTYsIDg0MDIyLCA4NDAyOCwgCi0gICAgODQwMzQsIDg0MDQwLCA4NDA0NiwgODQwNTIsIDg0MDU4LCA4NDA2NCwgODQwNzAsIDg0MDc2LCA4NDA4MiwgODQwODgsIAotICAgIDg0MDk0LCA4NDEwMCwgODQxMDYsIDg0MTEyLCA4NDExOCwgODQxMjMsIDg0MTI4LCA4NDEzMywgODQxMzgsIDg0MTQ0LCAKLSAgICA4NDE1MCwgODQxNTYsIDg0MTYyLCA4NDE2OCwgODQxNzQsIDg0MTgwLCA4NDE4NiwgODQxOTIsIDg0MTk4LCA4NDIwNCwgCi0gICAgODQyMTAsIDg0MjE1LCA4NDIyMCwgODQyMjUsIDg0MjMwLCA4NDI0MiwgODQyNTQsIDg0MjY1LCA4NDI3NiwgODQyODgsIAotICAgIDg0MzAwLCA4NDMwOCwgMCwgMCwgODQzMTYsIDAsIDg0MzI0LCA4NDMyOCwgODQzMzIsIDg0MzM1LCA4NDMzOSwgODQzNDMsIAotICAgIDg0MzQ2LCA4NDM0OSwgODQzNTMsIDg0MzU3LCA4NDM2MCwgODQzNjMsIDg0MzY2LCA4NDM2OSwgODQzNzQsIDg0Mzc3LCAKLSAgICA4NDM4MSwgODQzODQsIDg0Mzg3LCA4NDM5MCwgODQzOTMsIDg0Mzk2LCA4NDM5OSwgODQ0MDIsIDg0NDA1LCA4NDQwOCwgCi0gICAgODQ0MTEsIDg0NDE0LCA4NDQxOCwgODQ0MjIsIDg0NDI2LCA4NDQzMCwgODQ0MzUsIDg0NDQwLCA4NDQ0NiwgODQ0NTIsIAotICAgIDg0NDU4LCA4NDQ2MywgODQ0NjksIDg0NDc1LCA4NDQ4MSwgODQ0ODYsIDg0NDkyLCA4NDQ5OCwgODQ1MDMsIDg0NTA4LCAKLSAgICA4NDUxMywgODQ1MTgsIDg0NTI0LCA4NDUzMCwgODQ1MzUsIDg0NTQwLCA4NDU0NiwgODQ1NTEsIDg0NTU3LCA4NDU2MywgCi0gICAgODQ1NjksIDg0NTc1LCA4NDU4MSwgODQ1ODUsIDg0NTkwLCA4NDU5NCwgODQ1OTksIDg0NjAzLCA4NDYwOCwgODQ2MTMsIAotICAgIDg0NjE5LCA4NDYyNSwgODQ2MzEsIDg0NjM2LCA4NDY0MiwgODQ2NDgsIDg0NjU0LCA4NDY1OSwgODQ2NjUsIDg0NjcxLCAKLSAgICA4NDY3NiwgODQ2ODEsIDg0Njg2LCA4NDY5MSwgODQ2OTcsIDg0NzAzLCA4NDcwOCwgODQ3MTMsIDg0NzE5LCA4NDcyNCwgCi0gICAgODQ3MzAsIDg0NzM2LCA4NDc0MiwgODQ3NDgsIDg0NzU0LCA4NDc1OSwgODQ3NjMsIDg0NzY4LCA4NDc3MSwgODQ3NzYsIAotICAgIDg0NzgxLCA4NDc4NywgODQ3OTIsIDg0Nzk3LCA4NDgwMSwgODQ4MDcsIDg0ODEyLCA4NDgxNywgODQ4MjIsIDg0ODI3LCAKLSAgICA4NDgzMiwgODQ4MzcsIDg0ODQyLCA4NDg0OCwgODQ4NTQsIDg0ODYwLCA4NDg2OCwgODQ4NzIsIDg0ODc2LCA4NDg4MCwgCi0gICAgODQ4ODQsIDg0ODg4LCA4NDg5MiwgODQ4OTcsIDg0OTAyLCA4NDkwNywgODQ5MTIsIDg0OTE3LCA4NDkyMiwgODQ5MjcsIAotICAgIDg0OTMyLCA4NDkzNywgODQ5NDIsIDg0OTQ3LCA4NDk1MiwgODQ5NTcsIDg0OTYxLCA4NDk2NSwgODQ5NzAsIDg0OTc1LCAKLSAgICA4NDk4MCwgODQ5ODUsIDg0OTg5LCA4NDk5NCwgODQ5OTksIDg1MDA0LCA4NTAwOSwgODUwMTMsIDg1MDE4LCA4NTAyMywgCi0gICAgODUwMjgsIDg1MDMzLCA4NTAzNywgODUwNDIsIDg1MDQ3LCA4NTA1MSwgODUwNTYsIDg1MDYxLCA4NTA2NiwgODUwNzEsIAotICAgIDg1MDc2LCA4NTA4MCwgODUwODcsIDg1MDk0LCA4NTA5OCwgODUxMDMsIDg1MTA4LCA4NTExMywgODUxMTgsIDg1MTIzLCAKLSAgICA4NTEyOCwgODUxMzMsIDg1MTM4LCA4NTE0MywgODUxNDgsIDg1MTUzLCA4NTE1OCwgODUxNjMsIDg1MTY4LCA4NTE3MywgCi0gICAgODUxNzgsIDg1MTgzLCA4NTE4OCwgODUxOTMsIDg1MTk4LCA4NTIwMywgODUyMDgsIDg1MjEzLCA4NTIxOCwgODUyMjMsIAotICAgIDg1MjI4LCA4NTIzMywgODUyMzgsIDg1MjQzLCAwLCAwLCAwLCA4NTI0OCwgODUyNTIsIDg1MjU3LCA4NTI2MSwgODUyNjYsIAotICAgIDg1MjcxLCAwLCAwLCA4NTI3NSwgODUyODAsIDg1Mjg1LCA4NTI4OSwgODUyOTQsIDg1Mjk5LCAwLCAwLCA4NTMwNCwgCi0gICAgODUzMDksIDg1MzEzLCA4NTMxOCwgODUzMjMsIDg1MzI4LCAwLCAwLCA4NTMzMywgODUzMzgsIDg1MzQzLCAwLCAwLCAwLCAKLSAgICA4NTM0NywgODUzNTEsIDg1MzU1LCA4NTM1OSwgODUzNjIsIDg1MzY2LCA4NTM3MCwgMCwgODUzNzQsIDg1MzgwLCA4NTM4MywgCi0gICAgODUzODcsIDg1MzkwLCA4NTM5NCwgODUzOTgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDg1NDAyLCA4NTQwOCwgCi0gICAgODU0MTQsIDg1NDIwLCA4NTQyNiwgMCwgMCwgODU0MzAsIDg1NDM2LCA4NTQ0MiwgODU0NDgsIDg1NDU0LCA4NTQ2MCwgCi0gICAgODU0NjcsIDg1NDc0LCA4NTQ4MSwgODU0ODgsIDg1NDk1LCA4NTUwMiwgMCwgODU1MDksIDg1NTE2LCA4NTUyMywgODU1MjksIAotICAgIDg1NTM2LCA4NTU0MywgODU1NTAsIDg1NTU3LCA4NTU2MywgODU1NzAsIDg1NTc3LCA4NTU4NCwgODU1OTEsIDg1NTk3LCAKLSAgICA4NTYwNCwgODU2MTEsIDg1NjE4LCA4NTYyNSwgODU2MzEsIDg1NjM4LCA4NTY0NSwgODU2NTIsIDg1NjU5LCA4NTY2NiwgCi0gICAgODU2NzMsIDg1NjgwLCAwLCA4NTY4NywgODU2OTMsIDg1NzAwLCA4NTcwNywgODU3MTQsIDg1NzIxLCA4NTcyOCwgODU3MzUsIAotICAgIDg1NzQyLCA4NTc0OSwgODU3NTYsIDg1NzYzLCA4NTc3MCwgODU3NzcsIDg1NzgzLCA4NTc5MCwgODU3OTcsIDg1ODA0LCAKLSAgICA4NTgxMSwgMCwgODU4MTgsIDg1ODI1LCAwLCA4NTgzMiwgODU4MzksIDg1ODQ2LCA4NTg1MywgODU4NjAsIDg1ODY3LCAKLSAgICA4NTg3NCwgODU4ODEsIDg1ODg4LCA4NTg5NSwgODU5MDIsIDg1OTA5LCA4NTkxNiwgODU5MjMsIDg1OTMwLCAwLCAwLCAKLSAgICA4NTkzNiwgODU5NDEsIDg1OTQ2LCA4NTk1MSwgODU5NTYsIDg1OTYxLCA4NTk2NiwgODU5NzEsIDg1OTc2LCA4NTk4MSwgCi0gICAgODU5ODYsIDg1OTkxLCA4NTk5NiwgODYwMDEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDg2MDA2LCA4NjAxMywgCi0gICAgODYwMjAsIDg2MDI3LCA4NjAzNCwgODYwNDEsIDg2MDQ4LCA4NjA1NSwgODYwNjIsIDg2MDY5LCA4NjA3NiwgODYwODMsIAotICAgIDg2MDkwLCA4NjA5NywgODYxMDQsIDg2MTExLCA4NjExOCwgODYxMjUsIDg2MTMyLCA4NjEzOSwgODYxNDcsIDg2MTU1LCAKLSAgICA4NjE2MiwgODYxNjksIDg2MTc0LCA4NjE4MiwgODYxOTAsIDg2MTk3LCA4NjIwNCwgODYyMDksIDg2MjE2LCA4NjIyMSwgCi0gICAgODYyMjYsIDg2MjMzLCA4NjIzOCwgODYyNDMsIDg2MjQ4LCA4NjI1NiwgODYyNjEsIDg2MjY2LCA4NjI3MywgODYyNzgsIAotICAgIDg2MjgzLCA4NjI5MCwgODYyOTcsIDg2MzAyLCA4NjMwNywgODYzMTIsIDg2MzE3LCA4NjMyMiwgODYzMjcsIDg2MzMyLCAKLSAgICA4NjMzNywgODYzNDIsIDg2MzQ5LCA4NjM1NCwgODYzNjEsIDg2MzY2LCA4NjM3MSwgODYzNzYsIDg2MzgxLCA4NjM4NiwgCi0gICAgODYzOTEsIDg2Mzk2LCA4NjQwMSwgODY0MDYsIDg2NDExLCA4NjQxNiwgODY0MjMsIDg2NDMwLCA4NjQzNywgODY0NDQsIAotICAgIDg2NDUwLCA4NjQ1NSwgODY0NjIsIDg2NDY3LCA4NjQ3MiwgODY0ODEsIDg2NDg4LCA4NjQ5NywgODY1MDQsIDg2NTA5LCAKLSAgICA4NjUxNCwgODY1MjIsIDg2NTI3LCA4NjUzMiwgODY1MzcsIDg2NTQyLCA4NjU0NywgODY1NTQsIDg2NTU5LCA4NjU2NCwgCi0gICAgODY1NjksIDg2NTc0LCA4NjU3OSwgODY1ODYsIDg2NTkzLCA4NjYwMCwgODY2MDcsIDg2NjE0LCA4NjYyMSwgODY2MjgsIAotICAgIDg2NjM1LCA4NjY0MiwgODY2NDksIDg2NjU2LCA4NjY2MywgODY2NzAsIDg2Njc3LCA4NjY4NCwgODY2OTEsIDg2Njk4LCAKLSAgICA4NjcwNSwgODY3MTIsIDg2NzE5LCA4NjcyNiwgODY3MzMsIDg2NzQwLCA4Njc0NywgODY3NTQsIDg2NzYxLCA4Njc2OCwgCi0gICAgODY3NzUsIDAsIDAsIDAsIDAsIDAsIDg2NzgyLCA4Njc5MCwgODY3OTgsIDAsIDAsIDAsIDAsIDg2ODAzLCA4NjgwNywgCi0gICAgODY4MTEsIDg2ODE1LCA4NjgxOSwgODY4MjMsIDg2ODI3LCA4NjgzMSwgODY4MzUsIDg2ODM5LCA4Njg0NCwgODY4NDksIAotICAgIDg2ODU0LCA4Njg1OSwgODY4NjQsIDg2ODY5LCA4Njg3NCwgODY4NzksIDg2ODg0LCA4Njg5MCwgODY4OTYsIDg2OTAyLCAKLSAgICA4NjkwOSwgODY5MTYsIDg2OTIzLCA4NjkzMCwgODY5MzcsIDg2OTQ0LCA4Njk1MCwgODY5NTYsIDg2OTYyLCA4Njk2OSwgCi0gICAgODY5NzYsIDg2OTgzLCA4Njk5MCwgODY5OTcsIDg3MDA0LCA4NzAxMSwgODcwMTgsIDg3MDI1LCA4NzAzMiwgODcwMzksIAotICAgIDg3MDQ2LCA4NzA1MywgODcwNjAsIDAsIDAsIDAsIDg3MDY3LCA4NzA3NSwgODcwODMsIDg3MDkxLCA4NzA5OSwgODcxMDcsIAotICAgIDg3MTE3LCA4NzEyNywgODcxMzUsIDg3MTQzLCA4NzE1MSwgODcxNTksIDg3MTY3LCA4NzE3MywgODcxODAsIDg3MTg5LCAKLSAgICA4NzE5OCwgODcyMDcsIDg3MjE2LCA4NzIyNSwgODcyMzQsIDg3MjQ0LCA4NzI1NSwgODcyNjUsIDg3Mjc2LCA4NzI4NSwgCi0gICAgODcyOTQsIDg3MzAzLCA4NzMxMywgODczMjQsIDg3MzM0LCA4NzM0NSwgODczNTYsIDg3MzY1LCA4NzM3MywgODczNzksIAotICAgIDg3Mzg1LCA4NzM5MSwgODczOTcsIDg3NDA1LCA4NzQxMywgODc0MTksIDg3NDI2LCA4NzQzNiwgODc0NDMsIDg3NDUwLCAKLSAgICA4NzQ1NywgODc0NjQsIDg3NDcxLCA4NzQ4MSwgODc0ODgsIDg3NDk1LCA4NzUwMywgODc1MTEsIDg3NTIwLCA4NzUyOSwgCi0gICAgODc1MzgsIDg3NTQ3LCA4NzU1NiwgODc1NjQsIDg3NTczLCA4NzU4MiwgODc1OTEsIDg3NTk1LCA4NzYwMiwgODc2MDcsIAotICAgIDg3NjEyLCA4NzYxNiwgODc2MjAsIDg3NjI0LCA4NzYyOCwgODc2MzMsIDg3NjM4LCA4NzY0NCwgODc2NTAsIDg3NjU0LCAKLSAgICA4NzY2MCwgODc2NjQsIDg3NjY4LCA4NzY3MiwgODc2NzYsIDg3NjgwLCA4NzY4NCwgODc2OTAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDg3Njk0LCA4NzY5OSwgODc3MDQsIDg3NzA5LCA4NzcxNCwgODc3MjEsIDg3NzI2LCA4NzczMSwgODc3MzYsIDg3NzQxLCAKLSAgICA4Nzc0NiwgODc3NTEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDg4NzA4LCA4ODcxNSwgODg3MjQsIDg4NzMzLCA4ODc0MCwgODg3NDcsIDg4NzU0LCAKKyAgICA4ODc2MSwgODg3NjgsIDg4Nzc1LCA4ODc4MSwgODg3ODgsIDg4Nzk1LCA4ODgwMiwgODg4MDksIDg4ODE2LCA4ODgyMywgCisgICAgODg4MzAsIDg4ODM3LCA4ODg0NiwgODg4NTMsIDg4ODYwLCA4ODg2NywgODg4NzQsIDg4ODgxLCA4ODg4OCwgODg4OTUsIAorICAgIDg4OTAyLCA4ODkxMSwgODg5MTgsIDg4OTI1LCA4ODkzMiwgODg5MzksIDg4OTQ2LCA4ODk1MywgODg5NjIsIDg4OTY5LCAKKyAgICA4ODk3NiwgODg5ODMsIDg4OTkwLCA4ODk5OSwgODkwMDYsIDg5MDEzLCA4OTAyMCwgODkwMjgsIDg5MDM3LCAwLCAwLCAKKyAgICA4OTA0NiwgODkwNTAsIDg5MDU0LCA4OTA1OSwgODkwNjQsIDg5MDY5LCA4OTA3NCwgODkwNzgsIDg5MDgzLCA4OTA4OCwgCisgICAgODkwOTMsIDg5MDk4LCA4OTEwMywgODkxMDgsIDg5MTEyLCA4OTExNiwgODkxMjEsIDg5MTI2LCA4OTEzMSwgODkxMzUsIAorICAgIDg5MTQwLCA4OTE0NSwgODkxNDksIDg5MTU0LCA4OTE1OSwgODkxNjQsIDg5MTY5LCA4OTE3NCwgODkxNzksIDAsIDAsIDAsIAorICAgIDg5MTg0LCA4OTE4OCwgODkxOTMsIDg5MTk4LCA4OTIwMiwgODkyMDcsIDg5MjExLCA4OTIxNiwgODkyMjEsIDg5MjI2LCAKKyAgICA4OTIzMSwgODkyMzUsIDg5MjM5LCA4OTI0NCwgODkyNDksIDg5MjU0LCA4OTI1OSwgODkyNjQsIDg5MjY5LCA4OTI3MywgCisgICAgODkyNzgsIDg5MjgzLCA4OTI4OCwgODkyOTMsIDg5Mjk4LCA4OTMwMywgODkzMDcsIDg5MzExLCA4OTMxNiwgODkzMjEsIAorICAgIDg5MzI2LCA4OTMzMSwgODkzMzYsIDg5MzQxLCA4OTM0NiwgODkzNTEsIDg5MzU2LCA4OTM2MSwgODkzNjYsIDg5MzcxLCAKKyAgICA4OTM3NiwgODkzODEsIDg5Mzg2LCA4OTM5MSwgODkzOTYsIDg5NDAxLCA4OTQwNiwgODk0MTEsIDg5NDE2LCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA4Nzc1NiwgODc3NjMsIDg3NzcyLCA4Nzc4MSwgODc3ODgsIDg3Nzk1LCA4NzgwMiwgCi0gICAgODc4MDksIDg3ODE2LCA4NzgyMywgODc4MjksIDg3ODM2LCA4Nzg0MywgODc4NTAsIDg3ODU3LCA4Nzg2NCwgODc4NzEsIAotICAgIDg3ODc4LCA4Nzg4NSwgODc4OTQsIDg3OTAxLCA4NzkwOCwgODc5MTUsIDg3OTIyLCA4NzkyOSwgODc5MzYsIDg3OTQzLCAKLSAgICA4Nzk1MCwgODc5NTksIDg3OTY2LCA4Nzk3MywgODc5ODAsIDg3OTg3LCA4Nzk5NCwgODgwMDEsIDg4MDEwLCA4ODAxNywgCi0gICAgODgwMjQsIDg4MDMxLCA4ODAzOCwgODgwNDcsIDg4MDU0LCA4ODA2MSwgODgwNjgsIDg4MDc2LCA4ODA4NSwgMCwgMCwgCi0gICAgODgwOTQsIDg4MDk4LCA4ODEwMiwgODgxMDcsIDg4MTEyLCA4ODExNywgODgxMjIsIDg4MTI2LCA4ODEzMSwgODgxMzYsIAotICAgIDg4MTQxLCA4ODE0NiwgODgxNTEsIDg4MTU2LCA4ODE2MCwgODgxNjQsIDg4MTY4LCA4ODE3MywgODgxNzgsIDg4MTgyLCAKLSAgICA4ODE4NywgODgxOTIsIDg4MTk2LCA4ODIwMCwgODgyMDUsIDg4MjEwLCA4ODIxNSwgODgyMjAsIDg4MjI1LCAwLCAwLCAwLCAKLSAgICA4ODIzMCwgODgyMzQsIDg4MjM5LCA4ODI0NCwgODgyNDgsIDg4MjUzLCA4ODI1NywgODgyNjIsIDg4MjY3LCA4ODI3MiwgCi0gICAgODgyNzcsIDg4MjgxLCA4ODI4NSwgODgyOTAsIDg4Mjk1LCA4ODMwMCwgODgzMDUsIDg4MzA5LCA4ODMxNCwgODgzMTgsIAotICAgIDg4MzIzLCA4ODMyOCwgODgzMzIsIDg4MzM3LCA4ODM0MiwgODgzNDcsIDg4MzUxLCA4ODM1NSwgODgzNjAsIDg4MzY1LCAKLSAgICA4ODM3MCwgODgzNzUsIDg4MzgwLCA4ODM4NSwgODgzOTAsIDg4Mzk1LCA4ODQwMCwgODg0MDUsIDg4NDEwLCA4ODQxNSwgCi0gICAgODg0MjAsIDg4NDI1LCA4ODQzMCwgODg0MzUsIDg4NDQwLCA4ODQ0NSwgODg0NTAsIDg4NDU1LCA4ODQ2MCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgODk0MjEsIDg5NDI1LCAKKyAgICA4OTQzMCwgODk0MzUsIDg5NDQwLCA4OTQ0NCwgODk0NDksIDg5NDU0LCA4OTQ1OSwgODk0NjQsIDg5NDY4LCA4OTQ3MiwgCisgICAgODk0NzcsIDg5NDgyLCA4OTQ4NywgODk0OTIsIDg5NDk2LCA4OTUwMSwgODk1MDYsIDg5NTExLCA4OTUxNiwgODk1MjEsIAorICAgIDg5NTI2LCA4OTUzMCwgODk1MzUsIDg5NTQwLCA4OTU0NSwgODk1NTAsIDg5NTU1LCA4OTU2MCwgODk1NjUsIDAsIDg5NTcwLCAKKyAgICA4OTU3NSwgODk1ODAsIDg5NTg2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA4OTU5MiwgODk1OTcsIAorICAgIDg5NjAyLCA4OTYwNywgODk2MTIsIDg5NjE3LCA4OTYyMiwgODk2MjcsIDg5NjMyLCA4OTYzNywgODk2NDIsIDg5NjQ3LCAKKyAgICA4OTY1MiwgODk2NTcsIDg5NjYyLCA4OTY2NywgODk2NzIsIDg5Njc3LCA4OTY4MiwgODk2ODcsIDg5NjkyLCA4OTY5NywgCisgICAgODk3MDIsIDg5NzA3LCA4OTcxMiwgODk3MTcsIDg5NzIyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA4ODQ2NSwgODg0NjksIAotICAgIDg4NDc0LCA4ODQ3OSwgODg0ODQsIDg4NDg4LCA4ODQ5MywgODg0OTgsIDg4NTAzLCA4ODUwOCwgODg1MTIsIDg4NTE2LCAKLSAgICA4ODUyMSwgODg1MjYsIDg4NTMxLCA4ODUzNiwgODg1NDAsIDg4NTQ1LCA4ODU1MCwgODg1NTUsIDg4NTYwLCA4ODU2NSwgCi0gICAgODg1NzAsIDg4NTc0LCA4ODU3OSwgODg1ODQsIDg4NTg5LCA4ODU5NCwgODg1OTksIDg4NjA0LCA4ODYwOSwgMCwgODg2MTQsIAotICAgIDg4NjE5LCA4ODYyNCwgODg2MzAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDg4NjM2LCA4ODY0MSwgCi0gICAgODg2NDYsIDg4NjUxLCA4ODY1NiwgODg2NjEsIDg4NjY2LCA4ODY3MSwgODg2NzYsIDg4NjgxLCA4ODY4NiwgODg2OTEsIAotICAgIDg4Njk2LCA4ODcwMSwgODg3MDYsIDg4NzExLCA4ODcxNiwgODg3MjEsIDg4NzI2LCA4ODczMSwgODg3MzYsIDg4NzQxLCAKLSAgICA4ODc0NiwgODg3NTEsIDg4NzU2LCA4ODc2MSwgODg3NjYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDg5NzI5LCA4OTczNCwgODk3MzksIAorICAgIDg5NzQ0LCA4OTc0OSwgODk3NTQsIDg5NzU5LCA4OTc2NCwgODk3NjksIDg5Nzc0LCA4OTc3OSwgODk3ODQsIDg5Nzg5LCAKKyAgICA4OTc5NCwgODk3OTksIDg5ODA0LCA4OTgwOSwgODk4MTQsIDg5ODE5LCA4OTgyNCwgODk4MjksIDg5ODM0LCA4OTgzOSwgCisgICAgODk4NDQsIDg5ODQ5LCA4OTg1NCwgODk4NTksIDg5ODYzLCA4OTg2NywgODk4NzEsIDAsIDg5ODc2LCA4OTg4MiwgODk4ODcsIAorICAgIDg5ODkyLCA4OTg5NywgODk5MDIsIDg5OTA4LCA4OTkxNCwgODk5MjAsIDg5OTI2LCA4OTkzMiwgODk5MzgsIDg5OTQ0LCAKKyAgICA4OTk1MCwgODk5NTYsIDg5OTYyLCA4OTk2OCwgODk5NzQsIDg5OTgwLCA4OTk4NSwgODk5OTEsIDg5OTk3LCA5MDAwMiwgCisgICAgOTAwMDgsIDkwMDEzLCA5MDAxOSwgOTAwMjUsIDkwMDMwLCA5MDAzNiwgOTAwNDIsIDkwMDQ3LCA5MDA1MywgOTAwNTksIAorICAgIDkwMDY0LCA5MDA3MCwgOTAwNzYsIDkwMDgyLCAwLCAwLCAwLCAwLCA5MDA4NywgOTAwOTMsIDkwMDk5LCA5MDEwNSwgCisgICAgOTAxMTEsIDkwMTE3LCA5MDEyMywgOTAxMjksIDkwMTM1LCA5MDE0MiwgOTAxNDcsIDkwMTUyLCA5MDE1OCwgOTAxNjQsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDg4NzczLCA4ODc3OCwgODg3ODMsIAotICAgIDg4Nzg4LCA4ODc5MywgODg3OTgsIDg4ODAzLCA4ODgwOCwgODg4MTMsIDg4ODE4LCA4ODgyMywgODg4MjgsIDg4ODMzLCAKLSAgICA4ODgzOCwgODg4NDMsIDg4ODQ4LCA4ODg1MywgODg4NTgsIDg4ODYzLCA4ODg2OCwgODg4NzMsIDg4ODc4LCA4ODg4MywgCi0gICAgODg4ODgsIDg4ODkzLCA4ODg5OCwgODg5MDMsIDg4OTA3LCA4ODkxMSwgODg5MTUsIDAsIDg4OTIwLCA4ODkyNiwgODg5MzEsIAotICAgIDg4OTM2LCA4ODk0MSwgODg5NDYsIDg4OTUyLCA4ODk1OCwgODg5NjQsIDg4OTcwLCA4ODk3NiwgODg5ODIsIDg4OTg4LCAKLSAgICA4ODk5NCwgODkwMDAsIDg5MDA2LCA4OTAxMiwgODkwMTgsIDg5MDI0LCA4OTAyOSwgODkwMzUsIDg5MDQxLCA4OTA0NiwgCi0gICAgODkwNTIsIDg5MDU3LCA4OTA2MywgODkwNjksIDg5MDc0LCA4OTA4MCwgODkwODYsIDg5MDkxLCA4OTA5NywgODkxMDMsIAotICAgIDg5MTA5LCA4OTExNSwgODkxMjEsIDg5MTI3LCAwLCAwLCAwLCAwLCA4OTEzMiwgODkxMzgsIDg5MTQ0LCA4OTE1MCwgCi0gICAgODkxNTYsIDg5MTYyLCA4OTE2OCwgODkxNzQsIDg5MTgwLCA4OTE4NywgODkxOTIsIDg5MTk3LCA4OTIwMywgODkyMDksIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDg5MjE1LCA4OTIyMCwgODkyMjUsIAotICAgIDg5MjMwLCA4OTIzNiwgODkyNDEsIDg5MjQ3LCA4OTI1MywgODkyNTksIDg5MjY1LCA4OTI3MiwgODkyNzgsIDg5Mjg1LCAKLSAgICA4OTI5MCwgODkyOTUsIDg5MzAwLCA4OTMwNSwgODkzMTAsIDg5MzE1LCA4OTMyMCwgODkzMjUsIDg5MzMwLCA4OTMzNSwgCi0gICAgODkzNDAsIDg5MzQ1LCA4OTM1MCwgODkzNTUsIDg5MzYwLCA4OTM2NSwgODkzNzAsIDg5Mzc1LCA4OTM4MCwgODkzODUsIAotICAgIDg5MzkwLCA4OTM5NSwgODk0MDAsIDg5NDA1LCA4OTQxMCwgODk0MTUsIDg5NDIwLCA4OTQyNSwgODk0MzAsIDg5NDM1LCAKLSAgICA4OTQ0MCwgODk0NDYsIDg5NDUxLCA4OTQ1NywgODk0NjMsIDg5NDY5LCA4OTQ3NSwgODk0ODIsIDg5NDg4LCA4OTQ5NSwgCi0gICAgODk1MDAsIDg5NTA1LCA4OTUxMCwgODk1MTUsIDg5NTIwLCA4OTUyNSwgODk1MzAsIDg5NTM1LCA4OTU0MCwgODk1NDUsIAotICAgIDg5NTUwLCA4OTU1NSwgODk1NjAsIDg5NTY1LCA4OTU3MCwgODk1NzUsIDg5NTgwLCA4OTU4NSwgODk1OTAsIDg5NTk1LCAKLSAgICA4OTYwMCwgODk2MDUsIDg5NjEwLCA4OTYxNSwgODk2MjAsIDg5NjI1LCA4OTYzMCwgODk2MzUsIDg5NjQwLCA4OTY0NSwgCi0gICAgODk2NTAsIDg5NjU1LCA4OTY2MCwgODk2NjUsIDg5NjcwLCA4OTY3NSwgODk2ODAsIDg5Njg1LCA4OTY5MCwgODk2OTUsIAotICAgIDg5NzAwLCA4OTcwNSwgODk3MTAsIDg5NzE1LCA4OTcyMCwgODk3MjUsIDg5NzMwLCA4OTczNSwgODk3NDAsIDg5NzQ1LCAKLSAgICA4OTc1MCwgODk3NTUsIDg5NzYwLCA4OTc2NSwgODk3NzAsIDg5Nzc1LCA4OTc4MCwgODk3ODUsIDg5NzkwLCA4OTc5NSwgCi0gICAgODk4MDAsIDg5ODA1LCA4OTgxMCwgODk4MTUsIDg5ODIwLCA4OTgyNSwgODk4MzAsIDg5ODM1LCA4OTg0MCwgODk4NDUsIAotICAgIDg5ODUwLCA4OTg1NSwgODk4NjAsIDg5ODY1LCA4OTg3MCwgODk4NzUsIDg5ODgwLCA4OTg4NSwgODk4OTAsIDg5ODk1LCAKLSAgICA4OTkwMCwgODk5MDUsIDg5OTEwLCA4OTkxNCwgODk5MTksIDg5OTI0LCA4OTkyOSwgODk5MzQsIDg5OTM5LCA4OTk0NCwgCi0gICAgODk5NDksIDg5OTU0LCA4OTk1OSwgODk5NjQsIDg5OTY5LCA4OTk3NCwgODk5NzgsIDg5OTgyLCA4OTk4NiwgODk5OTAsIAotICAgIDg5OTk0LCA4OTk5OCwgOTAwMDIsIDkwMDA3LCA5MDAxMiwgMCwgMCwgOTAwMTcsIDkwMDIyLCA5MDAyNiwgOTAwMzAsIAotICAgIDkwMDM0LCA5MDAzOCwgOTAwNDIsIDkwMDQ2LCA5MDA1MCwgOTAwNTQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDkwMTcwLCA5MDE3NSwgOTAxODAsIAorICAgIDkwMTg1LCA5MDE5MSwgOTAxOTYsIDkwMjAyLCA5MDIwOCwgOTAyMTQsIDkwMjIwLCA5MDIyNywgOTAyMzMsIDkwMjQwLCAKKyAgICA5MDI0NSwgOTAyNTAsIDkwMjU1LCA5MDI2MCwgOTAyNjUsIDkwMjcwLCA5MDI3NSwgOTAyODAsIDkwMjg1LCA5MDI5MCwgCisgICAgOTAyOTUsIDkwMzAwLCA5MDMwNSwgOTAzMTAsIDkwMzE1LCA5MDMyMCwgOTAzMjUsIDkwMzMwLCA5MDMzNSwgOTAzNDAsIAorICAgIDkwMzQ1LCA5MDM1MCwgOTAzNTUsIDkwMzYwLCA5MDM2NSwgOTAzNzAsIDkwMzc1LCA5MDM4MCwgOTAzODUsIDkwMzkwLCAKKyAgICA5MDM5NSwgOTA0MDEsIDkwNDA2LCA5MDQxMiwgOTA0MTgsIDkwNDI0LCA5MDQzMCwgOTA0MzcsIDkwNDQzLCA5MDQ1MCwgCisgICAgOTA0NTUsIDkwNDYwLCA5MDQ2NSwgOTA0NzAsIDkwNDc1LCA5MDQ4MCwgOTA0ODUsIDkwNDkwLCA5MDQ5NSwgOTA1MDAsIAorICAgIDkwNTA1LCA5MDUxMCwgOTA1MTUsIDkwNTIwLCA5MDUyNSwgOTA1MzAsIDkwNTM1LCA5MDU0MCwgOTA1NDUsIDkwNTUwLCAKKyAgICA5MDU1NSwgOTA1NjAsIDkwNTY1LCA5MDU3MCwgOTA1NzUsIDkwNTgwLCA5MDU4NSwgOTA1OTAsIDkwNTk1LCA5MDYwMCwgCisgICAgOTA2MDUsIDkwNjEwLCA5MDYxNSwgOTA2MjAsIDkwNjI1LCA5MDYzMCwgOTA2MzUsIDkwNjQwLCA5MDY0NSwgOTA2NTAsIAorICAgIDkwNjU1LCA5MDY2MCwgOTA2NjUsIDkwNjcwLCA5MDY3NSwgOTA2ODAsIDkwNjg1LCA5MDY5MCwgOTA2OTUsIDkwNzAwLCAKKyAgICA5MDcwNSwgOTA3MTAsIDkwNzE1LCA5MDcyMCwgOTA3MjUsIDkwNzMwLCA5MDczNSwgOTA3NDAsIDkwNzQ1LCA5MDc1MCwgCisgICAgOTA3NTUsIDkwNzYwLCA5MDc2NSwgOTA3NzAsIDkwNzc1LCA5MDc4MCwgOTA3ODUsIDkwNzkwLCA5MDc5NSwgOTA4MDAsIAorICAgIDkwODA1LCA5MDgxMCwgOTA4MTUsIDkwODIwLCA5MDgyNSwgOTA4MzAsIDkwODM1LCA5MDg0MCwgOTA4NDUsIDkwODUwLCAKKyAgICA5MDg1NSwgOTA4NjAsIDkwODY1LCA5MDg2OSwgOTA4NzMsIDkwODc4LCA5MDg4MywgOTA4ODgsIDkwODkzLCA5MDg5OCwgCisgICAgOTA5MDMsIDkwOTA4LCA5MDkxMywgOTA5MTgsIDkwOTIzLCA5MDkyOCwgOTA5MzIsIDkwOTM2LCA5MDk0MCwgOTA5NDQsIAorICAgIDkwOTQ4LCA5MDk1MiwgOTA5NTYsIDkwOTYxLCA5MDk2NiwgMCwgMCwgOTA5NzEsIDkwOTc2LCA5MDk4MCwgOTA5ODQsIAorICAgIDkwOTg4LCA5MDk5MiwgOTA5OTYsIDkxMDAwLCA5MTAwNCwgOTEwMDgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDkwMDU4LCA5MDA2MiwgOTAwNjYsIDkwMDcwLCA5MDA3NCwgOTAwNzgsIDAsIDAsIDkwMDgzLCAwLCAKLSAgICA5MDA4OCwgOTAwOTIsIDkwMDk3LCA5MDEwMiwgOTAxMDcsIDkwMTEyLCA5MDExNywgOTAxMjIsIDkwMTI3LCA5MDEzMiwgCi0gICAgOTAxMzcsIDkwMTQxLCA5MDE0NiwgOTAxNTEsIDkwMTU2LCA5MDE2MSwgOTAxNjUsIDkwMTcwLCA5MDE3NSwgOTAxODAsIAotICAgIDkwMTg1LCA5MDE4OSwgOTAxOTQsIDkwMTk5LCA5MDIwNCwgOTAyMDksIDkwMjEzLCA5MDIxOCwgOTAyMjMsIDkwMjI4LCAKLSAgICA5MDIzMywgOTAyMzgsIDkwMjQzLCA5MDI0OCwgOTAyNTMsIDkwMjU4LCA5MDI2MywgOTAyNjgsIDkwMjczLCA5MDI3NywgCi0gICAgOTAyODIsIDkwMjg3LCA5MDI5MiwgOTAyOTcsIDAsIDkwMzAyLCA5MDMwNywgMCwgMCwgMCwgOTAzMTIsIDAsIDAsIDkwMzE3LCAKLSAgICA5MDMyMiwgOTAzMjksIDkwMzM2LCA5MDM0MywgOTAzNTAsIDkwMzU3LCA5MDM2NCwgOTAzNzEsIDkwMzc4LCA5MDM4NSwgCi0gICAgOTAzOTIsIDkwMzk5LCA5MDQwNiwgOTA0MTMsIDkwNDIwLCA5MDQyNywgOTA0MzQsIDkwNDQxLCA5MDQ0OCwgOTA0NTUsIAotICAgIDkwNDYyLCA5MDQ2OSwgMCwgOTA0NzYsIDkwNDgzLCA5MDQ4OSwgOTA0OTUsIDkwNTAxLCA5MDUwOCwgOTA1MTUsIDkwNTIzLCAKLSAgICA5MDUzMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOTA1NDAsIDkwNTQ1LCA5MDU1MCwgOTA1NTUsIDkwNTYwLCA5MDU2NSwgCi0gICAgOTA1NzAsIDkwNTc1LCA5MDU4MCwgOTA1ODUsIDkwNTkwLCA5MDU5NSwgOTA2MDAsIDkwNjA1LCA5MDYxMCwgOTA2MTUsIAotICAgIDkwNjIwLCA5MDYyNSwgOTA2MzAsIDkwNjM1LCA5MDY0MCwgOTA2NDUsIDkwNjUwLCA5MDY1NCwgOTA2NTksIDkwNjY0LCAKLSAgICA5MDY3MCwgOTA2NzQsIDAsIDAsIDAsIDkwNjc4LCA5MDY4NCwgOTA2ODgsIDkwNjkzLCA5MDY5OCwgOTA3MDMsIDkwNzA3LCAKLSAgICA5MDcxMiwgOTA3MTYsIDkwNzIxLCA5MDcyNiwgOTA3MzAsIDkwNzM0LCA5MDczOCwgOTA3NDIsIDkwNzQ2LCA5MDc1MSwgCi0gICAgOTA3NTYsIDkwNzYwLCA5MDc2NSwgOTA3NzAsIDkwNzc0LCA5MDc3OSwgOTA3ODQsIDkwNzg5LCA5MDc5NCwgOTA3OTksIDAsIAotICAgIDAsIDAsIDAsIDAsIDkwODA0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCA5MTAxMiwgOTEwMTYsIDkxMDIwLCA5MTAyNCwgOTEwMjgsIDkxMDMyLCAwLCAwLCA5MTAzNywgMCwgCisgICAgOTEwNDIsIDkxMDQ2LCA5MTA1MSwgOTEwNTYsIDkxMDYxLCA5MTA2NiwgOTEwNzEsIDkxMDc2LCA5MTA4MSwgOTEwODYsIAorICAgIDkxMDkxLCA5MTA5NSwgOTExMDAsIDkxMTA1LCA5MTExMCwgOTExMTUsIDkxMTE5LCA5MTEyNCwgOTExMjksIDkxMTM0LCAKKyAgICA5MTEzOSwgOTExNDMsIDkxMTQ4LCA5MTE1MywgOTExNTgsIDkxMTYzLCA5MTE2NywgOTExNzIsIDkxMTc3LCA5MTE4MiwgCisgICAgOTExODcsIDkxMTkxLCA5MTE5NiwgOTEyMDEsIDkxMjA2LCA5MTIxMSwgOTEyMTYsIDkxMjIxLCA5MTIyNiwgOTEyMzAsIAorICAgIDkxMjM1LCA5MTI0MCwgOTEyNDUsIDkxMjUwLCAwLCA5MTI1NSwgOTEyNjAsIDAsIDAsIDAsIDkxMjY1LCAwLCAwLCA5MTI3MCwgCisgICAgOTEyNzUsIDkxMjgyLCA5MTI4OSwgOTEyOTYsIDkxMzAzLCA5MTMxMCwgOTEzMTcsIDkxMzI0LCA5MTMzMSwgOTEzMzgsIAorICAgIDkxMzQ1LCA5MTM1MiwgOTEzNTksIDkxMzY2LCA5MTM3MywgOTEzODAsIDkxMzg3LCA5MTM5NCwgOTE0MDEsIDkxNDA4LCAKKyAgICA5MTQxNSwgOTE0MjIsIDAsIDkxNDI5LCA5MTQzNiwgOTE0NDIsIDkxNDQ4LCA5MTQ1NCwgOTE0NjEsIDkxNDY4LCA5MTQ3NiwgCisgICAgOTE0ODQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDkxNDkzLCA5MTQ5OCwgOTE1MDMsIDkxNTA4LCA5MTUxMywgOTE1MTgsIAorICAgIDkxNTIzLCA5MTUyOCwgOTE1MzMsIDkxNTM4LCA5MTU0MywgOTE1NDgsIDkxNTUzLCA5MTU1OCwgOTE1NjMsIDkxNTY4LCAKKyAgICA5MTU3MywgOTE1NzgsIDkxNTgzLCA5MTU4OCwgOTE1OTMsIDkxNTk4LCA5MTYwMywgOTE2MDcsIDkxNjEyLCA5MTYxNywgCisgICAgOTE2MjMsIDkxNjI3LCAwLCAwLCAwLCA5MTYzMSwgOTE2MzcsIDkxNjQxLCA5MTY0NiwgOTE2NTEsIDkxNjU2LCA5MTY2MCwgCisgICAgOTE2NjUsIDkxNjY5LCA5MTY3NCwgOTE2NzksIDkxNjgzLCA5MTY4NywgOTE2OTIsIDkxNjk2LCA5MTcwMCwgOTE3MDUsIAorICAgIDkxNzEwLCA5MTcxNCwgOTE3MTksIDkxNzI0LCA5MTcyOSwgOTE3MzQsIDkxNzM5LCA5MTc0NCwgOTE3NDksIDkxNzU0LCAwLCAKKyAgICAwLCAwLCAwLCAwLCA5MTc1OSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOTA4MDksIAotICAgIDkwODEzLCA5MDgxOCwgOTA4MjMsIDAsIDkwODI5LCA5MDgzNCwgMCwgMCwgMCwgMCwgMCwgOTA4MzksIDkwODQ1LCA5MDg1MiwgCi0gICAgOTA4NTcsIDkwODYyLCA5MDg2NiwgOTA4NzEsIDkwODc2LCAwLCA5MDg4MSwgOTA4ODYsIDkwODkxLCAwLCA5MDg5NiwgCi0gICAgOTA5MDEsIDkwOTA2LCA5MDkxMSwgOTA5MTYsIDkwOTIxLCA5MDkyNiwgOTA5MzEsIDkwOTM2LCA5MDk0MSwgOTA5NDYsIAotICAgIDkwOTUwLCA5MDk1NCwgOTA5NTksIDkwOTY0LCA5MDk2OSwgOTA5NzMsIDkwOTc3LCA5MDk4MSwgOTA5ODYsIDkwOTkxLCAKLSAgICA5MDk5NiwgOTEwMDEsIDkxMDA2LCA5MTAxMSwgOTEwMTUsIDkxMDIwLCAwLCAwLCAwLCAwLCA5MTAyNSwgOTEwMzEsIAotICAgIDkxMDM2LCAwLCAwLCAwLCAwLCA5MTA0MSwgOTEwNDUsIDkxMDQ5LCA5MTA1MywgOTEwNTcsIDkxMDYxLCA5MTA2NiwgCi0gICAgOTEwNzEsIDkxMDc3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5MTA4MywgOTEwODksIDkxMDk2LCA5MTEwMiwgOTExMDksIAotICAgIDkxMTE1LCA5MTEyMSwgOTExMjcsIDkxMTM0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5MTE0MCwgOTExNDgsIDkxMTU2LCAKLSAgICA5MTE2NCwgOTExNzIsIDkxMTgwLCA5MTE4OCwgOTExOTYsIDkxMjA0LCA5MTIxMiwgOTEyMjAsIDkxMjI4LCA5MTIzNiwgCi0gICAgOTEyNDQsIDkxMjUyLCA5MTI2MCwgOTEyNjgsIDkxMjc2LCA5MTI4NCwgOTEyOTIsIDkxMzAwLCA5MTMwOCwgOTEzMTYsIAotICAgIDkxMzI0LCA5MTMzMiwgOTEzNDAsIDkxMzQ4LCA5MTM1NiwgOTEzNjQsIDkxMzcyLCA5MTM3OSwgOTEzODcsIDkxMzk1LCAKLSAgICA5MTM5OSwgOTE0MDQsIDkxNDA5LCA5MTQxNCwgOTE0MTksIDkxNDI0LCA5MTQyOSwgOTE0MzQsIDkxNDM4LCA5MTQ0MywgCi0gICAgOTE0NDcsIDkxNDUyLCA5MTQ1NiwgOTE0NjEsIDkxNDY1LCA5MTQ3MCwgOTE0NzUsIDkxNDgwLCA5MTQ4NSwgOTE0OTAsIAotICAgIDkxNDk1LCA5MTUwMCwgOTE1MDUsIDkxNTEwLCA5MTUxNSwgOTE1MjAsIDkxNTI1LCA5MTUzMCwgOTE1MzUsIDkxNTQwLCAKLSAgICA5MTU0NSwgOTE1NTAsIDkxNTU1LCA5MTU2MCwgOTE1NjUsIDkxNTcwLCA5MTU3NSwgOTE1ODAsIDkxNTg1LCA5MTU5MCwgCi0gICAgOTE1OTUsIDkxNjAwLCA5MTYwNSwgOTE2MTAsIDkxNjE1LCA5MTYyMCwgOTE2MjUsIDkxNjMwLCA5MTYzNSwgOTE2NDAsIAotICAgIDkxNjQ1LCA5MTY1MCwgOTE2NTUsIDAsIDAsIDAsIDkxNjYwLCA5MTY2NSwgOTE2NzQsIDkxNjgyLCA5MTY5MSwgOTE3MDAsIAotICAgIDkxNzExLCA5MTcyMiwgOTE3MjksIDkxNzM2LCA5MTc0MywgOTE3NTAsIDkxNzU3LCA5MTc2NCwgOTE3NzEsIDkxNzc4LCAKLSAgICA5MTc4NSwgOTE3OTIsIDkxNzk5LCA5MTgwNiwgOTE4MTMsIDkxODIwLCA5MTgyNywgOTE4MzQsIDkxODQxLCA5MTg0OCwgCi0gICAgOTE4NTUsIDkxODYyLCA5MTg2OSwgMCwgMCwgOTE4NzYsIDkxODgyLCA5MTg4OCwgOTE4OTQsIDkxOTAwLCA5MTkwNywgCi0gICAgOTE5MTQsIDkxOTIyLCA5MTkzMCwgOTE5MzcsIDkxOTQ0LCA5MTk1MSwgOTE5NTgsIDkxOTY1LCA5MTk3MiwgOTE5NzksIAotICAgIDkxOTg2LCA5MTk5MywgOTIwMDAsIDkyMDA3LCA5MjAxNCwgOTIwMjEsIDkyMDI4LCA5MjAzNSwgOTIwNDIsIDkyMDQ5LCAKLSAgICA5MjA1NiwgMCwgMCwgMCwgMCwgMCwgOTIwNjMsIDkyMDY5LCA5MjA3NSwgOTIwODEsIDkyMDg3LCA5MjA5NCwgOTIxMDEsIAotICAgIDkyMTA5LCA5MjExNywgOTIxMjMsIDkyMTI5LCA5MjEzNiwgOTIxNDIsIDkyMTQ4LCA5MjE1NCwgOTIxNjAsIDkyMTY3LCAKLSAgICA5MjE3NCwgOTIxODEsIDkyMTg4LCA5MjE5NSwgOTIyMDIsIDkyMjA5LCA5MjIxNiwgOTIyMjMsIDkyMjMwLCA5MjIzNywgCi0gICAgOTIyNDQsIDkyMjUxLCA5MjI1OCwgOTIyNjUsIDkyMjcyLCA5MjI3OSwgOTIyODYsIDkyMjkzLCA5MjMwMCwgOTIzMDcsIAotICAgIDkyMzE0LCA5MjMyMSwgOTIzMjgsIDkyMzM1LCA5MjM0MiwgOTIzNDksIDkyMzU2LCA5MjM2MywgOTIzNzAsIDkyMzc3LCAKLSAgICA5MjM4NCwgOTIzOTEsIDkyMzk4LCA5MjQwNSwgOTI0MTIsIDkyNDE5LCA5MjQyNiwgOTI0MzMsIDkyNDQwLCA5MjQ0NywgCi0gICAgOTI0NTQsIDkyNDYxLCA5MjQ2OCwgOTI0NzUsIDkyNDgyLCA5MjQ4OSwgOTI0OTYsIDkyNTAzLCA5MjUxMCwgOTI1MTcsIAotICAgIDkyNTI0LCA5MjUzMSwgOTI1MzgsIDkyNTQ1LCA5MjU1MiwgOTI1NTksIDkyNTY2LCA5MjU3MywgOTI1ODAsIDkyNTg3LCAKLSAgICA5MjU5NCwgOTI2MDEsIDkyNjA4LCA5MjYxNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOTE3NjQsIAorICAgIDkxNzcwLCA5MTc3NiwgOTE3ODIsIDkxNzg4LCA5MTc5NCwgOTE4MDEsIDkxODA4LCA5MTgxNSwgOTE4MjEsIDkxODI3LCAKKyAgICA5MTgzMywgOTE4NDAsIDkxODQ3LCA5MTg1NCwgOTE4NjAsIDkxODY3LCA5MTg3NCwgOTE4ODEsIDkxODg4LCA5MTg5NCwgCisgICAgOTE5MDEsIDkxOTA4LCA5MTkxNCwgOTE5MjEsIDkxOTI4LCA5MTkzNSwgOTE5NDIsIDkxOTQ5LCA5MTk1NSwgOTE5NjIsIAorICAgIDkxOTY5LCA5MTk3NiwgOTE5ODIsIDkxOTg4LCA5MTk5NCwgOTIwMDAsIDkyMDA2LCA5MjAxMywgOTIwMjAsIDkyMDI2LCAKKyAgICA5MjAzMiwgOTIwMzgsIDkyMDQ1LCA5MjA1MSwgOTIwNTgsIDkyMDY1LCA5MjA3MiwgOTIwNzgsIDkyMDg2LCA5MjA5MywgCisgICAgOTIwOTksIDkyMTA2LCA5MjExMywgOTIxMjAsIDkyMTI2LCAwLCAwLCAwLCAwLCAwLCAwLCA5MjEzMywgOTIxNDEsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDkyMTQ5LCA5MjE1MywgOTIxNTgsIDkyMTYzLCAwLCAKKyAgICA5MjE2OSwgOTIxNzQsIDAsIDAsIDAsIDAsIDAsIDkyMTc5LCA5MjE4NSwgOTIxOTIsIDkyMTk3LCA5MjIwMiwgOTIyMDYsIAorICAgIDkyMjExLCA5MjIxNiwgMCwgOTIyMjEsIDkyMjI2LCA5MjIzMSwgMCwgOTIyMzYsIDkyMjQxLCA5MjI0NiwgOTIyNTEsIAorICAgIDkyMjU2LCA5MjI2MSwgOTIyNjYsIDkyMjcxLCA5MjI3NiwgOTIyODEsIDkyMjg2LCA5MjI5MCwgOTIyOTQsIDkyMjk5LCAKKyAgICA5MjMwNCwgOTIzMDksIDkyMzEzLCA5MjMxNywgOTIzMjEsIDkyMzI2LCA5MjMzMSwgOTIzMzYsIDkyMzQxLCA5MjM0NSwgCisgICAgOTIzNTAsIDkyMzU0LCA5MjM1OSwgMCwgMCwgMCwgMCwgOTIzNjQsIDkyMzcwLCA5MjM3NSwgMCwgMCwgMCwgMCwgOTIzODAsIAorICAgIDkyMzg0LCA5MjM4OCwgOTIzOTIsIDkyMzk2LCA5MjQwMCwgOTI0MDUsIDkyNDEwLCA5MjQxNiwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgOTI0MjIsIDkyNDI4LCA5MjQzNSwgOTI0NDEsIDkyNDQ4LCA5MjQ1NCwgOTI0NjAsIDkyNDY2LCA5MjQ3MywgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgOTI0NzksIDkyNDg3LCA5MjQ5NSwgOTI1MDMsIDkyNTExLCA5MjUxOSwgOTI1MjcsIDkyNTM1LCAKKyAgICA5MjU0MywgOTI1NTEsIDkyNTU5LCA5MjU2NywgOTI1NzUsIDkyNTgzLCA5MjU5MSwgOTI1OTksIDkyNjA3LCA5MjYxNSwgCisgICAgOTI2MjMsIDkyNjMxLCA5MjYzOSwgOTI2NDcsIDkyNjU1LCA5MjY2MywgOTI2NzEsIDkyNjc5LCA5MjY4NywgOTI2OTUsIAorICAgIDkyNzAzLCA5MjcxMSwgOTI3MTgsIDkyNzI2LCA5MjczNCwgOTI3MzgsIDkyNzQzLCA5Mjc0OCwgOTI3NTMsIDkyNzU4LCAKKyAgICA5Mjc2MywgOTI3NjgsIDkyNzczLCA5Mjc3NywgOTI3ODIsIDkyNzg2LCA5Mjc5MSwgOTI3OTUsIDkyODAwLCA5MjgwNCwgCisgICAgOTI4MDksIDkyODE0LCA5MjgxOSwgOTI4MjQsIDkyODI5LCA5MjgzNCwgOTI4MzksIDkyODQ0LCA5Mjg0OSwgOTI4NTQsIAorICAgIDkyODU5LCA5Mjg2NCwgOTI4NjksIDkyODc0LCA5Mjg3OSwgOTI4ODQsIDkyODg5LCA5Mjg5NCwgOTI4OTksIDkyOTA0LCAKKyAgICA5MjkwOSwgOTI5MTQsIDkyOTE5LCA5MjkyNCwgOTI5MjksIDkyOTM0LCA5MjkzOSwgOTI5NDQsIDkyOTQ5LCA5Mjk1NCwgCisgICAgOTI5NTksIDkyOTY0LCA5Mjk2OSwgOTI5NzQsIDkyOTc5LCA5Mjk4NCwgOTI5ODksIDkyOTk0LCAwLCAwLCAwLCA5Mjk5OSwgCisgICAgOTMwMDQsIDkzMDEzLCA5MzAyMSwgOTMwMzAsIDkzMDM5LCA5MzA1MCwgOTMwNjEsIDkzMDY4LCA5MzA3NSwgOTMwODIsIAorICAgIDkzMDg5LCA5MzA5NiwgOTMxMDMsIDkzMTEwLCA5MzExNywgOTMxMjQsIDkzMTMxLCA5MzEzOCwgOTMxNDUsIDkzMTUyLCAKKyAgICA5MzE1OSwgOTMxNjYsIDkzMTczLCA5MzE4MCwgOTMxODcsIDkzMTk0LCA5MzIwMSwgOTMyMDgsIDAsIDAsIDkzMjE1LCAKKyAgICA5MzIyMSwgOTMyMjcsIDkzMjMzLCA5MzIzOSwgOTMyNDYsIDkzMjUzLCA5MzI2MSwgOTMyNjksIDkzMjc2LCA5MzI4MywgCisgICAgOTMyOTAsIDkzMjk3LCA5MzMwNCwgOTMzMTEsIDkzMzE4LCA5MzMyNSwgOTMzMzIsIDkzMzM5LCA5MzM0NiwgOTMzNTMsIAorICAgIDkzMzYwLCA5MzM2NywgOTMzNzQsIDkzMzgxLCA5MzM4OCwgOTMzOTUsIDAsIDAsIDAsIDAsIDAsIDkzNDAyLCA5MzQwOCwgCisgICAgOTM0MTQsIDkzNDIwLCA5MzQyNiwgOTM0MzMsIDkzNDQwLCA5MzQ0OCwgOTM0NTYsIDkzNDYyLCA5MzQ2OCwgOTM0NzUsIAorICAgIDkzNDgxLCA5MzQ4NywgOTM0OTMsIDkzNDk5LCA5MzUwNiwgOTM1MTMsIDkzNTIwLCA5MzUyNywgOTM1MzQsIDkzNTQxLCAKKyAgICA5MzU0OCwgOTM1NTUsIDkzNTYyLCA5MzU2OSwgOTM1NzYsIDkzNTgzLCA5MzU5MCwgOTM1OTcsIDkzNjA0LCA5MzYxMSwgCisgICAgOTM2MTgsIDkzNjI1LCA5MzYzMiwgOTM2MzksIDkzNjQ2LCA5MzY1MywgOTM2NjAsIDkzNjY3LCA5MzY3NCwgOTM2ODEsIAorICAgIDkzNjg4LCA5MzY5NSwgOTM3MDIsIDkzNzA5LCA5MzcxNiwgOTM3MjMsIDkzNzMwLCA5MzczNywgOTM3NDQsIDkzNzUxLCAKKyAgICA5Mzc1OCwgOTM3NjUsIDkzNzcyLCA5Mzc3OSwgOTM3ODYsIDkzNzkzLCA5MzgwMCwgOTM4MDcsIDkzODE0LCA5MzgyMSwgCisgICAgOTM4MjgsIDkzODM1LCA5Mzg0MiwgOTM4NDksIDkzODU2LCA5Mzg2MywgOTM4NzAsIDkzODc3LCA5Mzg4NCwgOTM4OTEsIAorICAgIDkzODk4LCA5MzkwNSwgOTM5MTIsIDkzOTE5LCA5MzkyNiwgOTM5MzMsIDkzOTQwLCA5Mzk0NywgOTM5NTQsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDkyNjIyLCA5MjYyNiwgOTI2MzAsIAotICAgIDkyNjM0LCA5MjYzOCwgOTI2NDIsIDkyNjQ2LCA5MjY1MCwgOTI2NTQsIDkyNjU4LCA5MjY2MywgOTI2NjgsIDkyNjczLCAKLSAgICA5MjY3OCwgOTI2ODMsIDkyNjg4LCA5MjY5MywgOTI2OTgsIDkyNzAzLCA5MjcwOSwgOTI3MTUsIDkyNzIxLCA5MjcyOCwgCi0gICAgOTI3MzUsIDkyNzQyLCA5Mjc0OSwgOTI3NTYsIDkyNzYzLCA5Mjc3MCwgOTI3NzcsIDkyNzg0LCAwLCA5Mjc5MSwgOTI3OTUsIAotICAgIDkyNzk5LCA5MjgwMywgOTI4MDcsIDkyODExLCA5MjgxNCwgOTI4MTgsIDkyODIxLCA5MjgyNSwgOTI4MjgsIDkyODMyLCAKLSAgICA5MjgzNiwgOTI4NDEsIDkyODQ1LCA5Mjg1MCwgOTI4NTMsIDkyODU3LCA5Mjg2MCwgOTI4NjQsIDkyODY3LCA5Mjg3MSwgCi0gICAgOTI4NzUsIDkyODc5LCA5Mjg4MywgOTI4ODcsIDkyODkxLCA5Mjg5NSwgOTI4OTksIDkyOTAzLCA5MjkwNywgOTI5MTEsIAotICAgIDkyOTE1LCA5MjkxOSwgOTI5MjMsIDkyOTI3LCA5MjkzMSwgOTI5MzUsIDkyOTM5LCA5Mjk0MiwgOTI5NDUsIDkyOTQ5LCAKLSAgICA5Mjk1MywgOTI5NTcsIDkyOTYwLCA5Mjk2MywgOTI5NjYsIDkyOTcwLCA5Mjk3NCwgOTI5NzgsIDkyOTgyLCA5Mjk4NiwgCi0gICAgOTI5ODksIDkyOTkzLCA5Mjk5OSwgOTMwMDUsIDkzMDExLCA5MzAxNiwgOTMwMjMsIDkzMDI3LCA5MzAzMiwgOTMwMzYsIAotICAgIDkzMDQxLCA5MzA0NiwgOTMwNTIsIDkzMDU3LCA5MzA2MywgOTMwNjcsIDkzMDcyLCA5MzA3NiwgOTMwODEsIDkzMDg0LCAKLSAgICA5MzA4NywgOTMwOTEsIDkzMDk2LCA5MzEwMiwgOTMxMDcsIDkzMTEzLCAwLCAwLCAwLCAwLCA5MzExOCwgOTMxMjEsIAotICAgIDkzMTI0LCA5MzEyNywgOTMxMzAsIDkzMTMzLCA5MzEzNiwgOTMxMzksIDkzMTQyLCA5MzE0NSwgOTMxNDksIDkzMTUzLCAKLSAgICA5MzE1NywgOTMxNjEsIDkzMTY1LCA5MzE2OSwgOTMxNzMsIDkzMTc3LCA5MzE4MSwgOTMxODYsIDkzMTkxLCA5MzE5NSwgCi0gICAgOTMxOTgsIDkzMjAxLCA5MzIwNCwgOTMyMDcsIDkzMjEwLCA5MzIxMywgOTMyMTYsIDkzMjE5LCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5MzIyMiwgOTMyMjYsIDkzMjMwLCA5MzIzNCwgOTMyMzcsIDkzMjQxLCAKLSAgICA5MzI0NCwgOTMyNDgsIDkzMjUxLCA5MzI1NSwgOTMyNTgsIDkzMjYyLCA5MzI2NSwgOTMyNjksIDkzMjcyLCA5MzI3NiwgCi0gICAgOTMyODAsIDkzMjg0LCA5MzI4OCwgOTMyOTIsIDkzMjk2LCA5MzMwMCwgOTMzMDQsIDkzMzA4LCA5MzMxMiwgOTMzMTYsIAotICAgIDkzMzIwLCA5MzMyNCwgOTMzMjgsIDkzMzMyLCA5MzMzNiwgOTMzNDAsIDkzMzQ0LCA5MzM0OCwgOTMzNTIsIDkzMzU1LCAKLSAgICA5MzM1OCwgOTMzNjIsIDkzMzY2LCA5MzM3MCwgOTMzNzMsIDkzMzc2LCA5MzM3OSwgOTMzODMsIDkzMzg3LCA5MzM5MSwgCi0gICAgOTMzOTUsIDkzMzk5LCA5MzQwMiwgOTM0MDcsIDkzNDExLCA5MzQxNiwgOTM0MjAsIDkzNDI1LCA5MzQyOSwgOTM0MzQsIAotICAgIDkzNDM4LCA5MzQ0MywgOTM0NDcsIDkzNDUxLCA5MzQ1NSwgOTM0NTksIDkzNDYyLCA5MzQ2NiwgOTM0NzEsIDkzNDc0LCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCA5Mzk2MSwgOTM5NjUsIDkzOTY5LCA5Mzk3MywgOTM5NzcsIDkzOTgxLCA5Mzk4NSwgOTM5ODksIAorICAgIDkzOTkzLCA5Mzk5NywgOTQwMDIsIDk0MDA3LCA5NDAxMiwgOTQwMTcsIDk0MDIyLCA5NDAyNywgOTQwMzIsIDk0MDM3LCAKKyAgICA5NDA0MiwgOTQwNDgsIDk0MDU0LCA5NDA2MCwgOTQwNjcsIDk0MDc0LCA5NDA4MSwgOTQwODgsIDk0MDk1LCA5NDEwMiwgCisgICAgOTQxMDksIDk0MTE2LCA5NDEyMywgMCwgOTQxMzAsIDk0MTM0LCA5NDEzOCwgOTQxNDIsIDk0MTQ2LCA5NDE1MCwgOTQxNTMsIAorICAgIDk0MTU3LCA5NDE2MCwgOTQxNjQsIDk0MTY3LCA5NDE3MSwgOTQxNzUsIDk0MTgwLCA5NDE4NCwgOTQxODksIDk0MTkyLCAKKyAgICA5NDE5NiwgOTQxOTksIDk0MjAzLCA5NDIwNiwgOTQyMTAsIDk0MjE0LCA5NDIxOCwgOTQyMjIsIDk0MjI2LCA5NDIzMCwgCisgICAgOTQyMzQsIDk0MjM4LCA5NDI0MiwgOTQyNDYsIDk0MjUwLCA5NDI1NCwgOTQyNTgsIDk0MjYyLCA5NDI2NiwgOTQyNzAsIAorICAgIDk0Mjc0LCA5NDI3OCwgOTQyODEsIDk0Mjg0LCA5NDI4OCwgOTQyOTIsIDk0Mjk2LCA5NDI5OSwgOTQzMDIsIDk0MzA1LCAKKyAgICA5NDMwOSwgOTQzMTMsIDk0MzE3LCA5NDMyMSwgOTQzMjQsIDk0MzI3LCA5NDMzMSwgOTQzMzcsIDk0MzQzLCA5NDM0OSwgCisgICAgOTQzNTQsIDk0MzYxLCA5NDM2NSwgOTQzNzAsIDk0Mzc0LCA5NDM3OSwgOTQzODQsIDk0MzkwLCA5NDM5NSwgOTQ0MDEsIAorICAgIDk0NDA1LCA5NDQxMCwgOTQ0MTQsIDk0NDE5LCA5NDQyMiwgOTQ0MjUsIDk0NDI5LCA5NDQzNCwgOTQ0NDAsIDk0NDQ1LCAKKyAgICA5NDQ1MSwgMCwgMCwgMCwgMCwgOTQ0NTYsIDk0NDU5LCA5NDQ2MiwgOTQ0NjUsIDk0NDY4LCA5NDQ3MSwgOTQ0NzQsIAorICAgIDk0NDc3LCA5NDQ4MCwgOTQ0ODMsIDk0NDg3LCA5NDQ5MSwgOTQ0OTUsIDk0NDk5LCA5NDUwMywgOTQ1MDcsIDk0NTExLCAKKyAgICA5NDUxNSwgOTQ1MTksIDk0NTI0LCA5NDUyOSwgOTQ1MzMsIDk0NTM2LCA5NDUzOSwgOTQ1NDIsIDk0NTQ1LCA5NDU0OCwgCisgICAgOTQ1NTEsIDk0NTU0LCA5NDU1NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgOTQ1NjAsIDk0NTY1LCA5NDU3MCwgOTQ1NzUsIDk0NTc5LCA5NDU4NCwgOTQ1ODgsIDk0NTkzLCA5NDU5NywgOTQ2MDIsIAorICAgIDk0NjA2LCA5NDYxMSwgOTQ2MTUsIDk0NjIwLCA5NDYyNCwgOTQ2MjksIDk0NjM0LCA5NDYzOSwgOTQ2NDQsIDk0NjQ5LCAKKyAgICA5NDY1NCwgOTQ2NTksIDk0NjY0LCA5NDY2OSwgOTQ2NzQsIDk0Njc5LCA5NDY4NCwgOTQ2ODksIDk0Njk0LCA5NDY5OSwgCisgICAgOTQ3MDQsIDk0NzA5LCA5NDcxNCwgOTQ3MTksIDk0NzI0LCA5NDcyOCwgOTQ3MzIsIDk0NzM3LCA5NDc0MiwgOTQ3NDcsIAorICAgIDk0NzUxLCA5NDc1NSwgOTQ3NTksIDk0NzY0LCA5NDc2OSwgOTQ3NzQsIDk0Nzc5LCA5NDc4MywgOTQ3ODcsIDk0NzkzLCAKKyAgICA5NDc5OCwgOTQ4MDQsIDk0ODA5LCA5NDgxNSwgOTQ4MjAsIDk0ODI2LCA5NDgzMSwgOTQ4MzcsIDk0ODQyLCA5NDg0NywgCisgICAgOTQ4NTIsIDk0ODU3LCA5NDg2MSwgOTQ4NjYsIDk0ODcyLCA5NDg3NiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgOTQ4ODEsIDk0ODg4LCA5NDg5NSwgOTQ5MDIsIDk0OTA5LCA5NDkxNiwgOTQ5MjMsIDk0OTMwLCAKKyAgICA5NDkzNywgOTQ5NDQsIDk0OTUxLCA5NDk1OCwgOTQ5NjUsIDk0OTcyLCA5NDk3OSwgOTQ5ODYsIDk0OTkzLCA5NTAwMCwgCisgICAgOTUwMDcsIDk1MDE0LCA5NTAyMSwgOTUwMjgsIDk1MDM1LCA5NTA0MiwgOTUwNDksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDk1MDU2LCA5NTA2MywgOTUwNjksIDk1MDc1LCA5NTA4MSwgOTUwODcsIDk1MDkzLCA5NTA5OSwgOTUxMDUsIDk1MTExLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCA5NTExNywgOTUxMjIsIDk1MTI3LCA5NTEzMiwgOTUxMzcsIDk1MTQxLCA5NTE0NSwgOTUxNDksIAorICAgIDk1MTU0LCA5NTE1OSwgOTUxNjQsIDk1MTY5LCA5NTE3NCwgOTUxNzksIDk1MTg0LCA5NTE4OSwgOTUxOTQsIDk1MTk5LCAKKyAgICA5NTIwNCwgOTUyMDksIDk1MjE0LCA5NTIxOSwgOTUyMjQsIDk1MjI5LCA5NTIzNCwgOTUyMzksIDk1MjQ0LCA5NTI0OSwgCisgICAgOTUyNTQsIDk1MjU5LCA5NTI2NCwgOTUyNjksIDk1Mjc0LCA5NTI3OSwgOTUyODQsIDk1Mjg5LCA5NTI5NCwgOTUyOTksIAorICAgIDk1MzA0LCA5NTMwOSwgOTUzMTQsIDk1MzE5LCA5NTMyNSwgOTUzMzAsIDk1MzM2LCA5NTM0MSwgOTUzNDcsIDk1MzUyLCAKKyAgICA5NTM1OCwgOTUzNjQsIDk1MzY4LCA5NTM3MywgOTUzNzcsIDAsIDk1MzgxLCA5NTM4NiwgOTUzOTAsIDk1Mzk0LCA5NTM5OCwgCisgICAgOTU0MDIsIDk1NDA2LCA5NTQxMCwgOTU0MTQsIDk1NDE4LCA5NTQyMiwgOTU0MjcsIDk1NDMxLCA5NTQzNiwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOTM0NzgsIDkzNDgxLCA5MzQ4NiwgOTM0OTIsIDkzNTAwLCAKLSAgICA5MzUwNSwgOTM1MTEsIDkzNTE5LCA5MzUyNSwgOTM1MzEsIDkzNTM1LCA5MzUzOSwgOTM1NDYsIDkzNTU1LCA5MzU2MiwgCi0gICAgOTM1NzEsIDkzNTc3LCA5MzU4NiwgOTM1OTMsIDkzNjAwLCA5MzYwNywgOTM2MTcsIDkzNjIzLCA5MzYyNywgOTM2MzQsIAotICAgIDkzNjQzLCA5MzY1MywgOTM2NjAsIDkzNjY3LCA5MzY3MSwgOTM2NzUsIDkzNjgyLCA5MzY5MiwgOTM2OTYsIDkzNzAzLCAKLSAgICA5MzcxMCwgOTM3MTcsIDkzNzIzLCA5MzczMCwgOTM3MzcsIDkzNzQ0LCA5Mzc1MSwgOTM3NTUsIDkzNzU5LCA5Mzc2MywgCi0gICAgOTM3NzAsIDkzNzc0LCA5Mzc4MSwgOTM3ODgsIDkzODAyLCA5MzgxMSwgOTM4MTUsIDkzODE5LCA5MzgyMywgOTM4MzAsIAotICAgIDkzODM0LCA5MzgzOCwgOTM4NDIsIDkzODUwLCA5Mzg1OCwgOTM4NzcsIDkzODg3LCA5MzkwNywgOTM5MTEsIDkzOTE1LCAKLSAgICA5MzkxOSwgOTM5MjMsIDkzOTI3LCA5MzkzMSwgOTM5MzUsIDkzOTQyLCA5Mzk0NiwgOTM5NDksIDkzOTUzLCA5Mzk1NywgCi0gICAgOTM5NjMsIDkzOTcwLCA5Mzk3OSwgOTM5ODMsIDkzOTkyLCA5NDAwMSwgOTQwMDksIDk0MDEzLCA5NDAyMCwgOTQwMjQsIAotICAgIDk0MDI4LCA5NDAzMiwgOTQwMzYsIDk0MDQ3LCA5NDA1NiwgOTQwNjUsIDk0MDc0LCA5NDA4MywgOTQwOTUsIDk0MTA0LCAKLSAgICA5NDExMywgOTQxMjIsIDk0MTMwLCA5NDEzOSwgOTQxNTEsIDk0MTYwLCA5NDE2OSwgOTQxNzgsIDk0MTkwLCA5NDE5OSwgCi0gICAgOTQyMDgsIDk0MjIwLCA5NDIyOSwgOTQyMzgsIDk0MjUwLCA5NDI1OSwgOTQyNjMsIDk0MjY3LCA5NDI3MSwgOTQyNzUsIAotICAgIDk0Mjc5LCA5NDI4MywgOTQyODcsIDk0Mjk0LCA5NDI5OCwgOTQzMDIsIDk0MzEzLCA5NDMxNywgOTQzMjEsIDk0MzI4LCAKLSAgICA5NDMzNCwgOTQzNDAsIDk0MzQ0LCA5NDM1MSwgOTQzNTUsIDk0MzU5LCA5NDM2MywgOTQzNjcsIDk0MzcxLCA5NDM3NSwgCi0gICAgOTQzODEsIDk0Mzg5LCA5NDM5MywgOTQzOTcsIDk0NDAwLCA5NDQwNiwgOTQ0MTYsIDk0NDIwLCA5NDQzMiwgOTQ0MzksIAotICAgIDk0NDQ2LCA5NDQ1MywgOTQ0NjAsIDk0NDY2LCA5NDQ3MCwgOTQ0NzQsIDk0NDc4LCA5NDQ4MiwgOTQ0ODksIDk0NDk4LCAKLSAgICA5NDUwNSwgOTQ1MTMsIDk0NTIxLCA5NDUyNywgOTQ1MzEsIDk0NTM1LCA5NDUzOSwgOTQ1NDMsIDk0NTQ5LCA5NDU1OCwgCi0gICAgOTQ1NzAsIDk0NTc3LCA5NDU4NCwgOTQ1OTMsIDk0NjA0LCA5NDYxMCwgOTQ2MTksIDk0NjI4LCA5NDYzNSwgOTQ2NDQsIAotICAgIDk0NjUxLCA5NDY1OCwgOTQ2NjgsIDk0Njc1LCA5NDY4MiwgOTQ2ODksIDk0Njk2LCA5NDcwMCwgOTQ3MDYsIDk0NzEwLCAKLSAgICA5NDcyMSwgOTQ3MjksIDk0NzM4LCA5NDc1MCwgOTQ3NTcsIDk0NzY0LCA5NDc3NCwgOTQ3ODEsIDk0NzkwLCA5NDc5NywgCi0gICAgOTQ4MDYsIDk0ODEzLCA5NDgyMCwgOTQ4MzAsIDk0ODM3LCA5NDg0NCwgOTQ4NTQsIDk0ODYxLCA5NDg3MywgOTQ4ODIsIAotICAgIDk0ODg5LCA5NDg5NiwgOTQ5MDMsIDk0OTEyLCA5NDkyMiwgOTQ5MzUsIDk0OTQyLCA5NDk1MiwgOTQ5NjIsIDk0OTY5LCAKLSAgICA5NDk3OCwgOTQ5OTEsIDk0OTk4LCA5NTAwNSwgOTUwMTIsIDk1MDIyLCA5NTAzMiwgOTUwMzksIDk1MDQ5LCA5NTA1NiwgCi0gICAgOTUwNjMsIDk1MDczLCA5NTA3OSwgOTUwODYsIDk1MDkzLCA5NTEwMCwgOTUxMTAsIDk1MTE3LCA5NTEyNCwgOTUxMzEsIAotICAgIDk1MTM3LCA5NTE0NCwgOTUxNTQsIDk1MTYxLCA5NTE2NSwgOTUxNzMsIDk1MTc3LCA5NTE4OSwgOTUxOTMsIDk1MjA3LCAKLSAgICA5NTIxMSwgOTUyMTUsIDk1MjE5LCA5NTIyMywgOTUyMjksIDk1MjM2LCA5NTI0NCwgOTUyNDgsIDk1MjUyLCA5NTI1NiwgCi0gICAgOTUyNjAsIDk1MjY3LCA5NTI3MSwgOTUyNzcsIDk1MjgzLCA5NTI5MSwgOTUyOTUsIDk1MzAyLCA5NTMxMCwgOTUzMTQsIAotICAgIDk1MzE4LCA5NTMyNCwgOTUzMjgsIDk1MzM3LCA5NTM0NiwgOTUzNTMsIDk1MzYzLCA5NTM2OSwgOTUzNzMsIDk1Mzc3LCAKLSAgICA5NTM4NSwgOTUzOTIsIDk1Mzk5LCA5NTQwNSwgOTU0MDksIDk1NDE3LCA5NTQyMSwgOTU0MjgsIDk1NDQwLCA5NTQ0NywgCi0gICAgOTU0NTcsIDk1NDYzLCA5NTQ2NywgOTU0NzYsIDk1NDgzLCA5NTQ5MiwgOTU0OTYsIDk1NTAwLCA5NTUwNywgOTU1MTEsIAotICAgIDk1NTE1LCA5NTUxOSwgOTU1MjMsIDk1NTI2LCA5NTUzMiwgOTU1MzgsIDk1NTQyLCA5NTU0NiwgOTU1NTMsIDk1NTYwLCAKLSAgICA5NTU2NywgOTU1NzQsIDk1NTgxLCA5NTU4OCwgOTU1OTUsIDk1NjAyLCA5NTYwOCwgOTU2MTIsIDk1NjE2LCA5NTYyMywgCi0gICAgOTU2MzAsIDk1NjM3LCA5NTY0NCwgOTU2NTEsIDk1NjU1LCA5NTY1OCwgOTU2NjMsIDk1NjY3LCA5NTY3MSwgOTU2ODAsIAotICAgIDk1Njg5LCA5NTY5MywgOTU2OTcsIDk1NzAzLCA5NTcwOSwgOTU3MjYsIDk1NzMyLCA5NTczNiwgOTU3NDUsIDk1NzQ5LCAKLSAgICA5NTc1MywgOTU3NjAsIDk1NzY4LCA5NTc3NiwgOTU3ODIsIDk1Nzg2LCA5NTc5MCwgOTU3OTQsIDk1Nzk4LCA5NTgwMSwgCi0gICAgOTU4MDcsIDk1ODE0LCA5NTgyNCwgOTU4MzEsIDk1ODM4LCA5NTg0NSwgOTU4NTEsIDk1ODU4LCA5NTg2NSwgOTU4NzIsIAotICAgIDk1ODc5LCA5NTg4NiwgOTU4OTUsIDk1OTAyLCA5NTkxNCwgOTU5MjEsIDk1OTI4LCA5NTkzOCwgOTU5NDksIDk1OTU2LCAKLSAgICA5NTk2MywgOTU5NzAsIDk1OTc3LCA5NTk4NCwgOTU5OTEsIDk1OTk4LCA5NjAwNSwgOTYwMTIsIDk2MDE5LCA5NjAyOSwgCi0gICAgOTYwMzksIDk2MDQ5LCA5NjA1NiwgOTYwNjYsIDk2MDczLCA5NjA4MCwgOTYwODcsIDk2MDk0LCA5NjEwMSwgOTYxMDgsIAotICAgIDk2MTE1LCA5NjEyMiwgOTYxMjksIDk2MTM2LCA5NjE0MywgOTYxNTAsIDk2MTU3LCA5NjE2MywgOTYxNzAsIDk2MTc3LCAKLSAgICA5NjE4NiwgOTYxOTMsIDk2MjAwLCA5NjIwNCwgOTYyMTIsIDk2MjE2LCA5NjIyMCwgOTYyMjQsIDk2MjI4LCA5NjIzMiwgCi0gICAgOTYyMzksIDk2MjQzLCA5NjI1MiwgOTYyNTYsIDk2MjYzLCA5NjI3MSwgOTYyNzUsIDk2Mjc5LCA5NjI4MywgOTYyOTYsIAotICAgIDk2MzEyLCA5NjMxNiwgOTYzMjAsIDk2MzI3LCA5NjMzMywgOTYzNDAsIDk2MzQ0LCA5NjM0OCwgOTYzNTIsIDk2MzU2LCAKLSAgICA5NjM2MCwgOTYzNjcsIDk2MzcxLCA5NjM4OSwgOTYzOTMsIDk2Mzk3LCA5NjQwNCwgOTY0MDgsIDk2NDEyLCA5NjQxOCwgCi0gICAgOTY0MjIsIDk2NDI2LCA5NjQzNCwgOTY0MzgsIDk2NDQyLCA5NjQ0NiwgOTY0NTAsIDk2NDU2LCA5NjQ2NywgOTY0NzYsIAotICAgIDk2NDg1LCA5NjQ5MiwgOTY0OTksIDk2NTEwLCA5NjUxNywgOTY1MjQsIDk2NTMxLCA5NjUzOCwgOTY1NDUsIDk2NTUyLCAKLSAgICA5NjU1OSwgOTY1NjksIDk2NTc1LCA5NjU4MiwgOTY1OTIsIDk2NjAxLCA5NjYwOCwgOTY2MTcsIDk2NjI3LCA5NjYzNCwgCi0gICAgOTY2NDEsIDk2NjQ4LCA5NjY1NSwgOTY2NjcsIDk2Njc0LCA5NjY4MSwgOTY2ODgsIDk2Njk1LCA5NjcwMiwgOTY3MTIsIAotICAgIDk2NzE5LCA5NjcyNiwgOTY3MzYsIDk2NzQ5LCA5Njc2MSwgOTY3NjgsIDk2Nzc4LCA5Njc4NSwgOTY3OTIsIDk2Nzk5LCAKLSAgICA5NjgxMywgOTY4MTksIDk2ODI3LCA5NjgzNywgOTY4NDcsIDk2ODU0LCA5Njg2MSwgOTY4NjcsIDk2ODcxLCA5Njg3OCwgCi0gICAgOTY4ODgsIDk2ODk0LCA5NjkwNywgOTY5MTEsIDk2OTE1LCA5NjkyMiwgOTY5MjYsIDk2OTMzLCA5Njk0MywgOTY5NDcsIAotICAgIDk2OTUxLCA5Njk1NSwgOTY5NTksIDk2OTYzLCA5Njk3MCwgOTY5NzQsIDk2OTgxLCA5Njk4OCwgOTY5OTUsIDk3MDA0LCAKLSAgICA5NzAxMywgOTcwMjMsIDk3MDMwLCA5NzAzNywgOTcwNDQsIDk3MDU0LCA5NzA2MSwgOTcwNzEsIDk3MDc4LCA5NzA4OCwgCi0gICAgOTcwOTUsIDk3MTAyLCA5NzExMiwgOTcxMjIsIDk3MTI5LCA5NzEzNSwgOTcxNDMsIDk3MTUxLCA5NzE1NywgOTcxNjMsIAotICAgIDk3MTY3LCA5NzE3MSwgOTcxNzgsIDk3MTg2LCA5NzE5MiwgOTcxOTYsIDk3MjAwLCA5NzIwNCwgOTcyMTEsIDk3MjIzLCAKLSAgICA5NzIyNiwgOTcyMzMsIDk3MjM5LCA5NzI0MywgOTcyNDcsIDk3MjUxLCA5NzI1NSwgOTcyNTksIDk3MjYzLCA5NzI2NywgCi0gICAgOTcyNzEsIDk3Mjc1LCA5NzI3OSwgOTcyODYsIDk3MjkwLCA5NzI5NiwgOTczMDAsIDk3MzA0LCA5NzMwOCwgOTczMTQsIAotICAgIDk3MzIxLCA5NzMyOCwgOTczMzUsIDk3MzQ2LCA5NzM1NCwgOTczNTgsIDk3MzY0LCA5NzM3MywgOTczODAsIDk3Mzg2LCAKLSAgICA5NzM4OSwgOTczOTMsIDk3Mzk3LCA5NzQwMywgOTc0MTIsIDk3NDIwLCA5NzQyNCwgOTc0MzAsIDk3NDM0LCA5NzQzOCwgCi0gICAgOTc0NDIsIDk3NDQ4LCA5NzQ1NSwgOTc0NjEsIDk3NDY1LCA5NzQ3MSwgOTc0NzUsIDk3NDc5LCA5NzQ4OCwgOTc1MDAsIAotICAgIDk3NTA0LCA5NzUxMSwgOTc1MTgsIDk3NTI4LCA5NzUzNSwgOTc1NDcsIDk3NTU0LCA5NzU2MSwgOTc1NjgsIDk3NTc5LCAKLSAgICA5NzU4OSwgOTc2MDIsIDk3NjEyLCA5NzYxOSwgOTc2MjMsIDk3NjI3LCA5NzYzMSwgOTc2MzUsIDk3NjQ0LCA5NzY1MywgCi0gICAgOTc2NjIsIDk3Njc5LCA5NzY4OCwgOTc2OTQsIDk3NzAxLCA5NzcwOSwgOTc3MjIsIDk3NzI2LCA5NzczNSwgOTc3NDQsIAotICAgIDk3NzUzLCA5Nzc2MiwgOTc3NzMsIDk3NzgyLCA5Nzc5MSwgOTc4MDAsIDk3ODA5LCA5NzgxOCwgOTc4MjcsIDk3ODM3LCAKLSAgICA5Nzg0MCwgOTc4NDQsIDk3ODQ4LCA5Nzg1MiwgOTc4NTYsIDk3ODYwLCA5Nzg2NiwgOTc4NzMsIDk3ODgwLCA5Nzg4NywgCi0gICAgOTc4OTMsIDk3ODk5LCA5NzkwNiwgOTc5MTIsIDk3OTE5LCA5NzkyNywgOTc5MzEsIDk3OTM4LCA5Nzk0NSwgOTc5NTIsIAotICAgIDk3OTYwLCA5Nzk2MywgOTc5NjcsIDk3OTcxLCA5Nzk3NSwgOTc5NzksIDk3OTg1LCA5Nzk4OSwgOTc5OTUsIDk4MDAyLCAKLSAgICA5ODAwOSwgOTgwMTUsIDk4MDIyLCA5ODAyOSwgOTgwMzYsIDk4MDQzLCA5ODA1MCwgOTgwNTcsIDk4MDY0LCA5ODA3MSwgCi0gICAgOTgwNzgsIDk4MDg1LCA5ODA5MiwgOTgwOTksIDk4MTA2LCA5ODExMywgOTgxMTksIDk4MTIzLCA5ODEzMiwgOTgxMzYsIAotICAgIDk4MTQwLCA5ODE0NCwgOTgxNDgsIDk4MTU0LCA5ODE2MSwgOTgxNjgsIDk4MTc1LCA5ODE4MiwgOTgxODksIDk4MTk1LCAKLSAgICA5ODIwMywgOTgyMDcsIDk4MjExLCA5ODIxNSwgOTgyMTksIDk4MjI1LCA5ODI0MiwgOTgyNTksIDk4MjYzLCA5ODI2NywgCi0gICAgOTgyNzEsIDk4Mjc1LCA5ODI3OSwgOTgyODMsIDk4Mjg5LCA5ODI5NiwgOTgzMDAsIDk4MzA2LCA5ODMxMywgOTgzMjAsIAotICAgIDk4MzI3LCA5ODMzNCwgOTgzNDEsIDk4MzUwLCA5ODM1NywgOTgzNjQsIDk4MzcxLCA5ODM3OCwgOTgzODIsIDk4Mzg2LCAKLSAgICA5ODM5MiwgOTg0MDQsIDk4NDA4LCA5ODQxMiwgOTg0MjEsIDk4NDI1LCA5ODQyOSwgOTg0MzMsIDk4NDM5LCA5ODQ0MywgCi0gICAgOTg0NDcsIDk4NDU2LCA5ODQ2MCwgOTg0NjQsIDk4NDY4LCA5ODQ3NSwgOTg0NzksIDk4NDgzLCA5ODQ4NywgOTg0OTEsIAotICAgIDk4NDk1LCA5ODQ5OSwgOTg1MDMsIDk4NTA3LCA5ODUxMywgOTg1MjAsIDk4NTI3LCA5ODUzMywgOTg1MzcsIDk4NTU0LCAKLSAgICA5ODU2MCwgOTg1NjQsIDk4NTcwLCA5ODU3NiwgOTg1ODIsIDk4NTg4LCA5ODU5NCwgOTg2MDAsIDk4NjA0LCA5ODYwOCwgCi0gICAgOTg2MTIsIDk4NjE4LCA5ODYyMiwgOTg2MjgsIDk4NjMyLCA5ODYzNiwgOTg2NDMsIDk4NjUwLCA5ODY2NywgOTg2NzEsIAotICAgIDk4Njc1LCA5ODY3OSwgOTg2ODMsIDk4Njg3LCA5ODY5OSwgOTg3MDIsIDk4NzA3LCA5ODcxMiwgOTg3MjcsIDk4NzM3LCAKLSAgICA5ODc0OSwgOTg3NTMsIDk4NzU3LCA5ODc2MSwgOTg3NjcsIDk4Nzc0LCA5ODc4MSwgOTg3OTEsIDk4ODAzLCA5ODgwOSwgCi0gICAgOTg4MTUsIDk4ODI0LCA5ODgyOCwgOTg4MzIsIDk4ODM5LCA5ODg0OSwgOTg4NTYsIDk4ODYyLCA5ODg2NiwgOTg4NzAsIAotICAgIDk4ODc3LCA5ODg4MywgOTg4ODcsIDk4ODkzLCA5ODg5NywgOTg5MDUsIDk4OTExLCA5ODkxNSwgOTg5MjMsIDk4OTMxLCAKLSAgICA5ODkzOCwgOTg5NDQsIDk4OTUxLCA5ODk1OCwgOTg5NjgsIDk4OTc4LCA5ODk4MiwgOTg5ODYsIDk4OTkwLCA5ODk5NCwgCi0gICAgOTkwMDAsIDk5MDA3LCA5OTAxMywgOTkwMjAsIDk5MDI3LCA5OTAzNCwgOTkwNDMsIDk5MDUwLCA5OTA1NywgOTkwNjMsIAotICAgIDk5MDcwLCA5OTA3NywgOTkwODQsIDk5MDkxLCA5OTA5OCwgOTkxMDUsIDk5MTExLCA5OTExOCwgOTkxMjUsIDk5MTMyLCAKLSAgICA5OTE0MSwgOTkxNDgsIDk5MTU1LCA5OTE1OSwgOTkxNjUsIDk5MTY5LCA5OTE3NSwgOTkxODIsIDk5MTg5LCA5OTE5NiwgCi0gICAgOTkyMDAsIDk5MjA0LCA5OTIwOCwgOTkyMTIsIDk5MjE2LCA5OTIyMywgOTkyMjcsIDk5MjMxLCA5OTIzNywgOTkyNDUsIAotICAgIDk5MjQ5LCA5OTI1MywgOTkyNTcsIDk5MjYxLCA5OTI2OCwgOTkyNzIsIDk5Mjc2LCA5OTI4NCwgOTkyODgsIDk5MjkyLCAKLSAgICA5OTI5NiwgOTkzMDAsIDk5MzA2LCA5OTMxMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgOTkzMTQsIDk5MzIwLCA5OTMyNiwgOTkzMzMsIDk5MzQwLCA5OTM0NywgOTkzNTQsIDk5MzYxLCA5OTM2OCwgCi0gICAgOTkzNzQsIDk5MzgxLCA5OTM4OCwgOTkzOTUsIDk5NDAyLCA5OTQwOSwgOTk0MTYsIDk5NDIyLCA5OTQyOCwgOTk0MzQsIAotICAgIDk5NDQwLCA5OTQ0NiwgOTk0NTIsIDk5NDU4LCA5OTQ2NCwgOTk0NzAsIDk5NDc3LCA5OTQ4NCwgOTk0OTEsIDk5NDk4LCAKLSAgICA5OTUwNSwgOTk1MTIsIDk5NTE4LCA5OTUyNCwgOTk1MzAsIDk5NTM3LCA5OTU0NCwgOTk1NTAsIDk5NTU2LCA5OTU2NSwgCi0gICAgOTk1NzIsIDk5NTc5LCA5OTU4NiwgOTk1OTMsIDk5NjAwLCA5OTYwNywgOTk2MTMsIDk5NjE5LCA5OTYyNSwgOTk2MzQsIAotICAgIDk5NjQxLCA5OTY0OCwgOTk2NTksIDk5NjcwLCA5OTY3NiwgOTk2ODIsIDk5Njg4LCA5OTY5NywgOTk3MDQsIDk5NzExLCAKLSAgICA5OTcyMSwgOTk3MzEsIDk5NzQyLCA5OTc1MywgOTk3NjUsIDk5Nzc4LCA5OTc4OSwgOTk4MDAsIDk5ODEyLCA5OTgyNSwgCi0gICAgOTk4MzYsIDk5ODQ3LCA5OTg1OCwgOTk4NjksIDk5ODgwLCA5OTg5MiwgOTk5MDAsIDk5OTA4LCA5OTkxNywgOTk5MjYsIAotICAgIDk5OTM1LCA5OTk0MSwgOTk5NDcsIDk5OTUzLCA5OTk2MCwgOTk5NzAsIDk5OTc3LCA5OTk4NywgOTk5OTIsIDk5OTk3LCAKLSAgICAxMDAwMDMsIDEwMDAwOSwgMTAwMDE3LCAxMDAwMjUsIDEwMDAzNCwgMTAwMDQ1LCAxMDAwNTYsIDEwMDA2NCwgMTAwMDcyLCAKLSAgICAxMDAwODEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEwMDA5MCwgMTAwMTAxLCAxMDAxMDgsIAotICAgIDEwMDExNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTAwMTI0LCAxMDAxMjgsIDEwMDEzMiwgCi0gICAgMTAwMTM2LCAxMDAxNDAsIDEwMDE0NCwgMTAwMTQ4LCAxMDAxNTIsIDEwMDE1NiwgMTAwMTYwLCAxMDAxNjQsIDEwMDE2OCwgCi0gICAgMTAwMTcyLCAxMDAxNzYsIDEwMDE4MCwgMTAwMTg0LCAxMDAxODgsIDEwMDE5MiwgMTAwMTk2LCAxMDAyMDAsIDEwMDIwNCwgCi0gICAgMTAwMjA4LCAxMDAyMTIsIDEwMDIxNiwgMTAwMjIwLCAxMDAyMjQsIDEwMDIyOCwgMTAwMjMyLCAxMDAyMzYsIDEwMDI0MCwgCi0gICAgMTAwMjQ0LCAxMDAyNDgsIDEwMDI1MiwgMTAwMjU2LCAxMDAyNjAsIDEwMDI2NCwgMTAwMjY4LCAxMDAyNzIsIDEwMDI3NiwgCi0gICAgMTAwMjgwLCAxMDAyODQsIDEwMDI4OCwgMTAwMjkyLCAxMDAyOTYsIDEwMDMwMCwgMTAwMzA0LCAxMDAzMDgsIDEwMDMxMiwgCi0gICAgMTAwMzE2LCAxMDAzMjAsIDEwMDMyNCwgMTAwMzI4LCAxMDAzMzIsIDEwMDMzNiwgMTAwMzQwLCAxMDAzNDQsIDEwMDM0OCwgCi0gICAgMTAwMzUyLCAxMDAzNTYsIDEwMDM2MCwgMTAwMzY0LCAxMDAzNjgsIDEwMDM3MiwgMTAwMzc2LCAxMDAzODAsIDEwMDM4NCwgCi0gICAgMTAwMzg4LCAxMDAzOTIsIDEwMDM5NiwgMTAwNDAwLCAxMDA0MDQsIDEwMDQwOCwgMTAwNDEyLCAxMDA0MTYsIDEwMDQyMCwgCi0gICAgMTAwNDI0LCAxMDA0MjgsIDEwMDQzMiwgMTAwNDM2LCAxMDA0NDAsIDEwMDQ0NCwgMTAwNDQ4LCAxMDA0NTIsIDEwMDQ1NiwgCi0gICAgMTAwNDYwLCAxMDA0NjQsIDEwMDQ2OCwgMTAwNDcyLCAxMDA0NzYsIDEwMDQ4MCwgMTAwNDg0LCAxMDA0ODgsIDEwMDQ5MiwgCi0gICAgMTAwNDk2LCAxMDA1MDAsIDEwMDUwNCwgMTAwNTA4LCAxMDA1MTIsIDEwMDUxNiwgMTAwNTIwLCAxMDA1MjQsIDEwMDUyOCwgCi0gICAgMTAwNTMyLCAxMDA1MzYsIDEwMDU0MCwgMTAwNTQ0LCAxMDA1NDgsIDEwMDU1MiwgMTAwNTU2LCAxMDA1NjAsIDEwMDU2NCwgCi0gICAgMTAwNTY4LCAxMDA1NzIsIDEwMDU3NiwgMTAwNTgwLCAxMDA1ODQsIDEwMDU4OCwgMTAwNTkyLCAxMDA1OTYsIDEwMDYwMCwgCi0gICAgMTAwNjA0LCAxMDA2MDgsIDEwMDYxMiwgMTAwNjE2LCAxMDA2MjAsIDEwMDYyNCwgMTAwNjI4LCAxMDA2MzIsIDEwMDYzNiwgCi0gICAgMTAwNjQwLCAxMDA2NDQsIDEwMDY0OCwgMTAwNjUyLCAxMDA2NTYsIDEwMDY2MCwgMTAwNjY0LCAxMDA2NjgsIDEwMDY3MiwgCi0gICAgMTAwNjc2LCAxMDA2ODAsIDEwMDY4NCwgMTAwNjg4LCAxMDA2OTIsIDEwMDY5NiwgMTAwNzAwLCAxMDA3MDQsIDEwMDcwOCwgCi0gICAgMTAwNzEyLCAxMDA3MTYsIDEwMDcyMCwgMTAwNzI0LCAxMDA3MjgsIDEwMDczMiwgMTAwNzM2LCAxMDA3NDAsIDEwMDc0NCwgCi0gICAgMTAwNzQ4LCAxMDA3NTIsIDEwMDc1NiwgMTAwNzYwLCAxMDA3NjQsIDEwMDc2OCwgMTAwNzcyLCAxMDA3NzYsIDEwMDc4MCwgCi0gICAgMTAwNzg0LCAxMDA3ODgsIDEwMDc5MiwgMTAwNzk2LCAxMDA4MDAsIDEwMDgwNCwgMTAwODA4LCAxMDA4MTIsIDEwMDgxNiwgCi0gICAgMTAwODIwLCAxMDA4MjQsIDEwMDgyOCwgMTAwODMyLCAxMDA4MzYsIDEwMDg0MCwgMTAwODQ0LCAxMDA4NDgsIDEwMDg1MiwgCi0gICAgMTAwODU2LCAxMDA4NjAsIDEwMDg2NCwgMTAwODY4LCAxMDA4NzIsIDEwMDg3NiwgMTAwODgwLCAxMDA4ODQsIDEwMDg4OCwgCi0gICAgMTAwODkyLCAxMDA4OTYsIDEwMDkwMCwgMTAwOTA0LCAxMDA5MDgsIDEwMDkxMiwgMTAwOTE2LCAxMDA5MjAsIDEwMDkyNCwgCi0gICAgMTAwOTI4LCAxMDA5MzIsIDEwMDkzNiwgMTAwOTQwLCAxMDA5NDQsIDEwMDk0OCwgMTAwOTUyLCAxMDA5NTYsIDEwMDk2MCwgCi0gICAgMTAwOTY0LCAxMDA5NjgsIDEwMDk3MiwgMTAwOTc2LCAxMDA5ODAsIDEwMDk4NCwgMTAwOTg4LCAxMDA5OTIsIDEwMDk5NiwgCi0gICAgMTAxMDAwLCAxMDEwMDQsIDEwMTAwOCwgMTAxMDEyLCAxMDEwMTYsIDEwMTAyMCwgMTAxMDI0LCAxMDEwMjgsIDEwMTAzMiwgCi0gICAgMTAxMDM2LCAxMDEwNDAsIDEwMTA0NCwgMTAxMDQ4LCAxMDEwNTIsIDEwMTA1NiwgMTAxMDYwLCAxMDEwNjQsIDEwMTA2OCwgCi0gICAgMTAxMDcyLCAxMDEwNzYsIDEwMTA4MCwgMTAxMDg0LCAxMDEwODgsIDEwMTA5MiwgMTAxMDk2LCAxMDExMDAsIDEwMTEwNCwgCi0gICAgMTAxMTA4LCAxMDExMTIsIDEwMTExNiwgMTAxMTIwLCAxMDExMjQsIDEwMTEyOCwgMTAxMTMyLCAxMDExMzYsIDEwMTE0MCwgCi0gICAgMTAxMTQ0LCAxMDExNDgsIDEwMTE1MiwgMTAxMTU2LCAxMDExNjAsIDEwMTE2NCwgMTAxMTY4LCAxMDExNzIsIDEwMTE3NiwgCi0gICAgMTAxMTgwLCAxMDExODQsIDEwMTE4OCwgMTAxMTkyLCAxMDExOTYsIDEwMTIwMCwgMTAxMjA0LCAxMDEyMDgsIDEwMTIxMiwgCi0gICAgMTAxMjE2LCAxMDEyMjAsIDEwMTIyNCwgMTAxMjI4LCAxMDEyMzIsIDEwMTIzNiwgMTAxMjQwLCAxMDEyNDQsIDEwMTI0OCwgCi0gICAgMTAxMjUyLCAxMDEyNTYsIDEwMTI2MCwgMTAxMjY0LCAxMDEyNjgsIDEwMTI3MiwgMTAxMjc2LCAxMDEyODAsIDEwMTI4NCwgCi0gICAgMTAxMjg4LCAxMDEyOTIsIDEwMTI5NiwgMTAxMzAwLCAxMDEzMDQsIDEwMTMwOCwgMTAxMzEyLCAxMDEzMTYsIDEwMTMyMCwgCi0gICAgMTAxMzI0LCAxMDEzMjgsIDEwMTMzMiwgMTAxMzM2LCAxMDEzNDAsIDEwMTM0NCwgMTAxMzQ4LCAxMDEzNTIsIDEwMTM1NiwgCi0gICAgMTAxMzYwLCAxMDEzNjQsIDEwMTM2OCwgMTAxMzcyLCAxMDEzNzYsIDEwMTM4MCwgMTAxMzg0LCAxMDEzODgsIDEwMTM5MiwgCi0gICAgMTAxMzk2LCAxMDE0MDAsIDEwMTQwNCwgMTAxNDA4LCAxMDE0MTIsIDEwMTQxNiwgMTAxNDIwLCAxMDE0MjQsIDEwMTQyOCwgCi0gICAgMTAxNDMyLCAxMDE0MzYsIDEwMTQ0MCwgMTAxNDQ0LCAxMDE0NDgsIDEwMTQ1MiwgMTAxNDU2LCAxMDE0NjAsIDEwMTQ2NCwgCi0gICAgMTAxNDY4LCAxMDE0NzIsIDEwMTQ3NiwgMTAxNDgwLCAxMDE0ODQsIDEwMTQ4OCwgMTAxNDkyLCAxMDE0OTYsIDEwMTUwMCwgCi0gICAgMTAxNTA0LCAxMDE1MDgsIDEwMTUxMiwgMTAxNTE2LCAxMDE1MjAsIDEwMTUyNCwgMTAxNTI4LCAxMDE1MzIsIDEwMTUzNiwgCi0gICAgMTAxNTQwLCAxMDE1NDQsIDEwMTU0OCwgMTAxNTUyLCAxMDE1NTYsIDEwMTU2MCwgMTAxNTY0LCAxMDE1NjgsIDEwMTU3MiwgCi0gICAgMTAxNTc2LCAxMDE1ODAsIDEwMTU4NCwgMTAxNTg4LCAxMDE1OTIsIDEwMTU5NiwgMTAxNjAwLCAxMDE2MDQsIDEwMTYwOCwgCi0gICAgMTAxNjEyLCAxMDE2MTYsIDEwMTYyMCwgMTAxNjI0LCAxMDE2MjgsIDEwMTYzMiwgMTAxNjM2LCAxMDE2NDAsIDEwMTY0NCwgCi0gICAgMTAxNjQ4LCAxMDE2NTIsIDEwMTY1NiwgMTAxNjYwLCAxMDE2NjQsIDEwMTY2OCwgMTAxNjcyLCAxMDE2NzYsIDEwMTY4MCwgCi0gICAgMTAxNjg0LCAxMDE2ODgsIDEwMTY5MiwgMTAxNjk2LCAxMDE3MDAsIDEwMTcwNCwgMTAxNzA4LCAxMDE3MTIsIDEwMTcxNiwgCi0gICAgMTAxNzIwLCAxMDE3MjQsIDEwMTcyOCwgMTAxNzMyLCAxMDE3MzYsIDEwMTc0MCwgMTAxNzQ0LCAxMDE3NDgsIDEwMTc1MiwgCi0gICAgMTAxNzU2LCAxMDE3NjAsIDEwMTc2NCwgMTAxNzY4LCAxMDE3NzIsIDEwMTc3NiwgMTAxNzgwLCAxMDE3ODQsIDEwMTc4OCwgCi0gICAgMTAxNzkyLCAxMDE3OTYsIDEwMTgwMCwgMTAxODA0LCAxMDE4MDgsIDEwMTgxMiwgMTAxODE2LCAxMDE4MjAsIDEwMTgyNCwgCi0gICAgMTAxODI4LCAxMDE4MzIsIDEwMTgzNiwgMTAxODQwLCAxMDE4NDQsIDEwMTg0OCwgMTAxODUyLCAxMDE4NTYsIDEwMTg2MCwgCi0gICAgMTAxODY0LCAxMDE4NjgsIDEwMTg3MiwgMTAxODc2LCAxMDE4ODAsIDEwMTg4NCwgMTAxODg4LCAxMDE4OTIsIDEwMTg5NiwgCi0gICAgMTAxOTAwLCAxMDE5MDQsIDEwMTkwOCwgMTAxOTEyLCAxMDE5MTYsIDEwMTkyMCwgMTAxOTI0LCAxMDE5MjgsIDEwMTkzMiwgCi0gICAgMTAxOTM2LCAxMDE5NDAsIDEwMTk0NCwgMTAxOTQ4LCAxMDE5NTIsIDEwMTk1NiwgMTAxOTYwLCAxMDE5NjQsIDEwMTk2OCwgCi0gICAgMTAxOTcyLCAxMDE5NzYsIDEwMTk4MCwgMTAxOTg0LCAxMDE5ODgsIDEwMTk5MiwgMTAxOTk2LCAxMDIwMDAsIDEwMjAwNCwgCi0gICAgMTAyMDA4LCAxMDIwMTIsIDEwMjAxNiwgMTAyMDIwLCAxMDIwMjQsIDEwMjAyOCwgMTAyMDMyLCAxMDIwMzYsIDEwMjA0MCwgCi0gICAgMTAyMDQ0LCAxMDIwNDgsIDEwMjA1MiwgMTAyMDU2LCAxMDIwNjAsIDEwMjA2NCwgMTAyMDY4LCAxMDIwNzIsIDEwMjA3NiwgCi0gICAgMTAyMDgwLCAxMDIwODQsIDEwMjA4OCwgMTAyMDkyLCAxMDIwOTYsIDEwMjEwMCwgMTAyMTA0LCAxMDIxMDgsIDEwMjExMiwgCi0gICAgMTAyMTE2LCAxMDIxMjAsIDEwMjEyNCwgMTAyMTI4LCAxMDIxMzIsIDEwMjEzNiwgMTAyMTQwLCAxMDIxNDQsIDEwMjE0OCwgCi0gICAgMTAyMTUyLCAxMDIxNTYsIDEwMjE2MCwgMTAyMTY0LCAxMDIxNjgsIDEwMjE3MiwgMTAyMTc2LCAxMDIxODAsIDEwMjE4NCwgCi0gICAgMTAyMTg4LCAxMDIxOTIsIDEwMjE5NiwgMTAyMjAwLCAxMDIyMDQsIDEwMjIwOCwgMTAyMjEyLCAxMDIyMTYsIDEwMjIyMCwgCi0gICAgMTAyMjI0LCAxMDIyMjgsIDEwMjIzMiwgMTAyMjM2LCAxMDIyNDAsIDEwMjI0NCwgMTAyMjQ4LCAxMDIyNTIsIDEwMjI1NiwgCi0gICAgMTAyMjYwLCAxMDIyNjQsIDEwMjI2OCwgMTAyMjcyLCAxMDIyNzYsIDEwMjI4MCwgMTAyMjg0LCAxMDIyODgsIDEwMjI5MiwgCi0gICAgMTAyMjk2LCAxMDIzMDAsIDEwMjMwNCwgMTAyMzA4LCAxMDIzMTIsIDEwMjMxNiwgMTAyMzIwLCAxMDIzMjQsIDEwMjMyOCwgCi0gICAgMTAyMzMyLCAxMDIzMzYsIDEwMjM0MCwgMTAyMzQ0LCAxMDIzNDgsIDEwMjM1MiwgMTAyMzU2LCAxMDIzNjAsIDEwMjM2NCwgCi0gICAgMTAyMzY4LCAxMDIzNzIsIDEwMjM3NiwgMTAyMzgwLCAxMDIzODQsIDEwMjM4OCwgMTAyMzkyLCAxMDIzOTYsIDEwMjQwMCwgCi0gICAgMTAyNDA0LCAxMDI0MDgsIDEwMjQxMiwgMTAyNDE2LCAxMDI0MjAsIDEwMjQyNCwgMTAyNDI4LCAxMDI0MzIsIDEwMjQzNiwgCi0gICAgMTAyNDQwLCAxMDI0NDQsIDEwMjQ0OCwgMTAyNDUyLCAxMDI0NTYsIDEwMjQ2MCwgMTAyNDY0LCAxMDI0NjgsIDEwMjQ3MiwgCi0gICAgMTAyNDc2LCAxMDI0ODAsIDEwMjQ4NCwgMTAyNDg4LCAxMDI0OTIsIDEwMjQ5NiwgMTAyNTAwLCAxMDI1MDQsIDEwMjUwOCwgCi0gICAgMTAyNTEyLCAxMDI1MTYsIDEwMjUyMCwgMTAyNTI0LCAxMDI1MjgsIDEwMjUzMiwgMTAyNTM2LCAxMDI1NDAsIDEwMjU0NCwgCi0gICAgMTAyNTQ4LCAxMDI1NTIsIDEwMjU1NiwgMTAyNTYwLCAxMDI1NjQsIDEwMjU2OCwgMTAyNTcyLCAxMDI1NzYsIDEwMjU4MCwgCi0gICAgMTAyNTg0LCAxMDI1ODgsIDEwMjU5MiwgMTAyNTk2LCAxMDI2MDAsIDEwMjYwNCwgMTAyNjA4LCAxMDI2MTIsIDEwMjYxNiwgCi0gICAgMTAyNjIwLCAxMDI2MjQsIDEwMjYyOCwgMTAyNjMyLCAxMDI2MzYsIDEwMjY0MCwgMTAyNjQ0LCAxMDI2NDgsIDEwMjY1MiwgCi0gICAgMTAyNjU2LCAxMDI2NjAsIDEwMjY2NCwgMTAyNjY4LCAxMDI2NzIsIDEwMjY3NiwgMTAyNjgwLCAxMDI2ODQsIDEwMjY4OCwgCi0gICAgMTAyNjkyLCAxMDI2OTYsIDEwMjcwMCwgMTAyNzA0LCAxMDI3MDgsIDEwMjcxMiwgMTAyNzE2LCAxMDI3MjAsIDEwMjcyNCwgCi0gICAgMTAyNzI4LCAxMDI3MzIsIDEwMjczNiwgMTAyNzQwLCAxMDI3NDQsIDEwMjc0OCwgMTAyNzUyLCAxMDI3NTYsIDEwMjc2MCwgCi0gICAgMTAyNzY0LCAxMDI3NjgsIDEwMjc3MiwgMTAyNzc2LCAxMDI3ODAsIDEwMjc4NCwgMTAyNzg4LCAxMDI3OTIsIDEwMjc5NiwgCi0gICAgMTAyODAwLCAxMDI4MDQsIDEwMjgwOCwgMTAyODEyLCAxMDI4MTYsIDEwMjgyMCwgMTAyODI0LCAxMDI4MjgsIDEwMjgzMiwgCi0gICAgMTAyODM2LCAxMDI4NDAsIDEwMjg0NCwgMTAyODQ4LCAxMDI4NTIsIDEwMjg1NiwgMTAyODYwLCAxMDI4NjQsIDEwMjg2OCwgCi0gICAgMTAyODcyLCAxMDI4NzYsIDEwMjg4MCwgMTAyODg0LCAxMDI4ODgsIDEwMjg5MiwgMTAyODk2LCAxMDI5MDAsIDEwMjkwNCwgCi0gICAgMTAyOTA4LCAxMDI5MTIsIDEwMjkxNiwgMTAyOTIwLCAxMDI5MjQsIDEwMjkyOCwgMTAyOTMyLCAxMDI5MzYsIDEwMjk0MCwgCi0gICAgMTAyOTQ0LCAxMDI5NDgsIDEwMjk1MiwgMTAyOTU2LCAxMDI5NjAsIDEwMjk2NCwgMTAyOTY4LCAxMDI5NzIsIDEwMjk3NiwgCi0gICAgMTAyOTgwLCAxMDI5ODQsIDEwMjk4OCwgMTAyOTkyLCAxMDI5OTYsIDEwMzAwMCwgMTAzMDA0LCAxMDMwMDgsIDEwMzAxMiwgCi0gICAgMTAzMDE2LCAxMDMwMjAsIDEwMzAyNCwgMTAzMDI4LCAxMDMwMzIsIDEwMzAzNiwgMTAzMDQwLCAxMDMwNDQsIDEwMzA0OCwgCi0gICAgMTAzMDUyLCAxMDMwNTYsIDEwMzA2MCwgMTAzMDY0LCAxMDMwNjgsIDEwMzA3MiwgMTAzMDc2LCAxMDMwODAsIDEwMzA4NCwgCi0gICAgMTAzMDg4LCAxMDMwOTIsIDEwMzA5NiwgMTAzMTAwLCAxMDMxMDQsIDEwMzEwOCwgMTAzMTEyLCAxMDMxMTYsIDEwMzEyMCwgCi0gICAgMTAzMTI0LCAxMDMxMjgsIDEwMzEzMiwgMTAzMTM2LCAxMDMxNDAsIDEwMzE0NCwgMTAzMTQ4LCAxMDMxNTIsIDEwMzE1NiwgCi0gICAgMTAzMTYwLCAxMDMxNjQsIDEwMzE2OCwgMTAzMTcyLCAxMDMxNzYsIDEwMzE4MCwgMTAzMTg0LCAxMDMxODgsIDEwMzE5MiwgCi0gICAgMTAzMTk2LCAxMDMyMDAsIDEwMzIwNCwgMTAzMjA4LCAxMDMyMTIsIDEwMzIxNiwgMTAzMjIwLCAxMDMyMjQsIDEwMzIyOCwgCi0gICAgMTAzMjMyLCAxMDMyMzYsIDEwMzI0MCwgMTAzMjQ0LCAxMDMyNDgsIDEwMzI1MiwgMTAzMjU2LCAxMDMyNjAsIDEwMzI2NCwgCi0gICAgMTAzMjY4LCAxMDMyNzIsIDEwMzI3NiwgMTAzMjgwLCAxMDMyODQsIDEwMzI4OCwgMTAzMjkyLCAxMDMyOTYsIDEwMzMwMCwgCi0gICAgMTAzMzA0LCAxMDMzMDgsIDEwMzMxMiwgMTAzMzE2LCAxMDMzMjAsIDEwMzMyNCwgMTAzMzI4LCAxMDMzMzIsIDEwMzMzNiwgCi0gICAgMTAzMzQwLCAxMDMzNDQsIDEwMzM0OCwgMTAzMzUyLCAxMDMzNTYsIDEwMzM2MCwgMTAzMzY0LCAxMDMzNjgsIDEwMzM3MiwgCi0gICAgMTAzMzc2LCAxMDMzODAsIDEwMzM4NCwgMTAzMzg4LCAxMDMzOTIsIDEwMzM5NiwgMTAzNDAwLCAxMDM0MDQsIDEwMzQwOCwgCi0gICAgMTAzNDEyLCAxMDM0MTYsIDEwMzQyMCwgMTAzNDI0LCAxMDM0MjgsIDEwMzQzMiwgMTAzNDM2LCAxMDM0NDAsIDEwMzQ0NCwgCi0gICAgMTAzNDQ4LCAxMDM0NTIsIDEwMzQ1NiwgMTAzNDYwLCAxMDM0NjQsIDEwMzQ2OCwgMTAzNDcyLCAxMDM0NzYsIDEwMzQ4MCwgCi0gICAgMTAzNDg0LCAxMDM0ODgsIDEwMzQ5MiwgMTAzNDk2LCAxMDM1MDAsIDEwMzUwNCwgMTAzNTA4LCAxMDM1MTIsIDEwMzUxNiwgCi0gICAgMTAzNTIwLCAxMDM1MjQsIDEwMzUyOCwgMTAzNTMyLCAxMDM1MzYsIDEwMzU0MCwgMTAzNTQ0LCAxMDM1NDgsIDEwMzU1MiwgCi0gICAgMTAzNTU2LCAxMDM1NjAsIDEwMzU2NCwgMTAzNTY4LCAxMDM1NzIsIDEwMzU3NiwgMTAzNTgwLCAxMDM1ODQsIDEwMzU4OCwgCi0gICAgMTAzNTkyLCAxMDM1OTYsIDEwMzYwMCwgMTAzNjA0LCAxMDM2MDgsIDEwMzYxMiwgMTAzNjE2LCAxMDM2MjAsIDEwMzYyNCwgCi0gICAgMTAzNjI4LCAxMDM2MzIsIDEwMzYzNiwgMTAzNjQwLCAxMDM2NDQsIDEwMzY0OCwgMTAzNjUyLCAxMDM2NTYsIDEwMzY2MCwgCi0gICAgMTAzNjY0LCAxMDM2NjgsIDEwMzY3MiwgMTAzNjc2LCAxMDM2ODAsIDEwMzY4NCwgMTAzNjg4LCAxMDM2OTIsIDEwMzY5NiwgCi0gICAgMTAzNzAwLCAxMDM3MDQsIDEwMzcwOCwgMTAzNzEyLCAxMDM3MTYsIDEwMzcyMCwgMTAzNzI0LCAxMDM3MjgsIDEwMzczMiwgCi0gICAgMTAzNzM2LCAxMDM3NDAsIDEwMzc0NCwgMTAzNzQ4LCAxMDM3NTIsIDEwMzc1NiwgMTAzNzYwLCAxMDM3NjQsIDEwMzc2OCwgCi0gICAgMTAzNzcyLCAxMDM3NzYsIDEwMzc4MCwgMTAzNzg0LCAxMDM3ODgsIDEwMzc5MiwgMTAzNzk2LCAxMDM4MDAsIDEwMzgwNCwgCi0gICAgMTAzODA4LCAxMDM4MTIsIDEwMzgxNiwgMTAzODIwLCAxMDM4MjQsIDEwMzgyOCwgMTAzODMyLCAxMDM4MzYsIDEwMzg0MCwgCi0gICAgMTAzODQ0LCAxMDM4NDgsIDEwMzg1MiwgMTAzODU2LCAxMDM4NjAsIDEwMzg2NCwgMTAzODY4LCAxMDM4NzIsIDEwMzg3NiwgCi0gICAgMTAzODgwLCAxMDM4ODQsIDEwMzg4OCwgMTAzODkyLCAxMDM4OTYsIDEwMzkwMCwgMTAzOTA0LCAxMDM5MDgsIDEwMzkxMiwgCi0gICAgMTAzOTE2LCAxMDM5MjAsIDEwMzkyNCwgMTAzOTI4LCAxMDM5MzIsIDEwMzkzNiwgMTAzOTQwLCAxMDM5NDQsIDEwMzk0OCwgCi0gICAgMTAzOTUyLCAxMDM5NTYsIDEwMzk2MCwgMTAzOTY0LCAxMDM5NjgsIDEwMzk3MiwgMTAzOTc2LCAxMDM5ODAsIDEwMzk4NCwgCi0gICAgMTAzOTg4LCAxMDM5OTIsIDEwMzk5NiwgMTA0MDAwLCAxMDQwMDQsIDEwNDAwOCwgMTA0MDEyLCAxMDQwMTYsIDEwNDAyMCwgCi0gICAgMTA0MDI0LCAxMDQwMjgsIDEwNDAzMiwgMTA0MDM2LCAxMDQwNDAsIDEwNDA0NCwgMTA0MDQ4LCAxMDQwNTIsIDEwNDA1NiwgCi0gICAgMTA0MDYwLCAxMDQwNjQsIDEwNDA2OCwgMTA0MDcyLCAxMDQwNzYsIDEwNDA4MCwgMTA0MDg0LCAxMDQwODgsIDEwNDA5MiwgCi0gICAgMTA0MDk2LCAxMDQxMDAsIDEwNDEwNCwgMTA0MTA4LCAxMDQxMTIsIDEwNDExNiwgMTA0MTIwLCAxMDQxMjQsIDEwNDEyOCwgCi0gICAgMTA0MTMyLCAxMDQxMzYsIDEwNDE0MCwgMTA0MTQ0LCAxMDQxNDgsIDEwNDE1MiwgMTA0MTU2LCAxMDQxNjAsIDEwNDE2NCwgCi0gICAgMTA0MTY4LCAxMDQxNzIsIDEwNDE3NiwgMTA0MTgwLCAxMDQxODQsIDEwNDE4OCwgMTA0MTkyLCAxMDQxOTYsIDEwNDIwMCwgCi0gICAgMTA0MjA0LCAxMDQyMDgsIDEwNDIxMiwgMTA0MjE2LCAxMDQyMjAsIDEwNDIyNCwgMTA0MjI4LCAxMDQyMzIsIDEwNDIzNiwgCi0gICAgMTA0MjQwLCAxMDQyNDQsIDEwNDI0OCwgMTA0MjUyLCAxMDQyNTYsIDEwNDI2MCwgMTA0MjY0LCAxMDQyNjgsIDEwNDI3MiwgCi0gICAgMTA0Mjc2LCAxMDQyODAsIDEwNDI4NCwgMTA0Mjg4LCAxMDQyOTIsIDEwNDI5NiwgMTA0MzAwLCAxMDQzMDQsIDEwNDMwOCwgCi0gICAgMTA0MzEyLCAxMDQzMTYsIDEwNDMyMCwgMTA0MzI0LCAxMDQzMjgsIDEwNDMzMiwgMTA0MzM2LCAxMDQzNDAsIDEwNDM0NCwgCi0gICAgMTA0MzQ4LCAxMDQzNTIsIDEwNDM1NiwgMTA0MzYwLCAxMDQzNjQsIDEwNDM2OCwgMTA0MzcyLCAxMDQzNzYsIDEwNDM4MCwgCi0gICAgMTA0Mzg0LCAxMDQzODgsIDEwNDM5MiwgMTA0Mzk2LCAxMDQ0MDAsIDEwNDQwNCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgOTU0NDEsIDk1NDQ1LCA5NTQ0OSwgOTU0NTMsIDk1NDU2LCA5NTQ2MCwgCisgICAgOTU0NjMsIDk1NDY3LCA5NTQ3MCwgOTU0NzQsIDk1NDc4LCA5NTQ4MywgOTU0ODcsIDk1NDkyLCA5NTQ5NSwgOTU0OTksIAorICAgIDk1NTAyLCA5NTUwNiwgOTU1MDksIDk1NTEzLCA5NTUxNywgOTU1MjEsIDk1NTI1LCA5NTUyOSwgOTU1MzMsIDk1NTM3LCAKKyAgICA5NTU0MSwgOTU1NDUsIDk1NTQ5LCA5NTU1MywgOTU1NTcsIDk1NTYxLCA5NTU2NSwgOTU1NjksIDk1NTczLCA5NTU3NywgCisgICAgOTU1ODEsIDk1NTg0LCA5NTU4NywgOTU1OTEsIDk1NTk1LCA5NTU5OSwgOTU2MDIsIDk1NjA1LCA5NTYwOCwgOTU2MTIsIAorICAgIDk1NjE2LCA5NTYyMCwgOTU2MjQsIDk1NjI4LCA5NTYzMSwgOTU2MzQsIDk1NjM5LCA5NTY0MywgOTU2NDgsIDk1NjUyLCAKKyAgICA5NTY1NywgOTU2NjIsIDk1NjY4LCA5NTY3MywgOTU2NzksIDk1NjgzLCA5NTY4OCwgOTU2OTIsIDk1Njk3LCA5NTcwMSwgCisgICAgOTU3MDUsIDk1NzA5LCA5NTcxMywgOTU3MTYsIDk1NzE5LCA5NTcyMywgOTU3MjcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDk1NzMwLCA5NTczNCwgOTU3MzcsIDk1NzQwLCA5NTc0MywgOTU3NDYsIDk1NzQ5LCA5NTc1MiwgOTU3NTUsIDk1NzU4LCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5NTc2MSwgOTU3NjUsIDk1NzcwLCA5NTc3NCwgOTU3NzksIAorICAgIDk1NzgzLCA5NTc4OCwgOTU3OTIsIDk1Nzk3LCA5NTgwMSwgOTU4MDYsIDk1ODEwLCA5NTgxNSwgOTU4MjAsIDk1ODI1LCAKKyAgICA5NTgzMCwgOTU4MzUsIDk1ODQwLCA5NTg0NSwgOTU4NTAsIDk1ODU1LCA5NTg2MCwgOTU4NjUsIDk1ODcwLCA5NTg3NSwgCisgICAgOTU4ODAsIDk1ODg1LCA5NTg5MCwgOTU4OTUsIDk1OTAwLCA5NTkwNCwgOTU5MDgsIDk1OTEzLCA5NTkxOCwgOTU5MjMsIAorICAgIDk1OTI3LCA5NTkzMSwgOTU5MzUsIDk1OTQwLCA5NTk0NSwgOTU5NTAsIDk1OTU0LCA5NTk1OCwgOTU5NjMsIDk1OTY4LCAKKyAgICA5NTk3MywgOTU5NzksIDk1OTg0LCA5NTk5MCwgOTU5OTUsIDk2MDAxLCA5NjAwNiwgOTYwMTIsIDk2MDE3LCA5NjAyMywgCisgICAgOTYwMjgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDk2MDMzLCA5NjAzOCwgOTYwNDIsIDk2MDQ2LCA5NjA1MCwgOTYwNTQsIAorICAgIDk2MDU4LCA5NjA2MiwgOTYwNjYsIDk2MDcwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5NjA3NCwgOTYwNzcsIDk2MDgyLCA5NjA4OCwgCisgICAgOTYwOTYsIDk2MTAxLCA5NjEwNywgOTYxMTUsIDk2MTIxLCA5NjEyNywgOTYxMzEsIDk2MTM1LCA5NjE0MiwgOTYxNTEsIAorICAgIDk2MTU4LCA5NjE2NywgOTYxNzMsIDk2MTgyLCA5NjE4OSwgOTYxOTYsIDk2MjAzLCA5NjIxMywgOTYyMTksIDk2MjIzLCAKKyAgICA5NjIzMCwgOTYyMzksIDk2MjQ5LCA5NjI1NiwgOTYyNjMsIDk2MjY3LCA5NjI3MSwgOTYyNzgsIDk2Mjg4LCA5NjI5MiwgCisgICAgOTYyOTksIDk2MzA2LCA5NjMxMywgOTYzMTksIDk2MzI2LCA5NjMzMywgOTYzNDAsIDk2MzQ3LCA5NjM1MSwgOTYzNTUsIAorICAgIDk2MzU5LCA5NjM2NiwgOTYzNzAsIDk2Mzc3LCA5NjM4NCwgOTYzOTgsIDk2NDA3LCA5NjQxMSwgOTY0MTUsIDk2NDE5LCAKKyAgICA5NjQyNiwgOTY0MzAsIDk2NDM0LCA5NjQzOCwgOTY0NDYsIDk2NDU0LCA5NjQ3MywgOTY0ODMsIDk2NTAzLCA5NjUwNywgCisgICAgOTY1MTEsIDk2NTE1LCA5NjUxOSwgOTY1MjMsIDk2NTI3LCA5NjUzMSwgOTY1MzgsIDk2NTQyLCA5NjU0NSwgOTY1NDksIAorICAgIDk2NTUzLCA5NjU1OSwgOTY1NjYsIDk2NTc1LCA5NjU3OSwgOTY1ODgsIDk2NTk3LCA5NjYwNSwgOTY2MDksIDk2NjE2LCAKKyAgICA5NjYyMCwgOTY2MjQsIDk2NjI4LCA5NjYzMiwgOTY2NDMsIDk2NjUyLCA5NjY2MSwgOTY2NzAsIDk2Njc5LCA5NjY5MSwgCisgICAgOTY3MDAsIDk2NzA5LCA5NjcxOCwgOTY3MjYsIDk2NzM1LCA5Njc0NywgOTY3NTYsIDk2NzY1LCA5Njc3NCwgOTY3ODYsIAorICAgIDk2Nzk1LCA5NjgwNCwgOTY4MTYsIDk2ODI1LCA5NjgzNCwgOTY4NDYsIDk2ODU1LCA5Njg1OSwgOTY4NjMsIDk2ODY3LCAKKyAgICA5Njg3MSwgOTY4NzUsIDk2ODc5LCA5Njg4MywgOTY4OTAsIDk2ODk0LCA5Njg5OCwgOTY5MDksIDk2OTEzLCA5NjkxNywgCisgICAgOTY5MjQsIDk2OTMwLCA5NjkzNiwgOTY5NDAsIDk2OTQ3LCA5Njk1MSwgOTY5NTUsIDk2OTU5LCA5Njk2MywgOTY5NjcsIAorICAgIDk2OTcxLCA5Njk3NywgOTY5ODUsIDk2OTg5LCA5Njk5MywgOTY5OTYsIDk3MDAyLCA5NzAxMiwgOTcwMTYsIDk3MDI4LCAKKyAgICA5NzAzNSwgOTcwNDIsIDk3MDQ5LCA5NzA1NiwgOTcwNjIsIDk3MDY2LCA5NzA3MCwgOTcwNzQsIDk3MDc4LCA5NzA4NSwgCisgICAgOTcwOTQsIDk3MTAxLCA5NzEwOSwgOTcxMTcsIDk3MTIzLCA5NzEyNywgOTcxMzEsIDk3MTM1LCA5NzEzOSwgOTcxNDUsIAorICAgIDk3MTU0LCA5NzE2NiwgOTcxNzMsIDk3MTgwLCA5NzE4OSwgOTcyMDAsIDk3MjA2LCA5NzIxNSwgOTcyMjQsIDk3MjMxLCAKKyAgICA5NzI0MCwgOTcyNDcsIDk3MjU0LCA5NzI2NCwgOTcyNzEsIDk3Mjc4LCA5NzI4NSwgOTcyOTIsIDk3Mjk2LCA5NzMwMiwgCisgICAgOTczMDYsIDk3MzE3LCA5NzMyNSwgOTczMzQsIDk3MzQ2LCA5NzM1MywgOTczNjAsIDk3MzcwLCA5NzM3NywgOTczODYsIAorICAgIDk3MzkzLCA5NzQwMiwgOTc0MDksIDk3NDE2LCA5NzQyNiwgOTc0MzMsIDk3NDQwLCA5NzQ1MCwgOTc0NTcsIDk3NDY5LCAKKyAgICA5NzQ3OCwgOTc0ODUsIDk3NDkyLCA5NzQ5OSwgOTc1MDgsIDk3NTE4LCA5NzUzMSwgOTc1MzgsIDk3NTQ4LCA5NzU1OCwgCisgICAgOTc1NjUsIDk3NTc0LCA5NzU4NywgOTc1OTQsIDk3NjAxLCA5NzYwOCwgOTc2MTgsIDk3NjI4LCA5NzYzNSwgOTc2NDUsIAorICAgIDk3NjUyLCA5NzY1OSwgOTc2NjksIDk3Njc1LCA5NzY4MiwgOTc2ODksIDk3Njk2LCA5NzcwNiwgOTc3MTMsIDk3NzIwLCAKKyAgICA5NzcyNywgOTc3MzMsIDk3NzQwLCA5Nzc1MCwgOTc3NTcsIDk3NzYxLCA5Nzc2OSwgOTc3NzMsIDk3Nzg1LCA5Nzc4OSwgCisgICAgOTc4MDMsIDk3ODA3LCA5NzgxMSwgOTc4MTUsIDk3ODE5LCA5NzgyNSwgOTc4MzIsIDk3ODQwLCA5Nzg0NCwgOTc4NDgsIAorICAgIDk3ODUyLCA5Nzg1NiwgOTc4NjMsIDk3ODY3LCA5Nzg3MywgOTc4NzksIDk3ODg3LCA5Nzg5MSwgOTc4OTgsIDk3OTA2LCAKKyAgICA5NzkxMCwgOTc5MTQsIDk3OTIwLCA5NzkyNCwgOTc5MzMsIDk3OTQyLCA5Nzk0OSwgOTc5NTksIDk3OTY1LCA5Nzk2OSwgCisgICAgOTc5NzMsIDk3OTgxLCA5Nzk4OCwgOTc5OTUsIDk4MDAxLCA5ODAwNSwgOTgwMTMsIDk4MDE3LCA5ODAyNCwgOTgwMzYsIAorICAgIDk4MDQzLCA5ODA1MywgOTgwNTksIDk4MDYzLCA5ODA3MiwgOTgwNzksIDk4MDg4LCA5ODA5MiwgOTgwOTYsIDk4MTAzLCAKKyAgICA5ODEwNywgOTgxMTEsIDk4MTE1LCA5ODExOSwgOTgxMjIsIDk4MTI4LCA5ODEzNCwgOTgxMzgsIDk4MTQyLCA5ODE0OSwgCisgICAgOTgxNTYsIDk4MTYzLCA5ODE3MCwgOTgxNzcsIDk4MTg0LCA5ODE5MSwgOTgxOTgsIDk4MjA0LCA5ODIwOCwgOTgyMTIsIAorICAgIDk4MjE5LCA5ODIyNiwgOTgyMzMsIDk4MjQwLCA5ODI0NywgOTgyNTEsIDk4MjU0LCA5ODI1OSwgOTgyNjMsIDk4MjY3LCAKKyAgICA5ODI3NiwgOTgyODUsIDk4Mjg5LCA5ODI5MywgOTgyOTksIDk4MzA1LCA5ODMyMiwgOTgzMjgsIDk4MzMyLCA5ODM0MSwgCisgICAgOTgzNDUsIDk4MzQ5LCA5ODM1NiwgOTgzNjQsIDk4MzcyLCA5ODM3OCwgOTgzODIsIDk4Mzg2LCA5ODM5MCwgOTgzOTQsIAorICAgIDk4Mzk3LCA5ODQwMywgOTg0MTAsIDk4NDIwLCA5ODQyNywgOTg0MzQsIDk4NDQxLCA5ODQ0NywgOTg0NTQsIDk4NDYxLCAKKyAgICA5ODQ2OCwgOTg0NzUsIDk4NDgyLCA5ODQ5MSwgOTg0OTgsIDk4NTEwLCA5ODUxNywgOTg1MjQsIDk4NTM0LCA5ODU0NSwgCisgICAgOTg1NTIsIDk4NTU5LCA5ODU2NiwgOTg1NzMsIDk4NTgwLCA5ODU4NywgOTg1OTQsIDk4NjAxLCA5ODYwOCwgOTg2MTUsIAorICAgIDk4NjI1LCA5ODYzNSwgOTg2NDUsIDk4NjUyLCA5ODY2MiwgOTg2NjksIDk4Njc2LCA5ODY4MywgOTg2OTAsIDk4Njk2LCAKKyAgICA5ODcwMywgOTg3MTAsIDk4NzE3LCA5ODcyNCwgOTg3MzEsIDk4NzM4LCA5ODc0NSwgOTg3NTIsIDk4NzU4LCA5ODc2NSwgCisgICAgOTg3NzIsIDk4NzgxLCA5ODc4OCwgOTg3OTUsIDk4Nzk5LCA5ODgwNywgOTg4MTEsIDk4ODE1LCA5ODgxOSwgOTg4MjMsIAorICAgIDk4ODI3LCA5ODgzNCwgOTg4MzgsIDk4ODQ3LCA5ODg1MSwgOTg4NTgsIDk4ODY2LCA5ODg3MCwgOTg4NzQsIDk4ODc4LCAKKyAgICA5ODg5MSwgOTg5MDcsIDk4OTExLCA5ODkxNSwgOTg5MjIsIDk4OTI4LCA5ODkzNSwgOTg5MzksIDk4OTQzLCA5ODk0NywgCisgICAgOTg5NTEsIDk4OTU1LCA5ODk2MiwgOTg5NjYsIDk4OTg0LCA5ODk4OCwgOTg5OTIsIDk4OTk5LCA5OTAwMywgOTkwMDcsIAorICAgIDk5MDEzLCA5OTAxNywgOTkwMjEsIDk5MDI5LCA5OTAzMywgOTkwMzcsIDk5MDQxLCA5OTA0NSwgOTkwNTEsIDk5MDYyLCAKKyAgICA5OTA3MSwgOTkwODAsIDk5MDg3LCA5OTA5NCwgOTkxMDUsIDk5MTEyLCA5OTExOSwgOTkxMjYsIDk5MTMzLCA5OTE0MCwgCisgICAgOTkxNDcsIDk5MTU0LCA5OTE2NCwgOTkxNzAsIDk5MTc3LCA5OTE4NywgOTkxOTYsIDk5MjAzLCA5OTIxMiwgOTkyMjIsIAorICAgIDk5MjI5LCA5OTIzNiwgOTkyNDMsIDk5MjUwLCA5OTI2MiwgOTkyNjksIDk5Mjc2LCA5OTI4MywgOTkyOTAsIDk5Mjk3LCAKKyAgICA5OTMwNywgOTkzMTQsIDk5MzIxLCA5OTMzMSwgOTkzNDQsIDk5MzU2LCA5OTM2MywgOTkzNzMsIDk5MzgwLCA5OTM4NywgCisgICAgOTkzOTQsIDk5NDA4LCA5OTQxNCwgOTk0MjIsIDk5NDMyLCA5OTQ0MiwgOTk0NDksIDk5NDU2LCA5OTQ2MiwgOTk0NjYsIAorICAgIDk5NDczLCA5OTQ4MywgOTk0ODksIDk5NTAyLCA5OTUwNiwgOTk1MTAsIDk5NTE3LCA5OTUyMSwgOTk1MjgsIDk5NTM4LCAKKyAgICA5OTU0MiwgOTk1NDYsIDk5NTUwLCA5OTU1NCwgOTk1NTgsIDk5NTY1LCA5OTU2OSwgOTk1NzYsIDk5NTgzLCA5OTU5MCwgCisgICAgOTk1OTksIDk5NjA4LCA5OTYxOCwgOTk2MjUsIDk5NjMyLCA5OTYzOSwgOTk2NDksIDk5NjU2LCA5OTY2NiwgOTk2NzMsIAorICAgIDk5NjgzLCA5OTY5MCwgOTk2OTcsIDk5NzA3LCA5OTcxNywgOTk3MjQsIDk5NzMwLCA5OTczOCwgOTk3NDYsIDk5NzUyLCAKKyAgICA5OTc1OCwgOTk3NjIsIDk5NzY2LCA5OTc3MywgOTk3ODEsIDk5Nzg3LCA5OTc5MSwgOTk3OTUsIDk5Nzk5LCA5OTgwNiwgCisgICAgOTk4MTgsIDk5ODIxLCA5OTgyOCwgOTk4MzQsIDk5ODM4LCA5OTg0MiwgOTk4NDYsIDk5ODUwLCA5OTg1NCwgOTk4NTgsIAorICAgIDk5ODYyLCA5OTg2NiwgOTk4NzAsIDk5ODc0LCA5OTg4MSwgOTk4ODUsIDk5ODkxLCA5OTg5NSwgOTk4OTksIDk5OTAzLCAKKyAgICA5OTkwOSwgOTk5MTYsIDk5OTIzLCA5OTkzMCwgOTk5NDEsIDk5OTQ5LCA5OTk1MywgOTk5NTksIDk5OTY4LCA5OTk3NSwgCisgICAgOTk5ODEsIDk5OTg0LCA5OTk4OCwgOTk5OTIsIDk5OTk4LCAxMDAwMDcsIDEwMDAxNSwgMTAwMDE5LCAxMDAwMjUsIAorICAgIDEwMDAyOSwgMTAwMDMzLCAxMDAwMzcsIDEwMDA0MywgMTAwMDUwLCAxMDAwNTYsIDEwMDA2MCwgMTAwMDY2LCAxMDAwNzAsIAorICAgIDEwMDA3NCwgMTAwMDgzLCAxMDAwOTUsIDEwMDA5OSwgMTAwMTA2LCAxMDAxMTMsIDEwMDEyMywgMTAwMTMwLCAxMDAxNDIsIAorICAgIDEwMDE0OSwgMTAwMTU2LCAxMDAxNjMsIDEwMDE3NCwgMTAwMTg0LCAxMDAxOTcsIDEwMDIwNywgMTAwMjE0LCAxMDAyMTgsIAorICAgIDEwMDIyMiwgMTAwMjI2LCAxMDAyMzAsIDEwMDIzOSwgMTAwMjQ4LCAxMDAyNTcsIDEwMDI3NCwgMTAwMjgzLCAxMDAyODksIAorICAgIDEwMDI5NiwgMTAwMzA0LCAxMDAzMTcsIDEwMDMyMSwgMTAwMzMwLCAxMDAzMzksIDEwMDM0OCwgMTAwMzU3LCAxMDAzNjgsIAorICAgIDEwMDM3NywgMTAwMzg2LCAxMDAzOTUsIDEwMDQwNCwgMTAwNDEzLCAxMDA0MjIsIDEwMDQzMiwgMTAwNDM1LCAxMDA0MzksIAorICAgIDEwMDQ0MywgMTAwNDQ3LCAxMDA0NTEsIDEwMDQ1NSwgMTAwNDYxLCAxMDA0NjgsIDEwMDQ3NSwgMTAwNDgyLCAxMDA0ODgsIAorICAgIDEwMDQ5NCwgMTAwNTAxLCAxMDA1MDcsIDEwMDUxNCwgMTAwNTIyLCAxMDA1MjYsIDEwMDUzMywgMTAwNTQwLCAxMDA1NDcsIAorICAgIDEwMDU1NSwgMTAwNTU4LCAxMDA1NjIsIDEwMDU2NiwgMTAwNTcwLCAxMDA1NzMsIDEwMDU3OSwgMTAwNTgzLCAxMDA1ODksIAorICAgIDEwMDU5NiwgMTAwNjAzLCAxMDA2MDksIDEwMDYxNiwgMTAwNjIzLCAxMDA2MzAsIDEwMDYzNywgMTAwNjQ0LCAxMDA2NTEsIAorICAgIDEwMDY1OCwgMTAwNjY1LCAxMDA2NzIsIDEwMDY3OSwgMTAwNjg2LCAxMDA2OTMsIDEwMDcwMCwgMTAwNzA3LCAxMDA3MTMsIAorICAgIDEwMDcxNywgMTAwNzI2LCAxMDA3MzAsIDEwMDczNCwgMTAwNzM4LCAxMDA3NDIsIDEwMDc0OCwgMTAwNzU1LCAxMDA3NjIsIAorICAgIDEwMDc2OSwgMTAwNzc2LCAxMDA3ODMsIDEwMDc4OSwgMTAwNzk3LCAxMDA4MDEsIDEwMDgwNSwgMTAwODA5LCAxMDA4MTMsIAorICAgIDEwMDgxOSwgMTAwODM2LCAxMDA4NTMsIDEwMDg1NywgMTAwODYxLCAxMDA4NjUsIDEwMDg2OSwgMTAwODczLCAxMDA4NzcsIAorICAgIDEwMDg4MywgMTAwODkwLCAxMDA4OTQsIDEwMDkwMCwgMTAwOTA3LCAxMDA5MTQsIDEwMDkyMSwgMTAwOTI4LCAxMDA5MzUsIAorICAgIDEwMDk0NCwgMTAwOTUxLCAxMDA5NTgsIDEwMDk2NSwgMTAwOTcyLCAxMDA5NzYsIDEwMDk4MCwgMTAwOTg2LCAxMDA5OTgsIAorICAgIDEwMTAwMiwgMTAxMDA2LCAxMDEwMTUsIDEwMTAxOSwgMTAxMDIzLCAxMDEwMjcsIDEwMTAzMywgMTAxMDM3LCAxMDEwNDEsIAorICAgIDEwMTA1MCwgMTAxMDU0LCAxMDEwNTgsIDEwMTA2MiwgMTAxMDY5LCAxMDEwNzMsIDEwMTA3NywgMTAxMDgxLCAxMDEwODUsIAorICAgIDEwMTA4OSwgMTAxMDkzLCAxMDEwOTcsIDEwMTEwMSwgMTAxMTA3LCAxMDExMTQsIDEwMTEyMSwgMTAxMTI3LCAxMDExMzEsIAorICAgIDEwMTE0OCwgMTAxMTU0LCAxMDExNTgsIDEwMTE2NCwgMTAxMTcwLCAxMDExNzYsIDEwMTE4MiwgMTAxMTg4LCAxMDExOTQsIAorICAgIDEwMTE5OCwgMTAxMjAyLCAxMDEyMDYsIDEwMTIxMiwgMTAxMjE2LCAxMDEyMjIsIDEwMTIyNiwgMTAxMjMwLCAxMDEyMzcsIAorICAgIDEwMTI0NCwgMTAxMjYxLCAxMDEyNjUsIDEwMTI2OSwgMTAxMjczLCAxMDEyNzcsIDEwMTI4MSwgMTAxMjkzLCAxMDEyOTYsIAorICAgIDEwMTMwMSwgMTAxMzA2LCAxMDEzMjEsIDEwMTMzMSwgMTAxMzQzLCAxMDEzNDcsIDEwMTM1MSwgMTAxMzU1LCAxMDEzNjEsIAorICAgIDEwMTM2OCwgMTAxMzc1LCAxMDEzODUsIDEwMTM5NywgMTAxNDAzLCAxMDE0MDksIDEwMTQxOCwgMTAxNDIyLCAxMDE0MjYsIAorICAgIDEwMTQzMywgMTAxNDQzLCAxMDE0NTAsIDEwMTQ1NiwgMTAxNDYwLCAxMDE0NjQsIDEwMTQ3MSwgMTAxNDc3LCAxMDE0ODEsIAorICAgIDEwMTQ4NywgMTAxNDkxLCAxMDE0OTksIDEwMTUwNSwgMTAxNTA5LCAxMDE1MTcsIDEwMTUyNSwgMTAxNTMyLCAxMDE1MzgsIAorICAgIDEwMTU0NSwgMTAxNTUyLCAxMDE1NjIsIDEwMTU3MiwgMTAxNTc2LCAxMDE1ODAsIDEwMTU4NCwgMTAxNTg4LCAxMDE1OTQsIAorICAgIDEwMTYwMSwgMTAxNjA3LCAxMDE2MTQsIDEwMTYyMSwgMTAxNjI4LCAxMDE2MzcsIDEwMTY0NCwgMTAxNjUxLCAxMDE2NTcsIAorICAgIDEwMTY2NCwgMTAxNjcxLCAxMDE2NzgsIDEwMTY4NSwgMTAxNjkyLCAxMDE2OTksIDEwMTcwNSwgMTAxNzEyLCAxMDE3MTksIAorICAgIDEwMTcyNiwgMTAxNzM1LCAxMDE3NDIsIDEwMTc0OSwgMTAxNzUzLCAxMDE3NTksIDEwMTc2MywgMTAxNzY5LCAxMDE3NzYsIAorICAgIDEwMTc4MywgMTAxNzkwLCAxMDE3OTQsIDEwMTc5OCwgMTAxODAyLCAxMDE4MDYsIDEwMTgxMCwgMTAxODE3LCAxMDE4MjEsIAorICAgIDEwMTgyNSwgMTAxODMxLCAxMDE4MzksIDEwMTg0MywgMTAxODQ3LCAxMDE4NTEsIDEwMTg1NSwgMTAxODYyLCAxMDE4NjYsIAorICAgIDEwMTg3MCwgMTAxODc4LCAxMDE4ODIsIDEwMTg4NiwgMTAxODkwLCAxMDE4OTQsIDEwMTkwMCwgMTAxOTA0LCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMDE5MDgsIDEwMTkxNCwgMTAxOTIwLCAxMDE5MjcsIAorICAgIDEwMTkzNCwgMTAxOTQxLCAxMDE5NDgsIDEwMTk1NSwgMTAxOTYyLCAxMDE5NjgsIDEwMTk3NSwgMTAxOTgyLCAxMDE5ODksIAorICAgIDEwMTk5NiwgMTAyMDAzLCAxMDIwMTAsIDEwMjAxNiwgMTAyMDIyLCAxMDIwMjgsIDEwMjAzNCwgMTAyMDQwLCAxMDIwNDYsIAorICAgIDEwMjA1MiwgMTAyMDU4LCAxMDIwNjQsIDEwMjA3MSwgMTAyMDc4LCAxMDIwODUsIDEwMjA5MiwgMTAyMDk5LCAxMDIxMDYsIAorICAgIDEwMjExMiwgMTAyMTE4LCAxMDIxMjQsIDEwMjEzMSwgMTAyMTM4LCAxMDIxNDQsIDEwMjE1MCwgMTAyMTU5LCAxMDIxNjYsIAorICAgIDEwMjE3MywgMTAyMTgwLCAxMDIxODcsIDEwMjE5NCwgMTAyMjAxLCAxMDIyMDcsIDEwMjIxMywgMTAyMjE5LCAxMDIyMjgsIAorICAgIDEwMjIzNSwgMTAyMjQyLCAxMDIyNTMsIDEwMjI2NCwgMTAyMjcwLCAxMDIyNzYsIDEwMjI4MiwgMTAyMjkxLCAxMDIyOTgsIAorICAgIDEwMjMwNSwgMTAyMzE1LCAxMDIzMjUsIDEwMjMzNiwgMTAyMzQ3LCAxMDIzNTksIDEwMjM3MiwgMTAyMzgzLCAxMDIzOTQsIAorICAgIDEwMjQwNiwgMTAyNDE5LCAxMDI0MzAsIDEwMjQ0MSwgMTAyNDUyLCAxMDI0NjMsIDEwMjQ3NCwgMTAyNDg2LCAxMDI0OTQsIAorICAgIDEwMjUwMiwgMTAyNTExLCAxMDI1MjAsIDEwMjUyOSwgMTAyNTM1LCAxMDI1NDEsIDEwMjU0NywgMTAyNTU0LCAxMDI1NjQsIAorICAgIDEwMjU3MSwgMTAyNTgxLCAxMDI1ODYsIDEwMjU5MSwgMTAyNTk3LCAxMDI2MDMsIDEwMjYxMSwgMTAyNjE5LCAxMDI2MjgsIAorICAgIDEwMjYzOSwgMTAyNjUwLCAxMDI2NTgsIDEwMjY2NiwgMTAyNjc1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAxMDI2ODQsIDEwMjY5NSwgMTAyNzAyLCAxMDI3MTAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDEwMjcxOCwgMTAyNzIyLCAxMDI3MjYsIDEwMjczMCwgMTAyNzM0LCAxMDI3MzgsIDEwMjc0MiwgMTAyNzQ2LCAxMDI3NTAsIAorICAgIDEwMjc1NCwgMTAyNzU4LCAxMDI3NjIsIDEwMjc2NiwgMTAyNzcwLCAxMDI3NzQsIDEwMjc3OCwgMTAyNzgyLCAxMDI3ODYsIAorICAgIDEwMjc5MCwgMTAyNzk0LCAxMDI3OTgsIDEwMjgwMiwgMTAyODA2LCAxMDI4MTAsIDEwMjgxNCwgMTAyODE4LCAxMDI4MjIsIAorICAgIDEwMjgyNiwgMTAyODMwLCAxMDI4MzQsIDEwMjgzOCwgMTAyODQyLCAxMDI4NDYsIDEwMjg1MCwgMTAyODU0LCAxMDI4NTgsIAorICAgIDEwMjg2MiwgMTAyODY2LCAxMDI4NzAsIDEwMjg3NCwgMTAyODc4LCAxMDI4ODIsIDEwMjg4NiwgMTAyODkwLCAxMDI4OTQsIAorICAgIDEwMjg5OCwgMTAyOTAyLCAxMDI5MDYsIDEwMjkxMCwgMTAyOTE0LCAxMDI5MTgsIDEwMjkyMiwgMTAyOTI2LCAxMDI5MzAsIAorICAgIDEwMjkzNCwgMTAyOTM4LCAxMDI5NDIsIDEwMjk0NiwgMTAyOTUwLCAxMDI5NTQsIDEwMjk1OCwgMTAyOTYyLCAxMDI5NjYsIAorICAgIDEwMjk3MCwgMTAyOTc0LCAxMDI5NzgsIDEwMjk4MiwgMTAyOTg2LCAxMDI5OTAsIDEwMjk5NCwgMTAyOTk4LCAxMDMwMDIsIAorICAgIDEwMzAwNiwgMTAzMDEwLCAxMDMwMTQsIDEwMzAxOCwgMTAzMDIyLCAxMDMwMjYsIDEwMzAzMCwgMTAzMDM0LCAxMDMwMzgsIAorICAgIDEwMzA0MiwgMTAzMDQ2LCAxMDMwNTAsIDEwMzA1NCwgMTAzMDU4LCAxMDMwNjIsIDEwMzA2NiwgMTAzMDcwLCAxMDMwNzQsIAorICAgIDEwMzA3OCwgMTAzMDgyLCAxMDMwODYsIDEwMzA5MCwgMTAzMDk0LCAxMDMwOTgsIDEwMzEwMiwgMTAzMTA2LCAxMDMxMTAsIAorICAgIDEwMzExNCwgMTAzMTE4LCAxMDMxMjIsIDEwMzEyNiwgMTAzMTMwLCAxMDMxMzQsIDEwMzEzOCwgMTAzMTQyLCAxMDMxNDYsIAorICAgIDEwMzE1MCwgMTAzMTU0LCAxMDMxNTgsIDEwMzE2MiwgMTAzMTY2LCAxMDMxNzAsIDEwMzE3NCwgMTAzMTc4LCAxMDMxODIsIAorICAgIDEwMzE4NiwgMTAzMTkwLCAxMDMxOTQsIDEwMzE5OCwgMTAzMjAyLCAxMDMyMDYsIDEwMzIxMCwgMTAzMjE0LCAxMDMyMTgsIAorICAgIDEwMzIyMiwgMTAzMjI2LCAxMDMyMzAsIDEwMzIzNCwgMTAzMjM4LCAxMDMyNDIsIDEwMzI0NiwgMTAzMjUwLCAxMDMyNTQsIAorICAgIDEwMzI1OCwgMTAzMjYyLCAxMDMyNjYsIDEwMzI3MCwgMTAzMjc0LCAxMDMyNzgsIDEwMzI4MiwgMTAzMjg2LCAxMDMyOTAsIAorICAgIDEwMzI5NCwgMTAzMjk4LCAxMDMzMDIsIDEwMzMwNiwgMTAzMzEwLCAxMDMzMTQsIDEwMzMxOCwgMTAzMzIyLCAxMDMzMjYsIAorICAgIDEwMzMzMCwgMTAzMzM0LCAxMDMzMzgsIDEwMzM0MiwgMTAzMzQ2LCAxMDMzNTAsIDEwMzM1NCwgMTAzMzU4LCAxMDMzNjIsIAorICAgIDEwMzM2NiwgMTAzMzcwLCAxMDMzNzQsIDEwMzM3OCwgMTAzMzgyLCAxMDMzODYsIDEwMzM5MCwgMTAzMzk0LCAxMDMzOTgsIAorICAgIDEwMzQwMiwgMTAzNDA2LCAxMDM0MTAsIDEwMzQxNCwgMTAzNDE4LCAxMDM0MjIsIDEwMzQyNiwgMTAzNDMwLCAxMDM0MzQsIAorICAgIDEwMzQzOCwgMTAzNDQyLCAxMDM0NDYsIDEwMzQ1MCwgMTAzNDU0LCAxMDM0NTgsIDEwMzQ2MiwgMTAzNDY2LCAxMDM0NzAsIAorICAgIDEwMzQ3NCwgMTAzNDc4LCAxMDM0ODIsIDEwMzQ4NiwgMTAzNDkwLCAxMDM0OTQsIDEwMzQ5OCwgMTAzNTAyLCAxMDM1MDYsIAorICAgIDEwMzUxMCwgMTAzNTE0LCAxMDM1MTgsIDEwMzUyMiwgMTAzNTI2LCAxMDM1MzAsIDEwMzUzNCwgMTAzNTM4LCAxMDM1NDIsIAorICAgIDEwMzU0NiwgMTAzNTUwLCAxMDM1NTQsIDEwMzU1OCwgMTAzNTYyLCAxMDM1NjYsIDEwMzU3MCwgMTAzNTc0LCAxMDM1NzgsIAorICAgIDEwMzU4MiwgMTAzNTg2LCAxMDM1OTAsIDEwMzU5NCwgMTAzNTk4LCAxMDM2MDIsIDEwMzYwNiwgMTAzNjEwLCAxMDM2MTQsIAorICAgIDEwMzYxOCwgMTAzNjIyLCAxMDM2MjYsIDEwMzYzMCwgMTAzNjM0LCAxMDM2MzgsIDEwMzY0MiwgMTAzNjQ2LCAxMDM2NTAsIAorICAgIDEwMzY1NCwgMTAzNjU4LCAxMDM2NjIsIDEwMzY2NiwgMTAzNjcwLCAxMDM2NzQsIDEwMzY3OCwgMTAzNjgyLCAxMDM2ODYsIAorICAgIDEwMzY5MCwgMTAzNjk0LCAxMDM2OTgsIDEwMzcwMiwgMTAzNzA2LCAxMDM3MTAsIDEwMzcxNCwgMTAzNzE4LCAxMDM3MjIsIAorICAgIDEwMzcyNiwgMTAzNzMwLCAxMDM3MzQsIDEwMzczOCwgMTAzNzQyLCAxMDM3NDYsIDEwMzc1MCwgMTAzNzU0LCAxMDM3NTgsIAorICAgIDEwMzc2MiwgMTAzNzY2LCAxMDM3NzAsIDEwMzc3NCwgMTAzNzc4LCAxMDM3ODIsIDEwMzc4NiwgMTAzNzkwLCAxMDM3OTQsIAorICAgIDEwMzc5OCwgMTAzODAyLCAxMDM4MDYsIDEwMzgxMCwgMTAzODE0LCAxMDM4MTgsIDEwMzgyMiwgMTAzODI2LCAxMDM4MzAsIAorICAgIDEwMzgzNCwgMTAzODM4LCAxMDM4NDIsIDEwMzg0NiwgMTAzODUwLCAxMDM4NTQsIDEwMzg1OCwgMTAzODYyLCAxMDM4NjYsIAorICAgIDEwMzg3MCwgMTAzODc0LCAxMDM4NzgsIDEwMzg4MiwgMTAzODg2LCAxMDM4OTAsIDEwMzg5NCwgMTAzODk4LCAxMDM5MDIsIAorICAgIDEwMzkwNiwgMTAzOTEwLCAxMDM5MTQsIDEwMzkxOCwgMTAzOTIyLCAxMDM5MjYsIDEwMzkzMCwgMTAzOTM0LCAxMDM5MzgsIAorICAgIDEwMzk0MiwgMTAzOTQ2LCAxMDM5NTAsIDEwMzk1NCwgMTAzOTU4LCAxMDM5NjIsIDEwMzk2NiwgMTAzOTcwLCAxMDM5NzQsIAorICAgIDEwMzk3OCwgMTAzOTgyLCAxMDM5ODYsIDEwMzk5MCwgMTAzOTk0LCAxMDM5OTgsIDEwNDAwMiwgMTA0MDA2LCAxMDQwMTAsIAorICAgIDEwNDAxNCwgMTA0MDE4LCAxMDQwMjIsIDEwNDAyNiwgMTA0MDMwLCAxMDQwMzQsIDEwNDAzOCwgMTA0MDQyLCAxMDQwNDYsIAorICAgIDEwNDA1MCwgMTA0MDU0LCAxMDQwNTgsIDEwNDA2MiwgMTA0MDY2LCAxMDQwNzAsIDEwNDA3NCwgMTA0MDc4LCAxMDQwODIsIAorICAgIDEwNDA4NiwgMTA0MDkwLCAxMDQwOTQsIDEwNDA5OCwgMTA0MTAyLCAxMDQxMDYsIDEwNDExMCwgMTA0MTE0LCAxMDQxMTgsIAorICAgIDEwNDEyMiwgMTA0MTI2LCAxMDQxMzAsIDEwNDEzNCwgMTA0MTM4LCAxMDQxNDIsIDEwNDE0NiwgMTA0MTUwLCAxMDQxNTQsIAorICAgIDEwNDE1OCwgMTA0MTYyLCAxMDQxNjYsIDEwNDE3MCwgMTA0MTc0LCAxMDQxNzgsIDEwNDE4MiwgMTA0MTg2LCAxMDQxOTAsIAorICAgIDEwNDE5NCwgMTA0MTk4LCAxMDQyMDIsIDEwNDIwNiwgMTA0MjEwLCAxMDQyMTQsIDEwNDIxOCwgMTA0MjIyLCAxMDQyMjYsIAorICAgIDEwNDIzMCwgMTA0MjM0LCAxMDQyMzgsIDEwNDI0MiwgMTA0MjQ2LCAxMDQyNTAsIDEwNDI1NCwgMTA0MjU4LCAxMDQyNjIsIAorICAgIDEwNDI2NiwgMTA0MjcwLCAxMDQyNzQsIDEwNDI3OCwgMTA0MjgyLCAxMDQyODYsIDEwNDI5MCwgMTA0Mjk0LCAxMDQyOTgsIAorICAgIDEwNDMwMiwgMTA0MzA2LCAxMDQzMTAsIDEwNDMxNCwgMTA0MzE4LCAxMDQzMjIsIDEwNDMyNiwgMTA0MzMwLCAxMDQzMzQsIAorICAgIDEwNDMzOCwgMTA0MzQyLCAxMDQzNDYsIDEwNDM1MCwgMTA0MzU0LCAxMDQzNTgsIDEwNDM2MiwgMTA0MzY2LCAxMDQzNzAsIAorICAgIDEwNDM3NCwgMTA0Mzc4LCAxMDQzODIsIDEwNDM4NiwgMTA0MzkwLCAxMDQzOTQsIDEwNDM5OCwgMTA0NDAyLCAxMDQ0MDYsIAorICAgIDEwNDQxMCwgMTA0NDE0LCAxMDQ0MTgsIDEwNDQyMiwgMTA0NDI2LCAxMDQ0MzAsIDEwNDQzNCwgMTA0NDM4LCAxMDQ0NDIsIAorICAgIDEwNDQ0NiwgMTA0NDUwLCAxMDQ0NTQsIDEwNDQ1OCwgMTA0NDYyLCAxMDQ0NjYsIDEwNDQ3MCwgMTA0NDc0LCAxMDQ0NzgsIAorICAgIDEwNDQ4MiwgMTA0NDg2LCAxMDQ0OTAsIDEwNDQ5NCwgMTA0NDk4LCAxMDQ1MDIsIDEwNDUwNiwgMTA0NTEwLCAxMDQ1MTQsIAorICAgIDEwNDUxOCwgMTA0NTIyLCAxMDQ1MjYsIDEwNDUzMCwgMTA0NTM0LCAxMDQ1MzgsIDEwNDU0MiwgMTA0NTQ2LCAxMDQ1NTAsIAorICAgIDEwNDU1NCwgMTA0NTU4LCAxMDQ1NjIsIDEwNDU2NiwgMTA0NTcwLCAxMDQ1NzQsIDEwNDU3OCwgMTA0NTgyLCAxMDQ1ODYsIAorICAgIDEwNDU5MCwgMTA0NTk0LCAxMDQ1OTgsIDEwNDYwMiwgMTA0NjA2LCAxMDQ2MTAsIDEwNDYxNCwgMTA0NjE4LCAxMDQ2MjIsIAorICAgIDEwNDYyNiwgMTA0NjMwLCAxMDQ2MzQsIDEwNDYzOCwgMTA0NjQyLCAxMDQ2NDYsIDEwNDY1MCwgMTA0NjU0LCAxMDQ2NTgsIAorICAgIDEwNDY2MiwgMTA0NjY2LCAxMDQ2NzAsIDEwNDY3NCwgMTA0Njc4LCAxMDQ2ODIsIDEwNDY4NiwgMTA0NjkwLCAxMDQ2OTQsIAorICAgIDEwNDY5OCwgMTA0NzAyLCAxMDQ3MDYsIDEwNDcxMCwgMTA0NzE0LCAxMDQ3MTgsIDEwNDcyMiwgMTA0NzI2LCAxMDQ3MzAsIAorICAgIDEwNDczNCwgMTA0NzM4LCAxMDQ3NDIsIDEwNDc0NiwgMTA0NzUwLCAxMDQ3NTQsIDEwNDc1OCwgMTA0NzYyLCAxMDQ3NjYsIAorICAgIDEwNDc3MCwgMTA0Nzc0LCAxMDQ3NzgsIDEwNDc4MiwgMTA0Nzg2LCAxMDQ3OTAsIDEwNDc5NCwgMTA0Nzk4LCAxMDQ4MDIsIAorICAgIDEwNDgwNiwgMTA0ODEwLCAxMDQ4MTQsIDEwNDgxOCwgMTA0ODIyLCAxMDQ4MjYsIDEwNDgzMCwgMTA0ODM0LCAxMDQ4MzgsIAorICAgIDEwNDg0MiwgMTA0ODQ2LCAxMDQ4NTAsIDEwNDg1NCwgMTA0ODU4LCAxMDQ4NjIsIDEwNDg2NiwgMTA0ODcwLCAxMDQ4NzQsIAorICAgIDEwNDg3OCwgMTA0ODgyLCAxMDQ4ODYsIDEwNDg5MCwgMTA0ODk0LCAxMDQ4OTgsIDEwNDkwMiwgMTA0OTA2LCAxMDQ5MTAsIAorICAgIDEwNDkxNCwgMTA0OTE4LCAxMDQ5MjIsIDEwNDkyNiwgMTA0OTMwLCAxMDQ5MzQsIDEwNDkzOCwgMTA0OTQyLCAxMDQ5NDYsIAorICAgIDEwNDk1MCwgMTA0OTU0LCAxMDQ5NTgsIDEwNDk2MiwgMTA0OTY2LCAxMDQ5NzAsIDEwNDk3NCwgMTA0OTc4LCAxMDQ5ODIsIAorICAgIDEwNDk4NiwgMTA0OTkwLCAxMDQ5OTQsIDEwNDk5OCwgMTA1MDAyLCAxMDUwMDYsIDEwNTAxMCwgMTA1MDE0LCAxMDUwMTgsIAorICAgIDEwNTAyMiwgMTA1MDI2LCAxMDUwMzAsIDEwNTAzNCwgMTA1MDM4LCAxMDUwNDIsIDEwNTA0NiwgMTA1MDUwLCAxMDUwNTQsIAorICAgIDEwNTA1OCwgMTA1MDYyLCAxMDUwNjYsIDEwNTA3MCwgMTA1MDc0LCAxMDUwNzgsIDEwNTA4MiwgMTA1MDg2LCAxMDUwOTAsIAorICAgIDEwNTA5NCwgMTA1MDk4LCAxMDUxMDIsIDEwNTEwNiwgMTA1MTEwLCAxMDUxMTQsIDEwNTExOCwgMTA1MTIyLCAxMDUxMjYsIAorICAgIDEwNTEzMCwgMTA1MTM0LCAxMDUxMzgsIDEwNTE0MiwgMTA1MTQ2LCAxMDUxNTAsIDEwNTE1NCwgMTA1MTU4LCAxMDUxNjIsIAorICAgIDEwNTE2NiwgMTA1MTcwLCAxMDUxNzQsIDEwNTE3OCwgMTA1MTgyLCAxMDUxODYsIDEwNTE5MCwgMTA1MTk0LCAxMDUxOTgsIAorICAgIDEwNTIwMiwgMTA1MjA2LCAxMDUyMTAsIDEwNTIxNCwgMTA1MjE4LCAxMDUyMjIsIDEwNTIyNiwgMTA1MjMwLCAxMDUyMzQsIAorICAgIDEwNTIzOCwgMTA1MjQyLCAxMDUyNDYsIDEwNTI1MCwgMTA1MjU0LCAxMDUyNTgsIDEwNTI2MiwgMTA1MjY2LCAxMDUyNzAsIAorICAgIDEwNTI3NCwgMTA1Mjc4LCAxMDUyODIsIDEwNTI4NiwgMTA1MjkwLCAxMDUyOTQsIDEwNTI5OCwgMTA1MzAyLCAxMDUzMDYsIAorICAgIDEwNTMxMCwgMTA1MzE0LCAxMDUzMTgsIDEwNTMyMiwgMTA1MzI2LCAxMDUzMzAsIDEwNTMzNCwgMTA1MzM4LCAxMDUzNDIsIAorICAgIDEwNTM0NiwgMTA1MzUwLCAxMDUzNTQsIDEwNTM1OCwgMTA1MzYyLCAxMDUzNjYsIDEwNTM3MCwgMTA1Mzc0LCAxMDUzNzgsIAorICAgIDEwNTM4MiwgMTA1Mzg2LCAxMDUzOTAsIDEwNTM5NCwgMTA1Mzk4LCAxMDU0MDIsIDEwNTQwNiwgMTA1NDEwLCAxMDU0MTQsIAorICAgIDEwNTQxOCwgMTA1NDIyLCAxMDU0MjYsIDEwNTQzMCwgMTA1NDM0LCAxMDU0MzgsIDEwNTQ0MiwgMTA1NDQ2LCAxMDU0NTAsIAorICAgIDEwNTQ1NCwgMTA1NDU4LCAxMDU0NjIsIDEwNTQ2NiwgMTA1NDcwLCAxMDU0NzQsIDEwNTQ3OCwgMTA1NDgyLCAxMDU0ODYsIAorICAgIDEwNTQ5MCwgMTA1NDk0LCAxMDU0OTgsIDEwNTUwMiwgMTA1NTA2LCAxMDU1MTAsIDEwNTUxNCwgMTA1NTE4LCAxMDU1MjIsIAorICAgIDEwNTUyNiwgMTA1NTMwLCAxMDU1MzQsIDEwNTUzOCwgMTA1NTQyLCAxMDU1NDYsIDEwNTU1MCwgMTA1NTU0LCAxMDU1NTgsIAorICAgIDEwNTU2MiwgMTA1NTY2LCAxMDU1NzAsIDEwNTU3NCwgMTA1NTc4LCAxMDU1ODIsIDEwNTU4NiwgMTA1NTkwLCAxMDU1OTQsIAorICAgIDEwNTU5OCwgMTA1NjAyLCAxMDU2MDYsIDEwNTYxMCwgMTA1NjE0LCAxMDU2MTgsIDEwNTYyMiwgMTA1NjI2LCAxMDU2MzAsIAorICAgIDEwNTYzNCwgMTA1NjM4LCAxMDU2NDIsIDEwNTY0NiwgMTA1NjUwLCAxMDU2NTQsIDEwNTY1OCwgMTA1NjYyLCAxMDU2NjYsIAorICAgIDEwNTY3MCwgMTA1Njc0LCAxMDU2NzgsIDEwNTY4MiwgMTA1Njg2LCAxMDU2OTAsIDEwNTY5NCwgMTA1Njk4LCAxMDU3MDIsIAorICAgIDEwNTcwNiwgMTA1NzEwLCAxMDU3MTQsIDEwNTcxOCwgMTA1NzIyLCAxMDU3MjYsIDEwNTczMCwgMTA1NzM0LCAxMDU3MzgsIAorICAgIDEwNTc0MiwgMTA1NzQ2LCAxMDU3NTAsIDEwNTc1NCwgMTA1NzU4LCAxMDU3NjIsIDEwNTc2NiwgMTA1NzcwLCAxMDU3NzQsIAorICAgIDEwNTc3OCwgMTA1NzgyLCAxMDU3ODYsIDEwNTc5MCwgMTA1Nzk0LCAxMDU3OTgsIDEwNTgwMiwgMTA1ODA2LCAxMDU4MTAsIAorICAgIDEwNTgxNCwgMTA1ODE4LCAxMDU4MjIsIDEwNTgyNiwgMTA1ODMwLCAxMDU4MzQsIDEwNTgzOCwgMTA1ODQyLCAxMDU4NDYsIAorICAgIDEwNTg1MCwgMTA1ODU0LCAxMDU4NTgsIDEwNTg2MiwgMTA1ODY2LCAxMDU4NzAsIDEwNTg3NCwgMTA1ODc4LCAxMDU4ODIsIAorICAgIDEwNTg4NiwgMTA1ODkwLCAxMDU4OTQsIDEwNTg5OCwgMTA1OTAyLCAxMDU5MDYsIDEwNTkxMCwgMTA1OTE0LCAxMDU5MTgsIAorICAgIDEwNTkyMiwgMTA1OTI2LCAxMDU5MzAsIDEwNTkzNCwgMTA1OTM4LCAxMDU5NDIsIDEwNTk0NiwgMTA1OTUwLCAxMDU5NTQsIAorICAgIDEwNTk1OCwgMTA1OTYyLCAxMDU5NjYsIDEwNTk3MCwgMTA1OTc0LCAxMDU5NzgsIDEwNTk4MiwgMTA1OTg2LCAxMDU5OTAsIAorICAgIDEwNTk5NCwgMTA1OTk4LCAxMDYwMDIsIDEwNjAwNiwgMTA2MDEwLCAxMDYwMTQsIDEwNjAxOCwgMTA2MDIyLCAxMDYwMjYsIAorICAgIDEwNjAzMCwgMTA2MDM0LCAxMDYwMzgsIDEwNjA0MiwgMTA2MDQ2LCAxMDYwNTAsIDEwNjA1NCwgMTA2MDU4LCAxMDYwNjIsIAorICAgIDEwNjA2NiwgMTA2MDcwLCAxMDYwNzQsIDEwNjA3OCwgMTA2MDgyLCAxMDYwODYsIDEwNjA5MCwgMTA2MDk0LCAxMDYwOTgsIAorICAgIDEwNjEwMiwgMTA2MTA2LCAxMDYxMTAsIDEwNjExNCwgMTA2MTE4LCAxMDYxMjIsIDEwNjEyNiwgMTA2MTMwLCAxMDYxMzQsIAorICAgIDEwNjEzOCwgMTA2MTQyLCAxMDYxNDYsIDEwNjE1MCwgMTA2MTU0LCAxMDYxNTgsIDEwNjE2MiwgMTA2MTY2LCAxMDYxNzAsIAorICAgIDEwNjE3NCwgMTA2MTc4LCAxMDYxODIsIDEwNjE4NiwgMTA2MTkwLCAxMDYxOTQsIDEwNjE5OCwgMTA2MjAyLCAxMDYyMDYsIAorICAgIDEwNjIxMCwgMTA2MjE0LCAxMDYyMTgsIDEwNjIyMiwgMTA2MjI2LCAxMDYyMzAsIDEwNjIzNCwgMTA2MjM4LCAxMDYyNDIsIAorICAgIDEwNjI0NiwgMTA2MjUwLCAxMDYyNTQsIDEwNjI1OCwgMTA2MjYyLCAxMDYyNjYsIDEwNjI3MCwgMTA2Mjc0LCAxMDYyNzgsIAorICAgIDEwNjI4MiwgMTA2Mjg2LCAxMDYyOTAsIDEwNjI5NCwgMTA2Mjk4LCAxMDYzMDIsIDEwNjMwNiwgMTA2MzEwLCAxMDYzMTQsIAorICAgIDEwNjMxOCwgMTA2MzIyLCAxMDYzMjYsIDEwNjMzMCwgMTA2MzM0LCAxMDYzMzgsIDEwNjM0MiwgMTA2MzQ2LCAxMDYzNTAsIAorICAgIDEwNjM1NCwgMTA2MzU4LCAxMDYzNjIsIDEwNjM2NiwgMTA2MzcwLCAxMDYzNzQsIDEwNjM3OCwgMTA2MzgyLCAxMDYzODYsIAorICAgIDEwNjM5MCwgMTA2Mzk0LCAxMDYzOTgsIDEwNjQwMiwgMTA2NDA2LCAxMDY0MTAsIDEwNjQxNCwgMTA2NDE4LCAxMDY0MjIsIAorICAgIDEwNjQyNiwgMTA2NDMwLCAxMDY0MzQsIDEwNjQzOCwgMTA2NDQyLCAxMDY0NDYsIDEwNjQ1MCwgMTA2NDU0LCAxMDY0NTgsIAorICAgIDEwNjQ2MiwgMTA2NDY2LCAxMDY0NzAsIDEwNjQ3NCwgMTA2NDc4LCAxMDY0ODIsIDEwNjQ4NiwgMTA2NDkwLCAxMDY0OTQsIAorICAgIDEwNjQ5OCwgMTA2NTAyLCAxMDY1MDYsIDEwNjUxMCwgMTA2NTE0LCAxMDY1MTgsIDEwNjUyMiwgMTA2NTI2LCAxMDY1MzAsIAorICAgIDEwNjUzNCwgMTA2NTM4LCAxMDY1NDIsIDEwNjU0NiwgMTA2NTUwLCAxMDY1NTQsIDEwNjU1OCwgMTA2NTYyLCAxMDY1NjYsIAorICAgIDEwNjU3MCwgMTA2NTc0LCAxMDY1NzgsIDEwNjU4MiwgMTA2NTg2LCAxMDY1OTAsIDEwNjU5NCwgMTA2NTk4LCAxMDY2MDIsIAorICAgIDEwNjYwNiwgMTA2NjEwLCAxMDY2MTQsIDEwNjYxOCwgMTA2NjIyLCAxMDY2MjYsIDEwNjYzMCwgMTA2NjM0LCAxMDY2MzgsIAorICAgIDEwNjY0MiwgMTA2NjQ2LCAxMDY2NTAsIDEwNjY1NCwgMTA2NjU4LCAxMDY2NjIsIDEwNjY2NiwgMTA2NjcwLCAxMDY2NzQsIAorICAgIDEwNjY3OCwgMTA2NjgyLCAxMDY2ODYsIDEwNjY5MCwgMTA2Njk0LCAxMDY2OTgsIDEwNjcwMiwgMTA2NzA2LCAxMDY3MTAsIAorICAgIDEwNjcxNCwgMTA2NzE4LCAxMDY3MjIsIDEwNjcyNiwgMTA2NzMwLCAxMDY3MzQsIDEwNjczOCwgMTA2NzQyLCAxMDY3NDYsIAorICAgIDEwNjc1MCwgMTA2NzU0LCAxMDY3NTgsIDEwNjc2MiwgMTA2NzY2LCAxMDY3NzAsIDEwNjc3NCwgMTA2Nzc4LCAxMDY3ODIsIAorICAgIDEwNjc4NiwgMTA2NzkwLCAxMDY3OTQsIDEwNjc5OCwgMTA2ODAyLCAxMDY4MDYsIDEwNjgxMCwgMTA2ODE0LCAxMDY4MTgsIAorICAgIDEwNjgyMiwgMTA2ODI2LCAxMDY4MzAsIDEwNjgzNCwgMTA2ODM4LCAxMDY4NDIsIDEwNjg0NiwgMTA2ODUwLCAxMDY4NTQsIAorICAgIDEwNjg1OCwgMTA2ODYyLCAxMDY4NjYsIDEwNjg3MCwgMTA2ODc0LCAxMDY4NzgsIDEwNjg4MiwgMTA2ODg2LCAxMDY4OTAsIAorICAgIDEwNjg5NCwgMTA2ODk4LCAxMDY5MDIsIDEwNjkwNiwgMTA2OTEwLCAxMDY5MTQsIDEwNjkxOCwgMTA2OTIyLCAxMDY5MjYsIAorICAgIDEwNjkzMCwgMTA2OTM0LCAxMDY5MzgsIDEwNjk0MiwgMTA2OTQ2LCAxMDY5NTAsIDEwNjk1NCwgMTA2OTU4LCAxMDY5NjIsIAorICAgIDEwNjk2NiwgMTA2OTcwLCAxMDY5NzQsIDEwNjk3OCwgMTA2OTgyLCAxMDY5ODYsIDEwNjk5MCwgMTA2OTk0LCAxMDY5OTgsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDEwNDQwOCwgMTA0NDE1LCAxMDQ0MjIsIDEwNDQzMSwgMTA0NDQwLCAxMDQ0NDcsIDEwNDQ1MiwgMTA0NDU5LCAKLSAgICAxMDQ0NjYsIDEwNDQ3NSwgMTA0NDg2LCAxMDQ0OTcsIDEwNDUwMiwgMTA0NTA5LCAxMDQ1MTQsIDEwNDUxOSwgMTA0NTI0LCAKLSAgICAxMDQ1MjksIDEwNDUzNCwgMTA0NTM5LCAxMDQ1NDQsIDEwNDU0OSwgMTA0NTU0LCAxMDQ1NTksIDEwNDU2NCwgMTA0NTcxLCAKLSAgICAxMDQ1NzgsIDEwNDU4MywgMTA0NTg4LCAxMDQ1OTMsIDEwNDU5OCwgMTA0NjA1LCAxMDQ2MTIsIDEwNDYyMCwgMTA0NjI1LCAKLSAgICAxMDQ2MzIsIDEwNDYzNywgMTA0NjQyLCAxMDQ2NDcsIDEwNDY1MiwgMTA0NjU3LCAxMDQ2NjQsIDEwNDY3MSwgMTA0Njc2LCAKLSAgICAxMDQ2ODEsIDEwNDY4NiwgMTA0NjkxLCAxMDQ2OTYsIDEwNDcwMSwgMTA0NzA2LCAxMDQ3MTEsIDEwNDcxNiwgMTA0NzIxLCAKLSAgICAxMDQ3MjYsIDEwNDczMSwgMTA0NzM2LCAxMDQ3NDEsIDEwNDc0NiwgMTA0NzUxLCAxMDQ3NTYsIDEwNDc2MSwgMTA0NzY2LCAKLSAgICAxMDQ3NzMsIDEwNDc3OCwgMTA0NzgzLCAxMDQ3OTIsIDEwNDc5OSwgMTA0ODA0LCAxMDQ4MDksIDEwNDgxNCwgMTA0ODE5LCAKLSAgICAxMDQ4MjQsIDEwNDgyOSwgMTA0ODM0LCAxMDQ4MzksIDEwNDg0NCwgMTA0ODQ5LCAxMDQ4NTQsIDEwNDg1OSwgMTA0ODY0LCAKLSAgICAxMDQ4NjksIDEwNDg3NCwgMTA0ODc5LCAxMDQ4ODQsIDEwNDg4OSwgMTA0ODk0LCAxMDQ4OTksIDEwNDkwNCwgMTA0OTEwLCAKLSAgICAxMDQ5MTgsIDEwNDkyNCwgMTA0OTMyLCAxMDQ5NDAsIDEwNDk0OCwgMTA0OTU0LCAxMDQ5NjAsIDEwNDk2NiwgMTA0OTcyLCAKLSAgICAxMDQ5NzgsIDEwNDk4NiwgMTA0OTk2LCAxMDUwMDQsIDEwNTAxMiwgMTA1MDE4LCAxMDUwMjQsIDEwNTAzMiwgMTA1MDQwLCAKLSAgICAxMDUwNDYsIDEwNTA1NCwgMTA1MDYyLCAxMDUwNzAsIDEwNTA3NiwgMTA1MDgyLCAxMDUwODgsIDEwNTA5NCwgMTA1MTAwLCAKLSAgICAxMDUxMDYsIDEwNTExNCwgMTA1MTIyLCAxMDUxMjgsIDEwNTEzNCwgMTA1MTQwLCAxMDUxNDYsIDEwNTE1MiwgMTA1MTYwLCAKLSAgICAxMDUxNjYsIDEwNTE3MiwgMTA1MTc4LCAxMDUxODQsIDEwNTE5MCwgMTA1MTk2LCAxMDUyMDQsIDEwNTIxMCwgMTA1MjE2LCAKLSAgICAxMDUyMjIsIDEwNTIyOCwgMTA1MjM2LCAxMDUyNDQsIDEwNTI1MCwgMTA1MjU2LCAxMDUyNjIsIDEwNTI2NywgMTA1MjczLCAKLSAgICAxMDUyNzksIDEwNTI4NiwgMTA1MjkxLCAxMDUyOTYsIDEwNTMwMSwgMTA1MzA2LCAxMDUzMTEsIDEwNTMxNiwgMTA1MzIxLCAKLSAgICAxMDUzMjYsIDEwNTMzMSwgMTA1MzQwLCAxMDUzNDcsIDEwNTM1MiwgMTA1MzU3LCAxMDUzNjIsIDEwNTM2OSwgMTA1Mzc0LCAKLSAgICAxMDUzNzksIDEwNTM4NCwgMTA1MzkxLCAxMDUzOTYsIDEwNTQwMSwgMTA1NDA2LCAxMDU0MTEsIDEwNTQxNiwgMTA1NDIxLCAKLSAgICAxMDU0MjYsIDEwNTQzMSwgMTA1NDM2LCAxMDU0NDEsIDEwNTQ0NiwgMTA1NDUzLCAxMDU0NTgsIDEwNTQ2NSwgMTA1NDcwLCAKLSAgICAxMDU0NzUsIDEwNTQ4MiwgMTA1NDg3LCAxMDU0OTIsIDEwNTQ5NywgMTA1NTAyLCAxMDU1MDcsIDEwNTUxMiwgMTA1NTE3LCAKLSAgICAxMDU1MjIsIDEwNTUyNywgMTA1NTMyLCAxMDU1MzcsIDEwNTU0MiwgMTA1NTQ3LCAxMDU1NTIsIDEwNTU1NywgMTA1NTYyLCAKLSAgICAxMDU1NjcsIDEwNTU3MiwgMTA1NTc3LCAxMDU1ODQsIDEwNTU4OSwgMTA1NTk0LCAxMDU1OTksIDEwNTYwNCwgMTA1NjA5LCAKLSAgICAxMDU2MTQsIDEwNTYxOSwgMTA1NjI0LCAxMDU2MjksIDEwNTYzNCwgMTA1NjM5LCAxMDU2NDQsIDEwNTY0OSwgMTA1NjU2LCAKLSAgICAxMDU2NjEsIDEwNTY2NiwgMTA1NjczLCAxMDU2NzgsIDEwNTY4MywgMTA1Njg4LCAxMDU2OTMsIDEwNTY5OCwgMTA1NzAzLCAKLSAgICAxMDU3MDgsIDEwNTcxMywgMTA1NzE4LCAxMDU3MjMsIDEwNTczMCwgMTA1NzM1LCAxMDU3NDAsIDEwNTc0NSwgMTA1NzUwLCAKLSAgICAxMDU3NTUsIDEwNTc2MiwgMTA1NzY5LCAxMDU3NzQsIDEwNTc3OSwgMTA1Nzg0LCAxMDU3ODksIDEwNTc5NCwgMTA1Nzk5LCAKLSAgICAxMDU4MDQsIDEwNTgwOSwgMTA1ODE0LCAxMDU4MTksIDEwNTgyNCwgMTA1ODI5LCAxMDU4MzQsIDEwNTgzOSwgMTA1ODQ0LCAKLSAgICAxMDU4NDksIDEwNTg1NCwgMTA1ODU5LCAxMDU4NjQsIDEwNTg2OSwgMTA1ODc0LCAxMDU4NzksIDEwNTg4NCwgMTA1ODg5LCAKLSAgICAxMDU4OTQsIDEwNTg5OSwgMTA1OTA0LCAxMDU5MDksIDEwNTkxNCwgMTA1OTE5LCAxMDU5MjQsIDEwNTkyOSwgMTA1OTM0LCAKLSAgICAxMDU5MzksIDEwNTk0NCwgMTA1OTQ5LCAxMDU5NTYsIDEwNTk2MSwgMTA1OTY2LCAxMDU5NzEsIDEwNTk3NiwgMTA1OTgxLCAKLSAgICAxMDU5ODYsIDEwNTk5MSwgMTA1OTk2LCAxMDYwMDEsIDEwNjAwNiwgMTA2MDExLCAxMDYwMTYsIDEwNjAyMSwgMTA2MDI2LCAKLSAgICAxMDYwMzEsIDEwNjAzNiwgMTA2MDQxLCAxMDYwNDYsIDEwNjA1MSwgMTA2MDU2LCAxMDYwNjEsIDEwNjA2NiwgMTA2MDcxLCAKLSAgICAxMDYwNzYsIDEwNjA4MSwgMTA2MDg2LCAxMDYwOTEsIDEwNjA5NiwgMTA2MTAxLCAxMDYxMDYsIDEwNjExMSwgMTA2MTE2LCAKLSAgICAxMDYxMjEsIDEwNjEyNiwgMTA2MTMxLCAxMDYxMzYsIDEwNjE0MSwgMTA2MTQ2LCAxMDYxNTEsIDEwNjE1NiwgMTA2MTYxLCAKLSAgICAxMDYxNjYsIDEwNjE3MSwgMTA2MTc2LCAxMDYxODEsIDEwNjE4NiwgMTA2MTkxLCAxMDYxOTYsIDEwNjIwMSwgMTA2MjA2LCAKLSAgICAxMDYyMTEsIDEwNjIxNiwgMTA2MjIxLCAxMDYyMjYsIDEwNjIzMSwgMTA2MjM2LCAxMDYyNDEsIDEwNjI0NiwgMTA2MjUzLCAKLSAgICAxMDYyNTgsIDEwNjI2MywgMTA2MjY4LCAxMDYyNzMsIDEwNjI3OCwgMTA2MjgzLCAxMDYyODcsIDEwNjI5MiwgMTA2Mjk3LCAKLSAgICAxMDYzMDIsIDEwNjMwNywgMTA2MzEyLCAxMDYzMTcsIDEwNjMyMiwgMTA2MzI3LCAxMDYzMzIsIDEwNjMzNywgMTA2MzQyLCAKLSAgICAxMDYzNDcsIDEwNjM1MiwgMTA2MzU3LCAxMDYzNjQsIDEwNjM2OSwgMTA2Mzc0LCAxMDYzODAsIDEwNjM4NSwgMTA2MzkwLCAKLSAgICAxMDYzOTUsIDEwNjQwMCwgMTA2NDA1LCAxMDY0MTAsIDEwNjQxNSwgMTA2NDIwLCAxMDY0MjUsIDEwNjQzMCwgMTA2NDM1LCAKLSAgICAxMDY0NDAsIDEwNjQ0NSwgMTA2NDUwLCAxMDY0NTUsIDEwNjQ2MCwgMTA2NDY1LCAxMDY0NzAsIDEwNjQ3NSwgMTA2NDgwLCAKLSAgICAxMDY0ODUsIDEwNjQ5MCwgMTA2NDk1LCAxMDY1MDAsIDEwNjUwNSwgMTA2NTEwLCAxMDY1MTUsIDEwNjUyMCwgMTA2NTI1LCAKLSAgICAxMDY1MzAsIDEwNjUzNSwgMTA2NTQwLCAxMDY1NDUsIDEwNjU1MCwgMTA2NTU1LCAxMDY1NjAsIDEwNjU2NSwgMTA2NTcwLCAKLSAgICAxMDY1NzUsIDEwNjU4MCwgMTA2NTg1LCAxMDY1OTAsIDEwNjU5NSwgMTA2NjAyLCAxMDY2MDcsIDEwNjYxMiwgMTA2NjE5LCAKLSAgICAxMDY2MjYsIDEwNjYzMSwgMTA2NjM2LCAxMDY2NDEsIDEwNjY0NiwgMTA2NjUxLCAxMDY2NTYsIDEwNjY2MSwgMTA2NjY2LCAKLSAgICAxMDY2NzEsIDEwNjY3NiwgMTA2NjgxLCAxMDY2ODYsIDEwNjY5MSwgMTA2Njk2LCAxMDY3MDEsIDEwNjcwNiwgMTA2NzExLCAKLSAgICAxMDY3MTYsIDEwNjcyMSwgMTA2NzI2LCAxMDY3MzEsIDEwNjczNiwgMTA2NzQxLCAxMDY3NDYsIDEwNjc1MSwgMTA2NzU4LCAKLSAgICAxMDY3NjMsIDEwNjc2OCwgMTA2NzczLCAxMDY3NzgsIDEwNjc4MywgMTA2Nzg4LCAxMDY3OTMsIDEwNjc5OCwgMTA2ODAzLCAKLSAgICAxMDY4MDgsIDEwNjgxMywgMTA2ODE4LCAxMDY4MjMsIDEwNjgyOCwgMTA2ODMzLCAxMDY4MzgsIDEwNjg0MywgMTA2ODQ4LCAKLSAgICAxMDY4NTUsIDEwNjg2MCwgMTA2ODY1LCAxMDY4NzAsIDEwNjg3NSwgMTA2ODgwLCAxMDY4ODUsIDEwNjg5MCwgMTA2ODk2LCAKLSAgICAxMDY5MDEsIDEwNjkwNiwgMTA2OTExLCAxMDY5MTYsIDEwNjkyMSwgMTA2OTI2LCAxMDY5MzEsIDEwNjkzNiwgMTA2OTQzLCAKLSAgICAxMDY5NTAsIDEwNjk1NSwgMTA2OTYwLCAxMDY5NjQsIDEwNjk2OSwgMTA2OTczLCAxMDY5NzcsIDEwNjk4MiwgMTA2OTg5LCAKLSAgICAxMDY5OTQsIDEwNjk5OSwgMTA3MDA4LCAxMDcwMTMsIDEwNzAxOCwgMTA3MDIzLCAxMDcwMjgsIDEwNzAzNSwgMTA3MDQyLCAKLSAgICAxMDcwNDcsIDEwNzA1MiwgMTA3MDU3LCAxMDcwNjIsIDEwNzA2OSwgMTA3MDc0LCAxMDcwNzksIDEwNzA4NCwgMTA3MDg5LCAKLSAgICAxMDcwOTQsIDEwNzA5OSwgMTA3MTA0LCAxMDcxMDksIDEwNzExNCwgMTA3MTE5LCAxMDcxMjQsIDEwNzEyOSwgMTA3MTM2LCAKLSAgICAxMDcxNDAsIDEwNzE0NSwgMTA3MTUwLCAxMDcxNTUsIDEwNzE2MCwgMTA3MTY0LCAxMDcxNjksIDEwNzE3NCwgMTA3MTc5LCAKLSAgICAxMDcxODQsIDEwNzE4OSwgMTA3MTk0LCAxMDcxOTksIDEwNzIwNCwgMTA3MjA5LCAxMDcyMTUsIDEwNzIyMSwgMTA3MjI3LCAKLSAgICAxMDcyMzMsIDEwNzIzOSwgMTA3MjQ1LCAxMDcyNTEsIDEwNzI1NywgMTA3MjYzLCAxMDcyNjksIDEwNzI3NSwgMTA3MjgxLCAKLSAgICAxMDcyODYsIDEwNzI5MiwgMTA3Mjk4LCAxMDczMDQsIDEwNzMxMCwgMTA3MzE2LCAxMDczMjIsIDEwNzMyOCwgMTA3MzM0LCAKLSAgICAxMDczNDAsIDEwNzM0NiwgMTA3MzUyLCAxMDczNTcsIDEwNzM2MywgMTA3MzY5LCAxMDczNzUsIDEwNzM4MSwgMTA3Mzg3LCAKLSAgICAxMDczOTMsIDEwNzM5OSwgMTA3NDA1LCAxMDc0MTEsIDEwNzQxNywgMTA3NDIzLCAxMDc0MjksIDEwNzQzNSwgMTA3NDQxLCAKLSAgICAxMDc0NDcsIDEwNzQ1MywgMTA3NDU5LCAxMDc0NjUsIDEwNzQ3MSwgMTA3NDc3LCAxMDc0ODIsIDEwNzQ4OCwgMTA3NDk0LCAKLSAgICAxMDc1MDAsIDEwNzUwNiwgMTA3NTEyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMDcwMDIsIDEwNzAwOSwgMTA3MDE2LCAxMDcwMjUsIDEwNzAzNCwgCisgICAgMTA3MDQxLCAxMDcwNDYsIDEwNzA1MywgMTA3MDYwLCAxMDcwNjksIDEwNzA4MCwgMTA3MDkxLCAxMDcwOTYsIDEwNzEwMywgCisgICAgMTA3MTA4LCAxMDcxMTMsIDEwNzExOCwgMTA3MTIzLCAxMDcxMjgsIDEwNzEzMywgMTA3MTM4LCAxMDcxNDMsIDEwNzE0OCwgCisgICAgMTA3MTUzLCAxMDcxNTgsIDEwNzE2NSwgMTA3MTcyLCAxMDcxNzcsIDEwNzE4MiwgMTA3MTg3LCAxMDcxOTIsIDEwNzE5OSwgCisgICAgMTA3MjA2LCAxMDcyMTQsIDEwNzIxOSwgMTA3MjI2LCAxMDcyMzEsIDEwNzIzNiwgMTA3MjQxLCAxMDcyNDYsIDEwNzI1MSwgCisgICAgMTA3MjU4LCAxMDcyNjUsIDEwNzI3MCwgMTA3Mjc1LCAxMDcyODAsIDEwNzI4NSwgMTA3MjkwLCAxMDcyOTUsIDEwNzMwMCwgCisgICAgMTA3MzA1LCAxMDczMTAsIDEwNzMxNSwgMTA3MzIwLCAxMDczMjUsIDEwNzMzMCwgMTA3MzM1LCAxMDczNDAsIDEwNzM0NSwgCisgICAgMTA3MzUwLCAxMDczNTUsIDEwNzM2MCwgMTA3MzY3LCAxMDczNzIsIDEwNzM3NywgMTA3Mzg2LCAxMDczOTMsIDEwNzM5OCwgCisgICAgMTA3NDAzLCAxMDc0MDgsIDEwNzQxMywgMTA3NDE4LCAxMDc0MjMsIDEwNzQyOCwgMTA3NDMzLCAxMDc0MzgsIDEwNzQ0MywgCisgICAgMTA3NDQ4LCAxMDc0NTMsIDEwNzQ1OCwgMTA3NDYzLCAxMDc0NjgsIDEwNzQ3MywgMTA3NDc4LCAxMDc0ODMsIDEwNzQ4OCwgCisgICAgMTA3NDkzLCAxMDc0OTgsIDEwNzUwNCwgMTA3NTEyLCAxMDc1MTgsIDEwNzUyNiwgMTA3NTM0LCAxMDc1NDIsIDEwNzU0OCwgCisgICAgMTA3NTU0LCAxMDc1NjAsIDEwNzU2NiwgMTA3NTcyLCAxMDc1ODAsIDEwNzU5MCwgMTA3NTk4LCAxMDc2MDYsIDEwNzYxMiwgCisgICAgMTA3NjE4LCAxMDc2MjYsIDEwNzYzNCwgMTA3NjQwLCAxMDc2NDgsIDEwNzY1NiwgMTA3NjY0LCAxMDc2NzAsIDEwNzY3NiwgCisgICAgMTA3NjgyLCAxMDc2ODgsIDEwNzY5NCwgMTA3NzAwLCAxMDc3MDgsIDEwNzcxNiwgMTA3NzIyLCAxMDc3MjgsIDEwNzczNCwgCisgICAgMTA3NzQwLCAxMDc3NDYsIDEwNzc1NCwgMTA3NzYwLCAxMDc3NjYsIDEwNzc3MiwgMTA3Nzc4LCAxMDc3ODQsIDEwNzc5MCwgCisgICAgMTA3Nzk4LCAxMDc4MDQsIDEwNzgxMCwgMTA3ODE2LCAxMDc4MjIsIDEwNzgzMCwgMTA3ODM4LCAxMDc4NDQsIDEwNzg1MCwgCisgICAgMTA3ODU2LCAxMDc4NjEsIDEwNzg2NywgMTA3ODczLCAxMDc4ODAsIDEwNzg4NSwgMTA3ODkwLCAxMDc4OTUsIDEwNzkwMCwgCisgICAgMTA3OTA1LCAxMDc5MTAsIDEwNzkxNSwgMTA3OTIwLCAxMDc5MjUsIDEwNzkzNCwgMTA3OTQxLCAxMDc5NDYsIDEwNzk1MSwgCisgICAgMTA3OTU2LCAxMDc5NjMsIDEwNzk2OCwgMTA3OTczLCAxMDc5NzgsIDEwNzk4NSwgMTA3OTkwLCAxMDc5OTUsIDEwODAwMCwgCisgICAgMTA4MDA1LCAxMDgwMTAsIDEwODAxNSwgMTA4MDIwLCAxMDgwMjUsIDEwODAzMCwgMTA4MDM1LCAxMDgwNDAsIDEwODA0NywgCisgICAgMTA4MDUyLCAxMDgwNTksIDEwODA2NCwgMTA4MDY5LCAxMDgwNzYsIDEwODA4MSwgMTA4MDg2LCAxMDgwOTEsIDEwODA5NiwgCisgICAgMTA4MTAxLCAxMDgxMDYsIDEwODExMSwgMTA4MTE2LCAxMDgxMjEsIDEwODEyNiwgMTA4MTMxLCAxMDgxMzYsIDEwODE0MSwgCisgICAgMTA4MTQ2LCAxMDgxNTEsIDEwODE1NiwgMTA4MTYxLCAxMDgxNjYsIDEwODE3MSwgMTA4MTc4LCAxMDgxODMsIDEwODE4OCwgCisgICAgMTA4MTkzLCAxMDgxOTgsIDEwODIwMywgMTA4MjA4LCAxMDgyMTMsIDEwODIxOCwgMTA4MjIzLCAxMDgyMjgsIDEwODIzMywgCisgICAgMTA4MjM4LCAxMDgyNDMsIDEwODI1MCwgMTA4MjU1LCAxMDgyNjAsIDEwODI2NywgMTA4MjcyLCAxMDgyNzcsIDEwODI4MiwgCisgICAgMTA4Mjg3LCAxMDgyOTIsIDEwODI5NywgMTA4MzAyLCAxMDgzMDcsIDEwODMxMiwgMTA4MzE3LCAxMDgzMjQsIDEwODMyOSwgCisgICAgMTA4MzM0LCAxMDgzMzksIDEwODM0NCwgMTA4MzQ5LCAxMDgzNTYsIDEwODM2MywgMTA4MzY4LCAxMDgzNzMsIDEwODM3OCwgCisgICAgMTA4MzgzLCAxMDgzODgsIDEwODM5MywgMTA4Mzk4LCAxMDg0MDMsIDEwODQwOCwgMTA4NDEzLCAxMDg0MTgsIDEwODQyMywgCisgICAgMTA4NDI4LCAxMDg0MzMsIDEwODQzOCwgMTA4NDQzLCAxMDg0NDgsIDEwODQ1MywgMTA4NDU4LCAxMDg0NjMsIDEwODQ2OCwgCisgICAgMTA4NDczLCAxMDg0NzgsIDEwODQ4MywgMTA4NDg4LCAxMDg0OTMsIDEwODQ5OCwgMTA4NTAzLCAxMDg1MDgsIDEwODUxMywgCisgICAgMTA4NTE4LCAxMDg1MjMsIDEwODUyOCwgMTA4NTMzLCAxMDg1MzgsIDEwODU0MywgMTA4NTUwLCAxMDg1NTUsIDEwODU2MCwgCisgICAgMTA4NTY1LCAxMDg1NzAsIDEwODU3NSwgMTA4NTgwLCAxMDg1ODUsIDEwODU5MCwgMTA4NTk1LCAxMDg2MDAsIDEwODYwNSwgCisgICAgMTA4NjEwLCAxMDg2MTUsIDEwODYyMCwgMTA4NjI1LCAxMDg2MzAsIDEwODYzNSwgMTA4NjQwLCAxMDg2NDUsIDEwODY1MCwgCisgICAgMTA4NjU1LCAxMDg2NjAsIDEwODY2NSwgMTA4NjcwLCAxMDg2NzUsIDEwODY4MCwgMTA4Njg1LCAxMDg2OTAsIDEwODY5NSwgCisgICAgMTA4NzAwLCAxMDg3MDUsIDEwODcxMCwgMTA4NzE1LCAxMDg3MjAsIDEwODcyNSwgMTA4NzMwLCAxMDg3MzUsIDEwODc0MCwgCisgICAgMTA4NzQ1LCAxMDg3NTAsIDEwODc1NSwgMTA4NzYwLCAxMDg3NjUsIDEwODc3MCwgMTA4Nzc1LCAxMDg3ODAsIDEwODc4NSwgCisgICAgMTA4NzkwLCAxMDg3OTUsIDEwODgwMCwgMTA4ODA1LCAxMDg4MTAsIDEwODgxNSwgMTA4ODIwLCAxMDg4MjUsIDEwODgzMCwgCisgICAgMTA4ODM1LCAxMDg4NDAsIDEwODg0NywgMTA4ODUyLCAxMDg4NTcsIDEwODg2MiwgMTA4ODY3LCAxMDg4NzIsIDEwODg3NywgCisgICAgMTA4ODgxLCAxMDg4ODYsIDEwODg5MSwgMTA4ODk2LCAxMDg5MDEsIDEwODkwNiwgMTA4OTExLCAxMDg5MTYsIDEwODkyMSwgCisgICAgMTA4OTI2LCAxMDg5MzEsIDEwODkzNiwgMTA4OTQxLCAxMDg5NDYsIDEwODk1MSwgMTA4OTU4LCAxMDg5NjMsIDEwODk2OCwgCisgICAgMTA4OTc0LCAxMDg5NzksIDEwODk4NCwgMTA4OTg5LCAxMDg5OTQsIDEwODk5OSwgMTA5MDA0LCAxMDkwMDksIDEwOTAxNCwgCisgICAgMTA5MDE5LCAxMDkwMjQsIDEwOTAyOSwgMTA5MDM0LCAxMDkwMzksIDEwOTA0NCwgMTA5MDQ5LCAxMDkwNTQsIDEwOTA1OSwgCisgICAgMTA5MDY0LCAxMDkwNjksIDEwOTA3NCwgMTA5MDc5LCAxMDkwODQsIDEwOTA4OSwgMTA5MDk0LCAxMDkwOTksIDEwOTEwNCwgCisgICAgMTA5MTA5LCAxMDkxMTQsIDEwOTExOSwgMTA5MTI0LCAxMDkxMjksIDEwOTEzNCwgMTA5MTM5LCAxMDkxNDQsIDEwOTE0OSwgCisgICAgMTA5MTU0LCAxMDkxNTksIDEwOTE2NCwgMTA5MTY5LCAxMDkxNzQsIDEwOTE3OSwgMTA5MTg0LCAxMDkxODksIDEwOTE5NiwgCisgICAgMTA5MjAxLCAxMDkyMDYsIDEwOTIxMywgMTA5MjIwLCAxMDkyMjUsIDEwOTIzMCwgMTA5MjM1LCAxMDkyNDAsIDEwOTI0NSwgCisgICAgMTA5MjUwLCAxMDkyNTUsIDEwOTI2MCwgMTA5MjY1LCAxMDkyNzAsIDEwOTI3NSwgMTA5MjgwLCAxMDkyODUsIDEwOTI5MCwgCisgICAgMTA5Mjk1LCAxMDkzMDAsIDEwOTMwNSwgMTA5MzEwLCAxMDkzMTUsIDEwOTMyMCwgMTA5MzI1LCAxMDkzMzAsIDEwOTMzNSwgCisgICAgMTA5MzQwLCAxMDkzNDUsIDEwOTM1MiwgMTA5MzU3LCAxMDkzNjIsIDEwOTM2NywgMTA5MzcyLCAxMDkzNzcsIDEwOTM4MiwgCisgICAgMTA5Mzg3LCAxMDkzOTIsIDEwOTM5NywgMTA5NDAyLCAxMDk0MDcsIDEwOTQxMiwgMTA5NDE3LCAxMDk0MjIsIDEwOTQyNywgCisgICAgMTA5NDMyLCAxMDk0MzcsIDEwOTQ0MiwgMTA5NDQ5LCAxMDk0NTQsIDEwOTQ1OSwgMTA5NDY0LCAxMDk0NjksIDEwOTQ3NCwgCisgICAgMTA5NDc5LCAxMDk0ODQsIDEwOTQ5MCwgMTA5NDk1LCAxMDk1MDAsIDEwOTUwNSwgMTA5NTEwLCAxMDk1MTUsIDEwOTUyMCwgCisgICAgMTA5NTI1LCAxMDk1MzAsIDEwOTUzNywgMTA5NTQ0LCAxMDk1NDksIDEwOTU1NCwgMTA5NTU4LCAxMDk1NjMsIDEwOTU2NywgCisgICAgMTA5NTcxLCAxMDk1NzYsIDEwOTU4MywgMTA5NTg4LCAxMDk1OTMsIDEwOTYwMiwgMTA5NjA3LCAxMDk2MTIsIDEwOTYxNywgCisgICAgMTA5NjIyLCAxMDk2MjksIDEwOTYzNiwgMTA5NjQxLCAxMDk2NDYsIDEwOTY1MSwgMTA5NjU2LCAxMDk2NjMsIDEwOTY2OCwgCisgICAgMTA5NjczLCAxMDk2NzgsIDEwOTY4MywgMTA5Njg4LCAxMDk2OTMsIDEwOTY5OCwgMTA5NzAzLCAxMDk3MDgsIDEwOTcxMywgCisgICAgMTA5NzE4LCAxMDk3MjMsIDEwOTczMCwgMTA5NzM0LCAxMDk3MzksIDEwOTc0NCwgMTA5NzQ5LCAxMDk3NTQsIDEwOTc1OCwgCisgICAgMTA5NzYzLCAxMDk3NjgsIDEwOTc3MywgMTA5Nzc4LCAxMDk3ODMsIDEwOTc4OCwgMTA5NzkzLCAxMDk3OTgsIDEwOTgwMywgCisgICAgMTA5ODA5LCAxMDk4MTUsIDEwOTgyMSwgMTA5ODI3LCAxMDk4MzMsIDEwOTgzOSwgMTA5ODQ1LCAxMDk4NTEsIDEwOTg1NywgCisgICAgMTA5ODYzLCAxMDk4NjksIDEwOTg3NSwgMTA5ODgwLCAxMDk4ODYsIDEwOTg5MiwgMTA5ODk4LCAxMDk5MDQsIDEwOTkxMCwgCisgICAgMTA5OTE2LCAxMDk5MjIsIDEwOTkyOCwgMTA5OTM0LCAxMDk5NDAsIDEwOTk0NiwgMTA5OTUxLCAxMDk5NTcsIDEwOTk2MywgCisgICAgMTA5OTY5LCAxMDk5NzUsIDEwOTk4MSwgMTA5OTg3LCAxMDk5OTMsIDEwOTk5OSwgMTEwMDA1LCAxMTAwMTEsIDExMDAxNywgCisgICAgMTEwMDIzLCAxMTAwMjksIDExMDAzNSwgMTEwMDQxLCAxMTAwNDcsIDExMDA1MywgMTEwMDU5LCAxMTAwNjUsIDExMDA3MSwgCisgICAgMTEwMDc2LCAxMTAwODIsIDExMDA4OCwgMTEwMDk0LCAxMTAxMDAsIDExMDEwNiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTA3NTE4LCAxMDc1MjMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDExMDExMiwgMTEwMTE1LCAxMTAxMTksIAorICAgIDExMDEyMywgMTEwMTI3LCAxMTAxMzAsIDExMDEzNCwgMTEwMTM5LCAxMTAxNDMsIDExMDE0NywgMTEwMTUxLCAxMTAxNTUsIAorICAgIDExMDE1OSwgMTEwMTY0LCAxMTAxNjksIDExMDE3MywgMTEwMTc3LCAxMTAxODAsIDExMDE4NCwgMTEwMTg5LCAxMTAxOTQsIAorICAgIDExMDE5OCwgMTEwMjAyLCAxMTAyMDYsIDExMDIxMCwgMTEwMjE0LCAxMTAyMTgsIDExMDIyMiwgMTEwMjI2LCAxMTAyMzAsIAorICAgIDExMDIzNCwgMTEwMjM3LCAxMTAyNDEsIDExMDI0NSwgMTEwMjQ5LCAxMTAyNTMsIDExMDI1NywgMTEwMjYxLCAxMTAyNjcsIAorICAgIDExMDI3MCwgMTEwMjc0LCAxMTAyNzgsIDExMDI4MiwgMTEwMjg2LCAxMTAyOTAsIDExMDI5NCwgMTEwMjk4LCAxMTAzMDIsIAorICAgIDExMDMwNiwgMTEwMzExLCAxMTAzMTYsIDExMDMyMiwgMTEwMzI2LCAxMTAzMzAsIDExMDMzNCwgMTEwMzM4LCAxMTAzNDIsIAorICAgIDExMDM0NiwgMTEwMzUxLCAxMTAzNTQsIDExMDM1OCwgMTEwMzYyLCAxMTAzNjYsIDExMDM3MCwgMTEwMzc2LCAxMTAzODAsIAorICAgIDExMDM4NCwgMTEwMzg4LCAxMTAzOTIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDExMDM5NiwgMTEwNDAwLCAKKyAgICAxMTA0MDQsIDExMDQxMCwgMTEwNDE2LCAxMTA0MjAsIDExMDQyNSwgMTEwNDMwLCAxMTA0MzUsIDExMDQ0MCwgMTEwNDQ0LCAKKyAgICAxMTA0NDksIDExMDQ1NCwgMTEwNDU5LCAxMTA0NjMsIDExMDQ2OCwgMTEwNDczLCAxMTA0NzgsIDExMDQ4MiwgMTEwNDg3LCAKKyAgICAxMTA0OTIsIDExMDQ5NywgMTEwNTAyLCAxMTA1MDcsIDExMDUxMiwgMTEwNTE3LCAxMTA1MjIsIDExMDUyNiwgMTEwNTMxLCAKKyAgICAxMTA1MzYsIDExMDU0MSwgMTEwNTQ2LCAxMTA1NTEsIDExMDU1NiwgMTEwNTYxLCAxMTA1NjYsIDExMDU3MSwgMTEwNTc2LCAKKyAgICAxMTA1ODEsIDExMDU4OCwgMTEwNTkzLCAxMTA2MDAsIDExMDYwNSwgMTEwNjEwLCAxMTA2MTUsIDExMDYyMCwgMTEwNjI1LCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMTA2MzAsIDExMDYzNCwgMTEwNjQwLCAKKyAgICAxMTA2NDMsIDExMDY0NiwgMTEwNjUwLCAxMTA2NTQsIDExMDY1OCwgMTEwNjYyLCAxMTA2NjYsIDExMDY3MCwgMTEwNjc0LCAKKyAgICAxMTA2ODAsIDExMDY4NiwgMTEwNjkyLCAxMTA2OTgsIDExMDcwNCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTA3NTI5LCAxMDc1MzQsIAotICAgIDEwNzUzOSwgMTA3NTQ0LCAxMDc1NTEsIDEwNzU1OCwgMTA3NTY1LCAxMDc1NzIsIDEwNzU3NywgMTA3NTgyLCAxMDc1ODcsIAotICAgIDEwNzU5MiwgMTA3NTk5LCAxMDc2MDQsIDEwNzYxMSwgMTA3NjE4LCAxMDc2MjMsIDEwNzYyOCwgMTA3NjMzLCAxMDc2NDAsIAotICAgIDEwNzY0NSwgMTA3NjUwLCAxMDc2NTcsIDEwNzY2NCwgMTA3NjY5LCAxMDc2NzQsIDEwNzY3OSwgMTA3Njg2LCAxMDc2OTMsIAotICAgIDEwNzcwMCwgMTA3NzA1LCAxMDc3MTAsIDEwNzcxNywgMTA3NzI0LCAxMDc3MzEsIDEwNzczOCwgMTA3NzQzLCAxMDc3NDgsIAotICAgIDEwNzc1MywgMTA3NzYwLCAxMDc3NjUsIDEwNzc3MCwgMTA3Nzc1LCAxMDc3ODIsIDEwNzc5MSwgMTA3Nzk4LCAxMDc4MDMsIAotICAgIDEwNzgwOCwgMTA3ODEzLCAxMDc4MTgsIDEwNzgyMywgMTA3ODI4LCAxMDc4MzcsIDEwNzg0NCwgMTA3ODQ5LCAxMDc4NTYsIAotICAgIDEwNzg2MywgMTA3ODY4LCAxMDc4NzMsIDEwNzg3OCwgMTA3ODg1LCAxMDc4OTAsIDEwNzg5NywgMTA3OTA0LCAxMDc5MDksIAotICAgIDEwNzkxNCwgMTA3OTE5LCAxMDc5MjYsIDEwNzkzMywgMTA3OTM4LCAxMDc5NDMsIDEwNzk1MCwgMTA3OTU3LCAxMDc5NjQsIAotICAgIDEwNzk2OSwgMTA3OTc0LCAxMDc5NzksIDEwNzk4NCwgMTA3OTkxLCAxMDgwMDAsIDEwODAwOSwgMTA4MDE0LCAxMDgwMjEsIAotICAgIDEwODAzMCwgMTA4MDM1LCAxMDgwNDAsIDEwODA0NSwgMTA4MDUwLCAxMDgwNTcsIDEwODA2NCwgMTA4MDcxLCAxMDgwNzgsIAotICAgIDEwODA4MywgMTA4MDg4LCAxMDgwOTMsIDEwODEwMCwgMTA4MTA3LCAxMDgxMTQsIDEwODExOSwgMTA4MTI0LCAxMDgxMzEsIAotICAgIDEwODEzNiwgMTA4MTQzLCAxMDgxNDgsIDEwODE1NSwgMTA4MTYwLCAxMDgxNjcsIDEwODE3NCwgMTA4MTc5LCAxMDgxODQsIAotICAgIDEwODE4OSwgMTA4MTk0LCAxMDgxOTksIDEwODIwNCwgMTA4MjA5LCAxMDgyMTQsIDEwODIxOSwgMTA4MjI2LCAxMDgyMzMsIAotICAgIDEwODI0MCwgMTA4MjQ3LCAxMDgyNTQsIDEwODI2MywgMTA4MjY4LCAxMDgyNzMsIDEwODI4MCwgMTA4Mjg3LCAxMDgyOTIsIAotICAgIDEwODI5OSwgMTA4MzA2LCAxMDgzMTMsIDEwODMyMCwgMTA4MzI3LCAxMDgzMzQsIDEwODMzOSwgMTA4MzQ0LCAxMDgzNDksIAotICAgIDEwODM1NCwgMTA4MzU5LCAxMDgzNjgsIDEwODM3NywgMTA4Mzg2LCAxMDgzOTUsIDEwODQwNCwgMTA4NDEzLCAxMDg0MjIsIAotICAgIDEwODQzMSwgMTA4NDM2LCAxMDg0NDcsIDEwODQ1OCwgMTA4NDY3LCAxMDg0NzIsIDEwODQ3NywgMTA4NDgyLCAxMDg0ODcsIAotICAgIDEwODQ5NiwgMTA4NTAzLCAxMDg1MTAsIDEwODUxNywgMTA4NTI0LCAxMDg1MzEsIDEwODUzOCwgMTA4NTQ3LCAxMDg1NTYsIAotICAgIDEwODU2NywgMTA4NTc2LCAxMDg1ODcsIDEwODU5NiwgMTA4NjAzLCAxMDg2MTIsIDEwODYyMywgMTA4NjMyLCAxMDg2NDEsIAotICAgIDEwODY1MCwgMTA4NjU5LCAxMDg2NjYsIDEwODY3MywgMTA4NjgwLCAxMDg2ODksIDEwODY5OCwgMTA4NzA5LCAxMDg3MTgsIAotICAgIDEwODcyNywgMTA4NzM4LCAxMDg3NDMsIDEwODc0OCwgMTA4NzU5LCAxMDg3NjcsIDEwODc3NiwgMTA4Nzg1LCAxMDg3OTQsIAotICAgIDEwODgwNSwgMTA4ODE0LCAxMDg4MjMsIDEwODgzNCwgMTA4ODQ1LCAxMDg4NTYsIDEwODg2NywgMTA4ODc4LCAxMDg4ODksIAotICAgIDEwODg5NiwgMTA4OTAzLCAxMDg5MTAsIDEwODkxNywgMTA4OTI4LCAxMDg5MzcsIDEwODk0NCwgMTA4OTUxLCAxMDg5NTgsIAotICAgIDEwODk2OSwgMTA4OTgwLCAxMDg5OTEsIDEwOTAwMiwgMTA5MDEzLCAxMDkwMjQsIDEwOTAzNSwgMTA5MDQ2LCAxMDkwNTMsIAotICAgIDEwOTA2MCwgMTA5MDY5LCAxMDkwNzgsIDEwOTA4NSwgMTA5MDkyLCAxMDkwOTksIDEwOTEwOCwgMTA5MTE3LCAxMDkxMjYsIAotICAgIDEwOTEzMywgMTA5MTQyLCAxMDkxNTEsIDEwOTE2MCwgMTA5MTY3LCAxMDkxNzQsIDEwOTE3OSwgMTA5MTg1LCAxMDkxOTIsIAotICAgIDEwOTE5OSwgMTA5MjA2LCAxMDkyMTMsIDEwOTIyMCwgMTA5MjI3LCAxMDkyMzYsIDEwOTI0NSwgMTA5MjU0LCAxMDkyNjMsIAotICAgIDEwOTI3MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTA5Mjc5LCAxMDkyODUsIDEwOTI5MCwgMTA5Mjk1LCAKLSAgICAxMDkzMDIsIDEwOTMwOCwgMTA5MzE0LCAxMDkzMjAsIDEwOTMyNiwgMTA5MzMyLCAxMDkzMzgsIDEwOTM0NCwgMTA5MzQ4LCAKLSAgICAxMDkzNTIsIDEwOTM1OCwgMTA5MzY0LCAxMDkzNzAsIDEwOTM3NCwgMTA5Mzc5LCAxMDkzODQsIDEwOTM4OCwgMTA5MzkyLCAKLSAgICAxMDkzOTUsIDEwOTQwMSwgMTA5NDA3LCAxMDk0MTMsIDEwOTQxOSwgMTA5NDI1LCAxMDk0MzEsIDEwOTQzNywgMTA5NDQzLCAKLSAgICAxMDk0NDksIDEwOTQ1OSwgMTA5NDY5LCAxMDk0NzUsIDEwOTQ4MSwgMTA5NDkxLCAxMDk1MDEsIDEwOTUwNywgMCwgMCwgCi0gICAgMTA5NTEzLCAxMDk1MjEsIDEwOTUyNiwgMTA5NTMxLCAxMDk1MzcsIDEwOTU0MywgMTA5NTQ5LCAxMDk1NTUsIDEwOTU2MSwgCi0gICAgMTA5NTY3LCAxMDk1NzQsIDEwOTU4MSwgMTA5NTg3LCAxMDk1OTMsIDEwOTU5OSwgMTA5NjA1LCAxMDk2MTEsIDEwOTYxNywgCi0gICAgMTA5NjIzLCAxMDk2MjksIDEwOTYzNCwgMTA5NjQwLCAxMDk2NDYsIDEwOTY1MiwgMTA5NjU4LCAxMDk2NjQsIDEwOTY3MywgCi0gICAgMTA5Njc5LCAxMDk2ODQsIDEwOTY5MiwgMTA5Njk5LCAxMDk3MDYsIDEwOTcxNSwgMTA5NzI0LCAxMDk3MzMsIDEwOTc0MiwgCi0gICAgMTA5NzUxLCAxMDk3NjAsIDEwOTc2OSwgMTA5Nzc4LCAxMDk3ODgsIDEwOTc5OCwgMTA5ODA2LCAxMDk4MTQsIDEwOTgyMywgCi0gICAgMTA5ODMyLCAxMDk4MzgsIDEwOTg0NCwgMTA5ODUwLCAxMDk4NTYsIDEwOTg2NCwgMTA5ODcyLCAxMDk4NzYsIDEwOTg4MiwgCi0gICAgMTA5ODg3LCAxMDk4OTMsIDEwOTg5OSwgMTA5OTA1LCAxMDk5MTEsIDEwOTkxNywgMTA5OTI2LCAxMDk5MzEsIDEwOTkzOCwgCi0gICAgMTA5OTQzLCAxMDk5NDgsIDEwOTk1MywgMTA5OTU5LCAxMDk5NjUsIDEwOTk3MSwgMTA5OTc4LCAxMDk5ODMsIDEwOTk4OCwgCi0gICAgMTA5OTkzLCAxMDk5OTgsIDExMDAwMywgMTEwMDA5LCAxMTAwMTUsIDExMDAyMSwgMTEwMDI3LCAxMTAwMzMsIDExMDAzOSwgCi0gICAgMTEwMDQ1LCAxMTAwNTEsIDExMDA1NiwgMTEwMDYxLCAxMTAwNjYsIDExMDA3MSwgMTEwMDc2LCAxMTAwODEsIDExMDA4NiwgCi0gICAgMTEwMDkxLCAxMTAwOTcsIDExMDEwMywgMTEwMTA4LCAxMTAxMTMsIDExMDExOCwgMTEwMTIzLCAxMTAxMjgsIDExMDEzNCwgCi0gICAgMTEwMTQxLCAxMTAxNDUsIDExMDE0OSwgMTEwMTUzLCAxMTAxNTcsIDExMDE2MSwgMTEwMTY1LCAxMTAxNjksIDExMDE3MywgCi0gICAgMTEwMTgxLCAxMTAxOTEsIDExMDE5NSwgMTEwMTk5LCAxMTAyMDUsIDExMDIxMSwgMTEwMjE3LCAxMTAyMjMsIDExMDIyOSwgCi0gICAgMTEwMjM1LCAxMTAyNDEsIDExMDI0NywgMTEwMjUzLCAxMTAyNTksIDExMDI2NSwgMTEwMjcxLCAxMTAyNzcsIDExMDI4MywgCi0gICAgMTEwMjg3LCAxMTAyOTEsIDExMDI5OCwgMTEwMzA0LCAxMTAzMTAsIDExMDMxNiwgMTEwMzIxLCAxMTAzMjgsIDExMDMzMywgCi0gICAgMTEwMzM5LCAxMTAzNDUsIDExMDM1MSwgMTEwMzU3LCAxMTAzNjIsIDExMDM2NiwgMTEwMzcyLCAxMTAzNzYsIDExMDM4MCwgCi0gICAgMTEwMzg0LCAxMTAzOTAsIDExMDM5NiwgMTEwNDAwLCAxMTA0MDYsIDExMDQxMiwgMTEwNDE4LCAxMTA0MjQsIDExMDQzMCwgCi0gICAgMTEwNDM4LCAxMTA0NDYsIDExMDQ1MiwgMTEwNDU4LCAxMTA0NjQsIDExMDQ3MCwgMTEwNDgyLCAxMTA0OTQsIDExMDUwOCwgCi0gICAgMTEwNTIwLCAxMTA1MzIsIDExMDU0NiwgMTEwNTYwLCAxMTA1NzQsIDExMDU3OCwgMTEwNTg2LCAxMTA1OTQsIDExMDU5OSwgCi0gICAgMTEwNjAzLCAxMTA2MDcsIDExMDYxMSwgMTEwNjE1LCAxMTA2MTksIDExMDYyMywgMTEwNjI3LCAxMTA2MzMsIDExMDYzOSwgCi0gICAgMTEwNjQ1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMTA2NTEsIDExMDY1NywgMTEwNjYzLCAxMTA2NjksIAotICAgIDExMDY3NSwgMTEwNjgxLCAxMTA2ODcsIDExMDY5MywgMTEwNjk5LCAxMTA3MDUsIDExMDcxMSwgMTEwNzE3LCAxMTA3MjMsIAotICAgIDExMDcyOSwgMTEwNzM1LCAxMTA3NDEsIDExMDc0NywgMTEwNzUzLCAxMTA3NTksIDExMDc2NSwgMTEwNzcxLCAxMTA3NzcsIAotICAgIDExMDc4MywgMTEwNzg5LCAxMTA3OTUsIDExMDgwMSwgMTEwODA3LCAxMTA4MTMsIDExMDgxOSwgMTEwODI1LCAxMTA4MzEsIAotICAgIDExMDgzNywgMTEwODQzLCAxMTA4NDksIDExMDg1NSwgMTEwODYxLCAxMTA4NjcsIDExMDg3MywgMTEwODc5LCAxMTA4ODUsIAotICAgIDExMDg5MSwgMTEwODk3LCAxMTA5MDMsIDExMDkwOSwgMTEwOTE1LCAxMTA5MjEsIDExMDkyNywgMTEwOTMzLCAxMTA5MzksIAotICAgIDExMDk0NSwgMTEwOTUxLCAxMTA5NTcsIDExMDk2MywgMTEwOTY5LCAxMTA5NzUsIDExMDk4MSwgMTEwOTg3LCAxMTA5OTMsIAotICAgIDExMDk5OSwgMTExMDA1LCAxMTEwMTEsIDExMTAxNywgMTExMDIzLCAxMTEwMjksIDExMTAzNSwgMTExMDQxLCAxMTEwNDcsIAotICAgIDExMTA1MiwgMTExMDU3LCAxMTEwNjIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDExMTA2NiwgMTExMDcxLCAKLSAgICAxMTEwNzgsIDExMTA4NSwgMTExMDkyLCAxMTEwOTksIDExMTEwNCwgMTExMTA4LCAxMTExMTQsIDExMTExOCwgMTExMTIyLCAKLSAgICAxMTExMjgsIDExMTEzMiwgMTExMTM2LCAxMTExNDAsIDExMTE0NiwgMTExMTUzLCAxMTExNTcsIDExMTE2MSwgMTExMTY1LCAKLSAgICAxMTExNjksIDExMTE3MywgMTExMTc3LCAxMTExODMsIDExMTE4NywgMTExMTkxLCAxMTExOTUsIDExMTE5OSwgMTExMjAzLCAKLSAgICAxMTEyMDcsIDExMTIxMSwgMTExMjE1LCAxMTEyMTksIDExMTIyMywgMTExMjI3LCAxMTEyMzEsIDExMTIzNiwgMTExMjQwLCAKLSAgICAxMTEyNDQsIDExMTI0OCwgMTExMjUyLCAxMTEyNTYsIDExMTI2MCwgMTExMjY0LCAxMTEyNjgsIDExMTI3MiwgMTExMjc5LCAKLSAgICAxMTEyODMsIDExMTI5MSwgMTExMjk1LCAxMTEyOTksIDExMTMwMywgMTExMzA3LCAxMTEzMTEsIDExMTMxNSwgMTExMzE5LCAKLSAgICAxMTEzMjYsIDExMTMzMCwgMTExMzM0LCAxMTEzMzgsIDExMTM0MiwgMTExMzQ2LCAxMTEzNTIsIDExMTM1NiwgMTExMzYyLCAKLSAgICAxMTEzNjYsIDExMTM3MCwgMTExMzc0LCAxMTEzNzgsIDExMTM4MiwgMTExMzg2LCAxMTEzOTAsIDExMTM5NCwgMTExMzk4LCAKLSAgICAxMTE0MDIsIDExMTQwNiwgMTExNDEwLCAxMTE0MTQsIDExMTQxOCwgMTExNDIyLCAxMTE0MjYsIDExMTQzMCwgMTExNDM0LCAKLSAgICAxMTE0MzgsIDExMTQ0NiwgMTExNDUwLCAxMTE0NTQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDExMTQ1OCwgCi0gICAgMTExNDY2LCAxMTE0NzQsIDExMTQ4MiwgMTExNDkwLCAxMTE0OTgsIDExMTUwNiwgMTExNTE0LCAxMTE1MjIsIDExMTUzMCwgCi0gICAgMTExNTM4LCAxMTE1NDYsIDExMTU1NCwgMTExNTYyLCAxMTE1NzAsIDExMTU3OCwgMTExNTg2LCAxMTE1OTQsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDExMTYwMiwgMTExNjA2LCAxMTE2MTEsIDExMTYxNiwgMTExNjIxLCAKLSAgICAxMTE2MjUsIDExMTYzMCwgMTExNjM1LCAxMTE2NDAsIDExMTY0NCwgMTExNjQ5LCAxMTE2NTQsIDExMTY1OCwgMTExNjYyLCAKLSAgICAxMTE2NjYsIDExMTY3MCwgMTExNjc1LCAxMTE2ODAsIDExMTY4NCwgMTExNjg4LCAxMTE2OTMsIDExMTY5NywgMTExNzAyLCAKLSAgICAxMTE3MDcsIDExMTcxMiwgMTExNzE3LCAxMTE3MjIsIDExMTcyNiwgMTExNzMxLCAxMTE3MzYsIDExMTc0MSwgMTExNzQ1LCAKLSAgICAxMTE3NTAsIDExMTc1NSwgMTExNzYwLCAxMTE3NjQsIDExMTc2OSwgMTExNzc0LCAxMTE3NzgsIDExMTc4MiwgMTExNzg2LCAKLSAgICAxMTE3OTAsIDExMTc5NSwgMTExODAwLCAxMTE4MDQsIDExMTgwOCwgMTExODEzLCAxMTE4MTcsIDExMTgyMiwgMTExODI3LCAKLSAgICAxMTE4MzIsIDExMTgzNywgMTExODQyLCAxMTE4NDYsIDExMTg1MSwgMTExODU2LCAxMTE4NjEsIDExMTg2NSwgMTExODcwLCAKLSAgICAxMTE4NzUsIDExMTg4MCwgMTExODg0LCAxMTE4ODksIDExMTg5NCwgMTExODk4LCAxMTE5MDIsIDExMTkwNiwgMTExOTEwLCAKLSAgICAxMTE5MTUsIDExMTkyMCwgMTExOTI0LCAxMTE5MjgsIDExMTkzMywgMTExOTM3LCAxMTE5NDIsIDExMTk0NywgMTExOTUyLCAKLSAgICAxMTE5NTcsIDExMTk2MiwgMTExOTY2LCAxMTE5NzEsIDExMTk3NiwgMTExOTgxLCAxMTE5ODUsIDExMTk5MCwgMCwgCi0gICAgMTExOTk1LCAxMTE5OTksIDExMjAwNCwgMTEyMDA5LCAxMTIwMTMsIDExMjAxNywgMTEyMDIxLCAxMTIwMjUsIDExMjAzMCwgCi0gICAgMTEyMDM1LCAxMTIwMzksIDExMjA0MywgMTEyMDQ4LCAxMTIwNTIsIDExMjA1NywgMTEyMDYyLCAxMTIwNjcsIDExMjA3MiwgCi0gICAgMTEyMDc3LCAxMTIwODIsIDExMjA4OCwgMTEyMDk0LCAxMTIxMDAsIDExMjEwNSwgMTEyMTExLCAxMTIxMTcsIDExMjEyMywgCi0gICAgMTEyMTI4LCAxMTIxMzQsIDExMjE0MCwgMTEyMTQ1LCAxMTIxNTAsIDExMjE1NSwgMTEyMTYwLCAxMTIxNjYsIDExMjE3MiwgCi0gICAgMTEyMTc3LCAxMTIxODIsIDExMjE4OCwgMTEyMTkzLCAxMTIxOTksIDExMjIwNSwgMTEyMjExLCAxMTIyMTcsIDExMjIyMywgCi0gICAgMTEyMjI4LCAxMTIyMzQsIDExMjI0MCwgMTEyMjQ2LCAxMTIyNTEsIDExMjI1NywgMTEyMjYzLCAxMTIyNjksIDExMjI3NCwgCi0gICAgMTEyMjgwLCAxMTIyODYsIDExMjI5MSwgMTEyMjk2LCAxMTIzMDEsIDExMjMwNiwgMTEyMzEyLCAxMTIzMTgsIDExMjMyMywgCi0gICAgMTEyMzI4LCAxMTIzMzQsIDExMjMzOSwgMTEyMzQ1LCAxMTIzNTEsIDExMjM1NywgMTEyMzYzLCAxMTIzNjksIDAsIAotICAgIDExMjM3MywgMTEyMzc4LCAwLCAwLCAxMTIzODMsIDAsIDAsIDExMjM4OCwgMTEyMzkzLCAwLCAwLCAxMTIzOTgsIDExMjQwMiwgCi0gICAgMTEyNDA2LCAxMTI0MTEsIDAsIDExMjQxNiwgMTEyNDIwLCAxMTI0MjUsIDExMjQyOSwgMTEyNDM0LCAxMTI0MzksIAotICAgIDExMjQ0NCwgMTEyNDQ5LCAxMTI0NTQsIDExMjQ1OCwgMTEyNDYzLCAxMTI0NjgsIDAsIDExMjQ3MywgMCwgMTEyNDc4LCAKLSAgICAxMTI0ODMsIDExMjQ4NywgMTEyNDkyLCAxMTI0OTcsIDExMjUwMSwgMTEyNTA1LCAwLCAxMTI1MDksIDExMjUxNCwgCi0gICAgMTEyNTE5LCAxMTI1MjMsIDExMjUyNywgMTEyNTMyLCAxMTI1MzYsIDExMjU0MSwgMTEyNTQ2LCAxMTI1NTEsIDExMjU1NiwgCi0gICAgMTEyNTYxLCAxMTI1NjYsIDExMjU3MiwgMTEyNTc4LCAxMTI1ODQsIDExMjU4OSwgMTEyNTk1LCAxMTI2MDEsIDExMjYwNywgCi0gICAgMTEyNjEyLCAxMTI2MTgsIDExMjYyNCwgMTEyNjI5LCAxMTI2MzQsIDExMjYzOSwgMTEyNjQ0LCAxMTI2NTAsIDExMjY1NiwgCi0gICAgMTEyNjYxLCAxMTI2NjYsIDExMjY3MiwgMTEyNjc3LCAxMTI2ODMsIDExMjY4OSwgMTEyNjk1LCAxMTI3MDEsIDExMjcwNywgCi0gICAgMTEyNzEyLCAxMTI3MTgsIDExMjcyNCwgMTEyNzMwLCAxMTI3MzUsIDExMjc0MSwgMTEyNzQ3LCAxMTI3NTMsIDExMjc1OCwgCi0gICAgMTEyNzY0LCAxMTI3NzAsIDExMjc3NSwgMTEyNzgwLCAxMTI3ODUsIDExMjc5MCwgMTEyNzk2LCAxMTI4MDIsIDExMjgwNywgCi0gICAgMTEyODEyLCAxMTI4MTgsIDExMjgyMywgMTEyODI5LCAxMTI4MzUsIDExMjg0MSwgMTEyODQ3LCAxMTI4NTMsIDExMjg1NywgCi0gICAgMCwgMTEyODYyLCAxMTI4NjcsIDExMjg3MSwgMTEyODc2LCAwLCAwLCAxMTI4ODEsIDExMjg4NiwgMTEyODkxLCAxMTI4OTUsIAotICAgIDExMjg5OSwgMTEyOTAzLCAxMTI5MDcsIDExMjkxMiwgMCwgMTEyOTE3LCAxMTI5MjEsIDExMjkyNiwgMTEyOTMwLCAKLSAgICAxMTI5MzUsIDExMjk0MCwgMTEyOTQ1LCAwLCAxMTI5NTAsIDExMjk1NCwgMTEyOTU5LCAxMTI5NjQsIDExMjk2OSwgCi0gICAgMTEyOTczLCAxMTI5NzgsIDExMjk4MywgMTEyOTg4LCAxMTI5OTIsIDExMjk5NywgMTEzMDAyLCAxMTMwMDYsIDExMzAxMCwgCi0gICAgMTEzMDE0LCAxMTMwMTgsIDExMzAyMywgMTEzMDI4LCAxMTMwMzIsIDExMzAzNiwgMTEzMDQxLCAxMTMwNDUsIDExMzA1MCwgCi0gICAgMTEzMDU1LCAxMTMwNjAsIDExMzA2NSwgMTEzMDcwLCAxMTMwNzQsIDAsIDExMzA3OSwgMTEzMDg0LCAxMTMwODgsIAotICAgIDExMzA5MywgMCwgMTEzMDk4LCAxMTMxMDIsIDExMzEwNywgMTEzMTEyLCAxMTMxMTYsIDAsIDExMzEyMCwgMCwgMCwgMCwgCi0gICAgMTEzMTI0LCAxMTMxMjgsIDExMzEzMywgMTEzMTM3LCAxMTMxNDIsIDExMzE0NywgMTEzMTUyLCAwLCAxMTMxNTcsIAotICAgIDExMzE2MSwgMTEzMTY2LCAxMTMxNzEsIDExMzE3NiwgMTEzMTgwLCAxMTMxODUsIDExMzE5MCwgMTEzMTk1LCAxMTMxOTksIAotICAgIDExMzIwNCwgMTEzMjA5LCAxMTMyMTMsIDExMzIxNywgMTEzMjIxLCAxMTMyMjUsIDExMzIzMCwgMTEzMjM1LCAxMTMyMzksIAotICAgIDExMzI0MywgMTEzMjQ4LCAxMTMyNTIsIDExMzI1NywgMTEzMjYyLCAxMTMyNjcsIDExMzI3MiwgMTEzMjc3LCAxMTMyODIsIAotICAgIDExMzI4OCwgMTEzMjk0LCAxMTMzMDAsIDExMzMwNSwgMTEzMzExLCAxMTMzMTcsIDExMzMyMywgMTEzMzI4LCAxMTMzMzQsIAotICAgIDExMzM0MCwgMTEzMzQ1LCAxMTMzNTAsIDExMzM1NSwgMTEzMzYwLCAxMTMzNjYsIDExMzM3MiwgMTEzMzc3LCAxMTMzODIsIAotICAgIDExMzM4OCwgMTEzMzkzLCAxMTMzOTksIDExMzQwNSwgMTEzNDExLCAxMTM0MTcsIDExMzQyMywgMTEzNDI4LCAxMTM0MzQsIAotICAgIDExMzQ0MCwgMTEzNDQ2LCAxMTM0NTEsIDExMzQ1NywgMTEzNDYzLCAxMTM0NjksIDExMzQ3NCwgMTEzNDgwLCAxMTM0ODYsIAotICAgIDExMzQ5MSwgMTEzNDk2LCAxMTM1MDEsIDExMzUwNiwgMTEzNTEyLCAxMTM1MTgsIDExMzUyMywgMTEzNTI4LCAxMTM1MzQsIAotICAgIDExMzUzOSwgMTEzNTQ1LCAxMTM1NTEsIDExMzU1NywgMTEzNTYzLCAxMTM1NjksIDExMzU3MywgMTEzNTc4LCAxMTM1ODMsIAotICAgIDExMzU4OCwgMTEzNTkyLCAxMTM1OTcsIDExMzYwMiwgMTEzNjA3LCAxMTM2MTEsIDExMzYxNiwgMTEzNjIxLCAxMTM2MjUsIAotICAgIDExMzYyOSwgMTEzNjMzLCAxMTM2MzcsIDExMzY0MiwgMTEzNjQ3LCAxMTM2NTEsIDExMzY1NSwgMTEzNjYwLCAxMTM2NjQsIAotICAgIDExMzY2OSwgMTEzNjc0LCAxMTM2NzksIDExMzY4NCwgMTEzNjg5LCAxMTM2OTMsIDExMzY5OCwgMTEzNzAzLCAxMTM3MDgsIAotICAgIDExMzcxMiwgMTEzNzE3LCAxMTM3MjIsIDExMzcyNywgMTEzNzMxLCAxMTM3MzYsIDExMzc0MSwgMTEzNzQ1LCAxMTM3NDksIAotICAgIDExMzc1MywgMTEzNzU3LCAxMTM3NjIsIDExMzc2NywgMTEzNzcxLCAxMTM3NzUsIDExMzc4MCwgMTEzNzg0LCAxMTM3ODksIAotICAgIDExMzc5NCwgMTEzNzk5LCAxMTM4MDQsIDExMzgwOSwgMTEzODE0LCAxMTM4MjAsIDExMzgyNiwgMTEzODMyLCAxMTM4MzcsIAotICAgIDExMzg0MywgMTEzODQ5LCAxMTM4NTUsIDExMzg2MCwgMTEzODY2LCAxMTM4NzIsIDExMzg3NywgMTEzODgyLCAxMTM4ODcsIAotICAgIDExMzg5MiwgMTEzODk4LCAxMTM5MDQsIDExMzkwOSwgMTEzOTE0LCAxMTM5MjAsIDExMzkyNSwgMTEzOTMxLCAxMTM5MzcsIAotICAgIDExMzk0MywgMTEzOTQ5LCAxMTM5NTUsIDExMzk2MCwgMTEzOTY2LCAxMTM5NzIsIDExMzk3OCwgMTEzOTgzLCAxMTM5ODksIAotICAgIDExMzk5NSwgMTE0MDAxLCAxMTQwMDYsIDExNDAxMiwgMTE0MDE4LCAxMTQwMjMsIDExNDAyOCwgMTE0MDMzLCAxMTQwMzgsIAotICAgIDExNDA0NCwgMTE0MDUwLCAxMTQwNTUsIDExNDA2MCwgMTE0MDY2LCAxMTQwNzEsIDExNDA3NywgMTE0MDgzLCAxMTQwODksIAotICAgIDExNDA5NSwgMTE0MTAxLCAxMTQxMDYsIDExNDExMiwgMTE0MTE4LCAxMTQxMjQsIDExNDEyOSwgMTE0MTM1LCAxMTQxNDEsIAotICAgIDExNDE0NywgMTE0MTUyLCAxMTQxNTgsIDExNDE2NCwgMTE0MTY5LCAxMTQxNzQsIDExNDE3OSwgMTE0MTg0LCAxMTQxOTAsIAotICAgIDExNDE5NiwgMTE0MjAxLCAxMTQyMDYsIDExNDIxMiwgMTE0MjE3LCAxMTQyMjMsIDExNDIyOSwgMTE0MjM1LCAxMTQyNDEsIAotICAgIDExNDI0NywgMTE0MjUyLCAxMTQyNTgsIDExNDI2NCwgMTE0MjcwLCAxMTQyNzUsIDExNDI4MSwgMTE0Mjg3LCAxMTQyOTMsIAotICAgIDExNDI5OCwgMTE0MzA0LCAxMTQzMTAsIDExNDMxNSwgMTE0MzIwLCAxMTQzMjUsIDExNDMzMCwgMTE0MzM2LCAxMTQzNDIsIAotICAgIDExNDM0NywgMTE0MzUyLCAxMTQzNTgsIDExNDM2MywgMTE0MzY5LCAxMTQzNzUsIDExNDM4MSwgMTE0Mzg3LCAxMTQzOTMsIAotICAgIDExNDM5OSwgMTE0NDA2LCAxMTQ0MTMsIDExNDQyMCwgMTE0NDI2LCAxMTQ0MzMsIDExNDQ0MCwgMTE0NDQ3LCAxMTQ0NTMsIAotICAgIDExNDQ2MCwgMTE0NDY3LCAxMTQ0NzMsIDExNDQ3OSwgMTE0NDg1LCAxMTQ0OTEsIDExNDQ5OCwgMTE0NTA1LCAxMTQ1MTEsIAotICAgIDExNDUxNywgMTE0NTI0LCAxMTQ1MzAsIDExNDUzNywgMTE0NTQ0LCAxMTQ1NTEsIDExNDU1OCwgMTE0NTY1LCAxMTQ1NzEsIAotICAgIDExNDU3OCwgMTE0NTg1LCAxMTQ1OTIsIDExNDU5OCwgMTE0NjA1LCAxMTQ2MTIsIDExNDYxOSwgMTE0NjI1LCAxMTQ2MzIsIAotICAgIDExNDYzOSwgMTE0NjQ1LCAxMTQ2NTEsIDExNDY1NywgMTE0NjYzLCAxMTQ2NzAsIDExNDY3NywgMTE0NjgzLCAxMTQ2ODksIAotICAgIDExNDY5NiwgMTE0NzAyLCAxMTQ3MDksIDExNDcxNiwgMTE0NzIzLCAxMTQ3MzAsIDExNDczNywgMTE0NzQyLCAxMTQ3NDgsIAotICAgIDExNDc1NCwgMTE0NzYwLCAxMTQ3NjUsIDExNDc3MSwgMTE0Nzc3LCAxMTQ3ODMsIDExNDc4OCwgMTE0Nzk0LCAxMTQ4MDAsIAotICAgIDExNDgwNSwgMTE0ODEwLCAxMTQ4MTUsIDExNDgyMCwgMTE0ODI2LCAxMTQ4MzIsIDExNDgzNywgMTE0ODQyLCAxMTQ4NDgsIAotICAgIDExNDg1MywgMTE0ODU5LCAxMTQ4NjUsIDExNDg3MSwgMTE0ODc3LCAxMTQ4ODMsIDExNDg4OCwgMTE0ODk0LCAxMTQ5MDAsIAotICAgIDExNDkwNiwgMTE0OTExLCAxMTQ5MTcsIDExNDkyMywgMTE0OTI5LCAxMTQ5MzQsIDExNDk0MCwgMTE0OTQ2LCAxMTQ5NTEsIAotICAgIDExNDk1NiwgMTE0OTYxLCAxMTQ5NjYsIDExNDk3MiwgMTE0OTc4LCAxMTQ5ODMsIDExNDk4OCwgMTE0OTk0LCAxMTQ5OTksIAotICAgIDExNTAwNSwgMTE1MDExLCAxMTUwMTcsIDExNTAyMywgMTE1MDI5LCAxMTUwMzUsIDAsIDAsIDExNTA0MiwgMTE1MDQ3LCAKLSAgICAxMTUwNTIsIDExNTA1NywgMTE1MDYyLCAxMTUwNjcsIDExNTA3MiwgMTE1MDc3LCAxMTUwODIsIDExNTA4NywgMTE1MDkyLCAKLSAgICAxMTUwOTcsIDExNTEwMiwgMTE1MTA3LCAxMTUxMTIsIDExNTExNywgMTE1MTIyLCAxMTUxMjcsIDExNTEzMywgMTE1MTM4LCAKLSAgICAxMTUxNDMsIDExNTE0OCwgMTE1MTUzLCAxMTUxNTgsIDExNTE2MywgMTE1MTY4LCAxMTUxNzIsIDExNTE3NywgMTE1MTgyLCAKLSAgICAxMTUxODcsIDExNTE5MiwgMTE1MTk3LCAxMTUyMDIsIDExNTIwNywgMTE1MjEyLCAxMTUyMTcsIDExNTIyMiwgMTE1MjI3LCAKLSAgICAxMTUyMzIsIDExNTIzNywgMTE1MjQyLCAxMTUyNDcsIDExNTI1MiwgMTE1MjU3LCAxMTUyNjMsIDExNTI2OCwgMTE1MjczLCAKLSAgICAxMTUyNzgsIDExNTI4MywgMTE1Mjg4LCAxMTUyOTMsIDExNTI5OCwgMTE1MzA0LCAxMTUzMDksIDExNTMxNCwgMTE1MzE5LCAKLSAgICAxMTUzMjQsIDExNTMyOSwgMTE1MzM0LCAxMTUzMzksIDExNTM0NCwgMTE1MzQ5LCAxMTUzNTQsIDExNTM1OSwgMTE1MzY0LCAKLSAgICAxMTUzNjksIDExNTM3NCwgMTE1Mzc5LCAxMTUzODQsIDExNTM4OSwgMTE1Mzk0LCAxMTUzOTksIDExNTQwNCwgMTE1NDA5LCAKLSAgICAxMTU0MTQsIDExNTQxOSwgMTE1NDI1LCAxMTU0MzAsIDExNTQzNSwgMTE1NDQwLCAxMTU0NDUsIDExNTQ1MCwgMTE1NDU1LCAKLSAgICAxMTU0NjAsIDExNTQ2NCwgMTE1NDY5LCAxMTU0NzQsIDExNTQ3OSwgMTE1NDg0LCAxMTU0ODksIDExNTQ5NCwgMTE1NDk5LCAKLSAgICAxMTU1MDQsIDExNTUwOSwgMTE1NTE0LCAxMTU1MTksIDExNTUyNCwgMTE1NTI5LCAxMTU1MzQsIDExNTUzOSwgMTE1NTQ0LCAKLSAgICAxMTU1NDksIDExNTU1NSwgMTE1NTYwLCAxMTU1NjUsIDExNTU3MCwgMTE1NTc1LCAxMTU1ODAsIDExNTU4NSwgMTE1NTkwLCAKLSAgICAxMTU1OTYsIDExNTYwMSwgMTE1NjA2LCAxMTU2MTEsIDExNTYxNiwgMTE1NjIxLCAxMTU2MjYsIDExNTYzMiwgMTE1NjM4LCAKLSAgICAxMTU2NDQsIDExNTY1MCwgMTE1NjU2LCAxMTU2NjIsIDExNTY2OCwgMTE1Njc0LCAxMTU2ODAsIDExNTY4NiwgMTE1NjkyLCAKLSAgICAxMTU2OTgsIDExNTcwNCwgMTE1NzEwLCAxMTU3MTYsIDExNTcyMiwgMTE1NzI4LCAxMTU3MzUsIDExNTc0MSwgMTE1NzQ3LCAKLSAgICAxMTU3NTMsIDExNTc1OSwgMTE1NzY1LCAxMTU3NzEsIDExNTc3NywgMTE1NzgyLCAxMTU3ODgsIDExNTc5NCwgMTE1ODAwLCAKLSAgICAxMTU4MDYsIDExNTgxMiwgMTE1ODE4LCAxMTU4MjQsIDExNTgzMCwgMTE1ODM2LCAxMTU4NDIsIDExNTg0OCwgMTE1ODU0LCAKLSAgICAxMTU4NjAsIDExNTg2NiwgMTE1ODcyLCAxMTU4NzgsIDExNTg4NCwgMTE1ODkxLCAxMTU4OTcsIDExNTkwMywgMTE1OTA5LCAKLSAgICAxMTU5MTUsIDExNTkyMSwgMTE1OTI3LCAxMTU5MzMsIDExNTk0MCwgMTE1OTQ2LCAxMTU5NTIsIDExNTk1OCwgMTE1OTY0LCAKLSAgICAxMTU5NzAsIDExNTk3NiwgMTE1OTgyLCAxMTU5ODgsIDExNTk5NCwgMTE2MDAwLCAxMTYwMDYsIDExNjAxMiwgMTE2MDE4LCAKLSAgICAxMTYwMjQsIDExNjAzMCwgMTE2MDM2LCAxMTYwNDIsIDExNjA0OCwgMTE2MDU0LCAxMTYwNjAsIDExNjA2NiwgMTE2MDcyLCAKLSAgICAxMTYwNzgsIDExNjA4NSwgMTE2MDkxLCAxMTYwOTcsIDExNjEwMywgMTE2MTA5LCAxMTYxMTUsIDExNjEyMSwgMTE2MTI3LCAKLSAgICAxMTYxMzIsIDExNjEzOCwgMTE2MTQ0LCAxMTYxNTAsIDExNjE1NiwgMTE2MTYyLCAxMTYxNjgsIDExNjE3NCwgMTE2MTgwLCAKLSAgICAxMTYxODYsIDExNjE5MiwgMTE2MTk4LCAxMTYyMDQsIDExNjIxMCwgMTE2MjE2LCAxMTYyMjIsIDExNjIyOCwgMTE2MjM0LCAKLSAgICAxMTYyNDEsIDExNjI0NywgMTE2MjUzLCAxMTYyNTksIDExNjI2NSwgMTE2MjcxLCAxMTYyNzcsIDExNjI4MywgMTE2MjkwLCAKLSAgICAxMTYyOTYsIDExNjMwMiwgMTE2MzA4LCAxMTYzMTQsIDExNjMyMCwgMTE2MzI2LCAxMTYzMzMsIDExNjM0MCwgMTE2MzQ3LCAKLSAgICAxMTYzNTQsIDExNjM2MSwgMTE2MzY4LCAxMTYzNzUsIDExNjM4MiwgMTE2Mzg5LCAxMTYzOTYsIDExNjQwMywgMTE2NDEwLCAKLSAgICAxMTY0MTcsIDExNjQyNCwgMTE2NDMxLCAxMTY0MzgsIDExNjQ0NSwgMTE2NDUzLCAxMTY0NjAsIDExNjQ2NywgMTE2NDc0LCAKLSAgICAxMTY0ODEsIDExNjQ4OCwgMTE2NDk1LCAxMTY1MDIsIDExNjUwOCwgMTE2NTE1LCAxMTY1MjIsIDExNjUyOSwgMTE2NTM2LCAKLSAgICAxMTY1NDMsIDExNjU1MCwgMTE2NTU3LCAxMTY1NjQsIDExNjU3MSwgMTE2NTc4LCAxMTY1ODUsIDExNjU5MiwgMTE2NTk5LCAKLSAgICAxMTY2MDYsIDExNjYxMywgMTE2NjIwLCAxMTY2MjcsIDExNjYzNSwgMTE2NjQyLCAxMTY2NDksIDExNjY1NiwgMTE2NjYzLCAKLSAgICAxMTY2NzAsIDExNjY3NywgMTE2Njg0LCAxMTY2OTIsIDExNjY5OSwgMTE2NzA2LCAxMTY3MTMsIDExNjcyMCwgMTE2NzI3LCAKLSAgICAxMTY3MzQsIDExNjczOSwgMCwgMCwgMTE2NzQ0LCAxMTY3NDksIDExNjc1MywgMTE2NzU3LCAxMTY3NjEsIDExNjc2NSwgCi0gICAgMTE2NzY5LCAxMTY3NzMsIDExNjc3NywgMTE2NzgxLCAxMTY3ODUsIDExNjc5MCwgMTE2Nzk0LCAxMTY3OTgsIDExNjgwMiwgCi0gICAgMTE2ODA2LCAxMTY4MTAsIDExNjgxNCwgMTE2ODE4LCAxMTY4MjIsIDExNjgyNiwgMTE2ODMxLCAxMTY4MzUsIDExNjgzOSwgCi0gICAgMTE2ODQzLCAxMTY4NDcsIDExNjg1MSwgMTE2ODU1LCAxMTY4NTksIDExNjg2MywgMTE2ODY3LCAxMTY4NzMsIDExNjg3OCwgCi0gICAgMTE2ODgzLCAxMTY4ODgsIDExNjg5MywgMTE2ODk4LCAxMTY5MDMsIDExNjkwOCwgMTE2OTEzLCAxMTY5MTgsIDExNjkyNCwgCi0gICAgMTE2OTI5LCAxMTY5MzQsIDExNjkzOSwgMTE2OTQ0LCAxMTY5NDksIDExNjk1NCwgMTE2OTU5LCAxMTY5NjQsIDExNjk2OSwgCi0gICAgMTE2OTc2LCAxMTY5ODMsIDExNjk5MCwgMTE2OTk3LCAxMTcwMDQsIDExNzAxMSwgMTE3MDE3LCAxMTcwMjQsIDExNzAzMSwgCi0gICAgMTE3MDM4LCAxMTcwNDYsIDExNzA1NCwgMTE3MDYyLCAxMTcwNzAsIDExNzA3OCwgMTE3MDg2LCAxMTcwOTMsIDExNzEwMCwgCi0gICAgMTE3MTA3LCAxMTcxMTUsIDExNzEyMywgMTE3MTMxLCAxMTcxMzksIDExNzE0NywgMTE3MTU1LCAxMTcxNjIsIDExNzE2OSwgCi0gICAgMTE3MTc2LCAxMTcxODQsIDExNzE5MiwgMTE3MjAwLCAxMTcyMDgsIDExNzIxNiwgMTE3MjI0LCAxMTcyMjksIDExNzIzNCwgCi0gICAgMTE3MjM5LCAxMTcyNDQsIDExNzI0OSwgMTE3MjU0LCAxMTcyNTksIDExNzI2NCwgMTE3MjY5LCAwLCAwLCAwLCAwLCAKLSAgICAxMTcyNzQsIDExNzI3OSwgMTE3MjgzLCAxMTcyODcsIDExNzI5MSwgMTE3Mjk1LCAxMTcyOTksIDExNzMwMywgMTE3MzA3LCAKLSAgICAxMTczMTEsIDExNzMxNSwgMTE3MzE5LCAxMTczMjMsIDExNzMyNywgMTE3MzMxLCAxMTczMzUsIDExNzMzOSwgMTE3MzQzLCAKLSAgICAxMTczNDcsIDExNzM1MSwgMTE3MzU1LCAxMTczNTksIDExNzM2MywgMTE3MzY3LCAxMTczNzEsIDExNzM3NSwgMTE3Mzc5LCAKLSAgICAxMTczODMsIDExNzM4NywgMTE3MzkxLCAxMTczOTUsIDExNzM5OSwgMTE3NDAzLCAxMTc0MDcsIDExNzQxMSwgMTE3NDE1LCAKLSAgICAxMTc0MTksIDExNzQyMywgMTE3NDI3LCAxMTc0MzEsIDExNzQzNSwgMTE3NDM5LCAxMTc0NDMsIDExNzQ0NywgMTE3NDUxLCAKLSAgICAxMTc0NTUsIDExNzQ1OSwgMTE3NDYzLCAxMTc0NjcsIDExNzQ3MSwgMTE3NDc1LCAxMTc0ODAsIDExNzQ4NCwgMTE3NDg4LCAKLSAgICAxMTc0OTIsIDExNzQ5NiwgMTE3NTAwLCAxMTc1MDQsIDExNzUwOCwgMTE3NTEyLCAxMTc1MTYsIDExNzUyMCwgMTE3NTI0LCAKLSAgICAxMTc1MjgsIDExNzUzMiwgMTE3NTM2LCAxMTc1NDAsIDExNzU0NCwgMTE3NTQ4LCAxMTc1NTIsIDExNzU1NiwgMTE3NTYwLCAKLSAgICAxMTc1NjQsIDExNzU2OCwgMTE3NTcyLCAxMTc1NzYsIDExNzU4MCwgMTE3NTg0LCAxMTc1ODgsIDExNzU5MiwgMTE3NTk2LCAKLSAgICAxMTc2MDAsIDExNzYwNCwgMTE3NjA4LCAxMTc2MTIsIDExNzYxNiwgMTE3NjIwLCAxMTc2MjQsIDExNzYyOCwgMTE3NjMyLCAKLSAgICAxMTc2MzYsIDExNzY0MCwgMTE3NjQ0LCAxMTc2NDgsIDExNzY1MiwgMTE3NjU2LCAxMTc2NjAsIDExNzY2NCwgMTE3NjY4LCAKLSAgICAxMTc2NzIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDExNzY3NiwgMTE3NjgyLCAxMTc2OTEsIAotICAgIDExNzY5OSwgMTE3NzA3LCAxMTc3MTYsIDExNzcyNSwgMTE3NzM0LCAxMTc3NDMsIDExNzc1MiwgMTE3NzYxLCAxMTc3NzAsIAotICAgIDExNzc3OSwgMTE3Nzg4LCAxMTc3OTcsIDAsIDAsIDExNzgwNiwgMTE3ODE1LCAxMTc4MjMsIDExNzgzMSwgMTE3ODQwLCAKLSAgICAxMTc4NDksIDExNzg1OCwgMTE3ODY3LCAxMTc4NzYsIDExNzg4NSwgMTE3ODk0LCAxMTc5MDMsIDExNzkxMiwgMTE3OTIxLCAKLSAgICAwLCAwLCAxMTc5MzAsIDExNzkzOSwgMTE3OTQ3LCAxMTc5NTUsIDExNzk2NCwgMTE3OTczLCAxMTc5ODIsIDExNzk5MSwgCi0gICAgMTE4MDAwLCAxMTgwMDksIDExODAxOCwgMTE4MDI3LCAxMTgwMzYsIDExODA0NSwgMTE4MDU0LCAwLCAxMTgwNjEsIAotICAgIDExODA3MCwgMTE4MDc4LCAxMTgwODYsIDExODA5NSwgMTE4MTA0LCAxMTgxMTMsIDExODEyMiwgMTE4MTMxLCAxMTgxNDAsIAotICAgIDExODE0OSwgMTE4MTU4LCAxMTgxNjcsIDExODE3NiwgMTE4MTg1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMTgxOTIsIAotICAgIDExODE5OSwgMTE4MjA0LCAxMTgyMDgsIDExODIxMiwgMTE4MjE2LCAxMTgyMjEsIDExODIyNiwgMTE4MjMxLCAxMTgyMzYsIAotICAgIDExODI0MSwgMCwgMCwgMCwgMCwgMCwgMTE4MjQ2LCAxMTgyNTEsIDExODI1NywgMTE4MjYzLCAxMTgyNjksIDExODI3NCwgCi0gICAgMTE4MjgwLCAxMTgyODYsIDExODI5MiwgMTE4Mjk3LCAxMTgzMDMsIDExODMwOSwgMTE4MzE0LCAxMTgzMTksIDExODMyNCwgCi0gICAgMTE4MzI5LCAxMTgzMzUsIDExODM0MSwgMTE4MzQ2LCAxMTgzNTEsIDExODM1NywgMTE4MzYyLCAxMTgzNjgsIDExODM3NCwgCi0gICAgMTE4MzgwLCAxMTgzODYsIDExODM5MiwgMTE4NDAyLCAxMTg0MDksIDExODQxNSwgMTE4NDE4LCAwLCAxMTg0MjEsIAotICAgIDExODQyNiwgMTE4NDMyLCAxMTg0MzgsIDExODQ0NCwgMTE4NDQ5LCAxMTg0NTUsIDExODQ2MSwgMTE4NDY3LCAxMTg0NzIsIAotICAgIDExODQ3OCwgMTE4NDg0LCAxMTg0ODksIDExODQ5NCwgMTE4NDk5LCAxMTg1MDQsIDExODUxMCwgMTE4NTE2LCAxMTg1MjEsIAotICAgIDExODUyNiwgMTE4NTMyLCAxMTg1MzcsIDExODU0MywgMTE4NTQ5LCAxMTg1NTUsIDExODU2MSwgMTE4NTY3LCAxMTg1NzAsIAotICAgIDExODU3MywgMTE4NTc2LCAxMTg1NzksIDExODU4MiwgMTE4NTg1LCAxMTg1OTEsIDExODU5OCwgMTE4NjA1LCAxMTg2MTIsIAotICAgIDExODYxOCwgMTE4NjI1LCAxMTg2MzIsIDExODYzOSwgMTE4NjQ1LCAxMTg2NTIsIDExODY1OSwgMTE4NjY1LCAxMTg2NzEsIAotICAgIDExODY3NywgMTE4NjgzLCAxMTg2OTAsIDExODY5NywgMTE4NzAzLCAxMTg3MDksIDExODcxNiwgMTE4NzIyLCAxMTg3MjksIAotICAgIDExODczNiwgMTE4NzQzLCAxMTg3NTAsIDAsIDAsIDAsIDAsIDAsIDAsIDExODc1NywgMTE4NzYzLCAxMTg3NzAsIDExODc3NywgCi0gICAgMTE4Nzg0LCAxMTg3OTAsIDExODc5NywgMTE4ODA0LCAxMTg4MTEsIDExODgxNywgMTE4ODI0LCAxMTg4MzEsIDExODgzNywgCi0gICAgMTE4ODQzLCAxMTg4NDksIDExODg1NSwgMTE4ODYyLCAxMTg4NjksIDExODg3NSwgMTE4ODgxLCAxMTg4ODgsIDExODg5NCwgCi0gICAgMTE4OTAxLCAxMTg5MDgsIDExODkxNSwgMTE4OTIyLCAxMTg5MjksIDExODkzOCwgMTE4OTQyLCAxMTg5NDUsIDExODk0OSwgCi0gICAgMTE4OTUzLCAxMTg5NTcsIDExODk2MCwgMTE4OTYzLCAxMTg5NjYsIDExODk2OSwgMTE4OTcyLCAxMTg5NzUsIDExODk3OCwgCi0gICAgMTE4OTgxLCAxMTg5ODQsIDExODk5MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTE4OTkzLCAxMTkwMDAsIDExOTAwOCwgMTE5MDE2LCAxMTkwMjQsIAotICAgIDExOTAzMSwgMTE5MDM5LCAxMTkwNDcsIDExOTA1NSwgMTE5MDYyLCAxMTkwNzAsIDExOTA3OCwgMTE5MDg1LCAxMTkwOTIsIAotICAgIDExOTA5OSwgMTE5MTA2LCAxMTkxMTQsIDExOTEyMiwgMTE5MTI5LCAxMTkxMzYsIDExOTE0NCwgMTE5MTUxLCAxMTkxNTksIAotICAgIDExOTE2NywgMTE5MTc1LCAxMTkxODMsIDExOTE5MSwgMTE5MTk1LCAxMTkxOTksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDExOTIwMywgMTE5MjA5LCAxMTkyMTUsIDExOTIyMSwgMTE5MjI1LCAxMTkyMzEsIDExOTIzNywgCi0gICAgMTE5MjQzLCAxMTkyNDksIDExOTI1NSwgMTE5MjYxLCAxMTkyNjcsIDExOTI3MywgMTE5Mjc5LCAxMTkyODUsIDExOTI5MSwgCi0gICAgMTE5Mjk3LCAxMTkzMDMsIDExOTMwOSwgMTE5MzE1LCAxMTkzMjEsIDExOTMyNywgMTE5MzMzLCAxMTkzMzksIDExOTM0NSwgCi0gICAgMTE5MzUxLCAxMTkzNTcsIDExOTM2MywgMTE5MzY5LCAxMTkzNzUsIDExOTM4MSwgMTE5Mzg3LCAxMTkzOTMsIDExOTM5OSwgCi0gICAgMTE5NDA1LCAxMTk0MTEsIDExOTQxNywgMTE5NDIzLCAxMTk0MjksIDExOTQzNSwgMTE5NDQxLCAxMTk0NDcsIDExOTQ1MywgCi0gICAgMCwgMCwgMCwgMCwgMCwgMTE5NDU5LCAxMTk0NzAsIDExOTQ4MSwgMTE5NDkyLCAxMTk1MDMsIDExOTUxNCwgMTE5NTI1LCAKLSAgICAxMTk1MzYsIDExOTU0NywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTE5NTU4LCAxMTk1NjIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDExOTU2NiwgMTE5NTY4LCAxMTk1NzAsIAotICAgIDExOTU3NCwgMTE5NTc5LCAxMTk1ODQsIDExOTU4NiwgMTE5NTkyLCAxMTk1OTcsIDExOTU5OSwgMTE5NjA1LCAxMTk2MDksIAotICAgIDExOTYxMSwgMTE5NjE1LCAxMTk2MjEsIDExOTYyNywgMTE5NjMzLCAxMTk2MzgsIDExOTY0MiwgMTE5NjQ5LCAxMTk2NTYsIAotICAgIDExOTY2MywgMTE5NjY4LCAxMTk2NzUsIDExOTY4MiwgMTE5Njg5LCAxMTk2OTMsIDExOTY5OSwgMTE5NzA4LCAxMTk3MTcsIAotICAgIDExOTcyNCwgMTE5NzI5LCAxMTk3MzMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDExOTczNywgMTE5NzM5LCAxMTk3NDEsIDExOTc0NSwgMTE5NzQ5LCAxMTk3NTMsIDAsIDExOTc1NSwgMTE5NzU3LCAKLSAgICAxMTk3NjEsIDExOTc2MywgMTE5NzY1LCAxMTk3NjcsIDExOTc2OSwgMTE5Nzc0LCAxMTk3NzksIDExOTc4MSwgMTE5Nzg3LCAKLSAgICAxMTk3OTEsIDExOTc5NSwgMTE5ODAzLCAxMTk4MDUsIDExOTgwNywgMTE5ODA5LCAxMTk4MTEsIDExOTgxMywgMTE5ODE1LCAKLSAgICAxMTk4MTcsIDExOTgxOSwgMTE5ODIxLCAxMTk4MjMsIDExOTgyNywgMTE5ODMxLCAxMTk4MzMsIDExOTgzNSwgMTE5ODM3LCAKLSAgICAxMTk4MzksIDExOTg0MSwgMTE5ODQ2LCAxMTk4NTIsIDExOTg1NiwgMTE5ODYwLCAxMTk4NjQsIDExOTg2OCwgMTE5ODczLCAKLSAgICAxMTk4NzcsIDExOTg3OSwgMTE5ODgxLCAxMTk4ODUsIDExOTg5MSwgMTE5ODkzLCAxMTk4OTUsIDExOTg5NywgMTE5OTAxLCAKLSAgICAxMTk5MTAsIDExOTkxNiwgMTE5OTIwLCAxMTk5MjQsIDExOTkyNiwgMTE5OTI4LCAxMTk5MzEsIDExOTkzMywgMTE5OTM1LCAKLSAgICAxMTk5MzcsIDExOTk0MSwgMTE5OTQzLCAxMTk5NDcsIDExOTk1MiwgMTE5OTU0LCAxMTk5NTksIDExOTk2NSwgMTE5OTcyLCAKLSAgICAxMTk5NzYsIDExOTk4MCwgMTE5OTg0LCAxMTk5ODgsIDExOTk5NCwgMCwgMCwgMCwgMTE5OTk4LCAxMjAwMDAsIDEyMDAwNCwgCi0gICAgMTIwMDA4LCAxMjAwMTAsIDEyMDAxNCwgMTIwMDE4LCAxMjAwMjAsIDEyMDAyNCwgMTIwMDI2LCAxMjAwMzAsIDEyMDAzNCwgCi0gICAgMTIwMDM4LCAxMjAwNDIsIDEyMDA0NiwgMTIwMDUwLCAxMjAwNTQsIDEyMDA1OCwgMTIwMDY0LCAxMjAwNjgsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEyMDA3MiwgMTIwMDc2LCAxMjAwODAsIDEyMDA4NCwgMTIwMDkxLCAKLSAgICAxMjAwOTMsIDEyMDA5NywgMTIwMDk5LCAxMjAxMDEsIDEyMDEwNSwgMTIwMTA5LCAxMjAxMTMsIDEyMDExNSwgMTIwMTE5LCAKLSAgICAxMjAxMjMsIDEyMDEyNywgMTIwMTMxLCAxMjAxMzUsIDEyMDEzNywgMTIwMTQxLCAxMjAxNDMsIDEyMDE0OSwgMTIwMTUyLCAKLSAgICAxMjAxNTcsIDEyMDE1OSwgMTIwMTYxLCAxMjAxNjQsIDEyMDE2NiwgMTIwMTY4LCAxMjAxNzEsIDEyMDE3OCwgMTIwMTg1LCAKLSAgICAxMjAxOTIsIDEyMDE5NywgMTIwMjAxLCAxMjAyMDMsIDEyMDIwNSwgMCwgMTIwMjA3LCAxMjAyMDksIDEyMDIxMywgCi0gICAgMTIwMjE3LCAxMjAyMjEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDEyMDIyMywgMTIwMjI3LCAxMjAyMzIsIDEyMDIzNiwgMTIwMjQyLCAxMjAyNDgsIDEyMDI1MCwgMTIwMjUyLCAKLSAgICAxMjAyNTgsIDEyMDI2MCwgMTIwMjY0LCAxMjAyNjgsIDEyMDI3MCwgMTIwMjc0LCAxMjAyNzYsIDEyMDI4MCwgMTIwMjg0LCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMjAyODgsIDEyMDI5MCwgMTIwMjkyLCAKLSAgICAxMjAyOTQsIDEyMDI5OCwgMTIwMzAwLCAxMjAzMDIsIDEyMDMwNCwgMTIwMzA2LCAxMjAzMDgsIDEyMDMxMCwgMTIwMzEyLCAKLSAgICAxMjAzMTQsIDEyMDMxNiwgMTIwMzE4LCAxMjAzMjAsIDEyMDMyMiwgMTIwMzI0LCAxMjAzMjYsIDEyMDMyOCwgMTIwMzMwLCAKLSAgICAxMjAzMzIsIDEyMDMzNCwgMTIwMzM2LCAxMjAzMzgsIDEyMDM0MCwgMTIwMzQyLCAxMjAzNDYsIDEyMDM0OCwgMTIwMzUwLCAKLSAgICAxMjAzNTIsIDEyMDM1NiwgMTIwMzU4LCAxMjAzNjIsIDEyMDM2NCwgMTIwMzY2LCAxMjAzNzAsIDEyMDM3NCwgMTIwMzgwLCAKLSAgICAxMjAzODIsIDEyMDM4NCwgMTIwMzg2LCAxMjAzODgsIDEyMDM5MiwgMTIwMzk2LCAxMjAzOTgsIDEyMDQwMiwgMTIwNDA2LCAKLSAgICAxMjA0MTAsIDEyMDQxNCwgMTIwNDE4LCAxMjA0MjIsIDEyMDQyNiwgMTIwNDMwLCAxMjA0MzQsIDEyMDQzOCwgMTIwNDQyLCAKLSAgICAxMjA0NDYsIDEyMDQ1MCwgMTIwNDU0LCAxMjA0NTgsIDEyMDQ2MiwgMTIwNDY2LCAwLCAxMjA0NzAsIDAsIDEyMDQ3MiwgCi0gICAgMTIwNDc0LCAxMjA0NzYsIDEyMDQ3OCwgMTIwNDgwLCAxMjA0ODgsIDEyMDQ5NiwgMTIwNTA0LCAxMjA1MTIsIDEyMDUxNywgCi0gICAgMTIwNTIyLCAxMjA1MjcsIDEyMDUzMSwgMTIwNTM1LCAxMjA1NDAsIDEyMDU0NSwgMTIwNTQ3LCAxMjA1NTEsIDEyMDU1MywgCi0gICAgMTIwNTU1LCAxMjA1NTcsIDEyMDU1OSwgMTIwNTYxLCAxMjA1NjMsIDEyMDU2NSwgMTIwNTY5LCAxMjA1NzEsIDEyMDU3MywgCi0gICAgMTIwNTc1LCAxMjA1NzksIDEyMDU4MywgMTIwNTg3LCAxMjA1OTEsIDEyMDU5NSwgMTIwNTk3LCAxMjA2MDMsIDEyMDYwOSwgCi0gICAgMTIwNjExLCAxMjA2MTMsIDEyMDYxNSwgMTIwNjE3LCAxMjA2MTksIDEyMDYyOCwgMTIwNjM1LCAxMjA2NDIsIDEyMDY0NiwgCi0gICAgMTIwNjUzLCAxMjA2NTgsIDEyMDY2NSwgMTIwNjc0LCAxMjA2NzksIDEyMDY4MywgMTIwNjg3LCAxMjA2ODksIDEyMDY5MywgCi0gICAgMTIwNjk1LCAxMjA2OTksIDEyMDcwMywgMTIwNzA1LCAxMjA3MDksIDEyMDcxMywgMTIwNzE3LCAxMjA3MTksIDEyMDcyMSwgCi0gICAgMTIwNzI3LCAxMjA3MjksIDEyMDczMSwgMTIwNzMzLCAxMjA3MzcsIDEyMDc0MSwgMTIwNzQzLCAxMjA3NDcsIDEyMDc0OSwgCi0gICAgMTIwNzUxLCAxMjA3NTQsIDEyMDc1OCwgMTIwNzYwLCAxMjA3NjQsIDEyMDc2NiwgMTIwNzY4LCAxMjA3NzMsIDEyMDc3NSwgCi0gICAgMTIwNzc5LCAxMjA3ODMsIDEyMDc4NiwgMTIwNzkwLCAxMjA3OTQsIDEyMDc5OCwgMTIwODAyLCAxMjA4MDYsIDEyMDgxMCwgCi0gICAgMTIwODE0LCAxMjA4MTksIDEyMDgyMywgMTIwODI3LCAxMjA4MzYsIDEyMDg0MSwgMTIwODQ0LCAxMjA4NDYsIDEyMDg0OSwgCi0gICAgMTIwODUyLCAxMjA4NTcsIDEyMDg1OSwgMTIwODYyLCAxMjA4NjcsIDEyMDg3MSwgMTIwODc0LCAxMjA4NzgsIDEyMDg4MiwgCi0gICAgMTIwODg1LCAxMjA4OTAsIDEyMDg5NCwgMTIwODk4LCAxMjA5MDIsIDEyMDkwNiwgMTIwOTEyLCAxMjA5MTgsIDEyMDkyNCwgCi0gICAgMTIwOTMwLCAxMjA5MzUsIDEyMDk0NiwgMTIwOTQ4LCAxMjA5NTIsIDEyMDk1NCwgMTIwOTU2LCAxMjA5NjAsIDEyMDk2NCwgCi0gICAgMTIwOTY2LCAxMjA5NzAsIDEyMDk3NiwgMTIwOTgxLCAxMjA5ODcsIDEyMDk4OSwgMTIwOTkzLCAxMjA5OTcsIDEyMTAwNCwgCi0gICAgMTIxMDExLCAxMjEwMTUsIDEyMTAxNywgMTIxMDE5LCAxMjEwMjMsIDEyMTAyNSwgMTIxMDI5LCAxMjEwMzMsIDEyMTAzNywgCi0gICAgMTIxMDM5LCAxMjEwNDEsIDEyMTA0OCwgMTIxMDUyLCAxMjEwNTYsIDEyMTA2MCwgMTIxMDY0LCAxMjEwNjgsIDEyMTA3MCwgCi0gICAgMTIxMDc0LCAxMjEwNzYsIDEyMTA3OCwgMTIxMDgyLCAxMjEwODQsIDEyMTA4OCwgMTIxMDkyLCAxMjEwOTgsIDEyMTEwMiwgCi0gICAgMTIxMTA2LCAxMjExMTAsIDEyMTExMiwgMTIxMTE1LCAxMjExMTksIDEyMTEyNiwgMTIxMTM1LCAxMjExNDQsIDEyMTE1MywgCi0gICAgMTIxMTYyLCAxMjExNjQsIDEyMTE2OCwgMTIxMTcwLCAxMjExNzQsIDEyMTE4NSwgMTIxMTg5LCAxMjExOTUsIDEyMTIwMSwgCi0gICAgMTIxMjA2LCAwLCAxMjEyMDgsIDEyMTIxMiwgMTIxMjE0LCAxMjEyMTYsIDAsIDAsIDAsIDEyMTIxOCwgMTIxMjIzLCAKLSAgICAxMjEyMzQsIDEyMTI1MCwgMTIxMjYzLCAxMjEyNzYsIDEyMTI4MCwgMTIxMjg0LCAxMjEyOTAsIDEyMTI5MiwgMTIxMzAwLCAKLSAgICAxMjEzMDgsIDEyMTMxMCwgMTIxMzE0LCAxMjEzMjAsIDEyMTMyNiwgMTIxMzMzLCAxMjEzNDAsIDEyMTM0MiwgMTIxMzQ0LCAKLSAgICAxMjEzNDgsIDEyMTM1MCwgMTIxMzU2LCAxMjEzNTgsIDEyMTM2MSwgMTIxMzY1LCAxMjEzNzEsIDEyMTM3NywgMTIxMzg4LCAKLSAgICAxMjEzOTQsIDEyMTQwMSwgMTIxNDA5LCAxMjE0MTMsIDEyMTQyMSwgMTIxNDI5LCAxMjE0MzUsIDEyMTQ0MSwgMTIxNDQ4LCAKLSAgICAxMjE0NTAsIDEyMTQ1NCwgMTIxNDU2LCAxMjE0NTgsIDEyMTQ2MywgMTIxNDY1LCAxMjE0NjcsIDEyMTQ2OSwgMTIxNDcxLCAKLSAgICAxMjE0NzUsIDEyMTQ4NiwgMTIxNDkyLCAxMjE0OTYsIDEyMTUwMCwgMTIxNTA0LCAxMjE1MTAsIDEyMTUxNiwgMTIxNTIyLCAKLSAgICAxMjE1MjgsIDEyMTUzMywgMTIxNTM4LCAxMjE1NDQsIDEyMTU1MCwgMTIxNTU3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMjE1NjQsIDEyMTU3MSwgMTIxNTc4LCAxMjE1ODUsIDEyMTU5MywgCi0gICAgMTIxNjAxLCAxMjE2MDksIDEyMTYxNywgMTIxNjI1LCAxMjE2MzMsIDEyMTY0MSwgMTIxNjQ5LCAxMjE2NTcsIDEyMTY2MywgCi0gICAgMTIxNjY5LCAxMjE2NzUsIDEyMTY4MSwgMTIxNjg3LCAxMjE2OTMsIDEyMTY5OSwgMTIxNzA1LCAxMjE3MTEsIDEyMTcxNywgCi0gICAgMTIxNzIzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMTA3MTAsIDExMDcxNSwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMTIxNzI5LCAxMjE3MzMsIDEyMTczNywgMTIxNzQyLCAxMjE3NDcsIDAsIDEyMTc0OSwgMTIxNzU4LCAKLSAgICAxMjE3NjYsIDEyMTc3NSwgMTIxNzg5LCAxMjE4MDMsIDEyMTgxNywgMTIxODI0LCAxMjE4MzEsIDEyMTgzNSwgMTIxODQ0LCAKLSAgICAxMjE4NTIsIDEyMTg1NiwgMTIxODY1LCAxMjE4NzIsIDEyMTg3NiwgMCwgMTIxODgwLCAxMjE4ODQsIDEyMTg5MSwgMCwgCi0gICAgMTIxODk1LCAwLCAxMjE4OTksIDAsIDEyMTkwNiwgMCwgMTIxOTE1LCAxMjE5MjcsIDEyMTkzOSwgMCwgMTIxOTQzLCAKLSAgICAxMjE5NDcsIDEyMTk1MSwgMTIxOTU1LCAxMjE5NTksIDEyMTk2NywgMCwgMCwgMTIxOTc1LCAxMjE5NzksIDEyMTk4MywgCi0gICAgMTIxOTg3LCAwLCAxMjE5OTEsIDAsIDAsIDEyMTk5NywgMTIyMDA5LCAxMjIwMTcsIDEyMjAyMSwgMCwgMTIyMDI1LCAKLSAgICAxMjIwMjksIDEyMjAzNSwgMTIyMDQyLCAxMjIwNTMsIDEyMjA2MywgMTIyMDc0LCAxMjIwODUsIDEyMjA5NCwgMTIyMTA1LCAKLSAgICAxMjIxMTEsIDEyMjExNywgMCwgMCwgMCwgMCwgMTIyMTIzLCAxMjIxMzIsIDEyMjEzOSwgMTIyMTQ1LCAxMjIxNDksIAotICAgIDEyMjE1MywgMTIyMTU3LCAxMjIxNjYsIDEyMjE3OCwgMTIyMTgyLCAxMjIxODksIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDExMDcyMSwgMTEwNzI2LCAxMTA3MzEsIDExMDczNiwgMTEwNzQzLCAxMTA3NTAsIDExMDc1NywgMTEwNzY0LCAxMTA3NjksIAorICAgIDExMDc3NCwgMTEwNzc5LCAxMTA3ODQsIDExMDc5MSwgMTEwNzk2LCAxMTA4MDMsIDExMDgxMCwgMTEwODE1LCAxMTA4MjAsIAorICAgIDExMDgyNSwgMTEwODMyLCAxMTA4MzcsIDExMDg0MiwgMTEwODQ5LCAxMTA4NTYsIDExMDg2MSwgMTEwODY2LCAxMTA4NzEsIAorICAgIDExMDg3OCwgMTEwODg1LCAxMTA4OTIsIDExMDg5NywgMTEwOTAyLCAxMTA5MDksIDExMDkxNiwgMTEwOTIzLCAxMTA5MzAsIAorICAgIDExMDkzNSwgMTEwOTQwLCAxMTA5NDUsIDExMDk1MiwgMTEwOTU3LCAxMTA5NjIsIDExMDk2NywgMTEwOTc0LCAxMTA5ODMsIAorICAgIDExMDk5MCwgMTEwOTk1LCAxMTEwMDAsIDExMTAwNSwgMTExMDEwLCAxMTEwMTUsIDExMTAyMCwgMTExMDI5LCAxMTEwMzYsIAorICAgIDExMTA0MSwgMTExMDQ4LCAxMTEwNTUsIDExMTA2MCwgMTExMDY1LCAxMTEwNzAsIDExMTA3NywgMTExMDgyLCAxMTEwODksIAorICAgIDExMTA5NiwgMTExMTAxLCAxMTExMDYsIDExMTExMSwgMTExMTE4LCAxMTExMjUsIDExMTEzMCwgMTExMTM1LCAxMTExNDIsIAorICAgIDExMTE0OSwgMTExMTU2LCAxMTExNjEsIDExMTE2NiwgMTExMTcxLCAxMTExNzYsIDExMTE4MywgMTExMTkyLCAxMTEyMDEsIAorICAgIDExMTIwNiwgMTExMjEzLCAxMTEyMjIsIDExMTIyNywgMTExMjMyLCAxMTEyMzcsIDExMTI0MiwgMTExMjQ5LCAxMTEyNTYsIAorICAgIDExMTI2MywgMTExMjcwLCAxMTEyNzUsIDExMTI4MCwgMTExMjg1LCAxMTEyOTIsIDExMTI5OSwgMTExMzA2LCAxMTEzMTEsIAorICAgIDExMTMxNiwgMTExMzIzLCAxMTEzMjgsIDExMTMzNSwgMTExMzQwLCAxMTEzNDcsIDExMTM1MiwgMTExMzU5LCAxMTEzNjYsIAorICAgIDExMTM3MSwgMTExMzc2LCAxMTEzODEsIDExMTM4NiwgMTExMzkxLCAxMTEzOTYsIDExMTQwMSwgMTExNDA2LCAxMTE0MTEsIAorICAgIDExMTQxOCwgMTExNDI1LCAxMTE0MzIsIDExMTQzOSwgMTExNDQ2LCAxMTE0NTUsIDExMTQ2MCwgMTExNDY1LCAxMTE0NzIsIAorICAgIDExMTQ3OSwgMTExNDg0LCAxMTE0OTEsIDExMTQ5OCwgMTExNTA1LCAxMTE1MTIsIDExMTUxOSwgMTExNTI2LCAxMTE1MzEsIAorICAgIDExMTUzNiwgMTExNTQxLCAxMTE1NDYsIDExMTU1MSwgMTExNTYwLCAxMTE1NjksIDExMTU3OCwgMTExNTg3LCAxMTE1OTYsIAorICAgIDExMTYwNSwgMTExNjE0LCAxMTE2MjMsIDExMTYyOCwgMTExNjM5LCAxMTE2NTAsIDExMTY1OSwgMTExNjY0LCAxMTE2NjksIAorICAgIDExMTY3NCwgMTExNjc5LCAxMTE2ODgsIDExMTY5NSwgMTExNzAyLCAxMTE3MDksIDExMTcxNiwgMTExNzIzLCAxMTE3MzAsIAorICAgIDExMTczOSwgMTExNzQ4LCAxMTE3NTksIDExMTc2OCwgMTExNzc5LCAxMTE3ODgsIDExMTc5NSwgMTExODA0LCAxMTE4MTUsIAorICAgIDExMTgyNCwgMTExODMzLCAxMTE4NDIsIDExMTg1MSwgMTExODU4LCAxMTE4NjUsIDExMTg3MiwgMTExODgxLCAxMTE4OTAsIAorICAgIDExMTkwMSwgMTExOTEwLCAxMTE5MTksIDExMTkzMCwgMTExOTM1LCAxMTE5NDAsIDExMTk1MSwgMTExOTU5LCAxMTE5NjgsIAorICAgIDExMTk3NywgMTExOTg2LCAxMTE5OTcsIDExMjAwNiwgMTEyMDE1LCAxMTIwMjYsIDExMjAzNywgMTEyMDQ4LCAxMTIwNTksIAorICAgIDExMjA3MCwgMTEyMDgxLCAxMTIwODgsIDExMjA5NSwgMTEyMTAyLCAxMTIxMDksIDExMjEyMCwgMTEyMTI5LCAxMTIxMzYsIAorICAgIDExMjE0MywgMTEyMTUwLCAxMTIxNjEsIDExMjE3MiwgMTEyMTgzLCAxMTIxOTQsIDExMjIwNSwgMTEyMjE2LCAxMTIyMjcsIAorICAgIDExMjIzOCwgMTEyMjQ1LCAxMTIyNTIsIDExMjI2MSwgMTEyMjcwLCAxMTIyNzcsIDExMjI4NCwgMTEyMjkxLCAxMTIzMDAsIAorICAgIDExMjMwOSwgMTEyMzE4LCAxMTIzMjUsIDExMjMzNCwgMTEyMzQzLCAxMTIzNTIsIDExMjM1OSwgMTEyMzY2LCAxMTIzNzEsIAorICAgIDExMjM3NywgMTEyMzg0LCAxMTIzOTEsIDExMjM5OCwgMTEyNDA1LCAxMTI0MTIsIDExMjQxOSwgMTEyNDI4LCAxMTI0MzcsIAorICAgIDExMjQ0NiwgMTEyNDU1LCAxMTI0NjIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDExMjQ3MSwgMTEyNDc3LCAKKyAgICAxMTI0ODIsIDExMjQ4NywgMTEyNDk0LCAxMTI1MDAsIDExMjUwNiwgMTEyNTEyLCAxMTI1MTgsIDExMjUyNCwgMTEyNTMwLCAKKyAgICAxMTI1MzYsIDExMjU0MCwgMTEyNTQ0LCAxMTI1NTAsIDExMjU1NiwgMTEyNTYyLCAxMTI1NjYsIDExMjU3MSwgMTEyNTc2LCAKKyAgICAxMTI1ODAsIDExMjU4NCwgMTEyNTg3LCAxMTI1OTMsIDExMjU5OSwgMTEyNjA1LCAxMTI2MTEsIDExMjYxNywgMTEyNjIzLCAKKyAgICAxMTI2MjksIDExMjYzNSwgMTEyNjQxLCAxMTI2NTEsIDExMjY2MSwgMTEyNjY3LCAxMTI2NzMsIDExMjY4MywgMTEyNjkzLCAKKyAgICAxMTI2OTksIDAsIDAsIDExMjcwNSwgMTEyNzEzLCAxMTI3MTgsIDExMjcyMywgMTEyNzI5LCAxMTI3MzUsIDExMjc0MSwgCisgICAgMTEyNzQ3LCAxMTI3NTMsIDExMjc1OSwgMTEyNzY2LCAxMTI3NzMsIDExMjc3OSwgMTEyNzg1LCAxMTI3OTEsIDExMjc5NywgCisgICAgMTEyODAzLCAxMTI4MDksIDExMjgxNSwgMTEyODIxLCAxMTI4MjYsIDExMjgzMiwgMTEyODM4LCAxMTI4NDQsIDExMjg1MCwgCisgICAgMTEyODU2LCAxMTI4NjUsIDExMjg3MSwgMTEyODc2LCAxMTI4ODQsIDExMjg5MSwgMTEyODk4LCAxMTI5MDcsIDExMjkxNiwgCisgICAgMTEyOTI1LCAxMTI5MzQsIDExMjk0MywgMTEyOTUyLCAxMTI5NjEsIDExMjk3MCwgMTEyOTgwLCAxMTI5OTAsIDExMjk5OCwgCisgICAgMTEzMDA2LCAxMTMwMTUsIDExMzAyNCwgMTEzMDMwLCAxMTMwMzYsIDExMzA0MiwgMTEzMDQ4LCAxMTMwNTYsIDExMzA2NCwgCisgICAgMTEzMDY4LCAxMTMwNzQsIDExMzA3OSwgMTEzMDg1LCAxMTMwOTEsIDExMzA5NywgMTEzMTAzLCAxMTMxMDksIDExMzExOCwgCisgICAgMTEzMTIzLCAxMTMxMzAsIDExMzEzNSwgMTEzMTQwLCAxMTMxNDUsIDExMzE1MSwgMTEzMTU3LCAxMTMxNjMsIDExMzE3MCwgCisgICAgMTEzMTc1LCAxMTMxODAsIDExMzE4NSwgMTEzMTkwLCAxMTMxOTUsIDExMzIwMSwgMTEzMjA3LCAxMTMyMTMsIDExMzIxOSwgCisgICAgMTEzMjI1LCAxMTMyMzEsIDExMzIzNywgMTEzMjQzLCAxMTMyNDgsIDExMzI1MywgMTEzMjU4LCAxMTMyNjMsIDExMzI2OCwgCisgICAgMTEzMjczLCAxMTMyNzgsIDExMzI4MywgMTEzMjg5LCAxMTMyOTUsIDExMzMwMCwgMTEzMzA1LCAxMTMzMTAsIDExMzMxNSwgCisgICAgMTEzMzIwLCAxMTMzMjYsIDExMzMzMywgMTEzMzM3LCAxMTMzNDEsIDExMzM0NSwgMTEzMzQ5LCAxMTMzNTMsIDExMzM1NywgCisgICAgMTEzMzYxLCAxMTMzNjUsIDExMzM3MywgMTEzMzgzLCAxMTMzODcsIDExMzM5MSwgMTEzMzk3LCAxMTM0MDMsIDExMzQwOSwgCisgICAgMTEzNDE1LCAxMTM0MjEsIDExMzQyNywgMTEzNDMzLCAxMTM0MzksIDExMzQ0NSwgMTEzNDUxLCAxMTM0NTcsIDExMzQ2MywgCisgICAgMTEzNDY5LCAxMTM0NzUsIDExMzQ3OSwgMTEzNDgzLCAxMTM0OTAsIDExMzQ5NiwgMTEzNTAyLCAxMTM1MDgsIDExMzUxMywgCisgICAgMTEzNTIwLCAxMTM1MjUsIDExMzUzMSwgMTEzNTM3LCAxMTM1NDMsIDExMzU0OSwgMTEzNTU0LCAxMTM1NTgsIDExMzU2NCwgCisgICAgMTEzNTY4LCAxMTM1NzIsIDExMzU3NiwgMTEzNTgyLCAxMTM1ODgsIDExMzU5MiwgMTEzNTk4LCAxMTM2MDQsIDExMzYxMCwgCisgICAgMTEzNjE2LCAxMTM2MjIsIDExMzYzMCwgMTEzNjM4LCAxMTM2NDQsIDExMzY1MCwgMTEzNjU2LCAxMTM2NjIsIDExMzY3NCwgCisgICAgMTEzNjg2LCAxMTM3MDAsIDExMzcxMiwgMTEzNzI0LCAxMTM3MzgsIDExMzc1MiwgMTEzNzY2LCAxMTM3NzAsIDExMzc3OCwgCisgICAgMTEzNzg2LCAxMTM3OTEsIDExMzc5NSwgMTEzNzk5LCAxMTM4MDMsIDExMzgwNywgMTEzODExLCAxMTM4MTUsIDExMzgxOSwgCisgICAgMTEzODI1LCAxMTM4MzEsIDExMzgzNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTEzODQzLCAxMTM4NDksIAorICAgIDExMzg1NSwgMTEzODYxLCAxMTM4NjcsIDExMzg3MywgMTEzODc5LCAxMTM4ODUsIDExMzg5MSwgMTEzODk3LCAxMTM5MDMsIAorICAgIDExMzkwOSwgMTEzOTE1LCAxMTM5MjEsIDExMzkyNywgMTEzOTMzLCAxMTM5MzksIDExMzk0NSwgMTEzOTUxLCAxMTM5NTcsIAorICAgIDExMzk2MywgMTEzOTY5LCAxMTM5NzUsIDExMzk4MSwgMTEzOTg3LCAxMTM5OTMsIDExMzk5OSwgMTE0MDA1LCAxMTQwMTEsIAorICAgIDExNDAxNywgMTE0MDIzLCAxMTQwMjksIDExNDAzNSwgMTE0MDQxLCAxMTQwNDcsIDExNDA1MywgMTE0MDU5LCAxMTQwNjUsIAorICAgIDExNDA3MSwgMTE0MDc3LCAxMTQwODMsIDExNDA4OSwgMTE0MDk1LCAxMTQxMDEsIDExNDEwNywgMTE0MTEzLCAxMTQxMTksIAorICAgIDExNDEyNSwgMTE0MTMxLCAxMTQxMzcsIDExNDE0MywgMTE0MTQ5LCAxMTQxNTUsIDExNDE2MSwgMTE0MTY3LCAxMTQxNzMsIAorICAgIDExNDE3OSwgMTE0MTg1LCAxMTQxOTEsIDExNDE5NywgMTE0MjAzLCAxMTQyMDksIDExNDIxNSwgMTE0MjIxLCAxMTQyMjcsIAorICAgIDExNDIzMywgMTE0MjM5LCAxMTQyNDQsIDExNDI0OSwgMTE0MjU0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMjIxOTYsIDEyMjE5OCwgMTIyMjAwLCAKLSAgICAxMjIyMDQsIDEyMjIwOCwgMTIyMjEyLCAxMjIyMjEsIDEyMjIyMywgMTIyMjI1LCAxMjIyMjgsIDEyMjIzMCwgMTIyMjMyLCAKLSAgICAxMjIyMzYsIDEyMjIzOCwgMTIyMjQyLCAxMjIyNDQsIDEyMjI0OCwgMTIyMjUwLCAxMjIyNTIsIDEyMjI1NiwgMTIyMjYwLCAKLSAgICAxMjIyNjYsIDEyMjI2OCwgMTIyMjcyLCAxMjIyNzQsIDEyMjI3OCwgMTIyMjgyLCAxMjIyODYsIDEyMjI5MCwgMTIyMjkyLCAKLSAgICAxMjIyOTQsIDEyMjI5OCwgMTIyMzAyLCAxMjIzMDYsIDEyMjMxMCwgMTIyMzEyLCAxMjIzMTQsIDEyMjMxNiwgMTIyMzIxLCAKLSAgICAxMjIzMjYsIDEyMjMyOSwgMTIyMzM3LCAxMjIzNDUsIDEyMjM0NywgMTIyMzUyLCAxMjIzNTUsIDEyMjM2MCwgMTIyMzcxLCAKLSAgICAxMjIzNzgsIDEyMjM4MywgMTIyMzg4LCAxMjIzOTAsIDEyMjM5NCwgMTIyMzk2LCAxMjI0MDAsIDEyMjQwMiwgMTIyNDA2LCAKLSAgICAxMjI0MTAsIDEyMjQxMywgMTIyNDE2LCAxMjI0MTgsIDEyMjQyMSwgMTIyNDIzLCAxMjI0MjcsIDEyMjQyOSwgMTIyNDMxLCAKLSAgICAxMjI0MzMsIDEyMjQzNywgMTIyNDM5LCAxMjI0NDMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDExNDI1OCwgMTE0MjYzLCAxMTQyNzAsIDExNDI3NywgMTE0Mjg0LCAxMTQyOTEsIDExNDI5NiwgMTE0MzAwLCAxMTQzMDYsIAorICAgIDExNDMxMCwgMTE0MzE0LCAxMTQzMjAsIDExNDMyNCwgMTE0MzI4LCAxMTQzMzIsIDExNDMzOCwgMTE0MzQ1LCAxMTQzNDksIAorICAgIDExNDM1MywgMTE0MzU3LCAxMTQzNjEsIDExNDM2NSwgMTE0MzY5LCAxMTQzNzUsIDExNDM3OSwgMTE0MzgzLCAxMTQzODcsIAorICAgIDExNDM5MSwgMTE0Mzk1LCAxMTQzOTksIDExNDQwMywgMTE0NDA3LCAxMTQ0MTEsIDExNDQxNSwgMTE0NDE5LCAxMTQ0MjMsIAorICAgIDExNDQyOCwgMTE0NDMyLCAxMTQ0MzYsIDExNDQ0MCwgMTE0NDQ0LCAxMTQ0NDgsIDExNDQ1MiwgMTE0NDU2LCAxMTQ0NjAsIAorICAgIDExNDQ2NCwgMTE0NDcxLCAxMTQ0NzUsIDExNDQ4MywgMTE0NDg3LCAxMTQ0OTEsIDExNDQ5NSwgMTE0NDk5LCAxMTQ1MDMsIAorICAgIDExNDUwNywgMTE0NTExLCAxMTQ1MTgsIDExNDUyMiwgMTE0NTI2LCAxMTQ1MzAsIDExNDUzNCwgMTE0NTM4LCAxMTQ1NDQsIAorICAgIDExNDU0OCwgMTE0NTU0LCAxMTQ1NTgsIDExNDU2MiwgMTE0NTY2LCAxMTQ1NzAsIDExNDU3NCwgMTE0NTc4LCAxMTQ1ODIsIAorICAgIDExNDU4NiwgMTE0NTkwLCAxMTQ1OTQsIDExNDU5OCwgMTE0NjAyLCAxMTQ2MDYsIDExNDYxMCwgMTE0NjE0LCAxMTQ2MTgsIAorICAgIDExNDYyMiwgMTE0NjI2LCAxMTQ2MzAsIDExNDYzOCwgMTE0NjQyLCAxMTQ2NDYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDExNDY1MCwgMTE0NjU4LCAxMTQ2NjYsIDExNDY3NCwgMTE0NjgyLCAxMTQ2OTAsIDExNDY5OCwgMTE0NzA2LCAKKyAgICAxMTQ3MTQsIDExNDcyMiwgMTE0NzMwLCAxMTQ3MzgsIDExNDc0NiwgMTE0NzU0LCAxMTQ3NjIsIDExNDc3MCwgMTE0Nzc4LCAKKyAgICAxMTQ3ODYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDExNDc5NCwgMTE0Nzk4LCAxMTQ4MDMsIAorICAgIDExNDgwOCwgMTE0ODEzLCAxMTQ4MTcsIDExNDgyMiwgMTE0ODI3LCAxMTQ4MzIsIDExNDgzNiwgMTE0ODQxLCAxMTQ4NDYsIAorICAgIDExNDg1MCwgMTE0ODU0LCAxMTQ4NTksIDExNDg2MywgMTE0ODY4LCAxMTQ4NzMsIDExNDg3NywgMTE0ODgyLCAxMTQ4ODcsIAorICAgIDExNDg5MSwgMTE0ODk2LCAxMTQ5MDEsIDExNDkwNiwgMTE0OTExLCAxMTQ5MTYsIDExNDkyMCwgMTE0OTI1LCAxMTQ5MzAsIAorICAgIDExNDkzNSwgMTE0OTM5LCAxMTQ5NDQsIDExNDk0OSwgMTE0OTU0LCAxMTQ5NTgsIDExNDk2MywgMTE0OTY4LCAxMTQ5NzIsIAorICAgIDExNDk3NiwgMTE0OTgxLCAxMTQ5ODUsIDExNDk5MCwgMTE0OTk1LCAxMTQ5OTksIDExNTAwNCwgMTE1MDA5LCAxMTUwMTMsIAorICAgIDExNTAxOCwgMTE1MDIzLCAxMTUwMjgsIDExNTAzMywgMTE1MDM4LCAxMTUwNDIsIDExNTA0NywgMTE1MDUyLCAxMTUwNTcsIAorICAgIDExNTA2MSwgMTE1MDY2LCAxMTUwNzEsIDExNTA3NiwgMTE1MDgwLCAxMTUwODUsIDExNTA5MCwgMTE1MDk0LCAxMTUwOTgsIAorICAgIDExNTEwMywgMTE1MTA3LCAxMTUxMTIsIDExNTExNywgMTE1MTIxLCAxMTUxMjYsIDExNTEzMSwgMTE1MTM1LCAxMTUxNDAsIAorICAgIDExNTE0NSwgMTE1MTUwLCAxMTUxNTUsIDExNTE2MCwgMTE1MTY0LCAxMTUxNjksIDExNTE3NCwgMTE1MTc5LCAxMTUxODMsIAorICAgIDExNTE4OCwgMCwgMTE1MTkzLCAxMTUxOTcsIDExNTIwMiwgMTE1MjA3LCAxMTUyMTEsIDExNTIxNSwgMTE1MjIwLCAKKyAgICAxMTUyMjQsIDExNTIyOSwgMTE1MjM0LCAxMTUyMzgsIDExNTI0MywgMTE1MjQ4LCAxMTUyNTIsIDExNTI1NywgMTE1MjYyLCAKKyAgICAxMTUyNjcsIDExNTI3MiwgMTE1Mjc3LCAxMTUyODIsIDExNTI4OCwgMTE1Mjk0LCAxMTUzMDAsIDExNTMwNSwgMTE1MzExLCAKKyAgICAxMTUzMTcsIDExNTMyMywgMTE1MzI4LCAxMTUzMzQsIDExNTM0MCwgMTE1MzQ1LCAxMTUzNTAsIDExNTM1NiwgMTE1MzYxLCAKKyAgICAxMTUzNjcsIDExNTM3MywgMTE1Mzc4LCAxMTUzODQsIDExNTM5MCwgMTE1Mzk1LCAxMTU0MDEsIDExNTQwNywgMTE1NDEzLCAKKyAgICAxMTU0MTksIDExNTQyNSwgMTE1NDMwLCAxMTU0MzYsIDExNTQ0MiwgMTE1NDQ4LCAxMTU0NTMsIDExNTQ1OSwgMTE1NDY1LCAKKyAgICAxMTU0NzEsIDExNTQ3NiwgMTE1NDgyLCAxMTU0ODgsIDExNTQ5MywgMTE1NDk4LCAxMTU1MDQsIDExNTUwOSwgMTE1NTE1LCAKKyAgICAxMTU1MjEsIDExNTUyNiwgMTE1NTMyLCAxMTU1MzgsIDExNTU0MywgMTE1NTQ5LCAxMTU1NTUsIDExNTU2MSwgMTE1NTY3LCAKKyAgICAxMTU1NzMsIDAsIDExNTU3NywgMTE1NTgyLCAwLCAwLCAxMTU1ODcsIDAsIDAsIDExNTU5MiwgMTE1NTk3LCAwLCAwLCAKKyAgICAxMTU2MDIsIDExNTYwNywgMTE1NjExLCAxMTU2MTYsIDAsIDExNTYyMSwgMTE1NjI2LCAxMTU2MzEsIDExNTYzNSwgCisgICAgMTE1NjQwLCAxMTU2NDUsIDExNTY1MCwgMTE1NjU1LCAxMTU2NjAsIDExNTY2NCwgMTE1NjY5LCAxMTU2NzQsIDAsIAorICAgIDExNTY3OSwgMCwgMTE1Njg0LCAxMTU2ODksIDExNTY5MywgMTE1Njk4LCAxMTU3MDMsIDExNTcwNywgMTE1NzExLCAwLCAKKyAgICAxMTU3MTYsIDExNTcyMSwgMTE1NzI2LCAxMTU3MzAsIDExNTczNSwgMTE1NzQwLCAxMTU3NDQsIDExNTc0OSwgMTE1NzU0LCAKKyAgICAxMTU3NTksIDExNTc2NCwgMTE1NzY5LCAxMTU3NzQsIDExNTc4MCwgMTE1Nzg2LCAxMTU3OTIsIDExNTc5NywgMTE1ODAzLCAKKyAgICAxMTU4MDksIDExNTgxNSwgMTE1ODIwLCAxMTU4MjYsIDExNTgzMiwgMTE1ODM3LCAxMTU4NDIsIDExNTg0OCwgMTE1ODUzLCAKKyAgICAxMTU4NTksIDExNTg2NSwgMTE1ODcwLCAxMTU4NzYsIDExNTg4MiwgMTE1ODg3LCAxMTU4OTMsIDExNTg5OSwgMTE1OTA1LCAKKyAgICAxMTU5MTEsIDExNTkxNywgMTE1OTIyLCAxMTU5MjgsIDExNTkzNCwgMTE1OTQwLCAxMTU5NDUsIDExNTk1MSwgMTE1OTU3LCAKKyAgICAxMTU5NjMsIDExNTk2OCwgMTE1OTc0LCAxMTU5ODAsIDExNTk4NSwgMTE1OTkwLCAxMTU5OTYsIDExNjAwMSwgMTE2MDA3LCAKKyAgICAxMTYwMTMsIDExNjAxOCwgMTE2MDI0LCAxMTYwMzAsIDExNjAzNSwgMTE2MDQxLCAxMTYwNDcsIDExNjA1MywgMTE2MDU5LCAKKyAgICAxMTYwNjUsIDExNjA2OSwgMCwgMTE2MDc0LCAxMTYwNzksIDExNjA4MywgMTE2MDg4LCAwLCAwLCAxMTYwOTMsIDExNjA5OCwgCisgICAgMTE2MTAzLCAxMTYxMDcsIDExNjExMSwgMTE2MTE2LCAxMTYxMjAsIDExNjEyNSwgMCwgMTE2MTMwLCAxMTYxMzUsIAorICAgIDExNjE0MCwgMTE2MTQ0LCAxMTYxNDksIDExNjE1NCwgMTE2MTU5LCAwLCAxMTYxNjQsIDExNjE2OCwgMTE2MTczLCAKKyAgICAxMTYxNzgsIDExNjE4MywgMTE2MTg3LCAxMTYxOTIsIDExNjE5NywgMTE2MjAyLCAxMTYyMDYsIDExNjIxMSwgMTE2MjE2LCAKKyAgICAxMTYyMjAsIDExNjIyNCwgMTE2MjI5LCAxMTYyMzMsIDExNjIzOCwgMTE2MjQzLCAxMTYyNDcsIDExNjI1MiwgMTE2MjU3LCAKKyAgICAxMTYyNjEsIDExNjI2NiwgMTE2MjcxLCAxMTYyNzYsIDExNjI4MSwgMTE2Mjg2LCAxMTYyOTAsIDAsIDExNjI5NSwgCisgICAgMTE2MzAwLCAxMTYzMDQsIDExNjMwOSwgMCwgMTE2MzE0LCAxMTYzMTgsIDExNjMyMywgMTE2MzI4LCAxMTYzMzIsIDAsIAorICAgIDExNjMzNiwgMCwgMCwgMCwgMTE2MzQwLCAxMTYzNDUsIDExNjM1MCwgMTE2MzU0LCAxMTYzNTksIDExNjM2NCwgMTE2MzY5LCAKKyAgICAwLCAxMTYzNzQsIDExNjM3OCwgMTE2MzgzLCAxMTYzODgsIDExNjM5MywgMTE2Mzk3LCAxMTY0MDIsIDExNjQwNywgCisgICAgMTE2NDEyLCAxMTY0MTYsIDExNjQyMSwgMTE2NDI2LCAxMTY0MzAsIDExNjQzNCwgMTE2NDM5LCAxMTY0NDMsIDExNjQ0OCwgCisgICAgMTE2NDUzLCAxMTY0NTcsIDExNjQ2MiwgMTE2NDY3LCAxMTY0NzEsIDExNjQ3NiwgMTE2NDgxLCAxMTY0ODYsIDExNjQ5MSwgCisgICAgMTE2NDk2LCAxMTY1MDEsIDExNjUwNywgMTE2NTEzLCAxMTY1MTksIDExNjUyNCwgMTE2NTMwLCAxMTY1MzYsIDExNjU0MiwgCisgICAgMTE2NTQ3LCAxMTY1NTMsIDExNjU1OSwgMTE2NTY0LCAxMTY1NjksIDExNjU3NSwgMTE2NTgwLCAxMTY1ODYsIDExNjU5MiwgCisgICAgMTE2NTk3LCAxMTY2MDMsIDExNjYwOSwgMTE2NjE0LCAxMTY2MjAsIDExNjYyNiwgMTE2NjMyLCAxMTY2MzgsIDExNjY0NCwgCisgICAgMTE2NjQ5LCAxMTY2NTUsIDExNjY2MSwgMTE2NjY3LCAxMTY2NzIsIDExNjY3OCwgMTE2Njg0LCAxMTY2OTAsIDExNjY5NSwgCisgICAgMTE2NzAxLCAxMTY3MDcsIDExNjcxMiwgMTE2NzE3LCAxMTY3MjMsIDExNjcyOCwgMTE2NzM0LCAxMTY3NDAsIDExNjc0NSwgCisgICAgMTE2NzUxLCAxMTY3NTcsIDExNjc2MiwgMTE2NzY4LCAxMTY3NzQsIDExNjc4MCwgMTE2Nzg2LCAxMTY3OTIsIDExNjc5NiwgCisgICAgMTE2ODAxLCAxMTY4MDYsIDExNjgxMSwgMTE2ODE1LCAxMTY4MjAsIDExNjgyNSwgMTE2ODMwLCAxMTY4MzQsIDExNjgzOSwgCisgICAgMTE2ODQ0LCAxMTY4NDgsIDExNjg1MiwgMTE2ODU3LCAxMTY4NjEsIDExNjg2NiwgMTE2ODcxLCAxMTY4NzUsIDExNjg4MCwgCisgICAgMTE2ODg1LCAxMTY4ODksIDExNjg5NCwgMTE2ODk5LCAxMTY5MDQsIDExNjkwOSwgMTE2OTE0LCAxMTY5MTgsIDExNjkyMywgCisgICAgMTE2OTI4LCAxMTY5MzMsIDExNjkzNywgMTE2OTQyLCAxMTY5NDcsIDExNjk1MiwgMTE2OTU2LCAxMTY5NjEsIDExNjk2NiwgCisgICAgMTE2OTcwLCAxMTY5NzQsIDExNjk3OSwgMTE2OTgzLCAxMTY5ODgsIDExNjk5MywgMTE2OTk3LCAxMTcwMDIsIDExNzAwNywgCisgICAgMTE3MDExLCAxMTcwMTYsIDExNzAyMSwgMTE3MDI2LCAxMTcwMzEsIDExNzAzNiwgMTE3MDQxLCAxMTcwNDcsIDExNzA1MywgCisgICAgMTE3MDU5LCAxMTcwNjQsIDExNzA3MCwgMTE3MDc2LCAxMTcwODIsIDExNzA4NywgMTE3MDkzLCAxMTcwOTksIDExNzEwNCwgCisgICAgMTE3MTA5LCAxMTcxMTUsIDExNzEyMCwgMTE3MTI2LCAxMTcxMzIsIDExNzEzNywgMTE3MTQzLCAxMTcxNDksIDExNzE1NCwgCisgICAgMTE3MTYwLCAxMTcxNjYsIDExNzE3MiwgMTE3MTc4LCAxMTcxODQsIDExNzE4OSwgMTE3MTk1LCAxMTcyMDEsIDExNzIwNywgCisgICAgMTE3MjEyLCAxMTcyMTgsIDExNzIyNCwgMTE3MjMwLCAxMTcyMzUsIDExNzI0MSwgMTE3MjQ3LCAxMTcyNTIsIDExNzI1NywgCisgICAgMTE3MjYzLCAxMTcyNjgsIDExNzI3NCwgMTE3MjgwLCAxMTcyODUsIDExNzI5MSwgMTE3Mjk3LCAxMTczMDIsIDExNzMwOCwgCisgICAgMTE3MzE0LCAxMTczMjAsIDExNzMyNiwgMTE3MzMyLCAxMTczMzcsIDExNzM0MywgMTE3MzQ5LCAxMTczNTUsIDExNzM2MCwgCisgICAgMTE3MzY2LCAxMTczNzIsIDExNzM3OCwgMTE3MzgzLCAxMTczODksIDExNzM5NSwgMTE3NDAwLCAxMTc0MDUsIDExNzQxMSwgCisgICAgMTE3NDE2LCAxMTc0MjIsIDExNzQyOCwgMTE3NDMzLCAxMTc0MzksIDExNzQ0NSwgMTE3NDUwLCAxMTc0NTYsIDExNzQ2MiwgCisgICAgMTE3NDY4LCAxMTc0NzQsIDExNzQ4MCwgMTE3NDg1LCAxMTc0OTEsIDExNzQ5NywgMTE3NTAzLCAxMTc1MDgsIDExNzUxNCwgCisgICAgMTE3NTIwLCAxMTc1MjYsIDExNzUzMSwgMTE3NTM3LCAxMTc1NDMsIDExNzU0OCwgMTE3NTUzLCAxMTc1NTksIDExNzU2NCwgCisgICAgMTE3NTcwLCAxMTc1NzYsIDExNzU4MSwgMTE3NTg3LCAxMTc1OTMsIDExNzU5OCwgMTE3NjA0LCAxMTc2MTAsIDExNzYxNiwgCisgICAgMTE3NjIyLCAxMTc2MjgsIDExNzYzNCwgMTE3NjQxLCAxMTc2NDgsIDExNzY1NSwgMTE3NjYxLCAxMTc2NjgsIDExNzY3NSwgCisgICAgMTE3NjgyLCAxMTc2ODgsIDExNzY5NSwgMTE3NzAyLCAxMTc3MDgsIDExNzcxNCwgMTE3NzIxLCAxMTc3MjcsIDExNzczNCwgCisgICAgMTE3NzQxLCAxMTc3NDcsIDExNzc1NCwgMTE3NzYxLCAxMTc3NjcsIDExNzc3NCwgMTE3NzgxLCAxMTc3ODgsIDExNzc5NSwgCisgICAgMTE3ODAyLCAxMTc4MDgsIDExNzgxNSwgMTE3ODIyLCAxMTc4MjksIDExNzgzNSwgMTE3ODQyLCAxMTc4NDksIDExNzg1NiwgCisgICAgMTE3ODYyLCAxMTc4NjksIDExNzg3NiwgMTE3ODgyLCAxMTc4ODgsIDExNzg5NSwgMTE3OTAxLCAxMTc5MDgsIDExNzkxNSwgCisgICAgMTE3OTIxLCAxMTc5MjgsIDExNzkzNSwgMTE3OTQxLCAxMTc5NDgsIDExNzk1NSwgMTE3OTYyLCAxMTc5NjksIDExNzk3NiwgCisgICAgMTE3OTgxLCAxMTc5ODcsIDExNzk5MywgMTE3OTk5LCAxMTgwMDQsIDExODAxMCwgMTE4MDE2LCAxMTgwMjIsIDExODAyNywgCisgICAgMTE4MDMzLCAxMTgwMzksIDExODA0NCwgMTE4MDQ5LCAxMTgwNTUsIDExODA2MCwgMTE4MDY2LCAxMTgwNzIsIDExODA3NywgCisgICAgMTE4MDgzLCAxMTgwODksIDExODA5NCwgMTE4MTAwLCAxMTgxMDYsIDExODExMiwgMTE4MTE4LCAxMTgxMjQsIDExODEyOSwgCisgICAgMTE4MTM1LCAxMTgxNDEsIDExODE0NywgMTE4MTUyLCAxMTgxNTgsIDExODE2NCwgMTE4MTcwLCAxMTgxNzUsIDExODE4MSwgCisgICAgMTE4MTg3LCAxMTgxOTIsIDExODE5NywgMTE4MjAzLCAxMTgyMDgsIDExODIxNCwgMTE4MjIwLCAxMTgyMjUsIDExODIzMSwgCisgICAgMTE4MjM3LCAxMTgyNDIsIDExODI0OCwgMTE4MjU0LCAxMTgyNjAsIDExODI2NiwgMTE4MjcyLCAxMTgyNzgsIDAsIDAsIAorICAgIDExODI4NSwgMTE4MjkwLCAxMTgyOTUsIDExODMwMCwgMTE4MzA1LCAxMTgzMTAsIDExODMxNSwgMTE4MzIwLCAxMTgzMjUsIAorICAgIDExODMzMCwgMTE4MzM1LCAxMTgzNDAsIDExODM0NSwgMTE4MzUwLCAxMTgzNTUsIDExODM2MCwgMTE4MzY1LCAxMTgzNzAsIAorICAgIDExODM3NiwgMTE4MzgxLCAxMTgzODYsIDExODM5MSwgMTE4Mzk2LCAxMTg0MDEsIDExODQwNiwgMTE4NDExLCAxMTg0MTUsIAorICAgIDExODQyMCwgMTE4NDI1LCAxMTg0MzAsIDExODQzNSwgMTE4NDQwLCAxMTg0NDUsIDExODQ1MCwgMTE4NDU1LCAxMTg0NjAsIAorICAgIDExODQ2NSwgMTE4NDcwLCAxMTg0NzUsIDExODQ4MCwgMTE4NDg1LCAxMTg0OTAsIDExODQ5NSwgMTE4NTAwLCAxMTg1MDYsIAorICAgIDExODUxMSwgMTE4NTE2LCAxMTg1MjEsIDExODUyNiwgMTE4NTMxLCAxMTg1MzYsIDExODU0MSwgMTE4NTQ3LCAxMTg1NTIsIAorICAgIDExODU1NywgMTE4NTYyLCAxMTg1NjcsIDExODU3MiwgMTE4NTc3LCAxMTg1ODIsIDExODU4NywgMTE4NTkyLCAxMTg1OTcsIAorICAgIDExODYwMiwgMTE4NjA3LCAxMTg2MTIsIDExODYxNywgMTE4NjIyLCAxMTg2MjcsIDExODYzMiwgMTE4NjM3LCAxMTg2NDIsIAorICAgIDExODY0NywgMTE4NjUyLCAxMTg2NTcsIDExODY2MiwgMTE4NjY4LCAxMTg2NzMsIDExODY3OCwgMTE4NjgzLCAxMTg2ODgsIAorICAgIDExODY5MywgMTE4Njk4LCAxMTg3MDMsIDExODcwNywgMTE4NzEyLCAxMTg3MTcsIDExODcyMiwgMTE4NzI3LCAxMTg3MzIsIAorICAgIDExODczNywgMTE4NzQyLCAxMTg3NDcsIDExODc1MiwgMTE4NzU3LCAxMTg3NjIsIDExODc2NywgMTE4NzcyLCAxMTg3NzcsIAorICAgIDExODc4MiwgMTE4Nzg3LCAxMTg3OTIsIDExODc5OCwgMTE4ODAzLCAxMTg4MDgsIDExODgxMywgMTE4ODE4LCAxMTg4MjMsIAorICAgIDExODgyOCwgMTE4ODMzLCAxMTg4MzksIDExODg0NCwgMTE4ODQ5LCAxMTg4NTQsIDExODg1OSwgMTE4ODY0LCAxMTg4NjksIAorICAgIDExODg3NSwgMTE4ODgxLCAxMTg4ODcsIDExODg5MywgMTE4ODk5LCAxMTg5MDUsIDExODkxMSwgMTE4OTE3LCAxMTg5MjMsIAorICAgIDExODkyOSwgMTE4OTM1LCAxMTg5NDEsIDExODk0NywgMTE4OTUzLCAxMTg5NTksIDExODk2NSwgMTE4OTcxLCAxMTg5NzgsIAorICAgIDExODk4NCwgMTE4OTkwLCAxMTg5OTYsIDExOTAwMiwgMTE5MDA4LCAxMTkwMTQsIDExOTAyMCwgMTE5MDI1LCAxMTkwMzEsIAorICAgIDExOTAzNywgMTE5MDQzLCAxMTkwNDksIDExOTA1NSwgMTE5MDYxLCAxMTkwNjcsIDExOTA3MywgMTE5MDc5LCAxMTkwODUsIAorICAgIDExOTA5MSwgMTE5MDk3LCAxMTkxMDMsIDExOTEwOSwgMTE5MTE1LCAxMTkxMjEsIDExOTEyNywgMTE5MTM0LCAxMTkxNDAsIAorICAgIDExOTE0NiwgMTE5MTUyLCAxMTkxNTgsIDExOTE2NCwgMTE5MTcwLCAxMTkxNzYsIDExOTE4MywgMTE5MTg5LCAxMTkxOTUsIAorICAgIDExOTIwMSwgMTE5MjA3LCAxMTkyMTMsIDExOTIxOSwgMTE5MjI1LCAxMTkyMzEsIDExOTIzNywgMTE5MjQzLCAxMTkyNDksIAorICAgIDExOTI1NSwgMTE5MjYxLCAxMTkyNjcsIDExOTI3MywgMTE5Mjc5LCAxMTkyODUsIDExOTI5MSwgMTE5Mjk3LCAxMTkzMDMsIAorICAgIDExOTMwOSwgMTE5MzE1LCAxMTkzMjEsIDExOTMyOCwgMTE5MzM0LCAxMTkzNDAsIDExOTM0NiwgMTE5MzUyLCAxMTkzNTgsIAorICAgIDExOTM2NCwgMTE5MzcwLCAxMTkzNzUsIDExOTM4MSwgMTE5Mzg3LCAxMTkzOTMsIDExOTM5OSwgMTE5NDA1LCAxMTk0MTEsIAorICAgIDExOTQxNywgMTE5NDIzLCAxMTk0MjksIDExOTQzNSwgMTE5NDQxLCAxMTk0NDcsIDExOTQ1MywgMTE5NDU5LCAxMTk0NjUsIAorICAgIDExOTQ3MSwgMTE5NDc3LCAxMTk0ODQsIDExOTQ5MCwgMTE5NDk2LCAxMTk1MDIsIDExOTUwOCwgMTE5NTE0LCAxMTk1MjAsIAorICAgIDExOTUyNiwgMTE5NTMzLCAxMTk1MzksIDExOTU0NSwgMTE5NTUxLCAxMTk1NTcsIDExOTU2MywgMTE5NTY5LCAxMTk1NzYsIAorICAgIDExOTU4MywgMTE5NTkwLCAxMTk1OTcsIDExOTYwNCwgMTE5NjExLCAxMTk2MTgsIDExOTYyNSwgMTE5NjMyLCAxMTk2MzksIAorICAgIDExOTY0NiwgMTE5NjUzLCAxMTk2NjAsIDExOTY2NywgMTE5Njc0LCAxMTk2ODEsIDExOTY4OCwgMTE5Njk2LCAxMTk3MDMsIAorICAgIDExOTcxMCwgMTE5NzE3LCAxMTk3MjQsIDExOTczMSwgMTE5NzM4LCAxMTk3NDUsIDExOTc1MSwgMTE5NzU4LCAxMTk3NjUsIAorICAgIDExOTc3MiwgMTE5Nzc5LCAxMTk3ODYsIDExOTc5MywgMTE5ODAwLCAxMTk4MDcsIDExOTgxNCwgMTE5ODIxLCAxMTk4MjgsIAorICAgIDExOTgzNSwgMTE5ODQyLCAxMTk4NDksIDExOTg1NiwgMTE5ODYzLCAxMTk4NzAsIDExOTg3OCwgMTE5ODg1LCAxMTk4OTIsIAorICAgIDExOTg5OSwgMTE5OTA2LCAxMTk5MTMsIDExOTkyMCwgMTE5OTI3LCAxMTk5MzUsIDExOTk0MiwgMTE5OTQ5LCAxMTk5NTYsIAorICAgIDExOTk2MywgMTE5OTcwLCAxMTk5NzcsIDExOTk4MiwgMCwgMCwgMTE5OTg3LCAxMTk5OTIsIDExOTk5NiwgMTIwMDAwLCAKKyAgICAxMjAwMDQsIDEyMDAwOCwgMTIwMDEyLCAxMjAwMTYsIDEyMDAyMCwgMTIwMDI0LCAxMjAwMjgsIDEyMDAzMywgMTIwMDM3LCAKKyAgICAxMjAwNDEsIDEyMDA0NSwgMTIwMDQ5LCAxMjAwNTMsIDEyMDA1NywgMTIwMDYxLCAxMjAwNjUsIDEyMDA2OSwgMTIwMDc0LCAKKyAgICAxMjAwNzgsIDEyMDA4MiwgMTIwMDg2LCAxMjAwOTAsIDEyMDA5NCwgMTIwMDk4LCAxMjAxMDIsIDEyMDEwNiwgMTIwMTEwLCAKKyAgICAxMjAxMTYsIDEyMDEyMSwgMTIwMTI2LCAxMjAxMzEsIDEyMDEzNiwgMTIwMTQxLCAxMjAxNDYsIDEyMDE1MSwgMTIwMTU2LCAKKyAgICAxMjAxNjEsIDEyMDE2NywgMTIwMTcyLCAxMjAxNzcsIDEyMDE4MiwgMTIwMTg3LCAxMjAxOTIsIDEyMDE5NywgMTIwMjAyLCAKKyAgICAxMjAyMDcsIDEyMDIxMiwgMTIwMjE2LCAxMjAyMjAsIDEyMDIyNCwgMCwgMTIwMjI4LCAxMjAyMzIsIDEyMDIzNiwgCisgICAgMTIwMjQwLCAxMjAyNDQsIDEyMDI0OCwgMTIwMjUyLCAxMjAyNTYsIDEyMDI2MCwgMTIwMjY0LCAxMjAyNjgsIDEyMDI3MiwgCisgICAgMTIwMjc2LCAxMjAyODAsIDEyMDI4NCwgMTIwMjg4LCAxMjAyOTIsIDEyMDI5NiwgMTIwMzAwLCAxMjAzMDQsIDEyMDMwOCwgCisgICAgMTIwMzEyLCAxMjAzMTYsIDEyMDMyMCwgMTIwMzI2LCAxMjAzMzIsIDEyMDMzOCwgMCwgMTIwMzQ0LCAxMjAzNDksIDAsIAorICAgIDEyMDM1NCwgMCwgMCwgMTIwMzU5LCAwLCAxMjAzNjQsIDEyMDM2OSwgMTIwMzc0LCAxMjAzNzksIDEyMDM4NCwgMTIwMzg5LCAKKyAgICAxMjAzOTQsIDEyMDM5OSwgMTIwNDA0LCAxMjA0MDksIDAsIDEyMDQxNCwgMTIwNDE5LCAxMjA0MjQsIDEyMDQyOSwgMCwgCisgICAgMTIwNDM0LCAwLCAxMjA0MzksIDAsIDAsIDAsIDAsIDAsIDAsIDEyMDQ0NCwgMCwgMCwgMCwgMCwgMTIwNDUwLCAwLCAKKyAgICAxMjA0NTYsIDAsIDEyMDQ2MiwgMCwgMTIwNDY4LCAxMjA0NzQsIDEyMDQ4MCwgMCwgMTIwNDg2LCAxMjA0OTIsIDAsIAorICAgIDEyMDQ5OCwgMCwgMCwgMTIwNTA0LCAwLCAxMjA1MTAsIDAsIDEyMDUxNiwgMCwgMTIwNTIyLCAwLCAxMjA1MzAsIDAsIAorICAgIDEyMDUzOCwgMTIwNTQ0LCAwLCAxMjA1NTAsIDAsIDAsIDEyMDU1NiwgMTIwNTYyLCAxMjA1NjgsIDEyMDU3NCwgMCwgCisgICAgMTIwNTgwLCAxMjA1ODYsIDEyMDU5MiwgMTIwNTk4LCAxMjA2MDQsIDEyMDYxMCwgMTIwNjE2LCAwLCAxMjA2MjIsIAorICAgIDEyMDYyOCwgMTIwNjM0LCAxMjA2NDAsIDAsIDEyMDY0NiwgMTIwNjUyLCAxMjA2NTgsIDEyMDY2NCwgMCwgMTIwNjcyLCAwLCAKKyAgICAxMjA2ODAsIDEyMDY4NiwgMTIwNjkyLCAxMjA2OTgsIDEyMDcwNCwgMTIwNzEwLCAxMjA3MTYsIDEyMDcyMiwgMTIwNzI4LCAKKyAgICAxMjA3MzQsIDAsIDEyMDc0MCwgMTIwNzQ2LCAxMjA3NTIsIDEyMDc1OCwgMTIwNzY0LCAxMjA3NzAsIDEyMDc3NiwgCisgICAgMTIwNzgyLCAxMjA3ODgsIDEyMDc5NCwgMTIwODAwLCAxMjA4MDYsIDEyMDgxMiwgMTIwODE4LCAxMjA4MjQsIDEyMDgzMCwgCisgICAgMTIwODM2LCAwLCAwLCAwLCAwLCAwLCAxMjA4NDIsIDEyMDg0NywgMTIwODUyLCAwLCAxMjA4NTcsIDEyMDg2MiwgMTIwODY3LCAKKyAgICAxMjA4NzIsIDEyMDg3NywgMCwgMTIwODgyLCAxMjA4ODcsIDEyMDg5MiwgMTIwODk3LCAxMjA5MDIsIDEyMDkwNywgCisgICAgMTIwOTEyLCAxMjA5MTcsIDEyMDkyMiwgMTIwOTI3LCAxMjA5MzIsIDEyMDkzNywgMTIwOTQyLCAxMjA5NDcsIDEyMDk1MiwgCisgICAgMTIwOTU3LCAxMjA5NjIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEyMjQ0NiwgCi0gICAgMTIyNDUxLCAxMjI0NTYsIDEyMjQ2MSwgMTIyNDY2LCAxMjI0NzEsIDEyMjQ3NiwgMTIyNDgzLCAxMjI0OTAsIDEyMjQ5NywgCi0gICAgMTIyNTA0LCAxMjI1MDksIDEyMjUxNCwgMTIyNTE5LCAxMjI1MjQsIDEyMjUzMSwgMTIyNTM3LCAxMjI1NDQsIDEyMjU1MSwgCi0gICAgMTIyNTU4LCAxMjI1NjMsIDEyMjU2OCwgMTIyNTczLCAxMjI1NzgsIDEyMjU4MywgMTIyNTkwLCAxMjI1OTcsIDEyMjYwMiwgCi0gICAgMTIyNjA3LCAxMjI2MTQsIDEyMjYyMSwgMTIyNjI5LCAxMjI2MzcsIDEyMjY0NCwgMTIyNjUxLCAxMjI2NTksIDEyMjY2NywgCi0gICAgMTIyNjc1LCAxMjI2ODIsIDEyMjY5MiwgMTIyNzAzLCAxMjI3MDgsIDEyMjcxNSwgMTIyNzIyLCAxMjI3MjksIDEyMjczNywgCi0gICAgMTIyNzQ1LCAxMjI3NTYsIDEyMjc2NCwgMTIyNzcyLCAxMjI3ODAsIDEyMjc4NSwgMTIyNzkwLCAxMjI3OTUsIDEyMjgwMCwgCi0gICAgMTIyODA1LCAxMjI4MTAsIDEyMjgxNSwgMTIyODIwLCAxMjI4MjUsIDEyMjgzMCwgMTIyODM1LCAxMjI4NDAsIDEyMjg0NywgCi0gICAgMTIyODUyLCAxMjI4NTcsIDEyMjg2NCwgMTIyODY5LCAxMjI4NzQsIDEyMjg3OSwgMTIyODg0LCAxMjI4ODksIDEyMjg5NCwgCi0gICAgMTIyODk5LCAxMjI5MDQsIDEyMjkwOSwgMTIyOTE0LCAxMjI5MTksIDEyMjkyNCwgMTIyOTMxLCAxMjI5MzksIDEyMjk0NCwgCi0gICAgMTIyOTQ5LCAxMjI5NTYsIDEyMjk2MSwgMTIyOTY2LCAxMjI5NzEsIDEyMjk3OCwgMTIyOTgzLCAxMjI5OTAsIDEyMjk5NSwgCi0gICAgMTIzMDAyLCAxMjMwMDcsIDEyMzAxNiwgMTIzMDI1LCAxMjMwMzAsIDEyMzAzNSwgMTIzMDQwLCAxMjMwNDUsIDEyMzA1MCwgCi0gICAgMTIzMDU1LCAxMjMwNjAsIDEyMzA2NSwgMTIzMDcwLCAxMjMwNzUsIDEyMzA4MCwgMTIzMDg1LCAxMjMwOTAsIDEyMzA5OCwgCi0gICAgMTIzMTA2LCAxMjMxMTEsIDEyMzExNiwgMTIzMTIxLCAxMjMxMjYsIDEyMzEzMSwgMTIzMTM3LCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAxMjMxNDMsIDEyMzE0NywgMTIzMTUxLCAxMjMxNTUsIDEyMzE1OSwgMTIzMTYzLCAxMjMxNjcsIAotICAgIDEyMzE3MSwgMTIzMTc1LCAxMjMxNzksIDEyMzE4MywgMTIzMTg3LCAxMjMxOTEsIDEyMzE5NSwgMTIzMTk5LCAxMjMyMDMsIAotICAgIDEyMzIwNywgMTIzMjExLCAxMjMyMTUsIDEyMzIxOSwgMTIzMjIzLCAxMjMyMjcsIDEyMzIzMSwgMTIzMjM1LCAxMjMyMzksIAotICAgIDEyMzI0MywgMTIzMjQ3LCAxMjMyNTEsIDEyMzI1NSwgMTIzMjU5LCAxMjMyNjMsIDEyMzI2NywgMTIzMjcxLCAxMjMyNzUsIAotICAgIDEyMzI3OSwgMTIzMjgzLCAxMjMyODcsIDEyMzI5MSwgMTIzMjk1LCAxMjMyOTksIDEyMzMwMywgMTIzMzA3LCAxMjMzMTEsIAotICAgIDEyMzMxNSwgMTIzMzE5LCAxMjMzMjMsIDEyMzMyNywgMTIzMzMxLCAxMjMzMzUsIDEyMzMzOSwgMTIzMzQzLCAxMjMzNDcsIAotICAgIDEyMzM1MSwgMTIzMzU1LCAxMjMzNTksIDEyMzM2MywgMTIzMzY3LCAxMjMzNzEsIDEyMzM3NSwgMTIzMzc5LCAxMjMzODMsIAotICAgIDEyMzM4NywgMTIzMzkxLCAxMjMzOTUsIDEyMzM5OSwgMTIzNDAzLCAxMjM0MDcsIDEyMzQxMSwgMTIzNDE1LCAxMjM0MTksIAotICAgIDEyMzQyMywgMTIzNDI3LCAxMjM0MzEsIDEyMzQzNSwgMTIzNDM5LCAxMjM0NDMsIDEyMzQ0NywgMTIzNDUxLCAxMjM0NTUsIAotICAgIDEyMzQ1OSwgMTIzNDYzLCAxMjM0NjcsIDEyMzQ3MSwgMTIzNDc1LCAxMjM0NzksIDEyMzQ4MywgMTIzNDg3LCAxMjM0OTEsIAotICAgIDEyMzQ5NSwgMTIzNDk5LCAxMjM1MDMsIDEyMzUwNywgMTIzNTExLCAxMjM1MTUsIDEyMzUxOSwgMTIzNTIzLCAxMjM1MjcsIAotICAgIDEyMzUzMSwgMTIzNTM1LCAxMjM1MzksIDEyMzU0MywgMTIzNTQ3LCAxMjM1NTEsIDEyMzU1NSwgMTIzNTU5LCAxMjM1NjMsIAotICAgIDEyMzU2NywgMTIzNTcxLCAxMjM1NzUsIDEyMzU3OSwgMTIzNTgzLCAxMjM1ODcsIDEyMzU5MSwgMTIzNTk1LCAxMjM1OTksIAotICAgIDEyMzYwMywgMTIzNjA3LCAxMjM2MTEsIDEyMzYxNSwgMTIzNjE5LCAxMjM2MjMsIDEyMzYyNywgMTIzNjMxLCAxMjM2MzUsIAotICAgIDEyMzYzOSwgMTIzNjQzLCAxMjM2NDcsIDEyMzY1MSwgMTIzNjU1LCAxMjM2NTksIDEyMzY2MywgMTIzNjY3LCAxMjM2NzEsIAotICAgIDEyMzY3NSwgMTIzNjc5LCAxMjM2ODMsIDEyMzY4NywgMTIzNjkxLCAxMjM2OTUsIDEyMzY5OSwgMTIzNzAzLCAxMjM3MDcsIAotICAgIDEyMzcxMSwgMTIzNzE1LCAxMjM3MTksIDEyMzcyMywgMTIzNzI3LCAxMjM3MzEsIDEyMzczNSwgMTIzNzM5LCAxMjM3NDMsIAotICAgIDEyMzc0NywgMTIzNzUxLCAxMjM3NTUsIDEyMzc1OSwgMTIzNzYzLCAxMjM3NjcsIDEyMzc3MSwgMTIzNzc1LCAxMjM3NzksIAotICAgIDEyMzc4MywgMTIzNzg3LCAxMjM3OTEsIDEyMzc5NSwgMTIzNzk5LCAxMjM4MDMsIDEyMzgwNywgMTIzODExLCAxMjM4MTUsIAotICAgIDEyMzgxOSwgMTIzODIzLCAxMjM4MjcsIDEyMzgzMSwgMTIzODM1LCAxMjM4MzksIDEyMzg0MywgMTIzODQ3LCAxMjM4NTEsIAotICAgIDEyMzg1NSwgMTIzODU5LCAxMjM4NjMsIDEyMzg2NywgMTIzODcxLCAxMjM4NzUsIDEyMzg3OSwgMTIzODgzLCAxMjM4ODcsIAotICAgIDEyMzg5MSwgMTIzODk1LCAxMjM4OTksIDEyMzkwMywgMTIzOTA3LCAxMjM5MTEsIDEyMzkxNSwgMTIzOTE5LCAxMjM5MjMsIAotICAgIDEyMzkyNywgMTIzOTMxLCAxMjM5MzUsIDEyMzkzOSwgMTIzOTQzLCAxMjM5NDcsIDEyMzk1MSwgMTIzOTU1LCAxMjM5NTksIAotICAgIDEyMzk2MywgMTIzOTY3LCAxMjM5NzEsIDEyMzk3NSwgMTIzOTc5LCAxMjM5ODMsIDEyMzk4NywgMTIzOTkxLCAxMjM5OTUsIAotICAgIDEyMzk5OSwgMTI0MDAzLCAxMjQwMDcsIDEyNDAxMSwgMTI0MDE1LCAxMjQwMTksIDEyNDAyMywgMTI0MDI3LCAxMjQwMzEsIAotICAgIDEyNDAzNSwgMTI0MDM5LCAxMjQwNDMsIDEyNDA0NywgMTI0MDUxLCAxMjQwNTUsIDEyNDA1OSwgMTI0MDYzLCAxMjQwNjcsIAotICAgIDEyNDA3MSwgMTI0MDc1LCAxMjQwNzksIDEyNDA4MywgMTI0MDg3LCAxMjQwOTEsIDEyNDA5NSwgMTI0MDk5LCAxMjQxMDMsIAotICAgIDEyNDEwNywgMTI0MTExLCAxMjQxMTUsIDEyNDExOSwgMTI0MTIzLCAxMjQxMjcsIDEyNDEzMSwgMTI0MTM1LCAxMjQxMzksIAotICAgIDEyNDE0MywgMTI0MTQ3LCAxMjQxNTEsIDEyNDE1NSwgMTI0MTU5LCAxMjQxNjMsIDEyNDE2NywgMTI0MTcxLCAxMjQxNzUsIAotICAgIDEyNDE3OSwgMTI0MTgzLCAxMjQxODcsIDEyNDE5MSwgMTI0MTk1LCAxMjQxOTksIDEyNDIwMywgMTI0MjA3LCAxMjQyMTEsIAotICAgIDEyNDIxNSwgMTI0MjE5LCAxMjQyMjMsIDEyNDIyNywgMTI0MjMxLCAxMjQyMzUsIDEyNDIzOSwgMTI0MjQzLCAxMjQyNDcsIAotICAgIDEyNDI1MSwgMTI0MjU1LCAxMjQyNTksIDEyNDI2MywgMTI0MjY3LCAxMjQyNzEsIDEyNDI3NSwgMTI0Mjc5LCAxMjQyODMsIAotICAgIDEyNDI4NywgMTI0MjkxLCAxMjQyOTUsIDEyNDI5OSwgMTI0MzAzLCAxMjQzMDcsIDEyNDMxMSwgMTI0MzE1LCAxMjQzMTksIAotICAgIDEyNDMyMywgMTI0MzI3LCAxMjQzMzEsIDEyNDMzNSwgMTI0MzM5LCAxMjQzNDMsIDEyNDM0NywgMTI0MzUxLCAxMjQzNTUsIAotICAgIDEyNDM1OSwgMTI0MzYzLCAxMjQzNjcsIDEyNDM3MSwgMTI0Mzc1LCAxMjQzNzksIDEyNDM4MywgMTI0Mzg3LCAxMjQzOTEsIAotICAgIDEyNDM5NSwgMTI0Mzk5LCAxMjQ0MDMsIDEyNDQwNywgMTI0NDExLCAxMjQ0MTUsIDEyNDQxOSwgMTI0NDIzLCAxMjQ0MjcsIAotICAgIDEyNDQzMSwgMTI0NDM1LCAxMjQ0MzksIDEyNDQ0MywgMTI0NDQ3LCAxMjQ0NTEsIDEyNDQ1NSwgMTI0NDU5LCAxMjQ0NjMsIAotICAgIDEyNDQ2NywgMTI0NDcxLCAxMjQ0NzUsIDEyNDQ3OSwgMTI0NDgzLCAxMjQ0ODcsIDEyNDQ5MSwgMTI0NDk1LCAxMjQ0OTksIAotICAgIDEyNDUwMywgMTI0NTA3LCAxMjQ1MTEsIDEyNDUxNSwgMTI0NTE5LCAxMjQ1MjMsIDEyNDUyNywgMTI0NTMxLCAxMjQ1MzUsIAotICAgIDEyNDUzOSwgMTI0NTQzLCAxMjQ1NDcsIDEyNDU1MSwgMTI0NTU1LCAxMjQ1NTksIDEyNDU2MywgMTI0NTY3LCAxMjQ1NzEsIAotICAgIDEyNDU3NSwgMTI0NTc5LCAxMjQ1ODMsIDEyNDU4NywgMTI0NTkxLCAxMjQ1OTUsIDEyNDU5OSwgMTI0NjAzLCAxMjQ2MDcsIAotICAgIDEyNDYxMSwgMTI0NjE1LCAxMjQ2MTksIDEyNDYyMywgMTI0NjI3LCAxMjQ2MzEsIDEyNDYzNSwgMTI0NjM5LCAxMjQ2NDMsIAotICAgIDEyNDY0NywgMTI0NjUxLCAxMjQ2NTUsIDEyNDY1OSwgMTI0NjYzLCAxMjQ2NjcsIDEyNDY3MSwgMTI0Njc1LCAxMjQ2NzksIAotICAgIDEyNDY4MywgMTI0Njg3LCAxMjQ2OTEsIDEyNDY5NSwgMTI0Njk5LCAxMjQ3MDMsIDEyNDcwNywgMTI0NzExLCAxMjQ3MTUsIAotICAgIDEyNDcxOSwgMTI0NzIzLCAxMjQ3MjcsIDEyNDczMSwgMTI0NzM1LCAxMjQ3MzksIDEyNDc0MywgMTI0NzQ3LCAxMjQ3NTEsIAotICAgIDEyNDc1NSwgMTI0NzU5LCAxMjQ3NjMsIDEyNDc2NywgMTI0NzcxLCAxMjQ3NzUsIDEyNDc3OSwgMTI0NzgzLCAxMjQ3ODcsIAotICAgIDEyNDc5MSwgMTI0Nzk1LCAxMjQ3OTksIDEyNDgwMywgMTI0ODA3LCAxMjQ4MTEsIDEyNDgxNSwgMTI0ODE5LCAxMjQ4MjMsIAotICAgIDEyNDgyNywgMTI0ODMxLCAxMjQ4MzUsIDEyNDgzOSwgMTI0ODQzLCAxMjQ4NDcsIDEyNDg1MSwgMTI0ODU1LCAxMjQ4NTksIAotICAgIDEyNDg2MywgMTI0ODY3LCAxMjQ4NzEsIDEyNDg3NSwgMTI0ODc5LCAxMjQ4ODMsIDEyNDg4NywgMTI0ODkxLCAxMjQ4OTUsIAotICAgIDEyNDg5OSwgMTI0OTAzLCAxMjQ5MDcsIDEyNDkxMSwgMTI0OTE1LCAxMjQ5MTksIDEyNDkyMywgMTI0OTI3LCAxMjQ5MzEsIAotICAgIDEyNDkzNSwgMTI0OTM5LCAxMjQ5NDMsIDEyNDk0NywgMTI0OTUxLCAxMjQ5NTUsIDEyNDk1OSwgMTI0OTYzLCAxMjQ5NjcsIAotICAgIDEyNDk3MSwgMTI0OTc1LCAxMjQ5NzksIDEyNDk4MywgMTI0OTg3LCAxMjQ5OTEsIDEyNDk5NSwgMTI0OTk5LCAxMjUwMDMsIAotICAgIDEyNTAwNywgMTI1MDExLCAxMjUwMTUsIDEyNTAxOSwgMTI1MDIzLCAxMjUwMjcsIDEyNTAzMSwgMTI1MDM1LCAxMjUwMzksIAotICAgIDEyNTA0MywgMTI1MDQ3LCAxMjUwNTEsIDEyNTA1NSwgMTI1MDU5LCAxMjUwNjMsIDEyNTA2NywgMTI1MDcxLCAxMjUwNzUsIAotICAgIDEyNTA3OSwgMTI1MDgzLCAxMjUwODcsIDEyNTA5MSwgMTI1MDk1LCAxMjUwOTksIDEyNTEwMywgMTI1MTA3LCAxMjUxMTEsIAotICAgIDEyNTExNSwgMTI1MTE5LCAxMjUxMjMsIDEyNTEyNywgMTI1MTMxLCAxMjUxMzUsIDEyNTEzOSwgMTI1MTQzLCAxMjUxNDcsIAotICAgIDEyNTE1MSwgMTI1MTU1LCAxMjUxNTksIDEyNTE2MywgMTI1MTY3LCAxMjUxNzEsIDEyNTE3NSwgMTI1MTc5LCAxMjUxODMsIAotICAgIDEyNTE4NywgMTI1MTkxLCAxMjUxOTUsIDEyNTE5OSwgMTI1MjAzLCAxMjUyMDcsIDEyNTIxMSwgMTI1MjE1LCAxMjUyMTksIAotICAgIDEyNTIyMywgMTI1MjI3LCAxMjUyMzEsIDEyNTIzNSwgMTI1MjM5LCAxMjUyNDMsIDEyNTI0NywgMTI1MjUxLCAxMjUyNTUsIAotICAgIDEyNTI1OSwgMTI1MjYzLCAxMjUyNjcsIDEyNTI3MSwgMTI1Mjc1LCAxMjUyNzksIDEyNTI4MywgMTI1Mjg3LCAxMjUyOTEsIAotICAgIDEyNTI5NSwgMTI1Mjk5LCAxMjUzMDMsIDEyNTMwNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTIwOTY3LCAxMjA5NzcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDEyMDk4NSwgMTIwOTkyLCAxMjA5OTksIDEyMTAwNiwgMTIxMDEzLCAxMjEwMjAsIDEyMTAyNywgCisgICAgMTIxMDMzLCAxMjEwNDAsIDEyMTA0NywgMTIxMDU0LCAxMjEwNjIsIDEyMTA3MCwgMTIxMDc4LCAxMjEwODYsIDEyMTA5NCwgCisgICAgMTIxMTAyLCAxMjExMDksIDEyMTExNiwgMTIxMTIzLCAxMjExMzEsIDEyMTEzOSwgMTIxMTQ3LCAxMjExNTUsIDEyMTE2MywgCisgICAgMTIxMTcxLCAxMjExNzgsIDEyMTE4NSwgMTIxMTkyLCAxMjEyMDAsIDEyMTIwOCwgMTIxMjE2LCAxMjEyMjQsIDEyMTIzMiwgCisgICAgMTIxMjQwLCAxMjEyNDUsIDEyMTI1MCwgMTIxMjU1LCAxMjEyNjAsIDEyMTI2NSwgMTIxMjcwLCAxMjEyNzUsIDEyMTI4MCwgCisgICAgMTIxMjg1LCAwLCAwLCAwLCAwLCAxMjEyOTAsIDEyMTI5NSwgMTIxMjk5LCAxMjEzMDMsIDEyMTMwNywgMTIxMzExLCAKKyAgICAxMjEzMTUsIDEyMTMxOSwgMTIxMzIzLCAxMjEzMjcsIDEyMTMzMSwgMTIxMzM1LCAxMjEzMzksIDEyMTM0MywgMTIxMzQ3LCAKKyAgICAxMjEzNTEsIDEyMTM1NSwgMTIxMzU5LCAxMjEzNjMsIDEyMTM2NywgMTIxMzcxLCAxMjEzNzUsIDEyMTM3OSwgMTIxMzgzLCAKKyAgICAxMjEzODcsIDEyMTM5MSwgMTIxMzk1LCAxMjEzOTksIDEyMTQwMywgMTIxNDA3LCAxMjE0MTEsIDEyMTQxNSwgMTIxNDE5LCAKKyAgICAxMjE0MjMsIDEyMTQyNywgMTIxNDMxLCAxMjE0MzUsIDEyMTQzOSwgMTIxNDQzLCAxMjE0NDcsIDEyMTQ1MSwgMTIxNDU1LCAKKyAgICAxMjE0NTksIDEyMTQ2MywgMTIxNDY3LCAxMjE0NzEsIDEyMTQ3NSwgMTIxNDc5LCAxMjE0ODMsIDEyMTQ4NywgMTIxNDkxLCAKKyAgICAxMjE0OTYsIDEyMTUwMCwgMTIxNTA0LCAxMjE1MDgsIDEyMTUxMiwgMTIxNTE2LCAxMjE1MjAsIDEyMTUyNCwgMTIxNTI4LCAKKyAgICAxMjE1MzIsIDEyMTUzNiwgMTIxNTQwLCAxMjE1NDQsIDEyMTU0OCwgMTIxNTUyLCAxMjE1NTYsIDEyMTU2MCwgMTIxNTY0LCAKKyAgICAxMjE1NjgsIDEyMTU3MiwgMTIxNTc2LCAxMjE1ODAsIDEyMTU4NCwgMTIxNTg4LCAxMjE1OTIsIDEyMTU5NiwgMTIxNjAwLCAKKyAgICAxMjE2MDQsIDEyMTYwOCwgMTIxNjEyLCAxMjE2MTYsIDEyMTYyMCwgMTIxNjI0LCAxMjE2MjgsIDEyMTYzMiwgMTIxNjM2LCAKKyAgICAxMjE2NDAsIDEyMTY0NCwgMTIxNjQ4LCAxMjE2NTIsIDEyMTY1NiwgMTIxNjYwLCAxMjE2NjQsIDEyMTY2OCwgMTIxNjcyLCAKKyAgICAxMjE2NzYsIDEyMTY4MCwgMTIxNjg0LCAxMjE2ODgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDEyMTY5MiwgMTIxNjk4LCAxMjE3MDcsIDEyMTcxNSwgMTIxNzIzLCAxMjE3MzIsIDEyMTc0MSwgMTIxNzUwLCAxMjE3NTksIAorICAgIDEyMTc2OCwgMTIxNzc3LCAxMjE3ODYsIDEyMTc5NSwgMTIxODA0LCAxMjE4MTMsIDAsIDAsIDEyMTgyMiwgMTIxODMxLCAKKyAgICAxMjE4MzksIDEyMTg0NywgMTIxODU2LCAxMjE4NjUsIDEyMTg3NCwgMTIxODgzLCAxMjE4OTIsIDEyMTkwMSwgMTIxOTEwLCAKKyAgICAxMjE5MTksIDEyMTkyOCwgMTIxOTM3LCAwLCAwLCAxMjE5NDYsIDEyMTk1NSwgMTIxOTYzLCAxMjE5NzEsIDEyMTk4MCwgCisgICAgMTIxOTg5LCAxMjE5OTgsIDEyMjAwNywgMTIyMDE2LCAxMjIwMjUsIDEyMjAzNCwgMTIyMDQzLCAxMjIwNTIsIDEyMjA2MSwgCisgICAgMTIyMDcwLCAwLCAxMjIwNzcsIDEyMjA4NiwgMTIyMDk0LCAxMjIxMDIsIDEyMjExMSwgMTIyMTIwLCAxMjIxMjksIAorICAgIDEyMjEzOCwgMTIyMTQ3LCAxMjIxNTYsIDEyMjE2NSwgMTIyMTc0LCAxMjIxODMsIDEyMjE5MiwgMTIyMjAxLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAxMjIyMDgsIDEyMjIxNSwgMTIyMjIwLCAxMjIyMjQsIDEyMjIyOCwgMTIyMjMyLCAxMjIyMzcsIAorICAgIDEyMjI0MiwgMTIyMjQ3LCAxMjIyNTIsIDEyMjI1NywgMCwgMCwgMCwgMCwgMCwgMTIyMjYyLCAxMjIyNjcsIDEyMjI3MywgCisgICAgMTIyMjc5LCAxMjIyODUsIDEyMjI5MCwgMTIyMjk2LCAxMjIzMDIsIDEyMjMwOCwgMTIyMzEzLCAxMjIzMTksIDEyMjMyNSwgCisgICAgMTIyMzMwLCAxMjIzMzUsIDEyMjM0MSwgMTIyMzQ2LCAxMjIzNTIsIDEyMjM1OCwgMTIyMzYzLCAxMjIzNjksIDEyMjM3NSwgCisgICAgMTIyMzgwLCAxMjIzODYsIDEyMjM5MiwgMTIyMzk4LCAxMjI0MDQsIDEyMjQxMCwgMTIyNDIxLCAxMjI0MjgsIDEyMjQzNCwgCisgICAgMTIyNDM3LCAwLCAxMjI0NDAsIDEyMjQ0NSwgMTIyNDUxLCAxMjI0NTcsIDEyMjQ2MywgMTIyNDY4LCAxMjI0NzQsIAorICAgIDEyMjQ4MCwgMTIyNDg2LCAxMjI0OTEsIDEyMjQ5NywgMTIyNTAzLCAxMjI1MDgsIDEyMjUxMywgMTIyNTE5LCAxMjI1MjQsIAorICAgIDEyMjUzMCwgMTIyNTM2LCAxMjI1NDEsIDEyMjU0NywgMTIyNTUzLCAxMjI1NTgsIDEyMjU2NCwgMTIyNTcwLCAxMjI1NzYsIAorICAgIDEyMjU4MiwgMTIyNTg4LCAxMjI1OTEsIDEyMjU5NCwgMTIyNTk3LCAxMjI2MDAsIDEyMjYwMywgMTIyNjA2LCAxMjI2MTIsIAorICAgIDEyMjYxOSwgMTIyNjI2LCAxMjI2MzMsIDEyMjYzOSwgMTIyNjQ2LCAxMjI2NTMsIDEyMjY2MCwgMTIyNjY2LCAxMjI2NzMsIAorICAgIDEyMjY4MCwgMTIyNjg2LCAxMjI2OTIsIDEyMjY5OSwgMTIyNzA1LCAxMjI3MTIsIDEyMjcxOSwgMTIyNzI1LCAxMjI3MzIsIAorICAgIDEyMjczOSwgMTIyNzQ1LCAxMjI3NTIsIDEyMjc1OSwgMTIyNzY2LCAxMjI3NzMsIDEyMjc4MCwgMTIyNzg1LCAwLCAwLCAwLCAKKyAgICAwLCAxMjI3OTAsIDEyMjc5NiwgMTIyODAzLCAxMjI4MTAsIDEyMjgxNywgMTIyODIzLCAxMjI4MzAsIDEyMjgzNywgCisgICAgMTIyODQ0LCAxMjI4NTAsIDEyMjg1NywgMTIyODY0LCAxMjI4NzAsIDEyMjg3NiwgMTIyODgzLCAxMjI4ODksIDEyMjg5NiwgCisgICAgMTIyOTAzLCAxMjI5MDksIDEyMjkxNiwgMTIyOTIzLCAxMjI5MjksIDEyMjkzNiwgMTIyOTQzLCAxMjI5NTAsIDEyMjk1NywgCisgICAgMTIyOTY0LCAxMjI5NzMsIDEyMjk3NywgMTIyOTgwLCAxMjI5ODMsIDEyMjk4NywgMTIyOTkxLCAxMjI5OTQsIDEyMjk5NywgCisgICAgMTIzMDAwLCAxMjMwMDMsIDEyMzAwNiwgMTIzMDA5LCAxMjMwMTIsIDEyMzAxNSwgMTIzMDE4LCAxMjMwMjQsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEyNTMxMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTI1MzE1LCAKLSAgICAxMjUzMTgsIDEyNTMyMiwgMTI1MzI2LCAxMjUzMjksIDEyNTMzMywgMTI1MzM3LCAxMjUzNDAsIDEyNTM0MywgMTI1MzQ3LCAKLSAgICAxMjUzNTEsIDEyNTM1NCwgMTI1MzU3LCAxMjUzNjAsIDEyNTM2MywgMTI1MzY4LCAxMjUzNzEsIDEyNTM3NSwgMTI1Mzc4LCAKLSAgICAxMjUzODEsIDEyNTM4NCwgMTI1Mzg3LCAxMjUzOTAsIDEyNTM5MywgMTI1Mzk2LCAxMjUzOTksIDEyNTQwMiwgMTI1NDA1LCAKLSAgICAxMjU0MDgsIDEyNTQxMiwgMTI1NDE2LCAxMjU0MjAsIDEyNTQyNCwgMTI1NDI5LCAxMjU0MzQsIDEyNTQ0MCwgMTI1NDQ2LCAKLSAgICAxMjU0NTIsIDEyNTQ1NywgMTI1NDYzLCAxMjU0NjksIDEyNTQ3NSwgMTI1NDgwLCAxMjU0ODYsIDEyNTQ5MiwgMTI1NDk3LCAKLSAgICAxMjU1MDIsIDEyNTUwNywgMTI1NTEyLCAxMjU1MTgsIDEyNTUyNCwgMTI1NTI5LCAxMjU1MzQsIDEyNTU0MCwgMTI1NTQ1LCAKLSAgICAxMjU1NTEsIDEyNTU1NywgMTI1NTYzLCAxMjU1NjksIDEyNTU3NSwgMTI1NTc5LCAxMjU1ODQsIDEyNTU4OCwgMTI1NTkzLCAKLSAgICAxMjU1OTcsIDEyNTYwMiwgMTI1NjA3LCAxMjU2MTMsIDEyNTYxOSwgMTI1NjI1LCAxMjU2MzAsIDEyNTYzNiwgMTI1NjQyLCAKLSAgICAxMjU2NDgsIDEyNTY1MywgMTI1NjU5LCAxMjU2NjUsIDEyNTY3MCwgMTI1Njc1LCAxMjU2ODAsIDEyNTY4NSwgMTI1NjkxLCAKLSAgICAxMjU2OTcsIDEyNTcwMiwgMTI1NzA3LCAxMjU3MTMsIDEyNTcxOCwgMTI1NzI0LCAxMjU3MzAsIDEyNTczNiwgMTI1NzQyLCAKLSAgICAxMjU3NDgsIDEyNTc1MywgMTI1NzU3LCAxMjU3NjIsIDEyNTc2NSwgMTI1NzY5LCAxMjU3NzIsIDEyNTc3NSwgMTI1Nzc4LCAKLSAgICAxMjU3ODEsIDEyNTc4NCwgMTI1Nzg3LCAxMjU3OTAsIDEyNTc5MywgMTI1Nzk2LCAxMjU3OTksIDEyNTgwMiwgMTI1ODA1LCAKLSAgICAxMjU4MDgsIDEyNTgxMSwgMTI1ODE0LCAxMjU4MTcsIDEyNTgyMCwgMTI1ODIzLCAxMjU4MjYsIDEyNTgyOSwgMTI1ODMyLCAKLSAgICAxMjU4MzUsIDEyNTgzOCwgMTI1ODQxLCAxMjU4NDQsIDEyNTg0NywgMTI1ODUwLCAxMjU4NTMsIDEyNTg1NiwgMTI1ODU5LCAKLSAgICAxMjU4NjIsIDEyNTg2NSwgMTI1ODY4LCAxMjU4NzEsIDEyNTg3NCwgMTI1ODc3LCAxMjU4ODAsIDEyNTg4MywgMTI1ODg2LCAKLSAgICAxMjU4ODksIDEyNTg5MiwgMTI1ODk1LCAxMjU4OTgsIDEyNTkwMSwgMTI1OTA0LCAxMjU5MDcsIDEyNTkxMCwgMTI1OTEzLCAKLSAgICAxMjU5MTYsIDEyNTkxOSwgMTI1OTIyLCAxMjU5MjUsIDEyNTkyOCwgMTI1OTMxLCAxMjU5MzQsIDEyNTkzNywgMTI1OTQwLCAKLSAgICAxMjU5NDMsIDEyNTk0NiwgMTI1OTQ5LCAxMjU5NTIsIDEyNTk1NSwgMTI1OTU4LCAxMjU5NjEsIDEyNTk2NCwgMTI1OTY3LCAKLSAgICAxMjU5NzAsIDEyNTk3MywgMTI1OTc2LCAxMjU5NzksIDEyNTk4MiwgMTI1OTg1LCAxMjU5ODgsIDEyNTk5MSwgMTI1OTk0LCAKLSAgICAxMjU5OTcsIDEyNjAwMCwgMTI2MDAzLCAxMjYwMDYsIDEyNjAwOSwgMTI2MDEyLCAxMjYwMTUsIDEyNjAxOCwgMTI2MDIxLCAKLSAgICAxMjYwMjQsIDEyNjAyNywgMTI2MDMwLCAxMjYwMzMsIDEyNjAzNiwgMTI2MDM5LCAxMjYwNDIsIDEyNjA0NSwgMTI2MDQ4LCAKLSAgICAxMjYwNTEsIDEyNjA1NCwgMTI2MDU3LCAxMjYwNjAsIDEyNjA2MywgMTI2MDY2LCAxMjYwNjksIDEyNjA3MiwgMTI2MDc1LCAKLSAgICAxMjYwNzgsIDEyNjA4MSwgMTI2MDg0LCAxMjYwODcsIDEyNjA5MCwgMTI2MDkzLCAxMjYwOTYsIDEyNjA5OSwgMTI2MTAyLCAKLSAgICAxMjYxMDUsIDEyNjEwOCwgMTI2MTExLCAxMjYxMTQsIDEyNjExNywgMTI2MTIwLCAxMjYxMjMsIDEyNjEyNiwgMTI2MTI5LCAKLSAgICAxMjYxMzIsIDEyNjEzNSwgMTI2MTM4LCAxMjYxNDEsIDEyNjE0NCwgMTI2MTQ3LCAxMjYxNTAsIDEyNjE1MywgMTI2MTU2LCAKLSAgICAxMjYxNTksIDEyNjE2MiwgMTI2MTY1LCAxMjYxNjgsIDEyNjE3MSwgMTI2MTc0LCAxMjYxNzcsIDEyNjE4MCwgMTI2MTgzLCAKLSAgICAxMjYxODYsIDEyNjE4OSwgMTI2MTkyLCAxMjYxOTUsIDEyNjE5OCwgMTI2MjAxLCAxMjYyMDQsIDEyNjIwNywgMTI2MjEwLCAKLSAgICAxMjYyMTMsIDEyNjIxNiwgMTI2MjE5LCAxMjYyMjIsIDEyNjIyNSwgMTI2MjI4LCAxMjYyMzEsIDEyNjIzNCwgMTI2MjM3LCAKLSAgICAxMjYyNDAsIDEyNjI0MywgMTI2MjQ2LCAxMjYyNDksIDEyNjI1MiwgMTI2MjU1LCAxMjYyNTgsIDEyNjI2MSwgMTI2MjY0LCAKLSAgICAxMjYyNjcsIDEyNjI3MCwgMTI2MjczLCAxMjYyNzYsIDEyNjI3OSwgMTI2MjgyLCAxMjYyODUsIDEyNjI4OCwgMTI2MjkxLCAKLSAgICAxMjYyOTQsIDEyNjI5NywgMTI2MzAwLCAxMjYzMDMsIDEyNjMwNiwgMTI2MzA5LCAxMjYzMTIsIDEyNjMxNSwgMTI2MzE4LCAKLSAgICAxMjYzMjEsIDEyNjMyNCwgMTI2MzI3LCAxMjYzMzAsIDEyNjMzMywgMTI2MzM2LCAxMjYzMzksIDEyNjM0MiwgMTI2MzQ1LCAKLSAgICAxMjYzNDgsIDEyNjM1MSwgMTI2MzU0LCAxMjYzNTcsIDEyNjM2MCwgMTI2MzYzLCAxMjYzNjYsIDEyNjM2OSwgMTI2MzcyLCAKLSAgICAxMjYzNzUsIDEyNjM3OCwgMTI2MzgxLCAxMjYzODQsIDEyNjM4NywgMTI2MzkwLCAxMjYzOTMsIDEyNjM5NiwgMTI2Mzk5LCAKLSAgICAxMjY0MDIsIDEyNjQwNSwgMTI2NDA4LCAxMjY0MTEsIDEyNjQxNCwgMTI2NDE3LCAxMjY0MjAsIDEyNjQyMywgMTI2NDI2LCAKLSAgICAxMjY0MjksIDEyNjQzMiwgMTI2NDM1LCAxMjY0MzgsIDEyNjQ0MSwgMTI2NDQ0LCAxMjY0NDcsIDEyNjQ1MCwgMTI2NDUzLCAKLSAgICAxMjY0NTYsIDEyNjQ1OSwgMTI2NDYyLCAxMjY0NjUsIDEyNjQ2OCwgMTI2NDcxLCAxMjY0NzQsIDEyNjQ3NywgMTI2NDgwLCAKLSAgICAxMjY0ODMsIDEyNjQ4NiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMTIzMDI3LCAxMjMwMzQsIDEyMzA0MiwgMTIzMDUwLCAxMjMwNTgsIDEyMzA2NSwgMTIzMDczLCAxMjMwODEsIDEyMzA4OSwgCisgICAgMTIzMDk2LCAxMjMxMDQsIDEyMzExMiwgMTIzMTE5LCAxMjMxMjYsIDEyMzEzNCwgMTIzMTQxLCAxMjMxNDksIDEyMzE1NywgCisgICAgMTIzMTY0LCAxMjMxNzIsIDEyMzE4MCwgMTIzMTg3LCAxMjMxOTUsIDEyMzIwMywgMTIzMjExLCAxMjMyMTksIDEyMzIyNywgCisgICAgMTIzMjMxLCAxMjMyMzUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEyMzIzOCwgMTIzMjQ0LCAKKyAgICAxMjMyNTAsIDEyMzI1NiwgMTIzMjYwLCAxMjMyNjYsIDEyMzI3MiwgMTIzMjc4LCAxMjMyODQsIDEyMzI5MCwgMTIzMjk2LCAKKyAgICAxMjMzMDIsIDEyMzMwOCwgMTIzMzE0LCAxMjMzMjAsIDEyMzMyNiwgMTIzMzMyLCAxMjMzMzgsIDEyMzM0NCwgMTIzMzUwLCAKKyAgICAxMjMzNTYsIDEyMzM2MiwgMTIzMzY4LCAxMjMzNzQsIDEyMzM4MCwgMTIzMzg2LCAxMjMzOTIsIDEyMzM5OCwgMTIzNDA0LCAKKyAgICAxMjM0MTAsIDEyMzQxNiwgMTIzNDIyLCAxMjM0MjgsIDEyMzQzNCwgMTIzNDQwLCAxMjM0NDYsIDEyMzQ1MiwgMTIzNDU4LCAKKyAgICAxMjM0NjQsIDEyMzQ3MCwgMTIzNDc2LCAxMjM0ODIsIDEyMzQ4OCwgMCwgMCwgMCwgMCwgMCwgMTIzNDk0LCAxMjM1MDUsIAorICAgIDEyMzUxNiwgMTIzNTI3LCAxMjM1MzgsIDEyMzU0OSwgMTIzNTYwLCAxMjM1NzEsIDEyMzU4MiwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMTIzNTkzLCAxMjM1OTcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDEyMzYwMSwgMTIzNjAzLCAxMjM2MDUsIDEyMzYwOSwgMTIzNjE0LCAxMjM2MTksIDEyMzYyMSwgCisgICAgMTIzNjI3LCAxMjM2MzIsIDEyMzYzNCwgMTIzNjQwLCAxMjM2NDQsIDEyMzY0NiwgMTIzNjUwLCAxMjM2NTYsIDEyMzY2MiwgCisgICAgMTIzNjY4LCAxMjM2NzMsIDEyMzY3NywgMTIzNjg0LCAxMjM2OTEsIDEyMzY5OCwgMTIzNzAzLCAxMjM3MTAsIDEyMzcxNywgCisgICAgMTIzNzI0LCAxMjM3MjgsIDEyMzczNCwgMTIzNzQzLCAxMjM3NTIsIDEyMzc1OSwgMTIzNzY0LCAxMjM3NjgsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEyMzc3MiwgMTIzNzc0LCAxMjM3NzYsIDEyMzc4MCwgCisgICAgMTIzNzg0LCAxMjM3ODgsIDAsIDEyMzc5MCwgMTIzNzkyLCAxMjM3OTYsIDEyMzc5OCwgMTIzODAwLCAxMjM4MDIsIAorICAgIDEyMzgwNCwgMTIzODA5LCAxMjM4MTQsIDEyMzgxNiwgMTIzODIyLCAxMjM4MjYsIDEyMzgzMCwgMTIzODM4LCAxMjM4NDAsIAorICAgIDEyMzg0MiwgMTIzODQ0LCAxMjM4NDYsIDEyMzg0OCwgMTIzODUwLCAxMjM4NTIsIDEyMzg1NCwgMTIzODU2LCAxMjM4NTgsIAorICAgIDEyMzg2MiwgMTIzODY2LCAxMjM4NjgsIDEyMzg3MCwgMTIzODcyLCAxMjM4NzQsIDEyMzg3NiwgMTIzODgxLCAxMjM4ODcsIAorICAgIDEyMzg5MSwgMTIzODk1LCAxMjM4OTksIDEyMzkwMywgMTIzOTA4LCAxMjM5MTIsIDEyMzkxNCwgMTIzOTE2LCAxMjM5MjAsIAorICAgIDEyMzkyNiwgMTIzOTI4LCAxMjM5MzAsIDEyMzkzMiwgMTIzOTM2LCAxMjM5NDUsIDEyMzk1MSwgMTIzOTU1LCAxMjM5NTksIAorICAgIDEyMzk2MSwgMTIzOTYzLCAxMjM5NjYsIDEyMzk2OCwgMTIzOTcwLCAxMjM5NzIsIDEyMzk3NiwgMTIzOTc4LCAxMjM5ODIsIAorICAgIDEyMzk4NywgMTIzOTg5LCAxMjM5OTQsIDEyNDAwMCwgMTI0MDA3LCAxMjQwMTEsIDEyNDAxNSwgMTI0MDE5LCAxMjQwMjMsIAorICAgIDEyNDAyOSwgMCwgMCwgMCwgMTI0MDMzLCAxMjQwMzUsIDEyNDAzOSwgMTI0MDQzLCAxMjQwNDUsIDEyNDA0OSwgMTI0MDUzLCAKKyAgICAxMjQwNTUsIDEyNDA1OSwgMTI0MDYxLCAxMjQwNjUsIDEyNDA2OSwgMTI0MDczLCAxMjQwNzcsIDEyNDA4MSwgMTI0MDg1LCAKKyAgICAxMjQwODksIDEyNDA5MywgMTI0MDk5LCAxMjQxMDMsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDEyNDEwNywgMTI0MTExLCAxMjQxMTUsIDEyNDExOSwgMTI0MTI2LCAxMjQxMjgsIDEyNDEzMiwgMTI0MTM0LCAxMjQxMzYsIAorICAgIDEyNDE0MCwgMTI0MTQ0LCAxMjQxNDgsIDEyNDE1MCwgMTI0MTU0LCAxMjQxNTgsIDEyNDE2MiwgMTI0MTY2LCAxMjQxNzAsIAorICAgIDEyNDE3MiwgMTI0MTc2LCAxMjQxNzgsIDEyNDE4NCwgMTI0MTg3LCAxMjQxOTIsIDEyNDE5NCwgMTI0MTk2LCAxMjQxOTksIAorICAgIDEyNDIwMSwgMTI0MjAzLCAxMjQyMDYsIDEyNDIxMywgMTI0MjIwLCAxMjQyMjcsIDEyNDIzMiwgMTI0MjM2LCAxMjQyMzgsIAorICAgIDEyNDI0MCwgMCwgMTI0MjQyLCAxMjQyNDQsIDEyNDI0OCwgMTI0MjUyLCAxMjQyNTYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEyNDI1OCwgMTI0MjYyLCAxMjQyNjcsIDEyNDI3MSwgCisgICAgMTI0Mjc3LCAxMjQyODMsIDEyNDI4NSwgMTI0Mjg3LCAxMjQyOTMsIDEyNDI5NSwgMTI0Mjk5LCAxMjQzMDMsIDEyNDMwNSwgCisgICAgMTI0MzA5LCAxMjQzMTEsIDEyNDMxNSwgMTI0MzE5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAxMjQzMjMsIDEyNDMyNSwgMTI0MzI3LCAxMjQzMjksIDEyNDMzMywgMTI0MzM1LCAxMjQzMzcsIDEyNDMzOSwgCisgICAgMTI0MzQxLCAxMjQzNDMsIDEyNDM0NSwgMTI0MzQ3LCAxMjQzNDksIDEyNDM1MSwgMTI0MzUzLCAxMjQzNTUsIDEyNDM1NywgCisgICAgMTI0MzU5LCAxMjQzNjEsIDEyNDM2MywgMTI0MzY1LCAxMjQzNjcsIDEyNDM2OSwgMTI0MzcxLCAxMjQzNzMsIDEyNDM3NSwgCisgICAgMTI0Mzc3LCAxMjQzODEsIDEyNDM4MywgMTI0Mzg1LCAxMjQzODcsIDEyNDM5MSwgMTI0MzkzLCAxMjQzOTcsIDEyNDM5OSwgCisgICAgMTI0NDAxLCAxMjQ0MDUsIDEyNDQwOSwgMTI0NDE1LCAxMjQ0MTcsIDEyNDQxOSwgMTI0NDIxLCAxMjQ0MjMsIDEyNDQyNywgCisgICAgMTI0NDMxLCAxMjQ0MzMsIDEyNDQzNywgMTI0NDQxLCAxMjQ0NDUsIDEyNDQ0OSwgMTI0NDUzLCAxMjQ0NTcsIDEyNDQ2MSwgCisgICAgMTI0NDY1LCAxMjQ0NjksIDEyNDQ3MywgMTI0NDc3LCAxMjQ0ODEsIDEyNDQ4NSwgMTI0NDg5LCAxMjQ0OTMsIDEyNDQ5NywgCisgICAgMTI0NTAxLCAwLCAxMjQ1MDUsIDAsIDEyNDUwNywgMTI0NTA5LCAxMjQ1MTEsIDEyNDUxMywgMTI0NTE1LCAxMjQ1MjMsIAorICAgIDEyNDUzMSwgMTI0NTM5LCAxMjQ1NDcsIDEyNDU1MiwgMTI0NTU3LCAxMjQ1NjIsIDEyNDU2NiwgMTI0NTcwLCAxMjQ1NzUsIAorICAgIDEyNDU3OSwgMTI0NTgxLCAxMjQ1ODUsIDEyNDU4NywgMTI0NTg5LCAxMjQ1OTEsIDEyNDU5MywgMTI0NTk1LCAxMjQ1OTcsIAorICAgIDEyNDU5OSwgMTI0NjAzLCAxMjQ2MDUsIDEyNDYwNywgMTI0NjA5LCAxMjQ2MTMsIDEyNDYxNywgMTI0NjIxLCAxMjQ2MjUsIAorICAgIDEyNDYyOSwgMTI0NjMxLCAxMjQ2MzcsIDEyNDY0MywgMTI0NjQ1LCAxMjQ2NDcsIDEyNDY0OSwgMTI0NjUxLCAxMjQ2NTMsIAorICAgIDEyNDY2MiwgMTI0NjY5LCAxMjQ2NzYsIDEyNDY4MCwgMTI0Njg3LCAxMjQ2OTIsIDEyNDY5OSwgMTI0NzA4LCAxMjQ3MTMsIAorICAgIDEyNDcxNywgMTI0NzIxLCAxMjQ3MjMsIDEyNDcyNywgMTI0NzI5LCAxMjQ3MzMsIDEyNDczNywgMTI0NzM5LCAxMjQ3NDMsIAorICAgIDEyNDc0NywgMTI0NzUxLCAxMjQ3NTMsIDEyNDc1NSwgMTI0NzYxLCAxMjQ3NjMsIDEyNDc2NSwgMTI0NzY3LCAxMjQ3NzEsIAorICAgIDEyNDc3NSwgMTI0Nzc3LCAxMjQ3ODEsIDEyNDc4MywgMTI0Nzg1LCAxMjQ3ODgsIDEyNDc5MiwgMTI0Nzk0LCAxMjQ3OTgsIAorICAgIDEyNDgwMCwgMTI0ODAyLCAxMjQ4MDcsIDEyNDgwOSwgMTI0ODEzLCAxMjQ4MTcsIDEyNDgyMCwgMTI0ODI0LCAxMjQ4MjgsIAorICAgIDEyNDgzMiwgMTI0ODM2LCAxMjQ4NDAsIDEyNDg0NCwgMTI0ODQ4LCAxMjQ4NTMsIDEyNDg1NywgMTI0ODYxLCAxMjQ4NzAsIAorICAgIDEyNDg3NSwgMTI0ODc4LCAxMjQ4ODAsIDEyNDg4MywgMTI0ODg2LCAxMjQ4OTEsIDEyNDg5MywgMTI0ODk2LCAxMjQ5MDEsIAorICAgIDEyNDkwNSwgMTI0OTA4LCAxMjQ5MTIsIDEyNDkxNiwgMTI0OTE5LCAxMjQ5MjQsIDEyNDkyOCwgMTI0OTMyLCAxMjQ5MzYsIAorICAgIDEyNDk0MCwgMTI0OTQ2LCAxMjQ5NTIsIDEyNDk1OCwgMTI0OTY0LCAxMjQ5NjksIDEyNDk4MCwgMTI0OTgyLCAxMjQ5ODYsIAorICAgIDEyNDk4OCwgMTI0OTkwLCAxMjQ5OTQsIDEyNDk5OCwgMTI1MDAwLCAxMjUwMDQsIDEyNTAwOSwgMTI1MDE0LCAxMjUwMjAsIAorICAgIDEyNTAyMiwgMTI1MDI2LCAxMjUwMzAsIDEyNTAzNywgMTI1MDQ0LCAxMjUwNDgsIDEyNTA1MCwgMTI1MDUyLCAxMjUwNTYsIAorICAgIDEyNTA1OCwgMTI1MDYyLCAxMjUwNjYsIDEyNTA3MCwgMTI1MDcyLCAxMjUwNzQsIDEyNTA4MSwgMTI1MDg1LCAxMjUwODgsIAorICAgIDEyNTA5MiwgMTI1MDk2LCAxMjUxMDAsIDEyNTEwMiwgMTI1MTA2LCAxMjUxMDgsIDEyNTExMCwgMTI1MTE0LCAxMjUxMTYsIAorICAgIDEyNTEyMCwgMTI1MTI0LCAxMjUxMzAsIDEyNTEzNCwgMTI1MTM4LCAxMjUxNDIsIDEyNTE0NCwgMTI1MTQ3LCAxMjUxNTEsIAorICAgIDEyNTE1OCwgMTI1MTY3LCAxMjUxNzYsIDEyNTE4NCwgMTI1MTkyLCAxMjUxOTQsIDEyNTE5OCwgMTI1MjAwLCAxMjUyMDQsIAorICAgIDEyNTIxNSwgMTI1MjE5LCAxMjUyMjUsIDEyNTIzMSwgMTI1MjM2LCAwLCAxMjUyMzgsIDEyNTI0MiwgMTI1MjQ0LCAKKyAgICAxMjUyNDYsIDAsIDAsIDAsIDEyNTI0OCwgMTI1MjUzLCAxMjUyNjMsIDEyNTI3OCwgMTI1MjkwLCAxMjUzMDIsIDEyNTMwNiwgCisgICAgMTI1MzEwLCAxMjUzMTYsIDEyNTMxOCwgMTI1MzI2LCAxMjUzMzQsIDEyNTMzNiwgMTI1MzQwLCAxMjUzNDYsIDEyNTM1MiwgCisgICAgMTI1MzU5LCAxMjUzNjYsIDEyNTM2OCwgMTI1MzcwLCAxMjUzNzMsIDEyNTM3NSwgMTI1MzgxLCAxMjUzODMsIDEyNTM4NiwgCisgICAgMTI1MzkwLCAxMjUzOTYsIDEyNTQwMiwgMTI1NDEzLCAxMjU0MTksIDEyNTQyNiwgMTI1NDM0LCAxMjU0MzgsIDEyNTQ0NiwgCisgICAgMTI1NDU0LCAxMjU0NjAsIDEyNTQ2NiwgMTI1NDczLCAxMjU0NzUsIDEyNTQ3OSwgMTI1NDgxLCAxMjU0ODMsIDEyNTQ4OCwgCisgICAgMTI1NDkwLCAxMjU0OTIsIDEyNTQ5NCwgMTI1NDk2LCAxMjU1MDAsIDEyNTUxMSwgMTI1NTE3LCAxMjU1MjEsIDEyNTUyNSwgCisgICAgMTI1NTI5LCAxMjU1MzUsIDEyNTU0MSwgMTI1NTQ3LCAxMjU1NTMsIDEyNTU1OCwgMTI1NTYzLCAxMjU1NjksIDEyNTU3NSwgCisgICAgMTI1NTgyLCAwLCAwLCAxMjU1ODksIDEyNTU5NCwgMTI1NjAyLCAxMjU2MDYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDEyNTYxNSwgMTI1NjIyLCAxMjU2MjksIDEyNTYzNiwgMTI1NjQ0LCAxMjU2NTIsIDEyNTY2MCwgMTI1NjY4LCAKKyAgICAxMjU2NzYsIDEyNTY4NCwgMTI1NjkyLCAxMjU3MDAsIDEyNTcwOCwgMTI1NzE0LCAxMjU3MjAsIDEyNTcyNiwgMTI1NzMyLCAKKyAgICAxMjU3MzgsIDEyNTc0NCwgMTI1NzUwLCAxMjU3NTYsIDEyNTc2MiwgMTI1NzY4LCAxMjU3NzQsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEyNTc4MCwgCisgICAgMTI1Nzg0LCAxMjU3ODgsIDEyNTc5MywgMTI1Nzk4LCAxMjU4MDAsIDEyNTgwNCwgMTI1ODEzLCAxMjU4MjEsIDEyNTgyOSwgCisgICAgMTI1ODQyLCAxMjU4NTUsIDEyNTg2OCwgMTI1ODc1LCAxMjU4ODIsIDEyNTg4NiwgMTI1ODk1LCAxMjU5MDMsIDEyNTkwNywgCisgICAgMTI1OTE2LCAxMjU5MjMsIDEyNTkyNywgMTI1OTMxLCAxMjU5MzUsIDEyNTkzOSwgMTI1OTQ2LCAxMjU5NTAsIDEyNTk1NCwgCisgICAgMTI1OTU4LCAxMjU5NjIsIDEyNTk2OSwgMTI1OTc4LCAxMjU5ODcsIDEyNTk5NCwgMTI2MDA2LCAxMjYwMTgsIDEyNjAyMiwgCisgICAgMTI2MDI2LCAxMjYwMzAsIDEyNjAzNCwgMTI2MDM4LCAxMjYwNDIsIDEyNjA1MCwgMTI2MDU4LCAxMjYwNjYsIDEyNjA3MCwgCisgICAgMTI2MDc0LCAxMjYwNzgsIDEyNjA4MiwgMTI2MDg2LCAxMjYwOTAsIDEyNjA5NiwgMTI2MTAyLCAxMjYxMDYsIDEyNjExNywgCisgICAgMTI2MTI1LCAxMjYxMjksIDEyNjEzMywgMTI2MTM3LCAxMjYxNDEsIDEyNjE0NywgMTI2MTU0LCAxMjYxNjUsIDEyNjE3NSwgCisgICAgMTI2MTg1LCAxMjYxOTYsIDEyNjIwNSwgMTI2MjE2LCAxMjYyMjIsIDEyNjIyOCwgMCwgMCwgMCwgMCwgMTI2MjM0LCAKKyAgICAxMjYyNDMsIDEyNjI1MCwgMTI2MjU2LCAxMjYyNjAsIDEyNjI2NCwgMTI2MjY4LCAxMjYyNzcsIDEyNjI4OSwgMTI2MjkzLCAKKyAgICAxMjYzMDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDEyNjMwNywgMTI2MzA5LCAxMjYzMTEsIDEyNjMxNSwgMTI2MzE5LCAxMjYzMjMsIDEyNjMzMiwgMTI2MzM0LCAKKyAgICAxMjYzMzYsIDEyNjMzOSwgMTI2MzQxLCAxMjYzNDMsIDEyNjM0NywgMTI2MzQ5LCAxMjYzNTMsIDEyNjM1NSwgMTI2MzU5LCAKKyAgICAxMjYzNjEsIDEyNjM2MywgMTI2MzY3LCAxMjYzNzEsIDEyNjM3NywgMTI2Mzc5LCAxMjYzODMsIDEyNjM4NSwgMTI2Mzg5LCAKKyAgICAxMjYzOTMsIDEyNjM5NywgMTI2NDAxLCAxMjY0MDMsIDEyNjQwNSwgMTI2NDA5LCAxMjY0MTMsIDEyNjQxNywgMTI2NDIxLCAKKyAgICAxMjY0MjMsIDEyNjQyNSwgMTI2NDI3LCAxMjY0MzIsIDEyNjQzNywgMTI2NDQwLCAxMjY0NDgsIDEyNjQ1NiwgMTI2NDU4LCAKKyAgICAxMjY0NjMsIDEyNjQ2NiwgMTI2NDcxLCAxMjY0ODIsIDEyNjQ4OSwgMTI2NDk0LCAxMjY0OTksIDEyNjUwMSwgMTI2NTA1LCAKKyAgICAxMjY1MDcsIDEyNjUxMSwgMTI2NTEzLCAxMjY1MTcsIDEyNjUyMSwgMTI2NTI0LCAxMjY1MjcsIDEyNjUyOSwgMTI2NTMyLCAKKyAgICAxMjY1MzQsIDEyNjUzOCwgMTI2NTQwLCAxMjY1NDIsIDEyNjU0NCwgMTI2NTQ4LCAxMjY1NTAsIDEyNjU1NCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTI2NTU3LCAxMjY1NjIsIDEyNjU2NywgMTI2NTcyLCAxMjY1NzcsIDEyNjU4MiwgCisgICAgMTI2NTg3LCAxMjY1OTQsIDEyNjYwMSwgMTI2NjA4LCAxMjY2MTUsIDEyNjYyMCwgMTI2NjI1LCAxMjY2MzAsIDEyNjYzNSwgCisgICAgMTI2NjQyLCAxMjY2NDgsIDEyNjY1NSwgMTI2NjYyLCAxMjY2NjksIDEyNjY3NCwgMTI2Njc5LCAxMjY2ODQsIDEyNjY4OSwgCisgICAgMTI2Njk0LCAxMjY3MDEsIDEyNjcwOCwgMTI2NzEzLCAxMjY3MTgsIDEyNjcyNSwgMTI2NzMyLCAxMjY3NDAsIDEyNjc0OCwgCisgICAgMTI2NzU1LCAxMjY3NjIsIDEyNjc3MCwgMTI2Nzc4LCAxMjY3ODYsIDEyNjc5MywgMTI2ODAzLCAxMjY4MTQsIDEyNjgxOSwgCisgICAgMTI2ODI2LCAxMjY4MzMsIDEyNjg0MCwgMTI2ODQ4LCAxMjY4NTYsIDEyNjg2NywgMTI2ODc1LCAxMjY4ODMsIDEyNjg5MSwgCisgICAgMTI2ODk2LCAxMjY5MDEsIDEyNjkwNiwgMTI2OTExLCAxMjY5MTYsIDEyNjkyMSwgMTI2OTI2LCAxMjY5MzEsIDEyNjkzNiwgCisgICAgMTI2OTQxLCAxMjY5NDYsIDEyNjk1MSwgMTI2OTU4LCAxMjY5NjMsIDEyNjk2OCwgMTI2OTc1LCAxMjY5ODAsIDEyNjk4NSwgCisgICAgMTI2OTkwLCAxMjY5OTUsIDEyNzAwMCwgMTI3MDA1LCAxMjcwMTAsIDEyNzAxNSwgMTI3MDIwLCAxMjcwMjUsIDEyNzAzMCwgCisgICAgMTI3MDM1LCAxMjcwNDIsIDEyNzA1MCwgMTI3MDU1LCAxMjcwNjAsIDEyNzA2NywgMTI3MDcyLCAxMjcwNzcsIDEyNzA4MiwgCisgICAgMTI3MDg5LCAxMjcwOTQsIDEyNzEwMSwgMTI3MTA2LCAxMjcxMTMsIDEyNzExOCwgMTI3MTI3LCAxMjcxMzYsIDEyNzE0MSwgCisgICAgMTI3MTQ2LCAxMjcxNTEsIDEyNzE1NiwgMTI3MTYxLCAxMjcxNjYsIDEyNzE3MSwgMTI3MTc2LCAxMjcxODEsIDEyNzE4NiwgCisgICAgMTI3MTkxLCAxMjcxOTYsIDEyNzIwMSwgMTI3MjA5LCAxMjcyMTcsIDEyNzIyMiwgMTI3MjI3LCAxMjcyMzIsIDEyNzIzNywgCisgICAgMTI3MjQyLCAxMjcyNDgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEyNzI1NCwgMTI3MjU4LCAKKyAgICAxMjcyNjIsIDEyNzI2NiwgMTI3MjcwLCAxMjcyNzQsIDEyNzI3OCwgMTI3MjgyLCAxMjcyODYsIDEyNzI5MCwgMTI3Mjk0LCAKKyAgICAxMjcyOTgsIDEyNzMwMiwgMTI3MzA2LCAxMjczMTAsIDEyNzMxNCwgMTI3MzE4LCAxMjczMjIsIDEyNzMyNiwgMTI3MzMwLCAKKyAgICAxMjczMzQsIDEyNzMzOCwgMTI3MzQyLCAxMjczNDYsIDEyNzM1MCwgMTI3MzU0LCAxMjczNTgsIDEyNzM2MiwgMTI3MzY2LCAKKyAgICAxMjczNzAsIDEyNzM3NCwgMTI3Mzc4LCAxMjczODIsIDEyNzM4NiwgMTI3MzkwLCAxMjczOTQsIDEyNzM5OCwgMTI3NDAyLCAKKyAgICAxMjc0MDYsIDEyNzQxMCwgMTI3NDE0LCAxMjc0MTgsIDEyNzQyMiwgMTI3NDI2LCAxMjc0MzAsIDEyNzQzNCwgMTI3NDM4LCAKKyAgICAxMjc0NDIsIDEyNzQ0NiwgMTI3NDUwLCAxMjc0NTQsIDEyNzQ1OCwgMTI3NDYyLCAxMjc0NjYsIDEyNzQ3MCwgMTI3NDc0LCAKKyAgICAxMjc0NzgsIDEyNzQ4MiwgMTI3NDg2LCAxMjc0OTAsIDEyNzQ5NCwgMTI3NDk4LCAxMjc1MDIsIDEyNzUwNiwgMTI3NTEwLCAKKyAgICAxMjc1MTQsIDEyNzUxOCwgMTI3NTIyLCAxMjc1MjYsIDEyNzUzMCwgMTI3NTM0LCAxMjc1MzgsIDEyNzU0MiwgMTI3NTQ2LCAKKyAgICAxMjc1NTAsIDEyNzU1NCwgMTI3NTU4LCAxMjc1NjIsIDEyNzU2NiwgMTI3NTcwLCAxMjc1NzQsIDEyNzU3OCwgMTI3NTgyLCAKKyAgICAxMjc1ODYsIDEyNzU5MCwgMTI3NTk0LCAxMjc1OTgsIDEyNzYwMiwgMTI3NjA2LCAxMjc2MTAsIDEyNzYxNCwgMTI3NjE4LCAKKyAgICAxMjc2MjIsIDEyNzYyNiwgMTI3NjMwLCAxMjc2MzQsIDEyNzYzOCwgMTI3NjQyLCAxMjc2NDYsIDEyNzY1MCwgMTI3NjU0LCAKKyAgICAxMjc2NTgsIDEyNzY2MiwgMTI3NjY2LCAxMjc2NzAsIDEyNzY3NCwgMTI3Njc4LCAxMjc2ODIsIDEyNzY4NiwgMTI3NjkwLCAKKyAgICAxMjc2OTQsIDEyNzY5OCwgMTI3NzAyLCAxMjc3MDYsIDEyNzcxMCwgMTI3NzE0LCAxMjc3MTgsIDEyNzcyMiwgMTI3NzI2LCAKKyAgICAxMjc3MzAsIDEyNzczNCwgMTI3NzM4LCAxMjc3NDIsIDEyNzc0NiwgMTI3NzUwLCAxMjc3NTQsIDEyNzc1OCwgMTI3NzYyLCAKKyAgICAxMjc3NjYsIDEyNzc3MCwgMTI3Nzc0LCAxMjc3NzgsIDEyNzc4MiwgMTI3Nzg2LCAxMjc3OTAsIDEyNzc5NCwgMTI3Nzk4LCAKKyAgICAxMjc4MDIsIDEyNzgwNiwgMTI3ODEwLCAxMjc4MTQsIDEyNzgxOCwgMTI3ODIyLCAxMjc4MjYsIDEyNzgzMCwgMTI3ODM0LCAKKyAgICAxMjc4MzgsIDEyNzg0MiwgMTI3ODQ2LCAxMjc4NTAsIDEyNzg1NCwgMTI3ODU4LCAxMjc4NjIsIDEyNzg2NiwgMTI3ODcwLCAKKyAgICAxMjc4NzQsIDEyNzg3OCwgMTI3ODgyLCAxMjc4ODYsIDEyNzg5MCwgMTI3ODk0LCAxMjc4OTgsIDEyNzkwMiwgMTI3OTA2LCAKKyAgICAxMjc5MTAsIDEyNzkxNCwgMTI3OTE4LCAxMjc5MjIsIDEyNzkyNiwgMTI3OTMwLCAxMjc5MzQsIDEyNzkzOCwgMTI3OTQyLCAKKyAgICAxMjc5NDYsIDEyNzk1MCwgMTI3OTU0LCAxMjc5NTgsIDEyNzk2MiwgMTI3OTY2LCAxMjc5NzAsIDEyNzk3NCwgMTI3OTc4LCAKKyAgICAxMjc5ODIsIDEyNzk4NiwgMTI3OTkwLCAxMjc5OTQsIDEyNzk5OCwgMTI4MDAyLCAxMjgwMDYsIDEyODAxMCwgMTI4MDE0LCAKKyAgICAxMjgwMTgsIDEyODAyMiwgMTI4MDI2LCAxMjgwMzAsIDEyODAzNCwgMTI4MDM4LCAxMjgwNDIsIDEyODA0NiwgMTI4MDUwLCAKKyAgICAxMjgwNTQsIDEyODA1OCwgMTI4MDYyLCAxMjgwNjYsIDEyODA3MCwgMTI4MDc0LCAxMjgwNzgsIDEyODA4MiwgMTI4MDg2LCAKKyAgICAxMjgwOTAsIDEyODA5NCwgMTI4MDk4LCAxMjgxMDIsIDEyODEwNiwgMTI4MTEwLCAxMjgxMTQsIDEyODExOCwgMTI4MTIyLCAKKyAgICAxMjgxMjYsIDEyODEzMCwgMTI4MTM0LCAxMjgxMzgsIDEyODE0MiwgMTI4MTQ2LCAxMjgxNTAsIDEyODE1NCwgMTI4MTU4LCAKKyAgICAxMjgxNjIsIDEyODE2NiwgMTI4MTcwLCAxMjgxNzQsIDEyODE3OCwgMTI4MTgyLCAxMjgxODYsIDEyODE5MCwgMTI4MTk0LCAKKyAgICAxMjgxOTgsIDEyODIwMiwgMTI4MjA2LCAxMjgyMTAsIDEyODIxNCwgMTI4MjE4LCAxMjgyMjIsIDEyODIyNiwgMTI4MjMwLCAKKyAgICAxMjgyMzQsIDEyODIzOCwgMTI4MjQyLCAxMjgyNDYsIDEyODI1MCwgMTI4MjU0LCAxMjgyNTgsIDEyODI2MiwgMTI4MjY2LCAKKyAgICAxMjgyNzAsIDEyODI3NCwgMTI4Mjc4LCAxMjgyODIsIDEyODI4NiwgMTI4MjkwLCAxMjgyOTQsIDEyODI5OCwgMTI4MzAyLCAKKyAgICAxMjgzMDYsIDEyODMxMCwgMTI4MzE0LCAxMjgzMTgsIDEyODMyMiwgMTI4MzI2LCAxMjgzMzAsIDEyODMzNCwgMTI4MzM4LCAKKyAgICAxMjgzNDIsIDEyODM0NiwgMTI4MzUwLCAxMjgzNTQsIDEyODM1OCwgMTI4MzYyLCAxMjgzNjYsIDEyODM3MCwgMTI4Mzc0LCAKKyAgICAxMjgzNzgsIDEyODM4MiwgMTI4Mzg2LCAxMjgzOTAsIDEyODM5NCwgMTI4Mzk4LCAxMjg0MDIsIDEyODQwNiwgMTI4NDEwLCAKKyAgICAxMjg0MTQsIDEyODQxOCwgMTI4NDIyLCAxMjg0MjYsIDEyODQzMCwgMTI4NDM0LCAxMjg0MzgsIDEyODQ0MiwgMTI4NDQ2LCAKKyAgICAxMjg0NTAsIDEyODQ1NCwgMTI4NDU4LCAxMjg0NjIsIDEyODQ2NiwgMTI4NDcwLCAxMjg0NzQsIDEyODQ3OCwgMTI4NDgyLCAKKyAgICAxMjg0ODYsIDEyODQ5MCwgMTI4NDk0LCAxMjg0OTgsIDEyODUwMiwgMTI4NTA2LCAxMjg1MTAsIDEyODUxNCwgMTI4NTE4LCAKKyAgICAxMjg1MjIsIDEyODUyNiwgMTI4NTMwLCAxMjg1MzQsIDEyODUzOCwgMTI4NTQyLCAxMjg1NDYsIDEyODU1MCwgMTI4NTU0LCAKKyAgICAxMjg1NTgsIDEyODU2MiwgMTI4NTY2LCAxMjg1NzAsIDEyODU3NCwgMTI4NTc4LCAxMjg1ODIsIDEyODU4NiwgMTI4NTkwLCAKKyAgICAxMjg1OTQsIDEyODU5OCwgMTI4NjAyLCAxMjg2MDYsIDEyODYxMCwgMTI4NjE0LCAxMjg2MTgsIDEyODYyMiwgMTI4NjI2LCAKKyAgICAxMjg2MzAsIDEyODYzNCwgMTI4NjM4LCAxMjg2NDIsIDEyODY0NiwgMTI4NjUwLCAxMjg2NTQsIDEyODY1OCwgMTI4NjYyLCAKKyAgICAxMjg2NjYsIDEyODY3MCwgMTI4Njc0LCAxMjg2NzgsIDEyODY4MiwgMTI4Njg2LCAxMjg2OTAsIDEyODY5NCwgMTI4Njk4LCAKKyAgICAxMjg3MDIsIDEyODcwNiwgMTI4NzEwLCAxMjg3MTQsIDEyODcxOCwgMTI4NzIyLCAxMjg3MjYsIDEyODczMCwgMTI4NzM0LCAKKyAgICAxMjg3MzgsIDEyODc0MiwgMTI4NzQ2LCAxMjg3NTAsIDEyODc1NCwgMTI4NzU4LCAxMjg3NjIsIDEyODc2NiwgMTI4NzcwLCAKKyAgICAxMjg3NzQsIDEyODc3OCwgMTI4NzgyLCAxMjg3ODYsIDEyODc5MCwgMTI4Nzk0LCAxMjg3OTgsIDEyODgwMiwgMTI4ODA2LCAKKyAgICAxMjg4MTAsIDEyODgxNCwgMTI4ODE4LCAxMjg4MjIsIDEyODgyNiwgMTI4ODMwLCAxMjg4MzQsIDEyODgzOCwgMTI4ODQyLCAKKyAgICAxMjg4NDYsIDEyODg1MCwgMTI4ODU0LCAxMjg4NTgsIDEyODg2MiwgMTI4ODY2LCAxMjg4NzAsIDEyODg3NCwgMTI4ODc4LCAKKyAgICAxMjg4ODIsIDEyODg4NiwgMTI4ODkwLCAxMjg4OTQsIDEyODg5OCwgMTI4OTAyLCAxMjg5MDYsIDEyODkxMCwgMTI4OTE0LCAKKyAgICAxMjg5MTgsIDEyODkyMiwgMTI4OTI2LCAxMjg5MzAsIDEyODkzNCwgMTI4OTM4LCAxMjg5NDIsIDEyODk0NiwgMTI4OTUwLCAKKyAgICAxMjg5NTQsIDEyODk1OCwgMTI4OTYyLCAxMjg5NjYsIDEyODk3MCwgMTI4OTc0LCAxMjg5NzgsIDEyODk4MiwgMTI4OTg2LCAKKyAgICAxMjg5OTAsIDEyODk5NCwgMTI4OTk4LCAxMjkwMDIsIDEyOTAwNiwgMTI5MDEwLCAxMjkwMTQsIDEyOTAxOCwgMTI5MDIyLCAKKyAgICAxMjkwMjYsIDEyOTAzMCwgMTI5MDM0LCAxMjkwMzgsIDEyOTA0MiwgMTI5MDQ2LCAxMjkwNTAsIDEyOTA1NCwgMTI5MDU4LCAKKyAgICAxMjkwNjIsIDEyOTA2NiwgMTI5MDcwLCAxMjkwNzQsIDEyOTA3OCwgMTI5MDgyLCAxMjkwODYsIDEyOTA5MCwgMTI5MDk0LCAKKyAgICAxMjkwOTgsIDEyOTEwMiwgMTI5MTA2LCAxMjkxMTAsIDEyOTExNCwgMTI5MTE4LCAxMjkxMjIsIDEyOTEyNiwgMTI5MTMwLCAKKyAgICAxMjkxMzQsIDEyOTEzOCwgMTI5MTQyLCAxMjkxNDYsIDEyOTE1MCwgMTI5MTU0LCAxMjkxNTgsIDEyOTE2MiwgMTI5MTY2LCAKKyAgICAxMjkxNzAsIDEyOTE3NCwgMTI5MTc4LCAxMjkxODIsIDEyOTE4NiwgMTI5MTkwLCAxMjkxOTQsIDEyOTE5OCwgMTI5MjAyLCAKKyAgICAxMjkyMDYsIDEyOTIxMCwgMTI5MjE0LCAxMjkyMTgsIDEyOTIyMiwgMTI5MjI2LCAxMjkyMzAsIDEyOTIzNCwgMTI5MjM4LCAKKyAgICAxMjkyNDIsIDEyOTI0NiwgMTI5MjUwLCAxMjkyNTQsIDEyOTI1OCwgMTI5MjYyLCAxMjkyNjYsIDEyOTI3MCwgMTI5Mjc0LCAKKyAgICAxMjkyNzgsIDEyOTI4MiwgMTI5Mjg2LCAxMjkyOTAsIDEyOTI5NCwgMTI5Mjk4LCAxMjkzMDIsIDEyOTMwNiwgMTI5MzEwLCAKKyAgICAxMjkzMTQsIDEyOTMxOCwgMTI5MzIyLCAxMjkzMjYsIDEyOTMzMCwgMTI5MzM0LCAxMjkzMzgsIDEyOTM0MiwgMTI5MzQ2LCAKKyAgICAxMjkzNTAsIDEyOTM1NCwgMTI5MzU4LCAxMjkzNjIsIDEyOTM2NiwgMTI5MzcwLCAxMjkzNzQsIDEyOTM3OCwgMTI5MzgyLCAKKyAgICAxMjkzODYsIDEyOTM5MCwgMTI5Mzk0LCAxMjkzOTgsIDEyOTQwMiwgMTI5NDA2LCAxMjk0MTAsIDEyOTQxNCwgMTI5NDE4LCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAxMjk0MjIsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEyOTQyNiwgMTI5NDI5LCAxMjk0MzMsIDEyOTQzNywgMTI5NDQwLCAKKyAgICAxMjk0NDQsIDEyOTQ0OCwgMTI5NDUxLCAxMjk0NTQsIDEyOTQ1OCwgMTI5NDYyLCAxMjk0NjUsIDEyOTQ2OCwgMTI5NDcxLCAKKyAgICAxMjk0NzQsIDEyOTQ3OSwgMTI5NDgyLCAxMjk0ODYsIDEyOTQ4OSwgMTI5NDkyLCAxMjk0OTUsIDEyOTQ5OCwgMTI5NTAxLCAKKyAgICAxMjk1MDQsIDEyOTUwNywgMTI5NTEwLCAxMjk1MTMsIDEyOTUxNiwgMTI5NTE5LCAxMjk1MjMsIDEyOTUyNywgMTI5NTMxLCAKKyAgICAxMjk1MzUsIDEyOTU0MCwgMTI5NTQ1LCAxMjk1NTEsIDEyOTU1NywgMTI5NTYzLCAxMjk1NjgsIDEyOTU3NCwgMTI5NTgwLCAKKyAgICAxMjk1ODYsIDEyOTU5MSwgMTI5NTk3LCAxMjk2MDMsIDEyOTYwOCwgMTI5NjEzLCAxMjk2MTksIDEyOTYyNCwgMTI5NjMwLCAKKyAgICAxMjk2MzYsIDEyOTY0MSwgMTI5NjQ3LCAxMjk2NTMsIDEyOTY1OCwgMTI5NjY0LCAxMjk2NzAsIDEyOTY3NiwgMTI5NjgyLCAKKyAgICAxMjk2ODgsIDEyOTY5MiwgMTI5Njk3LCAxMjk3MDEsIDEyOTcwNiwgMTI5NzEwLCAxMjk3MTUsIDEyOTcyMCwgMTI5NzI2LCAKKyAgICAxMjk3MzIsIDEyOTczOCwgMTI5NzQzLCAxMjk3NDksIDEyOTc1NSwgMTI5NzYxLCAxMjk3NjYsIDEyOTc3MiwgMTI5Nzc4LCAKKyAgICAxMjk3ODMsIDEyOTc4OCwgMTI5Nzk0LCAxMjk3OTksIDEyOTgwNSwgMTI5ODExLCAxMjk4MTYsIDEyOTgyMiwgMTI5ODI4LCAKKyAgICAxMjk4MzMsIDEyOTgzOSwgMTI5ODQ1LCAxMjk4NTEsIDEyOTg1NywgMTI5ODYzLCAxMjk4NjgsIDEyOTg3MiwgMTI5ODc3LCAKKyAgICAxMjk4NzksIDEyOTg4MywgMTI5ODg2LCAxMjk4ODksIDEyOTg5MiwgMTI5ODk1LCAxMjk4OTgsIDEyOTkwMSwgMTI5OTA0LCAKKyAgICAxMjk5MDcsIDEyOTkxMCwgMTI5OTEzLCAxMjk5MTYsIDEyOTkxOSwgMTI5OTIyLCAxMjk5MjUsIDEyOTkyOCwgMTI5OTMxLCAKKyAgICAxMjk5MzQsIDEyOTkzNywgMTI5OTQwLCAxMjk5NDMsIDEyOTk0NiwgMTI5OTQ5LCAxMjk5NTIsIDEyOTk1NSwgMTI5OTU4LCAKKyAgICAxMjk5NjEsIDEyOTk2NCwgMTI5OTY3LCAxMjk5NzAsIDEyOTk3MywgMTI5OTc2LCAxMjk5NzksIDEyOTk4MiwgMTI5OTg1LCAKKyAgICAxMjk5ODgsIDEyOTk5MSwgMTI5OTk0LCAxMjk5OTcsIDEzMDAwMCwgMTMwMDAzLCAxMzAwMDYsIDEzMDAwOSwgMTMwMDEyLCAKKyAgICAxMzAwMTUsIDEzMDAxOCwgMTMwMDIxLCAxMzAwMjQsIDEzMDAyNywgMTMwMDMwLCAxMzAwMzMsIDEzMDAzNiwgMTMwMDM5LCAKKyAgICAxMzAwNDIsIDEzMDA0NSwgMTMwMDQ4LCAxMzAwNTEsIDEzMDA1NCwgMTMwMDU3LCAxMzAwNjAsIDEzMDA2MywgMTMwMDY2LCAKKyAgICAxMzAwNjksIDEzMDA3MiwgMTMwMDc1LCAxMzAwNzgsIDEzMDA4MSwgMTMwMDg0LCAxMzAwODcsIDEzMDA5MCwgMTMwMDkzLCAKKyAgICAxMzAwOTYsIDEzMDA5OSwgMTMwMTAyLCAxMzAxMDUsIDEzMDEwOCwgMTMwMTExLCAxMzAxMTQsIDEzMDExNywgMTMwMTIwLCAKKyAgICAxMzAxMjMsIDEzMDEyNiwgMTMwMTI5LCAxMzAxMzIsIDEzMDEzNSwgMTMwMTM4LCAxMzAxNDEsIDEzMDE0NCwgMTMwMTQ3LCAKKyAgICAxMzAxNTAsIDEzMDE1MywgMTMwMTU2LCAxMzAxNTksIDEzMDE2MiwgMTMwMTY1LCAxMzAxNjgsIDEzMDE3MSwgMTMwMTc0LCAKKyAgICAxMzAxNzcsIDEzMDE4MCwgMTMwMTgzLCAxMzAxODYsIDEzMDE4OSwgMTMwMTkyLCAxMzAxOTUsIDEzMDE5OCwgMTMwMjAxLCAKKyAgICAxMzAyMDQsIDEzMDIwNywgMTMwMjEwLCAxMzAyMTMsIDEzMDIxNiwgMTMwMjE5LCAxMzAyMjIsIDEzMDIyNSwgMTMwMjI4LCAKKyAgICAxMzAyMzEsIDEzMDIzNCwgMTMwMjM3LCAxMzAyNDAsIDEzMDI0MywgMTMwMjQ2LCAxMzAyNDksIDEzMDI1MiwgMTMwMjU1LCAKKyAgICAxMzAyNTgsIDEzMDI2MSwgMTMwMjY0LCAxMzAyNjcsIDEzMDI3MCwgMTMwMjczLCAxMzAyNzYsIDEzMDI3OSwgMTMwMjgyLCAKKyAgICAxMzAyODUsIDEzMDI4OCwgMTMwMjkxLCAxMzAyOTQsIDEzMDI5NywgMTMwMzAwLCAxMzAzMDMsIDEzMDMwNiwgMTMwMzA5LCAKKyAgICAxMzAzMTIsIDEzMDMxNSwgMTMwMzE4LCAxMzAzMjEsIDEzMDMyNCwgMTMwMzI3LCAxMzAzMzAsIDEzMDMzMywgMTMwMzM2LCAKKyAgICAxMzAzMzksIDEzMDM0MiwgMTMwMzQ1LCAxMzAzNDgsIDEzMDM1MSwgMTMwMzU0LCAxMzAzNTcsIDEzMDM2MCwgMTMwMzYzLCAKKyAgICAxMzAzNjYsIDEzMDM2OSwgMTMwMzcyLCAxMzAzNzUsIDEzMDM3OCwgMTMwMzgxLCAxMzAzODQsIDEzMDM4NywgMTMwMzkwLCAKKyAgICAxMzAzOTMsIDEzMDM5NiwgMTMwMzk5LCAxMzA0MDIsIDEzMDQwNSwgMTMwNDA4LCAxMzA0MTEsIDEzMDQxNCwgMTMwNDE3LCAKKyAgICAxMzA0MjAsIDEzMDQyMywgMTMwNDI2LCAxMzA0MjksIDEzMDQzMiwgMTMwNDM1LCAxMzA0MzgsIDEzMDQ0MSwgMTMwNDQ0LCAKKyAgICAxMzA0NDcsIDEzMDQ1MCwgMTMwNDUzLCAxMzA0NTYsIDEzMDQ1OSwgMTMwNDYyLCAxMzA0NjUsIDEzMDQ2OCwgMTMwNDcxLCAKKyAgICAxMzA0NzQsIDEzMDQ3NywgMTMwNDgwLCAxMzA0ODMsIDEzMDQ4NiwgMTMwNDg5LCAxMzA0OTIsIDEzMDQ5NSwgMTMwNDk4LCAKKyAgICAxMzA1MDEsIDEzMDUwNCwgMTMwNTA3LCAxMzA1MTAsIDEzMDUxMywgMTMwNTE2LCAxMzA1MTksIDEzMDUyMiwgMTMwNTI1LCAKKyAgICAxMzA1MjgsIDEzMDUzMSwgMTMwNTM0LCAxMzA1MzcsIDEzMDU0MCwgMTMwNTQzLCAxMzA1NDYsIDEzMDU0OSwgMTMwNTUyLCAKKyAgICAxMzA1NTUsIDEzMDU1OCwgMTMwNTYxLCAxMzA1NjQsIDEzMDU2NywgMTMwNTcwLCAxMzA1NzMsIDEzMDU3NiwgMTMwNTc5LCAKKyAgICAxMzA1ODIsIDEzMDU4NSwgMTMwNTg4LCAxMzA1OTEsIDEzMDU5NCwgMTMwNTk3LCAxMzA2MDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEzMDYwMywgMTMwNjA1LCAxMzA2MDcsIDEzMDYxMiwgMTMwNjE0LCAKKyAgICAxMzA2MTksIDEzMDYyMSwgMTMwNjI2LCAxMzA2MjgsIDEzMDYzMywgMTMwNjM1LCAxMzA2MzcsIDEzMDYzOSwgMTMwNjQxLCAKKyAgICAxMzA2NDMsIDEzMDY0NSwgMTMwNjQ3LCAxMzA2NDksIDEzMDY1MSwgMTMwNjU0LCAxMzA2NTcsIDEzMDY1OSwgMTMwNjYxLCAKKyAgICAxMzA2NjUsIDEzMDY2OCwgMTMwNjczLCAxMzA2NzUsIDEzMDY3NywgMTMwNjc5LCAxMzA2ODMsIDEzMDY4NiwgMTMwNjg4LCAKKyAgICAxMzA2OTIsIDEzMDY5NCwgMTMwNjk4LCAxMzA3MDAsIDEzMDcwNCwgMTMwNzA3LCAxMzA3MDksIDEzMDcxMywgMTMwNzE3LCAKKyAgICAxMzA3MTksIDEzMDcyNSwgMTMwNzI3LCAxMzA3MzIsIDEzMDczNCwgMTMwNzM5LCAxMzA3NDEsIDEzMDc0NiwgMTMwNzQ4LCAKKyAgICAxMzA3NTMsIDEzMDc1NSwgMTMwNzU4LCAxMzA3NjAsIDEzMDc2NCwgMTMwNzY2LCAxMzA3NzMsIDEzMDc3NSwgMTMwNzc3LCAKKyAgICAxMzA3NzksIDEzMDc4NCwgMTMwNzg2LCAxMzA3ODgsIDEzMDc5MCwgMTMwNzkyLCAxMzA3OTQsIDEzMDc5OSwgMTMwODAzLCAKKyAgICAxMzA4MDUsIDEzMDgxMCwgMTMwODE0LCAxMzA4MTYsIDEzMDgyMSwgMTMwODI1LCAxMzA4MjcsIDEzMDgzMiwgMTMwODM2LCAKKyAgICAxMzA4MzgsIDEzMDg0MCwgMTMwODQyLCAxMzA4NDQsIDEzMDg0OCwgMTMwODUwLCAxMzA4NTUsIDEzMDg1NywgMTMwODYzLCAKKyAgICAxMzA4NjUsIDEzMDg3MSwgMTMwODczLCAxMzA4NzUsIDEzMDg3NywgMTMwODgxLCAxMzA4ODMsIDEzMDg5MCwgMTMwODkyLCAKKyAgICAxMzA4OTksIDEzMDkwMSwgMTMwOTA2LCAxMzA5MTEsIDEzMDkxMywgMTMwOTE5LCAxMzA5MjUsIDEzMDkyNywgMTMwOTMzLCAKKyAgICAxMzA5MzgsIDEzMDk0MCwgMTMwOTQ2LCAxMzA5NTIsIDEzMDk1NCwgMTMwOTYwLCAxMzA5NjYsIDEzMDk2OCwgMTMwOTc0LCAKKyAgICAxMzA5NzgsIDEzMDk4MCwgMTMwOTg1LCAxMzA5ODcsIDEzMDk4OSwgMTMwOTk0LCAxMzA5OTYsIDEzMDk5OCwgMTMxMDA0LCAKKyAgICAxMzEwMDYsIDEzMTAxMSwgMTMxMDE1LCAxMzEwMTcsIDEzMTAyMiwgMTMxMDI2LCAxMzEwMjgsIDEzMTAzNCwgMTMxMDM2LCAKKyAgICAxMzEwNDAsIDEzMTA0MiwgMTMxMDQ2LCAxMzEwNDgsIDEzMTA1NSwgMTMxMDYyLCAxMzEwNjQsIDEzMTA3MSwgMTMxMDc4LCAKKyAgICAxMzEwODAsIDEzMTA4NSwgMTMxMDg3LCAxMzEwOTQsIDEzMTA5NiwgMTMxMTAxLCAxMzExMDMsIDEzMTEwOSwgMTMxMTExLCAKKyAgICAxMzExMTUsIDEzMTExNywgMTMxMTIzLCAxMzExMjUsIDEzMTEyOSwgMTMxMTMxLCAxMzExMzcsIDEzMTEzOSwgMTMxMTQxLCAKKyAgICAxMzExNDMsIDEzMTE0OCwgMTMxMTUzLCAxMzExNTUsIDEzMTE1OSwgMTMxMTY2LCAxMzExNzMsIDEzMTE3OCwgMTMxMTgzLCAKKyAgICAxMzExOTUsIDEzMTE5NywgMTMxMTk5LCAxMzEyMDEsIDEzMTIwMywgMTMxMjA1LCAxMzEyMDcsIDEzMTIwOSwgMTMxMjExLCAKKyAgICAxMzEyMTMsIDEzMTIxNSwgMTMxMjE3LCAxMzEyMTksIDEzMTIyMSwgMTMxMjIzLCAxMzEyMjUsIDEzMTIyNywgMTMxMjI5LCAKKyAgICAxMzEyMzUsIDEzMTI0MiwgMTMxMjQ3LCAxMzEyNTIsIDEzMTI2MywgMTMxMjY1LCAxMzEyNjcsIDEzMTI2OSwgMTMxMjcxLCAKKyAgICAxMzEyNzMsIDEzMTI3NSwgMTMxMjc3LCAxMzEyNzksIDEzMTI4MSwgMTMxMjgzLCAxMzEyODUsIDEzMTI4NywgMTMxMjg5LCAKKyAgICAxMzEyOTEsIDEzMTI5MywgMTMxMjk1LCAxMzEzMDAsIDEzMTMwMiwgMTMxMzA0LCAxMzEzMTUsIDEzMTMxNywgMTMxMzE5LCAKKyAgICAxMzEzMjEsIDEzMTMyMywgMTMxMzI1LCAxMzEzMjcsIDEzMTMyOSwgMTMxMzMxLCAxMzEzMzMsIDEzMTMzNSwgMTMxMzM3LCAKKyAgICAxMzEzMzksIDEzMTM0MSwgMTMxMzQzLCAxMzEzNDUsIDEzMTM0NywgMTMxMzQ5LCAxMzEzNTEsIDEzMTM1MywgMTMxMzU1LCAKKyAgICAxMzEzNTcsIDEzMTM1OSwgMTMxMzYxLCAxMzEzNjMsIDEzMTM2NSwgMTMxMzY3LCAxMzEzNjksIDEzMTM3MSwgMTMxMzczLCAKKyAgICAxMzEzNzUsIDEzMTM3NywgMTMxMzc5LCAxMzEzODEsIDEzMTM4MywgMTMxMzg1LCAxMzEzODcsIDEzMTM4OSwgMTMxMzkxLCAKKyAgICAxMzEzOTMsIDEzMTM5NSwgMTMxMzk3LCAxMzEzOTksIDEzMTQwMSwgMTMxNDAzLCAxMzE0MDUsIDEzMTQwNywgMTMxNDA5LCAKKyAgICAxMzE0MTEsIDEzMTQxMywgMTMxNDE1LCAxMzE0MTcsIDEzMTQxOSwgMTMxNDIxLCAxMzE0MjMsIDEzMTQyNSwgMTMxNDI3LCAKKyAgICAxMzE0MjksIDEzMTQzMSwgMTMxNDMzLCAxMzE0MzUsIDEzMTQzNywgMTMxNDM5LCAxMzE0NDEsIDEzMTQ0MywgMTMxNDQ1LCAKKyAgICAxMzE0NDcsIDEzMTQ0OSwgMTMxNDUxLCAxMzE0NTMsIDEzMTQ1NSwgMTMxNDU3LCAxMzE0NTksIDEzMTQ2MSwgMTMxNDYzLCAKKyAgICAxMzE0NjUsIDEzMTQ2NywgMTMxNDY5LCAxMzE0NzEsIDEzMTQ3MywgMTMxNDc1LCAxMzE0NzcsIDEzMTQ3OSwgMTMxNDgxLCAKKyAgICAxMzE0ODMsIDEzMTQ4NSwgMTMxNDg3LCAxMzE0ODksIDEzMTQ5MSwgMTMxNDkzLCAxMzE0OTUsIDEzMTQ5NywgMTMxNDk5LCAKKyAgICAxMzE1MDEsIDEzMTUwMywgMTMxNTA1LCAxMzE1MDcsIDEzMTUwOSwgMTMxNTExLCAxMzE1MTMsIDEzMTUxNSwgMTMxNTE3LCAKKyAgICAxMzE1MTksIDEzMTUyMSwgMTMxNTIzLCAxMzE1MjUsIDEzMTUyNywgMTMxNTI5LCAxMzE1MzEsIDEzMTUzMywgMTMxNTM1LCAKKyAgICAxMzE1MzcsIDEzMTUzOSwgMTMxNTQxLCAxMzE1NDMsIDEzMTU0NSwgMTMxNTQ3LCAxMzE1NDksIDEzMTU1MSwgMTMxNTUzLCAKKyAgICAxMzE1NTUsIDEzMTU1NywgMTMxNTU5LCAxMzE1NjEsIDEzMTU2MywgMTMxNTY1LCAxMzE1NjcsIDEzMTU2OSwgMTMxNTcxLCAKKyAgICAxMzE1NzMsIDEzMTU3NSwgMTMxNTc3LCAxMzE1NzksIDEzMTU4MSwgMTMxNTgzLCAxMzE1ODUsIDEzMTU4NywgMTMxNTg5LCAKKyAgICAxMzE1OTEsIDEzMTU5MywgMTMxNTk1LCAxMzE1OTcsIDEzMTU5OSwgMTMxNjAxLCAxMzE2MDMsIDEzMTYwNSwgMTMxNjA3LCAKKyAgICAxMzE2MDksIDEzMTYxMSwgMTMxNjEzLCAxMzE2MTUsIDEzMTYxNywgMTMxNjE5LCAxMzE2MjEsIDEzMTYyMywgMTMxNjI1LCAKKyAgICAxMzE2MjcsIDEzMTYyOSwgMTMxNjMxLCAxMzE2MzMsIDEzMTYzNSwgMTMxNjM3LCAxMzE2MzksIDEzMTY0MSwgMTMxNjQzLCAKKyAgICAxMzE2NDUsIDEzMTY0NywgMTMxNjQ5LCAxMzE2NTEsIDEzMTY1MywgMTMxNjU1LCAxMzE2NTcsIDEzMTY1OSwgMTMxNjYxLCAKKyAgICAxMzE2NjMsIDEzMTY2NSwgMTMxNjY3LCAxMzE2NjksIDEzMTY3MSwgMTMxNjczLCAxMzE2NzUsIDEzMTY3NywgMTMxNjc5LCAKKyAgICAxMzE2ODEsIDEzMTY4MywgMTMxNjg1LCAxMzE2ODcsIDEzMTY4OSwgMTMxNjkxLCAxMzE2OTMsIDEzMTY5NSwgMTMxNjk3LCAKKyAgICAxMzE2OTksIDEzMTcwMSwgMTMxNzAzLCAxMzE3MDUsIDEzMTcwNywgMTMxNzA5LCAxMzE3MTEsIDEzMTcxMywgMTMxNzE1LCAKKyAgICAxMzE3MTcsIDEzMTcxOSwgMTMxNzIxLCAxMzE3MjMsIDEzMTcyNSwgMTMxNzI3LCAxMzE3MjksIDEzMTczMSwgMTMxNzMzLCAKKyAgICAxMzE3MzUsIDEzMTczNywgMTMxNzM5LCAxMzE3NDEsIDEzMTc0MywgMTMxNzQ1LCAxMzE3NDcsIDEzMTc0OSwgMTMxNzUxLCAKKyAgICAxMzE3NTMsIDEzMTc1NSwgMTMxNzU3LCAxMzE3NTksIDEzMTc2MSwgMTMxNzYzLCAxMzE3NjUsIDEzMTc2NywgMTMxNzY5LCAKKyAgICAxMzE3NzEsIDEzMTc3MywgMTMxNzc1LCAxMzE3NzcsIDEzMTc3OSwgMTMxNzgxLCAxMzE3ODMsIDEzMTc4NSwgMTMxNzg3LCAKKyAgICAxMzE3ODksIDEzMTc5MSwgMTMxNzkzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAxMzE3OTUsIDEzMTgwNSwgMTMxODE1LCAxMzE4MjQsIDEzMTgzMywgMTMxODQ2LCAxMzE4NTksIDEzMTg3MSwgMTMxODgzLCAKKyAgICAxMzE4OTMsIDEzMTkwMywgMTMxOTEzLCAxMzE5MjMsIDEzMTkzNCwgMTMxOTQ1LCAxMzE5NTUsIDEzMTk2NCwgMTMxOTczLCAKKyAgICAxMzE5ODIsIDEzMTk5NSwgMTMyMDA4LCAxMzIwMjAsIDEzMjAzMiwgMTMyMDQyLCAxMzIwNTIsIDEzMjA2MiwgMTMyMDcyLCAKKyAgICAxMzIwODEsIDEzMjA5MCwgMTMyMDk5LCAxMzIxMDgsIDEzMjExNywgMTMyMTI2LCAxMzIxMzUsIDEzMjE0NCwgMTMyMTUzLCAKKyAgICAxMzIxNjIsIDEzMjE3MSwgMTMyMTgwLCAxMzIxOTEsIDEzMjIwMSwgMTMyMjExLCAxMzIyMjQsIDEzMjIzNCwgMTMyMjQ3LCAKKyAgICAxMzIyNTQsIDEzMjI2NCwgMTMyMjcxLCAxMzIyNzgsIDEzMjI4NSwgMTMyMjkyLCAxMzIyOTksIDEzMjMwNiwgMTMyMzE1LCAKKyAgICAxMzIzMjQsIDEzMjMzMywgMTMyMzQyLCAxMzIzNTEsIDEzMjM2MCwgMTMyMzY5LCAxMzIzNzgsIDEzMjM4NiwgMTMyMzk0LCAKKyAgICAxMzI0MDEsIDEzMjQxMSwgMTMyNDIwLCAxMzI0MjgsIDEzMjQzNSwgMTMyNDQ1LCAxMzI0NTQsIDEzMjQ1OCwgMTMyNDYyLCAKKyAgICAxMzI0NjYsIDEzMjQ3MCwgMTMyNDc0LCAxMzI0NzgsIDEzMjQ4MiwgMTMyNDg2LCAxMzI0OTAsIDEzMjQ5NCwgMTMyNDk3LCAKKyAgICAxMzI1MDEsIDEzMjUwNCwgMTMyNTA3LCAxMzI1MTEsIDEzMjUxNSwgMTMyNTE5LCAxMzI1MjMsIDEzMjUyNywgMTMyNTMxLCAKKyAgICAxMzI1MzUsIDEzMjUzOSwgMTMyNTQzLCAxMzI1NDcsIDEzMjU1MSwgMTMyNTU1LCAxMzI1NTksIDEzMjU2MywgMTMyNTY3LCAKKyAgICAxMzI1NzEsIDEzMjU3NSwgMTMyNTc5LCAxMzI1ODMsIDEzMjU4NywgMTMyNTkxLCAxMzI1OTUsIDEzMjU5OSwgMTMyNjAzLCAKKyAgICAxMzI2MDcsIDEzMjYxMSwgMTMyNjE1LCAxMzI2MTksIDEzMjYyMywgMTMyNjI3LCAxMzI2MzEsIDEzMjYzNSwgMTMyNjM5LCAKKyAgICAxMzI2NDMsIDEzMjY0NywgMTMyNjUxLCAxMzI2NTUsIDEzMjY1OSwgMTMyNjYzLCAxMzI2NjcsIDEzMjY3MSwgMTMyNjc1LCAKKyAgICAxMzI2NzksIDEzMjY4MywgMTMyNjg3LCAxMzI2OTEsIDEzMjY5NSwgMTMyNjk5LCAxMzI3MDMsIDEzMjcwNywgMTMyNzExLCAKKyAgICAxMzI3MTUsIDEzMjcxOSwgMTMyNzIzLCAxMzI3MjcsIDEzMjczMSwgMTMyNzM1LCAxMzI3MzksIDEzMjc0MywgMTMyNzQ3LCAKKyAgICAxMzI3NTEsIDEzMjc1NSwgMTMyNzU5LCAxMzI3NjMsIDEzMjc2NywgMTMyNzcxLCAxMzI3NzUsIDEzMjc3OSwgMTMyNzgzLCAKKyAgICAxMzI3ODcsIDEzMjc5MSwgMTMyNzk1LCAxMzI3OTksIDEzMjgwMywgMTMyODA3LCAxMzI4MTEsIDEzMjgxNSwgMTMyODE5LCAKKyAgICAxMzI4MjMsIDEzMjgyNywgMTMyODMxLCAxMzI4MzUsIDEzMjgzOSwgMTMyODQzLCAxMzI4NDcsIDEzMjg1MCwgMTMyODU0LCAKKyAgICAxMzI4NTgsIDEzMjg2MiwgMTMyODY2LCAxMzI4NzAsIDEzMjg3NCwgMTMyODc4LCAxMzI4ODIsIDEzMjg4NiwgMTMyODkwLCAKKyAgICAxMzI4OTQsIDEzMjg5OCwgMTMyOTAyLCAxMzI5MDYsIDEzMjkxMCwgMTMyOTE0LCAxMzI5MTgsIDEzMjkyMiwgMTMyOTI2LCAKKyAgICAxMzI5MzAsIDEzMjkzNCwgMTMyOTM4LCAxMzI5NDIsIDEzMjk0NiwgMTMyOTUwLCAxMzI5NTQsIDEzMjk1OCwgMTMyOTYyLCAKKyAgICAxMzI5NjYsIDEzMjk3MCwgMTMyOTc0LCAxMzI5NzgsIDEzMjk4MiwgMTMyOTg2LCAxMzI5OTAsIDEzMjk5NCwgMTMyOTk4LCAKKyAgICAxMzMwMDIsIDEzMzAwNiwgMTMzMDEwLCAxMzMwMTQsIDEzMzAxOCwgMTMzMDIyLCAxMzMwMjYsIDEzMzAzMCwgMTMzMDM0LCAKKyAgICAxMzMwMzgsIDEzMzA0MiwgMTMzMDQ2LCAxMzMwNTAsIDEzMzA1NCwgMTMzMDU4LCAxMzMwNjIsIDEzMzA2NiwgMTMzMDcwLCAKKyAgICAxMzMwNzQsIDEzMzA3OCwgMTMzMDgyLCAxMzMwODYsIDEzMzA5MCwgMTMzMDk0LCAxMzMwOTgsIDEzMzEwMiwgMTMzMTA2LCAKKyAgICAxMzMxMTAsIDEzMzExNCwgMTMzMTE4LCAxMzMxMjIsIDEzMzEyNiwgMTMzMTMwLCAxMzMxMzQsIDEzMzEzOCwgMTMzMTQyLCAKKyAgICAxMzMxNDYsIDEzMzE1MCwgMTMzMTU0LCAxMzMxNTgsIDEzMzE2MiwgMTMzMTY2LCAxMzMxNzAsIDEzMzE3NCwgMTMzMTc4LCAKKyAgICAxMzMxODIsIDEzMzE4NiwgMTMzMTkwLCAxMzMxOTQsIDEzMzE5OCwgMTMzMjAyLCAxMzMyMDYsIDEzMzIxMCwgMTMzMjE0LCAKKyAgICAxMzMyMTgsIDEzMzIyMiwgMTMzMjI2LCAxMzMyMzAsIDEzMzIzNCwgMTMzMjM4LCAxMzMyNDIsIDEzMzI0NiwgMTMzMjUwLCAKKyAgICAxMzMyNTQsIDEzMzI1OCwgMTMzMjYyLCAxMzMyNjYsIDEzMzI3MCwgMTMzMjc0LCAxMzMyNzgsIDEzMzI4MiwgMTMzMjg2LCAKKyAgICAxMzMyOTAsIDEzMzI5NCwgMTMzMjk4LCAxMzMzMDIsIDEzMzMwNiwgMTMzMzEwLCAxMzMzMTQsIDEzMzMxOCwgMTMzMzIyLCAKKyAgICAxMzMzMjYsIDEzMzMzMCwgMTMzMzM0LCAxMzMzMzgsIDEzMzM0MiwgMTMzMzQ2LCAxMzMzNTAsIDEzMzM1NCwgMTMzMzU4LCAKKyAgICAxMzMzNjIsIDEzMzM2NiwgMTMzMzcwLCAxMzMzNzQsIDEzMzM3OCwgMTMzMzgyLCAxMzMzODYsIDEzMzM5MCwgMTMzMzk0LCAKKyAgICAxMzMzOTgsIDEzMzQwMiwgMTMzNDA2LCAxMzM0MTAsIDEzMzQxNCwgMTMzNDE4LCAxMzM0MjIsIDEzMzQyNiwgMTMzNDMwLCAKKyAgICAxMzM0MzQsIDEzMzQzOCwgMTMzNDQyLCAxMzM0NDYsIDEzMzQ1MCwgMTMzNDU0LCAxMzM0NTgsIDEzMzQ2MiwgMTMzNDY2LCAKKyAgICAxMzM0NzAsIDEzMzQ3NCwgMTMzNDc4LCAxMzM0ODIsIDEzMzQ4NiwgMTMzNDkwLCAxMzM0OTQsIDEzMzQ5OCwgMTMzNTAyLCAKKyAgICAxMzM1MDYsIDEzMzUxMCwgMTMzNTE0LCAxMzM1MTgsIDEzMzUyMiwgMTMzNTI2LCAxMzM1MzAsIDEzMzUzNCwgMTMzNTM4LCAKKyAgICAxMzM1NDIsIDEzMzU0NiwgMTMzNTUwLCAxMzM1NTQsIDEzMzU1OCwgMTMzNTYyLCAxMzM1NjYsIDEzMzU3MCwgMTMzNTc0LCAKKyAgICAxMzM1NzgsIDEzMzU4MiwgMTMzNTg2LCAxMzM1OTAsIDEzMzU5NCwgMTMzNTk4LCAxMzM2MDIsIDEzMzYwNiwgMTMzNjEwLCAKKyAgICAxMzM2MTQsIDEzMzYxOSwgMTMzNjI0LCAxMzM2MjksIDEzMzYzMywgMTMzNjM5LCAxMzM2NDYsIDEzMzY1MywgMTMzNjYwLCAKKyAgICAxMzM2NjcsIDEzMzY3NCwgMTMzNjgxLCAxMzM2ODgsIDEzMzY5NSwgMTMzNzAyLCAxMzM3MDksIDEzMzcxNiwgMTMzNzIzLCAKKyAgICAxMzM3MzAsIDEzMzczNiwgMTMzNzQzLCAxMzM3NTAsIDEzMzc1NiwgMTMzNzYzLCAxMzM3NzAsIDEzMzc3NywgMTMzNzg0LCAKKyAgICAxMzM3OTEsIDEzMzc5OCwgMTMzODA1LCAxMzM4MTIsIDEzMzgxOSwgMTMzODI2LCAxMzM4MzMsIDEzMzg0MCwgMTMzODQ3LCAKKyAgICAxMzM4NTMsIDEzMzg1OSwgMTMzODY2LCAxMzM4NzMsIDEzMzg4MiwgMTMzODkxLCAxMzM5MDAsIDEzMzkwOSwgMTMzOTE0LCAKKyAgICAxMzM5MTksIDEzMzkyNSwgMTMzOTMxLCAxMzM5MzcsIDEzMzk0MywgMTMzOTQ5LCAxMzM5NTUsIDEzMzk2MSwgMTMzOTY3LCAKKyAgICAxMzM5NzMsIDEzMzk3OSwgMTMzOTg1LCAxMzM5OTEsIDEzMzk5NiwgMTM0MDAyLCAxMzQwMTIsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogfTsKIAogLyogbmFtZS0+Y29kZSBkaWN0aW9uYXJ5ICovCiBzdGF0aWMgdW5zaWduZWQgaW50IGNvZGVfaGFzaFtdID0gewogICAgIDc0MjI0LCA0ODUxLCAwLCA3ODE1NiwgNzg0OTksIDEyODY4NSwgNzkyOSwgMCwgMTk0NjgyLCAxMjc3NjYsIDc4NTAwLCAKLSAgICA2NjQ4MCwgMCwgNDI4MzMsIDc0NTI5LCAxMjA2NCwgMCwgNTk2LCAwLCAxMjgxMDMsIDEzMTkyLCA4NjUxLCAwLCAwLCAKKyAgICA2NjQ4MCwgMCwgNDI4MzMsIDc0NTI5LCAxMjA2NCwgMCwgNTk2LCA5ODM4MTIsIDY5ODUwLCAxMzE5MiwgODY1MSwgMCwgMCwgCiAgICAgMTIwMjE4LCAxMjk5NSwgNjQ4NjUsIDEzNzMsIDAsIDAsIDU4MTYsIDExOTA2NywgNjQ4MTAsIDQyMzEsIDY4MjUsIDQyODk3LCAKICAgICA0MjMzLCA0MjM0LCA0MjMyLCA5MTc4MzYsIDc0NDE1LCAxMjAyMTAsIDYzODQsIDkxNzg0MCwgNzgxMDgsIDg4NTEsIDAsIAotICAgIDEyODU1MywgMCwgNDE2MDEsIDg4NzQsIDAsIDc3NDgsIDAsIDAsIDAsIDEyNzkzOSwgNDE2MDMsIDk3ODQsIDAsIDkxODgsIAotICAgIDQxNjAwLCAwLCAxMjA2MTgsIDEyODM0MywgMTQ1NywgMzUzNSwgMCwgMCwgMCwgMCwgNjUyNDAsIDExOTUxLCAwLCAzNDA0LCAKLSAgICAwLCAwLCAwLCAxNzU5LCAwLCA0MTA3NiwgNjgzODMsIDEyMDU3MiwgMTE5MjA1LCA2NjU3NywgMCwgMTI3NzY0LCA2NTg1OSwgCi0gICAgMCwgNzQwNCwgMCwgMCwgMCwgMCwgNjU5MDgsIDk4MzQsIDMwNTUsIDk4NTIsIDAsIDY1Mjg4LCAwLCAxMTM5OCwgMCwgCi0gICAgOTI0MTcsIDExOTI1NSwgMCwgMCwgNjAzLCA3NDM5OCwgNDM1NDgsIDAsIDAsIDkxNzgyNCwgMzM1MCwgMTIwODE3LCAKLSAgICA2NDMxOCwgOTE3ODI4LCAxMjcwODksIDMzOTAsIDc0NDgzLCA0MzI2NSwgMTIwNTk5LCA5MTc4MzAsIDc4NTczLCAwLCAKLSAgICAxOTE5LCAzNDAwLCAxMjA2NTEsIDEyNzk0NCwgMTE2NDcsIDkxNzU0MCwgNjY0NDYsIDY0MTQxLCA4NTYyLCAyMTIxLCAKLSAgICA2NDEzOCwgNDA0MywgODcxMiwgNjQxMzQsIDY0MTMzLCAxMTI5NywgMCwgMCwgMTE5NjYsIDY0MTI4LCAxMjg1ODcsIDAsIDAsIAotICAgIDY0MTMyLCAxMDg2NywgNjQxMzAsIDY0MTI5LCAwLCA0MzM3NCwgOTc3OSwgMjc2NCwgNjYwMDIsIDEwMTY3LCA5NDcxLCAwLCAKLSAgICA2NjAyMSwgMCwgMCwgNTQ1NywgNTQ0MCwgODg1NywgMTI4NzcxLCA2NTI4MiwgMjg0MywgNTM1NSwgMTI3OTI4LCAwLCAwLCAKLSAgICA1MTk0LCAxMTY1NywgNDM5ODQsIDEyODI5MiwgMCwgMCwgMCwgMCwgMTI3MDI3LCAxMDcxNywgNjQ1NzAsIDU2MzAsIAotICAgIDc0MzUwLCA2NDE0MywgMTA2ODIsIDAsIDEwNjAyLCA4MDAsIDQyNDk5LCA2NjE4NiwgMCwgMCwgNjQ5MzAsIDExNjMxLCAKLSAgICA2NDE0NiwgNjQxNDUsIDY0MTQ0LCA3NjIsIDEzMTcyLCAxMTg4NTksIDE5NDY2MSwgNjQ0NjgsIDEwOTA2LCAxMzUzLCAKLSAgICA2OTYwLCAwLCAwLCA1ODI4LCA4NzI0LCA5MTc4MDYsIDg5MzMsIDE2MDEsIDQyMjQ0LCA4NTgsIDcwODAsIDY0MTA5LCAKLSAgICA2NDEwOCwgODA5MCwgMCwgNzQ0MDEsIDkxNzgxMSwgNTg3LCAwLCAxMjgxMzEsIDAsIDAsIDAsIDc4MjE0LCAyNzUwLCAKLSAgICA3NDIxOCwgNTU2LCA2NDE1OCwgNjQxNTcsIDAsIDEyMjEzLCAxOTQ2NzgsIDI3NjAsIDAsIDAsIDAsIDE5NDc5NCwgNjQxNTYsIAotICAgIDY0MTU1LCA0MjQ5NiwgMCwgNjQxNTEsIDY0MTUwLCAxMjY3OSwgMTAwNTMsIDEwNDIxLCAxMTA5MywgNjQxNTMsIDY0MTUyLCAKLSAgICAwLCAwLCA0ODM5LCAwLCAwLCAxODc0LCAxMTkwMTYsIDAsIDY1NzcsIDY0MTI1LCA2NDEyNCwgNjQxMjMsIDAsIDEyNzUzMSwgCi0gICAgOTI1MzQsIDcwMDcsIDc1OTAsIDY1NDQzLCA5MDM2LCA5MjU1MCwgNjQxMjIsIDc0NDIyLCA2NjYwOSwgMCwgNjQxMTcsIAotICAgIDY0MTE2LCA2Mjg3LCA2NDExNCwgMjcyNSwgNjQxMjAsIDY0MTE5LCA0Mzk4MSwgNDIxMjgsIDEyNzg0MiwgMTE3NywgCi0gICAgNjU2MDEsIDEyMzIyLCA2NDEwNiwgNjk2NDAsIDEyNzMwNiwgNjQxMDIsIDc4NTksIDE5NDUsIDY0MDk5LCAwLCAxMDQ1MywgCi0gICAgNjQxMDQsIDcxODgsIDc5OTcsIDAsIDczODksIDAsIDg3MDUsIDY0MDk3LCA2NDA5NiwgOTU3MSwgNTI4LCAxMjg2NzEsIAotICAgIDQ0MDE3LCAxMTQyOSwgMCwgMCwgMCwgOTE3OTkwLCA3Mzg0MSwgMCwgMCwgOTA1NiwgNjQzMTMsIDYxODgsIDEyMDAxOSwgCi0gICAgNjE1NSwgNjQwNjgsIDE4MjMsIDY0MDY2LCA2NDA2NSwgNjQwNzIsIDY0MDcxLCA2MywgNzIzMywgOTIyMTIsIDAsIDQxOTA0LCAKLSAgICA2NjM5LCA2NDA2NCwgMCwgMTI4MzQ0LCAwLCAxMTc2LCAxMTg5NTksIDEyNzkzMCwgODE2MiwgMTI4NjY3LCAwLCAwLCAKLSAgICAxMjA1MTksIDY2Mzc2LCA2NjI0MiwgMTE0MTUsIDQzMzMsIDk4NTUsIDY0MTEyLCA2NDY0MiwgMCwgNTM4OCwgMCwgMCwgMCwgCi0gICAgNzcxNCwgNjYyMjIsIDAsIDc3NjgsIDAsIDQxOTksIDY0NzA4LCAwLCAwLCAwLCA4NzA4LCA5NTYwLCA2NDA3NywgNjQwNzYsIAotICAgIDg5OTYsIDQ5OTIsIDQ0NzEsIDQyNjIyLCA2NDA3OSwgNjQwNzgsIDkyMTc5LCAwLCAwLCAwLCA2NDYxNSwgNDE5MTUsIDAsIAotICAgIDEyMDc1LCA5MjIxMSwgMCwgNTE3NCwgMCwgMCwgMTI3NTU3LCAzMTIzLCAwLCAxMjY4NSwgMTI3OTA0LCA4NDA4LCA2NDcwNCwgCi0gICAgMCwgMCwgOTIyMywgMCwgNDE2MTYsIDAsIDczNzk3LCAwLCAxMTE2LCAxMjgyMDQsIDQzMDQ5LCA3MTM2LCA0MzA1MCwgCi0gICAgODU0OCwgMTIwNDg1LCAwLCAxMTkwNjEsIDkxNzk5OSwgMCwgMTMxMTUsIDQzNjc1LCA2NDA5MSwgOTMyMiwgMCwgMTIwNTk1LCAKLSAgICA2NDA5NSwgNjQwOTQsIDgxMTEsIDY2MjQ3LCA0MjMzMiwgNjQwODksIDY0MDg4LCA2MTk5LCAwLCAwLCAxMTQzNCwgNjQwODMsIAotICAgIDY0MDgyLCAxMTMyOSwgNzczNywgNjQwODcsIDY0MDg2LCA2NDA4NSwgNjQwODQsIDE5NDgxNywgOTkyNywgNDEzMzUsIAotICAgIDQxMTgsIDE3OTcsIDAsIDQxMzM0LCAwLCA0NiwgNDM0NDgsIDEyNzg4MSwgMjk4LCAwLCAxMjgxMTQsIDAsIDQyNjI3LCAwLCAKLSAgICAzMiwgNjE4NywgMTE5MDUyLCAxMTQ5NSwgMTE0NTksIDM2NjUsIDAsIDQyODcxLCAwLCAxOTkyMywgNzQzMzUsIDAsIAotICAgIDEyNzE5MiwgNjYyMzksIDQyMjY0LCA2NDQwMywgNDQxMiwgNzI0MCwgOTI0OTUsIDAsIDAsIDY1NzU4LCAxMjc1MCwgNDE4MSwgCi0gICAgODU0NCwgMCwgMTIwMTk5LCA5MTc4OTcsIDEyMDE5OCwgNjk4MDksIDYxODEsIDY1MDE0LCAwLCAwLCAwLCAzNjM5LCAKLSAgICAxMTk1ODgsIDAsIDAsIDExODkwNCwgMTAwNzMsIDEyMDIwNiwgMTI4ODYyLCAxMjcxODYsIDY4NDA5LCA0Mjg0NCwgNzQ5OCwgCi0gICAgMTA5OCwgOTI1NjUsIDEyMDIwNSwgMCwgMCwgMTAyMDcsIDg3ODksIDAsIDAsIDAsIDAsIDkyMzQsIDAsIDYxODIsIDAsIAotICAgIDY1MDU4LCAwLCAwLCAwLCAwLCA1NDcxLCA5NDYxLCA1NTczLCAxMTg5MzYsIDU0NzMsIDQ0LCAwLCA2NjI0NCwgMTE4OTA3LCAKLSAgICAwLCA2NjIzOCwgMTI4NDQsIDAsIDE2MjIsIDc3NjcsIDE5MDAsIDQxMzM5LCAxMTQ1OCwgMCwgMCwgNjU4MSwgNTU3NiwgMCwgCi0gICAgNjQ0MDUsIDQxMzM3LCAwLCA0MTYzMSwgODk0NywgNjgzOTAsIDEyNzg0NCwgNDE2OTQsIDAsIDAsIDc5MDgsIDAsIDEwNDA4LCAKLSAgICA2NTc5LCAwLCA2NDYxOCwgMCwgMTIwMTQ3LCAyMTM4LCA2NTgzLCA3NzYxLCAxMjcwMTAsIDEyMDUwNCwgMTk0ODI4LCAwLCAKLSAgICA1MDU4LCA0MTAxMCwgOTk5MiwgMTI4Mjk5LCA1MDU3LCAwLCAwLCA3NDUzOCwgNTA1NCwgMTE4OTUxLCAxOTQ5NzEsIAotICAgIDc4NjA2LCAwLCAxNDM3LCA0MTYxNywgNjU4LCAzNDk3LCAxMjg1MDksIDc0ODYsIDUwNjEsIDUwNjAsIDQyMzUsIDAsIDAsIAotICAgIDAsIDEyMTEzLCA0MjM2LCA0NzI3LCAwLCAwLCA3NjkzLCAxMDc0OSwgMCwgNzQ4OCwgNTc3MywgOTc4LCAxMjgxMzQsIDAsIAotICAgIDQxNjE5LCAxMDIzOSwgNjg2MTEsIDAsIDY2MjA5LCAwLCAxMjg3MDAsIDk3NDgsIDAsIDEyNzUyNCwgMCwgMCwgMCwgMCwgCi0gICAgMTk1MDgzLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA5MzQxLCAxMTk1OTYsIDIzNzksIDExMzI1LCAwLCA2NDY2OCwgNjc4NTQsIAotICAgIDgxMjUsIDEyMDU0NSwgNjc0MywgMTE5MTc1LCA5MTc5NDAsIDIzNjksIDAsIDAsIDAsIDExOTIzNSwgNzQwOTIsIDczOTM2LCAKLSAgICA3MDA4LCA0MzY2MCwgMCwgMCwgMCwgMjM2NywgMTI3ODI3LCAwLCAyNjQsIDIzNzUsIDgwNjAsIDYxOTQsIDExOTg1OCwgCi0gICAgMTg0NCwgMTE5MDg0LCAwLCA2MDE5LCAwLCAwLCA2OTYxLCAwLCAxMTg4MzksIDAsIDg4MDAsIDAsIDQyODYyLCA0NDYzLCAKLSAgICA2NTU4MSwgNjE5MiwgMTk0Njc2LCA0Mjc3MSwgMCwgOTIzMzMsIDcyNSwgNjUwNDIsIDExODc5NywgMTIwODAwLCAwLCAKLSAgICAxMjg5MiwgMCwgMCwgMCwgMCwgMCwgMCwgMTI3MjYxLCAxMjA3MDcsIDAsIDAsIDUwNzQsIDUwNzMsIDEyODc5MCwgODk4MywgCi0gICAgMTE4OTgxLCA3NDQ5MywgMCwgNTA3MiwgMTI4MDcxLCA2MTk4LCAxMTYxNCwgMCwgMTk2LCAwLCAwLCAwLCA0OTI5LCAKLSAgICAxMjAzNDIsIDAsIDAsIDAsIDAsIDQyODQ3LCAwLCAwLCAwLCA0OTM0LCAwLCA0MTMyMywgOTc1OCwgMCwgOTIyODksIAotICAgIDEyNzkxNywgNDI1ODQsIDAsIDQzMjksIDQxMzIxLCA0OTc5LCAzMDQ4LCA3NzUyLCA0MTMyMCwgMCwgNzQ0MTgsIDEyODE5LCAKLSAgICAwLCA1MDcxLCAwLCAzNjQyLCAwLCA1MDcwLCAxMDA0MiwgMTE4ODM1LCAzOTg3LCA1MDY4LCAwLCA4OTA5LCA3ODY1MCwgCi0gICAgNzg2NDksIDAsIDEwNjM2LCA3Mzk4MSwgMTE4MDYsIDQzMTY3LCA0NTMxLCAxMjQ1LCA5MTA1LCA2NjQ2MywgNDkyMSwgCi0gICAgMTIwMjE5LCA0OTI2LCA2NTU0NCwgNzM4ODQsIDE5NDYxOSwgMCwgMCwgNjQ3MDksIDAsIDE5NDYyMCwgNzg4ODAsIDQ5MjIsIAotICAgIDMyNSwgOTkyLCAxMTk1NjgsIDQ5MjUsIDAsIDAsIDk1MjYsIDQ5MjAsIDAsIDk0OCwgMCwgMTIwMjA4LCA0OTMwLCAwLCAKLSAgICA5MjE3NSwgMTIwMjc1LCA0OTMzLCAwLCAwLCAxMTg5ODUsIDQ5MjgsIDAsIDAsIDc0NzcwLCAxMjAxOTQsIDAsIDcyMiwgCi0gICAgMTk0OTM0LCAxOTkwOCwgMTI2MzcsIDEyNzQ4NSwgMTE5ODU1LCA4NzUzLCAxNTA5LCAwLCA1NDY4LCA5NTExLCAxMjc0NzQsIAotICAgIDEyNzQ3NywgMTY3MiwgNjIwNSwgMTA4NjQsIDc0NTg2LCAxMjc0ODAsIDkyMzEwLCAxMjc0NjYsIDc4NTU1LCAxMjc0NjgsIAotICAgIDczODYzLCAxMjc0NzAsIDEyNzQ3MywgNDE2MDcsIDEyMDExNSwgMTY3OSwgMTIwMTE2LCAxMjAxODAsIDEyMDExMywgCi0gICAgMTI3NDYyLCA3MDA1LCA0MTYwOSwgOTU4MCwgMCwgNDAxLCAwLCA0Mzc3OSwgNjk2OCwgNTc2MSwgMzQyLCA4NTUzLCAwLCAKLSAgICA4MTQzLCAxMjcxMTUsIDExOTgzLCA5MjI0OSwgNjI0LCA3NDUwOCwgNDA1NywgNDM3ODgsIDUwNzgsIDc0MjU4LCAxMjQ3OCwgCi0gICAgMCwgNTA3NiwgMCwgMTk0NjA5LCAwLCAxMjAwOTcsIDY4NSwgOTAyNSwgMTUyNCwgMTI2MTgsIDAsIDU1MzksIDAsIDkyNTIzLCAKLSAgICAxMjAxMDIsIDcxMzgsIDEyMDU1MiwgMCwgMTk0NjExLCA3ODc1MiwgMCwgMTI1MjAsIDgwNTgsIDk3MzIsIDAsIDUwODAsIAotICAgIDY0Nzc1LCA1MDM2LCA1MDM1LCAxMjA1OTAsIDQyNjA0LCAwLCAwLCA4MDc0LCAyNzUsIDEzMjkxLCAxOTA3LCA3ODgzOCwgCisgICAgMTI4NTUzLCAwLCA0MTYwMSwgODg3NCwgOTgzNzc0LCA3NzQ4LCAwLCAwLCAwLCAxMjc5MzksIDQxNjAzLCA5Nzg0LCAwLCAKKyAgICA5MTg4LCA0MTYwMCwgMCwgMTIwNjE4LCAxMjgzNDMsIDE0NTcsIDM1MzUsIDAsIDAsIDAsIDAsIDY1MjQwLCAxMTk1MSwgMCwgCisgICAgMzQwNCwgMCwgMCwgMCwgMTc1OSwgMCwgNDEwNzYsIDY4MzgzLCAxMjA1NzIsIDExOTIwNSwgNjY1NzcsIDk0MDE0LCAKKyAgICAxMjc3NjQsIDY1ODU5LCAwLCA3NDA0LCAwLCAwLCAwLCAwLCA2NTkwOCwgOTgzNCwgMzA1NSwgOTg1MiwgOTgzODUxLCAKKyAgICA2NTI4OCwgMCwgMTEzOTgsIDAsIDkyNDE3LCAxMTkyNTUsIDAsIDAsIDYwMywgNzQzOTgsIDQzNTQ4LCAwLCAwLCA5MTc4MjQsIAorICAgIDMzNTAsIDEyMDgxNywgNjQzMTgsIDkxNzgyOCwgMTI3MDg5LCAzMzkwLCA3NDQ4MywgNDMyNjUsIDEyMDU5OSwgOTE3ODMwLCAKKyAgICA3ODU3MywgMCwgMTkxOSwgMzQwMCwgMTIwNjUxLCAxMjc5NDQsIDExNjQ3LCA5MTc1NDAsIDY2NDQ2LCA2NDE0MSwgODU2MiwgCisgICAgMjEyMSwgNjQxMzgsIDQwNDMsIDg3MTIsIDY0MTM0LCA2NDEzMywgMTEyOTcsIDk4MzY3OSwgOTgzMTUyLCAxMTk2NiwgCisgICAgNjQxMjgsIDEyODU4NywgMCwgMCwgNjQxMzIsIDEwODY3LCA2NDEzMCwgNjQxMjksIDk4MzgzNSwgNDMzNzQsIDk3NzksIAorICAgIDI3NjQsIDY2MDAyLCAxMDE2NywgOTQ3MSwgMCwgNjYwMjEsIDAsIDAsIDU0NTcsIDU0NDAsIDg4NTcsIDkzOTgxLCA2NTI4MiwgCisgICAgMjg0MywgNTM1NSwgMTI3OTI4LCA5ODM5NTYsIDAsIDUxOTQsIDExNjU3LCA0Mzk4NCwgMTI4MjkyLCAwLCA5ODM2MjAsIDAsIAorICAgIDAsIDEyNzAyNywgMTA3MTcsIDY0NTcwLCA1NjMwLCA1Mzk2LCA2NDE0MywgMTA2ODIsIDAsIDEwNjAyLCA4MDAsIDQyNDk5LCAKKyAgICA2NjE4NiwgMCwgMCwgNjQ5MzAsIDExNjMxLCA2NDE0NiwgNjQxNDUsIDY0MTQ0LCA3NjIsIDEzMTcyLCAxMTg4NTksIAorICAgIDE5NDY2MSwgNjQ0NjgsIDEwOTA2LCAxMzUzLCA2OTYwLCAwLCAwLCA1ODI4LCA4NzI0LCA5MTc4MDYsIDg5MzMsIDE2MDEsIAorICAgIDQyMjQ0LCA4NTgsIDcwODAsIDY0MTA5LCA2NDEwOCwgODA5MCwgMCwgNzQ0MDEsIDkxNzgxMSwgNTg3LCAwLCAxMjgxMzEsIAorICAgIDAsIDAsIDAsIDc4MjE0LCAyNzUwLCA3NDIxOCwgNTU2LCA2NDE1OCwgNjQxNTcsIDk4Mzk0MCwgMTIyMTMsIDE5NDY3OCwgCisgICAgMjc2MCwgMCwgMCwgMCwgMTk0Nzk0LCA2NDE1NiwgNjQxNTUsIDQyNDk2LCAwLCA2NDE1MSwgNjQxNTAsIDEyNjc5LCAKKyAgICAxMDA1MywgMTA0MjEsIDExMDkzLCA2NDE1MywgNjQxNTIsIDAsIDAsIDQ4MzksIDAsIDAsIDE4NzQsIDExOTAxNiwgMCwgCisgICAgNjU3NywgNjQxMjUsIDY0MTI0LCA2NDEyMywgMCwgMTI3NTMxLCA5MjUzNCwgNzAwNywgNzU5MCwgNjU0NDMsIDkwMzYsIAorICAgIDkyNTUwLCA2NDEyMiwgNzQ0MjIsIDY2NjA5LCAwLCA2NDExNywgNjQxMTYsIDYyODcsIDY0MTE0LCAyNzI1LCA2NDEyMCwgCisgICAgNjQxMTksIDQzOTgxLCA0MjEyOCwgMTI3ODQyLCAxMTc3LCA2NTYwMSwgMTIzMjIsIDY0MTA2LCA2OTY0MCwgMTI3MzA2LCAKKyAgICA2NDEwMiwgNzg1OSwgMTk0NSwgNjQwOTksIDAsIDEwNDUzLCA2NDEwNCwgNzE4OCwgNzk5NywgMCwgNzM4OSwgOTgzMTYxLCAKKyAgICA4NzA1LCA2NDA5NywgNjQwOTYsIDk1NzEsIDUyOCwgMTI4NjcxLCA0NDAxNywgMTE0MjksIDcxMzQ3LCAwLCA5ODMwNzcsIAorICAgIDkxNzk5MCwgNzM4NDEsIDAsIDAsIDkwNTYsIDY0MzEzLCA2MTg4LCAxMjAwMTksIDYxNTUsIDY0MDY4LCAxODIzLCA2NDA2NiwgCisgICAgNjQwNjUsIDY0MDcyLCA2NDA3MSwgNjMsIDcyMzMsIDkyMjEyLCAwLCA0MTkwNCwgNjYzOSwgNjQwNjQsIDk4Mzc2NiwgCisgICAgMTI4MzQ0LCAwLCAxMTc2LCAxMTg5NTksIDEyNzkzMCwgODE2MiwgMTI4NjY3LCA5ODM4MjIsIDAsIDEyMDUxOSwgNjYzNzYsIAorICAgIDY2MjQyLCAxMTQxNSwgNDMzMywgOTg1NSwgNjQxMTIsIDY0NjQyLCAwLCA1Mzg4LCAwLCAwLCAwLCA3NzE0LCA2NjIyMiwgCisgICAgNjk5MDIsIDc3NjgsIDAsIDQxOTksIDY0NzA4LCA5ODM0MTMsIDAsIDAsIDg3MDgsIDk1NjAsIDY0MDc3LCA2NDA3NiwgCisgICAgODk5NiwgNDk5MiwgNDQ3MSwgNDI2MjIsIDY0MDc5LCA2NDA3OCwgOTIxNzksIDAsIDEyNjU3MCwgMCwgNjQ2MTUsIDQxOTE1LCAKKyAgICAwLCAxMjA3NSwgNzAwNjIsIDAsIDUxNzQsIDk4MzIxNSwgMCwgMTI3NTU3LCAzMTIzLCAwLCAxMjY4NSwgMTI3OTA0LCAKKyAgICA4NDA4LCA2NDcwNCwgMCwgMCwgOTIyMywgMCwgNDE2MTYsIDY3OTk5LCA3Mzc5NywgMCwgMTExNiwgMTI4MjA0LCA0MzA0OSwgCisgICAgNzEzNiwgNDMwNTAsIDg1NDgsIDEyMDQ4NSwgMCwgMTE5MDYxLCA5MTc5OTksIDAsIDEzMTE1LCA0MzY3NSwgNjQwOTEsIAorICAgIDkzMjIsIDAsIDEyMDU5NSwgNjQwOTUsIDY0MDk0LCA4MTExLCA2NjI0NywgNDIzMzIsIDY0MDg5LCA2NDA4OCwgNjE5OSwgMCwgCisgICAgMCwgMTE0MzQsIDY0MDgzLCA2NDA4MiwgMTEzMjksIDc3MzcsIDY0MDg3LCA2NDA4NiwgNjQwODUsIDY0MDg0LCAxOTQ4MTcsIAorICAgIDk5MjcsIDQxMzM1LCA0MTE4LCAxNzk3LCAwLCA0MTMzNCwgMCwgNDYsIDQzNDQ4LCAxMjc4ODEsIDI5OCwgMCwgMTI4MTE0LCAKKyAgICAwLCA0MjYyNywgMCwgMzIsIDYxODcsIDExOTA1MiwgMTE0OTUsIDExNDU5LCAzNjY1LCA5ODM2MDAsIDQyODcxLCAwLCAKKyAgICAxOTkyMywgNzQzMzUsIDAsIDEyNzE5MiwgNjYyMzksIDQyMjY0LCA2NDQwMywgNDQxMiwgNzI0MCwgOTI0OTUsIDAsIAorICAgIDk4MzQ1OCwgNjU3NTgsIDEyNzUwLCA0MTgxLCA4NTQ0LCAwLCAxMjAxOTksIDkxNzg5NywgMTIwMTk4LCA2OTgwOSwgNjE4MSwgCisgICAgNjUwMTQsIDAsIDAsIDk4MzE5NiwgMzYzOSwgMTE5NTg4LCAwLCAwLCAxMTg5MDQsIDEwMDczLCAxMjAyMDYsIDEyODg2MiwgCisgICAgMTI3MTg2LCA2ODQwOSwgNDI4NDQsIDc0OTgsIDEwOTgsIDkyNTY1LCAxMjAyMDUsIDAsIDk4MzExOCwgMTAyMDcsIDg3ODksIAorICAgIDk4MzIyMywgMCwgMCwgOTgzNDY0LCA5MjM0LCAwLCA2MTgyLCA5ODM0NjYsIDY1MDU4LCAwLCA5ODM0NzAsIDk4MzQ2NywgMCwgCisgICAgNTQ3MSwgOTQ2MSwgNTU3MywgMTE4OTM2LCA1NDczLCA0NCwgMCwgNjYyNDQsIDk0MDcyLCAwLCA2NjIzOCwgMTI4NDQsIDAsIAorICAgIDE2MjIsIDc3NjcsIDE5MDAsIDQxMzM5LCAxMTQ1OCwgMCwgMCwgNjU4MSwgNTU3NiwgMCwgNjQ0MDUsIDQxMzM3LCAwLCAKKyAgICA0MTYzMSwgODk0NywgNjgzOTAsIDEyNzg0NCwgNDE2OTQsIDAsIDAsIDc5MDgsIDAsIDEwNDA4LCA2NTc5LCAwLCA2NDYxOCwgCisgICAgMCwgMTIwMTQ3LCAyMTM4LCA2NTgzLCA3NzYxLCAxMjcwMTAsIDEyMDUwNCwgMTk0ODI4LCAwLCA1MDU4LCA0MTAxMCwgCisgICAgOTk5MiwgMTI4Mjk5LCA1MDU3LCAwLCAwLCA3NDUzOCwgNTA1NCwgMTE4OTUxLCAxOTQ5NzEsIDc4NjA2LCAwLCAxNDM3LCAKKyAgICA0MTYxNywgNjU4LCAzNDk3LCAxMjg1MDksIDc0ODYsIDUwNjEsIDUwNjAsIDQyMzUsIDEyNzg3OCwgMCwgMTI4NTI5LCAKKyAgICAxMjExMywgNDIzNiwgNDcyNywgMCwgMCwgNzY5MywgMTA3NDksIDAsIDc0ODgsIDU3NzMsIDk3OCwgMTI4MTM0LCAwLCAKKyAgICA0MTYxOSwgMTAyMzksIDY4NjExLCAwLCA2NjIwOSwgMCwgMTI4NzAwLCA5NzQ4LCA5ODM5NDcsIDEyNzUyNCwgMCwgMCwgMCwgCisgICAgMCwgMTk1MDgzLCAwLCA5ODM4MzQsIDAsIDAsIDAsIDAsIDAsIDkzNDEsIDExOTU5NiwgMjM3OSwgMTEzMjUsIDAsIDY0NjY4LCAKKyAgICA2Nzg1NCwgODEyNSwgMTIwNTQ1LCA2NzQzLCAxMTkxNzUsIDkxNzk0MCwgMjM2OSwgMCwgOTgzOTYzLCA5ODM5NjQsIAorICAgIDExOTIzNSwgNzQwOTIsIDczOTM2LCA3MDA4LCA0MzY2MCwgMCwgMCwgMCwgMjM2NywgMTI3ODI3LCA5ODM4NDgsIDI2NCwgCisgICAgMjM3NSwgODA2MCwgNjE5NCwgMTE5ODU4LCAxODQ0LCAxMTkwODQsIDAsIDYwMTksIDAsIDAsIDY5NjEsIDAsIDExODgzOSwgCisgICAgMCwgODgwMCwgMCwgNDI4NjIsIDQ0NjMsIDY1NTgxLCA2MTkyLCAxOTQ2NzYsIDQyNzcxLCAwLCA5MjMzMywgNzI1LCAKKyAgICA2NTA0MiwgMTE4Nzk3LCAxMjA4MDAsIDk4MzA0MCwgMTI4OTIsIDAsIDAsIDAsIDAsIDAsIDAsIDEyNzI2MSwgMTIwNzA3LCAKKyAgICA5ODMxMjgsIDAsIDUwNzQsIDUwNzMsIDEyODc5MCwgODk4MywgMTE4OTgxLCA3NDQ5MywgOTgzNTYxLCA1MDcyLCA5Mzk3NywgCisgICAgNjE5OCwgMTE2MTQsIDAsIDE5NiwgMCwgMCwgMCwgNDkyOSwgMTIwMzQyLCAwLCAwLCAwLCAwLCA0Mjg0NywgMCwgMCwgMCwgCisgICAgNDkzNCwgMCwgNDEzMjMsIDk3NTgsIDAsIDkyMjg5LCAxMjc5MTcsIDQyNTg0LCAwLCA0MzI5LCA0MTMyMSwgNDk3OSwgCisgICAgMzA0OCwgNzc1MiwgNDEzMjAsIDk4MzA0MiwgNzQ0MTgsIDEyODE5LCAwLCA1MDcxLCAwLCAzNjQyLCAwLCA1MDcwLCAKKyAgICAxMDA0MiwgMTE4ODM1LCAzOTg3LCA1MDY4LCAwLCA4OTA5LCA3ODY1MCwgNzg2NDksIDY5OTE3LCAxMDYzNiwgNzM5ODEsIAorICAgIDExODA2LCA0MzE2NywgNDUzMSwgMTI0NSwgOTEwNSwgNjY0NjMsIDQ5MjEsIDEyMDIxOSwgNDkyNiwgNjU1NDQsIDczODg0LCAKKyAgICAxOTQ2MTksIDAsIDAsIDY0NzA5LCAwLCAxOTQ2MjAsIDc4ODgwLCA0OTIyLCAzMjUsIDk5MiwgMTE5NTY4LCA0OTI1LCAwLCAKKyAgICAwLCA5NTI2LCA0OTIwLCAwLCA5NDgsIDAsIDEyMDIwOCwgNDkzMCwgMCwgOTIxNzUsIDEyMDI3NSwgNDkzMywgMTIwMjExLCAKKyAgICAwLCAxMTg5ODUsIDQ5MjgsIDAsIDAsIDc0NzcwLCAxMjAxOTQsIDEyNjU0OCwgNzIyLCAxOTQ5MzQsIDE5OTA4LCAxMjYzNywgCisgICAgMTI3NDg1LCAxMTk4NTUsIDg3NTMsIDE1MDksIDAsIDU0NjgsIDk1MTEsIDEyNzQ3NCwgMTI3NDc3LCAxNjcyLCA2MjA1LCAKKyAgICAxMDg2NCwgNzQ1ODYsIDEyNzQ4MCwgNzAxMDMsIDEyNzQ2NiwgNzg1NTUsIDEyNzQ2OCwgNzM4NjMsIDEyNjU3NywgCisgICAgMTI2NTAzLCA0MTYwNywgMTIwMTE1LCAxNjc5LCAxMjAxMTYsIDEyMDE4MCwgMTIwMTEzLCAxMjc0NjIsIDcwMDUsIDQxNjA5LCAKKyAgICA5NTgwLCAwLCA0MDEsIDY5OTQ5LCA0Mzc3OSwgNjk2OCwgNTc2MSwgMzQyLCA4NTUzLCAwLCA4MTQzLCAxMjcxMTUsIAorICAgIDExOTgzLCA5MjI0OSwgNjI0LCA3NDUwOCwgNDA1NywgNDM3ODgsIDUwNzgsIDc0MjU4LCAxMjQ3OCwgMCwgNTA3NiwgMCwgCisgICAgMTk0NjA5LCAwLCAxMjAwOTcsIDY4NSwgOTAyNSwgMTUyNCwgMTI2MTgsIDAsIDU1MzksIDAsIDkyNTIzLCAxMjAxMDIsIAorICAgIDcxMzgsIDEyMDU1MiwgMCwgMTk0NjExLCA3ODc1MiwgMCwgMTI1MjAsIDgwNTgsIDk3MzIsIDAsIDUwODAsIDY0Nzc1LCAKKyAgICA1MDM2LCA1MDM1LCAxMjA1OTAsIDQyNjA0LCA5ODM2NDcsIDAsIDgwNzQsIDI3NSwgMTMyOTEsIDE5MDcsIDc4ODM4LCAKICAgICA0NDMyLCAxMjcyNzEsIDUwMzMsIDEyNzI3MywgMTI3MjcyLCA0ODM2LCAzODg4LCA3Mzc5MiwgMTA3MjksIDY0NTQ2LCAKICAgICAxMjcyNjIsIDQzNzA0LCAxMjcyNjQsIDEyNzI1MSwgNjc1ODgsIDExOTAwMCwgMTI3MjUyLCAxMjcyNTUsIDg4NTgsIDY0MDksIAogICAgIDEyNzI1NiwgMTIwMjUyLCAxMjgxMDAsIDAsIDAsIDY2MzIxLCAwLCAxMjgxNCwgMTI3MjQ4LCAzNDMyLCAxMDIxOCwgMCwgCi0gICAgNjA5NCwgNzY0MSwgNDI0NDUsIDAsIDkyNDg3LCA0MjQwNiwgMTY3NiwgNzQzMjAsIDE5NDYwNywgMCwgNTAzMCwgMCwgMCwgCi0gICAgMCwgNzM4NjksIDk2MjIsIDAsIDAsIDY3ODcsIDAsIDAsIDAsIDAsIDEwNTQ0LCAxMjkxOSwgMCwgOTIyMTgsIDAsIDAsIDAsIAotICAgIDEyMDc4OSwgMCwgOTQ3LCAxMTk4MzUsIDE5NDU4NiwgMTk0NTg1LCAxMDk2OSwgMTE5OTM1LCA3NjEzLCA5MjU2MiwgCi0gICAgMTE5OTM2LCA0Nzk1LCAxMTk5MzAsIDcwMTgsIDczNzYsIDEyMDE4MSwgMTIwMTkyLCAxMjAyNjgsIDAsIDQzNTY3LCAKLSAgICA3NDA1NiwgOTE3OTEwLCAxMTg5NjMsIDExOTkxOSwgNzIxNiwgNjUyMzIsIDcyMTcsIDI1MSwgNzIxOCwgNzg5NSwgNDM5NSwgCi0gICAgNDM1MzgsIDExOTkyNiwgMTE5OTI5LCAxMTk5MjgsIDcyMTMsIDExOTkyMiwgNzIxNCwgNzIxNSwgMCwgNzQxNDEsIDg4ODAsIAotICAgIDc2ODUsIDY2NDU5LCAxMjAxNzMsIDY1NTQwLCAxMTk2MTgsIDYyNSwgODE4NywgNDI4NjEsIDExMTMsIDcyMzYsIDc5MTUsIAotICAgIDM2MzAsIDEyMDE3NiwgODE3OSwgNzQyNjQsIDY3ODg2LCA5MzE2LCAxMDk4MCwgMjQ4OSwgNjU2MjQsIDgxNTAsIDEzNTksIAotICAgIDY3NjUyLCAxMjczMjksIDEyNzMzMCwgNzM3NTYsIDUwNDIsIDUwNDEsIDQyNzY5LCAxMjA4NCwgMTI3MzI0LCAxMjczMjEsIAotICAgIDkyMjc5LCAxMjczMTksIDEyNzMyMCwgMTI3MzE3LCAxMjczMTgsIDEyNzMxNSwgMTIyODMsIDE2MTYsIDM3OTUsIDAsIAotICAgIDg3OTUsIDY2MjQ1LCAwLCAwLCAwLCAxMTM4LCA3MzkwNSwgMTI2NzcsIDAsIDAsIDMyMzksIDEyNzMxMSwgMCwgMCwgODQzMSwgCi0gICAgMCwgNDIxNjQsIDAsIDExNzc4LCAxMjYyMCwgNjgyNiwgNzM3NzMsIDExOTA3MywgNTA0MCwgMCwgMCwgMCwgNzg0MjAsIDAsIAotICAgIDUwMzksIDAsIDc4NDE4LCAwLCA1MDM4LCAwLCAwLCAxMzE4NCwgNzQyOTMsIDAsIDY0NjQ4LCAwLCA5MzU5LCA3ODQxNiwgMCwgCi0gICAgMTI4NzcwLCA2NTE1NywgNjY2MiwgMCwgMCwgMzg2MywgNzM5MDksIDQ4MzUsIDU1MjY2LCA0MzQzMiwgMTI3ODIyLCA0MzA5LCAKLSAgICA3MTI3LCAxOTQ1NjksIDAsIDE5NDU2OCwgMTMwMSwgMCwgNDI1ODksIDU2OSwgMCwgNzM4MTMsIDcxMSwgNDM4OSwgNzEzMywgCi0gICAgMCwgNzM4ODAsIDExNjEwLCAxMTM2OCwgMCwgMTk0NTcwLCA0MTMzMSwgMTAwNiwgNzQyNDAsIDAsIDE1NTAsIDgyMDEsIAotICAgIDczNzM3LCA3NjI3LCA1NDk5LCA1MDMxLCA3NzkwOCwgNDI3MzgsIDY1Nzg0LCA3NzkwNywgNjUyNjcsIDM3NTgsIDAsIAotICAgIDY1NzgxLCA2NDczNCwgMCwgMjQ0MCwgNjU3ODAsIDc3OTEzLCA4NDQ5LCAwLCA1MDA4LCAwLCAyMTE4LCAwLCAxMjEyMSwgCi0gICAgODI1NSwgNTUxMiwgNzM4NzUsIDIxMjgsIDIxMzAsIDIxMzEsIDIxMjYsIDIxMzMsIDExMTksIDEyNzA2OCwgMjExNCwgCi0gICAgMjExNiwgMjQ1NSwgMCwgMjEyMiwgMjEyMywgMjEyNCwgMjEyNSwgMCwgODcxNCwgMCwgMjExMywgMCwgMjExNSwgMTI4MTc3LCAKLSAgICAxMjc5MDcsIDQzNzEzLCA1MDUyLCA2NjIyMCwgNTgyMSwgNjE4NiwgNjU3NzgsIDY1Nzc1LCA1MDUxLCA2NTc3MywgMTQyOSwgCi0gICAgNDI2NDcsIDUwNTAsIDMwMiwgMzg4LCA0MTExNSwgNzM1LCA2NjM3LCA1OTA3LCA2NTA4OCwgMCwgMTI3MjYsIDc0NTk0LCAKLSAgICA5MTE3LCAwLCAxMjAwMywgNTUxMywgNjY2NiwgNTA1MywgNzQyMzAsIDU1MTAsIDc4NDUxLCAwLCA3ODQ0NywgMjQ3MCwgCisgICAgNjA5NCwgNzY0MSwgNDI0NDUsIDAsIDkyNDg3LCA0MjQwNiwgMTY3NiwgNzQzMjAsIDE5NDYwNywgOTgzMTc3LCA1MDMwLCAwLCAKKyAgICAwLCAwLCA3Mzg2OSwgOTYyMiwgMCwgNjk5NDQsIDY3ODcsIDAsIDAsIDAsIDk4MzU4MywgMTA1NDQsIDEyOTE5LCAwLCAKKyAgICA5MjIxOCwgMCwgMCwgNjk5MDYsIDEyMDc4OSwgMCwgOTQ3LCAxMTk4MzUsIDE5NDU4NiwgMTk0NTg1LCAxMDk2OSwgCisgICAgMTE5OTM1LCA3NjEzLCA5MjU2MiwgMTE5OTM2LCA0Nzk1LCAxMTk5MzAsIDcwMTgsIDczNzYsIDEyMDE4MSwgMTIwMTkyLCAKKyAgICAxMjAyNjgsIDAsIDQzNTY3LCA3NDA1NiwgOTE3OTEwLCAxMTgzMywgMTE5OTE5LCA3MjE2LCA2NTIzMiwgNzIxNywgMjUxLCAKKyAgICA3MjE4LCA3ODk1LCA0Mzk1LCA0MzUzOCwgMTE5OTI2LCAxMTk5MjksIDExOTkyOCwgNzIxMywgMTE5OTIyLCA3MjE0LCAKKyAgICA3MjE1LCA5ODM4MjcsIDc0MTQxLCA4ODgwLCA3Njg1LCA2NjQ1OSwgMTIwMTczLCA2NTU0MCwgMTE5NjE4LCA2MjUsIDgxODcsIAorICAgIDQyODYxLCAxMTEzLCA3MjM2LCA3OTE1LCAzNjMwLCAxMjAxNzYsIDgxNzksIDc0MjY0LCA2Nzg4NiwgOTMxNiwgMTA5ODAsIAorICAgIDI0ODksIDY1NjI0LCA4MTUwLCAxMzU5LCA2NzY1MiwgMTI3MzI5LCAxMjczMzAsIDczNzU2LCA1MDQyLCA1MDQxLCA0Mjc2OSwgCisgICAgMTIwODQsIDEyNzMyNCwgMTI3MzIxLCA5MjI3OSwgMTI3MzE5LCAxMjczMjAsIDEyNzMxNywgMTI3MzE4LCAxMjczMTUsIAorICAgIDEyMjgzLCAxNjE2LCAzNzk1LCAwLCA4Nzk1LCA2NjI0NSwgMCwgMCwgMCwgMTEzOCwgNzM5MDUsIDEyNjc3LCAwLCAwLCAKKyAgICAzMjM5LCAxMjczMTEsIDAsIDAsIDg0MzEsIDAsIDQyMTY0LCAwLCAxMTc3OCwgMTI2MjAsIDY4MjYsIDczNzczLCAxMTkwNzMsIAorICAgIDUwNDAsIDAsIDAsIDk4MzQzNSwgNzg0MjAsIDAsIDUwMzksIDAsIDc4NDE4LCAwLCA1MDM4LCAwLCAwLCAxMzE4NCwgCisgICAgNzQyOTMsIDAsIDY0NjQ4LCAwLCA5MzU5LCA3ODQxNiwgMCwgMTI4NzcwLCA2NTE1NywgNjY2MiwgMCwgMCwgMzg2MywgCisgICAgNzM5MDksIDQ4MzUsIDU1MjY2LCA0MzQzMiwgMTI3ODIyLCA0MzA5LCA3MTI3LCAxOTQ1NjksIDAsIDE5NDU2OCwgMTMwMSwgCisgICAgMCwgNDI1ODksIDU2OSwgMCwgNzM4MTMsIDcxMSwgNDM4OSwgNzEzMywgMCwgNzM4ODAsIDExNjEwLCAxMTM2OCwgMCwgCisgICAgMTk0NTcwLCA0MTMzMSwgMTAwNiwgNzQyNDAsIDAsIDE1NTAsIDgyMDEsIDczNzM3LCA3NjI3LCA1NDk5LCA1MDMxLCAKKyAgICA3NzkwOCwgNDI3MzgsIDY1Nzg0LCA3NzkwNywgNjUyNjcsIDM3NTgsIDAsIDY1NzgxLCA2NDczNCwgNzAwNzMsIDI0NDAsIAorICAgIDY1NzgwLCA3NzkxMywgODQ0OSwgMCwgNTAwOCwgOTgzNTcyLCAyMTE4LCAwLCAxMjEyMSwgODI1NSwgNTUxMiwgNzM4NzUsIAorICAgIDIxMjgsIDIxMzAsIDIxMzEsIDIxMjYsIDIxMzMsIDExMTksIDEyNzA2OCwgMjExNCwgMjExNiwgMjQ1NSwgMCwgMjEyMiwgCisgICAgMjEyMywgMjEyNCwgMjEyNSwgMTI3NDg2LCA4NzE0LCA5ODM4MTEsIDIxMTMsIDAsIDIxMTUsIDEyODE3NywgMTI3OTA3LCAKKyAgICA0MzcxMywgNTA1MiwgNjYyMjAsIDU4MjEsIDYxODYsIDY1Nzc4LCA2NTc3NSwgNTA1MSwgNjU3NzMsIDE0MjksIDQyNjQ3LCAKKyAgICA1MDUwLCAzMDIsIDM4OCwgNDExMTUsIDczNSwgNjYzNywgNTkwNywgNjUwODgsIDAsIDEyNzI2LCA3NDU5NCwgOTExNywgCisgICAgOTgzMTgxLCAxMjAwMywgNTUxMywgNjY2NiwgNTA1MywgNzQyMzAsIDU1MTAsIDc4NDUxLCAwLCA3ODQ0NywgMjQ3MCwgCiAgICAgNzg0MzcsIDAsIDE5MjUsIDAsIDkyMjM3LCA3NDgwNywgMCwgNTA0OCwgNTA0NywgMCwgMCwgMCwgOTIzMTMsIDAsIDc0NDk3LCAKLSAgICA5MjM5NSwgODA4OSwgNjkyOSwgNjM5LCAwLCA2ODE3OSwgNjQ0NDIsIDAsIDkyMzQ4LCA0NTk5LCA0MTQwMiwgNjY3NCwgCi0gICAgNDMzOTcsIDQzMjk0LCAxNDc2LCA2NDgsIDAsIDY1ODE5LCAzMjMzLCAwLCA0MTc4MiwgNjk1MSwgMCwgMCwgMzUzMCwgCi0gICAgOTc1MCwgMTI4MzE3LCAwLCA2NjU2LCA5MjM2NywgMCwgNTA0NiwgODUxMiwgNjU4NTYsIDc0MjYxLCA4OTY3LCAwLCA1MDQ1LCAKLSAgICAwLCAxOTE2LCA3OTg2LCA1MDQ0LCAxMjA1NTYsIDkwMDYsIDEzMTI4LCA1MDQzLCAwLCA3ODUzLCA3NDA2OCwgNzQwMDQsIAotICAgIDk2NjksIDEyMzQxLCAxMjcwMywgODQwMiwgMCwgMTE5MDcwLCA5MTc2MDAsIDQxNzUwLCAzNTg2LCA2NDUwOCwgNDMxNDgsIAotICAgIDAsIDAsIDExOTYwNiwgMCwgMTMyOTYsIDUxNywgMCwgMTI4NTM0LCAxOTQ5NDYsIDQxNTI4LCAxMjMsIDY1NDU0LCAwLCAwLCAKLSAgICA3NDQ3OCwgMTA1MzEsIDc3ODQsIDQxNTI2LCAxMDgyOSwgNzM5OTEsIDgwNTcsIDExMjYsIDczODk1LCAwLCAxOTQ1OTEsIDAsIAotICAgIDM5MjUsIDQyNTEsIDgwNjksIDEwNTE3LCAxMjA0MzksIDQ4OSwgMCwgNDI1MCwgMTIwNDQxLCAxMjA0NTIsIDQzMTUxLCAwLCAKLSAgICAxOTQ4NTEsIDY2MjAwLCAwLCAwLCAwLCA3ODQyMywgMCwgMCwgODcxMSwgNjE4MywgMCwgMCwgMCwgMTIwNDQ4LCA3NjIzLCAKLSAgICAxMTg5MjUsIDE5NDg1MywgOTIzNSwgMTI3NjAsIDc0MTc2LCA2OTY2MiwgNjY0NDUsIDQzNTQwLCAxMDA2MiwgMzc0MywgCi0gICAgMTE1MTQsIDExMDc4LCAwLCAxMjEzNiwgMCwgMCwgMTIwNDM1LCAwLCA3NzI2LCAwLCAxOTkyMiwgMjY3LCAzMzkzLCAKLSAgICA0MjE5OCwgMTM3MSwgMTk0ODQ5LCA2OTIzMywgMjQ1OCwgMCwgNjIwMSwgMCwgNDEwNzQsIDQyNjYsIDEwNjUyLCA0MTYxMiwgCi0gICAgNDEwNzcsIDM0MDIsIDkwNTAsIDMzOTgsIDAsIDAsIDAsIDMzOTEsIDQxMDc1LCAyNDc2LCAwLCAxMjgwMTcsIDAsIDEwNjI1LCAKLSAgICAwLCAxMjc2NywgMTMwMTcsIDc4NzQzLCA2NDI2MSwgNjQ5MzQsIDEyNzUzNywgMTMwMTQsIDEzMDEzLCAwLCA2NjczLCAwLCAKLSAgICAwLCAwLCAxMjQzOCwgMCwgMCwgMCwgMCwgMCwgOTA1MywgMTMwMTUsIDc0NTIzLCAwLCA3MDQsIDY2MjE1LCA2MTk1LCAwLCAKLSAgICA2NjYwLCA3ODc1OCwgOTE3NzYwLCA5MTc3OTMsIDQyMjEyLCAxMjYyOSwgMTE0MzUsIDAsIDU1MjU2LCA2NTUzOCwgMCwgCi0gICAgMTI3OTQwLCAwLCA3NDU0NywgMCwgNjU0NDgsIDc4MTAwLCAxMjk0OCwgMTE5MDAxLCAxOTUwMDIsIDExOTIzOCwgMTk1MDA0LCAKLSAgICA3ODA5OSwgMTI3MDg1LCAwLCAwLCA0Mjg3LCA4Mjc2LCA0OTAyLCAxMTMxLCAwLCA3ODQ1OCwgNjY3MjgsIDE4MTYsIDAsIAotICAgIDQyNTMzLCAxNjgsIDQyODQ1LCA0ODk4LCA2NDI5OCwgMCwgMCwgNDkwMSwgMTgyMSwgMCwgNTc4LCAzNjUzLCAwLCA3OTEsIAotICAgIDkxNjIsIDY5NzcsIDAsIDExOTI5OCwgNzQ1NjEsIDAsIDczNzMxLCA4MzU0LCA0MzU5MCwgMTE5MzAzLCAwLCA3NTU3LCAKLSAgICAxMTkzMzksIDExOTMwMSwgODIzNCwgNzI0MSwgMCwgMTk0OTk0LCAxMTkxNjcsIDE5NDk5NiwgMTI4MTEsIDY1OTI1LCAKLSAgICAzOTQ2LCA3ODA3OCwgMTA5OTgsIDc4MDgwLCA2NzMsIDE5NDg2NywgNjQzOTcsIDEyODI3NiwgNzQ1OTksIDc4NDQ5LCAKLSAgICA4ODkwLCAxOTQ5NzcsIDE5NDk3NiwgMjQ0OCwgNzgwODUsIDEwMjY3LCA4NDI0LCAyNDUyLCA3ODA4MywgMTk0ODY0LCAKLSAgICA4NzI5LCA3ODQ1NiwgMCwgNzg0NSwgOTE3OTE3LCA3ODY5MiwgNDQwOCwgNDEyMiwgNjc3MiwgMTEwMzksIDg3MjMsIAotICAgIDE5NDk5MCwgMTI3ODMzLCAxMTkzMDIsIDczMSwgMTE5MzA0LCA5MjI4NiwgMjQzOCwgNjQ4NTUsIDExOTMwMCwgMTE5Mjk5LCAKLSAgICAxMTc1LCAwLCA0MjEzNSwgMzczLCAxMTkxNzIsIDIxMTksIDExNDU3LCAxMTUyMSwgNzcyMywgMCwgMCwgMCwgNDE5NTIsIDAsIAotICAgIDUyNzMsIDIxMjcsIDUyNjksIDYzMzcsIDUyMDIsIDI0MDQsIDUyNjcsIDQyODIzLCAxMTI5MSwgMTk5MTUsIDUyNzcsIAotICAgIDEyOTYzLCAxMjc4NjQsIDYxODksIDQxMjUsIDEzMTQsIDEyMTMzLCAwLCAxMTg4NzMsIDEyNzEsIDAsIDAsIDY2MDI0LCAKLSAgICA0MTQ4MiwgMzg2NCwgNzQ1MzksIDAsIDM4NzksIDAsIDEyOTc4LCA0MTY2LCA0NTc0LCAwLCA3NTY3LCA3NDU5LCAwLCAKLSAgICA0MTM5MCwgNTM4NCwgNDE4ODIsIDY3NjQ3LCA5MjU0OCwgNTc1OSwgMCwgMCwgNDEzODgsIDkyMzYyLCA0MTM5MiwgNjQyODgsIAotICAgIDQxMzg3LCAwLCA4NzA2LCA1NTUyLCAwLCA3MDAsIDAsIDU1NTMsIDAsIDcwODgsIDUzNTYsIDc0OTksIDc4MTEwLCA2NjU5NiwgCi0gICAgMCwgMCwgMTAyNjMsIDU1NTQsIDAsIDEyMzQ0LCAxMDMxMSwgNzgxMTMsIDY2NjUsIDAsIDAsIDc2MTgsIDg1MTcsIDExNDU1LCAKLSAgICA3ODQ0MCwgNjQ2MzIsIDY0NDQ3LCA1NTU1LCA3ODA4OCwgNzgwOTMsIDc4MDkxLCAwLCA0MjgwMywgNjUwMzMsIDkxNDMsIAotICAgIDY2NjgsIDE5NTA2NywgMTk1MDY2LCAxOTUwNjksIDY1NiwgMTk1MDcxLCA2NTAzNywgNDU3NywgNjQ2MjQsIDAsIDAsIDAsIAotICAgIDAsIDQyNjksIDczODg1LCA5MTc3NzUsIDQyODQ2LCA2OTY0NCwgOTUwLCAwLCA5MjI3MywgNjY1ODAsIDExODg5NSwgCi0gICAgNjY2ODMsIDEwNTU0LCA5MTc3NzgsIDExOTEyMSwgMCwgNTA5OCwgOTE3NzcwLCAwLCAxMTkwOTksIDUwOTcsIDQ5MzUsIAotICAgIDk4NDgsIDEwMzgxLCAwLCAxMjg4NzAsIDAsIDM2NTEsIDAsIDE5NDYxMCwgMTI3NTU2LCA1MTAyLCA1MTAxLCAxMDI2OSwgCi0gICAgMTI5ODMsIDgxMzgsIDQ1MTcsIDE5MzIsIDUxMDAsIDE0MzksIDEyMDkzLCAxMjQ3LCAxMDAzNCwgMTk1MDY0LCA1MDk5LCAKLSAgICA3ODM3MywgMTQ0MSwgNDIwODcsIDMwNjMsIDY1MCwgMCwgNzgzOCwgMCwgMTk1MDQxLCAxOTUwNDAsIDExOTE0MiwgOTAzMSwgCi0gICAgMTIwNzkwLCAxMjg1ODIsIDkwNzgsIDg1NDUsIDY2MzU2LCAxMjg3OTksIDAsIDkxNTQsIDkxMTgsIDAsIDAsIDI2NzYsIAotICAgIDc3NTAsIDAsIDczODEyLCA2MTkwLCA4NTk5LCAxOTUwNTMsIDAsIDEwNzk1LCA5ODU3LCA3MDE0LCA5ODU2LCAxOTUwMzMsIAorICAgIDkyMzk1LCA4MDg5LCA2OTI5LCA2MzksIDk4MzU2MywgNjgxNzksIDY0NDQyLCAwLCA5MjM0OCwgNDU5OSwgNDE0MDIsIAorICAgIDY2NzQsIDQzMzk3LCA0MzI5NCwgMTQ3NiwgNjQ4LCAwLCA2NTgxOSwgMzIzMywgMCwgNDE3ODIsIDY5NTEsIDk0MDE3LCAKKyAgICA5ODM5NjcsIDM1MzAsIDk3NTAsIDEyODMxNywgMCwgNjY1NiwgNDI2MTgsIDAsIDUwNDYsIDg1MTIsIDY1ODU2LCA3NDI2MSwgCisgICAgODk2NywgMCwgNTA0NSwgNDIwMjYsIDE5MTYsIDc5ODYsIDUwNDQsIDEyMDU1NiwgOTAwNiwgMTMxMjgsIDUwNDMsIDAsIAorICAgIDc4NTMsIDc0MDY4LCA3NDAwNCwgOTY2OSwgMTIzNDEsIDEyNzAzLCA4NDAyLCAwLCAxMTkwNzAsIDkxNzYwMCwgNDE3NTAsIAorICAgIDM1ODYsIDY0NTA4LCA0MzE0OCwgMCwgMCwgMTE5NjA2LCA2Nzk4MywgMTMyOTYsIDUxNywgMCwgMTI4NTM0LCAxOTQ5NDYsIAorICAgIDQxNTI4LCAxMjMsIDY1NDU0LCAwLCAwLCA3NDQ3OCwgMTA1MzEsIDc3ODQsIDQxNTI2LCAxMDgyOSwgNzM5OTEsIDgwNTcsIAorICAgIDExMjYsIDczODk1LCAwLCAxOTQ1OTEsIDAsIDM5MjUsIDQyNTEsIDgwNjksIDEwNTE3LCAxMjA0MzksIDQ4OSwgMCwgNDI1MCwgCisgICAgMTIwNDQxLCAxMjA0NTIsIDQzMTUxLCA5ODMxNzgsIDE5NDg1MSwgNjYyMDAsIDAsIDAsIDAsIDc4NDIzLCAwLCAwLCA4NzExLCAKKyAgICA2MTgzLCAwLCAwLCAwLCAxMjA0NDgsIDc2MjMsIDExODkyNSwgMTE4ODg5LCA5MjM1LCAxMjc2MCwgNzQxNzYsIDY5NjYyLCAKKyAgICA2NjQ0NSwgNDM1NDAsIDEwMDYyLCAzNzQzLCAxMTUxNCwgMTEwNzgsIDAsIDEyMTM2LCAwLCAxMjY1OTcsIDEyMDQzNSwgMCwgCisgICAgNzcyNiwgMCwgMTk5MjIsIDI2NywgMzM5MywgNDIxOTgsIDEzNzEsIDE5NDg0OSwgNjkyMzMsIDI0NTgsIDAsIDYyMDEsIDAsIAorICAgIDQxMDc0LCA0MjY2LCAxMDY1MiwgNDE2MTIsIDQxMDc3LCAzNDAyLCA5MDUwLCAzMzk4LCAwLCA5ODMzNDAsIDAsIDMzOTEsIAorICAgIDQxMDc1LCAyNDc2LCAwLCAxMjgwMTcsIDAsIDEwNjI1LCAwLCAxMjc2NywgMTMwMTcsIDc4NzQzLCA2NDI2MSwgNjQ5MzQsIAorICAgIDEyNzUzNywgMTMwMTQsIDEzMDEzLCAwLCA2NjczLCAwLCAwLCAwLCAxMjQzOCwgMCwgOTgzMzM0LCAwLCA5ODM4NzEsIAorICAgIDEyNjYzOCwgOTA1MywgMTMwMTUsIDc0NTIzLCAwLCA3MDQsIDY2MjE1LCA2MTk1LCA5ODM4MTksIDY2NjAsIDc4NzU4LCAKKyAgICA5MTc3NjAsIDkxNzc5MywgNDIyMTIsIDEyNjI5LCAxMTQzNSwgMCwgNTUyNTYsIDY1NTM4LCAwLCAxMjc5NDAsIDk4MzMzMywgCisgICAgNzQ1NDcsIDEyNjU4NSwgNjU0NDgsIDc4MTAwLCAxMjk0OCwgMTE5MDAxLCAxOTUwMDIsIDExOTIzOCwgMTk1MDA0LCAKKyAgICA3ODA5OSwgMTI3MDg1LCAwLCAxMjgzMjAsIDQyODcsIDgyNzYsIDQ5MDIsIDExMzEsIDAsIDc4NDU4LCA2NjcyOCwgMTgxNiwgCisgICAgMCwgNDI1MzMsIDE2OCwgNDI4NDUsIDQ4OTgsIDY0Mjk4LCA5ODMxNDEsIDAsIDQ5MDEsIDE4MjEsIDAsIDU3OCwgMzY1MywgCisgICAgMCwgNzkxLCA5MTYyLCA2OTc3LCAwLCA3ODg4OSwgNzQ1NjEsIDAsIDczNzMxLCA4MzU0LCA0MzU5MCwgMTE5MzAzLCAKKyAgICA5ODM0NDEsIDc1NTcsIDExOTMzOSwgMTE5MzAxLCA4MjM0LCA3MjQxLCAwLCAxMjA2NzEsIDExOTE2NywgMTk0OTk2LCAKKyAgICAxMjgxMSwgNjU5MjUsIDM5NDYsIDc4MDc4LCAxMDk5OCwgNzgwODAsIDY3MywgMTk0ODY3LCA2NDM5NywgMTI4Mjc2LCAKKyAgICA3NDU5OSwgNzg0NDksIDg4OTAsIDE5NDk3NywgMTk0OTc2LCAyNDQ4LCA3ODA4NSwgMTAyNjcsIDg0MjQsIDI0NTIsIAorICAgIDc4MDgzLCAxMjg4MjQsIDg3MjksIDc4NDU2LCAwLCA3ODQ1LCA5MTc5MTcsIDcxMzAyLCA0NDA4LCA0MTIyLCA2NzcyLCAKKyAgICAxMTAzOSwgODcyMywgMTk0OTkwLCA3MTMxMCwgMTE5MzAyLCA3MzEsIDExOTMwNCwgOTIyODYsIDI0MzgsIDY0ODU1LCAKKyAgICAxMTkzMDAsIDExOTI5OSwgMTE3NSwgMCwgNDIxMzUsIDM3MywgMTE5MTcyLCAyMTE5LCAxMTQ1NywgMTE1MjEsIDc3MjMsIDAsIAorICAgIDAsIDAsIDQxOTUyLCAwLCA1MjczLCAyMTI3LCA1MjY5LCA2MzM3LCA1MjAyLCAyNDA0LCA1MjY3LCA0MjgyMywgMTEyOTEsIAorICAgIDE5OTE1LCA1Mjc3LCAxMjk2MywgMTI3ODY0LCA2MTg5LCA0MTI1LCAxMzE0LCAxMjEzMywgMTIwMzQwLCAxMTg4NzMsIAorICAgIDEyNzEsIDk4MzYzMSwgMCwgNjYwMjQsIDQxNDgyLCAzODY0LCA3NDUzOSwgMCwgMzg3OSwgMCwgMTI5NzgsIDQxNjYsIAorICAgIDQ1NzQsIDAsIDc1NjcsIDc0NTksIDk4MzE2MCwgNDEzOTAsIDUzODQsIDQxODgyLCA2NzY0NywgOTI1NDgsIDU3NTksIAorICAgIDk4MzkwMywgMCwgNDEzODgsIDY0NDQ2LCA0MTM5MiwgNjQyODgsIDQxMzg3LCAwLCA4NzA2LCA1NTUyLCA5ODMxODcsIDcwMCwgCisgICAgMCwgNTU1MywgMCwgNzA4OCwgNTM1NiwgNzQ5OSwgNjgwMDcsIDY2NTk2LCA3NDA2NiwgMCwgMTAyNjMsIDU1NTQsIDAsIAorICAgIDEyMzQ0LCAxMDMxMSwgNzgxMTMsIDY2NjUsIDkyNjI2LCAwLCA3NjE4LCA4NTE3LCAxMTQ1NSwgNzg0NDAsIDY0NjMyLCAKKyAgICA2NDQ0NywgNTU1NSwgNzgwODgsIDc4MDkzLCA3ODA5MSwgMCwgNDI4MDMsIDY1MDMzLCA5MTQzLCA2NjY4LCAxOTUwNjcsIAorICAgIDY3OTk1LCAxOTUwNjksIDY1NiwgMTk1MDcxLCA2NTAzNywgNDU3NywgNjQ2MjQsIDAsIDAsIDAsIDk4MzY0MCwgNDI2OSwgCisgICAgNzM4ODUsIDkxNzc3NSwgNDI4NDYsIDY5NjQ0LCA5NTAsIDAsIDkyMjczLCA2NjU4MCwgMTE4ODk1LCA2NjY4MywgMTA1NTQsIAorICAgIDkxNzc3OCwgMTE5MTIxLCAwLCA1MDk4LCA5MTc3NzAsIDAsIDExOTA5OSwgNTA5NywgNDkzNSwgOTg0OCwgMTAzODEsIDAsIAorICAgIDEyODg3MCwgOTgzNjkyLCAzNjUxLCAwLCAxMjA3MzAsIDEyNzU1NiwgNTEwMiwgNTEwMSwgMTAyNjksIDEyOTgzLCA4MTM4LCAKKyAgICA0NTE3LCAxOTMyLCA1MTAwLCAxNDM5LCAxMjA5MywgMTI0NywgMTAwMzQsIDE5NTA2NCwgNTA5OSwgNzgzNzMsIDE0NDEsIAorICAgIDQyMDg3LCAzMDYzLCA2NTAsIDAsIDc4MzgsIDAsIDE5NTA0MSwgMTk1MDQwLCAxMTkxNDIsIDkwMzEsIDEyMDc5MCwgCisgICAgMTI4NTgyLCA5MDc4LCA4NTQ1LCA2NjM1NiwgMTI4Nzk5LCAwLCA5MTU0LCA5MTE4LCAxMjY1NDMsIDAsIDI2NzYsIDIyNzcsIAorICAgIDAsIDczODEyLCA2MTkwLCA4NTk5LCAxOTUwNTMsIDY5OTE4LCAxMDc5NSwgOTg1NywgNzAxNCwgOTg1NiwgMTk1MDMzLCAKICAgICA5MjYyMCwgMTIxMjksIDAsIDg0ODEsIDAsIDYyMDIsIDE5NTAzNSwgMTA5MjAsIDEyODIzNywgNTIwMywgMTk1MDM5LCAKICAgICAxOTUwMzgsIDUxMDgsIDUxMDcsIDY1ODE4LCA2NjAxOSwgOTc2MiwgMCwgNTU0MSwgNzQ3NzIsIDAsIDEyNjEzLCA1Mjg0LCAKLSAgICA2NjU3LCAyMDcsIDEyODgwNiwgNDI3NSwgNzQ4MTksIDg1NCwgNjgxNDcsIDc0MzgxLCAwLCAwLCA1MTAzLCAxMjc4NjEsIAotICAgIDY0MzQ4LCA0MTM2OCwgNDM5NzQsIDQ4OCwgNjk4MTEsIDAsIDAsIDEwMTU3LCAwLCA0MzAzNCwgMTE0MzgsIDAsIDAsIAotICAgIDkyNjk0LCA2ODQzMSwgNDE3NzEsIDUxMDYsIDY2NjksIDg1MDQsIDY1MTU0LCA2OTgxMywgNDEzNjcsIDUxMDUsIDE5NTAzMCwgCi0gICAgNjk3MjAsIDY0NzYsIDUxMDQsIDAsIDMwNCwgMzE3NiwgMCwgMCwgOTMyLCAxMjg2NjMsIDY1NjcsIDIzOCwgNjk2NTYsIAotICAgIDE5NTAxMSwgMTk0NTk1LCAxOTkwNSwgMTIwNTc3LCAxOTUwMTUsIDc4ODcwLCA0MTA0NCwgNjc2NDAsIDE5NDkwMiwgCi0gICAgNDIwNTUsIDk5MTIsIDY1OTM5LCAxMDY3MCwgNzQwOTMsIDEzMjczLCAwLCAxMjU1MiwgMTk1MDE5LCA4ODAzLCAzMDksIAotICAgIDY2MjIsIDgxNTEsIDEwODU4LCAxOTQ1OTYsIDY3NjM2LCAwLCAxMjU2OCwgMCwgMTI1NTMsIDEwODE0LCA0MzI3NSwgNjk1MCwgCi0gICAgOTcxMiwgNjg2ODAsIDQzOTcwLCAwLCA2NTE2NSwgOTI3MjUsIDAsIDY2NDY2LCAwLCAwLCAwLCA2NjcyNSwgNjE5MSwgCi0gICAgMTEzNTEsIDEwNDM3LCAxMTMxNiwgNjc2MzQsIDAsIDAsIDQxNzU0LCA2NzYzNSwgOTM3MCwgMjcyMCwgMTk0OTc1LCAKLSAgICA2ODQ2MiwgODIzMiwgMTE4ODE3LCAwLCAzMjIyLCAwLCAwLCAwLCA2NjY2MywgMCwgMCwgMTA4MzQsIDAsIDAsIDY1NzMyLCAKLSAgICAwLCA5MTc1NDcsIDkyNjgyLCA2NzY3OSwgMTk1MDIwLCAwLCA3NzgxLCA0MTM4MywgNjQ1NjgsIDAsIDEyMDczOCwgMTIwNzcsIAotICAgIDAsIDY0NTg2LCA5MTc2MjAsIDQyMzk2LCA1NTI1NSwgMzQ3NSwgMTI4MDM1LCAyNDc5LCAwLCAzNjMyLCAxMjA3MjgsIAotICAgIDEwNjk4LCA4Mzc2LCAzNjQ4LCAxOTQ5NjAsIDc0ODQ0LCA2NzYzOSwgMzYzNiwgNjc4OTQsIDM2NTAsIDg4MzcsIDY1MjI5LCAKLSAgICAxODQzLCA0MjI4MywgNDMyNTAsIDQxNTYyLCA5MTAwLCA3NDU0OCwgOTE3NjMwLCAzNjQwLCAxMjcxOTAsIDQyMzIxLCAKLSAgICA3Mjg0LCAxOTQ5NzQsIDE5NDk3MywgMTk0OTUwLCAxOTQ5NDksIDE5NDk1MiwgMTk0OTUxLCAwLCAxOTQ5NTMsIDQyMDgwLCAKLSAgICAyNTI5LCAwLCAwLCAwLCA0MjA4MywgMTIwNjc4LCA2ODM5OCwgMTk0OTU3LCA2NzYxOSwgNjYzNjcsIDE5NDk1OCwgOTYzNCwgCi0gICAgOTIzODAsIDk5ODgsIDAsIDQxMDY4LCAwLCAwLCA2NTI2NCwgMCwgMCwgOTI1NDUsIDAsIDc4NSwgODIzNiwgMTI4NjQ3LCAKLSAgICA5MDI3LCA2ODE2MCwgNjc2MjMsIDY0MzgzLCAxMjg4MjEsIDkyNSwgMTI3MTU2LCAwLCA0MTk4NSwgNDEwNzEsIDk1ODYsIDAsIAotICAgIDQxOTg0LCA5MjE3LCAwLCAwLCAwLCA5MTg2LCAyMDY3LCA0MDE2LCAwLCAwLCAzODEsIDAsIDAsIDQyMDc3LCAwLCAKLSAgICAxMjc0ODMsIDUxODQsIDQyMDc4LCAxOTQ5NDcsIDEwODEwLCAxMjg1MzEsIDQ1ODUsIDE5OTQzLCA1ODYwLCA2NzYzMywgMCwgCi0gICAgMCwgODEyLCAzNjE1LCAwLCA1MTc4LCA0NDAwMCwgMTIwNTQ4LCA3ODgwNywgNTE4OCwgNzQyODcsIDY3NjI5LCAzNjA1LCAKLSAgICAxMDY5MiwgMTE2NiwgNjQ0MjksIDQyNjM5LCA5MjQsIDAsIDY3NjMxLCAwLCAxMjA2NzAsIDI0NDIsIDEwNzAzLCA3ODc4OSwgCi0gICAgNjc2MzIsIDkxNzkyNCwgMTI3NzEsIDEyNzM2LCAxMjc1MywgMCwgNzM5MzMsIDY3NjI2LCA0MjQwMSwgMCwgMCwgMTI3MzczLCAKLSAgICA0MjI4OCwgMTI3NTEsIDAsIDg1NDIsIDEzMTQ1LCAxOTQ5NjMsIDI0NjgsIDY2NzA2LCA0MTI5NCwgMzYyNiwgMzg4MywgCi0gICAgNjQzODgsIDQyNDc5LCAwLCA0MTExNywgMCwgOTI1ODAsIDAsIDAsIDY3NjI0LCAwLCAxMjkwLCAwLCA2NTU4NSwgMjcxNSwgCi0gICAgODA2LCA2NTIwOCwgNDE4ODQsIDkxNzg4MywgMTMxOCwgNjQ3MzEsIDAsIDAsIDAsIDY2MzI1LCAzNDY1LCAyNDA1LCA5MjQwLCAKLSAgICAwLCAxMjc1NiwgNjUyNTksIDAsIDAsIDEyNzUyLCA1ODMzLCAxNDMyLCAwLCA0MTg4MywgNzM5MTIsIDk3OTksIDAsIAotICAgIDQxODg2LCAyNDgwLCAwLCAyMDYyLCAxMjcyOTMsIDY0OTQsIDU1MzcsIDc4NjU2LCAwLCAxOTQ1ODcsIDAsIDEyMTEsIDAsIAotICAgIDAsIDAsIDExODgzMiwgMTIzMTgsIDAsIDAsIDAsIDEwNjIyLCAwLCAwLCA3ODY1NCwgNjU2NiwgNzg2NTksIDAsIDczNzgwLCAKLSAgICAwLCA2NDg2NCwgMCwgNzg2NjAsIDAsIDgyODQsIDEzMDgxLCAwLCAzNTg5LCA0MjA1MSwgNDAzNSwgNjQ5MiwgOTIyMzYsIAotICAgIDQyNjUsIDY2NDIsIDM5NzcsIDc0MTg2LCA0MTc3OCwgODM2LCAxMTkyMTYsIDI0ODgsIDAsIDQ1ODIsIDAsIDAsIDQxNzc3LCAKLSAgICAxMjkyNiwgMCwgNzUyOCwgMTA1NTAsIDAsIDkyNzA2LCAwLCAxMTQzOSwgMCwgMTM3NCwgNjQ4NzgsIDExOTAxNCwgMCwgCi0gICAgNDIzODksIDQxMzc0LCAwLCAwLCA3ODQ5MiwgNDEzNzcsIDEyNzkwOSwgMCwgNDAwLCAxMjU5NywgMTIwNTg2LCAwLCAwLCAKLSAgICA2NjYxLCAwLCA2NDgyNywgMCwgNzM4MTcsIDM5MCwgMCwgNzQ3NTUsIDAsIDM0NzMsIDc3MTgsIDAsIDAsIDAsIDU1Mjg1LCAKLSAgICAwLCAwLCAwLCAxMTk2OSwgMCwgMTI3ODQxLCA2MzY1LCAxODg3LCA2NzYzLCAwLCA4MDgwLCA3MDA2LCAwLCAwLCA2NzU3LCAKLSAgICA2NDM1MSwgMTU0NCwgMCwgNjc2NiwgNjQ2NzcsIDEyMDcxNiwgMCwgNjE0NiwgMCwgNzcxLCAwLCAwLCAxMjgxMiwgMTMxNjgsIAotICAgIDQyMjcyLCAxMjIwMCwgOTE3OTI3LCA3OTA0LCAwLCA5NTMsIDEyOTE3LCAxMTk1NjAsIDEyMzAwLCAwLCAxMTQ5MSwgOTcyNCwgCi0gICAgMTAzNDEsIDAsIDk1MjQsIDc0OTAsIDExMzg5LCA3NDg5LCAzMzc5LCAwLCA3NDg3LCAwLCA0NzEsIDc0ODQsIDc0ODIsIAotICAgIDY3NTMsIDc0ODAsIDc0NzksIDc0NzgsIDc0NzcsIDY1MDEsIDc0NzUsIDY5MTgsIDc0NzMsIDc0NzIsIDI0NzQsIDc0NzAsIAotICAgIDc0NjgsIDEwMjMyLCAxMDYxNSwgMTAyMTMsIDEyNzI4OCwgOTIzNTcsIDEwMDQ5LCA3ODg4NCwgMzU0NCwgMCwgNjAxNywgCi0gICAgNjUzMTEsIDEyNzQ4MSwgMTIwMjE2LCAxMzMwNiwgMTA1MzMsIDc4NzAsIDczOTQ5LCA3NjI1LCAwLCAxMjA1NDQsIDAsIDAsIAotICAgIDkyNjYwLCAwLCAwLCAwLCAxOTk2MSwgMjQ3MiwgNDI2NjUsIDkyMzQxLCAwLCAyMTM5LCA0MjU2LCAxMjA3NzYsIDc0MzgwLCAKLSAgICAwLCA0MjY3NSwgNDI2NTgsIDEyODQ1LCAwLCAwLCA2NTEzOCwgMTE5MzU1LCA2Nzg2MiwgMCwgNjU2NzEsIDEyMDAwMCwgCi0gICAgMTIwMDA4LCA4MDY2LCA3Njc4LCA3NDg2NSwgMCwgMCwgMCwgMCwgNzE4NiwgMCwgMTIwNTU1LCAwLCA0NDUsIDEyMDU2NiwgCi0gICAgMTI4MzA4LCAwLCAwLCA4MzMwLCAwLCAwLCA0Mjc5NywgMCwgMTIwMjE1LCAwLCAzOTAyLCAwLCAxNzcwLCAwLCAxMjg4NjYsIAotICAgIDE1NjAsIDEyMDIwOSwgMTk0OTcyLCA0NTg0LCA3Mzg0MywgMCwgMTE3MTIsIDEwODY2LCAxMTg5MjgsIDExMTgsIDkyMjA5LCAKLSAgICAwLCAwLCAxMDgxLCA3NDM2LCA2ODQyMCwgNzI1MiwgMCwgNTk5NiwgMCwgNDkwMywgMCwgNDEzODYsIDUxNjIsIDExOTE4OSwgCi0gICAgMTMzMCwgMCwgNzEzOSwgMCwgMTIwNDcsIDQxMzg0LCAwLCAwLCAxODQ4LCA0MzM0LCA2MzI0LCA0MTk3NSwgNjQ3NzcsIAotICAgIDEwNjc0LCAxMjMwOCwgMTIxODYsIDAsIDAsIDAsIDEyNzE1LCAxMjgzNDksIDAsIDAsIDIwMTgsIDY2NjcyLCA0MTk3OSwgCi0gICAgNjY2ODUsIDExOTE1NywgMCwgOTI0NjQsIDAsIDEyNjk4NCwgMCwgOTMzNCwgOTI3MDUsIDkyMzE1LCAwLCA3OTc1LCAwLCAKLSAgICA3Nzk1NywgMCwgNjY2MjEsIDQ4ODQsIDY2NTk3LCA2OTczMiwgMCwgMCwgNjMxMywgNjU1MTMsIDAsIDAsIDAsIDAsIDIzNDUsIAotICAgIDQzNjk3LCA0NjMsIDAsIDAsIDExOTYwNywgMzExNywgNTQ2MCwgMCwgMCwgMCwgMCwgNDIyNzksIDE5NDU3NywgMCwgCi0gICAgNzg0MTUsIDAsIDE5NTAwOCwgMCwgMTMyNDgsIDAsIDAsIDAsIDAsIDAsIDAsIDU2NjMsIDAsIDAsIDAsIDAsIDI0ODIsIAotICAgIDE0NzEsIDAsIDAsIDQyMjQ3LCAxMjM3OCwgNzM5MjUsIDY5NjY0LCAwLCAxMjM3NCwgMCwgMCwgMCwgMCwgMjQ2MCwgMCwgCi0gICAgMTE5NDQsIDEyMzc2LCAxMjc4NjgsIDY0Njc5LCAwLCAxMjM4MCwgMTA1NTcsIDY0NDczLCA1ODcwLCAwLCAyMDI0LCAKLSAgICAxMjcxODAsIDAsIDAsIDUzOSwgMCwgMTI3NzY1LCAwLCAzODUzLCA2NTE4MCwgMTI3OTIzLCAxMjA3OTYsIDEyMDI0NSwgCi0gICAgOTIzMjQsIDAsIDg2NTksIDAsIDEyNDc0LCA5MjU3OSwgOTUwMywgMTk0OTY5LCAyNDc4LCAwLCA0MTYyLCAwLCA0MjYwLCAKLSAgICAxMjk1MywgNjk2MzMsIDEyMDA4OSwgMTI0NzAsIDAsIDc0MTg5LCAyNzQyLCAxMjQ3NiwgMTE3OTgsIDEwOTQ2LCAxMjczMTAsIAotICAgIDUwMDAsIDAsIDAsIDAsIDY5NjcyLCA4MjEzLCA3NDAxNywgNzc3MSwgNjE2MSwgMCwgNjcwOSwgMCwgNzg4ODUsIDAsIAotICAgIDEyNzk3MSwgMTIwNTgyLCA3ODU0NywgMCwgMTAzMDEsIDEwMzMzLCAxMDM5NywgMCwgMCwgNzM3OTEsIDAsIDAsIDAsIDAsIAotICAgIDAsIDQwMTQsIDEyODQyLCA3Mzk1MiwgMTIwMTUsIDEyNzI5MCwgODI3NSwgMzg5MywgMCwgMCwgMTIyMTAsIDcyMjEsIAotICAgIDQyMTQ3LCAwLCA3NDU1MCwgNzQ0NjUsIDY0NzQ3LCAxMTg4NDEsIDAsIDEyNTE2LCA0NDQ0LCAwLCA5MjI3MSwgNzQ1MzcsIAotICAgIDEwODkyLCA4MjMxLCAwLCA2NDczLCA0MTk2OCwgNzgzODgsIDQxOTczLCAzNTkxLCA0MTk2OSwgMCwgMjQ1MywgMTI4NTQ5LCAKLSAgICA5MjY2NiwgNjQ3MDUsIDAsIDAsIDEwMzQ5LCAxMDQxMywgNDM1OTEsIDQxOTYyLCAzMjAyLCA3NDM1MywgMCwgODMxNiwgMCwgCi0gICAgMCwgMCwgNjg3LCAwLCAwLCAwLCAxODQwLCAwLCA2ODY3MSwgMTE5ODA5LCA0ODgzLCAyODUsIDQ3MjMsIDc3OTI3LCAKLSAgICA5MjY5MiwgNDQ1OSwgNzQ1NzcsIDQyOTIxLCA0MTcyMCwgMTEwODksIDI0MCwgMTk5MDYsIDAsIDQyMzIzLCAwLCA5NzQzLCAKLSAgICAxMjAyMzIsIDEzMTM0LCAwLCAwLCAwLCAwLCAwLCA0MjYzNCwgMCwgNDM0MzcsIDMwODEsIDExNDYzLCAxMjAxNTQsIDAsIDAsIAotICAgIDEwNDQ1LCAwLCAwLCA2NjcxNywgMjYxNCwgOTEyNSwgMTE5MDIzLCAxNzI5LCAwLCAxMjAyMzYsIDY1MjIxLCA2Mzg4MywgCi0gICAgNDMzMzQsIDY0ODUyLCAwLCAxMjAyMzUsIDY2MjAxLCAwLCA2NjU3OCwgNTAwMSwgNDE4NzksIDc0NDI3LCA0MTIxLCA1MDAzLCAKLSAgICA4ODQsIDY2NzAwLCA2Mzg3OSwgNDk0MywgNTE1MCwgNzM4ODksIDc0MTgyLCAxMjc5MTUsIDY0MywgMzA4NiwgMCwgNDI0NDgsIAotICAgIDQyMjk5LCA1OCwgMCwgOTE3OTUyLCAxMjAwODMsIDYzODczLCA4NDkxLCAwLCAwLCAwLCA0NTMwLCA0MjQwOSwgNzEyNiwgCi0gICAgMTk0NTc1LCAyNzIxLCAxMjAwNzQsIDExOTA5NiwgMTk5MjksIDAsIDE5NDU3NCwgMCwgNDI0MiwgNDI2NCwgMTIwMDc3LCAKLSAgICAxMjgxMzIsIDY2MTc5LCA0MjQxMiwgNjU5NDEsIDEzMTE0LCA2NDUyMiwgMTA3NDAsIDMwOTQsIDAsIDk3NTQsIDExOTEwMiwgCi0gICAgNDQzNywgNzM5NDgsIDEyODY5MiwgMCwgNTUyODAsIDQyMTc0LCAxOTQ5MjUsIDQyNDMwLCAwLCAwLCA0MjM1NSwgNjYwMjYsIAotICAgIDQzMDYsIDQxMzgwLCA2ODQzMiwgOTI1ODYsIDAsIDY2NjY3LCAxMjczMDksIDAsIDAsIDQyMjAwLCA0MjU2NiwgMCwgMCwgCi0gICAgNTA4OCwgNjk0OCwgMCwgODUyNCwgMCwgMCwgMTIzODUsIDAsIDAsIDY5NjQ2LCAxMzg2LCA2NDU4MCwgMTE0ODAsIDYxMTYsIAotICAgIDY1MDM5LCA2NTAzOCwgMTIzOTIsIDY1MDM2LCA4MDY0LCAwLCAxMjEwMSwgNTgyMiwgMTE5MDA0LCAyMDgwLCA3MTAsIAotICAgIDc3OTk5LCAxMTY2MywgMTY2NiwgNDIwOTEsIDExOTY1NywgMTIzODMsIDQzNjcxLCA0MjA5MiwgNjg0MTgsIDQyODksIDAsIAotICAgIDYzODk2LCAxMjA2MSwgNDIwOTYsIDQzNjIxLCAzMzYyLCAxMjM3NywgMCwgMCwgNjg0NDksIDc0NjEsIDczOTAxLCAxMjQ0LCAKLSAgICAzMzEsIDczNzg2LCAxMjY4MywgMTA2NjIsIDAsIDgxMTIsIDAsIDY1ODUyLCAwLCAxMjM3OSwgMTk0ODc3LCAxMjA4MTgsIAotICAgIDQxOTY0LCA0MjIwOCwgNjM4NDMsIDIwODQsIDQxOTY1LCAwLCA2NTg2NiwgNDMyNywgMCwgNjM4NDAsIDc4NTQ5LCA0MTIyMCwgCi0gICAgMTMwMzIsIDAsIDU4NCwgMTI5MzMsIDQzMTc3LCAxMjM3MywgMCwgMTMwMDAsIDEzNTEsIDI5MzUsIDg2OTgsIDEyNjY1LCAwLCAKLSAgICAxOTMwLCAwLCA3ODIyOSwgMTI0MjcsIDY2NTE0LCAwLCAxMzAzMSwgMCwgNjM5MDEsIDAsIDM2NTcsIDEyODU3MiwgNjUyMDIsIAorICAgIDY2NTcsIDIwNywgMTI4ODA2LCA0Mjc1LCA3NDgxOSwgODU0LCA2ODE0NywgNzQzODEsIDAsIDc4Nzg2LCA1MTAzLCAKKyAgICAxMjc4NjEsIDY0MzQ4LCA0MTM2OCwgNDM5NzQsIDQ4OCwgNjk4MTEsIDAsIDcxMzM5LCAxMDE1NywgMCwgNDMwMzQsIAorICAgIDExNDM4LCA2NDY3NCwgMCwgOTI2OTQsIDY4NDMxLCA0MTc3MSwgNTEwNiwgNjY2OSwgODUwNCwgNjUxNTQsIDY5ODEzLCAKKyAgICA0MTM2NywgNTEwNSwgMTI3NTA5LCA2OTcyMCwgNjQ3NiwgNTEwNCwgOTgzNzQwLCAzMDQsIDMxNzYsIDExOTAxMCwgMCwgCisgICAgOTMyLCAxMjA2MzMsIDY1NjcsIDIzOCwgNjk2NTYsIDE5NTAxMSwgMTk0NTk1LCAxOTkwNSwgMTIwNTc3LCAxOTUwMTUsIAorICAgIDc4ODcwLCA0MTA0NCwgNjc2NDAsIDE5NDkwMiwgNDIwNTUsIDk5MTIsIDY1OTM5LCAxMDY3MCwgNzQwOTMsIDEzMjczLCAwLCAKKyAgICAxMjU1MiwgMTk1MDE5LCA4ODAzLCAzMDksIDY2MjIsIDgxNTEsIDEwODU4LCA3ODcwNiwgNjc2MzYsIDAsIDEyNTY4LCAwLCAKKyAgICAxMjU1MywgMTA4MTQsIDQzMjc1LCA2OTUwLCA5NzEyLCA2ODY4MCwgNDM5NzAsIDk4MzE5OCwgNjUxNjUsIDkyNzI1LCAwLCAKKyAgICA2NjQ2NiwgMCwgMCwgMCwgNjY3MjUsIDYxOTEsIDExMzUxLCAxMDQzNywgMTEzMTYsIDY3NjM0LCA0Mzc2MywgMCwgNDE3NTQsIAorICAgIDY3NjM1LCA5MzcwLCAyNzIwLCAxOTQ5NzUsIDY4NDYyLCA4MjMyLCAxMTg4MTcsIDAsIDMyMjIsIDAsIDAsIDAsIDY2NjYzLCAKKyAgICAwLCAwLCAxMDgzNCwgMCwgMCwgNjU3MzIsIDk0MDk1LCA5MTc1NDcsIDkyNjgyLCA2NzY3OSwgMTk1MDIwLCAwLCA3NzgxLCAKKyAgICA0MTM4MywgNjQ1NjgsIDAsIDEyMDczOCwgMTIwNzcsIDAsIDY0NTg2LCA5MTc2MjAsIDQyMzk2LCA1NTI1NSwgMzQ3NSwgCisgICAgMTI4MDM1LCAyNDc5LCAwLCAzNjMyLCAxMjA3MjgsIDEwNjk4LCA4Mzc2LCAzNjQ4LCAxOTQ5NjAsIDc0ODQ0LCA2NzYzOSwgCisgICAgMzYzNiwgNjc4OTQsIDM2NTAsIDg4MzcsIDY1MjI5LCAxODQzLCA0MjI4MywgNDMyNTAsIDQxNTYyLCA5MTAwLCA3NDU0OCwgCisgICAgOTE3NjMwLCAzNjQwLCAxMjcxOTAsIDQyMzIxLCA3Mjg0LCAxOTQ5NzQsIDE5NDk3MywgMTk0OTUwLCAxOTQ5NDksIAorICAgIDE5NDk1MiwgMTk0OTUxLCAxMjY2NDksIDE5NDk1MywgNDIwODAsIDI1MjksIDAsIDAsIDAsIDQyMDgzLCAxMjA2NzgsIAorICAgIDY4Mzk4LCAxOTQ5NTcsIDY3NjE5LCA2NjM2NywgMTk0OTU4LCA5NjM0LCA5MjM4MCwgOTk4OCwgMCwgNDEwNjgsIDAsIAorICAgIDQyOTUsIDY1MjY0LCA2ODAwNiwgMCwgOTI1NDUsIDAsIDc4NSwgODIzNiwgMTI4NjQ3LCA5MDI3LCA2ODE2MCwgNjc2MjMsIAorICAgIDY0MzgzLCAxMjAyNjUsIDkyNSwgMTI3MTU2LCAwLCA0MTk4NSwgNDEwNzEsIDk1ODYsIDAsIDQxOTg0LCA5MjE3LCAwLCAwLCAKKyAgICAwLCA5MTg2LCAyMDY3LCA0MDE2LCA5ODM3OTQsIDAsIDM4MSwgMTI5MzYsIDAsIDQyMDc3LCAwLCA2OTg4MCwgNTE4NCwgCisgICAgNDIwNzgsIDE5NDk0NywgMTA4MTAsIDEyODUzMSwgNDU4NSwgMTk5NDMsIDU4NjAsIDY3NjMzLCAwLCAwLCA4MTIsIDM2MTUsIAorICAgIDAsIDUxNzgsIDQ0MDAwLCAxMjA1NDgsIDc4ODA3LCA1MTg4LCA3NDI4NywgNjc2MjksIDM2MDUsIDEwNjkyLCAxMTY2LCAKKyAgICA2NDQyOSwgNDI2MzksIDkyNCwgMCwgNjc2MzEsIDQyNjE2LCAxMjA2NzAsIDI0NDIsIDEwNzAzLCA3ODc4OSwgNjc2MzIsIAorICAgIDkxNzkyNCwgMTI3NzEsIDEyNzM2LCAxMjc1MywgNjY3MDgsIDczOTMzLCA2NzYyNiwgNDI0MDEsIDAsIDY5ODcyLCAKKyAgICAxMjczNzMsIDQyMjg4LCAxMjc1MSwgMCwgODU0MiwgMTMxNDUsIDE5NDk2MywgMjQ2OCwgNjY3MDYsIDQxMjk0LCAzNjI2LCAKKyAgICAzODgzLCA2NDM4OCwgNDI0NzksIDAsIDQxMTE3LCAwLCA5MjU4MCwgMCwgMCwgNjc2MjQsIDAsIDEyOTAsIDAsIDY1NTg1LCAKKyAgICAyNzE1LCA4MDYsIDY1MjA4LCA0MTg4NCwgOTE3ODgzLCAxMzE4LCA2NDczMSwgMTI2NTc4LCAwLCAwLCA2NjMyNSwgMzQ2NSwgCisgICAgMjQwNSwgOTI0MCwgMCwgMTI3NTYsIDY1MjU5LCAwLCA5ODM3NzIsIDEyNzUyLCA1ODMzLCAxNDMyLCAwLCA0MTg4MywgCisgICAgNzM5MTIsIDk3OTksIDAsIDQxODg2LCAyNDgwLCAwLCAyMDYyLCAxMjcyOTMsIDY0OTQsIDU1MzcsIDc4NjU2LCAwLCAKKyAgICAxOTQ1ODcsIDAsIDEyMTEsIDAsIDAsIDAsIDExODgzMiwgMTIzMTgsIDAsIDAsIDY4MDA1LCAxMDYyMiwgOTgzNzcwLCAwLCAKKyAgICA3ODY1NCwgNjU2NiwgNzg2NTksIDAsIDczNzgwLCAxMTkxOTYsIDY0ODY0LCAwLCA3ODY2MCwgMCwgODI4NCwgMTMwODEsIDAsIAorICAgIDM1ODksIDQyMDUxLCA0MDM1LCA2NDkyLCA5MjIzNiwgNDI2NSwgNjY0MiwgMzk3NywgNzQxODYsIDQxNzc4LCA4MzYsIAorICAgIDExOTIxNiwgMjQ4OCwgMCwgNDU4MiwgMCwgMCwgNDE3NzcsIDEyOTI2LCA5ODMzNjksIDc1MjgsIDEwNTUwLCAwLCA5MjcwNiwgCisgICAgMCwgMTA5NjEsIDAsIDEzNzQsIDY0ODc4LCAxMTkwMTQsIDAsIDQyMzg5LCA0MTM3NCwgMjI4NiwgMCwgNzg0OTIsIDQxMzc3LCAKKyAgICAxMjc5MDksIDAsIDQwMCwgMTI1OTcsIDEyMDU4NiwgMCwgMCwgNjY2MSwgOTgzMTQ1LCA2NDgyNywgMCwgNzM4MTcsIDM5MCwgCisgICAgMCwgNzEzMDEsIDk4Mzg1MywgMzQ3MywgNzcxOCwgMCwgMCwgMCwgNTUyODUsIDAsIDAsIDAsIDExOTY5LCA5ODMzODIsIAorICAgIDEyNzg0MSwgNjM2NSwgMTg4NywgNjc2MywgOTgzMzYyLCA4MDgwLCA3MDA2LCAwLCA5ODMzNjMsIDY3NTcsIDY0MzUxLCAKKyAgICAxNTQ0LCAwLCA2NzY2LCA2NDY3NywgMTIwNzE2LCA5ODMzNjQsIDYxNDYsIDAsIDc3MSwgOTgzMzY1LCAwLCAxMjgxMiwgCisgICAgMTMxNjgsIDQyMjcyLCAxMjIwMCwgOTE3OTI3LCA3OTA0LCAwLCA5NTMsIDEyOTE3LCAxMTk1NjAsIDEyMzAwLCAwLCAKKyAgICAxMTQ5MSwgOTcyNCwgMTAzNDEsIDk4Mzc2NCwgOTUyNCwgNzQ5MCwgMTEzODksIDc0ODksIDMzNzksIDAsIDc0ODcsIDAsIAorICAgIDQ3MSwgNzQ4NCwgNzQ4MiwgNjc1MywgNzQ4MCwgNTc2NCwgNzQ3OCwgNzQ3NywgNjUwMSwgNzQ3NSwgNjkxOCwgNzQ3MywgCisgICAgNzQ3MiwgMjQ3NCwgNzQ3MCwgNzQ2OCwgMTAyMzIsIDEwNjE1LCAxMDIxMywgMTI3Mjg4LCA5MjM1NywgMTAwNDksIDExODM0LCAKKyAgICAzNTQ0LCAwLCA2MDE3LCA2NTMxMSwgMTI3NDgxLCAxMjAyMTYsIDEzMzA2LCAxMDUzMywgNzg3MCwgNzM5NDksIDc2MjUsIDAsIAorICAgIDEyMDU0NCwgMCwgMCwgOTI2NjAsIDAsIDAsIDAsIDE5OTYxLCAyNDcyLCA0MjY2NSwgOTIzNDEsIDAsIDIxMzksIDQyNTYsIAorICAgIDEyMDc3NiwgNzQzODAsIDAsIDQyNjc1LCA0MjY1OCwgMTI4NDUsIDAsIDAsIDY1MTM4LCAxMTkzNTUsIDY3ODYyLCAwLCAKKyAgICA2NTY3MSwgNzA4MywgMTIwMDA4LCA4MDY2LCA3Njc4LCA3NDg2NSwgMCwgMCwgMCwgMCwgNzE4NiwgMCwgMTIwNTU1LCAwLCAKKyAgICA0NDUsIDEyMDU2NiwgMTI4MzA4LCAwLCAwLCA4MzMwLCAwLCAwLCA0Mjc5NywgOTgzMTUwLCAxMjAyMTUsIDAsIDM5MDIsIDAsIAorICAgIDE3NzAsIDAsIDEyODg2NiwgMTU2MCwgMTIwMjA5LCAxOTQ5NzIsIDQ1ODQsIDczODQzLCAwLCAxMTcxMiwgMTA4NjYsIAorICAgIDExODkyOCwgMTExOCwgNzEzMzQsIDAsIDAsIDEwODEsIDc0MzYsIDY4NDIwLCA3MjUyLCAwLCA1OTk2LCA2OTkyMSwgNDkwMywgCisgICAgMCwgNDEzODYsIDUxNjIsIDExOTE4OSwgMTMzMCwgMCwgNzEzOSwgMCwgMTIwNDcsIDQxMzg0LCAwLCAwLCAxODQ4LCA0MzM0LCAKKyAgICA2MzI0LCA0MTk3NSwgNjQ3NzcsIDEwNjc0LCAxMjMwOCwgMTIxODYsIDAsIDAsIDk4MzczMiwgMTI3MTUsIDY4MDAyLCAKKyAgICA5ODM0NzEsIDEyNjYzMCwgMjAxOCwgNjY2NzIsIDQxOTc5LCA2NjY4NSwgMTE5MTU3LCA2ODAwMCwgOTI0NjQsIDAsIAorICAgIDEyNjk4NCwgNjgwMDEsIDkzMzQsIDkyNzA1LCA5MjMxNSwgNzAxMDEsIDc5NzUsIDAsIDc3OTU3LCAwLCA2NjYyMSwgNDg4NCwgCisgICAgNjY1OTcsIDY5NzMyLCAwLCAwLCA2MzEzLCA2NTUxMywgNjk4NTcsIDAsIDAsIDAsIDIzNDUsIDQzNjk3LCA0NjMsIDAsIDAsIAorICAgIDExOTYwNywgMzExNywgNTQ2MCwgMCwgMCwgOTgzMzc5LCAwLCA0MjI3OSwgMTk0NTc3LCAwLCA3ODQxNSwgMCwgMTk1MDA4LCAKKyAgICA5ODMzNzYsIDEzMjQ4LCAwLCAwLCAwLCAwLCAwLCAwLCA1NjYzLCAwLCAwLCAwLCAwLCAyNDgyLCAxNDcxLCAwLCAwLCAKKyAgICA0MjI0NywgMTIzNzgsIDczOTI1LCA2OTY2NCwgMCwgMTIzNzQsIDAsIDAsIDAsIDk4MzY4NSwgMjQ2MCwgMCwgMTE5NDQsIAorICAgIDEyMzc2LCAxMjc4NjgsIDY0Njc5LCAwLCAxMjM4MCwgMTA1NTcsIDY0NDczLCA1ODcwLCAwLCAyMDI0LCAxMjcxODAsIDAsIAorICAgIDAsIDUzOSwgMCwgMTI3NzY1LCA5NDA1MiwgMzg1MywgNjUxODAsIDEyNzkyMywgMTIwNzk2LCAxMjAyNDUsIDkyMzI0LCAwLCAKKyAgICA4NjU5LCAwLCAxMjQ3NCwgOTI1NzksIDk1MDMsIDE5NDk2OSwgMjQ3OCwgMCwgNDE2MiwgMCwgNDI2MCwgMTI5NTMsIAorICAgIDY5NjMzLCAxMjAwODksIDEyNDcwLCAwLCA3NDE4OSwgMjc0MiwgMTI0NzYsIDExNzk4LCAxMDk0NiwgMTI3MzEwLCA1MDAwLCAKKyAgICAwLCA5ODM1NzksIDAsIDY5NjcyLCA4MjEzLCA3NDAxNywgNzc3MSwgNjE2MSwgNjgwMTgsIDY3MDksIDAsIDc4ODg1LCAKKyAgICA5ODM2OTksIDEyNzk3MSwgMTIwNTgyLCA3ODU0NywgMCwgMTAzMDEsIDEwMzMzLCAxMDM5NywgMCwgMCwgNzM3OTEsIDAsIDAsIAorICAgIDAsIDAsIDExOTEyMywgNDAxNCwgMTI4NDIsIDczOTUyLCAxMjAxNSwgMTI3MjkwLCA4Mjc1LCAzODkzLCA5ODMyNTYsIDAsIAorICAgIDEyMjEwLCA3MjIxLCA0MjE0NywgMCwgNzQ1NTAsIDc0NDY1LCA2NDc0NywgMTE4ODQxLCAwLCAxMjUxNiwgNDQ0NCwgMCwgCisgICAgOTIyNzEsIDc0NTM3LCAxMDg5MiwgODIzMSwgMCwgNjQ3MywgNDE5NjgsIDc4Mzg4LCA0MTk3MywgMzU5MSwgNDE5NjksIDAsIAorICAgIDI0NTMsIDEyODU0OSwgOTI2NjYsIDY0NzA1LCAwLCAwLCAxMDM0OSwgMTA0MTMsIDQzNTkxLCA0MTk2MiwgMzIwMiwgCisgICAgNzQzNTMsIDAsIDgzMTYsIDAsIDAsIDk0MDYwLCA2ODcsIDAsIDAsIDAsIDE4NDAsIDAsIDY4NjcxLCAxMTk4MDksIDQ4ODMsIAorICAgIDI4NSwgNDcyMywgNzAwOTksIDkyNjkyLCA0NDU5LCA3NDU3NywgNDI5MjEsIDQxNzIwLCAxMTA4OSwgMjQwLCAxOTkwNiwgMCwgCisgICAgNDIzMjMsIDAsIDk3NDMsIDEyMDIzMiwgMTMxMzQsIDEyNjUzNSwgMCwgMCwgMCwgMCwgNDI2MzQsIDk4MzMzNSwgNDM0MzcsIAorICAgIDMwODEsIDExNDYzLCAxMjAxNTQsIDAsIDAsIDEwNDQ1LCAwLCAwLCA2NjcxNywgMjYxNCwgOTEyNSwgMTE5MDIzLCAxNzI5LCAKKyAgICAwLCAxMjAyMzYsIDY1MjIxLCA2Mzg4MywgNDMzMzQsIDY0ODUyLCAwLCA2NTE5NCwgNjYyMDEsIDAsIDY2NTc4LCA1MDAxLCAKKyAgICA0MTg3OSwgNzQ0MjcsIDQxMjEsIDUwMDMsIDg4NCwgNjY3MDAsIDYzODc5LCA0OTQzLCA1MTUwLCA3Mzg4OSwgNzQxODIsIAorICAgIDEyNzkxNSwgNjQzLCAzMDg2LCAwLCA0MjQ0OCwgNDIyOTksIDU4LCAwLCA5MTc5NTIsIDEyMDA4MywgNjM4NzMsIDg0OTEsIAorICAgIDAsIDAsIDAsIDQ1MzAsIDQyNDA5LCA3MTI2LCAxOTQ1NzUsIDI3MjEsIDEyMDA3NCwgMTE5MDk2LCAxOTkyOSwgMCwgCisgICAgMTk0NTc0LCAwLCA0MjQyLCA0MjY0LCAxMjAwNzcsIDEyMDUzMCwgNjYxNzksIDQyNDEyLCA2NTk0MSwgMTMxMTQsIDY0NTIyLCAKKyAgICAxMDc0MCwgMzA5NCwgMCwgOTc1NCwgMTE5MTAyLCA0NDM3LCA3Mzk0OCwgMTI3MDc0LCA5ODMyMzIsIDU1MjgwLCA0MjE3NCwgCisgICAgMTk0OTI1LCA0MjQzMCwgMCwgMCwgNDIzNTUsIDY2MDI2LCA0MzA2LCA0MTM4MCwgNjg0MzIsIDkyNTg2LCAwLCA2NjY2NywgCisgICAgMTI3MzA5LCAwLCAxMjY1MjEsIDQyMjAwLCA0MjU2NiwgMCwgMCwgNTA4OCwgNjk0OCwgMCwgODUyNCwgMCwgMCwgMTIzODUsIAorICAgIDAsIDAsIDY5NjQ2LCAxMzg2LCA2NDU4MCwgMTE0ODAsIDYxMTYsIDY1MDM5LCA2NTAzOCwgMTIzOTIsIDY1MDM2LCA4MDY0LCAKKyAgICAwLCAxMjEwMSwgNTgyMiwgMTE5MDA0LCAyMDgwLCA3MTAsIDc3OTk5LCAxMTY2MywgMTY2NiwgNDIwOTEsIDExOTY1NywgCisgICAgMTIzODMsIDQzNjcxLCA0MjA5MiwgNjg0MTgsIDQyODksIDAsIDYzODk2LCAxMjA2MSwgNDIwOTYsIDQzNjIxLCAzMzYyLCAKKyAgICAxMjM3NywgOTgzODIzLCA5ODM4MjUsIDY4NDQ5LCA3NDYxLCA3MzkwMSwgMTI0NCwgMzMxLCA3Mzc4NiwgMTI2ODMsIAorICAgIDEwNjYyLCAwLCA4MTEyLCAwLCA2NTg1MiwgMCwgMTIzNzksIDE5NDg3NywgMTIwODE4LCA0MTk2NCwgNDIyMDgsIDYzODQzLCAKKyAgICAyMDg0LCA0MTk2NSwgMCwgNjU4NjYsIDQzMjcsIDAsIDYzODQwLCA3ODU0OSwgNDEyMjAsIDEzMDMyLCAwLCA1ODQsIAorICAgIDEyOTMzLCA0MzE3NywgMTIzNzMsIDY5ODU1LCAxMzAwMCwgMTM1MSwgMjkzNSwgODY5OCwgMTI2NjUsIDAsIDE5MzAsIDAsIAorICAgIDc4MjI5LCAxMjQyNywgNjY1MTQsIDY5ODU5LCAxMzAzMSwgMCwgNjM5MDEsIDAsIDM2NTcsIDEyODU3MiwgNjUyMDIsIAogICAgIDYwMDAsIDExOTIwNiwgMTI0MjYsIDEyNzE4MSwgMCwgNDE3NDAsIDEyNDI4LCA0MTI4MywgNDE5MTYsIDExOTIxMCwgMCwgMCwgCiAgICAgMTI0MjksIDY3MjcsIDAsIDc1NjIsIDAsIDUxNzAsIDAsIDQxNzU1LCA2NzYsIDAsIDY2NzA0LCA2NjY2NCwgOTk3OCwgCiAgICAgNjY0OTEsIDM1MzYsIDAsIDk3NTIsIDkyMzk3LCA2MTYyLCAwLCA2OTIyOCwgMTAxMTMsIDQxODI5LCA2NTg4NiwgNTE1OSwgCkBAIC0xNjQyMSw3MDYgKzE3MzMxLDczMSBAQAogICAgIDAsIDYzODY3LCA0MTMzLCAxMTM3MSwgMjEwLCA0NjAwLCAwLCA3NDU2MCwgNDEzNywgODA4MiwgNzg1MDYsIDExOTA2MiwgCiAgICAgNzg1MDQsIDY3MDQsIDQ1OTEsIDEyODAyOSwgMCwgMCwgOTY4MCwgMCwgMTIwNjIzLCA1NjEsIDEyMTU5LCAxOTUsIDc4NTA4LCAKICAgICA0MTUwMSwgMCwgNDIwMzEsIDU3MTksIDcxNzIsIDQyNjg3LCA4MzY4LCAwLCA0MTQ5OSwgMCwgMCwgNDIyNDIsIDQxNDk4LCAKLSAgICA5MTc3OTQsIDQyMDI1LCA3ODU2NywgNjU4MDUsIDQyNDYzLCAwLCAyOTI0LCAwLCAxMjA1MTAsIDAsIDAsIDExOTIxMywgCisgICAgOTE3Nzk0LCA0MjAyNSwgNzg1NjUsIDY1ODA1LCA0MjQ2MywgMCwgMjkyNCwgMCwgMTIwNTEwLCAwLCAwLCAxMTkyMTMsIAogICAgIDczOTQxLCAwLCA0MjMzMCwgOTE3Nzg0LCAzOTY5LCAwLCAwLCA3MTY5LCAxOTkyLCA5NjUyLCA3Mzk3NywgNzI0NiwgCi0gICAgNDIwODYsIDkxNzc5MCwgOTE3Nzg5LCAwLCAwLCAxMjg4MDEsIDAsIDAsIDMyNywgMCwgOTA0MiwgOTE3Nzc3LCA5MTc3NzYsIAotICAgIDY1MTQ4LCAxMjQzMywgOTE3NzgxLCAxMjcyNzYsIDkxNzc3OSwgMTI0MzEsIDg2NjgsIDEyNDM0LCAwLCA5MTc3ODIsIAotICAgIDU5OTksIDAsIDc3MTIsIDEyNDMyLCAxMjgyNDMsIDQzNjUzLCAxNzI2LCAxMDE1LCAwLCA4MjEyLCAwLCAxMjgwMTQsIAotICAgIDQyNDIzLCAxMTkwNjYsIDAsIDEyODEwOCwgNjY3MDksIDAsIDg4MTEsIDkyNywgMCwgMCwgMTI0MzYsIDAsIDQyMDIxLCAwLCAKLSAgICAwLCAxMjk5LCAxMjI0MCwgNDIzNTAsIDY1MTQzLCAwLCAxOTUwMTYsIDAsIDc4MTk3LCAxMTM0OCwgMCwgNzgwMzcsIDkxOTQsIAotICAgIDAsIDAsIDE5OTE0LCAxMjE3OSwgMCwgOTY0OCwgMTk0OTIzLCA2MzgzNiwgNjM4MzIsIDkxNzc3MywgMTA5NjcsIDYzODE2LCAKLSAgICAyNTk0LCAzNDQ0LCA2MzgxNywgNjQ2NTEsIDAsIDQxNTAzLCAxMjc0NzgsIDExMjY1LCAwLCAxMjA3NTYsIDE5NDkyMiwgMCwgCi0gICAgNTY2NCwgMzk3MiwgMCwgMCwgMCwgMTI4NTA4LCAxMjQxNiwgOTE3NzY0LCAxMTk2MDgsIDEwODE2LCA5MTc3NjksIAotICAgIDkxNzc2OCwgMTI0MTgsIDc0MTExLCAzODgyLCA4NTMyLCA5MTc3NzEsIDE1NzMsIDEyODY0OCwgMTE5ODQ3LCA0NTk2LCAKLSAgICA2NjMzOSwgMTI0MTcsIDY2MDAxLCA2NTM0MywgMTk0NzgyLCAxMjQxNCwgODI4NywgNjgyMTksIDE5NTAxNywgNjgxMDgsIAotICAgIDExNDMsIDExOTE2OSwgMTE5ODQ2LCAxMjQxNSwgNjYyNiwgNDI3NjMsIDAsIDExODg4NCwgOTAyMSwgMTIwNzgzLCAwLCAKLSAgICAxMTcyNCwgMCwgMCwgMTI3MTA0LCAxMjg1MjYsIDAsIDAsIDgwMjcsIDEwOTk3LCA5MTcxLCAxMjc0MSwgMTE0MDAsIAotICAgIDc0MTk3LCAxOTQ3OTksIDAsIDEyODIzOSwgMCwgMTI4ODgxLCAxMTk2MDQsIDEyNzUyMywgMTIwMTkwLCAxOTQ3NzMsIAotICAgIDY3NjA4LCAxMjgyMTQsIDQyMzY4LCAwLCA3NzE1LCAzODgxLCA0MTQ4NywgMTIxMTgsIDQyNTE0LCA2ODY1MSwgMCwgMCwgCi0gICAgMzAwOSwgNDE0NzYsIDQxNDg5LCA2OTgyNSwgMzAwNywgMTQ0OCwgMzAxOCwgMTk0ODA5LCAzODg5LCA4NTIxLCA1MDgzLCAKLSAgICA1MDgyLCAxMTk4NTksIDEyMDE4NCwgODUxOSwgMCwgMzAxNCwgNTA4MSwgNjU4NTMsIDEyMDcxNSwgMCwgMTIwMTgzLCAKLSAgICA3ODIxOSwgNTA3OSwgNjQ4MDIsIDQyMjEwLCA0NTk3LCA2NTUzMiwgNzg0NDQsIDEyMDE4NSwgMTIzNzEsIDAsIDg0MDcsIDAsIAotICAgIDEwODA1LCA4NTE4LCAxMDc3OSwgMTIwMTg4LCAwLCAwLCAxMjM2NywgNDIxNzAsIDAsIDkyNTU3LCA2MjksIDE5MjQsIDAsIAotICAgIDEyMDM3LCA3NDM2NiwgNTk4NywgODQ2MiwgODAwNSwgMTIzNjUsIDYzOTMzLCA2OTczNSwgMTIwODE1LCAxMjM2OSwgCi0gICAgMTA2NDksIDAsIDUwNzcsIDEyNzEwOCwgMTA4ODAsIDYzOTI3LCA1MDc1LCA5MTc4ODEsIDAsIDY1MDc1LCAwLCAxMTAwNywgCi0gICAgMCwgNjY2NTksIDkyNjA3LCAwLCA2NjY4NCwgMCwgMzQzNCwgNDk1NCwgMTkwNCwgMCwgNTI2NiwgMTI2OTgwLCA1MjcyLCAKLSAgICAxMDQ5OSwgNDUwNywgOTU3OCwgNjM5MjMsIDEyMDE3NywgNzk3OSwgMCwgOTgzMSwgMCwgMTk0OTI2LCA0NjEsIDk4MDMsIDAsIAotICAgIDQ1MDQsIDE1MDUsIDAsIDYzMjUsIDUyNzYsIDQzMDIxLCAxMjA0ODgsIDAsIDU1MjM2LCAwLCA2NjQ2MSwgNTE3NywgCi0gICAgNDEzMjQsIDEyMDU1LCA4NzIyLCAwLCA0MTMyNywgMCwgNjY2OTUsIDQxMTQsIDQwOSwgNDM4MywgODkwMCwgODk0OCwgCi0gICAgNDEzMjUsIDAsIDcyMSwgMTAxODIsIDkxMDgsIDAsIDAsIDExOTE4NSwgNDIyMjksIDE5NDkxMiwgMCwgNTk5OCwgMCwgCi0gICAgNDIzNTMsIDc0ODI1LCAwLCAxMjU4NywgMCwgNzg1NzEsIDAsIDAsIDE5NDU2MiwgNDE1NzYsIDQyMjE1LCA3ODU3MCwgCi0gICAgMTE5MjA3LCAwLCA4NTc4LCA1OTk1LCA3NTczLCA0MTU3NSwgNzQ3ODksIDc0NzUyLCA2Mzk0NCwgNjM5NDksIDY0NzY3LCAKLSAgICAyNjcwLCA0MTY3LCAwLCAxMTcyMywgMCwgNzQxMjAsIDAsIDY1MDc2LCA5MzgsIDQzNDE0LCA3Mzg1NCwgMTE3MzcsIDk3MjEsIAotICAgIDAsIDAsIDAsIDExNzQyLCAyNDE5LCAwLCAxMTQ5MywgMTIzMzQsIDE5NDkxMywgNDE1MywgMTIzMDIsIDEwNzkzLCA1MjUwLCAKLSAgICAxMjQwNywgMTE5NzgsIDQ0MDQsIDkxODksIDEyNDAxLCA0MjAwNywgNTc3NSwgNjc1OSwgNjU4MDYsIDQzOTk3LCAwLCAKLSAgICA0MjAwMiwgMTI0MDQsIDAsIDAsIDQ5NDAsIDEyNDEwLCA3NjgzLCAxMTY3LCA3MzcyOSwgNDk4MywgMCwgODYxLCAwLCAwLCAKLSAgICAwLCAwLCA2NTU3NywgNDMzNzAsIDAsIDAsIDExOTU2LCAwLCAwLCAwLCA5NjE2LCA2NjMxLCAwLCAxMjgxNiwgNzQ1ODMsIAorICAgIDQyMDg2LCAxMjY2MTUsIDIyMTksIDAsIDAsIDEyODgwMSwgMTk0ODM3LCAwLCAzMjcsIDAsIDkwNDIsIDkxNzc3NywgCisgICAgOTE3Nzc2LCA2NTE0OCwgMTI0MzMsIDkxNzc4MSwgMTI3Mjc2LCA5MTc3NzksIDEyNDMxLCA4NjY4LCAxMjQzNCwgOTgzODI2LCAKKyAgICA5MTc3ODIsIDU5OTksIDAsIDc3MTIsIDEyNDMyLCAxMjgyNDMsIDQzNjUzLCAxNzI2LCAxMDE1LCAwLCA4MjEyLCAwLCAKKyAgICAxMjgwMTQsIDQyNDIzLCAxMTkwNjYsIDAsIDEyODEwOCwgNjY3MDksIDAsIDg4MTEsIDkyNywgMCwgMCwgMTI0MzYsIAorICAgIDk4MzIzOSwgNDIwMjEsIDAsIDAsIDEyOTksIDEyMjQwLCA0MjM1MCwgNjUxNDMsIDAsIDE5NTAxNiwgMCwgNzgxOTcsIAorICAgIDExMzQ4LCAwLCA3ODAzNywgOTE5NCwgOTgzMTg0LCAwLCAxOTkxNCwgMTIxNzksIDk4MzgwMywgMjI5NiwgMTk0OTIzLCAKKyAgICA2MzgzNiwgNjM4MzIsIDkxNzc3MywgMTA5NjcsIDYzODE2LCAyNTk0LCAzNDQ0LCA2MzgxNywgNjQ2NTEsIDAsIDQxNTAzLCAKKyAgICAxMjc0NzgsIDExMjY1LCAwLCAxMjA3NTYsIDE5NDkyMiwgMCwgNTY2NCwgMzk3MiwgMCwgMCwgMCwgMTI4NTA4LCAxMjQxNiwgCisgICAgOTE3NzY0LCAxMTk2MDgsIDEwODE2LCA5MTc3NjksIDkxNzc2OCwgMTI0MTgsIDc0MTExLCAzODgyLCA4NTMyLCA5MTc3NzEsIAorICAgIDE1NzMsIDEyODY0OCwgMTE5ODQ3LCA0NTk2LCA2NjMzOSwgMTI0MTcsIDY2MDAxLCA2NTM0MywgMTI2NDkxLCAxMjQxNCwgCisgICAgODI4NywgNjgyMTksIDE5NTAxNywgNjgxMDgsIDExNDMsIDExOTE2OSwgMTE5ODQ2LCAxMjQxNSwgNjYyNiwgNDI3NjMsIDAsIAorICAgIDExODg4NCwgOTAyMSwgMTIwNzgzLCAwLCAxMTcyNCwgMCwgMCwgMTI3MTA0LCAxMjY2MTksIDAsIDAsIDgwMjcsIDEwOTk3LCAKKyAgICA5MTcxLCAxMjc0MSwgMTE0MDAsIDcxMzA1LCAxOTQ3OTksIDAsIDEyODIzOSwgMCwgMTI4ODgxLCAxMTk2MDQsIDEyNzUyMywgCisgICAgMTIwMTkwLCAxOTQ3NzMsIDY3NjA4LCAxMjgyMTQsIDQyMzY4LCAwLCA3NzE1LCAzODgxLCA0MTQ4NywgMTIxMTgsIDQyNTE0LCAKKyAgICA2ODY1MSwgMCwgOTgzODg2LCAzMDA5LCA0MTQ3NiwgNDE0ODksIDY5ODI1LCAzMDA3LCAxNDQ4LCAzMDE4LCAxOTQ4MDksIAorICAgIDM4ODksIDg1MjEsIDUwODMsIDUwODIsIDExOTg1OSwgMTIwMTg0LCA4NTE5LCA5ODMyMzUsIDMwMTQsIDUwODEsIDY1ODUzLCAKKyAgICAxMjA3MTUsIDAsIDY4MDE0LCA2OTk1MSwgNTA3OSwgNjQ4MDIsIDQyMjEwLCA0NTk3LCA2NTUzMiwgMTE4MjgsIDEyMDE4NSwgCisgICAgMTIzNzEsIDAsIDg0MDcsIDAsIDEwODA1LCA4NTE4LCAxMDc3OSwgMTIwMTg4LCA3MTMwMywgOTgzOTI0LCAxMjM2NywgCisgICAgNDIxNzAsIDAsIDkyNTU3LCA2MjksIDE5MjQsIDAsIDEyMDM3LCA3NDM2NiwgNTk4NywgODQ2MiwgODAwNSwgMTIzNjUsIAorICAgIDYzOTMzLCA2OTczNSwgMTIwODE1LCAxMjM2OSwgMTA2NDksIDY3OTgxLCA1MDc3LCAxMjAxNzQsIDEwODgwLCA2MzkyNywgCisgICAgNTA3NSwgOTE3ODgxLCAwLCA2NTA3NSwgMCwgMTEwMDcsIDk4MzY5NiwgNjY2NTksIDkyNjA3LCAwLCA2NjY4NCwgMCwgCisgICAgMzQzNCwgNDk1NCwgMTkwNCwgMCwgNTI2NiwgMTI2OTgwLCA1MjcyLCAxMDQ5OSwgNDUwNywgOTU3OCwgNjM5MjMsIAorICAgIDEyMDE3NywgNzk3OSwgMCwgOTgzMSwgMCwgMTk0OTI2LCA0NjEsIDk4MDMsIDAsIDQ1MDQsIDE1MDUsIDAsIDYzMjUsIAorICAgIDUyNzYsIDQzMDIxLCAxMjA0ODgsIDAsIDU1MjM2LCAwLCA2NjQ2MSwgNTE3NywgNDEzMjQsIDEyMDU1LCA4NzIyLCAwLCAKKyAgICA0MTMyNywgMCwgNjY2OTUsIDQxMTQsIDQwOSwgNDM4MywgODkwMCwgODk0OCwgNDEzMjUsIDAsIDcyMSwgMTAxODIsIDkxMDgsIAorICAgIDcxMzExLCAwLCAxMTkxODUsIDQyMjI5LCAxOTQ5MTIsIDAsIDU5OTgsIDAsIDQyMzUzLCA3NDgyNSwgMCwgMTI1ODcsIAorICAgIDk0MTA0LCA3ODU3MSwgMCwgNzEzMjgsIDE5NDU2MiwgNDE1NzYsIDQyMjE1LCA3ODU3MCwgMTE5MjA3LCAwLCA4NTc4LCAKKyAgICA1OTk1LCA3NTczLCA0MTU3NSwgNzQ3ODksIDc0NzUyLCA2Mzk0NCwgNjM5NDksIDY0NzY3LCAyNjcwLCA0MTY3LCAxOTQ3OTYsIAorICAgIDExNzIzLCAwLCA3NDEyMCwgMCwgNjUwNzYsIDkzOCwgNDM0MTQsIDczODU0LCAxMTczNywgOTcyMSwgMCwgMCwgMCwgCisgICAgMTE3NDIsIDI0MTksIDAsIDExNDkzLCAxMjMzNCwgMTk0OTEzLCA0MTUzLCAxMjMwMiwgMTA3OTMsIDUyNTAsIDEyNDA3LCAKKyAgICAxMTk3OCwgNDQwNCwgOTE4OSwgMTI0MDEsIDQyMDA3LCA1Nzc1LCA2NzU5LCA2NTgwNiwgNDM5OTcsIDAsIDQyMDAyLCAKKyAgICAxMjQwNCwgOTgzNTUzLCAwLCA0OTQwLCAxMjQxMCwgNzY4MywgMTE2NywgNzM3MjksIDQ5ODMsIDEyMDUwNywgODYxLCAwLCAKKyAgICAwLCAwLCAwLCA0Mzc1NywgNDMzNzAsIDAsIDAsIDExOTU2LCAwLCAwLCAwLCA5NjE2LCA2NjMxLCAwLCAxMjgxNiwgNDM3NTksIAogICAgIDQyMjE4LCAxMjcxMCwgNjg2NzQsIDEyNzIxLCA0MTAxLCA2NjE4NSwgMCwgNTk5MiwgNzYxNiwgMTk1MDQ0LCAwLCAxMjU3NywgCi0gICAgMCwgMCwgODUzLCA0MjY5MywgMTk1MDE0LCAwLCAwLCA1MDE2LCA0MzUzNSwgNjM4OTMsIDQyODM1LCA5NDkxLCA5MTc5MTMsIAotICAgIDAsIDkxNzkxNCwgMCwgMTI3MTIsIDcxMDUsIDEyNzgwNywgNjUwNjAsIDEyMDc5NywgOTkwMCwgMCwgMCwgMTk0OTE5LCAwLCAKLSAgICAxMjc4MzAsIDAsIDY0Nzc4LCAxMjU4NSwgMTA1NjUsIDEyODE1MSwgMTIxNzcsIDAsIDAsIDAsIDc3ODI0LCAwLCA0OTAwLCAKLSAgICAxMjc4NzQsIDEyODc4LCA5MjYzMCwgODk4NCwgNDExOSwgNzQ3NjgsIDg5NzEsIDc4NTkzLCA0MzExMywgOTcwMiwgNzg1OTQsIAotICAgIDExMDI1LCA5MjQ1LCAxMzA0OCwgNDkyNywgNDEzOCwgNzQxODUsIDkyNDgxLCA5MjcxMCwgMTIzOTcsIDc3ODI3LCAwLCAKLSAgICAxMzA1NCwgMTIzOTQsIDAsIDAsIDAsIDEzMDUzLCAwLCAzOTQ4LCAxMDc4MSwgMTU0NiwgMCwgNTAxMCwgMTY4MCwgMTA1MDcsIAotICAgIDc4NTkwLCA3ODU4MywgMCwgMCwgMCwgMTk0OTE1LCA3MjY3LCAwLCA3NDgzMywgMTI4MTgxLCA1OTkzLCAyODE5LCAwLCAKLSAgICAxMjcwNiwgNzc4NDAsIDE4OTMsIDcyNjYsIDYzOTE1LCA3MjY0LCA3MjY1LCAwLCAxMzYzLCAwLCA2Mzk5NywgNjM5MTAsIAotICAgIDYzOTk2LCAzMDc3LCAwLCAwLCAxNTEyLCAwLCAxMjU4OSwgNDE0NzksIDEyODMxMywgMCwgNDMzMzksIDAsIDk4MzYsIAotICAgIDEyMDcyNywgMCwgNDE0ODEsIDQzMzM1LCA3ODMyLCA0MjM0MywgMzA5MCwgNDMzMzcsIDgxNywgMTY2NCwgMTg1MCwgCi0gICAgMTI4ODQxLCAzMDc5LCAxMTM0MCwgNDI0MDgsIDQyNDQ3LCAxMjcxNDAsIDEyMDAyMCwgNDIzMDcsIDEyMzg2LCA0MjMwNCwgCi0gICAgOTE3NTU1LCAwLCAxMjM4OSwgMCwgOTIzNjYsIDQxOTk2LCAxMTUyNiwgNjM5ODUsIDU4NjQsIDExNDcsIDYzOTkyLCAKLSAgICA0Mjg4NywgMTk4NywgOTI3MTgsIDU0ODAsIDc4NTgsIDExNjUzLCA0MTE2LCAxMjM5MSwgNjYxOTMsIDAsIDQ5MzksIAotICAgIDEyMzg0LCAwLCAwLCA0MTY4NiwgNjM5MDUsIDExOTYwMSwgMTk0Njg4LCAwLCAwLCAxMjY0OSwgMCwgMCwgODI0NywgNTA3LCAKLSAgICA5MSwgMjA0MiwgMTIwNzc1LCA0MzY0MywgMTk0Njg5LCA2NjAyOCwgMTAwMzYsIDQxODQ0LCAxMTk4MTMsIDc3NCwgCi0gICAgMTE5ODMxLCAwLCAxMTk4MTUsIDU5OTQsIDEyNTM5LCAwLCA3ODM3NSwgMTIwNTk3LCAxMTk4MzMsIDAsIDExOTYwMCwgMCwgCi0gICAgMCwgNzcxOSwgNjAyNiwgMjQ4NiwgMTI4MzEyLCAxMTk4MDgsIDE2MiwgMCwgNjUyMTksIDQxMDczLCA5Njg3LCA0MTY4MSwgCi0gICAgNjMwNCwgMTE5ODEyLCA2NjE5NiwgMTk0ODgxLCA1MjYyLCAwLCA1NTIzMywgMTI2ODEsIDQyMzc5LCAwLCA3NTM0LCAKLSAgICAxMjIxOSwgMCwgMTI3NTI4LCA0MjgxMCwgMTA0OTIsIDAsIDAsIDAsIDQzMTE5LCAwLCAxMjA3NTMsIDEyNDAzLCAyNTAwLCAKLSAgICAxOTUwMTMsIDAsIDQ4OTksIDEyNzI5LCAwLCAwLCA3NDExMywgMjM0MywgNDEwMywgMTk5NDYsIDc0MTEyLCA3Nzg1MSwgCi0gICAgMTMxMTIsIDAsIDE5NTAxMiwgMTI4NTksIDAsIDEyMDE0OCwgNjYzNjksIDU4NjEsIDEyNzc1OCwgMTE5OTksIDEyNDAwLCAwLCAKLSAgICAwLCAxMjY0NSwgNTE0NiwgMTEzMjAsIDY4NDEwLCA2NzQ4LCA2NTA0MCwgMCwgNjQxODQsIDEyOTc0LCA2NDE4MywgNjc2MTMsIAotICAgIDEyMDY0NSwgNTE0NywgMCwgMCwgNzQ1MjQsIDAsIDE5MjgsIDAsIDY3NjQ5LCA1OTkxLCAzNDQ1LCA2NzYwOSwgNDk3NiwgCi0gICAgNjQxNzYsIDAsIDY3NjEwLCA4MjQxLCAwLCA3Nzg2OCwgNDIwNiwgMCwgMCwgMCwgMTI4Mjk4LCAwLCAxMDEzOCwgMCwgMCwgCi0gICAgODg5NywgMCwgMCwgODM1NywgNDEyNCwgNzc4NjIsIDY1ODM2LCAxMjA2NDEsIDEyNzkyNiwgNzc4NTksIDAsIDAsIDExMjMsIAotICAgIDk2MywgNDE1NTMsIDEwMTIwLCAxMjQwNSwgMTIwMTUwLCA5MjY2NCwgMzk4LCAxMzI3OCwgOTcyMywgNjM2NiwgMTIwMzExLCAKLSAgICA3OTQ1LCAwLCA0NDAyLCA5OTcwLCAxMjQwMiwgMCwgNDIzOTIsIDEzMDUsIDEyNDA4LCAwLCA0NDAwNywgMCwgMCwgNDE0NjQsIAotICAgIDEyNDExLCAxMjk2OSwgMTIwODI0LCA0MTQ2NSwgMCwgODUyOCwgMTU3NSwgMCwgNjM5NTUsIDE2NSwgMzAyNCwgNDE0NjcsIAotICAgIDExOTE2MywgMCwgOTA5MywgMCwgOTE0NywgMCwgNjM5NTgsIDAsIDkxNDgsIDk2OTIsIDQwOTYsIDUzLCA3Mzc3NiwgNjc1MCwgCi0gICAgMTk1MDE4LCAwLCA5NTk0LCAwLCAwLCA0MzUyNywgMCwgNzI3LCAxOTQ3MDMsIDAsIDU4MDUsIDAsIDY3MjYsIDAsIDQyMTc2LCAKLSAgICAxMjM3MCwgMTE2NTUsIDExOTA5NSwgMTA1OTEsIDEyMzY0LCAwLCAxMjM3MiwgMTIwNjQyLCAxMjAzMDcsIDAsIDkyMzQzLCAKLSAgICAwLCAxMjM2NiwgMTA5NjMsIDYwNjYsIDEzMjksIDAsIDMwNTIsIDkyMjAsIDAsIDY0NDc4LCAxOTQ3MDEsIDEwODAzLCAKLSAgICA0MTMyLCAxMjAzMDYsIDY4NDc0LCA5MjQ3MywgMCwgMCwgNzQ4MzcsIDEyMDE1NSwgMTQ5OSwgMCwgODA1NSwgNDI3NDAsIAorICAgIDAsIDk4Mzg3NSwgODUzLCA0MjY5MywgMTk1MDE0LCAwLCA5ODM2MzgsIDUwMTYsIDQzNTM1LCA2Mzg5MywgNDI4MzUsIAorICAgIDk0OTEsIDkxNzkxMywgMCwgOTE3OTE0LCAwLCAxMjcxMiwgNzEwNSwgMTI3ODA3LCA2NTA2MCwgMTIwNzk3LCA5OTAwLCAKKyAgICA3NzUwLCAwLCAxOTQ5MTksIDAsIDEyNzgzMCwgMCwgNjQ3NzgsIDEyNTg1LCAxMDU2NSwgMTI4MTUxLCAxMjE3NywgMCwgMCwgCisgICAgMCwgNzc4MjQsIDAsIDQ5MDAsIDEyNzg3NCwgMTI4NzgsIDkyNjMwLCA4OTg0LCA0MTE5LCA3NDc2OCwgODk3MSwgNzg1OTMsIAorICAgIDQzMTEzLCA5NzAyLCA3ODU5NCwgMTEwMjUsIDkyNDUsIDEzMDQ4LCA0OTI3LCA0MTM4LCA3NDE4NSwgOTI0ODEsIDkyNzEwLCAKKyAgICAxMjM5NywgNzc4MjcsIDAsIDEzMDU0LCAxMjM5NCwgMCwgMCwgMCwgMTMwNTMsIDAsIDM5NDgsIDEwNzgxLCAxNTQ2LCAwLCAKKyAgICA1MDEwLCAxNjgwLCAxMDUwNywgNzg1OTAsIDc4NTgzLCAwLCAwLCAwLCAxOTQ5MTUsIDcyNjcsIDAsIDc0ODMzLCAxMjgxODEsIAorICAgIDU5OTMsIDI4MTksIDAsIDEyNzA2LCA3Nzg0MCwgMTg5MywgNzI2NiwgNjM5MTUsIDcyNjQsIDcyNjUsIDAsIDEzNjMsIDAsIAorICAgIDYzOTk3LCA2MzkxMCwgNjM5OTYsIDMwNzcsIDAsIDAsIDE1MTIsIDY5OTI5LCAxMjU4OSwgNDE0NzksIDEyODMxMywgMCwgCisgICAgNDMzMzksIDAsIDk4MzYsIDEyMDcyNywgMCwgNDE0ODEsIDQzMzM1LCA3ODMyLCA0MjM0MywgMzA5MCwgNDMzMzcsIDgxNywgCisgICAgMTY2NCwgMTg1MCwgMTI4ODQxLCAzMDc5LCAxMTM0MCwgNDI0MDgsIDQyNDQ3LCAxMjcxNDAsIDEyMDAyMCwgNDIzMDcsIAorICAgIDEyMzg2LCA0MjMwNCwgOTE3NTU1LCAwLCAxMjM4OSwgMCwgOTIzNjYsIDQxOTk2LCAxMTUyNiwgNjM5ODUsIDU4NjQsIAorICAgIDExNDcsIDYzOTkyLCA0Mjg4NywgMTk4NywgOTI3MTgsIDU0ODAsIDc4NTgsIDExNjUzLCA0MTE2LCAxMjM5MSwgNjYxOTMsIAorICAgIDAsIDQ5MzksIDEyMzg0LCAwLCAwLCA0MTY4NiwgNjM5MDUsIDExOTYwMSwgMTk0Njg4LCA5ODMxOTAsIDAsIDEyNjQ5LCAwLCAKKyAgICAwLCA4MjQ3LCA1MDcsIDkxLCAyMDQyLCAxMjA3NzUsIDQzNjQzLCAxOTQ2ODksIDY2MDI4LCAxMDAzNiwgNDE4NDQsIAorICAgIDExOTgxMywgNzc0LCAxMTk4MjksIDAsIDExOTgxNSwgNTk5NCwgMTI1MzksIDAsIDc4Mzc1LCAxMjA1OTcsIDExOTgzMywgCisgICAgOTgzMTA1LCAxMTk2MDAsIDAsIDAsIDc3MTksIDYwMjYsIDI0ODYsIDEyODMxMiwgMTE5ODA4LCAxNjIsIDAsIDY1MjE5LCAKKyAgICA0MTA3MywgOTY4NywgNDE2ODEsIDYzMDQsIDExOTgxMiwgNjYxOTYsIDE5NDg4MSwgNTI2MiwgMCwgNTUyMzMsIDEyNjgxLCAKKyAgICA0MjM3OSwgMCwgNzUzNCwgMTIyMTksIDAsIDEyNzUyOCwgNDI4MTAsIDEwNDkyLCAwLCA5ODM2NTIsIDAsIDQzMTE5LCAwLCAKKyAgICAxMjA3NTMsIDEyNDAzLCAyNTAwLCAxOTUwMTMsIDAsIDQ4OTksIDEyNzI5LCAwLCAwLCA3NDExMywgMjM0MywgNDEwMywgCisgICAgMTk5NDYsIDc0MTEyLCA3Nzg1MSwgMTMxMTIsIDAsIDE5NTAxMiwgMTI4NTksIDcwMDg3LCAxMjAxNDgsIDY2MzY5LCA1ODYxLCAKKyAgICAxMjc3NTgsIDExOTk5LCAxMjQwMCwgMCwgOTgzODMwLCAxMjY0NSwgNTE0NiwgMTEzMjAsIDY4NDEwLCA2NzQ4LCA2NTA0MCwgCisgICAgMCwgNjQxODQsIDEyOTc0LCA2NDE4MywgNjc2MTMsIDEyMDY0NSwgNTE0NywgMCwgMCwgNzQ1MjQsIDAsIDE5MjgsIDAsIAorICAgIDY3NjQ5LCA1OTkxLCAzNDQ1LCA2NzYwOSwgNDk3NiwgNjQxNzYsIDAsIDY3NjEwLCA4MjQxLCAwLCA3Nzg2OCwgNDIwNiwgMCwgCisgICAgMCwgMCwgMTI4Mjk4LCAwLCAxMDEzOCwgMCwgMCwgODg5NywgMTIwMjM0LCAwLCA4MzU3LCA0MTI0LCA3Nzg2MiwgNjU4MzYsIAorICAgIDEyMDY0MSwgMTI3OTI2LCA3Nzg1OSwgMCwgMCwgMTEyMywgOTYzLCA0MTU1MywgMTAxMjAsIDEyNDA1LCAxMjAxNTAsIAorICAgIDkyNjY0LCAzOTgsIDEzMjc4LCA5NzIzLCA2MzY2LCAxMjAzMTEsIDc5NDUsIDAsIDQ0MDIsIDk5NzAsIDEyNDAyLCAKKyAgICA5ODMxMzYsIDQyMzkyLCAxMzA1LCAxMjQwOCwgMCwgNDQwMDcsIDAsIDAsIDQxNDY0LCAxMjQxMSwgMTI5NjksIDEyMDgyNCwgCisgICAgNDE0NjUsIDk4MzU2NSwgODUyOCwgMTU3NSwgMCwgNjM5NTUsIDE2NSwgMzAyNCwgNDE0NjcsIDExOTE2MywgMCwgOTA5MywgCisgICAgMCwgOTE0NywgMTI4Nzg3LCA2Mzk1OCwgMCwgOTE0OCwgOTY5MiwgNDA5NiwgNTMsIDczNzc2LCA2NzUwLCAxOTUwMTgsIDAsIAorICAgIDk1OTQsIDAsIDAsIDQzNTI3LCAwLCA3MjcsIDE5NDcwMywgMTk1MDIzLCA1ODA1LCAwLCA2NzI2LCAwLCA0MjE3NiwgCisgICAgMTIzNzAsIDExNjU1LCAxMTkwOTUsIDEwNTkxLCAyMjgwLCAwLCAxMjM3MiwgMTIwNjQyLCAxMjAzMDcsIDAsIDkyMzQzLCAwLCAKKyAgICAxMjM2NiwgMTA5NjMsIDYwNjYsIDEzMjksIDAsIDMwNTIsIDkyMjAsIDAsIDY0NDc4LCAxOTQ3MDEsIDEwODAzLCA0MTMyLCAKKyAgICAxMjAzMDYsIDY4NDc0LCA5MjQ3MywgMCwgOTgzMzA1LCA3NDgzNywgMTIwMTU1LCAxNDk5LCAwLCA4MDU1LCA0Mjc0MCwgCiAgICAgNjM5NjUsIDAsIDYzOTYyLCA3NDA0MiwgODkyNCwgNDMxMjMsIDU5ODgsIDM2NjAsIDYzOTY5LCAxMTc4MSwgNDI3MTgsIAogICAgIDg3ODgsIDEzNTcsIDY0ODUxLCA2NTc0MywgMCwgODc3NCwgMCwgMTI3MDg2LCA5OTQxLCAxMjAxNzIsIDAsIDE5MzMsIAogICAgIDY5NjU1LCA5NTY0LCAwLCA5MjQzNSwgNzM4NjYsIDAsIDAsIDI0ODcsIDY3NjE0LCAzMTIxLCAxODA0LCAzMzExLCA2NzYxNSwgCi0gICAgMCwgNzgzMDIsIDEyMjIwLCA2NzYxNiwgMTIwNTk4LCAxMjc0NzUsIDAsIDY4MjAwLCA2Njc1LCAxMjgxNDQsIDAsIDY3NTkyLCAKLSAgICAxMjA2ODUsIDAsIDY0NzcxLCAxMTk4LCA5MTMyLCAwLCA2NDYxOSwgNTEwLCA2NDY2MywgMCwgMCwgNDU2MSwgMjEwMSwgCi0gICAgMTM5OCwgMCwgOTI1NTQsIDc0MDM0LCA0MTU2OSwgOTI2ODQsIDExNDA2LCA4MTY3LCAxMjEyNywgMCwgODQwLCAwLCAwLCAwLCAKLSAgICA2OTY3LCAwLCAwLCA5Nzk2LCAwLCAzMzMsIDAsIDAsIDgxNDQsIDIxMTcsIDAsIDAsIDEyNDA2LCAwLCAxOTkzMSwgCi0gICAgMTE5MDg5LCA2Njc4LCA3NzY5LCAwLCAxMjYyMSwgMCwgMTI3MzY2LCAxMDIyNywgNDc2NCwgNDMxMDEsIDk5ODEsIDAsIAotICAgIDQwOTg2LCA0MTI3LCA2NjQ4NywgMCwgNDIyMDIsIDEyNzU0LCAxOTUwMjIsIDAsIDAsIDAsIDY3NTk0LCAyMDQ4LCAxMjk0NCwgCi0gICAgNDA1MCwgNjc1OTUsIDkxNzk2NywgNDMxMDIsIDEwNTgxLCAxMjk4NSwgNDUzMywgMTk1MDIxLCA3NDAwMywgNjQ5MCwgMCwgCi0gICAgMTIwMzgsIDAsIDAsIDEyMDcwNCwgNjU0NjEsIDk3OTgsIDY5NzA0LCAwLCAxOTQ4LCAxMTkwMDcsIDAsIDk1MiwgMTI4MjM1LCAKLSAgICAwLCAwLCAxMjA4MDIsIDY0NDksIDk0OTQsIDEyMDMxMywgMCwgNDMwOTgsIDQ4NDMsIDgxNDIsIDY0MTYwLCA0MDk4LCAKLSAgICA2NDE3MCwgMCwgMCwgMzQzNiwgMTE5OTczLCAwLCAxMjgxNywgNjc1OTcsIDY2NzYsIDM5MzAsIDY2NzA4LCAwLCAwLCAKLSAgICA2NzU5OCwgMCwgMCwgMCwgNjU1OTEsIDQxNTgxLCA2NTkxNiwgMTQ1MywgMCwgMCwgMCwgODUwMCwgNDIyMjIsIDEyMDE0MiwgCi0gICAgNzM3NDMsIDEyMDQwMCwgNDMxNywgMTE1NDMsIDY3Njc2LCA2NDY3NiwgMCwgMCwgNjc2MDYsIDExOTA4MywgMCwgNDIyMTcsIAotICAgIDEzMTAyLCAwLCA2NjAwMywgNjY3MiwgMCwgMCwgMCwgMCwgNjM4NDEsIDk2MTMsIDkwMDEsIDQ1MjYsIDExMjc0LCA2NzYwMSwgCi0gICAgNjQ1MjAsIDY0MjEwLCA2NjY0LCA3ODcwNCwgNDIwNTYsIDEwMjI4LCA2NDk1NywgMTEyODEsIDAsIDY0MjEzLCAxNDY5LCAKLSAgICA2NjY0MCwgNjUzODEsIDQyMTk3LCA0OTg4LCA0MjM3MiwgMCwgOTU5OCwgOTA0LCAzNTIsIDQyMjI1LCAxNDUxLCA4MDYxLCAKLSAgICA4NDUzLCA0MTM0LCAwLCA3NDg0NywgNjY1NzYsIDEyNzkxNiwgMCwgMTA1MjAsIDg1NzUsIDk5NjAsIDEyMDEsIDEyNzI4OSwgCi0gICAgMTI4NDYsIDEyNzI5MSwgMTI3MjkyLCAxMTkxOSwgNjQ5NjIsIDEyNzI4NywgNDM3MzksIDEyNzI4MSwgODUxMSwgOTQ2MCwgCi0gICAgODIzLCAxMTU4NywgMTIzMDUsIDAsIDY0Njk1LCAxMjczMDUsIDEyMzg3LCAxMjUzLCAxMzE4MywgNjU3NjYsIDUwMCwgCi0gICAgNDI3ODMsIDY1NzY1LCA2NDIwOCwgNjQzNjksIDY1NzYwLCA2NTc2MSwgMTE5NTg1LCAxMTYwNiwgNjQ3ODQsIDExNzAyLCAKLSAgICA2NjQ5OCwgOTgyMSwgNjQzMDQsIDAsIDUxNTIsIDExMDQ4LCA3NTMzLCA2ODM2NiwgNjQ0MTAsIDkyMzA1LCAwLCA0MzIzLCAKLSAgICAxMjAwNjIsIDkyNjY5LCAwLCAxMjcwNTIsIDQyNTg3LCA0MjIxNCwgNDEzOTQsIDAsIDQ3NjMsIDQxMTIsIDExODkzNSwgMCwgCi0gICAgNTI2MCwgNDMxNDMsIDAsIDMyNiwgMTIwMTMxLCA2ODQyMywgMCwgMTA3NzEsIDI4NzYsIDc0MDc0LCA5MjUzMCwgMTk0OTI0LCAKLSAgICA0MTM5OCwgNzM4MiwgOTgwMiwgMTI3MDc3LCAxMjcwNzYsIDQ1MywgNDEzOTYsIDEyMDUyNCwgNDI3MjAsIDEyMTQwLCAKLSAgICA5NTcyLCAwLCA3MDAzLCAxOTQ4ODMsIDQyMzM0LCA3NzA0LCAwLCAxOTQ4ODUsIDQzMTQ0LCA0MTIzLCA4NDk0LCA0MzE0NiwgCi0gICAgOTk3NywgMCwgMCwgNjU3NTksIDEwNzY1LCA2NDA2MSwgNDQ2NSwgOTgwOCwgNjQwNTYsIDY1NTgyLCA0MTI2LCAwLCA5NTIxLCAKLSAgICA5NTg5LCA2NDc1NSwgMCwgNjQwMjAsIDAsIDEwNDY0LCAwLCAwLCAxOTQ4NjksIDY0NTE0LCAxMTUyOCwgNjQwMjQsIAotICAgIDEyODA3MiwgNjc5LCA2NDAxMywgMCwgNTg1MCwgNzU4LCA3NTM2LCAwLCA5MjIzNCwgNDE0NDEsIDEwNjkzLCA2NDAwNiwgMCwgCi0gICAgNjQwMDUsIDQwNTgsIDExOTAxOSwgMCwgNjQ2NjAsIDAsIDExOTA1MCwgMCwgMCwgMTEzOSwgNDMyOTgsIDY0MDI3LCAKLSAgICA2NDAyOSwgODk3MCwgMCwgOTkzNCwgMCwgMTA3NzQsIDEyODAyMCwgNDIyMDEsIDEyNDIxLCAxMjgyMTYsIDAsIDE4NTIsIAotICAgIDMwNTcsIDEyODExMywgNzM3NDQsIDY0MDM0LCA2NDAzOSwgMCwgMCwgMCwgMCwgOTIzMjIsIDc2NDUsIDEyODU0LCA3NDMzOCwgCi0gICAgMzQ5NiwgMCwgMCwgMCwgOTEwMiwgNjI3LCAxMjc3OTUsIDYxNTgsIDgzMjcsIDc0NTUzLCA2NjYzMiwgMTI0MTksIDEzMzA5LCAKLSAgICAxMTU3MCwgMTI3ODExLCAxOTk2MCwgMTE2OTYsIDAsIDEwMTgsIDExODk3MCwgMTk0OTA5LCAxOTQ4OTcsIDE2ODIsIAotICAgIDE5NDg5NiwgMTk0OTExLCA0Mjc1NiwgNjc2NSwgMTk0OTA2LCAwLCAwLCA3MzgxNCwgMTE0MTIsIDY3NjgsIDEwNzI4LCAKLSAgICAxOTQ4MzAsIDExOTAxMCwgMTE4ODYzLCA0MzMxMSwgNjQ5NjYsIDExNTc3LCAwLCA0MzA0MCwgMTgzMywgMTE1NzYsIDAsIAotICAgIDc0Nzc5LCAwLCAxODUsIDY1MDg1LCA3NDUzMywgNjQ3NTQsIDE5NDg0OCwgNzUzNSwgODA4NSwgNDI1MjUsIDEyMDM4NywgCisgICAgNzAwODEsIDc4MzAyLCAxMjIyMCwgNjc2MTYsIDEyMDU5OCwgMTI3NDc1LCAwLCA2ODIwMCwgNjY3NSwgMTI4MTQ0LCAwLCAKKyAgICA2NzU5MiwgMTIwNjg1LCAwLCA2NDc3MSwgMTE5OCwgOTEzMiwgMCwgNjQ2MTksIDUxMCwgNjQ2NjMsIDAsIDAsIDQ1NjEsIAorICAgIDIxMDEsIDEzOTgsIDAsIDkyNTU0LCA3NDAzNCwgNDE1NjksIDkyNjg0LCAxMTQwNiwgODE2NywgMTIxMjcsIDAsIDg0MCwgMCwgCisgICAgMTI2NTE4LCA3MTAxLCA2OTY3LCAwLCAxOTQ4OTgsIDk3OTYsIDAsIDMzMywgNjk4OTEsIDAsIDgxNDQsIDIxMTcsIDAsIAorICAgIDk4MzU5NSwgMTI0MDYsIDAsIDE5OTMxLCAxMTkwODksIDY2NzgsIDc3NjksIDAsIDEyNjIxLCAwLCAxMjczNjYsIDEwMjI3LCAKKyAgICA0NzY0LCA0MzEwMSwgOTk4MSwgMCwgNDA5ODYsIDQxMjcsIDY2NDg3LCAwLCA0MjIwMiwgMTI3NTQsIDE5NTAyMiwgMCwgMCwgCisgICAgOTQwOTcsIDY3NTk0LCAyMDQ4LCAxMjk0NCwgNDA1MCwgNjc1OTUsIDkxNzk2NywgNDMxMDIsIDEwNTgxLCAxMjk4NSwgCisgICAgNDUzMywgMTk1MDIxLCA3NDAwMywgNjQ5MCwgMCwgMTIwMzgsIDAsIDAsIDEyMDcwNCwgNjU0NjEsIDk3OTgsIDY5NzA0LCAwLCAKKyAgICAxOTQ4LCA2OTg0MSwgMCwgOTUyLCAxMjgyMzUsIDAsIDAsIDEyMDgwMiwgNjQ0OSwgOTQ5NCwgMTIwMzEzLCAwLCA0MzA5OCwgCisgICAgNDg0MywgODE0MiwgNjQxNjAsIDQwOTgsIDY0MTcwLCAwLCAwLCAzNDM2LCAxMTk5NzMsIDAsIDEyODE3LCA2NzU5NywgCisgICAgNjY3NiwgMzkzMCwgNDI2MTUsIDAsIDAsIDY3NTk4LCAwLCAwLCAwLCA2NTU5MSwgNDE1ODEsIDY1OTE2LCAxNDUzLCAwLCAwLCAKKyAgICAwLCA4NTAwLCA0MjIyMiwgMTIwMTQyLCA3Mzc0MywgMTIwNDAwLCA0MzE3LCAxMTU0MywgNjc2NzYsIDY0Njc2LCAwLCAwLCAKKyAgICA2NzYwNiwgMTE5MDgzLCAwLCA0MjIxNywgMTMxMDIsIDAsIDY2MDAzLCA2NjcyLCAwLCAwLCAwLCA5ODM3MzgsIDYzODQxLCAKKyAgICA5NjEzLCA5MDAxLCA0NTI2LCAxMTI3NCwgNjc2MDEsIDY0NTIwLCA2NDIxMCwgNjY2NCwgNzg3MDQsIDQyMDU2LCAxMDIyOCwgCisgICAgNjQ5NTcsIDExMjgxLCAwLCAzODA3LCAxNDY5LCA2NjY0MCwgNjUzODEsIDQyMTk3LCA0OTg4LCA0MjM3MiwgMCwgOTU5OCwgCisgICAgOTA0LCAzNTIsIDQyMjI1LCAxNDUxLCA4MDYxLCA4NDUzLCA0MTM0LCAwLCA3NDg0NywgNjY1NzYsIDEyNzkxNiwgMCwgCisgICAgMTA1MjAsIDg1NzUsIDk5NjAsIDEyMDEsIDEyNzI4OSwgMTI4NDYsIDEyNzI5MSwgMTI3MjkyLCAxMTkxOSwgNjQ5NjIsIAorICAgIDEyNzI4NywgNDM3MzksIDEyNzI4MSwgODUxMSwgOTQ2MCwgODIzLCAxMTU4NywgMTIzMDUsIDAsIDY0Njk1LCAxMjczMDUsIAorICAgIDEyMzg3LCAxMjUzLCAxMzE4MywgNjU3NjYsIDUwMCwgNDI3ODMsIDY1NzY1LCA2NDIwOCwgNjQzNjksIDY1NzYwLCA2NTc2MSwgCisgICAgMTE5NTg1LCAxMTYwNiwgNjQ3ODQsIDExNzAyLCA2NjQ5OCwgOTgyMSwgNjQzMDQsIDAsIDUxNTIsIDExMDQ4LCA3NTMzLCAKKyAgICA2ODM2NiwgNjQ0MTAsIDkyMzA1LCAwLCA0MzIzLCAxMjAwNjIsIDkyNjY5LCA3MTMzMiwgMTI3MDUyLCA0MjU4NywgNDIyMTQsIAorICAgIDQxMzk0LCAwLCA0NzYzLCA0MTEyLCAxMTg5MzUsIDAsIDUyNjAsIDQzMTQzLCA5NDAzOCwgMzI2LCAxMjAxMzEsIDY4NDIzLCAKKyAgICAwLCAxMDc3MSwgMjg3NiwgNzQwNzQsIDkyNTMwLCAxOTQ5MjQsIDQxMzk4LCA3MzgyLCA5ODAyLCAxMjcwNzcsIDEyNzA3NiwgCisgICAgNDUzLCA0MTM5NiwgMTIwNTI0LCA0MjcyMCwgMTIxNDAsIDk1NzIsIDAsIDcwMDMsIDE5NDg4MywgNDIzMzQsIDc3MDQsIAorICAgIDEyNjQ5MCwgMTk0ODg1LCA0MzE0NCwgNDEyMywgODQ5NCwgNDMxNDYsIDk5NzcsIDAsIDAsIDY1NzU5LCAxMDc2NSwgCisgICAgNjQwNjEsIDQ0NjUsIDk4MDgsIDY0MDU2LCA2NTU4MiwgNDEyNiwgMCwgOTUyMSwgOTU4OSwgNjQ3NTUsIDAsIDY0MDIwLCAKKyAgICAxMjY2MDQsIDEwNDY0LCAwLCAwLCAxOTQ4NjksIDY0NTE0LCAxMTUyOCwgNjQwMjQsIDEyODA3MiwgNjc5LCA2NDAxMywgMCwgCisgICAgNTg1MCwgNzU4LCA3NTM2LCAwLCA5MjIzNCwgNDE0NDEsIDEwNjkzLCA2NDAwNiwgOTgzNTY3LCA2NDAwNSwgNDA1OCwgCisgICAgMTE5MDE5LCAxMjY0ODcsIDY0NjYwLCAwLCAxMTkwNTAsIDAsIDk4MzA2OSwgMTEzOSwgNDMyOTgsIDY0MDI3LCA2NDAyOSwgCisgICAgODk3MCwgMCwgOTkzNCwgOTgzMDk0LCAxMDc3NCwgMTI4MDIwLCA0MjIwMSwgMTI0MjEsIDEyODIxNiwgMCwgMTg1MiwgCisgICAgMzA1NywgNjQwNDYsIDczNzQ0LCA2NDAzNCwgNjQwMzksIDAsIDAsIDAsIDE5NDg5OSwgOTIzMjIsIDc2NDUsIDEyODU0LCAKKyAgICA3NDMzOCwgMzQ5NiwgMCwgMCwgMCwgOTEwMiwgNjI3LCAxMjc3OTUsIDYxNTgsIDgzMjcsIDc0NTUzLCA2NjYzMiwgMTI0MTksIAorICAgIDEzMzA5LCAxMTU3MCwgMTI3ODExLCAxOTk2MCwgMTE2OTYsIDAsIDEwMTgsIDExODk3MCwgMTk0OTA5LCAxOTQ4OTcsIAorICAgIDE2ODIsIDE5NDg5NiwgMTk0OTExLCA0Mjc1NiwgNjc2NSwgMTk0OTA2LCAwLCAwLCA3MzgxNCwgMTE0MTIsIDY3NjgsIAorICAgIDEwNzI4LCAxOTQ4MzAsIDcxMzE2LCAxMTg4NjMsIDQzMzExLCA2NDk2NiwgMTE1NzcsIDAsIDQzMDQwLCAxODMzLCAxMTU3NiwgCisgICAgMCwgNzQ3NzksIDAsIDE4NSwgNjUwODUsIDc0NTMzLCA2NDc1NCwgMTk0ODQ4LCA3NTM1LCA4MDg1LCA0MjUyNSwgMTIwMzg3LCAKICAgICA5NzQ5LCA0MTcwMSwgNjEzMSwgMTk0OSwgNDExNywgNzg0NywgMTIwNDg5LCAxOTQ3MTEsIDY0NDgzLCA2NTY5MywgMCwgMCwgCi0gICAgMCwgNjk2OTUsIDQyMjQwLCAwLCAwLCA0Mjg2NCwgMCwgNjQ2NjcsIDQxODY4LCAxMTg0LCAwLCA4MTUsIDExNDg0LCAKLSAgICAxMjc1MzUsIDY3ODQwLCAwLCAwLCAxMjg3OTMsIDAsIDEwOTg2LCA2NDY4MywgMCwgMCwgMTk0NzA5LCAwLCAwLCA5ODc5LCAKLSAgICAwLCAwLCA0MTU4LCAxMjgwNTAsIDY4MTY2LCAwLCAwLCAwLCAwLCA2OTY0NSwgMzMyLCAxMTg4MDgsIDAsIDUxNDIsIDI0MDcsIAotICAgIDY5NjQzLCA0MjE5OSwgMCwgOTI0MDQsIDc0MzczLCAwLCA1NTIxNywgMCwgNjM4NzAsIDQzMTYzLCAwLCAwLCA5MjM5MCwgCi0gICAgNDI4NjcsIDE4MzQsIDAsIDkyNDYxLCA2OTgxNywgMTA5NDAsIDY1MjQ5LCAxMTkwNDAsIDg2NjIsIDAsIDAsIDI2NTIsIAotICAgIDEyMDUyNywgNzE2NCwgMTA3ODQsIDE5NTA5MywgNjc2NzQsIDAsIDkyMjMzLCA5MjQ4MiwgMTk0NzQ5LCA3NDU2MiwgCisgICAgMCwgNjk2OTUsIDQyMjQwLCAwLCAxMjY2NTEsIDQyODY0LCAxMjY0OTgsIDY0NjY3LCA0MTg2OCwgMTE4NCwgMCwgODE1LCAKKyAgICAxMTQ4NCwgMTI3NTM1LCA2Nzg0MCwgOTgzNjQyLCAwLCA2NjE5NywgMCwgMTA5ODYsIDY0NjgzLCA5ODM3NzYsIDAsIDM0NTUsIAorICAgIDAsIDAsIDk4NzksIDAsIDAsIDQxNTgsIDEyODA1MCwgNjgxNjYsIDAsIDAsIDAsIDAsIDY5NjQ1LCAzMzIsIDExODgwOCwgMCwgCisgICAgNTE0MiwgMjQwNywgNjk2NDMsIDQyMTk5LCAwLCA5MjQwNCwgNzQzNzMsIDAsIDU1MjE3LCAwLCA2Mzg3MCwgNDMxNjMsIDAsIAorICAgIDAsIDkyMzkwLCA0Mjg2NywgMTgzNCwgMCwgOTI0NjEsIDY5ODE3LCAxMDk0MCwgNjUyNDksIDExOTA0MCwgODY2MiwgMCwgMCwgCisgICAgMjY1MiwgMTIwNTI3LCA3MTY0LCAxMDc4NCwgMTk1MDkzLCA2NzY3NCwgMCwgOTIyMzMsIDkyNDgyLCAxOTQ3NDksIDc0NTYyLCAKICAgICA5MTc1MDUsIDE4MjgsIDc0NDc0LCAxMjAzMjcsIDc4NjIwLCA4NTMxLCAxMjQ5OSwgNjI4MCwgMTIzMjQsIDExODg1NCwgCiAgICAgNjUyMzgsIDY4Mzc0LCA0ODMyLCA2NTU3MywgMCwgNjI3OSwgMTI1MDgsIDEyOTA0LCAxMjUwMiwgOTE2MSwgMCwgMTYyMCwgCi0gICAgNjQ0MzYsIDM2MDEsIDE5NTA5NCwgMTI4MDczLCAwLCA2MDksIDExNTU1LCAwLCAxMjQ5NiwgMTI3ODM5LCA3NDE4MSwgCi0gICAgNDM0MywgMTI1MDUsIDAsIDEyNzg2MywgMCwgMTEzNzcsIDIzOSwgMCwgNjM3LCAwLCAwLCA0MjY3MSwgMCwgMCwgMCwgCi0gICAgNDM1NjUsIDEyNzA4MiwgMCwgMTI2OTYsIDEyODI1NiwgMCwgMTk0Nzk2LCAxMjkyOSwgMCwgNzEyLCAwLCA0MTk3LCAwLCAKLSAgICA0MjgxOCwgMTI4Njg4LCAwLCAxMjA0OTAsIDAsIDExOTEzNywgMTUwNiwgNDM1NjIsIDAsIDAsIDAsIDEyNjUxLCAwLCAKLSAgICA2NDYyOCwgNzQ1MTcsIDEyMDU4LCA3NDA4NCwgOTE3ODM4LCA3NDk0LCAwLCA0OTI0LCA2NTU5MiwgMTE4ODQ0LCAwLCAKLSAgICAxMjcwODgsIDM1NSwgOTcxOSwgMTI3MDg3LCAxMzA2NiwgNjQ3OTYsIDAsIDAsIDEyMDMzLCA0MjE3OCwgMCwgNjk3NjAsIAotICAgIDQyNTcxLCA5MjYzNSwgMCwgMCwgMCwgMCwgMCwgMTI3MTc2LCAzMTc4LCAwLCAwLCA5MjcwNCwgMCwgOTA4MCwgMTI3MDAwLCAKLSAgICAxMjAzNTIsIDAsIDY4MjA5LCAwLCAxMTA4MiwgMCwgNTY5OSwgMTk1MTAwLCA2NjAwMCwgOTQ4OCwgNjUxNjYsIDExOTExMiwgCi0gICAgMCwgMCwgMCwgMCwgMTI4MjA4LCAwLCA1MjY1LCA2OTIzNSwgMCwgMTE0ODcsIDY3ODU4LCAxMjQ2NCwgMCwgNDMwNDUsIDAsIAotICAgIDAsIDQzMzQ1LCAwLCAxMDc3MCwgMTE4OTk0LCA2ODA3LCA0NjUsIDk4MjksIDAsIDc0MzQ4LCAwLCA0MzM0NiwgODExNiwgCi0gICAgNzk1LCAwLCAwLCAxMjQ2MiwgMTA5MzAsIDEwODMxLCAwLCAxMTg5NTIsIDY0MzYyLCA3NDMzNCwgMCwgMTIwODExLCAwLCAKLSAgICAxMjQ2OCwgODYwNywgMTAwOCwgMCwgMTAwOTIsIDE5NTA3OCwgOTE3ODQyLCA2Nzg1NSwgNTUyNTcsIDczNzcxLCAxNzY2LCAKLSAgICAxMTI4MiwgMTE5OTYsIDE4MjAsIDQ1NDcsIDAsIDAsIDAsIDAsIDEzMjIzLCAxMjg2NjUsIDY0NTk1LCAxMjcyOTQsIDAsIAotICAgIDkyMzExLCA0MzQ1LCAxMjYxNiwgMCwgMCwgMCwgNzQ0NjcsIDAsIDAsIDAsIDUzODIsIDAsIDAsIDAsIDExOTA2MCwgCi0gICAgNjQ5NTMsIDU0MDYsIDE5OTIwLCA5MjIxNiwgNjY1MTAsIDM1OTAsIDAsIDExMzAsIDAsIDAsIDQyMDE2LCAxMTgyMywgCi0gICAgNDMwMjMsIDAsIDExODg5NiwgNzc0MiwgMCwgMTMyODAsIDAsIDkzMjYsIDczODI2LCA1MzEwLCA3NDgxMiwgNzg1ODQsIAotICAgIDkyMjI5LCA4OTU5LCA0MzU4OSwgNjc0NywgNjY3MjMsIDAsIDg1NjgsIDAsIDEyMDQ5NiwgNzM4MTYsIDEyMDgwMywgMCwgCi0gICAgNDI2NzAsIDAsIDExNjIxLCAxMjQ2MCwgMCwgMTIwNjMxLCAwLCA0MzA2MywgNzQ1MTksIDEyNzE4MiwgMCwgMCwgMCwgCi0gICAgNjk3ODMsIDExNjg5LCA1NDEwLCA1NzgzLCAxMDQ2OCwgODQwMywgNTQwMCwgMTE1OTQsIDEyODI0NywgMCwgMTE4OTkwLCAKLSAgICAxMDQ5MSwgMCwgNjQ0MTIsIDAsIDAsIDU1ODcsIDQyODY1LCA2NDQwNCwgODI2OCwgNDkyMywgNjUwODYsIDg5ODEsIAotICAgIDEyMzgyLCA0MjEzMywgMTIwNzU1LCA5NzA2LCA2OTczOCwgMCwgNjY2MTAsIDEwNDYxLCAxMjEwMywgMCwgODY0MiwgMCwgCi0gICAgNDI3NjYsIDAsIDY2NTY2LCA5OTgzLCAwLCAxMTkxMDUsIDAsIDAsIDAsIDczOTgsIDQxNTE1LCAwLCAxMTgwMiwgODA0MSwgCi0gICAgMTQ2MSwgOTEwLCAxMTkxMzMsIDAsIDY3NDksIDM2NTgsIDAsIDEyMDUyNSwgMCwgNzYxNywgMTk0ODQxLCAxMjg4OCwgMCwgCi0gICAgNjc2NjgsIDEzMTQzLCAwLCA5MTkzLCAxMTA5NywgNTcwMywgMCwgNDE1MTcsIDQxNTA0LCA0MTUxOSwgMTAwMTYsIDY0MzA1LCAKLSAgICAwLCA2NTg2NCwgNjIzLCA3ODEsIDY3MCwgMTA2NjAsIDU3NjksIDYxMywgNzU0MywgMTIwMjc5LCA0NzcsIDQxMDgzLCAKLSAgICA5MjUyMSwgMCwgNTkyLCAxNTc4LCAxMjQ1OSwgNDM0NDksIDAsIDAsIDgyMjUsIDAsIDY1NCwgMTEzNDUsIDY1MywgNjUyLCAKLSAgICAwLCA2NDcsIDAsIDYzMywgMTIwNzQ0LCAwLCAwLCAxMjQ4MCwgNDMyNDMsIDAsIDM5LCAxMjQ4NywgMCwgMTIwNTI5LCAKLSAgICA3NDE5OSwgMTI0ODIsIDAsIDEyNDg5LCAwLCAzMTk1LCA1NTUwLCAwLCA3ODk3LCAwLCAxMjAzLCA3NDM5NiwgMTgxMywgCi0gICAgNjQ1NDQsIDQxMzExLCAxMjA5MCwgMCwgMjg3NywgMCwgMCwgMTY3NSwgMCwgMCwgMCwgMCwgMTAwNzAsIDEwNTk1LCAwLCAKLSAgICAxMTkwNzcsIDAsIDAsIDAsIDAsIDAsIDQzMjQ0LCAwLCAwLCAwLCAxMTk1NjEsIDAsIDAsIDE5NDkyMSwgMTI4MTYwLCAKLSAgICA5OTM5LCAwLCAwLCA3Nzg2MCwgMCwgMCwgMjcwLCAwLCAxMDcxNCwgMCwgMCwgMCwgMCwgMCwgNjUzNzIsIDAsIDc0MDM4LCAKLSAgICAxMTk1NTgsIDYyNzMsIDY2Njc5LCAzNjQsIDk1OTUsIDE5NDkwOCwgMCwgMCwgNzA3LCAwLCAwLCA5MjgyLCA2NjQ4OSwgCi0gICAgMjI0LCAwLCA2ODY3MCwgOTMzMiwgNDk2NiwgNjg2NzcsIDAsIDY4NjQ0LCAwLCAzODQxLCA2ODYzNCwgMCwgMTA3MzIsIAotICAgIDY4NjQwLCA4NTAsIDQ5NzIsIDAsIDY0Njk5LCAyOTA5LCA2ODYxOSwgNDQwMDgsIDY4NjI3LCAwLCAxMTU0NCwgMTAyMDMsIAotICAgIDk2MDgsIDAsIDAsIDExOTYyLCAxOTQ2OTQsIDEyNTA3LCAxMTk2LCAxMjg2ODcsIDEyODMxMSwgNzc3LCAxMjAxODcsIAotICAgIDQzNzUsIDY1MjcxLCA2NzY3OCwgMCwgMTIxOTgsIDAsIDY0ODI0LCAxMTkzNDMsIDAsIDk0NTQsIDYzNzc4LCA4NjU4LCAKLSAgICA0MjUyOCwgNzgwMDAsIDI3MDUsIDkxNzk3NSwgNDE1MjAsIDAsIDAsIDExOTg2LCA3NzY1LCA0MjUwMiwgODI4MCwgMCwgCi0gICAgMjcwMSwgMCwgMCwgNTc2NywgMCwgMCwgOTgwOSwgODM1MywgNjM3NDcsIDY2NzAxLCA2Mzc3MiwgMCwgNjM3NDUsIDE3NDgsIAotICAgIDYzNzcwLCAwLCAwLCAwLCA2NTU0MiwgNjM3NjYsIDU1MjQ0LCAzMDYxLCAwLCA2Mzc2NCwgNjM3ODcsIDkwNjcsIDYwOTYsIAotICAgIDAsIDc2OTQsIDAsIDcyNTcsIDYzNzY4LCAzNDg1LCAxMjk4NywgMCwgMTI3NTIyLCAxMjA2MjgsIDYzODA3LCAxNTkxLCAwLCAKLSAgICA2Mzg2LCA2Mzc4MywgMCwgMCwgMTI3MTczLCAwLCAwLCAwLCA3NDU3NSwgMCwgNjU3MTksIDEzMDgzLCA2NDU3NCwgNjUwMTIsIAotICAgIDAsIDE2NDAsIDEyNDk1LCA2NjY5MSwgNzYyNCwgMzEzOCwgMTA5OTYsIDkyMjQ3LCAxOTIyLCAwLCAxMjQ5OCwgMTA5ODcsIAotICAgIDAsIDAsIDM4OTQsIDY1NTQzLCAwLCAxOTQ4NDIsIDAsIDQ5MywgMCwgNDMxOTcsIDE3MTcsIDQyMjgsIDQ3OSwgMTAzMDMsIAotICAgIDc0MDIwLCAwLCA5MTc5MzUsIDEwMzM1LCAzNTIwLCA5MTc5MzIsIDEyNDkwLCA2NDMxNSwgMCwgMTI3MDM5LCAxMjQ5MywgCi0gICAgNjIzMywgNDI2ODEsIDEwMDIsIDEyNDkxLCAwLCA2NDkxMSwgOTI2MTUsIDIwOTYsIDY1MTIwLCAwLCAwLCAwLCAxMTYxMSwgCi0gICAgMTE2MzIsIDEyNzA0MSwgNjYyMTMsIDYzODY0LCA2NjIyMSwgNjYyMjYsIDY2MjI5LCAxMzIxOCwgNjYyMzEsIDY2MjE2LCAKLSAgICA4NTA3LCA2NjIzNiwgNjYyMTEsIDY2MjE4LCA5MjY3MiwgNjYyNDAsIDc4MDQxLCA2NjIzMywgODkyOCwgMCwgNzkwOSwgCi0gICAgNjYyMzQsIDExNjA1LCA2Mzc1OSwgMCwgNjYyMDgsIDczOTk5LCA2Mzc5OSwgNjM4MDMsIDI0NCwgMTE1NDIsIDEyODk4LCAKLSAgICAxMjQ5NCwgNzM3NjEsIDEyNDkyLCAxMjY2OSwgMCwgMCwgNzQxNTMsIDAsIDEyODI3OCwgMTIwNjgwLCA0ODgyLCAxMzA0MCwgCi0gICAgMCwgODYxMiwgNDg4NSwgNzQwNTMsIDAsIDEzMDQyLCA0ODgwLCA2NDY2MiwgMjQyOSwgMTM2MCwgMjQ4LCAwLCA2Mzc5NywgCi0gICAgOTIzOTQsIDQyMzU4LCAwLCA3MjkyLCAwLCA2Mzc1NiwgNDI3ODYsIDY2NjkzLCAwLCAxODcwLCA3ODA0MCwgNDcwLCAKLSAgICA3ODAzOCwgNzgwMzUsIDc4MDM2LCAwLCA3ODAzNCwgNDU3OSwgMTI4MDkwLCAwLCAxMjUxMSwgNzQ0NTMsIDEyNTE0LCAwLCAKLSAgICA3NDU3OSwgNzIzOSwgNzAwMSwgODYyMywgMCwgMTI4MDUyLCAxMjgwNDgsIDczNzgsIDEyNTEyLCAxMTYxNSwgNjEwNCwgMCwgCi0gICAgMCwgNjU5LCA2MDk4LCAwLCAxMjIzNCwgMTI3MzA3LCAxMjcwNjcsIDgzMTEsIDEyNTEwLCA0MTgwMywgMTMwMzksIAotICAgIDEyNzA3MiwgMTI1MTMsIDEwMjAyLCAxMjQ3MSwgMCwgODc0NywgMCwgMCwgMCwgMjMyMywgMCwgMjMxOSwgNzc5MTcsIAotICAgIDEyNDc3LCA3NzkxNiwgMjMxMSwgMCwgNDQxNSwgMjM3LCA2MjgxLCAxMjcyODAsIDAsIDAsIDIzMDksIDEzMTIsIDgxNzMsIAotICAgIDEyODg3MSwgMTI0NjksIDAsIDc4NTA1LCA2NDMzNSwgMTA2MDksIDAsIDEyODExMSwgOTM5NywgMTE1MjQsIDkzOTUsIAotICAgIDkzOTYsIDkzOTMsIDkzOTQsIDkzOTEsIDkzOTIsIDkzODksIDYyMDksIDkzODcsIDkzODgsIDQ5MzIsIDkzODYsIDkzODMsIAotICAgIDkzODQsIDY3NDAsIDAsIDY1NDUxLCA4MTg1LCAwLCA5MTc4MzIsIDQzMDI0LCA0MzMzNiwgNjc2NTksIDIzMTMsIDEyODE2NywgCi0gICAgNzk0OCwgOTIzNiwgMCwgMCwgMCwgMTA1NzAsIDQzNDczLCA2Mjg5LCAxMDQ4NCwgMCwgMCwgMTE5OTgsIDEyMDgyLCAKLSAgICAxMDkyNCwgMzE0NywgMCwgMTIwNjg0LCAxMjUyNCwgMTE5MDgxLCAyMzEwLCAxMTgxOCwgOTM4MSwgOTM4MiwgOTM3OSwgCi0gICAgOTM4MCwgOTM3NywgOTM3OCwgOTM3NSwgOTM3NiwgMTY4MywgOTM3NCwgMCwgOTM3MiwgMTI0NDQsIDAsIDAsIDEzMDE2LCAKLSAgICA4MjEwLCAwLCA0MjAyOSwgMTEwNzksIDEyMzMxLCA0MzQ1MSwgNDIwMzIsIDg3NDQsIDcyNiwgMCwgMCwgNDE1NSwgMCwgMCwgCi0gICAgNDIwMzAsIDUwMDcsIDEyNTIyLCA0MzA4OCwgMCwgNDk1MSwgMTI3ODA1LCAxMjcyNDAsIDAsIDk5MjIsIDQzMzA5LCAwLCAKLSAgICAxMjUyNSwgMCwgMTIwMTYsIDY1NzcwLCA5NTQ4LCA2NzY2NSwgNDAzLCA3ODIzMCwgMTI1MDMsIDAsIDAsIDExMDMwLCAwLCAKLSAgICA5MjU2NywgNjU2OTEsIDYzOTk4LCAxODE5LCAxMDQ5NiwgMCwgMCwgMTE5OTIwLCAwLCAxOTQ2NjgsIDAsIDEyNTA2LCAwLCAKLSAgICAxMjIzMSwgMCwgMTI1MDAsIDQ0MDIzLCAxMjUwOSwgNjQzOTMsIDc4ODMwLCAzMzg5LCAxMDU4OSwgNjYwOCwgNDEwNDcsIAotICAgIDEyMDMyMSwgNzgzOTUsIDc4Mzk0LCA3NDA2OSwgNzc5OTUsIDc4MzkxLCAzNjA4LCA4MjgxLCAxMjAzMjAsIDExMDcsIDAsIAotICAgIDkwNzYsIDg4NjIsIDY5NzQzLCA0MTA1MiwgMTMwODQsIDY0NzY2LCA0MzIxNywgNzgwMywgMTMyMjIsIDc0MTY1LCA3NDc4MiwgCi0gICAgMTI4ODE3LCA4NTQ2LCAxMTU1MywgNjM5OTUsIDEzMTc3LCA5MDQzLCA2MzAzLCAwLCA0OTgsIDY0NDcxLCAxMjAzMjQsIAorICAgIDY0NDM2LCAzNjAxLCAxOTUwOTQsIDEyODA3MywgOTgzNTYyLCA2MDksIDExNTU1LCA5ODMwOTksIDEyNDk2LCAxMjc4MzksIAorICAgIDc0MTgxLCA0MzQzLCAxMjUwNSwgMCwgMTI3ODYzLCAwLCAxMTM3NywgMjM5LCAwLCA2MzcsIDAsIDAsIDQyNjcxLCAwLCAwLCAKKyAgICAwLCA0MzU2NSwgNzEzMDYsIDEyNjQ5MywgMTI2OTYsIDEyODI1NiwgMCwgOTQwNjIsIDEyOTI5LCAwLCA3MTIsIDAsIDQxOTcsIAorICAgIDk4MzIwNCwgNDI4MTgsIDEyNjYzMiwgMCwgMTIwNDkwLCAwLCAxMTkxMzcsIDE1MDYsIDQzNTYyLCAwLCA5MjQ5MSwgMCwgCisgICAgMTI2NTEsIDAsIDY0NjI4LCA3NDUxNywgMTIwNTgsIDc0MDg0LCA5MTc4MzgsIDc0OTQsIDAsIDQ5MjQsIDY1NTkyLCAKKyAgICAxMTg4NDQsIDAsIDEyNzA4OCwgMzU1LCA5NzE5LCAxMjcwODcsIDEzMDY2LCA2NDc5NiwgMCwgMCwgMTIwMzMsIDQyMTc4LCAKKyAgICAwLCA2OTc2MCwgNDI1NzEsIDkyNjM1LCAwLCAwLCAwLCAwLCAwLCAxMjcxNzYsIDMxNzgsIDAsIDAsIDkyNzA0LCAwLCAKKyAgICA5MDgwLCAxMjcwMDAsIDEyMDM1MiwgMCwgNjgyMDksIDAsIDExMDgyLCAwLCA1Njk5LCAxOTUxMDAsIDY2MDAwLCA5NDg4LCAKKyAgICA2NTE2NiwgMTE5MTEyLCAwLCAwLCAwLCAwLCA3MTMxMywgMCwgNTI2NSwgNjkyMzUsIDAsIDExNDg3LCA2Nzg1OCwgMTI0NjQsIAorICAgIDAsIDQzMDQ1LCAwLCAwLCA0MzM0NSwgMCwgMTA3NzAsIDExODk5NCwgNjgwNywgNDY1LCA5ODI5LCAwLCA3NDM0OCwgMCwgCisgICAgNDMzNDYsIDgxMTYsIDc5NSwgMCwgMCwgMTI0NjIsIDEwOTMwLCAxMDgzMSwgMCwgMTE4OTUyLCA2NDM2MiwgNzQzMzQsIAorICAgIDk4MzYwMiwgMTIwODExLCAwLCAxMjQ2OCwgODYwNywgMTAwOCwgMCwgMTAwOTIsIDE5NTA3OCwgOTE3ODQyLCA2Nzg1NSwgCisgICAgNTUyNTcsIDczNzcxLCAxNzY2LCAxMTI4MiwgMTE5OTYsIDE4MjAsIDQ1NDcsIDAsIDAsIDAsIDAsIDEzMjIzLCAxMjg2NjUsIAorICAgIDY0NTk1LCAxMjcyOTQsIDAsIDkyMzExLCA0MzQ1LCAxMjYxNiwgMCwgMCwgMCwgNzQ0NjcsIDAsIDAsIDAsIDUzODIsIDAsIAorICAgIDAsIDAsIDExOTA2MCwgNjQ5NTMsIDU0MDYsIDE5OTIwLCA2OTg5NywgNjY1MTAsIDM1OTAsIDE5NDg2NCwgMTEzMCwgMCwgMCwgCisgICAgNDIwMTYsIDExODIzLCA0MzAyMywgMCwgMTE4ODk2LCA3NzQyLCAwLCAxMzI4MCwgNzEzMjMsIDkzMjYsIDczODI2LCA1MzEwLCAKKyAgICA3NDgxMiwgNzg1ODQsIDkyMjI5LCA4OTU5LCA0MzU4OSwgNjc0NywgNjY3MjMsIDAsIDg1NjgsIDAsIDEyMDQ5NiwgNzM4MTYsIAorICAgIDEyMDgwMywgOTgzODM5LCA0MjY3MCwgMCwgMTE2MjEsIDEyNDYwLCAwLCAxMjA2MzEsIDAsIDQzMDYzLCA3NDUxOSwgCisgICAgMTI3MTgyLCAwLCA3MzkxNywgNzg0MywgNjk3ODMsIDExNjg5LCA1NDEwLCA1NzgzLCAxMDQ2OCwgODQwMywgNTQwMCwgCisgICAgMTE1OTQsIDEyODI0NywgMCwgMTE4OTkwLCAxMDQ5MSwgNjk4NDIsIDY0NDEyLCAwLCAwLCA1NTg3LCA0Mjg2NSwgNjQ0MDQsIAorICAgIDgyNjgsIDQ5MjMsIDY1MDg2LCA4OTgxLCAxMjM4MiwgNDIxMzMsIDEyMDc1NSwgOTcwNiwgNjk3MzgsIDAsIDY2NjEwLCAKKyAgICAxMDQ2MSwgMTIxMDMsIDAsIDg2NDIsIDAsIDQyNzY2LCA5ODM4NTcsIDIyMTAsIDk5ODMsIDAsIDk0MDA5LCAwLCAwLCAwLCAKKyAgICA3Mzk4LCA0MTUxNSwgMCwgMTE4MDIsIDgwNDEsIDE0NjEsIDkxMCwgMTE5MTMzLCAwLCA2NzQ5LCAzNjU4LCA5Mzk2NCwgCisgICAgMTIwNTI1LCAwLCA3NjE3LCAxOTQ4NDEsIDEyODg4LCAxMjc5ODMsIDY3NjY4LCAxMzE0MywgMCwgOTE5MywgMTEwOTcsIAorICAgIDU3MDMsIDAsIDQxNTE3LCA0MTUwNCwgNDE1MTksIDEwMDE2LCA2NDMwNSwgMCwgNjU4NjQsIDYyMywgNzgxLCA2NzAsIAorICAgIDEwNjYwLCA1NzY5LCA2MTMsIDc1NDMsIDEyMDI3OSwgNDc3LCA0MTA4MywgOTI1MjEsIDAsIDU5MiwgMTU3OCwgMTI0NTksIAorICAgIDQzNDQ5LCAwLCAwLCA4MjI1LCAwLCA2NTQsIDExMzQ1LCA2NTMsIDY1MiwgMCwgNjQ3LCAwLCA2MzMsIDEyMDc0NCwgMCwgCisgICAgMTI2NDcyLCAxMjQ4MCwgNDMyNDMsIDAsIDM5LCAxMjQ4NywgMCwgMTIwNTI5LCA3NDE5OSwgMTI0ODIsIDAsIDEyNDg5LCAwLCAKKyAgICAzMTk1LCA1NTUwLCA5ODM1NTQsIDc4OTcsIDAsIDEyMDMsIDc0Mzk2LCAxODEzLCA2NDU0NCwgNDEzMTEsIDEyMDkwLCAwLCAKKyAgICAyODc3LCAwLCAwLCAxNjc1LCA2OTg0MCwgMCwgMCwgMCwgMTAwNzAsIDEwNTk1LCAwLCAxMTkwNzcsIDE5NDc3NywgCisgICAgOTgzNjExLCAwLCAwLCAwLCA0MzI0NCwgMCwgMCwgOTgzOTA3LCAxMTk1NjEsIDk4MzA3OCwgMCwgMTk0OTIxLCAxMjgxNjAsIAorICAgIDk5MzksIDAsIDk4MzE1MSwgNzc4NjAsIDAsIDAsIDI3MCwgMCwgMTA3MTQsIDAsIDAsIDAsIDAsIDAsIDY1MzcyLCAwLCAKKyAgICA3NDAzOCwgMTE5NTU4LCA2MjczLCA2NjY3OSwgMzY0LCA5NTk1LCAxOTQ5MDgsIDAsIDAsIDcwNywgMCwgMCwgOTI4MiwgCisgICAgNjY0ODksIDIyNCwgMCwgNjg2NzAsIDkzMzIsIDQ5NjYsIDY4Njc3LCAwLCA2ODY0NCwgMCwgMzg0MSwgNjg2MzQsIDAsIAorICAgIDEwNzMyLCA2ODY0MCwgODUwLCA0OTcyLCAwLCAxMjg5MCwgMjkwOSwgNjg2MTksIDQ0MDA4LCA2ODYyNywgOTgzNzA5LCAKKyAgICAxMTU0NCwgMTAyMDMsIDk2MDgsIDAsIDAsIDExOTYyLCAxOTQ2OTQsIDEyNTA3LCAxMTk2LCAxMjg2ODcsIDEyODMxMSwgCisgICAgNzc3LCAxMjAxODcsIDQzNzUsIDY1MjcxLCA2NzY3OCwgMCwgMTIxOTgsIDAsIDY0ODI0LCAxMTkzNDMsIDk4MzIzMCwgCisgICAgOTQ1NCwgNjM3NzgsIDg2NTgsIDQyNTI4LCA3ODAwMCwgMjcwNSwgOTE3OTc1LCA0MTUyMCwgMCwgMCwgMTE5ODYsIDc3NjUsIAorICAgIDQyNTAyLCA4MjgwLCA3NDUyMCwgMjcwMSwgMCwgMTI3MDAyLCA1NzY3LCAwLCAwLCA5ODA5LCA4MzUzLCA2Mzc0NywgCisgICAgNjY3MDEsIDYzNzcyLCA5ODM4MDUsIDYzNzQ1LCAxNzQ4LCA2Mzc3MCwgMCwgMCwgMCwgNjU1NDIsIDYzNzY2LCA1NTI0NCwgCisgICAgMzA2MSwgMCwgNjM3NjQsIDYzNzg3LCA5MDY3LCA2MDk2LCAwLCA3Njk0LCAwLCA3MjU3LCA2Mzc2OCwgMzQ4NSwgMTI5ODcsIAorICAgIDAsIDEyNzUyMiwgMTIwNjI4LCA2MzgwNywgMTU5MSwgMCwgNjM4NiwgNjM3ODMsIDAsIDAsIDkyNTM1LCAwLCAwLCAwLCAKKyAgICA3NDU3NSwgMCwgNjU3MTksIDEzMDgzLCA2NDU3NCwgNjUwMTIsIDAsIDE2NDAsIDEyNDk1LCA2NjY5MSwgNzYyNCwgMzEzOCwgCisgICAgMTA5OTYsIDkyMjQ3LCAxOTIyLCAwLCAxMjQ5OCwgMTA5ODcsIDY5OTM2LCA2OTkzOSwgMzg5NCwgNjU1NDMsIDAsIAorICAgIDE5NDg0MiwgOTgzNTg4LCA0OTMsIDAsIDQzMTk3LCAxNzE3LCA0MjI4LCA0NzksIDEwMzAzLCA3NDAyMCwgMCwgOTE3OTM1LCAKKyAgICAxMDMzNSwgMzUyMCwgOTE3OTMyLCAxMjQ5MCwgNjQzMTUsIDAsIDEyNzAzOSwgMTI0OTMsIDYyMzMsIDQyNjgxLCAxMDAyLCAKKyAgICAxMjQ5MSwgMCwgNjQ5MTEsIDkyNjE1LCAyMDk2LCA2NTEyMCwgMCwgNzgyMTksIDk4MzA4MSwgMTE2MTEsIDExNjMyLCAKKyAgICAxMjcwNDEsIDY2MjEzLCA2Mzg2NCwgNjYyMjEsIDY2MjI2LCA2NjIyOSwgMTMyMTgsIDY2MjMxLCA2NjIxNiwgODUwNywgCisgICAgNjYyMzYsIDY2MjExLCA2NjIxOCwgOTI2NzIsIDY2MjQwLCA3ODA0MSwgNjYyMzMsIDg5MjgsIDk4MzU1MiwgNzkwOSwgCisgICAgNjYyMzQsIDExNjA1LCA2Mzc1OSwgOTgzNjQ1LCA2NjIwOCwgNzM5OTksIDYzNzk5LCA2MzgwMywgMjQ0LCAxMTU0MiwgCisgICAgMTI4OTgsIDEyNDk0LCA3Mzc2MSwgMTI0OTIsIDEyNjY5LCAwLCAwLCA3NDE1MywgMCwgMTI4Mjc4LCAxMjA2ODAsIDQ4ODIsIAorICAgIDEzMDQwLCAwLCA4NjEyLCA0ODg1LCA3NDA1MywgMCwgMTMwNDIsIDQ4ODAsIDY0NjYyLCAyNDI5LCAxMzYwLCAyNDgsIDAsIAorICAgIDYzNzk3LCA5MjM5NCwgNDIzNTgsIDAsIDcyOTIsIDAsIDYzNzU2LCA0Mjc4NiwgNjY2OTMsIDAsIDE4NzAsIDc4MDQwLCAKKyAgICA0NzAsIDc4MDM4LCA3ODAzNSwgNzgwMzYsIDcwMDI4LCA3ODAzNCwgNDU3OSwgMTI4MDkwLCAwLCAxMjUxMSwgNzQ0NTMsIAorICAgIDEyNTE0LCAwLCA3NDU3OSwgNzIzOSwgNzAwMSwgODYyMywgOTQwMTEsIDEyODA1MiwgMTI4MDQ4LCA3Mzc4LCAxMjUxMiwgCisgICAgMTE2MTUsIDYxMDQsIDAsIDAsIDY1OSwgNjA5OCwgMCwgMTIyMzQsIDEyNzMwNywgMTI3MDY3LCA4MzExLCAxMjUxMCwgCisgICAgNDE4MDMsIDEzMDM5LCAxMjcwNzIsIDEyNTEzLCAxMDIwMiwgMTI0NzEsIDAsIDg3NDcsIDk4MzkxMSwgMCwgMCwgMjMyMywgCisgICAgMCwgMjMxOSwgNzc5MTcsIDEyNDc3LCA3NzkxNiwgMjMxMSwgMCwgNDQxNSwgMjM3LCA2MjgxLCAxMjcyODAsIDAsIDAsIAorICAgIDIzMDksIDEzMTIsIDgxNzMsIDEyODg3MSwgMTI0NjksIDAsIDc4NTA1LCA2NDMzNSwgMTA2MDksIDAsIDEyODExMSwgOTM5NywgCisgICAgMTE1MjQsIDkzOTUsIDkzOTYsIDkzOTMsIDkzOTQsIDkzOTEsIDkzOTIsIDkzODksIDYyMDksIDkzODcsIDkzODgsIDQ5MzIsIAorICAgIDkzODYsIDkzODMsIDkzODQsIDY3NDAsIDAsIDY1NDUxLCA4MTg1LCAwLCA5MTc4MzIsIDQzMDI0LCA0MzMzNiwgNjc2NTksIAorICAgIDIzMTMsIDEyODE2NywgNzk0OCwgOTIzNiwgOTI1NzEsIDAsIDAsIDEwNTcwLCA0MzQ3MywgNjI4OSwgMTA0ODQsIDAsIDAsIAorICAgIDExOTk4LCAxMjA4MiwgMTA5MjQsIDMxNDcsIDAsIDEyMDY4NCwgMTI1MjQsIDExOTA4MSwgMjMxMCwgMTE4MTgsIDkzODEsIAorICAgIDkzODIsIDkzNzksIDkzODAsIDkzNzcsIDkzNzgsIDkzNzUsIDkzNzYsIDE2ODMsIDkzNzQsIDk4Mzc2OSwgOTM3MiwgCisgICAgMTI0NDQsIDAsIDAsIDEzMDE2LCA4MjEwLCA5ODM5NDksIDQyMDI5LCAxMTA3OSwgMTIzMzEsIDQzNDUxLCA0MjAzMiwgCisgICAgODc0NCwgNzI2LCAwLCA5ODM4MjgsIDQxNTUsIDAsIDAsIDQyMDMwLCA1MDA3LCAxMjUyMiwgNDMwODgsIDAsIDQ5NTEsIAorICAgIDEyNzgwNSwgMTI3MjQwLCAwLCA5OTIyLCA0MzMwOSwgOTgzODMyLCAxMjUyNSwgOTgzNDYzLCAxMjAxNiwgNjU3NzAsIAorICAgIDk1NDgsIDY3NjY1LCA0MDMsIDc4MjMwLCAxMjUwMywgMCwgMCwgMTEwMzAsIDAsIDkyNTY3LCA2NTY5MSwgNjM5OTgsIAorICAgIDE4MTksIDEwNDk2LCAwLCAwLCAxMTk5MjAsIDAsIDE5NDY2OCwgMCwgMTI1MDYsIDAsIDEyMjMxLCAwLCAxMjUwMCwgCisgICAgNDQwMjMsIDEyNTA5LCA2NDM5MywgNzg4MzAsIDMzODksIDEwNTg5LCA2NjA4LCA0MTA0NywgMTIwMzIxLCA3ODM5NSwgCisgICAgNzgzOTQsIDc0MDY5LCA3Nzk5NSwgNzgzOTEsIDM2MDgsIDgyODEsIDEyMDMyMCwgMTEwNywgMCwgOTA3NiwgODg2MiwgCisgICAgNjk3NDMsIDQxMDUyLCAxMzA4NCwgNjQ3NjYsIDQzMjE3LCA3ODAzLCAxMzIyMiwgNzQxNjUsIDc0NzgyLCAxMjY1MTQsIAorICAgIDg1NDYsIDExNTUzLCA2Mzk5NSwgMTMxNzcsIDkwNDMsIDYzMDMsIDk4MzkzOCwgNDk4LCA2NDQ3MSwgMTIwMzI0LCAKICAgICAxMjg1NjcsIDEyNTI5LCA4MDQyLCAwLCAyMzQ0LCAxMjUyOCwgODAzMSwgMjQxNCwgMCwgNjk3MTksIDMyMzEsIDAsIDY0MjIsIAogICAgIDY2NTEyLCA2OTY1MywgMTI1MzAsIDI1MzcsIDc4NDA1LCA0MTQyOSwgMTI2NTgsIDEzMDM2LCA2NTc3MiwgMCwgNzg3MzgsIAogICAgIDQxNDMzLCA0NzE5LCA0NjksIDAsIDQzNjMsIDMzMTMsIDQxNDI4LCA3ODQwNywgMjAyMywgMTc3MiwgNzgyMjQsIDc4MjI1LCAKICAgICA2NTcwNiwgMTAwNTEsIDY0ODEyLCA3ODIyMCwgMCwgOTkyMCwgMTIyMTUsIDAsIDQ5MzEsIDE5NTEsIDEyNDk3LCAxMTkzNjMsIAogICAgIDk2MDcsIDAsIDk2NjMsIDAsIDExOTYzNCwgNjUwMywgNDExMTAsIDAsIDE0OTEsIDAsIDAsIDEyNzMwNCwgNDEwNjEsIDAsIAotICAgIDAsIDEyNzE4NywgNjUwMjYsIDQxOTkzLCA0MTUwOSwgMTEwNDUsIDY1MDI4LCA3ODYwMiwgNjY0NzYsIDQxMTA4LCA5NzM4LCAKLSAgICA0MTk5NSwgMTA3NSwgMTk1OCwgMTI1MzUsIDQxOTkyLCA0MTUwNiwgMCwgNDE2ODcsIDAsIDEyMDcxNywgMTI3Nzc2LCAKLSAgICA5OTQwLCAxMjcyOTksIDc2OTIsIDAsIDgwMDgsIDQxMTMxLCAzMzAsIDg1NjYsIDY1MDgzLCA0MTEzMywgOTgxNiwgCi0gICAgMTI4MDc0LCAxMjUzMiwgNzg1NTAsIDc4NTQ2LCAzNTA4LCAxMjcwNTgsIDQzMjM1LCAwLCAxMjcyOTgsIDY0MTM5LCAKKyAgICAxOTQ4MzgsIDEyNzE4NywgNjUwMjYsIDQxOTkzLCA0MTUwOSwgMTEwNDUsIDY1MDI4LCA3ODYwMiwgNjY0NzYsIDQxMTA4LCAKKyAgICA5NzM4LCA0MTk5NSwgMTA3NSwgMTk1OCwgMTI1MzUsIDQxOTkyLCA0MTUwNiwgMCwgNDE2ODcsIDAsIDEyMDcxNywgCisgICAgMTI3Nzc2LCA5OTQwLCAxMjcyOTksIDc2OTIsIDk4MzgyNCwgODAwOCwgNDExMzEsIDMzMCwgODU2NiwgNjUwODMsIDQxMTMzLCAKKyAgICA5ODE2LCAxMjY1MTcsIDEyNTMyLCA3ODU1MCwgNzg1NDYsIDM1MDgsIDEyNzA1OCwgNDMyMzUsIDAsIDEyNzI5OCwgNjQxMzksIAogICAgIDc4MjMxLCA2NDExLCAxMjkxMCwgNzg1NTQsIDY2NjQ0LCAxMzAyOCwgNjczNywgMTI1MzcsIDAsIDAsIDY0MTM2LCAxMjUzNiwgCi0gICAgMjM1MCwgMTMwMjksIDc4MjMzLCAwLCAwLCAxMzAzMCwgNjcwMiwgNDUyNywgMCwgMTI1MzgsIDEyODgxMCwgMCwgNjU1OTksIAotICAgIDY1NzE3LCA5OTY2LCAwLCA0OTQ4LCAxMjQ4NCwgNDAzMiwgMTI4MTQ5LCAxMjYyMywgMCwgNjIwNywgMCwgNjExNywgCi0gICAgNjU5MzAsIDg0MTIsIDAsIDc0MzgsIDEyOTYsIDIzMjUsIDQxNTExLCAwLCAxMDE0OSwgNzQxMTgsIDAsIDEyNzI4NiwgCi0gICAgMTI0ODEsIDAsIDEyNDg4LCAwLCAwLCA0MTU1NiwgNjQ0MTQsIDExODgwMiwgMjM1NCwgMTI4NTcxLCA3Mzc2NiwgMCwgCi0gICAgNjI5NSwgOTAxLCA0MTUxMCwgNzk1MywgMCwgNjUwMzIsIDQxNTEzLCAwLCAxMTkyNywgNjY1ODQsIDc4NTU5LCA3ODU2MCwgCi0gICAgNzg1NTcsIDc4NTU4LCAwLCA3ODU1NiwgODQ4LCA5ODY4LCAwLCA2NDI0LCA3ODU2OCwgMTE5MzM4LCA3ODU2NSwgNzQwMzEsIAotICAgIDc4NTYzLCA3ODU2NCwgMjM1MiwgNzg1NzIsIDg5MywgNjQ1NzYsIDExMjg5LCAxNDA3LCAwLCAwLCAxMzAyNiwgNjc2MiwgCi0gICAgNzg1NzksIDc4NTgwLCAxMzAyMywgODkwMywgOTc3NywgNjY3MTUsIDE4NzEsIDgwOTksIDAsIDAsIDEzNDMsIDAsIDAsIAotICAgIDkzMjUsIDY4MTgsIDYyODMsIDExNzM4LCAwLCAwLCAwLCAxMTc0MSwgMCwgMCwgOTIxNiwgODI2MywgMTEyNzksIDE5NDc1MiwgCi0gICAgMCwgMTk0NzU0LCAxMzAyMSwgNjQ0OTQsIDMxMzYsIDE5NDc1OCwgMTk0NzU3LCAxOTQ3NjAsIDEzMDIyLCA0MjczNywgCi0gICAgOTk1NiwgMCwgMCwgNzQ1NTIsIDEwMDE0LCAwLCA0MTI2MCwgMTE5MzQwLCAxMzAyMCwgMTAwMjQsIDE5NDc2NCwgMTk0NzY3LCAKLSAgICA3NDM0MCwgNjk2ODEsIDAsIDY0OTQ1LCA4MDI5LCAwLCAwLCAwLCAzMzM1LCAwLCAwLCA5Nzc2LCAxMjA1MjYsIDE5NDc0OCwgCi0gICAgNTIxNSwgNDI2NDQsIDMzMzMsIDE2MzIsIDE5NDc1MSwgNjQ4NDksIDMzNDIsIDc4NTgyLCA1MzYzLCAxMjk1NywgNzg1ODEsIAotICAgIDQxNTYsIDAsIDAsIDY0MjEsIDc4NTkxLCAxNjExLCA3ODU4OSwgMTMwMTgsIDc0MjU3LCA3ODU4OCwgNzQ1NDIsIDMzMzcsIAotICAgIDQ1MzcsIDY3ODk1LCAxMTczNiwgMCwgNjg2MDgsIDY0ODIsIDQyMTQsIDczNzkwLCAxMTk0NSwgMCwgMTMwNDYsIDg4MzgsIAotICAgIDQyNSwgNDAyNSwgMTA3MDksIDc4NTk1LCAyMTA4LCAyMzkyLCAxMzA0NywgMCwgMCwgNjgxOSwgMTMwNDksIDY0OTksIAotICAgIDkyMjQzLCAxMjQyNCwgNjg2MTQsIDczOTQ0LCAxMzA1MCwgOTkyNCwgMTk0NzQ1LCA2NTA3LCAxMjc5MTksIDAsIDEyODA2OSwgCi0gICAgMzI3NywgODkyOSwgNDk0NywgNDEwNTUsIDAsIDE5NDcyMiwgMTk0NzIxLCAxOTQ3MjQsIDEzMDQ1LCA2NDYyNiwgNjYwMzQsIAotICAgIDc3NTEsIDE5NDcyNywgODM3MSwgMTk0NzI5LCAzOTk3LCAxMjgwNiwgODc2OCwgMTMwNDQsIDAsIDEyNDIwLCA0MDI0LCAKLSAgICAxOTQ3MzAsIDQxMDU0LCAxMDc4LCA5NzU3LCA2OTczNiwgNDEwNTcsIDAsIDAsIDAsIDAsIDAsIDkyMjEwLCA5MjQxMSwgMCwgCi0gICAgNDE0OTYsIDAsIDkxNjUsIDE1NzIsIDExOTExLCAwLCAxMTg4NDIsIDIzNDYsIDEzMjcwLCA4OTU4LCAwLCA5NjQ2LCAzNzczLCAKLSAgICA0MzE4MywgNjQwMSwgNTgzMSwgMCwgMCwgMTMwNDMsIDgwNTYsIDkyNDk0LCA2NTY4MSwgMjA4LCAxMjczODIsIDQxNTE0LCAKLSAgICAwLCAwLCAwLCAxMDY5OSwgNjQwOCwgOTIyMjcsIDc4MjUsIDU2NjEsIDAsIDEyMDYzMCwgMzYwMywgNDExMDksIDIzOTgsIAotICAgIDM1NDgsIDAsIDAsIDExOTkzMywgMCwgMzExNSwgOTkxOCwgMCwgMTEzMjEsIDQyOTEyLCAwLCAwLCAxOTQ3MjYsIDQ4NzYsIAotICAgIDY1ODA0LCAwLCAwLCA0MzQ2OCwgMCwgNDE1NTgsIDQxNDcxLCA3Mzk1MCwgODE1OCwgOTk0NCwgNDE0NzIsIDEyMDI5OCwgCi0gICAgMTMwNTEsIDc4Njg5LCAzMTQzLCAxOTQ2NzQsIDY3MDEsIDQxNTU5LCAxODk2LCA2NjI1NiwgMTMwNTIsIDE5NDY4MCwgCi0gICAgNTY2NSwgMCwgMTE5MDcxLCA3MDI1LCA2Mzk3NCwgMCwgNzQzNTIsIDc0MTYxLCA0MTU0LCA5ODYzLCA0MzU1MCwgMTIzMTAsIAotICAgIDU2NjIsIDQyMzgyLCAxOTQ2ODYsIDczOTI0LCAxMTIxLCAxOTQ2NjUsIDYzOTU5LCAwLCA5OTQyLCAxMzIzMSwgMCwgCi0gICAgNjQ3NTIsIDQ3MzIsIDE5NDY2NiwgMTE1OTYsIDExOTkzMSwgNjUxODcsIDE2MjYsIDYzOTgzLCAxMDExMCwgNjQ3NzIsIAotICAgIDQyMDI0LCA2NDIwLCA0MjAyOCwgMCwgMTA1MDksIDI3OTUsIDQ5MTAsIDE5NDcyOCwgNjkyMzEsIDY0NzUzLCA2Mjc1LCAKLSAgICA5MTc4MDgsIDExODgzMCwgNjM5NzgsIDExMDQ0LCAzMjI5LCA2NDIzLCA0Mjc3NCwgMCwgMCwgMCwgMTI4MjMsIDIzMzEsIAotICAgIDkxNzgxMCwgNDIwMjYsIDYxMzcsIDAsIDc1MjQsIDAsIDkxNzgwOSwgODM0NiwgMCwgODMzOCwgMTI4MzE1LCA2NTA0MywgMCwgCi0gICAgODIyLCAxMjc5ODQsIDk5MDMsIDY0NzIxLCA0MjcyMiwgMTk0NjU2LCAxOTQ2NTksIDc4NjU1LCA3ODY2MSwgMTk0NjYwLCAKLSAgICA3ODY2MiwgNDEyNjUsIDUzMTEsIDE3OTUsIDk2NSwgMTE4NzkxLCAxMDU4NywgNzgwNTUsIDExMjc4LCA3ODYzMiwgCi0gICAgMTk0NjQwLCAwLCAxMjk0NiwgMTk0NjQxLCAxMTkzNDEsIDEyMDM0OSwgNjI5NCwgMzE0NCwgMTk0NjQ4LCAxOTQ2NDcsIAotICAgIDY1MDE5LCAxOTQ2NDksIDczOTkwLCAwLCAwLCA3NDgsIDQxMDY3LCAyMzMwLCA1MzUsIDMxNDgsIDEyMzc1LCAxOTQ2NTIsIAotICAgIDE5NDYyOSwgMTA1NTYsIDI0NzUsIDEyMzg4LCA0ODg5LCA4OTY4LCA2Nzg2MywgMzU5MywgMCwgMCwgMjM0MiwgMCwgCi0gICAgMTk0NjM0LCA2NTIwNiwgNDg5NCwgMTk0NjM1LCA0ODkwLCAxOTQ2MzcsIDkxNzgwNCwgNTgxLCA0ODkzLCAwLCA2NTcxLCAKLSAgICA2NTU0NSwgNDg4OCwgNDE1NywgNzgwNDgsIDc4MDQ5LCA3ODA0NiwgNzgwNDcsIDAsIDEwMTE5LCA2NDE1LCA0Mjg5MywgMCwgCi0gICAgNjk3MDIsIDAsIDAsIDExMzc1LCA2NDc0NiwgMjMzMiwgNzgwNjMsIDQxMiwgNzgwNjEsIDY0OTMyLCA0Mjg4MCwgNDM1ODcsIAotICAgIDAsIDAsIDAsIDAsIDY1MTk3LCA3ODA2NiwgMTIyMDMsIDc4MDY0LCA3ODA2NSwgODkxMywgNjU4NTQsIDQ4NzUsIDY1ODExLCAKLSAgICAxMjAzODEsIDEyMDM4OSwgMTE4ODg4LCA5MzQ0LCA4ODI2LCAxMjAzODYsIDEyMDM5NSwgMTMxMDQsIDc0NzgxLCAxMTk5NywgCi0gICAgMTIwMzkzLCA3ODA3NSwgMCwgMzEzNCwgMCwgNjU2OTYsIDkyMzMxLCAwLCA2NjIxNywgMCwgODMzNCwgMTE5MzQ0LCAwLCAKLSAgICAzNDQ5LCAwLCAwLCA3ODQxNCwgNzg0MTMsIDExODk1MCwgNzQwMTEsIDAsIDAsIDAsIDAsIDE5MDgsIDEyMDE2NywgNDMyOCwgCi0gICAgMTA3MzQsIDEyNzAxNCwgMCwgMTI3OTE0LCA3ODA0LCA3ODI3MiwgMTA4MTEsIDYyNTAsIDExMzM5LCA0OTE0LCAxMTM2NywgCi0gICAgMCwgNzgwNTQsIDQ5MTcsIDc0NTE2LCA3NDIwOCwgNjQyODUsIDQ5MTIsIDU0NjQsIDEyNzgzNiwgMTE4ODkzLCAyMzYxLCAKLSAgICA3OTcxLCA3ODA3MiwgNzgwNzMsIDU1MjQzLCA3ODA3MSwgMCwgODA4NiwgNzQzMTcsIDY3MDcsIDgzMTksIDIzMTIsIAotICAgIDQwOTc3LCAxMDk2MCwgNDA5NjIsIDgzMDUsIDEyNTczLCAwLCA0MDk4MCwgMCwgMTMyMDIsIDAsIDEyNTgyLCA3ODI4MiwgMCwgCi0gICAgMCwgNDI0MzgsIDU1MjIxLCA2Mjg4LCA3ODI4MCwgMTI3OTQ2LCA1NjUzLCA0MjQwMCwgMTA4OTEsIDc2OTgsIDU2NTgsIAotICAgIDc0MDQ1LCAxMjAxNjUsIDAsIDAsIDQ5MTMsIDAsIDAsIDAsIDQyMzI2LCAxMjgxOTQsIDEyNzI4LCA5MjY4NSwgNDI0NzgsIAotICAgIDIzMjcsIDAsIDEyNTYzLCA0MjI4NywgMTI3MDUsIDAsIDAsIDEyNTg4LCA4ODIxLCA2MTUzLCAyODY3LCAxOTQ3MDgsIAotICAgIDY2MzEyLCA2OTgsIDEyODAwNywgMTk0NjA2LCAxMDM1NiwgNzQwNzUsIDE5NDcxMywgNjUxLCAxMjY0MSwgMCwgMCwgMCwgMCwgCi0gICAgNDE1NTIsIDY1MTE1LCA3ODQ2NSwgNzg0NjcsIDc4NDYzLCA3ODQ2NCwgMTI4ODUxLCA3ODQ2MSwgMTk0Njk3LCA3NDM1NiwgCi0gICAgOTI2MjYsIDQ3MTYsIDQzMjc3LCAwLCA3ODQ3NCwgMTIzNDAsIDEyMDU2OCwgMCwgMTk0NzAwLCA1NTI2NCwgNDEyMTEsIAotICAgIDEyMDY3NiwgODcwMywgNTQ2MiwgOTE3NjI5LCAwLCAxMDEwMSwgMCwgMCwgODQ3OSwgNDE1MSwgNDE5MzMsIDAsIDAsIAotICAgIDY2MjU0LCAxMjA4MjEsIDAsIDAsIDEyODY1NCwgMCwgMTE5MTk0LCA3NDA1MCwgOTI3MDEsIDAsIDAsIDAsIDAsIDAsIAotICAgIDEyMjc4LCAwLCAwLCAwLCAyNzAwLCAxMjU3NiwgNzg0MiwgMTI4OTksIDAsIDAsIDI2OTksIDAsIDczODQ1LCAyOTg1LCAKLSAgICA5MjU2OCwgMCwgOTE3ODQ1LCAxMjE5MiwgMTE5MzE0LCAwLCAxMTkzMTIsIDk4MjcsIDExOTMxMCwgMTE5MzExLCAxMTkzMDgsIAotICAgIDExOTMwOSwgMTE5MzA2LCAxMTQ4MSwgNDEyMTAsIDExOTMwNSwgMCwgMzUsIDc4NDgxLCA3ODQ4MiwgNjY2OTQsIDY4NDc5LCAKLSAgICA3ODQ3NywgNzg0NzgsIDQzNTk2LCA2MDkwLCA2NDI1NywgNzgxMiwgMTA1MzQsIDAsIDc4NDg1LCA3Mzg0OCwgNzg0ODMsIAotICAgIDQyNzIsIDAsIDQwOTY3LCA0MDk2NCwgOTE3ODI1LCAxMjcwNCwgNzg0ODcsIDQzMzA2LCAwLCA2NDQ5NywgMTIxMzgsIAotICAgIDc5MzAsIDAsIDQzMzAzLCA2ODIxNiwgMCwgOTE3ODI2LCA1MjQ0LCA0MTg5LCAxMjcwOTgsIDY3NTk2LCAxMjc1MDQsIAotICAgIDQxODgsIDE4NzksIDAsIDk2OCwgMCwgNDM3NDMsIDAsIDg4NzMsIDAsIDAsIDkxNzgyNywgNjU1NTUsIDEyNTc0LCAwLCAwLCAKLSAgICAwLCA3NDQ5MCwgMTI3MDk5LCA0MzY1NywgMCwgMCwgMCwgNDI2ODIsIDEyNTc4LCAxMjcyMCwgMCwgNDEyMjcsIDAsIAotICAgIDEyMzQ2LCAxMjcxMDEsIDY0ODQ4LCAwLCAwLCA3MjUxLCAwLCAwLCAxMTg4NTAsIDExOTE0MSwgMTI4NTQ2LCA2NjAxNSwgMCwgCi0gICAgOTU5LCA4ODg1LCAxMjU2NCwgNjY0NTcsIDc4ODA4LCA5NDY5LCA5NjMyLCA5MjMyMywgNzQ3NjEsIDY0MzIzLCAwLCAwLCAwLCAKLSAgICAwLCAzMTAsIDAsIDQxMjgxLCAxMDk3NiwgMCwgOTIxOTAsIDAsIDc0MjY2LCAxMDA1NCwgNjQ5NywgODU3NCwgMCwgOTAxMiwgCi0gICAgMTk5NTgsIDc0NDIwLCA2NTA4OSwgMTMyMTUsIDEyNzMwLCA2NTE2MywgNzQwNDQsIDM3NCwgNDMxOTUsIDgxNiwgMCwgMCwgCi0gICAgMCwgNDE5MzQsIDc0NjUsIDAsIDEyODE2OCwgMCwgNDcxNSwgNjEwMSwgMCwgNDE5MzYsIDAsIDQ4NzksIDAsIDY1NDQ2LCAwLCAKLSAgICAzMDcsIDEyNzE0NywgOTU4NSwgNTM3NCwgMCwgMTI4MDU5LCAwLCAwLCAwLCAwLCAwLCA2NTU2NywgMTIwNjE0LCAxOTI5LCAKLSAgICAwLCAxMjE0MiwgMCwgMTIyMzYsIDQxNDE5LCAxOTQ2MTgsIDEyMDYxMCwgMTI5ODIsIDE5NDYyMywgNTM3OCwgNzg3OTEsIAotICAgIDEyODY3OSwgNDE0MjEsIDAsIDQ0NjIsIDAsIDAsIDEyODA5MiwgODIxLCAwLCAyNDk4LCA1ODAwLCAxMjAxNTcsIDAsIAotICAgIDE3NjAsIDI0MjEsIDQ0NjksIDIzMjQsIDgyOCwgMzYxMSwgNzg0MDAsIDc1NywgMTE4NSwgMCwgNzg3NzAsIDQzNTk3LCAKLSAgICAxMDYyOCwgNzQ4MDgsIDE5NDU3MiwgNzk5OSwgNDM5NzEsIDAsIDAsIDEwNjM0LCAxMDk0MiwgNzcxMywgMjM0OCwgMCwgCi0gICAgNjQzNzQsIDQzODAsIDE5NDYwOCwgMTE5MDQ0LCA5OTgyLCA2NDMyNCwgNDEyNDAsIDg2MiwgNjU2MjYsIDc4NDYyLCAxODEwLCAKLSAgICAzNjczLCA1MTM3LCAxOTQ2MTcsIDAsIDcyNzcsIDY1NjIyLCAwLCA3NTY2LCA2NDY4OCwgMTk0NTkzLCAxOTQ1OTIsIAotICAgIDc4MDkyLCA3NDM1NywgMTk0NTk3LCA0NzQ4LCA5MjIyOCwgMTk0NTk4LCAxOTQ2MDEsIDQyMjYwLCA1ODcxLCAxMTkwNzUsIAotICAgIDAsIDc0NTc2LCA0NDAxOSwgMCwgMTI4MTg5LCAzOTY3LCAxOTQ2MDQsIDEzMTM3LCA4Nzc1LCAxMjc5NDUsIDAsIDI5NjMsIAotICAgIDAsIDg0MTAsIDQ0NTQsIDcyMywgMTI3ODgyLCA5NjYsIDQ0NDksIDkyMzMwLCA5MjIzOCwgMCwgNzgxOSwgMjMyMCwgCi0gICAgMTk0NTg5LCAzMzksIDQ5NjgsIDE5NDU5MCwgMTIwMzk5LCA4MDc1LCA1NTI3NiwgMCwgODA0NywgMCwgNzg4MjcsIDEyNjM0LCAKLSAgICA0MTU0MiwgNzg3ODAsIDc0NjYsIDY3MDUsIDEyMTc0LCA0MjYxMCwgMCwgNzQ0NTIsIDAsIDE1ODQsIDY2NjQ1LCA2MDQ1LCAKLSAgICA2NzI5LCAxMjA2NDAsIDY1MjE4LCA3ODc3NywgMCwgNzgwNjIsIDc1MzcsIDAsIDExMzcwLCAwLCAxMDMzMCwgMCwgMTAzOTQsIAotICAgIDAsIDc0MTk0LCAwLCAxMjc5MjksIDk3ODAsIDAsIDEzMDkyLCAxOTQ1NzYsIDExOTYwNSwgMTk0NTc4LCA3MDc0LCA5MjY0OCwgCi0gICAgMTk0NTc5LCAxOTQ1ODIsIDExNDE0LCAxMjg4NjgsIDI1MzEsIDEzMDM0LCAwLCAwLCA0MjExLCAxMjU5LCA3NTE3LCAwLCAwLCAKLSAgICAxOTQ1NjEsIDQwOTk2LCAxMzAzNywgNzA5MiwgNjQxLCA1MjE5LCAxOTQ1NjcsIDE5NDU2NiwgMTEwNjQsIDQxMTI5LCAwLCAKLSAgICA0Mjg1MCwgMTMwMzUsIDkwNzUsIDkyMzg3LCA1NDY2LCAxMjgxNTMsIDAsIDY0MDk4LCA2NTc5MywgNDUzNSwgMTk0NTczLCAKLSAgICA0MjcxLCA3ODQxNywgMTI4MzU3LCA2NzY5LCA0MTQxMCwgMCwgNjQyNjIsIDY3NjcsIDQxNDA3LCAwLCAwLCA2NzU1LCAKLSAgICAxMTg4NjQsIDkwNDYsIDEyNzkzNCwgMCwgMCwgMCwgMCwgMCwgNjc2NzUsIDAsIDAsIDAsIDY0MzM4LCAyNTYzLCAxMzAzMywgCi0gICAgMjQ3LCAxMTg5MTUsIDAsIDEyMzM4LCA0NjUxLCAwLCAxMTI3MCwgMCwgMCwgMTE5MzMsIDAsIDAsIDQxOTAzLCA0MzQ0NywgCi0gICAgMTEwMDEsIDAsIDQyMjU1LCAwLCA5MjY2MSwgNjk4MjEsIDQxOTA1LCAwLCAwLCAxMDc3NSwgOTc5MywgNTAwOSwgMCwgCi0gICAgNDIyNjksIDY0NTg3LCAwLCA0MjUzNSwgNjk4MTIsIDY0NTI5LCA0MTQwOCwgNDI4NTMsIDM4NzcsIDEyMDc5NSwgNDI2NzQsIAotICAgIDgxNDcsIDQzNTY2LCAxMTkwMjEsIDAsIDEwMjM2LCA2NTkxOCwgNDM3ODIsIDAsIDAsIDY0NTA2LCA2OTY1MiwgMTE4OTIxLCAKLSAgICA0NzQ3LCAxMjgwNTgsIDAsIDQzMjAwLCA1ODMyLCAwLCAwLCA1MTQxLCA0MjYwMCwgMCwgNDMyMDMsIDAsIDAsIDQzMjg2LCAKLSAgICAwLCAxMjgyMTEsIDQzNzc4LCAwLCA0MTMwNSwgNzg3NzYsIDQzNzgxLCAxMTMwMywgNjU1NDcsIDAsIDcwMzEsIDg1OSwgMCwgCi0gICAgMCwgMCwgNjA1OSwgMTI2OTg1LCA1NTIzNSwgMCwgODUzNSwgMCwgNjUxOTYsIDE5NDc4NywgNjYwMzIsIDExNDg4LCAwLCAKLSAgICAxMjA3ODYsIDQyMjMzLCA2NDE0MCwgOTk0NiwgNjM4ODUsIDAsIDExODIyLCAwLCA0MzE4OSwgMCwgMCwgMTc4OCwgMTU3OSwgCi0gICAgMTIwNDgyLCA5MTc4MTcsIDAsIDAsIDAsIDkwMjgsIDExOTU3MSwgNjkyMzQsIDAsIDAsIDEyODUsIDY0ODgyLCA0MTI0MiwgCi0gICAgMCwgMCwgMTI2NDAsIDAsIDc0MDEsIDAsIDEyNjI1LCA2ODE5OCwgMCwgOTIyNTQsIDM5NDAsIDQxNTk3LCA1NTI2MCwgCi0gICAgMzM5NiwgMTI2NDIsIDg2NjUsIDAsIDAsIDEyNjMwLCAxNjUzLCA5MTc4MTUsIDEwMTUzLCAwLCA2MTY2LCAxMjA1MTYsIAotICAgIDEyMDUyMywgMCwgODgxNSwgNjY2NzMsIDY1MDQ2LCA5Mjg1LCA5MTMsIDQyMjU5LCAxMTkzMTcsIDExOTMxOCwgMjE0MiwgCi0gICAgNjg0NTQsIDQyNDg1LCAxMTg4MzcsIDc4NzgsIDgyMTEsIDQyMjkzLCA2NDM3NywgMCwgOTI2NDMsIDAsIDE5NDY3MywgCisgICAgMjM1MCwgMTMwMjksIDc4MjMzLCAwLCA5ODMxMDMsIDEzMDMwLCA2NzAyLCA0NTI3LCAwLCAxMjUzOCwgMTI4ODEwLCAKKyAgICA5ODM2MzYsIDY1NTk5LCA2NTcxNywgOTk2NiwgMCwgNDk0OCwgMTI0ODQsIDQwMzIsIDEyODE0OSwgMTI2MjMsIDAsIDYyMDcsIAorICAgIDAsIDYxMTcsIDY1OTMwLCA4NDEyLCAwLCA3NDM4LCAxMjk2LCAyMzI1LCA0MTUxMSwgMTI2NjI1LCAxMDE0OSwgNzQxMTgsIAorICAgIDAsIDEyNzI4NiwgMTI0ODEsIDAsIDEyNDg4LCA2NjcxMywgMCwgNDE1NTYsIDY0NDE0LCAxMTg4MDIsIDIzNTQsIDQyNjE5LCAKKyAgICA3Mzc2NiwgMCwgNjI5NSwgOTAxLCA0MTUxMCwgNzk1MywgMCwgNjUwMzIsIDQxNTEzLCA5ODMxNjYsIDExOTI3LCA2NjU4NCwgCisgICAgNzg1NTksIDc4NTYwLCA3ODU1NywgNzg1NTgsIDAsIDc4NTU2LCA4NDgsIDk4NjgsIDAsIDY0MjQsIDc4NTY4LCAxMTkzMzgsIAorICAgIDY5OTIyLCA3NDAzMSwgNzg1NjMsIDc4NTY0LCAyMzUyLCA3ODU3MiwgODkzLCA2NDU3NiwgMTEyODksIDE0MDcsIDY3OTczLCAKKyAgICAwLCAxMzAyNiwgNjc2MiwgNzg1NzksIDc4NTgwLCAxMzAyMywgODkwMywgOTc3NywgNjY3MTUsIDE4NzEsIDgwOTksIDAsIDAsIAorICAgIDEzNDMsIDk4MzgxNCwgMCwgOTMyNSwgNjgxOCwgNjI4MywgMTE3MzgsIDAsIDk4MzkyNSwgMCwgMTE3NDEsIDAsIDAsIAorICAgIDkyMTYsIDgyNjMsIDExMjc5LCAxOTQ3NTIsIDk4MzgxNiwgMTk0NzU0LCAxMzAyMSwgNjQ0OTQsIDMxMzYsIDE5NDc1OCwgCisgICAgMTk0NzU3LCAxOTQ3NjAsIDEzMDIyLCA0MjczNywgOTk1NiwgMCwgMCwgNzQ1NTIsIDEwMDE0LCAwLCA0MTI2MCwgMTE5MzQwLCAKKyAgICAxMzAyMCwgMTAwMjQsIDE5NDc2NCwgNzQ1ODMsIDc0MzQwLCA2OTY4MSwgMCwgNDMwMDEsIDgwMjksIDAsIDAsIDk4Mzc3MSwgCisgICAgMzMzNSwgMCwgMCwgOTc3NiwgMTIwNTI2LCAxOTQ3NDgsIDUyMTUsIDQyNjQ0LCAzMzMzLCAxNjMyLCAxOTQ3NTEsIDY0ODQ5LCAKKyAgICAzMzQyLCA3ODU4MiwgNTM2MywgMTI5NTcsIDc4NTgxLCA0MTU2LCAwLCAwLCA2NDIxLCA3ODU5MSwgMTYxMSwgNzg1ODksIAorICAgIDEzMDE4LCA3NDI1NywgNzg1ODgsIDc0NTQyLCAzMzM3LCA0NTM3LCA2Nzg5NSwgMTE3MzYsIDAsIDY4NjA4LCA2NDgyLCAKKyAgICA0MjE0LCA3Mzc5MCwgMTE5NDUsIDAsIDEzMDQ2LCA4ODM4LCA0MjUsIDQwMjUsIDEwNzA5LCA3ODU5NSwgMjEwOCwgMjM5MiwgCisgICAgMTMwNDcsIDAsIDAsIDY4MTksIDEzMDQ5LCA2NDk5LCA5MjI0MywgMTI0MjQsIDY4NjE0LCA3Mzk0NCwgMTMwNTAsIDk5MjQsIAorICAgIDE5NDc0NSwgNjUwNywgMTI3OTE5LCA5NDA3MywgMTI4MDY5LCAzMjc3LCA4OTI5LCA0OTQ3LCA0MTA1NSwgMCwgMTk0NzIyLCAKKyAgICAxOTQ3MjEsIDE5NDcyNCwgMTMwNDUsIDY0NjI2LCA2NjAzNCwgNzc1MSwgMTk0NzI3LCA4MzcxLCAxOTQ3MjksIDM5OTcsIAorICAgIDEyODA2LCA4NzY4LCAxMzA0NCwgMCwgMTI0MjAsIDQwMjQsIDE5NDczMCwgNDEwNTQsIDEwNzgsIDk3NTcsIDY5NzM2LCAKKyAgICA0MTA1NywgMCwgMCwgMCwgMCwgOTgzNzgyLCA5MjIxMCwgOTI0MTEsIDAsIDQxNDk2LCAwLCA5MTY1LCAxNTcyLCAxMTkxMSwgCisgICAgMCwgMTE4ODQyLCAyMzQ2LCAxMzI3MCwgODk1OCwgMCwgOTY0NiwgMzc3MywgNDMxODMsIDY0MDEsIDU4MzEsIDAsIDAsIAorICAgIDEzMDQzLCA4MDU2LCA5MjQ5NCwgNjU2ODEsIDIwOCwgMTI3MzgyLCA0MTUxNCwgMCwgMCwgMCwgMTA2OTksIDY0MDgsIAorICAgIDkyMjI3LCA3ODI1LCA1NjYxLCAwLCAxMjA2MzAsIDM2MDMsIDQxMTA5LCAyMzk4LCAzNTQ4LCAxMjY1OTYsIDAsIDExOTkzMywgCisgICAgMCwgMzExNSwgOTkxOCwgMCwgMTEzMjEsIDQyOTEyLCAwLCAwLCAxOTQ3MjYsIDQ4NzYsIDY1ODA0LCAwLCAwLCA0MzQ2OCwgCisgICAgOTgzMjY2LCA0MTU1OCwgNDE0NzEsIDczOTUwLCA4MTU4LCA5OTQ0LCA0MTQ3MiwgMTIwMjk4LCAxMzA1MSwgNzg2ODksIAorICAgIDMxNDMsIDE5NDY3NCwgNjcwMSwgNDE1NTksIDE4OTYsIDY2MjU2LCAxMzA1MiwgMTk0NjgwLCA1NjY1LCAwLCAxMTkwNzEsIAorICAgIDcwMjUsIDYzOTc0LCAwLCA3NDM1MiwgNzQxNjEsIDQxNTQsIDk4NjMsIDQzNTUwLCAxMjMxMCwgNTY2MiwgNDIzODIsIAorICAgIDE5NDY4NiwgNzM5MjQsIDExMjEsIDc4MzE5LCA2Mzk1OSwgMCwgOTk0MiwgMTMyMzEsIDAsIDY0NzUyLCA0NzMyLCAKKyAgICAxOTQ2NjYsIDExNTk2LCAxMTk5MzEsIDY1MTg3LCAxNjI2LCA2Mzk4MywgMTAxMTAsIDY0NzcyLCA0MjAyNCwgNjQyMCwgCisgICAgNDIwMjgsIDAsIDEwNTA5LCAyNzk1LCA0OTEwLCAxOTQ3MjgsIDY5MjMxLCA2NDc1MywgNjI3NSwgOTM5NTcsIDExODgzMCwgCisgICAgNjM5NzgsIDExMDQ0LCAzMjI5LCA2NDIzLCA0Mjc3NCwgMCwgMCwgMCwgMTI4MjMsIDIzMzEsIDkxNzgxMCwgNzA4NSwgCisgICAgNjEzNywgMCwgNzUyNCwgMCwgOTE3ODA5LCA4MzQ2LCAwLCA4MzM4LCAxMjgzMTUsIDY1MDQzLCAwLCA4MjIsIDEyNzk4NCwgCisgICAgOTkwMywgNjQ3MjEsIDQyNzIyLCA2OTg3NywgMTk0NjU5LCA3ODY1NSwgNzg2NjEsIDE5NDY2MCwgNzg2NjIsIDQxMjY1LCAKKyAgICA1MzExLCAxNzk1LCA5NjUsIDExODc5MSwgMTA1ODcsIDc4MDU1LCAxMTI3OCwgNzg2MzIsIDE5NDY0MCwgMCwgMTI5NDYsIAorICAgIDE5NDY0MSwgMTE5MzQxLCAxMjAzNDksIDYyOTQsIDMxNDQsIDE5NDY0OCwgMTk0NjQ3LCA2NTAxOSwgMTk0NjQ5LCA3Mzk5MCwgCisgICAgMCwgOTgzOTUxLCA3NDgsIDQxMDY3LCAyMzMwLCA1MzUsIDMxNDgsIDEyMzc1LCA3ODc5OSwgMTk0NjI5LCAxMDU1NiwgCisgICAgMjQ3NSwgMTIzODgsIDQ4ODksIDg5NjgsIDY3ODYzLCAzNTkzLCAwLCAwLCAyMzQyLCAwLCAxOTQ2MzQsIDY1MjA2LCA0ODk0LCAKKyAgICAxOTQ2MzUsIDQ4OTAsIDE5NDYzNywgOTE3ODA0LCA1ODEsIDQ4OTMsIDk4MzYxNiwgNjU3MSwgNjU1NDUsIDQ4ODgsIDQxNTcsIAorICAgIDc4MDQ4LCA3ODA0OSwgNzgwNDYsIDc4MDQ3LCAwLCAxMDExOSwgNjQxNSwgNDI4OTMsIDAsIDY5NzAyLCAwLCAwLCAxMTM3NSwgCisgICAgNjQ3NDYsIDIzMzIsIDc4MDYzLCA0MTIsIDc4MDYxLCA2NDkzMiwgNDI4ODAsIDQzNTg3LCAwLCAwLCAwLCAwLCA2NTE5NywgCisgICAgNzgwNjYsIDEyMjAzLCA3ODA2NCwgNzgwNjUsIDg5MTMsIDY1ODU0LCA0ODc1LCA2NTgxMSwgMTIwMzgxLCAxMjAzODksIAorICAgIDExODg4OCwgOTM0NCwgODgyNiwgMTIwMzg2LCAxMjAzOTUsIDEzMTA0LCA3NDc4MSwgMTE5OTcsIDEyMDM5MywgNzgwNzUsIAorICAgIDAsIDMxMzQsIDAsIDY1Njk2LCA5MjMzMSwgMCwgNjYyMTcsIDAsIDgzMzQsIDExOTM0NCwgMCwgMzQ0OSwgMCwgMCwgCisgICAgNzg0MTQsIDc4NDEzLCAxMTg5NTAsIDc0MDExLCAwLCAwLCAwLCAwLCAxOTA4LCAxMjAxNjcsIDQzMjgsIDEwNzM0LCAKKyAgICAxMjcwMTQsIDAsIDEyNzkxNCwgNzgwNCwgNzgyNzIsIDEwODExLCA2MjUwLCAxMTMzOSwgNDkxNCwgMTEzNjcsIDAsIAorICAgIDc4MDU0LCA0OTE3LCA3NDUxNiwgNzQyMDgsIDY0Mjg1LCA0OTEyLCA1NDY0LCAxMjc4MzYsIDExODg5MywgMjM2MSwgNzk3MSwgCisgICAgNzgwNzIsIDc4MDczLCA1NTI0MywgNzgwNzEsIDAsIDgwODYsIDc0MzE3LCA2NzA3LCA4MzE5LCAyMzEyLCA0MDk3NywgCisgICAgMTA5NjAsIDQwOTYyLCA4MzA1LCAxMjU3MywgOTgzNjA4LCA0MDk4MCwgOTgzOTU1LCAxMzIwMiwgMCwgMTI1ODIsIDc4MjgyLCAKKyAgICA5ODMwNDgsIDY5ODU2LCA0MjQzOCwgNTUyMjEsIDYyODgsIDc4MjgwLCAxMjc5NDYsIDU2NTMsIDQyNDAwLCAxMDg5MSwgCisgICAgNzY5OCwgNTY1OCwgNzQwNDUsIDcwMDM5LCAwLCAwLCA0OTEzLCAwLCA5ODM5NTAsIDcxMzMzLCA0MjMyNiwgMTI4MTk0LCAKKyAgICAxMjcyOCwgOTI2ODUsIDQyNDc4LCAyMzI3LCAwLCAxMjU2MywgNDIyODcsIDEyNzA1LCAwLCAwLCAxMjU4OCwgODgyMSwgCisgICAgNjE1MywgMjg2NywgMTk0NzA4LCA2NjMxMiwgNjk4LCAxMjgwMDcsIDE5NDYwNiwgMTAzNTYsIDcwMDE3LCAxOTQ3MTMsIAorICAgIDY1MSwgMTI2NDEsIDAsIDAsIDAsIDAsIDQxNTUyLCA2NTExNSwgNzg0NjUsIDc4NDY3LCA3ODQ2MywgNzg0NjQsIDEyODg1MSwgCisgICAgNzg0NjEsIDE5NDY5NywgNzQzNTYsIDY0OTQ1LCA0NzE2LCA0MzI3NywgMCwgNzg0NzQsIDEyMzQwLCAxMjA1NjgsIDAsIAorICAgIDE5NDcwMCwgNTUyNjQsIDQxMjExLCAxMjA2NzYsIDg3MDMsIDU0NjIsIDkxNzYyOSwgOTgzNDg3LCAxMDEwMSwgMCwgCisgICAgNzAwNDksIDg0NzksIDQxNTEsIDQxOTMzLCAwLCAwLCA2NjI1NCwgMTIwODIxLCAwLCAwLCAxMjg2NTQsIDAsIDExOTE5NCwgCisgICAgNzQwNTAsIDkyNzAxLCAwLCAwLCAwLCAwLCAwLCAxMjI3OCwgMCwgMCwgMCwgMjcwMCwgMTI1NzYsIDc4NDIsIDEyODk5LCAwLCAKKyAgICAwLCAyNjk5LCAwLCA3Mzg0NSwgMjk4NSwgOTI1NjgsIDEyNjQ3NSwgOTE3ODQ1LCAxMjE5MiwgMTE5MzE0LCAwLCAxMTkzMTIsIAorICAgIDk4MjcsIDExOTMxMCwgMTE5MzExLCAxMTkzMDgsIDExOTMwOSwgMTE5MzA2LCAxMTQ4MSwgNDEyMTAsIDExOTMwNSwgMCwgCisgICAgMzUsIDc4NDgxLCA3ODQ4MiwgNjY2OTQsIDY4NDc5LCA3ODQ3NywgNzg0NzgsIDQzNTk2LCA2MDkwLCA2NDI1NywgNzgxMiwgCisgICAgMTA1MzQsIDAsIDc4NDg1LCA3Mzg0OCwgNjc5NzUsIDQyNzIsIDAsIDQwOTY3LCA0MDk2NCwgOTE3ODI1LCAxMjcwNCwgCisgICAgNzg0ODcsIDQzMzA2LCAwLCA2NDQ5NywgMTIxMzgsIDc5MzAsIDAsIDIyOTIsIDY4MjE2LCAwLCA5MTc4MjYsIDUyNDQsIAorICAgIDQxODksIDk0MTA4LCA2NzU5NiwgMTI3NTA0LCA0MTg4LCAxODc5LCAwLCA5NjgsIDAsIDQzNzQzLCAwLCA4ODczLCAyMjc5LCAKKyAgICAwLCA5MTc4MjcsIDY1NTU1LCAxMjU3NCwgMCwgMCwgMCwgNzQ0OTAsIDEyNzA5OSwgNDM2NTcsIDAsIDAsIDAsIDQyNjgyLCAKKyAgICAxMjU3OCwgMTI3MjAsIDAsIDQxMjI3LCAwLCAxMjM0NiwgMTI3MTAxLCA2NDg0OCwgMCwgMCwgNzI1MSwgMCwgMCwgCisgICAgMTE4ODUwLCAxMTkxNDEsIDEyODU0NiwgNjYwMTUsIDAsIDk1OSwgODg4NSwgMTI1NjQsIDY2NDU3LCA3ODgwOCwgOTQ2OSwgCisgICAgOTYzMiwgOTIzMjMsIDc0NzYxLCA2NDMyMywgMTI3MzM1LCAwLCAwLCAwLCAzMTAsIDAsIDQxMjgxLCAxMDk3NiwgMCwgCisgICAgNzEzMjUsIDAsIDc0MjY2LCAxMDA1NCwgNjQ5NywgODU3NCwgMCwgOTAxMiwgMTk5NTgsIDc0NDIwLCA2NTA4OSwgMTMyMTUsIAorICAgIDEyNzMwLCA2NTE2MywgNzQwNDQsIDM3NCwgNDMxOTUsIDgxNiwgMTIwMTYxLCAwLCAwLCA0MTkzNCwgNzQ2NSwgMCwgCisgICAgMTI4MTY4LCA5ODMyNjAsIDQ3MTUsIDYxMDEsIDk0MTA2LCA0MTkzNiwgMCwgNDg3OSwgMCwgNjU0NDYsIDAsIDMwNywgCisgICAgMTI3MTQ3LCA5NTg1LCA1Mzc0LCA5ODMyNTksIDEyODA1OSwgMCwgMCwgMTI2NjE4LCAxMjAzOTAsIDAsIDY1NTY3LCAKKyAgICAxMjA2MTQsIDE5MjksIDAsIDEyMTQyLCAwLCAxMjIzNiwgNDE0MTksIDE5NDYxOCwgMTIwNjEwLCAxMjk4MiwgMTk0NjIzLCAKKyAgICA1Mzc4LCA3ODc5MSwgMTI4Njc5LCA0MTQyMSwgMCwgNDQ2MiwgMCwgMTI2NTk5LCAxMjgwOTIsIDgyMSwgMCwgMjQ5OCwgCisgICAgNTgwMCwgMTIwMTU3LCA5ODMxMTUsIDE3NjAsIDI0MjEsIDQ0NjksIDIzMjQsIDgyOCwgMzYxMSwgNzg0MDAsIDc1NywgCisgICAgMTE4NSwgMCwgNzg3NzAsIDQzNTk3LCAxMDYyOCwgNzQ4MDgsIDE5NDU3MiwgNzk5OSwgNDM5NzEsIDAsIDAsIDEwNjM0LCAKKyAgICAxMDk0MiwgNzcxMywgMjM0OCwgMCwgNjQzNzQsIDQzODAsIDE5NDYwOCwgMTE5MDQ0LCA5OTgyLCA2NDMyNCwgNDEyNDAsIAorICAgIDg2MiwgNjU2MjYsIDc4NDYyLCAxODEwLCAzNjczLCA1MTM3LCAxOTQ2MTcsIDAsIDcyNzcsIDY1NjIyLCAwLCA3NTY2LCAKKyAgICA2NDY4OCwgMTk0NTkzLCAxOTQ1OTIsIDc4MDkyLCA3NDM1NywgMTk0NTk3LCA0NzQ4LCA5MjIyOCwgMTk0NTk4LCAxOTQ2MDEsIAorICAgIDQyMjYwLCA1ODcxLCAxMTkwNzUsIDAsIDc0NTc2LCA0NDAxOSwgMCwgMTI4MTg5LCAzOTY3LCAxOTQ2MDQsIDEzMTM3LCAKKyAgICA4Nzc1LCAxMjc5NDUsIDAsIDI5NjMsIDAsIDg0MTAsIDQ0NTQsIDcyMywgMTI3ODgyLCA5NjYsIDQ0NDksIDkyMzMwLCAKKyAgICA5MjIzOCwgMCwgNzgxOSwgMjMyMCwgMTk0NTg5LCAzMzksIDQ5NjgsIDE5NDU5MCwgMTIwMzk5LCA4MDc1LCA1NTI3NiwgMCwgCisgICAgODA0NywgMCwgNzg4MjcsIDEyNjM0LCA0MTU0MiwgNzg3ODAsIDc0NjYsIDY3MDUsIDEyMTc0LCA0MjYxMCwgMCwgNzQ0NTIsIAorICAgIDk4Mzc1NCwgMTU4NCwgNjY2NDUsIDYwNDUsIDY3MjksIDEyMDY0MCwgNjUyMTgsIDExNTU5LCAwLCA3ODA2MiwgNzUzNywgMCwgCisgICAgMTEzNzAsIDAsIDEwMzMwLCAwLCAxMDM5NCwgMCwgNzQxOTQsIDAsIDEyNzkyOSwgOTc4MCwgMCwgMTMwOTIsIDE5NDU3NiwgCisgICAgNzc5NTAsIDE5NDU3OCwgNzA3NCwgOTI2NDgsIDE5NDU3OSwgMTk0NTgyLCAxMTQxNCwgMTI4ODY4LCAyNTMxLCAxMzAzNCwgCisgICAgMCwgMCwgNDIxMSwgMTI1OSwgNzUxNywgMCwgMCwgMTk0NTYxLCA0MDk5NiwgMTMwMzcsIDcwOTIsIDY0MSwgNTIxOSwgCisgICAgOTQwMzQsIDE5NDU2NiwgMTEwNjQsIDQxMTI5LCAwLCA0Mjg1MCwgMTMwMzUsIDkwNzUsIDkyMzg3LCA1NDY2LCAxMjgxNTMsIAorICAgIDAsIDY0MDk4LCA2NTc5MywgNDUzNSwgMTk0NTczLCA0MjcxLCA3ODQxNywgMTI4MzU3LCA2NzY5LCA0MTQxMCwgOTgzNDQ0LCAKKyAgICA2NDI2MiwgNjc2NywgNDE0MDcsIDAsIDAsIDY3NTUsIDExODg2NCwgOTA0NiwgMTI3OTM0LCAxMjY2MDgsIDAsIDAsIDAsIDAsIAorICAgIDY3Njc1LCAwLCAwLCAwLCA2NDMzOCwgMjU2MywgMTMwMzMsIDI0NywgMTE4OTE1LCAwLCAxMjMzOCwgNDY1MSwgNjk4OTUsIAorICAgIDExMjcwLCAwLCAwLCAxMTkzMywgMCwgMCwgNDE5MDMsIDQzNDQ3LCAxMTAwMSwgMCwgNDIyNTUsIDAsIDkyNjYxLCA2OTgyMSwgCisgICAgNDE5MDUsIDAsIDAsIDEwNzc1LCA5NzkzLCA1MDA5LCAwLCA0MjI2OSwgNjQ1ODcsIDk4MzA2MywgNDI1MzUsIDY5ODEyLCAKKyAgICA2NDUyOSwgNDE0MDgsIDQyODUzLCAzODc3LCAxMjA3OTUsIDQyNjc0LCA4MTQ3LCA0MzU2NiwgMTE5MDIxLCA5ODM3NjcsIAorICAgIDEwMjM2LCA2NTkxOCwgNDM3ODIsIDAsIDAsIDY0NTA2LCA2OTY1MiwgMTE4OTIxLCA0NzQ3LCAxMjgwNTgsIDY5ODQ0LCAKKyAgICA0MzIwMCwgNTgzMiwgMCwgMCwgNTE0MSwgNDI2MDAsIDAsIDQzMjAzLCAwLCA5ODM3OTAsIDQzMjg2LCAwLCAxMjgyMTEsIAorICAgIDQzNzc4LCAwLCA0MTMwNSwgNzg3NzYsIDQzNzgxLCAxMTMwMywgNjU1NDcsIDAsIDcwMzEsIDg1OSwgMCwgMCwgMCwgNjA1OSwgCisgICAgMTI2OTg1LCA1NTIzNSwgMCwgODUzNSwgMCwgNjUxOTYsIDE5NDc4NywgNjYwMzIsIDExNDg4LCAxMjA0ODEsIDEyMDc4NiwgCisgICAgNDIyMzMsIDY0MTQwLCA5OTQ2LCA2Mzg4NSwgMTk0NzkyLCAxMTgyMiwgMCwgNDMxODksIDk4Mzg4OSwgMCwgMTc4OCwgCisgICAgMTU3OSwgMTIwNDgyLCA3MTI5OCwgMCwgMCwgMCwgOTAyOCwgMTE5NTcxLCA2OTIzNCwgOTQwNTUsIDAsIDEyODUsIDY0ODgyLCAKKyAgICA0MTI0MiwgNzAwODYsIDAsIDEyNjQwLCAwLCA3NDAxLCAwLCAxMjYyNSwgNjgxOTgsIDAsIDcwMDgyLCAzOTQwLCA0MTU5NywgCisgICAgNDM3NTQsIDMzOTYsIDEyNjQyLCA4NjY1LCAwLCAwLCAxMjYzMCwgMTY1MywgOTE3ODE1LCAxMDE1MywgMCwgNjE2NiwgCisgICAgMTIwNTE2LCAxMTg5ODksIDAsIDg4MTUsIDY2NjczLCA2NTA0NiwgOTI4NSwgOTEzLCA0MjI1OSwgMTE5MzE3LCAxMTkzMTgsIAorICAgIDIxNDIsIDY4NDU0LCA0MjQ4NSwgOTQwMTIsIDc4NzgsIDgyMTEsIDQyMjkzLCA2NDM3NywgMCwgOTI2NDMsIDAsIDE5NDY3MywgCiAgICAgMTIwMzIsIDAsIDk3MjUsIDAsIDc4NDMxLCA1MjYzLCAxMjgxOCwgNzg0MzAsIDQxOTM5LCAxMDAyMiwgNjUzODcsIDc4NDE5LCAKLSAgICA0Mjc3NywgMTAxMzksIDk4MCwgNDM2OTgsIDY1Mzg2LCAwLCAwLCA0MzcwMSwgNDMxOTgsIDcxODQsIDEyMDY3MywgCisgICAgNDI3NzcsIDEwMTM5LCA5ODAsIDQzNjk4LCA2NTM4NiwgMjIwOCwgMCwgNDM3MDEsIDQzMTk4LCA3MTg0LCAxMjA2NzMsIAogICAgIDE5NDc5NywgOTE3ODE5LCAxMDA4NSwgMTE5OTkyLCAwLCAxMTk5OTMsIDY2MzQsIDkyMzczLCAwLCAxMTkzMjMsIDgwNzIsIAogICAgIDExOTMyMSwgNDM3MDAsIDAsIDg4NzIsIDc3ODMsIDkxNzk5MiwgMTIzOTgsIDgyMzcsIDAsIDAsIDEyMzk1LCAwLCAKLSAgICAxMjY5NzcsIDEyMDU2NSwgOTkxNCwgMTI3MDExLCA5MTc4NTQsIDczOTc1LCA2MzY3LCA2MzUxLCA2NjY4OCwgMCwgNzgxMDcsIAorICAgIDEyNjk3NywgMTIwNTY1LCA5OTE0LCAyMjE3LCA5MTc4NTQsIDczOTc1LCA2MzY3LCA2MzUxLCA2NjY4OCwgMCwgNzgxMDcsIAogICAgIDAsIDY0NzM1LCA0MTI0MywgOTIxOTksIDc4MDgsIDE4MjksIDAsIDQxOTM3LCA0MzU4LCA0MzI3MiwgNjM1MywgMCwgMCwgCiAgICAgMTIwNDIyLCAwLCAxNzEwLCAwLCAwLCA2NTYwNywgMCwgNDksIDY2MjcsIDAsIDYyNTgsIDEwNjgzLCA3ODY3MiwgOTc0MSwgCiAgICAgNzgzMjksIDU2NDksIDc4NDQxLCA0MzQ0MywgNjQ0MTgsIDE2NDMsIDY1MjEzLCA4NDA1LCAzNDcwLCAxMjgyMjUsIDEzMjEzLCAKLSAgICA0MjQ1MiwgNzgzMzEsIDAsIDc4NDQ1LCAwLCAxMDcyLCA3ODQ1NywgNzg0NTIsIDc4NDU0LCA2NTc2LCA0MTk4OCwgNDExMzIsIAotICAgIDY1Njc1LCAxMDgwLCAxMjAwMDIsIDk4ODYsIDU1MjI1LCAxMTAxLCA2ODQwNCwgMTIzMDksIDU1MjI3LCAwLCAxMjYzMiwgCi0gICAgMTA4NiwgMTg2OSwgNzg2ODUsIDc2ODAsIDAsIDY1NDU4LCAxMjA3MTQsIDEyNjM5LCAzMzgwLCA4MTIzLCAxMDkxLCAKLSAgICAxMjYzOCwgNzk3NywgNDUwMSwgNDEwOTksIDAsIDY2MzA5LCAwLCAwLCAxNDk0LCAwLCAwLCAwLCAxMTY5MywgMCwgMTA0OTQsIAotICAgIDkyNjU1LCA2NTg3MiwgMTIzNjMsIDExMzg2LCAwLCAwLCAwLCAwLCA2NDU4MiwgMCwgNzM3OTQsIDAsIDgwMjIsIDAsIAotICAgIDEyMDQ2MiwgNzQxMDYsIDEyNDEzLCAxOTQ4MjksIDkxNzk5NCwgMCwgOTE3OTk1LCA1NTcwLCAxODgxLCA3MjEwLCAwLCAKLSAgICAxMDEyLCA2NjYzMCwgMCwgMTIwNzA5LCA3MjA4LCA2NjQ0MiwgNTU2OSwgMCwgNDIzMzksIDAsIDYwNjMsIDAsIDAsIAotICAgIDExOTU5NCwgNjA1MywgNjU2MDIsIDAsIDkyMjAxLCA2NDcyNywgOTE2MCwgMTk0ODI3LCAwLCAwLCA5MjE4MCwgMTA1MDMsIAotICAgIDExODgxMCwgNjA1NSwgMzg3MCwgNDI3OSwgODQ5MCwgMTIwMTE0LCA0MzE5LCA2NDc4NiwgODYwMiwgMTIwMTEwLCAxMTMyNiwgCi0gICAgOTIyMDQsIDAsIDAsIDEyMDExOSwgNzgzMzMsIDEyMDExNywgMTIwMTE4LCAxMjAwOTksIDEyMDEwMCwgNjUwODcsIDU1NzEsIAotICAgIDM2NzQsIDk3NDAsIDkxMjEsIDU1NjgsIDEyMDEwNywgMTIwMTA4LCA0MjA4NSwgMTAxMDcsIDQyMTU5LCA0Mjg3MCwgCi0gICAgMTIwMTAxLCA1ODksIDcwNTAsIDAsIDQzMjgxLCAxMDIzMywgNDEyNjMsIDY2MjUxLCA2NTcyOSwgNjYyNTMsIDAsIDc0MDk5LCAKLSAgICA0MjY0NSwgMCwgMTk0ODE1LCA4NTgzLCAwLCA1ODQ3LCA2OTI4LCAwLCAwLCAwLCAwLCAwLCA2NjU5MiwgMTIyMDQsIAotICAgIDkxNzk2MiwgMTk5NjYsIDc3ODU2LCA0MjU2MSwgMTIwNjI2LCAwLCAwLCA4MTIwLCAxMjA3MDEsIDAsIDAsIDEyODAxMiwgCi0gICAgNDEwNjMsIDAsIDEwNjY0LCAwLCA4MzY5LCAwLCA0NTUxLCAxOTQ5NjQsIDMzNjksIDAsIDAsIDk2NzMsIDY2MzM0LCAKLSAgICA2NTU4MCwgMTA0NzgsIDExODk2MCwgMTI1MTcsIDU1NywgOTQ1NywgMTIwMzQsIDAsIDYzNTUsIDEyNTE5LCA0MTAwNCwgMCwgCi0gICAgMTk1MDI1LCA3NDA5NCwgMCwgMCwgNzc5NzAsIDAsIDAsIDEyODE3NSwgMTIxMTEsIDM5MjcsIDAsIDEyNTE1LCAxNDc0LCAKLSAgICA2Nzg5MywgNTQ5MiwgNjkyMywgMTI4MDk5LCAxMDQ0MSwgNzM4MzYsIDAsIDQzOTkwLCA1NDkzLCAwLCA3NDMxOSwgMCwgCi0gICAgNjY2MzUsIDEyMDE5LCAwLCAxNjE4LCAwLCAxMjA0NzQsIDk2NDUsIDEwNDMwLCA5MTc5NTksIDU4NTMsIDEzMDYzLCAKLSAgICAxMDM2MywgMCwgMTI5NTYsIDEyODE2OSwgMTIwNzI5LCAxMTMxNCwgOTE3NTgyLCAxMjA2MCwgMCwgNzgzOTIsIDEyODI2LCAKLSAgICA2MzI5LCAwLCAxMDUxNCwgNjU1MTcsIDc0Mzk1LCAyNzA3LCA4MzA5LCAwLCAxMjcwNTQsIDc4Mzk4LCA0MzU3MCwgMjY5NywgCi0gICAgNDM0MjAsIDc4Mzk2LCAxMjcwNTcsIDI2OTUsIDQyMTcxLCAwLCAwLCAwLCA2NzYxNywgMTE4OTcxLCAwLCAyNjkzLCAKLSAgICAxMjEyNSwgMTI3NjYsIDAsIDExNjQsIDAsIDAsIDQxOTE4LCAwLCAxMjc1NDIsIDg2ODcsIDY2MDA5LCAxMjE3OCwgNzA1MywgCi0gICAgMTI4MDAxLCA3NDY5LCAwLCA1MjQ4LCAxMjIxOCwgMTIwNTM4LCA2NDI3LCA0Mjg4NCwgNDExMjMsIDAsIDAsIDQyODczLCAKLSAgICA0MTEyNiwgOTk5MSwgNDExMjgsIDc0MzcxLCAxMjcwMzEsIDAsIDk4NzMsIDAsIDQyODc3LCA3OTk0LCA2NDc2MiwgMjA1MywgCi0gICAgNDI4NDMsIDY1OTEsIDkzNDAsIDAsIDE1ODksIDAsIDI5NiwgNzQ0MzgsIDc4ODUyLCAwLCA2Nzg0MSwgNzQzNzAsIDAsIAotICAgIDg5MjIsIDEyODA2OCwgNzQ2MDAsIDEyNzAwLCA3NDgzNiwgMCwgMTI1NzksIDAsIDEyNTc1LCA2NDE2LCA1NjU2LCAyODkxLCAKLSAgICAxMzI2MiwgNjU1OTAsIDUyOTksIDAsIDExNDczLCA1NDQ5LCAxMjUyLCAwLCA3ODQwNCwgNDE0MzEsIDc0MzY5LCA2NTM3MywgCi0gICAgNTI5NSwgOTE3NTY5LCA3NDExNCwgMTIyMywgMTY0MiwgMTc0LCA3ODM5OSwgODgzLCA0MTYxLCAxMjY5MSwgNDI2MDMsIAotICAgIDQxNDEzLCAzMjEyLCA0MTQ1OSwgMzIxMSwgNzQ4MTAsIDQxNDI1LCAxMjcwMjksIDc4NDEyLCA3NDQ1MCwgOTcyOCwgMzg0NiwgCi0gICAgODA3MCwgNjE1MCwgNjYzNiwgNDM3MCwgMCwgMCwgNzQxNzgsIDc0NTg3LCA3NDExNywgMCwgMCwgMCwgNDk4NiwgMTIxODksIAotICAgIDAsIDY3NjQ4LCAxMjA0OTksIDkxNzU1MywgNDI1NywgMTIxMDQsIDc3OTQyLCA2MjIwLCA5MDA0LCA2NTU2MSwgMCwgCi0gICAgNzc5NDksIDAsIDY4MTM1LCA5MTc1NzYsIDc3OTQ2LCAwLCA2OTY3OSwgNjk2ODQsIDk4OTAsIDc4NTYxLCAxMjk3MSwgCi0gICAgNzg0NTMsIDkyNTU2LCA3Mzg5OCwgMTE5NzksIDAsIDExODkwMCwgOTE3ODk0LCAwLCA5NjM1LCAxMjYwMCwgODg3MSwgMCwgCi0gICAgMCwgMCwgNjQ2OSwgNzQyMjcsIDAsIDY1MzA0LCA0Njc5LCAxMDIzMCwgNjQzMDAsIDY0ODY3LCAzNDI3LCA0MjQwLCAwLCAwLCAKLSAgICAwLCAwLCA0MjkxNiwgMCwgMCwgMCwgNzI4MiwgNzg3MjgsIDY1NzMzLCA0NDQ1LCAxMjcxMzgsIDEyODA4MiwgMzQ5NCwgCi0gICAgNzQ2MDYsIDY1NTUsIDAsIDc3OTc2LCAwLCAwLCA3ODU2NiwgMCwgMCwgNjU4OTgsIDAsIDY1MzEyLCA1NDQ3LCAwLCAKKyAgICA0MjQ1MiwgNzgzMzEsIDEyMDY2NCwgNzg0NDUsIDAsIDEwNzIsIDc4NDU3LCA3ODQ1MiwgNzg0NTQsIDY1NzYsIDQxOTg4LCAKKyAgICA0MTEzMiwgNjU2NzUsIDEwODAsIDEyMDAwMiwgOTg4NiwgNTUyMjUsIDExMDEsIDY4NDA0LCAxMjMwOSwgNTUyMjcsIDAsIAorICAgIDEyNjMyLCAxMDg2LCAxODY5LCA3ODY4NSwgNzY4MCwgMCwgNjU0NTgsIDEyMDcxNCwgMTI2MzksIDMzODAsIDgxMjMsIAorICAgIDEwOTEsIDEyNjM4LCA3OTc3LCA0NTAxLCA0MTA5OSwgMCwgNjYzMDksIDAsIDAsIDE0OTQsIDk4MzE0NiwgMTI2NjEzLCAwLCAKKyAgICAxMTY5MywgMTI2NTEzLCAxMDQ5NCwgOTI2NTUsIDY1ODcyLCAxMjM2MywgMTEzODYsIDAsIDAsIDAsIDAsIDY0NTgyLCAwLCAKKyAgICA3Mzc5NCwgMCwgODAyMiwgMCwgMTIwNDYyLCA3NDEwNiwgMTI0MTMsIDk0MDY5LCA5MTc5OTQsIDkxNzk5MywgOTE3OTk1LCAKKyAgICA1NTcwLCAxODgxLCA3MjEwLCAwLCAxMDEyLCA0Mzc1MiwgMCwgMTIwNzA5LCA3MjA4LCA2NjQ0MiwgNTU2OSwgOTgzMjM2LCAKKyAgICA0MjMzOSwgMCwgNjA2MywgMCwgNzgzODMsIDExOTU5NCwgNjA1MywgNjU2MDIsIDAsIDkyMjAxLCA2NDcyNywgOTE2MCwgCisgICAgMTk0ODI3LCAwLCAwLCA5MjE4MCwgMTA1MDMsIDExODgxMCwgNjA1NSwgMzg3MCwgNDI3OSwgODQ5MCwgMTIwMTE0LCA0MzE5LCAKKyAgICA2NDc4NiwgODYwMiwgMTIwMTEwLCAxMTMyNiwgOTIyMDQsIDk4MzExNiwgMCwgMTIwMTE5LCA3ODMzMywgMTIwMTE3LCAKKyAgICAxMjAxMTgsIDEyMDA5OSwgMTIwMTAwLCA2NTA4NywgNTU3MSwgMzY3NCwgOTc0MCwgOTEyMSwgNTU2OCwgMTIwMTA3LCAKKyAgICAxMjAxMDgsIDQyMDg1LCAxMDEwNywgNDIxNTksIDQyODcwLCAxMjAxMDEsIDU4OSwgNzA1MCwgOTgzNzkxLCA0MzI4MSwgCisgICAgMTAyMzMsIDQxMjYzLCA2NjI1MSwgNjU3MjksIDY2MjUzLCAxMjY0OTcsIDc0MDk5LCA0MjY0NSwgMCwgMTk0ODE1LCA4NTgzLCAKKyAgICAwLCA1ODQ3LCA2OTI4LCAxMjgwNzQsIDAsIDAsIDAsIDAsIDY2NTkyLCAxMjIwNCwgOTE3OTYyLCAxOTk2NiwgNzc4NTYsIAorICAgIDQyNTYxLCAxMjA2MjYsIDk4MzI0NSwgMCwgODEyMCwgMTIwNzAxLCAwLCAwLCAxMjgwMTIsIDQxMDYzLCAwLCAxMDY2NCwgMCwgCisgICAgODM2OSwgMCwgNDU1MSwgMTk0OTY0LCAzMzY5LCAwLCAwLCA5NjczLCA2NjMzNCwgNjU1ODAsIDEwNDc4LCAxMTg5NjAsIAorICAgIDEyNTE3LCA1NTcsIDk0NTcsIDEyMDM0LCA5ODM2NjIsIDYzNTUsIDEyNTE5LCA0MTAwNCwgMCwgMTk1MDI1LCA3NDA5NCwgMCwgCisgICAgMCwgNzc5NzAsIDk4MzU2MCwgMCwgMTI4MTc1LCAxMjExMSwgMzkyNywgMCwgMTI1MTUsIDE0NzQsIDY3ODkzLCA1NDkyLCAKKyAgICA2OTIzLCA5MjI4MSwgMTA0NDEsIDczODM2LCAwLCA0Mzk5MCwgNTQ5MywgMCwgNzQzMTksIDAsIDY2NjM1LCAxMjAxOSwgMCwgCisgICAgMTYxOCwgMCwgMTIwNDc0LCA5NjQ1LCAxMDQzMCwgOTE3OTU5LCA1ODUzLCAxMzA2MywgMTAzNjMsIDAsIDEyOTU2LCAKKyAgICAxMjgxNjksIDEyMDcyOSwgMTEzMTQsIDkxNzU4MiwgMTIwNjAsIDAsIDc4MzkyLCAxMjgyNiwgNjMyOSwgMCwgMTA1MTQsIAorICAgIDY1NTE3LCA3NDM5NSwgMjcwNywgODMwOSwgMCwgMTI3MDU0LCA3ODM5OCwgNDM1NzAsIDI2OTcsIDQzNDIwLCA3ODM5NiwgCisgICAgMTI3MDU3LCAyNjk1LCA0MjE3MSwgMCwgMCwgMCwgNjc2MTcsIDExODk3MSwgMCwgMjY5MywgMTIxMjUsIDEyNzY2LCAwLCAKKyAgICAxMTY0LCAxMjg4MTcsIDAsIDQxOTE4LCA5ODMxNjgsIDEyNzU0MiwgODY4NywgNjYwMDksIDEyMTc4LCA3MDUzLCAxMjgwMDEsIAorICAgIDc0NjksIDAsIDUyNDgsIDEyMjE4LCAxMjA1MzgsIDY0MjcsIDQyODg0LCA0MTEyMywgMCwgMCwgNDI4NzMsIDQxMTI2LCAKKyAgICA5OTkxLCA0MTEyOCwgNzQzNzEsIDEyNzAzMSwgMCwgOTg3MywgMCwgNDI4NzcsIDc5OTQsIDY0NzYyLCAyMDUzLCA0Mjg0MywgCisgICAgNjU5MSwgOTM0MCwgMCwgMTU4OSwgMCwgMjk2LCA3NDQzOCwgNzg4NTIsIDAsIDY3ODQxLCA3NDM3MCwgMCwgODkyMiwgCisgICAgMTI4MDY4LCA3NDYwMCwgMTI3MDAsIDc0ODM2LCAwLCAxMjU3OSwgMCwgMTI1NzUsIDY0MTYsIDU2NTYsIDI4OTEsIDEzMjYyLCAKKyAgICA2NTU5MCwgNTI5OSwgMCwgMTE0NzMsIDU0NDksIDEyNTIsIDAsIDc4NDA0LCA0MTQzMSwgNzQzNjksIDY1MzczLCA1Mjk1LCAKKyAgICA5MTc1NjksIDc0MTE0LCAxMjIzLCAxNjQyLCAxNzQsIDc4Mzk5LCA4ODMsIDQxNjEsIDEyNjkxLCA0MjYwMywgNDE0MTMsIAorICAgIDMyMTIsIDQxNDU5LCAzMjExLCA3NDgxMCwgNDE0MjUsIDEyNzAyOSwgNzg0MTIsIDc0NDUwLCA5NzI4LCAzODQ2LCA4MDcwLCAKKyAgICA2MTUwLCA2NjM2LCA0MzcwLCAwLCAwLCA3NDE3OCwgNzQ1ODcsIDc0MTE3LCAwLCAwLCAwLCA0OTg2LCAxMjE4OSwgMCwgCisgICAgNjc2NDgsIDEyMDQ5OSwgOTQwMDEsIDQyNTcsIDEyMTA0LCA3Nzk0MiwgNjIyMCwgOTAwNCwgNjU1NjEsIDAsIDc3OTQ5LCAwLCAKKyAgICA2ODEzNSwgOTE3NTc2LCA3Nzk0NiwgMCwgNjk2NzksIDY5Njg0LCA5ODkwLCA3ODU2MSwgMTI5NzEsIDc4NDUzLCA5MjU1NiwgCisgICAgNzM4OTgsIDExOTc5LCA3MDA1MSwgMTE4OTAwLCA5MTc4OTQsIDAsIDk2MzUsIDEyNjAwLCA4ODcxLCAwLCAwLCAwLCA2NDY5LCAKKyAgICA3NDIyNywgMCwgNjUzMDQsIDQ2NzksIDEwMjMwLCA2NDMwMCwgNjQ4NjcsIDM0MjcsIDQyNDAsIDAsIDAsIDAsIDAsIAorICAgIDQyOTE2LCAwLCAwLCAwLCA3MjgyLCA3ODcyOCwgNjU3MzMsIDQ0NDUsIDEyNzEzOCwgMTI4MDgyLCAzNDk0LCA3NDYwNiwgCisgICAgNjU1NSwgMCwgNzc5NzYsIDAsIDAsIDc4NTY2LCAwLCA5ODMxODksIDY1ODk4LCA5ODMyMzgsIDY1MzEyLCA1NDQ3LCAwLCAKICAgICAxMjg5NSwgNjU1OTMsIDQwMTAsIDAsIDQxMTA2LCAwLCA2NDQ0OCwgMCwgNDExMDUsIDAsIDY1ODIwLCA2MjMyLCAwLCAKICAgICAxMjgyODAsIDAsIDQzNjA4LCAxMTkwOTEsIDAsIDY1MzgsIDQzMzUsIDc4MzY0LCAzOTQxLCA0MTEyMiwgMTEwNjEsIAotICAgIDc4MzYzLCA2NDg5MiwgOTExMywgMTk1NCwgMTIxNTUsIDAsIDQyODc4LCAxMTUwMCwgMCwgMCwgNzQ1NzgsIDAsIDY1ODMyLCAKLSAgICAwLCAwLCAwLCA3Nzk3NSwgMTE5MjMwLCA0NTg2LCAwLCAzNTAsIDEwOTUxLCAwLCA1MDksIDAsIDAsIDkyMzA3LCAwLCAwLCAKLSAgICA1MTMzLCAwLCAwLCA5NTAwLCAwLCA0OTU3LCA2NDc0MSwgMjQyMiwgOTM1NCwgMCwgMCwgMCwgMjQ5NiwgMTE1MTYsIDk0NCwgCi0gICAgMTE4ODUxLCAzODkwLCAxMjE2OCwgMTQzOCwgMCwgMCwgMCwgNDE5NDcsIDEyMjAsIDEyMDgyOCwgMTI4NTU1LCAwLCAwLCAKLSAgICAxNTcxLCA0MjYzMCwgNDE5NDksIDQyODA1LCA4MjcwLCA5NDMsIDU2NCwgMCwgMzEyLCA0MTk4MCwgMCwgMCwgNzgxMjAsIAotICAgIDg4NzcsIDI2OSwgNDQyOSwgNjI3MiwgOTYxNywgMTQ2MCwgNjk1NCwgNzg2NTcsIDQxMTIwLCA2NTEyMSwgMTA4NjIsIAotICAgIDYwNjAsIDQxMTE5LCA0MTQxNiwgNzQzNTUsIDQxNzMsIDAsIDAsIDAsIDE5MDYsIDkxNzk4NiwgMTE1MzIsIDc0MDczLCAwLCAKLSAgICAwLCAxOTg1LCA2Mjk2LCA5NTgyLCA5MTc4OTUsIDY0Mjg3LCAwLCA3ODExNSwgMTE0MjgsIDE3MzAsIDI0NTcsIDAsIAotICAgIDE5OTE4LCAxMDQ2OSwgMCwgMCwgNzcwMywgODg0MCwgODAzNSwgMCwgMCwgOTI0OTEsIDAsIDYxMjksIDAsIDAsIDEyODI2OCwgCi0gICAgMCwgNzg3NCwgODY4MSwgMTE5MDkyLCAwLCAxMzEzNiwgMCwgMCwgNzQyNzgsIDYzODg2LCAxMTg4ODEsIDk2MDUsIDczODkyLCAKLSAgICAxMzIyMCwgMTI4Nzc2LCAxMjAyNzQsIDU1MTQsIDAsIDkyMjgsIDAsIDAsIDAsIDUyNDAsIDk4MTEsIDEwMDEyLCAzMDk2LCAKLSAgICAwLCAwLCAwLCA2NjY3NiwgNjU4NzMsIDAsIDAsIDAsIDk1MDEsIDAsIDEyNzIsIDY0NTM2LCA2NTQ2NSwgNjQ2NTQsIDc0NjcsIAotICAgIDAsIDE0NjcsIDEwMTU4LCAxMDA0MCwgMCwgOTUxOSwgMCwgOTE3ODEyLCAwLCAxMTg4OTksIDEyMTkzLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAxOTkzNSwgMCwgOTIxNjIsIDY5Njc2LCAwLCAwLCAwLCA1Mjc1LCAwLCAwLCA4NjM3LCAwLCAwLCAzNzg5LCA2Mzg4MCwgCi0gICAgMTE0NzEsIDQzNTU0LCA2NTg2MiwgMTE0NzQsIDY2MzMyLCA2NjYwMywgMTI4MTM4LCAyNDI2LCAxMjA0MiwgOTIxOTQsIDAsIAotICAgIDk1MzcsIDM5NjEsIDEyMTE1LCA3Nzk1MywgMjYwNSwgNDUwMCwgNjQ1NjEsIDU1MjI0LCA0OTgxLCAwLCAwLCA2Mzg3NiwgCi0gICAgMTE2NjcsIDQyNjg2LCA3Nzk3MywgNDIzNjIsIDY0Njg2LCA0NDk5LCA0MTY0OSwgNzU4OSwgMCwgMCwgMzIzNywgMCwgCi0gICAgNjgyMTUsIDAsIDg1NDEsIDc4Mjk4LCAwLCA0MTg2NiwgMCwgMCwgMCwgMCwgMCwgNDM1NTUsIDI4MjMsIDk1NTksIDEwMDYwLCAKLSAgICA0MTk0MCwgODI5OSwgNDE5NDUsIDcxMzIsIDQxOTQxLCAzMzA4LCA3MTkwLCA2NDg4MCwgODYxNCwgNjUyMjAsIDQxNDkzLCAKLSAgICAwLCA0MTY5OSwgMTA3NjIsIDQzNzgwLCAxMjk5OSwgMCwgMCwgODEwNiwgNDEyOCwgMCwgMCwgNDQ5NCwgMCwgNDAxMiwgCi0gICAgMTAzOTUsIDAsIDQzNjMzLCA2NTQ0NywgMCwgMCwgMTEwMDQsIDY5NSwgNzM5LCA2OTYsIDc2MTEsIDAsIDQyNzU1LCAKLSAgICA3NDgwMiwgOTIyNywgNzUwNiwgNzUxMCwgOTIyODEsIDY5MSwgNzM4LCA3NTExLCA3NTEyLCA3NTE1LCAzODY4LCA2ODgsIAotICAgIDQxODQ3LCA2OTAsIDI1NDgsIDczNywgOTc0LCA4MDAzLCA3NDA2LCA5MTc5MTEsIDAsIDAsIDM5ODUsIDkxNzkxMiwgCi0gICAgNjU4NjAsIDYzOTIxLCA3MDUxLCA2OTc3NywgNDY4MiwgOTE3ODA1LCAxMjgwOSwgNjQwNiwgNDY4NSwgOTI1MDUsIDEwODc5LCAKLSAgICAxMDM0NywgNDY4MCwgNjM0MSwgMCwgMzg1MSwgODEzMiwgNzQzMjUsIDAsIDkxNzkwNywgMCwgNDE5NTgsIDExOTE3NiwgCi0gICAgOTE3OTA4LCAwLCAwLCA0MjY1NywgOTI0NjgsIDc2NDMsIDQyMzczLCAxMTcxNCwgNjc1ODcsIDQzNTY4LCAwLCAxMTcxNywgCi0gICAgNzY1MCwgMTA1OTQsIDY0OTUxLCA3NjQ3LCA3NjQ5LCAxMjgxNTUsIDc2NDYsIDAsIDc4MDgyLCA5NjUxLCAwLCAzODkxLCAwLCAKLSAgICAwLCAyMzM3LCAxNzM1LCA3NDMyNCwgNjc4NjAsIDIzNjMsIDAsIDAsIDQzNTYxLCAwLCAwLCA3NDE0NiwgMTg2MCwgNzQ5NSwgCi0gICAgNzU4MCwgNTgxMiwgNzQ5NywgNzU4NCwgMTE5MTQwLCAxMjc4NTMsIDAsIDEyMDM0NywgNzcyNywgMCwgODQ5OCwgNjk4MTgsIAotICAgIDg5NDksIDMwNjUsIDQyNzE5LCA3MTM1LCAxNTY5LCA5MjM3NSwgMTI1MzQsIDEyMTI0LCA3NjkwLCAwLCAxMjUzMywgMCwgCi0gICAgNjQxOCwgNDU0MywgNzgwODYsIDY5NjksIDAsIDc0ODAwLCAwLCAwLCAxMTk4MCwgMTI4NjUwLCAwLCA2Mzg5NCwgMTIwNzYwLCAKLSAgICAxMjI4MiwgNjYxOTIsIDAsIDc0NTkyLCA4ODUwLCA3NDI3NSwgOTIzOCwgMTA2MTcsIDkxNzU0NSwgMCwgOTI2MjUsIDAsIAotICAgIDEyNzkxLCAwLCAwLCAwLCA0NDQ3LCA3MzczMiwgMTI3OTMsIDEyOTAwLCA5MjM3NywgMTA5NTAsIDAsIDc4MDg3LCAxMjc5MCwgCi0gICAgNDE0MDAsIDExOTEyOCwgNjY2MDcsIDEyNzkyLCA0MjIzMiwgMTk0OTM4LCAxNzQ0LCAxMjc4OSwgMTAzNjYsIDEyMzE3LCAKLSAgICA0MTMxMCwgMCwgNDEzOTksIDAsIDAsIDU1MjU4LCAwLCAxMjY5MCwgMCwgMCwgNDM2NzIsIDEyNzg0MCwgNDE2NTIsIDI5NzQsIAotICAgIDkwMTAsIDExMzE1LCAwLCAyNzgsIDAsIDQxNDA1LCAxMTkyNTQsIDAsIDEwMDc3LCA2Mzg1MywgNzQ1NTcsIDQyNTg2LCAwLCAKLSAgICAwLCA2MDAyLCAwLCA0MzU1MywgMCwgNjc5MDMsIDAsIDEyNzg3LCA0MTMwOCwgNzkzNCwgNjUzMDYsIDAsIDAsIDAsIDg2NDYsIAotICAgIDAsIDc3ODI5LCAwLCAwLCA2NDEzLCA2NTUwLCAwLCAxOTQwLCAwLCA0MzYzNywgMjIwLCA2NTE5MywgNDM1NTEsIDEwNjc4LCAKLSAgICAxMDA0NCwgMCwgMCwgMCwgNjg2NTksIDY0MDMsIDU3MDcsIDEwMzkzLCAxMjc1MzIsIDAsIDY2NjE0LCAwLCAwLCAwLCAKKyAgICA3ODM2MywgNjQ4OTIsIDkxMTMsIDE5NTQsIDEyMTU1LCA5ODM2NjUsIDQyODc4LCAxMTUwMCwgMCwgMCwgNzQ1NzgsIDAsIAorICAgIDY1ODMyLCAwLCAwLCAwLCA3Nzk3NSwgMTE5MjMwLCA0NTg2LCAwLCAzNTAsIDEwOTUxLCAwLCA1MDksIDAsIDAsIDkyMzA3LCAKKyAgICAwLCAwLCA1MTMzLCAwLCAwLCA5NTAwLCAwLCA0OTU3LCA2NDc0MSwgMjQyMiwgMjIxMiwgOTgzMDgwLCAwLCAwLCAyNDk2LCAKKyAgICAxMTUxNiwgOTQ0LCAxMTg4NTEsIDM4OTAsIDEyMTY4LCAxNDM4LCAwLCA5ODMxMTcsIDAsIDQxOTQ3LCAxMjIwLCAxMjA4MjgsIAorICAgIDEyODU1NSwgMCwgMCwgMTU3MSwgNDI2MzAsIDQxOTQ5LCA0MjgwNSwgODI3MCwgOTQzLCA1NjQsIDAsIDMxMiwgNDE5ODAsIAorICAgIDk4MzkzNSwgMCwgNzgxMjAsIDg4NzcsIDI2OSwgNDQyOSwgNjI3MiwgOTYxNywgMTQ2MCwgNjk1NCwgNzg2NTcsIDQxMTIwLCAKKyAgICA2NTEyMSwgMTA4NjIsIDYwNjAsIDQxMTE5LCA0MTQxNiwgNzQzNTUsIDQxNzMsIDAsIDAsIDAsIDE5MDYsIDkxNzk4NiwgCisgICAgMTE1MzIsIDc0MDczLCAxMjczMzgsIDAsIDE5ODUsIDYyOTYsIDk1ODIsIDkxNzg5NSwgNjQyODcsIDAsIDc4MTE1LCAKKyAgICAxMTQyOCwgMTczMCwgMjQ1NywgOTE3ODA4LCAxOTkxOCwgMTA0NjksIDAsIDAsIDc3MDMsIDg4NDAsIDgwMzUsIDAsIDAsIAorICAgIDkyMjMwLCAwLCA2MTI5LCAwLCAxMjg1MjgsIDEyODI2OCwgMCwgNzg3NCwgODY4MSwgMTE5MDkyLCAwLCAxMzEzNiwgMCwgMCwgCisgICAgNzAxMDIsIDYzODg2LCAxMTg4ODEsIDk2MDUsIDcxMzA4LCAxMzIyMCwgMTI4Nzc2LCAxMjAyNzQsIDU1MTQsIDAsIDkyMjgsIAorICAgIDAsIDAsIDAsIDUyNDAsIDk4MTEsIDEwMDEyLCAzMDk2LCAwLCAwLCA5ODMzNDMsIDY2Njc2LCA2NTg3MywgMCwgMCwgMCwgCisgICAgOTUwMSwgMCwgMTI3MiwgNjQ1MzYsIDY1NDY1LCA2NDY1NCwgNzQ2NywgMCwgMTQ2NywgMTAxNTgsIDEwMDQwLCAwLCA5NTE5LCAKKyAgICAwLCA5MTc4MTIsIDAsIDExODg5OSwgMTIxOTMsIDAsIDAsIDAsIDAsIDk4MzM0NSwgMTk5MzUsIDAsIDkyMTYyLCA2OTY3NiwgCisgICAgMCwgMCwgMCwgNTI3NSwgMCwgMCwgODYzNywgMCwgMCwgMzc4OSwgNjM4ODAsIDExNDcxLCA0MzU1NCwgNjU4NjIsIDExNDc0LCAKKyAgICA2NjMzMiwgNjY2MDMsIDEyODEzOCwgMjQyNiwgMTIwNDIsIDkyMTk0LCA5ODM5MDIsIDk1MzcsIDM5NjEsIDEyMTE1LCAKKyAgICA3Nzk1MywgMjYwNSwgNDUwMCwgNjQ1NjEsIDU1MjI0LCA0OTgxLCAwLCAwLCA2Mzg3NiwgMTE2NjcsIDQyNjg2LCA3Nzk3MywgCisgICAgNDIzNjIsIDY0Njg2LCA0NDk5LCA0MTY0OSwgNzU4OSwgMCwgMCwgMzIzNywgMCwgNjgyMTUsIDkxNzkwNCwgODU0MSwgCisgICAgNzgyOTgsIDcwMDM0LCA0MTg2NiwgMCwgMCwgMCwgMCwgNjk5MjQsIDQzNTU1LCAyODIzLCA5NTU5LCAxMDA2MCwgNDE5NDAsIAorICAgIDgyOTksIDQxOTQ1LCA3MTMyLCA0MTk0MSwgMzMwOCwgNzE5MCwgNjQ4ODAsIDg2MTQsIDY1MjIwLCA0MTQ5MywgMCwgCisgICAgNDE2OTksIDEwNzYyLCA0Mzc4MCwgMTI5OTksIDAsIDAsIDgxMDYsIDQxMjgsIDAsIDYyNzQsIDQ0OTQsIDAsIDQwMTIsIAorICAgIDEwMzk1LCA5ODM1OTEsIDQzNjMzLCA2NTQ0NywgMTI2NTExLCAwLCAxMTAwNCwgNjk1LCA3MzksIDY5NiwgNzYxMSwgMCwgCisgICAgNDI3NTUsIDc0ODAyLCA5MjI3LCA3NTA2LCA3NTEwLCA2OTkzNywgNjkxLCA3MzgsIDc1MTEsIDc1MTIsIDc1MTUsIDM4NjgsIAorICAgIDY4OCwgNDE4NDcsIDY5MCwgMjU0OCwgNzM3LCA5NzQsIDgwMDMsIDc0MDYsIDkxNzkxMSwgMCwgMTI4Njg4LCAzOTg1LCAKKyAgICA5MTc5MTIsIDY1ODYwLCA2MzkyMSwgNzA1MSwgNjk3NzcsIDQ2ODIsIDkxNzgwNSwgMTI4MDksIDY0MDYsIDQ2ODUsIAorICAgIDkyNTA1LCAxMDg3OSwgMTAzNDcsIDQ2ODAsIDYzNDEsIDAsIDM4NTEsIDgxMzIsIDc0MzI1LCAwLCA5MTc5MDcsIDAsIAorICAgIDQxOTU4LCAxMTkxNzYsIDkxNzkwOCwgMCwgMCwgNDI2NTcsIDkyNDY4LCA3NjQzLCA0MjM3MywgMTE3MTQsIDY3NTg3LCAKKyAgICA0MzU2OCwgOTgzMTc1LCAxMTcxNywgNzY1MCwgMTA1OTQsIDY0OTUxLCA3NjQ3LCA3NjQ5LCAxMjgxNTUsIDc2NDYsIDAsIAorICAgIDc4MDgyLCA5NjUxLCAwLCAzODkxLCAwLCAwLCAyMzM3LCAxNzM1LCA3NDMyNCwgNjc4NjAsIDIzNjMsIDk4MzEzNSwgMCwgCisgICAgNDM1NjEsIDAsIDAsIDc0MTQ2LCAxODYwLCA3NDk1LCA3NTgwLCA1ODEyLCA3NDk3LCA3NTg0LCAxMTkxNDAsIDEyNzg1MywgCisgICAgMCwgMTIwMzQ3LCA3NzI3LCAwLCA4NDk4LCA2OTgxOCwgODk0OSwgMzA2NSwgNDI3MTksIDcxMzUsIDE1NjksIDkyMzc1LCAKKyAgICAxMjUzNCwgMTIxMjQsIDc2OTAsIDAsIDEyNTMzLCA5ODM4NzAsIDY0MTgsIDQ1NDMsIDc4MDg2LCA2OTY5LCAwLCA3NDgwMCwgCisgICAgMCwgNjc5NzQsIDExOTgwLCAxMjg2NTAsIDk4Mzc5MiwgNjM4OTQsIDEyMDc2MCwgMTIyODIsIDY2MTkyLCAwLCA3NDU5MiwgCisgICAgODg1MCwgNzQyNzUsIDkyMzgsIDEwNjE3LCA5MTc1NDUsIDAsIDkyNjI1LCAwLCAxMjc5MSwgMCwgMCwgMTI3ODQzLCA0NDQ3LCAKKyAgICA3MzczMiwgMTI3OTMsIDEyOTAwLCA5MjM3NywgMTA5NTAsIDAsIDc4MDg3LCAxMjc5MCwgNDE0MDAsIDExOTEyOCwgNjY2MDcsIAorICAgIDEyNzkyLCA0MjIzMiwgMTk0OTM4LCAxNzQ0LCAxMjc4OSwgMTAzNjYsIDEyMzE3LCA0MTMxMCwgOTgzODYwLCA0MTM5OSwgMCwgCisgICAgMCwgNTUyNTgsIDAsIDEyNjkwLCAwLCAwLCA0MzY3MiwgMTI3ODQwLCA0MTY1MiwgMjk3NCwgOTAxMCwgMTEzMTUsIDAsIAorICAgIDI3OCwgMCwgNDE0MDUsIDExOTI1NCwgMCwgMTAwNzcsIDYzODUzLCA3NDU1NywgNDI1ODYsIDAsIDAsIDYwMDIsIDAsIAorICAgIDQzNTUzLCAwLCA2NzkwMywgMCwgMTI3ODcsIDQxMzA4LCA3OTM0LCA2NTMwNiwgMCwgMCwgMCwgODY0NiwgOTgzMTg2LCAKKyAgICA3NzgyOSwgNzEzNjAsIDAsIDY0MTMsIDY1NTAsIDAsIDE5NDAsIDAsIDQzNjM3LCAyMjAsIDY1MTkzLCA0MzU1MSwgMTA2NzgsIAorICAgIDEwMDQ0LCAxMjgzMjIsIDAsIDAsIDY4NjU5LCA2NDAzLCA1NzA3LCAxMDM5MywgMTI3NTMyLCAwLCA2NjYxNCwgMCwgMCwgMCwgCiAgICAgMTAyOTcsIDAsIDM3NDIsIDAsIDM5NTksIDAsIDAsIDAsIDI0NjcsIDAsIDYwMDMsIDYzODQ0LCA2NjYzLCA4MDQwLCAwLCAKLSAgICA2Mzg0NSwgNDE4MiwgNzgxNzEsIDQ2NzYsIDEyMDUwMSwgMCwgMCwgMjUxMCwgMCwgMTAyMDgsIDc4MTY4LCA5MjM2MSwgCi0gICAgMTE1NDAsIDQzNTQ2LCA2NjkyLCAwLCA0MTA2MCwgMCwgMCwgOTA4MywgMCwgMCwgNzgxNDQsIDE1NTksIDYzODMxLCA5Njc3LCAKLSAgICAxMjAyNjAsIDAsIDY1MjU2LCAwLCA3NDA3MCwgMCwgMCwgMzY1LCAxMjA1NiwgNDMwMjcsIDEyMDQyMywgNDE3MTYsIAorICAgIDQzNzU4LCA0MTgyLCA3ODE3MSwgNDY3NiwgMTIwNTAxLCAwLCAwLCAyNTEwLCAwLCAxMDIwOCwgNzgxNjgsIDkyMzYxLCAKKyAgICAxMTU0MCwgNDM1NDYsIDY2OTIsIDAsIDQxMDYwLCAwLCA0NjY4LCA5MDgzLCAwLCAwLCA3ODE0NCwgMTU1OSwgNjM4MzEsIAorICAgIDk2NzcsIDEyMDI2MCwgMCwgNjUyNTYsIDAsIDc0MDcwLCAwLCAwLCAzNjUsIDEyMDU2LCA0MzAyNywgMTIwNDIzLCA0MTcxNiwgCiAgICAgMTI4MjM2LCAwLCAxMjA0NzIsIDU1MTYsIDI4NDUsIDc3MTcsIDgwMzYsIDQxNzE3LCA3MzgyNywgNTQ0LCAxMjA0NSwgCi0gICAgNjI3OCwgMCwgNTUxNSwgMCwgMCwgMCwgNjUzMzksIDQzMjIxLCA2NTE5NCwgMCwgNTUxNywgMCwgMCwgNzQ4NDEsIDY3ODg0LCAKLSAgICAwLCA2Nzg5MCwgNjc4ODUsIDY3ODgwLCA2Nzg4MSwgNjc4ODIsIDY3ODgzLCAwLCAwLCA2Nzg3OSwgMTI3MTg4LCAxOTAyLCAKLSAgICA2Nzg4NywgOTYzOCwgMTI5NzYsIDAsIDEyNDgzLCAxMjM2OCwgNDE3NjksIDQyNzI2LCA0MTc2NSwgMTI4ODE5LCA2NjY3LCAKLSAgICA2Nzg3NCwgNzU1NiwgNjc4NzgsIDc0MzUxLCAxMTI2NCwgOTg5LCA0MjY3NywgNjc4ODksIDAsIDEzMTEsIDkxNzk2NiwgCi0gICAgNDMyNiwgMTEwMDAsIDYzODI0LCAxMzA2OCwgMTA5MzIsIDEyODg4MCwgNjkxNywgNzgxNTUsIDAsIDk0OSwgNzgxNjIsIDAsIAotICAgIDYxNDgsIDg2MDUsIDQyMjUzLCA3ODE3NywgMCwgMCwgNDI3MTUsIDAsIDAsIDAsIDYzODcxLCAwLCA0MTc5NiwgMTI2OSwgCi0gICAgNjUzMCwgMCwgNjUwNTcsIDAsIDUxNDQsIDEyMjIxLCA0MjcxNiwgMCwgNDQzMSwgNDMzMSwgMCwgMTI4Njc1LCA0MTgzNCwgCi0gICAgNTI3OSwgMCwgMTAzMzYsIDgzMTIsIDAsIDQyNzAxLCAxMjg4MjUsIDAsIDc4MTY1LCA2NjAzNiwgMCwgMCwgNjQyOCwgCi0gICAgNDIyNzAsIDAsIDAsIDQzMDU5LCA0MjY2NiwgNTI1NiwgMTA2NywgMjU1LCAxMjEzMSwgMCwgOTQ5MywgMCwgNDEwMTQsIAotICAgIDExNzkzLCAwLCAwLCA3NDM5NCwgNDM0NjAsIDEwNjUzLCA0MjcyMywgMCwgMTE5NjMyLCAwLCA2NTYwLCA3MDE2LCA3NDI3NCwgCi0gICAgMCwgNDM1NTYsIDM5MjksIDczOTAwLCA2NjE0LCAyNzY4LCA5MjUwNCwgOTc0NiwgNTEzNSwgMTE4MTEsIDEyNzk2LCAKLSAgICAxMTk1MywgMCwgNjk3NjEsIDUxMzksIDM0NiwgNzQzMDMsIDYzMDUsIDEyNzk1LCA0Njc1LCA1MTY4LCA3ODU1MiwgCi0gICAgMTI3NzUzLCA3NDMxNSwgNzQzNjEsIDgyNTMsIDg4MTcsIDExMzYsIDAsIDQzNTYzLCA5MjIzMiwgMCwgMTk0NzUwLCA3MzkyLCAKLSAgICA4MjMwLCA5MzY1LCAwLCAwLCAwLCAwLCAwLCA0MDQxLCAwLCAyMzU3LCA0MzI0MCwgMTI3ODYsIDIyOSwgMTE5ODg1LCAKLSAgICAxMTk4ODQsIDQ0MDA0LCA3MTQyLCAxMTk4ODEsIDEyMzUwLCA2NTU1NCwgMTE5ODgyLCAxMTk4NzcsIDExOTg3NiwgMTI3ODUsIAotICAgIDYzODYzLCA0Mzc5NSwgNzc3MCwgMTA3MTIsIDY0ODUzLCAxMjY4NiwgMTE4OTE2LCA0MjM3NSwgMCwgMTI3MjM4LCA2NjM1MiwgCi0gICAgMTA0NzAsIDAsIDExMDU5LCAxMDc5MSwgOTE3OTQ0LCA0NTAsIDAsIDAsIDEwNDMyLCAxMjA5NywgNTQ1MCwgNjQ2OTEsIAotICAgIDEyMzMsIDAsIDQ0MDA5LCA3ODI4NCwgNjYzMzgsIDAsIDAsIDE4MzksIDExODc5OSwgMCwgMTA5MjcsIDE3MDEsIDAsIAorICAgIDYyNzgsIDAsIDU1MTUsIDAsIDAsIDk4MzA1MSwgNjUzMzksIDQzMjIxLCAyMjExLCAwLCA1NTE3LCAwLCAwLCA3NDg0MSwgCisgICAgNjc4ODQsIDAsIDY3ODkwLCA2Nzg4NSwgNjc4ODAsIDY3ODgxLCA2Nzg4MiwgNjc4ODMsIDAsIDAsIDY3ODc5LCAxMjcxODgsIAorICAgIDE5MDIsIDY3ODg3LCA5NjM4LCAxMjk3NiwgMTI2NTQ2LCAxMjQ4MywgMTIzNjgsIDQxNzY5LCA0MjcyNiwgNDE3NjUsIAorICAgIDczNjEsIDY2NjcsIDY3ODc0LCA3NTU2LCA2Nzg3OCwgNzQzNTEsIDExMjY0LCA5ODksIDQyNjc3LCA2Nzg4OSwgMCwgMTMxMSwgCisgICAgOTE3OTY2LCA0MzI2LCAxMTAwMCwgNjM4MjQsIDEzMDY4LCAxMDkzMiwgMTI4ODgwLCA2OTE3LCA3ODE1NSwgMCwgOTQ5LCAKKyAgICA3ODE2MiwgMCwgNjE0OCwgODYwNSwgNDIyNTMsIDc4MTc3LCAwLCAwLCA0MjcxNSwgMCwgMCwgMCwgNjM4NzEsIDAsIAorICAgIDQxNzk2LCAxMjY5LCA2NTMwLCAwLCA2NTA1NywgMCwgNTE0NCwgMTIyMjEsIDQyNzE2LCAwLCA0NDMxLCA0MzMxLCAKKyAgICA5ODM3MjAsIDEyODY3NSwgNDE4MzQsIDUyNzksIDAsIDEwMzM2LCA4MzEyLCAwLCA0MjcwMSwgMTI4ODI1LCAwLCA3ODE2NSwgCisgICAgNjYwMzYsIDAsIDAsIDY0MjgsIDQyMjcwLCAwLCA5ODM1OTYsIDQzMDU5LCA0MjY2NiwgNTI1NiwgMTA2NywgMjU1LCAKKyAgICAxMjEzMSwgOTgzNzEzLCA5NDkzLCA5ODM5NTksIDQxMDE0LCAxMTc5MywgMTk0OTIwLCAwLCA3NDM5NCwgNDM0NjAsIAorICAgIDEwNjUzLCA0MjcyMywgOTgzODQ1LCAxMTk2MzIsIDAsIDY1NjAsIDcwMTYsIDc0Mjc0LCA5ODM2MTUsIDQzNTU2LCAzOTI5LCAKKyAgICA2Nzk3NywgNjYxNCwgMjc2OCwgOTI1MDQsIDk3NDYsIDUxMzUsIDExODExLCAxMjc5NiwgMTE5NTMsIDAsIDY5NzYxLCAKKyAgICA1MTM5LCAzNDYsIDc0MzAzLCA2MzA1LCAxMjc5NSwgNDY3NSwgNTE2OCwgNzg1NTIsIDEyNzc1MywgNzQzMTUsIDc0MzYxLCAKKyAgICA4MjUzLCA4ODE3LCAxMTM2LCAwLCA0MzU2MywgOTIyMzIsIDAsIDE5NDc1MCwgNzM5MiwgODIzMCwgOTM2NSwgMCwgMCwgCisgICAgOTgzNjA3LCAwLCAwLCA0MDQxLCAwLCAyMzU3LCA0MzI0MCwgMTI3ODYsIDIyOSwgMTE5ODg1LCAxMTk4ODQsIDQ0MDA0LCAKKyAgICA3MTQyLCAxMTk4ODEsIDEyMzUwLCA2NTU1NCwgMTE5ODgyLCAxMTk4NzcsIDExOTg3NiwgMTI3ODUsIDYzODYzLCA0Mzc5NSwgCisgICAgNzc3MCwgMTA3MTIsIDY0ODUzLCAxMjY4NiwgMTE4OTE2LCA0MjM3NSwgMCwgMTI3MjM4LCA2NjM1MiwgMTA0NzAsIDAsIAorICAgIDExMDU5LCAxMDc5MSwgOTE3OTQ0LCA0NTAsIDExOTMyOCwgMCwgMTA0MzIsIDEyMDk3LCA1NDUwLCA2NDY5MSwgMTIzMywgMCwgCisgICAgNDQwMDksIDc4Mjg0LCA2NjMzOCwgMCwgMCwgMTgzOSwgMTE4Nzk5LCA5ODMyMTcsIDEwOTI3LCAxNzAxLCA5ODM2NTUsIAogICAgIDIzODgsIDQxNzQ5LCA0MTc2MSwgNTQ1MywgODM2MSwgMTE5ODY1LCA0MTc1OCwgNTQ0NCwgNDE3NjMsIDY0ODg5LCA3MTQzLCAKLSAgICA5MjQ5MywgNzg2NzcsIDAsIDkyNDI5LCA3ODE3NCwgNjY0MzIsIDg4MDEsIDMwNTMsIDQzNDAsIDAsIDAsIDY1ODEyLCAKLSAgICA5MTc4MzEsIDAsIDQxODI0LCAwLCAxMjAyMDMsIDE5NDgwMCwgMTk0ODAzLCA0MjcwMCwgMTk0ODA1LCAxMjc5ODAsIAorICAgIDkyNDkzLCA3ODY3NywgMCwgOTI0MjksIDc4MTc0LCA2NjQzMiwgODgwMSwgMzA1MywgNDM0MCwgOTgzMDQ0LCAwLCA2NTgxMiwgCisgICAgOTE3ODMxLCAwLCA0MTgyNCwgNjc5ODUsIDEyMDIwMywgMTk0ODAwLCAxOTQ4MDMsIDQyNzAwLCAxOTQ4MDUsIDEyNzk4MCwgCiAgICAgMTk0ODA3LCA3ODY3NiwgOTIzNTYsIDE5NDgwOCwgMCwgMCwgNDQ5MywgNDMzNiwgMCwgMjMxNCwgNDM2MDIsIDc4ODI2LCAKLSAgICAxMTkzMjUsIDE5NDgxMSwgNDI0MzksIDY0NjM4LCA0MjMyNywgNDM1MjgsIDQ0ODksIDE5NDc5MSwgMCwgMTk0NzkzLCAKLSAgICAxOTEyLCA0MjM4NSwgMTAzMDYsIDEwMzcwLCAwLCAwLCA4ODY3LCAxMDI1MCwgMTAyNTgsIDI3MTIsIDE2MzUsIDc4ODIxLCAKLSAgICAxNDEwLCA5MjY3MSwgMCwgMTE4ODc4LCAwLCAwLCA5OTE5LCAwLCA1NTksIDEyODE1NywgNDE4MjUsIDEyNzk3NSwgNzgxODgsIAotICAgIDQ4OTIsIDc0MDE2LCAxOTQ3ODEsIDY1NDIsIDQxOTU3LCAxMjg4NjUsIDU3NzcsIDAsIDc1OSwgNjU3NDksIDIwNzksIAotICAgIDY1MjQ4LCAxMjc4OCwgNjQ0ODcsIDY0NTUyLCAwLCAxMDIyMywgNDIwNjIsIDAsIDAsIDAsIDM2NjgsIDY1NzU0LCA0MzU2MCwgCi0gICAgMTIyMjYsIDAsIDY1MTQ5LCAyMzQwLCA0MTk1OSwgMTk0Nzg2LCAxOTQ3ODUsIDE5NDc4OCwgNDM2MTgsIDY1NzQ3LCAKLSAgICAxMDkzNywgMjk2MiwgMCwgMjMyMSwgMzU4NywgNjU3NDUsIDkyNDM2LCA4OTIxLCA5OTUyLCAwLCAwLCA0MjcxNCwgOTk1MSwgCi0gICAgNDM0MDksIDE5NDc3MCwgMjk0OSwgNjYwMTIsIDE5NDc3NSwgMTk0Nzc0LCAyOTU4LCA2ODM1OSwgNDE4MjAsIDQzMDM4LCAKLSAgICAyMzk1LCAwLCA5OTc2LCAxMjAwNDMsIDEyMDA1MCwgMTIwMDU4LCA2ODIyMCwgMTI4MTQzLCA0MjgwOSwgNDI4MDcsIDAsIAotICAgIDEyMDA0NiwgMTAxOTgsIDQxNTAsIDY0MzcxLCA4MzE4LCA0MTc5MCwgMCwgNDE4OTgsIDIzNjAsIDQxNzk0LCA5MTc5NDIsIAotICAgIDAsIDEyNzgxOCwgMCwgMCwgMjQxOCwgMCwgMjQxMSwgMTEzMzYsIDc5OSwgNjM4MjMsIDEwMjc2LCAxMDMwOCwgMTAzNzIsIAotICAgIDkxNzU0MSwgNDE3NzIsIDQyODEzLCAyMzE3LCAxMDI2MCwgMTE4OTgwLCA1NTI4NCwgOTIyMDMsIDAsIDEwMzg0LCAwLCAwLCAKLSAgICAwLCA3NzUzLCAyMzUxLCA2NjU1LCA2NDQ4OSwgMCwgMCwgNzc4NzIsIDQ0NDMsIDQyNzc5LCAyMzAsIDAsIDAsIDQzNTQ5LCAKLSAgICA0ODU1LCA0MjE1MCwgNjU3MzksIDU0NDEsIDQxODk2LCAxMDI4OCwgMTAzMjAsIDAsIDg1NSwgNzA0NiwgNjEwOSwgNjUwNDUsIAotICAgIDYzODM5LCA3ODE5OCwgMjA0OSwgMTAwOTgsIDAsIDc0MTQ1LCAxMjc5NDMsIDEwMjY0LCAxMDI4MCwgOTE4NCwgMTAzNzYsIAotICAgIDcwMTMsIDQ0NjcsIDAsIDAsIDAsIDQxODg3LCAwLCA0ODYyLCA5NzM1LCA2NTM3LCAxMjA1OTEsIDc0Mjg2LCAzOTE0LCAKLSAgICA5MjE3OCwgMCwgOTA2NSwgMTI5NjEsIDAsIDAsIDkyMjUzLCAwLCAyODksIDAsIDQ2OTQsIDExNDIwLCA0NjkwLCAwLCAKLSAgICAxMjA1MTQsIDkxNzk3OCwgNDY5MywgMCwgNDI3MjQsIDAsIDQ2ODgsIDEyMDQ1NCwgMCwgMCwgMTE5NjI5LCA4MjM4LCAKLSAgICAzMTEwLCAxMjAxNjIsIDAsIDEyMDE2MywgNjUyOCwgMTI3NTUzLCA0MzAzNSwgMTIwMTYxLCAyMTgsIDAsIDE1MjAsIDAsIAotICAgIDQ3ODYsIDAsIDQzMjI1LCA0NjAyLCAwLCA3ODE2NywgMTAwODgsIDY1NDgsIDAsIDEyMDE1NiwgNDM5NzgsIDg5ODgsIAotICAgIDg4ODgsIDAsIDAsIDAsIDAsIDEwNjY2LCAwLCA3MzkwMiwgNjk3NDAsIDAsIDAsIDk5NzUsIDAsIDExOTkwMiwgNDY4OSwgCi0gICAgODkzMiwgMCwgNjU1NjAsIDExOTIwOSwgNzQ0NDEsIDc4ODEwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMDA2NSwgCi0gICAgODIwNywgMCwgOTI2MTMsIDEyODAxMSwgMCwgNjYyLCAwLCA5MjQ0LCAxOTQ4NjMsIDAsIDExOTI2MSwgMCwgMCwgMCwgMCwgCi0gICAgNDE5MjksIDAsIDAsIDY2Njc0LCA0MTkyNiwgMTIwNDA4LCAxMjA0NDMsIDEwNTEzLCA2NDYzNywgMTk0ODYyLCAwLCA1MiwgCi0gICAgMTMxMTgsIDY0NzUsIDAsIDEyMDM0MSwgMTIwOTUsIDEwMjI1LCA0ODEyLCA5MjU3OCwgMCwgMCwgNzQwODUsIDAsIDM5NzgsIAotICAgIDAsIDkxNzk0NSwgMTI3ODIzLCAxMTU4MiwgMTIwNzYxLCAxMjI4MSwgMCwgNjU0NCwgMTMyNDEsIDAsIDY5NzgyLCAKKyAgICAxMTkzMjUsIDE5NDgxMSwgNDI0MzksIDY0NjM4LCA0MjMyNywgNDM1MjgsIDQ0ODksIDcxMzMxLCAwLCAxOTQ3OTMsIDE5MTIsIAorICAgIDQyMzg1LCAxMDMwNiwgMTAzNzAsIDAsIDAsIDg4NjcsIDEwMjUwLCAxMDI1OCwgMjcxMiwgMTYzNSwgNzg4MjEsIDE0MTAsIAorICAgIDkyNjcxLCA5ODMyNDQsIDExODg3OCwgMCwgMCwgOTkxOSwgMTIwNTI4LCA1NTksIDEyODE1NywgNDE4MjUsIDEyNzk3NSwgCisgICAgNzgxODgsIDQ4OTIsIDc0MDE2LCAxOTQ3ODEsIDY1NDIsIDQxOTU3LCAxMjg4NjUsIDU3NzcsIDAsIDc1OSwgNjU3NDksIAorICAgIDIwNzksIDY1MjQ4LCAxMjc4OCwgNjQ0ODcsIDY0NTUyLCAwLCAxMDIyMywgNDIwNjIsIDAsIDAsIDEyNjU3MywgMzY2OCwgCisgICAgNjU3NTQsIDQzNTYwLCAxMjIyNiwgNjc5OTEsIDY1MTQ5LCAyMzQwLCA0MTk1OSwgMTk0Nzg2LCAxOTQ3ODUsIDE5NDc4OCwgCisgICAgNDM2MTgsIDY1NzQ3LCAxMDkzNywgMjk2MiwgMCwgMjMyMSwgMzU4NywgNjU3NDUsIDkyNDM2LCA4OTIxLCA5OTUyLCAwLCAwLCAKKyAgICA0MjcxNCwgOTk1MSwgNDM0MDksIDE5NDc3MCwgMjk0OSwgNjYwMTIsIDE5NDc3NSwgMTk0Nzc0LCAyOTU4LCA2ODM1OSwgCisgICAgNDE4MjAsIDIzMDAsIDIzOTUsIDEyODU2MywgOTk3NiwgMTIwMDQzLCAxMjAwNTAsIDEyMDA1OCwgNjgyMjAsIDEyODE0MywgCisgICAgNDI4MDksIDQyODA3LCAwLCAxMjAwNDYsIDEwMTk4LCA0MTUwLCA2NDM3MSwgODMxOCwgNDE3OTAsIDY3OTc2LCA0MTg5OCwgCisgICAgMjM2MCwgNDE3OTQsIDkxNzk0MiwgNzEzMTQsIDEyNzgxOCwgMCwgMCwgMjQxOCwgOTgzMDk4LCAyNDExLCAxMTMzNiwgNzk5LCAKKyAgICA2MzgyMywgMTAyNzYsIDEwMzA4LCAxMDM3MiwgOTE3NTQxLCA0MTc3MiwgNDI4MTMsIDIzMTcsIDEwMjYwLCAxMTg5ODAsIAorICAgIDU1Mjg0LCA5MjIwMywgMCwgMTAzODQsIDk4MzIxOCwgMCwgMCwgNzc1MywgMjM1MSwgNjY1NSwgNjQ0ODksIDY5OTMxLCAwLCAKKyAgICA3Nzg3MiwgNDQ0MywgNDI3NzksIDIzMCwgMCwgMCwgNDM1NDksIDQ4NTUsIDQyMTUwLCA2NTczOSwgNTQ0MSwgNDE4OTYsIAorICAgIDEwMjg4LCAxMDMyMCwgMCwgODU1LCA3MDQ2LCA2MTA5LCA2NTA0NSwgNjM4MzksIDc4MTk4LCAyMDQ5LCAxMDA5OCwgMCwgCisgICAgNzQxNDUsIDEyNzk0MywgMTAyNjQsIDEwMjgwLCA5MTg0LCAxMDM3NiwgNzAxMywgNDQ2NywgMCwgMCwgMCwgNDE4ODcsIDAsIAorICAgIDQ4NjIsIDk3MzUsIDY1MzcsIDEyMDU5MSwgNzQyODYsIDM5MTQsIDkyMTc4LCA5Mzk3NiwgOTA2NSwgMTI5NjEsIDAsIDAsIAorICAgIDkyMjUzLCAwLCAyODksIDAsIDQ2OTQsIDExNDIwLCA0NjkwLCAwLCAxMjA1MTQsIDkxNzk3OCwgNDY5MywgNzM4OTMsIAorICAgIDQyNzI0LCAwLCA0Njg4LCAxMjA0NTQsIDAsIDAsIDY3OTk0LCA4MjM4LCAzMTEwLCAxMjAxNjIsIDk4Mzg5OSwgMTIwMTYzLCAKKyAgICA2NTI4LCAxMjc1NTMsIDQzMDM1LCA2OTg5OCwgMjE4LCAwLCAxNTIwLCAwLCA0Nzg2LCAwLCA0MzIyNSwgNDYwMiwgMCwgCisgICAgNzgxNjcsIDEwMDg4LCA2NTQ4LCAwLCAxMjAxNTYsIDQzOTc4LCA4OTg4LCA4ODg4LCAwLCAwLCAwLCAwLCAxMDY2NiwgMCwgCisgICAgNzM5MDIsIDY5NzQwLCAwLCAwLCA5OTc1LCAxMjgwMzksIDExOTkwMiwgNDY4OSwgODkzMiwgMCwgNjU1NjAsIDExOTIwOSwgCisgICAgNzQ0NDEsIDc4ODEwLCAwLCAwLCA2Nzk4NywgMCwgMCwgMCwgNjc5ODksIDAsIDEwMDY1LCA4MjA3LCAwLCA5MjYxMywgCisgICAgMTI4MDExLCAwLCA2NjIsIDAsIDkyNDQsIDE5NDg2MywgMCwgMTE5MjYxLCA5ODM0MjAsIDAsIDAsIDAsIDQxOTI5LCAwLCAwLCAKKyAgICA2NjY3NCwgNDE5MjYsIDEyMDQwOCwgMTIwNDQzLCAxMDUxMywgNjQ2MzcsIDE5NDg2MiwgNjgwMTMsIDUyLCAxMzExOCwgCisgICAgNjQ3NSwgMCwgMTIwMzQxLCAxMjA5NSwgMTAyMjUsIDQ4MTIsIDkyNTc4LCAwLCA2Nzk5MiwgNzQwODUsIDAsIDM5NzgsIDAsIAorICAgIDkxNzk0NSwgMTI3ODIzLCAxMTU4MiwgMTIwNzYxLCAxMjI4MSwgMCwgNjU0NCwgMTMyNDEsIDkzOTYxLCA2OTc4MiwgCiAgICAgMTI4NTU3LCAxOTQ4NjAsIDExNzY1LCA2NTI1OCwgMTAzNjksIDAsIDE1ODUsIDcxOTIsIDEwMjQ5LCA0MjIsIDE1MDAsIAogICAgIDIwMzYsIDk4NiwgMTk0ODU5LCA2NDM5NCwgNTc4MSwgNTU5OSwgNjQyOTQsIDI0OTQsIDEyMDQ1MCwgNDg2MSwgNzQwMjEsIAotICAgIDY0MzM0LCA3ODIwMywgMTI3ODA4LCAwLCA5MjI2NiwgNjUxMDIsIDg5NjEsIDY1ODQyLCAxMDI0MywgMTAyNDUsIDkxNzkzMywgCisgICAgNjQzMzQsIDc4MjAzLCAxMjc4MDgsIDAsIDkyMjY2LCA2NTEwMiwgODk2MSwgNjU4NDIsIDEwMjQzLCAxMDI0NSwgNzQxOTEsIAogICAgIDEyMDQxMCwgMCwgMTIwNDUzLCA2NDgyMSwgOTQ3OCwgMjUwOCwgOTI2ODMsIDAsIDIwMiwgMTI4MjQ2LCA3NDEzMSwgMTI0MiwgCiAgICAgNjU1MTQsIDAsIDYzOTQwLCAxMjg3MDYsIDY0NTMzLCAxMjAxMjksIDAsIDY3ODQyLCAxMTk5MCwgOTI0MzAsIDYzOTM5LCAKLSAgICA0MzM3NSwgNjU0NDAsIDI1MDQsIDAsIDc4NjcxLCA2NDgyOSwgMCwgNjk0MywgOTE3OTM0LCA1ODU5LCAwLCAyODU4LCAwLCAKLSAgICA3NDI5NCwgMCwgNjkyMzksIDAsIDExOTAyNywgMTI5OTIsIDI3NTMsIDE5MzYsIDc0NDkxLCA5MjU3NCwgMjc1MSwgMTI2NjIsIAotICAgIDI3NjMsIDg5NTMsIDY0NzAxLCAxMDczMSwgMTI5MjIsIDcwNTIsIDkxNzgzOSwgMCwgMCwgMCwgNjM5MjAsIDc0MTI4LCAKLSAgICAyODU2LCAxMTk5MTAsIDQ3LCAxMTk5MTEsIDEyNjk4NiwgNjU4NTgsIDAsIDAsIDAsIDc4OTksIDAsIDg0MTcsIDQzNzk4LCAKLSAgICA3MDcyLCAwLCAwLCA0MDMzLCAxMjgxNjQsIDQzOTkyLCAwLCAwLCAyMTIsIDY0NjAwLCAxOTAzLCAxMjMyMCwgMCwgMCwgMCwgCi0gICAgMCwgODkxNSwgMjc1OSwgOTQ1LCA2Njg5LCAwLCAwLCAwLCAwLCAxMjkxLCA3NDgyOCwgMCwgMCwgOTUzMSwgMTMxNTUsIAotICAgIDg1MDUsIDY4Mzc5LCAxMjA2MiwgMCwgMCwgNjU0ODcsIDkyMTg5LCA0MTgzNywgMTIwNjExLCAxMjA0MzIsIDAsIDAsIDAsIAotICAgIDEyMDQzMywgMCwgNjM5MzUsIDczOTYyLCAxMjA4MDYsIDY0Nzg3LCA0MzUyNCwgMCwgNjQ0MjYsIDAsIDE5NDk0OCwgMCwgMCwgCi0gICAgNjU2NjQsIDY2OTMsIDk4NDMsIDAsIDg2NzQsIDExOTg4NywgMTI4ODEyLCA5MjcxNSwgMCwgMTI2MjQsIDAsIDE2NzMsIAotICAgIDQ4MTEsIDkyMzgzLCA1OTg2LCA5MzM4LCAzMDQ2LCA3NDQ4MCwgNTk4NSwgOTE3OTI4LCAxMTk1OTgsIDk4MjAsIDAsIAotICAgIDEyMTg3LCAwLCAwLCA1OTg0LCAwLCA0MzMwOCwgNDM5MywgMCwgMCwgMCwgMCwgMCwgNzQ4MjYsIDY0NzMzLCAwLCAwLCAKLSAgICAzNDkxLCAwLCAwLCAxMjgyMTksIDM1MTQsIDY1NDg1LCAwLCA3NDkyLCAwLCA3NDYwNSwgOTI0ODMsIDc1MTQsIDAsIDAsIAotICAgIDE5NDczMSwgNzUwMiwgNzU4NywgNjgzNTMsIDAsIDAsIDYzOTI1LCAwLCA3NjEwLCAyMTksIDAsIDAsIDY5MiwgNDM1ODgsIAotICAgIDc0NDMzLCA0MTYzNSwgNDMyNDEsIDk2ODgsIDcxNDcsIDk1MzUsIDAsIDAsIDAsIDY0NTMwLCAwLCA2NDYxMCwgMTE4MDQsIAotICAgIDAsIDcxNDksIDc0NTMsIDAsIDgwMTMsIDAsIDkyMzAxLCAwLCA4ODk1LCA1MjUzLCAwLCA1NDU4LCAwLCAyODY2LCAwLCAKLSAgICAxMjc4NjAsIDY1MTExLCA2ODQzMywgNjcwMCwgMTIwNDg0LCAwLCAwLCAwLCA4OTYyLCA3Nzk2MCwgOTY0MSwgNDM2OTQsIAotICAgIDcwNTksIDAsIDAsIDk2MDQsIDc4NzAwLCA3NDQxLCA2MzgyNiwgNzg3MDYsIDExODk0MSwgNjQzOTIsIDE5NDczNSwgMCwgCi0gICAgMjg0NCwgMCwgNDE5NzQsIDAsIDEyMTM5LCAwLCAwLCAwLCAzMzU4LCA2NTI5NSwgMCwgMzEwNCwgMTk0NzM0LCAwLCAKLSAgICAxOTQ3NjUsIDAsIDUzMDgsIDAsIDI5MCwgMCwgMCwgMjg2MiwgMjc5MiwgMTk1MDg4LCAwLCAwLCAzMjY4LCA2NjU5MSwgMCwgCi0gICAgNjU1MiwgNDIzNjcsIDcwMzUsIDEyMDU1OCwgMCwgMCwgMTgxNCwgMCwgMTAyNDAsIDkyMzM4LCA3NDMwNSwgMCwgNzQ1MjgsIAotICAgIDY1OTAzLCAwLCA0MjY0NiwgNzYwNiwgMjU5MSwgMjgzNywgNDM0MSwgNzc5NTYsIDY0NDgyLCAxMjczMzcsIDgxNjMsIAotICAgIDY1MjcwLCAwLCAwLCAwLCA5MTEyLCA3NDQzMSwgODYzLCA5NDkwLCAxMTk4OTgsIDkxNzgzNywgNDMzMjMsIDEyMDUxMywgCi0gICAgMTE5ODk3LCA5MDcxLCAxMjczMzMsIDAsIDM2NTQsIDc3ODksIDk2MzcsIDAsIDI1MzUsIDY1NTA0LCA3NjUzLCA0MDk5MywgCi0gICAgMTE5ODk5LCA2NjU4NywgMTk1MDk4LCAwLCA5MjQwMSwgMCwgMTEwMDYsIDEyOTI3LCA3ODA3LCA4MDczLCAwLCAxMDYyOSwgCi0gICAgMCwgNzQwODgsIDMwNTYsIDEwODIzLCAxMjg3OTcsIDEyNzMyNywgODc2MiwgMTA1MDgsIDY5Njg5LCA3Mzc3MCwgNDM5NjksIAotICAgIDQzMTkzLCAxMDczNywgMzQ2MywgMCwgMCwgNjY2MzMsIDg2OTUsIDQ4MTUsIDExMzIyLCA1ODExLCAxMjM0NSwgNzA0OSwgMCwgCi0gICAgNTE5NSwgMTk1MDgxLCAwLCA2NjYzOSwgMCwgMCwgMCwgMTI4MDQxLCAwLCA5MjM4NSwgMTI2MiwgMCwgNjU2MSwgMTk5MzksIAotICAgIDAsIDAsIDAsIDExOTkwNiwgMCwgMCwgMCwgMCwgMCwgMTE5OTA3LCA2NDYxMiwgMTE5OTEsIDAsIDAsIDAsIDE1MDIsIDAsIAotICAgIDAsIDkxMDcsIDEyNzMxNiwgNTcwMiwgMzY1NSwgNjc2NjEsIDg0MzAsIDAsIDc0MTMyLCAxMjA3NTgsIDAsIDc0MDU3LCAKLSAgICA5NjAzLCAwLCA1MjU0LCAxMjA3NDIsIDc3MjQsIDc0Mzg4LCA2ODM3NSwgMTA3OTYsIDUxMjksIDAsIDAsIDU5MCwgNzU3OSwgCi0gICAgNTYxNCwgNTg5MywgOTIyODAsIDExNzIwLCA5MjQ5NiwgMTE3MjEsIDAsIDQ3OTgsIDAsIDExOTMxNiwgNjYwMzgsIDQ3OTMsIAotICAgIDY3ODUxLCAxMTcyNiwgMTI3NTQxLCA3NDIwNCwgNjg2MTAsIDAsIDY4NjI2LCA4OTQsIDMwMCwgOTE3ODEzLCAxMjMwNiwgCi0gICAgNjYyMzUsIDgwMDQsIDAsIDAsIDI1NjIsIDAsIDAsIDQyNTAzLCAwLCAxMTY1MiwgMCwgMCwgMTE5MjQxLCA5MjY0OSwgMCwgCi0gICAgNTA5NiwgNTA5NSwgMjg2MywgMzQyNCwgOTIyNDQsIDEwNDU0LCA0MjUzMCwgNTA5NCwgMTE5NjM4LCAwLCAxMzE1NiwgMCwgCi0gICAgMTA4MzIsIDUwOTMsIDAsIDAsIDAsIDUwOTIsIDEwNzA4LCAxMTMyNywgMCwgNTA5MSwgMTc2LCAwLCA5MTUzLCA0MTA0LCAKLSAgICA3ODU5OSwgNzg2MDEsIDEyMTUsIDQyNzEyLCA1NzQ0LCAxMjI3MiwgOTgzMiwgMTE3NzcsIDAsIDEyNzM3MSwgNDI4ODEsIDAsIAorICAgIDQzMzc1LCA2NTQ0MCwgMjUwNCwgMCwgNzg2NzEsIDY0ODI5LCA5ODM5MDEsIDY5NDMsIDkxNzkzNCwgNTg1OSwgMCwgMjg1OCwgCisgICAgOTgzMzUzLCA3NDI5NCwgOTgzOTA1LCA2OTIzOSwgMCwgMTE5MDI3LCAxMjk5MiwgMjc1MywgMTkzNiwgNzAwNzgsIDkyNTc0LCAKKyAgICAyNzUxLCAxMjY2MiwgMjc2MywgODk1MywgNjQ3MDEsIDEwNzMxLCAxMjkyMiwgNzA1MiwgOTE3ODM5LCAwLCAwLCAwLCAKKyAgICA2MzkyMCwgNzQxMjgsIDI4NTYsIDExOTkxMCwgNDcsIDY5OTA4LCAxMjY5ODYsIDY1ODU4LCAwLCAwLCAwLCA3ODk5LCAwLCAKKyAgICA4NDE3LCA0Mzc5OCwgNzA3MiwgMCwgMCwgNDAzMywgMTI4MTY0LCA0Mzk5MiwgMCwgMCwgMjEyLCA2NDYwMCwgMTkwMywgCisgICAgMTIzMjAsIDAsIDAsIDE5NDU2MywgMCwgODkxNSwgMjc1OSwgOTQ1LCA2Njg5LCAwLCAwLCAwLCAwLCAxMjkxLCA3NDgyOCwgCisgICAgMCwgMCwgOTUzMSwgMTMxNTUsIDg1MDUsIDY4Mzc5LCAxMjA2MiwgMCwgMCwgNjU0ODcsIDkyMTg5LCA0MTgzNywgMTIwNjExLCAKKyAgICAxMjA0MzIsIDAsIDAsIDAsIDEyMDQzMywgMCwgNjM5MzUsIDczOTYyLCAxMjA4MDYsIDY0Nzg3LCA0MzUyNCwgMCwgNjQ0MjYsIAorICAgIDAsIDE5NDk0OCwgMCwgMCwgNjU2NjQsIDY2OTMsIDk4NDMsIDAsIDg2NzQsIDExOTg4NywgMTI4ODEyLCA5MjcxNSwgMCwgCisgICAgMTI2MjQsIDAsIDE2NzMsIDQ4MTEsIDkyMzgzLCA1OTg2LCA5MzM4LCAzMDQ2LCA3NDQ4MCwgNTk4NSwgOTE3OTI4LCAKKyAgICAxMTk1OTgsIDk4MjAsIDAsIDEyMTg3LCAwLCAwLCA1OTg0LCAwLCA0MzMwOCwgNDM5MywgNjc2NTAsIDAsIDAsIDAsIDAsIAorICAgIDc0ODI2LCA2NDczMywgMCwgMCwgMzQ5MSwgMCwgMCwgMTI4MjE5LCAzNTE0LCA2NTQ4NSwgMCwgNzQ5MiwgMCwgNzQ2MDUsIAorICAgIDkyNDgzLCA3NTE0LCA5ODMzNTksIDAsIDE5NDczMSwgNzUwMiwgNzU4NywgNjgzNTMsIDAsIDAsIDYzOTI1LCAwLCA3NjEwLCAKKyAgICAyMTksIDAsIDAsIDY5MiwgNDM1ODgsIDc0NDMzLCA0MTYzNSwgNDMyNDEsIDk2ODgsIDcxNDcsIDk1MzUsIDAsIDkzOTkxLCAKKyAgICAwLCA2NDUzMCwgMCwgNjQ2MTAsIDExODA0LCAwLCA3MTQ5LCA3NDUzLCAwLCA4MDEzLCAwLCA5MjMwMSwgMCwgODg5NSwgCisgICAgNTI1MywgNzAwMjUsIDU0NTgsIDAsIDI4NjYsIDAsIDEyNzg2MCwgNjUxMTEsIDY4NDMzLCA2NzAwLCAxMjA0ODQsIDAsIAorICAgIDEyMDU4MywgMCwgODk2MiwgNzc5NjAsIDk2NDEsIDQzNjk0LCA3MDU5LCA5ODM2NjgsIDAsIDk2MDQsIDc4NzAwLCA3NDQxLCAKKyAgICA2MzgyNiwgNjc5NzAsIDExODk0MSwgNjQzOTIsIDE5NDczNSwgOTgzNjc4LCAyODQ0LCA5ODM5MzIsIDQxOTc0LCAwLCAKKyAgICAxMjEzOSwgNjc5NzEsIDAsIDAsIDMzNTgsIDY1Mjk1LCAwLCAzMTA0LCAxOTQ3MzQsIDAsIDE5NDc2NSwgOTgzMjI3LCAKKyAgICA1MzA4LCAwLCAyOTAsIDAsIDAsIDI4NjIsIDI3OTIsIDE5NTA4OCwgOTgzMDcwLCAwLCAzMjY4LCA2NjU5MSwgMCwgNjU1MiwgCisgICAgNDIzNjcsIDcwMzUsIDEyMDU1OCwgMCwgMCwgMTgxNCwgMCwgMTAyNDAsIDkyMzM4LCA3NDMwNSwgMCwgNzQ1MjgsIDY1OTAzLCAKKyAgICAwLCA0MjY0NiwgNzYwNiwgMjU5MSwgMjgzNywgNDM0MSwgNzc5NTYsIDY0NDgyLCAxMjczMzcsIDgxNjMsIDY1MjcwLCAwLCAKKyAgICA3NzkzMiwgMCwgOTExMiwgNzQ0MzEsIDg2MywgOTQ5MCwgMTE5ODk4LCAxMjgzNDksIDQzMzIzLCAxMjA1MTMsIDExOTg5NywgCisgICAgOTA3MSwgMTI3MzMzLCAwLCAzNjU0LCA3Nzg5LCA5NjM3LCAwLCAyNTM1LCA2NTUwNCwgNzY1MywgNDA5OTMsIDExOTg5OSwgCisgICAgNjY1ODcsIDE5NTA5OCwgMCwgOTI0MDEsIDk4Mzg4NSwgMTEwMDYsIDEyOTI3LCA3ODA3LCA4MDczLCAwLCAxMDYyOSwgMCwgCisgICAgNzQwODgsIDMwNTYsIDEwODIzLCAxMjg3OTcsIDEyNzMyNywgODc2MiwgMTA1MDgsIDY5Njg5LCA3Mzc3MCwgNDM5NjksIAorICAgIDQzMTkzLCAxMDczNywgMzQ2MywgOTgzMDY1LCAwLCA2NjYzMywgODY5NSwgNDgxNSwgMTEzMjIsIDU4MTEsIDEyMzQ1LCAKKyAgICA3MDQ5LCAxMTk5MTEsIDUxOTUsIDE5NTA4MSwgMCwgNjY2MzksIDAsIDAsIDAsIDEyODA0MSwgMCwgOTIzODUsIDEyNjIsIDAsIAorICAgIDY1NjEsIDE5OTM5LCAwLCAwLCAxMjg1MzUsIDExOTkwNiwgMCwgMCwgOTgzMDk3LCAwLCA5ODM2NTgsIDExOTkwNywgCisgICAgNjQ2MTIsIDExOTkxLCAwLCAwLCAwLCAxNTAyLCA5MTc1NjgsIDAsIDkxMDcsIDEyNzMxNiwgNTcwMiwgMzY1NSwgNjc2NjEsIAorICAgIDg0MzAsIDAsIDc0MTMyLCAxMjA3NTgsIDAsIDc0MDU3LCA5NjAzLCAwLCA1MjU0LCAxMjA3NDIsIDc3MjQsIDc0Mzg4LCAKKyAgICA2ODM3NSwgMTA3OTYsIDUxMjksIDAsIDAsIDU5MCwgNzU3OSwgNTYxNCwgNTg5MywgOTIyODAsIDExNzIwLCA5MjQ5NiwgCisgICAgMTE3MjEsIDAsIDQ3OTgsIDAsIDExOTMxNiwgNjYwMzgsIDQ3OTMsIDY3ODUxLCAxMTcyNiwgMTI3NTQxLCA3NDIwNCwgCisgICAgNjg2MTAsIDAsIDY4NjI2LCA4OTQsIDMwMCwgOTE3ODEzLCAxMjMwNiwgNjYyMzUsIDgwMDQsIDAsIDAsIDI1NjIsIAorICAgIDEyNjU1NSwgMCwgNDI1MDMsIDAsIDExNjUyLCAwLCAwLCAxMTkyNDEsIDY0Njk5LCAxMjY1NjksIDUwOTYsIDUwOTUsIAorICAgIDI4NjMsIDM0MjQsIDkyMjQ0LCAxMDQ1NCwgNDI1MzAsIDUwOTQsIDExOTYzOCwgMCwgMTMxNTYsIDAsIDEwODMyLCA1MDkzLCAKKyAgICAwLCA2OTg1MiwgMCwgNTA5MiwgMTA3MDgsIDExMzI3LCAwLCA1MDkxLCAxNzYsIDAsIDkxNTMsIDQxMDQsIDc4NTk5LCAKKyAgICA3ODYwMSwgMTIxNSwgNDI3MTIsIDU3NDQsIDEyMjcyLCA5ODMyLCAxMTc3NywgNzEyOTksIDEyNzM3MSwgNDI4ODEsIDAsIAogICAgIDg5ODAsIDExODk4OCwgNjc4NjEsIDg4NDQsIDcyMDksIDAsIDAsIDQyNzgsIDAsIDAsIDE5NDc4OSwgMCwgOTA3NCwgNDM0OCwgCi0gICAgMCwgNjU1NTgsIDY1OTQ2LCA4MTEzLCA3MDg3LCA1MjU1LCAxNzg2LCA2NjEsIDAsIDAsIDAsIDc0NDIzLCAwLCA1ODYsIAotICAgIDc0NDE0LCA2NDM1OSwgMTI2NywgMCwgNjU0NjgsIDAsIDY1NzMxLCAwLCAxMjcxNzksIDM2MjEsIDEyMDQ3MywgNjY2NjYsIAotICAgIDY0MjExLCAwLCA2NTYyLCAxMjkyOCwgMCwgMTIyOCwgNjU0OTAsIDExMzgzLCAwLCAwLCAwLCAxNzE0LCA3NDQwNiwgCi0gICAgMTI3ODMxLCAwLCAwLCAwLCA2NjIyNSwgMCwgMCwgNDI2NjAsIDExNDM2LCAyMDcwLCA2NCwgMTIwNjk0LCAwLCAxMDI5MSwgCi0gICAgMTAzMjMsIDI4MjYsIDAsIDAsIDAsIDQyMDA4LCA5NzA4LCA0MjcxMCwgMCwgNDIwMTEsIDQxOTk5LCA5MjE2NCwgMTIyMDYsIAotICAgIDU4MzksIDE3MDIsIDEyNDAsIDc0MDY1LCA2Mjg2LCAwLCAwLCA2NTgzMywgNzc4NDgsIDAsIDE3NjUsIDAsIDAsIDY1NTg4LCAKLSAgICAwLCAwLCAwLCA4NDAxLCAwLCA0MjAxNCwgMCwgNzAzMCwgMTk0NzA0LCAxMDQ3OSwgNjQ5NTksIDI4NTIsIDAsIDAsIDAsIDAsIAotICAgIDEyODU4NiwgOTE3OTUxLCA2OTYzLCAwLCAxMjY2NywgNjQ1NDAsIDc0Nzg2LCAxMDE0NywgMTI5MzUsIDEyNzU2OCwgMCwgMCwgCi0gICAgMCwgMCwgNzg3NTcsIDAsIDAsIDAsIDAsIDk5OTQsIDEyNDY3LCAyODY0LCA2NDcxOSwgMTE0OCwgMTA0MzUsIDExNDYyLCAKLSAgICA0MTY3NSwgMCwgMjc2NSwgMCwgMCwgMCwgMTIwNzE5LCAxMjgxODgsIDkyNTE2LCA2NjY2MiwgMCwgNzgxMzMsIDkzNjQsIAotICAgIDE5NDY4NSwgNzQ0MTYsIDAsIDAsIDc3OTg4LCAyNjMsIDEwNDQ5LCA0MTI4OCwgMCwgNDE4MzksIDc4Mzg3LCAwLCA3Nzk4NiwgCi0gICAgMCwgNjkzMSwgNjk3MjIsIDY0MzU1LCA3MTc3LCAxMjA1MzAsIDAsIDAsIDAsIDQyNjIsIDEwMjg1LCAxMDcyMiwgNDIwMjAsIAotICAgIDAsIDY4MDYsIDY5OTIsIDQyMDE5LCAwLCA0MTI5MCwgMCwgNzUwLCAwLCAwLCAxMDE2MywgNjM5MTMsIDc0MDY2LCA3MDMyLCAKLSAgICA1OTU0LCA2NDkzMSwgNDMxNCwgMCwgMTk4LCA2ODQ1MywgNzMwLCAxMjAwOTQsIDYzOTA3LCA3Nzk5MywgNzg4OTEsIAotICAgIDEzMTY1LCA3MTA3LCA3NDE3MSwgNDI4MDQsIDY3OCwgODI0MCwgNzgwMTUsIDEyODc4NCwgNDEzNzgsIDExMDA4LCA2OTM4LCAKLSAgICA5MjIyMiwgOTI2MzcsIDIwOTcsIDY2MjQ2LCAxMjA1NjAsIDAsIDAsIDAsIDM4OTIsIDY4NjMyLCA2OTY0MiwgNjcxMiwgCi0gICAgNjYwNDUsIDQxNDcwLCA2NDgwNSwgMCwgMCwgMCwgNjQ4MDEsIDAsIDQ5NywgMTIxMDAsIDU5NTMsIDkyNjY3LCA3Nzk2LCAKLSAgICA2OTY2OSwgNDMyNTQsIDczODMxLCAwLCAxMDI5MywgNTk1MiwgMTI4MSwgMCwgMCwgMCwgMTA2NzcsIDYwNCwgNDEwOTcsIAotICAgIDkxODIsIDE4NTksIDAsIDkyNjAzLCAzNDI1LCAxMjc0ODgsIDAsIDI4MzYsIDAsIDAsIDk3MDcsIDAsIDQzMjAyLCAwLCAwLCAKLSAgICA2NTE5OSwgMTczOCwgOTE3ODE4LCAxMjgxNTgsIDI4MzIsIDkyNzAyLCA5NjcwLCAxMjkzNywgMCwgNjYzNzQsIDkxNzk1NiwgCi0gICAgMCwgMjgyMiwgNjgxMjIsIDQ0MzYsIDkyNTE5LCAwLCA3Mzc1MiwgMCwgNjQ4NzIsIDkyMzQwLCAxMzMxLCAwLCAwLCAwLCAKLSAgICAxMjcwOCwgMCwgNTA5MCwgNTA4OSwgMCwgMCwgMTE5MTA5LCAwLCAxMjg2ODEsIDMxOSwgMTE4ODQ3LCA0MzQ3OSwgOTQ3NywgCi0gICAgMCwgMCwgNTA4NywgOTIzMjUsIDc2NDAsIDk2LCA1MDg2LCAwLCA5MjM3OSwgMCwgNTA4NSwgNjQyODYsIDkyNjY1LCAwLCAKLSAgICA0MTQyMiwgMCwgMTE5OTAxLCA0MjM1NiwgMzc3MiwgMCwgMCwgNTAxMSwgMCwgMCwgMCwgMCwgMTI3MTY1LCAxMjcyNDEsIAotICAgIDY2NzcsIDc2MDEsIDAsIDU5MSwgNjQ0MTksIDExODk1MywgOTIyNjIsIDAsIDExODkyMywgNzM3MzQsIDAsIDEwOTM5LCAKLSAgICA2MTA2LCA2OTMzLCA0MTI3MSwgNjc2MCwgMTE5OTAzLCA0NTM0LCA0MTI3MCwgMTI4ODc2LCAwLCA2NTU3NCwgMCwgOTIyNCwgCi0gICAgMCwgMzY3MSwgODk3NiwgMCwgMCwgNDEyNzUsIDYzNzIsIDEyODA4NCwgNTUyNjEsIDc5NjMsIDYzNzEsIDAsIDU2OCwgMCwgCi0gICAgNDEyNzMsIDAsIDAsIDY3MjgsIDAsIDk3MTUsIDAsIDgyNTgsIDExNzUzLCA3NDgyMCwgMCwgOTYwMiwgMTE4OTE5LCA0MiwgCi0gICAgMCwgNDM2ODgsIDAsIDAsIDc0NTgsIDAsIDAsIDY1Mzg1LCAxMTk5MDAsIDAsIDExOTU4LCAwLCA5MTc4MjIsIDAsIDYyNTQsIAotICAgIDQyNzIxLCA2NjMzNiwgODA0NSwgMTE1NTAsIDAsIDAsIDAsIDQyODU4LCAxMTc4OSwgNjU4NjgsIDU1NTcsIDEwMTMzLCAKLSAgICA5NzM3LCAxMzEwOSwgMCwgOTQ2NywgNTU1OCwgODg3OCwgMTI4MTM2LCAxOTUwMzYsIDc0NTEsIDY3MDYsIDEwMTQ2LCAwLCAKLSAgICA5MDg2LCA2NDU2NiwgMCwgNjQ1ODQsIDc0MzcsIDc0NTQsIDEyNTk0LCAxMjg2OTAsIDY4MzYyLCA0NTQ2LCA3NzMxLCAwLCAKLSAgICAxMTk5MDksIDc0MjQzLCAwLCAzODA1LCAwLCAxOTQ1NjUsIDQ0MDAxLCA0MTAwOCwgMCwgNjMwNywgMTk5NDksIDAsIDc1NDQsIAotICAgIDAsIDQzNDY5LCAwLCAwLCAxMDE1MiwgNjQ0MjIsIDY1MDkxLCAxMTkxMTMsIDc2MDIsIDY0NzI5LCAwLCA0MzUyMSwgMCwgCi0gICAgNDIzMDIsIDQzNzExLCA0MzUyMywgNDE0NDcsIDU1NTksIDAsIDg3MDQsIDIzOTcsIDU1NTYsIDAsIDAsIDAsIDkwMTEsIAotICAgIDk2MzAsIDkyNjMzLCAwLCAwLCA1NTA2LCAwLCAxOTExLCA2NjY1MiwgMCwgOTk2MSwgODg0NSwgNjY2OTgsIDAsIDEwNzkyLCAKLSAgICA4ODg5LCAwLCAyMDk4LCAwLCA2NDc1MSwgMCwgNjY2MjIsIDAsIDAsIDc0MzY0LCAwLCAwLCAwLCA3NDM2NSwgNzU1MiwgMCwgCi0gICAgMCwgNjUzODQsIDcyMjMsIDQ1NTksIDAsIDE5NTYsIDQzMTM4LCA3MDI0LCA2NTcyOCwgNjQ1MDEsIDEyMTAsIDE5NTA3NywgCi0gICAgNjUxNzUsIDEwMTg0LCA0MzE0MCwgNDM2NTQsIDAsIDAsIDAsIDM4LCA4NTMzLCA2NjY2OSwgMTE5MTI0LCAwLCAwLCAwLCAKLSAgICA0MzU3LCAwLCAxMTk4MzcsIDAsIDc0MjMzLCA5OTY3LCAxMTk4NTIsIDQyODYwLCAxMTk4MzgsIDEwOTQxLCA2NTcyMSwgCi0gICAgNjk2MiwgMCwgMCwgMTE5MzI0LCAwLCAxMTAxNCwgMTI3OTcyLCA4OTQyLCAxMjAwMCwgNjkyMjQsIDkyMjY3LCAxMjg1MzYsIAotICAgIDExOTc0LCA5MjIxMywgNDI3NzIsIDEyNzUxOCwgMTE2NTAsIDUwMTMsIDkyNjYzLCAxMjg2NzcsIDY2MjEwLCAxMTg5MTQsIAotICAgIDY2MTMsIDkyNDc2LCAwLCA0MzgxOSwgMCwgMCwgNjQ3MTQsIDAsIDAsIDEyMTYyLCAxMjEyMCwgNDM0NzYsIDAsIDExMDI0LCAKLSAgICA3NDgxMSwgNjYyMjgsIDEwNTYzLCAwLCAxMjcxOTYsIDQzNTIyLCAyNDYyLCAwLCAxODM3LCAwLCA2Mzk3MiwgNjk1NywgMCwgCi0gICAgMTIwNTU5LCA0OTUyLCA2NTcxOCwgNjU4MjcsIDU1MDQsIDY1NzIwLCA2NTcxNCwgNjU3MTUsIDY1NzE2LCAwLCAxMjcwMDUsIAotICAgIDEyNzExOSwgMzEwOSwgNjM5NzUsIDc0MDI4LCAwLCA4MTA3LCAxMTkyMzQsIDExMjcsIDQ1NSwgMCwgNjM5NjgsIDEyNzkyNCwgCi0gICAgMzQ4MywgMTE5NTkzLCAxOTg5LCAwLCA2OTY3OCwgOTEwNCwgMzUwMywgNjUzNzUsIDkyNTA5LCA2Njk0LCA0MjYzMywgCi0gICAgMTg2NCwgMCwgNzQzMDYsIDQxNDQ2LCAyNTQwLCA3NzM2LCAwLCA3NDA2NCwgMCwgMTA1MjEsIDAsIDQyMTczLCA5NzA1LCAKLSAgICA3NDEyNCwgODYwNCwgNjk1NSwgMTA5MTYsIDQzNjg0LCA2MTQ5LCAzODg3LCAxOTk1NiwgMTQxMSwgMjgyNCwgMCwgMTAxMDYsIAotICAgIDEyNzg2MiwgMTQwMywgMTI4ODM5LCAxMzQ3LCA5NjMxLCA3NDQ0NCwgMCwgMCwgMCwgMCwgODY0MCwgMCwgMjU4LCAxNjU0LCAKLSAgICAwLCAwLCAwLCA0MzMxNCwgMCwgMCwgNDA0MiwgMTE0NzgsIDI4NzMsIDYzOTc3LCAxMTUyMiwgNDE2NjgsIDg1NDksIAotICAgIDEwODYxLCAwLCA2Mzk3NiwgMCwgNjg2MjMsIDAsIDc0NTg1LCA0MTM5MSwgMCwgOTE3OTAzLCAzNzYsIDY5ODcsIDkyMjEsIAotICAgIDAsIDAsIDg4MjMsIDEyODY5NywgMTI5NDMsIDY1MTg1LCA0MTg2OSwgMTI2MTksIDAsIDEwMTU0LCAwLCA3NDQzOSwgMjAzOSwgCi0gICAgMCwgNzQ0NiwgMTY4NCwgNjM5NzksIDEwOTc0LCA0NTgsIDEyMDYyMCwgMCwgNjk3OTEsIDEyNzE2MSwgMTE5MTYsIDY1MDE2LCAKLSAgICAwLCA2OTY3MSwgNDIxMTUsIDAsIDEyMjg4LCA3ODA1NywgMCwgMTQ5MywgNDIxMTEsIDc1NTMsIDQwOTcsIDEyODE5OSwgCi0gICAgMTMwODAsIDAsIDY1ODA4LCA2NjEwLCA2MDMwLCA4MDU5LCA3NTA4LCAxMzEzMSwgMCwgMCwgMCwgODc5NCwgNDEyNzgsIAotICAgIDQxNjI5LCAxMjE1NCwgMTI4MTkyLCA0MTI3NywgNjQ2NTgsIDAsIDY0MzgwLCA2NjI1LCA3NDM1NCwgMTk5MDQsIDAsIDAsIAotICAgIDAsIDY1MzcxLCA3MDc4LCAwLCA4MzMsIDAsIDYzNjksIDAsIDEwOTc5LCA0MTk1MywgMCwgNDE0MzQsIDYwNjIsIDAsIDAsIAotICAgIDE5OTE2LCA2OTEzLCA5MzMsIDEzNDEsIDk4NDIsIDY3MjAsIDY1NzQ0LCAwLCAwLCAxMjgyOTUsIDAsIDc0MDUsIDEwMTA1LCAKLSAgICA2NTgxMCwgMCwgNDE2MzIsIDc0OTMsIDU1MjkwLCAwLCA0MTYyMiwgMCwgMCwgMTE5NTU2LCA3NDU4NCwgNzYzMiwgOTcxNiwgCi0gICAgMTk5NTQsIDk4MDUsIDU5OTAsIDkwMCwgMCwgNjM5NTcsIDAsIDAsIDM2MTIsIDAsIDY0Mzc2LCAwLCA1Mzg5LCA5MjU5NywgCi0gICAgMCwgNjU5MzgsIDI4MzksIDk2MjEsIDU4MiwgMCwgNzQzNjgsIDM3NDksIDY5NDksIDc1NjksIDc0MDYxLCAwLCAwLCA2OTU2LCAKLSAgICA0NDAzLCAxOTk2MiwgNjU1NTksIDMyOTksIDAsIDkxNzU2NiwgMTE5MTI3LCA5MDAyLCAwLCA3NDM3MiwgNzQyMzYsIDg0NzgsIAotICAgIDc1OTgsIDU0NiwgNDI0NjksIDY1NTY5LCAxOTE4LCA5NTQyLCA0NzIsIDc3MTYsIDEwMzE5LCAxMDM4MywgNjk5NiwgMCwgCi0gICAgNjM5NTIsIDg0MjUsIDM2MDIsIDgzMjgsIDExNzY0LCAxMTg4OTQsIDAsIDY5Nzk2LCA0MTE4MywgMTI5MDcsIDEwMjcxLCAKLSAgICAxMDI4NywgNjg0LCA0MzUyNSwgMCwgMjg1NCwgMTE5NTg2LCA0NTkyLCA2NTc1NSwgMCwgOTIyNTYsIDExOTYzLCA0MzYyMCwgCi0gICAgMCwgNzg4ODksIDAsIDAsIDEyODgwOSwgOTg4MSwgNDMxMTUsIDY1NzU3LCAzNDE1LCAwLCAwLCA4NjQ4LCAwLCA2NzQxLCAKLSAgICA0MzA0NywgMCwgMTMxODAsIDEyODUxNywgNDE4LCA5MTc5NzIsIDY0NDk1LCAxMDI5NSwgMTAzMjcsIDEwMzkxLCA0MTc1MiwgCi0gICAgNzQzMzksIDg2NDEsIDQxNDQ5LCAwLCA3NDEwMCwgMCwgMTA5MTEsIDY5NDIsIDAsIDEwMjQsIDQyODQ5LCA0MTc1MSwgCi0gICAgNjk3NzYsIDg5NDEsIDAsIDQ1NTQsIDAsIDkwMjMsIDExNjg1LCAwLCA5OTI4LCA3ODYxNywgMCwgMTE0MzcsIDQzNzQxLCAKLSAgICA5MjE2MywgMTIwNzAwLCA2Mzk2NywgMCwgNDEyMDYsIDEyMDcyNCwgOTA0OSwgNDExODUsIDQzMTY2LCAwLCAxMTY4MCwgCi0gICAgOTI2MTksIDExNjg2LCA3ODU0NCwgNjUyMjQsIDQ1NjUsIDQ2NTUsIDExOTU1MywgMCwgOTIxODMsIDY0NTIzLCAxMDM0MywgCi0gICAgMTA0MDcsIDAsIDY2NjcxLCAxMTQ2NiwgMCwgMTI4MDAzLCA0Mjg5MCwgMCwgMTIwNTAsIDY4MjAxLCAyODYwLCAwLCAwLCAwLCAKLSAgICA0Mjc5MiwgNTc0MywgMTA0MjQsIDEyMDY1LCA0Mjg3MiwgMCwgOTIzNDIsIDAsIDg4NzUsIDAsIDAsIDkxNzk5MSwgNzUzMSwgCi0gICAgMTI4NDcsIDI0MTMsIDAsIDc4NjM1LCA5NjIsIDAsIDEyODU1LCA0MTE5NiwgNDI1NjQsIDAsIDE1ODIsIDAsIDU1MDgsIDAsIAotICAgIDAsIDAsIDEwODAxLCAwLCA5MjM1NCwgMCwgNzE3MywgNDk2LCAxMDQzOSwgNDMxMywgNjQ2MDcsIDY5NjM4LCA3ODYwLCAwLCAKLSAgICA5MDYsIDQyNzkzLCAyODQyLCA2NDA1LCA2NDcyMiwgMTMxMzIsIDc5OCwgNjQ2OTQsIDEyODAxLCA4NDA2LCAxMTUzLCAKLSAgICA5MjE3MywgNjQ3ODgsIDAsIDgwNTQsIDkxNzQsIDEyODY1MiwgOTE3OTc2LCA5OTY0LCAwLCA0MTYxMSwgNDY0MiwgNjY1NzQsIAotICAgIDExNTU2LCA5MTc5ODIsIDAsIDc4ODU3LCA0MjA4OSwgNzg4NTUsIDkwMDgsIDAsIDAsIDE5NTA5NiwgNDIwNzksIDkxNzk4MSwgCi0gICAgNzc5MjQsIDQyNTEzLCAwLCA0Mjg0MiwgNzM5ODUsIDY1Mjg1LCAxMTg5NzQsIDEyNzAwMywgMCwgMCwgMCwgMCwgMTEzMzUsIAotICAgIDY0MDY5LCA0MjA5MywgMzkyMCwgMCwgMCwgMCwgMCwgNDU4MCwgNDE5NjcsIDAsIDY0Mzg0LCA5MjE2NywgMTE5MTU4LCAKLSAgICAzMDIxLCA0MjAwNCwgMCwgMCwgNDIzMTcsIDQxOTk4LCAwLCA2OTQ2LCAwLCAwLCAwLCAxMjgxOTMsIDY1MjA0LCAwLCAKLSAgICA2ODExMywgNDI2OTAsIDk4ODAsIDQyMDEwLCA3NDgyNCwgNjQ1ODksIDEwMTExLCA2NDg3NSwgMTI3ODgwLCA2ODM5OSwgCi0gICAgNDM5OTgsIDExMzYwLCAwLCAwLCAwLCAxMTg4MjYsIDQyMTQ5LCAwLCAwLCAwLCA2NDk0MSwgNzc5MTksIDEyMDQyMSwgCi0gICAgMTI4MDc3LCAwLCA1NTI0NywgNDExMCwgNjYwMDUsIDY5NTksIDEwOTI5LCAxMTkxMTAsIDAsIDY2NzAzLCA3NzkyMSwgCi0gICAgODYxNywgNDE5ODIsIDYwMjUsIDY5MjQyLCAwLCAwLCAwLCAwLCA5NTk3LCA0MjA5OSwgNDMxNzIsIDAsIDEwMTE3LCAwLCAKKyAgICAwLCA2NTU1OCwgNjU5NDYsIDgxMTMsIDcwODcsIDUyNTUsIDE3ODYsIDY2MSwgMCwgMCwgMCwgNzQ0MjMsIDcxMzQ1LCA1ODYsIAorICAgIDc0NDE0LCA2NDM1OSwgMTI2NywgMTI4MjY5LCA2NTQ2OCwgMCwgNjU3MzEsIDAsIDEyNzE3OSwgMzYyMSwgMTIwNDczLCAKKyAgICA2NjY2NiwgNjQyMTEsIDAsIDY1NjIsIDEyOTI4LCAwLCAxMjI4LCA2NTQ5MCwgMTEzODMsIDAsIDAsIDAsIDE3MTQsIAorICAgIDc0NDA2LCAxMjc4MzEsIDAsIDk4MzkxMiwgMCwgNjYyMjUsIDAsIDAsIDQyNjYwLCAxMTQzNiwgMjA3MCwgNjQsIDEyMDY5NCwgCisgICAgMCwgMTAyOTEsIDEwMzIzLCAyODI2LCAwLCAwLCAwLCA0MjAwOCwgOTcwOCwgNDI3MTAsIDAsIDQyMDExLCA0MTk5OSwgCisgICAgOTIxNjQsIDEyMjA2LCA1ODM5LCAxNzAyLCAxMjQwLCA3NDA2NSwgNjI4NiwgMCwgOTgzOTYwLCA2NTgzMywgNzc4NDgsIDAsIAorICAgIDE3NjUsIDAsIDAsIDY1NTg4LCAwLCAwLCAwLCA4NDAxLCAwLCA0MjAxNCwgMCwgNzAzMCwgMTk0NzA0LCAxMDQ3OSwgCisgICAgNjQ5NTksIDI4NTIsIDAsIDAsIDAsIDAsIDEyODU4NiwgOTE3OTUxLCA2OTYzLCAwLCAxMjY2NywgNjQ1NDAsIDc0Nzg2LCAKKyAgICAxMDE0NywgMTI5MzUsIDEyNzU2OCwgMTI2NDgzLCAwLCAwLCAwLCA3ODc1NywgMCwgMCwgMCwgMCwgOTk5NCwgMTI0NjcsIAorICAgIDI4NjQsIDY0NzE5LCAxMTQ4LCAxMDQzNSwgMTE0NjIsIDQxNjc1LCA3MDg0LCAyNzY1LCAwLCA0MzM4MiwgMCwgMTIwNzE5LCAKKyAgICAxMjgxODgsIDkyNTE2LCA2NjY2MiwgMCwgNzgxMzMsIDkzNjQsIDE5NDY4NSwgNzQ0MTYsIDAsIDAsIDc3OTg4LCAyNjMsIAorICAgIDEwNDQ5LCA0MTI4OCwgMCwgNDE4MzksIDc4Mzg3LCA5ODM3MzMsIDc3OTg2LCAwLCA2OTMxLCA2OTcyMiwgNjQzNTUsIAorICAgIDcxNzcsIDcwMTA1LCAwLCAwLCAwLCA0MjYyLCAxMDI4NSwgMTA3MjIsIDQyMDIwLCAxMjY1NzUsIDY4MDYsIDY5OTIsIAorICAgIDQyMDE5LCAwLCA0MTI5MCwgOTgzNzA3LCA3NTAsIDAsIDcxMzA0LCAxMDE2MywgNjM5MTMsIDcxMzAwLCA3MDMyLCA1OTU0LCAKKyAgICA2NDkzMSwgNDMxNCwgMCwgMTk4LCA2ODQ1MywgNzMwLCAxMjAwOTQsIDYzOTA3LCA3Nzk5MywgNzg4OTEsIDEzMTY1LCAKKyAgICA3MTA3LCA3NDE3MSwgNDI4MDQsIDY3OCwgODI0MCwgNzgwMTUsIDEyODc4NCwgNDEzNzgsIDExMDA4LCA2OTM4LCA3MDAyNiwgCisgICAgOTI2MzcsIDIwOTcsIDY2MjQ2LCAxMjA1NjAsIDAsIDAsIDAsIDM4OTIsIDY4NjMyLCA2OTY0MiwgNjcxMiwgNjYwNDUsIAorICAgIDQxNDcwLCA2NDgwNSwgMCwgMCwgMTI4MjE1LCA2NDgwMSwgMCwgNDk3LCAxMjEwMCwgNTk1MywgOTI2NjcsIDc3OTYsIAorICAgIDY5NjY5LCA0MzI1NCwgNzM4MzEsIDAsIDEwMjkzLCA1OTUyLCAxMjgxLCA0Mzc0NywgMCwgMCwgMTA2NzcsIDYwNCwgCisgICAgNDEwOTcsIDkxODIsIDE4NTksIDAsIDkyNjAzLCAzNDI1LCAxMjc0ODgsIDAsIDI4MzYsIDAsIDAsIDk3MDcsIDAsIDQzMjAyLCAKKyAgICAwLCAwLCA2NTE5OSwgMTczOCwgOTE3ODE4LCAxMjgxNTgsIDI4MzIsIDkyNzAyLCA5NjcwLCAxMjkzNywgMCwgNjYzNzQsIAorICAgIDkxNzk1NiwgMCwgMjgyMiwgNjgxMjIsIDQ0MzYsIDkyNTE5LCA5ODM3MTQsIDczNzUyLCAwLCA2NDg3MiwgOTIzNDAsIAorICAgIDEzMzEsIDAsIDAsIDAsIDEyNzA4LCAwLCA1MDkwLCA1MDg5LCAxMjc5NzcsIDAsIDExOTEwOSwgMCwgMTI4NjgxLCAzMTksIAorICAgIDExODg0NywgNDM0NzksIDk0NzcsIDAsIDAsIDUwODcsIDkyMzI1LCA3NjQwLCA5NiwgNTA4NiwgMCwgOTIzNzksIDAsIAorICAgIDUwODUsIDY0Mjg2LCA5MjY2NSwgMCwgNDE0MjIsIDAsIDExOTkwMSwgNDIzNTYsIDM3NzIsIDAsIDAsIDUwMTEsIDAsIDAsIAorICAgIDEyNjU4NywgMCwgMTI3MTY1LCAxMjcyNDEsIDY2NzcsIDc2MDEsIDAsIDU5MSwgNjQ0MTksIDExODk1MywgOTIyNjIsIDAsIAorICAgIDExODkyMywgNzAwODQsIDAsIDEwOTM5LCA2MTA2LCA2OTMzLCA0MTI3MSwgNjc2MCwgNzEzNDMsIDQ1MzQsIDQxMjcwLCAKKyAgICAxMjg4NzYsIDAsIDY1NTc0LCAwLCA5MjI0LCA2OTg1MywgMzY3MSwgODk3NiwgMTI2NDc0LCAwLCA0MTI3NSwgNjM3MiwgCisgICAgMTI4MDg0LCA1NTI2MSwgNzk2MywgNjM3MSwgMCwgNTY4LCAwLCA0MTI3MywgOTgzNzIxLCAwLCA2NzI4LCAwLCA5NzE1LCAwLCAKKyAgICA4MjU4LCAxMTc1MywgNzQ4MjAsIDAsIDk2MDIsIDExODkxOSwgNDIsIDAsIDQzNjg4LCAwLCAwLCA3NDU4LCAwLCAwLCAKKyAgICA2NTM4NSwgMTE5OTAwLCAwLCAxMTk1OCwgMCwgOTE3ODIyLCAwLCA2MjU0LCA0MjcyMSwgNjYzMzYsIDgwNDUsIDExNTUwLCAKKyAgICAwLCAwLCA5ODM1OTcsIDQyODU4LCAxMTc4OSwgNjU4NjgsIDU1NTcsIDEwMTMzLCA5NzM3LCAxMzEwOSwgMCwgOTQ2NywgCisgICAgNTU1OCwgODg3OCwgMTI4MTM2LCAxOTUwMzYsIDc0NTEsIDY3MDYsIDEwMTQ2LCAwLCA5MDg2LCA2NDU2NiwgMCwgNjQ1ODQsIAorICAgIDc0MzcsIDc0NTQsIDEyNTk0LCAxMjg2OTAsIDY4MzYyLCA0NTQ2LCA3NzMxLCAwLCA3MDA0OCwgNzQyNDMsIDAsIDM4MDUsIAorICAgIDAsIDE5NDU2NSwgNDQwMDEsIDQxMDA4LCAwLCA2MzA3LCAxOTk0OSwgOTgzNzgxLCA3NTQ0LCA5ODMwNDUsIDQzNDY5LCAwLCAKKyAgICAwLCAxMDE1MiwgNjQ0MjIsIDY1MDkxLCAxMTkxMTMsIDc2MDIsIDY0NzI5LCAwLCA0MzUyMSwgMCwgNDIzMDIsIDQzNzExLCAKKyAgICA0MzUyMywgNDE0NDcsIDU1NTksIDAsIDg3MDQsIDIzOTcsIDU1NTYsIDAsIDAsIDAsIDkwMTEsIDk2MzAsIDkyNjMzLCAwLCAKKyAgICA5Mzk5OCwgNTUwNiwgMCwgMTkxMSwgNjY2NTIsIDAsIDk5NjEsIDg4NDUsIDY2Njk4LCAwLCAxMDc5MiwgODg4OSwgMCwgCisgICAgMjA5OCwgMCwgNjQ3NTEsIDAsIDY2NjIyLCAwLCAwLCA3NDM2NCwgMCwgMCwgOTgzNzk2LCA3NDM2NSwgNzU1MiwgMCwgMCwgCisgICAgNjUzODQsIDcyMjMsIDQ1NTksIDAsIDE5NTYsIDQzMTM4LCA3MDI0LCA2NTcyOCwgNjQ1MDEsIDEyMTAsIDE5NTA3NywgCisgICAgNjUxNzUsIDEwMTg0LCA0MzE0MCwgNDM2NTQsIDAsIDAsIDAsIDM4LCA4NTMzLCA2NjY2OSwgMTE5MTI0LCA5ODMyODUsIAorICAgIDk4Mzc4MywgMCwgNDM1NywgMCwgMTE5ODM3LCA5MTc4NjMsIDc0MjMzLCA5OTY3LCA3ODg4NCwgNDI4NjAsIDExOTgzOCwgCisgICAgMTA5NDEsIDY1NzIxLCA2OTYyLCAwLCAwLCAxMTkzMjQsIDAsIDExMDE0LCAxMjc5NzIsIDg5NDIsIDEyMDAwLCA2OTIyNCwgCisgICAgOTIyNjcsIDEyODUzNiwgMTE5NzQsIDkyMjEzLCA0Mjc3MiwgMTI3NTE4LCAxMTY1MCwgNTAxMywgOTI2NjMsIDEyNjU4MywgCisgICAgNjYyMTAsIDExODkxNCwgNjYxMywgOTI0NzYsIDAsIDQzODE5LCA5ODM3NjEsIDAsIDY0NzE0LCAwLCAwLCAxMjE2MiwgCisgICAgMTIxMjAsIDQzNDc2LCA5ODM3NTcsIDExMDI0LCA3NDgxMSwgNjYyMjgsIDEwNTYzLCAwLCAxMjcxOTYsIDQzNTIyLCAyNDYyLCAKKyAgICAwLCAxODM3LCAwLCA2Mzk3MiwgNjk1NywgMCwgMTIwNTU5LCA0OTUyLCA2NTcxOCwgNjU4MjcsIDU1MDQsIDY1NzIwLCAKKyAgICA2NTcxNCwgNjU3MTUsIDY1NzE2LCAwLCAxMjcwMDUsIDEyNzExOSwgMzEwOSwgNjM5NzUsIDc0MDI4LCAwLCA4MTA3LCAKKyAgICAxMTkyMzQsIDExMjcsIDQ1NSwgMCwgNjM5NjgsIDEyNzkyNCwgMzQ4MywgMTE5NTkzLCAxOTg5LCAwLCA2OTY3OCwgOTEwNCwgCisgICAgMzUwMywgNjUzNzUsIDkyNTA5LCA2Njk0LCA0MjYzMywgMTg2NCwgMCwgNzQzMDYsIDQxNDQ2LCAyNTQwLCA3NzM2LCAwLCAKKyAgICA3NDA2NCwgMCwgMTA1MjEsIDAsIDQyMTczLCA5NzA1LCA3NDEyNCwgODYwNCwgNjk1NSwgMTA5MTYsIDQzNjg0LCA2MTQ5LCAKKyAgICAzODg3LCAxOTk1NiwgMTQxMSwgMjgyNCwgMCwgMTAxMDYsIDEyNzg2MiwgMTQwMywgMTI4ODM5LCAxMzQ3LCA5NjMxLCAKKyAgICA3NDQ0NCwgMCwgMCwgMCwgMCwgODY0MCwgMCwgMjU4LCAxNjU0LCAwLCAwLCAwLCA0MzMxNCwgMCwgMCwgNDA0MiwgMTE0NzgsIAorICAgIDI4NzMsIDYzOTc3LCAxMTUyMiwgNDE2NjgsIDg1NDksIDEwODYxLCAwLCA2Mzk3NiwgMCwgNjg2MjMsIDAsIDc0NTg1LCAKKyAgICA0MTM5MSwgMCwgOTE3OTAzLCAzNzYsIDY5ODcsIDkyMjEsIDAsIDAsIDg4MjMsIDEyODY5NywgMTI5NDMsIDY1MTg1LCAKKyAgICA0MTg2OSwgMTI2MTksIDAsIDEwMTU0LCA5ODMwNDMsIDc0NDM5LCAyMDM5LCAwLCA3NDQ2LCAxNjg0LCA2Mzk3OSwgMTA5NzQsIAorICAgIDQ1OCwgMTIwNjIwLCAwLCA2OTc5MSwgMTI3MTYxLCAxMTkxNiwgNjUwMTYsIDAsIDY5NjcxLCA0MjExNSwgOTgzMTMzLCAKKyAgICAxMjI4OCwgNzgwNTcsIDAsIDE0OTMsIDQyMTExLCA3NTUzLCA0MDk3LCAxMjgxOTksIDEzMDgwLCAwLCA2NTgwOCwgNjYxMCwgCisgICAgNjAzMCwgODA1OSwgNzUwOCwgMTMxMzEsIDAsIDk4MzQyMywgMCwgODc5NCwgNDEyNzgsIDQxNjI5LCAxMjE1NCwgMTI4MTkyLCAKKyAgICA0MTI3NywgNjQ2NTgsIDAsIDY0MzgwLCA2NjI1LCA3NDM1NCwgMTk5MDQsIDAsIDAsIDAsIDY1MzcxLCA3MDc4LCAwLCA4MzMsIAorICAgIDAsIDYzNjksIDAsIDEwOTc5LCA0MTk1MywgMCwgNDE0MzQsIDYwNjIsIDAsIDAsIDE5OTE2LCA2OTEzLCA5MzMsIDEzNDEsIAorICAgIDk4NDIsIDY3MjAsIDY1NzQ0LCAwLCA5ODM1OTIsIDEyODI5NSwgMCwgNzQwNSwgMTAxMDUsIDY1ODEwLCAwLCA0MTYzMiwgCisgICAgNzQ5MywgNTUyOTAsIDAsIDQxNjIyLCAwLCAwLCAxMTk1NTYsIDc0NTg0LCA3NjMyLCA5NzE2LCAxOTk1NCwgOTgwNSwgCisgICAgNTk5MCwgOTAwLCAwLCA2Mzk1NywgMCwgMCwgMzYxMiwgMCwgNjQzNzYsIDkzOTg3LCA1Mzg5LCA5MjU5NywgMCwgNjU5MzgsIAorICAgIDI4MzksIDk2MjEsIDU4MiwgMCwgNzQzNjgsIDM3NDksIDY5NDksIDc1NjksIDc0MDYxLCAwLCAwLCA2OTU2LCA0NDAzLCAKKyAgICAxOTk2MiwgNjU1NTksIDMyOTksIDAsIDkxNzU2NiwgMTE5MTI3LCA5MDAyLCAwLCA3NDM3MiwgNzQyMzYsIDg0NzgsIDc1OTgsIAorICAgIDU0NiwgNDI0NjksIDY1NTY5LCAxOTE4LCA5NTQyLCA0NzIsIDc3MTYsIDEwMzE5LCAxMDM4MywgNjk5NiwgMCwgNjM5NTIsIAorICAgIDg0MjUsIDM2MDIsIDgzMjgsIDExNzY0LCAxMTg4OTQsIDAsIDY5Nzk2LCA0MTE4MywgMTI5MDcsIDEwMjcxLCAxMDI4NywgCisgICAgNjg0LCA0MzUyNSwgMCwgMjg1NCwgMTE5NTg2LCA0NTkyLCA2NTc1NSwgMCwgOTIyNTYsIDExOTYzLCA0MzYyMCwgMCwgCisgICAgNzgyNDksIDAsIDEyODU1MSwgMTI4ODA5LCA5ODgxLCA0MzExNSwgNjU3NTcsIDM0MTUsIDExOTEzMSwgMCwgODY0OCwgMCwgCisgICAgNjc0MSwgNDMwNDcsIDAsIDEzMTgwLCAxMjg1MTcsIDQxOCwgOTE3OTcyLCA2NDQ5NSwgMTAyOTUsIDEwMzI3LCAxMDM5MSwgCisgICAgNDE3NTIsIDc0MzM5LCA4NjQxLCA0MTQ0OSwgMCwgNzQxMDAsIDAsIDEwOTExLCA2OTQyLCAwLCAxMDI0LCA0Mjg0OSwgCisgICAgNDE3NTEsIDY5Nzc2LCA4OTQxLCA5ODM1NTYsIDQ1NTQsIDAsIDkwMjMsIDExNjg1LCAwLCA5OTI4LCA3ODYxNywgMCwgCisgICAgMTE0MzcsIDQzNzQxLCA5MjE2MywgMTIwNzAwLCA2Mzk2NywgOTgzNDc1LCA0MTIwNiwgMTIwNzI0LCA5MDQ5LCA0MTE4NSwgCisgICAgNDMxNjYsIDAsIDExNjgwLCA5MjYxOSwgMTE2ODYsIDc4NTQ0LCA2NTIyNCwgNDU2NSwgNDY1NSwgMTE5NTUzLCAwLCAKKyAgICA5MjE4MywgNjQ1MjMsIDEwMzQzLCAxMDQwNywgMCwgNjY2NzEsIDExNDY2LCAwLCAxMjgwMDMsIDQyODkwLCA3NDAxMywgCisgICAgMTIwNTAsIDY4MjAxLCAyODYwLCAwLCAwLCAwLCA0Mjc5MiwgNTc0MywgMTA0MjQsIDEyMDY1LCA0Mjg3MiwgMCwgOTIzNDIsIAorICAgIDAsIDg4NzUsIDAsIDAsIDkxNzk5MSwgNzUzMSwgMTI4NDcsIDI0MTMsIDAsIDc4NjM1LCA5NjIsIDAsIDEyODU1LCA0MTE5NiwgCisgICAgNDI1NjQsIDAsIDE1ODIsIDk4MzcwNiwgNTUwOCwgMCwgMCwgMCwgMTA4MDEsIDY5ODc2LCA5MjM1NCwgMCwgNzE3MywgNDk2LCAKKyAgICAxMDQzOSwgNDMxMywgNjQ2MDcsIDY5NjM4LCA3ODYwLCAwLCA5MDYsIDQyNzkzLCAyODQyLCA2NDA1LCA2NDcyMiwgMTMxMzIsIAorICAgIDc5OCwgNjQ2OTQsIDEyODAxLCA4NDA2LCAxMTUzLCA5MjE3MywgNjQ3ODgsIDAsIDgwNTQsIDkxNzQsIDEyODY1MiwgCisgICAgOTE3OTc2LCA5OTY0LCA3NDQwOSwgNDE2MTEsIDQ2NDIsIDY2NTc0LCAxMTU1NiwgOTE3OTgyLCAwLCA3ODg1NywgNDIwODksIAorICAgIDc4ODU1LCA5MDA4LCAwLCAxMjY1OTIsIDE5NTA5NiwgNDIwNzksIDkxNzk4MSwgNzc5MjQsIDQyNTEzLCA3NzkyNywgCisgICAgNDI4NDIsIDczOTg1LCA2NTI4NSwgMTE4OTc0LCAxMjcwMDMsIDk4MzY5MywgMCwgMCwgMCwgMTEzMzUsIDY0MDY5LCAKKyAgICA0MjA5MywgMzkyMCwgMCwgMCwgMCwgMCwgNDU4MCwgNDE5NjcsIDk4MzcyMywgNjQzODQsIDkyMTY3LCA5Mzk4NCwgMzAyMSwgCisgICAgNDIwMDQsIDAsIDAsIDQyMzE3LCA0MTk5OCwgMCwgNjk0NiwgMCwgMCwgMCwgMTI4MTkzLCA2NTIwNCwgMCwgNjgxMTMsIAorICAgIDQyNjkwLCA5ODgwLCA0MjAxMCwgNzQ4MjQsIDY0NTg5LCAxMDExMSwgNjQ4NzUsIDEyNzg4MCwgNjgzOTksIDQzOTk4LCAKKyAgICAxMTM2MCwgMCwgMCwgMCwgMTE4ODI2LCA0MjE0OSwgMCwgMCwgMCwgNjQ5NDEsIDc3OTE5LCAxMjA0MjEsIDEyODA3NywgMCwgCisgICAgNTUyNDcsIDQxMTAsIDY2MDA1LCA2OTU5LCAxMDkyOSwgMTE5MTEwLCAwLCA2NjcwMywgNzc5MjEsIDg2MTcsIDQxOTgyLCAKKyAgICA2MDI1LCA2OTI0MiwgOTgzMTc2LCAwLCAwLCAwLCA5NTk3LCA0MjA5OSwgNDMxNzIsIDk4MzM2OCwgMTAxMTcsIDk4MzE2OSwgCiAgICAgOTIyOTcsIDQxNjM2LCAwLCAwLCAxMjA2ODEsIDgzMDEsIDAsIDAsIDE4NywgMCwgNjU2NjksIDEyODMzOSwgNDk2MywgMCwgCi0gICAgMTI3NTE3LCAwLCA4OTY0LCA2NTY3NiwgNjU3ODUsIDAsIDQxOTQ4LCAwLCAwLCAwLCA0MTk0MiwgNjU0NDksIDMxNjAsIAotICAgIDEwMDgxLCAxMzIyNiwgNDIxMjEsIDQyNDc1LCA0MjY2MywgMTI4MjEwLCA0MTc2NiwgMCwgNjU4ODIsIDc4ODQ5LCA0MTc2MCwgCi0gICAgMTE4OSwgOTA1LCA0ODAsIDEwOTg1LCA0MTczMywgNjc4NTksIDk2MjksIDY3NDIsIDE3NDUsIDQzNjI1LCA3MzgzNSwgCi0gICAgNzg4OCwgMCwgMzk4MCwgMCwgNDI2NTYsIDQxNTA3LCA4ODA2LCA3MDIzLCAwLCA3NDI3OSwgOTQ0NywgNzg2NTEsIDc4NjcsIAotICAgIDY5MjE4LCA2MjM2LCAwLCAwLCAxMDUwNSwgMCwgMTI4NTEsIDExODk0OCwgMzQ4LCA1NDc0LCAxMjg4NDMsIDMxMDMsIDAsIAotICAgIDQxNzUzLCAxMjg1NDAsIDAsIDAsIDc4ODQ0LCA3ODg0NSwgNDE3MzksIDc4ODQzLCA0MjUxNSwgMTA5MzEsIDQxNzU2LCAKLSAgICA0MzM0NywgNDI1NjAsIDUzOTEsIDQxNzQ2LCAxMTkxNDcsIDkyNTkxLCA0MTI1OSwgNTU2MSwgNzQzNjAsIDI2OTEsIDAsIAotICAgIDY1NTUzLCA3OTMzLCA1NTYyLCA2OTgwMCwgMTI4MjY1LCA0MTI2MiwgMTI4MTQ2LCA2NDQyMSwgNzQ4NDYsIDQxMjUxLCAwLCAKLSAgICAwLCAzOTc5LCAwLCAwLCA3NDgxMywgMCwgMCwgMCwgMCwgOTI1MjQsIDQxMjY2LCAwLCAwLCAxMjg4MzYsIDEwNTg1LCAKLSAgICA2NTc0MSwgNDE3MzcsIDk1NzQsIDI2NjYsIDAsIDQxNzM4LCA4MzEsIDQxOSwgMTMxMjYsIDEwNzE2LCAwLCA0MjgyMiwgMCwgCi0gICAgNjQzNCwgMCwgNjkzOSwgNzc2NiwgNjQzMiwgMTI4MTA2LCAwLCA5MTYsIDc2OSwgNDE3NDIsIDExOTY4LCA3NDgwNSwgCi0gICAgNjQzMywgNTU2MywgNTQ3LCAxOTQzLCA2NDM5LCA1NTYwLCA0OTk0LCA0ODcsIDAsIDQ0OTcsIDM3NTQsIDEyNzA1NiwgCi0gICAgMTIwNDI0LCA5MDM5LCAwLCA0MTc3NiwgMCwgODcxNiwgMTU5NSwgNDE2MTUsIDAsIDAsIDc0MjYwLCAwLCA0Mjg1NCwgCi0gICAgNDMyMTksIDEyODcwOSwgMCwgMTIxODUsIDEyODg3OSwgMCwgNjgzNTUsIDY4MzU3LCAwLCA0Mjg1NiwgODYzNCwgMCwgMCwgCi0gICAgNDIwOSwgMTIwNzAyLCAwLCA2NTg3OSwgNDE1MzgsIDY1NjEyLCAxMjc1NDMsIDY2OSwgNTY3OSwgMCwgNjk3ODYsIDkyNTQwLCAKLSAgICAwLCAwLCA1Njc4LCAxMTgyMSwgMCwgNjcxMSwgNDYwLCAwLCAwLCAwLCAwLCAxMjA3NDcsIDAsIDAsIDc4MDUwLCAxMTkwMjIsIAotICAgIDAsIDAsIDAsIDc3ODIsIDkwNDQsIDQ5NzQsIDExNzYwLCA3ODQ5NCwgNzU3NywgNjU3MTEsIDQxOTEyLCAxMjE2LCAwLCAKLSAgICAxMjgwNzksIDU3OTIsIDAsIDAsIDc4NTAxLCAwLCAyOTMzLCAxMjI0NCwgMCwgNTY4MywgMCwgMCwgNzgxMTksIDE1NDksIDAsIAotICAgIDAsIDEyMDM5OCwgNTY4MiwgNjIwNiwgODY3MCwgMTAyNTYsIDU2ODAsIDkxNzU2OCwgMTAwMDEsIDAsIDY5NzY4LCAxNDQ5LCAKLSAgICAxMDI0MSwgNzgyOTAsIDEyODIyOCwgMCwgMTA1NTIsIDY0MzQyLCA0MTkyMiwgMTI4NTQ4LCA4NTg0LCAwLCA1NTY3LCAKLSAgICAyNzE3LCAwLCAwLCA1NTY0LCA0Mjg4NiwgNDE5MDgsIDQyODgyLCA1NTY1LCAwLCAxMjgwMjYsIDAsIDY1NzA4LCA2NTcwOSwgCi0gICAgNTU2NiwgNjk4MDMsIDY1NzA0LCA2NTcwNSwgMTE5MDQsIDQyODc1LCA0MzM3MywgNDI1MzksIDU5NDIsIDg0NjgsIAorICAgIDEyNzUxNywgMCwgODk2NCwgNjU2NzYsIDc3NzUsIDAsIDQxOTQ4LCAwLCAwLCAwLCA0MTk0MiwgNjU0NDksIDMxNjAsIAorICAgIDEwMDgxLCAxMzIyNiwgNDIxMjEsIDQyNDc1LCA0MjY2MywgMTI4MjEwLCA0MTc2NiwgMTE5MTE0LCA2NTg4MiwgNzg4NDksIAorICAgIDQxNzYwLCAxMTg5LCA5MDUsIDQ4MCwgMTA5ODUsIDQxNzMzLCA2Nzg1OSwgOTYyOSwgNjc0MiwgMTc0NSwgNDM2MjUsIAorICAgIDczODM1LCA3ODg4LCAwLCAzOTgwLCAwLCA0MjY1NiwgNDE1MDcsIDg4MDYsIDcwMjMsIDAsIDc0Mjc5LCA5NDQ3LCA3ODY1MSwgCisgICAgNzg2NywgNjkyMTgsIDYyMzYsIDk4MzEzNCwgMCwgMTA1MDUsIDAsIDEyODUxLCAxMTg5NDgsIDM0OCwgNTQ3NCwgMTI4ODQzLCAKKyAgICAzMTAzLCAwLCA0MTc1MywgMTI4NTQwLCAwLCAwLCA3ODg0NCwgNzg4NDUsIDQxNzM5LCA3ODg0MywgNDI1MTUsIDEwOTMxLCAKKyAgICA0MTc1NiwgNDMzNDcsIDQyNTYwLCA1MzkxLCA0MTc0NiwgMTE5MTQ3LCA5MjU5MSwgNDEyNTksIDU1NjEsIDY5OTMwLCAKKyAgICAyNjkxLCAwLCA2NTU1MywgNzkzMywgNTU2MiwgNjk4MDAsIDEyODI2NSwgNDEyNjIsIDEyODE0NiwgNjQ0MjEsIDc0ODQ2LCAKKyAgICA0MTI1MSwgMCwgMCwgMzk3OSwgMCwgMCwgNzQ4MTMsIDk4MzczMCwgMCwgMCwgMCwgOTI1MjQsIDQxMjY2LCAwLCA2NjU2NiwgCisgICAgMTI4ODM2LCAxMDU4NSwgNjU3NDEsIDQxNzM3LCA5NTc0LCAyNjY2LCAwLCA0MTczOCwgODMxLCA0MTksIDEzMTI2LCAKKyAgICAxMDcxNiwgMCwgNDI4MjIsIDAsIDY0MzQsIDAsIDY5MzksIDc3NjYsIDY0MzIsIDEyODEwNiwgNjk5MzIsIDkxNiwgNzY5LCAKKyAgICA0MTc0MiwgMTE5NjgsIDc0ODA1LCA2NDMzLCA1NTYzLCA1NDcsIDE5NDMsIDY0MzksIDU1NjAsIDQ5OTQsIDQ4NywgCisgICAgMTI2NTM3LCA0NDk3LCAzNzU0LCAxMjcwNTYsIDEyMDQyNCwgOTAzOSwgMCwgNDE3NzYsIDAsIDg3MTYsIDE1OTUsIDQxNjE1LCAKKyAgICAwLCAwLCA3NDI2MCwgMCwgNDI4NTQsIDQzMjE5LCAxMjg3MDksIDk4MzQ1MiwgMTIxODUsIDEyODg3OSwgNzAwNzIsIAorICAgIDY4MzU1LCA2ODM1NywgMCwgNDI4NTYsIDg2MzQsIDAsIDk4MzM4OSwgNDIwOSwgMTIwNzAyLCAwLCA2NTg3OSwgNDE1MzgsIAorICAgIDY1NjEyLCAxMjc1NDMsIDY2OSwgNTY3OSwgMCwgNjk3ODYsIDkyNTQwLCAwLCA5ODM0NTYsIDU2NzgsIDExODIxLCAwLCAKKyAgICA2NzExLCA0NjAsIDAsIDAsIDk4MzQ1MywgMCwgMTIwNzQ3LCAwLCAwLCA3ODA1MCwgMTE5MDIyLCAwLCA5ODM0NTQsIDAsIAorICAgIDc3ODIsIDkwNDQsIDQ5NzQsIDExNzYwLCA3ODQ5NCwgNzU3NywgNjU3MTEsIDQxOTEyLCAxMjE2LCAwLCAxMjgwNzksIAorICAgIDU3OTIsIDAsIDAsIDc4NTAxLCAwLCAyOTMzLCAxMjI0NCwgMCwgNTY4MywgOTgzMzg0LCAwLCA3ODExOSwgMTU0OSwgMCwgMCwgCisgICAgMTIwMzk4LCA1NjgyLCA2MjA2LCA4NjcwLCAxMDI1NiwgNTY4MCwgNjk5MzUsIDEwMDAxLCAxMjg1MTIsIDY5NzY4LCAxNDQ5LCAKKyAgICAxMDI0MSwgNzgyOTAsIDEyODIyOCwgMCwgMTA1NTIsIDY0MzQyLCA0MTkyMiwgMTI4NTQ4LCA4NTg0LCA2ODAzMCwgNTU2NywgCisgICAgMjcxNywgMCwgMCwgNTU2NCwgNDI4ODYsIDQxOTA4LCA0Mjg4MiwgNTU2NSwgOTgzMjQ4LCAxMjgwMjYsIDAsIDY1NzA4LCAKKyAgICA2NTcwOSwgNTU2NiwgNjk4MDMsIDY1NzA0LCA2NTcwNSwgMTE5MDQsIDQyODc1LCA0MzM3MywgNDI1MzksIDU5NDIsIDg0NjgsIAogICAgIDEyMDU2MSwgMTAzNjEsIDEwNDI1LCA2NTY5NywgNjU2OTgsIDY1Njk5LCAwLCA2NjU5OCwgMCwgNjQ2NjQsIDEwNjQ3LCAKLSAgICA3ODcwMiwgNzg3MDMsIDc4NjkwLCA0NTcsIDc4NTAyLCA2NTcwMSwgMTkzNCwgNDMwMDYsIDAsIDg4MDIsIDc4NzEwLCAKKyAgICA3ODcwMiwgNzg3MDMsIDc4NjkwLCA0NTcsIDc4NTAyLCA2NTcwMSwgMTkzNCwgNDMwMDYsIDExOTkwMywgODgwMiwgNzg3MTAsIAogICAgIDY1MTMwLCAxMTc0NywgNzg3MDksIDYwODcsIDc4NzA1LCA3ODcxNiwgNDE3NTcsIDc4NzExLCA4MDQzLCA4OTUwLCA2NTY5NCwgCiAgICAgNjQ0ODUsIDQzNTM0LCAxMDQ1NywgMCwgMTE5NjEsIDc4NzI1LCA3ODcyMiwgNzg3MjMsIDc4NzIwLCA3ODcyMSwgMCwgCi0gICAgNjU1MTUsIDk0OTksIDEwMDM1LCAxMzA2OSwgMCwgMCwgOTg4OSwgNjgxODQsIDQyODA2LCAwLCA3MjU2LCAwLCAwLCAxNjY3LCAKLSAgICA0MjE2MSwgMCwgNDI0MjgsIDAsIDY5MzQsIDAsIDEwODAyLCA2NDg2MSwgNjU1NiwgNzgzOTAsIDAsIDgxMDEsIDM2MTAsIDAsIAotICAgIDQxNzQ4LCA0OTk1LCA5NTUsIDY1OTA3LCAxMTkyMDgsIDUzNTAsIDY0MzM5LCA3ODMwNiwgNjQ1NDksIDEwODc1LCAKLSAgICAxMjg2NjIsIDU0NzcsIDY1NjkyLCAwLCAxMjg1MzIsIDEyMDM5NywgMTI4OTYsIDEwNDU2LCA5MTc5NTQsIDAsIDM4NzQsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDY1NjAzLCAwLCA2NTY4NywgMCwgNDEwMzgsIDc0MDA5LCAxMTk1NzAsIDQyMjM5LCA4NTM2LCAKLSAgICA3ODc0MCwgMCwgNzg3MjYsIDc0NDMyLCA3MjQsIDAsIDE0NTUsIDc4NzQ5LCA3MTgzLCA2NDU4MywgNzg3NDcsIDY4NDQzLCAKLSAgICA0MTc1LCA3ODc0MSwgNDM2MTQsIDY5ODAxLCA5MzksIDAsIDQzNTIwLCA2ODYxMywgNzQ1NjksIDkxNzk1OCwgMCwgNzg3NjMsIAotICAgIDc4NzY0LCA3ODc2MCwgMTA3ODgsIDYwODgsIDc4NzU5LCA3ODc1NSwgMTkwLCAwLCAxMjU5MywgMCwgODE4OCwgNjQ0MDgsIAotICAgIDAsIDQ0MTcsIDAsIDkyMjYxLCA2MzcwLCAwLCA3ODI3LCA2ODQ0MSwgNjk2NSwgMCwgMCwgMTMyMDEsIDEyODIwNSwgMCwgMCwgCi0gICAgNzQzODIsIDczNzgxLCA3OTE4LCA3Mzk4OCwgMCwgMCwgOTE3ODg0LCAxNzI4LCAwLCAxMjA3MTAsIDE3OCwgMTI5NzIsIAotICAgIDkyNjc5LCAwLCA5MTc4ODcsIDkyNTYzLCAwLCAwLCA3ODMyNywgMTIwNDA1LCA2NTY5MCwgMCwgMCwgMTE5MDU0LCAwLCAKLSAgICA5MjUyLCA5MTc4ODksIDQ2NTIsIDY4MzcxLCAwLCAwLCAwLCAxMzA2NSwgOTkyMywgMTA4MDYsIDAsIDExNzYzLCAwLCAKLSAgICAxMjA2ODgsIDY3MjMsIDc4MTg3LCAwLCA2OTkzLCAwLCAwLCA4MzMzLCAwLCAwLCAxMTM5MCwgMCwgNzQ0NjQsIDAsIAotICAgIDkyMzIwLCA3NDA4MCwgMCwgMCwgMTE5MTAsIDkyNTU5LCA4Mjc4LCA4OTYzLCA0MDM0LCAxMjg1NjAsIDAsIDY1MzQ0LCAKLSAgICAxMjA1MTcsIDQxNzQ3LCAwLCAwLCA4Njc3LCAwLCAxMjcwNywgOTM1MCwgNjYwMzcsIDEyODE4MCwgODgzNiwgMTIzMTUsIAotICAgIDEyNzQ3LCA4MzAwLCAwLCAwLCA3NDkxLCA4ODU2LCAxMjgwNjQsIDAsIDQzMTUwLCAxMjc3NjgsIDEyMDQwNCwgNjUzODksIAotICAgIDEyMDQwMiwgMTIwNDAzLCAxMDgxMywgMjU5MiwgMTI4NTMsIDQzMjY5LCA3MjYzLCAxMjAyNDQsIDY1MzYsIDEyMDIzOCwgCi0gICAgMTIwMjM5LCA2NTUxNiwgMTIzMjEsIDEyMDM5MSwgMTIwMzg4LCA1NTI4NywgMTAwMDcsIDEyMDI0NiwgOTU4OCwgMTIwMjQ4LCAKLSAgICAxNTk2LCAxMjAzODMsIDQxOTk0LCA2NTgwMSwgMTI4ODA4LCAwLCA2NjU3MiwgMCwgMCwgMTA2MTMsIDY2OTcsIDEyODA1LCAKLSAgICA0MTkyOCwgNDA5ODEsIDc4NDAzLCA3ODQwOSwgNTAwNiwgNjQzMjgsIDAsIDk5MzEsIDAsIDg4MjUsIDc0NTU1LCA2NTk0MCwgCi0gICAgNDMyNTksIDAsIDYxMDcsIDAsIDExOTE3NywgMCwgNzg0MDEsIDEyODY0MSwgMTE3ODMsIDMzNSwgMTIwMjI3LCA2NDY4OSwgCi0gICAgNDM4LCA0NTEwLCA1NzY1LCA4NzIxLCAxMjAyMzMsIDExOTIyNywgNjA5MiwgMTI4NDAsIDQzMTEyLCA4ODc2LCAxMjAyMzEsIAotICAgIDgwOTYsIDEwMjg0LCAxMjg1MTUsIDAsIDAsIDEwMzgwLCA4NzMzLCAwLCAxMjgyNDAsIDQxNjAyLCAwLCA5MjMwOCwgCi0gICAgNzQ4MzEsIDkxNzkwMSwgMCwgNzM3NDcsIDY1Mzk5LCAwLCA2NDU5MSwgNDI0MDUsIDAsIDEyMDgyMCwgODQzLCAxMTU0MSwgCi0gICAgMCwgOTE3ODk4LCAyMDY1LCA0MTkzNSwgNzQ0OTYsIDQxOTAyLCAwLCAwLCAyMTUsIDQxMjU4LCA3Nzg3NSwgNDMxNTksIAotICAgIDE5NTMsIDk1NzksIDQxOTM4LCAxMjU2LCAzOTEwLCA5NDA3LCA2MjQyLCAwLCAwLCA0MTI1NywgNDE5MDAsIDg2NzUsIAotICAgIDEwNzAwLCA4ODA1LCAxNzQyLCAwLCA5MzMzLCA4MjAyLCAxMjc3NTAsIDAsIDAsIDAsIDAsIDczODgyLCA0OTksIDAsIAotICAgIDQzNDY3LCAwLCA0MzgxOCwgMCwgMTcxMiwgNTkzMiwgNzc4NDUsIDQxNzYyLCAwLCAwLCAxMTk2NywgMTc3NSwgMCwgMCwgMCwgCi0gICAgMCwgMTI4MDA5LCA5NDU4LCAwLCA2NDcwLCA5MTgwLCAxMjAzODAsIDQzMTc2LCAwLCAwLCA0Mjc4MiwgMCwgMCwgMCwgCi0gICAgMTI4MzA5LCA3NDc3NywgMTIwNjY5LCA5NDE0LCAxMjAzODIsIDczNzgyLCA3Mzk2OSwgNTY1LCA0MjQ4NCwgNTc5NCwgMjAxLCAKLSAgICAyNjYyLCA0MjI5MiwgMCwgODI1NCwgMCwgMTA5NzUsIDAsIDEyMDYyNSwgNzQ3NjMsIDEwMjIsIDQxMDgsIDM4ODAsIAotICAgIDc0MjQ3LCAwLCAwLCA5MjI2MywgOTE3OTgwLCA3NTA3LCAwLCA0MzE0OSwgMCwgNjUwMzEsIDc5NjEsIDE2MzYsIDAsIAotICAgIDY1MDI5LCA2NTAyNCwgMCwgMTI0NzMsIDY1MzQsIDAsIDk5LCA5OCwgOTcsIDEyMDU3MSwgNjc1ODQsIDQwNDksIDc0MTYzLCAKLSAgICAxMjcwNjUsIDcwOTAsIDAsIDc4OTIsIDkxNzk2OSwgMTA3NzcsIDkxNzgwMywgNjUzMTAsIDY1NTYyLCA2NjU5OSwgNjY3MjIsIAotICAgIDAsIDgwMzksIDMzNjMsIDY2NTk0LCA0MzQzNCwgMCwgMCwgMTI1OTYsIDY2NTk1LCA0MjI1OCwgNDI1NzAsIDU1OTMsIAotICAgIDExOTE0OCwgMTIwNzExLCA5MjQyNSwgMTAxMDAsIDYwNjEsIDY0ODU0LCAxMTksIDExOCwgMTE3LCAxMTYsIDEyOTk4LCAKLSAgICAxMjIsIDEyMSwgMTIwLCAxMTEsIDExMCwgMTA5LCAxMDgsIDExNSwgMTE0LCAxMTMsIDExMiwgMTAzLCAxMDIsIDEwMSwgCi0gICAgMTAwLCAxMDcsIDEwNiwgMTA1LCAxMDQsIDY0MzYsIDczOTc0LCA1MzQsIDQxMjEyLCA3NzkzMSwgMTUzNiwgNjQwOTMsIAotICAgIDczOTcwLCA3NzkzMCwgMTI3MTU3LCAwLCA2MDIwLCAxMjcxNiwgMTI3MTEyLCAxMjc0NCwgNDc1LCAxMjAzOTQsIDEzMjY2LCAKLSAgICAxMjc4MTMsIDEyNzExMSwgMCwgNzM5MjYsIDAsIDEwNjQ1LCAxMjEyLCA2NTQzLCAwLCA4MTM0LCAxMjgwMjgsIDI5MTMsIAotICAgIDczODcwLCAxMjcxMTMsIDE4NjYsIDAsIDE5NTA5NSwgMCwgODkyMywgMTY0NSwgMTIwNTksIDY2NTg1LCA3ODc4NiwgMzE5NiwgCi0gICAgMCwgMCwgNTkzNSwgMTI1MCwgMTI3MDY2LCA4MTc0LCA5Nzg3LCA2NzMzLCA5ODU5LCA3OTE2LCA5ODYxLCA5ODYwLCA1MjU4LCAKLSAgICAxODgyLCAxODkyLCA2NzMxLCAxMDg4MiwgNDA1LCAxMTQ1NCwgNzM5MTEsIDAsIDEyODc4MSwgNDExNjksIDg5MzksIAotICAgIDQxMjQ1LCAwLCA0MTE3MCwgMTQ1NCwgMTEzNjksIDY0NzcsIDEyMTU3LCAwLCAwLCAwLCA0MTE3MiwgNzg1NSwgMCwgMCwgCi0gICAgMTA0ODAsIDAsIDAsIDc3OTM2LCA4MjY0LCAxMjYxMCwgMCwgNjQ1LCAwLCA3NjA5LCA0MDk3MywgMCwgNzM4MzMsIDc4MjQ5LCAKLSAgICA1ODI0LCA5ODQsIDc3OTE4LCAxMDY4OCwgNTg1MSwgMCwgNzcyOSwgNzM5ODIsIDEyMDUxOCwgMCwgMTk1MDg2LCA0MzM2OSwgCi0gICAgMCwgMTI4MTQwLCA2ODQxNSwgMCwgNDUzOCwgMTIwNDA2LCA0MzE0MSwgMCwgMCwgNzQyMTQsIDczODg2LCAwLCAwLCAKLSAgICAxMTg5MDIsIDQzMDA1LCA3ODQ0OCwgOTU1MiwgMCwgMCwgMCwgMTI5OTcsIDAsIDAsIDAsIDAsIDIzODEsIDEyODgzLCAKLSAgICAxMDk5NCwgMTA1MjksIDQxOTA2LCAwLCAwLCAwLCAxMjQyNSwgMTA2NjEsIDEwODU2LCA5NjE0LCAyNDI4LCA0MTQ3OCwgCi0gICAgODU4MiwgMTAwNjQsIDczOTMwLCAwLCAwLCAwLCA2NDg5NiwgMTE5MTYyLCAxOTUyLCA5MjE4MSwgODQ1NSwgMTAwODIsIAotICAgIDExNTc1LCAwLCAxMTk1NjYsIDAsIDEyODA4LCAxMjE4MywgNjE0NSwgMTE4OTU1LCA2NDkyOSwgOTI0MzMsIDAsIDAsIAotICAgIDQzMTg2LCA0MjUwOSwgMCwgMzkyMiwgOTE4NywgMCwgMCwgMTAxOTEsIDExOTA1NywgMTE3NTIsIDMzNTMsIDkzNTgsIDAsIAotICAgIDkxNzk1NywgNjY2ODAsIDEyMDA5MCwgODI0OCwgNzkzMSwgODU1OCwgOTc5NSwgNjgzODAsIDAsIDAsIDEyMDA4MiwgCi0gICAgMTIwMDgxLCAxMjAwODQsIDQxMDI3LCAxMjAwODYsIDAsIDEyMDA4OCwgMTIwMDg3LCA3MDE5LCAxMjAwNzMsIDAsIDExNzUxLCAKLSAgICAxMjAwNzgsIDc4Mjk0LCA2NDY1NywgODY1NywgMTIwMDQ4LCA4NTk0LCAxMjAwNjgsIDAsIDAsIDEyMDA2OSwgMTIwMDcyLCAKLSAgICAxMjAwNzEsIDAsIDAsIDQzMTU0LCA0MTAyOSwgMCwgMTEzMzIsIDY1MzgwLCA3NzI4LCAwLCAxMTI5NCwgMCwgNjY2NjUsIAotICAgIDc4NTEsIDAsIDgzNzUsIDg2OTksIDAsIDQyNTI0LCAwLCA5MDg1LCAwLCA3NTA0LCA5MzI3LCA2MTYwLCAxMjgwOTUsIDAsIAotICAgIDAsIDgwODgsIDAsIDc0MDEyLCA5MjUwMCwgMCwgNDQzOSwgNjkyNiwgMCwgMTI5MjQsIDEyODIyNywgNDIzNjksIDAsIAotICAgIDY1NDkxLCA2NTE0NSwgOTA0MSwgNDM1NTksIDY0NTc3LCAxMDgyNiwgMCwgMTEyOTYsIDAsIDAsIDAsIDY1ODI1LCA5NTc3LCAKLSAgICA2ODE5OSwgMCwgNjQ2NzAsIDAsIDc4MDU2LCA2NzkzLCAxMTI5NSwgMCwgNzgwNTMsIDczODcyLCAwLCAwLCAxMDkwMiwgMCwgCi0gICAgMCwgNzgwNzAsIDc4MDY4LCAxMDQ3MiwgMjk5NSwgMCwgMCwgNjQ2ODIsIDIzNzEsIDc4MDY5LCAxMjA4MDgsIDI1OSwgCi0gICAgMTAwOSwgOTIxNzEsIDI0MDIsIDIzMzMsIDY0NDAsIDAsIDAsIDY1MTI1LCA0MTI0NCwgMCwgMTMyNzEsIDkxMDMsIDQxMTgwLCAKLSAgICAwLCAwLCAwLCAwLCAxMDIxOSwgMCwgMCwgMCwgMCwgNDMxNzgsIDEyNzA3MCwgNDEyNjEsIDExOTM2MiwgNDM2NDAsIDg2MTMsIAotICAgIDAsIDExODk4OSwgNjczNiwgMTk1MDkyLCA0MTQ5MiwgMTIwMDUsIDEyNzg4OSwgMCwgMTg5MCwgMTIwMDU2LCAwLCAwLCAwLCAKLSAgICA3MjkzLCA3OTkxLCAwLCAxMDU3OCwgMCwgNzgwNzYsIDE5NDczOCwgNzgwNzcsIDAsIDAsIDc4ODAwLCA5MjY1MywgNjQ0NDUsIAotICAgIDQyNjY4LCA2NjM1LCAwLCA2MTY0LCA2NTE3MCwgMCwgMCwgNzY3NiwgMTE2NjQsIDAsIDAsIDY5NzA3LCAwLCAxMTg4MTIsIAotICAgIDAsIDAsIDEyODA0NSwgOTE3NSwgMTE5MjUsIDc4MDQ1LCA5MDg4LCAwLCA2NDU0NSwgMTM5NiwgMCwgNzU0NiwgMzg0NywgMCwgCi0gICAgMTI3ODM1LCA0OTg1LCAxMzI4OCwgNjcyLCA4MDk4LCA0MzE5NiwgMTk0NzQ2LCAwLCAxMjgxMjYsIDAsIDc0MDQzLCAKLSAgICA2NTA3MiwgMTU3NywgMTE3NzIsIDEzMDQxLCA1OTI4LCA0NTI1LCAxMDY1OCwgNjU5MTEsIDEyNjYsIDEwMTgwLCAwLCAKLSAgICAxMjg1ODQsIDEyNjIyLCAwLCAwLCAwLCAxOTQ3MTQsIDEyNzEzOSwgMTMzMTAsIDc3MywgMTk5MzMsIDE1MzksIDAsIAotICAgIDEyNjk4MywgNDI3MzEsIDkyMjA1LCAwLCAwLCAwLCAzMDUxLCA1ODYyLCA3ODIzLCA5MjQ3OCwgMCwgMTIwNDExLCAzMjUwLCAKLSAgICA0Mzk5MSwgNjk2ODcsIDY2NjQ5LCA5NTEwLCA2NjIzNywgMCwgMCwgNDEwNjYsIDY0NjczLCA5MTc5NjMsIDkxNzk2NCwgMCwgCi0gICAgMzUwNSwgODcwNywgOTE3OTY4LCA2NzI1LCAxMjgwMTMsIDkxNzk3MSwgOTIzMTQsIDM0NzEsIDkxNzk3MCwgNTQ3OSwgODgyLCAKLSAgICA2Njg2LCAxMTk1ODQsIDExNjEzLCAxMjA3NzIsIDQyNzU0LCAwLCAwLCA5MjY5NiwgMCwgMCwgMCwgMTI4NTIzLCAzMjI1LCAKKyAgICA2NTUxNSwgOTQ5OSwgMTAwMzUsIDEzMDY5LCA3MTMwOSwgMCwgOTg4OSwgNjgxODQsIDQyODA2LCAwLCA3MjU2LCAwLCAwLCAKKyAgICAxNjY3LCA0MjE2MSwgMCwgNDI0MjgsIDAsIDY5MzQsIDAsIDEwODAyLCA2NDg2MSwgNjU1NiwgNzgzOTAsIDAsIDgxMDEsIAorICAgIDM2MTAsIDk4MzE5OSwgNDE3NDgsIDQ5OTUsIDk1NSwgNjU5MDcsIDExOTIwOCwgNTM1MCwgNjQzMzksIDc4MzA2LCA2NDU0OSwgCisgICAgMTA4NzUsIDEyODY2MiwgNTQ3NywgNjU2OTIsIDAsIDEyODUzMiwgMTIwMzk3LCAxMjg5NiwgMTA0NTYsIDkxNzk1NCwgMCwgCisgICAgMzg3NCwgMCwgMCwgOTgzNjE5LCAxMjAzMzEsIDAsIDAsIDY1NjAzLCAwLCA2NTY4NywgMCwgNDEwMzgsIDc0MDA5LCAKKyAgICAxMTk1NzAsIDQyMjM5LCA4NTM2LCA3ODc0MCwgNzgzMjQsIDc4NzI2LCA3NDQzMiwgNzI0LCAwLCAxNDU1LCA3ODc0OSwgCisgICAgNzE4MywgNjQ1ODMsIDc4NzQ3LCA2ODQ0MywgNDE3NSwgNzg3NDEsIDQzNjE0LCA2OTgwMSwgOTM5LCAwLCA0MzUyMCwgCisgICAgNjg2MTMsIDc0NTY5LCA5MTc5NTgsIDAsIDc4NzYzLCA3ODc2NCwgNzg3NjAsIDEwNzg4LCA2MDg4LCA3ODc1OSwgNzg3NTUsIAorICAgIDE5MCwgMCwgMTI1OTMsIDAsIDgxODgsIDY0NDA4LCAwLCA0NDE3LCA5ODMyMTEsIDkyMjYxLCA2MzcwLCAwLCA3ODI3LCAKKyAgICA2ODQ0MSwgNjk2NSwgMCwgMCwgMTMyMDEsIDEyODIwNSwgNjk4OTYsIDAsIDc0MzgyLCA3Mzc4MSwgNzkxOCwgNzM5ODgsIDAsIAorICAgIDAsIDkxNzg4NCwgMTcyOCwgMCwgNDM3NjQsIDE3OCwgMTI5NzIsIDkyNjc5LCAwLCA5MTc4ODcsIDkyNTYzLCA5ODMzNzMsIAorICAgIDAsIDc4MzI3LCAxMjA0MDUsIDY1NjkwLCAwLCAwLCAxMTkwNTQsIDAsIDkyNTIsIDkxNzg4OSwgNDY1MiwgNjgzNzEsIDAsIAorICAgIDAsIDAsIDEzMDY1LCA5OTIzLCAxMDgwNiwgMCwgMTE3NjMsIDcwMDE2LCAxMjA2ODgsIDY3MjMsIDc4MTg3LCAwLCA2OTkzLCAKKyAgICAwLCAwLCA4MzMzLCAwLCAwLCAxMTM5MCwgMCwgNzQ0NjQsIDAsIDkyMzIwLCA3NDA4MCwgOTgzMzA3LCA2OTkxMSwgMTE5MTAsIAorICAgIDkyNTU5LCA4Mjc4LCA4OTYzLCA0MDM0LCAxMjg1NjAsIDAsIDY1MzQ0LCAxMjA1MTcsIDQxNzQ3LCAwLCAwLCA4Njc3LCAwLCAKKyAgICAxMjcwNywgOTM1MCwgNjYwMzcsIDEyODE4MCwgODgzNiwgMTIzMTUsIDEyNzQ3LCA4MzAwLCA5ODM3NDEsIDAsIDc0OTEsIAorICAgIDg4NTYsIDcxMzYxLCAwLCA0MzE1MCwgMTI3NzY4LCAxMjA0MDQsIDY1Mzg5LCAxMjA0MDIsIDEyMDQwMywgMTA4MTMsIAorICAgIDI1OTIsIDEyODUzLCA0MzI2OSwgNzI2MywgMTIwMjQ0LCA2NTM2LCAxMjAyMzgsIDEyMDIzOSwgNjU1MTYsIDEyMzIxLCAKKyAgICAxMjAzOTEsIDEyMDM4OCwgNTUyODcsIDEwMDA3LCAxMjAyNDYsIDk1ODgsIDEyMDI0OCwgMTU5NiwgMTIwMzgzLCA0MTk5NCwgCisgICAgNjU4MDEsIDEyODgwOCwgMCwgNjY1NzIsIDAsIDAsIDEwNjEzLCA2Njk3LCAxMjgwNSwgNDE5MjgsIDQwOTgxLCA3ODQwMywgCisgICAgNzg0MDksIDUwMDYsIDY0MzI4LCAwLCA5OTMxLCAwLCA4ODI1LCA3NDU1NSwgNjU5NDAsIDQzMjU5LCAwLCA2MTA3LCAwLCAKKyAgICAxMTkxNzcsIDAsIDc4NDAxLCAxMjg2NDEsIDExNzgzLCAzMzUsIDEyMDIyNywgNjQ2ODksIDQzOCwgNDUxMCwgNTc2NSwgCisgICAgODcyMSwgMTIwMjMzLCAxMTkyMjcsIDYwOTIsIDEyODQwLCA0MzExMiwgODg3NiwgMTIwMjMxLCA4MDk2LCAxMDI4NCwgCisgICAgMTI4NTE1LCAwLCAwLCAxMDM4MCwgODczMywgOTgzMDcyLCAxMjgyNDAsIDQxNjAyLCAwLCA5MjMwOCwgNzQ4MzEsIAorICAgIDkxNzkwMSwgMCwgNzM3NDcsIDY1Mzk5LCAwLCA2NDU5MSwgNDI0MDUsIDAsIDEyMDgyMCwgODQzLCAxMTU0MSwgMCwgCisgICAgOTE3ODk4LCAyMDY1LCA0MTkzNSwgNzQ0OTYsIDQxOTAyLCAwLCAwLCAyMTUsIDQxMjU4LCA3Nzg3NSwgNDMxNTksIDE5NTMsIAorICAgIDk1NzksIDQxOTM4LCAxMjU2LCAzOTEwLCA5NDA3LCA2MjQyLCAwLCA5ODMxMDAsIDQxMjU3LCA0MTkwMCwgODY3NSwgCisgICAgMTA3MDAsIDg4MDUsIDE3NDIsIDAsIDkzMzMsIDgyMDIsIDEyNzc1MCwgMCwgOTgzMTk3LCAwLCAwLCA3Mzg4MiwgNDk5LCAKKyAgICA5ODMwNDksIDQzNDY3LCAwLCA0MzgxOCwgMCwgMTcxMiwgNTkzMiwgNzc4NDUsIDQxNzYyLCA5ODMxMDQsIDAsIDExOTY3LCAKKyAgICAxNzc1LCAwLCAwLCAwLCAwLCAxMjgwMDksIDk0NTgsIDAsIDY0NzAsIDkxODAsIDEyMDM4MCwgNDMxNzYsIDAsIDAsIAorICAgIDQyNzgyLCAwLCAwLCAwLCAxMjgzMDksIDc0Nzc3LCAxMjA2NjksIDk0MTQsIDEyMDM4MiwgNzM3ODIsIDczOTY5LCA1NjUsIAorICAgIDQyNDg0LCA1Nzk0LCAyMDEsIDI2NjIsIDQyMjkyLCAwLCA4MjU0LCAwLCAxMDk3NSwgMCwgMTIwNjI1LCA3NDc2MywgMTAyMiwgCisgICAgNDEwOCwgMzg4MCwgNzQyNDcsIDAsIDAsIDkyMjYzLCA5MTc5ODAsIDc1MDcsIDAsIDQzMTQ5LCAwLCA2NTAzMSwgNzk2MSwgCisgICAgMTYzNiwgMCwgNjUwMjksIDY1MDI0LCAwLCAxMjQ3MywgNjUzNCwgMCwgOTksIDk4LCA5NywgMTIwNTcxLCA2NzU4NCwgCisgICAgNDA0OSwgNzQxNjMsIDEyNzA2NSwgNzA5MCwgMCwgNzg5MiwgOTE3OTY5LCAxMDc3NywgOTE3ODAzLCA2NTMxMCwgNjU1NjIsIAorICAgIDY2NTk5LCA2NjcyMiwgMCwgODAzOSwgMzM2MywgNjY1OTQsIDQzNDM0LCAwLCAwLCAxMjU5NiwgNjY1OTUsIDQyMjU4LCAKKyAgICA0MjU3MCwgNTU5MywgMTE5MTQ4LCAxMjA3MTEsIDkyNDI1LCAxMDEwMCwgNjA2MSwgNjQ4NTQsIDExOSwgMTE4LCAxMTcsIAorICAgIDExNiwgMTI5OTgsIDEyMiwgMTIxLCAxMjAsIDExMSwgMTEwLCAxMDksIDEwOCwgMTE1LCAxMTQsIDExMywgMTEyLCAxMDMsIAorICAgIDEwMiwgMTAxLCAxMDAsIDEwNywgMTA2LCAxMDUsIDEwNCwgNjQzNiwgNzM5NzQsIDUzNCwgNDEyMTIsIDc3OTMxLCAxNTM2LCAKKyAgICA2NDA5MywgNzM5NzAsIDc3OTMwLCAxMjcxNTcsIDAsIDYwMjAsIDEyNzE2LCAxMjcxMTIsIDEyNzQ0LCA0NzUsIDEyMDM5NCwgCisgICAgMTMyNjYsIDEyNzgxMywgMTI3MTExLCAwLCA3MzkyNiwgMCwgMTA2NDUsIDEyMTIsIDY1NDMsIDk4MzI5OSwgODEzNCwgCisgICAgMTI4MDI4LCAyOTEzLCA3Mzg3MCwgMTI3MTEzLCAxODY2LCAwLCAxOTUwOTUsIDAsIDg5MjMsIDE2NDUsIDEyMDU5LCAKKyAgICA2NjU4NSwgNzEyOTcsIDMxOTYsIDAsIDAsIDU5MzUsIDEyNTAsIDEyNzA2NiwgODE3NCwgOTc4NywgNjczMywgOTg1OSwgCisgICAgNzkxNiwgOTg2MSwgOTg2MCwgNTI1OCwgMTg4MiwgMTg5MiwgNjczMSwgMTA4ODIsIDQwNSwgMTE0NTQsIDczOTExLCAwLCAKKyAgICAxMjg3ODEsIDQxMTY5LCA4OTM5LCA0MTI0NSwgMCwgNDExNzAsIDE0NTQsIDExMzY5LCA2NDc3LCAxMjE1NywgMCwgMCwgMCwgCisgICAgNDExNzIsIDc4NTUsIDAsIDAsIDEwNDgwLCAwLCAwLCA3NzkzNiwgODI2NCwgMTI2MTAsIDk4MzMwMCwgNjQ1LCAxMjY2MTYsIAorICAgIDc2MDksIDQwOTczLCA2OTk0MywgNzM4MzMsIDY5OTQ4LCA1ODI0LCA5ODQsIDc3OTE4LCAxMDY4OCwgNTg1MSwgMCwgNzcyOSwgCisgICAgNzM5ODIsIDEyMDUxOCwgMCwgMTk1MDg2LCA0MzM2OSwgMCwgMTI4MTQwLCA2ODQxNSwgOTgzMDkzLCA0NTM4LCAxMjA0MDYsIAorICAgIDQzMTQxLCAwLCA5ODMyMDgsIDc0MjE0LCA3Mzg4NiwgMCwgMCwgMTE4OTAyLCA0MzAwNSwgNzg0NDgsIDk1NTIsIDAsIDAsIAorICAgIDk4MzE1OSwgMTI5OTcsIDAsIDAsIDAsIDAsIDIzODEsIDEyODgzLCAxMDk5NCwgMTA1MjksIDQxOTA2LCAwLCAwLCAwLCAKKyAgICAxMjQyNSwgMTA2NjEsIDEwODU2LCA5NjE0LCAyNDI4LCA0MTQ3OCwgODU4MiwgMTAwNjQsIDczOTMwLCAwLCAwLCAwLCAKKyAgICA2NDg5NiwgMTE5MTYyLCAxOTUyLCA5MjE4MSwgODQ1NSwgMTAwODIsIDExNTc1LCA5ODM0ODIsIDExOTU2NiwgMCwgMTI4MDgsIAorICAgIDEyMTgzLCA2MTQ1LCAxMTg5NTUsIDY0OTI5LCA5MjQzMywgMCwgOTgzMTkzLCA0MzE4NiwgNDI1MDksIDAsIDM5MjIsIAorICAgIDkxODcsIDk4MzYxNCwgMCwgMTAxOTEsIDExOTA1NywgMTE3NTIsIDMzNTMsIDkzNTgsIDAsIDcxMzY2LCA2NjY4MCwgCisgICAgMTIwMDkwLCA4MjQ4LCA3OTMxLCA4NTU4LCA5Nzk1LCA2ODM4MCwgOTgzMjg5LCAwLCAxMjAwODIsIDEyMDA4MSwgMTIwMDg0LCAKKyAgICA0MTAyNywgMTIwMDg2LCAwLCAxMjAwODgsIDczNjYsIDcwMTksIDEyMDA3MywgMCwgMTE3NTEsIDEyMDA3OCwgNzgyOTQsIAorICAgIDY0NjU3LCA4NjU3LCAxMjAwNDgsIDg1OTQsIDEyMDA2OCwgMCwgMCwgMTIwMDY5LCAxMjAwNzIsIDEyMDA3MSwgMCwgMCwgCisgICAgNDMxNTQsIDQxMDI5LCAwLCAxMTMzMiwgNjUzODAsIDc3MjgsIDk0MDc3LCAxMTI5NCwgMCwgNjY2NjUsIDc4NTEsIDAsIAorICAgIDgzNzUsIDg2OTksIDAsIDQyNTI0LCAwLCA5MDg1LCA5NDA0MSwgNzUwNCwgOTMyNywgNjE2MCwgMTI4MDk1LCA5ODM4NTUsIAorICAgIDAsIDgwODgsIDAsIDc0MDEyLCA5MjUwMCwgMCwgNDQzOSwgNjkyNiwgOTgzMDQ3LCAxMjkyNCwgMTI4MjI3LCA0MjM2OSwgCisgICAgNDM1MCwgNjU0OTEsIDY1MTQ1LCA5MDQxLCA0MzU1OSwgNjQ1NzcsIDEwODI2LCAwLCAxMTI5NiwgOTgzMjc1LCAwLCAwLCAKKyAgICA2NTgyNSwgOTU3NywgNjgxOTksIDAsIDY0NjcwLCA5ODMxMjEsIDc4MDU2LCA2NzkzLCAxMTI5NSwgMCwgNzgwNTMsIAorICAgIDczODcyLCAwLCAwLCAxMDkwMiwgMCwgMCwgNzgwNzAsIDc4MDY4LCAxMDQ3MiwgMjk5NSwgMCwgMCwgNjQ2ODIsIDIzNzEsIAorICAgIDc4MDY5LCAxMjA4MDgsIDI1OSwgMTAwOSwgOTIxNzEsIDI0MDIsIDIzMzMsIDY0NDAsIDE5NDc0MSwgMCwgNjUxMjUsIAorICAgIDQxMjQ0LCAwLCAxMzI3MSwgOTEwMywgMjI3OCwgMCwgMCwgMCwgMCwgMTAyMTksIDAsIDAsIDAsIDAsIDQzMTc4LCAKKyAgICAxMjcwNzAsIDQxMjYxLCAxMTkzNjIsIDQzNjQwLCA4NjEzLCAwLCA5NDA0OSwgNjczNiwgMTk1MDkyLCA0MTQ5MiwgMTIwMDUsIAorICAgIDY5OTI3LCAwLCAxODkwLCAxMjAwNTYsIDAsIDAsIDAsIDcyOTMsIDc5OTEsIDAsIDEwNTc4LCAwLCA3ODA3NiwgMTk0NzM4LCAKKyAgICA3ODA3NywgNjk5MjgsIDAsIDc4ODAwLCA5MjY1MywgNjQ0NDUsIDQyNjY4LCA2NjM1LCAwLCA2MTY0LCA2NTE3MCwgMCwgMCwgCisgICAgNzY3NiwgMTE2NjQsIDAsIDk4MzY0OSwgNjk3MDcsIDAsIDExODgxMiwgMCwgMCwgMTI4MDQ1LCA5MTc1LCAxMTkyNSwgCisgICAgNzgwNDUsIDkwODgsIDAsIDY0NTQ1LCAxMzk2LCAwLCA3NTQ2LCAzODQ3LCAxMjcxNzcsIDEyNzgzNSwgNDk4NSwgMTMyODgsIAorICAgIDY3MiwgODA5OCwgNDMxOTYsIDE5NDc0NiwgOTgzMDk2LCAxMjgxMjYsIDQyNjU1LCA3NDA0MywgNjUwNzIsIDE1NzcsIAorICAgIDExNzcyLCAxMzA0MSwgNTkyOCwgNDUyNSwgMTA2NTgsIDY1OTExLCAxMjY2LCAxMDE4MCwgMCwgMTI4NTg0LCAxMjYyMiwgMCwgCisgICAgMCwgMCwgMTk0NzE0LCAxMjcxMzksIDEzMzEwLCA3NzMsIDE5OTMzLCAxNTM5LCAwLCAxMjY5ODMsIDQyNzMxLCA2Nzk3MiwgCisgICAgMCwgMCwgMCwgMzA1MSwgNTg2MiwgNzgyMywgOTI0NzgsIDAsIDEyMDQxMSwgMzI1MCwgNDM5OTEsIDY5Njg3LCA2NjY0OSwgCisgICAgOTUxMCwgNjYyMzcsIDk4MzI5NCwgMCwgNDEwNjYsIDY0NjczLCA5MTc5NjMsIDkxNzk2NCwgMCwgMzUwNSwgODcwNywgCisgICAgOTE3OTY4LCA2NzI1LCAxMjgwMTMsIDkxNzk3MSwgOTIzMTQsIDM0NzEsIDkxNzk3MCwgNTQ3OSwgODgyLCA2Njg2LCAKKyAgICAxMTk1ODQsIDExNjEzLCAxMjA3NzIsIDQyNzU0LCAwLCA5ODMyOTgsIDkyNjk2LCAwLCAwLCAwLCAxMjg1MjMsIDMyMjUsIAogICAgIDkxNzk5NiwgNDQzMywgNDExNTYsIDQzOTczLCA0MzE3MywgMTQ0MywgNDM4MSwgMCwgMCwgMTA5MjYsIDExNzU2LCAxMTc1NywgCiAgICAgNjQ4NzksIDkxNzk0OSwgOTE3OTUwLCAxMjc4NDgsIDEzMjI3LCAwLCAxMDAyMSwgNTE2MCwgMTM4NywgMCwgOTE3OTUzLCAKICAgICA0MTQxOCwgMCwgNjU5MTQsIDY3MjEsIDIxNywgOTE3OTU1LCA5MTc5NjAsIDkxNzk2MSwgMTA0NDMsIDEwNzg5LCA0MTE1OCwgCi0gICAgMTE5MjU3LCA0Mjc0LCAwLCA0MTQ4MywgMCwgNDEyNTAsIDAsIDQyMTc5LCAwLCA1OTMxLCAxMTc0NCwgNjkyMzIsIDAsIAotICAgIDQxMjUyLCA2NjY4MiwgMCwgMTE5NjM3LCA0MTI0OSwgMTM2NiwgNjQ2MzUsIDY1MDQ3LCAxMjQ2NiwgMCwgMCwgNDM5NywgCisgICAgMTE5MjU3LCA0Mjc0LCA5ODMyOTIsIDQxNDgzLCAwLCA0MTI1MCwgMCwgNDIxNzksIDAsIDU5MzEsIDExNzQ0LCA2OTIzMiwgCisgICAgMCwgNDEyNTIsIDY2NjgyLCAwLCAxMTk2MzcsIDQxMjQ5LCAxMzY2LCA2NDYzNSwgNjUwNDcsIDEyNDY2LCAwLCAwLCA0Mzk3LCAKICAgICAxMjgwMzcsIDEyODMzNiwgNDEyOTYsIDk1NDUsIDQxMjkxLCAxMjgwNDksIDAsIDQxNDg1LCAzNTExLCA0MTI4MiwgNTkyMywgCiAgICAgMTA0MDAsIDAsIDEyODgxOCwgNzYwLCAwLCAxMjA4OCwgNTc4NiwgMCwgNDIyNTYsIDExOTg2OSwgMTE5ODYwLCA0MTcsIAotICAgIDQxNDc0LCAxMTk1NjIsIDQxNTY1LCAwLCA1OTM0LCAxMTk4NjcsIDY2NTgzLCAxMTkyMzEsIDY0ODc3LCAwLCA2NDQ4MSwgCisgICAgNDE0NzQsIDExOTU2MiwgNDE1NjUsIDAsIDU5MzQsIDExOTg2NywgNjY1ODMsIDExOTIzMSwgNjQ4NzcsIDIyODQsIDY0NDgxLCAKICAgICA3ODYxNCwgNjYwMTMsIDQxOTU2LCA0MzQ1NSwgMTI2OTk1LCAwLCAwLCAwLCA0MjI3MywgNTgxOSwgMCwgOTE3NTU2LCAwLCAKLSAgICAwLCAwLCA2NTkxMCwgMTI3NzQ3LCAxMDI0NiwgMTIwODE2LCAwLCAxMjM3LCAxMDI3NCwgNDU1MiwgMTE5NTc2LCAwLCAwLCAKLSAgICAxMzc1LCA2NjcwNSwgNDM1NzMsIDY1MjYwLCA0MjA2MywgMCwgNDI4MTEsIDEwMzEyLCA3NDE5MiwgMTIwNzk0LCA3ODQwLCAKLSAgICAwLCA0MzYzMCwgMTAyNTIsIDAsIDEyODEwNCwgNDMxODUsIDAsIDQzOTYsIDAsIDExOTg4MCwgMTA3NjksIDk2NzYsIAotICAgIDExOTA0MSwgMCwgOTc1MywgMCwgODk0NCwgMCwgMCwgMTA0NzMsIDAsIDAsIDYwNzIsIDQzMDI1LCAxMDI5OSwgMCwgMCwgCi0gICAgMTIwNjA4LCA2NjMyNiwgMCwgMCwgMCwgNDM4MTEsIDkzMzAsIDAsIDcyMjIsIDEwMjgzLCAxMDMxNSwgMTAzNzksIDQ5OTYsIAotICAgIDAsIDEzMjgxLCA2NjUxNywgNzg2NSwgMTAwODcsIDc4MzQzLCAwLCA3ODM0NywgMCwgMCwgNzU2NSwgNjYzNjMsIDEyOTUyLCAKLSAgICA2NDgwNiwgNDMxODAsIDc3OTI4LCA2ODA5NiwgNzc5MjksIDQzOTgyLCA3NDI4OCwgNjIyLCA3NDAyMywgODg1LCA0MzQwNSwgCi0gICAgMTYwMiwgMCwgMCwgODUyLCAwLCAxMjE2MCwgMCwgMTAyMTIsIDY1NDM1LCAwLCAxMjA3MSwgOTYwOSwgMTIxNTYsIAotICAgIDkxNzk4MywgOTE3OTg0LCA0MzU4NiwgMTEwMzUsIDEwNDExLCA5MTc5ODgsIDEwMjU1LCA2NzEwLCAxMDI3OSwgNDE5NCwgCi0gICAgMTAzNzUsIDkxNzk5MywgMCwgNDMxNSwgMTI2NDQsIDEyNzUxNiwgNzc5MzcsIDQzNjM5LCA0MzM0MywgMCwgOTE3OTk4LCAKLSAgICAxMTUwMSwgNDExNzcsIDEyODY4OSwgMCwgOTE3NzkyLCAwLCA5MjQxMywgODcxNSwgMCwgNDExNzksIDAsIDQzMzEzLCAwLCAKLSAgICA0MTE3NiwgMCwgOTk0LCAwLCA4NDUyLCAxMjcxMDMsIDczOTY2LCAwLCAwLCA1OTIxLCAwLCAyNTk3LCAwLCA1OTIyLCAKLSAgICAxMTg5MDMsIDc3OTQzLCA0MTg2LCA5MjUzMSwgMTI3MTA2LCAxMjcxMDUsIDY3MTgsIDAsIDQ0MDYsIDc0NjAxLCA4NDgwLCAKLSAgICA5MTkyLCA5NzQ3LCAxMjg2OTksIDQ0MTMsIDkyMTk2LCA0MjI2OCwgMzE5OCwgNTkyNCwgNTkyMCwgOTI0NjksIDY5MjEsIAotICAgIDc4MDgxLCA3NDAwNywgNDI4NjksIDg0MTgsIDExNjgxLCA0MzE2OSwgMTAxNzYsIDAsIDc0MiwgMCwgMjg5MywgMTA3NzIsIAotICAgIDY1Mjc2LCA1OTM3LCAxOTE0LCAyNTUzLCAxMTY4MiwgNjc1NiwgMTI4NTkwLCAxMjg2NDYsIDgzNjMsIDAsIDI5OTMsIAotICAgIDc3NzIsIDM5MTYsIDAsIDEyMDQ5NCwgMTE0MSwgNDI0MDcsIDgxNTksIDcxOCwgNzU3MiwgOTczLCAwLCAxMjA3MTgsIAotICAgIDMyMzUsIDI0MTUsIDQzMTY0LCAwLCA4MDE4LCA0MjMzMywgNzQ3NTYsIDEwNjc1LCA2OTM3LCA0MjQ4NiwgNDMzODEsIAotICAgIDY1MzkwLCAxMDA2NywgMCwgMTIwMiwgMCwgMCwgNjU4NjMsIDAsIDAsIDAsIDc4MTgyLCA2NDU0MiwgMzI2MCwgNzM4MjksIAotICAgIDY1Mzg4LCA5OTQ1LCA4NDE5LCA3ODA0MiwgNjczOCwgMCwgNDM2ODEsIDY5NzI4LCAyMDU5LCAwLCAwLCA1NTIzNywgMTQzMSwgCi0gICAgMCwgNjY1NjUsIDEwODIxLCAwLCAxMjgwNCwgMTI4MDc2LCA4MjI5LCAxMjM1LCAzMzA3LCAxMTQ3MiwgNzgwODksIDc4MTg0LCAKLSAgICA0NTQ0LCAwLCAwLCAwLCAxNzQwLCA3ODA5NywgODc1OCwgOTg1LCAxMjg3MiwgNjQ1MTEsIDc4MDk0LCAxMjA2OCwgNzgxMDIsIAotICAgIDAsIDEwMTQxLCAwLCA2Mzc2MSwgODc4NSwgNDQ3NiwgNzgxMDksIDYzNzYzLCAxMjY1NSwgODkwNywgNzgxMDUsIDc4MTA2LCAKLSAgICA3ODEwMywgNzgxMDQsIDAsIDExOTU3MiwgMTA2NjUsIDY0NjE2LCA0MTU3MiwgMCwgMTI3MTYwLCAwLCA0MTU3MywgMCwgCi0gICAgMzkzMSwgMTIwMjk1LCA3NDE0MywgMCwgMCwgMCwgMCwgMTE5ODIsIDAsIDAsIDAsIDEyODAxNiwgNjQ0ODQsIDAsIDQxMTY3LCAKLSAgICAwLCA0MTczNSwgMCwgNzE3LCAxMDc1NCwgMCwgMCwgMTI3OTc5LCAwLCA2Mzc2NywgMCwgMTc4MCwgNjkzNiwgMCwgMCwgCi0gICAgODE5LCAxMDYxMSwgOTY5NCwgMTI2OTc4LCAwLCAwLCAwLCAwLCA4MzQzLCA4MzQyLCA4MzQ1LCA4MzQ0LCA2NTc4LCA3MDA5LCAKKyAgICAxMjY2NDMsIDAsIDY1OTEwLCAxMjc3NDcsIDEwMjQ2LCAxMjA4MTYsIDY1Nzg1LCAxMjM3LCAxMDI3NCwgNDU1MiwgCisgICAgMTE5NTc2LCAwLCAwLCAxMzc1LCA2NjcwNSwgNDM1NzMsIDY1MjYwLCA0MjA2MywgMCwgNDI4MTEsIDEwMzEyLCA2OTg0NSwgCisgICAgMTIwNzk0LCA3ODQwLCAwLCA0MzYzMCwgMTAyNTIsIDAsIDEyODEwNCwgNDMxODUsIDAsIDQzOTYsIDAsIDExOTg4MCwgCisgICAgMTA3NjksIDk2NzYsIDExOTA0MSwgMCwgOTc1MywgMCwgODk0NCwgMCwgMCwgMTA0NzMsIDAsIDAsIDYwNzIsIDQzMDI1LCAKKyAgICAxMDI5OSwgMCwgMCwgMTIwNjA4LCA2NjMyNiwgOTgzNDM5LCAxMjc3OTQsIDAsIDQzODExLCA5MzMwLCAxMjA1OTYsIDcyMjIsIAorICAgIDEwMjgzLCAxMDMxNSwgMTAzNzksIDQ5OTYsIDk4Mzc3MywgMTMyODEsIDY2NTE3LCA3ODY1LCAxMDA4NywgNzgzNDMsIDAsIAorICAgIDc4MzQ3LCAwLCAwLCA3NTY1LCA2NjM2MywgMTI5NTIsIDY0ODA2LCA0MzE4MCwgNzc5MjgsIDc0MTQsIDc3OTI5LCA0Mzk4MiwgCisgICAgNzQyODgsIDYyMiwgNzQwMjMsIDg4NSwgNDM0MDUsIDE2MDIsIDAsIDAsIDg1MiwgMCwgMTIxNjAsIDAsIDEwMjEyLCAKKyAgICA2NTQzNSwgMCwgMTIwNzEsIDk2MDksIDEyMTU2LCA5MTc5ODMsIDkxNzk4NCwgNDM1ODYsIDExMDM1LCAxMDQxMSwgCisgICAgOTE3OTg4LCAxMDI1NSwgNjcxMCwgMTAyNzksIDQxOTQsIDEwMzc1LCA3MzkwMCwgMCwgNDMxNSwgMTI2NDQsIDEyNzUxNiwgCisgICAgNzc5MzcsIDQzNjM5LCA0MzM0MywgNzg3NzcsIDkxNzk5OCwgMTE1MDEsIDQxMTc3LCAxMjg2ODksIDAsIDkxNzc5MiwgMCwgCisgICAgOTI0MTMsIDg3MTUsIDAsIDQxMTc5LCAwLCA0MzMxMywgMCwgNDExNzYsIDAsIDk5NCwgMCwgODQ1MiwgMTI3MTAzLCAKKyAgICA3Mzk2NiwgMCwgMCwgNTkyMSwgMCwgMjU5NywgMCwgNTkyMiwgMTE4OTAzLCA3Nzk0MywgNDE4NiwgOTI1MzEsIDEyNzEwNiwgCisgICAgMTI3MTA1LCA2NzE4LCAwLCA0NDA2LCA3NDYwMSwgODQ4MCwgOTE5MiwgOTc0NywgMTI2NTMwLCA0NDEzLCA5MjE5NiwgCisgICAgNDIyNjgsIDMxOTgsIDU5MjQsIDU5MjAsIDkyNDY5LCA2OTIxLCA3ODA4MSwgNzQwMDcsIDQyODY5LCA4NDE4LCAxMTY4MSwgCisgICAgNDMxNjksIDEwMTc2LCAwLCA3NDIsIDAsIDI4OTMsIDEwNzcyLCA2NTI3NiwgNTkzNywgMTkxNCwgMjU1MywgMTE2ODIsIAorICAgIDY3NTYsIDEyODU5MCwgMTI4NjQ2LCA4MzYzLCAwLCAyOTkzLCA3NzcyLCAzOTE2LCA0MzAxLCAxMjA0OTQsIDExNDEsIAorICAgIDQyNDA3LCA4MTU5LCA3MTgsIDc1NzIsIDk3MywgMCwgMTIwNzE4LCAzMjM1LCAyNDE1LCA0MzE2NCwgMCwgODAxOCwgCisgICAgNDIzMzMsIDc0NzU2LCAxMDY3NSwgNjkzNywgNDI0ODYsIDQzMzgxLCA2NTM5MCwgMTAwNjcsIDAsIDEyMDIsIDAsIDAsIAorICAgIDY1ODYzLCAwLCAwLCA5NDAxMywgNzgxODIsIDY0NTQyLCAzMjYwLCA3MzgyOSwgNjUzODgsIDk5NDUsIDg0MTksIDc4MDQyLCAKKyAgICA2NzM4LCAwLCA0MzY4MSwgNjk3MjgsIDIwNTksIDAsIDAsIDU1MjM3LCAxNDMxLCAwLCA2NjU2NSwgMTA4MjEsIDAsIAorICAgIDEyODA0LCAxMjgwNzYsIDgyMjksIDEyMzUsIDMzMDcsIDExNDcyLCA3ODA4OSwgNzgxODQsIDQ1NDQsIDAsIDAsIDAsIAorICAgIDE3NDAsIDc4MDk3LCA4NzU4LCA5ODUsIDEyODcyLCA2NDUxMSwgNzgwOTQsIDEyMDY4LCA3ODEwMiwgMCwgMTAxNDEsIDAsIAorICAgIDYzNzYxLCA4Nzg1LCA0NDc2LCA3ODEwOSwgNjM3NjMsIDEyNjU1LCA4OTA3LCA3ODEwNSwgNzgxMDYsIDc4MTAzLCA3ODEwNCwgCisgICAgMCwgMTE5NTcyLCAxMDY2NSwgNjQ2MTYsIDQxNTcyLCAwLCAxMjcxNjAsIDAsIDQxNTczLCAwLCAzOTMxLCAxMjAyOTUsIAorICAgIDc0MTQzLCAwLCAwLCAwLCA3ODQ2MCwgMTE5ODIsIDAsIDAsIDAsIDEyODAxNiwgNjQ0ODQsIDAsIDQxMTY3LCAwLCA0MTczNSwgCisgICAgOTQwMTksIDcxNywgMTA3NTQsIDAsIDAsIDEyNzk3OSwgMCwgNjM3NjcsIDAsIDE3ODAsIDY5MzYsIDAsIDkyMjU0LCA4MTksIAorICAgIDEwNjExLCA5Njk0LCAxMjY5NzgsIDAsIDAsIDAsIDAsIDgzNDMsIDgzNDIsIDgzNDUsIDgzNDQsIDY1NzgsIDcwMDksIAogICAgIDc1MjMsIDY5MjIsIDgzNDgsIDgzNDcsIDc1MjUsIDMzNDYsIDgzMzksIDEyODE2NSwgMTI4MzM4LCA1NzUsIDI2OCwgCiAgICAgNzgxMTEsIDg1NjMsIDU3NTQsIDEyMDM0MywgNDE1NDEsIDY1NTY1LCA4MzM2LCA1OTM2LCA3MjkwLCA3ODExNywgODMzNywgCiAgICAgODM0MSwgMzA4LCAxMTM4OCwgNzUyMiwgMTIwNzIxLCA3ODEyMywgNjU0NjYsIDExMDkwLCA2OTUzLCAwLCAxMjAzNDYsIDAsIApAQCAtMTcxMjgsMTY4NiArMTgwNjMsMjY0MiBAQAogICAgIDc4MzAsIDExNjUxLCAxMzA5MywgNjQwMDIsIDAsIDY1NzQyLCAxMjg3NCwgMTE5NTk3LCAxMTU5MCwgMCwgNzQwNDgsIAogICAgIDEyODM1MCwgODU5NSwgMCwgOTE3OTQ3LCA0MzcwMywgMTMwOTcsIDAsIDY0NjQzLCAxMzI4MywgMTI2OTcsIDAsIDEyMzgxLCAKICAgICAzNDg4LCA1OTMzLCAxMDAzMywgNzM3MzgsIDY2MjQxLCA2NTU3MCwgMCwgMTIyOTcsIDExOTE1MywgMTk1NSwgMCwgNTM0OSwgCi0gICAgNDI1MzgsIDAsIDAsIDY1MzA4LCA5NDYyLCA5MTc1NTQsIDAsIDAsIDAsIDQyNzM2LCAwLCA1NzU2LCAwLCA3NjM4LCAKLSAgICA0MTY0MiwgNDI3NjQsIDAsIDQzMTA5LCA3NjM3LCA1NzUyLCAxMjA2MDAsIDAsIDczODMyLCAxMjg4MjcsIDEyMDYzNSwgCi0gICAgMTI4MjMxLCA3ODMzNCwgMCwgNzYzNiwgNjUxNzEsIDkxMjQsIDAsIDc4ODkyLCAwLCAyOTEsIDAsIDAsIDIwMjcsIDY2MjMwLCAKLSAgICAxMDA4MCwgNzgxMzYsIDEwNDAzLCAwLCA0NjQwLCA2NDcxMywgMTAyMjQsIDEyMDQyOSwgNDI1MTIsIDEyMDQzMSwgCisgICAgNDI1MzgsIDAsIDAsIDc0MTEsIDk0NjIsIDkxNzU1NCwgMCwgMCwgMCwgNDI3MzYsIDAsIDU3NTYsIDk4MzIxOSwgNzYzOCwgCisgICAgNDE2NDIsIDQyNzY0LCAwLCA0MzEwOSwgNzYzNywgNTc1MiwgNzQwMzcsIDAsIDczODMyLCAxMjg4MjcsIDEyMDYzNSwgCisgICAgMTI4MjMxLCA3ODMzNCwgMCwgNzYzNiwgNjUxNzEsIDkxMjQsIDAsIDc4ODkyLCAxMjA3OTgsIDI5MSwgMCwgMCwgMjAyNywgCisgICAgNjYyMzAsIDEwMDgwLCA3ODEzNiwgMTA0MDMsIDAsIDQ2NDAsIDY0NzEzLCAxMDIyNCwgMTIwNDI5LCA0MjUxMiwgMTIwNDMxLCAKICAgICAxMjA0MzAsIDAsIDEyODM1MSwgMTI3NDg5LCAxMjcxNDgsIDAsIDkyNDk5LCAwLCAxMTkwOTQsIDc0MjEzLCA3ODI0LCAwLCAKICAgICAwLCA0MTI3NCwgNTc3OCwgNjMwMiwgMCwgMCwgMTI2ODAsIDExOTEzMCwgMTQxNywgNzc4ODksIDE5NDkxNCwgOTQ1MiwgMCwgCi0gICAgNzQzOTMsIDExNTUyLCAwLCAxMjc4NTUsIDAsIDY1MzkxLCAwLCAxMDE3MiwgNjU0NTMsIDYzNzg5LCA0MTI2NCwgNzg2NTgsIAotICAgIDY0MjYsIDQ2NDEsIDkxNzksIDY0ODE5LCA1NTI3OCwgNDEyNTUsIDQyMDM2LCA0MTQ2OSwgNDEyNjksIDEyMDQxMiwgCi0gICAgNDEyNjcsIDQ2NDYsIDEyMDQyNSwgODY1LCA0MjAzNCwgNzgyNzQsIDc4MjczLCA0NjQ1LCA0MjAzMywgNzgyNzAsIAotICAgIDEyNzk4MiwgMCwgNjQ3MjgsIDAsIDc4NjczLCA3ODY3NCwgMTY1OSwgOTE5LCA0Mjc4NCwgMTY3MSwgMTk1MDg5LCA2MDY5LCAKLSAgICA5MjE5LCAxOTUwOTAsIDE2NjEsIDEzMTIwLCA2Mzc4NCwgNjk4MTksIDEwMTQwLCA5NzEzLCAxMTkxNDMsIDAsIDAsIDAsIAotICAgIDIzMDYsIDEwNDg1LCAxMTg5NDMsIDYwNjgsIDEwNjEyLCAxOTUwOTksIDExOTU2NywgMTk1MTAxLCA5MjU2MSwgNDE0NjIsIAotICAgIDEyMDQ3MCwgMTk1MDc5LCA1NDIyLCAxMjgyMzQsIDAsIDAsIDAsIDEwMjI5LCAxMDYzNSwgODI2LCAxMjgwODEsIDE5NTA4MiwgCi0gICAgMTk1MDg1LCAxOTUwODQsIDE5NTA4NywgNjQ4MywgMCwgMTgwOCwgNzg0OCwgMCwgODEwMCwgNzgyMjcsIDc4NjY5LCAKLSAgICA3ODY3MCwgMTMzMDEsIDc4NjY3LCA5NjY3LCA3ODY2NSwgNzg4NzIsIDAsIDExMDAzLCA5OTA0LCAwLCAwLCAxMjA2OTAsIAotICAgIDkxNDQsIDEwOTIxLCAwLCA3ODY4MCwgOTg0MCwgNjUxMzEsIDc4Njc4LCA3Nzg0MSwgMTAzMTMsIDAsIDAsIDY0MzIwLCAKLSAgICAxMDI2NSwgNzg2ODYsIDEwOTYyLCA3ODY4NCwgNDMwMDgsIDg5NDUsIDc4NjgzLCAwLCA0MSwgMTk1MDcyLCAxNzkyLCAKLSAgICAxMjA1MTUsIDE5NTA3MywgODY1NSwgMTk1MDc1LCA5MjU0NCwgNzc5NTEsIDEyMDY2LCAwLCAzODUsIDQxNTIsIDI1ODUsIAotICAgIDEyNzgwNCwgMTE5MDY4LCAzMTI2LCAwLCA3NDEzNiwgMTA5NTcsIDAsIDQzMjU4LCAwLCAxMjc4NzMsIDEzMTU3LCAwLCAwLCAKLSAgICAzNTcwLCAwLCA3NDQzLCAwLCA0NDAwNiwgNjk5NywgMCwgMCwgNzg3OSwgODczOSwgMTEwNzUsIDAsIDY1MjE2LCAwLCAKLSAgICA2OTc5NSwgMjU5MywgODQ2MywgNzgxMCwgOTE3ODYyLCA3ODM5LCAxMTk5MTMsIDc4ODA2LCAxMTk5MTIsIDk2OTEsIDQ0MTEsIAotICAgIDc4ODAyLCAwLCAwLCA0MzQ0MiwgNzg3OTksIDY1MjU0LCAxMDA2NiwgMCwgMCwgMCwgMCwgMTMwNjEsIDgwMTYsIDc4Njg3LCAKLSAgICAxOTkzMiwgNjQ4MzEsIDAsIDExOTkyMywgMTIzOTAsIDExOTE3MSwgMTYzNCwgNjgxMTUsIDAsIDExMDU2LCAwLCAxMTk5MjUsIAotICAgIDAsIDQxMTY1LCAxMTMyOCwgMTI0NTAsIDAsIDQxMTY2LCAwLCAxMjQ1NiwgMTE5OTE0LCAxNzEsIDU5NDEsIDEyNDUyLCAKLSAgICA5MTc1NDQsIDEyNDU4LCAxMjUzMSwgNzg3NzksIDQzMDEzLCA2MzgwMCwgNzQxNjIsIDEyNzU2OSwgMTIwNDgzLCA5OTY5LCAKLSAgICAwLCAxMjQ1NCwgNjM4MDYsIDQyMTMyLCAxMjA2MywgNzg0MjUsIDc4NDI0LCAzMjMwLCAwLCAwLCAwLCA1MjA5LCAyOTcsIAotICAgIDU4MTAsIDg1MjIsIDg0MTUsIDExOTkzNywgNzg0MjksIDc4NDI4LCA3MDc3LCAyNDk3LCAxMjg2NTEsIDk2MCwgNzQxNTYsIAotICAgIDY5ODEsIDkyMzc0LCAxMjkzOCwgNDI5MiwgMCwgNzQ4MTUsIDEwNTEyLCAwLCA3NDgxNCwgNzg4NzUsIDEyNzUwNSwgCi0gICAgNzg4NzYsIDI1MDMsIDczNzc4LCAxNzYyLCA2OTc5NCwgMjQ5NSwgNzg4NzMsIDU4NDQsIDc4ODc0LCAxMTg4MzgsIDAsIAotICAgIDEyNjU0LCA0NjYzLCAxODk5LCA3ODg3NywgMjUwNywgNjQxMjEsIDg3MjYsIDY1NTk0LCAwLCAwLCAwLCA4ODkyLCAwLCAKLSAgICA5MjMzOSwgMCwgMCwgNTc4MiwgNDIwLCAwLCAwLCA0Mzc5NiwgMTA3OTcsIDYzNzk0LCAwLCAwLCA2NDgxNCwgNjM3OTYsIAotICAgIDc3OTY1LCAwLCA2NjU4MSwgMTE5MjA0LCA0MTYwOCwgMCwgMCwgNjM3OTIsIDQ2NTksIDEyMDc4OCwgMCwgNDM2NzYsIDAsIAotICAgIDY5NjczLCAwLCAwLCAwLCAzMjksIDc3OTY4LCA5MjcwNywgOTE3NTQ4LCA3Mzk5LCAwLCA0MTE4OCwgMTMyNDQsIDEyMDQ2NiwgCi0gICAgNDIxNjcsIDc0MzUsIDc4MTkzLCA1MzgwLCAxMTkwODYsIDY5MjI1LCAxMTU1LCAxMTM2NSwgNDMxMjYsIDc3OTcyLCAwLCAKLSAgICA2NTY4NCwgMCwgNTYwMSwgNjUxOTIsIDQyNzY1LCA2Mzc1MiwgMCwgNzk4NywgMCwgMTE3MiwgNjk3OTksIDY3ODYsIAotICAgIDQzNjAxLCAxMjA0NzYsIDc0MTI2LCA1NjAzLCAwLCA0NDczLCAwLCAxOTQ4MjMsIDAsIDY1MzQ3LCA2NTM0NiwgNjUzNDUsIAotICAgIDAsIDEyNzM4NCwgNTM0NywgNjk4MDIsIDAsIDczODY4LCAxMTg5NDQsIDEwNTg4LCAwLCAwLCA2Mzc1NSwgMCwgNTM0MywgCi0gICAgNzg0MjIsIDAsIDQ1NTUsIDUzNDEsIDAsIDAsIDEyODY3MCwgNTM1MSwgMCwgNDMxMDQsIDY1MjQ0LCA5MTc4OTIsIDY0NTQxLCAKLSAgICA0MjUxOSwgNzQ0NzIsIDAsIDAsIDc0NzY1LCA5MTc4ODgsIDE5NDg5MiwgNjYzOCwgMCwgNjUxMTMsIDI3MSwgNzQxODAsIAotICAgIDY1MzcwLCA4ODM1LCA2NTM2OCwgMTI2NTMsIDY1MzY2LCA0MjE3MiwgNDEwODYsIDY1MzYzLCA2NTM2MiwgNjUzNjEsIAotICAgIDExOTEyLCA0MzQxMCwgMTEzMjMsIDY1MzU3LCAxMTgwMCwgNjUzNTUsIDUzNDUsIDY1MzUzLCA2NTM1MiwgNjUzNTEsIDc2MSwgCi0gICAgNjUzNDksIDE5OTU5LCA2OTcxOCwgNjM4NTYsIDAsIDI0MjMsIDc3OTU4LCA2NDY0NywgNzc5NTksIDExOTU3LCA0Njk5LCAwLCAKLSAgICAwLCAwLCAwLCA2NDYwNSwgMCwgMCwgMCwgNDkxNiwgMCwgMzgwLCAxMDk1OCwgNjY1NjMsIDc3OTU1LCA2OTc3MywgOTc3MywgCi0gICAgMTMxNjcsIDEyOTE4LCA0MTA5NiwgNzM5ODAsIDY5MjQ1LCA3ODI1NCwgOTE3ODkzLCAxMDY4NCwgMCwgOTE3ODk2LCAwLCAKLSAgICA3OTQ2LCAxMjU0MSwgODE4MiwgNjc1ODYsIDY5NzgwLCAwLCAwLCAwLCAwLCA5MDA1LCAxMjI1LCA2NjMwLCAwLCAwLCAwLCAKLSAgICAwLCA4ODQ3LCAwLCA2NTg3NiwgNTUzNSwgODMyOSwgNzQ1OTAsIDAsIDkyNjA5LCAwLCAwLCAzMTI3LCAyNTk1LCA2NTcxMywgCi0gICAgNDIwMTMsIDAsIDU2MDcsIDQxMDg5LCAwLCAwLCA3NDI1NiwgMjY2NSwgMTEzMDQsIDAsIDc0MjAwLCA0OTcwLCA4NzY0LCAKKyAgICA3NDM5MywgMTE1NTIsIDAsIDEyNzg1NSwgMTI4MjE3LCA2NTM5MSwgMCwgMTAxNzIsIDY1NDUzLCA2Mzc4OSwgNDEyNjQsIAorICAgIDc4NjU4LCA2NDI2LCA0NjQxLCA5MTc5LCA2NDgxOSwgNTUyNzgsIDQxMjU1LCA0MjAzNiwgNDE0NjksIDQxMjY5LCAKKyAgICAxMjA0MTIsIDQxMjY3LCA0NjQ2LCAxMjA0MjUsIDg2NSwgNDIwMzQsIDc4Mjc0LCA3ODI3MywgNDY0NSwgNDIwMzMsIAorICAgIDc4MjcwLCAxMjc5ODIsIDk4MzE3MiwgNjQ3MjgsIDAsIDc4NjczLCA3ODY3NCwgMTY1OSwgOTE5LCA0Mjc4NCwgMTY3MSwgCisgICAgMTk1MDg5LCA2MDY5LCA5MjE5LCAxMjg1NTgsIDE2NjEsIDEzMTIwLCA2Mzc4NCwgNjk4MTksIDEwMTQwLCA5NzEzLCAKKyAgICAxMTkxNDMsIDAsIDAsIDk0MDUwLCAyMzA2LCAxMDQ4NSwgMTE4OTQzLCA2MDY4LCAxMDYxMiwgMTk1MDk5LCAxMTk1NjcsIAorICAgIDE5NTEwMSwgOTI1NjEsIDQxNDYyLCAxMjA0NzAsIDE5NTA3OSwgNTQyMiwgMTI4MjM0LCAwLCAwLCAwLCAxMDIyOSwgCisgICAgMTA2MzUsIDgyNiwgMTI4MDgxLCAxOTUwODIsIDE5NTA4NSwgMTk1MDg0LCAxOTUwODcsIDY0ODMsIDkyMjExLCAxODA4LCAKKyAgICA3ODQ4LCAwLCA4MTAwLCA3ODIyNywgNzg2NjksIDc4NjcwLCAxMzMwMSwgNzg2NjcsIDk2NjcsIDc4NjY1LCA3ODg3MiwgMCwgCisgICAgMTEwMDMsIDk5MDQsIDAsIDAsIDEyMDY5MCwgOTE0NCwgMTA5MjEsIDAsIDc4NjgwLCA5ODQwLCA2NTEzMSwgNzg2NzgsIAorICAgIDc3ODQxLCAxMDMxMywgMCwgMCwgNjQzMjAsIDEwMjY1LCA3ODY4NiwgMTA5NjIsIDc4Njg0LCA0MzAwOCwgODk0NSwgCisgICAgNzg2ODMsIDAsIDQxLCAxOTUwNzIsIDE3OTIsIDEyMDUxNSwgMTk1MDczLCA4NjU1LCAxOTUwNzUsIDkyNTQ0LCA3Nzk1MSwgCisgICAgMTIwNjYsIDAsIDM4NSwgNDE1MiwgMjU4NSwgMTI3ODA0LCAxMTkwNjgsIDMxMjYsIDAsIDc0MTM2LCAxMDk1NywgOTgzNjk0LCAKKyAgICA0MzI1OCwgMTE5MTE2LCAxMjc4NzMsIDEzMTU3LCAwLCA5MTc1NDQsIDM1NzAsIDAsIDc0NDMsIDAsIDQ0MDA2LCA2OTk3LCAKKyAgICA2ODAwNCwgMTI2NjMxLCA3ODc5LCA4NzM5LCAxMTA3NSwgMCwgNjUyMTYsIDAsIDY5Nzk1LCAyNTkzLCA4NDYzLCA3ODEwLCAKKyAgICA5MTc4NjIsIDc4MzksIDExOTkxMywgNzg4MDYsIDExOTkxMiwgOTY5MSwgNDQxMSwgNzg4MDIsIDAsIDAsIDQzNDQyLCAKKyAgICA2OTg1MSwgNjUyNTQsIDEwMDY2LCA5ODM4ODAsIDAsIDAsIDAsIDEzMDYxLCA4MDE2LCA3ODY4NywgMTk5MzIsIDY0ODMxLCAKKyAgICAwLCAxMTk5MjMsIDEyMzkwLCAxMTkxNzEsIDE2MzQsIDY4MTE1LCAwLCAxMTA1NiwgOTgzNTc0LCAxMTk5MjUsIDAsIAorICAgIDQxMTY1LCAxMTMyOCwgMTI0NTAsIDAsIDQxMTY2LCAwLCAxMjQ1NiwgMTE5OTE0LCAxNzEsIDU5NDEsIDEyNDUyLCAKKyAgICAxOTQ3MDksIDEyNDU4LCAxMjUzMSwgNzg3NzksIDQzMDEzLCA2MzgwMCwgNzQxNjIsIDEyNzU2OSwgMTIwNDgzLCA5OTY5LCAKKyAgICAxMjA3NjcsIDEyNDU0LCA2MzgwNiwgNDIxMzIsIDEyMDYzLCA3ODQyNSwgNzg0MjQsIDMyMzAsIDAsIDAsIDAsIDUyMDksIAorICAgIDI5NywgNTgxMCwgODUyMiwgODQxNSwgMTE5OTM3LCA3ODQyOSwgNzg0MjgsIDcwNzcsIDI0OTcsIDEyODY1MSwgOTYwLCAKKyAgICA3NDE1NiwgNjk4MSwgOTIzNzQsIDEyOTM4LCA0MjkyLCAwLCA3NDgxNSwgMTA1MTIsIDAsIDc0ODE0LCA3ODg3NSwgCisgICAgMTI3NTA1LCA3ODg3NiwgMjUwMywgNzM3NzgsIDE3NjIsIDY5Nzk0LCAyNDk1LCA3ODg3MywgNTg0NCwgNjgwMzEsIAorICAgIDExODgzOCwgMCwgMTI2NTQsIDQ2NjMsIDE4OTksIDc4ODc3LCAyNTA3LCA2NDEyMSwgODcyNiwgNjU1OTQsIDAsIDAsIDAsIAorICAgIDg4OTIsIDAsIDkyMzM5LCAwLCA5ODMwNzMsIDU3ODIsIDQyMCwgMCwgMCwgNDM3OTYsIDEwNzk3LCA2Mzc5NCwgMCwgMCwgCisgICAgNjQ4MTQsIDYzNzk2LCA3Nzk2NSwgMCwgNjY1ODEsIDExOTIwNCwgNDE2MDgsIDAsIDAsIDYzNzkyLCA0NjU5LCAxMjA3ODgsIAorICAgIDAsIDQzNjc2LCAwLCA2OTY3MywgMCwgMCwgMCwgMzI5LCA3Nzk2OCwgOTI3MDcsIDkxNzU0OCwgNzM5OSwgMCwgNDExODgsIAorICAgIDEzMjQ0LCAxMjA0NjYsIDQyMTY3LCA3NDM1LCA3ODE5MywgNTM4MCwgMTE5MDg2LCA2OTIyNSwgMTE1NSwgMTEzNjUsIAorICAgIDQzMTI2LCA3Nzk3MiwgMCwgNjU2ODQsIDAsIDU2MDEsIDY1MTkyLCA0Mjc2NSwgNjM3NTIsIDAsIDc5ODcsIDEyODU0MywgCisgICAgMTE3MiwgNjk3OTksIDY3ODYsIDQzNjAxLCAxMjA0NzYsIDc0MTI2LCA1NjAzLCAwLCA0NDczLCAwLCAxOTQ4MjMsIDAsIAorICAgIDY1MzQ3LCA2NTM0NiwgNjUzNDUsIDAsIDEyNzM4NCwgNTM0NywgNjk4MDIsIDk4MzYyMywgNzM4NjgsIDExODk0NCwgCisgICAgMTA1ODgsIDAsIDAsIDYzNzU1LCAwLCA1MzQzLCA3ODQyMiwgMTIwNjYxLCA0NTU1LCA1MzQxLCAwLCA3MDA3MSwgMTI4NjcwLCAKKyAgICA1MzUxLCA3ODY3NSwgNDMxMDQsIDY1MjQ0LCA5MTc4OTIsIDY0NTQxLCA0MjUxOSwgNzQ0NzIsIDAsIDAsIDc0NzY1LCAKKyAgICA5MTc4ODgsIDEyNzUxMCwgNjYzOCwgMCwgNjUxMTMsIDI3MSwgNzQxODAsIDY1MzcwLCA4ODM1LCA2NTM2OCwgMTI2NTMsIAorICAgIDY1MzY2LCA0MjE3MiwgNDEwODYsIDY1MzYzLCA2NTM2MiwgNjUzNjEsIDExOTEyLCA0MzQxMCwgMTEzMjMsIDY1MzU3LCAKKyAgICAxMTgwMCwgNjUzNTUsIDUzNDUsIDY1MzUzLCA2NTM1MiwgNjUzNTEsIDc2MSwgNjUzNDksIDE5OTU5LCA2OTcxOCwgNjM4NTYsIAorICAgIDEyNjYzNSwgMjQyMywgNzc5NTgsIDY0NjQ3LCA3Nzk1OSwgMTE5NTcsIDQ2OTksIDAsIDAsIDAsIDAsIDY0NjA1LCAwLCAwLCAKKyAgICAwLCA0OTE2LCAwLCAzODAsIDEwOTU4LCA2NjU2MywgNzc5NTUsIDY5NzczLCA5NzczLCAxMzE2NywgMTI5MTgsIDQxMDk2LCAKKyAgICA3Mzk4MCwgNjkyNDUsIDc4MjU0LCA5MTc4OTMsIDEwNjg0LCAwLCA5MTc4OTYsIDAsIDc5NDYsIDEyNTQxLCA4MTgyLCAKKyAgICA2NzU4NiwgNjk3ODAsIDAsIDAsIDAsIDAsIDkwMDUsIDEyMjUsIDY2MzAsIDAsIDAsIDAsIDY4MDExLCA4ODQ3LCAwLCAKKyAgICA2NTg3NiwgNTUzNSwgODMyOSwgNzQ1OTAsIDk4MzIwNiwgOTI2MDksIDAsIDAsIDMxMjcsIDI1OTUsIDY1NzEzLCA0MjAxMywgCisgICAgOTgzODQ5LCA1NjA3LCA0MTA4OSwgMCwgMCwgNzQyNTYsIDI2NjUsIDExMzA0LCA0Mzc1MSwgNzQyMDAsIDQ5NzAsIDg3NjQsIAogICAgIDEyMDQ1OSwgODkzNCwgOTI3MjYsIDQxNTY2LCA0NDkyLCAwLCA2NTAxMSwgNDEwOTAsIDAsIDAsIDExODgsIDcyNTQsIAotICAgIDExMDAsIDAsIDEyODMwMSwgNDEwODEsIDI5MTIsIDExNzQ5LCA2OTc5MiwgMCwgMCwgMzU3MiwgMTAwMjMsIDQ5NTksIAotICAgIDEzMDc5LCAwLCAwLCA5NzI5LCAwLCAwLCAwLCA0MzM2MSwgMCwgMCwgMTE4MDMsIDc5OTYsIDk5MDcsIDQxNDUwLCAxMzMwNCwgCi0gICAgMTI4MjkwLCAxMjcyNjAsIDQxNDUxLCAwLCAxMTA5NSwgODI3MywgMTI3NTMzLCAzNDUxLCAwLCA5NzIsIDQxNDUzLCAwLCAwLCAKLSAgICA3Mzg4MywgOTI0MDgsIDczOTQ1LCAwLCAzNDU1LCAxOTk1NSwgOTUzOCwgMCwgNjk4MDcsIDAsIDAsIDAsIDAsIDExMzk2LCAKLSAgICAwLCAxMTAxOSwgMCwgMCwgMCwgMTIwNTA3LCA0MTA3OCwgMCwgMjYxLCA1OTI3LCA3NzkxLCAwLCA2NDQ0NiwgMCwgMTA2OTYsIAotICAgIDAsIDYwNzMsIDk4MzgsIDExODkyMCwgMCwgNjA3NSwgMTI4NTYzLCAyODIsIDAsIDY0MzcsIDc0MDc4LCAxMjgwMDAsIAotICAgIDk4MDEsIDAsIDAsIDAsIDAsIDM0NzQsIDExODc4NywgMCwgMTIwNjU1LCA2MDgxLCAwLCAxMjc4NDMsIDc0MDc2LCA3ODg3OSwgCi0gICAgMCwgMCwgMCwgMCwgMCwgODc1MSwgMTE0OTksIDEyMDI3MywgNzgxNiwgMTI2MzYsIDQ2NjUsIDEyNjI4LCA0NjcwLCAKLSAgICA5MjYwOCwgMTIwMjcyLCAwLCA5NjQyLCAxMDkxMiwgOTU4LCAwLCAxMTM4NywgNzg4NzgsIDQ2NjYsIDAsIDQ5MTUsIDAsIAotICAgIDQ2NjksIDAsIDY4MDk5LCAxMzI4NywgNDY2NCwgMTA4MzYsIDEyMDU1MCwgMCwgNjk3NzUsIDAsIDQzNTk1LCA3NDUwLCAwLCAKLSAgICA5MTc4NzUsIDg2NjQsIDk2OTcsIDM2MDYsIDkxNzg3MywgMCwgMCwgNjQ4MTUsIDEwNjMsIDEyMDI1MCwgMTIwMjUxLCAKLSAgICA5NzcyLCA3MjU1LCA4ODg2LCAxMzg5LCAxMjc5MzIsIDEyMDI1NywgMTIwMjU4LCAxMjAyNTksIDEyOTQxLCA0MjY2MSwgCi0gICAgOTIzODEsIDEyMDI1NSwgMTIwMjU2LCAxMjMwMSwgMTIwMjY2LCA2OTgyMCwgNDExMDIsIDY2NjA0LCAxMjAyNjIsIAotICAgIDEyMDI2MywgMTIwMjY0LCAxMDE3LCA2NjYwMCwgNTIzLCA1MDUsIDE0NDcsIDc0NDM2LCAwLCAwLCAwLCA4NjA4LCA0Mjc4OSwgCi0gICAgMTIwNjEzLCAxMjg3MDQsIDAsIDExOTE5NiwgMTEzMDcsIDY2NzA3LCA5MTc4NzEsIDEyNzc1MSwgMTE3NDUsIDc5MTksIDAsIAotICAgIDE2NDEsIDAsIDAsIDg5NjYsIDAsIDAsIDU5MDgsIDAsIDAsIDY3NDQsIDEyODM1NSwgMTY5OSwgNzQxOTEsIDc0ODQzLCAwLCAKLSAgICAwLCA2MzA2LCAxMDE2OSwgMCwgMTE5MjUxLCAxMDA2OCwgMzc2NiwgMjM4OSwgMTIwNDU2LCAxMjA0NTUsIDY2MTEsIDI1NywgCi0gICAgNDMxNzAsIDEzMTUzLCAwLCA0MjM4NiwgMCwgOTQzNiwgMjU5OSwgMCwgNjQ5NiwgOTQ0OSwgNTkzMCwgMTE0NzYsIDExMDMzLCAKLSAgICAxMTQ0NywgMTA1NDEsIDU2MjIsIDEyMDQzNiwgODQ3NywgMzc2MCwgMTcxOCwgOTQ0MiwgNjY0MzMsIDM3NzYsIDAsIAotICAgIDQxNDM1LCA0MzUyLCAwLCAyNDM1LCAxMjA4MDksIDU2MjEsIDEyMDM4NSwgNDIwMSwgMzc3OCwgNDIwMywgNDIwMiwgNDIwNSwgCi0gICAgNDIwNCwgMTIwNDQ3LCAzNzY4LCA2ODE0MiwgNzY1LCA0MTQ0MCwgMzc2NCwgODQ3MywgNjM3MywgODQ2OSwgMTIwNDM4LCAKLSAgICAxMjk0NywgNDU2NCwgMCwgMCwgNzQyNzEsIDczNzUzLCA4Mzc0LCAwLCAwLCA2ODI5LCA1MjI1LCAxMjg4MDcsIDEyNzM4NSwgCi0gICAgMCwgMCwgMTE5NjE1LCAwLCA3NDc5MywgNTYyNiwgNzM4MDcsIDExNzcxLCAwLCAxMjcyMzYsIDEyODAxOSwgMCwgNTM1MywgCi0gICAgNTYyNSwgNzQxNzksIDAsIDAsIDEwMTAsIDY0NTcyLCA0MTc4MCwgNDI2MjMsIDY0Mjc3LCAwLCA2OTUyLCAwLCAxMjA3NTIsIAotICAgIDc4NzYyLCAyNTkwLCA1NjI5LCA2NTU1MiwgNzU1MSwgMTAzMjUsIDU2MzIsIDEwNDcxLCAxMjAwMzgsIDEyMDAyNywgCi0gICAgMTIwMDI4LCAxMjAwMjUsIDU2MjgsIDEyMDAzMSwgOTcwLCAxMjAwMjksIDQ3NzIsIDI0MDAsIDU2MjcsIDEyMDAxNywgCi0gICAgMTIwMDE4LCAxMjAwMjMsIDY0Mjc1LCAxMjAwMjEsIDEwOTYxLCAwLCAyMDMsIDAsIDAsIDAsIDAsIDc4MzUwLCAwLCAKLSAgICA2NDM3OCwgNDIwNTQsIDAsIDAsIDU1NCwgMTE5NjQ5LCAxMTM1OCwgMCwgMTIxODIsIDQyMDQ4LCAxMTA2NSwgMTI3ODc4LCAKLSAgICA3Mzg5MSwgMCwgMCwgNTY5NCwgNzY4OSwgNjk3OTgsIDkzMjMsIDQzMjUsIDMwNDcsIDEwMzE3LCAxNzUsIDAsIDAsIAotICAgIDY5NzY0LCAwLCAwLCAxMjQzLCA0MjE1NCwgNTQzMSwgNjY1MiwgMCwgNjk3NzAsIDQzNjUxLCAwLCA2ODExOCwgMTI4MDI0LCAKLSAgICAxMTI5LCAwLCAwLCA2NTkwMCwgMTk4NiwgNzg0NiwgNzg4MDQsIDg2NjEsIDkxNzc3MiwgNjUyNTUsIDAsIDM4NDUsIDQ0OTAsIAotICAgIDExODk2OSwgNjY0OSwgNzQ0MDAsIDE0NTYsIDc1MzAsIDExOTc3LCA3MjQ5LCA4MzY2LCAwLCA3NzU2LCAxMjM0MiwgCi0gICAgMTI4NTY4LCA1MSwgNDE1MTYsIDAsIDg1NzAsIDk1NjgsIDkxNzg2MywgNDU2LCA3MDI2LCA4MTQ1LCAxMTY4LCA5MjUxLCAKLSAgICA5MDgyLCAxMTk5NjQsIDY0MDU1LCA0Mjc4MSwgMzg2NiwgMTIzMjMsIDQxNTEyLCA3MzgwNSwgNjgxMjEsIDAsIDQxNDk0LCAKLSAgICA5MjMxNiwgNDY2MCwgMCwgMTA0MDUsIDAsIDc4ODAzLCAwLCAwLCA0MjA0MCwgNzM5MTgsIDExOTYyNywgNzk0NCwgNDE0NTQsIAotICAgIDEyNjA1LCAwLCA0MjIwNSwgNDE0NTUsIDIzNiwgNjQwNTEsIDc4ODY3LCA4MjE0LCAwLCAwLCAwLCA0MTQ1NywgMCwgCi0gICAgMTE5NTg5LCAxOTY5LCAyMzg0LCA4MDk3LCA5MTc4NjQsIDAsIDEyNzM4MCwgNzgwMjksIDg3NjYsIDAsIDc4MDc5LCA1ODU0LCAKLSAgICAxMjc5NzQsIDEwNTgzLCAwLCAxMTk5ODksIDAsIDEwNDE2LCA5MTc4NjksIDM4NzIsIDkxNzg2OCwgMCwgODQyOSwgMCwgCi0gICAgMTE4ODA2LCAyODM4LCAxMjg4MDIsIDAsIDkxNzg2NiwgMCwgMCwgMCwgMCwgMCwgMTEwOTYsIDEyMDgxMywgMTA1NTMsIAotICAgIDE2NjIsIDg0ODMsIDEyMDM5NiwgNDM2MDUsIDU4OTIsIDQzNDE4LCAwLCA3Mzc0MiwgNjYsIDY1LCA2OCwgNjcsIDcwLCA2OSwgCi0gICAgNzIsIDcxLCA3NCwgNzMsIDc2LCA3NSwgNzgsIDc3LCA4MCwgNzksIDgyLCA4MSwgODQsIDgzLCA4NiwgODUsIDg4LCA4NywgCi0gICAgOTAsIDg5LCAxMTk4NjIsIDEwMzU3LCA3Mzg1LCA4MTcwLCAxNzA0LCA4NTU2LCAwLCA5NjU5LCAwLCAwLCAwLCA5NTU2LCAwLCAKLSAgICA0NTAzLCAxMTM1MywgOTY0NywgMCwgNzgxODUsIDAsIDAsIDkyNzEzLCA3ODg4NiwgMCwgMCwgNzQyMjksIDY2NTkzLCAKLSAgICA2NDM4LCA5MTc5NzksIDkxMDksIDc4ODgyLCAxMjg5LCA2NDU5OSwgMCwgMCwgMCwgNjU1MDcsIDI0NDcsIDAsIDAsIAotICAgIDEyODA0MiwgMCwgMCwgMCwgNjMzNCwgMCwgMCwgMTk5MzcsIDAsIDkyMzY4LCAwLCA1Njc1LCAyNTQsIDAsIDAsIDY5Njg2LCAKLSAgICA0MjQyNSwgODkxOCwgNjQwMDMsIDU3MTYsIDQyMzEyLCAwLCAwLCA2OTcyLCA0MjgyNiwgMCwgNDI0NjQsIDEyMDU2NywgMCwgCi0gICAgOTI2NDUsIDc0Nzk2LCA2NDQwMCwgNjQ2OTMsIDAsIDc3ODYxLCA2NTQyOSwgOTUxNSwgNDQzNSwgMCwgNDI1MjIsIDAsIDAsIAotICAgIDExNzg1LCAwLCA2NDY3MSwgNDE5NzgsIDE0MTIsIDQ1OTQsIDEzOTEsIDEwNTM2LCA4MDY3LCA5OTAxLCA3Nzc1LCAKLSAgICAxMjgyOTMsIDAsIDc0NTg4LCAxMjA3NDgsIDMxNDAsIDEyODg1NCwgNzk2MCwgNDMyNzEsIDAsIDEyNTE4LCAxMDkwOSwgCi0gICAgMTI3NTA4LCAxNDI4LCAxMjQ3MiwgMCwgMTI4Nzg3LCA3Njk5LCAxMjM5MywgMCwgMCwgMCwgNzQ1MTgsIDgyMjMsIDAsIAotICAgIDQyNjEsIDAsIDAsIDAsIDAsIDAsIDEyODMwMiwgMCwgMTI4MDQ2LCA0MzQxOSwgMCwgNjQ1NTQsIDEwNTc0LCAzODc4LCAwLCAKLSAgICA0MjM1MiwgMTc1MiwgNzM3ODUsIDAsIDQyNTA2LCAxMjg1NDEsIDEwMTk5LCAwLCAwLCAwLCA2NTkxOSwgMCwgNjY5NSwgCi0gICAgNzIwLCAzMjQsIDAsIDAsIDQzNDA2LCAwLCAxNDY0LCA0MDk4NSwgMCwgNzk3NCwgMCwgNDM0NzQsIDAsIDY0NDg4LCAwLCAwLCAKLSAgICA2NDA0MSwgNzQ3ODcsIDAsIDc4ODY1LCA5MjI1OCwgNjU1OTcsIDAsIDc4ODYzLCAwLCAxMzAyLCAwLCA3ODg2MSwgMCwgMCwgCi0gICAgMCwgNTIwNCwgNzQ3NzQsIDQzNDA0LCA0MzM5NiwgMCwgMzk5NSwgNjgzNjAsIDY1NjA4LCAzNzE0LCAwLCAwLCAwLCAKKyAgICAxMTAwLCAwLCAxMjgzMDEsIDQxMDgxLCAyOTEyLCAxMTc0OSwgNjk3OTIsIDAsIDY4MDE5LCAzNTcyLCAxMDAyMywgNDk1OSwgCisgICAgMTMwNzksIDAsIDk4MzI2OCwgOTcyOSwgMCwgMCwgMCwgNDMzNjEsIDAsIDAsIDExODAzLCA3OTk2LCA5OTA3LCA0MTQ1MCwgCisgICAgMTMzMDQsIDEyODI5MCwgMTI3MjYwLCA0MTQ1MSwgMCwgMTEwOTUsIDgyNzMsIDEyNzUzMywgMzQ1MSwgOTgzMzAxLCA5NzIsIAorICAgIDQxNDUzLCA5ODM0MzQsIDAsIDczODgzLCA2ODAyMiwgNzM5NDUsIDk4MzcyNiwgMjI4OCwgMTk5NTUsIDk1MzgsIDAsIAorICAgIDY5ODA3LCAwLCAwLCAwLCAwLCAxMTM5NiwgOTgzNDMyLCAxMTAxOSwgMCwgMCwgMCwgNjgwMjAsIDQxMDc4LCA3MTM2NSwgCisgICAgMjYxLCA1OTI3LCA3NzkxLCAwLCA3MzYyLCAwLCAxMDY5NiwgMCwgNjA3MywgOTgzOCwgMTE4OTIwLCAwLCA2MDc1LCAKKyAgICA5Mzk5NSwgMjgyLCAxMjY1MTAsIDY0MzcsIDc0MDc4LCAxMjgwMDAsIDk4MDEsIDAsIDc0MTc3LCAwLCAwLCAzNDc0LCAKKyAgICAxMTg3ODcsIDAsIDEyMDY1NSwgNjA4MSwgMCwgNzg4NzQsIDc0MDc2LCA3ODg3OSwgMCwgMCwgMCwgMCwgMCwgODc1MSwgCisgICAgMTE0OTksIDEyMDI3MywgNzgxNiwgMTI2MzYsIDQ2NjUsIDEyNjI4LCA0NjcwLCA5MjYwOCwgMTIwMjcyLCA2ODAxNywgCisgICAgOTY0MiwgMTA5MTIsIDk1OCwgMCwgMTEzODcsIDc4ODc4LCA0NjY2LCAwLCA0OTE1LCAwLCA0NjY5LCAwLCA2ODA5OSwgCisgICAgMTMyODcsIDQ2NjQsIDEwODM2LCAxMjA1NTAsIDAsIDY5Nzc1LCAwLCA0MzU5NSwgNzQ1MCwgMCwgOTE3ODc1LCA4NjY0LCAKKyAgICA5Njk3LCAzNjA2LCA5MTc4NzMsIDAsIDAsIDY0ODE1LCAxMDYzLCAxMjAyNTAsIDEyMDI1MSwgOTc3MiwgNzI1NSwgODg4NiwgCisgICAgMTM4OSwgMTI3OTMyLCAxMjAyNTcsIDEyMDI1OCwgMTIwMjU5LCAxMjk0MSwgNDI2NjEsIDkyMzgxLCAxMjAyNTUsIAorICAgIDEyMDI1NiwgMTIzMDEsIDEyMDI2NiwgNjk4MjAsIDQxMTAyLCA2NDQyOCwgMTIwMjYyLCAxMjAyNjMsIDEyMDI2NCwgMTAxNywgCisgICAgNjY2MDAsIDUyMywgNTA1LCAxNDQ3LCA3NDQzNiwgMCwgMCwgMCwgODYwOCwgNDI3ODksIDEyMDYxMywgMTI4NzA0LCAwLCAKKyAgICA3Mzg1NSwgMTEzMDcsIDY2NzA3LCA5MTc4NzEsIDEyNzc1MSwgMTE3NDUsIDc5MTksIDAsIDE2NDEsIDAsIDAsIDg5NjYsIDAsIAorICAgIDAsIDU5MDgsIDAsIDAsIDY3NDQsIDEyODM1NSwgMTY5OSwgNjk4NjEsIDc0ODQzLCA5MTc5MzMsIDAsIDYzMDYsIDEwMTY5LCAKKyAgICA3MTMyNCwgMTE5MjUxLCAxMDA2OCwgMzc2NiwgMjM4OSwgMTIwNDU2LCAxMjA0NTUsIDY2MTEsIDI1NywgNDMxNzAsIAorICAgIDEzMTUzLCAwLCA0MjM4NiwgMCwgOTQzNiwgMjU5OSwgMCwgNjQ5NiwgOTQ0OSwgNTkzMCwgMTE0NzYsIDExMDMzLCAxMTQ0NywgCisgICAgMTA1NDEsIDU2MjIsIDEyMDQzNiwgODQ3NywgMzc2MCwgMTcxOCwgOTQ0MiwgNjY0MzMsIDM3NzYsIDAsIDQxNDM1LCA0MzUyLCAKKyAgICA5ODM2MTAsIDI0MzUsIDEyMDgwOSwgNTYyMSwgMTIwMzg1LCA0MjAxLCAzNzc4LCA0MjAzLCA0MjAyLCA0MjA1LCA0MjA0LCAKKyAgICAxMjA0NDcsIDM3NjgsIDY4MTQyLCA3NjUsIDQxNDQwLCAzNzY0LCA4NDczLCA2MzczLCA4NDY5LCAxMjA0MzgsIDEyOTQ3LCAKKyAgICA0NTY0LCAwLCAwLCA3NDI3MSwgNzM3NTMsIDgzNzQsIDk4MzE1NiwgMCwgNjgyOSwgNTIyNSwgMTI4ODA3LCAxMjczODUsIDAsIAorICAgIDAsIDExOTYxNSwgMCwgNzQ3OTMsIDU2MjYsIDczODA3LCAxMTc3MSwgNzQwNzUsIDEyNzIzNiwgMTI4MDE5LCA0MjYxNCwgCisgICAgNTM1MywgNTYyNSwgNzQxNzksIDAsIDAsIDEwMTAsIDY0NTcyLCA0MTc4MCwgNDI2MjMsIDY0Mjc3LCA2OTk0MiwgNjk1MiwgCisgICAgOTgzMjY0LCAxMjA3NTIsIDc4NzYyLCAyNTkwLCA1NjI5LCA2NTU1MiwgNzU1MSwgMTAzMjUsIDU2MzIsIDEwNDcxLCAKKyAgICAxMjAwMzgsIDEyMDAyNywgMTIwMDI4LCAxMjAwMjUsIDU2MjgsIDEyMDAzMSwgOTcwLCAxMjAwMjksIDQ3NzIsIDI0MDAsIAorICAgIDU2MjcsIDEyMDAxNywgMTIwMDE4LCAxMjAwMjMsIDY0Mjc1LCAxMjAwMjEsIDg3ODYsIDAsIDIwMywgMCwgMCwgMCwgMCwgCisgICAgNzgzNTAsIDAsIDY0Mzc4LCA0MjA1NCwgMCwgMCwgNTU0LCAxMTk2NDksIDExMzU4LCAwLCAxMjE4MiwgNDIwNDgsIDExMDY1LCAKKyAgICAxMjY0NjQsIDczODkxLCAwLCAwLCA1Njk0LCA3Njg5LCA2OTc5OCwgOTMyMywgNDMyNSwgMzA0NywgMTAzMTcsIDE3NSwgMCwgCisgICAgMCwgNjk3NjQsIDAsIDAsIDEyNDMsIDQyMTU0LCA1NDMxLCA2NjUyLCAwLCA2OTc3MCwgNDM2NTEsIDAsIDY4MTE4LCAKKyAgICAxMjgwMjQsIDExMjksIDEyNjU3NCwgMCwgNjU5MDAsIDE5ODYsIDc4NDYsIDc4ODA0LCA4NjYxLCA5MTc3NzIsIDY1MjU1LCAKKyAgICAwLCAzODQ1LCA0NDkwLCAxMTg5NjksIDY2NDksIDc0NDAwLCAxNDU2LCA3NTMwLCAxMTk3NywgNzI0OSwgODM2NiwgMCwgCisgICAgNzc1NiwgMTIzNDIsIDEyODU2OCwgNTEsIDQxNTE2LCAwLCA4NTcwLCA5NTY4LCA3MTMxOCwgNDU2LCA3MDI2LCA4MTQ1LCAKKyAgICAxMTY4LCA5MjUxLCA5MDgyLCAxMTk5NjQsIDY0MDU1LCA0Mjc4MSwgMzg2NiwgMTIzMjMsIDQxNTEyLCA3MzgwNSwgNjgxMjEsIAorICAgIDAsIDQxNDk0LCA5MjMxNiwgNDY2MCwgMCwgMTA0MDUsIDAsIDc4ODAzLCAwLCAwLCA0MjA0MCwgNzM5MTgsIDExOTYyNywgCisgICAgNzk0NCwgNDE0NTQsIDEyNjA1LCAwLCA0MjIwNSwgNDE0NTUsIDIzNiwgNjQwNTEsIDc4ODY3LCA4MjE0LCAwLCAwLCAwLCAKKyAgICA0MTQ1NywgOTgzOTYxLCAxMTk1ODksIDE5NjksIDIzODQsIDgwOTcsIDkxNzg2NCwgNzQxMywgNjgwMTIsIDc4MDI5LCAKKyAgICA4NzY2LCAwLCA3ODA3OSwgNTg1NCwgMTI3OTc0LCAxMDU4MywgMCwgMTE5OTg5LCAwLCAxMDQxNiwgOTE3ODY5LCAzODcyLCAKKyAgICA5MTc4NjgsIDAsIDg0MjksIDAsIDExODgwNiwgMjgzOCwgMTI4ODAyLCAwLCA5MTc4NjYsIDAsIDAsIDAsIDk4Mzk1OCwgCisgICAgOTQwMDUsIDExMDk2LCAxMjA4MTMsIDEwNTUzLCAxNjYyLCA4NDgzLCAxMjAzOTYsIDQzNjA1LCA1ODkyLCA0MzQxOCwgMCwgCisgICAgNzM3NDIsIDY2LCA2NSwgNjgsIDY3LCA3MCwgNjksIDcyLCA3MSwgNzQsIDczLCA3NiwgNzUsIDc4LCA3NywgODAsIDc5LCAKKyAgICA4MiwgODEsIDg0LCA4MywgODYsIDg1LCA4OCwgODcsIDkwLCA4OSwgMTE5ODYyLCAxMDM1NywgNzM4NSwgODE3MCwgMTcwNCwgCisgICAgODU1NiwgMCwgOTY1OSwgMCwgMCwgMCwgOTU1NiwgMCwgNDUwMywgMTEzNTMsIDk2NDcsIDAsIDc4MTg1LCAwLCAwLCAKKyAgICA5MjcxMywgNzg4ODYsIDAsIDAsIDc0MjI5LCA2NjU5MywgNjQzOCwgOTE3OTc5LCA5MTA5LCA3ODg4MiwgMTI4OSwgNjQ1OTksIAorICAgIDAsIDY4MDA5LCAwLCA2NTUwNywgMjQ0NywgMCwgMCwgMTI4MDQyLCAxMjY1NDUsIDk4MzEzNywgMCwgNjMzNCwgMCwgMCwgCisgICAgMTk5MzcsIDAsIDkyMzY4LCAwLCA1Njc1LCAyNTQsIDAsIDAsIDY5Njg2LCA0MjQyNSwgODkxOCwgNjQwMDMsIDU3MTYsIAorICAgIDQyMzEyLCAwLCAwLCA2OTcyLCA0MjgyNiwgMCwgNDI0NjQsIDEyMDU2NywgMCwgOTI2NDUsIDc0Nzk2LCA2NDQwMCwgCisgICAgNjQ2OTMsIDAsIDc3ODYxLCA2NTQyOSwgOTUxNSwgNDQzNSwgMCwgNDI1MjIsIDAsIDY4MDA4LCAxMTc4NSwgNzQxMiwgCisgICAgNjQ2NzEsIDQxOTc4LCAxNDEyLCA0NTk0LCAxMzkxLCAxMDUzNiwgODA2NywgOTkwMSwgNzEwMywgMTI4MjkzLCA3MTAyLCAKKyAgICA3NDU4OCwgMTIwNzQ4LCAzMTQwLCAxMjg4NTQsIDc5NjAsIDQzMjcxLCAwLCAxMjUxOCwgMTA5MDksIDEyNzUwOCwgMTQyOCwgCisgICAgMTI0NzIsIDAsIDY5ODY0LCA3Njk5LCAxMjM5MywgMCwgMCwgMCwgNzQ1MTgsIDgyMjMsIDAsIDQyNjEsIDAsIDAsIDAsIDAsIAorICAgIDAsIDEyODMwMiwgMCwgMTI4MDQ2LCA0MzQxOSwgMCwgNjQ1NTQsIDEwNTc0LCAzODc4LCAwLCA0MjM1MiwgMTc1MiwgCisgICAgNzM3ODUsIDAsIDQyNTA2LCAxMjg1NDEsIDEwMTk5LCAwLCAwLCA2ODAyMSwgNjU5MTksIDAsIDY2OTUsIDcyMCwgMzI0LCAwLCAKKyAgICAwLCA0MzQwNiwgOTgzNzI3LCAxNDY0LCA0MDk4NSwgMCwgNzk3NCwgMCwgNDM0NzQsIDAsIDY0NDg4LCAwLCAwLCA2NDA0MSwgCisgICAgNzQ3ODcsIDAsIDc4ODY1LCA5MjI1OCwgNjU1OTcsIDAsIDc4ODYzLCAwLCAxMzAyLCAwLCA3ODg2MSwgMTE5MTM0LCAwLCAwLCAKKyAgICA1MjA0LCA3NDc3NCwgNDM0MDQsIDExODM1LCAwLCAzOTk1LCA2ODM2MCwgNjU2MDgsIDM3MTQsIDkyMTkwLCAwLCAwLCAKICAgICAxMDk5OSwgMTE3NTAsIDAsIDQzMjUxLCA2ODY2MCwgNDMzMDEsIDAsIDEyMDU1NywgODEzMCwgODY3MiwgMTA4NDUsIAotICAgIDExOTY0LCAwLCAwLCAwLCAwLCA2ODQ1NSwgNDI4NjMsIDczODM5LCAwLCAwLCAwLCAwLCAwLCAwLCA0NjgsIDYxMiwgMCwgCi0gICAgNjQ0MDEsIDY2NDQ4LCA2ODM3NiwgMCwgMTY3NCwgMCwgNTgyMywgMCwgMTIyODAsIDAsIDU0MCwgNzQ1NjQsIDExOTAxNywgCi0gICAgMCwgODQzMiwgMCwgMTEwNzMsIDAsIDY0MzE2LCAwLCAwLCA4MjAsIDQxNzQxLCAwLCAxMjA2NjcsIDAsIDY0Njg0LCAKLSAgICAxMjY5OTIsIDMzNTksIDc4MDAsIDEyODY0NCwgNjUxNzcsIDYyMjYsIDM1MywgMTIzOTYsIDAsIDExOTYxMiwgNjQ3NDIsIAotICAgIDEyODY4MiwgMTIwMjgyLCAwLCAwLCAxMjQxMiwgMTk5NDEsIDAsIDEyMDI3NywgNzg4NDcsIDE4ODQsIDk0ODEsIDQyNDE4LCAKLSAgICAwLCA0MTE1NywgMCwgMTE5NSwgNjQ4OTgsIDc5MjQsIDAsIDQxMTUxLCAyMDEwLCAwLCA0MTMyOCwgNDIzNDQsIDAsIAotICAgIDEyNDA5LCAwLCA0MzYwLCAxMjcwMDksIDk3MzksIDAsIDc0MzkyLCA3MzkyMSwgMCwgNDI1MjEsIDg1MzksIDAsIDAsIAotICAgIDExODk4NiwgMCwgNDc4OCwgMCwgMCwgNjU3MzQsIDAsIDQzNzkwLCAwLCAxMzA3NSwgNzQ0MjksIDAsIDY0NTY5LCA0MzUzMiwgCi0gICAgMTA4MzcsIDI0OTIsIDEyNzE5NywgMTE4OTAxLCA2ODYzNywgNDExMzYsIDQzNzg1LCAxMTgxMywgOTY0OSwgNDExNTQsIAotICAgIDExOTYxNywgNTEyOCwgNDAzOCwgNDExNDMsIDY1NjA0LCA2NDg1OSwgNDE1OTIsIDY3NzEsIDE2NDgsIDU0MzUsIDAsIAotICAgIDY3MzQsIDQxMzQzLCAxMTk4NDgsIDY1NDM5LCAxMjcwOSwgNjk4NiwgOTIzNjQsIDAsIDAsIDQxMzQ5LCAxMTkxMjMsIAotICAgIDEyNTgxLCAxMDM3NCwgNTE3NSwgMCwgNzM4MDYsIDEwMjU0LCAwLCAxMDI3OCwgMTAyNjIsIDc3OTUwLCA0MTM0NiwgMCwgCi0gICAgNjA3LCAwLCAxMTk4NTMsIDEyODg0NiwgMTI5MjMsIDEwMzE0LCAxMDI4MiwgNjU0NzcsIDEwMzc4LCAxMjAyOTcsIDQwOTc2LCAKLSAgICA4MjY1LCAwLCAxMTk4MzQsIDQwOTc1LCA1ODQwLCA0MjgzOCwgMCwgNDA5NzgsIDAsIDExOTg0MCwgMCwgMCwgMCwgNjY0NDQsIAotICAgIDEwNTM4LCAwLCAyNTUwLCAxMTk4MzYsIDY3NzksIDAsIDAsIDM1MjUsIDY4MjQsIDExODg4NiwgMCwgMCwgNTYxOSwgCi0gICAgNjU4MjIsIDAsIDE5NDg4MiwgNzQ1NSwgMCwgNTYxNiwgMTE0ODYsIDk2NTYsIDAsIDAsIDEwNzI3LCA1NjE1LCAwLCAKLSAgICAxMjA1NTEsIDQyMzgwLCA2NDg5NSwgNDM2OTMsIDY2NDUxLCA4MDgsIDU0NTUsIDExMzQ3LCAwLCAxMDI2LCA1NjIwLCAKLSAgICAxOTQ4ODcsIDAsIDExMzUwLCA1NjE3LCAwLCA5MjI1LCA2NDYzOSwgMTI3MDczLCA5MTQ1LCAxMjgwNjAsIDEzMzgsIAotICAgIDEyMDU4MSwgMCwgMTI3MzksIDQ2MDMsIDMwODQsIDAsIDkyNDg0LCA5ODU4LCA2MDM3LCAwLCAzOTc0LCA3ODIxMywgCi0gICAgMTAyOTAsIDAsIDMwODMsIDEwMzIyLCAwLCAwLCAwLCA0MTAzNiwgMCwgMCwgNDMzMjEsIDY1NjA2LCAwLCA0MTAzMiwgCi0gICAgNDIzODgsIDAsIDY0NzAwLCAxMDAxMSwgMTQ0NSwgNDA5NjEsIDAsIDE5NDg5MywgMCwgNDA5NjAsIDAsIDE5NDg5MSwgMCwgCi0gICAgNDA5NjMsIDY0OTUyLCAxMDQwMiwgMCwgMCwgOTIzMDQsIDEwNjAzLCAwLCAwLCAwLCAwLCA2NzE0LCAxMDA4MywgMTI3MDY5LCAKLSAgICAxOTQ4OTUsIDc4MzY3LCAxMjczNzcsIDAsIDAsIDkwNzMsIDQyNTg1LCA2NDMwMiwgMTA3MDQsIDY1MDMwLCA0Nzg3LCAwLCAKLSAgICA3NDgyOSwgMCwgNjU0MjMsIDAsIDEyODExOCwgOTU3MCwgMCwgOTUyNSwgMjY4OSwgOTE3NjI2LCA2NTQyNiwgMCwgCi0gICAgOTE3NjI0LCA0Mzc0MCwgMCwgNDA5NjYsIDkxNzYyMywgMTMyODYsIDM5OTgsIDQyNTk4LCA0MjU5NiwgNTAzLCA3NDIzNywgCisgICAgMTE5NjQsIDAsIDk4MzE4NSwgMCwgMCwgNjg0NTUsIDQyODYzLCA3MzgzOSwgMCwgMCwgMCwgMCwgMTI2NjI5LCAwLCA0NjgsIAorICAgIDYxMiwgMCwgNjQ0MDEsIDY2NDQ4LCA2ODM3NiwgMCwgMTY3NCwgMCwgNTgyMywgOTgzMTYzLCAxMjI4MCwgMCwgNTQwLCAKKyAgICA3NDU2NCwgMTE5MDE3LCAwLCA4NDMyLCAwLCAxMTA3MywgMCwgNjQzMTYsIDAsIDAsIDgyMCwgNDE3NDEsIDAsIDEyMDY2NywgCisgICAgMCwgNjQ2ODQsIDEyNjk5MiwgMzM1OSwgNzgwMCwgNjk5MzQsIDY1MTc3LCA2MjI2LCAzNTMsIDEyMzk2LCAwLCAxMTk2MTIsIAorICAgIDY0NzQyLCAxMjg2ODIsIDEyMDI4MiwgMCwgOTgzNDQyLCAxMjQxMiwgMTk5NDEsIDAsIDEyMDI3NywgNzg4NDcsIDE4ODQsIAorICAgIDk0ODEsIDQyNDE4LCA3MDA1OSwgNDExNTcsIDAsIDExOTUsIDY0ODk4LCA3OTI0LCAwLCA0MTE1MSwgMjAxMCwgMCwgCisgICAgNDEzMjgsIDQyMzQ0LCAwLCAxMjQwOSwgMCwgNDM2MCwgMTI3MDA5LCA5NzM5LCAxMjg1NTAsIDY5OTMzLCA3MzkyMSwgMCwgCisgICAgNDI1MjEsIDg1MzksIDk4MzcxNiwgMCwgMTE4OTg2LCAwLCA0Nzg4LCAwLCA2ODAyMywgNjU3MzQsIDk4MzQ0NywgNDM3OTAsIAorICAgIDAsIDEzMDc1LCA3NDQyOSwgOTQwNjMsIDY0NTY5LCA0MzUzMiwgMTA4MzcsIDI0OTIsIDEyNzE5NywgMTE4OTAxLCA2ODYzNywgCisgICAgNDExMzYsIDQzNzg1LCAxMTgxMywgOTY0OSwgNDExNTQsIDExOTYxNywgNTEyOCwgNDAzOCwgNDExNDMsIDY1NjA0LCAKKyAgICA2NDg1OSwgNDE1OTIsIDY3NzEsIDE2NDgsIDU0MzUsIDkxNzgzNywgNjczNCwgNDEzNDMsIDExOTg0OCwgNjU0MzksIAorICAgIDEyNzA5LCA2OTg2LCA5MjM2NCwgNjgwMTUsIDAsIDQxMzQ5LCA3MDAyMSwgMTI1ODEsIDEwMzc0LCA1MTc1LCAwLCA3MzgwNiwgCisgICAgMTAyNTQsIDAsIDEwMjc4LCAxMDI2MiwgNjk4NTgsIDQxMzQ2LCAwLCA2MDcsIDAsIDExOTg1MiwgMTI4ODQ2LCAxMjkyMywgCisgICAgMTAzMTQsIDEwMjgyLCA2NTQ3NywgMTAzNzgsIDEyMDI5NywgNDA5NzYsIDgyNjUsIDAsIDExOTgzNCwgNDA5NzUsIDU4NDAsIAorICAgIDQyODM4LCAwLCA0MDk3OCwgOTgzODg4LCAxMTk4NDAsIDAsIDk4MzA3MSwgMCwgNjY0NDQsIDEwNTM4LCAwLCAyNTUwLCAKKyAgICAxMTk4MzYsIDY3NzksIDAsIDAsIDM1MjUsIDY4MjQsIDExODg4NiwgMCwgMCwgNTYxOSwgNjU4MjIsIDEyNjU2NywgCisgICAgMTk0ODgyLCA3NDU1LCAwLCA1NjE2LCAxMTQ4NiwgOTY1NiwgMCwgMCwgMTA3MjcsIDU2MTUsIDAsIDEyMDU1MSwgNDIzODAsIAorICAgIDY0ODk1LCA0MzY5MywgNjY0NTEsIDgwOCwgNTQ1NSwgMTEzNDcsIDAsIDEwMjYsIDU2MjAsIDE5NDg4NywgMCwgMTEzNTAsIAorICAgIDU2MTcsIDAsIDkyMjUsIDY0NjM5LCAxMjcwNzMsIDkxNDUsIDEyODA2MCwgMTMzOCwgMTIwNTgxLCA5ODMxNTgsIDEyNzM5LCAKKyAgICA0NjAzLCAzMDg0LCA5ODMxNTUsIDkyNDg0LCA5ODU4LCA2MDM3LCAwLCAzOTc0LCA3ODIxMywgMTAyOTAsIDk4MzY5NSwgCisgICAgMzA4MywgMTAzMjIsIDAsIDAsIDAsIDQxMDM2LCAwLCAwLCA0MzMyMSwgNjU2MDYsIDAsIDQxMDMyLCA0MjM4OCwgMCwgCisgICAgNjQ3MDAsIDEwMDExLCAxNDQ1LCA0MDk2MSwgMCwgMTE5MTA1LCAwLCA0MDk2MCwgMCwgMTk0ODkxLCAwLCA0MDk2MywgCisgICAgNjQ5NTIsIDEwNDAyLCAwLCAwLCA5MjMwNCwgMTA2MDMsIDAsIDAsIDk4MzExMywgMCwgNjcxNCwgMTAwODMsIDEyNzA2OSwgCisgICAgMTk0ODk1LCA3ODM2NywgMTI3Mzc3LCAwLCA5Mzk2MywgOTA3MywgNDI1ODUsIDY0MzAyLCAxMDcwNCwgNjUwMzAsIDQ3ODcsIAorICAgIDAsIDc0ODI5LCAwLCA2NTQyMywgMCwgMTI4MTE4LCA5NTcwLCA1NTI2MCwgOTUyNSwgMjY4OSwgOTE3NjI2LCA2NTQyNiwgMCwgCisgICAgOTE3NjI0LCA0Mzc0MCwgMCwgNDA5NjYsIDkxNzYyMiwgMTMyODYsIDM5OTgsIDQyNTk4LCA0MjU5NiwgNTAzLCA3NDIzNywgCiAgICAgODczNSwgMjY5MCwgNjY0ODgsIDQyODM2LCAxMjcxNTAsIDQxOTU0LCA5MTc2MTcsIDE2NTIsIDc3MiwgNjY4OCwgODMxMCwgCiAgICAgNjU0MjgsIDM0ODcsIDQzNDE2LCAzNTg1LCAxMDE5NCwgNDMzMjAsIDExOTE1OSwgMTI4MTgzLCAxOTQ4NzQsIDY0NjgsIAotICAgIDQxOTc2LCA5NzIwLCA5MTc2MDYsIDExNzY3LCA0MTk3MCwgMCwgNTgzNiwgMTIzNTgsIDAsIDQzNTUsIDkwNDgsIDEyMTgwLCAKLSAgICA2NTAyNywgNjQ2ODAsIDEzMDM4LCA0MzY5OSwgMCwgNDE0ODgsIDEyODA4NywgODUyNywgMTk0OTE3LCAxMjM2MiwgMTI0MzUsIAotICAgIDEyMzYwLCA0MTA1MywgMzI2NiwgMCwgMTIzNTYsIDg2MTYsIDQxNDY2LCAwLCA5MjU4OCwgMTE0NTAsIDAsIDM2MzgsIAotICAgIDEyMzU0LCAwLCAzMjE2LCAwLCAyMzU4LCA5MjYwNiwgODYzMywgMCwgMCwgMTE5MTgyLCA2OTI0NCwgMCwgMCwgMTE3NTksIAotICAgIDE5NDkwMywgNjM2OCwgNzQ4MjMsIDAsIDQxNDIzLCA4MDc4LCAxMDUwNCwgMCwgNDE2OTgsIDQyMjM3LCAwLCA3MDAyLCAwLCAKLSAgICA0MTQzMCwgNDIyNjcsIDQxMDUxLCA0MTQ4NCwgMCwgMCwgNDEwNTAsIDQxNDczLCAxMDQ2NiwgMTMwOTksIDAsIDAsIDAsIAotICAgIDY0MzUsIDAsIDExMzYyLCAwLCAwLCA2NTM4MiwgMCwgNDE0MjAsIDAsIDM2MjUsIDc4MTU3LCA0MTQwOSwgMCwgNjk2MzksIAotICAgIDIwNDEsIDkxNzgsIDk2NzIsIDQxNDI3LCA0MzU0MSwgNDMzMTcsIDAsIDAsIDAsIDQxNDI0LCA5MTc1OTgsIDEyMDU0NiwgMCwgCi0gICAgMTI4MjEyLCAwLCA0MTQxNywgMTI2MSwgMCwgMCwgMTIxMDIsIDExOTY2MiwgNDE0MDEsIDAsIDEyNzUzOCwgMCwgNzgyNTEsIAotICAgIDAsIDQyMjkwLCAzMjc1LCA5MjQ3MiwgNDIzMjksIDc0NzU5LCAwLCAwLCAwLCA5MjM4OCwgNjk2NDksIDEwOTg5LCA3NDIzNCwgCi0gICAgMCwgMTA1OTgsIDc0MTAsIDI2NjksIDkwMywgMCwgMjkyMCwgMCwgMTI3MjMyLCA3NDYwMywgNjQ1MDQsIDE5OTI4LCAwLCAwLCAKLSAgICAzOTE3LCAwLCAxMTczMiwgMCwgMCwgNDE0NDgsIDQxNDYxLCAxMjg4MjMsIDAsIDEyNzkxMiwgMCwgODgxOSwgMTI2NjMsIDAsIAotICAgIDQxMTg0LCA3NDAxNCwgMjMyLCA3NDgzNSwgMTIwNjQ2LCA5MTY4LCA2NTc4NiwgMCwgMCwgMCwgOTA5NCwgMCwgMTE3NTgsIAotICAgIDY4NDI1LCAwLCAxMDY0LCA0MjQ2NywgMTI4MDQ0LCAxMDExNSwgMTk5MjQsIDkyNzExLCAwLCA3ODYyLCA2NDU1MSwgCi0gICAgMTMyMjQsIDg1MTYsIDQxODYyLCA2NjY1MCwgNzU2MSwgNzg2MTgsIDY5NzkzLCAxODc4LCAwLCAwLCAyOTExLCAwLCAKLSAgICA0MTE3OCwgNTQyNywgNjQ4MjMsIDAsIDAsIDM3ODcsIDQxMTc0LCAwLCA0MTQ1OCwgMCwgNDE0NjMsIDQyNDEzLCAxMTI5MiwgCi0gICAgMjQwNiwgNzc1LCAwLCA2NTU4NCwgMCwgNjA3NCwgOTYxOCwgMTI4NjY4LCAwLCA0MzQ0MCwgMCwgMTk0OTAxLCA0MTQzNiwgCi0gICAgMzY1NiwgMCwgMTk0ODk5LCA0MTQ1NiwgMCwgMTU5OSwgMTEzMzMsIDAsIDY3MDMsIDg1MTMsIDAsIDE2MTMsIDAsIDY4NDU2LCAKLSAgICAxMjU5OCwgMCwgMTIwNzM0LCA3ODc0NSwgNzQ1MDAsIDQxNDYwLCAxMDE0NSwgMTA1NDIsIDk5MzcsIDc4NzQ2LCAwLCAKKyAgICA0MTk3NiwgOTcyMCwgOTE3NjA2LCAxMTc2NywgNDE5NzAsIDE5NDU5NiwgNTgzNiwgMTIzNTgsIDAsIDQzNTUsIDkwNDgsIAorICAgIDEyMTgwLCA2NTAyNywgNjQ2ODAsIDEzMDM4LCA0MzY5OSwgMCwgNDE0ODgsIDEyODA4NywgODUyNywgMTk0OTE3LCAxMjM2MiwgCisgICAgMTI0MzUsIDEyMzYwLCA0MTA1MywgMzI2NiwgMCwgMTIzNTYsIDg2MTYsIDQxNDY2LCAwLCA5MjU4OCwgMTE0NTAsIDAsIAorICAgIDM2MzgsIDEyMzU0LCAwLCAzMjE2LCAwLCAyMzU4LCA5MjYwNiwgODYzMywgMCwgOTgzNzM2LCAxMTkxODIsIDY5MjQ0LCAwLCAKKyAgICAwLCAxMTc1OSwgMTk0OTAzLCA2MzY4LCA3NDgyMywgMCwgNDE0MjMsIDgwNzgsIDEwNTA0LCAxMjc1NTgsIDQxNjk4LCAKKyAgICA0MjIzNywgMCwgNzAwMiwgOTgzNjY5LCA0MTQzMCwgNDIyNjcsIDQxMDUxLCA0MTQ4NCwgMCwgMCwgNDEwNTAsIDQxNDczLCAKKyAgICAxMDQ2NiwgMTMwOTksIDAsIDAsIDAsIDY0MzUsIDAsIDExMzYyLCAwLCAwLCA2NTM4MiwgMCwgNDE0MjAsIDAsIDM2MjUsIAorICAgIDc4MTU3LCA0MTQwOSwgMCwgNjk2MzksIDIwNDEsIDkxNzgsIDk2NzIsIDQxNDI3LCA0MzU0MSwgNDMzMTcsIDAsIDAsIDAsIAorICAgIDQxNDI0LCA5MTc1OTgsIDEyMDU0NiwgMCwgMTI4MjEyLCAwLCA0MTQxNywgMTI2MSwgMCwgMCwgMTIxMDIsIDExOTY2MiwgCisgICAgNDE0MDEsIDAsIDEyNzUzOCwgMCwgNzgyNTEsIDAsIDQyMjkwLCAzMjc1LCA5MjQ3MiwgNDIzMjksIDc0NzU5LCAwLCAwLCAwLCAKKyAgICA5MjM4OCwgNjk2NDksIDEwOTg5LCA3NDIzNCwgOTgzMTQwLCAxMDU5OCwgNzQxMCwgMjY2OSwgOTAzLCAwLCAyOTIwLCAwLCAKKyAgICAxMjcyMzIsIDc0NjAzLCA2NDUwNCwgMTk5MjgsIDAsIDAsIDM5MTcsIDAsIDExNzMyLCAwLCA5ODMxODAsIDQxNDQ4LCAKKyAgICA0MTQ2MSwgMTI4ODIzLCAwLCAxMjc5MTIsIDAsIDg4MTksIDEyNjYzLCAwLCA0MTE4NCwgNzQwMTQsIDIzMiwgNzQ4MzUsIAorICAgIDEyMDY0NiwgOTE2OCwgNjU3ODYsIDAsIDAsIDAsIDkwOTQsIDAsIDExNzU4LCA2ODQyNSwgMCwgMTA2NCwgNDI0NjcsIAorICAgIDEyODA0NCwgMTAxMTUsIDE5OTI0LCA5MjcxMSwgMCwgNzg2MiwgNjQ1NTEsIDEzMjI0LCA4NTE2LCA0MTg2MiwgNjY2NTAsIAorICAgIDc1NjEsIDc4NjE4LCA2OTc5MywgMTg3OCwgMCwgOTgzMjYxLCAyOTExLCAwLCA0MTE3OCwgNTQyNywgNjQ4MjMsIDAsIDAsIAorICAgIDM3ODcsIDQxMTc0LCAwLCA0MTQ1OCwgMCwgNDE0NjMsIDQyNDEzLCAxMTI5MiwgMjQwNiwgNzc1LCAwLCA2NTU4NCwgCisgICAgNjk5MjMsIDYwNzQsIDk2MTgsIDEyODY2OCwgOTgzOTQzLCA0MzQ0MCwgMCwgMTk0OTAxLCA0MTQzNiwgMzY1NiwgMCwgCisgICAgMTIwNjAwLCA0MTQ1NiwgMCwgMTU5OSwgMTEzMzMsIDAsIDY3MDMsIDg1MTMsIDAsIDE2MTMsIDAsIDY4NDU2LCAxMjU5OCwgCisgICAgOTgzMTkxLCAxMjA3MzQsIDc4NzQ1LCA3NDUwMCwgNDE0NjAsIDEwMTQ1LCAxMDU0MiwgOTkzNywgNzg3NDYsIDcwMDI5LCAKICAgICA5OTA1LCAwLCA2NTczMCwgMCwgMTIwMzc0LCA4NDI3LCAxMjAzNzUsIDU1MjQ2LCAxMjAzNzYsIDAsIDExNDk3LCA2NDY4NywgCiAgICAgNzQwMDgsIDQyNTkyLCAzODcxLCAwLCAxMjgzMDUsIDkxMTEsIDU3NDEsIDAsIDE5NDg0NiwgMTIwMzY2LCAxMTkxMTEsIAogICAgIDEyMDc0NSwgMCwgMTIwMzY4LCAwLCAxMTY0OCwgMCwgMTk0ODczLCAxMjAzNjQsIDQxNTg3LCAxMjAzNjUsIDAsIDc0MzIyLCAKICAgICA0MjExMywgMCwgMTI3MTU1LCAxMjE3MiwgMCwgNzQ1MzAsIDY1Mjk4LCA2NTcyMywgMTk0ODQwLCA3Mzg3MSwgNjU3MjQsIAotICAgIDc5MjgsIDEyMDM1NCwgMCwgNDE1OTUsIDczNzMwLCAwLCA0MjExOCwgNzM4MzAsIDY2MDQyLCAxMDM1NSwgMCwgNzg3NSwgMCwgCi0gICAgNDE1OTgsIDM5OTMsIDAsIDE1NDUsIDQwOTcxLCA1MzYsIDEyODUyMSwgNDMwMjksIDAsIDAsIDY1MTczLCA2NTI4NiwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgNDEzNzUsIDU0MDIsIDAsIDAsIDE2ODcsIDEyMDUwMywgMCwgMCwgNzgxOTQsIDY0MzI2LCAKLSAgICA0MDk2OSwgMTA1MjYsIDc4NzUzLCA4MzIzLCA0MDk2OCwgMTMzOSwgMTE3MzEsIDc4NzU2LCAwLCA2NTQ2MCwgMTIyNDIsIAotICAgIDEyODUxMywgODAyMCwgMTA4NDMsIDExNTU0LCAwLCAwLCA4MjY2LCA0MTAwNiwgNjU3MjIsIDAsIDEwNzEwLCAwLCAKLSAgICAxMTg5NDIsIDY3NjY3LCA2NDU2NywgMTE5MTU1LCAxOTUwOTEsIDAsIDExOTYzNiwgNjc4NTcsIDEyMDY4NywgMCwgMCwgCi0gICAgMTE3NTUsIDY2MzA1LCAwLCAwLCAxMDkxNywgMTIwNzY3LCAwLCAxMTI3MiwgMjA0MCwgNDEyNDcsIDQxMzI2LCAxOTUwNjAsIAotICAgIDE3NDEsIDQyMzcwLCAxMjI3LCAwLCAwLCAxMTQxMywgMCwgMCwgNTI4MywgMTU4NiwgNDk3OCwgMCwgMTk4NCwgMTk0NjIxLCAKLSAgICAwLCA5MjI5MywgNDA5ODQsIDEyODMwNiwgOTM3MywgMCwgMTI5MTYsIDYyODQsIDAsIDQxNjYzLCAwLCAwLCAwLCA5MjM3LCAKLSAgICA5Mzg1LCA0MTY0OCwgMCwgMCwgMCwgNDE2NjYsIDE4MzAsIDczNzgzLCAyMDU2LCA0MTI4NywgOTI2MTAsIDAsIDAsIAotICAgIDQyMjE5LCAxMjgyNTcsIDAsIDQxOTg3LCA0MTY3NiwgMCwgMTIwODIzLCAwLCA0MTY3MCwgMCwgOTI1OTAsIDI3OTYsIAotICAgIDU1MjkxLCAxMTY4MywgOTkwMiwgNzQ1MjEsIDAsIDExNDUxLCAwLCAxMjg4MjIsIDQyNjMxLCAyMzU5LCAwLCA2Nzg0NCwgCi0gICAgNzQxNjQsIDQxMjM4LCA1NDgsIDExNDA1LCAxMzEzMywgNjQzNjgsIDAsIDEyODc5NSwgMCwgMzk3LCA0MzYyMiwgNDIxMzksIAotICAgIDk1NDcsIDk1OTAsIDEyODIzOCwgMTYxNCwgNDM2NjEsIDY0MzU2LCA2NjMwNywgNjY1MSwgMTM1OCwgMCwgNDI4LCA5NjIwLCAKLSAgICAxNDY2LCA3ODExMiwgMTA5ODIsIDExODgzMSwgMTMzMywgNzEwNCwgNDA3LCA2NDI1LCAxMjg4MzQsIDc0MjUzLCAwLCAwLCAKLSAgICAwLCA1ODA0LCAxMTk3NiwgODU1NCwgOTI3MjEsIDAsIDAsIDkwNTcsIDQyMjk0LCA0MTIxOCwgMCwgMCwgNzgxMzcsIDE4ODMsIAotICAgIDEwOTUyLCA4MDQ4LCA3ODE0MiwgNDEyMjUsIDkyNjIxLCA0MjkxNSwgMCwgMTI4Njg0LCAwLCA0NDA3LCAwLCA2NTgwOSwgCi0gICAgMTE5MDc0LCAxOTQ4MjEsIDg0NDgsIDcxNDEsIDc0MTgzLCAwLCAxMjY3NSwgMTI2NTksIDAsIDQyMzYzLCAxMjA2MjQsIAotICAgIDE5NDgyNCwgNTUyNzMsIDEwNzY2LCAxMjAxMiwgMjM4NiwgNjQ3MzIsIDkxNzAsIDkxNzgyMSwgOTEyMywgNjQ1ODUsIAotICAgIDEyMDUwMCwgMCwgNzE0MCwgMTA5NzcsIDEyNzM3OCwgNDE2NCwgOTA4MSwgMCwgMTIwNTY5LCA0MjA0OSwgNDIwNDIsIAotICAgIDg3MDksIDEyODI4MywgMCwgMTIwNjM3LCA0MjQxOSwgNjQ3OTksIDQyMDQ3LCAwLCAwLCA4NDcwLCAxMTgwNywgNjU4OTcsIAotICAgIDU3NywgMCwgMCwgNzQzMDAsIDAsIDEyNzMwOCwgNzQ4NDAsIDAsIDAsIDEyODc5MSwgOTIyMjQsIDg3MzYsIDE0MTQsIAotICAgIDQyNjQzLCA5NjgzLCA0MzQ4NiwgNzQzNDQsIDAsIDI1MzYsIDAsIDY2MzMwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2NjMxNywgCi0gICAgOTE3NjEyLCA2NjMxNSwgMjEwNiwgMTIwMjIyLCAxMTI3MywgMCwgNDMwMDQsIDc1NDEsIDAsIDAsIDk2MSwgNjQzMDcsIAotICAgIDY2MzI0LCA2NDkwNiwgMTI4NTkxLCAzMTA2LCA2NTkxNywgNDEyODQsIDE2OTYsIDAsIDg5MSwgMTIxMDUsIDAsIDQyNjI0LCAKLSAgICAxMjgwMiwgMzI2NCwgODgyNCwgMTMyNjgsIDQzMDAzLCAxMDkzNiwgMCwgMCwgMCwgMTk0ODI2LCA5MjY4OCwgMCwgMjMyMiwgCi0gICAgMTIwMzcxLCAwLCAxMTQ0OSwgMTI4MTg3LCA0Mjg2OCwgNDEyODUsIDM1NDcsIDAsIDAsIDAsIDAsIDQzMjE2LCA2MDg5LCAKLSAgICA3ODY4MiwgMCwgMTIwNTc4LCA0MTcwLCAxMDI5LCAxMjc3NjEsIDEyNzAzNiwgMTE5MjI0LCA0MjM3NCwgMCwgNzQ0LCAwLCAKLSAgICAwLCAwLCA2NTgyMywgMTI3ODI2LCAwLCAzNTUxLCAwLCAwLCA0NjIzLCA1NTI2OCwgMCwgNDU5OCwgMCwgNjUxMzYsIAotICAgIDEyNzEzNiwgMCwgMCwgMTA4NTEsIDAsIDYxNzksIDkyNjAyLCA2MTgwLCAwLCAxMTk1MiwgMTIwNzc4LCA3ODY0OCwgCi0gICAgMTE5NzIsIDc4NjQ2LCA3ODY0NywgNzg2NDQsIDc4NjQ1LCAxNzcsIDc4NjQzLCA2MTc2LCAxMjA1ODAsIDAsIDAsIDYxNzcsIAotICAgIDkwMjAsIDc4NjUyLCA3ODY1MywgNjE3OCwgMTIwMjQ5LCAxMjAyNDIsIDEyODAyNywgNjc2NzMsIDc1MTgsIDg3NTQsIDAsIAotICAgIDEyMDIzNywgMjEzNywgNDMwODEsIDAsIDAsIDkxMzYsIDEyMDI0MCwgNDQwMSwgNDEyODAsIDAsIDg5NzQsIDIzMDgsIDAsIAotICAgIDc0MTQ5LCAwLCAyMzE4LCAwLCA2NjM2MSwgODE5OCwgMCwgNjQzNjAsIDEyNjAxLCA0MjUzNiwgNjUyNjYsIDEyMDgyNywgCi0gICAgNzQzMDcsIDAsIDY5NzAsIDU0MDQsIDQzMzMyLCAzNjY3LCA3OTM2LCAxMjkyNSwgMTI2OTg5LCA2Mzg1LCAwLCAwLCAKLSAgICAxMTg5NDksIDEwODc0LCA2NTUwNSwgMTI4MDgzLCAwLCA0MjA1MywgMjA3NSwgNDIwNTcsIDExMDgzLCA0MjA1MiwgMCwgMCwgCi0gICAgNjc2NTEsIDAsIDk2NjUsIDkyMzAwLCAwLCAxMzE4MSwgMCwgMCwgMCwgMCwgNzQxNDgsIDAsIDAsIDEyMDIyNSwgMTIwMjI5LCAKLSAgICAxMjAyMjQsIDc0MTcyLCA0MTE0NSwgMCwgMCwgMCwgNDExNDgsIDg2ODMsIDc1OTQsIDEyNzUxOSwgMCwgMTE5MDkwLCAKLSAgICAxMDg2OSwgNDM0NTgsIDQxMTQ2LCA5MjQwNywgMTE0NDEsIDAsIDM1MTIsIDExOTYzMywgMCwgODEwMywgMCwgMCwgNjUxODQsIAotICAgIDExNzgwLCA0MTU2MywgNDI3OTYsIDAsIDY5NzQyLCA0MTU0NCwgNjUxNDYsIDAsIDAsIDAsIDAsIDE5OTQyLCAwLCAKLSAgICAxMTg5MDgsIDc5ODgsIDEwNDM2LCA3NDI3MywgMzI3MSwgNzM4MDQsIDY0NzExLCAwLCAwLCAwLCAwLCAzODA0LCAxMzA3MCwgCi0gICAgMTE1NTcsIDQyMDQ0LCAwLCAxMDk1LCAwLCAzNTk5LCAxMjc3NzQsIDAsIDEyODg2MSwgODUxNCwgMCwgMCwgMCwgNzQzNDYsIAotICAgIDY2Njk3LCAwLCAxMTY4NCwgMCwgOTI0ODYsIDAsIDAsIDQyMDQzLCA0MzIzMiwgNjY2NzcsIDAsIDQyMDQ2LCA3ODI0MSwgCi0gICAgNDAzNiwgMCwgMCwgMTI4MjEzLCAxOTQ4NjEsIDAsIDExOTU0LCAwLCAxNDUwLCAxMjk4NiwgMTM0MCwgMCwgNjU0NDEsIAotICAgIDkyNzIyLCAwLCAwLCAxMjc3NzIsIDAsIDkxNzU0MiwgMCwgMCwgNjUzOSwgMCwgMCwgMCwgMTk0ODU2LCAwLCAxMjA0OTIsIAotICAgIDQxMTkwLCAzOTczLCAxMTkzNjUsIDQ1NzUsIDQxMTkzLCA3OTgyLCA0MjksIDAsIDEyNzE5NCwgMCwgMTk0ODU0LCA2NTc5MiwgCi0gICAgMCwgMTE4OTY4LCA2NDE3LCAxMTg5MTgsIDc4MTc4LCAwLCAxOTQ4NTAsIDAsIDAsIDQ5MTksIDEwNTkwLCAwLCA3NzU1LCAwLCAKLSAgICAwLCA2NDU0OCwgMTIwNTA2LCAxNjIxLCAxMDIxNCwgNjUxMjYsIDAsIDEyNzAwNCwgMCwgMTIxODgsIDAsIDE2MTcsIDgwNTAsIAotICAgIDAsIDUwMTUsIDAsIDExOTE3NCwgNDI1OTAsIDE5NDg3MSwgMTc1NiwgNzgxODEsIDAsIDY1NzY4LCA2MzUyLCA0MTg5MiwgMCwgCi0gICAgNzU1NSwgMTMxMDMsIDU0MDgsIDI4MTcsIDEyMTQsIDAsIDkyMzM1LCAwLCAwLCAwLCAwLCAxMjcxOTUsIDc5NTcsIDg2ODksIAotICAgIDY0NzIzLCAxMDU2LCA0Mjg5NiwgNzQxNDcsIDE5NDgxMywgMCwgNTUyODYsIDcwNzMsIDY1ODUwLCAxMjMyNywgMCwgCi0gICAgMTE5MDI4LCAwLCAwLCAwLCAyMzQxLCA4NDUwLCA4NDg0LCA4NDc0LCAwLCAwLCAwLCA4NDYxLCAxMjgxMDIsIDEyMTUzLCAKLSAgICAxMjc5OSwgMCwgNDM3MDksIDQzNzA4LCA5NDUxLCA3NTcxLCAxMzA3MywgMCwgMCwgNjgxLCAwLCA3MDMsIDAsIDMyNzIsIAotICAgIDg3ODEsIDEyODk0LCAwLCAxMTcwOSwgOTIyODgsIDc0NDQ2LCAwLCA5MjUzMiwgMCwgMTEzMzgsIDEyMDc2OCwgMzI3NiwgMCwgCi0gICAgMCwgNjU5MjgsIDAsIDAsIDY1MDIxLCA2NDc5NSwgNzQ1NzQsIDAsIDEwMDQ3LCA3ODgxNCwgMzI2MiwgNzg4MTEsIDQyNzExLCAKLSAgICAwLCAwLCA2ODQ3OCwgMTYzLCA1NzYsIDk4OTUsIDE2NTUsIDc4ODE3LCA3NDU5MSwgNzg4MTUsIDc4ODE2LCAwLCAwLCAwLCAKLSAgICAwLCAxMDAzOSwgMCwgMCwgNTYyMywgNTcxNywgNTc3NiwgMCwgMCwgMCwgNDE1OTEsIDExMDM2LCA2NTI1MiwgOTIzODIsIDAsIAotICAgIDAsIDAsIDY3ODQ4LCAwLCAwLCAwLCA4ODg3LCAwLCA3Mjk1LCAxMTAzMSwgMCwgNDMxNTcsIDAsIDg5NDYsIDEwMzQ4LCAKLSAgICAxMDQxMiwgODc1NSwgMCwgMCwgNTcxOCwgMTMyMjEsIDAsIDAsIDc4MTM1LCAwLCAwLCA4ODEwLCA3NDQ5OSwgNjg2LCAwLCAKLSAgICAwLCA0NjE5LCAxMTg5NTQsIDY2NTQsIDczNzY5LCA3NDQyNiwgMCwgMTIwNDAsIDY1Njg5LCAxMDEyOCwgNjUxMTgsIDAsIAotICAgIDExOTE1MSwgNzQyMDUsIDkyNjUxLCAwLCAyNDAxLCA2ODE0NCwgODc5MiwgMCwgMCwgNjU0NTUsIDAsIDkyMjQ2LCAwLCAKLSAgICAxMTkxMjksIDAsIDEyODg2LCAxMjc5MjAsIDY2NjI0LCAwLCA0MzU1NywgMTAzMDAsIDEwMTYxLCAxMDM5NiwgNzQxMzUsIDAsIAotICAgIDExODk0NSwgNzgxMTgsIDczODUxLCAzMDEwLCA2NDQxLCA3ODEyMiwgMTQ1OCwgNDE0NzUsIDEyODY3MiwgMCwgMCwgCi0gICAgMTE0NzksIDAsIDAsIDYzNTAsIDEyODY0LCA2OTY3NCwgNzgxMTQsIDEwNjEsIDY0NzgwLCAyMDAxLCA0MzExMSwgNTUyMzAsIAotICAgIDEyODY4NiwgNDA1MiwgMCwgNzYyNiwgMCwgMCwgMTA0NSwgMCwgNTYzMSwgNDExMTMsIDAsIDAsIDQzNzA3LCA3NDEyNywgMCwgCi0gICAgMCwgODQ4NiwgMCwgNzM3NTgsIDIzMzUsIDQzNjIsIDAsIDAsIDY5MjIxLCAxMDI1LCAwLCA0MjYyNSwgOTE3NjI3LCAKLSAgICA3ODA4NCwgNDE0NDMsIDAsIDEyODIwNiwgMCwgMTc3NCwgMTUyMywgMCwgMCwgNDE0NDUsIDc4MjM2LCAwLCA4NTY3LCAKLSAgICA0MTQ0MiwgMzk4OCwgMCwgNzgyMzcsIDExODkxMCwgMCwgNjUyNzQsIDg1NjQsIDc4MTk5LCA3ODIzOCwgMTI3NTE1LCAwLCAKLSAgICAwLCA0MzQ0NiwgMCwgNjY1MTMsIDYyNTYsIDAsIDU3OSwgNTUyMTgsIDEwMjA2LCAwLCA2Mzc1LCAyNjczLCAwLCAxMTgxNCwgCi0gICAgMCwgNDQ4OCwgMCwgMTI3MzM2LCA2ODQ1MSwgMTA0NDQsIDExODg0NiwgMTI3MzM0LCAxMTc5OSwgNzQ0MDcsIDY4NDY2LCAKLSAgICA0NDg3LCAxMjc4NDksIDQyODMyLCAxMDMyLCAxMjAyNjcsIDQzNDUwLCA3ODI1NywgNzIwMywgMCwgNjE0LCA3ODE5MSwgCi0gICAgMTI3MzI1LCAxMjA2MTUsIDAsIDc4MjYyLCAxMjg2NjksIDEyNzMyMywgMCwgNDMxMjEsIDAsIDAsIDkyNTEzLCAxMDUwLCAKLSAgICA3NTQ5LCAwLCAwLCA5MzE0LCAwLCAwLCAxMjA2MTYsIDAsIDEwMDU3LCAwLCAxMjczMTMsIDAsIDY2NTA0LCAwLCAwLCAKLSAgICAyMzA3LCAwLCA2NDMzMywgMTI3MzEyLCAxMjg1NDcsIDczODczLCAwLCAwLCAwLCAxMjc5NzMsIDEyODcwOCwgMCwgMTAzNjAsIAotICAgIDY3NDYsIDAsIDkyMjQ1LCA0NDAsIDAsIDEzMDg1LCA5MjMzLCA3NDIxNiwgMCwgMCwgOTk1NywgMCwgNjY0NDcsIDgwNDYsIAotICAgIDY0OTYzLCA2NTc3NywgMTAxMjUsIDc0MjEyLCA0MjgxOSwgMTA5MTAsIDAsIDE1MjEsIDk4OTYsIDAsIDEwNDg3LCAwLCAKLSAgICAxMjUyNywgMCwgNzk3MCwgMCwgMTI4NjYwLCAwLCA2NTc2OSwgNTI0MywgOTg0OSwgNTIzOSwgNjU3NzEsIDAsIDAsIDUyMzcsIAotICAgIDY5NzE0LCAwLCAxMDEwMywgNTI0NywgNDc2OSwgMCwgMTE4OTc3LCAxMjg3MywgNTc2NCwgMCwgMCwgMzAwOCwgNDg5NiwgMCwgCi0gICAgMTIwODcsIDAsIDU1MjMxLCA0MTEwMywgMCwgNjQ1NjUsIDQ3NzMsIDAsIDkyNzE3LCAwLCA0NzcwLCAwLCA5MTc1NjcsIAotICAgIDg3MzEsIDY1Mzc4LCAxMjczNjIsIDEyMDYxOSwgOTEyMiwgMTI4MDMzLCAwLCA0Nzc0LCAzMDE5LCA5OTk3LCAxMjgzNCwgMCwgCi0gICAgOTQ1NiwgMTAyMTUsIDEyMDU0NywgMCwgMCwgMCwgMCwgNzQ3NzYsIDQyODEsIDQ3NjgsIDAsIDQxNTM1LCA0MDk5LCA5MDE3LCAKLSAgICAwLCAwLCA3ODA5NSwgMCwgNzgwOTYsIDAsIDAsIDAsIDc4MDk4LCAwLCA0MjgxNCwgODgwLCAwLCAwLCAxMjgwMjEsIDIxMzQsIAotICAgIDAsIDEwMTE2LCA5ODc3LCA5MjMyOSwgMCwgMCwgNzA5NSwgMCwgNzQxMTYsIDY3NzgsIDAsIDc4MDkwLCA4MjQzLCAyNDI3LCAKLSAgICAxMjgxNDEsIDcwOTMsIDAsIDExNTg1LCAxOTUwMDMsIDk5NjIsIDAsIDEyMjIzLCAwLCAwLCAxNDM0LCAxMjAyNTQsIDU2MzcsIAotICAgIDExNTczLCAwLCAwLCAwLCAxOTk1MSwgMCwgNzgxMjEsIDAsIDAsIDU1MjgzLCAwLCAwLCA3NDQzNywgMTE1NiwgODc0MCwgCi0gICAgOTI0MTUsIDM3ODIsIDY0MzMxLCAwLCA0MTM3MCwgMTAxNCwgODI2MSwgMCwgMCwgMTA4MzUsIDAsIDY1NTM2LCAwLCAKLSAgICAxMjA0NjMsIDAsIDc3MDIsIDExODgyNCwgMCwgNDMwMTAsIDY1Nzc5LCA2NTc4MywgMTE1MCwgMTA1NDcsIDU3MDAsIDAsIAotICAgIDEyMDYwMywgNjUzODMsIDIzMzksIDQyNTk0LCA1Njk3LCAxMTg3ODgsIDAsIDEyODU3NiwgMCwgNDIyNTcsIDU2OTYsIAotICAgIDkyNjc3LCAxMjA0NjUsIDM4NjIsIDk2NDMsIDAsIDAsIDc2MzQsIDY1MTY3LCA5ODQ1LCAwLCAwLCA1NzAxLCA5NzIyLCAKLSAgICA0MTQ5MCwgMCwgMTQyNiwgNjgyMTcsIDAsIDY4NDQ3LCA0MjIwNCwgNTUyNzAsIDg1NzEsIDE5NDk5MSwgNzgwNjcsIDAsIAotICAgIDc4ODE4LCA5MjcxOSwgNDMxODIsIDEyMTg0LCAwLCA0MjAyMiwgMCwgMTAyODEsIDAsIDU2NTAsIDQzMTk0LCA2NDcxMiwgCi0gICAgMTA3NDQsIDAsIDk5MCwgNTY0NywgMCwgNzM4NywgNzg3MzQsIDQxMTE0LCAxMTQ3NywgNTY0NiwgMTI4NzksIDExMDE4LCAwLCAKLSAgICAzOTQ1LCA5MjU4OSwgMCwgMCwgMCwgMCwgNzgyMTIsIDEyNzc0NiwgMTAyMCwgNzM3NjMsIDAsIDc4NzMxLCA1NjQ4LCAKLSAgICA2NDc0OCwgMTk0OTEwLCAwLCAxMDIwNSwgMzU0NSwgMCwgNjk4NCwgMCwgNzQwNTEsIDAsIDQzMjQyLCAxMjA0NTgsIDI2NjcsIAotICAgIDAsIDAsIDAsIDk5MTEsIDAsIDY1MDIwLCAxMDA5NywgMTE5MTY2LCAxMjcxNDUsIDAsIDExODgzNiwgMCwgNzg0MjcsIAotICAgIDExNDAsIDc4NDI2LCAwLCAxMDE1OSwgMCwgMCwgODEyOCwgMCwgMCwgOTE3OTY1LCAxODE1LCAxOTkxMCwgODkwLCAwLCAKLSAgICAzMjY3LCA5MjI5MSwgMCwgMTAxMjMsIDAsIDQ0MTAsIDEwNDEsIDEwNTc2LCA2MzU0LCA5MjU4MSwgNTgwLCA3NDIzMiwgMCwgCisgICAgNzkyOCwgMTIwMzU0LCA5ODMwOTUsIDQxNTk1LCA3MzczMCwgMCwgNDIxMTgsIDczODMwLCA2NjA0MiwgMTAzNTUsIAorICAgIDk4MzExMCwgNzg3NSwgMCwgNDE1OTgsIDM5OTMsIDAsIDE1NDUsIDQwOTcxLCA1MzYsIDEyODUyMSwgNDMwMjksIDAsIDAsIAorICAgIDY1MTczLCA2NTI4NiwgMCwgMCwgMCwgMCwgMCwgMCwgNDEzNzUsIDU0MDIsIDAsIDAsIDE2ODcsIDEyMDUwMywgOTE3ODE3LCAKKyAgICAwLCA3ODE5NCwgNjQzMjYsIDQwOTY5LCAxMDUyNiwgNzg3NTMsIDgzMjMsIDQwOTY4LCAxMzM5LCAxMTczMSwgNzg3NTYsIDAsIAorICAgIDY1NDYwLCAxMjI0MiwgMTI4NTEzLCA4MDIwLCAxMDg0MywgMTE1NTQsIDAsIDAsIDgyNjYsIDQxMDA2LCA2NTcyMiwgMCwgCisgICAgMTA3MTAsIDAsIDExODk0MiwgNjc2NjcsIDY0NTY3LCAxMTkxNTUsIDE5NTA5MSwgMCwgMTE5NjM2LCA2Nzg1NywgMTIwNjg3LCAKKyAgICAwLCA5ODMwNjYsIDExNzU1LCA2NjMwNSwgMCwgMCwgMTA5MTcsIDkzOTc5LCAwLCAxMTI3MiwgMjA0MCwgNDEyNDcsIAorICAgIDQxMzI2LCAxOTUwNjAsIDE3NDEsIDQyMzcwLCAxMjI3LCAwLCAwLCAxMTQxMywgMCwgMCwgNTI4MywgMTU4NiwgNDk3OCwgMCwgCisgICAgMTk4NCwgMTE4MzAsIDAsIDkyMjkzLCA0MDk4NCwgMTI4MzA2LCA5MzczLCAwLCAxMjkxNiwgNjI4NCwgMCwgNDE2NjMsIDAsIAorICAgIDAsIDAsIDkyMzcsIDkzODUsIDQxNjQ4LCAwLCAxOTQ1ODAsIDIyOTksIDQxNjY2LCAxODMwLCA3Mzc4MywgMjA1NiwgCisgICAgNDEyODcsIDkyNjEwLCAwLCAwLCA0MjIxOSwgMTI4MjU3LCAwLCA0MTk4NywgNDE2NzYsIDk4MzA1OSwgMTIwODIzLCAKKyAgICA5ODMxNDQsIDQxNjcwLCAwLCA5MjU5MCwgMjc5NiwgNTUyOTEsIDExNjgzLCA5OTAyLCA3NDUyMSwgNjc5ODgsIDExNDUxLCAKKyAgICA5ODMxMTEsIDEyODgyMiwgNDI2MzEsIDIzNTksIDAsIDY3ODQ0LCA3NDE2NCwgNDEyMzgsIDU0OCwgMTE0MDUsIDEzMTMzLCAKKyAgICA2NDM2OCwgOTgzMjMzLCAxMjg3OTUsIDAsIDM5NywgNDM2MjIsIDQyMTM5LCA5NTQ3LCA5NTkwLCAxMjgyMzgsIDE2MTQsIAorICAgIDQzNjYxLCA2NDM1NiwgNjYzMDcsIDY2NTEsIDEzNTgsIDAsIDQyOCwgOTYyMCwgMTQ2NiwgNzgxMTIsIDEwOTgyLCAKKyAgICAxMTg4MzEsIDEzMzMsIDcxMDQsIDQwNywgNjQyNSwgMTI4ODM0LCA3NDI1MywgMCwgMCwgMCwgNTgwNCwgMTE5NzYsIDg1NTQsIAorICAgIDkyNzIxLCAwLCAwLCA5MDU3LCA0MjI5NCwgNDEyMTgsIDAsIDAsIDc4MTM3LCAxODgzLCAxMDk1MiwgODA0OCwgNzgxNDIsIAorICAgIDQxMjI1LCA5MjYyMSwgNDI5MTUsIDk4MzY2NywgMTI4Njg0LCAwLCA0NDA3LCAwLCA2NTgwOSwgMTE5MDc0LCAxOTQ4MjEsIAorICAgIDg0NDgsIDcxNDEsIDc0MTgzLCAwLCAxMjY3NSwgMTI2NTksIDAsIDQyMzYzLCAxMjA2MjQsIDE5NDgyNCwgNTUyNzMsIAorICAgIDEwNzY2LCAxMjAxMiwgMjM4NiwgNjQ3MzIsIDkxNzAsIDkxNzgyMSwgOTEyMywgNjQ1ODUsIDEyMDUwMCwgMTE5MTU4LCAKKyAgICA3MTQwLCAxMDk3NywgMTI3Mzc4LCA0MTY0LCA5MDgxLCAwLCAxMjA1NjksIDQyMDQ5LCA0MjA0MiwgODcwOSwgMTI4MjgzLCAKKyAgICAxMjY0NzcsIDEyMDYzNywgNDI0MTksIDY0Nzk5LCA0MjA0NywgMCwgMCwgODQ3MCwgMTE4MDcsIDY1ODk3LCA1NzcsIDAsIAorICAgIDk4Mzc1MSwgNzQzMDAsIDAsIDEyNzMwOCwgNzQ4NDAsIDAsIDAsIDEyODc5MSwgOTIyMjQsIDg3MzYsIDE0MTQsIDQyNjQzLCAKKyAgICA5NjgzLCA0MzQ4NiwgNzQzNDQsIDAsIDI1MzYsIDAsIDY2MzMwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2NjMxNywgNjk5NDUsIAorICAgIDY2MzE1LCAyMTA2LCAxMjAyMjIsIDExMjczLCAwLCA0MzAwNCwgNzU0MSwgMCwgMCwgOTYxLCA2NDMwNywgNjYzMjQsIAorICAgIDY0OTA2LCAxMjg1OTEsIDMxMDYsIDY1OTE3LCA0MTI4NCwgMTY5NiwgMCwgODkxLCAxMjEwNSwgMCwgNDI2MjQsIDEyODAyLCAKKyAgICAzMjY0LCA4ODI0LCAxMzI2OCwgNDMwMDMsIDEwOTM2LCAwLCAwLCAwLCAxOTQ4MjYsIDkyNjg4LCAwLCAyMzIyLCAxMjAzNzEsIAorICAgIDk4MzU4NCwgMTE0NDksIDEyODE4NywgNDI4NjgsIDQxMjg1LCAzNTQ3LCAwLCAwLCAxMjg3OTMsIDk4MzM5MCwgNDMyMTYsIAorICAgIDYwODksIDc4NjgyLCAwLCAxMjA1NzgsIDQxNzAsIDEwMjksIDEyNzc2MSwgMTI3MDM2LCAxMTkyMjQsIDQyMzc0LCAwLCAKKyAgICA3NDQsIDAsIDAsIDAsIDY1ODIzLCAxMjc4MjYsIDAsIDM1NTEsIDAsIDAsIDQ2MjMsIDU1MjY4LCAwLCA0NTk4LCA5ODMxNjIsIAorICAgIDY1MTM2LCAxMjcxMzYsIDAsIDAsIDEwODUxLCAwLCA2MTc5LCA5MjYwMiwgNjE4MCwgMCwgMTE5NTIsIDEyMDc3OCwgCisgICAgNzg2NDgsIDExOTcyLCA3ODY0NiwgNzg2NDcsIDc4NjQ0LCA3ODY0NSwgMTc3LCA3ODY0MywgNjE3NiwgMTIwNTgwLCAwLCAwLCAKKyAgICA2MTc3LCA5MDIwLCA3ODY1MiwgNzg2NTMsIDYxNzgsIDEyMDI0OSwgMTIwMjQyLCAxMjgwMjcsIDY3NjczLCAyMjE0LCAKKyAgICA4NzU0LCAwLCAxMjAyMzcsIDIxMzcsIDQzMDgxLCAwLCAwLCA5MTM2LCAxMjAyNDAsIDQ0MDEsIDQxMjgwLCAwLCA4OTc0LCAKKyAgICAyMzA4LCAwLCA3NDE0OSwgMCwgMjMxOCwgOTgzMTgzLCA2NjM2MSwgODE5OCwgMCwgNjQzNjAsIDEyNjAxLCA0MjUzNiwgCisgICAgNjUyNjYsIDEyMDgyNywgNzQzMDcsIDkyNDYyLCA2OTcwLCA1NDA0LCA0MzMzMiwgMzY2NywgNzkzNiwgMTI5MjUsIAorICAgIDEyNjk4OSwgNjM4NSwgMCwgMCwgMTE4OTQ5LCAxMDg3NCwgNjU1MDUsIDEyODA4MywgMCwgNDIwNTMsIDIwNzUsIDQyMDU3LCAKKyAgICAxMTA4MywgNDIwNTIsIDAsIDAsIDY3NjUxLCAwLCA5NjY1LCA5MjMwMCwgOTgzNjU3LCAxMzE4MSwgMCwgMCwgMCwgNzAwODgsIAorICAgIDc0MTQ4LCAwLCAwLCAxMjAyMjUsIDEyMDIyOSwgMTIwMjI0LCA3NDE3MiwgNDExNDUsIDAsIDk0MDk2LCA5ODM5MzcsIAorICAgIDQxMTQ4LCA4NjgzLCA3NTk0LCAxMjc1MTksIDAsIDExOTA5MCwgMTA4NjksIDQzNDU4LCA0MTE0NiwgOTI0MDcsIDExNDQxLCAKKyAgICAwLCAzNTEyLCAxMTk2MzMsIDk4MzcwMCwgODEwMywgMCwgMCwgNjUxODQsIDExNzgwLCA0MTU2MywgNDI3OTYsIDAsIAorICAgIDY5NzQyLCA0MTU0NCwgNjUxNDYsIDAsIDAsIDAsIDAsIDE5OTQyLCAwLCAxMTg5MDgsIDc5ODgsIDEwNDM2LCA3NDI3MywgCisgICAgMzI3MSwgNzM4MDQsIDY0NzExLCAwLCA5NDA2NCwgMCwgMCwgMzgwNCwgMTMwNzAsIDExNTU3LCA0MjA0NCwgMCwgMTA5NSwgCisgICAgMCwgMzU5OSwgMTI3Nzc0LCAwLCAxMjg4NjEsIDg1MTQsIDAsIDAsIDAsIDc0MzQ2LCA2NjY5NywgMCwgMTE2ODQsIDAsIAorICAgIDkyNDg2LCA5MTc2MDMsIDAsIDQyMDQzLCA0MzIzMiwgNjY2NzcsIDAsIDQyMDQ2LCA3ODI0MSwgNDAzNiwgMTI2NDgxLCAwLCAKKyAgICAxMjgyMTMsIDE5NDg2MSwgMCwgMTE5NTQsIDkzOTc4LCAxNDUwLCAxMjk4NiwgMTM0MCwgMCwgNjU0NDEsIDkyNzIyLCAwLCAKKyAgICAwLCAxMjc3NzIsIDAsIDkxNzU0MiwgMCwgMCwgNjUzOSwgMCwgMCwgMCwgMTk0ODU2LCAwLCAxMjA0OTIsIDQxMTkwLCAKKyAgICAzOTczLCAxMTkzNjUsIDQ1NzUsIDQxMTkzLCA3OTgyLCA0MjksIDAsIDEyNzE5NCwgMCwgMTk0ODU0LCA2NTc5MiwgMCwgCisgICAgMTE4OTY4LCA2NDE3LCAxMTg5MTgsIDc4MTc4LCAwLCAxOTQ4NTAsIDAsIDAsIDQ5MTksIDEwNTkwLCAxMjg1NTYsIDc3NTUsIAorICAgIDAsIDAsIDY0NTQ4LCAxMjA1MDYsIDE2MjEsIDEwMjE0LCA2NTEyNiwgMCwgMTI3MDA0LCAwLCAxMjE4OCwgOTgzNjU5LCAKKyAgICAxNjE3LCA4MDUwLCAwLCA1MDE1LCAwLCAxMTkxNzQsIDQyNTkwLCAxOTQ4NzEsIDE3NTYsIDc4MTgxLCAwLCA2NTc2OCwgCisgICAgNjM1MiwgNDE4OTIsIDAsIDc1NTUsIDEzMTAzLCA1NDA4LCAyODE3LCAxMjE0LCA2OTkxOSwgOTIzMzUsIDk4MzEyNSwgMCwgCisgICAgMCwgMCwgMTI3MTk1LCA3OTU3LCA4Njg5LCA2NDcyMywgMTA1NiwgNDI4OTYsIDc0MTQ3LCAxOTQ4MTMsIDAsIDU1Mjg2LCAKKyAgICA3MDczLCA2NTg1MCwgMTIzMjcsIDk4MzkzOSwgMTE5MDI4LCAwLCAwLCAwLCAyMzQxLCA4NDUwLCA4NDg0LCA4NDc0LCAKKyAgICA5ODMyNTIsIDAsIDcwMDc5LCA4NDYxLCAxMjgxMDIsIDEyMTUzLCAxMjc5OSwgMCwgNDM3MDksIDQzNzA4LCA5NDUxLCAKKyAgICA3NTcxLCAxMzA3MywgMCwgMCwgNjgxLCA5ODMyNDYsIDcwMywgMCwgMzI3MiwgODc4MSwgMTI4OTQsIDcwMDc3LCAxMTcwOSwgCisgICAgOTIyODgsIDc0NDQ2LCAwLCA5MjUzMiwgMCwgMTEzMzgsIDEyMDc2OCwgMzI3NiwgMCwgMCwgNjU5MjgsIDAsIDAsIDY1MDIxLCAKKyAgICA2NDc5NSwgNzQ1NzQsIDAsIDEwMDQ3LCA3ODgxNCwgMzI2MiwgNzg4MTEsIDQyNzExLCAwLCAwLCA2ODQ3OCwgMTYzLCA1NzYsIAorICAgIDk4OTUsIDE2NTUsIDc4ODE3LCA3NDU5MSwgNzg4MTUsIDc4ODE2LCA5ODMxMjIsIDAsIDAsIDAsIDEwMDM5LCAwLCAKKyAgICA5ODM5MzYsIDU2MjMsIDU3MTcsIDU3NzYsIDAsIDAsIDAsIDQxNTkxLCAxMTAzNiwgNjUyNTIsIDkyMzgyLCAwLCAwLCAwLCAKKyAgICA2Nzg0OCwgMCwgMCwgMCwgODg4NywgMTI3NTIxLCA3Mjk1LCAxMTAzMSwgMCwgNDMxNTcsIDAsIDg5NDYsIDEwMzQ4LCAKKyAgICAxMDQxMiwgODc1NSwgMCwgMCwgNTcxOCwgMTMyMjEsIDAsIDAsIDc4MTM1LCAwLCA5ODM3MDIsIDg4MTAsIDc0NDk5LCA2ODYsIAorICAgIDAsIDcxMzYyLCA0NjE5LCAxMTg5NTQsIDY2NTQsIDczNzY5LCA3NDQyNiwgMCwgMTIwNDAsIDY1Njg5LCAxMDEyOCwgCisgICAgNjUxMTgsIDAsIDExOTE1MSwgNzQyMDUsIDkyNjUxLCAwLCAyNDAxLCA2ODE0NCwgODc5MiwgOTgzNjM5LCAwLCA2NTQ1NSwgCisgICAgMCwgOTIyNDYsIDAsIDExOTEyOSwgMCwgMTI4ODYsIDEyNzkyMCwgNjY2MjQsIDAsIDQzNTU3LCAxMDMwMCwgMTAxNjEsIAorICAgIDEwMzk2LCA3NDEzNSwgOTgzNDQ1LCAxMTg5NDUsIDc4MTE4LCA3Mzg1MSwgMzAxMCwgNjQ0MSwgNzgxMjIsIDE0NTgsIAorICAgIDQxNDc1LCAxMjg2NzIsIDkzOTc1LCAwLCAxMTQ3OSwgMCwgMTIwMzU2LCA2MzUwLCAxMjg2NCwgNjk2NzQsIDc4MTE0LCAKKyAgICAxMDYxLCA2NDc4MCwgMjAwMSwgNDMxMTEsIDU1MjMwLCAxMjg2ODYsIDQwNTIsIDAsIDc2MjYsIDAsIDAsIDEwNDUsIDAsIAorICAgIDU2MzEsIDQxMTEzLCAwLCAwLCA0MzcwNywgNzQxMjcsIDAsIDAsIDg0ODYsIDAsIDczNzU4LCAyMzM1LCA0MzYyLCAKKyAgICA5ODMxOTUsIDEyNjU2MSwgNjkyMjEsIDEwMjUsIDAsIDQyNjI1LCA5MTc2MjcsIDc4MDg0LCA0MTQ0MywgMCwgMTI4MjA2LCAKKyAgICAwLCAxNzc0LCAxNTIzLCAwLCAwLCA0MTQ0NSwgNzgyMzYsIDAsIDg1NjcsIDQxNDQyLCAzOTg4LCAwLCA3ODIzNywgCisgICAgMTE4OTEwLCAwLCA2NTI3NCwgODU2NCwgNzgxOTksIDc4MjM4LCAxMjc1MTUsIDAsIDAsIDQzNDQ2LCAwLCA2NjUxMywgCisgICAgNjI1NiwgMCwgNTc5LCA1NTIxOCwgMTAyMDYsIDk4MzA3NSwgNjM3NSwgMjY3MywgMCwgMTE4MTQsIDAsIDQ0ODgsIDAsIAorICAgIDEyNzMzNiwgNjg0NTEsIDEwNDQ0LCAxMTg4NDYsIDEyNzMzNCwgMTE3OTksIDc0NDA3LCA2ODQ2NiwgNDQ4NywgMTI3ODQ5LCAKKyAgICA0MjgzMiwgMTAzMiwgMTIwMjY3LCA0MzQ1MCwgNzgyNTcsIDcyMDMsIDAsIDYxNCwgNzgxOTEsIDEyNzMyNSwgMTIwNjE1LCAKKyAgICAwLCA3ODI2MiwgMTI4NjY5LCAxMjczMjMsIDAsIDQzMTIxLCAwLCAwLCA5MjUxMywgMTA1MCwgNzU0OSwgMCwgMCwgOTMxNCwgCisgICAgMCwgMCwgMTIwNjE2LCAwLCAxMDA1NywgMCwgMTI3MzEzLCAwLCA2NjUwNCwgOTgzMTcxLCAwLCAyMzA3LCAwLCA2NDMzMywgCisgICAgMTI3MzEyLCAxMjg1NDcsIDczODczLCAwLCA5NDAzNSwgMCwgMTI3OTczLCAxMjg3MDgsIDAsIDEwMzYwLCA2NzQ2LCAwLCAKKyAgICA5MjI0NSwgNDQwLCAwLCAxMzA4NSwgOTIzMywgNzQyMTYsIDAsIDAsIDk5NTcsIDEyODI4NSwgNjY0NDcsIDgwNDYsIAorICAgIDY0OTYzLCA2NTc3NywgMTAxMjUsIDc0MjEyLCA0MjgxOSwgMTA5MTAsIDAsIDE1MjEsIDk4OTYsIDkzOTY1LCAxMDQ4NywgCisgICAgNjk4NzgsIDEyNTI3LCAwLCA3OTcwLCAwLCAxMjg2NjAsIDAsIDY1NzY5LCA1MjQzLCA5ODQ5LCA1MjM5LCA2NTc3MSwgCisgICAgOTgzMjI5LCAwLCA1MjM3LCA2OTcxNCwgMCwgMTAxMDMsIDUyNDcsIDQ3NjksIDAsIDExODk3NywgMTI4NzMsIDIyODMsIAorICAgIDk4MzIzMSwgMCwgMzAwOCwgNDg5NiwgMCwgMTIwODcsIDAsIDU1MjMxLCA0MTEwMywgMCwgNjQ1NjUsIDQ3NzMsIDAsIAorICAgIDkyNzE3LCA3MDA3NCwgNDc3MCwgMCwgOTE3NTY3LCA4NzMxLCA2NTM3OCwgMTI3MzYyLCAxMjA2MTksIDkxMjIsIDEyODAzMywgCisgICAgMTI2NjAwLCA0Nzc0LCAzMDE5LCA5OTk3LCAxMjgzNCwgMCwgOTQ1NiwgMTAyMTUsIDEyMDU0NywgMCwgMCwgMCwgMCwgCisgICAgNzQ3NzYsIDQyODEsIDQ3NjgsIDAsIDQxNTM1LCA0MDk5LCA5MDE3LCAwLCAwLCA3ODA5NSwgMCwgNzgwOTYsIDAsIDAsIDAsIAorICAgIDc4MDk4LCAwLCA0MjgxNCwgODgwLCAwLCAwLCAxMjgwMjEsIDIxMzQsIDAsIDEwMTE2LCA5ODc3LCA5MjMyOSwgMCwgMCwgCisgICAgNzA5NSwgMCwgNzQxMTYsIDY3NzgsIDAsIDc4MDkwLCA4MjQzLCAyNDI3LCAxMjgxNDEsIDcwOTMsIDAsIDExNTg1LCAKKyAgICAxOTUwMDMsIDk5NjIsIDAsIDEyMjIzLCAwLCAwLCAxNDM0LCAxMjAyNTQsIDU2MzcsIDExNTczLCAwLCAwLCAwLCAxOTk1MSwgCisgICAgMCwgNzgxMjEsIDAsIDAsIDU1MjgzLCAwLCAwLCA3NDQzNywgMTE1NiwgODc0MCwgOTI0MTUsIDM3ODIsIDY0MzMxLCAwLCAKKyAgICA0MTM3MCwgMTAxNCwgODI2MSwgMCwgMCwgMTA4MzUsIDAsIDY1NTM2LCAwLCAxMjA0NjMsIDAsIDc3MDIsIDExODgyNCwgMCwgCisgICAgNDMwMTAsIDY1Nzc5LCA2NTc4MywgMTE1MCwgMTA1NDcsIDU3MDAsIDAsIDEyMDYwMywgNjUzODMsIDIzMzksIDQyNTk0LCAKKyAgICA1Njk3LCAxMTg3ODgsIDAsIDEyODU3NiwgMCwgNDIyNTcsIDU2OTYsIDkyNjc3LCAxMjA0NjUsIDM4NjIsIDk2NDMsIDAsIDAsIAorICAgIDc2MzQsIDY1MTY3LCA5ODQ1LCAwLCAwLCA1NzAxLCA5NzIyLCA0MTQ5MCwgOTgzMTUzLCAxNDI2LCA2ODIxNywgMCwgCisgICAgNjg0NDcsIDQyMjA0LCA1NTI3MCwgODU3MSwgMTk0OTkxLCA3ODA2NywgMCwgNzg4MTgsIDkyNzE5LCA0MzE4MiwgMTIxODQsIAorICAgIDAsIDQyMDIyLCAwLCAxMDI4MSwgMCwgNTY1MCwgNDMxOTQsIDY0NzEyLCAxMDc0NCwgMCwgOTkwLCA1NjQ3LCAwLCA3Mzg3LCAKKyAgICA3ODczNCwgNDExMTQsIDExNDc3LCA1NjQ2LCAxMjg3OSwgMTEwMTgsIDk4MzkyMSwgMzk0NSwgOTI1ODksIDAsIDAsIDAsIDAsIAorICAgIDc4MjEyLCAxMjc3NDYsIDEwMjAsIDczNzYzLCAwLCA3ODczMSwgNTY0OCwgNjQ3NDgsIDE5NDkxMCwgNzg3MzMsIDEwMjA1LCAKKyAgICAzNTQ1LCA5ODM1ODUsIDY5ODQsIDAsIDc0MDUxLCA5ODM2NDYsIDQzMjQyLCAxMjA0NTgsIDI2NjcsIDAsIDAsIDAsIDk5MTEsIAorICAgIDAsIDY1MDIwLCAxMDA5NywgMTE5MTY2LCAxMjcxNDUsIDk4MzY1MywgMTE4ODM2LCA5ODM3MzksIDc4NDI3LCAxMTQwLCAKKyAgICA3ODQyNiwgMCwgMTAxNTksIDAsIDAsIDgxMjgsIDAsIDAsIDkxNzk2NSwgMTgxNSwgMTk5MTAsIDg5MCwgMCwgMzI2NywgCisgICAgOTIyOTEsIDAsIDEwMTIzLCAwLCA0NDEwLCAxMDQxLCAxMDU3NiwgNjM1NCwgOTI1ODEsIDU4MCwgNzQyMzIsIDAsIAogICAgIDEyODM0NywgMCwgMCwgMCwgMTk5MzgsIDY1OTA2LCAxMjc4MTksIDAsIDAsIDMyOTgsIDUzNzUsIDEwMTQyLCAwLCA4MjE1LCAKLSAgICAwLCA2MTM0LCA0MTI0NiwgNjQ0MDIsIDAsIDEyODIxNSwgMCwgMCwgMCwgNDEzODIsIDAsIDEyODY1MywgNTE3MywgNjUzNDgsIAorICAgIDAsIDYxMzQsIDQxMjQ2LCA2NDQwMiwgMCwgNjk4OTksIDAsIDAsIDAsIDQxMzgyLCAwLCAxMjg2NTMsIDUxNzMsIDY1MzQ4LCAKICAgICA1MjcsIDAsIDAsIDkyNjEyLCAxMjgyNTAsIDc4Nzk3LCAxMTkxNSwgMCwgMCwgMTAwNzIsIDAsIDQyNjk1LCAyMzI5LCAKLSAgICA0MjI1MCwgMCwgMTI4ODY0LCA2OTY2NywgMTIyNDUsIDE1NjgsIDAsIDAsIDAsIDEyODEyMCwgMCwgNzQzMjgsIDkyNzA4LCAKLSAgICA3NDc2OSwgMCwgMTE5MDg3LCA5MDY5LCA2MTQ0LCAwLCAwLCA3MzgyMiwgMCwgMTI4MDEwLCA2NDkxNywgNDE1MjEsIAotICAgIDExODkzNCwgNDk0LCAxMzI1MCwgMCwgNjUwOTgsIDYzNjQsIDk1NiwgMCwgMTI4MzAsIDEwNDYyLCA3Mzc0MCwgMCwgMCwgMCwgCi0gICAgMCwgNjY0NDksIDEzMjYzLCA3NDI4MSwgNjkyMTcsIDEzMTcxLCAxMjc3OTYsIDAsIDAsIDkyMjk0LCAwLCAxMDQ0LCAKLSAgICA0MTI3NiwgMCwgMCwgMCwgNDIwNjgsIDExNzk1LCAwLCAwLCAwLCAwLCA0MjQ1MCwgMzkwNywgMCwgNjQ1MjYsIDkxNzg0NywgCi0gICAgNjgxOTcsIDEyMjk1LCAwLCAxMTQ3NSwgMCwgMzAyMCwgMTE1MzcsIDAsIDY2NDQxLCAwLCAwLCAwLCAwLCAxMDU3LCA1NjYsIAotICAgIDQyNjk2LCAwLCAzMDE2LCA0MjI3NCwgNDM0NjQsIDY2NDkwLCAxMjkyMSwgNjY1NzEsIDc4NDcyLCA5MjUxMCwgMzAwNiwgCi0gICAgNDYyMCwgMTI3MjM3LCAwLCAwLCAwLCA2NDY1OSwgMCwgMTI3NzQ5LCA1NTI1MywgNjM1NywgNjM2MiwgODYyNiwgMCwgMCwgCi0gICAgOTA5MCwgNjUzNzcsIDQxNTk2LCAwLCA0MjkyMCwgMTY5OCwgMCwgNjQ0NzcsIDAsIDQzODEzLCAxMDUzLCAwLCA3ODI2OSwgCi0gICAgMCwgMCwgMTA1MiwgMTA1MSwgNDU5LCAxMDYwLCA3NDM0OSwgNjY0NzksIDAsIDAsIDAsIDAsIDQyNDkwLCA2ODksIDY1MDgsIAotICAgIDQxNjMsIDQyMjk4LCA4NjM5LCA2NjY0MSwgNDI0NiwgMCwgMCwgMTIxMzAsIDAsIDQyMzM3LCA2NDU5NiwgNjQzNzUsIAotICAgIDY2NDgxLCAxMjc4NTAsIDAsIDAsIDYzNTksIDAsIDQzNDcxLCAwLCAwLCAwLCAxMjcyNzQsIDAsIDYzNTgsIDYzNjEsIAotICAgIDE5MjYsIDYzNTYsIDkyNjI3LCA3ODk4LCA4MTEwLCAxMDkzNSwgMCwgMTAwNjksIDU4MzAsIDAsIDQzNjg1LCAwLCAwLCAwLCAKLSAgICAwLCA4NjkzLCA3ODYxMSwgMTE5NTY1LCAwLCAxMjA0MTMsIDAsIDEyNzI1NywgNjU4OTQsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDExOTE4NywgMjEzNSwgNzg4NjgsIDAsIDAsIDc4ODY5LCA0MjMxMywgNTU3OSwgOTI0MTIsIDAsIDAsIDAsIDAsIDU1NzgsIAotICAgIDQxNzc0LCAxMjgxMTUsIDQyMDIzLCA2MjM0LCA1NjY5LCA5MjI3NSwgMCwgMCwgMCwgMTI3NTA2LCA2ODIwMiwgNTU4MywgMCwgCi0gICAgMCwgNDI0MjYsIDU1ODAsIDQyMjc2LCAyOTIzLCA4OTIsIDU1ODIsIDQyNDY1LCA0MTMzMCwgMTk0OTg3LCA1Nzk1LCAKLSAgICA2NTUxMiwgMTE5MDA2LCA2NTcwMiwgMCwgMTIwODAxLCA2NTI1MSwgMCwgNjU3MTAsIDAsIDAsIDY3NjcyLCAwLCA1MzcwLCAKLSAgICAwLCAyOTMxLCAxNjM4LCAxMDk2NiwgMTAxODgsIDY1ODc4LCAxMTg4NDgsIDAsIDY5Njk0LCAwLCAxMjg4MzAsIDgxNzIsIAotICAgIDQyMDE3LCAwLCAxMDg0NCwgMCwgMTI4MTk1LCA5MjQyNCwgNjM3NCwgMCwgMCwgMjg2LCA3ODAyMywgMTA2MiwgMCwgCi0gICAgMTE5OTk5LCAwLCA3Mzk1LCAwLCAxMDcwLCA2NDkwMCwgNzE1MywgNjA5NSwgNDE4NjUsIDAsIDMwMTUsIDEyODAyMywgCi0gICAgOTE3NzYzLCA1MjExLCAwLCA2NDAwLCAwLCAxOTQ5ODMsIDAsIDgxODksIDExMjc2LCAwLCAwLCAzNzIsIDEyODgyOSwgMCwgCi0gICAgMTE4ODc0LCA0MjEwMiwgNDE1ODUsIDEyODIwMiwgMCwgNDIxMDEsIDI3NiwgNzg0MDIsIDAsIDMzLCA3NDIyNiwgMTI3MzAzLCAKLSAgICA5MDA3LCAxMTg3OTYsIDQxNTg4LCA2NjAzMywgNDI3LCAxMDc2MywgMTE4ODE5LCAwLCAxMjc4ODQsIDAsIDEwMzEsIDYyNTcsIAotICAgIDAsIDQyMTA0LCAwLCAwLCAyMzI4LCA5MjQwOSwgMTA3MSwgMCwgMCwgNzQ4NDgsIDAsIDAsIDAsIDEwNDcsIDAsIDAsIAotICAgIDY0NzkwLCAwLCA2OTcyMywgMTA2NTEsIDAsIDAsIDAsIDAsIDkyMjA2LCAxMTkxODEsIDU3MTEsIDQxNjMzLCAxMjA5OCwgCi0gICAgNjU1NzEsIDkxNjYsIDAsIDU3MTAsIDAsIDY3OTAsIDY1MTY4LCAxMzIxNiwgMCwgNjk3MTYsIDY5NzI2LCAwLCA2NDYxMSwgCi0gICAgNDE2MjMsIDE5NTAwMSwgNTcxNSwgNjk2NTQsIDAsIDAsIDU3MTIsIDI3NjEsIDQxNjIwLCA2ODEyNCwgMzA3NCwgNTcyMiwgCi0gICAgMCwgODY0MywgNzM3NjgsIDAsIDExODkwNiwgMjc1NywgMTEwNjcsIDk3MTgsIDc0NDk4LCA4OTEwLCAxMDY4OSwgNjQ3OSwgCi0gICAgMCwgMCwgMCwgNzg2MDcsIDkxOTYsIDY5NjcwLCAwLCAwLCAwLCAwLCAxMTg5MTEsIDAsIDAsIDAsIDAsIDAsIDEyMDAxMCwgCi0gICAgMCwgODcwMSwgNjgxMzAsIDExOTYxNiwgMTIwNTIyLCAwLCA0MjQ3NywgMCwgMTIxMjMsIDQ0OTUsIDQzNTY5LCAwLCAwLCAwLCAKLSAgICA2NDk0NiwgMTA5OTIsIDAsIDEyMDAwOSwgMCwgMCwgOTMxOCwgMTIwNjYxLCAxMzI0OSwgNjU2NzksIDczODA4LCAwLCAKLSAgICA2NTQ1NywgNDIyNDksIDc2MzksIDQzOTk1LCA2Nzg0NSwgNDI2NDEsIDU0NTQsIDAsIDAsIDE5NDk5NywgMTIwMDA1LCAwLCAKLSAgICAwLCA1MDg0LCAwLCAwLCAxMTg4NjEsIDAsIDczMywgOTE3ODc2LCA3ODAxNCwgNzg0MzYsIDc4NDM1LCA0MTY3NywgMCwgCi0gICAgOTIxOCwgMTczMSwgMCwgMCwgMCwgMTk1MDEwLCAwLCAwLCAwLCAxMjAwMDEsIDEyNzAxOCwgOTI0OTIsIDUxNTUsIDAsIAotICAgIDUzNTgsIDAsIDAsIDkxNzc2NywgNjQ0MjQsIDAsIDM4NDAsIDY0MzE0LCA0MTQzMiwgMCwgMCwgNjg0MzAsIDExOTExNiwgCi0gICAgNDMyNTMsIDY1OTQzLCAwLCAzMzcxLCAxMDk4OCwgMCwgODc3MSwgMTQ3OSwgMCwgMCwgMTEwOSwgMTE1ODAsIDAsIDY0NjAxLCAKLSAgICAxMjIwNSwgMCwgMCwgNjQ1MDcsIDg4NjgsIDM5OSwgMCwgNzQ4NDIsIDAsIDAsIDEyMTQ5LCAxMzA4OCwgNTUxLCAwLCAKLSAgICAxMDE1NiwgMTIxMTksIDkyNTcyLCAwLCAyNTQ0LCA2NTA3NCwgMTE5MjExLCAwLCAwLCA3ODAxMSwgMzUxLCAxMTkxNDksIDAsIAotICAgIDAsIDU1MjI5LCAwLCA3NDI2OCwgMCwgMCwgMCwgNDIzNzcsIDAsIDAsIDAsIDAsIDAsIDkwMTMsIDQwNTQsIDAsIDAsIDAsIAotICAgIDAsIDczOTYwLCA1NTg1LCA2NTg4MSwgMjU0OSwgNzQ0NjksIDAsIDAsIDU1ODQsIDgzNTgsIDAsIDc0NDExLCA5MjIxOSwgCi0gICAgMTA5MTksIDAsIDc5ODAsIDAsIDAsIDAsIDQxODAwLCA1NTg5LCAwLCAyNjY0LCA0MTYxMywgNTU4NiwgMTE4ODkwLCAwLCAKLSAgICAxMTM1NiwgMCwgMCwgNDM0NTIsIDc4NjA5LCAwLCA0MjU3MywgNjc4NTYsIDAsIDc4MTI5LCAwLCAwLCA5MjUzNSwgODEzNSwgCi0gICAgNjQ1MCwgMTAwNTUsIDc3OTk2LCAwLCAwLCAwLCA1NjU3LCAwLCA5NjI2LCAwLCA3Nzk5NCwgMTAxNzksIDU2NTQsIDEyOTM5LCAKLSAgICA5MjU3MywgMTIwNzk5LCAwLCAwLCA1NjUyLCAxMDk0NSwgMCwgNjY0ODYsIDAsIDM2NjEsIDc4NjMsIDAsIDAsIDAsIAotICAgIDc0NTA5LCAwLCA1NjU5LCAwLCAxMjc1MTAsIDY2NzI5LCA1NjU1LCAwLCA0MjE2OCwgMCwgMTA1NSwgOTE3NjI4LCAKLSAgICAxMjc3OTIsIDY2MzEwLCA3NDAzMCwgMCwgMTIxNDYsIDczOTU1LCA3Mzk1NiwgMTE2MTgsIDAsIDEyNjk5MCwgMCwgMTAyNzIsIAotICAgIDEwMzA0LCAxMDM2OCwgNDI1MTgsIDU5NCwgMTAyNDQsIDEwMjQ4LCA3NDA3LCAwLCA2NDg3MCwgMCwgMzQ2NywgMCwgMCwgCi0gICAgMzMzMSwgOTQ2LCAxMDIzMSwgMTQ5NSwgODEzMSwgNzQzMzAsIDAsIDk1NjIsIDY5MjIyLCA2NTkyNywgMCwgMCwgNjk2OTYsIAotICAgIDY5NzY5LCA2NDY1NiwgMCwgMCwgMTk0ODM3LCAwLCA1NjY2LCA2NTIyNywgNTMxOCwgNjM5OTQsIDAsIDkwOTEsIDEwNzk4LCAKLSAgICAwLCAxMjgxNjYsIDEwMTg2LCAwLCA3NzMyLCAwLCA2NDU1NiwgMCwgMCwgNTY2OCwgNzQ0NDUsIDAsIDAsIDU2NzAsIDAsIAotICAgIDEyNzI5NywgMTE4MjAsIDI5OTIsIDc4MjYsIDU2NjcsIDE5OTUyLCAxMjA4MDcsIDAsIDEyNzQ5LCA3NDU1MSwgMCwgMCwgCi0gICAgNjY0OTYsIDQzNjEsIDExOTI2MCwgMTMwNiwgOTI4NiwgMTQ5NywgMCwgMCwgMCwgMCwgMzU3MSwgMTMyNDcsIDAsIDc5NzMsIAotICAgIDY2MzUzLCA2ODQzNSwgNzgyNzgsIDY3ODk2LCA0MzE5MiwgMCwgNzgyNjUsIDU1MywgMTIwNjUzLCAwLCAxMjg1NTQsIAotICAgIDU4MjksIDAsIDQ1ODcsIDc4Mjg1LCA2NTkxMiwgMCwgMTI3NDYsIDAsIDAsIDExOTkyNCwgNTYzMywgMTE5OTI3LCAwLCAwLCAKLSAgICAwLCA2NDkwNSwgMCwgOTUxMiwgMTIwNjcxLCAxMjc0MiwgNjQ0MywgMCwgMCwgOTEzNSwgMCwgNDE1NjQsIDAsIDU1MjE5LCAKLSAgICAxMjg4MzIsIDAsIDAsIDEyMTQ4LCAwLCA3ODI5NywgMCwgNjQyNTYsIDAsIDExNjY5LCAwLCA1NjM0LCA0NTI0LCAwLCAKLSAgICAxMjcyNzAsIDAsIDExODg4MCwgMjQyNSwgNjUxODIsIDEyODc2OSwgNDM2MzYsIDUyMjEsIDc4NDEwLCAzMjgsIDAsIDAsIAotICAgIDY5ODE1LCA1NjM2LCAwLCA1MzI5LCAwLCA1NjM4LCAxMTk5MTgsIDc5NDAsIDY0OTM4LCA0MzIyMywgMCwgNTYzNSwgMzM3MywgCi0gICAgMjk4NiwgNzgyOTIsIDc0MjIzLCAzNDM3LCA3ODI5MSwgNjIwMywgNDI0NywgMCwgMTE5MjAsIDgyNzQsIDAsIDAsIDE2NTcsIAotICAgIDQxNTYxLCA3ODI5OSwgNzgyOTUsIDU2MzksIDI5NTQsIDU2NjAsIDU2NDAsIDc4MzAzLCAwLCA3ODMwMCwgNDIyMjcsIDAsIAotICAgIDAsIDQxNjM3LCA2Nzg3MiwgMCwgNzgzMTAsIDQxNjI1LCA0MzM2MiwgNzgzMDksIDEyMDcxMywgMTE3MDUsIDU2NDIsIDAsIAotICAgIDU0ODYsIDAsIDQzNTYsIDExNzEwLCAwLCAxMjA1MSwgMCwgMCwgNTY0MSwgODI1OSwgMCwgMTA1OCwgMCwgNjc2MzAsIDAsIAotICAgIDAsIDExNDQsIDc4NzUwLCAwLCA0MjIyOCwgMCwgNzM4OTAsIDExODk3MiwgMCwgNjUzMjIsIDAsIDU2NDUsIDY0OTY0LCAKLSAgICA4NjUyLCAyNTQ3LCA2NjQ4NCwgNDM2MzQsIDAsIDU2MDgsIDY1ODkwLCA0MzgwOCwgMCwgNjc2MjEsIDExOTkzNCwgOTAwMCwgCi0gICAgMCwgMCwgOTI2NzMsIDE4NjUsIDAsIDU2MTMsIDc0MjY3LCAwLCAwLCA1NjEwLCAwLCAwLCA2NTgyNiwgMjA2OSwgMCwgCi0gICAgMTA3ODcsIDQzOTk5LCAyOTk3LCAwLCA1NjA5LCA3ODMxNiwgNjUzMTksIDc4MzEzLCAxMjMxNiwgNjUzNzYsIDI0MTIsIDAsIAotICAgIDgxODYsIDk4MDcsIDc0MjY5LCAwLCAxMzEzMCwgNjU4NzQsIDAsIDU4MDcsIDAsIDEwMDMwLCA1MzA2LCAxMjkzNiwgMCwgMCwgCi0gICAgMTE3MDQsIDAsIDkyNTgzLCAxMDIxMSwgMCwgMCwgMCwgMCwgMTE3MDYsIDk3MTAsIDAsIDAsIDAsIDQxMywgNjU2MjMsIAotICAgIDcxMTgsIDAsIDkxMzMsIDc0MjYyLCAwLCAxMDQyLCAwLCA2NDc3OSwgMTIxNzEsIDExOTI0MCwgNjE4NSwgNjQ3NzYsIAotICAgIDQ5ODQsIDAsIDcwOCwgMTEzOTEsIDAsIDEyMjQxLCA5MjcyMCwgMCwgMTMwOCwgMCwgMjUzNCwgODEwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAxOTE3LCAzMDAwLCAwLCAwLCAxMjA3MzksIDIzNjQsIDkyNDQzLCA3NDQ3MCwgNjY2MTgsIDY1NjgwLCAwLCAxMDAyNywgCi0gICAgMCwgMTI4MTU0LCAxMjMzNywgMTIwNzIyLCAxMjczNjgsIDAsIDI5ODAsIDc1NSwgNjk3NzQsIDkzMSwgMTMxMjQsIDY4MTgyLCAKLSAgICA2MzYzLCAyNzQ4LCAwLCAwLCA2NTA0MSwgMCwgNDQwMTEsIDg3MzAsIDAsIDEyNzg1NCwgNzgzMTIsIDcyNzQsIDExOTI1MCwgCi0gICAgMCwgNzI3NSwgNzgzMDQsIDkzNSwgMCwgNjU4NDAsIDM3NywgNDIzMjUsIDExNjQ5LCAxMjczNjMsIDY1MjUzLCA2NDMwMSwgCi0gICAgMTI4ODM1LCA3ODMwOCwgNDIzNDEsIDY1Mjg0LCAyNDE3LCAwLCAxMjg4NCwgMTk5MTIsIDc5MDcsIDEwNzY4LCAwLCAKLSAgICAxOTQ5OTgsIDAsIDEwNjczLCAxMTkyMTcsIDcyNDgsIDAsIDEyODM0NiwgMTc4MSwgNTQ5NiwgMzYyNywgNjIsIDE2NDksIDAsIAotICAgIDk2NCwgMCwgMTI3ODc2LCA3ODIyNiwgMTI4Nzc1LCAxMjc1MTIsIDAsIDAsIDAsIDAsIDQzNjg5LCAxMjc5MTEsIDEzMTQyLCAKLSAgICA3ODgxMiwgNDI0MTUsIDY2NTc1LCA0NTQyLCA3NDAzNywgNDM1NDcsIDAsIDAsIDc2NzcsIDI5OTEsIDQ5NDYsIDQyNDU0LCAKLSAgICAwLCA3OTQ5LCAwLCAwLCAxMTM0MSwgNDI0OTQsIDMwNzMsIDY1NjI1LCA5NzE0LCAxMTY5MiwgNDY1NywgMCwgOTI3MjQsIAotICAgIDY0NzgsIDk4OTgsIDQzNjczLCA2NTIzNywgNjI0MSwgNzEwNiwgNDg3NywgMCwgNjIzOCwgMCwgMTA1NDgsIDEyNzA0OSwgCi0gICAgNDQwOSwgMCwgMCwgNjQ3OTgsIDAsIDUzNDYsIDAsIDEyMDUyOCwgNjIzNywgNDg3NCwgMCwgOTE3NiwgMCwgMCwgNjUyMzEsIAorICAgIDQyMjUwLCAwLCAxMjg4NjQsIDY5NjY3LCAxMjI0NSwgMTU2OCwgOTQwMzMsIDAsIDAsIDEyODEyMCwgMCwgNzQzMjgsIAorICAgIDkyNzA4LCA3NDc2OSwgMCwgMTE5MDg3LCA5MDY5LCA2MTQ0LCAwLCAwLCA3MzgyMiwgMCwgMTI4MDEwLCA2NDkxNywgCisgICAgNDE1MjEsIDExODkzNCwgNDk0LCAxMzI1MCwgMCwgNjUwOTgsIDYzNjQsIDk1NiwgMCwgMTI4MzAsIDEwNDYyLCA3Mzc0MCwgCisgICAgNzM3MzQsIDAsIDAsIDAsIDY2NDQ5LCAxMzI2MywgNzQyODEsIDY5MjE3LCAxMzE3MSwgMTI3Nzk2LCAwLCAwLCA5MjI5NCwgCisgICAgMCwgMTA0NCwgNDEyNzYsIDAsIDAsIDAsIDQyMDY4LCAxMTc5NSwgMCwgMCwgMCwgMCwgNDI0NTAsIDM5MDcsIDAsIDY0NTI2LCAKKyAgICAxMTgyOSwgNjgxOTcsIDEyMjk1LCAwLCAxMTQ3NSwgMCwgMzAyMCwgMTE1MzcsIDAsIDY2NDQxLCA5ODM0NDYsIDcwOTgsIDAsIAorICAgIDAsIDEwNTcsIDU2NiwgNDI2OTYsIDAsIDMwMTYsIDQyMjc0LCA0MzQ2NCwgNjY0OTAsIDEyOTIxLCA2NjU3MSwgNzg0NzIsIAorICAgIDkyNTEwLCAzMDA2LCA0NjIwLCAxMjcyMzcsIDk4MzU3OCwgMCwgMCwgNjQ2NTksIDAsIDEyNzc0OSwgNTUyNTMsIDYzNTcsIAorICAgIDYzNjIsIDg2MjYsIDcxMzM3LCAyMjE2LCA5MDkwLCA2NTM3NywgNDE1OTYsIDAsIDQyOTIwLCAxNjk4LCAwLCA2NDQ3NywgMCwgCisgICAgNDM4MTMsIDEwNTMsIDAsIDc4MjY5LCAwLCAxMjY1ODYsIDEwNTIsIDEwNTEsIDQ1OSwgMTA2MCwgNzQzNDksIDY2NDc5LCAwLCAKKyAgICAwLCAwLCAwLCA0MjQ5MCwgNjg5LCA2NTA4LCA0MTYzLCA0MjI5OCwgODYzOSwgNjY2NDEsIDQyNDYsIDAsIDAsIDEyMTMwLCAKKyAgICAwLCA0MjMzNywgNjQ1OTYsIDY0Mzc1LCA2NjQ4MSwgMTI3ODUwLCAwLCAwLCA2MzU5LCAwLCA0MzQ3MSwgOTgzNzU5LCAwLCAKKyAgICAwLCAxMjcyNzQsIDAsIDYzNTgsIDYzNjEsIDE5MjYsIDYzNTYsIDkyNjI3LCA3ODk4LCA4MTEwLCAxMDkzNSwgMCwgMTAwNjksIAorICAgIDU4MzAsIDAsIDQzNjg1LCAwLCAwLCAwLCAwLCA4NjkzLCA3ODYxMSwgMTE5NTY1LCA5ODM3OTksIDEyMDQxMywgMCwgCisgICAgMTI3MjU3LCA2NTg5NCwgMCwgMCwgMCwgOTgzOTE0LCAwLCAwLCAxMTkxODcsIDIxMzUsIDc4ODY4LCAwLCAwLCA3ODg2OSwgCisgICAgNDIzMTMsIDU1NzksIDkyNDEyLCAwLCA5ODMwODIsIDk0MDAyLCAwLCA1NTc4LCA0MTc3NCwgMTI4MTE1LCA0MjAyMywgCisgICAgNjIzNCwgNTY2OSwgOTIyNzUsIDAsIDAsIDAsIDEyNzUwNiwgNjgyMDIsIDU1ODMsIDAsIDAsIDQyNDI2LCA1NTgwLCAKKyAgICA0MjI3NiwgMjkyMywgODkyLCAyMjIwLCA0MjQ2NSwgNDEzMzAsIDE5NDk4NywgNTc5NSwgNjU1MTIsIDExOTAwNiwgNjU3MDIsIAorICAgIDAsIDEyMDgwMSwgNjUyNTEsIDAsIDY1NzEwLCAwLCAwLCA2NzY3MiwgMCwgNTM3MCwgMCwgMjkzMSwgMTYzOCwgMTA5NjYsIAorICAgIDEwMTg4LCA2NTg3OCwgMTE4ODQ4LCAwLCA2OTY5NCwgNjk4NzksIDEyODgzMCwgODE3MiwgNDIwMTcsIDAsIDEwODQ0LCAwLCAKKyAgICAxMjgxOTUsIDkyNDI0LCA2Mzc0LCAwLCAwLCAyODYsIDc4MDIzLCAxMDYyLCAwLCAxMTk5OTksIDAsIDczOTUsIDAsIDEwNzAsIAorICAgIDY0OTAwLCA3MTUzLCA2MDk1LCA0MTg2NSwgMCwgMzAxNSwgMTI4MDIzLCAxMjY0NjUsIDUyMTEsIDk4MzA4MywgNjQwMCwgMCwgCisgICAgMTk0OTgzLCA3MDA1NCwgODE4OSwgMTEyNzYsIDAsIDAsIDM3MiwgMTI4ODI5LCAwLCAxMTg4NzQsIDQyMTAyLCA0MTU4NSwgCisgICAgMTI4MjAyLCAwLCA0MjEwMSwgMjc2LCA3ODQwMiwgMCwgMzMsIDc0MjI2LCAxMjczMDMsIDkwMDcsIDExODc5NiwgNDE1ODgsIAorICAgIDY2MDMzLCA0MjcsIDEwNzYzLCAxMTg4MTksIDAsIDEyNzg4NCwgMCwgMTAzMSwgNjI1NywgMCwgNDIxMDQsIDAsIDk4Mzk3MSwgCisgICAgMjMyOCwgOTI0MDksIDEwNzEsIDQyODk5LCAwLCA3NDg0OCwgMCwgOTgzNTgwLCAwLCAxMDQ3LCAwLCAwLCA2NDc5MCwgMCwgCisgICAgNjk3MjMsIDEwNjUxLCAwLCAwLCAwLCAwLCA5MjIwNiwgMTE5MTgxLCA1NzExLCA0MTYzMywgMTIwOTgsIDY1NTcxLCA5MTY2LCAKKyAgICAwLCA1NzEwLCAwLCA2NzkwLCA2NTE2OCwgMTMyMTYsIDAsIDY5NzE2LCA2OTcyNiwgMCwgNjQ2MTEsIDQxNjIzLCAxOTUwMDEsIAorICAgIDU3MTUsIDY5NjU0LCAwLCAwLCA1NzEyLCAyNzYxLCA0MTYyMCwgNjgxMjQsIDMwNzQsIDU3MjIsIDAsIDg2NDMsIDczNzY4LCAKKyAgICAwLCAxMTg5MDYsIDI3NTcsIDExMDY3LCA5NzE4LCA3NDQ5OCwgODkxMCwgMTA2ODksIDY0NzksIDAsIDAsIDAsIDc4NjA3LCAKKyAgICA5MTk2LCA2OTY3MCwgMCwgMCwgMCwgMCwgMTE4OTExLCAwLCAwLCAwLCAwLCAwLCAxMjAwMTAsIDAsIDg3MDEsIDY4MTMwLCAKKyAgICAxMTk2MTYsIDEyMDUyMiwgMCwgNDI0NzcsIDE5NDk5NCwgMTIxMjMsIDQ0OTUsIDQzNTY5LCAwLCAwLCAwLCA2NDk0NiwgCisgICAgMTA5OTIsIDAsIDEyMDAwOSwgMCwgMCwgOTMxOCwgOTM5ODYsIDEzMjQ5LCA2NTY3OSwgNzM4MDgsIDAsIDY1NDU3LCAKKyAgICA0MjI0OSwgNzYzOSwgNDM5OTUsIDY3ODQ1LCA0MjY0MSwgNTQ1NCwgMCwgMCwgMTk0OTk3LCAxMjAwMDUsIDAsIDk4Mzk1NywgCisgICAgNTA4NCwgMCwgMCwgMTE4ODYxLCAwLCA3MzMsIDkxNzg3NiwgNzgwMTQsIDc4NDM2LCA3ODQzNSwgNDE2NzcsIDAsIDkyMTgsIAorICAgIDE3MzEsIDAsIDk4MzczNywgMCwgNjc5OTAsIDAsIDAsIDAsIDEyMDAwMSwgMTI3MDE4LCA5MjQ5MiwgNTE1NSwgMTIwMDAwLCAKKyAgICA1MzU4LCA5ODM3MzUsIDAsIDkxNzc2NywgNjQ0MjQsIDk4MzIyNSwgMzg0MCwgNjQzMTQsIDQxNDMyLCAwLCA3ODMxNSwgCisgICAgNjg0MzAsIDY3OTgwLCA0MzI1MywgNjU5NDMsIDAsIDMzNzEsIDEwOTg4LCAwLCA4NzcxLCAxNDc5LCAwLCAwLCAxMTA5LCAKKyAgICAxMTU4MCwgMCwgNjQ2MDEsIDEyMjA1LCAwLCAwLCA2NDUwNywgODg2OCwgMzk5LCA2Nzk3OCwgNzQ4NDIsIDk4MzI3NiwgCisgICAgOTgzNzEyLCAxMjE0OSwgMTMwODgsIDU1MSwgMCwgMTAxNTYsIDEyMTE5LCA5MjU3MiwgMCwgMjU0NCwgNjUwNzQsIAorICAgIDExOTIxMSwgMCwgMCwgNzgwMTEsIDM1MSwgMTE5MTQ5LCAwLCAwLCA1NTIyOSwgMCwgNzQyNjgsIDAsIDAsIDAsIDQyMzc3LCAKKyAgICAwLCAwLCAwLCA5ODM5MTUsIDAsIDkwMTMsIDQwNTQsIDAsIDk4MzU3MCwgMCwgMCwgNzM5NjAsIDU1ODUsIDY1ODgxLCAKKyAgICAyNTQ5LCA3NDQ2OSwgMCwgMCwgNTU4NCwgODM1OCwgMCwgNjQyMTUsIDkyMjE5LCAxMDkxOSwgMCwgNzk4MCwgMTI2NjAxLCAKKyAgICA5ODM3NzUsIDIyMTgsIDQxODAwLCA1NTg5LCAwLCAyNjY0LCA0MTYxMywgNTU4NiwgMTE4ODkwLCAwLCAxMTM1NiwgMCwgMCwgCisgICAgNDM0NTIsIDc4NjA5LCAwLCA0MjU3MywgNjc4NTYsIDAsIDc4MTI5LCAwLCAwLCA3NDM5MiwgODEzNSwgNjQ1MCwgMTAwNTUsIAorICAgIDc3OTk2LCAwLCAwLCAxMTkyMjUsIDU2NTcsIDAsIDk2MjYsIDAsIDc3OTk0LCAxMDE3OSwgNTY1NCwgMTI5MzksIDkyNTczLCAKKyAgICAxMjA3OTksIDAsIDAsIDU2NTIsIDEwOTQ1LCAwLCA2NjQ4NiwgMCwgMzY2MSwgNzg2MywgMCwgMCwgMCwgNzQ1MDksIAorICAgIDk4Mzg0MywgNTY1OSwgMCwgNzg2OTIsIDY2NzI5LCA1NjU1LCAwLCA0MjE2OCwgMCwgMTA1NSwgOTE3NjI4LCAxMjc3OTIsIAorICAgIDY2MzEwLCA3NDAzMCwgMCwgMTIxNDYsIDczOTU1LCA3Mzk1NiwgMTE2MTgsIDAsIDEyNjk5MCwgMCwgMTAyNzIsIDEwMzA0LCAKKyAgICAxMDM2OCwgNDI1MTgsIDU5NCwgMTAyNDQsIDEwMjQ4LCA3NDA3LCA5ODM4NzgsIDY0ODcwLCAwLCAzNDY3LCA5ODM4ODIsIDAsIAorICAgIDMzMzEsIDk0NiwgMTAyMzEsIDE0OTUsIDgxMzEsIDc0MzMwLCAwLCA5NTYyLCA2OTIyMiwgNjU5MjcsIDAsIDcwMDM2LCAKKyAgICA2OTY5NiwgNjk3NjksIDY0NjU2LCA5ODM3MTcsIDAsIDk0MDIwLCA3MDA1NiwgNTY2NiwgNjUyMjcsIDUzMTgsIDYzOTk0LCAKKyAgICAwLCA5MDkxLCAxMDc5OCwgMCwgMTI4MTY2LCAxMDE4NiwgMCwgNzczMiwgOTgzNzE1LCA2NDU1NiwgMCwgMCwgNTY2OCwgCisgICAgNzQ0NDUsIDAsIDEyODY2MywgNTY3MCwgMTI2NjEwLCAxMjcyOTcsIDExODIwLCAyOTkyLCA3ODI2LCA1NjY3LCAxOTk1MiwgCisgICAgMTIwODA3LCAwLCAxMjc0OSwgNzQ1NTEsIDAsIDAsIDY2NDk2LCA0MzYxLCAxMTkyNjAsIDEzMDYsIDkyODYsIDE0OTcsIAorICAgIDEyODI4NiwgOTQwMDQsIDAsIDAsIDM1NzEsIDEzMjQ3LCAwLCA3OTczLCA2NjM1MywgNjg0MzUsIDc4Mjc4LCA2Nzg5NiwgCisgICAgNDMxOTIsIDAsIDc4MjY1LCA1NTMsIDEyMDY1MywgMCwgMTI4NTU0LCA1ODI5LCAwLCA0NTg3LCA3ODI4NSwgNjU5MTIsIDAsIAorICAgIDEyNzQ2LCAwLCAwLCAxMTk5MjQsIDU2MzMsIDExOTkyNywgOTQxMDEsIDk0MTAyLCA5NDA5OSwgNjQ5MDUsIDk0MTA1LCAKKyAgICA5NTEyLCA5NDEwMywgMTI3NDIsIDY0NDMsIDk4Mzc5NywgMCwgOTEzNSwgMCwgNDE1NjQsIDAsIDU1MjE5LCAxMjg4MzIsIAorICAgIDk4Mzg0MiwgMCwgMTIxNDgsIDAsIDc4Mjk3LCAwLCA2NDI1NiwgMCwgMTE2NjksIDAsIDU2MzQsIDQ1MjQsIDAsIDEyNzI3MCwgCisgICAgMCwgMTE4ODgwLCAyNDI1LCA2NTE4MiwgMTI4NzY5LCA0MzYzNiwgNTIyMSwgNzg0MTAsIDMyOCwgMCwgOTgzODAwLCAKKyAgICA2OTgxNSwgNTYzNiwgMCwgNTMyOSwgMCwgNTYzOCwgMTE5OTE4LCA3OTQwLCA2NDkzOCwgNDMyMjMsIDQzNzYwLCA1NjM1LCAKKyAgICAzMzczLCAyOTg2LCA3ODI5MiwgNzQyMjMsIDM0MzcsIDc4MjkxLCA2MjAzLCA0MjQ3LCAwLCAxMTkyMCwgODI3NCwgMCwgMCwgCisgICAgMTY1NywgNDE1NjEsIDc4Mjk5LCA3ODI5NSwgNTYzOSwgMjk1NCwgNTY2MCwgNTY0MCwgNzgzMDMsIDk4MzY3NiwgNzgzMDAsIAorICAgIDQyMjI3LCAwLCAwLCA0MTYzNywgNjc4NzIsIDAsIDc4MzEwLCA0MTYyNSwgNDMzNjIsIDc4MzA5LCAxMjA3MTMsIDExNzA1LCAKKyAgICA1NjQyLCAwLCA1NDg2LCAwLCA0MzU2LCAxMTcxMCwgMCwgMTIwNTEsIDY5OTM4LCAwLCA1NjQxLCA4MjU5LCAwLCAxMDU4LCAKKyAgICAwLCA2NzYzMCwgMCwgMCwgMTE0NCwgNzg3NTAsIDAsIDQyMjI4LCAwLCA3Mzg5MCwgMTE4OTcyLCAwLCAyODAwLCAwLCAKKyAgICA1NjQ1LCA2NDk2NCwgODY1MiwgMjU0NywgNjY0ODQsIDQzNjM0LCAwLCA1NjA4LCA2NTg5MCwgNDM4MDgsIDAsIDY3NjIxLCAKKyAgICAxMTk5MzQsIDkwMDAsIDAsIDAsIDkyNjczLCAxODY1LCAwLCA1NjEzLCA2OTk1MCwgMCwgMCwgNTYxMCwgMCwgMCwgNjU4MjYsIAorICAgIDIwNjksIDAsIDEwNzg3LCA0Mzk5OSwgMjk5NywgMCwgNTYwOSwgNzgzMTYsIDY1MzE5LCA3ODMxMywgMTIzMTYsIDY1Mzc2LCAKKyAgICAyNDEyLCAwLCA4MTg2LCA5ODA3LCA3NDI2OSwgOTI1NDcsIDEzMTMwLCA2NTg3NCwgMCwgNTgwNywgMCwgMTAwMzAsIDUzMDYsIAorICAgIDEyMzY0LCAxMjgwNjQsIDAsIDExNzA0LCAwLCA5MjU4MywgMTAyMTEsIDAsIDAsIDAsIDAsIDExNzA2LCA5NzEwLCAwLCAwLCAKKyAgICAwLCA0MTMsIDY1NjIzLCA3MTE4LCAwLCA5MTMzLCA3NDI2MiwgMCwgMTA0MiwgMCwgNjQ3NzksIDEyMTcxLCAxMTkyNDAsIAorICAgIDYxODUsIDY0Nzc2LCA0OTg0LCAwLCA3MDgsIDExMzkxLCAwLCAxMjI0MSwgOTI3MjAsIDk4Mzg5MCwgMTMwOCwgMCwgMjUzNCwgCisgICAgODEwLCAwLCAwLCAwLCAwLCAwLCAxOTE3LCAzMDAwLCAwLCAwLCAxMjA3MzksIDIzNjQsIDkyNDQzLCA3NDQ3MCwgNjY2MTgsIAorICAgIDY1NjgwLCAxMjA3NzksIDEwMDI3LCAwLCAxMjgxNTQsIDEyMzM3LCAxMjA3MjIsIDEyNzM2OCwgOTgzMTY3LCAyOTgwLCAKKyAgICA3NTUsIDY5Nzc0LCA5MzEsIDEzMTI0LCA2ODE4MiwgNjM2MywgMjc0OCwgMCwgMCwgNjUwNDEsIDkyMjc2LCA0NDAxMSwgCisgICAgODczMCwgOTgzMDY3LCAxMjc4NTQsIDc4MzEyLCA3Mjc0LCAxMTkyNTAsIDAsIDcyNzUsIDc4MzA0LCA5MzUsIDAsIDY1ODQwLCAKKyAgICAzNzcsIDQyMzI1LCAxMTY0OSwgMTI3MzYzLCA2NTI1MywgNjQzMDEsIDEyODgzNSwgNzgzMDgsIDQyMzQxLCA2NTI4NCwgCisgICAgMjQxNywgMCwgMTI4ODQsIDE5OTEyLCA3OTA3LCAxMDc2OCwgMCwgMTk0OTk4LCAwLCAxMDY3MywgMTE5MjE3LCA3MjQ4LCAwLCAKKyAgICAxMjgzNDYsIDE3ODEsIDU0OTYsIDM2MjcsIDYyLCAxNjQ5LCAwLCA5NjQsIDAsIDEyNzg3NiwgNzgyMjYsIDEyODc3NSwgCisgICAgMTI3NTEyLCAwLCAwLCAwLCAwLCA0MzY4OSwgMTI3OTExLCAxMzE0MiwgNzg4MTIsIDQyNDE1LCA2NjU3NSwgNDU0MiwgCisgICAgNjk5MDksIDQzNTQ3LCAwLCAwLCA3Njc3LCAyOTkxLCA0OTQ2LCA0MjQ1NCwgMTE1NjUsIDc5NDksIDAsIDk4MzkwOSwgCisgICAgMTEzNDEsIDQyNDk0LCAzMDczLCA2NTYyNSwgOTcxNCwgMTE2OTIsIDQ2NTcsIDAsIDkyNzI0LCA2NDc4LCA5ODk4LCAKKyAgICA0MzY3MywgNjUyMzcsIDYyNDEsIDcxMDYsIDQ4NzcsIDk4Mzc4NiwgNjIzOCwgMCwgMTA1NDgsIDEyNzA0OSwgNDQwOSwgMCwgCisgICAgMCwgNjQ3OTgsIDAsIDUzNDYsIDAsIDk0MDQ3LCA2MjM3LCA0ODc0LCAwLCA5MTc2LCAwLCAxMjY1NTMsIDY1MjMxLCAKICAgICA2NTg4NCwgMTI2NzgsIDc4NzQ4LCAxMTg5MTIsIDExMzc4LCA0NDAxOCwgNDI3ODUsIDI0MDgsIDMyNTEsIDAsIDAsIDU2ODUsIAogICAgIDAsIDI0NjEsIDExMDUyLCA3MDkxLCA1MzQyLCA4MzE3LCAwLCA2ODE2MywgNTM0MCwgMCwgMTI3ODIwLCA0MzYzNSwgCi0gICAgNzM5MjgsIDEyNzUyOSwgMCwgMCwgMCwgMTI4NTEwLCA2NTQ4MiwgMCwgOTE0MiwgMCwgMCwgMCwgMTA5MzgsIDAsIAorICAgIDczOTI4LCAxMjc1MjksIDAsIDAsIDAsIDEyODUxMCwgNjU0ODIsIDAsIDkxNDIsIDAsIDEyNjQ3MCwgMCwgMTA5MzgsIDAsIAogICAgIDExODc5MCwgMTE4MiwgMjU0MiwgNDgyNiwgMCwgMCwgMTI4MTc2LCA1MjksIDg1ODAsIDAsIDAsIDEwNTg2LCAxMDc5MCwgCi0gICAgMTA4MzksIDY2MDIzLCA0MTU5MywgNDEyMDcsIDAsIDAsIDQxNTk0LCAyMjUsIDQyODI4LCAwLCAwLCAwLCAxMTM3NiwgCisgICAgMTA4MzksIDY2MDIzLCA0MTU5MywgNDEyMDcsIDAsIDAsIDQxNTk0LCAyMjUsIDQyODI4LCAwLCAwLCA5ODM5MjksIDExMzc2LCAKICAgICA3NDM3OSwgMTA3MjEsIDY3NjY0LCAzNDM4LCA0MjA5NywgMTI3MjY3LCAxMTA4NCwgMzE5NCwgNDE4NzAsIDI2NiwgNzgzMDUsIAotICAgIDAsIDQxODczLCAxMjA1NzUsIDExMzI0LCAxMjA1MzEsIDAsIDg0MjAsIDY0OTE4LCAxMjg4NDQsIDQxODcxLCA0MTMzOCwgCi0gICAgMzczNCwgNzczNCwgNDM2ODMsIDg3NTAsIDY2NjA1LCA2NjAxMSwgMCwgNDA5NjUsIDEyNzkzNywgMCwgNTE2MSwgMTA1NzIsIAotICAgIDAsIDAsIDAsIDY0MzQ5LCA3Mjg3LCA0MjE2MiwgMTI3NTUyLCAwLCAwLCAxMTk0OCwgNjkyMjAsIDEyMzU5LCA0MzQyOSwgCi0gICAgNDEzNjksIDE2OTcsIDEyMTkxLCAwLCA2ODYzMywgNzI4NiwgMCwgNjg2MzUsIDEwMDMxLCAwLCA5ODcwLCA2ODY0NSwgCi0gICAgODYyMCwgNjU4MjQsIDAsIDExOTM4LCAwLCA3Mjg1LCAwLCAxMTk1NzcsIDQyNjc4LCAwLCA0MzY3NywgNDE1ODMsIDAsIAotICAgIDY1Nzk5LCA5MjYyMywgMCwgMCwgMCwgNzgxNjksIDY2MTk5LCAwLCAzNjA5LCA2ODYyNCwgMCwgODMyLCAxMjA2OTMsIAotICAgIDEyMDc3MCwgNzg0NzMsIDY2MDA3LCA3ODQ3MSwgNjU3MDMsIDAsIDAsIDQyNzMyLCA1MTgwLCA5MjY5OSwgNDEzOTUsIAotICAgIDQxNTMwLCAxMTY5MSwgNjQ3NzMsIDkyMjE0LCA3NDAwMiwgMCwgMCwgMTI4NjQ1LCA2MzQ4LCAyNDMsIDEzMjAwLCAwLCAKLSAgICA2MDI0LCA5MjMwOSwgOTk3OSwgMTAwMzcsIDQxNTI5LCAxMDY0OCwgODUzOCwgNDM2ODcsIDAsIDAsIDQyODUsIDY2MTk1LCAKLSAgICAwLCA0MjMwLCAwLCAxMzMwNywgNDMyNTYsIDkyMzUzLCA3NTYzLCA0MjM3NiwgMCwgNjg0NDIsIDEyMDUxMiwgMCwgMCwgCi0gICAgMjE0LCAwLCAwLCA3ODQ2NiwgNjU4OTMsIDEyMjA4LCA5OTczLCAwLCA2NjMxMSwgNjU1ODksIDEyODI3NywgMjYwMywgMCwgCi0gICAgMCwgMCwgMCwgMCwgNjAyMiwgMCwgMjg4NCwgMCwgMTE2MjAsIDAsIDQzLCAwLCA2NjQ1MywgMTAxNiwgNDExMDcsIDAsIAotICAgIDQxMTIxLCAzODg1LCA5MiwgNjU0NTYsIDY0NjA4LCAwLCA3NDgwMSwgMCwgMjA3NCwgMCwgNzgyODMsIDAsIDEyNDUzLCAKLSAgICAxMjgxMjgsIDAsIDc0MjQxLCAwLCA2NzkxLCAxMjQ1NywgNzgyNjgsIDAsIDAsIDAsIDc4Mjc5LCAwLCAwLCA5MjM1OCwgCi0gICAgNjY2MzcsIDc5OTUsIDg3NTksIDQzNDIxLCA3ODI3NywgMTI0NDksIDEyODU1MiwgMCwgMCwgODc1MiwgMzE5NywgNDcyMCwgCi0gICAgMTAxNjUsIDAsIDExOTI0OSwgMCwgMTE1OTUsIDY0ODkzLCAwLCA0MzQzNSwgMCwgMCwgNDk5MywgMCwgNjE2OCwgMTA5MzQsIAotICAgIDE5NDYsIDc0MSwgMCwgNTQ5NCwgNDYzOSwgMCwgMTk5MCwgNjY1ODksIDQ0OTgsIDc4NjY0LCAxMTkxODMsIDAsIDAsIAotICAgIDY5NzM0LCAyOTYwLCA3Mzc3OSwgMCwgODk2OSwgMTI4MTE3LCA0MzQyNCwgMTI3MDU5LCAwLCAyOTUwLCAxMTk1NzksIAotICAgIDYyMTAsIDY1NzUzLCAzNzAsIDAsIDAsIDAsIDQ5NTMsIDAsIDAsIDAsIDAsIDY5MjMwLCAwLCAwLCA2NTY4OCwgMCwgNTA2MywgCi0gICAgMzUxNywgMjk2NCwgNDM2NjMsIDkxNzc2MiwgNjM0NCwgNzQ3OTEsIDEwNTY2LCAxMDE0NCwgNjYzMzMsIDgyNTIsIDcyOSwgCi0gICAgNjYwMTYsIDc4MjUzLCAwLCAwLCA2NDkyMywgMTI4MDQwLCA0MzY2OSwgOTAzMiwgNzgyNjMsIDc4MjY0LCAwLCA0MTIxNSwgCi0gICAgMCwgNjU4ODMsIDAsIDkxNzc3NCwgMTIwNjAyLCAzNzYxLCAwLCAwLCAwLCAwLCAxMjkxMiwgMTE5MDEyLCAzODUwLCAKLSAgICAxMjgxOTEsIDAsIDAsIDAsIDAsIDkwOCwgMCwgODYxMSwgMCwgMCwgMTI3NTU1LCA0MzY5MSwgNDExOTcsIDAsIDg5NzgsIAotICAgIDEyMDU0MCwgMTE5MTM1LCA0MTU4NiwgMTA1MjcsIDAsIDkxNzg0OCwgMzg0OCwgNzg3MzksIDE5NDkzNywgMTI3NTM2LCAKLSAgICA2NTI0MSwgNTMzNiwgMCwgMTI4Nzg2LCA2NjMsIDAsIDEwNzgwLCAwLCAwLCA3ODc2NywgMCwgMTI3MTYzLCA2ODE5MywgCi0gICAgMzQ3LCAwLCAwLCA3ODc3NSwgNjQ2NzUsIDQxNTgyLCA3ODc3NCwgNzg3NDQsIDY1NTc5LCAxMjk4MCwgNzg3NjksIDEyMTQzLCAKKyAgICAxMjAxODMsIDQxODczLCAxMjA1NzUsIDExMzI0LCAxMjA1MzEsIDAsIDg0MjAsIDY0OTE4LCAxMjg4NDQsIDQxODcxLCAKKyAgICA0MTMzOCwgMzczNCwgNzczNCwgNDM2ODMsIDg3NTAsIDY2NjA1LCA2NjAxMSwgOTI1MTQsIDQwOTY1LCAxMjc5MzcsIDAsIAorICAgIDUxNjEsIDEwNTcyLCAwLCAwLCAwLCA2NDM0OSwgNzI4NywgNDIxNjIsIDEyNzU1MiwgMCwgMTI2NjA1LCAxMTk0OCwgCisgICAgNjkyMjAsIDEyMzU5LCA0MzQyOSwgNDEzNjksIDE2OTcsIDEyMTkxLCAwLCA2ODYzMywgNzI4NiwgMCwgNjg2MzUsIDEwMDMxLCAKKyAgICAwLCA5ODcwLCA2ODY0NSwgODYyMCwgNjU4MjQsIDAsIDExOTM4LCAwLCA3Mjg1LCAwLCAxMTk1NzcsIDQyNjc4LCAwLCAKKyAgICA0MzY3NywgNDE1ODMsIDAsIDY1Nzk5LCA5MjYyMywgMCwgMCwgOTgzOTI3LCA3ODE2OSwgNjYxOTksIDAsIDM2MDksIAorICAgIDY4NjI0LCAwLCA4MzIsIDEyMDY5MywgMTIwNzcwLCA3ODQ3MywgNjYwMDcsIDc4NDcxLCA2NTcwMywgMCwgMCwgNDI3MzIsIAorICAgIDUxODAsIDkyNjk5LCA0MTM5NSwgNDE1MzAsIDExNjkxLCA2NDc3MywgOTIyMTQsIDc0MDAyLCAwLCAwLCAxMjg2NDUsIAorICAgIDYzNDgsIDI0MywgMTMyMDAsIDk4MzgwNCwgNjAyNCwgOTIzMDksIDk5NzksIDEwMDM3LCA0MTUyOSwgMTA2NDgsIDg1MzgsIAorICAgIDQzNjg3LCAwLCAwLCA0Mjg1LCA2NjE5NSwgMCwgNDIzMCwgMCwgNzM2NywgNDMyNTYsIDkyMzUzLCA3NTYzLCA0MjM3NiwgMCwgCisgICAgNjg0NDIsIDEyMDUxMiwgMCwgMCwgMjE0LCAwLCAwLCA3ODQ2NiwgNjU4OTMsIDEyMjA4LCA5OTczLCAwLCA2NjMxMSwgCisgICAgNjU1ODksIDEyODI3NywgMjYwMywgMCwgMCwgMCwgNzAwNDcsIDAsIDYwMjIsIDAsIDI4ODQsIDAsIDExNjIwLCAwLCA0MywgCisgICAgMCwgNjY0NTMsIDEwMTYsIDQxMTA3LCAwLCA0MTEyMSwgMzg4NSwgOTIsIDY1NDU2LCA2NDYwOCwgMCwgNzQ4MDEsIDAsIAorICAgIDIwNzQsIDAsIDc4MjgzLCAwLCAxMjQ1MywgMTI4MTI4LCA5ODM4MTcsIDc0MjQxLCAxMjY1NjgsIDY3OTEsIDEyNDU3LCAKKyAgICA3ODI2OCwgMCwgMCwgMCwgNzgyNzksIDAsIDAsIDkyMzU4LCA2NjYzNywgNzk5NSwgODc1OSwgNDM0MjEsIDc4Mjc3LCAKKyAgICAxMjQ0OSwgMTI4NTUyLCAwLCAwLCA4NzUyLCAzMTk3LCA0NzIwLCAxMDE2NSwgMCwgMTE5MjQ5LCAwLCAxMTU5NSwgNjQ4OTMsIAorICAgIDAsIDQzNDM1LCAwLCAwLCA0OTkzLCAwLCA2MTY4LCAxMDkzNCwgMTk0NiwgNzQxLCAwLCA1NDk0LCA0NjM5LCA5ODMxNDcsIAorICAgIDE5OTAsIDY2NTg5LCA0NDk4LCA3ODY2NCwgMTE5MTgzLCAwLCAwLCA2OTczNCwgMjk2MCwgNzM3NzksIDAsIDg5NjksIAorICAgIDEyODExNywgNDM0MjQsIDEyNzA1OSwgMCwgMjk1MCwgMTE5NTc5LCA2MjEwLCA2NTc1MywgMzcwLCAwLCAwLCAwLCA0OTUzLCAKKyAgICA5ODM2NzMsIDAsIDAsIDAsIDY5MjMwLCAwLCAwLCA2NTY4OCwgOTgzMjQwLCA1MDYzLCAzNTE3LCAyOTY0LCA0MzY2MywgCisgICAgOTE3NzYyLCA2MzQ0LCA3NDc5MSwgMTA1NjYsIDEwMTQ0LCA2NjMzMywgODI1MiwgNzI5LCA2NjAxNiwgNzgyNTMsIDAsIAorICAgIDcxMzE3LCA2NDkyMywgMTI4MDQwLCA0MzY2OSwgOTAzMiwgNzgyNjMsIDc4MjY0LCAwLCA0MTIxNSwgMCwgNjU4ODMsIDAsIAorICAgIDkxNzc3NCwgMTIwNjAyLCAzNzYxLCAwLCAwLCA3MDA2OCwgMCwgMTI5MTIsIDExOTAxMiwgMzg1MCwgMTI4MTkxLCAwLCAwLCAKKyAgICAwLCAwLCA5MDgsIDAsIDg2MTEsIDAsIDAsIDEyNzU1NSwgNDM2OTEsIDQxMTk3LCAwLCA4OTc4LCAxMjA1NDAsIDExOTEzNSwgCisgICAgNDE1ODYsIDEwNTI3LCAwLCA5MTc4NDgsIDM4NDgsIDc4NzM5LCAxOTQ5MzcsIDEyNzUzNiwgNjUyNDEsIDUzMzYsIAorICAgIDk4MzI1MSwgMTI4Nzg2LCA2NjMsIDAsIDEwNzgwLCAwLCAwLCA3ODc2NywgOTgzMjQ5LCAxMjcxNjMsIDY4MTkzLCAzNDcsIAorICAgIDAsIDAsIDc4Nzc1LCA2NDY3NSwgNDE1ODIsIDc4Nzc0LCA3ODc0NCwgNjU1NzksIDEyOTgwLCA3ODc2OSwgMTIxNDMsIAogICAgIDY5NjU3LCA3ODUxMiwgMCwgNDM0NDEsIDQxODA0LCA3ODUyMywgMCwgNzg1MjUsIDAsIDEyODg1OSwgNDE1ODQsIDEwNjgxLCAKLSAgICAwLCAwLCA3MzkzOCwgMCwgMTI4MDIyLCA0ODAwLCA2NjY2MSwgMCwgNjYzMDYsIDY0NzE1LCA3ODUzNCwgOTUxOCwgNjYwOSwgCi0gICAgMTA0MzQsIDAsIDExMzE5LCAxMDk3LCAwLCA5MTc4NTAsIDQxNzMwLCAwLCAwLCA3Mzg0NywgNzg3NjEsIDY1MTcyLCAKLSAgICA0MTcyOCwgNDE3MjEsIDAsIDAsIDAsIDQxMjAzLCAwLCAxMzExMCwgNDE3MjYsIDAsIDAsIDEwMDAsIDY5NjUxLCAwLCAKLSAgICA0MTE0MCwgMTIwOSwgNzM5NzgsIDAsIDczNzUwLCAxMDczLCA2MzIxLCA3Nzg3OCwgNDExMzgsIDAsIDY4MjEzLCAwLCAKLSAgICAxMjE2NywgMTExNSwgNDE2MDUsIDk3OTQsIDEyNzA2MiwgNjc2NzEsIDU1MjQ4LCAxMjIzNywgNzg3ODcsIDY2MzE0LCAKLSAgICA2NTg3LCA5MjkwLCA3ODc4MiwgNzg3ODMsIDkyMzEsIDc4NzgxLCAyOTU5LCA3OTI2LCAwLCAwLCAwLCA2NDM5OCwgMCwgCi0gICAgMTE5OTcwLCAxMjMxMSwgMCwgNzg3OTYsIDc4Nzk4LCA3ODc5NCwgNzg3OTUsIDY4NDM0LCA3ODc5MywgNjY2NzAsIDAsIDAsIAotICAgIDEyMjkwLCAxMjAxNjksIDAsIDExOTg3MywgNDIxNDIsIDk5NjgsIDgyMDUsIDAsIDUxMzEsIDAsIDk2MjcsIDc4NTM2LCAKLSAgICA3ODU0MiwgNzg1MzUsIDAsIDE5NDQsIDEyNDgsIDEwMTQ4LCAxMjc3NTUsIDExOTk5MCwgMTE5OTkxLCAxMjcwMSwgNzgzNzYsIAotICAgIDExMzA4LCAxMTk5OTUsIDAsIDExOTk5NywgMTE5OTk4LCA2NTMwNSwgNjUxMDAsIDQwMzEsIDQyNzk0LCAxMjAwMDMsIAotICAgIDcwNzUsIDgxNTQsIDExOTk4NSwgMTIwMDA3LCA0MTgxNywgNzM5MzQsIDQyMjc1LCAxMjAwMTEsIDEyMDAxMiwgNzg1MjYsIAotICAgIDEyMDAxNCwgMTIwMDE1LCA2MDQxLCAwLCA0MTg5OSwgMCwgODAwMiwgMCwgNDM2NCwgMCwgMCwgNjQzMzIsIDAsIDc4MTMsIAotICAgIDkwNjQsIDExOTk4NiwgMTAxMjQsIDc1MjYsIDg2MDEsIDcyODEsIDc4NDU1LCA3Mjc5LCAxMjA0MSwgMTQxOCwgMTA4ODUsIAotICAgIDEyNjczLCAwLCAwLCA5NjYwLCAwLCAxMzAxMiwgNDU3MSwgMCwgMCwgMCwgMTIwNzgsIDI5NzAsIDAsIDEwOTMzLCAwLCAKLSAgICA3Nzg3MCwgMCwgMCwgMCwgNDE1OTksIDAsIDEyODgzMSwgMCwgMTI5NTAsIDkyMTYwLCAzNDg2LCAwLCA3ODMxMSwgNDIzOSwgCi0gICAgMCwgMTI3Nzk5LCA2NjUxMSwgMCwgMjYzNywgNjQ2MjksIDg0NjAsIDEyNzA1MywgODQ3NiwgMCwgMCwgMCwgMCwgNjU2NzMsIAotICAgIDEwMTksIDc4NDk1LCA0MTQ4LCAwLCAxMjI4OSwgMCwgNDMxNiwgMCwgMTMxMTksIDAsIDU0MTIsIDY2MjQzLCA5OTM1LCAwLCAKLSAgICA3Mzg2NCwgMCwgNDE3MzQsIDgyMDYsIDc0MDgxLCA5MTYzLCAzMjg2LCA5MDcyLCA1ODY3LCAxMzMwMiwgNzYyMiwgNzEyMCwgCi0gICAgNDE3MzYsIDkyNTQ2LCA0MTczMSwgMCwgNzQwMCwgNTQxNiwgNjg2NjMsIDExODkyNCwgMTA4MTcsIDAsIDQxNTM5LCAKLSAgICAxMjcyODQsIDAsIDczOTYzLCA0MTg1NSwgNDE4NjcsIDY1NTY0LCAxMTI3NywgNjU4OTIsIDExNTM2LCAxMDYyMCwgOTIyNzIsIAotICAgIDcxMTUsIDY2MDMwLCA3MzkzMiwgNTQ5OCwgNzM5NDIsIDQxNTM2LCAwLCA2ODIwNCwgOTI1ODcsIDM0NTksIDg5OTcsIDAsIAotICAgIDAsIDAsIDAsIDkyNTEyLCAwLCA2NjM3NywgNjk3ODEsIDAsIDAsIDc4NTExLCAzMTYxLCAyOTUsIDEyMDIwNywgMCwgCi0gICAgOTIyMjMsIDEyNzg1NiwgNzg3NDIsIDkwMTYsIDQzNDU0LCA2MzkwMywgNjM5MDIsIDQzNjQxLCAwLCAzOTcxLCAwLCAKLSAgICA3Mzk3MiwgMjk1MiwgNzg3NjUsIDExMDM4LCAxMDkwMSwgNjM5MDAsIDYzODk5LCA2Mzg5OCwgMCwgNjY3LCAxMjMzMiwgCi0gICAgNjM4ODcsIDYwODYsIDQxNzIyLCAwLCA1MTcyLCAwLCAwLCA0MTU5LCAwLCAwLCA5ODE1LCA2Mzg4NCwgMTk5MzQsIDYzODgyLCAKLSAgICA0MTE5OCwgODU1NSwgNjM4NzgsIDYzODc3LCA0MjQ2MCwgNjA1MCwgNDI3MDgsIDYzODgxLCA2Mzg3MiwgMCwgNDI0MjEsIDAsIAotICAgIDQxNzIzLCA2Mzg3NSwgNjM4NzQsIDExNDYwLCA3NDMyLCAxOTEzLCA0MTkxMywgNjM4NTIsIDAsIDAsIDQyMzQ4LCAwLCAKKyAgICAwLCA5ODM2ODYsIDczOTM4LCAwLCAxMjgwMjIsIDQ4MDAsIDY2NjYxLCAwLCA2NjMwNiwgNjQ3MTUsIDc4NTM0LCA5NTE4LCAKKyAgICA2NjA5LCAxMDQzNCwgMCwgMTEzMTksIDEwOTcsIDAsIDkxNzg1MCwgNDE3MzAsIDk4MzIxMiwgMCwgNzM4NDcsIDc4NzYxLCAKKyAgICA2NTE3MiwgNDE3MjgsIDQxNzIxLCAwLCAwLCAwLCA0MTIwMywgOTE3NjEyLCAxMzExMCwgNDE3MjYsIDk4Mzg0NiwgMCwgCisgICAgMTAwMCwgNjk2NTEsIDAsIDQxMTQwLCAxMjA5LCA3Mzk3OCwgMCwgNzM3NTAsIDEwNzMsIDYzMjEsIDc3ODc4LCA0MTEzOCwgCisgICAgMCwgNjgyMTMsIDAsIDEyMTY3LCAxMTE1LCA0MTYwNSwgOTc5NCwgMTI3MDYyLCA2NzY3MSwgNTUyNDgsIDEyMjM3LCAKKyAgICA3ODc4NywgNjYzMTQsIDY1ODcsIDkyOTAsIDc4NzgyLCA3ODc4MywgOTIzMSwgNzg3ODEsIDI5NTksIDc5MjYsIDAsIDAsIDAsIAorICAgIDY0Mzk4LCAwLCAxMTk5NzAsIDEyMzExLCA5ODM3MTgsIDc4Nzk2LCA3ODc5OCwgNzg3OTQsIDc4Nzk1LCA2ODQzNCwgCisgICAgNzg3OTMsIDY2NjcwLCAwLCAwLCAxMjI5MCwgMTIwMTY5LCAwLCAxMTk4NzMsIDQyMTQyLCA5OTY4LCA4MjA1LCAwLCA1MTMxLCAKKyAgICAwLCA5NjI3LCA3ODUzNiwgNzg1NDIsIDc4NTM1LCA5ODMyMTAsIDE5NDQsIDEyNDgsIDEwMTQ4LCAxMjc3NTUsIDExOTk5MCwgCisgICAgMTE5OTkxLCAxMjcwMSwgNzgzNzYsIDExMzA4LCAxMTk5OTUsIDAsIDExOTk5NywgMTE5OTk4LCA2NTMwNSwgNjUxMDAsIAorICAgIDQwMzEsIDQyNzk0LCAxMjAwMDMsIDcwNzUsIDgxNTQsIDExOTk4NSwgMTIwMDA3LCA0MTgxNywgNzM5MzQsIDQyMjc1LCAKKyAgICAxMjAwMTEsIDEyMDAxMiwgNzg1MjYsIDEyMDAxNCwgMTIwMDE1LCA2MDQxLCAwLCA0MTg5OSwgMCwgODAwMiwgMCwgNDM2NCwgCisgICAgMCwgMCwgNjQzMzIsIDAsIDc4MTMsIDkwNjQsIDExOTk4NiwgMTAxMjQsIDc1MjYsIDg2MDEsIDcyODEsIDc4NDU1LCA3Mjc5LCAKKyAgICAxMjA0MSwgMTQxOCwgMTA4ODUsIDEyNjczLCAwLCAwLCA5NjYwLCA5ODMyNzIsIDEzMDEyLCA0NTcxLCAwLCAwLCAxMjAxNjQsIAorICAgIDEyMDc4LCAyOTcwLCAwLCAxMDkzMywgMCwgNzc4NzAsIDAsIDEyNzAxNSwgMCwgNDE1OTksIDAsIDEyODgzMSwgMCwgCisgICAgMTI5NTAsIDkyMTYwLCAzNDg2LCAwLCA3ODMxMSwgNDIzOSwgMCwgMTI3Nzk5LCA2NjUxMSwgMCwgMjYzNywgNjQ2MjksIAorICAgIDg0NjAsIDEyNzA1MywgODQ3NiwgOTgzOTY2LCAwLCAwLCAwLCA2NTY3MywgMTAxOSwgNzg0OTUsIDQxNDgsIDAsIDEyMjg5LCAKKyAgICAwLCA0MzE2LCAwLCAxMzExOSwgODQ4OCwgNTQxMiwgNjYyNDMsIDk5MzUsIDAsIDczODY0LCA5ODMyMDEsIDQxNzM0LCAKKyAgICA4MjA2LCA3NDA4MSwgOTE2MywgMzI4NiwgOTA3MiwgNTg2NywgMTMzMDIsIDc2MjIsIDcxMjAsIDQxNzM2LCA5MjU0NiwgCisgICAgNDE3MzEsIDAsIDc0MDAsIDU0MTYsIDY4NjYzLCAxMTg5MjQsIDEwODE3LCAwLCA0MTUzOSwgMTI3Mjg0LCAwLCA3Mzk2MywgCisgICAgNDE4NTUsIDQxODY3LCA2NTU2NCwgMTEyNzcsIDY1ODkyLCAxMTUzNiwgMTA2MjAsIDkyMjcyLCA3MTE1LCA2NjAzMCwgCisgICAgNzM5MzIsIDU0OTgsIDczOTQyLCA0MTUzNiwgMCwgNjgyMDQsIDkyNTg3LCAzNDU5LCA4OTk3LCAwLCAwLCAwLCAwLCAKKyAgICA5MjUxMiwgMCwgNjYzNzcsIDY5NzgxLCAwLCA5ODM2OTAsIDc4NTExLCAzMTYxLCAyOTUsIDEyMDIwNywgMCwgOTIyMjMsIAorICAgIDEyNzg1NiwgNzg3NDIsIDkwMTYsIDQzNDU0LCA2MzkwMywgNjM5MDIsIDQzNjQxLCAwLCAzOTcxLCAwLCA3MDA2MywgMjk1MiwgCisgICAgNzg3NjUsIDExMDM4LCAxMDkwMSwgNjM5MDAsIDYzODk5LCA2Mzg5OCwgOTQwNDMsIDY2NywgMTIzMzIsIDYzODg3LCA2MDg2LCAKKyAgICA0MTcyMiwgMCwgNTE3MiwgMCwgMCwgNDE1OSwgMCwgMCwgOTgxNSwgNjM4ODQsIDE5OTM0LCA2Mzg4MiwgNDExOTgsIDg1NTUsIAorICAgIDYzODc4LCA2Mzg3NywgNDI0NjAsIDYwNTAsIDQyNzA4LCA2Mzg4MSwgNjM4NzIsIDAsIDQyNDIxLCAwLCA0MTcyMywgCisgICAgNjM4NzUsIDYzODc0LCAxMTQ2MCwgNzQzMiwgMTkxMywgNDE5MTMsIDYzODUyLCAxMjY2MzYsIDAsIDQyMzQ4LCA3Mzg5MiwgCiAgICAgNjc1MiwgNDQ2LCA0MTkxMSwgMTI3OTA2LCA2Mzg1MSwgNjM4NTAsIDQxOTEwLCAwLCA2Mzg0NiwgMjk3MiwgMTI5MzIsIAogICAgIDcyNjIsIDAsIDYzODQ5LCA2Mzg0OCwgNjM4NDcsIDEyODA3MCwgNjU3MCwgODMwMiwgNzI1OSwgNjM4NDIsIDQxNzgsIAogICAgIDEwNzQ2LCA3MjUwLCAxMzIxNCwgMTAwNDEsIDgxMDUsIDYzODkyLCAwLCAxMTg5ODMsIDExMDUsIDQxODAsIDAsIDEyMDk0LCAKICAgICA5NDk3LCAwLCA2Mzg5MSwgNjM4OTAsIDYzODg5LCA2Mzg4OCwgNTUzOCwgOTk4NywgMCwgMTE4OTMyLCAxNjc4LCAxMzI3NCwgCiAgICAgNTUyLCAxMjA2NTQsIDQ0MDEwLCAxMDc4NSwgMCwgMTE5MTcwLCA0NTU3LCA3NDQ1OSwgOTE1OSwgMTAxNzEsIDEzMTI1LCAKICAgICA2Mzg2MCwgNTU0MCwgNjM4NTgsIDYzODY1LCAyODEsIDEzMjQyLCA2Mzg2MiwgNzQxNTQsIDAsIDU1MzYsIDY1NTY4LCAKLSAgICA2Mzg1NywgMTM4OCwgNzQxNjksIDAsIDEwNzcsIDAsIDY1MDk5LCAxMTUzMSwgNTgzNCwgMCwgMCwgMCwgMCwgNDI3NzMsIDAsIAotICAgIDAsIDAsIDExOTIyMCwgMCwgMzY2MywgMCwgMTExMiwgMTE5MTIyLCA4Njg2LCAwLCA1MzM0LCA2NTA4MSwgNDMyNDksIAotICAgIDc0Nzc4LCAxMjc5NjgsIDExMDc3LCAwLCA2NTA5LCAwLCA1MzI3LCAwLCAxOTkwNywgNjM4NjksIDM0NzgsIDc1ODMsIAotICAgIDc2NzksIDI5MDMsIDAsIDMwMDEsIDExNTgsIDg3NDUsIDAsIDczNzQ4LCA2Mzg2NiwgMCwgMTkxNSwgNDg0NiwgMCwgCi0gICAgNjYzNzEsIDExODk4NCwgNDIxMDUsIDI5OTAsIDEyMDEyOCwgODA1LCA2OTIzOCwgNjQ0MzgsIDEyMDcwLCA4NzYwLCAxMTE3LCAKLSAgICAxMTg5ODcsIDEyMjEyLCAxMjAxMjMsIDY1MTc0LCA0MjM1NywgNjM4MzUsIDYzODM0LCAwLCA3ODI0MCwgMTIyMjUsIAotICAgIDYzODM4LCA2MzgzNywgMCwgMCwgNjM4MzMsIDYwNDIsIDY2MzYwLCA4MDgzLCAwLCAwLCA2MzgyMSwgNjM4MjAsIDYzODE5LCAKLSAgICA2MzgxOCwgMCwgNTIyNywgOTA0NywgNjM4MjIsIDEyNzE2MiwgNjA5MSwgMCwgMTA2OTEsIDU2MCwgNTY0MywgODIyNiwgCi0gICAgMTE5NTc4LCA2MzgxMiwgNjM4MTEsIDYzODEwLCA2MzgwOSwgNTU0MiwgNjM4MTUsIDYzODE0LCA2MzgxMywgNjA0NywgCi0gICAgMTU5NywgMTIwMTQzLCA3ODAsIDIwNiwgNzc5MjUsIDQ5MzYsIDY1MTQ3LCA4MTY4LCA2MzkzMCwgMjA3NiwgMTA5MywgCi0gICAgOTg4MiwgNjM5MzQsIDIwODIsIDYzOTMyLCAxMjgxNTAsIDYzOTI5LCAzNTQ2LCAxNjA1LCA3NzkzNCwgOTgwNiwgNDM0NzIsIAotICAgIDc3OTMzLCA4NDAwLCAxMTM0MywgMjA4NiwgMCwgNjM5MjYsIDI5ODQsIDU5NjgsIDkyODcsIDAsIDQ2MTgsIDQyMjA5LCAKLSAgICA0MzQzMSwgMTMxNjksIDUyOTAsIDIwODksIDE2OTUsIDEwNzQzLCAxMDg4LCA2MzgyNSwgNzI2OCwgMTA4NCwgMTA4NSwgCi0gICAgNjM4MjksIDEwODMsIDEwMTMxLCA3MjgzLCAwLCA2Mzk3MCwgMTI4MzU4LCAxMDkyLCA0NzU0LCA3MjczLCA1MjUyLCAKLSAgICA0NDAxNiwgNDM2MjcsIDEyNzkyMSwgMCwgNzQwOCwgMTE4MDksIDAsIDAsIDAsIDI5NjUsIDcyNTgsIDg4MDgsIDAsIDEwODksIAotICAgIDQxODcsIDYzOTM3LCA0MjExOSwgNDIxMjAsIDAsIDk0MCwgNTc4NywgMTAwOTksIDYzOTM4LCAwLCA3NDQ5NCwgMTI0NjMsIAotICAgIDI5OTQsIDAsIDExODgyNywgMCwgOTY2NCwgNzc5MzksIDc3OTQwLCA2Nzg5MiwgNzc5MzgsIDc0MzQzLCAwLCAwLCA2NjAsIAotICAgIDEwMTI3LCA2NjYsIDkwMjIsIDU1MzIsIDQzNjY3LCA1NTMzLCA3Nzk0MSwgNzg1MDcsIDYxMTgsIDIyMiwgOTc5LCAzODg0LCAKLSAgICAwLCA3NDE1MSwgOTI2NTIsIDY1MDIsIDAsIDEyNzExOCwgMTI4Njk1LCA2Mzk1MSwgMTI0NjUsIDAsIDAsIDEyODc4MiwgCi0gICAgNjM5NDYsIDE3MDcsIDYzOTI0LCAxMjQ2MSwgNjM5NTAsIDYzODk3LCA2Mzk0OCwgNjM5NDcsIDYzOTQ1LCA2MDM4LCAKLSAgICA2Mzk0MywgNjM5NDIsIDY0Njg1LCA2Mzg5NSwgNjU4MzgsIDAsIDc3NzYsIDAsIDAsIDEyNzc3MywgMTIwNDQ0LCA2OTczMCwgCi0gICAgODAxLCA0MzE2NSwgMTY5MCwgNjM5MTksIDYzOTE4LCA2MzkxNywgMTMyNzcsIDQzNjU5LCAxMjk1MSwgMTIwNjM4LCA5OTA2LCAKLSAgICAyMDU0LCAyMzM0LCA3ODUxNSwgNjM5MTYsIDU0ODMsIDYzOTE0LCA2OTczNywgNjM5MTEsIDU0ODQsIDYzOTA5LCA2MzkwOCwgCi0gICAgMjUzOSwgMCwgNDM5ODAsIDU0ODUsIDAsIDQyNjk3LCA5MDYxLCA1NTM0LCAxMDY3MiwgNDUwMiwgMCwgMjUzLCAwLCAKLSAgICA2ODIwOCwgMCwgOTIwMywgNzQyMzEsIDAsIDExNTMwLCA5MjU0MiwgNjg2NjgsIDAsIDEyODgxNiwgMCwgMTA0NzQsIAotICAgIDQzNDI2LCAxMzI1NywgNDIzNTQsIDAsIDAsIDAsIDE5NTA2NSwgMCwgODQxMywgMCwgMCwgNTY5MywgNzI3MiwgMCwgCi0gICAgMTMyMDksIDY0NDcwLCA2NTgzMSwgNzg0NjAsIDE5NTA2MywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTI4MTMzLCAxMjc3NjcsIAotICAgIDY2NjA4LCAzMTExLCA0MTg2MywgODgwNCwgNDI5MTMsIDkyMTg3LCA3MjcwLCAwLCA2NjYwNiwgNjYyOCwgMTA3NiwgNzQzMywgCi0gICAgMTQzNiwgNzM4NDQsIDU1MjI2LCAxMjgzNTMsIDYzOTgyLCA3MzkzLCAxMjgwNywgNDM0MTMsIDYzOTA2LCAxNTk4LCAKLSAgICA2MzkwNCwgMCwgMCwgNDE3MjksIDQ0MjMsIDEzMDcsIDAsIDEwNTE1LCA0MTU4OSwgMTI4Njk4LCAwLCA2MjE4LCAwLCAKLSAgICAxNDMwLCAwLCAwLCAxMjA2MDYsIDc4NzU0LCA1NDEzLCA3NjE5LCAzMjU1LCAzNDkzLCA3NDAzMiwgMTE1NDksIDEwNzM1LCAKLSAgICA0MTc0MywgNzM5MzcsIDY4MDEsIDAsIDQ1MTgsIDEwOTkwLCA2NTA3MywgNTE2NywgNDQ4MSwgMzc3MSwgMCwgMjcxMCwgMCwgCi0gICAgNjkyNDMsIDQxNzI0LCAwLCA0MzA3MywgNDE2OTAsIDEyNDc5LCAwLCAwLCAwLCAwLCAxMTk2NTksIDE2MjgsIDEyNzE0OSwgCi0gICAgMCwgMCwgNjUyNjIsIDYzMzMsIDEwNzgzLCA0MjMxNSwgMCwgNjM4NTUsIDEyMDY4MywgMCwgMCwgNTMzOSwgNzQzMjMsIDAsIAotICAgIDEzMDA0LCAwLCA0NDU3LCAwLCAwLCAwLCAwLCA1Njg0LCA4Njc4LCAxMDkxNCwgMCwgNTY4OSwgNjU4MDcsIDAsIDY4NDY0LCAKLSAgICAxMjYzMywgMTI4NzAsIDY5NzA1LCA2NTE4MywgNTY4OCwgMTE5MjYsIDYwMzMsIDYzMTAsIDU2ODYsIDAsIDc0MjUxLCAwLCAKLSAgICAxMjA2NDcsIDAsIDUwLCAxMDU1OCwgOTg3MSwgMCwgNDM2NTUsIDAsIDAsIDAsIDY2NDY4LCAwLCAxMzI1OSwgNDQ0OCwgMCwgCi0gICAgMCwgMCwgMCwgNjc4NTMsIDAsIDEwNjQwLCAxMTUzOSwgMTE1MSwgMCwgOTE3NjA3LCAxMjc1NDQsIDEyNzA3OSwgMTk1MDUwLCAKLSAgICAxMjc4NTIsIDAsIDAsIDAsIDEyNTAxLCA2NDYwNCwgMCwgMTE1MjcsIDExODg3MCwgODgxMiwgMCwgMTE1MzgsIDg2NzMsIAotICAgIDEyNjUwLCAxMTAyMCwgMCwgNjY0NjcsIDIxMDUsIDgwODcsIDc4MTYzLCA2OTYzMiwgOTg5NCwgMCwgMCwgMCwgNDYzNiwgCi0gICAgNTUyNjIsIDc4NTEzLCA0NTE1LCAyMzgyLCAwLCAxMjcwNTUsIDAsIDEyMDQ5NSwgMCwgMTI4Mjg0LCAxMjI3NywgMTk0NjI3LCAKLSAgICAxMTk5NSwgOTI1NTMsIDAsIDEyMTU4LCAwLCA4NzQxLCAxMDE5NywgMCwgOTI0MjYsIDAsIDY1MzEsIDAsIDEyNzg0NiwgCi0gICAgNDczLCA0MzQxNSwgMCwgMCwgMTg3MywgMTA4NywgMCwgMCwgMCwgNzg1MjcsIDY2NDM5LCA0MzIxOCwgMCwgMTk0NzE2LCAKLSAgICA3MjM3LCAxMjUwNCwgNzQyODIsIDAsIDAsIDAsIDk0ODksIDAsIDAsIDQzODQsIDc0MjIwLCAxOTUwNTUsIDIwNTgsIAotICAgIDEyODg2MywgMTMyOTUsIDQzMTkxLCAxMjgwMzAsIDAsIDExNTQsIDM4NTcsIDEyMDUsIDAsIDAsIDEzMTAwLCAxMjk1OCwgCi0gICAgMTIwNzA2LCA3NDE2OCwgMCwgMCwgNDQyMSwgMTA1OTIsIDAsIDQ5NSwgMCwgNDE3MTIsIDc5ODMsIDAsIDEyMDc3OSwgMCwgCi0gICAgNjM0NywgMCwgNzY1NCwgNDE3MTAsIDQxOTYsIDAsIDQzNywgNDE3MDksIDczNzcyLCAwLCAwLCA5NDY1LCAxMzI5MCwgCi0gICAgMTE5MTgwLCA0OTk3LCA2NDMwNiwgMCwgMCwgNDk5OSwgMTk0NjQyLCAwLCAwLCA0NzExLCAxMjA3NjksIDAsIDI3MzksIDAsIAotICAgIDgwNDQsIDc0ODM0LCAxOTQ2NDMsIDQxNzg5LCAxMjgxNDIsIDEwODA5LCAwLCAwLCAwLCAxNzc5LCA2NjAwLCA2NjAxLCAKLSAgICA0MTU0MywgNTMyNSwgNjQyLCA2NDE4NywgMTMwNTgsIDEyMDQ0OSwgMTI4NzUsIDAsIDkyMTg2LCAxMzIyOSwgMCwgMTA1NzUsIAotICAgIDQzMzk5LCAwLCAwLCA0MTc5MSwgMTEwNCwgMCwgMCwgMTA2NTUsIDAsIDAsIDAsIDAsIDEwODIsIDE5NTA0OSwgODQyOCwgCi0gICAgNjU2OSwgMCwgMCwgMCwgMCwgNjc4MywgMCwgMTI5OTMsIDgwNDksIDQxNTQ4LCA0NDAyMSwgNjQ1OCwgMCwgMTI4ODgyLCAKLSAgICA0NzYxLCA2MzgyOCwgNDc2NiwgNjQ2MjMsIDEyNzMsIDQzNDA3LCAwLCAxMTg4NzYsIDE5NTA0NSwgNjkxMiwgMTMxMywgCi0gICAgNjMyMiwgMTA0ODMsIDAsIDQxNTQ1LCAwLCA5MjQ0OSwgMCwgMCwgMCwgMCwgNzg2MjQsIDM0ODQsIDc0MzM3LCAwLCAwLCAKLSAgICA4NTAzLCA1MTIyLCA0MTUyNywgMCwgNjYzMjAsIDAsIDAsIDAsIDAsIDQxNTM3LCA2OTY4MywgODMwMywgODI4MiwgMTE4MTcsIAotICAgIDczODU3LCAxMDAwMywgNzM4NTksIDY1OTA0LCAxOTQ2NjMsIDE2ODYsIDAsIDc4NDA2LCAxMTQ2NywgMzY2NCwgNjU5MjEsIAotICAgIDY0Mjk5LCAxOTQ2NjQsIDAsIDAsIDQzMjQsIDEyNiwgNDIyNDYsIDExOTE1MiwgMCwgNzQzNzgsIDY1OTI2LCA3NzQ0LCAKLSAgICAxOTQ2MzYsIDc0Mjc3LCA3NDMwMiwgNzgwNTIsIDQzODE3LCA2OTY2LCA0MzgyMiwgODEzNiwgMCwgNjU2MDAsIDE2MzMsIDAsIAotICAgIDAsIDQ3NjIsIDExMDMsIDAsIDAsIDQ3NjUsIDAsIDEzMDc4LCAwLCA0NzYwLCA2MzgyNywgMjA1MCwgMTA4NzEsIDQzMTk5LCAKLSAgICAxMTAyLCAwLCA0MjIzNiwgMTI4ODY3LCAxOTQ2NjcsIDExNTQ2LCA3NDc5NCwgMzM3LCAwLCA0MjU5MSwgODYyNywgMTIyNzksIAotICAgIDExMTEsIDAsIDkyMTYxLCA0NzA3LCA2ODIwNiwgMTAxNDMsIDc4ODMsIDEyNzA4MSwgNzg4MCwgNDUyMiwgODY0NSwgNTcwNCwgCi0gICAgMTMwMTAsIDAsIDgzMDQsIDkxNzU2MSwgMCwgMTE5NTc1LCAwLCAwLCA2NjY1NCwgMCwgOTI2NzYsIDAsIDEzMDA4LCAwLCAKLSAgICA0Mzg1LCAwLCAxMzAxMSwgMCwgOTI1NjksIDExOTE2MSwgMTMwMDksIDE2MCwgMjY3NywgMCwgMCwgNDE3OTMsIDY1NzYzLCAKLSAgICA3NDIyMSwgMTIwMTQxLCA0MTc5MiwgNDI3NzAsIDAsIDY1NzYyLCAxMTg4MjksIDQzODIxLCA1NzA5LCAwLCAxMjcxNzcsIAotICAgIDQzODE2LCAwLCAwLCAxMDc5LCAzODY3LCA1NzA4LCAwLCAwLCA0Mzc5NywgNTcwNiwgNjQ3NjgsIDU3MDUsIDg3OTEsIAotICAgIDQwMDUsIDAsIDEwMjM3LCAxMDk5MSwgMCwgNDM0NTksIDkxNzMsIDkxNzU4MSwgOTE3NTgwLCAxMzE3MCwgMTI1NDAsIAotICAgIDkxNzU3NywgNDI2MDUsIDEyMDc2NSwgOTE3NTcwLCA2ODY0NywgOTE3NTcyLCAxMDA1OCwgMCwgNzQ4NjcsIDE5NDY1NCwgCi0gICAgMTI3MDc4LCAzMzM5LCAxMTQ0OCwgMTEwNiwgOTE3NTkxLCA5MTc1OTAsIDkxNzU5MywgMzM0MCwgOTE3NTg3LCA5MTc1ODYsIAotICAgIDkxNzU4OSwgOTE3NTg4LCAxMjA1NDEsIDEwNjA1LCAxMzA5LCA2Mzk2NiwgMTIwNzQzLCAxNzU0LCA5MjIyNiwgMTMyNDYsIAotICAgIDg2NCwgMCwgMTE4OTI2LCA4OTcyLCAwLCA3ODQ5LCAxMjAwOTIsIDkyNTMzLCAxMzI0MCwgMTk1MDY4LCA1MTkyLCA0MzM4LCAKLSAgICAwLCAxMDk0OCwgOTE3NjAxLCAxMzE5OSwgOTI1NzUsIDEyMzYsIDEzMjA4LCAxMzI2MSwgMTMxODksIDEzMTg4LCAxMjAxNjQsIAotICAgIDAsIDc0NDAsIDAsIDEyMDE1MywgOTU1MywgMTU5MCwgNjM3NzcsIDYzNzc2LCAxMzE3OCwgNjM3ODIsIDYzNzgxLCA2Mzc4MCwgCi0gICAgNjM3NzksIDE1ODMsIDAsIDEzMjYwLCA0NTUwLCAwLCA2NDIwNSwgMCwgMCwgNDE1MjIsIDAsIDkyMTY4LCAwLCA5MTc4NTgsIAotICAgIDExMzU0LCAwLCAwLCA0Mjc5NSwgMCwgMTE5MTk1LCAxMTM5NCwgMTk0NjQ2LCAxMzIzNiwgMTMyNzIsIDEzMTk0LCAxMzM0LCAKLSAgICAwLCA0NDc5LCAxMTc4LCA2NTU4NiwgMTIwNjYzLCA2NjY4MSwgMTE5MTkzLCA0NjAxLCAwLCAwLCAwLCAwLCAwLCAxOTQ2NTgsIAotICAgIDAsIDY4MDksIDYzNzg2LCA2MDMxLCAwLCA2Mzc5MSwgNjM3OTAsIDExNDUsIDYzNzg4LCA3OTEwLCA2Mzc4NSwgNDMxNTMsIAotICAgIDc1NCwgMTAxOTIsIDEzMTA1LCA4MTgzLCAxMjA3NDEsIDIwMzcsIDAsIDAsIDEwNzQ3LCAxMjUsIDAsIDY0ODkwLCAwLCAwLCAKLSAgICAwLCA0MTcxOSwgNjM3NTgsIDM1MjMsIDEwNzQsIDEzMjU4LCA5NTM2LCA3NDA3NywgMCwgNDQyNywgNzQyNDIsIDYzNzU3LCAKLSAgICA0MzE0NSwgMTIyMTcsIDYzNzU0LCA0MTUzMiwgMTM0OSwgNjM3NTAsIDYzNzQ5LCAwLCAwLCAwLCA2Mzc1MywgNjM4MDIsIAotICAgIDQxMDg0LCAxMjA2MjIsIDY4MTMzLCA0MTkzMCwgNjM4MDUsIDYzODA0LCA0MzYzMiwgNjM4MDEsIDQxMDgyLCA4MTQwLCAKLSAgICA2Mzc5OCwgNjI2MCwgMCwgMCwgMTE5MjI1LCA2Mzc5MywgMTE5ODgsIDM4OTgsIDEyODI0MSwgMTAyMDEsIDEyMjM4LCAKLSAgICA2Mzc5NSwgNDIxOTQsIDEwMzY3LCAxMjUyMSwgMTA0MzEsIDQyMTE0LCA0MTkzMiwgMTA2OCwgMCwgMTI1MjMsIDEyOTQ1LCAKLSAgICAwLCA0MjIwMywgNzk1MCwgMTA4MDQsIDYzNzcxLCA0Mjc4NywgNDM4NiwgMTIyMjQsIDY5NzMsIDI3OTMsIDEyNDc1LCAwLCAKLSAgICAwLCA2Mzc2OSwgOTUzMCwgMCwgMTIyMzIsIDEzMTM1LCA4NTk2LCA1NjgxLCA2Mzc2MiwgNDU5NSwgNjM3NjAsIDc5MiwgMCwgCi0gICAgNjQ4MDMsIDAsIDg3NDIsIDAsIDExMDUzLCAxMjg3OTYsIDYzNzQ0LCAxMjgxMDcsIDAsIDc1ODgsIDYzNzQ4LCAxNjkzLCAKLSAgICA2Mzc0NiwgNDMyMDQsIDUwNTUsIDY4NDI2LCA5MTc4NTMsIDEwOTAsIDEyMDY3OSwgMTI4MzU2LCAxMTY2NSwgNzQxMzMsIAotICAgIDQ1NTgsIDY1Njg1LCA5NTIzLCAwLCAwLCA3ODY4MSwgMTE1MTMsIDAsIDYxNTcsIDYzNzc1LCA2Mzc3NCwgNjM3NzMsIAotICAgIDEzMTkxLCAxMjE3MCwgMzUwMCwgMzEzOSwgMCwgMzE3MCwgMTI0ODUsIDAsIDEwODcyLCA3ODI3MSwgMTMwMDYsIDY0NDMzLCAKLSAgICAwLCAwLCA5NDEsIDAsIDAsIDAsIDY1NTQxLCAxMTA2MywgMCwgODIyOCwgMCwgNDIwNjUsIDAsIDAsIDAsIDAsIDkyNDU1LCAKLSAgICA3Mzg2LCAwLCA2NDQ0NCwgMCwgMTE5ODYzLCA0MzYwMywgMCwgNjUzOTcsIDI4OCwgMCwgMCwgMCwgMTAwMjUsIDkxNzkxNiwgCi0gICAgMjkxOCwgMCwgNjUzMDAsIDExOTg3MSwgOTg4MywgNjQ3MjYsIDI3OTAsIDY1Mzk1LCAzNzkzLCAwLCAxMjc4MjksIDY1MzkzLCAKLSAgICAwLCA3NDEzOCwgMCwgMCwgMCwgNzQxMzksIDkyNzEyLCA2NTM5NCwgMTE1NDgsIDUyNzAsIDAsIDY1Mzk2LCAwLCA2NTgxMywgCi0gICAgMTMyNTYsIDEyODIsIDEyMDc3MSwgMCwgMCwgMTA4ODgsIDAsIDY1MjQyLCAwLCAzMzMwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICA3NDI1OSwgMzMwNCwgNDI3NTMsIDAsIDAsIDAsIDE2MjcsIDAsIDAsIDAsIDUzNzEsIDEzMTE2LCAwLCAxODI2LCAxMTg3OTQsIAotICAgIDAsIDQzMDk0LCAwLCA0MzY1MCwgMCwgMCwgOTAzNSwgMCwgMCwgMTI4MDA1LCAwLCA5MjIwNywgNjgxMjUsIDAsIDE2NCwgMCwgCi0gICAgMCwgMCwgNjk1OCwgMCwgNDMxMTYsIDAsIDAsIDEzMjQ1LCAwLCAwLCAxMjczNzYsIDAsIDczODkzLCAxMjc3NTYsIDEyNjY2LCAKLSAgICAxMzE3NSwgMTMyMDcsIDEyMDQxNCwgNjYwMTQsIDEyMDQyOCwgNzQ0NywgNTkyOSwgMCwgNjU1MDksIDAsIDc0NDksIAotICAgIDExMzA2LCAwLCA3MzkyMCwgMzE4MCwgMCwgNjM4MDgsIDkwNTQsIDk3MSwgMTMwNjIsIDAsIDAsIDY1MTk1LCAxMDE2NCwgCi0gICAgOTIyNTIsIDc0NDI4LCAwLCA3ODE0NiwgOTI2MTEsIDAsIDAsIDAsIDEwMDQ1LCAxMjg4MiwgMTMyNzUsIDEyODE2MSwgCi0gICAgMTEwNTcsIDAsIDEzMjc2LCAwLCA0MTUyNSwgNzgxNTAsIDcyNzEsIDExNDQ0LCAwLCAwLCAwLCAxMjIyOSwgNDE1MjMsIDAsIAotICAgIDQzNDExLCA3Mzc1MSwgMCwgNjQ4MTMsIDAsIDAsIDEwNDc2LCAzODU4LCAwLCAzOTMyLCA2NDk1OCwgMCwgMCwgNzM5ODksIAotICAgIDY4MTkyLCAwLCAwLCAzNjksIDAsIDQxNzg0LCAwLCA2NDE2MywgMCwgMCwgMCwgNjU0NzQsIDQ3OTYsIDEyMjkyLCAwLCAKLSAgICA2NTQ3OSwgMCwgNDE3ODEsIDEwNDg2LCA0MTQ4MCwgNDMwMDIsIDk4OTksIDAsIDAsIDQwNCwgMTI4MjEsIDM3NDEsIDAsIAotICAgIDU3ODgsIDgwOTIsIDY4MjEyLCA0MTIyMiwgMTgzMSwgNjYwMjAsIDM5ODIsIDAsIDQzODgsIDAsIDc0NiwgMTIwNzg0LCAwLCAKLSAgICAwLCAxMjAxOCwgNjUyOTQsIDAsIDAsIDAsIDAsIDQ0MjIsIDQ3MDgsIDM3OTksIDc0MjkyLCAxMTkzNTcsIDAsIDc0NDMwLCAKLSAgICAwLCAxMTcwMCwgNDM3NCwgMCwgMTI4MTc5LCAxMzY0LCAwLCA4MDM4LCAwLCA5MTc1OTcsIDEyODY4LCA2OTgxNCwgMCwgCi0gICAgNjczNSwgNzM5NzksIDEzMTc0LCA3Mzk2OCwgMTMyMjUsIDAsIDY5ODA4LCA2NTgzNSwgMCwgMjM2NSwgNzg0MSwgMCwgCi0gICAgNDI4NTUsIDExODg1NiwgNDI4NjYsIDAsIDAsIDAsIDY2NDM4LCA0MTc4NSwgMTI2MTcsIDY0MTcyLCAxMzE3MywgNDM3MiwgCi0gICAgMTE5MzU0LCAwLCAwLCAwLCAwLCA5MjQwMiwgMTI4MDYyLCAxMjk2NSwgMzg0LCA2NDUxMiwgMTA0MDQsIDEwMzQwLCAKLSAgICAxMTkzNTIsIDE1NTYsIDUyNzQsIDEzMjEwLCAxMjAxMjUsIDEwMDE3LCA5NzMzLCA0MTc4NywgMCwgMTI2OTk0LCA0MTM3MywgCi0gICAgNzgwMzksIDEyMzAzLCAwLCAxMzIzMiwgMTMyMzMsIDM0OSwgNDg2MywgNDEzNzEsIDExNjU2LCAwLCAxMjA3MDMsIAotICAgIDExOTg4MywgMTI4NjEsIDQzOTgsIDg1NDMsIDY1NjE4LCAxMjgwMTgsIDEwOTYsIDAsIDAsIDQyNjg4LCAxMjQ0MSwgCi0gICAgMTIzNTUsIDExOTM0OCwgMTE5MzQ3LCA0MzE4LCAxMDQ1MiwgMCwgODAzMiwgMTMyNDMsIDEzMjM3LCAxMjcxOSwgMCwgCi0gICAgMTE5MTAxLCAwLCA2NDg4NCwgMTE5ODcyLCAxMTkzNDUsIDg1OTcsIDAsIDAsIDk4NjQsIDAsIDEyMDc4NSwgMTE5ODc0LCAwLCAKLSAgICAxMzE5NSwgNDE0NTIsIDY0OTYxLCA3NzIyLCAwLCAxMDQ1OSwgMTE5ODc4LCAwLCAxMTk4NzksIDY2NTkwLCAxMjgxMjMsIAotICAgIDQxNTMzLCA2NjMzNywgMCwgOTIxODQsIDAsIDQ5NjUsIDQzNDQ1LCA5MTc1MzYsIDczODQ5LCAwLCA0MzYzOCwgNzg1MzcsIAotICAgIDEyODI4NywgNjI2MSwgMTE5MzQyLCA0MzE0NywgNjY1NzAsIDE5NTcsIDEwNDIwLCA5ODIsIDI3NTYsIDEzMjkyLCAxMzIwNiwgCi0gICAgMTI4ODI4LCAwLCAyOTI1LCA3MzgwOSwgMTMwNTYsIDEyNzU1OSwgMTMyMTIsIDQzMjM4LCAwLCAxMzE5MCwgMTMxODcsIAotICAgIDkyNTQxLCAxMzE5OCwgMTE4NzkzLCAwLCA1MjQyLCAxMTkxNzksIDY0NDc2LCAxNjk0LCA4MjE2LCAwLCA2NzcwLCA0MzMzMSwgCi0gICAgMCwgNjU2MjAsIDAsIDQzNTQ0LCAwLCAwLCA0MTQ0NCwgNjU2MjEsIDEyMDMyNSwgOTE5NywgNTI0NiwgMTE5MTA2LCAKLSAgICAxMzE4NSwgOTcwOSwgMTIwMzIzLCAxMjAzMjIsIDEyMzE0LCA2NTYxNiwgNTIzOCwgMTE5MzMzLCAwLCAxMTkzMzcsIDUyMzYsIAotICAgIDQwOTc5LCAwLCA3NDIwMSwgODI4NiwgMCwgMzkzNiwgMTE5MzMxLCAxMTY5OSwgNDEzNDcsIDEyNzI0OSwgMTMyMzUsIAotICAgIDg4NDIsIDQxMjQ4LCAwLCA0Mzc5LCAxMzIzOSwgMTI2OTIsIDc5NjksIDEyNzI2NiwgNzIxOSwgMTI3MjUwLCAwLCAKLSAgICAxMjA1MDksIDAsIDY2MjI0LCA3MzQsIDI5NzksIDEyMDMwMywgNjU2MTksIDk4NzIsIDk1NywgNjQ5MjEsIDE4NDYsIAotICAgIDY2NjMxLCA0MTQ3NywgMTE5MjU2LCAxMjAzMTAsIDc0NTExLCA0MTc3MCwgMTY3MCwgNjQ0MiwgMTIwMzE3LCA0MjQ0NiwgCi0gICAgNTM3OSwgMTIwMzE4LCA0MTE2MywgNzQ4MzIsIDEyMDMxNSwgMTIwMzE0LCAxMjgwMjUsIDAsIDQyODQxLCAxMzI2NywgMCwgCi0gICAgMCwgNDE3NzUsIDAsIDcxMzAsIDQxNzczLCAwLCAxMDY2MywgMCwgMCwgMCwgNjE1MSwgMTIxMTAsIDQyNjczLCA2NTU3MiwgCi0gICAgNjUyOTMsIDY1MjUwLCAxMzI2NSwgMTMyNjQsIDY0NTE4LCAwLCA2MTAwLCAwLCA5MjY0NywgNTgwOCwgNjU5MjIsIDAsIAotICAgIDEyOTY3LCA2NjA0MSwgNTYxMiwgNDU4MywgMCwgMCwgNjgwOTcsIDY0NTc1LCAxMjg1MjQsIDExOTY1LCAwLCA2ODM1OCwgMCwgCi0gICAgNjk3ODksIDAsIDkyMjYwLCA2ODEwMiwgOTY5OCwgNzgxNCwgNzQ0NzYsIDExOTY1MSwgMTI4NTE0LCAwLCA0MTkyMSwgCi0gICAgMTE4ODU4LCA5NzU2LCA2OTg1LCAxMTkyNTgsIDc4NDkwLCA3NDIxOSwgMCwgMCwgMTE4OTk3LCA4MDEyLCA1Njc0LCAKLSAgICAxMjM1MywgMCwgMTIzNjEsIDU2NzcsIDU1ODgsIDAsIDQxOTI1LCAxMjgxMjQsIDQxOTIwLCA1NjczLCAxMjA1MzQsIDU2NzYsIAotICAgIDQxOTIzLCAxMjY5NCwgMTE4OTc4LCA1NjcyLCAxMjk0LCAwLCA3ODA1OSwgMCwgNDI1MTEsIDE3MjcsIDEyMDcyNSwgCi0gICAgNDI0MzYsIDAsIDAsIDAsIDc0MjIyLCA4NzE4LCAzNTUwLCA3MzYsIDEwMjY4LCA0NTA1LCAxMDMxNiwgNzQwOTAsIDU4MjYsIAotICAgIDU1MjMyLCA1ODEzLCAwLCAxMjA3MTIsIDU4NDEsIDU4MzcsIDU1MjM0LCAwLCAzMTA1LCAxMjgyOSwgNTgzOCwgNTc5NiwgMCwgCi0gICAgMTE5NTkyLCA1NzkzLCAwLCA1ODY2LCA1Nzk3LCA0MTAxMSwgNTg2NSwgMTIwMDkxLCA3OTU2LCA1OTgsIDAsIDY0NjQ5LCAKLSAgICA1ODA2LCA0MjM5OCwgMCwgOTAzNywgNTY3MSwgMTIwMDQxLCAwLCAwLCAwLCAxMjg4NTUsIDAsIDg0NywgMTI4MjQyLCAKLSAgICA5NTI5LCAwLCA2NjY1NywgNjk4MCwgMCwgMTIwMDM1LCA3ODQ4NCwgMCwgMCwgMTIwMDMzLCA3ODQ4NiwgMCwgMCwgCi0gICAgMTIwMDM5LCA0MjY4MywgMCwgMCwgNzExNCwgMCwgMCwgNDMxOTAsIDY1NDYzLCAxNTU0LCAwLCA0MjYxMSwgNDI1NjMsIDAsIAotICAgIDU2NTEsIDI5MjksIDY3OTIsIDQzMjAxLCAwLCAxOTk2MywgNTY5OCwgMCwgMCwgMCwgMCwgNTY0NCwgMTAyOTIsIDY1NTQ2LCAKLSAgICA2OTcyNywgNjgxNDEsIDgzNzIsIDAsIDY1MTE2LCAwLCAxMjAwMjIsIDEwMTc1LCAxMDM4OCwgNDI3OTksIDAsIDQxMDEzLCAKLSAgICAxMDU2OCwgMCwgMCwgMjg2OSwgMCwgNDEwMTUsIDE5NDY5MiwgMjc4NSwgNDM2NiwgMCwgMTA5NTQsIDQxODAyLCAwLCAKKyAgICA2Mzg1NywgMTM4OCwgNzQxNjksIDAsIDEwNzcsIDk4MzU3NywgNjUwOTksIDExNTMxLCA1ODM0LCAwLCAwLCAwLCAwLCAKKyAgICA0Mjc3MywgMCwgMCwgMCwgMTE5MjIwLCAwLCAzNjYzLCAwLCAxMTEyLCAxMTkxMjIsIDg2ODYsIDAsIDUzMzQsIDY1MDgxLCAKKyAgICA0MzI0OSwgNzQ3NzgsIDEyNzk2OCwgMTEwNzcsIDAsIDY1MDksIDAsIDUzMjcsIDAsIDE5OTA3LCA2Mzg2OSwgMzQ3OCwgCisgICAgNzU4MywgNzY3OSwgMjkwMywgMCwgMzAwMSwgMTE1OCwgODc0NSwgNDM3NDYsIDczNzQ4LCA2Mzg2NiwgNzg2MjYsIDE5MTUsIAorICAgIDQ4NDYsIDAsIDY2MzcxLCAxMTg5ODQsIDQyMTA1LCAyOTkwLCAxMjAxMjgsIDgwNSwgNjkyMzgsIDY0NDM4LCAxMjA3MCwgCisgICAgODc2MCwgMTExNywgMTE4OTg3LCAxMjIxMiwgMTIwMTIzLCA2NTE3NCwgNDIzNTcsIDYzODM1LCA2MzgzNCwgMCwgNzgyNDAsIAorICAgIDEyMjI1LCA2MzgzOCwgNjM4MzcsIDk4Mzg0NCwgOTgzNzk1LCA2MzgzMywgNjA0MiwgNjYzNjAsIDgwODMsIDAsIDAsIAorICAgIDYzODIxLCA2MzgyMCwgNjM4MTksIDYzODE4LCA5ODM4OTUsIDUyMjcsIDkwNDcsIDYzODIyLCAxMjcxNjIsIDYwOTEsIDAsIAorICAgIDEwNjkxLCA1NjAsIDU2NDMsIDgyMjYsIDExOTU3OCwgNjM4MTIsIDYzODExLCA2MzgxMCwgNjM4MDksIDIyODksIDYzODE1LCAKKyAgICA2MzgxNCwgNjM4MTMsIDYwNDcsIDE1OTcsIDEyMDE0MywgNzgwLCAyMDYsIDc3OTI1LCA0OTM2LCA2NTE0NywgODE2OCwgCisgICAgNjM5MzAsIDIwNzYsIDEwOTMsIDk4ODIsIDYzOTM0LCAyMDgyLCA2MzkzMiwgMTI4MTUwLCA2MzkyOSwgMzU0NiwgMTYwNSwgCisgICAgNzc5MzQsIDk4MDYsIDQzNDcyLCA3NzkzMywgODQwMCwgMTEzNDMsIDIwODYsIDAsIDYzOTI2LCAyOTg0LCA1OTY4LCA5Mjg3LCAKKyAgICAwLCA0NjE4LCA0MjIwOSwgNDM0MzEsIDEzMTY5LCA1MjkwLCAyMDg5LCAxNjk1LCAxMDc0MywgMTA4OCwgNjM4MjUsIDcyNjgsIAorICAgIDEwODQsIDEwODUsIDYzODI5LCAxMDgzLCAxMDEzMSwgNzI4MywgMCwgNjM5NzAsIDEyODM1OCwgMTA5MiwgNDc1NCwgNzI3MywgCisgICAgNTI1MiwgNDQwMTYsIDQzNjI3LCAxMjc5MjEsIDAsIDc0MDgsIDExODA5LCA5MTc2MTgsIDAsIDAsIDI5NjUsIDcyNTgsIAorICAgIDg4MDgsIDAsIDEwODksIDQxODcsIDYzOTM3LCA0MjExOSwgNDIxMjAsIDAsIDk0MCwgNTc4NywgMTAwOTksIDYzOTM4LCAwLCAKKyAgICA3NDQ5NCwgMTI0NjMsIDI5OTQsIDAsIDExODgyNywgMCwgOTY2NCwgNzc5MzksIDc3OTQwLCA2Nzg5MiwgNzc5MzgsIAorICAgIDc0MzQzLCAwLCAwLCA2NjAsIDEwMTI3LCA2NjYsIDkwMjIsIDU1MzIsIDQzNjY3LCA1NTMzLCA3Nzk0MSwgNzg1MDcsIAorICAgIDYxMTgsIDIyMiwgOTc5LCAzODg0LCAwLCA3NDE1MSwgOTI2NTIsIDY1MDIsIDAsIDEyNzExOCwgMTI4Njk1LCA2Mzk1MSwgCisgICAgMTI0NjUsIDAsIDAsIDEyODc4MiwgNjM5NDYsIDE3MDcsIDYzOTI0LCAxMjQ2MSwgNjM5NTAsIDYzODk3LCA2Mzk0OCwgCisgICAgNjM5NDcsIDYzOTQ1LCA2MDM4LCA2Mzk0MywgNjM5NDIsIDY0Njg1LCA2Mzg5NSwgNjU4MzgsIDIyNzYsIDc3NzYsIDk0MDc2LCAKKyAgICAwLCAxMjc3NzMsIDEyMDQ0NCwgNjk3MzAsIDgwMSwgNDMxNjUsIDE2OTAsIDYzOTE5LCA2MzkxOCwgNjM5MTcsIDEzMjc3LCAKKyAgICA0MzY1OSwgMTI5NTEsIDEyMDYzOCwgOTkwNiwgMjA1NCwgMjMzNCwgNzg1MTUsIDYzOTE2LCA1NDgzLCA2MzkxNCwgNjk3MzcsIAorICAgIDYzOTExLCA1NDg0LCA2MzkwOSwgNjM5MDgsIDI1MzksIDAsIDQzOTgwLCA1NDg1LCAwLCA0MjY5NywgOTA2MSwgNTUzNCwgCisgICAgMTA2NzIsIDQ1MDIsIDAsIDI1MywgMCwgNjgyMDgsIDAsIDkyMDMsIDc0MjMxLCAwLCAxMTUzMCwgOTI1NDIsIDY4NjY4LCAwLCAKKyAgICAxMTg5MDcsIDAsIDEwNDc0LCA0MzQyNiwgMTMyNTcsIDQyMzU0LCAxMjgwOTksIDk4MzY4OSwgNzAwNDQsIDE5NTA2NSwgMCwgCisgICAgODQxMywgOTgzODA3LCAwLCA1NjkzLCA3MjcyLCAwLCAxMzIwOSwgNjQ0NzAsIDY1ODMxLCA3NDM1MCwgMTk1MDYzLCAwLCAwLCAKKyAgICAwLCAxMjY2MzksIDAsIDAsIDk0MDc4LCAxMjgxMzMsIDEyNzc2NywgNjY2MDgsIDMxMTEsIDQxODYzLCA4ODA0LCA0MjkxMywgCisgICAgOTIxODcsIDcyNzAsIDAsIDY2NjA2LCA2NjI4LCAxMDc2LCA3NDMzLCAxNDM2LCA3Mzg0NCwgNTUyMjYsIDEyODM1MywgCisgICAgNjM5ODIsIDczOTMsIDEyODA3LCA0MzQxMywgNjM5MDYsIDE1OTgsIDYzOTA0LCAwLCAwLCA0MTcyOSwgNDQyMywgMTMwNywgCisgICAgMCwgMTA1MTUsIDQxNTg5LCAxMjg2OTgsIDAsIDYyMTgsIDAsIDE0MzAsIDAsIDAsIDEyMDYwNiwgNzg3NTQsIDU0MTMsIAorICAgIDc2MTksIDMyNTUsIDM0OTMsIDc0MDMyLCAxMTU0OSwgMTA3MzUsIDQxNzQzLCA3MzkzNywgNjgwMSwgOTgzNjI0LCA0NTE4LCAKKyAgICAxMDk5MCwgNjUwNzMsIDUxNjcsIDQ0ODEsIDM3NzEsIDEyMDE1OCwgMjcxMCwgMCwgNjkyNDMsIDQxNzI0LCAwLCA0MzA3MywgCisgICAgNDE2OTAsIDEyNDc5LCA5ODM2MjYsIDAsIDAsIDk4MzgwOSwgNzAwNDYsIDE2MjgsIDEyNzE0OSwgOTgzNDc5LCA5ODM3MjIsIAorICAgIDY1MjYyLCA2MzMzLCAxMDc4MywgNDIzMTUsIDAsIDYzODU1LCA5NDA1NiwgMCwgMCwgNTMzOSwgNzQzMjMsIDAsIDEzMDA0LCAKKyAgICAwLCA0NDU3LCAwLCAwLCAwLCAwLCA1Njg0LCA4Njc4LCAxMDkxNCwgMCwgNTY4OSwgNjU4MDcsIDAsIDY4NDY0LCAxMjYzMywgCisgICAgMTI4NzAsIDY5NzA1LCA2NTE4MywgNTY4OCwgMTE5MjYsIDYwMzMsIDYzMTAsIDU2ODYsIDAsIDc0MjUxLCAwLCAxMjA2NDcsIAorICAgIDAsIDUwLCAxMDU1OCwgOTg3MSwgNDI2MTIsIDQzNjU1LCAwLCAwLCAwLCA2NjQ2OCwgMCwgMTMyNTksIDQ0NDgsIDAsIAorICAgIDk4MzgzNiwgMCwgNzAwNDMsIDY3ODUzLCAwLCAxMDY0MCwgMTE1MzksIDExNTEsIDAsIDkxNzYwNywgMTI3NTQ0LCAKKyAgICAxMjcwNzksIDE5NTA1MCwgMTI3ODUyLCAwLCAwLCAwLCAxMjUwMSwgNjQ2MDQsIDAsIDExNTI3LCAxMTg4NzAsIDg4MTIsIDAsIAorICAgIDExNTM4LCA4NjczLCAxMjY1MCwgMTEwMjAsIDAsIDY2NDY3LCAyMTA1LCA4MDg3LCA3ODE2MywgNjk2MzIsIDk4OTQsIDAsIAorICAgIDAsIDAsIDQ2MzYsIDU1MjYyLCA3ODUxMywgNDUxNSwgMjM4MiwgMCwgMTI3MDU1LCAwLCAxMjA0OTUsIDAsIDEyODI4NCwgCisgICAgMTIyNzcsIDE5NDYyNywgMTE5OTUsIDkyNTUzLCAwLCAxMjE1OCwgMCwgODc0MSwgMTAxOTcsIDAsIDkyNDI2LCAwLCA2NTMxLCAKKyAgICAwLCAxMjc4NDYsIDQ3MywgNDM0MTUsIDAsIDk4MzY0MSwgMTg3MywgMTA4NywgMCwgMCwgMCwgNzg1MjcsIDY2NDM5LCAKKyAgICA0MzIxOCwgOTgzMTIzLCAxOTQ3MTYsIDcyMzcsIDEyNTA0LCA3NDI4MiwgMCwgOTgzNTcxLCAwLCA5NDg5LCAwLCAwLCAKKyAgICA0Mzg0LCA3NDIyMCwgNjM4NDUsIDIwNTgsIDEyODg2MywgMTMyOTUsIDQzMTkxLCAxMjgwMzAsIDAsIDExNTQsIDM4NTcsIAorICAgIDEyMDUsIDAsIDAsIDEzMTAwLCAxMjk1OCwgMTIwNzA2LCA3NDE2OCwgMCwgMCwgNDQyMSwgMTA1OTIsIDAsIDQ5NSwgCisgICAgMTE5MDA3LCA0MTcxMiwgNzk4MywgMCwgOTM5OTcsIDAsIDYzNDcsIDEyMDE2NSwgNzY1NCwgNDE3MTAsIDQxOTYsIDAsIAorICAgIDQzNywgNDE3MDksIDczNzcyLCAwLCAwLCA5NDY1LCAxMzI5MCwgMTE5MTgwLCA0OTk3LCA2NDMwNiwgMCwgMCwgNDk5OSwgCisgICAgMTk0NjQyLCAwLCAxMjY1ODIsIDQ3MTEsIDEyMDc2OSwgMCwgMjczOSwgMCwgODA0NCwgNzQ4MzQsIDE5NDY0MywgNDE3ODksIAorICAgIDEyODE0MiwgMTA4MDksIDAsIDAsIDAsIDE3NzksIDY2MDAsIDY2MDEsIDQxNTQzLCA1MzI1LCA2NDIsIDY0MTg3LCAxMzA1OCwgCisgICAgMTIwNDQ5LCAxMjg3NSwgMCwgOTIxODYsIDEzMjI5LCAwLCAxMDU3NSwgNDMzOTksIDAsIDAsIDQxNzkxLCAxMTA0LCAwLCAwLCAKKyAgICAxMDY1NSwgMCwgMCwgMCwgMCwgMTA4MiwgMTk1MDQ5LCA4NDI4LCA2NTY5LCAwLCAwLCAwLCA2OTg0OSwgNjc4MywgMCwgCisgICAgMTI5OTMsIDgwNDksIDQxNTQ4LCA0NDAyMSwgNjQ1OCwgOTgzNzk4LCAxMjg4ODIsIDQ3NjEsIDYzODI4LCA0NzY2LCAKKyAgICA2NDYyMywgMTI3MywgNDM0MDcsIDAsIDExODg3NiwgMTk1MDQ1LCA2OTEyLCAxMzEzLCA2MzIyLCAxMDQ4MywgOTgzNjAzLCAKKyAgICA0MTU0NSwgMCwgOTI0NDksIDAsIDAsIDAsIDAsIDc4NjI0LCAzNDg0LCA3NDMzNywgMCwgMCwgODUwMywgNTEyMiwgNDE1MjcsIAorICAgIDAsIDY2MzIwLCA5ODM4MDIsIDAsIDAsIDAsIDQxNTM3LCA2OTY4MywgODMwMywgODI4MiwgMTE4MTcsIDczODU3LCAxMDAwMywgCisgICAgNzM4NTksIDY1OTA0LCA3MzYzLCAxNjg2LCAwLCA3ODQwNiwgMTE0NjcsIDM2NjQsIDY1OTIxLCA2NDI5OSwgMTk0NjY0LCAwLCAKKyAgICAwLCA0MzI0LCAxMjYsIDQyMjQ2LCAxMTkxNTIsIDAsIDc0Mzc4LCA2NTkyNiwgNzc0NCwgMTk0NjM2LCA3NDI3NywgNzQzMDIsIAorICAgIDc4MDUyLCA0MzgxNywgNjk2NiwgNDM4MjIsIDgxMzYsIDAsIDY1NjAwLCAxNjMzLCAwLCAwLCA0NzYyLCAxMTAzLCAwLCAwLCAKKyAgICA0NzY1LCA5ODM0ODQsIDEzMDc4LCAwLCA0NzYwLCA2MzgyNywgMjA1MCwgMTA4NzEsIDQzMTk5LCAxMTAyLCAwLCA0MjIzNiwgCisgICAgMTI4ODY3LCAxOTQ2NjcsIDExNTQ2LCA3NDc5NCwgMzM3LCAwLCA0MjU5MSwgODYyNywgMTIyNzksIDExMTEsIDAsIDkyMTYxLCAKKyAgICA0NzA3LCA2ODIwNiwgMTAxNDMsIDc4ODMsIDEyNzA4MSwgNzg4MCwgNDUyMiwgODY0NSwgNTcwNCwgMTMwMTAsIDAsIDgzMDQsIAorICAgIDkxNzU2MSwgMCwgMTE5NTc1LCAyMjkzLCAwLCA2NjY1NCwgMCwgOTI2NzYsIDAsIDEzMDA4LCAwLCA0Mzg1LCAwLCAxMzAxMSwgCisgICAgMCwgOTI1NjksIDExOTE2MSwgMTMwMDksIDE2MCwgMjY3NywgMCwgMCwgNDE3OTMsIDY1NzYzLCA3NDIyMSwgMTIwMTQxLCAKKyAgICA0MTc5MiwgNDI3NzAsIDk0MDU0LCA2NTc2MiwgMTE4ODI5LCA0MzgyMSwgNTcwOSwgMCwgOTQwNTMsIDQzODE2LCAwLCAwLCAKKyAgICAxMDc5LCAzODY3LCA1NzA4LCAwLCAwLCA0Mzc5NywgNTcwNiwgNjQ3NjgsIDU3MDUsIDg3OTEsIDQwMDUsIDAsIDEwMjM3LCAKKyAgICAxMDk5MSwgMTI4ODE2LCA0MzQ1OSwgOTE3MywgOTE3NTgxLCA5MTc1ODAsIDEzMTcwLCAxMjU0MCwgOTE3NTc3LCA0MjYwNSwgCisgICAgMTIwNzY1LCAxMjY2MTcsIDY4NjQ3LCA5MTc1NzIsIDEwMDU4LCAwLCA3NDg2NywgMTk0NjU0LCAxMjcwNzgsIDMzMzksIAorICAgIDExNDQ4LCAxMTA2LCA5MTc1OTEsIDkxNzU5MCwgOTE3NTkzLCAzMzQwLCA5MTc1ODcsIDkxNzU4NiwgOTE3NTg5LCAKKyAgICA5MTc1ODgsIDEyMDU0MSwgMTA2MDUsIDEzMDksIDYzOTY2LCAxMjA3NDMsIDE3NTQsIDkyMjI2LCAxMzI0NiwgODY0LCAwLCAKKyAgICAxMTg5MjYsIDg5NzIsIDAsIDc4NDksIDEyMDA5MiwgOTI1MzMsIDEzMjQwLCAxOTUwNjgsIDUxOTIsIDQzMzgsIDY3OTgyLCAKKyAgICAxMDk0OCwgOTE3NjAxLCAxMzE5OSwgOTI1NzUsIDEyMzYsIDEzMjA4LCAxMzI2MSwgMTMxODksIDEzMTg4LCA5Mzk5MywgMCwgCisgICAgNzQ0MCwgMCwgMTIwMTUzLCA5NTUzLCAxNTkwLCA2Mzc3NywgNjM3NzYsIDEzMTc4LCA2Mzc4MiwgNjM3ODEsIDYzNzgwLCAKKyAgICA2Mzc3OSwgMTU4MywgMCwgMTMyNjAsIDQ1NTAsIDAsIDY0MjA1LCAwLCAwLCA0MTUyMiwgOTgzOTA2LCA5MjE2OCwgCisgICAgOTgzNzYzLCA5MTc4NTgsIDExMzU0LCA5NDA3MSwgMCwgNDI3OTUsIDAsIDExOTE5NSwgMTEzOTQsIDE5NDY0NiwgMTMyMzYsIAorICAgIDEzMjcyLCAxMzE5NCwgMTMzNCwgNjk5MjYsIDQ0NzksIDExNzgsIDY1NTg2LCAxMjA2NjMsIDY2NjgxLCAxMTkxOTMsIAorICAgIDQ2MDEsIDAsIDAsIDk4Mzc1NiwgMCwgMCwgMTk0NjU4LCAwLCA2ODA5LCA2Mzc4NiwgNjAzMSwgMCwgNjM3OTEsIDYzNzkwLCAKKyAgICAxMTQ1LCA2Mzc4OCwgNzkxMCwgNjM3ODUsIDQzMTUzLCA3NTQsIDEwMTkyLCAxMzEwNSwgODE4MywgMTIwNzQxLCAyMDM3LCAKKyAgICAwLCAwLCAxMDc0NywgMTI1LCAwLCA2NDg5MCwgMCwgOTgzMTMxLCAwLCA0MTcxOSwgNjM3NTgsIDM1MjMsIDEwNzQsIAorICAgIDEzMjU4LCA5NTM2LCA3NDA3NywgMCwgNDQyNywgNzQyNDIsIDYzNzU3LCA0MzE0NSwgMTIyMTcsIDYzNzU0LCA0MTUzMiwgCisgICAgMTM0OSwgNjM3NTAsIDYzNzQ5LCAwLCAwLCAwLCA2Mzc1MywgNjM4MDIsIDQxMDg0LCAxMjA2MjIsIDY4MTMzLCA0MTkzMCwgCisgICAgNjM4MDUsIDYzODA0LCA0MzYzMiwgNjM4MDEsIDQxMDgyLCA4MTQwLCA2Mzc5OCwgNjI2MCwgMCwgMCwgOTQwNzQsIDYzNzkzLCAKKyAgICAxMTk4OCwgMzg5OCwgMTI4MjQxLCAxMDIwMSwgMTIyMzgsIDYzNzk1LCA0MjE5NCwgMTAzNjcsIDEyNTIxLCAxMDQzMSwgCisgICAgNDIxMTQsIDQxOTMyLCAxMDY4LCAwLCAxMjUyMywgMTI5NDUsIDk4MzMyMSwgNDIyMDMsIDc5NTAsIDEwODA0LCA2Mzc3MSwgCisgICAgNDI3ODcsIDQzODYsIDEyMjI0LCA2OTczLCAyNzkzLCAxMjQ3NSwgMCwgMCwgNjM3NjksIDk1MzAsIDk4MzExOSwgMTIyMzIsIAorICAgIDEzMTM1LCA4NTk2LCA1NjgxLCA2Mzc2MiwgNDU5NSwgNjM3NjAsIDc5MiwgMCwgNjQ4MDMsIDAsIDg3NDIsIDAsIDExMDUzLCAKKyAgICAxMjg3OTYsIDYzNzQ0LCAxMjgxMDcsIDAsIDc1ODgsIDYzNzQ4LCAxNjkzLCA2Mzc0NiwgNDMyMDQsIDUwNTUsIDY4NDI2LCAKKyAgICA5MTc4NTMsIDEwOTAsIDEyMDY3OSwgMTI4MzU2LCAxMTY2NSwgNzQxMzMsIDQ1NTgsIDY1Njg1LCA5NTIzLCAwLCAwLCAKKyAgICA3ODY4MSwgMTE1MTMsIDAsIDYxNTcsIDYzNzc1LCA2Mzc3NCwgNjM3NzMsIDEzMTkxLCAxMjE3MCwgMzUwMCwgMzEzOSwgMCwgCisgICAgMzE3MCwgMTI0ODUsIDAsIDEwODcyLCA3ODI3MSwgMTMwMDYsIDY0NDMzLCAwLCAwLCA5NDEsIDAsIDAsIDAsIDY1NTQxLCAKKyAgICAxMTA2MywgMCwgODIyOCwgMCwgNDIwNjUsIDAsIDAsIDk0MDM5LCAwLCA5MjQ1NSwgNzM4NiwgMCwgNjQ0NDQsIDAsIAorICAgIDExOTg2MywgNDM2MDMsIDk0MDc1LCA2NTM5NywgMjg4LCAwLCAwLCAwLCAxMDAyNSwgNjk5MTUsIDI5MTgsIDAsIDY1MzAwLCAKKyAgICAxMTk4NzEsIDk4ODMsIDY0NzI2LCAyNzkwLCA2NTM5NSwgMzc5MywgMCwgMTI3ODI5LCA2NTM5MywgMCwgNzQxMzgsIDAsIDAsIAorICAgIDAsIDc0MTM5LCA5MjcxMiwgNjUzOTQsIDExNTQ4LCA1MjcwLCAwLCA2NTM5NiwgMCwgNjU4MTMsIDEzMjU2LCAxMjgyLCAKKyAgICAxMjA3NzEsIDAsIDAsIDEwODg4LCA5ODM2MDQsIDY1MjQyLCAwLCAzMzMwLCAwLCAwLCA5ODM5NjUsIDAsIDAsIDc0MjU5LCAKKyAgICAzMzA0LCA0Mjc1MywgMCwgMCwgMCwgMTYyNywgMCwgMCwgMCwgNTM3MSwgMTMxMTYsIDAsIDE4MjYsIDExODc5NCwgMCwgCisgICAgNDMwOTQsIDcwMDIzLCA0MzY1MCwgOTQwMzcsIDAsIDkwMzUsIDAsIDAsIDEyODAwNSwgMCwgOTIyMDcsIDY4MTI1LCAwLCAKKyAgICAxNjQsIDAsIDk0MDY3LCA5NDAwMCwgNjk1OCwgMCwgNDMxMTYsIDAsIDcwMDE5LCAxMzI0NSwgMCwgMCwgMTI3Mzc2LCAwLCAKKyAgICA3MDAzMSwgMTI3NzU2LCAxMjY2NiwgMTMxNzUsIDEzMjA3LCAxMjA0MTQsIDY2MDE0LCAxMjA0MjgsIDc0NDcsIDU5MjksIDAsIAorICAgIDY1NTA5LCAwLCA3NDQ5LCAxMTMwNiwgMCwgNzM5MjAsIDMxODAsIDAsIDYzODA4LCA5MDU0LCA5NzEsIDEzMDYyLCAwLCAwLCAKKyAgICA2NTE5NSwgMTAxNjQsIDkyMjUyLCA3NDQyOCwgMCwgNzgxNDYsIDkyNjExLCAwLCAwLCAwLCAxMDA0NSwgMTI4ODIsIAorICAgIDEzMjc1LCAxMjgxNjEsIDExMDU3LCAwLCAxMzI3NiwgMCwgNDE1MjUsIDc4MTUwLCA3MjcxLCAxMTQ0NCwgMCwgMCwgMCwgCisgICAgMTIyMjksIDQxNTIzLCAwLCA0MzQxMSwgNzM3NTEsIDAsIDY0ODEzLCAwLCAwLCAxMDQ3NiwgMzg1OCwgMCwgMzkzMiwgCisgICAgNjQ5NTgsIDAsIDAsIDczOTg5LCA2ODE5MiwgMCwgNjk4NDcsIDM2OSwgMCwgNDE3ODQsIDAsIDY0MTYzLCAwLCAwLCAwLCAKKyAgICA2NTQ3NCwgNDc5NiwgMTIyOTIsIDEyNjU5NSwgNjU0NzksIDAsIDQxNzgxLCAxMDQ4NiwgNDE0ODAsIDQzMDAyLCA5ODk5LCAKKyAgICAwLCAwLCA0MDQsIDEyODIxLCAzNzQxLCAwLCA1Nzg4LCA4MDkyLCA2ODIxMiwgNDEyMjIsIDE4MzEsIDY2MDIwLCAzOTgyLCAKKyAgICAwLCA0Mzg4LCAwLCA3NDYsIDEyMDc4NCwgMCwgMCwgMTIwMTgsIDY1Mjk0LCAwLCAwLCAwLCAwLCA0NDIyLCA0NzA4LCAKKyAgICAzNzk5LCA3NDI5MiwgMTE5MzU3LCAwLCA3NDQzMCwgMCwgMTE3MDAsIDQzNzQsIDAsIDEyODE3OSwgMTM2NCwgMCwgODAzOCwgCisgICAgMCwgOTE3NTk3LCAxMjg2OCwgNjk4MTQsIDAsIDY3MzUsIDczOTc5LCAxMzE3NCwgNzM5NjgsIDEzMjI1LCAwLCA2OTgwOCwgCisgICAgNjU4MzUsIDAsIDIzNjUsIDc4NDEsIDAsIDQyODU1LCAxMTg4NTYsIDQyODY2LCAwLCAwLCAwLCA2NjQzOCwgNDE3ODUsIAorICAgIDEyNjE3LCA2NDE3MiwgMTMxNzMsIDQzNzIsIDExOTM1NCwgMCwgOTgzNTY4LCAwLCAwLCA5MjQwMiwgMTI4MDYyLCAxMjk2NSwgCisgICAgMzg0LCA2NDUxMiwgMTA0MDQsIDEwMzQwLCAxMTkzNTIsIDE1NTYsIDUyNzQsIDEzMjEwLCAxMjAxMjUsIDEwMDE3LCA5NzMzLCAKKyAgICA0MTc4NywgOTgzMjM3LCAxMjY5OTQsIDQxMzczLCA3ODAzOSwgMTIzMDMsIDAsIDEzMjMyLCAxMzIzMywgMzQ5LCA0ODYzLCAKKyAgICA0MTM3MSwgMTE2NTYsIDAsIDEyMDcwMywgMTE5ODgzLCAxMjg2MSwgNDM5OCwgODU0MywgNjU2MTgsIDEyODAxOCwgMTA5NiwgCisgICAgMCwgMCwgNDI2ODgsIDEyNDQxLCAxMjM1NSwgMTE5MzQ4LCAxMTkzNDcsIDQzMTgsIDEwNDUyLCAwLCA4MDMyLCAxMzI0MywgCisgICAgMTMyMzcsIDEyNzE5LCAxMjY2NDYsIDExOTEwMSwgMCwgNjQ4ODQsIDExOTg3MiwgMTE5MzQ1LCA4NTk3LCAwLCAwLCA5ODY0LCAKKyAgICAwLCAxMjA3ODUsIDExOTg3NCwgOTQxMDcsIDEzMTk1LCA0MTQ1MiwgNjQ5NjEsIDc3MjIsIDAsIDEwNDU5LCAxMTk4NzgsIDAsIAorICAgIDExOTg3OSwgNjY1OTAsIDEyODEyMywgNDE1MzMsIDY2MzM3LCAwLCA5MjE4NCwgMCwgNDk2NSwgNDM0NDUsIDkxNzUzNiwgCisgICAgNzM4NDksIDAsIDQzNjM4LCA3ODUzNywgMTI4Mjg3LCA2MjYxLCAxMTkzNDIsIDQzMTQ3LCA2NjU3MCwgMTk1NywgMTA0MjAsIAorICAgIDk4MiwgMjc1NiwgMTMyOTIsIDEzMjA2LCAxMjg4MjgsIDAsIDI5MjUsIDczODA5LCAxMzA1NiwgMTI3NTU5LCAxMzIxMiwgCisgICAgNDMyMzgsIDAsIDEzMTkwLCAxMzE4NywgOTI1NDEsIDEzMTk4LCAxMTg3OTMsIDAsIDUyNDIsIDExOTE3OSwgNjQ0NzYsIAorICAgIDE2OTQsIDgyMTYsIDcxMzY5LCA2NzcwLCA0MzMzMSwgMCwgNjU2MjAsIDk4MzcxOSwgNDM1NDQsIDEyNjQ2NiwgMCwgCisgICAgNDE0NDQsIDY1NjIxLCA2OTk1NSwgOTE5NywgNTI0NiwgMTE5MTA2LCAxMzE4NSwgOTcwOSwgMTIwMzIzLCAxMjAzMjIsIAorICAgIDEyMzE0LCA2NTYxNiwgNTIzOCwgMTE5MzMzLCAwLCAxMTkzMzcsIDUyMzYsIDQwOTc5LCAwLCA3NDIwMSwgODI4NiwgCisgICAgMTI4NTM3LCAzOTM2LCAxMTkzMzEsIDExNjk5LCA0MTM0NywgMTI3MjQ5LCAxMzIzNSwgODg0MiwgNDEyNDgsIDAsIDQzNzksIAorICAgIDEzMjM5LCAxMjY5MiwgNzk2OSwgMTI3MjY2LCA3MjE5LCAxMjcyNTAsIDEyODI1MSwgMTIwNTA5LCAwLCA2NjIyNCwgNzM0LCAKKyAgICAyOTc5LCAxMjAzMDMsIDY1NjE5LCA5ODcyLCA5NTcsIDY0OTIxLCAxODQ2LCA2NjYzMSwgNDE0NzcsIDExOTI1NiwgCisgICAgMTIwMzEwLCA3NDUxMSwgNDE3NzAsIDE2NzAsIDY0NDIsIDEyMDMxNywgNDI0NDYsIDUzNzksIDEyMDMxOCwgNDExNjMsIAorICAgIDc0ODMyLCAxMjAzMTUsIDEyMDMxNCwgMTE1MDYsIDAsIDQyODQxLCAxMzI2NywgMCwgMCwgNDE3NzUsIDAsIDcxMzAsIAorICAgIDQxNzczLCAwLCAxMDY2MywgMCwgMCwgMCwgNjE1MSwgMTIxMTAsIDQyNjczLCA2NTU3MiwgNjUyOTMsIDY1MjUwLCAxMzI2NSwgCisgICAgMTMyNjQsIDY0NTE4LCAwLCA2MTAwLCAwLCA5MjY0NywgNTgwOCwgNjU5MjIsIDAsIDEyOTY3LCA2NjA0MSwgNTYxMiwgCisgICAgNDU4MywgMCwgMCwgNjgwOTcsIDY0NTc1LCAxMjY2MzcsIDExOTY1LCAwLCA2ODM1OCwgMCwgNjk3ODksIDAsIDkyMjYwLCAKKyAgICA2ODEwMiwgOTY5OCwgNzgxNCwgNzQ0NzYsIDExOTY1MSwgMTI4NTE0LCAwLCA0MTkyMSwgMTE4ODU4LCA5NzU2LCA2OTg1LCAKKyAgICAxMTkyNTgsIDc4NDkwLCA3NDIxOSwgMCwgMCwgMTE4OTk3LCA4MDEyLCA1Njc0LCAxMjM1MywgMCwgMTIzNjEsIDU2NzcsIAorICAgIDU1ODgsIDAsIDQxOTI1LCAxMjgxMjQsIDQxOTIwLCA1NjczLCAxMjA1MzQsIDU2NzYsIDQxOTIzLCAxMjY5NCwgMTE4OTc4LCAKKyAgICA1NjcyLCAxMjk0LCAwLCA3ODA1OSwgMCwgNDI1MTEsIDE3MjcsIDEyMDcyNSwgNDI0MzYsIDAsIDAsIDAsIDc0MjIyLCAKKyAgICA4NzE4LCAzNTUwLCA3MzYsIDEwMjY4LCA0NTA1LCAxMDMxNiwgNzQwOTAsIDU4MjYsIDU1MjMyLCA1ODEzLCAwLCAxMjA3MTIsIAorICAgIDU4NDEsIDU4MzcsIDU1MjM0LCAwLCAzMTA1LCAxMjgyOSwgNTgzOCwgNTc5NiwgMCwgMTE5NTkyLCA1NzkzLCAwLCA1ODY2LCAKKyAgICA1Nzk3LCA0MTAxMSwgNTg2NSwgMTIwMDkxLCA3OTU2LCA1OTgsIDAsIDY0NjQ5LCA1ODA2LCA0MjM5OCwgMCwgOTAzNywgCisgICAgNTY3MSwgMTIwMDQxLCAwLCAwLCAwLCAxMjg4NTUsIDAsIDg0NywgMTI4MjQyLCA5NTI5LCAwLCA2NjY1NywgNjk4MCwgCisgICAgNzg0ODMsIDEyMDAzNSwgNzg0ODQsIDk4MzQ4MywgMCwgMTIwMDMzLCA3ODQ4NiwgMCwgMCwgMTIwMDM5LCA0MjY4MywgMCwgCisgICAgOTgzMDU1LCA3MTE0LCAwLCAwLCA0MzE5MCwgNjU0NjMsIDE1NTQsIDAsIDQyNjExLCA0MjU2MywgMCwgNTY1MSwgMjkyOSwgCisgICAgNjc5MiwgNDMyMDEsIDAsIDE5OTYzLCA1Njk4LCAwLCAwLCAwLCAwLCA1NjQ0LCAxMDI5MiwgNjU1NDYsIDY5NzI3LCAKKyAgICA2ODE0MSwgODM3MiwgMCwgNjUxMTYsIDAsIDEyMDAyMiwgMTAxNzUsIDEwMzg4LCA0Mjc5OSwgOTQxMDAsIDQxMDEzLCAKKyAgICAxMDU2OCwgMCwgOTgzNjE4LCAyODY5LCAwLCA0MTAxNSwgMTk0NjkyLCAyNzg1LCA0MzY2LCAwLCAxMDk1NCwgNDE4MDIsIDAsIAogICAgIDQyNjA4LCA3ODQ2OSwgOTg4NCwgNDc1OSwgMCwgMCwgMTAyNjYsIDQxMzU5LCAxMTcwLCA0MzM2NSwgNjk4MTAsIDczOTA4LCAKICAgICAxNjA5LCA5MDIsIDAsIDYzOTM2LCAxMjg4NzUsIDExNjYxLCA4MTIyLCA1ODE4LCAwLCAwLCAzODYxLCA5NTQwLCAxMTAyOCwgCi0gICAgMjU1NCwgNTE1OCwgNTcxNCwgMTI3MDE1LCAwLCAwLCA4MDcsIDQzMDc5LCAwLCA3ODQ3NSwgOTc2LCA1NTExLCA2NDU1MywgCi0gICAgMCwgNDIxNTUsIDAsIDQxMzU2LCA3NDExMCwgMTE4ODAxLCAwLCAwLCA4Njc2LCAwLCAwLCAxMTA2NiwgNDUxLCA2Mzk0MSwgCi0gICAgNTc5OCwgOTM0OSwgNDIwMTgsIDEyNzg1OCwgMCwgMCwgNDM2MDksIDU5MDYsIDEyMDU1MywgMTQ0MCwgMCwgMTI4ODUzLCAKLSAgICAxMjAwMTYsIDc0MjgzLCAxMTAwNSwgMCwgNjY2NTYsIDY2MDQ0LCAwLCAxOTQ2OTgsIDAsIDAsIDQzMzkzLCAxMDA5NCwgMCwgCi0gICAgMTE1MjksIDEwODU3LCAxMjA2NDMsIDY2NDM2LCA2NTQ2LCA5MywgODEwMiwgMCwgNjg0MDUsIDAsIDAsIDgxNzEsIDAsIAotICAgIDExOTA5NywgMTI3MDY0LCA5MTc1NDMsIDM4MywgNzE1NCwgNDE2NTYsIDkyNjM0LCAwLCAwLCA1MTg3LCAwLCAxMjcyNzcsIAotICAgIDExMjg2LCA2ODYyMCwgNjQyMTcsIDAsIDUyMzIsIDAsIDQxMDA5LCAwLCA0MTAwNSwgMCwgMCwgMCwgODI5MiwgMTk1MDc0LCAKLSAgICA0OTgwLCA4ODYwLCA3Mzk0NywgMTAwMjgsIDY1MjkxLCA3MDc2LCAxMzE4MiwgMTk0NzA1LCAwLCAwLCAxMDYzMSwgNjYwMzEsIAotICAgIDc5NzIsIDAsIDc4Nzg1LCAwLCA3OTAwLCAwLCAxMTMwOSwgNzgzMTksIDQxOTgsIDQyNzI1LCAwLCA2NzY1NiwgOTk5NSwgMCwgCi0gICAgOTI1NTIsIDAsIDEyOTMxLCAwLCA0MjY4NCwgNzQyODUsIDIwODgsIDAsIDY0MzY2LCA2NTE1NiwgODgxNCwgNDIyMzgsIAotICAgIDc0NzcxLCAwLCAwLCAxMjgzNiwgMCwgMCwgNzQzNDIsIDg1OTMsIDAsIDAsIDY4NDQ1LCAxMzI1NSwgMCwgMCwgNzQ2NCwgMCwgCi0gICAgNjU4NjUsIDAsIDE5NDY1MCwgMTI3MTQ0LCAwLCA5MzQyLCAxMjA0NjQsIDAsIDY0NTE2LCAwLCA3ODc5MiwgMTAxMjksIAotICAgIDQxMDA3LCA3NDM3NSwgMCwgNDA5OTUsIDEyMjA5LCA0MTAxMiwgMTE5MTM2LCAwLCAwLCA2OTcyNCwgNDA5OTIsIDkyMjY0LCAKLSAgICAxMjcxNTMsIDY4NjUzLCA0MzU1OCwgNTUyMiwgMCwgNjEsIDAsIDc0MTA1LCAzNjMzLCAwLCA2NTE2MiwgNDEyMzQsIAotICAgIDEyMDg5LCA3ODI4MSwgOTc3MSwgMCwgMTMyNTEsIDEyODcwMSwgMCwgNjI2MiwgMjc4NCwgNDI3NDMsIDAsIDgxMjYsIAotICAgIDY2NDgzLCAwLCAwLCA0NDEsIDQyNjIxLCAwLCAwLCA0MTAwMiwgNDA5OTksIDExOTYyMywgNDMyNjYsIDcxMDgsIDE5NDc3OSwgCi0gICAgMTA4OTAsIDc0NDgxLCA2NTgzNCwgODMyNCwgMTE5MTAzLCA2NDQxNywgNzQ4MTcsIDEyNzQ2NSwgNjQ3MzcsIDAsIDAsIAotICAgIDg5MzAsIDY2Njc4LCA3NDI0OSwgMTE5MywgMTAwNTYsIDE4MDAsIDEzMjUzLCAxMzI1MiwgNzgyOSwgMCwgMCwgNzc0MywgMCwgCi0gICAgMCwgNzc5MDQsIDkyNjQwLCA3NzkwNSwgOTAzNCwgNjAzOSwgMCwgMTAwNzUsIDAsIDQxMDE4LCA2NTY4MywgMTAzMzgsIAotICAgIDY2NDY5LCAwLCAwLCAwLCA0MjgxNSwgMCwgNDE5NjYsIDAsIDAsIDAsIDExNzkyLCA0MzA2NCwgNDEwMjUsIDkxMSwgNzUzOSwgCi0gICAgMCwgMCwgMTIwMzM5LCA2NTE1OSwgNjQzOTAsIDAsIDAsIDU1MjAsIDExNjYyLCAwLCA2NTMzMCwgNDI4MTIsIDAsIDAsIAotICAgIDEyMzI2LCAwLCAwLCA0MjgwOCwgMTI4MzM3LCA5MzQ4LCA2NDkwMSwgMCwgMCwgMCwgMCwgMCwgMCwgOTE3NTg0LCA0MzcwMiwgCi0gICAgMCwgNTg1NywgNjUzNDIsIDkyNzI3LCAxMTkxMjAsIDEyMDA3OSwgODY0NCwgMCwgMCwgMCwgNzQyOTYsIDQxOTA5LCAwLCAKLSAgICAxMjAzMzIsIDI3OTEsIDY5NjYzLCAxODkxLCA2OTgyNCwgMCwgNDE5MDcsIDY2NjQ3LCAxMTg5MzksIDg3NjEsIDEyOTQyLCAKLSAgICA1NzQ4LCAwLCAxMDc3MywgMCwgMCwgODc5NiwgNzgxNDksIDY0MTIsIDIwNjEsIDg1MjAsIDEzMTQ2LCAxMjcxODUsIAotICAgIDYzOTMxLCAwLCA2NTkwMiwgMjg4MiwgMCwgMCwgMTI4NDMsIDQ1MjAsIDEyMDM0NSwgOTI0NTksIDAsIDAsIDAsIDczODYwLCAKLSAgICAwLCAwLCA2NDM0NSwgMCwgOTIwMSwgMTI4MzE0LCAxOTQ5NDAsIDAsIDAsIDQzNjc5LCA5MTc1ODUsIDY1MTE3LCA5MjI3MCwgCi0gICAgMCwgMTA0MjcsIDAsIDM4NDQsIDEyMDY3NSwgOTc1NSwgMTExMCwgNjYxMiwgMTIyMjIsIDAsIDEyODc4OSwgMCwgMCwgNzgzLCAKLSAgICAxOTQ5MzUsIDAsIDAsIDAsIDE5NDcyMCwgNjUwNTYsIDM2MjAsIDAsIDY4Mzc4LCA0NTU2LCAwLCAwLCAxOTQ5MzMsIAotICAgIDc0MjUwLCAwLCA2NzY1NywgMTA1MTAsIDQzODIsIDY2NDgyLCAwLCAwLCAxMjc1MjcsIDkxNzcsIDg5MDIsIDAsIDk4MzksIAotICAgIDAsIDEyODkxLCAwLCAwLCA2Mzk5OSwgMjAxNiwgNDE5MTcsIDk3ODgsIDYzOTI4LCAwLCAxODYyLCA2NTgwMCwgOTE1NSwgCi0gICAgNjY2MjMsIDk3ODYsIDY1MDgyLCA0MTkxOSwgODU3OSwgNDE5MTQsIDc5ODEsIDAsIDY2MDE3LCA0NTA4LCA2NDg4MywgCi0gICAgOTI0NTYsIDkyNTIyLCAxMjc4MTQsIDAsIDY0NTkyLCA3NDI3NiwgMTIwMDgwLCA2Nzg0LCA3ODc4OCwgNjgxODEsIDAsIDAsIAotICAgIDAsIDEyNzUzNCwgMTIxNDcsIDkwMjQsIDY2Mzc4LCA2NjQ3MiwgMCwgNjQyODksIDY1Mjg5LCA3ODE1MSwgNjY2NTgsIAotICAgIDE5NDkyOSwgNjQ1MDksIDc4MTUyLCAwLCAwLCAxMTA1MSwgMCwgMCwgMTEzNTUsIDY1ODg1LCAwLCAxMjgzMTAsIDQxMjE0LCAKLSAgICAwLCAxMjI5OSwgMCwgNzUwMCwgNDUwNiwgNzc3MywgMCwgMCwgOTk2MywgNjg2NDksIDAsIDQwNDAsIDEyMDU3MCwgNjE2NywgCi0gICAgMCwgNjM5MjIsIDY1OTQsIDAsIDAsIDAsIDM2MjQsIDQzMDM2LCAwLCA2Mzg3LCA2Mzk5MCwgMTk5NDcsIDYzOTg4LCAKLSAgICA0MTk1NSwgMCwgNjM5OTMsIDEwNDQwLCA5NjExLCAwLCA2ODAzLCAwLCA3NzM4LCA2Mzk4NiwgMTE0NDYsIDYzOTg0LCAKLSAgICA5MjY0MSwgMzQzNSwgNzgxNjQsIDQzODE0LCA0MzgxMCwgNzAyOSwgNjQyNTgsIDQxMjkyLCAxMTg4OTgsIDEyNzQ4LCAKLSAgICA0Mjc0MiwgOTUxNywgMTE1MTgsIDAsIDc4NzkwLCAwLCAxOTQ3NzcsIDYzOTU2LCA0MjQ1OCwgNjM5NTQsIDYzOTUzLCAKLSAgICA2Mzk2MCwgOTU5MSwgNDUxNiwgMTAyMTcsIDY4MzcwLCAxMTQ2OSwgNjk2OTcsIDQyMzA2LCAyNzIzLCAxMTg5NDcsIDAsIDAsIAotICAgIDAsIDAsIDAsIDExMzk3LCAyODgwLCAwLCAwLCAyODcyLCAwLCAwLCAzNDk4LCA0Mzc4LCA5MTc1MzksIDQyNzAsIDAsIAotICAgIDY1NTUxLCA2ODIwNSwgNjYzMywgNDMzODcsIDAsIDUyMzAsIDAsIDAsIDAsIDAsIDAsIDgxNjEsIDM5MywgMTIwMTMsIDAsIAotICAgIDAsIDAsIDQxNSwgNjM5NjQsIDYzOTYzLCA0MjM0NSwgMCwgNTE4MywgMTg3NywgNDI0OTgsIDAsIDI5MjcsIDAsIDYzOTYxLCAKLSAgICA0NDcyLCAwLCAwLCA3ODE1OSwgNjk2OTksIDkxNzkzNiwgNDIzNDAsIDQ3NTYsIDEyODA3OCwgNzA4MSwgMTA3MzAsIDc2OTEsIAotICAgIDEwMzMxLCA2MzgzMCwgMTE5NjI1LCAxOTQ5NDUsIDQyMTAzLCA4NjI4LCA5ODEzLCAwLCA0MjQ1MywgMTYwNCwgOTU2NSwgCi0gICAgMTA1MzksIDY5NzAxLCA2NTc2NCwgNDE0MTUsIDY1NzY3LCAwLCA4NDU3LCA0MjMwMSwgMTEzNzIsIDY0ODczLCAxMTk5MiwgCi0gICAgMCwgMCwgNjM5ODAsIDExODAxLCAzNjIyLCAwLCA2NDMzNiwgMTIwMTcsIDEwNDYzLCA2Mzk4MSwgNDk2NywgNjQxODksIAotICAgIDE5NjYsIDQzNjI4LCAwLCAwLCAwLCAwLCA2Mzk3MSwgNDM0NywgNDQxNiwgNDIwOTgsIDExMDA5LCAxMDY5NCwgNjM5NzMsIAotICAgIDQwMiwgMCwgMTMxNDcsIDAsIDQyMTAwLCA2NDY0NiwgMTMyMjgsIDAsIDQxODc1LCAzNTE1LCA3NDI1MiwgMTE4MDUsIDAsIAotICAgIDExMzAyLCA2MjU5LCA0MzM5NSwgMCwgMCwgMTk0NjcwLCAwLCA5MjM1MSwgMCwgNzQ0MjUsIDExMjk5LCAxNTYxLCAwLCAKLSAgICA5MjM1OSwgNjQ5NDIsIDAsIDE5NDczMywgMCwgMTk0NzMyLCAwLCA3NDMwMSwgMCwgMTEyODAsIDAsIDY5Nzg0LCA3NDA2MCwgCi0gICAgMCwgMCwgMTE5NjY0LCA1MTQ1LCAxMjQ4NiwgNjUwMTgsIDY2NTE2LCA1NDA5LCAxMjczNzksIDE5NDY2OSwgNzQwMiwgCi0gICAgNTM5OSwgOTY4NSwgNzQwODksIDc5NTIsIDU0MDEsIDAsIDY2NjE2LCA2ODQyMSwgMCwgMCwgNTQwNSwgMTI3ODc1LCAKLSAgICA2NDg2NiwgMCwgMTE5NTgzLCAxMjgzNDUsIDc4Nzg0LCA3NDI0OCwgMTEzMzAsIDE5NDcyMywgNjQ2OTAsIDMyNTQsIDAsIDAsIAotICAgIDAsIDQyMzkwLCA0MzY3OCwgMTk0NzI1LCAwLCA2NTA3NywgMCwgNjM4OCwgMzM1NSwgOTUwOCwgOTg2NywgNTcyMywgCi0gICAgMTE1MjAsIDU2MTEsIDAsIDMzNzcsIDAsIDAsIDAsIDAsIDc4MjI4LCAwLCAwLCA0MjY5MSwgOTE3ODg2LCAxMjcxOTgsIAotICAgIDc0NzY3LCAwLCAxMjcwNzUsIDEzNzksIDI0NiwgMCwgMCwgMzc4OCwgMCwgMTEwNDEsIDkyNTQ5LCA2NjMwNCwgMCwgMCwgCi0gICAgODkxNywgNDI0MDMsIDMwMSwgMCwgMCwgMCwgMCwgMCwgMCwgMTA2NTYsIDAsIDY1MjE0LCAxMTkyNDIsIDQyNTY3LCAKLSAgICA5MjIxNywgMTMxNjMsIDAsIDEyMDgzMSwgNzQ1OTcsIDMxODIsIDAsIDAsIDAsIDY1MDM0LCA2NTg4OSwgNDIxNjksIDQ3NTUsIAotICAgIDc0MjQ0LCAwLCAxMTQ0MywgMCwgNjYzMTksIDc0NTk4LCA2MDgsIDYwMCwgMCwgMTIxOSwgMzkzNCwgNjQyMDYsIDExNDgzLCAKLSAgICA3NDUxMCwgMCwgNzQ0ODUsIDQyNDQyLCA2NTQ3MCwgMCwgNjQyMDIsIDEzMTYwLCA3NzU5LCA0MjQ4MiwgNDg1LCAxMjgwMDYsIAotICAgIDAsIDk4MjgsIDAsIDAsIDQyMjgwLCAwLCA5MzUxLCA3Nzc4LCA2NDM3OSwgNzQ5NiwgNDI0MzEsIDY5MTYsIDEyMDgsIDAsIAotICAgIDExOTYzMSwgMTEwMDIsIDQyNDcwLCAwLCAxMTg5NDYsIDAsIDAsIDc0MDQxLCAwLCAxMjA2MzMsIDQzNTM5LCA1NDExLCAKLSAgICA0MjE5NiwgMCwgMCwgMCwgOTE1MCwgMCwgNDIzOTMsIDEzMDg2LCAxMzEwLCAxOTQ2ODcsIDkzMzcsIDEyMDUyLCAxMDY0MywgCi0gICAgNTUyNzEsIDAsIDEyMTY2LCAyNTQ2LCAxOTQ2ODMsIDIxMywgMTE4ODUyLCA2NTYxMSwgMCwgMCwgMTk0NzU2LCA3NDMxMCwgCisgICAgMjU1NCwgNTE1OCwgNTcxNCwgMjIxMywgMCwgMCwgODA3LCA0MzA3OSwgMCwgNzg0NzUsIDk3NiwgNTUxMSwgNjQ1NTMsIDAsIAorICAgIDQyMTU1LCAwLCA0MTM1NiwgNzQxMTAsIDExODgwMSwgMTI2NjE0LCAwLCA4Njc2LCA5ODMyODMsIDAsIDU1ODIsIDQ1MSwgCisgICAgNjM5NDEsIDU3OTgsIDkzNDksIDQyMDE4LCAxMjc4NTgsIDAsIDAsIDQzNjA5LCA1OTA2LCAxMjA1NTMsIDE0NDAsIDAsIAorICAgIDEyODg1MywgMTIwMDE2LCA3NDI4MywgMTEwMDUsIDAsIDY2NjU2LCA2NjA0NCwgMCwgMTk0Njk4LCAwLCAwLCA0MzM5MywgCisgICAgMTAwOTQsIDAsIDExNTI5LCAxMDg1NywgMTIwNjQzLCA2NjQzNiwgNjU0NiwgOTMsIDgxMDIsIDAsIDY4NDA1LCAwLCAwLCAKKyAgICA4MTcxLCAwLCAxMTkwOTcsIDEyNzA2NCwgOTE3NTQzLCAzODMsIDcxNTQsIDQxNjU2LCA5MjYzNCwgOTQwNDAsIDAsIDUxODcsIAorICAgIDcxMjk2LCAxMjcyNzcsIDExMjg2LCA2ODYyMCwgNjQyMTcsIDAsIDUyMzIsIDAsIDQxMDA5LCAwLCA0MTAwNSwgMCwgMCwgCisgICAgOTgzODE4LCA4MjkyLCAxOTUwNzQsIDQ5ODAsIDg4NjAsIDczOTQ3LCAxMDAyOCwgNjUyOTEsIDcwNzYsIDEzMTgyLCAKKyAgICAxOTQ3MDUsIDAsIDAsIDEwNjMxLCA2NjAzMSwgNzk3MiwgMCwgNzg3ODUsIDAsIDc5MDAsIDAsIDExMzA5LCAzODA2LCAKKyAgICA0MTk4LCA0MjcyNSwgMCwgNjc2NTYsIDk5OTUsIDAsIDkyNTUyLCAwLCAxMjkzMSwgMCwgNDI2ODQsIDc0Mjg1LCAyMDg4LCAKKyAgICA2NDIxMywgNjQzNjYsIDY1MTU2LCA4ODE0LCA0MjIzOCwgNzQ3NzEsIDAsIDAsIDEyODM2LCAwLCAwLCA3NDM0MiwgODU5MywgCisgICAgMCwgMCwgNjg0NDUsIDEzMjU1LCAwLCAwLCA3NDY0LCAwLCA2NTg2NSwgMCwgMTk0NjUwLCAxMjcxNDQsIDAsIDkzNDIsIAorICAgIDEyMDQ2NCwgMCwgNjQ1MTYsIDAsIDc4NzkyLCAxMDEyOSwgNDEwMDcsIDc0Mzc1LCAwLCA0MDk5NSwgMTIyMDksIDQxMDEyLCAKKyAgICAxMTkxMzYsIDAsIDAsIDY5NzI0LCA0MDk5MiwgOTIyNjQsIDEyNzE1MywgNjg2NTMsIDQzNTU4LCA1NTIyLCAwLCA2MSwgMCwgCisgICAgNzQxMDUsIDM2MzMsIDk4Mzg5MSwgNjUxNjIsIDQxMjM0LCAxMjA4OSwgNzgyODEsIDk3NzEsIDk4Mzg5NiwgMTMyNTEsIAorICAgIDEyODcwMSwgMCwgNjI2MiwgMjc4NCwgNDI3NDMsIDAsIDgxMjYsIDY2NDgzLCAwLCAwLCA0NDEsIDQyNjIxLCAwLCAwLCAKKyAgICA0MTAwMiwgNDA5OTksIDExOTYyMywgNDMyNjYsIDcxMDgsIDE5NDc3OSwgMTA4OTAsIDc0NDgxLCA2NTgzNCwgODMyNCwgCisgICAgMTE5MTAzLCA2NDQxNywgNzQ4MTcsIDEyNzQ2NSwgNjQ3MzcsIDAsIDk4MzY1MCwgODkzMCwgNjY2NzgsIDc0MjQ5LCAxMTkzLCAKKyAgICAxMDA1NiwgMTgwMCwgMTMyNTMsIDEzMjUyLCA3ODI5LCAwLCAwLCA3NzQzLCAwLCAwLCA3NzkwNCwgOTI2NDAsIDc3OTA1LCAKKyAgICA5MDM0LCA2MDM5LCAwLCAxMDA3NSwgMCwgNDEwMTgsIDY1NjgzLCAxMDMzOCwgNjY0NjksIDAsIDAsIDAsIDQyODE1LCAwLCAKKyAgICA0MTk2NiwgMCwgMTI3NDcxLCAwLCAxMTc5MiwgNDMwNjQsIDQxMDI1LCA5MTEsIDc1MzksIDAsIDAsIDEyMDMzOSwgNjUxNTksIAorICAgIDY0MzkwLCAwLCAwLCA1NTIwLCAxMTY2MiwgMCwgNjUzMzAsIDQyODEyLCAwLCAwLCAxMjMyNiwgOTgzODQ3LCAwLCA0MjgwOCwgCisgICAgMTI4MzM3LCA5MzQ4LCA2NDkwMSwgOTgzODUyLCAwLCAwLCAwLCAwLCAwLCA5MTc1ODQsIDQzNzAyLCA5ODM1NzYsIDU4NTcsIAorICAgIDY1MzQyLCA5MjcyNywgMTE5MTIwLCAxMjAwNzksIDg2NDQsIDAsIDAsIDAsIDc0Mjk2LCA0MTkwOSwgMCwgMTIwMzMyLCAKKyAgICAyNzkxLCA2OTY2MywgMTg5MSwgNjk4MjQsIDAsIDQxOTA3LCA2NjY0NywgMTE4OTM5LCA4NzYxLCAxMjk0MiwgNTc0OCwgMCwgCisgICAgMTA3NzMsIDAsIDAsIDg3OTYsIDc4MTQ5LCA2NDEyLCAyMDYxLCA4NTIwLCAxMzE0NiwgMTI3MTg1LCA2MzkzMSwgMCwgCisgICAgNjU5MDIsIDI4ODIsIDAsIDAsIDEyODQzLCA0NTIwLCAxMjAzNDUsIDkyNDU5LCAwLCA5ODM2NTEsIDAsIDczODYwLCAwLCAwLCAKKyAgICA2NDM0NSwgMCwgOTIwMSwgMTI4MzE0LCAxOTQ5NDAsIDAsIDAsIDQzNjc5LCA5MTc1ODUsIDY1MTE3LCA5MjI3MCwgMCwgCisgICAgMTA0MjcsIDAsIDM4NDQsIDEyMDY3NSwgOTc1NSwgMTExMCwgNjYxMiwgMTIyMjIsIDAsIDEyODc4OSwgMCwgMCwgNzgzLCAKKyAgICAxOTQ5MzUsIDAsIDAsIDk4MzA2NCwgMTk0NzIwLCA2NTA1NiwgMzYyMCwgNDExODAsIDY4Mzc4LCA0NTU2LCAwLCAwLCAKKyAgICAxOTQ5MzMsIDc0MjUwLCAwLCA2NzY1NywgMTA1MTAsIDQzODIsIDY2NDgyLCAwLCAwLCAxMjc1MjcsIDkxNzcsIDg5MDIsIAorICAgIDkzOTU4LCA5ODM5LCAwLCAxMjg5MSwgOTgzNzQ2LCA5ODM2MjcsIDYzOTk5LCAyMDE2LCA0MTkxNywgOTc4OCwgNjM5MjgsIAorICAgIDAsIDE4NjIsIDY1ODAwLCA5MTU1LCA2NjYyMywgOTc4NiwgNjUwODIsIDQxOTE5LCA4NTc5LCA0MTkxNCwgNzk4MSwgMCwgCisgICAgNjYwMTcsIDQ1MDgsIDY0ODgzLCA5MjQ1NiwgOTI1MjIsIDEyNzgxNCwgMCwgNjQ1OTIsIDc0Mjc2LCAxMjAwODAsIDY3ODQsIAorICAgIDc4Nzg4LCA2ODE4MSwgMCwgMCwgMCwgMTI3NTM0LCAxMjE0NywgOTAyNCwgNjYzNzgsIDY2NDcyLCA5ODM5MjAsIDY0Mjg5LCAKKyAgICA2NTI4OSwgNzgxNTEsIDY2NjU4LCAxOTQ5MjksIDY0NTA5LCA3ODE1MiwgMCwgMTI2NTA1LCAxMTA1MSwgOTgzMjg4LCAwLCAKKyAgICAxMTM1NSwgNjU4ODUsIDAsIDEyODMxMCwgNDEyMTQsIDAsIDEyMjk5LCAwLCA3NTAwLCA0NTA2LCA3NzczLCAwLCAwLCAKKyAgICA5OTYzLCA2ODY0OSwgMTI2NjA5LCA0MDQwLCAxMjA1NzAsIDYxNjcsIDAsIDYzOTIyLCA2NTk0LCA5ODM3MzEsIDAsIDAsIAorICAgIDM2MjQsIDQzMDM2LCAwLCA2Mzg3LCA2Mzk5MCwgMTk5NDcsIDYzOTg4LCA0MTk1NSwgMCwgNjM5OTMsIDEwNDQwLCA5NjExLCAKKyAgICA2NTYwNSwgNjgwMywgMCwgNzczOCwgNjM5ODYsIDExNDQ2LCA2Mzk4NCwgOTI2NDEsIDM0MzUsIDc4MTY0LCA0MzgxNCwgCisgICAgNDM4MTAsIDcwMjksIDY0MjU4LCA0MTI5MiwgMTE4ODk4LCAxMjc0OCwgNDI3NDIsIDk1MTcsIDExNTE4LCAwLCA3ODc5MCwgCisgICAgMCwgNjc5OTMsIDYzOTU2LCA0MjQ1OCwgNjM5NTQsIDYzOTUzLCA2Mzk2MCwgOTU5MSwgNDUxNiwgMTAyMTcsIDY4MzcwLCAKKyAgICAxMTQ2OSwgNjk2OTcsIDQyMzA2LCAyNzIzLCAxMTg5NDcsIDAsIDAsIDAsIDAsIDAsIDExMzk3LCAyODgwLCAwLCAwLCAKKyAgICAyODcyLCAwLCAwLCAzNDk4LCA0Mzc4LCA5MTc1MzksIDQyNzAsIDAsIDY1NTUxLCA2ODIwNSwgNjYzMywgNDMzODcsIDAsIAorICAgIDUyMzAsIDAsIDAsIDAsIDAsIDAsIDgxNjEsIDM5MywgMTIwMTMsIDAsIDAsIDEyNjQ3OSwgNDE1LCA2Mzk2NCwgNjM5NjMsIAorICAgIDQyMzQ1LCA5MjMxMCwgNTE4MywgMTg3NywgNDI0OTgsIDAsIDI5MjcsIDAsIDYzOTYxLCA0NDcyLCAwLCAwLCA3ODE1OSwgCisgICAgNjk2OTksIDkxNzkzNiwgNDIzNDAsIDQ3NTYsIDEyODA3OCwgNzA4MSwgMTA3MzAsIDc2OTEsIDEwMzMxLCA2MzgzMCwgCisgICAgMTE5NjI1LCA0MjkyMiwgNDIxMDMsIDg2MjgsIDk4MTMsIDAsIDQyNDUzLCAxNjA0LCA5NTY1LCAxMDUzOSwgNjk3MDEsIAorICAgIDY1NzY0LCA0MTQxNSwgNjU3NjcsIDAsIDg0NTcsIDQyMzAxLCAxMTM3MiwgNjQ4NzMsIDExOTkyLCAwLCAwLCA2Mzk4MCwgCisgICAgMTE4MDEsIDM2MjIsIDk4MzEyNCwgNjQzMzYsIDEyMDE3LCAxMDQ2MywgNjM5ODEsIDQ5NjcsIDY0MTg5LCAxOTY2LCAKKyAgICA0MzYyOCwgMCwgOTgzMjg0LCAwLCAwLCA2Mzk3MSwgNDM0NywgNDQxNiwgNDIwOTgsIDExMDA5LCAxMDY5NCwgNjM5NzMsIAorICAgIDQwMiwgMCwgMTMxNDcsIDEyODY5MiwgNDIxMDAsIDY0NjQ2LCAxMzIyOCwgMCwgNDE4NzUsIDM1MTUsIDc0MjUyLCAxMTgwNSwgCisgICAgMCwgMTEzMDIsIDYyNTksIDQzMzk1LCAwLCAwLCAxOTQ2NzAsIDAsIDkyMzUxLCAwLCA3NDQyNSwgMTEyOTksIDE1NjEsIDAsIAorICAgIDkyMzU5LCA2NDk0MiwgOTgzNTU5LCAxOTQ3MzMsIDk4MzY3NywgMTk0NzMyLCAwLCA3NDMwMSwgMCwgMTEyODAsIDAsIAorICAgIDY5Nzg0LCA3NDA2MCwgMCwgMCwgMTE5NjY0LCA1MTQ1LCAxMjQ4NiwgNjUwMTgsIDY2NTE2LCA1NDA5LCAxMjczNzksIAorICAgIDE5NDY2OSwgNzQwMiwgNTM5OSwgOTY4NSwgNzQwODksIDc5NTIsIDU0MDEsIDAsIDY2NjE2LCA2ODQyMSwgOTgzOTEwLCAwLCAKKyAgICA1NDA1LCAxMjc4NzUsIDY0ODY2LCAwLCAxMTk1ODMsIDEyODM0NSwgNzg3ODQsIDc0MjQ4LCAxMTMzMCwgMTk0NzIzLCAKKyAgICA2NDY5MCwgMzI1NCwgMCwgMCwgMTI4MjA3LCA0MjM5MCwgNDM2NzgsIDE5NDcyNSwgOTgzOTAwLCA2NTA3NywgMCwgNjM4OCwgCisgICAgMzM1NSwgOTUwOCwgOTg2NywgNTcyMywgMTE1MjAsIDU2MTEsIDAsIDMzNzcsIDAsIDAsIDAsIDAsIDc4MjI4LCAwLCAKKyAgICA5ODM3NTMsIDQyNjkxLCA5MTc4ODYsIDEyNzE5OCwgNzQ3NjcsIDAsIDEyNzA3NSwgMTM3OSwgMjQ2LCAwLCA5ODM3NTIsIAorICAgIDM3ODgsIDk4MzEwNiwgMTEwNDEsIDkyNTQ5LCA2NjMwNCwgMCwgMCwgODkxNywgNDI0MDMsIDMwMSwgMCwgMCwgMCwgMCwgMCwgCisgICAgOTgzNjg4LCAxMDY1NiwgMCwgNjUyMTQsIDExOTI0MiwgNDI1NjcsIDkyMjE3LCAxMzE2MywgOTgzMjAyLCAxMjA4MzEsIAorICAgIDc0NTk3LCAzMTgyLCAwLCAwLCAwLCA2NTAzNCwgNjU4ODksIDQyMTY5LCA0NzU1LCA3NDI0NCwgMTk0NjIxLCAxMTQ0MywgMCwgCisgICAgNjYzMTksIDc0NTk4LCA2MDgsIDYwMCwgMCwgMTIxOSwgMzkzNCwgNjQyMDYsIDExNDgzLCA3NDUxMCwgMCwgNzQ0ODUsIAorICAgIDQyNDQyLCA2NTQ3MCwgOTgzODk4LCA2NDIwMiwgMTMxNjAsIDc3NTksIDQyNDgyLCA0ODUsIDEyODAwNiwgMCwgOTgyOCwgMCwgCisgICAgMCwgNDIyODAsIDAsIDkzNTEsIDc3NzgsIDY0Mzc5LCA3NDk2LCA0MjQzMSwgNjkxNiwgMTIwOCwgMCwgMTE5NjMxLCAKKyAgICAxMTAwMiwgNDI0NzAsIDAsIDExODk0NiwgMCwgMCwgNzQwNDEsIDAsIDcwMDQ1LCA0MzUzOSwgNTQxMSwgNDIxOTYsIDAsIDAsIAorICAgIDAsIDkxNTAsIDAsIDQyMzkzLCAxMzA4NiwgMTMxMCwgMTk0Njg3LCA5MzM3LCAxMjA1MiwgMTA2NDMsIDU1MjcxLCAKKyAgICA5ODMxNzksIDEyMTY2LCAyNTQ2LCAxOTQ2ODMsIDIxMywgMTE4ODUyLCA2NTYxMSwgMCwgMCwgMTk0NzU2LCA3NDMxMCwgCiAgICAgNjU1NCwgMCwgMTE5MTQsIDU0NTIsIDAsIDAsIDAsIDAsIDAsIDE5NDY4MSwgOTI1NjAsIDI3MTMsIDAsIDk2NTAsIDQzMzMwLCAKICAgICAwLCAxOTQ2NzUsIDE0MDYsIDAsIDAsIDkyNjU5LCAwLCA2ODIyMywgNDE0MywgMTk0Njc3LCAwLCA2NTc0OCwgNDE0MSwgCiAgICAgOTY4MiwgNjUyODcsIDE1MDgsIDEyNzAxMywgODc3OSwgMTA1NjksIDg3MjUsIDEzMjk5LCA2NjYzOCwgNjU3NTAsIDQyMjYzLCAKICAgICA0MTQ1LCA2MzgwLCA2NTc1MSwgNjY2MTMsIDQzOTk0LCA2NTczOCwgNTUyNTAsIDkxODUsIDk1NTAsIDAsIDQzNDAzLCAwLCAKLSAgICAwLCAwLCA2NTczNiwgNDE5NTEsIDY0ODE2LCA2NTc1NiwgMCwgMTI5NTUsIDEwNTk2LCAyODg4LCAwLCAwLCAwLCA5NjU3LCAKLSAgICA5MDE5LCAxOTQ3NjYsIDAsIDI4NzgsIDUzOTAsIDAsIDE5NDk2MSwgMCwgNjg2NzksIDQzNTUyLCA3NTAxLCA2MzI4LCAwLCAKLSAgICAxMDQyOSwgMTAzNjUsIDAsIDAsIDQxOTQ2LCA3NTAzLCA1MjM1LCA4MDMsIDY4MzgxLCAwLCAwLCA4OTg2LCAwLCAxMDYzMiwgCi0gICAgMTE5MzQsIDExNDUyLCAxMzMyLCAwLCAwLCAwLCAwLCAxMTg4ODcsIDE3OTEsIDUxOTEsIDkyODgsIDY0ODIyLCAyODkyLCAwLCAKLSAgICA0MzM5NCwgNTU1LCAwLCAwLCA2NjY0NiwgMCwgMTE5MDAyLCAxMzE1MSwgNzQ1MTIsIDcyODksIDc0MDU1LCAwLCA4ODU0LCAKLSAgICA2NDE2MiwgNTg1OCwgNDE5MjcsIDEwNTgyLCAwLCAxNzg0LCAxMzYxLCAxOTUwNDcsIDAsIDc5MDUsIDAsIDY0ODY4LCAKLSAgICAxMjg4MTMsIDEzMTU4LCA5MjE2NiwgNzIxMSwgMCwgOTM3MSwgNzM5NzMsIDAsIDY4MjgsIDE2MjUsIDkyMzAyLCAwLCAKLSAgICAxMzQyLCA2ODQ0MCwgNjQxNzEsIDAsIDEwOTAzLCAwLCAwLCAwLCAwLCAwLCA0NDgyLCA0MTYwNiwgMCwgMTI4NTY5LCAwLCAKLSAgICAwLCA2NDM4MSwgMCwgMCwgMCwgNDIyNDUsIDAsIDQxOTcyLCAwLCA0NDQsIDAsIDkxMjcsIDY2Njg3LCA2NjYxOSwgMCwgCi0gICAgNzgwMjUsIDAsIDExMzQ5LCA0MDk5MSwgMCwgMCwgMTE5NTk5LCAxMjA4MzAsIDAsIDExOTcsIDEyODI4MiwgMTE0OSwgCi0gICAgMTk0OTcwLCAwLCAwLCA0MDk5MCwgMCwgMCwgMzQ5MiwgMCwgMTI3OTQyLCAwLCAwLCAwLCAxMjgzOCwgMCwgMTk5NDgsIDAsIAotICAgIDMwOTksIDAsIDAsIDQxMDg3LCAwLCAwLCAwLCAxMTkwNTksIDEyMDM2LCA0MTMwOSwgMCwgMCwgODE1MiwgMCwgNjQ0MjgsIAotICAgIDEyMjI3LCAwLCAwLCAxMjgyOCwgMTI3NTExLCAwLCAwLCAxMjA3MDgsIDAsIDAsIDEwMzg2LCAxMTk1NzQsIDAsIDAsIAotICAgIDkyNjgwLCAwLCA2ODE1NCwgMCwgMTc0MywgMCwgMCwgOTIyMzksIDY1MTg2LCAwLCAwLCA5NjA2LCAwLCAwLCA2NDQzOSwgMCwgCi0gICAgMCwgOTI2ODYsIDAsIDAsIDE5NDk2NywgMCwgMCwgMzM5NSwgOTM2MiwgMTA4NzgsIDAsIDAsIDc4MzYyLCA2NDgzMCwgMCwgCi0gICAgMCwgNDEwOTEsIDM0MjYsIDEzNDQsIDg4NzAsIDAsIDAsIDQ3MzUsIDEyNzAxNywgNjExOSwgMTI4MjIsIDQyNjk5LCAwLCAwLCAKLSAgICA3NDgxOCwgNTM5NiwgMCwgNDI2MzcsIDQxMDgwLCAwLCAxMjAzOSwgMTA1NTksIDAsIDExODg5MiwgMCwgOTQ3MiwgMCwgCi0gICAgMTE5MjksIDAsIDcxNzAsIDk1OTYsIDYxMzAsIDEyODgyNiwgNDM2MjksIDExNTc5LCAxOTQ3NDEsIDAsIDE5NDc0MCwgCi0gICAgMTI4NjkxLCA5MjE4NSwgNjY2OTksIDY0NDQwLCAxMDA0LCA5MjU4NCwgMTk0NzM3LCA0MzIzNCwgNjYwMDgsIDEyNjI3LCAwLCAKLSAgICA2ODQxNCwgMCwgNDM2MTksIDQzMzgyLCAxMTMwMCwgNDMzMDQsIDk2ODYsIDU4OTAsIDExNzc2LCA3NTU4LCAxMjcxNTgsIAotICAgIDY1NjI3LCAwLCAxMDcxOCwgMTMxNTQsIDM0NjEsIDkxMzksIDAsIDAsIDAsIDAsIDY1MzY1LCA3Mzg3NywgNjU2MjgsIAotICAgIDc4MDE5LCAwLCAwLCA0MTcwOCwgMTI4NjAsIDI2NDEsIDEyMDY5LCAxMDgzOCwgNTQwMywgMTAzNTIsIDczOTE3LCAxMDA2MSwgCi0gICAgNDMyMzcsIDAsIDUxNDAsIDIwOSwgMTI4ODQ3LCA0MTcwNCwgNDEwNTYsIDQzMDc4LCAxMjgxMjUsIDExODgwOSwgMCwgCi0gICAgMTA4OTksIDY1NDY5LCAwLCAwLCAwLCAyNDEwLCA5OTMsIDAsIDEyMDU4OSwgMTIwNjg5LCA3ODY5MywgMCwgMCwgNzIzMiwgCi0gICAgMCwgMTE5MjUzLCAwLCA3MTEwLCA3NDQ2MiwgMjA2NiwgMTA0ODksIDQyMTY2LCA0MzQ2MywgMTA2NTksIDM2MDAsIDAsIAotICAgIDQyMjQsIDEzMzYsIDQxNTE4LCAwLCAwLCAwLCAwLCA0MTEzOSwgNjQ4MjAsIDkyNTM4LCAxMjk2NiwgNDExMzQsIDAsIDAsIAotICAgIDAsIDAsIDI3MiwgNDI2MywgODc5MywgMCwgMCwgNDE1MDIsIDAsIDk4MywgMTI1NDksIDAsIDAsIDExOTAsIDQxMDksIAotICAgIDEzMzUsIDg0MSwgNTg4OCwgNDEzNTgsIDY0ODYzLCA5NTQ0LCA0MzQ4MSwgMCwgMCwgMCwgMjA5OSwgNTEyMCwgMjQwOSwgCi0gICAgNzc5OSwgMCwgNzQ0MjQsIDAsIDAsIDQ3MzEsIDAsIDY2NjI5LCAwLCAwLCAxMjU1LCA0MTQ5LCA5MjQ3LCAwLCA5OTEzLCAwLCAKLSAgICAwLCA2NDkxNCwgOTE3Nzg3LCA2NTEwMSwgMCwgMTE2OTQsIDkyNDc1LCAxMTY5MCwgNTgzNSwgMTI3MTY0LCA2NjYyNSwgCi0gICAgMTA4NDIsIDQxMzU0LCA0MjEyMywgNDMwOTcsIDExNjg4LCA2NjYzNCwgMTA5NCwgMTk0LCA2NDY5MiwgMCwgODE4MCwgMCwgCi0gICAgMCwgOTk3MiwgNzM4NjUsIDQ1MTksIDYxMTQsIDEwODk4LCA0MzA3MiwgMCwgMCwgMTI4ODU4LCAwLCAwLCAxMDY5NSwgMCwgCi0gICAgNzU0MCwgMCwgODgxLCA3ODU3LCA2MDY3LCA2NTE2NCwgMCwgMCwgMCwgMTMzMTEsIDY4NDAzLCA0MTg1NywgNjQzMjEsIAotICAgIDgzNTksIDAsIDEyNjg5LCAwLCAxOTQ1OTQsIDAsIDAsIDAsIDY4MTgzLCAwLCAwLCAxMjg3LCA1NDM2LCAwLCAwLCA3NDE0MiwgCi0gICAgOTIzMjgsIDc0MTUyLCAxMTkwNzgsIDYwNTEsIDEwNDk3LCA2OTY2OCwgODk4NSwgMTIxMDksIDAsIDAsIDAsIDAsIDAsIAotICAgIDM2NTIsIDEwNTM3LCAwLCAxMjc2LCAxMjA0NDAsIDY1NDksIDI3OSwgNzM3NDUsIDAsIDAsIDAsIDE0ODksIDAsIDAsIDAsIAotICAgIDM4OTksIDEwMDcsIDQyMTI0LCAwLCA0MjEyMiwgOTIzMzcsIDAsIDAsIDExOTg1LCAxMzQ1LCA3ODYwMCwgMCwgMCwgODk1NiwgCi0gICAgNDMwODMsIDExOTgzMCwgNDIxMzgsIDc4NjEwLCAwLCAxMjE1MSwgNzg2MDgsIDc4NjA0LCA3ODYwNSwgNjI4NSwgNzg2MDMsIAotICAgIDc4NjEyLCA3ODYxMywgNjU5NDIsIDQ5MiwgODY4NSwgMCwgMCwgMCwgNzg2MjIsIDQzNzEyLCAyNTgyLCAxMTQ3MCwgCi0gICAgNjQ1MzgsIDc0NDQsIDc4NjE1LCA3ODYxNiwgNDE1NTAsIDAsIDczODM3LCAxMTk4MjMsIDI1MjcsIDExOTgyNCwgMTk3LCAKLSAgICAyNzk5LCA5MjU5NCwgNDE5NDQsIDEyMDI3NiwgOTkzMywgMCwgNjY1MTUsIDc2NywgNTUyNCwgNzAyOCwgMCwgMCwgCi0gICAgMTE5ODI3LCAxMTk4MTcsIDExOTgyOCwgNzg2MzMsIDEwODk2LCAwLCAxNzk5LCAxMjA0OTcsIDY5NzEsIDc0MzM2LCAKLSAgICAxMjgzNDIsIDAsIDY1MzQwLCAxMTg5NzksIDQxNTUxLCAyNDM0LCAwLCAwLCAxMjA1NzksIDAsIDQ2MzEsIDAsIDAsIDY0MDcsIAotICAgIDAsIDYzMzgsIDQzMjE0LCAwLCA3NTcwLCAwLCAzMTkyLCAwLCA4NDE0LCAwLCAwLCAwLCAwLCAwLCA5MTY0LCA2NjYxMiwgMCwgCi0gICAgMzE3MSwgNjYyMywgNDk2MSwgNjgzOTYsIDg4NiwgNTUyMTYsIDg2NTQsIDc4ODMyLCA5OTkzLCA3NDM5MCwgNjQ2MDMsIDAsIAotICAgIDY5MjQxLCA5NTk5LCA3ODYyOSwgNDMwODQsIDc4NjI3LCA3ODYyOCwgNzg2MjUsIDIzOTksIDY5NjkzLCA4OTk0LCAxMDk0NCwgCi0gICAgNDEyMDgsIDAsIDQxMTY4LCA4MTc4LCAwLCAzMzY3LCA5MjMzNCwgNDI1MTAsIDc4NjQxLCA3ODYzNiwgNjgwNCwgNzg2MzQsIAotICAgIDE5NDcsIDAsIDAsIDkyNjgxLCA0Mjc1OSwgMTEwNjgsIDE3MDUsIDkzMzEsIDAsIDc0Nzk4LCA5MTgxLCA2NTM1OSwgMCwgCi0gICAgODAxNywgMCwgNjUwOTYsIDY2NzIwLCAwLCA0MzQ3NSwgMCwgNDkwOSwgMTIxMjYsIDEyODY3MywgMTIwNjk2LCA0OTA0LCAwLCAKKyAgICAwLCAwLCA2NTczNiwgNDE5NTEsIDY0ODE2LCA2NTc1NiwgOTgzMjAzLCAxMjk1NSwgMTA1OTYsIDI4ODgsIDE5NDY0NSwgMCwgCisgICAgMCwgOTY1NywgOTAxOSwgMTk0NzY2LCAwLCAyODc4LCA1MzkwLCAwLCAxOTQ5NjEsIDAsIDY4Njc5LCA0MzU1MiwgNzUwMSwgCisgICAgNjMyOCwgMCwgMTA0MjksIDEwMzY1LCAwLCAwLCA0MTk0NiwgNzUwMywgNTIzNSwgODAzLCA2ODM4MSwgMCwgMCwgODk4NiwgCisgICAgMTI2NTQyLCAxMDYzMiwgMTE5MzQsIDExNDUyLCAxMzMyLCAwLCAwLCAxMjY2NDcsIDAsIDExODg4NywgMTc5MSwgNTE5MSwgCisgICAgOTI4OCwgNjQ4MjIsIDI4OTIsIDAsIDQzMzk0LCA1NTUsIDAsIDAsIDY2NjQ2LCAwLCAxMTkwMDIsIDEzMTUxLCA3NDUxMiwgCisgICAgNzI4OSwgNzQwNTUsIDY0MTYxLCA4ODU0LCA2NDE2MiwgNTg1OCwgNDE5MjcsIDEwNTgyLCAwLCAxNzg0LCAxMzYxLCAKKyAgICAxOTUwNDcsIDAsIDc5MDUsIDAsIDY0ODY4LCAxMjg4MTMsIDEzMTU4LCA5MjE2NiwgNzIxMSwgMCwgOTM3MSwgNzM5NzMsIAorICAgIDkxNzU1MywgNjgyOCwgMTYyNSwgOTIzMDIsIDAsIDEzNDIsIDY4NDQwLCA2NDE3MSwgMTI2NzA0LCAxMDkwMywgOTgzNDg2LCAKKyAgICAwLCAwLCAwLCAwLCA0NDgyLCA0MTYwNiwgMCwgMTI4NTY5LCA5ODMxMTIsIDAsIDY0MzgxLCAwLCAwLCAxOTUwOTAsIAorICAgIDQyMjQ1LCAxMjY0NjcsIDQxOTcyLCAwLCA0NDQsIDAsIDkxMjcsIDY2Njg3LCA2NjYxOSwgMTI2NDg5LCA3ODAyNSwgMCwgCisgICAgMTEzNDksIDQwOTkxLCA5MTc1NzAsIDAsIDExOTU5OSwgMTIwODMwLCAwLCAxMTk3LCAxMjgyODIsIDExNDksIDE5NDk3MCwgCisgICAgMCwgMCwgNDA5OTAsIDQzNzY1LCAwLCAzNDkyLCAwLCAxMjc5NDIsIDAsIDAsIDAsIDEyODM4LCA5ODM5NjksIDE5OTQ4LCAwLCAKKyAgICAzMDk5LCAwLCAwLCA0MTA4NywgMCwgMCwgMCwgMTE5MDU5LCAxMjAzNiwgNDEzMDksIDAsIDAsIDgxNTIsIDAsIDQxNTUwLCAKKyAgICAxMjIyNywgOTgzNjEzLCAwLCAxMjgyOCwgMTI3NTExLCAwLCAwLCAxMjA3MDgsIDAsIDAsIDEwMzg2LCAxMTk1NzQsIDAsIDAsIAorICAgIDkyNjgwLCA5ODM3ODAsIDY4MTU0LCAwLCAxNzQzLCAwLCAwLCA5MjIzOSwgNjUxODYsIDkxNzU3MSwgMCwgOTYwNiwgMCwgMCwgCisgICAgNjQ0MzksIDAsIDAsIDkyNjg2LCAwLCAwLCAxOTQ5NjcsIDAsIDAsIDMzOTUsIDkzNjIsIDEwODc4LCAwLCAwLCA3ODM2MiwgCisgICAgNjQ4MzAsIDAsIDEyNjU1NywgNDEwOTEsIDM0MjYsIDEzNDQsIDg4NzAsIDAsIDAsIDQ3MzUsIDEyNzAxNywgNjExOSwgCisgICAgMTI4MjIsIDQyNjk5LCAwLCA5ODM4MTUsIDc0ODE4LCAxNDIzLCAwLCA0MjYzNywgNDEwODAsIDAsIDEyMDM5LCAxMDU1OSwgCisgICAgMCwgMTE4ODkyLCAwLCA5NDcyLCAwLCAxMTkyOSwgMCwgNzE3MCwgOTU5NiwgNjEzMCwgMTI4ODI2LCA0MzYyOSwgMTE1NzksIAorICAgIDc4NzEzLCAwLCAxOTQ3NDAsIDEyODY5MSwgOTIxODUsIDY2Njk5LCA2NDQ0MCwgMTAwNCwgOTI1ODQsIDE5NDczNywgCisgICAgNDMyMzQsIDY2MDA4LCAxMjYyNywgMCwgNjg0MTQsIDAsIDQzNjE5LCA0MzMwMywgMTEzMDAsIDQzMzA0LCA5Njg2LCA1ODkwLCAKKyAgICAxMTc3NiwgNzU1OCwgMTI3MTU4LCA2NTYyNywgMCwgMTA3MTgsIDEzMTU0LCAzNDYxLCA5MTM5LCAwLCAwLCAwLCAwLCAKKyAgICA2NTM2NSwgNzM4NzcsIDY1NjI4LCA3ODAxOSwgMTIwMzE5LCAwLCA0MTcwOCwgMTI4NjAsIDI2NDEsIDEyMDY5LCAxMDgzOCwgCisgICAgNTQwMywgMTAzNTIsIDcwMDg1LCAxMDA2MSwgNDMyMzcsIDAsIDUxNDAsIDIwOSwgMTI4ODQ3LCA0MTcwNCwgNDEwNTYsIAorICAgIDQzMDc4LCAxMjgxMjUsIDExODgwOSwgMCwgMTA4OTksIDY1NDY5LCA5MjM2MiwgMCwgMCwgMjQxMCwgOTkzLCAwLCAKKyAgICAxMjA1ODksIDEyMDY4OSwgNzg2OTMsIDAsIDAsIDcyMzIsIDAsIDExOTI1MywgMCwgNzExMCwgNzQ0NjIsIDIwNjYsIAorICAgIDEwNDg5LCA0MjE2NiwgNDM0NjMsIDEwNjU5LCAzNjAwLCAwLCA0MjI0LCAxMzM2LCA0MTUxOCwgMCwgMCwgMCwgMCwgCisgICAgNDExMzksIDY0ODIwLCA5MjUzOCwgMTI5NjYsIDQxMTM0LCAwLCAwLCAwLCAwLCAyNzIsIDQyNjMsIDg3OTMsIDAsIDAsIAorICAgIDQxNTAyLCAwLCA5ODMsIDEyNTQ5LCAwLCAwLCAxMTkwLCA0MTA5LCAxMzM1LCA4NDEsIDU4ODgsIDQxMzU4LCA2NDg2MywgCisgICAgOTU0NCwgNDM0ODEsIDAsIDE5NDgwNiwgNzAwMjcsIDIwOTksIDUxMjAsIDI0MDksIDc3OTksIDAsIDc0NDI0LCAwLCAwLCAKKyAgICA0NzMxLCAwLCA2NjYyOSwgMCwgMCwgMTI1NSwgNDE0OSwgOTI0NywgMCwgOTkxMywgMCwgMCwgNjQ5MTQsIDkxNzc4NywgCisgICAgNjUxMDEsIDAsIDExNjk0LCA5MjQ3NSwgMTE2OTAsIDU4MzUsIDEyNzE2NCwgNjY2MjUsIDEwODQyLCA0MTM1NCwgNDIxMjMsIAorICAgIDQzMDk3LCAxMTY4OCwgNjY2MzQsIDEwOTQsIDE5NCwgNjQ2OTIsIDAsIDgxODAsIDAsIDAsIDk5NzIsIDczODY1LCA0NTE5LCAKKyAgICA2MTE0LCAxMDg5OCwgNDMwNzIsIDAsIDAsIDkzOTYwLCA5ODMzMTQsIDEyNjU4MSwgMTA2OTUsIDAsIDc1NDAsIDAsIDg4MSwgCisgICAgNzg1NywgNjA2NywgNjUxNjQsIDAsIDAsIDAsIDEzMzExLCA2ODQwMywgNDE4NTcsIDY0MzIxLCA4MzU5LCAwLCAxMjY4OSwgCisgICAgMCwgMTk0NTk0LCAwLCA5ODMzMDQsIDk4Mzg3MiwgNjgxODMsIDAsIDk4MzMwNiwgMTI4NywgNTQzNiwgMCwgOTgzMzA5LCAKKyAgICA3NDE0MiwgOTIzMjgsIDc0MTUyLCAxMTkwNzgsIDYwNTEsIDEwNDk3LCA2OTY2OCwgODk4NSwgMTIxMDksIDk4MzMxNSwgMCwgCisgICAgMTI3MjQyLCAwLCAwLCAzNjUyLCAxMDUzNywgMCwgMTI3NiwgMTIwNDQwLCA2NTQ5LCAyNzksIDczNzQ1LCAwLCAwLCAwLCAKKyAgICAxNDg5LCAwLCAwLCAwLCAzODk5LCAxMDA3LCA0MjEyNCwgOTgzNTU3LCA0MjEyMiwgOTIzMzcsIDkyMzY3LCAwLCAxMTk4NSwgCisgICAgMTM0NSwgNzg2MDAsIDAsIDAsIDg5NTYsIDQzMDgzLCA5NDA1NywgNDIxMzgsIDc4NjEwLCAwLCAxMjE1MSwgNzg2MDgsIAorICAgIDc4NjA0LCA3ODYwNSwgNjI4NSwgNzg2MDMsIDc4NjEyLCA3ODYxMywgNjU5NDIsIDQ5MiwgODY4NSwgMCwgOTgzNzUwLCAwLCAKKyAgICA3ODYyMiwgNDM3MTIsIDI1ODIsIDExNDcwLCA2NDUzOCwgNzQ0NCwgNzg2MTUsIDc4NjE2LCAyMjk3LCAwLCA3MzgzNywgCisgICAgMTE5ODIzLCAyNTI3LCAxMTk4MjQsIDE5NywgMjc5OSwgOTI1OTQsIDQxOTQ0LCAxMjAyNzYsIDk5MzMsIDAsIDY2NTE1LCAKKyAgICA3NjcsIDU1MjQsIDcwMjgsIDAsIDAsIDExOTgyNywgMTE5ODE3LCAxMTk4MjgsIDc4NjMzLCAxMDg5NiwgMCwgMTc5OSwgCisgICAgMTIwNDk3LCA2OTcxLCA3NDMzNiwgMTI4MzQyLCAwLCA2NTM0MCwgMTE4OTc5LCA0MTU1MSwgMjQzNCwgOTQwMTgsIDAsIAorICAgIDEyMDU3OSwgMCwgNDYzMSwgMCwgMCwgNjQwNywgMCwgNjMzOCwgNDMyMTQsIDAsIDc1NzAsIDAsIDMxOTIsIDAsIDg0MTQsIAorICAgIDAsIDkzOTgzLCAwLCAwLCAwLCA5MTY0LCA2NjYxMiwgOTM5NTksIDMxNzEsIDY2MjMsIDQ5NjEsIDY4Mzk2LCA4ODYsIAorICAgIDU1MjE2LCA4NjU0LCA3ODgzMiwgOTk5MywgNzQzOTAsIDY0NjAzLCA3MDA2NiwgNjkyNDEsIDk1OTksIDc4NjI5LCA0MzA4NCwgCisgICAgNzg2MjcsIDc4NjI4LCA3ODYyNSwgMjM5OSwgNjk2OTMsIDg5OTQsIDEwOTQ0LCA0MTIwOCwgOTgzNzA0LCA0MTE2OCwgCisgICAgODE3OCwgMCwgMzM2NywgOTIzMzQsIDQyNTEwLCA3ODY0MSwgNzg2MzYsIDY4MDQsIDc4NjM0LCAxOTQ3LCAwLCAwLCAKKyAgICA5MjY4MSwgNDI3NTksIDExMDY4LCAxNzA1LCA5MzMxLCAwLCA3NDc5OCwgOTE4MSwgNjUzNTksIDAsIDgwMTcsIDExOTgzMSwgCisgICAgNjUwOTYsIDY2NzIwLCAwLCA0MzQ3NSwgMCwgNDkwOSwgMTIxMjYsIDEyODY3MywgMTIwNjk2LCA0OTA0LCA5ODMzMjUsIAogICAgIDY5NjUwLCAxMzY1LCA5MjUzLCA0Mjc1NywgNDM0MzYsIDc0NjIsIDAsIDAsIDAsIDAsIDExOTU4NywgNjQ0MTUsIDAsIDAsIAotICAgIDUzOTgsIDAsIDEyNzM4NiwgMCwgMCwgMCwgMTE5MDE1LCAwLCAwLCA5NDc2LCAwLCAwLCAxMjc2MywgMCwgMzYyOSwgMCwgCi0gICAgMTMwMDUsIDAsIDM2MjgsIDAsIDAsIDkyNTAyLCAzNDY5LCA0MjEwNywgNDIxMTYsIDkxNzU3OCwgNjQ4MDksIDI5MjgsIAotICAgIDQ5MDUsIDk4NTMsIDg1MSwgOTA0MCwgMCwgNjQ2NjUsIDQzMDg2LCA5MTE0LCAwLCA0MjU4MywgOTMxNSwgNDgyMiwgNDkwNiwgCi0gICAgMzg1MiwgMjg0NywgMTE5ODIxLCAzMjM2LCAxMTMxNywgMTI1MSwgNzc3NywgNDE4NTIsIDExNDEwLCAxMDk2NCwgMCwgCi0gICAgNDMyMjIsIDEyNjQ2LCAxMjAyNjksIDEwMjU5LCA5ODY1LCA2NTgyMSwgMCwgNjAxOCwgOTIyOTAsIDAsIDEyMjc2LCAwLCAKLSAgICA2ODM3MiwgMCwgOTIyNTksIDExOTI0NCwgMCwgMCwgMTA0NjcsIDAsIDI0NDMsIDEwOTE4LCA3ODIxNywgMTE5ODI1LCAKLSAgICAxMDAxLCA5MjQxLCAxOTI3LCAwLCAwLCA3Mzk4NywgMTI3ODg1LCAwLCAwLCAxMTg4MjgsIDEyMDI3MSwgNjU2NzgsIAotICAgIDEyODY3LCAwLCA4MjYwLCA3Nzk0NSwgNzUxOSwgMTE1MDUsIDEyMjc0LCA4OTA0LCA1MTgsIDY1ODU3LCAwLCAxMjg2NzQsIAotICAgIDEzMjA0LCA0Mzg3LCA4NTcsIDAsIDY1MzY5LCAwLCA5MjMzNiwgNDMxMjUsIDEyMDU5MiwgMCwgMCwgMCwgMCwgNTEzNiwgCi0gICAgMTk2OCwgMCwgMTk1MDIzLCAxMzM3LCA2NDk2NywgMTYyOSwgMCwgNzk2LCA2NjUwNiwgMCwgNzQxMjMsIDEyODc3LCAwLCAKLSAgICA0MjMxNCwgNDMzODgsIDAsIDc0NDAzLCA2MTIwLCA0NzgsIDY1MTUxLCA2ODEyOCwgMTI4MTQ3LCA0MzA4MiwgNjAxNiwgMCwgCi0gICAgNDIyODQsIDEyODUwNywgNDI3NiwgMTIwNiwgMzYxOSwgNDE2MzgsIDY5NjkxLCAzODQzLCAxMjAxMSwgODg1MywgMzM2MSwgCi0gICAgMCwgNDkwLCAxMDcxNSwgNzU3OCwgNjgzODQsIDAsIDY1MzUwLCAxMDUzMCwgMTIzNDgsIDg2NTMsIDc0MzE0LCA0MjQzNSwgCi0gICAgNjE1NCwgOTU1MSwgNjUzNTQsIDc4NTIyLCA3ODQsIDQyMzk3LCAzMzQsIDAsIDQyNDE2LCA2NTM1NiwgNjUyNzMsIDc3OTg3LCAKLSAgICA2OTY2NiwgNDQ0MiwgMTAzNjQsIDAsIDc3OCwgNDE2MjYsIDQyNDU1LCA3OTg5LCA3NDA2MywgMzIyNywgMCwgMTI3Mjc1LCAKLSAgICA3Mzk4MywgMjkxNSwgMTE1MDIsIDQxMDIyLCA0MTcwMiwgMTAzMDksIDEyNzAzNSwgNzgzMjAsIDAsIDY5NzUsIDAsIDU0MTUsIAotICAgIDEyMTc2LCAwLCA3NDE5MywgMzQ2MiwgNjUyMTUsIDQyNjI5LCA3ODY5MSwgNzM3ODQsIDAsIDAsIDk3NTksIDAsIDc4MzI0LCAKLSAgICAxMjcyNTQsIDgxMTQsIDc4Njk4LCA3ODY5NywgNzg2OTYsIDc4Njk1LCA4NzEwLCA0MjQ5NSwgMTE4OTU2LCAwLCA0MDUxLCAKLSAgICAxMDQ2MCwgNDMzNjQsIDExODkxNywgMTM1NiwgMTIxNjEsIDQyNzEzLCAxMjg4NTcsIDEyNzI2OCwgMTYxOSwgOTcwMywgCi0gICAgNDMxNTIsIDQyNDg5LCA0MjExMiwgMCwgMTg3NSwgMTA4MDgsIDQyMTA5LCAxMjAyODQsIDQxODYwLCA2NDg2MiwgMTMzMDUsIAotICAgIDY0OTA3LCA1Mjg5LCAxMzE0NCwgMTI4NjU4LCAwLCA1NTc1LCA5Njc1LCAwLCA1OTQwLCAyMjYsIDI2NDksIDYzMzYsIDAsIAotICAgIDAsIDQzMjM2LCAzMzgyLCA0MjQ0OSwgNjQ5OCwgMTY1OCwgMTE5MzYsIDc4MjMyLCAwLCAxMTI2OSwgMTAxNTEsIDczNzU5LCAKLSAgICA0MzEwMCwgNzQ0NDksIDY1NTA4LCAwLCAwLCAwLCA4OTM1LCA5MTc5ODUsIDAsIDAsIDAsIDYxNiwgNzQ3NTMsIDY1MTc4LCAKLSAgICA0Njg0LCA3ODcwMSwgMTE5NjUzLCAwLCAwLCAwLCA2MDQ4LCA3NDQ2MCwgNDIxMTAsIDczOTY1LCAxMDg3MCwgODU1NywgCi0gICAgMTEwNTQsIDY4NjY0LCAxMTkwNDksIDk2ODEsIDQ0NzUsIDAsIDQxMTQyLCAyMTAwLCAwLCAxMjA3MzEsIDYwMzUsIDAsIAotICAgIDc2NTEsIDEwMjk2LCA2NDQ0MywgMCwgMCwgOTE3OTg3LCAwLCAxMTg5NjYsIDc0MTQ0LCA0MDk5NywgMCwgMTAzOTIsIAotICAgIDEwMzI4LCA0MDk5OCwgNDM0NjIsIDc0NDg4LCAwLCA5ODAwLCA4OTc5LCAwLCAxMTkxMzEsIDQxMDAwLCAwLCAxMTkyMzksIAotICAgIDY0ODcsIDMzODYsIDAsIDEwMzQ0LCAwLCA2NTI5OSwgNTM5NCwgNDMyNDYsIDc4MjQzLCAxMDIyMCwgNjY1MDUsIDQxMjAwLCAKLSAgICAxMjg1ODMsIDQ0MjUsIDAsIDAsIDAsIDQzMDc0LCA3Mzc5OSwgMCwgNzgxNDcsIDAsIDEyMTczLCA3ODU0NSwgMCwgMCwgCi0gICAgNjUzMzgsIDAsIDAsIDExOTU4MiwgNDQ3NCwgMCwgNDMwOTMsIDAsIDE1ODcsIDAsIDEyNzM3MiwgNjQ0NzUsIDEyODA5OCwgCi0gICAgMTM2OSwgMCwgOTk1OSwgNzkyNywgMCwgNDU2MCwgMCwgMCwgOTIyNzcsIDAsIDY0OTQ4LCA0NDMwLCA3NDM0NywgNDI2MDEsIAotICAgIDQ1MTQsIDY2NDM0LCAwLCA4MTk0LCA2NTQ2MiwgMTA2MjYsIDEwOTY1LCAwLCA4ODkzLCAwLCAxMjU0MiwgMCwgNjUzNDEsIAotICAgIDAsIDY1ODI5LCA3OTI1LCAxMTk4MjIsIDEwNDc1LCAwLCAwLCAxMzUyLCAxMTA2OSwgNzcwNywgMTI3NTYwLCAwLCA2NTI3OSwgCi0gICAgMTI3MTAyLCA2ODIwNywgMTI3MTAwLCA2NTYwNSwgNjA0MCwgMTI3MDk3LCAxMDA3MSwgMCwgOTMzNiwgMTI4ODI0LCAwLCAKLSAgICA4ODk5LCA3Nzk4LCA2NDQ3NCwgNjQyNTksIDAsIDY1MTg4LCA3ODIwLCA0MzAxOCwgMCwgMCwgNzc0NiwgMTQ5MiwgNzg1NTEsIAotICAgIDEwODg0LCA3Nzk4MiwgMCwgNTEyNywgMTEyODUsIDQyNTAxLCA1NDk1LCA0MjczLCA0MzA5NSwgNDE0MjYsIDEwODQ5LCAKLSAgICA1NzMwLCAyOTk5LCA2MzQyLCA2ODYzNiwgNzQzMDQsIDM3MSwgNjQzNzMsIDYwMjMsIDE2OSwgNTQ5NywgMTE3MDgsIDAsIDAsIAotICAgIDYzMjMsIDE5NDY4NCwgODIyNCwgMCwgODkzOCwgNjA0MywgMTI3MzgsIDAsIDAsIDUzMjEsIDAsIDE5NDc5OCwgMCwgMjU4OSwgCi0gICAgNzQzMzIsIDE2ODksIDc4MDIsIDQ2ODMsIDc0MzE4LCA0MjcwNCwgMTIwMjk2LCAxMTkwNSwgMCwgMCwgMTI4NTE2LCAKLSAgICAxMjgxNjMsIDc0NTEzLCA2MDQ5LCAwLCA0MDI3LCA4MzQsIDExODk2MiwgMTgwMywgMCwgMTUwMywgMCwgMCwgMCwgNTczMSwgCi0gICAgMTM4MSwgMjM4NywgMCwgMCwgODI4OSwgNjQ1MjUsIDY1ODE3LCAyODgxLCA0MzE0MiwgMCwgOTYwMSwgMjg3OSwgOTY2OCwgCi0gICAgOTc2NiwgMCwgNTcyOSwgOTE3ODMzLCA3NDQxMCwgNjAzNiwgNjQ4ODEsIDQwMjYsIDkzNjEsIDEyNzA5MSwgMjg4NywgMCwgCi0gICAgMzUyNiwgNjI5OCwgMCwgNzc4OTcsIDEyMDA5NSwgNzg1MTksIDAsIDg1NzIsIDYwMjEsIDc3ODk2LCAxMjgyODgsIDc3ODk1LCAKKyAgICA1Mzk4LCAwLCAxMjczODYsIDkzOTUzLCAwLCAwLCAxMTkwMTUsIDAsIDAsIDk0NzYsIDAsIDk4Mzc2OCwgMTI3NjMsIAorICAgIDEyNjYwMywgMzYyOSwgMCwgMTMwMDUsIDAsIDM2MjgsIDAsIDAsIDkyNTAyLCAzNDY5LCA0MjEwNywgNDIxMTYsIDkxNzU3OCwgCisgICAgNjQ4MDksIDI5MjgsIDQ5MDUsIDk4NTMsIDg1MSwgOTA0MCwgMCwgNjQ2NjUsIDQzMDg2LCA5MTE0LCAwLCA0MjU4MywgCisgICAgOTMxNSwgNDgyMiwgNDkwNiwgMzg1MiwgMjg0NywgMTE5ODIxLCAzMjM2LCAxMTMxNywgMTI1MSwgNzc3NywgNDE4NTIsIAorICAgIDExNDEwLCAxMDk2NCwgMCwgNDMyMjIsIDEyNjQ2LCAxMjAyNjksIDEwMjU5LCA5ODY1LCA2NTgyMSwgMCwgNjAxOCwgCisgICAgOTIyOTAsIDAsIDEyMjc2LCAwLCA2ODM3MiwgMCwgOTIyNTksIDExOTI0NCwgMCwgOTgzMjI0LCAxMDQ2NywgMCwgMjQ0MywgCisgICAgMTA5MTgsIDc4MjE3LCAxMTk4MjUsIDEwMDEsIDkyNDEsIDE5MjcsIDAsIDAsIDczOTg3LCAxMjc4ODUsIDAsIDAsIAorICAgIDExODgyOCwgMTIwMjcxLCA2NTY3OCwgMTI4NjcsIDAsIDgyNjAsIDc3OTQ1LCA3NTE5LCAxMTUwNSwgMTIyNzQsIDg5MDQsIAorICAgIDUxOCwgNjU4NTcsIDAsIDEyODY3NCwgMTMyMDQsIDQzODcsIDg1NywgMCwgNjUzNjksIDAsIDkyMzM2LCA0MzEyNSwgCisgICAgMTIwNTkyLCAwLCAwLCAwLCAwLCA1MTM2LCAxOTY4LCA5ODMwNDEsIDEyNjYyNywgMTMzNywgNjQ5NjcsIDE2MjksIDAsIAorICAgIDc5NiwgNjY1MDYsIDAsIDc0MTIzLCAxMjg3NywgMTIwNjQ5LCA0MjMxNCwgNDMzODgsIDAsIDc0NDAzLCA2MTIwLCA0NzgsIAorICAgIDY1MTUxLCA2ODEyOCwgMTI4MTQ3LCA0MzA4MiwgNjAxNiwgMCwgNDIyODQsIDEyODUwNywgNDI3NiwgMTIwNiwgMzYxOSwgCisgICAgNDE2MzgsIDY5NjkxLCAzODQzLCAxMjAxMSwgODg1MywgMzM2MSwgMCwgNDkwLCAxMDcxNSwgNzU3OCwgNjgzODQsIDAsIAorICAgIDY1MzUwLCAxMDUzMCwgMTIzNDgsIDg2NTMsIDc0MzE0LCA0MjQzNSwgNjE1NCwgOTU1MSwgNjUzNTQsIDc4NTIyLCA3ODQsIAorICAgIDQyMzk3LCAzMzQsIDAsIDQyNDE2LCA2NTM1NiwgNjUyNzMsIDc3OTg3LCA2OTY2NiwgNDQ0MiwgMTAzNjQsIDAsIDc3OCwgCisgICAgNDE2MjYsIDQyNDU1LCA3OTg5LCA3NDA2MywgMzIyNywgNjk5MDcsIDEyNzI3NSwgNzM5ODMsIDI5MTUsIDExNTAyLCAKKyAgICA0MTAyMiwgNDE3MDIsIDEwMzA5LCAxMjcwMzUsIDc4MzIwLCAwLCA2OTc1LCAwLCA1NDE1LCAxMjE3NiwgMCwgNzQxOTMsIAorICAgIDM0NjIsIDY1MjE1LCA0MjYyOSwgNzg2OTEsIDczNzg0LCAwLCAwLCA5NzU5LCAwLCA3MDA1NywgMTI3MjU0LCA4MTE0LCAKKyAgICA3ODY5OCwgNzg2OTcsIDc4Njk2LCA3ODY5NSwgODcxMCwgNDI0OTUsIDExODk1NiwgMCwgNDA1MSwgMTA0NjAsIDQzMzY0LCAKKyAgICAxMTg5MTcsIDEzNTYsIDEyMTYxLCA0MjcxMywgMTI4ODU3LCAxMjcyNjgsIDE2MTksIDk3MDMsIDQzMTUyLCA0MjQ4OSwgCisgICAgNDIxMTIsIDEyNzk3OCwgMTg3NSwgMTA4MDgsIDQyMTA5LCAxMjAyODQsIDQxODYwLCA2NDg2MiwgMTMzMDUsIDY0OTA3LCAKKyAgICA1Mjg5LCAxMzE0NCwgMTI4NjU4LCAwLCA1NTc1LCA5Njc1LCAwLCA1OTQwLCAyMjYsIDI2NDksIDYzMzYsIDk4MzI2OSwgCisgICAgMTE5ODMwLCA0MzIzNiwgMzM4MiwgNDI0NDksIDY0OTgsIDE2NTgsIDExOTM2LCA3ODIzMiwgMCwgMTEyNjksIDEwMTUxLCAKKyAgICA3Mzc1OSwgNDMxMDAsIDY5ODg4LCA2NTUwOCwgMCwgMCwgMCwgODkzNSwgOTE3OTg1LCAwLCAwLCAwLCA2MTYsIDc0NzUzLCAKKyAgICA2NTE3OCwgNDY4NCwgNzg3MDEsIDExOTY1MywgMCwgMTI2NTUxLCAwLCA2MDQ4LCA3NDQ2MCwgNDIxMTAsIDczOTY1LCAKKyAgICAxMDg3MCwgODU1NywgMTEwNTQsIDY4NjY0LCAxMTkwNDksIDk2ODEsIDQ0NzUsIDAsIDQxMTQyLCAyMTAwLCAwLCAxMjA3MzEsIAorICAgIDYwMzUsIDAsIDc2NTEsIDEwMjk2LCA2NDQ0MywgMCwgOTgzMjg3LCA5MTc5ODcsIDAsIDExODk2NiwgNzQxNDQsIDQwOTk3LCAKKyAgICAwLCAxMDM5MiwgMTAzMjgsIDQwOTk4LCA0MzQ2MiwgNzQ0ODgsIDAsIDk4MDAsIDg5NzksIDAsIDEzMzA3LCA0MTAwMCwgMCwgCisgICAgMTE5MjM5LCA2NDg3LCAzMzg2LCAwLCAxMDM0NCwgMCwgNjUyOTksIDUzOTQsIDQzMjQ2LCA3ODI0MywgMTAyMjAsIDY2NTA1LCAKKyAgICA0MTIwMCwgMTI4NTgzLCA0NDI1LCAwLCAwLCAwLCA0MzA3NCwgNzM3OTksIDk4MzIwMCwgNzgxNDcsIDAsIDEyMTczLCAKKyAgICA3ODU0NSwgMCwgMTI3MDExLCA2NTMzOCwgMCwgMCwgMTE5NTgyLCA0NDc0LCAwLCA0MzA5MywgMTI4NjQ0LCAxNTg3LCAwLCAKKyAgICAxMjczNzIsIDY0NDc1LCAxMjgwOTgsIDEzNjksIDk4MzY2MywgOTk1OSwgNzkyNywgMCwgNDU2MCwgMCwgMCwgOTIyNzcsIDAsIAorICAgIDY0OTQ4LCA0NDMwLCA3NDM0NywgNDI2MDEsIDQ1MTQsIDY2NDM0LCA5Mzk1NSwgODE5NCwgNjU0NjIsIDEwNjI2LCAxMDk2NSwgCisgICAgMCwgODg5MywgOTgzMjkzLCAxMjU0MiwgMCwgNjUzNDEsIDAsIDY1ODI5LCA3OTI1LCAxMTk4MjIsIDEwNDc1LCAwLCAwLCAKKyAgICAxMzUyLCAxMTA2OSwgNzcwNywgMTI3NTYwLCAxMjY0ODYsIDY1Mjc5LCAxMjcxMDIsIDY4MjA3LCAxMjcxMDAsIDcwOTksIAorICAgIDYwNDAsIDEyNzA5NywgMTAwNzEsIDAsIDkzMzYsIDQzNzUwLCAwLCA4ODk5LCA3Nzk4LCA2NDQ3NCwgNjQyNTksIDY5ODczLCAKKyAgICA2NTE4OCwgNzgyMCwgNDMwMTgsIDEyNzA4MiwgMCwgNzc0NiwgMTQ5MiwgNzg1NTEsIDEwODg0LCA3Nzk4MiwgMCwgNTEyNywgCisgICAgMTEyODUsIDQyNTAxLCA1NDk1LCA0MjczLCA0MzA5NSwgNDE0MjYsIDEwODQ5LCA1NzMwLCAyOTk5LCA2MzQyLCA2ODYzNiwgCisgICAgNzQzMDQsIDM3MSwgNjQzNzMsIDYwMjMsIDE2OSwgNTQ5NywgMTE3MDgsIDAsIDAsIDYzMjMsIDE5NDY4NCwgODIyNCwgMCwgCisgICAgODkzOCwgNjA0MywgMTI3MzgsIDAsIDk4MzA3NiwgNTMyMSwgMCwgMTk0Nzk4LCAwLCAyNTg5LCA3NDMzMiwgMTY4OSwgCisgICAgNzgwMiwgNDY4MywgNzQzMTgsIDQyNzA0LCAxMjAyOTYsIDExOTA1LCAwLCAwLCAxMjg1MTYsIDEyODE2MywgNzQ1MTMsIAorICAgIDYwNDksIDAsIDQwMjcsIDgzNCwgMTE4OTYyLCAxODAzLCAwLCAxNTAzLCAwLCAwLCA3MTMxMiwgNTczMSwgMTM4MSwgMjM4NywgCisgICAgMCwgMCwgODI4OSwgNjQ1MjUsIDY1ODE3LCAyODgxLCA0MzE0MiwgMCwgOTYwMSwgMjg3OSwgOTY2OCwgOTc2NiwgMCwgCisgICAgNTcyOSwgOTE3ODMzLCA3NDQxMCwgNjAzNiwgNjQ4ODEsIDQwMjYsIDkzNjEsIDEyNzA5MSwgMjg4NywgMCwgMzUyNiwgCisgICAgNjI5OCwgMCwgNzc4OTcsIDEyMDA5NSwgNzg1MTksIDAsIDg1NzIsIDYwMjEsIDc3ODk2LCAxMjgyODgsIDc3ODk1LCAKICAgICA0MzE1NSwgMCwgMTE5ODQ5LCAzMTQ2LCAxMDk1OSwgOTQ4MywgMCwgNzc4OTMsIDEwOTgxLCAxNjYsIDkxNzg0MSwgODYzNSwgCi0gICAgMCwgMTA2MjMsIDQwOCwgMTE5MDU4LCAxMjc1MDcsIDEzMjk4LCAwLCA3NDI2LCA0MTY0MSwgMTI3MTcsIDAsIDc2MDcsIAotICAgIDEwNjM5LCA2NjcxMywgMCwgMCwgNDE2NDMsIDc0MTM0LCAwLCA4NzEzLCA0MTY0MCwgMTAyMjEsIDQxNjQ1LCA2NjcxMiwgCi0gICAgNjY0NSwgNjQ2LCA2NjcyNiwgNjY3MTEsIDQyMTI5LCAwLCA3NzkwMSwgMzQ3MiwgODY5NywgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgNTgwOSwgMTk1MCwgMTE5MzU2LCA5MjQzMiwgNzQ1NzIsIDAsIDQyMTM2LCAwLCAwLCAwLCAwLCAzMjQ3LCAxMTk4NTQsIAotICAgIDY1MDE3LCAwLCA2ODQyOCwgNjY2NjgsIDAsIDAsIDEwOTgzLCAwLCAwLCAwLCA0MTU2NywgMCwgMCwgMCwgMTk0NjI0LCAwLCAKLSAgICAwLCAwLCA4Mjg1LCAwLCA0NTA5LCAwLCA2NjQ3MSwgMTIyMTYsIDAsIDQwOTg4LCA5MjU5MiwgMCwgNDE3MjcsIDAsIAotICAgIDQyODQ4LCAyMzk2LCA5MTc3NjYsIDAsIDc0MDE4LCA5MTc1MzgsIDY0OTQwLCA3MDI3LCAzODg2LCAwLCA0MjQ1NywgCi0gICAgMTE5MDA4LCAwLCA5OTYsIDY4MTIzLCA5MTc1NzEsIDQyNDksIDAsIDkxNzU5NCwgMTE3MDcsIDgyMjIsIDAsIDc5MzksIAotICAgIDkyNDU0LCA5MjQ2MCwgMTI3ODAxLCA5MTc1OTIsIDEyODM1OSwgODUzNCwgMTI3MTU0LCA0MDk4MywgMCwgMCwgMCwgNzIwMSwgCi0gICAgMTI1NjEsIDAsIDQyMzcxLCAxMjU1OCwgMCwgOTE3NTQ5LCAxMDA1MiwgNDA5ODIsIDAsIDAsIDE0ODgsIDAsIDAsIDAsIAotICAgIDkxNzU1OSwgMCwgMCwgMTU2MywgMTI4MDM0LCA5NjE5LCAwLCAwLCAwLCAxMjc4NzIsIDAsIDU4MDMsIDc3OTcsIDYwNzAsIAotICAgIDEwMDA2LCAwLCAyOTIyLCA2MDgyLCAwLCA2NTAwOSwgMCwgMTI1NjcsIDEyODcwMywgMCwgNDE0MTIsIDAsIDAsIDM2MDcsIAotICAgIDkyMDAsIDEwMDQ2LCA5NjEyLCA0MjE1MywgODIxOCwgOTQ4NSwgMCwgMjAzMiwgNzgzNTQsIDAsIDAsIDAsIDAsIDAsIAotICAgIDQzMDg1LCA2MDU3LCA1MDgsIDEyODU4NSwgMTI4MDE1LCAxMjAyNjUsIDAsIDkyNDA1LCAwLCAwLCA2MzgsIDYwODMsIAotICAgIDExOTA3MiwgMCwgMCwgMjMwNSwgNzgzNDgsIDAsIDAsIDYwNTYsIDY2NTksIDAsIDAsIDYwODUsIDAsIDAsIDM5MTUsIAotICAgIDQxNjM0LCAwLCA0MTYzOSwgNjM5MTIsIDExOTQxLCAwLCA0MDI4LCAxNzg3LCA0MjE4MCwgNDMwOTYsIDkyNjkwLCAzMjQ5LCAKLSAgICAxNzY4LCAwLCAxMjMyOCwgNTAxLCAxMjcwNzQsIDEwNjAxLCAwLCA1ODMsIDAsIDQxOTc3LCAwLCA2NjAwNCwgMTE5MzUwLCAKLSAgICA2NTA1LCA3NDAxMCwgMCwgMTMwNjQsIDU1MjY3LCAxMjA4MTAsIDY1MDAsIDU1MjYsIDY1MDQ5LCAwLCA3Mzc2NCwgMCwgCi0gICAgOTIzNzYsIDEyNzQ1LCA5Njc4LCAwLCAxMjA1ODcsIDk4NjksIDEyODgxNSwgMTc3MSwgMCwgODkzNiwgMCwgMCwgNDIwOCwgCi0gICAgNzgzNDEsIDExOTExNSwgNzgzNDIsIDAsIDAsIDc0MTAxLCAwLCAxMTc2MiwgMCwgOTI0MjIsIDc3OTk3LCAxMjg3ODgsIAotICAgIDY2NDc1LCAwLCA1MDI3LCA3ODE3MiwgMTI4ODc4LCAwLCA1MDY5LCA3Mzg2MiwgNTAyOCwgOTg5NywgMCwgNzM3MzksIAotICAgIDUwMjYsIDAsIDY4NjM5LCA2MzMxLCAxMDA3OSwgODkzMSwgMCwgMTQxNSwgODg2NiwgNDE5MDEsIDc0NzkwLCA3ODEzOCwgCi0gICAgMTE5MzYxLCAwLCA0MzEwNiwgNTAyOSwgNjUzMDksIDE1ODAsIDM1OTgsIDY4NDI0LCA0MTA3MCwgNzc5MDMsIDAsIDM0NDAsIAotICAgIDc4MjE1LCAxNTYyLCAxMjg2NTYsIDEyNzE3NSwgMTE5MzU4LCAxNzE2LCAwLCAxMDYwMCwgOTE3ODY3LCA2MjAsIDQxMDAxLCAKLSAgICA2MDI4LCAwLCA0Mjg5MiwgMCwgNzQ4MjIsIDUwMjQsIDEyMDgyOSwgNDEwMDMsIDAsIDUwMjUsIDEyODI2OSwgMCwgMCwgCi0gICAgMTE5MzI4LCAwLCA2NTU1NywgMCwgNzQ1NDEsIDAsIDExNTk5LCAxMjgyMDksIDExNjAyLCA2MjQzLCAxMTU3NCwgMTE1ODEsIAotICAgIDExNTk3LCAxMTU5OCwgNjI1MywgNjEwNSwgMTE1ODQsIDc0MTk1LCAxMTU2OSwgNjUyNzUsIDg5MDYsIDEyNzA5NiwgNTc1NSwgCi0gICAgMjYzNiwgMCwgMTA4MTUsIDExNjE5LCA3ODcxNywgNDE1NDAsIDc4MTUsIDExNjE2LCA2OTc5LCAxMjA4MCwgNzcyMSwgCi0gICAgMTE2MDQsIDc4NjksIDE1OTIsIDAsIDQyMTUyLCA3ODQ5OCwgNDEwNDgsIDAsIDgyOSwgMCwgOTI0MDYsIDE5OTUwLCAwLCAKLSAgICAxMjgyMTcsIDY2MTYsIDAsIDExODg3NSwgMTA5NTMsIDM5MSwgMCwgNjk3ODUsIDQ4MiwgNDIyOTYsIDExNTg4LCAwLCAKLSAgICA0MzYwNiwgMCwgNjgzOTcsIDY2MzcwLCA3NDUwNiwgNDIzMzUsIDAsIDAsIDAsIDc1MzgsIDUzMTUsIDEyMDY0NCwgNDI0OTEsIAotICAgIDAsIDQyMDYxLCAxMjgwODgsIDQ1NzYsIDAsIDY4NDE3LCA0MzgwOSwgNDI3NywgMCwgNDAzOSwgNjQ0NzIsIDQyMzM4LCAKLSAgICAzNjgsIDQyMDU4LCAzOTYwLCAxMTA0MywgMTEzMzcsIDc4MjA5LCA5MTc4MjAsIDYzOTg5LCAzOTU4LCAxMjEzMiwgMTg0OSwgCi0gICAgMCwgOTkyMSwgNDI0NTEsIDQyNTMsIDQxMTQ3LCA0MjA2NCwgMTE5NTksIDQyNDA0LCA0MTE2MCwgMCwgMzYxOCwgNzgzMzgsIAotICAgIDAsIDQzMzAwLCA1MTU2LCA5MjYyOSwgMCwgOTI5LCA2ODI3LCA0MjAzNSwgNDI0MzcsIDE1NTUsIDAsIDg2OTEsIDY2NDM1LCAKLSAgICAwLCA0MTY2MiwgMCwgMCwgMCwgMCwgMCwgNDU3OCwgNjQ1MTMsIDQxNjY0LCAwLCA0MjU3OCwgMTI4Nzk0LCA0MTY2MSwgCi0gICAgNzg3MTUsIDQzMjY3LCA5MzU2LCAwLCAwLCAwLCAxMjg2LCAxMDE2NiwgMCwgMCwgNjQ3MDcsIDAsIDQyNDc2LCA3NzMwLCAwLCAKLSAgICAxMjg1MjIsIDQyNDgzLCAwLCAwLCA0MjMyNCwgNDIyOTEsIDEwMDIwLCA0MzM1OSwgMCwgNjY0MSwgNTI1LCA0MTYyNywgCi0gICAgOTE3OTIzLCA4NzYzLCAxMjgzMDQsIDQxNjI4LCA1MzMsIDExOTMxLCA2NTIyNSwgODMyMSwgNDI1MDQsIDQyNTgxLCAwLCAKLSAgICA2OTE1LCA0MjMxMCwgNDM3NywgODU1OSwgMCwgMTIwMjM0LCAwLCAxMzE5MywgNjQzNTAsIDExNjY2LCA4Njc5LCA0MTkyNCwgCi0gICAgMTU3NiwgNzczNSwgOTIzOTgsIDAsIDczODQwLCAwLCAxMTM3NCwgNzgwNDMsIDEwODg5LCA0MzQ2MSwgNzc1NywgNDI0NjIsIAotICAgIDEyMDIyNiwgMTAwMjksIDY2NDkzLCAyNzE4LCA0MTY4LCA3Mzg0MiwgMTMzMDgsIDEyMDExMiwgMCwgMTE3OSwgNDQ0MCwgMCwgCi0gICAgNzc5NDgsIDM2MywgMTEwMTUsIDc3OTQ3LCA3Nzk0NCwgNjQyOTYsIDEyNzA5MCwgNjY2OTIsIDEyMDgyNiwgMCwgNjY0OTIsIAotICAgIDY1OTMsIDY0NjI1LCA0MTk2MywgOTIxNzcsIDExOTMyOSwgMCwgMTAwMTMsIDY0NDM0LCA5MjUyMCwgMTI3MDk1LCA5NDkyLCAKLSAgICAxMTc4MiwgNjQzODIsIDEyODMzLCA3NzgzMCwgMCwgMTI5NywgNDE2MzAsIDYzMCwgMTI3MDk0LCAwLCAxMjA3NzQsIAotICAgIDkyNDY1LCAxMDQzLCA0MzY1MiwgNjYyMjMsIDEwMDkwLCAwLCAxMjg2NjQsIDMxMywgOTE3NTYzLCA0MTg4MSwgMCwgCi0gICAgNDIzMTEsIDc0NDUsIDAsIDU3NTAsIDEwNzU5LCA5NDE5LCA1NTIyMiwgOTQwNSwgMTEyNjgsIDQyOTE5LCA5Mzk4LCA4NTI2LCAKLSAgICA5Mzk5LCA5NDIyLCAwLCA2NjQ5NSwgMCwgMCwgMTI3MjM5LCA0MTcxOCwgMTA3MDcsIDE2MDMsIDAsIDExOTAwMywgMCwgCi0gICAgNjMxLCA3Nzk1MiwgNjk3MDMsIDEzMTYxLCA2NTI3MiwgMCwgMTA1NDYsIDc0MjEwLCA3ODEwMSwgMTE2MDAsIDc3OTYxLCAKLSAgICAyNzk3LCA3MzgyMSwgNDI0MjcsIDMwNiwgNzE0LCAzMDU4LCA0MjM4MSwgNzc5NjIsIDEyNzA4MCwgMTIzNTEsIDQyMzk1LCAKLSAgICAwLCAxMTYwNywgMCwgNDIyODIsIDc3OTcxLCA3Nzk2NywgOTE1NywgNzM3NjUsIDY2MzY0LCA0MjQzMywgNzc5NjQsIDc2MDMsIAotICAgIDEyODAzLCAxODAsIDQyMTQxLCAwLCAxMjA2MTIsIDY2NDk0LCAxMjY3NCwgODI0NCwgMzYyLCA5MjQzOSwgMCwgODAzNywgCi0gICAgNDM3NzcsIDExNTM1LCAwLCA3NDg0NSwgNTE4NSwgNzE2NSwgNTUyMSwgMTAzMzQsIDIwOTMsIDc3OTgzLCAxMDMwMiwgCi0gICAgMTI4MTEyLCAxMDEwNCwgMTAyNywgNTE4MSwgMCwgMCwgMTA1MjMsIDE0NDYsIDQyMzIwLCA0MTY0NiwgOTkxLCA1MTg5LCAKLSAgICA0MjQ3MiwgNDE2NDcsIDEyMDEwNSwgMTcyMiwgNTU4MSwgNzc5NzksIDM0MDUsIDAsIDE5NDY0NCwgNTUyMywgMCwgNDI2MjAsIAotICAgIDkyNDQ3LCAwLCA5NTQ5LCAwLCAxMDU0OSwgNTUyODIsIDk2NjEsIDQzNjgyLCAwLCA3NzkxMCwgMTIwMDI2LCA3ODcwOCwgMCwgCi0gICAgNzc5MTEsIDAsIDQxOTkxLCAwLCAwLCA3NjMwLCA5ODQ2LCA3Njg0LCAxMDM1MCwgMCwgMTE3NCwgNzc5ODEsIDQyNzMzLCAKLSAgICA3Nzk3OCwgNzc5ODAsIDY2NDg1LCA3Nzk3NywgNDIyNzcsIDc3OTc0LCA0MjQ1NiwgNjU2NjcsIDEyNzAzNywgMTIzMzAsIAotICAgIDEyODI3MiwgMCwgNDI0MTcsIDQyMzgzLCAwLCA0MTM0NCwgNjI5MywgMCwgNjYyNTIsIDc3OTg0LCA3NDQ0MywgMCwgCi0gICAgMTAyMDksIDgzMTMsIDQxOTUsIDc0NDM1LCAxMzE2LCA2NjY5MCwgMTIwMDMyLCA2MzMyLCA2NDg5NCwgMCwgNjU4NzEsIAotICAgIDc4MDYwLCAxNzM2LCAwLCAzOTAxLCAxMjIyOCwgMTIwMTUxLCA2NTIwMCwgMzM4MywgMTA0NDYsIDc4ODQxLCA2OTMsIAotICAgIDkxMzAsIDMxNCwgNjQxNDksIDQyNDIwLCAxMTk0OSwgMCwgMTIwMTUyLCAxMTAyNiwgMCwgNTMzMiwgNjk0MCwgNjQxNTQsIAotICAgIDEyNjM1LCAxMjcwMDcsIDQyNzA2LCAxNzUxLCAyNzMsIDgxNjUsIDEzMTY2LCAxMjA3NjMsIDc4ODQwLCAwLCAxMjgyNCwgMCwgCi0gICAgNDUyOCwgNTMyMCwgNjMwMSwgNDM2NjIsIDYxMzMsIDkzMzksIDk0NjMsIDQyMzQ2LCAxMDkyMiwgNjQ1NjAsIDM3NTcsIDAsIAotICAgIDAsIDAsIDY1ODY5LCA3Mzc2MCwgMjU2OSwgMCwgMjMyNiwgNjU3NDAsIDI1NjUsIDQyNDU5LCA3NTk2LCA3OTIxLCAwLCAKLSAgICA3NDA5NSwgMTI3OTgxLCA0MTg0OCwgMjU2NywgNjYwMDYsIDAsIDQwNDQsIDkyNjQ2LCAwLCAxMjIzMywgMCwgMTAyMywgCi0gICAgNDc0LCAwLCAxMTk4MTgsIDAsIDAsIDQyNDg3LCA2NTU1NiwgMCwgMCwgNDIyOTUsIDAsIDAsIDAsIDkyNTE4LCA5ODM1LCAKLSAgICA2NjQ5OSwgMCwgNTQxNywgMTIyNzUsIDEwODk1LCAwLCAyNzQsIDAsIDE4NTgsIDAsIDAsIDU1MjUxLCAxMDExOCwgMzEzMywgCi0gICAgMTI4MDA4LCA3Mzc5NSwgMCwgOTYxMCwgODA2OCwgODE5NywgMCwgNjk5LCAwLCA0MTY2NSwgNTg2OCwgMCwgOTI2OTUsIAotICAgIDQyMTgyLCA3NTgxLCAxOTk0MCwgNDM2NjgsIDQxNjY3LCAxMjgwNTcsIDAsIDE5MjMsIDY1NTgzLCA2NTgwMiwgMCwgCi0gICAgNjQ1OTcsIDQzNDQ0LCAxMTkxODQsIDkyMTk3LCAwLCA2NDY0LCA3MDM2LCAyOTk2LCAxOTM3LCAwLCAwLCA0MTgzNSwgCi0gICAgNDA0NywgNDE4NDIsIDAsIDY0MTA3LCAwLCAwLCAxMTAxNywgMCwgMCwgMjkzLCA3Nzk2NiwgOTIxNjksIDY0NzkxLCAKLSAgICA0MTgyNywgNDI0NjYsIDQzNDIyLCAxMDU3OSwgODU2MCwgMCwgNjU0MTMsIDc3OTYzLCA0ODAzLCAxMjk2NCwgMTczOSwgCi0gICAgMTk0MSwgMzkwMCwgMCwgMTcxMywgNzc5NjksIDAsIDczOTU3LCAxMTQwNywgNDI0NDEsIDQxOTcxLCA2Mjk3LCAxMjAwOTgsIAotICAgIDY0MTA1LCAxMjgwODAsIDQyNDgxLCAxMTcxNiwgNjY0NzMsIDcxNzksIDQyMjg5LCAwLCA2NDEwMywgOTY5LCAwLCA5MzUyLCAKLSAgICAwLCA2MTY1LCA2NDEwMCwgMCwgNjYzMiwgNzM4NjEsIDQyNDAyLCA3NDMyNywgNzgwNiwgMCwgODkxNCwgMCwgMCwgMzE4MywgCi0gICAgMTQzNSwgNjQ4NzYsIDI5NjksIDYwNDYsIDY0NDQxLCA2MjA4LCA2Nzg0OSwgNTc0NiwgNzM3NDksIDAsIDY0NDE2LCAKLSAgICA0MjQyMiwgMCwgMCwgNzA4MiwgNzM3NzUsIDMzOCwgNTA1OSwgMTk0NzE5LCAwLCA0MjMyOCwgMTA3NjcsIDAsIDgxMTUsIDAsIAotICAgIDc0NzU4LCAwLCA4MjI3LCAyMDczLCAxMjE4LCAwLCAwLCA2NTg0OCwgMCwgMCwgMCwgMCwgMTI2OTg3LCA0NDg2LCAwLCAwLCAKLSAgICAwLCAxMDkyNSwgMCwgMCwgMCwgMCwgNDIzMDksIDEwMjU3LCA2NTE5MSwgMTAyNzMsIDAsIDEwMzA1LCA0MjQ2MSwgMCwgCi0gICAgNDIzNDksIDg4MzIsIDc4MDUxLCA2NDEyNywgMTA2NDQsIDQyNjYyLCA3ODgyOCwgNDIyNzgsIDc0NDUxLCAxMjY5ODgsIAotICAgIDkxNzg1NywgNzc5NCwgMCwgNDI0MjksIDYzNzcsIDQyMzE2LCAxMTkwMjYsIDM2NjksIDM5NjgsIDQyNDY4LCAwLCA2OTY1OCwgCi0gICAgMCwgNjU0MDIsIDExOTU4MSwgMCwgMCwgNjQ5MzMsIDAsIDQxOTYwLCA2Njk5LCAwLCAwLCAxMjgzNTQsIDY4MjMsIDQyMzkxLCAKLSAgICAxNTg4LCA2NTQwMCwgODQwOSwgNzgyMjMsIDE5OTY3LCA2NTM5OCwgNzg3LCAwLCA5MTc5MzksIDEyNzc0NCwgNjExNSwgCi0gICAgMjA3OCwgNDE2NTQsIDQyNDgwLCAwLCA5MjY1MCwgNDE2NTUsIDY1NDAxLCA0Mzk3NSwgMCwgMCwgMCwgNjQ0LCA2NTUwMCwgCi0gICAgNDE2NTcsIDEwNzc4LCAzNjU5LCA5NTMzLCAxODQsIDE1NTMsIDEzMTA3LCA2NTQ4NCwgNjk2NDgsIDEwNTAyLCA3NDQ1NywgCi0gICAgMCwgMCwgNDE1NTQsIDAsIDgyMjAsIDkxNzk0MywgNDE1NTcsIDAsIDAsIDExMDcwLCAxMTkyMjEsIDUxNTcsIDQwMjAsIAotICAgIDczODU4LCA0MTU1NSwgOTUxNCwgNjQ4MTgsIDY1MTAzLCA2NDY0MSwgNjQzMDMsIDc4MTMxLCA3NTIwLCAwLCA3NDM3NywgCi0gICAgMTEwMjksIDY2NjUxLCAwLCAwLCAxMTg5MzAsIDY0NTI3LCAwLCA3ODc3LCA3MzgwMywgMCwgMTI3MzQ4LCAxMjAwOTYsIAotICAgIDc0NjAyLCA5OTU1LCAxMTk1NTcsIDQwNTUsIDQyODE3LCAwLCA2NTIxMiwgMTE3MTUsIDEyMTkwLCAxMjMxOSwgNzg2MzAsIAotICAgIDAsIDc4NjMxLCA5NTAyLCA2NTQyNywgMCwgNjU0MjQsIDEyNjA3LCAwLCA5NzM0LCA2NTQyNSwgMCwgMCwgMTI3MzU3LCAKLSAgICA3ODgzNSwgOTI0MTAsIDEwMTEyLCAxMDgyNywgMCwgOTg2NiwgNzQ1MjcsIDY2Njc1LCAwLCA4NjI1LCA2NDM0NiwgMTEyOTAsIAotICAgIDEwNDc3LCAwLCA4NjM2LCAwLCA4MzE1LCA2NTQ0NCwgMCwgMCwgNzQ1OTUsIDYxNTIsIDAsIDAsIDY2MjksIDEyODI1MSwgCisgICAgOTgzNjA2LCAxMDYyMywgNDA4LCAxMTkwNTgsIDEyNzUwNywgMTMyOTgsIDAsIDc0MjYsIDQxNjQxLCAxMjcxNywgMCwgCisgICAgNzYwNywgMTA2MzksIDQzMzk2LCAwLCAwLCA0MTY0MywgNzQxMzQsIDk4MzA1NCwgODcxMywgNDE2NDAsIDEwMjIxLCAKKyAgICA0MTY0NSwgNjY3MTIsIDY2NDUsIDY0NiwgNjY3MjYsIDY2NzExLCA0MjEyOSwgOTM5OTQsIDc3OTAxLCAzNDcyLCA4Njk3LCAKKyAgICAwLCAwLCA5ODM4MDYsIDAsIDAsIDAsIDU4MDksIDE5NTAsIDExOTM1NiwgOTI0MzIsIDc0NTcyLCAwLCA0MjEzNiwgMCwgMCwgCisgICAgMCwgMCwgMzI0NywgMTE5ODU0LCA2NTAxNywgOTgzOTQ0LCA2ODQyOCwgNjY2NjgsIDAsIDAsIDEwOTgzLCAwLCAwLCAwLCAKKyAgICA0MTU2NywgMCwgMCwgMCwgMTk0NjI0LCAxMTk4NTMsIDAsIDAsIDgyODUsIDAsIDQ1MDksIDAsIDY2NDcxLCAxMjIxNiwgMCwgCisgICAgNDA5ODgsIDkyNTkyLCA3NDgwOSwgNDE3MjcsIDAsIDQyODQ4LCAyMzk2LCA5MTc3NjYsIDAsIDc0MDE4LCA5MTc1MzgsIAorICAgIDY0OTQwLCA3MDI3LCAzODg2LCAwLCA0MjQ1NywgMTE5MDA4LCAwLCA5OTYsIDY4MTIzLCA5NDA1OCwgNDI0OSwgMCwgCisgICAgOTE3NTk0LCAxMTcwNywgODIyMiwgMCwgNzkzOSwgOTI0NTQsIDkyNDYwLCAxMjc4MDEsIDkxNzU5MiwgMTI4MzU5LCA4NTM0LCAKKyAgICAxMjcxNTQsIDQwOTgzLCAwLCA5ODMyMzQsIDAsIDcyMDEsIDEyNTYxLCAwLCA0MjM3MSwgMTI1NTgsIDE1NDAsIDkxNzU0OSwgCisgICAgMTAwNTIsIDQwOTgyLCAwLCAwLCAxNDg4LCAwLCAwLCAwLCA5MTc1NTksIDAsIDAsIDE1NjMsIDEyODAzNCwgOTYxOSwgCisgICAgOTgzOTMxLCAwLCAwLCAxMjc4NzIsIDcxMzYzLCA1ODAzLCA3Nzk3LCA2MDcwLCAxMDAwNiwgMCwgMjkyMiwgNjA4MiwgMCwgCisgICAgNjUwMDksIDk4MzkzMywgMTI1NjcsIDEyODcwMywgMCwgNDE0MTIsIDAsIDAsIDM2MDcsIDkyMDAsIDEwMDQ2LCA5NjEyLCAKKyAgICA0MjE1MywgODIxOCwgOTQ4NSwgMCwgMjAzMiwgNzgzNTQsIDAsIDAsIDAsIDAsIDAsIDQzMDg1LCA2MDU3LCA1MDgsIAorICAgIDkzOTY4LCAxMjgwMTUsIDY3OTY4LCAwLCA5MjQwNSwgMCwgMCwgNjM4LCA2MDgzLCAxMTkwNzIsIDAsIDAsIDIzMDUsIAorICAgIDc4MzQ4LCA2ODA5NiwgMCwgNjA1NiwgNjY1OSwgNjc5NjksIDAsIDYwODUsIDAsIDAsIDM5MTUsIDQxNjM0LCAwLCA0MTYzOSwgCisgICAgNjM5MTIsIDExOTQxLCAwLCA0MDI4LCAxNzg3LCA0MjE4MCwgNDMwOTYsIDQzNzUzLCAzMjQ5LCAxNzY4LCA5Mzk4MiwgCisgICAgMTIzMjgsIDUwMSwgOTM5ODUsIDEwNjAxLCAwLCA1ODMsIDAsIDQxOTc3LCAwLCA2NjAwNCwgMTE5MzUwLCA2NTA1LCAKKyAgICA3NDAxMCwgMCwgMTMwNjQsIDU1MjY3LCAxMjA4MTAsIDY1MDAsIDU1MjYsIDY1MDQ5LCAwLCA3Mzc2NCwgMCwgOTIzNzYsIAorICAgIDEyNzQ1LCA5Njc4LCAwLCAxMjA1ODcsIDk4NjksIDEyODgxNSwgMTc3MSwgMCwgODkzNiwgMCwgMCwgNDIwOCwgNzgzNDEsIAorICAgIDc4NTY3LCA3ODM0MiwgMCwgOTgzNDQ4LCA3NDEwMSwgMCwgMTE3NjIsIDAsIDkyNDIyLCA3Nzk5NywgNjgwMTAsIDY2NDc1LCAKKyAgICAwLCA1MDI3LCA3ODE3MiwgMTI4ODc4LCAwLCA1MDY5LCA3Mzg2MiwgNTAyOCwgOTg5NywgMCwgNzM3MzksIDUwMjYsIAorICAgIDk4MzI0NywgNjg2MzksIDYzMzEsIDEwMDc5LCA4OTMxLCAwLCAxNDE1LCA4ODY2LCA0MTkwMSwgNzQ3OTAsIDc4MTM4LCAKKyAgICAxMTkzNjEsIDk4MzU2NCwgNDMxMDYsIDUwMjksIDY1MzA5LCAxNTgwLCAzNTk4LCA2ODQyNCwgNDEwNzAsIDc3OTAzLCAwLCAKKyAgICAzNDQwLCA3ODIxNSwgMTU2MiwgMTI4NjU2LCAxMjcxNzUsIDExOTM1OCwgMTcxNiwgOTgzNjcwLCAxMDYwMCwgOTE3ODY3LCAKKyAgICA2MjAsIDQxMDAxLCA2MDI4LCAwLCA0Mjg5MiwgMCwgNzQ4MjIsIDUwMjQsIDEyMDgyOSwgNDEwMDMsIDAsIDUwMjUsIAorICAgIDY5ODkyLCA5ODMyMDcsIDAsIDExODg4NSwgMCwgNjU1NTcsIDAsIDc0NTQxLCA5ODM1ODcsIDExNTk5LCAxMjgyMDksIAorICAgIDExNjAyLCA2MjQzLCAxMTU3NCwgMTE1ODEsIDExNTk3LCAxMTU5OCwgNjI1MywgNjEwNSwgMTE1ODQsIDc0MTk1LCAxMTU2OSwgCisgICAgNjUyNzUsIDg5MDYsIDEyNzA5NiwgNTc1NSwgMjYzNiwgMCwgMTA4MTUsIDExNjE5LCAyMzAxLCA0MTU0MCwgNzgxNSwgCisgICAgMTE2MTYsIDY5NzksIDEyMDgwLCA3NzIxLCAxMTYwNCwgNzg2OSwgMTU5MiwgMCwgNDIxNTIsIDc4NDk4LCA0MTA0OCwgCisgICAgOTE3NzYzLCA4MjksIDAsIDkyNDA2LCAxOTk1MCwgMCwgMTI2NDgyLCA2NjE2LCAwLCAxMTg4NzUsIDEwOTUzLCAzOTEsIDAsIAorICAgIDY5Nzg1LCA0ODIsIDQyMjk2LCAxMTU4OCwgMCwgNDM2MDYsIDAsIDY4Mzk3LCA2NjM3MCwgNzQ1MDYsIDQyMzM1LCAKKyAgICA5ODMxODgsIDAsIDAsIDc1MzgsIDUzMTUsIDEyMDY0NCwgNDI0OTEsIDAsIDQyMDYxLCAxMjgwODgsIDQ1NzYsIDAsIAorICAgIDY4NDE3LCA0MzgwOSwgNDI3NywgMCwgNDAzOSwgNjQ0NzIsIDQyMzM4LCAzNjgsIDQyMDU4LCAzOTYwLCAxMTA0MywgCisgICAgMTEzMzcsIDc4MjA5LCA5MTc4MjAsIDYzOTg5LCAzOTU4LCAxMjEzMiwgMTg0OSwgMCwgOTkyMSwgNDI0NTEsIDQyNTMsIAorICAgIDQxMTQ3LCA0MjA2NCwgMTE5NTksIDQyNDA0LCA0MTE2MCwgMCwgMzYxOCwgNzgzMzgsIDAsIDQzMzAwLCA1MTU2LCA5MjYyOSwgCisgICAgMCwgOTI5LCA2ODI3LCA0MjAzNSwgNDI0MzcsIDE1NTUsIDAsIDg2OTEsIDY2NDM1LCAyMjE1LCA0MTY2MiwgOTQwMTAsIDAsIAorICAgIDAsIDAsIDkzOTUyLCA0NTc4LCA2NDUxMywgNDE2NjQsIDk4MzcyNSwgNDI1NzgsIDEyODc5NCwgNDE2NjEsIDc4NzE1LCAKKyAgICA0MzI2NywgOTM1NiwgMCwgMCwgMCwgMTI4NiwgMTAxNjYsIDAsIDAsIDY0NzA3LCA5ODMxMjcsIDQyNDc2LCA3NzMwLCAKKyAgICA5ODM4NTAsIDEyODUyMiwgNDI0ODMsIDAsIDAsIDQyMzI0LCA0MjI5MSwgMTAwMjAsIDQzMzU5LCAwLCA2NjQxLCA1MjUsIAorICAgIDQxNjI3LCA5MTc5MjMsIDg3NjMsIDEyODMwNCwgNDE2MjgsIDUzMywgMTE5MzEsIDY1MjI1LCA4MzIxLCA0MjUwNCwgCisgICAgNDI1ODEsIDAsIDY5MTUsIDQyMzEwLCA0Mzc3LCA4NTU5LCAwLCA3NDM2MCwgMCwgMTMxOTMsIDY0MzUwLCAxMTY2NiwgCisgICAgODY3OSwgNDE5MjQsIDE1NzYsIDc3MzUsIDkyMzk4LCAwLCA3Mzg0MCwgOTgzMDkyLCAxMTM3NCwgNzgwNDMsIDEwODg5LCAKKyAgICA0MzQ2MSwgNzc1NywgNDI0NjIsIDEyMDIyNiwgMTAwMjksIDY2NDkzLCAyNzE4LCA0MTY4LCA3Mzg0MiwgMTMzMDgsIAorICAgIDEyMDExMiwgMCwgMTE3OSwgNDQ0MCwgMCwgNzc5NDgsIDM2MywgMTEwMTUsIDc3OTQ3LCA3Nzk0NCwgNjQyOTYsIDEyNzA5MCwgCisgICAgNjY2OTIsIDEyMDgyNiwgMCwgNjY0OTIsIDY1OTMsIDY0NjI1LCA0MTk2MywgOTIxNzcsIDExOTMyOSwgMCwgMTAwMTMsIAorICAgIDY0NDM0LCA5MjUyMCwgMTI3MDk1LCA5NDkyLCAxMTc4MiwgNjQzODIsIDEyODMzLCA3NzgzMCwgMCwgMTI5NywgNDE2MzAsIAorICAgIDYzMCwgMTI3MDk0LCAwLCAxMjA3NzQsIDkyNDY1LCAxMDQzLCA0MzY1MiwgNjYyMjMsIDEwMDkwLCAwLCAxMjg2NjQsIDMxMywgCisgICAgOTE3NTYzLCA0MTg4MSwgMCwgNDIzMTEsIDc0NDUsIDAsIDU3NTAsIDEwNzU5LCA5NDE5LCA1NTIyMiwgOTQwNSwgMTEyNjgsIAorICAgIDQyOTE5LCA5Mzk4LCA4NTI2LCA5Mzk5LCA5NDIyLCAwLCA2NjQ5NSwgMCwgMCwgMTI3MjM5LCA0MTcxOCwgMTA3MDcsIAorICAgIDE2MDMsIDAsIDExOTAwMywgMCwgNjMxLCA3Nzk1MiwgNjk3MDMsIDEzMTYxLCA2NTI3MiwgMCwgMTA1NDYsIDc0MjEwLCAKKyAgICA3ODEwMSwgMTE2MDAsIDc3OTYxLCAyNzk3LCA3MzgyMSwgNDI0MjcsIDMwNiwgNzE0LCAzMDU4LCA0MjM4MSwgNzc5NjIsIAorICAgIDEyNzA4MCwgMTIzNTEsIDQyMzk1LCAwLCAxMTYwNywgMCwgNDIyODIsIDc3OTcxLCA3Nzk2NywgOTE1NywgNzM3NjUsIAorICAgIDY2MzY0LCA0MjQzMywgNzc5NjQsIDc2MDMsIDEyODAzLCAxODAsIDQyMTQxLCAwLCAxMjA2MTIsIDY2NDk0LCAxMjY3NCwgCisgICAgODI0NCwgMzYyLCA5MjQzOSwgMCwgODAzNywgNDM3NzcsIDExNTM1LCAwLCA3NDg0NSwgNTE4NSwgNzE2NSwgNTUyMSwgCisgICAgMTAzMzQsIDIwOTMsIDcxMzI5LCAxMDMwMiwgMTI4MTEyLCAxMDEwNCwgMTAyNywgNTE4MSwgMCwgMCwgMTA1MjMsIDE0NDYsIAorICAgIDQyMzIwLCA0MTY0NiwgOTkxLCA1MTg5LCA0MjQ3MiwgNDE2NDcsIDEyMDEwNSwgMTcyMiwgNTU4MSwgNDI4OTgsIDM0MDUsIAorICAgIDAsIDE5NDY0NCwgNTUyMywgMCwgNDI2MjAsIDkyNDQ3LCA5ODM4MTAsIDk1NDksIDAsIDEwNTQ5LCA1NTI4MiwgOTY2MSwgCisgICAgNDM2ODIsIDAsIDc3OTEwLCAxMjAwMjYsIDc4NzA4LCAwLCA3NzkxMSwgMCwgNDE5OTEsIDk4Mzg4NCwgMCwgNzYzMCwgCisgICAgOTg0NiwgNzY4NCwgMTAzNTAsIDAsIDExNzQsIDc3OTgxLCA0MjczMywgNzc5NzgsIDc3OTgwLCA2NjQ4NSwgNzc5NzcsIAorICAgIDQyMjc3LCA3Nzk3NCwgNDI0NTYsIDY1NjY3LCAxMjcwMzcsIDEyMzMwLCAxMjgyNzIsIDAsIDQyNDE3LCA0MjM4MywgCisgICAgNjY2MzAsIDQxMzQ0LCA2MjkzLCAwLCA2NjI1MiwgNzc5ODQsIDc0NDQzLCAwLCAxMDIwOSwgODMxMywgNDE5NSwgNzQ0MzUsIAorICAgIDEzMTYsIDY2NjkwLCAxMjAwMzIsIDYzMzIsIDY0ODk0LCAwLCA2NTg3MSwgNzgwNjAsIDE3MzYsIDk4MzY3NSwgMzkwMSwgCisgICAgMTIyMjgsIDEyMDE1MSwgNjUyMDAsIDMzODMsIDEwNDQ2LCA3ODg0MSwgNjkzLCA5MTMwLCAzMTQsIDY0MTQ5LCA0MjQyMCwgCisgICAgMTE5NDksIDk4MzY2MCwgMTIwMTUyLCAxMTAyNiwgMTI4Nzg4LCA1MzMyLCA2OTQwLCA2NDE1NCwgMTI2MzUsIDEyNzAwNywgCisgICAgNDI3MDYsIDE3NTEsIDI3MywgODE2NSwgMTMxNjYsIDEyMDc2MywgNzg4NDAsIDcxMzY4LCAxMjgyNCwgMCwgNDUyOCwgCisgICAgNTMyMCwgNjMwMSwgNDM2NjIsIDYxMzMsIDkzMzksIDk0NjMsIDQyMzQ2LCAxMDkyMiwgNjQ1NjAsIDM3NTcsIDAsIDAsIDAsIAorICAgIDY1ODY5LCA3Mzc2MCwgMjU2OSwgMCwgMjMyNiwgNjU3NDAsIDI1NjUsIDQyNDU5LCA3NTk2LCA3OTIxLCA5ODM4NTksIAorICAgIDc0MDk1LCAxMjc5ODEsIDQxODQ4LCAyNTY3LCA2NjAwNiwgMCwgNDA0NCwgOTI2NDYsIDAsIDEyMjMzLCA5ODM4NjIsIAorICAgIDEwMjMsIDQ3NCwgMCwgMTE5ODE4LCAwLCAwLCA0MjQ4NywgNjU1NTYsIDAsIDEyNzg2NiwgNDIyOTUsIDAsIDAsIDcxMzIyLCAKKyAgICA5MjUxOCwgOTgzNSwgNjY0OTksIDAsIDU0MTcsIDEyMjc1LCAxMDg5NSwgMCwgMjc0LCAwLCAxODU4LCAwLCAwLCA1NTI1MSwgCisgICAgMTAxMTgsIDMxMzMsIDEyODAwOCwgNzM3OTUsIDAsIDk2MTAsIDgwNjgsIDgxOTcsIDAsIDY5OSwgMCwgNDE2NjUsIDU4NjgsIAorICAgIDAsIDkyNjk1LCA0MjE4MiwgNzU4MSwgMTk5NDAsIDQzNjY4LCA0MTY2NywgMTI4MDU3LCAwLCAxOTIzLCA2NTU4MywgCisgICAgNjU4MDIsIDkzOTcwLCA2NDU5NywgNDM0NDQsIDExOTE4NCwgOTIxOTcsIDAsIDY0NjQsIDcwMzYsIDI5OTYsIDE5MzcsIAorICAgIDk4Mzc0MiwgMCwgNDE4MzUsIDQwNDcsIDQxODQyLCAwLCA2NDEwNywgMCwgMCwgMTEwMTcsIDEyMDYwMSwgMCwgMjkzLCAKKyAgICA3Nzk2NiwgOTIxNjksIDY0NzkxLCA0MTgyNywgNDI0NjYsIDQzNDIyLCAxMDU3OSwgODU2MCwgNzEzNTAsIDY1NDEzLCAKKyAgICA3Nzk2MywgNDgwMywgMTI5NjQsIDE3MzksIDE5NDEsIDM5MDAsIDAsIDE3MTMsIDc3OTY5LCAwLCA3Mzk1NywgMTE0MDcsIAorICAgIDQyNDQxLCA0MTk3MSwgNjI5NywgMTIwMDk4LCA2NDEwNSwgMTI4MDgwLCA0MjQ4MSwgMTE3MTYsIDY2NDczLCA3MTc5LCAKKyAgICA0MjI4OSwgMCwgNjQxMDMsIDk2OSwgMCwgOTM1MiwgMCwgNjE2NSwgNjQxMDAsIDAsIDY2MzIsIDczODYxLCA0MjQwMiwgCisgICAgNzQzMjcsIDc4MDYsIDAsIDg5MTQsIDAsIDAsIDMxODMsIDE0MzUsIDY0ODc2LCAyOTY5LCA2MDQ2LCA2NDQ0MSwgNjIwOCwgCisgICAgNjc4NDksIDU3NDYsIDczNzQ5LCAwLCA2NDQxNiwgNDI0MjIsIDAsIDk4MzA0NiwgNzA4MiwgNzM3NzUsIDMzOCwgNTA1OSwgCisgICAgMTk0NzE5LCAwLCA0MjMyOCwgMTA3NjcsIDAsIDgxMTUsIDAsIDc0NzU4LCAwLCA4MjI3LCAyMDczLCAxMjE4LCA5MTc3OTAsIAorICAgIDAsIDY1ODQ4LCAwLCAwLCA2OTg2MywgMCwgMTI2OTg3LCA0NDg2LCAwLCAwLCAwLCAxMDkyNSwgMCwgMCwgMCwgOTgzNTg2LCAKKyAgICA0MjMwOSwgMTAyNTcsIDY1MTkxLCAxMDI3MywgMCwgMTAzMDUsIDQyNDYxLCAwLCA0MjM0OSwgODgzMiwgNzgwNTEsIAorICAgIDY0MTI3LCAxMDY0NCwgNDI2NjIsIDc4ODI4LCA0MjI3OCwgNzQ0NTEsIDEyNjk4OCwgNjk4NzQsIDc3OTQsIDAsIDQyNDI5LCAKKyAgICA2Mzc3LCA0MjMxNiwgMTE5MDI2LCAzNjY5LCAzOTY4LCA0MjQ2OCwgNzEzMTksIDY5NjU4LCAwLCA2NTQwMiwgMTE5NTgxLCAKKyAgICAwLCAwLCA2NDkzMywgMCwgNDE5NjAsIDY2OTksIDAsIDAsIDEyODM1NCwgNjgyMywgNDIzOTEsIDE1ODgsIDY1NDAwLCAKKyAgICA4NDA5LCA3ODIyMywgMTk5NjcsIDY1Mzk4LCA3ODcsIDcxMzE1LCA5MTc5MzksIDEyNzc0NCwgNjExNSwgMjA3OCwgNDE2NTQsIAorICAgIDQyNDgwLCAwLCA5MjY1MCwgNDE2NTUsIDY1NDAxLCA0Mzk3NSwgMCwgMCwgMCwgNjQ0LCA2NTUwMCwgNDE2NTcsIDEwNzc4LCAKKyAgICAzNjU5LCA5NTMzLCAxODQsIDE1NTMsIDEzMTA3LCA2NTQ4NCwgNjk2NDgsIDEwNTAyLCA3NDQ1NywgMCwgMCwgNDE1NTQsIDAsIAorICAgIDgyMjAsIDkxNzk0MywgNDE1NTcsIDAsIDAsIDExMDcwLCAxMTkyMjEsIDUxNTcsIDQwMjAsIDczODU4LCA0MTU1NSwgOTUxNCwgCisgICAgNjQ4MTgsIDY1MTAzLCA2NDY0MSwgNjQzMDMsIDc4MTMxLCA3NTIwLCAwLCA3NDM3NywgMTEwMjksIDY2NjUxLCA5ODMwNjgsIAorICAgIDAsIDExODkzMCwgNjQ1MjcsIDAsIDc4NzcsIDczODAzLCA5ODM3ODksIDEyNzM0OCwgMTIwMDk2LCA3NDYwMiwgOTk1NSwgCisgICAgMTE5NTU3LCA0MDU1LCA0MjgxNywgMCwgNjUyMTIsIDExNzE1LCAxMjE5MCwgMTIzMTksIDc4NjMwLCAwLCA3ODYzMSwgCisgICAgOTUwMiwgNjU0MjcsIDAsIDY1NDI0LCAxMjYwNywgMCwgOTczNCwgNjU0MjUsIDAsIDAsIDEyNzM1NywgNzg4MzUsIDkyNDEwLCAKKyAgICAxMDExMiwgMTA4MjcsIDAsIDk4NjYsIDc0NTI3LCA2NjY3NSwgMCwgODYyNSwgNjQzNDYsIDExMjkwLCAxMDQ3NywgMCwgCisgICAgODYzNiwgOTgzOTE4LCA4MzE1LCA2NTQ0NCwgOTgzNzg0LCAwLCA3NDU5NSwgNjE1MiwgMCwgMCwgNjYyOSwgMTI3MTA4LCAKICAgICAxMjAxNzEsIDAsIDc0NTg5LCA0Mzk5MywgMCwgNjk3OTAsIDY0NDM1LCAwLCA0MzY5MCwgMTEwNDYsIDExNDkwLCA0MjczMCwgCiAgICAgNDQ4NSwgMTI3MTA3LCAwLCA2NDkyNiwgMCwgMCwgMCwgNTg2OSwgMTI0MzcsIDQyNzI4LCAwLCA3MDQwLCAzNTg4LCAwLCAKICAgICAxMjgyNSwgMCwgMCwgMTI3MjUsIDAsIDAsIDc4NjQyLCAyMjMsIDAsIDY5Njc1LCAxMjAxNjYsIDQyNDQ0LCAwLCA2NDQ5OSwgCiAgICAgNjUyNDUsIDAsIDExNzEsIDAsIDY5NzE3LCAwLCAxODA1LCA4NzcyLCA0MzgyMCwgMCwgOTkzMCwgNjUyNDcsIDc4NjE5LCAKICAgICAxMjAxMTEsIDIzMzgsIDAsIDExODg1MywgMCwgNDI2NzYsIDAsIDY0ODAwLCA2NTIzNiwgNjc2NDQsIDY4MTI2LCAxMjEzLCAKLSAgICAwLCA2NDA3NSwgNzk3LCA2NDA3NCwgODczNCwgNDIxMiwgMCwgNjQzODcsIDQxMTUsIDAsIDUwMDUsIDY0MDcwLCA2NDA3MywgCi0gICAgMTA2NzksIDAsIDc3OTU0LCA5NDAyLCA2NDI3NiwgNDI2LCAwLCAwLCA4MjUxLCAxMDEzNiwgNjU0MzYsIDAsIDIxMjAsIAotICAgIDQzMzAyLCAxMjI0LCAwLCA2NTU3NiwgMTIwMTU4LCAxMDcwMSwgMTc2NCwgMzEwMSwgMTI3ODE1LCAxMjg1OCwgMTIwMTU5LCAKLSAgICAwLCAxMTM3MywgNjM3OCwgMTI3ODU5LCAxMjAxMDMsIDg2NjMsIDkzMTIsIDQxNjQ0LCA0NTM5LCAyMTI5LCAwLCA5MjIyLCAKLSAgICAwLCAwLCA0MjU5LCA5MDkyLCA3NDU2NywgNDE5NjEsIDAsIDEyNzI0LCA2NjM1NywgNDIzMzEsIDY0OTM1LCAwLCAwLCAKLSAgICAxMjkzLCA3OTQ3LCAyMTMyLCAwLCA3NDU5MywgMTIwMzA4LCAyNDU0LCA0MjcxNywgMzYxMywgMTI4ODM3LCAwLCAwLCAKLSAgICA2NTg4OCwgODgxNiwgMTA5NzgsIDEwODQwLCAwLCAxMDY2OCwgMCwgNDMwODcsIDEyNTk1LCAxMjAzMDQsIDAsIDg4MjIsIDAsIAotICAgIDExNTcsIDY0OTAzLCA4NjM4LCAwLCAwLCAwLCAwLCAxMjAzMTksIDgyMzUsIDEyMDMxNiwgNDQwNSwgMTAwODYsIDEyMDI0NywgCi0gICAgMCwgNjkyMTYsIDAsIDY1NDMwLCA3NDAxMywgNjA3OSwgNjgxNywgMTA3NjQsIDEyNzkxMCwgNjQyOTEsIDEyODA1MSwgOTk4LCAKLSAgICAxMjAzMTIsIDExMDYyLCAxMzE3LCA2NDMyNywgMTU1OCwgMCwgMTk5MSwgNzg4MiwgNDIyNTQsIDAsIDQxNzAwLCA1MzAsIDAsIAotICAgIDEwNDI4LCAxMTkzMzUsIDEyMDAyLCAxMTkzMzYsIDU3NDIsIDQzMDc2LCA0NjkyLCA2NDYzMCwgNDE4MjMsIDQwMDcsIAotICAgIDUwMDQsIDExOTMzNCwgNzg5NiwgNzUxLCA2NTk1LCA2NTk2LCAwLCA2NjM3MywgMCwgMCwgNjQ5MDgsIDkyNjkxLCA2MzExLCAKLSAgICAwLCAxMjAwNCwgMTE5MTkyLCAxMjA0OSwgNDMxMDgsIDEyMDMyNiwgMCwgNDE3MDUsIDkyMTg4LCA2NTk4LCAwLCA2NTk5LCAKLSAgICAxMjAzMzQsIDAsIDQyMTQ4LCAxMTg4MjUsIDY2MDI3LCAwLCA2NTk3LCA5NDEyLCA4MzQwLCAxMTgyNCwgNjQ3NDUsIDAsIDAsIAotICAgIDAsIDE5ODgsIDU0MDcsIDY3ODY1LCAyNDMwLCA0MTY3OCwgMCwgMTIwMjQzLCAyMzM2LCAwLCAwLCA3ODg3MSwgMTIwNDQyLCAKLSAgICAwLCAxOTIxLCAxMDk0NywgMTk5MjcsIDAsIDY1NDA2LCAwLCAxOTkxMywgNDI4NCwgMTMyMTcsIDAsIDQzNzg5LCAxMjg0MSwgCi0gICAgOTIyOSwgMTA5NTYsIDQyMjg1LCA0MTY3NCwgMTk5NjQsIDQxNjc5LCA2NTA4NCwgMzUyMSwgMCwgNTc3NCwgODMyNSwgMCwgCi0gICAgNjU0MDMsIDAsIDE4NTQsIDEwNzk0LCAwLCA2NzY2MCwgMCwgMCwgNzgzNTksIDUyODAsIDAsIDQzNDQsIDEyOTA1LCAKLSAgICA2NTQzMywgNjA3NiwgNjQ3OTMsIDQxNjEwLCA3NjgsIDEyMDc0LCA0NDIsIDAsIDY4MTYyLCA2NDA4MSwgMTI5MzQsIAotICAgIDQxNjgyLCA2NTQzMiwgNDE2OTMsIDAsIDYwNzEsIDY1NDM0LCAxMjc0NjcsIDQ4MDQsIDQwNTMsIDAsIDEyNzQ2OSwgCi0gICAgMTk0NjUzLCA0MTY5NiwgNDY3LCA2OTgyMywgMTI3NDYzLCA2OTc5NywgMCwgMCwgODQyMSwgMTI3NDcyLCA2OTY4MiwgCi0gICAgNDM3MDUsIDUwMiwgMCwgNjU0MzEsIDExOTA1NiwgMCwgMTIwNDMsIDEzMDMsIDMxNiwgOTI0NjIsIDIwMjksIDIxMzYsIAotICAgIDExOTI0NiwgMTE1MzMsIDY0MzY1LCA0MzQ4MCwgOTI2MzksIDQ4NjAsIDE5NDY0NSwgMTI3ODc3LCA0MjQ4OCwgMCwgOTU4MywgCi0gICAgMTI4ODQ5LCA1NTQ2LCA4MDE5LCA3Mzg1NiwgMCwgMCwgMCwgNTU0NCwgMjM1NSwgMTIxNTAsIDY1NzI1LCA1NTQzLCAKLSAgICA3Nzk4OSwgNjM3NTEsIDEyMTM3LCA1NTQ4LCA3Nzk4NSwgMCwgNjU3MjcsIDY4Mzg4LCA2NTcyNiwgNjA3NywgMTI4MzUyLCAKLSAgICA2NTQ1MiwgMCwgMTEzMDEsIDc4MDEzLCA3ODAwOCwgNzgwMTAsIDk4NzQsIDc4MDA3LCAwLCAxMzE5LCAzMDUwLCA2NTQxMCwgCi0gICAgMCwgMCwgNzgwMTYsIDc4MDE3LCA0MjgzMCwgNDM5OTYsIDY2NzE2LCAxMjgxMzcsIDQ2OTEsIDkyMjQyLCA5MzQ1LCA2MjEsIAotICAgIDkyNzA5LCAxMjgyMjIsIDAsIDY1NDExLCAwLCA0MTE4MiwgNzM4ODEsIDY1NDA4LCA3Mzg5OSwgNzgwMjQsIDk0NzQsIAotICAgIDEwNTQ1LCAxMTkxMTgsIDEwODg3LCAzNzg2LCA2NTQwOSwgODg5NCwgNDMxNzksIDExOTYxMSwgNzkyMywgMzcxNiwgCi0gICAgOTIzNjMsIDk5OTYsIDg1MDgsIDAsIDcwMTIsIDgxOTUsIDEyNzgzNCwgOTU2NiwgMCwgMzcyMiwgMCwgNDE3MDcsIDg0OTMsIAotICAgIDU0NSwgOTU3NSwgNDEzNzksIDEwMDUwLCAxMjcxOCwgMCwgODg1OSwgNjgyMCwgNzQzNDUsIDY1MTEwLCAxMjA3NDAsIDAsIAotICAgIDAsIDkxMTksIDI3ODcsIDc5MjAsIDExODgyMywgNDAyMSwgMjAxMiwgNzk4NSwgMCwgMTE5NjYzLCAwLCAwLCA3ODAyMSwgCi0gICAgNzgwMjIsIDQxMCwgNzgwMjAsIDE4MDIsIDc4MDE4LCA3NDEwNywgMCwgNDE2NTksIDQxNjcxLCAxODI3LCAwLCA2NDM5NiwgCi0gICAgMTAxMjYsIDEyMTE2LCA0MTY3MywgMTIwMzcwLCAxMTQyMiwgNzgxNDEsIDEyMDM3MywgMzg2MCwgMTIwMzY3LCA2ODQxMiwgCi0gICAgNDEzNDUsIDEyMDM2MiwgMTIwMzYzLCAxMTc0OCwgNDIxNTgsIDc5NDEsIDExMDc2LCA4NzQ5LCAxMjAzNjEsIDIxMDQsIAotICAgIDY0ODU4LCAzNjEsIDEyMDM1NywgODQ1LCAwLCA0MTU2MCwgMTE5NzAsIDQ1NjIsIDkxNzkyMCwgMjkyNiwgOTE3OTE5LCAKLSAgICA0NTY5LCA3NDEzMCwgMCwgNDM0ODcsIDE5NDYzMCwgNjExLCA3NDEyOSwgNjQ4NzEsIDExODg5MSwgNjU2MjksIDAsIAotICAgIDE5NDg1OCwgMCwgMCwgMTI3NTQ1LCAxMjA1NDMsIDAsIDAsIDYyOTEsIDAsIDc4NjM5LCA0MTY2OSwgNzA5NCwgOTE3OTIxLCAKLSAgICAwLCAwLCA3NDA1NCwgMTI3NzU0LCAxOTUwMjksIDAsIDgzOSwgMCwgNzY5NSwgODc2OSwgNjUyNDYsIDQ4MjksIDAsIDQ4NTksIAotICAgIDY0NDY3LCAwLCAwLCAxMTg5OTgsIDcyMDYsIDAsIDY2NDcsIDQzOTg2LCAwLCA2OTc2NiwgMCwgNjQ3NjQsIDQyMTAsIDAsIAotICAgIDEyNzkzNiwgODA0LCAwLCAwLCAxMjI5OCwgMCwgNjY2NTMsIDAsIDY0OTI0LCAxMDA5MSwgNzM5MzEsIDk0NjgsIDc0MjQ1LCAKLSAgICAwLCAwLCA3NDI0NiwgOTI1MDMsIDEyODM5LCA2NDY2OSwgOTIyMDIsIDAsIDEyNzksIDE0MjUsIDYyMjQsIDExOTIyOSwgCi0gICAgMTEwNDksIDAsIDkyNjk3LCA0MzIzOSwgODQ4MiwgOTI0NDAsIDAsIDUwMzIsIDY5Njc3LCAxMTk0MCwgNjc4ODgsIDY2NCwgCi0gICAgMTIwNDM3LCA1MDM0LCAwLCAwLCAxMjc1MjUsIDQyNzAyLCA3Mzg4OCwgMCwgMTMyOTQsIDY3ODczLCA2NDg2OSwgNjAzMiwgCi0gICAgMCwgOTExNSwgNzQzMCwgMTIwMzc3LCAwLCAxMjA4MTksIDY4Mzg3LCAxMjAxNjgsIDczOTEzLCAxMjAxNzAsIDQxMTYxLCAKLSAgICA1NTE4LCA0MTc0LCAxMDk5MywgNDExNjIsIDEyMDE2MCwgNjQ1MjgsIDExNjksIDQzNCwgNDE0MzcsIDE5MDUsIDYwMzQsIAotICAgIDQxMTY0LCA2NDc0NCwgOTUyOCwgMTE4ODY3LCAxMjg4MDAsIDUyNCwgMCwgNzQwMjksIDc4OCwgNzQwMjcsIDAsIDE5NDYzOCwgCi0gICAgMCwgMTY2MywgMTA0MTksIDc0MDI1LCA0MjYzNiwgMCwgNjk3MjUsIDAsIDEyMDY1NiwgMCwgNjc4NzYsIDAsIDAsIDAsIAotICAgIDY3ODk3LCA3NDAzOSwgMCwgMCwgMTEzOTUsIDAsIDExOTEwNywgNDM2MTIsIDY0MzQ0LCAwLCAwLCAxMDg1NSwgNTQ0NSwgCi0gICAgOTM1NSwgMCwgNjUxOTgsIDczOTEsIDg5ODksIDIyMSwgNjU2ODYsIDAsIDAsIDgwMTAsIDcxOTEsIDQ5NjIsIDY5NzcyLCAKLSAgICA4ODU1LCAwLCAwLCA2NDQ2OSwgMTIwNDI2LCAxMDU1NSwgMCwgNDMzMzMsIDkyMjk5LCAwLCAxMjA0MjcsIDEwNDUxLCAwLCAKLSAgICA2NzY1MywgNzI0NSwgMTI0NDMsIDc0NDA1LCA5OTQ3LCAxMjAxNDksIDc4MzE3LCAzODczLCA4MzY3LCAwLCAxMjAxNDYsIAotICAgIDQzNDMzLCA0MzY0OSwgMTE5ODcsIDAsIDAsIDExMDEwLCAxMjcyMywgNzQwNTksIDc0MDYyLCA2MjE3LCA1ODk2LCAwLCAKLSAgICA3NjgyLCA3NDA0OSwgMTQ2MiwgMTAyMzUsIDAsIDAsIDAsIDAsIDAsIDAsIDQyNTk1LCAwLCA3NDQwMiwgMTE4ODYwLCAwLCAKLSAgICAxMjA0MTksIDkyNDk3LCA3NDA1MiwgMCwgMCwgMTIwNTQ5LCAxMTkwODIsIDY0Mjk1LCAxMjA0MTgsIDAsIDY0NzY1LCAKLSAgICA3MzkyMywgMTIwNDE3LCAxMjA2NjIsIDEyMDczMCwgMTk0NzAyLCA2MjE2LCAwLCAxMDc1NSwgOTQ1NSwgMCwgODEyNCwgCi0gICAgMTI3MDQyLCA5NDcwLCA2OTQ0LCAxMjc1NDAsIDAsIDY5NjgwLCAyODI4LCAwLCA1MzEsIDQyNjM4LCAwLCAwLCAwLCAKLSAgICA0MzQyOCwgODIwNCwgMzYxNCwgMjgyNywgOTY5NiwgMCwgMCwgODcyOCwgNDM1NCwgMTA5MDQsIDc4NTYyLCAxOTkzNiwgCi0gICAgNzgzMywgMTIwNjkxLCAwLCA0MjU5OSwgNDI1OTcsIDQyNzA5LCAxMjA0MDksIDEyNzA0NCwgMCwgODUzNywgMCwgMCwgMCwgCi0gICAgMCwgMCwgNDExOTksIDEwMTIxLCAyMDI4LCAwLCAwLCA2OTcxNSwgMCwgMzA2MiwgMCwgNzQ0NDcsIDEyNjA4LCAwLCAKLSAgICA2NjQ0MCwgNzU0NSwgOTcwMCwgMTI1ODAsIDAsIDEyMDc3NywgMTIwNTAyLCA0MTE1NSwgMCwgNzQwNzEsIDAsIDAsIAotICAgIDEyNzEzLCAwLCAwLCAwLCA3ODc3MiwgMCwgMTczNCwgMCwgMCwgMTI3MDQwLCA2NDU5NCwgMjQ1NiwgMjMxLCAwLCA3NDE2NywgCi0gICAgNTQyLCAwLCAxMTg3ODYsIDAsIDAsIDEyMzAsIDAsIDAsIDM1OTcsIDQ0NDYsIDEwNTg0LCA3NDIzNSwgOTIyMTUsIDQwMzcsIAotICAgIDEyNzkzOCwgODM1MiwgMCwgNTY4NywgMCwgNjQ1MTUsIDAsIDE5NDgwMSwgNTUyNjUsIDY3ODQ2LCA3ODQzNCwgOTcwNCwgMCwgCi0gICAgMCwgNzQyODQsIDEyODI4NSwgMCwgODY2MCwgMCwgMCwgMCwgNzg3NzMsIDc0NDgyLCA0NDgzLCAxNzA5LCA2OTcyMSwgCi0gICAgOTkwOSwgNjA4MCwgMCwgMTIwMzU4LCAxNzQ2LCAxMzE1LCA4NjY3LCAwLCAwLCAxMzE0MCwgNjU4OTksIDEwNjA0LCAwLCAKLSAgICA0NDgwLCAxMTI2NiwgMTI4MTUyLCAxMjI2LCA2OTMwLCAwLCAwLCA2MzYwLCAxMDg5NywgNDEyMzAsIDYwNSwgMCwgNzQ3ODUsIAotICAgIDEyMDM1NiwgMCwgMCwgNDE1MDAsIDAsIDMxMSwgMTE0NTMsIDYyMjEsIDEwNjA4LCA2NDk0MywgNzQyODAsIDEwODc3LCAKLSAgICAxMTg4NjgsIDY0ODg1LCA3NDI3MiwgMCwgMCwgMCwgMTIwNzM2LCA3NDMxMiwgMzQ1LCAwLCA3NDQ1NiwgNjQ2MDYsIDk5MTcsIAotICAgIDAsIDkyMjMxLCA1MDM3LCAwLCAxNzc2LCA4NDIyLCAwLCAxMTg4MTQsIDQxNTA4LCA0MTIwMSwgMzIzLCA0MzMyOCwgMCwgCi0gICAgNDI2OTgsIDEyOTUsIDAsIDQ2MjUsIDAsIDQ2MzAsIDEzMTE3LCAwLCAxMjg3NzIsIDY1MTIzLCAxMTI5MywgMjY2OCwgCi0gICAgMTEyODgsIDAsIDQyNjQwLCA2NTY2NiwgMjUxOSwgOTIzNjksIDY1NDIwLCA5MjQ3OSwgMCwgNDI1MiwgNTA0OSwgNDI2NTksIAotICAgIDExOTAxMSwgNzA2LCA3NzU0LCAxMDg1NCwgODczOCwgMCwgNjU0MTksIDAsIDAsIDY0OSwgNjU0MjEsIDAsIDY2NzAyLCAwLCAKLSAgICAxMjY3MCwgMTAxMywgMCwgNjQ5MTksIDcwNSwgMCwgNjU0MjIsIDEyNzgwMywgMTE4MywgMCwgNzAxNywgNDI4NTIsIDAsIAotICAgIDgxNTcsIDk3MzYsIDY0NTAzLCA2NTQxOCwgMCwgMCwgNzQwMzUsIDAsIDExOTEzLCA3Mzg3NCwgNjY5NiwgMCwgODkyMCwgMCwgCi0gICAgMCwgNzk2MiwgMTIyMTEsIDk4MzcsIDIwNTEsIDY2MjI3LCAwLCA0MTg0LCAwLCAwLCAxMDE3NywgNzM3NzcsIDE4NTcsIDAsIAotICAgIDQ2MjYsIDg0NjQsIDg0NzIsIDAsIDQ2MjksIDg0OTksIDc4MzIxLCA3ODMyMiwgNDYyNCwgNzgxOCwgMTE5MTczLCAwLCAwLCAKLSAgICA3ODA1LCAwLCAwLCA2OTM1LCA5MjI5MiwgNzgzMjUsIDc4MzI2LCA3ODMyMywgNDMzMjcsIDQzOTg5LCAxMTkwNDYsIDg0OTIsIAotICAgIDgyNTAsIDg0NTksIDAsIDg0OTcsIDg0OTYsIDAsIDAsIDc4MzM2LCA3ODMzOSwgOTU0MywgNzgzMzUsIDc4MzMyLCA3NzgzMiwgCi0gICAgNjU4NDksIDc3ODMxLCAwLCAwLCAxMjQ1MSwgMCwgODY4NCwgMCwgNjEwMiwgMCwgNTI5OCwgMCwgNTI5NCwgMCwgMCwgMCwgCi0gICAgMTk1MDYyLCA5OTQ5LCAxMTk4MjYsIDQzNjE3LCAxMTkyMTUsIDAsIDEyMDczLCAwLCAwLCA3Nzg2MywgMTMxMDgsIAotICAgIDEyMDYxNywgNzQzOTcsIDQxNDY4LCAwLCAwLCA1MjkyLCA1NTI3MiwgMCwgMTkzOSwgNTMwMiwgMzk3MCwgOTE3ODc5LCAKLSAgICAxMjQ1NSwgMTc5MywgMCwgMCwgMCwgNjY0MywgOTI0NzcsIDY1MjYzLCAwLCA3ODMzMCwgNDEyOTMsIDc4MzI4LCA2NTkyMywgCi0gICAgMCwgMTMyMTksIDk1NjksIDAsIDc0MzgzLCAwLCAwLCAwLCA1NTAwLCA4ODEzLCAwLCAwLCA3NDU2NiwgNTMyMiwgMCwgCi0gICAgNzgzNDAsIDQzNjMxLCA1MzI0LCA2NjQ0MywgMzc4NCwgNDE2MTQsIDY1MjY5LCA2MjMwLCA3ODM0OSwgNzgzNDUsIDQzMzI0LCAKLSAgICAzMzYwLCA3ODM0NCwgMTE1MjMsIDAsIDkyNDg4LCA5OTI2LCA3MTk3LCAwLCA2ODQyOSwgNDI4OTQsIDQxODIxLCAxMjQ5LCAKLSAgICA3ODM2MCwgNzgzNjEsIDc4MzU2LCA3ODM1OCwgNzgzNTMsIDY0ODk5LCA2NDc2MywgNDExNDksIDQxODA3LCA0MzE2MiwgCi0gICAgNDE4MTUsIDQxMTUwLCAwLCAxMDU3MSwgMTAwOTYsIDAsIDAsIDc4MDc0LCA2OTQ3LCA0MTE1MiwgODg3LCA5MjQ5LCA2NTY1LCAKLSAgICA3ODUxMCwgNDE5OTAsIDc4NTA5LCA0MTgxMSwgNzQ0NjYsIDAsIDY2NzAsIDc3ODgyLCAwLCAwLCA0MzA5MiwgNDMzMjUsIDAsIAotICAgIDEwMTY4LCAwLCA5NzgxLCAxMjg2NTUsIDkxOTAsIDAsIDk2NjYsIDgyNjksIDY1OTQ0LCA3NDAwNSwgMTMwMTksIDExNjcwLCAKLSAgICAxMjczODMsIDMxNSwgMTI4MTMsIDAsIDc4NDMyLCA3ODI1NiwgNzgzNTEsIDc4MzUyLCAwLCAwLCAwLCAwLCAxMzc4LCAKLSAgICA5NTA5LCAwLCAwLCA3NDQ3NSwgMzA2NiwgOTIyMjAsIDY3ODQ3LCAwLCA5MjM1NSwgMCwgNzgzNjUsIDg3ODcsIDEyMDM3OSwgCi0gICAgMTk0NjE2LCA0MTYxOCwgMTk0NjE1LCA3ODI2MSwgMTk0NjE0LCAwLCA2NDY1MiwgMCwgMTk0NjEyLCAwLCA3ODM2NiwgCi0gICAgNDIwODgsIDAsIDE5NTA2MSwgNzE3NiwgMTI4ODMzLCAxMDEzNywgNjEyMSwgMTA5OTUsIDc4MjU5LCA3NDUzNCwgODExOSwgCi0gICAgNjQ4NzQsIDkxNzgxNiwgMTI3MTk5LCAxOTQ5MzksIDAsIDc0NTI1LCAwLCAwLCAxMjkzMCwgMTM5NCwgNzQ1MTQsIDAsIAotICAgIDc0NTE1LCAwLCAxMTg4MDQsIDI5OTgsIDk1MjcsIDEyMDY1OSwgNjUxOTAsIDEyOTc3LCA0MjA5MCwgMTE5MTY1LCAwLCAKLSAgICAxMTkxMDAsIDQxMjM2LCA5MjIzNSwgNDIwMDUsIDQyMDAzLCA0MTIzNywgNTg0OCwgMCwgMCwgMzY3MCwgMTI4NjU3LCAKLSAgICAxOTQ2MDAsIDAsIDAsIDc4OTAsIDAsIDExMjk4LCA0MzMxNSwgMCwgNjIyOSwgMTU5MywgMCwgMCwgNjE5LCA0NjM1LCAKLSAgICA2NTA4MCwgMCwgMTI4MDAyLCA0MTIwLCA2NTMzNywgNjUzMzYsIDAsIDExODA4LCAxMTkyMTQsIDc0MTE1LCA5MzY2LCAKLSAgICA0Mjc5MCwgNDIwMDYsIDAsIDY1MzI3LCA2NTMyNiwgNjUzMjUsIDEwNzU3LCAxNTA3LCA0MjIxNiwgNjUzMjEsIDY1MzIwLCAKLSAgICA2NTMzNSwgNjUzMzQsIDY1MzMzLCA2NTMzMiwgNjUzMzEsIDQyMDU5LCA2NTMyOSwgNDI2ODksIDkyNDI3LCA5MTI4LCAKLSAgICAxMTg4ODUsIDQyMDczLCA2Nzg1LCA2NDU5MCwgMCwgNDM3MSwgNzE5NiwgNjUzMTgsIDIwMzUsIDY1MzE2LCA0MTA2LCAKLSAgICA2NTMxNCwgNjUzMTMsIDQyMDc0LCAxMjc4NDcsIDQxMjI4LCAwLCA2NTYwOSwgNDEyNDEsIDc5MDMsIDQxMjM5LCA0MzUzMywgCi0gICAgNzg0NTksIDcxODksIDAsIDAsIDAsIDEyMzU3LCA0MjgwMiwgNzg0NTAsIDg0ODcsIDkxMzEsIDAsIDQ2MTUsIDEyNjk1LCAKLSAgICAxMjc3NTIsIDAsIDEyMTc1LCAwLCA2NDUzNSwgMCwgNzgwOSwgMCwgMCwgNTYyLCAxMjE2OSwgNjU5MCwgNjk3NjIsIAotICAgIDY2NDU1LCA2NDczOCwgMzIxOSwgNjg2NTQsIDAsIDAsIDEwMzcsIDAsIDIwMjUsIDEyODI2MywgMTMwOTgsIDc4NDQyLCAKLSAgICAxMDYzNywgNDU2OCwgNTQ5LCAxNTcwLCAwLCAyODM1LCAwLCAxMDYyNCwgNDM2MjMsIDExMDcyLCAxMjcxOTEsIDAsIDAsIAotICAgIDEyNjA2LCA3ODQzMywgMjgyNSwgMCwgMTA4MjUsIDgwNzksIDI4MjEsIDQxMDQ2LCA5MjMyNywgMCwgMCwgMTIwNTkzLCAKLSAgICAxMzA3MSwgMCwgNDUyLCA0MTA0OSwgNDI4NDAsIDYzNDYsIDI4MzEsIDU0NjEsIDc0NTk2LCAxMTQ2NSwgNTIxMiwgMCwgCi0gICAgNjQ3MDMsIDExOTE5MSwgNDIzMDgsIDcxODEsIDAsIDQxMzMyLCAwLCAxMjMzMywgMCwgMTY2OCwgMCwgMCwgMCwgMTE4NywgCi0gICAgMCwgNDI2MjgsIDc4NTc1LCAwLCAxMjg3NzcsIDAsIDMyNDAsIDEyODUxOCwgMTIxOTQsIDAsIDExNTkxLCA0MTA2NSwgCi0gICAgNTMyMywgODE2NiwgMCwgMCwgMCwgNzQ1MzUsIDE2MjMsIDY1Mjk3LCAxMjg4NTYsIDU3MSwgMCwgNDkxOCwgMCwgNTI4OCwgCi0gICAgMTI3Mjk1LCA4OTE2LCA2NTA0OCwgMTkwOSwgODg2NCwgMCwgMCwgMTA3MzYsIDkyNTA4LCAxMTU3MSwgNzYxNSwgMTI3MzAwLCAKLSAgICA5MjI5NiwgNDIzNywgOTI1NzYsIDEwMzUsIDY1ODE1LCAwLCA3ODgxLCA3MDEsIDY1OTM2LCAzNDg5LCAwLCAwLCAxMjA3NTEsIAotICAgIDExNDAzLCAwLCAwLCAxMjcxNDYsIDM3OTYsIDY4MDAsIDAsIDM5OTQsIDExNDIxLCAwLCAxOTUwNzYsIDAsIDAsIDAsIDAsIAorICAgIDAsIDY0MDc1LCA3OTcsIDY0MDc0LCA4NzM0LCA0MjEyLCAxMjczNjksIDY0Mzg3LCA0MTE1LCAwLCA1MDA1LCA2NDA3MCwgCisgICAgNjQwNzMsIDEwNjc5LCAwLCA3Nzk1NCwgOTQwMiwgNjQyNzYsIDQyNiwgMCwgMCwgODI1MSwgMTAxMzYsIDY1NDM2LCAwLCAKKyAgICAyMTIwLCA0MzMwMiwgMTIyNCwgMCwgNjU1NzYsIDc0MTkyLCAxMDcwMSwgMTc2NCwgMzEwMSwgMTI3ODE1LCAxMjg1OCwgCisgICAgMTIwMTU5LCAwLCAxMTM3MywgNjM3OCwgMTI3ODU5LCAxMjAxMDMsIDg2NjMsIDkzMTIsIDQxNjQ0LCA0NTM5LCAyMTI5LCAwLCAKKyAgICA5MjIyLCA5ODM3MjksIDAsIDQyNTksIDkwOTIsIDc0NTY3LCA0MTk2MSwgMCwgMTI3MjQsIDY2MzU3LCA0MjMzMSwgNjQ5MzUsIAorICAgIDAsIDAsIDEyOTMsIDc5NDcsIDIxMzIsIDk4Mzc1OCwgNzQ1OTMsIDEyMDMwOCwgMjQ1NCwgNDI3MTcsIDM2MTMsIDEyODgzNywgCisgICAgMCwgMCwgNjU4ODgsIDg4MTYsIDEwOTc4LCAxMDg0MCwgMCwgMTA2NjgsIDAsIDQzMDg3LCAxMjU5NSwgMTIwMzA0LCAKKyAgICA5ODMxMTQsIDg4MjIsIDAsIDExNTcsIDY0OTAzLCA4NjM4LCAwLCAwLCAwLCAwLCA2OTg0OCwgODIzNSwgMTIwMzE2LCAKKyAgICA0NDA1LCAxMDA4NiwgMTIwMjQ3LCAwLCA2OTIxNiwgMCwgNjU0MzAsIDcxMzIxLCA2MDc5LCA2ODE3LCAxMDc2NCwgCisgICAgMTI3OTEwLCA2NDI5MSwgMTI4MDUxLCA5OTgsIDEyMDMxMiwgMTEwNjIsIDEzMTcsIDY0MzI3LCAxNTU4LCAwLCAxOTkxLCAKKyAgICA3ODgyLCA0MjI1NCwgMCwgNDE3MDAsIDUzMCwgMCwgMTA0MjgsIDExOTMzNSwgMTIwMDIsIDExOTMzNiwgNTc0MiwgNDMwNzYsIAorICAgIDQ2OTIsIDY0NjMwLCA0MTgyMywgNDAwNywgNTAwNCwgMTE5MzM0LCA3ODk2LCA3NTEsIDY1OTUsIDY1OTYsIDEyMDMyNSwgCisgICAgNjYzNzMsIDAsIDAsIDY0OTA4LCA5MjY5MSwgNjMxMSwgMCwgMTIwMDQsIDExOTE5MiwgMTIwNDksIDQzMTA4LCAxMjAzMjYsIAorICAgIDAsIDQxNzA1LCA5MjE4OCwgNjU5OCwgMCwgNjU5OSwgMTIwMzM0LCAwLCA0MjE0OCwgMTE4ODI1LCA2NjAyNywgMCwgNjU5NywgCisgICAgOTQxMiwgODM0MCwgMTE4MjQsIDY0NzQ1LCAyMjgxLCA2OTkwNCwgMCwgMTk4OCwgNTQwNywgNjc4NjUsIDI0MzAsIDQxNjc4LCAKKyAgICAwLCAxMjAyNDMsIDIzMzYsIDk4Mzg5NCwgMCwgNzg4NzEsIDEyMDQ0MiwgOTgzNzYwLCAxOTIxLCAxMDk0NywgMTk5MjcsIDAsIAorICAgIDY1NDA2LCAwLCAxOTkxMywgNDI4NCwgMTMyMTcsIDAsIDQzNzg5LCAxMjg0MSwgOTIyOSwgMTA5NTYsIDQyMjg1LCA0MTY3NCwgCisgICAgMTk5NjQsIDQxNjc5LCA2NTA4NCwgMzUyMSwgMCwgNTc3NCwgODMyNSwgMCwgNjU0MDMsIDk4MzA4OSwgMTg1NCwgMTA3OTQsIAorICAgIDAsIDY3NjYwLCA2OTg0NiwgMCwgNzgzNTksIDUyODAsIDAsIDQzNDQsIDEyOTA1LCA2NTQzMywgNjA3NiwgNjQ3OTMsIAorICAgIDQxNjEwLCA3NjgsIDEyMDc0LCA0NDIsIDAsIDY4MTYyLCA2NDA4MSwgMTI5MzQsIDQxNjgyLCA2NTQzMiwgNDE2OTMsIDAsIAorICAgIDYwNzEsIDY1NDM0LCAxMjc0NjcsIDQ4MDQsIDQwNTMsIDAsIDEyNzQ2OSwgMTk0NjUzLCA0MTY5NiwgNDY3LCA2OTgyMywgCisgICAgMTI3NDYzLCA2OTc5NywgMTk0NjUyLCAxMjc0NzMsIDg0MjEsIDEyNzQ3MiwgNjk2ODIsIDQzNzA1LCA1MDIsIDAsIDY1NDMxLCAKKyAgICAxMTkwNTYsIDY5OTU0LCAxMjA0MywgMTMwMywgMzE2LCA3MzY0LCAyMDI5LCAyMTM2LCAxMTkyNDYsIDExNTMzLCA2NDM2NSwgCisgICAgNDM0ODAsIDkyNjM5LCA0ODYwLCAxMjY2NDgsIDEyNzg3NywgNDI0ODgsIDAsIDk1ODMsIDEyODg0OSwgNTU0NiwgODAxOSwgCisgICAgNzM4NTYsIDAsIDAsIDAsIDU1NDQsIDIzNTUsIDEyMTUwLCA2NTcyNSwgNTU0MywgNzc5ODksIDYzNzUxLCAxMjEzNywgCisgICAgNTU0OCwgNzc5ODUsIDAsIDY1NzI3LCA2ODM4OCwgNjU3MjYsIDYwNzcsIDEyODM1MiwgNjU0NTIsIDAsIDExMzAxLCAKKyAgICA3ODAxMywgNzgwMDgsIDc4MDEwLCA5ODc0LCA3ODAwNywgMCwgMTMxOSwgMzA1MCwgNjU0MTAsIDAsIDAsIDc4MDE2LCAKKyAgICA3ODAxNywgNDI4MzAsIDQzOTk2LCA2NjcxNiwgMTI4MTM3LCA0NjkxLCA5MjI0MiwgOTM0NSwgNjIxLCA5MjcwOSwgCisgICAgMTI4MjIyLCAwLCA2NTQxMSwgMCwgNDExODIsIDczODgxLCA2NTQwOCwgNzM4OTksIDc4MDI0LCA5NDc0LCAxMDU0NSwgCisgICAgMTE5MTE4LCAxMDg4NywgMzc4NiwgNjU0MDksIDg4OTQsIDQzMTc5LCAxMTk2MTEsIDc5MjMsIDM3MTYsIDkyMzYzLCA5OTk2LCAKKyAgICA4NTA4LCAwLCA3MDEyLCA4MTk1LCAxMjc4MzQsIDk1NjYsIDAsIDM3MjIsIDAsIDQxNzA3LCA4NDkzLCA1NDUsIDk1NzUsIAorICAgIDQxMzc5LCAxMDA1MCwgMTI3MTgsIDY5ODU0LCA4ODU5LCA2ODIwLCA3NDM0NSwgNjUxMTAsIDEyMDc0MCwgMCwgMCwgOTExOSwgCisgICAgMjc4NywgNzkyMCwgMTE4ODIzLCA0MDIxLCAyMDEyLCA3OTg1LCAwLCAxMTk2NjMsIDAsIDAsIDc4MDIxLCA3ODAyMiwgNDEwLCAKKyAgICA3ODAyMCwgMTgwMiwgNzgwMTgsIDc0MTA3LCAwLCA0MTY1OSwgNDE2NzEsIDE4MjcsIDAsIDY0Mzk2LCAxMDEyNiwgMTIxMTYsIAorICAgIDQxNjczLCAxMjAzNzAsIDExNDIyLCA3ODE0MSwgMTIwMzczLCAzODYwLCAxMjAzNjcsIDY4NDEyLCA0MTM0NSwgMTIwMzYyLCAKKyAgICAxMjAzNjMsIDExNzQ4LCA0MjE1OCwgNzk0MSwgMTEwNzYsIDg3NDksIDEyMDM2MSwgMjEwNCwgNjQ4NTgsIDM2MSwgCisgICAgMTIwMzU3LCA4NDUsIDAsIDQxNTYwLCAxMTk3MCwgNDU2MiwgOTE3OTIwLCAyOTI2LCA5MTc5MTksIDQ1NjksIDc0MTMwLCAwLCAKKyAgICA0MzQ4NywgMTk0NjMwLCA2MTEsIDc0MTI5LCA2NDg3MSwgMTE4ODkxLCA2NTYyOSwgMCwgMTk0ODU4LCAwLCAwLCAxMjc1NDUsIAorICAgIDEyMDU0MywgMCwgMCwgNjI5MSwgMCwgNzg2MzksIDQxNjY5LCA3MDk0LCA5MTc5MjEsIDAsIDk4MzU4MSwgNzQwNTQsIAorICAgIDEyNzc1NCwgMTk1MDI5LCAwLCA4MzksIDk4MzMxMSwgNzY5NSwgODc2OSwgNjUyNDYsIDQ4MjksIDE5NDY2MywgNDg1OSwgCisgICAgNjQ0NjcsIDAsIDk4Mzk1NCwgMTE4OTk4LCA3MjA2LCAwLCA2NjQ3LCA0Mzk4NiwgMCwgNjk3NjYsIDAsIDY0NzY0LCA0MjEwLCAKKyAgICA5ODM4NTQsIDEyNzkzNiwgODA0LCAwLCAwLCAxMjI5OCwgMCwgNjY2NTMsIDAsIDY0OTI0LCAxMDA5MSwgNzM5MzEsIDk0NjgsIAorICAgIDc0MjQ1LCAwLCAwLCA3NDI0NiwgOTI1MDMsIDEyODM5LCA2NDY2OSwgOTIyMDIsIDAsIDEyNzksIDE0MjUsIDYyMjQsIAorICAgIDExOTIyOSwgMTEwNDksIDAsIDkyNjk3LCA0MzIzOSwgODQ4MiwgOTI0NDAsIDAsIDUwMzIsIDY5Njc3LCAxMTk0MCwgCisgICAgNjc4ODgsIDY2NCwgMTIwNDM3LCA1MDM0LCAwLCAwLCAxMjc1MjUsIDQyNzAyLCA3Mzg4OCwgOTgzMTQ5LCAxMzI5NCwgCisgICAgNjc4NzMsIDY0ODY5LCA2MDMyLCAwLCA5MTE1LCA3NDMwLCAxMjAzNzcsIDAsIDEyMDgxOSwgNjgzODcsIDEyMDE2OCwgCisgICAgNzM5MTMsIDEyMDE3MCwgNDExNjEsIDU1MTgsIDQxNzQsIDEwOTkzLCA0MTE2MiwgMTIwMTYwLCA2NDUyOCwgMTE2OSwgNDM0LCAKKyAgICA0MTQzNywgMTkwNSwgNjAzNCwgNDExNjQsIDY0NzQ0LCA5NTI4LCAxMTg4NjcsIDEyODgwMCwgNTI0LCAwLCA3NDAyOSwgCisgICAgNzg4LCA3NDAyNywgMCwgMTk0NjM4LCAwLCAxNjYzLCAxMDQxOSwgNzQwMjUsIDQyNjM2LCAwLCA2OTcyNSwgMCwgMTIwNjU2LCAKKyAgICAwLCA2Nzg3NiwgMCwgMCwgMCwgNjc4OTcsIDc0MDM5LCAwLCAwLCAxMTM5NSwgMCwgMTE5MTA3LCA0MzYxMiwgNjQzNDQsIDAsIAorICAgIDAsIDEwODU1LCA1NDQ1LCA5MzU1LCAwLCA2NTE5OCwgNzM5MSwgODk4OSwgMjIxLCA2NTY4NiwgMCwgMCwgODAxMCwgNzE5MSwgCisgICAgNDk2MiwgNjk3NzIsIDg4NTUsIDAsIDAsIDY0NDY5LCAxMjA0MjYsIDEwNTU1LCAwLCA0MzMzMywgOTIyOTksIDAsIAorICAgIDEyMDQyNywgMTA0NTEsIDAsIDY3NjUzLCA3MjQ1LCAxMjQ0MywgNzQ0MDUsIDk5NDcsIDEyMDE0OSwgNzgzMTcsIDM4NzMsIAorICAgIDgzNjcsIDAsIDEyMDE0NiwgNDM0MzMsIDQzNjQ5LCAxMTk4NywgMCwgMCwgMTEwMTAsIDEyNzIzLCA3NDA1OSwgNzQwNjIsIAorICAgIDYyMTcsIDU4OTYsIDAsIDc2ODIsIDc0MDQ5LCAxNDYyLCAxMDIzNSwgMCwgMCwgMCwgMCwgMCwgMCwgNDI1OTUsIDAsIAorICAgIDc0NDAyLCAxMTg4NjAsIDAsIDEyMDQxOSwgOTI0OTcsIDc0MDUyLCAwLCA5MjM3OCwgMTIwNTQ5LCAxMTkwODIsIDY0Mjk1LCAKKyAgICAxMjA0MTgsIDAsIDY0NzY1LCA3MzkyMywgMTIwNDE3LCAxMjA2NjIsIDY5OTIwLCAxOTQ3MDIsIDYyMTYsIDAsIDEwNzU1LCAKKyAgICA5NDU1LCAwLCA4MTI0LCAxMjcwNDIsIDk0NzAsIDY5NDQsIDEyNzU0MCwgMCwgNjk2ODAsIDI4MjgsIDAsIDUzMSwgNDI2MzgsIAorICAgIDAsIDAsIDAsIDQzNDI4LCA4MjA0LCAzNjE0LCAyODI3LCA5Njk2LCAwLCAwLCA4NzI4LCA0MzU0LCAxMDkwNCwgNzg1NjIsIAorICAgIDE5OTM2LCA3ODMzLCAxMjA2OTEsIDAsIDQyNTk5LCA0MjU5NywgNDI3MDksIDEyMDQwOSwgMTI3MDQ0LCAwLCA4NTM3LCAwLCAKKyAgICAwLCA5MzU0LCA5ODMxNjQsIDEyODgzMywgNDExOTksIDEwMTIxLCAyMDI4LCAwLCA5ODMxOTQsIDY5NzE1LCAwLCAzMDYyLCAKKyAgICAwLCA3NDQ0NywgMTI2MDgsIDAsIDY2NDQwLCA3NTQ1LCA5NzAwLCAxMjU4MCwgOTIyMDUsIDEyMDc3NywgMTIwNTAyLCAKKyAgICA0MTE1NSwgMCwgNzQwNzEsIDAsIDk4MzQ0OSwgMTI3MTMsIDAsIDAsIDAsIDc4NzcyLCAwLCAxNzM0LCAwLCAwLCAxMjcwNDAsIAorICAgIDY0NTk0LCAyNDU2LCAyMzEsIDAsIDc0MTY3LCA1NDIsIDAsIDExODc4NiwgMCwgOTgzOTcwLCAxMjMwLCAwLCAwLCAzNTk3LCAKKyAgICA0NDQ2LCAxMDU4NCwgNzQyMzUsIDkyMjE1LCA0MDM3LCAxMjc5MzgsIDgzNTIsIDAsIDU2ODcsIDAsIDY0NTE1LCAwLCAKKyAgICAxOTQ4MDEsIDU1MjY1LCA2Nzg0NiwgNzg0MzQsIDk3MDQsIDAsIDAsIDcwMDgwLCA3MTMzOCwgMCwgODY2MCwgMTI2NDk1LCAKKyAgICAwLCAwLCA3ODc3MywgNzQ0ODIsIDQ0ODMsIDE3MDksIDY5NzIxLCA5OTA5LCA2MDgwLCAwLCAxMjAzNTgsIDE3NDYsIDEzMTUsIAorICAgIDg2NjcsIDAsIDAsIDEzMTQwLCA2NTg5OSwgMTA2MDQsIDAsIDQ0ODAsIDExMjY2LCAxMjgxNTIsIDEyMjYsIDY5MzAsIAorICAgIDY3OTc5LCA5ODM2ODEsIDYzNjAsIDEwODk3LCA0MTIzMCwgNjA1LCAwLCA3NDc4NSwgNjk4NzUsIDAsIDAsIDQxNTAwLCAwLCAKKyAgICAzMTEsIDExNDUzLCA2MjIxLCAxMDYwOCwgNjQ5NDMsIDc0MjgwLCAxMDg3NywgMTE4ODY4LCA2NDg4NSwgNzQyNzIsIDAsIDAsIAorICAgIDEyODU1OSwgMTIwNzM2LCA3NDMxMiwgMzQ1LCAwLCA3NDQ1NiwgNjQ2MDYsIDk5MTcsIDAsIDkyMjMxLCA1MDM3LCAwLCAKKyAgICAxNzc2LCA4NDIyLCAwLCAxMTg4MTQsIDQxNTA4LCA0MTIwMSwgMzIzLCA0MzMyOCwgMCwgNDI2OTgsIDEyOTUsIDE5NDg1MywgCisgICAgNDYyNSwgMCwgNDYzMCwgMTMxMTcsIDAsIDEyODc3MiwgNjUxMjMsIDExMjkzLCAyNjY4LCAxMTI4OCwgMCwgNDI2NDAsIAorICAgIDY1NjY2LCAyNTE5LCA5MjM2OSwgNjU0MjAsIDkyNDc5LCAwLCA0MjUyLCA1MDQ5LCA0MjY1OSwgMTE5MDExLCA3MDYsIAorICAgIDc3NTQsIDEwODU0LCA4NzM4LCAwLCA2NTQxOSwgMCwgMCwgNjQ5LCA2NTQyMSwgMCwgNjY3MDIsIDAsIDEyNjcwLCAxMDEzLCAKKyAgICAwLCA2NDkxOSwgNzA1LCAwLCA2NTQyMiwgMTI3ODAzLCAxMTgzLCAxMjY1MTksIDcwMTcsIDQyODUyLCAwLCA4MTU3LCAKKyAgICA5NzM2LCA2NDUwMywgNjU0MTgsIDAsIDk4Mzg2OSwgNzQwMzUsIDAsIDExOTEzLCA3Mzg3NCwgNjY5NiwgMCwgODkyMCwgCisgICAgMTE5Mjk4LCAwLCA3OTYyLCAxMjIxMSwgOTgzNywgMjA1MSwgNjYyMjcsIDAsIDQxODQsIDAsIDAsIDEwMTc3LCA3Mzc3NywgCisgICAgMTg1NywgMTk0NjU3LCA0NjI2LCA4NDY0LCA4NDcyLCAwLCA0NjI5LCA4NDk5LCA3ODMyMSwgNzgzMjIsIDQ2MjQsIDc4MTgsIAorICAgIDExOTE3MywgMCwgMCwgNzgwNSwgMCwgOTQwMDcsIDY5MzUsIDkyMjkyLCA3ODMyNSwgNzgzMjYsIDc4MzIzLCA0MzMyNywgCisgICAgNDM5ODksIDExOTA0NiwgODQ5MiwgODI1MCwgODQ1OSwgMCwgODQ5NywgODQ5NiwgMCwgMCwgNzgzMzYsIDc4MzM5LCA5NTQzLCAKKyAgICA3ODMzNSwgNzgzMzIsIDc3ODMyLCA2NTg0OSwgNzc4MzEsIDk4Mzk1MiwgMCwgMTI0NTEsIDAsIDg2ODQsIDAsIDYxMDIsIDAsIAorICAgIDUyOTgsIDAsIDUyOTQsIDAsIDAsIDk4MzQ1MSwgMTk1MDYyLCA5OTQ5LCAxMTk4MjYsIDQzNjE3LCAxMTkyMTUsIDAsIAorICAgIDEyMDczLCAwLCAwLCA3Nzg2MywgMTMxMDgsIDEyMDYxNywgMTE0MzksIDQxNDY4LCA5ODM3NDgsIDAsIDUyOTIsIDU1MjcyLCAKKyAgICA5ODM4NzQsIDE5MzksIDUzMDIsIDM5NzAsIDkxNzg3OSwgMTI0NTUsIDE3OTMsIDAsIDAsIDAsIDY2NDMsIDkyNDc3LCAKKyAgICA2NTI2MywgMCwgNzgzMzAsIDQxMjkzLCA3ODMyOCwgNjU5MjMsIDAsIDEzMjE5LCA5NTY5LCAwLCA3NDM4MywgMCwgNzQxOTcsIAorICAgIDAsIDU1MDAsIDg4MTMsIDAsIDAsIDc0NTY2LCA1MzIyLCAwLCA3ODM0MCwgNDM2MzEsIDUzMjQsIDY2NDQzLCAzNzg0LCAKKyAgICA0MTYxNCwgNjUyNjksIDYyMzAsIDc4MzQ5LCA3ODM0NSwgNDMzMjQsIDMzNjAsIDc4MzQ0LCAxMTUyMywgMCwgOTI0ODgsIAorICAgIDk5MjYsIDcxOTcsIDAsIDY4NDI5LCA0Mjg5NCwgNDE4MjEsIDEyNDksIDc4MzYwLCA3ODM2MSwgNzgzNTYsIDc4MzU4LCAKKyAgICA3ODM1MywgNjQ4OTksIDY0NzYzLCA0MTE0OSwgNDE4MDcsIDQzMTYyLCA0MTgxNSwgNDExNTAsIDAsIDEwNTcxLCAxMDA5NiwgCisgICAgMCwgMCwgNzgwNzQsIDY5NDcsIDQxMTUyLCA4ODcsIDkyNDksIDY1NjUsIDc4NTEwLCA0MTk5MCwgNzg1MDksIDQxODExLCAKKyAgICA3NDQ2NiwgOTM5NjYsIDY2NzAsIDc3ODgyLCAwLCAwLCA0MzA5MiwgNDMzMjUsIDAsIDEwMTY4LCAwLCA5NzgxLCAxMjg2NTUsIAorICAgIDkxOTAsIDAsIDk2NjYsIDgyNjksIDY1OTQ0LCA3NDAwNSwgMTMwMTksIDExNjcwLCA2OTg2MCwgMzE1LCAxMjgxMywgCisgICAgOTgzNDUwLCA3ODQzMiwgNzgyNTYsIDc4MzUxLCA3ODM1MiwgMCwgOTgzNjQ4LCAwLCAwLCAxMzc4LCA5NTA5LCAwLCAwLCAKKyAgICA3NDQ3NSwgMzA2NiwgOTIyMjAsIDY3ODQ3LCAwLCA5MjM1NSwgMCwgNzgzNjUsIDg3ODcsIDEyMDM3OSwgMTk0NjE2LCAKKyAgICA0MTYxOCwgMTk0NjE1LCA3ODI2MSwgMTk0NjE0LCAwLCA2NDY1MiwgMCwgMTk0NjEyLCAwLCA3ODM2NiwgNDIwODgsIDAsIAorICAgIDE5NTA2MSwgNzE3NiwgNDM3NTYsIDEwMTM3LCA2MTIxLCAxMDk5NSwgNzgyNTksIDc0NTM0LCA4MTE5LCA2NDg3NCwgCisgICAgOTE3ODE2LCAxMjcxOTksIDE5NDkzOSwgMCwgNzQ1MjUsIDAsIDAsIDEyOTMwLCAxMzk0LCA3NDUxNCwgMCwgNzQ1MTUsIDAsIAorICAgIDExODgwNCwgMjk5OCwgOTUyNywgMTIwNjU5LCA2NTE5MCwgMTI5NzcsIDQyMDkwLCAxMTkxNjUsIDAsIDExOTEwMCwgCisgICAgNDEyMzYsIDkyMjM1LCA0MjAwNSwgNDIwMDMsIDQxMjM3LCA1ODQ4LCAwLCAwLCAzNjcwLCAxMjg2NTcsIDE5NDYwMCwgMCwgCisgICAgMCwgNzg5MCwgMCwgMTEyOTgsIDQzMzE1LCAwLCA2MjI5LCAxNTkzLCAwLCAwLCA2MTksIDQ2MzUsIDY1MDgwLCAwLCAKKyAgICAxMjgwMDIsIDQxMjAsIDY1MzM3LCA2NTMzNiwgMCwgMTE4MDgsIDExOTIxNCwgNzQxMTUsIDkzNjYsIDQyNzkwLCA0MjAwNiwgCisgICAgMTE5MTE1LCA2NTMyNywgNjUzMjYsIDY1MzI1LCAxMDc1NywgMTUwNywgNDIyMTYsIDY1MzIxLCA2NTMyMCwgNjUzMzUsIAorICAgIDY1MzM0LCA2NTMzMywgNjUzMzIsIDY1MzMxLCA0MjA1OSwgNjUzMjksIDQyNjg5LCA5MjQyNywgOTEyOCwgOTQwNDUsIAorICAgIDQyMDczLCA2Nzg1LCA2NDU5MCwgOTgzODIxLCA0MzcxLCA3MTk2LCA2NTMxOCwgMjAzNSwgNjUzMTYsIDQxMDYsIDY1MzE0LCAKKyAgICA2NTMxMywgNDIwNzQsIDEyNzg0NywgNDEyMjgsIDAsIDY1NjA5LCA0MTI0MSwgNzkwMywgNDEyMzksIDQzNTMzLCA3ODQ1OSwgCisgICAgNzE4OSwgMCwgMCwgMCwgMTIzNTcsIDQyODAyLCA3ODQ1MCwgODQ4NywgOTEzMSwgMCwgNDYxNSwgMTI2OTUsIDEyNzc1MiwgCisgICAgMCwgMTIxNzUsIDAsIDY0NTM1LCAwLCA3ODA5LCAwLCAwLCA1NjIsIDEyMTY5LCA2NTkwLCA2OTc2MiwgNjY0NTUsIDY0NzM4LCAKKyAgICAzMjE5LCA2ODY1NCwgOTgzNzc4LCAwLCAxMDM3LCAwLCAyMDI1LCAxMjgyNjMsIDEzMDk4LCA3ODQ0MiwgMTA2MzcsIDQ1NjgsIAorICAgIDU0OSwgMTU3MCwgMCwgMjgzNSwgMCwgMTA2MjQsIDQzNjIzLCAxMTA3MiwgMTI3MTkxLCAwLCAwLCAxMjYwNiwgNzg0MzMsIAorICAgIDI4MjUsIDAsIDEwODI1LCA4MDc5LCAyODIxLCA0MTA0NiwgOTIzMjcsIDczNjUsIDk4Mzc0NCwgMTIwNTkzLCAxMzA3MSwgMCwgCisgICAgNDUyLCA0MTA0OSwgNDI4NDAsIDYzNDYsIDI4MzEsIDU0NjEsIDc0NTk2LCAxMTQ2NSwgNTIxMiwgMCwgNjQ3MDMsIAorICAgIDExOTE5MSwgNDIzMDgsIDcxODEsIDAsIDQxMzMyLCAwLCAxMjMzMywgMCwgMTY2OCwgMCwgMCwgMCwgMTE4NywgOTgzMzc3LCAKKyAgICA0MjYyOCwgNzg1NzUsIDAsIDEyODc3NywgMCwgMzI0MCwgMTI4NTE4LCAxMjE5NCwgMCwgMTE1OTEsIDQxMDY1LCA1MzIzLCAKKyAgICA4MTY2LCAwLCAwLCAwLCA3NDUzNSwgMTYyMywgNjUyOTcsIDEyODg1NiwgNTcxLCAwLCA0OTE4LCAwLCA1Mjg4LCAxMjcyOTUsIAorICAgIDg5MTYsIDY1MDQ4LCAxOTA5LCA4ODY0LCAwLCAwLCAxMDczNiwgOTI1MDgsIDExNTcxLCA3NjE1LCAxMjczMDAsIDkyMjk2LCAKKyAgICA0MjM3LCA5MjU3NiwgMTAzNSwgNjU4MTUsIDAsIDc4ODEsIDcwMSwgNjU5MzYsIDM0ODksIDAsIDAsIDEyMDc1MSwgMTE0MDMsIAorICAgIDAsIDAsIDEyNzE0NiwgMzc5NiwgNjgwMCwgMCwgMzk5NCwgMTE0MjEsIDAsIDE5NTA3NiwgMCwgOTgzOTEzLCAwLCAwLCAKICAgICA2NDg1NywgMTI4MTA1LCAyODU1LCAxMjc4MjgsIDY2MzA4LCA0MTYyMSwgNjgyMTQsIDEyNzI4MywgMTI3ODE3LCAxMDY1NCwgCiAgICAgMCwgMTE5MjI2LCAxMjE2NCwgMzI0NiwgNzkwNiwgNDM5NzIsIDY1ODQ3LCA3MTgyLCAwLCAxMzAyNCwgMTk0ODIyLCAKLSAgICA3NDI3MCwgMTI4Mjg5LCAwLCAwLCAwLCAxNDk2LCA3NDcsIDAsIDk0MiwgMjM3OCwgNDMxMzYsIDEyNzkwNSwgODQ2NiwgMCwgCi0gICAgOTMyMCwgODAwMSwgMTIzMiwgODEzOSwgMTE2MTcsIDAsIDAsIDExNDA5LCA2ODM3MywgNjM4MiwgMCwgNjQ2MzQsIAotICAgIDEyODI3OSwgMCwgMTE2MTIsIDAsIDY3NjAwLCAyMzc0LCAwLCA4NDc1LCAxMTYwOSwgNjYzMTMsIDAsIDAsIDUyODYsIAotICAgIDExOTI5NywgMCwgMCwgNjQ5MjUsIDEyMDI4MywgMTk0NTg0LCAxMTg5ODIsIDE5NDU4MywgNzcwNSwgMTE5NDIsIDExMzA1LCAKLSAgICAxOTQ1ODEsIDMzMDksIDAsIDAsIDAsIDAsIDY4MDIsIDAsIDQxNjUzLCAxMjgwLCAxMjQxLCA3MTY4LCAxMjA5NiwgMCwgCi0gICAgNjY2MTUsIDQyNTY1LCA0MTY1MSwgMCwgMCwgMCwgNDE2NTAsIDY2NTA3LCA2NjQ3MCwgMCwgMTI5MTQsIDQxNDkxLCAKLSAgICA2NjAxMCwgMTE5NTUyLCA2MDc4LCA5OTU0LCAwLCAxNDc1LCAwLCA5OTM4LCA2MDg0LCA5MTc1NDYsIDQxMDY0LCA0MTA2MiwgCi0gICAgMCwgMCwgMzI1NiwgMTI4NjQwLCA0MjA3NiwgNDMyNTIsIDc4ODIzLCA5MTc5MDYsIDg3MjcsIDAsIDY1ODc1LCAwLCAwLCAKLSAgICAxMjc3NjIsIDEwNTYyLCA3NDIxNSwgNDMwNjUsIDAsIDAsIDMyNDgsIDc0Mjk3LCAzMjYxLCA5MDE1LCAwLCAwLCAzNjM1LCAKLSAgICA2NDMzNywgMCwgMCwgMCwgNzE5NSwgMCwgMjAwNywgNjQ0MzEsIDAsIDAsIDAsIDAsIDYzNSwgMCwgMCwgNjU2MTMsIAotICAgIDc3OTA5LCA5MjQyMCwgNzM5OTcsIDAsIDAsIDExOTIxOCwgNzk4NCwgODYwMCwgNzQ0MzQsIDEyNzc3MCwgNDE3NiwgMCwgCi0gICAgMjAzNCwgOTI1NTEsIDEyMDgwNSwgNjU4OTEsIDEyNzAzOCwgMCwgMzE4LCAyMDM4LCAxMjg4NjAsIDc4NTk2LCAwLCAzNjQ5LCAKLSAgICAxMzE0OSwgNDIxNDUsIDQyNzk4LCAzNjM0LCAxMjAyOTEsIDExODkyNywgNjc2NzcsIDEyMDEyNCwgNzg2NiwgMCwgMTE0MDIsIAotICAgIDQyMTQ2LCAxMjAxMzQsIDc0MjM4LCA0MjY2NCwgMjg0OSwgMTI3MDM0LCAwLCA3OTM4LCAxMjk2MCwgMTc2MSwgMTE4MTIsIAotICAgIDY1Mzc5LCA2ODM4NiwgMTI4MTg1LCAxMTU5LCAwLCA2OTcyOSwgMCwgMCwgNzE3OCwgMTk0NjMyLCAwLCA0MTY4MCwgMCwgCi0gICAgMTI4MjAzLCAxMTUzNCwgMTUxNCwgMTE2NjgsIDY3ODkxLCA5MzEzLCA3MDE1LCAwLCA2Nzg3NywgMCwgMTI5ODksIDY2NDc0LCAKLSAgICA5MzY4LCAxMjg0OCwgMTYyNCwgNDMyNzAsIDAsIDE5NDU2MywgMTA4MTgsIDEyODIwNywgOTk1MywgMCwgNzg0MjEsIDExOTQsIAotICAgIDMyNDIsIDk3NjEsIDk1NTUsIDg1OTgsIDEyMDI5OSwgNjE2OSwgMTI4NzEsIDE1NTEsIDI3OTgsIDY1MTc2LCA0OTU4LCAKLSAgICA0Mjc1MiwgMTE5MDI1LCAwLCA2Nzg3NSwgMTIwMzAxLCAzNDk1LCA2NjY0OCwgMTk0NzY4LCAwLCA2ODM2NCwgMCwgNDg5MSwgCi0gICAgMCwgMTA2NDEsIDAsIDczNzQ2LCAwLCA2ODM1MiwgMCwgNzM3ODcsIDAsIDE5NDYzMywgNzE5OSwgNjQ5NTUsIDAsIDAsIDAsIAotICAgIDAsIDAsIDQyNjg1LCA0MjY3OSwgMTkzLCAwLCAwLCAwLCA0MjY2NywgMCwgNTI3MSwgOTIzMTgsIDkyNTE3LCAxMTg4ODIsIAotICAgIDEzNjIsIDEzMjk3LCAwLCAxMjgwOTQsIDAsIDAsIDczNzg5LCAwLCA2NjU4LCA0NDI2LCAwLCA5MjYyOCwgMCwgOTIzMTksIAotICAgIDcyNzYsIDQyMTYzLCA1MjIwLCAwLCAwLCAwLCAyNDE2LCAzMzEwLCA0MjcwMywgMCwgMzc5LCAwLCAxMjc5NzcsIDAsIDAsIAotICAgIDMyMjMsIDY1NDkyLCAxMjg0LCAxOTQ3NzEsIDQ1NDksIDAsIDAsIDAsIDEyNzc2MywgMTA4MDcsIDk1NTgsIDE5NDYxMywgMCwgCi0gICAgODUxNSwgODY4OCwgMTI4NjYsIDAsIDMyOTQsIDAsIDg1MjksIDEyODEwMSwgNDMzODUsIDc1NjQsIDAsIDQzMzI5LCAwLCAKLSAgICA5MjQ1OCwgNzM3NTcsIDY2NDU2LCA0MjM1OSwgMCwgMjAzMSwgMCwgNzIwMiwgMCwgMTI2NzYsIDQyNzI5LCA5MjE5OCwgCi0gICAgMzIxNSwgMCwgNzcxMCwgMTYxMCwgNzM4MDEsIDAsIDAsIDY1NjgyLCAwLCAxMjA1MzcsIDY1OTI0LCA5OTc0LCAyMjgsIAotICAgIDY2MzU0LCAxNTAxLCAwLCA2NDM5NSwgNTE3OSwgNzIwMCwgNjIyNSwgMCwgNjU3OTQsIDE3MjUsIDY1NTMzLCA4MTk2LCAKLSAgICA3NDc2LCA3NDM5OSwgMCwgMCwgNzE1MiwgODUwMiwgNTc2MiwgMTk2NywgNzQ4MywgMCwgMCwgODEwNCwgMCwgNzQ3NCwgCi0gICAgOTI1NzEsIDAsIDAsIDEwNDE0LCAxMzAwMSwgODE0MSwgMCwgNDI1MzcsIDE1NTcsIDQzNTk0LCAxMjg2NDIsIDYzMzAsIAotICAgIDY4MDUsIDg2MzEsIDI1NDUsIDEyMDY3MiwgMTI3MTY2LCAwLCA3NDE5MCwgMCwgMCwgMCwgNDI3NjIsIDAsIDQyOTE0LCAKLSAgICAxNjUwLCAyNjIsIDE2MzcsIDAsIDc5MDEsIDMyMzgsIDEyODE3MywgNDE4NjEsIDAsIDAsIDY1MTU4LCAxMDg2MCwgMCwgCi0gICAgNDM2NTgsIDc1MjcsIDAsIDQzMzE5LCA2NDE5LCAwLCA0NSwgMCwgNjQ1ODgsIDAsIDAsIDExOTgxMCwgNzE5NCwgNTI5MSwgCi0gICAgMCwgNDM2NjYsIDEzMTI5LCAwLCA5MDg0LCAwLCA4NzM3LCAwLCAxMjg4MSwgMCwgMTI5MDYsIDk2MzksIDc5MTIsIDI2MjAsIAotICAgIDAsIDAsIDAsIDAsIDE3OSwgNjU4OTYsIDAsIDY0NzU2LCAyODUzLCA3ODQ0MywgMTE4ODEzLCAwLCAxMTg5OTYsIDExOTAwOSwgCi0gICAgMjg1MCwgODA4NCwgMCwgNzM4NTAsIDI4MDEsIDkyMjg0LCA0MjA2OSwgMTE5ODM5LCA3NDc1NCwgMTE5ODQxLCA0MjA3MiwgCi0gICAgMTE5ODQzLCAxMTk4NDIsIDEwMzk4LCAwLCAwLCA4Mzc3LCAxMjcxMTYsIDgyNDUsIDY4NDAxLCAzMTU4LCA5MjM5NiwgCi0gICAgMzk4MywgNDM2NTYsIDkyMywgMTE5ODU3LCAxMTk4NTYsIDI5MiwgMTMwMDIsIDExOTg0NSwgMTE5ODQ0LCAzMjIxLCAxNzYzLCAKLSAgICA5MjQ2MywgNDYxMiwgMTE5ODUxLCAxMTk4NTAsIDcyNTMsIDEyNzExMCwgNjgzOTEsIDAsIDEwNzgyLCAzNjM3LCAxMjk5NiwgCi0gICAgNDM1NDIsIDAsIDY0NTc4LCAwLCAzMjI4LCA2OTYzNiwgODc4MywgMCwgMTE5NjE0LCAyNzMxLCAwLCAwLCA3ODU4NSwgCi0gICAgNDEwMiwgNzY5NiwgNzM4NzgsIDAsIDAsIDc4NTg2LCA0MzMxNiwgNDE3NywgMTEyODMsIDkwODksIDAsIDczOTk2LCAwLCAKLSAgICA2NDUwMCwgNDM2NzQsIDAsIDY0OTQ3LCAxODU2LCAwLCAwLCA2Mzc5LCAwLCAwLCAwLCAzMjA4LCAxMjk3NSwgNzQ3NzUsIDAsIAotICAgIDAsIDkyMzg5LCA3NDA3MiwgNTUyNjksIDAsIDAsIDAsIDIwMzMsIDc4NTc3LCA3ODU3NiwgMTk1MDI2LCA1NTI1NCwgNzc0MCwgCi0gICAgMCwgMCwgMCwgNzM5NjQsIDAsIDAsIDY3NjEyLCA2NTY3NCwgMCwgMCwgNDE2ODksIDAsIDc0MDA2LCA2NDkwOSwgNjY0NiwgCi0gICAgMTE3OTAsIDc0MDE5LCAwLCAxMjgwNjYsIDEyODAzMSwgODU2MSwgNDU3MywgMCwgNTMyNiwgMCwgMTIwNjA1LCA3MjMwLCAKLSAgICA4MjU3LCAwLCA4Nzc4LCA0MTY4OCwgMCwgNjU3NzYsIDIwNzEsIDgzMTQsIDY0NTksIDAsIDc2MjgsIDY1MDkyLCA3MzkwMywgCi0gICAgNjY3MjEsIDExMzQyLCAxMjg1NjEsIDAsIDAsIDEyODIyNiwgMTI3MDAxLCAwLCAxMTgxMCwgMTMxNjQsIDEwNzIzLCA5NjcsIAotICAgIDAsIDAsIDExOTQ2LCAwLCAzMjU3LCAwLCAxMjMwNywgMTg0NSwgMCwgNDM1MjYsIDAsIDAsIDE4ODYsIDQyMzQyLCAxMDA4OSwgCi0gICAgODcwLCA3NjQ4LCAzNDk5LCA4NjA5LCA3NjUyLCA4NzYsIDg3MSwgODc3LCAwLCA4NzgsIDQyMDE1LCA4NzksIDQzNjkyLCAKLSAgICA0NTYzLCAwLCAwLCA3NTkxLCA2NTg4NywgODY3LCA5NTIwLCA4NzIsIDAsIDg2OCwgODczLCA3NjQyLCAwLCA4NjksIDg3NCwgCi0gICAgNzY0NCwgMCwgODc1LCA3OTAsIDEyODMwMywgMCwgMCwgMCwgNjYxODIsIDAsIDU0MjksIDAsIDY2MTgwLCAwLCA2NjE4MSwgCi0gICAgNjg0NTIsIDAsIDAsIDQyMDY3LCAwLCA1NDMzLCAxMDY1NywgNzkxMSwgMTk0NjIyLCAxNTQ3LCA2NjE3NiwgNDIwMTIsIAotICAgIDEyMDU3NiwgNTQyNSwgNDk3NywgOTk5OSwgNTMxNywgNTQyMywgNDYxMSwgMCwgNjc2MzcsIDAsIDk2NzksIDc0MTIyLCAwLCAKLSAgICAwLCAwLCA2NjE5NCwgNDQxOCwgNjYxODQsIDQ2MjgsIDQyNDUsIDExOTY0OCwgMCwgMCwgMTg1MSwgMCwgMTI3MTg5LCAKLSAgICAxMTkwOCwgMCwgOTM2MCwgMTE4ODk3LCAwLCA0Mjc3NiwgNjYxODcsIDEyODM3LCA4ODI5LCA3NzExLCA5MjcxNCwgMCwgCi0gICAgOTIzMjEsIDQzMzE4LCAwLCA4ODA5LCAxMTk5NzQsIDAsIDAsIDEyMDYwNCwgMCwgMCwgMCwgMCwgMCwgMCwgNzQyNywgCi0gICAgOTk1OCwgNDU4OCwgNDM2ODAsIDAsIDc0NDg0LCAwLCAyNDMzLCAwLCAxMTk2MjIsIDMzNTIsIDc0MzYzLCAwLCAwLCA3OTMsIAotICAgIDc0NDA0LCAwLCAzMDUsIDU2NywgNjc2NjIsIDg0MiwgMTI4NTE5LCA4MjA4LCAwLCA0MTY5NSwgMTY0NywgMTE4ODc3LCAwLCAKLSAgICA3ODM3LCA5MTc2MjUsIDgxOCwgNTMzNywgOTE3NjIyLCA5MTc2MjEsIDQxMzc2LCAxMTk5NzgsIDkxNzYxOCwgMTIwNTk0LCAKLSAgICA3NDA4NiwgOTE3NjE1LCA5MTc2MTQsIDkxNzYxMywgMTA5NzMsIDY2MzU5LCAxMzcyLCAxMjcxNzIsIDkxNzYwOCwgNDk2OSwgCi0gICAgMTI1NCwgOTE3NjA1LCA5MTc2MDQsIDkxNzYwMywgOTE3NjAyLCA2NTIyOCwgNzgyMjEsIDAsIDAsIDI4NDAsIDAsIAotICAgIDExOTk4MiwgMCwgMCwgMzI0NSwgOTA2OCwgNjgxOTQsIDY0NzI1LCAwLCAwLCAxMjk5MSwgMCwgMjY1MSwgMTI4NTI4LCAwLCAKLSAgICA5MTc2MTEsIDEyNzAyNiwgMTI4ODgzLCAwLCAwLCA0MzY0OCwgMTIwODEyLCAwLCA0MzMyMiwgOTI2NjIsIDAsIDAsIAotICAgIDY0MzcyLCA5MjY5OCwgMzIyNiwgNjU1LCA3NTIsIDc0NTcsIDc0NTYsIDc0NTIsIDMyODUsIDEyODc3OSwgMTI3ODIxLCAKLSAgICAxMTk5ODgsIDY1NjEwLCAyMzkxLCAwLCA5MjI0OCwgNjcxLCAyNTAsIDc0MzQsIDYxOCwgNjY4LCA2MTAsIDQyODAwLCAKLSAgICA3NDMxLCAxMTUyLCA0MjgwMSwgNjQwLCAxMjA2NjYsIDc0NDgsIDc0MzksIDYyOCwgMzkwNSwgNzM4MTAsIDAsIDEyODI2NiwgCi0gICAgNjQ3NDksIDY3ODUwLCAyMTA3LCAwLCAwLCA0NjA1LCAxMjgxNzQsIDAsIDQzMzcyLCA2NTk0NSwgMTI4ODM4LCAwLCAKLSAgICAxMTk1OTAsIDAsIDAsIDAsIDk4NywgNjkyNywgMTE1NzIsIDQyMjYxLCAxMTQ2NCwgMzM2NSwgOTk3MSwgMCwgMCwgCi0gICAgMTI4Mjk3LCAwLCAwLCAwLCAwLCAxMTMzNCwgNDMzMjYsIDEyNjA5LCAxMTUxOSwgMTE1MDMsIDU1MzAsIDUyMTAsIDAsIAotICAgIDQ2MjcsIDAsIDUyMDgsIDAsIDEyODg0MiwgMTAzMzIsIDUyMTgsIDc5NzYsIDkxNTYsIDAsIDMyNDQsIDU1MjksIDY5NjQ3LCAKLSAgICA3Mzg5NCwgMTI4ODUyLCA1NDMyLCA2NDk2NSwgNTUyNywgNzQwMzMsIDEwNTE2LCA3NzkwLCA1NTI4LCAwLCA0MjE0MCwgCi0gICAgMTIwMjgxLCAwLCAwLCA0MzU0NSwgOTg4NywgMCwgNDAwMCwgNzQyOSwgNzQyOCwgNjY1LCA3NDI0LCAzMjA2LCAxMjAyNzgsIAotICAgIDc4ODQsIDAsIDEyODU2NiwgOTE3OTg5LCAxMjg2NjYsIDIxMSwgMjUwOSwgMCwgMTIwNTczLCA2ODY3MiwgMzIyMCwgCi0gICAgNDIyMzUsIDAsIDEwNjkwLCA4OTUxLCA1MjE0LCA0MjQ3NCwgODExOCwgMCwgNzA0OCwgNDU5MCwgMTI3MjU4LCA1ODUyLCAwLCAKLSAgICAwLCAxMjcyNTksIDE3MDgsIDAsIDAsIDI2MjMsIDExOTQzLCAwLCA2OTIyNiwgMCwgNDY5OCwgNjY1MDksIDEwNjYsIAotICAgIDExOTkyMSwgNDcwMSwgMCwgMTIwMjg1LCA3NDIyNSwgMTE5MTE0LCA4MjY3LCAwLCAxMjcyNjUsIDAsIDc1MTYsIDAsIAotICAgIDI2MjUsIDAsIDgwMzQsIDc0MzA5LCAwLCAzNjMxLCAxMDk1NSwgNzg1MCwgMTIwMjkzLCA4NDE2LCAwLCAwLCAwLCA0MzM4NCwgCi0gICAgMTI2NjAsIDAsIDAsIDAsIDc0ODUwLCA0MTA2OSwgMCwgMTI4MTU2LCAxMjA5OSwgNDMxMCwgMTAwMzIsIDYyNTIsIDcxMywgCi0gICAgNzk5MCwgMCwgMzk5MCwgMCwgMCwgNjYzNjgsIDUwMTcsIDY0OTU2LCA3MDcxLCAwLCAxMTkxNDQsIDEwMzAsIDExODgwMCwgCi0gICAgMCwgOTUxMywgNDEwNTksIDkzNTcsIDAsIDE3NzMsIDAsIDEyMDM1MCwgMCwgNjMzOSwgNzc0NSwgOTg0NCwgMCwgNjQ2NTAsIAotICAgIDk0LCAxODgwLCA3NDc2NiwgMCwgODkwOCwgMCwgMTI4NzA3LCA2NTkxMywgNzg0NzAsIDEwNzUyLCAxMzAwMywgMCwgMCwgCi0gICAgNDEzMDcsIDg3MzIsIDEyMDMzOCwgMCwgMTc1NywgNjk2NCwgNDY5NiwgMCwgMCwgNjQ3ODUsIDczOTQsIDM2NDEsIDU0MTksIAotICAgIDEyODA1NSwgMCwgMTI3ODgzLCAwLCAxMjAzNDQsIDQzOTg4LCAwLCA4NjEwLCA0MzA2MiwgNzU5MiwgODU2LCA3NDI5OSwgCi0gICAgOTM2LCAxMzI4OSwgMTI3NTIxLCA0MzE3MSwgMTQ1OSwgMCwgNjUyNDMsIDc4NjM4LCAxOTk1MywgMCwgMTUwNCwgMTE5MTA4LCAKLSAgICAwLCAxMjkxMywgNzQyMDYsIDc1MjksIDAsIDAsIDAsIDEyMDc4MiwgNDExMywgMCwgMjM3MiwgMzM2LCAwLCA3NTA5LCAKLSAgICAxMjE1MiwgMCwgNjgyLCA2NjQ1OCwgNDE1MDUsIDAsIDY0NzQzLCAxMDU5MywgMTcwMywgMCwgMCwgODAzMywgMCwgMCwgCi0gICAgOTgxMCwgMTI3MjY5LCAwLCAxMjk3MCwgMCwgNDIzNTEsIDEwMTA5LCAwLCAwLCAxOTQ2OTMsIDAsIDExOTI0NywgMCwgMCwgCi0gICAgNzQyOTEsIDE5NjUsIDcwNjksIDQzMzEyLCAwLCA3Mzg4NywgMCwgMjA4NywgNjQzNzAsIDYzMTQsIDQxNzE0LCA4NTAxLCAwLCAKLSAgICAwLCA3NDIzOSwgNDEzMTcsIDkyNjE0LCAyMDkxLCA3NDU0NSwgMjA5MCwgMCwgOTM1MywgNzExNywgMjA3NywgNzc4ODYsIDAsIAotICAgIDEwNDk4LCAyMDgzLCA3Nzg4OCwgMCwgMCwgMTE5MjM2LCA2MzQsIDAsIDAsIDAsIDY5Nzc5LCA0MTY1LCA4NzQ2LCAwLCAKLSAgICA5NjU0LCAxMjg1NiwgNjkyNCwgMCwgNzA2NiwgMCwgMCwgMTI4MTM1LCA0MTAzNywgNDI2OTIsIDc3ODYsIDEyOTU5LCAKLSAgICA0MTAzOSwgMCwgMCwgNjgwLCA2Mjc0LCAxMjgyMDAsIDExODEsIDcwNTYsIDMxNzQsIDAsIDAsIDkyNjY4LCA2NTY2NSwgCi0gICAgMTI3Mzc1LCAwLCA2OTIwLCAwLCA5MjI5NSwgMCwgMTE4OTY1LCAwLCA2NDY0NCwgMTI2OTgxLCAwLCAwLCA0MTAyOCwgMCwgCi0gICAgNjIzMSwgMjYxMywgNjUzMDIsIDQwOTg5LCAwLCAxOTQ2OTYsIDAsIDQyNzYwLCAwLCAwLCAwLCA0MDk4NywgNDY2NywgMCwgCi0gICAgMCwgODgyOCwgMCwgMCwgMTI0NiwgNDc0NiwgMCwgMCwgMTEwMjEsIDQ3NDksIDkyNjc1LCAwLCA5MjEsIDQ3NDQsIDAsIAotICAgIDEyNzAyLCAyNDIsIDAsIDE1NjYsIDgyMTcsIDAsIDY0NjUzLCA3ODM4NiwgMTI4MTIxLCA3NDAzNiwgNzQ1MDUsIDQzMjc0LCAKLSAgICA1MzEzLCA5NTEsIDAsIDAsIDAsIDc2MDQsIDAsIDQwMDksIDEyNzgxNiwgMCwgMTIwNTYyLCAwLCAwLCA2NDg2MCwgCi0gICAgMTE5MTM4LCAxMTkwNjksIDAsIDEyNzM3MCwgNDA0OCwgMCwgMCwgMTIwNTk2LCAxNjQ2LCA3Nzg5MCwgNjQ1MzQsIDczOTk1LCAKLSAgICAxMjA3MDUsIDAsIDExOTg5MCwgMjU3OSwgMTE5OTA1LCAzMTc3LCAxMTM1NywgOTA5OSwgNDEwNywgMzQ0MSwgMTE5ODk0LCAKLSAgICAyOTc1LCA3NDQ0MiwgOTgyMiwgMCwgNTUyMjAsIDEwMDg0LCA3Mzk0MywgMTE4ODQwLCAwLCA5MTc1NjIsIDAsIDMzOTksIAotICAgIDk4NTEsIDAsIDExOTA5LCA5MDU5LCAwLCA3Njg3LCAwLCA2Nzg5LCAwLCAwLCAwLCAwLCAwLCAwLCAxNzc3LCA5MTUxLCAKLSAgICAxMTM3LCA2OTc2NywgNzQ5LCA0MjM2NiwgMCwgNTM4NSwgMTI4NTc0LCAxMjgyMTgsIDAsIDAsIDU5ODksIDAsIDAsIAotICAgIDEyODA5MSwgMCwgNDE2ODUsIDY5MjIzLCAwLCA5NzY5LCA0MTY4NCwgMCwgNTE5LCAwLCAxMTc0MCwgNTc2NiwgMCwgMCwgCi0gICAgMjYwMCwgODg0OCwgMTIwMTM4LCA0MTI5NywgMCwgMzY2NiwgNzQ0NzMsIDQxMzAwLCA3NDQ2OCwgNjUxNjAsIDAsIDY5Njg4LCAKLSAgICA2OTc3MSwgNzQ0NzksIDAsIDY1NTgsIDAsIDAsIDY5NzY1LCAxMjA3NTAsIDI1MiwgMCwgNDEzMDIsIDAsIDAsIDAsIAotICAgIDY5NzYzLCAwLCAxMTcyOSwgODcxOSwgOTA2MCwgMCwgMTIwMTM5LCAxMDc2MSwgMCwgMCwgMCwgMTE4NzkyLCAxMTczNCwgMCwgCi0gICAgMTE3MzAsIDAsIDk1OTMsIDU3NTcsIDI0MDMsIDY0ODA4LCA1NTI3NSwgMCwgMTE3MjgsIDQzNTcyLCAwLCAwLCA3NzY0LCAwLCAKLSAgICAxMTA5NCwgMTIwODI1LCAwLCAwLCA0MjgyLCA4Mjk4LCAwLCAwLCAwLCAwLCAwLCA2NDQ0OSwgMCwgMTI3NTA5LCA2Mzg1NCwgCi0gICAgODQ1NiwgMCwgNzQ3ODMsIDY1NjcwLCAwLCA3ODI1MCwgMCwgNzc3NCwgMTA2MDcsIDk3OTIsIDAsIDAsIDAsIDAsIAotICAgIDEyMDc2NCwgMCwgMTAwMTksIDc0NzYyLCAwLCAzNDU4LCA0MzY1LCAwLCAwLCAzNjQ3LCAwLCAyNjAyLCAxMjgzNDEsIDAsIAotICAgIDE5NDcwNywgNDExMzUsIDAsIDAsIDAsIDY0NjMxLCAxNzIsIDQ5NzEsIDQxMjE5LCA0MTEzNywgMTg4OSwgNzIzOCwgNjU0NSwgCi0gICAgMCwgOTIxOTMsIDc1OTcsIDEwNTI4LCAwLCAwLCAzNzMyLCA3MzkxMCwgMTk0NTg4LCA1MzQ0LCAwLCA0MzM2NiwgNDMzNjMsIAotICAgIDkwNjIsIDExOTI1MiwgMCwgMCwgMCwgNjQ0NzksIDkyMzIsIDkyNTk2LCAwLCAwLCAxOTQ3MTIsIDEwOTAwLCA0MTUzMSwgCi0gICAgMTI2MywgMzcyMCwgMTIwNDgsIDAsIDY0MjkyLCA0MTUyNCwgNzIyNywgMTE5NjM1LCA2MDk5LCA0MTUzNCwgMCwgMTI3MzU0LCAKLSAgICAxMjczNDUsIDI5OSwgMCwgODUyNSwgMTI3MzQ3LCAzNTI0LCA5MTc1NjUsIDg4MzEsIDEyNzM0OSwgOTI1NjQsIDMwNzUsIAotICAgIDY3ODY3LCAxMjczNTIsIDAsIDY2MzYyLCAwLCA2NDM1MywgMCwgMCwgNTg0NSwgMCwgMCwgMCwgMjU4MSwgODIwMCwgCi0gICAgNjUxMTQsIDY4NDYwLCAwLCA0MzI4MywgNTU1MSwgMCwgMTIwNzM1LCAwLCA2MzQwLCAxMTg4NTUsIDAsIDc4MTM0LCA4NjgwLCAKLSAgICA3MjA0LCAwLCAyNTg4LCAyOTE0LCA3MDExLCA1NTI4MSwgMCwgMjQ3MSwgMTk0NjMxLCAyODgzLCAyNzQ5LCAxMTk1NjMsIAorICAgIDc0MjcwLCAxMjgyODksIDAsIDAsIDAsIDE0OTYsIDc0NywgMCwgOTQyLCAyMzc4LCA0MzEzNiwgMTI3OTA1LCA4NDY2LCAKKyAgICA5ODM1NzUsIDkzMjAsIDgwMDEsIDEyMzIsIDgxMzksIDExNjE3LCAwLCAwLCAxMTQwOSwgNjgzNzMsIDYzODIsIDAsIAorICAgIDY0NjM0LCAxMjgyNzksIDAsIDExNjEyLCAwLCA2NzYwMCwgMjM3NCwgOTQwNjYsIDg0NzUsIDExNjA5LCA2NjMxMywgMCwgMCwgCisgICAgNTI4NiwgMTE5Mjk3LCAwLCAwLCA2NDkyNSwgMTIwMjgzLCAxOTQ1ODQsIDExODk4MiwgMTk0NTgzLCA3NzA1LCAxMTk0MiwgCisgICAgMTEzMDUsIDE5NDU4MSwgMzMwOSwgMCwgMCwgMCwgMCwgNjgwMiwgMCwgNDE2NTMsIDEyODAsIDEyNDEsIDcxNjgsIDEyMDk2LCAKKyAgICAwLCA2NjYxNSwgNDI1NjUsIDQxNjUxLCAwLCAwLCAwLCA0MTY1MCwgNjY1MDcsIDY2NDcwLCAwLCAxMjkxNCwgNDE0OTEsIAorICAgIDY2MDEwLCAxMTk1NTIsIDYwNzgsIDk5NTQsIDAsIDE0NzUsIDExOTI0NywgOTkzOCwgNjA4NCwgOTE3NTQ2LCA0MTA2NCwgCisgICAgNDEwNjIsIDAsIDAsIDMyNTYsIDEwMTg5LCA0MjA3NiwgNDMyNTIsIDc4ODIzLCA5MTc5MDYsIDg3MjcsIDAsIDY1ODc1LCAwLCAKKyAgICAwLCAxMjc3NjIsIDEwNTYyLCA3NDIxNSwgNDMwNjUsIDAsIDAsIDMyNDgsIDc0Mjk3LCAzMjYxLCA5MDE1LCA3MTM1MSwgMCwgCisgICAgMzYzNSwgNjQzMzcsIDk4MzI3MywgMCwgMCwgNzE5NSwgMCwgMjAwNywgNjQ0MzEsIDAsIDAsIDAsIDAsIDYzNSwgMCwgMCwgCisgICAgNjU2MTMsIDc3OTA5LCA5MjQyMCwgNzM5OTcsIDAsIDAsIDExOTIxOCwgNzk4NCwgODYwMCwgNzQ0MzQsIDEyNzc3MCwgCisgICAgNDE3NiwgNzAwNTAsIDIwMzQsIDkyNTUxLCAxMjA4MDUsIDY1ODkxLCAxMjcwMzgsIDAsIDMxOCwgMjAzOCwgMTI4ODYwLCAKKyAgICA3ODU5NiwgMCwgMzY0OSwgMTMxNDksIDQyMTQ1LCA0Mjc5OCwgMzYzNCwgMTIwMjkxLCAxMTg5MjcsIDY3Njc3LCAxMjAxMjQsIAorICAgIDc4NjYsIDAsIDExNDAyLCA0MjE0NiwgOTQwMzIsIDc0MjM4LCA0MjY2NCwgMjg0OSwgMTI3MDM0LCAwLCA3OTM4LCAxMjk2MCwgCisgICAgMTc2MSwgMTE4MTIsIDY1Mzc5LCA2ODM4NiwgMTI4MTg1LCAxMTU5LCAwLCA2OTcyOSwgMCwgMCwgNzE3OCwgMTk0NjMyLCAwLCAKKyAgICA0MTY4MCwgMCwgMTI4MjAzLCAxMTUzNCwgMTUxNCwgMTE2NjgsIDY3ODkxLCA5MzEzLCA3MDE1LCAwLCA2Nzg3NywgCisgICAgMTk0NTY3LCAxMjk4OSwgNjY0NzQsIDkzNjgsIDEyODQ4LCAxNjI0LCA0MzI3MCwgMCwgNzQyNzgsIDEwODE4LCAxMjY2NDQsIAorICAgIDk5NTMsIDAsIDc4NDIxLCAxMTk0LCAzMjQyLCA5NzYxLCA5NTU1LCA4NTk4LCAxMjAyOTksIDYxNjksIDEyODcxLCAxNTUxLCAKKyAgICAyNzk4LCA2NTE3NiwgNDk1OCwgNDI3NTIsIDExOTAyNSwgMCwgNjc4NzUsIDEyMDMwMSwgMzQ5NSwgNjY2NDgsIDE5NDc2OCwgCisgICAgMCwgNjgzNjQsIDk4MzIyMiwgNDg5MSwgMCwgMTA2NDEsIDAsIDczNzQ2LCAwLCA2ODM1MiwgMCwgNzM3ODcsIDE5NDgyOSwgCisgICAgMTk0NjMzLCA3MTk5LCA2NDk1NSwgMCwgMCwgMCwgMCwgMCwgNDI2ODUsIDQyNjc5LCAxOTMsIDAsIDAsIDAsIDQyNjY3LCAwLCAKKyAgICA1MjcxLCA5MjMxOCwgOTI1MTcsIDExODg4MiwgMTM2MiwgMTMyOTcsIDAsIDEyODA5NCwgMCwgOTgzMzIzLCA3Mzc4OSwgMCwgCisgICAgNjY1OCwgNDQyNiwgMCwgOTI2MjgsIDk4MzgzMywgOTIzMTksIDcyNzYsIDQyMTYzLCA1MjIwLCAwLCAwLCA5ODMzMjIsIAorICAgIDI0MTYsIDMzMTAsIDQyNzAzLCAwLCAzNzksIDAsIDQzNzU1LCAwLCAwLCAzMjIzLCA2NTQ5MiwgMTI4NCwgMTk0NzcxLCAKKyAgICA0NTQ5LCAwLCAwLCA5ODMxNTQsIDEyNzc2MywgMTA4MDcsIDk1NTgsIDE5NDYxMywgMCwgODUxNSwgODY4OCwgMTI4NjYsIAorICAgIDY1MzA4LCAzMjk0LCA5ODMzMjQsIDg1MjksIDEyODEwMSwgNDMzODUsIDc1NjQsIDAsIDQzMzI5LCAwLCA5MjQ1OCwgCisgICAgNzM3NTcsIDY2NDU2LCA0MjM1OSwgMCwgMjAzMSwgMCwgNzIwMiwgMCwgMTI2NzYsIDQyNzI5LCA5MjE5OCwgMzIxNSwgMCwgCisgICAgNzcxMCwgMTYxMCwgNzM4MDEsIDAsIDAsIDY1NjgyLCAwLCAxMjA1MzcsIDY1OTI0LCA5OTc0LCAyMjgsIDY2MzU0LCAxNTAxLCAKKyAgICAwLCA2NDM5NSwgNTE3OSwgNzIwMCwgNjIyNSwgMCwgNjU3OTQsIDE3MjUsIDY1NTMzLCA4MTk2LCA3NDc2LCA3NDM5OSwgMCwgCisgICAgMCwgNzE1MiwgODUwMiwgNTc2MiwgMTk2NywgNzQ4MywgMCwgMCwgODEwNCwgMCwgNzQ3NCwgNzc5NzksIDAsIDEyNjUwNywgCisgICAgMTA0MTQsIDEzMDAxLCA4MTQxLCAwLCA0MjUzNywgMTU1NywgNDM1OTQsIDEyODY0MiwgNjMzMCwgNjgwNSwgODYzMSwgCisgICAgMjU0NSwgNzAwNTIsIDEyNzE2NiwgMCwgNzQxOTAsIDAsIDAsIDk4Mzc3NywgNDI3NjIsIDAsIDQyOTE0LCAxNjUwLCAyNjIsIAorICAgIDE2MzcsIDAsIDc5MDEsIDMyMzgsIDEyODE3MywgNDE4NjEsIDAsIDEyODU4NSwgNjUxNTgsIDEwODYwLCA5NDA1OSwgCisgICAgNDM2NTgsIDc1MjcsIDAsIDQzMzE5LCA2NDE5LCAwLCA0NSwgMCwgNjQ1ODgsIDkzOTg5LCAwLCAxMTk4MTAsIDcxOTQsIAorICAgIDUyOTEsIDAsIDQzNjY2LCAxMzEyOSwgMCwgOTA4NCwgMCwgODczNywgMCwgMTI4ODEsIDAsIDEyOTA2LCA5NjM5LCA3OTEyLCAKKyAgICAyNjIwLCAwLCAwLCAwLCA5ODM4NjYsIDE3OSwgNjU4OTYsIDAsIDY0NzU2LCAyODUzLCA3ODQ0MywgMTE4ODEzLCA5ODM4ODEsIAorICAgIDExODk5NiwgMTE5MDA5LCAyODUwLCA4MDg0LCA5ODMwODUsIDczODUwLCAyODAxLCA5MjI4NCwgNDIwNjksIDExOTgzOSwgCisgICAgNzQ3NTQsIDExOTg0MSwgNDIwNzIsIDExOTg0MywgMTE5ODQyLCAxMDM5OCwgOTgzMDU2LCAwLCA4Mzc3LCAxMjcxMTYsIAorICAgIDgyNDUsIDY4NDAxLCAzMTU4LCA5MjM5NiwgMzk4MywgNDM2NTYsIDkyMywgMTE5ODU3LCAxMTk4NTYsIDI5MiwgMTMwMDIsIAorICAgIDExOTg0NSwgMTE5ODQ0LCAzMjIxLCAxNzYzLCA5MjQ2MywgNDYxMiwgMTE5ODUxLCAxMTk4NTAsIDcyNTMsIDEyNzExMCwgCisgICAgNjgzOTEsIDAsIDEwNzgyLCAzNjM3LCAxMjk5NiwgNDM1NDIsIDAsIDY0NTc4LCA5ODM2NjYsIDMyMjgsIDY5NjM2LCA4NzgzLCAKKyAgICAwLCAxMTk2MTQsIDI3MzEsIDAsIDAsIDc4NTg1LCA0MTAyLCA3Njk2LCA3Mzg3OCwgMCwgMCwgNzg1ODYsIDQzMzE2LCAKKyAgICA0MTc3LCAxMTI4MywgOTA4OSwgMCwgNzM5OTYsIDk4MzE3MywgNjQ1MDAsIDQzNjc0LCAwLCA2NDk0NywgMTg1NiwgMCwgMCwgCisgICAgNjM3OSwgMCwgMCwgMCwgMzIwOCwgMTI5NzUsIDc0Nzc1LCAxMjczODAsIDk4MzkyMiwgOTIzODksIDc0MDcyLCA1NTI2OSwgCisgICAgMCwgMCwgOTgzNjc0LCAyMDMzLCA3ODU3NywgNzg1NzYsIDE5NTAyNiwgNTUyNTQsIDc3NDAsIDAsIDAsIDAsIDczOTY0LCAwLCAKKyAgICA5Mzk4OCwgNjc2MTIsIDY1Njc0LCAxMjgyNDQsIDk0MTEwLCA0MTY4OSwgMCwgNzQwMDYsIDY0OTA5LCA2NjQ2LCAxMTc5MCwgCisgICAgNzQwMTksIDAsIDEyODA2NiwgMTI4MDMxLCA4NTYxLCA0NTczLCAwLCA1MzI2LCAwLCAxMjA2MDUsIDcyMzAsIDgyNTcsIDAsIAorICAgIDg3NzgsIDQxNjg4LCAwLCA2NTc3NiwgMjA3MSwgODMxNCwgNjQ1OSwgMCwgNzYyOCwgNjUwOTIsIDczOTAzLCA2NjcyMSwgCisgICAgMTEzNDIsIDEyODU2MSwgMCwgMCwgMTI4MjI2LCAxMjcwMDEsIDAsIDExODEwLCAxMzE2NCwgMTA3MjMsIDk2NywgOTgzOTQyLCAKKyAgICAxMjY0NjksIDExOTQ2LCAwLCAzMjU3LCAwLCAxMjMwNywgMTg0NSwgOTgzMTU3LCA0MzUyNiwgMCwgMCwgMTg4NiwgNDIzNDIsIAorICAgIDEwMDg5LCA4NzAsIDc2NDgsIDM0OTksIDg2MDksIDc2NTIsIDg3NiwgODcxLCA4NzcsIDAsIDg3OCwgNDIwMTUsIDg3OSwgCisgICAgNDM2OTIsIDQ1NjMsIDAsIDAsIDc1OTEsIDY1ODg3LCA4NjcsIDk1MjAsIDg3MiwgMTI2NjA3LCA4NjgsIDg3MywgNzY0MiwgCisgICAgMCwgODY5LCA4NzQsIDc2NDQsIDEyMDY3NCwgODc1LCA3OTAsIDEyODMwMywgMCwgMCwgMCwgNjYxODIsIDk4MzI1MCwgCisgICAgNTQyOSwgMTk1MDU1LCA2NjE4MCwgMTI2NDgwLCA2NjE4MSwgNjg0NTIsIDk4MzI4MSwgOTgzMjQyLCA0MjA2NywgMCwgCisgICAgNTQzMywgMTA2NTcsIDc5MTEsIDE5NDYyMiwgMTU0NywgNjYxNzYsIDQyMDEyLCAxMjA1NzYsIDU0MjUsIDQ5NzcsIDk5OTksIAorICAgIDUzMTcsIDU0MjMsIDQ2MTEsIDAsIDY3NjM3LCAwLCA5Njc5LCA3NDEyMiwgMCwgMCwgMCwgNjYxOTQsIDQ0MTgsIDY2MTg0LCAKKyAgICA0NjI4LCA0MjQ1LCAxMTk2NDgsIDAsIDAsIDE4NTEsIDAsIDEyNzE4OSwgMTE5MDgsIDAsIDkzNjAsIDExODg5NywgCisgICAgOTgzMjcwLCA0Mjc3NiwgNjYxODcsIDEyODM3LCA4ODI5LCA3NzExLCA5MjcxNCwgMCwgOTIzMjEsIDQzMzE4LCAwLCA4ODA5LCAKKyAgICA2OTg4MSwgMCwgOTgzMTQyLCAxMjA2MDQsIDk4MzA1MiwgOTgzODczLCAwLCA5ODMyNjIsIDAsIDAsIDc0MjcsIDk5NTgsIAorICAgIDQ1ODgsIDQzNjgwLCAwLCA3NDQ4NCwgMTk0OTY4LCAyNDMzLCAwLCAxMTk2MjIsIDMzNTIsIDc0MzYzLCA5ODM4NzYsIDAsIAorICAgIDc5MywgNzQ0MDQsIDAsIDMwNSwgNTY3LCA2NzY2MiwgODQyLCAxMjg1MTksIDgyMDgsIDAsIDQxNjk1LCAxNjQ3LCAKKyAgICAxMTg4NzcsIDAsIDc4MzcsIDkxNzYyNSwgODE4LCA1MzM3LCAxOTQ2MjgsIDkxNzYyMSwgNDEzNzYsIDExOTk3OCwgCisgICAgMTI2NTc2LCAxMjA1OTQsIDc0MDg2LCA5MTc2MTUsIDkxNzYxNCwgOTE3NjEzLCAxMDk3MywgNjYzNTksIDEzNzIsIAorICAgIDEyNzE3MiwgOTE3NjA4LCA0OTY5LCAxMjU0LCA5MTc2MDUsIDkxNzYwNCwgOTM5NjcsIDkxNzYwMiwgNjUyMjgsIDc4MjIxLCAKKyAgICAxMjY2MTIsIDAsIDI4NDAsIDAsIDExOTk4MiwgOTgzOTMwLCAwLCAzMjQ1LCA5MDY4LCA2ODE5NCwgNjQ3MjUsIDAsIDAsIAorICAgIDEyOTkxLCAwLCAyNjUxLCA2ODAxNiwgOTgzMjU3LCA5MTc2MTEsIDEyNzAyNiwgMTI4ODgzLCAwLCAwLCA0MzY0OCwgCisgICAgMTIwODEyLCAwLCA0MzMyMiwgOTI2NjIsIDAsIDAsIDY0MzcyLCA5MjY5OCwgMzIyNiwgNjU1LCA3NTIsIDc0NTcsIDc0NTYsIAorICAgIDc0NTIsIDMyODUsIDEyODc3OSwgMTI3ODIxLCAxMTk5ODgsIDY1NjEwLCAyMzkxLCAwLCA5MjI0OCwgNjcxLCAyNTAsIAorICAgIDc0MzQsIDYxOCwgNjY4LCA2MTAsIDQyODAwLCA3NDMxLCAxMTUyLCA0MjgwMSwgNjQwLCAxMjA2NjYsIDc0NDgsIDc0MzksIAorICAgIDYyOCwgMzkwNSwgNzM4MTAsIDAsIDEyODI2NiwgNjQ3NDksIDY3ODUwLCAyMTA3LCAwLCAwLCA0NjA1LCAxMjgxNzQsIAorICAgIDk4MzE5MiwgNDMzNzIsIDY1OTQ1LCAxMjg4MzgsIDAsIDExOTU5MCwgMCwgMCwgMCwgOTg3LCA2OTI3LCAxMTU3MiwgCisgICAgNDIyNjEsIDExNDY0LCAzMzY1LCA5OTcxLCAwLCAwLCAxMjgyOTcsIDAsIDAsIDAsIDAsIDExMzM0LCA0MzMyNiwgMTI2MDksIAorICAgIDExNTE5LCAxMTUwMywgNTUzMCwgNTIxMCwgMCwgNDYyNywgOTgzODgzLCA1MjA4LCAwLCAxMjg4NDIsIDEwMzMyLCA1MjE4LCAKKyAgICA3OTc2LCA5MTU2LCAwLCAzMjQ0LCA1NTI5LCA2OTY0NywgNzM4OTQsIDEyODg1MiwgNTQzMiwgNjQ5NjUsIDU1MjcsIAorICAgIDc0MDMzLCAxMDUxNiwgNzc5MCwgNTUyOCwgMCwgNDIxNDAsIDEyMDI4MSwgMCwgMCwgNDM1NDUsIDk4ODcsIDAsIDQwMDAsIAorICAgIDc0MjksIDc0MjgsIDY2NSwgNzQyNCwgMzIwNiwgMTIwMjc4LCA3ODg0LCAwLCAxMjg1NjYsIDkxNzk4OSwgMTI4NjY2LCAKKyAgICAyMTEsIDI1MDksIDEyODg1OCwgMTIwNTczLCA2ODY3MiwgMzIyMCwgNDIyMzUsIDAsIDEwNjkwLCA4OTUxLCA1MjE0LCAKKyAgICA0MjQ3NCwgODExOCwgMCwgNzA0OCwgNDU5MCwgMTI3MjU4LCA1ODUyLCAwLCAwLCAxMjcyNTksIDE3MDgsIDAsIDk4MzE2NSwgCisgICAgMjYyMywgMTE5NDMsIDAsIDY5MjI2LCAwLCA0Njk4LCA2NjUwOSwgMTA2NiwgMTE5OTIxLCA0NzAxLCA5ODM4NjcsIAorICAgIDEyMDI4NSwgNzQyMjUsIDk0MTExLCA4MjY3LCAwLCAxMjcyNjUsIDAsIDc1MTYsIDAsIDI2MjUsIDk4Mzk2OCwgODAzNCwgCisgICAgNzQzMDksIDAsIDM2MzEsIDEwOTU1LCA3ODUwLCAxMjAyOTMsIDg0MTYsIDAsIDAsIDAsIDQzMzg0LCAxMjY2MCwgMCwgMCwgCisgICAgMCwgNzQ4NTAsIDQxMDY5LCAwLCAxMjgxNTYsIDEyMDk5LCA0MzEwLCAxMDAzMiwgNjI1MiwgNzEzLCA3OTkwLCAwLCAzOTkwLCAKKyAgICAwLCA5ODMyNTQsIDY2MzY4LCA1MDE3LCA2NDk1NiwgNzA3MSwgMCwgMTE5MTQ0LCAxMDMwLCAxMTg4MDAsIDk4MzEyMCwgCisgICAgOTUxMywgNDEwNTksIDkzNTcsIDAsIDE3NzMsIDAsIDEyMDM1MCwgMCwgNjMzOSwgNzc0NSwgOTg0NCwgMCwgNjQ2NTAsIDk0LCAKKyAgICAxODgwLCA3NDc2NiwgOTgzODI5LCA4OTA4LCAwLCAxMjg3MDcsIDY1OTEzLCA3ODQ3MCwgMTA3NTIsIDEzMDAzLCAwLCAKKyAgICAxMjY1NzIsIDQxMzA3LCA4NzMyLCAxMjAzMzgsIDAsIDE3NTcsIDY5NjQsIDQ2OTYsIDAsIDEyMDMzNSwgNjQ3ODUsIDczOTQsIAorICAgIDM2NDEsIDU0MTksIDEyODA1NSwgMCwgMTI3ODgzLCAwLCAxMjAzNDQsIDQzOTg4LCAwLCA4NjEwLCA0MzA2MiwgNzU5MiwgCisgICAgODU2LCA3NDI5OSwgOTM2LCAxMzI4OSwgNjk4OTQsIDQzMTcxLCAxNDU5LCAwLCA2NTI0MywgNzg2MzgsIDE5OTUzLCAwLCAKKyAgICAxNTA0LCA3MDA2NCwgMCwgMTI5MTMsIDc0MjA2LCA3NTI5LCAwLCAxMjg2OTksIDk4Mzk0OCwgMTIwNzgyLCA0MTEzLCAwLCAKKyAgICAyMzcyLCAzMzYsIDAsIDc1MDksIDEyMTUyLCAwLCA2ODIsIDY2NDU4LCA0MTUwNSwgMCwgNjQ3NDMsIDEwNTkzLCAxNzAzLCAKKyAgICAwLCA5ODM5NDYsIDgwMzMsIDY5OTUzLCAwLCA5ODEwLCAxMjcyNjksIDAsIDEyOTcwLCAwLCA0MjM1MSwgMTAxMDksIAorICAgIDkxNzYyMywgMCwgMTk0NjkzLCAwLCA5MjY5MCwgMCwgMCwgNzQyOTEsIDE5NjUsIDcwNjksIDQzMzEyLCAwLCA3Mzg4NywgMCwgCisgICAgMjA4NywgNjQzNzAsIDYzMTQsIDQxNzE0LCA4NTAxLCAwLCAwLCA3NDIzOSwgNDEzMTcsIDkyNjE0LCAyMDkxLCA3NDU0NSwgCisgICAgMjA5MCwgMCwgOTM1MywgNzExNywgMjA3NywgNzc4ODYsIDAsIDEwNDk4LCAyMDgzLCA3Nzg4OCwgMCwgMCwgMTE5MjM2LCAKKyAgICA2MzQsIDAsIDAsIDAsIDY5Nzc5LCA0MTY1LCA4NzQ2LCAwLCA5NjU0LCAxMjg1NiwgNjkyNCwgMCwgNzA2NiwgOTgzNzEwLCAKKyAgICAwLCAxMjgxMzUsIDQxMDM3LCA0MjY5MiwgNzc4NiwgMTI5NTksIDQxMDM5LCAxMjc0ODMsIDAsIDY4MCwgMjMwMiwgCisgICAgMTI4MjAwLCAxMTgxLCA3MDU2LCAzMTc0LCAxMjY1MTYsIDAsIDkyNjY4LCA2NTY2NSwgMTI3Mzc1LCAxMjY1MDYsIDY5MjAsIAorICAgIDAsIDkyMjk1LCAwLCAxMTg5NjUsIDAsIDY0NjQ0LCAxMjY5ODEsIDc0MTE5LCAwLCA0MTAyOCwgMCwgNjIzMSwgMjYxMywgCisgICAgNjUzMDIsIDQwOTg5LCAwLCAxOTQ2OTYsIDAsIDQyNzYwLCAwLCA5ODM1NjYsIDAsIDQwOTg3LCA0NjY3LCAwLCA5ODM5MjMsIAorICAgIDg4MjgsIDAsIDAsIDEyNDYsIDQ3NDYsIDAsIDAsIDExMDIxLCA0NzQ5LCA5MjY3NSwgMCwgOTIxLCA0NzQ0LCAwLCAxMjcwMiwgCisgICAgMjQyLCAwLCAxNTY2LCA4MjE3LCAwLCA2NDY1MywgNzgzODYsIDEyODEyMSwgNzQwMzYsIDc0NTA1LCA0MzI3NCwgNTMxMywgCisgICAgOTUxLCAwLCAwLCA5ODM4NTgsIDc2MDQsIDk4MzI4MiwgNDAwOSwgMTI3ODE2LCA5ODM3MDEsIDEyMDU2MiwgMCwgOTgzNzExLCAKKyAgICA2NDg2MCwgMTE5MTM4LCAxMTkwNjksIDAsIDEyNzM3MCwgNDA0OCwgOTgzNTk4LCAwLCA3MDAyNCwgMTY0NiwgNzc4OTAsIAorICAgIDY0NTM0LCA3Mzk5NSwgMTIwNzA1LCAwLCAxMTk4OTAsIDI1NzksIDExOTkwNSwgMzE3NywgMTEzNTcsIDkwOTksIDQxMDcsIAorICAgIDM0NDEsIDExOTg5NCwgMjk3NSwgNzQ0NDIsIDk4MjIsIDk4MzkyNiwgNTUyMjAsIDEwMDg0LCA3Mzk0MywgMTE4ODQwLCAwLCAKKyAgICA5MTc1NjIsIDE5NDYxMCwgMzM5OSwgOTg1MSwgOTgzNzA4LCAxMTkwOSwgOTA1OSwgMCwgNzY4NywgMCwgNjc4OSwgMCwgMCwgCisgICAgMCwgNzEzNjcsIDAsIDAsIDE3NzcsIDkxNTEsIDExMzcsIDY5NzY3LCA3NDksIDQyMzY2LCAwLCA1Mzg1LCAxMjg1NzQsIAorICAgIDEyODIxOCwgMCwgMCwgNTk4OSwgMCwgMCwgMTI4MDkxLCAwLCA0MTY4NSwgNjkyMjMsIDAsIDk3NjksIDQxNjg0LCAKKyAgICA5ODMyMTQsIDUxOSwgMCwgMTE3NDAsIDU3NjYsIDAsIDAsIDI2MDAsIDg4NDgsIDEyMDEzOCwgNDEyOTcsIDAsIDM2NjYsIAorICAgIDc0NDczLCA0MTMwMCwgNzQ0NjgsIDY1MTYwLCAwLCA2OTY4OCwgNjk3NzEsIDc0NDc5LCAwLCA2NTU4LCAwLCAwLCA2OTc2NSwgCisgICAgMTIwNzUwLCAyNTIsIDAsIDQxMzAyLCAwLCAwLCAwLCA2OTc2MywgMCwgMTE3MjksIDg3MTksIDkwNjAsIDAsIDEyMDEzOSwgCisgICAgMTA3NjEsIDAsIDAsIDAsIDExODc5MiwgMTE3MzQsIDk4MzIyMSwgMTE3MzAsIDAsIDk1OTMsIDU3NTcsIDI0MDMsIDY0ODA4LCAKKyAgICA1NTI3NSwgMCwgMTE3MjgsIDQzNTcyLCAwLCAwLCA3NzY0LCA5ODM3MDUsIDExMDk0LCAxMjA4MjUsIDAsIDAsIDQyODIsIAorICAgIDgyOTgsIDAsIDAsIDAsIDAsIDAsIDY0NDQ5LCAwLCAxMjY2NTAsIDYzODU0LCA4NDU2LCAwLCA3NDc4MywgNjU2NzAsIDAsIAorICAgIDc4MjUwLCAwLCA3Nzc0LCAxMDYwNywgOTc5MiwgMCwgMCwgMCwgMCwgMTIwNzY0LCAwLCAxMDAxOSwgNzQ3NjIsIDAsIAorICAgIDM0NTgsIDQzNjUsIDcwMDUzLCA5ODM3MDMsIDM2NDcsIDAsIDI2MDIsIDEyODM0MSwgMCwgMTk0NzA3LCA0MTEzNSwgMCwgMCwgCisgICAgMCwgNjQ2MzEsIDE3MiwgNDk3MSwgNDEyMTksIDQxMTM3LCAxODg5LCA3MjM4LCA2NTQ1LCAxMjY0NzYsIDkyMTkzLCA3NTk3LCAKKyAgICAxMDUyOCwgMCwgMCwgMzczMiwgNzM5MTAsIDE5NDU4OCwgNTM0NCwgMCwgNDMzNjYsIDQzMzYzLCA5MDYyLCAxMTkyNTIsIDAsIAorICAgIDAsIDAsIDY0NDc5LCA5MjMyLCA5MjU5NiwgMCwgMCwgMTk0NzEyLCAxMDkwMCwgNDE1MzEsIDEyNjMsIDM3MjAsIDEyMDQ4LCAKKyAgICAwLCA2NDI5MiwgNDE1MjQsIDcyMjcsIDExOTYzNSwgNjA5OSwgNDE1MzQsIDAsIDEyNzM1NCwgMTI3MzQ1LCAyOTksIAorICAgIDkxNzk1NywgODUyNSwgMTI3MzQ3LCAzNTI0LCA5MTc1NjUsIDg4MzEsIDEyNzM0OSwgOTI1NjQsIDMwNzUsIDY3ODY3LCAKKyAgICAxMjczNTIsIDAsIDY2MzYyLCAwLCA2NDM1MywgMCwgMCwgNTg0NSwgMCwgMCwgMCwgMjU4MSwgODIwMCwgNjUxMTQsIAorICAgIDY4NDYwLCAwLCA0MzI4MywgNTU1MSwgMCwgMTIwNzM1LCAwLCA2MzQwLCAxMTg4NTUsIDAsIDc4MTM0LCA4NjgwLCA3MjA0LCAKKyAgICA3MDA2NSwgMjU4OCwgMjkxNCwgNzAxMSwgNTUyODEsIDAsIDI0NzEsIDE5NDYzMSwgMjg4MywgMjc0OSwgMTE5NTYzLCAKICAgICA3Mzc3NCwgMTA5MTMsIDAsIDAsIDg2NjYsIDY3NSwgNDI0OTMsIDAsIDQzNTcxLCAwLCA2MjE5LCAwLCA5OTgwLCA0MTIzMiwgCi0gICAgMTA5MjgsIDAsIDQxMTUzLCA0MTIyOSwgMTE4OTY3LCAwLCAzNzM4LCAxMjczNjksIDAsIDEyNzExLCAzMTgxLCA2NjIxMiwgCi0gICAgNzQyODksIDY4NDcyLCA0Mjg1NywgODI2MiwgMCwgMCwgMCwgMCwgNDIzNDcsIDEyMDkyLCA5NjE1LCA3MjM0LCA3NDA0NywgCi0gICAgMCwgMCwgNjQ2NzQsIDAsIDAsIDczODQ2LCAyOTM0LCAxMjcyMiwgMTIwNzYyLCA5MjIsIDQzOTgzLCA3NDUwNywgMCwgCi0gICAgNzQ0NjEsIDMyMTgsIDEyMDQ3MSwgNzQyOTAsIDEyMDQ2OSwgNjQ1NjIsIDEyMDQ3NSwgODU2OSwgMTE0MDQsIDExOTMyLCAKLSAgICA3MzcyOCwgMzIxNCwgMTIwNDYxLCAxMjA0NjgsIDEyMTI4LCAzMjA3LCA2NTQ4NiwgNzg3MjksIDE5MDEsIDc4NzI3LCAKLSAgICAxMjczMjYsIDEyMDQ2MCwgNzQyNSwgMzIwNSwgMCwgNzg3MzcsIDc4NzM2LCA3ODczNSwgNDMzODMsIDc4NzMzLCA2NTQ1OSwgCi0gICAgMjYwNiwgNzg3MzAsIDczODk3LCAwLCAxMTQ5NiwgMTE3MywgMCwgNDEyNzIsIDExOTY2MSwgMCwgMCwgMCwgMTIwNzM3LCAwLCAKLSAgICAwLCAwLCAzNzgsIDI2MTAsIDAsIDY1MDc5LCAwLCA2NTY5NSwgMCwgMzcsIDcwNjgsIDAsIDEyMDQ4MCwgMTIwNDc5LCAKLSAgICAzMjA5LCAxMjA0NzcsIDAsIDEwNjM4LCA5NzY4LCAxMjA0ODEsIDAsIDAsIDAsIDAsIDAsIDAsIDY1NTEwLCAwLCAwLCAKLSAgICA1MjMzLCAwLCA2NDc5MiwgMCwgMCwgMCwgMCwgNzA2MCwgOTg0NywgMTIwMTQ0LCAxNjg1LCA1OTUsIDAsIDczOTcxLCAKLSAgICAxMjkyLCA4OTQwLCA3MzgwLCAxMTA4OCwgMCwgMTAwMDQsIDEyNjk5NywgMCwgNjU0MSwgMCwgMCwgMCwgMzI0MywgOTAxNCwgCi0gICAgNTYwNiwgMCwgNTM4LCA2NDYyMCwgNTYwMiwgODQ2NywgNzQzOTEsIDY1NDcsIDAsIDgyMDMsIDc4NDg4LCAwLCA4NDU4LCAKLSAgICA2NTIxMSwgODQ5NSwgMTE5OTA0LCAwLCA5MTc1NTIsIDc3OSwgNzgzMTQsIDY0MzY3LCAyNDY1LCAwLCA4MTkzLCA1NTI3OSwgCi0gICAgOTczMCwgOTI4MCwgMCwgNzA2NSwgNzQxNTUsIDQzNDYsIDAsIDczNzk4LCA1MDQsIDAsIDkyNDE0LCA4OTgyLCAwLCAwLCAwLCAKLSAgICA3ODIsIDAsIDEwODgzLCAwLCAxOTQ4NTIsIDczMiwgMzczNywgMTI3MjUzLCAxNTQ4LCA2ODY1MCwgMCwgMTgzMiwgNTYwNCwgCi0gICAgNTczNSwgNDExNDEsIDExOTAyMCwgNDM3NiwgMCwgMTE3ODcsIDM3NDUsIDAsIDAsIDQyODg4LCA2NTcxMiwgMCwgMzg2OSwgCi0gICAgMTE5MzcsIDU3MjUsIDEyNzUzOSwgMTc4MywgNjg2NDgsIDU3MjgsIDAsIDAsIDAsIDExOTE4LCA2NjU2NywgNTcyNCwgMCwgCi0gICAgNTcyNywgNzg1MjEsIDAsIDAsIDc2NCwgMCwgMTI4MTE2LCA0MzUzMSwgMCwgOTAzMywgMCwgNDI1MzIsIDYyMjMsIDExMDQyLCAKLSAgICAxMjA3NDksIDExNDIzLCAwLCAxMTk4NjEsIDAsIDQzNDY1LCAwLCAxMjgyNjcsIDY1NTksIDY0NTU3LCAwLCAwLCAxMjA2NDgsIAotICAgIDQzMDE5LCA0MzQ3NywgMTAyMzgsIDAsIDAsIDQzMzc3LCA5MjI4MiwgMCwgMTQ3OCwgOTc4MywgMTE4MjUsIDI2MDcsIAotICAgIDY0NzQwLCAwLCA3NzM5LCA3NDU0MywgMCwgMCwgMCwgNjEzMiwgMCwgNjM3NjUsIDAsIDAsIDQxMTQ0LCAwLCA5MjQzOCwgCi0gICAgNDM1MzcsIDY3NjEsIDEwMDkzLCA0MzY5LCA5MTc3OTEsIDAsIDAsIDg4MjAsIDM5NDcsIDAsIDAsIDExNTE1LCA1MjYsIDAsIAotICAgIDQxMjk1LCAxOTQ2MDMsIDkxNzc4NSwgMTk0OTMyLCAwLCA3Njg4LCA5MTc3ODYsIDc2ODYsIDgyODgsIDExODE1LCAwLCAwLCAKLSAgICAwLCAxNTQzLCAzNzEzLCA0MTIyMSwgMTI0MjMsIDQyMjgxLCA5MTc3ODgsIDc0MDI0LCAxMjI5MywgMCwgNjQzNTcsIAotICAgIDExNzk0LCA0MjA4MiwgMCwgMTczNywgODk4NywgNDIwODEsIDAsIDcyMDUsIDAsIDkzMzUsIDEyODUwLCAxMTk4NzAsIAotICAgIDY1NTMsIDcwNTUsIDAsIDgyNzcsIDAsIDAsIDU0NzUsIDc0Nzk1LCA2NzgwLCAwLCAwLCAxMjk5MCwgMTE2MCwgNDIwODQsIAotICAgIDExOTY1MCwgNDEyMTcsIDExOTY2MCwgMTAwMTgsIDM2MCwgMCwgMCwgNjgxNzYsIDU4NjMsIDMxMzcsIDAsIDQxNDcsIDAsIAotICAgIDQxMjE2LCA3ODQ0LCAyNjE2LCAxMTkxOTAsIDY4NDYxLCA2NTIzNCwgMCwgMTMwNzYsIDMxMzUsIDAsIDc4MTQzLCAKLSAgICAxMTkxMzksIDMxNDIsIDkyNDUxLCAwLCAxMDgxOSwgMTE5NTgwLCAxMDE4MywgMCwgMjYwOCwgMTQ3MCwgNzM5NjcsIDAsIAotICAgIDYyMjcsIDAsIDAsIDY5NzQxLCAwLCA2MTYzLCAwLCAwLCAxMjczMTQsIDAsIDAsIDg2MDMsIDAsIDExOTg2NiwgMzMwNiwgCi0gICAgMTA4NzYsIDQzMzkyLCAxMTk1NzMsIDEyNzkzMSwgNTc1MSwgMCwgNjIyMiwgMCwgMCwgMTIwODYsIDc0MDMsIDE2MDAsIAotICAgIDY0MzA5LCA2NDkzOSwgMCwgNjQ3ODMsIDkyNjU4LCAxMTMxMCwgMCwgODg4MiwgMCwgMCwgMjU3MCwgNzAyMSwgMCwgMCwgCi0gICAgNDMxMTAsIDAsIDEyMzQsIDY1NDAsIDY5NzQsIDAsIDAsIDAsIDUwMDIsIDAsIDQxMjg2LCAwLCAxMjcwMTksIDAsIDQzNTg1LCAKLSAgICAwLCA2NTUxLCAwLCAxMjgyMjksIDAsIDQxMjg5LCAwLCAxOTQ2MDIsIDAsIDg5NzcsIDYwMiwgMTIwODE0LCAwLCAxMjg3NzgsIAotICAgIDEyODY2MSwgMCwgMCwgNDEyNzksIDAsIDAsIDAsIDExMDgxLCA0MzYxNSwgMCwgMCwgMCwgMCwgMTI3MjcsIDAsIDAsIAotICAgIDc4Mzk3LCA5NDc1LCA3MTEyLCA2NTEwNSwgMCwgOTYzMywgMTA4ODYsIDQzNTkyLCA3ODMxLCAwLCAxOTQ1NzEsIDAsIAotICAgIDczOTE1LCA4MDc2LCA0MzA0OCwgODI5MCwgODI5MSwgNDMwNTEsIDkyNTcwLCAwLCAyNTk2LCA0MzU4NCwgMCwgMTMxMTMsIAotICAgIDAsIDEyNzc1NywgMjM5MywgNzA1OCwgOTA4NywgNzQwNjcsIDY4NjczLCA0MTU3NCwgNzgzMzcsIDAsIDc0MDU4LCA2Mzc2LCAKLSAgICAwLCAwLCAwLCAwLCA5ODU0LCAxMjc3NDgsIDY0Njk2LCAwLCAxMjgyMjAsIDAsIDY5OTQsIDAsIDE3MjAsIDAsIDAsIDAsIAotICAgIDY1MjksIDcwNjMsIDAsIDM3NTEsIDkxMjAsIDAsIDAsIDE3OTgsIDcwOSwgMCwgMTM1NCwgMTg3NiwgMTMxNTIsIDY1NTcsIAotICAgIDEyNDMwLCA4MTM3LCAwLCA5MjY0MiwgMCwgMCwgMjQ1LCAxMjgwOTcsIDExNDU2LCA0MTIzMywgNzA3MCwgMCwgMCwgNjEzNiwgCi0gICAgOTE3NjA5LCA2NTY3NywgODY4MiwgNDEyMzUsIDkyNTk1LCA0MjA0NSwgOTgwNCwgMCwgNDMyLCAzNTk1LCAwLCA2NTQzNywgCi0gICAgMCwgNzQ0NTUsIDQyMzk5LCAwLCAwLCAxMjgyNzQsIDAsIDExOTY1OCwgMCwgMCwgMCwgNzc4OTQsIDg3OTcsIDAsIDkwNTIsIAotICAgIDY0ODg4LCA3MTY3LCAyMzU2LCA5NSwgNzQ3ODQsIDEwNTgwLCAwLCA0MjI4NiwgMCwgNjQ2NDAsIDAsIDExOTEwNCwgMCwgCi0gICAgNzQxMzcsIDAsIDEwMDYzLCAxMjY1MiwgMTIxOTksIDkyNDgwLCAwLCAyNTY2LCAxMTk3MSwgMCwgMCwgMTA2NSwgMCwgMCwgCi0gICAgNDM0MDAsIDI1NzYsIDY2Njk2LCAwLCAwLCA0MzYwNCwgMCwgMCwgNzQwODIsIDUxNCwgNzQ1MDIsIDAsIDI5MjEsIDQzMjE1LCAKLSAgICA2NDQ5MywgNTc3MiwgMTI5NjgsIDAsIDE5NDk0NCwgNzQ1ODAsIDQzMzk4LCAyNTgwLCAwLCA0MTM0MSwgNDEyMjMsIDY1NjQsIAotICAgIDE0NjMsIDQxMzQyLCAwLCA1MjkzLCAwLCAwLCAzNzMzLCAxMTM0NiwgMCwgMTIwNTQsIDAsIDc0MDk4LCA0MjgyNywgMCwgCi0gICAgMTMwOTEsIDAsIDAsIDAsIDkxNzkxNSwgMCwgMTI3MDI1LCAwLCA3NDgyMSwgMCwgMCwgMTE5MDQyLCAwLCAxMjc4NjUsIAotICAgIDEzMDkwLCA2NjY0MywgMCwgMTI3MCwgMTEzMiwgNDIzNjAsIDAsIDc0MDk2LCA2NjY1NSwgNDI1NjksIDEyNzgyNCwgMCwgCi0gICAgNjQ3NjEsIDAsIDQxMDIxLCA4NTEwLCA0MjQzMiwgMCwgMCwgMCwgMCwgNjQ0OTYsIDc0MTA5LCAwLCA5OTE1LCAwLCAwLCAKLSAgICA3MDYxLCA0MTMzNiwgMzg1NCwgNjk3MDAsIDEzMTQxLCA2ODQxMywgNDM0MDEsIDQyMzE5LCAxMzA4MiwgMCwgNzA2NywgCi0gICAgNjgyMjEsIDAsIDAsIDEyNzE3MSwgMCwgMCwgMTI3Nzk3LCA5MDI5LCA0MzU0MywgMTE5MzE1LCAyMzUzLCA2MzA4LCAwLCAKLSAgICA3NDc5MiwgMjYxMSwgMTE5MTg2LCAwLCAwLCAwLCA0MzY2NCwgOTIzOTksIDY2NjI3LCAwLCA0NDg0LCA4NTA5LCAxMTg5NzYsIAotICAgIDc4MTE2LCA2NTIzMywgMCwgNDEyMjQsIDQxMDE3LCAwLCAzNzQ3LCAxMDUyMiwgMCwgMCwgMTY5MSwgNDEyMjYsIDAsIAotICAgIDEyMTA3LCA0NDAwMiwgMTA5MDUsIDY1MDEwLCAxOTQ5ODYsIDY5NywgNjYwMTgsIDkyODQsIDQyNDQsIDAsIDAsIDkyNjQ0LCAKLSAgICAxMzEyMSwgMTIwMDM2LCAwLCAxMjAxMCwgMTI4NTczLCAxMjgyMjEsIDAsIDAsIDAsIDEyNzE5MywgNjU4MTYsIDY4MTExLCAKLSAgICAwLCAxMjc5MzMsIDY1NjY4LCA5MjI1NywgNjYxOCwgMTE4Nzg0LCA2NjM2NSwgMCwgNDIyMzQsIDEyNjQ4LCAxMjgwMzksIAotICAgIDcxMjMsIDAsIDU3ODUsIDkxOTgsIDk3NjQsIDQxMzE2LCA2NTg3NywgNzM4MywgMTMyMzAsIDQxMjk5LCAwLCAwLCA2ODM2NSwgCi0gICAgMTI4MjU4LCAwLCAwLCAwLCAxMzEyMiwgMCwgMTkxLCA3NDExOSwgODU4NSwgODAwMCwgNjQ0MTEsIDEyMDY1MiwgNDI4ODksIAorICAgIDEwOTI4LCAwLCA0MTE1MywgNDEyMjksIDExODk2NywgMCwgMzczOCwgOTQwMTYsIDAsIDEyNzExLCAzMTgxLCA2NjIxMiwgCisgICAgNzQyODksIDY4NDcyLCA0Mjg1NywgODI2MiwgOTgzMzcxLCAwLCA5ODMyMjAsIDAsIDQyMzQ3LCAxMjA5MiwgOTYxNSwgCisgICAgNzIzNCwgNzQwNDcsIDk4MzA4OCwgMCwgNDM3NDQsIDAsIDAsIDczODQ2LCAyOTM0LCAxMjcyMiwgMTIwNzYyLCA5MjIsIAorICAgIDQzOTgzLCA3NDUwNywgOTgzMTI2LCA3NDQ2MSwgMzIxOCwgMTIwNDcxLCA3NDI5MCwgMTIwNDY5LCA2NDU2MiwgMTIwNDc1LCAKKyAgICA4NTY5LCAxMTQwNCwgMTE5MzIsIDczNzI4LCAzMjE0LCAxMjA0NjEsIDEyMDQ2OCwgMTIxMjgsIDMyMDcsIDY1NDg2LCAKKyAgICA3ODcyOSwgMTkwMSwgNzg3MjcsIDEyNzMyNiwgMTIwNDYwLCA3NDI1LCAzMjA1LCA2ODAwMywgNzg3MzcsIDc4NzM2LCAKKyAgICA3ODczNSwgNDMzODMsIDY5OTQwLCA2NTQ1OSwgMjYwNiwgNzg3MzAsIDczODk3LCAwLCAxMTQ5NiwgMTE3MywgMCwgNDEyNzIsIAorICAgIDExOTY2MSwgMCwgMCwgOTgzMzEzLCAxMjA3MzcsIDAsIDk4Mzk2MiwgOTgzMzEyLCAzNzgsIDI2MTAsIDAsIDY1MDc5LCAKKyAgICA5ODMzMTcsIDY1Njk1LCAxMjY1NTksIDM3LCA3MDY4LCAwLCAxMjA0ODAsIDEyMDQ3OSwgMzIwOSwgMTIwNDc3LCAwLCAKKyAgICAxMDYzOCwgOTc2OCwgNjk5NTIsIDExOTkwOSwgOTgzMzkxLCAwLCAwLCAwLCAwLCA2NTUxMCwgMCwgMCwgNTIzMywgCisgICAgOTgzMzI3LCA2NDc5MiwgOTgzMzI2LCAwLCAxMjY2MzMsIDAsIDcwNjAsIDk4NDcsIDEyMDE0NCwgMTY4NSwgNTk1LCAwLCAKKyAgICA3Mzk3MSwgMTI5MiwgODk0MCwgNzM4MCwgMTEwODgsIDAsIDEwMDA0LCAxMjY5OTcsIDAsIDY1NDEsIDAsIDAsIDAsIDMyNDMsIAorICAgIDkwMTQsIDU2MDYsIDAsIDUzOCwgNjQ2MjAsIDU2MDIsIDg0NjcsIDc0MzkxLCA2NTQ3LCAxMjgxMzIsIDgyMDMsIDc4NDg4LCAKKyAgICA5ODMwOTAsIDg0NTgsIDY1MjExLCA4NDk1LCAxMTk5MDQsIDAsIDkxNzU1MiwgNzc5LCA3ODMxNCwgNjQzNjcsIDI0NjUsIAorICAgIDY5OTAxLCA4MTkzLCA1NTI3OSwgOTczMCwgOTI4MCwgMCwgNzA2NSwgNzQxNTUsIDQzNDYsIDAsIDczNzk4LCA1MDQsIDAsIAorICAgIDkyNDE0LCA4OTgyLCAwLCAwLCAwLCA3ODIsIDAsIDEwODgzLCAwLCAxOTQ4NTIsIDczMiwgMzczNywgMTI3MjUzLCAxNTQ4LCAKKyAgICA2ODY1MCwgOTI1MDcsIDE4MzIsIDU2MDQsIDU3MzUsIDQxMTQxLCAxMTkwMjAsIDQzNzYsIDAsIDExNzg3LCAzNzQ1LCAwLCAKKyAgICAwLCA0Mjg4OCwgNjU3MTIsIDk4MzI5NiwgMzg2OSwgMTE5MzcsIDU3MjUsIDEyNzUzOSwgMTc4MywgNjg2NDgsIDU3MjgsIDAsIAorICAgIDAsIDAsIDExOTE4LCA2NjU2NywgNTcyNCwgMCwgNTcyNywgNzg1MjEsIDAsIDAsIDc2NCwgMCwgMTI4MTE2LCA0MzUzMSwgMCwgCisgICAgOTAzMywgMCwgNDI1MzIsIDYyMjMsIDExMDQyLCAxMjA3NDksIDExNDIzLCAwLCAxMTk4NjEsIDcxMzQ0LCA0MzQ2NSwgMCwgCisgICAgMTI4MjY3LCA2NTU5LCA2NDU1NywgNzEzNDgsIDkyNjQ5LCAxMjA2NDgsIDQzMDE5LCA0MzQ3NywgMTAyMzgsIDc0NDkxLCAwLCAKKyAgICA0MzM3NywgOTIyODIsIDcxMzQ2LCAxNDc4LCA5NzgzLCAxMTgyNSwgMjYwNywgNjQ3NDAsIDAsIDc3MzksIDc0NTQzLCAwLCAKKyAgICAwLCAwLCA2MTMyLCAwLCA2Mzc2NSwgMCwgNzAwNTgsIDQxMTQ0LCAwLCA5MjQzOCwgNDM1MzcsIDY3NjEsIDEwMDkzLCAKKyAgICA0MzY5LCA5MTc3OTEsIDAsIDk4MzE0OCwgODgyMCwgMzk0NywgMCwgMCwgMTE1MTUsIDUyNiwgMTI4MTAzLCA0MTI5NSwgCisgICAgMTk0NjAzLCA5MTc3ODUsIDE5NDkzMiwgMCwgNzY4OCwgOTE3Nzg2LCA3Njg2LCA4Mjg4LCAxMTgxNSwgMCwgMCwgOTgzMzc0LCAKKyAgICAxNTQzLCAzNzEzLCA0MTIyMSwgMTI0MjMsIDQyMjgxLCA5MTc3ODgsIDc0MDI0LCAxMjI5MywgMCwgNjQzNTcsIDExNzk0LCAKKyAgICA0MjA4MiwgMCwgMTczNywgODk4NywgNDIwODEsIDAsIDcyMDUsIDAsIDkzMzUsIDEyODUwLCAxMTk4NzAsIDY1NTMsIDcwNTUsIAorICAgIDAsIDgyNzcsIDAsIDAsIDU0NzUsIDc0Nzk1LCA2NzgwLCAwLCAwLCAxMjk5MCwgMTE2MCwgNDIwODQsIDExOTY1MCwgCisgICAgNDEyMTcsIDExOTY2MCwgMTAwMTgsIDM2MCwgMCwgMCwgNjgxNzYsIDU4NjMsIDMxMzcsIDAsIDQxNDcsIDk4MzE3MCwgCisgICAgNDEyMTYsIDc4NDQsIDI2MTYsIDExOTE5MCwgNjg0NjEsIDY1MjM0LCA5ODMyODYsIDEzMDc2LCAzMTM1LCA5ODMyNzksIAorICAgIDc4MTQzLCAxMTkxMzksIDMxNDIsIDkyNDUxLCA5NDA2OCwgMTA4MTksIDExOTU4MCwgMTAxODMsIDAsIDI2MDgsIDE0NzAsIAorICAgIDczOTY3LCA5NDAwOCwgNjIyNywgMCwgMTI3MTczLCA2OTc0MSwgOTgzNTgyLCA2MTYzLCA5ODM1NTgsIDAsIDEyNzMxNCwgMCwgCisgICAgMCwgODYwMywgMCwgMTE5ODY2LCAzMzA2LCAxMDg3NiwgNDMzOTIsIDExOTU3MywgMTI3OTMxLCA1NzUxLCAwLCA2MjIyLCAwLCAKKyAgICAwLCAxMjA4NiwgNzQwMywgMTYwMCwgNjQzMDksIDY0OTM5LCAwLCA2NDc4MywgOTI2NTgsIDExMzEwLCAwLCA4ODgyLCAwLCAKKyAgICAwLCAyNTcwLCA3MDIxLCAwLCAwLCA0MzExMCwgMCwgMTIzNCwgNjU0MCwgNjk3NCwgMCwgMCwgOTgzMjA5LCA1MDAyLCAwLCAKKyAgICA0MTI4NiwgNjk5NDYsIDEyNzAxOSwgMCwgNDM1ODUsIDAsIDY1NTEsIDk4Mzk1MywgMTI4MjI5LCAwLCA0MTI4OSwgMCwgCisgICAgMTk0NjAyLCAwLCA4OTc3LCA2MDIsIDEyMDgxNCwgMCwgMTI4Nzc4LCAxMjg2NjEsIDAsIDk4MzM2NywgNDEyNzksIDAsIDAsIAorICAgIDAsIDExMDgxLCA0MzYxNSwgMCwgMCwgMCwgOTgzNjEyLCAxMjcyNywgMCwgMCwgNzgzOTcsIDk0NzUsIDcxMTIsIDY1MTA1LCAKKyAgICAwLCA5NjMzLCAxMDg4NiwgNDM1OTIsIDc4MzEsIDk4MzgyMCwgMTk0NTcxLCAwLCA3MzkxNSwgODA3NiwgNDMwNDgsIDgyOTAsIAorICAgIDgyOTEsIDQzMDUxLCA5MjU3MCwgMCwgMjU5NiwgNDM1ODQsIDAsIDEzMTEzLCAwLCAxMjc3NTcsIDIzOTMsIDcwNTgsIAorICAgIDkwODcsIDc0MDY3LCA2ODY3MywgNDE1NzQsIDc4MzM3LCAwLCA3NDA1OCwgNjM3NiwgMCwgMCwgMCwgMCwgOTg1NCwgCisgICAgMTI3NzQ4LCA2NDY5NiwgMCwgMTI4MjIwLCAwLCA2OTk0LCAwLCAxNzIwLCAwLCAwLCAwLCA2NTI5LCA3MDYzLCA5ODMxODIsIAorICAgIDM3NTEsIDkxMjAsIDk4MzQ3NywgMCwgMTc5OCwgNzA5LCAwLCAxMzU0LCAxODc2LCAxMzE1MiwgNjU1NywgMTI0MzAsIAorICAgIDgxMzcsIDk0MDk4LCA5MjY0MiwgMCwgMCwgMjQ1LCAxMjgwOTcsIDExNDU2LCA0MTIzMywgNzA3MCwgMCwgOTQwNDYsIAorICAgIDYxMzYsIDkxNzYwOSwgNjU2NzcsIDg2ODIsIDQxMjM1LCA5MjU5NSwgNDIwNDUsIDk4MDQsIDExODk2MywgNDMyLCAzNTk1LCAKKyAgICAxOTQ5NDUsIDY1NDM3LCAwLCA3NDQ1NSwgNDIzOTksIDAsIDAsIDEyODI3NCwgMCwgMTE5NjU4LCAwLCAwLCAwLCA3Nzg5NCwgCisgICAgODc5NywgMCwgOTA1MiwgNjQ4ODgsIDcxNjcsIDIzNTYsIDk1LCA3NDc4NCwgMTA1ODAsIDAsIDQyMjg2LCAwLCA2NDY0MCwgCisgICAgMCwgOTQxMDksIDAsIDc0MTM3LCA3MDAzNSwgMTAwNjMsIDEyNjUyLCAxMjE5OSwgOTI0ODAsIDAsIDI1NjYsIDExOTcxLCAKKyAgICA5ODM3MjgsIDAsIDEwNjUsIDAsIDAsIDQzNDAwLCAyNTc2LCA2NjY5NiwgOTM5OTksIDAsIDQzNjA0LCAwLCAwLCA3NDA4MiwgCisgICAgNTE0LCA3NDUwMiwgNzAwMzIsIDI5MjEsIDQzMjE1LCA2NDQ5MywgNTc3MiwgMTI5NjgsIDcwMDU1LCAxOTQ5NDQsIDc0NTgwLCAKKyAgICA0MzM5OCwgMjU4MCwgOTgzODAxLCA0MTM0MSwgNDEyMjMsIDY1NjQsIDE0NjMsIDQxMzQyLCAwLCA1MjkzLCA3MDAyMCwgMCwgCisgICAgMzczMywgMTEzNDYsIDAsIDEyMDU0LCAwLCA3NDA5OCwgNDI4MjcsIDAsIDEzMDkxLCAwLCAwLCAwLCA5MTc5MTUsIDAsIAorICAgIDEyNzAyNSwgMCwgNzQ4MjEsIDAsIDk4MzcyNCwgMTE5MDQyLCAwLCAxMjc4NjUsIDEzMDkwLCA2NjY0MywgMCwgMTI3MCwgCisgICAgMTEzMiwgNDIzNjAsIDAsIDc0MDk2LCA2NjY1NSwgNDI1NjksIDEyNzgyNCwgMCwgNjQ3NjEsIDAsIDQxMDIxLCA4NTEwLCAKKyAgICA0MjQzMiwgMCwgMCwgMTk0NzgyLCAwLCA2NDQ5NiwgNzQxMDksIDcwMDMwLCA5OTE1LCAwLCA5ODMyMTYsIDcwNjEsIAorICAgIDQxMzM2LCAzODU0LCA2OTcwMCwgMTMxNDEsIDY4NDEzLCA0MzQwMSwgNDIzMTksIDEzMDgyLCAwLCA3MDY3LCA2ODIyMSwgMCwgCisgICAgMTI3MzgzLCAxMjcxNzEsIDAsIDAsIDEyNzc5NywgOTAyOSwgNDM1NDMsIDExOTMxNSwgMjM1MywgNjMwOCwgMCwgNzQ3OTIsIAorICAgIDI2MTEsIDExOTE4NiwgMCwgMCwgMCwgNDM2NjQsIDkyMzk5LCA2NjYyNywgMCwgNDQ4NCwgODUwOSwgMTE4OTc2LCAxMTA2NiwgCisgICAgNjUyMzMsIDAsIDQxMjI0LCA0MTAxNywgMCwgMzc0NywgMTA1MjIsIDAsIDAsIDE2OTEsIDQxMjI2LCAwLCAxMjEwNywgCisgICAgNzEwMCwgMTA5MDUsIDY1MDEwLCAxOTQ5ODYsIDY5NywgNjYwMTgsIDkyODQsIDQyNDQsIDAsIDAsIDkyNjQ0LCAxMzEyMSwgCisgICAgMTIwMDM2LCAwLCAxMjAxMCwgMTI4NTczLCAxMjgyMjEsIDAsIDAsIDAsIDEyNzE5MywgNjU4MTYsIDY4MTExLCAwLCAKKyAgICAxMjc5MzMsIDY1NjY4LCA5MjI1NywgNjYxOCwgMTE4Nzg0LCA2NjM2NSwgMCwgNDIyMzQsIDEyNjQ4LCA3ODExMCwgNzEyMywgCisgICAgNzAwMzgsIDU3ODUsIDkxOTgsIDk3NjQsIDQxMzE2LCA2NTg3NywgNzM4MywgMTMyMzAsIDQxMjk5LCAwLCAwLCA2ODM2NSwgCisgICAgMTI4MjU4LCAwLCAwLCAwLCAxMzEyMiwgMCwgMTkxLCA3MDA2MCwgODU4NSwgODAwMCwgNjQ0MTEsIDEyMDY1MiwgNDI4ODksIAogICAgIDY0ODUwLCA0MTA3MiwgNDE1NzgsIDAsIDQxNTc3LCAwLCAxMDAwMiwgMCwgNjUzMywgNzM4MDIsIDQxNTcwLCAwLCA2ODMsIAogICAgIDM5NiwgNDE1ODAsIDY4MTQ2LCAwLCAxMjkwMSwgNDMwNTgsIDAsIDM0MywgNzEyOSwgNDI2ODAsIDQxMzYwLCA3ODE1NCwgMCwgCi0gICAgNDc0MywgMCwgMCwgNzQwNDAsIDc0MTA4LCA4NzQzLCAxNzI0LCAxNDMzLCAxMTkzMjIsIDAsIDM3MzksIDYyNjMsIDkyNTE0LCAKLSAgICAwLCAzOTY0LCA2NTkyLCAwLCAxMjg2OTMsIDY2MDQwLCAwLCA0MjU2OCwgNjk4MDYsIDAsIDE3NzgsIDM5NTYsIDAsIAotICAgIDQyMDcwLCA2NTYzLCA0MzA3NSwgOTAxOCwgMCwgMCwgMTIwNjcsIDQxMzEyLCAwLCA1NTQ3LCA3NDUzMSwgMTI3OTY5LCAwLCAKLSAgICA4MTc1LCAwLCAyODQsIDgxMDgsIDkzNCwgMCwgNzQwMDEsIDE3MywgNjY0NjAsIDcxNzQsIDkyNzAzLCAxMTg4MjIsIDE3NTAsIAotICAgIDAsIDQzOTQsIDY4MzY4LCAxODA3LCAwLCA5MjI5OCwgMCwgNTg4OSwgMCwgNzE4MCwgMCwgMTE5MTQ1LCAwLCA5MTc1NTgsIAotICAgIDQyNDcxLCA2OTgyLCAxNzIxLCA0NDAyMiwgNzg5MSwgNDIyNDMsIDQyMTYwLCAyNTgzLCA0NTEyLCAxMTkzNjAsIDY1MjMwLCAKLSAgICAxMjgxMDksIDAsIDAsIDM4NTUsIDAsIDAsIDAsIDAsIDc0Mjk1LCAwLCAwLCA5MjQxNiwgMzk3NSwgMCwgNzQwODcsIDAsIAotICAgIDEyNjcyLCAzNzk4LCAyNzAzLCAwLCAwLCAyMTA5LCA5Nzc0LCAxMjc1LCAwLCAwLCA0MTA5NSwgMzk2MiwgMCwgMjkzMiwgCi0gICAgNDExMDEsIDM5NTQsIDY0NTcsIDQ1MTMsIDAsIDAsIDczOTk0LCA3Mzk5MiwgMTQ2OCwgMCwgMCwgNDE4NTEsIDEyODIzMCwgCi0gICAgNDE4NDYsIDAsIDU1MjM4LCA3NjMzLCA0MTg0OSwgNjgzODUsIDQzMjAsIDMyMjQsIDAsIDEyODAzMiwgMCwgNDI1MzEsIDAsIAotICAgIDE1MTAsIDAsIDgyNTYsIDAsIDExMzkzLCAwLCA4ODc5LCAxMjgwNzUsIDkyNDc0LCA4NzcwLCAwLCAwLCA3ODM3NywgMTkxMCwgCi0gICAgODY3MSwgNzgzNzQsIDQyODMsIDAsIDEyNzExNywgNjgzNjEsIDc4MzE4LCAyNjU0LCA3ODkzLCAxOTUwMDcsIDAsIDAsIDAsIAotICAgIDY1MTA2LCA0Mjc2MSwgMTI4NTcsIDQ1ODEsIDg0MTEsIDc4MzcyLCA3ODM3MSwgNzgzNzAsIDc4MzY5LCA3ODM2OCwgMCwgMCwgCi0gICAgMCwgMTczMywgNDM5MiwgMjU2OCwgMTA3ODYsIDY5NjYxLCAwLCA4MTg0LCA0MTQ4NiwgMCwgNzM5NiwgNzExNiwgMCwgCi0gICAgNjk3ODgsIDAsIDcxODUsIDc5NjUsIDAsIDAsIDkyMzQ3LCAwLCA0MTM1MCwgOTEyOSwgMCwgMCwgMCwgMCwgOTI0ODksIDAsIAotICAgIDEwNDgxLCAwLCAxMjc0ODYsIDcxNzEsIDAsIDM0MCwgOTI0OTgsIDAsIDAsIDAsIDkyMjAwLCAwLCAwLCA2NzY0LCAKLSAgICAxMjc0ODcsIDAsIDAsIDAsIDAsIDY1MjAzLCAxMTM5MiwgMTE5MDk4LCAxMTkzNTksIDAsIDMyMTAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDEyNzk3MCwgOTE3NjE5LCAwLCAwLCAxMDA0MywgMCwgMTE4NiwgNDE1NzEsIDY5OTksIDYxNywgOTQ2NCwgMTI4MjQ0LCAKLSAgICAzNjc1LCA1MjA3LCA2NTA2MiwgNTIxMywgMTk0NzY5LCAyNjE3LCA0MTM0OCwgNDE1NjgsIDEyODgwMywgMzI1MywgCi0gICAgMTIwNTM1LCAwLCA4NjMwLCAxMjg1NDQsIDAsIDU1OTYsIDU1NDUsIDcyODgsIDI1ODYsIDY0ODg3LCAwLCA1MjE3LCAwLCAwLCAKLSAgICAwLCAwLCA2NDI5MywgNjgwOTgsIDI2MzUsIDAsIDAsIDAsIDAsIDAsIDc4MzUsIDAsIDAsIDE5NDk4OCwgOTIyODUsIAotICAgIDY0NTU4LCAxMjcxMjIsIDAsIDEyNzEyMSwgMCwgMTI3OTEzLCAwLCA1Nzg0LCAwLCAwLCAwLCAwLCA0MDExLCA5MTc2MTYsIAotICAgIDY4MTAxLCAwLCA3ODY0LCA0MjU0LCA2NTA5NSwgMCwgNTYwMCwgMzkwMywgMTI3MDgzLCAxMDQ0NywgNTU5OCwgMTIwNywgCi0gICAgMTIwNTIxLCA2NjY4OSwgMzUwMSwgNDI1ODIsIDQzNjAwLCAxOTQ3ODAsIDAsIDExMjQsIDU1OTcsIDE5NDc3OCwgMTk0NzcyLCAKLSAgICA5MzIxLCAwLCAwLCAwLCAwLCAxNzE5LCA2ODM1NiwgNjgzNTQsIDk2NzEsIDExMjUsIDQzOTksIDEyNzQ3OSwgOTE3NjEwLCAKLSAgICAwLCA3NjMxLCA1NDg4LCA3MTI4LCAxMjA1MzIsIDAsIDU0OTEsIDAsIDg5MzcsIDQzMDQ0LCAyNjA0LCA3NDE4NywgNTQ5MCwgCi0gICAgNDMwNDYsIDU0ODksIDcyMTIsIDExNzY4LCA0MzA0MywgNjMwMCwgMCwgNzEyMiwgMCwgNDM5MCwgNDU0LCA0MTM5NywgMCwgCi0gICAgOTg3NSwgNzU5MywgMTk0NzkyLCA5MjI3NCwgMTE4OTEzLCA3MjA3LCAwLCA2NTkwMSwgMjM5NCwgMjU3NSwgMCwgMzc0NiwgCi0gICAgMTEwMTYsIDY1NzUyLCAxMjAwMzcsIDAsIDQzNDIzLCAxMjg2ODMsIDExOTg5LCAwLCAwLCAwLCAwLCAwLCA4MjQ5LCAKLSAgICAxMjgxNzIsIDAsIDc4NTMxLCA2NjQwLCA3NDgwNiwgMjU5OCwgNTEzLCAwLCA2NTg2LCA4NjU2LCAwLCAxMjcwMDIsIAotICAgIDY1MDA4LCAwLCAxOTQ3ODQsIDE5NDk4OSwgMTk0Nzk1LCAwLCA5MjUxNSwgNjg0NzUsIDAsIDAsIDAsIDc4NjM3LCAxMjY0NywgCi0gICAgMCwgMTI4MDQzLCAwLCAxMDM2LCAwLCA5MjQxOSwgMTcyMywgMTI4MDU2LCAwLCAwLCA0MTU3OSwgMjQ0NCwgMCwgMTA3MDUsIAotICAgIDczODc2LCAwLCA3NDQ4NiwgMCwgNzQwLCAxMTkyMjIsIDE5NDk3OCwgMTk0OTg0LCAwLCA0MjM4LCAxMTA3MSwgOTQ1OSwgCi0gICAgNjg0MzcsIDc4MTQwLCA3ODEzOSwgMTk0OTg1LCA4MTIxLCAxMDQzOCwgNzQ0ODcsIDQyNTc0LCAxMzI4NSwgNTUyNjMsIAotICAgIDExOTA3LCAxOTUwMDAsIDU2OTAsIDkyMjU1LCAwLCAwLCA0MzE4MSwgMTMwOTUsIDAsIDEyNzg1NywgNjQ0OTgsIDAsIAotICAgIDk1MDYsIDY5NzgsIDE5NDk5MywgNzc5OTIsIDAsIDAsIDE5NDk5MiwgMCwgMTI3ODQ1LCAxMTIyLCAzMTcsIDAsIDAsIDAsIAotICAgIDAsIDE5MjAsIDAsIDEwMTczLCA4MjcsIDAsIDAsIDc4Mzc4LCAxMjAxMjYsIDUyMjMsIDEzMDQsIDAsIDExOTU2NCwgNTIyNiwgCi0gICAgMTI2MDIsIDAsIDAsIDkzMjksIDc3NTgsIDkyMzksIDQxMTczLCA1MjI0LCA1NDg3LCAxMjIyLCA1NjkyLCA0MTcyNSwgCisgICAgNDc0MywgMCwgMCwgNzQwNDAsIDc0MTA4LCA4NzQzLCAxNzI0LCAxNDMzLCAxMTkzMjIsIDAsIDM3MzksIDYyNjMsIDcxMzQ5LCAKKyAgICAwLCAzOTY0LCA2NTkyLCAwLCAxMjg2OTMsIDY2MDQwLCAwLCA0MjU2OCwgNjk4MDYsIDEyODExMywgMTc3OCwgMzk1NiwgMCwgCisgICAgNDIwNzAsIDY1NjMsIDQzMDc1LCA5MDE4LCA5NDAwNiwgOTgzMzg4LCAxMjA2NywgNDEzMTIsIDAsIDU1NDcsIDc0NTMxLCAKKyAgICAxMjc5NjksIDAsIDgxNzUsIDAsIDI4NCwgODEwOCwgOTM0LCAwLCA3NDAwMSwgMTczLCA2NjQ2MCwgNzE3NCwgOTI3MDMsIAorICAgIDExODgyMiwgMTc1MCwgMCwgNDM5NCwgNjgzNjgsIDE4MDcsIDk4Mzg3OSwgOTIyOTgsIDAsIDU4ODksIDAsIDcxODAsIDAsIAorICAgIDExOTE0NSwgMCwgOTE3NTU4LCA0MjQ3MSwgNjk4MiwgMTcyMSwgNDQwMjIsIDc4OTEsIDQyMjQzLCA0MjE2MCwgMjU4MywgCisgICAgNDUxMiwgMTE5MzYwLCA2NTIzMCwgMTI4MTA5LCAwLCAwLCAzODU1LCAwLCAwLCAwLCAwLCA3NDI5NSwgMCwgMCwgOTI0MTYsIAorICAgIDM5NzUsIDAsIDc0MDg3LCAwLCAxMjY3MiwgMzc5OCwgMjcwMywgOTgzNTk5LCAwLCAyMTA5LCA5Nzc0LCAxMjc1LCAwLCAwLCAKKyAgICA0MTA5NSwgMzk2MiwgMCwgMjkzMiwgNDExMDEsIDM5NTQsIDY0NTcsIDQ1MTMsIDAsIDAsIDczOTk0LCA3Mzk5MiwgMTQ2OCwgCisgICAgMCwgMCwgNDE4NTEsIDEyODIzMCwgNDE4NDYsIDAsIDU1MjM4LCA3NjMzLCA0MTg0OSwgNjgzODUsIDQzMjAsIDMyMjQsIDAsIAorICAgIDEyODAzMiwgMCwgNDI1MzEsIDExOTEwOCwgMTUxMCwgMCwgODI1NiwgMCwgMTEzOTMsIDAsIDg4NzksIDEyODA3NSwgCisgICAgOTI0NzQsIDg3NzAsIDAsIDAsIDc4Mzc3LCAxOTEwLCA4NjcxLCA3ODM3NCwgNDI4MywgMCwgMTI3MTE3LCA2ODM2MSwgCisgICAgNzgzMTgsIDI2NTQsIDc4OTMsIDE5NTAwNywgMCwgMCwgMCwgNjUxMDYsIDQyNzYxLCAxMjg1NywgNDU4MSwgODQxMSwgCisgICAgNzgzNzIsIDc4MzcxLCA3ODM3MCwgNzgzNjksIDc4MzY4LCAwLCAwLCAwLCAxNzMzLCA0MzkyLCAyNTY4LCAxMDc4NiwgCisgICAgNjk2NjEsIDAsIDgxODQsIDQxNDg2LCAwLCA3Mzk2LCA3MTE2LCAwLCA2OTc4OCwgMCwgNzE4NSwgNzk2NSwgMCwgMCwgCisgICAgOTIzNDcsIDk4MzA4NywgNDEzNTAsIDkxMjksIDAsIDAsIDIyOTQsIDAsIDkyNDg5LCAwLCAxMDQ4MSwgMCwgNzAwMjIsIAorICAgIDcxNzEsIDAsIDM0MCwgOTI0OTgsIDkzOTcyLCAwLCAwLCA5MjIwMCwgMCwgMCwgNjc2NCwgMTI3NDg3LCAwLCAwLCAwLCAwLCAKKyAgICA2NTIwMywgMTEzOTIsIDExOTA5OCwgMTE5MzU5LCAwLCAzMjEwLCAwLCAwLCAxMTg3OTUsIDAsIDAsIDEyNzk3MCwgCisgICAgOTE3NjE5LCAwLCAwLCAxMDA0MywgMCwgMTE4NiwgNDE1NzEsIDY5OTksIDYxNywgOTQ2NCwgMTI2NjQyLCAzNjc1LCA1MjA3LCAKKyAgICA2NTA2MiwgNTIxMywgMTk0NzY5LCAyNjE3LCA0MTM0OCwgNDE1NjgsIDEyODgwMywgMzI1MywgMTIwNTM1LCAwLCA4NjMwLCAKKyAgICAxMjg1NDQsIDAsIDU1OTYsIDU1NDUsIDcyODgsIDI1ODYsIDY0ODg3LCAwLCA1MjE3LCA3MTMzNiwgMCwgMCwgMCwgNjQyOTMsIAorICAgIDY4MDk4LCAyNjM1LCAwLCAwLCA5ODM4MzcsIDAsIDk4MzYzMiwgNzgzNSwgNzAwNDAsIDAsIDE5NDk4OCwgOTIyODUsIAorICAgIDY0NTU4LCAxMjcxMjIsIDAsIDEyNzEyMSwgMCwgMTI3OTEzLCAwLCA1Nzg0LCA5ODMxMDIsIDAsIDAsIDcwMDMzLCA0MDExLCAKKyAgICA5MTc2MTYsIDY4MTAxLCAwLCA3ODY0LCA0MjU0LCA2NTA5NSwgOTgzNDg4LCA1NjAwLCAzOTAzLCAxMjcwODMsIDEwNDQ3LCAKKyAgICA1NTk4LCAxMjA3LCAxMjA1MjEsIDY2Njg5LCAzNTAxLCA0MjU4MiwgNDM2MDAsIDE5NDc4MCwgMCwgMTEyNCwgNTU5NywgCisgICAgMTk0Nzc4LCAxOTQ3NzIsIDkzMjEsIDk4MzQ3NiwgOTgzNDczLCA5ODM0NzQsIDAsIDE3MTksIDY4MzU2LCA2ODM1NCwgCisgICAgOTY3MSwgMTEyNSwgNDM5OSwgMTI3NDc5LCA5MTc2MTAsIDk4MzQ4MCwgNzYzMSwgNTQ4OCwgNzEyOCwgMTIwNTMyLCAwLCAKKyAgICA1NDkxLCAwLCA4OTM3LCA0MzA0NCwgMjYwNCwgNzQxODcsIDU0OTAsIDQzMDQ2LCA1NDg5LCA3MjEyLCAxMTc2OCwgNDMwNDMsIAorICAgIDYzMDAsIDAsIDcxMjIsIDAsIDQzOTAsIDQ1NCwgNDEzOTcsIDAsIDk4NzUsIDc1OTMsIDE5NDc5MSwgOTIyNzQsIDExODkxMywgCisgICAgNzIwNywgMCwgNjU5MDEsIDIzOTQsIDI1NzUsIDAsIDM3NDYsIDExMDE2LCA2NTc1MiwgMTIwMDM3LCAwLCA0MzQyMywgCisgICAgMTI4NjgzLCAxMTk4OSwgMCwgMCwgMCwgMCwgMCwgODI0OSwgMTI4MTcyLCAwLCA3ODUzMSwgNjY0MCwgNzQ4MDYsIDI1OTgsIAorICAgIDUxMywgMCwgNjU4NiwgODY1NiwgMCwgMTIwNzEwLCA2NTAwOCwgMCwgMTk0Nzg0LCAxOTQ5ODksIDE5NDc5NSwgOTgzNDY1LCAKKyAgICA5MjUxNSwgNjg0NzUsIDkzOTczLCAwLCAwLCA3ODYzNywgMTI2NDcsIDAsIDEyODA0MywgNjk4OTMsIDEwMzYsIDk4MzQ2OSwgCisgICAgOTI0MTksIDE3MjMsIDEyODA1NiwgNzQyMTcsIDAsIDQxNTc5LCAyNDQ0LCAwLCAxMDcwNSwgNzM4NzYsIDk4MzQ2MSwgCisgICAgNzQ0ODYsIDk4MzQ1OSwgNzQwLCAxMTkyMjIsIDE5NDk3OCwgMTk0OTg0LCAwLCA0MjM4LCAxMTA3MSwgOTQ1OSwgNjg0MzcsIAorICAgIDc4MTQwLCA3ODEzOSwgMTk0OTg1LCA4MTIxLCAxMDQzOCwgNzQ0ODcsIDQyNTc0LCAxMzI4NSwgNTUyNjMsIDExOTA3LCAKKyAgICAxOTUwMDAsIDU2OTAsIDkyMjU1LCA5Mzk5MiwgMCwgNDMxODEsIDEzMDk1LCAwLCAxMjc4NTcsIDY0NDk4LCAwLCA5NTA2LCAKKyAgICA2OTc4LCAxOTQ5OTMsIDc3OTkyLCAwLCAwLCAxOTQ5OTIsIDAsIDEyNzg0NSwgMTEyMiwgMzE3LCAwLCAwLCAwLCAwLCAKKyAgICAxOTIwLCAwLCAxMDE3MywgODI3LCAwLCAwLCA3ODM3OCwgMTIwMTI2LCA1MjIzLCAxMzA0LCAwLCAxMTk1NjQsIDUyMjYsIAorICAgIDEyNjAyLCA5NDA0NCwgMCwgOTMyOSwgNzc1OCwgOTIzOSwgNDExNzMsIDUyMjQsIDU0ODcsIDEyMjIsIDU2OTIsIDQxNzI1LCAKICAgICA2OTIyOSwgOTY3NCwgNTY5NSwgNDE3MTEsIDY0NjI3LCAxOTkwOSwgMCwgNzQ2MDQsIDU2OTEsIDI4NywgODY2LCAyMzMsIAotICAgIDEyNzQ5MCwgMCwgNDI4MTYsIDAsIDY1MTQwLCA3NDc5NywgMCwgODgzMCwgNjU2OCwgNDIzMDAsIDEwNTI0LCA0MTE3NSwgMCwgCi0gICAgMCwgMCwgNTI5NiwgMCwgNDI0OTIsIDQzNDAyLCA5MjQ2NiwgMzMwMiwgMCwgMCwgNjUxNiwgNjUxNSwgNjUxNCwgNjUxMywgCi0gICAgNjUxMiwgMCwgNzg1NiwgODY5MCwgMCwgMCwgMTIxMjIsIDExOTYwMiwgNDM5NzYsIDAsIDE3ODUsIDkyNTA3LCA2ODYyMiwgCi0gICAgNjUxNTMsIDE5NDgxMCwgNTEzOCwgMCwgMCwgMCwgMCwgNDU0MCwgNDExODEsIDAsIDYyMDAsIDAsIDUxMzQsIDAsIDMyMiwgCi0gICAgNDY0MywgNTEzMiwgMCwgNjM4OSwgMCwgNTE0MywgMCwgODc5MCwgMTI4Njk0LCAwLCAxOTQ4MDIsIDAsIDg4NjksIAotICAgIDEyMDYwMSwgMCwgNDIwNjAsIDAsIDAsIDE5NDgwNCwgMTI3MDEyLCAxMDI3MCwgMTAyODYsIDEwMzE4LCAxMDM4MiwgCi0gICAgNDM1MjksIDY2NDc3LCAwLCAwLCA3NDE3MCwgMCwgMzIzNCwgMCwgMCwgNzQzNzYsIDQzMTM5LCAxMTg4MTUsIDEyNzA4NCwgCi0gICAgMTIwNjI3LCA4NzY3LCAwLCA3NDQ4OSwgOTY5NSwgMTIwNzQ2LCA1MjAxLCAwLCA2MjE1LCAxMjcxNCwgNjIxNCwgMTMxMDEsIAotICAgIDAsIDE5NDk5OSwgNjUyNjgsIDAsIDAsIDAsIDExMDI3LCAwLCAxMDA1OSwgMTA1MTEsIDQyMDc1LCA5NzY3LCA3ODksIAotICAgIDE3NDksIDc4ODkwLCAxMjcwNzEsIDAsIDMyMCwgMCwgODY0NywgMCwgMzA0OSwgMCwgNjQ3MSwgNDIwNzEsIDQzMTU2LCAKLSAgICA5OTI1LCAxMjczNTYsIDEyNzM1NSwgNjY0NzgsIDQ5NjAsIDU1NDksIDEyNzM1OSwgMTI3MzQ2LCA4NDg1LCA0NjcxLCAKLSAgICA1NDE4LCAxMjczNTAsIDMzNTEsIDEyNzAwNiwgMTI3MzUxLCAxMDYxMCwgNTQxNCwgMzA2NCwgNjIxMiwgNDI4NiwgNTQyMSwgCi0gICAgMTI3MzQ0LCA5NTU0LCAwLCAxMjc3OTQsIDEyNzEwOSwgNjY1MywgMTI4ODExLCAwLCA2NDUxMCwgNjIxMywgMTI4ODUsIDAsIAotICAgIDExOTA0NSwgNjQ3MjAsIDAsIDEyMDc1OSwgNzM3NDEsIDEyNjAzLCA3MTMxLCAxMTQzMCwgNDU2NiwgNzg0MywgOTMxNywgCi0gICAgMzgwMSwgMTAzNDIsIDEwNDA2LCAwLCAxMTkyNTksIDQyNTc2LCAwLCA1MjAwLCAwLCA5MTc5NDgsIDAsIDkxODMsIAotICAgIDEyNzM2MSwgNzQ0NTgsIDczODI1LCAzOTUsIDU0ODIsIDUxOTgsIDg3ODYsIDEwMzkwLCA3NDIwMiwgNTE5NiwgNDMyMjQsIAotICAgIDYxMTMsIDQyMDA5LCA1MjA1LCAwLCA0MzMwNywgMCwgMTE4OTczLCAwLCAxMjEzNCwgMCwgMCwgMTE4ODQzLCA5MTI2LCAKLSAgICA0MzUsIDAsIDEyMDE0LCAxMDM3NywgODA5MywgOTA3OSwgMzIwMywgMTkyLCA2NTEwOSwgMzM4NSwgMCwgNjQ0MzAsIDUzODMsIAotICAgIDEwMjk0LCAxMDMyNiwgMTI4MTc4LCA1NzM4LCAwLCAzMzM2LCA3ODM1NSwgNTM2MSwgMzYyMywgNDExNTksIDAsIDY4MTEyLCAKLSAgICA3ODcyLCA4NTgxLCAwLCAxMjYwLCAzMTQ5LCA1MzU5LCAwLCAwLCA3OTE0LCA1MzU3LCA5MjE3MCwgMTI4NjU5LCAyNjI0LCAKLSAgICA1MzY0LCAwLCAxMTQzMSwgMTIwMDMwLCA5MTAxLCAxMTA1OCwgNzgyODgsIDAsIDc4MjkzLCA0MjI3MSwgNzgyODksIAotICAgIDQyOTE3LCAxMjA3OTMsIDAsIDY1NTY2LCA2NzE3LCAxMDYxOSwgNDMzNjAsIDc4Mzg1LCA3ODM4NCwgNzgzODMsIDc4MzgyLCAKLSAgICA3ODM4MSwgNzgzODAsIDc4Mzc5LCA5MzE5LCA3MDk3LCAxMTkwNTUsIDc3OTA2LCAzMjMyLCA3MzgyNCwgNzQ1ODEsIAotICAgIDEyMDYzMiwgMCwgMCwgNDE4ODksIDkyNDUzLCAwLCAxMTYxLCA0MTg5NSwgNzQxMDMsIDk3MDEsIDg2MjIsIDAsIDAsIAotICAgIDczODE5LCAxMjA1ODgsIDUwMTIsIDc3OTEyLCA0MTM2MiwgMCwgNzgyOTYsIDExOTIxLCAwLCAxMTc2OSwgMCwgNjg2MDksIAotICAgIDQxMzY0LCAwLCA3NDIyOCwgNDEzNTIsIDQxMzYxLCAwLCA0MTM2NiwgMCwgMzM1NiwgMCwgOTE3LCA2ODQyMiwgMTE5OTE1LCAKLSAgICA3MTM0LCA4MTk5LCA3ODM4OSwgMTE5OTE3LCA2NzcsIDExOTkxNiwgMCwgMTE5OTMyLCAxMjcxNjksIDAsIDAsIDAsIDMzNDksIAotICAgIDc0MTI1LCA3MDIyLCA4OTI3LCA0NzM5LCAwLCA1ODAyLCAwLCA4NjE1LCAwLCAwLCA0OTEsIDAsIDEwMTkwLCAxMjA2OTgsIAotICAgIDY1ODM3LCAxMjg4MjAsIDg0MjYsIDExMDkyLCA5ODkxLCAwLCA0MjQ5NywgNzExMywgNzU4NiwgNDIzMDUsIDEwODUyLCAwLCAKLSAgICAwLCA0NjA2LCA2ODQ0OCwgOTA5NSwgNzc0MSwgMTI2ODQsIDQxODg1LCAxMDQ2LCA3MTI0LCAwLCAwLCA1ODE1LCA1MTcxLCAKLSAgICA2NTUzOSwgNjg2MTIsIDY5MzIsIDc4MzE1LCA0MjM5NCwgNDE4NzgsIDc0ODQ5LCAxMjA2MjEsIDAsIDUxNjksIDExOTM1LCAKLSAgICAwLCAwLCAzMTc1LCAxMjA4MjIsIDE1MzcsIDEyMDgwNCwgNTE3NiwgODkwNSwgNDEzNiwgNDg3MSwgNzgyODcsIDAsIDk4MzMsIAotICAgIDAsIDAsIDExMjgsIDY1OTIwLCAwLCA5NzExLCA3MDU3LCA5NDA4LCA5NDA5LCA5NDEwLCA5NDExLCAzNjYyLCA5NDEzLCAKLSAgICAzMzc4LCA5NDE1LCA5NDE2LCA5NDE3LCA5NDE4LCA2MzIwLCA5NDIwLCA5NDIxLCA1ODk3LCA5NDIzLCA1MTY1LCA1MTI2LCAKLSAgICA0MTM4NSwgMCwgNDEzODksIDkxNzkzOCwgODk1NSwgMzM3NCwgOTQwMCwgOTQwMSwgNzExOSwgOTQwMywgOTQwNCwgMzUwNywgCi0gICAgOTQwNiwgNzYyOSwgMCwgMTk5MjUsIDQyNjY5LCA2ODQ2MywgMTgzLCA0Mzk4NSwgMjYzMSwgMCwgMTA2MjcsIDQxMTMwLCAKLSAgICA3ODI2MCwgMzk5NiwgMCwgNzg3NzEsIDAsIDExOTMxMywgMTE5MzA3LCA3ODc2OCwgNjU4MCwgNDMzMiwgNjQ4MjUsIAotICAgIDY2MzI5LCAxMDcyNiwgNjY2ODYsIDQxMTI1LCA1ODk5LCA0MTM2NSwgOTE3OTE4LCAxMjA4NSwgMCwgNTc0LCA5MTc5MjIsIAotICAgIDc3ODI1LCA3MzgyOCwgNTQ0OCwgNDEwNTgsIDU0NDYsIDY5NzA5LCA0MTMyMiwgNDIyMTEsIDU0NDIsIDQxOTAsIDc3ODM0LCAKLSAgICA3NzgzNSwgNTQ1MSwgNzc4MzMsIDM2MTYsIDc3ODI4LCA3NzgzNywgNzc4MzgsIDc3MDgsIDc3ODM2LCAxMDg1OSwgNjU4NjcsIAotICAgIDEwMzQ1LCAxMDQwOSwgNDE5MSwgMCwgNzc4NDQsIDczODAwLCA0MjE4MSwgNzc4NDMsIDc3ODM5LCAyMDYwLCAwLCA3MTExLCAKLSAgICAxMTc4OCwgNjU1ODcsIDY4MTI5LCAxMDQxNSwgNzQxMDIsIDAsIDIwNSwgMCwgMTAzNTEsIDExOTA3NiwgMCwgOTg2MiwgCi0gICAgNjU4OCwgNDMyNTcsIDY0Njk3LCA3Mzk5OCwgNDEzNTUsIDU1MDUsIDExOTE1NCwgNTUwMywgODAyMSwgMCwgNzEyNSwgCi0gICAgOTgxOSwgNDEzNTcsIDgwMTEsIDQyODg1LCA1NTA3LCAxMjA0NCwgOTI2MzYsIDAsIDEwMDI2LCA1NDcyLCA3MTA5LCAxMTkxLCAKLSAgICAxMzEwNiwgNTQ3MCwgMTAzMjksIDU0NzYsIDg5OTEsIDY2MzIyLCA2OTc3OCwgNzgyNjcsIDQyODc0LCA4NTUwLCA0Mjg3NiwgCi0gICAgNTU5MiwgMjkxOSwgMCwgMjY3NSwgNTU5NSwgNzg0MTEsIDAsIDQzNjcsIDAsIDAsIDU0NzgsIDU5MDQsIDU1OTQsIDAsIAotICAgIDc0MTUwLCA3MjkxLCA1NTkwLCA3Nzg0OSwgMTMwNjcsIDExODkwOSwgMTIwMzcyLCAwLCA5NzMxLCA2OTczMSwgNjQ2MzMsIAotICAgIDc3ODU3LCA3Nzg1NCwgNzc4NTUsIDc3ODUyLCA3Nzg1MywgNzc4NTAsIDEwNzUwLCA0MzcxNCwgNzc4NTgsIDcxMzcsIDAsIAotICAgIDEyODI5NiwgMTI4ODcsIDEwNTUxLCAxOTQ1NjQsIDc3ODY2LCA3Nzg2NywgNzc4NjQsIDc3ODY1LCA5OTI5LCA1MTk5LCAKLSAgICA5OTM2LCAxMTIwLCA0MjM4NywgMCwgMTQ0NCwgOTQ4NiwgNzU1NCwgNjU4MzksIDU1MjUyLCAwLCAxNDQyLCAwLCA1ODk0LCAKLSAgICAwLCAwLCA0MTE3MSwgOTI1MTEsIDc0MzEzLCAwLCAxMzE2MiwgMCwgMzMzNCwgMCwgMTE4ODAzLCA3Nzg4MSwgNjYwMjIsIDAsIAotICAgIDAsIDE2NTEsIDAsIDg4NjEsIDAsIDAsIDExNDIsIDAsIDgyNzEsIDAsIDAsIDAsIDEyOTAzLCAwLCA0MDAyLCA0MzYyNiwgCi0gICAgMTA0NDIsIDEwNjc2LCAzMzQ0LCAwLCAwLCAxMjkyMCwgMTk0NTYwLCAwLCAwLCA2NjY0MiwgMTI3NywgMCwgNzg3MSwgMCwgCi0gICAgMCwgNzg4NTMsIDAsIDc4ODU0LCAxMjAzNjAsIDAsIDExNzg0LCAwLCA3ODAxMiwgNDcwMCwgNjYzNjYsIDc4ODU4LCAKLSAgICAxMjAzNTksIDExMDEyLCAwLCA3ODg1NiwgOTI0MDAsIDc3ODc5LCA0OTczLCA4Nzg0LCA3Nzg3NywgNzQ4MDQsIDc3ODc0LCAKLSAgICA3Nzg2OSwgNzc4NzEsIDQyNDQwLCAwLCA0MzExOCwgMCwgNDIzNjQsIDY3NzQsIDY3NzMsIDkxNzU2MCwgMTIwMzY5LCAKLSAgICAxMDM0NiwgMTA0MTAsIDc4ODU5LCA5MjQzLCAyNDY0LCA3NDI2MywgNjEwOCwgMzM3MiwgMCwgNjI0NywgNDMxMTcsIAotICAgIDc0NTI2LCA3MTIxLCA3NDE2NiwgMCwgMTIwMzU1LCA5MjUzNywgMCwgMCwgMTk1MDM0LCAwLCAwLCAwLCA3NDIxNywgMzM1NCwgCi0gICAgMTk1MDM3LCA0MTkyLCA5Mjg5LCAxMTg5OTksIDQxMTkxLCAzODc2LCAwLCAxMjc5ODMsIDEyMDY2MCwgNDM2OTYsIDQzMzgwLCAKLSAgICAwLCAwLCAwLCAwLCAxMTYwMywgMCwgMCwgNjU4OSwgMTI4NTg4LCAxOTQ2NzksIDAsIDAsIDAsIDAsIDAsIDQyNTcyLCAKLSAgICAxMjgyNjQsIDEwNjMwLCA3NDgyNywgMTk2MywgMTE4ODg5LCAxMjc5NzgsIDExNjU0LCAwLCA3NTUwLCAxMDY4NiwgNTkwMywgCi0gICAgMCwgNzgwMDksIDQxMzI5LCA5NjYyLCA5MTc5MzcsIDY0Njk4LCAzMzY2LCAxMDM5OSwgMCwgMCwgMTEwMTMsIDEyNzkyNywgCi0gICAgMTI4MzAwLCAwLCA3ODYyMSwgMTk0NjcyLCA2OTI1LCAwLCAwLCA5MTc5MjksIDAsIDExNTY4LCAwLCA0MzM2NywgNjQ1NzksIAorICAgIDEyNzQ5MCwgOTgzNDMzLCA0MjgxNiwgOTQwMzYsIDY1MTQwLCA3NDc5NywgMCwgODgzMCwgNjU2OCwgNDIzMDAsIDEwNTI0LCAKKyAgICA0MTE3NSwgOTgzNDQwLCA5ODM0MzcsIDk4MzQzOCwgNTI5NiwgOTgzNDM2LCA0MjQ5MiwgNDM0MDIsIDkyNDY2LCAzMzAyLCAKKyAgICAwLCAwLCA2NTE2LCA2NTE1LCA2NTE0LCA2NTEzLCA2NTEyLCAwLCA3ODU2LCA4NjkwLCAwLCAwLCAxMjEyMiwgMTE5NjAyLCAKKyAgICA0Mzk3NiwgMCwgMTc4NSwgNjk5MjUsIDY4NjIyLCA2NTE1MywgMTk0ODEwLCA1MTM4LCAwLCAwLCAxMTg4NjksIDAsIDQ1NDAsIAorICAgIDQxMTgxLCAwLCA2MjAwLCAwLCA1MTM0LCAwLCAzMjIsIDQ2NDMsIDUxMzIsIDAsIDYzODksIDEyODUzMywgNTE0MywgMCwgCisgICAgODc5MCwgMTI4Njk0LCAwLCAxOTQ4MDIsIDAsIDg4NjksIDY5OTE2LCAwLCA0MjA2MCwgNzEzMjYsIDk2NDgsIDE5NDgwNCwgCisgICAgMTI3MDEyLCAxMDI3MCwgMTAyODYsIDEwMzE4LCAxMDM4MiwgNDM1MjksIDY2NDc3LCAwLCAwLCA3NDE3MCwgMCwgMzIzNCwgCisgICAgMCwgMCwgNzQzNzYsIDQzMTM5LCAxMTg4MTUsIDEyNzA4NCwgMTIwNjI3LCA4NzY3LCAwLCA3NDQ4OSwgOTY5NSwgMTIwNzQ2LCAKKyAgICA1MjAxLCAwLCA2MjE1LCAxMjcxNCwgNjIxNCwgMTMxMDEsIDAsIDE5NDk5OSwgNjUyNjgsIDAsIDAsIDAsIDExMDI3LCAwLCAKKyAgICAxMDA1OSwgMTA1MTEsIDQyMDc1LCA5NzY3LCA3ODksIDE3NDksIDc4ODkwLCAxMjcwNzEsIDk4MzY2MSwgMzIwLCAwLCAKKyAgICA4NjQ3LCAwLCAzMDQ5LCAwLCA2NDcxLCA0MjA3MSwgNDMxNTYsIDk5MjUsIDEyNzM1NiwgMTI3MzU1LCA2NjQ3OCwgNDk2MCwgCisgICAgNTU0OSwgMTI3MzU5LCAxMjczNDYsIDg0ODUsIDQ2NzEsIDU0MTgsIDEyNzM1MCwgMzM1MSwgMTI3MDA2LCAxMjczNTEsIAorICAgIDEwNjEwLCA1NDE0LCAzMDY0LCA2MjEyLCA0Mjg2LCA1NDIxLCAxMjczNDQsIDk1NTQsIDAsIDk0MDQ4LCAxMjcxMDksIAorICAgIDY2NTMsIDEyODgxMSwgMCwgNjQ1MTAsIDYyMTMsIDEyODg1LCAwLCAxMTkwNDUsIDY0NzIwLCAwLCAxMjA3NTksIDczNzQxLCAKKyAgICAxMjYwMywgNzEzMSwgMTE0MzAsIDQ1NjYsIDc1MTgsIDkzMTcsIDM4MDEsIDEwMzQyLCAxMDQwNiwgMCwgMTE5MjU5LCAKKyAgICA0MjU3NiwgMCwgNTIwMCwgMTI2NjExLCA5MTc5NDgsIDAsIDkxODMsIDEyNzM2MSwgNzQ0NTgsIDczODI1LCAzOTUsIDU0ODIsIAorICAgIDUxOTgsIDQzNDksIDEwMzkwLCA3NDIwMiwgNTE5NiwgNDMyMjQsIDYxMTMsIDQyMDA5LCA1MjA1LCAwLCA0MzMwNywgMCwgCisgICAgMTE4OTczLCAwLCAxMjEzNCwgMCwgMCwgMTE4ODQzLCA5MTI2LCA0MzUsIDAsIDEyMDE0LCAxMDM3NywgODA5MywgOTA3OSwgCisgICAgMzIwMywgMTkyLCA2NTEwOSwgMzM4NSwgMCwgNjQ0MzAsIDUzODMsIDEwMjk0LCAxMDMyNiwgMTI4MTc4LCA1NzM4LCAKKyAgICA5ODMyMTMsIDMzMzYsIDc4MzU1LCA1MzYxLCAzNjIzLCA0MTE1OSwgMCwgNjgxMTIsIDc4NzIsIDg1ODEsIDAsIDEyNjAsIAorICAgIDMxNDksIDUzNTksIDEyMDEzNCwgMCwgNzkxNCwgNTM1NywgOTIxNzAsIDEyODY1OSwgMjYyNCwgNTM2NCwgMCwgMTE0MzEsIAorICAgIDEyMDAzMCwgOTEwMSwgMTEwNTgsIDc4Mjg4LCAwLCA3ODI5MywgNDIyNzEsIDc4Mjg5LCA0MjkxNywgMTIwNzkzLCAwLCAKKyAgICA2NTU2NiwgNjcxNywgMTA2MTksIDQzMzYwLCA3ODM4NSwgNzgzODQsIDExODMyLCA3ODM4MiwgNzgzODEsIDc4MzgwLCAKKyAgICA3ODM3OSwgOTMxOSwgNzA5NywgMTE5MDU1LCA3NzkwNiwgMzIzMiwgNzM4MjQsIDc0NTgxLCAxMjA2MzIsIDAsIDAsIAorICAgIDQxODg5LCA5MjQ1MywgMCwgMTE2MSwgNDE4OTUsIDc0MTAzLCA5NzAxLCA4NjIyLCAwLCAwLCA3MzgxOSwgMTIwNTg4LCAKKyAgICA1MDEyLCA3NzkxMiwgNDEzNjIsIDY5ODYyLCA3ODI5NiwgMTE5MjEsIDAsIDExNzY5LCAwLCA2ODYwOSwgNDEzNjQsIDAsIAorICAgIDc0MjI4LCA0MTM1MiwgNDEzNjEsIDAsIDQxMzY2LCAwLCAzMzU2LCAwLCA5MTcsIDY4NDIyLCAxMTk5MTUsIDcxMzQsIAorICAgIDgxOTksIDc4Mzg5LCAxMTk5MTcsIDY3NywgMTE5OTE2LCAwLCAxMTk5MzIsIDEyNzE2OSwgMCwgMCwgMCwgMzM0OSwgCisgICAgNzQxMjUsIDcwMjIsIDg5MjcsIDQ3MzksIDAsIDU4MDIsIDAsIDg2MTUsIDAsIDAsIDQ5MSwgMTI4ODE5LCAxMDE5MCwgCisgICAgMTIwNjk4LCA2NTgzNywgMTI4ODIwLCA4NDI2LCAxMTA5MiwgOTg5MSwgMCwgNDI0OTcsIDcxMTMsIDc1ODYsIDQyMzA1LCAKKyAgICAxMDg1MiwgMCwgMCwgNDYwNiwgNjg0NDgsIDkwOTUsIDc3NDEsIDEyNjg0LCA0MTg4NSwgMTA0NiwgNzEyNCwgMCwgMCwgCisgICAgNTgxNSwgNTE3MSwgNjU1MzksIDY4NjEyLCA2OTMyLCA3NDI2NywgNDIzOTQsIDQxODc4LCA3NDg0OSwgMTIwNjIxLCAwLCAKKyAgICA1MTY5LCAxMTkzNSwgMCwgMCwgMzE3NSwgMTIwODIyLCAxNTM3LCAxMjA4MDQsIDUxNzYsIDg5MDUsIDQxMzYsIDQ4NzEsIAorICAgIDc4Mjg3LCAwLCA5ODMzLCAwLCAwLCAxMTI4LCA2NTkyMCwgMCwgOTcxMSwgNzA1NywgOTQwOCwgOTQwOSwgOTQxMCwgOTQxMSwgCisgICAgMzY2MiwgOTQxMywgMzM3OCwgOTQxNSwgOTQxNiwgOTQxNywgOTQxOCwgNjMyMCwgOTQyMCwgOTQyMSwgNTg5NywgOTQyMywgCisgICAgNTE2NSwgNTEyNiwgNDEzODUsIDAsIDQxMzg5LCA5MTc5MzgsIDg5NTUsIDMzNzQsIDk0MDAsIDk0MDEsIDcxMTksIDk0MDMsIAorICAgIDk0MDQsIDM1MDcsIDk0MDYsIDc2MjksIDk4MzYxNywgMTk5MjUsIDQyNjY5LCA2ODQ2MywgMTgzLCA0Mzk4NSwgMjYzMSwgMCwgCisgICAgMTA2MjcsIDQxMTMwLCA3ODI2MCwgMzk5NiwgMCwgNzg3NzEsIDAsIDExOTMxMywgMTE5MzA3LCA3ODc2OCwgNjU4MCwgCisgICAgNDMzMiwgNjQ4MjUsIDY2MzI5LCAxMDcyNiwgNjY2ODYsIDQxMTI1LCA1ODk5LCA0MTM2NSwgOTE3OTE4LCAxMjA4NSwgMCwgCisgICAgNTc0LCA5MTc5MjIsIDc3ODI1LCA3MzgyOCwgNTQ0OCwgNDEwNTgsIDU0NDYsIDY5NzA5LCA0MTMyMiwgNDIyMTEsIDU0NDIsIAorICAgIDQxOTAsIDc3ODM0LCA3NzgzNSwgNTQ1MSwgNzc4MzMsIDM2MTYsIDc3ODI4LCA3NzgzNywgNzc4MzgsIDc3MDgsIDc3ODM2LCAKKyAgICAxMDg1OSwgNjU4NjcsIDEwMzQ1LCAxMDQwOSwgNDE5MSwgMCwgNzc4NDQsIDczODAwLCA0MjE4MSwgNzc4NDMsIDc3ODM5LCAKKyAgICAyMDYwLCAwLCA3MTExLCAxMTc4OCwgNjU1ODcsIDY4MTI5LCAxMDQxNSwgNzQxMDIsIDAsIDIwNSwgMCwgMTAzNTEsIAorICAgIDExOTA3NiwgMCwgOTg2MiwgNjU4OCwgNDMyNTcsIDY0Njk3LCA3Mzk5OCwgNDEzNTUsIDU1MDUsIDExOTE1NCwgNTUwMywgCisgICAgODAyMSwgMCwgNzEyNSwgOTgxOSwgNDEzNTcsIDgwMTEsIDQyODg1LCA1NTA3LCAxMjA0NCwgOTI2MzYsIDAsIDEwMDI2LCAKKyAgICA1NDcyLCA3MTA5LCAxMTkxLCAxMzEwNiwgNTQ3MCwgMTAzMjksIDU0NzYsIDg5OTEsIDY2MzIyLCA2OTc3OCwgNzgyNjcsIAorICAgIDQyODc0LCA4NTUwLCA0Mjg3NiwgNTU5MiwgMjkxOSwgMCwgMjY3NSwgNTU5NSwgNzg0MTEsIDQzNzYyLCA0MzY3LCAwLCAwLCAKKyAgICA1NDc4LCA1OTA0LCA1NTk0LCAwLCA3NDE1MCwgNzI5MSwgNTU5MCwgNDM3NjEsIDEzMDY3LCAxMTg5MDksIDEyMDM3MiwgCisgICAgOTgzMTA4LCA5NzMxLCA2OTczMSwgNjQ2MzMsIDc3ODU3LCA3Nzg1NCwgNzc4NTUsIDc3ODUyLCA3Nzg1MywgNzc4NTAsIAorICAgIDEwNzUwLCA0MzcxNCwgNzc4NTgsIDcxMzcsIDAsIDEyODI5NiwgMTI4ODcsIDEwNTUxLCAxOTQ1NjQsIDc3ODY2LCA3Nzg2NywgCisgICAgNzc4NjQsIDc3ODY1LCA5OTI5LCA1MTk5LCA5OTM2LCAxMTIwLCA0MjM4NywgMCwgMTQ0NCwgOTQ4NiwgNzU1NCwgNjU4MzksIAorICAgIDU1MjUyLCA3Mzk3MiwgMTQ0MiwgMCwgNTg5NCwgNzAwNjksIDAsIDQxMTcxLCA5MjUxMSwgNzQzMTMsIDAsIDEzMTYyLCAwLCAKKyAgICAzMzM0LCAxOTUwMTAsIDExODgwMywgNzc4ODEsIDY2MDIyLCAwLCAwLCAxNjUxLCAxMjg3NzEsIDg4NjEsIDAsIDAsIDExNDIsIAorICAgIDAsIDgyNzEsIDAsIDk4MzA1OCwgMTI2NjQ1LCAxMjkwMywgMCwgNDAwMiwgNDM2MjYsIDEwNDQyLCAxMDY3NiwgMzM0NCwgMCwgCisgICAgMCwgMTI5MjAsIDE5NDU2MCwgMCwgMCwgNjY2NDIsIDEyNzcsIDAsIDc4NzEsIDAsIDAsIDc4ODUzLCAwLCA3ODg1NCwgCisgICAgMTIwMzYwLCAwLCAxMTc4NCwgMCwgNzgwMTIsIDQ3MDAsIDY2MzY2LCA3ODg1OCwgMTIwMzU5LCAxMTAxMiwgMCwgNzg4NTYsIAorICAgIDkyNDAwLCA3Nzg3OSwgNDk3MywgODc4NCwgNzc4NzcsIDc0ODA0LCA3Nzg3NCwgNzc4NjksIDc3ODcxLCA0MjQ0MCwgMCwgCisgICAgNDMxMTgsIDAsIDQyMzY0LCA2Nzc0LCA2NzczLCA5MTc1NjAsIDEyMDM2OSwgMTAzNDYsIDEwNDEwLCA3ODg1OSwgOTI0MywgCisgICAgMjQ2NCwgNzQyNjMsIDYxMDgsIDMzNzIsIDAsIDYyNDcsIDQzMTE3LCA3NDUyNiwgNzEyMSwgNzQxNjYsIDAsIDEyMDM1NSwgCisgICAgOTI1MzcsIDAsIDAsIDE5NTAzNCwgMCwgMCwgMCwgNzAwODMsIDMzNTQsIDE5NTAzNywgNDE5MiwgOTI4OSwgMTE4OTk5LCAKKyAgICA0MTE5MSwgMzg3NiwgMCwgNzAwNjcsIDEyMDY2MCwgNDM2OTYsIDQzMzgwLCAwLCA5ODMwOTEsIDAsIDAsIDExNjAzLCAKKyAgICA5ODM5NDUsIDAsIDY1ODksIDEyODU4OCwgMTk0Njc5LCAwLCAwLCA5ODM2OTEsIDAsIDAsIDQyNTcyLCAxMjgyNjQsIAorICAgIDEwNjMwLCA3NDgyNywgMTk2MywgMTE2MjIsIDEyNzA5OCwgMTE2NTQsIDAsIDc1NTAsIDEwNjg2LCA1OTAzLCAwLCA3ODAwOSwgCisgICAgNDEzMjksIDk2NjIsIDkxNzkzNywgNjQ2OTgsIDMzNjYsIDEwMzk5LCAwLCA1NTQyLCAxMTAxMywgMTI3OTI3LCAxMjgzMDAsIAorICAgIDAsIDc4NjIxLCAxOTQ2NzIsIDY5MjUsIDAsIDAsIDkxNzkyOSwgMCwgMTE1NjgsIDk4MzY2NCwgNDMzNjcsIDY0NTc5LCAKICAgICA5MTc5MzAsIDc4NTIsIDAsIDAsIDY3NTQsIDYzMTIsIDAsIDY0NjcyLCA2NTI5NiwgMCwgMTE4OTU3LCAwLCA0MTYsIAotICAgIDEyMjk2LCA2ODQ1NywgNzM4MzQsIDY4MTc3LCAxMTA1MCwgMTA5ODQsIDkyMjA4LCAwLCAwLCA5MjE4MiwgMCwgMCwgOTUzMiwgCi0gICAgNjYzNTUsIDAsIDAsIDkxNzkyNSwgNjQzNDMsIDE5NTAzMiwgMTI4MjgxLCAxOTUwMzEsIDAsIDAsIDE5NTA1NywgMTE0NDUsIAotICAgIDAsIDIxMTIsIDE5NTA1NiwgMTI4ODE0LCAxMDE4NSwgMTAyMSwgMTI4MTMwLCA5NTA3LCAxMDIxMCwgNzQ1NDQsIDgwMjMsIAotICAgIDEyMDAsIDEyMjQzLCA3ODAwMSwgNTI4MiwgNzgwMDMsIDk2MjQsIDExNTQ1LCAwLCAxMjA0OTMsIDMzNDMsIDQ0MjQsIAotICAgIDExMDQ3LCAxODg1LCA0MzI2OCwgMzg5NiwgNzg2MjYsIDY2NDk3LCAyOTQ3LCAzOTIsIDc4OTQsIDQzOTEsIDY4MTM5LCAwLCAKLSAgICAxMzA1OSwgNzQ4MTYsIDc3OTk4LCAzMzgxLCA3OTQyLCAwLCA2OTIxOSwgMCwgNjQ3NTcsIDAsIDM5MTMsIDAsIDAsIAotICAgIDc4MjM1LCA3MDQ0LCAxMjY1LCAwLCA2MzA5LCA3MDQ1LCA3MTc1LCA3MDQ3LCA3ODIzOSwgMTE3OTEsIDAsIDAsIDgyMjEsIAotICAgIDc4MzA3LCA0MTg2NCwgMCwgMCwgMCwgMCwgMTY3LCAwLCA3ODMwMSwgMCwgNzQyMTEsIDQxODk3LCA2ODQ3NywgMCwgCi0gICAgOTE3NTgzLCAwLCAwLCAyNDkzLCAwLCAxMTg4MTEsIDAsIDAsIDY0MzU0LCAwLCA4Nzc3LCAwLCA0MDYsIDg4ODQsIDIzODUsIAotICAgIDAsIDkyNDUwLCAwLCA5MTc1NzMsIDQzMDMwLCA0MjAyNywgMTIxMTQsIDAsIDkxNzU3OSwgNjQ5MzYsIDE5NDY5NSwgMCwgCi0gICAgMTIwNjI5LCAxMDU2MSwgMCwgODM2NSwgMTIwNTM5LCAwLCA2NTg0MSwgMTIwNzg3LCAxMTYwMSwgMCwgNzQxMjEsIDAsIAotICAgIDkxNzU3NSwgNzgzNCwgNzQxNTksIDAsIDkxNzU3NCwgMTAyOTgsIDY2MjQsIDQ5MDgsIDkxNzU5NiwgMTYzOSwgMCwgMCwgCi0gICAgNzQxNTcsIDYzMjcsIDY3MjQsIDAsIDEyODA4NiwgOTI1NjYsIDAsIDQ4MTcsIDc4NDQ2LCAxOTQ3NTksIDkyNTM2LCA3MDQzLCAKLSAgICA5NjAwLCAxMTAyMiwgMCwgMCwgMCwgMCwgMCwgMCwgNzU0OCwgNjQ3OTQsIDQyMDUwLCAxMjI5MSwgNTUyODksIDE5NDc2MSwgCi0gICAgMTIzNDMsIDY1NywgMTk1MDU0LCA0MjcwNSwgNDQ2MSwgMTEzNCwgMTgzOCwgNzg0MzgsIDIwNTcsIDAsIDQ0NjgsIDAsIDAsIAotICAgIDAsIDQ0NTYsIDUyMDYsIDEwNzIwLCAwLCA0MjUyMywgMTI3NTIwLCAwLCAwLCA5MTc1OTUsIDY1NTUwLCAyNjAsIDQ4MTYsIAotICAgIDY3NjU4LCAxMDY4NywgMCwgNDgyMSwgNDQ2NiwgMCwgMTk1MDQzLCA0ODE4LCAxOTUwNDgsIDQxNDAzLCAxMTk5NzcsIDAsIAotICAgIDAsIDQxNDA2LCA0MzI3MywgNzQxNjAsIDExOTk4MywgNzM5MzksIDkyNjM4LCAxMTk5ODQsIDExOTk3OSwgNDE0MDQsIAotICAgIDExNjUsIDExOTk4MCwgNDQ1MSwgMTMwODcsIDAsIDExMjg0LCAxMTk5ODcsIDczODU1LCA2NTE1NSwgNDMwMTQsIDU0MzksIAotICAgIDkzNjMsIDEyNzU1OCwgMzM3NSwgMTI4ODY5LCA1OTAwLCAwLCA3ODg5LCAyNzIyLCA0MjI2MiwgMCwgMCwgMTI4Nzc0LCAwLCAKLSAgICAwLCAwLCAxMjc4MTAsIDExNDAxLCAwLCAwLCA2ODQ1OSwgMCwgMCwgMCwgMCwgNjU0MzgsIDAsIDcyODAsIDEyNzg4NywgMCwgCi0gICAgMTI3MzgxLCA0ODY4LCAxMTk5NjcsIDExOTk2NiwgMTE4Nzk4LCAwLCAwLCA0MzE2MSwgMCwgOTIzNjAsIDAsIDUxODIsIDAsIAotICAgIDEyMDU0MiwgMCwgMCwgNDIyNiwgMTIwNzk4LCAxMjEzNSwgNTczMiwgNDQ2NCwgMCwgMCwgOTc3LCA0NDU4LCAwLCAwLCAKLSAgICA2NDc3MCwgNzQ4MzgsIDAsIDM0NCwgMCwgMTk0NzkwLCAxMzk1LCA2NDI3OSwgMCwgOTIyNDAsIDAsIDc4NiwgMCwgNDMxNzQsIAotICAgIDY0MzQwLCAwLCAwLCAxMjA3MjMsIDQzMDI2LCA3NjEyLCAxMDEzMiwgNjQ0MTMsIDY1MDI1LCAwLCAwLCAwLCAwLCAwLCAKLSAgICA2ODQ0NCwgMCwgOTI0MzcsIDAsIDExOTE2MCwgMTAyMDQsIDkyNjU2LCAwLCAxMjc4MDksIDAsIDEzOTksIDAsIDY1MjE3LCAKLSAgICAwLCA4ODUyLCAwLCAyNDEsIDEyODc4MCwgNDkwNywgMCwgMCwgNzkzMiwgOTcyNywgMTI4ODczLCA3NDI1NSwgODc0OCwgMCwgCi0gICAgMCwgMCwgMCwgNDI3ODAsIDAsIDAsIDAsIDQyMTcsIDAsIDg2NTAsIDAsIDAsIDAsIDAsIDExODg3MiwgNDMwOTksIDM5NjUsIAotICAgIDExOTExOSwgNjcxOSwgMCwgMTMzMDAsIDc4NDM5LCAxMjgyNjEsIDQzMDU3LCA2NjU4OCwgMTE4OTkxLCAwLCAwLCA3MzgxNSwgCi0gICAgNDQyMCwgMCwgNjQxMCwgNzc2MCwgMCwgMCwgMCwgMCwgMCwgNzI5NCwgMCwgMCwgMCwgOTA2NiwgMCwgMTE5OTMsIDQzMTg4LCAKLSAgICAyNjI2LCA3NzYyLCAwLCAwLCAwLCA5MjYwMSwgNDI4MjUsIDQxODU0LCA1MzA0LCAwLCA3ODUxNiwgNjkxOSwgODYxOSwgCi0gICAgMTE5NjU1LCAxMDAzOCwgNjY0NTQsIDk1OTIsIDQyODUxLCAxMjY5OTMsIDE1NDIsIDkyMzAzLCAwLCAwLCAwLCAwLCAKLSAgICA3NDMxMSwgNzg0OTcsIDAsIDEwMTgxLCAwLCA0MzYyNCwgMCwgNzc3OSwgMCwgMTAxOTUsIDk0NzksIDYwMjksIDAsIAotICAgIDkyMjY4LCA5Njg5LCAwLCAwLCA4OTkzLCA2NjM1OCwgMCwgNDIzNzgsIDMzNjgsIDYwNiwgMTI3MDMwLCA3Njk3LCA2OTIzNywgCi0gICAgNjk3ODcsIDIwMzAsIDAsIDYwMjcsIDgzNzAsIDQzMjIsIDAsIDY1MjA3LCAwLCAwLCAwLCAwLCAwLCAyNzM1LCA0MjgzMSwgCi0gICAgNzc5MzUsIDEyNzEyMCwgNzQ4NjYsIDg4ODEsIDExOTA0NywgMCwgMCwgNzM5NDYsIDAsIDAsIDAsIDY4MTQwLCAwLCA5NTc2LCAKLSAgICAxMjg4NzIsIDMzNDcsIDQxNjAsIDUxNTQsIDU1Mjg4LCAzNzk0LCA2NjU2NCwgODUzMCwgMTI3MDYzLCA3NzA5LCA0MTExMiwgCi0gICAgMCwgNjY1NjAsIDQyMDQxLCA0NTcyLCAxMjg3NiwgNjY1NjEsIDAsIDY3NTgsIDAsIDE2MTUsIDU4NTUsIDgwOSwgMCwgCi0gICAgOTIyODMsIDEyODMxNiwgMTI4MDA0LCA1Nzk5LCAwLCAwLCAwLCA3MjYwLCAwLCA0MzAzMSwgNjQ0MjUsIDY1MTI4LCAKLSAgICA3ODgxOSwgNjQzODYsIDY1MjU3LCAwLCA2ODYxNiwgMTIwNjA3LCA5MzQ3LCAxMjgwNjcsIDY1MzIsIDAsIDAsIDAsIAotICAgIDEyNzA2MCwgNjU4MjgsIDAsIDI4MywgNjg2NjUsIDc4ODEzLCA1MzIsIDc4NjYzLCAwLCAwLCAxMjA2MDksIDAsIDMzNzAsIAotICAgIDAsIDExMzYxLCA1NDQzLCA3ODc3OCwgODE1MywgNzM3NjcsIDAsIDEwNzQxLCAwLCAwLCAwLCAwLCA2NTQ5NSwgNjQ3MDYsIAotICAgIDAsIDQzMzQ0LCAwLCA3MTQ0LCA5NDY2LCA3ODg2NiwgOTgyNCwgMCwgMCwgMCwgMCwgOTE1LCA0MzQyNSwgMCwgMCwgMCwgMCwgCi0gICAgMTI3MTc4LCA0MzI2NCwgMCwgMCwgMCwgMCwgNzg4NjQsIDY3MzAsIDc4ODYyLCA2ODE2MSwgNjQ1NTAsIDUxODYsIDEyODkwLCAKLSAgICAxMjc4MzcsIDAsIDEyMTA4LCAwLCA2NTEyNCwgNDMxMjcsIDY2MDQzLCAwLCA2MzI2LCA0MzEwNywgNzc4MjYsIDAsIAotICAgIDQyNTYyLCAwLCAwLCAwLCAxMjg1MjAsIDExNDg1LCA2MTAzLCAxMjcxMjMsIDAsIDExNzE4LCAwLCAxMjg4OSwgOTI2NTcsIAotICAgIDEyNzEzNywgMCwgMCwgMCwgNTUyNDUsIDAsIDE2MzAsIDEyODIzMiwgNjU0ODMsIDAsIDEyNTY1LCAwLCA2NTQ3NiwgCi0gICAgMTIwMDEzLCAwLCAxMTk1NTQsIDkyODMsIDc3MDAsIDkxNzUzNywgOTY5MCwgNjU0OTksIDAsIDY0NTkzLCA1MTIsIDMzNzYsIAotICAgIDY4MjEwLCAwLCAwLCA3Nzg5MiwgNjMyLCAxMjk0MCwgNzc4OTEsIDQyNTI5LCA3ODU4NywgMCwgNTk1NywgMTEwNTkzLCAKLSAgICA4OTI2LCAwLCAwLCAxMjgyNzMsIDEwNzQ1LCAxMDE3NCwgNzM3OSwgNjQ1ODEsIDUzODYsIDEyMDY4NiwgMTE3MTMsIAotICAgIDEwNjMzLCA2OTcwOCwgNTA1NiwgMCwgMCwgMCwgMTIwNzczLCAwLCA5ODEyLCAwLCA0NDYwLCAwLCAwLCAwLCAxMjgwMzgsIAotICAgIDAsIDAsIDEyNzE3NCwgNjQyNzgsIDkyMzcwLCA0MzQ2NiwgMCwgMCwgNjQzODksIDI5NTMsIDczODc5LCAxODAxLCAxMjgzNSwgCi0gICAgMTE5MDI5LCAwLCA3MzgyMywgMCwgNjYzNzUsIDIwODUsIDcwMiwgNDI1NzksIDc3ODg0LCA3Nzg4NSwgMTMwNzQsIDc3ODgzLCAKLSAgICAwLCAwLCAxMjg1NzAsIDEyMTA2LCAwLCA3NDIwNywgMTc1NSwgMTA0ODIsIDEyODYzLCA3Nzg5OCwgMTE2MywgMjk1MSwgCi0gICAgOTUyMiwgNzQwNzksIDc4MjY2LCAxMjA2NzQsIDAsIDMzODQsIDY5MjI3LCAxMDcwMiwgODMwLCA3NzkwMiwgNzc4OTksIAorICAgIDEyMjk2LCA2ODQ1NywgNzM4MzQsIDY4MTc3LCAxMTA1MCwgMTA5ODQsIDkyMjA4LCAwLCAwLCA5MjE4MiwgMCwgOTgzNjA1LCAKKyAgICA5NTMyLCA2NjM1NSwgMCwgOTgzMjI4LCA5MTc5MjUsIDY0MzQzLCAxOTUwMzIsIDEyODI4MSwgMTk1MDMxLCAwLCAxOTUwMzAsIAorICAgIDE5NTA1NywgMTE0NDUsIDAsIDIxMTIsIDE5NTA1NiwgMTI4ODE0LCAxMDE4NSwgMTAyMSwgMTI4MTMwLCA5NTA3LCAxMDIxMCwgCisgICAgNzQ1NDQsIDgwMjMsIDEyMDAsIDEyMjQzLCA3ODAwMSwgNTI4MiwgNzgwMDMsIDk2MjQsIDExNTQ1LCAwLCAxMjA0OTMsIAorICAgIDMzNDMsIDQ0MjQsIDExMDQ3LCAxODg1LCA0MzI2OCwgMzg5NiwgNzg0NDQsIDY2NDk3LCAyOTQ3LCAzOTIsIDc4OTQsIAorICAgIDQzOTEsIDY4MTM5LCA5ODMwNjIsIDEzMDU5LCA3NDgxNiwgNzc5OTgsIDMzODEsIDc5NDIsIDAsIDY5MjE5LCAwLCA2NDc1NywgCisgICAgMCwgMzkxMywgMCwgMCwgNzgyMzUsIDcwNDQsIDEyNjUsIDAsIDYzMDksIDcwNDUsIDcxNzUsIDcwNDcsIDc4MjM5LCAKKyAgICAxMTc5MSwgMCwgMCwgODIyMSwgNzgzMDcsIDQxODY0LCAwLCAwLCAwLCAwLCAxNjcsIDk4Mzg5NywgNzgzMDEsIDk4MzY0NCwgCisgICAgNzQyMTEsIDQxODk3LCA2ODQ3NywgMCwgOTE3NTgzLCA5ODM2MjUsIDk0MDY1LCAyNDkzLCAwLCAxMTg4MTEsIDAsIDAsIAorICAgIDY0MzU0LCAwLCA4Nzc3LCAwLCA0MDYsIDg4ODQsIDIzODUsIDAsIDkyNDUwLCAwLCA5MTc1NzMsIDQzMDMwLCA0MjAyNywgCisgICAgMTIxMTQsIDAsIDkxNzU3OSwgNjQ5MzYsIDE5NDY5NSwgMCwgMTIwNjI5LCAxMDU2MSwgMCwgODM2NSwgMTIwNTM5LCAKKyAgICA5ODM3NjUsIDY1ODQxLCAxMjA3ODcsIDExNjAxLCAwLCA3NDEyMSwgMCwgOTE3NTc1LCA3ODM0LCA3NDE1OSwgMCwgCisgICAgOTE3NTc0LCAxMDI5OCwgNjYyNCwgNDkwOCwgOTE3NTk2LCAxNjM5LCAwLCAwLCA3NDE1NywgNjMyNywgNjcyNCwgMCwgCisgICAgMTI4MDg2LCA5MjU2NiwgNjk5MTAsIDQ4MTcsIDc4NDQ2LCAxOTQ3NTksIDkyNTM2LCA3MDQzLCA5NjAwLCAxMTAyMiwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgNzU0OCwgNjQ3OTQsIDQyMDUwLCAxMjI5MSwgNTUyODksIDE5NDc2MSwgMTIzNDMsIDY1NywgCisgICAgMTk1MDU0LCA0MjcwNSwgNDQ2MSwgMTEzNCwgMTgzOCwgNzg0MzgsIDIwNTcsIDAsIDQ0NjgsIDAsIDAsIDAsIDQ0NTYsIAorICAgIDUyMDYsIDEwNzIwLCAwLCA0MjUyMywgMTI3NTIwLCAwLCAwLCA5MTc1OTUsIDY1NTUwLCAyNjAsIDQ4MTYsIDY3NjU4LCAKKyAgICAxMDY4NywgMCwgNDgyMSwgNDQ2NiwgMCwgMTk1MDQzLCA0ODE4LCAxOTUwNDgsIDQxNDAzLCAxMTk5NzcsIDAsIDAsIAorICAgIDQxNDA2LCA0MzI3MywgNzQxNjAsIDExOTk4MywgNzM5MzksIDkyNjM4LCAxMTk5ODQsIDExOTk3OSwgNDE0MDQsIDExNjUsIAorICAgIDExOTk4MCwgNDQ1MSwgMTMwODcsIDAsIDExMjg0LCAxMTk5ODcsIDcwMDk3LCA2NTE1NSwgNDMwMTQsIDU0MzksIDkzNjMsIAorICAgIDcwMDcwLCAzMzc1LCAxMjg4NjksIDU5MDAsIDkzOTkwLCA3ODg5LCAyNzIyLCA0MjI2MiwgMCwgMCwgMTI4Nzc0LCAwLCAKKyAgICAyMjgyLCAwLCAxMjc4MTAsIDExNDAxLCA5ODM4MTMsIDAsIDY4NDU5LCAwLCAwLCAwLCAwLCA2NTQzOCwgMCwgNzI4MCwgCisgICAgMTI3ODg3LCAwLCAxMjczODEsIDQ4NjgsIDExOTk2NywgMTE5OTY2LCAxMTg3OTgsIDAsIDAsIDQzMTYxLCAwLCA5MjM2MCwgCisgICAgMCwgNTE4MiwgMCwgMTIwNTQyLCAwLCAwLCA0MjI2LCAxMTkyNDMsIDEyMTM1LCA1NzMyLCA0NDY0LCAwLCA3MTMzMCwgOTc3LCAKKyAgICA0NDU4LCAwLCAwLCA2NDc3MCwgNzQ4MzgsIDAsIDM0NCwgMCwgMTk0NzkwLCAxMzk1LCA2NDI3OSwgMCwgOTIyNDAsIDAsIAorICAgIDc4NiwgMCwgNDMxNzQsIDY0MzQwLCAwLCAxOTQ3NjcsIDEyMDcyMywgNDMwMjYsIDc2MTIsIDEwMTMyLCA2NDQxMywgCisgICAgNjUwMjUsIDAsIDAsIDAsIDkzOTU2LCAwLCA2ODQ0NCwgMCwgOTI0MzcsIDAsIDExOTE2MCwgMTAyMDQsIDkyNjU2LCAwLCAKKyAgICAxMjc4MDksIDk4MzYzNSwgMTM5OSwgOTgzNjQzLCA2NTIxNywgMCwgODg1MiwgMTI4NTcxLCAyNDEsIDEyODc4MCwgNDkwNywgCisgICAgMCwgOTgzNjMwLCA3OTMyLCA5NzI3LCAxMjg4NzMsIDc0MjU1LCA4NzQ4LCAwLCAwLCA5ODM2MzQsIDAsIDQyNzgwLCAwLCAwLCAKKyAgICAwLCA0MjE3LCAwLCA4NjUwLCAwLCAwLCAwLCA2OTkwMCwgMTE4ODcyLCA0MzA5OSwgMzk2NSwgMTE5MTE5LCA2NzE5LCAwLCAKKyAgICAxMzMwMCwgNzg0MzksIDkzOTcxLCA0MzA1NywgNjY1ODgsIDExODk5MSwgMCwgMCwgNzM4MTUsIDQ0MjAsIDAsIDY0MTAsIAorICAgIDc3NjAsIDAsIDAsIDAsIDAsIDAsIDcyOTQsIDAsIDAsIDAsIDkwNjYsIDAsIDExOTkzLCA0MzE4OCwgMjYyNiwgNzc2MiwgMCwgCisgICAgMCwgMCwgOTI2MDEsIDQyODI1LCA0MTg1NCwgNTMwNCwgMCwgNzg1MTYsIDY5MTksIDg2MTksIDExOTY1NSwgMTAwMzgsIAorICAgIDY2NDU0LCA5NTkyLCA0Mjg1MSwgMTI2OTkzLCAxNTQyLCA5MjMwMywgMCwgMCwgMCwgMCwgNzQzMTEsIDc4NDk3LCAwLCAKKyAgICAxMDE4MSwgMCwgNDM2MjQsIDAsIDc3NzksIDAsIDEwMTk1LCA5NDc5LCA2MDI5LCAwLCA5MjI2OCwgOTY4OSwgMCwgNjU1NzcsIAorICAgIDg5OTMsIDY2MzU4LCAwLCA0MjM3OCwgMzM2OCwgNjA2LCAxMjcwMzAsIDc2OTcsIDY5MjM3LCA2OTc4NywgMjAzMCwgMCwgCisgICAgNjAyNywgODM3MCwgNDMyMiwgMCwgNjUyMDcsIDAsIDk4MzMzMSwgOTgzMzMwLCA5ODMzMjksIDk4MzMyOCwgMjczNSwgCisgICAgNDI4MzEsIDc3OTM1LCAxMjcxMjAsIDc0ODY2LCA4ODgxLCAxMTkwNDcsIDAsIDAsIDczOTQ2LCAwLCAwLCAwLCA2ODE0MCwgCisgICAgOTgzOTE5LCA5NTc2LCAxMjg4NzIsIDMzNDcsIDQxNjAsIDUxNTQsIDU1Mjg4LCAzNzk0LCA2NjU2NCwgODUzMCwgMTI3MDYzLCAKKyAgICA3NzA5LCA0MTExMiwgOTgzMTMyLCA2NjU2MCwgNDIwNDEsIDQ1NzIsIDEyODc2LCA2NjU2MSwgOTgzNzQ5LCA2NzU4LCAKKyAgICA5ODM5MTcsIDE2MTUsIDU4NTUsIDgwOSwgMCwgOTIyODMsIDEyODMxNiwgMTI4MDA0LCA1Nzk5LCA5ODMzMjAsIDcwMTAwLCAKKyAgICA5ODMzMTgsIDcyNjAsIDk4MzMxNiwgNDMwMzEsIDY0NDI1LCA2NTEyOCwgNzg4MTksIDY0Mzg2LCA2NTI1NywgMCwgNjg2MTYsIAorICAgIDEyMDYwNywgOTM0NywgMTI4MDY3LCA2NTMyLCAwLCAwLCAwLCAxMjcwNjAsIDY1ODI4LCAwLCAyODMsIDY4NjY1LCA3ODgxMywgCisgICAgNTMyLCA3ODY2MywgMCwgOTgzNzg3LCAxMjA2MDksIDAsIDMzNzAsIDAsIDExMzYxLCA1NDQzLCA3ODc3OCwgODE1MywgCisgICAgNzM3NjcsIDAsIDEwNzQxLCAwLCAyMjk4LCAwLCA5ODM5MDgsIDY1NDk1LCA2NDcwNiwgOTgzMzEwLCA0MzM0NCwgOTgzMzA4LCAKKyAgICA3MTQ0LCA5NDY2LCA3ODg2NiwgOTgyNCwgOTgzMzAzLCA5ODMzMDIsIDAsIDAsIDkxNSwgNDM0MjUsIDAsIDAsIDAsIDAsIAorICAgIDEyNzE3OCwgNDMyNjQsIDcwMDk2LCAwLCAwLCA0MzAzOCwgNzg4NjQsIDY3MzAsIDc4ODYyLCA2ODE2MSwgNjQ1NTAsIAorICAgIDUxODYsIDczNjAsIDEyNzgzNywgMCwgMTIxMDgsIDAsIDY1MTI0LCA0MzEyNywgNjYwNDMsIDAsIDYzMjYsIDQzMTA3LCAKKyAgICA3NzgyNiwgMCwgNDI1NjIsIDAsIDEyODgyMSwgMCwgMTI4NTIwLCAxMTQ4NSwgNjEwMywgMTI3MTIzLCA5ODMyOTcsIAorICAgIDExNzE4LCA5ODMyOTUsIDEyODg5LCA5MjY1NywgMTI3MTM3LCAwLCAwLCAwLCA1NTI0NSwgMCwgMTYzMCwgMTI4MjMyLCAKKyAgICA2NTQ4MywgMCwgMTI1NjUsIDAsIDY1NDc2LCAxMjAwMTMsIDAsIDExOTU1NCwgOTI4MywgNzcwMCwgOTE3NTM3LCA5NjkwLCAKKyAgICA2NTQ5OSwgMCwgNjQ1OTMsIDUxMiwgMzM3NiwgNjgyMTAsIDAsIDEyODY3NywgNzc4OTIsIDYzMiwgMTI5NDAsIDc3ODkxLCAKKyAgICA0MjUyOSwgNzg1ODcsIDAsIDU5NTcsIDExMDU5MywgODkyNiwgOTgzMjkxLCA5ODMyOTAsIDEyODI3MywgMTA3NDUsIAorICAgIDEwMTc0LCA3Mzc5LCA2NDU4MSwgNTM4NiwgMTIwNjg2LCAxMTcxMywgMTA2MzMsIDY5NzA4LCA1MDU2LCAwLCAwLCAwLCAKKyAgICAxMjA3NzMsIDAsIDk4MTIsIDAsIDQ0NjAsIDAsIDAsIDcxMzA3LCAxMjgwMzgsIDAsIDAsIDEyNzE3NCwgNjQyNzgsIAorICAgIDkyMzcwLCA0MzQ2NiwgMCwgMCwgNjQzODksIDI5NTMsIDczODc5LCAxODAxLCAxMjgzNSwgMTE5MDI5LCAwLCA3MzgyMywgMCwgCisgICAgNjYzNzUsIDIwODUsIDcwMiwgNDI1NzksIDc3ODg0LCA3Nzg4NSwgMTMwNzQsIDc3ODgzLCA5ODMyNzgsIDk4MzI3NywgCisgICAgMTI4NTcwLCAxMjEwNiwgOTgzMjc0LCA3NDIwNywgMTc1NSwgMTA0ODIsIDEyODYzLCA3Nzg5OCwgMTE2MywgMjk1MSwgCisgICAgOTUyMiwgNzQwNzksIDc4MjY2LCA2NjYwNCwgMCwgMzM4NCwgNjkyMjcsIDEwNzAyLCA4MzAsIDc3OTAyLCA3Nzg5OSwgCiAgICAgNzc5MDAsIDg0NTEsIDAsIDAsIDAsIDY5NzM5LCAwLCAwLCAwLCAwLCAyOTA4LCAwLCA0MzM4NiwgNjQ5MDIsIDQyNDMsIDAsIAotICAgIDEyMjM5LCAwLCAwLCA0NDQxLCAwLCAwLCA3Mzk0MCwgNjQzNTIsIDEyNzUxMywgMCwgNDExLCAwLCA5MTk5LCAwLCA0MDU2LCAKLSAgICAxMTg5OTIsIDQxODkwLCAwLCAyNzMwLCA0MTYwNCwgMCwgNTQyOCwgMTk0NzQzLCAzMzY0LCA0MjI2NSwgNjQ0MzcsIAotICAgIDEyNzkzNSwgMTE4ODE2LCAxOTQ3NDIsIDk2ODQsIDIxNiwgMCwgMTQwMSwgMTI4MDUzLCA0NDAxMiwgMCwgMCwgOTI1ODUsIAotICAgIDkxNTgsIDc3ODQyLCAxMjA2NjQsIDU3NjgsIDAsIDAsIDAsIDQ4NCwgMTk0NzM5LCAwLCAwLCA2NTg5NSwgMCwgMCwgMzMzOCwgCi0gICAgNzM5MzUsIDU3MiwgNzA0MSwgMjczNiwgNjc2MDUsIDAsIDEyODY4MCwgMjc5NCwgODgwNywgNjQ0OTEsIDc3ODQ3LCA1NDM4LCAKLSAgICA1MjIyLCA1MzgxLCA0MzExNCwgMCwgNTE5MywgNTEyNSwgNTQ1NiwgNTUwOSwgNzc4NDYsIDE5NDc0NywgOTUzNCwgMCwgMCwgCi0gICAgMCwgMzQzMCwgMCwgMCwgMCwgMCwgOTgxLCAwLCA0MzMwLCA3MzkyOSwgMTIwNTM2LCAxODI0LCAxMDkwOCwgMCwgNzAzNCwgCi0gICAgNDE2ODMsIDY0NjE3LCAwLCA3Mzc1NCwgMzk1NywgNjQzNTgsIDY0NTQ3LCAxMjgyNTksIDY3NCwgNjM5OTEsIDAsIDI5NDYsIAotICAgIDUzNTQsIDUyNTEsIDUzMjgsIDUzMDcsIDM3NTksIDExNDExLCA4MzY0LCA1MTIzLCAxMTk2MjgsIDUyODEsIDU0NjksIAotICAgIDUxMjEsIDExOTI0NSwgMTE4OTkzLCAwLCA1MTMwLCAwLCAwLCA3Nzk5MCwgMCwgMTIwNzI2LCAxMjIxLCAyNzMzLCAxMTc0NiwgCi0gICAgNzc5OTEsIDUyMTYsIDAsIDAsIDAsIDAsIDM0NjgsIDcwMzMsIDkyMzAsIDU5MzksIDE5NTA1MiwgMCwgMCwgMTIwNjc3LCAKLSAgICA2ODQwMCwgNzI3OCwgMTAzMjEsIDEwMjg5LCA2NDYxMywgMTAzODUsIDQxNzA2LCAwLCAwLCAwLCAwLCAxMTczOSwgMCwgCi0gICAgNDE5ODEsIDAsIDU5MzgsIDAsIDAsIDEyNDQ4LCA3NTc2LCAxMDQwMSwgMTAzMzcsIDczODUyLCAwLCAxMzA1NywgMCwgCi0gICAgMTI2OTc2LCAwLCAxMDAwOSwgMCwgNDE3MDMsIDAsIDEyMTY1LCAwLCAwLCA5ODg1LCAwLCA4MDc3LCAwLCAxMjc5MDgsIDAsIAotICAgIDAsIDAsIDkyNDU3LCAwLCA0MjIwLCAxMDcyNSwgMTA0MzMsIDAsIDY4Mzk1LCA0OTg3LCA2NDUxOSwgMCwgMTI4MzQwLCAwLCAKLSAgICAwLCAwLCAxMDk3MCwgMTE3MzMsIDAsIDEyMDc5MiwgMCwgMTk5NDQsIDAsIDkwMDksIDg1NTEsIDkyMzQ1LCAxMTQ2OCwgCi0gICAgNjQ2MzYsIDc1NzUsIDAsIDI3MjQsIDAsIDAsIDEyMzEzLCAxMTA1OTIsIDUxNSwgMTE5OTQ3LCA0Mjc5MSwgNjM5ODcsIAotICAgIDc4Mjg2LCAxMTk5NDMsIDExOTk0MCwgMTE5OTQxLCAxMTk5MzgsIDk3NzUsIDQwNDYsIDQ1ODksIDQ1MjEsIDY4NjI5LCAKLSAgICA5MTQxLCAwLCA3ODg1MCwgMjc0MSwgNjQzOTksIDYxOTcsIDEzNzAsIDAsIDAsIDAsIDAsIDAsIDAsIDYxODQsIDg2MDYsIAotICAgIDMzMDMsIDQxMzcyLCAxMTc4NiwgOTQ3MywgNjYyMDMsIDY2MTc3LCA5MjQ0NiwgMTE1OTMsIDQzMDA3LCA0NDc4LCA2NjE3OCwgCi0gICAgMCwgMCwgMjc0NCwgMCwgNDQ3NywgMTE4OTY0LCA4MTQsIDQyMDY2LCA2NjE4MywgNjYyMDQsIDQzNzg2LCAxMTk5NjEsIAotICAgIDY2MTk4LCA0MTg4MCwgNjYxODgsIDY2MTk3LCA3ODE0OCwgMTE5NTUsIDY2MTkwLCA2NjE5MSwgNDExMTEsIDY2MTg5LCAKLSAgICA3Mzc4OCwgNzc4OCwgNDg0NywgMCwgMTI3NzU5LCAwLCAwLCAwLCAxNTgxLCA2NTM1LCA3ODE2MSwgMTI5NTQsIDQzMCwgCi0gICAgNzgxNjAsIDU1MjU5LCA3ODE1OCwgMTI4MDM2LCA1Mjc4LCA0OTQ1LCA0Mjg4MywgNDk1MCwgMCwgNjg2MjUsIDAsIDcyNjksIAotICAgIDAsIDU5NjQsIDEyOTA4LCAwLCAwLCA3NDc2NCwgNzQ0NzcsIDExOTE0NiwgMTk0OTM2LCA0OTQ5LCAwLCA0NDMsIDAsIAotICAgIDQ5NDQsIDU0NjcsIDExOTYwMywgMCwgNjUxMzcsIDYwNDQsIDY1MzkyLCAwLCA0MjEzLCAwLCA0MTMwMywgMCwgMTk0OTMxLCAKLSAgICAxMTk5NjIsIDQxMzA2LCA3Mzk4NCwgMjY5OCwgMTI3MTU5LCAwLCAxMjA3MiwgMzE5MywgMCwgNDEzMDQsIDgyNCwgCi0gICAgMTI4Njc2LCAxMjA5MSwgNzg4OTMsIDc4ODk0LCAxMTk4MTYsIDQ2NzMsIDY0ODA0LCA0Njc4LCAxMTk4MjAsIDExOTgxOSwgCi0gICAgNjUwNTksIDAsIDY3MzksIDAsIDU0ODEsIDM0OTAsIDExOTksIDExOTgxMSwgODM1NiwgMTE5ODI5LCAxMTk4MzIsIDQ2NzcsIAotICAgIDEyNjg4LCAzMTAyLCAwLCA0NjcyLCA3ODE3MywgNzgxNzUsIDU1MzEsIDY4MzY3LCA0MjU3NSwgNzgxNzAsIDc4MTY2LCAKLSAgICA0Njc0LCA0NTQ4LCA0NDAwNSwgMTE5OTQ5LCA2ODY1OCwgMTE5OTQ2LCA4MDI1LCA2ODYzMCwgMTI3MDI0LCAxODU1LCAwLCAKLSAgICA2ODY2OSwgMCwgOTI0NDUsIDEyNzU1NCwgMCwgMCwgMTE5NjUyLCAyNzQ1LCAxMTc5NywgMCwgMTI4MTU5LCA5MjAyLCAKLSAgICA0NjU0LCAwLCAwLCA2ODYzOCwgNzM5OTMsIDEwNTI1LCA0NjQ5LCA2NTIwOSwgMCwgMCwgNDY0OCwgNDMwODAsIDAsIDAsIDAsIAotICAgIDYyNDYsIDY0OTUwLCA3ODI4LCA0NjUwLCA2Nzc3LCA2Nzc2LCA2Nzc1LCA0NjUzLCA3ODIyLCA3ODAwNSwgOTIzODQsIAotICAgIDQzMTg3LCA4NjY5LCAwLCA2ODIxLCA2NTA5MywgMCwgNzg4ODEsIDI3MTYsIDAsIDAsIDAsIDAsIDY4MzY5LCAxMjAwNTQsIAorICAgIDEyMjM5LCAwLCAwLCA0NDQxLCAwLCA5ODMyNzEsIDczOTQwLCA2NDM1MiwgMTI3NTEzLCA5ODMyNjcsIDQxMSwgOTgzMjY1LCAKKyAgICA5MTk5LCA5ODMyNjMsIDQwNTYsIDExODk5MiwgNDE4OTAsIDAsIDI3MzAsIDQxNjA0LCA5ODM5MjgsIDU0MjgsIDE5NDc0MywgCisgICAgMzM2NCwgNDIyNjUsIDY0NDM3LCAxMjc5MzUsIDExODgxNiwgMTk0NzQyLCA5Njg0LCAyMTYsIDAsIDE0MDEsIDEyODA1MywgCisgICAgNDQwMTIsIDAsIDAsIDkyNTg1LCA5MTU4LCA3Nzg0MiwgNjk5MDUsIDU3NjgsIDAsIDAsIDAsIDQ4NCwgMTk0NzM5LCAwLCAwLCAKKyAgICA2NTg5NSwgMCwgMCwgMzMzOCwgNzM5MzUsIDU3MiwgNzA0MSwgMjczNiwgNjc2MDUsIDk4MzI1NSwgOTM5NjIsIDI3OTQsIAorICAgIDg4MDcsIDY0NDkxLCA3Nzg0NywgNTQzOCwgNTIyMiwgNTM4MSwgNDMxMTQsIDAsIDUxOTMsIDUxMjUsIDU0NTYsIDU1MDksIAorICAgIDc3ODQ2LCAxOTQ3NDcsIDk1MzQsIDAsIDAsIDAsIDM0MzAsIDAsIDAsIDc4NzE3LCAwLCA5ODEsIDAsIDQzMzAsIDczOTI5LCAKKyAgICAxMjA1MzYsIDE4MjQsIDEwOTA4LCAwLCA3MDM0LCA0MTY4MywgNjQ2MTcsIDAsIDczNzU0LCAzOTU3LCA2NDM1OCwgNjQ1NDcsIAorICAgIDEyODI1OSwgNjc0LCA2Mzk5MSwgOTgzMjQzLCAyOTQ2LCA1MzU0LCA1MjUxLCA1MzI4LCA1MzA3LCAzNzU5LCAxMTQxMSwgCisgICAgODM2NCwgNTEyMywgMTE5NjI4LCA1MjgxLCA1NDY5LCA1MTIxLCAxMTkyNDUsIDExODk5MywgMCwgNTEzMCwgMCwgMCwgCisgICAgNzc5OTAsIDAsIDEyMDcyNiwgMTIyMSwgMjczMywgMTE3NDYsIDc3OTkxLCA1MjE2LCAwLCAwLCAwLCAwLCAzNDY4LCA3MDMzLCAKKyAgICA5MjMwLCA1OTM5LCAxOTUwNTIsIDAsIDAsIDEyMDY3NywgNjg0MDAsIDcyNzgsIDEwMzIxLCAxMDI4OSwgNjQ2MTMsIAorICAgIDEwMzg1LCA0MTcwNiwgMCwgMCwgOTgzNDA1LCAwLCAxMTczOSwgOTgzNDE4LCA0MTk4MSwgMCwgNTkzOCwgMCwgNDM3NjYsIAorICAgIDEyNDQ4LCA3NTc2LCAxMDQwMSwgMTAzMzcsIDczODUyLCAwLCAxMzA1NywgMCwgMTI2OTc2LCAwLCAxMDAwOSwgMCwgCisgICAgNDE3MDMsIDk4MzYyOSwgMTIxNjUsIDAsIDAsIDk4ODUsIDAsIDgwNzcsIDAsIDEyNzkwOCwgMCwgMCwgMCwgOTI0NTcsIDAsIAorICAgIDQyMjAsIDEwNzI1LCAxMDQzMywgMCwgNjgzOTUsIDQ5ODcsIDY0NTE5LCAwLCAxMjgzNDAsIDAsIDAsIDAsIDEwOTcwLCAKKyAgICAxMTczMywgMCwgMTIwNzkyLCAwLCAxOTk0NCwgMCwgOTAwOSwgODU1MSwgOTIzNDUsIDExNDY4LCA2NDYzNiwgNzU3NSwgMCwgCisgICAgMjcyNCwgMCwgMCwgMTIzMTMsIDExMDU5MiwgNTE1LCAxMTk5NDcsIDQyNzkxLCA2Mzk4NywgNzgyODYsIDExOTk0MywgCisgICAgMTE5OTQwLCAxMTk5NDEsIDExOTkzOCwgOTc3NSwgNDA0NiwgNDU4OSwgNDUyMSwgNjg2MjksIDkxNDEsIDAsIDc4ODUwLCAKKyAgICAyNzQxLCA2NDM5OSwgNjE5NywgMTM3MCwgMCwgMCwgMCwgMCwgMCwgMCwgNjE4NCwgODYwNiwgMzMwMywgNDEzNzIsIAorICAgIDExNzg2LCA5NDczLCA2NjIwMywgNjYxNzcsIDkyNDQ2LCAxMTU5MywgNDMwMDcsIDQ0NzgsIDY2MTc4LCAwLCAwLCAyNzQ0LCAKKyAgICAwLCA0NDc3LCAxMTg5NjQsIDgxNCwgNDIwNjYsIDY2MTgzLCA2NjIwNCwgNDM3ODYsIDExOTk2MSwgNjYxOTgsIDQxODgwLCAKKyAgICA2NjE4OCwgMTE2MjMsIDc4MTQ4LCAxMTk1NSwgNjYxOTAsIDY2MTkxLCA0MTExMSwgNjYxODksIDczNzg4LCA3Nzg4LCAKKyAgICA0ODQ3LCAwLCAxMjc3NTksIDAsIDAsIDAsIDE1ODEsIDY1MzUsIDc4MTYxLCAxMjk1NCwgNDMwLCA3ODE2MCwgNTUyNTksIAorICAgIDc4MTU4LCAxMjgwMzYsIDUyNzgsIDQ5NDUsIDQyODgzLCA0OTUwLCA5ODM0MzAsIDY4NjI1LCA5ODM0MjgsIDcyNjksIDAsIAorICAgIDU5NjQsIDEyOTA4LCA5ODM1NTUsIDAsIDc0NzY0LCA3NDQ3NywgMTE5MTQ2LCAxOTQ5MzYsIDQ5NDksIDk4MzQyMSwgNDQzLCAKKyAgICA5ODM0MTksIDQ5NDQsIDU0NjcsIDExOTYwMywgMCwgNjUxMzcsIDYwNDQsIDY1MzkyLCAwLCA0MjEzLCAwLCA0MTMwMywgMCwgCisgICAgMTk0OTMxLCAxMTk5NjIsIDQxMzA2LCA3Mzk4NCwgMjY5OCwgMTI3MTU5LCAwLCAxMjA3MiwgMzE5MywgMCwgNDEzMDQsIAorICAgIDgyNCwgMTI4Njc2LCAxMjA5MSwgNzg4OTMsIDc4ODk0LCAxMTk4MTYsIDQ2NzMsIDY0ODA0LCA0Njc4LCAxMTk4MjAsIAorICAgIDExOTgxOSwgNjUwNTksIDAsIDY3MzksIDAsIDU0ODEsIDM0OTAsIDExOTksIDExOTgxMSwgODM1NiwgNjk5NDcsIDExOTgzMiwgCisgICAgNDY3NywgMTI2ODgsIDMxMDIsIDAsIDQ2NzIsIDc4MTczLCA3ODE3NSwgNTUzMSwgNjgzNjcsIDQyNTc1LCA3ODE3MCwgCisgICAgNzgxNjYsIDQ2NzQsIDQ1NDgsIDQ0MDA1LCAxMTk5NDksIDY4NjU4LCAxMTk5NDYsIDgwMjUsIDY4NjMwLCAxMjcwMjQsIAorICAgIDE4NTUsIDk4MzQwNCwgNjg2NjksIDk4MzQwMiwgOTI0NDUsIDEyNzU1NCwgMCwgMTI3MzM5LCAxMTk2NTIsIDI3NDUsIAorICAgIDExNzk3LCA5ODM0MTAsIDEyODE1OSwgOTIwMiwgNDY1NCwgOTgzNDA2LCA5ODM0MDgsIDY4NjM4LCA3Mzk5MywgMTA1MjUsIAorICAgIDQ2NDksIDY1MjA5LCA5ODM0MDksIDAsIDQ2NDgsIDQzMDgwLCA5ODMzOTgsIDk4MzM5OSwgOTgzMzk2LCA2MjQ2LCA2NDk1MCwgCisgICAgNzgyOCwgNDY1MCwgNjc3NywgNjc3NiwgNjc3NSwgNDY1MywgNzgyMiwgNzgwMDUsIDkyMzg0LCA0MzE4NywgODY2OSwgCisgICAgOTgzNDA3LCA2ODIxLCA2NTA5MywgMCwgNzg4ODEsIDI3MTYsIDAsIDk4MzA2MCwgOTgzNDExLCAwLCA2ODM2OSwgMTIwMDU0LCAKICAgICAxMTA2MCwgODU0NywgMjcxMSwgNDIxNjUsIDc4MDI3LCA3ODAyNiwgNzk5MiwgMCwgMCwgNDY2MiwgNzgwMzMsIDc4MDMyLCAKICAgICA5MTQ5LCA5MTQ2LCA1OTksIDIwODEsIDc4MDMxLCA3ODAzMCwgMTk0OTYyLCA0NjU2LCAxMDEzMCwgNjg0NTAsIDc4MTEsIAotICAgIDQwOTk0LCAxOTQ5NjUsIDY0MTQsIDU5NjcsIDQ2NTgsIDM3MjUsIDU3MTMsIDU4MTQsIDQ2NjEsIDQyNDM0LCAwLCAwLCAwLCAKLSAgICA2NDkwNCwgOTAyNiwgMTA4MzMsIDc0ODY0LCA3NTQ3LCA0ODY3LCAwLCAxMDAwOCwgMTAyMjIsIDMwNTQsIDE5NDk1NiwgCi0gICAgOTc0NCwgNzg4NjAsIDc2MDUsIDQ2MjIsIDExOTY1NiwgMCwgMCwgMCwgMCwgMCwgOTA0NSwgNzg4ODgsIDQyMjUsIDE5OTI2LCAKLSAgICA3ODg4NywgMTI4ODAsIDY1MzA3LCA0NjE3LCA3ODg4MywgMCwgNDE3MzIsIDQ2MTYsIDEwNTE4LCAxMDQyMywgMTAzNTksIDAsIAotICAgIDU5NTgsIDAsIDAsIDQyMTUsIDk3ODksIDkxNzk0MSwgNDMyMSwgNDYyMSwgMCwgNDEzMTMsIDUyMiwgNTM2OCwgMCwgCi0gICAgNjU4MDMsIDAsIDUzNjYsIDEyMjAxLCA1MzcyLCAwLCAwLCAwLCA3NzIwLCA3MzkwLCAyNjk2LCAwLCAwLCA0NjM4LCAwLCAKLSAgICAxNzkwLCA3ODI0MiwgNTk2NSwgNjQzNjMsIDY2NTY5LCA2ODY0NiwgMTk0OTY4LCA1Mzc2LCAxODM1LCA1MzM1LCAxOTQ5NjYsIAorICAgIDQwOTk0LCAxOTQ5NjUsIDY0MTQsIDU5NjcsIDQ2NTgsIDM3MjUsIDU3MTMsIDU4MTQsIDQ2NjEsIDQyNDM0LCA5ODM0MDMsIAorICAgIDAsIDAsIDY0OTA0LCA5MDI2LCAxMDgzMywgNzQ4NjQsIDc1NDcsIDQ4NjcsIDAsIDEwMDA4LCAxMDIyMiwgMzA1NCwgCisgICAgMTk0OTU2LCA5NzQ0LCA3ODg2MCwgNzYwNSwgNDYyMiwgMTE5NjU2LCA5ODMzODcsIDk0MDcwLCA5ODMzODUsIDk4MzM4NiwgCisgICAgOTgzMzgzLCA5MDQ1LCA3ODg4OCwgNDIyNSwgMTk5MjYsIDc4ODg3LCAxMjg4MCwgNjUzMDcsIDQ2MTcsIDc4ODgzLCAKKyAgICA5ODMzNzgsIDQxNzMyLCA0NjE2LCAxMDUxOCwgMTA0MjMsIDEwMzU5LCA5ODMzNzIsIDU5NTgsIDAsIDk4MzQyNSwgNDIxNSwgCisgICAgOTc4OSwgOTE3OTQxLCA0MzIxLCA0NjIxLCA5ODMzODEsIDQxMzEzLCA1MjIsIDUzNjgsIDAsIDY1ODAzLCAwLCA1MzY2LCAKKyAgICAxMjIwMSwgNTM3MiwgMCwgOTgzNDAxLCAwLCA3NzIwLCA3MzkwLCAyNjk2LCA5ODMzOTIsIDAsIDQ2MzgsIDk4MzM5NywgCisgICAgMTc5MCwgNzgyNDIsIDU5NjUsIDY0MzYzLCA2NjU2OSwgNjg2NDYsIDEyNzgzMywgNTM3NiwgMTgzNSwgNTMzNSwgMTk0OTY2LCAKICAgICAxMjgwODksIDQ2MzMsIDAsIDY4MTE5LCAxMTgwLCA0NjMyLCAxMjgwOTMsIDUzODcsIDUzMzMsIDAsIDAsIDQyMDk0LCAKLSAgICA1MzMxLCA0NjM0LCAxMTkyOCwgMCwgNTMzOCwgNDYzNywgMTI4MTcwLCA1OTcxLCA0MjQxNCwgMCwgMTI2OCwgNjUwOTcsIAotICAgIDQyMzYxLCAwLCAwLCA3Mzg1MywgMTQyNywgMCwgMCwgNTk3MCwgMzQzMSwgMCwgMTAzNTgsIDEwNDIyLCA0NzU4LCAwLCAKLSAgICAxNjA4LCAyNzM4LCAwLCAxMDQ1NSwgNDc1MywgNzQwMjYsIDExMzQ0LCA0MjIyLCA2MjQwLCA1MjMxLCA3NDM4NCwgMCwgCi0gICAgNjgzNzcsIDYyNDgsIDAsIDAsIDAsIDQyMzE4LCA5MjU4MiwgNTIyOSwgNDc1NywgMCwgMCwgMjcyOCwgNDc1MiwgNjQ1NjMsIAotICAgIDY1MjM1LCA1MjM0LCAwLCAxMjgxNDUsIDAsIDEwNzEzLCA3MTY2LCAwLCAyNjIyLCA3NDYwLCAxMjczMDIsIDAsIDAsIAotICAgIDg5NTQsIDc0NzYwLCA2NTE4OSwgMjYzMiwgOTIyMzAsIDEwMTA4LCAxMDExLCA1NTc0LCAxODUzLCAyNzA5LCA2NTEzOSwgCi0gICAgNTU3NywgMCwgMCwgMTE4ODcxLCA2ODY0MSwgODk2NSwgNzYzNSwgNDIxNzcsIDUzMTYsIDAsIDUzMTQsIDY0NTEsIDU1NzIsIAotICAgIDAsIDUzMTIsIDAsIDU1MjUsIDUzMzAsIDUzMTksIDAsIDAsIDE5NDkwNywgNDQwMDMsIDAsIDAsIDAsIDEyMDQ5OCwgCi0gICAgMTI3ODUxLCAxOTUwMDksIDAsIDc0MDIyLCAwLCA2NDYwOSwgNjg2NDMsIDEyMDYzNCwgMCwgNTcyMSwgMCwgNTUxOSwgCi0gICAgODYzMiwgNjY0NjUsIDExMjY3LCA3Mzk2MSwgOTIyNzgsIDU3MjAsIDAsIDE2OTIsIDQyMTksIDQ2MTAsIDg2OTYsIDQzMDUsIAotICAgIDAsIDQ2MDksIDQzNDc4LCA0NjE0LCA1NDEsIDAsIDUyODcsIDUzMDksIDUyODUsIDY4Mzg5LCA1OTYxLCA0NjQ3LCA1NiwgCi0gICAgNDIxNiwgMTA1NzcsIDQxMzgxLCA2MDEsIDQ2MTMsIDAsIDAsIDkyMjc2LCA0NjA4LCA2NDI2MCwgNDExMjQsIDUxOTAsIAotICAgIDY3NjI4LCAwLCA2ODE0NSwgNzA4NiwgMCwgMTE5MjQzLCA2NzYyMCwgMCwgMjczNCwgMTEwNzQsIDAsIDY3NjI3LCA0MzU5MywgCi0gICAgMCwgNjc2MjUsIDU5NjAsIDAsIDg5OTIsIDQyNTkzLCAxMjgyNjAsIDE3ODIsIDY3NjIyLCA2ODExNCwgMTE5OTM5LCAwLCAKLSAgICA2ODE4MCwgNTUwMSwgMTE5OTUyLCA0MjUwOCwgNzQ0MiwgNDM2NjUsIDM1OSwgNDEyNTMsIDY4MzkyLCA2MjM5LCAxMTk5NTYsIAotICAgIDQxMjU2LCAwLCA2ODEzNCwgMCwgNzQyMDksIDkxNzU1MCwgOTM0NiwgNjk2NjAsIDQxMjU0LCAxMjgwNDcsIDQzMjkxLCAKLSAgICAzNzY3LCA1NzM3LCAwLCA0ODY1LCAwLCA1NzQwLCA5MTc5OTcsIDU3MzYsIDQzNjgsIDY0NzI0LCA3MTkzLCA2ODEzNywgMCwgCi0gICAgNTczOSwgNDEwMjQsIDQ4NjYsIDAsIDczOTA0LCAwLCA0ODY5LCAxMjA1NjMsIDAsIDQyMjMsIDEyODIwMSwgNjY1MCwgMCwgCi0gICAgMCwgMCwgMTI3ODkwLCA0ODcwLCAxMjA0NDUsIDY4NjYxLCA2NzE2LCA3ODE3NiwgNjg2NjcsIDY4MzgyLCA2ODY3NiwgCi0gICAgMTI3OTI1LCAxMDEyMiwgNDg2NCwgNjY1NjgsIDQxNDQsIDc5MzcsIDAsIDYyNDUsIDY4NjUyLCAyNzMyLCA0MjczNCwgNzQ1LCAKLSAgICAwLCAxOTUwOTcsIDkyMTk1LCA0Nzc3LCA3ODIxLCAwLCA2ODYzMSwgNDI3NzUsIDAsIDE5NDk1NCwgMCwgMzA5NywgMCwgCi0gICAgNTk2NiwgMCwgNDc3OCwgMCwgMTA4NjMsIDAsIDQ3ODEsIDAsIDY0NDA3LCAwLCAwLCA4NTc3LCAxMjg1NjIsIDY4MTk2LCAKLSAgICA0MzI4NSwgMTAyMTYsIDQ3ODIsIDAsIDAsIDEyMDc1NywgNjg2MTgsIDEyMzI1LCA0MzA1NiwgODcxNywgMCwgMCwgNDc3NiwgCi0gICAgNzM4MTgsIDExNDkyLCA4NzAwLCAwLCAxMzE3NiwgNjgzNjMsIDEwNDI2LCAwLCA5MTc1OTksIDEwMzYyLCAxOTQ3MDYsIAotICAgIDE3MTUsIDQ4NDksIDgyNDIsIDk1NjEsIDczOTIyLCA0MzI3OCwgNDI2MzUsIDAsIDAsIDU5NjMsIDkxNzkyNiwgMCwgMCwgCi0gICAgNDg1MCwgMCwgMTYwNywgNDY2LCA0ODUzLCAxMTg5OTUsIDQ4NTQsIDEyNzkxOCwgNTE2NCwgMCwgMTM1MCwgNTEyNCwgCi0gICAgNjQ0MjAsIDE5OTMsIDUzNjIsIDg0NzEsIDI3MDgsIDkyNDcxLCAxMjQ0NSwgMzc4NSwgMjM0LCAzMTk5LCAwLCA0MTI2OCwgCi0gICAgNDg0OCwgMjUzMCwgOTE3OTA5LCAyMDY4LCAxOTY0LCAwLCA3Mzc2MiwgMTA0NTgsIDAsIDg1NzYsIDc4NTQzLCAwLCAyNzA0LCAKLSAgICA0Nzk0LCAwLCA2ODIxMSwgODMyMiwgNDc5NywgNTc1MywgMCwgMjY5NCwgNDc5MiwgMCwgMjQzOSwgNjUxMDQsIDY5ODA0LCAKLSAgICAwLCAzMDMsIDAsIDkyNjIyLCAwLCAyNDM3LCAwLCA0MjIxLCA0ODQ0LCAxMTg4NjksIDAsIDAsIDAsIDAsIDAsIDQzMjkyLCAKLSAgICAwLCAyNDQxLCAxMDczOSwgNjUwOTAsIDAsIDExOTMyNywgMCwgMjQ1MSwgMjcxNCwgMTE5MzI2LCAwLCA0MzM3OSwgNDkzNywgCisgICAgNTMzMSwgNDYzNCwgMTE5MjgsIDk4MzU5NCwgNTMzOCwgNDYzNywgMTI4MTcwLCA1OTcxLCA0MjQxNCwgMCwgMTI2OCwgCisgICAgNjUwOTcsIDQyMzYxLCAwLCAwLCA3Mzg1MywgMTQyNywgMCwgMCwgNTk3MCwgMzQzMSwgMCwgMTAzNTgsIDEwNDIyLCA0NzU4LCAKKyAgICA5ODMzNjYsIDE2MDgsIDI3MzgsIDAsIDEwNDU1LCA0NzUzLCA3NDAyNiwgMTEzNDQsIDQyMjIsIDYyNDAsIDUyMzEsIAorICAgIDc0Mzg0LCA5ODMzNzAsIDY4Mzc3LCA2MjQ4LCA5ODMzNTQsIDk4MzM1NSwgOTgzMzUyLCA0MjMxOCwgOTI1ODIsIDUyMjksIAorICAgIDQ3NTcsIDAsIDAsIDI3MjgsIDQ3NTIsIDY0NTYzLCA2NTIzNSwgNTIzNCwgMCwgMTI4MTQ1LCAwLCAxMDcxMywgNzE2NiwgMCwgCisgICAgMjYyMiwgNzQ2MCwgMTI3MzAyLCAwLCAwLCA4OTU0LCA3NDc2MCwgNjUxODksIDI2MzIsIDQyNjE3LCAxMDEwOCwgMTAxMSwgCisgICAgNTU3NCwgMTg1MywgMjcwOSwgNjUxMzksIDU1NzcsIDAsIDAsIDExODg3MSwgNjg2NDEsIDg5NjUsIDc2MzUsIDQyMTc3LCAKKyAgICA1MzE2LCAwLCA1MzE0LCA2NDUxLCA1NTcyLCA2NjQ2NCwgNTMxMiwgMCwgNTUyNSwgNTMzMCwgNTMxOSwgOTgzNDEyLCAKKyAgICA5ODM4NjMsIDE5NDkwNywgNDQwMDMsIDAsIDk4MzQ3MiwgOTgzNDE1LCAxMjA0OTgsIDEyNzg1MSwgMTk1MDA5LCA5ODM4NTYsIAorICAgIDc0MDIyLCA5ODM0MTQsIDY0NjA5LCA2ODY0MywgMTIwNjM0LCA5ODM0ODEsIDU3MjEsIDk4MzM5MywgNTUxOSwgODYzMiwgCisgICAgNjY0NjUsIDExMjY3LCA3Mzk2MSwgOTIyNzgsIDU3MjAsIDk4MzM0NCwgMTY5MiwgNDIxOSwgNDYxMCwgODY5NiwgNDMwNSwgCisgICAgMCwgNDYwOSwgNDM0NzgsIDQ2MTQsIDU0MSwgOTgzMzQ3LCA1Mjg3LCA1MzA5LCA1Mjg1LCA2ODM4OSwgNTk2MSwgNDY0NywgCisgICAgNTYsIDQyMTYsIDEwNTc3LCA0MTM4MSwgNjAxLCA0NjEzLCA5ODMzNDEsIDk4MzMzOCwgNzc4NDksIDQ2MDgsIDY0MjYwLCAKKyAgICA0MTEyNCwgNTE5MCwgNjc2MjgsIDAsIDY4MTQ1LCA3MDg2LCAwLCA2Nzk5OCwgNjc2MjAsIDAsIDI3MzQsIDExMDc0LCAwLCAKKyAgICA2NzYyNywgNDM1OTMsIDAsIDY3NjI1LCA1OTYwLCAwLCA4OTkyLCA0MjU5MywgMTI4MjYwLCAxNzgyLCA2NzYyMiwgNjgxMTQsIAorICAgIDExOTkzOSwgMCwgNjgxODAsIDU1MDEsIDExOTk1MiwgNDI1MDgsIDc0NDIsIDQzNjY1LCAzNTksIDQxMjUzLCA2ODM5MiwgCisgICAgNjIzOSwgMTE5OTU2LCA0MTI1NiwgMCwgNjgxMzQsIDAsIDc0MjA5LCA5MTc1NTAsIDkzNDYsIDY5NjYwLCA0MTI1NCwgCisgICAgMTI4MDQ3LCA0MzI5MSwgMzc2NywgNTczNywgMCwgNDg2NSwgMCwgNTc0MCwgOTE3OTk3LCA1NzM2LCA0MzY4LCA2NDcyNCwgCisgICAgNzE5MywgNjgxMzcsIDAsIDU3MzksIDQxMDI0LCA0ODY2LCAwLCA3MzkwNCwgOTgzODMxLCA0ODY5LCAxMjA1NjMsIDAsIAorICAgIDQyMjMsIDEyODIwMSwgNjY1MCwgMTI2NTA5LCAwLCA5ODM0NTUsIDEyNzg5MCwgNDg3MCwgMTIwNDQ1LCA2ODY2MSwgNjcxNiwgCisgICAgNzgxNzYsIDY4NjY3LCA2ODM4MiwgNjg2NzYsIDEyNzkyNSwgMTAxMjIsIDQ4NjQsIDY2NTY4LCA0MTQ0LCA3OTM3LCAwLCAKKyAgICA2MjQ1LCA2ODY1MiwgMjczMiwgNDI3MzQsIDc0NSwgMCwgMTk1MDk3LCA5MjE5NSwgNDc3NywgNzgyMSwgMCwgNjg2MzEsIAorICAgIDQyNzc1LCAwLCAxOTQ5NTQsIDAsIDMwOTcsIDAsIDU5NjYsIDk4MzQ3OCwgNDc3OCwgMCwgMTA4NjMsIDAsIDQ3ODEsIDAsIAorICAgIDY0NDA3LCAwLCAxMjgzMjMsIDg1NzcsIDEyODU2MiwgNjgxOTYsIDQzMjg1LCAxMDIxNiwgNDc4MiwgMCwgMCwgMTIwNzU3LCAKKyAgICA2ODYxOCwgMTIzMjUsIDQzMDU2LCA4NzE3LCAwLCAwLCA0Nzc2LCA3MzgxOCwgMTE0OTIsIDg3MDAsIDAsIDEzMTc2LCAKKyAgICA2ODM2MywgMTA0MjYsIDAsIDkxNzU5OSwgMTAzNjIsIDE5NDcwNiwgMTcxNSwgNDg0OSwgODI0MiwgOTU2MSwgNzM5MjIsIAorICAgIDQzMjc4LCA0MjYzNSwgMCwgMCwgNTk2MywgOTE3OTI2LCAwLCAwLCA0ODUwLCAwLCAxNjA3LCA0NjYsIDQ4NTMsIDExODk5NSwgCisgICAgNDg1NCwgMTI3OTE4LCA1MTY0LCA5ODM4NjEsIDEzNTAsIDUxMjQsIDY0NDIwLCAxOTkzLCA1MzYyLCA4NDcxLCAyNzA4LCAKKyAgICA5MjQ3MSwgMTI0NDUsIDM3ODUsIDIzNCwgMzE5OSwgMCwgNDEyNjgsIDQ4NDgsIDI1MzAsIDkxNzkwOSwgMjA2OCwgMTk2NCwgCisgICAgMCwgNzM3NjIsIDEwNDU4LCAwLCA4NTc2LCA3ODU0MywgMCwgMjcwNCwgNDc5NCwgMCwgNjgyMTEsIDgzMjIsIDQ3OTcsIAorICAgIDU3NTMsIDAsIDI2OTQsIDQ3OTIsIDAsIDI0MzksIDY1MTA0LCA2OTgwNCwgOTgzNDE2LCAzMDMsIDk4MzEwMSwgOTI2MjIsIAorICAgIDk4MzQxNywgMjQzNywgMCwgNDIyMSwgNDg0NCwgOTIyMTYsIDAsIDAsIDAsIDcwMDQyLCAwLCA0MzI5MiwgMCwgMjQ0MSwgCisgICAgMTA3MzksIDY1MDkwLCAwLCAxMTkzMjcsIDEyNjU0MSwgMjQ1MSwgMjcxNCwgMTE5MzI2LCAwLCA0MzM3OSwgNDkzNywgCiAgICAgNDMzNzYsIDc1MywgNTg0OSwgMTA1OTcsIDQzMDg5LCAxMTcyMiwgOTI0OCwgOTI1NTUsIDQyODc5LCAxMTcyNSwgMCwgMCwgCiAgICAgMjcyNiwgMzEwNywgNzM5NTgsIDQ5NDEsIDY0OTM3LCAxMTkyMzMsIDkxNDAsIDE0MDgsIDUyNjEsIDQ2MDcsIDAsIDE4MSwgCi0gICAgMCwgNDk0MiwgOTUzOSwgNDkzOCwgMCwgNjUyMDEsIDUyNTksIDkzNjksIDY0MTg1LCA0MTQyLCA1MjU3LCAwLCAwLCA0OTY0LCAKLSAgICA1MjY0LCA2NDE3OCwgNjQxNzcsIDEyOTc5LCA0MTQxMSwgNjQxODIsIDY0MTgxLCA2NDE4MCwgNjQxNzksIDk0ODIsIDQ4NzMsIAotICAgIDQxMjMxLCAxODIyLCA0MjUyNiwgMTI4NTgxLCAxMjc1OCwgMzg2NSwgMCwgMCwgMTA1MDAsIDAsIDAsIDc4MDI4LCAwLCAKLSAgICA5ODMwLCA0MzY0MiwgMzg5LCAxMDg5MywgNzUyMSwgMTI3ODc5LCA0ODcyLCA1NDYzLCAwLCAzMTI1LCA5NTY3LCAwLCAKLSAgICA0ODc4LCA1NDU5LCA0NjA0LCA5MTc5MzEsIDk1NTcsIDU0NjUsIDY4NjE3LCAwLCAxMTQ5NCwgMCwgOTU2MywgMTA4NjUsIAotICAgIDc0NTcwLCA0MzI3OSwgNjQxODYsIDAsIDc4NzE0LCA2NDE5MSwgNjQxOTAsIDg4OTgsIDY0MTg4LCAwLCA0MTAzMCwgCi0gICAgNzg4MzYsIDAsIDkxNzgzNSwgNzg4MjAsIDkxNzgzNCwgMCwgNzg4MDUsIDQxMDMxLCA3ODgwMSwgMTE5NjAsIDY3NDUsIAotICAgIDMwODIsIDAsIDc4NTM5LCA3MzkxOSwgMTA1NzMsIDQxNzQ0LCA3MDc5LCA1ODU2LCAxMjcwNDMsIDUxNjMsIDc4ODA5LCAKLSAgICAxMjgxNjIsIDE4MTcsIDY2NzI0LCA3ODUzOCwgMCwgMTA1NjQsIDc3NjMsIDEzMDc3LCA0MTgxMywgNDQwMCwgNDE3NDUsIAotICAgIDY0MjA3LCAxMDI3NSwgODkyNSwgMTAzNzEsIDEwMzA3LCA0MTgxNCwgNDI0OCwgMCwgMCwgNDU0MSwgNjI5OSwgNjQyMDQsIAotICAgIDY0MjAzLCA2NDIwMSwgNjQyMDAsIDY0MTk5LCA2NDE5OCwgMCwgNDIxNTYsIDc4Njg4LCAwLCA2NDE5MywgNjQxOTIsIAotICAgIDY1MjIzLCA5OTQzLCA2NDE5NywgNjQxOTYsIDY0MTk1LCA2NDE5NCwgMTMyODIsIDY0MTc1LCA2NDE3NCwgNjQxNzMsIAotICAgIDc4MTg5LCA4NDYsIDc4MTg2LCA5OTY1LCAwLCAwLCAwLCAwLCAyNTQzLCAxMjE2MywgMzEwOCwgOTc0NSwgNjQxNjcsIAotICAgIDY0MTY2LCA2NDE2NSwgNjQxNjQsIDIxMTAsIDkyMTc2LCA2NDE2OSwgNjQxNjgsIDY0OTQ5LCAxMDk3MiwgMTAyNTEsIAotICAgIDEwMjQ3LCA0Mjc2OCwgNzE1LCA2NDE2MSwgNDMyOTksIDk0NTMsIDUzNDgsIDEwOTQzLCAxMjAzNzgsIDAsIDExMzUyLCAKLSAgICA1NTAsIDk5MTAsIDAsIDAsIDY2NTc5LCAxMTU1MSwgMCwgMTk1MDgwLCA5NTA0LCA3MTg3LCAwLCAxMDM3MywgMCwgCi0gICAgMTIwNzkxLCAxMDI2MSwgMTAyNTMsIDY0MDQsIDEwMjc3LCA3ODE4MywgMTE5ODQsIDE1NTIsIDY1MjIyLCA2OTk4LCAKLSAgICA3ODE4MCwgMCwgMzEyOCwgNDc4OSwgNTA2NywgNTA2NiwgMTE4ODQ5LCA0Nzg0LCAwLCA4ODI3LCAxMTQ2LCA1MDY1LCAKLSAgICA3ODE5NiwgNzgxOTIsIDY4MTM2LCA3ODE5MCwgNDM0MTIsIDUwNjQsIDI0MzEsIDAsIDk0NTAsIDE4MDksIDAsIDc4MjAwLCAKLSAgICA3ODIwMSwgNTA2MiwgMTI2NCwgNjQ4MTcsIDEzMjU0LCAxMTY5NywgMCwgOTc4NSwgNjQ3MTYsIDAsIDM5MzMsIDc0NTU5LCAKLSAgICA0NzQwLCA3OTU0LCAwLCAwLCA0MjYwOSwgMCwgNzQxNzUsIDAsIDEyNzAxNiwgMCwgMCwgNDIxMzAsIDAsIDUxNTEsIAotICAgIDkxNzgyOSwgOTE3ODIzLCAwLCAwLCAwLCA3NjIwLCAzODAwLCA2NTEyMiwgMCwgMCwgODM1NSwgNzg1NCwgMCwgOTU0LCAKLSAgICA2NDkyNywgNDE4NSwgNDEwNDUsIDEyNzE0MSwgNDE0MzgsIDQxNDM5LCA2ODY2NiwgMTA3MTEsIDQ1OTMsIDEyNzc0NSwgCi0gICAgMTIwNTg0LCAwLCA2NDc3NCwgODA1MywgMTA1MzIsIDY2NzI3LCAwLCAwLCAwLCA2NDc1OSwgNjM4MSwgNTE2NiwgOTg4OCwgCi0gICAgMTI3ODAwLCA1MTQ4LCA0MjgzNCwgMCwgNzgyMDUsIDc4MjA2LCA0Mzc4NywgNzgyMDQsIDY0MTMxLCAzMTE5LCA5MTc4MTQsIAotICAgIDAsIDMwNjAsIDY0MTM1LCA5OTg2LCAwLCA3Nzg3NiwgNjM2LCAxMTY5OCwgMCwgMCwgOTkxNiwgMTE3MDEsIDc4MzYsIAotICAgIDQyNzQxLCA2NDEzNywgODMyMCwgNzg2NDAsIDg4NjMsIDkyNDMxLCAxMTk5NjAsIDE0NzcsIDQzMjg5LCAwLCA3NDM1OCwgCi0gICAgODYxOCwgMCwgOTkwOCwgMCwgMCwgMCwgMzkzNywgMTIzMTIsIDAsIDAsIDAsIDY0NzgxLCA5MTIsIDYzNDksIDQ1MzYsIAotICAgIDExOTk2MywgNzQ1MzIsIDAsIDYyNDQsIDAsIDE5NDU4MCwgMzkzNSwgMTIwNjY1LCAwLCAwLCAxMTk1MCwgNTM5MiwgCi0gICAgNDIyNDgsIDY1MTI5LCA2ODY1NiwgNTM5NywgMCwgMTIwNDYsIDEyNTk5LCAwLCAwLCA1Mzk1LCAwLCA1MzkzLCAzNTQsIAotICAgIDY4NjE1LCAxMTk5NDgsIDc4NTAzLCAwLCAwLCA0MjAzOSwgMCwgMCwgNjQxNDIsIDYyNiwgMCwgNTg5NSwgMCwgMCwgNTc4MCwgCi0gICAgMCwgMCwgMTI4ODc0LCAwLCAwLCA0MzI5NywgMCwgNDMxMSwgNDY0NCwgODgxOCwgMCwgMTI4MTg2LCAwLCA3MTQ1LCAzOTE4LCAKLSAgICA2NjQ1MiwgMzc5NywgMTY0NCwgOTIzNDYsIDk2NTgsIDQxNDAsIDExMzg1LCA2NTk0NywgNjQ1NSwgOTAzMCwgODEzLCAKLSAgICAxMTk5NDUsIDY4MTMxLCA0MTQ2LCAxMTk5NTcsIDUzNjAsIDI0NjYsIDAsIDY3NjY5LCAxMTk5NDIsIDYyNDksIDQyMTE3LCAKLSAgICA5MjI4NywgMTI4MjI0LCAwLCAwLCA3NDA0NiwgMTIwNTgzLCA0OTExLCA5ODgsIDkxNzgwNywgMCwgMCwgNDMwNjEsIDcwNTQsIAorICAgIDk4MzQyMiwgNDk0MiwgOTUzOSwgNDkzOCwgMCwgNjUyMDEsIDUyNTksIDkzNjksIDY0MTg1LCA0MTQyLCA1MjU3LCAKKyAgICA5ODM2MDEsIDAsIDQ5NjQsIDUyNjQsIDY0MTc4LCA2NDE3NywgMTI5NzksIDQxNDExLCA2NDE4MiwgNjQxODEsIDY0MTgwLCAKKyAgICA2NDE3OSwgOTQ4MiwgNDg3MywgNDEyMzEsIDE4MjIsIDQyNTI2LCAxMjg1ODEsIDEyNzU4LCAzODY1LCAwLCAwLCAxMDUwMCwgCisgICAgMCwgMTE5MDI0LCA3ODAyOCwgOTI0MDgsIDk4MzAsIDQzNjQyLCAzODksIDEwODkzLCA3NTIxLCAxMjc4NzksIDQ4NzIsIAorICAgIDU0NjMsIDAsIDMxMjUsIDk1NjcsIDAsIDQ4NzgsIDU0NTksIDQ2MDQsIDkxNzkzMSwgOTU1NywgNTQ2NSwgNjg2MTcsIDAsIAorICAgIDExNDk0LCAxMjY0OTIsIDk1NjMsIDEwODY1LCA3NDU3MCwgNDMyNzksIDY0MTg2LCA5ODM0MzEsIDc4NzE0LCA2NDE5MSwgCisgICAgNjQxOTAsIDg4OTgsIDY0MTg4LCAwLCA0MTAzMCwgNzg4MzYsIDAsIDkxNzgzNSwgNzg4MjAsIDkxNzgzNCwgMCwgNzg4MDUsIAorICAgIDQxMDMxLCA3ODgwMSwgMTE5NjAsIDY3NDUsIDMwODIsIDk4MzQyOSwgNzg1MzksIDczOTE5LCAxMDU3MywgNDE3NDQsIAorICAgIDcwNzksIDU4NTYsIDEyNzA0MywgNTE2MywgNzg4MDksIDEyODE2MiwgMTgxNywgNjY3MjQsIDc4NTM4LCAwLCAxMDU2NCwgCisgICAgNzc2MywgMTMwNzcsIDQxODEzLCA0NDAwLCA0MTc0NSwgNjQyMDcsIDEwMjc1LCA4OTI1LCAxMDM3MSwgMTAzMDcsIDQxODE0LCAKKyAgICA0MjQ4LCAwLCAwLCA0NTQxLCA2Mjk5LCA2NDIwNCwgNjQyMDMsIDY0MjAxLCA2NDIwMCwgNjQxOTksIDY0MTk4LCAxMjY0NzEsIAorICAgIDQyMTU2LCA3ODY4OCwgMCwgNjQxOTMsIDY0MTkyLCA2NTIyMywgOTk0MywgNjQxOTcsIDY0MTk2LCA2NDE5NSwgNjQxOTQsIAorICAgIDEzMjgyLCA2NDE3NSwgNjQxNzQsIDY0MTczLCA3ODE4OSwgODQ2LCA3ODE4NiwgOTk2NSwgMCwgMCwgMCwgMCwgMjU0MywgCisgICAgMTIxNjMsIDMxMDgsIDk3NDUsIDY0MTY3LCA2NDE2NiwgNjQxNjUsIDY0MTY0LCAyMTEwLCA5MjE3NiwgNjQxNjksIDY0MTY4LCAKKyAgICA2NDk0OSwgMTA5NzIsIDEwMjUxLCAxMDI0NywgNDI3NjgsIDcxNSwgMjI5NSwgNDMyOTksIDk0NTMsIDUzNDgsIDEwOTQzLCAKKyAgICAxMjAzNzgsIDAsIDExMzUyLCA1NTAsIDk5MTAsIDEyNjcwNSwgMCwgNjY1NzksIDExNTUxLCAwLCAxOTUwODAsIDk1MDQsIAorICAgIDcxODcsIDAsIDEwMzczLCAwLCAxMjA3OTEsIDEwMjYxLCAxMDI1MywgNjQwNCwgMTAyNzcsIDc4MTgzLCAxMTk4NCwgMTU1MiwgCisgICAgNjUyMjIsIDY5OTgsIDc4MTgwLCAwLCAzMTI4LCA0Nzg5LCA1MDY3LCA1MDY2LCAxMTg4NDksIDQ3ODQsIDAsIDg4MjcsIAorICAgIDExNDYsIDUwNjUsIDY5ODkwLCA3ODE5MiwgNjgxMzYsIDc4MTkwLCA0MzQxMiwgNTA2NCwgMjQzMSwgMCwgOTQ1MCwgMTgwOSwgCisgICAgMCwgNzgyMDAsIDc4MjAxLCA1MDYyLCAxMjY0LCA2NDgxNywgMTMyNTQsIDExNjk3LCAxMjY1OTgsIDk3ODUsIDY0NzE2LCAwLCAKKyAgICAzOTMzLCA3NDU1OSwgNDc0MCwgNzk1NCwgMCwgMCwgNDI2MDksIDAsIDc0MTc1LCAwLCAxMjcwMTYsIDAsIDk4Mzg2NCwgCisgICAgNDIxMzAsIDAsIDUxNTEsIDkxNzgyOSwgOTE3ODIzLCAwLCA5Mzk4MCwgMCwgNzYyMCwgMzgwMCwgNjUxMjIsIDAsIDAsIAorICAgIDgzNTUsIDc4NTQsIDAsIDk1NCwgNjQ5MjcsIDQxODUsIDQxMDQ1LCAxMjcxNDEsIDQxNDM4LCA0MTQzOSwgNjg2NjYsIAorICAgIDEwNzExLCA0NTkzLCAxMjc3NDUsIDEyMDU4NCwgOTgzNDAwLCA2NDc3NCwgODA1MywgMTA1MzIsIDY2NzI3LCAwLCAwLCAwLCAKKyAgICA2NDc1OSwgNjM4MSwgNTE2NiwgOTg4OCwgMTI3ODAwLCA1MTQ4LCA0MjgzNCwgMCwgNzgyMDUsIDc4MjA2LCA0Mzc4NywgCisgICAgNzgyMDQsIDY0MTMxLCAzMTE5LCA5MTc4MTQsIDAsIDMwNjAsIDY0MTM1LCA5OTg2LCAwLCA3Nzg3NiwgNjM2LCAxMTY5OCwgCisgICAgMCwgOTgzNDQzLCA5OTE2LCAxMTcwMSwgNzgzNiwgNDI3NDEsIDY0MTM3LCA4MzIwLCA3ODY0MCwgODg2MywgOTI0MzEsIAorICAgIDExOTk2MCwgMTQ3NywgNDMyODksIDAsIDc0MzU4LCA4NjE4LCA5ODMzOTQsIDk5MDgsIDk4Mzk3MiwgMCwgMCwgMzkzNywgCisgICAgMTIzMTIsIDAsIDk4MzM5NSwgMCwgNjQ3ODEsIDkxMiwgNjM0OSwgNDUzNiwgOTM5NTQsIDc0NTMyLCAxMjY1OTQsIDYyNDQsIAorICAgIDkyMjA5LCA3MTM0MSwgMzkzNSwgMTIwNjY1LCA5ODM0NjgsIDAsIDExOTUwLCA1MzkyLCA0MjI0OCwgNjUxMjksIDY4NjU2LCAKKyAgICA1Mzk3LCAwLCAxMjA0NiwgMTI1OTksIDAsIDEyODI2MSwgNTM5NSwgMCwgNTM5MywgMzU0LCA2ODYxNSwgMTE5OTQ4LCAKKyAgICA3ODUwMywgMCwgMCwgNDIwMzksIDAsIDAsIDY0MTQyLCA2MjYsIDAsIDU4OTUsIDAsIDAsIDU3ODAsIDAsIDAsIDEyODg3NCwgCisgICAgMCwgMCwgNDMyOTcsIDk4MzA3OSwgNDMxMSwgNDY0NCwgODgxOCwgMCwgMTI4MTg2LCAwLCA3MTQ1LCAzOTE4LCA2NjQ1MiwgCisgICAgMzc5NywgMTY0NCwgOTIzNDYsIDk2NTgsIDQxNDAsIDExMzg1LCA2NTk0NywgNjQ1NSwgOTAzMCwgODEzLCAxMTk5NDUsIAorICAgIDY4MTMxLCA0MTQ2LCAxMTk5NTcsIDUzNjAsIDI0NjYsIDAsIDY3NjY5LCAxMTk5NDIsIDYyNDksIDQyMTE3LCA5MjI4NywgCisgICAgMTI4MjI0LCAwLCAwLCA3NDA0NiwgNDM3NDUsIDQ5MTEsIDk4OCwgOTE3ODA3LCAwLCA5ODM0NjAsIDQzMDYxLCA3MDU0LCAKICAgICA2NDE0NywgMCwgNjQ5MjAsIDY4MTk1LCA2Njk4LCAxMTg5MzMsIDkyNTA2LCAwLCAxMjAwMDYsIDExOTgxLCAxMjIwMiwgMCwgCiAgICAgMTEwMzIsIDY3NjU0LCA2MDkzLCAxMTYwOCwgOTc1LCA2ODY2MiwgNjU4NDMsIDE3MCwgMCwgMCwgNDE2OSwgMCwgNDE4NTksIAogICAgIDYwNTgsIDEyMDQwMSwgMTMyMDMsIDEyMDY1NywgMCwgMCwgNjg2NTcsIDk4MTgsIDEwMTc4LCAxMDMyNCwgNDIxMDYsIAogICAgIDU4OTgsIDc0NTQwLCA0NzM4LCA0MTg1NiwgNzA2MiwgOTE3ODY1LCA0NzM3LCAxMTc3OSwgNDc0MiwgMTIwNTY0LCA5MjM5MSwgCi0gICAgNzM3MzYsIDAsIDk4MjUsIDY0NDgsIDY3MTUsIDEyNzAwOCwgNDgzMSwgMCwgOTI1MjUsIDAsIDUzMDAsIDQ3NDEsIDQyMTA4LCAKLSAgICAwLCA2NDE1OSwgNDczNiwgNjQxNDgsIDAsIDg0OSwgOTIxOTEsIDc4NDkxLCA0MzI4OCwgMCwgNjY2MjAsIDAsIDEyNzMzMSwgCi0gICAgNjU1NDksIDk0OTYsIDY0NTk4LCAxMTg4NjYsIDAsIDc4NzYsIDY4MTMyLCA5MTc4NzIsIDM5MjgsIDkxNzg3MCwgNDMzNzgsIAotICAgIDEwNzA2LCA3MTk4LCAwLCA0ODQyLCAxMjA1MywgMTI4MTI5LCAwLCA0ODQxLCAwLCA0MTcxLCAxMjAwOCwgNjI1MSwgMzkyMywgCi0gICAgMTQ5MCwgMCwgMTE5NTkxLCAwLCA0MDk3MiwgNTI0NSwgMCwgMTAxMTQsIDQyMDAxLCA0MTg4OCwgNDg0NSwgODMzMiwgCi0gICAgNDA5NzQsIDY0MzQ3LCA0ODQwLCA5MDc3LCA3ODM0NiwgMTc0NywgOTE3ODQ5LCA0ODI1LCA2OTI0MCwgOTE3ODUyLCAKLSAgICA2ODY1NSwgMCwgMCwgMCwgMCwgNjg2MjgsIDAsIDk4NTAsIDExODkzNywgMzY3LCAxNDcyLCA5MTc4NTksIDY2ODcsIDEyNzQsIAotICAgIDAsIDU5MDUsIDEyMzM5LCA4OTE5LCA3Mzk1MywgMTA5MDcsIDY1MjYxLCAxMTAyMywgMTE5NTU5LCA0ODMwLCA5MTM0LCAKLSAgICA3ODY2NiwgNjQxMjYsIDQzMDExLCAwLCAwLCA2NDEwMSwgMCwgMCwgNDgyNCwgMTA2MTQsIDEyMDM5MCwgMCwgMTg4OCwgCi0gICAgMTk2MCwgNzg2MSwgOTE3ODU2LCA3ODUyNCwgNDE4MzYsIDQzMDEyLCA2MDUyLCA2MDY0LCA1NCwgNDMwMDksIDEyMjE0LCAwLCAKLSAgICA2MjExLCAwLCAzNTgsIDQxOTk3LCA0MTgzMywgMTE0NDIsIDEwNzU4LCA2NTc3NCwgMCwgMTIwMzg0LCA2NDExNSwgOTIyMjEsIAotICAgIDAsIDAsIDAsIDExOTA1MywgMCwgMTI3NjUsIDY0MTE4LCAxMjY5OTgsIDEyOTYyLCAwLCAwLCA0MDE3LCAxMjgyNywgNTI0MSwgCi0gICAgMTIwMzkyLCAwLCA0MTExOCwgMzkyNCwgMCwgMTEzNjYsIDkxNzg0MywgMCwgMCwgOTE3ODQ2LCA0MTExNiwgOTE3ODQ0LCAKLSAgICA5MTc1NjQsIDAsIDExMzYzLCAxMjA1NywgMTE5MTcsIDE1NjcsIDc0MDAwLCA0NzIxLCAwLCA2NjIwMiwgODk1NywgNDEzOSwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMTI3NDAsIDEyODcwMiwgNDcyMiwgNjgxNiwgMTI3NzkzLCAxMjc1OSwgNDcyNSwgMCwgNDcyNiwgCi0gICAgMCwgMCwgMCwgOTE3OTA0LCA5MTc5MDUsIDAsIDEyNzU1LCAxMjc2MiwgNDAxNSwgMCwgODA1MiwgNDc2LCAwLCAwLCAKLSAgICAxMjgyOTQsIDY0MjEyLCA0MTAyMCwgMTM4MiwgNjQyMDksIDY0MjE2LCA2NDIxNSwgNjQyMTQsIDE2NTYsIDQxODMxLCAwLCAKKyAgICA3MzczNiwgOTgzMzU2LCA5ODI1LCA2NDQ4LCA2NzE1LCAxMjcwMDgsIDQ4MzEsIDAsIDkyNTI1LCAwLCA1MzAwLCA0NzQxLCAKKyAgICA0MjEwOCwgOTgzMzQ2LCA2NDE1OSwgNDczNiwgNjQxNDgsIDAsIDg0OSwgOTIxOTEsIDc4NDkxLCA0MzI4OCwgMCwgNjY2MjAsIAorICAgIDkxNzkxNiwgMTI3MzMxLCA2NTU0OSwgOTQ5NiwgNjQ1OTgsIDExODg2NiwgOTgzMzU4LCA3ODc2LCA2ODEzMiwgOTE3ODcyLCAKKyAgICAzOTI4LCA5MTc4NzAsIDQzMzc4LCAxMDcwNiwgNzE5OCwgMCwgNDg0MiwgMTIwNTMsIDEyODEyOSwgMCwgNDg0MSwgMCwgCisgICAgNDE3MSwgMTIwMDgsIDYyNTEsIDM5MjMsIDE0OTAsIDAsIDExOTU5MSwgMTI2NTEyLCA0MDk3MiwgNTI0NSwgMCwgMTAxMTQsIAorICAgIDQyMDAxLCA0MTg4OCwgNDg0NSwgODMzMiwgNDA5NzQsIDY0MzQ3LCA0ODQwLCA5MDc3LCA3ODM0NiwgMTc0NywgOTE3ODQ5LCAKKyAgICA0ODI1LCA2OTI0MCwgOTE3ODUyLCA2ODY1NSwgMCwgOTgzMzgwLCAwLCAwLCA2ODYyOCwgOTgzMzM5LCA5ODUwLCAxMTg5MzcsIAorICAgIDM2NywgMTQ3MiwgOTE3ODU5LCA2Njg3LCAxMjc0LCAwLCA1OTA1LCAxMjMzOSwgODkxOSwgNzM5NTMsIDEwOTA3LCA2NTI2MSwgCisgICAgMTEwMjMsIDExOTU1OSwgNDgzMCwgOTEzNCwgNzg2NjYsIDY0MTI2LCA0MzAxMSwgMCwgMTI2NjI2LCA2NDEwMSwgMCwgMCwgCisgICAgNDgyNCwgMTA2MTQsIDExOTY1OSwgMCwgMTg4OCwgMTk2MCwgNzg2MSwgOTE3ODU2LCA3ODUyNCwgNDE4MzYsIDQzMDEyLCAKKyAgICA2MDUyLCA2MDY0LCA1NCwgNDMwMDksIDEyMjE0LCAwLCA2MjExLCAwLCAzNTgsIDQxOTk3LCA0MTgzMywgMTE0NDIsIAorICAgIDEwNzU4LCA2NTc3NCwgMCwgMTIwMzg0LCA2NDExNSwgOTIyMjEsIDcwMDE4LCAwLCAwLCAxMTkwNTMsIDAsIDEyNzY1LCAKKyAgICA2NDExOCwgMTI2OTk4LCAxMjk2MiwgMCwgMTI2NTgwLCA0MDE3LCAxMjgyNywgNTI0MSwgMTIwMzkyLCAwLCA0MTExOCwgCisgICAgMzkyNCwgMCwgMTEzNjYsIDkxNzg0MywgMCwgMCwgOTE3ODQ2LCA0MTExNiwgOTE3ODQ0LCA5MTc1NjQsIDAsIDExMzYzLCAKKyAgICAxMjA1NywgMTE5MTcsIDE1NjcsIDc0MDAwLCA0NzIxLCAxMjY2NDEsIDY2MjAyLCA4OTU3LCA0MTM5LCAwLCAwLCAwLCAwLCAKKyAgICAwLCAxMjc0MCwgMTI4NzAyLCA0NzIyLCA2ODE2LCAxMjc3OTMsIDEyNzU5LCA0NzI1LCA5ODMzNzUsIDQ3MjYsIDAsIAorICAgIDE5NDg5MiwgMCwgMTI4MzIxLCA5MTc5MDUsIDAsIDEyNzU1LCAxMjc2MiwgNDAxNSwgMCwgODA1MiwgNDc2LCAwLCAwLCAKKyAgICAxMjgyOTQsIDY0MjEyLCA0MTAyMCwgMTM4MiwgNjQyMDksIDY0MjE2LCA0NDAwMiwgNjQyMTQsIDE2NTYsIDQxODMxLCAwLCAKICAgICAwLCA0MTg0MywgODcyMCwgMzkwOCwgMTQ1MiwgMTMxMTEsIDAsIDY0MDY3LCAxMjczMjgsIDg1NTIsIDY0MTEzLCA0MTg0NSwgCiAgICAgMzg0OSwgNzg3MzIsIDY2MjMyLCA5Nzc4LCAxMjAwNjYsIDU4OTEsIDcwNjQsIDU1LCA5OTQ4LCAxMTkwODUsIDAsIDAsIAotICAgIDc5MzUsIDI0MjAsIDAsIDExMTQsIDkyNTk5LCA2NzU4NSwgNzg2NzUsIDEyMDA1MywgOTIzNTAsIDEyMDA1MSwgMzkzOCwgCisgICAgNzkzNSwgMjQyMCwgMCwgMTExNCwgOTI1OTksIDY3NTg1LCA3MDEwNCwgMTIwMDUzLCA5MjM1MCwgMTIwMDUxLCAzOTM4LCAKICAgICAxMjAwNTcsIDY1NDE3LCA2NDcxNywgMTIwMDYwLCAxMjAwNjEsIDY1NDE1LCAxMjAwNTksIDYyOTIsIDY1MzAzLCA3OTU1LCAKICAgICA2NDUyLCA0NzEzLCAxMjgxOTYsIDY2MjQ5LCA5MTc4ODUsIDkxNzg5MCwgOTE3ODkxLCA2NTE1MiwgNzE5LCAxMjAwNDQsIAogICAgIDc4NjIzLCAxMjAwNDIsIDY3MTMsIDQ1MzIsIDY1NDEyLCA2OTgyMiwgMTA4NjgsIDQ3MTcsIDIzNDksIDU5MDIsIDY2NDUwLCAKICAgICA0NzEyLCA5MTc5MDIsIDkxNzg5OSwgOTE3OTAwLCA2NTQxNiwgODE1NSwgNDcxOCwgMzk0MiwgNDcxNCwgOTYyNSwgMCwgCi0gICAgNjM4MywgMTk0NzQ0LCAxMjAwNiwgMTI4NTY1LCAwLCAwLCAwLCAwLCA2NTQxNCwgNjQ1NCwgMTIyOSwgMCwgNjY0MzcsIAotICAgIDY2MDI1LCA3ODY5OSwgMCwgNDI1MDAsIDEyMDUwOCwgNDgwOSwgOTYyMywgOTE3ODc0LCA3ODY5NCwgOTE3ODgwLCAKKyAgICA2MzgzLCAxOTQ3NDQsIDEyMDA2LCAxMjg1NjUsIDAsIDAsIDAsIDAsIDY1NDE0LCA2NDU0LCAxMjI5LCAxMjY2MDYsIAorICAgIDY2NDM3LCA2NjAyNSwgNzg2OTksIDAsIDQyNTAwLCAxMjA1MDgsIDQ4MDksIDk2MjMsIDkxNzg3NCwgNzg2OTQsIDkxNzg4MCwgCiAgICAgOTE3ODc3LCA5MTc4NzgsIDY1NDA1LCA2ODE1OSwgMTI4OTMsIDkxNzg4MiwgNTM2NSwgNDU0NSwgODkwMSwgOTI0MjEsIAogICAgIDExOTU1NSwgNDgxMywgMTI4MjYyLCAwLCA1OTI1LCA0ODA4LCA2NDMzMCwgMCwgNjU0NzUsIDExODk0MCwgMTk1MDI4LCAKLSAgICA0ODE0LCAwLCA0ODEwLCAwLCAwLCA2NDkyOCwgMTA1NDMsIDAsIDM1MjIsIDAsIDQxNCwgNjU0MDQsIDAsIDE5NTAyNywgCisgICAgNDgxNCwgMCwgNDgxMCwgMCwgMCwgNjQ5MjgsIDEwNTQzLCAwLCAzNTIyLCA3MTMzNSwgNDE0LCA2NTQwNCwgMCwgMTk1MDI3LCAKICAgICA2NDU2LCA3MzgyMCwgMCwgNjY5MSwgNDIxOTMsIDkyMjI1LCAxMjgxNzEsIDAsIDc0NDk1LCAwLCAwLCAwLCAxMTg4MjAsIAogICAgIDk3NTEsIDY1NDA3LCAxMjgwODUsIDExNzcwLCAzOTE5LCAwLCAwLCA2NTA2MSwgMCwgMCwgMCwgMTIyMzUsIDAsIDAsIAotICAgIDEyNzIzMywgNjQwOTIsIDAsIDY0MDgwLCAwLCA2NDA5MCwgMCwgMCwgMTAxNjIsIDEwMzEwLCAwLCA4NDU0LCAxMjc4ODgsIAotICAgIDQyMDM4LCAzODcsIDQxMzYzLCAxMjczNywgMCwgNDc4MCwgNDMzNjgsIDAsIDY0MzEwLCA2NDYyMSwgNjczMiwgMCwgMCwgMCwgCi0gICAgMCwgMCwgODg5NiwgMCwgMzc1LCA2OTc2LCA2NjU4MiwgMTE5MDA1LCAwLCAwLCAwLCAxMTkyMDIsIDExOTIwMywgMTI1MjYsIAotICAgIDQzMTIwLCAyMzE1LCAwLCAxOTM4LCAxMTkxOTcsIDAsIDQ1MjksIDExOTIwMCwgMTE5MjAxLCAxMTkxOTgsIDExOTE5OSwgCi0gICAgNjk2OTIsIDAsIDY5Njk4LCAxMzE1MCwgNjQ0OTIsIDAsIDAsIDAsIDEyOTAyLCAwLCA0Mjg5MSwgNjYzMjcsIDc0Mjk4LCAwLCAKLSAgICAxMDc5OSwgNjk2OTAsIDI1ODcsIDY2MzcyLCAwLCA0MTkzLCA5MjI1MCwgNDI0MSwgMCwgNzk5OCwgMCwgMCwgMCwgMCwgCi0gICAgMjMxNiwgMTE4ODIxLCAwLCAwLCAwLCA2NDI5NywgNzQ3OTksIDkyNDQyLCA3NDE0MCwgMCwgNTM3MywgMCwgMCwgMzc2MiwgCi0gICAgMTAwMTUsIDEyNzMzNSwgMTE5MjMyLCAwLCA0MTU5MCwgMCwgOTIzNzgsIDM3ODAsIDc0ODUsIDU3NzksIDAsIDQyMDM3LCAwLCAKLSAgICAzOTA2LCAxMjM0OSwgMCwgODMyNiwgMCwgNjU0OTgsIDM3NjMsIDY5ODMsIDU2MTgsIDAsIDM3NzksIDAsIDQzNjEzLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAyODAsIDc0NTU4LCAxMjczMzIsIDY4MTM4LCAxMzA3MiwgMTg5NCwgMCwgMCwgNjU0NzgsIAotICAgIDQzMzEwLCA3MjMxLCAwLCAxMTc3MywgMCwgMCwgMCwgMCwgMjU1MSwgMCwgNjQ1MywgMTAyMDAsIDYyMzUsIDAsIDExOTIzNywgCi0gICAgMCwgMTI4ODA1LCA0NDcwLCAxMTk2MTMsIDkxNzU1NywgNzc4MCwgNTM2OSwgMTE4OTU4LCA1MjQ5LCAwLCA1MzY3LCA4NzU2LCAKLSAgICAxMjcxNDMsIDAsIDUzNzcsIDEyMDU4NSwgNjgxNDMsIDE2ODgsIDc4MjQ1LCAwLCA2OTY4NSwgMCwgMCwgMCwgNDQwMjAsIAotICAgIDY4MDgsIDQxMzE5LCAxMzAwLCAxMDY1MCwgNDE2OTIsIDY0NTA1LCA0NjY4LCAwLCAxMTk2MjQsIDE0NjUsIDEwODUwLCAKKyAgICAxMjcyMzMsIDY0MDkyLCA5ODM0NjIsIDY0MDgwLCAwLCA2NDA5MCwgMCwgNjk5MTMsIDEwMTYyLCAxMDMxMCwgMCwgODQ1NCwgCisgICAgMTI3ODg4LCA0MjAzOCwgMzg3LCA0MTM2MywgMTI3MzcsIDAsIDQ3ODAsIDQzMzY4LCAwLCA2NDMxMCwgNjQ2MjEsIDY3MzIsIAorICAgIDc4MTE2LCAwLCA5ODMxMzksIDAsIDk4MzA3NCwgODg5NiwgMCwgMzc1LCA2OTc2LCA2NjU4MiwgMTE5MDA1LCA5ODM4NjUsIAorICAgIDAsIDk4MzQyNiwgMTE5MjAyLCAxMTkyMDMsIDEyNTI2LCA0MzEyMCwgMjMxNSwgMCwgMTkzOCwgMTE5MTk3LCAwLCA0NTI5LCAKKyAgICAxMTkyMDAsIDExOTIwMSwgMTE5MTk4LCAxMTkxOTksIDY5NjkyLCA5ODM0MjQsIDY5Njk4LCAxMzE1MCwgNjQ0OTIsIDAsIDAsIAorICAgIDIyOTEsIDEyOTAyLCAwLCA0Mjg5MSwgNjYzMjcsIDc0Mjk4LCA5MTc4NTcsIDEwNzk5LCA2OTY5MCwgMjU4NywgNjYzNzIsIAorICAgIDAsIDQxOTMsIDkyMjUwLCA0MjQxLCA5ODMwNTcsIDc5OTgsIDAsIDAsIDAsIDEyNjY0MCwgMjMxNiwgMTE4ODIxLCAwLCAwLCAKKyAgICAwLCA2NDI5NywgNzQ3OTksIDkyNDQyLCA3NDE0MCwgMCwgNTM3MywgMCwgOTgzODc3LCAzNzYyLCAxMDAxNSwgMTIwNjcyLCAKKyAgICAxMTkyMzIsIDAsIDQxNTkwLCAwLCA3MDA5OCwgMzc4MCwgNzQ4NSwgNTc3OSwgMCwgNDIwMzcsIDAsIDM5MDYsIDEyMzQ5LCAKKyAgICAwLCA4MzI2LCAwLCA2NTQ5OCwgMzc2MywgNjk4MywgNTYxOCwgMCwgMzc3OSwgMCwgNDM2MTMsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDI4MCwgNzQ1NTgsIDEyNzMzMiwgNjgxMzgsIDEzMDcyLCAxODk0LCAwLCAwLCA2NTQ3OCwgNDMzMTAsIDcyMzEsIDAsIAorICAgIDExNzczLCAwLCAwLCAwLCAwLCAyNTUxLCAwLCA2NDUzLCAxMDIwMCwgNjIzNSwgOTgzNzQzLCAxMTkyMzcsIDAsIDEyODgwNSwgCisgICAgNDQ3MCwgMTE4MjYsIDkxNzU1NywgNzc4MCwgNTM2OSwgMTE4OTU4LCA1MjQ5LCAwLCA1MzY3LCA4NzU2LCAxMjcxNDMsIDAsIAorICAgIDUzNzcsIDEyMDU4NSwgNjgxNDMsIDE2ODgsIDc4MjQ1LCA5ODMzNDgsIDY5Njg1LCA5ODM3NDcsIDAsIDAsIDQ0MDIwLCAKKyAgICA2ODA4LCA0MTMxOSwgMTMwMCwgMTA2NTAsIDQxNjkyLCA2NDUwNSwgMjI5MCwgMCwgMTE5NjI0LCAxNDY1LCAxMDg1MCwgCiAgICAgMzk0MywgMCwgNDEyMDUsIDQxMzE1LCAxMTg5NjEsIDAsIDAsIDUzNTIsIDAsIDAsIDg4MzksIDQxMzE0LCA3Mzg0LCA3Nzg1LCAKICAgICA0MTIwNCwgMTI3MzIyLCA0MTIwOSwgNjk2MzcsIDkyMjQxLCA0MzYwNywgMCwgMCwgNTQyMCwgMzg5NywgMTAxMzQsIDAsIAogICAgIDc0NDE3LCA0MDE4LCA3MTUwLCA2ODEyNywgMCwgMCwgMCwgMCwgMTI3NTI2LCAyNTYxLCA2ODYyMSwgMzU0MiwgNzE0OCwgCiAgICAgMTIwNzYsIDc5NTEsIDY4MTUyLCAxMTg4NTcsIDUzMDMsIDYyNzYsIDE3MDYsIDAsIDc4NzUxLCA3MTQ2LCAwLCA2NTE1MCwgCi0gICAgNDE4MTksIDAsIDczOTUxLCAxMDg0NywgNDE4MjIsIDk5ODUsIDg2MCwgMCwgMTA1MDYsIDAsIDY5NjQxLCAxMDc1MywgCisgICAgNDE4MTksIDAsIDczOTUxLCAxMDg0NywgNDE4MjIsIDk5ODUsIDg2MCwgMCwgMTA1MDYsIDk4MzQyNywgNjk2NDEsIDEwNzUzLCAKICAgICAxMDgzMCwgMCwgNjE1LCA2NDQ5MCwgNzU3NCwgOTI2MTcsIDc3OTIyLCAwLCAxMjkwOSwgNDMwMTYsIDY0NTU5LCAxMjcwMjgsIAotICAgIDAsIDAsIDAsIDIwMjAsIDAsIDQwMjIsIDEyODc4MywgMCwgNzc5MjMsIDAsIDQxNjkxLCAwLCAwLCA3NDMyOSwgMCwgCi0gICAgNjQ2MjIsIDkwNzAsIDAsIDY4NDExLCAzOTExLCA0MjgyOSwgNDMxMjIsIDEwMzMsIDc0NDQwLCAwLCA3MDAwLCAzOTA0LCAwLCAKLSAgICAxMjgxOTgsIDAsIDExODkzMSwgMTE5NjMwLCAxMzEyMywgMTA4NDYsIDM0NTAsIDEyNzM2MCwgNzM5NywgMTE4ODA3LCAwLCAKLSAgICA0Mjc3OCwgMTAwMDAsIDQxMDg4LCA0NDksIDAsIDM3NzcsIDY4NDU4LCAwLCA5NjM2LCAwLCAxMDczOCwgNjk2MzQsIDkzNjcsIAotICAgIDU5MywgNDEwODUsIDM5OTksIDY1MjI2LCA0MTcxMywgMTI3NjQsIDAsIDY0NDA5LCAzNTk2LCAwLCAwLCA5NzYzLCAKKyAgICAwLCAwLCA2Nzk5NiwgMjAyMCwgMCwgNDAyMiwgMTI4NzgzLCAwLCA3NzkyMywgMTI2NTkzLCA0MTY5MSwgMCwgMCwgNzQzMjksIAorICAgIDAsIDY0NjIyLCA5MDcwLCAwLCA2ODQxMSwgMzkxMSwgNDI4MjksIDQzMTIyLCAxMDMzLCA3NDQ0MCwgMCwgNzAwMCwgMzkwNCwgCisgICAgMCwgMTI4MTk4LCAwLCAxMTg5MzEsIDExOTYzMCwgMTMxMjMsIDEwODQ2LCAzNDUwLCAxMjczNjAsIDczOTcsIDExODgwNywgCisgICAgMCwgNDI3NzgsIDEwMDAwLCA0MTA4OCwgNDQ5LCAwLCAzNzc3LCA2ODQ1OCwgMCwgOTYzNiwgMCwgMTA3MzgsIDY5NjM0LCAKKyAgICA5MzY3LCA1OTMsIDQxMDg1LCAzOTk5LCA2NTIyNiwgNDE3MTMsIDEyNzY0LCAwLCA2NDQwOSwgMzU5NiwgMCwgMCwgOTc2MywgCiAgICAgMTIwMjgwLCA5MjE5MiwgMTIzNDcsIDEyNCwgMTI5ODEsIDQxMTI3LCAyMDkyLCA5MjY4NywgMCwgMCwgMCwgMTA4MjAsIAotICAgIDQzOTg3LCAwLCAwLCAxNzY5LCA0MTcxNSwgMjQ2MywgNzg0ODksIDAsIDEyNzcwLCAwLCAxNTM4LCAwLCA0MzEyNCwgMCwgCi0gICAgMTk1MDU4LCA3Nzk1LCAxMjAzMDAsIDAsIDQ4MjgsIDEyNTgsIDEyNzgwMiwgMjAwNiwgMCwgMCwgOTQ5OCwgMTI3MDMyLCAKKyAgICA0Mzk4NywgMCwgMCwgMTc2OSwgNDE3MTUsIDI0NjMsIDc4NDg5LCAwLCAxMjc3MCwgMTI2NTAwLCAxNTM4LCAwLCA0MzEyNCwgCisgICAgMCwgMTk1MDU4LCA3Nzk1LCAxMjAzMDAsIDAsIDQ4MjgsIDEyNTgsIDEyNzgwMiwgMjAwNiwgMCwgMCwgOTQ5OCwgMTI3MDMyLCAKICAgICAxMjcwMzMsIDEyMDI4OSwgMTIwMjg4LCAzOTM5LCAxMjAyOTAsIDg4NDYsIDg5NDMsIDEyMDI4NywgMTIwMjg2LCAyNjUwLCAKICAgICA0NDkxLCAxOTYxLCA0MjYwMiwgMTE1MjUsIDEyMDI5MiwgMTk1OSwgMTIwMjk0LCA1NTIyOCwgMTE3NzQsIDQxMDE2LCAwLCAKICAgICA2ODY3NSwgMTI4MDU0LCAxNTExLCA5MzI0LCA3ODIxMSwgMTA1MTksIDY2MzMxLCAzNDU0LCAxOTkzMCwgMCwgNDEwMTksIDAsIAogICAgIDAsIDY1MjkyLCA2ODIyLCAxMjg2MiwgMCwgMCwgNDIxNDMsIDQxODI4LCA3ODIwNywgNjU1MzEsIDc4MjA4LCAxMTg4NzksIAotICAgIDU1MjIzLCAwLCAwLCA0MTgyNiwgODg2NSwgNjQwMiwgMCwgMTMyNzksIDc5MTcsIDEyMDM0MCwgMCwgNzczMywgMCwgNDk5OCwgCi0gICAgMCwgOTIzMzIsIDQxOTUwLCAwLCA0MjY4LCAwLCAwLCAwLCA0MDEzLCAwLCAxMDg4MSwgMCwgMCwgMCwgNzQ3ODgsIDIwMTQsIAotICAgIDAsIDAsIDk3NjUsIDAsIDAsIDAsIDE5NTA1OSwgNzgzNTcsIDY1MjgxLCAxMjc4MjUsIDEwOTQ5LCAwLCAwLCAwLCAyMDE1LCAKLSAgICAwLCAwLCAwLCA2NjMxOCwgNDMyMzMsIDAsIDQyNTE3LCAwLCAwLCAwLCAxMjY5OCwgODA5NCwgMTAxMzUsIDY1OTA5LCAKLSAgICA2NDc0LCA3OTQsIDAsIDEyNjU2LCAxMjgxMjIsIDExOTM1MywgMTI4MjcwLCAxNjY1LCAwLCA0ODMzLCAwLCAxMTkzNTEsIAotICAgIDEyNzM2NywgMCwgMTg5LCAxMjYxMSwgMCwgMCwgMjg1OSwgNDgzOCwgMCwgNDgzNCwgNjUwNzgsIDAsIDAsIDQ4MzcsIAotICAgIDEyNzA2MSwgNzcwLCAwLCA4MTEsIDAsIDQxMDQyLCA5MTc1NTEsIDQxMzE4LCA2NDQyNywgMCwgMCwgNzg4NDgsIDM4OTUsIAotICAgIDAsIDc0MzQxLCAzOTc2LCAwLCA0Mjg1OSwgMTAxOTMsIDMxMTYsIDc3NDcsIDAsIDAsIDAsIDAsIDAsIDQzNjg2LCA3ODg0NiwgCi0gICAgNDE4NzcsIDAsIDI4NzEsIDY0NjE0LCAxMjg3ODUsIDk5OSwgMCwgNjM0NSwgNDE4NzYsIDI2NjMsIDIwMTcsIDAsIDAsIAotICAgIDExMDQwLCAxMDE1MCwgMCwgNjQzMDgsIDE1MjIsIDU5NywgNDc3NSwgMTI1NTUsIDEyNTcxLCAxMjU1MCwgMTI1ODMsIAotICAgIDEyNTYwLCAyMDE5LCAxMjU1NiwgMTI1ODQsIDMwOTIsIDAsIDEyNTYyLCA0NzgzLCAxMjU2NiwgMTI1NjksIDEyNTU0LCAwLCAKLSAgICAxMDgxMiwgNzg4NTEsIDAsIDAsIDMwNzgsIDE0MDIsIDAsIDEyODI3NSwgMCwgMCwgMTE5MjQ4LCAzOTQsIDMwODgsIDAsIAotICAgIDkyMTcyLCAwLCAzOTkxLCA2NDM5MSwgMCwgMCwgNDI0LCA2NjMyOCwgMTk5OSwgNjk2NTksIDczOTE0LCAwLCAwLCAwLCAwLCAKLSAgICA0MjIzMSwgODI0NiwgMCwgMCwgMCwgNDE4NDAsIDAsIDIzNzcsIDEyOTgsIDY0MDExLCAxMjU3MiwgMTEzMTgsIDEyNTU3LCAKLSAgICAxMjU1OSwgMTI1NzAsIDg0ODgsIDEwMDMsIDIzNzMsIDk0NDYsIDc0ODEsIDk0NDgsIDQ4LCAwLCA5NDgwLCA0ODEsIDAsIAotICAgIDk0MzgsIDk0MzksIDk0NDAsIDk0NDEsIDg0NjUsIDk0NDMsIDk0NDQsIDk0NDUsIDk0MzAsIDk0MzEsIDk0MzIsIDk0MzMsIAotICAgIDk0MzQsIDk0MzUsIDM5ODQsIDk0MzcsIDAsIDAsIDk0MjQsIDk0MjUsIDk0MjYsIDk0MjcsIDk0MjgsIDk0MjksIDY0NzU4LCAKLSAgICAyMzYyLCA5NjU1LCAwLCAyMDA0LCA5MDk2LCA5NzgyLCAxMjg4NDgsIDkxNzIsIDEyODU0NSwgMTk5NjUsIDAsIDU5NTUsIAotICAgIDY3NjY2LCAxMTA4LCAwLCA3NDc3MywgMCwgMCwgNjQ3ODIsIDM5MjYsIDkyNDQ4LCA2NTIxMCwgODc5OCwgMCwgOTIxNjUsIAotICAgIDEzOTIsIDAsIDAsIDEyNzM2NCwgMTA2MDYsIDgwNjUsIDExODgwNSwgMTAzNTMsIDEwNDE3LCAwLCAwLCA2NDUyNCwgCi0gICAgOTI0MTgsIDQwMTksIDAsIDAsIDQzMjgwLCA4MjE5LCA2ODQwMiwgMTgxMiwgMCwgMCwgMCwgMCwgNDI0MTAsIDc0NDQ4LCAKLSAgICAxMTkxMzIsIDYwNTQsIDEwNjk3LCAzMTY5LCA0MjI5NywgNDIzMjIsIDEwNjQyLCAzOTA5LCA5OTUwLCAwLCAxMjgxMzksIDAsIAotICAgIDY4Njc4LCAwLCAwLCAxMDQ5LCAwLCA2NTcwNywgMjMwNCwgNDE4MDYsIDkyMzI2LCA0MjMzNiwgMzkyMSwgMCwgMTE3NzUsIAotICAgIDY0NzYwLCAxMTc2NiwgMTAzOCwgNDIzMDMsIDk4MjMsIDEyNzI3OCwgNjkyMzYsIDQwMDgsIDY0MDA0LCA4NzczLCAxMDczMywgCi0gICAgMzYsIDAsIDUxNTMsIDQxODA1LCAwLCA3MzczNSwgNzYzLCA0MTgwOCwgNjQ5MTAsIDAsIDIwMDksIDAsIDAsIDEyNzE0MiwgCi0gICAgOTY0MCwgMTE5OTUxLCAwLCAxMjA2OTUsIDg2MjEsIDAsIDEyODUyLCAzMDMxLCAwLCA2NDM2MSwgMCwgMTgyLCAxOTQ3MTgsIAotICAgIDkyNzE2LCA5MjU5OCwgMTE5OTUwLCAwLCA5MDU4LCAzNjYsIDAsIDk4OTIsIDU5NjksIDExNzU0LCAxMDg0OCwgNDU3MCwgCi0gICAgNjUzMDEsIDQ0MDEzLCA0MjU1LCAwLCAxMDEwMiwgNDExODksIDQwMDMsIDQxMDI2LCA2ODEwOSwgMTMyOTMsIDQxMTkyLCAKLSAgICA2OTYzNSwgMCwgNDIyNTEsIDAsIDQyNTM0LCA2NTE3OSwgMTEyODcsIDYxMjgsIDAsIDExMDM0LCAxMDkyMywgNjQ0MjMsIDAsIAotICAgIDY1NTA2LCAwLCA2NTg2MSwgNzQwODMsIDkyNjAwLCA5OTMyLCAwLCA5MjQyMywgMTE5OTU1LCAwLCA5ODE3LCAwLCAKLSAgICAxMjAxNDAsIDAsIDEyMTE3LCA2NjU4NiwgNDE4MywgMTA1NDAsIDY2MjUwLCA5MDYzLCAxMjcwNDUsIDAsIDExOTk1NCwgMCwgCi0gICAgMTI4OTcsIDM3OTIsIDIwMTEsIDAsIDYwNjUsIDQzMTYwLCAwLCAxOTQ3MTUsIDg2OTIsIDQxMTg2LCA0MTgxNiwgNDEwMjMsIAotICAgIDQxODE4LCA0MTE4NywgMTE2NTksIDc5MjIsIDEyNjE0LCAyMDA1LCA4NTIzLCA3ODAwMiwgMCwgNzUxMywgMTg2MywgNDcxMCwgCi0gICAgMCwgNTk1NiwgNzYyMSwgNzgwMDYsIDkyNjI0LCA0NzA1LCA3MTYsIDc4MDA0LCAwLCA0NzA0LCAxMjAwNDAsIDEyMDI3MCwgCi0gICAgNDIyNDEsIDE2MSwgNDM5NzcsIDc0NTQ2LCA2NjIxNCwgNDcwNiwgMCwgMCwgNDI2NzIsIDQ3MDksIDEwNjgwLCAwLCAKLSAgICA0MzI5MywgMTE5OTQ0LCAwLCAxMTkxNjQsIDEyMDMyOCwgOTI0NjcsIDAsIDE3MDAsIDExOTIyMywgMCwgMCwgMTI4MTE5LCAKLSAgICA0MDA0LCAwLCAxMDk2OCwgNDMyOTYsIDAsIDg1MDYsIDAsIDAsIDEyNjk5NiwgMTAwNSwgOTM3LCA3ODIxNiwgNDczNCwgCi0gICAgMjg3MCwgMCwgNzgyMTgsIDAsIDc0NjMsIDQ3MjksIDAsIDIzNSwgMTM4NCwgNDcyOCwgMCwgMTIwNDIwLCA5MjQ5MCwgCi0gICAgMTIwMzMxLCA4MTA5LCA0MzEwNSwgMCwgNDczMCwgNDQ3LCAxMzE4NiwgMTUxMywgNDczMywgMTIwNDE1LCAwLCAwLCAKLSAgICA0MjUyNywgMTI5MTEsIDQzNDI3LCAxMzgzLCA4NTY1LCAyNDY5LCAxMjAwMjQsIDY2OTAsIDYxNTYsIDY4MTE3LCA0MzQzOSwgCi0gICAgNzk5MywgNDI4OCwgMTIwNDE2LCAyNjc0LCAxMzIzOCwgMTE5MjIsIDAsIDEyMDMzMCwgMzUxMCwgMTMyMzQsIDAsIAotICAgIDEyMDQwNywgNTYwNSwgNDIwOTUsIDExMzY0LCAwLCAxMzgwLCA2NTYxNywgMTIwMjUzLCAxMjAyNjEsIDEzMTk2LCAxMzE5NywgCi0gICAgMTIwMzA5LCAxMjA2ODIsIDk0OTUsIDExOTM0NiwgMCwgNTk1OSwgMCwgNzM5NzYsIDEyMDMwNSwgNDMzNzEsIDY5NDEsIAotICAgIDExOTM0OSwgMTMyMDUsIDEzMjExLCA1ODAxLCAxMjc2OSwgNjU5MDUsIDQxNjk3LCAxMjgzLCAxMjAzMDIsIDQ3NzksIDAsIAotICAgIDM3MTksIDQwMDYsIDAsIDE5OTU3LCAxMjg3NzMsIDIwMjEsIDExOTMzMiwgMTIwNjk5LCAxMTkxNTAsIDQzMDI4LCA2NTQ5MywgCi0gICAgNDE4MzgsIDM4NzUsIDU5NjIsIDY0MzQxLCA5MjYxNiwgOTgxNCwgNDM0NTcsIDU4MjcsIDMzMTQsIDc3ODcsIDc4MjM0LCAKLSAgICA2NTQ5NCwgNjgxNTMsIDAsIDAsIDEyMDYzNiwgNjQ1MzEsIDEyMDY5MiwgMTk0NjI2LCAwLCAwLCA2NjMxNiwgNjU0NjcsIAotICAgIDU3NzEsIDQxMjk4LCAwLCA5NzQyLCA1MjEsIDAsIDEwODAwLCAwLCA4NDA0LCAxOTQ2MjUsIDQ4MywgNzA5NiwgNzA4OSwgCi0gICAgNjYzMjMsIDkyOCwgMCwgMCwgMTE5MDE4LCAxMDU5OSwgMTE1ODYsIDM5ODksIDEwOTcxLCAwLCA2NTc4MiwgOTg0MSwgCi0gICAgODg0MywgMTIxNDUsIDkyNDcwLCAxMDA3NCwgNzg1NDgsIDAsIDM3NjksIDAsIDAsIDAsIDAsIDk1NzMsIDAsIDY1MjkwLCAKLSAgICA4ODQ5LCAwLCA2NTg1NSwgNjUxMTIsIDE3OTYsIDEyMDUwNSwgMCwgNjk2NjUsIDgxNjQsIDQxMzAxLCAzNTAyLCAwLCAKLSAgICA3Mzg4LCAxMDYyMSwgNzM4MzgsIDc4NTUzLCA1ODI1LCAxMzAwNywgNjgxNjUsIDAsIDEyMDQ1NywgMTI2NjEsIDc2MDgsIAotICAgIDEwMzU0LCAxMDQxOCwgNDI0MTEsIDIwMjIsIDAsIDE0MDksIDEyMTk1LCA0MDAxLCAzMTEyLCAxMDgyNCwgMTIwNjM5LCAKLSAgICAxMzkwLCAwLCAwLCA0MjEsIDQzNTM2LCA1ODQ2LCAxMjAxMjAsIDQxMzAsIDEyNzc3NSwgNzU5NSwgNDI1ODgsIDc2MDAsIAotICAgIDEyMDEyMSwgNjYwMzUsIDAsIDAsIDY1ODUxLCA0MjYwNywgMTI4MTkwLCA5MjQwMywgMzE2OCwgMCwgNDIxMzQsIDAsIAotICAgIDIzNzAsIDI4NDYsIDkyNjA1LCAwLCAwLCAxMjAxMzIsIDAsIDE4MzYsIDAsIDAsIDkyNTU4LCAzNzQwLCA5MjU0NywgNjI5MCwgCisgICAgNTUyMjMsIDAsIDEyODA3MSwgNDE4MjYsIDg4NjUsIDY0MDIsIDAsIDEzMjc5LCA3OTE3LCA3NDc1NSwgMCwgNzczMywgMCwgCisgICAgNDk5OCwgOTgzODg3LCA5MjMzMiwgNDE5NTAsIDAsIDQyNjgsIDAsIDAsIDcwMDYxLCA0MDEzLCAwLCAxMDg4MSwgMCwgMCwgCisgICAgMCwgNzQ3ODgsIDIwMTQsIDAsIDAsIDk3NjUsIDAsIDAsIDAsIDE5NTA1OSwgNzgzNTcsIDY1MjgxLCAxMjc4MjUsIDEwOTQ5LCAKKyAgICAwLCAwLCAwLCAyMDE1LCAwLCAwLCAwLCA2NjMxOCwgNDMyMzMsIDAsIDQyNTE3LCAwLCAwLCAwLCAxMjY5OCwgODA5NCwgCisgICAgMTAxMzUsIDY1OTA5LCA2NDc0LCA3OTQsIDAsIDEyNjU2LCAxMjgxMjIsIDExOTM1MywgMTI4MjcwLCAxNjY1LCAwLCA0ODMzLCAKKyAgICA5ODMwNTMsIDExOTM1MSwgMTI3MzY3LCAwLCAxODksIDEyNjExLCAwLCAwLCAyODU5LCA0ODM4LCAwLCA0ODM0LCA2NTA3OCwgCisgICAgMCwgMCwgNDgzNywgMTI3MDYxLCA3NzAsIDAsIDgxMSwgMCwgNDEwNDIsIDkxNzU1MSwgNDEzMTgsIDY0NDI3LCAwLCAKKyAgICAxMjgyMDgsIDc4ODQ4LCAzODk1LCAwLCA3NDM0MSwgMzk3NiwgMCwgNDI4NTksIDEwMTkzLCAzMTE2LCA3NzQ3LCAwLCAwLCAKKyAgICAwLCAwLCAwLCA0MzY4NiwgNzg4NDYsIDQxODc3LCAwLCAyODcxLCA2NDYxNCwgMTI4Nzg1LCA5OTksIDAsIDYzNDUsIAorICAgIDQxODc2LCAyNjYzLCAyMDE3LCAwLCAwLCAxMTA0MCwgMTAxNTAsIDAsIDY0MzA4LCAxNTIyLCA1OTcsIDQ3NzUsIDEyNTU1LCAKKyAgICAxMjU3MSwgMTI1NTAsIDEyNTgzLCAxMjU2MCwgMjAxOSwgMTI1NTYsIDEyNTg0LCAzMDkyLCAwLCAxMjU2MiwgNDc4MywgCisgICAgMTI1NjYsIDEyNTY5LCAxMjU1NCwgMCwgMTA4MTIsIDc4ODUxLCAwLCAwLCAzMDc4LCAxNDAyLCAwLCAxMjgyNzUsIDAsIDAsIAorICAgIDExOTI0OCwgMzk0LCAzMDg4LCAwLCA5MjE3MiwgMCwgMzk5MSwgNjQzOTEsIDAsIDEyODUyNCwgNDI0LCA2NjMyOCwgMTk5OSwgCisgICAgNjk2NTksIDczOTE0LCAwLCAwLCAwLCAwLCA0MjIzMSwgODI0NiwgMCwgMCwgMCwgNDE4NDAsIDk4MzYwOSwgMjM3NywgCisgICAgMTI5OCwgNjQwMTEsIDEyNTcyLCAxMTMxOCwgMTI1NTcsIDEyNTU5LCAxMjU3MCwgNzQ3OSwgMTAwMywgMjM3MywgOTQ0NiwgCisgICAgNzQ4MSwgOTQ0OCwgNDgsIDAsIDk0ODAsIDQ4MSwgMCwgOTQzOCwgOTQzOSwgOTQ0MCwgOTQ0MSwgODQ2NSwgOTQ0MywgCisgICAgOTQ0NCwgOTQ0NSwgOTQzMCwgOTQzMSwgOTQzMiwgOTQzMywgOTQzNCwgOTQzNSwgMzk4NCwgOTQzNywgMCwgMCwgOTQyNCwgCisgICAgOTQyNSwgOTQyNiwgOTQyNywgOTQyOCwgOTQyOSwgNjQ3NTgsIDIzNjIsIDk2NTUsIDAsIDIwMDQsIDkwOTYsIDk3ODIsIAorICAgIDEyODg0OCwgOTE3MiwgMTI4NTQ1LCAxOTk2NSwgMCwgNTk1NSwgNjc2NjYsIDExMDgsIDAsIDc0NzczLCAwLCAwLCA2NDc4MiwgCisgICAgMzkyNiwgOTI0NDgsIDY1MjEwLCA4Nzk4LCAwLCA5MjE2NSwgMTM5MiwgMCwgMCwgMTI3MzY0LCAxMDYwNiwgODA2NSwgCisgICAgMTE4ODA1LCAxMDM1MywgMTA0MTcsIDAsIDAsIDY0NTI0LCA5MjQxOCwgNDAxOSwgMCwgOTgzMjgwLCA0MzI4MCwgODIxOSwgCisgICAgNjg0MDIsIDE4MTIsIDExOTk2MywgOTgzNjgzLCAwLCAxMjY0ODgsIDQyNDEwLCA3NDQ0OCwgMTE5MTMyLCA2MDU0LCAKKyAgICAxMDY5NywgMzE2OSwgNDIyOTcsIDQyMzIyLCAxMDY0MiwgMzkwOSwgOTk1MCwgMCwgMTI4MTM5LCA5ODMyNTMsIDY4Njc4LCAKKyAgICAwLCAwLCAxMDQ5LCAwLCA2NTcwNywgMjMwNCwgNDE4MDYsIDkyMzI2LCA0MjMzNiwgMzkyMSwgMCwgMTE3NzUsIDY0NzYwLCAKKyAgICAxMTc2NiwgMTAzOCwgNDIzMDMsIDk4MjMsIDEyNzI3OCwgNjkyMzYsIDQwMDgsIDY0MDA0LCA4NzczLCAxMDczMywgMzYsIDAsIAorICAgIDUxNTMsIDQxODA1LCAwLCA3MzczNSwgNzYzLCA0MTgwOCwgNjQ5MTAsIDk4MzEzMCwgMjAwOSwgMCwgMCwgMTI3MTQyLCAKKyAgICA5NjQwLCAxMTk5NTEsIDAsIDEyMDY5NSwgODYyMSwgMTIwNTIzLCAxMjg1MiwgMzAzMSwgOTgzMDUwLCA2NDM2MSwgMCwgCisgICAgMTgyLCAxOTQ3MTgsIDkyNzE2LCA5MjU5OCwgMTE5OTUwLCA0MjYxMywgOTA1OCwgMzY2LCAwLCA5ODkyLCA1OTY5LCAKKyAgICAxMTc1NCwgMTA4NDgsIDQ1NzAsIDY1MzAxLCA0NDAxMywgNDI1NSwgMTI3ODg5LCAxMDEwMiwgNDExODksIDQwMDMsIAorICAgIDQxMDI2LCA2ODEwOSwgMTMyOTMsIDQxMTkyLCA2OTYzNSwgMCwgNDIyNTEsIDAsIDQyNTM0LCA2NTE3OSwgMTEyODcsIAorICAgIDYxMjgsIDAsIDExMDM0LCAxMDkyMywgNjQ0MjMsIDAsIDY1NTA2LCAwLCA2NTg2MSwgNzQwODMsIDkyNjAwLCA5OTMyLCAwLCAKKyAgICA5MjQyMywgMTE5OTU1LCAwLCA5ODE3LCAwLCAxMjAxNDAsIDAsIDEyMTE3LCA2NjU4NiwgNDE4MywgMTA1NDAsIDY2MjUwLCAKKyAgICA5MDYzLCAxMjcwNDUsIDAsIDExOTk1NCwgMCwgMTI4OTcsIDM3OTIsIDIwMTEsIDAsIDYwNjUsIDQzMTYwLCAwLCAxOTQ3MTUsIAorICAgIDg2OTIsIDQxMTg2LCA0MTgxNiwgNDEwMjMsIDQxODE4LCA0MTE4NywgMTE2NTksIDc5MjIsIDEyNjE0LCAyMDA1LCA4NTIzLCAKKyAgICA3ODAwMiwgMCwgNzUxMywgMTg2MywgNDcxMCwgMCwgNTk1NiwgNzYyMSwgNzgwMDYsIDkyNjI0LCA0NzA1LCA3MTYsIAorICAgIDc4MDA0LCAwLCA0NzA0LCAxMjAwNDAsIDEyMDI3MCwgNDIyNDEsIDE2MSwgNDM5NzcsIDc0NTQ2LCA2NjIxNCwgNDcwNiwgMCwgCisgICAgNjk5MTQsIDQyNjcyLCA0NzA5LCAxMDY4MCwgMTE5MDY1LCA0MzI5MywgMTE5OTQ0LCAwLCAxMTkxNjQsIDEyMDMyOCwgCisgICAgOTI0NjcsIDEwMTg3LCAxNzAwLCAxMTkyMjMsIDAsIDAsIDEyODExOSwgNDAwNCwgMCwgMTA5NjgsIDQzMjk2LCA5ODM2MzMsIAorICAgIDg1MDYsIDAsIDAsIDEyNjk5NiwgMTAwNSwgOTM3LCA3ODIxNiwgNDczNCwgMjg3MCwgMCwgNzgyMTgsIDk4MzEwOSwgNzQ2MywgCisgICAgNDcyOSwgMCwgMjM1LCAxMzg0LCA0NzI4LCAwLCAxMjA0MjAsIDkyNDkwLCA3NDQ0OSwgODEwOSwgNDMxMDUsIDk4MzE3NCwgCisgICAgNDczMCwgNDQ3LCAxMzE4NiwgMTUxMywgNDczMywgMTIwNDE1LCAwLCAwLCA0MjUyNywgMTI5MTEsIDQzNDI3LCAxMzgzLCAKKyAgICA4NTY1LCAyNDY5LCAxMjAwMjQsIDY2OTAsIDYxNTYsIDY4MTE3LCA0MzQzOSwgNzk5MywgNDI4OCwgMTIwNDE2LCAyNjc0LCAKKyAgICAxMzIzOCwgMTE5MjIsIDAsIDEyMDMzMCwgMzUxMCwgMTMyMzQsIDAsIDEyMDQwNywgNTYwNSwgNDIwOTUsIDExMzY0LCAwLCAKKyAgICAxMzgwLCA2NTYxNywgMTIwMjUzLCAxMjAyNjEsIDEzMTk2LCAxMzE5NywgMTIwMzA5LCAxMjA2ODIsIDk0OTUsIDExOTM0NiwgCisgICAgMCwgNTk1OSwgNjc5ODQsIDczOTc2LCAxMjAzMDUsIDQzMzcxLCA2OTQxLCAxMTkzNDksIDEzMjA1LCAxMzIxMSwgNTgwMSwgCisgICAgMTI3NjksIDY1OTA1LCA0MTY5NywgMTI4MywgMTIwMzAyLCA0Nzc5LCAwLCAzNzE5LCA0MDA2LCA5ODM1NjksIDE5OTU3LCAKKyAgICAxMjg3NzMsIDIwMjEsIDExOTMzMiwgMTIwNjk5LCAxMTkxNTAsIDQzMDI4LCA2NTQ5MywgNDE4MzgsIDM4NzUsIDU5NjIsIAorICAgIDY0MzQxLCA5MjYxNiwgOTgxNCwgNDM0NTcsIDU4MjcsIDMzMTQsIDc3ODcsIDc4MjM0LCA2NTQ5NCwgNjgxNTMsIDAsIDAsIAorICAgIDEyMDYzNiwgNjQ1MzEsIDEyMDY5MiwgMTk0NjI2LCAwLCAwLCA2NjMxNiwgNjU0NjcsIDU3NzEsIDQxMjk4LCA5ODM3ODUsIAorICAgIDk3NDIsIDUyMSwgMCwgMTA4MDAsIDkyMjIyLCA4NDA0LCAxOTQ2MjUsIDQ4MywgNzA5NiwgNzA4OSwgNjYzMjMsIDkyOCwgMCwgCisgICAgMCwgMTE5MDE4LCAxMDU5OSwgMTE1ODYsIDM5ODksIDEwOTcxLCA0Mzc0OCwgNjU3ODIsIDk4NDEsIDg4NDMsIDEyMTQ1LCAKKyAgICA5MjQ3MCwgMTAwNzQsIDc4NTQ4LCAwLCAzNzY5LCAwLCAwLCAwLCA5ODMxMDcsIDk1NzMsIDAsIDY1MjkwLCA4ODQ5LCAwLCAKKyAgICA2NTg1NSwgNjUxMTIsIDE3OTYsIDEyMDUwNSwgMCwgNjk2NjUsIDgxNjQsIDQxMzAxLCAzNTAyLCAwLCA3Mzg4LCAxMDYyMSwgCisgICAgNzM4MzgsIDc4NTUzLCA1ODI1LCAxMzAwNywgNjgxNjUsIDAsIDEyMDQ1NywgMTI2NjEsIDc2MDgsIDEwMzU0LCAxMDQxOCwgCisgICAgNDI0MTEsIDIwMjIsIDAsIDE0MDksIDEyMTk1LCA0MDAxLCAzMTEyLCAxMDgyNCwgMTIwNjM5LCAxMzkwLCAwLCAwLCA0MjEsIAorICAgIDQzNTM2LCA1ODQ2LCAxMjAxMjAsIDQxMzAsIDEyNzc3NSwgNzU5NSwgNDI1ODgsIDc2MDAsIDEyMDEyMSwgNjYwMzUsIAorICAgIDk4MzkwNCwgMCwgNjU4NTEsIDQyNjA3LCAxMjgxOTAsIDkyNDAzLCAzMTY4LCAwLCA0MjEzNCwgMTE4MzEsIDIzNzAsIAorICAgIDI4NDYsIDkyNjA1LCAwLCAwLCAxMjAxMzIsIDAsIDE4MzYsIDAsIDAsIDkyNTU4LCAzNzQwLCA2OTg0MywgNjI5MCwgCiAgICAgNjUzNzQsIDEyMDQ1MSwgMjM5MCwgMzk0NCwgNjY2MjgsIDEyMDQzNCwgMCwgNjEzNSwgMzExOCwgNzQyNjUsIDExOTA5MywgCi0gICAgMTIwNDQ2LCAwLCAwLCA4MTI3LCA4OTc1LCA2NDczOSwgNzk0MywgMCwgMCwgMTA2MTgsIDI1ODQsIDAsIDAsIDAsIDk5OTgsIAotICAgIDAsIDAsIDAsIDAsIDAsIDYyMDQsIDAsIDAsIDgyNzksIDg3NzYsIDY0OTU0LCA0OTc1LCA3NDgwOSwgMTIwMTMwLCA0MjY3LCAKLSAgICAxNjMxLCA0MjIwNiwgMTI3ODY2LCAwLCAxOTUwNDYsIDY1NzAwLCA2NjU2MiwgMCwgNjQ2NDUsIDAsIDAsIDAsIDEyNTg2LCAKLSAgICAwLCA5MjQyLCAxMjc5MjIsIDAsIDQ1MjMsIDU4NDIsIDEwNDk1LCAzMTIyLCAwLCA3NzkzLCA3ODI3NSwgOTMyOCwgMCwgCi0gICAgNzgzOTMsIDEyNjA0LCAwLCA2NjE1LCA2NzY1MCwgOTIzNDQsIDM5ODYsIDQ0MDI1LCAwLCA4OTEyLCA2NDU1NSwgNzQwOSwgCi0gICAgMCwgMCwgOTU0MSwgNzgyNzYsIDAsIDExMjc1LCA4NTQwLCAxMTQ5OCwgMCwgMCwgNDEwNDAsIDI0NTksIDAsIDEzMDYwLCAKLSAgICA0MTA0MSwgNzQ0MTMsIDAsIDAsIDAsIDY4NDI3LCAxMDQ1MCwgMTI1NTEsIDQxMDQzLCA3MDIwLCAxMjAzNTMsIDM3NjUsIDAsIAotICAgIDAsIDE2MDYsIDEyMDM0OCwgMTIwMzUxLCAzMDkzLCA2ODQzNiwgMCwgMCwgMTIwNjQ5LCAwLCAwLCA0MzEyLCA3NDA5MSwgCi0gICAgMTIwMzM3LCAxMjAzMzYsIDExOTIzLCA0MDIzLCAxMjAzMzMsIDU3NjMsIDEyMDMzNSwgNDgyNywgMTA4OTQsIDEyODEwLCAKLSAgICA2NDQwNiwgMTE4Nzg1LCA0NDU1LCA3NDMyMSwgNDMzLCAxMTk2MjAsIDY2NjYwLCAyNDk5LCAwLCAwLCAwLCAxMTk3MywgCisgICAgMTIwNDQ2LCAwLCAwLCA4MTI3LCA4OTc1LCA2NDczOSwgNzk0MywgOTgzNzM0LCAwLCAxMDYxOCwgMjU4NCwgMCwgMCwgMCwgCisgICAgOTk5OCwgMTI4NTY0LCAwLCAwLCAwLCAwLCA2MjA0LCAwLCAwLCA4Mjc5LCA4Nzc2LCA2NDk1NCwgNDk3NSwgNzAwNzUsIAorICAgIDEyMDEzMCwgNDI2NywgMTYzMSwgNDIyMDYsIDc3OTgzLCAwLCAxOTUwNDYsIDY1NzAwLCA2NjU2MiwgMCwgNjQ2NDUsIDAsIAorICAgIDAsIDEyNjU4OCwgMTI1ODYsIDAsIDkyNDIsIDEyNzkyMiwgMCwgNDUyMywgNTg0MiwgMTA0OTUsIDMxMjIsIDk4Mzc4OCwgCisgICAgNzc5MywgNzgyNzUsIDkzMjgsIDExOTEwNCwgNzgzOTMsIDEyNjA0LCAwLCA2NjE1LCAyMjg1LCA5MjM0NCwgMzk4NiwgCisgICAgNDQwMjUsIDAsIDg5MTIsIDY0NTU1LCA3NDA5LCAwLCA5ODMzNTAsIDk1NDEsIDc4Mjc2LCAwLCAxMTI3NSwgODU0MCwgCisgICAgMTE0OTgsIDAsIDk4MzM0OSwgNDEwNDAsIDI0NTksIDAsIDEzMDYwLCA0MTA0MSwgNzQ0MTMsIDk4MzEzOCwgMCwgMCwgCisgICAgNjg0MjcsIDEwNDUwLCAxMjU1MSwgNDEwNDMsIDcwMjAsIDEyMDM1MywgMzc2NSwgOTgzMzQyLCAwLCAxNjA2LCAxMjAzNDgsIAorICAgIDEyMDM1MSwgMzA5MywgNjg0MzYsIDAsIDk4MzA2MSwgMTE5NjEzLCAwLCAwLCA0MzEyLCA3NDA5MSwgMTIwMzM3LCAKKyAgICAxMjAzMzYsIDExOTIzLCA0MDIzLCAxMjAzMzMsIDU3NjMsIDk0MDE1LCA0ODI3LCAxMDg5NCwgMTI4MTAsIDY0NDA2LCAKKyAgICAxMTg3ODUsIDQ0NTUsIDc0MzIxLCA0MzMsIDExOTYyMCwgNjY2NjAsIDI0OTksIDAsIDAsIDExODgzNywgMTE5NzMsIAogICAgIDEzMDg5LCA0MjkzLCAxMjAzMjksIDQyMjI0LCA0Mjc1OCwgMTIxOTYsIDQyODM3LCA0MjIyNiwgMTE5MzE5LCAwLCAKLSAgICAxMTkxMjYsIDU4MTcsIDEyNzgwNiwgNTUyNzcsIDMxMjAsIDk3OTcsIDAsIDAsIDAsIDEwMzg5LCAwLCAwLCA0ODk1LCAKLSAgICA2NTM1OCwgMCwgNDM1OSwgNTg1LCAyMzgzLCAzNTA5LCAxOTQ5MjAsIDQ4NiwgNDI5MCwgNTc1OCwgMTI3NTQ2LCAwLCAwLCAKLSAgICA3MDA0LCAwLCA2NTg4MCwgMTI3ODg2LCAxMTkwNDgsIDIzODAsIDExMzgwLCAwLCAwLCAyMzc2LCAwLCAxMTkzMjAsIDAsIAotICAgIDUxOTcsIDEyNzA0NiwgMTI3MDQ3LCAxMjcwNDgsIDIzNjYsIDEyNzA1MCwgMTI3MDUxLCAxMjA1NTQsIDEyMDA0NSwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgNzQxODgsIDEyMDI0MSwgMCwgMCwgMTIwMDQ3LCAxMjg1NzUsIDAsIDAsIDEyMDA0OSwgMCwgCi0gICAgMTg0NywgMCwgMTAzMzksIDAsIDQyMzg0LCAwLCA0MjI3LCA3NDE1OCwgMCwgOTI1MDEsIDQzMDMyLCAwLCA0MjM2NSwgMCwgCi0gICAgMTI2NzEsIDExMzg0LCAwLCAwLCAwLCA2NDc5NywgMCwgNTgyMCwgMCwgMTIwMDUyLCAxMjAwNjUsIDAsIDEyMDA2NCwgCi0gICAgMTIwNjUwLCA0MjEzNywgOTg5MywgMjc1NCwgMTI2NjQsIDEyMDA2MywgMCwgNzM3NywgMTI3ODY3LCA0MTc5OSwgNjU1MzAsIAotICAgIDE3MTEsIDEyOTg0LCA0MzAzOSwgMzExNCwgNjI1NSwgMCwgMTE4OTM4LCAwLCAxMDg1MywgOTI2LCAwLCA3NDE4NCwgMCwgCi0gICAgMTIwMDU1LCAwLCA0MzE3NSwgMCwgNDMwMzcsIDQxNzk4LCA0MTAzNSwgMTE1ODMsIDEyNzc2OSwgNDE4MDEsIDExOTA4OCwgCi0gICAgMCwgNTIwLCA0MjAwLCAxMjY5OSwgODMzMSwgMCwgMzA5MSwgNDEwMzQsIDEyNzM1MywgMCwgODM2MCwgMCwgNzgwNDQsIAotICAgIDMyMSwgNDIyOSwgNjQ1NDMsIDkxNzk0NiwgNjU1NjMsIDAsIDkxNzk3NCwgMjg2MSwgNDM3OTMsIDEwMDk1LCAwLCA5MTk1LCAKLSAgICA5MjM4NiwgMTg2MSwgMCwgNzM3MzMsIDAsIDAsIDQzMDQxLCAwLCA0Mzc5NCwgMTI4NTMwLCAzODU5LCAxMjE4MSwgNDE2NjAsIAotICAgIDgyMDksIDAsIDczODY3LCAxMjk3MywgMCwgNzQ3NTcsIDEyNzUxNCwgNDE2NTgsIDAsIDAsIDU3NjAsIDAsIDc0MywgNDQxNCwgCisgICAgMTE5MTI2LCA1ODE3LCAxMjc4MDYsIDU1Mjc3LCAzMTIwLCA5Nzk3LCAwLCAwLCAwLCAxMDM4OSwgMTI2NDg1LCAwLCA0ODk1LCAKKyAgICA2NTM1OCwgMCwgNDM1OSwgNTg1LCAyMzgzLCAzNTA5LCA3MDAzNywgNDg2LCA0MjkwLCA1NzU4LCAxMjc1NDYsIDAsIDAsIAorICAgIDcwMDQsIDAsIDY1ODgwLCAxMjc4ODYsIDExOTA0OCwgMjM4MCwgMTEzODAsIDAsIDkzOTk2LCAyMzc2LCAwLCAxMTkzMjAsIAorICAgIDAsIDUxOTcsIDEyNzA0NiwgMTI3MDQ3LCAxMjcwNDgsIDIzNjYsIDEyNzA1MCwgMTI3MDUxLCAxMjA1NTQsIDEyMDA0NSwgMCwgCisgICAgMCwgMCwgOTgzMDg0LCAwLCAwLCAwLCA3NDE4OCwgNzEzNDIsIDk4MzA4NiwgOTgzNTczLCAxMjAwNDcsIDEyODU3NSwgMCwgCisgICAgMCwgMTIwMDQ5LCAwLCAxODQ3LCAwLCAxMDMzOSwgOTgzMzU3LCA0MjM4NCwgMCwgNDIyNywgNzQxNTgsIDAsIDkyNTAxLCAKKyAgICA0MzAzMiwgMCwgNDIzNjUsIDAsIDEyNjcxLCAxMTM4NCwgMCwgOTgzNDU3LCAwLCA2NDc5NywgOTgzMzM3LCA1ODIwLCAKKyAgICA5ODMzMzYsIDEyMDA1MiwgMTIwMDY1LCAwLCAxMjAwNjQsIDEyMDY1MCwgNDIxMzcsIDk4OTMsIDI3NTQsIDEyNjY0LCAKKyAgICAxMjAwNjMsIDAsIDczNzcsIDEyNzg2NywgNDE3OTksIDY1NTMwLCAxNzExLCAxMjk4NCwgNDMwMzksIDMxMTQsIDYyNTUsIAorICAgIDk4MzMzMiwgMTE4OTM4LCAwLCAxMDg1MywgOTI2LCA5ODMzNjEsIDc0MTg0LCA5ODMzNjAsIDEyMDA1NSwgMCwgNDMxNzUsIAorICAgIDAsIDQzMDM3LCA0MTc5OCwgNDEwMzUsIDExNTgzLCAxMjc3NjksIDQxODAxLCAxMTkwODgsIDExOTYwNSwgNTIwLCA0MjAwLCAKKyAgICAxMjY5OSwgODMzMSwgMCwgMzA5MSwgNDEwMzQsIDEyNzM1MywgOTgzNjcyLCA4MzYwLCAwLCA3ODA0NCwgMzIxLCA0MjI5LCAKKyAgICA2NDU0MywgOTE3OTQ2LCA2NTU2MywgMCwgOTE3OTc0LCAyODYxLCA0Mzc5MywgMTAwOTUsIDAsIDkxOTUsIDkyMzg2LCAKKyAgICAxODYxLCAwLCA3MzczMywgMCwgMCwgNDMwNDEsIDAsIDQzNzk0LCAxMjg1MzAsIDM4NTksIDEyMTgxLCA0MTY2MCwgODIwOSwgCisgICAgMCwgNzM4NjcsIDEyOTczLCAwLCA3NDc1NywgMTI3NTE0LCA0MTY1OCwgMCwgMCwgNTc2MCwgMCwgNzQzLCA0NDE0LCAKICAgICAxMjA3NjYsIDAsIDQyNjMyLCA5MTc5NzMsIDY1MTYxLCA3Mzg5NiwgMTI4NTg5LCAwLCAxNDA1LCAxMTkwNjMsIDQzMjIwLCAKICAgICA0MzM0MSwgMCwgMTk5MTksIDAsIDY0NTMyLCA2NTM2NywgNDM3MTAsIDAsIDAsIDM1MTMsIDAsIDExODg4MywgNDMzNDIsIAogICAgIDExOTA2NCwgNjU1MjksIDY1MzY0LCAxMjgxOTcsIDAsIDY0ODUsIDEzOTcsIDAsIDQxOTg2LCA5MjY3OCwgMCwgMCwgCi0gICAgNzQwOTcsIDAsIDc0NzEsIDEyMDc5LCAwLCAxMjY4MiwgNDMyODcsIDkyMzE3LCAwLCAwLCAwLCAwLCAwLCAxMDk5LCAKLSAgICAxMDQ5MCwgMCwgMTA1MDEsIDY1MTgxLCA3NDQ2MywgMCwgNDY0LCA0MTYyNCwgNjUyODMsIDY3NjYzLCA3ODIyMiwgMTM0NiwgCi0gICAgMCwgOTE3NjMxLCA2NDU3MywgNjQ4OTcsIDQyMywgMTgxOCwgNjUxNDQsIDAsIDgyNzIsIDEyNzgxMiwgMTk5MTEsIDQyMTgsIAotICAgIDMwODcsIDY0OTYwLCAxMjcyMzQsIDQzNTY0LCAwLCAwLCA5NTg0LCAxMDQ2NSwgMCwgNzQzNTksIDEyNjI2LCA5MTA2LCAwLCAKLSAgICA0MjY0MiwgMTIwMjMwLCA2NDc1MCwgOTM5MCwgMCwgNDE3OTcsIDAsIDAsIDI2NSwgNDE3OTUsIDY0NjY2LCAwLCA0MzUzMCwgCi0gICAgMjc1MiwgMCwgMCwgMCwgNTksIDAsIDAsIDAsIDkyMzcxLCA3Nzg3MywgNDE4MTAsIDAsIDcwMTAsIDAsIDQxODA5LCAKLSAgICA0MTQ5NSwgMTE5MzY0LCAwLCA0MjI1MiwgNDIyMTMsIDgwMDksIDMzMDUsIDQzMDMzLCA1MTEsIDkyNzAwLCA2NjI1NSwgCi0gICAgMTMxMjcsIDEyMDA2NywgMCwgMCwgMCwgOTE3OTc3LCA2NTkxNSwgMTQwMCwgNDE4MTIsIDEwNjg1LCAxOTQ4NzAsIDIxMDMsIAotICAgIDEwMzg3LCA0NDUzLCA0MzI3NiwgOTE3NzgzLCAxMzE1OSwgMCwgNjQ4MSwgNDEyMTMsIDAsIDAsIDAsIDAsIDQxOTgzLCAKLSAgICA3NDE5OCwgNjYxNywgOTExNiwgMTE5NjU0LCAwLCA0NjIsIDY4MTEwLCAxMDQ5MywgMCwgODEyOSwgMCwgMCwgNzQ0NzEsIAotICAgIDY2NDQsIDExNjU4LCAwLCAxMjgyNDUsIDM0NTIsIDExOTA2LCA5NTgxLCAxMzg1LCAzMDk4LCAwLCAxMTkwMTMsIDQzMzQwLCAKLSAgICAwLCA0MTAzMywgNjQ5MywgNDI2MjYsIDAsIDAsIDExNDI2LCA3Nzg4NywgMTY4MSwgMTE4Nzg5LCAxMjA0LCAzNzU1LCAKLSAgICA2NDY2MSwgNzIzNSwgMTAxNzAsIDM5NjYsIDg5MTEsIDAsIDQxODQxLCA0MzMzOCwgMCwgMCwgNTcyNiwgNjQ5MTUsIAotICAgIDQyMTc1LCAwLCAwLCA0MTQ5NywgNjUwNDQsIDEyMDEwOSwgMjg1MSwgNDMwMTcsIDAsIDAsIDQzNzMsIDc4MDU4LCAwLCAKLSAgICA5NTg3LCAxNzg5LCA2NjcxLCAxMjg4NDAsIDMxMDAsIDAsIDY1MzYwLCAwLCA5MjM2NSwgMCwgNjQ5MjIsIDAsIDgxOTAsIAotICAgIDEyMDgzLCAwLCAwLCA2NTA2LCA2NDMxMiwgNzQzNzQsIDIzNjgsIDAsIDQ0MTksIDAsIDExOTEyNSwgMzQzOSwgMTgyNSwgCi0gICAgMTE5MiwgMTIwMTA2LCA4ODkxLCAzMDgwLCAxMjAyMjgsIDIzNDcsIDU0MzAsIDAsIDg5OTAsIDI4NDgsIDAsIDEyODIyMywgCi0gICAgOTI1MjgsIDI0OSwgMCwgMCwgMCwgMTIwNjU4LCAwLCAwLCA4ODgzLCA5MTc4MDIsIDcyOCwgNjgxNzgsIDk5NSwgMCwgMCwgCi0gICAgNjQ4MjYsIDAsIDkxNzc5OCwgMTI4MzQ4LCAwLCAxOTk0NSwgODA5MSwgNTU4LCAwLCAxMjI3MywgMTk0ODE0LCAwLCAKLSAgICAxMjExMiwgMCwgMCwgMCwgNzQ0MTksIDEyMzM1LCAxMjAxMDQsIDkxNzc5NSwgMzQ0MywgMzEyOSwgMCwgMjEwMiwgNjU0NDUsIAotICAgIDc4MjU4LCA2NDg5MSwgMCwgNzcyNSwgNjUxMDgsIDc4MjU1LCAwLCA4NjI0LCA2OTI0NiwgMTI0NDYsIDQzMjk1LCAwLCAKLSAgICA0MTg5NCwgMCwgNjI3NywgNDE2NzIsIDQxODkzLCAxMDAxMCwgMTI4Njc4LCAzNTQwLCAxMjg2NDksIDgzNSwgMCwgNjk4MTYsIAorICAgIDc0MDk3LCAwLCA3NDcxLCAxMjA3OSwgNjc5OTcsIDEyNjgyLCA0MzI4NywgOTIzMTcsIDAsIDk4MzE0MywgOTgzNjk4LCAwLCAKKyAgICAwLCAxMDk5LCAxMDQ5MCwgMCwgMTA1MDEsIDY1MTgxLCA3NDQ2MywgMCwgNDY0LCA0MTYyNCwgNjUyODMsIDY3NjYzLCAKKyAgICA3ODIyMiwgMTM0NiwgMCwgOTE3NjMxLCA2NDU3MywgNjQ4OTcsIDQyMywgMTgxOCwgNjUxNDQsIDAsIDgyNzIsIDEyNzgxMiwgCisgICAgMTk5MTEsIDQyMTgsIDMwODcsIDY0OTYwLCAxMjcyMzQsIDQzNTY0LCAwLCAwLCA5NTg0LCAxMDQ2NSwgOTgzODkzLCAKKyAgICA3NDM1OSwgMTI2MjYsIDkxMDYsIDAsIDQyNjQyLCAxMjAyMzAsIDY0NzUwLCA5MzkwLCAwLCA0MTc5NywgMCwgMCwgMjY1LCAKKyAgICA0MTc5NSwgNjQ2NjYsIDEyNjUwOCwgNDM1MzAsIDI3NTIsIDAsIDAsIDk4MzQ4NSwgNTksIDAsIDk4MzU5MywgMCwgOTIzNzEsIAorICAgIDc3ODczLCA0MTgxMCwgMCwgNzAxMCwgMCwgNDE4MDksIDQxNDk1LCAxMTkzNjQsIDAsIDQyMjUyLCA0MjIxMywgODAwOSwgCisgICAgMzMwNSwgNDMwMzMsIDUxMSwgOTI3MDAsIDY2MjU1LCAxMzEyNywgMTIwMDY3LCAwLCA3NDM5NywgMTIwMjM1LCA5MTc5NzcsIAorICAgIDY1OTE1LCAxNDAwLCA0MTgxMiwgMTA2ODUsIDE5NDg3MCwgMjEwMywgMTAzODcsIDQ0NTMsIDQzMjc2LCA5MTc3ODMsIAorICAgIDEzMTU5LCAwLCA2NDgxLCA0MTIxMywgMCwgMCwgMCwgMCwgNDE5ODMsIDc0MTk4LCA2NjE3LCA5MTE2LCAxMTk2NTQsIDAsIAorICAgIDQ2MiwgNjgxMTAsIDEwNDkzLCAwLCA4MTI5LCAwLCAwLCA3NDQ3MSwgNjY0NCwgMTE2NTgsIDAsIDEyODI0NSwgMzQ1MiwgCisgICAgMTE5MDYsIDk1ODEsIDEzODUsIDMwOTgsIDAsIDExOTAxMywgNDMzNDAsIDAsIDQxMDMzLCA2NDkzLCA0MjYyNiwgMCwgMCwgCisgICAgMTE0MjYsIDc3ODg3LCAxNjgxLCAxMTg3ODksIDEyMDQsIDM3NTUsIDY0NjYxLCA3MjM1LCAxMDE3MCwgMzk2NiwgODkxMSwgCisgICAgMCwgNDE4NDEsIDQzMzM4LCAwLCAwLCA1NzI2LCA2NDkxNSwgNDIxNzUsIDAsIDAsIDQxNDk3LCA2NTA0NCwgMTIwMTA5LCAKKyAgICAyODUxLCA0MzAxNywgOTgzNTg5LCAwLCA0MzczLCA3ODA1OCwgMCwgOTU4NywgMTc4OSwgNjY3MSwgMTI4ODQwLCAzMTAwLCAKKyAgICAwLCA2NTM2MCwgMCwgOTIzNjUsIDkxNzc4OSwgNjQ5MjIsIDAsIDgxOTAsIDEyMDgzLCAwLCAwLCA2NTA2LCA2NDMxMiwgCisgICAgNzQzNzQsIDIzNjgsIDAsIDQ0MTksIDk4MzgzOCwgMTE5MTI1LCAzNDM5LCAxODI1LCAxMTkyLCAxMjAxMDYsIDg4OTEsIAorICAgIDMwODAsIDEyMDIyOCwgMjM0NywgNTQzMCwgMCwgODk5MCwgMjg0OCwgMCwgMTI4MjIzLCA5MjUyOCwgMjQ5LCAwLCAwLCAwLCAKKyAgICAxMjA2NTgsIDAsIDAsIDg4ODMsIDkxNzgwMiwgNzI4LCA2ODE3OCwgOTk1LCAwLCAwLCA2NDgyNiwgMCwgOTE3Nzk4LCAKKyAgICAxMjgzNDgsIDAsIDE5OTQ1LCA4MDkxLCA1NTgsIDAsIDEyMjczLCAxOTQ4MTQsIDk4Mzg0MSwgMTIxMTIsIDY5OTEyLCAwLCAKKyAgICAwLCA3NDQxOSwgMTIzMzUsIDEyMDEwNCwgOTE3Nzk1LCAzNDQzLCAzMTI5LCAwLCAyMTAyLCA2NTQ0NSwgNzgyNTgsIAorICAgIDY0ODkxLCAwLCA3NzI1LCA2NTEwOCwgNzgyNTUsIDAsIDg2MjQsIDY5MjQ2LCAxMjQ0NiwgNDMyOTUsIDAsIDQxODk0LCAwLCAKKyAgICA2Mjc3LCA0MTY3MiwgNDE4OTMsIDEwMDEwLCAxMjg2NzgsIDM1NDAsIDEyODY0OSwgODM1LCA3MTM0MCwgNjk4MTYsIAogICAgIDExOTg2OCwgNzQ0MDgsIDAsIDczOTU5LCA1NDI2LCA0MjU4LCAwLCAwLCA1NDI0LCAxMjgxMjcsIDgyODMsIDAsIDU0MzQsIAotICAgIDAsIDAsIDE5OTE3LCAxMTQwOCwgMCwgMTE5NDcsIDAsIDE0MDQsIDMwOTUsIDExNDMyLCAxMjgzMDcsIDM0NjQsIDY0ODYsIAotICAgIDQ4MTksIDEyODIzMywgMCwgNTcwLCA4MDk1LCAzNjcyLCAxMTk4NjQsIDE0OTgsIDY3ODY2LCAwLCAwLCA0MzEsIDAsIDAsIAotICAgIDEyODE4MiwgMTI4MDk2LCA2ODE2NywgMCwgMTMwOTYsIDEyODY0MywgMCwgNDM0MDgsIDk1MTYsIDEyODUzOCwgNTI2OCwgCi0gICAgNDIyMzAsIDQyMjIwLCAwLCA0NDUwLCAxMjA1MTEsIDExNTQ3LCA0MzQxNywgMTI4NTQyLCAzNTYsIDM0NzcsIDIyNywgCi0gICAgMTA0ODgsIDY4MjAzLCAzODIsIDExNDE4LCAwLCAwLCAwLCAwLCAwLCAwLCA2NDg0LCAyNTQxLCA2NjAzOSwgMCwgNzg3MTgsIAotICAgIDkyNzIzLCAzNTQ5LCAwLCA5MTEwLCAxMTk2NjUsIDI3NDMsIDAsIDQzMjkwLCAxOTQ4MTIsIDkwOTcsIDAsIDQzMDE1LCAKLSAgICA4NzgyLCAwLCA3NzYsIDI1MjQsIDQyNzA3LCA4NTczLCAwLCAwLCAwLCAwLCA0MjY5NCwgNjQ5NDQsIDg5NTIsIDM4NTYsIAotICAgIDExODgxOCwgMCwgNTg3MiwgNjQ5NSwgMCwgMCwgMCwgOTI1NDMsIDAsIDEyMDczMywgMTI4NDksIDM5NTMsIDE4OTcsIDAsIAotICAgIDY1MDk0LCAxMTk5NCwgNDMzOSwgNzQ1NTYsIDkyNjU0LCA2Nzg0MywgMCwgMCwgMCwgNjg0NzMsIDc0MTA0LCA1MjI4LCAKLSAgICAxMjg4MDQsIDc4NjgsIDQzMTg0LCAwLCAwLCA3Mzk4NiwgNDM0MzgsIDAsIDQzMDIyLCAwLCAxMTYyLCAwLCAyNjcxLCAwLCAKLSAgICAwLCA5MjYzMiwgOTI2MzEsIDExODg2NSwgNDU1MywgNzM4MTEsIDAsIDE5NTAwNSwgMCwgMCwgMTk5MjEsIDc0MzMxLCAKLSAgICAxMTQyNCwgMTk1MDA2LCA0NTY3LCA0MTg5MSwgMCwgMCwgNTUyNDksIDQ4MjAsIDY1MjM5LCAxOTQ2NjIsIDAsIDAsIAotICAgIDQzMDQyLCAxMTkyMTIsIDEzNzcsIDEyODY5LCA0ODk3LCA0MjgyMSwgOTI1MCwgMCwgNDQzOCwgNjQzODUsIDAsIDE3NTMsIAotICAgIDExMzMxLCA2MTQ3LCAxOTQ5NDEsIDQzMjgyLCA4ODMzLCAwLCAwLCA2NTA0LCA3ODQwOCwgMTI2OTc5LCAxMDcxOSwgMCwgCi0gICAgMTg5OCwgMTQxMywgNDI0NDMsIDAsIDgwMiwgMTIxNDEsIDAsIDE5NDY3MSwgNjY0OCwgMTA2NzEsIDI1MjgsIDAsIDY0Nzg5LCAKLSAgICA5MTY5LCA4MzgsIDEyNzA5MiwgMTIwNjk3LCA4NDQsIDUwMTQsIDAsIDI1NiwgMCwgOTk5MCwgMCwgNDI3MzksIDkxNzg1MSwgCi0gICAgNzU0MiwgNjU0NjQsIDk3MjYsIDAsIDY0ODksIDEwMDQ4LCA3NDMyNiwgNzg3MTksIDY2NTczLCAwLCA3ODcyNCwgNzg3MTIsIAotICAgIDExNzYxLCAxOTQ2NTUsIDAsIDQxMDk0LCAwLCAwLCAwLCAwLCA5MjY4OSwgNjE5NiwgNjk0NSwgMTk0NjI4LCAxOTQ4OTAsIAotICAgIDEyODE4NCwgMTIwNDkxLCAxMTgxNiwgMTk0OTQzLCA1NzMzLCAyOTMwLCAwLCAwLCA0MTA5OCwgMCwgNDEwOTMsIDAsIAotICAgIDY2NjI2LCA1ODgsIDk3NjAsIDAsIDE5NDcxNywgMTIzOCwgMjAwLCAwLCAxNjYwLCA3MzkxNiwgMCwgMTE4OTA1LCA3NDM2MiwgCi0gICAgMCwgOTI0ODUsIDE5NDY1MSwgMCwgMCwgMzM5NCwgMTk0ODk0LCAxMjA2NjgsIDAsIDAsIDEyNzM1OCwgNjYyMTksIAotICAgIDEyNzE4MywgNDMyODQsIDE5NDY1NywgNzgxNywgMTg0MSwgMTEwNTUsIDEyMDUzMywgMTk0OTc5LCAxOTQ5ODIsIDE2NjksIAotICAgIDEwNzc2LCAxOTQ5ODEsIDc3MDEsIDE5NDk4MCwgMCwgMTk0OTk1LCAxNzMyLCA0MDMwLCAwLCAzOTYzLCA2NjYxMSwgCi0gICAgMTI3NTMwLCA0MTc2OCwgNjQ5MSwgMCwgNjUzMjQsIDkxNCwgNjUzMjMsIDgwNzEsIDM1MzgsIDAsIDc4NzEzLCA2NTMyOCwgCi0gICAgOTI0NDEsIDc0MzY3LCA3NjE0LCAwLCAxMTgxOSwgMCwgMTIwMDksIDEyMzk5LCAwLCA2Nzg1MiwgNjU1MzcsIDAsIDEwODQxLCAKLSAgICA0MzQzMCwgNTMwMSwgMCwgOTI2MTgsIDU3MzQsIDg5NjAsIDAsIDkyNTI3LCA2NTMxNywgNzc4ODAsIDAsIDAsIDAsIAotICAgIDEyMzA0LCAwLCAwLCA2NTMxNSwgOTI2NzAsIDEyODUxMSwgMCwgMCwgMCwgMTE5NjIxLCA5MjUyOSwgNzQ1MzYsIDEyNDQ3LCAKLSAgICA2NDQ4NiwgMTI3Mzc0LCAwLCAwLCAwLCAwLCAwLCA0Mjc2NywgMTA5MTUsIDAsIDEyMDA3LCA0MzY5NSwgMTIwNTIwLCAKLSAgICAxMTk3NSwgMTk0ODc4LCAwLCA5MjYwNCwgMjU1NSwgODYyOSwgMCwgNDMxNjgsIDQxODcyLCA0MzcwNiwgNDQ5NiwgCi0gICAgMTk0ODc5LCAxMjgxNDgsIDAsIDAsIDAsIDAsIDAsIDY0NzMwLCAwLCA2NjcxNCwgNjgyMjIsIDAsIDAsIDY1NTk2LCAKLSAgICA5MjMwNiwgMTE0MTYsIDQyODAsIDY3NjU1LCA4NzY1LCAxMjc4NCwgNzc5MiwgMTM5MywgMTI3MjQyLCA2Nzg3MSwgNzQzODYsIAotICAgIDAsIDgyMzMsIDEyODIwLCAwLCA2NjgzLCAxOTQ4NzYsIDM0NDIsIDEyMTQ0LCAyODQxLCAxMjU0MywgMCwgMTQ3MywgCi0gICAgNDI4MjAsIDY0MzI5LCAxMjc4MzIsIDAsIDY4NjQyLCA2NDg4LCAzNTcsIDEwNDgsIDQxMTAwLCAwLCA0MTEwNCwgMCwgCi0gICAgMzQwNiwgMTA1NCwgMTE5MDY1LCAxMDQwLCA2NTQ1MCwgMCwgNDQzNCwgMTA2OSwgMCwgMTE4ODYyLCA2NTczNywgOTE3NzY1LCAKLSAgICAxMjg3MDUsIDAsIDAsIDk2OTMsIDQxOTQzLCAwLCA0MTkzMSwgNDE3NTksIDEyNzU3LCA0MzUzLCAwLCAxMDU5LCA5NzkwLCAKLSAgICA4OTk1LCAxMjgyODYsIDAsIDY1OTM3LCAwLCA0MTc2NCwgMTA2NDYsIDAsIDExODgzMywgOTIzNzIsIDAsIDc0ODMwLCAKLSAgICA3ODU2OSwgMTI3NDMsIDAsIDY0ODAsIDkxNzc2MSwgNDE3NzksIDQyNTgwLCA2NjYwMSwgMTIyMDcsIDExOTYxOSwgNjMzNSwgCi0gICAgNjY2MDIsIDExMzEyLCA2NDgwNywgMCwgMCwgNDE3NjcsIDAsIDAsIDQzMDIwLCAxMjgyNzEsIDM5NTUsIDc0MjU0LCAwLCAwLCAKLSAgICA5MTc4NjEsIDAsIDc3OTI2LCA5NzcwLCA5MjQ2LCAxMjIzMCwgMCwgMCwgMCwgMTA0NDgsIDQxNzgzLCA0MTc4NiwgCi0gICAgMTI3MDkzLCAxMjc5NywgMjc1NSwgNjQ1NzEsIDc4NTc4LCAxOTQ5MjcsIDQ4NTcsIDAsIDQ0MjgsIDEyNzk0LCA3Mzc1NSwgCi0gICAgMTI4MDYxLCA3ODU3NCwgMCwgMCwgMCwgNTc0NywgNzg4MjUsIDAsIDc5NzgsIDQxMDkyLCA3NDU3MSwgMCwgMTE5MjQsIAotICAgIDQzODEyLCA0MjE0NCwgNjUwMTUsIDAsIDU2MywgMCwgMCwgMTI3OTgsIDExMjcxLCA1NywgMCwgMCwgOTE3ODYwLCAKLSAgICAxMTkwNDMsIDAsIDExOTEzNCwgNDMxMzcsIDY5NCwgMCwgOTg3NiwgMCwgMTE5MTY4LCAwLCA3ODgyMiwgNjQ1MzcsIDAsIAotICAgIDI3NywgNzQzODUsIDcyMjksIDEyNzYxLCAwLCAwLCAxMzAyNSwgNjQ4MTEsIDg3NTcsIDc4ODI0LCAwLCAxNTc0LCA3MzgxLCAKLSAgICAwLCAyNTI1LCA0ODUyLCA1NzQ5LCA2ODQ2NSwgMTMwMjcsIDQyODI0LCAxMjA1NzQsIDEwMzksIDcxNTEsIDEwMTU1LCAKLSAgICA1NzQ1LCAxODgsIDQxODU4LCAxMTU5MiwgMCwgNzQwMTUsIDkwNTUsIDQxODUzLCA0ODU4LCA5MTc3ODAsIDAsIDQzNiwgCi0gICAgNDc3MSwgMCwgMjc4NiwgMCwgNDg1NiwgODA1MSwgMCwgMTE5NjA5LCAwLCA5NjQ0LCAwLCAwLCAwLCAxOTQ5MTYsIAotICAgIDEyMDczMiwgNjY3MTAsIDExODgzNCwgMCwgNzM5MDYsIDAsIDEyNzExNCwgMCwgMTAyMzQsIDU4NDMsIDExOTM5LCAwLCAKLSAgICA0MjE1NywgMCwgMzE1NywgMTk0OTE4LCA2ODM5MywgMCwgMzUwNCwgMTE5MTc4LCAwLCAxMDgyMiwgNTE0OSwgNjYwMjksIAotICAgIDEwMjI2LCA2NTE0MiwgMCwgMzU5NCwgNDI0MjQsIDE5NDk1OSwgNDAsIDEyNjU3LCAwLCAwLCAzODYsIDAsIDg4MzQsIDAsIAotICAgIDEyODE1LCA0MzU3NCwgMCwgNzM5MDcsIDAsIDc0MTk2LCA3MjIwLCA3NDUwNCwgMCwgNzQzMTYsIDAsIDc3OTMyLCA0MzA0LCAKLSAgICA3NDUwMywgODE2MCwgNzg3MDcsIDE5NDc1MywgMCwgMCwgMCwgMTM0OCwgOTIzNDksIDc4NTk3LCAwLCAxMzMwMywgMCwgCi0gICAgOTIzOTIsIDE5NDc1NSwgNzU5OSwgMTI3OCwgNDM2MTYsIDEzMjY5LCAwLCAwLCA3NDM4NywgNzgxNzksIDc4NTk4LCAKLSAgICA3NDQ5MiwgNjA5NywgNzU2OCwgODc4MCwgNDk4MiwgMTI3NDY0LCA3NDUwMSwgMTk0NzYzLCA3ODU5MiwgMTk0NzYyLCAKLSAgICAyNjcyLCAzNzM1LCAxMjc0NzEsIDEzMTM4LCA0MjI2NiwgOTQ4NCwgMTA3MjQsIDQxMjAyLCAxMTkwMjQsIDAsIDQzNzQyLCAKLSAgICAwLCA5NDg3LCAxMTk5NTksIDExOTExNywgMzg0MiwgMTI4NzY4LCA3ODY2OCwgMTI0NDIsIDYxOTMsIDk3OTEsIDEyNzk3NiwgCi0gICAgMCwgNDI1MTYsIDcyMjgsIDc1NTksIDc0ODAzLCA3ODQ2OCwgNzg3MywgMTEzOTksIDExOTIxOSwgMTk0NjkxLCAxOTQ4NTUsIAotICAgIDE5NDY5MCwgMTk0ODU3LCAzNjA0LCAwLCAxMTkxODgsIDEyODg3NywgNzg1NDAsIDc4NTQxLCA0MjUwNywgMTk2MiwgCi0gICAgNDMzMDUsIDc4NDc2LCA0MjUwNSwgMTE2NjAsIDAsIDIwNzIsIDkyMzEyLCA2OTk1LCA3NDE3MywgNTQzNywgNzQxNzQsIAotICAgIDEwNjY5LCA4NzAyLCA3OTY0LCA5MjM1MiwgMCwgMTk5LCAxOTQ4NDMsIDQxMDUsIDE5NDg0NSwgMTk0Njk5LCAxOTQ4NDcsIAotICAgIDE5NDcxMCwgMTE5ODc1LCAxMzE0OCwgNzU2MCwgNzg0NzksIDkyMjYsIDc4NDgwLCAxOTUwNzAsIDY0NzIsIDY1ODE0LCAKLSAgICA3Mzk1NCwgMCwgNDcyNCwgMCwgMCwgOTE5MSwgMCwgNjQ0MzIsIDAsIDAsIDE5NTAyNCwgMTAxOTYsIDc4ODYsIDAsIDY1ODUsIAotICAgIDAsIDY2ODAsIDE5NTA0MiwgMCwgMTk1MDUxLCA2Njc5LCA3NDQxMiwgOTIyNTEsIDE5NDg2NiwgNzQ0MjEsIDExMzgyLCAwLCAKLSAgICAwLCAxMjc4OTEsIDEyNzQ4NCwgMTk0ODMzLCAxOTQ4MzIsIDY2ODEsIDEyNzQ4MiwgMTI2OTMsIDE5NDgzNiwgNDI3MjcsIAotICAgIDE5NDgzOCwgMTI4MjUyLCA3ODE5NSwgNjU0NDIsIDExOTYxMCwgNjk3MzMsIDk5ODksIDQzMjQ4LCA2NjI0OCwgMTk0ODE2LCAKLSAgICAwLCAxOTQ4MTgsIDEyODg0NSwgMTk0ODIwLCAxOTQ4MTksIDUyOTcsIDcwNDIsIDEzMjg0LCA2MTEyLCA3OTY4LCAxOTQ4MjUsIAotICAgIDczOTI3LCA5MjQ0NCwgMTk0NzM2LCA2NTc0NiwgMTI3NDc2LCA3NDQwOSwgNzQzODksIDEyODY5NiwgNDM0MiwgNDI4MzksIAotICAgIDE5NDgzMSwgMTY3NywgMCwgMCwgMTk0ODA2LCA5MTc4NTUsIDExMDkxLCAxMTAxMSwgMjcxOSwgMCwgMCwgMTE5NTk1LCAKLSAgICAxMDE2MCwgMCwgMCwgNzU4NSwgNjUxNjksIDIwNTIsIDQzMDgsIDkyMTc0LCA3NDE3NywgNzUwNSwgNTQzLCA2NDkxNiwgCi0gICAgNjQ3MzYsIDAsIDAsIDY0NjU1LCAwLCAxMTg5MjIsIDIwNjQsIDAsIDQzMTU4LCA3OTAyLCAwLCA2NTI2NSwgMTk0NjM5LCAwLCAKLSAgICAxMjcxNzAsIDAsIDAsIDAsIDAsIDEyOTk0LCA5MjcyOCwgMTA4MjgsIDAsIDYyMjgsIDQzMDcsIDM0ODIsIDEyODUyNywgMCwgCi0gICAgMCwgMCwgNTA2LCA3NDU3MywgNDExOTQsIDY1NzM1LCAyMDU1LCA0MzI1NSwgNDExOTUsIDAsIDgxNjksIDAsIDg4NDEsIDAsIAotICAgIDUxNiwgMCwgMjA2MywgMTE5MDUxLCAzNCwgMTI4ODUwLCAxMjAxODYsIDExNTA0LCAxNjEyLCA3NDMzMywgMTIwMTgyLCAKLSAgICA3NDUyMCwgNzQzMDgsIDEyMDAxLCAxMjAxNzgsIDEwMjQyLCA2NDU2NCwgMTIwMTc5LCAxMjAxNzQsIDY1ODQsIDc3NDksIAotICAgIDExMDM3LCAwLCAxNzU4LCAwLCAxMDY2NywgMTA1NjAsIDEyMDE5NywgOTI1OTMsIDE5MzUsIDExNTE3LCAxMjAxOTMsIAorICAgIDk4MzU5MCwgMCwgMTk5MTcsIDExNDA4LCAwLCAxMTk0NywgMCwgMTQwNCwgMzA5NSwgMTE0MzIsIDEyODMwNywgMzQ2NCwgCisgICAgNjQ4NiwgNDgxOSwgMTI4MjMzLCAwLCA1NzAsIDgwOTUsIDM2NzIsIDExOTg2NCwgMTQ5OCwgNjc4NjYsIDAsIDEyODUzOSwgCisgICAgNDMxLCAwLCAwLCAxMjgxODIsIDEyODA5NiwgNjgxNjcsIDk4MzY1NCwgMTMwOTYsIDEyODY0MywgMCwgNDM0MDgsIDk1MTYsIAorICAgIDEyODUzOCwgNTI2OCwgNDIyMzAsIDQyMjIwLCAwLCA0NDUwLCAxMjA1MTEsIDExNTQ3LCA0MzQxNywgMTI4NTQyLCAzNTYsIAorICAgIDM0NzcsIDIyNywgMTA0ODgsIDY4MjAzLCAzODIsIDExNDE4LCAwLCAxOTUwNjYsIDAsIDAsIDAsIDAsIDY0ODQsIDI1NDEsIAorICAgIDY2MDM5LCAwLCA3ODcxOCwgOTI3MjMsIDM1NDksIDAsIDkxMTAsIDExOTY2NSwgMjc0MywgMCwgNDMyOTAsIDE5NDgxMiwgCisgICAgOTA5NywgMCwgNDMwMTUsIDg3ODIsIDAsIDc3NiwgMjUyNCwgNDI3MDcsIDg1NzMsIDAsIDEyNjQ5NCwgMCwgMCwgNDI2OTQsIAorICAgIDY0OTQ0LCA4OTUyLCAzODU2LCAxMTg4MTgsIDAsIDU4NzIsIDY0OTUsIDAsIDAsIDAsIDkyNTQzLCAwLCAxMjA3MzMsIAorICAgIDEyODQ5LCAzOTUzLCAxODk3LCAwLCA2NTA5NCwgMTE5OTQsIDQzMzksIDc0NTU2LCA5MjY1NCwgNjc4NDMsIDAsIDAsIDAsIAorICAgIDY4NDczLCA3NDEwNCwgNTIyOCwgMTI4ODA0LCA3ODY4LCA0MzE4NCwgMCwgMCwgNzM5ODYsIDQzNDM4LCAwLCA0MzAyMiwgMCwgCisgICAgMTE2MiwgOTE3ODQ3LCAyNjcxLCAwLCAwLCA5MjYzMiwgOTI2MzEsIDExODg2NSwgNDU1MywgNzM4MTEsIDAsIDE5NTAwNSwgCisgICAgMCwgMCwgMTk5MjEsIDc0MzMxLCAxMTQyNCwgMTk1MDA2LCA0NTY3LCA0MTg5MSwgMCwgOTgzNzc5LCA1NTI0OSwgNDgyMCwgCisgICAgNjUyMzksIDE5NDY2MiwgMCwgMTk0NjY1LCA0MzA0MiwgMTE5MjEyLCAxMzc3LCAxMjg2OSwgNDg5NywgNDI4MjEsIDkyNTAsIAorICAgIDAsIDQ0MzgsIDY0Mzg1LCAwLCAxNzUzLCAxMTMzMSwgNjE0NywgMTk0OTQxLCA0MzI4MiwgODgzMywgMCwgMCwgNjUwNCwgCisgICAgNzg0MDgsIDEyNjk3OSwgMTA3MTksIDAsIDE4OTgsIDE0MTMsIDQyNDQzLCAwLCA4MDIsIDEyMTQxLCAwLCAxOTQ2NzEsIAorICAgIDY2NDgsIDEwNjcxLCAyNTI4LCAwLCA2NDc4OSwgOTE2OSwgODM4LCAxMjAwODcsIDEyMDY5NywgODQ0LCA1MDE0LCAwLCAKKyAgICAyNTYsIDAsIDk5OTAsIDAsIDQyNzM5LCA5MTc4NTEsIDc1NDIsIDY1NDY0LCA5NzI2LCAwLCA2NDg5LCAxMDA0OCwgNzQzMjYsIAorICAgIDc4NzE5LCA2NjU3MywgMCwgNzg3MjQsIDc4NzEyLCAxMTc2MSwgMTk0NjU1LCAwLCA0MTA5NCwgMCwgMCwgMTk0ODkzLCAwLCAKKyAgICA5MjY4OSwgNjE5NiwgNjk0NSwgOTM5NjksIDE5NDg5MCwgMTI4MTg0LCAxMjA0OTEsIDExODE2LCAxOTQ5NDMsIDU3MzMsIAorICAgIDI5MzAsIDAsIDAsIDQxMDk4LCAwLCA0MTA5MywgMCwgNjY2MjYsIDU4OCwgOTc2MCwgMCwgMTk0NzE3LCAxMjM4LCAyMDAsIAorICAgIDk4MzIwNSwgMTY2MCwgNzM5MTYsIDAsIDExODkwNSwgNzQzNjIsIDAsIDkyNDg1LCAxOTQ2NTEsIDAsIDk4MzY5NywgMzM5NCwgCisgICAgMTk0ODk0LCAxMjA2NjgsIDAsIDAsIDEyNzM1OCwgNjYyMTksIDEyNzE4MywgNDMyODQsIDE5NDY1NiwgNzgxNywgMTg0MSwgCisgICAgMTEwNTUsIDEyMDUzMywgMTk0OTc5LCAxOTQ5ODIsIDE2NjksIDEwNzc2LCAxOTQ5ODEsIDc3MDEsIDE5NDk4MCwgMCwgCisgICAgMTk0OTk1LCAxNzMyLCA0MDMwLCAwLCAzOTYzLCA2NjYxMSwgMTI3NTMwLCA0MTc2OCwgNjQ5MSwgMCwgNjUzMjQsIDkxNCwgCisgICAgNjUzMjMsIDgwNzEsIDM1MzgsIDAsIDIyODcsIDY1MzI4LCA5MjQ0MSwgNzQzNjcsIDc2MTQsIDAsIDExODE5LCAwLCAKKyAgICAxMjAwOSwgMTIzOTksIDAsIDY3ODUyLCA2NTUzNywgMCwgMTA4NDEsIDQzNDMwLCA1MzAxLCAwLCA5MjYxOCwgNTczNCwgCisgICAgODk2MCwgMCwgOTI1MjcsIDY1MzE3LCA3Nzg4MCwgMCwgMCwgMCwgMTIzMDQsIDAsIDAsIDY1MzE1LCA5MjY3MCwgMTI4NTExLCAKKyAgICAwLCAwLCAwLCAxMTk2MjEsIDkyNTI5LCA3NDUzNiwgMTI0NDcsIDY0NDg2LCAxMjczNzQsIDEyNjU2MiwgOTgzMTI5LCAwLCAKKyAgICAwLCA5ODM3OTMsIDQyNzY3LCAxMDkxNSwgMCwgMTIwMDcsIDQzNjk1LCAxMjA1MjAsIDExOTc1LCAxOTQ4NzgsIDAsIAorICAgIDkyNjA0LCAyNTU1LCA4NjI5LCAxMjg2NDAsIDQzMTY4LCA0MTg3MiwgNDM3MDYsIDQ0OTYsIDE5NDg3OSwgMTI4MTQ4LCAKKyAgICAxMjAyNDEsIDAsIDAsIDAsIDAsIDY0NzMwLCA3MDA0MSwgNjY3MTQsIDY4MjIyLCAwLCA3MDA3NiwgNjU1OTYsIDkyMzA2LCAKKyAgICAxMTQxNiwgNDI4MCwgNjc2NTUsIDg3NjUsIDEyNzg0LCA3NzkyLCAxMzkzLCAxMjY0NzMsIDY3ODcxLCA3NDM4NiwgMCwgCisgICAgODIzMywgMTI4MjAsIDAsIDY2ODMsIDE5NDg3NiwgMzQ0MiwgMTIxNDQsIDI4NDEsIDEyNTQzLCAwLCAxNDczLCA0MjgyMCwgCisgICAgNjQzMjksIDEyNzgzMiwgMCwgNjg2NDIsIDY0ODgsIDM1NywgMTA0OCwgNDExMDAsIDAsIDQxMTA0LCA5NDAwMywgMzQwNiwgCisgICAgMTA1NCwgNzEzMjAsIDEwNDAsIDY1NDUwLCAwLCA0NDM0LCAxMDY5LCAwLCAxMTg4NjIsIDY1NzM3LCA5MTc3NjUsIAorICAgIDEyODcwNSwgMCwgOTgzNjg0LCA5NjkzLCA0MTk0MywgMTI2NTY0LCA0MTkzMSwgNDE3NTksIDEyNzU3LCA0MzUzLCAwLCAKKyAgICAxMDU5LCA5NzkwLCA4OTk1LCAxMTk5NzQsIDk4MzY4NywgNjU5MzcsIDAsIDQxNzY0LCAxMDY0NiwgMCwgMTE4ODMzLCAKKyAgICA5MjM3MiwgMCwgNzQ4MzAsIDc4NTY5LCAxMjc0MywgOTgzNjgwLCA2NDgwLCA5MTc3NjEsIDQxNzc5LCA0MjU4MCwgNjY2MDEsIAorICAgIDEyMjA3LCAxMTk2MTksIDYzMzUsIDY2NjAyLCAxMTMxMiwgNjQ4MDcsIDAsIDAsIDQxNzY3LCAxMTk2MjksIDk4Mzc1NSwgCisgICAgNDMwMjAsIDEyODI3MSwgMzk1NSwgNzQyNTQsIDAsIDk4Mzc0NSwgOTE3ODYxLCAwLCA3NzkyNiwgOTc3MCwgOTI0NiwgCisgICAgMTIyMzAsIDAsIDAsIDAsIDEwNDQ4LCA0MTc4MywgNDE3ODYsIDEyNzA5MywgMTI3OTcsIDI3NTUsIDY0NTcxLCA3ODU3OCwgCisgICAgMTk0OTI3LCA0ODU3LCAwLCA0NDI4LCAxMjc5NCwgNzM3NTUsIDEyODA2MSwgNzg1NzQsIDAsIDc0Mjg0LCAwLCA1NzQ3LCAKKyAgICA3ODgyNSwgMCwgNzk3OCwgNDEwOTIsIDc0NTcxLCAwLCAxMTkyNCwgNDM4MTIsIDQyMTQ0LCA2NTAxNSwgMCwgNTYzLCAwLCAKKyAgICA5ODM2ODIsIDEyNzk4LCAxMTI3MSwgNTcsIDAsIDAsIDkxNzg2MCwgMTE5MDQzLCAwLCA5NDA1MSwgNDMxMzcsIDY5NCwgMCwgCisgICAgOTg3NiwgMCwgMTE5MTY4LCAwLCA3ODgyMiwgNjQ1MzcsIDAsIDI3NywgNzQzODUsIDcyMjksIDEyNzYxLCAwLCAwLCAKKyAgICAxMzAyNSwgNjQ4MTEsIDg3NTcsIDc4ODI0LCAxMjY0NzgsIDE1NzQsIDczODEsIDAsIDI1MjUsIDQ4NTIsIDU3NDksIAorICAgIDY4NDY1LCAxMzAyNywgNDI4MjQsIDEyMDU3NCwgMTAzOSwgNzE1MSwgMTAxNTUsIDU3NDUsIDE4OCwgNDE4NTgsIDExNTkyLCAKKyAgICAwLCA3NDAxNSwgOTA1NSwgNDE4NTMsIDQ4NTgsIDkxNzc4MCwgMCwgNDM2LCA0NzcxLCAwLCAyNzg2LCAwLCA0ODU2LCAKKyAgICA4MDUxLCAwLCAxMTk2MDksIDcxMzI3LCA5NjQ0LCAwLCAwLCAwLCAxOTQ5MTYsIDEyMDczMiwgNjY3MTAsIDExODgzNCwgCisgICAgOTgzMzUxLCA3MzkwNiwgMTI4NjgwLCAxMjcxMTQsIDAsIDEwMjM0LCA1ODQzLCAxMTkzOSwgMCwgNDIxNTcsIDAsIDMxNTcsIAorICAgIDE5NDkxOCwgNjgzOTMsIDAsIDM1MDQsIDExOTE3OCwgMCwgMTA4MjIsIDUxNDksIDY2MDI5LCAxMDIyNiwgNjUxNDIsIAorICAgIDEyODAyNSwgMzU5NCwgNDI0MjQsIDE5NDk1OSwgNDAsIDEyNjU3LCA5ODM2NTYsIDAsIDM4NiwgMCwgODgzNCwgMCwgCisgICAgMTI4MTUsIDQzNTc0LCAwLCA3MzkwNywgMCwgNzQxOTYsIDcyMjAsIDc0NTA0LCAwLCA3NDMxNiwgMCwgNjUzMjIsIDQzMDQsIAorICAgIDc0NTAzLCA4MTYwLCA3ODcwNywgMTk0NzUzLCAwLCAwLCAxMjg1MjYsIDEzNDgsIDkyMzQ5LCA3ODU5NywgMTI2NTM5LCAKKyAgICAxMzMwMywgMCwgOTIzOTIsIDE5NDc1NSwgNzU5OSwgMTI3OCwgNDM2MTYsIDEzMjY5LCAwLCAwLCA3NDM4NywgNzgxNzksIAorICAgIDc4NTk4LCA3NDQ5MiwgNjA5NywgNzU2OCwgODc4MCwgNDk4MiwgMTI3NDY0LCA3NDUwMSwgMTk0NzYzLCA3ODU5MiwgCisgICAgMTk0NzYyLCAyNjcyLCAzNzM1LCAxMjc0NzAsIDEzMTM4LCA0MjI2NiwgOTQ4NCwgMTA3MjQsIDQxMjAyLCA3MTM2NCwgMCwgCisgICAgNDM3NDIsIDAsIDk0ODcsIDExOTk1OSwgMTE5MTE3LCAzODQyLCAxMjg3NjgsIDc4NjY4LCAxMjQ0MiwgNjE5MywgOTc5MSwgCisgICAgMTI3OTc2LCAwLCA0MjUxNiwgNzIyOCwgNzU1OSwgNzQ4MDMsIDc4NDY4LCA3ODczLCAxMTM5OSwgMTE5MjE5LCAxOTQ2OTEsIAorICAgIDE5NDg1NSwgMTk0NjkwLCAxOTQ4NTcsIDM2MDQsIDEyMDY4MywgMTE5MTg4LCAxMjg4NzcsIDc4NTQwLCA3ODU0MSwgCisgICAgNDI1MDcsIDE5NjIsIDQzMzA1LCA3ODQ3NiwgNDI1MDUsIDExNjYwLCAwLCAyMDcyLCA5MjMxMiwgNjk5NSwgNzQxNzMsIAorICAgIDU0MzcsIDc0MTc0LCAxMDY2OSwgODcwMiwgNzk2NCwgOTIzNTIsIDAsIDE5OSwgMTk0ODQzLCA0MTA1LCAxOTQ4NDUsIAorICAgIDE5NDY5OSwgMTk0ODQ3LCAxOTQ3MTAsIDExOTg3NSwgMTMxNDgsIDc1NjAsIDc4NDc5LCA5MjI2LCA3ODQ4MCwgMTk1MDcwLCAKKyAgICA2NDcyLCA2NTgxNCwgNzM5NTQsIDAsIDQ3MjQsIDAsIDAsIDkxOTEsIDAsIDY0NDMyLCA5ODM4MDgsIDk4MzI0MSwgCisgICAgMTk1MDI0LCAxMDE5NiwgNzg4NiwgMCwgNjU4NSwgMCwgNjY4MCwgMTk1MDQyLCAwLCAxOTUwNTEsIDY2NzksIDc0NDEyLCAKKyAgICA5MjI1MSwgMTk0ODY2LCA3NDQyMSwgMTEzODIsIDk4MzYyMiwgOTgzNjI4LCAxMjc4OTEsIDEyNzQ4NCwgMTk0ODMzLCAKKyAgICAxOTQ4MzIsIDY2ODEsIDEyNzQ4MiwgMTI2OTMsIDE5NDgzNiwgNDI3MjcsIDc4MTk2LCAxMjgyNTIsIDc4MTk1LCA2NTQ0MiwgCisgICAgMTE5NjEwLCA2OTczMywgOTk4OSwgNDMyNDgsIDY2MjQ4LCAxOTQ4MTYsIDAsIDE5NDgxOCwgMTI4ODQ1LCAxOTQ4MjAsIAorICAgIDE5NDgxOSwgNTI5NywgNzA0MiwgMTMyODQsIDYxMTIsIDc5NjgsIDE5NDgyNSwgNzM5MjcsIDkyNDQ0LCAxOTQ3MzYsIAorICAgIDY1NzQ2LCAxMjc0NzYsIDY5ODg5LCA3NDM4OSwgMTI4Njk2LCA0MzQyLCA0MjgzOSwgMTk0ODMxLCAxNjc3LCAwLCAwLCAKKyAgICAxMjY1OTAsIDkxNzg1NSwgMTEwOTEsIDExMDExLCAyNzE5LCAwLCAwLCAxMTk1OTUsIDEwMTYwLCAwLCAwLCA3NTg1LCAKKyAgICA2NTE2OSwgMjA1MiwgNDMwOCwgOTIxNzQsIDQzMDAwLCA3NTA1LCA1NDMsIDY0OTE2LCA2NDczNiwgMCwgMCwgNjQ2NTUsIDAsIAorICAgIDExODkyMiwgMjA2NCwgMCwgNDMxNTgsIDc5MDIsIDAsIDY1MjY1LCAxOTQ2MzksIDAsIDEyNzE3MCwgMCwgMCwgMCwgMCwgCisgICAgMTI5OTQsIDkyNzI4LCAxMDgyOCwgOTgzOTM0LCA2MjI4LCA0MzA3LCAzNDgyLCAxMjg1MjcsIDAsIDAsIDAsIDUwNiwgCisgICAgNzQ1NzMsIDQxMTk0LCA2NTczNSwgMjA1NSwgNDMyNTUsIDQxMTk1LCAwLCA4MTY5LCA5ODM2NzEsIDg4NDEsIDAsIDUxNiwgCisgICAgOTM5NzQsIDIwNjMsIDExOTA1MSwgMzQsIDEyODg1MCwgMTIwMTg2LCAxMTUwNCwgMTYxMiwgNzQzMzMsIDEyMDE4MiwgCisgICAgMTE4MjcsIDc0MzA4LCAxMjAwMSwgMTIwMTc4LCAxMDI0MiwgNjQ1NjQsIDEyMDE3OSwgNjc5ODYsIDY1ODQsIDc3NDksIAorICAgIDExMDM3LCAwLCAxNzU4LCAxMjcwOTIsIDEwNjY3LCAxMDU2MCwgMTIwMTk3LCA5MjU5MywgMTkzNSwgMTE1MTcsIDEyMDE5MywgCiAgICAgMTIwMTk2LCAxMjAxOTUsIDE5MzEsIDEyMDE4OSwgNzQ4MzksIDEyMDE5MSwgMTIxNywgNjQ3MDIsIDEyNjQzLCA4MjUsIAogICAgIDEyNzgzOCwgMTk0OTA1LCAxMjI5NCwgOTI0MjgsIDc4ODM0LCA5MTM4LCA3ODgzMSwgNzg4MzMsIDEyNjMxLCA3ODgyOSwgCiAgICAgMTEwODAsIDc0NTU0LCA2NDAwMCwgNTU5MSwgMTIzOSwgMCwgMTEzMTMsIDAsIDM0MDMsIDAsIDAsIDY0MzY0LCA5MjI2OSwgCi0gICAgMCwgNzQ1ODIsIDg5OTgsIDEyOTg4LCAwLCA5MTUyLCAwLCAwLCAxOTQ4OTgsIDY3NTg5LCA0MTg1MCwgNjQyOTAsIDM0MzMsIAotICAgIDkyMzkzLCAxMjYxNSwgMTU5NCwgNDIxOTIsIDY5MTQsIDY3NjAzLCAwLCAxMTk1NjksIDc0NTY1LCA0MTM1MywgNjc2MDIsIAotICAgIDY3NjExLCA0MzM3LCAwLCAxMjcyOTYsIDkxOCwgNjUwMzUsIDQxMzUxLCA3NjgxLCAxOTQ5MDAsIDQyNTc3LCA0MTM5MywgCi0gICAgMTI2NjgsIDE5NDkwNCwgMjQ3NywgMTI3Mjg1LCAwLCAxMjczMDEsIDAsIDY3NjA0LCAxOTQ4ODAsIDEyNzIzNSwgNTczLCAKLSAgICAxMjcyODIsIDE5NDg4NCwgMTE0MTcsIDE5NDg4NiwgMTE5ODE0LCAxOTQ4ODgsIDY3NTk5LCAwLCAxOTQ4ODksIDY3NjA3LCAKLSAgICAxMTQ4MiwgMCwgMzk4MSwgMzM1NywgMCwgNDIyMjMsIDQyMDcsIDEyODgsIDc4ODQyLCA3ODgzOSwgNjg0MTksIDc4ODM3LCAKLSAgICAxMTU4OSwgNDIxOTUsIDE5NDg3MiwgMTk0NTk5LCAxMjcyNjMsIDY0NjAyLCA2NzYxOCwgOTI1MzksIDAsIDQyNzg4LCAKLSAgICA2ODQxNiwgNjQ0ODAsIDE5NDg3NSwgODQyMywgMzM0OCwgNDQ4LCA2ODQ3NiwgOTcxNywgMCwgMCwgOTk3LCAwLCAwLCAKLSAgICA5MjU3NywgMCwgMTE0NDAsIDExMzc5LCA0MjAwMCwgMTMxMzksIDQyMjIxLCA2NTAxMywgMTI2OTk5LCAxMjc3NjAsIAotICAgIDczNzk2LCAwLCAxMTkyMjgsIDEyMDM1LCAwLCAyODE4LCAwLCAwLCA3Mzc5MywgMCwgNDE3MiwgMCwgMCwgODM3MywgCisgICAgMCwgNzQ1ODIsIDg5OTgsIDEyOTg4LCAwLCA5MTUyLCA5ODM4NDAsIDAsIDEyNjQ4NCwgNjc1ODksIDQxODUwLCA2NDI5MCwgCisgICAgMzQzMywgOTIzOTMsIDEyNjE1LCAxNTk0LCA0MjE5MiwgNjkxNCwgNjc2MDMsIDAsIDExOTU2OSwgNzQ1NjUsIDQxMzUzLCAKKyAgICA2NzYwMiwgNjc2MTEsIDQzMzcsIDAsIDEyNzI5NiwgOTE4LCA2NTAzNSwgNDEzNTEsIDc2ODEsIDE5NDkwMCwgNDI1NzcsIAorICAgIDQxMzkzLCAxMjY2OCwgMTk0OTA0LCAyNDc3LCAxMjcyODUsIDAsIDEyNzMwMSwgMCwgNjc2MDQsIDE5NDg4MCwgMTI3MjM1LCAKKyAgICA1NzMsIDEyNzI4MiwgMTk0ODg0LCAxMTQxNywgMTk0ODg2LCAxMTk4MTQsIDE5NDg4OCwgNjc1OTksIDAsIDE5NDg4OSwgCisgICAgNjc2MDcsIDExNDgyLCAwLCAzOTgxLCAzMzU3LCAwLCA0MjIyMywgNDIwNywgMTI4OCwgNzg4NDIsIDc4ODM5LCA2ODQxOSwgCisgICAgNzg4MzcsIDExNTg5LCA0MjE5NSwgMTk0ODcyLCAxOTQ1OTksIDEyNzI2MywgNjQ2MDIsIDY3NjE4LCA5MjUzOSwgMCwgCisgICAgNDI3ODgsIDY4NDE2LCA2NDQ4MCwgMTk0ODc1LCA4NDIzLCAzMzQ4LCA0NDgsIDY4NDc2LCA5NzE3LCAwLCAwLCA5OTcsIDAsIAorICAgIDAsIDkyNTc3LCAwLCAxMTQ0MCwgMTEzNzksIDQyMDAwLCAxMzEzOSwgNDIyMjEsIDY1MDEzLCAxMjY5OTksIDEyNzc2MCwgCisgICAgNzM3OTYsIDAsIDExOTIyOCwgMTIwMzUsIDAsIDI4MTgsIDAsIDc0NDExLCA3Mzc5MywgMCwgNDE3MiwgMCwgMCwgODM3MywgCiAgICAgMTA4NzMsIDEyMTk3LCAwLCAwLCA5MjI2NSwgNjk3MDYsIDAsIDc4MjEwLCAwLCAxMjgxMTAsIDE5NDg2NSwgMTI2OTgyLCAKICAgICA3NDU2MywgNjQ4MjgsIDExNDE5LCAxOTQ4NjgsIDc2NiwgMTI1NywgMCwgMTE4ODQ1LCAxMTM4MSwgMzI2NSwgNjY2MTcsIAotICAgIDMyNzQsIDEyNzM2NSwgMCwgMCwgMCwgNzQ1MjIsIDQxOTg5LCAwLCAwLCAxMjg3OTgsIDMyNjMsIDAsIDY1NjcyLCAwLCAKLSAgICAzMjcwLCA2NDUzOSwgMTE0ODksIDAsIDAsIDAsIDAsIDk1MDUsIDY1NTE4LCAxOTQ3NzYsIDc1NiwgMTk0NjA1LCAwLCAwLCAKLSAgICAwLCA3MjYxLCAwLCAxODYsIDAsIDExOTE1NiwgNTc3MCwgMTMxNzksIDY1ODMwLCAxMjYxMiwgMTI5NDksIDY0ODU2LCAKLSAgICAxMjgwMCwgMCwgNzQyMDMsIDY0NzE4LCAwLCAwLCA5MjQzNCwgMTE4OTI5LCAwLCAxMTU3OCwgMCwgMTE5Mjk2LCAwLCAwLCAKLSAgICAwLCAwLCA3NDU2OCwgOTI1NCwgMCwgMTc5NCwgMTIwMjE3LCA2NDUyMSwgNTYyNCwgMTIwMjIwLCAxMjAyMjEsIDExOTk1OCwgCi0gICAgMTIwMjIzLCAzNjE3LCA2NjYzNiwgNjQ4ODYsIDEyMDIxMSwgMTIwMjEyLCAxMjAyMTMsIDEyMDIxNCwgMTg3MiwgNjY1MDgsIAotICAgIDEyMDQ2NywgNDEwNzksIDEwNzQ4LCA1NTAyLCAxMTkzMzAsIDQ0NTIsIDAsIDAsIDkyNTI2LCA0NTExLCAwLCAwLCA2NDY3OCwgCi0gICAgMTE0MjUsIDAsIDQzMjQ1LCAxMjMxLCAxOTQ3ODMsIDAsIDAsIDkwMDMsIDgxOTIsIDAsIDUzMDUsIDk2NTMsIDEwNjE2LCAKLSAgICA4Njk0LCA5NTQ2LCAwLCAwLCAxMjA0NzgsIDEyMDIwMCwgNjUyMDUsIDEyMDIwMiwgNjQwNjMsIDk4NzgsIDc0NzgwLCAKLSAgICAxMTk2MjYsIDc4MjAyLCA2NDA1OCwgODc5OSwgNDIxMzEsIDAsIDY0MDYyLCAxMDI4LCA2NDA2MCwgNjQwNTksIDgzNywgCi0gICAgMTA1NjcsIDAsIDQzMTAzLCAwLCAxMjA3NTQsIDExNDI3LCAyOTAyLCA2NDA0MywgNjQwNDIsIDY2NDY0LCAxMDc1NiwgMCwgCi0gICAgNDI2MDYsIDY0MDQ1LCA2NDA0NCwgNDM5NzksIDEwMDc2LCA2NDA0MCwgNDMwNjAsIDE5NDk0MiwgMTAzNCwgMzM5MiwgCi0gICAgMTI3NzcxLCA0MzA5MSwgNjQwMzMsIDY0MDMyLCA0MjczNSwgNjQwMzgsIDY0MDM3LCA2NDAzNiwgNjQwMzUsIDQyOTEsIAotICAgIDE5NDkyOCwgNjQwMTUsIDY0MDE0LCA2NDY4MSwgMTk0OTMwLCAwLCA3ODE0NSwgMCwgNDMwOTAsIDAsIDM0NzYsIDg5NzMsIAotICAgIDY0MDEyLCA0MjQ3MywgNjQwMTAsIDY0MDA4LCA2NDAwNywgMjAwMywgNzcwNiwgNjQ1MTcsIDc4MTUzLCAyNTM4LCA2NDAwOSwgCi0gICAgMjA0LCAwLCA0ODAyLCA0MTExLCA4MjM5LCA5MDk4LCA0ODA1LCA2NDAwMSwgNjQwNTcsIDc4ODUsIDcyNDcsIDY0MDU0LCAwLCAKLSAgICAwLCA0NzY3LCA5MzQzLCA2NDA0OSwgNjQwNDgsIDEyMDAzNCwgMTEzMywgNjQwNTMsIDY0MDUyLCA0MzQ1MywgNjQwNTAsIAotICAgIDQxMzQwLCAxMTg5NzUsIDE5NDgzNSwgMTAwMDUsIDEyMzI5LCA0MTMzMywgMCwgODQ4OSwgMTk0MiwgMCwgMTk0ODM0LCAKLSAgICA0MjUyMCwgMTI4MjQ5LCAwLCAwLCAxMDc2MCwgNjQwMjMsIDY0MDIyLCA2NDAyMSwgNjU4MiwgNDM2NzAsIDAsIDY0MDI1LCAKLSAgICA5MTY3LCA0MjE1MSwgNzgyNDQsIDAsIDIwMjYsIDY0MDE5LCA2NDAxOCwgNjQwMTcsIDY0MDE2LCAxMjc2OCwgMCwgNzU4MiwgCi0gICAgNzgyNTIsIDc4MjQ4LCA3NzkxNCwgNzgyNDYsIDc4MjQ3LCAwLCA3NzkxNSwgNzg3NjYsIDY3ODgsIDEzMDk0LCA3NzkyMCwgCi0gICAgNzUzMiwgNDE0MTQsIDc4NTIwLCAzMTc5LCA3ODUxOCwgNjQ3NjksIDc4NTE0LCA3ODUxNywgMTE0NjEsIDc0NDU0LCAKLSAgICAxMDc1MSwgOTA1MSwgMTIwNzIwLCA2NzA4LCAxMDUzNSwgMCwgNjgyMTgsIDU1Mjc0LCAyMDA4LCA2NDAzMSwgNjQwMzAsIAotICAgIDI5NCwgNDE4NzQsIDAsIDEyNjk5MSwgNjU5MjksIDAsIDAsIDAsIDAsIDY0MDI4LCA4MTQ2LCA2NDAyNiwgNDE3ODgsIAotICAgIDE5NDg0NCwgMCwgMTE4Nzk1LCA2MzQzLCA0MzI0NywgMTE5ODg4LCAwLCAxMTk4ODYsIDExOTg5MSwgMTE5ODkyLCAKLSAgICAxMTk4ODksIDExNDMzLCAxMTk4OTUsIDExOTg5NiwgMCwgNzgwMSwgNjU1NzgsIDE5NDgzOSwgMTI5MTUsIDQzOTY4LCAKLSAgICAzMjk3LCA5Njk5LCAxOTQ5NTUsIDExMzUsIDAsIDAsIDEyODUyNSwgMTk5NSwgNjcyMiwgMCwgMCwgMjU1MiwgNDE1NDYsIAotICAgIDYwLCA2ODM5NCwgODY0OSwgNDE1NDksIDc4NDk2LCAwLCAwLCA2NjgyLCAwLCA3ODY3OSwgNjQ3MTAsIDQxNTQ3LCAwLCAKLSAgICAyMDEzLCAxMjgyOTEsIDc4NTMwLCA3ODUzMiwgNzg1MjgsIDc4NTI5LCAxMjgzMiwgNzg0OTMsIDgwODEsIDgzNjIsIDM1MzcsIAotICAgIDExOTkwOCwgOTEzNywgNzE1NSwgODk5OSwgMCwgNzg1MzMsIDM0NjYsIDAsIDAsIDE5OTYsIDAsIDM0NTMsIDYyODIsIDAsIAotICAgIDIwMDIsIDIwMDAsIDEyMDE3NSwgNTM3LCAwLCA0MTc5LCA2NTExOSwgMTk5OCwgMCwgMTg0MiwgMCwgOTI2NzQsIDk2MjgsIAotICAgIDY4NDQ2LCAxMjA4MSwgOTgyNiwgNjQ1MDIsIDE3NjcsIDAsIDAsIDAsIDEyMDIwMSwgMCwgMCwgMCwgMzA1OSwgNDQwMjQsIAotICAgIDEyMDIwNCwgMTE5OTUzLCA5MjY5MywgMCwgMCwgOTI0NTIsIDQxMDAsIDkyMCwgMTgxMSwgMTM1NSwgMCwgMCwgMzU5MiwgCi0gICAgMTAwNzgsIDAsIDAsIDAsIDg1OTIsIDY1ODcwLCA2ODE2NCwgMTI4NzkyLCAxMDc0MiwgMCwgNDI5MTgsIDE5OTQsIDkyODEsIAotICAgIDMyOTYsIDEyODY1LCAxOTk3LCAxODk1LCAKKyAgICAzMjc0LCAxMjczNjUsIDEyNjUyMywgOTQwNDIsIDk4Mzk0MSwgNzQ1MjIsIDQxOTg5LCAwLCAwLCAxMjg3OTgsIDMyNjMsIDAsIAorICAgIDY1NjcyLCAwLCAzMjcwLCA2NDUzOSwgMTE0ODksIDAsIDAsIDAsIDAsIDk1MDUsIDY1NTE4LCAxOTQ3NzYsIDc1NiwgCisgICAgMTk0NjA1LCAwLCAwLCAwLCA3MjYxLCAwLCAxODYsIDAsIDExOTE1NiwgNTc3MCwgMTMxNzksIDY1ODMwLCAxMjYxMiwgCisgICAgMTI5NDksIDY0ODU2LCAxMjgwMCwgOTgzODkyLCA3NDIwMywgNjQ3MTgsIDExNTA3LCAwLCA5MjQzNCwgMTE4OTI5LCAwLCAKKyAgICAxMTU3OCwgMCwgMTE5Mjk2LCAwLCAwLCAwLCAwLCA3NDU2OCwgOTI1NCwgMCwgMTc5NCwgMTIwMjE3LCA2NDUyMSwgNTYyNCwgCisgICAgMTIwMjIwLCAxMjAyMjEsIDExOTk1OCwgMTIwMjIzLCAzNjE3LCA2NjYzNiwgNjQ4ODYsIDk0MDYxLCAxMjAyMTIsIAorICAgIDEyMDIxMywgMTIwMjE0LCAxODcyLCA2NjUwOCwgMTIwNDY3LCA0MTA3OSwgMTA3NDgsIDU1MDIsIDExOTMzMCwgNDQ1MiwgMCwgCisgICAgOTgzNzYyLCA5MjUyNiwgNDUxMSwgMCwgOTgzODY4LCA2NDY3OCwgMTE0MjUsIDAsIDQzMjQ1LCAxMjMxLCAxOTQ3ODMsIAorICAgIDY5OTAzLCAwLCA5MDAzLCA4MTkyLCAwLCA1MzA1LCA5NjUzLCAxMDYxNiwgODY5NCwgOTU0NiwgMCwgMCwgMTIwNDc4LCAKKyAgICAxMjAyMDAsIDY1MjA1LCAxMjAyMDIsIDY0MDYzLCA5ODc4LCA3NDc4MCwgMTE5NjI2LCA3ODIwMiwgNjQwNTgsIDg3OTksIAorICAgIDQyMTMxLCAwLCA2NDA2MiwgMTAyOCwgNjQwNjAsIDY0MDU5LCA4MzcsIDEwNTY3LCAwLCA0MzEwMywgMCwgMTIwNzU0LCAKKyAgICAxMTQyNywgMjkwMiwgNjQwNDMsIDY0MDQyLCA0Mzc0OSwgMTA3NTYsIDY0MDQ3LCA0MjYwNiwgNjQwNDUsIDY0MDQ0LCAKKyAgICA0Mzk3OSwgMTAwNzYsIDY0MDQwLCA0MzA2MCwgMTk0OTQyLCAxMDM0LCAzMzkyLCAxMjc3NzEsIDQzMDkxLCA2NDAzMywgCisgICAgNjQwMzIsIDQyNzM1LCA2NDAzOCwgNjQwMzcsIDY0MDM2LCA2NDAzNSwgNDI5MSwgMTk0OTI4LCA2NDAxNSwgNjQwMTQsIAorICAgIDY0NjgxLCAxOTQ5MzAsIDAsIDc4MTQ1LCAwLCA0MzA5MCwgMCwgMzQ3NiwgODk3MywgNjQwMTIsIDQyNDczLCA2NDAxMCwgCisgICAgNjQwMDgsIDY0MDA3LCAyMDAzLCA3NzA2LCA2NDUxNywgNzgxNTMsIDI1MzgsIDY0MDA5LCAyMDQsIDAsIDQ4MDIsIDQxMTEsIAorICAgIDgyMzksIDkwOTgsIDQ4MDUsIDY0MDAxLCA2NDA1NywgNzg4NSwgNzI0NywgNjQwNTQsIDk4MzI1OCwgMCwgNDc2NywgOTM0MywgCisgICAgNjQwNDksIDY0MDQ4LCAxMjAwMzQsIDExMzMsIDY0MDUzLCA2NDA1MiwgNDM0NTMsIDY0MDUwLCA0MTM0MCwgMTE4OTc1LCAKKyAgICAxOTQ4MzUsIDEwMDA1LCAxMjMyOSwgNDEzMzMsIDAsIDg0ODksIDE5NDIsIDAsIDE5NDgzNCwgNDI1MjAsIDEyODI0OSwgMCwgCisgICAgMCwgMTA3NjAsIDY0MDIzLCA2NDAyMiwgNjQwMjEsIDY1ODIsIDQzNjcwLCAwLCA2NDAyNSwgOTE2NywgNDIxNTEsIDc4MjQ0LCAKKyAgICA5ODMyMjYsIDIwMjYsIDY0MDE5LCA2NDAxOCwgNjQwMTcsIDY0MDE2LCAxMjc2OCwgMCwgNzU4MiwgNzgyNTIsIDc4MjQ4LCAKKyAgICA3NzkxNCwgNzgyNDYsIDc4MjQ3LCAwLCA3NzkxNSwgNzg3NjYsIDY3ODgsIDEzMDk0LCA3NzkyMCwgNzUzMiwgNDE0MTQsIAorICAgIDc4NTIwLCAzMTc5LCA3ODUxOCwgNjQ3NjksIDc4NTE0LCA3ODUxNywgMTE0NjEsIDc0NDU0LCAxMDc1MSwgOTA1MSwgCisgICAgMTIwNzIwLCA2NzA4LCAxMDUzNSwgMCwgNjgyMTgsIDU1Mjc0LCAyMDA4LCA2NDAzMSwgNjQwMzAsIDI5NCwgNDE4NzQsIDAsIAorICAgIDEyNjk5MSwgNjU5MjksIDAsIDAsIDAsIDAsIDY0MDI4LCA4MTQ2LCA2NDAyNiwgNDE3ODgsIDE5NDg0NCwgMCwgNDM1MSwgCisgICAgNjM0MywgNDMyNDcsIDExOTg4OCwgMCwgMTE5ODg2LCAxMTk4OTEsIDExOTg5MiwgMTE5ODg5LCAxMTQzMywgMTE5ODk1LCAKKyAgICAxMTk4OTYsIDAsIDc4MDEsIDY1NTc4LCAxOTQ4MzksIDEyOTE1LCA0Mzk2OCwgMzI5NywgOTY5OSwgMTk0OTU1LCAxMTM1LCAKKyAgICAwLCAwLCAxMjg1MjUsIDE5OTUsIDY3MjIsIDk4MzkxNiwgMCwgMjU1MiwgNDE1NDYsIDYwLCA2ODM5NCwgODY0OSwgNDE1NDksIAorICAgIDc4NDk2LCA5ODMzMTksIDAsIDY2ODIsIDAsIDc4Njc5LCA2NDcxMCwgNDE1NDcsIDk4MzYyMSwgMjAxMywgMTI4MjkxLCAKKyAgICA3ODUzMCwgNzg1MzIsIDc4NTI4LCA3ODUyOSwgMTI4MzIsIDc4NDkzLCA4MDgxLCA4MzYyLCAzNTM3LCAxMTk5MDgsIDkxMzcsIAorICAgIDcxNTUsIDg5OTksIDAsIDc4NTMzLCAzNDY2LCAwLCAwLCAxOTk2LCAwLCAzNDUzLCA2MjgyLCAwLCAyMDAyLCAyMDAwLCAKKyAgICAxMjAxNzUsIDUzNywgMCwgNDE3OSwgNjUxMTksIDE5OTgsIDAsIDE4NDIsIDAsIDkyNjc0LCA5NjI4LCA2ODQ0NiwgMTIwODEsIAorICAgIDk4MjYsIDY0NTAyLCAxNzY3LCAwLCAwLCAwLCAxMjAyMDEsIDk4MzYzNywgMCwgMCwgMzA1OSwgNDQwMjQsIDEyMDIwNCwgCisgICAgMTE5OTUzLCA5MjY5MywgMCwgMCwgOTI0NTIsIDQxMDAsIDkyMCwgMTgxMSwgMTM1NSwgMCwgMCwgMzU5MiwgMTAwNzgsIDAsIAorICAgIDAsIDAsIDg1OTIsIDY1ODcwLCA2ODE2NCwgMTI4NzkyLCAxMDc0MiwgMCwgNDI5MTgsIDE5OTQsIDkyODEsIDMyOTYsIAorICAgIDEyODY1LCAxOTk3LCAxODk1LCAKIH07CiAKICNkZWZpbmUgY29kZV9tYWdpYyA0NwogI2RlZmluZSBjb2RlX3NpemUgMzI3NjgKICNkZWZpbmUgY29kZV9wb2x5IDMyNzcxCisKK3N0YXRpYyBjb25zdCB1bnNpZ25lZCBpbnQgYWxpYXNlc19zdGFydCA9IDB4ZjAwMDA7CitzdGF0aWMgY29uc3QgdW5zaWduZWQgaW50IGFsaWFzZXNfZW5kID0gMHhmMDFjMTsKK3N0YXRpYyBjb25zdCB1bnNpZ25lZCBpbnQgbmFtZV9hbGlhc2VzW10gPSB7CisgICAgMHgwMDAwLAorICAgIDB4MDAwMCwKKyAgICAweDAwMDEsCisgICAgMHgwMDAxLAorICAgIDB4MDAwMiwKKyAgICAweDAwMDIsCisgICAgMHgwMDAzLAorICAgIDB4MDAwMywKKyAgICAweDAwMDQsCisgICAgMHgwMDA0LAorICAgIDB4MDAwNSwKKyAgICAweDAwMDUsCisgICAgMHgwMDA2LAorICAgIDB4MDAwNiwKKyAgICAweDAwMDcsCisgICAgMHgwMDA3LAorICAgIDB4MDAwOCwKKyAgICAweDAwMDgsCisgICAgMHgwMDA5LAorICAgIDB4MDAwOSwKKyAgICAweDAwMDksCisgICAgMHgwMDA5LAorICAgIDB4MDAwQSwKKyAgICAweDAwMEEsCisgICAgMHgwMDBBLAorICAgIDB4MDAwQSwKKyAgICAweDAwMEEsCisgICAgMHgwMDBBLAorICAgIDB4MDAwQiwKKyAgICAweDAwMEIsCisgICAgMHgwMDBCLAorICAgIDB4MDAwQywKKyAgICAweDAwMEMsCisgICAgMHgwMDBELAorICAgIDB4MDAwRCwKKyAgICAweDAwMEUsCisgICAgMHgwMDBFLAorICAgIDB4MDAwRSwKKyAgICAweDAwMEYsCisgICAgMHgwMDBGLAorICAgIDB4MDAwRiwKKyAgICAweDAwMTAsCisgICAgMHgwMDEwLAorICAgIDB4MDAxMSwKKyAgICAweDAwMTEsCisgICAgMHgwMDEyLAorICAgIDB4MDAxMiwKKyAgICAweDAwMTMsCisgICAgMHgwMDEzLAorICAgIDB4MDAxNCwKKyAgICAweDAwMTQsCisgICAgMHgwMDE1LAorICAgIDB4MDAxNSwKKyAgICAweDAwMTYsCisgICAgMHgwMDE2LAorICAgIDB4MDAxNywKKyAgICAweDAwMTcsCisgICAgMHgwMDE4LAorICAgIDB4MDAxOCwKKyAgICAweDAwMTksCisgICAgMHgwMDE5LAorICAgIDB4MDAxQSwKKyAgICAweDAwMUEsCisgICAgMHgwMDFCLAorICAgIDB4MDAxQiwKKyAgICAweDAwMUMsCisgICAgMHgwMDFDLAorICAgIDB4MDAxQywKKyAgICAweDAwMUQsCisgICAgMHgwMDFELAorICAgIDB4MDAxRCwKKyAgICAweDAwMUUsCisgICAgMHgwMDFFLAorICAgIDB4MDAxRSwKKyAgICAweDAwMUYsCisgICAgMHgwMDFGLAorICAgIDB4MDAxRiwKKyAgICAweDAwMjAsCisgICAgMHgwMDdGLAorICAgIDB4MDA3RiwKKyAgICAweDAwODAsCisgICAgMHgwMDgwLAorICAgIDB4MDA4MSwKKyAgICAweDAwODEsCisgICAgMHgwMDgyLAorICAgIDB4MDA4MiwKKyAgICAweDAwODMsCisgICAgMHgwMDgzLAorICAgIDB4MDA4NCwKKyAgICAweDAwODQsCisgICAgMHgwMDg1LAorICAgIDB4MDA4NSwKKyAgICAweDAwODYsCisgICAgMHgwMDg2LAorICAgIDB4MDA4NywKKyAgICAweDAwODcsCisgICAgMHgwMDg4LAorICAgIDB4MDA4OCwKKyAgICAweDAwODgsCisgICAgMHgwMDg5LAorICAgIDB4MDA4OSwKKyAgICAweDAwODksCisgICAgMHgwMDhBLAorICAgIDB4MDA4QSwKKyAgICAweDAwOEEsCisgICAgMHgwMDhCLAorICAgIDB4MDA4QiwKKyAgICAweDAwOEIsCisgICAgMHgwMDhDLAorICAgIDB4MDA4QywKKyAgICAweDAwOEMsCisgICAgMHgwMDhELAorICAgIDB4MDA4RCwKKyAgICAweDAwOEQsCisgICAgMHgwMDhFLAorICAgIDB4MDA4RSwKKyAgICAweDAwOEUsCisgICAgMHgwMDhGLAorICAgIDB4MDA4RiwKKyAgICAweDAwOEYsCisgICAgMHgwMDkwLAorICAgIDB4MDA5MCwKKyAgICAweDAwOTEsCisgICAgMHgwMDkxLAorICAgIDB4MDA5MSwKKyAgICAweDAwOTIsCisgICAgMHgwMDkyLAorICAgIDB4MDA5MiwKKyAgICAweDAwOTMsCisgICAgMHgwMDkzLAorICAgIDB4MDA5NCwKKyAgICAweDAwOTQsCisgICAgMHgwMDk1LAorICAgIDB4MDA5NSwKKyAgICAweDAwOTYsCisgICAgMHgwMDk2LAorICAgIDB4MDA5NiwKKyAgICAweDAwOTcsCisgICAgMHgwMDk3LAorICAgIDB4MDA5NywKKyAgICAweDAwOTgsCisgICAgMHgwMDk4LAorICAgIDB4MDA5OSwKKyAgICAweDAwOTksCisgICAgMHgwMDlBLAorICAgIDB4MDA5QSwKKyAgICAweDAwOUIsCisgICAgMHgwMDlCLAorICAgIDB4MDA5QywKKyAgICAweDAwOUMsCisgICAgMHgwMDlELAorICAgIDB4MDA5RCwKKyAgICAweDAwOUUsCisgICAgMHgwMDlFLAorICAgIDB4MDA5RiwKKyAgICAweDAwOUYsCisgICAgMHgwMEEwLAorICAgIDB4MDBBRCwKKyAgICAweDAxQTIsCisgICAgMHgwMUEzLAorICAgIDB4MDM0RiwKKyAgICAweDBDREUsCisgICAgMHgwRTlELAorICAgIDB4MEU5RiwKKyAgICAweDBFQTMsCisgICAgMHgwRUE1LAorICAgIDB4MEZEMCwKKyAgICAweDE4MEIsCisgICAgMHgxODBDLAorICAgIDB4MTgwRCwKKyAgICAweDE4MEUsCisgICAgMHgyMDBCLAorICAgIDB4MjAwQywKKyAgICAweDIwMEQsCisgICAgMHgyMDBFLAorICAgIDB4MjAwRiwKKyAgICAweDIwMkEsCisgICAgMHgyMDJCLAorICAgIDB4MjAyQywKKyAgICAweDIwMkQsCisgICAgMHgyMDJFLAorICAgIDB4MjAyRiwKKyAgICAweDIwNUYsCisgICAgMHgyMDYwLAorICAgIDB4MjExOCwKKyAgICAweDI0NDgsCisgICAgMHgyNDQ5LAorICAgIDB4QTAxNSwKKyAgICAweEZFMTgsCisgICAgMHhGRTAwLAorICAgIDB4RkUwMSwKKyAgICAweEZFMDIsCisgICAgMHhGRTAzLAorICAgIDB4RkUwNCwKKyAgICAweEZFMDUsCisgICAgMHhGRTA2LAorICAgIDB4RkUwNywKKyAgICAweEZFMDgsCisgICAgMHhGRTA5LAorICAgIDB4RkUwQSwKKyAgICAweEZFMEIsCisgICAgMHhGRTBDLAorICAgIDB4RkUwRCwKKyAgICAweEZFMEUsCisgICAgMHhGRTBGLAorICAgIDB4RkVGRiwKKyAgICAweEZFRkYsCisgICAgMHhGRUZGLAorICAgIDB4MUQwQzUsCisgICAgMHhFMDEwMCwKKyAgICAweEUwMTAxLAorICAgIDB4RTAxMDIsCisgICAgMHhFMDEwMywKKyAgICAweEUwMTA0LAorICAgIDB4RTAxMDUsCisgICAgMHhFMDEwNiwKKyAgICAweEUwMTA3LAorICAgIDB4RTAxMDgsCisgICAgMHhFMDEwOSwKKyAgICAweEUwMTBBLAorICAgIDB4RTAxMEIsCisgICAgMHhFMDEwQywKKyAgICAweEUwMTBELAorICAgIDB4RTAxMEUsCisgICAgMHhFMDEwRiwKKyAgICAweEUwMTEwLAorICAgIDB4RTAxMTEsCisgICAgMHhFMDExMiwKKyAgICAweEUwMTEzLAorICAgIDB4RTAxMTQsCisgICAgMHhFMDExNSwKKyAgICAweEUwMTE2LAorICAgIDB4RTAxMTcsCisgICAgMHhFMDExOCwKKyAgICAweEUwMTE5LAorICAgIDB4RTAxMUEsCisgICAgMHhFMDExQiwKKyAgICAweEUwMTFDLAorICAgIDB4RTAxMUQsCisgICAgMHhFMDExRSwKKyAgICAweEUwMTFGLAorICAgIDB4RTAxMjAsCisgICAgMHhFMDEyMSwKKyAgICAweEUwMTIyLAorICAgIDB4RTAxMjMsCisgICAgMHhFMDEyNCwKKyAgICAweEUwMTI1LAorICAgIDB4RTAxMjYsCisgICAgMHhFMDEyNywKKyAgICAweEUwMTI4LAorICAgIDB4RTAxMjksCisgICAgMHhFMDEyQSwKKyAgICAweEUwMTJCLAorICAgIDB4RTAxMkMsCisgICAgMHhFMDEyRCwKKyAgICAweEUwMTJFLAorICAgIDB4RTAxMkYsCisgICAgMHhFMDEzMCwKKyAgICAweEUwMTMxLAorICAgIDB4RTAxMzIsCisgICAgMHhFMDEzMywKKyAgICAweEUwMTM0LAorICAgIDB4RTAxMzUsCisgICAgMHhFMDEzNiwKKyAgICAweEUwMTM3LAorICAgIDB4RTAxMzgsCisgICAgMHhFMDEzOSwKKyAgICAweEUwMTNBLAorICAgIDB4RTAxM0IsCisgICAgMHhFMDEzQywKKyAgICAweEUwMTNELAorICAgIDB4RTAxM0UsCisgICAgMHhFMDEzRiwKKyAgICAweEUwMTQwLAorICAgIDB4RTAxNDEsCisgICAgMHhFMDE0MiwKKyAgICAweEUwMTQzLAorICAgIDB4RTAxNDQsCisgICAgMHhFMDE0NSwKKyAgICAweEUwMTQ2LAorICAgIDB4RTAxNDcsCisgICAgMHhFMDE0OCwKKyAgICAweEUwMTQ5LAorICAgIDB4RTAxNEEsCisgICAgMHhFMDE0QiwKKyAgICAweEUwMTRDLAorICAgIDB4RTAxNEQsCisgICAgMHhFMDE0RSwKKyAgICAweEUwMTRGLAorICAgIDB4RTAxNTAsCisgICAgMHhFMDE1MSwKKyAgICAweEUwMTUyLAorICAgIDB4RTAxNTMsCisgICAgMHhFMDE1NCwKKyAgICAweEUwMTU1LAorICAgIDB4RTAxNTYsCisgICAgMHhFMDE1NywKKyAgICAweEUwMTU4LAorICAgIDB4RTAxNTksCisgICAgMHhFMDE1QSwKKyAgICAweEUwMTVCLAorICAgIDB4RTAxNUMsCisgICAgMHhFMDE1RCwKKyAgICAweEUwMTVFLAorICAgIDB4RTAxNUYsCisgICAgMHhFMDE2MCwKKyAgICAweEUwMTYxLAorICAgIDB4RTAxNjIsCisgICAgMHhFMDE2MywKKyAgICAweEUwMTY0LAorICAgIDB4RTAxNjUsCisgICAgMHhFMDE2NiwKKyAgICAweEUwMTY3LAorICAgIDB4RTAxNjgsCisgICAgMHhFMDE2OSwKKyAgICAweEUwMTZBLAorICAgIDB4RTAxNkIsCisgICAgMHhFMDE2QywKKyAgICAweEUwMTZELAorICAgIDB4RTAxNkUsCisgICAgMHhFMDE2RiwKKyAgICAweEUwMTcwLAorICAgIDB4RTAxNzEsCisgICAgMHhFMDE3MiwKKyAgICAweEUwMTczLAorICAgIDB4RTAxNzQsCisgICAgMHhFMDE3NSwKKyAgICAweEUwMTc2LAorICAgIDB4RTAxNzcsCisgICAgMHhFMDE3OCwKKyAgICAweEUwMTc5LAorICAgIDB4RTAxN0EsCisgICAgMHhFMDE3QiwKKyAgICAweEUwMTdDLAorICAgIDB4RTAxN0QsCisgICAgMHhFMDE3RSwKKyAgICAweEUwMTdGLAorICAgIDB4RTAxODAsCisgICAgMHhFMDE4MSwKKyAgICAweEUwMTgyLAorICAgIDB4RTAxODMsCisgICAgMHhFMDE4NCwKKyAgICAweEUwMTg1LAorICAgIDB4RTAxODYsCisgICAgMHhFMDE4NywKKyAgICAweEUwMTg4LAorICAgIDB4RTAxODksCisgICAgMHhFMDE4QSwKKyAgICAweEUwMThCLAorICAgIDB4RTAxOEMsCisgICAgMHhFMDE4RCwKKyAgICAweEUwMThFLAorICAgIDB4RTAxOEYsCisgICAgMHhFMDE5MCwKKyAgICAweEUwMTkxLAorICAgIDB4RTAxOTIsCisgICAgMHhFMDE5MywKKyAgICAweEUwMTk0LAorICAgIDB4RTAxOTUsCisgICAgMHhFMDE5NiwKKyAgICAweEUwMTk3LAorICAgIDB4RTAxOTgsCisgICAgMHhFMDE5OSwKKyAgICAweEUwMTlBLAorICAgIDB4RTAxOUIsCisgICAgMHhFMDE5QywKKyAgICAweEUwMTlELAorICAgIDB4RTAxOUUsCisgICAgMHhFMDE5RiwKKyAgICAweEUwMUEwLAorICAgIDB4RTAxQTEsCisgICAgMHhFMDFBMiwKKyAgICAweEUwMUEzLAorICAgIDB4RTAxQTQsCisgICAgMHhFMDFBNSwKKyAgICAweEUwMUE2LAorICAgIDB4RTAxQTcsCisgICAgMHhFMDFBOCwKKyAgICAweEUwMUE5LAorICAgIDB4RTAxQUEsCisgICAgMHhFMDFBQiwKKyAgICAweEUwMUFDLAorICAgIDB4RTAxQUQsCisgICAgMHhFMDFBRSwKKyAgICAweEUwMUFGLAorICAgIDB4RTAxQjAsCisgICAgMHhFMDFCMSwKKyAgICAweEUwMUIyLAorICAgIDB4RTAxQjMsCisgICAgMHhFMDFCNCwKKyAgICAweEUwMUI1LAorICAgIDB4RTAxQjYsCisgICAgMHhFMDFCNywKKyAgICAweEUwMUI4LAorICAgIDB4RTAxQjksCisgICAgMHhFMDFCQSwKKyAgICAweEUwMUJCLAorICAgIDB4RTAxQkMsCisgICAgMHhFMDFCRCwKKyAgICAweEUwMUJFLAorICAgIDB4RTAxQkYsCisgICAgMHhFMDFDMCwKKyAgICAweEUwMUMxLAorICAgIDB4RTAxQzIsCisgICAgMHhFMDFDMywKKyAgICAweEUwMUM0LAorICAgIDB4RTAxQzUsCisgICAgMHhFMDFDNiwKKyAgICAweEUwMUM3LAorICAgIDB4RTAxQzgsCisgICAgMHhFMDFDOSwKKyAgICAweEUwMUNBLAorICAgIDB4RTAxQ0IsCisgICAgMHhFMDFDQywKKyAgICAweEUwMUNELAorICAgIDB4RTAxQ0UsCisgICAgMHhFMDFDRiwKKyAgICAweEUwMUQwLAorICAgIDB4RTAxRDEsCisgICAgMHhFMDFEMiwKKyAgICAweEUwMUQzLAorICAgIDB4RTAxRDQsCisgICAgMHhFMDFENSwKKyAgICAweEUwMUQ2LAorICAgIDB4RTAxRDcsCisgICAgMHhFMDFEOCwKKyAgICAweEUwMUQ5LAorICAgIDB4RTAxREEsCisgICAgMHhFMDFEQiwKKyAgICAweEUwMURDLAorICAgIDB4RTAxREQsCisgICAgMHhFMDFERSwKKyAgICAweEUwMURGLAorICAgIDB4RTAxRTAsCisgICAgMHhFMDFFMSwKKyAgICAweEUwMUUyLAorICAgIDB4RTAxRTMsCisgICAgMHhFMDFFNCwKKyAgICAweEUwMUU1LAorICAgIDB4RTAxRTYsCisgICAgMHhFMDFFNywKKyAgICAweEUwMUU4LAorICAgIDB4RTAxRTksCisgICAgMHhFMDFFQSwKKyAgICAweEUwMUVCLAorICAgIDB4RTAxRUMsCisgICAgMHhFMDFFRCwKKyAgICAweEUwMUVFLAorICAgIDB4RTAxRUYsCit9OworCit0eXBlZGVmIHN0cnVjdCBOYW1lZFNlcXVlbmNlIHsKKyAgICBpbnQgc2VxbGVuOworICAgIFB5X1VDUzIgc2VxWzRdOworfSBuYW1lZF9zZXF1ZW5jZTsKKworc3RhdGljIGNvbnN0IHVuc2lnbmVkIGludCBuYW1lZF9zZXF1ZW5jZXNfc3RhcnQgPSAweGYwMjAwOworc3RhdGljIGNvbnN0IHVuc2lnbmVkIGludCBuYW1lZF9zZXF1ZW5jZXNfZW5kID0gMHhmMDNhNTsKK3N0YXRpYyBjb25zdCBuYW1lZF9zZXF1ZW5jZSBuYW1lZF9zZXF1ZW5jZXNbXSA9IHsKKyAgICB7MiwgezB4MDEwMCwgMHgwMzAwfX0sCisgICAgezIsIHsweDAxMDEsIDB4MDMwMH19LAorICAgIHsyLCB7MHgwMDQ1LCAweDAzMjl9fSwKKyAgICB7MiwgezB4MDA2NSwgMHgwMzI5fX0sCisgICAgezIsIHsweDAwQzgsIDB4MDMyOX19LAorICAgIHsyLCB7MHgwMEU4LCAweDAzMjl9fSwKKyAgICB7MiwgezB4MDBDOSwgMHgwMzI5fX0sCisgICAgezIsIHsweDAwRTksIDB4MDMyOX19LAorICAgIHsyLCB7MHgwMENBLCAweDAzMDR9fSwKKyAgICB7MiwgezB4MDBFQSwgMHgwMzA0fX0sCisgICAgezIsIHsweDAwQ0EsIDB4MDMwQ319LAorICAgIHsyLCB7MHgwMEVBLCAweDAzMEN9fSwKKyAgICB7MiwgezB4MDEyQSwgMHgwMzAwfX0sCisgICAgezIsIHsweDAxMkIsIDB4MDMwMH19LAorICAgIHszLCB7MHgwMDY5LCAweDAzMDcsIDB4MDMwMX19LAorICAgIHszLCB7MHgwMDZFLCAweDAzNjAsIDB4MDA2N319LAorICAgIHsyLCB7MHgwMDRGLCAweDAzMjl9fSwKKyAgICB7MiwgezB4MDA2RiwgMHgwMzI5fX0sCisgICAgezIsIHsweDAwRDIsIDB4MDMyOX19LAorICAgIHsyLCB7MHgwMEYyLCAweDAzMjl9fSwKKyAgICB7MiwgezB4MDBEMywgMHgwMzI5fX0sCisgICAgezIsIHsweDAwRjMsIDB4MDMyOX19LAorICAgIHsyLCB7MHgwMDUzLCAweDAzMjl9fSwKKyAgICB7MiwgezB4MDA3MywgMHgwMzI5fX0sCisgICAgezIsIHsweDAxNkEsIDB4MDMwMH19LAorICAgIHsyLCB7MHgwMTZCLCAweDAzMDB9fSwKKyAgICB7MiwgezB4MDEwNCwgMHgwMzAxfX0sCisgICAgezIsIHsweDAxMDUsIDB4MDMwMX19LAorICAgIHsyLCB7MHgwMTA0LCAweDAzMDN9fSwKKyAgICB7MiwgezB4MDEwNSwgMHgwMzAzfX0sCisgICAgezIsIHsweDAxMTgsIDB4MDMwMX19LAorICAgIHsyLCB7MHgwMTE5LCAweDAzMDF9fSwKKyAgICB7MiwgezB4MDExOCwgMHgwMzAzfX0sCisgICAgezIsIHsweDAxMTksIDB4MDMwM319LAorICAgIHsyLCB7MHgwMTE2LCAweDAzMDF9fSwKKyAgICB7MiwgezB4MDExNywgMHgwMzAxfX0sCisgICAgezIsIHsweDAxMTYsIDB4MDMwM319LAorICAgIHsyLCB7MHgwMTE3LCAweDAzMDN9fSwKKyAgICB7MywgezB4MDA2OSwgMHgwMzA3LCAweDAzMDB9fSwKKyAgICB7MywgezB4MDA2OSwgMHgwMzA3LCAweDAzMDN9fSwKKyAgICB7MiwgezB4MDEyRSwgMHgwMzAxfX0sCisgICAgezMsIHsweDAxMkYsIDB4MDMwNywgMHgwMzAxfX0sCisgICAgezIsIHsweDAxMkUsIDB4MDMwM319LAorICAgIHszLCB7MHgwMTJGLCAweDAzMDcsIDB4MDMwM319LAorICAgIHsyLCB7MHgwMDRBLCAweDAzMDN9fSwKKyAgICB7MywgezB4MDA2QSwgMHgwMzA3LCAweDAzMDN9fSwKKyAgICB7MiwgezB4MDA0QywgMHgwMzAzfX0sCisgICAgezIsIHsweDAwNkMsIDB4MDMwM319LAorICAgIHsyLCB7MHgwMDRELCAweDAzMDN9fSwKKyAgICB7MiwgezB4MDA2RCwgMHgwMzAzfX0sCisgICAgezIsIHsweDAwNTIsIDB4MDMwM319LAorICAgIHsyLCB7MHgwMDcyLCAweDAzMDN9fSwKKyAgICB7MiwgezB4MDE3MiwgMHgwMzAxfX0sCisgICAgezIsIHsweDAxNzMsIDB4MDMwMX19LAorICAgIHsyLCB7MHgwMTcyLCAweDAzMDN9fSwKKyAgICB7MiwgezB4MDE3MywgMHgwMzAzfX0sCisgICAgezIsIHsweDAxNkEsIDB4MDMwMX19LAorICAgIHsyLCB7MHgwMTZCLCAweDAzMDF9fSwKKyAgICB7MiwgezB4MDE2QSwgMHgwMzAzfX0sCisgICAgezIsIHsweDAxNkIsIDB4MDMwM319LAorICAgIHsyLCB7MHgwMEU2LCAweDAzMDB9fSwKKyAgICB7MiwgezB4MDI1NCwgMHgwMzAwfX0sCisgICAgezIsIHsweDAyNTQsIDB4MDMwMX19LAorICAgIHsyLCB7MHgwMjhDLCAweDAzMDB9fSwKKyAgICB7MiwgezB4MDI4QywgMHgwMzAxfX0sCisgICAgezIsIHsweDAyNTksIDB4MDMwMH19LAorICAgIHsyLCB7MHgwMjU5LCAweDAzMDF9fSwKKyAgICB7MiwgezB4MDI1QSwgMHgwMzAwfX0sCisgICAgezIsIHsweDAyNUEsIDB4MDMwMX19LAorICAgIHszLCB7MHgwOTk1LCAweDA5Q0QsIDB4MDlCN319LAorICAgIHsyLCB7MHgwQjk1LCAweDBCQ0R9fSwKKyAgICB7MiwgezB4MEI5OSwgMHgwQkNEfX0sCisgICAgezIsIHsweDBCOUEsIDB4MEJDRH19LAorICAgIHsyLCB7MHgwQjlFLCAweDBCQ0R9fSwKKyAgICB7MiwgezB4MEI5RiwgMHgwQkNEfX0sCisgICAgezIsIHsweDBCQTMsIDB4MEJDRH19LAorICAgIHsyLCB7MHgwQkE0LCAweDBCQ0R9fSwKKyAgICB7MiwgezB4MEJBOCwgMHgwQkNEfX0sCisgICAgezIsIHsweDBCQUEsIDB4MEJDRH19LAorICAgIHsyLCB7MHgwQkFFLCAweDBCQ0R9fSwKKyAgICB7MiwgezB4MEJBRiwgMHgwQkNEfX0sCisgICAgezIsIHsweDBCQjAsIDB4MEJDRH19LAorICAgIHsyLCB7MHgwQkIyLCAweDBCQ0R9fSwKKyAgICB7MiwgezB4MEJCNSwgMHgwQkNEfX0sCisgICAgezIsIHsweDBCQjQsIDB4MEJDRH19LAorICAgIHsyLCB7MHgwQkIzLCAweDBCQ0R9fSwKKyAgICB7MiwgezB4MEJCMSwgMHgwQkNEfX0sCisgICAgezIsIHsweDBCQTksIDB4MEJDRH19LAorICAgIHsyLCB7MHgwQjlDLCAweDBCQ0R9fSwKKyAgICB7MiwgezB4MEJCNiwgMHgwQkNEfX0sCisgICAgezIsIHsweDBCQjcsIDB4MEJDRH19LAorICAgIHsyLCB7MHgwQkI4LCAweDBCQ0R9fSwKKyAgICB7MiwgezB4MEJCOSwgMHgwQkNEfX0sCisgICAgezQsIHsweDBCOTUsIDB4MEJDRCwgMHgwQkI3LCAweDBCQ0R9fSwKKyAgICB7MiwgezB4MEI5NSwgMHgwQkJFfX0sCisgICAgezIsIHsweDBCOTUsIDB4MEJCRn19LAorICAgIHsyLCB7MHgwQjk1LCAweDBCQzB9fSwKKyAgICB7MiwgezB4MEI5NSwgMHgwQkMxfX0sCisgICAgezIsIHsweDBCOTUsIDB4MEJDMn19LAorICAgIHsyLCB7MHgwQjk1LCAweDBCQzZ9fSwKKyAgICB7MiwgezB4MEI5NSwgMHgwQkM3fX0sCisgICAgezIsIHsweDBCOTUsIDB4MEJDOH19LAorICAgIHsyLCB7MHgwQjk1LCAweDBCQ0F9fSwKKyAgICB7MiwgezB4MEI5NSwgMHgwQkNCfX0sCisgICAgezIsIHsweDBCOTUsIDB4MEJDQ319LAorICAgIHsyLCB7MHgwQjk5LCAweDBCQkV9fSwKKyAgICB7MiwgezB4MEI5OSwgMHgwQkJGfX0sCisgICAgezIsIHsweDBCOTksIDB4MEJDMH19LAorICAgIHsyLCB7MHgwQjk5LCAweDBCQzF9fSwKKyAgICB7MiwgezB4MEI5OSwgMHgwQkMyfX0sCisgICAgezIsIHsweDBCOTksIDB4MEJDNn19LAorICAgIHsyLCB7MHgwQjk5LCAweDBCQzd9fSwKKyAgICB7MiwgezB4MEI5OSwgMHgwQkM4fX0sCisgICAgezIsIHsweDBCOTksIDB4MEJDQX19LAorICAgIHsyLCB7MHgwQjk5LCAweDBCQ0J9fSwKKyAgICB7MiwgezB4MEI5OSwgMHgwQkNDfX0sCisgICAgezIsIHsweDBCOUEsIDB4MEJCRX19LAorICAgIHsyLCB7MHgwQjlBLCAweDBCQkZ9fSwKKyAgICB7MiwgezB4MEI5QSwgMHgwQkMwfX0sCisgICAgezIsIHsweDBCOUEsIDB4MEJDMX19LAorICAgIHsyLCB7MHgwQjlBLCAweDBCQzJ9fSwKKyAgICB7MiwgezB4MEI5QSwgMHgwQkM2fX0sCisgICAgezIsIHsweDBCOUEsIDB4MEJDN319LAorICAgIHsyLCB7MHgwQjlBLCAweDBCQzh9fSwKKyAgICB7MiwgezB4MEI5QSwgMHgwQkNBfX0sCisgICAgezIsIHsweDBCOUEsIDB4MEJDQn19LAorICAgIHsyLCB7MHgwQjlBLCAweDBCQ0N9fSwKKyAgICB7MiwgezB4MEI5RSwgMHgwQkJFfX0sCisgICAgezIsIHsweDBCOUUsIDB4MEJCRn19LAorICAgIHsyLCB7MHgwQjlFLCAweDBCQzB9fSwKKyAgICB7MiwgezB4MEI5RSwgMHgwQkMxfX0sCisgICAgezIsIHsweDBCOUUsIDB4MEJDMn19LAorICAgIHsyLCB7MHgwQjlFLCAweDBCQzZ9fSwKKyAgICB7MiwgezB4MEI5RSwgMHgwQkM3fX0sCisgICAgezIsIHsweDBCOUUsIDB4MEJDOH19LAorICAgIHsyLCB7MHgwQjlFLCAweDBCQ0F9fSwKKyAgICB7MiwgezB4MEI5RSwgMHgwQkNCfX0sCisgICAgezIsIHsweDBCOUUsIDB4MEJDQ319LAorICAgIHsyLCB7MHgwQjlGLCAweDBCQkV9fSwKKyAgICB7MiwgezB4MEI5RiwgMHgwQkJGfX0sCisgICAgezIsIHsweDBCOUYsIDB4MEJDMH19LAorICAgIHsyLCB7MHgwQjlGLCAweDBCQzF9fSwKKyAgICB7MiwgezB4MEI5RiwgMHgwQkMyfX0sCisgICAgezIsIHsweDBCOUYsIDB4MEJDNn19LAorICAgIHsyLCB7MHgwQjlGLCAweDBCQzd9fSwKKyAgICB7MiwgezB4MEI5RiwgMHgwQkM4fX0sCisgICAgezIsIHsweDBCOUYsIDB4MEJDQX19LAorICAgIHsyLCB7MHgwQjlGLCAweDBCQ0J9fSwKKyAgICB7MiwgezB4MEI5RiwgMHgwQkNDfX0sCisgICAgezIsIHsweDBCQTMsIDB4MEJCRX19LAorICAgIHsyLCB7MHgwQkEzLCAweDBCQkZ9fSwKKyAgICB7MiwgezB4MEJBMywgMHgwQkMwfX0sCisgICAgezIsIHsweDBCQTMsIDB4MEJDMX19LAorICAgIHsyLCB7MHgwQkEzLCAweDBCQzJ9fSwKKyAgICB7MiwgezB4MEJBMywgMHgwQkM2fX0sCisgICAgezIsIHsweDBCQTMsIDB4MEJDN319LAorICAgIHsyLCB7MHgwQkEzLCAweDBCQzh9fSwKKyAgICB7MiwgezB4MEJBMywgMHgwQkNBfX0sCisgICAgezIsIHsweDBCQTMsIDB4MEJDQn19LAorICAgIHsyLCB7MHgwQkEzLCAweDBCQ0N9fSwKKyAgICB7MiwgezB4MEJBNCwgMHgwQkJFfX0sCisgICAgezIsIHsweDBCQTQsIDB4MEJCRn19LAorICAgIHsyLCB7MHgwQkE0LCAweDBCQzB9fSwKKyAgICB7MiwgezB4MEJBNCwgMHgwQkMxfX0sCisgICAgezIsIHsweDBCQTQsIDB4MEJDMn19LAorICAgIHsyLCB7MHgwQkE0LCAweDBCQzZ9fSwKKyAgICB7MiwgezB4MEJBNCwgMHgwQkM3fX0sCisgICAgezIsIHsweDBCQTQsIDB4MEJDOH19LAorICAgIHsyLCB7MHgwQkE0LCAweDBCQ0F9fSwKKyAgICB7MiwgezB4MEJBNCwgMHgwQkNCfX0sCisgICAgezIsIHsweDBCQTQsIDB4MEJDQ319LAorICAgIHsyLCB7MHgwQkE4LCAweDBCQkV9fSwKKyAgICB7MiwgezB4MEJBOCwgMHgwQkJGfX0sCisgICAgezIsIHsweDBCQTgsIDB4MEJDMH19LAorICAgIHsyLCB7MHgwQkE4LCAweDBCQzF9fSwKKyAgICB7MiwgezB4MEJBOCwgMHgwQkMyfX0sCisgICAgezIsIHsweDBCQTgsIDB4MEJDNn19LAorICAgIHsyLCB7MHgwQkE4LCAweDBCQzd9fSwKKyAgICB7MiwgezB4MEJBOCwgMHgwQkM4fX0sCisgICAgezIsIHsweDBCQTgsIDB4MEJDQX19LAorICAgIHsyLCB7MHgwQkE4LCAweDBCQ0J9fSwKKyAgICB7MiwgezB4MEJBOCwgMHgwQkNDfX0sCisgICAgezIsIHsweDBCQUEsIDB4MEJCRX19LAorICAgIHsyLCB7MHgwQkFBLCAweDBCQkZ9fSwKKyAgICB7MiwgezB4MEJBQSwgMHgwQkMwfX0sCisgICAgezIsIHsweDBCQUEsIDB4MEJDMX19LAorICAgIHsyLCB7MHgwQkFBLCAweDBCQzJ9fSwKKyAgICB7MiwgezB4MEJBQSwgMHgwQkM2fX0sCisgICAgezIsIHsweDBCQUEsIDB4MEJDN319LAorICAgIHsyLCB7MHgwQkFBLCAweDBCQzh9fSwKKyAgICB7MiwgezB4MEJBQSwgMHgwQkNBfX0sCisgICAgezIsIHsweDBCQUEsIDB4MEJDQn19LAorICAgIHsyLCB7MHgwQkFBLCAweDBCQ0N9fSwKKyAgICB7MiwgezB4MEJBRSwgMHgwQkJFfX0sCisgICAgezIsIHsweDBCQUUsIDB4MEJCRn19LAorICAgIHsyLCB7MHgwQkFFLCAweDBCQzB9fSwKKyAgICB7MiwgezB4MEJBRSwgMHgwQkMxfX0sCisgICAgezIsIHsweDBCQUUsIDB4MEJDMn19LAorICAgIHsyLCB7MHgwQkFFLCAweDBCQzZ9fSwKKyAgICB7MiwgezB4MEJBRSwgMHgwQkM3fX0sCisgICAgezIsIHsweDBCQUUsIDB4MEJDOH19LAorICAgIHsyLCB7MHgwQkFFLCAweDBCQ0F9fSwKKyAgICB7MiwgezB4MEJBRSwgMHgwQkNCfX0sCisgICAgezIsIHsweDBCQUUsIDB4MEJDQ319LAorICAgIHsyLCB7MHgwQkFGLCAweDBCQkV9fSwKKyAgICB7MiwgezB4MEJBRiwgMHgwQkJGfX0sCisgICAgezIsIHsweDBCQUYsIDB4MEJDMH19LAorICAgIHsyLCB7MHgwQkFGLCAweDBCQzF9fSwKKyAgICB7MiwgezB4MEJBRiwgMHgwQkMyfX0sCisgICAgezIsIHsweDBCQUYsIDB4MEJDNn19LAorICAgIHsyLCB7MHgwQkFGLCAweDBCQzd9fSwKKyAgICB7MiwgezB4MEJBRiwgMHgwQkM4fX0sCisgICAgezIsIHsweDBCQUYsIDB4MEJDQX19LAorICAgIHsyLCB7MHgwQkFGLCAweDBCQ0J9fSwKKyAgICB7MiwgezB4MEJBRiwgMHgwQkNDfX0sCisgICAgezIsIHsweDBCQjAsIDB4MEJCRX19LAorICAgIHsyLCB7MHgwQkIwLCAweDBCQkZ9fSwKKyAgICB7MiwgezB4MEJCMCwgMHgwQkMwfX0sCisgICAgezIsIHsweDBCQjAsIDB4MEJDMX19LAorICAgIHsyLCB7MHgwQkIwLCAweDBCQzJ9fSwKKyAgICB7MiwgezB4MEJCMCwgMHgwQkM2fX0sCisgICAgezIsIHsweDBCQjAsIDB4MEJDN319LAorICAgIHsyLCB7MHgwQkIwLCAweDBCQzh9fSwKKyAgICB7MiwgezB4MEJCMCwgMHgwQkNBfX0sCisgICAgezIsIHsweDBCQjAsIDB4MEJDQn19LAorICAgIHsyLCB7MHgwQkIwLCAweDBCQ0N9fSwKKyAgICB7MiwgezB4MEJCMiwgMHgwQkJFfX0sCisgICAgezIsIHsweDBCQjIsIDB4MEJCRn19LAorICAgIHsyLCB7MHgwQkIyLCAweDBCQzB9fSwKKyAgICB7MiwgezB4MEJCMiwgMHgwQkMxfX0sCisgICAgezIsIHsweDBCQjIsIDB4MEJDMn19LAorICAgIHsyLCB7MHgwQkIyLCAweDBCQzZ9fSwKKyAgICB7MiwgezB4MEJCMiwgMHgwQkM3fX0sCisgICAgezIsIHsweDBCQjIsIDB4MEJDOH19LAorICAgIHsyLCB7MHgwQkIyLCAweDBCQ0F9fSwKKyAgICB7MiwgezB4MEJCMiwgMHgwQkNCfX0sCisgICAgezIsIHsweDBCQjIsIDB4MEJDQ319LAorICAgIHsyLCB7MHgwQkI1LCAweDBCQkV9fSwKKyAgICB7MiwgezB4MEJCNSwgMHgwQkJGfX0sCisgICAgezIsIHsweDBCQjUsIDB4MEJDMH19LAorICAgIHsyLCB7MHgwQkI1LCAweDBCQzF9fSwKKyAgICB7MiwgezB4MEJCNSwgMHgwQkMyfX0sCisgICAgezIsIHsweDBCQjUsIDB4MEJDNn19LAorICAgIHsyLCB7MHgwQkI1LCAweDBCQzd9fSwKKyAgICB7MiwgezB4MEJCNSwgMHgwQkM4fX0sCisgICAgezIsIHsweDBCQjUsIDB4MEJDQX19LAorICAgIHsyLCB7MHgwQkI1LCAweDBCQ0J9fSwKKyAgICB7MiwgezB4MEJCNSwgMHgwQkNDfX0sCisgICAgezIsIHsweDBCQjQsIDB4MEJCRX19LAorICAgIHsyLCB7MHgwQkI0LCAweDBCQkZ9fSwKKyAgICB7MiwgezB4MEJCNCwgMHgwQkMwfX0sCisgICAgezIsIHsweDBCQjQsIDB4MEJDMX19LAorICAgIHsyLCB7MHgwQkI0LCAweDBCQzJ9fSwKKyAgICB7MiwgezB4MEJCNCwgMHgwQkM2fX0sCisgICAgezIsIHsweDBCQjQsIDB4MEJDN319LAorICAgIHsyLCB7MHgwQkI0LCAweDBCQzh9fSwKKyAgICB7MiwgezB4MEJCNCwgMHgwQkNBfX0sCisgICAgezIsIHsweDBCQjQsIDB4MEJDQn19LAorICAgIHsyLCB7MHgwQkI0LCAweDBCQ0N9fSwKKyAgICB7MiwgezB4MEJCMywgMHgwQkJFfX0sCisgICAgezIsIHsweDBCQjMsIDB4MEJCRn19LAorICAgIHsyLCB7MHgwQkIzLCAweDBCQzB9fSwKKyAgICB7MiwgezB4MEJCMywgMHgwQkMxfX0sCisgICAgezIsIHsweDBCQjMsIDB4MEJDMn19LAorICAgIHsyLCB7MHgwQkIzLCAweDBCQzZ9fSwKKyAgICB7MiwgezB4MEJCMywgMHgwQkM3fX0sCisgICAgezIsIHsweDBCQjMsIDB4MEJDOH19LAorICAgIHsyLCB7MHgwQkIzLCAweDBCQ0F9fSwKKyAgICB7MiwgezB4MEJCMywgMHgwQkNCfX0sCisgICAgezIsIHsweDBCQjMsIDB4MEJDQ319LAorICAgIHsyLCB7MHgwQkIxLCAweDBCQkV9fSwKKyAgICB7MiwgezB4MEJCMSwgMHgwQkJGfX0sCisgICAgezIsIHsweDBCQjEsIDB4MEJDMH19LAorICAgIHsyLCB7MHgwQkIxLCAweDBCQzF9fSwKKyAgICB7MiwgezB4MEJCMSwgMHgwQkMyfX0sCisgICAgezIsIHsweDBCQjEsIDB4MEJDNn19LAorICAgIHsyLCB7MHgwQkIxLCAweDBCQzd9fSwKKyAgICB7MiwgezB4MEJCMSwgMHgwQkM4fX0sCisgICAgezIsIHsweDBCQjEsIDB4MEJDQX19LAorICAgIHsyLCB7MHgwQkIxLCAweDBCQ0J9fSwKKyAgICB7MiwgezB4MEJCMSwgMHgwQkNDfX0sCisgICAgezIsIHsweDBCQTksIDB4MEJCRX19LAorICAgIHsyLCB7MHgwQkE5LCAweDBCQkZ9fSwKKyAgICB7MiwgezB4MEJBOSwgMHgwQkMwfX0sCisgICAgezIsIHsweDBCQTksIDB4MEJDMX19LAorICAgIHsyLCB7MHgwQkE5LCAweDBCQzJ9fSwKKyAgICB7MiwgezB4MEJBOSwgMHgwQkM2fX0sCisgICAgezIsIHsweDBCQTksIDB4MEJDN319LAorICAgIHsyLCB7MHgwQkE5LCAweDBCQzh9fSwKKyAgICB7MiwgezB4MEJBOSwgMHgwQkNBfX0sCisgICAgezIsIHsweDBCQTksIDB4MEJDQn19LAorICAgIHsyLCB7MHgwQkE5LCAweDBCQ0N9fSwKKyAgICB7MiwgezB4MEI5QywgMHgwQkJFfX0sCisgICAgezIsIHsweDBCOUMsIDB4MEJCRn19LAorICAgIHsyLCB7MHgwQjlDLCAweDBCQzB9fSwKKyAgICB7MiwgezB4MEI5QywgMHgwQkMxfX0sCisgICAgezIsIHsweDBCOUMsIDB4MEJDMn19LAorICAgIHsyLCB7MHgwQjlDLCAweDBCQzZ9fSwKKyAgICB7MiwgezB4MEI5QywgMHgwQkM3fX0sCisgICAgezIsIHsweDBCOUMsIDB4MEJDOH19LAorICAgIHsyLCB7MHgwQjlDLCAweDBCQ0F9fSwKKyAgICB7MiwgezB4MEI5QywgMHgwQkNCfX0sCisgICAgezIsIHsweDBCOUMsIDB4MEJDQ319LAorICAgIHsyLCB7MHgwQkI2LCAweDBCQkV9fSwKKyAgICB7MiwgezB4MEJCNiwgMHgwQkJGfX0sCisgICAgezIsIHsweDBCQjYsIDB4MEJDMH19LAorICAgIHsyLCB7MHgwQkI2LCAweDBCQzF9fSwKKyAgICB7MiwgezB4MEJCNiwgMHgwQkMyfX0sCisgICAgezIsIHsweDBCQjYsIDB4MEJDNn19LAorICAgIHsyLCB7MHgwQkI2LCAweDBCQzd9fSwKKyAgICB7MiwgezB4MEJCNiwgMHgwQkM4fX0sCisgICAgezIsIHsweDBCQjYsIDB4MEJDQX19LAorICAgIHsyLCB7MHgwQkI2LCAweDBCQ0J9fSwKKyAgICB7MiwgezB4MEJCNiwgMHgwQkNDfX0sCisgICAgezIsIHsweDBCQjcsIDB4MEJCRX19LAorICAgIHsyLCB7MHgwQkI3LCAweDBCQkZ9fSwKKyAgICB7MiwgezB4MEJCNywgMHgwQkMwfX0sCisgICAgezIsIHsweDBCQjcsIDB4MEJDMX19LAorICAgIHsyLCB7MHgwQkI3LCAweDBCQzJ9fSwKKyAgICB7MiwgezB4MEJCNywgMHgwQkM2fX0sCisgICAgezIsIHsweDBCQjcsIDB4MEJDN319LAorICAgIHsyLCB7MHgwQkI3LCAweDBCQzh9fSwKKyAgICB7MiwgezB4MEJCNywgMHgwQkNBfX0sCisgICAgezIsIHsweDBCQjcsIDB4MEJDQn19LAorICAgIHsyLCB7MHgwQkI3LCAweDBCQ0N9fSwKKyAgICB7MiwgezB4MEJCOCwgMHgwQkJFfX0sCisgICAgezIsIHsweDBCQjgsIDB4MEJCRn19LAorICAgIHsyLCB7MHgwQkI4LCAweDBCQzB9fSwKKyAgICB7MiwgezB4MEJCOCwgMHgwQkMxfX0sCisgICAgezIsIHsweDBCQjgsIDB4MEJDMn19LAorICAgIHsyLCB7MHgwQkI4LCAweDBCQzZ9fSwKKyAgICB7MiwgezB4MEJCOCwgMHgwQkM3fX0sCisgICAgezIsIHsweDBCQjgsIDB4MEJDOH19LAorICAgIHsyLCB7MHgwQkI4LCAweDBCQ0F9fSwKKyAgICB7MiwgezB4MEJCOCwgMHgwQkNCfX0sCisgICAgezIsIHsweDBCQjgsIDB4MEJDQ319LAorICAgIHsyLCB7MHgwQkI5LCAweDBCQkV9fSwKKyAgICB7MiwgezB4MEJCOSwgMHgwQkJGfX0sCisgICAgezIsIHsweDBCQjksIDB4MEJDMH19LAorICAgIHsyLCB7MHgwQkI5LCAweDBCQzF9fSwKKyAgICB7MiwgezB4MEJCOSwgMHgwQkMyfX0sCisgICAgezIsIHsweDBCQjksIDB4MEJDNn19LAorICAgIHsyLCB7MHgwQkI5LCAweDBCQzd9fSwKKyAgICB7MiwgezB4MEJCOSwgMHgwQkM4fX0sCisgICAgezIsIHsweDBCQjksIDB4MEJDQX19LAorICAgIHsyLCB7MHgwQkI5LCAweDBCQ0J9fSwKKyAgICB7MiwgezB4MEJCOSwgMHgwQkNDfX0sCisgICAgezMsIHsweDBCOTUsIDB4MEJDRCwgMHgwQkI3fX0sCisgICAgezQsIHsweDBCOTUsIDB4MEJDRCwgMHgwQkI3LCAweDBCQkV9fSwKKyAgICB7NCwgezB4MEI5NSwgMHgwQkNELCAweDBCQjcsIDB4MEJCRn19LAorICAgIHs0LCB7MHgwQjk1LCAweDBCQ0QsIDB4MEJCNywgMHgwQkMwfX0sCisgICAgezQsIHsweDBCOTUsIDB4MEJDRCwgMHgwQkI3LCAweDBCQzF9fSwKKyAgICB7NCwgezB4MEI5NSwgMHgwQkNELCAweDBCQjcsIDB4MEJDMn19LAorICAgIHs0LCB7MHgwQjk1LCAweDBCQ0QsIDB4MEJCNywgMHgwQkM2fX0sCisgICAgezQsIHsweDBCOTUsIDB4MEJDRCwgMHgwQkI3LCAweDBCQzd9fSwKKyAgICB7NCwgezB4MEI5NSwgMHgwQkNELCAweDBCQjcsIDB4MEJDOH19LAorICAgIHs0LCB7MHgwQjk1LCAweDBCQ0QsIDB4MEJCNywgMHgwQkNBfX0sCisgICAgezQsIHsweDBCOTUsIDB4MEJDRCwgMHgwQkI3LCAweDBCQ0J9fSwKKyAgICB7NCwgezB4MEI5NSwgMHgwQkNELCAweDBCQjcsIDB4MEJDQ319LAorICAgIHs0LCB7MHgwQkI2LCAweDBCQ0QsIDB4MEJCMCwgMHgwQkMwfX0sCisgICAgezMsIHsweDBEQ0EsIDB4MjAwRCwgMHgwREJBfX0sCisgICAgezMsIHsweDBEQ0EsIDB4MjAwRCwgMHgwREJCfX0sCisgICAgezMsIHsweDBEQkIsIDB4MERDQSwgMHgyMDBEfX0sCisgICAgezIsIHsweDEwRTMsIDB4MDMwMn19LAorICAgIHsyLCB7MHgxN0QyLCAweDE3ODB9fSwKKyAgICB7MiwgezB4MTdEMiwgMHgxNzgxfX0sCisgICAgezIsIHsweDE3RDIsIDB4MTc4Mn19LAorICAgIHsyLCB7MHgxN0QyLCAweDE3ODN9fSwKKyAgICB7MiwgezB4MTdEMiwgMHgxNzg0fX0sCisgICAgezIsIHsweDE3RDIsIDB4MTc4NX19LAorICAgIHsyLCB7MHgxN0QyLCAweDE3ODZ9fSwKKyAgICB7MiwgezB4MTdEMiwgMHgxNzg3fX0sCisgICAgezIsIHsweDE3RDIsIDB4MTc4OH19LAorICAgIHsyLCB7MHgxN0QyLCAweDE3ODl9fSwKKyAgICB7MiwgezB4MTdEMiwgMHgxNzhBfX0sCisgICAgezIsIHsweDE3RDIsIDB4MTc4Qn19LAorICAgIHsyLCB7MHgxN0QyLCAweDE3OEN9fSwKKyAgICB7MiwgezB4MTdEMiwgMHgxNzhEfX0sCisgICAgezIsIHsweDE3RDIsIDB4MTc4RX19LAorICAgIHsyLCB7MHgxN0QyLCAweDE3OEZ9fSwKKyAgICB7MiwgezB4MTdEMiwgMHgxNzkwfX0sCisgICAgezIsIHsweDE3RDIsIDB4MTc5MX19LAorICAgIHsyLCB7MHgxN0QyLCAweDE3OTJ9fSwKKyAgICB7MiwgezB4MTdEMiwgMHgxNzkzfX0sCisgICAgezIsIHsweDE3RDIsIDB4MTc5NH19LAorICAgIHsyLCB7MHgxN0QyLCAweDE3OTV9fSwKKyAgICB7MiwgezB4MTdEMiwgMHgxNzk2fX0sCisgICAgezIsIHsweDE3RDIsIDB4MTc5N319LAorICAgIHsyLCB7MHgxN0QyLCAweDE3OTh9fSwKKyAgICB7MiwgezB4MTdEMiwgMHgxNzk5fX0sCisgICAgezIsIHsweDE3RDIsIDB4MTc5QX19LAorICAgIHsyLCB7MHgxN0QyLCAweDE3OUJ9fSwKKyAgICB7MiwgezB4MTdEMiwgMHgxNzlDfX0sCisgICAgezIsIHsweDE3RDIsIDB4MTc5RH19LAorICAgIHsyLCB7MHgxN0QyLCAweDE3OUV9fSwKKyAgICB7MiwgezB4MTdEMiwgMHgxNzlGfX0sCisgICAgezIsIHsweDE3RDIsIDB4MTdBMH19LAorICAgIHsyLCB7MHgxN0QyLCAweDE3QTF9fSwKKyAgICB7MiwgezB4MTdEMiwgMHgxN0EyfX0sCisgICAgezIsIHsweDE3RDIsIDB4MTdBN319LAorICAgIHsyLCB7MHgxN0QyLCAweDE3QUJ9fSwKKyAgICB7MiwgezB4MTdEMiwgMHgxN0FDfX0sCisgICAgezIsIHsweDE3RDIsIDB4MTdBRn19LAorICAgIHsyLCB7MHgxN0JCLCAweDE3QzZ9fSwKKyAgICB7MiwgezB4MTdCNiwgMHgxN0M2fX0sCisgICAgezIsIHsweDMwNEIsIDB4MzA5QX19LAorICAgIHsyLCB7MHgzMDRELCAweDMwOUF9fSwKKyAgICB7MiwgezB4MzA0RiwgMHgzMDlBfX0sCisgICAgezIsIHsweDMwNTEsIDB4MzA5QX19LAorICAgIHsyLCB7MHgzMDUzLCAweDMwOUF9fSwKKyAgICB7MiwgezB4MzBBQiwgMHgzMDlBfX0sCisgICAgezIsIHsweDMwQUQsIDB4MzA5QX19LAorICAgIHsyLCB7MHgzMEFGLCAweDMwOUF9fSwKKyAgICB7MiwgezB4MzBCMSwgMHgzMDlBfX0sCisgICAgezIsIHsweDMwQjMsIDB4MzA5QX19LAorICAgIHsyLCB7MHgzMEJCLCAweDMwOUF9fSwKKyAgICB7MiwgezB4MzBDNCwgMHgzMDlBfX0sCisgICAgezIsIHsweDMwQzgsIDB4MzA5QX19LAorICAgIHsyLCB7MHgzMUY3LCAweDMwOUF9fSwKKyAgICB7MiwgezB4MDJFNSwgMHgwMkU5fX0sCisgICAgezIsIHsweDAyRTksIDB4MDJFNX19LAorfTsKZGlmZiAtLWdpdCBhL01vZHVsZXMveHhsaW1pdGVkLmMgYi9Nb2R1bGVzL3h4bGltaXRlZC5jCmluZGV4IGVjOTI0ZjIuLjY2MWI2ZTIgMTAwNjQ0Ci0tLSBhL01vZHVsZXMveHhsaW1pdGVkLmMKKysrIGIvTW9kdWxlcy94eGxpbWl0ZWQuYwpAQCAtMTg3LDggKzE4Nyw3IEBACiBzdGF0aWMgUHlPYmplY3QgKgogbnVsbF9yaWNoY29tcGFyZShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKm90aGVyLCBpbnQgb3ApCiB7Ci0gICAgUHlfSU5DUkVGKFB5X05vdEltcGxlbWVudGVkKTsKLSAgICByZXR1cm4gUHlfTm90SW1wbGVtZW50ZWQ7CisgICAgUHlfUkVUVVJOX05PVElNUExFTUVOVEVEOwogfQogCiBzdGF0aWMgUHlUeXBlX1Nsb3QgTnVsbF9UeXBlX3Nsb3RzW10gPSB7CmRpZmYgLS1naXQgYS9Nb2R1bGVzL3ppcGltcG9ydC5jIGIvTW9kdWxlcy96aXBpbXBvcnQuYwppbmRleCBkOGMzZDhhLi5mODIyZjkyIDEwMDY0NAotLS0gYS9Nb2R1bGVzL3ppcGltcG9ydC5jCisrKyBiL01vZHVsZXMvemlwaW1wb3J0LmMKQEAgLTQ5LDcgKzQ5LDcgQEAKIC8qIGZvcndhcmQgZGVjbHMgKi8KIHN0YXRpYyBQeU9iamVjdCAqcmVhZF9kaXJlY3RvcnkoUHlPYmplY3QgKmFyY2hpdmUpOwogc3RhdGljIFB5T2JqZWN0ICpnZXRfZGF0YShQeU9iamVjdCAqYXJjaGl2ZSwgUHlPYmplY3QgKnRvY19lbnRyeSk7Ci1zdGF0aWMgUHlPYmplY3QgKmdldF9tb2R1bGVfY29kZShaaXBJbXBvcnRlciAqc2VsZiwgY2hhciAqZnVsbG5hbWUsCitzdGF0aWMgUHlPYmplY3QgKmdldF9tb2R1bGVfY29kZShaaXBJbXBvcnRlciAqc2VsZiwgUHlPYmplY3QgKmZ1bGxuYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ICpwX2lzcGFja2FnZSwgUHlPYmplY3QgKipwX21vZHBhdGgpOwogCiAKQEAgLTYzLDEwOSArNjMsMTA5IEBACiBzdGF0aWMgaW50CiB6aXBpbXBvcnRlcl9pbml0KFppcEltcG9ydGVyICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3ZHMpCiB7Ci0gICAgUHlPYmplY3QgKnBhdGhvYmosICpmaWxlczsKLSAgICBQeV9VTklDT0RFICpwYXRoLCAqcCwgKnByZWZpeCwgYnVmW01BWFBBVEhMRU4rMl07Ci0gICAgUHlfc3NpemVfdCBsZW47CisgICAgUHlPYmplY3QgKnBhdGgsICpmaWxlcywgKnRtcDsKKyAgICBQeU9iamVjdCAqZmlsZW5hbWUgPSBOVUxMOworICAgIFB5X3NzaXplX3QgbGVuLCBmbGVuOworI2lmZGVmIEFMVFNFUAorICAgIF9QeV9JREVOVElGSUVSKHJlcGxhY2UpOworI2VuZGlmCiAKICAgICBpZiAoIV9QeUFyZ19Ob0tleXdvcmRzKCJ6aXBpbXBvcnRlcigpIiwga3dkcykpCiAgICAgICAgIHJldHVybiAtMTsKIAogICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiTyY6emlwaW1wb3J0ZXIiLAotICAgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfRlNEZWNvZGVyLCAmcGF0aG9iaikpCisgICAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9GU0RlY29kZXIsICZwYXRoKSkKICAgICAgICAgcmV0dXJuIC0xOwogCi0gICAgLyogY29weSBwYXRoIHRvIGJ1ZiAqLwotICAgIGxlbiA9IFB5VW5pY29kZV9HRVRfU0laRShwYXRob2JqKTsKKyAgICBpZiAoUHlVbmljb2RlX1JFQURZKHBhdGgpID09IC0xKQorICAgICAgICByZXR1cm4gLTE7CisKKyAgICBsZW4gPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChwYXRoKTsKICAgICBpZiAobGVuID09IDApIHsKICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFppcEltcG9ydEVycm9yLCAiYXJjaGl2ZSBwYXRoIGlzIGVtcHR5Iik7CiAgICAgICAgIGdvdG8gZXJyb3I7CiAgICAgfQotICAgIGlmIChsZW4gPj0gTUFYUEFUSExFTikgewotICAgICAgICBQeUVycl9TZXRTdHJpbmcoWmlwSW1wb3J0RXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAgICAiYXJjaGl2ZSBwYXRoIHRvbyBsb25nIik7Ci0gICAgICAgIGdvdG8gZXJyb3I7Ci0gICAgfQotICAgIFB5X1VOSUNPREVfc3RyY3B5KGJ1ZiwgUHlVbmljb2RlX0FTX1VOSUNPREUocGF0aG9iaikpOwogCiAjaWZkZWYgQUxUU0VQCi0gICAgZm9yIChwID0gYnVmOyAqcDsgcCsrKSB7Ci0gICAgICAgIGlmICgqcCA9PSBBTFRTRVApCi0gICAgICAgICAgICAqcCA9IFNFUDsKLSAgICB9CisgICAgdG1wID0gX1B5T2JqZWN0X0NhbGxNZXRob2RJZChwYXRoLCAmUHlJZF9yZXBsYWNlLCAiQ0MiLCBBTFRTRVAsIFNFUCk7CisgICAgaWYgKCF0bXApCisgICAgICAgIGdvdG8gZXJyb3I7CisgICAgUHlfREVDUkVGKHBhdGgpOworICAgIHBhdGggPSB0bXA7CiAjZW5kaWYKIAotICAgIHBhdGggPSBOVUxMOwotICAgIHByZWZpeCA9IE5VTEw7CisgICAgZmlsZW5hbWUgPSBwYXRoOworICAgIFB5X0lOQ1JFRihmaWxlbmFtZSk7CisgICAgZmxlbiA9IGxlbjsKICAgICBmb3IgKDs7KSB7CiAgICAgICAgIHN0cnVjdCBzdGF0IHN0YXRidWY7CiAgICAgICAgIGludCBydjsKIAotICAgICAgICBpZiAocGF0aG9iaiA9PSBOVUxMKSB7Ci0gICAgICAgICAgICBwYXRob2JqID0gUHlVbmljb2RlX0Zyb21Vbmljb2RlKGJ1ZiwgbGVuKTsKLSAgICAgICAgICAgIGlmIChwYXRob2JqID09IE5VTEwpCi0gICAgICAgICAgICAgICAgZ290byBlcnJvcjsKLSAgICAgICAgfQotICAgICAgICBydiA9IF9QeV9zdGF0KHBhdGhvYmosICZzdGF0YnVmKTsKKyAgICAgICAgcnYgPSBfUHlfc3RhdChmaWxlbmFtZSwgJnN0YXRidWYpOworICAgICAgICBpZiAocnYgPT0gLTIpCisgICAgICAgICAgICBnb3RvIGVycm9yOwogICAgICAgICBpZiAocnYgPT0gMCkgewogICAgICAgICAgICAgLyogaXQgZXhpc3RzICovCi0gICAgICAgICAgICBpZiAoU19JU1JFRyhzdGF0YnVmLnN0X21vZGUpKQotICAgICAgICAgICAgICAgIC8qIGl0J3MgYSBmaWxlICovCi0gICAgICAgICAgICAgICAgcGF0aCA9IGJ1ZjsKKyAgICAgICAgICAgIGlmICghU19JU1JFRyhzdGF0YnVmLnN0X21vZGUpKQorICAgICAgICAgICAgICAgIC8qIGl0J3MgYSBub3QgZmlsZSAqLworICAgICAgICAgICAgICAgIFB5X0NMRUFSKGZpbGVuYW1lKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9Ci0gICAgICAgIGVsc2UgaWYgKFB5RXJyX09jY3VycmVkKCkpCi0gICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICBQeV9DTEVBUihmaWxlbmFtZSk7CiAgICAgICAgIC8qIGJhY2sgdXAgb25lIHBhdGggZWxlbWVudCAqLwotICAgICAgICBwID0gUHlfVU5JQ09ERV9zdHJyY2hyKGJ1ZiwgU0VQKTsKLSAgICAgICAgaWYgKHByZWZpeCAhPSBOVUxMKQotICAgICAgICAgICAgKnByZWZpeCA9IFNFUDsKLSAgICAgICAgaWYgKHAgPT0gTlVMTCkKKyAgICAgICAgZmxlbiA9IFB5VW5pY29kZV9GaW5kQ2hhcihwYXRoLCBTRVAsIDAsIGZsZW4sIC0xKTsKKyAgICAgICAgaWYgKGZsZW4gPT0gLTEpCiAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgKnAgPSAnXDAnOwotICAgICAgICBsZW4gPSBwIC0gYnVmOwotICAgICAgICBwcmVmaXggPSBwOwotICAgICAgICBQeV9DTEVBUihwYXRob2JqKTsKKyAgICAgICAgZmlsZW5hbWUgPSBQeVVuaWNvZGVfU3Vic3RyaW5nKHBhdGgsIDAsIGZsZW4pOwogICAgIH0KLSAgICBpZiAocGF0aCA9PSBOVUxMKSB7CisgICAgaWYgKGZpbGVuYW1lID09IE5VTEwpIHsKICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFppcEltcG9ydEVycm9yLCAibm90IGEgWmlwIGZpbGUiKTsKICAgICAgICAgZ290byBlcnJvcjsKICAgICB9CiAKLSAgICBmaWxlcyA9IFB5RGljdF9HZXRJdGVtKHppcF9kaXJlY3RvcnlfY2FjaGUsIHBhdGhvYmopOworICAgIGlmIChQeVVuaWNvZGVfUkVBRFkoZmlsZW5hbWUpIDwgMCkKKyAgICAgICAgZ290byBlcnJvcjsKKworICAgIGZpbGVzID0gUHlEaWN0X0dldEl0ZW0oemlwX2RpcmVjdG9yeV9jYWNoZSwgZmlsZW5hbWUpOwogICAgIGlmIChmaWxlcyA9PSBOVUxMKSB7Ci0gICAgICAgIGZpbGVzID0gcmVhZF9kaXJlY3RvcnkocGF0aG9iaik7CisgICAgICAgIGZpbGVzID0gcmVhZF9kaXJlY3RvcnkoZmlsZW5hbWUpOwogICAgICAgICBpZiAoZmlsZXMgPT0gTlVMTCkKICAgICAgICAgICAgIGdvdG8gZXJyb3I7Ci0gICAgICAgIGlmIChQeURpY3RfU2V0SXRlbSh6aXBfZGlyZWN0b3J5X2NhY2hlLCBwYXRob2JqLCBmaWxlcykgIT0gMCkKKyAgICAgICAgaWYgKFB5RGljdF9TZXRJdGVtKHppcF9kaXJlY3RvcnlfY2FjaGUsIGZpbGVuYW1lLCBmaWxlcykgIT0gMCkKICAgICAgICAgICAgIGdvdG8gZXJyb3I7CiAgICAgfQogICAgIGVsc2UKICAgICAgICAgUHlfSU5DUkVGKGZpbGVzKTsKICAgICBzZWxmLT5maWxlcyA9IGZpbGVzOwogCi0gICAgc2VsZi0+YXJjaGl2ZSA9IHBhdGhvYmo7Ci0gICAgcGF0aG9iaiA9IE5VTEw7CisgICAgLyogVHJhbnNmZXIgcmVmZXJlbmNlICovCisgICAgc2VsZi0+YXJjaGl2ZSA9IGZpbGVuYW1lOworICAgIGZpbGVuYW1lID0gTlVMTDsKIAotICAgIGlmIChwcmVmaXggIT0gTlVMTCkgewotICAgICAgICBwcmVmaXgrKzsKLSAgICAgICAgbGVuID0gUHlfVU5JQ09ERV9zdHJsZW4ocHJlZml4KTsKLSAgICAgICAgaWYgKHByZWZpeFtsZW4tMV0gIT0gU0VQKSB7CisgICAgLyogQ2hlY2sgaWYgdGhlcmUgaXMgYSBwcmVmaXggZGlyZWN0b3J5IGZvbGxvd2luZyB0aGUgZmlsZW5hbWUuICovCisgICAgaWYgKGZsZW4gIT0gbGVuKSB7CisgICAgICAgIHRtcCA9IFB5VW5pY29kZV9TdWJzdHJpbmcocGF0aCwgZmxlbisxLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9HRVRfTEVOR1RIKHBhdGgpKTsKKyAgICAgICAgaWYgKHRtcCA9PSBOVUxMKQorICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgc2VsZi0+cHJlZml4ID0gdG1wOworICAgICAgICBpZiAoUHlVbmljb2RlX1JFQURfQ0hBUihwYXRoLCBsZW4tMSkgIT0gU0VQKSB7CiAgICAgICAgICAgICAvKiBhZGQgdHJhaWxpbmcgU0VQICovCi0gICAgICAgICAgICBwcmVmaXhbbGVuXSA9IFNFUDsKLSAgICAgICAgICAgIHByZWZpeFtsZW4gKyAxXSA9ICdcMCc7Ci0gICAgICAgICAgICBsZW4rKzsKKyAgICAgICAgICAgIHRtcCA9IFB5VW5pY29kZV9Gcm9tRm9ybWF0KCIlVSVjIiwgc2VsZi0+cHJlZml4LCBTRVApOworICAgICAgICAgICAgaWYgKHRtcCA9PSBOVUxMKQorICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgICAgICBQeV9ERUNSRUYoc2VsZi0+cHJlZml4KTsKKyAgICAgICAgICAgIHNlbGYtPnByZWZpeCA9IHRtcDsKICAgICAgICAgfQogICAgIH0KICAgICBlbHNlCi0gICAgICAgIGxlbiA9IDA7Ci0gICAgc2VsZi0+cHJlZml4ID0gUHlVbmljb2RlX0Zyb21Vbmljb2RlKHByZWZpeCwgbGVuKTsKLSAgICBpZiAoc2VsZi0+cHJlZml4ID09IE5VTEwpCi0gICAgICAgIGdvdG8gZXJyb3I7Ci0KKyAgICAgICAgc2VsZi0+cHJlZml4ID0gUHlVbmljb2RlX05ldygwLCAwKTsKKyAgICBQeV9ERUNSRUYocGF0aCk7CiAgICAgcmV0dXJuIDA7CiAKIGVycm9yOgotICAgIFB5X1hERUNSRUYocGF0aG9iaik7CisgICAgUHlfREVDUkVGKHBhdGgpOworICAgIFB5X1hERUNSRUYoZmlsZW5hbWUpOwogICAgIHJldHVybiAtMTsKIH0KIApAQCAtMTkzLDcgKzE5Myw3IEBACiB7CiAgICAgaWYgKHNlbGYtPmFyY2hpdmUgPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIFB5VW5pY29kZV9Gcm9tU3RyaW5nKCI8emlwaW1wb3J0ZXIgb2JqZWN0IFwiPz8/XCI+Iik7Ci0gICAgZWxzZSBpZiAoc2VsZi0+cHJlZml4ICE9IE5VTEwgJiYgUHlVbmljb2RlX0dFVF9TSVpFKHNlbGYtPnByZWZpeCkgIT0gMCkKKyAgICBlbHNlIGlmIChzZWxmLT5wcmVmaXggIT0gTlVMTCAmJiBQeVVuaWNvZGVfR0VUX0xFTkdUSChzZWxmLT5wcmVmaXgpICE9IDApCiAgICAgICAgIHJldHVybiBQeVVuaWNvZGVfRnJvbUZvcm1hdCgiPHppcGltcG9ydGVyIG9iamVjdCBcIiVVJWMlVVwiPiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLT5hcmNoaXZlLCBTRVAsIHNlbGYtPnByZWZpeCk7CiAgICAgZWxzZQpAQCAtMjAyLDQ5ICsyMDIsNTQgQEAKIH0KIAogLyogcmV0dXJuIGZ1bGxuYW1lLnNwbGl0KCIuIilbLTFdICovCi1zdGF0aWMgY2hhciAqCi1nZXRfc3VibmFtZShjaGFyICpmdWxsbmFtZSkKK3N0YXRpYyBQeU9iamVjdCAqCitnZXRfc3VibmFtZShQeU9iamVjdCAqZnVsbG5hbWUpCiB7Ci0gICAgY2hhciAqc3VibmFtZSA9IHN0cnJjaHIoZnVsbG5hbWUsICcuJyk7Ci0gICAgaWYgKHN1Ym5hbWUgPT0gTlVMTCkKLSAgICAgICAgc3VibmFtZSA9IGZ1bGxuYW1lOwotICAgIGVsc2UKLSAgICAgICAgc3VibmFtZSsrOwotICAgIHJldHVybiBzdWJuYW1lOworICAgIFB5X3NzaXplX3QgbGVuLCBkb3Q7CisgICAgaWYgKFB5VW5pY29kZV9SRUFEWShmdWxsbmFtZSkgPCAwKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBsZW4gPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChmdWxsbmFtZSk7CisgICAgZG90ID0gUHlVbmljb2RlX0ZpbmRDaGFyKGZ1bGxuYW1lLCAnLicsIDAsIGxlbiwgLTEpOworICAgIGlmIChkb3QgPT0gLTEpIHsKKyAgICAgICAgUHlfSU5DUkVGKGZ1bGxuYW1lKTsKKyAgICAgICAgcmV0dXJuIGZ1bGxuYW1lOworICAgIH0gZWxzZQorICAgICAgICByZXR1cm4gUHlVbmljb2RlX1N1YnN0cmluZyhmdWxsbmFtZSwgZG90KzEsIGxlbik7CiB9CiAKIC8qIEdpdmVuIGEgKHN1Yiltb2R1bGVuYW1lLCB3cml0ZSB0aGUgcG90ZW50aWFsIGZpbGUgcGF0aCBpbiB0aGUKICAgIGFyY2hpdmUgKHdpdGhvdXQgZXh0ZW5zaW9uKSB0byB0aGUgcGF0aCBidWZmZXIuIFJldHVybiB0aGUKLSAgIGxlbmd0aCBvZiB0aGUgcmVzdWx0aW5nIHN0cmluZy4gKi8KLXN0YXRpYyBpbnQKLW1ha2VfZmlsZW5hbWUoUHlPYmplY3QgKnByZWZpeF9vYmosIGNoYXIgKm5hbWUsIGNoYXIgKnBhdGgsIHNpemVfdCBwYXRoc2l6ZSkKKyAgIGxlbmd0aCBvZiB0aGUgcmVzdWx0aW5nIHN0cmluZy4KKworICAgcmV0dXJuIHNlbGYucHJlZml4ICsgbmFtZS5yZXBsYWNlKCcuJywgb3Muc2VwKSAqLworc3RhdGljIFB5T2JqZWN0KgorbWFrZV9maWxlbmFtZShQeU9iamVjdCAqcHJlZml4LCBQeU9iamVjdCAqbmFtZSkKIHsKLSAgICBzaXplX3QgbGVuOwotICAgIGNoYXIgKnA7Ci0gICAgUHlPYmplY3QgKnByZWZpeDsKKyAgICBQeU9iamVjdCAqcGF0aG9iajsKKyAgICBQeV9VQ1M0ICpwLCAqYnVmOworICAgIFB5X3NzaXplX3QgbGVuOwogCi0gICAgcHJlZml4ID0gUHlVbmljb2RlX0VuY29kZUZTRGVmYXVsdChwcmVmaXhfb2JqKTsKLSAgICBpZiAocHJlZml4ID09IE5VTEwpCi0gICAgICAgIHJldHVybiAtMTsKLSAgICBsZW4gPSBQeUJ5dGVzX0dFVF9TSVpFKHByZWZpeCk7Ci0KLSAgICAvKiBzZWxmLnByZWZpeCArIG5hbWUgWysgU0VQICsgIl9faW5pdF9fIl0gKyAiLnB5W2NvXSIgKi8KLSAgICBpZiAobGVuICsgc3RybGVuKG5hbWUpICsgMTMgPj0gcGF0aHNpemUgLSAxKSB7Ci0gICAgICAgIFB5RXJyX1NldFN0cmluZyhaaXBJbXBvcnRFcnJvciwgInBhdGggdG9vIGxvbmciKTsKLSAgICAgICAgUHlfREVDUkVGKHByZWZpeCk7Ci0gICAgICAgIHJldHVybiAtMTsKKyAgICBsZW4gPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChwcmVmaXgpICsgUHlVbmljb2RlX0dFVF9MRU5HVEgobmFtZSkgKyAxOworICAgIHAgPSBidWYgPSBQeU1lbV9NYWxsb2Moc2l6ZW9mKFB5X1VDUzQpICogbGVuKTsKKyAgICBpZiAoYnVmID09IE5VTEwpIHsKKyAgICAgICAgUHlFcnJfTm9NZW1vcnkoKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogCi0gICAgc3RyY3B5KHBhdGgsIFB5Qnl0ZXNfQVNfU1RSSU5HKHByZWZpeCkpOwotICAgIFB5X0RFQ1JFRihwcmVmaXgpOwotICAgIHN0cmNweShwYXRoICsgbGVuLCBuYW1lKTsKLSAgICBmb3IgKHAgPSBwYXRoICsgbGVuOyAqcDsgcCsrKSB7CisgICAgaWYgKCFQeVVuaWNvZGVfQXNVQ1M0KHByZWZpeCwgcCwgbGVuLCAwKSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgcCArPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChwcmVmaXgpOworICAgIGxlbiAtPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChwcmVmaXgpOworICAgIGlmICghUHlVbmljb2RlX0FzVUNTNChuYW1lLCBwLCBsZW4sIDEpKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBmb3IgKDsgKnA7IHArKykgewogICAgICAgICBpZiAoKnAgPT0gJy4nKQogICAgICAgICAgICAgKnAgPSBTRVA7CiAgICAgfQotICAgIGxlbiArPSBzdHJsZW4obmFtZSk7Ci0gICAgYXNzZXJ0KGxlbiA8IElOVF9NQVgpOwotICAgIHJldHVybiAoaW50KWxlbjsKKyAgICBwYXRob2JqID0gUHlVbmljb2RlX0Zyb21LaW5kQW5kRGF0YShQeVVuaWNvZGVfNEJZVEVfS0lORCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWYsIHAtYnVmKTsKKyAgICBQeU1lbV9GcmVlKGJ1Zik7CisgICAgcmV0dXJuIHBhdGhvYmo7CiB9CiAKIGVudW0gemlfbW9kdWxlX2luZm8gewpAQCAtMjU2LDI3ICsyNjEsMzggQEAKIAogLyogUmV0dXJuIHNvbWUgaW5mb3JtYXRpb24gYWJvdXQgYSBtb2R1bGUuICovCiBzdGF0aWMgZW51bSB6aV9tb2R1bGVfaW5mbwotZ2V0X21vZHVsZV9pbmZvKFppcEltcG9ydGVyICpzZWxmLCBjaGFyICpmdWxsbmFtZSkKK2dldF9tb2R1bGVfaW5mbyhaaXBJbXBvcnRlciAqc2VsZiwgUHlPYmplY3QgKmZ1bGxuYW1lKQogewotICAgIGNoYXIgKnN1Ym5hbWUsIHBhdGhbTUFYUEFUSExFTiArIDFdOwotICAgIGludCBsZW47CisgICAgUHlPYmplY3QgKnN1Ym5hbWU7CisgICAgUHlPYmplY3QgKnBhdGgsICpmdWxscGF0aCwgKml0ZW07CiAgICAgc3RydWN0IHN0X3ppcF9zZWFyY2hvcmRlciAqenNvOwogCiAgICAgc3VibmFtZSA9IGdldF9zdWJuYW1lKGZ1bGxuYW1lKTsKKyAgICBpZiAoc3VibmFtZSA9PSBOVUxMKQorICAgICAgICByZXR1cm4gTUlfRVJST1I7CiAKLSAgICBsZW4gPSBtYWtlX2ZpbGVuYW1lKHNlbGYtPnByZWZpeCwgc3VibmFtZSwgcGF0aCwgc2l6ZW9mKHBhdGgpKTsKLSAgICBpZiAobGVuIDwgMCkKKyAgICBwYXRoID0gbWFrZV9maWxlbmFtZShzZWxmLT5wcmVmaXgsIHN1Ym5hbWUpOworICAgIFB5X0RFQ1JFRihzdWJuYW1lKTsKKyAgICBpZiAocGF0aCA9PSBOVUxMKQogICAgICAgICByZXR1cm4gTUlfRVJST1I7CiAKICAgICBmb3IgKHpzbyA9IHppcF9zZWFyY2hvcmRlcjsgKnpzby0+c3VmZml4OyB6c28rKykgewotICAgICAgICBzdHJjcHkocGF0aCArIGxlbiwgenNvLT5zdWZmaXgpOwotICAgICAgICBpZiAoUHlEaWN0X0dldEl0ZW1TdHJpbmcoc2VsZi0+ZmlsZXMsIHBhdGgpICE9IE5VTEwpIHsKKyAgICAgICAgZnVsbHBhdGggPSBQeVVuaWNvZGVfRnJvbUZvcm1hdCgiJVUlcyIsIHBhdGgsIHpzby0+c3VmZml4KTsKKyAgICAgICAgaWYgKGZ1bGxwYXRoID09IE5VTEwpIHsKKyAgICAgICAgICAgIFB5X0RFQ1JFRihwYXRoKTsKKyAgICAgICAgICAgIHJldHVybiBNSV9FUlJPUjsKKyAgICAgICAgfQorICAgICAgICBpdGVtID0gUHlEaWN0X0dldEl0ZW0oc2VsZi0+ZmlsZXMsIGZ1bGxwYXRoKTsKKyAgICAgICAgUHlfREVDUkVGKGZ1bGxwYXRoKTsKKyAgICAgICAgaWYgKGl0ZW0gIT0gTlVMTCkgeworICAgICAgICAgICAgUHlfREVDUkVGKHBhdGgpOwogICAgICAgICAgICAgaWYgKHpzby0+dHlwZSAmIElTX1BBQ0tBR0UpCiAgICAgICAgICAgICAgICAgcmV0dXJuIE1JX1BBQ0tBR0U7CiAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgcmV0dXJuIE1JX01PRFVMRTsKICAgICAgICAgfQogICAgIH0KKyAgICBQeV9ERUNSRUYocGF0aCk7CiAgICAgcmV0dXJuIE1JX05PVF9GT1VORDsKIH0KIApAQCAtMjg3LDEwICszMDMsMTAgQEAKIHsKICAgICBaaXBJbXBvcnRlciAqc2VsZiA9IChaaXBJbXBvcnRlciAqKW9iajsKICAgICBQeU9iamVjdCAqcGF0aCA9IE5VTEw7Ci0gICAgY2hhciAqZnVsbG5hbWU7CisgICAgUHlPYmplY3QgKmZ1bGxuYW1lOwogICAgIGVudW0gemlfbW9kdWxlX2luZm8gbWk7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgInN8Tzp6aXBpbXBvcnRlci5maW5kX21vZHVsZSIsCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJVfE86emlwaW1wb3J0ZXIuZmluZF9tb2R1bGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAmZnVsbG5hbWUsICZwYXRoKSkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKQEAgLTMxMSwxOSArMzI3LDIxIEBACiB7CiAgICAgWmlwSW1wb3J0ZXIgKnNlbGYgPSAoWmlwSW1wb3J0ZXIgKilvYmo7CiAgICAgUHlPYmplY3QgKmNvZGUgPSBOVUxMLCAqbW9kLCAqZGljdDsKLSAgICBjaGFyICpmdWxsbmFtZTsKLSAgICBQeU9iamVjdCAqbW9kcGF0aCA9IE5VTEwsICptb2RwYXRoX2J5dGVzOworICAgIFB5T2JqZWN0ICpmdWxsbmFtZTsKKyAgICBQeU9iamVjdCAqbW9kcGF0aCA9IE5VTEw7CiAgICAgaW50IGlzcGFja2FnZTsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiczp6aXBpbXBvcnRlci5sb2FkX21vZHVsZSIsCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJVOnppcGltcG9ydGVyLmxvYWRfbW9kdWxlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgJmZ1bGxuYW1lKSkKICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgaWYgKFB5VW5pY29kZV9SRUFEWShmdWxsbmFtZSkgPT0gLTEpCisgICAgICAgIHJldHVybiBOVUxMOwogCiAgICAgY29kZSA9IGdldF9tb2R1bGVfY29kZShzZWxmLCBmdWxsbmFtZSwgJmlzcGFja2FnZSwgJm1vZHBhdGgpOwogICAgIGlmIChjb2RlID09IE5VTEwpCiAgICAgICAgIGdvdG8gZXJyb3I7CiAKLSAgICBtb2QgPSBQeUltcG9ydF9BZGRNb2R1bGUoZnVsbG5hbWUpOworICAgIG1vZCA9IFB5SW1wb3J0X0FkZE1vZHVsZU9iamVjdChmdWxsbmFtZSk7CiAgICAgaWYgKG1vZCA9PSBOVUxMKQogICAgICAgICBnb3RvIGVycm9yOwogICAgIGRpY3QgPSBQeU1vZHVsZV9HZXREaWN0KG1vZCk7CkBAIC0zMzYsMTcgKzM1NCwxNyBAQAogICAgICAgICAvKiBhZGQgX19wYXRoX18gdG8gdGhlIG1vZHVsZSAqYmVmb3JlKiB0aGUgY29kZSBnZXRzCiAgICAgICAgICAgIGV4ZWN1dGVkICovCiAgICAgICAgIFB5T2JqZWN0ICpwa2dwYXRoLCAqZnVsbHBhdGg7Ci0gICAgICAgIGNoYXIgKnN1Ym5hbWUgPSBnZXRfc3VibmFtZShmdWxsbmFtZSk7CisgICAgICAgIFB5T2JqZWN0ICpzdWJuYW1lID0gZ2V0X3N1Ym5hbWUoZnVsbG5hbWUpOwogICAgICAgICBpbnQgZXJyOwogCi0gICAgICAgIGZ1bGxwYXRoID0gUHlVbmljb2RlX0Zyb21Gb3JtYXQoIiVVJWMlVSVzIiwKKyAgICAgICAgZnVsbHBhdGggPSBQeVVuaWNvZGVfRnJvbUZvcm1hdCgiJVUlYyVVJVUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLT5hcmNoaXZlLCBTRVAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYtPnByZWZpeCwgc3VibmFtZSk7CisgICAgICAgIFB5X0RFQ1JFRihzdWJuYW1lKTsKICAgICAgICAgaWYgKGZ1bGxwYXRoID09IE5VTEwpCiAgICAgICAgICAgICBnb3RvIGVycm9yOwogCi0gICAgICAgIHBrZ3BhdGggPSBQeV9CdWlsZFZhbHVlKCJbT10iLCBmdWxscGF0aCk7Ci0gICAgICAgIFB5X0RFQ1JFRihmdWxscGF0aCk7CisgICAgICAgIHBrZ3BhdGggPSBQeV9CdWlsZFZhbHVlKCJbTl0iLCBmdWxscGF0aCk7CiAgICAgICAgIGlmIChwa2dwYXRoID09IE5VTEwpCiAgICAgICAgICAgICBnb3RvIGVycm9yOwogICAgICAgICBlcnIgPSBQeURpY3RfU2V0SXRlbVN0cmluZyhkaWN0LCAiX19wYXRoX18iLCBwa2dwYXRoKTsKQEAgLTM1NCwxOCArMzcyLDEzIEBACiAgICAgICAgIGlmIChlcnIgIT0gMCkKICAgICAgICAgICAgIGdvdG8gZXJyb3I7CiAgICAgfQotICAgIG1vZHBhdGhfYnl0ZXMgPSBQeVVuaWNvZGVfRW5jb2RlRlNEZWZhdWx0KG1vZHBhdGgpOwotICAgIGlmIChtb2RwYXRoX2J5dGVzID09IE5VTEwpCi0gICAgICAgIGdvdG8gZXJyb3I7Ci0gICAgbW9kID0gUHlJbXBvcnRfRXhlY0NvZGVNb2R1bGVFeChmdWxsbmFtZSwgY29kZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5Qnl0ZXNfQVNfU1RSSU5HKG1vZHBhdGhfYnl0ZXMpKTsKLSAgICBQeV9ERUNSRUYobW9kcGF0aF9ieXRlcyk7CisgICAgbW9kID0gUHlJbXBvcnRfRXhlY0NvZGVNb2R1bGVPYmplY3QoZnVsbG5hbWUsIGNvZGUsIG1vZHBhdGgsIE5VTEwpOwogICAgIFB5X0NMRUFSKGNvZGUpOwogICAgIGlmIChtb2QgPT0gTlVMTCkKICAgICAgICAgZ290byBlcnJvcjsKIAogICAgIGlmIChQeV9WZXJib3NlRmxhZykKLSAgICAgICAgUHlTeXNfRm9ybWF0U3RkZXJyKCJpbXBvcnQgJXMgIyBsb2FkZWQgZnJvbSBaaXAgJVVcbiIsCisgICAgICAgIFB5U3lzX0Zvcm1hdFN0ZGVycigiaW1wb3J0ICVVICMgbG9hZGVkIGZyb20gWmlwICVVXG4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVsbG5hbWUsIG1vZHBhdGgpOwogICAgIFB5X0RFQ1JFRihtb2RwYXRoKTsKICAgICByZXR1cm4gbW9kOwpAQCAtMzgwLDEyICszOTMsMTAgQEAKIHppcGltcG9ydGVyX2dldF9maWxlbmFtZShQeU9iamVjdCAqb2JqLCBQeU9iamVjdCAqYXJncykKIHsKICAgICBaaXBJbXBvcnRlciAqc2VsZiA9IChaaXBJbXBvcnRlciAqKW9iajsKLSAgICBQeU9iamVjdCAqY29kZTsKLSAgICBjaGFyICpmdWxsbmFtZTsKLSAgICBQeU9iamVjdCAqbW9kcGF0aDsKKyAgICBQeU9iamVjdCAqZnVsbG5hbWUsICpjb2RlLCAqbW9kcGF0aDsKICAgICBpbnQgaXNwYWNrYWdlOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJzOnppcGltcG9ydGVyLmdldF9maWxlbmFtZSIsCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJVOnppcGltcG9ydGVyLmdldF9maWxlbmFtZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICZmdWxsbmFtZSkpCiAgICAgICAgIHJldHVybiBOVUxMOwogCkBAIC00MDQsMTAgKzQxNSwxMCBAQAogemlwaW1wb3J0ZXJfaXNfcGFja2FnZShQeU9iamVjdCAqb2JqLCBQeU9iamVjdCAqYXJncykKIHsKICAgICBaaXBJbXBvcnRlciAqc2VsZiA9IChaaXBJbXBvcnRlciAqKW9iajsKLSAgICBjaGFyICpmdWxsbmFtZTsKKyAgICBQeU9iamVjdCAqZnVsbG5hbWU7CiAgICAgZW51bSB6aV9tb2R1bGVfaW5mbyBtaTsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiczp6aXBpbXBvcnRlci5pc19wYWNrYWdlIiwKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIlU6emlwaW1wb3J0ZXIuaXNfcGFja2FnZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICZmdWxsbmFtZSkpCiAgICAgICAgIHJldHVybiBOVUxMOwogCkBAIC00MTUsNzEgKzQyNiw3MCBAQAogICAgIGlmIChtaSA9PSBNSV9FUlJPUikKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgaWYgKG1pID09IE1JX05PVF9GT1VORCkgewotICAgICAgICBQeUVycl9Gb3JtYXQoWmlwSW1wb3J0RXJyb3IsICJjYW4ndCBmaW5kIG1vZHVsZSAnJXMnIiwgZnVsbG5hbWUpOworICAgICAgICBQeUVycl9Gb3JtYXQoWmlwSW1wb3J0RXJyb3IsICJjYW4ndCBmaW5kIG1vZHVsZSAlUiIsIGZ1bGxuYW1lKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogICAgIHJldHVybiBQeUJvb2xfRnJvbUxvbmcobWkgPT0gTUlfUEFDS0FHRSk7CiB9CiAKKwogc3RhdGljIFB5T2JqZWN0ICoKIHppcGltcG9ydGVyX2dldF9kYXRhKFB5T2JqZWN0ICpvYmosIFB5T2JqZWN0ICphcmdzKQogewogICAgIFppcEltcG9ydGVyICpzZWxmID0gKFppcEltcG9ydGVyICopb2JqOwotICAgIFB5T2JqZWN0ICpwYXRob2JqLCAqa2V5OwotICAgIGNvbnN0IFB5X1VOSUNPREUgKnBhdGg7CisgICAgUHlPYmplY3QgKnBhdGgsICprZXk7CiAjaWZkZWYgQUxUU0VQCi0gICAgUHlfVU5JQ09ERSAqcCwgYnVmW01BWFBBVEhMRU4gKyAxXTsKKyAgICBfUHlfSURFTlRJRklFUihyZXBsYWNlKTsKICNlbmRpZgotICAgIFB5X1VOSUNPREUgKmFyY2hpdmU7CiAgICAgUHlPYmplY3QgKnRvY19lbnRyeTsKLSAgICBQeV9zc2l6ZV90IHBhdGhfbGVuLCBsZW47CisgICAgUHlfc3NpemVfdCBwYXRoX3N0YXJ0LCBwYXRoX2xlbiwgbGVuOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJVOnppcGltcG9ydGVyLmdldF9kYXRhIiwgJnBhdGhvYmopKQorICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiVTp6aXBpbXBvcnRlci5nZXRfZGF0YSIsICZwYXRoKSkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKLSAgICBwYXRoX2xlbiA9IFB5VW5pY29kZV9HRVRfU0laRShwYXRob2JqKTsKLSAgICBwYXRoID0gUHlVbmljb2RlX0FTX1VOSUNPREUocGF0aG9iaik7CiAjaWZkZWYgQUxUU0VQCi0gICAgaWYgKHBhdGhfbGVuID49IE1BWFBBVEhMRU4pIHsKLSAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFppcEltcG9ydEVycm9yLCAicGF0aCB0b28gbG9uZyIpOworICAgIHBhdGggPSBfUHlPYmplY3RfQ2FsbE1ldGhvZElkKHBhdGgsICZQeUlkX3JlcGxhY2UsICJDQyIsIEFMVFNFUCwgU0VQKTsKKyAgICBpZiAoIXBhdGgpCiAgICAgICAgIHJldHVybiBOVUxMOwotICAgIH0KLSAgICBQeV9VTklDT0RFX3N0cmNweShidWYsIHBhdGgpOwotICAgIGZvciAocCA9IGJ1ZjsgKnA7IHArKykgewotICAgICAgICBpZiAoKnAgPT0gQUxUU0VQKQotICAgICAgICAgICAgKnAgPSBTRVA7Ci0gICAgfQotICAgIHBhdGggPSBidWY7CisjZWxzZQorICAgIFB5X0lOQ1JFRihwYXRoKTsKICNlbmRpZgotICAgIGFyY2hpdmUgPSBQeVVuaWNvZGVfQVNfVU5JQ09ERShzZWxmLT5hcmNoaXZlKTsKLSAgICBsZW4gPSBQeVVuaWNvZGVfR0VUX1NJWkUoc2VsZi0+YXJjaGl2ZSk7Ci0gICAgaWYgKChzaXplX3QpbGVuIDwgUHlfVU5JQ09ERV9zdHJsZW4ocGF0aCkgJiYKLSAgICAgICAgUHlfVU5JQ09ERV9zdHJuY21wKHBhdGgsIGFyY2hpdmUsIGxlbikgPT0gMCAmJgotICAgICAgICBwYXRoW2xlbl0gPT0gU0VQKSB7Ci0gICAgICAgIHBhdGggKz0gbGVuICsgMTsKLSAgICAgICAgcGF0aF9sZW4gLT0gbGVuICsgMTsKKyAgICBpZiAoUHlVbmljb2RlX1JFQURZKHBhdGgpID09IC0xKQorICAgICAgICBnb3RvIGVycm9yOworCisgICAgcGF0aF9sZW4gPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChwYXRoKTsKKworICAgIGxlbiA9IFB5VW5pY29kZV9HRVRfTEVOR1RIKHNlbGYtPmFyY2hpdmUpOworICAgIHBhdGhfc3RhcnQgPSAwOworICAgIGlmIChQeVVuaWNvZGVfVGFpbG1hdGNoKHBhdGgsIHNlbGYtPmFyY2hpdmUsIDAsIGxlbiwgLTEpCisgICAgICAgICYmIFB5VW5pY29kZV9SRUFEX0NIQVIocGF0aCwgbGVuKSA9PSBTRVApIHsKKyAgICAgICAgcGF0aF9zdGFydCA9IGxlbiArIDE7CiAgICAgfQogCi0gICAga2V5ID0gUHlVbmljb2RlX0Zyb21Vbmljb2RlKHBhdGgsIHBhdGhfbGVuKTsKKyAgICBrZXkgPSBQeVVuaWNvZGVfU3Vic3RyaW5nKHBhdGgsIHBhdGhfc3RhcnQsIHBhdGhfbGVuKTsKICAgICBpZiAoa2V5ID09IE5VTEwpCi0gICAgICAgIHJldHVybiBOVUxMOworICAgICAgICBnb3RvIGVycm9yOwogICAgIHRvY19lbnRyeSA9IFB5RGljdF9HZXRJdGVtKHNlbGYtPmZpbGVzLCBrZXkpOwogICAgIGlmICh0b2NfZW50cnkgPT0gTlVMTCkgewogICAgICAgICBQeUVycl9TZXRGcm9tRXJybm9XaXRoRmlsZW5hbWVPYmplY3QoUHlFeGNfSU9FcnJvciwga2V5KTsKICAgICAgICAgUHlfREVDUkVGKGtleSk7Ci0gICAgICAgIHJldHVybiBOVUxMOworICAgICAgICBnb3RvIGVycm9yOwogICAgIH0KICAgICBQeV9ERUNSRUYoa2V5KTsKKyAgICBQeV9ERUNSRUYocGF0aCk7CiAgICAgcmV0dXJuIGdldF9kYXRhKHNlbGYtPmFyY2hpdmUsIHRvY19lbnRyeSk7CisgIGVycm9yOgorICAgIFB5X0RFQ1JFRihwYXRoKTsKKyAgICByZXR1cm4gTlVMTDsKIH0KIAogc3RhdGljIFB5T2JqZWN0ICoKIHppcGltcG9ydGVyX2dldF9jb2RlKFB5T2JqZWN0ICpvYmosIFB5T2JqZWN0ICphcmdzKQogewogICAgIFppcEltcG9ydGVyICpzZWxmID0gKFppcEltcG9ydGVyICopb2JqOwotICAgIGNoYXIgKmZ1bGxuYW1lOworICAgIFB5T2JqZWN0ICpmdWxsbmFtZTsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiczp6aXBpbXBvcnRlci5nZXRfY29kZSIsICZmdWxsbmFtZSkpCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJVOnppcGltcG9ydGVyLmdldF9jb2RlIiwgJmZ1bGxuYW1lKSkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKICAgICByZXR1cm4gZ2V0X21vZHVsZV9jb2RlKHNlbGYsIGZ1bGxuYW1lLCBOVUxMLCBOVUxMKTsKQEAgLTQ5MCwzNCArNTAwLDM5IEBACiB7CiAgICAgWmlwSW1wb3J0ZXIgKnNlbGYgPSAoWmlwSW1wb3J0ZXIgKilvYmo7CiAgICAgUHlPYmplY3QgKnRvY19lbnRyeTsKLSAgICBjaGFyICpmdWxsbmFtZSwgKnN1Ym5hbWUsIHBhdGhbTUFYUEFUSExFTisxXTsKLSAgICBpbnQgbGVuOworICAgIFB5T2JqZWN0ICpmdWxsbmFtZSwgKnN1Ym5hbWUsICpwYXRoLCAqZnVsbHBhdGg7CiAgICAgZW51bSB6aV9tb2R1bGVfaW5mbyBtaTsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiczp6aXBpbXBvcnRlci5nZXRfc291cmNlIiwgJmZ1bGxuYW1lKSkKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIlU6emlwaW1wb3J0ZXIuZ2V0X3NvdXJjZSIsICZmdWxsbmFtZSkpCiAgICAgICAgIHJldHVybiBOVUxMOwogCiAgICAgbWkgPSBnZXRfbW9kdWxlX2luZm8oc2VsZiwgZnVsbG5hbWUpOwogICAgIGlmIChtaSA9PSBNSV9FUlJPUikKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgaWYgKG1pID09IE1JX05PVF9GT1VORCkgewotICAgICAgICBQeUVycl9Gb3JtYXQoWmlwSW1wb3J0RXJyb3IsICJjYW4ndCBmaW5kIG1vZHVsZSAnJXMnIiwgZnVsbG5hbWUpOworICAgICAgICBQeUVycl9Gb3JtYXQoWmlwSW1wb3J0RXJyb3IsICJjYW4ndCBmaW5kIG1vZHVsZSAlUiIsIGZ1bGxuYW1lKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQorCiAgICAgc3VibmFtZSA9IGdldF9zdWJuYW1lKGZ1bGxuYW1lKTsKLQotICAgIGxlbiA9IG1ha2VfZmlsZW5hbWUoc2VsZi0+cHJlZml4LCBzdWJuYW1lLCBwYXRoLCBzaXplb2YocGF0aCkpOwotICAgIGlmIChsZW4gPCAwKQorICAgIGlmIChzdWJuYW1lID09IE5VTEwpCiAgICAgICAgIHJldHVybiBOVUxMOwogCi0gICAgaWYgKG1pID09IE1JX1BBQ0tBR0UpIHsKLSAgICAgICAgcGF0aFtsZW5dID0gU0VQOwotICAgICAgICBzdHJjcHkocGF0aCArIGxlbiArIDEsICJfX2luaXRfXy5weSIpOwotICAgIH0KLSAgICBlbHNlCi0gICAgICAgIHN0cmNweShwYXRoICsgbGVuLCAiLnB5Iik7CisgICAgcGF0aCA9IG1ha2VfZmlsZW5hbWUoc2VsZi0+cHJlZml4LCBzdWJuYW1lKTsKKyAgICBQeV9ERUNSRUYoc3VibmFtZSk7CisgICAgaWYgKHBhdGggPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIE5VTEw7CiAKLSAgICB0b2NfZW50cnkgPSBQeURpY3RfR2V0SXRlbVN0cmluZyhzZWxmLT5maWxlcywgcGF0aCk7CisgICAgaWYgKG1pID09IE1JX1BBQ0tBR0UpCisgICAgICAgIGZ1bGxwYXRoID0gUHlVbmljb2RlX0Zyb21Gb3JtYXQoIiVVJWNfX2luaXRfXy5weSIsIHBhdGgsIFNFUCk7CisgICAgZWxzZQorICAgICAgICBmdWxscGF0aCA9IFB5VW5pY29kZV9Gcm9tRm9ybWF0KCIlVS5weSIsIHBhdGgpOworICAgIFB5X0RFQ1JFRihwYXRoKTsKKyAgICBpZiAoZnVsbHBhdGggPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICB0b2NfZW50cnkgPSBQeURpY3RfR2V0SXRlbShzZWxmLT5maWxlcywgZnVsbHBhdGgpOworICAgIFB5X0RFQ1JFRihmdWxscGF0aCk7CiAgICAgaWYgKHRvY19lbnRyeSAhPSBOVUxMKSB7CiAgICAgICAgIFB5T2JqZWN0ICpyZXMsICpieXRlczsKICAgICAgICAgYnl0ZXMgPSBnZXRfZGF0YShzZWxmLT5hcmNoaXZlLCB0b2NfZW50cnkpOwpAQCAtNzA4LDUwICs3MjMsNDEgQEAKICAgIGRhdGFfc2l6ZSBhbmQgZmlsZV9vZmZzZXQgYXJlIDAuCiAqLwogc3RhdGljIFB5T2JqZWN0ICoKLXJlYWRfZGlyZWN0b3J5KFB5T2JqZWN0ICphcmNoaXZlX29iaikKK3JlYWRfZGlyZWN0b3J5KFB5T2JqZWN0ICphcmNoaXZlKQogewotICAgIC8qIEZJWE1FOiB3b3JrIG9uIFB5X1VOSUNPREUqIGluc3RlYWQgb2YgY2hhciogKi8KICAgICBQeU9iamVjdCAqZmlsZXMgPSBOVUxMOwogICAgIEZJTEUgKmZwOwogICAgIHVuc2lnbmVkIHNob3J0IGZsYWdzOwogICAgIHNob3J0IGNvbXByZXNzLCB0aW1lLCBkYXRlLCBuYW1lX3NpemU7CiAgICAgbG9uZyBjcmMsIGRhdGFfc2l6ZSwgZmlsZV9zaXplLCBoZWFkZXJfc2l6ZTsKICAgICBQeV9zc2l6ZV90IGZpbGVfb2Zmc2V0LCBoZWFkZXJfcG9zaXRpb24sIGhlYWRlcl9vZmZzZXQ7Ci0gICAgbG9uZyBpLCBsLCBjb3VudDsKLSAgICBzaXplX3QgbGVuZ3RoOwotICAgIFB5X1VOSUNPREUgcGF0aFtNQVhQQVRITEVOICsgNV07CisgICAgbG9uZyBsLCBjb3VudDsKKyAgICBQeV9zc2l6ZV90IGk7CiAgICAgY2hhciBuYW1lW01BWFBBVEhMRU4gKyA1XTsKICAgICBQeU9iamVjdCAqbmFtZW9iaiA9IE5VTEw7CiAgICAgY2hhciAqcCwgZW5kb2ZfY2VudHJhbF9kaXJbMjJdOwogICAgIFB5X3NzaXplX3QgYXJjX29mZnNldDsgIC8qIEFic29sdXRlIG9mZnNldCB0byBzdGFydCBvZiB0aGUgemlwLWFyY2hpdmUuICovCi0gICAgUHlPYmplY3QgKnBhdGhvYmo7CisgICAgUHlPYmplY3QgKnBhdGg7CiAgICAgY29uc3QgY2hhciAqY2hhcnNldDsKICAgICBpbnQgYm9vdHN0cmFwOwogCi0gICAgaWYgKFB5VW5pY29kZV9HRVRfU0laRShhcmNoaXZlX29iaikgPiBNQVhQQVRITEVOKSB7Ci0gICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19PdmVyZmxvd0Vycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgIlppcCBwYXRoIG5hbWUgaXMgdG9vIGxvbmciKTsKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgfQotICAgIFB5X1VOSUNPREVfc3RyY3B5KHBhdGgsIFB5VW5pY29kZV9BU19VTklDT0RFKGFyY2hpdmVfb2JqKSk7Ci0KLSAgICBmcCA9IF9QeV9mb3BlbihhcmNoaXZlX29iaiwgInJiIik7CisgICAgZnAgPSBfUHlfZm9wZW4oYXJjaGl2ZSwgInJiIik7CiAgICAgaWYgKGZwID09IE5VTEwpIHsKICAgICAgICAgaWYgKCFQeUVycl9PY2N1cnJlZCgpKQotICAgICAgICAgICAgUHlFcnJfRm9ybWF0KFppcEltcG9ydEVycm9yLCAiY2FuJ3Qgb3BlbiBaaXAgZmlsZTogJyVVJyIsIGFyY2hpdmVfb2JqKTsKKyAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChaaXBJbXBvcnRFcnJvciwgImNhbid0IG9wZW4gWmlwIGZpbGU6ICVSIiwgYXJjaGl2ZSk7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KICAgICBmc2VlayhmcCwgLTIyLCBTRUVLX0VORCk7CiAgICAgaGVhZGVyX3Bvc2l0aW9uID0gZnRlbGwoZnApOwogICAgIGlmIChmcmVhZChlbmRvZl9jZW50cmFsX2RpciwgMSwgMjIsIGZwKSAhPSAyMikgewogICAgICAgICBmY2xvc2UoZnApOwotICAgICAgICBQeUVycl9Gb3JtYXQoWmlwSW1wb3J0RXJyb3IsICJjYW4ndCByZWFkIFppcCBmaWxlOiAnJVUnIiwgYXJjaGl2ZV9vYmopOworICAgICAgICBQeUVycl9Gb3JtYXQoWmlwSW1wb3J0RXJyb3IsICJjYW4ndCByZWFkIFppcCBmaWxlOiAlUiIsIGFyY2hpdmUpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAgICAgaWYgKGdldF9sb25nKCh1bnNpZ25lZCBjaGFyICopZW5kb2ZfY2VudHJhbF9kaXIpICE9IDB4MDYwNTRCNTApIHsKICAgICAgICAgLyogQmFkOiBFbmQgb2YgQ2VudHJhbCBEaXIgc2lnbmF0dXJlICovCiAgICAgICAgIGZjbG9zZShmcCk7Ci0gICAgICAgIFB5RXJyX0Zvcm1hdChaaXBJbXBvcnRFcnJvciwgIm5vdCBhIFppcCBmaWxlOiAnJVUnIiwgYXJjaGl2ZV9vYmopOworICAgICAgICBQeUVycl9Gb3JtYXQoWmlwSW1wb3J0RXJyb3IsICJub3QgYSBaaXAgZmlsZTogJVIiLCBhcmNoaXZlKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogCkBAIC03NjQsOSArNzcwLDYgQEAKICAgICBpZiAoZmlsZXMgPT0gTlVMTCkKICAgICAgICAgZ290byBlcnJvcjsKIAotICAgIGxlbmd0aCA9IFB5X1VOSUNPREVfc3RybGVuKHBhdGgpOwotICAgIHBhdGhbbGVuZ3RoXSA9IFNFUDsKLQogICAgIC8qIFN0YXJ0IG9mIENlbnRyYWwgRGlyZWN0b3J5ICovCiAgICAgY291bnQgPSAwOwogICAgIGZvciAoOzspIHsKQEAgLTc5NSw3ICs3OTgsNyBAQAogICAgICAgICAgICAgbmFtZV9zaXplID0gTUFYUEFUSExFTjsKIAogICAgICAgICBwID0gbmFtZTsKLSAgICAgICAgZm9yIChpID0gMDsgaSA8IG5hbWVfc2l6ZTsgaSsrKSB7CisgICAgICAgIGZvciAoaSA9IDA7IGkgPCAoUHlfc3NpemVfdCluYW1lX3NpemU7IGkrKykgewogICAgICAgICAgICAgKnAgPSAoY2hhcilnZXRjKGZwKTsKICAgICAgICAgICAgIGlmICgqcCA9PSAnLycpCiAgICAgICAgICAgICAgICAgKnAgPSBTRVA7CkBAIC04MjAsNiArODIzLDggQEAKICAgICAgICAgZWxzZQogICAgICAgICAgICAgY2hhcnNldCA9ICJjcDQzNyI7CiAgICAgICAgIG5hbWVvYmogPSBQeVVuaWNvZGVfRGVjb2RlKG5hbWUsIG5hbWVfc2l6ZSwgY2hhcnNldCwgTlVMTCk7CisgICAgICAgIGlmIChQeVVuaWNvZGVfUkVBRFkobmFtZW9iaikgPT0gLTEpCisgICAgICAgICAgICBnb3RvIGVycm9yOwogICAgICAgICBpZiAobmFtZW9iaiA9PSBOVUxMKSB7CiAgICAgICAgICAgICBpZiAoYm9vdHN0cmFwKQogICAgICAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19Ob3RJbXBsZW1lbnRlZEVycm9yLApAQCAtODI4LDEyICs4MzMsMTAgQEAKICAgICAgICAgICAgICAgICAgICAgUFlfTUFKT1JfVkVSU0lPTiwgUFlfTUlOT1JfVkVSU0lPTik7CiAgICAgICAgICAgICBnb3RvIGVycm9yOwogICAgICAgICB9Ci0gICAgICAgIFB5X1VOSUNPREVfc3RybmNweShwYXRoICsgbGVuZ3RoICsgMSwgUHlVbmljb2RlX0FTX1VOSUNPREUobmFtZW9iaiksIE1BWFBBVEhMRU4gLSBsZW5ndGggLSAxKTsKLQotICAgICAgICBwYXRob2JqID0gUHlVbmljb2RlX0Zyb21Vbmljb2RlKHBhdGgsIFB5X1VOSUNPREVfc3RybGVuKHBhdGgpKTsKLSAgICAgICAgaWYgKHBhdGhvYmogPT0gTlVMTCkKKyAgICAgICAgcGF0aCA9IFB5VW5pY29kZV9Gcm9tRm9ybWF0KCIlVSVjJVUiLCBhcmNoaXZlLCBTRVAsIG5hbWVvYmopOworICAgICAgICBpZiAocGF0aCA9PSBOVUxMKQogICAgICAgICAgICAgZ290byBlcnJvcjsKLSAgICAgICAgdCA9IFB5X0J1aWxkVmFsdWUoIk5obGxuaGhsIiwgcGF0aG9iaiwgY29tcHJlc3MsIGRhdGFfc2l6ZSwKKyAgICAgICAgdCA9IFB5X0J1aWxkVmFsdWUoIk5obGxuaGhsIiwgcGF0aCwgY29tcHJlc3MsIGRhdGFfc2l6ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZV9zaXplLCBmaWxlX29mZnNldCwgdGltZSwgZGF0ZSwgY3JjKTsKICAgICAgICAgaWYgKHQgPT0gTlVMTCkKICAgICAgICAgICAgIGdvdG8gZXJyb3I7CkBAIC04NDYsOCArODQ5LDggQEAKICAgICB9CiAgICAgZmNsb3NlKGZwKTsKICAgICBpZiAoUHlfVmVyYm9zZUZsYWcpCi0gICAgICAgIFB5U3lzX0Zvcm1hdFN0ZGVycigiIyB6aXBpbXBvcnQ6IGZvdW5kICVsZCBuYW1lcyBpbiAlVVxuIiwKLSAgICAgICAgICAgIGNvdW50LCBhcmNoaXZlX29iaik7CisgICAgICAgIFB5U3lzX0Zvcm1hdFN0ZGVycigiIyB6aXBpbXBvcnQ6IGZvdW5kICVsZCBuYW1lcyBpbiAlUlxuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvdW50LCBhcmNoaXZlKTsKICAgICByZXR1cm4gZmlsZXM7CiBlcnJvcjoKICAgICBmY2xvc2UoZnApOwpAQCAtODY1LDYgKzg2OCw3IEBACiAgICAgc3RhdGljIGludCBpbXBvcnRpbmdfemxpYiA9IDA7CiAgICAgUHlPYmplY3QgKnpsaWI7CiAgICAgUHlPYmplY3QgKmRlY29tcHJlc3M7CisgICAgX1B5X0lERU5USUZJRVIoZGVjb21wcmVzcyk7CiAKICAgICBpZiAoaW1wb3J0aW5nX3psaWIgIT0gMCkKICAgICAgICAgLyogU29tZW9uZSBoYXMgYSB6bGliLnB5W2NvXSBpbiB0aGVpciBaaXAgZmlsZTsKQEAgLTg3NCw4ICs4NzgsOCBAQAogICAgIHpsaWIgPSBQeUltcG9ydF9JbXBvcnRNb2R1bGVOb0Jsb2NrKCJ6bGliIik7CiAgICAgaW1wb3J0aW5nX3psaWIgPSAwOwogICAgIGlmICh6bGliICE9IE5VTEwpIHsKLSAgICAgICAgZGVjb21wcmVzcyA9IFB5T2JqZWN0X0dldEF0dHJTdHJpbmcoemxpYiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlY29tcHJlc3MiKTsKKyAgICAgICAgZGVjb21wcmVzcyA9IF9QeU9iamVjdF9HZXRBdHRySWQoemxpYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJlB5SWRfZGVjb21wcmVzcyk7CiAgICAgICAgIFB5X0RFQ1JFRih6bGliKTsKICAgICB9CiAgICAgZWxzZSB7CkBAIC0xMDAxLDcgKzEwMDUsNyBAQAogICAgdG8gLnB5IGlmIGF2YWlsYWJsZSBhbmQgd2UgZG9uJ3Qgd2FudCB0byBtYXNrIG90aGVyIGVycm9ycykuCiAgICBSZXR1cm5zIGEgbmV3IHJlZmVyZW5jZS4gKi8KIHN0YXRpYyBQeU9iamVjdCAqCi11bm1hcnNoYWxfY29kZShjaGFyICpwYXRobmFtZSwgUHlPYmplY3QgKmRhdGEsIHRpbWVfdCBtdGltZSkKK3VubWFyc2hhbF9jb2RlKFB5T2JqZWN0ICpwYXRobmFtZSwgUHlPYmplY3QgKmRhdGEsIHRpbWVfdCBtdGltZSkKIHsKICAgICBQeU9iamVjdCAqY29kZTsKICAgICBjaGFyICpidWYgPSBQeUJ5dGVzX0FzU3RyaW5nKGRhdGEpOwpAQCAtMTAxNSw4ICsxMDE5LDggQEAKIAogICAgIGlmIChnZXRfbG9uZygodW5zaWduZWQgY2hhciAqKWJ1ZikgIT0gUHlJbXBvcnRfR2V0TWFnaWNOdW1iZXIoKSkgewogICAgICAgICBpZiAoUHlfVmVyYm9zZUZsYWcpCi0gICAgICAgICAgICBQeVN5c19Xcml0ZVN0ZGVycigiIyAlcyBoYXMgYmFkIG1hZ2ljXG4iLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aG5hbWUpOworICAgICAgICAgICAgUHlTeXNfRm9ybWF0U3RkZXJyKCIjICVSIGhhcyBiYWQgbWFnaWNcbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aG5hbWUpOwogICAgICAgICBQeV9JTkNSRUYoUHlfTm9uZSk7CiAgICAgICAgIHJldHVybiBQeV9Ob25lOyAgLyogc2lnbmFsIGNhbGxlciB0byB0cnkgYWx0ZXJuYXRpdmUgKi8KICAgICB9CkBAIC0xMDI0LDE5ICsxMDI4LDIxIEBACiAgICAgaWYgKG10aW1lICE9IDAgJiYgIWVxX210aW1lKGdldF9sb25nKCh1bnNpZ25lZCBjaGFyICopYnVmICsgNCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG10aW1lKSkgewogICAgICAgICBpZiAoUHlfVmVyYm9zZUZsYWcpCi0gICAgICAgICAgICBQeVN5c19Xcml0ZVN0ZGVycigiIyAlcyBoYXMgYmFkIG10aW1lXG4iLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aG5hbWUpOworICAgICAgICAgICAgUHlTeXNfRm9ybWF0U3RkZXJyKCIjICVSIGhhcyBiYWQgbXRpbWVcbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aG5hbWUpOwogICAgICAgICBQeV9JTkNSRUYoUHlfTm9uZSk7CiAgICAgICAgIHJldHVybiBQeV9Ob25lOyAgLyogc2lnbmFsIGNhbGxlciB0byB0cnkgYWx0ZXJuYXRpdmUgKi8KICAgICB9CiAKLSAgICBjb2RlID0gUHlNYXJzaGFsX1JlYWRPYmplY3RGcm9tU3RyaW5nKGJ1ZiArIDgsIHNpemUgLSA4KTsKKyAgICAvKiBYWFggdGhlIHB5YydzIHNpemUgZmllbGQgaXMgaWdub3JlZDsgdGltZXN0YW1wIGNvbGxpc2lvbnMgYXJlIHByb2JhYmx5CisgICAgICAgdW5pbXBvcnRhbnQgd2l0aCB6aXAgZmlsZXMuICovCisgICAgY29kZSA9IFB5TWFyc2hhbF9SZWFkT2JqZWN0RnJvbVN0cmluZyhidWYgKyAxMiwgc2l6ZSAtIDEyKTsKICAgICBpZiAoY29kZSA9PSBOVUxMKQogICAgICAgICByZXR1cm4gTlVMTDsKICAgICBpZiAoIVB5Q29kZV9DaGVjayhjb2RlKSkgewogICAgICAgICBQeV9ERUNSRUYoY29kZSk7CiAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsCi0gICAgICAgICAgICAgImNvbXBpbGVkIG1vZHVsZSAlcyBpcyBub3QgYSBjb2RlIG9iamVjdCIsCisgICAgICAgICAgICAgImNvbXBpbGVkIG1vZHVsZSAlUiBpcyBub3QgYSBjb2RlIG9iamVjdCIsCiAgICAgICAgICAgICAgcGF0aG5hbWUpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CkBAIC0xMDUwLDExICsxMDU2LDEyIEBACiBzdGF0aWMgUHlPYmplY3QgKgogbm9ybWFsaXplX2xpbmVfZW5kaW5ncyhQeU9iamVjdCAqc291cmNlKQogewotICAgIGNoYXIgKmJ1ZiwgKnEsICpwID0gUHlCeXRlc19Bc1N0cmluZyhzb3VyY2UpOworICAgIGNoYXIgKmJ1ZiwgKnEsICpwOwogICAgIFB5T2JqZWN0ICpmaXhlZF9zb3VyY2U7CiAgICAgaW50IGxlbiA9IDA7CiAKLSAgICBpZiAoIXApIHsKKyAgICBwID0gUHlCeXRlc19Bc1N0cmluZyhzb3VyY2UpOworICAgIGlmIChwID09IE5VTEwpIHsKICAgICAgICAgcmV0dXJuIFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUoIlxuXDAiLCAyKTsKICAgICB9CiAKQEAgLTEwODcsMTYgKzEwOTQsMjQgQEAKIC8qIEdpdmVuIGEgc3RyaW5nIGJ1ZmZlciBjb250YWluaW5nIFB5dGhvbiBzb3VyY2UgY29kZSwgY29tcGlsZSBpdAogICAgcmV0dXJuIGFuZCByZXR1cm4gYSBjb2RlIG9iamVjdCBhcyBhIG5ldyByZWZlcmVuY2UuICovCiBzdGF0aWMgUHlPYmplY3QgKgotY29tcGlsZV9zb3VyY2UoY2hhciAqcGF0aG5hbWUsIFB5T2JqZWN0ICpzb3VyY2UpCitjb21waWxlX3NvdXJjZShQeU9iamVjdCAqcGF0aG5hbWUsIFB5T2JqZWN0ICpzb3VyY2UpCiB7Ci0gICAgUHlPYmplY3QgKmNvZGUsICpmaXhlZF9zb3VyY2U7CisgICAgUHlPYmplY3QgKmNvZGUsICpmaXhlZF9zb3VyY2UsICpwYXRoYnl0ZXM7CiAKLSAgICBmaXhlZF9zb3VyY2UgPSBub3JtYWxpemVfbGluZV9lbmRpbmdzKHNvdXJjZSk7Ci0gICAgaWYgKGZpeGVkX3NvdXJjZSA9PSBOVUxMKQorICAgIHBhdGhieXRlcyA9IFB5VW5pY29kZV9FbmNvZGVGU0RlZmF1bHQocGF0aG5hbWUpOworICAgIGlmIChwYXRoYnl0ZXMgPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKLSAgICBjb2RlID0gUHlfQ29tcGlsZVN0cmluZyhQeUJ5dGVzX0FzU3RyaW5nKGZpeGVkX3NvdXJjZSksIHBhdGhuYW1lLAorICAgIGZpeGVkX3NvdXJjZSA9IG5vcm1hbGl6ZV9saW5lX2VuZGluZ3Moc291cmNlKTsKKyAgICBpZiAoZml4ZWRfc291cmNlID09IE5VTEwpIHsKKyAgICAgICAgUHlfREVDUkVGKHBhdGhieXRlcyk7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKworICAgIGNvZGUgPSBQeV9Db21waWxlU3RyaW5nKFB5Qnl0ZXNfQXNTdHJpbmcoZml4ZWRfc291cmNlKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeUJ5dGVzX0FzU3RyaW5nKHBhdGhieXRlcyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlfZmlsZV9pbnB1dCk7CisgICAgUHlfREVDUkVGKHBhdGhieXRlcyk7CiAgICAgUHlfREVDUkVGKGZpeGVkX3NvdXJjZSk7CiAgICAgcmV0dXJuIGNvZGU7CiB9CkBAIC0xMTI1LDE0ICsxMTQwLDIyIEBACiAgICBtb2RpZmljYXRpb24gdGltZSBvZiB0aGUgbWF0Y2hpbmcgLnB5IGZpbGUsIG9yIDAgaWYgbm8gc291cmNlCiAgICBpcyBhdmFpbGFibGUuICovCiBzdGF0aWMgdGltZV90Ci1nZXRfbXRpbWVfb2Zfc291cmNlKFppcEltcG9ydGVyICpzZWxmLCBjaGFyICpwYXRoKQorZ2V0X210aW1lX29mX3NvdXJjZShaaXBJbXBvcnRlciAqc2VsZiwgUHlPYmplY3QgKnBhdGgpCiB7Ci0gICAgUHlPYmplY3QgKnRvY19lbnRyeTsKLSAgICB0aW1lX3QgbXRpbWUgPSAwOwotICAgIFB5X3NzaXplX3QgbGFzdGNoYXIgPSBzdHJsZW4ocGF0aCkgLSAxOwotICAgIGNoYXIgc2F2ZWNoYXIgPSBwYXRoW2xhc3RjaGFyXTsKLSAgICBwYXRoW2xhc3RjaGFyXSA9ICdcMCc7ICAvKiBzdHJpcCAnYycgb3IgJ28nIGZyb20gKi5weVtjb10gKi8KLSAgICB0b2NfZW50cnkgPSBQeURpY3RfR2V0SXRlbVN0cmluZyhzZWxmLT5maWxlcywgcGF0aCk7CisgICAgUHlPYmplY3QgKnRvY19lbnRyeSwgKnN0cmlwcGVkOworICAgIHRpbWVfdCBtdGltZTsKKworICAgIC8qIHN0cmlwICdjJyBvciAnbycgZnJvbSAqLnB5W2NvXSAqLworICAgIGlmIChQeVVuaWNvZGVfUkVBRFkocGF0aCkgPT0gLTEpCisgICAgICAgIHJldHVybiAodGltZV90KS0xOworICAgIHN0cmlwcGVkID0gUHlVbmljb2RlX0Zyb21LaW5kQW5kRGF0YShQeVVuaWNvZGVfS0lORChwYXRoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0RBVEEocGF0aCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9HRVRfTEVOR1RIKHBhdGgpIC0gMSk7CisgICAgaWYgKHN0cmlwcGVkID09IE5VTEwpCisgICAgICAgIHJldHVybiAodGltZV90KS0xOworCisgICAgdG9jX2VudHJ5ID0gUHlEaWN0X0dldEl0ZW0oc2VsZi0+ZmlsZXMsIHN0cmlwcGVkKTsKKyAgICBQeV9ERUNSRUYoc3RyaXBwZWQpOwogICAgIGlmICh0b2NfZW50cnkgIT0gTlVMTCAmJiBQeVR1cGxlX0NoZWNrKHRvY19lbnRyeSkgJiYKICAgICAgICAgUHlUdXBsZV9TaXplKHRvY19lbnRyeSkgPT0gOCkgewogICAgICAgICAvKiBmZXRjaCB0aGUgdGltZSBzdGFtcCBvZiB0aGUgLnB5IGZpbGUgZm9yIGNvbXBhcmlzb24KQEAgLTExNDEsOCArMTE2NCw4IEBACiAgICAgICAgIHRpbWUgPSBQeUxvbmdfQXNMb25nKFB5VHVwbGVfR2V0SXRlbSh0b2NfZW50cnksIDUpKTsKICAgICAgICAgZGF0ZSA9IFB5TG9uZ19Bc0xvbmcoUHlUdXBsZV9HZXRJdGVtKHRvY19lbnRyeSwgNikpOwogICAgICAgICBtdGltZSA9IHBhcnNlX2Rvc3RpbWUodGltZSwgZGF0ZSk7Ci0gICAgfQotICAgIHBhdGhbbGFzdGNoYXJdID0gc2F2ZWNoYXI7CisgICAgfSBlbHNlCisgICAgICAgIG10aW1lID0gMDsKICAgICByZXR1cm4gbXRpbWU7CiB9CiAKQEAgLTExNTIsMjQgKzExNzUsMTcgQEAKIGdldF9jb2RlX2Zyb21fZGF0YShaaXBJbXBvcnRlciAqc2VsZiwgaW50IGlzcGFja2FnZSwgaW50IGlzYnl0ZWNvZGUsCiAgICAgICAgICAgICAgICAgICAgdGltZV90IG10aW1lLCBQeU9iamVjdCAqdG9jX2VudHJ5KQogewotICAgIFB5T2JqZWN0ICpkYXRhLCAqY29kZTsKLSAgICBQeU9iamVjdCAqbW9kcGF0aDsKKyAgICBQeU9iamVjdCAqZGF0YSwgKm1vZHBhdGgsICpjb2RlOwogCiAgICAgZGF0YSA9IGdldF9kYXRhKHNlbGYtPmFyY2hpdmUsIHRvY19lbnRyeSk7CiAgICAgaWYgKGRhdGEgPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKLSAgICBtb2RwYXRoID0gUHlVbmljb2RlX0VuY29kZUZTRGVmYXVsdChQeVR1cGxlX0dldEl0ZW0odG9jX2VudHJ5LCAwKSk7Ci0gICAgaWYgKG1vZHBhdGggPT0gTlVMTCkgewotICAgICAgICBQeV9ERUNSRUYoZGF0YSk7Ci0gICAgICAgIHJldHVybiBOVUxMOwotICAgIH0KLQorICAgIG1vZHBhdGggPSBQeVR1cGxlX0dldEl0ZW0odG9jX2VudHJ5LCAwKTsKICAgICBpZiAoaXNieXRlY29kZSkKLSAgICAgICAgY29kZSA9IHVubWFyc2hhbF9jb2RlKFB5Qnl0ZXNfQVNfU1RSSU5HKG1vZHBhdGgpLCBkYXRhLCBtdGltZSk7CisgICAgICAgIGNvZGUgPSB1bm1hcnNoYWxfY29kZShtb2RwYXRoLCBkYXRhLCBtdGltZSk7CiAgICAgZWxzZQotICAgICAgICBjb2RlID0gY29tcGlsZV9zb3VyY2UoUHlCeXRlc19BU19TVFJJTkcobW9kcGF0aCksIGRhdGEpOwotICAgIFB5X0RFQ1JFRihtb2RwYXRoKTsKKyAgICAgICAgY29kZSA9IGNvbXBpbGVfc291cmNlKG1vZHBhdGgsIGRhdGEpOwogICAgIFB5X0RFQ1JFRihkYXRhKTsKICAgICByZXR1cm4gY29kZTsKIH0KQEAgLTExNzcsMzUgKzExOTMsNDUgQEAKIC8qIEdldCB0aGUgY29kZSBvYmplY3QgYXNzb2NpYXRlZCB3aXRoIHRoZSBtb2R1bGUgc3BlY2lmaWVkIGJ5CiAgICAnZnVsbG5hbWUnLiAqLwogc3RhdGljIFB5T2JqZWN0ICoKLWdldF9tb2R1bGVfY29kZShaaXBJbXBvcnRlciAqc2VsZiwgY2hhciAqZnVsbG5hbWUsCitnZXRfbW9kdWxlX2NvZGUoWmlwSW1wb3J0ZXIgKnNlbGYsIFB5T2JqZWN0ICpmdWxsbmFtZSwKICAgICAgICAgICAgICAgICBpbnQgKnBfaXNwYWNrYWdlLCBQeU9iamVjdCAqKnBfbW9kcGF0aCkKIHsKLSAgICBQeU9iamVjdCAqdG9jX2VudHJ5OwotICAgIGNoYXIgKnN1Ym5hbWUsIHBhdGhbTUFYUEFUSExFTiArIDFdOwotICAgIGludCBsZW47CisgICAgUHlPYmplY3QgKmNvZGUgPSBOVUxMLCAqdG9jX2VudHJ5LCAqc3VibmFtZTsKKyAgICBQeU9iamVjdCAqcGF0aCwgKmZ1bGxwYXRoID0gTlVMTDsKICAgICBzdHJ1Y3Qgc3RfemlwX3NlYXJjaG9yZGVyICp6c287CiAKICAgICBzdWJuYW1lID0gZ2V0X3N1Ym5hbWUoZnVsbG5hbWUpOworICAgIGlmIChzdWJuYW1lID09IE5VTEwpCisgICAgICAgIHJldHVybiBOVUxMOwogCi0gICAgbGVuID0gbWFrZV9maWxlbmFtZShzZWxmLT5wcmVmaXgsIHN1Ym5hbWUsIHBhdGgsIHNpemVvZihwYXRoKSk7Ci0gICAgaWYgKGxlbiA8IDApCisgICAgcGF0aCA9IG1ha2VfZmlsZW5hbWUoc2VsZi0+cHJlZml4LCBzdWJuYW1lKTsKKyAgICBQeV9ERUNSRUYoc3VibmFtZSk7CisgICAgaWYgKHBhdGggPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKICAgICBmb3IgKHpzbyA9IHppcF9zZWFyY2hvcmRlcjsgKnpzby0+c3VmZml4OyB6c28rKykgewotICAgICAgICBQeU9iamVjdCAqY29kZSA9IE5VTEw7CisgICAgICAgIGNvZGUgPSBOVUxMOwogCi0gICAgICAgIHN0cmNweShwYXRoICsgbGVuLCB6c28tPnN1ZmZpeCk7CisgICAgICAgIGZ1bGxwYXRoID0gUHlVbmljb2RlX0Zyb21Gb3JtYXQoIiVVJXMiLCBwYXRoLCB6c28tPnN1ZmZpeCk7CisgICAgICAgIGlmIChmdWxscGF0aCA9PSBOVUxMKQorICAgICAgICAgICAgZ290byBleGl0OworCiAgICAgICAgIGlmIChQeV9WZXJib3NlRmxhZyA+IDEpCi0gICAgICAgICAgICBQeVN5c19Gb3JtYXRTdGRlcnIoIiMgdHJ5aW5nICVVJWMlc1xuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLT5hcmNoaXZlLCAoaW50KVNFUCwgcGF0aCk7Ci0gICAgICAgIHRvY19lbnRyeSA9IFB5RGljdF9HZXRJdGVtU3RyaW5nKHNlbGYtPmZpbGVzLCBwYXRoKTsKKyAgICAgICAgICAgIFB5U3lzX0Zvcm1hdFN0ZGVycigiIyB0cnlpbmcgJVUlYyVVXG4iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYtPmFyY2hpdmUsIChpbnQpU0VQLCBmdWxscGF0aCk7CisgICAgICAgIHRvY19lbnRyeSA9IFB5RGljdF9HZXRJdGVtKHNlbGYtPmZpbGVzLCBmdWxscGF0aCk7CiAgICAgICAgIGlmICh0b2NfZW50cnkgIT0gTlVMTCkgewogICAgICAgICAgICAgdGltZV90IG10aW1lID0gMDsKICAgICAgICAgICAgIGludCBpc3BhY2thZ2UgPSB6c28tPnR5cGUgJiBJU19QQUNLQUdFOwogICAgICAgICAgICAgaW50IGlzYnl0ZWNvZGUgPSB6c28tPnR5cGUgJiBJU19CWVRFQ09ERTsKIAotICAgICAgICAgICAgaWYgKGlzYnl0ZWNvZGUpCi0gICAgICAgICAgICAgICAgbXRpbWUgPSBnZXRfbXRpbWVfb2Zfc291cmNlKHNlbGYsIHBhdGgpOworICAgICAgICAgICAgaWYgKGlzYnl0ZWNvZGUpIHsKKyAgICAgICAgICAgICAgICBtdGltZSA9IGdldF9tdGltZV9vZl9zb3VyY2Uoc2VsZiwgZnVsbHBhdGgpOworICAgICAgICAgICAgICAgIGlmIChtdGltZSA9PSAodGltZV90KS0xICYmIFB5RXJyX09jY3VycmVkKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgZ290byBleGl0OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIFB5X0NMRUFSKGZ1bGxwYXRoKTsKICAgICAgICAgICAgIGlmIChwX2lzcGFja2FnZSAhPSBOVUxMKQogICAgICAgICAgICAgICAgICpwX2lzcGFja2FnZSA9IGlzcGFja2FnZTsKICAgICAgICAgICAgIGNvZGUgPSBnZXRfY29kZV9mcm9tX2RhdGEoc2VsZiwgaXNwYWNrYWdlLApAQCAtMTIyMSwxMSArMTI0NywxNiBAQAogICAgICAgICAgICAgICAgICpwX21vZHBhdGggPSBQeVR1cGxlX0dldEl0ZW0odG9jX2VudHJ5LCAwKTsKICAgICAgICAgICAgICAgICBQeV9JTkNSRUYoKnBfbW9kcGF0aCk7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICByZXR1cm4gY29kZTsKKyAgICAgICAgICAgIGdvdG8gZXhpdDsKICAgICAgICAgfQorICAgICAgICBlbHNlCisgICAgICAgICAgICBQeV9DTEVBUihmdWxscGF0aCk7CiAgICAgfQotICAgIFB5RXJyX0Zvcm1hdChaaXBJbXBvcnRFcnJvciwgImNhbid0IGZpbmQgbW9kdWxlICclcyciLCBmdWxsbmFtZSk7Ci0gICAgcmV0dXJuIE5VTEw7CisgICAgUHlFcnJfRm9ybWF0KFppcEltcG9ydEVycm9yLCAiY2FuJ3QgZmluZCBtb2R1bGUgJVIiLCBmdWxsbmFtZSk7CitleGl0OgorICAgIFB5X0RFQ1JFRihwYXRoKTsKKyAgICBQeV9YREVDUkVGKGZ1bGxwYXRoKTsKKyAgICByZXR1cm4gY29kZTsKIH0KIAogCmRpZmYgLS1naXQgYS9Nb2R1bGVzL3psaWJtb2R1bGUuYyBiL01vZHVsZXMvemxpYm1vZHVsZS5jCmluZGV4IGExZTYwNWIuLmE2ZGEwNTYgMTAwNjQ0Ci0tLSBhL01vZHVsZXMvemxpYm1vZHVsZS5jCisrKyBiL01vZHVsZXMvemxpYm1vZHVsZS5jCkBAIC00Myw2ICs0Myw3IEBACiAgICAgel9zdHJlYW0genN0OwogICAgIFB5T2JqZWN0ICp1bnVzZWRfZGF0YTsKICAgICBQeU9iamVjdCAqdW5jb25zdW1lZF90YWlsOworICAgIGNoYXIgZW9mOwogICAgIGludCBpc19pbml0aWFsaXNlZDsKICAgICAjaWZkZWYgV0lUSF9USFJFQUQKICAgICAgICAgUHlUaHJlYWRfdHlwZV9sb2NrIGxvY2s7CkBAIC05NSw2ICs5Niw3IEBACiAgICAgc2VsZiA9IFB5T2JqZWN0X05ldyhjb21wb2JqZWN0LCB0eXBlKTsKICAgICBpZiAoc2VsZiA9PSBOVUxMKQogICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBzZWxmLT5lb2YgPSAwOwogICAgIHNlbGYtPmlzX2luaXRpYWxpc2VkID0gMDsKICAgICBzZWxmLT51bnVzZWRfZGF0YSA9IFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUoIiIsIDApOwogICAgIGlmIChzZWxmLT51bnVzZWRfZGF0YSA9PSBOVUxMKSB7CkBAIC0yOTcsNyArMjk5LDcgQEAKIAogICAgIGVyciA9IGluZmxhdGVFbmQoJnpzdCk7CiAgICAgaWYgKGVyciAhPSBaX09LKSB7Ci0gICAgICAgIHpsaWJfZXJyb3IoenN0LCBlcnIsICJ3aGlsZSBmaW5pc2hpbmcgZGF0YSBkZWNvbXByZXNzaW9uIik7CisgICAgICAgIHpsaWJfZXJyb3IoenN0LCBlcnIsICJ3aGlsZSBmaW5pc2hpbmcgZGVjb21wcmVzc2lvbiIpOwogICAgICAgICBnb3RvIGVycm9yOwogICAgIH0KIApAQCAtNDgyLDcgKzQ4NCw3IEBACiAgICAgKi8KIAogICAgIGlmIChlcnIgIT0gWl9PSyAmJiBlcnIgIT0gWl9CVUZfRVJST1IpIHsKLSAgICAgICAgemxpYl9lcnJvcihzZWxmLT56c3QsIGVyciwgIndoaWxlIGNvbXByZXNzaW5nIik7CisgICAgICAgIHpsaWJfZXJyb3Ioc2VsZi0+enN0LCBlcnIsICJ3aGlsZSBjb21wcmVzc2luZyBkYXRhIik7CiAgICAgICAgIFB5X0RFQ1JFRihSZXRWYWwpOwogICAgICAgICBSZXRWYWwgPSBOVUxMOwogICAgICAgICBnb3RvIGVycm9yOwpAQCAtNjE3LDEyICs2MTksMTMgQEAKICAgICAgICAgICAgIFB5X0RFQ1JFRihSZXRWYWwpOwogICAgICAgICAgICAgZ290byBlcnJvcjsKICAgICAgICAgfQorICAgICAgICBzZWxmLT5lb2YgPSAxOwogICAgICAgICAvKiBXZSB3aWxsIG9ubHkgZ2V0IFpfQlVGX0VSUk9SIGlmIHRoZSBvdXRwdXQgYnVmZmVyIHdhcyBmdWxsCiAgICAgICAgICAgIGJ1dCB0aGVyZSB3YXNuJ3QgbW9yZSBvdXRwdXQgd2hlbiB3ZSB0cmllZCBhZ2Fpbiwgc28gaXQgaXMKICAgICAgICAgICAgbm90IGFuIGVycm9yIGNvbmRpdGlvbi4KICAgICAgICAgKi8KICAgICB9IGVsc2UgaWYgKGVyciAhPSBaX09LICYmIGVyciAhPSBaX0JVRl9FUlJPUikgewotICAgICAgICB6bGliX2Vycm9yKHNlbGYtPnpzdCwgZXJyLCAid2hpbGUgZGVjb21wcmVzc2luZyIpOworICAgICAgICB6bGliX2Vycm9yKHNlbGYtPnpzdCwgZXJyLCAid2hpbGUgZGVjb21wcmVzc2luZyBkYXRhIik7CiAgICAgICAgIFB5X0RFQ1JFRihSZXRWYWwpOwogICAgICAgICBSZXRWYWwgPSBOVUxMOwogICAgICAgICBnb3RvIGVycm9yOwpAQCAtNzAzLDcgKzcwNiw3IEBACiAgICAgaWYgKGVyciA9PSBaX1NUUkVBTV9FTkQgJiYgZmx1c2htb2RlID09IFpfRklOSVNIKSB7CiAgICAgICAgIGVyciA9IGRlZmxhdGVFbmQoJihzZWxmLT56c3QpKTsKICAgICAgICAgaWYgKGVyciAhPSBaX09LKSB7Ci0gICAgICAgICAgICB6bGliX2Vycm9yKHNlbGYtPnpzdCwgZXJyLCAiZnJvbSBkZWZsYXRlRW5kKCkiKTsKKyAgICAgICAgICAgIHpsaWJfZXJyb3Ioc2VsZi0+enN0LCBlcnIsICJ3aGlsZSBmaW5pc2hpbmcgY29tcHJlc3Npb24iKTsKICAgICAgICAgICAgIFB5X0RFQ1JFRihSZXRWYWwpOwogICAgICAgICAgICAgUmV0VmFsID0gTlVMTDsKICAgICAgICAgICAgIGdvdG8gZXJyb3I7CkBAIC03NzEsNiArNzc0LDcgQEAKICAgICBQeV9YREVDUkVGKHJldHZhbC0+dW5jb25zdW1lZF90YWlsKTsKICAgICByZXR2YWwtPnVudXNlZF9kYXRhID0gc2VsZi0+dW51c2VkX2RhdGE7CiAgICAgcmV0dmFsLT51bmNvbnN1bWVkX3RhaWwgPSBzZWxmLT51bmNvbnN1bWVkX3RhaWw7CisgICAgcmV0dmFsLT5lb2YgPSBzZWxmLT5lb2Y7CiAKICAgICAvKiBNYXJrIGl0IGFzIGJlaW5nIGluaXRpYWxpemVkICovCiAgICAgcmV0dmFsLT5pc19pbml0aWFsaXNlZCA9IDE7CkBAIC04MjIsNiArODI2LDcgQEAKICAgICBQeV9YREVDUkVGKHJldHZhbC0+dW5jb25zdW1lZF90YWlsKTsKICAgICByZXR2YWwtPnVudXNlZF9kYXRhID0gc2VsZi0+dW51c2VkX2RhdGE7CiAgICAgcmV0dmFsLT51bmNvbnN1bWVkX3RhaWwgPSBzZWxmLT51bmNvbnN1bWVkX3RhaWw7CisgICAgcmV0dmFsLT5lb2YgPSBzZWxmLT5lb2Y7CiAKICAgICAvKiBNYXJrIGl0IGFzIGJlaW5nIGluaXRpYWxpemVkICovCiAgICAgcmV0dmFsLT5pc19pbml0aWFsaXNlZCA9IDE7CkBAIC04ODcsMTQgKzg5MiwxMyBAQAogICAgICAgICBQeV9FTkRfQUxMT1dfVEhSRUFEUwogICAgIH0KIAotICAgIC8qIElmIGZsdXNobW9kZSBpcyBaX0ZJTklTSCwgd2UgYWxzbyBoYXZlIHRvIGNhbGwgZGVmbGF0ZUVuZCgpIHRvIGZyZWUKLSAgICAgICB2YXJpb3VzIGRhdGEgc3RydWN0dXJlcy4gTm90ZSB3ZSBzaG91bGQgb25seSBnZXQgWl9TVFJFQU1fRU5EIHdoZW4KLSAgICAgICBmbHVzaG1vZGUgaXMgWl9GSU5JU0ggKi8KKyAgICAvKiBJZiBhdCBlbmQgb2Ygc3RyZWFtLCBjbGVhbiB1cCBhbnkgbWVtb3J5IGFsbG9jYXRlZCBieSB6bGliLiAqLwogICAgIGlmIChlcnIgPT0gWl9TVFJFQU1fRU5EKSB7Ci0gICAgICAgIGVyciA9IGluZmxhdGVFbmQoJihzZWxmLT56c3QpKTsKKyAgICAgICAgc2VsZi0+ZW9mID0gMTsKICAgICAgICAgc2VsZi0+aXNfaW5pdGlhbGlzZWQgPSAwOworICAgICAgICBlcnIgPSBpbmZsYXRlRW5kKCYoc2VsZi0+enN0KSk7CiAgICAgICAgIGlmIChlcnIgIT0gWl9PSykgewotICAgICAgICAgICAgemxpYl9lcnJvcihzZWxmLT56c3QsIGVyciwgImZyb20gaW5mbGF0ZUVuZCgpIik7CisgICAgICAgICAgICB6bGliX2Vycm9yKHNlbGYtPnpzdCwgZXJyLCAid2hpbGUgZmluaXNoaW5nIGRlY29tcHJlc3Npb24iKTsKICAgICAgICAgICAgIFB5X0RFQ1JFRihyZXR2YWwpOwogICAgICAgICAgICAgcmV0dmFsID0gTlVMTDsKICAgICAgICAgICAgIGdvdG8gZXJyb3I7CkBAIC05NDIsNiArOTQ2LDcgQEAKIHN0YXRpYyBQeU1lbWJlckRlZiBEZWNvbXBfbWVtYmVyc1tdID0gewogICAgIHsidW51c2VkX2RhdGEiLCAgICAgVF9PQkpFQ1QsIENPTVBfT0ZGKHVudXNlZF9kYXRhKSwgUkVBRE9OTFl9LAogICAgIHsidW5jb25zdW1lZF90YWlsIiwgVF9PQkpFQ1QsIENPTVBfT0ZGKHVuY29uc3VtZWRfdGFpbCksIFJFQURPTkxZfSwKKyAgICB7ImVvZiIsICAgICAgICAgICAgIFRfQk9PTCwgICBDT01QX09GRihlb2YpLCBSRUFET05MWX0sCiAgICAge05VTEx9LAogfTsKIApAQCAtMTE2NCw2ICsxMTY5LDEwIEBACiAgICAgaWYgKHZlciAhPSBOVUxMKQogICAgICAgICBQeU1vZHVsZV9BZGRPYmplY3QobSwgIlpMSUJfVkVSU0lPTiIsIHZlcik7CiAKKyAgICB2ZXIgPSBQeVVuaWNvZGVfRnJvbVN0cmluZyh6bGliVmVyc2lvbigpKTsKKyAgICBpZiAodmVyICE9IE5VTEwpCisgICAgICAgIFB5TW9kdWxlX0FkZE9iamVjdChtLCAiWkxJQl9SVU5USU1FX1ZFUlNJT04iLCB2ZXIpOworCiAgICAgUHlNb2R1bGVfQWRkU3RyaW5nQ29uc3RhbnQobSwgIl9fdmVyc2lvbl9fIiwgIjEuMCIpOwogCiAgICAgcmV0dXJuIG07CmRpZmYgLS1naXQgYS9PYmplY3RzL2Fic3RyYWN0LmMgYi9PYmplY3RzL2Fic3RyYWN0LmMKaW5kZXggMmY4ODdhYS4uMzlkZmZhYyAxMDA2NDQKLS0tIGEvT2JqZWN0cy9hYnN0cmFjdC5jCisrKyBiL09iamVjdHMvYWJzdHJhY3QuYwpAQCAtNzQsNyArNzQsNyBAQAogUHlfc3NpemVfdAogX1B5T2JqZWN0X0xlbmd0aEhpbnQoUHlPYmplY3QgKm8sIFB5X3NzaXplX3QgZGVmYXVsdHZhbHVlKQogewotICAgIHN0YXRpYyBQeU9iamVjdCAqaGludHN0cm9iaiA9IE5VTEw7CisgICAgX1B5X0lERU5USUZJRVIoX19sZW5ndGhfaGludF9fKTsKICAgICBQeU9iamVjdCAqcm8sICpoaW50bWV0aDsKICAgICBQeV9zc2l6ZV90IHJ2OwogCkBAIC04OSw3ICs4OSw3IEBACiAgICAgfQogCiAgICAgLyogdHJ5IG8uX19sZW5ndGhfaGludF9fKCkgKi8KLSAgICBoaW50bWV0aCA9IF9QeU9iamVjdF9Mb29rdXBTcGVjaWFsKG8sICJfX2xlbmd0aF9oaW50X18iLCAmaGludHN0cm9iaik7CisgICAgaGludG1ldGggPSBfUHlPYmplY3RfTG9va3VwU3BlY2lhbChvLCAmUHlJZF9fX2xlbmd0aF9oaW50X18pOwogICAgIGlmIChoaW50bWV0aCA9PSBOVUxMKSB7CiAgICAgICAgIGlmIChQeUVycl9PY2N1cnJlZCgpKQogICAgICAgICAgICAgcmV0dXJuIC0xOwpAQCAtMjM3LDcgKzIzNyw4IEBACiAgICAgcGIgPSBvYmotPm9iX3R5cGUtPnRwX2FzX2J1ZmZlcjsKICAgICBpZiAocGIgPT0gTlVMTCB8fCBwYi0+YmZfZ2V0YnVmZmVyID09IE5VTEwpIHsKICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICAgICJleHBlY3RlZCBhbiBvYmplY3Qgd2l0aCB0aGUgYnVmZmVyIGludGVyZmFjZSIpOworICAgICAgICAgICAgICAgICAgICAgICAgImV4cGVjdGVkIGJ5dGVzLCBieXRlYXJyYXkgIgorICAgICAgICAgICAgICAgICAgICAgICAgIm9yIGJ1ZmZlciBjb21wYXRpYmxlIG9iamVjdCIpOwogICAgICAgICByZXR1cm4gLTE7CiAgICAgfQogICAgIGlmICgoKnBiLT5iZl9nZXRidWZmZXIpKG9iaiwgJnZpZXcsIFB5QlVGX1NJTVBMRSkpIHJldHVybiAtMTsKQEAgLTMzMSw3ICszMzIsNyBAQAogewogICAgIGlmICghUHlPYmplY3RfQ2hlY2tCdWZmZXIob2JqKSkgewogICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLAotICAgICAgICAgICAgICAgICAgICAgIiclMTAwcycgZG9lcyBub3Qgc3VwcG9ydCB0aGUgYnVmZmVyIGludGVyZmFjZSIsCisgICAgICAgICAgICAgICAgICAgICAiJyUuMTAwcycgZG9lcyBub3Qgc3VwcG9ydCB0aGUgYnVmZmVyIGludGVyZmFjZSIsCiAgICAgICAgICAgICAgICAgICAgICBQeV9UWVBFKG9iaiktPnRwX25hbWUpOwogICAgICAgICByZXR1cm4gLTE7CiAgICAgfQpAQCAtMzM5LDcgKzM0MCw3IEBACiB9CiAKIHN0YXRpYyBpbnQKLV9Jc0ZvcnRyYW5Db250aWd1b3VzKFB5X2J1ZmZlciAqdmlldykKK19Jc0ZvcnRyYW5Db250aWd1b3VzKGNvbnN0IFB5X2J1ZmZlciAqdmlldykKIHsKICAgICBQeV9zc2l6ZV90IHNkLCBkaW07CiAgICAgaW50IGk7CkBAIC0zNjAsNyArMzYxLDcgQEAKIH0KIAogc3RhdGljIGludAotX0lzQ0NvbnRpZ3VvdXMoUHlfYnVmZmVyICp2aWV3KQorX0lzQ0NvbnRpZ3VvdXMoY29uc3QgUHlfYnVmZmVyICp2aWV3KQogewogICAgIFB5X3NzaXplX3Qgc2QsIGRpbTsKICAgICBpbnQgaTsKQEAgLTM4MSwxNiArMzgyLDE2IEBACiB9CiAKIGludAotUHlCdWZmZXJfSXNDb250aWd1b3VzKFB5X2J1ZmZlciAqdmlldywgY2hhciBmb3J0KQorUHlCdWZmZXJfSXNDb250aWd1b3VzKGNvbnN0IFB5X2J1ZmZlciAqdmlldywgY2hhciBvcmRlcikKIHsKIAogICAgIGlmICh2aWV3LT5zdWJvZmZzZXRzICE9IE5VTEwpIHJldHVybiAwOwogCi0gICAgaWYgKGZvcnQgPT0gJ0MnKQorICAgIGlmIChvcmRlciA9PSAnQycpCiAgICAgICAgIHJldHVybiBfSXNDQ29udGlndW91cyh2aWV3KTsKLSAgICBlbHNlIGlmIChmb3J0ID09ICdGJykKKyAgICBlbHNlIGlmIChvcmRlciA9PSAnRicpCiAgICAgICAgIHJldHVybiBfSXNGb3J0cmFuQ29udGlndW91cyh2aWV3KTsKLSAgICBlbHNlIGlmIChmb3J0ID09ICdBJykKKyAgICBlbHNlIGlmIChvcmRlciA9PSAnQScpCiAgICAgICAgIHJldHVybiAoX0lzQ0NvbnRpZ3VvdXModmlldykgfHwgX0lzRm9ydHJhbkNvbnRpZ3VvdXModmlldykpOwogICAgIHJldHVybiAwOwogfQpAQCAtNjQ4LDkgKzY0OSw5IEBACiAKIGludAogUHlCdWZmZXJfRmlsbEluZm8oUHlfYnVmZmVyICp2aWV3LCBQeU9iamVjdCAqb2JqLCB2b2lkICpidWYsIFB5X3NzaXplX3QgbGVuLAotICAgICAgICAgICAgICBpbnQgcmVhZG9ubHksIGludCBmbGFncykKKyAgICAgICAgICAgICAgICAgIGludCByZWFkb25seSwgaW50IGZsYWdzKQogewotICAgIGlmICh2aWV3ID09IE5VTEwpIHJldHVybiAwOworICAgIGlmICh2aWV3ID09IE5VTEwpIHJldHVybiAwOyAvKiBYWFggd2h5IG5vdCAtMT8gKi8KICAgICBpZiAoKChmbGFncyAmIFB5QlVGX1dSSVRBQkxFKSA9PSBQeUJVRl9XUklUQUJMRSkgJiYKICAgICAgICAgKHJlYWRvbmx5ID09IDEpKSB7CiAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19CdWZmZXJFcnJvciwKQEAgLTY5NiwxNiArNjk3LDE2IEBACiAgICAgUHlPYmplY3QgKm1ldGg7CiAgICAgUHlPYmplY3QgKmVtcHR5ID0gTlVMTDsKICAgICBQeU9iamVjdCAqcmVzdWx0ID0gTlVMTDsKLSAgICBzdGF0aWMgUHlPYmplY3QgKmZvcm1hdF9jYWNoZSA9IE5VTEw7CisgICAgX1B5X0lERU5USUZJRVIoX19mb3JtYXRfXyk7CiAKICAgICAvKiBJZiBubyBmb3JtYXRfc3BlYyBpcyBwcm92aWRlZCwgdXNlIGFuIGVtcHR5IHN0cmluZyAqLwogICAgIGlmIChmb3JtYXRfc3BlYyA9PSBOVUxMKSB7Ci0gICAgICAgIGVtcHR5ID0gUHlVbmljb2RlX0Zyb21Vbmljb2RlKE5VTEwsIDApOworICAgICAgICBlbXB0eSA9IFB5VW5pY29kZV9OZXcoMCwgMCk7CiAgICAgICAgIGZvcm1hdF9zcGVjID0gZW1wdHk7CiAgICAgfQogCiAgICAgLyogRmluZCB0aGUgKHVuYm91bmQhKSBfX2Zvcm1hdF9fIG1ldGhvZCAoYSBib3Jyb3dlZCByZWZlcmVuY2UpICovCi0gICAgbWV0aCA9IF9QeU9iamVjdF9Mb29rdXBTcGVjaWFsKG9iaiwgIl9fZm9ybWF0X18iLCAmZm9ybWF0X2NhY2hlKTsKKyAgICBtZXRoID0gX1B5T2JqZWN0X0xvb2t1cFNwZWNpYWwob2JqLCAmUHlJZF9fX2Zvcm1hdF9fKTsKICAgICBpZiAobWV0aCA9PSBOVUxMKSB7CiAgICAgICAgIGlmICghUHlFcnJfT2NjdXJyZWQoKSkKICAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsCkBAIC03OTIsOCArNzkzLDcgQEAKICAgICAgICAgICAgIHJldHVybiB4OwogICAgICAgICBQeV9ERUNSRUYoeCk7IC8qIGNhbid0IGRvIGl0ICovCiAgICAgfQotICAgIFB5X0lOQ1JFRihQeV9Ob3RJbXBsZW1lbnRlZCk7Ci0gICAgcmV0dXJuIFB5X05vdEltcGxlbWVudGVkOworICAgIFB5X1JFVFVSTl9OT1RJTVBMRU1FTlRFRDsKIH0KIAogc3RhdGljIFB5T2JqZWN0ICoKQEAgLTEzNzksOSArMTM3OSw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5Qnl0ZXNfR0VUX1NJWkUobykpOwogICAgIGlmIChQeVVuaWNvZGVfQ2hlY2sobykpCiAgICAgICAgIC8qIFRoZSBhYm92ZSBjaGVjayBpcyBkb25lIGluIFB5TG9uZ19Gcm9tVW5pY29kZSgpLiAqLwotICAgICAgICByZXR1cm4gUHlMb25nX0Zyb21Vbmljb2RlKFB5VW5pY29kZV9BU19VTklDT0RFKG8pLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9HRVRfU0laRShvKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMCk7CisgICAgICAgIHJldHVybiBQeUxvbmdfRnJvbVVuaWNvZGVPYmplY3QobywgMTApOwogICAgIGlmICghUHlPYmplY3RfQXNDaGFyQnVmZmVyKG8sICZidWZmZXIsICZidWZmZXJfbGVuKSkKICAgICAgICAgcmV0dXJuIGxvbmdfZnJvbV9zdHJpbmcoYnVmZmVyLCBidWZmZXJfbGVuKTsKIApAQCAtMTk4Niw3ICsxOTg0LDcgQEAKIGludAogUHlNYXBwaW5nX0NoZWNrKFB5T2JqZWN0ICpvKQogewotICAgIHJldHVybiAgICAgIG8gJiYgby0+b2JfdHlwZS0+dHBfYXNfbWFwcGluZyAmJgorICAgIHJldHVybiBvICYmIG8tPm9iX3R5cGUtPnRwX2FzX21hcHBpbmcgJiYKICAgICAgICAgby0+b2JfdHlwZS0+dHBfYXNfbWFwcGluZy0+bXBfc3Vic2NyaXB0OwogfQogCkBAIC0yMDg0LDEwICsyMDgyLDExIEBACiB7CiAgICAgUHlPYmplY3QgKmtleXM7CiAgICAgUHlPYmplY3QgKmZhc3Q7CisgICAgX1B5X0lERU5USUZJRVIoa2V5cyk7CiAKICAgICBpZiAoUHlEaWN0X0NoZWNrRXhhY3QobykpCiAgICAgICAgIHJldHVybiBQeURpY3RfS2V5cyhvKTsKLSAgICBrZXlzID0gUHlPYmplY3RfQ2FsbE1ldGhvZChvLCAia2V5cyIsIE5VTEwpOworICAgIGtleXMgPSBfUHlPYmplY3RfQ2FsbE1ldGhvZElkKG8sICZQeUlkX2tleXMsIE5VTEwpOwogICAgIGlmIChrZXlzID09IE5VTEwpCiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIGZhc3QgPSBQeVNlcXVlbmNlX0Zhc3Qoa2V5cywgIm8ua2V5cygpIGFyZSBub3QgaXRlcmFibGUiKTsKQEAgLTIxMDAsMTAgKzIwOTksMTEgQEAKIHsKICAgICBQeU9iamVjdCAqaXRlbXM7CiAgICAgUHlPYmplY3QgKmZhc3Q7CisgICAgX1B5X0lERU5USUZJRVIoaXRlbXMpOwogCiAgICAgaWYgKFB5RGljdF9DaGVja0V4YWN0KG8pKQogICAgICAgICByZXR1cm4gUHlEaWN0X0l0ZW1zKG8pOwotICAgIGl0ZW1zID0gUHlPYmplY3RfQ2FsbE1ldGhvZChvLCAiaXRlbXMiLCBOVUxMKTsKKyAgICBpdGVtcyA9IF9QeU9iamVjdF9DYWxsTWV0aG9kSWQobywgJlB5SWRfaXRlbXMsIE5VTEwpOwogICAgIGlmIChpdGVtcyA9PSBOVUxMKQogICAgICAgICByZXR1cm4gTlVMTDsKICAgICBmYXN0ID0gUHlTZXF1ZW5jZV9GYXN0KGl0ZW1zLCAiby5pdGVtcygpIGFyZSBub3QgaXRlcmFibGUiKTsKQEAgLTIxMTYsMTAgKzIxMTYsMTEgQEAKIHsKICAgICBQeU9iamVjdCAqdmFsdWVzOwogICAgIFB5T2JqZWN0ICpmYXN0OworICAgIF9QeV9JREVOVElGSUVSKHZhbHVlcyk7CiAKICAgICBpZiAoUHlEaWN0X0NoZWNrRXhhY3QobykpCiAgICAgICAgIHJldHVybiBQeURpY3RfVmFsdWVzKG8pOwotICAgIHZhbHVlcyA9IFB5T2JqZWN0X0NhbGxNZXRob2QobywgInZhbHVlcyIsIE5VTEwpOworICAgIHZhbHVlcyA9IF9QeU9iamVjdF9DYWxsTWV0aG9kSWQobywgJlB5SWRfdmFsdWVzLCBOVUxMKTsKICAgICBpZiAodmFsdWVzID09IE5VTEwpCiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIGZhc3QgPSBQeVNlcXVlbmNlX0Zhc3QodmFsdWVzLCAiby52YWx1ZXMoKSBhcmUgbm90IGl0ZXJhYmxlIik7CkBAIC0yMjI1LDIyICsyMjI2LDExIEBACiAgICAgcmV0dXJuIGNhbGxfZnVuY3Rpb25fdGFpbChjYWxsYWJsZSwgYXJncyk7CiB9CiAKLVB5T2JqZWN0ICoKLVB5T2JqZWN0X0NhbGxNZXRob2QoUHlPYmplY3QgKm8sIGNoYXIgKm5hbWUsIGNoYXIgKmZvcm1hdCwgLi4uKQorc3RhdGljIFB5T2JqZWN0KgorY2FsbG1ldGhvZChQeU9iamVjdCogZnVuYywgY2hhciAqZm9ybWF0LCB2YV9saXN0IHZhLCBpbnQgaXNfc2l6ZV90KQogewotICAgIHZhX2xpc3QgdmE7Ci0gICAgUHlPYmplY3QgKmFyZ3M7Ci0gICAgUHlPYmplY3QgKmZ1bmMgPSBOVUxMOwogICAgIFB5T2JqZWN0ICpyZXR2YWwgPSBOVUxMOwotCi0gICAgaWYgKG8gPT0gTlVMTCB8fCBuYW1lID09IE5VTEwpCi0gICAgICAgIHJldHVybiBudWxsX2Vycm9yKCk7Ci0KLSAgICBmdW5jID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyhvLCBuYW1lKTsKLSAgICBpZiAoZnVuYyA9PSBOVUxMKSB7Ci0gICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19BdHRyaWJ1dGVFcnJvciwgbmFtZSk7Ci0gICAgICAgIHJldHVybiAwOwotICAgIH0KKyAgICBQeU9iamVjdCAqYXJnczsKIAogICAgIGlmICghUHlDYWxsYWJsZV9DaGVjayhmdW5jKSkgewogICAgICAgICB0eXBlX2Vycm9yKCJhdHRyaWJ1dGUgb2YgdHlwZSAnJS4yMDBzJyBpcyBub3QgY2FsbGFibGUiLCBmdW5jKTsKQEAgLTIyNDgsOSArMjIzOCwxMCBAQAogICAgIH0KIAogICAgIGlmIChmb3JtYXQgJiYgKmZvcm1hdCkgewotICAgICAgICB2YV9zdGFydCh2YSwgZm9ybWF0KTsKLSAgICAgICAgYXJncyA9IFB5X1ZhQnVpbGRWYWx1ZShmb3JtYXQsIHZhKTsKLSAgICAgICAgdmFfZW5kKHZhKTsKKyAgICAgICAgaWYgKGlzX3NpemVfdCkKKyAgICAgICAgICAgIGFyZ3MgPSBfUHlfVmFCdWlsZFZhbHVlX1NpemVUKGZvcm1hdCwgdmEpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBhcmdzID0gUHlfVmFCdWlsZFZhbHVlKGZvcm1hdCwgdmEpOwogICAgIH0KICAgICBlbHNlCiAgICAgICAgIGFyZ3MgPSBQeVR1cGxlX05ldygwKTsKQEAgLTIyNjUsNDQgKzIyNTYsODYgQEAKIH0KIAogUHlPYmplY3QgKgorUHlPYmplY3RfQ2FsbE1ldGhvZChQeU9iamVjdCAqbywgY2hhciAqbmFtZSwgY2hhciAqZm9ybWF0LCAuLi4pCit7CisgICAgdmFfbGlzdCB2YTsKKyAgICBQeU9iamVjdCAqZnVuYyA9IE5VTEw7CisgICAgUHlPYmplY3QgKnJldHZhbCA9IE5VTEw7CisKKyAgICBpZiAobyA9PSBOVUxMIHx8IG5hbWUgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIG51bGxfZXJyb3IoKTsKKworICAgIGZ1bmMgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKG8sIG5hbWUpOworICAgIGlmIChmdW5jID09IE5VTEwpIHsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorCisgICAgdmFfc3RhcnQodmEsIGZvcm1hdCk7CisgICAgcmV0dmFsID0gY2FsbG1ldGhvZChmdW5jLCBmb3JtYXQsIHZhLCAwKTsKKyAgICB2YV9lbmQodmEpOworICAgIHJldHVybiByZXR2YWw7Cit9CisKK1B5T2JqZWN0ICoKK19QeU9iamVjdF9DYWxsTWV0aG9kSWQoUHlPYmplY3QgKm8sIF9QeV9JZGVudGlmaWVyICpuYW1lLCBjaGFyICpmb3JtYXQsIC4uLikKK3sKKyAgICB2YV9saXN0IHZhOworICAgIFB5T2JqZWN0ICpmdW5jID0gTlVMTDsKKyAgICBQeU9iamVjdCAqcmV0dmFsID0gTlVMTDsKKworICAgIGlmIChvID09IE5VTEwgfHwgbmFtZSA9PSBOVUxMKQorICAgICAgICByZXR1cm4gbnVsbF9lcnJvcigpOworCisgICAgZnVuYyA9IF9QeU9iamVjdF9HZXRBdHRySWQobywgbmFtZSk7CisgICAgaWYgKGZ1bmMgPT0gTlVMTCkgeworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisKKyAgICB2YV9zdGFydCh2YSwgZm9ybWF0KTsKKyAgICByZXR2YWwgPSBjYWxsbWV0aG9kKGZ1bmMsIGZvcm1hdCwgdmEsIDApOworICAgIHZhX2VuZCh2YSk7CisgICAgcmV0dXJuIHJldHZhbDsKK30KKworUHlPYmplY3QgKgogX1B5T2JqZWN0X0NhbGxNZXRob2RfU2l6ZVQoUHlPYmplY3QgKm8sIGNoYXIgKm5hbWUsIGNoYXIgKmZvcm1hdCwgLi4uKQogewogICAgIHZhX2xpc3QgdmE7Ci0gICAgUHlPYmplY3QgKmFyZ3M7CiAgICAgUHlPYmplY3QgKmZ1bmMgPSBOVUxMOwotICAgIFB5T2JqZWN0ICpyZXR2YWwgPSBOVUxMOworICAgIFB5T2JqZWN0ICpyZXR2YWw7CiAKICAgICBpZiAobyA9PSBOVUxMIHx8IG5hbWUgPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIG51bGxfZXJyb3IoKTsKIAogICAgIGZ1bmMgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKG8sIG5hbWUpOwogICAgIGlmIChmdW5jID09IE5VTEwpIHsKLSAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX0F0dHJpYnV0ZUVycm9yLCBuYW1lKTsKICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQotCi0gICAgaWYgKCFQeUNhbGxhYmxlX0NoZWNrKGZ1bmMpKSB7Ci0gICAgICAgIHR5cGVfZXJyb3IoImF0dHJpYnV0ZSBvZiB0eXBlICclLjIwMHMnIGlzIG5vdCBjYWxsYWJsZSIsIGZ1bmMpOwotICAgICAgICBnb3RvIGV4aXQ7Ci0gICAgfQotCi0gICAgaWYgKGZvcm1hdCAmJiAqZm9ybWF0KSB7Ci0gICAgICAgIHZhX3N0YXJ0KHZhLCBmb3JtYXQpOwotICAgICAgICBhcmdzID0gX1B5X1ZhQnVpbGRWYWx1ZV9TaXplVChmb3JtYXQsIHZhKTsKLSAgICAgICAgdmFfZW5kKHZhKTsKLSAgICB9Ci0gICAgZWxzZQotICAgICAgICBhcmdzID0gUHlUdXBsZV9OZXcoMCk7Ci0KLSAgICByZXR2YWwgPSBjYWxsX2Z1bmN0aW9uX3RhaWwoZnVuYywgYXJncyk7Ci0KLSAgZXhpdDoKLSAgICAvKiBhcmdzIGdldHMgY29uc3VtZWQgaW4gY2FsbF9mdW5jdGlvbl90YWlsICovCi0gICAgUHlfWERFQ1JFRihmdW5jKTsKLQorICAgIHZhX3N0YXJ0KHZhLCBmb3JtYXQpOworICAgIHJldHZhbCA9IGNhbGxtZXRob2QoZnVuYywgZm9ybWF0LCB2YSwgMSk7CisgICAgdmFfZW5kKHZhKTsKICAgICByZXR1cm4gcmV0dmFsOwogfQogCitQeU9iamVjdCAqCitfUHlPYmplY3RfQ2FsbE1ldGhvZElkX1NpemVUKFB5T2JqZWN0ICpvLCBfUHlfSWRlbnRpZmllciAqbmFtZSwgY2hhciAqZm9ybWF0LCAuLi4pCit7CisgICAgdmFfbGlzdCB2YTsKKyAgICBQeU9iamVjdCAqZnVuYyA9IE5VTEw7CisgICAgUHlPYmplY3QgKnJldHZhbDsKKworICAgIGlmIChvID09IE5VTEwgfHwgbmFtZSA9PSBOVUxMKQorICAgICAgICByZXR1cm4gbnVsbF9lcnJvcigpOworCisgICAgZnVuYyA9IF9QeU9iamVjdF9HZXRBdHRySWQobywgbmFtZSk7CisgICAgaWYgKGZ1bmMgPT0gTlVMTCkgeworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisgICAgdmFfc3RhcnQodmEsIGZvcm1hdCk7CisgICAgcmV0dmFsID0gY2FsbG1ldGhvZChmdW5jLCBmb3JtYXQsIHZhLCAxKTsKKyAgICB2YV9lbmQodmEpOworICAgIHJldHVybiByZXR2YWw7Cit9CiAKIHN0YXRpYyBQeU9iamVjdCAqCiBvYmphcmdzX21rdHVwbGUodmFfbGlzdCB2YSkKQEAgLTI1MzgsNyArMjU3MSw3IEBACiBpbnQKIFB5T2JqZWN0X0lzSW5zdGFuY2UoUHlPYmplY3QgKmluc3QsIFB5T2JqZWN0ICpjbHMpCiB7Ci0gICAgc3RhdGljIFB5T2JqZWN0ICpuYW1lID0gTlVMTDsKKyAgICBfUHlfSURFTlRJRklFUihfX2luc3RhbmNlY2hlY2tfXyk7CiAgICAgUHlPYmplY3QgKmNoZWNrZXI7CiAKICAgICAvKiBRdWljayB0ZXN0IGZvciBhbiBleGFjdCBtYXRjaCAqLwpAQCAtMjU2NCw3ICsyNTk3LDcgQEAKICAgICAgICAgcmV0dXJuIHI7CiAgICAgfQogCi0gICAgY2hlY2tlciA9IF9QeU9iamVjdF9Mb29rdXBTcGVjaWFsKGNscywgIl9faW5zdGFuY2VjaGVja19fIiwgJm5hbWUpOworICAgIGNoZWNrZXIgPSBfUHlPYmplY3RfTG9va3VwU3BlY2lhbChjbHMsICZQeUlkX19faW5zdGFuY2VjaGVja19fKTsKICAgICBpZiAoY2hlY2tlciAhPSBOVUxMKSB7CiAgICAgICAgIFB5T2JqZWN0ICpyZXM7CiAgICAgICAgIGludCBvayA9IC0xOwpAQCAtMjYwNyw3ICsyNjQwLDcgQEAKIGludAogUHlPYmplY3RfSXNTdWJjbGFzcyhQeU9iamVjdCAqZGVyaXZlZCwgUHlPYmplY3QgKmNscykKIHsKLSAgICBzdGF0aWMgUHlPYmplY3QgKm5hbWUgPSBOVUxMOworICAgIF9QeV9JREVOVElGSUVSKF9fc3ViY2xhc3NjaGVja19fKTsKICAgICBQeU9iamVjdCAqY2hlY2tlcjsKIAogICAgIGlmIChQeVR1cGxlX0NoZWNrKGNscykpIHsKQEAgLTI2MjksNyArMjY2Miw3IEBACiAgICAgICAgIHJldHVybiByOwogICAgIH0KIAotICAgIGNoZWNrZXIgPSBfUHlPYmplY3RfTG9va3VwU3BlY2lhbChjbHMsICJfX3N1YmNsYXNzY2hlY2tfXyIsICZuYW1lKTsKKyAgICBjaGVja2VyID0gX1B5T2JqZWN0X0xvb2t1cFNwZWNpYWwoY2xzLCAmUHlJZF9fX3N1YmNsYXNzY2hlY2tfXyk7CiAgICAgaWYgKGNoZWNrZXIgIT0gTlVMTCkgewogICAgICAgICBQeU9iamVjdCAqcmVzOwogICAgICAgICBpbnQgb2sgPSAtMTsKZGlmZiAtLWdpdCBhL09iamVjdHMvYnl0ZWFycmF5b2JqZWN0LmMgYi9PYmplY3RzL2J5dGVhcnJheW9iamVjdC5jCmluZGV4IDQyMDJmZjIuLjFiODhmMTIgMTAwNjQ0Ci0tLSBhL09iamVjdHMvYnl0ZWFycmF5b2JqZWN0LmMKKysrIGIvT2JqZWN0cy9ieXRlYXJyYXlvYmplY3QuYwpAQCAtMTM5LDcgKzEzOSw3IEBACiAgICAgfQogICAgIGVsc2UgewogICAgICAgICBhbGxvYyA9IHNpemUgKyAxOwotICAgICAgICBuZXctPm9iX2J5dGVzID0gUHlNZW1fTWFsbG9jKGFsbG9jKTsKKyAgICAgICAgbmV3LT5vYl9ieXRlcyA9IFB5T2JqZWN0X01hbGxvYyhhbGxvYyk7CiAgICAgICAgIGlmIChuZXctPm9iX2J5dGVzID09IE5VTEwpIHsKICAgICAgICAgICAgIFB5X0RFQ1JFRihuZXcpOwogICAgICAgICAgICAgcmV0dXJuIFB5RXJyX05vTWVtb3J5KCk7CkBAIC0yMDksNyArMjA5LDcgQEAKICAgICAgICAgYWxsb2MgPSBzaXplICsgMTsKICAgICB9CiAKLSAgICBzdmFsID0gUHlNZW1fUmVhbGxvYygoKFB5Qnl0ZUFycmF5T2JqZWN0ICopc2VsZiktPm9iX2J5dGVzLCBhbGxvYyk7CisgICAgc3ZhbCA9IFB5T2JqZWN0X1JlYWxsb2MoKChQeUJ5dGVBcnJheU9iamVjdCAqKXNlbGYpLT5vYl9ieXRlcywgYWxsb2MpOwogICAgIGlmIChzdmFsID09IE5VTEwpIHsKICAgICAgICAgUHlFcnJfTm9NZW1vcnkoKTsKICAgICAgICAgcmV0dXJuIC0xOwpAQCAtODUwLDg3ICs4NTAsODIgQEAKIHN0YXRpYyBQeU9iamVjdCAqCiBieXRlYXJyYXlfcmVwcihQeUJ5dGVBcnJheU9iamVjdCAqc2VsZikKIHsKLSAgICBzdGF0aWMgY29uc3QgY2hhciAqaGV4ZGlnaXRzID0gIjAxMjM0NTY3ODlhYmNkZWYiOwogICAgIGNvbnN0IGNoYXIgKnF1b3RlX3ByZWZpeCA9ICJieXRlYXJyYXkoYiI7CiAgICAgY29uc3QgY2hhciAqcXVvdGVfcG9zdGZpeCA9ICIpIjsKICAgICBQeV9zc2l6ZV90IGxlbmd0aCA9IFB5X1NJWkUoc2VsZik7Ci0gICAgLyogMTQgPT0gc3RybGVuKHF1b3RlX3ByZWZpeCkgKyAyICsgc3RybGVuKHF1b3RlX3Bvc3RmaXgpICovCisgICAgLyogMTUgPT0gc3RybGVuKHF1b3RlX3ByZWZpeCkgKyAyICsgc3RybGVuKHF1b3RlX3Bvc3RmaXgpICsgMSAqLwogICAgIHNpemVfdCBuZXdzaXplOwogICAgIFB5T2JqZWN0ICp2OwotICAgIGlmIChsZW5ndGggPiAoUFlfU1NJWkVfVF9NQVggLSAxNCkgLyA0KSB7CisgICAgcmVnaXN0ZXIgUHlfc3NpemVfdCBpOworICAgIHJlZ2lzdGVyIGNoYXIgYzsKKyAgICByZWdpc3RlciBjaGFyICpwOworICAgIGludCBxdW90ZTsKKyAgICBjaGFyICp0ZXN0LCAqc3RhcnQ7CisgICAgY2hhciAqYnVmZmVyOworCisgICAgaWYgKGxlbmd0aCA+IChQWV9TU0laRV9UX01BWCAtIDE1KSAvIDQpIHsKICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX092ZXJmbG93RXJyb3IsCiAgICAgICAgICAgICAiYnl0ZWFycmF5IG9iamVjdCBpcyB0b28gbGFyZ2UgdG8gbWFrZSByZXByIik7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KLSAgICBuZXdzaXplID0gMTQgKyA0ICogbGVuZ3RoOwotICAgIHYgPSBQeVVuaWNvZGVfRnJvbVVuaWNvZGUoTlVMTCwgbmV3c2l6ZSk7Ci0gICAgaWYgKHYgPT0gTlVMTCkgeworCisgICAgbmV3c2l6ZSA9IDE1ICsgbGVuZ3RoICogNDsKKyAgICBidWZmZXIgPSBQeU9iamVjdF9NYWxsb2MobmV3c2l6ZSk7CisgICAgaWYgKGJ1ZmZlciA9PSBOVUxMKSB7CisgICAgICAgIFB5RXJyX05vTWVtb3J5KCk7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KLSAgICBlbHNlIHsKLSAgICAgICAgcmVnaXN0ZXIgUHlfc3NpemVfdCBpOwotICAgICAgICByZWdpc3RlciBQeV9VTklDT0RFIGM7Ci0gICAgICAgIHJlZ2lzdGVyIFB5X1VOSUNPREUgKnA7Ci0gICAgICAgIGludCBxdW90ZTsKIAotICAgICAgICAvKiBGaWd1cmUgb3V0IHdoaWNoIHF1b3RlIHRvIHVzZTsgc2luZ2xlIGlzIHByZWZlcnJlZCAqLwotICAgICAgICBxdW90ZSA9ICdcJyc7Ci0gICAgICAgIHsKLSAgICAgICAgICAgIGNoYXIgKnRlc3QsICpzdGFydDsKLSAgICAgICAgICAgIHN0YXJ0ID0gUHlCeXRlQXJyYXlfQVNfU1RSSU5HKHNlbGYpOwotICAgICAgICAgICAgZm9yICh0ZXN0ID0gc3RhcnQ7IHRlc3QgPCBzdGFydCtsZW5ndGg7ICsrdGVzdCkgewotICAgICAgICAgICAgICAgIGlmICgqdGVzdCA9PSAnIicpIHsKLSAgICAgICAgICAgICAgICAgICAgcXVvdGUgPSAnXCcnOyAvKiBiYWNrIHRvIHNpbmdsZSAqLwotICAgICAgICAgICAgICAgICAgICBnb3RvIGRlY2lkZWQ7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGVsc2UgaWYgKCp0ZXN0ID09ICdcJycpCi0gICAgICAgICAgICAgICAgICAgIHF1b3RlID0gJyInOwotICAgICAgICAgICAgfQotICAgICAgICAgIGRlY2lkZWQ6Ci0gICAgICAgICAgICA7CisgICAgLyogRmlndXJlIG91dCB3aGljaCBxdW90ZSB0byB1c2U7IHNpbmdsZSBpcyBwcmVmZXJyZWQgKi8KKyAgICBxdW90ZSA9ICdcJyc7CisgICAgc3RhcnQgPSBQeUJ5dGVBcnJheV9BU19TVFJJTkcoc2VsZik7CisgICAgZm9yICh0ZXN0ID0gc3RhcnQ7IHRlc3QgPCBzdGFydCtsZW5ndGg7ICsrdGVzdCkgeworICAgICAgICBpZiAoKnRlc3QgPT0gJyInKSB7CisgICAgICAgICAgICBxdW90ZSA9ICdcJyc7IC8qIGJhY2sgdG8gc2luZ2xlICovCisgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQotCi0gICAgICAgIHAgPSBQeVVuaWNvZGVfQVNfVU5JQ09ERSh2KTsKLSAgICAgICAgd2hpbGUgKCpxdW90ZV9wcmVmaXgpCi0gICAgICAgICAgICAqcCsrID0gKnF1b3RlX3ByZWZpeCsrOwotICAgICAgICAqcCsrID0gcXVvdGU7Ci0KLSAgICAgICAgZm9yIChpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7Ci0gICAgICAgICAgICAvKiBUaGVyZSdzIGF0IGxlYXN0IGVub3VnaCByb29tIGZvciBhIGhleCBlc2NhcGUKLSAgICAgICAgICAgICAgIGFuZCBhIGNsb3NpbmcgcXVvdGUuICovCi0gICAgICAgICAgICBhc3NlcnQobmV3c2l6ZSAtIChwIC0gUHlVbmljb2RlX0FTX1VOSUNPREUodikpID49IDUpOwotICAgICAgICAgICAgYyA9IHNlbGYtPm9iX2J5dGVzW2ldOwotICAgICAgICAgICAgaWYgKGMgPT0gJ1wnJyB8fCBjID09ICdcXCcpCi0gICAgICAgICAgICAgICAgKnArKyA9ICdcXCcsICpwKysgPSBjOwotICAgICAgICAgICAgZWxzZSBpZiAoYyA9PSAnXHQnKQotICAgICAgICAgICAgICAgICpwKysgPSAnXFwnLCAqcCsrID0gJ3QnOwotICAgICAgICAgICAgZWxzZSBpZiAoYyA9PSAnXG4nKQotICAgICAgICAgICAgICAgICpwKysgPSAnXFwnLCAqcCsrID0gJ24nOwotICAgICAgICAgICAgZWxzZSBpZiAoYyA9PSAnXHInKQotICAgICAgICAgICAgICAgICpwKysgPSAnXFwnLCAqcCsrID0gJ3InOwotICAgICAgICAgICAgZWxzZSBpZiAoYyA9PSAwKQotICAgICAgICAgICAgICAgICpwKysgPSAnXFwnLCAqcCsrID0gJ3gnLCAqcCsrID0gJzAnLCAqcCsrID0gJzAnOwotICAgICAgICAgICAgZWxzZSBpZiAoYyA8ICcgJyB8fCBjID49IDB4N2YpIHsKLSAgICAgICAgICAgICAgICAqcCsrID0gJ1xcJzsKLSAgICAgICAgICAgICAgICAqcCsrID0gJ3gnOwotICAgICAgICAgICAgICAgICpwKysgPSBoZXhkaWdpdHNbKGMgJiAweGYwKSA+PiA0XTsKLSAgICAgICAgICAgICAgICAqcCsrID0gaGV4ZGlnaXRzW2MgJiAweGZdOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICpwKysgPSBjOwotICAgICAgICB9Ci0gICAgICAgIGFzc2VydChuZXdzaXplIC0gKHAgLSBQeVVuaWNvZGVfQVNfVU5JQ09ERSh2KSkgPj0gMSk7Ci0gICAgICAgICpwKysgPSBxdW90ZTsKLSAgICAgICAgd2hpbGUgKCpxdW90ZV9wb3N0Zml4KSB7Ci0gICAgICAgICAgICpwKysgPSAqcXVvdGVfcG9zdGZpeCsrOwotICAgICAgICB9Ci0gICAgICAgICpwID0gJ1wwJzsKLSAgICAgICAgaWYgKFB5VW5pY29kZV9SZXNpemUoJnYsIChwIC0gUHlVbmljb2RlX0FTX1VOSUNPREUodikpKSkgewotICAgICAgICAgICAgUHlfREVDUkVGKHYpOwotICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuIHY7CisgICAgICAgIGVsc2UgaWYgKCp0ZXN0ID09ICdcJycpCisgICAgICAgICAgICBxdW90ZSA9ICciJzsKICAgICB9CisKKyAgICBwID0gYnVmZmVyOworICAgIHdoaWxlICgqcXVvdGVfcHJlZml4KQorICAgICAgICAqcCsrID0gKnF1b3RlX3ByZWZpeCsrOworICAgICpwKysgPSBxdW90ZTsKKworICAgIGZvciAoaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykgeworICAgICAgICAvKiBUaGVyZSdzIGF0IGxlYXN0IGVub3VnaCByb29tIGZvciBhIGhleCBlc2NhcGUKKyAgICAgICAgICAgYW5kIGEgY2xvc2luZyBxdW90ZS4gKi8KKyAgICAgICAgYXNzZXJ0KG5ld3NpemUgLSAocCAtIGJ1ZmZlcikgPj0gNSk7CisgICAgICAgIGMgPSBzZWxmLT5vYl9ieXRlc1tpXTsKKyAgICAgICAgaWYgKGMgPT0gJ1wnJyB8fCBjID09ICdcXCcpCisgICAgICAgICAgICAqcCsrID0gJ1xcJywgKnArKyA9IGM7CisgICAgICAgIGVsc2UgaWYgKGMgPT0gJ1x0JykKKyAgICAgICAgICAgICpwKysgPSAnXFwnLCAqcCsrID0gJ3QnOworICAgICAgICBlbHNlIGlmIChjID09ICdcbicpCisgICAgICAgICAgICAqcCsrID0gJ1xcJywgKnArKyA9ICduJzsKKyAgICAgICAgZWxzZSBpZiAoYyA9PSAnXHInKQorICAgICAgICAgICAgKnArKyA9ICdcXCcsICpwKysgPSAncic7CisgICAgICAgIGVsc2UgaWYgKGMgPT0gMCkKKyAgICAgICAgICAgICpwKysgPSAnXFwnLCAqcCsrID0gJ3gnLCAqcCsrID0gJzAnLCAqcCsrID0gJzAnOworICAgICAgICBlbHNlIGlmIChjIDwgJyAnIHx8IGMgPj0gMHg3ZikgeworICAgICAgICAgICAgKnArKyA9ICdcXCc7CisgICAgICAgICAgICAqcCsrID0gJ3gnOworICAgICAgICAgICAgKnArKyA9IFB5X2hleGRpZ2l0c1soYyAmIDB4ZjApID4+IDRdOworICAgICAgICAgICAgKnArKyA9IFB5X2hleGRpZ2l0c1tjICYgMHhmXTsKKyAgICAgICAgfQorICAgICAgICBlbHNlCisgICAgICAgICAgICAqcCsrID0gYzsKKyAgICB9CisgICAgYXNzZXJ0KG5ld3NpemUgLSAocCAtIGJ1ZmZlcikgPj0gMSk7CisgICAgKnArKyA9IHF1b3RlOworICAgIHdoaWxlICgqcXVvdGVfcG9zdGZpeCkgeworICAgICAgICpwKysgPSAqcXVvdGVfcG9zdGZpeCsrOworICAgIH0KKworICAgIHYgPSBQeVVuaWNvZGVfRGVjb2RlQVNDSUkoYnVmZmVyLCBwIC0gYnVmZmVyLCBOVUxMKTsKKyAgICBQeU9iamVjdF9GcmVlKGJ1ZmZlcik7CisgICAgcmV0dXJuIHY7CiB9CiAKIHN0YXRpYyBQeU9iamVjdCAqCkBAIC05NjQsMjMgKzk1OSwyMCBAQAogICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICB9CiAKLSAgICAgICAgUHlfSU5DUkVGKFB5X05vdEltcGxlbWVudGVkKTsKLSAgICAgICAgcmV0dXJuIFB5X05vdEltcGxlbWVudGVkOworICAgICAgICBQeV9SRVRVUk5fTk9USU1QTEVNRU5URUQ7CiAgICAgfQogCiAgICAgc2VsZl9zaXplID0gX2dldGJ1ZmZlcihzZWxmLCAmc2VsZl9ieXRlcyk7CiAgICAgaWYgKHNlbGZfc2l6ZSA8IDApIHsKICAgICAgICAgUHlFcnJfQ2xlYXIoKTsKLSAgICAgICAgUHlfSU5DUkVGKFB5X05vdEltcGxlbWVudGVkKTsKLSAgICAgICAgcmV0dXJuIFB5X05vdEltcGxlbWVudGVkOworICAgICAgICBQeV9SRVRVUk5fTk9USU1QTEVNRU5URUQ7CiAgICAgfQogCiAgICAgb3RoZXJfc2l6ZSA9IF9nZXRidWZmZXIob3RoZXIsICZvdGhlcl9ieXRlcyk7CiAgICAgaWYgKG90aGVyX3NpemUgPCAwKSB7CiAgICAgICAgIFB5RXJyX0NsZWFyKCk7CiAgICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJnNlbGZfYnl0ZXMpOwotICAgICAgICBQeV9JTkNSRUYoUHlfTm90SW1wbGVtZW50ZWQpOwotICAgICAgICByZXR1cm4gUHlfTm90SW1wbGVtZW50ZWQ7CisgICAgICAgIFB5X1JFVFVSTl9OT1RJTVBMRU1FTlRFRDsKICAgICB9CiAKICAgICBpZiAoc2VsZl9zaXplICE9IG90aGVyX3NpemUgJiYgKG9wID09IFB5X0VRIHx8IG9wID09IFB5X05FKSkgewpAQCAtMTAyOCw3ICsxMDIwLDcgQEAKICAgICAgICAgUHlFcnJfUHJpbnQoKTsKICAgICB9CiAgICAgaWYgKHNlbGYtPm9iX2J5dGVzICE9IDApIHsKLSAgICAgICAgUHlNZW1fRnJlZShzZWxmLT5vYl9ieXRlcyk7CisgICAgICAgIFB5T2JqZWN0X0ZyZWUoc2VsZi0+b2JfYnl0ZXMpOwogICAgIH0KICAgICBQeV9UWVBFKHNlbGYpLT50cF9mcmVlKChQeU9iamVjdCAqKXNlbGYpOwogfQpAQCAtMTAzNyw2ICsxMDI5LDggQEAKIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCiAvKiBNZXRob2RzICovCiAKKyNkZWZpbmUgRkFTVFNFQVJDSCBmYXN0c2VhcmNoCisjZGVmaW5lIFNUUklOR0xJQihGKSBzdHJpbmdsaWJfIyNGCiAjZGVmaW5lIFNUUklOR0xJQl9DSEFSIGNoYXIKICNkZWZpbmUgU1RSSU5HTElCX0xFTiBQeUJ5dGVBcnJheV9HRVRfU0laRQogI2RlZmluZSBTVFJJTkdMSUJfU1RSIFB5Qnl0ZUFycmF5X0FTX1NUUklORwpAQCAtMTA3NywyNCArMTA3MSw0MSBAQAogYnl0ZWFycmF5X2ZpbmRfaW50ZXJuYWwoUHlCeXRlQXJyYXlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBpbnQgZGlyKQogewogICAgIFB5T2JqZWN0ICpzdWJvYmo7CisgICAgY2hhciBieXRlOwogICAgIFB5X2J1ZmZlciBzdWJidWY7CisgICAgY29uc3QgY2hhciAqc3ViOworICAgIFB5X3NzaXplX3Qgc3ViX2xlbjsKICAgICBQeV9zc2l6ZV90IHN0YXJ0PTAsIGVuZD1QWV9TU0laRV9UX01BWDsKICAgICBQeV9zc2l6ZV90IHJlczsKIAotICAgIGlmICghc3RyaW5nbGliX3BhcnNlX2FyZ3NfZmluZHMoImZpbmQvcmZpbmQvaW5kZXgvcmluZGV4IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyZ3MsICZzdWJvYmosICZzdGFydCwgJmVuZCkpCisgICAgaWYgKCFzdHJpbmdsaWJfcGFyc2VfYXJnc19maW5kc19ieXRlKCJmaW5kL3JmaW5kL2luZGV4L3JpbmRleCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyZ3MsICZzdWJvYmosICZieXRlLCAmc3RhcnQsICZlbmQpKQogICAgICAgICByZXR1cm4gLTI7Ci0gICAgaWYgKF9nZXRidWZmZXIoc3Vib2JqLCAmc3ViYnVmKSA8IDApCi0gICAgICAgIHJldHVybiAtMjsKKworICAgIGlmIChzdWJvYmopIHsKKyAgICAgICAgaWYgKF9nZXRidWZmZXIoc3Vib2JqLCAmc3ViYnVmKSA8IDApCisgICAgICAgICAgICByZXR1cm4gLTI7CisKKyAgICAgICAgc3ViID0gc3ViYnVmLmJ1ZjsKKyAgICAgICAgc3ViX2xlbiA9IHN1YmJ1Zi5sZW47CisgICAgfQorICAgIGVsc2UgeworICAgICAgICBzdWIgPSAmYnl0ZTsKKyAgICAgICAgc3ViX2xlbiA9IDE7CisgICAgfQorCiAgICAgaWYgKGRpciA+IDApCiAgICAgICAgIHJlcyA9IHN0cmluZ2xpYl9maW5kX3NsaWNlKAogICAgICAgICAgICAgUHlCeXRlQXJyYXlfQVNfU1RSSU5HKHNlbGYpLCBQeUJ5dGVBcnJheV9HRVRfU0laRShzZWxmKSwKLSAgICAgICAgICAgIHN1YmJ1Zi5idWYsIHN1YmJ1Zi5sZW4sIHN0YXJ0LCBlbmQpOworICAgICAgICAgICAgc3ViLCBzdWJfbGVuLCBzdGFydCwgZW5kKTsKICAgICBlbHNlCiAgICAgICAgIHJlcyA9IHN0cmluZ2xpYl9yZmluZF9zbGljZSgKICAgICAgICAgICAgIFB5Qnl0ZUFycmF5X0FTX1NUUklORyhzZWxmKSwgUHlCeXRlQXJyYXlfR0VUX1NJWkUoc2VsZiksCi0gICAgICAgICAgICBzdWJidWYuYnVmLCBzdWJidWYubGVuLCBzdGFydCwgZW5kKTsKLSAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZzdWJidWYpOworICAgICAgICAgICAgc3ViLCBzdWJfbGVuLCBzdGFydCwgZW5kKTsKKworICAgIGlmIChzdWJvYmopCisgICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJnN1YmJ1Zik7CisKICAgICByZXR1cm4gcmVzOwogfQogCkBAIC0xMTI3LDI2ICsxMTM4LDY2IEBACiBieXRlYXJyYXlfY291bnQoUHlCeXRlQXJyYXlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQogewogICAgIFB5T2JqZWN0ICpzdWJfb2JqOwotICAgIGNvbnN0IGNoYXIgKnN0ciA9IFB5Qnl0ZUFycmF5X0FTX1NUUklORyhzZWxmKTsKKyAgICBjb25zdCBjaGFyICpzdHIgPSBQeUJ5dGVBcnJheV9BU19TVFJJTkcoc2VsZiksICpzdWI7CisgICAgUHlfc3NpemVfdCBzdWJfbGVuOworICAgIGNoYXIgYnl0ZTsKICAgICBQeV9zc2l6ZV90IHN0YXJ0ID0gMCwgZW5kID0gUFlfU1NJWkVfVF9NQVg7CisKICAgICBQeV9idWZmZXIgdnN1YjsKICAgICBQeU9iamVjdCAqY291bnRfb2JqOwogCi0gICAgaWYgKCFzdHJpbmdsaWJfcGFyc2VfYXJnc19maW5kcygiY291bnQiLCBhcmdzLCAmc3ViX29iaiwgJnN0YXJ0LCAmZW5kKSkKKyAgICBpZiAoIXN0cmluZ2xpYl9wYXJzZV9hcmdzX2ZpbmRzX2J5dGUoImNvdW50IiwgYXJncywgJnN1Yl9vYmosICZieXRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmc3RhcnQsICZlbmQpKQogICAgICAgICByZXR1cm4gTlVMTDsKIAotICAgIGlmIChfZ2V0YnVmZmVyKHN1Yl9vYmosICZ2c3ViKSA8IDApCi0gICAgICAgIHJldHVybiBOVUxMOworICAgIGlmIChzdWJfb2JqKSB7CisgICAgICAgIGlmIChfZ2V0YnVmZmVyKHN1Yl9vYmosICZ2c3ViKSA8IDApCisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKworICAgICAgICBzdWIgPSB2c3ViLmJ1ZjsKKyAgICAgICAgc3ViX2xlbiA9IHZzdWIubGVuOworICAgIH0KKyAgICBlbHNlIHsKKyAgICAgICAgc3ViID0gJmJ5dGU7CisgICAgICAgIHN1Yl9sZW4gPSAxOworICAgIH0KIAogICAgIEFESlVTVF9JTkRJQ0VTKHN0YXJ0LCBlbmQsIFB5Qnl0ZUFycmF5X0dFVF9TSVpFKHNlbGYpKTsKIAogICAgIGNvdW50X29iaiA9IFB5TG9uZ19Gcm9tU3NpemVfdCgKLSAgICAgICAgc3RyaW5nbGliX2NvdW50KHN0ciArIHN0YXJ0LCBlbmQgLSBzdGFydCwgdnN1Yi5idWYsIHZzdWIubGVuLCBQWV9TU0laRV9UX01BWCkKKyAgICAgICAgc3RyaW5nbGliX2NvdW50KHN0ciArIHN0YXJ0LCBlbmQgLSBzdGFydCwgc3ViLCBzdWJfbGVuLCBQWV9TU0laRV9UX01BWCkKICAgICAgICAgKTsKLSAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZ2c3ViKTsKKworICAgIGlmIChzdWJfb2JqKQorICAgICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZ2c3ViKTsKKwogICAgIHJldHVybiBjb3VudF9vYmo7CiB9CiAKK1B5RG9jX1NUUlZBUihjbGVhcl9fZG9jX18sCisiQi5jbGVhcigpIC0+IE5vbmVcblwKK1xuXAorUmVtb3ZlIGFsbCBpdGVtcyBmcm9tIEIuIik7CisKK3N0YXRpYyBQeU9iamVjdCAqCitieXRlYXJyYXlfY2xlYXIoUHlCeXRlQXJyYXlPYmplY3QgKnNlbGYpCit7CisgICAgaWYgKFB5Qnl0ZUFycmF5X1Jlc2l6ZSgoUHlPYmplY3QgKilzZWxmLCAwKSA8IDApCisgICAgICAgIHJldHVybiBOVUxMOworICAgIFB5X1JFVFVSTl9OT05FOworfQorCitQeURvY19TVFJWQVIoY29weV9fZG9jX18sCisiQi5jb3B5KCkgLT4gYnl0ZWFycmF5XG5cCitcblwKK1JldHVybiBhIGNvcHkgb2YgQi4iKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVhcnJheV9jb3B5KFB5Qnl0ZUFycmF5T2JqZWN0ICpzZWxmKQoreworICAgIHJldHVybiBQeUJ5dGVBcnJheV9Gcm9tU3RyaW5nQW5kU2l6ZShQeUJ5dGVBcnJheV9BU19TVFJJTkcoKFB5T2JqZWN0ICopc2VsZiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5Qnl0ZUFycmF5X0dFVF9TSVpFKHNlbGYpKTsKK30KIAogUHlEb2NfU1RSVkFSKGluZGV4X19kb2NfXywKICJCLmluZGV4KHN1YlssIHN0YXJ0WywgZW5kXV0pIC0+IGludFxuXApAQCAtMTk4OCw3ICsyMDM5LDcgQEAKIH0KIAogUHlEb2NfU1RSVkFSKHNwbGl0X19kb2NfXywKLSJCLnNwbGl0KFtzZXBbLCBtYXhzcGxpdF1dKSAtPiBsaXN0IG9mIGJ5dGVhcnJheXNcblwKKyJCLnNwbGl0KHNlcD1Ob25lLCBtYXhzcGxpdD0tMSkgLT4gbGlzdCBvZiBieXRlYXJyYXlzXG5cCiBcblwKIFJldHVybiBhIGxpc3Qgb2YgdGhlIHNlY3Rpb25zIGluIEIsIHVzaW5nIHNlcCBhcyB0aGUgZGVsaW1pdGVyLlxuXAogSWYgc2VwIGlzIG5vdCBnaXZlbiwgQiBpcyBzcGxpdCBvbiBBU0NJSSB3aGl0ZXNwYWNlIGNoYXJhY3RlcnNcblwKQEAgLTE5OTYsMTUgKzIwNDcsMTcgQEAKIElmIG1heHNwbGl0IGlzIGdpdmVuLCBhdCBtb3N0IG1heHNwbGl0IHNwbGl0cyBhcmUgZG9uZS4iKTsKIAogc3RhdGljIFB5T2JqZWN0ICoKLWJ5dGVhcnJheV9zcGxpdChQeUJ5dGVBcnJheU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitieXRlYXJyYXlfc3BsaXQoUHlCeXRlQXJyYXlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dkcykKIHsKKyAgICBzdGF0aWMgY2hhciAqa3dsaXN0W10gPSB7InNlcCIsICJtYXhzcGxpdCIsIDB9OwogICAgIFB5X3NzaXplX3QgbGVuID0gUHlCeXRlQXJyYXlfR0VUX1NJWkUoc2VsZiksIG47CiAgICAgUHlfc3NpemVfdCBtYXhzcGxpdCA9IC0xOwogICAgIGNvbnN0IGNoYXIgKnMgPSBQeUJ5dGVBcnJheV9BU19TVFJJTkcoc2VsZiksICpzdWI7CiAgICAgUHlPYmplY3QgKmxpc3QsICpzdWJvYmogPSBQeV9Ob25lOwogICAgIFB5X2J1ZmZlciB2c3ViOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJ8T246c3BsaXQiLCAmc3Vib2JqLCAmbWF4c3BsaXQpKQorICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3ZHMsICJ8T246c3BsaXQiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGt3bGlzdCwgJnN1Ym9iaiwgJm1heHNwbGl0KSkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgaWYgKG1heHNwbGl0IDwgMCkKICAgICAgICAgbWF4c3BsaXQgPSBQWV9TU0laRV9UX01BWDsKQEAgLTIwODAsNyArMjEzMyw3IEBACiB9CiAKIFB5RG9jX1NUUlZBUihyc3BsaXRfX2RvY19fLAotIkIucnNwbGl0KHNlcFssIG1heHNwbGl0XSkgLT4gbGlzdCBvZiBieXRlYXJyYXlzXG5cCisiQi5yc3BsaXQoc2VwPU5vbmUsIG1heHNwbGl0PS0xKSAtPiBsaXN0IG9mIGJ5dGVhcnJheXNcblwKIFxuXAogUmV0dXJuIGEgbGlzdCBvZiB0aGUgc2VjdGlvbnMgaW4gQiwgdXNpbmcgc2VwIGFzIHRoZSBkZWxpbWl0ZXIsXG5cCiBzdGFydGluZyBhdCB0aGUgZW5kIG9mIEIgYW5kIHdvcmtpbmcgdG8gdGhlIGZyb250LlxuXApAQCAtMjA4OSwxNSArMjE0MiwxNyBAQAogSWYgbWF4c3BsaXQgaXMgZ2l2ZW4sIGF0IG1vc3QgbWF4c3BsaXQgc3BsaXRzIGFyZSBkb25lLiIpOwogCiBzdGF0aWMgUHlPYmplY3QgKgotYnl0ZWFycmF5X3JzcGxpdChQeUJ5dGVBcnJheU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitieXRlYXJyYXlfcnNwbGl0KFB5Qnl0ZUFycmF5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3ZHMpCiB7CisgICAgc3RhdGljIGNoYXIgKmt3bGlzdFtdID0geyJzZXAiLCAibWF4c3BsaXQiLCAwfTsKICAgICBQeV9zc2l6ZV90IGxlbiA9IFB5Qnl0ZUFycmF5X0dFVF9TSVpFKHNlbGYpLCBuOwogICAgIFB5X3NzaXplX3QgbWF4c3BsaXQgPSAtMTsKICAgICBjb25zdCBjaGFyICpzID0gUHlCeXRlQXJyYXlfQVNfU1RSSU5HKHNlbGYpLCAqc3ViOwogICAgIFB5T2JqZWN0ICpsaXN0LCAqc3Vib2JqID0gUHlfTm9uZTsKICAgICBQeV9idWZmZXIgdnN1YjsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAifE9uOnJzcGxpdCIsICZzdWJvYmosICZtYXhzcGxpdCkpCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dkcywgInxPbjpyc3BsaXQiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGt3bGlzdCwgJnN1Ym9iaiwgJm1heHNwbGl0KSkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgaWYgKG1heHNwbGl0IDwgMCkKICAgICAgICAgbWF4c3BsaXQgPSBQWV9TU0laRV9UX01BWDsKQEAgLTI0NDQsNyArMjQ5OSw3IEBACiBzdGF0aWMgUHlPYmplY3QgKgogYnl0ZWFycmF5X3JzdHJpcChQeUJ5dGVBcnJheU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCiB7Ci0gICAgUHlfc3NpemVfdCBsZWZ0LCByaWdodCwgbXlzaXplLCBhcmdzaXplOworICAgIFB5X3NzaXplX3QgcmlnaHQsIG15c2l6ZSwgYXJnc2l6ZTsKICAgICB2b2lkICpteXB0ciwgKmFyZ3B0cjsKICAgICBQeU9iamVjdCAqYXJnID0gUHlfTm9uZTsKICAgICBQeV9idWZmZXIgdmFyZzsKQEAgLTI0NjIsMTEgKzI1MTcsMTAgQEAKICAgICB9CiAgICAgbXlwdHIgPSBzZWxmLT5vYl9ieXRlczsKICAgICBteXNpemUgPSBQeV9TSVpFKHNlbGYpOwotICAgIGxlZnQgPSAwOwogICAgIHJpZ2h0ID0gcnN0cmlwX2hlbHBlcihteXB0ciwgbXlzaXplLCBhcmdwdHIsIGFyZ3NpemUpOwogICAgIGlmIChhcmcgIT0gUHlfTm9uZSkKICAgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmdmFyZyk7Ci0gICAgcmV0dXJuIFB5Qnl0ZUFycmF5X0Zyb21TdHJpbmdBbmRTaXplKHNlbGYtPm9iX2J5dGVzICsgbGVmdCwgcmlnaHQgLSBsZWZ0KTsKKyAgICByZXR1cm4gUHlCeXRlQXJyYXlfRnJvbVN0cmluZ0FuZFNpemUoc2VsZi0+b2JfYnl0ZXMsIHJpZ2h0KTsKIH0KIAogUHlEb2NfU1RSVkFSKGRlY29kZV9kb2MsCkBAIC0yNTg4LDExICsyNjQyLDEzIEBACiBpcyBnaXZlbiBhbmQgdHJ1ZS4iKTsKIAogc3RhdGljIFB5T2JqZWN0KgotYnl0ZWFycmF5X3NwbGl0bGluZXMoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorYnl0ZWFycmF5X3NwbGl0bGluZXMoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dkcykKIHsKKyAgICBzdGF0aWMgY2hhciAqa3dsaXN0W10gPSB7ImtlZXBlbmRzIiwgMH07CiAgICAgaW50IGtlZXBlbmRzID0gMDsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAifGk6c3BsaXRsaW5lcyIsICZrZWVwZW5kcykpCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dkcywgInxpOnNwbGl0bGluZXMiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGt3bGlzdCwgJmtlZXBlbmRzKSkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKICAgICByZXR1cm4gc3RyaW5nbGliX3NwbGl0bGluZXMoCkBAIC0yNjA5LDcgKzI2NjUsNyBAQAogRXhhbXBsZTogYnl0ZWFycmF5LmZyb21oZXgoJ0I5IDAxRUYnKSAtPiBieXRlYXJyYXkoYidcXHhiOVxceDAxXFx4ZWYnKS4iKTsKIAogc3RhdGljIGludAotaGV4X2RpZ2l0X3RvX2ludChQeV9VTklDT0RFIGMpCitoZXhfZGlnaXRfdG9faW50KFB5X1VDUzQgYykKIHsKICAgICBpZiAoYyA+PSAxMjgpCiAgICAgICAgIHJldHVybiAtMTsKQEAgLTI2MjksMTUgKzI2ODUsMjAgQEAKIHsKICAgICBQeU9iamVjdCAqbmV3Ynl0ZXMsICpoZXhvYmo7CiAgICAgY2hhciAqYnVmOwotICAgIFB5X1VOSUNPREUgKmhleDsKICAgICBQeV9zc2l6ZV90IGhleGxlbiwgYnl0ZXNsZW4sIGksIGo7CiAgICAgaW50IHRvcCwgYm90OworICAgIHZvaWQgKmRhdGE7CisgICAgdW5zaWduZWQgaW50IGtpbmQ7CiAKICAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIlU6ZnJvbWhleCIsICZoZXhvYmopKQogICAgICAgICByZXR1cm4gTlVMTDsKICAgICBhc3NlcnQoUHlVbmljb2RlX0NoZWNrKGhleG9iaikpOwotICAgIGhleGxlbiA9IFB5VW5pY29kZV9HRVRfU0laRShoZXhvYmopOwotICAgIGhleCA9IFB5VW5pY29kZV9BU19VTklDT0RFKGhleG9iaik7CisgICAgaWYgKFB5VW5pY29kZV9SRUFEWShoZXhvYmopKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBraW5kID0gUHlVbmljb2RlX0tJTkQoaGV4b2JqKTsKKyAgICBkYXRhID0gUHlVbmljb2RlX0RBVEEoaGV4b2JqKTsKKyAgICBoZXhsZW4gPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChoZXhvYmopOworCiAgICAgYnl0ZXNsZW4gPSBoZXhsZW4vMjsgLyogVGhpcyBvdmVyZXN0aW1hdGVzIGlmIHRoZXJlIGFyZSBzcGFjZXMgKi8KICAgICBuZXdieXRlcyA9IFB5Qnl0ZUFycmF5X0Zyb21TdHJpbmdBbmRTaXplKE5VTEwsIGJ5dGVzbGVuKTsKICAgICBpZiAoIW5ld2J5dGVzKQpAQCAtMjY0NSwxMiArMjcwNiwxMiBAQAogICAgIGJ1ZiA9IFB5Qnl0ZUFycmF5X0FTX1NUUklORyhuZXdieXRlcyk7CiAgICAgZm9yIChpID0gaiA9IDA7IGkgPCBoZXhsZW47IGkgKz0gMikgewogICAgICAgICAvKiBza2lwIG92ZXIgc3BhY2VzIGluIHRoZSBpbnB1dCAqLwotICAgICAgICB3aGlsZSAoaGV4W2ldID09ICcgJykKKyAgICAgICAgd2hpbGUgKFB5VW5pY29kZV9SRUFEKGtpbmQsIGRhdGEsIGkpID09ICcgJykKICAgICAgICAgICAgIGkrKzsKICAgICAgICAgaWYgKGkgPj0gaGV4bGVuKQogICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIHRvcCA9IGhleF9kaWdpdF90b19pbnQoaGV4W2ldKTsKLSAgICAgICAgYm90ID0gaGV4X2RpZ2l0X3RvX2ludChoZXhbaSsxXSk7CisgICAgICAgIHRvcCA9IGhleF9kaWdpdF90b19pbnQoUHlVbmljb2RlX1JFQUQoa2luZCwgZGF0YSwgaSkpOworICAgICAgICBib3QgPSBoZXhfZGlnaXRfdG9faW50KFB5VW5pY29kZV9SRUFEKGtpbmQsIGRhdGEsIGkrMSkpOwogICAgICAgICBpZiAodG9wID09IC0xIHx8IGJvdCA9PSAtMSkgewogICAgICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1ZhbHVlRXJyb3IsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIm5vbi1oZXhhZGVjaW1hbCBudW1iZXIgZm91bmQgaW4gIgpAQCAtMjY2OCwyNiArMjcyOSw1OSBAQAogICAgIHJldHVybiBOVUxMOwogfQogCi1QeURvY19TVFJWQVIocmVkdWNlX2RvYywgIlJldHVybiBzdGF0ZSBpbmZvcm1hdGlvbiBmb3IgcGlja2xpbmcuIik7CiAKIHN0YXRpYyBQeU9iamVjdCAqCi1ieXRlYXJyYXlfcmVkdWNlKFB5Qnl0ZUFycmF5T2JqZWN0ICpzZWxmKQorX2NvbW1vbl9yZWR1Y2UoUHlCeXRlQXJyYXlPYmplY3QgKnNlbGYsIGludCBwcm90bykKIHsKLSAgICBQeU9iamVjdCAqbGF0aW4xLCAqZGljdDsKLSAgICBpZiAoc2VsZi0+b2JfYnl0ZXMpCi0gICAgICAgIGxhdGluMSA9IFB5VW5pY29kZV9EZWNvZGVMYXRpbjEoc2VsZi0+b2JfYnl0ZXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlfU0laRShzZWxmKSwgTlVMTCk7Ci0gICAgZWxzZQotICAgICAgICBsYXRpbjEgPSBQeVVuaWNvZGVfRnJvbVN0cmluZygiIik7CisgICAgUHlPYmplY3QgKmRpY3Q7CisgICAgX1B5X0lERU5USUZJRVIoX19kaWN0X18pOwogCi0gICAgZGljdCA9IFB5T2JqZWN0X0dldEF0dHJTdHJpbmcoKFB5T2JqZWN0ICopc2VsZiwgIl9fZGljdF9fIik7CisgICAgZGljdCA9IF9QeU9iamVjdF9HZXRBdHRySWQoKFB5T2JqZWN0ICopc2VsZiwgJlB5SWRfX19kaWN0X18pOwogICAgIGlmIChkaWN0ID09IE5VTEwpIHsKICAgICAgICAgUHlFcnJfQ2xlYXIoKTsKICAgICAgICAgZGljdCA9IFB5X05vbmU7CiAgICAgICAgIFB5X0lOQ1JFRihkaWN0KTsKICAgICB9CiAKLSAgICByZXR1cm4gUHlfQnVpbGRWYWx1ZSgiKE8oTnMpTikiLCBQeV9UWVBFKHNlbGYpLCBsYXRpbjEsICJsYXRpbi0xIiwgZGljdCk7CisgICAgaWYgKHByb3RvIDwgMykgeworICAgICAgICAvKiB1c2Ugc3RyIGJhc2VkIHJlZHVjdGlvbiBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgd2l0aCBQeXRob24gMi54ICovCisgICAgICAgIFB5T2JqZWN0ICpsYXRpbjE7CisgICAgICAgIGlmIChzZWxmLT5vYl9ieXRlcykKKyAgICAgICAgICAgIGxhdGluMSA9IFB5VW5pY29kZV9EZWNvZGVMYXRpbjEoc2VsZi0+b2JfYnl0ZXMsIFB5X1NJWkUoc2VsZiksIE5VTEwpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBsYXRpbjEgPSBQeVVuaWNvZGVfRnJvbVN0cmluZygiIik7CisgICAgICAgIHJldHVybiBQeV9CdWlsZFZhbHVlKCIoTyhOcylOKSIsIFB5X1RZUEUoc2VsZiksIGxhdGluMSwgImxhdGluLTEiLCBkaWN0KTsKKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIC8qIHVzZSBtb3JlIGVmZmljaWVudCBieXRlIGJhc2VkIHJlZHVjdGlvbiAqLworICAgICAgICBpZiAoc2VsZi0+b2JfYnl0ZXMpIHsKKyAgICAgICAgICAgIHJldHVybiBQeV9CdWlsZFZhbHVlKCIoTyh5IylOKSIsIFB5X1RZUEUoc2VsZiksIHNlbGYtPm9iX2J5dGVzLCBQeV9TSVpFKHNlbGYpLCBkaWN0KTsKKyAgICAgICAgfQorICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIHJldHVybiBQeV9CdWlsZFZhbHVlKCIoTygpTikiLCBQeV9UWVBFKHNlbGYpLCBkaWN0KTsKKyAgICAgICAgfQorICAgIH0KK30KKworUHlEb2NfU1RSVkFSKHJlZHVjZV9kb2MsICJSZXR1cm4gc3RhdGUgaW5mb3JtYXRpb24gZm9yIHBpY2tsaW5nLiIpOworCitzdGF0aWMgUHlPYmplY3QgKgorYnl0ZWFycmF5X3JlZHVjZShQeUJ5dGVBcnJheU9iamVjdCAqc2VsZikKK3sKKyAgICByZXR1cm4gX2NvbW1vbl9yZWR1Y2Uoc2VsZiwgMik7Cit9CisKK1B5RG9jX1NUUlZBUihyZWR1Y2VfZXhfZG9jLCAiUmV0dXJuIHN0YXRlIGluZm9ybWF0aW9uIGZvciBwaWNrbGluZy4iKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK2J5dGVhcnJheV9yZWR1Y2VfZXgoUHlCeXRlQXJyYXlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQoreworICAgIGludCBwcm90byA9IDA7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgInxpOl9fcmVkdWNlX2V4X18iLCAmcHJvdG8pKQorICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIHJldHVybiBfY29tbW9uX3JlZHVjZShzZWxmLCBwcm90byk7CiB9CiAKIFB5RG9jX1NUUlZBUihzaXplb2ZfZG9jLApAQCAtMjczMSwxMSArMjgyNSwxNCBAQAogYnl0ZWFycmF5X21ldGhvZHNbXSA9IHsKICAgICB7Il9fYWxsb2NfXyIsIChQeUNGdW5jdGlvbilieXRlYXJyYXlfYWxsb2MsIE1FVEhfTk9BUkdTLCBhbGxvY19kb2N9LAogICAgIHsiX19yZWR1Y2VfXyIsIChQeUNGdW5jdGlvbilieXRlYXJyYXlfcmVkdWNlLCBNRVRIX05PQVJHUywgcmVkdWNlX2RvY30sCisgICAgeyJfX3JlZHVjZV9leF9fIiwgKFB5Q0Z1bmN0aW9uKWJ5dGVhcnJheV9yZWR1Y2VfZXgsIE1FVEhfVkFSQVJHUywgcmVkdWNlX2V4X2RvY30sCiAgICAgeyJfX3NpemVvZl9fIiwgKFB5Q0Z1bmN0aW9uKWJ5dGVhcnJheV9zaXplb2YsIE1FVEhfTk9BUkdTLCBzaXplb2ZfZG9jfSwKICAgICB7ImFwcGVuZCIsIChQeUNGdW5jdGlvbilieXRlYXJyYXlfYXBwZW5kLCBNRVRIX08sIGFwcGVuZF9fZG9jX199LAogICAgIHsiY2FwaXRhbGl6ZSIsIChQeUNGdW5jdGlvbilzdHJpbmdsaWJfY2FwaXRhbGl6ZSwgTUVUSF9OT0FSR1MsCiAgICAgIF9QeV9jYXBpdGFsaXplX19kb2NfX30sCiAgICAgeyJjZW50ZXIiLCAoUHlDRnVuY3Rpb24pc3RyaW5nbGliX2NlbnRlciwgTUVUSF9WQVJBUkdTLCBjZW50ZXJfX2RvY19ffSwKKyAgICB7ImNsZWFyIiwgKFB5Q0Z1bmN0aW9uKWJ5dGVhcnJheV9jbGVhciwgTUVUSF9OT0FSR1MsIGNsZWFyX19kb2NfX30sCisgICAgeyJjb3B5IiwgKFB5Q0Z1bmN0aW9uKWJ5dGVhcnJheV9jb3B5LCBNRVRIX05PQVJHUywgY29weV9fZG9jX199LAogICAgIHsiY291bnQiLCAoUHlDRnVuY3Rpb24pYnl0ZWFycmF5X2NvdW50LCBNRVRIX1ZBUkFSR1MsIGNvdW50X19kb2NfX30sCiAgICAgeyJkZWNvZGUiLCAoUHlDRnVuY3Rpb24pYnl0ZWFycmF5X2RlY29kZSwgTUVUSF9WQVJBUkdTIHwgTUVUSF9LRVlXT1JEUywgZGVjb2RlX2RvY30sCiAgICAgeyJlbmRzd2l0aCIsIChQeUNGdW5jdGlvbilieXRlYXJyYXlfZW5kc3dpdGgsIE1FVEhfVkFSQVJHUywgZW5kc3dpdGhfX2RvY19ffSwKQEAgLTI3NzYsMTEgKzI4NzMsMTEgQEAKICAgICB7InJpbmRleCIsIChQeUNGdW5jdGlvbilieXRlYXJyYXlfcmluZGV4LCBNRVRIX1ZBUkFSR1MsIHJpbmRleF9fZG9jX199LAogICAgIHsicmp1c3QiLCAoUHlDRnVuY3Rpb24pc3RyaW5nbGliX3JqdXN0LCBNRVRIX1ZBUkFSR1MsIHJqdXN0X19kb2NfX30sCiAgICAgeyJycGFydGl0aW9uIiwgKFB5Q0Z1bmN0aW9uKWJ5dGVhcnJheV9ycGFydGl0aW9uLCBNRVRIX08sIHJwYXJ0aXRpb25fX2RvY19ffSwKLSAgICB7InJzcGxpdCIsIChQeUNGdW5jdGlvbilieXRlYXJyYXlfcnNwbGl0LCBNRVRIX1ZBUkFSR1MsIHJzcGxpdF9fZG9jX199LAorICAgIHsicnNwbGl0IiwgKFB5Q0Z1bmN0aW9uKWJ5dGVhcnJheV9yc3BsaXQsIE1FVEhfVkFSQVJHUyB8IE1FVEhfS0VZV09SRFMsIHJzcGxpdF9fZG9jX199LAogICAgIHsicnN0cmlwIiwgKFB5Q0Z1bmN0aW9uKWJ5dGVhcnJheV9yc3RyaXAsIE1FVEhfVkFSQVJHUywgcnN0cmlwX19kb2NfX30sCi0gICAgeyJzcGxpdCIsIChQeUNGdW5jdGlvbilieXRlYXJyYXlfc3BsaXQsIE1FVEhfVkFSQVJHUywgc3BsaXRfX2RvY19ffSwKLSAgICB7InNwbGl0bGluZXMiLCAoUHlDRnVuY3Rpb24pYnl0ZWFycmF5X3NwbGl0bGluZXMsIE1FVEhfVkFSQVJHUywKLSAgICAgc3BsaXRsaW5lc19fZG9jX199LAorICAgIHsic3BsaXQiLCAoUHlDRnVuY3Rpb24pYnl0ZWFycmF5X3NwbGl0LCBNRVRIX1ZBUkFSR1MgfCBNRVRIX0tFWVdPUkRTLCBzcGxpdF9fZG9jX199LAorICAgIHsic3BsaXRsaW5lcyIsIChQeUNGdW5jdGlvbilieXRlYXJyYXlfc3BsaXRsaW5lcywKKyAgICAgTUVUSF9WQVJBUkdTIHwgTUVUSF9LRVlXT1JEUywgc3BsaXRsaW5lc19fZG9jX199LAogICAgIHsic3RhcnRzd2l0aCIsIChQeUNGdW5jdGlvbilieXRlYXJyYXlfc3RhcnRzd2l0aCwgTUVUSF9WQVJBUkdTICwKICAgICAgc3RhcnRzd2l0aF9fZG9jX199LAogICAgIHsic3RyaXAiLCAoUHlDRnVuY3Rpb24pYnl0ZWFycmF5X3N0cmlwLCBNRVRIX1ZBUkFSR1MsIHN0cmlwX19kb2NfX30sCmRpZmYgLS1naXQgYS9PYmplY3RzL2J5dGVzX21ldGhvZHMuYyBiL09iamVjdHMvYnl0ZXNfbWV0aG9kcy5jCmluZGV4IDcyMzNjZWEuLmVmM2MyZjcgMTAwNjQ0Ci0tLSBhL09iamVjdHMvYnl0ZXNfbWV0aG9kcy5jCisrKyBiL09iamVjdHMvYnl0ZXNfbWV0aG9kcy5jCkBAIC0yNDgsMTIgKzI0OCw4IEBACiB7CiAgICAgUHlfc3NpemVfdCBpOwogCi0gICAgUHlfTUVNQ1BZKHJlc3VsdCwgY3B0ciwgbGVuKTsKLQogICAgIGZvciAoaSA9IDA7IGkgPCBsZW47IGkrKykgewotICAgICAgICBpbnQgYyA9IFB5X0NIQVJNQVNLKHJlc3VsdFtpXSk7Ci0gICAgICAgIGlmIChQeV9JU1VQUEVSKGMpKQotICAgICAgICAgICAgcmVzdWx0W2ldID0gUHlfVE9MT1dFUihjKTsKKyAgICAgICAgcmVzdWx0W2ldID0gUHlfVE9MT1dFUigodW5zaWduZWQgY2hhcikgY3B0cltpXSk7CiAgICAgfQogfQogCkBAIC0yNjgsMTIgKzI2NCw4IEBACiB7CiAgICAgUHlfc3NpemVfdCBpOwogCi0gICAgUHlfTUVNQ1BZKHJlc3VsdCwgY3B0ciwgbGVuKTsKLQogICAgIGZvciAoaSA9IDA7IGkgPCBsZW47IGkrKykgewotICAgICAgICBpbnQgYyA9IFB5X0NIQVJNQVNLKHJlc3VsdFtpXSk7Ci0gICAgICAgIGlmIChQeV9JU0xPV0VSKGMpKQotICAgICAgICAgICAgcmVzdWx0W2ldID0gUHlfVE9VUFBFUihjKTsKKyAgICAgICAgcmVzdWx0W2ldID0gUHlfVE9VUFBFUigodW5zaWduZWQgY2hhcikgY3B0cltpXSk7CiAgICAgfQogfQogCmRpZmYgLS1naXQgYS9PYmplY3RzL2J5dGVzb2JqZWN0LmMgYi9PYmplY3RzL2J5dGVzb2JqZWN0LmMKaW5kZXggNjJkZGYyMS4uMWQyZmVkNyAxMDA2NDQKLS0tIGEvT2JqZWN0cy9ieXRlc29iamVjdC5jCisrKyBiL09iamVjdHMvYnl0ZXNvYmplY3QuYwpAQCAtNDEsMTAgKzQxLDYgQEAKICNkZWZpbmUgUHlCeXRlc09iamVjdF9TSVpFIChvZmZzZXRvZihQeUJ5dGVzT2JqZWN0LCBvYl9zdmFsKSArIDEpCiAKIC8qCi0gICBGb3IgYm90aCBQeUJ5dGVzX0Zyb21TdHJpbmcoKSBhbmQgUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZSgpLCB0aGUKLSAgIHBhcmFtZXRlciBgc2l6ZScgZGVub3RlcyBudW1iZXIgb2YgY2hhcmFjdGVycyB0byBhbGxvY2F0ZSwgbm90IGNvdW50aW5nIGFueQotICAgbnVsbCB0ZXJtaW5hdGluZyBjaGFyYWN0ZXIuCi0KICAgIEZvciBQeUJ5dGVzX0Zyb21TdHJpbmcoKSwgdGhlIHBhcmFtZXRlciBgc3RyJyBwb2ludHMgdG8gYSBudWxsLXRlcm1pbmF0ZWQKICAgIHN0cmluZyBjb250YWluaW5nIGV4YWN0bHkgYHNpemUnIGJ5dGVzLgogCkBAIC02MSw4ICs1Nyw4IEBACiAKICAgIFRoZSBQeU9iamVjdCBtZW1iZXIgYG9wLT5vYl9zaXplJywgd2hpY2ggZGVub3RlcyB0aGUgbnVtYmVyIG9mICJleHRyYQogICAgaXRlbXMiIGluIGEgdmFyaWFibGUtc2l6ZSBvYmplY3QsIHdpbGwgY29udGFpbiB0aGUgbnVtYmVyIG9mIGJ5dGVzCi0gICBhbGxvY2F0ZWQgZm9yIHN0cmluZyBkYXRhLCBub3QgY291bnRpbmcgdGhlIG51bGwgdGVybWluYXRpbmcgY2hhcmFjdGVyLiAgSXQKLSAgIGlzIHRoZXJlZm9yZSBlcXVhbCB0byB0aGUgZXF1YWwgdG8gdGhlIGBzaXplJyBwYXJhbWV0ZXIgKGZvcgorICAgYWxsb2NhdGVkIGZvciBzdHJpbmcgZGF0YSwgbm90IGNvdW50aW5nIHRoZSBudWxsIHRlcm1pbmF0aW5nIGNoYXJhY3Rlci4KKyAgIEl0IGlzIHRoZXJlZm9yZSBlcXVhbCB0byB0aGUgYHNpemUnIHBhcmFtZXRlciAoZm9yCiAgICBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplKCkpIG9yIHRoZSBsZW5ndGggb2YgdGhlIHN0cmluZyBpbiB0aGUgYHN0cicKICAgIHBhcmFtZXRlciAoZm9yIFB5Qnl0ZXNfRnJvbVN0cmluZygpKS4KICovCkBAIC01NjgsNzYgKzU2NCw2OSBAQAogUHlPYmplY3QgKgogUHlCeXRlc19SZXByKFB5T2JqZWN0ICpvYmosIGludCBzbWFydHF1b3RlcykKIHsKLSAgICBzdGF0aWMgY29uc3QgY2hhciAqaGV4ZGlnaXRzID0gIjAxMjM0NTY3ODlhYmNkZWYiOwogICAgIHJlZ2lzdGVyIFB5Qnl0ZXNPYmplY3QqIG9wID0gKFB5Qnl0ZXNPYmplY3QqKSBvYmo7Ci0gICAgUHlfc3NpemVfdCBsZW5ndGggPSBQeV9TSVpFKG9wKTsKLSAgICBzaXplX3QgbmV3c2l6ZTsKKyAgICBQeV9zc2l6ZV90IGksIGxlbmd0aCA9IFB5X1NJWkUob3ApOworICAgIHNpemVfdCBuZXdzaXplLCBzcXVvdGVzLCBkcXVvdGVzOwogICAgIFB5T2JqZWN0ICp2OwotICAgIGlmIChsZW5ndGggPiAoUFlfU1NJWkVfVF9NQVggLSAzKSAvIDQpIHsKKyAgICB1bnNpZ25lZCBjaGFyIHF1b3RlLCAqcywgKnA7CisKKyAgICAvKiBDb21wdXRlIHNpemUgb2Ygb3V0cHV0IHN0cmluZyAqLworICAgIHNxdW90ZXMgPSBkcXVvdGVzID0gMDsKKyAgICBuZXdzaXplID0gMzsgLyogYicnICovCisgICAgcyA9ICh1bnNpZ25lZCBjaGFyKilvcC0+b2Jfc3ZhbDsKKyAgICBmb3IgKGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHsKKyAgICAgICAgc3dpdGNoKHNbaV0pIHsKKyAgICAgICAgY2FzZSAnXCcnOiBzcXVvdGVzKys7IG5ld3NpemUrKzsgYnJlYWs7CisgICAgICAgIGNhc2UgJyInOiAgZHF1b3RlcysrOyBuZXdzaXplKys7IGJyZWFrOworICAgICAgICBjYXNlICdcXCc6IGNhc2UgJ1x0JzogY2FzZSAnXG4nOiBjYXNlICdccic6CisgICAgICAgICAgICBuZXdzaXplICs9IDI7IGJyZWFrOyAvKiBcQyAqLworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgaWYgKHNbaV0gPCAnICcgfHwgc1tpXSA+PSAweDdmKQorICAgICAgICAgICAgICAgIG5ld3NpemUgKz0gNDsgLyogXHhISCAqLworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIG5ld3NpemUrKzsKKyAgICAgICAgfQorICAgIH0KKyAgICBxdW90ZSA9ICdcJyc7CisgICAgaWYgKHNtYXJ0cXVvdGVzICYmIHNxdW90ZXMgJiYgIWRxdW90ZXMpCisgICAgICAgIHF1b3RlID0gJyInOworICAgIGlmIChzcXVvdGVzICYmIHF1b3RlID09ICdcJycpCisgICAgICAgIG5ld3NpemUgKz0gc3F1b3RlczsKKworICAgIGlmIChuZXdzaXplID4gKFBZX1NTSVpFX1RfTUFYIC0gc2l6ZW9mKFB5VW5pY29kZU9iamVjdCkgLSAxKSkgewogICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfT3ZlcmZsb3dFcnJvciwKICAgICAgICAgICAgICJieXRlcyBvYmplY3QgaXMgdG9vIGxhcmdlIHRvIG1ha2UgcmVwciIpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9Ci0gICAgbmV3c2l6ZSA9IDMgKyA0ICogbGVuZ3RoOwotICAgIHYgPSBQeVVuaWNvZGVfRnJvbVVuaWNvZGUoTlVMTCwgbmV3c2l6ZSk7CisKKyAgICB2ID0gUHlVbmljb2RlX05ldyhuZXdzaXplLCAxMjcpOwogICAgIGlmICh2ID09IE5VTEwpIHsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQotICAgIGVsc2UgewotICAgICAgICByZWdpc3RlciBQeV9zc2l6ZV90IGk7Ci0gICAgICAgIHJlZ2lzdGVyIFB5X1VOSUNPREUgYzsKLSAgICAgICAgcmVnaXN0ZXIgUHlfVU5JQ09ERSAqcCA9IFB5VW5pY29kZV9BU19VTklDT0RFKHYpOwotICAgICAgICBpbnQgcXVvdGU7CisgICAgcCA9IFB5VW5pY29kZV8xQllURV9EQVRBKHYpOwogCi0gICAgICAgIC8qIEZpZ3VyZSBvdXQgd2hpY2ggcXVvdGUgdG8gdXNlOyBzaW5nbGUgaXMgcHJlZmVycmVkICovCi0gICAgICAgIHF1b3RlID0gJ1wnJzsKLSAgICAgICAgaWYgKHNtYXJ0cXVvdGVzKSB7Ci0gICAgICAgICAgICBjaGFyICp0ZXN0LCAqc3RhcnQ7Ci0gICAgICAgICAgICBzdGFydCA9IFB5Qnl0ZXNfQVNfU1RSSU5HKG9wKTsKLSAgICAgICAgICAgIGZvciAodGVzdCA9IHN0YXJ0OyB0ZXN0IDwgc3RhcnQrbGVuZ3RoOyArK3Rlc3QpIHsKLSAgICAgICAgICAgICAgICBpZiAoKnRlc3QgPT0gJyInKSB7Ci0gICAgICAgICAgICAgICAgICAgIHF1b3RlID0gJ1wnJzsgLyogYmFjayB0byBzaW5nbGUgKi8KLSAgICAgICAgICAgICAgICAgICAgZ290byBkZWNpZGVkOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBlbHNlIGlmICgqdGVzdCA9PSAnXCcnKQotICAgICAgICAgICAgICAgICAgICBxdW90ZSA9ICciJzsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGRlY2lkZWQ6Ci0gICAgICAgICAgICA7CisgICAgKnArKyA9ICdiJywgKnArKyA9IHF1b3RlOworICAgIGZvciAoaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykgeworICAgICAgICB1bnNpZ25lZCBjaGFyIGMgPSBvcC0+b2Jfc3ZhbFtpXTsKKyAgICAgICAgaWYgKGMgPT0gcXVvdGUgfHwgYyA9PSAnXFwnKQorICAgICAgICAgICAgKnArKyA9ICdcXCcsICpwKysgPSBjOworICAgICAgICBlbHNlIGlmIChjID09ICdcdCcpCisgICAgICAgICAgICAqcCsrID0gJ1xcJywgKnArKyA9ICd0JzsKKyAgICAgICAgZWxzZSBpZiAoYyA9PSAnXG4nKQorICAgICAgICAgICAgKnArKyA9ICdcXCcsICpwKysgPSAnbic7CisgICAgICAgIGVsc2UgaWYgKGMgPT0gJ1xyJykKKyAgICAgICAgICAgICpwKysgPSAnXFwnLCAqcCsrID0gJ3InOworICAgICAgICBlbHNlIGlmIChjIDwgJyAnIHx8IGMgPj0gMHg3ZikgeworICAgICAgICAgICAgKnArKyA9ICdcXCc7CisgICAgICAgICAgICAqcCsrID0gJ3gnOworICAgICAgICAgICAgKnArKyA9IFB5X2hleGRpZ2l0c1soYyAmIDB4ZjApID4+IDRdOworICAgICAgICAgICAgKnArKyA9IFB5X2hleGRpZ2l0c1tjICYgMHhmXTsKICAgICAgICAgfQotCi0gICAgICAgICpwKysgPSAnYicsICpwKysgPSBxdW90ZTsKLSAgICAgICAgZm9yIChpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7Ci0gICAgICAgICAgICAvKiBUaGVyZSdzIGF0IGxlYXN0IGVub3VnaCByb29tIGZvciBhIGhleCBlc2NhcGUKLSAgICAgICAgICAgICAgIGFuZCBhIGNsb3NpbmcgcXVvdGUuICovCi0gICAgICAgICAgICBhc3NlcnQobmV3c2l6ZSAtIChwIC0gUHlVbmljb2RlX0FTX1VOSUNPREUodikpID49IDUpOwotICAgICAgICAgICAgYyA9IG9wLT5vYl9zdmFsW2ldOwotICAgICAgICAgICAgaWYgKGMgPT0gcXVvdGUgfHwgYyA9PSAnXFwnKQotICAgICAgICAgICAgICAgICpwKysgPSAnXFwnLCAqcCsrID0gYzsKLSAgICAgICAgICAgIGVsc2UgaWYgKGMgPT0gJ1x0JykKLSAgICAgICAgICAgICAgICAqcCsrID0gJ1xcJywgKnArKyA9ICd0JzsKLSAgICAgICAgICAgIGVsc2UgaWYgKGMgPT0gJ1xuJykKLSAgICAgICAgICAgICAgICAqcCsrID0gJ1xcJywgKnArKyA9ICduJzsKLSAgICAgICAgICAgIGVsc2UgaWYgKGMgPT0gJ1xyJykKLSAgICAgICAgICAgICAgICAqcCsrID0gJ1xcJywgKnArKyA9ICdyJzsKLSAgICAgICAgICAgIGVsc2UgaWYgKGMgPCAnICcgfHwgYyA+PSAweDdmKSB7Ci0gICAgICAgICAgICAgICAgKnArKyA9ICdcXCc7Ci0gICAgICAgICAgICAgICAgKnArKyA9ICd4JzsKLSAgICAgICAgICAgICAgICAqcCsrID0gaGV4ZGlnaXRzWyhjICYgMHhmMCkgPj4gNF07Ci0gICAgICAgICAgICAgICAgKnArKyA9IGhleGRpZ2l0c1tjICYgMHhmXTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAqcCsrID0gYzsKLSAgICAgICAgfQotICAgICAgICBhc3NlcnQobmV3c2l6ZSAtIChwIC0gUHlVbmljb2RlX0FTX1VOSUNPREUodikpID49IDEpOwotICAgICAgICAqcCsrID0gcXVvdGU7Ci0gICAgICAgICpwID0gJ1wwJzsKLSAgICAgICAgaWYgKFB5VW5pY29kZV9SZXNpemUoJnYsIChwIC0gUHlVbmljb2RlX0FTX1VOSUNPREUodikpKSkgewotICAgICAgICAgICAgUHlfREVDUkVGKHYpOwotICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuIHY7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgICpwKysgPSBjOwogICAgIH0KKyAgICAqcCsrID0gcXVvdGU7CisgICAgcmV0dXJuIHY7CiB9CiAKIHN0YXRpYyBQeU9iamVjdCAqCkBAIC04NzEsMzMgKzg2MCwxMSBAQAogc3RhdGljIFB5X2hhc2hfdAogYnl0ZXNfaGFzaChQeUJ5dGVzT2JqZWN0ICphKQogewotICAgIHJlZ2lzdGVyIFB5X3NzaXplX3QgbGVuOwotICAgIHJlZ2lzdGVyIHVuc2lnbmVkIGNoYXIgKnA7Ci0gICAgcmVnaXN0ZXIgUHlfaGFzaF90IHg7Ci0KLSAgICBhc3NlcnQoX1B5X0hhc2hTZWNyZXRfSW5pdGlhbGl6ZWQpOwotICAgIGlmIChhLT5vYl9zaGFzaCAhPSAtMSkKLSAgICAgICAgcmV0dXJuIGEtPm9iX3NoYXNoOwotICAgIGxlbiA9IFB5X1NJWkUoYSk7Ci0gICAgLyoKLSAgICAgIFdlIG1ha2UgdGhlIGhhc2ggb2YgdGhlIGVtcHR5IHN0cmluZyBiZSAwLCByYXRoZXIgdGhhbiB1c2luZwotICAgICAgKHByZWZpeCBeIHN1ZmZpeCksIHNpbmNlIHRoaXMgc2xpZ2h0bHkgb2JmdXNjYXRlcyB0aGUgaGFzaCBzZWNyZXQKLSAgICAqLwotICAgIGlmIChsZW4gPT0gMCkgewotICAgICAgICBhLT5vYl9zaGFzaCA9IDA7Ci0gICAgICAgIHJldHVybiAwOworICAgIGlmIChhLT5vYl9zaGFzaCA9PSAtMSkgeworICAgICAgICAvKiBDYW4ndCBmYWlsICovCisgICAgICAgIGEtPm9iX3NoYXNoID0gX1B5X0hhc2hCeXRlcygodW5zaWduZWQgY2hhciAqKSBhLT5vYl9zdmFsLCBQeV9TSVpFKGEpKTsKICAgICB9Ci0gICAgcCA9ICh1bnNpZ25lZCBjaGFyICopIGEtPm9iX3N2YWw7Ci0gICAgeCA9IF9QeV9IYXNoU2VjcmV0LnByZWZpeDsKLSAgICB4IF49ICpwIDw8IDc7Ci0gICAgd2hpbGUgKC0tbGVuID49IDApCi0gICAgICAgIHggPSAoX1B5SEFTSF9NVUxUSVBMSUVSKngpIF4gKnArKzsKLSAgICB4IF49IFB5X1NJWkUoYSk7Ci0gICAgeCBePSBfUHlfSGFzaFNlY3JldC5zdWZmaXg7Ci0gICAgaWYgKHggPT0gLTEpCi0gICAgICAgIHggPSAtMjsKLSAgICBhLT5vYl9zaGFzaCA9IHg7Ci0gICAgcmV0dXJuIHg7CisgICAgcmV0dXJuIGEtPm9iX3NoYXNoOwogfQogCiBzdGF0aWMgUHlPYmplY3QqCkBAIC0xMDA1LDcgKzk3Miw3IEBACiAjZGVmaW5lIFNUUklQTkFNRShpKSAoc3RyaXBmb3JtYXRbaV0rMykKIAogUHlEb2NfU1RSVkFSKHNwbGl0X19kb2NfXywKLSJCLnNwbGl0KFtzZXBbLCBtYXhzcGxpdF1dKSAtPiBsaXN0IG9mIGJ5dGVzXG5cCisiQi5zcGxpdChzZXA9Tm9uZSwgbWF4c3BsaXQ9LTEpIC0+IGxpc3Qgb2YgYnl0ZXNcblwKIFxuXAogUmV0dXJuIGEgbGlzdCBvZiB0aGUgc2VjdGlvbnMgaW4gQiwgdXNpbmcgc2VwIGFzIHRoZSBkZWxpbWl0ZXIuXG5cCiBJZiBzZXAgaXMgbm90IHNwZWNpZmllZCBvciBpcyBOb25lLCBCIGlzIHNwbGl0IG9uIEFTQ0lJIHdoaXRlc3BhY2VcblwKQEAgLTEwMTMsMTUgKzk4MCwxNyBAQAogSWYgbWF4c3BsaXQgaXMgZ2l2ZW4sIGF0IG1vc3QgbWF4c3BsaXQgc3BsaXRzIGFyZSBkb25lLiIpOwogCiBzdGF0aWMgUHlPYmplY3QgKgotYnl0ZXNfc3BsaXQoUHlCeXRlc09iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitieXRlc19zcGxpdChQeUJ5dGVzT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3ZHMpCiB7CisgICAgc3RhdGljIGNoYXIgKmt3bGlzdFtdID0geyJzZXAiLCAibWF4c3BsaXQiLCAwfTsKICAgICBQeV9zc2l6ZV90IGxlbiA9IFB5Qnl0ZXNfR0VUX1NJWkUoc2VsZiksIG47CiAgICAgUHlfc3NpemVfdCBtYXhzcGxpdCA9IC0xOwogICAgIGNvbnN0IGNoYXIgKnMgPSBQeUJ5dGVzX0FTX1NUUklORyhzZWxmKSwgKnN1YjsKICAgICBQeV9idWZmZXIgdnN1YjsKICAgICBQeU9iamVjdCAqbGlzdCwgKnN1Ym9iaiA9IFB5X05vbmU7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgInxPbjpzcGxpdCIsICZzdWJvYmosICZtYXhzcGxpdCkpCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dkcywgInxPbjpzcGxpdCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga3dsaXN0LCAmc3Vib2JqLCAmbWF4c3BsaXQpKQogICAgICAgICByZXR1cm4gTlVMTDsKICAgICBpZiAobWF4c3BsaXQgPCAwKQogICAgICAgICBtYXhzcGxpdCA9IFBZX1NTSVpFX1RfTUFYOwpAQCAtMTA5Myw3ICsxMDYyLDcgQEAKIH0KIAogUHlEb2NfU1RSVkFSKHJzcGxpdF9fZG9jX18sCi0iQi5yc3BsaXQoW3NlcFssIG1heHNwbGl0XV0pIC0+IGxpc3Qgb2YgYnl0ZXNcblwKKyJCLnJzcGxpdChzZXA9Tm9uZSwgbWF4c3BsaXQ9LTEpIC0+IGxpc3Qgb2YgYnl0ZXNcblwKIFxuXAogUmV0dXJuIGEgbGlzdCBvZiB0aGUgc2VjdGlvbnMgaW4gQiwgdXNpbmcgc2VwIGFzIHRoZSBkZWxpbWl0ZXIsXG5cCiBzdGFydGluZyBhdCB0aGUgZW5kIG9mIEIgYW5kIHdvcmtpbmcgdG8gdGhlIGZyb250LlxuXApAQCAtMTEwMywxNSArMTA3MiwxNyBAQAogCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1ieXRlc19yc3BsaXQoUHlCeXRlc09iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCitieXRlc19yc3BsaXQoUHlCeXRlc09iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2RzKQogeworICAgIHN0YXRpYyBjaGFyICprd2xpc3RbXSA9IHsic2VwIiwgIm1heHNwbGl0IiwgMH07CiAgICAgUHlfc3NpemVfdCBsZW4gPSBQeUJ5dGVzX0dFVF9TSVpFKHNlbGYpLCBuOwogICAgIFB5X3NzaXplX3QgbWF4c3BsaXQgPSAtMTsKICAgICBjb25zdCBjaGFyICpzID0gUHlCeXRlc19BU19TVFJJTkcoc2VsZiksICpzdWI7CiAgICAgUHlfYnVmZmVyIHZzdWI7CiAgICAgUHlPYmplY3QgKmxpc3QsICpzdWJvYmogPSBQeV9Ob25lOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJ8T246cnNwbGl0IiwgJnN1Ym9iaiwgJm1heHNwbGl0KSkKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2RzLCAifE9uOnJzcGxpdCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga3dsaXN0LCAmc3Vib2JqLCAmbWF4c3BsaXQpKQogICAgICAgICByZXR1cm4gTlVMTDsKICAgICBpZiAobWF4c3BsaXQgPCAwKQogICAgICAgICBtYXhzcGxpdCA9IFBZX1NTSVpFX1RfTUFYOwpAQCAtMTI1MiwzMSArMTIyMyw0MiBAQAogYnl0ZXNfZmluZF9pbnRlcm5hbChQeUJ5dGVzT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgaW50IGRpcikKIHsKICAgICBQeU9iamVjdCAqc3Vib2JqOworICAgIGNoYXIgYnl0ZTsKKyAgICBQeV9idWZmZXIgc3ViYnVmOwogICAgIGNvbnN0IGNoYXIgKnN1YjsKICAgICBQeV9zc2l6ZV90IHN1Yl9sZW47CiAgICAgUHlfc3NpemVfdCBzdGFydD0wLCBlbmQ9UFlfU1NJWkVfVF9NQVg7CisgICAgUHlfc3NpemVfdCByZXM7CiAKLSAgICBpZiAoIXN0cmluZ2xpYl9wYXJzZV9hcmdzX2ZpbmRzKCJmaW5kL3JmaW5kL2luZGV4L3JpbmRleCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmdzLCAmc3Vib2JqLCAmc3RhcnQsICZlbmQpKQorICAgIGlmICghc3RyaW5nbGliX3BhcnNlX2FyZ3NfZmluZHNfYnl0ZSgiZmluZC9yZmluZC9pbmRleC9yaW5kZXgiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmdzLCAmc3Vib2JqLCAmYnl0ZSwgJnN0YXJ0LCAmZW5kKSkKICAgICAgICAgcmV0dXJuIC0yOwogCi0gICAgaWYgKFB5Qnl0ZXNfQ2hlY2soc3Vib2JqKSkgewotICAgICAgICBzdWIgPSBQeUJ5dGVzX0FTX1NUUklORyhzdWJvYmopOwotICAgICAgICBzdWJfbGVuID0gUHlCeXRlc19HRVRfU0laRShzdWJvYmopOworICAgIGlmIChzdWJvYmopIHsKKyAgICAgICAgaWYgKF9nZXRidWZmZXIoc3Vib2JqLCAmc3ViYnVmKSA8IDApCisgICAgICAgICAgICByZXR1cm4gLTI7CisKKyAgICAgICAgc3ViID0gc3ViYnVmLmJ1ZjsKKyAgICAgICAgc3ViX2xlbiA9IHN1YmJ1Zi5sZW47CiAgICAgfQotICAgIGVsc2UgaWYgKFB5T2JqZWN0X0FzQ2hhckJ1ZmZlcihzdWJvYmosICZzdWIsICZzdWJfbGVuKSkKLSAgICAgICAgLyogWFhYIC0gdGhlICJleHBlY3RlZCBhIGNoYXJhY3RlciBidWZmZXIgb2JqZWN0IiBpcyBwcmV0dHkKLSAgICAgICAgICAgY29uZnVzaW5nIGZvciBhIG5vbi1leHBlcnQuICByZW1hcCB0byBzb21ldGhpbmcgZWxzZSA/ICovCi0gICAgICAgIHJldHVybiAtMjsKKyAgICBlbHNlIHsKKyAgICAgICAgc3ViID0gJmJ5dGU7CisgICAgICAgIHN1Yl9sZW4gPSAxOworICAgIH0KIAogICAgIGlmIChkaXIgPiAwKQotICAgICAgICByZXR1cm4gc3RyaW5nbGliX2ZpbmRfc2xpY2UoCisgICAgICAgIHJlcyA9IHN0cmluZ2xpYl9maW5kX3NsaWNlKAogICAgICAgICAgICAgUHlCeXRlc19BU19TVFJJTkcoc2VsZiksIFB5Qnl0ZXNfR0VUX1NJWkUoc2VsZiksCiAgICAgICAgICAgICBzdWIsIHN1Yl9sZW4sIHN0YXJ0LCBlbmQpOwogICAgIGVsc2UKLSAgICAgICAgcmV0dXJuIHN0cmluZ2xpYl9yZmluZF9zbGljZSgKKyAgICAgICAgcmVzID0gc3RyaW5nbGliX3JmaW5kX3NsaWNlKAogICAgICAgICAgICAgUHlCeXRlc19BU19TVFJJTkcoc2VsZiksIFB5Qnl0ZXNfR0VUX1NJWkUoc2VsZiksCiAgICAgICAgICAgICBzdWIsIHN1Yl9sZW4sIHN0YXJ0LCBlbmQpOworCisgICAgaWYgKHN1Ym9iaikKKyAgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmc3ViYnVmKTsKKworICAgIHJldHVybiByZXM7CiB9CiAKIApAQCAtMTUwMiwyMyArMTQ4NCwzOCBAQAogICAgIFB5T2JqZWN0ICpzdWJfb2JqOwogICAgIGNvbnN0IGNoYXIgKnN0ciA9IFB5Qnl0ZXNfQVNfU1RSSU5HKHNlbGYpLCAqc3ViOwogICAgIFB5X3NzaXplX3Qgc3ViX2xlbjsKKyAgICBjaGFyIGJ5dGU7CiAgICAgUHlfc3NpemVfdCBzdGFydCA9IDAsIGVuZCA9IFBZX1NTSVpFX1RfTUFYOwogCi0gICAgaWYgKCFzdHJpbmdsaWJfcGFyc2VfYXJnc19maW5kcygiY291bnQiLCBhcmdzLCAmc3ViX29iaiwgJnN0YXJ0LCAmZW5kKSkKKyAgICBQeV9idWZmZXIgdnN1YjsKKyAgICBQeU9iamVjdCAqY291bnRfb2JqOworCisgICAgaWYgKCFzdHJpbmdsaWJfcGFyc2VfYXJnc19maW5kc19ieXRlKCJjb3VudCIsIGFyZ3MsICZzdWJfb2JqLCAmYnl0ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnN0YXJ0LCAmZW5kKSkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKLSAgICBpZiAoUHlCeXRlc19DaGVjayhzdWJfb2JqKSkgewotICAgICAgICBzdWIgPSBQeUJ5dGVzX0FTX1NUUklORyhzdWJfb2JqKTsKLSAgICAgICAgc3ViX2xlbiA9IFB5Qnl0ZXNfR0VUX1NJWkUoc3ViX29iaik7CisgICAgaWYgKHN1Yl9vYmopIHsKKyAgICAgICAgaWYgKF9nZXRidWZmZXIoc3ViX29iaiwgJnZzdWIpIDwgMCkKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworCisgICAgICAgIHN1YiA9IHZzdWIuYnVmOworICAgICAgICBzdWJfbGVuID0gdnN1Yi5sZW47CiAgICAgfQotICAgIGVsc2UgaWYgKFB5T2JqZWN0X0FzQ2hhckJ1ZmZlcihzdWJfb2JqLCAmc3ViLCAmc3ViX2xlbikpCi0gICAgICAgIHJldHVybiBOVUxMOworICAgIGVsc2UgeworICAgICAgICBzdWIgPSAmYnl0ZTsKKyAgICAgICAgc3ViX2xlbiA9IDE7CisgICAgfQogCiAgICAgQURKVVNUX0lORElDRVMoc3RhcnQsIGVuZCwgUHlCeXRlc19HRVRfU0laRShzZWxmKSk7CiAKLSAgICByZXR1cm4gUHlMb25nX0Zyb21Tc2l6ZV90KAorICAgIGNvdW50X29iaiA9IFB5TG9uZ19Gcm9tU3NpemVfdCgKICAgICAgICAgc3RyaW5nbGliX2NvdW50KHN0ciArIHN0YXJ0LCBlbmQgLSBzdGFydCwgc3ViLCBzdWJfbGVuLCBQWV9TU0laRV9UX01BWCkKICAgICAgICAgKTsKKworICAgIGlmIChzdWJfb2JqKQorICAgICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZ2c3ViKTsKKworICAgIHJldHVybiBjb3VudF9vYmo7CiB9CiAKIApAQCAtMjMyNywxMSArMjMyNCwxMyBAQAogaXMgZ2l2ZW4gYW5kIHRydWUuIik7CiAKIHN0YXRpYyBQeU9iamVjdCoKLWJ5dGVzX3NwbGl0bGluZXMoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorYnl0ZXNfc3BsaXRsaW5lcyhQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2RzKQogeworICAgIHN0YXRpYyBjaGFyICprd2xpc3RbXSA9IHsia2VlcGVuZHMiLCAwfTsKICAgICBpbnQga2VlcGVuZHMgPSAwOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJ8aTpzcGxpdGxpbmVzIiwgJmtlZXBlbmRzKSkKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2RzLCAifGk6c3BsaXRsaW5lcyIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga3dsaXN0LCAma2VlcGVuZHMpKQogICAgICAgICByZXR1cm4gTlVMTDsKIAogICAgIHJldHVybiBzdHJpbmdsaWJfc3BsaXRsaW5lcygKQEAgLTIzNDksNyArMjM0OCw3IEBACiBFeGFtcGxlOiBieXRlcy5mcm9taGV4KCdCOSAwMUVGJykgLT4gYidcXHhiOVxceDAxXFx4ZWYnLiIpOwogCiBzdGF0aWMgaW50Ci1oZXhfZGlnaXRfdG9faW50KFB5X1VOSUNPREUgYykKK2hleF9kaWdpdF90b19pbnQoUHlfVUNTNCBjKQogewogICAgIGlmIChjID49IDEyOCkKICAgICAgICAgcmV0dXJuIC0xOwpAQCAtMjM2OSwxNSArMjM2OCwyMCBAQAogewogICAgIFB5T2JqZWN0ICpuZXdzdHJpbmcsICpoZXhvYmo7CiAgICAgY2hhciAqYnVmOwotICAgIFB5X1VOSUNPREUgKmhleDsKICAgICBQeV9zc2l6ZV90IGhleGxlbiwgYnl0ZXNsZW4sIGksIGo7CiAgICAgaW50IHRvcCwgYm90OworICAgIHZvaWQgKmRhdGE7CisgICAgdW5zaWduZWQgaW50IGtpbmQ7CiAKICAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIlU6ZnJvbWhleCIsICZoZXhvYmopKQogICAgICAgICByZXR1cm4gTlVMTDsKICAgICBhc3NlcnQoUHlVbmljb2RlX0NoZWNrKGhleG9iaikpOwotICAgIGhleGxlbiA9IFB5VW5pY29kZV9HRVRfU0laRShoZXhvYmopOwotICAgIGhleCA9IFB5VW5pY29kZV9BU19VTklDT0RFKGhleG9iaik7CisgICAgaWYgKFB5VW5pY29kZV9SRUFEWShoZXhvYmopKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBraW5kID0gUHlVbmljb2RlX0tJTkQoaGV4b2JqKTsKKyAgICBkYXRhID0gUHlVbmljb2RlX0RBVEEoaGV4b2JqKTsKKyAgICBoZXhsZW4gPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChoZXhvYmopOworCiAgICAgYnl0ZXNsZW4gPSBoZXhsZW4vMjsgLyogVGhpcyBvdmVyZXN0aW1hdGVzIGlmIHRoZXJlIGFyZSBzcGFjZXMgKi8KICAgICBuZXdzdHJpbmcgPSBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplKE5VTEwsIGJ5dGVzbGVuKTsKICAgICBpZiAoIW5ld3N0cmluZykKQEAgLTIzODUsMTIgKzIzODksMTIgQEAKICAgICBidWYgPSBQeUJ5dGVzX0FTX1NUUklORyhuZXdzdHJpbmcpOwogICAgIGZvciAoaSA9IGogPSAwOyBpIDwgaGV4bGVuOyBpICs9IDIpIHsKICAgICAgICAgLyogc2tpcCBvdmVyIHNwYWNlcyBpbiB0aGUgaW5wdXQgKi8KLSAgICAgICAgd2hpbGUgKGhleFtpXSA9PSAnICcpCisgICAgICAgIHdoaWxlIChQeVVuaWNvZGVfUkVBRChraW5kLCBkYXRhLCBpKSA9PSAnICcpCiAgICAgICAgICAgICBpKys7CiAgICAgICAgIGlmIChpID49IGhleGxlbikKICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB0b3AgPSBoZXhfZGlnaXRfdG9faW50KGhleFtpXSk7Ci0gICAgICAgIGJvdCA9IGhleF9kaWdpdF90b19pbnQoaGV4W2krMV0pOworICAgICAgICB0b3AgPSBoZXhfZGlnaXRfdG9faW50KFB5VW5pY29kZV9SRUFEKGtpbmQsIGRhdGEsIGkpKTsKKyAgICAgICAgYm90ID0gaGV4X2RpZ2l0X3RvX2ludChQeVVuaWNvZGVfUkVBRChraW5kLCBkYXRhLCBpKzEpKTsKICAgICAgICAgaWYgKHRvcCA9PSAtMSB8fCBib3QgPT0gLTEpIHsKICAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19WYWx1ZUVycm9yLAogICAgICAgICAgICAgICAgICAgICAgICAgICJub24taGV4YWRlY2ltYWwgbnVtYmVyIGZvdW5kIGluICIKQEAgLTI0NzAsMTAgKzI0NzQsMTAgQEAKICAgICB7InJqdXN0IiwgKFB5Q0Z1bmN0aW9uKXN0cmluZ2xpYl9yanVzdCwgTUVUSF9WQVJBUkdTLCByanVzdF9fZG9jX199LAogICAgIHsicnBhcnRpdGlvbiIsIChQeUNGdW5jdGlvbilieXRlc19ycGFydGl0aW9uLCBNRVRIX08sCiAgICAgIHJwYXJ0aXRpb25fX2RvY19ffSwKLSAgICB7InJzcGxpdCIsIChQeUNGdW5jdGlvbilieXRlc19yc3BsaXQsIE1FVEhfVkFSQVJHUywgcnNwbGl0X19kb2NfX30sCisgICAgeyJyc3BsaXQiLCAoUHlDRnVuY3Rpb24pYnl0ZXNfcnNwbGl0LCBNRVRIX1ZBUkFSR1MgfCBNRVRIX0tFWVdPUkRTLCByc3BsaXRfX2RvY19ffSwKICAgICB7InJzdHJpcCIsIChQeUNGdW5jdGlvbilieXRlc19yc3RyaXAsIE1FVEhfVkFSQVJHUywgcnN0cmlwX19kb2NfX30sCi0gICAgeyJzcGxpdCIsIChQeUNGdW5jdGlvbilieXRlc19zcGxpdCwgTUVUSF9WQVJBUkdTLCBzcGxpdF9fZG9jX199LAotICAgIHsic3BsaXRsaW5lcyIsIChQeUNGdW5jdGlvbilieXRlc19zcGxpdGxpbmVzLCBNRVRIX1ZBUkFSR1MsCisgICAgeyJzcGxpdCIsIChQeUNGdW5jdGlvbilieXRlc19zcGxpdCwgTUVUSF9WQVJBUkdTIHwgTUVUSF9LRVlXT1JEUywgc3BsaXRfX2RvY19ffSwKKyAgICB7InNwbGl0bGluZXMiLCAoUHlDRnVuY3Rpb24pYnl0ZXNfc3BsaXRsaW5lcywgTUVUSF9WQVJBUkdTIHwgTUVUSF9LRVlXT1JEUywKICAgICAgc3BsaXRsaW5lc19fZG9jX199LAogICAgIHsic3RhcnRzd2l0aCIsIChQeUNGdW5jdGlvbilieXRlc19zdGFydHN3aXRoLCBNRVRIX1ZBUkFSR1MsCiAgICAgIHN0YXJ0c3dpdGhfX2RvY19ffSwKQEAgLTI5MzEsNyArMjkzNSw3IEBACiAgICAgICAgIFB5RXJyX0JhZEludGVybmFsQ2FsbCgpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9Ci0gICAgbGxlbiA9IFB5VW5pY29kZV9HZXRTaXplKHJlc3VsdCk7CisgICAgbGxlbiA9IFB5VW5pY29kZV9HZXRMZW5ndGgocmVzdWx0KTsKICAgICBpZiAobGxlbiA+IElOVF9NQVgpIHsKICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsCiAgICAgICAgICAgICAgICAgICAgICAgICAic3RyaW5nIHRvbyBsYXJnZSBpbiBfUHlCeXRlc19Gb3JtYXRMb25nIik7CmRpZmYgLS1naXQgYS9PYmplY3RzL2NsYXNzb2JqZWN0LmMgYi9PYmplY3RzL2NsYXNzb2JqZWN0LmMKaW5kZXggNmRmOTMwZi4uMDliOTViZiAxMDA2NDQKLS0tIGEvT2JqZWN0cy9jbGFzc29iamVjdC5jCisrKyBiL09iamVjdHMvY2xhc3NvYmplY3QuYwpAQCAtMTQsNiArMTQsOCBAQAogI2RlZmluZSBQeU1ldGhvZF9NQVhGUkVFTElTVCAyNTYKICNlbmRpZgogCitfUHlfSURFTlRJRklFUihfX25hbWVfXyk7CisKIFB5T2JqZWN0ICoKIFB5TWV0aG9kX0Z1bmN0aW9uKFB5T2JqZWN0ICppbSkKIHsKQEAgLTE5MCw4ICsxOTIsNyBAQAogICAgICAgICAhUHlNZXRob2RfQ2hlY2soc2VsZikgfHwKICAgICAgICAgIVB5TWV0aG9kX0NoZWNrKG90aGVyKSkKICAgICB7Ci0gICAgICAgIFB5X0lOQ1JFRihQeV9Ob3RJbXBsZW1lbnRlZCk7Ci0gICAgICAgIHJldHVybiBQeV9Ob3RJbXBsZW1lbnRlZDsKKyAgICAgICAgUHlfUkVUVVJOX05PVElNUExFTUVOVEVEOwogICAgIH0KICAgICBhID0gKFB5TWV0aG9kT2JqZWN0ICopc2VsZjsKICAgICBiID0gKFB5TWV0aG9kT2JqZWN0ICopb3RoZXI7CkBAIC0yMjcsNyArMjI4LDcgQEAKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogCi0gICAgZnVuY25hbWUgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKGZ1bmMsICJfX25hbWVfXyIpOworICAgIGZ1bmNuYW1lID0gX1B5T2JqZWN0X0dldEF0dHJJZChmdW5jLCAmUHlJZF9fX25hbWVfXyk7CiAgICAgaWYgKGZ1bmNuYW1lID09IE5VTEwpIHsKICAgICAgICAgaWYgKCFQeUVycl9FeGNlcHRpb25NYXRjaGVzKFB5RXhjX0F0dHJpYnV0ZUVycm9yKSkKICAgICAgICAgICAgIHJldHVybiBOVUxMOwpAQCAtMjQxLDcgKzI0Miw3IEBACiAgICAgaWYgKGtsYXNzID09IE5VTEwpCiAgICAgICAgIGtsYXNzbmFtZSA9IE5VTEw7CiAgICAgZWxzZSB7Ci0gICAgICAgIGtsYXNzbmFtZSA9IFB5T2JqZWN0X0dldEF0dHJTdHJpbmcoa2xhc3MsICJfX25hbWVfXyIpOworICAgICAgICBrbGFzc25hbWUgPSBfUHlPYmplY3RfR2V0QXR0cklkKGtsYXNzLCAmUHlJZF9fX25hbWVfXyk7CiAgICAgICAgIGlmIChrbGFzc25hbWUgPT0gTlVMTCkgewogICAgICAgICAgICAgaWYgKCFQeUVycl9FeGNlcHRpb25NYXRjaGVzKFB5RXhjX0F0dHJpYnV0ZUVycm9yKSkKICAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKQEAgLTUxNiw4ICs1MTcsNyBAQAogICAgICAgICAhUHlJbnN0YW5jZU1ldGhvZF9DaGVjayhzZWxmKSB8fAogICAgICAgICAhUHlJbnN0YW5jZU1ldGhvZF9DaGVjayhvdGhlcikpCiAgICAgewotICAgICAgICBQeV9JTkNSRUYoUHlfTm90SW1wbGVtZW50ZWQpOwotICAgICAgICByZXR1cm4gUHlfTm90SW1wbGVtZW50ZWQ7CisgICAgICAgIFB5X1JFVFVSTl9OT1RJTVBMRU1FTlRFRDsKICAgICB9CiAgICAgYSA9IChQeUluc3RhbmNlTWV0aG9kT2JqZWN0ICopc2VsZjsKICAgICBiID0gKFB5SW5zdGFuY2VNZXRob2RPYmplY3QgKilvdGhlcjsKQEAgLTU0NCw3ICs1NDQsNyBAQAogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAKLSAgICBmdW5jbmFtZSA9IFB5T2JqZWN0X0dldEF0dHJTdHJpbmcoZnVuYywgIl9fbmFtZV9fIik7CisgICAgZnVuY25hbWUgPSBfUHlPYmplY3RfR2V0QXR0cklkKGZ1bmMsICZQeUlkX19fbmFtZV9fKTsKICAgICBpZiAoZnVuY25hbWUgPT0gTlVMTCkgewogICAgICAgICBpZiAoIVB5RXJyX0V4Y2VwdGlvbk1hdGNoZXMoUHlFeGNfQXR0cmlidXRlRXJyb3IpKQogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CmRpZmYgLS1naXQgYS9PYmplY3RzL2NvZGVvYmplY3QuYyBiL09iamVjdHMvY29kZW9iamVjdC5jCmluZGV4IGJiOTM4ZWEuLjU1MGUyODQgMTAwNjQ0Ci0tLSBhL09iamVjdHMvY29kZW9iamVjdC5jCisrKyBiL09iamVjdHMvY29kZW9iamVjdC5jCkBAIC04LDE5ICs4LDI0IEBACiAvKiBhbGxfbmFtZV9jaGFycyhzKTogdHJ1ZSBpZmYgYWxsIGNoYXJzIGluIHMgYXJlIHZhbGlkIE5BTUVfQ0hBUlMgKi8KIAogc3RhdGljIGludAotYWxsX25hbWVfY2hhcnMoUHlfVU5JQ09ERSAqcykKK2FsbF9uYW1lX2NoYXJzKFB5T2JqZWN0ICpvKQogewogICAgIHN0YXRpYyBjaGFyIG9rX25hbWVfY2hhclsyNTZdOwogICAgIHN0YXRpYyB1bnNpZ25lZCBjaGFyICpuYW1lX2NoYXJzID0gKHVuc2lnbmVkIGNoYXIgKilOQU1FX0NIQVJTOworICAgIFB5VW5pY29kZU9iamVjdCAqdSA9IChQeVVuaWNvZGVPYmplY3QgKilvOworICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnM7CisKKyAgICBpZiAoIVB5VW5pY29kZV9DaGVjayhvKSB8fCBQeVVuaWNvZGVfUkVBRFkodSkgPT0gLTEgfHwKKyAgICAgICAgUHlVbmljb2RlX01BWF9DSEFSX1ZBTFVFKHUpID49IDEyOCkKKyAgICAgICAgcmV0dXJuIDA7CiAKICAgICBpZiAob2tfbmFtZV9jaGFyWypuYW1lX2NoYXJzXSA9PSAwKSB7CiAgICAgICAgIHVuc2lnbmVkIGNoYXIgKnA7CiAgICAgICAgIGZvciAocCA9IG5hbWVfY2hhcnM7ICpwOyBwKyspCiAgICAgICAgICAgICBva19uYW1lX2NoYXJbKnBdID0gMTsKICAgICB9CisgICAgcyA9IFB5VW5pY29kZV8xQllURV9EQVRBKHUpOwogICAgIHdoaWxlICgqcykgewotICAgICAgICBpZiAoKnMgPj0gMTI4KQotICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgIGlmIChva19uYW1lX2NoYXJbKnMrK10gPT0gMCkKICAgICAgICAgICAgIHJldHVybiAwOwogICAgIH0KQEAgLTUxLDcgKzU2LDggQEAKICAgICAgICAgICAgUHlPYmplY3QgKmxub3RhYikKIHsKICAgICBQeUNvZGVPYmplY3QgKmNvOwotICAgIFB5X3NzaXplX3QgaTsKKyAgICB1bnNpZ25lZCBjaGFyICpjZWxsMmFyZyA9IE5VTEw7CisgICAgUHlfc3NpemVfdCBpLCBuX2NlbGx2YXJzOwogCiAgICAgLyogQ2hlY2sgYXJndW1lbnQgdHlwZXMgKi8KICAgICBpZiAoYXJnY291bnQgPCAwIHx8IGt3b25seWFyZ2NvdW50IDwgMCB8fCBubG9jYWxzIDwgMCB8fApAQCAtNjgsNDggKzc0LDc5IEBACiAgICAgICAgIFB5RXJyX0JhZEludGVybmFsQ2FsbCgpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CisgICAgbl9jZWxsdmFycyA9IFB5VHVwbGVfR0VUX1NJWkUoY2VsbHZhcnMpOwogICAgIGludGVybl9zdHJpbmdzKG5hbWVzKTsKICAgICBpbnRlcm5fc3RyaW5ncyh2YXJuYW1lcyk7CiAgICAgaW50ZXJuX3N0cmluZ3MoZnJlZXZhcnMpOwogICAgIGludGVybl9zdHJpbmdzKGNlbGx2YXJzKTsKICAgICAvKiBJbnRlcm4gc2VsZWN0ZWQgc3RyaW5nIGNvbnN0YW50cyAqLwotICAgIGZvciAoaSA9IFB5VHVwbGVfU2l6ZShjb25zdHMpOyAtLWkgPj0gMDsgKSB7CisgICAgZm9yIChpID0gUHlUdXBsZV9HRVRfU0laRShjb25zdHMpOyAtLWkgPj0gMDsgKSB7CiAgICAgICAgIFB5T2JqZWN0ICp2ID0gUHlUdXBsZV9HZXRJdGVtKGNvbnN0cywgaSk7Ci0gICAgICAgIGlmICghUHlVbmljb2RlX0NoZWNrKHYpKQotICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgIGlmICghYWxsX25hbWVfY2hhcnMoUHlVbmljb2RlX0FTX1VOSUNPREUodikpKQorICAgICAgICBpZiAoIWFsbF9uYW1lX2NoYXJzKHYpKQogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIFB5VW5pY29kZV9JbnRlcm5JblBsYWNlKCZQeVR1cGxlX0dFVF9JVEVNKGNvbnN0cywgaSkpOwogICAgIH0KLSAgICBjbyA9IFB5T2JqZWN0X05FVyhQeUNvZGVPYmplY3QsICZQeUNvZGVfVHlwZSk7Ci0gICAgaWYgKGNvICE9IE5VTEwpIHsKLSAgICAgICAgY28tPmNvX2FyZ2NvdW50ID0gYXJnY291bnQ7Ci0gICAgICAgIGNvLT5jb19rd29ubHlhcmdjb3VudCA9IGt3b25seWFyZ2NvdW50OwotICAgICAgICBjby0+Y29fbmxvY2FscyA9IG5sb2NhbHM7Ci0gICAgICAgIGNvLT5jb19zdGFja3NpemUgPSBzdGFja3NpemU7Ci0gICAgICAgIGNvLT5jb19mbGFncyA9IGZsYWdzOwotICAgICAgICBQeV9JTkNSRUYoY29kZSk7Ci0gICAgICAgIGNvLT5jb19jb2RlID0gY29kZTsKLSAgICAgICAgUHlfSU5DUkVGKGNvbnN0cyk7Ci0gICAgICAgIGNvLT5jb19jb25zdHMgPSBjb25zdHM7Ci0gICAgICAgIFB5X0lOQ1JFRihuYW1lcyk7Ci0gICAgICAgIGNvLT5jb19uYW1lcyA9IG5hbWVzOwotICAgICAgICBQeV9JTkNSRUYodmFybmFtZXMpOwotICAgICAgICBjby0+Y29fdmFybmFtZXMgPSB2YXJuYW1lczsKLSAgICAgICAgUHlfSU5DUkVGKGZyZWV2YXJzKTsKLSAgICAgICAgY28tPmNvX2ZyZWV2YXJzID0gZnJlZXZhcnM7Ci0gICAgICAgIFB5X0lOQ1JFRihjZWxsdmFycyk7Ci0gICAgICAgIGNvLT5jb19jZWxsdmFycyA9IGNlbGx2YXJzOwotICAgICAgICBQeV9JTkNSRUYoZmlsZW5hbWUpOwotICAgICAgICBjby0+Y29fZmlsZW5hbWUgPSBmaWxlbmFtZTsKLSAgICAgICAgUHlfSU5DUkVGKG5hbWUpOwotICAgICAgICBjby0+Y29fbmFtZSA9IG5hbWU7Ci0gICAgICAgIGNvLT5jb19maXJzdGxpbmVubyA9IGZpcnN0bGluZW5vOwotICAgICAgICBQeV9JTkNSRUYobG5vdGFiKTsKLSAgICAgICAgY28tPmNvX2xub3RhYiA9IGxub3RhYjsKLSAgICAgICAgY28tPmNvX3pvbWJpZWZyYW1lID0gTlVMTDsKLSAgICAgICAgY28tPmNvX3dlYWtyZWZsaXN0ID0gTlVMTDsKKyAgICAvKiBDcmVhdGUgbWFwcGluZyBiZXR3ZWVuIGNlbGxzIGFuZCBhcmd1bWVudHMgaWYgbmVlZGVkLiAqLworICAgIGlmIChuX2NlbGx2YXJzKSB7CisgICAgICAgIFB5X3NzaXplX3QgdG90YWxfYXJncyA9IGFyZ2NvdW50ICsga3dvbmx5YXJnY291bnQgKworICAgICAgICAgICAgKChmbGFncyAmIENPX1ZBUkFSR1MpICE9IDApICsgKChmbGFncyAmIENPX1ZBUktFWVdPUkRTKSAhPSAwKTsKKyAgICAgICAgUHlfc3NpemVfdCBhbGxvY19zaXplID0gc2l6ZW9mKHVuc2lnbmVkIGNoYXIpICogbl9jZWxsdmFyczsKKyAgICAgICAgaW50IHVzZWRfY2VsbDJhcmcgPSAwOworICAgICAgICBjZWxsMmFyZyA9IFB5TWVtX01BTExPQyhhbGxvY19zaXplKTsKKyAgICAgICAgaWYgKGNlbGwyYXJnID09IE5VTEwpCisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgbWVtc2V0KGNlbGwyYXJnLCBDT19DRUxMX05PVF9BTl9BUkcsIGFsbG9jX3NpemUpOworICAgICAgICAvKiBGaW5kIGNlbGxzIHdoaWNoIGFyZSBhbHNvIGFyZ3VtZW50cy4gKi8KKyAgICAgICAgZm9yIChpID0gMDsgaSA8IG5fY2VsbHZhcnM7IGkrKykgeworICAgICAgICAgICAgUHlfc3NpemVfdCBqOworICAgICAgICAgICAgUHlPYmplY3QgKmNlbGwgPSBQeVR1cGxlX0dFVF9JVEVNKGNlbGx2YXJzLCBpKTsKKyAgICAgICAgICAgIGZvciAoaiA9IDA7IGogPCB0b3RhbF9hcmdzOyBqKyspIHsKKyAgICAgICAgICAgICAgICBQeU9iamVjdCAqYXJnID0gUHlUdXBsZV9HRVRfSVRFTSh2YXJuYW1lcywgaik7CisgICAgICAgICAgICAgICAgaWYgKCFQeVVuaWNvZGVfQ29tcGFyZShjZWxsLCBhcmcpKSB7CisgICAgICAgICAgICAgICAgICAgIGNlbGwyYXJnW2ldID0gajsKKyAgICAgICAgICAgICAgICAgICAgdXNlZF9jZWxsMmFyZyA9IDE7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBpZiAoIXVzZWRfY2VsbDJhcmcpIHsKKyAgICAgICAgICAgIFB5TWVtX0ZSRUUoY2VsbDJhcmcpOworICAgICAgICAgICAgY2VsbDJhcmcgPSBOVUxMOworICAgICAgICB9CiAgICAgfQorICAgIGNvID0gUHlPYmplY3RfTkVXKFB5Q29kZU9iamVjdCwgJlB5Q29kZV9UeXBlKTsKKyAgICBpZiAoY28gPT0gTlVMTCkgeworICAgICAgICBpZiAoY2VsbDJhcmcpCisgICAgICAgICAgICBQeU1lbV9GUkVFKGNlbGwyYXJnKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorICAgIGNvLT5jb19hcmdjb3VudCA9IGFyZ2NvdW50OworICAgIGNvLT5jb19rd29ubHlhcmdjb3VudCA9IGt3b25seWFyZ2NvdW50OworICAgIGNvLT5jb19ubG9jYWxzID0gbmxvY2FsczsKKyAgICBjby0+Y29fc3RhY2tzaXplID0gc3RhY2tzaXplOworICAgIGNvLT5jb19mbGFncyA9IGZsYWdzOworICAgIFB5X0lOQ1JFRihjb2RlKTsKKyAgICBjby0+Y29fY29kZSA9IGNvZGU7CisgICAgUHlfSU5DUkVGKGNvbnN0cyk7CisgICAgY28tPmNvX2NvbnN0cyA9IGNvbnN0czsKKyAgICBQeV9JTkNSRUYobmFtZXMpOworICAgIGNvLT5jb19uYW1lcyA9IG5hbWVzOworICAgIFB5X0lOQ1JFRih2YXJuYW1lcyk7CisgICAgY28tPmNvX3Zhcm5hbWVzID0gdmFybmFtZXM7CisgICAgUHlfSU5DUkVGKGZyZWV2YXJzKTsKKyAgICBjby0+Y29fZnJlZXZhcnMgPSBmcmVldmFyczsKKyAgICBQeV9JTkNSRUYoY2VsbHZhcnMpOworICAgIGNvLT5jb19jZWxsdmFycyA9IGNlbGx2YXJzOworICAgIGNvLT5jb19jZWxsMmFyZyA9IGNlbGwyYXJnOworICAgIFB5X0lOQ1JFRihmaWxlbmFtZSk7CisgICAgY28tPmNvX2ZpbGVuYW1lID0gZmlsZW5hbWU7CisgICAgUHlfSU5DUkVGKG5hbWUpOworICAgIGNvLT5jb19uYW1lID0gbmFtZTsKKyAgICBjby0+Y29fZmlyc3RsaW5lbm8gPSBmaXJzdGxpbmVubzsKKyAgICBQeV9JTkNSRUYobG5vdGFiKTsKKyAgICBjby0+Y29fbG5vdGFiID0gbG5vdGFiOworICAgIGNvLT5jb196b21iaWVmcmFtZSA9IE5VTEw7CisgICAgY28tPmNvX3dlYWtyZWZsaXN0ID0gTlVMTDsKICAgICByZXR1cm4gY287CiB9CiAKQEAgLTIxMiw5ICsyNDksNyBAQAogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgIH0KICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICBpdGVtID0gUHlVbmljb2RlX0Zyb21Vbmljb2RlKAotICAgICAgICAgICAgICAgIFB5VW5pY29kZV9BU19VTklDT0RFKGl0ZW0pLAotICAgICAgICAgICAgICAgIFB5VW5pY29kZV9HRVRfU0laRShpdGVtKSk7CisgICAgICAgICAgICBpdGVtID0gX1B5VW5pY29kZV9Db3B5KGl0ZW0pOwogICAgICAgICAgICAgaWYgKGl0ZW0gPT0gTlVMTCkgewogICAgICAgICAgICAgICAgIFB5X0RFQ1JFRihuZXd0dXBsZSk7CiAgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CkBAIC0zMzAsNiArMzY1LDggQEAKICAgICBQeV9YREVDUkVGKGNvLT5jb19maWxlbmFtZSk7CiAgICAgUHlfWERFQ1JFRihjby0+Y29fbmFtZSk7CiAgICAgUHlfWERFQ1JFRihjby0+Y29fbG5vdGFiKTsKKyAgICBpZiAoY28tPmNvX2NlbGwyYXJnICE9IE5VTEwpCisgICAgICAgIFB5TWVtX0ZSRUUoY28tPmNvX2NlbGwyYXJnKTsKICAgICBpZiAoY28tPmNvX3pvbWJpZWZyYW1lICE9IE5VTEwpCiAgICAgICAgIFB5T2JqZWN0X0dDX0RlbChjby0+Y29fem9tYmllZnJhbWUpOwogICAgIGlmIChjby0+Y29fd2Vha3JlZmxpc3QgIT0gTlVMTCkKQEAgLTM2Niw4ICs0MDMsNyBAQAogICAgIGlmICgob3AgIT0gUHlfRVEgJiYgb3AgIT0gUHlfTkUpIHx8CiAgICAgICAgICFQeUNvZGVfQ2hlY2soc2VsZikgfHwKICAgICAgICAgIVB5Q29kZV9DaGVjayhvdGhlcikpIHsKLSAgICAgICAgUHlfSU5DUkVGKFB5X05vdEltcGxlbWVudGVkKTsKLSAgICAgICAgcmV0dXJuIFB5X05vdEltcGxlbWVudGVkOworICAgICAgICBQeV9SRVRVUk5fTk9USU1QTEVNRU5URUQ7CiAgICAgfQogCiAgICAgY28gPSAoUHlDb2RlT2JqZWN0ICopc2VsZjsKZGlmZiAtLWdpdCBhL09iamVjdHMvY29tcGxleG9iamVjdC5jIGIvT2JqZWN0cy9jb21wbGV4b2JqZWN0LmMKaW5kZXggZTI0N2JhOS4uYjczZGM0YiAxMDA2NDQKLS0tIGEvT2JqZWN0cy9jb21wbGV4b2JqZWN0LmMKKysrIGIvT2JqZWN0cy9jb21wbGV4b2JqZWN0LmMKQEAgLTI2NSw5ICsyNjUsOSBAQAogc3RhdGljIFB5T2JqZWN0ICoKIHRyeV9jb21wbGV4X3NwZWNpYWxfbWV0aG9kKFB5T2JqZWN0ICpvcCkgewogICAgIFB5T2JqZWN0ICpmOwotICAgIHN0YXRpYyBQeU9iamVjdCAqY29tcGxleHN0cjsKKyAgICBfUHlfSURFTlRJRklFUihfX2NvbXBsZXhfXyk7CiAKLSAgICBmID0gX1B5T2JqZWN0X0xvb2t1cFNwZWNpYWwob3AsICJfX2NvbXBsZXhfXyIsICZjb21wbGV4c3RyKTsKKyAgICBmID0gX1B5T2JqZWN0X0xvb2t1cFNwZWNpYWwob3AsICZQeUlkX19fY29tcGxleF9fKTsKICAgICBpZiAoZikgewogICAgICAgICBQeU9iamVjdCAqcmVzID0gUHlPYmplY3RfQ2FsbEZ1bmN0aW9uT2JqQXJncyhmLCBOVUxMKTsKICAgICAgICAgUHlfREVDUkVGKGYpOwpAQCAtMzMwLDEyICszMzAsMTAgQEAKICAgICBpbnQgcHJlY2lzaW9uID0gMDsKICAgICBjaGFyIGZvcm1hdF9jb2RlID0gJ3InOwogICAgIFB5T2JqZWN0ICpyZXN1bHQgPSBOVUxMOwotICAgIFB5X3NzaXplX3QgbGVuOwogCiAgICAgLyogSWYgdGhlc2UgYXJlIG5vbi1OVUxMLCB0aGV5J2xsIG5lZWQgdG8gYmUgZnJlZWQuICovCiAgICAgY2hhciAqcHJlID0gTlVMTDsKICAgICBjaGFyICppbSA9IE5VTEw7Ci0gICAgY2hhciAqYnVmID0gTlVMTDsKIAogICAgIC8qIFRoZXNlIGRvIG5vdCBuZWVkIHRvIGJlIGZyZWVkLiByZSBpcyBlaXRoZXIgYW4gYWxpYXMKICAgICAgICBmb3IgcHJlIG9yIGEgcG9pbnRlciB0byBhIGNvbnN0YW50LiAgbGVhZCBhbmQgdGFpbApAQCAtMzc0LDIwICszNzIsMTAgQEAKICAgICAgICAgbGVhZCA9ICIoIjsKICAgICAgICAgdGFpbCA9ICIpIjsKICAgICB9Ci0gICAgLyogQWxsb2MgdGhlIGZpbmFsIGJ1ZmZlci4gQWRkIG9uZSBmb3IgdGhlICJqIiBpbiB0aGUgZm9ybWF0IHN0cmluZywKLSAgICAgICBhbmQgb25lIGZvciB0aGUgdHJhaWxpbmcgemVybyBieXRlLiAqLwotICAgIGxlbiA9IHN0cmxlbihsZWFkKSArIHN0cmxlbihyZSkgKyBzdHJsZW4oaW0pICsgc3RybGVuKHRhaWwpICsgMjsKLSAgICBidWYgPSBQeU1lbV9NYWxsb2MobGVuKTsKLSAgICBpZiAoIWJ1ZikgewotICAgICAgICBQeUVycl9Ob01lbW9yeSgpOwotICAgICAgICBnb3RvIGRvbmU7Ci0gICAgfQotICAgIFB5T1Nfc25wcmludGYoYnVmLCBsZW4sICIlcyVzJXNqJXMiLCBsZWFkLCByZSwgaW0sIHRhaWwpOwotICAgIHJlc3VsdCA9IFB5VW5pY29kZV9Gcm9tU3RyaW5nKGJ1Zik7CisgICAgcmVzdWx0ID0gUHlVbmljb2RlX0Zyb21Gb3JtYXQoIiVzJXMlc2olcyIsIGxlYWQsIHJlLCBpbSwgdGFpbCk7CiAgIGRvbmU6CiAgICAgUHlNZW1fRnJlZShpbSk7CiAgICAgUHlNZW1fRnJlZShwcmUpOwotICAgIFB5TWVtX0ZyZWUoYnVmKTsKIAogICAgIHJldHVybiByZXN1bHQ7CiB9CkBAIC02NjIsOCArNjUwLDcgQEAKICAgICByZXR1cm4gcmVzOwogCiBVbmltcGxlbWVudGVkOgotICAgIFB5X0lOQ1JFRihQeV9Ob3RJbXBsZW1lbnRlZCk7Ci0gICAgcmV0dXJuIFB5X05vdEltcGxlbWVudGVkOworICAgIFB5X1JFVFVSTl9OT1RJTVBMRU1FTlRFRDsKIH0KIAogc3RhdGljIFB5T2JqZWN0ICoKQEAgLTcxNSw5ICs3MDIsOCBAQAogCiAgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJVOl9fZm9ybWF0X18iLCAmZm9ybWF0X3NwZWMpKQogICAgIHJldHVybiBOVUxMOwotICAgIHJldHVybiBfUHlDb21wbGV4X0Zvcm1hdEFkdmFuY2VkKHNlbGYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0FTX1VOSUNPREUoZm9ybWF0X3NwZWMpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9HRVRfU0laRShmb3JtYXRfc3BlYykpOworICAgIHJldHVybiBfUHlDb21wbGV4X0Zvcm1hdEFkdmFuY2VkKHNlbGYsIGZvcm1hdF9zcGVjLCAwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9HRVRfTEVOR1RIKGZvcm1hdF9zcGVjKSk7CiB9CiAKICNpZiAwCkBAIC03NjgsMjAgKzc1NCwxMCBAQAogICAgIFB5X3NzaXplX3QgbGVuOwogCiAgICAgaWYgKFB5VW5pY29kZV9DaGVjayh2KSkgewotICAgICAgICBQeV9zc2l6ZV90IGksIGJ1ZmxlbiA9IFB5VW5pY29kZV9HRVRfU0laRSh2KTsKLSAgICAgICAgUHlfVU5JQ09ERSAqYnVmcHRyOwotICAgICAgICBzX2J1ZmZlciA9IFB5VW5pY29kZV9UcmFuc2Zvcm1EZWNpbWFsVG9BU0NJSSgKLSAgICAgICAgICAgIFB5VW5pY29kZV9BU19VTklDT0RFKHYpLCBidWZsZW4pOworICAgICAgICBzX2J1ZmZlciA9IF9QeVVuaWNvZGVfVHJhbnNmb3JtRGVjaW1hbEFuZFNwYWNlVG9BU0NJSSh2KTsKICAgICAgICAgaWYgKHNfYnVmZmVyID09IE5VTEwpCiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgLyogUmVwbGFjZSBub24tQVNDSUkgd2hpdGVzcGFjZSB3aXRoICcgJyAqLwotICAgICAgICBidWZwdHIgPSBQeVVuaWNvZGVfQVNfVU5JQ09ERShzX2J1ZmZlcik7Ci0gICAgICAgIGZvciAoaSA9IDA7IGkgPCBidWZsZW47IGkrKykgewotICAgICAgICAgICAgUHlfVU5JQ09ERSBjaCA9IGJ1ZnB0cltpXTsKLSAgICAgICAgICAgIGlmIChjaCA+IDEyNyAmJiBQeV9VTklDT0RFX0lTU1BBQ0UoY2gpKQotICAgICAgICAgICAgICAgIGJ1ZnB0cltpXSA9ICcgJzsKLSAgICAgICAgfQotICAgICAgICBzID0gX1B5VW5pY29kZV9Bc1N0cmluZ0FuZFNpemUoc19idWZmZXIsICZsZW4pOworICAgICAgICBzID0gUHlVbmljb2RlX0FzVVRGOEFuZFNpemUoc19idWZmZXIsICZsZW4pOwogICAgICAgICBpZiAocyA9PSBOVUxMKQogICAgICAgICAgICAgZ290byBlcnJvcjsKICAgICB9CmRpZmYgLS1naXQgYS9PYmplY3RzL2Rlc2Nyb2JqZWN0LmMgYi9PYmplY3RzL2Rlc2Nyb2JqZWN0LmMKaW5kZXggYTc4NmJhZS4uZWNmMzcyYSAxMDA2NDQKLS0tIGEvT2JqZWN0cy9kZXNjcm9iamVjdC5jCisrKyBiL09iamVjdHMvZGVzY3JvYmplY3QuYwpAQCAtOSw2ICs5LDcgQEAKICAgICBfUHlPYmplY3RfR0NfVU5UUkFDSyhkZXNjcik7CiAgICAgUHlfWERFQ1JFRihkZXNjci0+ZF90eXBlKTsKICAgICBQeV9YREVDUkVGKGRlc2NyLT5kX25hbWUpOworICAgIFB5X1hERUNSRUYoZGVzY3ItPmRfcXVhbG5hbWUpOwogICAgIFB5T2JqZWN0X0dDX0RlbChkZXNjcik7CiB9CiAKQEAgLTMyMSw2ICszMjIsNDQgQEAKICAgICByZXR1cm4gUHlVbmljb2RlX0Zyb21TdHJpbmcoZGVzY3ItPmRfbWV0aG9kLT5tbF9kb2MpOwogfQogCitzdGF0aWMgUHlPYmplY3QgKgorY2FsY3VsYXRlX3F1YWxuYW1lKFB5RGVzY3JPYmplY3QgKmRlc2NyKQoreworICAgIFB5T2JqZWN0ICp0eXBlX3F1YWxuYW1lLCAqcmVzOworICAgIF9QeV9JREVOVElGSUVSKF9fcXVhbG5hbWVfXyk7CisKKyAgICBpZiAoZGVzY3ItPmRfbmFtZSA9PSBOVUxMIHx8ICFQeVVuaWNvZGVfQ2hlY2soZGVzY3ItPmRfbmFtZSkpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICI8ZGVzY3JpcHRvcj4uX19uYW1lX18gaXMgbm90IGEgdW5pY29kZSBvYmplY3QiKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorCisgICAgdHlwZV9xdWFsbmFtZSA9IF9QeU9iamVjdF9HZXRBdHRySWQoKFB5T2JqZWN0ICopZGVzY3ItPmRfdHlwZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmUHlJZF9fX3F1YWxuYW1lX18pOworICAgIGlmICh0eXBlX3F1YWxuYW1lID09IE5VTEwpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgaWYgKCFQeVVuaWNvZGVfQ2hlY2sodHlwZV9xdWFsbmFtZSkpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgIjxkZXNjcmlwdG9yPi5fX29iamNsYXNzX18uIgorICAgICAgICAgICAgICAgICAgICAgICAgIl9fcXVhbG5hbWVfXyBpcyBub3QgYSB1bmljb2RlIG9iamVjdCIpOworICAgICAgICBQeV9YREVDUkVGKHR5cGVfcXVhbG5hbWUpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisKKyAgICByZXMgPSBQeVVuaWNvZGVfRnJvbUZvcm1hdCgiJVMuJVMiLCB0eXBlX3F1YWxuYW1lLCBkZXNjci0+ZF9uYW1lKTsKKyAgICBQeV9ERUNSRUYodHlwZV9xdWFsbmFtZSk7CisgICAgcmV0dXJuIHJlczsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK2Rlc2NyX2dldF9xdWFsbmFtZShQeURlc2NyT2JqZWN0ICpkZXNjcikKK3sKKyAgICBpZiAoZGVzY3ItPmRfcXVhbG5hbWUgPT0gTlVMTCkKKyAgICAgICAgZGVzY3ItPmRfcXVhbG5hbWUgPSBjYWxjdWxhdGVfcXVhbG5hbWUoZGVzY3IpOworICAgIFB5X1hJTkNSRUYoZGVzY3ItPmRfcXVhbG5hbWUpOworICAgIHJldHVybiBkZXNjci0+ZF9xdWFsbmFtZTsKK30KKwogc3RhdGljIFB5TWVtYmVyRGVmIGRlc2NyX21lbWJlcnNbXSA9IHsKICAgICB7Il9fb2JqY2xhc3NfXyIsIFRfT0JKRUNULCBvZmZzZXRvZihQeURlc2NyT2JqZWN0LCBkX3R5cGUpLCBSRUFET05MWX0sCiAgICAgeyJfX25hbWVfXyIsIFRfT0JKRUNULCBvZmZzZXRvZihQeURlc2NyT2JqZWN0LCBkX25hbWUpLCBSRUFET05MWX0sCkBAIC0zMjksNiArMzY4LDcgQEAKIAogc3RhdGljIFB5R2V0U2V0RGVmIG1ldGhvZF9nZXRzZXRbXSA9IHsKICAgICB7Il9fZG9jX18iLCAoZ2V0dGVyKW1ldGhvZF9nZXRfZG9jfSwKKyAgICB7Il9fcXVhbG5hbWVfXyIsIChnZXR0ZXIpZGVzY3JfZ2V0X3F1YWxuYW1lfSwKICAgICB7MH0KIH07CiAKQEAgLTM0NCw2ICszODQsNyBAQAogCiBzdGF0aWMgUHlHZXRTZXREZWYgbWVtYmVyX2dldHNldFtdID0gewogICAgIHsiX19kb2NfXyIsIChnZXR0ZXIpbWVtYmVyX2dldF9kb2N9LAorICAgIHsiX19xdWFsbmFtZV9fIiwgKGdldHRlcilkZXNjcl9nZXRfcXVhbG5hbWV9LAogICAgIHswfQogfTsKIApAQCAtMzU5LDYgKzQwMCw3IEBACiAKIHN0YXRpYyBQeUdldFNldERlZiBnZXRzZXRfZ2V0c2V0W10gPSB7CiAgICAgeyJfX2RvY19fIiwgKGdldHRlcilnZXRzZXRfZ2V0X2RvY30sCisgICAgeyJfX3F1YWxuYW1lX18iLCAoZ2V0dGVyKWRlc2NyX2dldF9xdWFsbmFtZX0sCiAgICAgezB9CiB9OwogCkBAIC0zNzQsNiArNDE2LDcgQEAKIAogc3RhdGljIFB5R2V0U2V0RGVmIHdyYXBwZXJkZXNjcl9nZXRzZXRbXSA9IHsKICAgICB7Il9fZG9jX18iLCAoZ2V0dGVyKXdyYXBwZXJkZXNjcl9nZXRfZG9jfSwKKyAgICB7Il9fcXVhbG5hbWVfXyIsIChnZXR0ZXIpZGVzY3JfZ2V0X3F1YWxuYW1lfSwKICAgICB7MH0KIH07CiAKQEAgLTU4NSw2ICs2MjgsOSBAQAogICAgICAgICAgICAgUHlfREVDUkVGKGRlc2NyKTsKICAgICAgICAgICAgIGRlc2NyID0gTlVMTDsKICAgICAgICAgfQorICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIGRlc2NyLT5kX3F1YWxuYW1lID0gTlVMTDsKKyAgICAgICAgfQogICAgIH0KICAgICByZXR1cm4gZGVzY3I7CiB9CkBAIC03MDMsMzQgKzc0OSwzOSBAQAogcHJveHlfZ2V0KHByb3h5b2JqZWN0ICpwcCwgUHlPYmplY3QgKmFyZ3MpCiB7CiAgICAgUHlPYmplY3QgKmtleSwgKmRlZiA9IFB5X05vbmU7CisgICAgX1B5X0lERU5USUZJRVIoZ2V0KTsKIAogICAgIGlmICghUHlBcmdfVW5wYWNrVHVwbGUoYXJncywgImdldCIsIDEsIDIsICZrZXksICZkZWYpKQogICAgICAgICByZXR1cm4gTlVMTDsKLSAgICByZXR1cm4gUHlPYmplY3RfQ2FsbE1ldGhvZChwcC0+ZGljdCwgImdldCIsICIoT08pIiwga2V5LCBkZWYpOworICAgIHJldHVybiBfUHlPYmplY3RfQ2FsbE1ldGhvZElkKHBwLT5kaWN0LCAmUHlJZF9nZXQsICIoT08pIiwga2V5LCBkZWYpOwogfQogCiBzdGF0aWMgUHlPYmplY3QgKgogcHJveHlfa2V5cyhwcm94eW9iamVjdCAqcHApCiB7Ci0gICAgcmV0dXJuIFB5T2JqZWN0X0NhbGxNZXRob2QocHAtPmRpY3QsICJrZXlzIiwgTlVMTCk7CisgICAgX1B5X0lERU5USUZJRVIoa2V5cyk7CisgICAgcmV0dXJuIF9QeU9iamVjdF9DYWxsTWV0aG9kSWQocHAtPmRpY3QsICZQeUlkX2tleXMsIE5VTEwpOwogfQogCiBzdGF0aWMgUHlPYmplY3QgKgogcHJveHlfdmFsdWVzKHByb3h5b2JqZWN0ICpwcCkKIHsKLSAgICByZXR1cm4gUHlPYmplY3RfQ2FsbE1ldGhvZChwcC0+ZGljdCwgInZhbHVlcyIsIE5VTEwpOworICAgIF9QeV9JREVOVElGSUVSKHZhbHVlcyk7CisgICAgcmV0dXJuIF9QeU9iamVjdF9DYWxsTWV0aG9kSWQocHAtPmRpY3QsICZQeUlkX3ZhbHVlcywgTlVMTCk7CiB9CiAKIHN0YXRpYyBQeU9iamVjdCAqCiBwcm94eV9pdGVtcyhwcm94eW9iamVjdCAqcHApCiB7Ci0gICAgcmV0dXJuIFB5T2JqZWN0X0NhbGxNZXRob2QocHAtPmRpY3QsICJpdGVtcyIsIE5VTEwpOworICAgIF9QeV9JREVOVElGSUVSKGl0ZW1zKTsKKyAgICByZXR1cm4gX1B5T2JqZWN0X0NhbGxNZXRob2RJZChwcC0+ZGljdCwgJlB5SWRfaXRlbXMsIE5VTEwpOwogfQogCiBzdGF0aWMgUHlPYmplY3QgKgogcHJveHlfY29weShwcm94eW9iamVjdCAqcHApCiB7Ci0gICAgcmV0dXJuIFB5T2JqZWN0X0NhbGxNZXRob2QocHAtPmRpY3QsICJjb3B5IiwgTlVMTCk7CisgICAgX1B5X0lERU5USUZJRVIoY29weSk7CisgICAgcmV0dXJuIF9QeU9iamVjdF9DYWxsTWV0aG9kSWQocHAtPmRpY3QsICZQeUlkX2NvcHksIE5VTEwpOwogfQogCiBzdGF0aWMgUHlNZXRob2REZWYgcHJveHlfbWV0aG9kc1tdID0gewpAQCAtOTgyLDkgKzEwMzMsMTYgQEAKICAgICB9CiB9CiAKK3N0YXRpYyBQeU9iamVjdCAqCit3cmFwcGVyX3F1YWxuYW1lKHdyYXBwZXJvYmplY3QgKndwKQoreworICAgIHJldHVybiBkZXNjcl9nZXRfcXVhbG5hbWUoKFB5RGVzY3JPYmplY3QgKil3cC0+ZGVzY3IpOworfQorCiBzdGF0aWMgUHlHZXRTZXREZWYgd3JhcHBlcl9nZXRzZXRzW10gPSB7CiAgICAgeyJfX29iamNsYXNzX18iLCAoZ2V0dGVyKXdyYXBwZXJfb2JqY2xhc3N9LAogICAgIHsiX19uYW1lX18iLCAoZ2V0dGVyKXdyYXBwZXJfbmFtZX0sCisgICAgeyJfX3F1YWxuYW1lX18iLCAoZ2V0dGVyKXdyYXBwZXJfcXVhbG5hbWV9LAogICAgIHsiX19kb2NfXyIsIChnZXR0ZXIpd3JhcHBlcl9kb2N9LAogICAgIHswfQogfTsKQEAgLTEyOTQsNyArMTM1Miw4IEBACiAKICAgICAvKiBpZiBubyBkb2NzdHJpbmcgZ2l2ZW4gYW5kIHRoZSBnZXR0ZXIgaGFzIG9uZSwgdXNlIHRoYXQgb25lICovCiAgICAgaWYgKChkb2MgPT0gTlVMTCB8fCBkb2MgPT0gUHlfTm9uZSkgJiYgZ2V0ICE9IE5VTEwpIHsKLSAgICAgICAgUHlPYmplY3QgKmdldF9kb2MgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKGdldCwgIl9fZG9jX18iKTsKKyAgICAgICAgX1B5X0lERU5USUZJRVIoX19kb2NfXyk7CisgICAgICAgIFB5T2JqZWN0ICpnZXRfZG9jID0gX1B5T2JqZWN0X0dldEF0dHJJZChnZXQsICZQeUlkX19fZG9jX18pOwogICAgICAgICBpZiAoZ2V0X2RvYykgewogICAgICAgICAgICAgaWYgKFB5X1RZUEUoc2VsZikgPT0gJlB5UHJvcGVydHlfVHlwZSkgewogICAgICAgICAgICAgICAgIFB5X1hERUNSRUYocHJvcC0+cHJvcF9kb2MpOwpAQCAtMTMwNSw3ICsxMzY0LDcgQEAKICAgICAgICAgICAgICAgICBpbiBkaWN0IG9mIHRoZSBzdWJjbGFzcyBpbnN0YW5jZSBpbnN0ZWFkLAogICAgICAgICAgICAgICAgIG90aGVyd2lzZSBpdCBnZXRzIHNoYWRvd2VkIGJ5IF9fZG9jX18gaW4gdGhlCiAgICAgICAgICAgICAgICAgY2xhc3MncyBkaWN0LiAqLwotICAgICAgICAgICAgICAgIGludCBlcnIgPSBQeU9iamVjdF9TZXRBdHRyU3RyaW5nKHNlbGYsICJfX2RvY19fIiwgZ2V0X2RvYyk7CisgICAgICAgICAgICAgICAgaW50IGVyciA9IF9QeU9iamVjdF9TZXRBdHRySWQoc2VsZiwgJlB5SWRfX19kb2NfXywgZ2V0X2RvYyk7CiAgICAgICAgICAgICAgICAgUHlfREVDUkVGKGdldF9kb2MpOwogICAgICAgICAgICAgICAgIGlmIChlcnIgPCAwKQogICAgICAgICAgICAgICAgICAgICByZXR1cm4gLTE7CkBAIC0xMzIzLDYgKzEzODIsNDMgQEAKICAgICByZXR1cm4gMDsKIH0KIAorc3RhdGljIFB5T2JqZWN0ICoKK3Byb3BlcnR5X2dldF9fX2lzYWJzdHJhY3RtZXRob2RfXyhwcm9wZXJ0eW9iamVjdCAqcHJvcCwgdm9pZCAqY2xvc3VyZSkKK3sKKyAgICBpbnQgcmVzID0gX1B5T2JqZWN0X0lzQWJzdHJhY3QocHJvcC0+cHJvcF9nZXQpOworICAgIGlmIChyZXMgPT0gLTEpIHsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorICAgIGVsc2UgaWYgKHJlcykgeworICAgICAgICBQeV9SRVRVUk5fVFJVRTsKKyAgICB9CisKKyAgICByZXMgPSBfUHlPYmplY3RfSXNBYnN0cmFjdChwcm9wLT5wcm9wX3NldCk7CisgICAgaWYgKHJlcyA9PSAtMSkgeworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisgICAgZWxzZSBpZiAocmVzKSB7CisgICAgICAgIFB5X1JFVFVSTl9UUlVFOworICAgIH0KKworICAgIHJlcyA9IF9QeU9iamVjdF9Jc0Fic3RyYWN0KHByb3AtPnByb3BfZGVsKTsKKyAgICBpZiAocmVzID09IC0xKSB7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKyAgICBlbHNlIGlmIChyZXMpIHsKKyAgICAgICAgUHlfUkVUVVJOX1RSVUU7CisgICAgfQorICAgIFB5X1JFVFVSTl9GQUxTRTsKK30KKworc3RhdGljIFB5R2V0U2V0RGVmIHByb3BlcnR5X2dldHNldGxpc3RbXSA9IHsKKyAgICB7Il9faXNhYnN0cmFjdG1ldGhvZF9fIiwKKyAgICAgKGdldHRlcilwcm9wZXJ0eV9nZXRfX19pc2Fic3RyYWN0bWV0aG9kX18sIE5VTEwsCisgICAgIE5VTEwsCisgICAgIE5VTEx9LAorICAgIHtOVUxMfSAvKiBTZW50aW5lbCAqLworfTsKKwogUHlEb2NfU1RSVkFSKHByb3BlcnR5X2RvYywKICJwcm9wZXJ0eShmZ2V0PU5vbmUsIGZzZXQ9Tm9uZSwgZmRlbD1Ob25lLCBkb2M9Tm9uZSkgLT4gcHJvcGVydHkgYXR0cmlidXRlXG4iCiAiXG4iCkBAIC0xMzg4LDcgKzE0ODQsNyBAQAogICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfaXRlcm5leHQgKi8KICAgICBwcm9wZXJ0eV9tZXRob2RzLCAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX21ldGhvZHMgKi8KICAgICBwcm9wZXJ0eV9tZW1iZXJzLCAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX21lbWJlcnMgKi8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2dldHNldCAqLworICAgIHByb3BlcnR5X2dldHNldGxpc3QsICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfZ2V0c2V0ICovCiAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9iYXNlICovCiAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9kaWN0ICovCiAgICAgcHJvcGVydHlfZGVzY3JfZ2V0LCAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9kZXNjcl9nZXQgKi8KZGlmZiAtLWdpdCBhL09iamVjdHMvZGljdG9iamVjdC5jIGIvT2JqZWN0cy9kaWN0b2JqZWN0LmMKaW5kZXggMjdkZTEwZC4uMjNjYTQ0MiAxMDA2NDQKLS0tIGEvT2JqZWN0cy9kaWN0b2JqZWN0LmMKKysrIGIvT2JqZWN0cy9kaWN0b2JqZWN0LmMKQEAgLTIxNywxNiArMjE3LDIzIEBACiBzdGF0aWMgUHlEaWN0T2JqZWN0ICpmcmVlX2xpc3RbUHlEaWN0X01BWEZSRUVMSVNUXTsKIHN0YXRpYyBpbnQgbnVtZnJlZSA9IDA7CiAKLXZvaWQKLVB5RGljdF9GaW5pKHZvaWQpCitpbnQKK1B5RGljdF9DbGVhckZyZWVMaXN0KHZvaWQpCiB7CiAgICAgUHlEaWN0T2JqZWN0ICpvcDsKLQorICAgIGludCByZXQgPSBudW1mcmVlOwogICAgIHdoaWxlIChudW1mcmVlKSB7CiAgICAgICAgIG9wID0gZnJlZV9saXN0Wy0tbnVtZnJlZV07CiAgICAgICAgIGFzc2VydChQeURpY3RfQ2hlY2tFeGFjdChvcCkpOwogICAgICAgICBQeU9iamVjdF9HQ19EZWwob3ApOwogICAgIH0KKyAgICByZXR1cm4gcmV0OworfQorCit2b2lkCitQeURpY3RfRmluaSh2b2lkKQoreworICAgIFB5RGljdF9DbGVhckZyZWVMaXN0KCk7CiB9CiAKIFB5T2JqZWN0ICoKQEAgLTM0MCwxMiArMzQ3LDkgQEAKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGVwOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICAgICAgLyogVGhlIGNvbXBhcmUgZGlkIG1ham9yIG5hc3R5IHN0dWZmIHRvIHRoZQotICAgICAgICAgICAgICAgICAqIGRpY3Q6ICBzdGFydCBvdmVyLgotICAgICAgICAgICAgICAgICAqIFhYWCBBIGNsZXZlciBhZHZlcnNhcnkgY291bGQgcHJldmVudCB0aGlzCi0gICAgICAgICAgICAgICAgICogWFhYIGZyb20gdGVybWluYXRpbmcuCi0gICAgICAgICAgICAgICAgICovCi0gICAgICAgICAgICAgICAgcmV0dXJuIGxvb2tkaWN0KG1wLCBrZXksIGhhc2gpOworICAgICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19SdW50aW1lRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkaWN0aW9uYXJ5IGNoYW5nZWQgc2l6ZSBkdXJpbmcgbG9va3VwIik7CisgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICAgICAgZnJlZXNsb3QgPSBOVUxMOwpAQCAtMzcyLDEyICszNzYsOSBAQAogICAgICAgICAgICAgICAgICAgICByZXR1cm4gZXA7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgICAgICAvKiBUaGUgY29tcGFyZSBkaWQgbWFqb3IgbmFzdHkgc3R1ZmYgdG8gdGhlCi0gICAgICAgICAgICAgICAgICogZGljdDogIHN0YXJ0IG92ZXIuCi0gICAgICAgICAgICAgICAgICogWFhYIEEgY2xldmVyIGFkdmVyc2FyeSBjb3VsZCBwcmV2ZW50IHRoaXMKLSAgICAgICAgICAgICAgICAgKiBYWFggZnJvbSB0ZXJtaW5hdGluZy4KLSAgICAgICAgICAgICAgICAgKi8KLSAgICAgICAgICAgICAgICByZXR1cm4gbG9va2RpY3QobXAsIGtleSwgaGFzaCk7CisgICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1J1bnRpbWVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRpY3Rpb25hcnkgY2hhbmdlZCBzaXplIGR1cmluZyBsb29rdXAiKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgICAgICBlbHNlIGlmIChlcC0+bWVfa2V5ID09IGR1bW15ICYmIGZyZWVzbG90ID09IE5VTEwpCkBAIC00MTgsNyArNDE5LDcgQEAKICAgICAgICAgbXAtPm1hX2xvb2t1cCA9IGxvb2tkaWN0OwogICAgICAgICByZXR1cm4gbG9va2RpY3QobXAsIGtleSwgaGFzaCk7CiAgICAgfQotICAgIGkgPSBoYXNoICYgbWFzazsKKyAgICBpID0gKHNpemVfdCloYXNoICYgbWFzazsKICAgICBlcCA9ICZlcDBbaV07CiAgICAgaWYgKGVwLT5tZV9rZXkgPT0gTlVMTCB8fCBlcC0+bWVfa2V5ID09IGtleSkKICAgICAgICAgcmV0dXJuIGVwOwpAQCAtNTgzLDcgKzU4NCw3IEBACiAgICAgcmVnaXN0ZXIgUHlEaWN0RW50cnkgKmVwOwogCiAgICAgTUFJTlRBSU5fVFJBQ0tJTkcobXAsIGtleSwgdmFsdWUpOwotICAgIGkgPSBoYXNoICYgbWFzazsKKyAgICBpID0gKHNpemVfdCloYXNoICYgbWFzazsKICAgICBlcCA9ICZlcDBbaV07CiAgICAgZm9yIChwZXJ0dXJiID0gaGFzaDsgZXAtPm1lX2tleSAhPSBOVUxMOyBwZXJ0dXJiID4+PSBQRVJUVVJCX1NISUZUKSB7CiAgICAgICAgIGkgPSAoaSA8PCAyKSArIGkgKyBwZXJ0dXJiICsgMTsKQEAgLTcyMSw3ICs3MjIsNyBAQAogICAgIGlmICghUHlEaWN0X0NoZWNrKG9wKSkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgaWYgKCFQeVVuaWNvZGVfQ2hlY2tFeGFjdChrZXkpIHx8Ci0gICAgICAgIChoYXNoID0gKChQeVVuaWNvZGVPYmplY3QgKikga2V5KS0+aGFzaCkgPT0gLTEpCisgICAgICAgIChoYXNoID0gKChQeUFTQ0lJT2JqZWN0ICopIGtleSktPmhhc2gpID09IC0xKQogICAgIHsKICAgICAgICAgaGFzaCA9IFB5T2JqZWN0X0hhc2goa2V5KTsKICAgICAgICAgaWYgKGhhc2ggPT0gLTEpIHsKQEAgLTc3Myw3ICs3NzQsNyBAQAogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAgICAgaWYgKCFQeVVuaWNvZGVfQ2hlY2tFeGFjdChrZXkpIHx8Ci0gICAgICAgIChoYXNoID0gKChQeVVuaWNvZGVPYmplY3QgKikga2V5KS0+aGFzaCkgPT0gLTEpCisgICAgICAgIChoYXNoID0gKChQeUFTQ0lJT2JqZWN0ICopIGtleSktPmhhc2gpID09IC0xKQogICAgIHsKICAgICAgICAgaGFzaCA9IFB5T2JqZWN0X0hhc2goa2V5KTsKICAgICAgICAgaWYgKGhhc2ggPT0gLTEpIHsKQEAgLTg0NCw3ICs4NDUsNyBAQAogICAgIGFzc2VydChrZXkpOwogICAgIGFzc2VydCh2YWx1ZSk7CiAgICAgaWYgKFB5VW5pY29kZV9DaGVja0V4YWN0KGtleSkpIHsKLSAgICAgICAgaGFzaCA9ICgoUHlVbmljb2RlT2JqZWN0ICopIGtleSktPmhhc2g7CisgICAgICAgIGhhc2ggPSAoKFB5QVNDSUlPYmplY3QgKikga2V5KS0+aGFzaDsKICAgICAgICAgaWYgKGhhc2ggPT0gLTEpCiAgICAgICAgICAgICBoYXNoID0gUHlPYmplY3RfSGFzaChrZXkpOwogICAgIH0KQEAgLTg3MCw3ICs4NzEsNyBAQAogICAgIH0KICAgICBhc3NlcnQoa2V5KTsKICAgICBpZiAoIVB5VW5pY29kZV9DaGVja0V4YWN0KGtleSkgfHwKLSAgICAgICAgKGhhc2ggPSAoKFB5VW5pY29kZU9iamVjdCAqKSBrZXkpLT5oYXNoKSA9PSAtMSkgeworICAgICAgICAoaGFzaCA9ICgoUHlBU0NJSU9iamVjdCAqKSBrZXkpLT5oYXNoKSA9PSAtMSkgewogICAgICAgICBoYXNoID0gUHlPYmplY3RfSGFzaChrZXkpOwogICAgICAgICBpZiAoaGFzaCA9PSAtMSkKICAgICAgICAgICAgIHJldHVybiAtMTsKQEAgLTExNTAsNyArMTE1MSw3IEBACiAgICAgUHlEaWN0RW50cnkgKmVwOwogICAgIGFzc2VydChtcC0+bWFfdGFibGUgIT0gTlVMTCk7CiAgICAgaWYgKCFQeVVuaWNvZGVfQ2hlY2tFeGFjdChrZXkpIHx8Ci0gICAgICAgIChoYXNoID0gKChQeVVuaWNvZGVPYmplY3QgKikga2V5KS0+aGFzaCkgPT0gLTEpIHsKKyAgICAgICAgKGhhc2ggPSAoKFB5QVNDSUlPYmplY3QgKikga2V5KS0+aGFzaCkgPT0gLTEpIHsKICAgICAgICAgaGFzaCA9IFB5T2JqZWN0X0hhc2goa2V5KTsKICAgICAgICAgaWYgKGhhc2ggPT0gLTEpCiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKQEAgLTExNjMsMTAgKzExNjQsOCBAQAogICAgICAgICBpZiAoIVB5RGljdF9DaGVja0V4YWN0KG1wKSkgewogICAgICAgICAgICAgLyogTG9vayB1cCBfX21pc3NpbmdfXyBtZXRob2QgaWYgd2UncmUgYSBzdWJjbGFzcy4gKi8KICAgICAgICAgICAgIFB5T2JqZWN0ICptaXNzaW5nLCAqcmVzOwotICAgICAgICAgICAgc3RhdGljIFB5T2JqZWN0ICptaXNzaW5nX3N0ciA9IE5VTEw7Ci0gICAgICAgICAgICBtaXNzaW5nID0gX1B5T2JqZWN0X0xvb2t1cFNwZWNpYWwoKFB5T2JqZWN0ICopbXAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIl9fbWlzc2luZ19fIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbWlzc2luZ19zdHIpOworICAgICAgICAgICAgX1B5X0lERU5USUZJRVIoX19taXNzaW5nX18pOworICAgICAgICAgICAgbWlzc2luZyA9IF9QeU9iamVjdF9Mb29rdXBTcGVjaWFsKChQeU9iamVjdCAqKW1wLCAmUHlJZF9fX21pc3NpbmdfXyk7CiAgICAgICAgICAgICBpZiAobWlzc2luZyAhPSBOVUxMKSB7CiAgICAgICAgICAgICAgICAgcmVzID0gUHlPYmplY3RfQ2FsbEZ1bmN0aW9uT2JqQXJncyhtaXNzaW5nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5LCBOVUxMKTsKQEAgLTE0MjMsNyArMTQyMiw4IEBACiAgICAgICAgIHJlc3VsdCA9IC0xOwogCiAgICAgZWxzZSBpZiAoYXJnICE9IE5VTEwpIHsKLSAgICAgICAgaWYgKFB5T2JqZWN0X0hhc0F0dHJTdHJpbmcoYXJnLCAia2V5cyIpKQorICAgICAgICBfUHlfSURFTlRJRklFUihrZXlzKTsKKyAgICAgICAgaWYgKF9QeU9iamVjdF9IYXNBdHRySWQoYXJnLCAmUHlJZF9rZXlzKSkKICAgICAgICAgICAgIHJlc3VsdCA9IFB5RGljdF9NZXJnZShzZWxmLCBhcmcsIDEpOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICByZXN1bHQgPSBQeURpY3RfTWVyZ2VGcm9tU2VxMihzZWxmLCBhcmcsIDEpOwpAQCAtMTc2Miw3ICsxNzYyLDcgQEAKICAgICBQeURpY3RFbnRyeSAqZXA7CiAKICAgICBpZiAoIVB5VW5pY29kZV9DaGVja0V4YWN0KGtleSkgfHwKLSAgICAgICAgKGhhc2ggPSAoKFB5VW5pY29kZU9iamVjdCAqKSBrZXkpLT5oYXNoKSA9PSAtMSkgeworICAgICAgICAoaGFzaCA9ICgoUHlBU0NJSU9iamVjdCAqKSBrZXkpLT5oYXNoKSA9PSAtMSkgewogICAgICAgICBoYXNoID0gUHlPYmplY3RfSGFzaChrZXkpOwogICAgICAgICBpZiAoaGFzaCA9PSAtMSkKICAgICAgICAgICAgIHJldHVybiBOVUxMOwpAQCAtMTc4Niw3ICsxNzg2LDcgQEAKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKICAgICBpZiAoIVB5VW5pY29kZV9DaGVja0V4YWN0KGtleSkgfHwKLSAgICAgICAgKGhhc2ggPSAoKFB5VW5pY29kZU9iamVjdCAqKSBrZXkpLT5oYXNoKSA9PSAtMSkgeworICAgICAgICAoaGFzaCA9ICgoUHlBU0NJSU9iamVjdCAqKSBrZXkpLT5oYXNoKSA9PSAtMSkgewogICAgICAgICBoYXNoID0gUHlPYmplY3RfSGFzaChrZXkpOwogICAgICAgICBpZiAoaGFzaCA9PSAtMSkKICAgICAgICAgICAgIHJldHVybiBOVUxMOwpAQCAtMTgxNSw3ICsxODE1LDcgQEAKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKICAgICBpZiAoIVB5VW5pY29kZV9DaGVja0V4YWN0KGtleSkgfHwKLSAgICAgICAgKGhhc2ggPSAoKFB5VW5pY29kZU9iamVjdCAqKSBrZXkpLT5oYXNoKSA9PSAtMSkgeworICAgICAgICAoaGFzaCA9ICgoUHlBU0NJSU9iamVjdCAqKSBrZXkpLT5oYXNoKSA9PSAtMSkgewogICAgICAgICBoYXNoID0gUHlPYmplY3RfSGFzaChrZXkpOwogICAgICAgICBpZiAoaGFzaCA9PSAtMSkKICAgICAgICAgICAgIHJldHVybiBOVUxMOwpAQCAtMTg2MCw3ICsxODYwLDcgQEAKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogICAgIGlmICghUHlVbmljb2RlX0NoZWNrRXhhY3Qoa2V5KSB8fAotICAgICAgICAoaGFzaCA9ICgoUHlVbmljb2RlT2JqZWN0ICopIGtleSktPmhhc2gpID09IC0xKSB7CisgICAgICAgIChoYXNoID0gKChQeUFTQ0lJT2JqZWN0ICopIGtleSktPmhhc2gpID09IC0xKSB7CiAgICAgICAgIGhhc2ggPSBQeU9iamVjdF9IYXNoKGtleSk7CiAgICAgICAgIGlmIChoYXNoID09IC0xKQogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CkBAIC0yMDY5LDcgKzIwNjksNyBAQAogICAgIFB5RGljdEVudHJ5ICplcDsKIAogICAgIGlmICghUHlVbmljb2RlX0NoZWNrRXhhY3Qoa2V5KSB8fAotICAgICAgICAoaGFzaCA9ICgoUHlVbmljb2RlT2JqZWN0ICopIGtleSktPmhhc2gpID09IC0xKSB7CisgICAgICAgIChoYXNoID0gKChQeUFTQ0lJT2JqZWN0ICopIGtleSktPmhhc2gpID09IC0xKSB7CiAgICAgICAgIGhhc2ggPSBQeU9iamVjdF9IYXNoKGtleSk7CiAgICAgICAgIGlmIChoYXNoID09IC0xKQogICAgICAgICAgICAgcmV0dXJuIC0xOwpAQCAtMjY0NCwxMCArMjY0NCw4IEBACiAgICAgYXNzZXJ0KFB5RGljdFZpZXdTZXRfQ2hlY2soc2VsZikpOwogICAgIGFzc2VydChvdGhlciAhPSBOVUxMKTsKIAotICAgIGlmICghUHlBbnlTZXRfQ2hlY2sob3RoZXIpICYmICFQeURpY3RWaWV3U2V0X0NoZWNrKG90aGVyKSkgewotICAgICAgICBQeV9JTkNSRUYoUHlfTm90SW1wbGVtZW50ZWQpOwotICAgICAgICByZXR1cm4gUHlfTm90SW1wbGVtZW50ZWQ7Ci0gICAgfQorICAgIGlmICghUHlBbnlTZXRfQ2hlY2sob3RoZXIpICYmICFQeURpY3RWaWV3U2V0X0NoZWNrKG90aGVyKSkKKyAgICAgICAgUHlfUkVUVVJOX05PVElNUExFTUVOVEVEOwogCiAgICAgbGVuX3NlbGYgPSBQeU9iamVjdF9TaXplKHNlbGYpOwogICAgIGlmIChsZW5fc2VsZiA8IDApCkBAIC0yNzQ1LDEwICsyNzQzLDEyIEBACiB7CiAgICAgUHlPYmplY3QgKnJlc3VsdCA9IFB5U2V0X05ldyhzZWxmKTsKICAgICBQeU9iamVjdCAqdG1wOworICAgIF9QeV9JREVOVElGSUVSKGRpZmZlcmVuY2VfdXBkYXRlKTsKKwogICAgIGlmIChyZXN1bHQgPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKLSAgICB0bXAgPSBQeU9iamVjdF9DYWxsTWV0aG9kKHJlc3VsdCwgImRpZmZlcmVuY2VfdXBkYXRlIiwgIk8iLCBvdGhlcik7CisgICAgdG1wID0gX1B5T2JqZWN0X0NhbGxNZXRob2RJZChyZXN1bHQsICZQeUlkX2RpZmZlcmVuY2VfdXBkYXRlLCAiTyIsIG90aGVyKTsKICAgICBpZiAodG1wID09IE5VTEwpIHsKICAgICAgICAgUHlfREVDUkVGKHJlc3VsdCk7CiAgICAgICAgIHJldHVybiBOVUxMOwpAQCAtMjc2MywxMCArMjc2MywxMiBAQAogewogICAgIFB5T2JqZWN0ICpyZXN1bHQgPSBQeVNldF9OZXcoc2VsZik7CiAgICAgUHlPYmplY3QgKnRtcDsKKyAgICBfUHlfSURFTlRJRklFUihpbnRlcnNlY3Rpb25fdXBkYXRlKTsKKwogICAgIGlmIChyZXN1bHQgPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKLSAgICB0bXAgPSBQeU9iamVjdF9DYWxsTWV0aG9kKHJlc3VsdCwgImludGVyc2VjdGlvbl91cGRhdGUiLCAiTyIsIG90aGVyKTsKKyAgICB0bXAgPSBfUHlPYmplY3RfQ2FsbE1ldGhvZElkKHJlc3VsdCwgJlB5SWRfaW50ZXJzZWN0aW9uX3VwZGF0ZSwgIk8iLCBvdGhlcik7CiAgICAgaWYgKHRtcCA9PSBOVUxMKSB7CiAgICAgICAgIFB5X0RFQ1JFRihyZXN1bHQpOwogICAgICAgICByZXR1cm4gTlVMTDsKQEAgLTI3ODEsMTAgKzI3ODMsMTIgQEAKIHsKICAgICBQeU9iamVjdCAqcmVzdWx0ID0gUHlTZXRfTmV3KHNlbGYpOwogICAgIFB5T2JqZWN0ICp0bXA7CisgICAgX1B5X0lERU5USUZJRVIodXBkYXRlKTsKKwogICAgIGlmIChyZXN1bHQgPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKLSAgICB0bXAgPSBQeU9iamVjdF9DYWxsTWV0aG9kKHJlc3VsdCwgInVwZGF0ZSIsICJPIiwgb3RoZXIpOworICAgIHRtcCA9IF9QeU9iamVjdF9DYWxsTWV0aG9kSWQocmVzdWx0LCAmUHlJZF91cGRhdGUsICJPIiwgb3RoZXIpOwogICAgIGlmICh0bXAgPT0gTlVMTCkgewogICAgICAgICBQeV9ERUNSRUYocmVzdWx0KTsKICAgICAgICAgcmV0dXJuIE5VTEw7CkBAIC0yNzk5LDEwICsyODAzLDEyIEBACiB7CiAgICAgUHlPYmplY3QgKnJlc3VsdCA9IFB5U2V0X05ldyhzZWxmKTsKICAgICBQeU9iamVjdCAqdG1wOworICAgIF9QeV9JREVOVElGSUVSKHN5bW1ldHJpY19kaWZmZXJlbmNlX3VwZGF0ZSk7CisKICAgICBpZiAocmVzdWx0ID09IE5VTEwpCiAgICAgICAgIHJldHVybiBOVUxMOwogCi0gICAgdG1wID0gUHlPYmplY3RfQ2FsbE1ldGhvZChyZXN1bHQsICJzeW1tZXRyaWNfZGlmZmVyZW5jZV91cGRhdGUiLCAiTyIsCisgICAgdG1wID0gX1B5T2JqZWN0X0NhbGxNZXRob2RJZChyZXN1bHQsICZQeUlkX3N5bW1ldHJpY19kaWZmZXJlbmNlX3VwZGF0ZSwgIk8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3RoZXIpOwogICAgIGlmICh0bXAgPT0gTlVMTCkgewogICAgICAgICBQeV9ERUNSRUYocmVzdWx0KTsKZGlmZiAtLWdpdCBhL09iamVjdHMvZW51bW9iamVjdC5jIGIvT2JqZWN0cy9lbnVtb2JqZWN0LmMKaW5kZXggMDBhMzM0Ni4uMjNiMzgwOCAxMDA2NDQKLS0tIGEvT2JqZWN0cy9lbnVtb2JqZWN0LmMKKysrIGIvT2JqZWN0cy9lbnVtb2JqZWN0LmMKQEAgLTIyNCw4ICsyMjQsOCBAQAogewogICAgIFB5X3NzaXplX3QgbjsKICAgICBQeU9iamVjdCAqc2VxLCAqcmV2ZXJzZWRfbWV0aDsKLSAgICBzdGF0aWMgUHlPYmplY3QgKnJldmVyc2VkX2NhY2hlID0gTlVMTDsKICAgICByZXZlcnNlZG9iamVjdCAqcm87CisgICAgX1B5X0lERU5USUZJRVIoX19yZXZlcnNlZF9fKTsKIAogICAgIGlmICh0eXBlID09ICZQeVJldmVyc2VkX1R5cGUgJiYgIV9QeUFyZ19Ob0tleXdvcmRzKCJyZXZlcnNlZCgpIiwga3dkcykpCiAgICAgICAgIHJldHVybiBOVUxMOwpAQCAtMjMzLDcgKzIzMyw3IEBACiAgICAgaWYgKCFQeUFyZ19VbnBhY2tUdXBsZShhcmdzLCAicmV2ZXJzZWQiLCAxLCAxLCAmc2VxKSApCiAgICAgICAgIHJldHVybiBOVUxMOwogCi0gICAgcmV2ZXJzZWRfbWV0aCA9IF9QeU9iamVjdF9Mb29rdXBTcGVjaWFsKHNlcSwgIl9fcmV2ZXJzZWRfXyIsICZyZXZlcnNlZF9jYWNoZSk7CisgICAgcmV2ZXJzZWRfbWV0aCA9IF9QeU9iamVjdF9Mb29rdXBTcGVjaWFsKHNlcSwgJlB5SWRfX19yZXZlcnNlZF9fKTsKICAgICBpZiAocmV2ZXJzZWRfbWV0aCAhPSBOVUxMKSB7CiAgICAgICAgIFB5T2JqZWN0ICpyZXMgPSBQeU9iamVjdF9DYWxsRnVuY3Rpb25PYmpBcmdzKHJldmVyc2VkX21ldGgsIE5VTEwpOwogICAgICAgICBQeV9ERUNSRUYocmV2ZXJzZWRfbWV0aCk7CmRpZmYgLS1naXQgYS9PYmplY3RzL2V4Y2VwdGlvbnMuYyBiL09iamVjdHMvZXhjZXB0aW9ucy5jCmluZGV4IDlkYWExMmEuLmJjNDM3OTkgMTAwNjQ0Ci0tLSBhL09iamVjdHMvZXhjZXB0aW9ucy5jCisrKyBiL09iamVjdHMvZXhjZXB0aW9ucy5jCkBAIC0xMCw2ICsxMCwyMCBAQAogI2luY2x1ZGUgIm9zZGVmcy5oIgogCiAKKy8qIENvbXBhdGliaWxpdHkgYWxpYXNlcyAqLworUHlPYmplY3QgKlB5RXhjX0Vudmlyb25tZW50RXJyb3IgPSBOVUxMOworUHlPYmplY3QgKlB5RXhjX0lPRXJyb3IgPSBOVUxMOworI2lmZGVmIE1TX1dJTkRPV1MKK1B5T2JqZWN0ICpQeUV4Y19XaW5kb3dzRXJyb3IgPSBOVUxMOworI2VuZGlmCisjaWZkZWYgX19WTVMKK1B5T2JqZWN0ICpQeUV4Y19WTVNFcnJvciA9IE5VTEw7CisjZW5kaWYKKworLyogVGhlIGRpY3QgbWFwIGZyb20gZXJybm8gY29kZXMgdG8gT1NFcnJvciBzdWJjbGFzc2VzICovCitzdGF0aWMgUHlPYmplY3QgKmVycm5vbWFwID0gTlVMTDsKKworCiAvKiBOT1RFOiBJZiB0aGUgZXhjZXB0aW9uIGNsYXNzIGhpZXJhcmNoeSBjaGFuZ2VzLCBkb24ndCBmb3JnZXQgdG8gdXBkYXRlCiAgKiBMaWIvdGVzdC9leGNlcHRpb25faGllcmFyY2h5LnR4dAogICovCkBAIC00NCw3ICs1OCw3IEBACiAgICAgaWYgKCFfUHlBcmdfTm9LZXl3b3JkcyhQeV9UWVBFKHNlbGYpLT50cF9uYW1lLCBrd2RzKSkKICAgICAgICAgcmV0dXJuIC0xOwogCi0gICAgUHlfREVDUkVGKHNlbGYtPmFyZ3MpOworICAgIFB5X1hERUNSRUYoc2VsZi0+YXJncyk7CiAgICAgc2VsZi0+YXJncyA9IGFyZ3M7CiAgICAgUHlfSU5DUkVGKHNlbGYtPmFyZ3MpOwogCkBAIC0xNjMsMzYgKzE3Nyw2IEBACiAgICB7TlVMTCwgTlVMTCwgMCwgTlVMTH0sCiB9OwogCi0KLXN0YXRpYyBQeU9iamVjdCAqCi1CYXNlRXhjZXB0aW9uX2dldF9kaWN0KFB5QmFzZUV4Y2VwdGlvbk9iamVjdCAqc2VsZikKLXsKLSAgICBpZiAoc2VsZi0+ZGljdCA9PSBOVUxMKSB7Ci0gICAgICAgIHNlbGYtPmRpY3QgPSBQeURpY3RfTmV3KCk7Ci0gICAgICAgIGlmICghc2VsZi0+ZGljdCkKLSAgICAgICAgICAgIHJldHVybiBOVUxMOwotICAgIH0KLSAgICBQeV9JTkNSRUYoc2VsZi0+ZGljdCk7Ci0gICAgcmV0dXJuIHNlbGYtPmRpY3Q7Ci19Ci0KLXN0YXRpYyBpbnQKLUJhc2VFeGNlcHRpb25fc2V0X2RpY3QoUHlCYXNlRXhjZXB0aW9uT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqdmFsKQotewotICAgIGlmICh2YWwgPT0gTlVMTCkgewotICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCAiX19kaWN0X18gbWF5IG5vdCBiZSBkZWxldGVkIik7Ci0gICAgICAgIHJldHVybiAtMTsKLSAgICB9Ci0gICAgaWYgKCFQeURpY3RfQ2hlY2sodmFsKSkgewotICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCAiX19kaWN0X18gbXVzdCBiZSBhIGRpY3Rpb25hcnkiKTsKLSAgICAgICAgcmV0dXJuIC0xOwotICAgIH0KLSAgICBQeV9DTEVBUihzZWxmLT5kaWN0KTsKLSAgICBQeV9JTkNSRUYodmFsKTsKLSAgICBzZWxmLT5kaWN0ID0gdmFsOwotICAgIHJldHVybiAwOwotfQotCiBzdGF0aWMgUHlPYmplY3QgKgogQmFzZUV4Y2VwdGlvbl9nZXRfYXJncyhQeUJhc2VFeGNlcHRpb25PYmplY3QgKnNlbGYpCiB7CkBAIC0yODIsNyArMjY2LDI0IEBACiAgICAgUHlPYmplY3QgKnJlcyA9IFB5RXhjZXB0aW9uX0dldENhdXNlKHNlbGYpOwogICAgIGlmIChyZXMpCiAgICAgICAgIHJldHVybiByZXM7ICAvKiBuZXcgcmVmZXJlbmNlIGFscmVhZHkgcmV0dXJuZWQgYWJvdmUgKi8KLSAgICBQeV9SRVRVUk5fTk9ORTsKKyAgICBQeV9JTkNSRUYoUHlfRWxsaXBzaXMpOworICAgIHJldHVybiBQeV9FbGxpcHNpczsKK30KKworaW50CitfUHlFeGNlcHRpb25fU2V0Q2F1c2VDaGVja2VkKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJnKSB7CisgICAgaWYgKGFyZyA9PSBQeV9FbGxpcHNpcykgeworICAgICAgICBhcmcgPSBOVUxMOworICAgIH0gZWxzZSBpZiAoYXJnICE9IFB5X05vbmUgJiYgIVB5RXhjZXB0aW9uSW5zdGFuY2VfQ2hlY2soYXJnKSkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCAiZXhjZXB0aW9uIGNhdXNlIG11c3QgYmUgTm9uZSwgIgorICAgICAgICAgICAgICAgICAgICAgICAgIkVsbGlwc2lzIG9yIGRlcml2ZSBmcm9tIEJhc2VFeGNlcHRpb24iKTsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0gZWxzZSB7CisgICAgICAgIC8qIFB5RXhjZXB0aW9uX1NldENhdXNlIHN0ZWFscyBhIHJlZmVyZW5jZSAqLworICAgICAgICBQeV9JTkNSRUYoYXJnKTsKKyAgICB9CisgICAgUHlFeGNlcHRpb25fU2V0Q2F1c2Uoc2VsZiwgYXJnKTsKKyAgICByZXR1cm4gMDsKIH0KIAogc3RhdGljIGludApAQCAtMjkwLDIzICsyOTEsMTMgQEAKICAgICBpZiAoYXJnID09IE5VTEwpIHsKICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgIl9fY2F1c2VfXyBtYXkgbm90IGJlIGRlbGV0ZWQiKTsKICAgICAgICAgcmV0dXJuIC0xOwotICAgIH0gZWxzZSBpZiAoYXJnID09IFB5X05vbmUpIHsKLSAgICAgICAgYXJnID0gTlVMTDsKLSAgICB9IGVsc2UgaWYgKCFQeUV4Y2VwdGlvbkluc3RhbmNlX0NoZWNrKGFyZykpIHsKLSAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgImV4Y2VwdGlvbiBjYXVzZSBtdXN0IGJlIE5vbmUgIgotICAgICAgICAgICAgICAgICAgICAgICAgIm9yIGRlcml2ZSBmcm9tIEJhc2VFeGNlcHRpb24iKTsKLSAgICAgICAgcmV0dXJuIC0xOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIC8qIFB5RXhjZXB0aW9uX1NldENhdXNlIHN0ZWFscyB0aGlzIHJlZmVyZW5jZSAqLwotICAgICAgICBQeV9JTkNSRUYoYXJnKTsKICAgICB9Ci0gICAgUHlFeGNlcHRpb25fU2V0Q2F1c2Uoc2VsZiwgYXJnKTsKLSAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gX1B5RXhjZXB0aW9uX1NldENhdXNlQ2hlY2tlZChzZWxmLCBhcmcpOwogfQogCiAKIHN0YXRpYyBQeUdldFNldERlZiBCYXNlRXhjZXB0aW9uX2dldHNldFtdID0gewotICAgIHsiX19kaWN0X18iLCAoZ2V0dGVyKUJhc2VFeGNlcHRpb25fZ2V0X2RpY3QsIChzZXR0ZXIpQmFzZUV4Y2VwdGlvbl9zZXRfZGljdH0sCisgICAgeyJfX2RpY3RfXyIsIFB5T2JqZWN0X0dlbmVyaWNHZXREaWN0LCBQeU9iamVjdF9HZW5lcmljU2V0RGljdH0sCiAgICAgeyJhcmdzIiwgKGdldHRlcilCYXNlRXhjZXB0aW9uX2dldF9hcmdzLCAoc2V0dGVyKUJhc2VFeGNlcHRpb25fc2V0X2FyZ3N9LAogICAgIHsiX190cmFjZWJhY2tfXyIsIChnZXR0ZXIpQmFzZUV4Y2VwdGlvbl9nZXRfdGIsIChzZXR0ZXIpQmFzZUV4Y2VwdGlvbl9zZXRfdGJ9LAogICAgIHsiX19jb250ZXh0X18iLCAoZ2V0dGVyKUJhc2VFeGNlcHRpb25fZ2V0X2NvbnRleHQsCkBAIC00MzYsMTEgKzQyNywxMyBAQAogICAgIFB5RG9jX1NUUihFWENET0MpLCAodHJhdmVyc2Vwcm9jKUVYQ1NUT1JFICMjIF90cmF2ZXJzZSwgXAogICAgIChpbnF1aXJ5KUVYQ1NUT1JFICMjIF9jbGVhciwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgJl8gIyMgRVhDQkFTRSwgXAogICAgIDAsIDAsIDAsIG9mZnNldG9mKFB5ICMjIEVYQ1NUT1JFICMjIE9iamVjdCwgZGljdCksIFwKLSAgICAoaW5pdHByb2MpRVhDU1RPUkUgIyMgX2luaXQsIDAsIEJhc2VFeGNlcHRpb25fbmV3LFwKKyAgICAoaW5pdHByb2MpRVhDU1RPUkUgIyMgX2luaXQsIDAsIDAsIFwKIH07IFwKIFB5T2JqZWN0ICpQeUV4Y18gIyMgRVhDTkFNRSA9IChQeU9iamVjdCAqKSZfUHlFeGNfICMjIEVYQ05BTUUKIAotI2RlZmluZSBDb21wbGV4RXh0ZW5kc0V4Y2VwdGlvbihFWENCQVNFLCBFWENOQU1FLCBFWENTVE9SRSwgRVhDREVBTExPQywgRVhDTUVUSE9EUywgRVhDTUVNQkVSUywgRVhDU1RSLCBFWENET0MpIFwKKyNkZWZpbmUgQ29tcGxleEV4dGVuZHNFeGNlcHRpb24oRVhDQkFTRSwgRVhDTkFNRSwgRVhDU1RPUkUsIEVYQ05FVywgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFWENNRVRIT0RTLCBFWENNRU1CRVJTLCBFWENHRVRTRVQsIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRVhDU1RSLCBFWENET0MpIFwKIHN0YXRpYyBQeVR5cGVPYmplY3QgX1B5RXhjXyAjIyBFWENOQU1FID0geyBcCiAgICAgUHlWYXJPYmplY3RfSEVBRF9JTklUKE5VTEwsIDApIFwKICAgICAjIEVYQ05BTUUsIFwKQEAgLTQ1MCw5ICs0NDMsOSBAQAogICAgIFB5X1RQRkxBR1NfREVGQVVMVCB8IFB5X1RQRkxBR1NfQkFTRVRZUEUgfCBQeV9UUEZMQUdTX0hBVkVfR0MsIFwKICAgICBQeURvY19TVFIoRVhDRE9DKSwgKHRyYXZlcnNlcHJvYylFWENTVE9SRSAjIyBfdHJhdmVyc2UsIFwKICAgICAoaW5xdWlyeSlFWENTVE9SRSAjIyBfY2xlYXIsIDAsIDAsIDAsIDAsIEVYQ01FVEhPRFMsIFwKLSAgICBFWENNRU1CRVJTLCAwLCAmXyAjIyBFWENCQVNFLCBcCisgICAgRVhDTUVNQkVSUywgRVhDR0VUU0VULCAmXyAjIyBFWENCQVNFLCBcCiAgICAgMCwgMCwgMCwgb2Zmc2V0b2YoUHkgIyMgRVhDU1RPUkUgIyMgT2JqZWN0LCBkaWN0KSwgXAotICAgIChpbml0cHJvYylFWENTVE9SRSAjIyBfaW5pdCwgMCwgQmFzZUV4Y2VwdGlvbl9uZXcsXAorICAgIChpbml0cHJvYylFWENTVE9SRSAjIyBfaW5pdCwgMCwgRVhDTkVXLFwKIH07IFwKIFB5T2JqZWN0ICpQeUV4Y18gIyMgRVhDTkFNRSA9IChQeU9iamVjdCAqKSZfUHlFeGNfICMjIEVYQ05BTUUKIApAQCAtNDc0LDggKzQ2Nyw3MCBAQAogLyoKICAqICAgIFN0b3BJdGVyYXRpb24gZXh0ZW5kcyBFeGNlcHRpb24KICAqLwotU2ltcGxlRXh0ZW5kc0V4Y2VwdGlvbihQeUV4Y19FeGNlcHRpb24sIFN0b3BJdGVyYXRpb24sCi0gICAgICAgICAgICAgICAgICAgICAgICJTaWduYWwgdGhlIGVuZCBmcm9tIGl0ZXJhdG9yLl9fbmV4dF9fKCkuIik7CisKK3N0YXRpYyBQeU1lbWJlckRlZiBTdG9wSXRlcmF0aW9uX21lbWJlcnNbXSA9IHsKKyAgICB7InZhbHVlIiwgVF9PQkpFQ1QsIG9mZnNldG9mKFB5U3RvcEl0ZXJhdGlvbk9iamVjdCwgdmFsdWUpLCAwLAorICAgICAgICBQeURvY19TVFIoImdlbmVyYXRvciByZXR1cm4gdmFsdWUiKX0sCisgICAge05VTEx9ICAvKiBTZW50aW5lbCAqLworfTsKKworc3RhdGljIGludAorU3RvcEl0ZXJhdGlvbl9pbml0KFB5U3RvcEl0ZXJhdGlvbk9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2RzKQoreworICAgIFB5X3NzaXplX3Qgc2l6ZSA9IFB5VHVwbGVfR0VUX1NJWkUoYXJncyk7CisgICAgUHlPYmplY3QgKnZhbHVlOworCisgICAgaWYgKEJhc2VFeGNlcHRpb25faW5pdCgoUHlCYXNlRXhjZXB0aW9uT2JqZWN0ICopc2VsZiwgYXJncywga3dkcykgPT0gLTEpCisgICAgICAgIHJldHVybiAtMTsKKyAgICBQeV9DTEVBUihzZWxmLT52YWx1ZSk7CisgICAgaWYgKHNpemUgPiAwKQorICAgICAgICB2YWx1ZSA9IFB5VHVwbGVfR0VUX0lURU0oYXJncywgMCk7CisgICAgZWxzZQorICAgICAgICB2YWx1ZSA9IFB5X05vbmU7CisgICAgUHlfSU5DUkVGKHZhbHVlKTsKKyAgICBzZWxmLT52YWx1ZSA9IHZhbHVlOworICAgIHJldHVybiAwOworfQorCitzdGF0aWMgaW50CitTdG9wSXRlcmF0aW9uX2NsZWFyKFB5U3RvcEl0ZXJhdGlvbk9iamVjdCAqc2VsZikKK3sKKyAgICBQeV9DTEVBUihzZWxmLT52YWx1ZSk7CisgICAgcmV0dXJuIEJhc2VFeGNlcHRpb25fY2xlYXIoKFB5QmFzZUV4Y2VwdGlvbk9iamVjdCAqKXNlbGYpOworfQorCitzdGF0aWMgdm9pZAorU3RvcEl0ZXJhdGlvbl9kZWFsbG9jKFB5U3RvcEl0ZXJhdGlvbk9iamVjdCAqc2VsZikKK3sKKyAgICBfUHlPYmplY3RfR0NfVU5UUkFDSyhzZWxmKTsKKyAgICBTdG9wSXRlcmF0aW9uX2NsZWFyKHNlbGYpOworICAgIFB5X1RZUEUoc2VsZiktPnRwX2ZyZWUoKFB5T2JqZWN0ICopc2VsZik7Cit9CisKK3N0YXRpYyBpbnQKK1N0b3BJdGVyYXRpb25fdHJhdmVyc2UoUHlTdG9wSXRlcmF0aW9uT2JqZWN0ICpzZWxmLCB2aXNpdHByb2MgdmlzaXQsIHZvaWQgKmFyZykKK3sKKyAgICBQeV9WSVNJVChzZWxmLT52YWx1ZSk7CisgICAgcmV0dXJuIEJhc2VFeGNlcHRpb25fdHJhdmVyc2UoKFB5QmFzZUV4Y2VwdGlvbk9iamVjdCAqKXNlbGYsIHZpc2l0LCBhcmcpOworfQorCitQeU9iamVjdCAqCitQeVN0b3BJdGVyYXRpb25fQ3JlYXRlKFB5T2JqZWN0ICp2YWx1ZSkKK3sKKyAgICByZXR1cm4gUHlPYmplY3RfQ2FsbEZ1bmN0aW9uT2JqQXJncyhQeUV4Y19TdG9wSXRlcmF0aW9uLCB2YWx1ZSwgTlVMTCk7Cit9CisKK0NvbXBsZXhFeHRlbmRzRXhjZXB0aW9uKAorICAgIFB5RXhjX0V4Y2VwdGlvbiwgICAgICAgLyogYmFzZSAqLworICAgIFN0b3BJdGVyYXRpb24sICAgICAgICAgLyogbmFtZSAqLworICAgIFN0b3BJdGVyYXRpb24sICAgICAgICAgLyogcHJlZml4IGZvciAqX2luaXQsIGV0YyAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgLyogbmV3ICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAvKiBtZXRob2RzICovCisgICAgU3RvcEl0ZXJhdGlvbl9tZW1iZXJzLCAvKiBtZW1iZXJzICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAvKiBnZXRzZXQgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgIC8qIHN0ciAqLworICAgICJTaWduYWwgdGhlIGVuZCBmcm9tIGl0ZXJhdG9yLl9fbmV4dF9fKCkuIgorKTsKIAogCiAvKgpAQCAtNTAyLDcgKzU1Nyw3IEBACiAgICAgUHlfQ0xFQVIoc2VsZi0+Y29kZSk7CiAgICAgaWYgKHNpemUgPT0gMSkKICAgICAgICAgc2VsZi0+Y29kZSA9IFB5VHVwbGVfR0VUX0lURU0oYXJncywgMCk7Ci0gICAgZWxzZSBpZiAoc2l6ZSA+IDEpCisgICAgZWxzZSAvKiBzaXplID4gMSAqLwogICAgICAgICBzZWxmLT5jb2RlID0gYXJnczsKICAgICBQeV9JTkNSRUYoc2VsZi0+Y29kZSk7CiAgICAgcmV0dXJuIDA7CkBAIC01MzcsNyArNTkyLDcgQEAKIH07CiAKIENvbXBsZXhFeHRlbmRzRXhjZXB0aW9uKFB5RXhjX0Jhc2VFeGNlcHRpb24sIFN5c3RlbUV4aXQsIFN5c3RlbUV4aXQsCi0gICAgICAgICAgICAgICAgICAgICAgICBTeXN0ZW1FeGl0X2RlYWxsb2MsIDAsIFN5c3RlbUV4aXRfbWVtYmVycywgMCwKKyAgICAgICAgICAgICAgICAgICAgICAgIDAsIDAsIFN5c3RlbUV4aXRfbWVtYmVycywgMCwgMCwKICAgICAgICAgICAgICAgICAgICAgICAgICJSZXF1ZXN0IHRvIGV4aXQgZnJvbSB0aGUgaW50ZXJwcmV0ZXIuIik7CiAKIC8qCkBAIC01NTUsMTI0ICs2MTAsMzM1IEBACiAKIAogLyoKLSAqICAgIEVudmlyb25tZW50RXJyb3IgZXh0ZW5kcyBFeGNlcHRpb24KKyAqICAgIE9TRXJyb3IgZXh0ZW5kcyBFeGNlcHRpb24KICAqLwogCisjaWZkZWYgTVNfV0lORE9XUworI2luY2x1ZGUgImVycm1hcC5oIgorI2VuZGlmCisKIC8qIFdoZXJlIGEgZnVuY3Rpb24gaGFzIGEgc2luZ2xlIGZpbGVuYW1lLCBzdWNoIGFzIG9wZW4oKSBvciBzb21lCiAgKiBvZiB0aGUgb3MgbW9kdWxlIGZ1bmN0aW9ucywgUHlFcnJfU2V0RnJvbUVycm5vV2l0aEZpbGVuYW1lKCkgaXMKICAqIGNhbGxlZCwgZ2l2aW5nIGEgdGhpcmQgYXJndW1lbnQgd2hpY2ggaXMgdGhlIGZpbGVuYW1lLiAgQnV0LCBzbwogICogdGhhdCBvbGQgY29kZSB1c2luZyBpbi1wbGFjZSB1bnBhY2tpbmcgZG9lc24ndCBicmVhaywgZS5nLjoKICAqCi0gKiBleGNlcHQgSU9FcnJvciwgKGVycm5vLCBzdHJlcnJvcik6CisgKiBleGNlcHQgT1NFcnJvciwgKGVycm5vLCBzdHJlcnJvcik6CiAgKgogICogd2UgaGFjayBhcmdzIHNvIHRoYXQgaXQgb25seSBjb250YWlucyB0d28gaXRlbXMuICBUaGlzIGFsc28KICAqIG1lYW5zIHdlIG5lZWQgb3VyIG93biBfX3N0cl9fKCkgd2hpY2ggcHJpbnRzIG91dCB0aGUgZmlsZW5hbWUKICAqIHdoZW4gaXQgd2FzIHN1cHBsaWVkLgogICovCisKKy8qIFRoaXMgZnVuY3Rpb24gZG9lc24ndCBjbGVhbnVwIG9uIGVycm9yLCB0aGUgY2FsbGVyIHNob3VsZCAqLwogc3RhdGljIGludAotRW52aXJvbm1lbnRFcnJvcl9pbml0KFB5RW52aXJvbm1lbnRFcnJvck9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsCi0gICAgUHlPYmplY3QgKmt3ZHMpCitvc2Vycm9yX3BhcnNlX2FyZ3MoUHlPYmplY3QgKipwX2FyZ3MsCisgICAgICAgICAgICAgICAgICAgUHlPYmplY3QgKipteWVycm5vLCBQeU9iamVjdCAqKnN0cmVycm9yLAorICAgICAgICAgICAgICAgICAgIFB5T2JqZWN0ICoqZmlsZW5hbWUKKyNpZmRlZiBNU19XSU5ET1dTCisgICAgICAgICAgICAgICAgICAgLCBQeU9iamVjdCAqKndpbmVycm9yCisjZW5kaWYKKyAgICAgICAgICAgICAgICAgICkKIHsKLSAgICBQeU9iamVjdCAqbXllcnJubyA9IE5VTEwsICpzdHJlcnJvciA9IE5VTEwsICpmaWxlbmFtZSA9IE5VTEw7Ci0gICAgUHlPYmplY3QgKnN1YnNsaWNlID0gTlVMTDsKKyAgICBQeV9zc2l6ZV90IG5hcmdzOworICAgIFB5T2JqZWN0ICphcmdzID0gKnBfYXJnczsKIAotICAgIGlmIChCYXNlRXhjZXB0aW9uX2luaXQoKFB5QmFzZUV4Y2VwdGlvbk9iamVjdCAqKXNlbGYsIGFyZ3MsIGt3ZHMpID09IC0xKQotICAgICAgICByZXR1cm4gLTE7CisgICAgbmFyZ3MgPSBQeVR1cGxlX0dFVF9TSVpFKGFyZ3MpOwogCi0gICAgaWYgKFB5VHVwbGVfR0VUX1NJWkUoYXJncykgPD0gMSB8fCBQeVR1cGxlX0dFVF9TSVpFKGFyZ3MpID4gMykgewotICAgICAgICByZXR1cm4gMDsKLSAgICB9Ci0KLSAgICBpZiAoIVB5QXJnX1VucGFja1R1cGxlKGFyZ3MsICJFbnZpcm9ubWVudEVycm9yIiwgMiwgMywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICZteWVycm5vLCAmc3RyZXJyb3IsICZmaWxlbmFtZSkpIHsKLSAgICAgICAgcmV0dXJuIC0xOwotICAgIH0KLSAgICBQeV9DTEVBUihzZWxmLT5teWVycm5vKTsgICAgICAgLyogcmVwbGFjaW5nICovCi0gICAgc2VsZi0+bXllcnJubyA9IG15ZXJybm87Ci0gICAgUHlfSU5DUkVGKHNlbGYtPm15ZXJybm8pOwotCi0gICAgUHlfQ0xFQVIoc2VsZi0+c3RyZXJyb3IpOyAgICAgIC8qIHJlcGxhY2luZyAqLwotICAgIHNlbGYtPnN0cmVycm9yID0gc3RyZXJyb3I7Ci0gICAgUHlfSU5DUkVGKHNlbGYtPnN0cmVycm9yKTsKLQotICAgIC8qIHNlbGYtPmZpbGVuYW1lIHdpbGwgcmVtYWluIFB5X05vbmUgb3RoZXJ3aXNlICovCi0gICAgaWYgKGZpbGVuYW1lICE9IE5VTEwpIHsKLSAgICAgICAgUHlfQ0xFQVIoc2VsZi0+ZmlsZW5hbWUpOyAgICAgIC8qIHJlcGxhY2luZyAqLwotICAgICAgICBzZWxmLT5maWxlbmFtZSA9IGZpbGVuYW1lOwotICAgICAgICBQeV9JTkNSRUYoc2VsZi0+ZmlsZW5hbWUpOwotCi0gICAgICAgIHN1YnNsaWNlID0gUHlUdXBsZV9HZXRTbGljZShhcmdzLCAwLCAyKTsKLSAgICAgICAgaWYgKCFzdWJzbGljZSkKKyNpZmRlZiBNU19XSU5ET1dTCisgICAgaWYgKG5hcmdzID49IDIgJiYgbmFyZ3MgPD0gNCkgeworICAgICAgICBpZiAoIVB5QXJnX1VucGFja1R1cGxlKGFyZ3MsICJPU0Vycm9yIiwgMiwgNCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBteWVycm5vLCBzdHJlcnJvciwgZmlsZW5hbWUsIHdpbmVycm9yKSkKICAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgaWYgKCp3aW5lcnJvciAmJiBQeUxvbmdfQ2hlY2soKndpbmVycm9yKSkgeworICAgICAgICAgICAgbG9uZyBlcnJjb2RlLCB3aW5lcnJjb2RlOworICAgICAgICAgICAgUHlPYmplY3QgKm5ld2FyZ3M7CisgICAgICAgICAgICBQeV9zc2l6ZV90IGk7CiAKLSAgICAgICAgUHlfREVDUkVGKHNlbGYtPmFyZ3MpOyAgLyogcmVwbGFjaW5nIGFyZ3MgKi8KLSAgICAgICAgc2VsZi0+YXJncyA9IHN1YnNsaWNlOworICAgICAgICAgICAgd2luZXJyY29kZSA9IFB5TG9uZ19Bc0xvbmcoKndpbmVycm9yKTsKKyAgICAgICAgICAgIGlmICh3aW5lcnJjb2RlID09IC0xICYmIFB5RXJyX09jY3VycmVkKCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICAgICAgLyogU2V0IGVycm5vIHRvIHRoZSBjb3JyZXNwb25kaW5nIFBPU0lYIGVycm5vIChvdmVycmlkaW5nCisgICAgICAgICAgICAgICBmaXJzdCBhcmd1bWVudCkuICBXaW5kb3dzIFNvY2tldCBlcnJvciBjb2RlcyAoPj0gMTAwMDApCisgICAgICAgICAgICAgICBoYXZlIHRoZSBzYW1lIHZhbHVlIGFzIHRoZWlyIFBPU0lYIGNvdW50ZXJwYXJ0cy4KKyAgICAgICAgICAgICovCisgICAgICAgICAgICBpZiAod2luZXJyY29kZSA8IDEwMDAwKQorICAgICAgICAgICAgICAgIGVycmNvZGUgPSB3aW5lcnJvcl90b19lcnJubyh3aW5lcnJjb2RlKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBlcnJjb2RlID0gd2luZXJyY29kZTsKKyAgICAgICAgICAgICpteWVycm5vID0gUHlMb25nX0Zyb21Mb25nKGVycmNvZGUpOworICAgICAgICAgICAgaWYgKCEqbXllcnJubykKKyAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgICAgICBuZXdhcmdzID0gUHlUdXBsZV9OZXcobmFyZ3MpOworICAgICAgICAgICAgaWYgKCFuZXdhcmdzKQorICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgICAgIFB5VHVwbGVfU0VUX0lURU0obmV3YXJncywgMCwgKm15ZXJybm8pOworICAgICAgICAgICAgZm9yIChpID0gMTsgaSA8IG5hcmdzOyBpKyspIHsKKyAgICAgICAgICAgICAgICBQeU9iamVjdCAqdmFsID0gUHlUdXBsZV9HRVRfSVRFTShhcmdzLCBpKTsKKyAgICAgICAgICAgICAgICBQeV9JTkNSRUYodmFsKTsKKyAgICAgICAgICAgICAgICBQeVR1cGxlX1NFVF9JVEVNKG5ld2FyZ3MsIGksIHZhbCk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBQeV9ERUNSRUYoYXJncyk7CisgICAgICAgICAgICBhcmdzID0gKnBfYXJncyA9IG5ld2FyZ3M7CisgICAgICAgIH0KICAgICB9CisjZWxzZQorICAgIGlmIChuYXJncyA+PSAyICYmIG5hcmdzIDw9IDMpIHsKKyAgICAgICAgaWYgKCFQeUFyZ19VbnBhY2tUdXBsZShhcmdzLCAiT1NFcnJvciIsIDIsIDMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXllcnJubywgc3RyZXJyb3IsIGZpbGVuYW1lKSkKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisjZW5kaWYKKwogICAgIHJldHVybiAwOwogfQogCiBzdGF0aWMgaW50Ci1FbnZpcm9ubWVudEVycm9yX2NsZWFyKFB5RW52aXJvbm1lbnRFcnJvck9iamVjdCAqc2VsZikKK29zZXJyb3JfaW5pdChQeU9TRXJyb3JPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICoqcF9hcmdzLAorICAgICAgICAgICAgIFB5T2JqZWN0ICpteWVycm5vLCBQeU9iamVjdCAqc3RyZXJyb3IsCisgICAgICAgICAgICAgUHlPYmplY3QgKmZpbGVuYW1lCisjaWZkZWYgTVNfV0lORE9XUworICAgICAgICAgICAgICwgUHlPYmplY3QgKndpbmVycm9yCisjZW5kaWYKKyAgICAgICAgICAgICApCit7CisgICAgUHlPYmplY3QgKmFyZ3MgPSAqcF9hcmdzOworICAgIFB5X3NzaXplX3QgbmFyZ3MgPSBQeVR1cGxlX0dFVF9TSVpFKGFyZ3MpOworCisgICAgLyogc2VsZi0+ZmlsZW5hbWUgd2lsbCByZW1haW4gUHlfTm9uZSBvdGhlcndpc2UgKi8KKyAgICBpZiAoZmlsZW5hbWUgJiYgZmlsZW5hbWUgIT0gUHlfTm9uZSkgeworICAgICAgICBpZiAoUHlfVFlQRShzZWxmKSA9PSAoUHlUeXBlT2JqZWN0ICopIFB5RXhjX0Jsb2NraW5nSU9FcnJvciAmJgorICAgICAgICAgICAgUHlOdW1iZXJfQ2hlY2soZmlsZW5hbWUpKSB7CisgICAgICAgICAgICAvKiBCbG9ja2luZ0lPRXJyb3IncyAzcmQgYXJndW1lbnQgY2FuIGJlIHRoZSBudW1iZXIgb2YKKyAgICAgICAgICAgICAqIGNoYXJhY3RlcnMgd3JpdHRlbi4KKyAgICAgICAgICAgICAqLworICAgICAgICAgICAgc2VsZi0+d3JpdHRlbiA9IFB5TnVtYmVyX0FzU3NpemVfdChmaWxlbmFtZSwgUHlFeGNfVmFsdWVFcnJvcik7CisgICAgICAgICAgICBpZiAoc2VsZi0+d3JpdHRlbiA9PSAtMSAmJiBQeUVycl9PY2N1cnJlZCgpKQorICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgfQorICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIFB5X0lOQ1JFRihmaWxlbmFtZSk7CisgICAgICAgICAgICBzZWxmLT5maWxlbmFtZSA9IGZpbGVuYW1lOworCisgICAgICAgICAgICBpZiAobmFyZ3MgPj0gMiAmJiBuYXJncyA8PSAzKSB7CisgICAgICAgICAgICAgICAgLyogZmlsZW5hbWUgaXMgcmVtb3ZlZCBmcm9tIHRoZSBhcmdzIHR1cGxlIChmb3IgY29tcGF0aWJpbGl0eQorICAgICAgICAgICAgICAgICAgIHB1cnBvc2VzLCBzZWUgdGVzdF9leGNlcHRpb25zLnB5KSAqLworICAgICAgICAgICAgICAgIFB5T2JqZWN0ICpzdWJzbGljZSA9IFB5VHVwbGVfR2V0U2xpY2UoYXJncywgMCwgMik7CisgICAgICAgICAgICAgICAgaWYgKCFzdWJzbGljZSkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC0xOworCisgICAgICAgICAgICAgICAgUHlfREVDUkVGKGFyZ3MpOyAgLyogcmVwbGFjaW5nIGFyZ3MgKi8KKyAgICAgICAgICAgICAgICAqcF9hcmdzID0gYXJncyA9IHN1YnNsaWNlOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorICAgIFB5X1hJTkNSRUYobXllcnJubyk7CisgICAgc2VsZi0+bXllcnJubyA9IG15ZXJybm87CisKKyAgICBQeV9YSU5DUkVGKHN0cmVycm9yKTsKKyAgICBzZWxmLT5zdHJlcnJvciA9IHN0cmVycm9yOworCisjaWZkZWYgTVNfV0lORE9XUworICAgIFB5X1hJTkNSRUYod2luZXJyb3IpOworICAgIHNlbGYtPndpbmVycm9yID0gd2luZXJyb3I7CisjZW5kaWYKKworICAgIC8qIFN0ZWFscyB0aGUgcmVmZXJlbmNlIHRvIGFyZ3MgKi8KKyAgICBzZWxmLT5hcmdzID0gYXJnczsKKyAgICBhcmdzID0gTlVMTDsKKworICAgIHJldHVybiAwOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorT1NFcnJvcl9uZXcoUHlUeXBlT2JqZWN0ICp0eXBlLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3ZHMpOworc3RhdGljIGludAorT1NFcnJvcl9pbml0KFB5T1NFcnJvck9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2RzKTsKKworc3RhdGljIGludAorb3NlcnJvcl91c2VfaW5pdChQeVR5cGVPYmplY3QgKnR5cGUpCit7CisgICAgLyogV2hlbiBfX2luaXRfXyBpcyBkZWZpbmVkIGluIGEgT1NFcnJvciBzdWJjbGFzcywgd2Ugd2FudCBhbnkKKyAgICAgICBleHRyYW5lb3VzIGFyZ3VtZW50IHRvIF9fbmV3X18gdG8gYmUgaWdub3JlZC4gIFRoZSBvbmx5IHJlYXNvbmFibGUKKyAgICAgICBzb2x1dGlvbiwgZ2l2ZW4gX19uZXdfXyB0YWtlcyBhIHZhcmlhYmxlIG51bWJlciBvZiBhcmd1bWVudHMsCisgICAgICAgaXMgdG8gZGVmZXIgYXJnIHBhcnNpbmcgYW5kIGluaXRpYWxpemF0aW9uIHRvIF9faW5pdF9fLgorCisgICAgICAgQnV0IHdoZW4gX19uZXdfXyBpcyBvdmVycmlkZW4gYXMgd2VsbCwgaXQgc2hvdWxkIGNhbGwgb3VyIF9fbmV3X18KKyAgICAgICB3aXRoIHRoZSByaWdodCBhcmd1bWVudHMuCisKKyAgICAgICAoc2VlIGh0dHA6Ly9idWdzLnB5dGhvbi5vcmcvaXNzdWUxMjU1NSNtc2cxNDg4MjkgKQorICAgICovCisgICAgaWYgKHR5cGUtPnRwX2luaXQgIT0gKGluaXRwcm9jKSBPU0Vycm9yX2luaXQgJiYKKyAgICAgICAgdHlwZS0+dHBfbmV3ID09IChuZXdmdW5jKSBPU0Vycm9yX25ldykgeworICAgICAgICBhc3NlcnQoKFB5T2JqZWN0ICopIHR5cGUgIT0gUHlFeGNfT1NFcnJvcik7CisgICAgICAgIHJldHVybiAxOworICAgIH0KKyAgICByZXR1cm4gMDsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK09TRXJyb3JfbmV3KFB5VHlwZU9iamVjdCAqdHlwZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2RzKQoreworICAgIFB5T1NFcnJvck9iamVjdCAqc2VsZiA9IE5VTEw7CisgICAgUHlPYmplY3QgKm15ZXJybm8gPSBOVUxMLCAqc3RyZXJyb3IgPSBOVUxMLCAqZmlsZW5hbWUgPSBOVUxMOworI2lmZGVmIE1TX1dJTkRPV1MKKyAgICBQeU9iamVjdCAqd2luZXJyb3IgPSBOVUxMOworI2VuZGlmCisKKyAgICBpZiAoIW9zZXJyb3JfdXNlX2luaXQodHlwZSkpIHsKKyAgICAgICAgaWYgKCFfUHlBcmdfTm9LZXl3b3Jkcyh0eXBlLT50cF9uYW1lLCBrd2RzKSkKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworCisgICAgICAgIFB5X0lOQ1JFRihhcmdzKTsKKyAgICAgICAgaWYgKG9zZXJyb3JfcGFyc2VfYXJncygmYXJncywgJm15ZXJybm8sICZzdHJlcnJvciwgJmZpbGVuYW1lCisjaWZkZWYgTVNfV0lORE9XUworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICwgJndpbmVycm9yCisjZW5kaWYKKyAgICAgICAgICAgICkpCisgICAgICAgICAgICBnb3RvIGVycm9yOworCisgICAgICAgIGlmIChteWVycm5vICYmIFB5TG9uZ19DaGVjayhteWVycm5vKSAmJgorICAgICAgICAgICAgZXJybm9tYXAgJiYgKFB5T2JqZWN0ICopIHR5cGUgPT0gUHlFeGNfT1NFcnJvcikgeworICAgICAgICAgICAgUHlPYmplY3QgKm5ld3R5cGU7CisgICAgICAgICAgICBuZXd0eXBlID0gUHlEaWN0X0dldEl0ZW0oZXJybm9tYXAsIG15ZXJybm8pOworICAgICAgICAgICAgaWYgKG5ld3R5cGUpIHsKKyAgICAgICAgICAgICAgICBhc3NlcnQoUHlUeXBlX0NoZWNrKG5ld3R5cGUpKTsKKyAgICAgICAgICAgICAgICB0eXBlID0gKFB5VHlwZU9iamVjdCAqKSBuZXd0eXBlOworICAgICAgICAgICAgfQorICAgICAgICAgICAgZWxzZSBpZiAoUHlFcnJfT2NjdXJyZWQoKSkKKyAgICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICB9CisgICAgfQorCisgICAgc2VsZiA9IChQeU9TRXJyb3JPYmplY3QgKikgdHlwZS0+dHBfYWxsb2ModHlwZSwgMCk7CisgICAgaWYgKCFzZWxmKQorICAgICAgICBnb3RvIGVycm9yOworCisgICAgc2VsZi0+ZGljdCA9IE5VTEw7CisgICAgc2VsZi0+dHJhY2ViYWNrID0gc2VsZi0+Y2F1c2UgPSBzZWxmLT5jb250ZXh0ID0gTlVMTDsKKyAgICBzZWxmLT53cml0dGVuID0gLTE7CisKKyAgICBpZiAoIW9zZXJyb3JfdXNlX2luaXQodHlwZSkpIHsKKyAgICAgICAgaWYgKG9zZXJyb3JfaW5pdChzZWxmLCAmYXJncywgbXllcnJubywgc3RyZXJyb3IsIGZpbGVuYW1lCisjaWZkZWYgTVNfV0lORE9XUworICAgICAgICAgICAgICAgICAgICAgICAgICwgd2luZXJyb3IKKyNlbmRpZgorICAgICAgICAgICAgKSkKKyAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgfQorCisgICAgcmV0dXJuIChQeU9iamVjdCAqKSBzZWxmOworCitlcnJvcjoKKyAgICBQeV9YREVDUkVGKGFyZ3MpOworICAgIFB5X1hERUNSRUYoc2VsZik7CisgICAgcmV0dXJuIE5VTEw7Cit9CisKK3N0YXRpYyBpbnQKK09TRXJyb3JfaW5pdChQeU9TRXJyb3JPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dkcykKK3sKKyAgICBQeU9iamVjdCAqbXllcnJubyA9IE5VTEwsICpzdHJlcnJvciA9IE5VTEwsICpmaWxlbmFtZSA9IE5VTEw7CisjaWZkZWYgTVNfV0lORE9XUworICAgIFB5T2JqZWN0ICp3aW5lcnJvciA9IE5VTEw7CisjZW5kaWYKKworICAgIGlmICghb3NlcnJvcl91c2VfaW5pdChQeV9UWVBFKHNlbGYpKSkKKyAgICAgICAgLyogRXZlcnl0aGluZyBhbHJlYWR5IGRvbmUgaW4gT1NFcnJvcl9uZXcgKi8KKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICBpZiAoIV9QeUFyZ19Ob0tleXdvcmRzKFB5X1RZUEUoc2VsZiktPnRwX25hbWUsIGt3ZHMpKQorICAgICAgICByZXR1cm4gLTE7CisKKyAgICBQeV9JTkNSRUYoYXJncyk7CisgICAgaWYgKG9zZXJyb3JfcGFyc2VfYXJncygmYXJncywgJm15ZXJybm8sICZzdHJlcnJvciwgJmZpbGVuYW1lCisjaWZkZWYgTVNfV0lORE9XUworICAgICAgICAgICAgICAgICAgICAgICAgICAgLCAmd2luZXJyb3IKKyNlbmRpZgorICAgICAgICApKQorICAgICAgICBnb3RvIGVycm9yOworCisgICAgaWYgKG9zZXJyb3JfaW5pdChzZWxmLCAmYXJncywgbXllcnJubywgc3RyZXJyb3IsIGZpbGVuYW1lCisjaWZkZWYgTVNfV0lORE9XUworICAgICAgICAgICAgICAgICAgICAgLCB3aW5lcnJvcgorI2VuZGlmCisgICAgICAgICkpCisgICAgICAgIGdvdG8gZXJyb3I7CisKKyAgICByZXR1cm4gMDsKKworZXJyb3I6CisgICAgUHlfWERFQ1JFRihhcmdzKTsKKyAgICByZXR1cm4gLTE7Cit9CisKK3N0YXRpYyBpbnQKK09TRXJyb3JfY2xlYXIoUHlPU0Vycm9yT2JqZWN0ICpzZWxmKQogewogICAgIFB5X0NMRUFSKHNlbGYtPm15ZXJybm8pOwogICAgIFB5X0NMRUFSKHNlbGYtPnN0cmVycm9yKTsKICAgICBQeV9DTEVBUihzZWxmLT5maWxlbmFtZSk7CisjaWZkZWYgTVNfV0lORE9XUworICAgIFB5X0NMRUFSKHNlbGYtPndpbmVycm9yKTsKKyNlbmRpZgogICAgIHJldHVybiBCYXNlRXhjZXB0aW9uX2NsZWFyKChQeUJhc2VFeGNlcHRpb25PYmplY3QgKilzZWxmKTsKIH0KIAogc3RhdGljIHZvaWQKLUVudmlyb25tZW50RXJyb3JfZGVhbGxvYyhQeUVudmlyb25tZW50RXJyb3JPYmplY3QgKnNlbGYpCitPU0Vycm9yX2RlYWxsb2MoUHlPU0Vycm9yT2JqZWN0ICpzZWxmKQogewogICAgIF9QeU9iamVjdF9HQ19VTlRSQUNLKHNlbGYpOwotICAgIEVudmlyb25tZW50RXJyb3JfY2xlYXIoc2VsZik7CisgICAgT1NFcnJvcl9jbGVhcihzZWxmKTsKICAgICBQeV9UWVBFKHNlbGYpLT50cF9mcmVlKChQeU9iamVjdCAqKXNlbGYpOwogfQogCiBzdGF0aWMgaW50Ci1FbnZpcm9ubWVudEVycm9yX3RyYXZlcnNlKFB5RW52aXJvbm1lbnRFcnJvck9iamVjdCAqc2VsZiwgdmlzaXRwcm9jIHZpc2l0LAorT1NFcnJvcl90cmF2ZXJzZShQeU9TRXJyb3JPYmplY3QgKnNlbGYsIHZpc2l0cHJvYyB2aXNpdCwKICAgICAgICAgdm9pZCAqYXJnKQogewogICAgIFB5X1ZJU0lUKHNlbGYtPm15ZXJybm8pOwogICAgIFB5X1ZJU0lUKHNlbGYtPnN0cmVycm9yKTsKICAgICBQeV9WSVNJVChzZWxmLT5maWxlbmFtZSk7CisjaWZkZWYgTVNfV0lORE9XUworICAgIFB5X1ZJU0lUKHNlbGYtPndpbmVycm9yKTsKKyNlbmRpZgogICAgIHJldHVybiBCYXNlRXhjZXB0aW9uX3RyYXZlcnNlKChQeUJhc2VFeGNlcHRpb25PYmplY3QgKilzZWxmLCB2aXNpdCwgYXJnKTsKIH0KIAogc3RhdGljIFB5T2JqZWN0ICoKLUVudmlyb25tZW50RXJyb3Jfc3RyKFB5RW52aXJvbm1lbnRFcnJvck9iamVjdCAqc2VsZikKK09TRXJyb3Jfc3RyKFB5T1NFcnJvck9iamVjdCAqc2VsZikKIHsKKyNpZmRlZiBNU19XSU5ET1dTCisgICAgLyogSWYgYXZhaWxhYmxlLCB3aW5lcnJvciBoYXMgdGhlIHByaW9yaXR5IG92ZXIgbXllcnJubyAqLworICAgIGlmIChzZWxmLT53aW5lcnJvciAmJiBzZWxmLT5maWxlbmFtZSkKKyAgICAgICAgcmV0dXJuIFB5VW5pY29kZV9Gcm9tRm9ybWF0KCJbRXJyb3IgJVNdICVTOiAlUiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLT53aW5lcnJvciA/IHNlbGYtPndpbmVycm9yOiBQeV9Ob25lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi0+c3RyZXJyb3IgPyBzZWxmLT5zdHJlcnJvcjogUHlfTm9uZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYtPmZpbGVuYW1lKTsKKyAgICBpZiAoc2VsZi0+d2luZXJyb3IgJiYgc2VsZi0+c3RyZXJyb3IpCisgICAgICAgIHJldHVybiBQeVVuaWNvZGVfRnJvbUZvcm1hdCgiW0Vycm9yICVTXSAlUyIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLT53aW5lcnJvciA/IHNlbGYtPndpbmVycm9yOiBQeV9Ob25lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi0+c3RyZXJyb3IgPyBzZWxmLT5zdHJlcnJvcjogUHlfTm9uZSk7CisjZW5kaWYKICAgICBpZiAoc2VsZi0+ZmlsZW5hbWUpCiAgICAgICAgIHJldHVybiBQeVVuaWNvZGVfRnJvbUZvcm1hdCgiW0Vycm5vICVTXSAlUzogJVIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi0+bXllcnJubyA/IHNlbGYtPm15ZXJybm86IFB5X05vbmUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLT5zdHJlcnJvciA/IHNlbGYtPnN0cmVycm9yOiBQeV9Ob25lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi0+ZmlsZW5hbWUpOwotICAgIGVsc2UgaWYgKHNlbGYtPm15ZXJybm8gJiYgc2VsZi0+c3RyZXJyb3IpCisgICAgaWYgKHNlbGYtPm15ZXJybm8gJiYgc2VsZi0+c3RyZXJyb3IpCiAgICAgICAgIHJldHVybiBQeVVuaWNvZGVfRnJvbUZvcm1hdCgiW0Vycm5vICVTXSAlUyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLT5teWVycm5vID8gc2VsZi0+bXllcnJubzogUHlfTm9uZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYtPnN0cmVycm9yID8gc2VsZi0+c3RyZXJyb3I6IFB5X05vbmUpOwotICAgIGVsc2UKLSAgICAgICAgcmV0dXJuIEJhc2VFeGNlcHRpb25fc3RyKChQeUJhc2VFeGNlcHRpb25PYmplY3QgKilzZWxmKTsKKyAgICByZXR1cm4gQmFzZUV4Y2VwdGlvbl9zdHIoKFB5QmFzZUV4Y2VwdGlvbk9iamVjdCAqKXNlbGYpOwogfQogCi1zdGF0aWMgUHlNZW1iZXJEZWYgRW52aXJvbm1lbnRFcnJvcl9tZW1iZXJzW10gPSB7Ci0gICAgeyJlcnJubyIsIFRfT0JKRUNULCBvZmZzZXRvZihQeUVudmlyb25tZW50RXJyb3JPYmplY3QsIG15ZXJybm8pLCAwLAotICAgICAgICBQeURvY19TVFIoImV4Y2VwdGlvbiBlcnJubyIpfSwKLSAgICB7InN0cmVycm9yIiwgVF9PQkpFQ1QsIG9mZnNldG9mKFB5RW52aXJvbm1lbnRFcnJvck9iamVjdCwgc3RyZXJyb3IpLCAwLAotICAgICAgICBQeURvY19TVFIoImV4Y2VwdGlvbiBzdHJlcnJvciIpfSwKLSAgICB7ImZpbGVuYW1lIiwgVF9PQkpFQ1QsIG9mZnNldG9mKFB5RW52aXJvbm1lbnRFcnJvck9iamVjdCwgZmlsZW5hbWUpLCAwLAotICAgICAgICBQeURvY19TVFIoImV4Y2VwdGlvbiBmaWxlbmFtZSIpfSwKLSAgICB7TlVMTH0gIC8qIFNlbnRpbmVsICovCi19OwotCi0KIHN0YXRpYyBQeU9iamVjdCAqCi1FbnZpcm9ubWVudEVycm9yX3JlZHVjZShQeUVudmlyb25tZW50RXJyb3JPYmplY3QgKnNlbGYpCitPU0Vycm9yX3JlZHVjZShQeU9TRXJyb3JPYmplY3QgKnNlbGYpCiB7CiAgICAgUHlPYmplY3QgKmFyZ3MgPSBzZWxmLT5hcmdzOwogICAgIFB5T2JqZWN0ICpyZXMgPSBOVUxMLCAqdG1wOwogCiAgICAgLyogc2VsZi0+YXJncyBpcyBvbmx5IHRoZSBmaXJzdCB0d28gcmVhbCBhcmd1bWVudHMgaWYgdGhlcmUgd2FzIGEKLSAgICAgKiBmaWxlIG5hbWUgZ2l2ZW4gdG8gRW52aXJvbm1lbnRFcnJvci4gKi8KKyAgICAgKiBmaWxlIG5hbWUgZ2l2ZW4gdG8gT1NFcnJvci4gKi8KICAgICBpZiAoUHlUdXBsZV9HRVRfU0laRShhcmdzKSA9PSAyICYmIHNlbGYtPmZpbGVuYW1lKSB7CiAgICAgICAgIGFyZ3MgPSBQeVR1cGxlX05ldygzKTsKICAgICAgICAgaWYgKCFhcmdzKQpAQCAtNjk5LDE0NCArOTY1LDkzIEBACiAgICAgcmV0dXJuIHJlczsKIH0KIAorc3RhdGljIFB5T2JqZWN0ICoKK09TRXJyb3Jfd3JpdHRlbl9nZXQoUHlPU0Vycm9yT2JqZWN0ICpzZWxmLCB2b2lkICpjb250ZXh0KQoreworICAgIGlmIChzZWxmLT53cml0dGVuID09IC0xKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19BdHRyaWJ1dGVFcnJvciwgImNoYXJhY3RlcnNfd3JpdHRlbiIpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisgICAgcmV0dXJuIFB5TG9uZ19Gcm9tU3NpemVfdChzZWxmLT53cml0dGVuKTsKK30KIAotc3RhdGljIFB5TWV0aG9kRGVmIEVudmlyb25tZW50RXJyb3JfbWV0aG9kc1tdID0gewotICAgIHsiX19yZWR1Y2VfXyIsIChQeUNGdW5jdGlvbilFbnZpcm9ubWVudEVycm9yX3JlZHVjZSwgTUVUSF9OT0FSR1N9LAorc3RhdGljIGludAorT1NFcnJvcl93cml0dGVuX3NldChQeU9TRXJyb3JPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmcsIHZvaWQgKmNvbnRleHQpCit7CisgICAgUHlfc3NpemVfdCBuOworICAgIG4gPSBQeU51bWJlcl9Bc1NzaXplX3QoYXJnLCBQeUV4Y19WYWx1ZUVycm9yKTsKKyAgICBpZiAobiA9PSAtMSAmJiBQeUVycl9PY2N1cnJlZCgpKQorICAgICAgICByZXR1cm4gLTE7CisgICAgc2VsZi0+d3JpdHRlbiA9IG47CisgICAgcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBQeU1lbWJlckRlZiBPU0Vycm9yX21lbWJlcnNbXSA9IHsKKyAgICB7ImVycm5vIiwgVF9PQkpFQ1QsIG9mZnNldG9mKFB5T1NFcnJvck9iamVjdCwgbXllcnJubyksIDAsCisgICAgICAgIFB5RG9jX1NUUigiUE9TSVggZXhjZXB0aW9uIGNvZGUiKX0sCisgICAgeyJzdHJlcnJvciIsIFRfT0JKRUNULCBvZmZzZXRvZihQeU9TRXJyb3JPYmplY3QsIHN0cmVycm9yKSwgMCwKKyAgICAgICAgUHlEb2NfU1RSKCJleGNlcHRpb24gc3RyZXJyb3IiKX0sCisgICAgeyJmaWxlbmFtZSIsIFRfT0JKRUNULCBvZmZzZXRvZihQeU9TRXJyb3JPYmplY3QsIGZpbGVuYW1lKSwgMCwKKyAgICAgICAgUHlEb2NfU1RSKCJleGNlcHRpb24gZmlsZW5hbWUiKX0sCisjaWZkZWYgTVNfV0lORE9XUworICAgIHsid2luZXJyb3IiLCBUX09CSkVDVCwgb2Zmc2V0b2YoUHlPU0Vycm9yT2JqZWN0LCB3aW5lcnJvciksIDAsCisgICAgICAgIFB5RG9jX1NUUigiV2luMzIgZXhjZXB0aW9uIGNvZGUiKX0sCisjZW5kaWYKKyAgICB7TlVMTH0gIC8qIFNlbnRpbmVsICovCit9OworCitzdGF0aWMgUHlNZXRob2REZWYgT1NFcnJvcl9tZXRob2RzW10gPSB7CisgICAgeyJfX3JlZHVjZV9fIiwgKFB5Q0Z1bmN0aW9uKU9TRXJyb3JfcmVkdWNlLCBNRVRIX05PQVJHU30sCiAgICAge05VTEx9CiB9OwogCi1Db21wbGV4RXh0ZW5kc0V4Y2VwdGlvbihQeUV4Y19FeGNlcHRpb24sIEVudmlyb25tZW50RXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAgICBFbnZpcm9ubWVudEVycm9yLCBFbnZpcm9ubWVudEVycm9yX2RlYWxsb2MsCi0gICAgICAgICAgICAgICAgICAgICAgICBFbnZpcm9ubWVudEVycm9yX21ldGhvZHMsIEVudmlyb25tZW50RXJyb3JfbWVtYmVycywKLSAgICAgICAgICAgICAgICAgICAgICAgIEVudmlyb25tZW50RXJyb3Jfc3RyLAorc3RhdGljIFB5R2V0U2V0RGVmIE9TRXJyb3JfZ2V0c2V0W10gPSB7CisgICAgeyJjaGFyYWN0ZXJzX3dyaXR0ZW4iLCAoZ2V0dGVyKSBPU0Vycm9yX3dyaXR0ZW5fZ2V0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNldHRlcikgT1NFcnJvcl93cml0dGVuX3NldCwgTlVMTH0sCisgICAge05VTEx9Cit9OworCisKK0NvbXBsZXhFeHRlbmRzRXhjZXB0aW9uKFB5RXhjX0V4Y2VwdGlvbiwgT1NFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgIE9TRXJyb3IsIE9TRXJyb3JfbmV3LAorICAgICAgICAgICAgICAgICAgICAgICAgT1NFcnJvcl9tZXRob2RzLCBPU0Vycm9yX21lbWJlcnMsIE9TRXJyb3JfZ2V0c2V0LAorICAgICAgICAgICAgICAgICAgICAgICAgT1NFcnJvcl9zdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAiQmFzZSBjbGFzcyBmb3IgSS9PIHJlbGF0ZWQgZXJyb3JzLiIpOwogCiAKIC8qCi0gKiAgICBJT0Vycm9yIGV4dGVuZHMgRW52aXJvbm1lbnRFcnJvcgorICogICAgVmFyaW91cyBPU0Vycm9yIHN1YmNsYXNzZXMKICAqLwotTWlkZGxpbmdFeHRlbmRzRXhjZXB0aW9uKFB5RXhjX0Vudmlyb25tZW50RXJyb3IsIElPRXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAgICAgRW52aXJvbm1lbnRFcnJvciwgIkkvTyBvcGVyYXRpb24gZmFpbGVkLiIpOwotCi0KLS8qCi0gKiAgICBPU0Vycm9yIGV4dGVuZHMgRW52aXJvbm1lbnRFcnJvcgotICovCi1NaWRkbGluZ0V4dGVuZHNFeGNlcHRpb24oUHlFeGNfRW52aXJvbm1lbnRFcnJvciwgT1NFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICAgICBFbnZpcm9ubWVudEVycm9yLCAiT1Mgc3lzdGVtIGNhbGwgZmFpbGVkLiIpOwotCi0KLS8qCi0gKiAgICBXaW5kb3dzRXJyb3IgZXh0ZW5kcyBPU0Vycm9yCi0gKi8KLSNpZmRlZiBNU19XSU5ET1dTCi0jaW5jbHVkZSAiZXJybWFwLmgiCi0KLXN0YXRpYyBpbnQKLVdpbmRvd3NFcnJvcl9jbGVhcihQeVdpbmRvd3NFcnJvck9iamVjdCAqc2VsZikKLXsKLSAgICBQeV9DTEVBUihzZWxmLT5teWVycm5vKTsKLSAgICBQeV9DTEVBUihzZWxmLT5zdHJlcnJvcik7Ci0gICAgUHlfQ0xFQVIoc2VsZi0+ZmlsZW5hbWUpOwotICAgIFB5X0NMRUFSKHNlbGYtPndpbmVycm9yKTsKLSAgICByZXR1cm4gQmFzZUV4Y2VwdGlvbl9jbGVhcigoUHlCYXNlRXhjZXB0aW9uT2JqZWN0ICopc2VsZik7Ci19Ci0KLXN0YXRpYyB2b2lkCi1XaW5kb3dzRXJyb3JfZGVhbGxvYyhQeVdpbmRvd3NFcnJvck9iamVjdCAqc2VsZikKLXsKLSAgICBfUHlPYmplY3RfR0NfVU5UUkFDSyhzZWxmKTsKLSAgICBXaW5kb3dzRXJyb3JfY2xlYXIoc2VsZik7Ci0gICAgUHlfVFlQRShzZWxmKS0+dHBfZnJlZSgoUHlPYmplY3QgKilzZWxmKTsKLX0KLQotc3RhdGljIGludAotV2luZG93c0Vycm9yX3RyYXZlcnNlKFB5V2luZG93c0Vycm9yT2JqZWN0ICpzZWxmLCB2aXNpdHByb2MgdmlzaXQsIHZvaWQgKmFyZykKLXsKLSAgICBQeV9WSVNJVChzZWxmLT5teWVycm5vKTsKLSAgICBQeV9WSVNJVChzZWxmLT5zdHJlcnJvcik7Ci0gICAgUHlfVklTSVQoc2VsZi0+ZmlsZW5hbWUpOwotICAgIFB5X1ZJU0lUKHNlbGYtPndpbmVycm9yKTsKLSAgICByZXR1cm4gQmFzZUV4Y2VwdGlvbl90cmF2ZXJzZSgoUHlCYXNlRXhjZXB0aW9uT2JqZWN0ICopc2VsZiwgdmlzaXQsIGFyZyk7Ci19Ci0KLXN0YXRpYyBpbnQKLVdpbmRvd3NFcnJvcl9pbml0KFB5V2luZG93c0Vycm9yT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3ZHMpCi17Ci0gICAgUHlPYmplY3QgKm9fZXJyY29kZSA9IE5VTEw7Ci0gICAgbG9uZyBlcnJjb2RlOwotICAgIGxvbmcgcG9zaXhfZXJybm87Ci0KLSAgICBpZiAoRW52aXJvbm1lbnRFcnJvcl9pbml0KChQeUVudmlyb25tZW50RXJyb3JPYmplY3QgKilzZWxmLCBhcmdzLCBrd2RzKQotICAgICAgICAgICAgPT0gLTEpCi0gICAgICAgIHJldHVybiAtMTsKLQotICAgIGlmIChzZWxmLT5teWVycm5vID09IE5VTEwpCi0gICAgICAgIHJldHVybiAwOwotCi0gICAgLyogU2V0IGVycm5vIHRvIHRoZSBQT1NJWCBlcnJubywgYW5kIHdpbmVycm9yIHRvIHRoZSBXaW4zMgotICAgICAgIGVycm9yIGNvZGUuICovCi0gICAgZXJyY29kZSA9IFB5TG9uZ19Bc0xvbmcoc2VsZi0+bXllcnJubyk7Ci0gICAgaWYgKGVycmNvZGUgPT0gLTEgJiYgUHlFcnJfT2NjdXJyZWQoKSkKLSAgICAgICAgcmV0dXJuIC0xOwotICAgIHBvc2l4X2Vycm5vID0gd2luZXJyb3JfdG9fZXJybm8oZXJyY29kZSk7Ci0KLSAgICBQeV9DTEVBUihzZWxmLT53aW5lcnJvcik7Ci0gICAgc2VsZi0+d2luZXJyb3IgPSBzZWxmLT5teWVycm5vOwotCi0gICAgb19lcnJjb2RlID0gUHlMb25nX0Zyb21Mb25nKHBvc2l4X2Vycm5vKTsKLSAgICBpZiAoIW9fZXJyY29kZSkKLSAgICAgICAgcmV0dXJuIC0xOwotCi0gICAgc2VsZi0+bXllcnJubyA9IG9fZXJyY29kZTsKLQotICAgIHJldHVybiAwOwotfQotCi0KLXN0YXRpYyBQeU9iamVjdCAqCi1XaW5kb3dzRXJyb3Jfc3RyKFB5V2luZG93c0Vycm9yT2JqZWN0ICpzZWxmKQotewotICAgIGlmIChzZWxmLT5maWxlbmFtZSkKLSAgICAgICAgcmV0dXJuIFB5VW5pY29kZV9Gcm9tRm9ybWF0KCJbRXJyb3IgJVNdICVTOiAlUiIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLT53aW5lcnJvciA/IHNlbGYtPndpbmVycm9yOiBQeV9Ob25lLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi0+c3RyZXJyb3IgPyBzZWxmLT5zdHJlcnJvcjogUHlfTm9uZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYtPmZpbGVuYW1lKTsKLSAgICBlbHNlIGlmIChzZWxmLT53aW5lcnJvciAmJiBzZWxmLT5zdHJlcnJvcikKLSAgICAgICAgcmV0dXJuIFB5VW5pY29kZV9Gcm9tRm9ybWF0KCJbRXJyb3IgJVNdICVTIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYtPndpbmVycm9yID8gc2VsZi0+d2luZXJyb3I6IFB5X05vbmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLT5zdHJlcnJvciA/IHNlbGYtPnN0cmVycm9yOiBQeV9Ob25lKTsKLSAgICBlbHNlCi0gICAgICAgIHJldHVybiBFbnZpcm9ubWVudEVycm9yX3N0cigoUHlFbnZpcm9ubWVudEVycm9yT2JqZWN0ICopc2VsZik7Ci19Ci0KLXN0YXRpYyBQeU1lbWJlckRlZiBXaW5kb3dzRXJyb3JfbWVtYmVyc1tdID0gewotICAgIHsiZXJybm8iLCBUX09CSkVDVCwgb2Zmc2V0b2YoUHlXaW5kb3dzRXJyb3JPYmplY3QsIG15ZXJybm8pLCAwLAotICAgICAgICBQeURvY19TVFIoIlBPU0lYIGV4Y2VwdGlvbiBjb2RlIil9LAotICAgIHsic3RyZXJyb3IiLCBUX09CSkVDVCwgb2Zmc2V0b2YoUHlXaW5kb3dzRXJyb3JPYmplY3QsIHN0cmVycm9yKSwgMCwKLSAgICAgICAgUHlEb2NfU1RSKCJleGNlcHRpb24gc3RyZXJyb3IiKX0sCi0gICAgeyJmaWxlbmFtZSIsIFRfT0JKRUNULCBvZmZzZXRvZihQeVdpbmRvd3NFcnJvck9iamVjdCwgZmlsZW5hbWUpLCAwLAotICAgICAgICBQeURvY19TVFIoImV4Y2VwdGlvbiBmaWxlbmFtZSIpfSwKLSAgICB7IndpbmVycm9yIiwgVF9PQkpFQ1QsIG9mZnNldG9mKFB5V2luZG93c0Vycm9yT2JqZWN0LCB3aW5lcnJvciksIDAsCi0gICAgICAgIFB5RG9jX1NUUigiV2luMzIgZXhjZXB0aW9uIGNvZGUiKX0sCi0gICAge05VTEx9ICAvKiBTZW50aW5lbCAqLwotfTsKLQotQ29tcGxleEV4dGVuZHNFeGNlcHRpb24oUHlFeGNfT1NFcnJvciwgV2luZG93c0Vycm9yLCBXaW5kb3dzRXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAgICBXaW5kb3dzRXJyb3JfZGVhbGxvYywgMCwgV2luZG93c0Vycm9yX21lbWJlcnMsCi0gICAgICAgICAgICAgICAgICAgICAgICBXaW5kb3dzRXJyb3Jfc3RyLCAiTVMtV2luZG93cyBPUyBzeXN0ZW0gY2FsbCBmYWlsZWQuIik7Ci0KLSNlbmRpZiAvKiBNU19XSU5ET1dTICovCi0KLQotLyoKLSAqICAgIFZNU0Vycm9yIGV4dGVuZHMgT1NFcnJvciAoSSB0aGluaykKLSAqLwotI2lmZGVmIF9fVk1TCi1NaWRkbGluZ0V4dGVuZHNFeGNlcHRpb24oUHlFeGNfT1NFcnJvciwgVk1TRXJyb3IsIEVudmlyb25tZW50RXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIk9wZW5WTVMgT1Mgc3lzdGVtIGNhbGwgZmFpbGVkLiIpOwotI2VuZGlmCi0KK01pZGRsaW5nRXh0ZW5kc0V4Y2VwdGlvbihQeUV4Y19PU0Vycm9yLCBCbG9ja2luZ0lPRXJyb3IsIE9TRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgIkkvTyBvcGVyYXRpb24gd291bGQgYmxvY2suIik7CitNaWRkbGluZ0V4dGVuZHNFeGNlcHRpb24oUHlFeGNfT1NFcnJvciwgQ29ubmVjdGlvbkVycm9yLCBPU0Vycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICJDb25uZWN0aW9uIGVycm9yLiIpOworTWlkZGxpbmdFeHRlbmRzRXhjZXB0aW9uKFB5RXhjX09TRXJyb3IsIENoaWxkUHJvY2Vzc0Vycm9yLCBPU0Vycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICJDaGlsZCBwcm9jZXNzIGVycm9yLiIpOworTWlkZGxpbmdFeHRlbmRzRXhjZXB0aW9uKFB5RXhjX0Nvbm5lY3Rpb25FcnJvciwgQnJva2VuUGlwZUVycm9yLCBPU0Vycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICJCcm9rZW4gcGlwZS4iKTsKK01pZGRsaW5nRXh0ZW5kc0V4Y2VwdGlvbihQeUV4Y19Db25uZWN0aW9uRXJyb3IsIENvbm5lY3Rpb25BYm9ydGVkRXJyb3IsIE9TRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgIkNvbm5lY3Rpb24gYWJvcnRlZC4iKTsKK01pZGRsaW5nRXh0ZW5kc0V4Y2VwdGlvbihQeUV4Y19Db25uZWN0aW9uRXJyb3IsIENvbm5lY3Rpb25SZWZ1c2VkRXJyb3IsIE9TRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgIkNvbm5lY3Rpb24gcmVmdXNlZC4iKTsKK01pZGRsaW5nRXh0ZW5kc0V4Y2VwdGlvbihQeUV4Y19Db25uZWN0aW9uRXJyb3IsIENvbm5lY3Rpb25SZXNldEVycm9yLCBPU0Vycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICJDb25uZWN0aW9uIHJlc2V0LiIpOworTWlkZGxpbmdFeHRlbmRzRXhjZXB0aW9uKFB5RXhjX09TRXJyb3IsIEZpbGVFeGlzdHNFcnJvciwgT1NFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAiRmlsZSBhbHJlYWR5IGV4aXN0cy4iKTsKK01pZGRsaW5nRXh0ZW5kc0V4Y2VwdGlvbihQeUV4Y19PU0Vycm9yLCBGaWxlTm90Rm91bmRFcnJvciwgT1NFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAiRmlsZSBub3QgZm91bmQuIik7CitNaWRkbGluZ0V4dGVuZHNFeGNlcHRpb24oUHlFeGNfT1NFcnJvciwgSXNBRGlyZWN0b3J5RXJyb3IsIE9TRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgIk9wZXJhdGlvbiBkb2Vzbid0IHdvcmsgb24gZGlyZWN0b3JpZXMuIik7CitNaWRkbGluZ0V4dGVuZHNFeGNlcHRpb24oUHlFeGNfT1NFcnJvciwgTm90QURpcmVjdG9yeUVycm9yLCBPU0Vycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICJPcGVyYXRpb24gb25seSB3b3JrcyBvbiBkaXJlY3Rvcmllcy4iKTsKK01pZGRsaW5nRXh0ZW5kc0V4Y2VwdGlvbihQeUV4Y19PU0Vycm9yLCBJbnRlcnJ1cHRlZEVycm9yLCBPU0Vycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICJJbnRlcnJ1cHRlZCBieSBzaWduYWwuIik7CitNaWRkbGluZ0V4dGVuZHNFeGNlcHRpb24oUHlFeGNfT1NFcnJvciwgUGVybWlzc2lvbkVycm9yLCBPU0Vycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICJOb3QgZW5vdWdoIHBlcm1pc3Npb25zLiIpOworTWlkZGxpbmdFeHRlbmRzRXhjZXB0aW9uKFB5RXhjX09TRXJyb3IsIFByb2Nlc3NMb29rdXBFcnJvciwgT1NFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAiUHJvY2VzcyBub3QgZm91bmQuIik7CitNaWRkbGluZ0V4dGVuZHNFeGNlcHRpb24oUHlFeGNfT1NFcnJvciwgVGltZW91dEVycm9yLCBPU0Vycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICJUaW1lb3V0IGV4cGlyZWQuIik7CiAKIC8qCiAgKiAgICBFT0ZFcnJvciBleHRlbmRzIEV4Y2VwdGlvbgpAQCAtOTY3LDIxICsxMTgyLDIzIEBACiBzdGF0aWMgUHlPYmplY3QqCiBteV9iYXNlbmFtZShQeU9iamVjdCAqbmFtZSkKIHsKLSAgICBQeV9VTklDT0RFICp1bmljb2RlOwogICAgIFB5X3NzaXplX3QgaSwgc2l6ZSwgb2Zmc2V0OworICAgIGludCBraW5kOworICAgIHZvaWQgKmRhdGE7CiAKLSAgICB1bmljb2RlID0gUHlVbmljb2RlX0FTX1VOSUNPREUobmFtZSk7Ci0gICAgc2l6ZSA9IFB5VW5pY29kZV9HRVRfU0laRShuYW1lKTsKKyAgICBpZiAoUHlVbmljb2RlX1JFQURZKG5hbWUpKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBraW5kID0gUHlVbmljb2RlX0tJTkQobmFtZSk7CisgICAgZGF0YSA9IFB5VW5pY29kZV9EQVRBKG5hbWUpOworICAgIHNpemUgPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChuYW1lKTsKICAgICBvZmZzZXQgPSAwOwogICAgIGZvcihpPTA7IGkgPCBzaXplOyBpKyspIHsKLSAgICAgICAgaWYgKHVuaWNvZGVbaV0gPT0gU0VQKQorICAgICAgICBpZiAoUHlVbmljb2RlX1JFQUQoa2luZCwgZGF0YSwgaSkgPT0gU0VQKQogICAgICAgICAgICAgb2Zmc2V0ID0gaSArIDE7CiAgICAgfQotICAgIGlmIChvZmZzZXQgIT0gMCkgewotICAgICAgICByZXR1cm4gUHlVbmljb2RlX0Zyb21Vbmljb2RlKAotICAgICAgICAgICAgUHlVbmljb2RlX0FTX1VOSUNPREUobmFtZSkgKyBvZmZzZXQsCi0gICAgICAgICAgICBzaXplIC0gb2Zmc2V0KTsKLSAgICB9IGVsc2UgeworICAgIGlmIChvZmZzZXQgIT0gMCkKKyAgICAgICAgcmV0dXJuIFB5VW5pY29kZV9TdWJzdHJpbmcobmFtZSwgb2Zmc2V0LCBzaXplKTsKKyAgICBlbHNlIHsKICAgICAgICAgUHlfSU5DUkVGKG5hbWUpOwogICAgICAgICByZXR1cm4gbmFtZTsKICAgICB9CkBAIC0xMDQ5LDcgKzEyNjYsNyBAQAogfTsKIAogQ29tcGxleEV4dGVuZHNFeGNlcHRpb24oUHlFeGNfRXhjZXB0aW9uLCBTeW50YXhFcnJvciwgU3ludGF4RXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAgICBTeW50YXhFcnJvcl9kZWFsbG9jLCAwLCBTeW50YXhFcnJvcl9tZW1iZXJzLAorICAgICAgICAgICAgICAgICAgICAgICAgMCwgMCwgU3ludGF4RXJyb3JfbWVtYmVycywgMCwKICAgICAgICAgICAgICAgICAgICAgICAgIFN5bnRheEVycm9yX3N0ciwgIkludmFsaWQgc3ludGF4LiIpOwogCiAKQEAgLTExMDMsNyArMTMyMCw3IEBACiB9CiAKIENvbXBsZXhFeHRlbmRzRXhjZXB0aW9uKFB5RXhjX0xvb2t1cEVycm9yLCBLZXlFcnJvciwgQmFzZUV4Y2VwdGlvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgIDAsIDAsIDAsIEtleUVycm9yX3N0ciwgIk1hcHBpbmcga2V5IG5vdCBmb3VuZC4iKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIDAsIDAsIDAsIDAsIEtleUVycm9yX3N0ciwgIk1hcHBpbmcga2V5IG5vdCBmb3VuZC4iKTsKIAogCiAvKgpAQCAtMTIwMiw3ICsxNDE5LDcgQEAKICAgICBpZiAoIW9iaikKICAgICAgICAgcmV0dXJuIC0xOwogICAgICpzdGFydCA9ICgoUHlVbmljb2RlRXJyb3JPYmplY3QgKilleGMpLT5zdGFydDsKLSAgICBzaXplID0gUHlVbmljb2RlX0dFVF9TSVpFKG9iaik7CisgICAgc2l6ZSA9IFB5VW5pY29kZV9HRVRfTEVOR1RIKG9iaik7CiAgICAgaWYgKCpzdGFydDwwKQogICAgICAgICAqc3RhcnQgPSAwOyAvKlhYWCBjaGVjayBmb3IgdmFsdWVzIDwwKi8KICAgICBpZiAoKnN0YXJ0Pj1zaXplKQpAQCAtMTI3MCw3ICsxNDg3LDcgQEAKICAgICBpZiAoIW9iaikKICAgICAgICAgcmV0dXJuIC0xOwogICAgICplbmQgPSAoKFB5VW5pY29kZUVycm9yT2JqZWN0ICopZXhjKS0+ZW5kOwotICAgIHNpemUgPSBQeVVuaWNvZGVfR0VUX1NJWkUob2JqKTsKKyAgICBzaXplID0gUHlVbmljb2RlX0dFVF9MRU5HVEgob2JqKTsKICAgICBpZiAoKmVuZDwxKQogICAgICAgICAqZW5kID0gMTsKICAgICBpZiAoKmVuZD5zaXplKQpAQCAtMTQ0Miw2ICsxNjU5LDExIEBACiAgICAgICAgICAgcmV0dXJuIC0xOwogICAgIH0KIAorICAgIGlmIChQeVVuaWNvZGVfUkVBRFkoZXJyLT5vYmplY3QpIDwgLTEpIHsKKyAgICAgICAgZXJyLT5lbmNvZGluZyA9IE5VTEw7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisKICAgICBQeV9JTkNSRUYoZXJyLT5lbmNvZGluZyk7CiAgICAgUHlfSU5DUkVGKGVyci0+b2JqZWN0KTsKICAgICBQeV9JTkNSRUYoZXJyLT5yZWFzb24pOwpAQCAtMTQ2Niw4ICsxNjg4LDggQEAKICAgICBpZiAoZW5jb2Rpbmdfc3RyID09IE5VTEwpCiAgICAgICAgIGdvdG8gZG9uZTsKIAotICAgIGlmICh1c2VsZi0+c3RhcnQgPCBQeVVuaWNvZGVfR0VUX1NJWkUodXNlbGYtPm9iamVjdCkgJiYgdXNlbGYtPmVuZCA9PSB1c2VsZi0+c3RhcnQrMSkgewotICAgICAgICBpbnQgYmFkY2hhciA9IChpbnQpUHlVbmljb2RlX0FTX1VOSUNPREUodXNlbGYtPm9iamVjdClbdXNlbGYtPnN0YXJ0XTsKKyAgICBpZiAodXNlbGYtPnN0YXJ0IDwgUHlVbmljb2RlX0dFVF9MRU5HVEgodXNlbGYtPm9iamVjdCkgJiYgdXNlbGYtPmVuZCA9PSB1c2VsZi0+c3RhcnQrMSkgeworICAgICAgICBQeV9VQ1M0IGJhZGNoYXIgPSBQeVVuaWNvZGVfUmVhZENoYXIodXNlbGYtPm9iamVjdCwgdXNlbGYtPnN0YXJ0KTsKICAgICAgICAgY29uc3QgY2hhciAqZm10OwogICAgICAgICBpZiAoYmFkY2hhciA8PSAweGZmKQogICAgICAgICAgICAgZm10ID0gIiclVScgY29kZWMgY2FuJ3QgZW5jb2RlIGNoYXJhY3RlciAnXFx4JTAyeCcgaW4gcG9zaXRpb24gJXpkOiAlVSI7CkBAIC0xNDc4LDcgKzE3MDAsNyBAQAogICAgICAgICByZXN1bHQgPSBQeVVuaWNvZGVfRnJvbUZvcm1hdCgKICAgICAgICAgICAgIGZtdCwKICAgICAgICAgICAgIGVuY29kaW5nX3N0ciwKLSAgICAgICAgICAgIGJhZGNoYXIsCisgICAgICAgICAgICAoaW50KWJhZGNoYXIsCiAgICAgICAgICAgICB1c2VsZi0+c3RhcnQsCiAgICAgICAgICAgICByZWFzb25fc3RyKTsKICAgICB9CkBAIC0xNjc1LDggKzE4OTcsOCBAQAogICAgIGlmIChyZWFzb25fc3RyID09IE5VTEwpCiAgICAgICAgIGdvdG8gZG9uZTsKIAotICAgIGlmICh1c2VsZi0+c3RhcnQgPCBQeVVuaWNvZGVfR0VUX1NJWkUodXNlbGYtPm9iamVjdCkgJiYgdXNlbGYtPmVuZCA9PSB1c2VsZi0+c3RhcnQrMSkgewotICAgICAgICBpbnQgYmFkY2hhciA9IChpbnQpUHlVbmljb2RlX0FTX1VOSUNPREUodXNlbGYtPm9iamVjdClbdXNlbGYtPnN0YXJ0XTsKKyAgICBpZiAodXNlbGYtPnN0YXJ0IDwgUHlVbmljb2RlX0dFVF9MRU5HVEgodXNlbGYtPm9iamVjdCkgJiYgdXNlbGYtPmVuZCA9PSB1c2VsZi0+c3RhcnQrMSkgeworICAgICAgICBQeV9VQ1M0IGJhZGNoYXIgPSBQeVVuaWNvZGVfUmVhZENoYXIodXNlbGYtPm9iamVjdCwgdXNlbGYtPnN0YXJ0KTsKICAgICAgICAgY29uc3QgY2hhciAqZm10OwogICAgICAgICBpZiAoYmFkY2hhciA8PSAweGZmKQogICAgICAgICAgICAgZm10ID0gImNhbid0IHRyYW5zbGF0ZSBjaGFyYWN0ZXIgJ1xceCUwMngnIGluIHBvc2l0aW9uICV6ZDogJVUiOwpAQCAtMTY4Niw3ICsxOTA4LDcgQEAKICAgICAgICAgICAgIGZtdCA9ICJjYW4ndCB0cmFuc2xhdGUgY2hhcmFjdGVyICdcXFUlMDh4JyBpbiBwb3NpdGlvbiAlemQ6ICVVIjsKICAgICAgICAgcmVzdWx0ID0gUHlVbmljb2RlX0Zyb21Gb3JtYXQoCiAgICAgICAgICAgICBmbXQsCi0gICAgICAgICAgICBiYWRjaGFyLAorICAgICAgICAgICAgKGludCliYWRjaGFyLAogICAgICAgICAgICAgdXNlbGYtPnN0YXJ0LAogICAgICAgICAgICAgcmVhc29uX3N0cgogICAgICAgICApOwpAQCAtMTcxNyw2ICsxOTM5LDcgQEAKIH07CiBQeU9iamVjdCAqUHlFeGNfVW5pY29kZVRyYW5zbGF0ZUVycm9yID0gKFB5T2JqZWN0ICopJl9QeUV4Y19Vbmljb2RlVHJhbnNsYXRlRXJyb3I7CiAKKy8qIERlcHJlY2F0ZWQuICovCiBQeU9iamVjdCAqCiBQeVVuaWNvZGVUcmFuc2xhdGVFcnJvcl9DcmVhdGUoCiAgICAgY29uc3QgUHlfVU5JQ09ERSAqb2JqZWN0LCBQeV9zc2l6ZV90IGxlbmd0aCwKQEAgLTE3MjYsNiArMTk0OSwxNCBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqZWN0LCBsZW5ndGgsIHN0YXJ0LCBlbmQsIHJlYXNvbik7CiB9CiAKK1B5T2JqZWN0ICoKK19QeVVuaWNvZGVUcmFuc2xhdGVFcnJvcl9DcmVhdGUoCisgICAgUHlPYmplY3QgKm9iamVjdCwKKyAgICBQeV9zc2l6ZV90IHN0YXJ0LCBQeV9zc2l6ZV90IGVuZCwgY29uc3QgY2hhciAqcmVhc29uKQoreworICAgIHJldHVybiBQeU9iamVjdF9DYWxsRnVuY3Rpb24oUHlFeGNfVW5pY29kZVRyYW5zbGF0ZUVycm9yLCAiT25zIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iamVjdCwgc3RhcnQsIGVuZCwgcmVhc29uKTsKK30KIAogLyoKICAqICAgIEFzc2VydGlvbkVycm9yIGV4dGVuZHMgRXhjZXB0aW9uCkBAIC0xOTc1LDYgKzIyMDYsNDcgQEAKICAgICBpZiAoUHlEaWN0X1NldEl0ZW1TdHJpbmcoYmRpY3QsICMgVFlQRSwgUHlFeGNfICMjIFRZUEUpKSBcCiAgICAgICAgIFB5X0ZhdGFsRXJyb3IoIk1vZHVsZSBkaWN0aW9uYXJ5IGluc2VydGlvbiBwcm9ibGVtLiIpOwogCisjZGVmaW5lIElOSVRfQUxJQVMoTkFNRSwgVFlQRSkgUHlfSU5DUkVGKFB5RXhjXyAjIyBUWVBFKTsgXAorICAgIFB5X1hERUNSRUYoUHlFeGNfICMjIE5BTUUpOyBcCisgICAgUHlFeGNfICMjIE5BTUUgPSBQeUV4Y18gIyMgVFlQRTsgXAorICAgIGlmIChQeURpY3RfU2V0SXRlbVN0cmluZyhiZGljdCwgIyBOQU1FLCBQeUV4Y18gIyMgTkFNRSkpIFwKKyAgICAgICAgUHlfRmF0YWxFcnJvcigiTW9kdWxlIGRpY3Rpb25hcnkgaW5zZXJ0aW9uIHByb2JsZW0uIik7CisKKyNkZWZpbmUgQUREX0VSUk5PKFRZUEUsIENPREUpIHsgXAorICAgIFB5T2JqZWN0ICpfY29kZSA9IFB5TG9uZ19Gcm9tTG9uZyhDT0RFKTsgXAorICAgIGFzc2VydChfUHlPYmplY3RfUmVhbElzU3ViY2xhc3MoUHlFeGNfICMjIFRZUEUsIFB5RXhjX09TRXJyb3IpKTsgXAorICAgIGlmICghX2NvZGUgfHwgUHlEaWN0X1NldEl0ZW0oZXJybm9tYXAsIF9jb2RlLCBQeUV4Y18gIyMgVFlQRSkpIFwKKyAgICAgICAgUHlfRmF0YWxFcnJvcigiZXJybWFwIGluc2VydGlvbiBwcm9ibGVtLiIpOyBcCisgICAgUHlfREVDUkVGKF9jb2RlKTsgXAorICAgIH0KKworI2lmZGVmIE1TX1dJTkRPV1MKKyNpbmNsdWRlIDxXaW5zb2NrMi5oPgorI2lmIGRlZmluZWQoV1NBRUFMUkVBRFkpICYmICFkZWZpbmVkKEVBTFJFQURZKQorI2RlZmluZSBFQUxSRUFEWSBXU0FFQUxSRUFEWQorI2VuZGlmCisjaWYgZGVmaW5lZChXU0FFQ09OTkFCT1JURUQpICYmICFkZWZpbmVkKEVDT05OQUJPUlRFRCkKKyNkZWZpbmUgRUNPTk5BQk9SVEVEIFdTQUVDT05OQUJPUlRFRAorI2VuZGlmCisjaWYgZGVmaW5lZChXU0FFQ09OTlJFRlVTRUQpICYmICFkZWZpbmVkKEVDT05OUkVGVVNFRCkKKyNkZWZpbmUgRUNPTk5SRUZVU0VEIFdTQUVDT05OUkVGVVNFRAorI2VuZGlmCisjaWYgZGVmaW5lZChXU0FFQ09OTlJFU0VUKSAmJiAhZGVmaW5lZChFQ09OTlJFU0VUKQorI2RlZmluZSBFQ09OTlJFU0VUIFdTQUVDT05OUkVTRVQKKyNlbmRpZgorI2lmIGRlZmluZWQoV1NBRUlOUFJPR1JFU1MpICYmICFkZWZpbmVkKEVJTlBST0dSRVNTKQorI2RlZmluZSBFSU5QUk9HUkVTUyBXU0FFSU5QUk9HUkVTUworI2VuZGlmCisjaWYgZGVmaW5lZChXU0FFU0hVVERPV04pICYmICFkZWZpbmVkKEVTSFVURE9XTikKKyNkZWZpbmUgRVNIVVRET1dOIFdTQUVTSFVURE9XTgorI2VuZGlmCisjaWYgZGVmaW5lZChXU0FFVElNRURPVVQpICYmICFkZWZpbmVkKEVUSU1FRE9VVCkKKyNkZWZpbmUgRVRJTUVET1VUIFdTQUVUSU1FRE9VVAorI2VuZGlmCisjaWYgZGVmaW5lZChXU0FFV09VTERCTE9DSykgJiYgIWRlZmluZWQoRVdPVUxEQkxPQ0spCisjZGVmaW5lIEVXT1VMREJMT0NLIFdTQUVXT1VMREJMT0NLCisjZW5kaWYKKyNlbmRpZiAvKiBNU19XSU5ET1dTICovCiAKIHZvaWQKIF9QeUV4Y19Jbml0KHZvaWQpCkBAIC0xOTg5LDE1ICsyMjYxLDcgQEAKICAgICBQUkVfSU5JVChTeXN0ZW1FeGl0KQogICAgIFBSRV9JTklUKEtleWJvYXJkSW50ZXJydXB0KQogICAgIFBSRV9JTklUKEltcG9ydEVycm9yKQotICAgIFBSRV9JTklUKEVudmlyb25tZW50RXJyb3IpCi0gICAgUFJFX0lOSVQoSU9FcnJvcikKICAgICBQUkVfSU5JVChPU0Vycm9yKQotI2lmZGVmIE1TX1dJTkRPV1MKLSAgICBQUkVfSU5JVChXaW5kb3dzRXJyb3IpCi0jZW5kaWYKLSNpZmRlZiBfX1ZNUwotICAgIFBSRV9JTklUKFZNU0Vycm9yKQotI2VuZGlmCiAgICAgUFJFX0lOSVQoRU9GRXJyb3IpCiAgICAgUFJFX0lOSVQoUnVudGltZUVycm9yKQogICAgIFBSRV9JTklUKE5vdEltcGxlbWVudGVkRXJyb3IpCkBAIC0yMDM3LDYgKzIzMDEsMjQgQEAKICAgICBQUkVfSU5JVChCeXRlc1dhcm5pbmcpCiAgICAgUFJFX0lOSVQoUmVzb3VyY2VXYXJuaW5nKQogCisgICAgLyogT1NFcnJvciBzdWJjbGFzc2VzICovCisgICAgUFJFX0lOSVQoQ29ubmVjdGlvbkVycm9yKTsKKworICAgIFBSRV9JTklUKEJsb2NraW5nSU9FcnJvcik7CisgICAgUFJFX0lOSVQoQnJva2VuUGlwZUVycm9yKTsKKyAgICBQUkVfSU5JVChDaGlsZFByb2Nlc3NFcnJvcik7CisgICAgUFJFX0lOSVQoQ29ubmVjdGlvbkFib3J0ZWRFcnJvcik7CisgICAgUFJFX0lOSVQoQ29ubmVjdGlvblJlZnVzZWRFcnJvcik7CisgICAgUFJFX0lOSVQoQ29ubmVjdGlvblJlc2V0RXJyb3IpOworICAgIFBSRV9JTklUKEZpbGVFeGlzdHNFcnJvcik7CisgICAgUFJFX0lOSVQoRmlsZU5vdEZvdW5kRXJyb3IpOworICAgIFBSRV9JTklUKElzQURpcmVjdG9yeUVycm9yKTsKKyAgICBQUkVfSU5JVChOb3RBRGlyZWN0b3J5RXJyb3IpOworICAgIFBSRV9JTklUKEludGVycnVwdGVkRXJyb3IpOworICAgIFBSRV9JTklUKFBlcm1pc3Npb25FcnJvcik7CisgICAgUFJFX0lOSVQoUHJvY2Vzc0xvb2t1cEVycm9yKTsKKyAgICBQUkVfSU5JVChUaW1lb3V0RXJyb3IpOworCiAgICAgYmx0aW5tb2QgPSBQeUltcG9ydF9JbXBvcnRNb2R1bGUoImJ1aWx0aW5zIik7CiAgICAgaWYgKGJsdGlubW9kID09IE5VTEwpCiAgICAgICAgIFB5X0ZhdGFsRXJyb3IoImV4Y2VwdGlvbnMgYm9vdHN0cmFwcGluZyBlcnJvci4iKTsKQEAgLTIwNTIsMTQgKzIzMzQsMTQgQEAKICAgICBQT1NUX0lOSVQoU3lzdGVtRXhpdCkKICAgICBQT1NUX0lOSVQoS2V5Ym9hcmRJbnRlcnJ1cHQpCiAgICAgUE9TVF9JTklUKEltcG9ydEVycm9yKQotICAgIFBPU1RfSU5JVChFbnZpcm9ubWVudEVycm9yKQotICAgIFBPU1RfSU5JVChJT0Vycm9yKQogICAgIFBPU1RfSU5JVChPU0Vycm9yKQorICAgIElOSVRfQUxJQVMoRW52aXJvbm1lbnRFcnJvciwgT1NFcnJvcikKKyAgICBJTklUX0FMSUFTKElPRXJyb3IsIE9TRXJyb3IpCiAjaWZkZWYgTVNfV0lORE9XUwotICAgIFBPU1RfSU5JVChXaW5kb3dzRXJyb3IpCisgICAgSU5JVF9BTElBUyhXaW5kb3dzRXJyb3IsIE9TRXJyb3IpCiAjZW5kaWYKICNpZmRlZiBfX1ZNUwotICAgIFBPU1RfSU5JVChWTVNFcnJvcikKKyAgICBJTklUX0FMSUFTKFZNU0Vycm9yLCBPU0Vycm9yKQogI2VuZGlmCiAgICAgUE9TVF9JTklUKEVPRkVycm9yKQogICAgIFBPU1RfSU5JVChSdW50aW1lRXJyb3IpCkBAIC0yMTAwLDYgKzIzODIsNDkgQEAKICAgICBQT1NUX0lOSVQoQnl0ZXNXYXJuaW5nKQogICAgIFBPU1RfSU5JVChSZXNvdXJjZVdhcm5pbmcpCiAKKyAgICBpZiAoIWVycm5vbWFwKSB7CisgICAgICAgIGVycm5vbWFwID0gUHlEaWN0X05ldygpOworICAgICAgICBpZiAoIWVycm5vbWFwKQorICAgICAgICAgICAgUHlfRmF0YWxFcnJvcigiQ2Fubm90IGFsbG9jYXRlIG1hcCBmcm9tIGVycm5vcyB0byBPU0Vycm9yIHN1YmNsYXNzZXMiKTsKKyAgICB9CisKKyAgICAvKiBPU0Vycm9yIHN1YmNsYXNzZXMgKi8KKyAgICBQT1NUX0lOSVQoQ29ubmVjdGlvbkVycm9yKTsKKworICAgIFBPU1RfSU5JVChCbG9ja2luZ0lPRXJyb3IpOworICAgIEFERF9FUlJOTyhCbG9ja2luZ0lPRXJyb3IsIEVBR0FJTik7CisgICAgQUREX0VSUk5PKEJsb2NraW5nSU9FcnJvciwgRUFMUkVBRFkpOworICAgIEFERF9FUlJOTyhCbG9ja2luZ0lPRXJyb3IsIEVJTlBST0dSRVNTKTsKKyAgICBBRERfRVJSTk8oQmxvY2tpbmdJT0Vycm9yLCBFV09VTERCTE9DSyk7CisgICAgUE9TVF9JTklUKEJyb2tlblBpcGVFcnJvcik7CisgICAgQUREX0VSUk5PKEJyb2tlblBpcGVFcnJvciwgRVBJUEUpOworICAgIEFERF9FUlJOTyhCcm9rZW5QaXBlRXJyb3IsIEVTSFVURE9XTik7CisgICAgUE9TVF9JTklUKENoaWxkUHJvY2Vzc0Vycm9yKTsKKyAgICBBRERfRVJSTk8oQ2hpbGRQcm9jZXNzRXJyb3IsIEVDSElMRCk7CisgICAgUE9TVF9JTklUKENvbm5lY3Rpb25BYm9ydGVkRXJyb3IpOworICAgIEFERF9FUlJOTyhDb25uZWN0aW9uQWJvcnRlZEVycm9yLCBFQ09OTkFCT1JURUQpOworICAgIFBPU1RfSU5JVChDb25uZWN0aW9uUmVmdXNlZEVycm9yKTsKKyAgICBBRERfRVJSTk8oQ29ubmVjdGlvblJlZnVzZWRFcnJvciwgRUNPTk5SRUZVU0VEKTsKKyAgICBQT1NUX0lOSVQoQ29ubmVjdGlvblJlc2V0RXJyb3IpOworICAgIEFERF9FUlJOTyhDb25uZWN0aW9uUmVzZXRFcnJvciwgRUNPTk5SRVNFVCk7CisgICAgUE9TVF9JTklUKEZpbGVFeGlzdHNFcnJvcik7CisgICAgQUREX0VSUk5PKEZpbGVFeGlzdHNFcnJvciwgRUVYSVNUKTsKKyAgICBQT1NUX0lOSVQoRmlsZU5vdEZvdW5kRXJyb3IpOworICAgIEFERF9FUlJOTyhGaWxlTm90Rm91bmRFcnJvciwgRU5PRU5UKTsKKyAgICBQT1NUX0lOSVQoSXNBRGlyZWN0b3J5RXJyb3IpOworICAgIEFERF9FUlJOTyhJc0FEaXJlY3RvcnlFcnJvciwgRUlTRElSKTsKKyAgICBQT1NUX0lOSVQoTm90QURpcmVjdG9yeUVycm9yKTsKKyAgICBBRERfRVJSTk8oTm90QURpcmVjdG9yeUVycm9yLCBFTk9URElSKTsKKyAgICBQT1NUX0lOSVQoSW50ZXJydXB0ZWRFcnJvcik7CisgICAgQUREX0VSUk5PKEludGVycnVwdGVkRXJyb3IsIEVJTlRSKTsKKyAgICBQT1NUX0lOSVQoUGVybWlzc2lvbkVycm9yKTsKKyAgICBBRERfRVJSTk8oUGVybWlzc2lvbkVycm9yLCBFQUNDRVMpOworICAgIEFERF9FUlJOTyhQZXJtaXNzaW9uRXJyb3IsIEVQRVJNKTsKKyAgICBQT1NUX0lOSVQoUHJvY2Vzc0xvb2t1cEVycm9yKTsKKyAgICBBRERfRVJSTk8oUHJvY2Vzc0xvb2t1cEVycm9yLCBFU1JDSCk7CisgICAgUE9TVF9JTklUKFRpbWVvdXRFcnJvcik7CisgICAgQUREX0VSUk5PKFRpbWVvdXRFcnJvciwgRVRJTUVET1VUKTsKKwogICAgIHByZWFsbG9jYXRlX21lbWVycm9ycygpOwogCiAgICAgaWYgKCFQeUV4Y19SZWN1cnNpb25FcnJvckluc3QpIHsKQEAgLTIxMzQsNCArMjQ1OSw1IEBACiB7CiAgICAgUHlfQ0xFQVIoUHlFeGNfUmVjdXJzaW9uRXJyb3JJbnN0KTsKICAgICBmcmVlX3ByZWFsbG9jYXRlZF9tZW1lcnJvcnMoKTsKKyAgICBQeV9DTEVBUihlcnJub21hcCk7CiB9CmRpZmYgLS1naXQgYS9PYmplY3RzL2ZpbGVvYmplY3QuYyBiL09iamVjdHMvZmlsZW9iamVjdC5jCmluZGV4IGQyMGYxOTYuLmUxYzQ3Y2UgMTAwNjQ0Ci0tLSBhL09iamVjdHMvZmlsZW9iamVjdC5jCisrKyBiL09iamVjdHMvZmlsZW9iamVjdC5jCkBAIC0zMCwxMSArMzAsMTIgQEAKICAgICAgICAgICAgICAgY2hhciAqZXJyb3JzLCBjaGFyICpuZXdsaW5lLCBpbnQgY2xvc2VmZCkKIHsKICAgICBQeU9iamVjdCAqaW8sICpzdHJlYW07CisgICAgX1B5X0lERU5USUZJRVIob3Blbik7CiAKICAgICBpbyA9IFB5SW1wb3J0X0ltcG9ydE1vZHVsZSgiaW8iKTsKICAgICBpZiAoaW8gPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgc3RyZWFtID0gUHlPYmplY3RfQ2FsbE1ldGhvZChpbywgIm9wZW4iLCAiaXNpc3NzaSIsIGZkLCBtb2RlLAorICAgIHN0cmVhbSA9IF9QeU9iamVjdF9DYWxsTWV0aG9kSWQoaW8sICZQeUlkX29wZW4sICJpc2lzc3NpIiwgZmQsIG1vZGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWZmZXJpbmcsIGVuY29kaW5nLCBlcnJvcnMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdsaW5lLCBjbG9zZWZkKTsKICAgICBQeV9ERUNSRUYoaW8pOwpAQCAtNTgsOCArNTksOSBAQAogICAgIHsKICAgICAgICAgUHlPYmplY3QgKnJlYWRlcjsKICAgICAgICAgUHlPYmplY3QgKmFyZ3M7CisgICAgICAgIF9QeV9JREVOVElGSUVSKHJlYWRsaW5lKTsKIAotICAgICAgICByZWFkZXIgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKGYsICJyZWFkbGluZSIpOworICAgICAgICByZWFkZXIgPSBfUHlPYmplY3RfR2V0QXR0cklkKGYsICZQeUlkX3JlYWRsaW5lKTsKICAgICAgICAgaWYgKHJlYWRlciA9PSBOVUxMKQogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgIGlmIChuIDw9IDApCkBAIC0xMDMsMjMgKzEwNSwxOCBAQAogICAgICAgICB9CiAgICAgfQogICAgIGlmIChuIDwgMCAmJiByZXN1bHQgIT0gTlVMTCAmJiBQeVVuaWNvZGVfQ2hlY2socmVzdWx0KSkgewotICAgICAgICBQeV9VTklDT0RFICpzID0gUHlVbmljb2RlX0FTX1VOSUNPREUocmVzdWx0KTsKLSAgICAgICAgUHlfc3NpemVfdCBsZW4gPSBQeVVuaWNvZGVfR0VUX1NJWkUocmVzdWx0KTsKKyAgICAgICAgUHlfc3NpemVfdCBsZW4gPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChyZXN1bHQpOwogICAgICAgICBpZiAobGVuID09IDApIHsKICAgICAgICAgICAgIFB5X0RFQ1JFRihyZXN1bHQpOwogICAgICAgICAgICAgcmVzdWx0ID0gTlVMTDsKICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19FT0ZFcnJvciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiRU9GIHdoZW4gcmVhZGluZyBhIGxpbmUiKTsKICAgICAgICAgfQotICAgICAgICBlbHNlIGlmIChzW2xlbi0xXSA9PSAnXG4nKSB7Ci0gICAgICAgICAgICBpZiAocmVzdWx0LT5vYl9yZWZjbnQgPT0gMSkKLSAgICAgICAgICAgICAgICBQeVVuaWNvZGVfUmVzaXplKCZyZXN1bHQsIGxlbi0xKTsKLSAgICAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgICAgIFB5T2JqZWN0ICp2OwotICAgICAgICAgICAgICAgIHYgPSBQeVVuaWNvZGVfRnJvbVVuaWNvZGUocywgbGVuLTEpOwotICAgICAgICAgICAgICAgIFB5X0RFQ1JFRihyZXN1bHQpOwotICAgICAgICAgICAgICAgIHJlc3VsdCA9IHY7Ci0gICAgICAgICAgICB9CisgICAgICAgIGVsc2UgaWYgKFB5VW5pY29kZV9SRUFEX0NIQVIocmVzdWx0LCBsZW4tMSkgPT0gJ1xuJykgeworICAgICAgICAgICAgUHlPYmplY3QgKnY7CisgICAgICAgICAgICB2ID0gUHlVbmljb2RlX1N1YnN0cmluZyhyZXN1bHQsIDAsIGxlbi0xKTsKKyAgICAgICAgICAgIFB5X0RFQ1JFRihyZXN1bHQpOworICAgICAgICAgICAgcmVzdWx0ID0gdjsKICAgICAgICAgfQogICAgIH0KICAgICByZXR1cm4gcmVzdWx0OwpAQCAtMTMxLDExICsxMjgsMTMgQEAKIFB5RmlsZV9Xcml0ZU9iamVjdChQeU9iamVjdCAqdiwgUHlPYmplY3QgKmYsIGludCBmbGFncykKIHsKICAgICBQeU9iamVjdCAqd3JpdGVyLCAqdmFsdWUsICphcmdzLCAqcmVzdWx0OworICAgIF9QeV9JREVOVElGSUVSKHdyaXRlKTsKKwogICAgIGlmIChmID09IE5VTEwpIHsKICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgIndyaXRlb2JqZWN0IHdpdGggTlVMTCBmaWxlIik7CiAgICAgICAgIHJldHVybiAtMTsKICAgICB9Ci0gICAgd3JpdGVyID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyhmLCAid3JpdGUiKTsKKyAgICB3cml0ZXIgPSBfUHlPYmplY3RfR2V0QXR0cklkKGYsICZQeUlkX3dyaXRlKTsKICAgICBpZiAod3JpdGVyID09IE5VTEwpCiAgICAgICAgIHJldHVybiAtMTsKICAgICBpZiAoZmxhZ3MgJiBQeV9QUklOVF9SQVcpIHsKQEAgLTE5OCwxMSArMTk3LDEyIEBACiB7CiAgICAgaW50IGZkOwogICAgIFB5T2JqZWN0ICptZXRoOworICAgIF9QeV9JREVOVElGSUVSKGZpbGVubyk7CiAKICAgICBpZiAoUHlMb25nX0NoZWNrKG8pKSB7CiAgICAgICAgIGZkID0gUHlMb25nX0FzTG9uZyhvKTsKICAgICB9Ci0gICAgZWxzZSBpZiAoKG1ldGggPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKG8sICJmaWxlbm8iKSkgIT0gTlVMTCkKKyAgICBlbHNlIGlmICgobWV0aCA9IF9QeU9iamVjdF9HZXRBdHRySWQobywgJlB5SWRfZmlsZW5vKSkgIT0gTlVMTCkKICAgICB7CiAgICAgICAgIFB5T2JqZWN0ICpmbm8gPSBQeUV2YWxfQ2FsbE9iamVjdChtZXRoLCBOVUxMKTsKICAgICAgICAgUHlfREVDUkVGKG1ldGgpOwpAQCAtMjk3LDggKzI5Nyw4IEBACiAgICAgICAgICpwKysgPSBjOwogICAgICAgICBpZiAoYyA9PSAnXG4nKSBicmVhazsKICAgICB9Ci0gICAgaWYgKCBjID09IEVPRiAmJiBza2lwbmV4dGxmICkKLSAgICAgICAgbmV3bGluZXR5cGVzIHw9IE5FV0xJTkVfQ1I7CisgICAgLyogaWYgKCBjID09IEVPRiAmJiBza2lwbmV4dGxmICkKKyAgICAgICAgbmV3bGluZXR5cGVzIHw9IE5FV0xJTkVfQ1I7ICovCiAgICAgRlVOTE9DS0ZJTEUoc3RyZWFtKTsKICAgICAqcCA9ICdcMCc7CiAgICAgaWYgKCBza2lwbmV4dGxmICkgewpkaWZmIC0tZ2l0IGEvT2JqZWN0cy9mbG9hdG9iamVjdC5jIGIvT2JqZWN0cy9mbG9hdG9iamVjdC5jCmluZGV4IGUxNDZhNGYuLmE3MzgyNDkgMTAwNjQ0Ci0tLSBhL09iamVjdHMvZmxvYXRvYmplY3QuYworKysgYi9PYmplY3RzL2Zsb2F0b2JqZWN0LmMKQEAgLTE1LDExICsxNSw2IEBACiAjZGVmaW5lIE1JTih4LCB5KSAoKHgpIDwgKHkpID8gKHgpIDogKHkpKQogCiAKLSNpZmRlZiBfT1NGX1NPVVJDRQotLyogT1NGMSA1LjEgZG9lc24ndCBtYWtlIHRoaXMgYXZhaWxhYmxlIHdpdGggWE9QRU5fU09VUkNFX0VYVEVOREVEIGRlZmluZWQgKi8KLWV4dGVybiBpbnQgZmluaXRlKGRvdWJsZSk7Ci0jZW5kaWYKLQogLyogU3BlY2lhbCBmcmVlIGxpc3QKIAogICAgU2luY2Ugc29tZSBQeXRob24gcHJvZ3JhbXMgY2FuIHNwZW5kIG11Y2ggb2YgdGhlaXIgdGltZSBhbGxvY2F0aW5nCkBAIC0xNzksMjUgKzE3NCwxNCBAQAogICAgIFB5T2JqZWN0ICpyZXN1bHQgPSBOVUxMOwogCiAgICAgaWYgKFB5VW5pY29kZV9DaGVjayh2KSkgewotICAgICAgICBQeV9zc2l6ZV90IGksIGJ1ZmxlbiA9IFB5VW5pY29kZV9HRVRfU0laRSh2KTsKLSAgICAgICAgUHlfVU5JQ09ERSAqYnVmcHRyOwotICAgICAgICBzX2J1ZmZlciA9IFB5VW5pY29kZV9UcmFuc2Zvcm1EZWNpbWFsVG9BU0NJSSgKLSAgICAgICAgICAgIFB5VW5pY29kZV9BU19VTklDT0RFKHYpLCBidWZsZW4pOworICAgICAgICBzX2J1ZmZlciA9IF9QeVVuaWNvZGVfVHJhbnNmb3JtRGVjaW1hbEFuZFNwYWNlVG9BU0NJSSh2KTsKICAgICAgICAgaWYgKHNfYnVmZmVyID09IE5VTEwpCiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgLyogUmVwbGFjZSBub24tQVNDSUkgd2hpdGVzcGFjZSB3aXRoICcgJyAqLwotICAgICAgICBidWZwdHIgPSBQeVVuaWNvZGVfQVNfVU5JQ09ERShzX2J1ZmZlcik7Ci0gICAgICAgIGZvciAoaSA9IDA7IGkgPCBidWZsZW47IGkrKykgewotICAgICAgICAgICAgUHlfVU5JQ09ERSBjaCA9IGJ1ZnB0cltpXTsKLSAgICAgICAgICAgIGlmIChjaCA+IDEyNyAmJiBQeV9VTklDT0RFX0lTU1BBQ0UoY2gpKQotICAgICAgICAgICAgICAgIGJ1ZnB0cltpXSA9ICcgJzsKLSAgICAgICAgfQotICAgICAgICBzID0gX1B5VW5pY29kZV9Bc1N0cmluZ0FuZFNpemUoc19idWZmZXIsICZsZW4pOworICAgICAgICBzID0gUHlVbmljb2RlX0FzVVRGOEFuZFNpemUoc19idWZmZXIsICZsZW4pOwogICAgICAgICBpZiAocyA9PSBOVUxMKSB7CiAgICAgICAgICAgICBQeV9ERUNSRUYoc19idWZmZXIpOwogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgIH0KLSAgICAgICAgbGFzdCA9IHMgKyBsZW47CiAgICAgfQogICAgIGVsc2UgaWYgKFB5T2JqZWN0X0FzQ2hhckJ1ZmZlcih2LCAmcywgJmxlbikpIHsKICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwKQEAgLTUyMyw4ICs1MDcsNyBAQAogICAgIHJldHVybiBQeUJvb2xfRnJvbUxvbmcocik7CiAKICBVbmltcGxlbWVudGVkOgotICAgIFB5X0lOQ1JFRihQeV9Ob3RJbXBsZW1lbnRlZCk7Ci0gICAgcmV0dXJuIFB5X05vdEltcGxlbWVudGVkOworICAgIFB5X1JFVFVSTl9OT1RJTVBMRU1FTlRFRDsKIH0KIAogc3RhdGljIFB5X2hhc2hfdApAQCAtMTA4MCw3ICsxMDYzLDcgQEAKIGNoYXJfZnJvbV9oZXgoaW50IHgpCiB7CiAgICAgYXNzZXJ0KDAgPD0geCAmJiB4IDwgMTYpOwotICAgIHJldHVybiAiMDEyMzQ1Njc4OWFiY2RlZiJbeF07CisgICAgcmV0dXJuIFB5X2hleGRpZ2l0c1t4XTsKIH0KIAogc3RhdGljIGludApAQCAtMTc1Myw5ICsxNzM2LDggQEAKIAogICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiVTpfX2Zvcm1hdF9fIiwgJmZvcm1hdF9zcGVjKSkKICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgcmV0dXJuIF9QeUZsb2F0X0Zvcm1hdEFkdmFuY2VkKHNlbGYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9BU19VTklDT0RFKGZvcm1hdF9zcGVjKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0dFVF9TSVpFKGZvcm1hdF9zcGVjKSk7CisgICAgcmV0dXJuIF9QeUZsb2F0X0Zvcm1hdEFkdmFuY2VkKHNlbGYsIGZvcm1hdF9zcGVjLCAwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfR0VUX0xFTkdUSChmb3JtYXRfc3BlYykpOwogfQogCiBQeURvY19TVFJWQVIoZmxvYXRfX2Zvcm1hdF9fZG9jLApAQCAtMjI1MSw3ICsyMjMzLDcgQEAKIAogICAgICAgICAvKiBFaWdodGggYnl0ZSAqLwogICAgICAgICAqcCA9IGZsbyAmIDB4RkY7Ci0gICAgICAgIHAgKz0gaW5jcjsKKyAgICAgICAgLyogcCArPSBpbmNyOyAqLwogCiAgICAgICAgIC8qIERvbmUgKi8KICAgICAgICAgcmV0dXJuIDA7CmRpZmYgLS1naXQgYS9PYmplY3RzL2ZyYW1lb2JqZWN0LmMgYi9PYmplY3RzL2ZyYW1lb2JqZWN0LmMKaW5kZXggMTBmYjhiMy4uYjMzZDcyYiAxMDA2NDQKLS0tIGEvT2JqZWN0cy9mcmFtZW9iamVjdC5jCisrKyBiL09iamVjdHMvZnJhbWVvYmplY3QuYwpAQCAtMTUsMTEgKzE1LDExIEBACiAjZGVmaW5lIE9GRih4KSBvZmZzZXRvZihQeUZyYW1lT2JqZWN0LCB4KQogCiBzdGF0aWMgUHlNZW1iZXJEZWYgZnJhbWVfbWVtYmVybGlzdFtdID0gewotICAgIHsiZl9iYWNrIiwgICAgICAgICAgVF9PQkpFQ1QsICAgICAgIE9GRihmX2JhY2spLCAgICBSRUFET05MWX0sCi0gICAgeyJmX2NvZGUiLCAgICAgICAgICBUX09CSkVDVCwgICAgICAgT0ZGKGZfY29kZSksICAgIFJFQURPTkxZfSwKLSAgICB7ImZfYnVpbHRpbnMiLCAgICAgIFRfT0JKRUNULCAgICAgICBPRkYoZl9idWlsdGlucyksUkVBRE9OTFl9LAotICAgIHsiZl9nbG9iYWxzIiwgICAgICAgVF9PQkpFQ1QsICAgICAgIE9GRihmX2dsb2JhbHMpLCBSRUFET05MWX0sCi0gICAgeyJmX2xhc3RpIiwgICAgICAgICBUX0lOVCwgICAgICAgICAgT0ZGKGZfbGFzdGkpLCAgIFJFQURPTkxZfSwKKyAgICB7ImZfYmFjayIsICAgICAgICAgIFRfT0JKRUNULCAgICAgICBPRkYoZl9iYWNrKSwgICAgICBSRUFET05MWX0sCisgICAgeyJmX2NvZGUiLCAgICAgICAgICBUX09CSkVDVCwgICAgICAgT0ZGKGZfY29kZSksICAgICAgUkVBRE9OTFl9LAorICAgIHsiZl9idWlsdGlucyIsICAgICAgVF9PQkpFQ1QsICAgICAgIE9GRihmX2J1aWx0aW5zKSwgIFJFQURPTkxZfSwKKyAgICB7ImZfZ2xvYmFscyIsICAgICAgIFRfT0JKRUNULCAgICAgICBPRkYoZl9nbG9iYWxzKSwgICBSRUFET05MWX0sCisgICAgeyJmX2xhc3RpIiwgICAgICAgICBUX0lOVCwgICAgICAgICAgT0ZGKGZfbGFzdGkpLCAgICAgUkVBRE9OTFl9LAogICAgIHtOVUxMfSAgICAgIC8qIFNlbnRpbmVsICovCiB9OwogCmRpZmYgLS1naXQgYS9PYmplY3RzL2Z1bmNvYmplY3QuYyBiL09iamVjdHMvZnVuY29iamVjdC5jCmluZGV4IDIyOTJhOWUuLjQ5NDE1YjkgMTAwNjQ0Ci0tLSBhL09iamVjdHMvZnVuY29iamVjdC5jCisrKyBiL09iamVjdHMvZnVuY29iamVjdC5jCkBAIC02LDcgKzYsNyBAQAogI2luY2x1ZGUgInN0cnVjdG1lbWJlci5oIgogCiBQeU9iamVjdCAqCi1QeUZ1bmN0aW9uX05ldyhQeU9iamVjdCAqY29kZSwgUHlPYmplY3QgKmdsb2JhbHMpCitQeUZ1bmN0aW9uX05ld1dpdGhRdWFsTmFtZShQeU9iamVjdCAqY29kZSwgUHlPYmplY3QgKmdsb2JhbHMsIFB5T2JqZWN0ICpxdWFsbmFtZSkKIHsKICAgICBQeUZ1bmN0aW9uT2JqZWN0ICpvcCA9IFB5T2JqZWN0X0dDX05ldyhQeUZ1bmN0aW9uT2JqZWN0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZQeUZ1bmN0aW9uX1R5cGUpOwpAQCAtNTQsNiArNTQsMTEgQEAKICAgICAgICAgICAgIFB5X0lOQ1JFRihtb2R1bGUpOwogICAgICAgICAgICAgb3AtPmZ1bmNfbW9kdWxlID0gbW9kdWxlOwogICAgICAgICB9CisgICAgICAgIGlmIChxdWFsbmFtZSkKKyAgICAgICAgICAgIG9wLT5mdW5jX3F1YWxuYW1lID0gcXVhbG5hbWU7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIG9wLT5mdW5jX3F1YWxuYW1lID0gb3AtPmZ1bmNfbmFtZTsKKyAgICAgICAgUHlfSU5DUkVGKG9wLT5mdW5jX3F1YWxuYW1lKTsKICAgICB9CiAgICAgZWxzZQogICAgICAgICByZXR1cm4gTlVMTDsKQEAgLTYyLDYgKzY3LDEyIEBACiB9CiAKIFB5T2JqZWN0ICoKK1B5RnVuY3Rpb25fTmV3KFB5T2JqZWN0ICpjb2RlLCBQeU9iamVjdCAqZ2xvYmFscykKK3sKKyAgICByZXR1cm4gUHlGdW5jdGlvbl9OZXdXaXRoUXVhbE5hbWUoY29kZSwgZ2xvYmFscywgTlVMTCk7Cit9CisKK1B5T2JqZWN0ICoKIFB5RnVuY3Rpb25fR2V0Q29kZShQeU9iamVjdCAqb3ApCiB7CiAgICAgaWYgKCFQeUZ1bmN0aW9uX0NoZWNrKG9wKSkgewpAQCAtMjM0LDQyICsyNDUsNiBAQAogfTsKIAogc3RhdGljIFB5T2JqZWN0ICoKLWZ1bmNfZ2V0X2RpY3QoUHlGdW5jdGlvbk9iamVjdCAqb3ApCi17Ci0gICAgaWYgKG9wLT5mdW5jX2RpY3QgPT0gTlVMTCkgewotICAgICAgICBvcC0+ZnVuY19kaWN0ID0gUHlEaWN0X05ldygpOwotICAgICAgICBpZiAob3AtPmZ1bmNfZGljdCA9PSBOVUxMKQotICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgfQotICAgIFB5X0lOQ1JFRihvcC0+ZnVuY19kaWN0KTsKLSAgICByZXR1cm4gb3AtPmZ1bmNfZGljdDsKLX0KLQotc3RhdGljIGludAotZnVuY19zZXRfZGljdChQeUZ1bmN0aW9uT2JqZWN0ICpvcCwgUHlPYmplY3QgKnZhbHVlKQotewotICAgIFB5T2JqZWN0ICp0bXA7Ci0KLSAgICAvKiBJdCBpcyBpbGxlZ2FsIHRvIGRlbCBmLmZ1bmNfZGljdCAqLwotICAgIGlmICh2YWx1ZSA9PSBOVUxMKSB7Ci0gICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZnVuY3Rpb24ncyBkaWN0aW9uYXJ5IG1heSBub3QgYmUgZGVsZXRlZCIpOwotICAgICAgICByZXR1cm4gLTE7Ci0gICAgfQotICAgIC8qIENhbiBvbmx5IHNldCBmdW5jX2RpY3QgdG8gYSBkaWN0aW9uYXJ5ICovCi0gICAgaWYgKCFQeURpY3RfQ2hlY2sodmFsdWUpKSB7Ci0gICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAgICAic2V0dGluZyBmdW5jdGlvbidzIGRpY3Rpb25hcnkgdG8gYSBub24tZGljdCIpOwotICAgICAgICByZXR1cm4gLTE7Ci0gICAgfQotICAgIHRtcCA9IG9wLT5mdW5jX2RpY3Q7Ci0gICAgUHlfSU5DUkVGKHZhbHVlKTsKLSAgICBvcC0+ZnVuY19kaWN0ID0gdmFsdWU7Ci0gICAgUHlfWERFQ1JFRih0bXApOwotICAgIHJldHVybiAwOwotfQotCi1zdGF0aWMgUHlPYmplY3QgKgogZnVuY19nZXRfY29kZShQeUZ1bmN0aW9uT2JqZWN0ICpvcCkKIHsKICAgICBQeV9JTkNSRUYob3AtPmZ1bmNfY29kZSk7CkBAIC0zMzQsNiArMzA5LDMyIEBACiB9CiAKIHN0YXRpYyBQeU9iamVjdCAqCitmdW5jX2dldF9xdWFsbmFtZShQeUZ1bmN0aW9uT2JqZWN0ICpvcCkKK3sKKyAgICBQeV9JTkNSRUYob3AtPmZ1bmNfcXVhbG5hbWUpOworICAgIHJldHVybiBvcC0+ZnVuY19xdWFsbmFtZTsKK30KKworc3RhdGljIGludAorZnVuY19zZXRfcXVhbG5hbWUoUHlGdW5jdGlvbk9iamVjdCAqb3AsIFB5T2JqZWN0ICp2YWx1ZSkKK3sKKyAgICBQeU9iamVjdCAqdG1wOworCisgICAgLyogTm90IGxlZ2FsIHRvIGRlbCBmLl9fcXVhbG5hbWVfXyBvciB0byBzZXQgaXQgdG8gYW55dGhpbmcKKyAgICAgKiBvdGhlciB0aGFuIGEgc3RyaW5nIG9iamVjdC4gKi8KKyAgICBpZiAodmFsdWUgPT0gTlVMTCB8fCAhUHlVbmljb2RlX0NoZWNrKHZhbHVlKSkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgIl9fcXVhbG5hbWVfXyBtdXN0IGJlIHNldCB0byBhIHN0cmluZyBvYmplY3QiKTsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKyAgICB0bXAgPSBvcC0+ZnVuY19xdWFsbmFtZTsKKyAgICBQeV9JTkNSRUYodmFsdWUpOworICAgIG9wLT5mdW5jX3F1YWxuYW1lID0gdmFsdWU7CisgICAgUHlfREVDUkVGKHRtcCk7CisgICAgcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCiBmdW5jX2dldF9kZWZhdWx0cyhQeUZ1bmN0aW9uT2JqZWN0ICpvcCkKIHsKICAgICBpZiAob3AtPmZ1bmNfZGVmYXVsdHMgPT0gTlVMTCkgewpAQCAtNDM5LDggKzQ0MCw5IEBACiAgICAgIChzZXR0ZXIpZnVuY19zZXRfa3dkZWZhdWx0c30sCiAgICAgeyJfX2Fubm90YXRpb25zX18iLCAoZ2V0dGVyKWZ1bmNfZ2V0X2Fubm90YXRpb25zLAogICAgICAoc2V0dGVyKWZ1bmNfc2V0X2Fubm90YXRpb25zfSwKLSAgICB7Il9fZGljdF9fIiwgKGdldHRlcilmdW5jX2dldF9kaWN0LCAoc2V0dGVyKWZ1bmNfc2V0X2RpY3R9LAorICAgIHsiX19kaWN0X18iLCBQeU9iamVjdF9HZW5lcmljR2V0RGljdCwgUHlPYmplY3RfR2VuZXJpY1NldERpY3R9LAogICAgIHsiX19uYW1lX18iLCAoZ2V0dGVyKWZ1bmNfZ2V0X25hbWUsIChzZXR0ZXIpZnVuY19zZXRfbmFtZX0sCisgICAgeyJfX3F1YWxuYW1lX18iLCAoZ2V0dGVyKWZ1bmNfZ2V0X3F1YWxuYW1lLCAoc2V0dGVyKWZ1bmNfc2V0X3F1YWxuYW1lfSwKICAgICB7TlVMTH0gLyogU2VudGluZWwgKi8KIH07CiAKQEAgLTU2MSw2ICs1NjMsNyBAQAogICAgIFB5X1hERUNSRUYob3AtPmZ1bmNfZGljdCk7CiAgICAgUHlfWERFQ1JFRihvcC0+ZnVuY19jbG9zdXJlKTsKICAgICBQeV9YREVDUkVGKG9wLT5mdW5jX2Fubm90YXRpb25zKTsKKyAgICBQeV9YREVDUkVGKG9wLT5mdW5jX3F1YWxuYW1lKTsKICAgICBQeU9iamVjdF9HQ19EZWwob3ApOwogfQogCkBAIC01NjgsNyArNTcxLDcgQEAKIGZ1bmNfcmVwcihQeUZ1bmN0aW9uT2JqZWN0ICpvcCkKIHsKICAgICByZXR1cm4gUHlVbmljb2RlX0Zyb21Gb3JtYXQoIjxmdW5jdGlvbiAlVSBhdCAlcD4iLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wLT5mdW5jX25hbWUsIG9wKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcC0+ZnVuY19xdWFsbmFtZSwgb3ApOwogfQogCiBzdGF0aWMgaW50CkBAIC01ODQsNiArNTg3LDcgQEAKICAgICBQeV9WSVNJVChmLT5mdW5jX2RpY3QpOwogICAgIFB5X1ZJU0lUKGYtPmZ1bmNfY2xvc3VyZSk7CiAgICAgUHlfVklTSVQoZi0+ZnVuY19hbm5vdGF0aW9ucyk7CisgICAgUHlfVklTSVQoZi0+ZnVuY19xdWFsbmFtZSk7CiAgICAgcmV0dXJuIDA7CiB9CiAKQEAgLTY2Nyw4ICs2NzEsOCBAQAogICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfaGFzaCAqLwogICAgIGZ1bmN0aW9uX2NhbGwsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfY2FsbCAqLwogICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfc3RyICovCi0gICAgUHlPYmplY3RfR2VuZXJpY0dldEF0dHIsICAgICAgICAgICAgICAgICAgICAvKiB0cF9nZXRhdHRybyAqLwotICAgIFB5T2JqZWN0X0dlbmVyaWNTZXRBdHRyLCAgICAgICAgICAgICAgICAgICAgLyogdHBfc2V0YXR0cm8gKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2dldGF0dHJvICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9zZXRhdHRybyAqLwogICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfYXNfYnVmZmVyICovCiAgICAgUHlfVFBGTEFHU19ERUZBVUxUIHwgUHlfVFBGTEFHU19IQVZFX0dDLC8qIHRwX2ZsYWdzICovCiAgICAgZnVuY19kb2MsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9kb2MgKi8KQEAgLTcxNCw2ICs3MTgsNyBAQAogdHlwZWRlZiBzdHJ1Y3QgewogICAgIFB5T2JqZWN0X0hFQUQKICAgICBQeU9iamVjdCAqY21fY2FsbGFibGU7CisgICAgUHlPYmplY3QgKmNtX2RpY3Q7CiB9IGNsYXNzbWV0aG9kOwogCiBzdGF0aWMgdm9pZApAQCAtNzIxLDYgKzcyNiw3IEBACiB7CiAgICAgX1B5T2JqZWN0X0dDX1VOVFJBQ0soKFB5T2JqZWN0ICopY20pOwogICAgIFB5X1hERUNSRUYoY20tPmNtX2NhbGxhYmxlKTsKKyAgICBQeV9YREVDUkVGKGNtLT5jbV9kaWN0KTsKICAgICBQeV9UWVBFKGNtKS0+dHBfZnJlZSgoUHlPYmplY3QgKiljbSk7CiB9CiAKQEAgLTcyOCw2ICs3MzQsNyBAQAogY21fdHJhdmVyc2UoY2xhc3NtZXRob2QgKmNtLCB2aXNpdHByb2MgdmlzaXQsIHZvaWQgKmFyZykKIHsKICAgICBQeV9WSVNJVChjbS0+Y21fY2FsbGFibGUpOworICAgIFB5X1ZJU0lUKGNtLT5jbV9kaWN0KTsKICAgICByZXR1cm4gMDsKIH0KIApAQCAtNzM1LDYgKzc0Miw3IEBACiBjbV9jbGVhcihjbGFzc21ldGhvZCAqY20pCiB7CiAgICAgUHlfQ0xFQVIoY20tPmNtX2NhbGxhYmxlKTsKKyAgICBQeV9DTEVBUihjbS0+Y21fZGljdCk7CiAgICAgcmV0dXJuIDA7CiB9CiAKQEAgLTc3NCw2ICs3ODIsMjggQEAKICAgICB7TlVMTH0gIC8qIFNlbnRpbmVsICovCiB9OwogCitzdGF0aWMgUHlPYmplY3QgKgorY21fZ2V0X19faXNhYnN0cmFjdG1ldGhvZF9fKGNsYXNzbWV0aG9kICpjbSwgdm9pZCAqY2xvc3VyZSkKK3sKKyAgICBpbnQgcmVzID0gX1B5T2JqZWN0X0lzQWJzdHJhY3QoY20tPmNtX2NhbGxhYmxlKTsKKyAgICBpZiAocmVzID09IC0xKSB7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKyAgICBlbHNlIGlmIChyZXMpIHsKKyAgICAgICAgUHlfUkVUVVJOX1RSVUU7CisgICAgfQorICAgIFB5X1JFVFVSTl9GQUxTRTsKK30KKworc3RhdGljIFB5R2V0U2V0RGVmIGNtX2dldHNldGxpc3RbXSA9IHsKKyAgICB7Il9faXNhYnN0cmFjdG1ldGhvZF9fIiwKKyAgICAgKGdldHRlciljbV9nZXRfX19pc2Fic3RyYWN0bWV0aG9kX18sIE5VTEwsCisgICAgIE5VTEwsCisgICAgIE5VTEx9LAorICAgIHsiX19kaWN0X18iLCBQeU9iamVjdF9HZW5lcmljR2V0RGljdCwgUHlPYmplY3RfR2VuZXJpY1NldERpY3QsIE5VTEwsIE5VTEx9LAorICAgIHtOVUxMfSAvKiBTZW50aW5lbCAqLworfTsKKwogUHlEb2NfU1RSVkFSKGNsYXNzbWV0aG9kX2RvYywKICJjbGFzc21ldGhvZChmdW5jdGlvbikgLT4gbWV0aG9kXG5cCiBcblwKQEAgLTgxMiw3ICs4NDIsNyBAQAogICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfaGFzaCAqLwogICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfY2FsbCAqLwogICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfc3RyICovCi0gICAgUHlPYmplY3RfR2VuZXJpY0dldEF0dHIsICAgICAgICAgICAgICAgICAgICAvKiB0cF9nZXRhdHRybyAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfZ2V0YXR0cm8gKi8KICAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX3NldGF0dHJvICovCiAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9hc19idWZmZXIgKi8KICAgICBQeV9UUEZMQUdTX0RFRkFVTFQgfCBQeV9UUEZMQUdTX0JBU0VUWVBFIHwgUHlfVFBGTEFHU19IQVZFX0dDLApAQCAtODI1LDEyICs4NTUsMTIgQEAKICAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2l0ZXJuZXh0ICovCiAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9tZXRob2RzICovCiAgICAgY21fbWVtYmVybGlzdCwgICAgICAgICAgICAgIC8qIHRwX21lbWJlcnMgKi8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2dldHNldCAqLworICAgIGNtX2dldHNldGxpc3QsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfZ2V0c2V0ICovCiAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9iYXNlICovCiAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9kaWN0ICovCiAgICAgY21fZGVzY3JfZ2V0LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9kZXNjcl9nZXQgKi8KICAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2Rlc2NyX3NldCAqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfZGljdG9mZnNldCAqLworICAgIG9mZnNldG9mKGNsYXNzbWV0aG9kLCBjbV9kaWN0KSwgICAgICAgICAgICAgLyogdHBfZGljdG9mZnNldCAqLwogICAgIGNtX2luaXQsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfaW5pdCAqLwogICAgIFB5VHlwZV9HZW5lcmljQWxsb2MsICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfYWxsb2MgKi8KICAgICBQeVR5cGVfR2VuZXJpY05ldywgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX25ldyAqLwpAQCAtODY5LDYgKzg5OSw3IEBACiB0eXBlZGVmIHN0cnVjdCB7CiAgICAgUHlPYmplY3RfSEVBRAogICAgIFB5T2JqZWN0ICpzbV9jYWxsYWJsZTsKKyAgICBQeU9iamVjdCAqc21fZGljdDsKIH0gc3RhdGljbWV0aG9kOwogCiBzdGF0aWMgdm9pZApAQCAtODc2LDYgKzkwNyw3IEBACiB7CiAgICAgX1B5T2JqZWN0X0dDX1VOVFJBQ0soKFB5T2JqZWN0ICopc20pOwogICAgIFB5X1hERUNSRUYoc20tPnNtX2NhbGxhYmxlKTsKKyAgICBQeV9YREVDUkVGKHNtLT5zbV9kaWN0KTsKICAgICBQeV9UWVBFKHNtKS0+dHBfZnJlZSgoUHlPYmplY3QgKilzbSk7CiB9CiAKQEAgLTg4Myw2ICs5MTUsNyBAQAogc21fdHJhdmVyc2Uoc3RhdGljbWV0aG9kICpzbSwgdmlzaXRwcm9jIHZpc2l0LCB2b2lkICphcmcpCiB7CiAgICAgUHlfVklTSVQoc20tPnNtX2NhbGxhYmxlKTsKKyAgICBQeV9WSVNJVChzbS0+c21fZGljdCk7CiAgICAgcmV0dXJuIDA7CiB9CiAKQEAgLTg5MCw2ICs5MjMsNyBAQAogc21fY2xlYXIoc3RhdGljbWV0aG9kICpzbSkKIHsKICAgICBQeV9DTEVBUihzbS0+c21fY2FsbGFibGUpOworICAgIFB5X0NMRUFSKHNtLT5zbV9kaWN0KTsKICAgICByZXR1cm4gMDsKIH0KIApAQCAtOTI3LDYgKzk2MSwyOCBAQAogICAgIHtOVUxMfSAgLyogU2VudGluZWwgKi8KIH07CiAKK3N0YXRpYyBQeU9iamVjdCAqCitzbV9nZXRfX19pc2Fic3RyYWN0bWV0aG9kX18oc3RhdGljbWV0aG9kICpzbSwgdm9pZCAqY2xvc3VyZSkKK3sKKyAgICBpbnQgcmVzID0gX1B5T2JqZWN0X0lzQWJzdHJhY3Qoc20tPnNtX2NhbGxhYmxlKTsKKyAgICBpZiAocmVzID09IC0xKSB7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKyAgICBlbHNlIGlmIChyZXMpIHsKKyAgICAgICAgUHlfUkVUVVJOX1RSVUU7CisgICAgfQorICAgIFB5X1JFVFVSTl9GQUxTRTsKK30KKworc3RhdGljIFB5R2V0U2V0RGVmIHNtX2dldHNldGxpc3RbXSA9IHsKKyAgICB7Il9faXNhYnN0cmFjdG1ldGhvZF9fIiwKKyAgICAgKGdldHRlcilzbV9nZXRfX19pc2Fic3RyYWN0bWV0aG9kX18sIE5VTEwsCisgICAgIE5VTEwsCisgICAgIE5VTEx9LAorICAgIHsiX19kaWN0X18iLCBQeU9iamVjdF9HZW5lcmljR2V0RGljdCwgUHlPYmplY3RfR2VuZXJpY1NldERpY3QsIE5VTEwsIE5VTEx9LAorICAgIHtOVUxMfSAvKiBTZW50aW5lbCAqLworfTsKKwogUHlEb2NfU1RSVkFSKHN0YXRpY21ldGhvZF9kb2MsCiAic3RhdGljbWV0aG9kKGZ1bmN0aW9uKSAtPiBtZXRob2RcblwKIFxuXApAQCAtOTYyLDcgKzEwMTgsNyBAQAogICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfaGFzaCAqLwogICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfY2FsbCAqLwogICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfc3RyICovCi0gICAgUHlPYmplY3RfR2VuZXJpY0dldEF0dHIsICAgICAgICAgICAgICAgICAgICAvKiB0cF9nZXRhdHRybyAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfZ2V0YXR0cm8gKi8KICAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX3NldGF0dHJvICovCiAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9hc19idWZmZXIgKi8KICAgICBQeV9UUEZMQUdTX0RFRkFVTFQgfCBQeV9UUEZMQUdTX0JBU0VUWVBFIHwgUHlfVFBGTEFHU19IQVZFX0dDLApAQCAtOTc1LDEyICsxMDMxLDEyIEBACiAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9pdGVybmV4dCAqLwogICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfbWV0aG9kcyAqLwogICAgIHNtX21lbWJlcmxpc3QsICAgICAgICAgICAgICAvKiB0cF9tZW1iZXJzICovCi0gICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9nZXRzZXQgKi8KKyAgICBzbV9nZXRzZXRsaXN0LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2dldHNldCAqLwogICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfYmFzZSAqLwogICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfZGljdCAqLwogICAgIHNtX2Rlc2NyX2dldCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfZGVzY3JfZ2V0ICovCiAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9kZXNjcl9zZXQgKi8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2RpY3RvZmZzZXQgKi8KKyAgICBvZmZzZXRvZihzdGF0aWNtZXRob2QsIHNtX2RpY3QpLCAgICAgICAgICAgIC8qIHRwX2RpY3RvZmZzZXQgKi8KICAgICBzbV9pbml0LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2luaXQgKi8KICAgICBQeVR5cGVfR2VuZXJpY0FsbG9jLCAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2FsbG9jICovCiAgICAgUHlUeXBlX0dlbmVyaWNOZXcsICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9uZXcgKi8KZGlmZiAtLWdpdCBhL09iamVjdHMvZ2Vub2JqZWN0LmMgYi9PYmplY3RzL2dlbm9iamVjdC5jCmluZGV4IDQyNjA4ZWYuLjBmYzE0ZGIgMTAwNjQ0Ci0tLSBhL09iamVjdHMvZ2Vub2JqZWN0LmMKKysrIGIvT2JqZWN0cy9nZW5vYmplY3QuYwpAQCAtNSw2ICs1LDggQEAKICNpbmNsdWRlICJzdHJ1Y3RtZW1iZXIuaCIKICNpbmNsdWRlICJvcGNvZGUuaCIKIAorc3RhdGljIFB5T2JqZWN0ICpnZW5fY2xvc2UoUHlHZW5PYmplY3QgKmdlbiwgUHlPYmplY3QgKmFyZ3MpOworCiBzdGF0aWMgaW50CiBnZW5fdHJhdmVyc2UoUHlHZW5PYmplY3QgKmdlbiwgdmlzaXRwcm9jIHZpc2l0LCB2b2lkICphcmcpCiB7CkBAIC01MSw3ICs1Myw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAiZ2VuZXJhdG9yIGFscmVhZHkgZXhlY3V0aW5nIik7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KLSAgICBpZiAoZj09TlVMTCB8fCBmLT5mX3N0YWNrdG9wID09IE5VTEwpIHsKKyAgICBpZiAoZiA9PSBOVUxMIHx8IGYtPmZfc3RhY2t0b3AgPT0gTlVMTCkgewogICAgICAgICAvKiBPbmx5IHNldCBleGNlcHRpb24gaWYgY2FsbGVkIGZyb20gc2VuZCgpICovCiAgICAgICAgIGlmIChhcmcgJiYgIWV4YykKICAgICAgICAgICAgIFB5RXJyX1NldE5vbmUoUHlFeGNfU3RvcEl0ZXJhdGlvbik7CkBAIC05MCwxMiArOTIsMTggQEAKIAogICAgIC8qIElmIHRoZSBnZW5lcmF0b3IganVzdCByZXR1cm5lZCAoYXMgb3Bwb3NlZCB0byB5aWVsZGluZyksIHNpZ25hbAogICAgICAqIHRoYXQgdGhlIGdlbmVyYXRvciBpcyBleGhhdXN0ZWQuICovCi0gICAgaWYgKHJlc3VsdCA9PSBQeV9Ob25lICYmIGYtPmZfc3RhY2t0b3AgPT0gTlVMTCkgewotICAgICAgICBQeV9ERUNSRUYocmVzdWx0KTsKLSAgICAgICAgcmVzdWx0ID0gTlVMTDsKLSAgICAgICAgLyogU2V0IGV4Y2VwdGlvbiBpZiBub3QgY2FsbGVkIGJ5IGdlbl9pdGVybmV4dCgpICovCi0gICAgICAgIGlmIChhcmcpCisgICAgaWYgKHJlc3VsdCAmJiBmLT5mX3N0YWNrdG9wID09IE5VTEwpIHsKKyAgICAgICAgaWYgKHJlc3VsdCA9PSBQeV9Ob25lKSB7CisgICAgICAgICAgICAvKiBEZWxheSBleGNlcHRpb24gaW5zdGFudGlhdGlvbiBpZiB3ZSBjYW4gKi8KICAgICAgICAgICAgIFB5RXJyX1NldE5vbmUoUHlFeGNfU3RvcEl0ZXJhdGlvbik7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBQeU9iamVjdCAqZSA9IFB5U3RvcEl0ZXJhdGlvbl9DcmVhdGUocmVzdWx0KTsKKyAgICAgICAgICAgIGlmIChlICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICBQeUVycl9TZXRPYmplY3QoUHlFeGNfU3RvcEl0ZXJhdGlvbiwgZSk7CisgICAgICAgICAgICAgICAgUHlfREVDUkVGKGUpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIFB5X0NMRUFSKHJlc3VsdCk7CiAgICAgfQogCiAgICAgaWYgKCFyZXN1bHQgfHwgZi0+Zl9zdGFja3RvcCA9PSBOVUxMKSB7CkBAIC0xMTEsOCArMTE5LDggQEAKICAgICAgICAgUHlfWERFQ1JFRih0KTsKICAgICAgICAgUHlfWERFQ1JFRih2KTsKICAgICAgICAgUHlfWERFQ1JFRih0Yik7Ci0gICAgICAgIFB5X0RFQ1JFRihmKTsKICAgICAgICAgZ2VuLT5naV9mcmFtZSA9IE5VTEw7CisgICAgICAgIFB5X0RFQ1JFRihmKTsKICAgICB9CiAKICAgICByZXR1cm4gcmVzdWx0OwpAQCAtMTIyLDggKzEzMCw4IEBACiAic2VuZChhcmcpIC0+IHNlbmQgJ2FyZycgaW50byBnZW5lcmF0b3IsXG5cCiByZXR1cm4gbmV4dCB5aWVsZGVkIHZhbHVlIG9yIHJhaXNlIFN0b3BJdGVyYXRpb24uIik7CiAKLXN0YXRpYyBQeU9iamVjdCAqCi1nZW5fc2VuZChQeUdlbk9iamVjdCAqZ2VuLCBQeU9iamVjdCAqYXJnKQorUHlPYmplY3QgKgorX1B5R2VuX1NlbmQoUHlHZW5PYmplY3QgKmdlbiwgUHlPYmplY3QgKmFyZykKIHsKICAgICByZXR1cm4gZ2VuX3NlbmRfZXgoZ2VuLCBhcmcsIDApOwogfQpAQCAtMTMxLDExICsxMzksNzEgQEAKIFB5RG9jX1NUUlZBUihjbG9zZV9kb2MsCiAiY2xvc2UoYXJnKSAtPiByYWlzZSBHZW5lcmF0b3JFeGl0IGluc2lkZSBnZW5lcmF0b3IuIik7CiAKKy8qCisgKiAgIFRoaXMgaGVscGVyIGZ1bmN0aW9uIGlzIHVzZWQgYnkgZ2VuX2Nsb3NlIGFuZCBnZW5fdGhyb3cgdG8KKyAqICAgY2xvc2UgYSBzdWJpdGVyYXRvciBiZWluZyBkZWxlZ2F0ZWQgdG8gYnkgeWllbGQtZnJvbS4KKyAqLworCitzdGF0aWMgaW50CitnZW5fY2xvc2VfaXRlcihQeU9iamVjdCAqeWYpCit7CisgICAgUHlPYmplY3QgKnJldHZhbCA9IE5VTEw7CisKKyAgICBpZiAoUHlHZW5fQ2hlY2tFeGFjdCh5ZikpIHsKKyAgICAgICAgcmV0dmFsID0gZ2VuX2Nsb3NlKChQeUdlbk9iamVjdCAqKXlmLCBOVUxMKTsKKyAgICAgICAgaWYgKHJldHZhbCA9PSBOVUxMKQorICAgICAgICAgICAgcmV0dXJuIC0xOworICAgIH0gZWxzZSB7CisgICAgICAgIFB5T2JqZWN0ICptZXRoID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyh5ZiwgImNsb3NlIik7CisgICAgICAgIGlmIChtZXRoID09IE5VTEwpIHsKKyAgICAgICAgICAgIGlmICghUHlFcnJfRXhjZXB0aW9uTWF0Y2hlcyhQeUV4Y19BdHRyaWJ1dGVFcnJvcikpCisgICAgICAgICAgICAgICAgUHlFcnJfV3JpdGVVbnJhaXNhYmxlKHlmKTsKKyAgICAgICAgICAgIFB5RXJyX0NsZWFyKCk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICByZXR2YWwgPSBQeU9iamVjdF9DYWxsRnVuY3Rpb24obWV0aCwgIiIpOworICAgICAgICAgICAgUHlfREVDUkVGKG1ldGgpOworICAgICAgICAgICAgaWYgKHJldHZhbCA9PSBOVUxMKQorICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgfQorICAgIH0KKyAgICBQeV9YREVDUkVGKHJldHZhbCk7CisgICAgcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitnZW5feWYoUHlHZW5PYmplY3QgKmdlbikKK3sKKyAgICBQeU9iamVjdCAqeWYgPSBOVUxMOworICAgIFB5RnJhbWVPYmplY3QgKmYgPSBnZW4tPmdpX2ZyYW1lOworCisgICAgaWYgKGYpIHsKKyAgICAgICAgUHlPYmplY3QgKmJ5dGVjb2RlID0gZi0+Zl9jb2RlLT5jb19jb2RlOworICAgICAgICB1bnNpZ25lZCBjaGFyICpjb2RlID0gKHVuc2lnbmVkIGNoYXIgKilQeUJ5dGVzX0FTX1NUUklORyhieXRlY29kZSk7CisKKyAgICAgICAgaWYgKGNvZGVbZi0+Zl9sYXN0aSArIDFdICE9IFlJRUxEX0ZST00pCisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgeWYgPSBmLT5mX3N0YWNrdG9wWy0xXTsKKyAgICAgICAgUHlfSU5DUkVGKHlmKTsKKyAgICB9CisKKyAgICByZXR1cm4geWY7Cit9CisKIHN0YXRpYyBQeU9iamVjdCAqCiBnZW5fY2xvc2UoUHlHZW5PYmplY3QgKmdlbiwgUHlPYmplY3QgKmFyZ3MpCiB7CiAgICAgUHlPYmplY3QgKnJldHZhbDsKLSAgICBQeUVycl9TZXROb25lKFB5RXhjX0dlbmVyYXRvckV4aXQpOworICAgIFB5T2JqZWN0ICp5ZiA9IGdlbl95ZihnZW4pOworICAgIGludCBlcnIgPSAwOworCisgICAgaWYgKHlmKSB7CisgICAgICAgIGdlbi0+Z2lfcnVubmluZyA9IDE7CisgICAgICAgIGVyciA9IGdlbl9jbG9zZV9pdGVyKHlmKTsKKyAgICAgICAgZ2VuLT5naV9ydW5uaW5nID0gMDsKKyAgICAgICAgUHlfREVDUkVGKHlmKTsKKyAgICB9CisgICAgaWYgKGVyciA9PSAwKQorICAgICAgICBQeUVycl9TZXROb25lKFB5RXhjX0dlbmVyYXRvckV4aXQpOwogICAgIHJldHZhbCA9IGdlbl9zZW5kX2V4KGdlbiwgUHlfTm9uZSwgMSk7CiAgICAgaWYgKHJldHZhbCkgewogICAgICAgICBQeV9ERUNSRUYocmV0dmFsKTsKQEAgLTE0NCw4ICsyMTIsNyBAQAogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAgICAgaWYgKFB5RXJyX0V4Y2VwdGlvbk1hdGNoZXMoUHlFeGNfU3RvcEl0ZXJhdGlvbikKLSAgICAgICAgfHwgUHlFcnJfRXhjZXB0aW9uTWF0Y2hlcyhQeUV4Y19HZW5lcmF0b3JFeGl0KSkKLSAgICB7CisgICAgICAgIHx8IFB5RXJyX0V4Y2VwdGlvbk1hdGNoZXMoUHlFeGNfR2VuZXJhdG9yRXhpdCkpIHsKICAgICAgICAgUHlFcnJfQ2xlYXIoKTsgICAgICAgICAgLyogaWdub3JlIHRoZXNlIGVycm9ycyAqLwogICAgICAgICBQeV9JTkNSRUYoUHlfTm9uZSk7CiAgICAgICAgIHJldHVybiBQeV9Ob25lOwpAQCAtMTk2LDcgKzI2Myw3IEBACiAgICAgICAgIF9QeV9OZXdSZWZlcmVuY2Uoc2VsZik7CiAgICAgICAgIHNlbGYtPm9iX3JlZmNudCA9IHJlZmNudDsKICAgICB9Ci0gICAgYXNzZXJ0KFB5VHlwZV9JU19HQyhzZWxmLT5vYl90eXBlKSAmJgorICAgIGFzc2VydChQeVR5cGVfSVNfR0MoUHlfVFlQRShzZWxmKSkgJiYKICAgICAgICAgICAgX1B5X0FTX0dDKHNlbGYpLT5nYy5nY19yZWZzICE9IF9QeUdDX1JFRlNfVU5UUkFDS0VEKTsKIAogICAgIC8qIElmIFB5X1JFRl9ERUJVRywgX1B5X05ld1JlZmVyZW5jZSBidW1wZWQgX1B5X1JlZlRvdGFsLCBzbwpAQCAtMjA5LDggKzI3Niw4IEBACiAgICAgICogdW5kb25lLgogICAgICAqLwogI2lmZGVmIENPVU5UX0FMTE9DUwotICAgIC0tc2VsZi0+b2JfdHlwZS0+dHBfZnJlZXM7Ci0gICAgLS1zZWxmLT5vYl90eXBlLT50cF9hbGxvY3M7CisgICAgLS0oUHlfVFlQRShzZWxmKS0+dHBfZnJlZXMpOworICAgIC0tKFB5X1RZUEUoc2VsZiktPnRwX2FsbG9jcyk7CiAjZW5kaWYKIH0KIApAQCAtMjI2LDEwICsyOTMsNjMgQEAKICAgICBQeU9iamVjdCAqdHlwOwogICAgIFB5T2JqZWN0ICp0YiA9IE5VTEw7CiAgICAgUHlPYmplY3QgKnZhbCA9IE5VTEw7CisgICAgUHlPYmplY3QgKnlmID0gZ2VuX3lmKGdlbik7CiAKICAgICBpZiAoIVB5QXJnX1VucGFja1R1cGxlKGFyZ3MsICJ0aHJvdyIsIDEsIDMsICZ0eXAsICZ2YWwsICZ0YikpCiAgICAgICAgIHJldHVybiBOVUxMOwogCisgICAgaWYgKHlmKSB7CisgICAgICAgIFB5T2JqZWN0ICpyZXQ7CisgICAgICAgIGludCBlcnI7CisgICAgICAgIGlmIChQeUVycl9HaXZlbkV4Y2VwdGlvbk1hdGNoZXModHlwLCBQeUV4Y19HZW5lcmF0b3JFeGl0KSkgeworICAgICAgICAgICAgZ2VuLT5naV9ydW5uaW5nID0gMTsKKyAgICAgICAgICAgIGVyciA9IGdlbl9jbG9zZV9pdGVyKHlmKTsKKyAgICAgICAgICAgIGdlbi0+Z2lfcnVubmluZyA9IDA7CisgICAgICAgICAgICBQeV9ERUNSRUYoeWYpOworICAgICAgICAgICAgaWYgKGVyciA8IDApCisgICAgICAgICAgICAgICAgcmV0dXJuIGdlbl9zZW5kX2V4KGdlbiwgUHlfTm9uZSwgMSk7CisgICAgICAgICAgICBnb3RvIHRocm93X2hlcmU7CisgICAgICAgIH0KKyAgICAgICAgaWYgKFB5R2VuX0NoZWNrRXhhY3QoeWYpKSB7CisgICAgICAgICAgICBnZW4tPmdpX3J1bm5pbmcgPSAxOworICAgICAgICAgICAgcmV0ID0gZ2VuX3Rocm93KChQeUdlbk9iamVjdCAqKXlmLCBhcmdzKTsKKyAgICAgICAgICAgIGdlbi0+Z2lfcnVubmluZyA9IDA7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBQeU9iamVjdCAqbWV0aCA9IFB5T2JqZWN0X0dldEF0dHJTdHJpbmcoeWYsICJ0aHJvdyIpOworICAgICAgICAgICAgaWYgKG1ldGggPT0gTlVMTCkgeworICAgICAgICAgICAgICAgIGlmICghUHlFcnJfRXhjZXB0aW9uTWF0Y2hlcyhQeUV4Y19BdHRyaWJ1dGVFcnJvcikpIHsKKyAgICAgICAgICAgICAgICAgICAgUHlfREVDUkVGKHlmKTsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIFB5RXJyX0NsZWFyKCk7CisgICAgICAgICAgICAgICAgUHlfREVDUkVGKHlmKTsKKyAgICAgICAgICAgICAgICBnb3RvIHRocm93X2hlcmU7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBnZW4tPmdpX3J1bm5pbmcgPSAxOworICAgICAgICAgICAgcmV0ID0gUHlPYmplY3RfQ2FsbE9iamVjdChtZXRoLCBhcmdzKTsKKyAgICAgICAgICAgIGdlbi0+Z2lfcnVubmluZyA9IDA7CisgICAgICAgICAgICBQeV9ERUNSRUYobWV0aCk7CisgICAgICAgIH0KKyAgICAgICAgUHlfREVDUkVGKHlmKTsKKyAgICAgICAgaWYgKCFyZXQpIHsKKyAgICAgICAgICAgIFB5T2JqZWN0ICp2YWw7CisgICAgICAgICAgICAvKiBQb3Agc3ViaXRlcmF0b3IgZnJvbSBzdGFjayAqLworICAgICAgICAgICAgcmV0ID0gKigtLWdlbi0+Z2lfZnJhbWUtPmZfc3RhY2t0b3ApOworICAgICAgICAgICAgYXNzZXJ0KHJldCA9PSB5Zik7CisgICAgICAgICAgICBQeV9ERUNSRUYocmV0KTsKKyAgICAgICAgICAgIC8qIFRlcm1pbmF0aW9uIHJlcGV0aXRpb24gb2YgWUlFTERfRlJPTSAqLworICAgICAgICAgICAgZ2VuLT5naV9mcmFtZS0+Zl9sYXN0aSsrOworICAgICAgICAgICAgaWYgKFB5R2VuX0ZldGNoU3RvcEl0ZXJhdGlvblZhbHVlKCZ2YWwpID09IDApIHsKKyAgICAgICAgICAgICAgICByZXQgPSBnZW5fc2VuZF9leChnZW4sIHZhbCwgMCk7CisgICAgICAgICAgICAgICAgUHlfREVDUkVGKHZhbCk7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIHJldCA9IGdlbl9zZW5kX2V4KGdlbiwgUHlfTm9uZSwgMSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIHJldDsKKyAgICB9CisKK3Rocm93X2hlcmU6CiAgICAgLyogRmlyc3QsIGNoZWNrIHRoZSB0cmFjZWJhY2sgYXJndW1lbnQsIHJlcGxhY2luZyBOb25lIHdpdGgKICAgICAgICBOVUxMLiAqLwogICAgIGlmICh0YiA9PSBQeV9Ob25lKSB7CkBAIC0yNzIsNyArMzkyLDcgQEAKICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1R5cGVFcnJvciwKICAgICAgICAgICAgICAgICAgICAgICJleGNlcHRpb25zIG11c3QgYmUgY2xhc3NlcyBvciBpbnN0YW5jZXMgIgogICAgICAgICAgICAgICAgICAgICAgImRlcml2aW5nIGZyb20gQmFzZUV4Y2VwdGlvbiwgbm90ICVzIiwKLSAgICAgICAgICAgICAgICAgICAgIHR5cC0+b2JfdHlwZS0+dHBfbmFtZSk7CisgICAgICAgICAgICAgICAgICAgICBQeV9UWVBFKHR5cCktPnRwX25hbWUpOwogICAgICAgICAgICAgZ290byBmYWlsZWRfdGhyb3c7CiAgICAgfQogCkBAIC0yOTEsOSArNDExLDQ2IEBACiBzdGF0aWMgUHlPYmplY3QgKgogZ2VuX2l0ZXJuZXh0KFB5R2VuT2JqZWN0ICpnZW4pCiB7Ci0gICAgcmV0dXJuIGdlbl9zZW5kX2V4KGdlbiwgTlVMTCwgMCk7CisgICAgUHlPYmplY3QgKnZhbCA9IE5VTEw7CisgICAgUHlPYmplY3QgKnJldDsKKyAgICByZXQgPSBnZW5fc2VuZF9leChnZW4sIHZhbCwgMCk7CisgICAgUHlfWERFQ1JFRih2YWwpOworICAgIHJldHVybiByZXQ7CiB9CiAKKy8qCisgKiAgIElmIFN0b3BJdGVyYXRpb24gZXhjZXB0aW9uIGlzIHNldCwgZmV0Y2hlcyBpdHMgJ3ZhbHVlJworICogICBhdHRyaWJ1dGUgaWYgYW55LCBvdGhlcndpc2Ugc2V0cyBwdmFsdWUgdG8gTm9uZS4KKyAqCisgKiAgIFJldHVybnMgMCBpZiBubyBleGNlcHRpb24gb3IgU3RvcEl0ZXJhdGlvbiBpcyBzZXQuCisgKiAgIElmIGFueSBvdGhlciBleGNlcHRpb24gaXMgc2V0LCByZXR1cm5zIC0xIGFuZCBsZWF2ZXMKKyAqICAgcHZhbHVlIHVuY2hhbmdlZC4KKyAqLworCitpbnQKK1B5R2VuX0ZldGNoU3RvcEl0ZXJhdGlvblZhbHVlKFB5T2JqZWN0ICoqcHZhbHVlKSB7CisgICAgUHlPYmplY3QgKmV0LCAqZXYsICp0YjsKKyAgICBQeU9iamVjdCAqdmFsdWUgPSBOVUxMOworCisgICAgaWYgKFB5RXJyX0V4Y2VwdGlvbk1hdGNoZXMoUHlFeGNfU3RvcEl0ZXJhdGlvbikpIHsKKyAgICAgICAgUHlFcnJfRmV0Y2goJmV0LCAmZXYsICZ0Yik7CisgICAgICAgIFB5X1hERUNSRUYoZXQpOworICAgICAgICBQeV9YREVDUkVGKHRiKTsKKyAgICAgICAgaWYgKGV2KSB7CisgICAgICAgICAgICB2YWx1ZSA9ICgoUHlTdG9wSXRlcmF0aW9uT2JqZWN0ICopZXYpLT52YWx1ZTsKKyAgICAgICAgICAgIFB5X0lOQ1JFRih2YWx1ZSk7CisgICAgICAgICAgICBQeV9ERUNSRUYoZXYpOworICAgICAgICB9CisgICAgfSBlbHNlIGlmIChQeUVycl9PY2N1cnJlZCgpKSB7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisgICAgaWYgKHZhbHVlID09IE5VTEwpIHsKKyAgICAgICAgdmFsdWUgPSBQeV9Ob25lOworICAgICAgICBQeV9JTkNSRUYodmFsdWUpOworICAgIH0KKyAgICAqcHZhbHVlID0gdmFsdWU7CisgICAgcmV0dXJuIDA7Cit9CiAKIHN0YXRpYyBQeU9iamVjdCAqCiBnZW5fcmVwcihQeUdlbk9iamVjdCAqZ2VuKQpAQCAtMzI0LDEzICs0ODEsMTMgQEAKIAogc3RhdGljIFB5TWVtYmVyRGVmIGdlbl9tZW1iZXJsaXN0W10gPSB7CiAgICAgeyJnaV9mcmFtZSIsICAgICAgICBUX09CSkVDVCwgb2Zmc2V0b2YoUHlHZW5PYmplY3QsIGdpX2ZyYW1lKSwgICAgICBSRUFET05MWX0sCi0gICAgeyJnaV9ydW5uaW5nIiwgICAgICBUX0lOVCwgICAgb2Zmc2V0b2YoUHlHZW5PYmplY3QsIGdpX3J1bm5pbmcpLCAgICBSRUFET05MWX0sCisgICAgeyJnaV9ydW5uaW5nIiwgICAgICBUX0JPT0wsICAgIG9mZnNldG9mKFB5R2VuT2JqZWN0LCBnaV9ydW5uaW5nKSwgICAgUkVBRE9OTFl9LAogICAgIHsiZ2lfY29kZSIsICAgICBUX09CSkVDVCwgb2Zmc2V0b2YoUHlHZW5PYmplY3QsIGdpX2NvZGUpLCAgUkVBRE9OTFl9LAogICAgIHtOVUxMfSAgICAgIC8qIFNlbnRpbmVsICovCiB9OwogCiBzdGF0aWMgUHlNZXRob2REZWYgZ2VuX21ldGhvZHNbXSA9IHsKLSAgICB7InNlbmQiLChQeUNGdW5jdGlvbilnZW5fc2VuZCwgTUVUSF9PLCBzZW5kX2RvY30sCisgICAgeyJzZW5kIiwoUHlDRnVuY3Rpb24pX1B5R2VuX1NlbmQsIE1FVEhfTywgc2VuZF9kb2N9LAogICAgIHsidGhyb3ciLChQeUNGdW5jdGlvbilnZW5fdGhyb3csIE1FVEhfVkFSQVJHUywgdGhyb3dfZG9jfSwKICAgICB7ImNsb3NlIiwoUHlDRnVuY3Rpb24pZ2VuX2Nsb3NlLCBNRVRIX05PQVJHUywgY2xvc2VfZG9jfSwKICAgICB7TlVMTCwgTlVMTH0gICAgICAgIC8qIFNlbnRpbmVsICovCkBAIC00MTAsMTUgKzU2NywxMyBAQAogICAgIGludCBpOwogICAgIFB5RnJhbWVPYmplY3QgKmYgPSBnZW4tPmdpX2ZyYW1lOwogCi0gICAgaWYgKGYgPT0gTlVMTCB8fCBmLT5mX3N0YWNrdG9wID09IE5VTEwgfHwgZi0+Zl9pYmxvY2sgPD0gMCkKKyAgICBpZiAoZiA9PSBOVUxMIHx8IGYtPmZfc3RhY2t0b3AgPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIDA7IC8qIG5vIGZyYW1lIG9yIGVtcHR5IGJsb2Nrc3RhY2sgPT0gbm8gZmluYWxpemF0aW9uICovCiAKICAgICAvKiBBbnkgYmxvY2sgdHlwZSBiZXNpZGVzIGEgbG9vcCByZXF1aXJlcyBjbGVhbnVwLiAqLwotICAgIGkgPSBmLT5mX2libG9jazsKLSAgICB3aGlsZSAoLS1pID49IDApIHsKKyAgICBmb3IgKGkgPSAwOyBpIDwgZi0+Zl9pYmxvY2s7IGkrKykKICAgICAgICAgaWYgKGYtPmZfYmxvY2tzdGFja1tpXS5iX3R5cGUgIT0gU0VUVVBfTE9PUCkKICAgICAgICAgICAgIHJldHVybiAxOwotICAgIH0KIAogICAgIC8qIE5vIGJsb2NrcyBleGNlcHQgbG9vcHMsIGl0J3Mgc2FmZSB0byBza2lwIGZpbmFsaXphdGlvbi4gKi8KICAgICByZXR1cm4gMDsKZGlmZiAtLWdpdCBhL09iamVjdHMvbGlzdG9iamVjdC5jIGIvT2JqZWN0cy9saXN0b2JqZWN0LmMKaW5kZXggMDBkZTU5Ny4uNmYxZWRjNSAxMDA2NDQKLS0tIGEvT2JqZWN0cy9saXN0b2JqZWN0LmMKKysrIGIvT2JqZWN0cy9saXN0b2JqZWN0LmMKQEAgLTk3LDE2ICs5NywyMyBAQAogc3RhdGljIFB5TGlzdE9iamVjdCAqZnJlZV9saXN0W1B5TGlzdF9NQVhGUkVFTElTVF07CiBzdGF0aWMgaW50IG51bWZyZWUgPSAwOwogCi12b2lkCi1QeUxpc3RfRmluaSh2b2lkKQoraW50CitQeUxpc3RfQ2xlYXJGcmVlTGlzdCh2b2lkKQogewogICAgIFB5TGlzdE9iamVjdCAqb3A7Ci0KKyAgICBpbnQgcmV0ID0gbnVtZnJlZTsKICAgICB3aGlsZSAobnVtZnJlZSkgewogICAgICAgICBvcCA9IGZyZWVfbGlzdFstLW51bWZyZWVdOwogICAgICAgICBhc3NlcnQoUHlMaXN0X0NoZWNrRXhhY3Qob3ApKTsKICAgICAgICAgUHlPYmplY3RfR0NfRGVsKG9wKTsKICAgICB9CisgICAgcmV0dXJuIHJldDsKK30KKwordm9pZAorUHlMaXN0X0Zpbmkodm9pZCkKK3sKKyAgICBQeUxpc3RfQ2xlYXJGcmVlTGlzdCgpOwogfQogCiBQeU9iamVjdCAqCkBAIC03MzYsNiArNzQzLDE5IEBACiB9CiAKIHN0YXRpYyBQeU9iamVjdCAqCitsaXN0Y2xlYXIoUHlMaXN0T2JqZWN0ICpzZWxmKQoreworICAgIGxpc3RfY2xlYXIoc2VsZik7CisgICAgUHlfUkVUVVJOX05PTkU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitsaXN0Y29weShQeUxpc3RPYmplY3QgKnNlbGYpCit7CisgICAgcmV0dXJuIGxpc3Rfc2xpY2Uoc2VsZiwgMCwgUHlfU0laRShzZWxmKSk7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCiBsaXN0YXBwZW5kKFB5TGlzdE9iamVjdCAqc2VsZiwgUHlPYmplY3QgKnYpCiB7CiAgICAgaWYgKGFwcDEoc2VsZiwgdikgPT0gMCkKQEAgLTIxMDgsOCArMjEyOCw3IEBACiBsaXN0aW5kZXgoUHlMaXN0T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKIHsKICAgICBQeV9zc2l6ZV90IGksIHN0YXJ0PTAsIHN0b3A9UHlfU0laRShzZWxmKTsKLSAgICBQeU9iamVjdCAqdiwgKmZvcm1hdF90dXBsZSwgKmVycl9zdHJpbmc7Ci0gICAgc3RhdGljIFB5T2JqZWN0ICplcnJfZm9ybWF0ID0gTlVMTDsKKyAgICBQeU9iamVjdCAqdjsKIAogICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiT3xPJk8mOmluZGV4IiwgJnYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9QeUV2YWxfU2xpY2VJbmRleCwgJnN0YXJ0LApAQCAtMjEzMiwyMCArMjE1MSw3IEBACiAgICAgICAgIGVsc2UgaWYgKGNtcCA8IDApCiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9Ci0gICAgaWYgKGVycl9mb3JtYXQgPT0gTlVMTCkgewotICAgICAgICBlcnJfZm9ybWF0ID0gUHlVbmljb2RlX0Zyb21TdHJpbmcoIiVyIGlzIG5vdCBpbiBsaXN0Iik7Ci0gICAgICAgIGlmIChlcnJfZm9ybWF0ID09IE5VTEwpCi0gICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICB9Ci0gICAgZm9ybWF0X3R1cGxlID0gUHlUdXBsZV9QYWNrKDEsIHYpOwotICAgIGlmIChmb3JtYXRfdHVwbGUgPT0gTlVMTCkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgZXJyX3N0cmluZyA9IFB5VW5pY29kZV9Gb3JtYXQoZXJyX2Zvcm1hdCwgZm9ybWF0X3R1cGxlKTsKLSAgICBQeV9ERUNSRUYoZm9ybWF0X3R1cGxlKTsKLSAgICBpZiAoZXJyX3N0cmluZyA9PSBOVUxMKQotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBQeUVycl9TZXRPYmplY3QoUHlFeGNfVmFsdWVFcnJvciwgZXJyX3N0cmluZyk7Ci0gICAgUHlfREVDUkVGKGVycl9zdHJpbmcpOworICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19WYWx1ZUVycm9yLCAiJVIgaXMgbm90IGluIGxpc3QiLCB2KTsKICAgICByZXR1cm4gTlVMTDsKIH0KIApAQCAtMjIwMSwxMCArMjIwNyw4IEBACiAgICAgUHlMaXN0T2JqZWN0ICp2bCwgKndsOwogICAgIFB5X3NzaXplX3QgaTsKIAotICAgIGlmICghUHlMaXN0X0NoZWNrKHYpIHx8ICFQeUxpc3RfQ2hlY2sodykpIHsKLSAgICAgICAgUHlfSU5DUkVGKFB5X05vdEltcGxlbWVudGVkKTsKLSAgICAgICAgcmV0dXJuIFB5X05vdEltcGxlbWVudGVkOwotICAgIH0KKyAgICBpZiAoIVB5TGlzdF9DaGVjayh2KSB8fCAhUHlMaXN0X0NoZWNrKHcpKQorICAgICAgICBQeV9SRVRVUk5fTk9USU1QTEVNRU5URUQ7CiAKICAgICB2bCA9IChQeUxpc3RPYmplY3QgKil2OwogICAgIHdsID0gKFB5TGlzdE9iamVjdCAqKXc7CkBAIC0yMzEzLDE3ICsyMzE3LDIxIEBACiAiTC5fX3JldmVyc2VkX18oKSAtLSByZXR1cm4gYSByZXZlcnNlIGl0ZXJhdG9yIG92ZXIgdGhlIGxpc3QiKTsKIFB5RG9jX1NUUlZBUihzaXplb2ZfZG9jLAogIkwuX19zaXplb2ZfXygpIC0tIHNpemUgb2YgTCBpbiBtZW1vcnksIGluIGJ5dGVzIik7CitQeURvY19TVFJWQVIoY2xlYXJfZG9jLAorIkwuY2xlYXIoKSAtPiBOb25lIC0tIHJlbW92ZSBhbGwgaXRlbXMgZnJvbSBMIik7CitQeURvY19TVFJWQVIoY29weV9kb2MsCisiTC5jb3B5KCkgLT4gbGlzdCAtLSBhIHNoYWxsb3cgY29weSBvZiBMIik7CiBQeURvY19TVFJWQVIoYXBwZW5kX2RvYywKLSJMLmFwcGVuZChvYmplY3QpIC0tIGFwcGVuZCBvYmplY3QgdG8gZW5kIik7CisiTC5hcHBlbmQob2JqZWN0KSAtPiBOb25lIC0tIGFwcGVuZCBvYmplY3QgdG8gZW5kIik7CiBQeURvY19TVFJWQVIoZXh0ZW5kX2RvYywKLSJMLmV4dGVuZChpdGVyYWJsZSkgLS0gZXh0ZW5kIGxpc3QgYnkgYXBwZW5kaW5nIGVsZW1lbnRzIGZyb20gdGhlIGl0ZXJhYmxlIik7CisiTC5leHRlbmQoaXRlcmFibGUpIC0+IE5vbmUgLS0gZXh0ZW5kIGxpc3QgYnkgYXBwZW5kaW5nIGVsZW1lbnRzIGZyb20gdGhlIGl0ZXJhYmxlIik7CiBQeURvY19TVFJWQVIoaW5zZXJ0X2RvYywKICJMLmluc2VydChpbmRleCwgb2JqZWN0KSAtLSBpbnNlcnQgb2JqZWN0IGJlZm9yZSBpbmRleCIpOwogUHlEb2NfU1RSVkFSKHBvcF9kb2MsCiAiTC5wb3AoW2luZGV4XSkgLT4gaXRlbSAtLSByZW1vdmUgYW5kIHJldHVybiBpdGVtIGF0IGluZGV4IChkZWZhdWx0IGxhc3QpLlxuIgogIlJhaXNlcyBJbmRleEVycm9yIGlmIGxpc3QgaXMgZW1wdHkgb3IgaW5kZXggaXMgb3V0IG9mIHJhbmdlLiIpOwogUHlEb2NfU1RSVkFSKHJlbW92ZV9kb2MsCi0iTC5yZW1vdmUodmFsdWUpIC0tIHJlbW92ZSBmaXJzdCBvY2N1cnJlbmNlIG9mIHZhbHVlLlxuIgorIkwucmVtb3ZlKHZhbHVlKSAtPiBOb25lIC0tIHJlbW92ZSBmaXJzdCBvY2N1cnJlbmNlIG9mIHZhbHVlLlxuIgogIlJhaXNlcyBWYWx1ZUVycm9yIGlmIHRoZSB2YWx1ZSBpcyBub3QgcHJlc2VudC4iKTsKIFB5RG9jX1NUUlZBUihpbmRleF9kb2MsCiAiTC5pbmRleCh2YWx1ZSwgW3N0YXJ0LCBbc3RvcF1dKSAtPiBpbnRlZ2VyIC0tIHJldHVybiBmaXJzdCBpbmRleCBvZiB2YWx1ZS5cbiIKQEAgLTIzMzMsNyArMjM0MSw3IEBACiBQeURvY19TVFJWQVIocmV2ZXJzZV9kb2MsCiAiTC5yZXZlcnNlKCkgLS0gcmV2ZXJzZSAqSU4gUExBQ0UqIik7CiBQeURvY19TVFJWQVIoc29ydF9kb2MsCi0iTC5zb3J0KGtleT1Ob25lLCByZXZlcnNlPUZhbHNlKSAtLSBzdGFibGUgc29ydCAqSU4gUExBQ0UqIik7CisiTC5zb3J0KGtleT1Ob25lLCByZXZlcnNlPUZhbHNlKSAtPiBOb25lIC0tIHN0YWJsZSBzb3J0ICpJTiBQTEFDRSoiKTsKIAogc3RhdGljIFB5T2JqZWN0ICpsaXN0X3N1YnNjcmlwdChQeUxpc3RPYmplY3QqLCBQeU9iamVjdCopOwogCkBAIC0yMzQxLDkgKzIzNDksMTEgQEAKICAgICB7Il9fZ2V0aXRlbV9fIiwgKFB5Q0Z1bmN0aW9uKWxpc3Rfc3Vic2NyaXB0LCBNRVRIX098TUVUSF9DT0VYSVNULCBnZXRpdGVtX2RvY30sCiAgICAgeyJfX3JldmVyc2VkX18iLChQeUNGdW5jdGlvbilsaXN0X3JldmVyc2VkLCBNRVRIX05PQVJHUywgcmV2ZXJzZWRfZG9jfSwKICAgICB7Il9fc2l6ZW9mX18iLCAgKFB5Q0Z1bmN0aW9uKWxpc3Rfc2l6ZW9mLCBNRVRIX05PQVJHUywgc2l6ZW9mX2RvY30sCisgICAgeyJjbGVhciIsICAgICAgICAgICAoUHlDRnVuY3Rpb24pbGlzdGNsZWFyLCAgIE1FVEhfTk9BUkdTLCBjbGVhcl9kb2N9LAorICAgIHsiY29weSIsICAgICAgICAgICAgKFB5Q0Z1bmN0aW9uKWxpc3Rjb3B5LCAgIE1FVEhfTk9BUkdTLCBjb3B5X2RvY30sCiAgICAgeyJhcHBlbmQiLCAgICAgICAgICAoUHlDRnVuY3Rpb24pbGlzdGFwcGVuZCwgIE1FVEhfTywgYXBwZW5kX2RvY30sCiAgICAgeyJpbnNlcnQiLCAgICAgICAgICAoUHlDRnVuY3Rpb24pbGlzdGluc2VydCwgIE1FVEhfVkFSQVJHUywgaW5zZXJ0X2RvY30sCi0gICAgeyJleHRlbmQiLCAgICAgIChQeUNGdW5jdGlvbilsaXN0ZXh0ZW5kLCAgTUVUSF9PLCBleHRlbmRfZG9jfSwKKyAgICB7ImV4dGVuZCIsICAgICAgICAgIChQeUNGdW5jdGlvbilsaXN0ZXh0ZW5kLCAgTUVUSF9PLCBleHRlbmRfZG9jfSwKICAgICB7InBvcCIsICAgICAgICAgICAgIChQeUNGdW5jdGlvbilsaXN0cG9wLCAgICAgTUVUSF9WQVJBUkdTLCBwb3BfZG9jfSwKICAgICB7InJlbW92ZSIsICAgICAgICAgIChQeUNGdW5jdGlvbilsaXN0cmVtb3ZlLCAgTUVUSF9PLCByZW1vdmVfZG9jfSwKICAgICB7ImluZGV4IiwgICAgICAgICAgIChQeUNGdW5jdGlvbilsaXN0aW5kZXgsICAgTUVUSF9WQVJBUkdTLCBpbmRleF9kb2N9LApAQCAtMjQwNiw3ICsyNDE2LDcgQEAKICAgICAgICAgICAgIHNyYyA9IHNlbGYtPm9iX2l0ZW07CiAgICAgICAgICAgICBkZXN0ID0gKChQeUxpc3RPYmplY3QgKilyZXN1bHQpLT5vYl9pdGVtOwogICAgICAgICAgICAgZm9yIChjdXIgPSBzdGFydCwgaSA9IDA7IGkgPCBzbGljZWxlbmd0aDsKLSAgICAgICAgICAgICAgICAgY3VyICs9IHN0ZXAsIGkrKykgeworICAgICAgICAgICAgICAgICBjdXIgKz0gKHNpemVfdClzdGVwLCBpKyspIHsKICAgICAgICAgICAgICAgICBpdCA9IHNyY1tjdXJdOwogICAgICAgICAgICAgICAgIFB5X0lOQ1JFRihpdCk7CiAgICAgICAgICAgICAgICAgZGVzdFtpXSA9IGl0OwpAQCAtMjQ5Nyw3ICsyNTA3LDcgQEAKICAgICAgICAgICAgICAgICAgICAgc2VsZi0+b2JfaXRlbSArIGN1ciArIDEsCiAgICAgICAgICAgICAgICAgICAgIGxpbSAqIHNpemVvZihQeU9iamVjdCAqKSk7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBjdXIgPSBzdGFydCArIHNsaWNlbGVuZ3RoKnN0ZXA7CisgICAgICAgICAgICBjdXIgPSBzdGFydCArIChzaXplX3Qpc2xpY2VsZW5ndGggKiBzdGVwOwogICAgICAgICAgICAgaWYgKGN1ciA8IChzaXplX3QpUHlfU0laRShzZWxmKSkgewogICAgICAgICAgICAgICAgIG1lbW1vdmUoc2VsZi0+b2JfaXRlbSArIGN1ciAtIHNsaWNlbGVuZ3RoLAogICAgICAgICAgICAgICAgICAgICBzZWxmLT5vYl9pdGVtICsgY3VyLApAQCAtMjU2MSw3ICsyNTcxLDcgQEAKICAgICAgICAgICAgIHNlbGZpdGVtcyA9IHNlbGYtPm9iX2l0ZW07CiAgICAgICAgICAgICBzZXFpdGVtcyA9IFB5U2VxdWVuY2VfRmFzdF9JVEVNUyhzZXEpOwogICAgICAgICAgICAgZm9yIChjdXIgPSBzdGFydCwgaSA9IDA7IGkgPCBzbGljZWxlbmd0aDsKLSAgICAgICAgICAgICAgICAgY3VyICs9IHN0ZXAsIGkrKykgeworICAgICAgICAgICAgICAgICBjdXIgKz0gKHNpemVfdClzdGVwLCBpKyspIHsKICAgICAgICAgICAgICAgICBnYXJiYWdlW2ldID0gc2VsZml0ZW1zW2N1cl07CiAgICAgICAgICAgICAgICAgaW5zID0gc2VxaXRlbXNbaV07CiAgICAgICAgICAgICAgICAgUHlfSU5DUkVGKGlucyk7CmRpZmYgLS1naXQgYS9PYmplY3RzL2xvbmdvYmplY3QuYyBiL09iamVjdHMvbG9uZ29iamVjdC5jCmluZGV4IGEwYjE2YTYuLmFiNDlmMjggMTAwNjQ0Ci0tLSBhL09iamVjdHMvbG9uZ29iamVjdC5jCisrKyBiL09iamVjdHMvbG9uZ29iamVjdC5jCkBAIC0zMjIsOCArMzIyLDE1IEBACiAjZGVmaW5lIFBZX0FCU19MT05HX01JTiAgICAgICAgICgwLSh1bnNpZ25lZCBsb25nKUxPTkdfTUlOKQogI2RlZmluZSBQWV9BQlNfU1NJWkVfVF9NSU4gICAgICAoMC0oc2l6ZV90KVBZX1NTSVpFX1RfTUlOKQogCi0vKiBHZXQgYSBDIGxvbmcgaW50IGZyb20gYSBsb25nIGludCBvYmplY3QuCi0gICBSZXR1cm5zIC0xIGFuZCBzZXRzIGFuIGVycm9yIGNvbmRpdGlvbiBpZiBvdmVyZmxvdyBvY2N1cnMuICovCisvKiBHZXQgYSBDIGxvbmcgaW50IGZyb20gYSBsb25nIGludCBvYmplY3Qgb3IgYW55IG9iamVjdCB0aGF0IGhhcyBhbiBfX2ludF9fCisgICBtZXRob2QuCisKKyAgIE9uIG92ZXJmbG93LCByZXR1cm4gLTEgYW5kIHNldCAqb3ZlcmZsb3cgdG8gMSBvciAtMSBkZXBlbmRpbmcgb24gdGhlIHNpZ24gb2YKKyAgIHRoZSByZXN1bHQuICBPdGhlcndpc2UgKm92ZXJmbG93IGlzIDAuCisKKyAgIEZvciBvdGhlciBlcnJvcnMgKGUuZy4sIFR5cGVFcnJvciksIHJldHVybiAtMSBhbmQgc2V0IGFuIGVycm9yIGNvbmRpdGlvbi4KKyAgIEluIHRoaXMgY2FzZSAqb3ZlcmZsb3cgd2lsbCBiZSAwLgorKi8KIAogbG9uZwogUHlMb25nX0FzTG9uZ0FuZE92ZXJmbG93KFB5T2JqZWN0ICp2diwgaW50ICpvdmVyZmxvdykKQEAgLTQxMiw2ICs0MTksOSBAQAogICAgIHJldHVybiByZXM7CiB9CiAKKy8qIEdldCBhIEMgbG9uZyBpbnQgZnJvbSBhIGxvbmcgaW50IG9iamVjdCBvciBhbnkgb2JqZWN0IHRoYXQgaGFzIGFuIF9faW50X18KKyAgIG1ldGhvZC4gIFJldHVybiAtMSBhbmQgc2V0IGFuIGVycm9yIGlmIG92ZXJmbG93IG9jY3Vycy4gKi8KKwogbG9uZwogUHlMb25nX0FzTG9uZyhQeU9iamVjdCAqb2JqKQogewpAQCAtOTIzLDcgKzkzMyw3IEBACiAKIH0KIAotLyogQ3JlYXRlIGEgbmV3IGxvbmcgKG9yIGludCkgb2JqZWN0IGZyb20gYSBDIHBvaW50ZXIgKi8KKy8qIENyZWF0ZSBhIG5ldyBsb25nIGludCBvYmplY3QgZnJvbSBhIEMgcG9pbnRlciAqLwogCiBQeU9iamVjdCAqCiBQeUxvbmdfRnJvbVZvaWRQdHIodm9pZCAqcCkKQEAgLTk0MSwxNSArOTUxLDExIEBACiAKIH0KIAotLyogR2V0IGEgQyBwb2ludGVyIGZyb20gYSBsb25nIG9iamVjdCAob3IgYW4gaW50IG9iamVjdCBpbiBzb21lIGNhc2VzKSAqLworLyogR2V0IGEgQyBwb2ludGVyIGZyb20gYSBsb25nIGludCBvYmplY3QuICovCiAKIHZvaWQgKgogUHlMb25nX0FzVm9pZFB0cihQeU9iamVjdCAqdnYpCiB7Ci0gICAgLyogVGhpcyBmdW5jdGlvbiB3aWxsIGFsbG93IGludCBvciBsb25nIG9iamVjdHMuIElmIHZ2IGlzIG5laXRoZXIsCi0gICAgICAgdGhlbiB0aGUgUHlMb25nX0FzTG9uZyooKSBmdW5jdGlvbnMgd2lsbCByYWlzZSB0aGUgZXhjZXB0aW9uOgotICAgICAgIFB5RXhjX1N5c3RlbUVycm9yLCAiYmFkIGFyZ3VtZW50IHRvIGludGVybmFsIGZ1bmN0aW9uIgotICAgICovCiAjaWYgU0laRU9GX1ZPSURfUCA8PSBTSVpFT0ZfTE9ORwogICAgIGxvbmcgeDsKIApAQCAtMTEzMCw4ICsxMTM2LDggQEAKICAgICByZXR1cm4gKFB5T2JqZWN0ICopdjsKIH0KIAotLyogR2V0IGEgQyBQWV9MT05HX0xPTkcgaW50IGZyb20gYSBsb25nIGludCBvYmplY3QuCi0gICBSZXR1cm4gLTEgYW5kIHNldCBhbiBlcnJvciBpZiBvdmVyZmxvdyBvY2N1cnMuICovCisvKiBHZXQgYSBDIGxvbmcgbG9uZyBpbnQgZnJvbSBhIGxvbmcgaW50IG9iamVjdCBvciBhbnkgb2JqZWN0IHRoYXQgaGFzIGFuCisgICBfX2ludF9fIG1ldGhvZC4gIFJldHVybiAtMSBhbmQgc2V0IGFuIGVycm9yIGlmIG92ZXJmbG93IG9jY3Vycy4gKi8KIAogUFlfTE9OR19MT05HCiBQeUxvbmdfQXNMb25nTG9uZyhQeU9iamVjdCAqdnYpCkBAIC0xMTkzLDEwICsxMTk5LDE0IEBACiAgICAgaW50IG9uZSA9IDE7CiAgICAgaW50IHJlczsKIAotICAgIGlmICh2diA9PSBOVUxMIHx8ICFQeUxvbmdfQ2hlY2sodnYpKSB7CisgICAgaWYgKHZ2ID09IE5VTEwpIHsKICAgICAgICAgUHlFcnJfQmFkSW50ZXJuYWxDYWxsKCk7CiAgICAgICAgIHJldHVybiAodW5zaWduZWQgUFlfTE9OR19MT05HKS0xOwogICAgIH0KKyAgICBpZiAoIVB5TG9uZ19DaGVjayh2dikpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgImFuIGludGVnZXIgaXMgcmVxdWlyZWQiKTsKKyAgICAgICAgcmV0dXJuICh1bnNpZ25lZCBQWV9MT05HX0xPTkcpLTE7CisgICAgfQogCiAgICAgdiA9IChQeUxvbmdPYmplY3QqKXZ2OwogICAgIHN3aXRjaChQeV9TSVpFKHYpKSB7CkBAIC0xMjgzLDEyICsxMjkzLDE0IEBACiB9CiAjdW5kZWYgSVNfTElUVExFX0VORElBTgogCi0vKiBHZXQgYSBDIGxvbmcgbG9uZyBpbnQgZnJvbSBhIFB5dGhvbiBsb25nIG9yIFB5dGhvbiBpbnQgb2JqZWN0LgotICAgT24gb3ZlcmZsb3csIHJldHVybnMgLTEgYW5kIHNldHMgKm92ZXJmbG93IHRvIDEgb3IgLTEgZGVwZW5kaW5nCi0gICBvbiB0aGUgc2lnbiBvZiB0aGUgcmVzdWx0LiAgT3RoZXJ3aXNlICpvdmVyZmxvdyBpcyAwLgorLyogR2V0IGEgQyBsb25nIGxvbmcgaW50IGZyb20gYSBsb25nIGludCBvYmplY3Qgb3IgYW55IG9iamVjdCB0aGF0IGhhcyBhbgorICAgX19pbnRfXyBtZXRob2QuCiAKLSAgIEZvciBvdGhlciBlcnJvcnMgKGUuZy4sIHR5cGUgZXJyb3IpLCByZXR1cm5zIC0xIGFuZCBzZXRzIGFuIGVycm9yCi0gICBjb25kaXRpb24uCisgICBPbiBvdmVyZmxvdywgcmV0dXJuIC0xIGFuZCBzZXQgKm92ZXJmbG93IHRvIDEgb3IgLTEgZGVwZW5kaW5nIG9uIHRoZSBzaWduIG9mCisgICB0aGUgcmVzdWx0LiAgT3RoZXJ3aXNlICpvdmVyZmxvdyBpcyAwLgorCisgICBGb3Igb3RoZXIgZXJyb3JzIChlLmcuLCBUeXBlRXJyb3IpLCByZXR1cm4gLTEgYW5kIHNldCBhbiBlcnJvciBjb25kaXRpb24uCisgICBJbiB0aGlzIGNhc2UgKm92ZXJmbG93IHdpbGwgYmUgMC4KICovCiAKIFBZX0xPTkdfTE9ORwpAQCAtMTM4MiwxMCArMTM5NCw4IEBACiAKICNkZWZpbmUgQ0hFQ0tfQklOT1Aodix3KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIGRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIGlmICghUHlMb25nX0NoZWNrKHYpIHx8ICFQeUxvbmdfQ2hlY2sodykpIHsgICAgIFwKLSAgICAgICAgICAgIFB5X0lOQ1JFRihQeV9Ob3RJbXBsZW1lbnRlZCk7ICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgcmV0dXJuIFB5X05vdEltcGxlbWVudGVkOyAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgaWYgKCFQeUxvbmdfQ2hlY2sodikgfHwgIVB5TG9uZ19DaGVjayh3KSkgICAgICAgXAorICAgICAgICAgICAgUHlfUkVUVVJOX05PVElNUExFTUVOVEVEOyAgICAgICAgICAgICAgICAgICBcCiAgICAgfSB3aGlsZSgwKQogCiAvKiBiaXRzX2luX2RpZ2l0KGQpIHJldHVybnMgdGhlIHVuaXF1ZSBpbnRlZ2VyIGsgc3VjaCB0aGF0IDIqKihrLTEpIDw9IGQgPApAQCAtMTU0OSw3ICsxNTU5LDcgQEAKICAgICBQeU9iamVjdCAqc3RyOwogICAgIFB5X3NzaXplX3Qgc2l6ZSwgc3RybGVuLCBzaXplX2EsIGksIGo7CiAgICAgZGlnaXQgKnBvdXQsICpwaW4sIHJlbSwgdGVucG93OwotICAgIFB5X1VOSUNPREUgKnA7CisgICAgdW5zaWduZWQgY2hhciAqcDsKICAgICBpbnQgbmVnYXRpdmU7CiAKICAgICBhID0gKFB5TG9uZ09iamVjdCAqKWFhOwpAQCAtMTYxNywxNCArMTYyNywxNSBAQAogICAgICAgICB0ZW5wb3cgKj0gMTA7CiAgICAgICAgIHN0cmxlbisrOwogICAgIH0KLSAgICBzdHIgPSBQeVVuaWNvZGVfRnJvbVVuaWNvZGUoTlVMTCwgc3RybGVuKTsKKyAgICBzdHIgPSBQeVVuaWNvZGVfTmV3KHN0cmxlbiwgJzknKTsKICAgICBpZiAoc3RyID09IE5VTEwpIHsKICAgICAgICAgUHlfREVDUkVGKHNjcmF0Y2gpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAKICAgICAvKiBmaWxsIHRoZSBzdHJpbmcgcmlnaHQtdG8tbGVmdCAqLwotICAgIHAgPSBQeVVuaWNvZGVfQVNfVU5JQ09ERShzdHIpICsgc3RybGVuOworICAgIGFzc2VydChQeVVuaWNvZGVfS0lORChzdHIpID09IFB5VW5pY29kZV8xQllURV9LSU5EKTsKKyAgICBwID0gUHlVbmljb2RlXzFCWVRFX0RBVEEoc3RyKSArIHN0cmxlbjsKICAgICAqcCA9ICdcMCc7CiAgICAgLyogcG91dFswXSB0aHJvdWdoIHBvdXRbc2l6ZS0yXSBjb250cmlidXRlIGV4YWN0bHkKICAgICAgICBfUHlMb25nX0RFQ0lNQUxfU0hJRlQgZGlnaXRzIGVhY2ggKi8KQEAgLTE2NDcsNyArMTY1OCw3IEBACiAgICAgICAgICotLXAgPSAnLSc7CiAKICAgICAvKiBjaGVjayB3ZSd2ZSBjb3VudGVkIGNvcnJlY3RseSAqLwotICAgIGFzc2VydChwID09IFB5VW5pY29kZV9BU19VTklDT0RFKHN0cikpOworICAgIGFzc2VydChwID09IFB5VW5pY29kZV8xQllURV9EQVRBKHN0cikpOwogICAgIFB5X0RFQ1JFRihzY3JhdGNoKTsKICAgICByZXR1cm4gKFB5T2JqZWN0ICopc3RyOwogfQpAQCAtMTY2MCwxMCArMTY3MSwxMiBAQAogX1B5TG9uZ19Gb3JtYXQoUHlPYmplY3QgKmFhLCBpbnQgYmFzZSkKIHsKICAgICByZWdpc3RlciBQeUxvbmdPYmplY3QgKmEgPSAoUHlMb25nT2JqZWN0ICopYWE7Ci0gICAgUHlPYmplY3QgKnN0cjsKKyAgICBQeU9iamVjdCAqdjsKICAgICBQeV9zc2l6ZV90IGksIHN6OwogICAgIFB5X3NzaXplX3Qgc2l6ZV9hOwotICAgIFB5X1VOSUNPREUgKnAsIHNpZ24gPSAnXDAnOworICAgIGNoYXIgKnA7CisgICAgY2hhciBzaWduID0gJ1wwJzsKKyAgICBjaGFyICpidWZmZXI7CiAgICAgaW50IGJpdHM7CiAKICAgICBhc3NlcnQoYmFzZSA9PSAyIHx8IGJhc2UgPT0gOCB8fCBiYXNlID09IDEwIHx8IGJhc2UgPT0gMTYpOwpAQCAtMTY5Myw3ICsxNzA2LDcgQEAKICAgICB9CiAgICAgLyogY29tcHV0ZSBsZW5ndGggb2Ygb3V0cHV0IHN0cmluZzogYWxsb3cgMiBjaGFyYWN0ZXJzIGZvciBwcmVmaXggYW5kCiAgICAgICAgMSBmb3IgcG9zc2libGUgJy0nIHNpZ24uICovCi0gICAgaWYgKHNpemVfYSA+IChQWV9TU0laRV9UX01BWCAtIDMpIC8gUHlMb25nX1NISUZUKSB7CisgICAgaWYgKHNpemVfYSA+IChQWV9TU0laRV9UX01BWCAtIDMpIC8gUHlMb25nX1NISUZUIC8gc2l6ZW9mKFB5X1VDUzQpKSB7CiAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19PdmVyZmxvd0Vycm9yLAogICAgICAgICAgICAgICAgICAgICAgICAgImludCBpcyB0b28gbGFyZ2UgdG8gZm9ybWF0Iik7CiAgICAgICAgIHJldHVybiBOVUxMOwpAQCAtMTcwMiwxMSArMTcxNSwxMiBAQAogICAgICAgIGlzIHNhZmUgZnJvbSBvdmVyZmxvdyAqLwogICAgIHN6ID0gMyArIChzaXplX2EgKiBQeUxvbmdfU0hJRlQgKyAoYml0cyAtIDEpKSAvIGJpdHM7CiAgICAgYXNzZXJ0KHN6ID49IDApOwotICAgIHN0ciA9IFB5VW5pY29kZV9Gcm9tVW5pY29kZShOVUxMLCBzeik7Ci0gICAgaWYgKHN0ciA9PSBOVUxMKQorICAgIGJ1ZmZlciA9IFB5TWVtX01hbGxvYyhzeik7CisgICAgaWYgKGJ1ZmZlciA9PSBOVUxMKSB7CisgICAgICAgIFB5RXJyX05vTWVtb3J5KCk7CiAgICAgICAgIHJldHVybiBOVUxMOwotICAgIHAgPSBQeVVuaWNvZGVfQVNfVU5JQ09ERShzdHIpICsgc3o7Ci0gICAgKnAgPSAnXDAnOworICAgIH0KKyAgICBwID0gJmJ1ZmZlcltzel07CiAgICAgaWYgKFB5X1NJWkUoYSkgPCAwKQogICAgICAgICBzaWduID0gJy0nOwogCkBAIC0xNzIyLDEwICsxNzM2LDEwIEBACiAgICAgICAgICAgICBhY2N1bWJpdHMgKz0gUHlMb25nX1NISUZUOwogICAgICAgICAgICAgYXNzZXJ0KGFjY3VtYml0cyA+PSBiaXRzKTsKICAgICAgICAgICAgIGRvIHsKLSAgICAgICAgICAgICAgICBQeV9VTklDT0RFIGNkaWdpdDsKLSAgICAgICAgICAgICAgICBjZGlnaXQgPSAoUHlfVU5JQ09ERSkoYWNjdW0gJiAoYmFzZSAtIDEpKTsKKyAgICAgICAgICAgICAgICBjaGFyIGNkaWdpdDsKKyAgICAgICAgICAgICAgICBjZGlnaXQgPSAoY2hhcikoYWNjdW0gJiAoYmFzZSAtIDEpKTsKICAgICAgICAgICAgICAgICBjZGlnaXQgKz0gKGNkaWdpdCA8IDEwKSA/ICcwJyA6ICdhJy0xMDsKLSAgICAgICAgICAgICAgICBhc3NlcnQocCA+IFB5VW5pY29kZV9BU19VTklDT0RFKHN0cikpOworICAgICAgICAgICAgICAgIGFzc2VydChwID4gYnVmZmVyKTsKICAgICAgICAgICAgICAgICAqLS1wID0gY2RpZ2l0OwogICAgICAgICAgICAgICAgIGFjY3VtYml0cyAtPSBiaXRzOwogICAgICAgICAgICAgICAgIGFjY3VtID4+PSBiaXRzOwpAQCAtMTc0MiwxOSArMTc1Niw5IEBACiAgICAgKi0tcCA9ICcwJzsKICAgICBpZiAoc2lnbikKICAgICAgICAgKi0tcCA9IHNpZ247Ci0gICAgaWYgKHAgIT0gUHlVbmljb2RlX0FTX1VOSUNPREUoc3RyKSkgewotICAgICAgICBQeV9VTklDT0RFICpxID0gUHlVbmljb2RlX0FTX1VOSUNPREUoc3RyKTsKLSAgICAgICAgYXNzZXJ0KHAgPiBxKTsKLSAgICAgICAgZG8gewotICAgICAgICB9IHdoaWxlICgoKnErKyA9ICpwKyspICE9ICdcMCcpOwotICAgICAgICBxLS07Ci0gICAgICAgIGlmIChQeVVuaWNvZGVfUmVzaXplKCZzdHIsKFB5X3NzaXplX3QpIChxIC0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfQVNfVU5JQ09ERShzdHIpKSkpIHsKLSAgICAgICAgICAgIFB5X0RFQ1JFRihzdHIpOwotICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgcmV0dXJuIChQeU9iamVjdCAqKXN0cjsKKyAgICB2ID0gUHlVbmljb2RlX0RlY29kZUFTQ0lJKHAsICZidWZmZXJbc3pdIC0gcCwgTlVMTCk7CisgICAgUHlNZW1fRnJlZShidWZmZXIpOworICAgIHJldHVybiB2OwogfQogCiAvKiBUYWJsZSBvZiBkaWdpdCB2YWx1ZXMgZm9yIDgtYml0IHN0cmluZyAtPiBpbnRlZ2VyIGNvbnZlcnNpb24uCkBAIC0yMTMyLDIzICsyMTM2LDI2IEBACiBQeU9iamVjdCAqCiBQeUxvbmdfRnJvbVVuaWNvZGUoUHlfVU5JQ09ERSAqdSwgUHlfc3NpemVfdCBsZW5ndGgsIGludCBiYXNlKQogeworICAgIFB5T2JqZWN0ICp2LCAqdW5pY29kZSA9IFB5VW5pY29kZV9Gcm9tVW5pY29kZSh1LCBsZW5ndGgpOworICAgIGlmICh1bmljb2RlID09IE5VTEwpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIHYgPSBQeUxvbmdfRnJvbVVuaWNvZGVPYmplY3QodW5pY29kZSwgYmFzZSk7CisgICAgUHlfREVDUkVGKHVuaWNvZGUpOworICAgIHJldHVybiB2OworfQorCitQeU9iamVjdCAqCitQeUxvbmdfRnJvbVVuaWNvZGVPYmplY3QoUHlPYmplY3QgKnUsIGludCBiYXNlKQorewogICAgIFB5T2JqZWN0ICpyZXN1bHQ7CiAgICAgUHlPYmplY3QgKmFzY2lpZGlnOwogICAgIGNoYXIgKmJ1ZmZlciwgKmVuZDsKLSAgICBQeV9zc2l6ZV90IGksIGJ1ZmxlbjsKLSAgICBQeV9VTklDT0RFICpwdHI7CisgICAgUHlfc3NpemVfdCBidWZsZW47CiAKLSAgICBhc2NpaWRpZyA9IFB5VW5pY29kZV9UcmFuc2Zvcm1EZWNpbWFsVG9BU0NJSSh1LCBsZW5ndGgpOworICAgIGFzY2lpZGlnID0gX1B5VW5pY29kZV9UcmFuc2Zvcm1EZWNpbWFsQW5kU3BhY2VUb0FTQ0lJKHUpOwogICAgIGlmIChhc2NpaWRpZyA9PSBOVUxMKQogICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAvKiBSZXBsYWNlIG5vbi1BU0NJSSB3aGl0ZXNwYWNlIHdpdGggJyAnICovCi0gICAgcHRyID0gUHlVbmljb2RlX0FTX1VOSUNPREUoYXNjaWlkaWcpOwotICAgIGZvciAoaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykgewotICAgICAgICBQeV9VTklDT0RFIGNoID0gcHRyW2ldOwotICAgICAgICBpZiAoY2ggPiAxMjcgJiYgUHlfVU5JQ09ERV9JU1NQQUNFKGNoKSkKLSAgICAgICAgICAgIHB0cltpXSA9ICcgJzsKLSAgICB9Ci0gICAgYnVmZmVyID0gX1B5VW5pY29kZV9Bc1N0cmluZ0FuZFNpemUoYXNjaWlkaWcsICZidWZsZW4pOworICAgIGJ1ZmZlciA9IFB5VW5pY29kZV9Bc1VURjhBbmRTaXplKGFzY2lpZGlnLCAmYnVmbGVuKTsKICAgICBpZiAoYnVmZmVyID09IE5VTEwpIHsKICAgICAgICAgUHlfREVDUkVGKGFzY2lpZGlnKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CkBAIC0yNDQ1LDggKzI0NTIsNyBAQAogICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICB9CiAgICAgfQotICAgIGFzc2VydCgxIDw9IHhfc2l6ZSAmJgotICAgICAgICAgICB4X3NpemUgPD0gKFB5X3NzaXplX3QpKHNpemVvZih4X2RpZ2l0cykvc2l6ZW9mKGRpZ2l0KSkpOworICAgIGFzc2VydCgxIDw9IHhfc2l6ZSAmJiB4X3NpemUgPD0gKFB5X3NzaXplX3QpUHlfQVJSQVlfTEVOR1RIKHhfZGlnaXRzKSk7CiAKICAgICAvKiBSb3VuZCwgYW5kIGNvbnZlcnQgdG8gZG91YmxlLiAqLwogICAgIHhfZGlnaXRzWzBdICs9IGhhbGZfZXZlbl9jb3JyZWN0aW9uW3hfZGlnaXRzWzBdICYgN107CkBAIC0yNDgzLDEwICsyNDg5LDE0IEBACiAgICAgUHlfc3NpemVfdCBleHBvbmVudDsKICAgICBkb3VibGUgeDsKIAotICAgIGlmICh2ID09IE5VTEwgfHwgIVB5TG9uZ19DaGVjayh2KSkgeworICAgIGlmICh2ID09IE5VTEwpIHsKICAgICAgICAgUHlFcnJfQmFkSW50ZXJuYWxDYWxsKCk7CiAgICAgICAgIHJldHVybiAtMS4wOwogICAgIH0KKyAgICBpZiAoIVB5TG9uZ19DaGVjayh2KSkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCAiYW4gaW50ZWdlciBpcyByZXF1aXJlZCIpOworICAgICAgICByZXR1cm4gLTEuMDsKKyAgICB9CiAgICAgeCA9IF9QeUxvbmdfRnJleHAoKFB5TG9uZ09iamVjdCAqKXYsICZleHBvbmVudCk7CiAgICAgaWYgKCh4ID09IC0xLjAgJiYgUHlFcnJfT2NjdXJyZWQoKSkgfHwgZXhwb25lbnQgPiBEQkxfTUFYX0VYUCkgewogICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfT3ZlcmZsb3dFcnJvciwKQEAgLTM2MTEsOCArMzYyMSw3IEBACiAgICAgZWxzZSB7CiAgICAgICAgIFB5X0RFQ1JFRihhKTsKICAgICAgICAgUHlfREVDUkVGKGIpOwotICAgICAgICBQeV9JTkNSRUYoUHlfTm90SW1wbGVtZW50ZWQpOwotICAgICAgICByZXR1cm4gUHlfTm90SW1wbGVtZW50ZWQ7CisgICAgICAgIFB5X1JFVFVSTl9OT1RJTVBMRU1FTlRFRDsKICAgICB9CiAKICAgICBpZiAoUHlfU0laRShiKSA8IDApIHsgIC8qIGlmIGV4cG9uZW50IGlzIG5lZ2F0aXZlICovCkBAIC00MTM5LDkgKzQxNDgsNyBAQAogICAgIH0KIAogICAgIGlmIChQeVVuaWNvZGVfQ2hlY2soeCkpCi0gICAgICAgIHJldHVybiBQeUxvbmdfRnJvbVVuaWNvZGUoUHlVbmljb2RlX0FTX1VOSUNPREUoeCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0dFVF9TSVpFKHgpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpbnQpYmFzZSk7CisgICAgICAgIHJldHVybiBQeUxvbmdfRnJvbVVuaWNvZGVPYmplY3QoeCwgKGludCliYXNlKTsKICAgICBlbHNlIGlmIChQeUJ5dGVBcnJheV9DaGVjayh4KSB8fCBQeUJ5dGVzX0NoZWNrKHgpKSB7CiAgICAgICAgIC8qIFNpbmNlIFB5TG9uZ19Gcm9tU3RyaW5nIGRvZXNuJ3QgaGF2ZSBhIGxlbmd0aCBwYXJhbWV0ZXIsCiAgICAgICAgICAqIGNoZWNrIGhlcmUgZm9yIHBvc3NpYmxlIE5VTHMgaW4gdGhlIHN0cmluZy4gKi8KQEAgLTQyMjMsOSArNDIzMCw4IEBACiAKICAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIlU6X19mb3JtYXRfXyIsICZmb3JtYXRfc3BlYykpCiAgICAgICAgIHJldHVybiBOVUxMOwotICAgIHJldHVybiBfUHlMb25nX0Zvcm1hdEFkdmFuY2VkKHNlbGYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0FTX1VOSUNPREUoZm9ybWF0X3NwZWMpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9HRVRfU0laRShmb3JtYXRfc3BlYykpOworICAgIHJldHVybiBfUHlMb25nX0Zvcm1hdEFkdmFuY2VkKHNlbGYsIGZvcm1hdF9zcGVjLCAwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9HRVRfTEVOR1RIKGZvcm1hdF9zcGVjKSk7CiB9CiAKIC8qIFJldHVybiBhIHBhaXIgKHEsIHIpIHN1Y2ggdGhhdCBhID0gYiAqIHEgKyByLCBhbmQKZGlmZiAtLWdpdCBhL09iamVjdHMvbWVtb3J5b2JqZWN0LmMgYi9PYmplY3RzL21lbW9yeW9iamVjdC5jCmluZGV4IDJlMzJiMmEuLjY3ZjdlMDEgMTAwNjQ0Ci0tLSBhL09iamVjdHMvbWVtb3J5b2JqZWN0LmMKKysrIGIvT2JqZWN0cy9tZW1vcnlvYmplY3QuYwpAQCAtMSwxMjYgKzEsOTE1IEBACi0KIC8qIE1lbW9yeXZpZXcgb2JqZWN0IGltcGxlbWVudGF0aW9uICovCiAKICNpbmNsdWRlICJQeXRob24uaCIKKyNpbmNsdWRlIDxzdGRkZWYuaD4KIAotI2RlZmluZSBJU19SRUxFQVNFRChtZW1vYmopIFwKLSAgICAoKChQeU1lbW9yeVZpZXdPYmplY3QgKikgbWVtb2JqKS0+dmlldy5idWYgPT0gTlVMTCkKIAotI2RlZmluZSBDSEVDS19SRUxFQVNFRChtZW1vYmopIFwKLSAgICBpZiAoSVNfUkVMRUFTRUQobWVtb2JqKSkgeyBcCi0gICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAib3BlcmF0aW9uIGZvcmJpZGRlbiBvbiByZWxlYXNlZCBtZW1vcnl2aWV3IG9iamVjdCIpOyBcCi0gICAgICAgIHJldHVybiBOVUxMOyBcCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qICAgICAgICAgICAgICAgICAgICAgICAgICAgTWFuYWdlZEJ1ZmZlciBPYmplY3QgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qCisgICBNYW5hZ2VkQnVmZmVyIE9iamVjdDoKKyAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisgICAgIFRoZSBwdXJwb3NlIG9mIHRoaXMgb2JqZWN0IGlzIHRvIGZhY2lsaXRhdGUgdGhlIGhhbmRsaW5nIG9mIGNoYWluZWQKKyAgICAgbWVtb3J5dmlld3MgdGhhdCBoYXZlIHRoZSBzYW1lIHVuZGVybHlpbmcgZXhwb3J0aW5nIG9iamVjdC4gUEVQLTMxMTgKKyAgICAgYWxsb3dzIHRoZSB1bmRlcmx5aW5nIG9iamVjdCB0byBjaGFuZ2Ugd2hpbGUgYSB2aWV3IGlzIGV4cG9ydGVkLiBUaGlzCisgICAgIGNvdWxkIGxlYWQgdG8gdW5leHBlY3RlZCByZXN1bHRzIHdoZW4gY29uc3RydWN0aW5nIGEgbmV3IG1lbW9yeXZpZXcKKyAgICAgZnJvbSBhbiBleGlzdGluZyBtZW1vcnl2aWV3LgorCisgICAgIFJhdGhlciB0aGFuIHJlcGVhdGVkbHkgcmVkaXJlY3RpbmcgYnVmZmVyIHJlcXVlc3RzIHRvIHRoZSBvcmlnaW5hbCBiYXNlCisgICAgIG9iamVjdCwgYWxsIGNoYWluZWQgbWVtb3J5dmlld3MgdXNlIGEgc2luZ2xlIGJ1ZmZlciBzbmFwc2hvdC4gVGhpcworICAgICBzbmFwc2hvdCBpcyBnZW5lcmF0ZWQgYnkgdGhlIGNvbnN0cnVjdG9yIF9QeU1hbmFnZWRCdWZmZXJfRnJvbU9iamVjdCgpLgorCisgICBPd25lcnNoaXAgcnVsZXM6CisgICAtLS0tLS0tLS0tLS0tLS0tCisKKyAgICAgVGhlIG1hc3RlciBidWZmZXIgaW5zaWRlIGEgbWFuYWdlZCBidWZmZXIgaXMgZmlsbGVkIGluIGJ5IHRoZSBvcmlnaW5hbAorICAgICBiYXNlIG9iamVjdC4gc2hhcGUsIHN0cmlkZXMsIHN1Ym9mZnNldHMgYW5kIGZvcm1hdCBhcmUgcmVhZC1vbmx5IGZvcgorICAgICBhbGwgY29uc3VtZXJzLgorCisgICAgIEEgbWVtb3J5dmlldydzIGJ1ZmZlciBpcyBhIHByaXZhdGUgY29weSBvZiB0aGUgZXhwb3J0ZXIncyBidWZmZXIuIHNoYXBlLAorICAgICBzdHJpZGVzIGFuZCBzdWJvZmZzZXRzIGJlbG9uZyB0byB0aGUgbWVtb3J5dmlldyBhbmQgYXJlIHRodXMgd3JpdGFibGUuCisKKyAgICAgSWYgYSBtZW1vcnl2aWV3IGl0c2VsZiBleHBvcnRzIHNldmVyYWwgYnVmZmVycyB2aWEgbWVtb3J5X2dldGJ1ZigpLCBhbGwKKyAgICAgYnVmZmVyIGNvcGllcyBzaGFyZSBzaGFwZSwgc3RyaWRlcyBhbmQgc3Vib2Zmc2V0cy4gSW4gdGhpcyBjYXNlLCB0aGUKKyAgICAgYXJyYXlzIGFyZSBOT1Qgd3JpdGFibGUuCisKKyAgIFJlZmVyZW5jZSBjb3VudCBhc3N1bXB0aW9uczoKKyAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworICAgICBUaGUgJ29iaicgbWVtYmVyIG9mIGEgUHlfYnVmZmVyIG11c3QgZWl0aGVyIGJlIE5VTEwgb3IgcmVmZXIgdG8gdGhlCisgICAgIGV4cG9ydGluZyBiYXNlIG9iamVjdC4gSW4gdGhlIFB5dGhvbiBjb2RlYmFzZSwgYWxsIGdldGJ1ZmZlcnByb2NzCisgICAgIHJldHVybiBhIG5ldyByZWZlcmVuY2UgdG8gdmlldy5vYmogKGV4YW1wbGU6IGJ5dGVzX2J1ZmZlcl9nZXRidWZmZXIoKSkuCisKKyAgICAgUHlCdWZmZXJfUmVsZWFzZSgpIGRlY3JlbWVudHMgdmlldy5vYmogKGlmIG5vbi1OVUxMKSwgc28gdGhlCisgICAgIHJlbGVhc2VidWZmZXJwcm9jcyBtdXN0IE5PVCBkZWNyZW1lbnQgdmlldy5vYmouCisqLworCisKKyNkZWZpbmUgWFNUUklOR0laRSh2KSAjdgorI2RlZmluZSBTVFJJTkdJWkUodikgWFNUUklOR0laRSh2KQorCisjZGVmaW5lIENIRUNLX01CVUZfUkVMRUFTRUQobWJ1ZikgXAorICAgIGlmICgoKF9QeU1hbmFnZWRCdWZmZXJPYmplY3QgKiltYnVmKS0+ZmxhZ3MmX1B5X01BTkFHRURfQlVGRkVSX1JFTEVBU0VEKSB7IFwKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAib3BlcmF0aW9uIGZvcmJpZGRlbiBvbiByZWxlYXNlZCBtZW1vcnl2aWV3IG9iamVjdCIpOyAgICAgICAgICAgICAgXAorICAgICAgICByZXR1cm4gTlVMTDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICB9CiAKLSNkZWZpbmUgQ0hFQ0tfUkVMRUFTRURfSU5UKG1lbW9iaikgXAotICAgIGlmIChJU19SRUxFQVNFRChtZW1vYmopKSB7IFwKLSAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICJvcGVyYXRpb24gZm9yYmlkZGVuIG9uIHJlbGVhc2VkIG1lbW9yeXZpZXcgb2JqZWN0Iik7IFwKLSAgICAgICAgcmV0dXJuIC0xOyBcCi0gICAgfQogCi1zdGF0aWMgUHlfc3NpemVfdAotZ2V0X3NoYXBlMChQeV9idWZmZXIgKmJ1ZikKK1B5X0xPQ0FMX0lOTElORShfUHlNYW5hZ2VkQnVmZmVyT2JqZWN0ICopCittYnVmX2FsbG9jKHZvaWQpCiB7Ci0gICAgaWYgKGJ1Zi0+c2hhcGUgIT0gTlVMTCkKLSAgICAgICAgcmV0dXJuIGJ1Zi0+c2hhcGVbMF07Ci0gICAgaWYgKGJ1Zi0+bmRpbSA9PSAwKQotICAgICAgICByZXR1cm4gMTsKLSAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLAotICAgICAgICAiZXhwb3J0ZWQgYnVmZmVyIGRvZXMgbm90IGhhdmUgYW55IHNoYXBlIGluZm9ybWF0aW9uIGFzc29jaWF0ZWQgIgotICAgICAgICAidG8gaXQiKTsKLSAgICByZXR1cm4gLTE7CisgICAgX1B5TWFuYWdlZEJ1ZmZlck9iamVjdCAqbWJ1ZjsKKworICAgIG1idWYgPSAoX1B5TWFuYWdlZEJ1ZmZlck9iamVjdCAqKQorICAgICAgICBQeU9iamVjdF9HQ19OZXcoX1B5TWFuYWdlZEJ1ZmZlck9iamVjdCwgJl9QeU1hbmFnZWRCdWZmZXJfVHlwZSk7CisgICAgaWYgKG1idWYgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgbWJ1Zi0+ZmxhZ3MgPSAwOworICAgIG1idWYtPmV4cG9ydHMgPSAwOworICAgIG1idWYtPm1hc3Rlci5vYmogPSBOVUxMOworICAgIF9QeU9iamVjdF9HQ19UUkFDSyhtYnVmKTsKKworICAgIHJldHVybiBtYnVmOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorX1B5TWFuYWdlZEJ1ZmZlcl9Gcm9tT2JqZWN0KFB5T2JqZWN0ICpiYXNlKQoreworICAgIF9QeU1hbmFnZWRCdWZmZXJPYmplY3QgKm1idWY7CisKKyAgICBtYnVmID0gbWJ1Zl9hbGxvYygpOworICAgIGlmIChtYnVmID09IE5VTEwpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgaWYgKFB5T2JqZWN0X0dldEJ1ZmZlcihiYXNlLCAmbWJ1Zi0+bWFzdGVyLCBQeUJVRl9GVUxMX1JPKSA8IDApIHsKKyAgICAgICAgbWJ1Zi0+bWFzdGVyLm9iaiA9IE5VTEw7CisgICAgICAgIFB5X0RFQ1JFRihtYnVmKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorCisgICAgcmV0dXJuIChQeU9iamVjdCAqKW1idWY7CiB9CiAKIHN0YXRpYyB2b2lkCi1kdXBfYnVmZmVyKFB5X2J1ZmZlciAqZGVzdCwgUHlfYnVmZmVyICpzcmMpCittYnVmX3JlbGVhc2UoX1B5TWFuYWdlZEJ1ZmZlck9iamVjdCAqc2VsZikKIHsKLSAgICAqZGVzdCA9ICpzcmM7Ci0gICAgaWYgKHNyYy0+bmRpbSA9PSAxICYmIHNyYy0+c2hhcGUgIT0gTlVMTCkgewotICAgICAgICBkZXN0LT5zaGFwZSA9ICYoZGVzdC0+c21hbGx0YWJsZVswXSk7Ci0gICAgICAgIGRlc3QtPnNoYXBlWzBdID0gZ2V0X3NoYXBlMChzcmMpOwotICAgIH0KLSAgICBpZiAoc3JjLT5uZGltID09IDEgJiYgc3JjLT5zdHJpZGVzICE9IE5VTEwpIHsKLSAgICAgICAgZGVzdC0+c3RyaWRlcyA9ICYoZGVzdC0+c21hbGx0YWJsZVsxXSk7Ci0gICAgICAgIGRlc3QtPnN0cmlkZXNbMF0gPSBzcmMtPnN0cmlkZXNbMF07Ci0gICAgfQorICAgIGlmIChzZWxmLT5mbGFncyZfUHlfTUFOQUdFRF9CVUZGRVJfUkVMRUFTRUQpCisgICAgICAgIHJldHVybjsKKworICAgIC8qIE5PVEU6IGF0IHRoaXMgcG9pbnQgc2VsZi0+ZXhwb3J0cyBjYW4gc3RpbGwgYmUgPiAwIGlmIHRoaXMgZnVuY3Rpb24KKyAgICAgICBpcyBjYWxsZWQgZnJvbSBtYnVmX2NsZWFyKCkgdG8gYnJlYWsgdXAgYSByZWZlcmVuY2UgY3ljbGUuICovCisgICAgc2VsZi0+ZmxhZ3MgfD0gX1B5X01BTkFHRURfQlVGRkVSX1JFTEVBU0VEOworCisgICAgLyogUHlCdWZmZXJfUmVsZWFzZSgpIGRlY3JlbWVudHMgbWFzdGVyLT5vYmogYW5kIHNldHMgaXQgdG8gTlVMTC4gKi8KKyAgICBfUHlPYmplY3RfR0NfVU5UUkFDSyhzZWxmKTsKKyAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZzZWxmLT5tYXN0ZXIpOworfQorCitzdGF0aWMgdm9pZAorbWJ1Zl9kZWFsbG9jKF9QeU1hbmFnZWRCdWZmZXJPYmplY3QgKnNlbGYpCit7CisgICAgYXNzZXJ0KHNlbGYtPmV4cG9ydHMgPT0gMCk7CisgICAgbWJ1Zl9yZWxlYXNlKHNlbGYpOworICAgIGlmIChzZWxmLT5mbGFncyZfUHlfTUFOQUdFRF9CVUZGRVJfRlJFRV9GT1JNQVQpCisgICAgICAgIFB5TWVtX0ZyZWUoc2VsZi0+bWFzdGVyLmZvcm1hdCk7CisgICAgUHlPYmplY3RfR0NfRGVsKHNlbGYpOwogfQogCiBzdGF0aWMgaW50Ci1tZW1vcnlfZ2V0YnVmKFB5TWVtb3J5Vmlld09iamVjdCAqc2VsZiwgUHlfYnVmZmVyICp2aWV3LCBpbnQgZmxhZ3MpCittYnVmX3RyYXZlcnNlKF9QeU1hbmFnZWRCdWZmZXJPYmplY3QgKnNlbGYsIHZpc2l0cHJvYyB2aXNpdCwgdm9pZCAqYXJnKQogewotICAgIGludCByZXMgPSAwOwotICAgIENIRUNLX1JFTEVBU0VEX0lOVChzZWxmKTsKLSAgICBpZiAoc2VsZi0+dmlldy5vYmogIT0gTlVMTCkKLSAgICAgICAgcmVzID0gUHlPYmplY3RfR2V0QnVmZmVyKHNlbGYtPnZpZXcub2JqLCB2aWV3LCBmbGFncyk7Ci0gICAgaWYgKHZpZXcpCi0gICAgICAgIGR1cF9idWZmZXIodmlldywgJnNlbGYtPnZpZXcpOwotICAgIHJldHVybiByZXM7CisgICAgUHlfVklTSVQoc2VsZi0+bWFzdGVyLm9iaik7CisgICAgcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyB2b2lkCi1tZW1vcnlfcmVsZWFzZWJ1ZihQeU1lbW9yeVZpZXdPYmplY3QgKnNlbGYsIFB5X2J1ZmZlciAqdmlldykKK3N0YXRpYyBpbnQKK21idWZfY2xlYXIoX1B5TWFuYWdlZEJ1ZmZlck9iamVjdCAqc2VsZikKIHsKLSAgICBQeUJ1ZmZlcl9SZWxlYXNlKHZpZXcpOworICAgIGFzc2VydChzZWxmLT5leHBvcnRzID49IDApOworICAgIG1idWZfcmVsZWFzZShzZWxmKTsKKyAgICByZXR1cm4gMDsKIH0KIAorUHlUeXBlT2JqZWN0IF9QeU1hbmFnZWRCdWZmZXJfVHlwZSA9IHsKKyAgICBQeVZhck9iamVjdF9IRUFEX0lOSVQoJlB5VHlwZV9UeXBlLCAwKQorICAgICJtYW5hZ2VkYnVmZmVyIiwKKyAgICBzaXplb2YoX1B5TWFuYWdlZEJ1ZmZlck9iamVjdCksCisgICAgMCwKKyAgICAoZGVzdHJ1Y3RvciltYnVmX2RlYWxsb2MsICAgICAgICAgICAgICAgIC8qIHRwX2RlYWxsb2MgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX3ByaW50ICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9nZXRhdHRyICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9zZXRhdHRyICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9yZXNlcnZlZCAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfcmVwciAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfYXNfbnVtYmVyICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9hc19zZXF1ZW5jZSAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfYXNfbWFwcGluZyAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfaGFzaCAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfY2FsbCAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfc3RyICovCisgICAgUHlPYmplY3RfR2VuZXJpY0dldEF0dHIsICAgICAgICAgICAgICAgICAvKiB0cF9nZXRhdHRybyAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfc2V0YXR0cm8gKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2FzX2J1ZmZlciAqLworICAgIFB5X1RQRkxBR1NfREVGQVVMVCB8IFB5X1RQRkxBR1NfSEFWRV9HQywgLyogdHBfZmxhZ3MgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2RvYyAqLworICAgICh0cmF2ZXJzZXByb2MpbWJ1Zl90cmF2ZXJzZSwgICAgICAgICAgICAgLyogdHBfdHJhdmVyc2UgKi8KKyAgICAoaW5xdWlyeSltYnVmX2NsZWFyICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2NsZWFyICovCit9OworCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1lbW9yeVZpZXcgT2JqZWN0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyogSW4gdGhlIHByb2Nlc3Mgb2YgYnJlYWtpbmcgcmVmZXJlbmNlIGN5Y2xlcyBtYnVmX3JlbGVhc2UoKSBjYW4gYmUKKyAgIGNhbGxlZCBiZWZvcmUgbWVtb3J5X3JlbGVhc2UoKS4gKi8KKyNkZWZpbmUgQkFTRV9JTkFDQ0VTU0lCTEUobXYpIFwKKyAgICAoKChQeU1lbW9yeVZpZXdPYmplY3QgKiltdiktPmZsYWdzJl9QeV9NRU1PUllWSUVXX1JFTEVBU0VEIHx8IFwKKyAgICAgKChQeU1lbW9yeVZpZXdPYmplY3QgKiltdiktPm1idWYtPmZsYWdzJl9QeV9NQU5BR0VEX0JVRkZFUl9SRUxFQVNFRCkKKworI2RlZmluZSBDSEVDS19SRUxFQVNFRChtdikgXAorICAgIGlmIChCQVNFX0lOQUNDRVNTSUJMRShtdikpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgIm9wZXJhdGlvbiBmb3JiaWRkZW4gb24gcmVsZWFzZWQgbWVtb3J5dmlldyBvYmplY3QiKTsgXAorICAgICAgICByZXR1cm4gTlVMTDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIH0KKworI2RlZmluZSBDSEVDS19SRUxFQVNFRF9JTlQobXYpIFwKKyAgICBpZiAoQkFTRV9JTkFDQ0VTU0lCTEUobXYpKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICJvcGVyYXRpb24gZm9yYmlkZGVuIG9uIHJlbGVhc2VkIG1lbW9yeXZpZXcgb2JqZWN0Iik7IFwKKyAgICAgICAgcmV0dXJuIC0xOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB9CisKKyNkZWZpbmUgQ0hFQ0tfTElTVF9PUl9UVVBMRSh2KSBcCisgICAgaWYgKCFQeUxpc3RfQ2hlY2sodikgJiYgIVB5VHVwbGVfQ2hlY2sodikpIHsgXAorICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCAgICAgICAgIFwKKyAgICAgICAgICAgICN2ICIgbXVzdCBiZSBhIGxpc3Qgb3IgYSB0dXBsZSIpOyAgICBcCisgICAgICAgIHJldHVybiBOVUxMOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIH0KKworI2RlZmluZSBWSUVXX0FERFIobXYpICgmKChQeU1lbW9yeVZpZXdPYmplY3QgKiltdiktPnZpZXcpCisKKy8qIENoZWNrIGZvciB0aGUgcHJlc2VuY2Ugb2Ygc3Vib2Zmc2V0cyBpbiB0aGUgZmlyc3QgZGltZW5zaW9uLiAqLworI2RlZmluZSBIQVZFX1BUUihzdWJvZmZzZXRzKSAoc3Vib2Zmc2V0cyAmJiBzdWJvZmZzZXRzWzBdID49IDApCisvKiBBZGp1c3QgcHRyIGlmIHN1Ym9mZnNldHMgYXJlIHByZXNlbnQuICovCisjZGVmaW5lIEFESlVTVF9QVFIocHRyLCBzdWJvZmZzZXRzKSBcCisgICAgKEhBVkVfUFRSKHN1Ym9mZnNldHMpID8gKigoY2hhcioqKXB0cikgKyBzdWJvZmZzZXRzWzBdIDogcHRyKQorCisvKiBNZW1vcnl2aWV3IGJ1ZmZlciBwcm9wZXJ0aWVzICovCisjZGVmaW5lIE1WX0NfQ09OVElHVU9VUyhmbGFncykgKGZsYWdzJihfUHlfTUVNT1JZVklFV19TQ0FMQVJ8X1B5X01FTU9SWVZJRVdfQykpCisjZGVmaW5lIE1WX0ZfQ09OVElHVU9VUyhmbGFncykgXAorICAgIChmbGFncyYoX1B5X01FTU9SWVZJRVdfU0NBTEFSfF9QeV9NRU1PUllWSUVXX0ZPUlRSQU4pKQorI2RlZmluZSBNVl9BTllfQ09OVElHVU9VUyhmbGFncykgXAorICAgIChmbGFncyYoX1B5X01FTU9SWVZJRVdfU0NBTEFSfF9QeV9NRU1PUllWSUVXX0N8X1B5X01FTU9SWVZJRVdfRk9SVFJBTikpCisKKy8qIEZhc3QgY29udGlndWl0eSB0ZXN0LiBDYWxsZXIgbXVzdCBlbnN1cmUgc3Vib2Zmc2V0cz09TlVMTCBhbmQgbmRpbT09MS4gKi8KKyNkZWZpbmUgTVZfQ09OVElHVU9VU19ORElNMSh2aWV3KSBcCisgICAgKCh2aWV3KS0+c2hhcGVbMF0gPT0gMSB8fCAodmlldyktPnN0cmlkZXNbMF0gPT0gKHZpZXcpLT5pdGVtc2l6ZSkKKworLyogZ2V0YnVmZmVyKCkgcmVxdWVzdHMgKi8KKyNkZWZpbmUgUkVRX0lORElSRUNUKGZsYWdzKSAoKGZsYWdzJlB5QlVGX0lORElSRUNUKSA9PSBQeUJVRl9JTkRJUkVDVCkKKyNkZWZpbmUgUkVRX0NfQ09OVElHVU9VUyhmbGFncykgKChmbGFncyZQeUJVRl9DX0NPTlRJR1VPVVMpID09IFB5QlVGX0NfQ09OVElHVU9VUykKKyNkZWZpbmUgUkVRX0ZfQ09OVElHVU9VUyhmbGFncykgKChmbGFncyZQeUJVRl9GX0NPTlRJR1VPVVMpID09IFB5QlVGX0ZfQ09OVElHVU9VUykKKyNkZWZpbmUgUkVRX0FOWV9DT05USUdVT1VTKGZsYWdzKSAoKGZsYWdzJlB5QlVGX0FOWV9DT05USUdVT1VTKSA9PSBQeUJVRl9BTllfQ09OVElHVU9VUykKKyNkZWZpbmUgUkVRX1NUUklERVMoZmxhZ3MpICgoZmxhZ3MmUHlCVUZfU1RSSURFUykgPT0gUHlCVUZfU1RSSURFUykKKyNkZWZpbmUgUkVRX1NIQVBFKGZsYWdzKSAoKGZsYWdzJlB5QlVGX05EKSA9PSBQeUJVRl9ORCkKKyNkZWZpbmUgUkVRX1dSSVRBQkxFKGZsYWdzKSAoZmxhZ3MmUHlCVUZfV1JJVEFCTEUpCisjZGVmaW5lIFJFUV9GT1JNQVQoZmxhZ3MpIChmbGFncyZQeUJVRl9GT1JNQVQpCisKKwogUHlEb2NfU1RSVkFSKG1lbW9yeV9kb2MsCiAibWVtb3J5dmlldyhvYmplY3QpXG5cCiBcblwKIENyZWF0ZSBhIG5ldyBtZW1vcnl2aWV3IG9iamVjdCB3aGljaCByZWZlcmVuY2VzIHRoZSBnaXZlbiBvYmplY3QuIik7CiAKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyogICAgICAgICAgICAgICAgICAgICAgIENvcHkgbWVtb3J5dmlldyBidWZmZXJzICAgICAgICAgICAgICAgICAgICAgICAgICAqLworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKiBUaGUgZnVuY3Rpb25zIGluIHRoaXMgc2VjdGlvbiB0YWtlIGEgc291cmNlIGFuZCBhIGRlc3RpbmF0aW9uIGJ1ZmZlcgorICAgd2l0aCB0aGUgc2FtZSBsb2dpY2FsIHN0cnVjdHVyZTogZm9ybWF0LCBpdGVtc2l6ZSwgbmRpbSBhbmQgc2hhcGUKKyAgIGFyZSBpZGVudGljYWwsIHdpdGggbmRpbSA+IDAuCisKKyAgIE5PVEU6IEFsbCBidWZmZXJzIGFyZSBhc3N1bWVkIHRvIGhhdmUgUHlCVUZfRlVMTCBpbmZvcm1hdGlvbiwgd2hpY2gKKyAgIGlzIHRoZSBjYXNlIGZvciBtZW1vcnl2aWV3cyEgKi8KKworCisvKiBBc3N1bXB0aW9uczogbmRpbSA+PSAxLiBUaGUgbWFjcm8gdGVzdHMgZm9yIGEgY29ybmVyIGNhc2UgdGhhdCBzaG91bGQKKyAgIHBlcmhhcHMgYmUgZXhwbGljaXRseSBmb3JiaWRkZW4gaW4gdGhlIFBFUC4gKi8KKyNkZWZpbmUgSEFWRV9TVUJPRkZTRVRTX0lOX0xBU1RfRElNKHZpZXcpIFwKKyAgICAodmlldy0+c3Vib2Zmc2V0cyAmJiB2aWV3LT5zdWJvZmZzZXRzW2Rlc3QtPm5kaW0tMV0gPj0gMCkKKworUHlfTE9DQUxfSU5MSU5FKGludCkKK2xhc3RfZGltX2lzX2NvbnRpZ3VvdXMoUHlfYnVmZmVyICpkZXN0LCBQeV9idWZmZXIgKnNyYykKK3sKKyAgICBhc3NlcnQoZGVzdC0+bmRpbSA+IDAgJiYgc3JjLT5uZGltID4gMCk7CisgICAgcmV0dXJuICghSEFWRV9TVUJPRkZTRVRTX0lOX0xBU1RfRElNKGRlc3QpICYmCisgICAgICAgICAgICAhSEFWRV9TVUJPRkZTRVRTX0lOX0xBU1RfRElNKHNyYykgJiYKKyAgICAgICAgICAgIGRlc3QtPnN0cmlkZXNbZGVzdC0+bmRpbS0xXSA9PSBkZXN0LT5pdGVtc2l6ZSAmJgorICAgICAgICAgICAgc3JjLT5zdHJpZGVzW3NyYy0+bmRpbS0xXSA9PSBzcmMtPml0ZW1zaXplKTsKK30KKworLyogQ2hlY2sgdGhhdCB0aGUgbG9naWNhbCBzdHJ1Y3R1cmUgb2YgdGhlIGRlc3RpbmF0aW9uIGFuZCBzb3VyY2UgYnVmZmVycworICAgaXMgaWRlbnRpY2FsLiAqLworc3RhdGljIGludAorY21wX3N0cnVjdHVyZShQeV9idWZmZXIgKmRlc3QsIFB5X2J1ZmZlciAqc3JjKQoreworICAgIGNvbnN0IGNoYXIgKmRmbXQsICpzZm10OworICAgIGludCBpOworCisgICAgYXNzZXJ0KGRlc3QtPmZvcm1hdCAmJiBzcmMtPmZvcm1hdCk7CisgICAgZGZtdCA9IGRlc3QtPmZvcm1hdFswXSA9PSAnQCcgPyBkZXN0LT5mb3JtYXQrMSA6IGRlc3QtPmZvcm1hdDsKKyAgICBzZm10ID0gc3JjLT5mb3JtYXRbMF0gPT0gJ0AnID8gc3JjLT5mb3JtYXQrMSA6IHNyYy0+Zm9ybWF0OworCisgICAgaWYgKHN0cmNtcChkZm10LCBzZm10KSAhPSAwIHx8CisgICAgICAgIGRlc3QtPml0ZW1zaXplICE9IHNyYy0+aXRlbXNpemUgfHwKKyAgICAgICAgZGVzdC0+bmRpbSAhPSBzcmMtPm5kaW0pIHsKKyAgICAgICAgZ290byB2YWx1ZV9lcnJvcjsKKyAgICB9CisKKyAgICBmb3IgKGkgPSAwOyBpIDwgZGVzdC0+bmRpbTsgaSsrKSB7CisgICAgICAgIGlmIChkZXN0LT5zaGFwZVtpXSAhPSBzcmMtPnNoYXBlW2ldKQorICAgICAgICAgICAgZ290byB2YWx1ZV9lcnJvcjsKKyAgICAgICAgaWYgKGRlc3QtPnNoYXBlW2ldID09IDApCisgICAgICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICByZXR1cm4gMDsKKwordmFsdWVfZXJyb3I6CisgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsCisgICAgICAgICJuZGFycmF5IGFzc2lnbm1lbnQ6IGx2YWx1ZSBhbmQgcnZhbHVlIGhhdmUgZGlmZmVyZW50IHN0cnVjdHVyZXMiKTsKKyAgICByZXR1cm4gLTE7Cit9CisKKy8qIEJhc2UgY2FzZSBmb3IgcmVjdXJzaXZlIG11bHRpLWRpbWVuc2lvbmFsIGNvcHlpbmcuIENvbnRpZ3VvdXMgYXJyYXlzIGFyZQorICAgY29waWVkIHdpdGggdmVyeSBsaXR0bGUgb3ZlcmhlYWQuIEFzc3VtcHRpb25zOiBuZGltID09IDEsIG1lbSA9PSBOVUxMIG9yCisgICBzaXplb2YobWVtKSA9PSBzaGFwZVswXSAqIGl0ZW1zaXplLiAqLworc3RhdGljIHZvaWQKK2NvcHlfYmFzZShjb25zdCBQeV9zc2l6ZV90ICpzaGFwZSwgUHlfc3NpemVfdCBpdGVtc2l6ZSwKKyAgICAgICAgICBjaGFyICpkcHRyLCBjb25zdCBQeV9zc2l6ZV90ICpkc3RyaWRlcywgY29uc3QgUHlfc3NpemVfdCAqZHN1Ym9mZnNldHMsCisgICAgICAgICAgY2hhciAqc3B0ciwgY29uc3QgUHlfc3NpemVfdCAqc3N0cmlkZXMsIGNvbnN0IFB5X3NzaXplX3QgKnNzdWJvZmZzZXRzLAorICAgICAgICAgIGNoYXIgKm1lbSkKK3sKKyAgICBpZiAobWVtID09IE5VTEwpIHsgLyogY29udGlndW91cyAqLworICAgICAgICBQeV9zc2l6ZV90IHNpemUgPSBzaGFwZVswXSAqIGl0ZW1zaXplOworICAgICAgICBpZiAoZHB0ciArIHNpemUgPCBzcHRyIHx8IHNwdHIgKyBzaXplIDwgZHB0cikKKyAgICAgICAgICAgIG1lbWNweShkcHRyLCBzcHRyLCBzaXplKTsgLyogbm8gb3ZlcmxhcHBpbmcgKi8KKyAgICAgICAgZWxzZQorICAgICAgICAgICAgbWVtbW92ZShkcHRyLCBzcHRyLCBzaXplKTsKKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIGNoYXIgKnA7CisgICAgICAgIFB5X3NzaXplX3QgaTsKKyAgICAgICAgZm9yIChpPTAsIHA9bWVtOyBpIDwgc2hhcGVbMF07IHArPWl0ZW1zaXplLCBzcHRyKz1zc3RyaWRlc1swXSwgaSsrKSB7CisgICAgICAgICAgICBjaGFyICp4c3B0ciA9IEFESlVTVF9QVFIoc3B0ciwgc3N1Ym9mZnNldHMpOworICAgICAgICAgICAgbWVtY3B5KHAsIHhzcHRyLCBpdGVtc2l6ZSk7CisgICAgICAgIH0KKyAgICAgICAgZm9yIChpPTAsIHA9bWVtOyBpIDwgc2hhcGVbMF07IHArPWl0ZW1zaXplLCBkcHRyKz1kc3RyaWRlc1swXSwgaSsrKSB7CisgICAgICAgICAgICBjaGFyICp4ZHB0ciA9IEFESlVTVF9QVFIoZHB0ciwgZHN1Ym9mZnNldHMpOworICAgICAgICAgICAgbWVtY3B5KHhkcHRyLCBwLCBpdGVtc2l6ZSk7CisgICAgICAgIH0KKyAgICB9CisKK30KKworLyogUmVjdXJzaXZlbHkgY29weSBhIHNvdXJjZSBidWZmZXIgdG8gYSBkZXN0aW5hdGlvbiBidWZmZXIuIFRoZSB0d28gYnVmZmVycworICAgaGF2ZSB0aGUgc2FtZSBuZGltLCBzaGFwZSBhbmQgaXRlbXNpemUuICovCitzdGF0aWMgdm9pZAorY29weV9yZWMoY29uc3QgUHlfc3NpemVfdCAqc2hhcGUsIFB5X3NzaXplX3QgbmRpbSwgUHlfc3NpemVfdCBpdGVtc2l6ZSwKKyAgICAgICAgIGNoYXIgKmRwdHIsIGNvbnN0IFB5X3NzaXplX3QgKmRzdHJpZGVzLCBjb25zdCBQeV9zc2l6ZV90ICpkc3Vib2Zmc2V0cywKKyAgICAgICAgIGNoYXIgKnNwdHIsIGNvbnN0IFB5X3NzaXplX3QgKnNzdHJpZGVzLCBjb25zdCBQeV9zc2l6ZV90ICpzc3Vib2Zmc2V0cywKKyAgICAgICAgIGNoYXIgKm1lbSkKK3sKKyAgICBQeV9zc2l6ZV90IGk7CisKKyAgICBhc3NlcnQobmRpbSA+PSAxKTsKKworICAgIGlmIChuZGltID09IDEpIHsKKyAgICAgICAgY29weV9iYXNlKHNoYXBlLCBpdGVtc2l6ZSwKKyAgICAgICAgICAgICAgICAgIGRwdHIsIGRzdHJpZGVzLCBkc3Vib2Zmc2V0cywKKyAgICAgICAgICAgICAgICAgIHNwdHIsIHNzdHJpZGVzLCBzc3Vib2Zmc2V0cywKKyAgICAgICAgICAgICAgICAgIG1lbSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBmb3IgKGkgPSAwOyBpIDwgc2hhcGVbMF07IGRwdHIrPWRzdHJpZGVzWzBdLCBzcHRyKz1zc3RyaWRlc1swXSwgaSsrKSB7CisgICAgICAgIGNoYXIgKnhkcHRyID0gQURKVVNUX1BUUihkcHRyLCBkc3Vib2Zmc2V0cyk7CisgICAgICAgIGNoYXIgKnhzcHRyID0gQURKVVNUX1BUUihzcHRyLCBzc3Vib2Zmc2V0cyk7CisKKyAgICAgICAgY29weV9yZWMoc2hhcGUrMSwgbmRpbS0xLCBpdGVtc2l6ZSwKKyAgICAgICAgICAgICAgICAgeGRwdHIsIGRzdHJpZGVzKzEsIGRzdWJvZmZzZXRzID8gZHN1Ym9mZnNldHMrMSA6IE5VTEwsCisgICAgICAgICAgICAgICAgIHhzcHRyLCBzc3RyaWRlcysxLCBzc3Vib2Zmc2V0cyA/IHNzdWJvZmZzZXRzKzEgOiBOVUxMLAorICAgICAgICAgICAgICAgICBtZW0pOworICAgIH0KK30KKworLyogRmFzdGVyIGNvcHlpbmcgb2Ygb25lLWRpbWVuc2lvbmFsIGFycmF5cy4gKi8KK3N0YXRpYyBpbnQKK2NvcHlfc2luZ2xlKFB5X2J1ZmZlciAqZGVzdCwgUHlfYnVmZmVyICpzcmMpCit7CisgICAgY2hhciAqbWVtID0gTlVMTDsKKworICAgIGFzc2VydChkZXN0LT5uZGltID09IDEpOworCisgICAgaWYgKGNtcF9zdHJ1Y3R1cmUoZGVzdCwgc3JjKSA8IDApCisgICAgICAgIHJldHVybiAtMTsKKworICAgIGlmICghbGFzdF9kaW1faXNfY29udGlndW91cyhkZXN0LCBzcmMpKSB7CisgICAgICAgIG1lbSA9IFB5TWVtX01hbGxvYyhkZXN0LT5zaGFwZVswXSAqIGRlc3QtPml0ZW1zaXplKTsKKyAgICAgICAgaWYgKG1lbSA9PSBOVUxMKSB7CisgICAgICAgICAgICBQeUVycl9Ob01lbW9yeSgpOworICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICB9CisgICAgfQorCisgICAgY29weV9iYXNlKGRlc3QtPnNoYXBlLCBkZXN0LT5pdGVtc2l6ZSwKKyAgICAgICAgICAgICAgZGVzdC0+YnVmLCBkZXN0LT5zdHJpZGVzLCBkZXN0LT5zdWJvZmZzZXRzLAorICAgICAgICAgICAgICBzcmMtPmJ1Ziwgc3JjLT5zdHJpZGVzLCBzcmMtPnN1Ym9mZnNldHMsCisgICAgICAgICAgICAgIG1lbSk7CisKKyAgICBpZiAobWVtKQorICAgICAgICBQeU1lbV9GcmVlKG1lbSk7CisKKyAgICByZXR1cm4gMDsKK30KKworLyogUmVjdXJzaXZlbHkgY29weSBzcmMgdG8gZGVzdC4gQm90aCBidWZmZXJzIG11c3QgaGF2ZSB0aGUgc2FtZSBiYXNpYworICAgc3RydWN0dXJlLiBDb3B5aW5nIGlzIGF0b21pYywgdGhlIGZ1bmN0aW9uIG5ldmVyIGZhaWxzIHdpdGggYSBwYXJ0aWFsCisgICBjb3B5LiAqLworc3RhdGljIGludAorY29weV9idWZmZXIoUHlfYnVmZmVyICpkZXN0LCBQeV9idWZmZXIgKnNyYykKK3sKKyAgICBjaGFyICptZW0gPSBOVUxMOworCisgICAgYXNzZXJ0KGRlc3QtPm5kaW0gPiAwKTsKKworICAgIGlmIChjbXBfc3RydWN0dXJlKGRlc3QsIHNyYykgPCAwKQorICAgICAgICByZXR1cm4gLTE7CisKKyAgICBpZiAoIWxhc3RfZGltX2lzX2NvbnRpZ3VvdXMoZGVzdCwgc3JjKSkgeworICAgICAgICBtZW0gPSBQeU1lbV9NYWxsb2MoZGVzdC0+c2hhcGVbZGVzdC0+bmRpbS0xXSAqIGRlc3QtPml0ZW1zaXplKTsKKyAgICAgICAgaWYgKG1lbSA9PSBOVUxMKSB7CisgICAgICAgICAgICBQeUVycl9Ob01lbW9yeSgpOworICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICB9CisgICAgfQorCisgICAgY29weV9yZWMoZGVzdC0+c2hhcGUsIGRlc3QtPm5kaW0sIGRlc3QtPml0ZW1zaXplLAorICAgICAgICAgICAgIGRlc3QtPmJ1ZiwgZGVzdC0+c3RyaWRlcywgZGVzdC0+c3Vib2Zmc2V0cywKKyAgICAgICAgICAgICBzcmMtPmJ1Ziwgc3JjLT5zdHJpZGVzLCBzcmMtPnN1Ym9mZnNldHMsCisgICAgICAgICAgICAgbWVtKTsKKworICAgIGlmIChtZW0pCisgICAgICAgIFB5TWVtX0ZyZWUobWVtKTsKKworICAgIHJldHVybiAwOworfQorCisvKiBJbml0aWFsaXplIHN0cmlkZXMgZm9yIGEgQy1jb250aWd1b3VzIGFycmF5LiAqLworUHlfTE9DQUxfSU5MSU5FKHZvaWQpCitpbml0X3N0cmlkZXNfZnJvbV9zaGFwZShQeV9idWZmZXIgKnZpZXcpCit7CisgICAgUHlfc3NpemVfdCBpOworCisgICAgYXNzZXJ0KHZpZXctPm5kaW0gPiAwKTsKKworICAgIHZpZXctPnN0cmlkZXNbdmlldy0+bmRpbS0xXSA9IHZpZXctPml0ZW1zaXplOworICAgIGZvciAoaSA9IHZpZXctPm5kaW0tMjsgaSA+PSAwOyBpLS0pCisgICAgICAgIHZpZXctPnN0cmlkZXNbaV0gPSB2aWV3LT5zdHJpZGVzW2krMV0gKiB2aWV3LT5zaGFwZVtpKzFdOworfQorCisvKiBJbml0aWFsaXplIHN0cmlkZXMgZm9yIGEgRm9ydHJhbi1jb250aWd1b3VzIGFycmF5LiAqLworUHlfTE9DQUxfSU5MSU5FKHZvaWQpCitpbml0X2ZvcnRyYW5fc3RyaWRlc19mcm9tX3NoYXBlKFB5X2J1ZmZlciAqdmlldykKK3sKKyAgICBQeV9zc2l6ZV90IGk7CisKKyAgICBhc3NlcnQodmlldy0+bmRpbSA+IDApOworCisgICAgdmlldy0+c3RyaWRlc1swXSA9IHZpZXctPml0ZW1zaXplOworICAgIGZvciAoaSA9IDE7IGkgPCB2aWV3LT5uZGltOyBpKyspCisgICAgICAgIHZpZXctPnN0cmlkZXNbaV0gPSB2aWV3LT5zdHJpZGVzW2ktMV0gKiB2aWV3LT5zaGFwZVtpLTFdOworfQorCisvKiBDb3B5IHNyYyB0byBhIEMtY29udGlndW91cyByZXByZXNlbnRhdGlvbi4gQXNzdW1wdGlvbnM6CisgICBsZW4obWVtKSA9PSBzcmMtPmxlbi4gKi8KK3N0YXRpYyBpbnQKK2J1ZmZlcl90b19jX2NvbnRpZ3VvdXMoY2hhciAqbWVtLCBQeV9idWZmZXIgKnNyYykKK3sKKyAgICBQeV9idWZmZXIgZGVzdDsKKyAgICBQeV9zc2l6ZV90ICpzdHJpZGVzOworICAgIGludCByZXQ7CisKKyAgICBhc3NlcnQoc3JjLT5zaGFwZSAhPSBOVUxMKTsKKyAgICBhc3NlcnQoc3JjLT5zdHJpZGVzICE9IE5VTEwpOworCisgICAgc3RyaWRlcyA9IFB5TWVtX01hbGxvYyhzcmMtPm5kaW0gKiAoc2l6ZW9mICpzcmMtPnN0cmlkZXMpKTsKKyAgICBpZiAoc3RyaWRlcyA9PSBOVUxMKSB7CisgICAgICAgIFB5RXJyX05vTWVtb3J5KCk7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisKKyAgICAvKiBpbml0aWFsaXplIGRlc3QgYXMgYSBDLWNvbnRpZ3VvdXMgYnVmZmVyICovCisgICAgZGVzdCA9ICpzcmM7CisgICAgZGVzdC5idWYgPSBtZW07CisgICAgLyogc2hhcGUgaXMgY29uc3RhbnQgYW5kIHNoYXJlZCAqLworICAgIGRlc3Quc3RyaWRlcyA9IHN0cmlkZXM7CisgICAgaW5pdF9zdHJpZGVzX2Zyb21fc2hhcGUoJmRlc3QpOworICAgIGRlc3Quc3Vib2Zmc2V0cyA9IE5VTEw7CisKKyAgICByZXQgPSBjb3B5X2J1ZmZlcigmZGVzdCwgc3JjKTsKKworICAgIFB5TWVtX0ZyZWUoc3RyaWRlcyk7CisgICAgcmV0dXJuIHJldDsKK30KKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbnN0cnVjdG9ycyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qIEluaXRpYWxpemUgdmFsdWVzIHRoYXQgYXJlIHNoYXJlZCB3aXRoIHRoZSBtYW5hZ2VkIGJ1ZmZlci4gKi8KK1B5X0xPQ0FMX0lOTElORSh2b2lkKQoraW5pdF9zaGFyZWRfdmFsdWVzKFB5X2J1ZmZlciAqZGVzdCwgY29uc3QgUHlfYnVmZmVyICpzcmMpCit7CisgICAgZGVzdC0+b2JqID0gc3JjLT5vYmo7CisgICAgZGVzdC0+YnVmID0gc3JjLT5idWY7CisgICAgZGVzdC0+bGVuID0gc3JjLT5sZW47CisgICAgZGVzdC0+aXRlbXNpemUgPSBzcmMtPml0ZW1zaXplOworICAgIGRlc3QtPnJlYWRvbmx5ID0gc3JjLT5yZWFkb25seTsKKyAgICBkZXN0LT5mb3JtYXQgPSBzcmMtPmZvcm1hdCA/IHNyYy0+Zm9ybWF0IDogIkIiOworICAgIGRlc3QtPmludGVybmFsID0gc3JjLT5pbnRlcm5hbDsKK30KKworLyogQ29weSBzaGFwZSBhbmQgc3RyaWRlcy4gUmVjb25zdHJ1Y3QgbWlzc2luZyB2YWx1ZXMuICovCitzdGF0aWMgdm9pZAoraW5pdF9zaGFwZV9zdHJpZGVzKFB5X2J1ZmZlciAqZGVzdCwgY29uc3QgUHlfYnVmZmVyICpzcmMpCit7CisgICAgUHlfc3NpemVfdCBpOworCisgICAgaWYgKHNyYy0+bmRpbSA9PSAwKSB7CisgICAgICAgIGRlc3QtPnNoYXBlID0gTlVMTDsKKyAgICAgICAgZGVzdC0+c3RyaWRlcyA9IE5VTEw7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgaWYgKHNyYy0+bmRpbSA9PSAxKSB7CisgICAgICAgIGRlc3QtPnNoYXBlWzBdID0gc3JjLT5zaGFwZSA/IHNyYy0+c2hhcGVbMF0gOiBzcmMtPmxlbiAvIHNyYy0+aXRlbXNpemU7CisgICAgICAgIGRlc3QtPnN0cmlkZXNbMF0gPSBzcmMtPnN0cmlkZXMgPyBzcmMtPnN0cmlkZXNbMF0gOiBzcmMtPml0ZW1zaXplOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgZm9yIChpID0gMDsgaSA8IHNyYy0+bmRpbTsgaSsrKQorICAgICAgICBkZXN0LT5zaGFwZVtpXSA9IHNyYy0+c2hhcGVbaV07CisgICAgaWYgKHNyYy0+c3RyaWRlcykgeworICAgICAgICBmb3IgKGkgPSAwOyBpIDwgc3JjLT5uZGltOyBpKyspCisgICAgICAgICAgICBkZXN0LT5zdHJpZGVzW2ldID0gc3JjLT5zdHJpZGVzW2ldOworICAgIH0KKyAgICBlbHNlIHsKKyAgICAgICAgaW5pdF9zdHJpZGVzX2Zyb21fc2hhcGUoZGVzdCk7CisgICAgfQorfQorCitQeV9MT0NBTF9JTkxJTkUodm9pZCkKK2luaXRfc3Vib2Zmc2V0cyhQeV9idWZmZXIgKmRlc3QsIGNvbnN0IFB5X2J1ZmZlciAqc3JjKQoreworICAgIFB5X3NzaXplX3QgaTsKKworICAgIGlmIChzcmMtPnN1Ym9mZnNldHMgPT0gTlVMTCkgeworICAgICAgICBkZXN0LT5zdWJvZmZzZXRzID0gTlVMTDsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBmb3IgKGkgPSAwOyBpIDwgc3JjLT5uZGltOyBpKyspCisgICAgICAgIGRlc3QtPnN1Ym9mZnNldHNbaV0gPSBzcmMtPnN1Ym9mZnNldHNbaV07Cit9CisKKy8qIGxlbiA9IHByb2R1Y3Qoc2hhcGUpICogaXRlbXNpemUgKi8KK1B5X0xPQ0FMX0lOTElORSh2b2lkKQoraW5pdF9sZW4oUHlfYnVmZmVyICp2aWV3KQoreworICAgIFB5X3NzaXplX3QgaSwgbGVuOworCisgICAgbGVuID0gMTsKKyAgICBmb3IgKGkgPSAwOyBpIDwgdmlldy0+bmRpbTsgaSsrKQorICAgICAgICBsZW4gKj0gdmlldy0+c2hhcGVbaV07CisgICAgbGVuICo9IHZpZXctPml0ZW1zaXplOworCisgICAgdmlldy0+bGVuID0gbGVuOworfQorCisvKiBJbml0aWFsaXplIG1lbW9yeXZpZXcgYnVmZmVyIHByb3BlcnRpZXMuICovCitzdGF0aWMgdm9pZAoraW5pdF9mbGFncyhQeU1lbW9yeVZpZXdPYmplY3QgKm12KQoreworICAgIGNvbnN0IFB5X2J1ZmZlciAqdmlldyA9ICZtdi0+dmlldzsKKyAgICBpbnQgZmxhZ3MgPSAwOworCisgICAgc3dpdGNoICh2aWV3LT5uZGltKSB7CisgICAgY2FzZSAwOgorICAgICAgICBmbGFncyB8PSAoX1B5X01FTU9SWVZJRVdfU0NBTEFSfF9QeV9NRU1PUllWSUVXX0N8CisgICAgICAgICAgICAgICAgICBfUHlfTUVNT1JZVklFV19GT1JUUkFOKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSAxOgorICAgICAgICBpZiAoTVZfQ09OVElHVU9VU19ORElNMSh2aWV3KSkKKyAgICAgICAgICAgIGZsYWdzIHw9IChfUHlfTUVNT1JZVklFV19DfF9QeV9NRU1PUllWSUVXX0ZPUlRSQU4pOworICAgICAgICBicmVhazsKKyAgICBkZWZhdWx0OgorICAgICAgICBpZiAoUHlCdWZmZXJfSXNDb250aWd1b3VzKHZpZXcsICdDJykpCisgICAgICAgICAgICBmbGFncyB8PSBfUHlfTUVNT1JZVklFV19DOworICAgICAgICBpZiAoUHlCdWZmZXJfSXNDb250aWd1b3VzKHZpZXcsICdGJykpCisgICAgICAgICAgICBmbGFncyB8PSBfUHlfTUVNT1JZVklFV19GT1JUUkFOOworICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICBpZiAodmlldy0+c3Vib2Zmc2V0cykgeworICAgICAgICBmbGFncyB8PSBfUHlfTUVNT1JZVklFV19QSUw7CisgICAgICAgIGZsYWdzICY9IH4oX1B5X01FTU9SWVZJRVdfQ3xfUHlfTUVNT1JZVklFV19GT1JUUkFOKTsKKyAgICB9CisKKyAgICBtdi0+ZmxhZ3MgPSBmbGFnczsKK30KKworLyogQWxsb2NhdGUgYSBuZXcgbWVtb3J5dmlldyBhbmQgcGVyZm9ybSBiYXNpYyBpbml0aWFsaXphdGlvbi4gTmV3IG1lbW9yeXZpZXdzCisgICBhcmUgZXhjbHVzaXZlbHkgY3JlYXRlZCB0aHJvdWdoIHRoZSBtYnVmX2FkZCBmdW5jdGlvbnMuICovCitQeV9MT0NBTF9JTkxJTkUoUHlNZW1vcnlWaWV3T2JqZWN0ICopCittZW1vcnlfYWxsb2MoaW50IG5kaW0pCit7CisgICAgUHlNZW1vcnlWaWV3T2JqZWN0ICptdjsKKworICAgIG12ID0gKFB5TWVtb3J5Vmlld09iamVjdCAqKQorICAgICAgICBQeU9iamVjdF9HQ19OZXdWYXIoUHlNZW1vcnlWaWV3T2JqZWN0LCAmUHlNZW1vcnlWaWV3X1R5cGUsIDMqbmRpbSk7CisgICAgaWYgKG12ID09IE5VTEwpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgbXYtPm1idWYgPSBOVUxMOworICAgIG12LT5oYXNoID0gLTE7CisgICAgbXYtPmZsYWdzID0gMDsKKyAgICBtdi0+ZXhwb3J0cyA9IDA7CisgICAgbXYtPnZpZXcubmRpbSA9IG5kaW07CisgICAgbXYtPnZpZXcuc2hhcGUgPSBtdi0+b2JfYXJyYXk7CisgICAgbXYtPnZpZXcuc3RyaWRlcyA9IG12LT5vYl9hcnJheSArIG5kaW07CisgICAgbXYtPnZpZXcuc3Vib2Zmc2V0cyA9IG12LT5vYl9hcnJheSArIDIgKiBuZGltOworCisgICAgX1B5T2JqZWN0X0dDX1RSQUNLKG12KTsKKyAgICByZXR1cm4gbXY7Cit9CisKKy8qCisgICBSZXR1cm4gYSBuZXcgbWVtb3J5dmlldyB0aGF0IGlzIHJlZ2lzdGVyZWQgd2l0aCBtYnVmLiBJZiBzcmMgaXMgTlVMTCwKKyAgIHVzZSBtYnVmLT5tYXN0ZXIgYXMgdGhlIHVuZGVybHlpbmcgYnVmZmVyLiBPdGhlcndpc2UsIHVzZSBzcmMuCisKKyAgIFRoZSBuZXcgbWVtb3J5dmlldyBoYXMgZnVsbCBidWZmZXIgaW5mb3JtYXRpb246IHNoYXBlIGFuZCBzdHJpZGVzCisgICBhcmUgYWx3YXlzIHByZXNlbnQsIHN1Ym9mZnNldHMgYXMgbmVlZGVkLiBBcnJheXMgYXJlIGNvcGllZCB0bworICAgdGhlIG1lbW9yeXZpZXcncyBvYl9hcnJheSBmaWVsZC4KKyAqLworc3RhdGljIFB5T2JqZWN0ICoKK21idWZfYWRkX3ZpZXcoX1B5TWFuYWdlZEJ1ZmZlck9iamVjdCAqbWJ1ZiwgY29uc3QgUHlfYnVmZmVyICpzcmMpCit7CisgICAgUHlNZW1vcnlWaWV3T2JqZWN0ICptdjsKKyAgICBQeV9idWZmZXIgKmRlc3Q7CisKKyAgICBpZiAoc3JjID09IE5VTEwpCisgICAgICAgIHNyYyA9ICZtYnVmLT5tYXN0ZXI7CisKKyAgICBpZiAoc3JjLT5uZGltID4gUHlCVUZfTUFYX05ESU0pIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsCisgICAgICAgICAgICAibWVtb3J5dmlldzogbnVtYmVyIG9mIGRpbWVuc2lvbnMgbXVzdCBub3QgZXhjZWVkICIKKyAgICAgICAgICAgIFNUUklOR0laRShQeUJVRl9NQVhfTkRJTSkpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisKKyAgICBtdiA9IG1lbW9yeV9hbGxvYyhzcmMtPm5kaW0pOworICAgIGlmIChtdiA9PSBOVUxMKQorICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIGRlc3QgPSAmbXYtPnZpZXc7CisgICAgaW5pdF9zaGFyZWRfdmFsdWVzKGRlc3QsIHNyYyk7CisgICAgaW5pdF9zaGFwZV9zdHJpZGVzKGRlc3QsIHNyYyk7CisgICAgaW5pdF9zdWJvZmZzZXRzKGRlc3QsIHNyYyk7CisgICAgaW5pdF9mbGFncyhtdik7CisKKyAgICBtdi0+bWJ1ZiA9IG1idWY7CisgICAgUHlfSU5DUkVGKG1idWYpOworICAgIG1idWYtPmV4cG9ydHMrKzsKKworICAgIHJldHVybiAoUHlPYmplY3QgKiltdjsKK30KKworLyogUmVnaXN0ZXIgYW4gaW5jb21wbGV0ZSB2aWV3OiBzaGFwZSwgc3RyaWRlcywgc3Vib2Zmc2V0cyBhbmQgZmxhZ3Mgc3RpbGwKKyAgIG5lZWQgdG8gYmUgaW5pdGlhbGl6ZWQuIFVzZSAnbmRpbScgaW5zdGVhZCBvZiBzcmMtPm5kaW0gdG8gZGV0ZXJtaW5lIHRoZQorICAgc2l6ZSBvZiB0aGUgbWVtb3J5dmlldydzIG9iX2FycmF5LgorCisgICBBc3N1bXB0aW9uOiBuZGltIDw9IFB5QlVGX01BWF9ORElNLiAqLworc3RhdGljIFB5T2JqZWN0ICoKK21idWZfYWRkX2luY29tcGxldGVfdmlldyhfUHlNYW5hZ2VkQnVmZmVyT2JqZWN0ICptYnVmLCBjb25zdCBQeV9idWZmZXIgKnNyYywKKyAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgbmRpbSkKK3sKKyAgICBQeU1lbW9yeVZpZXdPYmplY3QgKm12OworICAgIFB5X2J1ZmZlciAqZGVzdDsKKworICAgIGlmIChzcmMgPT0gTlVMTCkKKyAgICAgICAgc3JjID0gJm1idWYtPm1hc3RlcjsKKworICAgIGFzc2VydChuZGltIDw9IFB5QlVGX01BWF9ORElNKTsKKworICAgIG12ID0gbWVtb3J5X2FsbG9jKG5kaW0pOworICAgIGlmIChtdiA9PSBOVUxMKQorICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIGRlc3QgPSAmbXYtPnZpZXc7CisgICAgaW5pdF9zaGFyZWRfdmFsdWVzKGRlc3QsIHNyYyk7CisKKyAgICBtdi0+bWJ1ZiA9IG1idWY7CisgICAgUHlfSU5DUkVGKG1idWYpOworICAgIG1idWYtPmV4cG9ydHMrKzsKKworICAgIHJldHVybiAoUHlPYmplY3QgKiltdjsKK30KKworLyogRXhwb3NlIGEgcmF3IG1lbW9yeSBhcmVhIGFzIGEgdmlldyBvZiBjb250aWd1b3VzIGJ5dGVzLiBmbGFncyBjYW4gYmUKKyAgIFB5QlVGX1JFQUQgb3IgUHlCVUZfV1JJVEUuIHZpZXctPmZvcm1hdCBpcyBzZXQgdG8gIkIiICh1bnNpZ25lZCBieXRlcykuCisgICBUaGUgbWVtb3J5dmlldyBoYXMgY29tcGxldGUgYnVmZmVyIGluZm9ybWF0aW9uLiAqLworUHlPYmplY3QgKgorUHlNZW1vcnlWaWV3X0Zyb21NZW1vcnkoY2hhciAqbWVtLCBQeV9zc2l6ZV90IHNpemUsIGludCBmbGFncykKK3sKKyAgICBfUHlNYW5hZ2VkQnVmZmVyT2JqZWN0ICptYnVmOworICAgIFB5T2JqZWN0ICptdjsKKyAgICBpbnQgcmVhZG9ubHk7CisKKyAgICBhc3NlcnQobWVtICE9IE5VTEwpOworICAgIGFzc2VydChmbGFncyA9PSBQeUJVRl9SRUFEIHx8IGZsYWdzID09IFB5QlVGX1dSSVRFKTsKKworICAgIG1idWYgPSBtYnVmX2FsbG9jKCk7CisgICAgaWYgKG1idWYgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICByZWFkb25seSA9IChmbGFncyA9PSBQeUJVRl9XUklURSkgPyAwIDogMTsKKyAgICAodm9pZClQeUJ1ZmZlcl9GaWxsSW5mbygmbWJ1Zi0+bWFzdGVyLCBOVUxMLCBtZW0sIHNpemUsIHJlYWRvbmx5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5QlVGX0ZVTExfUk8pOworCisgICAgbXYgPSBtYnVmX2FkZF92aWV3KG1idWYsIE5VTEwpOworICAgIFB5X0RFQ1JFRihtYnVmKTsKKworICAgIHJldHVybiBtdjsKK30KKworLyogQ3JlYXRlIGEgbWVtb3J5dmlldyBmcm9tIGEgZ2l2ZW4gUHlfYnVmZmVyLiBGb3Igc2ltcGxlIGJ5dGUgdmlld3MsCisgICBQeU1lbW9yeVZpZXdfRnJvbU1lbW9yeSgpIHNob3VsZCBiZSB1c2VkIGluc3RlYWQuCisgICBUaGlzIGZ1bmN0aW9uIGlzIHRoZSBvbmx5IGVudHJ5IHBvaW50IHRoYXQgY2FuIGNyZWF0ZSBhIG1hc3RlciBidWZmZXIKKyAgIHdpdGhvdXQgZnVsbCBpbmZvcm1hdGlvbi4gQmVjYXVzZSBvZiB0aGlzIGZhY3QgaW5pdF9zaGFwZV9zdHJpZGVzKCkKKyAgIG11c3QgYmUgYWJsZSB0byByZWNvbnN0cnVjdCBtaXNzaW5nIHZhbHVlcy4gICovCiBQeU9iamVjdCAqCiBQeU1lbW9yeVZpZXdfRnJvbUJ1ZmZlcihQeV9idWZmZXIgKmluZm8pCiB7Ci0gICAgUHlNZW1vcnlWaWV3T2JqZWN0ICptdmlldzsKKyAgICBfUHlNYW5hZ2VkQnVmZmVyT2JqZWN0ICptYnVmOworICAgIFB5T2JqZWN0ICptdjsKIAogICAgIGlmIChpbmZvLT5idWYgPT0gTlVMTCkgewogICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwKLSAgICAgICAgICAgICJjYW5ub3QgbWFrZSBtZW1vcnkgdmlldyBmcm9tIGEgYnVmZmVyIHdpdGggYSBOVUxMIGRhdGEgcG9pbnRlciIpOworICAgICAgICAgICAgIlB5TWVtb3J5Vmlld19Gcm9tQnVmZmVyKCk6IGluZm8tPmJ1ZiBtdXN0IG5vdCBiZSBOVUxMIik7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KLSAgICBtdmlldyA9IChQeU1lbW9yeVZpZXdPYmplY3QgKikKLSAgICAgICAgUHlPYmplY3RfR0NfTmV3KFB5TWVtb3J5Vmlld09iamVjdCwgJlB5TWVtb3J5Vmlld19UeXBlKTsKLSAgICBpZiAobXZpZXcgPT0gTlVMTCkKKworICAgIG1idWYgPSBtYnVmX2FsbG9jKCk7CisgICAgaWYgKG1idWYgPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgZHVwX2J1ZmZlcigmbXZpZXctPnZpZXcsIGluZm8pOwotICAgIC8qIE5PVEU6IG12aWV3LT52aWV3Lm9iaiBzaG91bGQgYWxyZWFkeSBoYXZlIGJlZW4gaW5jcmVmJ2VkIGFzCi0gICAgICAgcGFydCBvZiBQeUJ1ZmZlcl9GaWxsSW5mbygpLiAqLwotICAgIF9QeU9iamVjdF9HQ19UUkFDSyhtdmlldyk7Ci0gICAgcmV0dXJuIChQeU9iamVjdCAqKW12aWV3OworCisgICAgLyogaW5mby0+b2JqIGlzIGVpdGhlciBOVUxMIG9yIGEgYm9ycm93ZWQgcmVmZXJlbmNlLiBUaGlzIHJlZmVyZW5jZQorICAgICAgIHNob3VsZCBub3QgYmUgZGVjcmVtZW50ZWQgaW4gUHlCdWZmZXJfUmVsZWFzZSgpLiAqLworICAgIG1idWYtPm1hc3RlciA9ICppbmZvOworICAgIG1idWYtPm1hc3Rlci5vYmogPSBOVUxMOworCisgICAgbXYgPSBtYnVmX2FkZF92aWV3KG1idWYsIE5VTEwpOworICAgIFB5X0RFQ1JFRihtYnVmKTsKKworICAgIHJldHVybiBtdjsKIH0KIAorLyogQ3JlYXRlIGEgbWVtb3J5dmlldyBmcm9tIGFuIG9iamVjdCB0aGF0IGltcGxlbWVudHMgdGhlIGJ1ZmZlciBwcm90b2NvbC4KKyAgIElmIHRoZSBvYmplY3QgaXMgYSBtZW1vcnl2aWV3LCB0aGUgbmV3IG1lbW9yeXZpZXcgbXVzdCBiZSByZWdpc3RlcmVkCisgICB3aXRoIHRoZSBzYW1lIG1hbmFnZWQgYnVmZmVyLiBPdGhlcndpc2UsIGEgbmV3IG1hbmFnZWQgYnVmZmVyIGlzIGNyZWF0ZWQuICovCiBQeU9iamVjdCAqCi1QeU1lbW9yeVZpZXdfRnJvbU9iamVjdChQeU9iamVjdCAqYmFzZSkKK1B5TWVtb3J5Vmlld19Gcm9tT2JqZWN0KFB5T2JqZWN0ICp2KQogewotICAgIFB5TWVtb3J5Vmlld09iamVjdCAqbXZpZXc7Ci0gICAgUHlfYnVmZmVyIHZpZXc7CisgICAgX1B5TWFuYWdlZEJ1ZmZlck9iamVjdCAqbWJ1ZjsKIAotICAgIGlmICghUHlPYmplY3RfQ2hlY2tCdWZmZXIoYmFzZSkpIHsKLSAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwKLSAgICAgICAgICAgICJjYW5ub3QgbWFrZSBtZW1vcnkgdmlldyBiZWNhdXNlIG9iamVjdCBkb2VzICIKLSAgICAgICAgICAgICJub3QgaGF2ZSB0aGUgYnVmZmVyIGludGVyZmFjZSIpOwotICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBpZiAoUHlNZW1vcnlWaWV3X0NoZWNrKHYpKSB7CisgICAgICAgIFB5TWVtb3J5Vmlld09iamVjdCAqbXYgPSAoUHlNZW1vcnlWaWV3T2JqZWN0ICopdjsKKyAgICAgICAgQ0hFQ0tfUkVMRUFTRUQobXYpOworICAgICAgICByZXR1cm4gbWJ1Zl9hZGRfdmlldyhtdi0+bWJ1ZiwgJm12LT52aWV3KTsKKyAgICB9CisgICAgZWxzZSBpZiAoUHlPYmplY3RfQ2hlY2tCdWZmZXIodikpIHsKKyAgICAgICAgUHlPYmplY3QgKnJldDsKKyAgICAgICAgbWJ1ZiA9IChfUHlNYW5hZ2VkQnVmZmVyT2JqZWN0ICopX1B5TWFuYWdlZEJ1ZmZlcl9Gcm9tT2JqZWN0KHYpOworICAgICAgICBpZiAobWJ1ZiA9PSBOVUxMKQorICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIHJldCA9IG1idWZfYWRkX3ZpZXcobWJ1ZiwgTlVMTCk7CisgICAgICAgIFB5X0RFQ1JFRihtYnVmKTsKKyAgICAgICAgcmV0dXJuIHJldDsKICAgICB9CiAKLSAgICBpZiAoUHlPYmplY3RfR2V0QnVmZmVyKGJhc2UsICZ2aWV3LCBQeUJVRl9GVUxMX1JPKSA8IDApCi0gICAgICAgIHJldHVybiBOVUxMOwotCi0gICAgbXZpZXcgPSAoUHlNZW1vcnlWaWV3T2JqZWN0ICopUHlNZW1vcnlWaWV3X0Zyb21CdWZmZXIoJnZpZXcpOwotICAgIGlmIChtdmlldyA9PSBOVUxMKSB7Ci0gICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJnZpZXcpOwotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICB9Ci0KLSAgICByZXR1cm4gKFB5T2JqZWN0ICopbXZpZXc7CisgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1R5cGVFcnJvciwKKyAgICAgICAgIm1lbW9yeXZpZXc6ICUuMjAwcyBvYmplY3QgZG9lcyBub3QgaGF2ZSB0aGUgYnVmZmVyIGludGVyZmFjZSIsCisgICAgICAgIFB5X1RZUEUodiktPnRwX25hbWUpOworICAgIHJldHVybiBOVUxMOwogfQogCisvKiBDb3B5IHRoZSBmb3JtYXQgc3RyaW5nIGZyb20gYSBiYXNlIG9iamVjdCB0aGF0IG1pZ2h0IHZhbmlzaC4gKi8KK3N0YXRpYyBpbnQKK21idWZfY29weV9mb3JtYXQoX1B5TWFuYWdlZEJ1ZmZlck9iamVjdCAqbWJ1ZiwgY29uc3QgY2hhciAqZm10KQoreworICAgIGlmIChmbXQgIT0gTlVMTCkgeworICAgICAgICBjaGFyICpjcCA9IFB5TWVtX01hbGxvYyhzdHJsZW4oZm10KSsxKTsKKyAgICAgICAgaWYgKGNwID09IE5VTEwpIHsKKyAgICAgICAgICAgIFB5RXJyX05vTWVtb3J5KCk7CisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIH0KKyAgICAgICAgbWJ1Zi0+bWFzdGVyLmZvcm1hdCA9IHN0cmNweShjcCwgZm10KTsKKyAgICAgICAgbWJ1Zi0+ZmxhZ3MgfD0gX1B5X01BTkFHRURfQlVGRkVSX0ZSRUVfRk9STUFUOworICAgIH0KKworICAgIHJldHVybiAwOworfQorCisvKgorICAgUmV0dXJuIGEgbWVtb3J5dmlldyB0aGF0IGlzIGJhc2VkIG9uIGEgY29udGlndW91cyBjb3B5IG9mIHNyYy4KKyAgIEFzc3VtcHRpb25zOiBzcmMgaGFzIFB5QlVGX0ZVTExfUk8gaW5mb3JtYXRpb24sIHNyYy0+bmRpbSA+IDAuCisKKyAgIE93bmVyc2hpcCBydWxlczoKKyAgICAgMSkgQXMgdXN1YWwsIHRoZSByZXR1cm5lZCBtZW1vcnl2aWV3IGhhcyBhIHByaXZhdGUgY29weQorICAgICAgICBvZiBzcmMtPnNoYXBlLCBzcmMtPnN0cmlkZXMgYW5kIHNyYy0+c3Vib2Zmc2V0cy4KKyAgICAgMikgc3JjLT5mb3JtYXQgaXMgY29waWVkIHRvIHRoZSBtYXN0ZXIgYnVmZmVyIGFuZCByZWxlYXNlZAorICAgICAgICBpbiBtYnVmX2RlYWxsb2MoKS4gVGhlIHJlbGVhc2VidWZmZXJwcm9jIG9mIHRoZSBieXRlcworICAgICAgICBvYmplY3QgaXMgTlVMTCwgc28gaXQgZG9lcyBub3QgbWF0dGVyIHRoYXQgbWJ1Zl9yZWxlYXNlKCkKKyAgICAgICAgcGFzc2VzIHRoZSBhbHRlcmVkIGZvcm1hdCBwb2ludGVyIHRvIFB5QnVmZmVyX1JlbGVhc2UoKS4KKyovCitzdGF0aWMgUHlPYmplY3QgKgorbWVtb3J5X2Zyb21fY29udGlndW91c19jb3B5KFB5X2J1ZmZlciAqc3JjLCBjaGFyIG9yZGVyKQoreworICAgIF9QeU1hbmFnZWRCdWZmZXJPYmplY3QgKm1idWY7CisgICAgUHlNZW1vcnlWaWV3T2JqZWN0ICptdjsKKyAgICBQeU9iamVjdCAqYnl0ZXM7CisgICAgUHlfYnVmZmVyICpkZXN0OworICAgIGludCBpOworCisgICAgYXNzZXJ0KHNyYy0+bmRpbSA+IDApOworICAgIGFzc2VydChzcmMtPnNoYXBlICE9IE5VTEwpOworCisgICAgYnl0ZXMgPSBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplKE5VTEwsIHNyYy0+bGVuKTsKKyAgICBpZiAoYnl0ZXMgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICBtYnVmID0gKF9QeU1hbmFnZWRCdWZmZXJPYmplY3QgKilfUHlNYW5hZ2VkQnVmZmVyX0Zyb21PYmplY3QoYnl0ZXMpOworICAgIFB5X0RFQ1JFRihieXRlcyk7CisgICAgaWYgKG1idWYgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICBpZiAobWJ1Zl9jb3B5X2Zvcm1hdChtYnVmLCBzcmMtPmZvcm1hdCkgPCAwKSB7CisgICAgICAgIFB5X0RFQ1JFRihtYnVmKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorCisgICAgbXYgPSAoUHlNZW1vcnlWaWV3T2JqZWN0ICopbWJ1Zl9hZGRfaW5jb21wbGV0ZV92aWV3KG1idWYsIE5VTEwsIHNyYy0+bmRpbSk7CisgICAgUHlfREVDUkVGKG1idWYpOworICAgIGlmIChtdiA9PSBOVUxMKQorICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIGRlc3QgPSAmbXYtPnZpZXc7CisKKyAgICAvKiBzaGFyZWQgdmFsdWVzIGFyZSBpbml0aWFsaXplZCBjb3JyZWN0bHkgZXhjZXB0IGZvciBpdGVtc2l6ZSAqLworICAgIGRlc3QtPml0ZW1zaXplID0gc3JjLT5pdGVtc2l6ZTsKKworICAgIC8qIHNoYXBlIGFuZCBzdHJpZGVzICovCisgICAgZm9yIChpID0gMDsgaSA8IHNyYy0+bmRpbTsgaSsrKSB7CisgICAgICAgIGRlc3QtPnNoYXBlW2ldID0gc3JjLT5zaGFwZVtpXTsKKyAgICB9CisgICAgaWYgKG9yZGVyID09ICdDJyB8fCBvcmRlciA9PSAnQScpIHsKKyAgICAgICAgaW5pdF9zdHJpZGVzX2Zyb21fc2hhcGUoZGVzdCk7CisgICAgfQorICAgIGVsc2UgeworICAgICAgICBpbml0X2ZvcnRyYW5fc3RyaWRlc19mcm9tX3NoYXBlKGRlc3QpOworICAgIH0KKyAgICAvKiBzdWJvZmZzZXRzICovCisgICAgZGVzdC0+c3Vib2Zmc2V0cyA9IE5VTEw7CisKKyAgICAvKiBmbGFncyAqLworICAgIGluaXRfZmxhZ3MobXYpOworCisgICAgaWYgKGNvcHlfYnVmZmVyKGRlc3QsIHNyYykgPCAwKSB7CisgICAgICAgIFB5X0RFQ1JFRihtdik7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKworICAgIHJldHVybiAoUHlPYmplY3QgKiltdjsKK30KKworLyoKKyAgIFJldHVybiBhIG5ldyBtZW1vcnl2aWV3IG9iamVjdCBiYXNlZCBvbiBhIGNvbnRpZ3VvdXMgZXhwb3J0ZXIgd2l0aAorICAgYnVmZmVydHlwZT17UHlCVUZfUkVBRCwgUHlCVUZfV1JJVEV9IGFuZCBvcmRlcj17J0MnLCAnRidvcnRyYW4sIG9yICdBJ255fS4KKyAgIFRoZSBsb2dpY2FsIHN0cnVjdHVyZSBvZiB0aGUgaW5wdXQgYW5kIG91dHB1dCBidWZmZXJzIGlzIHRoZSBzYW1lCisgICAoaS5lLiB0b2xpc3QoaW5wdXQpID09IHRvbGlzdChvdXRwdXQpKSwgYnV0IHRoZSBwaHlzaWNhbCBsYXlvdXQgaW4KKyAgIG1lbW9yeSBjYW4gYmUgZXhwbGljaXRseSBjaG9zZW4uCisgCisgICBBcyB1c3VhbCwgaWYgYnVmZmVydHlwZT1QeUJVRl9XUklURSwgdGhlIGV4cG9ydGVyJ3MgYnVmZmVyIG11c3QgYmUgd3JpdGFibGUsCisgICBvdGhlcndpc2UgaXQgbWF5IGJlIHdyaXRhYmxlIG9yIHJlYWQtb25seS4KKworICAgSWYgdGhlIGV4cG9ydGVyIGlzIGFscmVhZHkgY29udGlndW91cyB3aXRoIHRoZSBkZXNpcmVkIHRhcmdldCBvcmRlciwKKyAgIHRoZSBtZW1vcnl2aWV3IHdpbGwgYmUgZGlyZWN0bHkgYmFzZWQgb24gdGhlIGV4cG9ydGVyLgorCisgICBPdGhlcndpc2UsIGlmIHRoZSBidWZmZXJ0eXBlIGlzIFB5QlVGX1JFQUQsIHRoZSBtZW1vcnl2aWV3IHdpbGwgYmUKKyAgIGJhc2VkIG9uIGEgbmV3IGJ5dGVzIG9iamVjdC4gSWYgb3JkZXI9eydDJywgJ0Enbnl9LCB1c2UgJ0MnIG9yZGVyLAorICAgJ0Ynb3J0cmFuIG9yZGVyIG90aGVyd2lzZS4KKyovCitQeU9iamVjdCAqCitQeU1lbW9yeVZpZXdfR2V0Q29udGlndW91cyhQeU9iamVjdCAqb2JqLCBpbnQgYnVmZmVydHlwZSwgY2hhciBvcmRlcikKK3sKKyAgICBQeU1lbW9yeVZpZXdPYmplY3QgKm12OworICAgIFB5T2JqZWN0ICpyZXQ7CisgICAgUHlfYnVmZmVyICp2aWV3OworCisgICAgYXNzZXJ0KGJ1ZmZlcnR5cGUgPT0gUHlCVUZfUkVBRCB8fCBidWZmZXJ0eXBlID09IFB5QlVGX1dSSVRFKTsKKyAgICBhc3NlcnQob3JkZXIgPT0gJ0MnIHx8IG9yZGVyID09ICdGJyB8fCBvcmRlciA9PSAnQScpOworCisgICAgbXYgPSAoUHlNZW1vcnlWaWV3T2JqZWN0ICopUHlNZW1vcnlWaWV3X0Zyb21PYmplY3Qob2JqKTsKKyAgICBpZiAobXYgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICB2aWV3ID0gJm12LT52aWV3OworICAgIGlmIChidWZmZXJ0eXBlID09IFB5QlVGX1dSSVRFICYmIHZpZXctPnJlYWRvbmx5KSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19CdWZmZXJFcnJvciwKKyAgICAgICAgICAgICJ1bmRlcmx5aW5nIGJ1ZmZlciBpcyBub3Qgd3JpdGFibGUiKTsKKyAgICAgICAgUHlfREVDUkVGKG12KTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorCisgICAgaWYgKFB5QnVmZmVyX0lzQ29udGlndW91cyh2aWV3LCBvcmRlcikpCisgICAgICAgIHJldHVybiAoUHlPYmplY3QgKiltdjsKKworICAgIGlmIChidWZmZXJ0eXBlID09IFB5QlVGX1dSSVRFKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19CdWZmZXJFcnJvciwKKyAgICAgICAgICAgICJ3cml0YWJsZSBjb250aWd1b3VzIGJ1ZmZlciByZXF1ZXN0ZWQgIgorICAgICAgICAgICAgImZvciBhIG5vbi1jb250aWd1b3VzIG9iamVjdC4iKTsKKyAgICAgICAgUHlfREVDUkVGKG12KTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorCisgICAgcmV0ID0gbWVtb3J5X2Zyb21fY29udGlndW91c19jb3B5KHZpZXcsIG9yZGVyKTsKKyAgICBQeV9ERUNSRUYobXYpOworICAgIHJldHVybiByZXQ7Cit9CisKKwogc3RhdGljIFB5T2JqZWN0ICoKIG1lbW9yeV9uZXcoUHlUeXBlT2JqZWN0ICpzdWJ0eXBlLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3ZHMpCiB7CiAgICAgUHlPYmplY3QgKm9iajsKLSAgICBzdGF0aWMgY2hhciAqa3dsaXN0W10gPSB7Im9iamVjdCIsIDB9OworICAgIHN0YXRpYyBjaGFyICprd2xpc3RbXSA9IHsib2JqZWN0IiwgTlVMTH07CiAKICAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2RzLCAiTzptZW1vcnl2aWV3Iiwga3dsaXN0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZvYmopKSB7CkBAIC0xMzEsMjAzICs5MjAsMTU3MSBAQAogfQogCiAKLXN0YXRpYyB2b2lkCi1fc3RyaWRlZF9jb3B5X25kKGNoYXIgKmRlc3QsIGNoYXIgKnNyYywgaW50IG5kLCBQeV9zc2l6ZV90ICpzaGFwZSwKLSAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCAqc3RyaWRlcywgUHlfc3NpemVfdCBpdGVtc2l6ZSwgY2hhciBmb3J0KQorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlbGVhc2UvR0MgbWFuYWdlbWVudCAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKiBJbmZvcm0gdGhlIG1hbmFnZWQgYnVmZmVyIHRoYXQgdGhpcyBwYXJ0aWN1bGFyIG1lbW9yeXZpZXcgd2lsbCBub3QgYWNjZXNzCisgICB0aGUgdW5kZXJseWluZyBidWZmZXIgYWdhaW4uIElmIG5vIG90aGVyIG1lbW9yeXZpZXdzIGFyZSByZWdpc3RlcmVkIHdpdGgKKyAgIHRoZSBtYW5hZ2VkIGJ1ZmZlciwgdGhlIHVuZGVybHlpbmcgYnVmZmVyIGlzIHJlbGVhc2VkIGluc3RhbnRseSBhbmQKKyAgIG1hcmtlZCBhcyBpbmFjY2Vzc2libGUgZm9yIGJvdGggdGhlIG1lbW9yeXZpZXcgYW5kIHRoZSBtYW5hZ2VkIGJ1ZmZlci4KKworICAgVGhpcyBmdW5jdGlvbiBmYWlscyBpZiB0aGUgbWVtb3J5dmlldyBpdHNlbGYgaGFzIGV4cG9ydGVkIGJ1ZmZlcnMuICovCitzdGF0aWMgaW50CitfbWVtb3J5X3JlbGVhc2UoUHlNZW1vcnlWaWV3T2JqZWN0ICpzZWxmKQogewotICAgIGludCBrOwotICAgIFB5X3NzaXplX3Qgb3V0c3RyaWRlOworICAgIGlmIChzZWxmLT5mbGFncyAmIF9QeV9NRU1PUllWSUVXX1JFTEVBU0VEKQorICAgICAgICByZXR1cm4gMDsKIAotICAgIGlmIChuZD09MCkgewotICAgICAgICBtZW1jcHkoZGVzdCwgc3JjLCBpdGVtc2l6ZSk7CisgICAgaWYgKHNlbGYtPmV4cG9ydHMgPT0gMCkgeworICAgICAgICBzZWxmLT5mbGFncyB8PSBfUHlfTUVNT1JZVklFV19SRUxFQVNFRDsKKyAgICAgICAgYXNzZXJ0KHNlbGYtPm1idWYtPmV4cG9ydHMgPiAwKTsKKyAgICAgICAgaWYgKC0tc2VsZi0+bWJ1Zi0+ZXhwb3J0cyA9PSAwKQorICAgICAgICAgICAgbWJ1Zl9yZWxlYXNlKHNlbGYtPm1idWYpOworICAgICAgICByZXR1cm4gMDsKICAgICB9Ci0gICAgZWxzZSBpZiAobmQgPT0gMSkgewotICAgICAgICBmb3IgKGsgPSAwOyBrPHNoYXBlWzBdOyBrKyspIHsKLSAgICAgICAgICAgIG1lbWNweShkZXN0LCBzcmMsIGl0ZW1zaXplKTsKLSAgICAgICAgICAgIGRlc3QgKz0gaXRlbXNpemU7Ci0gICAgICAgICAgICBzcmMgKz0gc3RyaWRlc1swXTsKLSAgICAgICAgfQorICAgIGlmIChzZWxmLT5leHBvcnRzID4gMCkgeworICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfQnVmZmVyRXJyb3IsCisgICAgICAgICAgICAibWVtb3J5dmlldyBoYXMgJXpkIGV4cG9ydGVkIGJ1ZmZlciVzIiwgc2VsZi0+ZXhwb3J0cywKKyAgICAgICAgICAgIHNlbGYtPmV4cG9ydHM9PTEgPyAiIiA6ICJzIik7CisgICAgICAgIHJldHVybiAtMTsKICAgICB9Ci0gICAgZWxzZSB7Ci0gICAgICAgIGlmIChmb3J0ID09ICdGJykgewotICAgICAgICAgICAgLyogQ29weSBmaXJzdCBkaW1lbnNpb24gZmlyc3QsCi0gICAgICAgICAgICAgICBzZWNvbmQgZGltZW5zaW9uIHNlY29uZCwgZXRjLi4uCi0gICAgICAgICAgICAgICBTZXQgdXAgdGhlIHJlY3Vyc2l2ZSBsb29wIGJhY2t3YXJkcyBzbyB0aGF0IGZpbmFsCi0gICAgICAgICAgICAgICBkaW1lbnNpb24gaXMgYWN0dWFsbHkgY29waWVkIGxhc3QuCi0gICAgICAgICAgICAqLwotICAgICAgICAgICAgb3V0c3RyaWRlID0gaXRlbXNpemU7Ci0gICAgICAgICAgICBmb3IgKGs9MTsgazxuZC0xO2srKykgewotICAgICAgICAgICAgICAgIG91dHN0cmlkZSAqPSBzaGFwZVtrXTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGZvciAoaz0wOyBrPHNoYXBlW25kLTFdOyBrKyspIHsKLSAgICAgICAgICAgICAgICBfc3RyaWRlZF9jb3B5X25kKGRlc3QsIHNyYywgbmQtMSwgc2hhcGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJpZGVzLCBpdGVtc2l6ZSwgZm9ydCk7Ci0gICAgICAgICAgICAgICAgZGVzdCArPSBvdXRzdHJpZGU7Ci0gICAgICAgICAgICAgICAgc3JjICs9IHN0cmlkZXNbbmQtMV07Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KIAotICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgIC8qIENvcHkgbGFzdCBkaW1lbnNpb24gZmlyc3QsCi0gICAgICAgICAgICAgICBzZWNvbmQtdG8tbGFzdCBkaW1lbnNpb24gc2Vjb25kLCBldGMuCi0gICAgICAgICAgICAgICBTZXQgdXAgdGhlIHJlY3Vyc2lvbiBzbyB0aGF0IHRoZQotICAgICAgICAgICAgICAgZmlyc3QgZGltZW5zaW9uIGlzIGNvcGllZCBsYXN0Ci0gICAgICAgICAgICAqLwotICAgICAgICAgICAgb3V0c3RyaWRlID0gaXRlbXNpemU7Ci0gICAgICAgICAgICBmb3IgKGs9MTsgayA8IG5kOyBrKyspIHsKLSAgICAgICAgICAgICAgICBvdXRzdHJpZGUgKj0gc2hhcGVba107Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBmb3IgKGs9MDsgazxzaGFwZVswXTsgaysrKSB7Ci0gICAgICAgICAgICAgICAgX3N0cmlkZWRfY29weV9uZChkZXN0LCBzcmMsIG5kLTEsIHNoYXBlKzEsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJpZGVzKzEsIGl0ZW1zaXplLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ydCk7Ci0gICAgICAgICAgICAgICAgZGVzdCArPSBvdXRzdHJpZGU7Ci0gICAgICAgICAgICAgICAgc3JjICs9IHN0cmlkZXNbMF07Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgcmV0dXJuOworICAgIFB5X0ZhdGFsRXJyb3IoIl9tZW1vcnlfcmVsZWFzZSgpOiBuZWdhdGl2ZSBleHBvcnQgY291bnQiKTsKKyAgICByZXR1cm4gLTE7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCittZW1vcnlfcmVsZWFzZShQeU1lbW9yeVZpZXdPYmplY3QgKnNlbGYpCit7CisgICAgaWYgKF9tZW1vcnlfcmVsZWFzZShzZWxmKSA8IDApCisgICAgICAgIHJldHVybiBOVUxMOworICAgIFB5X1JFVFVSTl9OT05FOworfQorCitzdGF0aWMgdm9pZAorbWVtb3J5X2RlYWxsb2MoUHlNZW1vcnlWaWV3T2JqZWN0ICpzZWxmKQoreworICAgIGFzc2VydChzZWxmLT5leHBvcnRzID09IDApOworICAgIF9QeU9iamVjdF9HQ19VTlRSQUNLKHNlbGYpOworICAgICh2b2lkKV9tZW1vcnlfcmVsZWFzZShzZWxmKTsKKyAgICBQeV9DTEVBUihzZWxmLT5tYnVmKTsKKyAgICBQeU9iamVjdF9HQ19EZWwoc2VsZik7CiB9CiAKIHN0YXRpYyBpbnQKLV9pbmRpcmVjdF9jb3B5X25kKGNoYXIgKmRlc3QsIFB5X2J1ZmZlciAqdmlldywgY2hhciBmb3J0KQorbWVtb3J5X3RyYXZlcnNlKFB5TWVtb3J5Vmlld09iamVjdCAqc2VsZiwgdmlzaXRwcm9jIHZpc2l0LCB2b2lkICphcmcpCiB7Ci0gICAgUHlfc3NpemVfdCAqaW5kaWNlczsKLSAgICBpbnQgazsKLSAgICBQeV9zc2l6ZV90IGVsZW1lbnRzOwotICAgIGNoYXIgKnB0cjsKLSAgICB2b2lkICgqZnVuYykoaW50LCBQeV9zc2l6ZV90ICosIGNvbnN0IFB5X3NzaXplX3QgKik7CisgICAgUHlfVklTSVQoc2VsZi0+bWJ1Zik7CisgICAgcmV0dXJuIDA7Cit9CiAKLSAgICBpZiAodmlldy0+bmRpbSA+IFBZX1NTSVpFX1RfTUFYIC8gc2l6ZW9mKFB5X3NzaXplX3QpKSB7Ci0gICAgICAgIFB5RXJyX05vTWVtb3J5KCk7Ci0gICAgICAgIHJldHVybiAtMTsKK3N0YXRpYyBpbnQKK21lbW9yeV9jbGVhcihQeU1lbW9yeVZpZXdPYmplY3QgKnNlbGYpCit7CisgICAgKHZvaWQpX21lbW9yeV9yZWxlYXNlKHNlbGYpOworICAgIFB5X0NMRUFSKHNlbGYtPm1idWYpOworICAgIHJldHVybiAwOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorbWVtb3J5X2VudGVyKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK3sKKyAgICBDSEVDS19SRUxFQVNFRChzZWxmKTsKKyAgICBQeV9JTkNSRUYoc2VsZik7CisgICAgcmV0dXJuIHNlbGY7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCittZW1vcnlfZXhpdChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgcmV0dXJuIG1lbW9yeV9yZWxlYXNlKChQeU1lbW9yeVZpZXdPYmplY3QgKilzZWxmKTsKK30KKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qICAgICAgICAgICAgICAgICAgICAgICAgIENhc3RpbmcgZm9ybWF0IGFuZCBzaGFwZSAgICAgICAgICAgICAgICAgICAgICAgICAqLworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNkZWZpbmUgSVNfQllURV9GT1JNQVQoZikgKGYgPT0gJ2InIHx8IGYgPT0gJ0InIHx8IGYgPT0gJ2MnKQorCitQeV9MT0NBTF9JTkxJTkUoUHlfc3NpemVfdCkKK2dldF9uYXRpdmVfZm10Y2hhcihjaGFyICpyZXN1bHQsIGNvbnN0IGNoYXIgKmZtdCkKK3sKKyAgICBQeV9zc2l6ZV90IHNpemUgPSAtMTsKKworICAgIGlmIChmbXRbMF0gPT0gJ0AnKSBmbXQrKzsKKworICAgIHN3aXRjaCAoZm10WzBdKSB7CisgICAgY2FzZSAnYyc6IGNhc2UgJ2InOiBjYXNlICdCJzogc2l6ZSA9IHNpemVvZihjaGFyKTsgYnJlYWs7CisgICAgY2FzZSAnaCc6IGNhc2UgJ0gnOiBzaXplID0gc2l6ZW9mKHNob3J0KTsgYnJlYWs7CisgICAgY2FzZSAnaSc6IGNhc2UgJ0knOiBzaXplID0gc2l6ZW9mKGludCk7IGJyZWFrOworICAgIGNhc2UgJ2wnOiBjYXNlICdMJzogc2l6ZSA9IHNpemVvZihsb25nKTsgYnJlYWs7CisgICAgI2lmZGVmIEhBVkVfTE9OR19MT05HCisgICAgY2FzZSAncSc6IGNhc2UgJ1EnOiBzaXplID0gc2l6ZW9mKFBZX0xPTkdfTE9ORyk7IGJyZWFrOworICAgICNlbmRpZgorICAgIGNhc2UgJ24nOiBjYXNlICdOJzogc2l6ZSA9IHNpemVvZihQeV9zc2l6ZV90KTsgYnJlYWs7CisgICAgY2FzZSAnZic6IHNpemUgPSBzaXplb2YoZmxvYXQpOyBicmVhazsKKyAgICBjYXNlICdkJzogc2l6ZSA9IHNpemVvZihkb3VibGUpOyBicmVhazsKKyAgICAjaWZkZWYgSEFWRV9DOTlfQk9PTAorICAgIGNhc2UgJz8nOiBzaXplID0gc2l6ZW9mKF9Cb29sKTsgYnJlYWs7CisgICAgI2Vsc2UKKyAgICBjYXNlICc/Jzogc2l6ZSA9IHNpemVvZihjaGFyKTsgYnJlYWs7CisgICAgI2VuZGlmCisgICAgY2FzZSAnUCc6IHNpemUgPSBzaXplb2Yodm9pZCAqKTsgYnJlYWs7CiAgICAgfQogCi0gICAgaW5kaWNlcyA9IChQeV9zc2l6ZV90ICopUHlNZW1fTWFsbG9jKHNpemVvZihQeV9zc2l6ZV90KSp2aWV3LT5uZGltKTsKLSAgICBpZiAoaW5kaWNlcyA9PSBOVUxMKSB7Ci0gICAgICAgIFB5RXJyX05vTWVtb3J5KCk7Ci0gICAgICAgIHJldHVybiAtMTsKLSAgICB9Ci0gICAgZm9yIChrPTA7IGs8dmlldy0+bmRpbTtrKyspIHsKLSAgICAgICAgaW5kaWNlc1trXSA9IDA7CisgICAgaWYgKHNpemUgPiAwICYmIGZtdFsxXSA9PSAnXDAnKSB7CisgICAgICAgICpyZXN1bHQgPSBmbXRbMF07CisgICAgICAgIHJldHVybiBzaXplOwogICAgIH0KIAotICAgIGVsZW1lbnRzID0gMTsKLSAgICBmb3IgKGs9MDsgazx2aWV3LT5uZGltOyBrKyspIHsKLSAgICAgICAgZWxlbWVudHMgKj0gdmlldy0+c2hhcGVba107CisgICAgcmV0dXJuIC0xOworfQorCisvKiBDYXN0IGEgbWVtb3J5dmlldydzIGRhdGEgdHlwZSB0byAnZm9ybWF0Jy4gVGhlIGlucHV0IGFycmF5IG11c3QgYmUKKyAgIEMtY29udGlndW91cy4gQXQgbGVhc3Qgb25lIG9mIGlucHV0LWZvcm1hdCwgb3V0cHV0LWZvcm1hdCBtdXN0IGhhdmUKKyAgIGJ5dGUgc2l6ZS4gVGhlIG91dHB1dCBhcnJheSBpcyAxLUQsIHdpdGggdGhlIHNhbWUgYnl0ZSBsZW5ndGggYXMgdGhlCisgICBpbnB1dCBhcnJheS4gVGh1cywgdmlldy0+bGVuIG11c3QgYmUgYSBtdWx0aXBsZSBvZiB0aGUgbmV3IGl0ZW1zaXplLiAqLworc3RhdGljIGludAorY2FzdF90b18xRChQeU1lbW9yeVZpZXdPYmplY3QgKm12LCBQeU9iamVjdCAqZm9ybWF0KQoreworICAgIFB5X2J1ZmZlciAqdmlldyA9ICZtdi0+dmlldzsKKyAgICBQeU9iamVjdCAqYXNjaWlmbXQ7CisgICAgY2hhciBzcmNjaGFyLCBkZXN0Y2hhcjsKKyAgICBQeV9zc2l6ZV90IGl0ZW1zaXplOworICAgIGludCByZXQgPSAtMTsKKworICAgIGFzc2VydCh2aWV3LT5uZGltID49IDEpOworICAgIGFzc2VydChQeV9TSVpFKG12KSA9PSAzKnZpZXctPm5kaW0pOworICAgIGFzc2VydCh2aWV3LT5zaGFwZSA9PSBtdi0+b2JfYXJyYXkpOworICAgIGFzc2VydCh2aWV3LT5zdHJpZGVzID09IG12LT5vYl9hcnJheSArIHZpZXctPm5kaW0pOworICAgIGFzc2VydCh2aWV3LT5zdWJvZmZzZXRzID09IG12LT5vYl9hcnJheSArIDIqdmlldy0+bmRpbSk7CisKKyAgICBpZiAoZ2V0X25hdGl2ZV9mbXRjaGFyKCZzcmNjaGFyLCB2aWV3LT5mb3JtYXQpIDwgMCkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwKKyAgICAgICAgICAgICJtZW1vcnl2aWV3OiBzb3VyY2UgZm9ybWF0IG11c3QgYmUgYSBuYXRpdmUgc2luZ2xlIGNoYXJhY3RlciAiCisgICAgICAgICAgICAiZm9ybWF0IHByZWZpeGVkIHdpdGggYW4gb3B0aW9uYWwgJ0AnIik7CisgICAgICAgIHJldHVybiByZXQ7CiAgICAgfQotICAgIGlmIChmb3J0ID09ICdGJykgewotICAgICAgICBmdW5jID0gX1B5X2FkZF9vbmVfdG9faW5kZXhfRjsKKworICAgIGFzY2lpZm10ID0gUHlVbmljb2RlX0FzQVNDSUlTdHJpbmcoZm9ybWF0KTsKKyAgICBpZiAoYXNjaWlmbXQgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIHJldDsKKworICAgIGl0ZW1zaXplID0gZ2V0X25hdGl2ZV9mbXRjaGFyKCZkZXN0Y2hhciwgUHlCeXRlc19BU19TVFJJTkcoYXNjaWlmbXQpKTsKKyAgICBpZiAoaXRlbXNpemUgPCAwKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLAorICAgICAgICAgICAgIm1lbW9yeXZpZXc6IGRlc3RpbmF0aW9uIGZvcm1hdCBtdXN0IGJlIGEgbmF0aXZlIHNpbmdsZSAiCisgICAgICAgICAgICAiY2hhcmFjdGVyIGZvcm1hdCBwcmVmaXhlZCB3aXRoIGFuIG9wdGlvbmFsICdAJyIpOworICAgICAgICBnb3RvIG91dDsKKyAgICB9CisKKyAgICBpZiAoIUlTX0JZVEVfRk9STUFUKHNyY2NoYXIpICYmICFJU19CWVRFX0ZPUk1BVChkZXN0Y2hhcikpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwKKyAgICAgICAgICAgICJtZW1vcnl2aWV3OiBjYW5ub3QgY2FzdCBiZXR3ZWVuIHR3byBub24tYnl0ZSBmb3JtYXRzIik7CisgICAgICAgIGdvdG8gb3V0OworICAgIH0KKyAgICBpZiAodmlldy0+bGVuICUgaXRlbXNpemUpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwKKyAgICAgICAgICAgICJtZW1vcnl2aWV3OiBsZW5ndGggaXMgbm90IGEgbXVsdGlwbGUgb2YgaXRlbXNpemUiKTsKKyAgICAgICAgZ290byBvdXQ7CisgICAgfQorCisgICAgc3RybmNweShtdi0+Zm9ybWF0LCBQeUJ5dGVzX0FTX1NUUklORyhhc2NpaWZtdCksCisgICAgICAgICAgICBfUHlfTUVNT1JZVklFV19NQVhfRk9STUFUKTsKKyAgICBtdi0+Zm9ybWF0W19QeV9NRU1PUllWSUVXX01BWF9GT1JNQVQtMV0gPSAnXDAnOworICAgIHZpZXctPmZvcm1hdCA9IG12LT5mb3JtYXQ7CisgICAgdmlldy0+aXRlbXNpemUgPSBpdGVtc2l6ZTsKKworICAgIHZpZXctPm5kaW0gPSAxOworICAgIHZpZXctPnNoYXBlWzBdID0gdmlldy0+bGVuIC8gdmlldy0+aXRlbXNpemU7CisgICAgdmlldy0+c3RyaWRlc1swXSA9IHZpZXctPml0ZW1zaXplOworICAgIHZpZXctPnN1Ym9mZnNldHMgPSBOVUxMOworCisgICAgaW5pdF9mbGFncyhtdik7CisgCisgICAgcmV0ID0gMDsKKworb3V0OgorICAgIFB5X0RFQ1JFRihhc2NpaWZtdCk7CisgICAgcmV0dXJuIHJldDsKK30KKworLyogVGhlIG1lbW9yeXZpZXcgbXVzdCBoYXZlIHNwYWNlIGZvciAzKmxlbihzZXEpIGVsZW1lbnRzLiAqLworc3RhdGljIFB5X3NzaXplX3QKK2NvcHlfc2hhcGUoUHlfc3NpemVfdCAqc2hhcGUsIGNvbnN0IFB5T2JqZWN0ICpzZXEsIFB5X3NzaXplX3QgbmRpbSwKKyAgICAgICAgICAgUHlfc3NpemVfdCBpdGVtc2l6ZSkKK3sKKyAgICBQeV9zc2l6ZV90IHgsIGk7CisgICAgUHlfc3NpemVfdCBsZW4gPSBpdGVtc2l6ZTsKKworICAgIGZvciAoaSA9IDA7IGkgPCBuZGltOyBpKyspIHsKKyAgICAgICAgUHlPYmplY3QgKnRtcCA9IFB5U2VxdWVuY2VfRmFzdF9HRVRfSVRFTShzZXEsIGkpOworICAgICAgICBpZiAoIVB5TG9uZ19DaGVjayh0bXApKSB7CisgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLAorICAgICAgICAgICAgICAgICJtZW1vcnl2aWV3LmNhc3QoKTogZWxlbWVudHMgb2Ygc2hhcGUgbXVzdCBiZSBpbnRlZ2VycyIpOworICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICB9CisgICAgICAgIHggPSBQeUxvbmdfQXNTc2l6ZV90KHRtcCk7CisgICAgICAgIGlmICh4ID09IC0xICYmIFB5RXJyX09jY3VycmVkKCkpIHsKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgfQorICAgICAgICBpZiAoeCA8PSAwKSB7CisgICAgICAgICAgICAvKiBJbiBnZW5lcmFsIGVsZW1lbnRzIG9mIHNoYXBlIG1heSBiZSAwLCBidXQgbm90IGZvciBjYXN0aW5nLiAqLworICAgICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1ZhbHVlRXJyb3IsCisgICAgICAgICAgICAgICAgIm1lbW9yeXZpZXcuY2FzdCgpOiBlbGVtZW50cyBvZiBzaGFwZSBtdXN0IGJlIGludGVnZXJzID4gMCIpOworICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICB9CisgICAgICAgIGlmICh4ID4gUFlfU1NJWkVfVF9NQVggLyBsZW4pIHsKKyAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19WYWx1ZUVycm9yLAorICAgICAgICAgICAgICAgICJtZW1vcnl2aWV3LmNhc3QoKTogcHJvZHVjdChzaGFwZSkgPiBTU0laRV9NQVgiKTsKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgfQorICAgICAgICBsZW4gKj0geDsKKyAgICAgICAgc2hhcGVbaV0gPSB4OworICAgIH0KKworICAgIHJldHVybiBsZW47Cit9CisKKy8qIENhc3QgYSAxLUQgYXJyYXkgdG8gYSBuZXcgc2hhcGUuIFRoZSByZXN1bHQgYXJyYXkgd2lsbCBiZSBDLWNvbnRpZ3VvdXMuCisgICBJZiB0aGUgcmVzdWx0IGFycmF5IGRvZXMgbm90IGhhdmUgZXhhY3RseSB0aGUgc2FtZSBieXRlIGxlbmd0aCBhcyB0aGUKKyAgIGlucHV0IGFycmF5LCByYWlzZSBWYWx1ZUVycm9yLiAqLworc3RhdGljIGludAorY2FzdF90b19ORChQeU1lbW9yeVZpZXdPYmplY3QgKm12LCBjb25zdCBQeU9iamVjdCAqc2hhcGUsIGludCBuZGltKQoreworICAgIFB5X2J1ZmZlciAqdmlldyA9ICZtdi0+dmlldzsKKyAgICBQeV9zc2l6ZV90IGxlbjsKKworICAgIGFzc2VydCh2aWV3LT5uZGltID09IDEpOyAvKiBuZGltIGZyb20gY2FzdF90b18xRCgpICovCisgICAgYXNzZXJ0KFB5X1NJWkUobXYpID09IDMqKG5kaW09PTA/MTpuZGltKSk7IC8qIG5kaW0gb2YgcmVzdWx0IGFycmF5ICovCisgICAgYXNzZXJ0KHZpZXctPnNoYXBlID09IG12LT5vYl9hcnJheSk7CisgICAgYXNzZXJ0KHZpZXctPnN0cmlkZXMgPT0gbXYtPm9iX2FycmF5ICsgKG5kaW09PTA/MTpuZGltKSk7CisgICAgYXNzZXJ0KHZpZXctPnN1Ym9mZnNldHMgPT0gTlVMTCk7CisKKyAgICB2aWV3LT5uZGltID0gbmRpbTsKKyAgICBpZiAodmlldy0+bmRpbSA9PSAwKSB7CisgICAgICAgIHZpZXctPnNoYXBlID0gTlVMTDsKKyAgICAgICAgdmlldy0+c3RyaWRlcyA9IE5VTEw7CisgICAgICAgIGxlbiA9IHZpZXctPml0ZW1zaXplOwogICAgIH0KICAgICBlbHNlIHsKLSAgICAgICAgZnVuYyA9IF9QeV9hZGRfb25lX3RvX2luZGV4X0M7Ci0gICAgfQotICAgIHdoaWxlIChlbGVtZW50cy0tKSB7Ci0gICAgICAgIGZ1bmModmlldy0+bmRpbSwgaW5kaWNlcywgdmlldy0+c2hhcGUpOwotICAgICAgICBwdHIgPSBQeUJ1ZmZlcl9HZXRQb2ludGVyKHZpZXcsIGluZGljZXMpOwotICAgICAgICBtZW1jcHkoZGVzdCwgcHRyLCB2aWV3LT5pdGVtc2l6ZSk7Ci0gICAgICAgIGRlc3QgKz0gdmlldy0+aXRlbXNpemU7CisgICAgICAgIGxlbiA9IGNvcHlfc2hhcGUodmlldy0+c2hhcGUsIHNoYXBlLCBuZGltLCB2aWV3LT5pdGVtc2l6ZSk7CisgICAgICAgIGlmIChsZW4gPCAwKQorICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICBpbml0X3N0cmlkZXNfZnJvbV9zaGFwZSh2aWV3KTsKICAgICB9CiAKLSAgICBQeU1lbV9GcmVlKGluZGljZXMpOworICAgIGlmICh2aWV3LT5sZW4gIT0gbGVuKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsCisgICAgICAgICAgICAibWVtb3J5dmlldzogcHJvZHVjdChzaGFwZSkgKiBpdGVtc2l6ZSAhPSBidWZmZXIgc2l6ZSIpOworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorCisgICAgaW5pdF9mbGFncyhtdik7CisKKyAgICByZXR1cm4gMDsKK30KKworc3RhdGljIGludAoremVyb19pbl9zaGFwZShQeU1lbW9yeVZpZXdPYmplY3QgKm12KQoreworICAgIFB5X2J1ZmZlciAqdmlldyA9ICZtdi0+dmlldzsKKyAgICBQeV9zc2l6ZV90IGk7CisKKyAgICBmb3IgKGkgPSAwOyBpIDwgdmlldy0+bmRpbTsgaSsrKQorICAgICAgICBpZiAodmlldy0+c2hhcGVbaV0gPT0gMCkKKyAgICAgICAgICAgIHJldHVybiAxOworCiAgICAgcmV0dXJuIDA7CiB9CiAKIC8qCi0gICBHZXQgYSB0aGUgZGF0YSBmcm9tIGFuIG9iamVjdCBhcyBhIGNvbnRpZ3VvdXMgY2h1bmsgb2YgbWVtb3J5IChpbgotICAgZWl0aGVyICdDJyBvciAnRidvcnRyYW4gb3JkZXIpIGV2ZW4gaWYgaXQgbWVhbnMgY29weWluZyBpdCBpbnRvIGEKLSAgIHNlcGFyYXRlIG1lbW9yeSBhcmVhLgorICAgQ2FzdCBhIGNvcHkgb2YgJ3NlbGYnIHRvIGEgZGlmZmVyZW50IHZpZXcuIFRoZSBpbnB1dCB2aWV3IG11c3QKKyAgIGJlIEMtY29udGlndW91cy4gVGhlIGZ1bmN0aW9uIGFsd2F5cyBjYXN0cyB0aGUgaW5wdXQgdmlldyB0byBhCisgICAxLUQgb3V0cHV0IGFjY29yZGluZyB0byAnZm9ybWF0Jy4gQXQgbGVhc3Qgb25lIG9mIGlucHV0LWZvcm1hdCwKKyAgIG91dHB1dC1mb3JtYXQgbXVzdCBoYXZlIGJ5dGUgc2l6ZS4KIAotICAgUmV0dXJucyBhIG5ldyByZWZlcmVuY2UgdG8gYSBNZW1vcnkgdmlldyBvYmplY3QuICBJZiBubyBjb3B5IGlzIG5lZWRlZCwKLSAgIHRoZSBtZW1vcnkgdmlldyBvYmplY3QgcG9pbnRzIHRvIHRoZSBvcmlnaW5hbCBtZW1vcnkgYW5kIGhvbGRzIGEKLSAgIGxvY2sgb24gdGhlIG9yaWdpbmFsLiAgSWYgYSBjb3B5IGlzIG5lZWRlZCwgdGhlbiB0aGUgbWVtb3J5IHZpZXcgb2JqZWN0Ci0gICBwb2ludHMgdG8gYSBicmFuZC1uZXcgQnl0ZXMgb2JqZWN0IChhbmQgaG9sZHMgYSBtZW1vcnkgbG9jayBvbiBpdCkuCisgICBJZiAnc2hhcGUnIGlzIGdpdmVuLCB0aGUgMS1EIHZpZXcgZnJvbSB0aGUgcHJldmlvdXMgc3RlcCB3aWxsCisgICBiZSBjYXN0IHRvIGEgQy1jb250aWd1b3VzIHZpZXcgd2l0aCBuZXcgc2hhcGUgYW5kIHN0cmlkZXMuCiAKLSAgIGJ1ZmZlcnR5cGUKLQotICAgUHlCVUZfUkVBRCAgYnVmZmVyIG9ubHkgbmVlZHMgdG8gYmUgcmVhZC1vbmx5Ci0gICBQeUJVRl9XUklURSBidWZmZXIgbmVlZHMgdG8gYmUgd3JpdGFibGUgKGdpdmUgZXJyb3IgaWYgbm90IGNvbnRpZ3VvdXMpCi0gICBQeUJVRl9TSEFET1cgYnVmZmVyIG5lZWRzIHRvIGJlIHdyaXRhYmxlIHNvIHNoYWRvdyBpdCB3aXRoCi0gICAgICAgICAgICAgICAgYSBjb250aWd1b3VzIGJ1ZmZlciBpZiBpdCBpcyBub3QuIFRoZSB2aWV3IHdpbGwgcG9pbnQgdG8KLSAgICAgICAgICAgICAgICB0aGUgc2hhZG93IGJ1ZmZlciB3aGljaCBjYW4gYmUgd3JpdHRlbiB0byBhbmQgdGhlbgotICAgICAgICAgICAgICAgIHdpbGwgYmUgY29waWVkIGJhY2sgaW50byB0aGUgb3RoZXIgYnVmZmVyIHdoZW4gdGhlIG1lbW9yeQotICAgICAgICAgICAgICAgIHZpZXcgaXMgZGUtYWxsb2NhdGVkLiAgV2hpbGUgdGhlIHNoYWRvdyBidWZmZXIgaXMKLSAgICAgICAgICAgICAgICBiZWluZyB1c2VkLCBpdCB3aWxsIGhhdmUgYW4gZXhjbHVzaXZlIHdyaXRlIGxvY2sgb24KLSAgICAgICAgICAgICAgICB0aGUgb3JpZ2luYWwgYnVmZmVyLgotICovCi0KLVB5T2JqZWN0ICoKLVB5TWVtb3J5Vmlld19HZXRDb250aWd1b3VzKFB5T2JqZWN0ICpvYmosIGludCBidWZmZXJ0eXBlLCBjaGFyIGZvcnQpCisgICBBbGwgY2FzdHMgbXVzdCByZXN1bHQgaW4gdmlld3MgdGhhdCB3aWxsIGhhdmUgdGhlIGV4YWN0IGJ5dGUKKyAgIHNpemUgb2YgdGhlIG9yaWdpbmFsIGlucHV0LiBPdGhlcndpc2UsIGFuIGVycm9yIGlzIHJhaXNlZC4KKyovCitzdGF0aWMgUHlPYmplY3QgKgorbWVtb3J5X2Nhc3QoUHlNZW1vcnlWaWV3T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3ZHMpCiB7Ci0gICAgUHlNZW1vcnlWaWV3T2JqZWN0ICptZW07Ci0gICAgUHlPYmplY3QgKmJ5dGVzOwotICAgIFB5X2J1ZmZlciAqdmlldzsKLSAgICBpbnQgZmxhZ3M7Ci0gICAgY2hhciAqZGVzdDsKKyAgICBzdGF0aWMgY2hhciAqa3dsaXN0W10gPSB7ImZvcm1hdCIsICJzaGFwZSIsIE5VTEx9OworICAgIFB5TWVtb3J5Vmlld09iamVjdCAqbXYgPSBOVUxMOworICAgIFB5T2JqZWN0ICpzaGFwZSA9IE5VTEw7CisgICAgUHlPYmplY3QgKmZvcm1hdDsKKyAgICBQeV9zc2l6ZV90IG5kaW0gPSAxOwogCi0gICAgaWYgKCFQeU9iamVjdF9DaGVja0J1ZmZlcihvYmopKSB7CisgICAgQ0hFQ0tfUkVMRUFTRUQoc2VsZik7CisKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2RzLCAiT3xPIiwga3dsaXN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZmb3JtYXQsICZzaGFwZSkpIHsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorICAgIGlmICghUHlVbmljb2RlX0NoZWNrKGZvcm1hdCkpIHsKICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICAgICJvYmplY3QgZG9lcyBub3Qgc3VwcG9ydCB0aGUgYnVmZmVyIGludGVyZmFjZSIpOworICAgICAgICAgICAgIm1lbW9yeXZpZXc6IGZvcm1hdCBhcmd1bWVudCBtdXN0IGJlIGEgc3RyaW5nIik7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KLQotICAgIG1lbSA9IFB5T2JqZWN0X0dDX05ldyhQeU1lbW9yeVZpZXdPYmplY3QsICZQeU1lbW9yeVZpZXdfVHlwZSk7Ci0gICAgaWYgKG1lbSA9PSBOVUxMKQotICAgICAgICByZXR1cm4gTlVMTDsKLQotICAgIHZpZXcgPSAmbWVtLT52aWV3OwotICAgIGZsYWdzID0gUHlCVUZfRlVMTF9STzsKLSAgICBzd2l0Y2goYnVmZmVydHlwZSkgewotICAgIGNhc2UgUHlCVUZfV1JJVEU6Ci0gICAgICAgIGZsYWdzID0gUHlCVUZfRlVMTDsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQotCi0gICAgaWYgKFB5T2JqZWN0X0dldEJ1ZmZlcihvYmosIHZpZXcsIGZsYWdzKSAhPSAwKSB7Ci0gICAgICAgIFB5X0RFQ1JFRihtZW0pOworICAgIGlmICghTVZfQ19DT05USUdVT1VTKHNlbGYtPmZsYWdzKSkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLAorICAgICAgICAgICAgIm1lbW9yeXZpZXc6IGNhc3RzIGFyZSByZXN0cmljdGVkIHRvIEMtY29udGlndW91cyB2aWV3cyIpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9Ci0KLSAgICBpZiAoUHlCdWZmZXJfSXNDb250aWd1b3VzKHZpZXcsIGZvcnQpKSB7Ci0gICAgICAgIC8qIG5vIGNvcHkgbmVlZGVkICovCi0gICAgICAgIF9QeU9iamVjdF9HQ19UUkFDSyhtZW0pOwotICAgICAgICByZXR1cm4gKFB5T2JqZWN0ICopbWVtOwotICAgIH0KLSAgICAvKiBvdGhlcndpc2UgYSBjb3B5IGlzIG5lZWRlZCAqLwotICAgIGlmIChidWZmZXJ0eXBlID09IFB5QlVGX1dSSVRFKSB7Ci0gICAgICAgIFB5X0RFQ1JFRihtZW0pOwotICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfQnVmZmVyRXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAgICAid3JpdGFibGUgY29udGlndW91cyBidWZmZXIgcmVxdWVzdGVkICIKLSAgICAgICAgICAgICAgICAgICAgICAgICJmb3IgYSBub24tY29udGlndW91c29iamVjdC4iKTsKKyAgICBpZiAoemVyb19pbl9zaGFwZShzZWxmKSkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLAorICAgICAgICAgICAgIm1lbW9yeXZpZXc6IGNhbm5vdCBjYXN0IHZpZXcgd2l0aCB6ZXJvcyBpbiBzaGFwZSBvciBzdHJpZGVzIik7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KLSAgICBieXRlcyA9IFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUoTlVMTCwgdmlldy0+bGVuKTsKLSAgICBpZiAoYnl0ZXMgPT0gTlVMTCkgewotICAgICAgICBQeV9ERUNSRUYobWVtKTsKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgfQotICAgIGRlc3QgPSBQeUJ5dGVzX0FTX1NUUklORyhieXRlcyk7Ci0gICAgLyogZGlmZmVyZW50IGNvcHlpbmcgc3RyYXRlZ3kgZGVwZW5kaW5nIG9uIHdoZXRoZXIKLSAgICAgICBvciBub3QgYW55IHBvaW50ZXIgZGUtcmVmZXJlbmNpbmcgaXMgbmVlZGVkCi0gICAgKi8KLSAgICAvKiBzdHJpZGVkIG9yIGluLWRpcmVjdCBjb3B5ICovCi0gICAgaWYgKHZpZXctPnN1Ym9mZnNldHM9PU5VTEwpIHsKLSAgICAgICAgX3N0cmlkZWRfY29weV9uZChkZXN0LCB2aWV3LT5idWYsIHZpZXctPm5kaW0sIHZpZXctPnNoYXBlLAotICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXctPnN0cmlkZXMsIHZpZXctPml0ZW1zaXplLCBmb3J0KTsKLSAgICB9Ci0gICAgZWxzZSB7Ci0gICAgICAgIGlmIChfaW5kaXJlY3RfY29weV9uZChkZXN0LCB2aWV3LCBmb3J0KSA8IDApIHsKLSAgICAgICAgICAgIFB5X0RFQ1JFRihieXRlcyk7Ci0gICAgICAgICAgICBQeV9ERUNSRUYobWVtKTsKKyAgICBpZiAoc2hhcGUpIHsKKyAgICAgICAgQ0hFQ0tfTElTVF9PUl9UVVBMRShzaGFwZSkKKyAgICAgICAgbmRpbSA9IFB5U2VxdWVuY2VfRmFzdF9HRVRfU0laRShzaGFwZSk7CisgICAgICAgIGlmIChuZGltID4gUHlCVUZfTUFYX05ESU0pIHsKKyAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLAorICAgICAgICAgICAgICAgICJtZW1vcnl2aWV3OiBudW1iZXIgb2YgZGltZW5zaW9ucyBtdXN0IG5vdCBleGNlZWQgIgorICAgICAgICAgICAgICAgIFNUUklOR0laRShQeUJVRl9NQVhfTkRJTSkpOwogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgIH0KLSAgICAgICAgUHlCdWZmZXJfUmVsZWFzZSh2aWV3KTsgIC8qIFhYWCA/ICovCisgICAgICAgIGlmIChzZWxmLT52aWV3Lm5kaW0gIT0gMSAmJiBuZGltICE9IDEpIHsKKyAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsCisgICAgICAgICAgICAgICAgIm1lbW9yeXZpZXc6IGNhc3QgbXVzdCBiZSAxRCAtPiBORCBvciBORCAtPiAxRCIpOworICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIH0KICAgICB9Ci0gICAgX1B5T2JqZWN0X0dDX1RSQUNLKG1lbSk7Ci0gICAgcmV0dXJuIChQeU9iamVjdCAqKW1lbTsKKworICAgIG12ID0gKFB5TWVtb3J5Vmlld09iamVjdCAqKQorICAgICAgICBtYnVmX2FkZF9pbmNvbXBsZXRlX3ZpZXcoc2VsZi0+bWJ1ZiwgJnNlbGYtPnZpZXcsIG5kaW09PTAgPyAxIDogKGludCluZGltKTsKKyAgICBpZiAobXYgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICBpZiAoY2FzdF90b18xRChtdiwgZm9ybWF0KSA8IDApCisgICAgICAgIGdvdG8gZXJyb3I7CisgICAgaWYgKHNoYXBlICYmIGNhc3RfdG9fTkQobXYsIHNoYXBlLCAoaW50KW5kaW0pIDwgMCkKKyAgICAgICAgZ290byBlcnJvcjsKKworICAgIHJldHVybiAoUHlPYmplY3QgKiltdjsKKworZXJyb3I6CisgICAgUHlfREVDUkVGKG12KTsKKyAgICByZXR1cm4gTlVMTDsKIH0KIAogCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRidWZmZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKK3N0YXRpYyBpbnQKK21lbW9yeV9nZXRidWYoUHlNZW1vcnlWaWV3T2JqZWN0ICpzZWxmLCBQeV9idWZmZXIgKnZpZXcsIGludCBmbGFncykKK3sKKyAgICBQeV9idWZmZXIgKmJhc2UgPSAmc2VsZi0+dmlldzsKKyAgICBpbnQgYmFzZWZsYWdzID0gc2VsZi0+ZmxhZ3M7CisKKyAgICBDSEVDS19SRUxFQVNFRF9JTlQoc2VsZik7CisKKyAgICAvKiBzdGFydCB3aXRoIGNvbXBsZXRlIGluZm9ybWF0aW9uICovCisgICAgKnZpZXcgPSAqYmFzZTsKKyAgICB2aWV3LT5vYmogPSBOVUxMOworCisgICAgaWYgKFJFUV9XUklUQUJMRShmbGFncykgJiYgYmFzZS0+cmVhZG9ubHkpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX0J1ZmZlckVycm9yLAorICAgICAgICAgICAgIm1lbW9yeXZpZXc6IHVuZGVybHlpbmcgYnVmZmVyIGlzIG5vdCB3cml0YWJsZSIpOworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorICAgIGlmICghUkVRX0ZPUk1BVChmbGFncykpIHsKKyAgICAgICAgLyogTlVMTCBpbmRpY2F0ZXMgdGhhdCB0aGUgYnVmZmVyJ3MgZGF0YSB0eXBlIGhhcyBiZWVuIGNhc3QgdG8gJ0InLgorICAgICAgICAgICB2aWV3LT5pdGVtc2l6ZSBpcyB0aGUgX3ByZXZpb3VzXyBpdGVtc2l6ZS4gSWYgc2hhcGUgaXMgcHJlc2VudCwKKyAgICAgICAgICAgdGhlIGVxdWFsaXR5IHByb2R1Y3Qoc2hhcGUpICogaXRlbXNpemUgPSBsZW4gc3RpbGwgaG9sZHMgYXQgdGhpcworICAgICAgICAgICBwb2ludC4gVGhlIGVxdWFsaXR5IGNhbGNzaXplKGZvcm1hdCkgPSBpdGVtc2l6ZSBkb2VzIF9ub3RfIGhvbGQKKyAgICAgICAgICAgZnJvbSBoZXJlIG9uISAqLworICAgICAgICB2aWV3LT5mb3JtYXQgPSBOVUxMOworICAgIH0KKworICAgIGlmIChSRVFfQ19DT05USUdVT1VTKGZsYWdzKSAmJiAhTVZfQ19DT05USUdVT1VTKGJhc2VmbGFncykpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX0J1ZmZlckVycm9yLAorICAgICAgICAgICAgIm1lbW9yeXZpZXc6IHVuZGVybHlpbmcgYnVmZmVyIGlzIG5vdCBDLWNvbnRpZ3VvdXMiKTsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKyAgICBpZiAoUkVRX0ZfQ09OVElHVU9VUyhmbGFncykgJiYgIU1WX0ZfQ09OVElHVU9VUyhiYXNlZmxhZ3MpKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19CdWZmZXJFcnJvciwKKyAgICAgICAgICAgICJtZW1vcnl2aWV3OiB1bmRlcmx5aW5nIGJ1ZmZlciBpcyBub3QgRm9ydHJhbiBjb250aWd1b3VzIik7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisgICAgaWYgKFJFUV9BTllfQ09OVElHVU9VUyhmbGFncykgJiYgIU1WX0FOWV9DT05USUdVT1VTKGJhc2VmbGFncykpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX0J1ZmZlckVycm9yLAorICAgICAgICAgICAgIm1lbW9yeXZpZXc6IHVuZGVybHlpbmcgYnVmZmVyIGlzIG5vdCBjb250aWd1b3VzIik7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisgICAgaWYgKCFSRVFfSU5ESVJFQ1QoZmxhZ3MpICYmIChiYXNlZmxhZ3MgJiBfUHlfTUVNT1JZVklFV19QSUwpKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19CdWZmZXJFcnJvciwKKyAgICAgICAgICAgICJtZW1vcnl2aWV3OiB1bmRlcmx5aW5nIGJ1ZmZlciByZXF1aXJlcyBzdWJvZmZzZXRzIik7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisgICAgaWYgKCFSRVFfU1RSSURFUyhmbGFncykpIHsKKyAgICAgICAgaWYgKCFNVl9DX0NPTlRJR1VPVVMoYmFzZWZsYWdzKSkgeworICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX0J1ZmZlckVycm9yLAorICAgICAgICAgICAgICAgICJtZW1vcnl2aWV3OiB1bmRlcmx5aW5nIGJ1ZmZlciBpcyBub3QgQy1jb250aWd1b3VzIik7CisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIH0KKyAgICAgICAgdmlldy0+c3RyaWRlcyA9IE5VTEw7CisgICAgfQorICAgIGlmICghUkVRX1NIQVBFKGZsYWdzKSkgeworICAgICAgICAvKiBQeUJVRl9TSU1QTEUgb3IgUHlCVUZfV1JJVEFCTEU6IGF0IHRoaXMgcG9pbnQgYnVmIGlzIEMtY29udGlndW91cywKKyAgICAgICAgICAgc28gYmFzZS0+YnVmID0gbmRidWYtPmRhdGEuICovCisgICAgICAgIGlmICh2aWV3LT5mb3JtYXQgIT0gTlVMTCkgeworICAgICAgICAgICAgLyogUHlCVUZfU0lNUExFfFB5QlVGX0ZPUk1BVCBhbmQgUHlCVUZfV1JJVEFCTEV8UHlCVUZfRk9STUFUIGRvCisgICAgICAgICAgICAgICBub3QgbWFrZSBzZW5zZS4gKi8KKyAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19CdWZmZXJFcnJvciwKKyAgICAgICAgICAgICAgICAibmRhcnJheTogY2Fubm90IGNhc3QgdG8gdW5zaWduZWQgYnl0ZXMgaWYgdGhlIGZvcm1hdCBmbGFnICIKKyAgICAgICAgICAgICAgICAiaXMgcHJlc2VudCIpOworICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICB9CisgICAgICAgIC8qIHByb2R1Y3Qoc2hhcGUpICogaXRlbXNpemUgPSBsZW4gYW5kIGNhbGNzaXplKGZvcm1hdCkgPSBpdGVtc2l6ZQorICAgICAgICAgICBkbyBfbm90XyBob2xkIGZyb20gaGVyZSBvbiEgKi8KKyAgICAgICAgdmlldy0+bmRpbSA9IDE7CisgICAgICAgIHZpZXctPnNoYXBlID0gTlVMTDsKKyAgICB9CisKKworICAgIHZpZXctPm9iaiA9IChQeU9iamVjdCAqKXNlbGY7CisgICAgUHlfSU5DUkVGKHZpZXctPm9iaik7CisgICAgc2VsZi0+ZXhwb3J0cysrOworCisgICAgcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkCittZW1vcnlfcmVsZWFzZWJ1ZihQeU1lbW9yeVZpZXdPYmplY3QgKnNlbGYsIFB5X2J1ZmZlciAqdmlldykKK3sKKyAgICBzZWxmLT5leHBvcnRzLS07CisgICAgcmV0dXJuOworICAgIC8qIFB5QnVmZmVyX1JlbGVhc2UoKSBkZWNyZW1lbnRzIHZpZXctPm9iaiBhZnRlciB0aGlzIGZ1bmN0aW9uIHJldHVybnMuICovCit9CisKKy8qIEJ1ZmZlciBtZXRob2RzICovCitzdGF0aWMgUHlCdWZmZXJQcm9jcyBtZW1vcnlfYXNfYnVmZmVyID0geworICAgIChnZXRidWZmZXJwcm9jKW1lbW9yeV9nZXRidWYsICAgICAgICAgLyogYmZfZ2V0YnVmZmVyICovCisgICAgKHJlbGVhc2VidWZmZXJwcm9jKW1lbW9yeV9yZWxlYXNlYnVmLCAvKiBiZl9yZWxlYXNlYnVmZmVyICovCit9OworCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyogICAgICAgICAgIE9wdGltaXplZCBwYWNrL3VucGFjayBmb3IgYWxsIG5hdGl2ZSBmb3JtYXQgc3BlY2lmaWVycyAgICAgICAgICovCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyoKKyAgRml4IGV4Y2VwdGlvbnM6CisgICAgIDEpIEluY2x1ZGUgZm9ybWF0IHN0cmluZyBpbiB0aGUgZXJyb3IgbWVzc2FnZS4KKyAgICAgMikgT3ZlcmZsb3dFcnJvciAtPiBWYWx1ZUVycm9yLgorICAgICAzKSBUaGUgZXJyb3IgbWVzc2FnZSBmcm9tIFB5TnVtYmVyX0luZGV4KCkgaXMgbm90IGlkZWFsLgorKi8KK3N0YXRpYyBpbnQKK3R5cGVfZXJyb3JfaW50KGNvbnN0IGNoYXIgKmZtdCkKK3sKKyAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLAorICAgICAgICAibWVtb3J5dmlldzogaW52YWxpZCB0eXBlIGZvciBmb3JtYXQgJyVzJyIsIGZtdCk7CisgICAgcmV0dXJuIC0xOworfQorCitzdGF0aWMgaW50Cit2YWx1ZV9lcnJvcl9pbnQoY29uc3QgY2hhciAqZm10KQoreworICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19WYWx1ZUVycm9yLAorICAgICAgICAibWVtb3J5dmlldzogaW52YWxpZCB2YWx1ZSBmb3IgZm9ybWF0ICclcyciLCBmbXQpOworICAgIHJldHVybiAtMTsKK30KKworc3RhdGljIGludAorZml4X2Vycm9yX2ludChjb25zdCBjaGFyICpmbXQpCit7CisgICAgYXNzZXJ0KFB5RXJyX09jY3VycmVkKCkpOworICAgIGlmIChQeUVycl9FeGNlcHRpb25NYXRjaGVzKFB5RXhjX1R5cGVFcnJvcikpIHsKKyAgICAgICAgUHlFcnJfQ2xlYXIoKTsKKyAgICAgICAgcmV0dXJuIHR5cGVfZXJyb3JfaW50KGZtdCk7CisgICAgfQorICAgIGVsc2UgaWYgKFB5RXJyX0V4Y2VwdGlvbk1hdGNoZXMoUHlFeGNfT3ZlcmZsb3dFcnJvcikgfHwKKyAgICAgICAgICAgICBQeUVycl9FeGNlcHRpb25NYXRjaGVzKFB5RXhjX1ZhbHVlRXJyb3IpKSB7CisgICAgICAgIFB5RXJyX0NsZWFyKCk7CisgICAgICAgIHJldHVybiB2YWx1ZV9lcnJvcl9pbnQoZm10KTsKKyAgICB9CisKKyAgICByZXR1cm4gLTE7Cit9CisKKy8qIEFjY2VwdCBpbnRlZ2VyIG9iamVjdHMgb3Igb2JqZWN0cyB3aXRoIGFuIF9faW5kZXhfXygpIG1ldGhvZC4gKi8KK3N0YXRpYyBsb25nCitweWxvbmdfYXNfbGQoUHlPYmplY3QgKml0ZW0pCit7CisgICAgUHlPYmplY3QgKnRtcDsKKyAgICBsb25nIGxkOworCisgICAgdG1wID0gUHlOdW1iZXJfSW5kZXgoaXRlbSk7CisgICAgaWYgKHRtcCA9PSBOVUxMKQorICAgICAgICByZXR1cm4gLTE7CisKKyAgICBsZCA9IFB5TG9uZ19Bc0xvbmcodG1wKTsKKyAgICBQeV9ERUNSRUYodG1wKTsKKyAgICByZXR1cm4gbGQ7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nCitweWxvbmdfYXNfbHUoUHlPYmplY3QgKml0ZW0pCit7CisgICAgUHlPYmplY3QgKnRtcDsKKyAgICB1bnNpZ25lZCBsb25nIGx1OworCisgICAgdG1wID0gUHlOdW1iZXJfSW5kZXgoaXRlbSk7CisgICAgaWYgKHRtcCA9PSBOVUxMKQorICAgICAgICByZXR1cm4gKHVuc2lnbmVkIGxvbmcpLTE7CisKKyAgICBsdSA9IFB5TG9uZ19Bc1Vuc2lnbmVkTG9uZyh0bXApOworICAgIFB5X0RFQ1JFRih0bXApOworICAgIHJldHVybiBsdTsKK30KKworI2lmZGVmIEhBVkVfTE9OR19MT05HCitzdGF0aWMgUFlfTE9OR19MT05HCitweWxvbmdfYXNfbGxkKFB5T2JqZWN0ICppdGVtKQoreworICAgIFB5T2JqZWN0ICp0bXA7CisgICAgUFlfTE9OR19MT05HIGxsZDsKKworICAgIHRtcCA9IFB5TnVtYmVyX0luZGV4KGl0ZW0pOworICAgIGlmICh0bXAgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIC0xOworCisgICAgbGxkID0gUHlMb25nX0FzTG9uZ0xvbmcodG1wKTsKKyAgICBQeV9ERUNSRUYodG1wKTsKKyAgICByZXR1cm4gbGxkOworfQorCitzdGF0aWMgdW5zaWduZWQgUFlfTE9OR19MT05HCitweWxvbmdfYXNfbGx1KFB5T2JqZWN0ICppdGVtKQoreworICAgIFB5T2JqZWN0ICp0bXA7CisgICAgdW5zaWduZWQgUFlfTE9OR19MT05HIGxsdTsKKworICAgIHRtcCA9IFB5TnVtYmVyX0luZGV4KGl0ZW0pOworICAgIGlmICh0bXAgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuICh1bnNpZ25lZCBQWV9MT05HX0xPTkcpLTE7CisKKyAgICBsbHUgPSBQeUxvbmdfQXNVbnNpZ25lZExvbmdMb25nKHRtcCk7CisgICAgUHlfREVDUkVGKHRtcCk7CisgICAgcmV0dXJuIGxsdTsKK30KKyNlbmRpZgorCitzdGF0aWMgUHlfc3NpemVfdAorcHlsb25nX2FzX3pkKFB5T2JqZWN0ICppdGVtKQoreworICAgIFB5T2JqZWN0ICp0bXA7CisgICAgUHlfc3NpemVfdCB6ZDsKKworICAgIHRtcCA9IFB5TnVtYmVyX0luZGV4KGl0ZW0pOworICAgIGlmICh0bXAgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIC0xOworCisgICAgemQgPSBQeUxvbmdfQXNTc2l6ZV90KHRtcCk7CisgICAgUHlfREVDUkVGKHRtcCk7CisgICAgcmV0dXJuIHpkOworfQorCitzdGF0aWMgc2l6ZV90CitweWxvbmdfYXNfenUoUHlPYmplY3QgKml0ZW0pCit7CisgICAgUHlPYmplY3QgKnRtcDsKKyAgICBzaXplX3QgenU7CisKKyAgICB0bXAgPSBQeU51bWJlcl9JbmRleChpdGVtKTsKKyAgICBpZiAodG1wID09IE5VTEwpCisgICAgICAgIHJldHVybiAoc2l6ZV90KS0xOworCisgICAgenUgPSBQeUxvbmdfQXNTaXplX3QodG1wKTsKKyAgICBQeV9ERUNSRUYodG1wKTsKKyAgICByZXR1cm4genU7Cit9CisKKy8qIFRpbWluZ3Mgd2l0aCB0aGUgbmRhcnJheSBmcm9tIF90ZXN0YnVmZmVyLmMgaW5kaWNhdGUgdGhhdCB1c2luZyB0aGUKKyAgIHN0cnVjdCBtb2R1bGUgaXMgYXJvdW5kIDE1eCBzbG93ZXIgdGhhbiB0aGUgdHdvIGZ1bmN0aW9ucyBiZWxvdy4gKi8KKworI2RlZmluZSBVTlBBQ0tfU0lOR0xFKGRlc3QsIHB0ciwgdHlwZSkgXAorICAgIGRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgdHlwZSB4OyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIG1lbWNweSgoY2hhciAqKSZ4LCBwdHIsIHNpemVvZiB4KTsgXAorICAgICAgICBkZXN0ID0geDsgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB9IHdoaWxlICgwKQorCisvKiBVbnBhY2sgYSBzaW5nbGUgaXRlbS4gJ2ZtdCcgY2FuIGJlIGFueSBuYXRpdmUgZm9ybWF0IGNoYXJhY3RlciBpbiBzdHJ1Y3QKKyAgIG1vZHVsZSBzeW50YXguIFRoaXMgZnVuY3Rpb24gaXMgdmVyeSBzZW5zaXRpdmUgdG8gc21hbGwgY2hhbmdlcy4gV2l0aCB0aGlzCisgICBsYXlvdXQgZ2NjIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVzIGEgZmFzdCBqdW1wIHRhYmxlLiAqLworUHlfTE9DQUxfSU5MSU5FKFB5T2JqZWN0ICopCit1bnBhY2tfc2luZ2xlKGNvbnN0IGNoYXIgKnB0ciwgY29uc3QgY2hhciAqZm10KQoreworICAgIHVuc2lnbmVkIFBZX0xPTkdfTE9ORyBsbHU7CisgICAgdW5zaWduZWQgbG9uZyBsdTsKKyAgICBzaXplX3QgenU7CisgICAgUFlfTE9OR19MT05HIGxsZDsKKyAgICBsb25nIGxkOworICAgIFB5X3NzaXplX3QgemQ7CisgICAgZG91YmxlIGQ7CisgICAgdW5zaWduZWQgY2hhciB1YzsKKyAgICB2b2lkICpwOworCisgICAgc3dpdGNoIChmbXRbMF0pIHsKKworICAgIC8qIHNpZ25lZCBpbnRlZ2VycyBhbmQgZmFzdCBwYXRoIGZvciAnQicgKi8KKyAgICBjYXNlICdCJzogdWMgPSAqKCh1bnNpZ25lZCBjaGFyICopcHRyKTsgZ290byBjb252ZXJ0X3VjOworICAgIGNhc2UgJ2InOiBsZCA9ICAgKigoc2lnbmVkIGNoYXIgKilwdHIpOyBnb3RvIGNvbnZlcnRfbGQ7CisgICAgY2FzZSAnaCc6IFVOUEFDS19TSU5HTEUobGQsIHB0ciwgc2hvcnQpOyBnb3RvIGNvbnZlcnRfbGQ7CisgICAgY2FzZSAnaSc6IFVOUEFDS19TSU5HTEUobGQsIHB0ciwgaW50KTsgZ290byBjb252ZXJ0X2xkOworICAgIGNhc2UgJ2wnOiBVTlBBQ0tfU0lOR0xFKGxkLCBwdHIsIGxvbmcpOyBnb3RvIGNvbnZlcnRfbGQ7CisKKyAgICAvKiBib29sZWFuICovCisgICAgI2lmZGVmIEhBVkVfQzk5X0JPT0wKKyAgICBjYXNlICc/JzogVU5QQUNLX1NJTkdMRShsZCwgcHRyLCBfQm9vbCk7IGdvdG8gY29udmVydF9ib29sOworICAgICNlbHNlCisgICAgY2FzZSAnPyc6IFVOUEFDS19TSU5HTEUobGQsIHB0ciwgY2hhcik7IGdvdG8gY29udmVydF9ib29sOworICAgICNlbmRpZgorCisgICAgLyogdW5zaWduZWQgaW50ZWdlcnMgKi8KKyAgICBjYXNlICdIJzogVU5QQUNLX1NJTkdMRShsdSwgcHRyLCB1bnNpZ25lZCBzaG9ydCk7IGdvdG8gY29udmVydF9sdTsKKyAgICBjYXNlICdJJzogVU5QQUNLX1NJTkdMRShsdSwgcHRyLCB1bnNpZ25lZCBpbnQpOyBnb3RvIGNvbnZlcnRfbHU7CisgICAgY2FzZSAnTCc6IFVOUEFDS19TSU5HTEUobHUsIHB0ciwgdW5zaWduZWQgbG9uZyk7IGdvdG8gY29udmVydF9sdTsKKworICAgIC8qIG5hdGl2ZSA2NC1iaXQgKi8KKyAgICAjaWZkZWYgSEFWRV9MT05HX0xPTkcKKyAgICBjYXNlICdxJzogVU5QQUNLX1NJTkdMRShsbGQsIHB0ciwgUFlfTE9OR19MT05HKTsgZ290byBjb252ZXJ0X2xsZDsKKyAgICBjYXNlICdRJzogVU5QQUNLX1NJTkdMRShsbHUsIHB0ciwgdW5zaWduZWQgUFlfTE9OR19MT05HKTsgZ290byBjb252ZXJ0X2xsdTsKKyAgICAjZW5kaWYKKworICAgIC8qIHNzaXplX3QgYW5kIHNpemVfdCAqLworICAgIGNhc2UgJ24nOiBVTlBBQ0tfU0lOR0xFKHpkLCBwdHIsIFB5X3NzaXplX3QpOyBnb3RvIGNvbnZlcnRfemQ7CisgICAgY2FzZSAnTic6IFVOUEFDS19TSU5HTEUoenUsIHB0ciwgc2l6ZV90KTsgZ290byBjb252ZXJ0X3p1OworCisgICAgLyogZmxvYXRzICovCisgICAgY2FzZSAnZic6IFVOUEFDS19TSU5HTEUoZCwgcHRyLCBmbG9hdCk7IGdvdG8gY29udmVydF9kb3VibGU7CisgICAgY2FzZSAnZCc6IFVOUEFDS19TSU5HTEUoZCwgcHRyLCBkb3VibGUpOyBnb3RvIGNvbnZlcnRfZG91YmxlOworCisgICAgLyogYnl0ZXMgb2JqZWN0ICovCisgICAgY2FzZSAnYyc6IGdvdG8gY29udmVydF9ieXRlczsKKworICAgIC8qIHBvaW50ZXIgKi8KKyAgICBjYXNlICdQJzogVU5QQUNLX1NJTkdMRShwLCBwdHIsIHZvaWQgKik7IGdvdG8gY29udmVydF9wb2ludGVyOworCisgICAgLyogZGVmYXVsdCAqLworICAgIGRlZmF1bHQ6IGdvdG8gZXJyX2Zvcm1hdDsKKyAgICB9CisKK2NvbnZlcnRfdWM6CisgICAgLyogUHlMb25nX0Zyb21VbnNpZ25lZExvbmcoKSBpcyBzbG93ZXIgKi8KKyAgICByZXR1cm4gUHlMb25nX0Zyb21Mb25nKHVjKTsKK2NvbnZlcnRfbGQ6CisgICAgcmV0dXJuIFB5TG9uZ19Gcm9tTG9uZyhsZCk7Citjb252ZXJ0X2x1OgorICAgIHJldHVybiBQeUxvbmdfRnJvbVVuc2lnbmVkTG9uZyhsdSk7Citjb252ZXJ0X2xsZDoKKyAgICByZXR1cm4gUHlMb25nX0Zyb21Mb25nTG9uZyhsbGQpOworY29udmVydF9sbHU6CisgICAgcmV0dXJuIFB5TG9uZ19Gcm9tVW5zaWduZWRMb25nTG9uZyhsbHUpOworY29udmVydF96ZDoKKyAgICByZXR1cm4gUHlMb25nX0Zyb21Tc2l6ZV90KHpkKTsKK2NvbnZlcnRfenU6CisgICAgcmV0dXJuIFB5TG9uZ19Gcm9tU2l6ZV90KHp1KTsKK2NvbnZlcnRfZG91YmxlOgorICAgIHJldHVybiBQeUZsb2F0X0Zyb21Eb3VibGUoZCk7Citjb252ZXJ0X2Jvb2w6CisgICAgcmV0dXJuIFB5Qm9vbF9Gcm9tTG9uZyhsZCk7Citjb252ZXJ0X2J5dGVzOgorICAgIHJldHVybiBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplKHB0ciwgMSk7Citjb252ZXJ0X3BvaW50ZXI6CisgICAgcmV0dXJuIFB5TG9uZ19Gcm9tVm9pZFB0cihwKTsKK2Vycl9mb3JtYXQ6CisgICAgUHlFcnJfRm9ybWF0KFB5RXhjX05vdEltcGxlbWVudGVkRXJyb3IsCisgICAgICAgICJtZW1vcnl2aWV3OiBmb3JtYXQgJXMgbm90IHN1cHBvcnRlZCIsIGZtdCk7CisgICAgcmV0dXJuIE5VTEw7Cit9CisKKyNkZWZpbmUgUEFDS19TSU5HTEUocHRyLCBzcmMsIHR5cGUpIFwKKyAgICBkbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgdHlwZSB4OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgeCA9ICh0eXBlKXNyYzsgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgbWVtY3B5KHB0ciwgKGNoYXIgKikmeCwgc2l6ZW9mIHgpOyAgIFwKKyAgICB9IHdoaWxlICgwKQorCisvKiBQYWNrIGEgc2luZ2xlIGl0ZW0uICdmbXQnIGNhbiBiZSBhbnkgbmF0aXZlIGZvcm1hdCBjaGFyYWN0ZXIgaW4KKyAgIHN0cnVjdCBtb2R1bGUgc3ludGF4LiAqLworc3RhdGljIGludAorcGFja19zaW5nbGUoY2hhciAqcHRyLCBQeU9iamVjdCAqaXRlbSwgY29uc3QgY2hhciAqZm10KQoreworICAgIHVuc2lnbmVkIFBZX0xPTkdfTE9ORyBsbHU7CisgICAgdW5zaWduZWQgbG9uZyBsdTsKKyAgICBzaXplX3QgenU7CisgICAgUFlfTE9OR19MT05HIGxsZDsKKyAgICBsb25nIGxkOworICAgIFB5X3NzaXplX3QgemQ7CisgICAgZG91YmxlIGQ7CisgICAgdm9pZCAqcDsKKworICAgIHN3aXRjaCAoZm10WzBdKSB7CisgICAgLyogc2lnbmVkIGludGVnZXJzICovCisgICAgY2FzZSAnYic6IGNhc2UgJ2gnOiBjYXNlICdpJzogY2FzZSAnbCc6CisgICAgICAgIGxkID0gcHlsb25nX2FzX2xkKGl0ZW0pOworICAgICAgICBpZiAobGQgPT0gLTEgJiYgUHlFcnJfT2NjdXJyZWQoKSkKKyAgICAgICAgICAgIGdvdG8gZXJyX29jY3VycmVkOworICAgICAgICBzd2l0Y2ggKGZtdFswXSkgeworICAgICAgICBjYXNlICdiJzoKKyAgICAgICAgICAgIGlmIChsZCA8IFNDSEFSX01JTiB8fCBsZCA+IFNDSEFSX01BWCkgZ290byBlcnJfcmFuZ2U7CisgICAgICAgICAgICAqKChzaWduZWQgY2hhciAqKXB0cikgPSAoc2lnbmVkIGNoYXIpbGQ7IGJyZWFrOworICAgICAgICBjYXNlICdoJzoKKyAgICAgICAgICAgIGlmIChsZCA8IFNIUlRfTUlOIHx8IGxkID4gU0hSVF9NQVgpIGdvdG8gZXJyX3JhbmdlOworICAgICAgICAgICAgUEFDS19TSU5HTEUocHRyLCBsZCwgc2hvcnQpOyBicmVhazsKKyAgICAgICAgY2FzZSAnaSc6CisgICAgICAgICAgICBpZiAobGQgPCBJTlRfTUlOIHx8IGxkID4gSU5UX01BWCkgZ290byBlcnJfcmFuZ2U7CisgICAgICAgICAgICBQQUNLX1NJTkdMRShwdHIsIGxkLCBpbnQpOyBicmVhazsKKyAgICAgICAgZGVmYXVsdDogLyogJ2wnICovCisgICAgICAgICAgICBQQUNLX1NJTkdMRShwdHIsIGxkLCBsb25nKTsgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgYnJlYWs7CisKKyAgICAvKiB1bnNpZ25lZCBpbnRlZ2VycyAqLworICAgIGNhc2UgJ0InOiBjYXNlICdIJzogY2FzZSAnSSc6IGNhc2UgJ0wnOgorICAgICAgICBsdSA9IHB5bG9uZ19hc19sdShpdGVtKTsKKyAgICAgICAgaWYgKGx1ID09ICh1bnNpZ25lZCBsb25nKS0xICYmIFB5RXJyX09jY3VycmVkKCkpCisgICAgICAgICAgICBnb3RvIGVycl9vY2N1cnJlZDsKKyAgICAgICAgc3dpdGNoIChmbXRbMF0pIHsKKyAgICAgICAgY2FzZSAnQic6CisgICAgICAgICAgICBpZiAobHUgPiBVQ0hBUl9NQVgpIGdvdG8gZXJyX3JhbmdlOworICAgICAgICAgICAgKigodW5zaWduZWQgY2hhciAqKXB0cikgPSAodW5zaWduZWQgY2hhcilsdTsgYnJlYWs7CisgICAgICAgIGNhc2UgJ0gnOgorICAgICAgICAgICAgaWYgKGx1ID4gVVNIUlRfTUFYKSBnb3RvIGVycl9yYW5nZTsKKyAgICAgICAgICAgIFBBQ0tfU0lOR0xFKHB0ciwgbHUsIHVuc2lnbmVkIHNob3J0KTsgYnJlYWs7CisgICAgICAgIGNhc2UgJ0knOgorICAgICAgICAgICAgaWYgKGx1ID4gVUlOVF9NQVgpIGdvdG8gZXJyX3JhbmdlOworICAgICAgICAgICAgUEFDS19TSU5HTEUocHRyLCBsdSwgdW5zaWduZWQgaW50KTsgYnJlYWs7CisgICAgICAgIGRlZmF1bHQ6IC8qICdMJyAqLworICAgICAgICAgICAgUEFDS19TSU5HTEUocHRyLCBsdSwgdW5zaWduZWQgbG9uZyk7IGJyZWFrOworICAgICAgICB9CisgICAgICAgIGJyZWFrOworCisgICAgLyogbmF0aXZlIDY0LWJpdCAqLworICAgICNpZmRlZiBIQVZFX0xPTkdfTE9ORworICAgIGNhc2UgJ3EnOgorICAgICAgICBsbGQgPSBweWxvbmdfYXNfbGxkKGl0ZW0pOworICAgICAgICBpZiAobGxkID09IC0xICYmIFB5RXJyX09jY3VycmVkKCkpCisgICAgICAgICAgICBnb3RvIGVycl9vY2N1cnJlZDsKKyAgICAgICAgUEFDS19TSU5HTEUocHRyLCBsbGQsIFBZX0xPTkdfTE9ORyk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgJ1EnOgorICAgICAgICBsbHUgPSBweWxvbmdfYXNfbGx1KGl0ZW0pOworICAgICAgICBpZiAobGx1ID09ICh1bnNpZ25lZCBQWV9MT05HX0xPTkcpLTEgJiYgUHlFcnJfT2NjdXJyZWQoKSkKKyAgICAgICAgICAgIGdvdG8gZXJyX29jY3VycmVkOworICAgICAgICBQQUNLX1NJTkdMRShwdHIsIGxsdSwgdW5zaWduZWQgUFlfTE9OR19MT05HKTsKKyAgICAgICAgYnJlYWs7CisgICAgI2VuZGlmCisKKyAgICAvKiBzc2l6ZV90IGFuZCBzaXplX3QgKi8KKyAgICBjYXNlICduJzoKKyAgICAgICAgemQgPSBweWxvbmdfYXNfemQoaXRlbSk7CisgICAgICAgIGlmICh6ZCA9PSAtMSAmJiBQeUVycl9PY2N1cnJlZCgpKQorICAgICAgICAgICAgZ290byBlcnJfb2NjdXJyZWQ7CisgICAgICAgIFBBQ0tfU0lOR0xFKHB0ciwgemQsIFB5X3NzaXplX3QpOworICAgICAgICBicmVhazsKKyAgICBjYXNlICdOJzoKKyAgICAgICAgenUgPSBweWxvbmdfYXNfenUoaXRlbSk7CisgICAgICAgIGlmICh6dSA9PSAoc2l6ZV90KS0xICYmIFB5RXJyX09jY3VycmVkKCkpCisgICAgICAgICAgICBnb3RvIGVycl9vY2N1cnJlZDsKKyAgICAgICAgUEFDS19TSU5HTEUocHRyLCB6dSwgc2l6ZV90KTsKKyAgICAgICAgYnJlYWs7CisKKyAgICAvKiBmbG9hdHMgKi8KKyAgICBjYXNlICdmJzogY2FzZSAnZCc6CisgICAgICAgIGQgPSBQeUZsb2F0X0FzRG91YmxlKGl0ZW0pOworICAgICAgICBpZiAoZCA9PSAtMS4wICYmIFB5RXJyX09jY3VycmVkKCkpCisgICAgICAgICAgICBnb3RvIGVycl9vY2N1cnJlZDsKKyAgICAgICAgaWYgKGZtdFswXSA9PSAnZicpIHsKKyAgICAgICAgICAgIFBBQ0tfU0lOR0xFKHB0ciwgZCwgZmxvYXQpOworICAgICAgICB9CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgUEFDS19TSU5HTEUocHRyLCBkLCBkb3VibGUpOworICAgICAgICB9CisgICAgICAgIGJyZWFrOworCisgICAgLyogYm9vbCAqLworICAgIGNhc2UgJz8nOgorICAgICAgICBsZCA9IFB5T2JqZWN0X0lzVHJ1ZShpdGVtKTsKKyAgICAgICAgaWYgKGxkIDwgMCkKKyAgICAgICAgICAgIHJldHVybiAtMTsgLyogcHJlc2VydmUgb3JpZ2luYWwgZXJyb3IgKi8KKyAgICAjaWZkZWYgSEFWRV9DOTlfQk9PTAorICAgICAgICBQQUNLX1NJTkdMRShwdHIsIGxkLCBfQm9vbCk7CisgICAgI2Vsc2UKKyAgICAgICAgUEFDS19TSU5HTEUocHRyLCBsZCwgY2hhcik7CisgICAgI2VuZGlmCisgICAgICAgICBicmVhazsKKworICAgIC8qIGJ5dGVzIG9iamVjdCAqLworICAgIGNhc2UgJ2MnOgorICAgICAgICBpZiAoIVB5Qnl0ZXNfQ2hlY2soaXRlbSkpCisgICAgICAgICAgICByZXR1cm4gdHlwZV9lcnJvcl9pbnQoZm10KTsKKyAgICAgICAgaWYgKFB5Qnl0ZXNfR0VUX1NJWkUoaXRlbSkgIT0gMSkKKyAgICAgICAgICAgIHJldHVybiB2YWx1ZV9lcnJvcl9pbnQoZm10KTsKKyAgICAgICAgKnB0ciA9IFB5Qnl0ZXNfQVNfU1RSSU5HKGl0ZW0pWzBdOworICAgICAgICBicmVhazsKKworICAgIC8qIHBvaW50ZXIgKi8KKyAgICBjYXNlICdQJzoKKyAgICAgICAgcCA9IFB5TG9uZ19Bc1ZvaWRQdHIoaXRlbSk7CisgICAgICAgIGlmIChwID09IE5VTEwgJiYgUHlFcnJfT2NjdXJyZWQoKSkKKyAgICAgICAgICAgIGdvdG8gZXJyX29jY3VycmVkOworICAgICAgICBQQUNLX1NJTkdMRShwdHIsIHAsIHZvaWQgKik7CisgICAgICAgIGJyZWFrOworCisgICAgLyogZGVmYXVsdCAqLworICAgIGRlZmF1bHQ6IGdvdG8gZXJyX2Zvcm1hdDsKKyAgICB9CisKKyAgICByZXR1cm4gMDsKKworZXJyX29jY3VycmVkOgorICAgIHJldHVybiBmaXhfZXJyb3JfaW50KGZtdCk7CitlcnJfcmFuZ2U6CisgICAgcmV0dXJuIHZhbHVlX2Vycm9yX2ludChmbXQpOworZXJyX2Zvcm1hdDoKKyAgICBQeUVycl9Gb3JtYXQoUHlFeGNfTm90SW1wbGVtZW50ZWRFcnJvciwKKyAgICAgICAgIm1lbW9yeXZpZXc6IGZvcm1hdCAlcyBub3Qgc3VwcG9ydGVkIiwgZm10KTsKKyAgICByZXR1cm4gLTE7Cit9CisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlcHJlc2VudGF0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKiBhbGxvdyBleHBsaWNpdCBmb3JtIG9mIG5hdGl2ZSBmb3JtYXQgKi8KK1B5X0xPQ0FMX0lOTElORShjb25zdCBjaGFyICopCithZGp1c3RfZm10KGNvbnN0IFB5X2J1ZmZlciAqdmlldykKK3sKKyAgICBjb25zdCBjaGFyICpmbXQ7CisKKyAgICBmbXQgPSAodmlldy0+Zm9ybWF0WzBdID09ICdAJykgPyB2aWV3LT5mb3JtYXQrMSA6IHZpZXctPmZvcm1hdDsKKyAgICBpZiAoZm10WzBdICYmIGZtdFsxXSA9PSAnXDAnKQorICAgICAgICByZXR1cm4gZm10OworCisgICAgUHlFcnJfRm9ybWF0KFB5RXhjX05vdEltcGxlbWVudGVkRXJyb3IsCisgICAgICAgICJtZW1vcnl2aWV3OiB1bnN1cHBvcnRlZCBmb3JtYXQgJXMiLCB2aWV3LT5mb3JtYXQpOworICAgIHJldHVybiBOVUxMOworfQorCisvKiBCYXNlIGNhc2UgZm9yIG11bHRpLWRpbWVuc2lvbmFsIHVucGFja2luZy4gQXNzdW1wdGlvbjogbmRpbSA9PSAxLiAqLworc3RhdGljIFB5T2JqZWN0ICoKK3RvbGlzdF9iYXNlKGNvbnN0IGNoYXIgKnB0ciwgY29uc3QgUHlfc3NpemVfdCAqc2hhcGUsCisgICAgICAgICAgICBjb25zdCBQeV9zc2l6ZV90ICpzdHJpZGVzLCBjb25zdCBQeV9zc2l6ZV90ICpzdWJvZmZzZXRzLAorICAgICAgICAgICAgY29uc3QgY2hhciAqZm10KQoreworICAgIFB5T2JqZWN0ICpsc3QsICppdGVtOworICAgIFB5X3NzaXplX3QgaTsKKworICAgIGxzdCA9IFB5TGlzdF9OZXcoc2hhcGVbMF0pOworICAgIGlmIChsc3QgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICBmb3IgKGkgPSAwOyBpIDwgc2hhcGVbMF07IHB0cis9c3RyaWRlc1swXSwgaSsrKSB7CisgICAgICAgIGNvbnN0IGNoYXIgKnhwdHIgPSBBREpVU1RfUFRSKHB0ciwgc3Vib2Zmc2V0cyk7CisgICAgICAgIGl0ZW0gPSB1bnBhY2tfc2luZ2xlKHhwdHIsIGZtdCk7CisgICAgICAgIGlmIChpdGVtID09IE5VTEwpIHsKKyAgICAgICAgICAgIFB5X0RFQ1JFRihsc3QpOworICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIH0KKyAgICAgICAgUHlMaXN0X1NFVF9JVEVNKGxzdCwgaSwgaXRlbSk7CisgICAgfQorCisgICAgcmV0dXJuIGxzdDsKK30KKworLyogVW5wYWNrIGEgbXVsdGktZGltZW5zaW9uYWwgYXJyYXkgaW50byBhIG5lc3RlZCBsaXN0LgorICAgQXNzdW1wdGlvbjogbmRpbSA+PSAxLiAqLworc3RhdGljIFB5T2JqZWN0ICoKK3RvbGlzdF9yZWMoY29uc3QgY2hhciAqcHRyLCBQeV9zc2l6ZV90IG5kaW0sIGNvbnN0IFB5X3NzaXplX3QgKnNoYXBlLAorICAgICAgICAgICBjb25zdCBQeV9zc2l6ZV90ICpzdHJpZGVzLCBjb25zdCBQeV9zc2l6ZV90ICpzdWJvZmZzZXRzLAorICAgICAgICAgICBjb25zdCBjaGFyICpmbXQpCit7CisgICAgUHlPYmplY3QgKmxzdCwgKml0ZW07CisgICAgUHlfc3NpemVfdCBpOworCisgICAgYXNzZXJ0KG5kaW0gPj0gMSk7CisgICAgYXNzZXJ0KHNoYXBlICE9IE5VTEwpOworICAgIGFzc2VydChzdHJpZGVzICE9IE5VTEwpOworCisgICAgaWYgKG5kaW0gPT0gMSkKKyAgICAgICAgcmV0dXJuIHRvbGlzdF9iYXNlKHB0ciwgc2hhcGUsIHN0cmlkZXMsIHN1Ym9mZnNldHMsIGZtdCk7CisKKyAgICBsc3QgPSBQeUxpc3RfTmV3KHNoYXBlWzBdKTsKKyAgICBpZiAobHN0ID09IE5VTEwpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgZm9yIChpID0gMDsgaSA8IHNoYXBlWzBdOyBwdHIrPXN0cmlkZXNbMF0sIGkrKykgeworICAgICAgICBjb25zdCBjaGFyICp4cHRyID0gQURKVVNUX1BUUihwdHIsIHN1Ym9mZnNldHMpOworICAgICAgICBpdGVtID0gdG9saXN0X3JlYyh4cHRyLCBuZGltLTEsIHNoYXBlKzEsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmlkZXMrMSwgc3Vib2Zmc2V0cyA/IHN1Ym9mZnNldHMrMSA6IE5VTEwsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGZtdCk7CisgICAgICAgIGlmIChpdGVtID09IE5VTEwpIHsKKyAgICAgICAgICAgIFB5X0RFQ1JFRihsc3QpOworICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIH0KKyAgICAgICAgUHlMaXN0X1NFVF9JVEVNKGxzdCwgaSwgaXRlbSk7CisgICAgfQorCisgICAgcmV0dXJuIGxzdDsKK30KKworLyogUmV0dXJuIGEgbGlzdCByZXByZXNlbnRhdGlvbiBvZiB0aGUgbWVtb3J5dmlldy4gQ3VycmVudGx5IG9ubHkgYnVmZmVycworICAgd2l0aCBuYXRpdmUgZm9ybWF0IHN0cmluZ3MgYXJlIHN1cHBvcnRlZC4gKi8KK3N0YXRpYyBQeU9iamVjdCAqCittZW1vcnlfdG9saXN0KFB5TWVtb3J5Vmlld09iamVjdCAqbXYsIFB5T2JqZWN0ICpub2FyZ3MpCit7CisgICAgY29uc3QgUHlfYnVmZmVyICp2aWV3ID0gJihtdi0+dmlldyk7CisgICAgY29uc3QgY2hhciAqZm10OworCisgICAgQ0hFQ0tfUkVMRUFTRUQobXYpOworCisgICAgZm10ID0gYWRqdXN0X2ZtdCh2aWV3KTsKKyAgICBpZiAoZm10ID09IE5VTEwpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIGlmICh2aWV3LT5uZGltID09IDApIHsKKyAgICAgICAgcmV0dXJuIHVucGFja19zaW5nbGUodmlldy0+YnVmLCBmbXQpOworICAgIH0KKyAgICBlbHNlIGlmICh2aWV3LT5uZGltID09IDEpIHsKKyAgICAgICAgcmV0dXJuIHRvbGlzdF9iYXNlKHZpZXctPmJ1Ziwgdmlldy0+c2hhcGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3LT5zdHJpZGVzLCB2aWV3LT5zdWJvZmZzZXRzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgZm10KTsKKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIHJldHVybiB0b2xpc3RfcmVjKHZpZXctPmJ1Ziwgdmlldy0+bmRpbSwgdmlldy0+c2hhcGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXctPnN0cmlkZXMsIHZpZXctPnN1Ym9mZnNldHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGZtdCk7CisgICAgfQorfQorCitzdGF0aWMgUHlPYmplY3QgKgorbWVtb3J5X3RvYnl0ZXMoUHlNZW1vcnlWaWV3T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqZHVtbXkpCit7CisgICAgUHlfYnVmZmVyICpzcmMgPSBWSUVXX0FERFIoc2VsZik7CisgICAgUHlPYmplY3QgKmJ5dGVzID0gTlVMTDsKKworICAgIENIRUNLX1JFTEVBU0VEKHNlbGYpOworCisgICAgaWYgKE1WX0NfQ09OVElHVU9VUyhzZWxmLT5mbGFncykpIHsKKyAgICAgICAgcmV0dXJuIFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUoc3JjLT5idWYsIHNyYy0+bGVuKTsKKyAgICB9CisKKyAgICBieXRlcyA9IFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUoTlVMTCwgc3JjLT5sZW4pOworICAgIGlmIChieXRlcyA9PSBOVUxMKQorICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIGlmIChidWZmZXJfdG9fY19jb250aWd1b3VzKFB5Qnl0ZXNfQVNfU1RSSU5HKGJ5dGVzKSwgc3JjKSA8IDApIHsKKyAgICAgICAgUHlfREVDUkVGKGJ5dGVzKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorCisgICAgcmV0dXJuIGJ5dGVzOworfQorCitzdGF0aWMgUHlPYmplY3QgKgorbWVtb3J5X3JlcHIoUHlNZW1vcnlWaWV3T2JqZWN0ICpzZWxmKQoreworICAgIGlmIChzZWxmLT5mbGFncyAmIF9QeV9NRU1PUllWSUVXX1JFTEVBU0VEKQorICAgICAgICByZXR1cm4gUHlVbmljb2RlX0Zyb21Gb3JtYXQoIjxyZWxlYXNlZCBtZW1vcnkgYXQgJXA+Iiwgc2VsZik7CisgICAgZWxzZQorICAgICAgICByZXR1cm4gUHlVbmljb2RlX0Zyb21Gb3JtYXQoIjxtZW1vcnkgYXQgJXA+Iiwgc2VsZik7Cit9CisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyogICAgICAgICAgICAgICAgICAgICAgICAgIEluZGV4aW5nIGFuZCBzbGljaW5nICAgICAgICAgICAgICAgICAgICAgICAgICAqLworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKiBHZXQgdGhlIHBvaW50ZXIgdG8gdGhlIGl0ZW0gYXQgaW5kZXguICovCitzdGF0aWMgY2hhciAqCitwdHJfZnJvbV9pbmRleChQeV9idWZmZXIgKnZpZXcsIFB5X3NzaXplX3QgaW5kZXgpCit7CisgICAgY2hhciAqcHRyOworICAgIFB5X3NzaXplX3Qgbml0ZW1zOyAvKiBpdGVtcyBpbiB0aGUgZmlyc3QgZGltZW5zaW9uICovCisKKyAgICBhc3NlcnQodmlldy0+c2hhcGUpOworICAgIGFzc2VydCh2aWV3LT5zdHJpZGVzKTsKKworICAgIG5pdGVtcyA9IHZpZXctPnNoYXBlWzBdOworICAgIGlmIChpbmRleCA8IDApIHsKKyAgICAgICAgaW5kZXggKz0gbml0ZW1zOworICAgIH0KKyAgICBpZiAoaW5kZXggPCAwIHx8IGluZGV4ID49IG5pdGVtcykgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfSW5kZXhFcnJvciwgImluZGV4IG91dCBvZiBib3VuZHMiKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorCisgICAgcHRyID0gKGNoYXIgKil2aWV3LT5idWY7CisgICAgcHRyICs9IHZpZXctPnN0cmlkZXNbMF0gKiBpbmRleDsKKworICAgIHB0ciA9IEFESlVTVF9QVFIocHRyLCB2aWV3LT5zdWJvZmZzZXRzKTsKKworICAgIHJldHVybiBwdHI7Cit9CisKKy8qIFJldHVybiB0aGUgaXRlbSBhdCBpbmRleC4gSW4gYSBvbmUtZGltZW5zaW9uYWwgdmlldywgdGhpcyBpcyBhbiBvYmplY3QKKyAgIHdpdGggdGhlIHR5cGUgc3BlY2lmaWVkIGJ5IHZpZXctPmZvcm1hdC4gT3RoZXJ3aXNlLCB0aGUgaXRlbSBpcyBhIHN1Yi12aWV3LgorICAgVGhlIGZ1bmN0aW9uIGlzIHVzZWQgaW4gbWVtb3J5X3N1YnNjcmlwdCgpIGFuZCBtZW1vcnlfYXNfc2VxdWVuY2UuICovCitzdGF0aWMgUHlPYmplY3QgKgorbWVtb3J5X2l0ZW0oUHlNZW1vcnlWaWV3T2JqZWN0ICpzZWxmLCBQeV9zc2l6ZV90IGluZGV4KQoreworICAgIFB5X2J1ZmZlciAqdmlldyA9ICYoc2VsZi0+dmlldyk7CisgICAgY29uc3QgY2hhciAqZm10OworCisgICAgQ0hFQ0tfUkVMRUFTRUQoc2VsZik7CisKKyAgICBmbXQgPSBhZGp1c3RfZm10KHZpZXcpOworICAgIGlmIChmbXQgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICBpZiAodmlldy0+bmRpbSA9PSAwKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsICJpbnZhbGlkIGluZGV4aW5nIG9mIDAtZGltIG1lbW9yeSIpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisgICAgaWYgKHZpZXctPm5kaW0gPT0gMSkgeworICAgICAgICBjaGFyICpwdHIgPSBwdHJfZnJvbV9pbmRleCh2aWV3LCBpbmRleCk7CisgICAgICAgIGlmIChwdHIgPT0gTlVMTCkKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICByZXR1cm4gdW5wYWNrX3NpbmdsZShwdHIsIGZtdCk7CisgICAgfQorCisgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX05vdEltcGxlbWVudGVkRXJyb3IsCisgICAgICAgICJtdWx0aS1kaW1lbnNpb25hbCBzdWItdmlld3MgYXJlIG5vdCBpbXBsZW1lbnRlZCIpOworICAgIHJldHVybiBOVUxMOworfQorCitQeV9MT0NBTF9JTkxJTkUoaW50KQoraW5pdF9zbGljZShQeV9idWZmZXIgKmJhc2UsIFB5T2JqZWN0ICprZXksIGludCBkaW0pCit7CisgICAgUHlfc3NpemVfdCBzdGFydCwgc3RvcCwgc3RlcCwgc2xpY2VsZW5ndGg7CisKKyAgICBpZiAoUHlTbGljZV9HZXRJbmRpY2VzRXgoa2V5LCBiYXNlLT5zaGFwZVtkaW1dLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmc3RhcnQsICZzdG9wLCAmc3RlcCwgJnNsaWNlbGVuZ3RoKSA8IDApIHsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKworCisgICAgaWYgKGJhc2UtPnN1Ym9mZnNldHMgPT0gTlVMTCB8fCBkaW0gPT0gMCkgeworICAgIGFkanVzdF9idWY6CisgICAgICAgIGJhc2UtPmJ1ZiA9IChjaGFyICopYmFzZS0+YnVmICsgYmFzZS0+c3RyaWRlc1tkaW1dICogc3RhcnQ7CisgICAgfQorICAgIGVsc2UgeworICAgICAgICBQeV9zc2l6ZV90IG4gPSBkaW0tMTsKKyAgICAgICAgd2hpbGUgKG4gPj0gMCAmJiBiYXNlLT5zdWJvZmZzZXRzW25dIDwgMCkKKyAgICAgICAgICAgIG4tLTsKKyAgICAgICAgaWYgKG4gPCAwKQorICAgICAgICAgICAgZ290byBhZGp1c3RfYnVmOyAvKiBhbGwgc3Vib2Zmc2V0cyBhcmUgbmVnYXRpdmUgKi8KKyAgICAgICAgYmFzZS0+c3Vib2Zmc2V0c1tuXSA9IGJhc2UtPnN1Ym9mZnNldHNbbl0gKyBiYXNlLT5zdHJpZGVzW2RpbV0gKiBzdGFydDsKKyAgICB9CisgICAgYmFzZS0+c2hhcGVbZGltXSA9IHNsaWNlbGVuZ3RoOworICAgIGJhc2UtPnN0cmlkZXNbZGltXSA9IGJhc2UtPnN0cmlkZXNbZGltXSAqIHN0ZXA7CisKKyAgICByZXR1cm4gMDsKK30KKworc3RhdGljIGludAoraXNfbXVsdGlzbGljZShQeU9iamVjdCAqa2V5KQoreworICAgIFB5X3NzaXplX3Qgc2l6ZSwgaTsKKworICAgIGlmICghUHlUdXBsZV9DaGVjayhrZXkpKQorICAgICAgICByZXR1cm4gMDsKKyAgICBzaXplID0gUHlUdXBsZV9HRVRfU0laRShrZXkpOworICAgIGlmIChzaXplID09IDApCisgICAgICAgIHJldHVybiAwOworCisgICAgZm9yIChpID0gMDsgaSA8IHNpemU7IGkrKykgeworICAgICAgICBQeU9iamVjdCAqeCA9IFB5VHVwbGVfR0VUX0lURU0oa2V5LCBpKTsKKyAgICAgICAgaWYgKCFQeVNsaWNlX0NoZWNrKHgpKQorICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgfQorICAgIHJldHVybiAxOworfQorCisvKiBtdltvYmpdIHJldHVybnMgYW4gb2JqZWN0IGhvbGRpbmcgdGhlIGRhdGEgZm9yIG9uZSBlbGVtZW50IGlmIG9iagorICAgZnVsbHkgaW5kZXhlcyB0aGUgbWVtb3J5dmlldyBvciBhbm90aGVyIG1lbW9yeXZpZXcgb2JqZWN0IGlmIGl0CisgICBkb2VzIG5vdC4KKworICAgMC1kIG1lbW9yeXZpZXcgb2JqZWN0cyBjYW4gYmUgcmVmZXJlbmNlZCB1c2luZyBtdlsuLi5dIG9yIG12WygpXQorICAgYnV0IG5vdCB3aXRoIGFueXRoaW5nIGVsc2UuICovCitzdGF0aWMgUHlPYmplY3QgKgorbWVtb3J5X3N1YnNjcmlwdChQeU1lbW9yeVZpZXdPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICprZXkpCit7CisgICAgUHlfYnVmZmVyICp2aWV3OworICAgIHZpZXcgPSAmKHNlbGYtPnZpZXcpOworICAgIAorICAgIENIRUNLX1JFTEVBU0VEKHNlbGYpOworCisgICAgaWYgKHZpZXctPm5kaW0gPT0gMCkgeworICAgICAgICBpZiAoUHlUdXBsZV9DaGVjayhrZXkpICYmIFB5VHVwbGVfR0VUX1NJWkUoa2V5KSA9PSAwKSB7CisgICAgICAgICAgICBjb25zdCBjaGFyICpmbXQgPSBhZGp1c3RfZm10KHZpZXcpOworICAgICAgICAgICAgaWYgKGZtdCA9PSBOVUxMKQorICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICAgICAgcmV0dXJuIHVucGFja19zaW5nbGUodmlldy0+YnVmLCBmbXQpOworICAgICAgICB9CisgICAgICAgIGVsc2UgaWYgKGtleSA9PSBQeV9FbGxpcHNpcykgeworICAgICAgICAgICAgUHlfSU5DUkVGKHNlbGYpOworICAgICAgICAgICAgcmV0dXJuIChQeU9iamVjdCAqKXNlbGY7CisgICAgICAgIH0KKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLAorICAgICAgICAgICAgICAgICJpbnZhbGlkIGluZGV4aW5nIG9mIDAtZGltIG1lbW9yeSIpOworICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBpZiAoUHlJbmRleF9DaGVjayhrZXkpKSB7CisgICAgICAgIFB5X3NzaXplX3QgaW5kZXg7CisgICAgICAgIGluZGV4ID0gUHlOdW1iZXJfQXNTc2l6ZV90KGtleSwgUHlFeGNfSW5kZXhFcnJvcik7CisgICAgICAgIGlmIChpbmRleCA9PSAtMSAmJiBQeUVycl9PY2N1cnJlZCgpKQorICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIHJldHVybiBtZW1vcnlfaXRlbShzZWxmLCBpbmRleCk7CisgICAgfQorICAgIGVsc2UgaWYgKFB5U2xpY2VfQ2hlY2soa2V5KSkgeworICAgICAgICBQeU1lbW9yeVZpZXdPYmplY3QgKnNsaWNlZDsKKworICAgICAgICBzbGljZWQgPSAoUHlNZW1vcnlWaWV3T2JqZWN0ICopbWJ1Zl9hZGRfdmlldyhzZWxmLT5tYnVmLCB2aWV3KTsKKyAgICAgICAgaWYgKHNsaWNlZCA9PSBOVUxMKQorICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICAgICAgaWYgKGluaXRfc2xpY2UoJnNsaWNlZC0+dmlldywga2V5LCAwKSA8IDApIHsKKyAgICAgICAgICAgIFB5X0RFQ1JFRihzbGljZWQpOworICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIH0KKyAgICAgICAgaW5pdF9sZW4oJnNsaWNlZC0+dmlldyk7CisgICAgICAgIGluaXRfZmxhZ3Moc2xpY2VkKTsKKworICAgICAgICByZXR1cm4gKFB5T2JqZWN0ICopc2xpY2VkOworICAgIH0KKyAgICBlbHNlIGlmIChpc19tdWx0aXNsaWNlKGtleSkpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX05vdEltcGxlbWVudGVkRXJyb3IsCisgICAgICAgICAgICAibXVsdGktZGltZW5zaW9uYWwgc2xpY2luZyBpcyBub3QgaW1wbGVtZW50ZWQiKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorCisgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgIm1lbW9yeXZpZXc6IGludmFsaWQgc2xpY2Uga2V5Iik7CisgICAgcmV0dXJuIE5VTEw7Cit9CisKK3N0YXRpYyBpbnQKK21lbW9yeV9hc3Nfc3ViKFB5TWVtb3J5Vmlld09iamVjdCAqc2VsZiwgUHlPYmplY3QgKmtleSwgUHlPYmplY3QgKnZhbHVlKQoreworICAgIFB5X2J1ZmZlciAqdmlldyA9ICYoc2VsZi0+dmlldyk7CisgICAgUHlfYnVmZmVyIHNyYzsKKyAgICBjb25zdCBjaGFyICpmbXQ7CisgICAgY2hhciAqcHRyOworCisgICAgQ0hFQ0tfUkVMRUFTRURfSU5UKHNlbGYpOworCisgICAgZm10ID0gYWRqdXN0X2ZtdCh2aWV3KTsKKyAgICBpZiAoZm10ID09IE5VTEwpCisgICAgICAgIHJldHVybiAtMTsKKworICAgIGlmICh2aWV3LT5yZWFkb25seSkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCAiY2Fubm90IG1vZGlmeSByZWFkLW9ubHkgbWVtb3J5Iik7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisgICAgaWYgKHZhbHVlID09IE5VTEwpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgImNhbm5vdCBkZWxldGUgbWVtb3J5Iik7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisgICAgaWYgKHZpZXctPm5kaW0gPT0gMCkgeworICAgICAgICBpZiAoa2V5ID09IFB5X0VsbGlwc2lzIHx8CisgICAgICAgICAgICAoUHlUdXBsZV9DaGVjayhrZXkpICYmIFB5VHVwbGVfR0VUX1NJWkUoa2V5KT09MCkpIHsKKyAgICAgICAgICAgIHB0ciA9IChjaGFyICopdmlldy0+YnVmOworICAgICAgICAgICAgcmV0dXJuIHBhY2tfc2luZ2xlKHB0ciwgdmFsdWUsIGZtdCk7CisgICAgICAgIH0KKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLAorICAgICAgICAgICAgICAgICJpbnZhbGlkIGluZGV4aW5nIG9mIDAtZGltIG1lbW9yeSIpOworICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICB9CisgICAgfQorICAgIGlmICh2aWV3LT5uZGltICE9IDEpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX05vdEltcGxlbWVudGVkRXJyb3IsCisgICAgICAgICAgICAibWVtb3J5dmlldyBhc3NpZ25tZW50cyBhcmUgY3VycmVudGx5IHJlc3RyaWN0ZWQgdG8gbmRpbSA9IDEiKTsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKworICAgIGlmIChQeUluZGV4X0NoZWNrKGtleSkpIHsKKyAgICAgICAgUHlfc3NpemVfdCBpbmRleCA9IFB5TnVtYmVyX0FzU3NpemVfdChrZXksIFB5RXhjX0luZGV4RXJyb3IpOworICAgICAgICBpZiAoaW5kZXggPT0gLTEgJiYgUHlFcnJfT2NjdXJyZWQoKSkKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgcHRyID0gcHRyX2Zyb21faW5kZXgodmlldywgaW5kZXgpOworICAgICAgICBpZiAocHRyID09IE5VTEwpCisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIHJldHVybiBwYWNrX3NpbmdsZShwdHIsIHZhbHVlLCBmbXQpOworICAgIH0KKyAgICAvKiBvbmUtZGltZW5zaW9uYWw6IGZhc3QgcGF0aCAqLworICAgIGlmIChQeVNsaWNlX0NoZWNrKGtleSkgJiYgdmlldy0+bmRpbSA9PSAxKSB7CisgICAgICAgIFB5X2J1ZmZlciBkZXN0OyAvKiBzbGljZWQgdmlldyAqLworICAgICAgICBQeV9zc2l6ZV90IGFycmF5c1szXTsKKyAgICAgICAgaW50IHJldCA9IC0xOworCisgICAgICAgIC8qIHJ2YWx1ZSBtdXN0IGJlIGFuIGV4cG9ydGVyICovCisgICAgICAgIGlmIChQeU9iamVjdF9HZXRCdWZmZXIodmFsdWUsICZzcmMsIFB5QlVGX0ZVTExfUk8pIDwgMCkKKyAgICAgICAgICAgIHJldHVybiByZXQ7CisKKyAgICAgICAgZGVzdCA9ICp2aWV3OworICAgICAgICBkZXN0LnNoYXBlID0gJmFycmF5c1swXTsgZGVzdC5zaGFwZVswXSA9IHZpZXctPnNoYXBlWzBdOworICAgICAgICBkZXN0LnN0cmlkZXMgPSAmYXJyYXlzWzFdOyBkZXN0LnN0cmlkZXNbMF0gPSB2aWV3LT5zdHJpZGVzWzBdOworICAgICAgICBpZiAodmlldy0+c3Vib2Zmc2V0cykgeworICAgICAgICAgICAgZGVzdC5zdWJvZmZzZXRzID0gJmFycmF5c1syXTsgZGVzdC5zdWJvZmZzZXRzWzBdID0gdmlldy0+c3Vib2Zmc2V0c1swXTsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChpbml0X3NsaWNlKCZkZXN0LCBrZXksIDApIDwgMCkKKyAgICAgICAgICAgIGdvdG8gZW5kX2Jsb2NrOworICAgICAgICBkZXN0LmxlbiA9IGRlc3Quc2hhcGVbMF0gKiBkZXN0Lml0ZW1zaXplOworCisgICAgICAgIHJldCA9IGNvcHlfc2luZ2xlKCZkZXN0LCAmc3JjKTsKKworICAgIGVuZF9ibG9jazoKKyAgICAgICAgUHlCdWZmZXJfUmVsZWFzZSgmc3JjKTsKKyAgICAgICAgcmV0dXJuIHJldDsKKyAgICB9CisgICAgZWxzZSBpZiAoUHlTbGljZV9DaGVjayhrZXkpIHx8IGlzX211bHRpc2xpY2Uoa2V5KSkgeworICAgICAgICAvKiBDYWxsIG1lbW9yeV9zdWJzY3JpcHQoKSB0byBwcm9kdWNlIGEgc2xpY2VkIGx2YWx1ZSwgdGhlbiBjb3B5CisgICAgICAgICAgIHJ2YWx1ZSBpbnRvIGx2YWx1ZS4gVGhpcyBpcyBhbHJlYWR5IGltcGxlbWVudGVkIGluIF90ZXN0YnVmZmVyLmMuICovCisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19Ob3RJbXBsZW1lbnRlZEVycm9yLAorICAgICAgICAgICAgIm1lbW9yeXZpZXcgc2xpY2UgYXNzaWdubWVudHMgYXJlIGN1cnJlbnRseSByZXN0cmljdGVkICIKKyAgICAgICAgICAgICJ0byBuZGltID0gMSIpOworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorCisgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgIm1lbW9yeXZpZXc6IGludmFsaWQgc2xpY2Uga2V5Iik7CisgICAgcmV0dXJuIC0xOworfQorCitzdGF0aWMgUHlfc3NpemVfdAorbWVtb3J5X2xlbmd0aChQeU1lbW9yeVZpZXdPYmplY3QgKnNlbGYpCit7CisgICAgQ0hFQ0tfUkVMRUFTRURfSU5UKHNlbGYpOworICAgIHJldHVybiBzZWxmLT52aWV3Lm5kaW0gPT0gMCA/IDEgOiBzZWxmLT52aWV3LnNoYXBlWzBdOworfQorCisvKiBBcyBtYXBwaW5nICovCitzdGF0aWMgUHlNYXBwaW5nTWV0aG9kcyBtZW1vcnlfYXNfbWFwcGluZyA9IHsKKyAgICAobGVuZnVuYyltZW1vcnlfbGVuZ3RoLCAgICAgICAgICAgICAgIC8qIG1wX2xlbmd0aCAqLworICAgIChiaW5hcnlmdW5jKW1lbW9yeV9zdWJzY3JpcHQsICAgICAgICAgLyogbXBfc3Vic2NyaXB0ICovCisgICAgKG9iam9iamFyZ3Byb2MpbWVtb3J5X2Fzc19zdWIsICAgICAgICAvKiBtcF9hc3Nfc3Vic2NyaXB0ICovCit9OworCisvKiBBcyBzZXF1ZW5jZSAqLworc3RhdGljIFB5U2VxdWVuY2VNZXRob2RzIG1lbW9yeV9hc19zZXF1ZW5jZSA9IHsKKyAgICAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHNxX2xlbmd0aCAqLworICAgICAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogc3FfY29uY2F0ICovCisgICAgICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBzcV9yZXBlYXQgKi8KKyAgICAgICAgKHNzaXplYXJnZnVuYyltZW1vcnlfaXRlbSwgICAgICAgIC8qIHNxX2l0ZW0gKi8KK307CisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbXBhcmlzb25zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisjZGVmaW5lIENNUF9TSU5HTEUocCwgcSwgdHlwZSkgXAorICAgIGRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIHR5cGUgeDsgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgdHlwZSB5OyAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICBtZW1jcHkoKGNoYXIgKikmeCwgcCwgc2l6ZW9mIHgpOyBcCisgICAgICAgIG1lbWNweSgoY2hhciAqKSZ5LCBxLCBzaXplb2YgeSk7IFwKKyAgICAgICAgZXF1YWwgPSAoeCA9PSB5KTsgICAgICAgICAgICAgICAgXAorICAgIH0gd2hpbGUgKDApCisKK1B5X0xPQ0FMX0lOTElORShpbnQpCit1bnBhY2tfY21wKGNvbnN0IGNoYXIgKnAsIGNvbnN0IGNoYXIgKnEsIGNvbnN0IGNoYXIgKmZtdCkKK3sKKyAgICBpbnQgZXF1YWw7CisKKyAgICBzd2l0Y2ggKGZtdFswXSkgeworCisgICAgLyogc2lnbmVkIGludGVnZXJzIGFuZCBmYXN0IHBhdGggZm9yICdCJyAqLworICAgIGNhc2UgJ0InOiByZXR1cm4gKigodW5zaWduZWQgY2hhciAqKXApID09ICooKHVuc2lnbmVkIGNoYXIgKilxKTsKKyAgICBjYXNlICdiJzogcmV0dXJuICooKHNpZ25lZCBjaGFyICopcCkgPT0gKigoc2lnbmVkIGNoYXIgKilxKTsKKyAgICBjYXNlICdoJzogQ01QX1NJTkdMRShwLCBxLCBzaG9ydCk7IHJldHVybiBlcXVhbDsKKyAgICBjYXNlICdpJzogQ01QX1NJTkdMRShwLCBxLCBpbnQpOyByZXR1cm4gZXF1YWw7CisgICAgY2FzZSAnbCc6IENNUF9TSU5HTEUocCwgcSwgbG9uZyk7IHJldHVybiBlcXVhbDsKKworICAgIC8qIGJvb2xlYW4gKi8KKyAgICAjaWZkZWYgSEFWRV9DOTlfQk9PTAorICAgIGNhc2UgJz8nOiBDTVBfU0lOR0xFKHAsIHEsIF9Cb29sKTsgcmV0dXJuIGVxdWFsOworICAgICNlbHNlCisgICAgY2FzZSAnPyc6IENNUF9TSU5HTEUocCwgcSwgY2hhcik7IHJldHVybiBlcXVhbDsKKyAgICAjZW5kaWYKKworICAgIC8qIHVuc2lnbmVkIGludGVnZXJzICovCisgICAgY2FzZSAnSCc6IENNUF9TSU5HTEUocCwgcSwgdW5zaWduZWQgc2hvcnQpOyByZXR1cm4gZXF1YWw7CisgICAgY2FzZSAnSSc6IENNUF9TSU5HTEUocCwgcSwgdW5zaWduZWQgaW50KTsgcmV0dXJuIGVxdWFsOworICAgIGNhc2UgJ0wnOiBDTVBfU0lOR0xFKHAsIHEsIHVuc2lnbmVkIGxvbmcpOyByZXR1cm4gZXF1YWw7CisKKyAgICAvKiBuYXRpdmUgNjQtYml0ICovCisgICAgI2lmZGVmIEhBVkVfTE9OR19MT05HCisgICAgY2FzZSAncSc6IENNUF9TSU5HTEUocCwgcSwgUFlfTE9OR19MT05HKTsgcmV0dXJuIGVxdWFsOworICAgIGNhc2UgJ1EnOiBDTVBfU0lOR0xFKHAsIHEsIHVuc2lnbmVkIFBZX0xPTkdfTE9ORyk7IHJldHVybiBlcXVhbDsKKyAgICAjZW5kaWYKKworICAgIC8qIHNzaXplX3QgYW5kIHNpemVfdCAqLworICAgIGNhc2UgJ24nOiBDTVBfU0lOR0xFKHAsIHEsIFB5X3NzaXplX3QpOyByZXR1cm4gZXF1YWw7CisgICAgY2FzZSAnTic6IENNUF9TSU5HTEUocCwgcSwgc2l6ZV90KTsgcmV0dXJuIGVxdWFsOworCisgICAgLyogZmxvYXRzICovCisgICAgLyogWFhYIERCTF9FUFNJTE9OPyAqLworICAgIGNhc2UgJ2YnOiBDTVBfU0lOR0xFKHAsIHEsIGZsb2F0KTsgcmV0dXJuIGVxdWFsOworICAgIGNhc2UgJ2QnOiBDTVBfU0lOR0xFKHAsIHEsIGRvdWJsZSk7IHJldHVybiBlcXVhbDsKKworICAgIC8qIGJ5dGVzIG9iamVjdCAqLworICAgIGNhc2UgJ2MnOiByZXR1cm4gKnAgPT0gKnE7CisKKyAgICAvKiBwb2ludGVyICovCisgICAgY2FzZSAnUCc6IENNUF9TSU5HTEUocCwgcSwgdm9pZCAqKTsgcmV0dXJuIGVxdWFsOworCisgICAgLyogUHlfTm90SW1wbGVtZW50ZWQgKi8KKyAgICBkZWZhdWx0OiByZXR1cm4gLTE7CisgICAgfQorfQorCisvKiBCYXNlIGNhc2UgZm9yIHJlY3Vyc2l2ZSBhcnJheSBjb21wYXJpc29ucy4gQXNzdW1wdGlvbjogbmRpbSA9PSAxLiAqLworc3RhdGljIGludAorY21wX2Jhc2UoY29uc3QgY2hhciAqcCwgY29uc3QgY2hhciAqcSwgY29uc3QgUHlfc3NpemVfdCAqc2hhcGUsCisgICAgICAgICBjb25zdCBQeV9zc2l6ZV90ICpwc3RyaWRlcywgY29uc3QgUHlfc3NpemVfdCAqcHN1Ym9mZnNldHMsCisgICAgICAgICBjb25zdCBQeV9zc2l6ZV90ICpxc3RyaWRlcywgY29uc3QgUHlfc3NpemVfdCAqcXN1Ym9mZnNldHMsCisgICAgICAgICBjb25zdCBjaGFyICpmbXQpCit7CisgICAgUHlfc3NpemVfdCBpOworICAgIGludCBlcXVhbDsKKworICAgIGZvciAoaSA9IDA7IGkgPCBzaGFwZVswXTsgcCs9cHN0cmlkZXNbMF0sIHErPXFzdHJpZGVzWzBdLCBpKyspIHsKKyAgICAgICAgY29uc3QgY2hhciAqeHAgPSBBREpVU1RfUFRSKHAsIHBzdWJvZmZzZXRzKTsKKyAgICAgICAgY29uc3QgY2hhciAqeHEgPSBBREpVU1RfUFRSKHEsIHFzdWJvZmZzZXRzKTsKKyAgICAgICAgZXF1YWwgPSB1bnBhY2tfY21wKHhwLCB4cSwgZm10KTsKKyAgICAgICAgaWYgKGVxdWFsIDw9IDApCisgICAgICAgICAgICByZXR1cm4gZXF1YWw7CisgICAgfQorCisgICAgcmV0dXJuIDE7Cit9CisKKy8qIFJlY3Vyc2l2ZWx5IGNvbXBhcmUgdHdvIG11bHRpLWRpbWVuc2lvbmFsIGFycmF5cyB0aGF0IGhhdmUgdGhlIHNhbWUKKyAgIGxvZ2ljYWwgc3RydWN0dXJlLiBBc3N1bXB0aW9uOiBuZGltID49IDEuICovCitzdGF0aWMgaW50CitjbXBfcmVjKGNvbnN0IGNoYXIgKnAsIGNvbnN0IGNoYXIgKnEsCisgICAgICAgIFB5X3NzaXplX3QgbmRpbSwgY29uc3QgUHlfc3NpemVfdCAqc2hhcGUsCisgICAgICAgIGNvbnN0IFB5X3NzaXplX3QgKnBzdHJpZGVzLCBjb25zdCBQeV9zc2l6ZV90ICpwc3Vib2Zmc2V0cywKKyAgICAgICAgY29uc3QgUHlfc3NpemVfdCAqcXN0cmlkZXMsIGNvbnN0IFB5X3NzaXplX3QgKnFzdWJvZmZzZXRzLAorICAgICAgICBjb25zdCBjaGFyICpmbXQpCit7CisgICAgUHlfc3NpemVfdCBpOworICAgIGludCBlcXVhbDsKKworICAgIGFzc2VydChuZGltID49IDEpOworICAgIGFzc2VydChzaGFwZSAhPSBOVUxMKTsKKyAgICBhc3NlcnQocHN0cmlkZXMgIT0gTlVMTCk7CisgICAgYXNzZXJ0KHFzdHJpZGVzICE9IE5VTEwpOworCisgICAgaWYgKG5kaW0gPT0gMSkgeworICAgICAgICByZXR1cm4gY21wX2Jhc2UocCwgcSwgc2hhcGUsCisgICAgICAgICAgICAgICAgICAgICAgICBwc3RyaWRlcywgcHN1Ym9mZnNldHMsCisgICAgICAgICAgICAgICAgICAgICAgICBxc3RyaWRlcywgcXN1Ym9mZnNldHMsCisgICAgICAgICAgICAgICAgICAgICAgICBmbXQpOworICAgIH0KKworICAgIGZvciAoaSA9IDA7IGkgPCBzaGFwZVswXTsgcCs9cHN0cmlkZXNbMF0sIHErPXFzdHJpZGVzWzBdLCBpKyspIHsKKyAgICAgICAgY29uc3QgY2hhciAqeHAgPSBBREpVU1RfUFRSKHAsIHBzdWJvZmZzZXRzKTsKKyAgICAgICAgY29uc3QgY2hhciAqeHEgPSBBREpVU1RfUFRSKHEsIHFzdWJvZmZzZXRzKTsKKyAgICAgICAgZXF1YWwgPSBjbXBfcmVjKHhwLCB4cSwgbmRpbS0xLCBzaGFwZSsxLAorICAgICAgICAgICAgICAgICAgICAgICAgcHN0cmlkZXMrMSwgcHN1Ym9mZnNldHMgPyBwc3Vib2Zmc2V0cysxIDogTlVMTCwKKyAgICAgICAgICAgICAgICAgICAgICAgIHFzdHJpZGVzKzEsIHFzdWJvZmZzZXRzID8gcXN1Ym9mZnNldHMrMSA6IE5VTEwsCisgICAgICAgICAgICAgICAgICAgICAgICBmbXQpOworICAgICAgICBpZiAoZXF1YWwgPD0gMCkKKyAgICAgICAgICAgIHJldHVybiBlcXVhbDsKKyAgICB9CisKKyAgICByZXR1cm4gMTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK21lbW9yeV9yaWNoY29tcGFyZShQeU9iamVjdCAqdiwgUHlPYmplY3QgKncsIGludCBvcCkKK3sKKyAgICBQeU9iamVjdCAqcmVzOworICAgIFB5X2J1ZmZlciB3YnVmLCAqdnYsICp3dyA9IE5VTEw7CisgICAgY29uc3QgY2hhciAqdmZtdCwgKndmbXQ7CisgICAgaW50IGVxdWFsID0gLTE7IC8qIFB5X05vdEltcGxlbWVudGVkICovCisKKyAgICBpZiAob3AgIT0gUHlfRVEgJiYgb3AgIT0gUHlfTkUpCisgICAgICAgIGdvdG8gcmVzdWx0OyAvKiBQeV9Ob3RJbXBsZW1lbnRlZCAqLworCisgICAgYXNzZXJ0KFB5TWVtb3J5Vmlld19DaGVjayh2KSk7CisgICAgaWYgKEJBU0VfSU5BQ0NFU1NJQkxFKHYpKSB7CisgICAgICAgIGVxdWFsID0gKHYgPT0gdyk7CisgICAgICAgIGdvdG8gcmVzdWx0OworICAgIH0KKyAgICB2diA9IFZJRVdfQUREUih2KTsKKworICAgIGlmIChQeU1lbW9yeVZpZXdfQ2hlY2sodykpIHsKKyAgICAgICAgaWYgKEJBU0VfSU5BQ0NFU1NJQkxFKHcpKSB7CisgICAgICAgICAgICBlcXVhbCA9ICh2ID09IHcpOworICAgICAgICAgICAgZ290byByZXN1bHQ7CisgICAgICAgIH0KKyAgICAgICAgd3cgPSBWSUVXX0FERFIodyk7CisgICAgfQorICAgIGVsc2UgeworICAgICAgICBpZiAoUHlPYmplY3RfR2V0QnVmZmVyKHcsICZ3YnVmLCBQeUJVRl9GVUxMX1JPKSA8IDApIHsKKyAgICAgICAgICAgIFB5RXJyX0NsZWFyKCk7CisgICAgICAgICAgICBnb3RvIHJlc3VsdDsgLyogUHlfTm90SW1wbGVtZW50ZWQgKi8KKyAgICAgICAgfQorICAgICAgICB3dyA9ICZ3YnVmOworICAgIH0KKworICAgIHZmbXQgPSBhZGp1c3RfZm10KHZ2KTsKKyAgICB3Zm10ID0gYWRqdXN0X2ZtdCh3dyk7CisgICAgaWYgKHZmbXQgPT0gTlVMTCB8fCB3Zm10ID09IE5VTEwpIHsKKyAgICAgICAgUHlFcnJfQ2xlYXIoKTsKKyAgICAgICAgZ290byByZXN1bHQ7IC8qIFB5X05vdEltcGxlbWVudGVkICovCisgICAgfQorCisgICAgaWYgKGNtcF9zdHJ1Y3R1cmUodnYsIHd3KSA8IDApIHsKKyAgICAgICAgUHlFcnJfQ2xlYXIoKTsKKyAgICAgICAgZXF1YWwgPSAwOworICAgICAgICBnb3RvIHJlc3VsdDsKKyAgICB9CisKKyAgICBpZiAodnYtPm5kaW0gPT0gMCkgeworICAgICAgICBlcXVhbCA9IHVucGFja19jbXAodnYtPmJ1Ziwgd3ctPmJ1ZiwgdmZtdCk7CisgICAgfQorICAgIGVsc2UgaWYgKHZ2LT5uZGltID09IDEpIHsKKyAgICAgICAgZXF1YWwgPSBjbXBfYmFzZSh2di0+YnVmLCB3dy0+YnVmLCB2di0+c2hhcGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgdnYtPnN0cmlkZXMsIHZ2LT5zdWJvZmZzZXRzLAorICAgICAgICAgICAgICAgICAgICAgICAgIHd3LT5zdHJpZGVzLCB3dy0+c3Vib2Zmc2V0cywKKyAgICAgICAgICAgICAgICAgICAgICAgICB2Zm10KTsKKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIGVxdWFsID0gY21wX3JlYyh2di0+YnVmLCB3dy0+YnVmLCB2di0+bmRpbSwgdnYtPnNoYXBlLAorICAgICAgICAgICAgICAgICAgICAgICAgdnYtPnN0cmlkZXMsIHZ2LT5zdWJvZmZzZXRzLAorICAgICAgICAgICAgICAgICAgICAgICAgd3ctPnN0cmlkZXMsIHd3LT5zdWJvZmZzZXRzLAorICAgICAgICAgICAgICAgICAgICAgICAgdmZtdCk7CisgICAgfQorCityZXN1bHQ6CisgICAgaWYgKGVxdWFsIDwgMCkKKyAgICAgICAgcmVzID0gUHlfTm90SW1wbGVtZW50ZWQ7IAorICAgIGVsc2UgaWYgKChlcXVhbCAmJiBvcCA9PSBQeV9FUSkgfHwgKCFlcXVhbCAmJiBvcCA9PSBQeV9ORSkpCisgICAgICAgIHJlcyA9IFB5X1RydWU7CisgICAgZWxzZQorICAgICAgICByZXMgPSBQeV9GYWxzZTsKKworICAgIGlmICh3dyA9PSAmd2J1ZikKKyAgICAgICAgUHlCdWZmZXJfUmVsZWFzZSh3dyk7CisgICAgUHlfSU5DUkVGKHJlcyk7CisgICAgcmV0dXJuIHJlczsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhhc2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCitzdGF0aWMgUHlfaGFzaF90CittZW1vcnlfaGFzaChQeU1lbW9yeVZpZXdPYmplY3QgKnNlbGYpCit7CisgICAgaWYgKHNlbGYtPmhhc2ggPT0gLTEpIHsKKyAgICAgICAgUHlfYnVmZmVyICp2aWV3ID0gJnNlbGYtPnZpZXc7CisgICAgICAgIGNoYXIgKm1lbSA9IHZpZXctPmJ1ZjsKKworICAgICAgICBDSEVDS19SRUxFQVNFRF9JTlQoc2VsZik7CisKKyAgICAgICAgaWYgKCF2aWV3LT5yZWFkb25seSkgeworICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsCisgICAgICAgICAgICAgICAgImNhbm5vdCBoYXNoIHdyaXRhYmxlIG1lbW9yeXZpZXcgb2JqZWN0Iik7CisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIH0KKyAgICAgICAgaWYgKHZpZXctPm9iaiAhPSBOVUxMICYmIFB5T2JqZWN0X0hhc2godmlldy0+b2JqKSA9PSAtMSkgeworICAgICAgICAgICAgLyogS2VlcCB0aGUgb3JpZ2luYWwgZXJyb3IgbWVzc2FnZSAqLworICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICB9CisKKyAgICAgICAgaWYgKCFNVl9DX0NPTlRJR1VPVVMoc2VsZi0+ZmxhZ3MpKSB7CisgICAgICAgICAgICBtZW0gPSBQeU1lbV9NYWxsb2Modmlldy0+bGVuKTsKKyAgICAgICAgICAgIGlmIChtZW0gPT0gTlVMTCkgeworICAgICAgICAgICAgICAgIFB5RXJyX05vTWVtb3J5KCk7CisgICAgICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKGJ1ZmZlcl90b19jX2NvbnRpZ3VvdXMobWVtLCB2aWV3KSA8IDApIHsKKyAgICAgICAgICAgICAgICBQeU1lbV9GcmVlKG1lbSk7CisgICAgICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgLyogQ2FuJ3QgZmFpbCAqLworICAgICAgICBzZWxmLT5oYXNoID0gX1B5X0hhc2hCeXRlcygodW5zaWduZWQgY2hhciAqKW1lbSwgdmlldy0+bGVuKTsKKworICAgICAgICBpZiAobWVtICE9IHZpZXctPmJ1ZikKKyAgICAgICAgICAgIFB5TWVtX0ZyZWUobWVtKTsKKyAgICB9CisKKyAgICByZXR1cm4gc2VsZi0+aGFzaDsKK30KKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldHRlcnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKK3N0YXRpYyBQeU9iamVjdCAqCitfSW50VHVwbGVGcm9tU3NpemV0KGludCBsZW4sIFB5X3NzaXplX3QgKnZhbHMpCit7CisgICAgaW50IGk7CisgICAgUHlPYmplY3QgKm87CisgICAgUHlPYmplY3QgKmludFR1cGxlOworCisgICAgaWYgKHZhbHMgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIFB5VHVwbGVfTmV3KDApOworCisgICAgaW50VHVwbGUgPSBQeVR1cGxlX05ldyhsZW4pOworICAgIGlmICghaW50VHVwbGUpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIGZvciAoaT0wOyBpPGxlbjsgaSsrKSB7CisgICAgICAgIG8gPSBQeUxvbmdfRnJvbVNzaXplX3QodmFsc1tpXSk7CisgICAgICAgIGlmICghbykgeworICAgICAgICAgICAgUHlfREVDUkVGKGludFR1cGxlKTsKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICB9CisgICAgICAgIFB5VHVwbGVfU0VUX0lURU0oaW50VHVwbGUsIGksIG8pOworICAgIH0KKyAgICByZXR1cm4gaW50VHVwbGU7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCittZW1vcnlfb2JqX2dldChQeU1lbW9yeVZpZXdPYmplY3QgKnNlbGYpCit7CisgICAgUHlfYnVmZmVyICp2aWV3ID0gJnNlbGYtPnZpZXc7CisKKyAgICBDSEVDS19SRUxFQVNFRChzZWxmKTsKKyAgICBpZiAodmlldy0+b2JqID09IE5VTEwpIHsKKyAgICAgICAgUHlfUkVUVVJOX05PTkU7CisgICAgfQorICAgIFB5X0lOQ1JFRih2aWV3LT5vYmopOworICAgIHJldHVybiB2aWV3LT5vYmo7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCittZW1vcnlfbmJ5dGVzX2dldChQeU1lbW9yeVZpZXdPYmplY3QgKnNlbGYpCit7CisgICAgQ0hFQ0tfUkVMRUFTRUQoc2VsZik7CisgICAgcmV0dXJuIFB5TG9uZ19Gcm9tU3NpemVfdChzZWxmLT52aWV3Lmxlbik7Cit9CisKIHN0YXRpYyBQeU9iamVjdCAqCiBtZW1vcnlfZm9ybWF0X2dldChQeU1lbW9yeVZpZXdPYmplY3QgKnNlbGYpCiB7CkBAIC0zNDMsMzEgKzI1MDAsNiBAQAogfQogCiBzdGF0aWMgUHlPYmplY3QgKgotX0ludFR1cGxlRnJvbVNzaXpldChpbnQgbGVuLCBQeV9zc2l6ZV90ICp2YWxzKQotewotICAgIGludCBpOwotICAgIFB5T2JqZWN0ICpvOwotICAgIFB5T2JqZWN0ICppbnRUdXBsZTsKLQotICAgIGlmICh2YWxzID09IE5VTEwpIHsKLSAgICAgICAgUHlfSU5DUkVGKFB5X05vbmUpOwotICAgICAgICByZXR1cm4gUHlfTm9uZTsKLSAgICB9Ci0gICAgaW50VHVwbGUgPSBQeVR1cGxlX05ldyhsZW4pOwotICAgIGlmICghaW50VHVwbGUpCi0gICAgICAgIHJldHVybiBOVUxMOwotICAgIGZvciAoaT0wOyBpPGxlbjsgaSsrKSB7Ci0gICAgICAgIG8gPSBQeUxvbmdfRnJvbVNzaXplX3QodmFsc1tpXSk7Ci0gICAgICAgIGlmICghbykgewotICAgICAgICAgICAgUHlfREVDUkVGKGludFR1cGxlKTsKLSAgICAgICAgICAgIHJldHVybiBOVUxMOwotICAgICAgICB9Ci0gICAgICAgIFB5VHVwbGVfU0VUX0lURU0oaW50VHVwbGUsIGksIG8pOwotICAgIH0KLSAgICByZXR1cm4gaW50VHVwbGU7Ci19Ci0KLXN0YXRpYyBQeU9iamVjdCAqCiBtZW1vcnlfc2hhcGVfZ2V0KFB5TWVtb3J5Vmlld09iamVjdCAqc2VsZikKIHsKICAgICBDSEVDS19SRUxFQVNFRChzZWxmKTsKQEAgLTQwMiw0MjUgKzI1MzQsNjAgQEAKICAgICByZXR1cm4gUHlMb25nX0Zyb21Mb25nKHNlbGYtPnZpZXcubmRpbSk7CiB9CiAKLXN0YXRpYyBQeUdldFNldERlZiBtZW1vcnlfZ2V0c2V0bGlzdFtdID17Ci0gICAgeyJmb3JtYXQiLCAgICAgICAgICAgICAgICAoZ2V0dGVyKW1lbW9yeV9mb3JtYXRfZ2V0LCAgICAgIE5VTEwsIE5VTEx9LAotICAgIHsiaXRlbXNpemUiLCAgICAgICAgKGdldHRlciltZW1vcnlfaXRlbXNpemVfZ2V0LCAgICBOVUxMLCBOVUxMfSwKLSAgICB7InNoYXBlIiwgICAgICAgICAgIChnZXR0ZXIpbWVtb3J5X3NoYXBlX2dldCwgICAgICAgTlVMTCwgTlVMTH0sCi0gICAgeyJzdHJpZGVzIiwgICAgICAgICAoZ2V0dGVyKW1lbW9yeV9zdHJpZGVzX2dldCwgICAgIE5VTEwsIE5VTEx9LAotICAgIHsic3Vib2Zmc2V0cyIsICAgICAgKGdldHRlciltZW1vcnlfc3Vib2Zmc2V0c19nZXQsICBOVUxMLCBOVUxMfSwKLSAgICB7InJlYWRvbmx5IiwgICAgICAgIChnZXR0ZXIpbWVtb3J5X3JlYWRvbmx5X2dldCwgICAgTlVMTCwgTlVMTH0sCi0gICAgeyJuZGltIiwgICAgICAgICAgICAoZ2V0dGVyKW1lbW9yeV9uZGltX2dldCwgICAgICAgIE5VTEwsIE5VTEx9LAorc3RhdGljIFB5T2JqZWN0ICoKK21lbW9yeV9jX2NvbnRpZ3VvdXMoUHlNZW1vcnlWaWV3T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqZHVtbXkpCit7CisgICAgQ0hFQ0tfUkVMRUFTRUQoc2VsZik7CisgICAgcmV0dXJuIFB5Qm9vbF9Gcm9tTG9uZyhNVl9DX0NPTlRJR1VPVVMoc2VsZi0+ZmxhZ3MpKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK21lbW9yeV9mX2NvbnRpZ3VvdXMoUHlNZW1vcnlWaWV3T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqZHVtbXkpCit7CisgICAgQ0hFQ0tfUkVMRUFTRUQoc2VsZik7CisgICAgcmV0dXJuIFB5Qm9vbF9Gcm9tTG9uZyhNVl9GX0NPTlRJR1VPVVMoc2VsZi0+ZmxhZ3MpKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK21lbW9yeV9jb250aWd1b3VzKFB5TWVtb3J5Vmlld09iamVjdCAqc2VsZiwgUHlPYmplY3QgKmR1bW15KQoreworICAgIENIRUNLX1JFTEVBU0VEKHNlbGYpOworICAgIHJldHVybiBQeUJvb2xfRnJvbUxvbmcoTVZfQU5ZX0NPTlRJR1VPVVMoc2VsZi0+ZmxhZ3MpKTsKK30KKworc3RhdGljIFB5R2V0U2V0RGVmIG1lbW9yeV9nZXRzZXRsaXN0W10gPSB7CisgICAgeyJvYmoiLCAgICAgICAgICAgICAoZ2V0dGVyKW1lbW9yeV9vYmpfZ2V0LCAgICAgICAgTlVMTCwgTlVMTH0sCisgICAgeyJuYnl0ZXMiLCAgICAgICAgICAoZ2V0dGVyKW1lbW9yeV9uYnl0ZXNfZ2V0LCAgICAgTlVMTCwgTlVMTH0sCisgICAgeyJyZWFkb25seSIsICAgICAgICAoZ2V0dGVyKW1lbW9yeV9yZWFkb25seV9nZXQsICAgTlVMTCwgTlVMTH0sCisgICAgeyJpdGVtc2l6ZSIsICAgICAgICAoZ2V0dGVyKW1lbW9yeV9pdGVtc2l6ZV9nZXQsICAgTlVMTCwgTlVMTH0sCisgICAgeyJmb3JtYXQiLCAgICAgICAgICAoZ2V0dGVyKW1lbW9yeV9mb3JtYXRfZ2V0LCAgICAgTlVMTCwgTlVMTH0sCisgICAgeyJuZGltIiwgICAgICAgICAgICAoZ2V0dGVyKW1lbW9yeV9uZGltX2dldCwgICAgICAgTlVMTCwgTlVMTH0sCisgICAgeyJzaGFwZSIsICAgICAgICAgICAoZ2V0dGVyKW1lbW9yeV9zaGFwZV9nZXQsICAgICAgTlVMTCwgTlVMTH0sCisgICAgeyJzdHJpZGVzIiwgICAgICAgICAoZ2V0dGVyKW1lbW9yeV9zdHJpZGVzX2dldCwgICAgTlVMTCwgTlVMTH0sCisgICAgeyJzdWJvZmZzZXRzIiwgICAgICAoZ2V0dGVyKW1lbW9yeV9zdWJvZmZzZXRzX2dldCwgTlVMTCwgTlVMTH0sCisgICAgeyJjX2NvbnRpZ3VvdXMiLCAgICAoZ2V0dGVyKW1lbW9yeV9jX2NvbnRpZ3VvdXMsICAgTlVMTCwgTlVMTH0sCisgICAgeyJmX2NvbnRpZ3VvdXMiLCAgICAoZ2V0dGVyKW1lbW9yeV9mX2NvbnRpZ3VvdXMsICAgTlVMTCwgTlVMTH0sCisgICAgeyJjb250aWd1b3VzIiwgICAgICAoZ2V0dGVyKW1lbW9yeV9jb250aWd1b3VzLCAgICAgTlVMTCwgTlVMTH0sCiAgICAge05VTEwsIE5VTEwsIE5VTEwsIE5VTEx9LAogfTsKIAogCi1zdGF0aWMgUHlPYmplY3QgKgotbWVtb3J5X3RvYnl0ZXMoUHlNZW1vcnlWaWV3T2JqZWN0ICptZW0sIFB5T2JqZWN0ICpub2FyZ3MpCi17Ci0gICAgQ0hFQ0tfUkVMRUFTRUQobWVtKTsKLSAgICByZXR1cm4gUHlPYmplY3RfQ2FsbEZ1bmN0aW9uT2JqQXJncygKLSAgICAgICAgICAgIChQeU9iamVjdCAqKSAmUHlCeXRlc19UeXBlLCBtZW0sIE5VTEwpOwotfQotCi0vKiBUT0RPOiByZXdyaXRlIHRoaXMgZnVuY3Rpb24gdXNpbmcgdGhlIHN0cnVjdCBtb2R1bGUgdG8gdW5wYWNrCi0gICBlYWNoIGJ1ZmZlciBpdGVtICovCi0KLXN0YXRpYyBQeU9iamVjdCAqCi1tZW1vcnlfdG9saXN0KFB5TWVtb3J5Vmlld09iamVjdCAqbWVtLCBQeU9iamVjdCAqbm9hcmdzKQotewotICAgIFB5X2J1ZmZlciAqdmlldyA9ICYobWVtLT52aWV3KTsKLSAgICBQeV9zc2l6ZV90IGk7Ci0gICAgUHlPYmplY3QgKnJlcywgKml0ZW07Ci0gICAgY2hhciAqYnVmOwotCi0gICAgQ0hFQ0tfUkVMRUFTRUQobWVtKTsKLSAgICBpZiAoc3RyY21wKHZpZXctPmZvcm1hdCwgIkIiKSB8fCB2aWV3LT5pdGVtc2l6ZSAhPSAxKSB7Ci0gICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19Ob3RJbXBsZW1lbnRlZEVycm9yLCAKLSAgICAgICAgICAgICAgICAidG9saXN0KCkgb25seSBzdXBwb3J0cyBieXRlIHZpZXdzIik7Ci0gICAgICAgIHJldHVybiBOVUxMOwotICAgIH0KLSAgICBpZiAodmlldy0+bmRpbSAhPSAxKSB7Ci0gICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19Ob3RJbXBsZW1lbnRlZEVycm9yLCAKLSAgICAgICAgICAgICAgICAidG9saXN0KCkgb25seSBzdXBwb3J0cyBvbmUtZGltZW5zaW9uYWwgb2JqZWN0cyIpOwotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICB9Ci0gICAgcmVzID0gUHlMaXN0X05ldyh2aWV3LT5sZW4pOwotICAgIGlmIChyZXMgPT0gTlVMTCkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgYnVmID0gdmlldy0+YnVmOwotICAgIGZvciAoaSA9IDA7IGkgPCB2aWV3LT5sZW47IGkrKykgewotICAgICAgICBpdGVtID0gUHlMb25nX0Zyb21VbnNpZ25lZExvbmcoKHVuc2lnbmVkIGNoYXIpICpidWYpOwotICAgICAgICBpZiAoaXRlbSA9PSBOVUxMKSB7Ci0gICAgICAgICAgICBQeV9ERUNSRUYocmVzKTsKLSAgICAgICAgICAgIHJldHVybiBOVUxMOwotICAgICAgICB9Ci0gICAgICAgIFB5TGlzdF9TRVRfSVRFTShyZXMsIGksIGl0ZW0pOwotICAgICAgICBidWYrKzsKLSAgICB9Ci0gICAgcmV0dXJuIHJlczsKLX0KLQotc3RhdGljIHZvaWQKLWRvX3JlbGVhc2UoUHlNZW1vcnlWaWV3T2JqZWN0ICpzZWxmKQotewotICAgIGlmIChzZWxmLT52aWV3Lm9iaiAhPSBOVUxMKSB7Ci0gICAgICAgIFB5QnVmZmVyX1JlbGVhc2UoJihzZWxmLT52aWV3KSk7Ci0gICAgfQotICAgIHNlbGYtPnZpZXcub2JqID0gTlVMTDsKLSAgICBzZWxmLT52aWV3LmJ1ZiA9IE5VTEw7Ci19Ci0KLXN0YXRpYyBQeU9iamVjdCAqCi1tZW1vcnlfZW50ZXIoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQotewotICAgIENIRUNLX1JFTEVBU0VEKHNlbGYpOwotICAgIFB5X0lOQ1JFRihzZWxmKTsKLSAgICByZXR1cm4gc2VsZjsKLX0KLQotc3RhdGljIFB5T2JqZWN0ICoKLW1lbW9yeV9leGl0KFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKLXsKLSAgICBkb19yZWxlYXNlKChQeU1lbW9yeVZpZXdPYmplY3QgKikgc2VsZik7Ci0gICAgUHlfUkVUVVJOX05PTkU7Ci19Ci0KIHN0YXRpYyBQeU1ldGhvZERlZiBtZW1vcnlfbWV0aG9kc1tdID0gewotICAgIHsicmVsZWFzZSIsIG1lbW9yeV9leGl0LCBNRVRIX05PQVJHU30sCi0gICAgeyJ0b2J5dGVzIiwgKFB5Q0Z1bmN0aW9uKW1lbW9yeV90b2J5dGVzLCBNRVRIX05PQVJHUywgTlVMTH0sCi0gICAgeyJ0b2xpc3QiLCAoUHlDRnVuY3Rpb24pbWVtb3J5X3RvbGlzdCwgTUVUSF9OT0FSR1MsIE5VTEx9LAotICAgIHsiX19lbnRlcl9fIiwgbWVtb3J5X2VudGVyLCBNRVRIX05PQVJHU30sCi0gICAgeyJfX2V4aXRfXyIsIG1lbW9yeV9leGl0LCBNRVRIX1ZBUkFSR1N9LAotICAgIHtOVUxMLCAgICAgICAgICBOVUxMfSAgICAgICAgICAgLyogc2VudGluZWwgKi8KLX07Ci0KLQotc3RhdGljIHZvaWQKLW1lbW9yeV9kZWFsbG9jKFB5TWVtb3J5Vmlld09iamVjdCAqc2VsZikKLXsKLSAgICBfUHlPYmplY3RfR0NfVU5UUkFDSyhzZWxmKTsKLSAgICBkb19yZWxlYXNlKHNlbGYpOwotICAgIFB5T2JqZWN0X0dDX0RlbChzZWxmKTsKLX0KLQotc3RhdGljIFB5T2JqZWN0ICoKLW1lbW9yeV9yZXByKFB5TWVtb3J5Vmlld09iamVjdCAqc2VsZikKLXsKLSAgICBpZiAoSVNfUkVMRUFTRUQoc2VsZikpCi0gICAgICAgIHJldHVybiBQeVVuaWNvZGVfRnJvbUZvcm1hdCgiPHJlbGVhc2VkIG1lbW9yeSBhdCAlcD4iLCBzZWxmKTsKLSAgICBlbHNlCi0gICAgICAgIHJldHVybiBQeVVuaWNvZGVfRnJvbUZvcm1hdCgiPG1lbW9yeSBhdCAlcD4iLCBzZWxmKTsKLX0KLQotLyogU2VxdWVuY2UgbWV0aG9kcyAqLwotc3RhdGljIFB5X3NzaXplX3QKLW1lbW9yeV9sZW5ndGgoUHlNZW1vcnlWaWV3T2JqZWN0ICpzZWxmKQotewotICAgIENIRUNLX1JFTEVBU0VEX0lOVChzZWxmKTsKLSAgICByZXR1cm4gZ2V0X3NoYXBlMCgmc2VsZi0+dmlldyk7Ci19Ci0KLS8qIEFsdGVybmF0ZSB2ZXJzaW9uIG9mIG1lbW9yeV9zdWJjcmlwdCB0aGF0IG9ubHkgYWNjZXB0cyBpbmRpY2VzLgotICAgVXNlZCBieSBQeVNlcUl0ZXJfTmV3KCkuCi0qLwotc3RhdGljIFB5T2JqZWN0ICoKLW1lbW9yeV9pdGVtKFB5TWVtb3J5Vmlld09iamVjdCAqc2VsZiwgUHlfc3NpemVfdCByZXN1bHQpCi17Ci0gICAgUHlfYnVmZmVyICp2aWV3ID0gJihzZWxmLT52aWV3KTsKLQotICAgIENIRUNLX1JFTEVBU0VEKHNlbGYpOwotICAgIGlmICh2aWV3LT5uZGltID09IDApIHsKLSAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX0luZGV4RXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAgICAiaW52YWxpZCBpbmRleGluZyBvZiAwLWRpbSBtZW1vcnkiKTsKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgfQotICAgIGlmICh2aWV3LT5uZGltID09IDEpIHsKLSAgICAgICAgLyogUmV0dXJuIGEgYnl0ZXMgb2JqZWN0ICovCi0gICAgICAgIGNoYXIgKnB0cjsKLSAgICAgICAgcHRyID0gKGNoYXIgKil2aWV3LT5idWY7Ci0gICAgICAgIGlmIChyZXN1bHQgPCAwKSB7Ci0gICAgICAgICAgICByZXN1bHQgKz0gZ2V0X3NoYXBlMCh2aWV3KTsKLSAgICAgICAgfQotICAgICAgICBpZiAoKHJlc3VsdCA8IDApIHx8IChyZXN1bHQgPj0gZ2V0X3NoYXBlMCh2aWV3KSkpIHsKLSAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19JbmRleEVycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaW5kZXggb3V0IG9mIGJvdW5kcyIpOwotICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKHZpZXctPnN0cmlkZXMgPT0gTlVMTCkKLSAgICAgICAgICAgIHB0ciArPSB2aWV3LT5pdGVtc2l6ZSAqIHJlc3VsdDsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgcHRyICs9IHZpZXctPnN0cmlkZXNbMF0gKiByZXN1bHQ7Ci0gICAgICAgIGlmICh2aWV3LT5zdWJvZmZzZXRzICE9IE5VTEwgJiYKLSAgICAgICAgICAgIHZpZXctPnN1Ym9mZnNldHNbMF0gPj0gMCkgewotICAgICAgICAgICAgcHRyID0gKigoY2hhciAqKilwdHIpICsgdmlldy0+c3Vib2Zmc2V0c1swXTsKLSAgICAgICAgfQotICAgICAgICByZXR1cm4gUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZShwdHIsIHZpZXctPml0ZW1zaXplKTsKLSAgICB9IGVsc2UgewotICAgICAgICAvKiBSZXR1cm4gYSBuZXcgbWVtb3J5LXZpZXcgb2JqZWN0ICovCi0gICAgICAgIFB5X2J1ZmZlciBuZXd2aWV3OwotICAgICAgICBtZW1zZXQoJm5ld3ZpZXcsIDAsIHNpemVvZihuZXd2aWV3KSk7Ci0gICAgICAgIC8qIFhYWDogIFRoaXMgbmVlZHMgdG8gYmUgZml4ZWQgc28gaXQgYWN0dWFsbHkgcmV0dXJucyBhIHN1Yi12aWV3ICovCi0gICAgICAgIHJldHVybiBQeU1lbW9yeVZpZXdfRnJvbUJ1ZmZlcigmbmV3dmlldyk7Ci0gICAgfQotfQotCi0vKgotICBtZW1bb2JqXSByZXR1cm5zIGEgYnl0ZXMgb2JqZWN0IGhvbGRpbmcgdGhlIGRhdGEgZm9yIG9uZSBlbGVtZW50IGlmCi0gICAgICAgICAgIG9iaiBmdWxseSBpbmRleGVzIHRoZSBtZW1vcnkgdmlldyBvciBhbm90aGVyIG1lbW9yeS12aWV3IG9iamVjdAotICAgICAgICAgICBpZiBpdCBkb2VzIG5vdC4KLQotICAgICAgICAgICAwLWQgbWVtb3J5LXZpZXcgb2JqZWN0cyBjYW4gYmUgcmVmZXJlbmNlZCB1c2luZyAuLi4gb3IgKCkgYnV0Ci0gICAgICAgICAgIG5vdCB3aXRoIGFueXRoaW5nIGVsc2UuCi0gKi8KLXN0YXRpYyBQeU9iamVjdCAqCi1tZW1vcnlfc3Vic2NyaXB0KFB5TWVtb3J5Vmlld09iamVjdCAqc2VsZiwgUHlPYmplY3QgKmtleSkKLXsKLSAgICBQeV9idWZmZXIgKnZpZXc7Ci0gICAgdmlldyA9ICYoc2VsZi0+dmlldyk7Ci0gICAgCi0gICAgQ0hFQ0tfUkVMRUFTRUQoc2VsZik7Ci0gICAgaWYgKHZpZXctPm5kaW0gPT0gMCkgewotICAgICAgICBpZiAoa2V5ID09IFB5X0VsbGlwc2lzIHx8Ci0gICAgICAgICAgICAoUHlUdXBsZV9DaGVjayhrZXkpICYmIFB5VHVwbGVfR0VUX1NJWkUoa2V5KT09MCkpIHsKLSAgICAgICAgICAgIFB5X0lOQ1JFRihzZWxmKTsKLSAgICAgICAgICAgIHJldHVybiAoUHlPYmplY3QgKilzZWxmOwotICAgICAgICB9Ci0gICAgICAgIGVsc2UgewotICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX0luZGV4RXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpbnZhbGlkIGluZGV4aW5nIG9mIDAtZGltIG1lbW9yeSIpOwotICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgaWYgKFB5SW5kZXhfQ2hlY2soa2V5KSkgewotICAgICAgICBQeV9zc2l6ZV90IHJlc3VsdDsKLSAgICAgICAgcmVzdWx0ID0gUHlOdW1iZXJfQXNTc2l6ZV90KGtleSwgTlVMTCk7Ci0gICAgICAgIGlmIChyZXN1bHQgPT0gLTEgJiYgUHlFcnJfT2NjdXJyZWQoKSkKLSAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgcmV0dXJuIG1lbW9yeV9pdGVtKHNlbGYsIHJlc3VsdCk7Ci0gICAgfQotICAgIGVsc2UgaWYgKFB5U2xpY2VfQ2hlY2soa2V5KSkgewotICAgICAgICBQeV9zc2l6ZV90IHN0YXJ0LCBzdG9wLCBzdGVwLCBzbGljZWxlbmd0aDsKLQotICAgICAgICBpZiAoUHlTbGljZV9HZXRJbmRpY2VzRXgoa2V5LCBnZXRfc2hhcGUwKHZpZXcpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnN0YXJ0LCAmc3RvcCwgJnN0ZXAsICZzbGljZWxlbmd0aCkgPCAwKSB7Ci0gICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgfQotICAgIAotICAgICAgICBpZiAoc3RlcCA9PSAxICYmIHZpZXctPm5kaW0gPT0gMSkgewotICAgICAgICAgICAgUHlfYnVmZmVyIG5ld3ZpZXc7Ci0gICAgICAgICAgICB2b2lkICpuZXdidWYgPSAoY2hhciAqKSB2aWV3LT5idWYKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsgc3RhcnQgKiB2aWV3LT5pdGVtc2l6ZTsKLSAgICAgICAgICAgIGludCBuZXdmbGFncyA9IHZpZXctPnJlYWRvbmx5Ci0gICAgICAgICAgICAgICAgICAgID8gUHlCVUZfQ09OVElHX1JPIDogUHlCVUZfQ09OVElHOwotICAgIAotICAgICAgICAgICAgLyogWFhYIFRoZXJlIHNob3VsZCBiZSBhbiBBUEkgdG8gY3JlYXRlIGEgc3ViYnVmZmVyICovCi0gICAgICAgICAgICBpZiAodmlldy0+b2JqICE9IE5VTEwpIHsKLSAgICAgICAgICAgICAgICBpZiAoUHlPYmplY3RfR2V0QnVmZmVyKHZpZXctPm9iaiwgJm5ld3ZpZXcsIG5ld2ZsYWdzKSA9PSAtMSkKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgICAgICBuZXd2aWV3ID0gKnZpZXc7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBuZXd2aWV3LmJ1ZiA9IG5ld2J1ZjsKLSAgICAgICAgICAgIG5ld3ZpZXcubGVuID0gc2xpY2VsZW5ndGggKiBuZXd2aWV3Lml0ZW1zaXplOwotICAgICAgICAgICAgbmV3dmlldy5mb3JtYXQgPSB2aWV3LT5mb3JtYXQ7Ci0gICAgICAgICAgICBuZXd2aWV3LnNoYXBlID0gJihuZXd2aWV3LnNtYWxsdGFibGVbMF0pOwotICAgICAgICAgICAgbmV3dmlldy5zaGFwZVswXSA9IHNsaWNlbGVuZ3RoOwotICAgICAgICAgICAgbmV3dmlldy5zdHJpZGVzID0gJihuZXd2aWV3Lml0ZW1zaXplKTsKLSAgICAgICAgICAgIHJldHVybiBQeU1lbW9yeVZpZXdfRnJvbUJ1ZmZlcigmbmV3dmlldyk7Ci0gICAgICAgIH0KLSAgICAgICAgUHlFcnJfU2V0Tm9uZShQeUV4Y19Ob3RJbXBsZW1lbnRlZEVycm9yKTsKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgfQotICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsCi0gICAgICAgICJjYW5ub3QgaW5kZXggbWVtb3J5IHVzaW5nIFwiJS4yMDBzXCIiLCAKLSAgICAgICAga2V5LT5vYl90eXBlLT50cF9uYW1lKTsKLSAgICByZXR1cm4gTlVMTDsKLX0KLQotCi0vKiBOZWVkIHRvIHN1cHBvcnQgYXNzaWduaW5nIG1lbW9yeSBpZiB3ZSBjYW4gKi8KLXN0YXRpYyBpbnQKLW1lbW9yeV9hc3Nfc3ViKFB5TWVtb3J5Vmlld09iamVjdCAqc2VsZiwgUHlPYmplY3QgKmtleSwgUHlPYmplY3QgKnZhbHVlKQotewotICAgIFB5X3NzaXplX3Qgc3RhcnQsIGxlbiwgYnl0ZWxlbjsKLSAgICBQeV9idWZmZXIgc3JjdmlldzsKLSAgICBQeV9idWZmZXIgKnZpZXcgPSAmKHNlbGYtPnZpZXcpOwotICAgIGNoYXIgKnNyY2J1ZiwgKmRlc3RidWY7Ci0KLSAgICBDSEVDS19SRUxFQVNFRF9JTlQoc2VsZik7Ci0gICAgaWYgKHZpZXctPnJlYWRvbmx5KSB7Ci0gICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsCi0gICAgICAgICAgICAiY2Fubm90IG1vZGlmeSByZWFkLW9ubHkgbWVtb3J5Iik7Ci0gICAgICAgIHJldHVybiAtMTsKLSAgICB9Ci0gICAgaWYgKHZhbHVlID09IE5VTEwpIHsKLSAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICAgICJjYW5ub3QgZGVsZXRlIG1lbW9yeSIpOwotICAgICAgICByZXR1cm4gLTE7Ci0gICAgfQotICAgIGlmICh2aWV3LT5uZGltICE9IDEpIHsKLSAgICAgICAgUHlFcnJfU2V0Tm9uZShQeUV4Y19Ob3RJbXBsZW1lbnRlZEVycm9yKTsKLSAgICAgICAgcmV0dXJuIC0xOwotICAgIH0KLSAgICBpZiAoUHlJbmRleF9DaGVjayhrZXkpKSB7Ci0gICAgICAgIHN0YXJ0ID0gUHlOdW1iZXJfQXNTc2l6ZV90KGtleSwgTlVMTCk7Ci0gICAgICAgIGlmIChzdGFydCA9PSAtMSAmJiBQeUVycl9PY2N1cnJlZCgpKQotICAgICAgICAgICAgcmV0dXJuIC0xOwotICAgICAgICBpZiAoc3RhcnQgPCAwKSB7Ci0gICAgICAgICAgICBzdGFydCArPSBnZXRfc2hhcGUwKHZpZXcpOwotICAgICAgICB9Ci0gICAgICAgIGlmICgoc3RhcnQgPCAwKSB8fCAoc3RhcnQgPj0gZ2V0X3NoYXBlMCh2aWV3KSkpIHsKLSAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19JbmRleEVycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpbmRleCBvdXQgb2YgYm91bmRzIik7Ci0gICAgICAgICAgICByZXR1cm4gLTE7Ci0gICAgICAgIH0KLSAgICAgICAgbGVuID0gMTsKLSAgICB9Ci0gICAgZWxzZSBpZiAoUHlTbGljZV9DaGVjayhrZXkpKSB7Ci0gICAgICAgIFB5X3NzaXplX3Qgc3RvcCwgc3RlcDsKLQotICAgICAgICBpZiAoUHlTbGljZV9HZXRJbmRpY2VzRXgoa2V5LCBnZXRfc2hhcGUwKHZpZXcpLAotICAgICAgICAgICAgICAgICAgICAgICAgICZzdGFydCwgJnN0b3AsICZzdGVwLCAmbGVuKSA8IDApIHsKLSAgICAgICAgICAgIHJldHVybiAtMTsKLSAgICAgICAgfQotICAgICAgICBpZiAoc3RlcCAhPSAxKSB7Ci0gICAgICAgICAgICBQeUVycl9TZXROb25lKFB5RXhjX05vdEltcGxlbWVudGVkRXJyb3IpOwotICAgICAgICAgICAgcmV0dXJuIC0xOwotICAgICAgICB9Ci0gICAgfQotICAgIGVsc2UgewotICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLAotICAgICAgICAgICAgImNhbm5vdCBpbmRleCBtZW1vcnkgdXNpbmcgXCIlLjIwMHNcIiIsIAotICAgICAgICAgICAga2V5LT5vYl90eXBlLT50cF9uYW1lKTsKLSAgICAgICAgcmV0dXJuIC0xOwotICAgIH0KLSAgICBpZiAoUHlPYmplY3RfR2V0QnVmZmVyKHZhbHVlLCAmc3JjdmlldywgUHlCVUZfQ09OVElHX1JPKSA9PSAtMSkgewotICAgICAgICByZXR1cm4gLTE7Ci0gICAgfQotICAgIC8qIFhYWCBzaG91bGQgd2UgYWxsb3cgYXNzaWdubWVudCBvZiBkaWZmZXJlbnQgaXRlbSBzaXplcwotICAgICAgIGFzIGxvbmcgYXMgdGhlIGJ5dGUgbGVuZ3RoIGlzIHRoZSBzYW1lPwotICAgICAgIChlLmcuIGFzc2lnbiAyIHNob3J0cyB0byBhIDQtYnl0ZSBzbGljZSkgKi8KLSAgICBpZiAoc3Jjdmlldy5pdGVtc2l6ZSAhPSB2aWV3LT5pdGVtc2l6ZSkgewotICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLAotICAgICAgICAgICAgIm1pc21hdGNoaW5nIGl0ZW0gc2l6ZXMgZm9yIFwiJS4yMDBzXCIgYW5kIFwiJS4yMDBzXCIiLCAKLSAgICAgICAgICAgIHZpZXctPm9iai0+b2JfdHlwZS0+dHBfbmFtZSwgc3Jjdmlldy5vYmotPm9iX3R5cGUtPnRwX25hbWUpOwotICAgICAgICBnb3RvIF9lcnJvcjsKLSAgICB9Ci0gICAgYnl0ZWxlbiA9IGxlbiAqIHZpZXctPml0ZW1zaXplOwotICAgIGlmIChieXRlbGVuICE9IHNyY3ZpZXcubGVuKSB7Ci0gICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLAotICAgICAgICAgICAgImNhbm5vdCBtb2RpZnkgc2l6ZSBvZiBtZW1vcnl2aWV3IG9iamVjdCIpOwotICAgICAgICBnb3RvIF9lcnJvcjsKLSAgICB9Ci0gICAgLyogRG8gdGhlIGFjdHVhbCBjb3B5ICovCi0gICAgZGVzdGJ1ZiA9IChjaGFyICopIHZpZXctPmJ1ZiArIHN0YXJ0ICogdmlldy0+aXRlbXNpemU7Ci0gICAgc3JjYnVmID0gKGNoYXIgKikgc3Jjdmlldy5idWY7Ci0gICAgaWYgKGRlc3RidWYgKyBieXRlbGVuIDwgc3JjYnVmIHx8IHNyY2J1ZiArIGJ5dGVsZW4gPCBkZXN0YnVmKQotICAgICAgICAvKiBObyBvdmVybGFwcGluZyAqLwotICAgICAgICBtZW1jcHkoZGVzdGJ1Ziwgc3JjYnVmLCBieXRlbGVuKTsKLSAgICBlbHNlCi0gICAgICAgIG1lbW1vdmUoZGVzdGJ1Ziwgc3JjYnVmLCBieXRlbGVuKTsKLQotICAgIFB5QnVmZmVyX1JlbGVhc2UoJnNyY3ZpZXcpOwotICAgIHJldHVybiAwOwotCi1fZXJyb3I6Ci0gICAgUHlCdWZmZXJfUmVsZWFzZSgmc3Jjdmlldyk7Ci0gICAgcmV0dXJuIC0xOwotfQotCi1zdGF0aWMgUHlPYmplY3QgKgotbWVtb3J5X3JpY2hjb21wYXJlKFB5T2JqZWN0ICp2LCBQeU9iamVjdCAqdywgaW50IG9wKQotewotICAgIFB5X2J1ZmZlciB2diwgd3c7Ci0gICAgaW50IGVxdWFsID0gMDsKLSAgICBQeU9iamVjdCAqcmVzOwotCi0gICAgdnYub2JqID0gTlVMTDsKLSAgICB3dy5vYmogPSBOVUxMOwotICAgIGlmIChvcCAhPSBQeV9FUSAmJiBvcCAhPSBQeV9ORSkKLSAgICAgICAgZ290byBfbm90aW1wbDsKLSAgICBpZiAoKFB5TWVtb3J5Vmlld19DaGVjayh2KSAmJiBJU19SRUxFQVNFRCh2KSkgfHwKLSAgICAgICAgKFB5TWVtb3J5Vmlld19DaGVjayh3KSAmJiBJU19SRUxFQVNFRCh3KSkpIHsKLSAgICAgICAgZXF1YWwgPSAodiA9PSB3KTsKLSAgICAgICAgZ290byBfZW5kOwotICAgIH0KLSAgICBpZiAoUHlPYmplY3RfR2V0QnVmZmVyKHYsICZ2diwgUHlCVUZfQ09OVElHX1JPKSA9PSAtMSkgewotICAgICAgICBQeUVycl9DbGVhcigpOwotICAgICAgICBnb3RvIF9ub3RpbXBsOwotICAgIH0KLSAgICBpZiAoUHlPYmplY3RfR2V0QnVmZmVyKHcsICZ3dywgUHlCVUZfQ09OVElHX1JPKSA9PSAtMSkgewotICAgICAgICBQeUVycl9DbGVhcigpOwotICAgICAgICBnb3RvIF9ub3RpbXBsOwotICAgIH0KLQotICAgIGlmICh2di5pdGVtc2l6ZSAhPSB3dy5pdGVtc2l6ZSB8fCB2di5sZW4gIT0gd3cubGVuKQotICAgICAgICBnb3RvIF9lbmQ7Ci0KLSAgICBlcXVhbCA9ICFtZW1jbXAodnYuYnVmLCB3dy5idWYsIHZ2Lmxlbik7Ci0KLV9lbmQ6Ci0gICAgUHlCdWZmZXJfUmVsZWFzZSgmdnYpOwotICAgIFB5QnVmZmVyX1JlbGVhc2UoJnd3KTsKLSAgICBpZiAoKGVxdWFsICYmIG9wID09IFB5X0VRKSB8fCAoIWVxdWFsICYmIG9wID09IFB5X05FKSkKLSAgICAgICAgcmVzID0gUHlfVHJ1ZTsKLSAgICBlbHNlCi0gICAgICAgIHJlcyA9IFB5X0ZhbHNlOwotICAgIFB5X0lOQ1JFRihyZXMpOwotICAgIHJldHVybiByZXM7Ci0KLV9ub3RpbXBsOgotICAgIFB5QnVmZmVyX1JlbGVhc2UoJnZ2KTsKLSAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZ3dyk7Ci0gICAgUHlfSU5DUkVGKFB5X05vdEltcGxlbWVudGVkKTsKLSAgICByZXR1cm4gUHlfTm90SW1wbGVtZW50ZWQ7Ci19Ci0KLQotc3RhdGljIGludAotbWVtb3J5X3RyYXZlcnNlKFB5TWVtb3J5Vmlld09iamVjdCAqc2VsZiwgdmlzaXRwcm9jIHZpc2l0LCB2b2lkICphcmcpCi17Ci0gICAgaWYgKHNlbGYtPnZpZXcub2JqICE9IE5VTEwpCi0gICAgICAgIFB5X1ZJU0lUKHNlbGYtPnZpZXcub2JqKTsKLSAgICByZXR1cm4gMDsKLX0KLQotc3RhdGljIGludAotbWVtb3J5X2NsZWFyKFB5TWVtb3J5Vmlld09iamVjdCAqc2VsZikKLXsKLSAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZzZWxmLT52aWV3KTsKLSAgICByZXR1cm4gMDsKLX0KLQotCi0vKiBBcyBtYXBwaW5nICovCi1zdGF0aWMgUHlNYXBwaW5nTWV0aG9kcyBtZW1vcnlfYXNfbWFwcGluZyA9IHsKLSAgICAobGVuZnVuYyltZW1vcnlfbGVuZ3RoLCAgICAgICAgICAgICAgIC8qIG1wX2xlbmd0aCAqLwotICAgIChiaW5hcnlmdW5jKW1lbW9yeV9zdWJzY3JpcHQsICAgICAgICAgLyogbXBfc3Vic2NyaXB0ICovCi0gICAgKG9iam9iamFyZ3Byb2MpbWVtb3J5X2Fzc19zdWIsICAgICAgICAvKiBtcF9hc3Nfc3Vic2NyaXB0ICovCi19OwotCi1zdGF0aWMgUHlTZXF1ZW5jZU1ldGhvZHMgbWVtb3J5X2FzX3NlcXVlbmNlID0gewotICAgICAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBzcV9sZW5ndGggKi8KLSAgICAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogc3FfY29uY2F0ICovCi0gICAgICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHNxX3JlcGVhdCAqLwotICAgICAgICAoc3NpemVhcmdmdW5jKW1lbW9yeV9pdGVtLCAgICAgICAgICAvKiBzcV9pdGVtICovCi19OwotCi0vKiBCdWZmZXIgbWV0aG9kcyAqLwotCi1zdGF0aWMgUHlCdWZmZXJQcm9jcyBtZW1vcnlfYXNfYnVmZmVyID0gewotICAgIChnZXRidWZmZXJwcm9jKW1lbW9yeV9nZXRidWYsICAgICAgICAgLyogYmZfZ2V0YnVmZmVyICovCi0gICAgKHJlbGVhc2VidWZmZXJwcm9jKW1lbW9yeV9yZWxlYXNlYnVmLCAvKiBiZl9yZWxlYXNlYnVmZmVyICovCisgICAgeyJyZWxlYXNlIiwgICAgIChQeUNGdW5jdGlvbiltZW1vcnlfcmVsZWFzZSwgTUVUSF9OT0FSR1N9LAorICAgIHsidG9ieXRlcyIsICAgICAoUHlDRnVuY3Rpb24pbWVtb3J5X3RvYnl0ZXMsIE1FVEhfTk9BUkdTLCBOVUxMfSwKKyAgICB7InRvbGlzdCIsICAgICAgKFB5Q0Z1bmN0aW9uKW1lbW9yeV90b2xpc3QsIE1FVEhfTk9BUkdTLCBOVUxMfSwKKyAgICB7ImNhc3QiLCAgICAgICAgKFB5Q0Z1bmN0aW9uKW1lbW9yeV9jYXN0LCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgTlVMTH0sCisgICAgeyJfX2VudGVyX18iLCAgIG1lbW9yeV9lbnRlciwgTUVUSF9OT0FSR1N9LAorICAgIHsiX19leGl0X18iLCAgICBtZW1vcnlfZXhpdCwgTUVUSF9WQVJBUkdTfSwKKyAgICB7TlVMTCwgICAgICAgICAgTlVMTH0KIH07CiAKIAogUHlUeXBlT2JqZWN0IFB5TWVtb3J5Vmlld19UeXBlID0gewogICAgIFB5VmFyT2JqZWN0X0hFQURfSU5JVCgmUHlUeXBlX1R5cGUsIDApCi0gICAgIm1lbW9yeXZpZXciLAotICAgIHNpemVvZihQeU1lbW9yeVZpZXdPYmplY3QpLAotICAgIDAsCisgICAgIm1lbW9yeXZpZXciLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfbmFtZSAqLworICAgIG9mZnNldG9mKFB5TWVtb3J5Vmlld09iamVjdCwgb2JfYXJyYXkpLCAgIC8qIHRwX2Jhc2ljc2l6ZSAqLworICAgIHNpemVvZihQeV9zc2l6ZV90KSwgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2l0ZW1zaXplICovCiAgICAgKGRlc3RydWN0b3IpbWVtb3J5X2RlYWxsb2MsICAgICAgICAgICAgICAgLyogdHBfZGVhbGxvYyAqLwogICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX3ByaW50ICovCiAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfZ2V0YXR0ciAqLwpAQCAtODMwLDcgKzI1OTcsNyBAQAogICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2FzX251bWJlciAqLwogICAgICZtZW1vcnlfYXNfc2VxdWVuY2UsICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2FzX3NlcXVlbmNlICovCiAgICAgJm1lbW9yeV9hc19tYXBwaW5nLCAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfYXNfbWFwcGluZyAqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2hhc2ggKi8KKyAgICAoaGFzaGZ1bmMpbWVtb3J5X2hhc2gsICAgICAgICAgICAgICAgICAgICAvKiB0cF9oYXNoICovCiAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfY2FsbCAqLwogICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX3N0ciAqLwogICAgIFB5T2JqZWN0X0dlbmVyaWNHZXRBdHRyLCAgICAgICAgICAgICAgICAgIC8qIHRwX2dldGF0dHJvICovCmRpZmYgLS1naXQgYS9PYmplY3RzL21ldGhvZG9iamVjdC5jIGIvT2JqZWN0cy9tZXRob2RvYmplY3QuYwppbmRleCBmMWE5ZjRiLi5jM2E2NDA5IDEwMDY0NAotLS0gYS9PYmplY3RzL21ldGhvZG9iamVjdC5jCisrKyBiL09iamVjdHMvbWV0aG9kb2JqZWN0LmMKQEAgLTQ0LDcgKzQ0LDcgQEAKICAgICAgICAgUHlFcnJfQmFkSW50ZXJuYWxDYWxsKCk7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KLSAgICByZXR1cm4gKChQeUNGdW5jdGlvbk9iamVjdCAqKW9wKSAtPiBtX21sIC0+IG1sX21ldGg7CisgICAgcmV0dXJuIFB5Q0Z1bmN0aW9uX0dFVF9GVU5DVElPTihvcCk7CiB9CiAKIFB5T2JqZWN0ICoKQEAgLTU0LDcgKzU0LDcgQEAKICAgICAgICAgUHlFcnJfQmFkSW50ZXJuYWxDYWxsKCk7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KLSAgICByZXR1cm4gKChQeUNGdW5jdGlvbk9iamVjdCAqKW9wKSAtPiBtX3NlbGY7CisgICAgcmV0dXJuIFB5Q0Z1bmN0aW9uX0dFVF9TRUxGKG9wKTsKIH0KIAogaW50CkBAIC02NCw3ICs2NCw3IEBACiAgICAgICAgIFB5RXJyX0JhZEludGVybmFsQ2FsbCgpOwogICAgICAgICByZXR1cm4gLTE7CiAgICAgfQotICAgIHJldHVybiAoKFB5Q0Z1bmN0aW9uT2JqZWN0ICopb3ApIC0+IG1fbWwgLT4gbWxfZmxhZ3M7CisgICAgcmV0dXJuIFB5Q0Z1bmN0aW9uX0dFVF9GTEFHUyhvcCk7CiB9CiAKIFB5T2JqZWN0ICoKQEAgLTE1MSw2ICsxNTEsNDEgQEAKICAgICByZXR1cm4gUHlVbmljb2RlX0Zyb21TdHJpbmcobS0+bV9tbC0+bWxfbmFtZSk7CiB9CiAKK3N0YXRpYyBQeU9iamVjdCAqCittZXRoX2dldF9fcXVhbG5hbWVfXyhQeUNGdW5jdGlvbk9iamVjdCAqbSwgdm9pZCAqY2xvc3VyZSkKK3sKKyAgICAvKiBJZiBfX3NlbGZfXyBpcyBhIG1vZHVsZSBvciBOVUxMLCByZXR1cm4gbS5fX25hbWVfXworICAgICAgIChlLmcuIGxlbi5fX3F1YWxuYW1lX18gPT0gJ2xlbicpCisKKyAgICAgICBJZiBfX3NlbGZfXyBpcyBhIHR5cGUsIHJldHVybiBtLl9fc2VsZl9fLl9fcXVhbG5hbWVfXyArICcuJyArIG0uX19uYW1lX18KKyAgICAgICAoZS5nLiBkaWN0LmZyb21rZXlzLl9fcXVhbG5hbWVfXyA9PSAnZGljdC5mcm9ta2V5cycpCisKKyAgICAgICBPdGhlcndpc2UgcmV0dXJuIHR5cGUobS5fX3NlbGZfXykuX19xdWFsbmFtZV9fICsgJy4nICsgbS5fX25hbWVfXworICAgICAgIChlLmcuIFtdLmFwcGVuZC5fX3F1YWxuYW1lX18gPT0gJ2xpc3QuYXBwZW5kJykgKi8KKyAgICBQeU9iamVjdCAqdHlwZSwgKnR5cGVfcXVhbG5hbWUsICpyZXM7CisgICAgX1B5X0lERU5USUZJRVIoX19xdWFsbmFtZV9fKTsKKworICAgIGlmIChtLT5tX3NlbGYgPT0gTlVMTCB8fCBQeU1vZHVsZV9DaGVjayhtLT5tX3NlbGYpKQorICAgICAgICByZXR1cm4gUHlVbmljb2RlX0Zyb21TdHJpbmcobS0+bV9tbC0+bWxfbmFtZSk7CisKKyAgICB0eXBlID0gUHlUeXBlX0NoZWNrKG0tPm1fc2VsZikgPyBtLT5tX3NlbGYgOiAoUHlPYmplY3QqKVB5X1RZUEUobS0+bV9zZWxmKTsKKworICAgIHR5cGVfcXVhbG5hbWUgPSBfUHlPYmplY3RfR2V0QXR0cklkKHR5cGUsICZQeUlkX19fcXVhbG5hbWVfXyk7CisgICAgaWYgKHR5cGVfcXVhbG5hbWUgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICBpZiAoIVB5VW5pY29kZV9DaGVjayh0eXBlX3F1YWxuYW1lKSkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCAiPG1ldGhvZD4uX19jbGFzc19fLiIKKyAgICAgICAgICAgICAgICAgICAgICAgICJfX3F1YWxuYW1lX18gaXMgbm90IGEgdW5pY29kZSBvYmplY3QiKTsKKyAgICAgICAgUHlfWERFQ1JFRih0eXBlX3F1YWxuYW1lKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorCisgICAgcmVzID0gUHlVbmljb2RlX0Zyb21Gb3JtYXQoIiVTLiVzIiwgdHlwZV9xdWFsbmFtZSwgbS0+bV9tbC0+bWxfbmFtZSk7CisgICAgUHlfREVDUkVGKHR5cGVfcXVhbG5hbWUpOworICAgIHJldHVybiByZXM7Cit9CisKIHN0YXRpYyBpbnQKIG1ldGhfdHJhdmVyc2UoUHlDRnVuY3Rpb25PYmplY3QgKm0sIHZpc2l0cHJvYyB2aXNpdCwgdm9pZCAqYXJnKQogewpAQCAtMTY0LDcgKzE5OSw3IEBACiB7CiAgICAgUHlPYmplY3QgKnNlbGY7CiAKLSAgICBzZWxmID0gbS0+bV9zZWxmOworICAgIHNlbGYgPSBQeUNGdW5jdGlvbl9HRVRfU0VMRihtKTsKICAgICBpZiAoc2VsZiA9PSBOVUxMKQogICAgICAgICBzZWxmID0gUHlfTm9uZTsKICAgICBQeV9JTkNSRUYoc2VsZik7CkBAIC0xNzQsNiArMjA5LDcgQEAKIHN0YXRpYyBQeUdldFNldERlZiBtZXRoX2dldHNldHMgW10gPSB7CiAgICAgeyJfX2RvY19fIiwgIChnZXR0ZXIpbWV0aF9nZXRfX2RvY19fLCAgTlVMTCwgTlVMTH0sCiAgICAgeyJfX25hbWVfXyIsIChnZXR0ZXIpbWV0aF9nZXRfX25hbWVfXywgTlVMTCwgTlVMTH0sCisgICAgeyJfX3F1YWxuYW1lX18iLCAoZ2V0dGVyKW1ldGhfZ2V0X19xdWFsbmFtZV9fLCBOVUxMLCBOVUxMfSwKICAgICB7Il9fc2VsZl9fIiwgKGdldHRlciltZXRoX2dldF9fc2VsZl9fLCBOVUxMLCBOVUxMfSwKICAgICB7MH0KIH07CkBAIC0yMDgsOCArMjQ0LDcgQEAKICAgICAgICAgIVB5Q0Z1bmN0aW9uX0NoZWNrKHNlbGYpIHx8CiAgICAgICAgICFQeUNGdW5jdGlvbl9DaGVjayhvdGhlcikpCiAgICAgewotICAgICAgICBQeV9JTkNSRUYoUHlfTm90SW1wbGVtZW50ZWQpOwotICAgICAgICByZXR1cm4gUHlfTm90SW1wbGVtZW50ZWQ7CisgICAgICAgIFB5X1JFVFVSTl9OT1RJTVBMRU1FTlRFRDsKICAgICB9CiAgICAgYSA9IChQeUNGdW5jdGlvbk9iamVjdCAqKXNlbGY7CiAgICAgYiA9IChQeUNGdW5jdGlvbk9iamVjdCAqKW90aGVyOwpkaWZmIC0tZ2l0IGEvT2JqZWN0cy9tb2R1bGVvYmplY3QuYyBiL09iamVjdHMvbW9kdWxlb2JqZWN0LmMKaW5kZXggZjMxYjVkYS4uYjY5YmNlNiAxMDA2NDQKLS0tIGEvT2JqZWN0cy9tb2R1bGVvYmplY3QuYworKysgYi9PYmplY3RzL21vZHVsZW9iamVjdC5jCkBAIC0yNywzNiArMjcsNDUgQEAKIAogCiBQeU9iamVjdCAqCi1QeU1vZHVsZV9OZXcoY29uc3QgY2hhciAqbmFtZSkKK1B5TW9kdWxlX05ld09iamVjdChQeU9iamVjdCAqbmFtZSkKIHsKICAgICBQeU1vZHVsZU9iamVjdCAqbTsKLSAgICBQeU9iamVjdCAqbmFtZW9iajsKICAgICBtID0gUHlPYmplY3RfR0NfTmV3KFB5TW9kdWxlT2JqZWN0LCAmUHlNb2R1bGVfVHlwZSk7CiAgICAgaWYgKG0gPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgbS0+bWRfZGVmID0gTlVMTDsKICAgICBtLT5tZF9zdGF0ZSA9IE5VTEw7Ci0gICAgbmFtZW9iaiA9IFB5VW5pY29kZV9Gcm9tU3RyaW5nKG5hbWUpOwogICAgIG0tPm1kX2RpY3QgPSBQeURpY3RfTmV3KCk7Ci0gICAgaWYgKG0tPm1kX2RpY3QgPT0gTlVMTCB8fCBuYW1lb2JqID09IE5VTEwpCisgICAgaWYgKG0tPm1kX2RpY3QgPT0gTlVMTCkKICAgICAgICAgZ290byBmYWlsOwotICAgIGlmIChQeURpY3RfU2V0SXRlbVN0cmluZyhtLT5tZF9kaWN0LCAiX19uYW1lX18iLCBuYW1lb2JqKSAhPSAwKQorICAgIGlmIChQeURpY3RfU2V0SXRlbVN0cmluZyhtLT5tZF9kaWN0LCAiX19uYW1lX18iLCBuYW1lKSAhPSAwKQogICAgICAgICBnb3RvIGZhaWw7CiAgICAgaWYgKFB5RGljdF9TZXRJdGVtU3RyaW5nKG0tPm1kX2RpY3QsICJfX2RvY19fIiwgUHlfTm9uZSkgIT0gMCkKICAgICAgICAgZ290byBmYWlsOwogICAgIGlmIChQeURpY3RfU2V0SXRlbVN0cmluZyhtLT5tZF9kaWN0LCAiX19wYWNrYWdlX18iLCBQeV9Ob25lKSAhPSAwKQogICAgICAgICBnb3RvIGZhaWw7Ci0gICAgUHlfREVDUkVGKG5hbWVvYmopOwogICAgIFB5T2JqZWN0X0dDX1RyYWNrKG0pOwogICAgIHJldHVybiAoUHlPYmplY3QgKiltOwogCiAgZmFpbDoKLSAgICBQeV9YREVDUkVGKG5hbWVvYmopOwogICAgIFB5X0RFQ1JFRihtKTsKICAgICByZXR1cm4gTlVMTDsKIH0KIAogUHlPYmplY3QgKgorUHlNb2R1bGVfTmV3KGNvbnN0IGNoYXIgKm5hbWUpCit7CisgICAgUHlPYmplY3QgKm5hbWVvYmosICptb2R1bGU7CisgICAgbmFtZW9iaiA9IFB5VW5pY29kZV9Gcm9tU3RyaW5nKG5hbWUpOworICAgIGlmIChuYW1lb2JqID09IE5VTEwpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIG1vZHVsZSA9IFB5TW9kdWxlX05ld09iamVjdChuYW1lb2JqKTsKKyAgICBQeV9ERUNSRUYobmFtZW9iaik7CisgICAgcmV0dXJuIG1vZHVsZTsKK30KKworCitQeU9iamVjdCAqCiBQeU1vZHVsZV9DcmVhdGUyKHN0cnVjdCBQeU1vZHVsZURlZiogbW9kdWxlLCBpbnQgbW9kdWxlX2FwaV92ZXJzaW9uKQogewogICAgIFB5T2JqZWN0ICpkLCAqdiwgKm47CkBAIC0xNjksMjQgKzE3OCwzNSBAQAogICAgIHJldHVybiBkOwogfQogCi1jb25zdCBjaGFyICoKLVB5TW9kdWxlX0dldE5hbWUoUHlPYmplY3QgKm0pCitQeU9iamVjdCoKK1B5TW9kdWxlX0dldE5hbWVPYmplY3QoUHlPYmplY3QgKm0pCiB7CiAgICAgUHlPYmplY3QgKmQ7Ci0gICAgUHlPYmplY3QgKm5hbWVvYmo7CisgICAgUHlPYmplY3QgKm5hbWU7CiAgICAgaWYgKCFQeU1vZHVsZV9DaGVjayhtKSkgewogICAgICAgICBQeUVycl9CYWRBcmd1bWVudCgpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAgICAgZCA9ICgoUHlNb2R1bGVPYmplY3QgKiltKS0+bWRfZGljdDsKICAgICBpZiAoZCA9PSBOVUxMIHx8Ci0gICAgICAgIChuYW1lb2JqID0gUHlEaWN0X0dldEl0ZW1TdHJpbmcoZCwgIl9fbmFtZV9fIikpID09IE5VTEwgfHwKLSAgICAgICAgIVB5VW5pY29kZV9DaGVjayhuYW1lb2JqKSkKKyAgICAgICAgKG5hbWUgPSBQeURpY3RfR2V0SXRlbVN0cmluZyhkLCAiX19uYW1lX18iKSkgPT0gTlVMTCB8fAorICAgICAgICAhUHlVbmljb2RlX0NoZWNrKG5hbWUpKQogICAgIHsKICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1N5c3RlbUVycm9yLCAibmFtZWxlc3MgbW9kdWxlIik7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KLSAgICByZXR1cm4gX1B5VW5pY29kZV9Bc1N0cmluZyhuYW1lb2JqKTsKKyAgICBQeV9JTkNSRUYobmFtZSk7CisgICAgcmV0dXJuIG5hbWU7Cit9CisKK2NvbnN0IGNoYXIgKgorUHlNb2R1bGVfR2V0TmFtZShQeU9iamVjdCAqbSkKK3sKKyAgICBQeU9iamVjdCAqbmFtZSA9IFB5TW9kdWxlX0dldE5hbWVPYmplY3QobSk7CisgICAgaWYgKG5hbWUgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgUHlfREVDUkVGKG5hbWUpOyAgIC8qIG1vZHVsZSBkaWN0IGhhcyBzdGlsbCBhIHJlZmVyZW5jZSAqLworICAgIHJldHVybiBfUHlVbmljb2RlX0FzU3RyaW5nKG5hbWUpOwogfQogCiBQeU9iamVjdCoKQEAgLTIxOSw3ICsyMzksNyBAQAogICAgIGlmIChmaWxlb2JqID09IE5VTEwpCiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIHV0ZjggPSBfUHlVbmljb2RlX0FzU3RyaW5nKGZpbGVvYmopOwotICAgIFB5X0RFQ1JFRihmaWxlb2JqKTsKKyAgICBQeV9ERUNSRUYoZmlsZW9iaik7ICAgLyogbW9kdWxlIGRpY3QgaGFzIHN0aWxsIGEgcmVmZXJlbmNlICovCiAgICAgcmV0dXJuIHV0Zjg7CiB9CiAKQEAgLTI2NSw4ICsyODUsOCBAQAogICAgIHBvcyA9IDA7CiAgICAgd2hpbGUgKFB5RGljdF9OZXh0KGQsICZwb3MsICZrZXksICZ2YWx1ZSkpIHsKICAgICAgICAgaWYgKHZhbHVlICE9IFB5X05vbmUgJiYgUHlVbmljb2RlX0NoZWNrKGtleSkpIHsKLSAgICAgICAgICAgIFB5X1VOSUNPREUgKnUgPSBQeVVuaWNvZGVfQVNfVU5JQ09ERShrZXkpOwotICAgICAgICAgICAgaWYgKHVbMF0gPT0gJ18nICYmIHVbMV0gIT0gJ18nKSB7CisgICAgICAgICAgICBpZiAoUHlVbmljb2RlX1JFQURfQ0hBUihrZXksIDApID09ICdfJyAmJiAKKyAgICAgICAgICAgICAgICBQeVVuaWNvZGVfUkVBRF9DSEFSKGtleSwgMSkgIT0gJ18nKSB7CiAgICAgICAgICAgICAgICAgaWYgKFB5X1ZlcmJvc2VGbGFnID4gMSkgewogICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpzID0gX1B5VW5pY29kZV9Bc1N0cmluZyhrZXkpOwogICAgICAgICAgICAgICAgICAgICBpZiAocyAhPSBOVUxMKQpAQCAtMjgzLDkgKzMwMyw4IEBACiAgICAgcG9zID0gMDsKICAgICB3aGlsZSAoUHlEaWN0X05leHQoZCwgJnBvcywgJmtleSwgJnZhbHVlKSkgewogICAgICAgICBpZiAodmFsdWUgIT0gUHlfTm9uZSAmJiBQeVVuaWNvZGVfQ2hlY2soa2V5KSkgewotICAgICAgICAgICAgUHlfVU5JQ09ERSAqdSA9IFB5VW5pY29kZV9BU19VTklDT0RFKGtleSk7Ci0gICAgICAgICAgICBpZiAodVswXSAhPSAnXycKLSAgICAgICAgICAgICAgICB8fCBQeVVuaWNvZGVfQ29tcGFyZVdpdGhBU0NJSVN0cmluZyhrZXksICJfX2J1aWx0aW5zX18iKSAhPSAwKQorICAgICAgICAgICAgaWYgKFB5VW5pY29kZV9SRUFEX0NIQVIoa2V5LCAwKSAhPSAnXycgfHwKKyAgICAgICAgICAgICAgICBQeVVuaWNvZGVfQ29tcGFyZVdpdGhBU0NJSVN0cmluZyhrZXksICJfX2J1aWx0aW5zX18iKSAhPSAwKQogICAgICAgICAgICAgewogICAgICAgICAgICAgICAgIGlmIChQeV9WZXJib3NlRmxhZyA+IDEpIHsKICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqcyA9IF9QeVVuaWNvZGVfQXNTdHJpbmcoa2V5KTsKQEAgLTM0NywyMSArMzY2LDI1IEBACiBzdGF0aWMgUHlPYmplY3QgKgogbW9kdWxlX3JlcHIoUHlNb2R1bGVPYmplY3QgKm0pCiB7Ci0gICAgY29uc3QgY2hhciAqbmFtZTsKLSAgICBQeU9iamVjdCAqZmlsZW5hbWUsICpyZXByOworICAgIFB5T2JqZWN0ICpuYW1lLCAqZmlsZW5hbWUsICpyZXByOwogCi0gICAgbmFtZSA9IFB5TW9kdWxlX0dldE5hbWUoKFB5T2JqZWN0ICopbSk7CisgICAgbmFtZSA9IFB5TW9kdWxlX0dldE5hbWVPYmplY3QoKFB5T2JqZWN0ICopbSk7CiAgICAgaWYgKG5hbWUgPT0gTlVMTCkgewogICAgICAgICBQeUVycl9DbGVhcigpOwotICAgICAgICBuYW1lID0gIj8iOworICAgICAgICBuYW1lID0gUHlVbmljb2RlX0Zyb21TdHJpbmdBbmRTaXplKCI/IiwgMSk7CisgICAgICAgIGlmIChuYW1lID09IE5VTEwpCisgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAgICAgZmlsZW5hbWUgPSBQeU1vZHVsZV9HZXRGaWxlbmFtZU9iamVjdCgoUHlPYmplY3QgKiltKTsKICAgICBpZiAoZmlsZW5hbWUgPT0gTlVMTCkgewogICAgICAgICBQeUVycl9DbGVhcigpOwotICAgICAgICByZXR1cm4gUHlVbmljb2RlX0Zyb21Gb3JtYXQoIjxtb2R1bGUgJyVzJyAoYnVpbHQtaW4pPiIsIG5hbWUpOworICAgICAgICByZXByID0gUHlVbmljb2RlX0Zyb21Gb3JtYXQoIjxtb2R1bGUgJVIgKGJ1aWx0LWluKT4iLCBuYW1lKTsKICAgICB9Ci0gICAgcmVwciA9IFB5VW5pY29kZV9Gcm9tRm9ybWF0KCI8bW9kdWxlICclcycgZnJvbSAnJVUnPiIsIG5hbWUsIGZpbGVuYW1lKTsKLSAgICBQeV9ERUNSRUYoZmlsZW5hbWUpOworICAgIGVsc2UgeworICAgICAgICByZXByID0gUHlVbmljb2RlX0Zyb21Gb3JtYXQoIjxtb2R1bGUgJVIgZnJvbSAlUj4iLCBuYW1lLCBmaWxlbmFtZSk7CisgICAgICAgIFB5X0RFQ1JFRihmaWxlbmFtZSk7CisgICAgfQorICAgIFB5X0RFQ1JFRihuYW1lKTsKICAgICByZXR1cm4gcmVwcjsKIH0KIApAQCAtMzg5LDYgKzQxMiwzNSBAQAogICAgIHJldHVybiAwOwogfQogCitzdGF0aWMgUHlPYmplY3QgKgorbW9kdWxlX2RpcihQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgX1B5X0lERU5USUZJRVIoX19kaWN0X18pOworICAgIFB5T2JqZWN0ICpyZXN1bHQgPSBOVUxMOworICAgIFB5T2JqZWN0ICpkaWN0ID0gX1B5T2JqZWN0X0dldEF0dHJJZChzZWxmLCAmUHlJZF9fX2RpY3RfXyk7CisKKyAgICBpZiAoZGljdCAhPSBOVUxMKSB7CisgICAgICAgIGlmIChQeURpY3RfQ2hlY2soZGljdCkpCisgICAgICAgICAgICByZXN1bHQgPSBQeURpY3RfS2V5cyhkaWN0KTsKKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBjb25zdCBjaGFyICpuYW1lID0gUHlNb2R1bGVfR2V0TmFtZShzZWxmKTsKKyAgICAgICAgICAgIGlmIChuYW1lKQorICAgICAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIlLjIwMHMuX19kaWN0X18gaXMgbm90IGEgZGljdGlvbmFyeSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWUpOworICAgICAgICB9CisgICAgfQorCisgICAgUHlfWERFQ1JFRihkaWN0KTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCitzdGF0aWMgUHlNZXRob2REZWYgbW9kdWxlX21ldGhvZHNbXSA9IHsKKyAgICB7Il9fZGlyX18iLCBtb2R1bGVfZGlyLCBNRVRIX05PQVJHUywKKyAgICAgUHlEb2NfU1RSKCJfX2Rpcl9fKCkgLT4gbGlzdFxuc3BlY2lhbGl6ZWQgZGlyKCkgaW1wbGVtZW50YXRpb24iKX0sCisgICAgezB9Cit9OworCiAKIFB5RG9jX1NUUlZBUihtb2R1bGVfZG9jLAogIm1vZHVsZShuYW1lWywgZG9jXSlcblwKQEAgLTQyNSw3ICs0NzcsNyBAQAogICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfd2Vha2xpc3RvZmZzZXQgKi8KICAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2l0ZXIgKi8KICAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2l0ZXJuZXh0ICovCi0gICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9tZXRob2RzICovCisgICAgbW9kdWxlX21ldGhvZHMsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9tZXRob2RzICovCiAgICAgbW9kdWxlX21lbWJlcnMsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9tZW1iZXJzICovCiAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9nZXRzZXQgKi8KICAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2Jhc2UgKi8KZGlmZiAtLWdpdCBhL09iamVjdHMvb2JqZWN0LmMgYi9PYmplY3RzL29iamVjdC5jCmluZGV4IDg0ZWMyZjMuLjY5ZDVmODMgMTAwNjQ0Ci0tLSBhL09iamVjdHMvb2JqZWN0LmMKKysrIGIvT2JqZWN0cy9vYmplY3QuYwpAQCAtMSw1ICsxLDUgQEAKIAotLyogR2VuZXJpYyBvYmplY3Qgb3BlcmF0aW9uczsgYW5kIGltcGxlbWVudGF0aW9uIG9mIE5vbmUgKE5vT2JqZWN0KSAqLworLyogR2VuZXJpYyBvYmplY3Qgb3BlcmF0aW9uczsgYW5kIGltcGxlbWVudGF0aW9uIG9mIE5vbmUgKi8KIAogI2luY2x1ZGUgIlB5dGhvbi5oIgogI2luY2x1ZGUgImZyYW1lb2JqZWN0LmgiCkBAIC0yOSw4ICsyOSw2IEBACiB9CiAjZW5kaWYgLyogUHlfUkVGX0RFQlVHICovCiAKLWludCBQeV9EaXZpc2lvbldhcm5pbmdGbGFnOwotCiAvKiBPYmplY3QgYWxsb2NhdGlvbiByb3V0aW5lcyB1c2VkIGJ5IE5FV09CSiBhbmQgTkVXVkFST0JKIG1hY3Jvcy4KICAgIFRoZXNlIGFyZSB1c2VkIGJ5IHRoZSBpbmRpdmlkdWFsIHJvdXRpbmVzIGZvciBvYmplY3QgY3JlYXRpb24uCiAgICBEbyBub3QgY2FsbCB0aGVtIG90aGVyd2lzZSwgdGhleSBkbyBub3QgaW5pdGlhbGl6ZSB0aGUgb2JqZWN0ISAqLwpAQCAtMjk3LDkgKzI5NSw3IEBACiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBlbHNlIGlmIChQeVVuaWNvZGVfQ2hlY2socykpIHsKICAgICAgICAgICAgICAgICBQeU9iamVjdCAqdDsKLSAgICAgICAgICAgICAgICB0ID0gUHlVbmljb2RlX0VuY29kZVVURjgoUHlVbmljb2RlX0FTX1VOSUNPREUocyksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9HRVRfU0laRShzKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImJhY2tzbGFzaHJlcGxhY2UiKTsKKyAgICAgICAgICAgICAgICB0ID0gUHlVbmljb2RlX0FzRW5jb2RlZFN0cmluZyhzLCAidXRmLTgiLCAiYmFja3NsYXNocmVwbGFjZSIpOwogICAgICAgICAgICAgICAgIGlmICh0ID09IE5VTEwpCiAgICAgICAgICAgICAgICAgICAgIHJldCA9IDA7CiAgICAgICAgICAgICAgICAgZWxzZSB7CkBAIC0zODIsMTMgKzM3OCwxOSBAQAogICAgICAgICByZXR1cm4gUHlVbmljb2RlX0Zyb21Gb3JtYXQoIjwlcyBvYmplY3QgYXQgJXA+IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHYtPm9iX3R5cGUtPnRwX25hbWUsIHYpOwogICAgIHJlcyA9ICgqdi0+b2JfdHlwZS0+dHBfcmVwcikodik7Ci0gICAgaWYgKHJlcyAhPSBOVUxMICYmICFQeVVuaWNvZGVfQ2hlY2socmVzKSkgeworICAgIGlmIChyZXMgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgaWYgKCFQeVVuaWNvZGVfQ2hlY2socmVzKSkgewogICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLAogICAgICAgICAgICAgICAgICAgICAgIl9fcmVwcl9fIHJldHVybmVkIG5vbi1zdHJpbmcgKHR5cGUgJS4yMDBzKSIsCiAgICAgICAgICAgICAgICAgICAgICByZXMtPm9iX3R5cGUtPnRwX25hbWUpOwogICAgICAgICBQeV9ERUNSRUYocmVzKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQorI2lmbmRlZiBQeV9ERUJVRworICAgIGlmIChQeVVuaWNvZGVfUkVBRFkocmVzKSA8IDApCisgICAgICAgIHJldHVybiBOVUxMOworI2VuZGlmCiAgICAgcmV0dXJuIHJlczsKIH0KIApAQCAtNDA3LDYgKzQwOSwxMCBAQAogICAgIGlmICh2ID09IE5VTEwpCiAgICAgICAgIHJldHVybiBQeVVuaWNvZGVfRnJvbVN0cmluZygiPE5VTEw+Iik7CiAgICAgaWYgKFB5VW5pY29kZV9DaGVja0V4YWN0KHYpKSB7CisjaWZuZGVmIFB5X0RFQlVHCisgICAgICAgIGlmIChQeVVuaWNvZGVfUkVBRFkodikgPCAwKQorICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisjZW5kaWYKICAgICAgICAgUHlfSU5DUkVGKHYpOwogICAgICAgICByZXR1cm4gdjsKICAgICB9CkBAIC00MjgsNiArNDM0LDExIEBACiAgICAgICAgIFB5X0RFQ1JFRihyZXMpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CisjaWZuZGVmIFB5X0RFQlVHCisgICAgaWYgKFB5VW5pY29kZV9SRUFEWShyZXMpIDwgMCkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisjZW5kaWYKKyAgICBhc3NlcnQoX1B5VW5pY29kZV9DaGVja0NvbnNpc3RlbmN5KHJlcywgMSkpOwogICAgIHJldHVybiByZXM7CiB9CiAKQEAgLTQ0MSwxMSArNDUyLDcgQEAKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKICAgICAvKiByZXByIGlzIGd1YXJhbnRlZWQgdG8gYmUgYSBQeVVuaWNvZGUgb2JqZWN0IGJ5IFB5T2JqZWN0X1JlcHIgKi8KLSAgICBhc2NpaSA9IFB5VW5pY29kZV9FbmNvZGVBU0NJSSgKLSAgICAgICAgUHlVbmljb2RlX0FTX1VOSUNPREUocmVwciksCi0gICAgICAgIFB5VW5pY29kZV9HRVRfU0laRShyZXByKSwKLSAgICAgICAgImJhY2tzbGFzaHJlcGxhY2UiKTsKLQorICAgIGFzY2lpID0gX1B5VW5pY29kZV9Bc0FTQ0lJU3RyaW5nKHJlcHIsICJiYWNrc2xhc2hyZXBsYWNlIik7CiAgICAgUHlfREVDUkVGKHJlcHIpOwogICAgIGlmIChhc2NpaSA9PSBOVUxMKQogICAgICAgICByZXR1cm4gTlVMTDsKQEAgLTQ2Myw3ICs0NzAsNyBAQAogUHlPYmplY3RfQnl0ZXMoUHlPYmplY3QgKnYpCiB7CiAgICAgUHlPYmplY3QgKnJlc3VsdCwgKmZ1bmM7Ci0gICAgc3RhdGljIFB5T2JqZWN0ICpieXRlc3N0cmluZyA9IE5VTEw7CisgICAgX1B5X0lERU5USUZJRVIoX19ieXRlc19fKTsKIAogICAgIGlmICh2ID09IE5VTEwpCiAgICAgICAgIHJldHVybiBQeUJ5dGVzX0Zyb21TdHJpbmcoIjxOVUxMPiIpOwpAQCAtNDczLDcgKzQ4MCw3IEBACiAgICAgICAgIHJldHVybiB2OwogICAgIH0KIAotICAgIGZ1bmMgPSBfUHlPYmplY3RfTG9va3VwU3BlY2lhbCh2LCAiX19ieXRlc19fIiwgJmJ5dGVzc3RyaW5nKTsKKyAgICBmdW5jID0gX1B5T2JqZWN0X0xvb2t1cFNwZWNpYWwodiwgJlB5SWRfX19ieXRlc19fKTsKICAgICBpZiAoZnVuYyAhPSBOVUxMKSB7CiAgICAgICAgIHJlc3VsdCA9IFB5T2JqZWN0X0NhbGxGdW5jdGlvbk9iakFyZ3MoZnVuYywgTlVMTCk7CiAgICAgICAgIFB5X0RFQ1JFRihmdW5jKTsKQEAgLTc0Nyw2ICs3NTQsMzEgQEAKIH0KIAogUHlfaGFzaF90CitfUHlfSGFzaEJ5dGVzKHVuc2lnbmVkIGNoYXIgKnAsIFB5X3NzaXplX3QgbGVuKQoreworICAgIFB5X3VoYXNoX3QgeDsKKyAgICBQeV9zc2l6ZV90IGk7CisKKyAgICAvKgorICAgICAgV2UgbWFrZSB0aGUgaGFzaCBvZiB0aGUgZW1wdHkgc3RyaW5nIGJlIDAsIHJhdGhlciB0aGFuIHVzaW5nCisgICAgICAocHJlZml4IF4gc3VmZml4KSwgc2luY2UgdGhpcyBzbGlnaHRseSBvYmZ1c2NhdGVzIHRoZSBoYXNoIHNlY3JldAorICAgICovCisgICAgYXNzZXJ0KF9QeV9IYXNoU2VjcmV0X0luaXRpYWxpemVkKTsKKyAgICBpZiAobGVuID09IDApIHsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorICAgIHggPSAoUHlfdWhhc2hfdCkgX1B5X0hhc2hTZWNyZXQucHJlZml4OworICAgIHggXj0gKFB5X3VoYXNoX3QpICpwIDw8IDc7CisgICAgZm9yIChpID0gMDsgaSA8IGxlbjsgaSsrKQorICAgICAgICB4ID0gKF9QeUhBU0hfTVVMVElQTElFUiAqIHgpIF4gKFB5X3VoYXNoX3QpICpwKys7CisgICAgeCBePSAoUHlfdWhhc2hfdCkgbGVuOworICAgIHggXj0gKFB5X3VoYXNoX3QpIF9QeV9IYXNoU2VjcmV0LnN1ZmZpeDsKKyAgICBpZiAoeCA9PSAtMSkKKyAgICAgICAgeCA9IC0yOworICAgIHJldHVybiB4OworfQorCitQeV9oYXNoX3QKIFB5T2JqZWN0X0hhc2hOb3RJbXBsZW1lbnRlZChQeU9iamVjdCAqdikKIHsKICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLCAidW5oYXNoYWJsZSB0eXBlOiAnJS4yMDBzJyIsCkBAIC04MjAsNiArODUyLDYyIEBACiAgICAgcmV0dXJuIHJlczsKIH0KIAoraW50CitfUHlPYmplY3RfSXNBYnN0cmFjdChQeU9iamVjdCAqb2JqKQoreworICAgIGludCByZXM7CisgICAgUHlPYmplY3QqIGlzYWJzdHJhY3Q7CisgICAgX1B5X0lERU5USUZJRVIoX19pc2Fic3RyYWN0bWV0aG9kX18pOworCisgICAgaWYgKG9iaiA9PSBOVUxMKQorICAgICAgICByZXR1cm4gMDsKKworICAgIGlzYWJzdHJhY3QgPSBfUHlPYmplY3RfR2V0QXR0cklkKG9iaiwgJlB5SWRfX19pc2Fic3RyYWN0bWV0aG9kX18pOworICAgIGlmIChpc2Fic3RyYWN0ID09IE5VTEwpIHsKKyAgICAgICAgaWYgKFB5RXJyX0V4Y2VwdGlvbk1hdGNoZXMoUHlFeGNfQXR0cmlidXRlRXJyb3IpKSB7CisgICAgICAgICAgICBQeUVycl9DbGVhcigpOworICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKyAgICByZXMgPSBQeU9iamVjdF9Jc1RydWUoaXNhYnN0cmFjdCk7CisgICAgUHlfREVDUkVGKGlzYWJzdHJhY3QpOworICAgIHJldHVybiByZXM7Cit9CisKK1B5T2JqZWN0ICoKK19QeU9iamVjdF9HZXRBdHRySWQoUHlPYmplY3QgKnYsIF9QeV9JZGVudGlmaWVyICpuYW1lKQoreworICAgIFB5T2JqZWN0ICpyZXN1bHQ7CisgICAgUHlPYmplY3QgKm9uYW1lID0gX1B5VW5pY29kZV9Gcm9tSWQobmFtZSk7IC8qIGJvcnJvd2VkICovCisgICAgaWYgKCFvbmFtZSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgcmVzdWx0ID0gUHlPYmplY3RfR2V0QXR0cih2LCBvbmFtZSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKworaW50CitfUHlPYmplY3RfSGFzQXR0cklkKFB5T2JqZWN0ICp2LCBfUHlfSWRlbnRpZmllciAqbmFtZSkKK3sKKyAgICBpbnQgcmVzdWx0OworICAgIFB5T2JqZWN0ICpvbmFtZSA9IF9QeVVuaWNvZGVfRnJvbUlkKG5hbWUpOyAvKiBib3Jyb3dlZCAqLworICAgIGlmICghb25hbWUpCisgICAgICAgIHJldHVybiAtMTsKKyAgICByZXN1bHQgPSBQeU9iamVjdF9IYXNBdHRyKHYsIG9uYW1lKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCitpbnQKK19QeU9iamVjdF9TZXRBdHRySWQoUHlPYmplY3QgKnYsIF9QeV9JZGVudGlmaWVyICpuYW1lLCBQeU9iamVjdCAqdykKK3sKKyAgICBpbnQgcmVzdWx0OworICAgIFB5T2JqZWN0ICpvbmFtZSA9IF9QeVVuaWNvZGVfRnJvbUlkKG5hbWUpOyAvKiBib3Jyb3dlZCAqLworICAgIGlmICghb25hbWUpCisgICAgICAgIHJldHVybiAtMTsKKyAgICByZXN1bHQgPSBQeU9iamVjdF9TZXRBdHRyKHYsIG9uYW1lLCB3KTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCiBQeU9iamVjdCAqCiBQeU9iamVjdF9HZXRBdHRyKFB5T2JqZWN0ICp2LCBQeU9iamVjdCAqbmFtZSkKIHsKQEAgLTk4Niw3ICsxMDc0LDYgQEAKICAgICAgICAgZiA9IGRlc2NyLT5vYl90eXBlLT50cF9kZXNjcl9nZXQ7CiAgICAgICAgIGlmIChmICE9IE5VTEwgJiYgUHlEZXNjcl9Jc0RhdGEoZGVzY3IpKSB7CiAgICAgICAgICAgICByZXMgPSBmKGRlc2NyLCBvYmosIChQeU9iamVjdCAqKW9iai0+b2JfdHlwZSk7Ci0gICAgICAgICAgICBQeV9ERUNSRUYoZGVzY3IpOwogICAgICAgICAgICAgZ290byBkb25lOwogICAgICAgICB9CiAgICAgfQpAQCAtMTAxNyw3ICsxMTA0LDYgQEAKICAgICAgICAgcmVzID0gUHlEaWN0X0dldEl0ZW0oZGljdCwgbmFtZSk7CiAgICAgICAgIGlmIChyZXMgIT0gTlVMTCkgewogICAgICAgICAgICAgUHlfSU5DUkVGKHJlcyk7Ci0gICAgICAgICAgICBQeV9YREVDUkVGKGRlc2NyKTsKICAgICAgICAgICAgIFB5X0RFQ1JFRihkaWN0KTsKICAgICAgICAgICAgIGdvdG8gZG9uZTsKICAgICAgICAgfQpAQCAtMTAyNiwxMyArMTExMiwxMiBAQAogCiAgICAgaWYgKGYgIT0gTlVMTCkgewogICAgICAgICByZXMgPSBmKGRlc2NyLCBvYmosIChQeU9iamVjdCAqKVB5X1RZUEUob2JqKSk7Ci0gICAgICAgIFB5X0RFQ1JFRihkZXNjcik7CiAgICAgICAgIGdvdG8gZG9uZTsKICAgICB9CiAKICAgICBpZiAoZGVzY3IgIT0gTlVMTCkgewogICAgICAgICByZXMgPSBkZXNjcjsKLSAgICAgICAgLyogZGVzY3Igd2FzIGFscmVhZHkgaW5jcmVmZWQgYWJvdmUgKi8KKyAgICAgICAgZGVzY3IgPSBOVUxMOwogICAgICAgICBnb3RvIGRvbmU7CiAgICAgfQogCkBAIC0xMDQwLDYgKzExMjUsNyBAQAogICAgICAgICAgICAgICAgICAiJyUuNTBzJyBvYmplY3QgaGFzIG5vIGF0dHJpYnV0ZSAnJVUnIiwKICAgICAgICAgICAgICAgICAgdHAtPnRwX25hbWUsIG5hbWUpOwogICBkb25lOgorICAgIFB5X1hERUNSRUYoZGVzY3IpOwogICAgIFB5X0RFQ1JFRihuYW1lKTsKICAgICByZXR1cm4gcmVzOwogfQpAQCAtMTA2NiwxNSArMTE1MiwxNSBAQAogICAgICAgICAgICAgICAgICAgICAgbmFtZS0+b2JfdHlwZS0+dHBfbmFtZSk7CiAgICAgICAgIHJldHVybiAtMTsKICAgICB9Ci0gICAgZWxzZQotICAgICAgICBQeV9JTkNSRUYobmFtZSk7CiAKLSAgICBpZiAodHAtPnRwX2RpY3QgPT0gTlVMTCkgewotICAgICAgICBpZiAoUHlUeXBlX1JlYWR5KHRwKSA8IDApCi0gICAgICAgICAgICBnb3RvIGRvbmU7Ci0gICAgfQorICAgIGlmICh0cC0+dHBfZGljdCA9PSBOVUxMICYmIFB5VHlwZV9SZWFkeSh0cCkgPCAwKQorICAgICAgICByZXR1cm4gLTE7CisKKyAgICBQeV9JTkNSRUYobmFtZSk7CiAKICAgICBkZXNjciA9IF9QeVR5cGVfTG9va3VwKHRwLCBuYW1lKTsKKyAgICBQeV9YSU5DUkVGKGRlc2NyKTsKKwogICAgIGYgPSBOVUxMOwogICAgIGlmIChkZXNjciAhPSBOVUxMKSB7CiAgICAgICAgIGYgPSBkZXNjci0+b2JfdHlwZS0+dHBfZGVzY3Jfc2V0OwpAQCAtMTEwMiw5ICsxMTg4LDkgQEAKICAgICAgICAgICAgIHJlcyA9IFB5RGljdF9EZWxJdGVtKGRpY3QsIG5hbWUpOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICByZXMgPSBQeURpY3RfU2V0SXRlbShkaWN0LCBuYW1lLCB2YWx1ZSk7CisgICAgICAgIFB5X0RFQ1JFRihkaWN0KTsKICAgICAgICAgaWYgKHJlcyA8IDAgJiYgUHlFcnJfRXhjZXB0aW9uTWF0Y2hlcyhQeUV4Y19LZXlFcnJvcikpCiAgICAgICAgICAgICBQeUVycl9TZXRPYmplY3QoUHlFeGNfQXR0cmlidXRlRXJyb3IsIG5hbWUpOwotICAgICAgICBQeV9ERUNSRUYoZGljdCk7CiAgICAgICAgIGdvdG8gZG9uZTsKICAgICB9CiAKQEAgLTExMjQsNiArMTIxMCw3IEBACiAgICAgICAgICAgICAgICAgICInJS41MHMnIG9iamVjdCBhdHRyaWJ1dGUgJyVVJyBpcyByZWFkLW9ubHkiLAogICAgICAgICAgICAgICAgICB0cC0+dHBfbmFtZSwgbmFtZSk7CiAgIGRvbmU6CisgICAgUHlfWERFQ1JFRihkZXNjcik7CiAgICAgUHlfREVDUkVGKG5hbWUpOwogICAgIHJldHVybiByZXM7CiB9CkBAIC0xMTM0LDYgKzEyMjEsNDggQEAKICAgICByZXR1cm4gX1B5T2JqZWN0X0dlbmVyaWNTZXRBdHRyV2l0aERpY3Qob2JqLCBuYW1lLCB2YWx1ZSwgTlVMTCk7CiB9CiAKK1B5T2JqZWN0ICoKK1B5T2JqZWN0X0dlbmVyaWNHZXREaWN0KFB5T2JqZWN0ICpvYmosIHZvaWQgKmNvbnRleHQpCit7CisgICAgUHlPYmplY3QgKmRpY3QsICoqZGljdHB0ciA9IF9QeU9iamVjdF9HZXREaWN0UHRyKG9iaik7CisgICAgaWYgKGRpY3RwdHIgPT0gTlVMTCkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfQXR0cmlidXRlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAiVGhpcyBvYmplY3QgaGFzIG5vIF9fZGljdF9fIik7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKyAgICBkaWN0ID0gKmRpY3RwdHI7CisgICAgaWYgKGRpY3QgPT0gTlVMTCkKKyAgICAgICAgKmRpY3RwdHIgPSBkaWN0ID0gUHlEaWN0X05ldygpOworICAgIFB5X1hJTkNSRUYoZGljdCk7CisgICAgcmV0dXJuIGRpY3Q7Cit9CisKK2ludAorUHlPYmplY3RfR2VuZXJpY1NldERpY3QoUHlPYmplY3QgKm9iaiwgUHlPYmplY3QgKnZhbHVlLCB2b2lkICpjb250ZXh0KQoreworICAgIFB5T2JqZWN0ICpkaWN0LCAqKmRpY3RwdHIgPSBfUHlPYmplY3RfR2V0RGljdFB0cihvYmopOworICAgIGlmIChkaWN0cHRyID09IE5VTEwpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX0F0dHJpYnV0ZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgIlRoaXMgb2JqZWN0IGhhcyBubyBfX2RpY3RfXyIpOworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorICAgIGlmICh2YWx1ZSA9PSBOVUxMKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsICJjYW5ub3QgZGVsZXRlIF9fZGljdF9fIik7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisgICAgaWYgKCFQeURpY3RfQ2hlY2sodmFsdWUpKSB7CisgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAiX19kaWN0X18gbXVzdCBiZSBzZXQgdG8gYSBkaWN0aW9uYXJ5LCAiCisgICAgICAgICAgICAgICAgICAgICAibm90IGEgJyUuMjAwcyciLCBQeV9UWVBFKHZhbHVlKS0+dHBfbmFtZSk7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisgICAgZGljdCA9ICpkaWN0cHRyOworICAgIFB5X1hJTkNSRUYodmFsdWUpOworICAgICpkaWN0cHRyID0gdmFsdWU7CisgICAgUHlfWERFQ1JFRihkaWN0KTsKKyAgICByZXR1cm4gMDsKK30KKwogCiAvKiBUZXN0IGEgdmFsdWUgdXNlZCBhcyBjb25kaXRpb24sIGUuZy4sIGluIGEgZm9yIG9yIGlmIHN0YXRlbWVudC4KICAgIFJldHVybiAtMSBpZiBhbiBlcnJvciBvY2N1cnJlZCAqLwpAQCAtMTE4Niw2NiArMTMxNSw2IEBACiAgICAgcmV0dXJuIHgtPm9iX3R5cGUtPnRwX2NhbGwgIT0gTlVMTDsKIH0KIAotLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBQeU9iamVjdF9EaXIoKSBoZWxwZXJzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KLQotLyogSGVscGVyIGZvciBQeU9iamVjdF9EaXIuCi0gICBNZXJnZSB0aGUgX19kaWN0X18gb2YgYWNsYXNzIGludG8gZGljdCwgYW5kIHJlY3Vyc2l2ZWx5IGFsc28gYWxsCi0gICB0aGUgX19kaWN0X19zIG9mIGFjbGFzcydzIGJhc2UgY2xhc3Nlcy4gIFRoZSBvcmRlciBvZiBtZXJnaW5nIGlzbid0Ci0gICBkZWZpbmVkLCBhcyBpdCdzIGV4cGVjdGVkIHRoYXQgb25seSB0aGUgZmluYWwgc2V0IG9mIGRpY3Qga2V5cyBpcwotICAgaW50ZXJlc3RpbmcuCi0gICBSZXR1cm4gMCBvbiBzdWNjZXNzLCAtMSBvbiBlcnJvci4KLSovCi0KLXN0YXRpYyBpbnQKLW1lcmdlX2NsYXNzX2RpY3QoUHlPYmplY3QqIGRpY3QsIFB5T2JqZWN0KiBhY2xhc3MpCi17Ci0gICAgUHlPYmplY3QgKmNsYXNzZGljdDsKLSAgICBQeU9iamVjdCAqYmFzZXM7Ci0KLSAgICBhc3NlcnQoUHlEaWN0X0NoZWNrKGRpY3QpKTsKLSAgICBhc3NlcnQoYWNsYXNzKTsKLQotICAgIC8qIE1lcmdlIGluIHRoZSB0eXBlJ3MgZGljdCAoaWYgYW55KS4gKi8KLSAgICBjbGFzc2RpY3QgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKGFjbGFzcywgIl9fZGljdF9fIik7Ci0gICAgaWYgKGNsYXNzZGljdCA9PSBOVUxMKQotICAgICAgICBQeUVycl9DbGVhcigpOwotICAgIGVsc2UgewotICAgICAgICBpbnQgc3RhdHVzID0gUHlEaWN0X1VwZGF0ZShkaWN0LCBjbGFzc2RpY3QpOwotICAgICAgICBQeV9ERUNSRUYoY2xhc3NkaWN0KTsKLSAgICAgICAgaWYgKHN0YXR1cyA8IDApCi0gICAgICAgICAgICByZXR1cm4gLTE7Ci0gICAgfQotCi0gICAgLyogUmVjdXJzaXZlbHkgbWVyZ2UgaW4gdGhlIGJhc2UgdHlwZXMnIChpZiBhbnkpIGRpY3RzLiAqLwotICAgIGJhc2VzID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyhhY2xhc3MsICJfX2Jhc2VzX18iKTsKLSAgICBpZiAoYmFzZXMgPT0gTlVMTCkKLSAgICAgICAgUHlFcnJfQ2xlYXIoKTsKLSAgICBlbHNlIHsKLSAgICAgICAgLyogV2UgaGF2ZSBubyBndWFyYW50ZWUgdGhhdCBiYXNlcyBpcyBhIHJlYWwgdHVwbGUgKi8KLSAgICAgICAgUHlfc3NpemVfdCBpLCBuOwotICAgICAgICBuID0gUHlTZXF1ZW5jZV9TaXplKGJhc2VzKTsgLyogVGhpcyBiZXR0ZXIgYmUgcmlnaHQgKi8KLSAgICAgICAgaWYgKG4gPCAwKQotICAgICAgICAgICAgUHlFcnJfQ2xlYXIoKTsKLSAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgbjsgaSsrKSB7Ci0gICAgICAgICAgICAgICAgaW50IHN0YXR1czsKLSAgICAgICAgICAgICAgICBQeU9iamVjdCAqYmFzZSA9IFB5U2VxdWVuY2VfR2V0SXRlbShiYXNlcywgaSk7Ci0gICAgICAgICAgICAgICAgaWYgKGJhc2UgPT0gTlVMTCkgewotICAgICAgICAgICAgICAgICAgICBQeV9ERUNSRUYoYmFzZXMpOwotICAgICAgICAgICAgICAgICAgICByZXR1cm4gLTE7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIHN0YXR1cyA9IG1lcmdlX2NsYXNzX2RpY3QoZGljdCwgYmFzZSk7Ci0gICAgICAgICAgICAgICAgUHlfREVDUkVGKGJhc2UpOwotICAgICAgICAgICAgICAgIGlmIChzdGF0dXMgPCAwKSB7Ci0gICAgICAgICAgICAgICAgICAgIFB5X0RFQ1JFRihiYXNlcyk7Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiAtMTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICAgICAgUHlfREVDUkVGKGJhc2VzKTsKLSAgICB9Ci0gICAgcmV0dXJuIDA7Ci19CiAKIC8qIEhlbHBlciBmb3IgUHlPYmplY3RfRGlyIHdpdGhvdXQgYXJndW1lbnRzOiByZXR1cm5zIHRoZSBsb2NhbCBzY29wZS4gKi8KIHN0YXRpYyBQeU9iamVjdCAqCkBAIC0xMjY5LDE0MCArMTMzOCw0MyBAQAogICAgICAgICBQeV9ERUNSRUYobmFtZXMpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CisgICAgaWYgKFB5TGlzdF9Tb3J0KG5hbWVzKSkgeworICAgICAgICBQeV9ERUNSRUYobmFtZXMpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CiAgICAgLyogdGhlIGxvY2FscyBkb24ndCBuZWVkIHRvIGJlIERFQ1JFRidkICovCiAgICAgcmV0dXJuIG5hbWVzOwogfQogCi0vKiBIZWxwZXIgZm9yIFB5T2JqZWN0X0RpciBvZiB0eXBlIG9iamVjdHM6IHJldHVybnMgX19kaWN0X18gYW5kIF9fYmFzZXNfXy4KLSAgIFdlIGRlbGliZXJhdGVseSBkb24ndCBzdWNrIHVwIGl0cyBfX2NsYXNzX18sIGFzIG1ldGhvZHMgYmVsb25naW5nIHRvIHRoZQotICAgbWV0YWNsYXNzIHdvdWxkIHByb2JhYmx5IGJlIG1vcmUgY29uZnVzaW5nIHRoYW4gaGVscGZ1bC4KLSovCi1zdGF0aWMgUHlPYmplY3QgKgotX3NwZWNpYWxpemVkX2Rpcl90eXBlKFB5T2JqZWN0ICpvYmopCi17Ci0gICAgUHlPYmplY3QgKnJlc3VsdCA9IE5VTEw7Ci0gICAgUHlPYmplY3QgKmRpY3QgPSBQeURpY3RfTmV3KCk7Ci0KLSAgICBpZiAoZGljdCAhPSBOVUxMICYmIG1lcmdlX2NsYXNzX2RpY3QoZGljdCwgb2JqKSA9PSAwKQotICAgICAgICByZXN1bHQgPSBQeURpY3RfS2V5cyhkaWN0KTsKLQotICAgIFB5X1hERUNSRUYoZGljdCk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogSGVscGVyIGZvciBQeU9iamVjdF9EaXIgb2YgbW9kdWxlIG9iamVjdHM6IHJldHVybnMgdGhlIG1vZHVsZSdzIF9fZGljdF9fLiAqLwotc3RhdGljIFB5T2JqZWN0ICoKLV9zcGVjaWFsaXplZF9kaXJfbW9kdWxlKFB5T2JqZWN0ICpvYmopCi17Ci0gICAgUHlPYmplY3QgKnJlc3VsdCA9IE5VTEw7Ci0gICAgUHlPYmplY3QgKmRpY3QgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKG9iaiwgIl9fZGljdF9fIik7Ci0KLSAgICBpZiAoZGljdCAhPSBOVUxMKSB7Ci0gICAgICAgIGlmIChQeURpY3RfQ2hlY2soZGljdCkpCi0gICAgICAgICAgICByZXN1bHQgPSBQeURpY3RfS2V5cyhkaWN0KTsKLSAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICBjb25zdCBjaGFyICpuYW1lID0gUHlNb2R1bGVfR2V0TmFtZShvYmopOwotICAgICAgICAgICAgaWYgKG5hbWUpCi0gICAgICAgICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1R5cGVFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiUuMjAwcy5fX2RpY3RfXyBpcyBub3QgYSBkaWN0aW9uYXJ5IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZSk7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBQeV9YREVDUkVGKGRpY3QpOwotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLS8qIEhlbHBlciBmb3IgUHlPYmplY3RfRGlyIG9mIGdlbmVyaWMgb2JqZWN0czogcmV0dXJucyBfX2RpY3RfXywgX19jbGFzc19fLAotICAgYW5kIHJlY3Vyc2l2ZWx5IHVwIHRoZSBfX2NsYXNzX18uX19iYXNlc19fIGNoYWluLgotKi8KLXN0YXRpYyBQeU9iamVjdCAqCi1fZ2VuZXJpY19kaXIoUHlPYmplY3QgKm9iaikKLXsKLSAgICBQeU9iamVjdCAqcmVzdWx0ID0gTlVMTDsKLSAgICBQeU9iamVjdCAqZGljdCA9IE5VTEw7Ci0gICAgUHlPYmplY3QgKml0c2NsYXNzID0gTlVMTDsKLQotICAgIC8qIEdldCBfX2RpY3RfXyAod2hpY2ggbWF5IG9yIG1heSBub3QgYmUgYSByZWFsIGRpY3QuLi4pICovCi0gICAgZGljdCA9IFB5T2JqZWN0X0dldEF0dHJTdHJpbmcob2JqLCAiX19kaWN0X18iKTsKLSAgICBpZiAoZGljdCA9PSBOVUxMKSB7Ci0gICAgICAgIFB5RXJyX0NsZWFyKCk7Ci0gICAgICAgIGRpY3QgPSBQeURpY3RfTmV3KCk7Ci0gICAgfQotICAgIGVsc2UgaWYgKCFQeURpY3RfQ2hlY2soZGljdCkpIHsKLSAgICAgICAgUHlfREVDUkVGKGRpY3QpOwotICAgICAgICBkaWN0ID0gUHlEaWN0X05ldygpOwotICAgIH0KLSAgICBlbHNlIHsKLSAgICAgICAgLyogQ29weSBfX2RpY3RfXyB0byBhdm9pZCBtdXRhdGluZyBpdC4gKi8KLSAgICAgICAgUHlPYmplY3QgKnRlbXAgPSBQeURpY3RfQ29weShkaWN0KTsKLSAgICAgICAgUHlfREVDUkVGKGRpY3QpOwotICAgICAgICBkaWN0ID0gdGVtcDsKLSAgICB9Ci0KLSAgICBpZiAoZGljdCA9PSBOVUxMKQotICAgICAgICBnb3RvIGVycm9yOwotCi0gICAgLyogTWVyZ2UgaW4gYXR0cnMgcmVhY2hhYmxlIGZyb20gaXRzIGNsYXNzLiAqLwotICAgIGl0c2NsYXNzID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyhvYmosICJfX2NsYXNzX18iKTsKLSAgICBpZiAoaXRzY2xhc3MgPT0gTlVMTCkKLSAgICAgICAgLyogWFhYKHRvbWVyKTogUGVyaGFwcyBmYWxsIGJhY2sgdG8gb2JqLT5vYl90eXBlIGlmIG5vCi0gICAgICAgICAgICAgICAgICAgICAgIF9fY2xhc3NfXyBleGlzdHM/ICovCi0gICAgICAgIFB5RXJyX0NsZWFyKCk7Ci0gICAgZWxzZSB7Ci0gICAgICAgIGlmIChtZXJnZV9jbGFzc19kaWN0KGRpY3QsIGl0c2NsYXNzKSAhPSAwKQotICAgICAgICAgICAgZ290byBlcnJvcjsKLSAgICB9Ci0KLSAgICByZXN1bHQgPSBQeURpY3RfS2V5cyhkaWN0KTsKLSAgICAvKiBmYWxsIHRocm91Z2ggKi8KLWVycm9yOgotICAgIFB5X1hERUNSRUYoaXRzY2xhc3MpOwotICAgIFB5X1hERUNSRUYoZGljdCk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotLyogSGVscGVyIGZvciBQeU9iamVjdF9EaXI6IG9iamVjdCBpbnRyb3NwZWN0aW9uLgotICAgVGhpcyBjYWxscyBvbmUgb2YgdGhlIGFib3ZlIHNwZWNpYWxpemVkIHZlcnNpb25zIGlmIG5vIF9fZGlyX18gbWV0aG9kCi0gICBleGlzdHMuICovCisvKiBIZWxwZXIgZm9yIFB5T2JqZWN0X0Rpcjogb2JqZWN0IGludHJvc3BlY3Rpb24uICovCiBzdGF0aWMgUHlPYmplY3QgKgogX2Rpcl9vYmplY3QoUHlPYmplY3QgKm9iaikKIHsKLSAgICBQeU9iamVjdCAqcmVzdWx0ID0gTlVMTDsKLSAgICBzdGF0aWMgUHlPYmplY3QgKmRpcl9zdHIgPSBOVUxMOwotICAgIFB5T2JqZWN0ICpkaXJmdW5jID0gX1B5T2JqZWN0X0xvb2t1cFNwZWNpYWwob2JqLCAiX19kaXJfXyIsICZkaXJfc3RyKTsKKyAgICBQeU9iamVjdCAqcmVzdWx0LCAqc29ydGVkOworICAgIF9QeV9JREVOVElGSUVSKF9fZGlyX18pOworICAgIFB5T2JqZWN0ICpkaXJmdW5jID0gX1B5T2JqZWN0X0xvb2t1cFNwZWNpYWwob2JqLCAmUHlJZF9fX2Rpcl9fKTsKIAogICAgIGFzc2VydChvYmopOwogICAgIGlmIChkaXJmdW5jID09IE5VTEwpIHsKLSAgICAgICAgaWYgKFB5RXJyX09jY3VycmVkKCkpCi0gICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgLyogdXNlIGRlZmF1bHQgaW1wbGVtZW50YXRpb24gKi8KLSAgICAgICAgaWYgKFB5TW9kdWxlX0NoZWNrKG9iaikpCi0gICAgICAgICAgICByZXN1bHQgPSBfc3BlY2lhbGl6ZWRfZGlyX21vZHVsZShvYmopOwotICAgICAgICBlbHNlIGlmIChQeVR5cGVfQ2hlY2sob2JqKSkKLSAgICAgICAgICAgIHJlc3VsdCA9IF9zcGVjaWFsaXplZF9kaXJfdHlwZShvYmopOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICByZXN1bHQgPSBfZ2VuZXJpY19kaXIob2JqKTsKKyAgICAgICAgaWYgKCFQeUVycl9PY2N1cnJlZCgpKQorICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgIm9iamVjdCBkb2VzIG5vdCBwcm92aWRlIF9fZGlyX18iKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQotICAgIGVsc2UgewotICAgICAgICAvKiB1c2UgX19kaXJfXyAqLwotICAgICAgICByZXN1bHQgPSBQeU9iamVjdF9DYWxsRnVuY3Rpb25PYmpBcmdzKGRpcmZ1bmMsIE5VTEwpOwotICAgICAgICBQeV9ERUNSRUYoZGlyZnVuYyk7Ci0gICAgICAgIGlmIChyZXN1bHQgPT0gTlVMTCkKLSAgICAgICAgICAgIHJldHVybiBOVUxMOwotCi0gICAgICAgIC8qIHJlc3VsdCBtdXN0IGJlIGEgbGlzdCAqLwotICAgICAgICAvKiBYWFgoZ2JyYW5kbCk6IGNvdWxkIGFsc28gY2hlY2sgaWYgYWxsIGl0ZW1zIGFyZSBzdHJpbmdzICovCi0gICAgICAgIGlmICghUHlMaXN0X0NoZWNrKHJlc3VsdCkpIHsKLSAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIl9fZGlyX18oKSBtdXN0IHJldHVybiBhIGxpc3QsIG5vdCAlLjIwMHMiLAotICAgICAgICAgICAgICAgICAgICAgICAgIFB5X1RZUEUocmVzdWx0KS0+dHBfbmFtZSk7Ci0gICAgICAgICAgICBQeV9ERUNSRUYocmVzdWx0KTsKLSAgICAgICAgICAgIHJlc3VsdCA9IE5VTEw7Ci0gICAgICAgIH0KKyAgICAvKiB1c2UgX19kaXJfXyAqLworICAgIHJlc3VsdCA9IFB5T2JqZWN0X0NhbGxGdW5jdGlvbk9iakFyZ3MoZGlyZnVuYywgTlVMTCk7CisgICAgUHlfREVDUkVGKGRpcmZ1bmMpOworICAgIGlmIChyZXN1bHQgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgLyogcmV0dXJuIHNvcnRlZChyZXN1bHQpICovCisgICAgc29ydGVkID0gUHlTZXF1ZW5jZV9MaXN0KHJlc3VsdCk7CisgICAgUHlfREVDUkVGKHJlc3VsdCk7CisgICAgaWYgKHNvcnRlZCA9PSBOVUxMKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBpZiAoUHlMaXN0X1NvcnQoc29ydGVkKSkgeworICAgICAgICBQeV9ERUNSRUYoc29ydGVkKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQotCi0gICAgcmV0dXJuIHJlc3VsdDsKKyAgICByZXR1cm4gc29ydGVkOwogfQogCiAvKiBJbXBsZW1lbnRhdGlvbiBvZiBkaXIoKSAtLSBpZiBvYmogaXMgTlVMTCwgcmV0dXJucyB0aGUgbmFtZXMgaW4gdGhlIGN1cnJlbnQKQEAgLTE0MTIsMzEgKzEzODQsMTMgQEAKIFB5T2JqZWN0ICoKIFB5T2JqZWN0X0RpcihQeU9iamVjdCAqb2JqKQogewotICAgIFB5T2JqZWN0ICogcmVzdWx0OwotCi0gICAgaWYgKG9iaiA9PSBOVUxMKQotICAgICAgICAvKiBubyBvYmplY3QgLS0gaW50cm9zcGVjdCB0aGUgbG9jYWxzICovCi0gICAgICAgIHJlc3VsdCA9IF9kaXJfbG9jYWxzKCk7Ci0gICAgZWxzZQotICAgICAgICAvKiBvYmplY3QgLS0gaW50cm9zcGVjdCB0aGUgb2JqZWN0ICovCi0gICAgICAgIHJlc3VsdCA9IF9kaXJfb2JqZWN0KG9iaik7Ci0KLSAgICBhc3NlcnQocmVzdWx0ID09IE5VTEwgfHwgUHlMaXN0X0NoZWNrKHJlc3VsdCkpOwotCi0gICAgaWYgKHJlc3VsdCAhPSBOVUxMICYmIFB5TGlzdF9Tb3J0KHJlc3VsdCkgIT0gMCkgewotICAgICAgICAvKiBzb3J0aW5nIHRoZSBsaXN0IGZhaWxlZCAqLwotICAgICAgICBQeV9ERUNSRUYocmVzdWx0KTsKLSAgICAgICAgcmVzdWx0ID0gTlVMTDsKLSAgICB9Ci0KLSAgICByZXR1cm4gcmVzdWx0OworICAgIHJldHVybiAob2JqID09IE5VTEwpID8gX2Rpcl9sb2NhbHMoKSA6IF9kaXJfb2JqZWN0KG9iaik7CiB9CiAKIC8qCi1Ob09iamVjdCBpcyB1c2FibGUgYXMgYSBub24tTlVMTCB1bmRlZmluZWQgdmFsdWUsIHVzZWQgYnkgdGhlIG1hY3JvIE5vbmUuCitOb25lIGlzIGEgbm9uLU5VTEwgdW5kZWZpbmVkIHZhbHVlLgogVGhlcmUgaXMgKGFuZCBzaG91bGQgYmUhKSBubyB3YXkgdG8gY3JlYXRlIG90aGVyIG9iamVjdHMgb2YgdGhpcyB0eXBlLAogc28gdGhlcmUgaXMgZXhhY3RseSBvbmUgKHdoaWNoIGlzIGluZGVzdHJ1Y3RpYmxlLCBieSB0aGUgd2F5KS4KLShYWFggVGhpcyB0eXBlIGFuZCB0aGUgdHlwZSBvZiBOb3RJbXBsZW1lbnRlZCBiZWxvdyBzaG91bGQgYmUgdW5pZmllZC4pCiAqLwogCiAvKiBBUkdTVVNFRCAqLwpAQCAtMTQ1Niw2ICsxNDEwLDU4IEBACiAgICAgUHlfRmF0YWxFcnJvcigiZGVhbGxvY2F0aW5nIE5vbmUiKTsKIH0KIAorc3RhdGljIFB5T2JqZWN0ICoKK25vbmVfbmV3KFB5VHlwZU9iamVjdCAqdHlwZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCit7CisgICAgaWYgKFB5VHVwbGVfR0VUX1NJWkUoYXJncykgfHwgKGt3YXJncyAmJiBQeURpY3RfU2l6ZShrd2FyZ3MpKSkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCAiTm9uZVR5cGUgdGFrZXMgbm8gYXJndW1lbnRzIik7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKyAgICBQeV9SRVRVUk5fTk9ORTsKK30KKworc3RhdGljIGludAorbm9uZV9ib29sKFB5T2JqZWN0ICp2KQoreworICAgIHJldHVybiAwOworfQorCitzdGF0aWMgUHlOdW1iZXJNZXRob2RzIG5vbmVfYXNfbnVtYmVyID0geworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBuYl9hZGQgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyogbmJfc3VidHJhY3QgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyogbmJfbXVsdGlwbHkgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyogbmJfcmVtYWluZGVyICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG5iX2Rpdm1vZCAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBuYl9wb3dlciAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBuYl9uZWdhdGl2ZSAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBuYl9wb3NpdGl2ZSAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBuYl9hYnNvbHV0ZSAqLworICAgIChpbnF1aXJ5KW5vbmVfYm9vbCwgICAgICAgICAvKiBuYl9ib29sICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG5iX2ludmVydCAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBuYl9sc2hpZnQgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyogbmJfcnNoaWZ0ICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG5iX2FuZCAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBuYl94b3IgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyogbmJfb3IgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyogbmJfaW50ICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG5iX3Jlc2VydmVkICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG5iX2Zsb2F0ICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG5iX2lucGxhY2VfYWRkICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG5iX2lucGxhY2Vfc3VidHJhY3QgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyogbmJfaW5wbGFjZV9tdWx0aXBseSAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBuYl9pbnBsYWNlX3JlbWFpbmRlciAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBuYl9pbnBsYWNlX3Bvd2VyICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG5iX2lucGxhY2VfbHNoaWZ0ICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG5iX2lucGxhY2VfcnNoaWZ0ICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG5iX2lucGxhY2VfYW5kICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG5iX2lucGxhY2VfeG9yICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG5iX2lucGxhY2Vfb3IgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyogbmJfZmxvb3JfZGl2aWRlICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG5iX3RydWVfZGl2aWRlICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG5iX2lucGxhY2VfZmxvb3JfZGl2aWRlICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG5iX2lucGxhY2VfdHJ1ZV9kaXZpZGUgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLyogbmJfaW5kZXggKi8KK307CiAKIHN0YXRpYyBQeVR5cGVPYmplY3QgUHlOb25lX1R5cGUgPSB7CiAgICAgUHlWYXJPYmplY3RfSEVBRF9JTklUKCZQeVR5cGVfVHlwZSwgMCkKQEAgLTE0NjgsMTAgKzE0NzQsMzQgQEAKICAgICAwLCAgICAgICAgICAgICAgICAgIC8qdHBfc2V0YXR0ciovCiAgICAgMCwgICAgICAgICAgICAgICAgICAvKnRwX3Jlc2VydmVkKi8KICAgICBub25lX3JlcHIsICAgICAgICAgIC8qdHBfcmVwciovCi0gICAgMCwgICAgICAgICAgICAgICAgICAvKnRwX2FzX251bWJlciovCisgICAgJm5vbmVfYXNfbnVtYmVyLCAgICAvKnRwX2FzX251bWJlciovCiAgICAgMCwgICAgICAgICAgICAgICAgICAvKnRwX2FzX3NlcXVlbmNlKi8KICAgICAwLCAgICAgICAgICAgICAgICAgIC8qdHBfYXNfbWFwcGluZyovCiAgICAgMCwgICAgICAgICAgICAgICAgICAvKnRwX2hhc2ggKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgIC8qdHBfY2FsbCAqLworICAgIDAsICAgICAgICAgICAgICAgICAgLyp0cF9zdHIgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgIC8qdHBfZ2V0YXR0cm8gKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgIC8qdHBfc2V0YXR0cm8gKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgIC8qdHBfYXNfYnVmZmVyICovCisgICAgUHlfVFBGTEFHU19ERUZBVUxULCAvKnRwX2ZsYWdzICovCisgICAgMCwgICAgICAgICAgICAgICAgICAvKnRwX2RvYyAqLworICAgIDAsICAgICAgICAgICAgICAgICAgLyp0cF90cmF2ZXJzZSAqLworICAgIDAsICAgICAgICAgICAgICAgICAgLyp0cF9jbGVhciAqLworICAgIDAsICAgICAgICAgICAgICAgICAgLyp0cF9yaWNoY29tcGFyZSAqLworICAgIDAsICAgICAgICAgICAgICAgICAgLyp0cF93ZWFrbGlzdG9mZnNldCAqLworICAgIDAsICAgICAgICAgICAgICAgICAgLyp0cF9pdGVyICovCisgICAgMCwgICAgICAgICAgICAgICAgICAvKnRwX2l0ZXJuZXh0ICovCisgICAgMCwgICAgICAgICAgICAgICAgICAvKnRwX21ldGhvZHMgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgIC8qdHBfbWVtYmVycyAqLworICAgIDAsICAgICAgICAgICAgICAgICAgLyp0cF9nZXRzZXQgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgIC8qdHBfYmFzZSAqLworICAgIDAsICAgICAgICAgICAgICAgICAgLyp0cF9kaWN0ICovCisgICAgMCwgICAgICAgICAgICAgICAgICAvKnRwX2Rlc2NyX2dldCAqLworICAgIDAsICAgICAgICAgICAgICAgICAgLyp0cF9kZXNjcl9zZXQgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgIC8qdHBfZGljdG9mZnNldCAqLworICAgIDAsICAgICAgICAgICAgICAgICAgLyp0cF9pbml0ICovCisgICAgMCwgICAgICAgICAgICAgICAgICAvKnRwX2FsbG9jICovCisgICAgbm9uZV9uZXcsICAgICAgICAgICAvKnRwX25ldyAqLwogfTsKIAogUHlPYmplY3QgX1B5X05vbmVTdHJ1Y3QgPSB7CkBAIC0xNDg4LDYgKzE1MTgsMTYgQEAKICAgICByZXR1cm4gUHlVbmljb2RlX0Zyb21TdHJpbmcoIk5vdEltcGxlbWVudGVkIik7CiB9CiAKK3N0YXRpYyBQeU9iamVjdCAqCitub3RpbXBsZW1lbnRlZF9uZXcoUHlUeXBlT2JqZWN0ICp0eXBlLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncykKK3sKKyAgICBpZiAoUHlUdXBsZV9HRVRfU0laRShhcmdzKSB8fCAoa3dhcmdzICYmIFB5RGljdF9TaXplKGt3YXJncykpKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsICJOb3RJbXBsZW1lbnRlZFR5cGUgdGFrZXMgbm8gYXJndW1lbnRzIik7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKyAgICBQeV9SRVRVUk5fTk9USU1QTEVNRU5URUQ7Cit9CisKIHN0YXRpYyBQeVR5cGVPYmplY3QgUHlOb3RJbXBsZW1lbnRlZF9UeXBlID0gewogICAgIFB5VmFyT2JqZWN0X0hFQURfSU5JVCgmUHlUeXBlX1R5cGUsIDApCiAgICAgIk5vdEltcGxlbWVudGVkVHlwZSIsCkBAIC0xNTAzLDYgKzE1NDMsMzAgQEAKICAgICAwLCAgICAgICAgICAgICAgICAgIC8qdHBfYXNfc2VxdWVuY2UqLwogICAgIDAsICAgICAgICAgICAgICAgICAgLyp0cF9hc19tYXBwaW5nKi8KICAgICAwLCAgICAgICAgICAgICAgICAgIC8qdHBfaGFzaCAqLworICAgIDAsICAgICAgICAgICAgICAgICAgLyp0cF9jYWxsICovCisgICAgMCwgICAgICAgICAgICAgICAgICAvKnRwX3N0ciAqLworICAgIDAsICAgICAgICAgICAgICAgICAgLyp0cF9nZXRhdHRybyAqLworICAgIDAsICAgICAgICAgICAgICAgICAgLyp0cF9zZXRhdHRybyAqLworICAgIDAsICAgICAgICAgICAgICAgICAgLyp0cF9hc19idWZmZXIgKi8KKyAgICBQeV9UUEZMQUdTX0RFRkFVTFQsIC8qdHBfZmxhZ3MgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgIC8qdHBfZG9jICovCisgICAgMCwgICAgICAgICAgICAgICAgICAvKnRwX3RyYXZlcnNlICovCisgICAgMCwgICAgICAgICAgICAgICAgICAvKnRwX2NsZWFyICovCisgICAgMCwgICAgICAgICAgICAgICAgICAvKnRwX3JpY2hjb21wYXJlICovCisgICAgMCwgICAgICAgICAgICAgICAgICAvKnRwX3dlYWtsaXN0b2Zmc2V0ICovCisgICAgMCwgICAgICAgICAgICAgICAgICAvKnRwX2l0ZXIgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgIC8qdHBfaXRlcm5leHQgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgIC8qdHBfbWV0aG9kcyAqLworICAgIDAsICAgICAgICAgICAgICAgICAgLyp0cF9tZW1iZXJzICovCisgICAgMCwgICAgICAgICAgICAgICAgICAvKnRwX2dldHNldCAqLworICAgIDAsICAgICAgICAgICAgICAgICAgLyp0cF9iYXNlICovCisgICAgMCwgICAgICAgICAgICAgICAgICAvKnRwX2RpY3QgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgIC8qdHBfZGVzY3JfZ2V0ICovCisgICAgMCwgICAgICAgICAgICAgICAgICAvKnRwX2Rlc2NyX3NldCAqLworICAgIDAsICAgICAgICAgICAgICAgICAgLyp0cF9kaWN0b2Zmc2V0ICovCisgICAgMCwgICAgICAgICAgICAgICAgICAvKnRwX2luaXQgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgIC8qdHBfYWxsb2MgKi8KKyAgICBub3RpbXBsZW1lbnRlZF9uZXcsIC8qdHBfbmV3ICovCiB9OwogCiBQeU9iamVjdCBfUHlfTm90SW1wbGVtZW50ZWRTdHJ1Y3QgPSB7CkBAIC0xNTg1LDYgKzE2NDksOSBAQAogICAgIGlmIChQeVR5cGVfUmVhZHkoJlB5UHJvcGVydHlfVHlwZSkgPCAwKQogICAgICAgICBQeV9GYXRhbEVycm9yKCJDYW4ndCBpbml0aWFsaXplIHByb3BlcnR5IHR5cGUiKTsKIAorICAgIGlmIChQeVR5cGVfUmVhZHkoJl9QeU1hbmFnZWRCdWZmZXJfVHlwZSkgPCAwKQorICAgICAgICBQeV9GYXRhbEVycm9yKCJDYW4ndCBpbml0aWFsaXplIG1hbmFnZWQgYnVmZmVyIHR5cGUiKTsKKwogICAgIGlmIChQeVR5cGVfUmVhZHkoJlB5TWVtb3J5Vmlld19UeXBlKSA8IDApCiAgICAgICAgIFB5X0ZhdGFsRXJyb3IoIkNhbid0IGluaXRpYWxpemUgbWVtb3J5dmlldyB0eXBlIik7CiAKZGlmZiAtLWdpdCBhL09iamVjdHMvb2JtYWxsb2MuYyBiL09iamVjdHMvb2JtYWxsb2MuYwppbmRleCAzOTE2MjYyLi45Y2Q2YTUwIDEwMDY0NAotLS0gYS9PYmplY3RzL29ibWFsbG9jLmMKKysrIGIvT2JqZWN0cy9vYm1hbGxvYy5jCkBAIC0yLDYgKzIsMTMgQEAKIAogI2lmZGVmIFdJVEhfUFlNQUxMT0MKIAorI2lmZGVmIEhBVkVfTU1BUAorICNpbmNsdWRlIDxzeXMvbW1hbi5oPgorICNpZmRlZiBNQVBfQU5PTllNT1VTCisgICNkZWZpbmUgQVJFTkFTX1VTRV9NTUFQCisgI2VuZGlmCisjZW5kaWYKKwogI2lmZGVmIFdJVEhfVkFMR1JJTkQKICNpbmNsdWRlIDx2YWxncmluZC92YWxncmluZC5oPgogCkBAIC03NSw3ICs4Miw4IEBACiAgKiBBbGxvY2F0aW9uIHN0cmF0ZWd5IGFic3RyYWN0OgogICoKICAqIEZvciBzbWFsbCByZXF1ZXN0cywgdGhlIGFsbG9jYXRvciBzdWItYWxsb2NhdGVzIDxCaWc+IGJsb2NrcyBvZiBtZW1vcnkuCi0gKiBSZXF1ZXN0cyBncmVhdGVyIHRoYW4gMjU2IGJ5dGVzIGFyZSByb3V0ZWQgdG8gdGhlIHN5c3RlbSdzIGFsbG9jYXRvci4KKyAqIFJlcXVlc3RzIGdyZWF0ZXIgdGhhbiBTTUFMTF9SRVFVRVNUX1RIUkVTSE9MRCBieXRlcyBhcmUgcm91dGVkIHRvIHRoZQorICogc3lzdGVtJ3MgYWxsb2NhdG9yLgogICoKICAqIFNtYWxsIHJlcXVlc3RzIGFyZSBncm91cGVkIGluIHNpemUgY2xhc3NlcyBzcGFjZWQgOCBieXRlcyBhcGFydCwgZHVlCiAgKiB0byB0aGUgcmVxdWlyZWQgdmFsaWQgYWxpZ25tZW50IG9mIHRoZSByZXR1cm5lZCBhZGRyZXNzLiBSZXF1ZXN0cyBvZgpAQCAtMTA3LDEwICsxMTUsMTEgQEAKICAqICAgICAgIDU3LTY0ICAgICAgICAgICAgICAgICAgIDY0ICAgICAgICAgICAgICAgICAgICAgICA3CiAgKiAgICAgICA2NS03MiAgICAgICAgICAgICAgICAgICA3MiAgICAgICAgICAgICAgICAgICAgICAgOAogICogICAgICAgIC4uLiAgICAgICAgICAgICAgICAgICAuLi4gICAgICAgICAgICAgICAgICAgICAuLi4KLSAqICAgICAgMjQxLTI0OCAgICAgICAgICAgICAgICAgMjQ4ICAgICAgICAgICAgICAgICAgICAgIDMwCi0gKiAgICAgIDI0OS0yNTYgICAgICAgICAgICAgICAgIDI1NiAgICAgICAgICAgICAgICAgICAgICAzMQorICogICAgICA0OTctNTA0ICAgICAgICAgICAgICAgICA1MDQgICAgICAgICAgICAgICAgICAgICAgNjIKKyAqICAgICAgNTA1LTUxMiAgICAgICAgICAgICAgICAgNTEyICAgICAgICAgICAgICAgICAgICAgIDYzCiAgKgotICogICAgICAwLCAyNTcgYW5kIHVwOiByb3V0ZWQgdG8gdGhlIHVuZGVybHlpbmcgYWxsb2NhdG9yLgorICogICAgICAwLCBTTUFMTF9SRVFVRVNUX1RIUkVTSE9MRCArIDEgYW5kIHVwOiByb3V0ZWQgdG8gdGhlIHVuZGVybHlpbmcKKyAqICAgICAgYWxsb2NhdG9yLgogICovCiAKIC8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLwpAQCAtMTM5LDE0ICsxNDgsMTcgQEAKICAqIHNtYWxsIGVub3VnaCBpbiBvcmRlciB0byB1c2UgcHJlYWxsb2NhdGVkIG1lbW9yeSBwb29scy4gWW91IGNhbiB0dW5lCiAgKiB0aGlzIHZhbHVlIGFjY29yZGluZyB0byB5b3VyIGFwcGxpY2F0aW9uIGJlaGF2aW91ciBhbmQgbWVtb3J5IG5lZWRzLgogICoKKyAqIE5vdGU6IGEgc2l6ZSB0aHJlc2hvbGQgb2YgNTEyIGd1YXJhbnRlZXMgdGhhdCBuZXdseSBjcmVhdGVkIGRpY3Rpb25hcmllcworICogd2lsbCBiZSBhbGxvY2F0ZWQgZnJvbSBwcmVhbGxvY2F0ZWQgbWVtb3J5IHBvb2xzIG9uIDY0LWJpdC4KKyAqCiAgKiBUaGUgZm9sbG93aW5nIGludmFyaWFudHMgbXVzdCBob2xkOgotICogICAgICAxKSBBTElHTk1FTlQgPD0gU01BTExfUkVRVUVTVF9USFJFU0hPTEQgPD0gMjU2CisgKiAgICAgIDEpIEFMSUdOTUVOVCA8PSBTTUFMTF9SRVFVRVNUX1RIUkVTSE9MRCA8PSA1MTIKICAqICAgICAgMikgU01BTExfUkVRVUVTVF9USFJFU0hPTEQgaXMgZXZlbmx5IGRpdmlzaWJsZSBieSBBTElHTk1FTlQKICAqCiAgKiBBbHRob3VnaCBub3QgcmVxdWlyZWQsIGZvciBiZXR0ZXIgcGVyZm9ybWFuY2UgYW5kIHNwYWNlIGVmZmljaWVuY3ksCiAgKiBpdCBpcyByZWNvbW1lbmRlZCB0aGF0IFNNQUxMX1JFUVVFU1RfVEhSRVNIT0xEIGlzIHNldCB0byBhIHBvd2VyIG9mIDIuCiAgKi8KLSNkZWZpbmUgU01BTExfUkVRVUVTVF9USFJFU0hPTEQgMjU2CisjZGVmaW5lIFNNQUxMX1JFUVVFU1RfVEhSRVNIT0xEIDUxMgogI2RlZmluZSBOQl9TTUFMTF9TSVpFX0NMQVNTRVMgICAoU01BTExfUkVRVUVTVF9USFJFU0hPTEQgLyBBTElHTk1FTlQpCiAKIC8qCkBAIC0xNzQsMTUgKzE4NiwxNSBAQAogLyoKICAqIFRoZSBhbGxvY2F0b3Igc3ViLWFsbG9jYXRlcyA8QmlnPiBibG9ja3Mgb2YgbWVtb3J5IChjYWxsZWQgYXJlbmFzKSBhbGlnbmVkCiAgKiBvbiBhIHBhZ2UgYm91bmRhcnkuIFRoaXMgaXMgYSByZXNlcnZlZCB2aXJ0dWFsIGFkZHJlc3Mgc3BhY2UgZm9yIHRoZQotICogY3VycmVudCBwcm9jZXNzIChvYnRhaW5lZCB0aHJvdWdoIGEgbWFsbG9jIGNhbGwpLiBJbiBubyB3YXkgdGhpcyBtZWFucwotICogdGhhdCB0aGUgbWVtb3J5IGFyZW5hcyB3aWxsIGJlIHVzZWQgZW50aXJlbHkuIEEgbWFsbG9jKDxCaWc+KSBpcyB1c3VhbGx5Ci0gKiBhbiBhZGRyZXNzIHJhbmdlIHJlc2VydmF0aW9uIGZvciA8QmlnPiBieXRlcywgdW5sZXNzIGFsbCBwYWdlcyB3aXRoaW4gdGhpcwotICogc3BhY2UgYXJlIHJlZmVyZW5jZWQgc3Vic2VxdWVudGx5LiBTbyBtYWxsb2MnaW5nIGJpZyBibG9ja3MgYW5kIG5vdCB1c2luZwotICogdGhlbSBkb2VzIG5vdCBtZWFuICJ3YXN0aW5nIG1lbW9yeSIuIEl0J3MgYW4gYWRkcmVzc2FibGUgcmFuZ2Ugd2FzdGFnZS4uLgorICogY3VycmVudCBwcm9jZXNzIChvYnRhaW5lZCB0aHJvdWdoIGEgbWFsbG9jKCkvbW1hcCgpIGNhbGwpLiBJbiBubyB3YXkgdGhpcworICogbWVhbnMgdGhhdCB0aGUgbWVtb3J5IGFyZW5hcyB3aWxsIGJlIHVzZWQgZW50aXJlbHkuIEEgbWFsbG9jKDxCaWc+KSBpcworICogdXN1YWxseSBhbiBhZGRyZXNzIHJhbmdlIHJlc2VydmF0aW9uIGZvciA8QmlnPiBieXRlcywgdW5sZXNzIGFsbCBwYWdlcyB3aXRoaW4KKyAqIHRoaXMgc3BhY2UgYXJlIHJlZmVyZW5jZWQgc3Vic2VxdWVudGx5LiBTbyBtYWxsb2MnaW5nIGJpZyBibG9ja3MgYW5kIG5vdAorICogdXNpbmcgdGhlbSBkb2VzIG5vdCBtZWFuICJ3YXN0aW5nIG1lbW9yeSIuIEl0J3MgYW4gYWRkcmVzc2FibGUgcmFuZ2UKKyAqIHdhc3RhZ2UuLi4KICAqCi0gKiBUaGVyZWZvcmUsIGFsbG9jYXRpbmcgYXJlbmFzIHdpdGggbWFsbG9jIGlzIG5vdCBvcHRpbWFsLCBiZWNhdXNlIHRoZXJlIGlzCi0gKiBzb21lIGFkZHJlc3Mgc3BhY2Ugd2FzdGFnZSwgYnV0IHRoaXMgaXMgdGhlIG1vc3QgcG9ydGFibGUgd2F5IHRvIHJlcXVlc3QKLSAqIG1lbW9yeSBmcm9tIHRoZSBzeXN0ZW0gYWNyb3NzIHZhcmlvdXMgcGxhdGZvcm1zLgorICogQXJlbmFzIGFyZSBhbGxvY2F0ZWQgd2l0aCBtbWFwKCkgb24gc3lzdGVtcyBzdXBwb3J0aW5nIGFub255bW91cyBtZW1vcnkKKyAqIG1hcHBpbmdzIHRvIHJlZHVjZSBoZWFwIGZyYWdtZW50YXRpb24uCiAgKi8KICNkZWZpbmUgQVJFTkFfU0laRSAgICAgICAgICAgICAgKDI1NiA8PCAxMCkgICAgIC8qIDI1NktCICovCiAKQEAgLTQ0MCw2ICs0NTIsOSBAQAogICAgICwgUFQoNDgpLCBQVCg0OSksIFBUKDUwKSwgUFQoNTEpLCBQVCg1MiksIFBUKDUzKSwgUFQoNTQpLCBQVCg1NSkKICNpZiBOQl9TTUFMTF9TSVpFX0NMQVNTRVMgPiA1NgogICAgICwgUFQoNTYpLCBQVCg1NyksIFBUKDU4KSwgUFQoNTkpLCBQVCg2MCksIFBUKDYxKSwgUFQoNjIpLCBQVCg2MykKKyNpZiBOQl9TTUFMTF9TSVpFX0NMQVNTRVMgPiA2NAorI2Vycm9yICJOQl9TTUFMTF9TSVpFX0NMQVNTRVMgc2hvdWxkIGJlIGxlc3MgdGhhbiA2NCIKKyNlbmRpZiAvKiBOQl9TTUFMTF9TSVpFX0NMQVNTRVMgPiA2NCAqLwogI2VuZGlmIC8qIE5CX1NNQUxMX1NJWkVfQ0xBU1NFUyA+IDU2ICovCiAjZW5kaWYgLyogTkJfU01BTExfU0laRV9DTEFTU0VTID4gNDggKi8KICNlbmRpZiAvKiBOQl9TTUFMTF9TSVpFX0NMQVNTRVMgPiA0MCAqLwpAQCAtNTI1LDYgKzU0MCw4IEBACiB7CiAgICAgc3RydWN0IGFyZW5hX29iamVjdCogYXJlbmFvYmo7CiAgICAgdWludCBleGNlc3M7ICAgICAgICAvKiBudW1iZXIgb2YgYnl0ZXMgYWJvdmUgcG9vbCBhbGlnbm1lbnQgKi8KKyAgICB2b2lkICphZGRyZXNzOworICAgIGludCBlcnI7CiAKICNpZmRlZiBQWU1BTExPQ19ERUJVRwogICAgIGlmIChQeV9HRVRFTlYoIlBZVEhPTk1BTExPQ1NUQVRTIikpCkBAIC01NzcsOCArNTk0LDE1IEBACiAgICAgYXJlbmFvYmogPSB1bnVzZWRfYXJlbmFfb2JqZWN0czsKICAgICB1bnVzZWRfYXJlbmFfb2JqZWN0cyA9IGFyZW5hb2JqLT5uZXh0YXJlbmE7CiAgICAgYXNzZXJ0KGFyZW5hb2JqLT5hZGRyZXNzID09IDApOwotICAgIGFyZW5hb2JqLT5hZGRyZXNzID0gKHVwdHIpbWFsbG9jKEFSRU5BX1NJWkUpOwotICAgIGlmIChhcmVuYW9iai0+YWRkcmVzcyA9PSAwKSB7CisjaWZkZWYgQVJFTkFTX1VTRV9NTUFQCisgICAgYWRkcmVzcyA9IG1tYXAoTlVMTCwgQVJFTkFfU0laRSwgUFJPVF9SRUFEfFBST1RfV1JJVEUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1BUF9QUklWQVRFfE1BUF9BTk9OWU1PVVMsIC0xLCAwKTsKKyAgICBlcnIgPSAoYWRkcmVzcyA9PSBNQVBfRkFJTEVEKTsKKyNlbHNlCisgICAgYWRkcmVzcyA9IG1hbGxvYyhBUkVOQV9TSVpFKTsKKyAgICBlcnIgPSAoYWRkcmVzcyA9PSAwKTsKKyNlbmRpZgorICAgIGlmIChlcnIpIHsKICAgICAgICAgLyogVGhlIGFsbG9jYXRpb24gZmFpbGVkOiByZXR1cm4gTlVMTCBhZnRlciBwdXR0aW5nIHRoZQogICAgICAgICAgKiBhcmVuYW9iaiBiYWNrLgogICAgICAgICAgKi8KQEAgLTU4Niw2ICs2MTAsNyBAQAogICAgICAgICB1bnVzZWRfYXJlbmFfb2JqZWN0cyA9IGFyZW5hb2JqOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CisgICAgYXJlbmFvYmotPmFkZHJlc3MgPSAodXB0cilhZGRyZXNzOwogCiAgICAgKytuYXJlbmFzX2N1cnJlbnRseV9hbGxvY2F0ZWQ7CiAjaWZkZWYgUFlNQUxMT0NfREVCVUcKQEAgLTEwNTQsNyArMTA3OSwxMSBAQAogICAgICAgICAgICAgICAgIHVudXNlZF9hcmVuYV9vYmplY3RzID0gYW87CiAKICAgICAgICAgICAgICAgICAvKiBGcmVlIHRoZSBlbnRpcmUgYXJlbmEuICovCisjaWZkZWYgQVJFTkFTX1VTRV9NTUFQCisgICAgICAgICAgICAgICAgbXVubWFwKCh2b2lkICopYW8tPmFkZHJlc3MsIEFSRU5BX1NJWkUpOworI2Vsc2UKICAgICAgICAgICAgICAgICBmcmVlKCh2b2lkICopYW8tPmFkZHJlc3MpOworI2VuZGlmCiAgICAgICAgICAgICAgICAgYW8tPmFkZHJlc3MgPSAwOyAgICAgICAgICAgICAgICAgICAgICAgIC8qIG1hcmsgdW5hc3NvY2lhdGVkICovCiAgICAgICAgICAgICAgICAgLS1uYXJlbmFzX2N1cnJlbnRseV9hbGxvY2F0ZWQ7CiAKQEAgLTE3NzUsNyArMTgwNCw2IEBACiAgICAgICogd2lsbCBiZSBsaXZpbmcgaW4gZnVsbCBwb29scyAtLSB3b3VsZCBiZSBhIHNoYW1lIHRvIG1pc3MgdGhlbS4KICAgICAgKi8KICAgICBmb3IgKGkgPSAwOyBpIDwgbWF4YXJlbmFzOyArK2kpIHsKLSAgICAgICAgdWludCBwb29sc2luYXJlbmE7CiAgICAgICAgIHVpbnQgajsKICAgICAgICAgdXB0ciBiYXNlID0gYXJlbmFzW2ldLmFkZHJlc3M7CiAKQEAgLTE3ODQsNyArMTgxMiw2IEBACiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgbmFyZW5hcyArPSAxOwogCi0gICAgICAgIHBvb2xzaW5hcmVuYSA9IGFyZW5hc1tpXS5udG90YWxwb29sczsKICAgICAgICAgbnVtZnJlZXBvb2xzICs9IGFyZW5hc1tpXS5uZnJlZXBvb2xzOwogCiAgICAgICAgIC8qIHJvdW5kIHVwIHRvIHBvb2wgYWxpZ25tZW50ICovCmRpZmYgLS1naXQgYS9PYmplY3RzL3Jhbmdlb2JqZWN0LmMgYi9PYmplY3RzL3Jhbmdlb2JqZWN0LmMKaW5kZXggNThkMzczYy4uZmI2YTVmZSAxMDA2NDQKLS0tIGEvT2JqZWN0cy9yYW5nZW9iamVjdC5jCisrKyBiL09iamVjdHMvcmFuZ2VvYmplY3QuYwpAQCAtMSw2ICsxLDcgQEAKIC8qIFJhbmdlIG9iamVjdCBpbXBsZW1lbnRhdGlvbiAqLwogCiAjaW5jbHVkZSAiUHl0aG9uLmgiCisjaW5jbHVkZSAic3RydWN0bWVtYmVyLmgiCiAKIC8qIFN1cHBvcnQgb2JqZWN0cyB3aG9zZSBsZW5ndGggaXMgPiBQWV9TU0laRV9UX01BWC4KIApAQCAtNjA5LDYgKzYxMCwxMzcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBZX0lURVJTRUFSQ0hfQ09OVEFJTlMpOwogfQogCisvKiBDb21wYXJlIHR3byByYW5nZSBvYmplY3RzLiAgUmV0dXJuIDEgZm9yIGVxdWFsLCAwIGZvciBub3QgZXF1YWwKKyAgIGFuZCAtMSBvbiBlcnJvci4gIFRoZSBhbGdvcml0aG0gaXMgcm91Z2hseSB0aGUgQyBlcXVpdmFsZW50IG9mCisKKyAgIGlmIHIwIGlzIHIxOgorICAgICAgIHJldHVybiBUcnVlCisgICBpZiBsZW4ocjApICE9IGxlbihyMSk6CisgICAgICAgcmV0dXJuIEZhbHNlCisgICBpZiBub3QgbGVuKHIwKToKKyAgICAgICByZXR1cm4gVHJ1ZQorICAgaWYgcjAuc3RhcnQgIT0gcjEuc3RhcnQ6CisgICAgICAgcmV0dXJuIEZhbHNlCisgICBpZiBsZW4ocjApID09IDE6CisgICAgICAgcmV0dXJuIFRydWUKKyAgIHJldHVybiByMC5zdGVwID09IHIxLnN0ZXAKKyovCitzdGF0aWMgaW50CityYW5nZV9lcXVhbHMocmFuZ2VvYmplY3QgKnIwLCByYW5nZW9iamVjdCAqcjEpCit7CisgICAgaW50IGNtcF9yZXN1bHQ7CisgICAgUHlPYmplY3QgKm9uZTsKKworICAgIGlmIChyMCA9PSByMSkKKyAgICAgICAgcmV0dXJuIDE7CisgICAgY21wX3Jlc3VsdCA9IFB5T2JqZWN0X1JpY2hDb21wYXJlQm9vbChyMC0+bGVuZ3RoLCByMS0+bGVuZ3RoLCBQeV9FUSk7CisgICAgLyogUmV0dXJuIEZhbHNlIG9yIGVycm9yIHRvIHRoZSBjYWxsZXIuICovCisgICAgaWYgKGNtcF9yZXN1bHQgIT0gMSkKKyAgICAgICAgcmV0dXJuIGNtcF9yZXN1bHQ7CisgICAgY21wX3Jlc3VsdCA9IFB5T2JqZWN0X05vdChyMC0+bGVuZ3RoKTsKKyAgICAvKiBSZXR1cm4gVHJ1ZSBvciBlcnJvciB0byB0aGUgY2FsbGVyLiAqLworICAgIGlmIChjbXBfcmVzdWx0ICE9IDApCisgICAgICAgIHJldHVybiBjbXBfcmVzdWx0OworICAgIGNtcF9yZXN1bHQgPSBQeU9iamVjdF9SaWNoQ29tcGFyZUJvb2wocjAtPnN0YXJ0LCByMS0+c3RhcnQsIFB5X0VRKTsKKyAgICAvKiBSZXR1cm4gRmFsc2Ugb3IgZXJyb3IgdG8gdGhlIGNhbGxlci4gKi8KKyAgICBpZiAoY21wX3Jlc3VsdCAhPSAxKQorICAgICAgICByZXR1cm4gY21wX3Jlc3VsdDsKKyAgICBvbmUgPSBQeUxvbmdfRnJvbUxvbmcoMSk7CisgICAgaWYgKCFvbmUpCisgICAgICAgIHJldHVybiAtMTsKKyAgICBjbXBfcmVzdWx0ID0gUHlPYmplY3RfUmljaENvbXBhcmVCb29sKHIwLT5sZW5ndGgsIG9uZSwgUHlfRVEpOworICAgIFB5X0RFQ1JFRihvbmUpOworICAgIC8qIFJldHVybiBUcnVlIG9yIGVycm9yIHRvIHRoZSBjYWxsZXIuICovCisgICAgaWYgKGNtcF9yZXN1bHQgIT0gMCkKKyAgICAgICAgcmV0dXJuIGNtcF9yZXN1bHQ7CisgICAgcmV0dXJuIFB5T2JqZWN0X1JpY2hDb21wYXJlQm9vbChyMC0+c3RlcCwgcjEtPnN0ZXAsIFB5X0VRKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK3JhbmdlX3JpY2hjb21wYXJlKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqb3RoZXIsIGludCBvcCkKK3sKKyAgICBpbnQgcmVzdWx0OworCisgICAgaWYgKCFQeVJhbmdlX0NoZWNrKG90aGVyKSkKKyAgICAgICAgUHlfUkVUVVJOX05PVElNUExFTUVOVEVEOworICAgIHN3aXRjaCAob3ApIHsKKyAgICBjYXNlIFB5X05FOgorICAgIGNhc2UgUHlfRVE6CisgICAgICAgIHJlc3VsdCA9IHJhbmdlX2VxdWFscygocmFuZ2VvYmplY3QqKXNlbGYsIChyYW5nZW9iamVjdCopb3RoZXIpOworICAgICAgICBpZiAocmVzdWx0ID09IC0xKQorICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIGlmIChvcCA9PSBQeV9ORSkKKyAgICAgICAgICAgIHJlc3VsdCA9ICFyZXN1bHQ7CisgICAgICAgIGlmIChyZXN1bHQpCisgICAgICAgICAgICBQeV9SRVRVUk5fVFJVRTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgUHlfUkVUVVJOX0ZBTFNFOworICAgIGNhc2UgUHlfTEU6CisgICAgY2FzZSBQeV9HRToKKyAgICBjYXNlIFB5X0xUOgorICAgIGNhc2UgUHlfR1Q6CisgICAgICAgIFB5X1JFVFVSTl9OT1RJTVBMRU1FTlRFRDsKKyAgICBkZWZhdWx0OgorICAgICAgICBQeUVycl9CYWRBcmd1bWVudCgpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9Cit9CisKKy8qIEhhc2ggZnVuY3Rpb24gZm9yIHJhbmdlIG9iamVjdHMuICBSb3VnaCBDIGVxdWl2YWxlbnQgb2YKKworICAgaWYgbm90IGxlbihyKToKKyAgICAgICByZXR1cm4gaGFzaCgobGVuKHIpLCBOb25lLCBOb25lKSkKKyAgIGlmIGxlbihyKSA9PSAxOgorICAgICAgIHJldHVybiBoYXNoKChsZW4ociksIHIuc3RhcnQsIE5vbmUpKQorICAgcmV0dXJuIGhhc2goKGxlbihyKSwgci5zdGFydCwgci5zdGVwKSkKKyovCitzdGF0aWMgUHlfaGFzaF90CityYW5nZV9oYXNoKHJhbmdlb2JqZWN0ICpyKQoreworICAgIFB5T2JqZWN0ICp0OworICAgIFB5X2hhc2hfdCByZXN1bHQgPSAtMTsKKyAgICBpbnQgY21wX3Jlc3VsdDsKKworICAgIHQgPSBQeVR1cGxlX05ldygzKTsKKyAgICBpZiAoIXQpCisgICAgICAgIHJldHVybiAtMTsKKyAgICBQeV9JTkNSRUYoci0+bGVuZ3RoKTsKKyAgICBQeVR1cGxlX1NFVF9JVEVNKHQsIDAsIHItPmxlbmd0aCk7CisgICAgY21wX3Jlc3VsdCA9IFB5T2JqZWN0X05vdChyLT5sZW5ndGgpOworICAgIGlmIChjbXBfcmVzdWx0ID09IC0xKQorICAgICAgICBnb3RvIGVuZDsKKyAgICBpZiAoY21wX3Jlc3VsdCA9PSAxKSB7CisgICAgICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKKyAgICAgICAgUHlfSU5DUkVGKFB5X05vbmUpOworICAgICAgICBQeVR1cGxlX1NFVF9JVEVNKHQsIDEsIFB5X05vbmUpOworICAgICAgICBQeVR1cGxlX1NFVF9JVEVNKHQsIDIsIFB5X05vbmUpOworICAgIH0KKyAgICBlbHNlIHsKKyAgICAgICAgUHlPYmplY3QgKm9uZTsKKyAgICAgICAgUHlfSU5DUkVGKHItPnN0YXJ0KTsKKyAgICAgICAgUHlUdXBsZV9TRVRfSVRFTSh0LCAxLCByLT5zdGFydCk7CisgICAgICAgIG9uZSA9IFB5TG9uZ19Gcm9tTG9uZygxKTsKKyAgICAgICAgaWYgKCFvbmUpCisgICAgICAgICAgICBnb3RvIGVuZDsKKyAgICAgICAgY21wX3Jlc3VsdCA9IFB5T2JqZWN0X1JpY2hDb21wYXJlQm9vbChyLT5sZW5ndGgsIG9uZSwgUHlfRVEpOworICAgICAgICBQeV9ERUNSRUYob25lKTsKKyAgICAgICAgaWYgKGNtcF9yZXN1bHQgPT0gLTEpCisgICAgICAgICAgICBnb3RvIGVuZDsKKyAgICAgICAgaWYgKGNtcF9yZXN1bHQgPT0gMSkgeworICAgICAgICAgICAgUHlfSU5DUkVGKFB5X05vbmUpOworICAgICAgICAgICAgUHlUdXBsZV9TRVRfSVRFTSh0LCAyLCBQeV9Ob25lKTsKKyAgICAgICAgfQorICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIFB5X0lOQ1JFRihyLT5zdGVwKTsKKyAgICAgICAgICAgIFB5VHVwbGVfU0VUX0lURU0odCwgMiwgci0+c3RlcCk7CisgICAgICAgIH0KKyAgICB9CisgICAgcmVzdWx0ID0gUHlPYmplY3RfSGFzaCh0KTsKKyAgZW5kOgorICAgIFB5X0RFQ1JFRih0KTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCiBzdGF0aWMgUHlPYmplY3QgKgogcmFuZ2VfY291bnQocmFuZ2VvYmplY3QgKnIsIFB5T2JqZWN0ICpvYikKIHsKQEAgLTc0OSw2ICs4ODEsMTMgQEAKICAgICB7TlVMTCwgICAgICAgICAgICAgIE5VTEx9ICAgICAgICAgICAvKiBzZW50aW5lbCAqLwogfTsKIAorc3RhdGljIFB5TWVtYmVyRGVmIHJhbmdlX21lbWJlcnNbXSA9IHsKKyAgICB7InN0YXJ0IiwgICBUX09CSkVDVF9FWCwgICAgb2Zmc2V0b2YocmFuZ2VvYmplY3QsIHN0YXJ0KSwgICBSRUFET05MWX0sCisgICAgeyJzdG9wIiwgICAgVF9PQkpFQ1RfRVgsICAgIG9mZnNldG9mKHJhbmdlb2JqZWN0LCBzdG9wKSwgICAgUkVBRE9OTFl9LAorICAgIHsic3RlcCIsICAgIFRfT0JKRUNUX0VYLCAgICBvZmZzZXRvZihyYW5nZW9iamVjdCwgc3RlcCksICAgIFJFQURPTkxZfSwKKyAgICB7MH0KK307CisKIFB5VHlwZU9iamVjdCBQeVJhbmdlX1R5cGUgPSB7CiAgICAgICAgIFB5VmFyT2JqZWN0X0hFQURfSU5JVCgmUHlUeXBlX1R5cGUsIDApCiAgICAgICAgICJyYW5nZSIsICAgICAgICAgICAgICAgIC8qIE5hbWUgb2YgdGhpcyB0eXBlICovCkBAIC03NjMsNyArOTAyLDcgQEAKICAgICAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgLyogdHBfYXNfbnVtYmVyICovCiAgICAgICAgICZyYW5nZV9hc19zZXF1ZW5jZSwgICAgIC8qIHRwX2FzX3NlcXVlbmNlICovCiAgICAgICAgICZyYW5nZV9hc19tYXBwaW5nLCAgICAgIC8qIHRwX2FzX21hcHBpbmcgKi8KLSAgICAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgLyogdHBfaGFzaCAqLworICAgICAgICAoaGFzaGZ1bmMpcmFuZ2VfaGFzaCwgICAvKiB0cF9oYXNoICovCiAgICAgICAgIDAsICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2NhbGwgKi8KICAgICAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgLyogdHBfc3RyICovCiAgICAgICAgIFB5T2JqZWN0X0dlbmVyaWNHZXRBdHRyLCAgLyogdHBfZ2V0YXR0cm8gKi8KQEAgLTc3MywxMiArOTEyLDEyIEBACiAgICAgICAgIHJhbmdlX2RvYywgICAgICAgICAgICAgIC8qIHRwX2RvYyAqLwogICAgICAgICAwLCAgICAgICAgICAgICAgICAgICAgICAvKiB0cF90cmF2ZXJzZSAqLwogICAgICAgICAwLCAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9jbGVhciAqLwotICAgICAgICAwLCAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9yaWNoY29tcGFyZSAqLworICAgICAgICByYW5nZV9yaWNoY29tcGFyZSwgICAgICAvKiB0cF9yaWNoY29tcGFyZSAqLwogICAgICAgICAwLCAgICAgICAgICAgICAgICAgICAgICAvKiB0cF93ZWFrbGlzdG9mZnNldCAqLwogICAgICAgICByYW5nZV9pdGVyLCAgICAgICAgICAgICAvKiB0cF9pdGVyICovCiAgICAgICAgIDAsICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2l0ZXJuZXh0ICovCiAgICAgICAgIHJhbmdlX21ldGhvZHMsICAgICAgICAgIC8qIHRwX21ldGhvZHMgKi8KLSAgICAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgLyogdHBfbWVtYmVycyAqLworICAgICAgICByYW5nZV9tZW1iZXJzLCAgICAgICAgICAvKiB0cF9tZW1iZXJzICovCiAgICAgICAgIDAsICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2dldHNldCAqLwogICAgICAgICAwLCAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9iYXNlICovCiAgICAgICAgIDAsICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2RpY3QgKi8KZGlmZiAtLWdpdCBhL09iamVjdHMvc2V0b2JqZWN0LmMgYi9PYmplY3RzL3NldG9iamVjdC5jCmluZGV4IDNhYmVlZmIuLmEwNWE5N2IgMTAwNjQ0Ci0tLSBhL09iamVjdHMvc2V0b2JqZWN0LmMKKysrIGIvT2JqZWN0cy9zZXRvYmplY3QuYwpAQCAtNzcsNyArNzcsNyBAQAogc3RhdGljIHNldGVudHJ5ICoKIHNldF9sb29ra2V5KFB5U2V0T2JqZWN0ICpzbywgUHlPYmplY3QgKmtleSwgcmVnaXN0ZXIgUHlfaGFzaF90IGhhc2gpCiB7Ci0gICAgcmVnaXN0ZXIgUHlfc3NpemVfdCBpOworICAgIHJlZ2lzdGVyIHNpemVfdCBpOwogICAgIHJlZ2lzdGVyIHNpemVfdCBwZXJ0dXJiOwogICAgIHJlZ2lzdGVyIHNldGVudHJ5ICpmcmVlc2xvdDsKICAgICByZWdpc3RlciBzaXplX3QgbWFzayA9IHNvLT5tYXNrOwpAQCAtODYsNyArODYsNyBAQAogICAgIHJlZ2lzdGVyIGludCBjbXA7CiAgICAgUHlPYmplY3QgKnN0YXJ0a2V5OwogCi0gICAgaSA9IGhhc2ggJiBtYXNrOworICAgIGkgPSAoc2l6ZV90KWhhc2ggJiBtYXNrOwogICAgIGVudHJ5ID0gJnRhYmxlW2ldOwogICAgIGlmIChlbnRyeS0+a2V5ID09IE5VTEwgfHwgZW50cnktPmtleSA9PSBrZXkpCiAgICAgICAgIHJldHVybiBlbnRyeTsKQEAgLTE1OSw3ICsxNTksNyBAQAogc3RhdGljIHNldGVudHJ5ICoKIHNldF9sb29ra2V5X3VuaWNvZGUoUHlTZXRPYmplY3QgKnNvLCBQeU9iamVjdCAqa2V5LCByZWdpc3RlciBQeV9oYXNoX3QgaGFzaCkKIHsKLSAgICByZWdpc3RlciBQeV9zc2l6ZV90IGk7CisgICAgcmVnaXN0ZXIgc2l6ZV90IGk7CiAgICAgcmVnaXN0ZXIgc2l6ZV90IHBlcnR1cmI7CiAgICAgcmVnaXN0ZXIgc2V0ZW50cnkgKmZyZWVzbG90OwogICAgIHJlZ2lzdGVyIHNpemVfdCBtYXNrID0gc28tPm1hc2s7CkBAIC0xNzQsNyArMTc0LDcgQEAKICAgICAgICAgc28tPmxvb2t1cCA9IHNldF9sb29ra2V5OwogICAgICAgICByZXR1cm4gc2V0X2xvb2trZXkoc28sIGtleSwgaGFzaCk7CiAgICAgfQotICAgIGkgPSBoYXNoICYgbWFzazsKKyAgICBpID0gKHNpemVfdCloYXNoICYgbWFzazsKICAgICBlbnRyeSA9ICZ0YWJsZVtpXTsKICAgICBpZiAoZW50cnktPmtleSA9PSBOVUxMIHx8IGVudHJ5LT5rZXkgPT0ga2V5KQogICAgICAgICByZXR1cm4gZW50cnk7CkBAIC0yNTYsNyArMjU2LDcgQEAKICAgICBzZXRlbnRyeSAqdGFibGUgPSBzby0+dGFibGU7CiAgICAgcmVnaXN0ZXIgc2V0ZW50cnkgKmVudHJ5OwogCi0gICAgaSA9IGhhc2ggJiBtYXNrOworICAgIGkgPSAoc2l6ZV90KWhhc2ggJiBtYXNrOwogICAgIGVudHJ5ID0gJnRhYmxlW2ldOwogICAgIGZvciAocGVydHVyYiA9IGhhc2g7IGVudHJ5LT5rZXkgIT0gTlVMTDsgcGVydHVyYiA+Pj0gUEVSVFVSQl9TSElGVCkgewogICAgICAgICBpID0gKGkgPDwgMikgKyBpICsgcGVydHVyYiArIDE7CkBAIC0zODYsNyArMzg2LDcgQEAKICAgICByZWdpc3RlciBQeV9zc2l6ZV90IG5fdXNlZDsKIAogICAgIGlmICghUHlVbmljb2RlX0NoZWNrRXhhY3Qoa2V5KSB8fAotICAgICAgICAoaGFzaCA9ICgoUHlVbmljb2RlT2JqZWN0ICopIGtleSktPmhhc2gpID09IC0xKSB7CisgICAgICAgIChoYXNoID0gKChQeUFTQ0lJT2JqZWN0ICopIGtleSktPmhhc2gpID09IC0xKSB7CiAgICAgICAgIGhhc2ggPSBQeU9iamVjdF9IYXNoKGtleSk7CiAgICAgICAgIGlmIChoYXNoID09IC0xKQogICAgICAgICAgICAgcmV0dXJuIC0xOwpAQCAtNDM0LDcgKzQzNCw3IEBACiAgICAgYXNzZXJ0IChQeUFueVNldF9DaGVjayhzbykpOwogCiAgICAgaWYgKCFQeVVuaWNvZGVfQ2hlY2tFeGFjdChrZXkpIHx8Ci0gICAgICAgIChoYXNoID0gKChQeVVuaWNvZGVPYmplY3QgKikga2V5KS0+aGFzaCkgPT0gLTEpIHsKKyAgICAgICAgKGhhc2ggPSAoKFB5QVNDSUlPYmplY3QgKikga2V5KS0+aGFzaCkgPT0gLTEpIHsKICAgICAgICAgaGFzaCA9IFB5T2JqZWN0X0hhc2goa2V5KTsKICAgICAgICAgaWYgKGhhc2ggPT0gLTEpCiAgICAgICAgICAgICByZXR1cm4gLTE7CkBAIC01NzksMTEgKzU3OSw4IEBACiBzdGF0aWMgUHlPYmplY3QgKgogc2V0X3JlcHIoUHlTZXRPYmplY3QgKnNvKQogewotICAgIFB5T2JqZWN0ICprZXlzLCAqcmVzdWx0PU5VTEw7Ci0gICAgUHlfVU5JQ09ERSAqdTsKKyAgICBQeU9iamVjdCAqcmVzdWx0PU5VTEwsICprZXlzLCAqbGlzdHJlcHIsICp0bXA7CiAgICAgaW50IHN0YXR1cyA9IFB5X1JlcHJFbnRlcigoUHlPYmplY3QqKXNvKTsKLSAgICBQeU9iamVjdCAqbGlzdHJlcHI7Ci0gICAgUHlfc3NpemVfdCBuZXdzaXplOwogCiAgICAgaWYgKHN0YXR1cyAhPSAwKSB7CiAgICAgICAgIGlmIChzdGF0dXMgPCAwKQpAQCAtNjAxLDI5ICs1OTgsMjQgQEAKICAgICBpZiAoa2V5cyA9PSBOVUxMKQogICAgICAgICBnb3RvIGRvbmU7CiAKKyAgICAvKiByZXByKGtleXMpWzE6LTFdICovCiAgICAgbGlzdHJlcHIgPSBQeU9iamVjdF9SZXByKGtleXMpOwogICAgIFB5X0RFQ1JFRihrZXlzKTsKICAgICBpZiAobGlzdHJlcHIgPT0gTlVMTCkKICAgICAgICAgZ290byBkb25lOwotICAgIG5ld3NpemUgPSBQeVVuaWNvZGVfR0VUX1NJWkUobGlzdHJlcHIpOwotICAgIHJlc3VsdCA9IFB5VW5pY29kZV9Gcm9tVW5pY29kZShOVUxMLCBuZXdzaXplKTsKLSAgICBpZiAocmVzdWx0KSB7Ci0gICAgICAgIHUgPSBQeVVuaWNvZGVfQVNfVU5JQ09ERShyZXN1bHQpOwotICAgICAgICAqdSsrID0gJ3snOwotICAgICAgICAvKiBPbWl0IHRoZSBicmFja2V0cyBmcm9tIHRoZSBsaXN0cmVwciAqLwotICAgICAgICBQeV9VTklDT0RFX0NPUFkodSwgUHlVbmljb2RlX0FTX1VOSUNPREUobGlzdHJlcHIpKzEsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfR0VUX1NJWkUobGlzdHJlcHIpLTIpOwotICAgICAgICB1ICs9IG5ld3NpemUtMjsKLSAgICAgICAgKnUrKyA9ICd9JzsKLSAgICB9CisgICAgdG1wID0gUHlVbmljb2RlX1N1YnN0cmluZyhsaXN0cmVwciwgMSwgUHlVbmljb2RlX0dFVF9MRU5HVEgobGlzdHJlcHIpLTEpOwogICAgIFB5X0RFQ1JFRihsaXN0cmVwcik7Ci0gICAgaWYgKFB5X1RZUEUoc28pICE9ICZQeVNldF9UeXBlKSB7Ci0gICAgICAgIFB5T2JqZWN0ICp0bXAgPSBQeVVuaWNvZGVfRnJvbUZvcm1hdCgiJXMoJVUpIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5X1RZUEUoc28pLT50cF9uYW1lLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0KTsKLSAgICAgICAgUHlfREVDUkVGKHJlc3VsdCk7Ci0gICAgICAgIHJlc3VsdCA9IHRtcDsKLSAgICB9CisgICAgaWYgKHRtcCA9PSBOVUxMKQorICAgICAgICBnb3RvIGRvbmU7CisgICAgbGlzdHJlcHIgPSB0bXA7CisKKyAgICBpZiAoUHlfVFlQRShzbykgIT0gJlB5U2V0X1R5cGUpCisgICAgICAgIHJlc3VsdCA9IFB5VW5pY29kZV9Gcm9tRm9ybWF0KCIlcyh7JVV9KSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5X1RZUEUoc28pLT50cF9uYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0cmVwcik7CisgICAgZWxzZQorICAgICAgICByZXN1bHQgPSBQeVVuaWNvZGVfRnJvbUZvcm1hdCgieyVVfSIsIGxpc3RyZXByKTsKKyAgICBQeV9ERUNSRUYobGlzdHJlcHIpOwogZG9uZToKICAgICBQeV9SZXByTGVhdmUoKFB5T2JqZWN0Kilzbyk7CiAgICAgcmV0dXJuIHJlc3VsdDsKQEAgLTY4Miw3ICs2NzQsNyBAQAogICAgIHNldGVudHJ5ICplbnRyeTsKIAogICAgIGlmICghUHlVbmljb2RlX0NoZWNrRXhhY3Qoa2V5KSB8fAotICAgICAgICAoaGFzaCA9ICgoUHlVbmljb2RlT2JqZWN0ICopIGtleSktPmhhc2gpID09IC0xKSB7CisgICAgICAgIChoYXNoID0gKChQeUFTQ0lJT2JqZWN0ICopIGtleSktPmhhc2gpID09IC0xKSB7CiAgICAgICAgIGhhc2ggPSBQeU9iamVjdF9IYXNoKGtleSk7CiAgICAgICAgIGlmIChoYXNoID09IC0xKQogICAgICAgICAgICAgcmV0dXJuIC0xOwpAQCAtNzY4LDE0ICs3NjAsMTQgQEAKIGZyb3plbnNldF9oYXNoKFB5T2JqZWN0ICpzZWxmKQogewogICAgIFB5U2V0T2JqZWN0ICpzbyA9IChQeVNldE9iamVjdCAqKXNlbGY7Ci0gICAgUHlfaGFzaF90IGgsIGhhc2ggPSAxOTI3ODY4MjM3TDsKKyAgICBQeV91aGFzaF90IGgsIGhhc2ggPSAxOTI3ODY4MjM3VTsKICAgICBzZXRlbnRyeSAqZW50cnk7CiAgICAgUHlfc3NpemVfdCBwb3MgPSAwOwogCiAgICAgaWYgKHNvLT5oYXNoICE9IC0xKQogICAgICAgICByZXR1cm4gc28tPmhhc2g7CiAKLSAgICBoYXNoICo9IFB5U2V0X0dFVF9TSVpFKHNlbGYpICsgMTsKKyAgICBoYXNoICo9IChQeV91aGFzaF90KVB5U2V0X0dFVF9TSVpFKHNlbGYpICsgMTsKICAgICB3aGlsZSAoc2V0X25leHQoc28sICZwb3MsICZlbnRyeSkpIHsKICAgICAgICAgLyogV29yayB0byBpbmNyZWFzZSB0aGUgYml0IGRpc3BlcnNpb24gZm9yIGNsb3NlbHkgc3BhY2VkIGhhc2gKICAgICAgICAgICAgdmFsdWVzLiAgVGhlIGlzIGltcG9ydGFudCBiZWNhdXNlIHNvbWUgdXNlIGNhc2VzIGhhdmUgbWFueQpAQCAtNzgzLDExICs3NzUsMTEgQEAKICAgICAgICAgICAgaGFzaGVzIHNvIHRoYXQgbWFueSBkaXN0aW5jdCBjb21iaW5hdGlvbnMgY29sbGFwc2UgdG8gb25seQogICAgICAgICAgICBhIGhhbmRmdWwgb2YgZGlzdGluY3QgaGFzaCB2YWx1ZXMuICovCiAgICAgICAgIGggPSBlbnRyeS0+aGFzaDsKLSAgICAgICAgaGFzaCBePSAoaCBeIChoIDw8IDE2KSBeIDg5ODY5NzQ3TCkgICogMzY0NDc5ODE2N3U7CisgICAgICAgIGhhc2ggXj0gKGggXiAoaCA8PCAxNikgXiA4OTg2OTc0N1UpICAqIDM2NDQ3OTgxNjdVOwogICAgIH0KLSAgICBoYXNoID0gaGFzaCAqIDY5MDY5TCArIDkwNzEzMzkyM0w7CisgICAgaGFzaCA9IGhhc2ggKiA2OTA2OVUgKyA5MDcxMzM5MjNVOwogICAgIGlmIChoYXNoID09IC0xKQotICAgICAgICBoYXNoID0gNTkwOTIzNzEzTDsKKyAgICAgICAgaGFzaCA9IDU5MDkyMzcxM1U7CiAgICAgc28tPmhhc2ggPSBoYXNoOwogICAgIHJldHVybiBoYXNoOwogfQpAQCAtMTA3Niw5ICsxMDY4LDEwIEBACiAgICAgcmV0dXJuIGVtcHR5ZnJvemVuc2V0OwogfQogCi12b2lkCi1QeVNldF9GaW5pKHZvaWQpCitpbnQKK1B5U2V0X0NsZWFyRnJlZUxpc3Qodm9pZCkKIHsKKyAgICBpbnQgZnJlZWxpc3Rfc2l6ZSA9IG51bWZyZWU7CiAgICAgUHlTZXRPYmplY3QgKnNvOwogCiAgICAgd2hpbGUgKG51bWZyZWUpIHsKQEAgLTEwODYsNiArMTA3OSwxMyBAQAogICAgICAgICBzbyA9IGZyZWVfbGlzdFtudW1mcmVlXTsKICAgICAgICAgUHlPYmplY3RfR0NfRGVsKHNvKTsKICAgICB9CisgICAgcmV0dXJuIGZyZWVsaXN0X3NpemU7Cit9CisKK3ZvaWQKK1B5U2V0X0Zpbmkodm9pZCkKK3sKKyAgICBQeVNldF9DbGVhckZyZWVMaXN0KCk7CiAgICAgUHlfQ0xFQVIoZHVtbXkpOwogICAgIFB5X0NMRUFSKGVtcHR5ZnJvemVuc2V0KTsKIH0KQEAgLTEyMTAsMTAgKzEyMTAsOCBAQAogewogICAgIFB5U2V0T2JqZWN0ICpyZXN1bHQ7CiAKLSAgICBpZiAoIVB5QW55U2V0X0NoZWNrKHNvKSB8fCAhUHlBbnlTZXRfQ2hlY2sob3RoZXIpKSB7Ci0gICAgICAgIFB5X0lOQ1JFRihQeV9Ob3RJbXBsZW1lbnRlZCk7Ci0gICAgICAgIHJldHVybiBQeV9Ob3RJbXBsZW1lbnRlZDsKLSAgICB9CisgICAgaWYgKCFQeUFueVNldF9DaGVjayhzbykgfHwgIVB5QW55U2V0X0NoZWNrKG90aGVyKSkKKyAgICAgICAgUHlfUkVUVVJOX05PVElNUExFTUVOVEVEOwogCiAgICAgcmVzdWx0ID0gKFB5U2V0T2JqZWN0ICopc2V0X2NvcHkoc28pOwogICAgIGlmIChyZXN1bHQgPT0gTlVMTCkKQEAgLTEyMzAsMTAgKzEyMjgsOSBAQAogc3RhdGljIFB5T2JqZWN0ICoKIHNldF9pb3IoUHlTZXRPYmplY3QgKnNvLCBQeU9iamVjdCAqb3RoZXIpCiB7Ci0gICAgaWYgKCFQeUFueVNldF9DaGVjayhvdGhlcikpIHsKLSAgICAgICAgUHlfSU5DUkVGKFB5X05vdEltcGxlbWVudGVkKTsKLSAgICAgICAgcmV0dXJuIFB5X05vdEltcGxlbWVudGVkOwotICAgIH0KKyAgICBpZiAoIVB5QW55U2V0X0NoZWNrKG90aGVyKSkKKyAgICAgICAgUHlfUkVUVVJOX05PVElNUExFTUVOVEVEOworCiAgICAgaWYgKHNldF91cGRhdGVfaW50ZXJuYWwoc28sIG90aGVyKSA9PSAtMSkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgUHlfSU5DUkVGKHNvKTsKQEAgLTEzODMsMTAgKzEzODAsOCBAQAogc3RhdGljIFB5T2JqZWN0ICoKIHNldF9hbmQoUHlTZXRPYmplY3QgKnNvLCBQeU9iamVjdCAqb3RoZXIpCiB7Ci0gICAgaWYgKCFQeUFueVNldF9DaGVjayhzbykgfHwgIVB5QW55U2V0X0NoZWNrKG90aGVyKSkgewotICAgICAgICBQeV9JTkNSRUYoUHlfTm90SW1wbGVtZW50ZWQpOwotICAgICAgICByZXR1cm4gUHlfTm90SW1wbGVtZW50ZWQ7Ci0gICAgfQorICAgIGlmICghUHlBbnlTZXRfQ2hlY2soc28pIHx8ICFQeUFueVNldF9DaGVjayhvdGhlcikpCisgICAgICAgIFB5X1JFVFVSTl9OT1RJTVBMRU1FTlRFRDsKICAgICByZXR1cm4gc2V0X2ludGVyc2VjdGlvbihzbywgb3RoZXIpOwogfQogCkBAIC0xMzk1LDEwICsxMzkwLDggQEAKIHsKICAgICBQeU9iamVjdCAqcmVzdWx0OwogCi0gICAgaWYgKCFQeUFueVNldF9DaGVjayhvdGhlcikpIHsKLSAgICAgICAgUHlfSU5DUkVGKFB5X05vdEltcGxlbWVudGVkKTsKLSAgICAgICAgcmV0dXJuIFB5X05vdEltcGxlbWVudGVkOwotICAgIH0KKyAgICBpZiAoIVB5QW55U2V0X0NoZWNrKG90aGVyKSkKKyAgICAgICAgUHlfUkVUVVJOX05PVElNUExFTUVOVEVEOwogICAgIHJlc3VsdCA9IHNldF9pbnRlcnNlY3Rpb25fdXBkYXRlKHNvLCBvdGhlcik7CiAgICAgaWYgKHJlc3VsdCA9PSBOVUxMKQogICAgICAgICByZXR1cm4gTlVMTDsKQEAgLTE2MjUsMjAgKzE2MTgsMTYgQEAKIHN0YXRpYyBQeU9iamVjdCAqCiBzZXRfc3ViKFB5U2V0T2JqZWN0ICpzbywgUHlPYmplY3QgKm90aGVyKQogewotICAgIGlmICghUHlBbnlTZXRfQ2hlY2soc28pIHx8ICFQeUFueVNldF9DaGVjayhvdGhlcikpIHsKLSAgICAgICAgUHlfSU5DUkVGKFB5X05vdEltcGxlbWVudGVkKTsKLSAgICAgICAgcmV0dXJuIFB5X05vdEltcGxlbWVudGVkOwotICAgIH0KKyAgICBpZiAoIVB5QW55U2V0X0NoZWNrKHNvKSB8fCAhUHlBbnlTZXRfQ2hlY2sob3RoZXIpKQorICAgICAgICBQeV9SRVRVUk5fTk9USU1QTEVNRU5URUQ7CiAgICAgcmV0dXJuIHNldF9kaWZmZXJlbmNlKHNvLCBvdGhlcik7CiB9CiAKIHN0YXRpYyBQeU9iamVjdCAqCiBzZXRfaXN1YihQeVNldE9iamVjdCAqc28sIFB5T2JqZWN0ICpvdGhlcikKIHsKLSAgICBpZiAoIVB5QW55U2V0X0NoZWNrKG90aGVyKSkgewotICAgICAgICBQeV9JTkNSRUYoUHlfTm90SW1wbGVtZW50ZWQpOwotICAgICAgICByZXR1cm4gUHlfTm90SW1wbGVtZW50ZWQ7Ci0gICAgfQorICAgIGlmICghUHlBbnlTZXRfQ2hlY2sob3RoZXIpKQorICAgICAgICBQeV9SRVRVUk5fTk9USU1QTEVNRU5URUQ7CiAgICAgaWYgKHNldF9kaWZmZXJlbmNlX3VwZGF0ZV9pbnRlcm5hbChzbywgb3RoZXIpID09IC0xKQogICAgICAgICByZXR1cm4gTlVMTDsKICAgICBQeV9JTkNSRUYoc28pOwpAQCAtMTczNiwxMCArMTcyNSw4IEBACiBzdGF0aWMgUHlPYmplY3QgKgogc2V0X3hvcihQeVNldE9iamVjdCAqc28sIFB5T2JqZWN0ICpvdGhlcikKIHsKLSAgICBpZiAoIVB5QW55U2V0X0NoZWNrKHNvKSB8fCAhUHlBbnlTZXRfQ2hlY2sob3RoZXIpKSB7Ci0gICAgICAgIFB5X0lOQ1JFRihQeV9Ob3RJbXBsZW1lbnRlZCk7Ci0gICAgICAgIHJldHVybiBQeV9Ob3RJbXBsZW1lbnRlZDsKLSAgICB9CisgICAgaWYgKCFQeUFueVNldF9DaGVjayhzbykgfHwgIVB5QW55U2V0X0NoZWNrKG90aGVyKSkKKyAgICAgICAgUHlfUkVUVVJOX05PVElNUExFTUVOVEVEOwogICAgIHJldHVybiBzZXRfc3ltbWV0cmljX2RpZmZlcmVuY2Uoc28sIG90aGVyKTsKIH0KIApAQCAtMTc0OCwxMCArMTczNSw4IEBACiB7CiAgICAgUHlPYmplY3QgKnJlc3VsdDsKIAotICAgIGlmICghUHlBbnlTZXRfQ2hlY2sob3RoZXIpKSB7Ci0gICAgICAgIFB5X0lOQ1JFRihQeV9Ob3RJbXBsZW1lbnRlZCk7Ci0gICAgICAgIHJldHVybiBQeV9Ob3RJbXBsZW1lbnRlZDsKLSAgICB9CisgICAgaWYgKCFQeUFueVNldF9DaGVjayhvdGhlcikpCisgICAgICAgIFB5X1JFVFVSTl9OT1RJTVBMRU1FTlRFRDsKICAgICByZXN1bHQgPSBzZXRfc3ltbWV0cmljX2RpZmZlcmVuY2VfdXBkYXRlKHNvLCBvdGhlcik7CiAgICAgaWYgKHJlc3VsdCA9PSBOVUxMKQogICAgICAgICByZXR1cm4gTlVMTDsKQEAgLTE4MTMsMTAgKzE3OTgsOSBAQAogewogICAgIFB5T2JqZWN0ICpyMSwgKnIyOwogCi0gICAgaWYoIVB5QW55U2V0X0NoZWNrKHcpKSB7Ci0gICAgICAgIFB5X0lOQ1JFRihQeV9Ob3RJbXBsZW1lbnRlZCk7Ci0gICAgICAgIHJldHVybiBQeV9Ob3RJbXBsZW1lbnRlZDsKLSAgICB9CisgICAgaWYoIVB5QW55U2V0X0NoZWNrKHcpKQorICAgICAgICBQeV9SRVRVUk5fTk9USU1QTEVNRU5URUQ7CisKICAgICBzd2l0Y2ggKG9wKSB7CiAgICAgY2FzZSBQeV9FUToKICAgICAgICAgaWYgKFB5U2V0X0dFVF9TSVpFKHYpICE9IFB5U2V0X0dFVF9TSVpFKHcpKQpAQCAtMTg0Niw4ICsxODMwLDcgQEAKICAgICAgICAgICAgIFB5X1JFVFVSTl9GQUxTRTsKICAgICAgICAgcmV0dXJuIHNldF9pc3N1cGVyc2V0KHYsIHcpOwogICAgIH0KLSAgICBQeV9JTkNSRUYoUHlfTm90SW1wbGVtZW50ZWQpOwotICAgIHJldHVybiBQeV9Ob3RJbXBsZW1lbnRlZDsKKyAgICBQeV9SRVRVUk5fTk9USU1QTEVNRU5URUQ7CiB9CiAKIHN0YXRpYyBQeU9iamVjdCAqCkBAIC0xOTU5LDYgKzE5NDIsNyBAQAogc2V0X3JlZHVjZShQeVNldE9iamVjdCAqc28pCiB7CiAgICAgUHlPYmplY3QgKmtleXM9TlVMTCwgKmFyZ3M9TlVMTCwgKnJlc3VsdD1OVUxMLCAqZGljdD1OVUxMOworICAgIF9QeV9JREVOVElGSUVSKF9fZGljdF9fKTsKIAogICAgIGtleXMgPSBQeVNlcXVlbmNlX0xpc3QoKFB5T2JqZWN0ICopc28pOwogICAgIGlmIChrZXlzID09IE5VTEwpCkBAIC0xOTY2LDcgKzE5NTAsNyBAQAogICAgIGFyZ3MgPSBQeVR1cGxlX1BhY2soMSwga2V5cyk7CiAgICAgaWYgKGFyZ3MgPT0gTlVMTCkKICAgICAgICAgZ290byBkb25lOwotICAgIGRpY3QgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKChQeU9iamVjdCAqKXNvLCAiX19kaWN0X18iKTsKKyAgICBkaWN0ID0gX1B5T2JqZWN0X0dldEF0dHJJZCgoUHlPYmplY3QgKilzbywgJlB5SWRfX19kaWN0X18pOwogICAgIGlmIChkaWN0ID09IE5VTEwpIHsKICAgICAgICAgUHlFcnJfQ2xlYXIoKTsKICAgICAgICAgZGljdCA9IFB5X05vbmU7CmRpZmYgLS1naXQgYS9PYmplY3RzL3NsaWNlb2JqZWN0LmMgYi9PYmplY3RzL3NsaWNlb2JqZWN0LmMKaW5kZXggZDdiOTdjOS4uYzRhMTkwNyAxMDA2NDQKLS0tIGEvT2JqZWN0cy9zbGljZW9iamVjdC5jCisrKyBiL09iamVjdHMvc2xpY2VvYmplY3QuYwpAQCAtMTcsNiArMTcsMTcgQEAKICNpbmNsdWRlICJzdHJ1Y3RtZW1iZXIuaCIKIAogc3RhdGljIFB5T2JqZWN0ICoKK2VsbGlwc2lzX25ldyhQeVR5cGVPYmplY3QgKnR5cGUsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzKQoreworICAgIGlmIChQeVR1cGxlX0dFVF9TSVpFKGFyZ3MpIHx8IChrd2FyZ3MgJiYgUHlEaWN0X1NpemUoa3dhcmdzKSkpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgIkVsbGlwc2lzVHlwZSB0YWtlcyBubyBhcmd1bWVudHMiKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorICAgIFB5X0lOQ1JFRihQeV9FbGxpcHNpcyk7CisgICAgcmV0dXJuIFB5X0VsbGlwc2lzOworfQorCitzdGF0aWMgUHlPYmplY3QgKgogZWxsaXBzaXNfcmVwcihQeU9iamVjdCAqb3ApCiB7CiAgICAgcmV0dXJuIFB5VW5pY29kZV9Gcm9tU3RyaW5nKCJFbGxpcHNpcyIpOwpAQCAtNDMsNiArNTQsMjQgQEAKICAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9zZXRhdHRybyAqLwogICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2FzX2J1ZmZlciAqLwogICAgIFB5X1RQRkxBR1NfREVGQVVMVCwgICAgICAgICAgICAgICAgIC8qIHRwX2ZsYWdzICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfZG9jICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfdHJhdmVyc2UgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9jbGVhciAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX3JpY2hjb21wYXJlICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfd2Vha2xpc3RvZmZzZXQgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9pdGVyICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfaXRlcm5leHQgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9tZXRob2RzICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfbWVtYmVycyAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2dldHNldCAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2Jhc2UgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9kaWN0ICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfZGVzY3JfZ2V0ICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfZGVzY3Jfc2V0ICovCisgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfZGljdG9mZnNldCAqLworICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2luaXQgKi8KKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9hbGxvYyAqLworICAgIGVsbGlwc2lzX25ldywgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX25ldyAqLwogfTsKIAogUHlPYmplY3QgX1B5X0VsbGlwc2lzT2JqZWN0ID0gewpAQCAtNTEsMTkgKzgwLDM4IEBACiB9OwogCiAKLS8qIFNsaWNlIG9iamVjdCBpbXBsZW1lbnRhdGlvbgorLyogU2xpY2Ugb2JqZWN0IGltcGxlbWVudGF0aW9uICovCiAKLSAgIHN0YXJ0LCBzdG9wLCBhbmQgc3RlcCBhcmUgcHl0aG9uIG9iamVjdHMgd2l0aCBOb25lIGluZGljYXRpbmcgbm8KKy8qIFVzaW5nIGEgY2FjaGUgaXMgdmVyeSBlZmZlY3RpdmUgc2luY2UgdHlwaWNhbGx5IG9ubHkgYSBzaW5nbGUgc2xpY2UgaXMKKyAqIGNyZWF0ZWQgYW5kIHRoZW4gZGVsZXRlZCBhZ2FpbgorICovCitzdGF0aWMgUHlTbGljZU9iamVjdCAqc2xpY2VfY2FjaGUgPSBOVUxMOwordm9pZCBQeVNsaWNlX0Zpbmkodm9pZCkKK3sKKyAgICBQeVNsaWNlT2JqZWN0ICpvYmogPSBzbGljZV9jYWNoZTsKKyAgICBpZiAob2JqICE9IE5VTEwpIHsKKyAgICAgICAgc2xpY2VfY2FjaGUgPSBOVUxMOworICAgICAgICBQeU9iamVjdF9EZWwob2JqKTsKKyAgICB9Cit9CisKKy8qIHN0YXJ0LCBzdG9wLCBhbmQgc3RlcCBhcmUgcHl0aG9uIG9iamVjdHMgd2l0aCBOb25lIGluZGljYXRpbmcgbm8KICAgIGluZGV4IGlzIHByZXNlbnQuCiAqLwogCiBQeU9iamVjdCAqCiBQeVNsaWNlX05ldyhQeU9iamVjdCAqc3RhcnQsIFB5T2JqZWN0ICpzdG9wLCBQeU9iamVjdCAqc3RlcCkKIHsKLSAgICBQeVNsaWNlT2JqZWN0ICpvYmogPSBQeU9iamVjdF9OZXcoUHlTbGljZU9iamVjdCwgJlB5U2xpY2VfVHlwZSk7Ci0KLSAgICBpZiAob2JqID09IE5VTEwpCi0gICAgICAgIHJldHVybiBOVUxMOworICAgIFB5U2xpY2VPYmplY3QgKm9iajsKKyAgICBpZiAoc2xpY2VfY2FjaGUgIT0gTlVMTCkgeworICAgICAgICBvYmogPSBzbGljZV9jYWNoZTsKKyAgICAgICAgc2xpY2VfY2FjaGUgPSBOVUxMOworICAgICAgICBfUHlfTmV3UmVmZXJlbmNlKChQeU9iamVjdCAqKW9iaik7CisgICAgfSBlbHNlIHsKKyAgICAgICAgb2JqID0gUHlPYmplY3RfTmV3KFB5U2xpY2VPYmplY3QsICZQeVNsaWNlX1R5cGUpOworICAgICAgICBpZiAob2JqID09IE5VTEwpCisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CiAKICAgICBpZiAoc3RlcCA9PSBOVUxMKSBzdGVwID0gUHlfTm9uZTsKICAgICBQeV9JTkNSRUYoc3RlcCk7CkBAIC0yMzEsNyArMjc5LDEwIEBACiAgICAgUHlfREVDUkVGKHItPnN0ZXApOwogICAgIFB5X0RFQ1JFRihyLT5zdGFydCk7CiAgICAgUHlfREVDUkVGKHItPnN0b3ApOwotICAgIFB5T2JqZWN0X0RlbChyKTsKKyAgICBpZiAoc2xpY2VfY2FjaGUgPT0gTlVMTCkKKyAgICAgICAgc2xpY2VfY2FjaGUgPSByOworICAgIGVsc2UKKyAgICAgICAgUHlPYmplY3RfRGVsKHIpOwogfQogCiBzdGF0aWMgUHlPYmplY3QgKgpAQCAtMjk3LDEwICszNDgsOCBAQAogICAgIFB5T2JqZWN0ICp0MjsKICAgICBQeU9iamVjdCAqcmVzOwogCi0gICAgaWYgKCFQeVNsaWNlX0NoZWNrKHYpIHx8ICFQeVNsaWNlX0NoZWNrKHcpKSB7Ci0gICAgICAgIFB5X0lOQ1JFRihQeV9Ob3RJbXBsZW1lbnRlZCk7Ci0gICAgICAgIHJldHVybiBQeV9Ob3RJbXBsZW1lbnRlZDsKLSAgICB9CisgICAgaWYgKCFQeVNsaWNlX0NoZWNrKHYpIHx8ICFQeVNsaWNlX0NoZWNrKHcpKQorICAgICAgICBQeV9SRVRVUk5fTk9USU1QTEVNRU5URUQ7CiAKICAgICBpZiAodiA9PSB3KSB7CiAgICAgICAgIC8qIFhYWCBEbyB3ZSByZWFsbHkgbmVlZCB0aGlzIHNob3J0Y3V0PwpkaWZmIC0tZ2l0IGEvT2JqZWN0cy9zdHJpbmdsaWIvYXNjaWlsaWIuaCBiL09iamVjdHMvc3RyaW5nbGliL2FzY2lpbGliLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmE0ODFjMAotLS0gL2Rldi9udWxsCisrKyBiL09iamVjdHMvc3RyaW5nbGliL2FzY2lpbGliLmgKQEAgLTAsMCArMSwyOSBAQAorLyogdGhpcyBpcyBzb3J0IG9mIGEgaGFjay4gIHRoZXJlJ3MgYXQgbGVhc3Qgb25lIHBsYWNlIChmb3JtYXR0aW5nCisgICBmbG9hdHMpIHdoZXJlIHNvbWUgc3RyaW5nbGliIGNvZGUgdGFrZXMgYSBkaWZmZXJlbnQgcGF0aCBpZiBpdCdzCisgICBjb21waWxlZCBhcyB1bmljb2RlLiAqLworI2RlZmluZSBTVFJJTkdMSUJfSVNfVU5JQ09ERSAgICAgMQorCisjZGVmaW5lIEZBU1RTRUFSQ0ggICAgICAgICAgICAgICBhc2NpaWxpYl9mYXN0c2VhcmNoCisjZGVmaW5lIFNUUklOR0xJQihGKSAgICAgICAgICAgICBhc2NpaWxpYl8jI0YKKyNkZWZpbmUgU1RSSU5HTElCX09CSkVDVCAgICAgICAgIFB5VW5pY29kZU9iamVjdAorI2RlZmluZSBTVFJJTkdMSUJfU0laRU9GX0NIQVIgICAgMQorI2RlZmluZSBTVFJJTkdMSUJfQ0hBUiAgICAgICAgICAgUHlfVUNTMQorI2RlZmluZSBTVFJJTkdMSUJfVFlQRV9OQU1FICAgICAgInVuaWNvZGUiCisjZGVmaW5lIFNUUklOR0xJQl9QQVJTRV9DT0RFICAgICAiVSIKKyNkZWZpbmUgU1RSSU5HTElCX0VNUFRZICAgICAgICAgIHVuaWNvZGVfZW1wdHkKKyNkZWZpbmUgU1RSSU5HTElCX0lTU1BBQ0UgICAgICAgIFB5X1VOSUNPREVfSVNTUEFDRQorI2RlZmluZSBTVFJJTkdMSUJfSVNMSU5FQlJFQUsgICAgQkxPT01fTElORUJSRUFLCisjZGVmaW5lIFNUUklOR0xJQl9JU0RFQ0lNQUwgICAgICBQeV9VTklDT0RFX0lTREVDSU1BTAorI2RlZmluZSBTVFJJTkdMSUJfVE9ERUNJTUFMICAgICAgUHlfVU5JQ09ERV9UT0RFQ0lNQUwKKyNkZWZpbmUgU1RSSU5HTElCX1NUUiAgICAgICAgICAgIFB5VW5pY29kZV8xQllURV9EQVRBCisjZGVmaW5lIFNUUklOR0xJQl9MRU4gICAgICAgICAgICBQeVVuaWNvZGVfR0VUX0xFTkdUSAorI2RlZmluZSBTVFJJTkdMSUJfTkVXICAgICAgICAgICAgdW5pY29kZV9mcm9tYXNjaWkKKyNkZWZpbmUgU1RSSU5HTElCX1JFU0laRSAgICAgICAgIG5vdF9zdXBwb3J0ZWQKKyNkZWZpbmUgU1RSSU5HTElCX0NIRUNLICAgICAgICAgIFB5VW5pY29kZV9DaGVjaworI2RlZmluZSBTVFJJTkdMSUJfQ0hFQ0tfRVhBQ1QgICAgUHlVbmljb2RlX0NoZWNrRXhhY3QKKworI2RlZmluZSBTVFJJTkdMSUJfVE9TVFIgICAgICAgICAgUHlPYmplY3RfU3RyCisjZGVmaW5lIFNUUklOR0xJQl9UT0FTQ0lJICAgICAgICBQeU9iamVjdF9BU0NJSQorCisjZGVmaW5lIF9QeV9JbnNlcnRUaG91c2FuZHNHcm91cGluZyBfUHlVbmljb2RlX2FzY2lpX0luc2VydFRob3VzYW5kc0dyb3VwaW5nCisKZGlmZiAtLWdpdCBhL09iamVjdHMvc3RyaW5nbGliL2NvZGVjcy5oIGIvT2JqZWN0cy9zdHJpbmdsaWIvY29kZWNzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTM5OTQ4YgotLS0gL2Rldi9udWxsCisrKyBiL09iamVjdHMvc3RyaW5nbGliL2NvZGVjcy5oCkBAIC0wLDAgKzEsMzUzIEBACisvKiBzdHJpbmdsaWI6IGNvZGVjIGltcGxlbWVudGF0aW9ucyAqLworCisjaWYgU1RSSU5HTElCX0lTX1VOSUNPREUKKworLyogTWFzayB0byBjaGVjayBvciBmb3JjZSBhbGlnbm1lbnQgb2YgYSBwb2ludGVyIHRvIEMgJ2xvbmcnIGJvdW5kYXJpZXMgKi8KKyNkZWZpbmUgTE9OR19QVFJfTUFTSyAoc2l6ZV90KSAoU0laRU9GX0xPTkcgLSAxKQorCisvKiBNYXNrIHRvIHF1aWNrbHkgY2hlY2sgd2hldGhlciBhIEMgJ2xvbmcnIGNvbnRhaW5zIGEKKyAgIG5vbi1BU0NJSSwgVVRGOC1lbmNvZGVkIGNoYXIuICovCisjaWYgKFNJWkVPRl9MT05HID09IDgpCisjIGRlZmluZSBBU0NJSV9DSEFSX01BU0sgMHg4MDgwODA4MDgwODA4MDgwTAorI2VsaWYgKFNJWkVPRl9MT05HID09IDQpCisjIGRlZmluZSBBU0NJSV9DSEFSX01BU0sgMHg4MDgwODA4MEwKKyNlbHNlCisjIGVycm9yIEMgJ2xvbmcnIHNpemUgc2hvdWxkIGJlIGVpdGhlciA0IG9yIDghCisjZW5kaWYKKworUHlfTE9DQUxfSU5MSU5FKGludCkKK1NUUklOR0xJQih1dGY4X3RyeV9kZWNvZGUpKGNvbnN0IGNoYXIgKnN0YXJ0LCBjb25zdCBjaGFyICplbmQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBTVFJJTkdMSUJfQ0hBUiAqZGVzdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKipzcmNfcG9zLCBQeV9zc2l6ZV90ICpkZXN0X2luZGV4KQoreworICAgIGludCByZXQ7CisgICAgUHlfc3NpemVfdCBuOworICAgIGNvbnN0IGNoYXIgKnMgPSBzdGFydDsKKyAgICBjb25zdCBjaGFyICphbGlnbmVkX2VuZCA9IChjb25zdCBjaGFyICopICgoc2l6ZV90KSBlbmQgJiB+TE9OR19QVFJfTUFTSyk7CisgICAgU1RSSU5HTElCX0NIQVIgKnAgPSBkZXN0OworCisgICAgd2hpbGUgKHMgPCBlbmQpIHsKKyAgICAgICAgUHlfVUNTNCBjaCA9ICh1bnNpZ25lZCBjaGFyKSpzOworCisgICAgICAgIGlmIChjaCA8IDB4ODApIHsKKyAgICAgICAgICAgIC8qIEZhc3QgcGF0aCBmb3IgcnVucyBvZiBBU0NJSSBjaGFyYWN0ZXJzLiBHaXZlbiB0aGF0IGNvbW1vbiBVVEYtOAorICAgICAgICAgICAgICAgaW5wdXQgd2lsbCBjb25zaXN0IG9mIGFuIG92ZXJ3aGVsbWluZyBtYWpvcml0eSBvZiBBU0NJSQorICAgICAgICAgICAgICAgY2hhcmFjdGVycywgd2UgdHJ5IHRvIG9wdGltaXplIGZvciB0aGlzIGNhc2UgYnkgY2hlY2tpbmcKKyAgICAgICAgICAgICAgIGFzIG1hbnkgY2hhcmFjdGVycyBhcyBhIEMgJ2xvbmcnIGNhbiBjb250YWluLgorICAgICAgICAgICAgICAgRmlyc3QsIGNoZWNrIGlmIHdlIGNhbiBkbyBhbiBhbGlnbmVkIHJlYWQsIGFzIG1vc3QgQ1BVcyBoYXZlCisgICAgICAgICAgICAgICBhIHBlbmFsdHkgZm9yIHVuYWxpZ25lZCByZWFkcy4KKyAgICAgICAgICAgICovCisgICAgICAgICAgICBpZiAoISgoc2l6ZV90KSBzICYgTE9OR19QVFJfTUFTSykpIHsKKyAgICAgICAgICAgICAgICAvKiBIZWxwIHJlZ2lzdGVyIGFsbG9jYXRpb24gKi8KKyAgICAgICAgICAgICAgICByZWdpc3RlciBjb25zdCBjaGFyICpfcyA9IHM7CisgICAgICAgICAgICAgICAgcmVnaXN0ZXIgU1RSSU5HTElCX0NIQVIgKl9wID0gcDsKKyAgICAgICAgICAgICAgICB3aGlsZSAoX3MgPCBhbGlnbmVkX2VuZCkgeworICAgICAgICAgICAgICAgICAgICAvKiBSZWFkIGEgd2hvbGUgbG9uZyBhdCBhIHRpbWUgKGVpdGhlciA0IG9yIDggYnl0ZXMpLAorICAgICAgICAgICAgICAgICAgICAgICBhbmQgZG8gYSBmYXN0IHVucm9sbGVkIGNvcHkgaWYgaXQgb25seSBjb250YWlucyBBU0NJSQorICAgICAgICAgICAgICAgICAgICAgICBjaGFyYWN0ZXJzLiAqLworICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIHZhbHVlID0gKih1bnNpZ25lZCBsb25nICopIF9zOworICAgICAgICAgICAgICAgICAgICBpZiAodmFsdWUgJiBBU0NJSV9DSEFSX01BU0spCisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgX3BbMF0gPSBfc1swXTsKKyAgICAgICAgICAgICAgICAgICAgX3BbMV0gPSBfc1sxXTsKKyAgICAgICAgICAgICAgICAgICAgX3BbMl0gPSBfc1syXTsKKyAgICAgICAgICAgICAgICAgICAgX3BbM10gPSBfc1szXTsKKyNpZiAoU0laRU9GX0xPTkcgPT0gOCkKKyAgICAgICAgICAgICAgICAgICAgX3BbNF0gPSBfc1s0XTsKKyAgICAgICAgICAgICAgICAgICAgX3BbNV0gPSBfc1s1XTsKKyAgICAgICAgICAgICAgICAgICAgX3BbNl0gPSBfc1s2XTsKKyAgICAgICAgICAgICAgICAgICAgX3BbN10gPSBfc1s3XTsKKyNlbmRpZgorICAgICAgICAgICAgICAgICAgICBfcyArPSBTSVpFT0ZfTE9ORzsKKyAgICAgICAgICAgICAgICAgICAgX3AgKz0gU0laRU9GX0xPTkc7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIHMgPSBfczsKKyAgICAgICAgICAgICAgICBwID0gX3A7CisgICAgICAgICAgICAgICAgaWYgKHMgPT0gZW5kKQorICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICBjaCA9ICh1bnNpZ25lZCBjaGFyKSpzOworICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgaWYgKGNoIDwgMHg4MCkgeworICAgICAgICAgICAgcysrOworICAgICAgICAgICAgKnArKyA9IGNoOworICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIH0KKworICAgICAgICBuID0gdXRmOF9jb2RlX2xlbmd0aFtjaF07CisKKyAgICAgICAgaWYgKHMgKyBuID4gZW5kKSB7CisgICAgICAgICAgICAvKiB1bmV4cGVjdGVkIGVuZCBvZiBkYXRhOiB0aGUgY2FsbGVyIHdpbGwgZGVjaWRlIHdoZXRoZXIKKyAgICAgICAgICAgICAgIGl0J3MgYW4gZXJyb3Igb3Igbm90ICovCisgICAgICAgICAgICBnb3RvIF9lcnJvcjsKKyAgICAgICAgfQorCisgICAgICAgIHN3aXRjaCAobikgeworICAgICAgICBjYXNlIDA6CisgICAgICAgICAgICAvKiBpbnZhbGlkIHN0YXJ0IGJ5dGUgKi8KKyAgICAgICAgICAgIGdvdG8gX2Vycm9yOworICAgICAgICBjYXNlIDE6CisgICAgICAgICAgICAvKiBpbnRlcm5hbCBlcnJvciAqLworICAgICAgICAgICAgZ290byBfZXJyb3I7CisgICAgICAgIGNhc2UgMjoKKyAgICAgICAgICAgIGlmICgoc1sxXSAmIDB4YzApICE9IDB4ODApCisgICAgICAgICAgICAgICAgLyogaW52YWxpZCBjb250aW51YXRpb24gYnl0ZSAqLworICAgICAgICAgICAgICAgIGdvdG8gX2Vycm9yOworICAgICAgICAgICAgY2ggPSAoKHNbMF0gJiAweDFmKSA8PCA2KSArIChzWzFdICYgMHgzZik7CisgICAgICAgICAgICBhc3NlcnQgKChjaCA+IDB4MDA3RikgJiYgKGNoIDw9IDB4MDdGRikpOworICAgICAgICAgICAgcyArPSAyOworICAgICAgICAgICAgKnArKyA9IGNoOworICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgY2FzZSAzOgorICAgICAgICAgICAgLyogRGVjb2RpbmcgVVRGLTggc2VxdWVuY2VzIGluIHJhbmdlIFx4ZWRceGEwXHg4MC1ceGVkXHhiZlx4YmYKKyAgICAgICAgICAgICAgIHdpbGwgcmVzdWx0IGluIHN1cnJvZ2F0ZXMgaW4gcmFuZ2UgZDgwMC1kZmZmLiBTdXJyb2dhdGVzIGFyZQorICAgICAgICAgICAgICAgbm90IHZhbGlkIFVURi04IHNvIHRoZXkgYXJlIHJlamVjdGVkLgorICAgICAgICAgICAgICAgU2VlIGh0dHA6Ly93d3cudW5pY29kZS5vcmcvdmVyc2lvbnMvVW5pY29kZTUuMi4wL2NoMDMucGRmCisgICAgICAgICAgICAgICAodGFibGUgMy03KSBhbmQgaHR0cDovL3d3dy5yZmMtZWRpdG9yLm9yZy9yZmMvcmZjMzYyOS50eHQgKi8KKyAgICAgICAgICAgIGlmICgoc1sxXSAmIDB4YzApICE9IDB4ODAgfHwKKyAgICAgICAgICAgICAgICAoc1syXSAmIDB4YzApICE9IDB4ODAgfHwKKyAgICAgICAgICAgICAgICAoKHVuc2lnbmVkIGNoYXIpc1swXSA9PSAweEUwICYmCisgICAgICAgICAgICAgICAgICh1bnNpZ25lZCBjaGFyKXNbMV0gPCAweEEwKSB8fAorICAgICAgICAgICAgICAgICgodW5zaWduZWQgY2hhcilzWzBdID09IDB4RUQgJiYKKyAgICAgICAgICAgICAgICAgKHVuc2lnbmVkIGNoYXIpc1sxXSA+IDB4OUYpKSB7CisgICAgICAgICAgICAgICAgLyogaW52YWxpZCBjb250aW51YXRpb24gYnl0ZSAqLworICAgICAgICAgICAgICAgIGdvdG8gX2Vycm9yOworICAgICAgICAgICAgfQorICAgICAgICAgICAgY2ggPSAoKHNbMF0gJiAweDBmKSA8PCAxMikgKyAoKHNbMV0gJiAweDNmKSA8PCA2KSArIChzWzJdICYgMHgzZik7CisgICAgICAgICAgICBhc3NlcnQgKChjaCA+IDB4MDdGRikgJiYgKGNoIDw9IDB4RkZGRikpOworICAgICAgICAgICAgcyArPSAzOworICAgICAgICAgICAgKnArKyA9IGNoOworICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgY2FzZSA0OgorICAgICAgICAgICAgaWYgKChzWzFdICYgMHhjMCkgIT0gMHg4MCB8fAorICAgICAgICAgICAgICAgIChzWzJdICYgMHhjMCkgIT0gMHg4MCB8fAorICAgICAgICAgICAgICAgIChzWzNdICYgMHhjMCkgIT0gMHg4MCB8fAorICAgICAgICAgICAgICAgICgodW5zaWduZWQgY2hhcilzWzBdID09IDB4RjAgJiYKKyAgICAgICAgICAgICAgICAgKHVuc2lnbmVkIGNoYXIpc1sxXSA8IDB4OTApIHx8CisgICAgICAgICAgICAgICAgKCh1bnNpZ25lZCBjaGFyKXNbMF0gPT0gMHhGNCAmJgorICAgICAgICAgICAgICAgICAodW5zaWduZWQgY2hhcilzWzFdID4gMHg4RikpIHsKKyAgICAgICAgICAgICAgICAvKiBpbnZhbGlkIGNvbnRpbnVhdGlvbiBieXRlICovCisgICAgICAgICAgICAgICAgZ290byBfZXJyb3I7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBjaCA9ICgoc1swXSAmIDB4NykgPDwgMTgpICsgKChzWzFdICYgMHgzZikgPDwgMTIpICsKKyAgICAgICAgICAgICAgICAgKChzWzJdICYgMHgzZikgPDwgNikgKyAoc1szXSAmIDB4M2YpOworICAgICAgICAgICAgYXNzZXJ0ICgoY2ggPiAweEZGRkYpICYmIChjaCA8PSAweDEwZmZmZikpOworICAgICAgICAgICAgcyArPSA0OworICAgICAgICAgICAgKnArKyA9IGNoOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICB9CisgICAgcmV0ID0gMDsKKyAgICBnb3RvIF9vazsKK19lcnJvcjoKKyAgICByZXQgPSAtMTsKK19vazoKKyAgICAqc3JjX3BvcyA9IHM7CisgICAgKmRlc3RfaW5kZXggPSBwIC0gZGVzdDsKKyAgICByZXR1cm4gcmV0OworfQorCisjdW5kZWYgTE9OR19QVFJfTUFTSworI3VuZGVmIEFTQ0lJX0NIQVJfTUFTSworCisKKy8qIFVURi04IGVuY29kZXIgc3BlY2lhbGl6ZWQgZm9yIGEgVW5pY29kZSBraW5kIHRvIGF2b2lkIHRoZSBzbG93CisgICBQeVVuaWNvZGVfUkVBRCgpIG1hY3JvLiBEZWxldGUgc29tZSBwYXJ0cyBvZiB0aGUgY29kZSBkZXBlbmRpbmcgb24gdGhlIGtpbmQ6CisgICBVQ1MtMSBzdHJpbmdzIGRvbid0IG5lZWQgdG8gaGFuZGxlIHN1cnJvZ2F0ZXMgZm9yIGV4YW1wbGUuICovCitQeV9MT0NBTF9JTkxJTkUoUHlPYmplY3QgKikKK1NUUklOR0xJQih1dGY4X2VuY29kZXIpKFB5T2JqZWN0ICp1bmljb2RlLAorICAgICAgICAgICAgICAgICAgICAgICAgU1RSSU5HTElCX0NIQVIgKmRhdGEsCisgICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IHNpemUsCisgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICplcnJvcnMpCit7CisjZGVmaW5lIE1BWF9TSE9SVF9VTklDSEFSUyAzMDAgIC8qIGxhcmdlc3Qgc2l6ZSB3ZSdsbCBkbyBvbiB0aGUgc3RhY2sgKi8KKworICAgIFB5X3NzaXplX3QgaTsgICAgICAgICAgICAgICAgLyogaW5kZXggaW50byBzIG9mIG5leHQgaW5wdXQgYnl0ZSAqLworICAgIFB5T2JqZWN0ICpyZXN1bHQ7ICAgICAgICAgICAgLyogcmVzdWx0IHN0cmluZyBvYmplY3QgKi8KKyAgICBjaGFyICpwOyAgICAgICAgICAgICAgICAgICAgIC8qIG5leHQgZnJlZSBieXRlIGluIG91dHB1dCBidWZmZXIgKi8KKyAgICBQeV9zc2l6ZV90IG5hbGxvY2F0ZWQ7ICAgICAgLyogbnVtYmVyIG9mIHJlc3VsdCBieXRlcyBhbGxvY2F0ZWQgKi8KKyAgICBQeV9zc2l6ZV90IG5uZWVkZWQ7ICAgICAgICAgICAgLyogbnVtYmVyIG9mIHJlc3VsdCBieXRlcyBuZWVkZWQgKi8KKyNpZiBTVFJJTkdMSUJfU0laRU9GX0NIQVIgPiAxCisgICAgUHlPYmplY3QgKmVycm9ySGFuZGxlciA9IE5VTEw7CisgICAgUHlPYmplY3QgKmV4YyA9IE5VTEw7CisgICAgUHlPYmplY3QgKnJlcCA9IE5VTEw7CisjZW5kaWYKKyNpZiBTVFJJTkdMSUJfU0laRU9GX0NIQVIgPT0gMQorICAgIGNvbnN0IFB5X3NzaXplX3QgbWF4X2NoYXJfc2l6ZSA9IDI7CisgICAgY2hhciBzdGFja2J1ZltNQVhfU0hPUlRfVU5JQ0hBUlMgKiAyXTsKKyNlbGlmIFNUUklOR0xJQl9TSVpFT0ZfQ0hBUiA9PSAyCisgICAgY29uc3QgUHlfc3NpemVfdCBtYXhfY2hhcl9zaXplID0gMzsKKyAgICBjaGFyIHN0YWNrYnVmW01BWF9TSE9SVF9VTklDSEFSUyAqIDNdOworI2Vsc2UgLyogIFNUUklOR0xJQl9TSVpFT0ZfQ0hBUiA9PSA0ICovCisgICAgY29uc3QgUHlfc3NpemVfdCBtYXhfY2hhcl9zaXplID0gNDsKKyAgICBjaGFyIHN0YWNrYnVmW01BWF9TSE9SVF9VTklDSEFSUyAqIDRdOworI2VuZGlmCisKKyAgICBhc3NlcnQoc2l6ZSA+PSAwKTsKKworICAgIGlmIChzaXplIDw9IE1BWF9TSE9SVF9VTklDSEFSUykgeworICAgICAgICAvKiBXcml0ZSBpbnRvIHRoZSBzdGFjayBidWZmZXI7IG5hbGxvY2F0ZWQgY2FuJ3Qgb3ZlcmZsb3cuCisgICAgICAgICAqIEF0IHRoZSBlbmQsIHdlJ2xsIGFsbG9jYXRlIGV4YWN0bHkgYXMgbXVjaCBoZWFwIHNwYWNlIGFzIGl0CisgICAgICAgICAqIHR1cm5zIG91dCB3ZSBuZWVkLgorICAgICAgICAgKi8KKyAgICAgICAgbmFsbG9jYXRlZCA9IFB5X1NBRkVfRE9XTkNBU1Qoc2l6ZW9mKHN0YWNrYnVmKSwgc2l6ZV90LCBpbnQpOworICAgICAgICByZXN1bHQgPSBOVUxMOyAgIC8qIHdpbGwgYWxsb2NhdGUgYWZ0ZXIgd2UncmUgZG9uZSAqLworICAgICAgICBwID0gc3RhY2tidWY7CisgICAgfQorICAgIGVsc2UgeworICAgICAgICBpZiAoc2l6ZSA+IFBZX1NTSVpFX1RfTUFYIC8gbWF4X2NoYXJfc2l6ZSkgeworICAgICAgICAgICAgLyogaW50ZWdlciBvdmVyZmxvdyAqLworICAgICAgICAgICAgcmV0dXJuIFB5RXJyX05vTWVtb3J5KCk7CisgICAgICAgIH0KKyAgICAgICAgLyogT3ZlcmFsbG9jYXRlIG9uIHRoZSBoZWFwLCBhbmQgZ2l2ZSB0aGUgZXhjZXNzIGJhY2sgYXQgdGhlIGVuZC4gKi8KKyAgICAgICAgbmFsbG9jYXRlZCA9IHNpemUgKiBtYXhfY2hhcl9zaXplOworICAgICAgICByZXN1bHQgPSBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplKE5VTEwsIG5hbGxvY2F0ZWQpOworICAgICAgICBpZiAocmVzdWx0ID09IE5VTEwpCisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgcCA9IFB5Qnl0ZXNfQVNfU1RSSU5HKHJlc3VsdCk7CisgICAgfQorCisgICAgZm9yIChpID0gMDsgaSA8IHNpemU7KSB7CisgICAgICAgIFB5X1VDUzQgY2ggPSBkYXRhW2krK107CisKKyAgICAgICAgaWYgKGNoIDwgMHg4MCkgeworICAgICAgICAgICAgLyogRW5jb2RlIEFTQ0lJICovCisgICAgICAgICAgICAqcCsrID0gKGNoYXIpIGNoOworCisgICAgICAgIH0KKyAgICAgICAgZWxzZQorI2lmIFNUUklOR0xJQl9TSVpFT0ZfQ0hBUiA+IDEKKyAgICAgICAgaWYgKGNoIDwgMHgwODAwKQorI2VuZGlmCisgICAgICAgIHsKKyAgICAgICAgICAgIC8qIEVuY29kZSBMYXRpbi0xICovCisgICAgICAgICAgICAqcCsrID0gKGNoYXIpKDB4YzAgfCAoY2ggPj4gNikpOworICAgICAgICAgICAgKnArKyA9IChjaGFyKSgweDgwIHwgKGNoICYgMHgzZikpOworICAgICAgICB9CisjaWYgU1RSSU5HTElCX1NJWkVPRl9DSEFSID4gMQorICAgICAgICBlbHNlIGlmIChQeV9VTklDT0RFX0lTX1NVUlJPR0FURShjaCkpIHsKKyAgICAgICAgICAgIFB5X3NzaXplX3QgbmV3cG9zOworICAgICAgICAgICAgUHlfc3NpemVfdCByZXBzaXplLCBrLCBzdGFydHBvczsKKyAgICAgICAgICAgIHN0YXJ0cG9zID0gaS0xOworICAgICAgICAgICAgcmVwID0gdW5pY29kZV9lbmNvZGVfY2FsbF9lcnJvcmhhbmRsZXIoCisgICAgICAgICAgICAgICAgICBlcnJvcnMsICZlcnJvckhhbmRsZXIsICJ1dGYtOCIsICJzdXJyb2dhdGVzIG5vdCBhbGxvd2VkIiwKKyAgICAgICAgICAgICAgICAgIHVuaWNvZGUsICZleGMsIHN0YXJ0cG9zLCBzdGFydHBvcysxLCAmbmV3cG9zKTsKKyAgICAgICAgICAgIGlmICghcmVwKQorICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisKKyAgICAgICAgICAgIGlmIChQeUJ5dGVzX0NoZWNrKHJlcCkpCisgICAgICAgICAgICAgICAgcmVwc2l6ZSA9IFB5Qnl0ZXNfR0VUX1NJWkUocmVwKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICByZXBzaXplID0gUHlVbmljb2RlX0dFVF9MRU5HVEgocmVwKTsKKworICAgICAgICAgICAgaWYgKHJlcHNpemUgPiBtYXhfY2hhcl9zaXplKSB7CisgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBvZmZzZXQ7CisKKyAgICAgICAgICAgICAgICBpZiAocmVzdWx0ID09IE5VTEwpCisgICAgICAgICAgICAgICAgICAgIG9mZnNldCA9IHAgLSBzdGFja2J1ZjsKKyAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgIG9mZnNldCA9IHAgLSBQeUJ5dGVzX0FTX1NUUklORyhyZXN1bHQpOworCisgICAgICAgICAgICAgICAgaWYgKG5hbGxvY2F0ZWQgPiBQWV9TU0laRV9UX01BWCAtIHJlcHNpemUgKyBtYXhfY2hhcl9zaXplKSB7CisgICAgICAgICAgICAgICAgICAgIC8qIGludGVnZXIgb3ZlcmZsb3cgKi8KKyAgICAgICAgICAgICAgICAgICAgUHlFcnJfTm9NZW1vcnkoKTsKKyAgICAgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgbmFsbG9jYXRlZCArPSByZXBzaXplIC0gbWF4X2NoYXJfc2l6ZTsKKyAgICAgICAgICAgICAgICBpZiAocmVzdWx0ICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKF9QeUJ5dGVzX1Jlc2l6ZSgmcmVzdWx0LCBuYWxsb2NhdGVkKSA8IDApCisgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUoTlVMTCwgbmFsbG9jYXRlZCk7CisgICAgICAgICAgICAgICAgICAgIGlmIChyZXN1bHQgPT0gTlVMTCkKKyAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgICAgICAgICAgICAgIFB5X01FTUNQWShQeUJ5dGVzX0FTX1NUUklORyhyZXN1bHQpLCBzdGFja2J1Ziwgb2Zmc2V0KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgcCA9IFB5Qnl0ZXNfQVNfU1RSSU5HKHJlc3VsdCkgKyBvZmZzZXQ7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGlmIChQeUJ5dGVzX0NoZWNrKHJlcCkpIHsKKyAgICAgICAgICAgICAgICBjaGFyICpwcmVwID0gUHlCeXRlc19BU19TVFJJTkcocmVwKTsKKyAgICAgICAgICAgICAgICBmb3IoayA9IHJlcHNpemU7IGsgPiAwOyBrLS0pCisgICAgICAgICAgICAgICAgICAgICpwKysgPSAqcHJlcCsrOworICAgICAgICAgICAgfSBlbHNlIC8qIHJlcCBpcyB1bmljb2RlICovIHsKKyAgICAgICAgICAgICAgICBlbnVtIFB5VW5pY29kZV9LaW5kIHJlcGtpbmQ7CisgICAgICAgICAgICAgICAgdm9pZCAqcmVwZGF0YTsKKworICAgICAgICAgICAgICAgIGlmIChQeVVuaWNvZGVfUkVBRFkocmVwKSA8IDApCisgICAgICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgICAgICAgICAgcmVwa2luZCA9IFB5VW5pY29kZV9LSU5EKHJlcCk7CisgICAgICAgICAgICAgICAgcmVwZGF0YSA9IFB5VW5pY29kZV9EQVRBKHJlcCk7CisKKyAgICAgICAgICAgICAgICBmb3Ioaz0wOyBrPHJlcHNpemU7IGsrKykgeworICAgICAgICAgICAgICAgICAgICBQeV9VQ1M0IGMgPSBQeVVuaWNvZGVfUkVBRChyZXBraW5kLCByZXBkYXRhLCBrKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKDB4ODAgPD0gYykgeworICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2VfZW5jb2RlX2V4Y2VwdGlvbigmZXhjLCAidXRmLTgiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bmljb2RlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpLTEsIGksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzdXJyb2dhdGVzIG5vdCBhbGxvd2VkIik7CisgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICpwKysgPSAoY2hhciljOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIFB5X0NMRUFSKHJlcCk7CisgICAgICAgIH0KKyAgICAgICAgZWxzZQorI2lmIFNUUklOR0xJQl9TSVpFT0ZfQ0hBUiA+IDIKKyAgICAgICAgaWYgKGNoIDwgMHgxMDAwMCkKKyNlbmRpZgorICAgICAgICB7CisgICAgICAgICAgICAqcCsrID0gKGNoYXIpKDB4ZTAgfCAoY2ggPj4gMTIpKTsKKyAgICAgICAgICAgICpwKysgPSAoY2hhcikoMHg4MCB8ICgoY2ggPj4gNikgJiAweDNmKSk7CisgICAgICAgICAgICAqcCsrID0gKGNoYXIpKDB4ODAgfCAoY2ggJiAweDNmKSk7CisgICAgICAgIH0KKyNpZiBTVFJJTkdMSUJfU0laRU9GX0NIQVIgPiAyCisgICAgICAgIGVsc2UgLyogY2ggPj0gMHgxMDAwMCAqLworICAgICAgICB7CisgICAgICAgICAgICBhc3NlcnQoY2ggPD0gTUFYX1VOSUNPREUpOworICAgICAgICAgICAgLyogRW5jb2RlIFVDUzQgVW5pY29kZSBvcmRpbmFscyAqLworICAgICAgICAgICAgKnArKyA9IChjaGFyKSgweGYwIHwgKGNoID4+IDE4KSk7CisgICAgICAgICAgICAqcCsrID0gKGNoYXIpKDB4ODAgfCAoKGNoID4+IDEyKSAmIDB4M2YpKTsKKyAgICAgICAgICAgICpwKysgPSAoY2hhcikoMHg4MCB8ICgoY2ggPj4gNikgJiAweDNmKSk7CisgICAgICAgICAgICAqcCsrID0gKGNoYXIpKDB4ODAgfCAoY2ggJiAweDNmKSk7CisgICAgICAgIH0KKyNlbmRpZiAvKiBTVFJJTkdMSUJfU0laRU9GX0NIQVIgPiAyICovCisjZW5kaWYgLyogU1RSSU5HTElCX1NJWkVPRl9DSEFSID4gMSAqLworICAgIH0KKworICAgIGlmIChyZXN1bHQgPT0gTlVMTCkgeworICAgICAgICAvKiBUaGlzIHdhcyBzdGFjayBhbGxvY2F0ZWQuICovCisgICAgICAgIG5uZWVkZWQgPSBwIC0gc3RhY2tidWY7CisgICAgICAgIGFzc2VydChubmVlZGVkIDw9IG5hbGxvY2F0ZWQpOworICAgICAgICByZXN1bHQgPSBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplKHN0YWNrYnVmLCBubmVlZGVkKTsKKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIC8qIEN1dCBiYWNrIHRvIHNpemUgYWN0dWFsbHkgbmVlZGVkLiAqLworICAgICAgICBubmVlZGVkID0gcCAtIFB5Qnl0ZXNfQVNfU1RSSU5HKHJlc3VsdCk7CisgICAgICAgIGFzc2VydChubmVlZGVkIDw9IG5hbGxvY2F0ZWQpOworICAgICAgICBfUHlCeXRlc19SZXNpemUoJnJlc3VsdCwgbm5lZWRlZCk7CisgICAgfQorCisjaWYgU1RSSU5HTElCX1NJWkVPRl9DSEFSID4gMQorICAgIFB5X1hERUNSRUYoZXJyb3JIYW5kbGVyKTsKKyAgICBQeV9YREVDUkVGKGV4Yyk7CisjZW5kaWYKKyAgICByZXR1cm4gcmVzdWx0OworCisjaWYgU1RSSU5HTElCX1NJWkVPRl9DSEFSID4gMQorIGVycm9yOgorICAgIFB5X1hERUNSRUYocmVwKTsKKyAgICBQeV9YREVDUkVGKGVycm9ySGFuZGxlcik7CisgICAgUHlfWERFQ1JFRihleGMpOworICAgIFB5X1hERUNSRUYocmVzdWx0KTsKKyAgICByZXR1cm4gTlVMTDsKKyNlbmRpZgorCisjdW5kZWYgTUFYX1NIT1JUX1VOSUNIQVJTCit9CisKKyNlbmRpZiAvKiBTVFJJTkdMSUJfSVNfVU5JQ09ERSAqLwpkaWZmIC0tZ2l0IGEvT2JqZWN0cy9zdHJpbmdsaWIvY291bnQuaCBiL09iamVjdHMvc3RyaW5nbGliL2NvdW50LmgKaW5kZXggZGUzNGY5Ni4uZjQ4NTAwYiAxMDA2NDQKLS0tIGEvT2JqZWN0cy9zdHJpbmdsaWIvY291bnQuaAorKysgYi9PYmplY3RzL3N0cmluZ2xpYi9jb3VudC5oCkBAIC0xLDE0ICsxLDExIEBACiAvKiBzdHJpbmdsaWI6IGNvdW50IGltcGxlbWVudGF0aW9uICovCiAKLSNpZm5kZWYgU1RSSU5HTElCX0NPVU5UX0gKLSNkZWZpbmUgU1RSSU5HTElCX0NPVU5UX0gKLQogI2lmbmRlZiBTVFJJTkdMSUJfRkFTVFNFQVJDSF9ICiAjZXJyb3IgbXVzdCBpbmNsdWRlICJzdHJpbmdsaWIvZmFzdHNlYXJjaC5oIiBiZWZvcmUgaW5jbHVkaW5nIHRoaXMgbW9kdWxlCiAjZW5kaWYKIAogUHlfTE9DQUxfSU5MSU5FKFB5X3NzaXplX3QpCi1zdHJpbmdsaWJfY291bnQoY29uc3QgU1RSSU5HTElCX0NIQVIqIHN0ciwgUHlfc3NpemVfdCBzdHJfbGVuLAorU1RSSU5HTElCKGNvdW50KShjb25zdCBTVFJJTkdMSUJfQ0hBUiogc3RyLCBQeV9zc2l6ZV90IHN0cl9sZW4sCiAgICAgICAgICAgICAgICAgY29uc3QgU1RSSU5HTElCX0NIQVIqIHN1YiwgUHlfc3NpemVfdCBzdWJfbGVuLAogICAgICAgICAgICAgICAgIFB5X3NzaXplX3QgbWF4Y291bnQpCiB7CkBAIC0xOSw3ICsxNiw3IEBACiAgICAgaWYgKHN1Yl9sZW4gPT0gMCkKICAgICAgICAgcmV0dXJuIChzdHJfbGVuIDwgbWF4Y291bnQpID8gc3RyX2xlbiArIDEgOiBtYXhjb3VudDsKIAotICAgIGNvdW50ID0gZmFzdHNlYXJjaChzdHIsIHN0cl9sZW4sIHN1Yiwgc3ViX2xlbiwgbWF4Y291bnQsIEZBU1RfQ09VTlQpOworICAgIGNvdW50ID0gRkFTVFNFQVJDSChzdHIsIHN0cl9sZW4sIHN1Yiwgc3ViX2xlbiwgbWF4Y291bnQsIEZBU1RfQ09VTlQpOwogCiAgICAgaWYgKGNvdW50IDwgMCkKICAgICAgICAgcmV0dXJuIDA7IC8qIG5vIG1hdGNoICovCkBAIC0yNyw0ICsyNCw0IEBACiAgICAgcmV0dXJuIGNvdW50OwogfQogCi0jZW5kaWYKKwpkaWZmIC0tZ2l0IGEvT2JqZWN0cy9zdHJpbmdsaWIvZXEuaCBiL09iamVjdHMvc3RyaW5nbGliL2VxLmgKaW5kZXggM2U3ZjVlOC4uOGU3OWE0MyAxMDA2NDQKLS0tIGEvT2JqZWN0cy9zdHJpbmdsaWIvZXEuaAorKysgYi9PYmplY3RzL3N0cmluZ2xpYi9lcS5oCkBAIC05LDEzICs5LDI2IEBACiAgICAgcmVnaXN0ZXIgUHlVbmljb2RlT2JqZWN0ICphID0gKFB5VW5pY29kZU9iamVjdCAqKWFhOwogICAgIHJlZ2lzdGVyIFB5VW5pY29kZU9iamVjdCAqYiA9IChQeVVuaWNvZGVPYmplY3QgKiliYjsKIAotICAgIGlmIChhLT5sZW5ndGggIT0gYi0+bGVuZ3RoKQorICAgIGlmIChQeVVuaWNvZGVfUkVBRFkoYSkgPT0gLTEgfHwgUHlVbmljb2RlX1JFQURZKGIpID09IC0xKSB7CisgICAgICAgIGFzc2VydCgwICYmICJ1bmljb2RlX2VxIHJlYWR5IGZhaWwiKTsKICAgICAgICAgcmV0dXJuIDA7Ci0gICAgaWYgKGEtPmxlbmd0aCA9PSAwKQotICAgICAgICByZXR1cm4gMTsKLSAgICBpZiAoYS0+c3RyWzBdICE9IGItPnN0clswXSkKKyAgICB9CisKKyAgICBpZiAoUHlVbmljb2RlX0dFVF9MRU5HVEgoYSkgIT0gUHlVbmljb2RlX0dFVF9MRU5HVEgoYikpCiAgICAgICAgIHJldHVybiAwOwotICAgIGlmIChhLT5sZW5ndGggPT0gMSkKKyAgICBpZiAoUHlVbmljb2RlX0dFVF9MRU5HVEgoYSkgPT0gMCkKICAgICAgICAgcmV0dXJuIDE7Ci0gICAgcmV0dXJuIG1lbWNtcChhLT5zdHIsIGItPnN0ciwgYS0+bGVuZ3RoICogc2l6ZW9mKFB5X1VOSUNPREUpKSA9PSAwOworICAgIGlmIChQeVVuaWNvZGVfS0lORChhKSAhPSBQeVVuaWNvZGVfS0lORChiKSkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgLyogSnVzdCBjb21wYXJpbmcgdGhlIGZpcnN0IGJ5dGUgaXMgZW5vdWdoIHRvIHNlZSBpZiBhIGFuZCBiIGRpZmZlci4KKyAgICAgKiBJZiB0aGV5IGFyZSAyIGJ5dGUgb3IgNCBieXRlIGNoYXJhY3RlciBtb3N0IGRpZmZlcmVuY2VzIHdpbGwgaGFwcGVuIGluCisgICAgICogdGhlIGxvd2VyIGJ5dGVzIGFueXdheXMuCisgICAgICovCisgICAgaWYgKFB5VW5pY29kZV8xQllURV9EQVRBKGEpWzBdICE9IFB5VW5pY29kZV8xQllURV9EQVRBKGIpWzBdKQorICAgICAgICByZXR1cm4gMDsKKyAgICBpZiAoUHlVbmljb2RlX0tJTkQoYSkgPT0gUHlVbmljb2RlXzFCWVRFX0tJTkQgJiYKKyAgICAgICAgUHlVbmljb2RlX0dFVF9MRU5HVEgoYSkgPT0gMSkKKyAgICAgICAgcmV0dXJuIDE7CisgICAgcmV0dXJuIG1lbWNtcChQeVVuaWNvZGVfMUJZVEVfREFUQShhKSwgUHlVbmljb2RlXzFCWVRFX0RBVEEoYiksCisgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfR0VUX0xFTkdUSChhKSAqIFB5VW5pY29kZV9LSU5EKGEpKSA9PSAwOwogfQpkaWZmIC0tZ2l0IGEvT2JqZWN0cy9zdHJpbmdsaWIvZmFzdHNlYXJjaC5oIGIvT2JqZWN0cy9zdHJpbmdsaWIvZmFzdHNlYXJjaC5oCmluZGV4IGUyMzFjNTguLmYzZTA0NjEgMTAwNjQ0Ci0tLSBhL09iamVjdHMvc3RyaW5nbGliL2Zhc3RzZWFyY2guaAorKysgYi9PYmplY3RzL3N0cmluZ2xpYi9mYXN0c2VhcmNoLmgKQEAgLTEsNiArMSw1IEBACiAvKiBzdHJpbmdsaWI6IGZhc3RzZWFyY2ggaW1wbGVtZW50YXRpb24gKi8KIAotI2lmbmRlZiBTVFJJTkdMSUJfRkFTVFNFQVJDSF9ICiAjZGVmaW5lIFNUUklOR0xJQl9GQVNUU0VBUkNIX0gKIAogLyogZmFzdCBzZWFyY2gvY291bnQgaW1wbGVtZW50YXRpb24sIGJhc2VkIG9uIGEgbWl4IGJldHdlZW4gYm95ZXItCkBAIC0zMyw4ICszMiw2MiBAQAogI2RlZmluZSBTVFJJTkdMSUJfQkxPT00obWFzaywgY2gpICAgICBcCiAgICAgKChtYXNrICYgICgxVUwgPDwgKChjaCkgJiAoU1RSSU5HTElCX0JMT09NX1dJRFRIIC0xKSkpKSkKIAorCiBQeV9MT0NBTF9JTkxJTkUoUHlfc3NpemVfdCkKLWZhc3RzZWFyY2goY29uc3QgU1RSSU5HTElCX0NIQVIqIHMsIFB5X3NzaXplX3QgbiwKK1NUUklOR0xJQihmYXN0c2VhcmNoX21lbWNocl8xY2hhcikoY29uc3QgU1RSSU5HTElCX0NIQVIqIHMsIFB5X3NzaXplX3QgbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1RSSU5HTElCX0NIQVIgY2gsIHVuc2lnbmVkIGNoYXIgbmVlZGxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IG1heGNvdW50LCBpbnQgbW9kZSkKK3sKKyAgICB2b2lkICpjYW5kaWRhdGU7CisgICAgY29uc3QgU1RSSU5HTElCX0NIQVIgKmZvdW5kOworCisjZGVmaW5lIERPX01FTUNIUihtZW1jaHIsIHMsIG5lZWRsZSwgbmNoYXJzKSBkbyB7IFwKKyAgICBjYW5kaWRhdGUgPSBtZW1jaHIoKGNvbnN0IHZvaWQgKikgKHMpLCAobmVlZGxlKSwgKG5jaGFycykgKiBzaXplb2YoU1RSSU5HTElCX0NIQVIpKTsgXAorICAgIGZvdW5kID0gKGNvbnN0IFNUUklOR0xJQl9DSEFSICopIFwKKyAgICAgICAgKChQeV9zc2l6ZV90KSBjYW5kaWRhdGUgJiAofiAoKFB5X3NzaXplX3QpIHNpemVvZihTVFJJTkdMSUJfQ0hBUikgLSAxKSkpOyBcCisgICAgfSB3aGlsZSAoMCkKKworICAgIGlmIChtb2RlID09IEZBU1RfU0VBUkNIKSB7CisgICAgICAgIGNvbnN0IFNUUklOR0xJQl9DSEFSICpfcyA9IHM7CisgICAgICAgIGNvbnN0IFNUUklOR0xJQl9DSEFSICplID0gcyArIG47CisgICAgICAgIHdoaWxlIChfcyA8IGUpIHsKKyAgICAgICAgICAgIERPX01FTUNIUihtZW1jaHIsIF9zLCBuZWVkbGUsIGUgLSBfcyk7CisgICAgICAgICAgICBpZiAoZm91bmQgPT0gTlVMTCkKKyAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgICAgICBpZiAoc2l6ZW9mKFNUUklOR0xJQl9DSEFSKSA9PSAxIHx8ICpmb3VuZCA9PSBjaCkKKyAgICAgICAgICAgICAgICByZXR1cm4gKGZvdW5kIC0gX3MpOworICAgICAgICAgICAgLyogRmFsc2UgcG9zaXRpdmUgKi8KKyAgICAgICAgICAgIF9zID0gZm91bmQgKyAxOworICAgICAgICB9CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisjaWZkZWYgSEFWRV9NRU1SQ0hSCisgICAgLyogbWVtcmNocigpIGlzIGEgR05VIGV4dGVuc2lvbiwgYXZhaWxhYmxlIHNpbmNlIGdsaWJjIDIuMS45MS4KKyAgICAgICBpdCBkb2Vzbid0IHNlZW0gYXMgb3B0aW1pemVkIGFzIG1lbWNocigpLCBidXQgaXMgc3RpbGwgcXVpdGUKKyAgICAgICBmYXN0ZXIgdGhhbiBvdXIgaGFuZC13cml0dGVuIGxvb3AgaW4gRkFTVFNFQVJDSCBiZWxvdyAqLworICAgIGVsc2UgaWYgKG1vZGUgPT0gRkFTVF9SU0VBUkNIKSB7CisgICAgICAgIHdoaWxlIChuID4gMCkgeworICAgICAgICAgICAgRE9fTUVNQ0hSKG1lbXJjaHIsIHMsIG5lZWRsZSwgbik7CisgICAgICAgICAgICBpZiAoZm91bmQgPT0gTlVMTCkKKyAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgICAgICBuID0gZm91bmQgLSBzOworICAgICAgICAgICAgaWYgKHNpemVvZihTVFJJTkdMSUJfQ0hBUikgPT0gMSB8fCAqZm91bmQgPT0gY2gpCisgICAgICAgICAgICAgICAgcmV0dXJuIG47CisgICAgICAgICAgICAvKiBGYWxzZSBwb3NpdGl2ZSAqLworICAgICAgICB9CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisjZW5kaWYKKyAgICBlbHNlIHsKKyAgICAgICAgYXNzZXJ0KDApOyAvKiBTaG91bGQgbmV2ZXIgZ2V0IGhlcmUgKi8KKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorCisjdW5kZWYgRE9fTUVNQ0hSCit9CisKK1B5X0xPQ0FMX0lOTElORShQeV9zc2l6ZV90KQorRkFTVFNFQVJDSChjb25zdCBTVFJJTkdMSUJfQ0hBUiogcywgUHlfc3NpemVfdCBuLAogICAgICAgICAgICBjb25zdCBTVFJJTkdMSUJfQ0hBUiogcCwgUHlfc3NpemVfdCBtLAogICAgICAgICAgICBQeV9zc2l6ZV90IG1heGNvdW50LCBpbnQgbW9kZSkKIHsKQEAgLTUyLDYgKzEwNSwyNCBAQAogICAgICAgICBpZiAobSA8PSAwKQogICAgICAgICAgICAgcmV0dXJuIC0xOwogICAgICAgICAvKiB1c2Ugc3BlY2lhbCBjYXNlIGZvciAxLWNoYXJhY3RlciBzdHJpbmdzICovCisgICAgICAgIGlmIChuID4gMTAgJiYgKG1vZGUgPT0gRkFTVF9TRUFSQ0gKKyNpZmRlZiBIQVZFX01FTVJDSFIKKyAgICAgICAgICAgICAgICAgICAgfHwgbW9kZSA9PSBGQVNUX1JTRUFSQ0gKKyNlbmRpZgorICAgICAgICAgICAgICAgICAgICApKSB7CisgICAgICAgICAgICAvKiB1c2UgbWVtY2hyIGlmIHdlIGNhbiBjaG9vc2UgYSBuZWVkbGUgd2l0aG91dCB0d28gbWFueSBsaWtlbHkKKyAgICAgICAgICAgICAgIGZhbHNlIHBvc2l0aXZlcyAqLworICAgICAgICAgICAgdW5zaWduZWQgY2hhciBuZWVkbGU7CisgICAgICAgICAgICBuZWVkbGUgPSBwWzBdICYgMHhmZjsKKyNpZiBTVFJJTkdMSUJfU0laRU9GX0NIQVIgPiAxCisgICAgICAgICAgICAvKiBJZiBsb29raW5nIGZvciBhIG11bHRpcGxlIG9mIDI1Niwgd2UnZCBoYXZlIHRvbworICAgICAgICAgICAgICAgbWFueSBmYWxzZSBwb3NpdGl2ZXMgbG9va2luZyBmb3IgdGhlICdcMCcgYnl0ZSBpbiBVQ1MyCisgICAgICAgICAgICAgICBhbmQgVUNTNCByZXByZXNlbnRhdGlvbnMuICovCisgICAgICAgICAgICBpZiAobmVlZGxlICE9IDApCisjZW5kaWYKKyAgICAgICAgICAgICAgICByZXR1cm4gU1RSSU5HTElCKGZhc3RzZWFyY2hfbWVtY2hyXzFjaGFyKQorICAgICAgICAgICAgICAgICAgICAgICAocywgbiwgcFswXSwgbmVlZGxlLCBtYXhjb3VudCwgbW9kZSk7CisgICAgICAgIH0KICAgICAgICAgaWYgKG1vZGUgPT0gRkFTVF9DT1VOVCkgewogICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IG47IGkrKykKICAgICAgICAgICAgICAgICBpZiAoc1tpXSA9PSBwWzBdKSB7CkBAIC0xNTcsNCArMjI4LDMgQEAKICAgICByZXR1cm4gY291bnQ7CiB9CiAKLSNlbmRpZgpkaWZmIC0tZ2l0IGEvT2JqZWN0cy9zdHJpbmdsaWIvZmluZC5oIGIvT2JqZWN0cy9zdHJpbmdsaWIvZmluZC5oCmluZGV4IGNlNjE1ZGMuLjUxOGUwMTIgMTAwNjQ0Ci0tLSBhL09iamVjdHMvc3RyaW5nbGliL2ZpbmQuaAorKysgYi9PYmplY3RzL3N0cmluZ2xpYi9maW5kLmgKQEAgLTEsMTQgKzEsMTEgQEAKIC8qIHN0cmluZ2xpYjogZmluZC9pbmRleCBpbXBsZW1lbnRhdGlvbiAqLwogCi0jaWZuZGVmIFNUUklOR0xJQl9GSU5EX0gKLSNkZWZpbmUgU1RSSU5HTElCX0ZJTkRfSAotCiAjaWZuZGVmIFNUUklOR0xJQl9GQVNUU0VBUkNIX0gKICNlcnJvciBtdXN0IGluY2x1ZGUgInN0cmluZ2xpYi9mYXN0c2VhcmNoLmgiIGJlZm9yZSBpbmNsdWRpbmcgdGhpcyBtb2R1bGUKICNlbmRpZgogCiBQeV9MT0NBTF9JTkxJTkUoUHlfc3NpemVfdCkKLXN0cmluZ2xpYl9maW5kKGNvbnN0IFNUUklOR0xJQl9DSEFSKiBzdHIsIFB5X3NzaXplX3Qgc3RyX2xlbiwKK1NUUklOR0xJQihmaW5kKShjb25zdCBTVFJJTkdMSUJfQ0hBUiogc3RyLCBQeV9zc2l6ZV90IHN0cl9sZW4sCiAgICAgICAgICAgICAgICBjb25zdCBTVFJJTkdMSUJfQ0hBUiogc3ViLCBQeV9zc2l6ZV90IHN1Yl9sZW4sCiAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IG9mZnNldCkKIHsKQEAgLTE5LDcgKzE2LDcgQEAKICAgICBpZiAoc3ViX2xlbiA9PSAwKQogICAgICAgICByZXR1cm4gb2Zmc2V0OwogCi0gICAgcG9zID0gZmFzdHNlYXJjaChzdHIsIHN0cl9sZW4sIHN1Yiwgc3ViX2xlbiwgLTEsIEZBU1RfU0VBUkNIKTsKKyAgICBwb3MgPSBGQVNUU0VBUkNIKHN0ciwgc3RyX2xlbiwgc3ViLCBzdWJfbGVuLCAtMSwgRkFTVF9TRUFSQ0gpOwogCiAgICAgaWYgKHBvcyA+PSAwKQogICAgICAgICBwb3MgKz0gb2Zmc2V0OwpAQCAtMjgsNyArMjUsNyBAQAogfQogCiBQeV9MT0NBTF9JTkxJTkUoUHlfc3NpemVfdCkKLXN0cmluZ2xpYl9yZmluZChjb25zdCBTVFJJTkdMSUJfQ0hBUiogc3RyLCBQeV9zc2l6ZV90IHN0cl9sZW4sCitTVFJJTkdMSUIocmZpbmQpKGNvbnN0IFNUUklOR0xJQl9DSEFSKiBzdHIsIFB5X3NzaXplX3Qgc3RyX2xlbiwKICAgICAgICAgICAgICAgICBjb25zdCBTVFJJTkdMSUJfQ0hBUiogc3ViLCBQeV9zc2l6ZV90IHN1Yl9sZW4sCiAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBvZmZzZXQpCiB7CkBAIC0zOSw3ICszNiw3IEBACiAgICAgaWYgKHN1Yl9sZW4gPT0gMCkKICAgICAgICAgcmV0dXJuIHN0cl9sZW4gKyBvZmZzZXQ7CiAKLSAgICBwb3MgPSBmYXN0c2VhcmNoKHN0ciwgc3RyX2xlbiwgc3ViLCBzdWJfbGVuLCAtMSwgRkFTVF9SU0VBUkNIKTsKKyAgICBwb3MgPSBGQVNUU0VBUkNIKHN0ciwgc3RyX2xlbiwgc3ViLCBzdWJfbGVuLCAtMSwgRkFTVF9SU0VBUkNIKTsKIAogICAgIGlmIChwb3MgPj0gMCkKICAgICAgICAgcG9zICs9IG9mZnNldDsKQEAgLTYzLDI5ICs2MCwyOSBAQAogICAgIH0KIAogUHlfTE9DQUxfSU5MSU5FKFB5X3NzaXplX3QpCi1zdHJpbmdsaWJfZmluZF9zbGljZShjb25zdCBTVFJJTkdMSUJfQ0hBUiogc3RyLCBQeV9zc2l6ZV90IHN0cl9sZW4sCitTVFJJTkdMSUIoZmluZF9zbGljZSkoY29uc3QgU1RSSU5HTElCX0NIQVIqIHN0ciwgUHlfc3NpemVfdCBzdHJfbGVuLAogICAgICAgICAgICAgICAgICAgICAgY29uc3QgU1RSSU5HTElCX0NIQVIqIHN1YiwgUHlfc3NpemVfdCBzdWJfbGVuLAogICAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBzdGFydCwgUHlfc3NpemVfdCBlbmQpCiB7CiAgICAgQURKVVNUX0lORElDRVMoc3RhcnQsIGVuZCwgc3RyX2xlbik7Ci0gICAgcmV0dXJuIHN0cmluZ2xpYl9maW5kKHN0ciArIHN0YXJ0LCBlbmQgLSBzdGFydCwgc3ViLCBzdWJfbGVuLCBzdGFydCk7CisgICAgcmV0dXJuIFNUUklOR0xJQihmaW5kKShzdHIgKyBzdGFydCwgZW5kIC0gc3RhcnQsIHN1Yiwgc3ViX2xlbiwgc3RhcnQpOwogfQogCiBQeV9MT0NBTF9JTkxJTkUoUHlfc3NpemVfdCkKLXN0cmluZ2xpYl9yZmluZF9zbGljZShjb25zdCBTVFJJTkdMSUJfQ0hBUiogc3RyLCBQeV9zc2l6ZV90IHN0cl9sZW4sCitTVFJJTkdMSUIocmZpbmRfc2xpY2UpKGNvbnN0IFNUUklOR0xJQl9DSEFSKiBzdHIsIFB5X3NzaXplX3Qgc3RyX2xlbiwKICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBTVFJJTkdMSUJfQ0hBUiogc3ViLCBQeV9zc2l6ZV90IHN1Yl9sZW4sCiAgICAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBzdGFydCwgUHlfc3NpemVfdCBlbmQpCiB7CiAgICAgQURKVVNUX0lORElDRVMoc3RhcnQsIGVuZCwgc3RyX2xlbik7Ci0gICAgcmV0dXJuIHN0cmluZ2xpYl9yZmluZChzdHIgKyBzdGFydCwgZW5kIC0gc3RhcnQsIHN1Yiwgc3ViX2xlbiwgc3RhcnQpOworICAgIHJldHVybiBTVFJJTkdMSUIocmZpbmQpKHN0ciArIHN0YXJ0LCBlbmQgLSBzdGFydCwgc3ViLCBzdWJfbGVuLCBzdGFydCk7CiB9CiAKICNpZmRlZiBTVFJJTkdMSUJfV0FOVF9DT05UQUlOU19PQkoKIAogUHlfTE9DQUxfSU5MSU5FKGludCkKLXN0cmluZ2xpYl9jb250YWluc19vYmooUHlPYmplY3QqIHN0ciwgUHlPYmplY3QqIHN1YikKK1NUUklOR0xJQihjb250YWluc19vYmopKFB5T2JqZWN0KiBzdHIsIFB5T2JqZWN0KiBzdWIpCiB7Ci0gICAgcmV0dXJuIHN0cmluZ2xpYl9maW5kKAorICAgIHJldHVybiBTVFJJTkdMSUIoZmluZCkoCiAgICAgICAgIFNUUklOR0xJQl9TVFIoc3RyKSwgU1RSSU5HTElCX0xFTihzdHIpLAogICAgICAgICBTVFJJTkdMSUJfU1RSKHN1YiksIFNUUklOR0xJQl9MRU4oc3ViKSwgMAogICAgICAgICApICE9IC0xOwpAQCAtOTgsMTQgKzk1LDE0IEBACiByaW5kZXgpIGFuZCBmb3IgY291bnQsIHN0YXJ0c3dpdGggYW5kIGVuZHN3aXRoLCBiZWNhdXNlIHRoZXkgYWxsIGhhdmUKIHRoZSBzYW1lIGJlaGF2aW91ciBmb3IgdGhlIGFyZ3VtZW50cy4KIAotSXQgZG9lcyBub3QgdG91Y2ggdGhlIHZhcmlhYmxlcyByZWNlaXZlZCB1bnRpbCBpdCBrbm93cyBldmVyeXRoaW5nIAorSXQgZG9lcyBub3QgdG91Y2ggdGhlIHZhcmlhYmxlcyByZWNlaXZlZCB1bnRpbCBpdCBrbm93cyBldmVyeXRoaW5nCiBpcyBvay4KICovCiAKICNkZWZpbmUgRk9STUFUX0JVRkZFUl9TSVpFIDUwCiAKIFB5X0xPQ0FMX0lOTElORShpbnQpCi1zdHJpbmdsaWJfcGFyc2VfYXJnc19maW5kcyhjb25zdCBjaGFyICogZnVuY3Rpb25fbmFtZSwgUHlPYmplY3QgKmFyZ3MsCitTVFJJTkdMSUIocGFyc2VfYXJnc19maW5kcykoY29uc3QgY2hhciAqIGZ1bmN0aW9uX25hbWUsIFB5T2JqZWN0ICphcmdzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlPYmplY3QgKipzdWJvYmosCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90ICpzdGFydCwgUHlfc3NpemVfdCAqZW5kKQogewpAQCAtMTQ4LDI4ICsxNDUsNzYgQEAKIAogTm90ZSB0aGF0IHdlIHJlY2VpdmUgYSBwb2ludGVyIHRvIHRoZSBwb2ludGVyIG9mIHRoZSBzdWJzdHJpbmcgb2JqZWN0LAogc28gd2hlbiB3ZSBjcmVhdGUgdGhhdCBvYmplY3QgaW4gdGhpcyBmdW5jdGlvbiB3ZSBkb24ndCBERUNSRUYgaXQsCi1iZWNhdXNlIGl0IGNvbnRpbnVlcyBsaXZpbmcgaW4gdGhlIGNhbGxlciBmdW5jdGlvbnMgKHRob3NlIGZ1bmN0aW9ucywgCitiZWNhdXNlIGl0IGNvbnRpbnVlcyBsaXZpbmcgaW4gdGhlIGNhbGxlciBmdW5jdGlvbnMgKHRob3NlIGZ1bmN0aW9ucywKIGFmdGVyIGZpbmlzaGluZyB1c2luZyB0aGUgc3Vic3RyaW5nLCBtdXN0IERFQ1JFRiBpdCkuCiAqLwogCiBQeV9MT0NBTF9JTkxJTkUoaW50KQotc3RyaW5nbGliX3BhcnNlX2FyZ3NfZmluZHNfdW5pY29kZShjb25zdCBjaGFyICogZnVuY3Rpb25fbmFtZSwgUHlPYmplY3QgKmFyZ3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZU9iamVjdCAqKnN1YnN0cmluZywKK1NUUklOR0xJQihwYXJzZV9hcmdzX2ZpbmRzX3VuaWNvZGUpKGNvbnN0IGNoYXIgKiBmdW5jdGlvbl9uYW1lLCBQeU9iamVjdCAqYXJncywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlPYmplY3QgKipzdWJzdHJpbmcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3QgKnN0YXJ0LCBQeV9zc2l6ZV90ICplbmQpCiB7CiAgICAgUHlPYmplY3QgKnRtcF9zdWJzdHJpbmc7CiAKLSAgICBpZihzdHJpbmdsaWJfcGFyc2VfYXJnc19maW5kcyhmdW5jdGlvbl9uYW1lLCBhcmdzLCAmdG1wX3N1YnN0cmluZywKKyAgICBpZihTVFJJTkdMSUIocGFyc2VfYXJnc19maW5kcykoZnVuY3Rpb25fbmFtZSwgYXJncywgJnRtcF9zdWJzdHJpbmcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnQsIGVuZCkpIHsKICAgICAgICAgdG1wX3N1YnN0cmluZyA9IFB5VW5pY29kZV9Gcm9tT2JqZWN0KHRtcF9zdWJzdHJpbmcpOwogICAgICAgICBpZiAoIXRtcF9zdWJzdHJpbmcpCiAgICAgICAgICAgICByZXR1cm4gMDsKLSAgICAgICAgKnN1YnN0cmluZyA9IChQeVVuaWNvZGVPYmplY3QgKil0bXBfc3Vic3RyaW5nOworICAgICAgICAqc3Vic3RyaW5nID0gdG1wX3N1YnN0cmluZzsKICAgICAgICAgcmV0dXJuIDE7CiAgICAgfQogICAgIHJldHVybiAwOwogfQogCi0jZW5kaWYgLyogU1RSSU5HTElCX0lTX1VOSUNPREUgKi8KKyNlbHNlIC8qICFTVFJJTkdMSUJfSVNfVU5JQ09ERSAqLwogCi0jZW5kaWYgLyogU1RSSU5HTElCX0ZJTkRfSCAqLworLyoKK1dyYXBzIHN0cmluZ2xpYl9wYXJzZV9hcmdzX2ZpbmRzKCkgYW5kIGFkZGl0aW9uYWxseSBjaGVja3Mgd2hldGhlciB0aGUKK2ZpcnN0IGFyZ3VtZW50IGlzIGFuIGludGVnZXIgaW4gcmFuZ2UoMCwgMjU2KS4KKworSWYgdGhpcyBpcyB0aGUgY2FzZSwgd3JpdGVzIHRoZSBpbnRlZ2VyIHZhbHVlIHRvIHRoZSBieXRlIHBhcmFtZXRlcgorYW5kIHNldHMgc3Vib2JqIHRvIE5VTEwuIE90aGVyd2lzZSwgc2V0cyB0aGUgZmlyc3QgYXJndW1lbnQgdG8gc3Vib2JqCithbmQgZG9lc24ndCB0b3VjaCBieXRlLiBUaGUgb3RoZXIgcGFyYW1ldGVycyBhcmUgc2ltaWxhciB0byB0aG9zZSBvZgorc3RyaW5nbGliX3BhcnNlX2FyZ3NfZmluZHMoKS4KKyovCisKK1B5X0xPQ0FMX0lOTElORShpbnQpCitTVFJJTkdMSUIocGFyc2VfYXJnc19maW5kc19ieXRlKShjb25zdCBjaGFyICpmdW5jdGlvbl9uYW1lLCBQeU9iamVjdCAqYXJncywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5T2JqZWN0ICoqc3Vib2JqLCBjaGFyICpieXRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCAqc3RhcnQsIFB5X3NzaXplX3QgKmVuZCkKK3sKKyAgICBQeU9iamVjdCAqdG1wX3N1Ym9iajsKKyAgICBQeV9zc2l6ZV90IGl2YWw7CisgICAgUHlPYmplY3QgKmVycjsKKworICAgIGlmKCFTVFJJTkdMSUIocGFyc2VfYXJnc19maW5kcykoZnVuY3Rpb25fbmFtZSwgYXJncywgJnRtcF9zdWJvYmosCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydCwgZW5kKSkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICBpZiAoIVB5TnVtYmVyX0NoZWNrKHRtcF9zdWJvYmopKSB7CisgICAgICAgICpzdWJvYmogPSB0bXBfc3Vib2JqOworICAgICAgICByZXR1cm4gMTsKKyAgICB9CisKKyAgICBpdmFsID0gUHlOdW1iZXJfQXNTc2l6ZV90KHRtcF9zdWJvYmosIFB5RXhjX092ZXJmbG93RXJyb3IpOworICAgIGlmIChpdmFsID09IC0xKSB7CisgICAgICAgIGVyciA9IFB5RXJyX09jY3VycmVkKCk7CisgICAgICAgIGlmIChlcnIgJiYgIVB5RXJyX0dpdmVuRXhjZXB0aW9uTWF0Y2hlcyhlcnIsIFB5RXhjX092ZXJmbG93RXJyb3IpKSB7CisgICAgICAgICAgICBQeUVycl9DbGVhcigpOworICAgICAgICAgICAgKnN1Ym9iaiA9IHRtcF9zdWJvYmo7CisgICAgICAgICAgICByZXR1cm4gMTsKKyAgICAgICAgfQorICAgIH0KKworICAgIGlmIChpdmFsIDwgMCB8fCBpdmFsID4gMjU1KSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLCAiYnl0ZSBtdXN0IGJlIGluIHJhbmdlKDAsIDI1NikiKTsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorCisgICAgKnN1Ym9iaiA9IE5VTEw7CisgICAgKmJ5dGUgPSAoY2hhcilpdmFsOworICAgIHJldHVybiAxOworfQorCisjZW5kaWYgLyogU1RSSU5HTElCX0lTX1VOSUNPREUgKi8KZGlmZiAtLWdpdCBhL09iamVjdHMvc3RyaW5nbGliL2ZpbmRfbWF4X2NoYXIuaCBiL09iamVjdHMvc3RyaW5nbGliL2ZpbmRfbWF4X2NoYXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wOThhZWVjCi0tLSAvZGV2L251bGwKKysrIGIvT2JqZWN0cy9zdHJpbmdsaWIvZmluZF9tYXhfY2hhci5oCkBAIC0wLDAgKzEsMTM2IEBACisvKiBGaW5kaW5nIHRoZSBvcHRpbWFsIHdpZHRoIG9mIHVuaWNvZGUgY2hhcmFjdGVycyBpbiBhIGJ1ZmZlciAqLworCisjaWYgU1RSSU5HTElCX0lTX1VOSUNPREUKKworLyogTWFzayB0byBjaGVjayBvciBmb3JjZSBhbGlnbm1lbnQgb2YgYSBwb2ludGVyIHRvIEMgJ2xvbmcnIGJvdW5kYXJpZXMgKi8KKyNkZWZpbmUgTE9OR19QVFJfTUFTSyAoc2l6ZV90KSAoU0laRU9GX0xPTkcgLSAxKQorCisvKiBNYXNrIHRvIHF1aWNrbHkgY2hlY2sgd2hldGhlciBhIEMgJ2xvbmcnIGNvbnRhaW5zIGEKKyAgIG5vbi1BU0NJSSwgVVRGOC1lbmNvZGVkIGNoYXIuICovCisjaWYgKFNJWkVPRl9MT05HID09IDgpCisjIGRlZmluZSBVQ1MxX0FTQ0lJX0NIQVJfTUFTSyAweDgwODA4MDgwODA4MDgwODBMCisjZWxpZiAoU0laRU9GX0xPTkcgPT0gNCkKKyMgZGVmaW5lIFVDUzFfQVNDSUlfQ0hBUl9NQVNLIDB4ODA4MDgwODBMCisjZWxzZQorIyBlcnJvciBDICdsb25nJyBzaXplIHNob3VsZCBiZSBlaXRoZXIgNCBvciA4IQorI2VuZGlmCisKKyNpZiBTVFJJTkdMSUJfU0laRU9GX0NIQVIgPT0gMQorCitQeV9MT0NBTF9JTkxJTkUoUHlfVUNTNCkKK1NUUklOR0xJQihmaW5kX21heF9jaGFyKShjb25zdCBTVFJJTkdMSUJfQ0hBUiAqYmVnaW4sIGNvbnN0IFNUUklOR0xJQl9DSEFSICplbmQpCit7CisgICAgY29uc3QgdW5zaWduZWQgY2hhciAqcCA9IChjb25zdCB1bnNpZ25lZCBjaGFyICopIGJlZ2luOworICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmFsaWduZWRfZW5kID0gKGNvbnN0IHVuc2lnbmVkIGNoYXIgKikgKChzaXplX3QpIGVuZCAmIH5MT05HX1BUUl9NQVNLKTsKKworICAgIHdoaWxlIChwIDwgZW5kKSB7CisgICAgICAgIGlmICghKChzaXplX3QpIHAgJiBMT05HX1BUUl9NQVNLKSkgeworICAgICAgICAgICAgLyogSGVscCByZWdpc3RlciBhbGxvY2F0aW9uICovCisgICAgICAgICAgICByZWdpc3RlciBjb25zdCB1bnNpZ25lZCBjaGFyICpfcCA9IHA7CisgICAgICAgICAgICB3aGlsZSAoX3AgPCBhbGlnbmVkX2VuZCkgeworICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgdmFsdWUgPSAqKHVuc2lnbmVkIGxvbmcgKikgX3A7CisgICAgICAgICAgICAgICAgaWYgKHZhbHVlICYgVUNTMV9BU0NJSV9DSEFSX01BU0spCisgICAgICAgICAgICAgICAgICAgIHJldHVybiAyNTU7CisgICAgICAgICAgICAgICAgX3AgKz0gU0laRU9GX0xPTkc7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBwID0gX3A7CisgICAgICAgICAgICBpZiAocCA9PSBlbmQpCisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgaWYgKCpwKysgJiAweDgwKQorICAgICAgICAgICAgcmV0dXJuIDI1NTsKKyAgICB9CisgICAgcmV0dXJuIDEyNzsKK30KKworI3VuZGVmIExPTkdfUFRSX01BU0sKKyN1bmRlZiBBU0NJSV9DSEFSX01BU0sKKworI2Vsc2UgLyogU1RSSU5HTElCX1NJWkVPRl9DSEFSID09IDEgKi8KKworI2RlZmluZSBNQVNLX0FTQ0lJIDB4RkZGRkZGODAKKyNkZWZpbmUgTUFTS19VQ1MxIDB4RkZGRkZGMDAKKyNkZWZpbmUgTUFTS19VQ1MyIDB4RkZGRjAwMDAKKworI2RlZmluZSBNQVhfQ0hBUl9BU0NJSSAweDdmCisjZGVmaW5lIE1BWF9DSEFSX1VDUzEgIDB4ZmYKKyNkZWZpbmUgTUFYX0NIQVJfVUNTMiAgMHhmZmZmCisjZGVmaW5lIE1BWF9DSEFSX1VDUzQgIDB4MTBmZmZmCisKK1B5X0xPQ0FMX0lOTElORShQeV9VQ1M0KQorU1RSSU5HTElCKGZpbmRfbWF4X2NoYXIpKGNvbnN0IFNUUklOR0xJQl9DSEFSICpiZWdpbiwgY29uc3QgU1RSSU5HTElCX0NIQVIgKmVuZCkKK3sKKyNpZiBTVFJJTkdMSUJfU0laRU9GX0NIQVIgPT0gMgorICAgIGNvbnN0IFB5X1VDUzQgbWFza19saW1pdCA9IE1BU0tfVUNTMTsKKyAgICBjb25zdCBQeV9VQ1M0IG1heF9jaGFyX2xpbWl0ID0gTUFYX0NIQVJfVUNTMjsKKyNlbGlmIFNUUklOR0xJQl9TSVpFT0ZfQ0hBUiA9PSA0CisgICAgY29uc3QgUHlfVUNTNCBtYXNrX2xpbWl0ID0gTUFTS19VQ1MyOworICAgIGNvbnN0IFB5X1VDUzQgbWF4X2NoYXJfbGltaXQgPSBNQVhfQ0hBUl9VQ1M0OworI2Vsc2UKKyNlcnJvciBJbnZhbGlkIFNUUklOR0xJQl9TSVpFT0ZfQ0hBUiAobXVzdCBiZSAxLCAyIG9yIDQpCisjZW5kaWYKKyAgICByZWdpc3RlciBQeV9VQ1M0IG1hc2s7CisgICAgUHlfc3NpemVfdCBuID0gZW5kIC0gYmVnaW47CisgICAgY29uc3QgU1RSSU5HTElCX0NIQVIgKnAgPSBiZWdpbjsKKyAgICBjb25zdCBTVFJJTkdMSUJfQ0hBUiAqdW5yb2xsZWRfZW5kID0gYmVnaW4gKyAobiAmIH4gKFB5X3NzaXplX3QpIDMpOworICAgIFB5X1VDUzQgbWF4X2NoYXI7CisKKyAgICBtYXhfY2hhciA9IE1BWF9DSEFSX0FTQ0lJOworICAgIG1hc2sgPSBNQVNLX0FTQ0lJOworICAgIHdoaWxlIChwIDwgdW5yb2xsZWRfZW5kKSB7CisgICAgICAgIFNUUklOR0xJQl9DSEFSIGJpdHMgPSBwWzBdIHwgcFsxXSB8IHBbMl0gfCBwWzNdOworICAgICAgICBpZiAoYml0cyAmIG1hc2spIHsKKyAgICAgICAgICAgIGlmIChtYXNrID09IG1hc2tfbGltaXQpIHsKKyAgICAgICAgICAgICAgICAvKiBMaW1pdCByZWFjaGVkICovCisgICAgICAgICAgICAgICAgcmV0dXJuIG1heF9jaGFyX2xpbWl0OworICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKG1hc2sgPT0gTUFTS19BU0NJSSkgeworICAgICAgICAgICAgICAgIG1heF9jaGFyID0gTUFYX0NIQVJfVUNTMTsKKyAgICAgICAgICAgICAgICBtYXNrID0gTUFTS19VQ1MxOworICAgICAgICAgICAgfQorICAgICAgICAgICAgZWxzZSB7CisgICAgICAgICAgICAgICAgLyogbWFzayBjYW4ndCBiZSBNQVNLX1VDUzIgYmVjYXVzZSBvZiBtYXNrX2xpbWl0IGFib3ZlICovCisgICAgICAgICAgICAgICAgYXNzZXJ0KG1hc2sgPT0gTUFTS19VQ1MxKTsKKyAgICAgICAgICAgICAgICBtYXhfY2hhciA9IE1BWF9DSEFSX1VDUzI7CisgICAgICAgICAgICAgICAgbWFzayA9IE1BU0tfVUNTMjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIC8qIFdlIGNoZWNrIHRoZSBuZXcgbWFzayBvbiB0aGUgc2FtZSBjaGFycyBpbiB0aGUgbmV4dCBpdGVyYXRpb24gKi8KKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICB9CisgICAgICAgIHAgKz0gNDsKKyAgICB9CisgICAgd2hpbGUgKHAgPCBlbmQpIHsKKyAgICAgICAgaWYgKHBbMF0gJiBtYXNrKSB7CisgICAgICAgICAgICBpZiAobWFzayA9PSBtYXNrX2xpbWl0KSB7CisgICAgICAgICAgICAgICAgLyogTGltaXQgcmVhY2hlZCAqLworICAgICAgICAgICAgICAgIHJldHVybiBtYXhfY2hhcl9saW1pdDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmIChtYXNrID09IE1BU0tfQVNDSUkpIHsKKyAgICAgICAgICAgICAgICBtYXhfY2hhciA9IE1BWF9DSEFSX1VDUzE7CisgICAgICAgICAgICAgICAgbWFzayA9IE1BU0tfVUNTMTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGVsc2UgeworICAgICAgICAgICAgICAgIC8qIG1hc2sgY2FuJ3QgYmUgTUFTS19VQ1MyIGJlY2F1c2Ugb2YgbWFza19saW1pdCBhYm92ZSAqLworICAgICAgICAgICAgICAgIGFzc2VydChtYXNrID09IE1BU0tfVUNTMSk7CisgICAgICAgICAgICAgICAgbWF4X2NoYXIgPSBNQVhfQ0hBUl9VQ1MyOworICAgICAgICAgICAgICAgIG1hc2sgPSBNQVNLX1VDUzI7CisgICAgICAgICAgICB9CisgICAgICAgICAgICAvKiBXZSBjaGVjayB0aGUgbmV3IG1hc2sgb24gdGhlIHNhbWUgY2hhcnMgaW4gdGhlIG5leHQgaXRlcmF0aW9uICovCisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgfQorICAgICAgICBwKys7CisgICAgfQorICAgIHJldHVybiBtYXhfY2hhcjsKK30KKworI3VuZGVmIE1BU0tfQVNDSUkKKyN1bmRlZiBNQVNLX1VDUzEKKyN1bmRlZiBNQVNLX1VDUzIKKyN1bmRlZiBNQVhfQ0hBUl9BU0NJSQorI3VuZGVmIE1BWF9DSEFSX1VDUzEKKyN1bmRlZiBNQVhfQ0hBUl9VQ1MyCisjdW5kZWYgTUFYX0NIQVJfVUNTNAorCisjZW5kaWYgLyogU1RSSU5HTElCX1NJWkVPRl9DSEFSID09IDEgKi8KKyNlbmRpZiAvKiBTVFJJTkdMSUJfSVNfVU5JQ09ERSAqLworCmRpZmYgLS1naXQgYS9PYmplY3RzL3N0cmluZ2xpYi9mb3JtYXR0ZXIuaCBiL09iamVjdHMvc3RyaW5nbGliL2Zvcm1hdHRlci5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0ZmRjNjJkLi4wMDAwMDAwCi0tLSBhL09iamVjdHMvc3RyaW5nbGliL2Zvcm1hdHRlci5oCisrKyAvZGV2L251bGwKQEAgLTEsMTUxOCArMCwwIEBACi0vKiBpbXBsZW1lbnRzIHRoZSBzdHJpbmcsIGxvbmcsIGFuZCBmbG9hdCBmb3JtYXR0ZXJzLiAgdGhhdCBpcywKLSAgIHN0cmluZy5fX2Zvcm1hdF9fLCBldGMuICovCi0KLSNpbmNsdWRlIDxsb2NhbGUuaD4KLQotLyogQmVmb3JlIGluY2x1ZGluZyB0aGlzLCB5b3UgbXVzdCBpbmNsdWRlIGVpdGhlcjoKLSAgIHN0cmluZ2xpYi91bmljb2RlZGVmcy5oCi0gICBzdHJpbmdsaWIvc3RyaW5nZGVmcy5oCi0KLSAgIEFsc28sIHlvdSBzaG91bGQgZGVmaW5lIHRoZSBuYW1lczoKLSAgIEZPUk1BVF9TVFJJTkcKLSAgIEZPUk1BVF9MT05HCi0gICBGT1JNQVRfRkxPQVQKLSAgIEZPUk1BVF9DT01QTEVYCi0gICB0byBiZSB3aGF0ZXZlciB5b3Ugd2FudCB0aGUgcHVibGljIG5hbWVzIG9mIHRoZXNlIGZ1bmN0aW9ucyB0bwotICAgYmUuICBUaGVzZSBhcmUgdGhlIG9ubHkgbm9uLXN0YXRpYyBmdW5jdGlvbnMgZGVmaW5lZCBoZXJlLgotKi8KLQotLyogUmFpc2VzIGFuIGV4Y2VwdGlvbiBhYm91dCBhbiB1bmtub3duIHByZXNlbnRhdGlvbiB0eXBlIGZvciB0aGlzCi0gKiB0eXBlLiAqLwotCi1zdGF0aWMgdm9pZAotdW5rbm93bl9wcmVzZW50YXRpb25fdHlwZShTVFJJTkdMSUJfQ0hBUiBwcmVzZW50YXRpb25fdHlwZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciogdHlwZV9uYW1lKQotewotI2lmIFNUUklOR0xJQl9JU19VTklDT0RFCi0gICAgLyogSWYgU1RSSU5HTElCX0NIQVIgaXMgUHlfVU5JQ09ERSwgJWMgbWlnaHQgYmUgb3V0LW9mLXJhbmdlLAotICAgICAgIGhlbmNlIHRoZSB0d28gY2FzZXMuIElmIGl0IGlzIGNoYXIsIGdjYyBjb21wbGFpbnMgdGhhdCB0aGUKLSAgICAgICBjb25kaXRpb24gYmVsb3cgaXMgYWx3YXlzIHRydWUsIGhlbmNlIHRoZSBpZmRlZi4gKi8KLSAgICBpZiAocHJlc2VudGF0aW9uX3R5cGUgPiAzMiAmJiBwcmVzZW50YXRpb25fdHlwZSA8IDEyOCkKLSNlbmRpZgotICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVmFsdWVFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICJVbmtub3duIGZvcm1hdCBjb2RlICclYycgIgotICAgICAgICAgICAgICAgICAgICAgImZvciBvYmplY3Qgb2YgdHlwZSAnJS4yMDBzJyIsCi0gICAgICAgICAgICAgICAgICAgICAoY2hhcilwcmVzZW50YXRpb25fdHlwZSwKLSAgICAgICAgICAgICAgICAgICAgIHR5cGVfbmFtZSk7Ci0jaWYgU1RSSU5HTElCX0lTX1VOSUNPREUKLSAgICBlbHNlCi0gICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19WYWx1ZUVycm9yLAotICAgICAgICAgICAgICAgICAgICAgIlVua25vd24gZm9ybWF0IGNvZGUgJ1xceCV4JyAiCi0gICAgICAgICAgICAgICAgICAgICAiZm9yIG9iamVjdCBvZiB0eXBlICclLjIwMHMnIiwKLSAgICAgICAgICAgICAgICAgICAgICh1bnNpZ25lZCBpbnQpcHJlc2VudGF0aW9uX3R5cGUsCi0gICAgICAgICAgICAgICAgICAgICB0eXBlX25hbWUpOwotI2VuZGlmCi19Ci0KLXN0YXRpYyB2b2lkCi1pbnZhbGlkX2NvbW1hX3R5cGUoU1RSSU5HTElCX0NIQVIgcHJlc2VudGF0aW9uX3R5cGUpCi17Ci0jaWYgU1RSSU5HTElCX0lTX1VOSUNPREUKLSAgICAvKiBTZWUgY29tbWVudCBpbiB1bmtub3duX3ByZXNlbnRhdGlvbl90eXBlICovCi0gICAgaWYgKHByZXNlbnRhdGlvbl90eXBlID4gMzIgJiYgcHJlc2VudGF0aW9uX3R5cGUgPCAxMjgpCi0jZW5kaWYKLSAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1ZhbHVlRXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAiQ2Fubm90IHNwZWNpZnkgJywnIHdpdGggJyVjJy4iLAotICAgICAgICAgICAgICAgICAgICAgKGNoYXIpcHJlc2VudGF0aW9uX3R5cGUpOwotI2lmIFNUUklOR0xJQl9JU19VTklDT0RFCi0gICAgZWxzZQotICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVmFsdWVFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICJDYW5ub3Qgc3BlY2lmeSAnLCcgd2l0aCAnXFx4JXgnLiIsCi0gICAgICAgICAgICAgICAgICAgICAodW5zaWduZWQgaW50KXByZXNlbnRhdGlvbl90eXBlKTsKLSNlbmRpZgotfQotCi0vKgotICAgIGdldF9pbnRlZ2VyIGNvbnN1bWVzIDAgb3IgbW9yZSBkZWNpbWFsIGRpZ2l0IGNoYXJhY3RlcnMgZnJvbSBhbgotICAgIGlucHV0IHN0cmluZywgdXBkYXRlcyAqcmVzdWx0IHdpdGggdGhlIGNvcnJlc3BvbmRpbmcgcG9zaXRpdmUKLSAgICBpbnRlZ2VyLCBhbmQgcmV0dXJucyB0aGUgbnVtYmVyIG9mIGRpZ2l0cyBjb25zdW1lZC4KLQotICAgIHJldHVybnMgLTEgb24gZXJyb3IuCi0qLwotc3RhdGljIGludAotZ2V0X2ludGVnZXIoU1RSSU5HTElCX0NIQVIgKipwdHIsIFNUUklOR0xJQl9DSEFSICplbmQsCi0gICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90ICpyZXN1bHQpCi17Ci0gICAgUHlfc3NpemVfdCBhY2N1bXVsYXRvciwgZGlnaXR2YWwsIG9sZGFjY3VtdWxhdG9yOwotICAgIGludCBudW1kaWdpdHM7Ci0gICAgYWNjdW11bGF0b3IgPSBudW1kaWdpdHMgPSAwOwotICAgIGZvciAoOzsoKnB0cikrKywgbnVtZGlnaXRzKyspIHsKLSAgICAgICAgaWYgKCpwdHIgPj0gZW5kKQotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGRpZ2l0dmFsID0gU1RSSU5HTElCX1RPREVDSU1BTCgqKnB0cik7Ci0gICAgICAgIGlmIChkaWdpdHZhbCA8IDApCi0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgLyoKLSAgICAgICAgICAgVGhpcyB0cmljayB3YXMgY29waWVkIGZyb20gb2xkIFVuaWNvZGUgZm9ybWF0IGNvZGUuICBJdCdzIGN1dGUsCi0gICAgICAgICAgIGJ1dCB3b3VsZCByZWFsbHkgc3VjayBvbiBhbiBvbGQgbWFjaGluZSB3aXRoIGEgc2xvdyBkaXZpZGUKLSAgICAgICAgICAgaW1wbGVtZW50YXRpb24uICBGb3J0dW5hdGVseSwgaW4gdGhlIG5vcm1hbCBjYXNlIHdlIGRvIG5vdAotICAgICAgICAgICBleHBlY3QgdG9vIG1hbnkgZGlnaXRzLgotICAgICAgICAqLwotICAgICAgICBvbGRhY2N1bXVsYXRvciA9IGFjY3VtdWxhdG9yOwotICAgICAgICBhY2N1bXVsYXRvciAqPSAxMDsKLSAgICAgICAgaWYgKChhY2N1bXVsYXRvcisxMCkvMTAgIT0gb2xkYWNjdW11bGF0b3IrMSkgewotICAgICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1ZhbHVlRXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIlRvbyBtYW55IGRlY2ltYWwgZGlnaXRzIGluIGZvcm1hdCBzdHJpbmciKTsKLSAgICAgICAgICAgIHJldHVybiAtMTsKLSAgICAgICAgfQotICAgICAgICBhY2N1bXVsYXRvciArPSBkaWdpdHZhbDsKLSAgICB9Ci0gICAgKnJlc3VsdCA9IGFjY3VtdWxhdG9yOwotICAgIHJldHVybiBudW1kaWdpdHM7Ci19Ci0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0vKioqKioqKioqKiogc3RhbmRhcmQgZm9ybWF0IHNwZWNpZmllciBwYXJzaW5nICoqKioqKioqKioqKioqKioqKioqKioqKioqLwotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLQotLyogcmV0dXJucyB0cnVlIGlmIHRoaXMgY2hhcmFjdGVyIGlzIGEgc3BlY2lmaWVyIGFsaWdubWVudCB0b2tlbiAqLwotUHlfTE9DQUxfSU5MSU5FKGludCkKLWlzX2FsaWdubWVudF90b2tlbihTVFJJTkdMSUJfQ0hBUiBjKQotewotICAgIHN3aXRjaCAoYykgewotICAgIGNhc2UgJzwnOiBjYXNlICc+JzogY2FzZSAnPSc6IGNhc2UgJ14nOgotICAgICAgICByZXR1cm4gMTsKLSAgICBkZWZhdWx0OgotICAgICAgICByZXR1cm4gMDsKLSAgICB9Ci19Ci0KLS8qIHJldHVybnMgdHJ1ZSBpZiB0aGlzIGNoYXJhY3RlciBpcyBhIHNpZ24gZWxlbWVudCAqLwotUHlfTE9DQUxfSU5MSU5FKGludCkKLWlzX3NpZ25fZWxlbWVudChTVFJJTkdMSUJfQ0hBUiBjKQotewotICAgIHN3aXRjaCAoYykgewotICAgIGNhc2UgJyAnOiBjYXNlICcrJzogY2FzZSAnLSc6Ci0gICAgICAgIHJldHVybiAxOwotICAgIGRlZmF1bHQ6Ci0gICAgICAgIHJldHVybiAwOwotICAgIH0KLX0KLQotCi10eXBlZGVmIHN0cnVjdCB7Ci0gICAgU1RSSU5HTElCX0NIQVIgZmlsbF9jaGFyOwotICAgIFNUUklOR0xJQl9DSEFSIGFsaWduOwotICAgIGludCBhbHRlcm5hdGU7Ci0gICAgU1RSSU5HTElCX0NIQVIgc2lnbjsKLSAgICBQeV9zc2l6ZV90IHdpZHRoOwotICAgIGludCB0aG91c2FuZHNfc2VwYXJhdG9yczsKLSAgICBQeV9zc2l6ZV90IHByZWNpc2lvbjsKLSAgICBTVFJJTkdMSUJfQ0hBUiB0eXBlOwotfSBJbnRlcm5hbEZvcm1hdFNwZWM7Ci0KLQotI2lmIDAKLS8qIE9jY2Fzc2lvbmFsbHkgdXNlZnVsIGZvciBkZWJ1Z2dpbmcuIFNob3VsZCBub3JtYWxseSBiZSBjb21tZW50ZWQgb3V0LiAqLwotc3RhdGljIHZvaWQKLURFQlVHX1BSSU5UX0ZPUk1BVF9TUEVDKEludGVybmFsRm9ybWF0U3BlYyAqZm9ybWF0KQotewotICAgIHByaW50ZigiaW50ZXJuYWwgZm9ybWF0IHNwZWM6IGZpbGxfY2hhciAlZFxuIiwgZm9ybWF0LT5maWxsX2NoYXIpOwotICAgIHByaW50ZigiaW50ZXJuYWwgZm9ybWF0IHNwZWM6IGFsaWduICVkXG4iLCBmb3JtYXQtPmFsaWduKTsKLSAgICBwcmludGYoImludGVybmFsIGZvcm1hdCBzcGVjOiBhbHRlcm5hdGUgJWRcbiIsIGZvcm1hdC0+YWx0ZXJuYXRlKTsKLSAgICBwcmludGYoImludGVybmFsIGZvcm1hdCBzcGVjOiBzaWduICVkXG4iLCBmb3JtYXQtPnNpZ24pOwotICAgIHByaW50ZigiaW50ZXJuYWwgZm9ybWF0IHNwZWM6IHdpZHRoICV6ZFxuIiwgZm9ybWF0LT53aWR0aCk7Ci0gICAgcHJpbnRmKCJpbnRlcm5hbCBmb3JtYXQgc3BlYzogdGhvdXNhbmRzX3NlcGFyYXRvcnMgJWRcbiIsCi0gICAgICAgICAgIGZvcm1hdC0+dGhvdXNhbmRzX3NlcGFyYXRvcnMpOwotICAgIHByaW50ZigiaW50ZXJuYWwgZm9ybWF0IHNwZWM6IHByZWNpc2lvbiAlemRcbiIsIGZvcm1hdC0+cHJlY2lzaW9uKTsKLSAgICBwcmludGYoImludGVybmFsIGZvcm1hdCBzcGVjOiB0eXBlICVjXG4iLCBmb3JtYXQtPnR5cGUpOwotICAgIHByaW50ZigiXG4iKTsKLX0KLSNlbmRpZgotCi0KLS8qCi0gIHB0ciBwb2ludHMgdG8gdGhlIHN0YXJ0IG9mIHRoZSBmb3JtYXRfc3BlYywgZW5kIHBvaW50cyBqdXN0IHBhc3QgaXRzIGVuZC4KLSAgZmlsbHMgaW4gZm9ybWF0IHdpdGggdGhlIHBhcnNlZCBpbmZvcm1hdGlvbi4KLSAgcmV0dXJucyAxIG9uIHN1Y2Nlc3MsIDAgb24gZmFpbHVyZS4KLSAgaWYgZmFpbHVyZSwgc2V0cyB0aGUgZXhjZXB0aW9uCi0qLwotc3RhdGljIGludAotcGFyc2VfaW50ZXJuYWxfcmVuZGVyX2Zvcm1hdF9zcGVjKFNUUklOR0xJQl9DSEFSICpmb3JtYXRfc3BlYywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IGZvcm1hdF9zcGVjX2xlbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbnRlcm5hbEZvcm1hdFNwZWMgKmZvcm1hdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFyIGRlZmF1bHRfdHlwZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFyIGRlZmF1bHRfYWxpZ24pCi17Ci0gICAgU1RSSU5HTElCX0NIQVIgKnB0ciA9IGZvcm1hdF9zcGVjOwotICAgIFNUUklOR0xJQl9DSEFSICplbmQgPSBmb3JtYXRfc3BlYyArIGZvcm1hdF9zcGVjX2xlbjsKLQotICAgIC8qIGVuZC1wdHIgaXMgdXNlZCB0aHJvdWdob3V0IHRoaXMgY29kZSB0byBzcGVjaWZ5IHRoZSBsZW5ndGggb2YKLSAgICAgICB0aGUgaW5wdXQgc3RyaW5nICovCi0KLSAgICBQeV9zc2l6ZV90IGNvbnN1bWVkOwotICAgIGludCBhbGlnbl9zcGVjaWZpZWQgPSAwOwotCi0gICAgZm9ybWF0LT5maWxsX2NoYXIgPSAnXDAnOwotICAgIGZvcm1hdC0+YWxpZ24gPSBkZWZhdWx0X2FsaWduOwotICAgIGZvcm1hdC0+YWx0ZXJuYXRlID0gMDsKLSAgICBmb3JtYXQtPnNpZ24gPSAnXDAnOwotICAgIGZvcm1hdC0+d2lkdGggPSAtMTsKLSAgICBmb3JtYXQtPnRob3VzYW5kc19zZXBhcmF0b3JzID0gMDsKLSAgICBmb3JtYXQtPnByZWNpc2lvbiA9IC0xOwotICAgIGZvcm1hdC0+dHlwZSA9IGRlZmF1bHRfdHlwZTsKLQotICAgIC8qIElmIHRoZSBzZWNvbmQgY2hhciBpcyBhbiBhbGlnbm1lbnQgdG9rZW4sCi0gICAgICAgdGhlbiBwYXJzZSB0aGUgZmlsbCBjaGFyICovCi0gICAgaWYgKGVuZC1wdHIgPj0gMiAmJiBpc19hbGlnbm1lbnRfdG9rZW4ocHRyWzFdKSkgewotICAgICAgICBmb3JtYXQtPmFsaWduID0gcHRyWzFdOwotICAgICAgICBmb3JtYXQtPmZpbGxfY2hhciA9IHB0clswXTsKLSAgICAgICAgYWxpZ25fc3BlY2lmaWVkID0gMTsKLSAgICAgICAgcHRyICs9IDI7Ci0gICAgfQotICAgIGVsc2UgaWYgKGVuZC1wdHIgPj0gMSAmJiBpc19hbGlnbm1lbnRfdG9rZW4ocHRyWzBdKSkgewotICAgICAgICBmb3JtYXQtPmFsaWduID0gcHRyWzBdOwotICAgICAgICBhbGlnbl9zcGVjaWZpZWQgPSAxOwotICAgICAgICArK3B0cjsKLSAgICB9Ci0KLSAgICAvKiBQYXJzZSB0aGUgdmFyaW91cyBzaWduIG9wdGlvbnMgKi8KLSAgICBpZiAoZW5kLXB0ciA+PSAxICYmIGlzX3NpZ25fZWxlbWVudChwdHJbMF0pKSB7Ci0gICAgICAgIGZvcm1hdC0+c2lnbiA9IHB0clswXTsKLSAgICAgICAgKytwdHI7Ci0gICAgfQotCi0gICAgLyogSWYgdGhlIG5leHQgY2hhcmFjdGVyIGlzICMsIHdlJ3JlIGluIGFsdGVybmF0ZSBtb2RlLiAgVGhpcyBvbmx5Ci0gICAgICAgYXBwbGllcyB0byBpbnRlZ2Vycy4gKi8KLSAgICBpZiAoZW5kLXB0ciA+PSAxICYmIHB0clswXSA9PSAnIycpIHsKLSAgICAgICAgZm9ybWF0LT5hbHRlcm5hdGUgPSAxOwotICAgICAgICArK3B0cjsKLSAgICB9Ci0KLSAgICAvKiBUaGUgc3BlY2lhbCBjYXNlIGZvciAwLXBhZGRpbmcgKGJhY2t3YXJkcyBjb21wYXQpICovCi0gICAgaWYgKGZvcm1hdC0+ZmlsbF9jaGFyID09ICdcMCcgJiYgZW5kLXB0ciA+PSAxICYmIHB0clswXSA9PSAnMCcpIHsKLSAgICAgICAgZm9ybWF0LT5maWxsX2NoYXIgPSAnMCc7Ci0gICAgICAgIGlmICghYWxpZ25fc3BlY2lmaWVkKSB7Ci0gICAgICAgICAgICBmb3JtYXQtPmFsaWduID0gJz0nOwotICAgICAgICB9Ci0gICAgICAgICsrcHRyOwotICAgIH0KLQotICAgIGNvbnN1bWVkID0gZ2V0X2ludGVnZXIoJnB0ciwgZW5kLCAmZm9ybWF0LT53aWR0aCk7Ci0gICAgaWYgKGNvbnN1bWVkID09IC0xKQotICAgICAgICAvKiBPdmVyZmxvdyBlcnJvci4gRXhjZXB0aW9uIGFscmVhZHkgc2V0LiAqLwotICAgICAgICByZXR1cm4gMDsKLQotICAgIC8qIElmIGNvbnN1bWVkIGlzIDAsIHdlIGRpZG4ndCBjb25zdW1lIGFueSBjaGFyYWN0ZXJzIGZvciB0aGUKLSAgICAgICB3aWR0aC4gSW4gdGhhdCBjYXNlLCByZXNldCB0aGUgd2lkdGggdG8gLTEsIGJlY2F1c2UKLSAgICAgICBnZXRfaW50ZWdlcigpIHdpbGwgaGF2ZSBzZXQgaXQgdG8gemVyby4gLTEgaXMgaG93IHdlIHJlY29yZAotICAgICAgIHRoYXQgdGhlIHdpZHRoIHdhc24ndCBzcGVjaWZpZWQuICovCi0gICAgaWYgKGNvbnN1bWVkID09IDApCi0gICAgICAgIGZvcm1hdC0+d2lkdGggPSAtMTsKLQotICAgIC8qIENvbW1hIHNpZ25pZmllcyBhZGQgdGhvdXNhbmRzIHNlcGFyYXRvcnMgKi8KLSAgICBpZiAoZW5kLXB0ciAmJiBwdHJbMF0gPT0gJywnKSB7Ci0gICAgICAgIGZvcm1hdC0+dGhvdXNhbmRzX3NlcGFyYXRvcnMgPSAxOwotICAgICAgICArK3B0cjsKLSAgICB9Ci0KLSAgICAvKiBQYXJzZSBmaWVsZCBwcmVjaXNpb24gKi8KLSAgICBpZiAoZW5kLXB0ciAmJiBwdHJbMF0gPT0gJy4nKSB7Ci0gICAgICAgICsrcHRyOwotCi0gICAgICAgIGNvbnN1bWVkID0gZ2V0X2ludGVnZXIoJnB0ciwgZW5kLCAmZm9ybWF0LT5wcmVjaXNpb24pOwotICAgICAgICBpZiAoY29uc3VtZWQgPT0gLTEpCi0gICAgICAgICAgICAvKiBPdmVyZmxvdyBlcnJvci4gRXhjZXB0aW9uIGFscmVhZHkgc2V0LiAqLwotICAgICAgICAgICAgcmV0dXJuIDA7Ci0KLSAgICAgICAgLyogTm90IGhhdmluZyBhIHByZWNpc2lvbiBhZnRlciBhIGRvdCBpcyBhbiBlcnJvci4gKi8KLSAgICAgICAgaWYgKGNvbnN1bWVkID09IDApIHsKLSAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19WYWx1ZUVycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgICJGb3JtYXQgc3BlY2lmaWVyIG1pc3NpbmcgcHJlY2lzaW9uIik7Ci0gICAgICAgICAgICByZXR1cm4gMDsKLSAgICAgICAgfQotCi0gICAgfQotCi0gICAgLyogRmluYWxseSwgcGFyc2UgdGhlIHR5cGUgZmllbGQuICovCi0KLSAgICBpZiAoZW5kLXB0ciA+IDEpIHsKLSAgICAgICAgLyogTW9yZSB0aGFuIG9uZSBjaGFyIHJlbWFpbiwgaW52YWxpZCBjb252ZXJzaW9uIHNwZWMuICovCi0gICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19WYWx1ZUVycm9yLCAiSW52YWxpZCBjb252ZXJzaW9uIHNwZWNpZmljYXRpb24iKTsKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgfQotCi0gICAgaWYgKGVuZC1wdHIgPT0gMSkgewotICAgICAgICBmb3JtYXQtPnR5cGUgPSBwdHJbMF07Ci0gICAgICAgICsrcHRyOwotICAgIH0KLQotICAgIC8qIERvIGFzIG11Y2ggdmFsaWRhdGluZyBhcyB3ZSBjYW4sIGp1c3QgYnkgbG9va2luZyBhdCB0aGUgZm9ybWF0Ci0gICAgICAgc3BlY2lmaWVyLiAgRG8gbm90IHRha2UgaW50byBhY2NvdW50IHdoYXQgdHlwZSBvZiBmb3JtYXR0aW5nCi0gICAgICAgd2UncmUgZG9pbmcgKGludCwgZmxvYXQsIHN0cmluZykuICovCi0KLSAgICBpZiAoZm9ybWF0LT50aG91c2FuZHNfc2VwYXJhdG9ycykgewotICAgICAgICBzd2l0Y2ggKGZvcm1hdC0+dHlwZSkgewotICAgICAgICBjYXNlICdkJzoKLSAgICAgICAgY2FzZSAnZSc6Ci0gICAgICAgIGNhc2UgJ2YnOgotICAgICAgICBjYXNlICdnJzoKLSAgICAgICAgY2FzZSAnRSc6Ci0gICAgICAgIGNhc2UgJ0cnOgotICAgICAgICBjYXNlICclJzoKLSAgICAgICAgY2FzZSAnRic6Ci0gICAgICAgIGNhc2UgJ1wwJzoKLSAgICAgICAgICAgIC8qIFRoZXNlIGFyZSBhbGxvd2VkLiBTZWUgUEVQIDM3OC4qLwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICBpbnZhbGlkX2NvbW1hX3R5cGUoZm9ybWF0LT50eXBlKTsKLSAgICAgICAgICAgIHJldHVybiAwOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgcmV0dXJuIDE7Ci19Ci0KLS8qIENhbGN1bGF0ZSB0aGUgcGFkZGluZyBuZWVkZWQuICovCi1zdGF0aWMgdm9pZAotY2FsY19wYWRkaW5nKFB5X3NzaXplX3QgbmNoYXJzLCBQeV9zc2l6ZV90IHdpZHRoLCBTVFJJTkdMSUJfQ0hBUiBhbGlnbiwKLSAgICAgICAgICAgICBQeV9zc2l6ZV90ICpuX2xwYWRkaW5nLCBQeV9zc2l6ZV90ICpuX3JwYWRkaW5nLAotICAgICAgICAgICAgIFB5X3NzaXplX3QgKm5fdG90YWwpCi17Ci0gICAgaWYgKHdpZHRoID49IDApIHsKLSAgICAgICAgaWYgKG5jaGFycyA+IHdpZHRoKQotICAgICAgICAgICAgKm5fdG90YWwgPSBuY2hhcnM7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgICpuX3RvdGFsID0gd2lkdGg7Ci0gICAgfQotICAgIGVsc2UgewotICAgICAgICAvKiBub3Qgc3BlY2lmaWVkLCB1c2UgYWxsIG9mIHRoZSBjaGFycyBhbmQgbm8gbW9yZSAqLwotICAgICAgICAqbl90b3RhbCA9IG5jaGFyczsKLSAgICB9Ci0KLSAgICAvKiBGaWd1cmUgb3V0IGhvdyBtdWNoIGxlYWRpbmcgc3BhY2Ugd2UgbmVlZCwgYmFzZWQgb24gdGhlCi0gICAgICAgYWxpZ25pbmcgKi8KLSAgICBpZiAoYWxpZ24gPT0gJz4nKQotICAgICAgICAqbl9scGFkZGluZyA9ICpuX3RvdGFsIC0gbmNoYXJzOwotICAgIGVsc2UgaWYgKGFsaWduID09ICdeJykKLSAgICAgICAgKm5fbHBhZGRpbmcgPSAoKm5fdG90YWwgLSBuY2hhcnMpIC8gMjsKLSAgICBlbHNlIGlmIChhbGlnbiA9PSAnPCcgfHwgYWxpZ24gPT0gJz0nKQotICAgICAgICAqbl9scGFkZGluZyA9IDA7Ci0gICAgZWxzZSB7Ci0gICAgICAgIC8qIFdlIHNob3VsZCBuZXZlciBoYXZlIGFuIHVuc3BlY2lmaWVkIGFsaWdubWVudC4gKi8KLSAgICAgICAgKm5fbHBhZGRpbmcgPSAwOwotICAgICAgICBhc3NlcnQoMCk7Ci0gICAgfQotCi0gICAgKm5fcnBhZGRpbmcgPSAqbl90b3RhbCAtIG5jaGFycyAtICpuX2xwYWRkaW5nOwotfQotCi0vKiBEbyB0aGUgcGFkZGluZywgYW5kIHJldHVybiBhIHBvaW50ZXIgdG8gd2hlcmUgdGhlIGNhbGxlci1zdXBwbGllZAotICAgY29udGVudCBnb2VzLiAqLwotc3RhdGljIFNUUklOR0xJQl9DSEFSICoKLWZpbGxfcGFkZGluZyhTVFJJTkdMSUJfQ0hBUiAqcCwgUHlfc3NpemVfdCBuY2hhcnMsIFNUUklOR0xJQl9DSEFSIGZpbGxfY2hhciwKLSAgICAgICAgICAgICBQeV9zc2l6ZV90IG5fbHBhZGRpbmcsIFB5X3NzaXplX3Qgbl9ycGFkZGluZykKLXsKLSAgICAvKiBQYWQgb24gbGVmdC4gKi8KLSAgICBpZiAobl9scGFkZGluZykKLSAgICAgICAgU1RSSU5HTElCX0ZJTEwocCwgZmlsbF9jaGFyLCBuX2xwYWRkaW5nKTsKLQotICAgIC8qIFBhZCBvbiByaWdodC4gKi8KLSAgICBpZiAobl9ycGFkZGluZykKLSAgICAgICAgU1RSSU5HTElCX0ZJTEwocCArIG5jaGFycyArIG5fbHBhZGRpbmcsIGZpbGxfY2hhciwgbl9ycGFkZGluZyk7Ci0KLSAgICAvKiBQb2ludGVyIHRvIHRoZSB1c2VyIGNvbnRlbnQuICovCi0gICAgcmV0dXJuIHAgKyBuX2xwYWRkaW5nOwotfQotCi0jaWYgZGVmaW5lZCBGT1JNQVRfRkxPQVQgfHwgZGVmaW5lZCBGT1JNQVRfTE9ORyB8fCBkZWZpbmVkIEZPUk1BVF9DT01QTEVYCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotLyoqKioqKioqKioqIGNvbW1vbiByb3V0aW5lcyBmb3IgbnVtZXJpYyBmb3JtYXR0aW5nICoqKioqKioqKioqKioqKioqKioqKi8KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0KLS8qIExvY2FsZSB0eXBlIGNvZGVzLiAqLwotI2RlZmluZSBMVF9DVVJSRU5UX0xPQ0FMRSAwCi0jZGVmaW5lIExUX0RFRkFVTFRfTE9DQUxFIDEKLSNkZWZpbmUgTFRfTk9fTE9DQUxFIDIKLQotLyogTG9jYWxlIGluZm8gbmVlZGVkIGZvciBmb3JtYXR0aW5nIGludGVnZXJzIGFuZCB0aGUgcGFydCBvZiBmbG9hdHMKLSAgIGJlZm9yZSBhbmQgaW5jbHVkaW5nIHRoZSBkZWNpbWFsLiBOb3RlIHRoYXQgbG9jYWxlcyBvbmx5IHN1cHBvcnQKLSAgIDgtYml0IGNoYXJzLCBub3QgdW5pY29kZS4gKi8KLXR5cGVkZWYgc3RydWN0IHsKLSAgICBjaGFyICpkZWNpbWFsX3BvaW50OwotICAgIGNoYXIgKnRob3VzYW5kc19zZXA7Ci0gICAgY2hhciAqZ3JvdXBpbmc7Ci19IExvY2FsZUluZm87Ci0KLS8qIGRlc2NyaWJlcyB0aGUgbGF5b3V0IGZvciBhbiBpbnRlZ2VyLCBzZWUgdGhlIGNvbW1lbnQgaW4KLSAgIGNhbGNfbnVtYmVyX3dpZHRocygpIGZvciBkZXRhaWxzICovCi10eXBlZGVmIHN0cnVjdCB7Ci0gICAgUHlfc3NpemVfdCBuX2xwYWRkaW5nOwotICAgIFB5X3NzaXplX3Qgbl9wcmVmaXg7Ci0gICAgUHlfc3NpemVfdCBuX3NwYWRkaW5nOwotICAgIFB5X3NzaXplX3Qgbl9ycGFkZGluZzsKLSAgICBjaGFyIHNpZ247Ci0gICAgUHlfc3NpemVfdCBuX3NpZ247ICAgICAgLyogbnVtYmVyIG9mIGRpZ2l0cyBuZWVkZWQgZm9yIHNpZ24gKDAvMSkgKi8KLSAgICBQeV9zc2l6ZV90IG5fZ3JvdXBlZF9kaWdpdHM7IC8qIFNwYWNlIHRha2VuIHVwIGJ5IHRoZSBkaWdpdHMsIGluY2x1ZGluZwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW55IGdyb3VwaW5nIGNoYXJzLiAqLwotICAgIFB5X3NzaXplX3Qgbl9kZWNpbWFsOyAgIC8qIDAgaWYgb25seSBhbiBpbnRlZ2VyICovCi0gICAgUHlfc3NpemVfdCBuX3JlbWFpbmRlcjsgLyogRGlnaXRzIGluIGRlY2ltYWwgYW5kL29yIGV4cG9uZW50IHBhcnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhjbHVkaW5nIHRoZSBkZWNpbWFsIGl0c2VsZiwgaWYKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmVzZW50LiAqLwotCi0gICAgLyogVGhlc2UgMiBhcmUgbm90IHRoZSB3aWR0aHMgb2YgZmllbGRzLCBidXQgYXJlIG5lZWRlZCBieQotICAgICAgIFNUUklOR0xJQl9HUk9VUElORy4gKi8KLSAgICBQeV9zc2l6ZV90IG5fZGlnaXRzOyAgICAvKiBUaGUgbnVtYmVyIG9mIGRpZ2l0cyBiZWZvcmUgYSBkZWNpbWFsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3IgZXhwb25lbnQuICovCi0gICAgUHlfc3NpemVfdCBuX21pbl93aWR0aDsgLyogVGhlIG1pbl93aWR0aCB3ZSB1c2VkIHdoZW4gd2UgY29tcHV0ZWQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgbl9ncm91cGVkX2RpZ2l0cyB3aWR0aC4gKi8KLX0gTnVtYmVyRmllbGRXaWR0aHM7Ci0KLQotLyogR2l2ZW4gYSBudW1iZXIgb2YgdGhlIGZvcm06Ci0gICBkaWdpdHNbcmVtYWluZGVyXQotICAgd2hlcmUgcHRyIHBvaW50cyB0byB0aGUgc3RhcnQgYW5kIGVuZCBwb2ludHMgdG8gdGhlIGVuZCwgZmluZCB3aGVyZQotICAgIHRoZSBpbnRlZ2VyIHBhcnQgZW5kcy4gVGhpcyBjb3VsZCBiZSBhIGRlY2ltYWwsIGFuIGV4cG9uZW50LCBib3RoLAotICAgIG9yIG5laXRoZXIuCi0gICBJZiBhIGRlY2ltYWwgcG9pbnQgaXMgcHJlc2VudCwgc2V0ICpoYXNfZGVjaW1hbCBhbmQgaW5jcmVtZW50Ci0gICAgcmVtYWluZGVyIGJleW9uZCBpdC4KLSAgIFJlc3VsdHMgYXJlIHVuZGVmaW5lZCAoYnV0IHNob3VsZG4ndCBjcmFzaCkgZm9yIGltcHJvcGVybHkKLSAgICBmb3JtYXR0ZWQgc3RyaW5ncy4KLSovCi1zdGF0aWMgdm9pZAotcGFyc2VfbnVtYmVyKFNUUklOR0xJQl9DSEFSICpwdHIsIFB5X3NzaXplX3QgbGVuLAotICAgICAgICAgICAgIFB5X3NzaXplX3QgKm5fcmVtYWluZGVyLCBpbnQgKmhhc19kZWNpbWFsKQotewotICAgIFNUUklOR0xJQl9DSEFSICplbmQgPSBwdHIgKyBsZW47Ci0gICAgU1RSSU5HTElCX0NIQVIgKnJlbWFpbmRlcjsKLQotICAgIHdoaWxlIChwdHI8ZW5kICYmIGlzZGlnaXQoKnB0cikpCi0gICAgICAgICsrcHRyOwotICAgIHJlbWFpbmRlciA9IHB0cjsKLQotICAgIC8qIERvZXMgcmVtYWluZGVyIHN0YXJ0IHdpdGggYSBkZWNpbWFsIHBvaW50PyAqLwotICAgICpoYXNfZGVjaW1hbCA9IHB0cjxlbmQgJiYgKnJlbWFpbmRlciA9PSAnLic7Ci0KLSAgICAvKiBTa2lwIHRoZSBkZWNpbWFsIHBvaW50LiAqLwotICAgIGlmICgqaGFzX2RlY2ltYWwpCi0gICAgICAgIHJlbWFpbmRlcisrOwotCi0gICAgKm5fcmVtYWluZGVyID0gZW5kIC0gcmVtYWluZGVyOwotfQotCi0vKiBub3QgYWxsIGZpZWxkcyBvZiBmb3JtYXQgYXJlIHVzZWQuICBmb3IgZXhhbXBsZSwgcHJlY2lzaW9uIGlzCi0gICB1bnVzZWQuICBzaG91bGQgdGhpcyB0YWtlIGRpc2NyZXRlIHBhcmFtcyBpbiBvcmRlciB0byBiZSBtb3JlIGNsZWFyCi0gICBhYm91dCB3aGF0IGl0IGRvZXM/ICBvciBpcyBwYXNzaW5nIGEgc2luZ2xlIGZvcm1hdCBwYXJhbWV0ZXIgZWFzaWVyCi0gICBhbmQgbW9yZSBlZmZpY2llbnQgZW5vdWdoIHRvIGp1c3RpZnkgYSBsaXR0bGUgb2JmdXNjYXRpb24/ICovCi1zdGF0aWMgUHlfc3NpemVfdAotY2FsY19udW1iZXJfd2lkdGhzKE51bWJlckZpZWxkV2lkdGhzICpzcGVjLCBQeV9zc2l6ZV90IG5fcHJlZml4LAotICAgICAgICAgICAgICAgICAgIFNUUklOR0xJQl9DSEFSIHNpZ25fY2hhciwgU1RSSU5HTElCX0NIQVIgKm51bWJlciwKLSAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IG5fbnVtYmVyLCBQeV9zc2l6ZV90IG5fcmVtYWluZGVyLAotICAgICAgICAgICAgICAgICAgIGludCBoYXNfZGVjaW1hbCwgY29uc3QgTG9jYWxlSW5mbyAqbG9jYWxlLAotICAgICAgICAgICAgICAgICAgIGNvbnN0IEludGVybmFsRm9ybWF0U3BlYyAqZm9ybWF0KQotewotICAgIFB5X3NzaXplX3Qgbl9ub25fZGlnaXRfbm9uX3BhZGRpbmc7Ci0gICAgUHlfc3NpemVfdCBuX3BhZGRpbmc7Ci0KLSAgICBzcGVjLT5uX2RpZ2l0cyA9IG5fbnVtYmVyIC0gbl9yZW1haW5kZXIgLSAoaGFzX2RlY2ltYWw/MTowKTsKLSAgICBzcGVjLT5uX2xwYWRkaW5nID0gMDsKLSAgICBzcGVjLT5uX3ByZWZpeCA9IG5fcHJlZml4OwotICAgIHNwZWMtPm5fZGVjaW1hbCA9IGhhc19kZWNpbWFsID8gc3RybGVuKGxvY2FsZS0+ZGVjaW1hbF9wb2ludCkgOiAwOwotICAgIHNwZWMtPm5fcmVtYWluZGVyID0gbl9yZW1haW5kZXI7Ci0gICAgc3BlYy0+bl9zcGFkZGluZyA9IDA7Ci0gICAgc3BlYy0+bl9ycGFkZGluZyA9IDA7Ci0gICAgc3BlYy0+c2lnbiA9ICdcMCc7Ci0gICAgc3BlYy0+bl9zaWduID0gMDsKLQotICAgIC8qIHRoZSBvdXRwdXQgd2lsbCBsb29rIGxpa2U6Ci0gICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotICAgICAgIHwgPGxwYWRkaW5nPiA8c2lnbj4gPHByZWZpeD4gPHNwYWRkaW5nPiA8Z3JvdXBlZF9kaWdpdHM+IDxkZWNpbWFsPiA8cmVtYWluZGVyPiA8cnBhZGRpbmc+IHwKLSAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Ci0KLSAgICAgICBzaWduIGlzIGNvbXB1dGVkIGZyb20gZm9ybWF0LT5zaWduIGFuZCB0aGUgYWN0dWFsCi0gICAgICAgc2lnbiBvZiB0aGUgbnVtYmVyCi0KLSAgICAgICBwcmVmaXggaXMgZ2l2ZW4gKGl0J3MgZm9yIHRoZSAnMHgnIHByZWZpeCkKLQotICAgICAgIGRpZ2l0cyBpcyBhbHJlYWR5IGtub3duCi0KLSAgICAgICB0aGUgdG90YWwgd2lkdGggaXMgZWl0aGVyIGdpdmVuLCBvciBjb21wdXRlZCBmcm9tIHRoZQotICAgICAgIGFjdHVhbCBkaWdpdHMKLQotICAgICAgIG9ubHkgb25lIG9mIGxwYWRkaW5nLCBzcGFkZGluZywgYW5kIHJwYWRkaW5nIGNhbiBiZSBub24temVybywKLSAgICAgICBhbmQgaXQncyBjYWxjdWxhdGVkIGZyb20gdGhlIHdpZHRoIGFuZCBvdGhlciBmaWVsZHMKLSAgICAqLwotCi0gICAgLyogY29tcHV0ZSB0aGUgdmFyaW91cyBwYXJ0cyB3ZSdyZSBnb2luZyB0byB3cml0ZSAqLwotICAgIHN3aXRjaCAoZm9ybWF0LT5zaWduKSB7Ci0gICAgY2FzZSAnKyc6Ci0gICAgICAgIC8qIGFsd2F5cyBwdXQgYSArIG9yIC0gKi8KLSAgICAgICAgc3BlYy0+bl9zaWduID0gMTsKLSAgICAgICAgc3BlYy0+c2lnbiA9IChzaWduX2NoYXIgPT0gJy0nID8gJy0nIDogJysnKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSAnICc6Ci0gICAgICAgIHNwZWMtPm5fc2lnbiA9IDE7Ci0gICAgICAgIHNwZWMtPnNpZ24gPSAoc2lnbl9jaGFyID09ICctJyA/ICctJyA6ICcgJyk7Ci0gICAgICAgIGJyZWFrOwotICAgIGRlZmF1bHQ6Ci0gICAgICAgIC8qIE5vdCBzcGVjaWZpZWQsIG9yIHRoZSBkZWZhdWx0ICgtKSAqLwotICAgICAgICBpZiAoc2lnbl9jaGFyID09ICctJykgewotICAgICAgICAgICAgc3BlYy0+bl9zaWduID0gMTsKLSAgICAgICAgICAgIHNwZWMtPnNpZ24gPSAnLSc7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICAvKiBUaGUgbnVtYmVyIG9mIGNoYXJzIHVzZWQgZm9yIG5vbi1kaWdpdHMgYW5kIG5vbi1wYWRkaW5nLiAqLwotICAgIG5fbm9uX2RpZ2l0X25vbl9wYWRkaW5nID0gc3BlYy0+bl9zaWduICsgc3BlYy0+bl9wcmVmaXggKyBzcGVjLT5uX2RlY2ltYWwgKwotICAgICAgICBzcGVjLT5uX3JlbWFpbmRlcjsKLQotICAgIC8qIG1pbl93aWR0aCBjYW4gZ28gbmVnYXRpdmUsIHRoYXQncyBva2F5LiBmb3JtYXQtPndpZHRoID09IC0xIG1lYW5zCi0gICAgICAgd2UgZG9uJ3QgY2FyZS4gKi8KLSAgICBpZiAoZm9ybWF0LT5maWxsX2NoYXIgPT0gJzAnICYmIGZvcm1hdC0+YWxpZ24gPT0gJz0nKQotICAgICAgICBzcGVjLT5uX21pbl93aWR0aCA9IGZvcm1hdC0+d2lkdGggLSBuX25vbl9kaWdpdF9ub25fcGFkZGluZzsKLSAgICBlbHNlCi0gICAgICAgIHNwZWMtPm5fbWluX3dpZHRoID0gMDsKLQotICAgIGlmIChzcGVjLT5uX2RpZ2l0cyA9PSAwKQotICAgICAgICAvKiBUaGlzIGNhc2Ugb25seSBvY2N1cnMgd2hlbiB1c2luZyAnYycgZm9ybWF0dGluZywgd2UgbmVlZAotICAgICAgICAgICB0byBzcGVjaWFsIGNhc2UgaXQgYmVjYXVzZSB0aGUgZ3JvdXBpbmcgY29kZSBhbHdheXMgd2FudHMKLSAgICAgICAgICAgdG8gaGF2ZSBhdCBsZWFzdCBvbmUgY2hhcmFjdGVyLiAqLwotICAgICAgICBzcGVjLT5uX2dyb3VwZWRfZGlnaXRzID0gMDsKLSAgICBlbHNlCi0gICAgICAgIHNwZWMtPm5fZ3JvdXBlZF9kaWdpdHMgPSBTVFJJTkdMSUJfR1JPVVBJTkcoTlVMTCwgMCwgTlVMTCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcGVjLT5uX2RpZ2l0cywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcGVjLT5uX21pbl93aWR0aCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhbGUtPmdyb3VwaW5nLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsZS0+dGhvdXNhbmRzX3NlcCk7Ci0KLSAgICAvKiBHaXZlbiB0aGUgZGVzaXJlZCB3aWR0aCBhbmQgdGhlIHRvdGFsIG9mIGRpZ2l0IGFuZCBub24tZGlnaXQKLSAgICAgICBzcGFjZSB3ZSBjb25zdW1lLCBzZWUgaWYgd2UgbmVlZCBhbnkgcGFkZGluZy4gZm9ybWF0LT53aWR0aCBjYW4KLSAgICAgICBiZSBuZWdhdGl2ZSAobWVhbmluZyBubyBwYWRkaW5nKSwgYnV0IHRoaXMgY29kZSBzdGlsbCB3b3JrcyBpbgotICAgICAgIHRoYXQgY2FzZS4gKi8KLSAgICBuX3BhZGRpbmcgPSBmb3JtYXQtPndpZHRoIC0KLSAgICAgICAgICAgICAgICAgICAgICAgIChuX25vbl9kaWdpdF9ub25fcGFkZGluZyArIHNwZWMtPm5fZ3JvdXBlZF9kaWdpdHMpOwotICAgIGlmIChuX3BhZGRpbmcgPiAwKSB7Ci0gICAgICAgIC8qIFNvbWUgcGFkZGluZyBpcyBuZWVkZWQuIERldGVybWluZSBpZiBpdCdzIGxlZnQsIHNwYWNlLCBvciByaWdodC4gKi8KLSAgICAgICAgc3dpdGNoIChmb3JtYXQtPmFsaWduKSB7Ci0gICAgICAgIGNhc2UgJzwnOgotICAgICAgICAgICAgc3BlYy0+bl9ycGFkZGluZyA9IG5fcGFkZGluZzsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlICdeJzoKLSAgICAgICAgICAgIHNwZWMtPm5fbHBhZGRpbmcgPSBuX3BhZGRpbmcgLyAyOwotICAgICAgICAgICAgc3BlYy0+bl9ycGFkZGluZyA9IG5fcGFkZGluZyAtIHNwZWMtPm5fbHBhZGRpbmc7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSAnPSc6Ci0gICAgICAgICAgICBzcGVjLT5uX3NwYWRkaW5nID0gbl9wYWRkaW5nOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgJz4nOgotICAgICAgICAgICAgc3BlYy0+bl9scGFkZGluZyA9IG5fcGFkZGluZzsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgLyogU2hvdWxkbid0IGdldCBoZXJlLCBidXQgdHJlYXQgaXQgYXMgJz4nICovCi0gICAgICAgICAgICBzcGVjLT5uX2xwYWRkaW5nID0gbl9wYWRkaW5nOwotICAgICAgICAgICAgYXNzZXJ0KDApOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgcmV0dXJuIHNwZWMtPm5fbHBhZGRpbmcgKyBzcGVjLT5uX3NpZ24gKyBzcGVjLT5uX3ByZWZpeCArCi0gICAgICAgIHNwZWMtPm5fc3BhZGRpbmcgKyBzcGVjLT5uX2dyb3VwZWRfZGlnaXRzICsgc3BlYy0+bl9kZWNpbWFsICsKLSAgICAgICAgc3BlYy0+bl9yZW1haW5kZXIgKyBzcGVjLT5uX3JwYWRkaW5nOwotfQotCi0vKiBGaWxsIGluIHRoZSBkaWdpdCBwYXJ0cyBvZiBhIG51bWJlcnMncyBzdHJpbmcgcmVwcmVzZW50YXRpb24sCi0gICBhcyBkZXRlcm1pbmVkIGluIGNhbGNfbnVtYmVyX3dpZHRocygpLgotICAgTm8gZXJyb3IgY2hlY2tpbmcsIHNpbmNlIHdlIGtub3cgdGhlIGJ1ZmZlciBpcyB0aGUgY29ycmVjdCBzaXplLiAqLwotc3RhdGljIHZvaWQKLWZpbGxfbnVtYmVyKFNUUklOR0xJQl9DSEFSICpidWYsIGNvbnN0IE51bWJlckZpZWxkV2lkdGhzICpzcGVjLAotICAgICAgICAgICAgU1RSSU5HTElCX0NIQVIgKmRpZ2l0cywgUHlfc3NpemVfdCBuX2RpZ2l0cywKLSAgICAgICAgICAgIFNUUklOR0xJQl9DSEFSICpwcmVmaXgsIFNUUklOR0xJQl9DSEFSIGZpbGxfY2hhciwKLSAgICAgICAgICAgIExvY2FsZUluZm8gKmxvY2FsZSwgaW50IHRvdXBwZXIpCi17Ci0gICAgLyogVXNlZCB0byBrZWVwIHRyYWNrIG9mIGRpZ2l0cywgZGVjaW1hbCwgYW5kIHJlbWFpbmRlci4gKi8KLSAgICBTVFJJTkdMSUJfQ0hBUiAqcCA9IGRpZ2l0czsKLQotI2lmbmRlZiBOREVCVUcKLSAgICBQeV9zc2l6ZV90IHI7Ci0jZW5kaWYKLQotICAgIGlmIChzcGVjLT5uX2xwYWRkaW5nKSB7Ci0gICAgICAgIFNUUklOR0xJQl9GSUxMKGJ1ZiwgZmlsbF9jaGFyLCBzcGVjLT5uX2xwYWRkaW5nKTsKLSAgICAgICAgYnVmICs9IHNwZWMtPm5fbHBhZGRpbmc7Ci0gICAgfQotICAgIGlmIChzcGVjLT5uX3NpZ24gPT0gMSkgewotICAgICAgICAqYnVmKysgPSBzcGVjLT5zaWduOwotICAgIH0KLSAgICBpZiAoc3BlYy0+bl9wcmVmaXgpIHsKLSAgICAgICAgbWVtbW92ZShidWYsCi0gICAgICAgICAgICAgICAgcHJlZml4LAotICAgICAgICAgICAgICAgIHNwZWMtPm5fcHJlZml4ICogc2l6ZW9mKFNUUklOR0xJQl9DSEFSKSk7Ci0gICAgICAgIGlmICh0b3VwcGVyKSB7Ci0gICAgICAgICAgICBQeV9zc2l6ZV90IHQ7Ci0gICAgICAgICAgICBmb3IgKHQgPSAwOyB0IDwgc3BlYy0+bl9wcmVmaXg7ICsrdCkKLSAgICAgICAgICAgICAgICBidWZbdF0gPSBTVFJJTkdMSUJfVE9VUFBFUihidWZbdF0pOwotICAgICAgICB9Ci0gICAgICAgIGJ1ZiArPSBzcGVjLT5uX3ByZWZpeDsKLSAgICB9Ci0gICAgaWYgKHNwZWMtPm5fc3BhZGRpbmcpIHsKLSAgICAgICAgU1RSSU5HTElCX0ZJTEwoYnVmLCBmaWxsX2NoYXIsIHNwZWMtPm5fc3BhZGRpbmcpOwotICAgICAgICBidWYgKz0gc3BlYy0+bl9zcGFkZGluZzsKLSAgICB9Ci0KLSAgICAvKiBPbmx5IGZvciB0eXBlICdjJyBzcGVjaWFsIGNhc2UsIGl0IGhhcyBubyBkaWdpdHMuICovCi0gICAgaWYgKHNwZWMtPm5fZGlnaXRzICE9IDApIHsKLSAgICAgICAgLyogRmlsbCB0aGUgZGlnaXRzIHdpdGggSW5zZXJ0VGhvdXNhbmRzR3JvdXBpbmcuICovCi0jaWZuZGVmIE5ERUJVRwotICAgICAgICByID0KLSNlbmRpZgotICAgICAgICAgICAgU1RSSU5HTElCX0dST1VQSU5HKGJ1Ziwgc3BlYy0+bl9ncm91cGVkX2RpZ2l0cywgZGlnaXRzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwZWMtPm5fZGlnaXRzLCBzcGVjLT5uX21pbl93aWR0aCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhbGUtPmdyb3VwaW5nLCBsb2NhbGUtPnRob3VzYW5kc19zZXApOwotI2lmbmRlZiBOREVCVUcKLSAgICAgICAgYXNzZXJ0KHIgPT0gc3BlYy0+bl9ncm91cGVkX2RpZ2l0cyk7Ci0jZW5kaWYKLSAgICAgICAgcCArPSBzcGVjLT5uX2RpZ2l0czsKLSAgICB9Ci0gICAgaWYgKHRvdXBwZXIpIHsKLSAgICAgICAgUHlfc3NpemVfdCB0OwotICAgICAgICBmb3IgKHQgPSAwOyB0IDwgc3BlYy0+bl9ncm91cGVkX2RpZ2l0czsgKyt0KQotICAgICAgICAgICAgYnVmW3RdID0gU1RSSU5HTElCX1RPVVBQRVIoYnVmW3RdKTsKLSAgICB9Ci0gICAgYnVmICs9IHNwZWMtPm5fZ3JvdXBlZF9kaWdpdHM7Ci0KLSAgICBpZiAoc3BlYy0+bl9kZWNpbWFsKSB7Ci0gICAgICAgIFB5X3NzaXplX3QgdDsKLSAgICAgICAgZm9yICh0ID0gMDsgdCA8IHNwZWMtPm5fZGVjaW1hbDsgKyt0KQotICAgICAgICAgICAgYnVmW3RdID0gbG9jYWxlLT5kZWNpbWFsX3BvaW50W3RdOwotICAgICAgICBidWYgKz0gc3BlYy0+bl9kZWNpbWFsOwotICAgICAgICBwICs9IDE7Ci0gICAgfQotCi0gICAgaWYgKHNwZWMtPm5fcmVtYWluZGVyKSB7Ci0gICAgICAgIG1lbWNweShidWYsIHAsIHNwZWMtPm5fcmVtYWluZGVyICogc2l6ZW9mKFNUUklOR0xJQl9DSEFSKSk7Ci0gICAgICAgIGJ1ZiArPSBzcGVjLT5uX3JlbWFpbmRlcjsKLSAgICAgICAgcCArPSBzcGVjLT5uX3JlbWFpbmRlcjsKLSAgICB9Ci0KLSAgICBpZiAoc3BlYy0+bl9ycGFkZGluZykgewotICAgICAgICBTVFJJTkdMSUJfRklMTChidWYsIGZpbGxfY2hhciwgc3BlYy0+bl9ycGFkZGluZyk7Ci0gICAgICAgIGJ1ZiArPSBzcGVjLT5uX3JwYWRkaW5nOwotICAgIH0KLX0KLQotc3RhdGljIGNoYXIgbm9fZ3JvdXBpbmdbMV0gPSB7Q0hBUl9NQVh9OwotCi0vKiBGaW5kIHRoZSBkZWNpbWFsIHBvaW50IGNoYXJhY3RlcihzPyksIHRob3VzYW5kc19zZXBhcmF0b3Iocz8pLCBhbmQKLSAgIGdyb3VwaW5nIGRlc2NyaXB0aW9uLCBlaXRoZXIgZm9yIHRoZSBjdXJyZW50IGxvY2FsZSBpZiB0eXBlIGlzCi0gICBMVF9DVVJSRU5UX0xPQ0FMRSwgYSBoYXJkLWNvZGVkIGxvY2FsZSBpZiBMVF9ERUZBVUxUX0xPQ0FMRSwgb3IKLSAgIG5vbmUgaWYgTFRfTk9fTE9DQUxFLiAqLwotc3RhdGljIHZvaWQKLWdldF9sb2NhbGVfaW5mbyhpbnQgdHlwZSwgTG9jYWxlSW5mbyAqbG9jYWxlX2luZm8pCi17Ci0gICAgc3dpdGNoICh0eXBlKSB7Ci0gICAgY2FzZSBMVF9DVVJSRU5UX0xPQ0FMRTogewotICAgICAgICBzdHJ1Y3QgbGNvbnYgKmxvY2FsZV9kYXRhID0gbG9jYWxlY29udigpOwotICAgICAgICBsb2NhbGVfaW5mby0+ZGVjaW1hbF9wb2ludCA9IGxvY2FsZV9kYXRhLT5kZWNpbWFsX3BvaW50OwotICAgICAgICBsb2NhbGVfaW5mby0+dGhvdXNhbmRzX3NlcCA9IGxvY2FsZV9kYXRhLT50aG91c2FuZHNfc2VwOwotICAgICAgICBsb2NhbGVfaW5mby0+Z3JvdXBpbmcgPSBsb2NhbGVfZGF0YS0+Z3JvdXBpbmc7Ci0gICAgICAgIGJyZWFrOwotICAgIH0KLSAgICBjYXNlIExUX0RFRkFVTFRfTE9DQUxFOgotICAgICAgICBsb2NhbGVfaW5mby0+ZGVjaW1hbF9wb2ludCA9ICIuIjsKLSAgICAgICAgbG9jYWxlX2luZm8tPnRob3VzYW5kc19zZXAgPSAiLCI7Ci0gICAgICAgIGxvY2FsZV9pbmZvLT5ncm91cGluZyA9ICJcMyI7IC8qIEdyb3VwIGV2ZXJ5IDMgY2hhcmFjdGVycy4gIFRoZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaW1wbGljaXQpIHRyYWlsaW5nIDAgbWVhbnMgcmVwZWF0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZmluaXRlbHkuICovCi0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgTFRfTk9fTE9DQUxFOgotICAgICAgICBsb2NhbGVfaW5mby0+ZGVjaW1hbF9wb2ludCA9ICIuIjsKLSAgICAgICAgbG9jYWxlX2luZm8tPnRob3VzYW5kc19zZXAgPSAiIjsKLSAgICAgICAgbG9jYWxlX2luZm8tPmdyb3VwaW5nID0gbm9fZ3JvdXBpbmc7Ci0gICAgICAgIGJyZWFrOwotICAgIGRlZmF1bHQ6Ci0gICAgICAgIGFzc2VydCgwKTsKLSAgICB9Ci19Ci0KLSNlbmRpZiAvKiBGT1JNQVRfRkxPQVQgfHwgRk9STUFUX0xPTkcgfHwgRk9STUFUX0NPTVBMRVggKi8KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLS8qKioqKioqKioqKiBzdHJpbmcgZm9ybWF0dGluZyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotCi1zdGF0aWMgUHlPYmplY3QgKgotZm9ybWF0X3N0cmluZ19pbnRlcm5hbChQeU9iamVjdCAqdmFsdWUsIGNvbnN0IEludGVybmFsRm9ybWF0U3BlYyAqZm9ybWF0KQotewotICAgIFB5X3NzaXplX3QgbHBhZDsKLSAgICBQeV9zc2l6ZV90IHJwYWQ7Ci0gICAgUHlfc3NpemVfdCB0b3RhbDsKLSAgICBTVFJJTkdMSUJfQ0hBUiAqcDsKLSAgICBQeV9zc2l6ZV90IGxlbiA9IFNUUklOR0xJQl9MRU4odmFsdWUpOwotICAgIFB5T2JqZWN0ICpyZXN1bHQgPSBOVUxMOwotCi0gICAgLyogc2lnbiBpcyBub3QgYWxsb3dlZCBvbiBzdHJpbmdzICovCi0gICAgaWYgKGZvcm1hdC0+c2lnbiAhPSAnXDAnKSB7Ci0gICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgIlNpZ24gbm90IGFsbG93ZWQgaW4gc3RyaW5nIGZvcm1hdCBzcGVjaWZpZXIiKTsKLSAgICAgICAgZ290byBkb25lOwotICAgIH0KLQotICAgIC8qIGFsdGVybmF0ZSBpcyBub3QgYWxsb3dlZCBvbiBzdHJpbmdzICovCi0gICAgaWYgKGZvcm1hdC0+YWx0ZXJuYXRlKSB7Ci0gICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgIkFsdGVybmF0ZSBmb3JtICgjKSBub3QgYWxsb3dlZCBpbiBzdHJpbmcgZm9ybWF0ICIKLSAgICAgICAgICAgICAgICAgICAgICAgICJzcGVjaWZpZXIiKTsKLSAgICAgICAgZ290byBkb25lOwotICAgIH0KLQotICAgIC8qICc9JyBhbGlnbm1lbnQgbm90IGFsbG93ZWQgb24gc3RyaW5ncyAqLwotICAgIGlmIChmb3JtYXQtPmFsaWduID09ICc9JykgewotICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICAgICInPScgYWxpZ25tZW50IG5vdCBhbGxvd2VkICIKLSAgICAgICAgICAgICAgICAgICAgICAgICJpbiBzdHJpbmcgZm9ybWF0IHNwZWNpZmllciIpOwotICAgICAgICBnb3RvIGRvbmU7Ci0gICAgfQotCi0gICAgLyogaWYgcHJlY2lzaW9uIGlzIHNwZWNpZmllZCwgb3V0cHV0IG5vIG1vcmUgdGhhdCBmb3JtYXQucHJlY2lzaW9uCi0gICAgICAgY2hhcmFjdGVycyAqLwotICAgIGlmIChmb3JtYXQtPnByZWNpc2lvbiA+PSAwICYmIGxlbiA+PSBmb3JtYXQtPnByZWNpc2lvbikgewotICAgICAgICBsZW4gPSBmb3JtYXQtPnByZWNpc2lvbjsKLSAgICB9Ci0KLSAgICBjYWxjX3BhZGRpbmcobGVuLCBmb3JtYXQtPndpZHRoLCBmb3JtYXQtPmFsaWduLCAmbHBhZCwgJnJwYWQsICZ0b3RhbCk7Ci0KLSAgICAvKiBhbGxvY2F0ZSB0aGUgcmVzdWx0aW5nIHN0cmluZyAqLwotICAgIHJlc3VsdCA9IFNUUklOR0xJQl9ORVcoTlVMTCwgdG90YWwpOwotICAgIGlmIChyZXN1bHQgPT0gTlVMTCkKLSAgICAgICAgZ290byBkb25lOwotCi0gICAgLyogV3JpdGUgaW50byB0aGF0IHNwYWNlLiBGaXJzdCB0aGUgcGFkZGluZy4gKi8KLSAgICBwID0gZmlsbF9wYWRkaW5nKFNUUklOR0xJQl9TVFIocmVzdWx0KSwgbGVuLAotICAgICAgICAgICAgICAgICAgICAgZm9ybWF0LT5maWxsX2NoYXI9PSdcMCc/JyAnOmZvcm1hdC0+ZmlsbF9jaGFyLAotICAgICAgICAgICAgICAgICAgICAgbHBhZCwgcnBhZCk7Ci0KLSAgICAvKiBUaGVuIHRoZSBzb3VyY2Ugc3RyaW5nLiAqLwotICAgIG1lbWNweShwLCBTVFJJTkdMSUJfU1RSKHZhbHVlKSwgbGVuICogc2l6ZW9mKFNUUklOR0xJQl9DSEFSKSk7Ci0KLWRvbmU6Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotLyoqKioqKioqKioqIGxvbmcgZm9ybWF0dGluZyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0KLSNpZiBkZWZpbmVkIEZPUk1BVF9MT05HIHx8IGRlZmluZWQgRk9STUFUX0lOVAotdHlwZWRlZiBQeU9iamVjdCoKLSgqSW50T3JMb25nVG9TdHJpbmcpKFB5T2JqZWN0ICp2YWx1ZSwgaW50IGJhc2UpOwotCi1zdGF0aWMgUHlPYmplY3QgKgotZm9ybWF0X2ludF9vcl9sb25nX2ludGVybmFsKFB5T2JqZWN0ICp2YWx1ZSwgY29uc3QgSW50ZXJuYWxGb3JtYXRTcGVjICpmb3JtYXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50T3JMb25nVG9TdHJpbmcgdG9zdHJpbmcpCi17Ci0gICAgUHlPYmplY3QgKnJlc3VsdCA9IE5VTEw7Ci0gICAgUHlPYmplY3QgKnRtcCA9IE5VTEw7Ci0gICAgU1RSSU5HTElCX0NIQVIgKnBudW1lcmljX2NoYXJzOwotICAgIFNUUklOR0xJQl9DSEFSIG51bWVyaWNfY2hhcjsKLSAgICBTVFJJTkdMSUJfQ0hBUiBzaWduX2NoYXIgPSAnXDAnOwotICAgIFB5X3NzaXplX3Qgbl9kaWdpdHM7ICAgICAgIC8qIGNvdW50IG9mIGRpZ2l0cyBuZWVkIGZyb20gdGhlIGNvbXB1dGVkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyaW5nICovCi0gICAgUHlfc3NpemVfdCBuX3JlbWFpbmRlciA9IDA7IC8qIFVzZWQgb25seSBmb3IgJ2MnIGZvcm1hdHRpbmcsIHdoaWNoCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2R1Y2VzIG5vbi1kaWdpdHMgKi8KLSAgICBQeV9zc2l6ZV90IG5fcHJlZml4ID0gMDsgICAvKiBDb3VudCBvZiBwcmVmaXggY2hhcnMsIChlLmcuLCAnMHgnKSAqLwotICAgIFB5X3NzaXplX3Qgbl90b3RhbDsKLSAgICBTVFJJTkdMSUJfQ0hBUiAqcHJlZml4ID0gTlVMTDsKLSAgICBOdW1iZXJGaWVsZFdpZHRocyBzcGVjOwotICAgIGxvbmcgeDsKLQotICAgIC8qIExvY2FsZSBzZXR0aW5ncywgZWl0aGVyIGZyb20gdGhlIGFjdHVhbCBsb2NhbGUgb3IKLSAgICAgICBmcm9tIGEgaGFyZC1jb2RlIHBzZXVkby1sb2NhbGUgKi8KLSAgICBMb2NhbGVJbmZvIGxvY2FsZTsKLQotICAgIC8qIG5vIHByZWNpc2lvbiBhbGxvd2VkIG9uIGludGVnZXJzICovCi0gICAgaWYgKGZvcm1hdC0+cHJlY2lzaW9uICE9IC0xKSB7Ci0gICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgIlByZWNpc2lvbiBub3QgYWxsb3dlZCBpbiBpbnRlZ2VyIGZvcm1hdCBzcGVjaWZpZXIiKTsKLSAgICAgICAgZ290byBkb25lOwotICAgIH0KLQotICAgIC8qIHNwZWNpYWwgY2FzZSBmb3IgY2hhcmFjdGVyIGZvcm1hdHRpbmcgKi8KLSAgICBpZiAoZm9ybWF0LT50eXBlID09ICdjJykgewotICAgICAgICAvKiBlcnJvciB0byBzcGVjaWZ5IGEgc2lnbiAqLwotICAgICAgICBpZiAoZm9ybWF0LT5zaWduICE9ICdcMCcpIHsKLSAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJTaWduIG5vdCBhbGxvd2VkIHdpdGggaW50ZWdlciIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiIGZvcm1hdCBzcGVjaWZpZXIgJ2MnIik7Ci0gICAgICAgICAgICBnb3RvIGRvbmU7Ci0gICAgICAgIH0KLQotICAgICAgICAvKiB0YWtlbiBmcm9tIHVuaWNvZGVvYmplY3QuYyBmb3JtYXRjaGFyKCkgKi8KLSAgICAgICAgLyogSW50ZWdlciBpbnB1dCB0cnVuY2F0ZWQgdG8gYSBjaGFyYWN0ZXIgKi8KLS8qIFhYWDogd29uJ3Qgd29yayBmb3IgaW50ICovCi0gICAgICAgIHggPSBQeUxvbmdfQXNMb25nKHZhbHVlKTsKLSAgICAgICAgaWYgKHggPT0gLTEgJiYgUHlFcnJfT2NjdXJyZWQoKSkKLSAgICAgICAgICAgIGdvdG8gZG9uZTsKLSNpZmRlZiBQeV9VTklDT0RFX1dJREUKLSAgICAgICAgaWYgKHggPCAwIHx8IHggPiAweDEwZmZmZikgewotICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX092ZXJmbG93RXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIiVjIGFyZyBub3QgaW4gcmFuZ2UoMHgxMTAwMDApICIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiKHdpZGUgUHl0aG9uIGJ1aWxkKSIpOwotICAgICAgICAgICAgZ290byBkb25lOwotICAgICAgICB9Ci0jZWxzZQotICAgICAgICBpZiAoeCA8IDAgfHwgeCA+IDB4ZmZmZikgewotICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX092ZXJmbG93RXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIiVjIGFyZyBub3QgaW4gcmFuZ2UoMHgxMDAwMCkgIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICIobmFycm93IFB5dGhvbiBidWlsZCkiKTsKLSAgICAgICAgICAgIGdvdG8gZG9uZTsKLSAgICAgICAgfQotI2VuZGlmCi0gICAgICAgIG51bWVyaWNfY2hhciA9IChTVFJJTkdMSUJfQ0hBUil4OwotICAgICAgICBwbnVtZXJpY19jaGFycyA9ICZudW1lcmljX2NoYXI7Ci0gICAgICAgIG5fZGlnaXRzID0gMTsKLQotICAgICAgICAvKiBBcyBhIHNvcnQtb2YgaGFjaywgd2UgdGVsbCBjYWxjX251bWJlcl93aWR0aHMgdGhhdCB3ZSBvbmx5Ci0gICAgICAgICAgIGhhdmUgInJlbWFpbmRlciIgY2hhcmFjdGVycy4gY2FsY19udW1iZXJfd2lkdGhzIHRoaW5rcwotICAgICAgICAgICB0aGVzZSBhcmUgY2hhcmFjdGVycyB0aGF0IGRvbid0IGdldCBmb3JtYXR0ZWQsIG9ubHkgY29waWVkCi0gICAgICAgICAgIGludG8gdGhlIG91dHB1dCBzdHJpbmcuIFdlIGRvIHRoaXMgZm9yICdjJyBmb3JtYXR0aW5nLAotICAgICAgICAgICBiZWNhdXNlIHRoZSBjaGFyYWN0ZXJzIGFyZSBsaWtlbHkgdG8gYmUgbm9uLWRpZ2l0cy4gKi8KLSAgICAgICAgbl9yZW1haW5kZXIgPSAxOwotICAgIH0KLSAgICBlbHNlIHsKLSAgICAgICAgaW50IGJhc2U7Ci0gICAgICAgIGludCBsZWFkaW5nX2NoYXJzX3RvX3NraXAgPSAwOyAgLyogTnVtYmVyIG9mIGNoYXJhY3RlcnMgYWRkZWQgYnkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeU51bWJlcl9Ub0Jhc2UgdGhhdCB3ZSB3YW50IHRvCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2tpcCBvdmVyLiAqLwotCi0gICAgICAgIC8qIENvbXB1dGUgdGhlIGJhc2UgYW5kIGhvdyBtYW55IGNoYXJhY3RlcnMgd2lsbCBiZSBhZGRlZCBieQotICAgICAgICAgICBQeU51bWJlcl9Ub0Jhc2UgKi8KLSAgICAgICAgc3dpdGNoIChmb3JtYXQtPnR5cGUpIHsKLSAgICAgICAgY2FzZSAnYic6Ci0gICAgICAgICAgICBiYXNlID0gMjsKLSAgICAgICAgICAgIGxlYWRpbmdfY2hhcnNfdG9fc2tpcCA9IDI7IC8qIDBiICovCi0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSAnbyc6Ci0gICAgICAgICAgICBiYXNlID0gODsKLSAgICAgICAgICAgIGxlYWRpbmdfY2hhcnNfdG9fc2tpcCA9IDI7IC8qIDBvICovCi0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSAneCc6Ci0gICAgICAgIGNhc2UgJ1gnOgotICAgICAgICAgICAgYmFzZSA9IDE2OwotICAgICAgICAgICAgbGVhZGluZ19jaGFyc190b19za2lwID0gMjsgLyogMHggKi8KLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBkZWZhdWx0OiAgLyogc2hvdWxkbid0IGJlIG5lZWRlZCwgYnV0IHN0b3BzIGEgY29tcGlsZXIgd2FybmluZyAqLwotICAgICAgICBjYXNlICdkJzoKLSAgICAgICAgY2FzZSAnbic6Ci0gICAgICAgICAgICBiYXNlID0gMTA7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotCi0gICAgICAgIC8qIFRoZSBudW1iZXIgb2YgcHJlZml4IGNoYXJzIGlzIHRoZSBzYW1lIGFzIHRoZSBsZWFkaW5nCi0gICAgICAgICAgIGNoYXJzIHRvIHNraXAgKi8KLSAgICAgICAgaWYgKGZvcm1hdC0+YWx0ZXJuYXRlKQotICAgICAgICAgICAgbl9wcmVmaXggPSBsZWFkaW5nX2NoYXJzX3RvX3NraXA7Ci0KLSAgICAgICAgLyogRG8gdGhlIGhhcmQgcGFydCwgY29udmVydGluZyB0byBhIHN0cmluZyBpbiBhIGdpdmVuIGJhc2UgKi8KLSAgICAgICAgdG1wID0gdG9zdHJpbmcodmFsdWUsIGJhc2UpOwotICAgICAgICBpZiAodG1wID09IE5VTEwpCi0gICAgICAgICAgICBnb3RvIGRvbmU7Ci0KLSAgICAgICAgcG51bWVyaWNfY2hhcnMgPSBTVFJJTkdMSUJfU1RSKHRtcCk7Ci0gICAgICAgIG5fZGlnaXRzID0gU1RSSU5HTElCX0xFTih0bXApOwotCi0gICAgICAgIHByZWZpeCA9IHBudW1lcmljX2NoYXJzOwotCi0gICAgICAgIC8qIFJlbWVtYmVyIG5vdCB0byBtb2RpZnkgd2hhdCBwbnVtZXJpY19jaGFycyBwb2ludHMgdG8uICBpdAotICAgICAgICAgICBtaWdodCBiZSBpbnRlcm5lZC4gIE9ubHkgbW9kaWZ5IGl0IGFmdGVyIHdlIGNvcHkgaXQgaW50byBhCi0gICAgICAgICAgIG5ld2x5IGFsbG9jYXRlZCBvdXRwdXQgYnVmZmVyLiAqLwotCi0gICAgICAgIC8qIElzIGEgc2lnbiBjaGFyYWN0ZXIgcHJlc2VudCBpbiB0aGUgb3V0cHV0PyAgSWYgc28sIHJlbWVtYmVyIGl0Ci0gICAgICAgICAgIGFuZCBza2lwIGl0ICovCi0gICAgICAgIGlmIChwbnVtZXJpY19jaGFyc1swXSA9PSAnLScpIHsKLSAgICAgICAgICAgIHNpZ25fY2hhciA9IHBudW1lcmljX2NoYXJzWzBdOwotICAgICAgICAgICAgKytwcmVmaXg7Ci0gICAgICAgICAgICArK2xlYWRpbmdfY2hhcnNfdG9fc2tpcDsKLSAgICAgICAgfQotCi0gICAgICAgIC8qIFNraXAgb3ZlciB0aGUgbGVhZGluZyBjaGFycyAoMHgsIDBiLCBldGMuKSAqLwotICAgICAgICBuX2RpZ2l0cyAtPSBsZWFkaW5nX2NoYXJzX3RvX3NraXA7Ci0gICAgICAgIHBudW1lcmljX2NoYXJzICs9IGxlYWRpbmdfY2hhcnNfdG9fc2tpcDsKLSAgICB9Ci0KLSAgICAvKiBEZXRlcm1pbmUgdGhlIGdyb3VwaW5nLCBzZXBhcmF0b3IsIGFuZCBkZWNpbWFsIHBvaW50LCBpZiBhbnkuICovCi0gICAgZ2V0X2xvY2FsZV9pbmZvKGZvcm1hdC0+dHlwZSA9PSAnbicgPyBMVF9DVVJSRU5UX0xPQ0FMRSA6Ci0gICAgICAgICAgICAgICAgICAgIChmb3JtYXQtPnRob3VzYW5kc19zZXBhcmF0b3JzID8KLSAgICAgICAgICAgICAgICAgICAgIExUX0RFRkFVTFRfTE9DQUxFIDoKLSAgICAgICAgICAgICAgICAgICAgIExUX05PX0xPQ0FMRSksCi0gICAgICAgICAgICAgICAgICAgICZsb2NhbGUpOwotCi0gICAgLyogQ2FsY3VsYXRlIGhvdyBtdWNoIG1lbW9yeSB3ZSdsbCBuZWVkLiAqLwotICAgIG5fdG90YWwgPSBjYWxjX251bWJlcl93aWR0aHMoJnNwZWMsIG5fcHJlZml4LCBzaWduX2NoYXIsIHBudW1lcmljX2NoYXJzLAotICAgICAgICAgICAgICAgICAgICAgICBuX2RpZ2l0cywgbl9yZW1haW5kZXIsIDAsICZsb2NhbGUsIGZvcm1hdCk7Ci0KLSAgICAvKiBBbGxvY2F0ZSB0aGUgbWVtb3J5LiAqLwotICAgIHJlc3VsdCA9IFNUUklOR0xJQl9ORVcoTlVMTCwgbl90b3RhbCk7Ci0gICAgaWYgKCFyZXN1bHQpCi0gICAgICAgIGdvdG8gZG9uZTsKLQotICAgIC8qIFBvcHVsYXRlIHRoZSBtZW1vcnkuICovCi0gICAgZmlsbF9udW1iZXIoU1RSSU5HTElCX1NUUihyZXN1bHQpLCAmc3BlYywgcG51bWVyaWNfY2hhcnMsIG5fZGlnaXRzLAotICAgICAgICAgICAgICAgIHByZWZpeCwgZm9ybWF0LT5maWxsX2NoYXIgPT0gJ1wwJyA/ICcgJyA6IGZvcm1hdC0+ZmlsbF9jaGFyLAotICAgICAgICAgICAgICAgICZsb2NhbGUsIGZvcm1hdC0+dHlwZSA9PSAnWCcpOwotCi1kb25lOgotICAgIFB5X1hERUNSRUYodG1wKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotI2VuZGlmIC8qIGRlZmluZWQgRk9STUFUX0xPTkcgfHwgZGVmaW5lZCBGT1JNQVRfSU5UICovCi0KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0vKioqKioqKioqKiogZmxvYXQgZm9ybWF0dGluZyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLQotI2lmZGVmIEZPUk1BVF9GTE9BVAotI2lmIFNUUklOR0xJQl9JU19VTklDT0RFCi1zdGF0aWMgdm9pZAotc3RydG91bmljb2RlKFB5X1VOSUNPREUgKmJ1ZmZlciwgY29uc3QgY2hhciAqY2hhcmJ1ZmZlciwgUHlfc3NpemVfdCBsZW4pCi17Ci0gICAgUHlfc3NpemVfdCBpOwotICAgIGZvciAoaSA9IDA7IGkgPCBsZW47ICsraSkKLSAgICAgICAgYnVmZmVyW2ldID0gKFB5X1VOSUNPREUpY2hhcmJ1ZmZlcltpXTsKLX0KLSNlbmRpZgotCi0vKiBtdWNoIG9mIHRoaXMgaXMgdGFrZW4gZnJvbSB1bmljb2Rlb2JqZWN0LmMgKi8KLXN0YXRpYyBQeU9iamVjdCAqCi1mb3JtYXRfZmxvYXRfaW50ZXJuYWwoUHlPYmplY3QgKnZhbHVlLAotICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEludGVybmFsRm9ybWF0U3BlYyAqZm9ybWF0KQotewotICAgIGNoYXIgKmJ1ZiA9IE5VTEw7ICAgICAgIC8qIGJ1ZmZlciByZXR1cm5lZCBmcm9tIFB5T1NfZG91YmxlX3RvX3N0cmluZyAqLwotICAgIFB5X3NzaXplX3Qgbl9kaWdpdHM7Ci0gICAgUHlfc3NpemVfdCBuX3JlbWFpbmRlcjsKLSAgICBQeV9zc2l6ZV90IG5fdG90YWw7Ci0gICAgaW50IGhhc19kZWNpbWFsOwotICAgIGRvdWJsZSB2YWw7Ci0gICAgUHlfc3NpemVfdCBwcmVjaXNpb24gPSBmb3JtYXQtPnByZWNpc2lvbjsKLSAgICBQeV9zc2l6ZV90IGRlZmF1bHRfcHJlY2lzaW9uID0gNjsKLSAgICBTVFJJTkdMSUJfQ0hBUiB0eXBlID0gZm9ybWF0LT50eXBlOwotICAgIGludCBhZGRfcGN0ID0gMDsKLSAgICBTVFJJTkdMSUJfQ0hBUiAqcDsKLSAgICBOdW1iZXJGaWVsZFdpZHRocyBzcGVjOwotICAgIGludCBmbGFncyA9IDA7Ci0gICAgUHlPYmplY3QgKnJlc3VsdCA9IE5VTEw7Ci0gICAgU1RSSU5HTElCX0NIQVIgc2lnbl9jaGFyID0gJ1wwJzsKLSAgICBpbnQgZmxvYXRfdHlwZTsgLyogVXNlZCB0byBzZWUgaWYgd2UgaGF2ZSBhIG5hbiwgaW5mLCBvciByZWd1bGFyIGZsb2F0LiAqLwotCi0jaWYgU1RSSU5HTElCX0lTX1VOSUNPREUKLSAgICBQeV9VTklDT0RFICp1bmljb2RlX3RtcCA9IE5VTEw7Ci0jZW5kaWYKLQotICAgIC8qIExvY2FsZSBzZXR0aW5ncywgZWl0aGVyIGZyb20gdGhlIGFjdHVhbCBsb2NhbGUgb3IKLSAgICAgICBmcm9tIGEgaGFyZC1jb2RlIHBzZXVkby1sb2NhbGUgKi8KLSAgICBMb2NhbGVJbmZvIGxvY2FsZTsKLQotICAgIGlmIChmb3JtYXQtPmFsdGVybmF0ZSkKLSAgICAgICAgZmxhZ3MgfD0gUHlfRFRTRl9BTFQ7Ci0KLSAgICBpZiAodHlwZSA9PSAnXDAnKSB7Ci0gICAgICAgIC8qIE9taXR0ZWQgdHlwZSBzcGVjaWZpZXIuICBCZWhhdmVzIGluIHRoZSBzYW1lIHdheSBhcyByZXByKHgpCi0gICAgICAgICAgIGFuZCBzdHIoeCkgaWYgbm8gcHJlY2lzaW9uIGlzIGdpdmVuLCBlbHNlIGxpa2UgJ2cnLCBidXQgd2l0aAotICAgICAgICAgICBhdCBsZWFzdCBvbmUgZGlnaXQgYWZ0ZXIgdGhlIGRlY2ltYWwgcG9pbnQuICovCi0gICAgICAgIGZsYWdzIHw9IFB5X0RUU0ZfQUREX0RPVF8wOwotICAgICAgICB0eXBlID0gJ3InOwotICAgICAgICBkZWZhdWx0X3ByZWNpc2lvbiA9IDA7Ci0gICAgfQotCi0gICAgaWYgKHR5cGUgPT0gJ24nKQotICAgICAgICAvKiAnbicgaXMgdGhlIHNhbWUgYXMgJ2cnLCBleGNlcHQgZm9yIHRoZSBsb2NhbGUgdXNlZCB0bwotICAgICAgICAgICBmb3JtYXQgdGhlIHJlc3VsdC4gV2UgdGFrZSBjYXJlIG9mIHRoYXQgbGF0ZXIuICovCi0gICAgICAgIHR5cGUgPSAnZyc7Ci0KLSAgICB2YWwgPSBQeUZsb2F0X0FzRG91YmxlKHZhbHVlKTsKLSAgICBpZiAodmFsID09IC0xLjAgJiYgUHlFcnJfT2NjdXJyZWQoKSkKLSAgICAgICAgZ290byBkb25lOwotCi0gICAgaWYgKHR5cGUgPT0gJyUnKSB7Ci0gICAgICAgIHR5cGUgPSAnZic7Ci0gICAgICAgIHZhbCAqPSAxMDA7Ci0gICAgICAgIGFkZF9wY3QgPSAxOwotICAgIH0KLQotICAgIGlmIChwcmVjaXNpb24gPCAwKQotICAgICAgICBwcmVjaXNpb24gPSBkZWZhdWx0X3ByZWNpc2lvbjsKLSAgICBlbHNlIGlmICh0eXBlID09ICdyJykKLSAgICAgICAgdHlwZSA9ICdnJzsKLQotICAgIC8qIENhc3QgInR5cGUiLCBiZWNhdXNlIGlmIHdlJ3JlIGluIHVuaWNvZGUgd2UgbmVlZCB0byBwYXNzIGEKLSAgICAgICA4LWJpdCBjaGFyLiBUaGlzIGlzIHNhZmUsIGJlY2F1c2Ugd2UndmUgcmVzdHJpY3RlZCB3aGF0ICJ0eXBlIgotICAgICAgIGNhbiBiZS4gKi8KLSAgICBidWYgPSBQeU9TX2RvdWJsZV90b19zdHJpbmcodmFsLCAoY2hhcil0eXBlLCBwcmVjaXNpb24sIGZsYWdzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZmxvYXRfdHlwZSk7Ci0gICAgaWYgKGJ1ZiA9PSBOVUxMKQotICAgICAgICBnb3RvIGRvbmU7Ci0gICAgbl9kaWdpdHMgPSBzdHJsZW4oYnVmKTsKLQotICAgIGlmIChhZGRfcGN0KSB7Ci0gICAgICAgIC8qIFdlIGtub3cgdGhhdCBidWYgaGFzIGEgdHJhaWxpbmcgemVybyAoc2luY2Ugd2UganVzdCBjYWxsZWQKLSAgICAgICAgICAgc3RybGVuKCkgb24gaXQpLCBhbmQgd2UgZG9uJ3QgdXNlIHRoYXQgZmFjdCBhbnkgbW9yZS4gU28gd2UKLSAgICAgICAgICAgY2FuIGp1c3Qgd3JpdGUgb3ZlciB0aGUgdHJhaWxpbmcgemVyby4gKi8KLSAgICAgICAgYnVmW25fZGlnaXRzXSA9ICclJzsKLSAgICAgICAgbl9kaWdpdHMgKz0gMTsKLSAgICB9Ci0KLSAgICAvKiBTaW5jZSB0aGVyZSBpcyBubyB1bmljb2RlIHZlcnNpb24gb2YgUHlPU19kb3VibGVfdG9fc3RyaW5nLAotICAgICAgIGp1c3QgdXNlIHRoZSA4IGJpdCB2ZXJzaW9uIGFuZCB0aGVuIGNvbnZlcnQgdG8gdW5pY29kZS4gKi8KLSNpZiBTVFJJTkdMSUJfSVNfVU5JQ09ERQotICAgIHVuaWNvZGVfdG1wID0gKFB5X1VOSUNPREUqKVB5TWVtX01hbGxvYygobl9kaWdpdHMpKnNpemVvZihQeV9VTklDT0RFKSk7Ci0gICAgaWYgKHVuaWNvZGVfdG1wID09IE5VTEwpIHsKLSAgICAgICAgUHlFcnJfTm9NZW1vcnkoKTsKLSAgICAgICAgZ290byBkb25lOwotICAgIH0KLSAgICBzdHJ0b3VuaWNvZGUodW5pY29kZV90bXAsIGJ1Ziwgbl9kaWdpdHMpOwotICAgIHAgPSB1bmljb2RlX3RtcDsKLSNlbHNlCi0gICAgcCA9IGJ1ZjsKLSNlbmRpZgotCi0gICAgLyogSXMgYSBzaWduIGNoYXJhY3RlciBwcmVzZW50IGluIHRoZSBvdXRwdXQ/ICBJZiBzbywgcmVtZW1iZXIgaXQKLSAgICAgICBhbmQgc2tpcCBpdCAqLwotICAgIGlmICgqcCA9PSAnLScpIHsKLSAgICAgICAgc2lnbl9jaGFyID0gKnA7Ci0gICAgICAgICsrcDsKLSAgICAgICAgLS1uX2RpZ2l0czsKLSAgICB9Ci0KLSAgICAvKiBEZXRlcm1pbmUgaWYgd2UgaGF2ZSBhbnkgInJlbWFpbmRlciIgKGFmdGVyIHRoZSBkaWdpdHMsIG1pZ2h0IGluY2x1ZGUKLSAgICAgICBkZWNpbWFsIG9yIGV4cG9uZW50IG9yIGJvdGggKG9yIG5laXRoZXIpKSAqLwotICAgIHBhcnNlX251bWJlcihwLCBuX2RpZ2l0cywgJm5fcmVtYWluZGVyLCAmaGFzX2RlY2ltYWwpOwotCi0gICAgLyogRGV0ZXJtaW5lIHRoZSBncm91cGluZywgc2VwYXJhdG9yLCBhbmQgZGVjaW1hbCBwb2ludCwgaWYgYW55LiAqLwotICAgIGdldF9sb2NhbGVfaW5mbyhmb3JtYXQtPnR5cGUgPT0gJ24nID8gTFRfQ1VSUkVOVF9MT0NBTEUgOgotICAgICAgICAgICAgICAgICAgICAoZm9ybWF0LT50aG91c2FuZHNfc2VwYXJhdG9ycyA/Ci0gICAgICAgICAgICAgICAgICAgICBMVF9ERUZBVUxUX0xPQ0FMRSA6Ci0gICAgICAgICAgICAgICAgICAgICBMVF9OT19MT0NBTEUpLAotICAgICAgICAgICAgICAgICAgICAmbG9jYWxlKTsKLQotICAgIC8qIENhbGN1bGF0ZSBob3cgbXVjaCBtZW1vcnkgd2UnbGwgbmVlZC4gKi8KLSAgICBuX3RvdGFsID0gY2FsY19udW1iZXJfd2lkdGhzKCZzcGVjLCAwLCBzaWduX2NoYXIsIHAsIG5fZGlnaXRzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbl9yZW1haW5kZXIsIGhhc19kZWNpbWFsLCAmbG9jYWxlLCBmb3JtYXQpOwotCi0gICAgLyogQWxsb2NhdGUgdGhlIG1lbW9yeS4gKi8KLSAgICByZXN1bHQgPSBTVFJJTkdMSUJfTkVXKE5VTEwsIG5fdG90YWwpOwotICAgIGlmIChyZXN1bHQgPT0gTlVMTCkKLSAgICAgICAgZ290byBkb25lOwotCi0gICAgLyogUG9wdWxhdGUgdGhlIG1lbW9yeS4gKi8KLSAgICBmaWxsX251bWJlcihTVFJJTkdMSUJfU1RSKHJlc3VsdCksICZzcGVjLCBwLCBuX2RpZ2l0cywgTlVMTCwKLSAgICAgICAgICAgICAgICBmb3JtYXQtPmZpbGxfY2hhciA9PSAnXDAnID8gJyAnIDogZm9ybWF0LT5maWxsX2NoYXIsICZsb2NhbGUsCi0gICAgICAgICAgICAgICAgMCk7Ci0KLWRvbmU6Ci0gICAgUHlNZW1fRnJlZShidWYpOwotI2lmIFNUUklOR0xJQl9JU19VTklDT0RFCi0gICAgUHlNZW1fRnJlZSh1bmljb2RlX3RtcCk7Ci0jZW5kaWYKLSAgICByZXR1cm4gcmVzdWx0OwotfQotI2VuZGlmIC8qIEZPUk1BVF9GTE9BVCAqLwotCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotLyoqKioqKioqKioqIGNvbXBsZXggZm9ybWF0dGluZyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0KLSNpZmRlZiBGT1JNQVRfQ09NUExFWAotCi1zdGF0aWMgUHlPYmplY3QgKgotZm9ybWF0X2NvbXBsZXhfaW50ZXJuYWwoUHlPYmplY3QgKnZhbHVlLAotICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgSW50ZXJuYWxGb3JtYXRTcGVjICpmb3JtYXQpCi17Ci0gICAgZG91YmxlIHJlOwotICAgIGRvdWJsZSBpbTsKLSAgICBjaGFyICpyZV9idWYgPSBOVUxMOyAgICAgICAvKiBidWZmZXIgcmV0dXJuZWQgZnJvbSBQeU9TX2RvdWJsZV90b19zdHJpbmcgKi8KLSAgICBjaGFyICppbV9idWYgPSBOVUxMOyAgICAgICAvKiBidWZmZXIgcmV0dXJuZWQgZnJvbSBQeU9TX2RvdWJsZV90b19zdHJpbmcgKi8KLQotICAgIEludGVybmFsRm9ybWF0U3BlYyB0bXBfZm9ybWF0ID0gKmZvcm1hdDsKLSAgICBQeV9zc2l6ZV90IG5fcmVfZGlnaXRzOwotICAgIFB5X3NzaXplX3Qgbl9pbV9kaWdpdHM7Ci0gICAgUHlfc3NpemVfdCBuX3JlX3JlbWFpbmRlcjsKLSAgICBQeV9zc2l6ZV90IG5faW1fcmVtYWluZGVyOwotICAgIFB5X3NzaXplX3Qgbl9yZV90b3RhbDsKLSAgICBQeV9zc2l6ZV90IG5faW1fdG90YWw7Ci0gICAgaW50IHJlX2hhc19kZWNpbWFsOwotICAgIGludCBpbV9oYXNfZGVjaW1hbDsKLSAgICBQeV9zc2l6ZV90IHByZWNpc2lvbiA9IGZvcm1hdC0+cHJlY2lzaW9uOwotICAgIFB5X3NzaXplX3QgZGVmYXVsdF9wcmVjaXNpb24gPSA2OwotICAgIFNUUklOR0xJQl9DSEFSIHR5cGUgPSBmb3JtYXQtPnR5cGU7Ci0gICAgU1RSSU5HTElCX0NIQVIgKnBfcmU7Ci0gICAgU1RSSU5HTElCX0NIQVIgKnBfaW07Ci0gICAgTnVtYmVyRmllbGRXaWR0aHMgcmVfc3BlYzsKLSAgICBOdW1iZXJGaWVsZFdpZHRocyBpbV9zcGVjOwotICAgIGludCBmbGFncyA9IDA7Ci0gICAgUHlPYmplY3QgKnJlc3VsdCA9IE5VTEw7Ci0gICAgU1RSSU5HTElCX0NIQVIgKnA7Ci0gICAgU1RSSU5HTElCX0NIQVIgcmVfc2lnbl9jaGFyID0gJ1wwJzsKLSAgICBTVFJJTkdMSUJfQ0hBUiBpbV9zaWduX2NoYXIgPSAnXDAnOwotICAgIGludCByZV9mbG9hdF90eXBlOyAvKiBVc2VkIHRvIHNlZSBpZiB3ZSBoYXZlIGEgbmFuLCBpbmYsIG9yIHJlZ3VsYXIgZmxvYXQuICovCi0gICAgaW50IGltX2Zsb2F0X3R5cGU7Ci0gICAgaW50IGFkZF9wYXJlbnMgPSAwOwotICAgIGludCBza2lwX3JlID0gMDsKLSAgICBQeV9zc2l6ZV90IGxwYWQ7Ci0gICAgUHlfc3NpemVfdCBycGFkOwotICAgIFB5X3NzaXplX3QgdG90YWw7Ci0KLSNpZiBTVFJJTkdMSUJfSVNfVU5JQ09ERQotICAgIFB5X1VOSUNPREUgKnJlX3VuaWNvZGVfdG1wID0gTlVMTDsKLSAgICBQeV9VTklDT0RFICppbV91bmljb2RlX3RtcCA9IE5VTEw7Ci0jZW5kaWYKLQotICAgIC8qIExvY2FsZSBzZXR0aW5ncywgZWl0aGVyIGZyb20gdGhlIGFjdHVhbCBsb2NhbGUgb3IKLSAgICAgICBmcm9tIGEgaGFyZC1jb2RlIHBzZXVkby1sb2NhbGUgKi8KLSAgICBMb2NhbGVJbmZvIGxvY2FsZTsKLQotICAgIC8qIFplcm8gcGFkZGluZyBpcyBub3QgYWxsb3dlZC4gKi8KLSAgICBpZiAoZm9ybWF0LT5maWxsX2NoYXIgPT0gJzAnKSB7Ci0gICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgIlplcm8gcGFkZGluZyBpcyBub3QgYWxsb3dlZCBpbiBjb21wbGV4IGZvcm1hdCAiCi0gICAgICAgICAgICAgICAgICAgICAgICAic3BlY2lmaWVyIik7Ci0gICAgICAgIGdvdG8gZG9uZTsKLSAgICB9Ci0KLSAgICAvKiBOZWl0aGVyIGlzICc9JyBhbGlnbm1lbnQgLiAqLwotICAgIGlmIChmb3JtYXQtPmFsaWduID09ICc9JykgewotICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICAgICInPScgYWxpZ25tZW50IGZsYWcgaXMgbm90IGFsbG93ZWQgaW4gY29tcGxleCBmb3JtYXQgIgotICAgICAgICAgICAgICAgICAgICAgICAgInNwZWNpZmllciIpOwotICAgICAgICBnb3RvIGRvbmU7Ci0gICAgfQotCi0gICAgcmUgPSBQeUNvbXBsZXhfUmVhbEFzRG91YmxlKHZhbHVlKTsKLSAgICBpZiAocmUgPT0gLTEuMCAmJiBQeUVycl9PY2N1cnJlZCgpKQotICAgICAgICBnb3RvIGRvbmU7Ci0gICAgaW0gPSBQeUNvbXBsZXhfSW1hZ0FzRG91YmxlKHZhbHVlKTsKLSAgICBpZiAoaW0gPT0gLTEuMCAmJiBQeUVycl9PY2N1cnJlZCgpKQotICAgICAgICBnb3RvIGRvbmU7Ci0KLSAgICBpZiAoZm9ybWF0LT5hbHRlcm5hdGUpCi0gICAgICAgIGZsYWdzIHw9IFB5X0RUU0ZfQUxUOwotCi0gICAgaWYgKHR5cGUgPT0gJ1wwJykgewotICAgICAgICAvKiBPbWl0dGVkIHR5cGUgc3BlY2lmaWVyLiBTaG91bGQgYmUgbGlrZSBzdHIoc2VsZikuICovCi0gICAgICAgIHR5cGUgPSAncic7Ci0gICAgICAgIGRlZmF1bHRfcHJlY2lzaW9uID0gMDsKLSAgICAgICAgaWYgKHJlID09IDAuMCAmJiBjb3B5c2lnbigxLjAsIHJlKSA9PSAxLjApCi0gICAgICAgICAgICBza2lwX3JlID0gMTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgYWRkX3BhcmVucyA9IDE7Ci0gICAgfQotCi0gICAgaWYgKHR5cGUgPT0gJ24nKQotICAgICAgICAvKiAnbicgaXMgdGhlIHNhbWUgYXMgJ2cnLCBleGNlcHQgZm9yIHRoZSBsb2NhbGUgdXNlZCB0bwotICAgICAgICAgICBmb3JtYXQgdGhlIHJlc3VsdC4gV2UgdGFrZSBjYXJlIG9mIHRoYXQgbGF0ZXIuICovCi0gICAgICAgIHR5cGUgPSAnZyc7Ci0KLSAgICBpZiAocHJlY2lzaW9uIDwgMCkKLSAgICAgICAgcHJlY2lzaW9uID0gZGVmYXVsdF9wcmVjaXNpb247Ci0gICAgZWxzZSBpZiAodHlwZSA9PSAncicpCi0gICAgICAgIHR5cGUgPSAnZyc7Ci0KLSAgICAvKiBDYXN0ICJ0eXBlIiwgYmVjYXVzZSBpZiB3ZSdyZSBpbiB1bmljb2RlIHdlIG5lZWQgdG8gcGFzcyBhCi0gICAgICAgOC1iaXQgY2hhci4gVGhpcyBpcyBzYWZlLCBiZWNhdXNlIHdlJ3ZlIHJlc3RyaWN0ZWQgd2hhdCAidHlwZSIKLSAgICAgICBjYW4gYmUuICovCi0gICAgcmVfYnVmID0gUHlPU19kb3VibGVfdG9fc3RyaW5nKHJlLCAoY2hhcil0eXBlLCBwcmVjaXNpb24sIGZsYWdzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcmVfZmxvYXRfdHlwZSk7Ci0gICAgaWYgKHJlX2J1ZiA9PSBOVUxMKQotICAgICAgICBnb3RvIGRvbmU7Ci0gICAgaW1fYnVmID0gUHlPU19kb3VibGVfdG9fc3RyaW5nKGltLCAoY2hhcil0eXBlLCBwcmVjaXNpb24sIGZsYWdzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmaW1fZmxvYXRfdHlwZSk7Ci0gICAgaWYgKGltX2J1ZiA9PSBOVUxMKQotICAgICAgICBnb3RvIGRvbmU7Ci0KLSAgICBuX3JlX2RpZ2l0cyA9IHN0cmxlbihyZV9idWYpOwotICAgIG5faW1fZGlnaXRzID0gc3RybGVuKGltX2J1Zik7Ci0KLSAgICAvKiBTaW5jZSB0aGVyZSBpcyBubyB1bmljb2RlIHZlcnNpb24gb2YgUHlPU19kb3VibGVfdG9fc3RyaW5nLAotICAgICAgIGp1c3QgdXNlIHRoZSA4IGJpdCB2ZXJzaW9uIGFuZCB0aGVuIGNvbnZlcnQgdG8gdW5pY29kZS4gKi8KLSNpZiBTVFJJTkdMSUJfSVNfVU5JQ09ERQotICAgIHJlX3VuaWNvZGVfdG1wID0gKFB5X1VOSUNPREUqKVB5TWVtX01hbGxvYygobl9yZV9kaWdpdHMpKnNpemVvZihQeV9VTklDT0RFKSk7Ci0gICAgaWYgKHJlX3VuaWNvZGVfdG1wID09IE5VTEwpIHsKLSAgICAgICAgUHlFcnJfTm9NZW1vcnkoKTsKLSAgICAgICAgZ290byBkb25lOwotICAgIH0KLSAgICBzdHJ0b3VuaWNvZGUocmVfdW5pY29kZV90bXAsIHJlX2J1Ziwgbl9yZV9kaWdpdHMpOwotICAgIHBfcmUgPSByZV91bmljb2RlX3RtcDsKLQotICAgIGltX3VuaWNvZGVfdG1wID0gKFB5X1VOSUNPREUqKVB5TWVtX01hbGxvYygobl9pbV9kaWdpdHMpKnNpemVvZihQeV9VTklDT0RFKSk7Ci0gICAgaWYgKGltX3VuaWNvZGVfdG1wID09IE5VTEwpIHsKLSAgICAgICAgUHlFcnJfTm9NZW1vcnkoKTsKLSAgICAgICAgZ290byBkb25lOwotICAgIH0KLSAgICBzdHJ0b3VuaWNvZGUoaW1fdW5pY29kZV90bXAsIGltX2J1Ziwgbl9pbV9kaWdpdHMpOwotICAgIHBfaW0gPSBpbV91bmljb2RlX3RtcDsKLSNlbHNlCi0gICAgcF9yZSA9IHJlX2J1ZjsKLSAgICBwX2ltID0gaW1fYnVmOwotI2VuZGlmCi0KLSAgICAvKiBJcyBhIHNpZ24gY2hhcmFjdGVyIHByZXNlbnQgaW4gdGhlIG91dHB1dD8gIElmIHNvLCByZW1lbWJlciBpdAotICAgICAgIGFuZCBza2lwIGl0ICovCi0gICAgaWYgKCpwX3JlID09ICctJykgewotICAgICAgICByZV9zaWduX2NoYXIgPSAqcF9yZTsKLSAgICAgICAgKytwX3JlOwotICAgICAgICAtLW5fcmVfZGlnaXRzOwotICAgIH0KLSAgICBpZiAoKnBfaW0gPT0gJy0nKSB7Ci0gICAgICAgIGltX3NpZ25fY2hhciA9ICpwX2ltOwotICAgICAgICArK3BfaW07Ci0gICAgICAgIC0tbl9pbV9kaWdpdHM7Ci0gICAgfQotCi0gICAgLyogRGV0ZXJtaW5lIGlmIHdlIGhhdmUgYW55ICJyZW1haW5kZXIiIChhZnRlciB0aGUgZGlnaXRzLCBtaWdodCBpbmNsdWRlCi0gICAgICAgZGVjaW1hbCBvciBleHBvbmVudCBvciBib3RoIChvciBuZWl0aGVyKSkgKi8KLSAgICBwYXJzZV9udW1iZXIocF9yZSwgbl9yZV9kaWdpdHMsICZuX3JlX3JlbWFpbmRlciwgJnJlX2hhc19kZWNpbWFsKTsKLSAgICBwYXJzZV9udW1iZXIocF9pbSwgbl9pbV9kaWdpdHMsICZuX2ltX3JlbWFpbmRlciwgJmltX2hhc19kZWNpbWFsKTsKLQotICAgIC8qIERldGVybWluZSB0aGUgZ3JvdXBpbmcsIHNlcGFyYXRvciwgYW5kIGRlY2ltYWwgcG9pbnQsIGlmIGFueS4gKi8KLSAgICBnZXRfbG9jYWxlX2luZm8oZm9ybWF0LT50eXBlID09ICduJyA/IExUX0NVUlJFTlRfTE9DQUxFIDoKLSAgICAgICAgICAgICAgICAgICAgKGZvcm1hdC0+dGhvdXNhbmRzX3NlcGFyYXRvcnMgPwotICAgICAgICAgICAgICAgICAgICAgTFRfREVGQVVMVF9MT0NBTEUgOgotICAgICAgICAgICAgICAgICAgICAgTFRfTk9fTE9DQUxFKSwKLSAgICAgICAgICAgICAgICAgICAgJmxvY2FsZSk7Ci0KLSAgICAvKiBUdXJuIG9mZiBhbnkgcGFkZGluZy4gV2UnbGwgZG8gaXQgbGF0ZXIgYWZ0ZXIgd2UndmUgY29tcG9zZWQKLSAgICAgICB0aGUgbnVtYmVycyB3aXRob3V0IHBhZGRpbmcuICovCi0gICAgdG1wX2Zvcm1hdC5maWxsX2NoYXIgPSAnXDAnOwotICAgIHRtcF9mb3JtYXQuYWxpZ24gPSAnPCc7Ci0gICAgdG1wX2Zvcm1hdC53aWR0aCA9IC0xOwotCi0gICAgLyogQ2FsY3VsYXRlIGhvdyBtdWNoIG1lbW9yeSB3ZSdsbCBuZWVkLiAqLwotICAgIG5fcmVfdG90YWwgPSBjYWxjX251bWJlcl93aWR0aHMoJnJlX3NwZWMsIDAsIHJlX3NpZ25fY2hhciwgcF9yZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5fcmVfZGlnaXRzLCBuX3JlX3JlbWFpbmRlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlX2hhc19kZWNpbWFsLCAmbG9jYWxlLCAmdG1wX2Zvcm1hdCk7Ci0KLSAgICAvKiBTYW1lIGZvcm1hdHRpbmcsIGJ1dCBhbHdheXMgaW5jbHVkZSBhIHNpZ24sIHVubGVzcyB0aGUgcmVhbCBwYXJ0IGlzCi0gICAgICogZ29pbmcgdG8gYmUgb21pdHRlZCwgaW4gd2hpY2ggY2FzZSB3ZSB1c2Ugd2hhdGV2ZXIgc2lnbiBjb252ZW50aW9uIHdhcwotICAgICAqIHJlcXVlc3RlZCBieSB0aGUgb3JpZ2luYWwgZm9ybWF0LiAqLwotICAgIGlmICghc2tpcF9yZSkKLSAgICAgICAgdG1wX2Zvcm1hdC5zaWduID0gJysnOwotICAgIG5faW1fdG90YWwgPSBjYWxjX251bWJlcl93aWR0aHMoJmltX3NwZWMsIDAsIGltX3NpZ25fY2hhciwgcF9pbSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5faW1fZGlnaXRzLCBuX2ltX3JlbWFpbmRlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltX2hhc19kZWNpbWFsLCAmbG9jYWxlLCAmdG1wX2Zvcm1hdCk7Ci0KLSAgICBpZiAoc2tpcF9yZSkKLSAgICAgICAgbl9yZV90b3RhbCA9IDA7Ci0KLSAgICAvKiBBZGQgMSBmb3IgdGhlICdqJywgYW5kIG9wdGlvbmFsbHkgMiBmb3IgcGFyZW5zLiAqLwotICAgIGNhbGNfcGFkZGluZyhuX3JlX3RvdGFsICsgbl9pbV90b3RhbCArIDEgKyBhZGRfcGFyZW5zICogMiwKLSAgICAgICAgICAgICAgICAgZm9ybWF0LT53aWR0aCwgZm9ybWF0LT5hbGlnbiwgJmxwYWQsICZycGFkLCAmdG90YWwpOwotCi0gICAgcmVzdWx0ID0gU1RSSU5HTElCX05FVyhOVUxMLCB0b3RhbCk7Ci0gICAgaWYgKHJlc3VsdCA9PSBOVUxMKQotICAgICAgICBnb3RvIGRvbmU7Ci0KLSAgICAvKiBQb3B1bGF0ZSB0aGUgbWVtb3J5LiBGaXJzdCwgdGhlIHBhZGRpbmcuICovCi0gICAgcCA9IGZpbGxfcGFkZGluZyhTVFJJTkdMSUJfU1RSKHJlc3VsdCksCi0gICAgICAgICAgICAgICAgICAgICBuX3JlX3RvdGFsICsgbl9pbV90b3RhbCArIDEgKyBhZGRfcGFyZW5zICogMiwKLSAgICAgICAgICAgICAgICAgICAgIGZvcm1hdC0+ZmlsbF9jaGFyPT0nXDAnID8gJyAnIDogZm9ybWF0LT5maWxsX2NoYXIsCi0gICAgICAgICAgICAgICAgICAgICBscGFkLCBycGFkKTsKLQotICAgIGlmIChhZGRfcGFyZW5zKQotICAgICAgICAqcCsrID0gJygnOwotCi0gICAgaWYgKCFza2lwX3JlKSB7Ci0gICAgICAgIGZpbGxfbnVtYmVyKHAsICZyZV9zcGVjLCBwX3JlLCBuX3JlX2RpZ2l0cywgTlVMTCwgMCwgJmxvY2FsZSwgMCk7Ci0gICAgICAgIHAgKz0gbl9yZV90b3RhbDsKLSAgICB9Ci0gICAgZmlsbF9udW1iZXIocCwgJmltX3NwZWMsIHBfaW0sIG5faW1fZGlnaXRzLCBOVUxMLCAwLCAmbG9jYWxlLCAwKTsKLSAgICBwICs9IG5faW1fdG90YWw7Ci0gICAgKnArKyA9ICdqJzsKLQotICAgIGlmIChhZGRfcGFyZW5zKQotICAgICAgICAqcCsrID0gJyknOwotCi1kb25lOgotICAgIFB5TWVtX0ZyZWUocmVfYnVmKTsKLSAgICBQeU1lbV9GcmVlKGltX2J1Zik7Ci0jaWYgU1RSSU5HTElCX0lTX1VOSUNPREUKLSAgICBQeU1lbV9GcmVlKHJlX3VuaWNvZGVfdG1wKTsKLSAgICBQeU1lbV9GcmVlKGltX3VuaWNvZGVfdG1wKTsKLSNlbmRpZgotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0jZW5kaWYgLyogRk9STUFUX0NPTVBMRVggKi8KLQotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLS8qKioqKioqKioqKiBidWlsdCBpbiBmb3JtYXR0ZXJzICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotUHlPYmplY3QgKgotRk9STUFUX1NUUklORyhQeU9iamVjdCAqb2JqLAotICAgICAgICAgICAgICBTVFJJTkdMSUJfQ0hBUiAqZm9ybWF0X3NwZWMsCi0gICAgICAgICAgICAgIFB5X3NzaXplX3QgZm9ybWF0X3NwZWNfbGVuKQotewotICAgIEludGVybmFsRm9ybWF0U3BlYyBmb3JtYXQ7Ci0gICAgUHlPYmplY3QgKnJlc3VsdCA9IE5VTEw7Ci0KLSAgICAvKiBjaGVjayBmb3IgdGhlIHNwZWNpYWwgY2FzZSBvZiB6ZXJvIGxlbmd0aCBmb3JtYXQgc3BlYywgbWFrZQotICAgICAgIGl0IGVxdWl2YWxlbnQgdG8gc3RyKG9iaikgKi8KLSAgICBpZiAoZm9ybWF0X3NwZWNfbGVuID09IDApIHsKLSAgICAgICAgcmVzdWx0ID0gU1RSSU5HTElCX1RPU1RSKG9iaik7Ci0gICAgICAgIGdvdG8gZG9uZTsKLSAgICB9Ci0KLSAgICAvKiBwYXJzZSB0aGUgZm9ybWF0X3NwZWMgKi8KLSAgICBpZiAoIXBhcnNlX2ludGVybmFsX3JlbmRlcl9mb3JtYXRfc3BlYyhmb3JtYXRfc3BlYywgZm9ybWF0X3NwZWNfbGVuLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZmb3JtYXQsICdzJywgJzwnKSkKLSAgICAgICAgZ290byBkb25lOwotCi0gICAgLyogdHlwZSBjb252ZXJzaW9uPyAqLwotICAgIHN3aXRjaCAoZm9ybWF0LnR5cGUpIHsKLSAgICBjYXNlICdzJzoKLSAgICAgICAgLyogbm8gdHlwZSBjb252ZXJzaW9uIG5lZWRlZCwgYWxyZWFkeSBhIHN0cmluZy4gIGRvIHRoZSBmb3JtYXR0aW5nICovCi0gICAgICAgIHJlc3VsdCA9IGZvcm1hdF9zdHJpbmdfaW50ZXJuYWwob2JqLCAmZm9ybWF0KTsKLSAgICAgICAgYnJlYWs7Ci0gICAgZGVmYXVsdDoKLSAgICAgICAgLyogdW5rbm93biAqLwotICAgICAgICB1bmtub3duX3ByZXNlbnRhdGlvbl90eXBlKGZvcm1hdC50eXBlLCBvYmotPm9iX3R5cGUtPnRwX25hbWUpOwotICAgICAgICBnb3RvIGRvbmU7Ci0gICAgfQotCi1kb25lOgotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0KLSNpZiBkZWZpbmVkIEZPUk1BVF9MT05HIHx8IGRlZmluZWQgRk9STUFUX0lOVAotc3RhdGljIFB5T2JqZWN0KgotZm9ybWF0X2ludF9vcl9sb25nKFB5T2JqZWN0KiBvYmosCi0gICAgICAgICAgICAgICAgICAgU1RSSU5HTElCX0NIQVIgKmZvcm1hdF9zcGVjLAotICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3QgZm9ybWF0X3NwZWNfbGVuLAotICAgICAgICAgICAgICAgICAgIEludE9yTG9uZ1RvU3RyaW5nIHRvc3RyaW5nKQotewotICAgIFB5T2JqZWN0ICpyZXN1bHQgPSBOVUxMOwotICAgIFB5T2JqZWN0ICp0bXAgPSBOVUxMOwotICAgIEludGVybmFsRm9ybWF0U3BlYyBmb3JtYXQ7Ci0KLSAgICAvKiBjaGVjayBmb3IgdGhlIHNwZWNpYWwgY2FzZSBvZiB6ZXJvIGxlbmd0aCBmb3JtYXQgc3BlYywgbWFrZQotICAgICAgIGl0IGVxdWl2YWxlbnQgdG8gc3RyKG9iaikgKi8KLSAgICBpZiAoZm9ybWF0X3NwZWNfbGVuID09IDApIHsKLSAgICAgICAgcmVzdWx0ID0gU1RSSU5HTElCX1RPU1RSKG9iaik7Ci0gICAgICAgIGdvdG8gZG9uZTsKLSAgICB9Ci0KLSAgICAvKiBwYXJzZSB0aGUgZm9ybWF0X3NwZWMgKi8KLSAgICBpZiAoIXBhcnNlX2ludGVybmFsX3JlbmRlcl9mb3JtYXRfc3BlYyhmb3JtYXRfc3BlYywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtYXRfc3BlY19sZW4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmZvcm1hdCwgJ2QnLCAnPicpKQotICAgICAgICBnb3RvIGRvbmU7Ci0KLSAgICAvKiB0eXBlIGNvbnZlcnNpb24/ICovCi0gICAgc3dpdGNoIChmb3JtYXQudHlwZSkgewotICAgIGNhc2UgJ2InOgotICAgIGNhc2UgJ2MnOgotICAgIGNhc2UgJ2QnOgotICAgIGNhc2UgJ28nOgotICAgIGNhc2UgJ3gnOgotICAgIGNhc2UgJ1gnOgotICAgIGNhc2UgJ24nOgotICAgICAgICAvKiBubyB0eXBlIGNvbnZlcnNpb24gbmVlZGVkLCBhbHJlYWR5IGFuIGludCAob3IgbG9uZykuICBkbwotICAgICAgICAgICB0aGUgZm9ybWF0dGluZyAqLwotICAgICAgICAgICAgcmVzdWx0ID0gZm9ybWF0X2ludF9vcl9sb25nX2ludGVybmFsKG9iaiwgJmZvcm1hdCwgdG9zdHJpbmcpOwotICAgICAgICBicmVhazsKLQotICAgIGNhc2UgJ2UnOgotICAgIGNhc2UgJ0UnOgotICAgIGNhc2UgJ2YnOgotICAgIGNhc2UgJ0YnOgotICAgIGNhc2UgJ2cnOgotICAgIGNhc2UgJ0cnOgotICAgIGNhc2UgJyUnOgotICAgICAgICAvKiBjb252ZXJ0IHRvIGZsb2F0ICovCi0gICAgICAgIHRtcCA9IFB5TnVtYmVyX0Zsb2F0KG9iaik7Ci0gICAgICAgIGlmICh0bXAgPT0gTlVMTCkKLSAgICAgICAgICAgIGdvdG8gZG9uZTsKLSAgICAgICAgcmVzdWx0ID0gZm9ybWF0X2Zsb2F0X2ludGVybmFsKHRtcCwgJmZvcm1hdCk7Ci0gICAgICAgIGJyZWFrOwotCi0gICAgZGVmYXVsdDoKLSAgICAgICAgLyogdW5rbm93biAqLwotICAgICAgICB1bmtub3duX3ByZXNlbnRhdGlvbl90eXBlKGZvcm1hdC50eXBlLCBvYmotPm9iX3R5cGUtPnRwX25hbWUpOwotICAgICAgICBnb3RvIGRvbmU7Ci0gICAgfQotCi1kb25lOgotICAgIFB5X1hERUNSRUYodG1wKTsKLSAgICByZXR1cm4gcmVzdWx0OwotfQotI2VuZGlmIC8qIEZPUk1BVF9MT05HIHx8IGRlZmluZWQgRk9STUFUX0lOVCAqLwotCi0jaWZkZWYgRk9STUFUX0xPTkcKLS8qIE5lZWQgdG8gZGVmaW5lIGxvbmdfZm9ybWF0IGFzIGEgZnVuY3Rpb24gdGhhdCB3aWxsIGNvbnZlcnQgYSBsb25nCi0gICB0byBhIHN0cmluZy4gIEluIDMuMCwgX1B5TG9uZ19Gb3JtYXQgaGFzIHRoZSBjb3JyZWN0IHNpZ25hdHVyZS4gIEluCi0gICAyLngsIHdlIG5lZWQgdG8gZnVkZ2UgYSBmZXcgcGFyYW1ldGVycyAqLwotI2lmIFBZX1ZFUlNJT05fSEVYID49IDB4MDMwMDAwMDAKLSNkZWZpbmUgbG9uZ19mb3JtYXQgX1B5TG9uZ19Gb3JtYXQKLSNlbHNlCi1zdGF0aWMgUHlPYmplY3QqCi1sb25nX2Zvcm1hdChQeU9iamVjdCogdmFsdWUsIGludCBiYXNlKQotewotICAgIC8qIENvbnZlcnQgdG8gYmFzZSwgZG9uJ3QgYWRkIHRyYWlsaW5nICdMJywgYW5kIHVzZSB0aGUgbmV3IG9jdGFsCi0gICAgICAgZm9ybWF0LiBXZSBhbHJlYWR5IGtub3cgdGhpcyBpcyBhIGxvbmcgb2JqZWN0ICovCi0gICAgYXNzZXJ0KFB5TG9uZ19DaGVjayh2YWx1ZSkpOwotICAgIC8qIGNvbnZlcnQgdG8gYmFzZSwgZG9uJ3QgYWRkICdMJywgYW5kIHVzZSB0aGUgbmV3IG9jdGFsIGZvcm1hdCAqLwotICAgIHJldHVybiBfUHlMb25nX0Zvcm1hdCh2YWx1ZSwgYmFzZSwgMCwgMSk7Ci19Ci0jZW5kaWYKLQotUHlPYmplY3QgKgotRk9STUFUX0xPTkcoUHlPYmplY3QgKm9iaiwKLSAgICAgICAgICAgIFNUUklOR0xJQl9DSEFSICpmb3JtYXRfc3BlYywKLSAgICAgICAgICAgIFB5X3NzaXplX3QgZm9ybWF0X3NwZWNfbGVuKQotewotICAgIHJldHVybiBmb3JtYXRfaW50X29yX2xvbmcob2JqLCBmb3JtYXRfc3BlYywgZm9ybWF0X3NwZWNfbGVuLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9uZ19mb3JtYXQpOwotfQotI2VuZGlmIC8qIEZPUk1BVF9MT05HICovCi0KLSNpZmRlZiBGT1JNQVRfSU5UCi0vKiB0aGlzIGlzIG9ubHkgdXNlZCBmb3IgMi54LCBub3QgMy4wICovCi1zdGF0aWMgUHlPYmplY3QqCi1pbnRfZm9ybWF0KFB5T2JqZWN0KiB2YWx1ZSwgaW50IGJhc2UpCi17Ci0gICAgLyogQ29udmVydCB0byBiYXNlLCBhbmQgdXNlIHRoZSBuZXcgb2N0YWwgZm9ybWF0LiBXZSBhbHJlYWR5Ci0gICAgICAga25vdyB0aGlzIGlzIGFuIGludCBvYmplY3QgKi8KLSAgICBhc3NlcnQoUHlJbnRfQ2hlY2sodmFsdWUpKTsKLSAgICByZXR1cm4gX1B5SW50X0Zvcm1hdCgoUHlJbnRPYmplY3QqKXZhbHVlLCBiYXNlLCAxKTsKLX0KLQotUHlPYmplY3QgKgotRk9STUFUX0lOVChQeU9iamVjdCAqb2JqLAotICAgICAgICAgICBTVFJJTkdMSUJfQ0hBUiAqZm9ybWF0X3NwZWMsCi0gICAgICAgICAgIFB5X3NzaXplX3QgZm9ybWF0X3NwZWNfbGVuKQotewotICAgIHJldHVybiBmb3JtYXRfaW50X29yX2xvbmcob2JqLCBmb3JtYXRfc3BlYywgZm9ybWF0X3NwZWNfbGVuLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50X2Zvcm1hdCk7Ci19Ci0jZW5kaWYgLyogRk9STUFUX0lOVCAqLwotCi0jaWZkZWYgRk9STUFUX0ZMT0FUCi1QeU9iamVjdCAqCi1GT1JNQVRfRkxPQVQoUHlPYmplY3QgKm9iaiwKLSAgICAgICAgICAgICBTVFJJTkdMSUJfQ0hBUiAqZm9ybWF0X3NwZWMsCi0gICAgICAgICAgICAgUHlfc3NpemVfdCBmb3JtYXRfc3BlY19sZW4pCi17Ci0gICAgUHlPYmplY3QgKnJlc3VsdCA9IE5VTEw7Ci0gICAgSW50ZXJuYWxGb3JtYXRTcGVjIGZvcm1hdDsKLQotICAgIC8qIGNoZWNrIGZvciB0aGUgc3BlY2lhbCBjYXNlIG9mIHplcm8gbGVuZ3RoIGZvcm1hdCBzcGVjLCBtYWtlCi0gICAgICAgaXQgZXF1aXZhbGVudCB0byBzdHIob2JqKSAqLwotICAgIGlmIChmb3JtYXRfc3BlY19sZW4gPT0gMCkgewotICAgICAgICByZXN1bHQgPSBTVFJJTkdMSUJfVE9TVFIob2JqKTsKLSAgICAgICAgZ290byBkb25lOwotICAgIH0KLQotICAgIC8qIHBhcnNlIHRoZSBmb3JtYXRfc3BlYyAqLwotICAgIGlmICghcGFyc2VfaW50ZXJuYWxfcmVuZGVyX2Zvcm1hdF9zcGVjKGZvcm1hdF9zcGVjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1hdF9zcGVjX2xlbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZm9ybWF0LCAnXDAnLCAnPicpKQotICAgICAgICBnb3RvIGRvbmU7Ci0KLSAgICAvKiB0eXBlIGNvbnZlcnNpb24/ICovCi0gICAgc3dpdGNoIChmb3JtYXQudHlwZSkgewotICAgIGNhc2UgJ1wwJzogLyogTm8gZm9ybWF0IGNvZGU6IGxpa2UgJ2cnLCBidXQgd2l0aCBhdCBsZWFzdCBvbmUgZGVjaW1hbC4gKi8KLSAgICBjYXNlICdlJzoKLSAgICBjYXNlICdFJzoKLSAgICBjYXNlICdmJzoKLSAgICBjYXNlICdGJzoKLSAgICBjYXNlICdnJzoKLSAgICBjYXNlICdHJzoKLSAgICBjYXNlICduJzoKLSAgICBjYXNlICclJzoKLSAgICAgICAgLyogbm8gY29udmVyc2lvbiwgYWxyZWFkeSBhIGZsb2F0LiAgZG8gdGhlIGZvcm1hdHRpbmcgKi8KLSAgICAgICAgcmVzdWx0ID0gZm9ybWF0X2Zsb2F0X2ludGVybmFsKG9iaiwgJmZvcm1hdCk7Ci0gICAgICAgIGJyZWFrOwotCi0gICAgZGVmYXVsdDoKLSAgICAgICAgLyogdW5rbm93biAqLwotICAgICAgICB1bmtub3duX3ByZXNlbnRhdGlvbl90eXBlKGZvcm1hdC50eXBlLCBvYmotPm9iX3R5cGUtPnRwX25hbWUpOwotICAgICAgICBnb3RvIGRvbmU7Ci0gICAgfQotCi1kb25lOgotICAgIHJldHVybiByZXN1bHQ7Ci19Ci0jZW5kaWYgLyogRk9STUFUX0ZMT0FUICovCi0KLSNpZmRlZiBGT1JNQVRfQ09NUExFWAotUHlPYmplY3QgKgotRk9STUFUX0NPTVBMRVgoUHlPYmplY3QgKm9iaiwKLSAgICAgICAgICAgICAgIFNUUklOR0xJQl9DSEFSICpmb3JtYXRfc3BlYywKLSAgICAgICAgICAgICAgIFB5X3NzaXplX3QgZm9ybWF0X3NwZWNfbGVuKQotewotICAgIFB5T2JqZWN0ICpyZXN1bHQgPSBOVUxMOwotICAgIEludGVybmFsRm9ybWF0U3BlYyBmb3JtYXQ7Ci0KLSAgICAvKiBjaGVjayBmb3IgdGhlIHNwZWNpYWwgY2FzZSBvZiB6ZXJvIGxlbmd0aCBmb3JtYXQgc3BlYywgbWFrZQotICAgICAgIGl0IGVxdWl2YWxlbnQgdG8gc3RyKG9iaikgKi8KLSAgICBpZiAoZm9ybWF0X3NwZWNfbGVuID09IDApIHsKLSAgICAgICAgcmVzdWx0ID0gU1RSSU5HTElCX1RPU1RSKG9iaik7Ci0gICAgICAgIGdvdG8gZG9uZTsKLSAgICB9Ci0KLSAgICAvKiBwYXJzZSB0aGUgZm9ybWF0X3NwZWMgKi8KLSAgICBpZiAoIXBhcnNlX2ludGVybmFsX3JlbmRlcl9mb3JtYXRfc3BlYyhmb3JtYXRfc3BlYywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtYXRfc3BlY19sZW4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmZvcm1hdCwgJ1wwJywgJz4nKSkKLSAgICAgICAgZ290byBkb25lOwotCi0gICAgLyogdHlwZSBjb252ZXJzaW9uPyAqLwotICAgIHN3aXRjaCAoZm9ybWF0LnR5cGUpIHsKLSAgICBjYXNlICdcMCc6IC8qIE5vIGZvcm1hdCBjb2RlOiBsaWtlICdnJywgYnV0IHdpdGggYXQgbGVhc3Qgb25lIGRlY2ltYWwuICovCi0gICAgY2FzZSAnZSc6Ci0gICAgY2FzZSAnRSc6Ci0gICAgY2FzZSAnZic6Ci0gICAgY2FzZSAnRic6Ci0gICAgY2FzZSAnZyc6Ci0gICAgY2FzZSAnRyc6Ci0gICAgY2FzZSAnbic6Ci0gICAgICAgIC8qIG5vIGNvbnZlcnNpb24sIGFscmVhZHkgYSBjb21wbGV4LiAgZG8gdGhlIGZvcm1hdHRpbmcgKi8KLSAgICAgICAgcmVzdWx0ID0gZm9ybWF0X2NvbXBsZXhfaW50ZXJuYWwob2JqLCAmZm9ybWF0KTsKLSAgICAgICAgYnJlYWs7Ci0KLSAgICBkZWZhdWx0OgotICAgICAgICAvKiB1bmtub3duICovCi0gICAgICAgIHVua25vd25fcHJlc2VudGF0aW9uX3R5cGUoZm9ybWF0LnR5cGUsIG9iai0+b2JfdHlwZS0+dHBfbmFtZSk7Ci0gICAgICAgIGdvdG8gZG9uZTsKLSAgICB9Ci0KLWRvbmU6Ci0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLSNlbmRpZiAvKiBGT1JNQVRfQ09NUExFWCAqLwpkaWZmIC0tZ2l0IGEvT2JqZWN0cy9zdHJpbmdsaWIvbG9jYWxldXRpbC5oIGIvT2JqZWN0cy9zdHJpbmdsaWIvbG9jYWxldXRpbC5oCmluZGV4IGY1NDgxMzMuLjI4Yzg3YzggMTAwNjQ0Ci0tLSBhL09iamVjdHMvc3RyaW5nbGliL2xvY2FsZXV0aWwuaAorKysgYi9PYmplY3RzL3N0cmluZ2xpYi9sb2NhbGV1dGlsLmgKQEAgLTEsMjEgKzEsMTkgQEAKIC8qIHN0cmluZ2xpYjogbG9jYWxlIHJlbGF0ZWQgaGVscGVycyBpbXBsZW1lbnRhdGlvbiAqLwogCi0jaWZuZGVmIFNUUklOR0xJQl9MT0NBTEVVVElMX0gKLSNkZWZpbmUgU1RSSU5HTElCX0xPQ0FMRVVUSUxfSAotCiAjaW5jbHVkZSA8bG9jYWxlLmg+CiAKLSNkZWZpbmUgTUFYKHgsIHkpICgoeCkgPCAoeSkgPyAoeSkgOiAoeCkpCi0jZGVmaW5lIE1JTih4LCB5KSAoKHgpIDwgKHkpID8gKHgpIDogKHkpKQorI2lmbmRlZiBTVFJJTkdMSUJfSVNfVU5JQ09ERQorIyAgIGVycm9yICJsb2NhbGV1dGlsIGlzIHNwZWNpZmljIHRvIFVuaWNvZGUiCisjZW5kaWYKIAogdHlwZWRlZiBzdHJ1Y3QgewogICAgIGNvbnN0IGNoYXIgKmdyb3VwaW5nOwogICAgIGNoYXIgcHJldmlvdXM7CiAgICAgUHlfc3NpemVfdCBpOyAvKiBXaGVyZSB3ZSdyZSBjdXJyZW50bHkgcG9pbnRpbmcgaW4gZ3JvdXBpbmcuICovCi19IEdyb3VwR2VuZXJhdG9yOworfSBTVFJJTkdMSUIoR3JvdXBHZW5lcmF0b3IpOwogCiBzdGF0aWMgdm9pZAotX0dyb3VwR2VuZXJhdG9yX2luaXQoR3JvdXBHZW5lcmF0b3IgKnNlbGYsIGNvbnN0IGNoYXIgKmdyb3VwaW5nKQorU1RSSU5HTElCKEdyb3VwR2VuZXJhdG9yX2luaXQpKFNUUklOR0xJQihHcm91cEdlbmVyYXRvcikgKnNlbGYsIGNvbnN0IGNoYXIgKmdyb3VwaW5nKQogewogICAgIHNlbGYtPmdyb3VwaW5nID0gZ3JvdXBpbmc7CiAgICAgc2VsZi0+aSA9IDA7CkBAIC0yNCw3ICsyMiw3IEBACiAKIC8qIFJldHVybnMgdGhlIG5leHQgZ3JvdXBpbmcsIG9yIDAgdG8gc2lnbmlmeSBlbmQuICovCiBzdGF0aWMgUHlfc3NpemVfdAotX0dyb3VwR2VuZXJhdG9yX25leHQoR3JvdXBHZW5lcmF0b3IgKnNlbGYpCitTVFJJTkdMSUIoR3JvdXBHZW5lcmF0b3JfbmV4dCkoU1RSSU5HTElCKEdyb3VwR2VuZXJhdG9yKSAqc2VsZikKIHsKICAgICAvKiBOb3RlIHRoYXQgd2UgZG9uJ3QgcmVhbGx5IGRvIG11Y2ggZXJyb3IgY2hlY2tpbmcgaGVyZS4gSWYgYQogICAgICAgIGdyb3VwaW5nIHN0cmluZyBjb250YWlucyBqdXN0IENIQVJfTUFYLCBmb3IgZXhhbXBsZSwgdGhlbiBqdXN0CkBAIC00OCwyNyArNDYsMTggQEAKIC8qIEZpbGwgaW4gc29tZSBkaWdpdHMsIGxlYWRpbmcgemVyb3MsIGFuZCB0aG91c2FuZHMgc2VwYXJhdG9yLiBBbGwKICAgIGFyZSBvcHRpb25hbCwgZGVwZW5kaW5nIG9uIHdoZW4gd2UncmUgY2FsbGVkLiAqLwogc3RhdGljIHZvaWQKLWZpbGwoU1RSSU5HTElCX0NIQVIgKipkaWdpdHNfZW5kLCBTVFJJTkdMSUJfQ0hBUiAqKmJ1ZmZlcl9lbmQsCi0gICAgIFB5X3NzaXplX3Qgbl9jaGFycywgUHlfc3NpemVfdCBuX3plcm9zLCBjb25zdCBjaGFyKiB0aG91c2FuZHNfc2VwLAorU1RSSU5HTElCKGZpbGwpKFNUUklOR0xJQl9DSEFSICoqZGlnaXRzX2VuZCwgU1RSSU5HTElCX0NIQVIgKipidWZmZXJfZW5kLAorICAgICBQeV9zc2l6ZV90IG5fY2hhcnMsIFB5X3NzaXplX3Qgbl96ZXJvcywgU1RSSU5HTElCX0NIQVIqIHRob3VzYW5kc19zZXAsCiAgICAgIFB5X3NzaXplX3QgdGhvdXNhbmRzX3NlcF9sZW4pCiB7Ci0jaWYgU1RSSU5HTElCX0lTX1VOSUNPREUKICAgICBQeV9zc2l6ZV90IGk7Ci0jZW5kaWYKIAogICAgIGlmICh0aG91c2FuZHNfc2VwKSB7CiAgICAgICAgICpidWZmZXJfZW5kIC09IHRob3VzYW5kc19zZXBfbGVuOwogCiAgICAgICAgIC8qIENvcHkgdGhlIHRob3VzYW5kc19zZXAgY2hhcnMgaW50byB0aGUgYnVmZmVyLiAqLwotI2lmIFNUUklOR0xJQl9JU19VTklDT0RFCi0gICAgICAgIC8qIENvbnZlcnQgZnJvbSB0aGUgY2hhcidzIG9mIHRoZSB0aG91c2FuZHNfc2VwIGZyb20KLSAgICAgICAgICAgdGhlIGxvY2FsZSBpbnRvIHVuaWNvZGUuICovCi0gICAgICAgIGZvciAoaSA9IDA7IGkgPCB0aG91c2FuZHNfc2VwX2xlbjsgKytpKQotICAgICAgICAgICAgKCpidWZmZXJfZW5kKVtpXSA9IHRob3VzYW5kc19zZXBbaV07Ci0jZWxzZQotICAgICAgICAvKiBObyBjb252ZXJzaW9uLCBqdXN0IG1lbWNweSB0aGUgdGhvdXNhbmRzX3NlcC4gKi8KLSAgICAgICAgbWVtY3B5KCpidWZmZXJfZW5kLCB0aG91c2FuZHNfc2VwLCB0aG91c2FuZHNfc2VwX2xlbik7Ci0jZW5kaWYKKyAgICAgICAgbWVtY3B5KCpidWZmZXJfZW5kLCB0aG91c2FuZHNfc2VwLAorICAgICAgICAgICAgICAgdGhvdXNhbmRzX3NlcF9sZW4gKiBTVFJJTkdMSUJfU0laRU9GX0NIQVIpOwogICAgIH0KIAogICAgICpidWZmZXJfZW5kIC09IG5fY2hhcnM7CkBAIC03NiwxMSArNjUsMTIgQEAKICAgICBtZW1jcHkoKmJ1ZmZlcl9lbmQsICpkaWdpdHNfZW5kLCBuX2NoYXJzICogc2l6ZW9mKFNUUklOR0xJQl9DSEFSKSk7CiAKICAgICAqYnVmZmVyX2VuZCAtPSBuX3plcm9zOwotICAgIFNUUklOR0xJQl9GSUxMKCpidWZmZXJfZW5kLCAnMCcsIG5femVyb3MpOworICAgIGZvciAoaSA9IDA7IGkgPCBuX3plcm9zOyBpKyspCisgICAgICAgICgqYnVmZmVyX2VuZClbaV0gPSAnMCc7CiB9CiAKIC8qKgotICogX1B5X0luc2VydFRob3VzYW5kc0dyb3VwaW5nOgorICogSW5zZXJ0VGhvdXNhbmRzR3JvdXBpbmc6CiAgKiBAYnVmZmVyOiBBIHBvaW50ZXIgdG8gdGhlIHN0YXJ0IG9mIGEgc3RyaW5nLgogICogQG5fYnVmZmVyOiBOdW1iZXIgb2YgY2hhcmFjdGVycyBpbiBAYnVmZmVyLgogICogQGRpZ2l0czogQSBwb2ludGVyIHRvIHRoZSBkaWdpdHMgd2UncmUgcmVhZGluZyBmcm9tLiBJZiBjb3VudApAQCAtMTEwLDEzICsxMDAsMTUgQEAKICAgICBfaW5zZXJ0X3Rob3VzYW5kc19zZXAoKS4KICAqKi8KIFB5X3NzaXplX3QKLV9QeV9JbnNlcnRUaG91c2FuZHNHcm91cGluZyhTVFJJTkdMSUJfQ0hBUiAqYnVmZmVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3Qgbl9idWZmZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgU1RSSU5HTElCX0NIQVIgKmRpZ2l0cywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IG5fZGlnaXRzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3QgbWluX3dpZHRoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmdyb3VwaW5nLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKnRob3VzYW5kc19zZXApCitTVFJJTkdMSUIoSW5zZXJ0VGhvdXNhbmRzR3JvdXBpbmcpKAorICAgIFNUUklOR0xJQl9DSEFSICpidWZmZXIsCisgICAgUHlfc3NpemVfdCBuX2J1ZmZlciwKKyAgICBTVFJJTkdMSUJfQ0hBUiAqZGlnaXRzLAorICAgIFB5X3NzaXplX3Qgbl9kaWdpdHMsCisgICAgUHlfc3NpemVfdCBtaW5fd2lkdGgsCisgICAgY29uc3QgY2hhciAqZ3JvdXBpbmcsCisgICAgU1RSSU5HTElCX0NIQVIgKnRob3VzYW5kc19zZXAsCisgICAgUHlfc3NpemVfdCB0aG91c2FuZHNfc2VwX2xlbikKIHsKICAgICBQeV9zc2l6ZV90IGNvdW50ID0gMDsKICAgICBQeV9zc2l6ZV90IG5femVyb3M7CkBAIC0xMjgsMjMgKzEyMCwyMiBAQAogICAgIFNUUklOR0xJQl9DSEFSICpkaWdpdHNfZW5kID0gTlVMTDsKICAgICBQeV9zc2l6ZV90IGw7CiAgICAgUHlfc3NpemVfdCBuX2NoYXJzOwotICAgIFB5X3NzaXplX3QgdGhvdXNhbmRzX3NlcF9sZW4gPSBzdHJsZW4odGhvdXNhbmRzX3NlcCk7CiAgICAgUHlfc3NpemVfdCByZW1haW5pbmcgPSBuX2RpZ2l0czsgLyogTnVtYmVyIG9mIGNoYXJzIHJlbWFpbmluZyB0bwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlIGxvb2tlZCBhdCAqLwogICAgIC8qIEEgZ2VuZXJhdG9yIHRoYXQgcmV0dXJucyBhbGwgb2YgdGhlIGdyb3VwaW5nIHdpZHRocywgdW50aWwgaXQKICAgICAgICByZXR1cm5zIDAuICovCi0gICAgR3JvdXBHZW5lcmF0b3IgZ3JvdXBnZW47Ci0gICAgX0dyb3VwR2VuZXJhdG9yX2luaXQoJmdyb3VwZ2VuLCBncm91cGluZyk7CisgICAgU1RSSU5HTElCKEdyb3VwR2VuZXJhdG9yKSBncm91cGdlbjsKKyAgICBTVFJJTkdMSUIoR3JvdXBHZW5lcmF0b3JfaW5pdCkoJmdyb3VwZ2VuLCBncm91cGluZyk7CiAKICAgICBpZiAoYnVmZmVyKSB7CiAgICAgICAgIGJ1ZmZlcl9lbmQgPSBidWZmZXIgKyBuX2J1ZmZlcjsKICAgICAgICAgZGlnaXRzX2VuZCA9IGRpZ2l0cyArIG5fZGlnaXRzOwogICAgIH0KIAotICAgIHdoaWxlICgobCA9IF9Hcm91cEdlbmVyYXRvcl9uZXh0KCZncm91cGdlbikpID4gMCkgewotICAgICAgICBsID0gTUlOKGwsIE1BWChNQVgocmVtYWluaW5nLCBtaW5fd2lkdGgpLCAxKSk7Ci0gICAgICAgIG5femVyb3MgPSBNQVgoMCwgbCAtIHJlbWFpbmluZyk7Ci0gICAgICAgIG5fY2hhcnMgPSBNQVgoMCwgTUlOKHJlbWFpbmluZywgbCkpOworICAgIHdoaWxlICgobCA9IFNUUklOR0xJQihHcm91cEdlbmVyYXRvcl9uZXh0KSgmZ3JvdXBnZW4pKSA+IDApIHsKKyAgICAgICAgbCA9IFB5X01JTihsLCBQeV9NQVgoUHlfTUFYKHJlbWFpbmluZywgbWluX3dpZHRoKSwgMSkpOworICAgICAgICBuX3plcm9zID0gUHlfTUFYKDAsIGwgLSByZW1haW5pbmcpOworICAgICAgICBuX2NoYXJzID0gUHlfTUFYKDAsIFB5X01JTihyZW1haW5pbmcsIGwpKTsKIAogICAgICAgICAvKiBVc2Ugbl96ZXJvIHplcm8ncyBhbmQgbl9jaGFycyBjaGFycyAqLwogCkBAIC0xNTMsNyArMTQ0LDcgQEAKIAogICAgICAgICBpZiAoYnVmZmVyKSB7CiAgICAgICAgICAgICAvKiBDb3B5IGludG8gdGhlIG91dHB1dCBidWZmZXIuICovCi0gICAgICAgICAgICBmaWxsKCZkaWdpdHNfZW5kLCAmYnVmZmVyX2VuZCwgbl9jaGFycywgbl96ZXJvcywKKyAgICAgICAgICAgIFNUUklOR0xJQihmaWxsKSgmZGlnaXRzX2VuZCwgJmJ1ZmZlcl9lbmQsIG5fY2hhcnMsIG5femVyb3MsCiAgICAgICAgICAgICAgICAgIHVzZV9zZXBhcmF0b3IgPyB0aG91c2FuZHNfc2VwIDogTlVMTCwgdGhvdXNhbmRzX3NlcF9sZW4pOwogICAgICAgICB9CiAKQEAgLTE3Miw0MSArMTYzLDE4IEBACiAgICAgaWYgKCFsb29wX2Jyb2tlbikgewogICAgICAgICAvKiBXZSBsZWZ0IHRoZSBsb29wIHdpdGhvdXQgdXNpbmcgYSBicmVhayBzdGF0ZW1lbnQuICovCiAKLSAgICAgICAgbCA9IE1BWChNQVgocmVtYWluaW5nLCBtaW5fd2lkdGgpLCAxKTsKLSAgICAgICAgbl96ZXJvcyA9IE1BWCgwLCBsIC0gcmVtYWluaW5nKTsKLSAgICAgICAgbl9jaGFycyA9IE1BWCgwLCBNSU4ocmVtYWluaW5nLCBsKSk7CisgICAgICAgIGwgPSBQeV9NQVgoUHlfTUFYKHJlbWFpbmluZywgbWluX3dpZHRoKSwgMSk7CisgICAgICAgIG5femVyb3MgPSBQeV9NQVgoMCwgbCAtIHJlbWFpbmluZyk7CisgICAgICAgIG5fY2hhcnMgPSBQeV9NQVgoMCwgUHlfTUlOKHJlbWFpbmluZywgbCkpOwogCiAgICAgICAgIC8qIFVzZSBuX3plcm8gemVybydzIGFuZCBuX2NoYXJzIGNoYXJzICovCiAgICAgICAgIGNvdW50ICs9ICh1c2Vfc2VwYXJhdG9yID8gdGhvdXNhbmRzX3NlcF9sZW4gOiAwKSArIG5femVyb3MgKyBuX2NoYXJzOwogICAgICAgICBpZiAoYnVmZmVyKSB7CiAgICAgICAgICAgICAvKiBDb3B5IGludG8gdGhlIG91dHB1dCBidWZmZXIuICovCi0gICAgICAgICAgICBmaWxsKCZkaWdpdHNfZW5kLCAmYnVmZmVyX2VuZCwgbl9jaGFycywgbl96ZXJvcywKKyAgICAgICAgICAgIFNUUklOR0xJQihmaWxsKSgmZGlnaXRzX2VuZCwgJmJ1ZmZlcl9lbmQsIG5fY2hhcnMsIG5femVyb3MsCiAgICAgICAgICAgICAgICAgIHVzZV9zZXBhcmF0b3IgPyB0aG91c2FuZHNfc2VwIDogTlVMTCwgdGhvdXNhbmRzX3NlcF9sZW4pOwogICAgICAgICB9CiAgICAgfQogICAgIHJldHVybiBjb3VudDsKIH0KIAotLyoqCi0gKiBfUHlfSW5zZXJ0VGhvdXNhbmRzR3JvdXBpbmdMb2NhbGU6Ci0gKiBAYnVmZmVyOiBBIHBvaW50ZXIgdG8gdGhlIHN0YXJ0IG9mIGEgc3RyaW5nLgotICogQG5fZGlnaXRzOiBUaGUgbnVtYmVyIG9mIGRpZ2l0cyBpbiB0aGUgc3RyaW5nLCBpbiB3aGljaCB3ZSB3YW50Ci0gKiAgICAgICAgICAgIHRvIHB1dCB0aGUgZ3JvdXBpbmcgY2hhcnMuCi0gKgotICogUmVhZHMgdGhlZSBjdXJyZW50IGxvY2FsZSBhbmQgY2FsbHMgX1B5X0luc2VydFRob3VzYW5kc0dyb3VwaW5nKCkuCi0gKiovCi1QeV9zc2l6ZV90Ci1fUHlfSW5zZXJ0VGhvdXNhbmRzR3JvdXBpbmdMb2NhbGUoU1RSSU5HTElCX0NIQVIgKmJ1ZmZlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IG5fYnVmZmVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNUUklOR0xJQl9DSEFSICpkaWdpdHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBuX2RpZ2l0cywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IG1pbl93aWR0aCkKLXsKLSAgICAgICAgc3RydWN0IGxjb252ICpsb2NhbGVfZGF0YSA9IGxvY2FsZWNvbnYoKTsKLSAgICAgICAgY29uc3QgY2hhciAqZ3JvdXBpbmcgPSBsb2NhbGVfZGF0YS0+Z3JvdXBpbmc7Ci0gICAgICAgIGNvbnN0IGNoYXIgKnRob3VzYW5kc19zZXAgPSBsb2NhbGVfZGF0YS0+dGhvdXNhbmRzX3NlcDsKLQotICAgICAgICByZXR1cm4gX1B5X0luc2VydFRob3VzYW5kc0dyb3VwaW5nKGJ1ZmZlciwgbl9idWZmZXIsIGRpZ2l0cywgbl9kaWdpdHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWluX3dpZHRoLCBncm91cGluZywgdGhvdXNhbmRzX3NlcCk7Ci19Ci0jZW5kaWYgLyogU1RSSU5HTElCX0xPQ0FMRVVUSUxfSCAqLwpkaWZmIC0tZ2l0IGEvT2JqZWN0cy9zdHJpbmdsaWIvcGFydGl0aW9uLmggYi9PYmplY3RzL3N0cmluZ2xpYi9wYXJ0aXRpb24uaAppbmRleCAwMTcwYmRkLi40MGNiNTEyIDEwMDY0NAotLS0gYS9PYmplY3RzL3N0cmluZ2xpYi9wYXJ0aXRpb24uaAorKysgYi9PYmplY3RzL3N0cmluZ2xpYi9wYXJ0aXRpb24uaApAQCAtMSwxNCArMSwxMSBAQAogLyogc3RyaW5nbGliOiBwYXJ0aXRpb24gaW1wbGVtZW50YXRpb24gKi8KIAotI2lmbmRlZiBTVFJJTkdMSUJfUEFSVElUSU9OX0gKLSNkZWZpbmUgU1RSSU5HTElCX1BBUlRJVElPTl9ICi0KICNpZm5kZWYgU1RSSU5HTElCX0ZBU1RTRUFSQ0hfSAogI2Vycm9yIG11c3QgaW5jbHVkZSAic3RyaW5nbGliL2Zhc3RzZWFyY2guaCIgYmVmb3JlIGluY2x1ZGluZyB0aGlzIG1vZHVsZQogI2VuZGlmCiAKIFB5X0xPQ0FMX0lOTElORShQeU9iamVjdCopCi1zdHJpbmdsaWJfcGFydGl0aW9uKFB5T2JqZWN0KiBzdHJfb2JqLAorU1RSSU5HTElCKHBhcnRpdGlvbikoUHlPYmplY3QqIHN0cl9vYmosCiAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFNUUklOR0xJQl9DSEFSKiBzdHIsIFB5X3NzaXplX3Qgc3RyX2xlbiwKICAgICAgICAgICAgICAgICAgICAgUHlPYmplY3QqIHNlcF9vYmosCiAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFNUUklOR0xJQl9DSEFSKiBzZXAsIFB5X3NzaXplX3Qgc2VwX2xlbikKQEAgLTI1LDcgKzIyLDcgQEAKICAgICBpZiAoIW91dCkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKLSAgICBwb3MgPSBmYXN0c2VhcmNoKHN0ciwgc3RyX2xlbiwgc2VwLCBzZXBfbGVuLCAtMSwgRkFTVF9TRUFSQ0gpOworICAgIHBvcyA9IEZBU1RTRUFSQ0goc3RyLCBzdHJfbGVuLCBzZXAsIHNlcF9sZW4sIC0xLCBGQVNUX1NFQVJDSCk7CiAKICAgICBpZiAocG9zIDwgMCkgewogI2lmIFNUUklOR0xJQl9NVVRBQkxFCkBAIC01OCw3ICs1NSw3IEBACiB9CiAKIFB5X0xPQ0FMX0lOTElORShQeU9iamVjdCopCi1zdHJpbmdsaWJfcnBhcnRpdGlvbihQeU9iamVjdCogc3RyX29iaiwKK1NUUklOR0xJQihycGFydGl0aW9uKShQeU9iamVjdCogc3RyX29iaiwKICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFNUUklOR0xJQl9DSEFSKiBzdHIsIFB5X3NzaXplX3Qgc3RyX2xlbiwKICAgICAgICAgICAgICAgICAgICAgIFB5T2JqZWN0KiBzZXBfb2JqLAogICAgICAgICAgICAgICAgICAgICAgY29uc3QgU1RSSU5HTElCX0NIQVIqIHNlcCwgUHlfc3NpemVfdCBzZXBfbGVuKQpAQCAtNzUsNyArNzIsNyBAQAogICAgIGlmICghb3V0KQogICAgICAgICByZXR1cm4gTlVMTDsKIAotICAgIHBvcyA9IGZhc3RzZWFyY2goc3RyLCBzdHJfbGVuLCBzZXAsIHNlcF9sZW4sIC0xLCBGQVNUX1JTRUFSQ0gpOworICAgIHBvcyA9IEZBU1RTRUFSQ0goc3RyLCBzdHJfbGVuLCBzZXAsIHNlcF9sZW4sIC0xLCBGQVNUX1JTRUFSQ0gpOwogCiAgICAgaWYgKHBvcyA8IDApIHsKICNpZiBTVFJJTkdMSUJfTVVUQUJMRQpAQCAtMTA3LDQgKzEwNCwzIEBACiAgICAgcmV0dXJuIG91dDsKIH0KIAotI2VuZGlmCmRpZmYgLS1naXQgYS9PYmplY3RzL3N0cmluZ2xpYi9zcGxpdC5oIGIvT2JqZWN0cy9zdHJpbmdsaWIvc3BsaXQuaAppbmRleCA2MGU3NzY3Li45NDdkZDI4IDEwMDY0NAotLS0gYS9PYmplY3RzL3N0cmluZ2xpYi9zcGxpdC5oCisrKyBiL09iamVjdHMvc3RyaW5nbGliL3NwbGl0LmgKQEAgLTEsOCArMSw1IEBACiAvKiBzdHJpbmdsaWI6IHNwbGl0IGltcGxlbWVudGF0aW9uICovCiAKLSNpZm5kZWYgU1RSSU5HTElCX1NQTElUX0gKLSNkZWZpbmUgU1RSSU5HTElCX1NQTElUX0gKLQogI2lmbmRlZiBTVFJJTkdMSUJfRkFTVFNFQVJDSF9ICiAjZXJyb3IgbXVzdCBpbmNsdWRlICJzdHJpbmdsaWIvZmFzdHNlYXJjaC5oIiBiZWZvcmUgaW5jbHVkaW5nIHRoaXMgbW9kdWxlCiAjZW5kaWYKQEAgLTU0LDcgKzUxLDcgQEAKICNkZWZpbmUgRklYX1BSRUFMTE9DX1NJWkUobGlzdCkgUHlfU0laRShsaXN0KSA9IGNvdW50CiAKIFB5X0xPQ0FMX0lOTElORShQeU9iamVjdCAqKQotc3RyaW5nbGliX3NwbGl0X3doaXRlc3BhY2UoUHlPYmplY3QqIHN0cl9vYmosCitTVFJJTkdMSUIoc3BsaXRfd2hpdGVzcGFjZSkoUHlPYmplY3QqIHN0cl9vYmosCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBTVFJJTkdMSUJfQ0hBUiogc3RyLCBQeV9zc2l6ZV90IHN0cl9sZW4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IG1heGNvdW50KQogewpAQCAtMTAyLDcgKzk5LDcgQEAKIH0KIAogUHlfTE9DQUxfSU5MSU5FKFB5T2JqZWN0ICopCi1zdHJpbmdsaWJfc3BsaXRfY2hhcihQeU9iamVjdCogc3RyX29iaiwKK1NUUklOR0xJQihzcGxpdF9jaGFyKShQeU9iamVjdCogc3RyX29iaiwKICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFNUUklOR0xJQl9DSEFSKiBzdHIsIFB5X3NzaXplX3Qgc3RyX2xlbiwKICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFNUUklOR0xJQl9DSEFSIGNoLAogICAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBtYXhjb3VudCkKQEAgLTE0NSw3ICsxNDIsNyBAQAogfQogCiBQeV9MT0NBTF9JTkxJTkUoUHlPYmplY3QgKikKLXN0cmluZ2xpYl9zcGxpdChQeU9iamVjdCogc3RyX29iaiwKK1NUUklOR0xJQihzcGxpdCkoUHlPYmplY3QqIHN0cl9vYmosCiAgICAgICAgICAgICAgICAgY29uc3QgU1RSSU5HTElCX0NIQVIqIHN0ciwgUHlfc3NpemVfdCBzdHJfbGVuLAogICAgICAgICAgICAgICAgIGNvbnN0IFNUUklOR0xJQl9DSEFSKiBzZXAsIFB5X3NzaXplX3Qgc2VwX2xlbiwKICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IG1heGNvdW50KQpAQCAtMTU4LDcgKzE1NSw3IEBACiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KICAgICBlbHNlIGlmIChzZXBfbGVuID09IDEpCi0gICAgICAgIHJldHVybiBzdHJpbmdsaWJfc3BsaXRfY2hhcihzdHJfb2JqLCBzdHIsIHN0cl9sZW4sIHNlcFswXSwgbWF4Y291bnQpOworICAgICAgICByZXR1cm4gU1RSSU5HTElCKHNwbGl0X2NoYXIpKHN0cl9vYmosIHN0ciwgc3RyX2xlbiwgc2VwWzBdLCBtYXhjb3VudCk7CiAKICAgICBsaXN0ID0gUHlMaXN0X05ldyhQUkVBTExPQ19TSVpFKG1heGNvdW50KSk7CiAgICAgaWYgKGxpc3QgPT0gTlVMTCkKQEAgLTE2Niw3ICsxNjMsNyBAQAogCiAgICAgaSA9IGogPSAwOwogICAgIHdoaWxlIChtYXhjb3VudC0tID4gMCkgewotICAgICAgICBwb3MgPSBmYXN0c2VhcmNoKHN0citpLCBzdHJfbGVuLWksIHNlcCwgc2VwX2xlbiwgLTEsIEZBU1RfU0VBUkNIKTsKKyAgICAgICAgcG9zID0gRkFTVFNFQVJDSChzdHIraSwgc3RyX2xlbi1pLCBzZXAsIHNlcF9sZW4sIC0xLCBGQVNUX1NFQVJDSCk7CiAgICAgICAgIGlmIChwb3MgPCAwKQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGogPSBpICsgcG9zOwpAQCAtMTkzLDcgKzE5MCw3IEBACiB9CiAKIFB5X0xPQ0FMX0lOTElORShQeU9iamVjdCAqKQotc3RyaW5nbGliX3JzcGxpdF93aGl0ZXNwYWNlKFB5T2JqZWN0KiBzdHJfb2JqLAorU1RSSU5HTElCKHJzcGxpdF93aGl0ZXNwYWNlKShQeU9iamVjdCogc3RyX29iaiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBTVFJJTkdMSUJfQ0hBUiogc3RyLCBQeV9zc2l6ZV90IHN0cl9sZW4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBtYXhjb3VudCkKIHsKQEAgLTI0Myw3ICsyNDAsNyBAQAogfQogCiBQeV9MT0NBTF9JTkxJTkUoUHlPYmplY3QgKikKLXN0cmluZ2xpYl9yc3BsaXRfY2hhcihQeU9iamVjdCogc3RyX29iaiwKK1NUUklOR0xJQihyc3BsaXRfY2hhcikoUHlPYmplY3QqIHN0cl9vYmosCiAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgU1RSSU5HTElCX0NIQVIqIHN0ciwgUHlfc3NpemVfdCBzdHJfbGVuLAogICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFNUUklOR0xJQl9DSEFSIGNoLAogICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3QgbWF4Y291bnQpCkBAIC0yODcsNyArMjg0LDcgQEAKIH0KIAogUHlfTE9DQUxfSU5MSU5FKFB5T2JqZWN0ICopCi1zdHJpbmdsaWJfcnNwbGl0KFB5T2JqZWN0KiBzdHJfb2JqLAorU1RSSU5HTElCKHJzcGxpdCkoUHlPYmplY3QqIHN0cl9vYmosCiAgICAgICAgICAgICAgICAgIGNvbnN0IFNUUklOR0xJQl9DSEFSKiBzdHIsIFB5X3NzaXplX3Qgc3RyX2xlbiwKICAgICAgICAgICAgICAgICAgY29uc3QgU1RSSU5HTElCX0NIQVIqIHNlcCwgUHlfc3NpemVfdCBzZXBfbGVuLAogICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IG1heGNvdW50KQpAQCAtMzAwLDcgKzI5Nyw3IEBACiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KICAgICBlbHNlIGlmIChzZXBfbGVuID09IDEpCi0gICAgICAgIHJldHVybiBzdHJpbmdsaWJfcnNwbGl0X2NoYXIoc3RyX29iaiwgc3RyLCBzdHJfbGVuLCBzZXBbMF0sIG1heGNvdW50KTsKKyAgICAgICAgcmV0dXJuIFNUUklOR0xJQihyc3BsaXRfY2hhcikoc3RyX29iaiwgc3RyLCBzdHJfbGVuLCBzZXBbMF0sIG1heGNvdW50KTsKIAogICAgIGxpc3QgPSBQeUxpc3RfTmV3KFBSRUFMTE9DX1NJWkUobWF4Y291bnQpKTsKICAgICBpZiAobGlzdCA9PSBOVUxMKQpAQCAtMzA4LDcgKzMwNSw3IEBACiAKICAgICBqID0gc3RyX2xlbjsKICAgICB3aGlsZSAobWF4Y291bnQtLSA+IDApIHsKLSAgICAgICAgcG9zID0gZmFzdHNlYXJjaChzdHIsIGosIHNlcCwgc2VwX2xlbiwgLTEsIEZBU1RfUlNFQVJDSCk7CisgICAgICAgIHBvcyA9IEZBU1RTRUFSQ0goc3RyLCBqLCBzZXAsIHNlcF9sZW4sIC0xLCBGQVNUX1JTRUFSQ0gpOwogICAgICAgICBpZiAocG9zIDwgMCkKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBTUExJVF9BREQoc3RyLCBwb3MgKyBzZXBfbGVuLCBqKTsKQEAgLTMzNiw3ICszMzMsNyBAQAogfQogCiBQeV9MT0NBTF9JTkxJTkUoUHlPYmplY3QgKikKLXN0cmluZ2xpYl9zcGxpdGxpbmVzKFB5T2JqZWN0KiBzdHJfb2JqLAorU1RSSU5HTElCKHNwbGl0bGluZXMpKFB5T2JqZWN0KiBzdHJfb2JqLAogICAgICAgICAgICAgICAgICAgICAgY29uc3QgU1RSSU5HTElCX0NIQVIqIHN0ciwgUHlfc3NpemVfdCBzdHJfbGVuLAogICAgICAgICAgICAgICAgICAgICAgaW50IGtlZXBlbmRzKQogewpAQCAtMzkxLDQgKzM4OCwzIEBACiAgICAgcmV0dXJuIE5VTEw7CiB9CiAKLSNlbmRpZgpkaWZmIC0tZ2l0IGEvT2JqZWN0cy9zdHJpbmdsaWIvc3RyaW5nZGVmcy5oIGIvT2JqZWN0cy9zdHJpbmdsaWIvc3RyaW5nZGVmcy5oCmluZGV4IDFjNDk0MjYuLjdiYjkxYTcgMTAwNjQ0Ci0tLSBhL09iamVjdHMvc3RyaW5nbGliL3N0cmluZ2RlZnMuaAorKysgYi9PYmplY3RzL3N0cmluZ2xpYi9zdHJpbmdkZWZzLmgKQEAgLTYsNyArNiwxMCBAQAogICAgY29tcGlsZWQgYXMgdW5pY29kZS4gKi8KICNkZWZpbmUgU1RSSU5HTElCX0lTX1VOSUNPREUgICAgIDAKIAorI2RlZmluZSBGQVNUU0VBUkNIIGZhc3RzZWFyY2gKKyNkZWZpbmUgU1RSSU5HTElCKEYpIHN0cmluZ2xpYl8jI0YKICNkZWZpbmUgU1RSSU5HTElCX09CSkVDVCAgICAgICAgIFB5Qnl0ZXNPYmplY3QKKyNkZWZpbmUgU1RSSU5HTElCX1NJWkVPRl9DSEFSICAgIDEKICNkZWZpbmUgU1RSSU5HTElCX0NIQVIgICAgICAgICAgIGNoYXIKICNkZWZpbmUgU1RSSU5HTElCX1RZUEVfTkFNRSAgICAgICJzdHJpbmciCiAjZGVmaW5lIFNUUklOR0xJQl9QQVJTRV9DT0RFICAgICAiUyIKQEAgLTE1LDkgKzE4LDYgQEAKICNkZWZpbmUgU1RSSU5HTElCX0lTTElORUJSRUFLKHgpICgoeCA9PSAnXG4nKSB8fCAoeCA9PSAnXHInKSkKICNkZWZpbmUgU1RSSU5HTElCX0lTREVDSU1BTCh4KSAgICgoeCA+PSAnMCcpICYmICh4IDw9ICc5JykpCiAjZGVmaW5lIFNUUklOR0xJQl9UT0RFQ0lNQUwoeCkgICAoU1RSSU5HTElCX0lTREVDSU1BTCh4KSA/ICh4IC0gJzAnKSA6IC0xKQotI2RlZmluZSBTVFJJTkdMSUJfVE9VUFBFUiAgICAgICAgUHlfVE9VUFBFUgotI2RlZmluZSBTVFJJTkdMSUJfVE9MT1dFUiAgICAgICAgUHlfVE9MT1dFUgotI2RlZmluZSBTVFJJTkdMSUJfRklMTCAgICAgICAgICAgbWVtc2V0CiAjZGVmaW5lIFNUUklOR0xJQl9TVFIgICAgICAgICAgICBQeUJ5dGVzX0FTX1NUUklORwogI2RlZmluZSBTVFJJTkdMSUJfTEVOICAgICAgICAgICAgUHlCeXRlc19HRVRfU0laRQogI2RlZmluZSBTVFJJTkdMSUJfTkVXICAgICAgICAgICAgUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZQpAQCAtMjUsNyArMjUsNSBAQAogI2RlZmluZSBTVFJJTkdMSUJfQ0hFQ0sgICAgICAgICAgUHlCeXRlc19DaGVjawogI2RlZmluZSBTVFJJTkdMSUJfQ0hFQ0tfRVhBQ1QgICAgUHlCeXRlc19DaGVja0V4YWN0CiAjZGVmaW5lIFNUUklOR0xJQl9UT1NUUiAgICAgICAgICBQeU9iamVjdF9TdHIKLSNkZWZpbmUgU1RSSU5HTElCX0dST1VQSU5HICAgICAgIF9QeUJ5dGVzX0luc2VydFRob3VzYW5kc0dyb3VwaW5nCi0jZGVmaW5lIFNUUklOR0xJQl9HUk9VUElOR19MT0NBTEUgX1B5Qnl0ZXNfSW5zZXJ0VGhvdXNhbmRzR3JvdXBpbmdMb2NhbGUKICNkZWZpbmUgU1RSSU5HTElCX1RPQVNDSUkgICAgICAgIFB5T2JqZWN0X1JlcHIKICNlbmRpZiAvKiAhU1RSSU5HTElCX1NUUklOR0RFRlNfSCAqLwpkaWZmIC0tZ2l0IGEvT2JqZWN0cy9zdHJpbmdsaWIvdWNzMWxpYi5oIGIvT2JqZWN0cy9zdHJpbmdsaWIvdWNzMWxpYi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVkMmIwYTMKLS0tIC9kZXYvbnVsbAorKysgYi9PYmplY3RzL3N0cmluZ2xpYi91Y3MxbGliLmgKQEAgLTAsMCArMSwzMCBAQAorLyogdGhpcyBpcyBzb3J0IG9mIGEgaGFjay4gIHRoZXJlJ3MgYXQgbGVhc3Qgb25lIHBsYWNlIChmb3JtYXR0aW5nCisgICBmbG9hdHMpIHdoZXJlIHNvbWUgc3RyaW5nbGliIGNvZGUgdGFrZXMgYSBkaWZmZXJlbnQgcGF0aCBpZiBpdCdzCisgICBjb21waWxlZCBhcyB1bmljb2RlLiAqLworI2RlZmluZSBTVFJJTkdMSUJfSVNfVU5JQ09ERSAgICAgMQorCisjZGVmaW5lIEZBU1RTRUFSQ0ggICAgICAgICAgICAgICB1Y3MxbGliX2Zhc3RzZWFyY2gKKyNkZWZpbmUgU1RSSU5HTElCKEYpICAgICAgICAgICAgIHVjczFsaWJfIyNGCisjZGVmaW5lIFNUUklOR0xJQl9PQkpFQ1QgICAgICAgICBQeVVuaWNvZGVPYmplY3QKKyNkZWZpbmUgU1RSSU5HTElCX1NJWkVPRl9DSEFSICAgIDEKKyNkZWZpbmUgU1RSSU5HTElCX0NIQVIgICAgICAgICAgIFB5X1VDUzEKKyNkZWZpbmUgU1RSSU5HTElCX1RZUEVfTkFNRSAgICAgICJ1bmljb2RlIgorI2RlZmluZSBTVFJJTkdMSUJfUEFSU0VfQ09ERSAgICAgIlUiCisjZGVmaW5lIFNUUklOR0xJQl9FTVBUWSAgICAgICAgICB1bmljb2RlX2VtcHR5CisjZGVmaW5lIFNUUklOR0xJQl9JU1NQQUNFICAgICAgICBQeV9VTklDT0RFX0lTU1BBQ0UKKyNkZWZpbmUgU1RSSU5HTElCX0lTTElORUJSRUFLICAgIEJMT09NX0xJTkVCUkVBSworI2RlZmluZSBTVFJJTkdMSUJfSVNERUNJTUFMICAgICAgUHlfVU5JQ09ERV9JU0RFQ0lNQUwKKyNkZWZpbmUgU1RSSU5HTElCX1RPREVDSU1BTCAgICAgIFB5X1VOSUNPREVfVE9ERUNJTUFMCisjZGVmaW5lIFNUUklOR0xJQl9TVFIgICAgICAgICAgICBQeVVuaWNvZGVfMUJZVEVfREFUQQorI2RlZmluZSBTVFJJTkdMSUJfTEVOICAgICAgICAgICAgUHlVbmljb2RlX0dFVF9MRU5HVEgKKyNkZWZpbmUgU1RSSU5HTElCX05FVyAgICAgICAgICAgIF9QeVVuaWNvZGVfRnJvbVVDUzEKKyNkZWZpbmUgU1RSSU5HTElCX1JFU0laRSAgICAgICAgIG5vdF9zdXBwb3J0ZWQKKyNkZWZpbmUgU1RSSU5HTElCX0NIRUNLICAgICAgICAgIFB5VW5pY29kZV9DaGVjaworI2RlZmluZSBTVFJJTkdMSUJfQ0hFQ0tfRVhBQ1QgICAgUHlVbmljb2RlX0NoZWNrRXhhY3QKKworI2RlZmluZSBTVFJJTkdMSUJfVE9TVFIgICAgICAgICAgUHlPYmplY3RfU3RyCisjZGVmaW5lIFNUUklOR0xJQl9UT0FTQ0lJICAgICAgICBQeU9iamVjdF9BU0NJSQorCisjZGVmaW5lIF9QeV9JbnNlcnRUaG91c2FuZHNHcm91cGluZyBfUHlVbmljb2RlX3VjczFfSW5zZXJ0VGhvdXNhbmRzR3JvdXBpbmcKKworCmRpZmYgLS1naXQgYS9PYmplY3RzL3N0cmluZ2xpYi91Y3MybGliLmggYi9PYmplY3RzL3N0cmluZ2xpYi91Y3MybGliLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTUwODkwNQotLS0gL2Rldi9udWxsCisrKyBiL09iamVjdHMvc3RyaW5nbGliL3VjczJsaWIuaApAQCAtMCwwICsxLDI5IEBACisvKiB0aGlzIGlzIHNvcnQgb2YgYSBoYWNrLiAgdGhlcmUncyBhdCBsZWFzdCBvbmUgcGxhY2UgKGZvcm1hdHRpbmcKKyAgIGZsb2F0cykgd2hlcmUgc29tZSBzdHJpbmdsaWIgY29kZSB0YWtlcyBhIGRpZmZlcmVudCBwYXRoIGlmIGl0J3MKKyAgIGNvbXBpbGVkIGFzIHVuaWNvZGUuICovCisjZGVmaW5lIFNUUklOR0xJQl9JU19VTklDT0RFICAgICAxCisKKyNkZWZpbmUgRkFTVFNFQVJDSCAgICAgICAgICAgICAgIHVjczJsaWJfZmFzdHNlYXJjaAorI2RlZmluZSBTVFJJTkdMSUIoRikgICAgICAgICAgICAgdWNzMmxpYl8jI0YKKyNkZWZpbmUgU1RSSU5HTElCX09CSkVDVCAgICAgICAgIFB5VW5pY29kZU9iamVjdAorI2RlZmluZSBTVFJJTkdMSUJfU0laRU9GX0NIQVIgICAgMgorI2RlZmluZSBTVFJJTkdMSUJfQ0hBUiAgICAgICAgICAgUHlfVUNTMgorI2RlZmluZSBTVFJJTkdMSUJfVFlQRV9OQU1FICAgICAgInVuaWNvZGUiCisjZGVmaW5lIFNUUklOR0xJQl9QQVJTRV9DT0RFICAgICAiVSIKKyNkZWZpbmUgU1RSSU5HTElCX0VNUFRZICAgICAgICAgIHVuaWNvZGVfZW1wdHkKKyNkZWZpbmUgU1RSSU5HTElCX0lTU1BBQ0UgICAgICAgIFB5X1VOSUNPREVfSVNTUEFDRQorI2RlZmluZSBTVFJJTkdMSUJfSVNMSU5FQlJFQUsgICAgQkxPT01fTElORUJSRUFLCisjZGVmaW5lIFNUUklOR0xJQl9JU0RFQ0lNQUwgICAgICBQeV9VTklDT0RFX0lTREVDSU1BTAorI2RlZmluZSBTVFJJTkdMSUJfVE9ERUNJTUFMICAgICAgUHlfVU5JQ09ERV9UT0RFQ0lNQUwKKyNkZWZpbmUgU1RSSU5HTElCX1NUUiAgICAgICAgICAgIFB5VW5pY29kZV8yQllURV9EQVRBCisjZGVmaW5lIFNUUklOR0xJQl9MRU4gICAgICAgICAgICBQeVVuaWNvZGVfR0VUX0xFTkdUSAorI2RlZmluZSBTVFJJTkdMSUJfTkVXICAgICAgICAgICAgX1B5VW5pY29kZV9Gcm9tVUNTMgorI2RlZmluZSBTVFJJTkdMSUJfUkVTSVpFICAgICAgICAgbm90X3N1cHBvcnRlZAorI2RlZmluZSBTVFJJTkdMSUJfQ0hFQ0sgICAgICAgICAgUHlVbmljb2RlX0NoZWNrCisjZGVmaW5lIFNUUklOR0xJQl9DSEVDS19FWEFDVCAgICBQeVVuaWNvZGVfQ2hlY2tFeGFjdAorCisjZGVmaW5lIFNUUklOR0xJQl9UT1NUUiAgICAgICAgICBQeU9iamVjdF9TdHIKKyNkZWZpbmUgU1RSSU5HTElCX1RPQVNDSUkgICAgICAgIFB5T2JqZWN0X0FTQ0lJCisKKyNkZWZpbmUgX1B5X0luc2VydFRob3VzYW5kc0dyb3VwaW5nIF9QeVVuaWNvZGVfdWNzMl9JbnNlcnRUaG91c2FuZHNHcm91cGluZworCmRpZmYgLS1naXQgYS9PYmplY3RzL3N0cmluZ2xpYi91Y3M0bGliLmggYi9PYmplY3RzL3N0cmluZ2xpYi91Y3M0bGliLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWRhMGZlYgotLS0gL2Rldi9udWxsCisrKyBiL09iamVjdHMvc3RyaW5nbGliL3VjczRsaWIuaApAQCAtMCwwICsxLDI5IEBACisvKiB0aGlzIGlzIHNvcnQgb2YgYSBoYWNrLiAgdGhlcmUncyBhdCBsZWFzdCBvbmUgcGxhY2UgKGZvcm1hdHRpbmcKKyAgIGZsb2F0cykgd2hlcmUgc29tZSBzdHJpbmdsaWIgY29kZSB0YWtlcyBhIGRpZmZlcmVudCBwYXRoIGlmIGl0J3MKKyAgIGNvbXBpbGVkIGFzIHVuaWNvZGUuICovCisjZGVmaW5lIFNUUklOR0xJQl9JU19VTklDT0RFICAgICAxCisKKyNkZWZpbmUgRkFTVFNFQVJDSCAgICAgICAgICAgICAgIHVjczRsaWJfZmFzdHNlYXJjaAorI2RlZmluZSBTVFJJTkdMSUIoRikgICAgICAgICAgICAgdWNzNGxpYl8jI0YKKyNkZWZpbmUgU1RSSU5HTElCX09CSkVDVCAgICAgICAgIFB5VW5pY29kZU9iamVjdAorI2RlZmluZSBTVFJJTkdMSUJfU0laRU9GX0NIQVIgICAgNAorI2RlZmluZSBTVFJJTkdMSUJfQ0hBUiAgICAgICAgICAgUHlfVUNTNAorI2RlZmluZSBTVFJJTkdMSUJfVFlQRV9OQU1FICAgICAgInVuaWNvZGUiCisjZGVmaW5lIFNUUklOR0xJQl9QQVJTRV9DT0RFICAgICAiVSIKKyNkZWZpbmUgU1RSSU5HTElCX0VNUFRZICAgICAgICAgIHVuaWNvZGVfZW1wdHkKKyNkZWZpbmUgU1RSSU5HTElCX0lTU1BBQ0UgICAgICAgIFB5X1VOSUNPREVfSVNTUEFDRQorI2RlZmluZSBTVFJJTkdMSUJfSVNMSU5FQlJFQUsgICAgQkxPT01fTElORUJSRUFLCisjZGVmaW5lIFNUUklOR0xJQl9JU0RFQ0lNQUwgICAgICBQeV9VTklDT0RFX0lTREVDSU1BTAorI2RlZmluZSBTVFJJTkdMSUJfVE9ERUNJTUFMICAgICAgUHlfVU5JQ09ERV9UT0RFQ0lNQUwKKyNkZWZpbmUgU1RSSU5HTElCX1NUUiAgICAgICAgICAgIFB5VW5pY29kZV80QllURV9EQVRBCisjZGVmaW5lIFNUUklOR0xJQl9MRU4gICAgICAgICAgICBQeVVuaWNvZGVfR0VUX0xFTkdUSAorI2RlZmluZSBTVFJJTkdMSUJfTkVXICAgICAgICAgICAgX1B5VW5pY29kZV9Gcm9tVUNTNAorI2RlZmluZSBTVFJJTkdMSUJfUkVTSVpFICAgICAgICAgbm90X3N1cHBvcnRlZAorI2RlZmluZSBTVFJJTkdMSUJfQ0hFQ0sgICAgICAgICAgUHlVbmljb2RlX0NoZWNrCisjZGVmaW5lIFNUUklOR0xJQl9DSEVDS19FWEFDVCAgICBQeVVuaWNvZGVfQ2hlY2tFeGFjdAorCisjZGVmaW5lIFNUUklOR0xJQl9UT1NUUiAgICAgICAgICBQeU9iamVjdF9TdHIKKyNkZWZpbmUgU1RSSU5HTElCX1RPQVNDSUkgICAgICAgIFB5T2JqZWN0X0FTQ0lJCisKKyNkZWZpbmUgX1B5X0luc2VydFRob3VzYW5kc0dyb3VwaW5nIF9QeVVuaWNvZGVfdWNzNF9JbnNlcnRUaG91c2FuZHNHcm91cGluZworCmRpZmYgLS1naXQgYS9PYmplY3RzL3N0cmluZ2xpYi91bmRlZi5oIGIvT2JqZWN0cy9zdHJpbmdsaWIvdW5kZWYuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MzEwMjA0Ci0tLSAvZGV2L251bGwKKysrIGIvT2JqZWN0cy9zdHJpbmdsaWIvdW5kZWYuaApAQCAtMCwwICsxLDExIEBACisjdW5kZWYgIEZBU1RTRUFSQ0gKKyN1bmRlZiAgU1RSSU5HTElCCisjdW5kZWYgIFNUUklOR0xJQl9TSVpFT0ZfQ0hBUgorI3VuZGVmICBTVFJJTkdMSUJfQ0hBUgorI3VuZGVmICBTVFJJTkdMSUJfU1RSCisjdW5kZWYgIFNUUklOR0xJQl9MRU4KKyN1bmRlZiAgU1RSSU5HTElCX05FVworI3VuZGVmICBTVFJJTkdMSUJfUkVTSVpFCisjdW5kZWYgIF9QeV9JbnNlcnRUaG91c2FuZHNHcm91cGluZworI3VuZGVmIFNUUklOR0xJQl9JU19VTklDT0RFCisKZGlmZiAtLWdpdCBhL09iamVjdHMvc3RyaW5nbGliL3N0cmluZ19mb3JtYXQuaCBiL09iamVjdHMvc3RyaW5nbGliL3VuaWNvZGVfZm9ybWF0LmgKc2ltaWxhcml0eSBpbmRleCA3OSUKcmVuYW1lIGZyb20gT2JqZWN0cy9zdHJpbmdsaWIvc3RyaW5nX2Zvcm1hdC5oCnJlbmFtZSB0byBPYmplY3RzL3N0cmluZ2xpYi91bmljb2RlX2Zvcm1hdC5oCmluZGV4IDZjN2FkY2IuLmYwNTg0N2EgMTAwNjQ0Ci0tLSBhL09iamVjdHMvc3RyaW5nbGliL3N0cmluZ19mb3JtYXQuaAorKysgYi9PYmplY3RzL3N0cmluZ2xpYi91bmljb2RlX2Zvcm1hdC5oCkBAIC0xLDE2ICsxLDggQEAKIC8qCi0gICAgc3RyaW5nX2Zvcm1hdC5oIC0tIGltcGxlbWVudGF0aW9uIG9mIHN0cmluZy5mb3JtYXQoKS4KLQotICAgIEl0IHVzZXMgdGhlIE9iamVjdHMvc3RyaW5nbGliIGNvbnZlbnRpb25zLCBzbyB0aGF0IGl0IGNhbiBiZQotICAgIGNvbXBpbGVkIGZvciBib3RoIHVuaWNvZGUgYW5kIHN0cmluZyBvYmplY3RzLgorICAgIHVuaWNvZGVfZm9ybWF0LmggLS0gaW1wbGVtZW50YXRpb24gb2Ygc3RyLmZvcm1hdCgpLgogKi8KIAogCi0vKiBEZWZpbmVzIGZvciBQeXRob24gMi42IGNvbXBhdGliaWxpdHkgKi8KLSNpZiBQWV9WRVJTSU9OX0hFWCA8IDB4MDMwMDAwMDAKLSNkZWZpbmUgUHlMb25nX0Zyb21Tc2l6ZV90IF9QeUxvbmdfRnJvbVNzaXplX3QKLSNlbmRpZgotCiAvKiBEZWZpbmVzIGZvciBtb3JlIGVmZmljaWVudGx5IHJlYWxsb2NhdGluZyB0aGUgc3RyaW5nIGJ1ZmZlciAqLwogI2RlZmluZSBJTklUSUFMX1NJWkVfSU5DUkVNRU5UIDEwMAogI2RlZmluZSBTSVpFX01VTFRJUExJRVIgMgpAQCAtMjYsOCArMTgsOCBAQAogICAgdW5pY29kZSBwb2ludGVycy4KICovCiB0eXBlZGVmIHN0cnVjdCB7Ci0gICAgU1RSSU5HTElCX0NIQVIgKnB0cjsKLSAgICBTVFJJTkdMSUJfQ0hBUiAqZW5kOworICAgIFB5T2JqZWN0ICpzdHI7IC8qIGJvcnJvd2VkIHJlZmVyZW5jZSAqLworICAgIFB5X3NzaXplX3Qgc3RhcnQsIGVuZDsKIH0gU3ViU3RyaW5nOwogCiAKQEAgLTY0LDM0ICs1NiwzMiBAQAogCiAvKiBmaWxsIGluIGEgU3ViU3RyaW5nIGZyb20gYSBwb2ludGVyIGFuZCBsZW5ndGggKi8KIFB5X0xPQ0FMX0lOTElORSh2b2lkKQotU3ViU3RyaW5nX2luaXQoU3ViU3RyaW5nICpzdHIsIFNUUklOR0xJQl9DSEFSICpwLCBQeV9zc2l6ZV90IGxlbikKK1N1YlN0cmluZ19pbml0KFN1YlN0cmluZyAqc3RyLCBQeU9iamVjdCAqcywgUHlfc3NpemVfdCBzdGFydCwgUHlfc3NpemVfdCBlbmQpCiB7Ci0gICAgc3RyLT5wdHIgPSBwOwotICAgIGlmIChwID09IE5VTEwpCi0gICAgICAgIHN0ci0+ZW5kID0gTlVMTDsKLSAgICBlbHNlCi0gICAgICAgIHN0ci0+ZW5kID0gc3RyLT5wdHIgKyBsZW47CisgICAgc3RyLT5zdHIgPSBzOworICAgIHN0ci0+c3RhcnQgPSBzdGFydDsKKyAgICBzdHItPmVuZCA9IGVuZDsKIH0KIAotLyogcmV0dXJuIGEgbmV3IHN0cmluZy4gIGlmIHN0ci0+cHRyIGlzIE5VTEwsIHJldHVybiBOb25lICovCisvKiByZXR1cm4gYSBuZXcgc3RyaW5nLiAgaWYgc3RyLT5zdHIgaXMgTlVMTCwgcmV0dXJuIE5vbmUgKi8KIFB5X0xPQ0FMX0lOTElORShQeU9iamVjdCAqKQogU3ViU3RyaW5nX25ld19vYmplY3QoU3ViU3RyaW5nICpzdHIpCiB7Ci0gICAgaWYgKHN0ci0+cHRyID09IE5VTEwpIHsKKyAgICBpZiAoc3RyLT5zdHIgPT0gTlVMTCkgewogICAgICAgICBQeV9JTkNSRUYoUHlfTm9uZSk7CiAgICAgICAgIHJldHVybiBQeV9Ob25lOwogICAgIH0KLSAgICByZXR1cm4gU1RSSU5HTElCX05FVyhzdHItPnB0ciwgc3RyLT5lbmQgLSBzdHItPnB0cik7CisgICAgcmV0dXJuIFB5VW5pY29kZV9TdWJzdHJpbmcoc3RyLT5zdHIsIHN0ci0+c3RhcnQsIHN0ci0+ZW5kKTsKIH0KIAotLyogcmV0dXJuIGEgbmV3IHN0cmluZy4gIGlmIHN0ci0+cHRyIGlzIE5VTEwsIHJldHVybiBOb25lICovCisvKiByZXR1cm4gYSBuZXcgc3RyaW5nLiAgaWYgc3RyLT5zdHIgaXMgTlVMTCwgcmV0dXJuIE5vbmUgKi8KIFB5X0xPQ0FMX0lOTElORShQeU9iamVjdCAqKQogU3ViU3RyaW5nX25ld19vYmplY3Rfb3JfZW1wdHkoU3ViU3RyaW5nICpzdHIpCiB7Ci0gICAgaWYgKHN0ci0+cHRyID09IE5VTEwpIHsKLSAgICAgICAgcmV0dXJuIFNUUklOR0xJQl9ORVcoTlVMTCwgMCk7CisgICAgaWYgKHN0ci0+c3RyID09IE5VTEwpIHsKKyAgICAgICAgcmV0dXJuIFB5VW5pY29kZV9OZXcoMCwgMCk7CiAgICAgfQotICAgIHJldHVybiBTVFJJTkdMSUJfTkVXKHN0ci0+cHRyLCBzdHItPmVuZCAtIHN0ci0+cHRyKTsKKyAgICByZXR1cm4gU3ViU3RyaW5nX25ld19vYmplY3Qoc3RyKTsKIH0KIAogLyogUmV0dXJuIDEgaWYgYW4gZXJyb3IgaGFzIGJlZW4gZGV0ZWN0ZWQgc3dpdGNoaW5nIGJldHdlZW4gYXV0b21hdGljCkBAIC0xMjQsNTEgKzExNCw2IEBACiAvKioqKioqKioqKiogICAgT3V0cHV0IHN0cmluZyBtYW5hZ2VtZW50IGZ1bmN0aW9ucyAgICAgICAqKioqKioqKioqKioqKioqLwogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIAotdHlwZWRlZiBzdHJ1Y3QgewotICAgIFNUUklOR0xJQl9DSEFSICpwdHI7Ci0gICAgU1RSSU5HTElCX0NIQVIgKmVuZDsKLSAgICBQeU9iamVjdCAqb2JqOwotICAgIFB5X3NzaXplX3Qgc2l6ZV9pbmNyZW1lbnQ7Ci19IE91dHB1dFN0cmluZzsKLQotLyogaW5pdGlhbGl6ZSBhbiBPdXRwdXRTdHJpbmcgb2JqZWN0LCByZXNlcnZpbmcgc2l6ZSBjaGFyYWN0ZXJzICovCi1zdGF0aWMgaW50Ci1vdXRwdXRfaW5pdGlhbGl6ZShPdXRwdXRTdHJpbmcgKm91dHB1dCwgUHlfc3NpemVfdCBzaXplKQotewotICAgIG91dHB1dC0+b2JqID0gU1RSSU5HTElCX05FVyhOVUxMLCBzaXplKTsKLSAgICBpZiAob3V0cHV0LT5vYmogPT0gTlVMTCkKLSAgICAgICAgcmV0dXJuIDA7Ci0KLSAgICBvdXRwdXQtPnB0ciA9IFNUUklOR0xJQl9TVFIob3V0cHV0LT5vYmopOwotICAgIG91dHB1dC0+ZW5kID0gU1RSSU5HTElCX0xFTihvdXRwdXQtPm9iaikgKyBvdXRwdXQtPnB0cjsKLSAgICBvdXRwdXQtPnNpemVfaW5jcmVtZW50ID0gSU5JVElBTF9TSVpFX0lOQ1JFTUVOVDsKLQotICAgIHJldHVybiAxOwotfQotCi0vKgotICAgIG91dHB1dF9leHRlbmQgcmVhbGxvY2F0ZXMgdGhlIG91dHB1dCBzdHJpbmcgYnVmZmVyLgotICAgIEl0IHJldHVybnMgYSBzdGF0dXM6ICAwIGZvciBhIGZhaWxlZCByZWFsbG9jYXRpb24sCi0gICAgMSBmb3Igc3VjY2Vzcy4KLSovCi0KLXN0YXRpYyBpbnQKLW91dHB1dF9leHRlbmQoT3V0cHV0U3RyaW5nICpvdXRwdXQsIFB5X3NzaXplX3QgY291bnQpCi17Ci0gICAgU1RSSU5HTElCX0NIQVIgKnN0YXJ0cHRyID0gU1RSSU5HTElCX1NUUihvdXRwdXQtPm9iaik7Ci0gICAgUHlfc3NpemVfdCBjdXJsZW4gPSBvdXRwdXQtPnB0ciAtIHN0YXJ0cHRyOwotICAgIFB5X3NzaXplX3QgbWF4bGVuID0gY3VybGVuICsgY291bnQgKyBvdXRwdXQtPnNpemVfaW5jcmVtZW50OwotCi0gICAgaWYgKFNUUklOR0xJQl9SRVNJWkUoJm91dHB1dC0+b2JqLCBtYXhsZW4pIDwgMCkKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgc3RhcnRwdHIgPSBTVFJJTkdMSUJfU1RSKG91dHB1dC0+b2JqKTsKLSAgICBvdXRwdXQtPnB0ciA9IHN0YXJ0cHRyICsgY3VybGVuOwotICAgIG91dHB1dC0+ZW5kID0gc3RhcnRwdHIgKyBtYXhsZW47Ci0gICAgaWYgKG91dHB1dC0+c2l6ZV9pbmNyZW1lbnQgPCBNQVhfU0laRV9JTkNSRU1FTlQpCi0gICAgICAgIG91dHB1dC0+c2l6ZV9pbmNyZW1lbnQgKj0gU0laRV9NVUxUSVBMSUVSOwotICAgIHJldHVybiAxOwotfQotCiAvKgogICAgIG91dHB1dF9kYXRhIGR1bXBzIGNoYXJhY3RlcnMgaW50byBvdXIgb3V0cHV0IHN0cmluZwogICAgIGJ1ZmZlci4KQEAgLTE3OSwxMyArMTI0LDE3IEBACiAgICAgMSBmb3Igc3VjY2Vzcy4KICovCiBzdGF0aWMgaW50Ci1vdXRwdXRfZGF0YShPdXRwdXRTdHJpbmcgKm91dHB1dCwgY29uc3QgU1RSSU5HTElCX0NIQVIgKnMsIFB5X3NzaXplX3QgY291bnQpCitvdXRwdXRfZGF0YShfUHlBY2N1ICphY2MsIFB5T2JqZWN0ICpzLCBQeV9zc2l6ZV90IHN0YXJ0LCBQeV9zc2l6ZV90IGVuZCkKIHsKLSAgICBpZiAoKGNvdW50ID4gb3V0cHV0LT5lbmQgLSBvdXRwdXQtPnB0cikgJiYgIW91dHB1dF9leHRlbmQob3V0cHV0LCBjb3VudCkpCisgICAgUHlPYmplY3QgKnN1YnN0cmluZzsKKyAgICBpbnQgcjsKKworICAgIHN1YnN0cmluZyA9IFB5VW5pY29kZV9TdWJzdHJpbmcocywgc3RhcnQsIGVuZCk7CisgICAgaWYgKHN1YnN0cmluZyA9PSBOVUxMKQogICAgICAgICByZXR1cm4gMDsKLSAgICBtZW1jcHkob3V0cHV0LT5wdHIsIHMsIGNvdW50ICogc2l6ZW9mKFNUUklOR0xJQl9DSEFSKSk7Ci0gICAgb3V0cHV0LT5wdHIgKz0gY291bnQ7Ci0gICAgcmV0dXJuIDE7CisgICAgciA9IF9QeUFjY3VfQWNjdW11bGF0ZShhY2MsIHN1YnN0cmluZyk7CisgICAgUHlfREVDUkVGKHN1YnN0cmluZyk7CisgICAgcmV0dXJuIHIgPT0gMDsKIH0KIAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KQEAgLTE5NywzMSArMTQ2LDI4IEBACiB7CiAgICAgUHlfc3NpemVfdCBhY2N1bXVsYXRvciA9IDA7CiAgICAgUHlfc3NpemVfdCBkaWdpdHZhbDsKLSAgICBQeV9zc2l6ZV90IG9sZGFjY3VtdWxhdG9yOwotICAgIFNUUklOR0xJQl9DSEFSICpwOworICAgIFB5X3NzaXplX3QgaTsKIAogICAgIC8qIGVtcHR5IHN0cmluZyBpcyBhbiBlcnJvciAqLwotICAgIGlmIChzdHItPnB0ciA+PSBzdHItPmVuZCkKKyAgICBpZiAoc3RyLT5zdGFydCA+PSBzdHItPmVuZCkKICAgICAgICAgcmV0dXJuIC0xOwogCi0gICAgZm9yIChwID0gc3RyLT5wdHI7IHAgPCBzdHItPmVuZDsgcCsrKSB7Ci0gICAgICAgIGRpZ2l0dmFsID0gU1RSSU5HTElCX1RPREVDSU1BTCgqcCk7CisgICAgZm9yIChpID0gc3RyLT5zdGFydDsgaSA8IHN0ci0+ZW5kOyBpKyspIHsKKyAgICAgICAgZGlnaXR2YWwgPSBQeV9VTklDT0RFX1RPREVDSU1BTChQeVVuaWNvZGVfUkVBRF9DSEFSKHN0ci0+c3RyLCBpKSk7CiAgICAgICAgIGlmIChkaWdpdHZhbCA8IDApCiAgICAgICAgICAgICByZXR1cm4gLTE7CiAgICAgICAgIC8qCi0gICAgICAgICAgIFRoaXMgdHJpY2sgd2FzIGNvcGllZCBmcm9tIG9sZCBVbmljb2RlIGZvcm1hdCBjb2RlLiAgSXQncyBjdXRlLAotICAgICAgICAgICBidXQgd291bGQgcmVhbGx5IHN1Y2sgb24gYW4gb2xkIG1hY2hpbmUgd2l0aCBhIHNsb3cgZGl2aWRlCi0gICAgICAgICAgIGltcGxlbWVudGF0aW9uLiAgRm9ydHVuYXRlbHksIGluIHRoZSBub3JtYWwgY2FzZSB3ZSBkbyBub3QKLSAgICAgICAgICAgZXhwZWN0IHRvbyBtYW55IGRpZ2l0cy4KKyAgICAgICAgICAgRGV0ZWN0IHBvc3NpYmxlIG92ZXJmbG93IGJlZm9yZSBpdCBoYXBwZW5zOgorCisgICAgICAgICAgICAgIGFjY3VtdWxhdG9yICogMTAgKyBkaWdpdHZhbCA+IFBZX1NTSVpFX1RfTUFYIGlmIGFuZCBvbmx5IGlmCisgICAgICAgICAgICAgIGFjY3VtdWxhdG9yID4gKFBZX1NTSVpFX1RfTUFYIC0gZGlnaXR2YWwpIC8gMTAuCiAgICAgICAgICovCi0gICAgICAgIG9sZGFjY3VtdWxhdG9yID0gYWNjdW11bGF0b3I7Ci0gICAgICAgIGFjY3VtdWxhdG9yICo9IDEwOwotICAgICAgICBpZiAoKGFjY3VtdWxhdG9yKzEwKS8xMCAhPSBvbGRhY2N1bXVsYXRvcisxKSB7CisgICAgICAgIGlmIChhY2N1bXVsYXRvciA+IChQWV9TU0laRV9UX01BWCAtIGRpZ2l0dmFsKSAvIDEwKSB7CiAgICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVmFsdWVFcnJvciwKICAgICAgICAgICAgICAgICAgICAgICAgICAiVG9vIG1hbnkgZGVjaW1hbCBkaWdpdHMgaW4gZm9ybWF0IHN0cmluZyIpOwogICAgICAgICAgICAgcmV0dXJuIC0xOwogICAgICAgICB9Ci0gICAgICAgIGFjY3VtdWxhdG9yICs9IGRpZ2l0dmFsOworICAgICAgICBhY2N1bXVsYXRvciA9IGFjY3VtdWxhdG9yICogMTAgKyBkaWdpdHZhbDsKICAgICB9CiAgICAgcmV0dXJuIGFjY3VtdWxhdG9yOwogfQpAQCAtMjgyLDM0ICsyMjgsMzYgQEAKICAgICAgICBsaWZldGltZSBvZiB0aGUgaXRlcmF0b3IuICBjYW4gYmUgZW1wdHkgKi8KICAgICBTdWJTdHJpbmcgc3RyOwogCi0gICAgLyogcG9pbnRlciB0byB3aGVyZSB3ZSBhcmUgaW5zaWRlIGZpZWxkX25hbWUgKi8KLSAgICBTVFJJTkdMSUJfQ0hBUiAqcHRyOworICAgIC8qIGluZGV4IHRvIHdoZXJlIHdlIGFyZSBpbnNpZGUgZmllbGRfbmFtZSAqLworICAgIFB5X3NzaXplX3QgaW5kZXg7CiB9IEZpZWxkTmFtZUl0ZXJhdG9yOwogCiAKIHN0YXRpYyBpbnQKLUZpZWxkTmFtZUl0ZXJhdG9yX2luaXQoRmllbGROYW1lSXRlcmF0b3IgKnNlbGYsIFNUUklOR0xJQl9DSEFSICpwdHIsCi0gICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3QgbGVuKQorRmllbGROYW1lSXRlcmF0b3JfaW5pdChGaWVsZE5hbWVJdGVyYXRvciAqc2VsZiwgUHlPYmplY3QgKnMsCisgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3Qgc3RhcnQsIFB5X3NzaXplX3QgZW5kKQogewotICAgIFN1YlN0cmluZ19pbml0KCZzZWxmLT5zdHIsIHB0ciwgbGVuKTsKLSAgICBzZWxmLT5wdHIgPSBzZWxmLT5zdHIucHRyOworICAgIFN1YlN0cmluZ19pbml0KCZzZWxmLT5zdHIsIHMsIHN0YXJ0LCBlbmQpOworICAgIHNlbGYtPmluZGV4ID0gc3RhcnQ7CiAgICAgcmV0dXJuIDE7CiB9CiAKIHN0YXRpYyBpbnQKIF9GaWVsZE5hbWVJdGVyYXRvcl9hdHRyKEZpZWxkTmFtZUl0ZXJhdG9yICpzZWxmLCBTdWJTdHJpbmcgKm5hbWUpCiB7Ci0gICAgU1RSSU5HTElCX0NIQVIgYzsKKyAgICBQeV9VQ1M0IGM7CiAKLSAgICBuYW1lLT5wdHIgPSBzZWxmLT5wdHI7CisgICAgbmFtZS0+c3RyID0gc2VsZi0+c3RyLnN0cjsKKyAgICBuYW1lLT5zdGFydCA9IHNlbGYtPmluZGV4OwogCiAgICAgLyogcmV0dXJuIGV2ZXJ5dGhpbmcgdW50aWwgJy4nIG9yICdbJyAqLwotICAgIHdoaWxlIChzZWxmLT5wdHIgPCBzZWxmLT5zdHIuZW5kKSB7Ci0gICAgICAgIHN3aXRjaCAoYyA9ICpzZWxmLT5wdHIrKykgeworICAgIHdoaWxlIChzZWxmLT5pbmRleCA8IHNlbGYtPnN0ci5lbmQpIHsKKyAgICAgICAgYyA9IFB5VW5pY29kZV9SRUFEX0NIQVIoc2VsZi0+c3RyLnN0ciwgc2VsZi0+aW5kZXgrKyk7CisgICAgICAgIHN3aXRjaCAoYykgewogICAgICAgICBjYXNlICdbJzoKICAgICAgICAgY2FzZSAnLic6CiAgICAgICAgICAgICAvKiBiYWNrdXAgc28gdGhhdCB3ZSB0aGlzIGNoYXJhY3RlciB3aWxsIGJlIHNlZW4gbmV4dCB0aW1lICovCi0gICAgICAgICAgICBzZWxmLT5wdHItLTsKKyAgICAgICAgICAgIHNlbGYtPmluZGV4LS07CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgIGNvbnRpbnVlOwpAQCAtMzE3LDcgKzI2NSw3IEBACiAgICAgICAgIGJyZWFrOwogICAgIH0KICAgICAvKiBlbmQgb2Ygc3RyaW5nIGlzIG9rYXkgKi8KLSAgICBuYW1lLT5lbmQgPSBzZWxmLT5wdHI7CisgICAgbmFtZS0+ZW5kID0gc2VsZi0+aW5kZXg7CiAgICAgcmV0dXJuIDE7CiB9CiAKQEAgLTMyNSwxMyArMjczLDE1IEBACiBfRmllbGROYW1lSXRlcmF0b3JfaXRlbShGaWVsZE5hbWVJdGVyYXRvciAqc2VsZiwgU3ViU3RyaW5nICpuYW1lKQogewogICAgIGludCBicmFja2V0X3NlZW4gPSAwOwotICAgIFNUUklOR0xJQl9DSEFSIGM7CisgICAgUHlfVUNTNCBjOwogCi0gICAgbmFtZS0+cHRyID0gc2VsZi0+cHRyOworICAgIG5hbWUtPnN0ciA9IHNlbGYtPnN0ci5zdHI7CisgICAgbmFtZS0+c3RhcnQgPSBzZWxmLT5pbmRleDsKIAogICAgIC8qIHJldHVybiBldmVyeXRoaW5nIHVudGlsICddJyAqLwotICAgIHdoaWxlIChzZWxmLT5wdHIgPCBzZWxmLT5zdHIuZW5kKSB7Ci0gICAgICAgIHN3aXRjaCAoYyA9ICpzZWxmLT5wdHIrKykgeworICAgIHdoaWxlIChzZWxmLT5pbmRleCA8IHNlbGYtPnN0ci5lbmQpIHsKKyAgICAgICAgYyA9IFB5VW5pY29kZV9SRUFEX0NIQVIoc2VsZi0+c3RyLnN0ciwgc2VsZi0+aW5kZXgrKyk7CisgICAgICAgIHN3aXRjaCAoYykgewogICAgICAgICBjYXNlICddJzoKICAgICAgICAgICAgIGJyYWNrZXRfc2VlbiA9IDE7CiAgICAgICAgICAgICBicmVhazsKQEAgLTM0OCw3ICsyOTgsNyBAQAogCiAgICAgLyogZW5kIG9mIHN0cmluZyBpcyBva2F5ICovCiAgICAgLyogZG9uJ3QgaW5jbHVkZSB0aGUgJ10nICovCi0gICAgbmFtZS0+ZW5kID0gc2VsZi0+cHRyLTE7CisgICAgbmFtZS0+ZW5kID0gc2VsZi0+aW5kZXgtMTsKICAgICByZXR1cm4gMTsKIH0KIApAQCAtMzU4LDEwICszMDgsMTAgQEAKICAgICAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCAqbmFtZV9pZHgsIFN1YlN0cmluZyAqbmFtZSkKIHsKICAgICAvKiBjaGVjayBhdCBlbmQgb2YgaW5wdXQgKi8KLSAgICBpZiAoc2VsZi0+cHRyID49IHNlbGYtPnN0ci5lbmQpCisgICAgaWYgKHNlbGYtPmluZGV4ID49IHNlbGYtPnN0ci5lbmQpCiAgICAgICAgIHJldHVybiAxOwogCi0gICAgc3dpdGNoICgqc2VsZi0+cHRyKyspIHsKKyAgICBzd2l0Y2ggKFB5VW5pY29kZV9SRUFEX0NIQVIoc2VsZi0+c3RyLnN0ciwgc2VsZi0+aW5kZXgrKykpIHsKICAgICBjYXNlICcuJzoKICAgICAgICAgKmlzX2F0dHJpYnV0ZSA9IDE7CiAgICAgICAgIGlmIChfRmllbGROYW1lSXRlcmF0b3JfYXR0cihzZWxmLCBuYW1lKSA9PSAwKQpAQCAtMzg0LDcgKzMzNCw3IEBACiAgICAgfQogCiAgICAgLyogZW1wdHkgc3RyaW5nIGlzIGFuIGVycm9yICovCi0gICAgaWYgKG5hbWUtPnB0ciA9PSBuYW1lLT5lbmQpIHsKKyAgICBpZiAobmFtZS0+c3RhcnQgPT0gbmFtZS0+ZW5kKSB7CiAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLCAiRW1wdHkgYXR0cmlidXRlIGluIGZvcm1hdCBzdHJpbmciKTsKICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQpAQCAtNDAwLDI0ICszNTAsMjMgQEAKICAgICAgICAgICAgJ3Jlc3QnIGlzIGFuIGl0ZXJhdG9yIHRvIHJldHVybiB0aGUgcmVzdAogKi8KIHN0YXRpYyBpbnQKLWZpZWxkX25hbWVfc3BsaXQoU1RSSU5HTElCX0NIQVIgKnB0ciwgUHlfc3NpemVfdCBsZW4sIFN1YlN0cmluZyAqZmlyc3QsCitmaWVsZF9uYW1lX3NwbGl0KFB5T2JqZWN0ICpzdHIsIFB5X3NzaXplX3Qgc3RhcnQsIFB5X3NzaXplX3QgZW5kLCBTdWJTdHJpbmcgKmZpcnN0LAogICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90ICpmaXJzdF9pZHgsIEZpZWxkTmFtZUl0ZXJhdG9yICpyZXN0LAogICAgICAgICAgICAgICAgICBBdXRvTnVtYmVyICphdXRvX251bWJlcikKIHsKLSAgICBTVFJJTkdMSUJfQ0hBUiBjOwotICAgIFNUUklOR0xJQl9DSEFSICpwID0gcHRyOwotICAgIFNUUklOR0xJQl9DSEFSICplbmQgPSBwdHIgKyBsZW47CisgICAgUHlfVUNTNCBjOworICAgIFB5X3NzaXplX3QgaSA9IHN0YXJ0OwogICAgIGludCBmaWVsZF9uYW1lX2lzX2VtcHR5OwogICAgIGludCB1c2luZ19udW1lcmljX2luZGV4OwogCiAgICAgLyogZmluZCB0aGUgcGFydCB1cCB1bnRpbCB0aGUgZmlyc3QgJy4nIG9yICdbJyAqLwotICAgIHdoaWxlIChwIDwgZW5kKSB7Ci0gICAgICAgIHN3aXRjaCAoYyA9ICpwKyspIHsKKyAgICB3aGlsZSAoaSA8IGVuZCkgeworICAgICAgICBzd2l0Y2ggKGMgPSBQeVVuaWNvZGVfUkVBRF9DSEFSKHN0ciwgaSsrKSkgewogICAgICAgICBjYXNlICdbJzoKICAgICAgICAgY2FzZSAnLic6CiAgICAgICAgICAgICAvKiBiYWNrdXAgc28gdGhhdCB3ZSB0aGlzIGNoYXJhY3RlciBpcyBhdmFpbGFibGUgdG8gdGhlCiAgICAgICAgICAgICAgICAicmVzdCIgaXRlcmF0b3IgKi8KLSAgICAgICAgICAgIHAtLTsKKyAgICAgICAgICAgIGktLTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgY29udGludWU7CkBAIC00MjYsMTUgKzM3NSwxNSBAQAogICAgIH0KIAogICAgIC8qIHNldCB1cCB0aGUgcmV0dXJuIHZhbHVlcyAqLwotICAgIFN1YlN0cmluZ19pbml0KGZpcnN0LCBwdHIsIHAgLSBwdHIpOwotICAgIEZpZWxkTmFtZUl0ZXJhdG9yX2luaXQocmVzdCwgcCwgZW5kIC0gcCk7CisgICAgU3ViU3RyaW5nX2luaXQoZmlyc3QsIHN0ciwgc3RhcnQsIGkpOworICAgIEZpZWxkTmFtZUl0ZXJhdG9yX2luaXQocmVzdCwgc3RyLCBpLCBlbmQpOwogCiAgICAgLyogc2VlIGlmICJmaXJzdCIgaXMgYW4gaW50ZWdlciwgaW4gd2hpY2ggY2FzZSBpdCdzIHVzZWQgYXMgYW4gaW5kZXggKi8KICAgICAqZmlyc3RfaWR4ID0gZ2V0X2ludGVnZXIoZmlyc3QpOwogICAgIGlmICgqZmlyc3RfaWR4ID09IC0xICYmIFB5RXJyX09jY3VycmVkKCkpCiAgICAgICAgIHJldHVybiAwOwogCi0gICAgZmllbGRfbmFtZV9pc19lbXB0eSA9IGZpcnN0LT5wdHIgPj0gZmlyc3QtPmVuZDsKKyAgICBmaWVsZF9uYW1lX2lzX2VtcHR5ID0gZmlyc3QtPnN0YXJ0ID49IGZpcnN0LT5lbmQ7CiAKICAgICAvKiBJZiB0aGUgZmllbGQgbmFtZSBpcyBvbWl0dGVkIG9yIGlmIHdlIGhhdmUgYSBudW1lcmljIGluZGV4CiAgICAgICAgc3BlY2lmaWVkLCB0aGVuIHdlJ3JlIGRvaW5nIG51bWVyaWMgaW5kZXhpbmcgaW50byBhcmdzLiAqLwpAQCAtNDg5LDcgKzQzOCw3IEBACiAgICAgUHlfc3NpemVfdCBpbmRleDsKICAgICBGaWVsZE5hbWVJdGVyYXRvciByZXN0OwogCi0gICAgaWYgKCFmaWVsZF9uYW1lX3NwbGl0KGlucHV0LT5wdHIsIGlucHV0LT5lbmQgLSBpbnB1dC0+cHRyLCAmZmlyc3QsCisgICAgaWYgKCFmaWVsZF9uYW1lX3NwbGl0KGlucHV0LT5zdHIsIGlucHV0LT5zdGFydCwgaW5wdXQtPmVuZCwgJmZpcnN0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAmaW5kZXgsICZyZXN0LCBhdXRvX251bWJlcikpIHsKICAgICAgICAgZ290byBlcnJvcjsKICAgICB9CkBAIC01NzMsMTYgKzUyMiwxMiBAQAogICAgIGFwcGVuZHMgdG8gdGhlIG91dHB1dC4KICovCiBzdGF0aWMgaW50Ci1yZW5kZXJfZmllbGQoUHlPYmplY3QgKmZpZWxkb2JqLCBTdWJTdHJpbmcgKmZvcm1hdF9zcGVjLCBPdXRwdXRTdHJpbmcgKm91dHB1dCkKK3JlbmRlcl9maWVsZChQeU9iamVjdCAqZmllbGRvYmosIFN1YlN0cmluZyAqZm9ybWF0X3NwZWMsIF9QeUFjY3UgKmFjYykKIHsKICAgICBpbnQgb2sgPSAwOwogICAgIFB5T2JqZWN0ICpyZXN1bHQgPSBOVUxMOwogICAgIFB5T2JqZWN0ICpmb3JtYXRfc3BlY19vYmplY3QgPSBOVUxMOwotICAgIFB5T2JqZWN0ICooKmZvcm1hdHRlcikoUHlPYmplY3QgKiwgU1RSSU5HTElCX0NIQVIgKiwgUHlfc3NpemVfdCkgPSBOVUxMOwotICAgIFNUUklOR0xJQl9DSEFSKiBmb3JtYXRfc3BlY19zdGFydCA9IGZvcm1hdF9zcGVjLT5wdHIgPwotICAgICAgICAgICAgZm9ybWF0X3NwZWMtPnB0ciA6IE5VTEw7Ci0gICAgUHlfc3NpemVfdCBmb3JtYXRfc3BlY19sZW4gPSBmb3JtYXRfc3BlYy0+cHRyID8KLSAgICAgICAgICAgIGZvcm1hdF9zcGVjLT5lbmQgLSBmb3JtYXRfc3BlYy0+cHRyIDogMDsKKyAgICBQeU9iamVjdCAqKCpmb3JtYXR0ZXIpKFB5T2JqZWN0ICosIFB5T2JqZWN0ICosIFB5X3NzaXplX3QsIFB5X3NzaXplX3QpID0gTlVMTDsKIAogICAgIC8qIElmIHdlIGtub3cgdGhlIHR5cGUgZXhhY3RseSwgc2tpcCB0aGUgbG9va3VwIG9mIF9fZm9ybWF0X18gYW5kIGp1c3QKICAgICAgICBjYWxsIHRoZSBmb3JtYXR0ZXIgZGlyZWN0bHkuICovCkBAIC01OTksMzkgKzU0NCwyOCBAQAogICAgIGlmIChmb3JtYXR0ZXIpIHsKICAgICAgICAgLyogd2Uga25vdyBleGFjdGx5IHdoaWNoIGZvcm1hdHRlciB3aWxsIGJlIGNhbGxlZCB3aGVuIF9fZm9ybWF0X18gaXMKICAgICAgICAgICAgbG9va2VkIHVwLCBzbyBjYWxsIGl0IGRpcmVjdGx5LCBpbnN0ZWFkLiAqLwotICAgICAgICByZXN1bHQgPSBmb3JtYXR0ZXIoZmllbGRvYmosIGZvcm1hdF9zcGVjX3N0YXJ0LCBmb3JtYXRfc3BlY19sZW4pOworICAgICAgICByZXN1bHQgPSBmb3JtYXR0ZXIoZmllbGRvYmosIGZvcm1hdF9zcGVjLT5zdHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtYXRfc3BlYy0+c3RhcnQsIGZvcm1hdF9zcGVjLT5lbmQpOwogICAgIH0KICAgICBlbHNlIHsKICAgICAgICAgLyogV2UgbmVlZCB0byBjcmVhdGUgYW4gb2JqZWN0IG91dCBvZiB0aGUgcG9pbnRlcnMgd2UgaGF2ZSwgYmVjYXVzZQogICAgICAgICAgICBfX2Zvcm1hdF9fIHRha2VzIGEgc3RyaW5nL3VuaWNvZGUgb2JqZWN0IGZvciBmb3JtYXRfc3BlYy4gKi8KLSAgICAgICAgZm9ybWF0X3NwZWNfb2JqZWN0ID0gU1RSSU5HTElCX05FVyhmb3JtYXRfc3BlY19zdGFydCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtYXRfc3BlY19sZW4pOworICAgICAgICBpZiAoZm9ybWF0X3NwZWMtPnN0cikKKyAgICAgICAgICAgIGZvcm1hdF9zcGVjX29iamVjdCA9IFB5VW5pY29kZV9TdWJzdHJpbmcoZm9ybWF0X3NwZWMtPnN0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0X3NwZWMtPnN0YXJ0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtYXRfc3BlYy0+ZW5kKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgZm9ybWF0X3NwZWNfb2JqZWN0ID0gUHlVbmljb2RlX05ldygwLCAwKTsKICAgICAgICAgaWYgKGZvcm1hdF9zcGVjX29iamVjdCA9PSBOVUxMKQogICAgICAgICAgICAgZ290byBkb25lOwogCiAgICAgICAgIHJlc3VsdCA9IFB5T2JqZWN0X0Zvcm1hdChmaWVsZG9iaiwgZm9ybWF0X3NwZWNfb2JqZWN0KTsKICAgICB9Ci0gICAgaWYgKHJlc3VsdCA9PSBOVUxMKQorICAgIGlmIChyZXN1bHQgPT0gTlVMTCB8fCBQeVVuaWNvZGVfUkVBRFkocmVzdWx0KSA9PSAtMSkKICAgICAgICAgZ290byBkb25lOwogCi0jaWYgUFlfVkVSU0lPTl9IRVggPj0gMHgwMzAwMDAwMAogICAgIGFzc2VydChQeVVuaWNvZGVfQ2hlY2socmVzdWx0KSk7Ci0jZWxzZQotICAgIGFzc2VydChQeUJ5dGVzX0NoZWNrKHJlc3VsdCkgfHwgUHlVbmljb2RlX0NoZWNrKHJlc3VsdCkpOwotCi0gICAgLyogQ29udmVydCByZXN1bHQgdG8gb3VyIHR5cGUuICBXZSBjb3VsZCBiZSBzdHIsIGFuZCByZXN1bHQgY291bGQKLSAgICAgICBiZSB1bmljb2RlICovCi0gICAgewotICAgICAgICBQeU9iamVjdCAqdG1wID0gU1RSSU5HTElCX1RPU1RSKHJlc3VsdCk7Ci0gICAgICAgIGlmICh0bXAgPT0gTlVMTCkKLSAgICAgICAgICAgIGdvdG8gZG9uZTsKLSAgICAgICAgUHlfREVDUkVGKHJlc3VsdCk7Ci0gICAgICAgIHJlc3VsdCA9IHRtcDsKLSAgICB9Ci0jZW5kaWYKLQotICAgIG9rID0gb3V0cHV0X2RhdGEob3V0cHV0LAotICAgICAgICAgICAgICAgICAgICAgU1RSSU5HTElCX1NUUihyZXN1bHQpLCBTVFJJTkdMSUJfTEVOKHJlc3VsdCkpOworICAgIG9rID0gb3V0cHV0X2RhdGEoYWNjLCByZXN1bHQsIDAsIFB5VW5pY29kZV9HRVRfTEVOR1RIKHJlc3VsdCkpOwogZG9uZToKICAgICBQeV9YREVDUkVGKGZvcm1hdF9zcGVjX29iamVjdCk7CiAgICAgUHlfWERFQ1JFRihyZXN1bHQpOwpAQCAtNjQwLDIzICs1NzQsMjQgQEAKIAogc3RhdGljIGludAogcGFyc2VfZmllbGQoU3ViU3RyaW5nICpzdHIsIFN1YlN0cmluZyAqZmllbGRfbmFtZSwgU3ViU3RyaW5nICpmb3JtYXRfc3BlYywKLSAgICAgICAgICAgIFNUUklOR0xJQl9DSEFSICpjb252ZXJzaW9uKQorICAgICAgICAgICAgUHlfVUNTNCAqY29udmVyc2lvbikKIHsKICAgICAvKiBOb3RlIHRoaXMgZnVuY3Rpb24gd29ya3MgaWYgdGhlIGZpZWxkIG5hbWUgaXMgemVybyBsZW5ndGgsCiAgICAgICAgd2hpY2ggaXMgZ29vZC4gIFplcm8gbGVuZ3RoIGZpZWxkIG5hbWVzIGFyZSBoYW5kbGVkIGxhdGVyLCBpbgogICAgICAgIGZpZWxkX25hbWVfc3BsaXQuICovCiAKLSAgICBTVFJJTkdMSUJfQ0hBUiBjID0gMDsKKyAgICBQeV9VQ1M0IGMgPSAwOwogCiAgICAgLyogaW5pdGlhbGl6ZSB0aGVzZSwgYXMgdGhleSBtYXkgYmUgZW1wdHkgKi8KICAgICAqY29udmVyc2lvbiA9ICdcMCc7Ci0gICAgU3ViU3RyaW5nX2luaXQoZm9ybWF0X3NwZWMsIE5VTEwsIDApOworICAgIFN1YlN0cmluZ19pbml0KGZvcm1hdF9zcGVjLCBOVUxMLCAwLCAwKTsKIAogICAgIC8qIFNlYXJjaCBmb3IgdGhlIGZpZWxkIG5hbWUuICBpdCdzIHRlcm1pbmF0ZWQgYnkgdGhlIGVuZCBvZgogICAgICAgIHRoZSBzdHJpbmcsIG9yIGEgJzonIG9yICchJyAqLwotICAgIGZpZWxkX25hbWUtPnB0ciA9IHN0ci0+cHRyOwotICAgIHdoaWxlIChzdHItPnB0ciA8IHN0ci0+ZW5kKSB7Ci0gICAgICAgIHN3aXRjaCAoYyA9ICooc3RyLT5wdHIrKykpIHsKKyAgICBmaWVsZF9uYW1lLT5zdHIgPSBzdHItPnN0cjsKKyAgICBmaWVsZF9uYW1lLT5zdGFydCA9IHN0ci0+c3RhcnQ7CisgICAgd2hpbGUgKHN0ci0+c3RhcnQgPCBzdHItPmVuZCkgeworICAgICAgICBzd2l0Y2ggKChjID0gUHlVbmljb2RlX1JFQURfQ0hBUihzdHItPnN0ciwgc3RyLT5zdGFydCsrKSkpIHsKICAgICAgICAgY2FzZSAnOic6CiAgICAgICAgIGNhc2UgJyEnOgogICAgICAgICAgICAgYnJlYWs7CkBAIC02NjksMjYgKzYwNCwyNyBAQAogICAgIGlmIChjID09ICchJyB8fCBjID09ICc6JykgewogICAgICAgICAvKiB3ZSBoYXZlIGEgZm9ybWF0IHNwZWNpZmllciBhbmQvb3IgYSBjb252ZXJzaW9uICovCiAgICAgICAgIC8qIGRvbid0IGluY2x1ZGUgdGhlIGxhc3QgY2hhcmFjdGVyICovCi0gICAgICAgIGZpZWxkX25hbWUtPmVuZCA9IHN0ci0+cHRyLTE7CisgICAgICAgIGZpZWxkX25hbWUtPmVuZCA9IHN0ci0+c3RhcnQtMTsKIAogICAgICAgICAvKiB0aGUgZm9ybWF0IHNwZWNpZmllciBpcyB0aGUgcmVzdCBvZiB0aGUgc3RyaW5nICovCi0gICAgICAgIGZvcm1hdF9zcGVjLT5wdHIgPSBzdHItPnB0cjsKKyAgICAgICAgZm9ybWF0X3NwZWMtPnN0ciA9IHN0ci0+c3RyOworICAgICAgICBmb3JtYXRfc3BlYy0+c3RhcnQgPSBzdHItPnN0YXJ0OwogICAgICAgICBmb3JtYXRfc3BlYy0+ZW5kID0gc3RyLT5lbmQ7CiAKICAgICAgICAgLyogc2VlIGlmIHRoZXJlJ3MgYSBjb252ZXJzaW9uIHNwZWNpZmllciAqLwogICAgICAgICBpZiAoYyA9PSAnIScpIHsKICAgICAgICAgICAgIC8qIHRoZXJlIG11c3QgYmUgYW5vdGhlciBjaGFyYWN0ZXIgcHJlc2VudCAqLwotICAgICAgICAgICAgaWYgKGZvcm1hdF9zcGVjLT5wdHIgPj0gZm9ybWF0X3NwZWMtPmVuZCkgeworICAgICAgICAgICAgaWYgKGZvcm1hdF9zcGVjLT5zdGFydCA+PSBmb3JtYXRfc3BlYy0+ZW5kKSB7CiAgICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJlbmQgb2YgZm9ybWF0IHdoaWxlIGxvb2tpbmcgZm9yIGNvbnZlcnNpb24gIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3BlY2lmaWVyIik7CiAgICAgICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAqY29udmVyc2lvbiA9ICooZm9ybWF0X3NwZWMtPnB0cisrKTsKKyAgICAgICAgICAgICpjb252ZXJzaW9uID0gUHlVbmljb2RlX1JFQURfQ0hBUihmb3JtYXRfc3BlYy0+c3RyLCBmb3JtYXRfc3BlYy0+c3RhcnQrKyk7CiAKICAgICAgICAgICAgIC8qIGlmIHRoZXJlIGlzIGFub3RoZXIgY2hhcmFjdGVyLCBpdCBtdXN0IGJlIGEgY29sb24gKi8KLSAgICAgICAgICAgIGlmIChmb3JtYXRfc3BlYy0+cHRyIDwgZm9ybWF0X3NwZWMtPmVuZCkgewotICAgICAgICAgICAgICAgIGMgPSAqKGZvcm1hdF9zcGVjLT5wdHIrKyk7CisgICAgICAgICAgICBpZiAoZm9ybWF0X3NwZWMtPnN0YXJ0IDwgZm9ybWF0X3NwZWMtPmVuZCkgeworICAgICAgICAgICAgICAgIGMgPSBQeVVuaWNvZGVfUkVBRF9DSEFSKGZvcm1hdF9zcGVjLT5zdHIsIGZvcm1hdF9zcGVjLT5zdGFydCsrKTsKICAgICAgICAgICAgICAgICBpZiAoYyAhPSAnOicpIHsKICAgICAgICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXhwZWN0ZWQgJzonIGFmdGVyIGZvcm1hdCBzcGVjaWZpZXIiKTsKQEAgLTY5OSw3ICs2MzUsNyBAQAogICAgIH0KICAgICBlbHNlCiAgICAgICAgIC8qIGVuZCBvZiBzdHJpbmcsIHRoZXJlJ3Mgbm8gZm9ybWF0X3NwZWMgb3IgY29udmVyc2lvbiAqLwotICAgICAgICBmaWVsZF9uYW1lLT5lbmQgPSBzdHItPnB0cjsKKyAgICAgICAgZmllbGRfbmFtZS0+ZW5kID0gc3RyLT5zdGFydDsKIAogICAgIHJldHVybiAxOwogfQpAQCAtNzE4LDkgKzY1NCwxMCBAQAogfSBNYXJrdXBJdGVyYXRvcjsKIAogc3RhdGljIGludAotTWFya3VwSXRlcmF0b3JfaW5pdChNYXJrdXBJdGVyYXRvciAqc2VsZiwgU1RSSU5HTElCX0NIQVIgKnB0ciwgUHlfc3NpemVfdCBsZW4pCitNYXJrdXBJdGVyYXRvcl9pbml0KE1hcmt1cEl0ZXJhdG9yICpzZWxmLCBQeU9iamVjdCAqc3RyLAorICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IHN0YXJ0LCBQeV9zc2l6ZV90IGVuZCkKIHsKLSAgICBTdWJTdHJpbmdfaW5pdCgmc2VsZi0+c3RyLCBwdHIsIGxlbik7CisgICAgU3ViU3RyaW5nX2luaXQoJnNlbGYtPnN0ciwgc3RyLCBzdGFydCwgZW5kKTsKICAgICByZXR1cm4gMTsKIH0KIApAQCAtNzI5LDMwICs2NjYsMzAgQEAKIHN0YXRpYyBpbnQKIE1hcmt1cEl0ZXJhdG9yX25leHQoTWFya3VwSXRlcmF0b3IgKnNlbGYsIFN1YlN0cmluZyAqbGl0ZXJhbCwKICAgICAgICAgICAgICAgICAgICAgaW50ICpmaWVsZF9wcmVzZW50LCBTdWJTdHJpbmcgKmZpZWxkX25hbWUsCi0gICAgICAgICAgICAgICAgICAgIFN1YlN0cmluZyAqZm9ybWF0X3NwZWMsIFNUUklOR0xJQl9DSEFSICpjb252ZXJzaW9uLAorICAgICAgICAgICAgICAgICAgICBTdWJTdHJpbmcgKmZvcm1hdF9zcGVjLCBQeV9VQ1M0ICpjb252ZXJzaW9uLAogICAgICAgICAgICAgICAgICAgICBpbnQgKmZvcm1hdF9zcGVjX25lZWRzX2V4cGFuZGluZykKIHsKICAgICBpbnQgYXRfZW5kOwotICAgIFNUUklOR0xJQl9DSEFSIGMgPSAwOwotICAgIFNUUklOR0xJQl9DSEFSICpzdGFydDsKKyAgICBQeV9VQ1M0IGMgPSAwOworICAgIFB5X3NzaXplX3Qgc3RhcnQ7CiAgICAgaW50IGNvdW50OwogICAgIFB5X3NzaXplX3QgbGVuOwogICAgIGludCBtYXJrdXBfZm9sbG93cyA9IDA7CiAKICAgICAvKiBpbml0aWFsaXplIGFsbCBvZiB0aGUgb3V0cHV0IHZhcmlhYmxlcyAqLwotICAgIFN1YlN0cmluZ19pbml0KGxpdGVyYWwsIE5VTEwsIDApOwotICAgIFN1YlN0cmluZ19pbml0KGZpZWxkX25hbWUsIE5VTEwsIDApOwotICAgIFN1YlN0cmluZ19pbml0KGZvcm1hdF9zcGVjLCBOVUxMLCAwKTsKKyAgICBTdWJTdHJpbmdfaW5pdChsaXRlcmFsLCBOVUxMLCAwLCAwKTsKKyAgICBTdWJTdHJpbmdfaW5pdChmaWVsZF9uYW1lLCBOVUxMLCAwLCAwKTsKKyAgICBTdWJTdHJpbmdfaW5pdChmb3JtYXRfc3BlYywgTlVMTCwgMCwgMCk7CiAgICAgKmNvbnZlcnNpb24gPSAnXDAnOwogICAgICpmb3JtYXRfc3BlY19uZWVkc19leHBhbmRpbmcgPSAwOwogICAgICpmaWVsZF9wcmVzZW50ID0gMDsKIAogICAgIC8qIE5vIG1vcmUgaW5wdXQsIGVuZCBvZiBpdGVyYXRvci4gIFRoaXMgaXMgdGhlIG5vcm1hbCBleGl0CiAgICAgICAgcGF0aC4gKi8KLSAgICBpZiAoc2VsZi0+c3RyLnB0ciA+PSBzZWxmLT5zdHIuZW5kKQorICAgIGlmIChzZWxmLT5zdHIuc3RhcnQgPj0gc2VsZi0+c3RyLmVuZCkKICAgICAgICAgcmV0dXJuIDE7CiAKLSAgICBzdGFydCA9IHNlbGYtPnN0ci5wdHI7CisgICAgc3RhcnQgPSBzZWxmLT5zdHIuc3RhcnQ7CiAKICAgICAvKiBGaXJzdCByZWFkIGFueSBsaXRlcmFsIHRleHQuIFJlYWQgdW50aWwgdGhlIGVuZCBvZiBzdHJpbmcsIGFuCiAgICAgICAgZXNjYXBlZCAneycgb3IgJ30nLCBvciBhbiB1bmVzY2FwZWQgJ3snLiAgSW4gb3JkZXIgdG8gbmV2ZXIKQEAgLTc2MSw4ICs2OTgsOCBAQAogICAgICAgIGluY2x1ZGluZyB0aGUgYnJhY2UsIGJ1dCBubyBmb3JtYXQgb2JqZWN0LiAgVGhlIG5leHQgdGltZQogICAgICAgIHRocm91Z2gsIHdlJ2xsIHJldHVybiB0aGUgcmVzdCBvZiB0aGUgbGl0ZXJhbCwgc2tpcHBpbmcgcGFzdAogICAgICAgIHRoZSBzZWNvbmQgY29uc2VjdXRpdmUgYnJhY2UuICovCi0gICAgd2hpbGUgKHNlbGYtPnN0ci5wdHIgPCBzZWxmLT5zdHIuZW5kKSB7Ci0gICAgICAgIHN3aXRjaCAoYyA9ICooc2VsZi0+c3RyLnB0cisrKSkgeworICAgIHdoaWxlIChzZWxmLT5zdHIuc3RhcnQgPCBzZWxmLT5zdHIuZW5kKSB7CisgICAgICAgIHN3aXRjaCAoYyA9IFB5VW5pY29kZV9SRUFEX0NIQVIoc2VsZi0+c3RyLnN0ciwgc2VsZi0+c3RyLnN0YXJ0KyspKSB7CiAgICAgICAgIGNhc2UgJ3snOgogICAgICAgICBjYXNlICd9JzoKICAgICAgICAgICAgIG1hcmt1cF9mb2xsb3dzID0gMTsKQEAgLTc3MywxMCArNzEwLDEyIEBACiAgICAgICAgIGJyZWFrOwogICAgIH0KIAotICAgIGF0X2VuZCA9IHNlbGYtPnN0ci5wdHIgPj0gc2VsZi0+c3RyLmVuZDsKLSAgICBsZW4gPSBzZWxmLT5zdHIucHRyIC0gc3RhcnQ7CisgICAgYXRfZW5kID0gc2VsZi0+c3RyLnN0YXJ0ID49IHNlbGYtPnN0ci5lbmQ7CisgICAgbGVuID0gc2VsZi0+c3RyLnN0YXJ0IC0gc3RhcnQ7CiAKLSAgICBpZiAoKGMgPT0gJ30nKSAmJiAoYXRfZW5kIHx8IChjICE9ICpzZWxmLT5zdHIucHRyKSkpIHsKKyAgICBpZiAoKGMgPT0gJ30nKSAmJiAoYXRfZW5kIHx8CisgICAgICAgICAgICAgICAgICAgICAgIChjICE9IFB5VW5pY29kZV9SRUFEX0NIQVIoc2VsZi0+c3RyLnN0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLT5zdHIuc3RhcnQpKSkpIHsKICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsICJTaW5nbGUgJ30nIGVuY291bnRlcmVkICIKICAgICAgICAgICAgICAgICAgICAgICAgICJpbiBmb3JtYXQgc3RyaW5nIik7CiAgICAgICAgIHJldHVybiAwOwpAQCAtNzg3LDEwICs3MjYsMTAgQEAKICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQogICAgIGlmICghYXRfZW5kKSB7Ci0gICAgICAgIGlmIChjID09ICpzZWxmLT5zdHIucHRyKSB7CisgICAgICAgIGlmIChjID09IFB5VW5pY29kZV9SRUFEX0NIQVIoc2VsZi0+c3RyLnN0ciwgc2VsZi0+c3RyLnN0YXJ0KSkgewogICAgICAgICAgICAgLyogZXNjYXBlZCB9IG9yIHssIHNraXAgaXQgaW4gdGhlIGlucHV0LiAgdGhlcmUgaXMgbm8KICAgICAgICAgICAgICAgIG1hcmt1cCBvYmplY3QgZm9sbG93aW5nIHVzLCBqdXN0IHRoaXMgbGl0ZXJhbCB0ZXh0ICovCi0gICAgICAgICAgICBzZWxmLT5zdHIucHRyKys7CisgICAgICAgICAgICBzZWxmLT5zdHIuc3RhcnQrKzsKICAgICAgICAgICAgIG1hcmt1cF9mb2xsb3dzID0gMDsKICAgICAgICAgfQogICAgICAgICBlbHNlCkBAIC03OTgsNyArNzM3LDggQEAKICAgICB9CiAKICAgICAvKiByZWNvcmQgdGhlIGxpdGVyYWwgdGV4dCAqLwotICAgIGxpdGVyYWwtPnB0ciA9IHN0YXJ0OworICAgIGxpdGVyYWwtPnN0ciA9IHNlbGYtPnN0ci5zdHI7CisgICAgbGl0ZXJhbC0+c3RhcnQgPSBzdGFydDsKICAgICBsaXRlcmFsLT5lbmQgPSBzdGFydCArIGxlbjsKIAogICAgIGlmICghbWFya3VwX2ZvbGxvd3MpCkBAIC04MTAsMTIgKzc1MCwxMiBAQAogICAgICpmaWVsZF9wcmVzZW50ID0gMTsKICAgICBjb3VudCA9IDE7CiAKLSAgICBzdGFydCA9IHNlbGYtPnN0ci5wdHI7CisgICAgc3RhcnQgPSBzZWxmLT5zdHIuc3RhcnQ7CiAKICAgICAvKiB3ZSBrbm93IHdlIGNhbid0IGhhdmUgYSB6ZXJvIGxlbmd0aCBzdHJpbmcsIHNvIGRvbid0IHdvcnJ5CiAgICAgICAgYWJvdXQgdGhhdCBjYXNlICovCi0gICAgd2hpbGUgKHNlbGYtPnN0ci5wdHIgPCBzZWxmLT5zdHIuZW5kKSB7Ci0gICAgICAgIHN3aXRjaCAoYyA9ICooc2VsZi0+c3RyLnB0cisrKSkgeworICAgIHdoaWxlIChzZWxmLT5zdHIuc3RhcnQgPCBzZWxmLT5zdHIuZW5kKSB7CisgICAgICAgIHN3aXRjaCAoYyA9IFB5VW5pY29kZV9SRUFEX0NIQVIoc2VsZi0+c3RyLnN0ciwgc2VsZi0+c3RyLnN0YXJ0KyspKSB7CiAgICAgICAgIGNhc2UgJ3snOgogICAgICAgICAgICAgLyogdGhlIGZvcm1hdCBzcGVjIG5lZWRzIHRvIGJlIHJlY3Vyc2l2ZWx5IGV4cGFuZGVkLgogICAgICAgICAgICAgICAgdGhpcyBpcyBhbiBvcHRpbWl6YXRpb24sIGFuZCBub3Qgc3RyaWN0bHkgbmVlZGVkICovCkBAIC04MjgsNyArNzY4LDcgQEAKICAgICAgICAgICAgICAgICAvKiB3ZSdyZSBkb25lLiAgcGFyc2UgYW5kIGdldCBvdXQgKi8KICAgICAgICAgICAgICAgICBTdWJTdHJpbmcgczsKIAotICAgICAgICAgICAgICAgIFN1YlN0cmluZ19pbml0KCZzLCBzdGFydCwgc2VsZi0+c3RyLnB0ciAtIDEgLSBzdGFydCk7CisgICAgICAgICAgICAgICAgU3ViU3RyaW5nX2luaXQoJnMsIHNlbGYtPnN0ci5zdHIsIHN0YXJ0LCBzZWxmLT5zdHIuc3RhcnQgLSAxKTsKICAgICAgICAgICAgICAgICBpZiAocGFyc2VfZmllbGQoJnMsIGZpZWxkX25hbWUsIGZvcm1hdF9zcGVjLCBjb252ZXJzaW9uKSA9PSAwKQogICAgICAgICAgICAgICAgICAgICByZXR1cm4gMDsKIApAQCAtODQ3LDcgKzc4Nyw3IEBACiAKIC8qIGRvIHRoZSAhciBvciAhcyBjb252ZXJzaW9uIG9uIG9iaiAqLwogc3RhdGljIFB5T2JqZWN0ICoKLWRvX2NvbnZlcnNpb24oUHlPYmplY3QgKm9iaiwgU1RSSU5HTElCX0NIQVIgY29udmVyc2lvbikKK2RvX2NvbnZlcnNpb24oUHlPYmplY3QgKm9iaiwgUHlfVUNTNCBjb252ZXJzaW9uKQogewogICAgIC8qIFhYWCBpbiBwcmUtMy4wLCBkbyB3ZSBuZWVkIHRvIGNvbnZlcnQgdGhpcyB0byB1bmljb2RlLCBzaW5jZSBpdAogICAgICAgIG1pZ2h0IGhhdmUgcmV0dXJuZWQgYSBzdHJpbmc/ICovCkBAIC04NTUsMTEgKzc5NSw5IEBACiAgICAgY2FzZSAncic6CiAgICAgICAgIHJldHVybiBQeU9iamVjdF9SZXByKG9iaik7CiAgICAgY2FzZSAncyc6Ci0gICAgICAgIHJldHVybiBTVFJJTkdMSUJfVE9TVFIob2JqKTsKLSNpZiBQWV9WRVJTSU9OX0hFWCA+PSAweDAzMDAwMDAwCisgICAgICAgIHJldHVybiBQeU9iamVjdF9TdHIob2JqKTsKICAgICBjYXNlICdhJzoKLSAgICAgICAgcmV0dXJuIFNUUklOR0xJQl9UT0FTQ0lJKG9iaik7Ci0jZW5kaWYKKyAgICAgICAgcmV0dXJuIFB5T2JqZWN0X0FTQ0lJKG9iaik7CiAgICAgZGVmYXVsdDoKICAgICAgICAgaWYgKGNvbnZlcnNpb24gPiAzMiAmJiBjb252ZXJzaW9uIDwgMTI3KSB7CiAgICAgICAgICAgICAgICAgLyogSXQncyB0aGUgQVNDSUkgc3VicmFuZ2U7IGNhc3RpbmcgdG8gY2hhciBpcyBzYWZlCkBAIC04OTEsOCArODI5LDggQEAKIAogc3RhdGljIGludAogb3V0cHV0X21hcmt1cChTdWJTdHJpbmcgKmZpZWxkX25hbWUsIFN1YlN0cmluZyAqZm9ybWF0X3NwZWMsCi0gICAgICAgICAgICAgIGludCBmb3JtYXRfc3BlY19uZWVkc19leHBhbmRpbmcsIFNUUklOR0xJQl9DSEFSIGNvbnZlcnNpb24sCi0gICAgICAgICAgICAgIE91dHB1dFN0cmluZyAqb3V0cHV0LCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncywKKyAgICAgICAgICAgICAgaW50IGZvcm1hdF9zcGVjX25lZWRzX2V4cGFuZGluZywgUHlfVUNTNCBjb252ZXJzaW9uLAorICAgICAgICAgICAgICBfUHlBY2N1ICphY2MsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzLAogICAgICAgICAgICAgICBpbnQgcmVjdXJzaW9uX2RlcHRoLCBBdXRvTnVtYmVyICphdXRvX251bWJlcikKIHsKICAgICBQeU9iamVjdCAqdG1wID0gTlVMTDsKQEAgLTkwOCw3ICs4NDYsNyBAQAogCiAgICAgaWYgKGNvbnZlcnNpb24gIT0gJ1wwJykgewogICAgICAgICB0bXAgPSBkb19jb252ZXJzaW9uKGZpZWxkb2JqLCBjb252ZXJzaW9uKTsKLSAgICAgICAgaWYgKHRtcCA9PSBOVUxMKQorICAgICAgICBpZiAodG1wID09IE5VTEwgfHwgUHlVbmljb2RlX1JFQURZKHRtcCkgPT0gLTEpCiAgICAgICAgICAgICBnb3RvIGRvbmU7CiAKICAgICAgICAgLyogZG8gdGhlIGFzc2lnbm1lbnQsIHRyYW5zZmVycmluZyBvd25lcnNoaXA6IGZpZWxkb2JqID0gdG1wICovCkBAIC05MjEsMjAgKzg1OSwxOSBAQAogICAgIGlmIChmb3JtYXRfc3BlY19uZWVkc19leHBhbmRpbmcpIHsKICAgICAgICAgdG1wID0gYnVpbGRfc3RyaW5nKGZvcm1hdF9zcGVjLCBhcmdzLCBrd2FyZ3MsIHJlY3Vyc2lvbl9kZXB0aC0xLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0b19udW1iZXIpOwotICAgICAgICBpZiAodG1wID09IE5VTEwpCisgICAgICAgIGlmICh0bXAgPT0gTlVMTCB8fCBQeVVuaWNvZGVfUkVBRFkodG1wKSA9PSAtMSkKICAgICAgICAgICAgIGdvdG8gZG9uZTsKIAogICAgICAgICAvKiBub3RlIHRoYXQgaW4gdGhlIGNhc2Ugd2UncmUgZXhwYW5kaW5nIHRoZSBmb3JtYXQgc3RyaW5nLAogICAgICAgICAgICB0bXAgbXVzdCBiZSBrZXB0IGFyb3VuZCB1bnRpbCBhZnRlciB0aGUgY2FsbCB0bwogICAgICAgICAgICByZW5kZXJfZmllbGQuICovCi0gICAgICAgIFN1YlN0cmluZ19pbml0KCZleHBhbmRlZF9mb3JtYXRfc3BlYywKLSAgICAgICAgICAgICAgICAgICAgICAgU1RSSU5HTElCX1NUUih0bXApLCBTVFJJTkdMSUJfTEVOKHRtcCkpOworICAgICAgICBTdWJTdHJpbmdfaW5pdCgmZXhwYW5kZWRfZm9ybWF0X3NwZWMsIHRtcCwgMCwgUHlVbmljb2RlX0dFVF9MRU5HVEgodG1wKSk7CiAgICAgICAgIGFjdHVhbF9mb3JtYXRfc3BlYyA9ICZleHBhbmRlZF9mb3JtYXRfc3BlYzsKICAgICB9CiAgICAgZWxzZQogICAgICAgICBhY3R1YWxfZm9ybWF0X3NwZWMgPSBmb3JtYXRfc3BlYzsKIAotICAgIGlmIChyZW5kZXJfZmllbGQoZmllbGRvYmosIGFjdHVhbF9mb3JtYXRfc3BlYywgb3V0cHV0KSA9PSAwKQorICAgIGlmIChyZW5kZXJfZmllbGQoZmllbGRvYmosIGFjdHVhbF9mb3JtYXRfc3BlYywgYWNjKSA9PSAwKQogICAgICAgICBnb3RvIGRvbmU7CiAKICAgICByZXN1bHQgPSAxOwpAQCAtOTU0LDcgKzg5MSw3IEBACiAqLwogc3RhdGljIGludAogZG9fbWFya3VwKFN1YlN0cmluZyAqaW5wdXQsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dhcmdzLAotICAgICAgICAgIE91dHB1dFN0cmluZyAqb3V0cHV0LCBpbnQgcmVjdXJzaW9uX2RlcHRoLCBBdXRvTnVtYmVyICphdXRvX251bWJlcikKKyAgICAgICAgICBfUHlBY2N1ICphY2MsIGludCByZWN1cnNpb25fZGVwdGgsIEF1dG9OdW1iZXIgKmF1dG9fbnVtYmVyKQogewogICAgIE1hcmt1cEl0ZXJhdG9yIGl0ZXI7CiAgICAgaW50IGZvcm1hdF9zcGVjX25lZWRzX2V4cGFuZGluZzsKQEAgLTk2MywxOCArOTAwLDE4IEBACiAgICAgU3ViU3RyaW5nIGxpdGVyYWw7CiAgICAgU3ViU3RyaW5nIGZpZWxkX25hbWU7CiAgICAgU3ViU3RyaW5nIGZvcm1hdF9zcGVjOwotICAgIFNUUklOR0xJQl9DSEFSIGNvbnZlcnNpb247CisgICAgUHlfVUNTNCBjb252ZXJzaW9uOwogCi0gICAgTWFya3VwSXRlcmF0b3JfaW5pdCgmaXRlciwgaW5wdXQtPnB0ciwgaW5wdXQtPmVuZCAtIGlucHV0LT5wdHIpOworICAgIE1hcmt1cEl0ZXJhdG9yX2luaXQoJml0ZXIsIGlucHV0LT5zdHIsIGlucHV0LT5zdGFydCwgaW5wdXQtPmVuZCk7CiAgICAgd2hpbGUgKChyZXN1bHQgPSBNYXJrdXBJdGVyYXRvcl9uZXh0KCZpdGVyLCAmbGl0ZXJhbCwgJmZpZWxkX3ByZXNlbnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZmaWVsZF9uYW1lLCAmZm9ybWF0X3NwZWMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZjb252ZXJzaW9uLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZm9ybWF0X3NwZWNfbmVlZHNfZXhwYW5kaW5nKSkgPT0gMikgewotICAgICAgICBpZiAoIW91dHB1dF9kYXRhKG91dHB1dCwgbGl0ZXJhbC5wdHIsIGxpdGVyYWwuZW5kIC0gbGl0ZXJhbC5wdHIpKQorICAgICAgICBpZiAoIW91dHB1dF9kYXRhKGFjYywgbGl0ZXJhbC5zdHIsIGxpdGVyYWwuc3RhcnQsIGxpdGVyYWwuZW5kKSkKICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICBpZiAoZmllbGRfcHJlc2VudCkKICAgICAgICAgICAgIGlmICghb3V0cHV0X21hcmt1cCgmZmllbGRfbmFtZSwgJmZvcm1hdF9zcGVjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1hdF9zcGVjX25lZWRzX2V4cGFuZGluZywgY29udmVyc2lvbiwgb3V0cHV0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1hdF9zcGVjX25lZWRzX2V4cGFuZGluZywgY29udmVyc2lvbiwgYWNjLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyZ3MsIGt3YXJncywgcmVjdXJzaW9uX2RlcHRoLCBhdXRvX251bWJlcikpCiAgICAgICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQpAQCAtOTkwLDQzICs5MjcsMjUgQEAKIGJ1aWxkX3N0cmluZyhTdWJTdHJpbmcgKmlucHV0LCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3YXJncywKICAgICAgICAgICAgICBpbnQgcmVjdXJzaW9uX2RlcHRoLCBBdXRvTnVtYmVyICphdXRvX251bWJlcikKIHsKLSAgICBPdXRwdXRTdHJpbmcgb3V0cHV0OwotICAgIFB5T2JqZWN0ICpyZXN1bHQgPSBOVUxMOwotICAgIFB5X3NzaXplX3QgY291bnQ7Ci0KLSAgICBvdXRwdXQub2JqID0gTlVMTDsgLyogbmVlZGVkIHNvIGNsZWFudXAgY29kZSBhbHdheXMgd29ya3MgKi8KKyAgICBfUHlBY2N1IGFjYzsKIAogICAgIC8qIGNoZWNrIHRoZSByZWN1cnNpb24gbGV2ZWwgKi8KICAgICBpZiAocmVjdXJzaW9uX2RlcHRoIDw9IDApIHsKICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsCiAgICAgICAgICAgICAgICAgICAgICAgICAiTWF4IHN0cmluZyByZWN1cnNpb24gZXhjZWVkZWQiKTsKLSAgICAgICAgZ290byBkb25lOworICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAKLSAgICAvKiBpbml0aWFsIHNpemUgaXMgdGhlIGxlbmd0aCBvZiB0aGUgZm9ybWF0IHN0cmluZywgcGx1cyB0aGUgc2l6ZQotICAgICAgIGluY3JlbWVudC4gIHNlZW1zIGxpa2UgYSByZWFzb25hYmxlIGRlZmF1bHQgKi8KLSAgICBpZiAoIW91dHB1dF9pbml0aWFsaXplKCZvdXRwdXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBpbnB1dC0+ZW5kIC0gaW5wdXQtPnB0ciArCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBJTklUSUFMX1NJWkVfSU5DUkVNRU5UKSkKLSAgICAgICAgZ290byBkb25lOworICAgIGlmIChfUHlBY2N1X0luaXQoJmFjYykpCisgICAgICAgIHJldHVybiBOVUxMOwogCi0gICAgaWYgKCFkb19tYXJrdXAoaW5wdXQsIGFyZ3MsIGt3YXJncywgJm91dHB1dCwgcmVjdXJzaW9uX2RlcHRoLAorICAgIGlmICghZG9fbWFya3VwKGlucHV0LCBhcmdzLCBrd2FyZ3MsICZhY2MsIHJlY3Vyc2lvbl9kZXB0aCwKICAgICAgICAgICAgICAgICAgICBhdXRvX251bWJlcikpIHsKLSAgICAgICAgZ290byBkb25lOworICAgICAgICBfUHlBY2N1X0Rlc3Ryb3koJmFjYyk7CisgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KIAotICAgIGNvdW50ID0gb3V0cHV0LnB0ciAtIFNUUklOR0xJQl9TVFIob3V0cHV0Lm9iaik7Ci0gICAgaWYgKFNUUklOR0xJQl9SRVNJWkUoJm91dHB1dC5vYmosIGNvdW50KSA8IDApIHsKLSAgICAgICAgZ290byBkb25lOwotICAgIH0KLQotICAgIC8qIHRyYW5zZmVyIG93bmVyc2hpcCB0byByZXN1bHQgKi8KLSAgICByZXN1bHQgPSBvdXRwdXQub2JqOwotICAgIG91dHB1dC5vYmogPSBOVUxMOwotCi1kb25lOgotICAgIFB5X1hERUNSRUYob3V0cHV0Lm9iaik7Ci0gICAgcmV0dXJuIHJlc3VsdDsKKyAgICByZXR1cm4gX1B5QWNjdV9GaW5pc2goJmFjYyk7CiB9CiAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCkBAIC0xMDQ3LDggKzk2NiwxMSBAQAogCiAgICAgQXV0b051bWJlciBhdXRvX251bWJlcjsKIAorICAgIGlmIChQeVVuaWNvZGVfUkVBRFkoc2VsZikgPT0gLTEpCisgICAgICAgIHJldHVybiBOVUxMOworCiAgICAgQXV0b051bWJlcl9Jbml0KCZhdXRvX251bWJlcik7Ci0gICAgU3ViU3RyaW5nX2luaXQoJmlucHV0LCBTVFJJTkdMSUJfU1RSKHNlbGYpLCBTVFJJTkdMSUJfTEVOKHNlbGYpKTsKKyAgICBTdWJTdHJpbmdfaW5pdCgmaW5wdXQsIHNlbGYsIDAsIFB5VW5pY29kZV9HRVRfTEVOR1RIKHNlbGYpKTsKICAgICByZXR1cm4gYnVpbGRfc3RyaW5nKCZpbnB1dCwgYXJncywga3dhcmdzLCByZWN1cnNpb25fZGVwdGgsICZhdXRvX251bWJlcik7CiB9CiAKQEAgLTEwNzAsOSArOTkyLDcgQEAKIAogdHlwZWRlZiBzdHJ1Y3QgewogICAgIFB5T2JqZWN0X0hFQUQKLQotICAgIFNUUklOR0xJQl9PQkpFQ1QgKnN0cjsKLQorICAgIFB5T2JqZWN0ICpzdHI7CiAgICAgTWFya3VwSXRlcmF0b3IgaXRfbWFya3VwOwogfSBmb3JtYXR0ZXJpdGVyb2JqZWN0OwogCkBAIC0xMDk3LDcgKzEwMTcsNyBAQAogICAgIFN1YlN0cmluZyBsaXRlcmFsOwogICAgIFN1YlN0cmluZyBmaWVsZF9uYW1lOwogICAgIFN1YlN0cmluZyBmb3JtYXRfc3BlYzsKLSAgICBTVFJJTkdMSUJfQ0hBUiBjb252ZXJzaW9uOworICAgIFB5X1VDUzQgY29udmVyc2lvbjsKICAgICBpbnQgZm9ybWF0X3NwZWNfbmVlZHNfZXhwYW5kaW5nOwogICAgIGludCBmaWVsZF9wcmVzZW50OwogICAgIGludCByZXN1bHQgPSBNYXJrdXBJdGVyYXRvcl9uZXh0KCZpdC0+aXRfbWFya3VwLCAmbGl0ZXJhbCwgJmZpZWxkX3ByZXNlbnQsCkBAIC0xMTQxLDcgKzEwNjEsOCBAQAogICAgICAgICAgICAgUHlfSU5DUkVGKGNvbnZlcnNpb25fc3RyKTsKICAgICAgICAgfQogICAgICAgICBlbHNlCi0gICAgICAgICAgICBjb252ZXJzaW9uX3N0ciA9IFNUUklOR0xJQl9ORVcoJmNvbnZlcnNpb24sIDEpOworICAgICAgICAgICAgY29udmVyc2lvbl9zdHIgPSBQeVVuaWNvZGVfRnJvbUtpbmRBbmREYXRhKFB5VW5pY29kZV80QllURV9LSU5ELAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZjb252ZXJzaW9uLCAxKTsKICAgICAgICAgaWYgKGNvbnZlcnNpb25fc3RyID09IE5VTEwpCiAgICAgICAgICAgICBnb3RvIGRvbmU7CiAKQEAgLTExOTgsNyArMTExOSw3IEBACiAgICBkZXNjcmliaW5nIHRoZSBwYXJzZWQgZWxlbWVudHMuICBJdCdzIGEgd3JhcHBlciBhcm91bmQKICAgIHN0cmluZ2xpYi9zdHJpbmdfZm9ybWF0LmgncyBNYXJrdXBJdGVyYXRvciAqLwogc3RhdGljIFB5T2JqZWN0ICoKLWZvcm1hdHRlcl9wYXJzZXIoUHlPYmplY3QgKmlnbm9yZWQsIFNUUklOR0xJQl9PQkpFQ1QgKnNlbGYpCitmb3JtYXR0ZXJfcGFyc2VyKFB5T2JqZWN0ICppZ25vcmVkLCBQeU9iamVjdCAqc2VsZikKIHsKICAgICBmb3JtYXR0ZXJpdGVyb2JqZWN0ICppdDsKIApAQCAtMTIwNyw2ICsxMTI4LDkgQEAKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogCisgICAgaWYgKFB5VW5pY29kZV9SRUFEWShzZWxmKSA9PSAtMSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKICAgICBpdCA9IFB5T2JqZWN0X05ldyhmb3JtYXR0ZXJpdGVyb2JqZWN0LCAmUHlGb3JtYXR0ZXJJdGVyX1R5cGUpOwogICAgIGlmIChpdCA9PSBOVUxMKQogICAgICAgICByZXR1cm4gTlVMTDsKQEAgLTEyMTYsMTAgKzExNDAsNyBAQAogICAgIGl0LT5zdHIgPSBzZWxmOwogCiAgICAgLyogaW5pdGlhbGl6ZSB0aGUgY29udGFpbmVkIE1hcmt1cEl0ZXJhdG9yICovCi0gICAgTWFya3VwSXRlcmF0b3JfaW5pdCgmaXQtPml0X21hcmt1cCwKLSAgICAgICAgICAgICAgICAgICAgICAgIFNUUklOR0xJQl9TVFIoc2VsZiksCi0gICAgICAgICAgICAgICAgICAgICAgICBTVFJJTkdMSUJfTEVOKHNlbGYpKTsKLQorICAgIE1hcmt1cEl0ZXJhdG9yX2luaXQoJml0LT5pdF9tYXJrdXAsIChQeU9iamVjdCopc2VsZiwgMCwgUHlVbmljb2RlX0dFVF9MRU5HVEgoc2VsZikpOwogICAgIHJldHVybiAoUHlPYmplY3QgKilpdDsKIH0KIApAQCAtMTIzNSw5ICsxMTU2LDcgQEAKIAogdHlwZWRlZiBzdHJ1Y3QgewogICAgIFB5T2JqZWN0X0hFQUQKLQotICAgIFNUUklOR0xJQl9PQkpFQ1QgKnN0cjsKLQorICAgIFB5T2JqZWN0ICpzdHI7CiAgICAgRmllbGROYW1lSXRlcmF0b3IgaXRfZmllbGQ7CiB9IGZpZWxkbmFtZWl0ZXJvYmplY3Q7CiAKQEAgLTEzMzgsNyArMTI1Nyw3IEBACiAgICBmaWVsZF9uYW1lX3NwbGl0LiAgVGhlIGl0ZXJhdG9yIGl0IHJldHVybnMgaXMgYQogICAgRmllbGROYW1lSXRlcmF0b3IgKi8KIHN0YXRpYyBQeU9iamVjdCAqCi1mb3JtYXR0ZXJfZmllbGRfbmFtZV9zcGxpdChQeU9iamVjdCAqaWdub3JlZCwgU1RSSU5HTElCX09CSkVDVCAqc2VsZikKK2Zvcm1hdHRlcl9maWVsZF9uYW1lX3NwbGl0KFB5T2JqZWN0ICppZ25vcmVkLCBQeU9iamVjdCAqc2VsZikKIHsKICAgICBTdWJTdHJpbmcgZmlyc3Q7CiAgICAgUHlfc3NpemVfdCBmaXJzdF9pZHg7CkBAIC0xMzUyLDYgKzEyNzEsOSBAQAogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAKKyAgICBpZiAoUHlVbmljb2RlX1JFQURZKHNlbGYpID09IC0xKQorICAgICAgICByZXR1cm4gTlVMTDsKKwogICAgIGl0ID0gUHlPYmplY3RfTmV3KGZpZWxkbmFtZWl0ZXJvYmplY3QsICZQeUZpZWxkTmFtZUl0ZXJfVHlwZSk7CiAgICAgaWYgKGl0ID09IE5VTEwpCiAgICAgICAgIHJldHVybiBOVUxMOwpAQCAtMTM2Myw4ICsxMjg1LDcgQEAKIAogICAgIC8qIFBhc3MgaW4gYXV0b19udW1iZXIgPSBOVUxMLiBXZSdsbCByZXR1cm4gYW4gZW1wdHkgc3RyaW5nIGZvcgogICAgICAgIGZpcnN0X29iaiBpbiB0aGF0IGNhc2UuICovCi0gICAgaWYgKCFmaWVsZF9uYW1lX3NwbGl0KFNUUklOR0xJQl9TVFIoc2VsZiksCi0gICAgICAgICAgICAgICAgICAgICAgICAgIFNUUklOR0xJQl9MRU4oc2VsZiksCisgICAgaWYgKCFmaWVsZF9uYW1lX3NwbGl0KChQeU9iamVjdCopc2VsZiwgMCwgUHlVbmljb2RlX0dFVF9MRU5HVEgoc2VsZiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICZmaXJzdCwgJmZpcnN0X2lkeCwgJml0LT5pdF9maWVsZCwgTlVMTCkpCiAgICAgICAgIGdvdG8gZG9uZTsKIApkaWZmIC0tZ2l0IGEvT2JqZWN0cy9zdHJpbmdsaWIvdW5pY29kZWRlZnMuaCBiL09iamVjdHMvc3RyaW5nbGliL3VuaWNvZGVkZWZzLmgKaW5kZXggMDlkYWU2ZC4uZjE2ZjIxZSAxMDA2NDQKLS0tIGEvT2JqZWN0cy9zdHJpbmdsaWIvdW5pY29kZWRlZnMuaAorKysgYi9PYmplY3RzL3N0cmluZ2xpYi91bmljb2RlZGVmcy5oCkBAIC02LDcgKzYsMTAgQEAKICAgIGNvbXBpbGVkIGFzIHVuaWNvZGUuICovCiAjZGVmaW5lIFNUUklOR0xJQl9JU19VTklDT0RFICAgICAxCiAKKyNkZWZpbmUgRkFTVFNFQVJDSCAgICAgICAgICAgICAgIGZhc3RzZWFyY2gKKyNkZWZpbmUgU1RSSU5HTElCKEYpICAgICAgICAgICAgIHN0cmluZ2xpYl8jI0YKICNkZWZpbmUgU1RSSU5HTElCX09CSkVDVCAgICAgICAgIFB5VW5pY29kZU9iamVjdAorI2RlZmluZSBTVFJJTkdMSUJfU0laRU9GX0NIQVIgICAgUHlfVU5JQ09ERV9TSVpFCiAjZGVmaW5lIFNUUklOR0xJQl9DSEFSICAgICAgICAgICBQeV9VTklDT0RFCiAjZGVmaW5lIFNUUklOR0xJQl9UWVBFX05BTUUgICAgICAidW5pY29kZSIKICNkZWZpbmUgU1RSSU5HTElCX1BBUlNFX0NPREUgICAgICJVIgpAQCAtMTUsMTcgKzE4LDEyIEBACiAjZGVmaW5lIFNUUklOR0xJQl9JU0xJTkVCUkVBSyAgICBCTE9PTV9MSU5FQlJFQUsKICNkZWZpbmUgU1RSSU5HTElCX0lTREVDSU1BTCAgICAgIFB5X1VOSUNPREVfSVNERUNJTUFMCiAjZGVmaW5lIFNUUklOR0xJQl9UT0RFQ0lNQUwgICAgICBQeV9VTklDT0RFX1RPREVDSU1BTAotI2RlZmluZSBTVFJJTkdMSUJfVE9VUFBFUiAgICAgICAgUHlfVU5JQ09ERV9UT1VQUEVSCi0jZGVmaW5lIFNUUklOR0xJQl9UT0xPV0VSICAgICAgICBQeV9VTklDT0RFX1RPTE9XRVIKLSNkZWZpbmUgU1RSSU5HTElCX0ZJTEwgICAgICAgICAgIFB5X1VOSUNPREVfRklMTAogI2RlZmluZSBTVFJJTkdMSUJfU1RSICAgICAgICAgICAgUHlVbmljb2RlX0FTX1VOSUNPREUKICNkZWZpbmUgU1RSSU5HTElCX0xFTiAgICAgICAgICAgIFB5VW5pY29kZV9HRVRfU0laRQogI2RlZmluZSBTVFJJTkdMSUJfTkVXICAgICAgICAgICAgUHlVbmljb2RlX0Zyb21Vbmljb2RlCiAjZGVmaW5lIFNUUklOR0xJQl9SRVNJWkUgICAgICAgICBQeVVuaWNvZGVfUmVzaXplCiAjZGVmaW5lIFNUUklOR0xJQl9DSEVDSyAgICAgICAgICBQeVVuaWNvZGVfQ2hlY2sKICNkZWZpbmUgU1RSSU5HTElCX0NIRUNLX0VYQUNUICAgIFB5VW5pY29kZV9DaGVja0V4YWN0Ci0jZGVmaW5lIFNUUklOR0xJQl9HUk9VUElORyAgICAgICBfUHlVbmljb2RlX0luc2VydFRob3VzYW5kc0dyb3VwaW5nCi0jZGVmaW5lIFNUUklOR0xJQl9HUk9VUElOR19MT0NBTEUgX1B5VW5pY29kZV9JbnNlcnRUaG91c2FuZHNHcm91cGluZ0xvY2FsZQogCiAjaWYgUFlfVkVSU0lPTl9IRVggPCAweDAzMDAwMDAwCiAjZGVmaW5lIFNUUklOR0xJQl9UT1NUUiAgICAgICAgICBQeU9iamVjdF9Vbmljb2RlCmRpZmYgLS1naXQgYS9PYmplY3RzL3R1cGxlb2JqZWN0LmMgYi9PYmplY3RzL3R1cGxlb2JqZWN0LmMKaW5kZXggZjZkYmMzMS4uZDU4ODM5ZSAxMDA2NDQKLS0tIGEvT2JqZWN0cy90dXBsZW9iamVjdC5jCisrKyBiL09iamVjdHMvdHVwbGVvYmplY3QuYwpAQCAtODYsNyArODYsNyBAQAogICAgICAgICB7CiAgICAgICAgICAgICByZXR1cm4gUHlFcnJfTm9NZW1vcnkoKTsKICAgICAgICAgfQotICAgICAgICBuYnl0ZXMgKz0gc2l6ZW9mKFB5VHVwbGVPYmplY3QpIC0gc2l6ZW9mKFB5T2JqZWN0ICopOworICAgICAgICAvKiBuYnl0ZXMgKz0gc2l6ZW9mKFB5VHVwbGVPYmplY3QpIC0gc2l6ZW9mKFB5T2JqZWN0ICopOyAqLwogCiAgICAgICAgIG9wID0gUHlPYmplY3RfR0NfTmV3VmFyKFB5VHVwbGVPYmplY3QsICZQeVR1cGxlX1R5cGUsIHNpemUpOwogICAgICAgICBpZiAob3AgPT0gTlVMTCkKQEAgLTMxMiwxMSArMzEyLDEyIEBACiBzdGF0aWMgUHlfaGFzaF90CiB0dXBsZWhhc2goUHlUdXBsZU9iamVjdCAqdikKIHsKLSAgICByZWdpc3RlciBQeV9oYXNoX3QgeCwgeTsKKyAgICByZWdpc3RlciBQeV91aGFzaF90IHg7CisgICAgcmVnaXN0ZXIgUHlfaGFzaF90IHk7CiAgICAgcmVnaXN0ZXIgUHlfc3NpemVfdCBsZW4gPSBQeV9TSVpFKHYpOwogICAgIHJlZ2lzdGVyIFB5T2JqZWN0ICoqcDsKLSAgICBQeV9oYXNoX3QgbXVsdCA9IF9QeUhBU0hfTVVMVElQTElFUjsKLSAgICB4ID0gMHgzNDU2NzhMOworICAgIFB5X3VoYXNoX3QgbXVsdCA9IF9QeUhBU0hfTVVMVElQTElFUjsKKyAgICB4ID0gMHgzNDU2Nzg7CiAgICAgcCA9IHYtPm9iX2l0ZW07CiAgICAgd2hpbGUgKC0tbGVuID49IDApIHsKICAgICAgICAgeSA9IFB5T2JqZWN0X0hhc2goKnArKyk7CkBAIC0zMjcsNyArMzI4LDcgQEAKICAgICAgICAgbXVsdCArPSAoUHlfaGFzaF90KSg4MjUyMEwgKyBsZW4gKyBsZW4pOwogICAgIH0KICAgICB4ICs9IDk3NTMxTDsKLSAgICBpZiAoeCA9PSAtMSkKKyAgICBpZiAoeCA9PSAoUHlfdWhhc2hfdCktMSkKICAgICAgICAgeCA9IC0yOwogICAgIHJldHVybiB4OwogfQpAQCAtNTQzLDEwICs1NDQsOCBAQAogICAgIFB5X3NzaXplX3QgaTsKICAgICBQeV9zc2l6ZV90IHZsZW4sIHdsZW47CiAKLSAgICBpZiAoIVB5VHVwbGVfQ2hlY2sodikgfHwgIVB5VHVwbGVfQ2hlY2sodykpIHsKLSAgICAgICAgUHlfSU5DUkVGKFB5X05vdEltcGxlbWVudGVkKTsKLSAgICAgICAgcmV0dXJuIFB5X05vdEltcGxlbWVudGVkOwotICAgIH0KKyAgICBpZiAoIVB5VHVwbGVfQ2hlY2sodikgfHwgIVB5VHVwbGVfQ2hlY2sodykpCisgICAgICAgIFB5X1JFVFVSTl9OT1RJTVBMRU1FTlRFRDsKIAogICAgIHZ0ID0gKFB5VHVwbGVPYmplY3QgKil2OwogICAgIHd0ID0gKFB5VHVwbGVPYmplY3QgKil3OwpkaWZmIC0tZ2l0IGEvT2JqZWN0cy90eXBlb2JqZWN0LmMgYi9PYmplY3RzL3R5cGVvYmplY3QuYwppbmRleCBmMGM3ODdmLi41ZmJkN2NiIDEwMDY0NAotLS0gYS9PYmplY3RzL3R5cGVvYmplY3QuYworKysgYi9PYmplY3RzL3R5cGVvYmplY3QuYwpAQCAtMjAsMTAgKzIwLDExIEBACiAgICAgICAgICA+PiAoOCpzaXplb2YodW5zaWduZWQgaW50KSAtIE1DQUNIRV9TSVpFX0VYUCkpCiAjZGVmaW5lIE1DQUNIRV9IQVNIX01FVEhPRCh0eXBlLCBuYW1lKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgIE1DQUNIRV9IQVNIKCh0eXBlKS0+dHBfdmVyc2lvbl90YWcsICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAoKFB5VW5pY29kZU9iamVjdCAqKShuYW1lKSktPmhhc2gpCisgICAgICAgICAgICAgICAgICAgICgoUHlBU0NJSU9iamVjdCAqKShuYW1lKSktPmhhc2gpCiAjZGVmaW5lIE1DQUNIRV9DQUNIRUFCTEVfTkFNRShuYW1lKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgIFB5VW5pY29kZV9DaGVja0V4YWN0KG5hbWUpICYmICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgUHlVbmljb2RlX0dFVF9TSVpFKG5hbWUpIDw9IE1DQUNIRV9NQVhfQVRUUl9TSVpFCisgICAgICAgIFB5VW5pY29kZV9SRUFEWShuYW1lKSAhPSAtMSAmJiAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIFB5VW5pY29kZV9HRVRfTEVOR1RIKG5hbWUpIDw9IE1DQUNIRV9NQVhfQVRUUl9TSVpFCiAKIHN0cnVjdCBtZXRob2RfY2FjaGVfZW50cnkgewogICAgIHVuc2lnbmVkIGludCB2ZXJzaW9uOwpAQCAtMzQsNiArMzUsOSBAQAogc3RhdGljIHN0cnVjdCBtZXRob2RfY2FjaGVfZW50cnkgbWV0aG9kX2NhY2hlWzEgPDwgTUNBQ0hFX1NJWkVfRVhQXTsKIHN0YXRpYyB1bnNpZ25lZCBpbnQgbmV4dF92ZXJzaW9uX3RhZyA9IDA7CiAKK19QeV9JREVOVElGSUVSKF9fZGljdF9fKTsKK19QeV9JREVOVElGSUVSKF9fY2xhc3NfXyk7CisKIHVuc2lnbmVkIGludAogUHlUeXBlX0NsZWFyQ2FjaGUodm9pZCkKIHsKQEAgLTk2LDE1ICsxMDAsMTMgQEAKIHN0YXRpYyB2b2lkCiB0eXBlX21yb19tb2RpZmllZChQeVR5cGVPYmplY3QgKnR5cGUsIFB5T2JqZWN0ICpiYXNlcykgewogICAgIC8qCi0gICAgICAgQ2hlY2sgdGhhdCBhbGwgYmFzZSBjbGFzc2VzIG9yIGVsZW1lbnRzIG9mIHRoZSBtcm8gb2YgdHlwZSBhcmUKKyAgICAgICBDaGVjayB0aGF0IGFsbCBiYXNlIGNsYXNzZXMgb3IgZWxlbWVudHMgb2YgdGhlIE1STyBvZiB0eXBlIGFyZQogICAgICAgIGFibGUgdG8gYmUgY2FjaGVkLiAgVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgYWZ0ZXIgdGhlIGJhc2UKICAgICAgICBjbGFzc2VzIG9yIG1ybyBvZiB0aGUgdHlwZSBhcmUgYWx0ZXJlZC4KIAogICAgICAgIFVuc2V0IEhBVkVfVkVSU0lPTl9UQUcgYW5kIFZBTElEX1ZFUlNJT05fVEFHIGlmIHRoZSB0eXBlCi0gICAgICAgaW5oZXJpdHMgZnJvbSBhbiBvbGQtc3R5bGUgY2xhc3MsIGVpdGhlciBkaXJlY3RseSBvciBpZiBpdAotICAgICAgIGFwcGVhcnMgaW4gdGhlIE1STyBvZiBhIG5ldy1zdHlsZSBjbGFzcy4gIE5vIHN1cHBvcnQgZWl0aGVyIGZvcgotICAgICAgIGN1c3RvbSBNUk9zIHRoYXQgaW5jbHVkZSB0eXBlcyB0aGF0IGFyZSBub3Qgb2ZmaWNpYWxseSBzdXBlcgotICAgICAgIHR5cGVzLgorICAgICAgIGhhcyBhIGN1c3RvbSBNUk8gdGhhdCBpbmNsdWRlcyBhIHR5cGUgd2hpY2ggaXMgbm90IG9mZmljaWFsbHkKKyAgICAgICBzdXBlciB0eXBlLgogCiAgICAgICAgQ2FsbGVkIGZyb20gbXJvX2ludGVybmFsLCB3aGljaCB3aWxsIHN1YnNlcXVlbnRseSBiZSBjYWxsZWQgb24KICAgICAgICBlYWNoIHN1YmNsYXNzIHdoZW4gdGhlaXIgbXJvIGlzIHJlY3Vyc2l2ZWx5IHVwZGF0ZWQuCkBAIC0xMjAsMTEgKzEyMiw3IEBACiAgICAgICAgIFB5T2JqZWN0ICpiID0gUHlUdXBsZV9HRVRfSVRFTShiYXNlcywgaSk7CiAgICAgICAgIFB5VHlwZU9iamVjdCAqY2xzOwogCi0gICAgICAgIGlmICghUHlUeXBlX0NoZWNrKGIpICkgewotICAgICAgICAgICAgY2xlYXIgPSAxOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLQorICAgICAgICBhc3NlcnQoUHlUeXBlX0NoZWNrKGIpKTsKICAgICAgICAgY2xzID0gKFB5VHlwZU9iamVjdCAqKWI7CiAKICAgICAgICAgaWYgKCFQeVR5cGVfSGFzRmVhdHVyZShjbHMsIFB5X1RQRkxBR1NfSEFWRV9WRVJTSU9OX1RBRykgfHwKQEAgLTIwMSw2ICsxOTksMjIgQEAKICAgICB7MH0KIH07CiAKK3N0YXRpYyBpbnQKK2NoZWNrX3NldF9zcGVjaWFsX3R5cGVfYXR0cihQeVR5cGVPYmplY3QgKnR5cGUsIFB5T2JqZWN0ICp2YWx1ZSwgY29uc3QgY2hhciAqbmFtZSkKK3sKKyAgICBpZiAoISh0eXBlLT50cF9mbGFncyAmIFB5X1RQRkxBR1NfSEVBUFRZUEUpKSB7CisgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAiY2FuJ3Qgc2V0ICVzLiVzIiwgdHlwZS0+dHBfbmFtZSwgbmFtZSk7CisgICAgICAgIHJldHVybiAwOworICAgIH0KKyAgICBpZiAoIXZhbHVlKSB7CisgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAiY2FuJ3QgZGVsZXRlICVzLiVzIiwgdHlwZS0+dHBfbmFtZSwgbmFtZSk7CisgICAgICAgIHJldHVybiAwOworICAgIH0KKyAgICByZXR1cm4gMTsKK30KKwogc3RhdGljIFB5T2JqZWN0ICoKIHR5cGVfbmFtZShQeVR5cGVPYmplY3QgKnR5cGUsIHZvaWQgKmNvbnRleHQpCiB7CkBAIC0yMjIsNiArMjM2LDE5IEBACiAgICAgfQogfQogCitzdGF0aWMgUHlPYmplY3QgKgordHlwZV9xdWFsbmFtZShQeVR5cGVPYmplY3QgKnR5cGUsIHZvaWQgKmNvbnRleHQpCit7CisgICAgaWYgKHR5cGUtPnRwX2ZsYWdzICYgUHlfVFBGTEFHU19IRUFQVFlQRSkgeworICAgICAgICBQeUhlYXBUeXBlT2JqZWN0KiBldCA9IChQeUhlYXBUeXBlT2JqZWN0Kil0eXBlOworICAgICAgICBQeV9JTkNSRUYoZXQtPmh0X3F1YWxuYW1lKTsKKyAgICAgICAgcmV0dXJuIGV0LT5odF9xdWFsbmFtZTsKKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIHJldHVybiB0eXBlX25hbWUodHlwZSwgY29udGV4dCk7CisgICAgfQorfQorCiBzdGF0aWMgaW50CiB0eXBlX3NldF9uYW1lKFB5VHlwZU9iamVjdCAqdHlwZSwgUHlPYmplY3QgKnZhbHVlLCB2b2lkICpjb250ZXh0KQogewpAQCAtMjI5LDE2ICsyNTYsOCBAQAogICAgIGNoYXIgKnRwX25hbWU7CiAgICAgUHlPYmplY3QgKnRtcDsKIAotICAgIGlmICghKHR5cGUtPnRwX2ZsYWdzICYgUHlfVFBGTEFHU19IRUFQVFlQRSkpIHsKLSAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1R5cGVFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICJjYW4ndCBzZXQgJXMuX19uYW1lX18iLCB0eXBlLT50cF9uYW1lKTsKKyAgICBpZiAoIWNoZWNrX3NldF9zcGVjaWFsX3R5cGVfYXR0cih0eXBlLCB2YWx1ZSwgIl9fbmFtZV9fIikpCiAgICAgICAgIHJldHVybiAtMTsKLSAgICB9Ci0gICAgaWYgKCF2YWx1ZSkgewotICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLAotICAgICAgICAgICAgICAgICAgICAgImNhbid0IGRlbGV0ZSAlcy5fX25hbWVfXyIsIHR5cGUtPnRwX25hbWUpOwotICAgICAgICByZXR1cm4gLTE7Ci0gICAgfQogICAgIGlmICghUHlVbmljb2RlX0NoZWNrKHZhbHVlKSkgewogICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLAogICAgICAgICAgICAgICAgICAgICAgImNhbiBvbmx5IGFzc2lnbiBzdHJpbmcgdG8gJXMuX19uYW1lX18sIG5vdCAnJXMnIiwKQEAgLTI3NCw2ICsyOTMsMjUgQEAKICAgICByZXR1cm4gMDsKIH0KIAorc3RhdGljIGludAordHlwZV9zZXRfcXVhbG5hbWUoUHlUeXBlT2JqZWN0ICp0eXBlLCBQeU9iamVjdCAqdmFsdWUsIHZvaWQgKmNvbnRleHQpCit7CisgICAgUHlIZWFwVHlwZU9iamVjdCogZXQ7CisKKyAgICBpZiAoIVB5VW5pY29kZV9DaGVjayh2YWx1ZSkpIHsKKyAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1R5cGVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICJjYW4gb25seSBhc3NpZ24gc3RyaW5nIHRvICVzLl9fcXVhbG5hbWVfXywgbm90ICclcyciLAorICAgICAgICAgICAgICAgICAgICAgdHlwZS0+dHBfbmFtZSwgUHlfVFlQRSh2YWx1ZSktPnRwX25hbWUpOworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorCisgICAgZXQgPSAoUHlIZWFwVHlwZU9iamVjdCopdHlwZTsKKyAgICBQeV9JTkNSRUYodmFsdWUpOworICAgIFB5X0RFQ1JFRihldC0+aHRfcXVhbG5hbWUpOworICAgIGV0LT5odF9xdWFsbmFtZSA9IHZhbHVlOworICAgIHJldHVybiAwOworfQorCiBzdGF0aWMgUHlPYmplY3QgKgogdHlwZV9tb2R1bGUoUHlUeXBlT2JqZWN0ICp0eXBlLCB2b2lkICpjb250ZXh0KQogewpAQCAtMzAxLDE2ICszMzksOCBAQAogc3RhdGljIGludAogdHlwZV9zZXRfbW9kdWxlKFB5VHlwZU9iamVjdCAqdHlwZSwgUHlPYmplY3QgKnZhbHVlLCB2b2lkICpjb250ZXh0KQogewotICAgIGlmICghKHR5cGUtPnRwX2ZsYWdzICYgUHlfVFBGTEFHU19IRUFQVFlQRSkpIHsKLSAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1R5cGVFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICJjYW4ndCBzZXQgJXMuX19tb2R1bGVfXyIsIHR5cGUtPnRwX25hbWUpOworICAgIGlmICghY2hlY2tfc2V0X3NwZWNpYWxfdHlwZV9hdHRyKHR5cGUsIHZhbHVlLCAiX19tb2R1bGVfXyIpKQogICAgICAgICByZXR1cm4gLTE7Ci0gICAgfQotICAgIGlmICghdmFsdWUpIHsKLSAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1R5cGVFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICJjYW4ndCBkZWxldGUgJXMuX19tb2R1bGVfXyIsIHR5cGUtPnRwX25hbWUpOwotICAgICAgICByZXR1cm4gLTE7Ci0gICAgfQogCiAgICAgUHlUeXBlX01vZGlmaWVkKHR5cGUpOwogCkBAIC00MzMsMTYgKzQ2Myw4IEBACiAgICAgUHlUeXBlT2JqZWN0ICpuZXdfYmFzZSwgKm9sZF9iYXNlOwogICAgIFB5T2JqZWN0ICpvbGRfYmFzZXMsICpvbGRfbXJvOwogCi0gICAgaWYgKCEodHlwZS0+dHBfZmxhZ3MgJiBQeV9UUEZMQUdTX0hFQVBUWVBFKSkgewotICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLAotICAgICAgICAgICAgICAgICAgICAgImNhbid0IHNldCAlcy5fX2Jhc2VzX18iLCB0eXBlLT50cF9uYW1lKTsKKyAgICBpZiAoIWNoZWNrX3NldF9zcGVjaWFsX3R5cGVfYXR0cih0eXBlLCB2YWx1ZSwgIl9fYmFzZXNfXyIpKQogICAgICAgICByZXR1cm4gLTE7Ci0gICAgfQotICAgIGlmICghdmFsdWUpIHsKLSAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1R5cGVFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICJjYW4ndCBkZWxldGUgJXMuX19iYXNlc19fIiwgdHlwZS0+dHBfbmFtZSk7Ci0gICAgICAgIHJldHVybiAtMTsKLSAgICB9CiAgICAgaWYgKCFQeVR1cGxlX0NoZWNrKHZhbHVlKSkgewogICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLAogICAgICAgICAgICAgICJjYW4gb25seSBhc3NpZ24gdHVwbGUgdG8gJXMuX19iYXNlc19fLCBub3QgJXMiLApAQCAtNDYwLDcgKzQ4Miw3IEBACiAgICAgICAgIGlmICghUHlUeXBlX0NoZWNrKG9iKSkgewogICAgICAgICAgICAgUHlFcnJfRm9ybWF0KAogICAgICAgICAgICAgICAgIFB5RXhjX1R5cGVFcnJvciwKLSAgICAiJXMuX19iYXNlc19fIG11c3QgYmUgdHVwbGUgb2Ygb2xkLSBvciBuZXctc3R5bGUgY2xhc3Nlcywgbm90ICclcyciLAorICAgICIlcy5fX2Jhc2VzX18gbXVzdCBiZSB0dXBsZSBvZiBjbGFzc2VzLCBub3QgJyVzJyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZS0+dHBfbmFtZSwgUHlfVFlQRShvYiktPnRwX25hbWUpOwogICAgICAgICAgICAgICAgICAgICByZXR1cm4gLTE7CiAgICAgICAgIH0KQEAgLTU5Niw2ICs2MTgsMTUgQEAKICAgICByZXR1cm4gcmVzdWx0OwogfQogCitzdGF0aWMgaW50Cit0eXBlX3NldF9kb2MoUHlUeXBlT2JqZWN0ICp0eXBlLCBQeU9iamVjdCAqdmFsdWUsIHZvaWQgKmNvbnRleHQpCit7CisgICAgaWYgKCFjaGVja19zZXRfc3BlY2lhbF90eXBlX2F0dHIodHlwZSwgdmFsdWUsICJfX2RvY19fIikpCisgICAgICAgIHJldHVybiAtMTsKKyAgICBQeVR5cGVfTW9kaWZpZWQodHlwZSk7CisgICAgcmV0dXJuIFB5RGljdF9TZXRJdGVtU3RyaW5nKHR5cGUtPnRwX2RpY3QsICJfX2RvY19fIiwgdmFsdWUpOworfQorCiBzdGF0aWMgUHlPYmplY3QgKgogdHlwZV9fX2luc3RhbmNlY2hlY2tfXyhQeU9iamVjdCAqdHlwZSwgUHlPYmplY3QgKmluc3QpCiB7CkBAIC02MjYsMTIgKzY1NywxMyBAQAogCiBzdGF0aWMgUHlHZXRTZXREZWYgdHlwZV9nZXRzZXRzW10gPSB7CiAgICAgeyJfX25hbWVfXyIsIChnZXR0ZXIpdHlwZV9uYW1lLCAoc2V0dGVyKXR5cGVfc2V0X25hbWUsIE5VTEx9LAorICAgIHsiX19xdWFsbmFtZV9fIiwgKGdldHRlcil0eXBlX3F1YWxuYW1lLCAoc2V0dGVyKXR5cGVfc2V0X3F1YWxuYW1lLCBOVUxMfSwKICAgICB7Il9fYmFzZXNfXyIsIChnZXR0ZXIpdHlwZV9nZXRfYmFzZXMsIChzZXR0ZXIpdHlwZV9zZXRfYmFzZXMsIE5VTEx9LAogICAgIHsiX19tb2R1bGVfXyIsIChnZXR0ZXIpdHlwZV9tb2R1bGUsIChzZXR0ZXIpdHlwZV9zZXRfbW9kdWxlLCBOVUxMfSwKICAgICB7Il9fYWJzdHJhY3RtZXRob2RzX18iLCAoZ2V0dGVyKXR5cGVfYWJzdHJhY3RtZXRob2RzLAogICAgICAoc2V0dGVyKXR5cGVfc2V0X2Fic3RyYWN0bWV0aG9kcywgTlVMTH0sCiAgICAgeyJfX2RpY3RfXyIsICAoZ2V0dGVyKXR5cGVfZGljdCwgIE5VTEwsIE5VTEx9LAotICAgIHsiX19kb2NfXyIsIChnZXR0ZXIpdHlwZV9nZXRfZG9jLCBOVUxMLCBOVUxMfSwKKyAgICB7Il9fZG9jX18iLCAoZ2V0dGVyKXR5cGVfZ2V0X2RvYywgKHNldHRlcil0eXBlX3NldF9kb2MsIE5VTEx9LAogICAgIHswfQogfTsKIApAQCAtNjQ3LDcgKzY3OSw3IEBACiAgICAgICAgIFB5X0RFQ1JFRihtb2QpOwogICAgICAgICBtb2QgPSBOVUxMOwogICAgIH0KLSAgICBuYW1lID0gdHlwZV9uYW1lKHR5cGUsIE5VTEwpOworICAgIG5hbWUgPSB0eXBlX3F1YWxuYW1lKHR5cGUsIE5VTEwpOwogICAgIGlmIChuYW1lID09IE5VTEwpCiAgICAgICAgIHJldHVybiBOVUxMOwogCkBAIC05MDcsNyArOTM5LDcgQEAKIAogICAgIC8qIEZpbmQgdGhlIG5lYXJlc3QgYmFzZSB3aXRoIGEgZGlmZmVyZW50IHRwX2RlYWxsb2MgKi8KICAgICBiYXNlID0gdHlwZTsKLSAgICB3aGlsZSAoKGJhc2VkZWFsbG9jID0gYmFzZS0+dHBfZGVhbGxvYykgPT0gc3VidHlwZV9kZWFsbG9jKSB7CisgICAgd2hpbGUgKCgvKmJhc2VkZWFsbG9jID0qLyBiYXNlLT50cF9kZWFsbG9jKSA9PSBzdWJ0eXBlX2RlYWxsb2MpIHsKICAgICAgICAgYmFzZSA9IGJhc2UtPnRwX2Jhc2U7CiAgICAgICAgIGFzc2VydChiYXNlKTsKICAgICB9CkBAIC0xMTMwLDE2ICsxMTYyLDE0IEBACiAqLwogCiBzdGF0aWMgUHlPYmplY3QgKgotbG9va3VwX21heWJlKFB5T2JqZWN0ICpzZWxmLCBjaGFyICphdHRyc3RyLCBQeU9iamVjdCAqKmF0dHJvYmopCitsb29rdXBfbWF5YmUoUHlPYmplY3QgKnNlbGYsIF9QeV9JZGVudGlmaWVyICphdHRyaWQpCiB7Ci0gICAgUHlPYmplY3QgKnJlczsKKyAgICBQeU9iamVjdCAqYXR0ciwgKnJlczsKIAotICAgIGlmICgqYXR0cm9iaiA9PSBOVUxMKSB7Ci0gICAgICAgICphdHRyb2JqID0gUHlVbmljb2RlX0ludGVybkZyb21TdHJpbmcoYXR0cnN0cik7Ci0gICAgICAgIGlmICgqYXR0cm9iaiA9PSBOVUxMKQotICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgfQotICAgIHJlcyA9IF9QeVR5cGVfTG9va3VwKFB5X1RZUEUoc2VsZiksICphdHRyb2JqKTsKKyAgICBhdHRyID0gX1B5VW5pY29kZV9Gcm9tSWQoYXR0cmlkKTsKKyAgICBpZiAoYXR0ciA9PSBOVUxMKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICByZXMgPSBfUHlUeXBlX0xvb2t1cChQeV9UWVBFKHNlbGYpLCBhdHRyKTsKICAgICBpZiAocmVzICE9IE5VTEwpIHsKICAgICAgICAgZGVzY3JnZXRmdW5jIGY7CiAgICAgICAgIGlmICgoZiA9IFB5X1RZUEUocmVzKS0+dHBfZGVzY3JfZ2V0KSA9PSBOVUxMKQpAQCAtMTE1MSwxOCArMTE4MSwxOCBAQAogfQogCiBzdGF0aWMgUHlPYmplY3QgKgotbG9va3VwX21ldGhvZChQeU9iamVjdCAqc2VsZiwgY2hhciAqYXR0cnN0ciwgUHlPYmplY3QgKiphdHRyb2JqKQorbG9va3VwX21ldGhvZChQeU9iamVjdCAqc2VsZiwgX1B5X0lkZW50aWZpZXIgKmF0dHJpZCkKIHsKLSAgICBQeU9iamVjdCAqcmVzID0gbG9va3VwX21heWJlKHNlbGYsIGF0dHJzdHIsIGF0dHJvYmopOworICAgIFB5T2JqZWN0ICpyZXMgPSBsb29rdXBfbWF5YmUoc2VsZiwgYXR0cmlkKTsKICAgICBpZiAocmVzID09IE5VTEwgJiYgIVB5RXJyX09jY3VycmVkKCkpCi0gICAgICAgIFB5RXJyX1NldE9iamVjdChQeUV4Y19BdHRyaWJ1dGVFcnJvciwgKmF0dHJvYmopOworICAgICAgICBQeUVycl9TZXRPYmplY3QoUHlFeGNfQXR0cmlidXRlRXJyb3IsIGF0dHJpZC0+b2JqZWN0KTsKICAgICByZXR1cm4gcmVzOwogfQogCiBQeU9iamVjdCAqCi1fUHlPYmplY3RfTG9va3VwU3BlY2lhbChQeU9iamVjdCAqc2VsZiwgY2hhciAqYXR0cnN0ciwgUHlPYmplY3QgKiphdHRyb2JqKQorX1B5T2JqZWN0X0xvb2t1cFNwZWNpYWwoUHlPYmplY3QgKnNlbGYsIF9QeV9JZGVudGlmaWVyICphdHRyaWQpCiB7Ci0gICAgcmV0dXJuIGxvb2t1cF9tYXliZShzZWxmLCBhdHRyc3RyLCBhdHRyb2JqKTsKKyAgICByZXR1cm4gbG9va3VwX21heWJlKHNlbGYsIGF0dHJpZCk7CiB9CiAKIC8qIEEgdmFyaWF0aW9uIG9mIFB5T2JqZWN0X0NhbGxNZXRob2QgdGhhdCB1c2VzIGxvb2t1cF9tZXRob2QoKQpAQCAtMTE3MCwxNyArMTIwMCwxNyBAQAogICAgYXMgbG9va3VwX21ldGhvZCB0byBjYWNoZSB0aGUgaW50ZXJuZWQgbmFtZSBzdHJpbmcgb2JqZWN0LiAqLwogCiBzdGF0aWMgUHlPYmplY3QgKgotY2FsbF9tZXRob2QoUHlPYmplY3QgKm8sIGNoYXIgKm5hbWUsIFB5T2JqZWN0ICoqbmFtZW9iaiwgY2hhciAqZm9ybWF0LCAuLi4pCitjYWxsX21ldGhvZChQeU9iamVjdCAqbywgX1B5X0lkZW50aWZpZXIgKm5hbWVpZCwgY2hhciAqZm9ybWF0LCAuLi4pCiB7CiAgICAgdmFfbGlzdCB2YTsKICAgICBQeU9iamVjdCAqYXJncywgKmZ1bmMgPSAwLCAqcmV0dmFsOwogICAgIHZhX3N0YXJ0KHZhLCBmb3JtYXQpOwogCi0gICAgZnVuYyA9IGxvb2t1cF9tYXliZShvLCBuYW1lLCBuYW1lb2JqKTsKKyAgICBmdW5jID0gbG9va3VwX21heWJlKG8sIG5hbWVpZCk7CiAgICAgaWYgKGZ1bmMgPT0gTlVMTCkgewogICAgICAgICB2YV9lbmQodmEpOwogICAgICAgICBpZiAoIVB5RXJyX09jY3VycmVkKCkpCi0gICAgICAgICAgICBQeUVycl9TZXRPYmplY3QoUHlFeGNfQXR0cmlidXRlRXJyb3IsICpuYW1lb2JqKTsKKyAgICAgICAgICAgIFB5RXJyX1NldE9iamVjdChQeUV4Y19BdHRyaWJ1dGVFcnJvciwgbmFtZWlkLT5vYmplY3QpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAKQEAgLTEyMDYsMTkgKzEyMzYsMTcgQEAKIC8qIENsb25lIG9mIGNhbGxfbWV0aG9kKCkgdGhhdCByZXR1cm5zIE5vdEltcGxlbWVudGVkIHdoZW4gdGhlIGxvb2t1cCBmYWlscy4gKi8KIAogc3RhdGljIFB5T2JqZWN0ICoKLWNhbGxfbWF5YmUoUHlPYmplY3QgKm8sIGNoYXIgKm5hbWUsIFB5T2JqZWN0ICoqbmFtZW9iaiwgY2hhciAqZm9ybWF0LCAuLi4pCitjYWxsX21heWJlKFB5T2JqZWN0ICpvLCBfUHlfSWRlbnRpZmllciAqbmFtZWlkLCBjaGFyICpmb3JtYXQsIC4uLikKIHsKICAgICB2YV9saXN0IHZhOwogICAgIFB5T2JqZWN0ICphcmdzLCAqZnVuYyA9IDAsICpyZXR2YWw7CiAgICAgdmFfc3RhcnQodmEsIGZvcm1hdCk7CiAKLSAgICBmdW5jID0gbG9va3VwX21heWJlKG8sIG5hbWUsIG5hbWVvYmopOworICAgIGZ1bmMgPSBsb29rdXBfbWF5YmUobywgbmFtZWlkKTsKICAgICBpZiAoZnVuYyA9PSBOVUxMKSB7CiAgICAgICAgIHZhX2VuZCh2YSk7Ci0gICAgICAgIGlmICghUHlFcnJfT2NjdXJyZWQoKSkgewotICAgICAgICAgICAgUHlfSU5DUkVGKFB5X05vdEltcGxlbWVudGVkKTsKLSAgICAgICAgICAgIHJldHVybiBQeV9Ob3RJbXBsZW1lbnRlZDsKLSAgICAgICAgfQorICAgICAgICBpZiAoIVB5RXJyX09jY3VycmVkKCkpCisgICAgICAgICAgICBQeV9SRVRVUk5fTk9USU1QTEVNRU5URUQ7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KIApAQCAtMTI4NCw3ICsxMzEyLDggQEAKIHN0YXRpYyBQeU9iamVjdCAqCiBjbGFzc19uYW1lKFB5T2JqZWN0ICpjbHMpCiB7Ci0gICAgUHlPYmplY3QgKm5hbWUgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKGNscywgIl9fbmFtZV9fIik7CisgICAgX1B5X0lERU5USUZJRVIoX19uYW1lX18pOworICAgIFB5T2JqZWN0ICpuYW1lID0gX1B5T2JqZWN0X0dldEF0dHJJZChjbHMsICZQeUlkX19fbmFtZV9fKTsKICAgICBpZiAobmFtZSA9PSBOVUxMKSB7CiAgICAgICAgIFB5RXJyX0NsZWFyKCk7CiAgICAgICAgIFB5X1hERUNSRUYobmFtZSk7CkBAIC0xNTM5LDkgKzE1NjgsOSBAQAogICAgICAgICByZXN1bHQgPSBtcm9faW1wbGVtZW50YXRpb24odHlwZSk7CiAgICAgfQogICAgIGVsc2UgewotICAgICAgICBzdGF0aWMgUHlPYmplY3QgKm1yb19zdHI7CisgICAgICAgIF9QeV9JREVOVElGSUVSKG1ybyk7CiAgICAgICAgIGNoZWNraXQgPSAxOwotICAgICAgICBtcm8gPSBsb29rdXBfbWV0aG9kKChQeU9iamVjdCAqKXR5cGUsICJtcm8iLCAmbXJvX3N0cik7CisgICAgICAgIG1ybyA9IGxvb2t1cF9tZXRob2QoKFB5T2JqZWN0ICopdHlwZSwgJlB5SWRfbXJvKTsKICAgICAgICAgaWYgKG1ybyA9PSBOVUxMKQogICAgICAgICAgICAgcmV0dXJuIC0xOwogICAgICAgICByZXN1bHQgPSBQeU9iamVjdF9DYWxsT2JqZWN0KG1ybywgTlVMTCk7CkBAIC0xNTg1LDcgKzE2MTQsNyBAQAogICAgIHR5cGUtPnRwX21ybyA9IHR1cGxlOwogCiAgICAgdHlwZV9tcm9fbW9kaWZpZWQodHlwZSwgdHlwZS0+dHBfbXJvKTsKLSAgICAvKiBjb3JuZXIgY2FzZTogdGhlIG9sZC1zdHlsZSBzdXBlciBjbGFzcyBtaWdodCBoYXZlIGJlZW4gaGlkZGVuCisgICAgLyogY29ybmVyIGNhc2U6IHRoZSBzdXBlciBjbGFzcyBtaWdodCBoYXZlIGJlZW4gaGlkZGVuCiAgICAgICAgZnJvbSB0aGUgY3VzdG9tIE1STyAqLwogICAgIHR5cGVfbXJvX21vZGlmaWVkKHR5cGUsIHR5cGUtPnRwX2Jhc2VzKTsKIApAQCAtMTY0Miw5ICsxNjcxLDggQEAKICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICB9CiAgICAgfQotICAgIGlmIChiYXNlID09IE5VTEwpCi0gICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsCi0gICAgICAgICAgICAiYSBuZXctc3R5bGUgY2xhc3MgY2FuJ3QgaGF2ZSBvbmx5IGNsYXNzaWMgYmFzZXMiKTsKKyAgICBhc3NlcnQgKGJhc2UgIT0gTlVMTCk7CisKICAgICByZXR1cm4gYmFzZTsKIH0KIApAQCAtMTcxMiwxNCArMTc0MCwxMiBAQAogc3RhdGljIFB5T2JqZWN0ICoKIGdldF9kaWN0X2Rlc2NyaXB0b3IoUHlUeXBlT2JqZWN0ICp0eXBlKQogewotICAgIHN0YXRpYyBQeU9iamVjdCAqZGljdF9zdHI7CisgICAgUHlPYmplY3QgKmRpY3Rfc3RyOwogICAgIFB5T2JqZWN0ICpkZXNjcjsKIAotICAgIGlmIChkaWN0X3N0ciA9PSBOVUxMKSB7Ci0gICAgICAgIGRpY3Rfc3RyID0gUHlVbmljb2RlX0ludGVybkZyb21TdHJpbmcoIl9fZGljdF9fIik7Ci0gICAgICAgIGlmIChkaWN0X3N0ciA9PSBOVUxMKQotICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgfQorICAgIGRpY3Rfc3RyID0gX1B5VW5pY29kZV9Gcm9tSWQoJlB5SWRfX19kaWN0X18pOyAvKiBib3Jyb3dlZCAqLworICAgIGlmIChkaWN0X3N0ciA9PSBOVUxMKQorICAgICAgICByZXR1cm4gTlVMTDsKICAgICBkZXNjciA9IF9QeVR5cGVfTG9va3VwKHR5cGUsIGRpY3Rfc3RyKTsKICAgICBpZiAoZGVzY3IgPT0gTlVMTCB8fCAhUHlEZXNjcl9Jc0RhdGEoZGVzY3IpKQogICAgICAgICByZXR1cm4gTlVMTDsKQEAgLTE3MzgsOCArMTc2NCw2IEBACiBzdGF0aWMgUHlPYmplY3QgKgogc3VidHlwZV9kaWN0KFB5T2JqZWN0ICpvYmosIHZvaWQgKmNvbnRleHQpCiB7Ci0gICAgUHlPYmplY3QgKipkaWN0cHRyOwotICAgIFB5T2JqZWN0ICpkaWN0OwogICAgIFB5VHlwZU9iamVjdCAqYmFzZTsKIAogICAgIGJhc2UgPSBnZXRfYnVpbHRpbl9iYXNlX3dpdGhfZGljdChQeV9UWVBFKG9iaikpOwpAQCAtMTc1NywyNSArMTc4MSwxMyBAQAogICAgICAgICB9CiAgICAgICAgIHJldHVybiBmdW5jKGRlc2NyLCBvYmosIChQeU9iamVjdCAqKShQeV9UWVBFKG9iaikpKTsKICAgICB9Ci0KLSAgICBkaWN0cHRyID0gX1B5T2JqZWN0X0dldERpY3RQdHIob2JqKTsKLSAgICBpZiAoZGljdHB0ciA9PSBOVUxMKSB7Ci0gICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19BdHRyaWJ1dGVFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICAgICJUaGlzIG9iamVjdCBoYXMgbm8gX19kaWN0X18iKTsKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgfQotICAgIGRpY3QgPSAqZGljdHB0cjsKLSAgICBpZiAoZGljdCA9PSBOVUxMKQotICAgICAgICAqZGljdHB0ciA9IGRpY3QgPSBQeURpY3RfTmV3KCk7Ci0gICAgUHlfWElOQ1JFRihkaWN0KTsKLSAgICByZXR1cm4gZGljdDsKKyAgICByZXR1cm4gUHlPYmplY3RfR2VuZXJpY0dldERpY3Qob2JqLCBjb250ZXh0KTsKIH0KIAogc3RhdGljIGludAogc3VidHlwZV9zZXRkaWN0KFB5T2JqZWN0ICpvYmosIFB5T2JqZWN0ICp2YWx1ZSwgdm9pZCAqY29udGV4dCkKIHsKLSAgICBQeU9iamVjdCAqKmRpY3RwdHI7Ci0gICAgUHlPYmplY3QgKmRpY3Q7CisgICAgUHlPYmplY3QgKmRpY3QsICoqZGljdHB0cjsKICAgICBQeVR5cGVPYmplY3QgKmJhc2U7CiAKICAgICBiYXNlID0gZ2V0X2J1aWx0aW5fYmFzZV93aXRoX2RpY3QoUHlfVFlQRShvYmopKTsKQEAgLTE3OTMsNyArMTgwNSw3IEBACiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuIGZ1bmMoZGVzY3IsIG9iaiwgdmFsdWUpOwogICAgIH0KLQorICAgIC8qIEFsbW9zdCBsaWtlIFB5T2JqZWN0X0dlbmVyaWNTZXREaWN0LCBidXQgYWxsb3cgX19kaWN0X18gdG8gYmUgZGVsZXRlZC4gKi8KICAgICBkaWN0cHRyID0gX1B5T2JqZWN0X0dldERpY3RQdHIob2JqKTsKICAgICBpZiAoZGljdHB0ciA9PSBOVUxMKSB7CiAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19BdHRyaWJ1dGVFcnJvciwKQEAgLTE5NTQsMTAgKzE5NjYsMTAgQEAKIHN0YXRpYyBQeU9iamVjdCAqCiB0eXBlX25ldyhQeVR5cGVPYmplY3QgKm1ldGF0eXBlLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3ZHMpCiB7Ci0gICAgUHlPYmplY3QgKm5hbWUsICpiYXNlcywgKmRpY3Q7CisgICAgUHlPYmplY3QgKm5hbWUsICpiYXNlcyA9IE5VTEwsICpvcmlnX2RpY3QsICpkaWN0ID0gTlVMTDsKICAgICBzdGF0aWMgY2hhciAqa3dsaXN0W10gPSB7Im5hbWUiLCAiYmFzZXMiLCAiZGljdCIsIDB9OwotICAgIFB5T2JqZWN0ICpzbG90cywgKnRtcCwgKm5ld3Nsb3RzOwotICAgIFB5VHlwZU9iamVjdCAqdHlwZSwgKmJhc2UsICp0bXB0eXBlLCAqd2lubmVyOworICAgIFB5T2JqZWN0ICpxdWFsbmFtZSwgKnNsb3RzID0gTlVMTCwgKnRtcCwgKm5ld3Nsb3RzOworICAgIFB5VHlwZU9iamVjdCAqdHlwZSA9IE5VTEwsICpiYXNlLCAqdG1wdHlwZSwgKndpbm5lcjsKICAgICBQeUhlYXBUeXBlT2JqZWN0ICpldDsKICAgICBQeU1lbWJlckRlZiAqbXA7CiAgICAgUHlfc3NpemVfdCBpLCBuYmFzZXMsIG5zbG90cywgc2xvdG9mZnNldCwgYWRkX2RpY3QsIGFkZF93ZWFrOwpAQCAtMTk5MSw3ICsyMDAzLDcgQEAKICAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2RzLCAiVU8hTyE6dHlwZSIsIGt3bGlzdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmUHlUdXBsZV9UeXBlLCAmYmFzZXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJlB5RGljdF9UeXBlLCAmZGljdCkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJlB5RGljdF9UeXBlLCAmb3JpZ19kaWN0KSkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKICAgICAvKiBEZXRlcm1pbmUgdGhlIHByb3BlciBtZXRhdHlwZSB0byBkZWFsIHdpdGggdGhpczogKi8KQEAgLTIwMTEsMjggKzIwMjMsMjggQEAKICAgICBpZiAobmJhc2VzID09IDApIHsKICAgICAgICAgYmFzZXMgPSBQeVR1cGxlX1BhY2soMSwgJlB5QmFzZU9iamVjdF9UeXBlKTsKICAgICAgICAgaWYgKGJhc2VzID09IE5VTEwpCi0gICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgICAgIGdvdG8gZXJyb3I7CiAgICAgICAgIG5iYXNlcyA9IDE7CiAgICAgfQogICAgIGVsc2UKICAgICAgICAgUHlfSU5DUkVGKGJhc2VzKTsKIAotICAgIC8qIFhYWCBGcm9tIGhlcmUgdW50aWwgdHlwZSBpcyBhbGxvY2F0ZWQsICJyZXR1cm4gTlVMTCIgbGVha3MgYmFzZXMhICovCi0KICAgICAvKiBDYWxjdWxhdGUgYmVzdCBiYXNlLCBhbmQgY2hlY2sgdGhhdCBhbGwgYmFzZXMgYXJlIHR5cGUgb2JqZWN0cyAqLwogICAgIGJhc2UgPSBiZXN0X2Jhc2UoYmFzZXMpOwogICAgIGlmIChiYXNlID09IE5VTEwpIHsKLSAgICAgICAgUHlfREVDUkVGKGJhc2VzKTsKLSAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIGdvdG8gZXJyb3I7CiAgICAgfQogICAgIGlmICghUHlUeXBlX0hhc0ZlYXR1cmUoYmFzZSwgUHlfVFBGTEFHU19CQVNFVFlQRSkpIHsKICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1R5cGVFcnJvciwKICAgICAgICAgICAgICAgICAgICAgICJ0eXBlICclLjEwMHMnIGlzIG5vdCBhbiBhY2NlcHRhYmxlIGJhc2UgdHlwZSIsCiAgICAgICAgICAgICAgICAgICAgICBiYXNlLT50cF9uYW1lKTsKLSAgICAgICAgUHlfREVDUkVGKGJhc2VzKTsKLSAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIGdvdG8gZXJyb3I7CiAgICAgfQogCisgICAgZGljdCA9IFB5RGljdF9Db3B5KG9yaWdfZGljdCk7CisgICAgaWYgKGRpY3QgPT0gTlVMTCkKKyAgICAgICAgZ290byBlcnJvcjsKKwogICAgIC8qIENoZWNrIGZvciBhIF9fc2xvdHNfXyBzZXF1ZW5jZSB2YXJpYWJsZSBpbiBkaWN0LCBhbmQgY291bnQgaXQgKi8KICAgICBzbG90cyA9IFB5RGljdF9HZXRJdGVtU3RyaW5nKGRpY3QsICJfX3Nsb3RzX18iKTsKICAgICBuc2xvdHMgPSAwOwpAQCAtMjA1NiwxMCArMjA2OCw4IEBACiAgICAgICAgICAgICBzbG90cyA9IFB5VHVwbGVfUGFjaygxLCBzbG90cyk7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIHNsb3RzID0gUHlTZXF1ZW5jZV9UdXBsZShzbG90cyk7Ci0gICAgICAgIGlmIChzbG90cyA9PSBOVUxMKSB7Ci0gICAgICAgICAgICBQeV9ERUNSRUYoYmFzZXMpOwotICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgIH0KKyAgICAgICAgaWYgKHNsb3RzID09IE5VTEwpCisgICAgICAgICAgICBnb3RvIGVycm9yOwogICAgICAgICBhc3NlcnQoUHlUdXBsZV9DaGVjayhzbG90cykpOwogCiAgICAgICAgIC8qIEFyZSBzbG90cyBhbGxvd2VkPyAqLwpAQCAtMjA2OSwyNCArMjA3OSwyMSBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICJub25lbXB0eSBfX3Nsb3RzX18gIgogICAgICAgICAgICAgICAgICAgICAgICAgICJub3Qgc3VwcG9ydGVkIGZvciBzdWJ0eXBlIG9mICclcyciLAogICAgICAgICAgICAgICAgICAgICAgICAgIGJhc2UtPnRwX25hbWUpOwotICAgICAgICAgIGJhZF9zbG90czoKLSAgICAgICAgICAgIFB5X0RFQ1JFRihiYXNlcyk7Ci0gICAgICAgICAgICBQeV9ERUNSRUYoc2xvdHMpOwotICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgICAgICBnb3RvIGVycm9yOwogICAgICAgICB9CiAKICAgICAgICAgLyogQ2hlY2sgZm9yIHZhbGlkIHNsb3QgbmFtZXMgYW5kIHR3byBzcGVjaWFsIGNhc2VzICovCiAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBuc2xvdHM7IGkrKykgewogICAgICAgICAgICAgUHlPYmplY3QgKnRtcCA9IFB5VHVwbGVfR0VUX0lURU0oc2xvdHMsIGkpOwogICAgICAgICAgICAgaWYgKCF2YWxpZF9pZGVudGlmaWVyKHRtcCkpCi0gICAgICAgICAgICAgICAgZ290byBiYWRfc2xvdHM7CisgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKICAgICAgICAgICAgIGFzc2VydChQeVVuaWNvZGVfQ2hlY2sodG1wKSk7CiAgICAgICAgICAgICBpZiAoUHlVbmljb2RlX0NvbXBhcmVXaXRoQVNDSUlTdHJpbmcodG1wLCAiX19kaWN0X18iKSA9PSAwKSB7CiAgICAgICAgICAgICAgICAgaWYgKCFtYXlfYWRkX2RpY3QgfHwgYWRkX2RpY3QpIHsKICAgICAgICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwKICAgICAgICAgICAgICAgICAgICAgICAgICJfX2RpY3RfXyBzbG90IGRpc2FsbG93ZWQ6ICIKICAgICAgICAgICAgICAgICAgICAgICAgICJ3ZSBhbHJlYWR5IGdvdCBvbmUiKTsKLSAgICAgICAgICAgICAgICAgICAgZ290byBiYWRfc2xvdHM7CisgICAgICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIGFkZF9kaWN0Kys7CiAgICAgICAgICAgICB9CkBAIC0yMDk2LDcgKzIxMDMsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgIl9fd2Vha3JlZl9fIHNsb3QgZGlzYWxsb3dlZDogIgogICAgICAgICAgICAgICAgICAgICAgICAgImVpdGhlciB3ZSBhbHJlYWR5IGdvdCBvbmUsICIKICAgICAgICAgICAgICAgICAgICAgICAgICJvciBfX2l0ZW1zaXplX18gIT0gMCIpOwotICAgICAgICAgICAgICAgICAgICBnb3RvIGJhZF9zbG90czsKKyAgICAgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgYWRkX3dlYWsrKzsKICAgICAgICAgICAgIH0KQEAgLTIxMDgsNyArMjExNSw3IEBACiAgICAgICAgICovCiAgICAgICAgIG5ld3Nsb3RzID0gUHlMaXN0X05ldyhuc2xvdHMgLSBhZGRfZGljdCAtIGFkZF93ZWFrKTsKICAgICAgICAgaWYgKG5ld3Nsb3RzID09IE5VTEwpCi0gICAgICAgICAgICBnb3RvIGJhZF9zbG90czsKKyAgICAgICAgICAgIGdvdG8gZXJyb3I7CiAgICAgICAgIGZvciAoaSA9IGogPSAwOyBpIDwgbnNsb3RzOyBpKyspIHsKICAgICAgICAgICAgIHRtcCA9IFB5VHVwbGVfR0VUX0lURU0oc2xvdHMsIGkpOwogICAgICAgICAgICAgaWYgKChhZGRfZGljdCAmJgpAQCAtMjExOSwyNSArMjEyNiwyOSBAQAogICAgICAgICAgICAgdG1wID1fUHlfTWFuZ2xlKG5hbWUsIHRtcCk7CiAgICAgICAgICAgICBpZiAoIXRtcCkgewogICAgICAgICAgICAgICAgIFB5X0RFQ1JFRihuZXdzbG90cyk7Ci0gICAgICAgICAgICAgICAgZ290byBiYWRfc2xvdHM7CisgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIFB5TGlzdF9TRVRfSVRFTShuZXdzbG90cywgaiwgdG1wKTsKKyAgICAgICAgICAgIGlmIChQeURpY3RfR2V0SXRlbShkaWN0LCB0bXApKSB7CisgICAgICAgICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1ZhbHVlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIlUiBpbiBfX3Nsb3RzX18gY29uZmxpY3RzIHdpdGggY2xhc3MgdmFyaWFibGUiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0bXApOworICAgICAgICAgICAgICAgIFB5X0RFQ1JFRihuZXdzbG90cyk7CisgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgICAgIH0KICAgICAgICAgICAgIGorKzsKICAgICAgICAgfQogICAgICAgICBhc3NlcnQoaiA9PSBuc2xvdHMgLSBhZGRfZGljdCAtIGFkZF93ZWFrKTsKICAgICAgICAgbnNsb3RzID0gajsKLSAgICAgICAgUHlfREVDUkVGKHNsb3RzKTsKKyAgICAgICAgUHlfQ0xFQVIoc2xvdHMpOwogICAgICAgICBpZiAoUHlMaXN0X1NvcnQobmV3c2xvdHMpID09IC0xKSB7Ci0gICAgICAgICAgICBQeV9ERUNSRUYoYmFzZXMpOwogICAgICAgICAgICAgUHlfREVDUkVGKG5ld3Nsb3RzKTsKLSAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICAgICAgZ290byBlcnJvcjsKICAgICAgICAgfQogICAgICAgICBzbG90cyA9IFB5TGlzdF9Bc1R1cGxlKG5ld3Nsb3RzKTsKICAgICAgICAgUHlfREVDUkVGKG5ld3Nsb3RzKTsKLSAgICAgICAgaWYgKHNsb3RzID09IE5VTEwpIHsKLSAgICAgICAgICAgIFB5X0RFQ1JFRihiYXNlcyk7Ci0gICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgfQorICAgICAgICBpZiAoc2xvdHMgPT0gTlVMTCkKKyAgICAgICAgICAgIGdvdG8gZXJyb3I7CiAKICAgICAgICAgLyogU2Vjb25kYXJ5IGJhc2VzIG1heSBwcm92aWRlIHdlYWtyZWZzIG9yIGRpY3QgKi8KICAgICAgICAgaWYgKG5iYXNlcyA+IDEgJiYKQEAgLTIxNjUsMjIgKzIxNzYsMTcgQEAKICAgICAgICAgfQogICAgIH0KIAotICAgIC8qIFhYWCBGcm9tIGhlcmUgdW50aWwgdHlwZSBpcyBzYWZlbHkgYWxsb2NhdGVkLAotICAgICAgICJyZXR1cm4gTlVMTCIgbWF5IGxlYWsgc2xvdHMhICovCi0KICAgICAvKiBBbGxvY2F0ZSB0aGUgdHlwZSBvYmplY3QgKi8KICAgICB0eXBlID0gKFB5VHlwZU9iamVjdCAqKW1ldGF0eXBlLT50cF9hbGxvYyhtZXRhdHlwZSwgbnNsb3RzKTsKLSAgICBpZiAodHlwZSA9PSBOVUxMKSB7Ci0gICAgICAgIFB5X1hERUNSRUYoc2xvdHMpOwotICAgICAgICBQeV9ERUNSRUYoYmFzZXMpOwotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICB9CisgICAgaWYgKHR5cGUgPT0gTlVMTCkKKyAgICAgICAgZ290byBlcnJvcjsKIAogICAgIC8qIEtlZXAgbmFtZSBhbmQgc2xvdHMgYWxpdmUgaW4gdGhlIGV4dGVuZGVkIHR5cGUgb2JqZWN0ICovCiAgICAgZXQgPSAoUHlIZWFwVHlwZU9iamVjdCAqKXR5cGU7CiAgICAgUHlfSU5DUkVGKG5hbWUpOwogICAgIGV0LT5odF9uYW1lID0gbmFtZTsKICAgICBldC0+aHRfc2xvdHMgPSBzbG90czsKKyAgICBzbG90cyA9IE5VTEw7CiAKICAgICAvKiBJbml0aWFsaXplIHRwX2ZsYWdzICovCiAgICAgdHlwZS0+dHBfZmxhZ3MgPSBQeV9UUEZMQUdTX0RFRkFVTFQgfCBQeV9UUEZMQUdTX0hFQVBUWVBFIHwKQEAgLTIxOTQsMjIgKzIyMDAsMTggQEAKICAgICB0eXBlLT50cF9hc19tYXBwaW5nID0gJmV0LT5hc19tYXBwaW5nOwogICAgIHR5cGUtPnRwX2FzX2J1ZmZlciA9ICZldC0+YXNfYnVmZmVyOwogICAgIHR5cGUtPnRwX25hbWUgPSBfUHlVbmljb2RlX0FzU3RyaW5nKG5hbWUpOwotICAgIGlmICghdHlwZS0+dHBfbmFtZSkgewotICAgICAgICBQeV9ERUNSRUYodHlwZSk7Ci0gICAgICAgIHJldHVybiBOVUxMOwotICAgIH0KKyAgICBpZiAoIXR5cGUtPnRwX25hbWUpCisgICAgICAgIGdvdG8gZXJyb3I7CiAKICAgICAvKiBTZXQgdHBfYmFzZSBhbmQgdHBfYmFzZXMgKi8KICAgICB0eXBlLT50cF9iYXNlcyA9IGJhc2VzOworICAgIGJhc2VzID0gTlVMTDsKICAgICBQeV9JTkNSRUYoYmFzZSk7CiAgICAgdHlwZS0+dHBfYmFzZSA9IGJhc2U7CiAKICAgICAvKiBJbml0aWFsaXplIHRwX2RpY3QgZnJvbSBwYXNzZWQtaW4gZGljdCAqLwotICAgIHR5cGUtPnRwX2RpY3QgPSBkaWN0ID0gUHlEaWN0X0NvcHkoZGljdCk7Ci0gICAgaWYgKGRpY3QgPT0gTlVMTCkgewotICAgICAgICBQeV9ERUNSRUYodHlwZSk7Ci0gICAgICAgIHJldHVybiBOVUxMOwotICAgIH0KKyAgICBQeV9JTkNSRUYoZGljdCk7CisgICAgdHlwZS0+dHBfZGljdCA9IGRpY3Q7CiAKICAgICAvKiBTZXQgX19tb2R1bGVfXyBpbiB0aGUgZGljdCAqLwogICAgIGlmIChQeURpY3RfR2V0SXRlbVN0cmluZyhkaWN0LCAiX19tb2R1bGVfXyIpID09IE5VTEwpIHsKQEAgLTIyMTksMTEgKzIyMjEsMjkgQEAKICAgICAgICAgICAgIGlmICh0bXAgIT0gTlVMTCkgewogICAgICAgICAgICAgICAgIGlmIChQeURpY3RfU2V0SXRlbVN0cmluZyhkaWN0LCAiX19tb2R1bGVfXyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRtcCkgPCAwKQotICAgICAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0KIAorICAgIC8qIFNldCBodF9xdWFsbmFtZSB0byBkaWN0WydfX3F1YWxuYW1lX18nXSBpZiBhdmFpbGFibGUsIGVsc2UgdG8KKyAgICAgICBfX25hbWVfXy4gIFRoZSBfX3F1YWxuYW1lX18gYWNjZXNzb3Igd2lsbCBsb29rIGZvciBodF9xdWFsbmFtZS4KKyAgICAqLworICAgIHF1YWxuYW1lID0gUHlEaWN0X0dldEl0ZW1TdHJpbmcoZGljdCwgIl9fcXVhbG5hbWVfXyIpOworICAgIGlmIChxdWFsbmFtZSAhPSBOVUxMKSB7CisgICAgICAgIGlmICghUHlVbmljb2RlX0NoZWNrKHF1YWxuYW1lKSkgeworICAgICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1R5cGVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAidHlwZSBfX3F1YWxuYW1lX18gbXVzdCBiZSBhIHN0ciwgbm90ICVzIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICBQeV9UWVBFKHF1YWxuYW1lKS0+dHBfbmFtZSk7CisgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICB9CisgICAgfQorICAgIGVsc2UgeworICAgICAgICBxdWFsbmFtZSA9IGV0LT5odF9uYW1lOworICAgIH0KKyAgICBQeV9JTkNSRUYocXVhbG5hbWUpOworICAgIGV0LT5odF9xdWFsbmFtZSA9IHF1YWxuYW1lOworCiAgICAgLyogU2V0IHRwX2RvYyB0byBhIGNvcHkgb2YgZGljdFsnX19kb2NfXyddLCBpZiB0aGUgbGF0dGVyIGlzIHRoZXJlCiAgICAgICAgYW5kIGlzIGEgc3RyaW5nLiAgVGhlIF9fZG9jX18gYWNjZXNzb3Igd2lsbCBmaXJzdCBsb29rIGZvciB0cF9kb2M7CiAgICAgICAgaWYgdGhhdCBmYWlscywgaXQgd2lsbCBzdGlsbCBsb29rIGludG8gX19kaWN0X18uCkBAIC0yMjM2LDE3ICsyMjU2LDEzIEBACiAgICAgICAgICAgICBjaGFyICp0cF9kb2M7CiAKICAgICAgICAgICAgIGRvY19zdHIgPSBfUHlVbmljb2RlX0FzU3RyaW5nKGRvYyk7Ci0gICAgICAgICAgICBpZiAoZG9jX3N0ciA9PSBOVUxMKSB7Ci0gICAgICAgICAgICAgICAgUHlfREVDUkVGKHR5cGUpOwotICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOwotICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKGRvY19zdHIgPT0gTlVMTCkKKyAgICAgICAgICAgICAgICBnb3RvIGVycm9yOwogICAgICAgICAgICAgLyogU2lsZW50bHkgdHJ1bmNhdGUgdGhlIGRvY3N0cmluZyBpZiBpdCBjb250YWlucyBudWxsIGJ5dGVzLiAqLwogICAgICAgICAgICAgbGVuID0gc3RybGVuKGRvY19zdHIpOwogICAgICAgICAgICAgdHBfZG9jID0gKGNoYXIgKilQeU9iamVjdF9NQUxMT0MobGVuICsgMSk7Ci0gICAgICAgICAgICBpZiAodHBfZG9jID09IE5VTEwpIHsKLSAgICAgICAgICAgICAgICBQeV9ERUNSRUYodHlwZSk7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAodHBfZG9jID09IE5VTEwpCisgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKICAgICAgICAgICAgIG1lbWNweSh0cF9kb2MsIGRvY19zdHIsIGxlbiArIDEpOwogICAgICAgICAgICAgdHlwZS0+dHBfZG9jID0gdHBfZG9jOwogICAgICAgICB9CkBAIC0yMjU3LDEwICsyMjczLDggQEAKICAgICB0bXAgPSBQeURpY3RfR2V0SXRlbVN0cmluZyhkaWN0LCAiX19uZXdfXyIpOwogICAgIGlmICh0bXAgIT0gTlVMTCAmJiBQeUZ1bmN0aW9uX0NoZWNrKHRtcCkpIHsKICAgICAgICAgdG1wID0gUHlTdGF0aWNNZXRob2RfTmV3KHRtcCk7Ci0gICAgICAgIGlmICh0bXAgPT0gTlVMTCkgewotICAgICAgICAgICAgUHlfREVDUkVGKHR5cGUpOwotICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgIH0KKyAgICAgICAgaWYgKHRtcCA9PSBOVUxMKQorICAgICAgICAgICAgZ290byBlcnJvcjsKICAgICAgICAgUHlEaWN0X1NldEl0ZW1TdHJpbmcoZGljdCwgIl9fbmV3X18iLCB0bXApOwogICAgICAgICBQeV9ERUNSRUYodG1wKTsKICAgICB9CkBAIC0yMjY4LDE0ICsyMjgyLDEyIEBACiAgICAgLyogQWRkIGRlc2NyaXB0b3JzIGZvciBjdXN0b20gc2xvdHMgZnJvbSBfX3Nsb3RzX18sIG9yIGZvciBfX2RpY3RfXyAqLwogICAgIG1wID0gUHlIZWFwVHlwZV9HRVRfTUVNQkVSUyhldCk7CiAgICAgc2xvdG9mZnNldCA9IGJhc2UtPnRwX2Jhc2ljc2l6ZTsKLSAgICBpZiAoc2xvdHMgIT0gTlVMTCkgeworICAgIGlmIChldC0+aHRfc2xvdHMgIT0gTlVMTCkgewogICAgICAgICBmb3IgKGkgPSAwOyBpIDwgbnNsb3RzOyBpKyssIG1wKyspIHsKICAgICAgICAgICAgIG1wLT5uYW1lID0gX1B5VW5pY29kZV9Bc1N0cmluZygKLSAgICAgICAgICAgICAgICBQeVR1cGxlX0dFVF9JVEVNKHNsb3RzLCBpKSk7Ci0gICAgICAgICAgICBpZiAobXAtPm5hbWUgPT0gTlVMTCkgewotICAgICAgICAgICAgICAgIFB5X0RFQ1JFRih0eXBlKTsKLSAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBQeVR1cGxlX0dFVF9JVEVNKGV0LT5odF9zbG90cywgaSkpOworICAgICAgICAgICAgaWYgKG1wLT5uYW1lID09IE5VTEwpCisgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKICAgICAgICAgICAgIG1wLT50eXBlID0gVF9PQkpFQ1RfRVg7CiAgICAgICAgICAgICBtcC0+b2Zmc2V0ID0gc2xvdG9mZnNldDsKIApAQCAtMjMzNiwxNSArMjM0OCwyMSBAQAogICAgICAgICB0eXBlLT50cF9mcmVlID0gUHlPYmplY3RfRGVsOwogCiAgICAgLyogSW5pdGlhbGl6ZSB0aGUgcmVzdCAqLwotICAgIGlmIChQeVR5cGVfUmVhZHkodHlwZSkgPCAwKSB7Ci0gICAgICAgIFB5X0RFQ1JFRih0eXBlKTsKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgfQorICAgIGlmIChQeVR5cGVfUmVhZHkodHlwZSkgPCAwKQorICAgICAgICBnb3RvIGVycm9yOwogCiAgICAgLyogUHV0IHRoZSBwcm9wZXIgc2xvdHMgaW4gcGxhY2UgKi8KICAgICBmaXh1cF9zbG90X2Rpc3BhdGNoZXJzKHR5cGUpOwogCisgICAgUHlfREVDUkVGKGRpY3QpOwogICAgIHJldHVybiAoUHlPYmplY3QgKil0eXBlOworCitlcnJvcjoKKyAgICBQeV9YREVDUkVGKGRpY3QpOworICAgIFB5X1hERUNSRUYoYmFzZXMpOworICAgIFB5X1hERUNSRUYoc2xvdHMpOworICAgIFB5X1hERUNSRUYodHlwZSk7CisgICAgcmV0dXJuIE5VTEw7CiB9CiAKIHN0YXRpYyBzaG9ydCBzbG90b2Zmc2V0c1tdID0gewpAQCAtMjM2MywyMSArMjM4MSwyMyBAQAogICAgICAgcmV0dXJuIE5VTEw7CiAgICAgcmVzLT5odF9uYW1lID0gUHlVbmljb2RlX0Zyb21TdHJpbmcoc3BlYy0+bmFtZSk7CiAgICAgaWYgKCFyZXMtPmh0X25hbWUpCi0JZ290byBmYWlsOworICAgICAgICBnb3RvIGZhaWw7CisgICAgcmVzLT5odF9xdWFsbmFtZSA9IHJlcy0+aHRfbmFtZTsKKyAgICBQeV9JTkNSRUYocmVzLT5odF9xdWFsbmFtZSk7CiAgICAgcmVzLT5odF90eXBlLnRwX25hbWUgPSBfUHlVbmljb2RlX0FzU3RyaW5nKHJlcy0+aHRfbmFtZSk7CiAgICAgaWYgKCFyZXMtPmh0X3R5cGUudHBfbmFtZSkKLQlnb3RvIGZhaWw7CisgICAgICAgIGdvdG8gZmFpbDsKIAogICAgIHJlcy0+aHRfdHlwZS50cF9iYXNpY3NpemUgPSBzcGVjLT5iYXNpY3NpemU7CiAgICAgcmVzLT5odF90eXBlLnRwX2l0ZW1zaXplID0gc3BlYy0+aXRlbXNpemU7CiAgICAgcmVzLT5odF90eXBlLnRwX2ZsYWdzID0gc3BlYy0+ZmxhZ3MgfCBQeV9UUEZMQUdTX0hFQVBUWVBFOwogCiAgICAgZm9yIChzbG90ID0gc3BlYy0+c2xvdHM7IHNsb3QtPnNsb3Q7IHNsb3QrKykgewotCWlmIChzbG90LT5zbG90ID49IHNpemVvZihzbG90b2Zmc2V0cykvc2l6ZW9mKHNsb3RvZmZzZXRzWzBdKSkgewotCSAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfUnVudGltZUVycm9yLCAiaW52YWxpZCBzbG90IG9mZnNldCIpOwotCSAgICBnb3RvIGZhaWw7Ci0JfQotCSoodm9pZCoqKShyZXNfc3RhcnQgKyBzbG90b2Zmc2V0c1tzbG90LT5zbG90XSkgPSBzbG90LT5wZnVuYzsKKyAgICAgICAgaWYgKHNsb3QtPnNsb3QgPj0gUHlfQVJSQVlfTEVOR1RIKHNsb3RvZmZzZXRzKSkgeworICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1J1bnRpbWVFcnJvciwgImludmFsaWQgc2xvdCBvZmZzZXQiKTsKKyAgICAgICAgICAgIGdvdG8gZmFpbDsKKyAgICAgICAgfQorICAgICAgICAqKHZvaWQqKikocmVzX3N0YXJ0ICsgc2xvdG9mZnNldHNbc2xvdC0+c2xvdF0pID0gc2xvdC0+cGZ1bmM7CiAKICAgICAgICAgLyogbmVlZCB0byBtYWtlIGEgY29weSBvZiB0aGUgZG9jc3RyaW5nIHNsb3QsIHdoaWNoIHVzdWFsbHkKICAgICAgICAgICAgcG9pbnRzIHRvIGEgc3RhdGljIHN0cmluZyBsaXRlcmFsICovCkBAIC0yMzg1LDcgKzI0MDUsNyBAQAogICAgICAgICAgICAgc3NpemVfdCBsZW4gPSBzdHJsZW4oc2xvdC0+cGZ1bmMpKzE7CiAgICAgICAgICAgICBjaGFyICp0cF9kb2MgPSBQeU9iamVjdF9NQUxMT0MobGVuKTsKICAgICAgICAgICAgIGlmICh0cF9kb2MgPT0gTlVMTCkKLQkgICAgCWdvdG8gZmFpbDsKKyAgICAgICAgICAgICAgICBnb3RvIGZhaWw7CiAgICAgICAgICAgICBtZW1jcHkodHBfZG9jLCBzbG90LT5wZnVuYywgbGVuKTsKICAgICAgICAgICAgIHJlcy0+aHRfdHlwZS50cF9kb2MgPSB0cF9kb2M7CiAgICAgICAgIH0KQEAgLTI0MzAsNiArMjQ1MCw5IEBACiAgICAgICAgIHJldHVybiBOVUxMOwogCiAgICAgcmVzID0gTlVMTDsKKyAgICAvKiBrZWVwIGEgc3Ryb25nIHJlZmVyZW5jZSB0byBtcm8gYmVjYXVzZSB0eXBlLT50cF9tcm8gY2FuIGJlIHJlcGxhY2VkCisgICAgICAgZHVyaW5nIFB5RGljdF9HZXRJdGVtKGRpY3QsIG5hbWUpICAqLworICAgIFB5X0lOQ1JFRihtcm8pOwogICAgIGFzc2VydChQeVR1cGxlX0NoZWNrKG1ybykpOwogICAgIG4gPSBQeVR1cGxlX0dFVF9TSVpFKG1ybyk7CiAgICAgZm9yIChpID0gMDsgaSA8IG47IGkrKykgewpAQCAtMjQ0MSw2ICsyNDY0LDcgQEAKICAgICAgICAgaWYgKHJlcyAhPSBOVUxMKQogICAgICAgICAgICAgYnJlYWs7CiAgICAgfQorICAgIFB5X0RFQ1JFRihtcm8pOwogCiAgICAgaWYgKE1DQUNIRV9DQUNIRUFCTEVfTkFNRShuYW1lKSAmJiBhc3NpZ25fdmVyc2lvbl90YWcodHlwZSkpIHsKICAgICAgICAgaCA9IE1DQUNIRV9IQVNIX01FVEhPRCh0eXBlLCBuYW1lKTsKQEAgLTI1NzMsNiArMjU5Nyw3IEBACiAgICAgICovCiAgICAgUHlPYmplY3RfRnJlZSgoY2hhciAqKXR5cGUtPnRwX2RvYyk7CiAgICAgUHlfWERFQ1JFRihldC0+aHRfbmFtZSk7CisgICAgUHlfWERFQ1JFRihldC0+aHRfcXVhbG5hbWUpOwogICAgIFB5X1hERUNSRUYoZXQtPmh0X3Nsb3RzKTsKICAgICBQeV9UWVBFKHR5cGUpLT50cF9mcmVlKChQeU9iamVjdCAqKXR5cGUpOwogfQpAQCAtMjYxMSw2ICsyNjM2LDgzIEBACiAgICAgcmV0dXJuIFB5RGljdF9OZXcoKTsKIH0KIAorLyoKKyAgIE1lcmdlIHRoZSBfX2RpY3RfXyBvZiBhY2xhc3MgaW50byBkaWN0LCBhbmQgcmVjdXJzaXZlbHkgYWxzbyBhbGwKKyAgIHRoZSBfX2RpY3RfX3Mgb2YgYWNsYXNzJ3MgYmFzZSBjbGFzc2VzLiAgVGhlIG9yZGVyIG9mIG1lcmdpbmcgaXNuJ3QKKyAgIGRlZmluZWQsIGFzIGl0J3MgZXhwZWN0ZWQgdGhhdCBvbmx5IHRoZSBmaW5hbCBzZXQgb2YgZGljdCBrZXlzIGlzCisgICBpbnRlcmVzdGluZy4KKyAgIFJldHVybiAwIG9uIHN1Y2Nlc3MsIC0xIG9uIGVycm9yLgorKi8KKworc3RhdGljIGludAorbWVyZ2VfY2xhc3NfZGljdChQeU9iamVjdCAqZGljdCwgUHlPYmplY3QgKmFjbGFzcykKK3sKKyAgICBQeU9iamVjdCAqY2xhc3NkaWN0OworICAgIFB5T2JqZWN0ICpiYXNlczsKKyAgICBfUHlfSURFTlRJRklFUihfX2Jhc2VzX18pOworCisgICAgYXNzZXJ0KFB5RGljdF9DaGVjayhkaWN0KSk7CisgICAgYXNzZXJ0KGFjbGFzcyk7CisKKyAgICAvKiBNZXJnZSBpbiB0aGUgdHlwZSdzIGRpY3QgKGlmIGFueSkuICovCisgICAgY2xhc3NkaWN0ID0gX1B5T2JqZWN0X0dldEF0dHJJZChhY2xhc3MsICZQeUlkX19fZGljdF9fKTsKKyAgICBpZiAoY2xhc3NkaWN0ID09IE5VTEwpCisgICAgICAgIFB5RXJyX0NsZWFyKCk7CisgICAgZWxzZSB7CisgICAgICAgIGludCBzdGF0dXMgPSBQeURpY3RfVXBkYXRlKGRpY3QsIGNsYXNzZGljdCk7CisgICAgICAgIFB5X0RFQ1JFRihjbGFzc2RpY3QpOworICAgICAgICBpZiAoc3RhdHVzIDwgMCkKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisKKyAgICAvKiBSZWN1cnNpdmVseSBtZXJnZSBpbiB0aGUgYmFzZSB0eXBlcycgKGlmIGFueSkgZGljdHMuICovCisgICAgYmFzZXMgPSBfUHlPYmplY3RfR2V0QXR0cklkKGFjbGFzcywgJlB5SWRfX19iYXNlc19fKTsKKyAgICBpZiAoYmFzZXMgPT0gTlVMTCkKKyAgICAgICAgUHlFcnJfQ2xlYXIoKTsKKyAgICBlbHNlIHsKKyAgICAgICAgLyogV2UgaGF2ZSBubyBndWFyYW50ZWUgdGhhdCBiYXNlcyBpcyBhIHJlYWwgdHVwbGUgKi8KKyAgICAgICAgUHlfc3NpemVfdCBpLCBuOworICAgICAgICBuID0gUHlTZXF1ZW5jZV9TaXplKGJhc2VzKTsgLyogVGhpcyBiZXR0ZXIgYmUgcmlnaHQgKi8KKyAgICAgICAgaWYgKG4gPCAwKQorICAgICAgICAgICAgUHlFcnJfQ2xlYXIoKTsKKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgbjsgaSsrKSB7CisgICAgICAgICAgICAgICAgaW50IHN0YXR1czsKKyAgICAgICAgICAgICAgICBQeU9iamVjdCAqYmFzZSA9IFB5U2VxdWVuY2VfR2V0SXRlbShiYXNlcywgaSk7CisgICAgICAgICAgICAgICAgaWYgKGJhc2UgPT0gTlVMTCkgeworICAgICAgICAgICAgICAgICAgICBQeV9ERUNSRUYoYmFzZXMpOworICAgICAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIHN0YXR1cyA9IG1lcmdlX2NsYXNzX2RpY3QoZGljdCwgYmFzZSk7CisgICAgICAgICAgICAgICAgUHlfREVDUkVGKGJhc2UpOworICAgICAgICAgICAgICAgIGlmIChzdGF0dXMgPCAwKSB7CisgICAgICAgICAgICAgICAgICAgIFB5X0RFQ1JFRihiYXNlcyk7CisgICAgICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgUHlfREVDUkVGKGJhc2VzKTsKKyAgICB9CisgICAgcmV0dXJuIDA7Cit9CisKKy8qIF9fZGlyX18gZm9yIHR5cGUgb2JqZWN0czogcmV0dXJucyBfX2RpY3RfXyBhbmQgX19iYXNlc19fLgorICAgV2UgZGVsaWJlcmF0ZWx5IGRvbid0IHN1Y2sgdXAgaXRzIF9fY2xhc3NfXywgYXMgbWV0aG9kcyBiZWxvbmdpbmcgdG8gdGhlCisgICBtZXRhY2xhc3Mgd291bGQgcHJvYmFibHkgYmUgbW9yZSBjb25mdXNpbmcgdGhhbiBoZWxwZnVsLgorKi8KK3N0YXRpYyBQeU9iamVjdCAqCit0eXBlX2RpcihQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKnJlc3VsdCA9IE5VTEw7CisgICAgUHlPYmplY3QgKmRpY3QgPSBQeURpY3RfTmV3KCk7CisKKyAgICBpZiAoZGljdCAhPSBOVUxMICYmIG1lcmdlX2NsYXNzX2RpY3QoZGljdCwgc2VsZikgPT0gMCkKKyAgICAgICAgcmVzdWx0ID0gUHlEaWN0X0tleXMoZGljdCk7CisKKyAgICBQeV9YREVDUkVGKGRpY3QpOworICAgIHJldHVybiByZXN1bHQ7Cit9CisKIHN0YXRpYyBQeU1ldGhvZERlZiB0eXBlX21ldGhvZHNbXSA9IHsKICAgICB7Im1ybyIsIChQeUNGdW5jdGlvbiltcm9fZXh0ZXJuYWwsIE1FVEhfTk9BUkdTLAogICAgICBQeURvY19TVFIoIm1ybygpIC0+IGxpc3RcbnJldHVybiBhIHR5cGUncyBtZXRob2QgcmVzb2x1dGlvbiBvcmRlciIpfSwKQEAgLTI2MjQsNiArMjcyNiw4IEBACiAgICAgIFB5RG9jX1NUUigiX19pbnN0YW5jZWNoZWNrX18oKSAtPiBib29sXG5jaGVjayBpZiBhbiBvYmplY3QgaXMgYW4gaW5zdGFuY2UiKX0sCiAgICAgeyJfX3N1YmNsYXNzY2hlY2tfXyIsIHR5cGVfX19zdWJjbGFzc2NoZWNrX18sIE1FVEhfTywKICAgICAgUHlEb2NfU1RSKCJfX3N1YmNsYXNzY2hlY2tfXygpIC0+IGJvb2xcbmNoZWNrIGlmIGEgY2xhc3MgaXMgYSBzdWJjbGFzcyIpfSwKKyAgICB7Il9fZGlyX18iLCB0eXBlX2RpciwgTUVUSF9OT0FSR1MsCisgICAgIFB5RG9jX1NUUigiX19kaXJfXygpIC0+IGxpc3RcbnNwZWNpYWxpemVkIF9fZGlyX18gaW1wbGVtZW50YXRpb24gZm9yIHR5cGVzIil9LAogICAgIHswfQogfTsKIApAQCAtMjgwMSwyMiArMjkwNSwxMSBAQAogb2JqZWN0X2luaXQoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dkcykKIHsKICAgICBpbnQgZXJyID0gMDsKLSAgICBpZiAoZXhjZXNzX2FyZ3MoYXJncywga3dkcykpIHsKLSAgICAgICAgUHlUeXBlT2JqZWN0ICp0eXBlID0gUHlfVFlQRShzZWxmKTsKLSAgICAgICAgaWYgKHR5cGUtPnRwX2luaXQgIT0gb2JqZWN0X2luaXQgJiYKLSAgICAgICAgICAgIHR5cGUtPnRwX25ldyAhPSBvYmplY3RfbmV3KQotICAgICAgICB7Ci0gICAgICAgICAgICBlcnIgPSBQeUVycl9XYXJuRXgoUHlFeGNfRGVwcmVjYXRpb25XYXJuaW5nLAotICAgICAgICAgICAgICAgICAgICAgICAib2JqZWN0Ll9faW5pdF9fKCkgdGFrZXMgbm8gcGFyYW1ldGVycyIsCi0gICAgICAgICAgICAgICAgICAgICAgIDEpOwotICAgICAgICB9Ci0gICAgICAgIGVsc2UgaWYgKHR5cGUtPnRwX2luaXQgIT0gb2JqZWN0X2luaXQgfHwKLSAgICAgICAgICAgICAgICAgdHlwZS0+dHBfbmV3ID09IG9iamVjdF9uZXcpCi0gICAgICAgIHsKLSAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsCi0gICAgICAgICAgICAgICAgIm9iamVjdC5fX2luaXRfXygpIHRha2VzIG5vIHBhcmFtZXRlcnMiKTsKLSAgICAgICAgICAgIGVyciA9IC0xOwotICAgICAgICB9CisgICAgUHlUeXBlT2JqZWN0ICp0eXBlID0gUHlfVFlQRShzZWxmKTsKKyAgICBpZiAoZXhjZXNzX2FyZ3MoYXJncywga3dkcykgJiYKKyAgICAgICAgKHR5cGUtPnRwX25ldyA9PSBvYmplY3RfbmV3IHx8IHR5cGUtPnRwX2luaXQgIT0gb2JqZWN0X2luaXQpKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsICJvYmplY3QuX19pbml0X18oKSB0YWtlcyBubyBwYXJhbWV0ZXJzIik7CisgICAgICAgIGVyciA9IC0xOwogICAgIH0KICAgICByZXR1cm4gZXJyOwogfQpAQCAtMjgyNCwzMyArMjkxNywyMCBAQAogc3RhdGljIFB5T2JqZWN0ICoKIG9iamVjdF9uZXcoUHlUeXBlT2JqZWN0ICp0eXBlLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3ZHMpCiB7Ci0gICAgaW50IGVyciA9IDA7Ci0gICAgaWYgKGV4Y2Vzc19hcmdzKGFyZ3MsIGt3ZHMpKSB7Ci0gICAgICAgIGlmICh0eXBlLT50cF9uZXcgIT0gb2JqZWN0X25ldyAmJgotICAgICAgICAgICAgdHlwZS0+dHBfaW5pdCAhPSBvYmplY3RfaW5pdCkKLSAgICAgICAgewotICAgICAgICAgICAgZXJyID0gUHlFcnJfV2FybkV4KFB5RXhjX0RlcHJlY2F0aW9uV2FybmluZywKLSAgICAgICAgICAgICAgICAgICAgICAgIm9iamVjdC5fX25ld19fKCkgdGFrZXMgbm8gcGFyYW1ldGVycyIsCi0gICAgICAgICAgICAgICAgICAgICAgIDEpOwotICAgICAgICB9Ci0gICAgICAgIGVsc2UgaWYgKHR5cGUtPnRwX25ldyAhPSBvYmplY3RfbmV3IHx8Ci0gICAgICAgICAgICAgICAgIHR5cGUtPnRwX2luaXQgPT0gb2JqZWN0X2luaXQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsCi0gICAgICAgICAgICAgICAgIm9iamVjdC5fX25ld19fKCkgdGFrZXMgbm8gcGFyYW1ldGVycyIpOwotICAgICAgICAgICAgZXJyID0gLTE7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgaWYgKGVyciA8IDApCisgICAgaWYgKGV4Y2Vzc19hcmdzKGFyZ3MsIGt3ZHMpICYmCisgICAgICAgICh0eXBlLT50cF9pbml0ID09IG9iamVjdF9pbml0IHx8IHR5cGUtPnRwX25ldyAhPSBvYmplY3RfbmV3KSkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCAib2JqZWN0Ll9fbmV3X18oKSB0YWtlcyBubyBwYXJhbWV0ZXJzIik7CiAgICAgICAgIHJldHVybiBOVUxMOwotCisgICAgfQorIAogICAgIGlmICh0eXBlLT50cF9mbGFncyAmIFB5X1RQRkxBR1NfSVNfQUJTVFJBQ1QpIHsKLSAgICAgICAgc3RhdGljIFB5T2JqZWN0ICpjb21tYSA9IE5VTEw7CiAgICAgICAgIFB5T2JqZWN0ICphYnN0cmFjdF9tZXRob2RzID0gTlVMTDsKICAgICAgICAgUHlPYmplY3QgKmJ1aWx0aW5zOwogICAgICAgICBQeU9iamVjdCAqc29ydGVkOwogICAgICAgICBQeU9iamVjdCAqc29ydGVkX21ldGhvZHMgPSBOVUxMOwogICAgICAgICBQeU9iamVjdCAqam9pbmVkID0gTlVMTDsKKyAgICAgICAgUHlPYmplY3QgKmNvbW1hOworICAgICAgICBfUHlfc3RhdGljX3N0cmluZyhjb21tYV9pZCwgIiwgIik7CiAKICAgICAgICAgLyogQ29tcHV0ZSAiLCAiLmpvaW4oc29ydGVkKHR5cGUuX19hYnN0cmFjdG1ldGhvZHNfXykpCiAgICAgICAgICAgIGludG8gam9pbmVkLiAqLwpAQCAtMjg2OCwxMyArMjk0OCwxMCBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCk7CiAgICAgICAgIGlmIChzb3J0ZWRfbWV0aG9kcyA9PSBOVUxMKQogICAgICAgICAgICAgZ290byBlcnJvcjsKLSAgICAgICAgaWYgKGNvbW1hID09IE5VTEwpIHsKLSAgICAgICAgICAgIGNvbW1hID0gUHlVbmljb2RlX0ludGVybkZyb21TdHJpbmcoIiwgIik7Ci0gICAgICAgICAgICBpZiAoY29tbWEgPT0gTlVMTCkKLSAgICAgICAgICAgICAgICBnb3RvIGVycm9yOwotICAgICAgICB9Ci0gICAgICAgIGpvaW5lZCA9IFB5T2JqZWN0X0NhbGxNZXRob2QoY29tbWEsICJqb2luIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTyIsICBzb3J0ZWRfbWV0aG9kcyk7CisgICAgICAgIGNvbW1hID0gX1B5VW5pY29kZV9Gcm9tSWQoJmNvbW1hX2lkKTsKKyAgICAgICAgaWYgKGNvbW1hID09IE5VTEwpCisgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICBqb2luZWQgPSBQeVVuaWNvZGVfSm9pbihjb21tYSwgc29ydGVkX21ldGhvZHMpOwogICAgICAgICBpZiAoam9pbmVkID09IE5VTEwpCiAgICAgICAgICAgICBnb3RvIGVycm9yOwogCkBAIC0yOTEyLDcgKzI5ODksNyBAQAogICAgICAgICBQeV9ERUNSRUYobW9kKTsKICAgICAgICAgbW9kID0gTlVMTDsKICAgICB9Ci0gICAgbmFtZSA9IHR5cGVfbmFtZSh0eXBlLCBOVUxMKTsKKyAgICBuYW1lID0gdHlwZV9xdWFsbmFtZSh0eXBlLCBOVUxMKTsKICAgICBpZiAobmFtZSA9PSBOVUxMKQogICAgICAgICByZXR1cm4gTlVMTDsKICAgICBpZiAobW9kICE9IE5VTEwgJiYgUHlVbmljb2RlX0NvbXBhcmVXaXRoQVNDSUlTdHJpbmcobW9kLCAiYnVpbHRpbnMiKSkKQEAgLTMwNzUsNyArMzE1Miw3IEBACiAgICAgfQogICAgIGlmICghUHlUeXBlX0NoZWNrKHZhbHVlKSkgewogICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLAotICAgICAgICAgICJfX2NsYXNzX18gbXVzdCBiZSBzZXQgdG8gbmV3LXN0eWxlIGNsYXNzLCBub3QgJyVzJyBvYmplY3QiLAorICAgICAgICAgICJfX2NsYXNzX18gbXVzdCBiZSBzZXQgdG8gYSBjbGFzcywgbm90ICclcycgb2JqZWN0IiwKICAgICAgICAgICBQeV9UWVBFKHZhbHVlKS0+dHBfbmFtZSk7CiAgICAgICAgIHJldHVybiAtMTsKICAgICB9CkBAIC0zMTE2LDE0ICszMTkzLDE5IEBACiBpbXBvcnRfY29weXJlZyh2b2lkKQogewogICAgIHN0YXRpYyBQeU9iamVjdCAqY29weXJlZ19zdHI7CisgICAgc3RhdGljIFB5T2JqZWN0ICptb2RfY29weXJlZyA9IE5VTEw7CiAKICAgICBpZiAoIWNvcHlyZWdfc3RyKSB7CiAgICAgICAgIGNvcHlyZWdfc3RyID0gUHlVbmljb2RlX0ludGVybkZyb21TdHJpbmcoImNvcHlyZWciKTsKICAgICAgICAgaWYgKGNvcHlyZWdfc3RyID09IE5VTEwpCiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CisgICAgaWYgKCFtb2RfY29weXJlZykgeworICAgICAgICBtb2RfY29weXJlZyA9IFB5SW1wb3J0X0ltcG9ydChjb3B5cmVnX3N0cik7CisgICAgfQogCi0gICAgcmV0dXJuIFB5SW1wb3J0X0ltcG9ydChjb3B5cmVnX3N0cik7CisgICAgUHlfWElOQ1JFRihtb2RfY29weXJlZyk7CisgICAgcmV0dXJuIG1vZF9jb3B5cmVnOwogfQogCiBzdGF0aWMgUHlPYmplY3QgKgpAQCAtMzEzMiwxNCArMzIxNCwxNyBAQAogICAgIFB5T2JqZWN0ICpjbHNkaWN0OwogICAgIFB5T2JqZWN0ICpjb3B5cmVnOwogICAgIFB5T2JqZWN0ICpzbG90bmFtZXM7CisgICAgc3RhdGljIFB5T2JqZWN0ICpzdHJfc2xvdG5hbWVzOworICAgIF9QeV9JREVOVElGSUVSKF9zbG90bmFtZXMpOwogCi0gICAgaWYgKCFQeVR5cGVfQ2hlY2soY2xzKSkgewotICAgICAgICBQeV9JTkNSRUYoUHlfTm9uZSk7Ci0gICAgICAgIHJldHVybiBQeV9Ob25lOworICAgIGlmIChzdHJfc2xvdG5hbWVzID09IE5VTEwpIHsKKyAgICAgICAgc3RyX3Nsb3RuYW1lcyA9IFB5VW5pY29kZV9JbnRlcm5Gcm9tU3RyaW5nKCJfX3Nsb3RuYW1lc19fIik7CisgICAgICAgIGlmIChzdHJfc2xvdG5hbWVzID09IE5VTEwpCisgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAKICAgICBjbHNkaWN0ID0gKChQeVR5cGVPYmplY3QgKiljbHMpLT50cF9kaWN0OwotICAgIHNsb3RuYW1lcyA9IFB5RGljdF9HZXRJdGVtU3RyaW5nKGNsc2RpY3QsICJfX3Nsb3RuYW1lc19fIik7CisgICAgc2xvdG5hbWVzID0gUHlEaWN0X0dldEl0ZW0oY2xzZGljdCwgc3RyX3Nsb3RuYW1lcyk7CiAgICAgaWYgKHNsb3RuYW1lcyAhPSBOVUxMICYmIFB5TGlzdF9DaGVjayhzbG90bmFtZXMpKSB7CiAgICAgICAgIFB5X0lOQ1JFRihzbG90bmFtZXMpOwogICAgICAgICByZXR1cm4gc2xvdG5hbWVzOwpAQCAtMzE0OSw3ICszMjM0LDcgQEAKICAgICBpZiAoY29weXJlZyA9PSBOVUxMKQogICAgICAgICByZXR1cm4gTlVMTDsKIAotICAgIHNsb3RuYW1lcyA9IFB5T2JqZWN0X0NhbGxNZXRob2QoY29weXJlZywgIl9zbG90bmFtZXMiLCAiTyIsIGNscyk7CisgICAgc2xvdG5hbWVzID0gX1B5T2JqZWN0X0NhbGxNZXRob2RJZChjb3B5cmVnLCAmUHlJZF9fc2xvdG5hbWVzLCAiTyIsIGNscyk7CiAgICAgUHlfREVDUkVGKGNvcHlyZWcpOwogICAgIGlmIChzbG90bmFtZXMgIT0gTlVMTCAmJgogICAgICAgICBzbG90bmFtZXMgIT0gUHlfTm9uZSAmJgpAQCAtMzE3MywxMiArMzI1OCwyMCBAQAogICAgIFB5T2JqZWN0ICpzbG90cyA9IE5VTEwsICpsaXN0aXRlbXMgPSBOVUxMLCAqZGljdGl0ZW1zID0gTlVMTDsKICAgICBQeU9iamVjdCAqY29weXJlZyA9IE5VTEwsICpuZXdvYmogPSBOVUxMLCAqcmVzID0gTlVMTDsKICAgICBQeV9zc2l6ZV90IGksIG47CisgICAgc3RhdGljIFB5T2JqZWN0ICpzdHJfZ2V0bmV3YXJncyA9IE5VTEwsICpzdHJfZ2V0c3RhdGUgPSBOVUxMLAorICAgICAgICAgICAgICAgICAgICAqc3RyX25ld29iaiA9IE5VTEw7CiAKLSAgICBjbHMgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKG9iaiwgIl9fY2xhc3NfXyIpOwotICAgIGlmIChjbHMgPT0gTlVMTCkKLSAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgaWYgKHN0cl9nZXRuZXdhcmdzID09IE5VTEwpIHsKKyAgICAgICAgc3RyX2dldG5ld2FyZ3MgPSBQeVVuaWNvZGVfSW50ZXJuRnJvbVN0cmluZygiX19nZXRuZXdhcmdzX18iKTsKKyAgICAgICAgc3RyX2dldHN0YXRlID0gUHlVbmljb2RlX0ludGVybkZyb21TdHJpbmcoIl9fZ2V0c3RhdGVfXyIpOworICAgICAgICBzdHJfbmV3b2JqID0gUHlVbmljb2RlX0ludGVybkZyb21TdHJpbmcoIl9fbmV3b2JqX18iKTsKKyAgICAgICAgaWYgKCFzdHJfZ2V0bmV3YXJncyB8fCAhc3RyX2dldHN0YXRlIHx8ICFzdHJfbmV3b2JqKQorICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQogCi0gICAgZ2V0bmV3YXJncyA9IFB5T2JqZWN0X0dldEF0dHJTdHJpbmcob2JqLCAiX19nZXRuZXdhcmdzX18iKTsKKyAgICBjbHMgPSAoUHlPYmplY3QgKikgUHlfVFlQRShvYmopOworCisgICAgZ2V0bmV3YXJncyA9IFB5T2JqZWN0X0dldEF0dHIob2JqLCBzdHJfZ2V0bmV3YXJncyk7CiAgICAgaWYgKGdldG5ld2FyZ3MgIT0gTlVMTCkgewogICAgICAgICBhcmdzID0gUHlPYmplY3RfQ2FsbE9iamVjdChnZXRuZXdhcmdzLCBOVUxMKTsKICAgICAgICAgUHlfREVDUkVGKGdldG5ld2FyZ3MpOwpAQCAtMzE5Niw3ICszMjg5LDcgQEAKICAgICBpZiAoYXJncyA9PSBOVUxMKQogICAgICAgICBnb3RvIGVuZDsKIAotICAgIGdldHN0YXRlID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyhvYmosICJfX2dldHN0YXRlX18iKTsKKyAgICBnZXRzdGF0ZSA9IFB5T2JqZWN0X0dldEF0dHIob2JqLCBzdHJfZ2V0c3RhdGUpOwogICAgIGlmIChnZXRzdGF0ZSAhPSBOVUxMKSB7CiAgICAgICAgIHN0YXRlID0gUHlPYmplY3RfQ2FsbE9iamVjdChnZXRzdGF0ZSwgTlVMTCk7CiAgICAgICAgIFB5X0RFQ1JFRihnZXRzdGF0ZSk7CkBAIC0zMjA0LDE3ICszMjk3LDE4IEBACiAgICAgICAgICAgICBnb3RvIGVuZDsKICAgICB9CiAgICAgZWxzZSB7CisgICAgICAgIFB5T2JqZWN0ICoqZGljdDsKICAgICAgICAgUHlFcnJfQ2xlYXIoKTsKLSAgICAgICAgc3RhdGUgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKG9iaiwgIl9fZGljdF9fIik7Ci0gICAgICAgIGlmIChzdGF0ZSA9PSBOVUxMKSB7Ci0gICAgICAgICAgICBQeUVycl9DbGVhcigpOworICAgICAgICBkaWN0ID0gX1B5T2JqZWN0X0dldERpY3RQdHIob2JqKTsKKyAgICAgICAgaWYgKGRpY3QgJiYgKmRpY3QpCisgICAgICAgICAgICBzdGF0ZSA9ICpkaWN0OworICAgICAgICBlbHNlCiAgICAgICAgICAgICBzdGF0ZSA9IFB5X05vbmU7Ci0gICAgICAgICAgICBQeV9JTkNSRUYoc3RhdGUpOwotICAgICAgICB9CisgICAgICAgIFB5X0lOQ1JFRihzdGF0ZSk7CiAgICAgICAgIG5hbWVzID0gc2xvdG5hbWVzKGNscyk7CiAgICAgICAgIGlmIChuYW1lcyA9PSBOVUxMKQogICAgICAgICAgICAgZ290byBlbmQ7Ci0gICAgICAgIGlmIChuYW1lcyAhPSBQeV9Ob25lKSB7CisgICAgICAgIGlmIChuYW1lcyAhPSBQeV9Ob25lICYmIFB5TGlzdF9HRVRfU0laRShuYW1lcykgPiAwKSB7CiAgICAgICAgICAgICBhc3NlcnQoUHlMaXN0X0NoZWNrKG5hbWVzKSk7CiAgICAgICAgICAgICBzbG90cyA9IFB5RGljdF9OZXcoKTsKICAgICAgICAgICAgIGlmIChzbG90cyA9PSBOVUxMKQpAQCAtMzI2MSw3ICszMzU1LDggQEAKICAgICAgICAgUHlfSU5DUkVGKGRpY3RpdGVtcyk7CiAgICAgfQogICAgIGVsc2UgewotICAgICAgICBQeU9iamVjdCAqaXRlbXMgPSBQeU9iamVjdF9DYWxsTWV0aG9kKG9iaiwgIml0ZW1zIiwgIiIpOworICAgICAgICBfUHlfSURFTlRJRklFUihpdGVtcyk7CisgICAgICAgIFB5T2JqZWN0ICppdGVtcyA9IF9QeU9iamVjdF9DYWxsTWV0aG9kSWQob2JqLCAmUHlJZF9pdGVtcywgIiIpOwogICAgICAgICBpZiAoaXRlbXMgPT0gTlVMTCkKICAgICAgICAgICAgIGdvdG8gZW5kOwogICAgICAgICBkaWN0aXRlbXMgPSBQeU9iamVjdF9HZXRJdGVyKGl0ZW1zKTsKQEAgLTMyNzMsNyArMzM2OCw3IEBACiAgICAgY29weXJlZyA9IGltcG9ydF9jb3B5cmVnKCk7CiAgICAgaWYgKGNvcHlyZWcgPT0gTlVMTCkKICAgICAgICAgZ290byBlbmQ7Ci0gICAgbmV3b2JqID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyhjb3B5cmVnLCAiX19uZXdvYmpfXyIpOworICAgIG5ld29iaiA9IFB5T2JqZWN0X0dldEF0dHIoY29weXJlZywgc3RyX25ld29iaik7CiAgICAgaWYgKG5ld29iaiA9PSBOVUxMKQogICAgICAgICBnb3RvIGVuZDsKIApAQCAtMzI4MSw4ICszMzc2LDggQEAKICAgICBhcmdzMiA9IFB5VHVwbGVfTmV3KG4rMSk7CiAgICAgaWYgKGFyZ3MyID09IE5VTEwpCiAgICAgICAgIGdvdG8gZW5kOworICAgIFB5X0lOQ1JFRihjbHMpOwogICAgIFB5VHVwbGVfU0VUX0lURU0oYXJnczIsIDAsIGNscyk7Ci0gICAgY2xzID0gTlVMTDsKICAgICBmb3IgKGkgPSAwOyBpIDwgbjsgaSsrKSB7CiAgICAgICAgIFB5T2JqZWN0ICp2ID0gUHlUdXBsZV9HRVRfSVRFTShhcmdzLCBpKTsKICAgICAgICAgUHlfSU5DUkVGKHYpOwpAQCAtMzI5Miw3ICszMzg3LDYgQEAKICAgICByZXMgPSBQeVR1cGxlX1BhY2soNSwgbmV3b2JqLCBhcmdzMiwgc3RhdGUsIGxpc3RpdGVtcywgZGljdGl0ZW1zKTsKIAogICBlbmQ6Ci0gICAgUHlfWERFQ1JFRihjbHMpOwogICAgIFB5X1hERUNSRUYoYXJncyk7CiAgICAgUHlfWERFQ1JFRihhcmdzMik7CiAgICAgUHlfWERFQ1JFRihzbG90cyk7CkBAIC0zMzUyLDMxICszNDQ2LDM0IEBACiBzdGF0aWMgUHlPYmplY3QgKgogb2JqZWN0X3JlZHVjZV9leChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCiB7CisgICAgc3RhdGljIFB5T2JqZWN0ICpzdHJfcmVkdWNlID0gTlVMTCwgKm9ianJlZHVjZTsKICAgICBQeU9iamVjdCAqcmVkdWNlLCAqcmVzOwogICAgIGludCBwcm90byA9IDA7CiAKICAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgInxpOl9fcmVkdWNlX2V4X18iLCAmcHJvdG8pKQogICAgICAgICByZXR1cm4gTlVMTDsKIAotICAgIHJlZHVjZSA9IFB5T2JqZWN0X0dldEF0dHJTdHJpbmcoc2VsZiwgIl9fcmVkdWNlX18iKTsKKyAgICBpZiAoc3RyX3JlZHVjZSA9PSBOVUxMKSB7CisgICAgICAgIHN0cl9yZWR1Y2UgPSBQeVVuaWNvZGVfSW50ZXJuRnJvbVN0cmluZygiX19yZWR1Y2VfXyIpOworICAgICAgICBvYmpyZWR1Y2UgPSBQeURpY3RfR2V0SXRlbVN0cmluZyhQeUJhc2VPYmplY3RfVHlwZS50cF9kaWN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiX19yZWR1Y2VfXyIpOworICAgICAgICBpZiAoc3RyX3JlZHVjZSA9PSBOVUxMIHx8IG9ianJlZHVjZSA9PSBOVUxMKQorICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorCisgICAgcmVkdWNlID0gUHlPYmplY3RfR2V0QXR0cihzZWxmLCBzdHJfcmVkdWNlKTsKICAgICBpZiAocmVkdWNlID09IE5VTEwpCiAgICAgICAgIFB5RXJyX0NsZWFyKCk7CiAgICAgZWxzZSB7Ci0gICAgICAgIFB5T2JqZWN0ICpjbHMsICpjbHNyZWR1Y2UsICpvYmpyZWR1Y2U7CisgICAgICAgIFB5T2JqZWN0ICpjbHMsICpjbHNyZWR1Y2U7CiAgICAgICAgIGludCBvdmVycmlkZTsKLSAgICAgICAgY2xzID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyhzZWxmLCAiX19jbGFzc19fIik7Ci0gICAgICAgIGlmIChjbHMgPT0gTlVMTCkgewotICAgICAgICAgICAgUHlfREVDUkVGKHJlZHVjZSk7Ci0gICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgfQotICAgICAgICBjbHNyZWR1Y2UgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKGNscywgIl9fcmVkdWNlX18iKTsKLSAgICAgICAgUHlfREVDUkVGKGNscyk7CisKKyAgICAgICAgY2xzID0gKFB5T2JqZWN0ICopIFB5X1RZUEUoc2VsZik7CisgICAgICAgIGNsc3JlZHVjZSA9IFB5T2JqZWN0X0dldEF0dHIoY2xzLCBzdHJfcmVkdWNlKTsKICAgICAgICAgaWYgKGNsc3JlZHVjZSA9PSBOVUxMKSB7CiAgICAgICAgICAgICBQeV9ERUNSRUYocmVkdWNlKTsKICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICB9Ci0gICAgICAgIG9ianJlZHVjZSA9IFB5RGljdF9HZXRJdGVtU3RyaW5nKFB5QmFzZU9iamVjdF9UeXBlLnRwX2RpY3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJfX3JlZHVjZV9fIik7CiAgICAgICAgIG92ZXJyaWRlID0gKGNsc3JlZHVjZSAhPSBvYmpyZWR1Y2UpOwogICAgICAgICBQeV9ERUNSRUYoY2xzcmVkdWNlKTsKICAgICAgICAgaWYgKG92ZXJyaWRlKSB7CkBAIC0zMzk0LDggKzM0OTEsNyBAQAogc3RhdGljIFB5T2JqZWN0ICoKIG9iamVjdF9zdWJjbGFzc2hvb2soUHlPYmplY3QgKmNscywgUHlPYmplY3QgKmFyZ3MpCiB7Ci0gICAgUHlfSU5DUkVGKFB5X05vdEltcGxlbWVudGVkKTsKLSAgICByZXR1cm4gUHlfTm90SW1wbGVtZW50ZWQ7CisgICAgUHlfUkVUVVJOX05PVElNUExFTUVOVEVEOwogfQogCiBQeURvY19TVFJWQVIob2JqZWN0X3N1YmNsYXNzaG9va19kb2MsCkBAIC0zNDI2LDIxICszNTIyLDIxIEBACiAgICAgc2VsZl9hc19zdHIgPSBQeU9iamVjdF9TdHIoc2VsZik7CiAgICAgaWYgKHNlbGZfYXNfc3RyICE9IE5VTEwpIHsKICAgICAgICAgLyogSXNzdWUgNzk5NDogSWYgd2UncmUgY29udmVydGluZyB0byBhIHN0cmluZywgd2UKLQkgICBzaG91bGQgcmVqZWN0IGZvcm1hdCBzcGVjaWZpY2F0aW9ucyAqLwotICAgICAgICBpZiAoUHlVbmljb2RlX0dFVF9TSVpFKGZvcm1hdF9zcGVjKSA+IDApIHsKLQkgICAgaWYgKFB5RXJyX1dhcm5FeChQeUV4Y19QZW5kaW5nRGVwcmVjYXRpb25XYXJuaW5nLAotCQkJICAgICAib2JqZWN0Ll9fZm9ybWF0X18gd2l0aCBhIG5vbi1lbXB0eSBmb3JtYXQgIgotCQkJICAgICAic3RyaW5nIGlzIGRlcHJlY2F0ZWQiLCAxKSA8IDApIHsKLQkgICAgICBnb3RvIGRvbmU7Ci0JICAgIH0KLQkgICAgLyogRXZlbnR1YWxseSB0aGlzIHdpbGwgYmVjb21lIGFuIGVycm9yOgotCSAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLAotCSAgICAgICAibm9uLWVtcHR5IGZvcm1hdCBzdHJpbmcgcGFzc2VkIHRvIG9iamVjdC5fX2Zvcm1hdF9fIik7Ci0JICAgICAgIGdvdG8gZG9uZTsKLQkgICAgKi8KLQl9CisgICAgICAgICAgIHNob3VsZCByZWplY3QgZm9ybWF0IHNwZWNpZmljYXRpb25zICovCisgICAgICAgIGlmIChQeVVuaWNvZGVfR0VUX0xFTkdUSChmb3JtYXRfc3BlYykgPiAwKSB7CisgICAgICAgICAgICBpZiAoUHlFcnJfV2FybkV4KFB5RXhjX0RlcHJlY2F0aW9uV2FybmluZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9iamVjdC5fX2Zvcm1hdF9fIHdpdGggYSBub24tZW1wdHkgZm9ybWF0ICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInN0cmluZyBpcyBkZXByZWNhdGVkIiwgMSkgPCAwKSB7CisgICAgICAgICAgICAgIGdvdG8gZG9uZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIC8qIEV2ZW50dWFsbHkgdGhpcyB3aWxsIGJlY29tZSBhbiBlcnJvcjoKKyAgICAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsCisgICAgICAgICAgICAgICAibm9uLWVtcHR5IGZvcm1hdCBzdHJpbmcgcGFzc2VkIHRvIG9iamVjdC5fX2Zvcm1hdF9fIik7CisgICAgICAgICAgICAgICBnb3RvIGRvbmU7CisgICAgICAgICAgICAqLworICAgICAgICB9CiAKLQlyZXN1bHQgPSBQeU9iamVjdF9Gb3JtYXQoc2VsZl9hc19zdHIsIGZvcm1hdF9zcGVjKTsKKyAgICAgICAgcmVzdWx0ID0gUHlPYmplY3RfRm9ybWF0KHNlbGZfYXNfc3RyLCBmb3JtYXRfc3BlYyk7CiAgICAgfQogCiBkb25lOgpAQCAtMzQ2Myw2ICszNTU5LDUzIEBACiAgICAgcmV0dXJuIFB5TG9uZ19Gcm9tU3NpemVfdChyZXMpOwogfQogCisvKiBfX2Rpcl9fIGZvciBnZW5lcmljIG9iamVjdHM6IHJldHVybnMgX19kaWN0X18sIF9fY2xhc3NfXywKKyAgIGFuZCByZWN1cnNpdmVseSB1cCB0aGUgX19jbGFzc19fLl9fYmFzZXNfXyBjaGFpbi4KKyovCitzdGF0aWMgUHlPYmplY3QgKgorb2JqZWN0X2RpcihQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgUHlPYmplY3QgKnJlc3VsdCA9IE5VTEw7CisgICAgUHlPYmplY3QgKmRpY3QgPSBOVUxMOworICAgIFB5T2JqZWN0ICppdHNjbGFzcyA9IE5VTEw7CisKKyAgICAvKiBHZXQgX19kaWN0X18gKHdoaWNoIG1heSBvciBtYXkgbm90IGJlIGEgcmVhbCBkaWN0Li4uKSAqLworICAgIGRpY3QgPSBfUHlPYmplY3RfR2V0QXR0cklkKHNlbGYsICZQeUlkX19fZGljdF9fKTsKKyAgICBpZiAoZGljdCA9PSBOVUxMKSB7CisgICAgICAgIFB5RXJyX0NsZWFyKCk7CisgICAgICAgIGRpY3QgPSBQeURpY3RfTmV3KCk7CisgICAgfQorICAgIGVsc2UgaWYgKCFQeURpY3RfQ2hlY2soZGljdCkpIHsKKyAgICAgICAgUHlfREVDUkVGKGRpY3QpOworICAgICAgICBkaWN0ID0gUHlEaWN0X05ldygpOworICAgIH0KKyAgICBlbHNlIHsKKyAgICAgICAgLyogQ29weSBfX2RpY3RfXyB0byBhdm9pZCBtdXRhdGluZyBpdC4gKi8KKyAgICAgICAgUHlPYmplY3QgKnRlbXAgPSBQeURpY3RfQ29weShkaWN0KTsKKyAgICAgICAgUHlfREVDUkVGKGRpY3QpOworICAgICAgICBkaWN0ID0gdGVtcDsKKyAgICB9CisKKyAgICBpZiAoZGljdCA9PSBOVUxMKQorICAgICAgICBnb3RvIGVycm9yOworCisgICAgLyogTWVyZ2UgaW4gYXR0cnMgcmVhY2hhYmxlIGZyb20gaXRzIGNsYXNzLiAqLworICAgIGl0c2NsYXNzID0gX1B5T2JqZWN0X0dldEF0dHJJZChzZWxmLCAmUHlJZF9fX2NsYXNzX18pOworICAgIGlmIChpdHNjbGFzcyA9PSBOVUxMKQorICAgICAgICAvKiBYWFgodG9tZXIpOiBQZXJoYXBzIGZhbGwgYmFjayB0byBvYmotPm9iX3R5cGUgaWYgbm8KKyAgICAgICAgICAgICAgICAgICAgICAgX19jbGFzc19fIGV4aXN0cz8gKi8KKyAgICAgICAgUHlFcnJfQ2xlYXIoKTsKKyAgICBlbHNlIGlmIChtZXJnZV9jbGFzc19kaWN0KGRpY3QsIGl0c2NsYXNzKSAhPSAwKQorICAgICAgICBnb3RvIGVycm9yOworCisgICAgcmVzdWx0ID0gUHlEaWN0X0tleXMoZGljdCk7CisgICAgLyogZmFsbCB0aHJvdWdoICovCitlcnJvcjoKKyAgICBQeV9YREVDUkVGKGl0c2NsYXNzKTsKKyAgICBQeV9YREVDUkVGKGRpY3QpOworICAgIHJldHVybiByZXN1bHQ7Cit9CisKIHN0YXRpYyBQeU1ldGhvZERlZiBvYmplY3RfbWV0aG9kc1tdID0gewogICAgIHsiX19yZWR1Y2VfZXhfXyIsIG9iamVjdF9yZWR1Y2VfZXgsIE1FVEhfVkFSQVJHUywKICAgICAgUHlEb2NfU1RSKCJoZWxwZXIgZm9yIHBpY2tsZSIpfSwKQEAgLTM0NzQsNiArMzYxNyw4IEBACiAgICAgIFB5RG9jX1NUUigiZGVmYXVsdCBvYmplY3QgZm9ybWF0dGVyIil9LAogICAgIHsiX19zaXplb2ZfXyIsIG9iamVjdF9zaXplb2YsIE1FVEhfTk9BUkdTLAogICAgICBQeURvY19TVFIoIl9fc2l6ZW9mX18oKSAtPiBpbnRcbnNpemUgb2Ygb2JqZWN0IGluIG1lbW9yeSwgaW4gYnl0ZXMiKX0sCisgICAgeyJfX2Rpcl9fIiwgb2JqZWN0X2RpciwgTUVUSF9OT0FSR1MsCisgICAgIFB5RG9jX1NUUigiX19kaXJfXygpIC0+IGxpc3RcbmRlZmF1bHQgZGlyKCkgaW1wbGVtZW50YXRpb24iKX0sCiAgICAgezB9CiB9OwogCkBAIC0zNTQyLDcgKzM2ODcsNyBAQAogICAgICAgICAgICAgZGVzY3IgPSBQeURlc2NyX05ld0NsYXNzTWV0aG9kKHR5cGUsIG1ldGgpOwogICAgICAgICB9CiAgICAgICAgIGVsc2UgaWYgKG1ldGgtPm1sX2ZsYWdzICYgTUVUSF9TVEFUSUMpIHsKLSAgICAgICAgICAgIFB5T2JqZWN0ICpjZnVuYyA9IFB5Q0Z1bmN0aW9uX05ldyhtZXRoLCBOVUxMKTsKKyAgICAgICAgICAgIFB5T2JqZWN0ICpjZnVuYyA9IFB5Q0Z1bmN0aW9uX05ldyhtZXRoLCAoUHlPYmplY3QqKXR5cGUpOwogICAgICAgICAgICAgaWYgKGNmdW5jID09IE5VTEwpCiAgICAgICAgICAgICAgICAgcmV0dXJuIC0xOwogICAgICAgICAgICAgZGVzY3IgPSBQeVN0YXRpY01ldGhvZF9OZXcoY2Z1bmMpOwpAQCAtMzYyMiw4ICszNzY3LDggQEAKICAgICAgICAgICAgdGhhdCB0aGUgZXh0ZW5zaW9uIHR5cGUncyBvd24gZmFjdG9yeSBmdW5jdGlvbiBlbnN1cmVzKS4KICAgICAgICAgICAgSGVhcCB0eXBlcywgb2YgY291cnNlLCBhcmUgdW5kZXIgb3VyIGNvbnRyb2wsIHNvIHRoZXkgZG8KICAgICAgICAgICAgaW5oZXJpdCB0cF9uZXc7IHN0YXRpYyBleHRlbnNpb24gdHlwZXMgdGhhdCBzcGVjaWZ5IHNvbWUKLSAgICAgICAgICAgb3RoZXIgYnVpbHQtaW4gdHlwZSBhcyB0aGUgZGVmYXVsdCBhcmUgY29uc2lkZXJlZAotICAgICAgICAgICBuZXctc3R5bGUtYXdhcmUgc28gdGhleSBhbHNvIGluaGVyaXQgb2JqZWN0Ll9fbmV3X18uICovCisgICAgICAgICAgIG90aGVyIGJ1aWx0LWluIHR5cGUgYXMgdGhlIGRlZmF1bHQgYWxzbworICAgICAgICAgICBpbmhlcml0IG9iamVjdC5fX25ld19fLiAqLwogICAgICAgICBpZiAoYmFzZSAhPSAmUHlCYXNlT2JqZWN0X1R5cGUgfHwKICAgICAgICAgICAgICh0eXBlLT50cF9mbGFncyAmIFB5X1RQRkxBR1NfSEVBUFRZUEUpKSB7CiAgICAgICAgICAgICBpZiAodHlwZS0+dHBfbmV3ID09IE5VTEwpCkBAIC00NjM1LDE2ICs0NzgwLDE2IEBACiBzdGF0aWMgUHlPYmplY3QgKiBcCiBGVU5DTkFNRShQeU9iamVjdCAqc2VsZikgXAogeyBcCi0gICAgc3RhdGljIFB5T2JqZWN0ICpjYWNoZV9zdHI7IFwKLSAgICByZXR1cm4gY2FsbF9tZXRob2Qoc2VsZiwgT1BTVFIsICZjYWNoZV9zdHIsICIoKSIpOyBcCisgICAgX1B5X3N0YXRpY19zdHJpbmcoaWQsIE9QU1RSKTsgXAorICAgIHJldHVybiBjYWxsX21ldGhvZChzZWxmLCAmaWQsICIoKSIpOyBcCiB9CiAKICNkZWZpbmUgU0xPVDEoRlVOQ05BTUUsIE9QU1RSLCBBUkcxVFlQRSwgQVJHQ09ERVMpIFwKIHN0YXRpYyBQeU9iamVjdCAqIFwKIEZVTkNOQU1FKFB5T2JqZWN0ICpzZWxmLCBBUkcxVFlQRSBhcmcxKSBcCiB7IFwKLSAgICBzdGF0aWMgUHlPYmplY3QgKmNhY2hlX3N0cjsgXAotICAgIHJldHVybiBjYWxsX21ldGhvZChzZWxmLCBPUFNUUiwgJmNhY2hlX3N0ciwgIigiIEFSR0NPREVTICIpIiwgYXJnMSk7IFwKKyAgICBfUHlfc3RhdGljX3N0cmluZyhpZCwgT1BTVFIpOyBcCisgICAgcmV0dXJuIGNhbGxfbWV0aG9kKHNlbGYsICZpZCwgIigiIEFSR0NPREVTICIpIiwgYXJnMSk7IFwKIH0KIAogLyogQm9vbGVhbiBoZWxwZXIgZm9yIFNMT1QxQklORlVMTCgpLgpAQCAtNDY4Niw3ICs0ODMxLDggQEAKIHN0YXRpYyBQeU9iamVjdCAqIFwKIEZVTkNOQU1FKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqb3RoZXIpIFwKIHsgXAotICAgIHN0YXRpYyBQeU9iamVjdCAqY2FjaGVfc3RyLCAqcmNhY2hlX3N0cjsgXAorICAgIF9QeV9zdGF0aWNfc3RyaW5nKG9wX2lkLCBPUFNUUik7IFwKKyAgICBfUHlfc3RhdGljX3N0cmluZyhyb3BfaWQsIFJPUFNUUik7IFwKICAgICBpbnQgZG9fb3RoZXIgPSBQeV9UWVBFKHNlbGYpICE9IFB5X1RZUEUob3RoZXIpICYmIFwKICAgICAgICAgUHlfVFlQRShvdGhlciktPnRwX2FzX251bWJlciAhPSBOVUxMICYmIFwKICAgICAgICAgUHlfVFlQRShvdGhlciktPnRwX2FzX251bWJlci0+U0xPVE5BTUUgPT0gVEVTVEZVTkM7IFwKQEAgLTQ2OTYsMjYgKzQ4NDIsMjIgQEAKICAgICAgICAgaWYgKGRvX290aGVyICYmIFwKICAgICAgICAgICAgIFB5VHlwZV9Jc1N1YnR5cGUoUHlfVFlQRShvdGhlciksIFB5X1RZUEUoc2VsZikpICYmIFwKICAgICAgICAgICAgIG1ldGhvZF9pc19vdmVybG9hZGVkKHNlbGYsIG90aGVyLCBST1BTVFIpKSB7IFwKLSAgICAgICAgICAgIHIgPSBjYWxsX21heWJlKCBcCi0gICAgICAgICAgICAgICAgb3RoZXIsIFJPUFNUUiwgJnJjYWNoZV9zdHIsICIoTykiLCBzZWxmKTsgXAorICAgICAgICAgICAgciA9IGNhbGxfbWF5YmUob3RoZXIsICZyb3BfaWQsICIoTykiLCBzZWxmKTsgXAogICAgICAgICAgICAgaWYgKHIgIT0gUHlfTm90SW1wbGVtZW50ZWQpIFwKICAgICAgICAgICAgICAgICByZXR1cm4gcjsgXAogICAgICAgICAgICAgUHlfREVDUkVGKHIpOyBcCiAgICAgICAgICAgICBkb19vdGhlciA9IDA7IFwKICAgICAgICAgfSBcCi0gICAgICAgIHIgPSBjYWxsX21heWJlKCBcCi0gICAgICAgICAgICBzZWxmLCBPUFNUUiwgJmNhY2hlX3N0ciwgIihPKSIsIG90aGVyKTsgXAorICAgICAgICByID0gY2FsbF9tYXliZShzZWxmLCAmb3BfaWQsICIoTykiLCBvdGhlcik7IFwKICAgICAgICAgaWYgKHIgIT0gUHlfTm90SW1wbGVtZW50ZWQgfHwgXAogICAgICAgICAgICAgUHlfVFlQRShvdGhlcikgPT0gUHlfVFlQRShzZWxmKSkgXAogICAgICAgICAgICAgcmV0dXJuIHI7IFwKICAgICAgICAgUHlfREVDUkVGKHIpOyBcCiAgICAgfSBcCiAgICAgaWYgKGRvX290aGVyKSB7IFwKLSAgICAgICAgcmV0dXJuIGNhbGxfbWF5YmUoIFwKLSAgICAgICAgICAgIG90aGVyLCBST1BTVFIsICZyY2FjaGVfc3RyLCAiKE8pIiwgc2VsZik7IFwKKyAgICAgICAgcmV0dXJuIGNhbGxfbWF5YmUob3RoZXIsICZyb3BfaWQsICIoTykiLCBzZWxmKTsgXAogICAgIH0gXAotICAgIFB5X0lOQ1JFRihQeV9Ob3RJbXBsZW1lbnRlZCk7IFwKLSAgICByZXR1cm4gUHlfTm90SW1wbGVtZW50ZWQ7IFwKKyAgICBQeV9SRVRVUk5fTk9USU1QTEVNRU5URUQ7IFwKIH0KIAogI2RlZmluZSBTTE9UMUJJTihGVU5DTkFNRSwgU0xPVE5BTUUsIE9QU1RSLCBST1BTVFIpIFwKQEAgLTQ3MjUsMTYgKzQ4NjcsMTUgQEAKIHN0YXRpYyBQeU9iamVjdCAqIFwKIEZVTkNOQU1FKFB5T2JqZWN0ICpzZWxmLCBBUkcxVFlQRSBhcmcxLCBBUkcyVFlQRSBhcmcyKSBcCiB7IFwKLSAgICBzdGF0aWMgUHlPYmplY3QgKmNhY2hlX3N0cjsgXAotICAgIHJldHVybiBjYWxsX21ldGhvZChzZWxmLCBPUFNUUiwgJmNhY2hlX3N0ciwgXAotICAgICAgICAgICAgICAgICAgICAgICAiKCIgQVJHQ09ERVMgIikiLCBhcmcxLCBhcmcyKTsgXAorICAgIF9QeV9zdGF0aWNfc3RyaW5nKGlkLCAjT1BTVFIpOyBcCisgICAgcmV0dXJuIGNhbGxfbWV0aG9kKHNlbGYsICZpZCwgIigiIEFSR0NPREVTICIpIiwgYXJnMSwgYXJnMik7IFwKIH0KIAogc3RhdGljIFB5X3NzaXplX3QKIHNsb3Rfc3FfbGVuZ3RoKFB5T2JqZWN0ICpzZWxmKQogewotICAgIHN0YXRpYyBQeU9iamVjdCAqbGVuX3N0cjsKLSAgICBQeU9iamVjdCAqcmVzID0gY2FsbF9tZXRob2Qoc2VsZiwgIl9fbGVuX18iLCAmbGVuX3N0ciwgIigpIik7CisgICAgX1B5X0lERU5USUZJRVIoX19sZW5fXyk7CisgICAgUHlPYmplY3QgKnJlcyA9IGNhbGxfbWV0aG9kKHNlbGYsICZQeUlkX19fbGVuX18sICIoKSIpOwogICAgIFB5X3NzaXplX3QgbGVuOwogCiAgICAgaWYgKHJlcyA9PSBOVUxMKQpAQCAtNDc5OSwxNCArNDk0MCwxMyBAQAogc2xvdF9zcV9hc3NfaXRlbShQeU9iamVjdCAqc2VsZiwgUHlfc3NpemVfdCBpbmRleCwgUHlPYmplY3QgKnZhbHVlKQogewogICAgIFB5T2JqZWN0ICpyZXM7Ci0gICAgc3RhdGljIFB5T2JqZWN0ICpkZWxpdGVtX3N0ciwgKnNldGl0ZW1fc3RyOworICAgIF9QeV9JREVOVElGSUVSKF9fZGVsaXRlbV9fKTsKKyAgICBfUHlfSURFTlRJRklFUihfX3NldGl0ZW1fXyk7CiAKICAgICBpZiAodmFsdWUgPT0gTlVMTCkKLSAgICAgICAgcmVzID0gY2FsbF9tZXRob2Qoc2VsZiwgIl9fZGVsaXRlbV9fIiwgJmRlbGl0ZW1fc3RyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAiKG4pIiwgaW5kZXgpOworICAgICAgICByZXMgPSBjYWxsX21ldGhvZChzZWxmLCAmUHlJZF9fX2RlbGl0ZW1fXywgIihuKSIsIGluZGV4KTsKICAgICBlbHNlCi0gICAgICAgIHJlcyA9IGNhbGxfbWV0aG9kKHNlbGYsICJfX3NldGl0ZW1fXyIsICZzZXRpdGVtX3N0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIihuTykiLCBpbmRleCwgdmFsdWUpOworICAgICAgICByZXMgPSBjYWxsX21ldGhvZChzZWxmLCAmUHlJZF9fX3NldGl0ZW1fXywgIihuTykiLCBpbmRleCwgdmFsdWUpOwogICAgIGlmIChyZXMgPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIC0xOwogICAgIFB5X0RFQ1JFRihyZXMpOwpAQCAtNDgxOCwxMCArNDk1OCw5IEBACiB7CiAgICAgUHlPYmplY3QgKmZ1bmMsICpyZXMsICphcmdzOwogICAgIGludCByZXN1bHQgPSAtMTsKKyAgICBfUHlfSURFTlRJRklFUihfX2NvbnRhaW5zX18pOwogCi0gICAgc3RhdGljIFB5T2JqZWN0ICpjb250YWluc19zdHI7Ci0KLSAgICBmdW5jID0gbG9va3VwX21heWJlKHNlbGYsICJfX2NvbnRhaW5zX18iLCAmY29udGFpbnNfc3RyKTsKKyAgICBmdW5jID0gbG9va3VwX21heWJlKHNlbGYsICZQeUlkX19fY29udGFpbnNfXyk7CiAgICAgaWYgKGZ1bmMgIT0gTlVMTCkgewogICAgICAgICBhcmdzID0gUHlUdXBsZV9QYWNrKDEsIHZhbHVlKTsKICAgICAgICAgaWYgKGFyZ3MgPT0gTlVMTCkKQEAgLTQ4NTIsMTQgKzQ5OTEsMTQgQEAKIHNsb3RfbXBfYXNzX3N1YnNjcmlwdChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmtleSwgUHlPYmplY3QgKnZhbHVlKQogewogICAgIFB5T2JqZWN0ICpyZXM7Ci0gICAgc3RhdGljIFB5T2JqZWN0ICpkZWxpdGVtX3N0ciwgKnNldGl0ZW1fc3RyOworICAgIF9QeV9JREVOVElGSUVSKF9fZGVsaXRlbV9fKTsKKyAgICBfUHlfSURFTlRJRklFUihfX3NldGl0ZW1fXyk7CiAKICAgICBpZiAodmFsdWUgPT0gTlVMTCkKLSAgICAgICAgcmVzID0gY2FsbF9tZXRob2Qoc2VsZiwgIl9fZGVsaXRlbV9fIiwgJmRlbGl0ZW1fc3RyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAiKE8pIiwga2V5KTsKKyAgICAgICAgcmVzID0gY2FsbF9tZXRob2Qoc2VsZiwgJlB5SWRfX19kZWxpdGVtX18sICIoTykiLCBrZXkpOwogICAgIGVsc2UKLSAgICAgICAgcmVzID0gY2FsbF9tZXRob2Qoc2VsZiwgIl9fc2V0aXRlbV9fIiwgJnNldGl0ZW1fc3RyLAotICAgICAgICAgICAgICAgICAgICAgICAgICIoT08pIiwga2V5LCB2YWx1ZSk7CisgICAgICAgIHJlcyA9IGNhbGxfbWV0aG9kKHNlbGYsICZQeUlkX19fc2V0aXRlbV9fLCAiKE9PKSIsIGtleSwgdmFsdWUpOworCiAgICAgaWYgKHJlcyA9PSBOVUxMKQogICAgICAgICByZXR1cm4gLTE7CiAgICAgUHlfREVDUkVGKHJlcyk7CkBAIC00ODgwLDcgKzUwMTksNyBAQAogc3RhdGljIFB5T2JqZWN0ICoKIHNsb3RfbmJfcG93ZXIoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpvdGhlciwgUHlPYmplY3QgKm1vZHVsdXMpCiB7Ci0gICAgc3RhdGljIFB5T2JqZWN0ICpwb3dfc3RyOworICAgIF9QeV9JREVOVElGSUVSKF9fcG93X18pOwogCiAgICAgaWYgKG1vZHVsdXMgPT0gUHlfTm9uZSkKICAgICAgICAgcmV0dXJuIHNsb3RfbmJfcG93ZXJfYmluYXJ5KHNlbGYsIG90aGVyKTsKQEAgLTQ4ODksMTEgKzUwMjgsOSBAQAogICAgICAgIHNsb3RfbmJfcG93ZXIsIHNvIGNoZWNrIGJlZm9yZSBjYWxsaW5nIHNlbGYuX19wb3dfXy4gKi8KICAgICBpZiAoUHlfVFlQRShzZWxmKS0+dHBfYXNfbnVtYmVyICE9IE5VTEwgJiYKICAgICAgICAgUHlfVFlQRShzZWxmKS0+dHBfYXNfbnVtYmVyLT5uYl9wb3dlciA9PSBzbG90X25iX3Bvd2VyKSB7Ci0gICAgICAgIHJldHVybiBjYWxsX21ldGhvZChzZWxmLCAiX19wb3dfXyIsICZwb3dfc3RyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIihPTykiLCBvdGhlciwgbW9kdWx1cyk7CisgICAgICAgIHJldHVybiBjYWxsX21ldGhvZChzZWxmLCAmUHlJZF9fX3Bvd19fLCAiKE9PKSIsIG90aGVyLCBtb2R1bHVzKTsKICAgICB9Ci0gICAgUHlfSU5DUkVGKFB5X05vdEltcGxlbWVudGVkKTsKLSAgICByZXR1cm4gUHlfTm90SW1wbGVtZW50ZWQ7CisgICAgUHlfUkVUVVJOX05PVElNUExFTUVOVEVEOwogfQogCiBTTE9UMChzbG90X25iX25lZ2F0aXZlLCAiX19uZWdfXyIpCkBAIC00OTA0LDE1ICs1MDQxLDE2IEBACiBzbG90X25iX2Jvb2woUHlPYmplY3QgKnNlbGYpCiB7CiAgICAgUHlPYmplY3QgKmZ1bmMsICphcmdzOwotICAgIHN0YXRpYyBQeU9iamVjdCAqYm9vbF9zdHIsICpsZW5fc3RyOwogICAgIGludCByZXN1bHQgPSAtMTsKICAgICBpbnQgdXNpbmdfbGVuID0gMDsKKyAgICBfUHlfSURFTlRJRklFUihfX2xlbl9fKTsKKyAgICBfUHlfSURFTlRJRklFUihfX2Jvb2xfXyk7CiAKLSAgICBmdW5jID0gbG9va3VwX21heWJlKHNlbGYsICJfX2Jvb2xfXyIsICZib29sX3N0cik7CisgICAgZnVuYyA9IGxvb2t1cF9tYXliZShzZWxmLCAmUHlJZF9fX2Jvb2xfXyk7CiAgICAgaWYgKGZ1bmMgPT0gTlVMTCkgewogICAgICAgICBpZiAoUHlFcnJfT2NjdXJyZWQoKSkKICAgICAgICAgICAgIHJldHVybiAtMTsKLSAgICAgICAgZnVuYyA9IGxvb2t1cF9tYXliZShzZWxmLCAiX19sZW5fXyIsICZsZW5fc3RyKTsKKyAgICAgICAgZnVuYyA9IGxvb2t1cF9tYXliZShzZWxmLCAmUHlJZF9fX2xlbl9fKTsKICAgICAgICAgaWYgKGZ1bmMgPT0gTlVMTCkKICAgICAgICAgICAgIHJldHVybiBQeUVycl9PY2N1cnJlZCgpID8gLTEgOiAxOwogICAgICAgICB1c2luZ19sZW4gPSAxOwpAQCAtNDk0Nyw4ICs1MDg1LDggQEAKIHN0YXRpYyBQeU9iamVjdCAqCiBzbG90X25iX2luZGV4KFB5T2JqZWN0ICpzZWxmKQogewotICAgIHN0YXRpYyBQeU9iamVjdCAqaW5kZXhfc3RyOwotICAgIHJldHVybiBjYWxsX21ldGhvZChzZWxmLCAiX19pbmRleF9fIiwgJmluZGV4X3N0ciwgIigpIik7CisgICAgX1B5X0lERU5USUZJRVIoX19pbmRleF9fKTsKKyAgICByZXR1cm4gY2FsbF9tZXRob2Qoc2VsZiwgJlB5SWRfX19pbmRleF9fLCAiKCkiKTsKIH0KIAogCkBAIC00OTY5LDggKzUxMDcsOCBAQAogc3RhdGljIFB5T2JqZWN0ICoKIHNsb3RfbmJfaW5wbGFjZV9wb3dlcihQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKiBhcmcxLCBQeU9iamVjdCAqYXJnMikKIHsKLSAgc3RhdGljIFB5T2JqZWN0ICpjYWNoZV9zdHI7Ci0gIHJldHVybiBjYWxsX21ldGhvZChzZWxmLCAiX19pcG93X18iLCAmY2FjaGVfc3RyLCAiKCIgIk8iICIpIiwgYXJnMSk7CisgICAgX1B5X0lERU5USUZJRVIoX19pcG93X18pOworICAgIHJldHVybiBjYWxsX21ldGhvZChzZWxmLCAmUHlJZF9fX2lwb3dfXywgIigiICJPIiAiKSIsIGFyZzEpOwogfQogU0xPVDEoc2xvdF9uYl9pbnBsYWNlX2xzaGlmdCwgIl9faWxzaGlmdF9fIiwgUHlPYmplY3QgKiwgIk8iKQogU0xPVDEoc2xvdF9uYl9pbnBsYWNlX3JzaGlmdCwgIl9faXJzaGlmdF9fIiwgUHlPYmplY3QgKiwgIk8iKQpAQCAtNDk4Nyw5ICs1MTI1LDkgQEAKIHNsb3RfdHBfcmVwcihQeU9iamVjdCAqc2VsZikKIHsKICAgICBQeU9iamVjdCAqZnVuYywgKnJlczsKLSAgICBzdGF0aWMgUHlPYmplY3QgKnJlcHJfc3RyOworICAgIF9QeV9JREVOVElGSUVSKF9fcmVwcl9fKTsKIAotICAgIGZ1bmMgPSBsb29rdXBfbWV0aG9kKHNlbGYsICJfX3JlcHJfXyIsICZyZXByX3N0cik7CisgICAgZnVuYyA9IGxvb2t1cF9tZXRob2Qoc2VsZiwgJlB5SWRfX19yZXByX18pOwogICAgIGlmIChmdW5jICE9IE5VTEwpIHsKICAgICAgICAgcmVzID0gUHlFdmFsX0NhbGxPYmplY3QoZnVuYywgTlVMTCk7CiAgICAgICAgIFB5X0RFQ1JFRihmdW5jKTsKQEAgLTUwMDQsMjMgKzUxNDIsMzAgQEAKIHNsb3RfdHBfc3RyKFB5T2JqZWN0ICpzZWxmKQogewogICAgIFB5T2JqZWN0ICpmdW5jLCAqcmVzOwotICAgIHN0YXRpYyBQeU9iamVjdCAqc3RyX3N0cjsKKyAgICBfUHlfSURFTlRJRklFUihfX3N0cl9fKTsKIAotICAgIGZ1bmMgPSBsb29rdXBfbWV0aG9kKHNlbGYsICJfX3N0cl9fIiwgJnN0cl9zdHIpOworICAgIGZ1bmMgPSBsb29rdXBfbWV0aG9kKHNlbGYsICZQeUlkX19fc3RyX18pOwogICAgIGlmIChmdW5jICE9IE5VTEwpIHsKICAgICAgICAgcmVzID0gUHlFdmFsX0NhbGxPYmplY3QoZnVuYywgTlVMTCk7CiAgICAgICAgIFB5X0RFQ1JFRihmdW5jKTsKICAgICAgICAgcmV0dXJuIHJlczsKICAgICB9CiAgICAgZWxzZSB7Ci0gICAgICAgIFB5T2JqZWN0ICpyZXNzOworICAgICAgICAvKiBQeU9iamVjdCAqcmVzczsgKi8KICAgICAgICAgUHlFcnJfQ2xlYXIoKTsKICAgICAgICAgcmVzID0gc2xvdF90cF9yZXByKHNlbGYpOwogICAgICAgICBpZiAoIXJlcykKICAgICAgICAgICAgIHJldHVybiBOVUxMOwotICAgICAgICByZXNzID0gX1B5VW5pY29kZV9Bc0RlZmF1bHRFbmNvZGVkU3RyaW5nKHJlcywgTlVMTCk7CisgICAgICAgIC8qIFhYWCB0aGlzIGlzIG5vbi1zZW5zaWNhbC4gV2h5IHNob3VsZCB3ZSByZXR1cm4KKyAgICAgICAgICAgYSBieXRlcyBvYmplY3QgZnJvbSBfX3N0cl9fLiBJcyB0aGlzIGNvZGUgZXZlbgorICAgICAgICAgICB1c2VkPyAtIG12bCAqLworICAgICAgICBhc3NlcnQoMCk7CisgICAgICAgIHJldHVybiByZXM7CisgICAgICAgIC8qCisgICAgICAgIHJlc3MgPSBfUHlVbmljb2RlX0FzRGVmYXVsdEVuY29kZWRTdHJpbmcocmVzKTsKICAgICAgICAgUHlfREVDUkVGKHJlcyk7CiAgICAgICAgIHJldHVybiByZXNzOworICAgICAgICAqLwogICAgIH0KIH0KIApAQCAtNTAyOCwxMCArNTE3MywxMCBAQAogc2xvdF90cF9oYXNoKFB5T2JqZWN0ICpzZWxmKQogewogICAgIFB5T2JqZWN0ICpmdW5jLCAqcmVzOwotICAgIHN0YXRpYyBQeU9iamVjdCAqaGFzaF9zdHI7CiAgICAgUHlfc3NpemVfdCBoOworICAgIF9QeV9JREVOVElGSUVSKF9faGFzaF9fKTsKIAotICAgIGZ1bmMgPSBsb29rdXBfbWV0aG9kKHNlbGYsICJfX2hhc2hfXyIsICZoYXNoX3N0cik7CisgICAgZnVuYyA9IGxvb2t1cF9tZXRob2Qoc2VsZiwgJlB5SWRfX19oYXNoX18pOwogCiAgICAgaWYgKGZ1bmMgPT0gUHlfTm9uZSkgewogICAgICAgICBQeV9ERUNSRUYoZnVuYyk7CkBAIC01MDc1LDggKzUyMjAsOCBAQAogc3RhdGljIFB5T2JqZWN0ICoKIHNsb3RfdHBfY2FsbChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2RzKQogewotICAgIHN0YXRpYyBQeU9iamVjdCAqY2FsbF9zdHI7Ci0gICAgUHlPYmplY3QgKm1ldGggPSBsb29rdXBfbWV0aG9kKHNlbGYsICJfX2NhbGxfXyIsICZjYWxsX3N0cik7CisgICAgX1B5X0lERU5USUZJRVIoX19jYWxsX18pOworICAgIFB5T2JqZWN0ICptZXRoID0gbG9va3VwX21ldGhvZChzZWxmLCAmUHlJZF9fX2NhbGxfXyk7CiAgICAgUHlPYmplY3QgKnJlczsKIAogICAgIGlmIChtZXRoID09IE5VTEwpCkBAIC01MTAyLDkgKzUyNDcsOCBAQAogc3RhdGljIFB5T2JqZWN0ICoKIHNsb3RfdHBfZ2V0YXR0cm8oUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpuYW1lKQogewotICAgIHN0YXRpYyBQeU9iamVjdCAqZ2V0YXR0cmlidXRlX3N0ciA9IE5VTEw7Ci0gICAgcmV0dXJuIGNhbGxfbWV0aG9kKHNlbGYsICJfX2dldGF0dHJpYnV0ZV9fIiwgJmdldGF0dHJpYnV0ZV9zdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICIoTykiLCBuYW1lKTsKKyAgICBfUHlfSURFTlRJRklFUihfX2dldGF0dHJpYnV0ZV9fKTsKKyAgICByZXR1cm4gY2FsbF9tZXRob2Qoc2VsZiwgJlB5SWRfX19nZXRhdHRyaWJ1dGVfXywgIihPKSIsIG5hbWUpOwogfQogCiBzdGF0aWMgUHlPYmplY3QgKgpAQCAtNTE4NCw0MCArNTMyOCwzNyBAQAogc2xvdF90cF9zZXRhdHRybyhQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKm5hbWUsIFB5T2JqZWN0ICp2YWx1ZSkKIHsKICAgICBQeU9iamVjdCAqcmVzOwotICAgIHN0YXRpYyBQeU9iamVjdCAqZGVsYXR0cl9zdHIsICpzZXRhdHRyX3N0cjsKKyAgICBfUHlfSURFTlRJRklFUihfX2RlbGF0dHJfXyk7CisgICAgX1B5X0lERU5USUZJRVIoX19zZXRhdHRyX18pOwogCiAgICAgaWYgKHZhbHVlID09IE5VTEwpCi0gICAgICAgIHJlcyA9IGNhbGxfbWV0aG9kKHNlbGYsICJfX2RlbGF0dHJfXyIsICZkZWxhdHRyX3N0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIihPKSIsIG5hbWUpOworICAgICAgICByZXMgPSBjYWxsX21ldGhvZChzZWxmLCAmUHlJZF9fX2RlbGF0dHJfXywgIihPKSIsIG5hbWUpOwogICAgIGVsc2UKLSAgICAgICAgcmVzID0gY2FsbF9tZXRob2Qoc2VsZiwgIl9fc2V0YXR0cl9fIiwgJnNldGF0dHJfc3RyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAiKE9PKSIsIG5hbWUsIHZhbHVlKTsKKyAgICAgICAgcmVzID0gY2FsbF9tZXRob2Qoc2VsZiwgJlB5SWRfX19zZXRhdHRyX18sICIoT08pIiwgbmFtZSwgdmFsdWUpOwogICAgIGlmIChyZXMgPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIC0xOwogICAgIFB5X0RFQ1JFRihyZXMpOwogICAgIHJldHVybiAwOwogfQogCi1zdGF0aWMgY2hhciAqbmFtZV9vcFtdID0gewotICAgICJfX2x0X18iLAotICAgICJfX2xlX18iLAotICAgICJfX2VxX18iLAotICAgICJfX25lX18iLAotICAgICJfX2d0X18iLAotICAgICJfX2dlX18iLAorc3RhdGljIF9QeV9JZGVudGlmaWVyIG5hbWVfb3BbXSA9IHsKKyAgICB7MCwgIl9fbHRfXyIsIDB9LAorICAgIHswLCAiX19sZV9fIiwgMH0sCisgICAgezAsICJfX2VxX18iLCAwfSwKKyAgICB7MCwgIl9fbmVfXyIsIDB9LAorICAgIHswLCAiX19ndF9fIiwgMH0sCisgICAgezAsICJfX2dlX18iLCAwfQogfTsKIAogc3RhdGljIFB5T2JqZWN0ICoKIHNsb3RfdHBfcmljaGNvbXBhcmUoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpvdGhlciwgaW50IG9wKQogewogICAgIFB5T2JqZWN0ICpmdW5jLCAqYXJncywgKnJlczsKLSAgICBzdGF0aWMgUHlPYmplY3QgKm9wX3N0cls2XTsKIAotICAgIGZ1bmMgPSBsb29rdXBfbWV0aG9kKHNlbGYsIG5hbWVfb3Bbb3BdLCAmb3Bfc3RyW29wXSk7CisgICAgZnVuYyA9IGxvb2t1cF9tZXRob2Qoc2VsZiwgJm5hbWVfb3Bbb3BdKTsKICAgICBpZiAoZnVuYyA9PSBOVUxMKSB7CiAgICAgICAgIFB5RXJyX0NsZWFyKCk7Ci0gICAgICAgIFB5X0lOQ1JFRihQeV9Ob3RJbXBsZW1lbnRlZCk7Ci0gICAgICAgIHJldHVybiBQeV9Ob3RJbXBsZW1lbnRlZDsKKyAgICAgICAgUHlfUkVUVVJOX05PVElNUExFTUVOVEVEOwogICAgIH0KICAgICBhcmdzID0gUHlUdXBsZV9QYWNrKDEsIG90aGVyKTsKICAgICBpZiAoYXJncyA9PSBOVUxMKQpAQCAtNTIzNCw5ICs1Mzc1LDEwIEBACiBzbG90X3RwX2l0ZXIoUHlPYmplY3QgKnNlbGYpCiB7CiAgICAgUHlPYmplY3QgKmZ1bmMsICpyZXM7Ci0gICAgc3RhdGljIFB5T2JqZWN0ICppdGVyX3N0ciwgKmdldGl0ZW1fc3RyOworICAgIF9QeV9JREVOVElGSUVSKF9faXRlcl9fKTsKKyAgICBfUHlfSURFTlRJRklFUihfX2dldGl0ZW1fXyk7CiAKLSAgICBmdW5jID0gbG9va3VwX21ldGhvZChzZWxmLCAiX19pdGVyX18iLCAmaXRlcl9zdHIpOworICAgIGZ1bmMgPSBsb29rdXBfbWV0aG9kKHNlbGYsICZQeUlkX19faXRlcl9fKTsKICAgICBpZiAoZnVuYyAhPSBOVUxMKSB7CiAgICAgICAgIFB5T2JqZWN0ICphcmdzOwogICAgICAgICBhcmdzID0gcmVzID0gUHlUdXBsZV9OZXcoMCk7CkBAIC01MjQ4LDcgKzUzOTAsNyBAQAogICAgICAgICByZXR1cm4gcmVzOwogICAgIH0KICAgICBQeUVycl9DbGVhcigpOwotICAgIGZ1bmMgPSBsb29rdXBfbWV0aG9kKHNlbGYsICJfX2dldGl0ZW1fXyIsICZnZXRpdGVtX3N0cik7CisgICAgZnVuYyA9IGxvb2t1cF9tZXRob2Qoc2VsZiwgJlB5SWRfX19nZXRpdGVtX18pOwogICAgIGlmIChmdW5jID09IE5VTEwpIHsKICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1R5cGVFcnJvciwKICAgICAgICAgICAgICAgICAgICAgICInJS4yMDBzJyBvYmplY3QgaXMgbm90IGl0ZXJhYmxlIiwKQEAgLTUyNjIsOCArNTQwNCw4IEBACiBzdGF0aWMgUHlPYmplY3QgKgogc2xvdF90cF9pdGVybmV4dChQeU9iamVjdCAqc2VsZikKIHsKLSAgICBzdGF0aWMgUHlPYmplY3QgKm5leHRfc3RyOwotICAgIHJldHVybiBjYWxsX21ldGhvZChzZWxmLCAiX19uZXh0X18iLCAmbmV4dF9zdHIsICIoKSIpOworICAgIF9QeV9JREVOVElGSUVSKF9fbmV4dF9fKTsKKyAgICByZXR1cm4gY2FsbF9tZXRob2Qoc2VsZiwgJlB5SWRfX19uZXh0X18sICIoKSIpOwogfQogCiBzdGF0aWMgUHlPYmplY3QgKgpAQCAtNTI5NywxNCArNTQzOSwxMyBAQAogc2xvdF90cF9kZXNjcl9zZXQoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICp0YXJnZXQsIFB5T2JqZWN0ICp2YWx1ZSkKIHsKICAgICBQeU9iamVjdCAqcmVzOwotICAgIHN0YXRpYyBQeU9iamVjdCAqZGVsX3N0ciwgKnNldF9zdHI7CisgICAgX1B5X0lERU5USUZJRVIoX19kZWxldGVfXyk7CisgICAgX1B5X0lERU5USUZJRVIoX19zZXRfXyk7CiAKICAgICBpZiAodmFsdWUgPT0gTlVMTCkKLSAgICAgICAgcmVzID0gY2FsbF9tZXRob2Qoc2VsZiwgIl9fZGVsZXRlX18iLCAmZGVsX3N0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIihPKSIsIHRhcmdldCk7CisgICAgICAgIHJlcyA9IGNhbGxfbWV0aG9kKHNlbGYsICZQeUlkX19fZGVsZXRlX18sICIoTykiLCB0YXJnZXQpOwogICAgIGVsc2UKLSAgICAgICAgcmVzID0gY2FsbF9tZXRob2Qoc2VsZiwgIl9fc2V0X18iLCAmc2V0X3N0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIihPTykiLCB0YXJnZXQsIHZhbHVlKTsKKyAgICAgICAgcmVzID0gY2FsbF9tZXRob2Qoc2VsZiwgJlB5SWRfX19zZXRfXywgIihPTykiLCB0YXJnZXQsIHZhbHVlKTsKICAgICBpZiAocmVzID09IE5VTEwpCiAgICAgICAgIHJldHVybiAtMTsKICAgICBQeV9ERUNSRUYocmVzKTsKQEAgLTUzMTQsOCArNTQ1NSw4IEBACiBzdGF0aWMgaW50CiBzbG90X3RwX2luaXQoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dkcykKIHsKLSAgICBzdGF0aWMgUHlPYmplY3QgKmluaXRfc3RyOwotICAgIFB5T2JqZWN0ICptZXRoID0gbG9va3VwX21ldGhvZChzZWxmLCAiX19pbml0X18iLCAmaW5pdF9zdHIpOworICAgIF9QeV9JREVOVElGSUVSKF9faW5pdF9fKTsKKyAgICBQeU9iamVjdCAqbWV0aCA9IGxvb2t1cF9tZXRob2Qoc2VsZiwgJlB5SWRfX19pbml0X18pOwogICAgIFB5T2JqZWN0ICpyZXM7CiAKICAgICBpZiAobWV0aCA9PSBOVUxMKQpAQCAtNTM3Miw3ICs1NTEzLDcgQEAKIHN0YXRpYyB2b2lkCiBzbG90X3RwX2RlbChQeU9iamVjdCAqc2VsZikKIHsKLSAgICBzdGF0aWMgUHlPYmplY3QgKmRlbF9zdHIgPSBOVUxMOworICAgIF9QeV9JREVOVElGSUVSKF9fZGVsX18pOwogICAgIFB5T2JqZWN0ICpkZWwsICpyZXM7CiAgICAgUHlPYmplY3QgKmVycm9yX3R5cGUsICplcnJvcl92YWx1ZSwgKmVycm9yX3RyYWNlYmFjazsKIApAQCAtNTM4NCw3ICs1NTI1LDcgQEAKICAgICBQeUVycl9GZXRjaCgmZXJyb3JfdHlwZSwgJmVycm9yX3ZhbHVlLCAmZXJyb3JfdHJhY2ViYWNrKTsKIAogICAgIC8qIEV4ZWN1dGUgX19kZWxfXyBtZXRob2QsIGlmIGFueS4gKi8KLSAgICBkZWwgPSBsb29rdXBfbWF5YmUoc2VsZiwgIl9fZGVsX18iLCAmZGVsX3N0cik7CisgICAgZGVsID0gbG9va3VwX21heWJlKHNlbGYsICZQeUlkX19fZGVsX18pOwogICAgIGlmIChkZWwgIT0gTlVMTCkgewogICAgICAgICByZXMgPSBQeUV2YWxfQ2FsbE9iamVjdChkZWwsIE5VTEwpOwogICAgICAgICBpZiAocmVzID09IE5VTEwpCkBAIC02MDk4LDcgKzYyMzksNyBAQAogICAgICAgICAvKiBXZSB3YW50IF9fY2xhc3NfXyB0byByZXR1cm4gdGhlIGNsYXNzIG9mIHRoZSBzdXBlciBvYmplY3QKICAgICAgICAgICAgKGkuZS4gc3VwZXIsIG9yIGEgc3ViY2xhc3MpLCBub3QgdGhlIGNsYXNzIG9mIHN1LT5vYmouICovCiAgICAgICAgIHNraXAgPSAoUHlVbmljb2RlX0NoZWNrKG5hbWUpICYmCi0gICAgICAgICAgICBQeVVuaWNvZGVfR0VUX1NJWkUobmFtZSkgPT0gOSAmJgorICAgICAgICAgICAgUHlVbmljb2RlX0dFVF9MRU5HVEgobmFtZSkgPT0gOSAmJgogICAgICAgICAgICAgUHlVbmljb2RlX0NvbXBhcmVXaXRoQVNDSUlTdHJpbmcobmFtZSwgIl9fY2xhc3NfXyIpID09IDApOwogICAgIH0KIApAQCAtNjEyMyw2ICs2MjY0LDkgQEAKICAgICAgICAgfQogICAgICAgICBpKys7CiAgICAgICAgIHJlcyA9IE5VTEw7CisgICAgICAgIC8qIGtlZXAgYSBzdHJvbmcgcmVmZXJlbmNlIHRvIG1ybyBiZWNhdXNlIHN0YXJ0dHlwZS0+dHBfbXJvIGNhbiBiZQorICAgICAgICAgICByZXBsYWNlZCBkdXJpbmcgUHlEaWN0X0dldEl0ZW0oZGljdCwgbmFtZSkgICovCisgICAgICAgIFB5X0lOQ1JFRihtcm8pOwogICAgICAgICBmb3IgKDsgaSA8IG47IGkrKykgewogICAgICAgICAgICAgdG1wID0gUHlUdXBsZV9HRVRfSVRFTShtcm8sIGkpOwogICAgICAgICAgICAgaWYgKFB5VHlwZV9DaGVjayh0bXApKQpAQCAtNjE0Nyw5ICs2MjkxLDExIEBACiAgICAgICAgICAgICAgICAgICAgIFB5X0RFQ1JFRihyZXMpOwogICAgICAgICAgICAgICAgICAgICByZXMgPSB0bXA7CiAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIFB5X0RFQ1JFRihtcm8pOwogICAgICAgICAgICAgICAgIHJldHVybiByZXM7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KKyAgICAgICAgUHlfREVDUkVGKG1ybyk7CiAgICAgfQogICAgIHJldHVybiBQeU9iamVjdF9HZW5lcmljR2V0QXR0cihzZWxmLCBuYW1lKTsKIH0KQEAgLTYxNTksNyArNjMwNSw3IEBACiB7CiAgICAgLyogQ2hlY2sgdGhhdCBhIHN1cGVyKCkgY2FsbCBtYWtlcyBzZW5zZS4gIFJldHVybiBhIHR5cGUgb2JqZWN0LgogCi0gICAgICAgb2JqIGNhbiBiZSBhIG5ldy1zdHlsZSBjbGFzcywgb3IgYW4gaW5zdGFuY2Ugb2Ygb25lOgorICAgICAgIG9iaiBjYW4gYmUgYSBjbGFzcywgb3IgYW4gaW5zdGFuY2Ugb2Ygb25lOgogCiAgICAgICAgLSBJZiBpdCBpcyBhIGNsYXNzLCBpdCBtdXN0IGJlIGEgc3ViY2xhc3Mgb2YgJ3R5cGUnLiAgICAgIFRoaXMgY2FzZSBpcwogICAgICAgICAgdXNlZCBmb3IgY2xhc3MgbWV0aG9kczsgdGhlIHJldHVybiB2YWx1ZSBpcyBvYmouCkBAIC02MTg1LDE3ICs2MzMxLDkgQEAKICAgICB9CiAgICAgZWxzZSB7CiAgICAgICAgIC8qIFRyeSB0aGUgc2xvdyB3YXkgKi8KLSAgICAgICAgc3RhdGljIFB5T2JqZWN0ICpjbGFzc19zdHIgPSBOVUxMOwogICAgICAgICBQeU9iamVjdCAqY2xhc3NfYXR0cjsKIAotICAgICAgICBpZiAoY2xhc3Nfc3RyID09IE5VTEwpIHsKLSAgICAgICAgICAgIGNsYXNzX3N0ciA9IFB5VW5pY29kZV9Gcm9tU3RyaW5nKCJfX2NsYXNzX18iKTsKLSAgICAgICAgICAgIGlmIChjbGFzc19zdHIgPT0gTlVMTCkKLSAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgfQotCi0gICAgICAgIGNsYXNzX2F0dHIgPSBQeU9iamVjdF9HZXRBdHRyKG9iaiwgY2xhc3Nfc3RyKTsKLQorICAgICAgICBjbGFzc19hdHRyID0gX1B5T2JqZWN0X0dldEF0dHJJZChvYmosICZQeUlkX19fY2xhc3NfXyk7CiAgICAgICAgIGlmIChjbGFzc19hdHRyICE9IE5VTEwgJiYKICAgICAgICAgICAgIFB5VHlwZV9DaGVjayhjbGFzc19hdHRyKSAmJgogICAgICAgICAgICAgKFB5VHlwZU9iamVjdCAqKWNsYXNzX2F0dHIgIT0gUHlfVFlQRShvYmopKQpAQCAtNjI5Nyw3ICs2NDM1LDcgQEAKICAgICAgICAgICAgIFB5T2JqZWN0ICpuYW1lID0gUHlUdXBsZV9HRVRfSVRFTShjby0+Y29fZnJlZXZhcnMsIGkpOwogICAgICAgICAgICAgYXNzZXJ0KFB5VW5pY29kZV9DaGVjayhuYW1lKSk7CiAgICAgICAgICAgICBpZiAoIVB5VW5pY29kZV9Db21wYXJlV2l0aEFTQ0lJU3RyaW5nKG5hbWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJfX2NsYXNzX18iKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQF9fY2xhc3NfXyIpKSB7CiAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBpbmRleCA9IGNvLT5jb19ubG9jYWxzICsKICAgICAgICAgICAgICAgICAgICAgUHlUdXBsZV9HRVRfU0laRShjby0+Y29fY2VsbHZhcnMpICsgaTsKICAgICAgICAgICAgICAgICBQeU9iamVjdCAqY2VsbCA9IGYtPmZfbG9jYWxzcGx1c1tpbmRleF07CmRpZmYgLS1naXQgYS9PYmplY3RzL3R5cGVzbG90cy5pbmMgYi9PYmplY3RzL3R5cGVzbG90cy5pbmMKaW5kZXggNTE4NmRjZi4uY2FhMWUwMyAxMDA2NDQKLS0tIGEvT2JqZWN0cy90eXBlc2xvdHMuaW5jCisrKyBiL09iamVjdHMvdHlwZXNsb3RzLmluYwpAQCAtMSw0ICsxLDQgQEAKLS8qIEdlbmVyYXRlZCBieSB0eXBlc2xvdHMucHkgJFJldmlzaW9uJCAqLworLyogR2VuZXJhdGVkIGJ5IHR5cGVzbG90cy5weSAqLwogMCwKIDAsCiBvZmZzZXRvZihQeUhlYXBUeXBlT2JqZWN0LCBhc19tYXBwaW5nLm1wX2Fzc19zdWJzY3JpcHQpLApkaWZmIC0tZ2l0IGEvT2JqZWN0cy90eXBlc2xvdHMucHkgYi9PYmplY3RzL3R5cGVzbG90cy5weQppbmRleCAyZTAwYzgwLi5iMjRjN2Y0IDEwMDY0NAotLS0gYS9PYmplY3RzL3R5cGVzbG90cy5weQorKysgYi9PYmplY3RzL3R5cGVzbG90cy5weQpAQCAtMyw3ICszLDcgQEAKIAogaW1wb3J0IHN5cywgcmUKIAotcHJpbnQoIi8qIEdlbmVyYXRlZCBieSB0eXBlc2xvdHMucHkgJFJldmlzaW9uJCAqLyIpCitwcmludCgiLyogR2VuZXJhdGVkIGJ5IHR5cGVzbG90cy5weSAqLyIpCiByZXMgPSB7fQogZm9yIGxpbmUgaW4gc3lzLnN0ZGluOgogICAgIG0gPSByZS5tYXRjaCgiI2RlZmluZSBQeV8oW2Etel9dKykgKFswLTldKykiLCBsaW5lKQpkaWZmIC0tZ2l0IGEvT2JqZWN0cy91bmljb2RlY3R5cGUuYyBiL09iamVjdHMvdW5pY29kZWN0eXBlLmMKaW5kZXggOWY2YWM4OS4uYTU3MmMxMiAxMDA2NDQKLS0tIGEvT2JqZWN0cy91bmljb2RlY3R5cGUuYworKysgYi9PYmplY3RzL3VuaWNvZGVjdHlwZS5jCkBAIC0yMSwxMyArMjEsMjAgQEAKICNkZWZpbmUgWElEX1NUQVJUX01BU0sgMHgxMDAKICNkZWZpbmUgWElEX0NPTlRJTlVFX01BU0sgMHgyMDAKICNkZWZpbmUgUFJJTlRBQkxFX01BU0sgMHg0MDAKLSNkZWZpbmUgTk9ERUxUQV9NQVNLIDB4ODAwCi0jZGVmaW5lIE5VTUVSSUNfTUFTSyAweDEwMDAKKyNkZWZpbmUgTlVNRVJJQ19NQVNLIDB4ODAwCisjZGVmaW5lIENBU0VfSUdOT1JBQkxFX01BU0sgMHgxMDAwCisjZGVmaW5lIENBU0VEX01BU0sgMHgyMDAwCisjZGVmaW5lIEVYVEVOREVEX0NBU0VfTUFTSyAweDQwMDAKIAogdHlwZWRlZiBzdHJ1Y3QgewotICAgIGNvbnN0IFB5X1VDUzQgdXBwZXI7Ci0gICAgY29uc3QgUHlfVUNTNCBsb3dlcjsKLSAgICBjb25zdCBQeV9VQ1M0IHRpdGxlOworICAgIC8qIAorICAgICAgIFRoZXNlIGFyZSBlaXRoZXIgZGVsdGFzIHRvIHRoZSBjaGFyYWN0ZXIgb3Igb2Zmc2V0cyBpbgorICAgICAgIF9QeVVuaWNvZGVfRXh0ZW5kZWRDYXNlLgorICAgICovCisgICAgY29uc3QgaW50IHVwcGVyOworICAgIGNvbnN0IGludCBsb3dlcjsKKyAgICBjb25zdCBpbnQgdGl0bGU7CisgICAgLyogTm90ZSBpZiBtb3JlIGZsYWcgc3BhY2UgaXMgbmVlZGVkLCBkZWNpbWFsIGFuZCBkaWdpdCBjb3VsZCBiZSB1bmlmaWVkLiAqLwogICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgZGVjaW1hbDsKICAgICBjb25zdCB1bnNpZ25lZCBjaGFyIGRpZ2l0OwogICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IGZsYWdzOwpAQCAtNTcsMTUgKzY0LDEwIEBACiBQeV9VQ1M0IF9QeVVuaWNvZGVfVG9UaXRsZWNhc2UocmVnaXN0ZXIgUHlfVUNTNCBjaCkKIHsKICAgICBjb25zdCBfUHlVbmljb2RlX1R5cGVSZWNvcmQgKmN0eXBlID0gZ2V0dHlwZXJlY29yZChjaCk7Ci0gICAgaW50IGRlbHRhID0gY3R5cGUtPnRpdGxlOwogCi0gICAgaWYgKGN0eXBlLT5mbGFncyAmIE5PREVMVEFfTUFTSykKLSAgICAgICAgcmV0dXJuIGRlbHRhOwotCi0gICAgaWYgKGRlbHRhID49IDMyNzY4KQotICAgICAgICAgICAgZGVsdGEgLT0gNjU1MzY7Ci0KLSAgICByZXR1cm4gY2ggKyBkZWx0YTsKKyAgICBpZiAoY3R5cGUtPmZsYWdzICYgRVhURU5ERURfQ0FTRV9NQVNLKQorICAgICAgICByZXR1cm4gX1B5VW5pY29kZV9FeHRlbmRlZENhc2VbY3R5cGUtPnRpdGxlICYgMHhGRkZGXTsKKyAgICByZXR1cm4gY2ggKyBjdHlwZS0+dGl0bGU7CiB9CiAKIC8qIFJldHVybnMgMSBmb3IgVW5pY29kZSBjaGFyYWN0ZXJzIGhhdmluZyB0aGUgY2F0ZWdvcnkgJ0x0JywgMApAQCAtMTg4LDEyICsxOTAsMTAgQEAKIFB5X1VDUzQgX1B5VW5pY29kZV9Ub1VwcGVyY2FzZShQeV9VQ1M0IGNoKQogewogICAgIGNvbnN0IF9QeVVuaWNvZGVfVHlwZVJlY29yZCAqY3R5cGUgPSBnZXR0eXBlcmVjb3JkKGNoKTsKLSAgICBpbnQgZGVsdGEgPSBjdHlwZS0+dXBwZXI7Ci0gICAgaWYgKGN0eXBlLT5mbGFncyAmIE5PREVMVEFfTUFTSykKLSAgICAgICAgcmV0dXJuIGRlbHRhOwotICAgIGlmIChkZWx0YSA+PSAzMjc2OCkKLSAgICAgICAgICAgIGRlbHRhIC09IDY1NTM2OwotICAgIHJldHVybiBjaCArIGRlbHRhOworCisgICAgaWYgKGN0eXBlLT5mbGFncyAmIEVYVEVOREVEX0NBU0VfTUFTSykKKyAgICAgICAgcmV0dXJuIF9QeVVuaWNvZGVfRXh0ZW5kZWRDYXNlW2N0eXBlLT51cHBlciAmIDB4RkZGRl07CisgICAgcmV0dXJuIGNoICsgY3R5cGUtPnVwcGVyOwogfQogCiAvKiBSZXR1cm5zIHRoZSBsb3dlcmNhc2UgVW5pY29kZSBjaGFyYWN0ZXJzIGNvcnJlc3BvbmRpbmcgdG8gY2ggb3IganVzdApAQCAtMjAyLDEyICsyMDIsODcgQEAKIFB5X1VDUzQgX1B5VW5pY29kZV9Ub0xvd2VyY2FzZShQeV9VQ1M0IGNoKQogewogICAgIGNvbnN0IF9QeVVuaWNvZGVfVHlwZVJlY29yZCAqY3R5cGUgPSBnZXR0eXBlcmVjb3JkKGNoKTsKLSAgICBpbnQgZGVsdGEgPSBjdHlwZS0+bG93ZXI7Ci0gICAgaWYgKGN0eXBlLT5mbGFncyAmIE5PREVMVEFfTUFTSykKLSAgICAgICAgcmV0dXJuIGRlbHRhOwotICAgIGlmIChkZWx0YSA+PSAzMjc2OCkKLSAgICAgICAgICAgIGRlbHRhIC09IDY1NTM2OwotICAgIHJldHVybiBjaCArIGRlbHRhOworCisgICAgaWYgKGN0eXBlLT5mbGFncyAmIEVYVEVOREVEX0NBU0VfTUFTSykKKyAgICAgICAgcmV0dXJuIF9QeVVuaWNvZGVfRXh0ZW5kZWRDYXNlW2N0eXBlLT5sb3dlciAmIDB4RkZGRl07CisgICAgcmV0dXJuIGNoICsgY3R5cGUtPmxvd2VyOworfQorCitpbnQgX1B5VW5pY29kZV9Ub0xvd2VyRnVsbChQeV9VQ1M0IGNoLCBQeV9VQ1M0ICpyZXMpCit7CisgICAgY29uc3QgX1B5VW5pY29kZV9UeXBlUmVjb3JkICpjdHlwZSA9IGdldHR5cGVyZWNvcmQoY2gpOworCisgICAgaWYgKGN0eXBlLT5mbGFncyAmIEVYVEVOREVEX0NBU0VfTUFTSykgeworICAgICAgICBpbnQgaW5kZXggPSBjdHlwZS0+bG93ZXIgJiAweEZGRkY7CisgICAgICAgIGludCBuID0gY3R5cGUtPmxvd2VyID4+IDI0OworICAgICAgICBpbnQgaTsKKyAgICAgICAgZm9yIChpID0gMDsgaSA8IG47IGkrKykKKyAgICAgICAgICAgIHJlc1tpXSA9IF9QeVVuaWNvZGVfRXh0ZW5kZWRDYXNlW2luZGV4ICsgaV07CisgICAgICAgIHJldHVybiBuOworICAgIH0KKyAgICByZXNbMF0gPSBjaCArIGN0eXBlLT5sb3dlcjsKKyAgICByZXR1cm4gMTsKK30KKworaW50IF9QeVVuaWNvZGVfVG9UaXRsZUZ1bGwoUHlfVUNTNCBjaCwgUHlfVUNTNCAqcmVzKQoreworICAgIGNvbnN0IF9QeVVuaWNvZGVfVHlwZVJlY29yZCAqY3R5cGUgPSBnZXR0eXBlcmVjb3JkKGNoKTsKKworICAgIGlmIChjdHlwZS0+ZmxhZ3MgJiBFWFRFTkRFRF9DQVNFX01BU0spIHsKKyAgICAgICAgaW50IGluZGV4ID0gY3R5cGUtPnRpdGxlICYgMHhGRkZGOworICAgICAgICBpbnQgbiA9IGN0eXBlLT50aXRsZSA+PiAyNDsKKyAgICAgICAgaW50IGk7CisgICAgICAgIGZvciAoaSA9IDA7IGkgPCBuOyBpKyspCisgICAgICAgICAgICByZXNbaV0gPSBfUHlVbmljb2RlX0V4dGVuZGVkQ2FzZVtpbmRleCArIGldOworICAgICAgICByZXR1cm4gbjsKKyAgICB9CisgICAgcmVzWzBdID0gY2ggKyBjdHlwZS0+dGl0bGU7CisgICAgcmV0dXJuIDE7Cit9CisKK2ludCBfUHlVbmljb2RlX1RvVXBwZXJGdWxsKFB5X1VDUzQgY2gsIFB5X1VDUzQgKnJlcykKK3sKKyAgICBjb25zdCBfUHlVbmljb2RlX1R5cGVSZWNvcmQgKmN0eXBlID0gZ2V0dHlwZXJlY29yZChjaCk7CisKKyAgICBpZiAoY3R5cGUtPmZsYWdzICYgRVhURU5ERURfQ0FTRV9NQVNLKSB7CisgICAgICAgIGludCBpbmRleCA9IGN0eXBlLT51cHBlciAmIDB4RkZGRjsKKyAgICAgICAgaW50IG4gPSBjdHlwZS0+dXBwZXIgPj4gMjQ7CisgICAgICAgIGludCBpOworICAgICAgICBmb3IgKGkgPSAwOyBpIDwgbjsgaSsrKQorICAgICAgICAgICAgcmVzW2ldID0gX1B5VW5pY29kZV9FeHRlbmRlZENhc2VbaW5kZXggKyBpXTsKKyAgICAgICAgcmV0dXJuIG47CisgICAgfQorICAgIHJlc1swXSA9IGNoICsgY3R5cGUtPnVwcGVyOworICAgIHJldHVybiAxOworfQorCitpbnQgX1B5VW5pY29kZV9Ub0ZvbGRlZEZ1bGwoUHlfVUNTNCBjaCwgUHlfVUNTNCAqcmVzKQoreworICAgIGNvbnN0IF9QeVVuaWNvZGVfVHlwZVJlY29yZCAqY3R5cGUgPSBnZXR0eXBlcmVjb3JkKGNoKTsKKworICAgIGlmIChjdHlwZS0+ZmxhZ3MgJiBFWFRFTkRFRF9DQVNFX01BU0sgJiYgKGN0eXBlLT5sb3dlciA+PiAyMCkgJiA3KSB7CisgICAgICAgIGludCBpbmRleCA9IChjdHlwZS0+bG93ZXIgJiAweEZGRkYpICsgKGN0eXBlLT5sb3dlciA+PiAyNCk7CisgICAgICAgIGludCBuID0gKGN0eXBlLT5sb3dlciA+PiAyMCkgJiA3OworICAgICAgICBpbnQgaTsKKyAgICAgICAgZm9yIChpID0gMDsgaSA8IG47IGkrKykKKyAgICAgICAgICAgIHJlc1tpXSA9IF9QeVVuaWNvZGVfRXh0ZW5kZWRDYXNlW2luZGV4ICsgaV07CisgICAgICAgIHJldHVybiBuOworICAgIH0KKyAgICByZXR1cm4gX1B5VW5pY29kZV9Ub0xvd2VyRnVsbChjaCwgcmVzKTsKK30KKworaW50IF9QeVVuaWNvZGVfSXNDYXNlZChQeV9VQ1M0IGNoKQoreworICAgIGNvbnN0IF9QeVVuaWNvZGVfVHlwZVJlY29yZCAqY3R5cGUgPSBnZXR0eXBlcmVjb3JkKGNoKTsKKworICAgIHJldHVybiAoY3R5cGUtPmZsYWdzICYgQ0FTRURfTUFTSykgIT0gMDsKK30KKworaW50IF9QeVVuaWNvZGVfSXNDYXNlSWdub3JhYmxlKFB5X1VDUzQgY2gpCit7CisgICAgY29uc3QgX1B5VW5pY29kZV9UeXBlUmVjb3JkICpjdHlwZSA9IGdldHR5cGVyZWNvcmQoY2gpOworCisgICAgcmV0dXJuIChjdHlwZS0+ZmxhZ3MgJiBDQVNFX0lHTk9SQUJMRV9NQVNLKSAhPSAwOwogfQogCiAvKiBSZXR1cm5zIDEgZm9yIFVuaWNvZGUgY2hhcmFjdGVycyBoYXZpbmcgdGhlIGNhdGVnb3J5ICdMbCcsICdMdScsICdMdCcsCmRpZmYgLS1naXQgYS9PYmplY3RzL3VuaWNvZGVvYmplY3QuYyBiL09iamVjdHMvdW5pY29kZW9iamVjdC5jCmluZGV4IGI3MDY2NjEuLjVjMTA3MTMgMTAwNjQ0Ci0tLSBhL09iamVjdHMvdW5pY29kZW9iamVjdC5jCisrKyBiL09iamVjdHMvdW5pY29kZW9iamVjdC5jCkBAIC0xLDggKzEsNyBAQAogLyoKIAogVW5pY29kZSBpbXBsZW1lbnRhdGlvbiBiYXNlZCBvbiBvcmlnaW5hbCBjb2RlIGJ5IEZyZWRyaWsgTHVuZGgsCi1tb2RpZmllZCBieSBNYXJjLUFuZHJlIExlbWJ1cmcgPG1hbEBsZW1idXJnLmNvbT4gYWNjb3JkaW5nIHRvIHRoZQotVW5pY29kZSBJbnRlZ3JhdGlvbiBQcm9wb3NhbCAoc2VlIGZpbGUgTWlzYy91bmljb2RlLnR4dCkuCittb2RpZmllZCBieSBNYXJjLUFuZHJlIExlbWJ1cmcgPG1hbEBsZW1idXJnLmNvbT4uCiAKIE1ham9yIHNwZWVkIHVwZ3JhZGVzIHRvIHRoZSBtZXRob2QgaW1wbGVtZW50YXRpb25zIGF0IHRoZSBSZXlramF2aWsKIE5lZWRGb3JTcGVlZCBzcHJpbnQsIGJ5IEZyZWRyaWsgTHVuZGggYW5kIEFuZHJldyBEYWxrZS4KQEAgLTQyLDM0ICs0MSwxMiBAQAogI2RlZmluZSBQWV9TU0laRV9UX0NMRUFOCiAjaW5jbHVkZSAiUHl0aG9uLmgiCiAjaW5jbHVkZSAidWNuaGFzaC5oIgorI2luY2x1ZGUgImJ5dGVzX21ldGhvZHMuaCIKIAogI2lmZGVmIE1TX1dJTkRPV1MKICNpbmNsdWRlIDx3aW5kb3dzLmg+CiAjZW5kaWYKIAotLyogTGltaXQgZm9yIHRoZSBVbmljb2RlIG9iamVjdCBmcmVlIGxpc3QgKi8KLQotI2RlZmluZSBQeVVuaWNvZGVfTUFYRlJFRUxJU1QgICAgICAgMTAyNAotCi0vKiBMaW1pdCBmb3IgdGhlIFVuaWNvZGUgb2JqZWN0IGZyZWUgbGlzdCBzdGF5IGFsaXZlIG9wdGltaXphdGlvbi4KLQotICAgVGhlIGltcGxlbWVudGF0aW9uIHdpbGwga2VlcCBhbGxvY2F0ZWQgVW5pY29kZSBtZW1vcnkgaW50YWN0IGZvcgotICAgYWxsIG9iamVjdHMgb24gdGhlIGZyZWUgbGlzdCBoYXZpbmcgYSBzaXplIGxlc3MgdGhhbiB0aGlzCi0gICBsaW1pdC4gVGhpcyByZWR1Y2VzIG1hbGxvYygpIG92ZXJoZWFkIGZvciBzbWFsbCBVbmljb2RlIG9iamVjdHMuCi0KLSAgIEF0IHdvcnN0IHRoaXMgd2lsbCByZXN1bHQgaW4gUHlVbmljb2RlX01BWEZSRUVMSVNUICoKLSAgIChzaXplb2YoUHlVbmljb2RlT2JqZWN0KSArIEtFRVBBTElWRV9TSVpFX0xJTUlUICsKLSAgIG1hbGxvYygpLW92ZXJoZWFkKSBieXRlcyBvZiB1bnVzZWQgZ2FyYmFnZS4KLQotICAgU2V0dGluZyB0aGUgbGltaXQgdG8gMCBlZmZlY3RpdmVseSB0dXJucyB0aGUgZmVhdHVyZSBvZmYuCi0KLSAgIE5vdGU6IFRoaXMgaXMgYW4gZXhwZXJpbWVudGFsIGZlYXR1cmUgISBJZiB5b3UgZ2V0IGNvcmUgZHVtcHMgd2hlbgotICAgdXNpbmcgVW5pY29kZSBvYmplY3RzLCB0dXJuIHRoaXMgZmVhdHVyZSBvZmYuCi0KLSovCi0KLSNkZWZpbmUgS0VFUEFMSVZFX1NJWkVfTElNSVQgICAgICAgOQotCiAvKiBFbmRpYW5uZXNzIHN3aXRjaGVzOyBkZWZhdWx0cyB0byBsaXR0bGUgZW5kaWFuICovCiAKICNpZmRlZiBXT1JEU19CSUdFTkRJQU4KQEAgLTkwLDYgKzY3LDEwNSBAQAogZXh0ZXJuICJDIiB7CiAjZW5kaWYKIAorLyogTWF4aW11bSBjb2RlIHBvaW50IG9mIFVuaWNvZGUgNi4wOiAweDEwZmZmZiAoMSwxMTQsMTExKSAqLworI2RlZmluZSBNQVhfVU5JQ09ERSAweDEwZmZmZgorCisjaWZkZWYgUHlfREVCVUcKKyMgIGRlZmluZSBfUHlVbmljb2RlX0NIRUNLKG9wKSBfUHlVbmljb2RlX0NoZWNrQ29uc2lzdGVuY3kob3AsIDApCisjZWxzZQorIyAgZGVmaW5lIF9QeVVuaWNvZGVfQ0hFQ0sob3ApIFB5VW5pY29kZV9DaGVjayhvcCkKKyNlbmRpZgorCisjZGVmaW5lIF9QeVVuaWNvZGVfVVRGOChvcCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAoKChQeUNvbXBhY3RVbmljb2RlT2JqZWN0Kikob3ApKS0+dXRmOCkKKyNkZWZpbmUgUHlVbmljb2RlX1VURjgob3ApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIChhc3NlcnQoX1B5VW5pY29kZV9DSEVDSyhvcCkpLCAgICAgICAgICAgICAgICAgICAgICBcCisgICAgIGFzc2VydChQeVVuaWNvZGVfSVNfUkVBRFkob3ApKSwgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgUHlVbmljb2RlX0lTX0NPTVBBQ1RfQVNDSUkob3ApID8gICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgKChjaGFyKikoKFB5QVNDSUlPYmplY3QqKShvcCkgKyAxKSkgOiAgICAgICAgICBcCisgICAgICAgICBfUHlVbmljb2RlX1VURjgob3ApKQorI2RlZmluZSBfUHlVbmljb2RlX1VURjhfTEVOR1RIKG9wKSAgICAgICAgICAgICAgICAgICAgICBcCisgICAgKCgoUHlDb21wYWN0VW5pY29kZU9iamVjdCopKG9wKSktPnV0ZjhfbGVuZ3RoKQorI2RlZmluZSBQeVVuaWNvZGVfVVRGOF9MRU5HVEgob3ApICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgKGFzc2VydChfUHlVbmljb2RlX0NIRUNLKG9wKSksICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgYXNzZXJ0KFB5VW5pY29kZV9JU19SRUFEWShvcCkpLCAgICAgICAgICAgICAgICAgICAgXAorICAgICBQeVVuaWNvZGVfSVNfQ09NUEFDVF9BU0NJSShvcCkgPyAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAoKFB5QVNDSUlPYmplY3QqKShvcCkpLT5sZW5ndGggOiAgICAgICAgICAgICAgIFwKKyAgICAgICAgIF9QeVVuaWNvZGVfVVRGOF9MRU5HVEgob3ApKQorI2RlZmluZSBfUHlVbmljb2RlX1dTVFIob3ApICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgKCgoUHlBU0NJSU9iamVjdCopKG9wKSktPndzdHIpCisjZGVmaW5lIF9QeVVuaWNvZGVfV1NUUl9MRU5HVEgob3ApICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAoKChQeUNvbXBhY3RVbmljb2RlT2JqZWN0Kikob3ApKS0+d3N0cl9sZW5ndGgpCisjZGVmaW5lIF9QeVVuaWNvZGVfTEVOR1RIKG9wKSAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAoKChQeUFTQ0lJT2JqZWN0ICopKG9wKSktPmxlbmd0aCkKKyNkZWZpbmUgX1B5VW5pY29kZV9TVEFURShvcCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICgoKFB5QVNDSUlPYmplY3QgKikob3ApKS0+c3RhdGUpCisjZGVmaW5lIF9QeVVuaWNvZGVfSEFTSChvcCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAoKChQeUFTQ0lJT2JqZWN0ICopKG9wKSktPmhhc2gpCisjZGVmaW5lIF9QeVVuaWNvZGVfS0lORChvcCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAoYXNzZXJ0KF9QeVVuaWNvZGVfQ0hFQ0sob3ApKSwgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAoKFB5QVNDSUlPYmplY3QgKikob3ApKS0+c3RhdGUua2luZCkKKyNkZWZpbmUgX1B5VW5pY29kZV9HRVRfTEVOR1RIKG9wKSAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIChhc3NlcnQoX1B5VW5pY29kZV9DSEVDSyhvcCkpLCAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICgoUHlBU0NJSU9iamVjdCAqKShvcCkpLT5sZW5ndGgpCisjZGVmaW5lIF9QeVVuaWNvZGVfREFUQV9BTlkob3ApICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAoKChQeVVuaWNvZGVPYmplY3QqKShvcCkpLT5kYXRhLmFueSkKKworI3VuZGVmIFB5VW5pY29kZV9SRUFEWQorI2RlZmluZSBQeVVuaWNvZGVfUkVBRFkob3ApICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgKGFzc2VydChfUHlVbmljb2RlX0NIRUNLKG9wKSksICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgKFB5VW5pY29kZV9JU19SRUFEWShvcCkgPyAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgMCA6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICBfUHlVbmljb2RlX1JlYWR5KG9wKSkpCisKKyNkZWZpbmUgX1B5VW5pY29kZV9TSEFSRV9VVEY4KG9wKSAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIChhc3NlcnQoX1B5VW5pY29kZV9DSEVDSyhvcCkpLCAgICAgICAgICAgICAgICAgICAgICBcCisgICAgIGFzc2VydCghUHlVbmljb2RlX0lTX0NPTVBBQ1RfQVNDSUkob3ApKSwgICAgICAgICAgIFwKKyAgICAgKF9QeVVuaWNvZGVfVVRGOChvcCkgPT0gUHlVbmljb2RlX0RBVEEob3ApKSkKKyNkZWZpbmUgX1B5VW5pY29kZV9TSEFSRV9XU1RSKG9wKSAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIChhc3NlcnQoX1B5VW5pY29kZV9DSEVDSyhvcCkpLCAgICAgICAgICAgICAgICAgICAgICBcCisgICAgIChfUHlVbmljb2RlX1dTVFIodW5pY29kZSkgPT0gUHlVbmljb2RlX0RBVEEob3ApKSkKKworLyogdHJ1ZSBpZiB0aGUgVW5pY29kZSBvYmplY3QgaGFzIGFuIGFsbG9jYXRlZCBVVEYtOCBtZW1vcnkgYmxvY2sKKyAgIChub3Qgc2hhcmVkIHdpdGggb3RoZXIgZGF0YSkgKi8KKyNkZWZpbmUgX1B5VW5pY29kZV9IQVNfVVRGOF9NRU1PUlkob3ApICAgICAgICAgICAgICAgICAgXAorICAgIChhc3NlcnQoX1B5VW5pY29kZV9DSEVDSyhvcCkpLCAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICghUHlVbmljb2RlX0lTX0NPTVBBQ1RfQVNDSUkob3ApICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICYmIF9QeVVuaWNvZGVfVVRGOChvcCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgJiYgX1B5VW5pY29kZV9VVEY4KG9wKSAhPSBQeVVuaWNvZGVfREFUQShvcCkpKQorCisvKiB0cnVlIGlmIHRoZSBVbmljb2RlIG9iamVjdCBoYXMgYW4gYWxsb2NhdGVkIHdzdHIgbWVtb3J5IGJsb2NrCisgICAobm90IHNoYXJlZCB3aXRoIG90aGVyIGRhdGEpICovCisjZGVmaW5lIF9QeVVuaWNvZGVfSEFTX1dTVFJfTUVNT1JZKG9wKSAgICAgICAgICAgICAgICAgIFwKKyAgICAoYXNzZXJ0KF9QeVVuaWNvZGVfQ0hFQ0sob3ApKSwgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAoX1B5VW5pY29kZV9XU1RSKG9wKSAmJiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAoIVB5VW5pY29kZV9JU19SRUFEWShvcCkgfHwgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICBfUHlVbmljb2RlX1dTVFIob3ApICE9IFB5VW5pY29kZV9EQVRBKG9wKSkpKQorCisvKiBHZW5lcmljIGhlbHBlciBtYWNybyB0byBjb252ZXJ0IGNoYXJhY3RlcnMgb2YgZGlmZmVyZW50IHR5cGVzLgorICAgZnJvbV90eXBlIGFuZCB0b190eXBlIGhhdmUgdG8gYmUgdmFsaWQgdHlwZSBuYW1lcywgYmVnaW4gYW5kIGVuZAorICAgYXJlIHBvaW50ZXJzIHRvIHRoZSBzb3VyY2UgY2hhcmFjdGVycyB3aGljaCBzaG91bGQgYmUgb2YgdHlwZQorICAgImZyb21fdHlwZSAqIi4gIHRvIGlzIGEgcG9pbnRlciBvZiB0eXBlICJ0b190eXBlICoiIGFuZCBwb2ludHMgdG8gdGhlCisgICBidWZmZXIgd2hlcmUgdGhlIHJlc3VsdCBjaGFyYWN0ZXJzIGFyZSB3cml0dGVuIHRvLiAqLworI2RlZmluZSBfUHlVbmljb2RlX0NPTlZFUlRfQllURVMoZnJvbV90eXBlLCB0b190eXBlLCBiZWdpbiwgZW5kLCB0bykgXAorICAgIGRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIHRvX3R5cGUgKl90byA9ICh0b190eXBlICopIHRvOyAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgY29uc3QgZnJvbV90eXBlICpfaXRlciA9IChiZWdpbik7ICAgICAgICAgICAgICAgXAorICAgICAgICBjb25zdCBmcm9tX3R5cGUgKl9lbmQgPSAoZW5kKTsgICAgICAgICAgICAgICAgICBcCisgICAgICAgIFB5X3NzaXplX3QgbiA9IChfZW5kKSAtIChfaXRlcik7ICAgICAgICAgICAgICAgIFwKKyAgICAgICAgY29uc3QgZnJvbV90eXBlICpfdW5yb2xsZWRfZW5kID0gICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgX2l0ZXIgKyAobiAmIH4gKFB5X3NzaXplX3QpIDMpOyAgICAgICAgICAgICBcCisgICAgICAgIHdoaWxlIChfaXRlciA8IChfdW5yb2xsZWRfZW5kKSkgeyAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIF90b1swXSA9ICh0b190eXBlKSBfaXRlclswXTsgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgX3RvWzFdID0gKHRvX3R5cGUpIF9pdGVyWzFdOyAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICBfdG9bMl0gPSAodG9fdHlwZSkgX2l0ZXJbMl07ICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIF90b1szXSA9ICh0b190eXBlKSBfaXRlclszXTsgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgX2l0ZXIgKz0gNDsgX3RvICs9IDQ7ICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgd2hpbGUgKF9pdGVyIDwgKF9lbmQpKSAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgKl90bysrID0gKHRvX3R5cGUpICpfaXRlcisrOyAgICAgICAgICAgICAgICBcCisgICAgfSB3aGlsZSAoMCkKKwogLyogVGhpcyBkaWN0aW9uYXJ5IGhvbGRzIGFsbCBpbnRlcm5lZCB1bmljb2RlIHN0cmluZ3MuICBOb3RlIHRoYXQgcmVmZXJlbmNlcwogICAgdG8gc3RyaW5ncyBpbiB0aGlzIGRpY3Rpb25hcnkgYXJlICpub3QqIGNvdW50ZWQgaW4gdGhlIHN0cmluZydzIG9iX3JlZmNudC4KICAgIFdoZW4gdGhlIGludGVybmVkIHN0cmluZyByZWFjaGVzIGEgcmVmY250IG9mIDAgdGhlIHN0cmluZyBkZWFsbG9jYXRpb24KQEAgLTEwMCwxNiArMTc2LDE1IEBACiAqLwogc3RhdGljIFB5T2JqZWN0ICppbnRlcm5lZDsKIAotLyogRnJlZSBsaXN0IGZvciBVbmljb2RlIG9iamVjdHMgKi8KLXN0YXRpYyBQeVVuaWNvZGVPYmplY3QgKmZyZWVfbGlzdDsKLXN0YXRpYyBpbnQgbnVtZnJlZTsKLQogLyogVGhlIGVtcHR5IFVuaWNvZGUgb2JqZWN0IGlzIHNoYXJlZCB0byBpbXByb3ZlIHBlcmZvcm1hbmNlLiAqLwotc3RhdGljIFB5VW5pY29kZU9iamVjdCAqdW5pY29kZV9lbXB0eTsKK3N0YXRpYyBQeU9iamVjdCAqdW5pY29kZV9lbXB0eTsKKworLyogTGlzdCBvZiBzdGF0aWMgc3RyaW5ncy4gKi8KK3N0YXRpYyBfUHlfSWRlbnRpZmllciAqc3RhdGljX3N0cmluZ3M7CiAKIC8qIFNpbmdsZSBjaGFyYWN0ZXIgVW5pY29kZSBzdHJpbmdzIGluIHRoZSBMYXRpbi0xIHJhbmdlIGFyZSBiZWluZwogICAgc2hhcmVkIGFzIHdlbGwuICovCi1zdGF0aWMgUHlVbmljb2RlT2JqZWN0ICp1bmljb2RlX2xhdGluMVsyNTZdOworc3RhdGljIFB5T2JqZWN0ICp1bmljb2RlX2xhdGluMVsyNTZdOwogCiAvKiBGYXN0IGRldGVjdGlvbiBvZiB0aGUgbW9zdCBmcmVxdWVudCB3aGl0ZXNwYWNlIGNoYXJhY3RlcnMgKi8KIGNvbnN0IHVuc2lnbmVkIGNoYXIgX1B5X2FzY2lpX3doaXRlc3BhY2VbXSA9IHsKQEAgLTE0MiwxNiArMjE3LDM3IEBACiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMAogfTsKIAotc3RhdGljIFB5T2JqZWN0ICp1bmljb2RlX2VuY29kZV9jYWxsX2Vycm9yaGFuZGxlcihjb25zdCBjaGFyICplcnJvcnMsCisvKiBmb3J3YXJkICovCitzdGF0aWMgUHlVbmljb2RlT2JqZWN0ICpfUHlVbmljb2RlX05ldyhQeV9zc2l6ZV90IGxlbmd0aCk7CitzdGF0aWMgUHlPYmplY3QqIGdldF9sYXRpbjFfY2hhcih1bnNpZ25lZCBjaGFyIGNoKTsKK3N0YXRpYyB2b2lkIGNvcHlfY2hhcmFjdGVycygKKyAgICBQeU9iamVjdCAqdG8sIFB5X3NzaXplX3QgdG9fc3RhcnQsCisgICAgUHlPYmplY3QgKmZyb20sIFB5X3NzaXplX3QgZnJvbV9zdGFydCwKKyAgICBQeV9zc2l6ZV90IGhvd19tYW55KTsKK3N0YXRpYyBpbnQgdW5pY29kZV9tb2RpZmlhYmxlKFB5T2JqZWN0ICp1bmljb2RlKTsKKworCitzdGF0aWMgUHlPYmplY3QgKgordW5pY29kZV9mcm9tYXNjaWkoY29uc3QgdW5zaWduZWQgY2hhciAqcywgUHlfc3NpemVfdCBzaXplKTsKK3N0YXRpYyBQeU9iamVjdCAqCitfUHlVbmljb2RlX0Zyb21VQ1MxKGNvbnN0IHVuc2lnbmVkIGNoYXIgKnMsIFB5X3NzaXplX3Qgc2l6ZSk7CitzdGF0aWMgUHlPYmplY3QgKgorX1B5VW5pY29kZV9Gcm9tVUNTMihjb25zdCBQeV9VQ1MyICpzLCBQeV9zc2l6ZV90IHNpemUpOworc3RhdGljIFB5T2JqZWN0ICoKK19QeVVuaWNvZGVfRnJvbVVDUzQoY29uc3QgUHlfVUNTNCAqcywgUHlfc3NpemVfdCBzaXplKTsKKworc3RhdGljIFB5T2JqZWN0ICoKK3VuaWNvZGVfZW5jb2RlX2NhbGxfZXJyb3JoYW5kbGVyKGNvbnN0IGNoYXIgKmVycm9ycywKICAgICAgICBQeU9iamVjdCAqKmVycm9ySGFuZGxlcixjb25zdCBjaGFyICplbmNvZGluZywgY29uc3QgY2hhciAqcmVhc29uLAotICAgICAgIGNvbnN0IFB5X1VOSUNPREUgKnVuaWNvZGUsIFB5X3NzaXplX3Qgc2l6ZSwgUHlPYmplY3QgKipleGNlcHRpb25PYmplY3QsCisgICAgICAgUHlPYmplY3QgKnVuaWNvZGUsIFB5T2JqZWN0ICoqZXhjZXB0aW9uT2JqZWN0LAogICAgICAgIFB5X3NzaXplX3Qgc3RhcnRwb3MsIFB5X3NzaXplX3QgZW5kcG9zLCBQeV9zc2l6ZV90ICpuZXdwb3MpOwogCi1zdGF0aWMgdm9pZCByYWlzZV9lbmNvZGVfZXhjZXB0aW9uKFB5T2JqZWN0ICoqZXhjZXB0aW9uT2JqZWN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICplbmNvZGluZywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgUHlfVU5JQ09ERSAqdW5pY29kZSwgUHlfc3NpemVfdCBzaXplLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IHN0YXJ0cG9zLCBQeV9zc2l6ZV90IGVuZHBvcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqcmVhc29uKTsKK3N0YXRpYyB2b2lkCityYWlzZV9lbmNvZGVfZXhjZXB0aW9uKFB5T2JqZWN0ICoqZXhjZXB0aW9uT2JqZWN0LAorICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICplbmNvZGluZywKKyAgICAgICAgICAgICAgICAgICAgICAgUHlPYmplY3QgKnVuaWNvZGUsCisgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3Qgc3RhcnRwb3MsIFB5X3NzaXplX3QgZW5kcG9zLAorICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpyZWFzb24pOwogCiAvKiBTYW1lIGZvciBsaW5lYnJlYWtzICovCiBzdGF0aWMgdW5zaWduZWQgY2hhciBhc2NpaV9saW5lYnJlYWtbXSA9IHsKQEAgLTE4MSw3ICsyNzcsOCBAQAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAKIH07CiAKLQorLyogVGhlIG1heCB1bmljb2RlIHZhbHVlIGlzIGFsd2F5cyAweDEwRkZGRiB3aGlsZSB1c2luZyB0aGUgUEVQLTM5MyBBUEkuCisgICBUaGlzIGZ1bmN0aW9uIGlzIGtlcHQgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgd2l0aCB0aGUgb2xkIEFQSS4gKi8KIFB5X1VOSUNPREUKIFB5VW5pY29kZV9HZXRNYXgodm9pZCkKIHsKQEAgLTE5NCw2ICsyOTEsMjIwIEBACiAjZW5kaWYKIH0KIAorI2lmZGVmIFB5X0RFQlVHCitpbnQKK19QeVVuaWNvZGVfQ2hlY2tDb25zaXN0ZW5jeShQeU9iamVjdCAqb3AsIGludCBjaGVja19jb250ZW50KQoreworICAgIFB5QVNDSUlPYmplY3QgKmFzY2lpOworICAgIHVuc2lnbmVkIGludCBraW5kOworCisgICAgYXNzZXJ0KFB5VW5pY29kZV9DaGVjayhvcCkpOworCisgICAgYXNjaWkgPSAoUHlBU0NJSU9iamVjdCAqKW9wOworICAgIGtpbmQgPSBhc2NpaS0+c3RhdGUua2luZDsKKworICAgIGlmIChhc2NpaS0+c3RhdGUuYXNjaWkgPT0gMSAmJiBhc2NpaS0+c3RhdGUuY29tcGFjdCA9PSAxKSB7CisgICAgICAgIGFzc2VydChraW5kID09IFB5VW5pY29kZV8xQllURV9LSU5EKTsKKyAgICAgICAgYXNzZXJ0KGFzY2lpLT5zdGF0ZS5yZWFkeSA9PSAxKTsKKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIFB5Q29tcGFjdFVuaWNvZGVPYmplY3QgKmNvbXBhY3QgPSAoUHlDb21wYWN0VW5pY29kZU9iamVjdCAqKW9wOworICAgICAgICB2b2lkICpkYXRhOworCisgICAgICAgIGlmIChhc2NpaS0+c3RhdGUuY29tcGFjdCA9PSAxKSB7CisgICAgICAgICAgICBkYXRhID0gY29tcGFjdCArIDE7CisgICAgICAgICAgICBhc3NlcnQoa2luZCA9PSBQeVVuaWNvZGVfMUJZVEVfS0lORAorICAgICAgICAgICAgICAgICAgIHx8IGtpbmQgPT0gUHlVbmljb2RlXzJCWVRFX0tJTkQKKyAgICAgICAgICAgICAgICAgICB8fCBraW5kID09IFB5VW5pY29kZV80QllURV9LSU5EKTsKKyAgICAgICAgICAgIGFzc2VydChhc2NpaS0+c3RhdGUuYXNjaWkgPT0gMCk7CisgICAgICAgICAgICBhc3NlcnQoYXNjaWktPnN0YXRlLnJlYWR5ID09IDEpOworICAgICAgICAgICAgYXNzZXJ0IChjb21wYWN0LT51dGY4ICE9IGRhdGEpOworICAgICAgICB9CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgUHlVbmljb2RlT2JqZWN0ICp1bmljb2RlID0gKFB5VW5pY29kZU9iamVjdCAqKW9wOworCisgICAgICAgICAgICBkYXRhID0gdW5pY29kZS0+ZGF0YS5hbnk7CisgICAgICAgICAgICBpZiAoa2luZCA9PSBQeVVuaWNvZGVfV0NIQVJfS0lORCkgeworICAgICAgICAgICAgICAgIGFzc2VydChhc2NpaS0+bGVuZ3RoID09IDApOworICAgICAgICAgICAgICAgIGFzc2VydChhc2NpaS0+aGFzaCA9PSAtMSk7CisgICAgICAgICAgICAgICAgYXNzZXJ0KGFzY2lpLT5zdGF0ZS5jb21wYWN0ID09IDApOworICAgICAgICAgICAgICAgIGFzc2VydChhc2NpaS0+c3RhdGUuYXNjaWkgPT0gMCk7CisgICAgICAgICAgICAgICAgYXNzZXJ0KGFzY2lpLT5zdGF0ZS5yZWFkeSA9PSAwKTsKKyAgICAgICAgICAgICAgICBhc3NlcnQoYXNjaWktPnN0YXRlLmludGVybmVkID09IFNTVEFURV9OT1RfSU5URVJORUQpOworICAgICAgICAgICAgICAgIGFzc2VydChhc2NpaS0+d3N0ciAhPSBOVUxMKTsKKyAgICAgICAgICAgICAgICBhc3NlcnQoZGF0YSA9PSBOVUxMKTsKKyAgICAgICAgICAgICAgICBhc3NlcnQoY29tcGFjdC0+dXRmOCA9PSBOVUxMKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGVsc2UgeworICAgICAgICAgICAgICAgIGFzc2VydChraW5kID09IFB5VW5pY29kZV8xQllURV9LSU5ECisgICAgICAgICAgICAgICAgICAgICAgIHx8IGtpbmQgPT0gUHlVbmljb2RlXzJCWVRFX0tJTkQKKyAgICAgICAgICAgICAgICAgICAgICAgfHwga2luZCA9PSBQeVVuaWNvZGVfNEJZVEVfS0lORCk7CisgICAgICAgICAgICAgICAgYXNzZXJ0KGFzY2lpLT5zdGF0ZS5jb21wYWN0ID09IDApOworICAgICAgICAgICAgICAgIGFzc2VydChhc2NpaS0+c3RhdGUucmVhZHkgPT0gMSk7CisgICAgICAgICAgICAgICAgYXNzZXJ0KGRhdGEgIT0gTlVMTCk7CisgICAgICAgICAgICAgICAgaWYgKGFzY2lpLT5zdGF0ZS5hc2NpaSkgeworICAgICAgICAgICAgICAgICAgICBhc3NlcnQgKGNvbXBhY3QtPnV0ZjggPT0gZGF0YSk7CisgICAgICAgICAgICAgICAgICAgIGFzc2VydCAoY29tcGFjdC0+dXRmOF9sZW5ndGggPT0gYXNjaWktPmxlbmd0aCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgYXNzZXJ0IChjb21wYWN0LT51dGY4ICE9IGRhdGEpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIGlmIChraW5kICE9IFB5VW5pY29kZV9XQ0hBUl9LSU5EKSB7CisgICAgICAgICAgICBpZiAoCisjaWYgU0laRU9GX1dDSEFSX1QgPT0gMgorICAgICAgICAgICAgICAgIGtpbmQgPT0gUHlVbmljb2RlXzJCWVRFX0tJTkQKKyNlbHNlCisgICAgICAgICAgICAgICAga2luZCA9PSBQeVVuaWNvZGVfNEJZVEVfS0lORAorI2VuZGlmCisgICAgICAgICAgICAgICApCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgYXNzZXJ0KGFzY2lpLT53c3RyID09IGRhdGEpOworICAgICAgICAgICAgICAgIGFzc2VydChjb21wYWN0LT53c3RyX2xlbmd0aCA9PSBhc2NpaS0+bGVuZ3RoKTsKKyAgICAgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgICAgIGFzc2VydChhc2NpaS0+d3N0ciAhPSBkYXRhKTsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChjb21wYWN0LT51dGY4ID09IE5VTEwpCisgICAgICAgICAgICBhc3NlcnQoY29tcGFjdC0+dXRmOF9sZW5ndGggPT0gMCk7CisgICAgICAgIGlmIChhc2NpaS0+d3N0ciA9PSBOVUxMKQorICAgICAgICAgICAgYXNzZXJ0KGNvbXBhY3QtPndzdHJfbGVuZ3RoID09IDApOworICAgIH0KKyAgICAvKiBjaGVjayB0aGF0IHRoZSBiZXN0IGtpbmQgaXMgdXNlZCAqLworICAgIGlmIChjaGVja19jb250ZW50ICYmIGtpbmQgIT0gUHlVbmljb2RlX1dDSEFSX0tJTkQpCisgICAgeworICAgICAgICBQeV9zc2l6ZV90IGk7CisgICAgICAgIFB5X1VDUzQgbWF4Y2hhciA9IDA7CisgICAgICAgIHZvaWQgKmRhdGEgPSBQeVVuaWNvZGVfREFUQShhc2NpaSk7CisgICAgICAgIGZvciAoaT0wOyBpIDwgYXNjaWktPmxlbmd0aDsgaSsrKQorICAgICAgICB7CisgICAgICAgICAgICBQeV9VQ1M0IGNoID0gUHlVbmljb2RlX1JFQUQoa2luZCwgZGF0YSwgaSk7CisgICAgICAgICAgICBpZiAoY2ggPiBtYXhjaGFyKQorICAgICAgICAgICAgICAgIG1heGNoYXIgPSBjaDsKKyAgICAgICAgfQorICAgICAgICBpZiAoa2luZCA9PSBQeVVuaWNvZGVfMUJZVEVfS0lORCkgeworICAgICAgICAgICAgaWYgKGFzY2lpLT5zdGF0ZS5hc2NpaSA9PSAwKSB7CisgICAgICAgICAgICAgICAgYXNzZXJ0KG1heGNoYXIgPj0gMTI4KTsKKyAgICAgICAgICAgICAgICBhc3NlcnQobWF4Y2hhciA8PSAyNTUpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIGFzc2VydChtYXhjaGFyIDwgMTI4KTsKKyAgICAgICAgfQorICAgICAgICBlbHNlIGlmIChraW5kID09IFB5VW5pY29kZV8yQllURV9LSU5EKSB7CisgICAgICAgICAgICBhc3NlcnQobWF4Y2hhciA+PSAweDEwMCk7CisgICAgICAgICAgICBhc3NlcnQobWF4Y2hhciA8PSAweEZGRkYpOworICAgICAgICB9CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgYXNzZXJ0KG1heGNoYXIgPj0gMHgxMDAwMCk7CisgICAgICAgICAgICBhc3NlcnQobWF4Y2hhciA8PSBNQVhfVU5JQ09ERSk7CisgICAgICAgIH0KKyAgICB9CisgICAgcmV0dXJuIDE7Cit9CisjZW5kaWYKKworc3RhdGljIFB5T2JqZWN0KgordW5pY29kZV9yZXN1bHRfd2NoYXIoUHlPYmplY3QgKnVuaWNvZGUpCit7CisjaWZuZGVmIFB5X0RFQlVHCisgICAgUHlfc3NpemVfdCBsZW47CisKKyAgICBhc3NlcnQoUHlfUkVGQ05UKHVuaWNvZGUpID09IDEpOworCisgICAgbGVuID0gX1B5VW5pY29kZV9XU1RSX0xFTkdUSCh1bmljb2RlKTsKKyAgICBpZiAobGVuID09IDApIHsKKyAgICAgICAgUHlfSU5DUkVGKHVuaWNvZGVfZW1wdHkpOworICAgICAgICBQeV9ERUNSRUYodW5pY29kZSk7CisgICAgICAgIHJldHVybiB1bmljb2RlX2VtcHR5OworICAgIH0KKworICAgIGlmIChsZW4gPT0gMSkgeworICAgICAgICB3Y2hhcl90IGNoID0gX1B5VW5pY29kZV9XU1RSKHVuaWNvZGUpWzBdOworICAgICAgICBpZiAoY2ggPCAyNTYpIHsKKyAgICAgICAgICAgIFB5T2JqZWN0ICpsYXRpbjFfY2hhciA9IGdldF9sYXRpbjFfY2hhcigodW5zaWduZWQgY2hhciljaCk7CisgICAgICAgICAgICBQeV9ERUNSRUYodW5pY29kZSk7CisgICAgICAgICAgICByZXR1cm4gbGF0aW4xX2NoYXI7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBpZiAoX1B5VW5pY29kZV9SZWFkeSh1bmljb2RlKSA8IDApIHsKKyAgICAgICAgUHlfWERFQ1JFRih1bmljb2RlKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorI2Vsc2UKKyAgICAvKiBkb24ndCBtYWtlIHRoZSByZXN1bHQgcmVhZHkgaW4gZGVidWcgbW9kZSB0byBlbnN1cmUgdGhhdCB0aGUgY2FsbGVyCisgICAgICAgbWFrZXMgdGhlIHN0cmluZyByZWFkeSBiZWZvcmUgdXNpbmcgaXQgKi8KKyAgICBhc3NlcnQoX1B5VW5pY29kZV9DaGVja0NvbnNpc3RlbmN5KHVuaWNvZGUsIDEpKTsKKyNlbmRpZgorICAgIHJldHVybiB1bmljb2RlOworfQorCitzdGF0aWMgUHlPYmplY3QqCit1bmljb2RlX3Jlc3VsdF9yZWFkeShQeU9iamVjdCAqdW5pY29kZSkKK3sKKyAgICBQeV9zc2l6ZV90IGxlbmd0aDsKKworICAgIGxlbmd0aCA9IFB5VW5pY29kZV9HRVRfTEVOR1RIKHVuaWNvZGUpOworICAgIGlmIChsZW5ndGggPT0gMCkgeworICAgICAgICBpZiAodW5pY29kZSAhPSB1bmljb2RlX2VtcHR5KSB7CisgICAgICAgICAgICBQeV9JTkNSRUYodW5pY29kZV9lbXB0eSk7CisgICAgICAgICAgICBQeV9ERUNSRUYodW5pY29kZSk7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIHVuaWNvZGVfZW1wdHk7CisgICAgfQorCisgICAgaWYgKGxlbmd0aCA9PSAxKSB7CisgICAgICAgIFB5X1VDUzQgY2ggPSBQeVVuaWNvZGVfUkVBRF9DSEFSKHVuaWNvZGUsIDApOworICAgICAgICBpZiAoY2ggPCAyNTYpIHsKKyAgICAgICAgICAgIFB5T2JqZWN0ICpsYXRpbjFfY2hhciA9IHVuaWNvZGVfbGF0aW4xW2NoXTsKKyAgICAgICAgICAgIGlmIChsYXRpbjFfY2hhciAhPSBOVUxMKSB7CisgICAgICAgICAgICAgICAgaWYgKHVuaWNvZGUgIT0gbGF0aW4xX2NoYXIpIHsKKyAgICAgICAgICAgICAgICAgICAgUHlfSU5DUkVGKGxhdGluMV9jaGFyKTsKKyAgICAgICAgICAgICAgICAgICAgUHlfREVDUkVGKHVuaWNvZGUpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICByZXR1cm4gbGF0aW4xX2NoYXI7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgICAgICBhc3NlcnQoX1B5VW5pY29kZV9DaGVja0NvbnNpc3RlbmN5KHVuaWNvZGUsIDEpKTsKKyAgICAgICAgICAgICAgICBQeV9JTkNSRUYodW5pY29kZSk7CisgICAgICAgICAgICAgICAgdW5pY29kZV9sYXRpbjFbY2hdID0gdW5pY29kZTsKKyAgICAgICAgICAgICAgICByZXR1cm4gdW5pY29kZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KKworICAgIGFzc2VydChfUHlVbmljb2RlX0NoZWNrQ29uc2lzdGVuY3kodW5pY29kZSwgMSkpOworICAgIHJldHVybiB1bmljb2RlOworfQorCitzdGF0aWMgUHlPYmplY3QqCit1bmljb2RlX3Jlc3VsdChQeU9iamVjdCAqdW5pY29kZSkKK3sKKyAgICBhc3NlcnQoX1B5VW5pY29kZV9DSEVDSyh1bmljb2RlKSk7CisgICAgaWYgKFB5VW5pY29kZV9JU19SRUFEWSh1bmljb2RlKSkKKyAgICAgICAgcmV0dXJuIHVuaWNvZGVfcmVzdWx0X3JlYWR5KHVuaWNvZGUpOworICAgIGVsc2UKKyAgICAgICAgcmV0dXJuIHVuaWNvZGVfcmVzdWx0X3djaGFyKHVuaWNvZGUpOworfQorCitzdGF0aWMgUHlPYmplY3QqCit1bmljb2RlX3Jlc3VsdF91bmNoYW5nZWQoUHlPYmplY3QgKnVuaWNvZGUpCit7CisgICAgaWYgKFB5VW5pY29kZV9DaGVja0V4YWN0KHVuaWNvZGUpKSB7CisgICAgICAgIGlmIChQeVVuaWNvZGVfUkVBRFkodW5pY29kZSkgPT0gLTEpCisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgUHlfSU5DUkVGKHVuaWNvZGUpOworICAgICAgICByZXR1cm4gdW5pY29kZTsKKyAgICB9CisgICAgZWxzZQorICAgICAgICAvKiBTdWJ0eXBlIC0tIHJldHVybiBnZW51aW5lIHVuaWNvZGUgc3RyaW5nIHdpdGggdGhlIHNhbWUgdmFsdWUuICovCisgICAgICAgIHJldHVybiBfUHlVbmljb2RlX0NvcHkodW5pY29kZSk7Cit9CisKKyNpZmRlZiBIQVZFX01CQ1MKK3N0YXRpYyBPU1ZFUlNJT05JTkZPRVggd2ludmVyOworI2VuZGlmCisKIC8qIC0tLSBCbG9vbSBGaWx0ZXJzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCiAKIC8qIHN0dWZmIHRvIGltcGxlbWVudCBzaW1wbGUgImJsb29tIGZpbHRlcnMiIGZvciBVbmljb2RlIGNoYXJhY3RlcnMuCkBAIC0yMjMsNyArNTM0LDggQEAKICAgICAoKGNoKSA8IDEyOFUgPyBhc2NpaV9saW5lYnJlYWtbKGNoKV0gOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgKEJMT09NKGJsb29tX2xpbmVicmVhaywgKGNoKSkgJiYgUHlfVU5JQ09ERV9JU0xJTkVCUkVBSyhjaCkpKQogCi1QeV9MT0NBTF9JTkxJTkUoQkxPT01fTUFTSykgbWFrZV9ibG9vbV9tYXNrKFB5X1VOSUNPREUqIHB0ciwgUHlfc3NpemVfdCBsZW4pCitQeV9MT0NBTF9JTkxJTkUoQkxPT01fTUFTSykKK21ha2VfYmxvb21fbWFzayhpbnQga2luZCwgdm9pZCogcHRyLCBQeV9zc2l6ZV90IGxlbikKIHsKICAgICAvKiBjYWxjdWxhdGUgc2ltcGxlIGJsb29tLXN0eWxlIGJpdG1hc2sgZm9yIGEgZ2l2ZW4gdW5pY29kZSBzdHJpbmcgKi8KIApAQCAtMjMyLDc2ICs1NDQsMjUxIEBACiAKICAgICBtYXNrID0gMDsKICAgICBmb3IgKGkgPSAwOyBpIDwgbGVuOyBpKyspCi0gICAgICAgIEJMT09NX0FERChtYXNrLCBwdHJbaV0pOworICAgICAgICBCTE9PTV9BREQobWFzaywgUHlVbmljb2RlX1JFQUQoa2luZCwgcHRyLCBpKSk7CiAKICAgICByZXR1cm4gbWFzazsKIH0KIAotUHlfTE9DQUxfSU5MSU5FKGludCkgdW5pY29kZV9tZW1iZXIoUHlfVU5JQ09ERSBjaHIsIFB5X1VOSUNPREUqIHNldCwgUHlfc3NpemVfdCBzZXRsZW4pCi17Ci0gICAgUHlfc3NpemVfdCBpOworI2RlZmluZSBCTE9PTV9NRU1CRVIobWFzaywgY2hyLCBzdHIpIFwKKyAgICAoQkxPT00obWFzaywgY2hyKSBcCisgICAgICYmIChQeVVuaWNvZGVfRmluZENoYXIoc3RyLCBjaHIsIDAsIFB5VW5pY29kZV9HRVRfTEVOR1RIKHN0ciksIDEpID49IDApKQogCi0gICAgZm9yIChpID0gMDsgaSA8IHNldGxlbjsgaSsrKQotICAgICAgICBpZiAoc2V0W2ldID09IGNocikKLSAgICAgICAgICAgIHJldHVybiAxOworLyogQ29tcGlsYXRpb24gb2YgdGVtcGxhdGVkIHJvdXRpbmVzICovCiAKLSAgICByZXR1cm4gMDsKLX0KKyNpbmNsdWRlICJzdHJpbmdsaWIvYXNjaWlsaWIuaCIKKyNpbmNsdWRlICJzdHJpbmdsaWIvZmFzdHNlYXJjaC5oIgorI2luY2x1ZGUgInN0cmluZ2xpYi9wYXJ0aXRpb24uaCIKKyNpbmNsdWRlICJzdHJpbmdsaWIvc3BsaXQuaCIKKyNpbmNsdWRlICJzdHJpbmdsaWIvY291bnQuaCIKKyNpbmNsdWRlICJzdHJpbmdsaWIvZmluZC5oIgorI2luY2x1ZGUgInN0cmluZ2xpYi9maW5kX21heF9jaGFyLmgiCisjaW5jbHVkZSAic3RyaW5nbGliL2xvY2FsZXV0aWwuaCIKKyNpbmNsdWRlICJzdHJpbmdsaWIvdW5kZWYuaCIKIAotI2RlZmluZSBCTE9PTV9NRU1CRVIobWFzaywgY2hyLCBzZXQsIHNldGxlbikgICAgICAgICAgICAgICAgICAgIFwKLSAgICBCTE9PTShtYXNrLCBjaHIpICYmIHVuaWNvZGVfbWVtYmVyKGNociwgc2V0LCBzZXRsZW4pCisjaW5jbHVkZSAic3RyaW5nbGliL3VjczFsaWIuaCIKKyNpbmNsdWRlICJzdHJpbmdsaWIvZmFzdHNlYXJjaC5oIgorI2luY2x1ZGUgInN0cmluZ2xpYi9wYXJ0aXRpb24uaCIKKyNpbmNsdWRlICJzdHJpbmdsaWIvc3BsaXQuaCIKKyNpbmNsdWRlICJzdHJpbmdsaWIvY291bnQuaCIKKyNpbmNsdWRlICJzdHJpbmdsaWIvZmluZC5oIgorI2luY2x1ZGUgInN0cmluZ2xpYi9maW5kX21heF9jaGFyLmgiCisjaW5jbHVkZSAic3RyaW5nbGliL2xvY2FsZXV0aWwuaCIKKyNpbmNsdWRlICJzdHJpbmdsaWIvdW5kZWYuaCIKKworI2luY2x1ZGUgInN0cmluZ2xpYi91Y3MybGliLmgiCisjaW5jbHVkZSAic3RyaW5nbGliL2Zhc3RzZWFyY2guaCIKKyNpbmNsdWRlICJzdHJpbmdsaWIvcGFydGl0aW9uLmgiCisjaW5jbHVkZSAic3RyaW5nbGliL3NwbGl0LmgiCisjaW5jbHVkZSAic3RyaW5nbGliL2NvdW50LmgiCisjaW5jbHVkZSAic3RyaW5nbGliL2ZpbmQuaCIKKyNpbmNsdWRlICJzdHJpbmdsaWIvZmluZF9tYXhfY2hhci5oIgorI2luY2x1ZGUgInN0cmluZ2xpYi9sb2NhbGV1dGlsLmgiCisjaW5jbHVkZSAic3RyaW5nbGliL3VuZGVmLmgiCisKKyNpbmNsdWRlICJzdHJpbmdsaWIvdWNzNGxpYi5oIgorI2luY2x1ZGUgInN0cmluZ2xpYi9mYXN0c2VhcmNoLmgiCisjaW5jbHVkZSAic3RyaW5nbGliL3BhcnRpdGlvbi5oIgorI2luY2x1ZGUgInN0cmluZ2xpYi9zcGxpdC5oIgorI2luY2x1ZGUgInN0cmluZ2xpYi9jb3VudC5oIgorI2luY2x1ZGUgInN0cmluZ2xpYi9maW5kLmgiCisjaW5jbHVkZSAic3RyaW5nbGliL2ZpbmRfbWF4X2NoYXIuaCIKKyNpbmNsdWRlICJzdHJpbmdsaWIvbG9jYWxldXRpbC5oIgorI2luY2x1ZGUgInN0cmluZ2xpYi91bmRlZi5oIgorCisjaW5jbHVkZSAic3RyaW5nbGliL3VuaWNvZGVkZWZzLmgiCisjaW5jbHVkZSAic3RyaW5nbGliL2Zhc3RzZWFyY2guaCIKKyNpbmNsdWRlICJzdHJpbmdsaWIvY291bnQuaCIKKyNpbmNsdWRlICJzdHJpbmdsaWIvZmluZC5oIgorI2luY2x1ZGUgInN0cmluZ2xpYi91bmRlZi5oIgogCiAvKiAtLS0gVW5pY29kZSBPYmplY3QgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KIAotc3RhdGljCi1pbnQgdW5pY29kZV9yZXNpemUocmVnaXN0ZXIgUHlVbmljb2RlT2JqZWN0ICp1bmljb2RlLAotICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3QgbGVuZ3RoKQorc3RhdGljIFB5T2JqZWN0ICoKK2ZpeHVwKFB5T2JqZWN0ICpzZWxmLCBQeV9VQ1M0ICgqZml4ZmN0KShQeU9iamVjdCAqcykpOworCitQeV9MT0NBTF9JTkxJTkUoUHlfc3NpemVfdCkgZmluZGNoYXIodm9pZCAqcywgaW50IGtpbmQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBzaXplLCBQeV9VQ1M0IGNoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkaXJlY3Rpb24pCiB7Ci0gICAgdm9pZCAqb2xkc3RyOworICAgIGludCBtb2RlID0gKGRpcmVjdGlvbiA9PSAxKSA/IEZBU1RfU0VBUkNIIDogRkFTVF9SU0VBUkNIOwogCi0gICAgLyogU2hvcnRjdXQgaWYgdGhlcmUncyBub3RoaW5nIG11Y2ggdG8gZG8uICovCi0gICAgaWYgKHVuaWNvZGUtPmxlbmd0aCA9PSBsZW5ndGgpCi0gICAgICAgIGdvdG8gcmVzZXQ7Ci0KLSAgICAvKiBSZXNpemluZyBzaGFyZWQgb2JqZWN0ICh1bmljb2RlX2VtcHR5IG9yIHNpbmdsZSBjaGFyYWN0ZXIKLSAgICAgICBvYmplY3RzKSBpbi1wbGFjZSBpcyBub3QgYWxsb3dlZC4gVXNlIFB5VW5pY29kZV9SZXNpemUoKQotICAgICAgIGluc3RlYWQgISAqLwotCi0gICAgaWYgKHVuaWNvZGUgPT0gdW5pY29kZV9lbXB0eSB8fAotICAgICAgICAodW5pY29kZS0+bGVuZ3RoID09IDEgJiYKLSAgICAgICAgIHVuaWNvZGUtPnN0clswXSA8IDI1NlUgJiYKLSAgICAgICAgIHVuaWNvZGVfbGF0aW4xW3VuaWNvZGUtPnN0clswXV0gPT0gdW5pY29kZSkpIHsKLSAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1N5c3RlbUVycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgImNhbid0IHJlc2l6ZSBzaGFyZWQgc3RyIG9iamVjdHMiKTsKKyAgICBzd2l0Y2ggKGtpbmQpIHsKKyAgICBjYXNlIFB5VW5pY29kZV8xQllURV9LSU5EOgorICAgICAgICB7CisgICAgICAgICAgICBQeV9VQ1MxIGNoMSA9IChQeV9VQ1MxKSBjaDsKKyAgICAgICAgICAgIGlmIChjaDEgPT0gY2gpCisgICAgICAgICAgICAgICAgcmV0dXJuIHVjczFsaWJfZmFzdHNlYXJjaCgoUHlfVUNTMSAqKSBzLCBzaXplLCAmY2gxLCAxLCAwLCBtb2RlKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIH0KKyAgICBjYXNlIFB5VW5pY29kZV8yQllURV9LSU5EOgorICAgICAgICB7CisgICAgICAgICAgICBQeV9VQ1MyIGNoMiA9IChQeV9VQ1MyKSBjaDsKKyAgICAgICAgICAgIGlmIChjaDIgPT0gY2gpCisgICAgICAgICAgICAgICAgcmV0dXJuIHVjczJsaWJfZmFzdHNlYXJjaCgoUHlfVUNTMiAqKSBzLCBzaXplLCAmY2gyLCAxLCAwLCBtb2RlKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIH0KKyAgICBjYXNlIFB5VW5pY29kZV80QllURV9LSU5EOgorICAgICAgICByZXR1cm4gdWNzNGxpYl9mYXN0c2VhcmNoKChQeV9VQ1M0ICopIHMsIHNpemUsICZjaCwgMSwgMCwgbW9kZSk7CisgICAgZGVmYXVsdDoKKyAgICAgICAgYXNzZXJ0KDApOwogICAgICAgICByZXR1cm4gLTE7CiAgICAgfQorfQogCi0gICAgLyogV2UgYWxsb2NhdGUgb25lIG1vcmUgYnl0ZSB0byBtYWtlIHN1cmUgdGhlIHN0cmluZyBpcyBVeDAwMDAgdGVybWluYXRlZC4KLSAgICAgICBUaGUgb3ZlcmFsbG9jYXRpb24gaXMgYWxzbyB1c2VkIGJ5IGZhc3RzZWFyY2gsIHdoaWNoIGFzc3VtZXMgdGhhdCBpdCdzCi0gICAgICAgc2FmZSB0byBsb29rIGF0IHN0cltsZW5ndGhdICh3aXRob3V0IG1ha2luZyBhbnkgYXNzdW1wdGlvbnMgYWJvdXQgd2hhdAotICAgICAgIGl0IGNvbnRhaW5zKS4gKi8KK3N0YXRpYyBQeU9iamVjdCoKK3Jlc2l6ZV9jb21wYWN0KFB5T2JqZWN0ICp1bmljb2RlLCBQeV9zc2l6ZV90IGxlbmd0aCkKK3sKKyAgICBQeV9zc2l6ZV90IGNoYXJfc2l6ZTsKKyAgICBQeV9zc2l6ZV90IHN0cnVjdF9zaXplOworICAgIFB5X3NzaXplX3QgbmV3X3NpemU7CisgICAgaW50IHNoYXJlX3dzdHI7CisgICAgUHlPYmplY3QgKm5ld191bmljb2RlOworICAgIGFzc2VydChQeVVuaWNvZGVfSVNfUkVBRFkodW5pY29kZSkpOworICAgIGFzc2VydChQeVVuaWNvZGVfSVNfQ09NUEFDVCh1bmljb2RlKSk7CiAKLSAgICBvbGRzdHIgPSB1bmljb2RlLT5zdHI7Ci0gICAgdW5pY29kZS0+c3RyID0gUHlPYmplY3RfUkVBTExPQyh1bmljb2RlLT5zdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YoUHlfVU5JQ09ERSkgKiAobGVuZ3RoICsgMSkpOwotICAgIGlmICghdW5pY29kZS0+c3RyKSB7Ci0gICAgICAgIHVuaWNvZGUtPnN0ciA9IChQeV9VTklDT0RFICopb2xkc3RyOworICAgIGNoYXJfc2l6ZSA9IFB5VW5pY29kZV9LSU5EKHVuaWNvZGUpOworICAgIGlmIChQeVVuaWNvZGVfSVNfQVNDSUkodW5pY29kZSkpCisgICAgICAgIHN0cnVjdF9zaXplID0gc2l6ZW9mKFB5QVNDSUlPYmplY3QpOworICAgIGVsc2UKKyAgICAgICAgc3RydWN0X3NpemUgPSBzaXplb2YoUHlDb21wYWN0VW5pY29kZU9iamVjdCk7CisgICAgc2hhcmVfd3N0ciA9IF9QeVVuaWNvZGVfU0hBUkVfV1NUUih1bmljb2RlKTsKKworICAgIGlmIChsZW5ndGggPiAoKFBZX1NTSVpFX1RfTUFYIC0gc3RydWN0X3NpemUpIC8gY2hhcl9zaXplIC0gMSkpIHsKKyAgICAgICAgUHlFcnJfTm9NZW1vcnkoKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorICAgIG5ld19zaXplID0gKHN0cnVjdF9zaXplICsgKGxlbmd0aCArIDEpICogY2hhcl9zaXplKTsKKworICAgIF9QeV9ERUNfUkVGVE9UQUw7CisgICAgX1B5X0ZvcmdldFJlZmVyZW5jZSh1bmljb2RlKTsKKworICAgIG5ld191bmljb2RlID0gKFB5T2JqZWN0ICopUHlPYmplY3RfUkVBTExPQygoY2hhciAqKXVuaWNvZGUsIG5ld19zaXplKTsKKyAgICBpZiAobmV3X3VuaWNvZGUgPT0gTlVMTCkgeworICAgICAgICBfUHlfTmV3UmVmZXJlbmNlKHVuaWNvZGUpOworICAgICAgICBQeUVycl9Ob01lbW9yeSgpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisgICAgdW5pY29kZSA9IG5ld191bmljb2RlOworICAgIF9QeV9OZXdSZWZlcmVuY2UodW5pY29kZSk7CisKKyAgICBfUHlVbmljb2RlX0xFTkdUSCh1bmljb2RlKSA9IGxlbmd0aDsKKyAgICBpZiAoc2hhcmVfd3N0cikgeworICAgICAgICBfUHlVbmljb2RlX1dTVFIodW5pY29kZSkgPSBQeVVuaWNvZGVfREFUQSh1bmljb2RlKTsKKyAgICAgICAgaWYgKCFQeVVuaWNvZGVfSVNfQVNDSUkodW5pY29kZSkpCisgICAgICAgICAgICBfUHlVbmljb2RlX1dTVFJfTEVOR1RIKHVuaWNvZGUpID0gbGVuZ3RoOworICAgIH0KKyAgICBQeVVuaWNvZGVfV1JJVEUoUHlVbmljb2RlX0tJTkQodW5pY29kZSksIFB5VW5pY29kZV9EQVRBKHVuaWNvZGUpLAorICAgICAgICAgICAgICAgICAgICBsZW5ndGgsIDApOworICAgIHJldHVybiB1bmljb2RlOworfQorCitzdGF0aWMgaW50CityZXNpemVfaW5wbGFjZShQeU9iamVjdCAqdW5pY29kZSwgUHlfc3NpemVfdCBsZW5ndGgpCit7CisgICAgd2NoYXJfdCAqd3N0cjsKKyAgICBQeV9zc2l6ZV90IG5ld19zaXplOworICAgIGFzc2VydCghUHlVbmljb2RlX0lTX0NPTVBBQ1QodW5pY29kZSkpOworICAgIGFzc2VydChQeV9SRUZDTlQodW5pY29kZSkgPT0gMSk7CisKKyAgICBpZiAoUHlVbmljb2RlX0lTX1JFQURZKHVuaWNvZGUpKSB7CisgICAgICAgIFB5X3NzaXplX3QgY2hhcl9zaXplOworICAgICAgICBpbnQgc2hhcmVfd3N0ciwgc2hhcmVfdXRmODsKKyAgICAgICAgdm9pZCAqZGF0YTsKKworICAgICAgICBkYXRhID0gX1B5VW5pY29kZV9EQVRBX0FOWSh1bmljb2RlKTsKKyAgICAgICAgY2hhcl9zaXplID0gUHlVbmljb2RlX0tJTkQodW5pY29kZSk7CisgICAgICAgIHNoYXJlX3dzdHIgPSBfUHlVbmljb2RlX1NIQVJFX1dTVFIodW5pY29kZSk7CisgICAgICAgIHNoYXJlX3V0ZjggPSBfUHlVbmljb2RlX1NIQVJFX1VURjgodW5pY29kZSk7CisKKyAgICAgICAgaWYgKGxlbmd0aCA+IChQWV9TU0laRV9UX01BWCAvIGNoYXJfc2l6ZSAtIDEpKSB7CisgICAgICAgICAgICBQeUVycl9Ob01lbW9yeSgpOworICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICB9CisgICAgICAgIG5ld19zaXplID0gKGxlbmd0aCArIDEpICogY2hhcl9zaXplOworCisgICAgICAgIGlmICghc2hhcmVfdXRmOCAmJiBfUHlVbmljb2RlX0hBU19VVEY4X01FTU9SWSh1bmljb2RlKSkKKyAgICAgICAgeworICAgICAgICAgICAgUHlPYmplY3RfREVMKF9QeVVuaWNvZGVfVVRGOCh1bmljb2RlKSk7CisgICAgICAgICAgICBfUHlVbmljb2RlX1VURjgodW5pY29kZSkgPSBOVUxMOworICAgICAgICAgICAgX1B5VW5pY29kZV9VVEY4X0xFTkdUSCh1bmljb2RlKSA9IDA7CisgICAgICAgIH0KKworICAgICAgICBkYXRhID0gKFB5T2JqZWN0ICopUHlPYmplY3RfUkVBTExPQyhkYXRhLCBuZXdfc2l6ZSk7CisgICAgICAgIGlmIChkYXRhID09IE5VTEwpIHsKKyAgICAgICAgICAgIFB5RXJyX05vTWVtb3J5KCk7CisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIH0KKyAgICAgICAgX1B5VW5pY29kZV9EQVRBX0FOWSh1bmljb2RlKSA9IGRhdGE7CisgICAgICAgIGlmIChzaGFyZV93c3RyKSB7CisgICAgICAgICAgICBfUHlVbmljb2RlX1dTVFIodW5pY29kZSkgPSBkYXRhOworICAgICAgICAgICAgX1B5VW5pY29kZV9XU1RSX0xFTkdUSCh1bmljb2RlKSA9IGxlbmd0aDsKKyAgICAgICAgfQorICAgICAgICBpZiAoc2hhcmVfdXRmOCkgeworICAgICAgICAgICAgX1B5VW5pY29kZV9VVEY4KHVuaWNvZGUpID0gZGF0YTsKKyAgICAgICAgICAgIF9QeVVuaWNvZGVfVVRGOF9MRU5HVEgodW5pY29kZSkgPSBsZW5ndGg7CisgICAgICAgIH0KKyAgICAgICAgX1B5VW5pY29kZV9MRU5HVEgodW5pY29kZSkgPSBsZW5ndGg7CisgICAgICAgIFB5VW5pY29kZV9XUklURShQeVVuaWNvZGVfS0lORCh1bmljb2RlKSwgZGF0YSwgbGVuZ3RoLCAwKTsKKyAgICAgICAgaWYgKHNoYXJlX3dzdHIgfHwgX1B5VW5pY29kZV9XU1RSKHVuaWNvZGUpID09IE5VTEwpIHsKKyAgICAgICAgICAgIGFzc2VydChfUHlVbmljb2RlX0NoZWNrQ29uc2lzdGVuY3kodW5pY29kZSwgMCkpOworICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIH0KKyAgICB9CisgICAgYXNzZXJ0KF9QeVVuaWNvZGVfV1NUUih1bmljb2RlKSAhPSBOVUxMKTsKKworICAgIC8qIGNoZWNrIGZvciBpbnRlZ2VyIG92ZXJmbG93ICovCisgICAgaWYgKGxlbmd0aCA+IFBZX1NTSVpFX1RfTUFYIC8gc2l6ZW9mKHdjaGFyX3QpIC0gMSkgewogICAgICAgICBQeUVycl9Ob01lbW9yeSgpOwogICAgICAgICByZXR1cm4gLTE7CiAgICAgfQotICAgIHVuaWNvZGUtPnN0cltsZW5ndGhdID0gMDsKLSAgICB1bmljb2RlLT5sZW5ndGggPSBsZW5ndGg7Ci0KLSAgcmVzZXQ6Ci0gICAgLyogUmVzZXQgdGhlIG9iamVjdCBjYWNoZXMgKi8KLSAgICBpZiAodW5pY29kZS0+ZGVmZW5jKSB7Ci0gICAgICAgIFB5X0NMRUFSKHVuaWNvZGUtPmRlZmVuYyk7CisgICAgbmV3X3NpemUgPSBzaXplb2Yod2NoYXJfdCkgKiAobGVuZ3RoICsgMSk7CisgICAgd3N0ciA9ICBfUHlVbmljb2RlX1dTVFIodW5pY29kZSk7CisgICAgd3N0ciA9IFB5T2JqZWN0X1JFQUxMT0Mod3N0ciwgbmV3X3NpemUpOworICAgIGlmICghd3N0cikgeworICAgICAgICBQeUVycl9Ob01lbW9yeSgpOworICAgICAgICByZXR1cm4gLTE7CiAgICAgfQotICAgIHVuaWNvZGUtPmhhc2ggPSAtMTsKLQorICAgIF9QeVVuaWNvZGVfV1NUUih1bmljb2RlKSA9IHdzdHI7CisgICAgX1B5VW5pY29kZV9XU1RSKHVuaWNvZGUpW2xlbmd0aF0gPSAwOworICAgIF9QeVVuaWNvZGVfV1NUUl9MRU5HVEgodW5pY29kZSkgPSBsZW5ndGg7CisgICAgYXNzZXJ0KF9QeVVuaWNvZGVfQ2hlY2tDb25zaXN0ZW5jeSh1bmljb2RlLCAwKSk7CiAgICAgcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyBQeU9iamVjdCoKK3Jlc2l6ZV9jb3B5KFB5T2JqZWN0ICp1bmljb2RlLCBQeV9zc2l6ZV90IGxlbmd0aCkKK3sKKyAgICBQeV9zc2l6ZV90IGNvcHlfbGVuZ3RoOworICAgIGlmIChfUHlVbmljb2RlX0tJTkQodW5pY29kZSkgIT0gUHlVbmljb2RlX1dDSEFSX0tJTkQpIHsKKyAgICAgICAgUHlPYmplY3QgKmNvcHk7CisKKyAgICAgICAgaWYgKFB5VW5pY29kZV9SRUFEWSh1bmljb2RlKSA9PSAtMSkKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworCisgICAgICAgIGNvcHkgPSBQeVVuaWNvZGVfTmV3KGxlbmd0aCwgUHlVbmljb2RlX01BWF9DSEFSX1ZBTFVFKHVuaWNvZGUpKTsKKyAgICAgICAgaWYgKGNvcHkgPT0gTlVMTCkKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworCisgICAgICAgIGNvcHlfbGVuZ3RoID0gUHlfTUlOKGxlbmd0aCwgUHlVbmljb2RlX0dFVF9MRU5HVEgodW5pY29kZSkpOworICAgICAgICBjb3B5X2NoYXJhY3RlcnMoY29weSwgMCwgdW5pY29kZSwgMCwgY29weV9sZW5ndGgpOworICAgICAgICByZXR1cm4gY29weTsKKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIFB5T2JqZWN0ICp3OworCisgICAgICAgIHcgPSAoUHlPYmplY3QqKV9QeVVuaWNvZGVfTmV3KGxlbmd0aCk7CisgICAgICAgIGlmICh3ID09IE5VTEwpCisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgY29weV9sZW5ndGggPSBfUHlVbmljb2RlX1dTVFJfTEVOR1RIKHVuaWNvZGUpOworICAgICAgICBjb3B5X2xlbmd0aCA9IFB5X01JTihjb3B5X2xlbmd0aCwgbGVuZ3RoKTsKKyAgICAgICAgUHlfVU5JQ09ERV9DT1BZKF9QeVVuaWNvZGVfV1NUUih3KSwgX1B5VW5pY29kZV9XU1RSKHVuaWNvZGUpLAorICAgICAgICAgICAgICAgICAgICAgICAgY29weV9sZW5ndGgpOworICAgICAgICByZXR1cm4gdzsKKyAgICB9Cit9CisKIC8qIFdlIGFsbG9jYXRlIG9uZSBtb3JlIGJ5dGUgdG8gbWFrZSBzdXJlIHRoZSBzdHJpbmcgaXMKICAgIFV4MDAwMCB0ZXJtaW5hdGVkOyBzb21lIGNvZGUgKGUuZy4gbmV3X2lkZW50aWZpZXIpCiAgICByZWxpZXMgb24gdGhhdC4KQEAgLTMxMSw1NSArNzk4LDQ3IEBACiAKICovCiAKLXN0YXRpYwotUHlVbmljb2RlT2JqZWN0ICpfUHlVbmljb2RlX05ldyhQeV9zc2l6ZV90IGxlbmd0aCkKKyNpZmRlZiBQeV9ERUJVRworc3RhdGljIGludCB1bmljb2RlX29sZF9uZXdfY2FsbHMgPSAwOworI2VuZGlmCisKK3N0YXRpYyBQeVVuaWNvZGVPYmplY3QgKgorX1B5VW5pY29kZV9OZXcoUHlfc3NpemVfdCBsZW5ndGgpCiB7CiAgICAgcmVnaXN0ZXIgUHlVbmljb2RlT2JqZWN0ICp1bmljb2RlOworICAgIHNpemVfdCBuZXdfc2l6ZTsKIAogICAgIC8qIE9wdGltaXphdGlvbiBmb3IgZW1wdHkgc3RyaW5ncyAqLwogICAgIGlmIChsZW5ndGggPT0gMCAmJiB1bmljb2RlX2VtcHR5ICE9IE5VTEwpIHsKICAgICAgICAgUHlfSU5DUkVGKHVuaWNvZGVfZW1wdHkpOwotICAgICAgICByZXR1cm4gdW5pY29kZV9lbXB0eTsKKyAgICAgICAgcmV0dXJuIChQeVVuaWNvZGVPYmplY3QqKXVuaWNvZGVfZW1wdHk7CiAgICAgfQogCiAgICAgLyogRW5zdXJlIHdlIHdvbid0IG92ZXJmbG93IHRoZSBzaXplLiAqLwogICAgIGlmIChsZW5ndGggPiAoKFBZX1NTSVpFX1RfTUFYIC8gc2l6ZW9mKFB5X1VOSUNPREUpKSAtIDEpKSB7CiAgICAgICAgIHJldHVybiAoUHlVbmljb2RlT2JqZWN0ICopUHlFcnJfTm9NZW1vcnkoKTsKICAgICB9Ci0KLSAgICAvKiBVbmljb2RlIGZyZWVsaXN0ICYgbWVtb3J5IGFsbG9jYXRpb24gKi8KLSAgICBpZiAoZnJlZV9saXN0KSB7Ci0gICAgICAgIHVuaWNvZGUgPSBmcmVlX2xpc3Q7Ci0gICAgICAgIGZyZWVfbGlzdCA9ICooUHlVbmljb2RlT2JqZWN0ICoqKXVuaWNvZGU7Ci0gICAgICAgIG51bWZyZWUtLTsKLSAgICAgICAgaWYgKHVuaWNvZGUtPnN0cikgewotICAgICAgICAgICAgLyogS2VlcC1BbGl2ZSBvcHRpbWl6YXRpb246IHdlIG9ubHkgdXBzaXplIHRoZSBidWZmZXIsCi0gICAgICAgICAgICAgICBuZXZlciBkb3duc2l6ZSBpdC4gKi8KLSAgICAgICAgICAgIGlmICgodW5pY29kZS0+bGVuZ3RoIDwgbGVuZ3RoKSAmJgotICAgICAgICAgICAgICAgIHVuaWNvZGVfcmVzaXplKHVuaWNvZGUsIGxlbmd0aCkgPCAwKSB7Ci0gICAgICAgICAgICAgICAgUHlPYmplY3RfREVMKHVuaWNvZGUtPnN0cik7Ci0gICAgICAgICAgICAgICAgdW5pY29kZS0+c3RyID0gTlVMTDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgIHNpemVfdCBuZXdfc2l6ZSA9IHNpemVvZihQeV9VTklDT0RFKSAqICgoc2l6ZV90KWxlbmd0aCArIDEpOwotICAgICAgICAgICAgdW5pY29kZS0+c3RyID0gKFB5X1VOSUNPREUqKSBQeU9iamVjdF9NQUxMT0MobmV3X3NpemUpOwotICAgICAgICB9Ci0gICAgICAgIFB5T2JqZWN0X0lOSVQodW5pY29kZSwgJlB5VW5pY29kZV9UeXBlKTsKLSAgICB9Ci0gICAgZWxzZSB7Ci0gICAgICAgIHNpemVfdCBuZXdfc2l6ZTsKLSAgICAgICAgdW5pY29kZSA9IFB5T2JqZWN0X05ldyhQeVVuaWNvZGVPYmplY3QsICZQeVVuaWNvZGVfVHlwZSk7Ci0gICAgICAgIGlmICh1bmljb2RlID09IE5VTEwpCi0gICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgbmV3X3NpemUgPSBzaXplb2YoUHlfVU5JQ09ERSkgKiAoKHNpemVfdClsZW5ndGggKyAxKTsKLSAgICAgICAgdW5pY29kZS0+c3RyID0gKFB5X1VOSUNPREUqKSBQeU9iamVjdF9NQUxMT0MobmV3X3NpemUpOworICAgIGlmIChsZW5ndGggPCAwKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19TeXN0ZW1FcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICJOZWdhdGl2ZSBzaXplIHBhc3NlZCB0byBfUHlVbmljb2RlX05ldyIpOworICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAKLSAgICBpZiAoIXVuaWNvZGUtPnN0cikgeworI2lmZGVmIFB5X0RFQlVHCisgICAgKyt1bmljb2RlX29sZF9uZXdfY2FsbHM7CisjZW5kaWYKKworICAgIHVuaWNvZGUgPSBQeU9iamVjdF9OZXcoUHlVbmljb2RlT2JqZWN0LCAmUHlVbmljb2RlX1R5cGUpOworICAgIGlmICh1bmljb2RlID09IE5VTEwpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIG5ld19zaXplID0gc2l6ZW9mKFB5X1VOSUNPREUpICogKChzaXplX3QpbGVuZ3RoICsgMSk7CisgICAgX1B5VW5pY29kZV9XU1RSKHVuaWNvZGUpID0gKFB5X1VOSUNPREUqKSBQeU9iamVjdF9NQUxMT0MobmV3X3NpemUpOworICAgIGlmICghX1B5VW5pY29kZV9XU1RSKHVuaWNvZGUpKSB7CisgICAgICAgIFB5X0RFQ1JFRih1bmljb2RlKTsKICAgICAgICAgUHlFcnJfTm9NZW1vcnkoKTsKLSAgICAgICAgZ290byBvbkVycm9yOworICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CisKICAgICAvKiBJbml0aWFsaXplIHRoZSBmaXJzdCBlbGVtZW50IHRvIGd1YXJkIGFnYWluc3QgY2FzZXMgd2hlcmUKICAgICAgKiB0aGUgY2FsbGVyIGZhaWxzIGJlZm9yZSBpbml0aWFsaXppbmcgc3RyIC0tIHVuaWNvZGVfcmVzaXplKCkKICAgICAgKiByZWFkcyBzdHJbMF0sIGFuZCB0aGUgS2VlcC1BbGl2ZSBvcHRpbWl6YXRpb24gY2FuIGtlZXAgbWVtb3J5CkBAIC0zNjcsMjQgKzg0Niw2NDAgQEAKICAgICAgKiBXZSBkb24ndCB3YW50IHVuaWNvZGVfcmVzaXplIHRvIHJlYWQgdW5pbml0aWFsaXplZCBtZW1vcnkgaW4KICAgICAgKiB0aGF0IGNhc2UuCiAgICAgICovCi0gICAgdW5pY29kZS0+c3RyWzBdID0gMDsKLSAgICB1bmljb2RlLT5zdHJbbGVuZ3RoXSA9IDA7Ci0gICAgdW5pY29kZS0+bGVuZ3RoID0gbGVuZ3RoOwotICAgIHVuaWNvZGUtPmhhc2ggPSAtMTsKLSAgICB1bmljb2RlLT5zdGF0ZSA9IDA7Ci0gICAgdW5pY29kZS0+ZGVmZW5jID0gTlVMTDsKKyAgICBfUHlVbmljb2RlX1dTVFIodW5pY29kZSlbMF0gPSAwOworICAgIF9QeVVuaWNvZGVfV1NUUih1bmljb2RlKVtsZW5ndGhdID0gMDsKKyAgICBfUHlVbmljb2RlX1dTVFJfTEVOR1RIKHVuaWNvZGUpID0gbGVuZ3RoOworICAgIF9QeVVuaWNvZGVfSEFTSCh1bmljb2RlKSA9IC0xOworICAgIF9QeVVuaWNvZGVfU1RBVEUodW5pY29kZSkuaW50ZXJuZWQgPSAwOworICAgIF9QeVVuaWNvZGVfU1RBVEUodW5pY29kZSkua2luZCA9IDA7CisgICAgX1B5VW5pY29kZV9TVEFURSh1bmljb2RlKS5jb21wYWN0ID0gMDsKKyAgICBfUHlVbmljb2RlX1NUQVRFKHVuaWNvZGUpLnJlYWR5ID0gMDsKKyAgICBfUHlVbmljb2RlX1NUQVRFKHVuaWNvZGUpLmFzY2lpID0gMDsKKyAgICBfUHlVbmljb2RlX0RBVEFfQU5ZKHVuaWNvZGUpID0gTlVMTDsKKyAgICBfUHlVbmljb2RlX0xFTkdUSCh1bmljb2RlKSA9IDA7CisgICAgX1B5VW5pY29kZV9VVEY4KHVuaWNvZGUpID0gTlVMTDsKKyAgICBfUHlVbmljb2RlX1VURjhfTEVOR1RIKHVuaWNvZGUpID0gMDsKKyAgICBhc3NlcnQoX1B5VW5pY29kZV9DaGVja0NvbnNpc3RlbmN5KChQeU9iamVjdCAqKXVuaWNvZGUsIDApKTsKICAgICByZXR1cm4gdW5pY29kZTsKLQotICBvbkVycm9yOgotICAgIC8qIFhYWCBVTlJFRi9ORVdSRUYgaW50ZXJmYWNlIHNob3VsZCBiZSBtb3JlIHN5bW1ldHJpY2FsICovCi0gICAgX1B5X0RFQ19SRUZUT1RBTDsKLSAgICBfUHlfRm9yZ2V0UmVmZXJlbmNlKChQeU9iamVjdCAqKXVuaWNvZGUpOwotICAgIFB5T2JqZWN0X0RlbCh1bmljb2RlKTsKLSAgICByZXR1cm4gTlVMTDsKIH0KIAotc3RhdGljCi12b2lkIHVuaWNvZGVfZGVhbGxvYyhyZWdpc3RlciBQeVVuaWNvZGVPYmplY3QgKnVuaWNvZGUpCitzdGF0aWMgY29uc3QgY2hhcioKK3VuaWNvZGVfa2luZF9uYW1lKFB5T2JqZWN0ICp1bmljb2RlKQoreworICAgIC8qIGRvbid0IGNoZWNrIGNvbnNpc3RlbmN5OiB1bmljb2RlX2tpbmRfbmFtZSgpIGlzIGNhbGxlZCBmcm9tCisgICAgICAgX1B5VW5pY29kZV9EdW1wKCkgKi8KKyAgICBpZiAoIVB5VW5pY29kZV9JU19DT01QQUNUKHVuaWNvZGUpKQorICAgIHsKKyAgICAgICAgaWYgKCFQeVVuaWNvZGVfSVNfUkVBRFkodW5pY29kZSkpCisgICAgICAgICAgICByZXR1cm4gIndzdHIiOworICAgICAgICBzd2l0Y2ggKFB5VW5pY29kZV9LSU5EKHVuaWNvZGUpKQorICAgICAgICB7CisgICAgICAgIGNhc2UgUHlVbmljb2RlXzFCWVRFX0tJTkQ6CisgICAgICAgICAgICBpZiAoUHlVbmljb2RlX0lTX0FTQ0lJKHVuaWNvZGUpKQorICAgICAgICAgICAgICAgIHJldHVybiAibGVnYWN5IGFzY2lpIjsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICByZXR1cm4gImxlZ2FjeSBsYXRpbjEiOworICAgICAgICBjYXNlIFB5VW5pY29kZV8yQllURV9LSU5EOgorICAgICAgICAgICAgcmV0dXJuICJsZWdhY3kgVUNTMiI7CisgICAgICAgIGNhc2UgUHlVbmljb2RlXzRCWVRFX0tJTkQ6CisgICAgICAgICAgICByZXR1cm4gImxlZ2FjeSBVQ1M0IjsKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIHJldHVybiAiPGxlZ2FjeSBpbnZhbGlkIGtpbmQ+IjsKKyAgICAgICAgfQorICAgIH0KKyAgICBhc3NlcnQoUHlVbmljb2RlX0lTX1JFQURZKHVuaWNvZGUpKTsKKyAgICBzd2l0Y2ggKFB5VW5pY29kZV9LSU5EKHVuaWNvZGUpKSB7CisgICAgY2FzZSBQeVVuaWNvZGVfMUJZVEVfS0lORDoKKyAgICAgICAgaWYgKFB5VW5pY29kZV9JU19BU0NJSSh1bmljb2RlKSkKKyAgICAgICAgICAgIHJldHVybiAiYXNjaWkiOworICAgICAgICBlbHNlCisgICAgICAgICAgICByZXR1cm4gImxhdGluMSI7CisgICAgY2FzZSBQeVVuaWNvZGVfMkJZVEVfS0lORDoKKyAgICAgICAgcmV0dXJuICJVQ1MyIjsKKyAgICBjYXNlIFB5VW5pY29kZV80QllURV9LSU5EOgorICAgICAgICByZXR1cm4gIlVDUzQiOworICAgIGRlZmF1bHQ6CisgICAgICAgIHJldHVybiAiPGludmFsaWQgY29tcGFjdCBraW5kPiI7CisgICAgfQorfQorCisjaWZkZWYgUHlfREVCVUcKK3N0YXRpYyBpbnQgdW5pY29kZV9uZXdfbmV3X2NhbGxzID0gMDsKKworLyogRnVuY3Rpb25zIHdyYXBwaW5nIG1hY3JvcyBmb3IgdXNlIGluIGRlYnVnZ2VyICovCitjaGFyICpfUHlVbmljb2RlX3V0Zjgodm9pZCAqdW5pY29kZSl7CisgICAgcmV0dXJuIFB5VW5pY29kZV9VVEY4KHVuaWNvZGUpOworfQorCit2b2lkICpfUHlVbmljb2RlX2NvbXBhY3RfZGF0YSh2b2lkICp1bmljb2RlKSB7CisgICAgcmV0dXJuIF9QeVVuaWNvZGVfQ09NUEFDVF9EQVRBKHVuaWNvZGUpOworfQordm9pZCAqX1B5VW5pY29kZV9kYXRhKHZvaWQgKnVuaWNvZGUpeworICAgIHByaW50Zigib2JqICVwXG4iLCB1bmljb2RlKTsKKyAgICBwcmludGYoImNvbXBhY3QgJWRcbiIsIFB5VW5pY29kZV9JU19DT01QQUNUKHVuaWNvZGUpKTsKKyAgICBwcmludGYoImNvbXBhY3QgYXNjaWkgJWRcbiIsIFB5VW5pY29kZV9JU19DT01QQUNUX0FTQ0lJKHVuaWNvZGUpKTsKKyAgICBwcmludGYoImFzY2lpIG9wICVwXG4iLCAoKHZvaWQqKSgoUHlBU0NJSU9iamVjdCopKHVuaWNvZGUpICsgMSkpKTsKKyAgICBwcmludGYoImNvbXBhY3Qgb3AgJXBcbiIsICgodm9pZCopKChQeUNvbXBhY3RVbmljb2RlT2JqZWN0KikodW5pY29kZSkgKyAxKSkpOworICAgIHByaW50ZigiY29tcGFjdCBkYXRhICVwXG4iLCBfUHlVbmljb2RlX0NPTVBBQ1RfREFUQSh1bmljb2RlKSk7CisgICAgcmV0dXJuIFB5VW5pY29kZV9EQVRBKHVuaWNvZGUpOworfQorCit2b2lkCitfUHlVbmljb2RlX0R1bXAoUHlPYmplY3QgKm9wKQoreworICAgIFB5QVNDSUlPYmplY3QgKmFzY2lpID0gKFB5QVNDSUlPYmplY3QgKilvcDsKKyAgICBQeUNvbXBhY3RVbmljb2RlT2JqZWN0ICpjb21wYWN0ID0gKFB5Q29tcGFjdFVuaWNvZGVPYmplY3QgKilvcDsKKyAgICBQeVVuaWNvZGVPYmplY3QgKnVuaWNvZGUgPSAoUHlVbmljb2RlT2JqZWN0ICopb3A7CisgICAgdm9pZCAqZGF0YTsKKworICAgIGlmIChhc2NpaS0+c3RhdGUuY29tcGFjdCkKKyAgICB7CisgICAgICAgIGlmIChhc2NpaS0+c3RhdGUuYXNjaWkpCisgICAgICAgICAgICBkYXRhID0gKGFzY2lpICsgMSk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGRhdGEgPSAoY29tcGFjdCArIDEpOworICAgIH0KKyAgICBlbHNlCisgICAgICAgIGRhdGEgPSB1bmljb2RlLT5kYXRhLmFueTsKKyAgICBwcmludGYoIiVzOiBsZW49JXp1LCAiLHVuaWNvZGVfa2luZF9uYW1lKG9wKSwgYXNjaWktPmxlbmd0aCk7CisKKyAgICBpZiAoYXNjaWktPndzdHIgPT0gZGF0YSkKKyAgICAgICAgcHJpbnRmKCJzaGFyZWQgIik7CisgICAgcHJpbnRmKCJ3c3RyPSVwIiwgYXNjaWktPndzdHIpOworCisgICAgaWYgKCEoYXNjaWktPnN0YXRlLmFzY2lpID09IDEgJiYgYXNjaWktPnN0YXRlLmNvbXBhY3QgPT0gMSkpIHsKKyAgICAgICAgcHJpbnRmKCIgKCV6dSksICIsIGNvbXBhY3QtPndzdHJfbGVuZ3RoKTsKKyAgICAgICAgaWYgKCFhc2NpaS0+c3RhdGUuY29tcGFjdCAmJiBjb21wYWN0LT51dGY4ID09IHVuaWNvZGUtPmRhdGEuYW55KQorICAgICAgICAgICAgcHJpbnRmKCJzaGFyZWQgIik7CisgICAgICAgIHByaW50ZigidXRmOD0lcCAoJXp1KSIsIGNvbXBhY3QtPnV0ZjgsIGNvbXBhY3QtPnV0ZjhfbGVuZ3RoKTsKKyAgICB9CisgICAgcHJpbnRmKCIsIGRhdGE9JXBcbiIsIGRhdGEpOworfQorI2VuZGlmCisKK1B5T2JqZWN0ICoKK1B5VW5pY29kZV9OZXcoUHlfc3NpemVfdCBzaXplLCBQeV9VQ1M0IG1heGNoYXIpCit7CisgICAgUHlPYmplY3QgKm9iajsKKyAgICBQeUNvbXBhY3RVbmljb2RlT2JqZWN0ICp1bmljb2RlOworICAgIHZvaWQgKmRhdGE7CisgICAgaW50IGtpbmRfc3RhdGU7CisgICAgaW50IGlzX3NoYXJpbmcsIGlzX2FzY2lpOworICAgIFB5X3NzaXplX3QgY2hhcl9zaXplOworICAgIFB5X3NzaXplX3Qgc3RydWN0X3NpemU7CisKKyAgICAvKiBPcHRpbWl6YXRpb24gZm9yIGVtcHR5IHN0cmluZ3MgKi8KKyAgICBpZiAoc2l6ZSA9PSAwICYmIHVuaWNvZGVfZW1wdHkgIT0gTlVMTCkgeworICAgICAgICBQeV9JTkNSRUYodW5pY29kZV9lbXB0eSk7CisgICAgICAgIHJldHVybiB1bmljb2RlX2VtcHR5OworICAgIH0KKworI2lmZGVmIFB5X0RFQlVHCisgICAgKyt1bmljb2RlX25ld19uZXdfY2FsbHM7CisjZW5kaWYKKworICAgIGlzX2FzY2lpID0gMDsKKyAgICBpc19zaGFyaW5nID0gMDsKKyAgICBzdHJ1Y3Rfc2l6ZSA9IHNpemVvZihQeUNvbXBhY3RVbmljb2RlT2JqZWN0KTsKKyAgICBpZiAobWF4Y2hhciA8IDEyOCkgeworICAgICAgICBraW5kX3N0YXRlID0gUHlVbmljb2RlXzFCWVRFX0tJTkQ7CisgICAgICAgIGNoYXJfc2l6ZSA9IDE7CisgICAgICAgIGlzX2FzY2lpID0gMTsKKyAgICAgICAgc3RydWN0X3NpemUgPSBzaXplb2YoUHlBU0NJSU9iamVjdCk7CisgICAgfQorICAgIGVsc2UgaWYgKG1heGNoYXIgPCAyNTYpIHsKKyAgICAgICAga2luZF9zdGF0ZSA9IFB5VW5pY29kZV8xQllURV9LSU5EOworICAgICAgICBjaGFyX3NpemUgPSAxOworICAgIH0KKyAgICBlbHNlIGlmIChtYXhjaGFyIDwgNjU1MzYpIHsKKyAgICAgICAga2luZF9zdGF0ZSA9IFB5VW5pY29kZV8yQllURV9LSU5EOworICAgICAgICBjaGFyX3NpemUgPSAyOworICAgICAgICBpZiAoc2l6ZW9mKHdjaGFyX3QpID09IDIpCisgICAgICAgICAgICBpc19zaGFyaW5nID0gMTsKKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIGlmIChtYXhjaGFyID4gTUFYX1VOSUNPREUpIHsKKyAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19TeXN0ZW1FcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaW52YWxpZCBtYXhpbXVtIGNoYXJhY3RlciBwYXNzZWQgdG8gUHlVbmljb2RlX05ldyIpOworICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIH0KKyAgICAgICAga2luZF9zdGF0ZSA9IFB5VW5pY29kZV80QllURV9LSU5EOworICAgICAgICBjaGFyX3NpemUgPSA0OworICAgICAgICBpZiAoc2l6ZW9mKHdjaGFyX3QpID09IDQpCisgICAgICAgICAgICBpc19zaGFyaW5nID0gMTsKKyAgICB9CisKKyAgICAvKiBFbnN1cmUgd2Ugd29uJ3Qgb3ZlcmZsb3cgdGhlIHNpemUuICovCisgICAgaWYgKHNpemUgPCAwKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19TeXN0ZW1FcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICJOZWdhdGl2ZSBzaXplIHBhc3NlZCB0byBQeVVuaWNvZGVfTmV3Iik7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKyAgICBpZiAoc2l6ZSA+ICgoUFlfU1NJWkVfVF9NQVggLSBzdHJ1Y3Rfc2l6ZSkgLyBjaGFyX3NpemUgLSAxKSkKKyAgICAgICAgcmV0dXJuIFB5RXJyX05vTWVtb3J5KCk7CisKKyAgICAvKiBEdXBsaWNhdGVkIGFsbG9jYXRpb24gY29kZSBmcm9tIF9QeU9iamVjdF9OZXcoKSBpbnN0ZWFkIG9mIGEgY2FsbCB0bworICAgICAqIFB5T2JqZWN0X05ldygpIHNvIHdlIGFyZSBhYmxlIHRvIGFsbG9jYXRlIHNwYWNlIGZvciB0aGUgb2JqZWN0IGFuZAorICAgICAqIGl0J3MgZGF0YSBidWZmZXIuCisgICAgICovCisgICAgb2JqID0gKFB5T2JqZWN0ICopIFB5T2JqZWN0X01BTExPQyhzdHJ1Y3Rfc2l6ZSArIChzaXplICsgMSkgKiBjaGFyX3NpemUpOworICAgIGlmIChvYmogPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIFB5RXJyX05vTWVtb3J5KCk7CisgICAgb2JqID0gUHlPYmplY3RfSU5JVChvYmosICZQeVVuaWNvZGVfVHlwZSk7CisgICAgaWYgKG9iaiA9PSBOVUxMKQorICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIHVuaWNvZGUgPSAoUHlDb21wYWN0VW5pY29kZU9iamVjdCAqKW9iajsKKyAgICBpZiAoaXNfYXNjaWkpCisgICAgICAgIGRhdGEgPSAoKFB5QVNDSUlPYmplY3QqKW9iaikgKyAxOworICAgIGVsc2UKKyAgICAgICAgZGF0YSA9IHVuaWNvZGUgKyAxOworICAgIF9QeVVuaWNvZGVfTEVOR1RIKHVuaWNvZGUpID0gc2l6ZTsKKyAgICBfUHlVbmljb2RlX0hBU0godW5pY29kZSkgPSAtMTsKKyAgICBfUHlVbmljb2RlX1NUQVRFKHVuaWNvZGUpLmludGVybmVkID0gMDsKKyAgICBfUHlVbmljb2RlX1NUQVRFKHVuaWNvZGUpLmtpbmQgPSBraW5kX3N0YXRlOworICAgIF9QeVVuaWNvZGVfU1RBVEUodW5pY29kZSkuY29tcGFjdCA9IDE7CisgICAgX1B5VW5pY29kZV9TVEFURSh1bmljb2RlKS5yZWFkeSA9IDE7CisgICAgX1B5VW5pY29kZV9TVEFURSh1bmljb2RlKS5hc2NpaSA9IGlzX2FzY2lpOworICAgIGlmIChpc19hc2NpaSkgeworICAgICAgICAoKGNoYXIqKWRhdGEpW3NpemVdID0gMDsKKyAgICAgICAgX1B5VW5pY29kZV9XU1RSKHVuaWNvZGUpID0gTlVMTDsKKyAgICB9CisgICAgZWxzZSBpZiAoa2luZF9zdGF0ZSA9PSBQeVVuaWNvZGVfMUJZVEVfS0lORCkgeworICAgICAgICAoKGNoYXIqKWRhdGEpW3NpemVdID0gMDsKKyAgICAgICAgX1B5VW5pY29kZV9XU1RSKHVuaWNvZGUpID0gTlVMTDsKKyAgICAgICAgX1B5VW5pY29kZV9XU1RSX0xFTkdUSCh1bmljb2RlKSA9IDA7CisgICAgICAgIHVuaWNvZGUtPnV0ZjggPSBOVUxMOworICAgICAgICB1bmljb2RlLT51dGY4X2xlbmd0aCA9IDA7CisgICAgICAgIH0KKyAgICBlbHNlIHsKKyAgICAgICAgdW5pY29kZS0+dXRmOCA9IE5VTEw7CisgICAgICAgIHVuaWNvZGUtPnV0ZjhfbGVuZ3RoID0gMDsKKyAgICAgICAgaWYgKGtpbmRfc3RhdGUgPT0gUHlVbmljb2RlXzJCWVRFX0tJTkQpCisgICAgICAgICAgICAoKFB5X1VDUzIqKWRhdGEpW3NpemVdID0gMDsKKyAgICAgICAgZWxzZSAvKiBraW5kX3N0YXRlID09IFB5VW5pY29kZV80QllURV9LSU5EICovCisgICAgICAgICAgICAoKFB5X1VDUzQqKWRhdGEpW3NpemVdID0gMDsKKyAgICAgICAgaWYgKGlzX3NoYXJpbmcpIHsKKyAgICAgICAgICAgIF9QeVVuaWNvZGVfV1NUUl9MRU5HVEgodW5pY29kZSkgPSBzaXplOworICAgICAgICAgICAgX1B5VW5pY29kZV9XU1RSKHVuaWNvZGUpID0gKHdjaGFyX3QgKilkYXRhOworICAgICAgICB9CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgX1B5VW5pY29kZV9XU1RSX0xFTkdUSCh1bmljb2RlKSA9IDA7CisgICAgICAgICAgICBfUHlVbmljb2RlX1dTVFIodW5pY29kZSkgPSBOVUxMOworICAgICAgICB9CisgICAgfQorICAgIGFzc2VydChfUHlVbmljb2RlX0NoZWNrQ29uc2lzdGVuY3koKFB5T2JqZWN0Kil1bmljb2RlLCAwKSk7CisgICAgcmV0dXJuIG9iajsKK30KKworI2lmIFNJWkVPRl9XQ0hBUl9UID09IDIKKy8qIEhlbHBlciBmdW5jdGlvbiB0byBjb252ZXJ0IGEgMTYtYml0cyB3Y2hhcl90IHJlcHJlc2VudGF0aW9uIHRvIFVDUzQsIHRoaXMKKyAgIHdpbGwgZGVjb2RlIHN1cnJvZ2F0ZSBwYWlycywgdGhlIG90aGVyIGNvbnZlcnNpb25zIGFyZSBpbXBsZW1lbnRlZCBhcyBtYWNyb3MKKyAgIGZvciBlZmZpY2llbmN5LgorCisgICBUaGlzIGZ1bmN0aW9uIGFzc3VtZXMgdGhhdCB1bmljb2RlIGNhbiBob2xkIG9uZSBtb3JlIGNvZGUgcG9pbnQgdGhhbiB3c3RyCisgICBjaGFyYWN0ZXJzIGZvciBhIHRlcm1pbmF0aW5nIG51bGwgY2hhcmFjdGVyLiAqLworc3RhdGljIHZvaWQKK3VuaWNvZGVfY29udmVydF93Y2hhcl90b191Y3M0KGNvbnN0IHdjaGFyX3QgKmJlZ2luLCBjb25zdCB3Y2hhcl90ICplbmQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeU9iamVjdCAqdW5pY29kZSkKK3sKKyAgICBjb25zdCB3Y2hhcl90ICppdGVyOworICAgIFB5X1VDUzQgKnVjczRfb3V0OworCisgICAgYXNzZXJ0KHVuaWNvZGUgIT0gTlVMTCk7CisgICAgYXNzZXJ0KF9QeVVuaWNvZGVfQ0hFQ0sodW5pY29kZSkpOworICAgIGFzc2VydChfUHlVbmljb2RlX0tJTkQodW5pY29kZSkgPT0gUHlVbmljb2RlXzRCWVRFX0tJTkQpOworICAgIHVjczRfb3V0ID0gUHlVbmljb2RlXzRCWVRFX0RBVEEodW5pY29kZSk7CisKKyAgICBmb3IgKGl0ZXIgPSBiZWdpbjsgaXRlciA8IGVuZDsgKSB7CisgICAgICAgIGFzc2VydCh1Y3M0X291dCA8IChQeVVuaWNvZGVfNEJZVEVfREFUQSh1bmljb2RlKSArCisgICAgICAgICAgICAgICAgICAgICAgICAgICBfUHlVbmljb2RlX0dFVF9MRU5HVEgodW5pY29kZSkpKTsKKyAgICAgICAgaWYgKFB5X1VOSUNPREVfSVNfSElHSF9TVVJST0dBVEUoaXRlclswXSkKKyAgICAgICAgICAgICYmIChpdGVyKzEpIDwgZW5kCisgICAgICAgICAgICAmJiBQeV9VTklDT0RFX0lTX0xPV19TVVJST0dBVEUoaXRlclsxXSkpCisgICAgICAgIHsKKyAgICAgICAgICAgICp1Y3M0X291dCsrID0gUHlfVU5JQ09ERV9KT0lOX1NVUlJPR0FURVMoaXRlclswXSwgaXRlclsxXSk7CisgICAgICAgICAgICBpdGVyICs9IDI7CisgICAgICAgIH0KKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICAqdWNzNF9vdXQrKyA9ICppdGVyOworICAgICAgICAgICAgaXRlcisrOworICAgICAgICB9CisgICAgfQorICAgIGFzc2VydCh1Y3M0X291dCA9PSAoUHlVbmljb2RlXzRCWVRFX0RBVEEodW5pY29kZSkgKworICAgICAgICAgICAgICAgICAgICAgICAgX1B5VW5pY29kZV9HRVRfTEVOR1RIKHVuaWNvZGUpKSk7CisKK30KKyNlbmRpZgorCitzdGF0aWMgaW50Cit1bmljb2RlX2NoZWNrX21vZGlmaWFibGUoUHlPYmplY3QgKnVuaWNvZGUpCit7CisgICAgaWYgKCF1bmljb2RlX21vZGlmaWFibGUodW5pY29kZSkpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1N5c3RlbUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgIkNhbm5vdCBtb2RpZnkgYSBzdHJpbmcgY3VycmVudGx5IHVzZWQiKTsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKyAgICByZXR1cm4gMDsKK30KKworc3RhdGljIGludAorX2NvcHlfY2hhcmFjdGVycyhQeU9iamVjdCAqdG8sIFB5X3NzaXplX3QgdG9fc3RhcnQsCisgICAgICAgICAgICAgICAgIFB5T2JqZWN0ICpmcm9tLCBQeV9zc2l6ZV90IGZyb21fc3RhcnQsCisgICAgICAgICAgICAgICAgIFB5X3NzaXplX3QgaG93X21hbnksIGludCBjaGVja19tYXhjaGFyKQoreworICAgIHVuc2lnbmVkIGludCBmcm9tX2tpbmQsIHRvX2tpbmQ7CisgICAgdm9pZCAqZnJvbV9kYXRhLCAqdG9fZGF0YTsKKyAgICBpbnQgZmFzdDsKKworICAgIGFzc2VydChQeVVuaWNvZGVfQ2hlY2soZnJvbSkpOworICAgIGFzc2VydChQeVVuaWNvZGVfQ2hlY2sodG8pKTsKKyAgICBhc3NlcnQoUHlVbmljb2RlX0lTX1JFQURZKGZyb20pKTsKKyAgICBhc3NlcnQoUHlVbmljb2RlX0lTX1JFQURZKHRvKSk7CisKKyAgICBhc3NlcnQoUHlVbmljb2RlX0dFVF9MRU5HVEgoZnJvbSkgPj0gaG93X21hbnkpOworICAgIGFzc2VydCh0b19zdGFydCArIGhvd19tYW55IDw9IFB5VW5pY29kZV9HRVRfTEVOR1RIKHRvKSk7CisgICAgYXNzZXJ0KDAgPD0gaG93X21hbnkpOworCisgICAgaWYgKGhvd19tYW55ID09IDApCisgICAgICAgIHJldHVybiAwOworCisgICAgZnJvbV9raW5kID0gUHlVbmljb2RlX0tJTkQoZnJvbSk7CisgICAgZnJvbV9kYXRhID0gUHlVbmljb2RlX0RBVEEoZnJvbSk7CisgICAgdG9fa2luZCA9IFB5VW5pY29kZV9LSU5EKHRvKTsKKyAgICB0b19kYXRhID0gUHlVbmljb2RlX0RBVEEodG8pOworCisjaWZkZWYgUHlfREVCVUcKKyAgICBpZiAoIWNoZWNrX21heGNoYXIKKyAgICAgICAgJiYgKGZyb21fa2luZCA+IHRvX2tpbmQKKyAgICAgICAgICAgIHx8ICghUHlVbmljb2RlX0lTX0FTQ0lJKGZyb20pICYmIFB5VW5pY29kZV9JU19BU0NJSSh0bykpKSkKKyAgICB7CisgICAgICAgIGNvbnN0IFB5X1VDUzQgdG9fbWF4Y2hhciA9IFB5VW5pY29kZV9NQVhfQ0hBUl9WQUxVRSh0byk7CisgICAgICAgIFB5X1VDUzQgY2g7CisgICAgICAgIFB5X3NzaXplX3QgaTsKKyAgICAgICAgZm9yIChpPTA7IGkgPCBob3dfbWFueTsgaSsrKSB7CisgICAgICAgICAgICBjaCA9IFB5VW5pY29kZV9SRUFEKGZyb21fa2luZCwgZnJvbV9kYXRhLCBmcm9tX3N0YXJ0ICsgaSk7CisgICAgICAgICAgICBhc3NlcnQoY2ggPD0gdG9fbWF4Y2hhcik7CisgICAgICAgIH0KKyAgICB9CisjZW5kaWYKKyAgICBmYXN0ID0gKGZyb21fa2luZCA9PSB0b19raW5kKTsKKyAgICBpZiAoY2hlY2tfbWF4Y2hhcgorICAgICAgICAmJiAoIVB5VW5pY29kZV9JU19BU0NJSShmcm9tKSAmJiBQeVVuaWNvZGVfSVNfQVNDSUkodG8pKSkKKyAgICB7CisgICAgICAgIC8qIGRlbnkgbGF0aW4xID0+IGFzY2lpICovCisgICAgICAgIGZhc3QgPSAwOworICAgIH0KKworICAgIGlmIChmYXN0KSB7CisgICAgICAgIFB5X01FTUNQWSgoY2hhciopdG9fZGF0YSArIHRvX2tpbmQgKiB0b19zdGFydCwKKyAgICAgICAgICAgICAgICAgIChjaGFyKilmcm9tX2RhdGEgKyBmcm9tX2tpbmQgKiBmcm9tX3N0YXJ0LAorICAgICAgICAgICAgICAgICAgdG9fa2luZCAqIGhvd19tYW55KTsKKyAgICB9CisgICAgZWxzZSBpZiAoZnJvbV9raW5kID09IFB5VW5pY29kZV8xQllURV9LSU5ECisgICAgICAgICAgICAgJiYgdG9fa2luZCA9PSBQeVVuaWNvZGVfMkJZVEVfS0lORCkKKyAgICB7CisgICAgICAgIF9QeVVuaWNvZGVfQ09OVkVSVF9CWVRFUygKKyAgICAgICAgICAgIFB5X1VDUzEsIFB5X1VDUzIsCisgICAgICAgICAgICBQeVVuaWNvZGVfMUJZVEVfREFUQShmcm9tKSArIGZyb21fc3RhcnQsCisgICAgICAgICAgICBQeVVuaWNvZGVfMUJZVEVfREFUQShmcm9tKSArIGZyb21fc3RhcnQgKyBob3dfbWFueSwKKyAgICAgICAgICAgIFB5VW5pY29kZV8yQllURV9EQVRBKHRvKSArIHRvX3N0YXJ0CisgICAgICAgICAgICApOworICAgIH0KKyAgICBlbHNlIGlmIChmcm9tX2tpbmQgPT0gUHlVbmljb2RlXzFCWVRFX0tJTkQKKyAgICAgICAgICAgICAmJiB0b19raW5kID09IFB5VW5pY29kZV80QllURV9LSU5EKQorICAgIHsKKyAgICAgICAgX1B5VW5pY29kZV9DT05WRVJUX0JZVEVTKAorICAgICAgICAgICAgUHlfVUNTMSwgUHlfVUNTNCwKKyAgICAgICAgICAgIFB5VW5pY29kZV8xQllURV9EQVRBKGZyb20pICsgZnJvbV9zdGFydCwKKyAgICAgICAgICAgIFB5VW5pY29kZV8xQllURV9EQVRBKGZyb20pICsgZnJvbV9zdGFydCArIGhvd19tYW55LAorICAgICAgICAgICAgUHlVbmljb2RlXzRCWVRFX0RBVEEodG8pICsgdG9fc3RhcnQKKyAgICAgICAgICAgICk7CisgICAgfQorICAgIGVsc2UgaWYgKGZyb21fa2luZCA9PSBQeVVuaWNvZGVfMkJZVEVfS0lORAorICAgICAgICAgICAgICYmIHRvX2tpbmQgPT0gUHlVbmljb2RlXzRCWVRFX0tJTkQpCisgICAgeworICAgICAgICBfUHlVbmljb2RlX0NPTlZFUlRfQllURVMoCisgICAgICAgICAgICBQeV9VQ1MyLCBQeV9VQ1M0LAorICAgICAgICAgICAgUHlVbmljb2RlXzJCWVRFX0RBVEEoZnJvbSkgKyBmcm9tX3N0YXJ0LAorICAgICAgICAgICAgUHlVbmljb2RlXzJCWVRFX0RBVEEoZnJvbSkgKyBmcm9tX3N0YXJ0ICsgaG93X21hbnksCisgICAgICAgICAgICBQeVVuaWNvZGVfNEJZVEVfREFUQSh0bykgKyB0b19zdGFydAorICAgICAgICAgICAgKTsKKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIC8qIGNoZWNrIGlmIG1heF9jaGFyKGZyb20gc3Vic3RyaW5nKSA8PSBtYXhfY2hhcih0bykgKi8KKyAgICAgICAgaWYgKGZyb21fa2luZCA+IHRvX2tpbmQKKyAgICAgICAgICAgICAgICAvKiBsYXRpbjEgPT4gYXNjaWkgKi8KKyAgICAgICAgICAgIHx8ICghUHlVbmljb2RlX0lTX0FTQ0lJKGZyb20pICYmIFB5VW5pY29kZV9JU19BU0NJSSh0bykpKQorICAgICAgICB7CisgICAgICAgICAgICAvKiBzbG93IHBhdGggdG8gY2hlY2sgZm9yIGNoYXJhY3RlciBvdmVyZmxvdyAqLworICAgICAgICAgICAgY29uc3QgUHlfVUNTNCB0b19tYXhjaGFyID0gUHlVbmljb2RlX01BWF9DSEFSX1ZBTFVFKHRvKTsKKyAgICAgICAgICAgIFB5X1VDUzQgY2g7CisgICAgICAgICAgICBQeV9zc2l6ZV90IGk7CisKKyNpZmRlZiBQeV9ERUJVRworICAgICAgICAgICAgZm9yIChpPTA7IGkgPCBob3dfbWFueTsgaSsrKSB7CisgICAgICAgICAgICAgICAgY2ggPSBQeVVuaWNvZGVfUkVBRChmcm9tX2tpbmQsIGZyb21fZGF0YSwgZnJvbV9zdGFydCArIGkpOworICAgICAgICAgICAgICAgIGFzc2VydChjaCA8PSB0b19tYXhjaGFyKTsKKyAgICAgICAgICAgICAgICBQeVVuaWNvZGVfV1JJVEUodG9fa2luZCwgdG9fZGF0YSwgdG9fc3RhcnQgKyBpLCBjaCk7CisgICAgICAgICAgICB9CisjZWxzZQorICAgICAgICAgICAgaWYgKCFjaGVja19tYXhjaGFyKSB7CisgICAgICAgICAgICAgICAgZm9yIChpPTA7IGkgPCBob3dfbWFueTsgaSsrKSB7CisgICAgICAgICAgICAgICAgICAgIGNoID0gUHlVbmljb2RlX1JFQUQoZnJvbV9raW5kLCBmcm9tX2RhdGEsIGZyb21fc3RhcnQgKyBpKTsKKyAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX1dSSVRFKHRvX2tpbmQsIHRvX2RhdGEsIHRvX3N0YXJ0ICsgaSwgY2gpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGVsc2UgeworICAgICAgICAgICAgICAgIGZvciAoaT0wOyBpIDwgaG93X21hbnk7IGkrKykgeworICAgICAgICAgICAgICAgICAgICBjaCA9IFB5VW5pY29kZV9SRUFEKGZyb21fa2luZCwgZnJvbV9kYXRhLCBmcm9tX3N0YXJ0ICsgaSk7CisgICAgICAgICAgICAgICAgICAgIGlmIChjaCA+IHRvX21heGNoYXIpCisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsKKyAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX1dSSVRFKHRvX2tpbmQsIHRvX2RhdGEsIHRvX3N0YXJ0ICsgaSwgY2gpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyNlbmRpZgorICAgICAgICB9CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgYXNzZXJ0KDAgJiYgImluY29uc2lzdGVudCBzdGF0ZSIpOworICAgICAgICAgICAgcmV0dXJuIDE7CisgICAgICAgIH0KKyAgICB9CisgICAgcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkCitjb3B5X2NoYXJhY3RlcnMoUHlPYmplY3QgKnRvLCBQeV9zc2l6ZV90IHRvX3N0YXJ0LAorICAgICAgICAgICAgICAgICAgICAgICBQeU9iamVjdCAqZnJvbSwgUHlfc3NpemVfdCBmcm9tX3N0YXJ0LAorICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IGhvd19tYW55KQoreworICAgICh2b2lkKV9jb3B5X2NoYXJhY3RlcnModG8sIHRvX3N0YXJ0LCBmcm9tLCBmcm9tX3N0YXJ0LCBob3dfbWFueSwgMCk7Cit9CisKK1B5X3NzaXplX3QKK1B5VW5pY29kZV9Db3B5Q2hhcmFjdGVycyhQeU9iamVjdCAqdG8sIFB5X3NzaXplX3QgdG9fc3RhcnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgUHlPYmplY3QgKmZyb20sIFB5X3NzaXplX3QgZnJvbV9zdGFydCwKKyAgICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IGhvd19tYW55KQoreworICAgIGludCBlcnI7CisKKyAgICBpZiAoIVB5VW5pY29kZV9DaGVjayhmcm9tKSB8fCAhUHlVbmljb2RlX0NoZWNrKHRvKSkgeworICAgICAgICBQeUVycl9CYWRJbnRlcm5hbENhbGwoKTsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKworICAgIGlmIChQeVVuaWNvZGVfUkVBRFkoZnJvbSkgPT0gLTEpCisgICAgICAgIHJldHVybiAtMTsKKyAgICBpZiAoUHlVbmljb2RlX1JFQURZKHRvKSA9PSAtMSkKKyAgICAgICAgcmV0dXJuIC0xOworCisgICAgaG93X21hbnkgPSBQeV9NSU4oUHlVbmljb2RlX0dFVF9MRU5HVEgoZnJvbSksIGhvd19tYW55KTsKKyAgICBpZiAodG9fc3RhcnQgKyBob3dfbWFueSA+IFB5VW5pY29kZV9HRVRfTEVOR1RIKHRvKSkgeworICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfU3lzdGVtRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAiQ2Fubm90IHdyaXRlICV6aSBjaGFyYWN0ZXJzIGF0ICV6aSAiCisgICAgICAgICAgICAgICAgICAgICAiaW4gYSBzdHJpbmcgb2YgJXppIGNoYXJhY3RlcnMiLAorICAgICAgICAgICAgICAgICAgICAgaG93X21hbnksIHRvX3N0YXJ0LCBQeVVuaWNvZGVfR0VUX0xFTkdUSCh0bykpOworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorCisgICAgaWYgKGhvd19tYW55ID09IDApCisgICAgICAgIHJldHVybiAwOworCisgICAgaWYgKHVuaWNvZGVfY2hlY2tfbW9kaWZpYWJsZSh0bykpCisgICAgICAgIHJldHVybiAtMTsKKworICAgIGVyciA9IF9jb3B5X2NoYXJhY3RlcnModG8sIHRvX3N0YXJ0LCBmcm9tLCBmcm9tX3N0YXJ0LCBob3dfbWFueSwgMSk7CisgICAgaWYgKGVycikgeworICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfU3lzdGVtRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAiQ2Fubm90IGNvcHkgJXMgY2hhcmFjdGVycyAiCisgICAgICAgICAgICAgICAgICAgICAiaW50byBhIHN0cmluZyBvZiAlcyBjaGFyYWN0ZXJzIiwKKyAgICAgICAgICAgICAgICAgICAgIHVuaWNvZGVfa2luZF9uYW1lKGZyb20pLAorICAgICAgICAgICAgICAgICAgICAgdW5pY29kZV9raW5kX25hbWUodG8pKTsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKyAgICByZXR1cm4gaG93X21hbnk7Cit9CisKKy8qIEZpbmQgdGhlIG1heGltdW0gY29kZSBwb2ludCBhbmQgY291bnQgdGhlIG51bWJlciBvZiBzdXJyb2dhdGUgcGFpcnMgc28gYQorICAgY29ycmVjdCBzdHJpbmcgbGVuZ3RoIGNhbiBiZSBjb21wdXRlZCBiZWZvcmUgY29udmVydGluZyBhIHN0cmluZyB0byBVQ1M0LgorICAgVGhpcyBmdW5jdGlvbiBjb3VudHMgc2luZ2xlIHN1cnJvZ2F0ZXMgYXMgYSBjaGFyYWN0ZXIgYW5kIG5vdCBhcyBhIHBhaXIuCisKKyAgIFJldHVybiAwIG9uIHN1Y2Nlc3MsIG9yIC0xIG9uIGVycm9yLiAqLworc3RhdGljIGludAorZmluZF9tYXhjaGFyX3N1cnJvZ2F0ZXMoY29uc3Qgd2NoYXJfdCAqYmVnaW4sIGNvbnN0IHdjaGFyX3QgKmVuZCwKKyAgICAgICAgICAgICAgICAgICAgICAgIFB5X1VDUzQgKm1heGNoYXIsIFB5X3NzaXplX3QgKm51bV9zdXJyb2dhdGVzKQoreworICAgIGNvbnN0IHdjaGFyX3QgKml0ZXI7CisgICAgUHlfVUNTNCBjaDsKKworICAgIGFzc2VydChudW1fc3Vycm9nYXRlcyAhPSBOVUxMICYmIG1heGNoYXIgIT0gTlVMTCk7CisgICAgKm51bV9zdXJyb2dhdGVzID0gMDsKKyAgICAqbWF4Y2hhciA9IDA7CisKKyAgICBmb3IgKGl0ZXIgPSBiZWdpbjsgaXRlciA8IGVuZDsgKSB7CisjaWYgU0laRU9GX1dDSEFSX1QgPT0gMgorICAgICAgICBpZiAoUHlfVU5JQ09ERV9JU19ISUdIX1NVUlJPR0FURShpdGVyWzBdKQorICAgICAgICAgICAgJiYgKGl0ZXIrMSkgPCBlbmQKKyAgICAgICAgICAgICYmIFB5X1VOSUNPREVfSVNfTE9XX1NVUlJPR0FURShpdGVyWzFdKSkKKyAgICAgICAgeworICAgICAgICAgICAgY2ggPSBQeV9VTklDT0RFX0pPSU5fU1VSUk9HQVRFUyhpdGVyWzBdLCBpdGVyWzFdKTsKKyAgICAgICAgICAgICsrKCpudW1fc3Vycm9nYXRlcyk7CisgICAgICAgICAgICBpdGVyICs9IDI7CisgICAgICAgIH0KKyAgICAgICAgZWxzZQorI2VuZGlmCisgICAgICAgIHsKKyAgICAgICAgICAgIGNoID0gKml0ZXI7CisgICAgICAgICAgICBpdGVyKys7CisgICAgICAgIH0KKyAgICAgICAgaWYgKGNoID4gKm1heGNoYXIpIHsKKyAgICAgICAgICAgICptYXhjaGFyID0gY2g7CisgICAgICAgICAgICBpZiAoKm1heGNoYXIgPiBNQVhfVU5JQ09ERSkgeworICAgICAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19WYWx1ZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY2hhcmFjdGVyIFUrJXggaXMgbm90IGluIHJhbmdlIFtVKzAwMDA7IFUrMTBmZmZmXSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CisgICAgcmV0dXJuIDA7Cit9CisKKyNpZmRlZiBQeV9ERUJVRworc3RhdGljIGludCB1bmljb2RlX3JlYWR5X2NhbGxzID0gMDsKKyNlbmRpZgorCitpbnQKK19QeVVuaWNvZGVfUmVhZHkoUHlPYmplY3QgKnVuaWNvZGUpCit7CisgICAgd2NoYXJfdCAqZW5kOworICAgIFB5X1VDUzQgbWF4Y2hhciA9IDA7CisgICAgUHlfc3NpemVfdCBudW1fc3Vycm9nYXRlczsKKyNpZiBTSVpFT0ZfV0NIQVJfVCA9PSAyCisgICAgUHlfc3NpemVfdCBsZW5ndGhfd29fc3Vycm9nYXRlczsKKyNlbmRpZgorCisgICAgLyogX1B5VW5pY29kZV9SZWFkeSgpIGlzIG9ubHkgaW50ZW5kZWQgZm9yIG9sZC1zdHlsZSBBUEkgdXNhZ2Ugd2hlcmUKKyAgICAgICBzdHJpbmdzIHdlcmUgY3JlYXRlZCB1c2luZyBfUHlPYmplY3RfTmV3KCkgYW5kIHdoZXJlIG5vIGNhbm9uaWNhbAorICAgICAgIHJlcHJlc2VudGF0aW9uICh0aGUgc3RyIGZpZWxkKSBoYXMgYmVlbiBzZXQgeWV0IGFrYSBzdHJpbmdzCisgICAgICAgd2hpY2ggYXJlIG5vdCB5ZXQgcmVhZHkuICovCisgICAgYXNzZXJ0KF9QeVVuaWNvZGVfQ0hFQ0sodW5pY29kZSkpOworICAgIGFzc2VydChfUHlVbmljb2RlX0tJTkQodW5pY29kZSkgPT0gUHlVbmljb2RlX1dDSEFSX0tJTkQpOworICAgIGFzc2VydChfUHlVbmljb2RlX1dTVFIodW5pY29kZSkgIT0gTlVMTCk7CisgICAgYXNzZXJ0KF9QeVVuaWNvZGVfREFUQV9BTlkodW5pY29kZSkgPT0gTlVMTCk7CisgICAgYXNzZXJ0KF9QeVVuaWNvZGVfVVRGOCh1bmljb2RlKSA9PSBOVUxMKTsKKyAgICAvKiBBY3R1YWxseSwgaXQgc2hvdWxkIG5laXRoZXIgYmUgaW50ZXJuZWQgbm9yIGJlIGFueXRoaW5nIGVsc2U6ICovCisgICAgYXNzZXJ0KF9QeVVuaWNvZGVfU1RBVEUodW5pY29kZSkuaW50ZXJuZWQgPT0gU1NUQVRFX05PVF9JTlRFUk5FRCk7CisKKyNpZmRlZiBQeV9ERUJVRworICAgICsrdW5pY29kZV9yZWFkeV9jYWxsczsKKyNlbmRpZgorCisgICAgZW5kID0gX1B5VW5pY29kZV9XU1RSKHVuaWNvZGUpICsgX1B5VW5pY29kZV9XU1RSX0xFTkdUSCh1bmljb2RlKTsKKyAgICBpZiAoZmluZF9tYXhjaGFyX3N1cnJvZ2F0ZXMoX1B5VW5pY29kZV9XU1RSKHVuaWNvZGUpLCBlbmQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZtYXhjaGFyLCAmbnVtX3N1cnJvZ2F0ZXMpID09IC0xKQorICAgICAgICByZXR1cm4gLTE7CisKKyAgICBpZiAobWF4Y2hhciA8IDI1NikgeworICAgICAgICBfUHlVbmljb2RlX0RBVEFfQU5ZKHVuaWNvZGUpID0gUHlPYmplY3RfTUFMTE9DKF9QeVVuaWNvZGVfV1NUUl9MRU5HVEgodW5pY29kZSkgKyAxKTsKKyAgICAgICAgaWYgKCFfUHlVbmljb2RlX0RBVEFfQU5ZKHVuaWNvZGUpKSB7CisgICAgICAgICAgICBQeUVycl9Ob01lbW9yeSgpOworICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICB9CisgICAgICAgIF9QeVVuaWNvZGVfQ09OVkVSVF9CWVRFUyh3Y2hhcl90LCB1bnNpZ25lZCBjaGFyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfUHlVbmljb2RlX1dTVFIodW5pY29kZSksIGVuZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlXzFCWVRFX0RBVEEodW5pY29kZSkpOworICAgICAgICBQeVVuaWNvZGVfMUJZVEVfREFUQSh1bmljb2RlKVtfUHlVbmljb2RlX1dTVFJfTEVOR1RIKHVuaWNvZGUpXSA9ICdcMCc7CisgICAgICAgIF9QeVVuaWNvZGVfTEVOR1RIKHVuaWNvZGUpID0gX1B5VW5pY29kZV9XU1RSX0xFTkdUSCh1bmljb2RlKTsKKyAgICAgICAgX1B5VW5pY29kZV9TVEFURSh1bmljb2RlKS5raW5kID0gUHlVbmljb2RlXzFCWVRFX0tJTkQ7CisgICAgICAgIGlmIChtYXhjaGFyIDwgMTI4KSB7CisgICAgICAgICAgICBfUHlVbmljb2RlX1NUQVRFKHVuaWNvZGUpLmFzY2lpID0gMTsKKyAgICAgICAgICAgIF9QeVVuaWNvZGVfVVRGOCh1bmljb2RlKSA9IF9QeVVuaWNvZGVfREFUQV9BTlkodW5pY29kZSk7CisgICAgICAgICAgICBfUHlVbmljb2RlX1VURjhfTEVOR1RIKHVuaWNvZGUpID0gX1B5VW5pY29kZV9XU1RSX0xFTkdUSCh1bmljb2RlKTsKKyAgICAgICAgfQorICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIF9QeVVuaWNvZGVfU1RBVEUodW5pY29kZSkuYXNjaWkgPSAwOworICAgICAgICAgICAgX1B5VW5pY29kZV9VVEY4KHVuaWNvZGUpID0gTlVMTDsKKyAgICAgICAgICAgIF9QeVVuaWNvZGVfVVRGOF9MRU5HVEgodW5pY29kZSkgPSAwOworICAgICAgICB9CisgICAgICAgIFB5T2JqZWN0X0ZSRUUoX1B5VW5pY29kZV9XU1RSKHVuaWNvZGUpKTsKKyAgICAgICAgX1B5VW5pY29kZV9XU1RSKHVuaWNvZGUpID0gTlVMTDsKKyAgICAgICAgX1B5VW5pY29kZV9XU1RSX0xFTkdUSCh1bmljb2RlKSA9IDA7CisgICAgfQorICAgIC8qIEluIHRoaXMgY2FzZSB3ZSBtaWdodCBoYXZlIHRvIGNvbnZlcnQgZG93biBmcm9tIDQtYnl0ZSBuYXRpdmUKKyAgICAgICB3Y2hhcl90IHRvIDItYnl0ZSB1bmljb2RlLiAqLworICAgIGVsc2UgaWYgKG1heGNoYXIgPCA2NTUzNikgeworICAgICAgICBhc3NlcnQobnVtX3N1cnJvZ2F0ZXMgPT0gMCAmJgorICAgICAgICAgICAgICAgIkZpbmRNYXhDaGFyQW5kTnVtU3Vycm9nYXRlUGFpcnMoKSBtZXNzZWQgdXAiKTsKKworI2lmIFNJWkVPRl9XQ0hBUl9UID09IDIKKyAgICAgICAgLyogV2UgY2FuIHNoYXJlIHJlcHJlc2VudGF0aW9ucyBhbmQgYXJlIGRvbmUuICovCisgICAgICAgIF9QeVVuaWNvZGVfREFUQV9BTlkodW5pY29kZSkgPSBfUHlVbmljb2RlX1dTVFIodW5pY29kZSk7CisgICAgICAgIFB5VW5pY29kZV8yQllURV9EQVRBKHVuaWNvZGUpW19QeVVuaWNvZGVfV1NUUl9MRU5HVEgodW5pY29kZSldID0gJ1wwJzsKKyAgICAgICAgX1B5VW5pY29kZV9MRU5HVEgodW5pY29kZSkgPSBfUHlVbmljb2RlX1dTVFJfTEVOR1RIKHVuaWNvZGUpOworICAgICAgICBfUHlVbmljb2RlX1NUQVRFKHVuaWNvZGUpLmtpbmQgPSBQeVVuaWNvZGVfMkJZVEVfS0lORDsKKyAgICAgICAgX1B5VW5pY29kZV9VVEY4KHVuaWNvZGUpID0gTlVMTDsKKyAgICAgICAgX1B5VW5pY29kZV9VVEY4X0xFTkdUSCh1bmljb2RlKSA9IDA7CisjZWxzZQorICAgICAgICAvKiBzaXplb2Yod2NoYXJfdCkgPT0gNCAqLworICAgICAgICBfUHlVbmljb2RlX0RBVEFfQU5ZKHVuaWNvZGUpID0gUHlPYmplY3RfTUFMTE9DKAorICAgICAgICAgICAgMiAqIChfUHlVbmljb2RlX1dTVFJfTEVOR1RIKHVuaWNvZGUpICsgMSkpOworICAgICAgICBpZiAoIV9QeVVuaWNvZGVfREFUQV9BTlkodW5pY29kZSkpIHsKKyAgICAgICAgICAgIFB5RXJyX05vTWVtb3J5KCk7CisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIH0KKyAgICAgICAgX1B5VW5pY29kZV9DT05WRVJUX0JZVEVTKHdjaGFyX3QsIFB5X1VDUzIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9QeVVuaWNvZGVfV1NUUih1bmljb2RlKSwgZW5kLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfMkJZVEVfREFUQSh1bmljb2RlKSk7CisgICAgICAgIFB5VW5pY29kZV8yQllURV9EQVRBKHVuaWNvZGUpW19QeVVuaWNvZGVfV1NUUl9MRU5HVEgodW5pY29kZSldID0gJ1wwJzsKKyAgICAgICAgX1B5VW5pY29kZV9MRU5HVEgodW5pY29kZSkgPSBfUHlVbmljb2RlX1dTVFJfTEVOR1RIKHVuaWNvZGUpOworICAgICAgICBfUHlVbmljb2RlX1NUQVRFKHVuaWNvZGUpLmtpbmQgPSBQeVVuaWNvZGVfMkJZVEVfS0lORDsKKyAgICAgICAgX1B5VW5pY29kZV9VVEY4KHVuaWNvZGUpID0gTlVMTDsKKyAgICAgICAgX1B5VW5pY29kZV9VVEY4X0xFTkdUSCh1bmljb2RlKSA9IDA7CisgICAgICAgIFB5T2JqZWN0X0ZSRUUoX1B5VW5pY29kZV9XU1RSKHVuaWNvZGUpKTsKKyAgICAgICAgX1B5VW5pY29kZV9XU1RSKHVuaWNvZGUpID0gTlVMTDsKKyAgICAgICAgX1B5VW5pY29kZV9XU1RSX0xFTkdUSCh1bmljb2RlKSA9IDA7CisjZW5kaWYKKyAgICB9CisgICAgLyogbWF4Y2hhciBleGVlZHMgMTYgYml0LCB3ZWUgbmVlZCA0IGJ5dGVzIGZvciB1bmljb2RlIGNoYXJhY3RlcnMgKi8KKyAgICBlbHNlIHsKKyNpZiBTSVpFT0ZfV0NIQVJfVCA9PSAyCisgICAgICAgIC8qIGluIGNhc2UgdGhlIG5hdGl2ZSByZXByZXNlbnRhdGlvbiBpcyAyLWJ5dGVzLCB3ZSBuZWVkIHRvIGFsbG9jYXRlIGEKKyAgICAgICAgICAgbmV3IG5vcm1hbGl6ZWQgNC1ieXRlIHZlcnNpb24uICovCisgICAgICAgIGxlbmd0aF93b19zdXJyb2dhdGVzID0gX1B5VW5pY29kZV9XU1RSX0xFTkdUSCh1bmljb2RlKSAtIG51bV9zdXJyb2dhdGVzOworICAgICAgICBfUHlVbmljb2RlX0RBVEFfQU5ZKHVuaWNvZGUpID0gUHlPYmplY3RfTUFMTE9DKDQgKiAobGVuZ3RoX3dvX3N1cnJvZ2F0ZXMgKyAxKSk7CisgICAgICAgIGlmICghX1B5VW5pY29kZV9EQVRBX0FOWSh1bmljb2RlKSkgeworICAgICAgICAgICAgUHlFcnJfTm9NZW1vcnkoKTsKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgfQorICAgICAgICBfUHlVbmljb2RlX0xFTkdUSCh1bmljb2RlKSA9IGxlbmd0aF93b19zdXJyb2dhdGVzOworICAgICAgICBfUHlVbmljb2RlX1NUQVRFKHVuaWNvZGUpLmtpbmQgPSBQeVVuaWNvZGVfNEJZVEVfS0lORDsKKyAgICAgICAgX1B5VW5pY29kZV9VVEY4KHVuaWNvZGUpID0gTlVMTDsKKyAgICAgICAgX1B5VW5pY29kZV9VVEY4X0xFTkdUSCh1bmljb2RlKSA9IDA7CisgICAgICAgIC8qIHVuaWNvZGVfY29udmVydF93Y2hhcl90b191Y3M0KCkgcmVxdWlyZXMgYSByZWFkeSBzdHJpbmcgKi8KKyAgICAgICAgX1B5VW5pY29kZV9TVEFURSh1bmljb2RlKS5yZWFkeSA9IDE7CisgICAgICAgIHVuaWNvZGVfY29udmVydF93Y2hhcl90b191Y3M0KF9QeVVuaWNvZGVfV1NUUih1bmljb2RlKSwgZW5kLCB1bmljb2RlKTsKKyAgICAgICAgUHlPYmplY3RfRlJFRShfUHlVbmljb2RlX1dTVFIodW5pY29kZSkpOworICAgICAgICBfUHlVbmljb2RlX1dTVFIodW5pY29kZSkgPSBOVUxMOworICAgICAgICBfUHlVbmljb2RlX1dTVFJfTEVOR1RIKHVuaWNvZGUpID0gMDsKKyNlbHNlCisgICAgICAgIGFzc2VydChudW1fc3Vycm9nYXRlcyA9PSAwKTsKKworICAgICAgICBfUHlVbmljb2RlX0RBVEFfQU5ZKHVuaWNvZGUpID0gX1B5VW5pY29kZV9XU1RSKHVuaWNvZGUpOworICAgICAgICBfUHlVbmljb2RlX0xFTkdUSCh1bmljb2RlKSA9IF9QeVVuaWNvZGVfV1NUUl9MRU5HVEgodW5pY29kZSk7CisgICAgICAgIF9QeVVuaWNvZGVfVVRGOCh1bmljb2RlKSA9IE5VTEw7CisgICAgICAgIF9QeVVuaWNvZGVfVVRGOF9MRU5HVEgodW5pY29kZSkgPSAwOworICAgICAgICBfUHlVbmljb2RlX1NUQVRFKHVuaWNvZGUpLmtpbmQgPSBQeVVuaWNvZGVfNEJZVEVfS0lORDsKKyNlbmRpZgorICAgICAgICBQeVVuaWNvZGVfNEJZVEVfREFUQSh1bmljb2RlKVtfUHlVbmljb2RlX0xFTkdUSCh1bmljb2RlKV0gPSAnXDAnOworICAgIH0KKyAgICBfUHlVbmljb2RlX1NUQVRFKHVuaWNvZGUpLnJlYWR5ID0gMTsKKyAgICBhc3NlcnQoX1B5VW5pY29kZV9DaGVja0NvbnNpc3RlbmN5KHVuaWNvZGUsIDEpKTsKKyAgICByZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQKK3VuaWNvZGVfZGVhbGxvYyhyZWdpc3RlciBQeU9iamVjdCAqdW5pY29kZSkKIHsKICAgICBzd2l0Y2ggKFB5VW5pY29kZV9DSEVDS19JTlRFUk5FRCh1bmljb2RlKSkgewogICAgIGNhc2UgU1NUQVRFX05PVF9JTlRFUk5FRDoKQEAgLTM5Myw3ICsxNDg4LDcgQEAKICAgICBjYXNlIFNTVEFURV9JTlRFUk5FRF9NT1JUQUw6CiAgICAgICAgIC8qIHJldml2ZSBkZWFkIG9iamVjdCB0ZW1wb3JhcmlseSBmb3IgRGVsSXRlbSAqLwogICAgICAgICBQeV9SRUZDTlQodW5pY29kZSkgPSAzOwotICAgICAgICBpZiAoUHlEaWN0X0RlbEl0ZW0oaW50ZXJuZWQsIChQeU9iamVjdCAqKXVuaWNvZGUpICE9IDApCisgICAgICAgIGlmIChQeURpY3RfRGVsSXRlbShpbnRlcm5lZCwgdW5pY29kZSkgIT0gMCkKICAgICAgICAgICAgIFB5X0ZhdGFsRXJyb3IoCiAgICAgICAgICAgICAgICAgImRlbGV0aW9uIG9mIGludGVybmVkIHN0cmluZyBmYWlsZWQiKTsKICAgICAgICAgYnJlYWs7CkBAIC00MDUsMjQwICsxNTAwLDY3MCBAQAogICAgICAgICBQeV9GYXRhbEVycm9yKCJJbmNvbnNpc3RlbnQgaW50ZXJuZWQgc3RyaW5nIHN0YXRlLiIpOwogICAgIH0KIAotICAgIGlmIChQeVVuaWNvZGVfQ2hlY2tFeGFjdCh1bmljb2RlKSAmJgotICAgICAgICBudW1mcmVlIDwgUHlVbmljb2RlX01BWEZSRUVMSVNUKSB7Ci0gICAgICAgIC8qIEtlZXAtQWxpdmUgb3B0aW1pemF0aW9uICovCi0gICAgICAgIGlmICh1bmljb2RlLT5sZW5ndGggPj0gS0VFUEFMSVZFX1NJWkVfTElNSVQpIHsKLSAgICAgICAgICAgIFB5T2JqZWN0X0RFTCh1bmljb2RlLT5zdHIpOwotICAgICAgICAgICAgdW5pY29kZS0+c3RyID0gTlVMTDsKLSAgICAgICAgICAgIHVuaWNvZGUtPmxlbmd0aCA9IDA7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKHVuaWNvZGUtPmRlZmVuYykgewotICAgICAgICAgICAgUHlfQ0xFQVIodW5pY29kZS0+ZGVmZW5jKTsKLSAgICAgICAgfQotICAgICAgICAvKiBBZGQgdG8gZnJlZSBsaXN0ICovCi0gICAgICAgICooUHlVbmljb2RlT2JqZWN0ICoqKXVuaWNvZGUgPSBmcmVlX2xpc3Q7Ci0gICAgICAgIGZyZWVfbGlzdCA9IHVuaWNvZGU7Ci0gICAgICAgIG51bWZyZWUrKzsKLSAgICB9Ci0gICAgZWxzZSB7Ci0gICAgICAgIFB5T2JqZWN0X0RFTCh1bmljb2RlLT5zdHIpOwotICAgICAgICBQeV9YREVDUkVGKHVuaWNvZGUtPmRlZmVuYyk7Ci0gICAgICAgIFB5X1RZUEUodW5pY29kZSktPnRwX2ZyZWUoKFB5T2JqZWN0ICopdW5pY29kZSk7Ci0gICAgfQorICAgIGlmIChfUHlVbmljb2RlX0hBU19XU1RSX01FTU9SWSh1bmljb2RlKSkKKyAgICAgICAgUHlPYmplY3RfREVMKF9QeVVuaWNvZGVfV1NUUih1bmljb2RlKSk7CisgICAgaWYgKF9QeVVuaWNvZGVfSEFTX1VURjhfTUVNT1JZKHVuaWNvZGUpKQorICAgICAgICBQeU9iamVjdF9ERUwoX1B5VW5pY29kZV9VVEY4KHVuaWNvZGUpKTsKKyAgICBpZiAoIVB5VW5pY29kZV9JU19DT01QQUNUKHVuaWNvZGUpICYmIF9QeVVuaWNvZGVfREFUQV9BTlkodW5pY29kZSkpCisgICAgICAgIFB5T2JqZWN0X0RFTChfUHlVbmljb2RlX0RBVEFfQU5ZKHVuaWNvZGUpKTsKKworICAgIFB5X1RZUEUodW5pY29kZSktPnRwX2ZyZWUodW5pY29kZSk7CiB9CiAKLXN0YXRpYwotaW50IF9QeVVuaWNvZGVfUmVzaXplKFB5VW5pY29kZU9iamVjdCAqKnVuaWNvZGUsIFB5X3NzaXplX3QgbGVuZ3RoKQorI2lmZGVmIFB5X0RFQlVHCitzdGF0aWMgaW50Cit1bmljb2RlX2lzX3NpbmdsZXRvbihQeU9iamVjdCAqdW5pY29kZSkKIHsKLSAgICByZWdpc3RlciBQeVVuaWNvZGVPYmplY3QgKnY7Ci0KLSAgICAvKiBBcmd1bWVudCBjaGVja3MgKi8KLSAgICBpZiAodW5pY29kZSA9PSBOVUxMKSB7Ci0gICAgICAgIFB5RXJyX0JhZEludGVybmFsQ2FsbCgpOwotICAgICAgICByZXR1cm4gLTE7CisgICAgUHlBU0NJSU9iamVjdCAqYXNjaWkgPSAoUHlBU0NJSU9iamVjdCAqKXVuaWNvZGU7CisgICAgaWYgKHVuaWNvZGUgPT0gdW5pY29kZV9lbXB0eSkKKyAgICAgICAgcmV0dXJuIDE7CisgICAgaWYgKGFzY2lpLT5zdGF0ZS5raW5kICE9IFB5VW5pY29kZV9XQ0hBUl9LSU5EICYmIGFzY2lpLT5sZW5ndGggPT0gMSkKKyAgICB7CisgICAgICAgIFB5X1VDUzQgY2ggPSBQeVVuaWNvZGVfUkVBRF9DSEFSKHVuaWNvZGUsIDApOworICAgICAgICBpZiAoY2ggPCAyNTYgJiYgdW5pY29kZV9sYXRpbjFbY2hdID09IHVuaWNvZGUpCisgICAgICAgICAgICByZXR1cm4gMTsKICAgICB9Ci0gICAgdiA9ICp1bmljb2RlOwotICAgIGlmICh2ID09IE5VTEwgfHwgIVB5VW5pY29kZV9DaGVjayh2KSB8fCBQeV9SRUZDTlQodikgIT0gMSB8fCBsZW5ndGggPCAwKSB7Ci0gICAgICAgIFB5RXJyX0JhZEludGVybmFsQ2FsbCgpOwotICAgICAgICByZXR1cm4gLTE7Ci0gICAgfQorICAgIHJldHVybiAwOworfQorI2VuZGlmCiAKLSAgICAvKiBSZXNpemluZyB1bmljb2RlX2VtcHR5IGFuZCBzaW5nbGUgY2hhcmFjdGVyIG9iamVjdHMgaXMgbm90Ci0gICAgICAgcG9zc2libGUgc2luY2UgdGhlc2UgYXJlIGJlaW5nIHNoYXJlZC4gV2Ugc2ltcGx5IHJldHVybiBhIGZyZXNoCi0gICAgICAgY29weSB3aXRoIHRoZSBzYW1lIFVuaWNvZGUgY29udGVudC4gKi8KLSAgICBpZiAodi0+bGVuZ3RoICE9IGxlbmd0aCAmJgotICAgICAgICAodiA9PSB1bmljb2RlX2VtcHR5IHx8IHYtPmxlbmd0aCA9PSAxKSkgewotICAgICAgICBQeVVuaWNvZGVPYmplY3QgKncgPSBfUHlVbmljb2RlX05ldyhsZW5ndGgpOwotICAgICAgICBpZiAodyA9PSBOVUxMKQotICAgICAgICAgICAgcmV0dXJuIC0xOwotICAgICAgICBQeV9VTklDT0RFX0NPUFkody0+c3RyLCB2LT5zdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICBsZW5ndGggPCB2LT5sZW5ndGggPyBsZW5ndGggOiB2LT5sZW5ndGgpOwotICAgICAgICBQeV9ERUNSRUYoKnVuaWNvZGUpOwotICAgICAgICAqdW5pY29kZSA9IHc7CitzdGF0aWMgaW50Cit1bmljb2RlX21vZGlmaWFibGUoUHlPYmplY3QgKnVuaWNvZGUpCit7CisgICAgYXNzZXJ0KF9QeVVuaWNvZGVfQ0hFQ0sodW5pY29kZSkpOworICAgIGlmIChQeV9SRUZDTlQodW5pY29kZSkgIT0gMSkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgaWYgKF9QeVVuaWNvZGVfSEFTSCh1bmljb2RlKSAhPSAtMSkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgaWYgKFB5VW5pY29kZV9DSEVDS19JTlRFUk5FRCh1bmljb2RlKSkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgaWYgKCFQeVVuaWNvZGVfQ2hlY2tFeGFjdCh1bmljb2RlKSkKKyAgICAgICAgcmV0dXJuIDA7CisjaWZkZWYgUHlfREVCVUcKKyAgICAvKiBzaW5nbGV0b24gcmVmY291bnQgaXMgZ3JlYXRlciB0aGFuIDEgKi8KKyAgICBhc3NlcnQoIXVuaWNvZGVfaXNfc2luZ2xldG9uKHVuaWNvZGUpKTsKKyNlbmRpZgorICAgIHJldHVybiAxOworfQorCitzdGF0aWMgaW50Cit1bmljb2RlX3Jlc2l6ZShQeU9iamVjdCAqKnBfdW5pY29kZSwgUHlfc3NpemVfdCBsZW5ndGgpCit7CisgICAgUHlPYmplY3QgKnVuaWNvZGU7CisgICAgUHlfc3NpemVfdCBvbGRfbGVuZ3RoOworCisgICAgYXNzZXJ0KHBfdW5pY29kZSAhPSBOVUxMKTsKKyAgICB1bmljb2RlID0gKnBfdW5pY29kZTsKKworICAgIGFzc2VydCh1bmljb2RlICE9IE5VTEwpOworICAgIGFzc2VydChQeVVuaWNvZGVfQ2hlY2sodW5pY29kZSkpOworICAgIGFzc2VydCgwIDw9IGxlbmd0aCk7CisKKyAgICBpZiAoX1B5VW5pY29kZV9LSU5EKHVuaWNvZGUpID09IFB5VW5pY29kZV9XQ0hBUl9LSU5EKQorICAgICAgICBvbGRfbGVuZ3RoID0gUHlVbmljb2RlX1dTVFJfTEVOR1RIKHVuaWNvZGUpOworICAgIGVsc2UKKyAgICAgICAgb2xkX2xlbmd0aCA9IFB5VW5pY29kZV9HRVRfTEVOR1RIKHVuaWNvZGUpOworICAgIGlmIChvbGRfbGVuZ3RoID09IGxlbmd0aCkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICBpZiAobGVuZ3RoID09IDApIHsKKyAgICAgICAgUHlfREVDUkVGKCpwX3VuaWNvZGUpOworICAgICAgICAqcF91bmljb2RlID0gdW5pY29kZV9lbXB0eTsKKyAgICAgICAgUHlfSU5DUkVGKCpwX3VuaWNvZGUpOwogICAgICAgICByZXR1cm4gMDsKICAgICB9CiAKLSAgICAvKiBOb3RlIHRoYXQgd2UgZG9uJ3QgaGF2ZSB0byBtb2RpZnkgKnVuaWNvZGUgZm9yIHVuc2hhcmVkIFVuaWNvZGUKLSAgICAgICBvYmplY3RzLCBzaW5jZSB3ZSBjYW4gbW9kaWZ5IHRoZW0gaW4tcGxhY2UuICovCi0gICAgcmV0dXJuIHVuaWNvZGVfcmVzaXplKHYsIGxlbmd0aCk7CisgICAgaWYgKCF1bmljb2RlX21vZGlmaWFibGUodW5pY29kZSkpIHsKKyAgICAgICAgUHlPYmplY3QgKmNvcHkgPSByZXNpemVfY29weSh1bmljb2RlLCBsZW5ndGgpOworICAgICAgICBpZiAoY29weSA9PSBOVUxMKQorICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICBQeV9ERUNSRUYoKnBfdW5pY29kZSk7CisgICAgICAgICpwX3VuaWNvZGUgPSBjb3B5OworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisKKyAgICBpZiAoUHlVbmljb2RlX0lTX0NPTVBBQ1QodW5pY29kZSkpIHsKKyAgICAgICAgUHlPYmplY3QgKm5ld191bmljb2RlID0gcmVzaXplX2NvbXBhY3QodW5pY29kZSwgbGVuZ3RoKTsKKyAgICAgICAgaWYgKG5ld191bmljb2RlID09IE5VTEwpCisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgICpwX3VuaWNvZGUgPSBuZXdfdW5pY29kZTsKKyAgICAgICAgYXNzZXJ0KF9QeVVuaWNvZGVfQ2hlY2tDb25zaXN0ZW5jeSgqcF91bmljb2RlLCAwKSk7CisgICAgICAgIHJldHVybiAwOworICAgIH0KKyAgICByZXR1cm4gcmVzaXplX2lucGxhY2UodW5pY29kZSwgbGVuZ3RoKTsKIH0KIAotaW50IFB5VW5pY29kZV9SZXNpemUoUHlPYmplY3QgKip1bmljb2RlLCBQeV9zc2l6ZV90IGxlbmd0aCkKK2ludAorUHlVbmljb2RlX1Jlc2l6ZShQeU9iamVjdCAqKnBfdW5pY29kZSwgUHlfc3NpemVfdCBsZW5ndGgpCiB7Ci0gICAgcmV0dXJuIF9QeVVuaWNvZGVfUmVzaXplKChQeVVuaWNvZGVPYmplY3QgKiopdW5pY29kZSwgbGVuZ3RoKTsKKyAgICBQeU9iamVjdCAqdW5pY29kZTsKKyAgICBpZiAocF91bmljb2RlID09IE5VTEwpIHsKKyAgICAgICAgUHlFcnJfQmFkSW50ZXJuYWxDYWxsKCk7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisgICAgdW5pY29kZSA9ICpwX3VuaWNvZGU7CisgICAgaWYgKHVuaWNvZGUgPT0gTlVMTCB8fCAhUHlVbmljb2RlX0NoZWNrKHVuaWNvZGUpIHx8IGxlbmd0aCA8IDApCisgICAgeworICAgICAgICBQeUVycl9CYWRJbnRlcm5hbENhbGwoKTsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKyAgICByZXR1cm4gdW5pY29kZV9yZXNpemUocF91bmljb2RlLCBsZW5ndGgpOwogfQogCi1QeU9iamVjdCAqUHlVbmljb2RlX0Zyb21Vbmljb2RlKGNvbnN0IFB5X1VOSUNPREUgKnUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3Qgc2l6ZSkKK3N0YXRpYyBpbnQKK3VuaWNvZGVfd2lkZW4oUHlPYmplY3QgKipwX3VuaWNvZGUsIHVuc2lnbmVkIGludCBtYXhjaGFyKQogewotICAgIFB5VW5pY29kZU9iamVjdCAqdW5pY29kZTsKKyAgICBQeU9iamVjdCAqcmVzdWx0OworICAgIGFzc2VydChQeVVuaWNvZGVfSVNfUkVBRFkoKnBfdW5pY29kZSkpOworICAgIGlmIChtYXhjaGFyIDw9IFB5VW5pY29kZV9NQVhfQ0hBUl9WQUxVRSgqcF91bmljb2RlKSkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgcmVzdWx0ID0gUHlVbmljb2RlX05ldyhQeVVuaWNvZGVfR0VUX0xFTkdUSCgqcF91bmljb2RlKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heGNoYXIpOworICAgIGlmIChyZXN1bHQgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIC0xOworICAgIFB5VW5pY29kZV9Db3B5Q2hhcmFjdGVycyhyZXN1bHQsIDAsICpwX3VuaWNvZGUsIDAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9HRVRfTEVOR1RIKCpwX3VuaWNvZGUpKTsKKyAgICBQeV9ERUNSRUYoKnBfdW5pY29kZSk7CisgICAgKnBfdW5pY29kZSA9IHJlc3VsdDsKKyAgICByZXR1cm4gMDsKK30KKworc3RhdGljIGludAordW5pY29kZV9wdXRjaGFyKFB5T2JqZWN0ICoqcF91bmljb2RlLCBQeV9zc2l6ZV90ICpwb3MsCisgICAgICAgICAgICAgICAgUHlfVUNTNCBjaCkKK3sKKyAgICBhc3NlcnQoY2ggPD0gTUFYX1VOSUNPREUpOworICAgIGlmICh1bmljb2RlX3dpZGVuKHBfdW5pY29kZSwgY2gpIDwgMCkKKyAgICAgICAgcmV0dXJuIC0xOworICAgIFB5VW5pY29kZV9XUklURShQeVVuaWNvZGVfS0lORCgqcF91bmljb2RlKSwKKyAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0RBVEEoKnBfdW5pY29kZSksCisgICAgICAgICAgICAgICAgICAgICgqcG9zKSsrLCBjaCk7CisgICAgcmV0dXJuIDA7Cit9CisKKy8qIENvcHkgYSBBU0NJSSBvciBsYXRpbjEgY2hhciogc3RyaW5nIGludG8gYSBQeXRob24gVW5pY29kZSBzdHJpbmcuCisgICBSZXR1cm4gdGhlIGxlbmd0aCBvZiB0aGUgaW5wdXQgc3RyaW5nLgorCisgICBXQVJOSU5HOiBUaGUgZnVuY3Rpb24gZG9lc24ndCBjb3B5IHRoZSB0ZXJtaW5hdGluZyBudWxsIGNoYXJhY3RlciBhbmQKKyAgIGRvZXNuJ3QgY2hlY2sgdGhlIG1heGltdW0gY2hhcmFjdGVyIChtYXkgd3JpdGUgYSBsYXRpbjEgY2hhcmFjdGVyIGluIGFuCisgICBBU0NJSSBzdHJpbmcpLiAqLworc3RhdGljIFB5X3NzaXplX3QKK3VuaWNvZGVfd3JpdGVfY3N0cihQeU9iamVjdCAqdW5pY29kZSwgUHlfc3NpemVfdCBpbmRleCwgY29uc3QgY2hhciAqc3RyKQoreworICAgIGVudW0gUHlVbmljb2RlX0tpbmQga2luZCA9IFB5VW5pY29kZV9LSU5EKHVuaWNvZGUpOworICAgIHZvaWQgKmRhdGEgPSBQeVVuaWNvZGVfREFUQSh1bmljb2RlKTsKKworICAgIHN3aXRjaCAoa2luZCkgeworICAgIGNhc2UgUHlVbmljb2RlXzFCWVRFX0tJTkQ6IHsKKyAgICAgICAgUHlfc3NpemVfdCBsZW4gPSBzdHJsZW4oc3RyKTsKKyAgICAgICAgYXNzZXJ0KGluZGV4ICsgbGVuIDw9IFB5VW5pY29kZV9HRVRfTEVOR1RIKHVuaWNvZGUpKTsKKyAgICAgICAgbWVtY3B5KChjaGFyICopIGRhdGEgKyBpbmRleCwgc3RyLCBsZW4pOworICAgICAgICByZXR1cm4gbGVuOworICAgIH0KKyAgICBjYXNlIFB5VW5pY29kZV8yQllURV9LSU5EOiB7CisgICAgICAgIFB5X1VDUzIgKnN0YXJ0ID0gKFB5X1VDUzIgKilkYXRhICsgaW5kZXg7CisgICAgICAgIFB5X1VDUzIgKnVjczIgPSBzdGFydDsKKyAgICAgICAgYXNzZXJ0KGluZGV4IDw9IFB5VW5pY29kZV9HRVRfTEVOR1RIKHVuaWNvZGUpKTsKKworICAgICAgICBmb3IgKDsgKnN0cjsgKyt1Y3MyLCArK3N0cikKKyAgICAgICAgICAgICp1Y3MyID0gKFB5X1VDUzIpKnN0cjsKKworICAgICAgICBhc3NlcnQoKHVjczIgLSBzdGFydCkgPD0gUHlVbmljb2RlX0dFVF9MRU5HVEgodW5pY29kZSkpOworICAgICAgICByZXR1cm4gdWNzMiAtIHN0YXJ0OworICAgIH0KKyAgICBkZWZhdWx0OiB7CisgICAgICAgIFB5X1VDUzQgKnN0YXJ0ID0gKFB5X1VDUzQgKilkYXRhICsgaW5kZXg7CisgICAgICAgIFB5X1VDUzQgKnVjczQgPSBzdGFydDsKKyAgICAgICAgYXNzZXJ0KGtpbmQgPT0gUHlVbmljb2RlXzRCWVRFX0tJTkQpOworICAgICAgICBhc3NlcnQoaW5kZXggPD0gUHlVbmljb2RlX0dFVF9MRU5HVEgodW5pY29kZSkpOworCisgICAgICAgIGZvciAoOyAqc3RyOyArK3VjczQsICsrc3RyKQorICAgICAgICAgICAgKnVjczQgPSAoUHlfVUNTNCkqc3RyOworCisgICAgICAgIGFzc2VydCgodWNzNCAtIHN0YXJ0KSA8PSBQeVVuaWNvZGVfR0VUX0xFTkdUSCh1bmljb2RlKSk7CisgICAgICAgIHJldHVybiB1Y3M0IC0gc3RhcnQ7CisgICAgfQorICAgIH0KK30KKworCitzdGF0aWMgUHlPYmplY3QqCitnZXRfbGF0aW4xX2NoYXIodW5zaWduZWQgY2hhciBjaCkKK3sKKyAgICBQeU9iamVjdCAqdW5pY29kZSA9IHVuaWNvZGVfbGF0aW4xW2NoXTsKKyAgICBpZiAoIXVuaWNvZGUpIHsKKyAgICAgICAgdW5pY29kZSA9IFB5VW5pY29kZV9OZXcoMSwgY2gpOworICAgICAgICBpZiAoIXVuaWNvZGUpCisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgUHlVbmljb2RlXzFCWVRFX0RBVEEodW5pY29kZSlbMF0gPSBjaDsKKyAgICAgICAgYXNzZXJ0KF9QeVVuaWNvZGVfQ2hlY2tDb25zaXN0ZW5jeSh1bmljb2RlLCAxKSk7CisgICAgICAgIHVuaWNvZGVfbGF0aW4xW2NoXSA9IHVuaWNvZGU7CisgICAgfQorICAgIFB5X0lOQ1JFRih1bmljb2RlKTsKKyAgICByZXR1cm4gdW5pY29kZTsKK30KKworUHlPYmplY3QgKgorUHlVbmljb2RlX0Zyb21Vbmljb2RlKGNvbnN0IFB5X1VOSUNPREUgKnUsIFB5X3NzaXplX3Qgc2l6ZSkKK3sKKyAgICBQeU9iamVjdCAqdW5pY29kZTsKKyAgICBQeV9VQ1M0IG1heGNoYXIgPSAwOworICAgIFB5X3NzaXplX3QgbnVtX3N1cnJvZ2F0ZXM7CisKKyAgICBpZiAodSA9PSBOVUxMKQorICAgICAgICByZXR1cm4gKFB5T2JqZWN0KilfUHlVbmljb2RlX05ldyhzaXplKTsKIAogICAgIC8qIElmIHRoZSBVbmljb2RlIGRhdGEgaXMga25vd24gYXQgY29uc3RydWN0aW9uIHRpbWUsIHdlIGNhbiBhcHBseQogICAgICAgIHNvbWUgb3B0aW1pemF0aW9ucyB3aGljaCBzaGFyZSBjb21tb25seSB1c2VkIG9iamVjdHMuICovCi0gICAgaWYgKHUgIT0gTlVMTCkgewogCi0gICAgICAgIC8qIE9wdGltaXphdGlvbiBmb3IgZW1wdHkgc3RyaW5ncyAqLwotICAgICAgICBpZiAoc2l6ZSA9PSAwICYmIHVuaWNvZGVfZW1wdHkgIT0gTlVMTCkgewotICAgICAgICAgICAgUHlfSU5DUkVGKHVuaWNvZGVfZW1wdHkpOwotICAgICAgICAgICAgcmV0dXJuIChQeU9iamVjdCAqKXVuaWNvZGVfZW1wdHk7Ci0gICAgICAgIH0KLQotICAgICAgICAvKiBTaW5nbGUgY2hhcmFjdGVyIFVuaWNvZGUgb2JqZWN0cyBpbiB0aGUgTGF0aW4tMSByYW5nZSBhcmUKLSAgICAgICAgICAgc2hhcmVkIHdoZW4gdXNpbmcgdGhpcyBjb25zdHJ1Y3RvciAqLwotICAgICAgICBpZiAoc2l6ZSA9PSAxICYmICp1IDwgMjU2KSB7Ci0gICAgICAgICAgICB1bmljb2RlID0gdW5pY29kZV9sYXRpbjFbKnVdOwotICAgICAgICAgICAgaWYgKCF1bmljb2RlKSB7Ci0gICAgICAgICAgICAgICAgdW5pY29kZSA9IF9QeVVuaWNvZGVfTmV3KDEpOwotICAgICAgICAgICAgICAgIGlmICghdW5pY29kZSkKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgICAgICAgICAgdW5pY29kZS0+c3RyWzBdID0gKnU7Ci0gICAgICAgICAgICAgICAgdW5pY29kZV9sYXRpbjFbKnVdID0gdW5pY29kZTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIFB5X0lOQ1JFRih1bmljb2RlKTsKLSAgICAgICAgICAgIHJldHVybiAoUHlPYmplY3QgKil1bmljb2RlOwotICAgICAgICB9CisgICAgLyogT3B0aW1pemF0aW9uIGZvciBlbXB0eSBzdHJpbmdzICovCisgICAgaWYgKHNpemUgPT0gMCAmJiB1bmljb2RlX2VtcHR5ICE9IE5VTEwpIHsKKyAgICAgICAgUHlfSU5DUkVGKHVuaWNvZGVfZW1wdHkpOworICAgICAgICByZXR1cm4gdW5pY29kZV9lbXB0eTsKICAgICB9CiAKLSAgICB1bmljb2RlID0gX1B5VW5pY29kZV9OZXcoc2l6ZSk7CisgICAgLyogU2luZ2xlIGNoYXJhY3RlciBVbmljb2RlIG9iamVjdHMgaW4gdGhlIExhdGluLTEgcmFuZ2UgYXJlCisgICAgICAgc2hhcmVkIHdoZW4gdXNpbmcgdGhpcyBjb25zdHJ1Y3RvciAqLworICAgIGlmIChzaXplID09IDEgJiYgKnUgPCAyNTYpCisgICAgICAgIHJldHVybiBnZXRfbGF0aW4xX2NoYXIoKHVuc2lnbmVkIGNoYXIpKnUpOworCisgICAgLyogSWYgbm90IGVtcHR5IGFuZCBub3Qgc2luZ2xlIGNoYXJhY3RlciwgY29weSB0aGUgVW5pY29kZSBkYXRhCisgICAgICAgaW50byB0aGUgbmV3IG9iamVjdCAqLworICAgIGlmIChmaW5kX21heGNoYXJfc3Vycm9nYXRlcyh1LCB1ICsgc2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJm1heGNoYXIsICZudW1fc3Vycm9nYXRlcykgPT0gLTEpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgdW5pY29kZSA9IFB5VW5pY29kZV9OZXcoc2l6ZSAtIG51bV9zdXJyb2dhdGVzLCBtYXhjaGFyKTsKICAgICBpZiAoIXVuaWNvZGUpCiAgICAgICAgIHJldHVybiBOVUxMOwogCi0gICAgLyogQ29weSB0aGUgVW5pY29kZSBkYXRhIGludG8gdGhlIG5ldyBvYmplY3QgKi8KLSAgICBpZiAodSAhPSBOVUxMKQotICAgICAgICBQeV9VTklDT0RFX0NPUFkodW5pY29kZS0+c3RyLCB1LCBzaXplKTsKKyAgICBzd2l0Y2ggKFB5VW5pY29kZV9LSU5EKHVuaWNvZGUpKSB7CisgICAgY2FzZSBQeVVuaWNvZGVfMUJZVEVfS0lORDoKKyAgICAgICAgX1B5VW5pY29kZV9DT05WRVJUX0JZVEVTKFB5X1VOSUNPREUsIHVuc2lnbmVkIGNoYXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHUsIHUgKyBzaXplLCBQeVVuaWNvZGVfMUJZVEVfREFUQSh1bmljb2RlKSk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgUHlVbmljb2RlXzJCWVRFX0tJTkQ6CisjaWYgUHlfVU5JQ09ERV9TSVpFID09IDIKKyAgICAgICAgUHlfTUVNQ1BZKFB5VW5pY29kZV8yQllURV9EQVRBKHVuaWNvZGUpLCB1LCBzaXplICogMik7CisjZWxzZQorICAgICAgICBfUHlVbmljb2RlX0NPTlZFUlRfQllURVMoUHlfVU5JQ09ERSwgUHlfVUNTMiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdSwgdSArIHNpemUsIFB5VW5pY29kZV8yQllURV9EQVRBKHVuaWNvZGUpKTsKKyNlbmRpZgorICAgICAgICBicmVhazsKKyAgICBjYXNlIFB5VW5pY29kZV80QllURV9LSU5EOgorI2lmIFNJWkVPRl9XQ0hBUl9UID09IDIKKyAgICAgICAgLyogVGhpcyBpcyB0aGUgb25seSBjYXNlIHdoaWNoIGhhcyB0byBwcm9jZXNzIHN1cnJvZ2F0ZXMsIHRodXMKKyAgICAgICAgICAgYSBzaW1wbGUgY29weSBsb29wIGlzIG5vdCBlbm91Z2ggYW5kIHdlIG5lZWQgYSBmdW5jdGlvbi4gKi8KKyAgICAgICAgdW5pY29kZV9jb252ZXJ0X3djaGFyX3RvX3VjczQodSwgdSArIHNpemUsIHVuaWNvZGUpOworI2Vsc2UKKyAgICAgICAgYXNzZXJ0KG51bV9zdXJyb2dhdGVzID09IDApOworICAgICAgICBQeV9NRU1DUFkoUHlVbmljb2RlXzRCWVRFX0RBVEEodW5pY29kZSksIHUsIHNpemUgKiA0KTsKKyNlbmRpZgorICAgICAgICBicmVhazsKKyAgICBkZWZhdWx0OgorICAgICAgICBhc3NlcnQoMCAmJiAiSW1wb3NzaWJsZSBzdGF0ZSIpOworICAgIH0KIAotICAgIHJldHVybiAoUHlPYmplY3QgKil1bmljb2RlOworICAgIHJldHVybiB1bmljb2RlX3Jlc3VsdCh1bmljb2RlKTsKIH0KIAotUHlPYmplY3QgKlB5VW5pY29kZV9Gcm9tU3RyaW5nQW5kU2l6ZShjb25zdCBjaGFyICp1LCBQeV9zc2l6ZV90IHNpemUpCitQeU9iamVjdCAqCitQeVVuaWNvZGVfRnJvbVN0cmluZ0FuZFNpemUoY29uc3QgY2hhciAqdSwgUHlfc3NpemVfdCBzaXplKQogewotICAgIFB5VW5pY29kZU9iamVjdCAqdW5pY29kZTsKLQogICAgIGlmIChzaXplIDwgMCkgewogICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfU3lzdGVtRXJyb3IsCiAgICAgICAgICAgICAgICAgICAgICAgICAiTmVnYXRpdmUgc2l6ZSBwYXNzZWQgdG8gUHlVbmljb2RlX0Zyb21TdHJpbmdBbmRTaXplIik7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KLQotICAgIC8qIElmIHRoZSBVbmljb2RlIGRhdGEgaXMga25vd24gYXQgY29uc3RydWN0aW9uIHRpbWUsIHdlIGNhbiBhcHBseQotICAgICAgIHNvbWUgb3B0aW1pemF0aW9ucyB3aGljaCBzaGFyZSBjb21tb25seSB1c2VkIG9iamVjdHMuCi0gICAgICAgQWxzbywgdGhpcyBtZWFucyB0aGUgaW5wdXQgbXVzdCBiZSBVVEYtOCwgc28gZmFsbCBiYWNrIHRvIHRoZQotICAgICAgIFVURi04IGRlY29kZXIgYXQgdGhlIGVuZC4gKi8KLSAgICBpZiAodSAhPSBOVUxMKSB7Ci0KLSAgICAgICAgLyogT3B0aW1pemF0aW9uIGZvciBlbXB0eSBzdHJpbmdzICovCi0gICAgICAgIGlmIChzaXplID09IDAgJiYgdW5pY29kZV9lbXB0eSAhPSBOVUxMKSB7Ci0gICAgICAgICAgICBQeV9JTkNSRUYodW5pY29kZV9lbXB0eSk7Ci0gICAgICAgICAgICByZXR1cm4gKFB5T2JqZWN0ICopdW5pY29kZV9lbXB0eTsKLSAgICAgICAgfQotCi0gICAgICAgIC8qIFNpbmdsZSBjaGFyYWN0ZXJzIGFyZSBzaGFyZWQgd2hlbiB1c2luZyB0aGlzIGNvbnN0cnVjdG9yLgotICAgICAgICAgICBSZXN0cmljdCB0byBBU0NJSSwgc2luY2UgdGhlIGlucHV0IG11c3QgYmUgVVRGLTguICovCi0gICAgICAgIGlmIChzaXplID09IDEgJiYgUHlfQ0hBUk1BU0soKnUpIDwgMTI4KSB7Ci0gICAgICAgICAgICB1bmljb2RlID0gdW5pY29kZV9sYXRpbjFbUHlfQ0hBUk1BU0soKnUpXTsKLSAgICAgICAgICAgIGlmICghdW5pY29kZSkgewotICAgICAgICAgICAgICAgIHVuaWNvZGUgPSBfUHlVbmljb2RlX05ldygxKTsKLSAgICAgICAgICAgICAgICBpZiAoIXVuaWNvZGUpCi0gICAgICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOwotICAgICAgICAgICAgICAgIHVuaWNvZGUtPnN0clswXSA9IFB5X0NIQVJNQVNLKCp1KTsKLSAgICAgICAgICAgICAgICB1bmljb2RlX2xhdGluMVtQeV9DSEFSTUFTSygqdSldID0gdW5pY29kZTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIFB5X0lOQ1JFRih1bmljb2RlKTsKLSAgICAgICAgICAgIHJldHVybiAoUHlPYmplY3QgKil1bmljb2RlOwotICAgICAgICB9Ci0KLSAgICAgICAgcmV0dXJuIFB5VW5pY29kZV9EZWNvZGVVVEY4KHUsIHNpemUsIE5VTEwpOwotICAgIH0KLQotICAgIHVuaWNvZGUgPSBfUHlVbmljb2RlX05ldyhzaXplKTsKLSAgICBpZiAoIXVuaWNvZGUpCi0gICAgICAgIHJldHVybiBOVUxMOwotCi0gICAgcmV0dXJuIChQeU9iamVjdCAqKXVuaWNvZGU7CisgICAgaWYgKHUgIT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIFB5VW5pY29kZV9EZWNvZGVVVEY4U3RhdGVmdWwodSwgc2l6ZSwgTlVMTCwgTlVMTCk7CisgICAgZWxzZQorICAgICAgICByZXR1cm4gKFB5T2JqZWN0ICopX1B5VW5pY29kZV9OZXcoc2l6ZSk7CiB9CiAKLVB5T2JqZWN0ICpQeVVuaWNvZGVfRnJvbVN0cmluZyhjb25zdCBjaGFyICp1KQorUHlPYmplY3QgKgorUHlVbmljb2RlX0Zyb21TdHJpbmcoY29uc3QgY2hhciAqdSkKIHsKICAgICBzaXplX3Qgc2l6ZSA9IHN0cmxlbih1KTsKICAgICBpZiAoc2l6ZSA+IFBZX1NTSVpFX1RfTUFYKSB7CiAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19PdmVyZmxvd0Vycm9yLCAiaW5wdXQgdG9vIGxvbmciKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQorICAgIHJldHVybiBQeVVuaWNvZGVfRGVjb2RlVVRGOFN0YXRlZnVsKHUsIChQeV9zc2l6ZV90KXNpemUsIE5VTEwsIE5VTEwpOworfQogCi0gICAgcmV0dXJuIFB5VW5pY29kZV9Gcm9tU3RyaW5nQW5kU2l6ZSh1LCBzaXplKTsKK1B5T2JqZWN0ICoKK19QeVVuaWNvZGVfRnJvbUlkKF9QeV9JZGVudGlmaWVyICppZCkKK3sKKyAgICBpZiAoIWlkLT5vYmplY3QpIHsKKyAgICAgICAgaWQtPm9iamVjdCA9IFB5VW5pY29kZV9EZWNvZGVVVEY4U3RhdGVmdWwoaWQtPnN0cmluZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RybGVuKGlkLT5zdHJpbmcpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCBOVUxMKTsKKyAgICAgICAgaWYgKCFpZC0+b2JqZWN0KQorICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIFB5VW5pY29kZV9JbnRlcm5JblBsYWNlKCZpZC0+b2JqZWN0KTsKKyAgICAgICAgYXNzZXJ0KCFpZC0+bmV4dCk7CisgICAgICAgIGlkLT5uZXh0ID0gc3RhdGljX3N0cmluZ3M7CisgICAgICAgIHN0YXRpY19zdHJpbmdzID0gaWQ7CisgICAgfQorICAgIHJldHVybiBpZC0+b2JqZWN0OworfQorCit2b2lkCitfUHlVbmljb2RlX0NsZWFyU3RhdGljU3RyaW5ncygpCit7CisgICAgX1B5X0lkZW50aWZpZXIgKmk7CisgICAgZm9yIChpID0gc3RhdGljX3N0cmluZ3M7IGk7IGkgPSBpLT5uZXh0KSB7CisgICAgICAgIFB5X0RFQ1JFRihpLT5vYmplY3QpOworICAgICAgICBpLT5vYmplY3QgPSBOVUxMOworICAgICAgICBpLT5uZXh0ID0gTlVMTDsKKyAgICB9Cit9CisKKy8qIEludGVybmFsIGZ1bmN0aW9uLCBkb24ndCBjaGVjayBtYXhpbXVtIGNoYXJhY3RlciAqLworCitzdGF0aWMgUHlPYmplY3QqCit1bmljb2RlX2Zyb21hc2NpaShjb25zdCB1bnNpZ25lZCBjaGFyKiBzLCBQeV9zc2l6ZV90IHNpemUpCit7CisgICAgUHlPYmplY3QgKnVuaWNvZGU7CisgICAgaWYgKHNpemUgPT0gMSkgeworI2lmZGVmIFB5X0RFQlVHCisgICAgICAgIGFzc2VydChzWzBdIDwgMTI4KTsKKyNlbmRpZgorICAgICAgICByZXR1cm4gZ2V0X2xhdGluMV9jaGFyKHNbMF0pOworICAgIH0KKyAgICB1bmljb2RlID0gUHlVbmljb2RlX05ldyhzaXplLCAxMjcpOworICAgIGlmICghdW5pY29kZSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgbWVtY3B5KFB5VW5pY29kZV8xQllURV9EQVRBKHVuaWNvZGUpLCBzLCBzaXplKTsKKyAgICBhc3NlcnQoX1B5VW5pY29kZV9DaGVja0NvbnNpc3RlbmN5KHVuaWNvZGUsIDEpKTsKKyAgICByZXR1cm4gdW5pY29kZTsKK30KKworc3RhdGljIFB5X1VDUzQKK2tpbmRfbWF4Y2hhcl9saW1pdCh1bnNpZ25lZCBpbnQga2luZCkKK3sKKyAgICBzd2l0Y2ggKGtpbmQpIHsKKyAgICBjYXNlIFB5VW5pY29kZV8xQllURV9LSU5EOgorICAgICAgICByZXR1cm4gMHg4MDsKKyAgICBjYXNlIFB5VW5pY29kZV8yQllURV9LSU5EOgorICAgICAgICByZXR1cm4gMHgxMDA7CisgICAgY2FzZSBQeVVuaWNvZGVfNEJZVEVfS0lORDoKKyAgICAgICAgcmV0dXJuIDB4MTAwMDA7CisgICAgZGVmYXVsdDoKKyAgICAgICAgYXNzZXJ0KDAgJiYgImludmFsaWQga2luZCIpOworICAgICAgICByZXR1cm4gTUFYX1VOSUNPREU7CisgICAgfQorfQorCitzdGF0aWMgUHlPYmplY3QqCitfUHlVbmljb2RlX0Zyb21VQ1MxKGNvbnN0IHVuc2lnbmVkIGNoYXIqIHUsIFB5X3NzaXplX3Qgc2l6ZSkKK3sKKyAgICBQeU9iamVjdCAqcmVzOworICAgIHVuc2lnbmVkIGNoYXIgbWF4X2NoYXI7CisKKyAgICBpZiAoc2l6ZSA9PSAwKSB7CisgICAgICAgIFB5X0lOQ1JFRih1bmljb2RlX2VtcHR5KTsKKyAgICAgICAgcmV0dXJuIHVuaWNvZGVfZW1wdHk7CisgICAgfQorICAgIGFzc2VydChzaXplID4gMCk7CisgICAgaWYgKHNpemUgPT0gMSkKKyAgICAgICAgcmV0dXJuIGdldF9sYXRpbjFfY2hhcih1WzBdKTsKKworICAgIG1heF9jaGFyID0gdWNzMWxpYl9maW5kX21heF9jaGFyKHUsIHUgKyBzaXplKTsKKyAgICByZXMgPSBQeVVuaWNvZGVfTmV3KHNpemUsIG1heF9jaGFyKTsKKyAgICBpZiAoIXJlcykKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgbWVtY3B5KFB5VW5pY29kZV8xQllURV9EQVRBKHJlcyksIHUsIHNpemUpOworICAgIGFzc2VydChfUHlVbmljb2RlX0NoZWNrQ29uc2lzdGVuY3kocmVzLCAxKSk7CisgICAgcmV0dXJuIHJlczsKK30KKworc3RhdGljIFB5T2JqZWN0KgorX1B5VW5pY29kZV9Gcm9tVUNTMihjb25zdCBQeV9VQ1MyICp1LCBQeV9zc2l6ZV90IHNpemUpCit7CisgICAgUHlPYmplY3QgKnJlczsKKyAgICBQeV9VQ1MyIG1heF9jaGFyOworCisgICAgaWYgKHNpemUgPT0gMCkgeworICAgICAgICBQeV9JTkNSRUYodW5pY29kZV9lbXB0eSk7CisgICAgICAgIHJldHVybiB1bmljb2RlX2VtcHR5OworICAgIH0KKyAgICBhc3NlcnQoc2l6ZSA+IDApOworICAgIGlmIChzaXplID09IDEgJiYgdVswXSA8IDI1NikKKyAgICAgICAgcmV0dXJuIGdldF9sYXRpbjFfY2hhcigodW5zaWduZWQgY2hhcil1WzBdKTsKKworICAgIG1heF9jaGFyID0gdWNzMmxpYl9maW5kX21heF9jaGFyKHUsIHUgKyBzaXplKTsKKyAgICByZXMgPSBQeVVuaWNvZGVfTmV3KHNpemUsIG1heF9jaGFyKTsKKyAgICBpZiAoIXJlcykKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgaWYgKG1heF9jaGFyID49IDI1NikKKyAgICAgICAgbWVtY3B5KFB5VW5pY29kZV8yQllURV9EQVRBKHJlcyksIHUsIHNpemVvZihQeV9VQ1MyKSpzaXplKTsKKyAgICBlbHNlIHsKKyAgICAgICAgX1B5VW5pY29kZV9DT05WRVJUX0JZVEVTKAorICAgICAgICAgICAgUHlfVUNTMiwgUHlfVUNTMSwgdSwgdSArIHNpemUsIFB5VW5pY29kZV8xQllURV9EQVRBKHJlcykpOworICAgIH0KKyAgICBhc3NlcnQoX1B5VW5pY29kZV9DaGVja0NvbnNpc3RlbmN5KHJlcywgMSkpOworICAgIHJldHVybiByZXM7Cit9CisKK3N0YXRpYyBQeU9iamVjdCoKK19QeVVuaWNvZGVfRnJvbVVDUzQoY29uc3QgUHlfVUNTNCAqdSwgUHlfc3NpemVfdCBzaXplKQoreworICAgIFB5T2JqZWN0ICpyZXM7CisgICAgUHlfVUNTNCBtYXhfY2hhcjsKKworICAgIGlmIChzaXplID09IDApIHsKKyAgICAgICAgUHlfSU5DUkVGKHVuaWNvZGVfZW1wdHkpOworICAgICAgICByZXR1cm4gdW5pY29kZV9lbXB0eTsKKyAgICB9CisgICAgYXNzZXJ0KHNpemUgPiAwKTsKKyAgICBpZiAoc2l6ZSA9PSAxICYmIHVbMF0gPCAyNTYpCisgICAgICAgIHJldHVybiBnZXRfbGF0aW4xX2NoYXIoKHVuc2lnbmVkIGNoYXIpdVswXSk7CisKKyAgICBtYXhfY2hhciA9IHVjczRsaWJfZmluZF9tYXhfY2hhcih1LCB1ICsgc2l6ZSk7CisgICAgcmVzID0gUHlVbmljb2RlX05ldyhzaXplLCBtYXhfY2hhcik7CisgICAgaWYgKCFyZXMpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIGlmIChtYXhfY2hhciA8IDI1NikKKyAgICAgICAgX1B5VW5pY29kZV9DT05WRVJUX0JZVEVTKFB5X1VDUzQsIFB5X1VDUzEsIHUsIHUgKyBzaXplLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlXzFCWVRFX0RBVEEocmVzKSk7CisgICAgZWxzZSBpZiAobWF4X2NoYXIgPCAweDEwMDAwKQorICAgICAgICBfUHlVbmljb2RlX0NPTlZFUlRfQllURVMoUHlfVUNTNCwgUHlfVUNTMiwgdSwgdSArIHNpemUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfMkJZVEVfREFUQShyZXMpKTsKKyAgICBlbHNlCisgICAgICAgIG1lbWNweShQeVVuaWNvZGVfNEJZVEVfREFUQShyZXMpLCB1LCBzaXplb2YoUHlfVUNTNCkqc2l6ZSk7CisgICAgYXNzZXJ0KF9QeVVuaWNvZGVfQ2hlY2tDb25zaXN0ZW5jeShyZXMsIDEpKTsKKyAgICByZXR1cm4gcmVzOworfQorCitQeU9iamVjdCoKK1B5VW5pY29kZV9Gcm9tS2luZEFuZERhdGEoaW50IGtpbmQsIGNvbnN0IHZvaWQgKmJ1ZmZlciwgUHlfc3NpemVfdCBzaXplKQoreworICAgIGlmIChzaXplIDwgMCkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwgInNpemUgbXVzdCBiZSBwb3NpdGl2ZSIpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisgICAgc3dpdGNoIChraW5kKSB7CisgICAgY2FzZSBQeVVuaWNvZGVfMUJZVEVfS0lORDoKKyAgICAgICAgcmV0dXJuIF9QeVVuaWNvZGVfRnJvbVVDUzEoYnVmZmVyLCBzaXplKTsKKyAgICBjYXNlIFB5VW5pY29kZV8yQllURV9LSU5EOgorICAgICAgICByZXR1cm4gX1B5VW5pY29kZV9Gcm9tVUNTMihidWZmZXIsIHNpemUpOworICAgIGNhc2UgUHlVbmljb2RlXzRCWVRFX0tJTkQ6CisgICAgICAgIHJldHVybiBfUHlVbmljb2RlX0Zyb21VQ1M0KGJ1ZmZlciwgc2l6ZSk7CisgICAgZGVmYXVsdDoKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1N5c3RlbUVycm9yLCAiaW52YWxpZCBraW5kIik7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KK30KKworLyogRW5zdXJlIHRoYXQgYSBzdHJpbmcgdXNlcyB0aGUgbW9zdCBlZmZpY2llbnQgc3RvcmFnZSwgaWYgaXQgaXMgbm90IHRoZQorICAgY2FzZTogY3JlYXRlIGEgbmV3IHN0cmluZyB3aXRoIG9mIHRoZSByaWdodCBraW5kLiBXcml0ZSBOVUxMIGludG8gKnBfdW5pY29kZQorICAgb24gZXJyb3IuICovCitzdGF0aWMgdm9pZAordW5pY29kZV9hZGp1c3RfbWF4Y2hhcihQeU9iamVjdCAqKnBfdW5pY29kZSkKK3sKKyAgICBQeU9iamVjdCAqdW5pY29kZSwgKmNvcHk7CisgICAgUHlfVUNTNCBtYXhfY2hhcjsKKyAgICBQeV9zc2l6ZV90IGxlbjsKKyAgICB1bnNpZ25lZCBpbnQga2luZDsKKworICAgIGFzc2VydChwX3VuaWNvZGUgIT0gTlVMTCk7CisgICAgdW5pY29kZSA9ICpwX3VuaWNvZGU7CisgICAgYXNzZXJ0KFB5VW5pY29kZV9JU19SRUFEWSh1bmljb2RlKSk7CisgICAgaWYgKFB5VW5pY29kZV9JU19BU0NJSSh1bmljb2RlKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgbGVuID0gUHlVbmljb2RlX0dFVF9MRU5HVEgodW5pY29kZSk7CisgICAga2luZCA9IFB5VW5pY29kZV9LSU5EKHVuaWNvZGUpOworICAgIGlmIChraW5kID09IFB5VW5pY29kZV8xQllURV9LSU5EKSB7CisgICAgICAgIGNvbnN0IFB5X1VDUzEgKnUgPSBQeVVuaWNvZGVfMUJZVEVfREFUQSh1bmljb2RlKTsKKyAgICAgICAgbWF4X2NoYXIgPSB1Y3MxbGliX2ZpbmRfbWF4X2NoYXIodSwgdSArIGxlbik7CisgICAgICAgIGlmIChtYXhfY2hhciA+PSAxMjgpCisgICAgICAgICAgICByZXR1cm47CisgICAgfQorICAgIGVsc2UgaWYgKGtpbmQgPT0gUHlVbmljb2RlXzJCWVRFX0tJTkQpIHsKKyAgICAgICAgY29uc3QgUHlfVUNTMiAqdSA9IFB5VW5pY29kZV8yQllURV9EQVRBKHVuaWNvZGUpOworICAgICAgICBtYXhfY2hhciA9IHVjczJsaWJfZmluZF9tYXhfY2hhcih1LCB1ICsgbGVuKTsKKyAgICAgICAgaWYgKG1heF9jaGFyID49IDI1NikKKyAgICAgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIGNvbnN0IFB5X1VDUzQgKnUgPSBQeVVuaWNvZGVfNEJZVEVfREFUQSh1bmljb2RlKTsKKyAgICAgICAgYXNzZXJ0KGtpbmQgPT0gUHlVbmljb2RlXzRCWVRFX0tJTkQpOworICAgICAgICBtYXhfY2hhciA9IHVjczRsaWJfZmluZF9tYXhfY2hhcih1LCB1ICsgbGVuKTsKKyAgICAgICAgaWYgKG1heF9jaGFyID49IDB4MTAwMDApCisgICAgICAgICAgICByZXR1cm47CisgICAgfQorICAgIGNvcHkgPSBQeVVuaWNvZGVfTmV3KGxlbiwgbWF4X2NoYXIpOworICAgIGNvcHlfY2hhcmFjdGVycyhjb3B5LCAwLCB1bmljb2RlLCAwLCBsZW4pOworICAgIFB5X0RFQ1JFRih1bmljb2RlKTsKKyAgICAqcF91bmljb2RlID0gY29weTsKK30KKworUHlPYmplY3QqCitfUHlVbmljb2RlX0NvcHkoUHlPYmplY3QgKnVuaWNvZGUpCit7CisgICAgUHlfc3NpemVfdCBsZW5ndGg7CisgICAgUHlPYmplY3QgKmNvcHk7CisKKyAgICBpZiAoIVB5VW5pY29kZV9DaGVjayh1bmljb2RlKSkgeworICAgICAgICBQeUVycl9CYWRJbnRlcm5hbENhbGwoKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorICAgIGlmIChQeVVuaWNvZGVfUkVBRFkodW5pY29kZSkgPT0gLTEpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgbGVuZ3RoID0gUHlVbmljb2RlX0dFVF9MRU5HVEgodW5pY29kZSk7CisgICAgY29weSA9IFB5VW5pY29kZV9OZXcobGVuZ3RoLCBQeVVuaWNvZGVfTUFYX0NIQVJfVkFMVUUodW5pY29kZSkpOworICAgIGlmICghY29weSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgYXNzZXJ0KFB5VW5pY29kZV9LSU5EKGNvcHkpID09IFB5VW5pY29kZV9LSU5EKHVuaWNvZGUpKTsKKworICAgIFB5X01FTUNQWShQeVVuaWNvZGVfREFUQShjb3B5KSwgUHlVbmljb2RlX0RBVEEodW5pY29kZSksCisgICAgICAgICAgICAgIGxlbmd0aCAqIFB5VW5pY29kZV9LSU5EKHVuaWNvZGUpKTsKKyAgICBhc3NlcnQoX1B5VW5pY29kZV9DaGVja0NvbnNpc3RlbmN5KGNvcHksIDEpKTsKKyAgICByZXR1cm4gY29weTsKK30KKworCisvKiBXaWRlbiBVbmljb2RlIG9iamVjdHMgdG8gbGFyZ2VyIGJ1ZmZlcnMuIERvbid0IHdyaXRlIHRlcm1pbmF0aW5nIG51bGwKKyAgIGNoYXJhY3Rlci4gUmV0dXJuIE5VTEwgb24gZXJyb3IuICovCisKK3ZvaWQqCitfUHlVbmljb2RlX0FzS2luZChQeU9iamVjdCAqcywgdW5zaWduZWQgaW50IGtpbmQpCit7CisgICAgUHlfc3NpemVfdCBsZW47CisgICAgdm9pZCAqcmVzdWx0OworICAgIHVuc2lnbmVkIGludCBza2luZDsKKworICAgIGlmIChQeVVuaWNvZGVfUkVBRFkocykgPT0gLTEpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgbGVuID0gUHlVbmljb2RlX0dFVF9MRU5HVEgocyk7CisgICAgc2tpbmQgPSBQeVVuaWNvZGVfS0lORChzKTsKKyAgICBpZiAoc2tpbmQgPj0ga2luZCkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfU3lzdGVtRXJyb3IsICJpbnZhbGlkIHdpZGVuaW5nIGF0dGVtcHQiKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorICAgIHN3aXRjaCAoa2luZCkgeworICAgIGNhc2UgUHlVbmljb2RlXzJCWVRFX0tJTkQ6CisgICAgICAgIHJlc3VsdCA9IFB5TWVtX01hbGxvYyhsZW4gKiBzaXplb2YoUHlfVUNTMikpOworICAgICAgICBpZiAoIXJlc3VsdCkKKyAgICAgICAgICAgIHJldHVybiBQeUVycl9Ob01lbW9yeSgpOworICAgICAgICBhc3NlcnQoc2tpbmQgPT0gUHlVbmljb2RlXzFCWVRFX0tJTkQpOworICAgICAgICBfUHlVbmljb2RlX0NPTlZFUlRfQllURVMoCisgICAgICAgICAgICBQeV9VQ1MxLCBQeV9VQ1MyLAorICAgICAgICAgICAgUHlVbmljb2RlXzFCWVRFX0RBVEEocyksCisgICAgICAgICAgICBQeVVuaWNvZGVfMUJZVEVfREFUQShzKSArIGxlbiwKKyAgICAgICAgICAgIHJlc3VsdCk7CisgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgY2FzZSBQeVVuaWNvZGVfNEJZVEVfS0lORDoKKyAgICAgICAgcmVzdWx0ID0gUHlNZW1fTWFsbG9jKGxlbiAqIHNpemVvZihQeV9VQ1M0KSk7CisgICAgICAgIGlmICghcmVzdWx0KQorICAgICAgICAgICAgcmV0dXJuIFB5RXJyX05vTWVtb3J5KCk7CisgICAgICAgIGlmIChza2luZCA9PSBQeVVuaWNvZGVfMkJZVEVfS0lORCkgeworICAgICAgICAgICAgX1B5VW5pY29kZV9DT05WRVJUX0JZVEVTKAorICAgICAgICAgICAgICAgIFB5X1VDUzIsIFB5X1VDUzQsCisgICAgICAgICAgICAgICAgUHlVbmljb2RlXzJCWVRFX0RBVEEocyksCisgICAgICAgICAgICAgICAgUHlVbmljb2RlXzJCWVRFX0RBVEEocykgKyBsZW4sCisgICAgICAgICAgICAgICAgcmVzdWx0KTsKKyAgICAgICAgfQorICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIGFzc2VydChza2luZCA9PSBQeVVuaWNvZGVfMUJZVEVfS0lORCk7CisgICAgICAgICAgICBfUHlVbmljb2RlX0NPTlZFUlRfQllURVMoCisgICAgICAgICAgICAgICAgUHlfVUNTMSwgUHlfVUNTNCwKKyAgICAgICAgICAgICAgICBQeVVuaWNvZGVfMUJZVEVfREFUQShzKSwKKyAgICAgICAgICAgICAgICBQeVVuaWNvZGVfMUJZVEVfREFUQShzKSArIGxlbiwKKyAgICAgICAgICAgICAgICByZXN1bHQpOworICAgICAgICB9CisgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgZGVmYXVsdDoKKyAgICAgICAgYnJlYWs7CisgICAgfQorICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19TeXN0ZW1FcnJvciwgImludmFsaWQga2luZCIpOworICAgIHJldHVybiBOVUxMOworfQorCitzdGF0aWMgUHlfVUNTNCoKK2FzX3VjczQoUHlPYmplY3QgKnN0cmluZywgUHlfVUNTNCAqdGFyZ2V0LCBQeV9zc2l6ZV90IHRhcmdldHNpemUsCisgICAgICAgIGludCBjb3B5X251bGwpCit7CisgICAgaW50IGtpbmQ7CisgICAgdm9pZCAqZGF0YTsKKyAgICBQeV9zc2l6ZV90IGxlbiwgdGFyZ2V0bGVuOworICAgIGlmIChQeVVuaWNvZGVfUkVBRFkoc3RyaW5nKSA9PSAtMSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAga2luZCA9IFB5VW5pY29kZV9LSU5EKHN0cmluZyk7CisgICAgZGF0YSA9IFB5VW5pY29kZV9EQVRBKHN0cmluZyk7CisgICAgbGVuID0gUHlVbmljb2RlX0dFVF9MRU5HVEgoc3RyaW5nKTsKKyAgICB0YXJnZXRsZW4gPSBsZW47CisgICAgaWYgKGNvcHlfbnVsbCkKKyAgICAgICAgdGFyZ2V0bGVuKys7CisgICAgaWYgKCF0YXJnZXQpIHsKKyAgICAgICAgaWYgKFBZX1NTSVpFX1RfTUFYIC8gc2l6ZW9mKFB5X1VDUzQpIDwgdGFyZ2V0bGVuKSB7CisgICAgICAgICAgICBQeUVycl9Ob01lbW9yeSgpOworICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIH0KKyAgICAgICAgdGFyZ2V0ID0gUHlNZW1fTWFsbG9jKHRhcmdldGxlbiAqIHNpemVvZihQeV9VQ1M0KSk7CisgICAgICAgIGlmICghdGFyZ2V0KSB7CisgICAgICAgICAgICBQeUVycl9Ob01lbW9yeSgpOworICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIH0KKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIGlmICh0YXJnZXRzaXplIDwgdGFyZ2V0bGVuKSB7CisgICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfU3lzdGVtRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgInN0cmluZyBpcyBsb25nZXIgdGhhbiB0aGUgYnVmZmVyIik7CisgICAgICAgICAgICBpZiAoY29weV9udWxsICYmIDAgPCB0YXJnZXRzaXplKQorICAgICAgICAgICAgICAgIHRhcmdldFswXSA9IDA7CisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgfQorICAgIH0KKyAgICBpZiAoa2luZCA9PSBQeVVuaWNvZGVfMUJZVEVfS0lORCkgeworICAgICAgICBQeV9VQ1MxICpzdGFydCA9IChQeV9VQ1MxICopIGRhdGE7CisgICAgICAgIF9QeVVuaWNvZGVfQ09OVkVSVF9CWVRFUyhQeV9VQ1MxLCBQeV9VQ1M0LCBzdGFydCwgc3RhcnQgKyBsZW4sIHRhcmdldCk7CisgICAgfQorICAgIGVsc2UgaWYgKGtpbmQgPT0gUHlVbmljb2RlXzJCWVRFX0tJTkQpIHsKKyAgICAgICAgUHlfVUNTMiAqc3RhcnQgPSAoUHlfVUNTMiAqKSBkYXRhOworICAgICAgICBfUHlVbmljb2RlX0NPTlZFUlRfQllURVMoUHlfVUNTMiwgUHlfVUNTNCwgc3RhcnQsIHN0YXJ0ICsgbGVuLCB0YXJnZXQpOworICAgIH0KKyAgICBlbHNlIHsKKyAgICAgICAgYXNzZXJ0KGtpbmQgPT0gUHlVbmljb2RlXzRCWVRFX0tJTkQpOworICAgICAgICBQeV9NRU1DUFkodGFyZ2V0LCBkYXRhLCBsZW4gKiBzaXplb2YoUHlfVUNTNCkpOworICAgIH0KKyAgICBpZiAoY29weV9udWxsKQorICAgICAgICB0YXJnZXRbbGVuXSA9IDA7CisgICAgcmV0dXJuIHRhcmdldDsKK30KKworUHlfVUNTNCoKK1B5VW5pY29kZV9Bc1VDUzQoUHlPYmplY3QgKnN0cmluZywgUHlfVUNTNCAqdGFyZ2V0LCBQeV9zc2l6ZV90IHRhcmdldHNpemUsCisgICAgICAgICAgICAgICAgIGludCBjb3B5X251bGwpCit7CisgICAgaWYgKHRhcmdldCA9PSBOVUxMIHx8IHRhcmdldHNpemUgPCAwKSB7CisgICAgICAgIFB5RXJyX0JhZEludGVybmFsQ2FsbCgpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisgICAgcmV0dXJuIGFzX3VjczQoc3RyaW5nLCB0YXJnZXQsIHRhcmdldHNpemUsIGNvcHlfbnVsbCk7Cit9CisKK1B5X1VDUzQqCitQeVVuaWNvZGVfQXNVQ1M0Q29weShQeU9iamVjdCAqc3RyaW5nKQoreworICAgIHJldHVybiBhc191Y3M0KHN0cmluZywgTlVMTCwgMCwgMSk7CiB9CiAKICNpZmRlZiBIQVZFX1dDSEFSX0gKIAotI2lmIChQeV9VTklDT0RFX1NJWkUgPT0gMikgJiYgZGVmaW5lZChTSVpFT0ZfV0NIQVJfVCkgJiYgKFNJWkVPRl9XQ0hBUl9UID09IDQpCi0jIGRlZmluZSBDT05WRVJUX1dDSEFSX1RPX1NVUlJPR0FURVMKLSNlbmRpZgotCi0jaWZkZWYgQ09OVkVSVF9XQ0hBUl9UT19TVVJST0dBVEVTCi0KLS8qIEhlcmUgc2l6ZW9mKHdjaGFyX3QpIGlzIDQgYnV0IFB5X1VOSUNPREVfU0laRSA9PSAyLCBzbyB3ZSBuZWVkCi0gICB0byBjb252ZXJ0IGZyb20gVVRGMzIgdG8gVVRGMTYuICovCi0KLVB5T2JqZWN0ICpQeVVuaWNvZGVfRnJvbVdpZGVDaGFyKHJlZ2lzdGVyIGNvbnN0IHdjaGFyX3QgKncsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IHNpemUpCitQeU9iamVjdCAqCitQeVVuaWNvZGVfRnJvbVdpZGVDaGFyKHJlZ2lzdGVyIGNvbnN0IHdjaGFyX3QgKncsIFB5X3NzaXplX3Qgc2l6ZSkKIHsKLSAgICBQeVVuaWNvZGVPYmplY3QgKnVuaWNvZGU7Ci0gICAgcmVnaXN0ZXIgUHlfc3NpemVfdCBpOwotICAgIFB5X3NzaXplX3QgYWxsb2M7Ci0gICAgY29uc3Qgd2NoYXJfdCAqb3JpZ193OwotCiAgICAgaWYgKHcgPT0gTlVMTCkgewotICAgICAgICBpZiAoc2l6ZSA9PSAwKQotICAgICAgICAgICAgcmV0dXJuIFB5VW5pY29kZV9Gcm9tU3RyaW5nQW5kU2l6ZShOVUxMLCAwKTsKLSAgICAgICAgUHlFcnJfQmFkSW50ZXJuYWxDYWxsKCk7Ci0gICAgICAgIHJldHVybiBOVUxMOwotICAgIH0KLQotICAgIGlmIChzaXplID09IC0xKSB7Ci0gICAgICAgIHNpemUgPSB3Y3NsZW4odyk7Ci0gICAgfQotCi0gICAgYWxsb2MgPSBzaXplOwotICAgIG9yaWdfdyA9IHc7Ci0gICAgZm9yIChpID0gc2l6ZTsgaSA+IDA7IGktLSkgewotICAgICAgICBpZiAoKncgPiAweEZGRkYpCi0gICAgICAgICAgICBhbGxvYysrOwotICAgICAgICB3Kys7Ci0gICAgfQotICAgIHcgPSBvcmlnX3c7Ci0gICAgdW5pY29kZSA9IF9QeVVuaWNvZGVfTmV3KGFsbG9jKTsKLSAgICBpZiAoIXVuaWNvZGUpCi0gICAgICAgIHJldHVybiBOVUxMOwotCi0gICAgLyogQ29weSB0aGUgd2NoYXJfdCBkYXRhIGludG8gdGhlIG5ldyBvYmplY3QgKi8KLSAgICB7Ci0gICAgICAgIHJlZ2lzdGVyIFB5X1VOSUNPREUgKnU7Ci0gICAgICAgIHUgPSBQeVVuaWNvZGVfQVNfVU5JQ09ERSh1bmljb2RlKTsKLSAgICAgICAgZm9yIChpID0gc2l6ZTsgaSA+IDA7IGktLSkgewotICAgICAgICAgICAgaWYgKCp3ID4gMHhGRkZGKSB7Ci0gICAgICAgICAgICAgICAgd2NoYXJfdCBvcmRpbmFsID0gKncrKzsKLSAgICAgICAgICAgICAgICBvcmRpbmFsIC09IDB4MTAwMDA7Ci0gICAgICAgICAgICAgICAgKnUrKyA9IDB4RDgwMCB8IChvcmRpbmFsID4+IDEwKTsKLSAgICAgICAgICAgICAgICAqdSsrID0gMHhEQzAwIHwgKG9yZGluYWwgJiAweDNGRik7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgKnUrKyA9ICp3Kys7CisgICAgICAgIGlmIChzaXplID09IDApIHsKKyAgICAgICAgICAgIFB5X0lOQ1JFRih1bmljb2RlX2VtcHR5KTsKKyAgICAgICAgICAgIHJldHVybiB1bmljb2RlX2VtcHR5OwogICAgICAgICB9Ci0gICAgfQotICAgIHJldHVybiAoUHlPYmplY3QgKil1bmljb2RlOwotfQotCi0jZWxzZQotCi1QeU9iamVjdCAqUHlVbmljb2RlX0Zyb21XaWRlQ2hhcihyZWdpc3RlciBjb25zdCB3Y2hhcl90ICp3LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBzaXplKQotewotICAgIFB5VW5pY29kZU9iamVjdCAqdW5pY29kZTsKLQotICAgIGlmICh3ID09IE5VTEwpIHsKLSAgICAgICAgaWYgKHNpemUgPT0gMCkKLSAgICAgICAgICAgIHJldHVybiBQeVVuaWNvZGVfRnJvbVN0cmluZ0FuZFNpemUoTlVMTCwgMCk7CiAgICAgICAgIFB5RXJyX0JhZEludGVybmFsQ2FsbCgpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CkBAIC02NDcsMjkgKzIxNzIsMTAgQEAKICAgICAgICAgc2l6ZSA9IHdjc2xlbih3KTsKICAgICB9CiAKLSAgICB1bmljb2RlID0gX1B5VW5pY29kZV9OZXcoc2l6ZSk7Ci0gICAgaWYgKCF1bmljb2RlKQotICAgICAgICByZXR1cm4gTlVMTDsKLQotICAgIC8qIENvcHkgdGhlIHdjaGFyX3QgZGF0YSBpbnRvIHRoZSBuZXcgb2JqZWN0ICovCi0jaWYgUHlfVU5JQ09ERV9TSVpFID09IFNJWkVPRl9XQ0hBUl9UCi0gICAgbWVtY3B5KHVuaWNvZGUtPnN0ciwgdywgc2l6ZSAqIHNpemVvZih3Y2hhcl90KSk7Ci0jZWxzZQotICAgIHsKLSAgICAgICAgcmVnaXN0ZXIgUHlfVU5JQ09ERSAqdTsKLSAgICAgICAgcmVnaXN0ZXIgUHlfc3NpemVfdCBpOwotICAgICAgICB1ID0gUHlVbmljb2RlX0FTX1VOSUNPREUodW5pY29kZSk7Ci0gICAgICAgIGZvciAoaSA9IHNpemU7IGkgPiAwOyBpLS0pCi0gICAgICAgICAgICAqdSsrID0gKncrKzsKLSAgICB9Ci0jZW5kaWYKLQotICAgIHJldHVybiAoUHlPYmplY3QgKil1bmljb2RlOworICAgIHJldHVybiBQeVVuaWNvZGVfRnJvbVVuaWNvZGUodywgc2l6ZSk7CiB9CiAKLSNlbmRpZiAvKiBDT05WRVJUX1dDSEFSX1RPX1NVUlJPR0FURVMgKi8KLQotI3VuZGVmIENPTlZFUlRfV0NIQVJfVE9fU1VSUk9HQVRFUworI2VuZGlmIC8qIEhBVkVfV0NIQVJfSCAqLwogCiBzdGF0aWMgdm9pZAogbWFrZWZtdChjaGFyICpmbXQsIGludCBsb25nZmxhZywgaW50IGxvbmdsb25nZmxhZywgaW50IHNpemVfdGZsYWcsCkBAIC03MDcsMTAgKzIyMTMsNzEgQEAKICAgICAqZm10ID0gJ1wwJzsKIH0KIAotI2RlZmluZSBhcHBlbmRzdHJpbmcoc3RyaW5nKSB7Zm9yIChjb3B5ID0gc3RyaW5nOypjb3B5OykgKnMrKyA9ICpjb3B5Kys7fQorLyogaGVscGVyIGZvciBQeVVuaWNvZGVfRnJvbUZvcm1hdFYoKSAqLwogCi0vKiBzaXplIG9mIGZpeGVkLXNpemUgYnVmZmVyIGZvciBmb3JtYXR0aW5nIHNpbmdsZSBhcmd1bWVudHMgKi8KLSNkZWZpbmUgSVRFTV9CVUZGRVJfTEVOIDIxCitzdGF0aWMgY29uc3QgY2hhcioKK3BhcnNlX2Zvcm1hdF9mbGFncyhjb25zdCBjaGFyICpmLAorICAgICAgICAgICAgICAgICAgIGludCAqcF93aWR0aCwgaW50ICpwX3ByZWNpc2lvbiwKKyAgICAgICAgICAgICAgICAgICBpbnQgKnBfbG9uZ2ZsYWcsIGludCAqcF9sb25nbG9uZ2ZsYWcsIGludCAqcF9zaXplX3RmbGFnKQoreworICAgIGludCB3aWR0aCwgcHJlY2lzaW9uLCBsb25nZmxhZywgbG9uZ2xvbmdmbGFnLCBzaXplX3RmbGFnOworCisgICAgLyogcGFyc2UgdGhlIHdpZHRoLnByZWNpc2lvbiBwYXJ0LCBlLmcuICIlMi41cyIgPT4gd2lkdGg9MiwgcHJlY2lzaW9uPTUgKi8KKyAgICBmKys7CisgICAgd2lkdGggPSAwOworICAgIHdoaWxlIChQeV9JU0RJR0lUKCh1bnNpZ25lZCkqZikpCisgICAgICAgIHdpZHRoID0gKHdpZHRoKjEwKSArICpmKysgLSAnMCc7CisgICAgcHJlY2lzaW9uID0gMDsKKyAgICBpZiAoKmYgPT0gJy4nKSB7CisgICAgICAgIGYrKzsKKyAgICAgICAgd2hpbGUgKFB5X0lTRElHSVQoKHVuc2lnbmVkKSpmKSkKKyAgICAgICAgICAgIHByZWNpc2lvbiA9IChwcmVjaXNpb24qMTApICsgKmYrKyAtICcwJzsKKyAgICAgICAgaWYgKCpmID09ICclJykgeworICAgICAgICAgICAgLyogIiUuMyVzIiA9PiBmIHBvaW50cyB0byAiMyIgKi8KKyAgICAgICAgICAgIGYtLTsKKyAgICAgICAgfQorICAgIH0KKyAgICBpZiAoKmYgPT0gJ1wwJykgeworICAgICAgICAvKiBib2d1cyBmb3JtYXQgIiUuMSIgPT4gZ28gYmFja3dhcmQsIGYgcG9pbnRzIHRvICIxIiAqLworICAgICAgICBmLS07CisgICAgfQorICAgIGlmIChwX3dpZHRoICE9IE5VTEwpCisgICAgICAgICpwX3dpZHRoID0gd2lkdGg7CisgICAgaWYgKHBfcHJlY2lzaW9uICE9IE5VTEwpCisgICAgICAgICpwX3ByZWNpc2lvbiA9IHByZWNpc2lvbjsKKworICAgIC8qIEhhbmRsZSAlbGQsICVsdSwgJWxsZCBhbmQgJWxsdS4gKi8KKyAgICBsb25nZmxhZyA9IDA7CisgICAgbG9uZ2xvbmdmbGFnID0gMDsKKyAgICBzaXplX3RmbGFnID0gMDsKKworICAgIGlmICgqZiA9PSAnbCcpIHsKKyAgICAgICAgaWYgKGZbMV0gPT0gJ2QnIHx8IGZbMV0gPT0gJ3UnIHx8IGZbMV0gPT0gJ2knKSB7CisgICAgICAgICAgICBsb25nZmxhZyA9IDE7CisgICAgICAgICAgICArK2Y7CisgICAgICAgIH0KKyNpZmRlZiBIQVZFX0xPTkdfTE9ORworICAgICAgICBlbHNlIGlmIChmWzFdID09ICdsJyAmJgorICAgICAgICAgICAgICAgICAoZlsyXSA9PSAnZCcgfHwgZlsyXSA9PSAndScgfHwgZlsyXSA9PSAnaScpKSB7CisgICAgICAgICAgICBsb25nbG9uZ2ZsYWcgPSAxOworICAgICAgICAgICAgZiArPSAyOworICAgICAgICB9CisjZW5kaWYKKyAgICB9CisgICAgLyogaGFuZGxlIHRoZSBzaXplX3QgZmxhZy4gKi8KKyAgICBlbHNlIGlmICgqZiA9PSAneicgJiYgKGZbMV0gPT0gJ2QnIHx8IGZbMV0gPT0gJ3UnIHx8IGZbMV0gPT0gJ2knKSkgeworICAgICAgICBzaXplX3RmbGFnID0gMTsKKyAgICAgICAgKytmOworICAgIH0KKyAgICBpZiAocF9sb25nZmxhZyAhPSBOVUxMKQorICAgICAgICAqcF9sb25nZmxhZyA9IGxvbmdmbGFnOworICAgIGlmIChwX2xvbmdsb25nZmxhZyAhPSBOVUxMKQorICAgICAgICAqcF9sb25nbG9uZ2ZsYWcgPSBsb25nbG9uZ2ZsYWc7CisgICAgaWYgKHBfc2l6ZV90ZmxhZyAhPSBOVUxMKQorICAgICAgICAqcF9zaXplX3RmbGFnID0gc2l6ZV90ZmxhZzsKKyAgICByZXR1cm4gZjsKK30KKwogLyogbWF4aW11bSBudW1iZXIgb2YgY2hhcmFjdGVycyByZXF1aXJlZCBmb3Igb3V0cHV0IG9mICVsZC4gIDIxIGNoYXJhY3RlcnMKICAgIGFsbG93cyBmb3IgNjQtYml0IGludGVnZXJzIChpbiBkZWNpbWFsKSBhbmQgYW4gb3B0aW9uYWwgc2lnbi4gKi8KICNkZWZpbmUgTUFYX0xPTkdfQ0hBUlMgMjEKQEAgLTczMSwxMDYgKzIyOTgsMzUgQEAKICAgICBpbnQgcHJlY2lzaW9uID0gMDsKICAgICBpbnQgemVyb3BhZDsKICAgICBjb25zdCBjaGFyKiBmOwotICAgIFB5X1VOSUNPREUgKnM7CiAgICAgUHlPYmplY3QgKnN0cmluZzsKICAgICAvKiB1c2VkIGJ5IHNwcmludGYgKi8KLSAgICBjaGFyIGJ1ZmZlcltJVEVNX0JVRkZFUl9MRU4rMV07Ci0gICAgLyogdXNlIGFidWZmZXIgaW5zdGVhZCBvZiBidWZmZXIsIGlmIHdlIG5lZWQgbW9yZSBzcGFjZQotICAgICAqICh3aGljaCBjYW4gaGFwcGVuIGlmIHRoZXJlJ3MgYSBmb3JtYXQgc3BlY2lmaWVyIHdpdGggd2lkdGgpLiAqLwotICAgIGNoYXIgKmFidWZmZXIgPSBOVUxMOwotICAgIGNoYXIgKnJlYWxidWZmZXI7Ci0gICAgUHlfc3NpemVfdCBhYnVmZmVyc2l6ZSA9IDA7CiAgICAgY2hhciBmbXRbNjFdOyAvKiBzaG91bGQgYmUgZW5vdWdoIGZvciAlMHdpZHRoLnByZWNpc2lvbmxsZCAqLwotICAgIGNvbnN0IGNoYXIgKmNvcHk7CisgICAgUHlfVUNTNCBtYXhjaGFyID0gMTI3OyAvKiByZXN1bHQgaXMgQVNDSUkgYnkgZGVmYXVsdCAqLworICAgIFB5X1VDUzQgYXJnbWF4Y2hhcjsKKyAgICBQeV9zc2l6ZV90IG51bWJlcnNpemUgPSAwOworICAgIGNoYXIgKm51bWJlcnJlc3VsdHMgPSBOVUxMOworICAgIGNoYXIgKm51bWJlcnJlc3VsdCA9IE5VTEw7CisgICAgUHlfc3NpemVfdCBpOworICAgIGludCBraW5kOworICAgIHZvaWQgKmRhdGE7CiAKICAgICBQeV9WQV9DT1BZKGNvdW50LCB2YXJncyk7CiAgICAgLyogc3RlcCAxOiBjb3VudCB0aGUgbnVtYmVyIG9mICVTLyVSLyVBLyVzIGZvcm1hdCBzcGVjaWZpY2F0aW9ucwogICAgICAqICh3ZSBjYWxsIFB5T2JqZWN0X1N0cigpL1B5T2JqZWN0X1JlcHIoKS9QeU9iamVjdF9BU0NJSSgpLwogICAgICAqIFB5VW5pY29kZV9EZWNvZGVVVEY4KCkgZm9yIHRoZXNlIG9iamVjdHMgb25jZSBkdXJpbmcgc3RlcCAzIGFuZCBwdXQgdGhlCi0gICAgICogcmVzdWx0IGluIGFuIGFycmF5KSAqLwotICAgIGZvciAoZiA9IGZvcm1hdDsgKmY7IGYrKykgewotICAgICAgICAgaWYgKCpmID09ICclJykgewotICAgICAgICAgICAgIGlmICgqKGYrMSk9PSclJykKLSAgICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICAgaWYgKCooZisxKT09J1MnIHx8ICooZisxKT09J1InIHx8ICooZisxKT09J0EnIHx8ICooZisxKSA9PSAnVicpCi0gICAgICAgICAgICAgICAgICsrY2FsbGNvdW50OwotICAgICAgICAgICAgIHdoaWxlIChQeV9JU0RJR0lUKCh1bnNpZ25lZCkqZikpCi0gICAgICAgICAgICAgICAgIHdpZHRoID0gKHdpZHRoKjEwKSArICpmKysgLSAnMCc7Ci0gICAgICAgICAgICAgd2hpbGUgKCorK2YgJiYgKmYgIT0gJyUnICYmICFQeV9JU0FMUEhBKCh1bnNpZ25lZCkqZikpCi0gICAgICAgICAgICAgICAgIDsKLSAgICAgICAgICAgICBpZiAoKmYgPT0gJ3MnKQotICAgICAgICAgICAgICAgICArK2NhbGxjb3VudDsKLSAgICAgICAgIH0KLSAgICAgICAgIGVsc2UgaWYgKDEyOCA8PSAodW5zaWduZWQgY2hhcikqZikgewotICAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19WYWx1ZUVycm9yLAotICAgICAgICAgICAgICAgICJQeVVuaWNvZGVfRnJvbUZvcm1hdFYoKSBleHBlY3RzIGFuIEFTQ0lJLWVuY29kZWQgZm9ybWF0ICIKLSAgICAgICAgICAgICAgICAic3RyaW5nLCBnb3QgYSBub24tQVNDSUkgYnl0ZTogMHglMDJ4IiwKLSAgICAgICAgICAgICAgICAodW5zaWduZWQgY2hhcikqZik7Ci0gICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgICB9Ci0gICAgfQotICAgIC8qIHN0ZXAgMjogYWxsb2NhdGUgbWVtb3J5IGZvciB0aGUgcmVzdWx0cyBvZgotICAgICAqIFB5T2JqZWN0X1N0cigpL1B5T2JqZWN0X1JlcHIoKS9QeVVuaWNvZGVfRGVjb2RlVVRGOCgpIGNhbGxzICovCi0gICAgaWYgKGNhbGxjb3VudCkgewotICAgICAgICBjYWxscmVzdWx0cyA9IFB5T2JqZWN0X01hbGxvYyhzaXplb2YoUHlPYmplY3QgKikqY2FsbGNvdW50KTsKLSAgICAgICAgaWYgKCFjYWxscmVzdWx0cykgewotICAgICAgICAgICAgUHlFcnJfTm9NZW1vcnkoKTsKLSAgICAgICAgICAgIHJldHVybiBOVUxMOwotICAgICAgICB9Ci0gICAgICAgIGNhbGxyZXN1bHQgPSBjYWxscmVzdWx0czsKLSAgICB9Ci0gICAgLyogc3RlcCAzOiBmaWd1cmUgb3V0IGhvdyBsYXJnZSBhIGJ1ZmZlciB3ZSBuZWVkICovCisgICAgICogcmVzdWx0IGluIGFuIGFycmF5KQorICAgICAqIGFsc28gZXN0aW1hdGUgYSB1cHBlciBib3VuZCBmb3IgYWxsIHRoZSBudW1iZXIgZm9ybWF0cyBpbiB0aGUgc3RyaW5nLAorICAgICAqIG51bWJlcnMgd2lsbCBiZSBmb3JtYXR0ZWQgaW4gc3RlcCAzIGFuZCBiZSBrZXB0IGluIGEgJ1wwJy1zZXBhcmF0ZWQKKyAgICAgKiBidWZmZXIgYmVmb3JlIHB1dHRpbmcgZXZlcnl0aGluZyB0b2dldGhlci4gKi8KICAgICBmb3IgKGYgPSBmb3JtYXQ7ICpmOyBmKyspIHsKICAgICAgICAgaWYgKCpmID09ICclJykgewotI2lmZGVmIEhBVkVfTE9OR19MT05HCi0gICAgICAgICAgICBpbnQgbG9uZ2xvbmdmbGFnID0gMDsKLSNlbmRpZgotICAgICAgICAgICAgY29uc3QgY2hhciogcCA9IGY7Ci0gICAgICAgICAgICB3aWR0aCA9IDA7Ci0gICAgICAgICAgICB3aGlsZSAoUHlfSVNESUdJVCgodW5zaWduZWQpKmYpKQotICAgICAgICAgICAgICAgIHdpZHRoID0gKHdpZHRoKjEwKSArICpmKysgLSAnMCc7Ci0gICAgICAgICAgICB3aGlsZSAoKisrZiAmJiAqZiAhPSAnJScgJiYgIVB5X0lTQUxQSEEoKHVuc2lnbmVkKSpmKSkKLSAgICAgICAgICAgICAgICA7CisgICAgICAgICAgICBpbnQgbG9uZ2xvbmdmbGFnOworICAgICAgICAgICAgLyogc2tpcCB3aWR0aCBvciB3aWR0aC5wcmVjaXNpb24gKGVnLiAiMS4yIiBvZiAiJTEuMmYiKSAqLworICAgICAgICAgICAgZiA9IHBhcnNlX2Zvcm1hdF9mbGFncyhmLCAmd2lkdGgsIE5VTEwsIE5VTEwsICZsb25nbG9uZ2ZsYWcsIE5VTEwpOworICAgICAgICAgICAgaWYgKCpmID09ICdzJyB8fCAqZj09J1MnIHx8ICpmPT0nUicgfHwgKmY9PSdBJyB8fCAqZj09J1YnKQorICAgICAgICAgICAgICAgICsrY2FsbGNvdW50OwogCi0gICAgICAgICAgICAvKiBza2lwIHRoZSAnbCcgb3IgJ3onIGluIHslbGQsICV6ZCwgJWx1LCAlenV9IHNpbmNlCi0gICAgICAgICAgICAgKiB0aGV5IGRvbid0IGFmZmVjdCB0aGUgYW1vdW50IG9mIHNwYWNlIHdlIHJlc2VydmUuCi0gICAgICAgICAgICAgKi8KLSAgICAgICAgICAgIGlmICgqZiA9PSAnbCcpIHsKLSAgICAgICAgICAgICAgICBpZiAoZlsxXSA9PSAnZCcgfHwgZlsxXSA9PSAndScpIHsKLSAgICAgICAgICAgICAgICAgICAgKytmOwotICAgICAgICAgICAgICAgIH0KLSNpZmRlZiBIQVZFX0xPTkdfTE9ORwotICAgICAgICAgICAgICAgIGVsc2UgaWYgKGZbMV0gPT0gJ2wnICYmCi0gICAgICAgICAgICAgICAgICAgICAgICAgKGZbMl0gPT0gJ2QnIHx8IGZbMl0gPT0gJ3UnKSkgewotICAgICAgICAgICAgICAgICAgICBsb25nbG9uZ2ZsYWcgPSAxOwotICAgICAgICAgICAgICAgICAgICBmICs9IDI7Ci0gICAgICAgICAgICAgICAgfQotI2VuZGlmCi0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBlbHNlIGlmICgqZiA9PSAneicgJiYgKGZbMV0gPT0gJ2QnIHx8IGZbMV0gPT0gJ3UnKSkgewotICAgICAgICAgICAgICAgICsrZjsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgc3dpdGNoICgqZikgewotICAgICAgICAgICAgY2FzZSAnYyc6Ci0gICAgICAgICAgICB7Ci0jaWZuZGVmIFB5X1VOSUNPREVfV0lERQotICAgICAgICAgICAgICAgIGludCBvcmRpbmFsID0gdmFfYXJnKGNvdW50LCBpbnQpOwotICAgICAgICAgICAgICAgIGlmIChvcmRpbmFsID4gMHhmZmZmKQotICAgICAgICAgICAgICAgICAgICBuICs9IDI7Ci0gICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICBuKys7Ci0jZWxzZQotICAgICAgICAgICAgICAgICh2b2lkKXZhX2FyZyhjb3VudCwgaW50KTsKLSAgICAgICAgICAgICAgICBuKys7Ci0jZW5kaWYKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGNhc2UgJyUnOgotICAgICAgICAgICAgICAgIG4rKzsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgJ2QnOiBjYXNlICd1JzogY2FzZSAnaSc6IGNhc2UgJ3gnOgotICAgICAgICAgICAgICAgICh2b2lkKSB2YV9hcmcoY291bnQsIGludCk7CisgICAgICAgICAgICBlbHNlIGlmICgqZiA9PSAnZCcgfHwgKmY9PSd1JyB8fCAqZj09J2knIHx8ICpmPT0neCcgfHwgKmY9PSdwJykgewogI2lmZGVmIEhBVkVfTE9OR19MT05HCiAgICAgICAgICAgICAgICAgaWYgKGxvbmdsb25nZmxhZykgewogICAgICAgICAgICAgICAgICAgICBpZiAod2lkdGggPCBNQVhfTE9OR19MT05HX0NIQVJTKQpAQCAtODQ0LDE5ICsyMzQwLDE1NSBAQAogICAgICAgICAgICAgICAgICAgICAgICBuZWVkIG1vcmUgKHdoaWNoIHdlIGFsbG9jYXRlIGxhdGVyKS4gKi8KICAgICAgICAgICAgICAgICAgICAgaWYgKHdpZHRoIDwgTUFYX0xPTkdfQ0hBUlMpCiAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aCA9IE1BWF9MT05HX0NIQVJTOwotICAgICAgICAgICAgICAgIG4gKz0gd2lkdGg7Ci0gICAgICAgICAgICAgICAgLyogWFhYIHNob3VsZCBhbGxvdyBmb3IgbGFyZ2UgcHJlY2lzaW9uIGhlcmUgdG9vLiAqLwotICAgICAgICAgICAgICAgIGlmIChhYnVmZmVyc2l6ZSA8IHdpZHRoKQotICAgICAgICAgICAgICAgICAgICBhYnVmZmVyc2l6ZSA9IHdpZHRoOworCisgICAgICAgICAgICAgICAgLyogYWNjb3VudCBmb3IgdGhlIHNpemUgKyAnXDAnIHRvIHNlcGFyYXRlIG51bWJlcnMKKyAgICAgICAgICAgICAgICAgICBpbnNpZGUgb2YgdGhlIG51bWJlcnJlc3VsdHMgYnVmZmVyICovCisgICAgICAgICAgICAgICAgbnVtYmVyc2l6ZSArPSAod2lkdGggKyAxKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBlbHNlIGlmICgodW5zaWduZWQgY2hhcikqZiA+IDEyNykgeworICAgICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1ZhbHVlRXJyb3IsCisgICAgICAgICAgICAgICAgIlB5VW5pY29kZV9Gcm9tRm9ybWF0VigpIGV4cGVjdHMgYW4gQVNDSUktZW5jb2RlZCBmb3JtYXQgIgorICAgICAgICAgICAgICAgICJzdHJpbmcsIGdvdCBhIG5vbi1BU0NJSSBieXRlOiAweCUwMngiLAorICAgICAgICAgICAgICAgICh1bnNpZ25lZCBjaGFyKSpmKTsKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICB9CisgICAgfQorICAgIC8qIHN0ZXAgMjogYWxsb2NhdGUgbWVtb3J5IGZvciB0aGUgcmVzdWx0cyBvZgorICAgICAqIFB5T2JqZWN0X1N0cigpL1B5T2JqZWN0X1JlcHIoKS9QeVVuaWNvZGVfRGVjb2RlVVRGOCgpIGNhbGxzICovCisgICAgaWYgKGNhbGxjb3VudCkgeworICAgICAgICBjYWxscmVzdWx0cyA9IFB5T2JqZWN0X01hbGxvYyhzaXplb2YoUHlPYmplY3QgKikgKiBjYWxsY291bnQpOworICAgICAgICBpZiAoIWNhbGxyZXN1bHRzKSB7CisgICAgICAgICAgICBQeUVycl9Ob01lbW9yeSgpOworICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIH0KKyAgICAgICAgY2FsbHJlc3VsdCA9IGNhbGxyZXN1bHRzOworICAgIH0KKyAgICAvKiBzdGVwIDIuNTogYWxsb2NhdGUgbWVtb3J5IGZvciB0aGUgcmVzdWx0cyBvZiBmb3JtYXRpbmcgbnVtYmVycyAqLworICAgIGlmIChudW1iZXJzaXplKSB7CisgICAgICAgIG51bWJlcnJlc3VsdHMgPSBQeU9iamVjdF9NYWxsb2MobnVtYmVyc2l6ZSk7CisgICAgICAgIGlmICghbnVtYmVycmVzdWx0cykgeworICAgICAgICAgICAgUHlFcnJfTm9NZW1vcnkoKTsKKyAgICAgICAgICAgIGdvdG8gZmFpbDsKKyAgICAgICAgfQorICAgICAgICBudW1iZXJyZXN1bHQgPSBudW1iZXJyZXN1bHRzOworICAgIH0KKworICAgIC8qIHN0ZXAgMzogZm9ybWF0IG51bWJlcnMgYW5kIGZpZ3VyZSBvdXQgaG93IGxhcmdlIGEgYnVmZmVyIHdlIG5lZWQgKi8KKyAgICBmb3IgKGYgPSBmb3JtYXQ7ICpmOyBmKyspIHsKKyAgICAgICAgaWYgKCpmID09ICclJykgeworICAgICAgICAgICAgY29uc3QgY2hhciogcDsKKyAgICAgICAgICAgIGludCBsb25nZmxhZzsKKyAgICAgICAgICAgIGludCBsb25nbG9uZ2ZsYWc7CisgICAgICAgICAgICBpbnQgc2l6ZV90ZmxhZzsKKyAgICAgICAgICAgIGludCBudW1wcmludGVkOworCisgICAgICAgICAgICBwID0gZjsKKyAgICAgICAgICAgIHplcm9wYWQgPSAoZlsxXSA9PSAnMCcpOworICAgICAgICAgICAgZiA9IHBhcnNlX2Zvcm1hdF9mbGFncyhmLCAmd2lkdGgsICZwcmVjaXNpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsb25nZmxhZywgJmxvbmdsb25nZmxhZywgJnNpemVfdGZsYWcpOworICAgICAgICAgICAgc3dpdGNoICgqZikgeworICAgICAgICAgICAgY2FzZSAnYyc6CisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgUHlfVUNTNCBvcmRpbmFsID0gdmFfYXJnKGNvdW50LCBpbnQpOworICAgICAgICAgICAgICAgIG1heGNoYXIgPSBQeV9NQVgobWF4Y2hhciwgb3JkaW5hbCk7CisgICAgICAgICAgICAgICAgbisrOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICAgICAgY2FzZSAnJSc6CisgICAgICAgICAgICAgICAgbisrOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSAnaSc6CisgICAgICAgICAgICBjYXNlICdkJzoKKyAgICAgICAgICAgICAgICBtYWtlZm10KGZtdCwgbG9uZ2ZsYWcsIGxvbmdsb25nZmxhZywgc2l6ZV90ZmxhZywgemVyb3BhZCwKKyAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoLCBwcmVjaXNpb24sICpmKTsKKyAgICAgICAgICAgICAgICBpZiAobG9uZ2ZsYWcpCisgICAgICAgICAgICAgICAgICAgIG51bXByaW50ZWQgPSBzcHJpbnRmKG51bWJlcnJlc3VsdCwgZm10LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YV9hcmcoY291bnQsIGxvbmcpKTsKKyNpZmRlZiBIQVZFX0xPTkdfTE9ORworICAgICAgICAgICAgICAgIGVsc2UgaWYgKGxvbmdsb25nZmxhZykKKyAgICAgICAgICAgICAgICAgICAgbnVtcHJpbnRlZCA9IHNwcmludGYobnVtYmVycmVzdWx0LCBmbXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhX2FyZyhjb3VudCwgUFlfTE9OR19MT05HKSk7CisjZW5kaWYKKyAgICAgICAgICAgICAgICBlbHNlIGlmIChzaXplX3RmbGFnKQorICAgICAgICAgICAgICAgICAgICBudW1wcmludGVkID0gc3ByaW50ZihudW1iZXJyZXN1bHQsIGZtdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFfYXJnKGNvdW50LCBQeV9zc2l6ZV90KSk7CisgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICBudW1wcmludGVkID0gc3ByaW50ZihudW1iZXJyZXN1bHQsIGZtdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFfYXJnKGNvdW50LCBpbnQpKTsKKyAgICAgICAgICAgICAgICBuICs9IG51bXByaW50ZWQ7CisgICAgICAgICAgICAgICAgLyogYWR2YW5jZSBieSArMSB0byBza2lwIG92ZXIgdGhlICdcMCcgKi8KKyAgICAgICAgICAgICAgICBudW1iZXJyZXN1bHQgKz0gKG51bXByaW50ZWQgKyAxKTsKKyAgICAgICAgICAgICAgICBhc3NlcnQoKihudW1iZXJyZXN1bHQgLSAxKSA9PSAnXDAnKTsKKyAgICAgICAgICAgICAgICBhc3NlcnQoKihudW1iZXJyZXN1bHQgLSAyKSAhPSAnXDAnKTsKKyAgICAgICAgICAgICAgICBhc3NlcnQobnVtcHJpbnRlZCA+PSAwKTsKKyAgICAgICAgICAgICAgICBhc3NlcnQobnVtYmVycmVzdWx0IDw9IG51bWJlcnJlc3VsdHMgKyBudW1iZXJzaXplKTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2UgJ3UnOgorICAgICAgICAgICAgICAgIG1ha2VmbXQoZm10LCBsb25nZmxhZywgbG9uZ2xvbmdmbGFnLCBzaXplX3RmbGFnLCB6ZXJvcGFkLAorICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGgsIHByZWNpc2lvbiwgJ3UnKTsKKyAgICAgICAgICAgICAgICBpZiAobG9uZ2ZsYWcpCisgICAgICAgICAgICAgICAgICAgIG51bXByaW50ZWQgPSBzcHJpbnRmKG51bWJlcnJlc3VsdCwgZm10LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YV9hcmcoY291bnQsIHVuc2lnbmVkIGxvbmcpKTsKKyNpZmRlZiBIQVZFX0xPTkdfTE9ORworICAgICAgICAgICAgICAgIGVsc2UgaWYgKGxvbmdsb25nZmxhZykKKyAgICAgICAgICAgICAgICAgICAgbnVtcHJpbnRlZCA9IHNwcmludGYobnVtYmVycmVzdWx0LCBmbXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhX2FyZyhjb3VudCwgdW5zaWduZWQgUFlfTE9OR19MT05HKSk7CisjZW5kaWYKKyAgICAgICAgICAgICAgICBlbHNlIGlmIChzaXplX3RmbGFnKQorICAgICAgICAgICAgICAgICAgICBudW1wcmludGVkID0gc3ByaW50ZihudW1iZXJyZXN1bHQsIGZtdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFfYXJnKGNvdW50LCBzaXplX3QpKTsKKyAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgIG51bXByaW50ZWQgPSBzcHJpbnRmKG51bWJlcnJlc3VsdCwgZm10LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YV9hcmcoY291bnQsIHVuc2lnbmVkIGludCkpOworICAgICAgICAgICAgICAgIG4gKz0gbnVtcHJpbnRlZDsKKyAgICAgICAgICAgICAgICBudW1iZXJyZXN1bHQgKz0gKG51bXByaW50ZWQgKyAxKTsKKyAgICAgICAgICAgICAgICBhc3NlcnQoKihudW1iZXJyZXN1bHQgLSAxKSA9PSAnXDAnKTsKKyAgICAgICAgICAgICAgICBhc3NlcnQoKihudW1iZXJyZXN1bHQgLSAyKSAhPSAnXDAnKTsKKyAgICAgICAgICAgICAgICBhc3NlcnQobnVtcHJpbnRlZCA+PSAwKTsKKyAgICAgICAgICAgICAgICBhc3NlcnQobnVtYmVycmVzdWx0IDw9IG51bWJlcnJlc3VsdHMgKyBudW1iZXJzaXplKTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2UgJ3gnOgorICAgICAgICAgICAgICAgIG1ha2VmbXQoZm10LCAwLCAwLCAwLCB6ZXJvcGFkLCB3aWR0aCwgcHJlY2lzaW9uLCAneCcpOworICAgICAgICAgICAgICAgIG51bXByaW50ZWQgPSBzcHJpbnRmKG51bWJlcnJlc3VsdCwgZm10LCB2YV9hcmcoY291bnQsIGludCkpOworICAgICAgICAgICAgICAgIG4gKz0gbnVtcHJpbnRlZDsKKyAgICAgICAgICAgICAgICBudW1iZXJyZXN1bHQgKz0gKG51bXByaW50ZWQgKyAxKTsKKyAgICAgICAgICAgICAgICBhc3NlcnQoKihudW1iZXJyZXN1bHQgLSAxKSA9PSAnXDAnKTsKKyAgICAgICAgICAgICAgICBhc3NlcnQoKihudW1iZXJyZXN1bHQgLSAyKSAhPSAnXDAnKTsKKyAgICAgICAgICAgICAgICBhc3NlcnQobnVtcHJpbnRlZCA+PSAwKTsKKyAgICAgICAgICAgICAgICBhc3NlcnQobnVtYmVycmVzdWx0IDw9IG51bWJlcnJlc3VsdHMgKyBudW1iZXJzaXplKTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2UgJ3AnOgorICAgICAgICAgICAgICAgIG51bXByaW50ZWQgPSBzcHJpbnRmKG51bWJlcnJlc3VsdCwgIiVwIiwgdmFfYXJnKGNvdW50LCB2b2lkKikpOworICAgICAgICAgICAgICAgIC8qICVwIGlzIGlsbC1kZWZpbmVkOiAgZW5zdXJlIGxlYWRpbmcgMHguICovCisgICAgICAgICAgICAgICAgaWYgKG51bWJlcnJlc3VsdFsxXSA9PSAnWCcpCisgICAgICAgICAgICAgICAgICAgIG51bWJlcnJlc3VsdFsxXSA9ICd4JzsKKyAgICAgICAgICAgICAgICBlbHNlIGlmIChudW1iZXJyZXN1bHRbMV0gIT0gJ3gnKSB7CisgICAgICAgICAgICAgICAgICAgIG1lbW1vdmUobnVtYmVycmVzdWx0ICsgMiwgbnVtYmVycmVzdWx0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmxlbihudW1iZXJyZXN1bHQpICsgMSk7CisgICAgICAgICAgICAgICAgICAgIG51bWJlcnJlc3VsdFswXSA9ICcwJzsKKyAgICAgICAgICAgICAgICAgICAgbnVtYmVycmVzdWx0WzFdID0gJ3gnOworICAgICAgICAgICAgICAgICAgICBudW1wcmludGVkICs9IDI7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIG4gKz0gbnVtcHJpbnRlZDsKKyAgICAgICAgICAgICAgICBudW1iZXJyZXN1bHQgKz0gKG51bXByaW50ZWQgKyAxKTsKKyAgICAgICAgICAgICAgICBhc3NlcnQoKihudW1iZXJyZXN1bHQgLSAxKSA9PSAnXDAnKTsKKyAgICAgICAgICAgICAgICBhc3NlcnQoKihudW1iZXJyZXN1bHQgLSAyKSAhPSAnXDAnKTsKKyAgICAgICAgICAgICAgICBhc3NlcnQobnVtcHJpbnRlZCA+PSAwKTsKKyAgICAgICAgICAgICAgICBhc3NlcnQobnVtYmVycmVzdWx0IDw9IG51bWJlcnJlc3VsdHMgKyBudW1iZXJzaXplKTsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIGNhc2UgJ3MnOgogICAgICAgICAgICAgewogICAgICAgICAgICAgICAgIC8qIFVURi04ICovCiAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqcyA9IHZhX2FyZyhjb3VudCwgY29uc3QgY2hhciopOwotICAgICAgICAgICAgICAgIFB5T2JqZWN0ICpzdHIgPSBQeVVuaWNvZGVfRGVjb2RlVVRGOChzLCBzdHJsZW4ocyksICJyZXBsYWNlIik7CisgICAgICAgICAgICAgICAgUHlPYmplY3QgKnN0ciA9IFB5VW5pY29kZV9EZWNvZGVVVEY4U3RhdGVmdWwocywgc3RybGVuKHMpLCAicmVwbGFjZSIsIE5VTEwpOwogICAgICAgICAgICAgICAgIGlmICghc3RyKQogICAgICAgICAgICAgICAgICAgICBnb3RvIGZhaWw7Ci0gICAgICAgICAgICAgICAgbiArPSBQeVVuaWNvZGVfR0VUX1NJWkUoc3RyKTsKKyAgICAgICAgICAgICAgICAvKiBzaW5jZSBQeVVuaWNvZGVfRGVjb2RlVVRGOCByZXR1cm5zIGFscmVhZHkgZmxleGlibGUKKyAgICAgICAgICAgICAgICAgICB1bmljb2RlIG9iamVjdHMsIHRoZXJlIGlzIG5vIG5lZWQgdG8gY2FsbCByZWFkeSBvbiB0aGVtICovCisgICAgICAgICAgICAgICAgYXJnbWF4Y2hhciA9IFB5VW5pY29kZV9NQVhfQ0hBUl9WQUxVRShzdHIpOworICAgICAgICAgICAgICAgIG1heGNoYXIgPSBQeV9NQVgobWF4Y2hhciwgYXJnbWF4Y2hhcik7CisgICAgICAgICAgICAgICAgbiArPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChzdHIpOwogICAgICAgICAgICAgICAgIC8qIFJlbWVtYmVyIHRoZSBzdHIgYW5kIHN3aXRjaCB0byB0aGUgbmV4dCBzbG90ICovCiAgICAgICAgICAgICAgICAgKmNhbGxyZXN1bHQrKyA9IHN0cjsKICAgICAgICAgICAgICAgICBicmVhazsKQEAgLTg2NCw4ICsyNDk2LDEyIEBACiAgICAgICAgICAgICBjYXNlICdVJzoKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICBQeU9iamVjdCAqb2JqID0gdmFfYXJnKGNvdW50LCBQeU9iamVjdCAqKTsKLSAgICAgICAgICAgICAgICBhc3NlcnQob2JqICYmIFB5VW5pY29kZV9DaGVjayhvYmopKTsKLSAgICAgICAgICAgICAgICBuICs9IFB5VW5pY29kZV9HRVRfU0laRShvYmopOworICAgICAgICAgICAgICAgIGFzc2VydChvYmogJiYgX1B5VW5pY29kZV9DSEVDSyhvYmopKTsKKyAgICAgICAgICAgICAgICBpZiAoUHlVbmljb2RlX1JFQURZKG9iaikgPT0gLTEpCisgICAgICAgICAgICAgICAgICAgIGdvdG8gZmFpbDsKKyAgICAgICAgICAgICAgICBhcmdtYXhjaGFyID0gUHlVbmljb2RlX01BWF9DSEFSX1ZBTFVFKG9iaik7CisgICAgICAgICAgICAgICAgbWF4Y2hhciA9IFB5X01BWChtYXhjaGFyLCBhcmdtYXhjaGFyKTsKKyAgICAgICAgICAgICAgICBuICs9IFB5VW5pY29kZV9HRVRfTEVOR1RIKG9iaik7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBjYXNlICdWJzoKQEAgLTg3NCwxNiArMjUxMCwyNiBAQAogICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKnN0ciA9IHZhX2FyZyhjb3VudCwgY29uc3QgY2hhciAqKTsKICAgICAgICAgICAgICAgICBQeU9iamVjdCAqc3RyX29iajsKICAgICAgICAgICAgICAgICBhc3NlcnQob2JqIHx8IHN0cik7Ci0gICAgICAgICAgICAgICAgYXNzZXJ0KCFvYmogfHwgUHlVbmljb2RlX0NoZWNrKG9iaikpOworICAgICAgICAgICAgICAgIGFzc2VydCghb2JqIHx8IF9QeVVuaWNvZGVfQ0hFQ0sob2JqKSk7CiAgICAgICAgICAgICAgICAgaWYgKG9iaikgewotICAgICAgICAgICAgICAgICAgICBuICs9IFB5VW5pY29kZV9HRVRfU0laRShvYmopOworICAgICAgICAgICAgICAgICAgICBpZiAoUHlVbmljb2RlX1JFQURZKG9iaikgPT0gLTEpCisgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGZhaWw7CisgICAgICAgICAgICAgICAgICAgIGFyZ21heGNoYXIgPSBQeVVuaWNvZGVfTUFYX0NIQVJfVkFMVUUob2JqKTsKKyAgICAgICAgICAgICAgICAgICAgbWF4Y2hhciA9IFB5X01BWChtYXhjaGFyLCBhcmdtYXhjaGFyKTsKKyAgICAgICAgICAgICAgICAgICAgbiArPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChvYmopOwogICAgICAgICAgICAgICAgICAgICAqY2FsbHJlc3VsdCsrID0gTlVMTDsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgIHN0cl9vYmogPSBQeVVuaWNvZGVfRGVjb2RlVVRGOChzdHIsIHN0cmxlbihzdHIpLCAicmVwbGFjZSIpOworICAgICAgICAgICAgICAgICAgICBzdHJfb2JqID0gUHlVbmljb2RlX0RlY29kZVVURjhTdGF0ZWZ1bChzdHIsIHN0cmxlbihzdHIpLCAicmVwbGFjZSIsIE5VTEwpOwogICAgICAgICAgICAgICAgICAgICBpZiAoIXN0cl9vYmopCiAgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGZhaWw7Ci0gICAgICAgICAgICAgICAgICAgIG4gKz0gUHlVbmljb2RlX0dFVF9TSVpFKHN0cl9vYmopOworICAgICAgICAgICAgICAgICAgICBpZiAoUHlVbmljb2RlX1JFQURZKHN0cl9vYmopID09IC0xKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBQeV9ERUNSRUYoc3RyX29iaik7CisgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGZhaWw7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgYXJnbWF4Y2hhciA9IFB5VW5pY29kZV9NQVhfQ0hBUl9WQUxVRShzdHJfb2JqKTsKKyAgICAgICAgICAgICAgICAgICAgbWF4Y2hhciA9IFB5X01BWChtYXhjaGFyLCBhcmdtYXhjaGFyKTsKKyAgICAgICAgICAgICAgICAgICAgbiArPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChzdHJfb2JqKTsKICAgICAgICAgICAgICAgICAgICAgKmNhbGxyZXN1bHQrKyA9IHN0cl9vYmo7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIGJyZWFrOwpAQCAtODk2LDcgKzI1NDIsMTMgQEAKICAgICAgICAgICAgICAgICBzdHIgPSBQeU9iamVjdF9TdHIob2JqKTsKICAgICAgICAgICAgICAgICBpZiAoIXN0cikKICAgICAgICAgICAgICAgICAgICAgZ290byBmYWlsOwotICAgICAgICAgICAgICAgIG4gKz0gUHlVbmljb2RlX0dFVF9TSVpFKHN0cik7CisgICAgICAgICAgICAgICAgaWYgKFB5VW5pY29kZV9SRUFEWShzdHIpID09IC0xKSB7CisgICAgICAgICAgICAgICAgICAgIFB5X0RFQ1JFRihzdHIpOworICAgICAgICAgICAgICAgICAgICBnb3RvIGZhaWw7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGFyZ21heGNoYXIgPSBQeVVuaWNvZGVfTUFYX0NIQVJfVkFMVUUoc3RyKTsKKyAgICAgICAgICAgICAgICBtYXhjaGFyID0gUHlfTUFYKG1heGNoYXIsIGFyZ21heGNoYXIpOworICAgICAgICAgICAgICAgIG4gKz0gUHlVbmljb2RlX0dFVF9MRU5HVEgoc3RyKTsKICAgICAgICAgICAgICAgICAvKiBSZW1lbWJlciB0aGUgc3RyIGFuZCBzd2l0Y2ggdG8gdGhlIG5leHQgc2xvdCAqLwogICAgICAgICAgICAgICAgICpjYWxscmVzdWx0KysgPSBzdHI7CiAgICAgICAgICAgICAgICAgYnJlYWs7CkBAIC05MDksNyArMjU2MSwxMyBAQAogICAgICAgICAgICAgICAgIHJlcHIgPSBQeU9iamVjdF9SZXByKG9iaik7CiAgICAgICAgICAgICAgICAgaWYgKCFyZXByKQogICAgICAgICAgICAgICAgICAgICBnb3RvIGZhaWw7Ci0gICAgICAgICAgICAgICAgbiArPSBQeVVuaWNvZGVfR0VUX1NJWkUocmVwcik7CisgICAgICAgICAgICAgICAgaWYgKFB5VW5pY29kZV9SRUFEWShyZXByKSA9PSAtMSkgeworICAgICAgICAgICAgICAgICAgICBQeV9ERUNSRUYocmVwcik7CisgICAgICAgICAgICAgICAgICAgIGdvdG8gZmFpbDsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgYXJnbWF4Y2hhciA9IFB5VW5pY29kZV9NQVhfQ0hBUl9WQUxVRShyZXByKTsKKyAgICAgICAgICAgICAgICBtYXhjaGFyID0gUHlfTUFYKG1heGNoYXIsIGFyZ21heGNoYXIpOworICAgICAgICAgICAgICAgIG4gKz0gUHlVbmljb2RlX0dFVF9MRU5HVEgocmVwcik7CiAgICAgICAgICAgICAgICAgLyogUmVtZW1iZXIgdGhlIHJlcHIgYW5kIHN3aXRjaCB0byB0aGUgbmV4dCBzbG90ICovCiAgICAgICAgICAgICAgICAgKmNhbGxyZXN1bHQrKyA9IHJlcHI7CiAgICAgICAgICAgICAgICAgYnJlYWs7CkBAIC05MjIsMjAgKzI1ODAsMTcgQEAKICAgICAgICAgICAgICAgICBhc2NpaSA9IFB5T2JqZWN0X0FTQ0lJKG9iaik7CiAgICAgICAgICAgICAgICAgaWYgKCFhc2NpaSkKICAgICAgICAgICAgICAgICAgICAgZ290byBmYWlsOwotICAgICAgICAgICAgICAgIG4gKz0gUHlVbmljb2RlX0dFVF9TSVpFKGFzY2lpKTsKKyAgICAgICAgICAgICAgICBpZiAoUHlVbmljb2RlX1JFQURZKGFzY2lpKSA9PSAtMSkgeworICAgICAgICAgICAgICAgICAgICBQeV9ERUNSRUYoYXNjaWkpOworICAgICAgICAgICAgICAgICAgICBnb3RvIGZhaWw7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGFyZ21heGNoYXIgPSBQeVVuaWNvZGVfTUFYX0NIQVJfVkFMVUUoYXNjaWkpOworICAgICAgICAgICAgICAgIG1heGNoYXIgPSBQeV9NQVgobWF4Y2hhciwgYXJnbWF4Y2hhcik7CisgICAgICAgICAgICAgICAgbiArPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChhc2NpaSk7CiAgICAgICAgICAgICAgICAgLyogUmVtZW1iZXIgdGhlIHJlcHIgYW5kIHN3aXRjaCB0byB0aGUgbmV4dCBzbG90ICovCiAgICAgICAgICAgICAgICAgKmNhbGxyZXN1bHQrKyA9IGFzY2lpOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgY2FzZSAncCc6Ci0gICAgICAgICAgICAgICAgKHZvaWQpIHZhX2FyZyhjb3VudCwgaW50KTsKLSAgICAgICAgICAgICAgICAvKiBtYXhpbXVtIDY0LWJpdCBwb2ludGVyIHJlcHJlc2VudGF0aW9uOgotICAgICAgICAgICAgICAgICAqIDB4ZmZmZmZmZmZmZmZmZmZmZgotICAgICAgICAgICAgICAgICAqIHNvIDE5IGNoYXJhY3RlcnMgaXMgZW5vdWdoLgotICAgICAgICAgICAgICAgICAqIFhYWCBJIGNvdW50IDE4IC0tIHdoYXQncyB0aGUgZXh0cmEgZm9yPwotICAgICAgICAgICAgICAgICAqLwotICAgICAgICAgICAgICAgIG4gKz0gMTk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgIC8qIGlmIHdlIHN0dW1ibGUgdXBvbiBhbiB1bmtub3duCiAgICAgICAgICAgICAgICAgICAgZm9ybWF0dGluZyBjb2RlLCBjb3B5IHRoZSByZXN0IG9mCkBAIC05NTAsMTI3ICsyNjA1LDY3IEBACiAgICAgICAgICAgICBuKys7CiAgICAgfQogICBleHBhbmQ6Ci0gICAgaWYgKGFidWZmZXJzaXplID4gSVRFTV9CVUZGRVJfTEVOKSB7Ci0gICAgICAgIC8qIGFkZCAxIGZvciBzcHJpbnRmJ3MgdHJhaWxpbmcgbnVsbCBieXRlICovCi0gICAgICAgIGFidWZmZXIgPSBQeU9iamVjdF9NYWxsb2MoYWJ1ZmZlcnNpemUgKyAxKTsKLSAgICAgICAgaWYgKCFhYnVmZmVyKSB7Ci0gICAgICAgICAgICBQeUVycl9Ob01lbW9yeSgpOwotICAgICAgICAgICAgZ290byBmYWlsOwotICAgICAgICB9Ci0gICAgICAgIHJlYWxidWZmZXIgPSBhYnVmZmVyOwotICAgIH0KLSAgICBlbHNlCi0gICAgICAgIHJlYWxidWZmZXIgPSBidWZmZXI7CiAgICAgLyogc3RlcCA0OiBmaWxsIHRoZSBidWZmZXIgKi8KLSAgICAvKiBTaW5jZSB3ZSd2ZSBhbmFseXplZCBob3cgbXVjaCBzcGFjZSB3ZSBuZWVkIGZvciB0aGUgd29yc3QgY2FzZSwKKyAgICAvKiBTaW5jZSB3ZSd2ZSBhbmFseXplZCBob3cgbXVjaCBzcGFjZSB3ZSBuZWVkLAogICAgICAgIHdlIGRvbid0IGhhdmUgdG8gcmVzaXplIHRoZSBzdHJpbmcuCiAgICAgICAgVGhlcmUgY2FuIGJlIG5vIGVycm9ycyBiZXlvbmQgdGhpcyBwb2ludC4gKi8KLSAgICBzdHJpbmcgPSBQeVVuaWNvZGVfRnJvbVVuaWNvZGUoTlVMTCwgbik7CisgICAgc3RyaW5nID0gUHlVbmljb2RlX05ldyhuLCBtYXhjaGFyKTsKICAgICBpZiAoIXN0cmluZykKICAgICAgICAgZ290byBmYWlsOwotCi0gICAgcyA9IFB5VW5pY29kZV9BU19VTklDT0RFKHN0cmluZyk7CisgICAga2luZCA9IFB5VW5pY29kZV9LSU5EKHN0cmluZyk7CisgICAgZGF0YSA9IFB5VW5pY29kZV9EQVRBKHN0cmluZyk7CiAgICAgY2FsbHJlc3VsdCA9IGNhbGxyZXN1bHRzOworICAgIG51bWJlcnJlc3VsdCA9IG51bWJlcnJlc3VsdHM7CiAKLSAgICBmb3IgKGYgPSBmb3JtYXQ7ICpmOyBmKyspIHsKKyAgICBmb3IgKGkgPSAwLCBmID0gZm9ybWF0OyAqZjsgZisrKSB7CiAgICAgICAgIGlmICgqZiA9PSAnJScpIHsKLSAgICAgICAgICAgIGNvbnN0IGNoYXIqIHAgPSBmKys7Ci0gICAgICAgICAgICBpbnQgbG9uZ2ZsYWcgPSAwOwotICAgICAgICAgICAgaW50IGxvbmdsb25nZmxhZyA9IDA7Ci0gICAgICAgICAgICBpbnQgc2l6ZV90ZmxhZyA9IDA7Ci0gICAgICAgICAgICB6ZXJvcGFkID0gKCpmID09ICcwJyk7Ci0gICAgICAgICAgICAvKiBwYXJzZSB0aGUgd2lkdGgucHJlY2lzaW9uIHBhcnQgKi8KLSAgICAgICAgICAgIHdpZHRoID0gMDsKLSAgICAgICAgICAgIHdoaWxlIChQeV9JU0RJR0lUKCh1bnNpZ25lZCkqZikpCi0gICAgICAgICAgICAgICAgd2lkdGggPSAod2lkdGgqMTApICsgKmYrKyAtICcwJzsKLSAgICAgICAgICAgIHByZWNpc2lvbiA9IDA7Ci0gICAgICAgICAgICBpZiAoKmYgPT0gJy4nKSB7Ci0gICAgICAgICAgICAgICAgZisrOwotICAgICAgICAgICAgICAgIHdoaWxlIChQeV9JU0RJR0lUKCh1bnNpZ25lZCkqZikpCi0gICAgICAgICAgICAgICAgICAgIHByZWNpc2lvbiA9IChwcmVjaXNpb24qMTApICsgKmYrKyAtICcwJzsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIC8qIEhhbmRsZSAlbGQsICVsdSwgJWxsZCBhbmQgJWxsdS4gKi8KLSAgICAgICAgICAgIGlmICgqZiA9PSAnbCcpIHsKLSAgICAgICAgICAgICAgICBpZiAoZlsxXSA9PSAnZCcgfHwgZlsxXSA9PSAndScpIHsKLSAgICAgICAgICAgICAgICAgICAgbG9uZ2ZsYWcgPSAxOwotICAgICAgICAgICAgICAgICAgICArK2Y7Ci0gICAgICAgICAgICAgICAgfQotI2lmZGVmIEhBVkVfTE9OR19MT05HCi0gICAgICAgICAgICAgICAgZWxzZSBpZiAoZlsxXSA9PSAnbCcgJiYKLSAgICAgICAgICAgICAgICAgICAgICAgICAoZlsyXSA9PSAnZCcgfHwgZlsyXSA9PSAndScpKSB7Ci0gICAgICAgICAgICAgICAgICAgIGxvbmdsb25nZmxhZyA9IDE7Ci0gICAgICAgICAgICAgICAgICAgIGYgKz0gMjsKLSAgICAgICAgICAgICAgICB9Ci0jZW5kaWYKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIC8qIGhhbmRsZSB0aGUgc2l6ZV90IGZsYWcuICovCi0gICAgICAgICAgICBpZiAoKmYgPT0gJ3onICYmIChmWzFdID09ICdkJyB8fCBmWzFdID09ICd1JykpIHsKLSAgICAgICAgICAgICAgICBzaXplX3RmbGFnID0gMTsKLSAgICAgICAgICAgICAgICArK2Y7Ci0gICAgICAgICAgICB9CisgICAgICAgICAgICBjb25zdCBjaGFyKiBwOworCisgICAgICAgICAgICBwID0gZjsKKyAgICAgICAgICAgIGYgPSBwYXJzZV9mb3JtYXRfZmxhZ3MoZiwgTlVMTCwgTlVMTCwgTlVMTCwgTlVMTCwgTlVMTCk7CisgICAgICAgICAgICAvKiBjaGVja2luZyBmb3IgPT0gYmVjYXVzZSB0aGUgbGFzdCBhcmd1bWVudCBjb3VsZCBiZSBhIGVtcHR5CisgICAgICAgICAgICAgICBzdHJpbmcsIHdoaWNoIGNhdXNlcyBpIHRvIHBvaW50IHRvIGVuZCwgdGhlIGFzc2VydCBhdCB0aGUgZW5kIG9mCisgICAgICAgICAgICAgICB0aGUgbG9vcCAqLworICAgICAgICAgICAgYXNzZXJ0KGkgPD0gUHlVbmljb2RlX0dFVF9MRU5HVEgoc3RyaW5nKSk7CiAKICAgICAgICAgICAgIHN3aXRjaCAoKmYpIHsKICAgICAgICAgICAgIGNhc2UgJ2MnOgogICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIGludCBvcmRpbmFsID0gdmFfYXJnKHZhcmdzLCBpbnQpOwotI2lmbmRlZiBQeV9VTklDT0RFX1dJREUKLSAgICAgICAgICAgICAgICBpZiAob3JkaW5hbCA+IDB4ZmZmZikgewotICAgICAgICAgICAgICAgICAgICBvcmRpbmFsIC09IDB4MTAwMDA7Ci0gICAgICAgICAgICAgICAgICAgICpzKysgPSAweEQ4MDAgfCAob3JkaW5hbCA+PiAxMCk7Ci0gICAgICAgICAgICAgICAgICAgICpzKysgPSAweERDMDAgfCAob3JkaW5hbCAmIDB4M0ZGKTsKLSAgICAgICAgICAgICAgICB9IGVsc2UKLSNlbmRpZgotICAgICAgICAgICAgICAgICpzKysgPSBvcmRpbmFsOworICAgICAgICAgICAgICAgIGNvbnN0IGludCBvcmRpbmFsID0gdmFfYXJnKHZhcmdzLCBpbnQpOworICAgICAgICAgICAgICAgIFB5VW5pY29kZV9XUklURShraW5kLCBkYXRhLCBpKyssIG9yZGluYWwpOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgY2FzZSAnZCc6Ci0gICAgICAgICAgICAgICAgbWFrZWZtdChmbXQsIGxvbmdmbGFnLCBsb25nbG9uZ2ZsYWcsIHNpemVfdGZsYWcsIHplcm9wYWQsCi0gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aCwgcHJlY2lzaW9uLCAnZCcpOwotICAgICAgICAgICAgICAgIGlmIChsb25nZmxhZykKLSAgICAgICAgICAgICAgICAgICAgc3ByaW50ZihyZWFsYnVmZmVyLCBmbXQsIHZhX2FyZyh2YXJncywgbG9uZykpOwotI2lmZGVmIEhBVkVfTE9OR19MT05HCi0gICAgICAgICAgICAgICAgZWxzZSBpZiAobG9uZ2xvbmdmbGFnKQotICAgICAgICAgICAgICAgICAgICBzcHJpbnRmKHJlYWxidWZmZXIsIGZtdCwgdmFfYXJnKHZhcmdzLCBQWV9MT05HX0xPTkcpKTsKLSNlbmRpZgotICAgICAgICAgICAgICAgIGVsc2UgaWYgKHNpemVfdGZsYWcpCi0gICAgICAgICAgICAgICAgICAgIHNwcmludGYocmVhbGJ1ZmZlciwgZm10LCB2YV9hcmcodmFyZ3MsIFB5X3NzaXplX3QpKTsKLSAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgIHNwcmludGYocmVhbGJ1ZmZlciwgZm10LCB2YV9hcmcodmFyZ3MsIGludCkpOwotICAgICAgICAgICAgICAgIGFwcGVuZHN0cmluZyhyZWFsYnVmZmVyKTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgJ3UnOgotICAgICAgICAgICAgICAgIG1ha2VmbXQoZm10LCBsb25nZmxhZywgbG9uZ2xvbmdmbGFnLCBzaXplX3RmbGFnLCB6ZXJvcGFkLAotICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGgsIHByZWNpc2lvbiwgJ3UnKTsKLSAgICAgICAgICAgICAgICBpZiAobG9uZ2ZsYWcpCi0gICAgICAgICAgICAgICAgICAgIHNwcmludGYocmVhbGJ1ZmZlciwgZm10LCB2YV9hcmcodmFyZ3MsIHVuc2lnbmVkIGxvbmcpKTsKLSNpZmRlZiBIQVZFX0xPTkdfTE9ORwotICAgICAgICAgICAgICAgIGVsc2UgaWYgKGxvbmdsb25nZmxhZykKLSAgICAgICAgICAgICAgICAgICAgc3ByaW50ZihyZWFsYnVmZmVyLCBmbXQsIHZhX2FyZyh2YXJncywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBQWV9MT05HX0xPTkcpKTsKLSNlbmRpZgotICAgICAgICAgICAgICAgIGVsc2UgaWYgKHNpemVfdGZsYWcpCi0gICAgICAgICAgICAgICAgICAgIHNwcmludGYocmVhbGJ1ZmZlciwgZm10LCB2YV9hcmcodmFyZ3MsIHNpemVfdCkpOwotICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgc3ByaW50ZihyZWFsYnVmZmVyLCBmbXQsIHZhX2FyZyh2YXJncywgdW5zaWduZWQgaW50KSk7Ci0gICAgICAgICAgICAgICAgYXBwZW5kc3RyaW5nKHJlYWxidWZmZXIpOwotICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgY2FzZSAnaSc6Ci0gICAgICAgICAgICAgICAgbWFrZWZtdChmbXQsIDAsIDAsIDAsIHplcm9wYWQsIHdpZHRoLCBwcmVjaXNpb24sICdpJyk7Ci0gICAgICAgICAgICAgICAgc3ByaW50ZihyZWFsYnVmZmVyLCBmbXQsIHZhX2FyZyh2YXJncywgaW50KSk7Ci0gICAgICAgICAgICAgICAgYXBwZW5kc3RyaW5nKHJlYWxidWZmZXIpOwotICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSAnZCc6CisgICAgICAgICAgICBjYXNlICd1JzoKICAgICAgICAgICAgIGNhc2UgJ3gnOgotICAgICAgICAgICAgICAgIG1ha2VmbXQoZm10LCAwLCAwLCAwLCB6ZXJvcGFkLCB3aWR0aCwgcHJlY2lzaW9uLCAneCcpOwotICAgICAgICAgICAgICAgIHNwcmludGYocmVhbGJ1ZmZlciwgZm10LCB2YV9hcmcodmFyZ3MsIGludCkpOwotICAgICAgICAgICAgICAgIGFwcGVuZHN0cmluZyhyZWFsYnVmZmVyKTsKKyAgICAgICAgICAgIGNhc2UgJ3AnOgorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIFB5X3NzaXplX3Qgd3JpdHRlbjsKKyAgICAgICAgICAgICAgICAvKiB1bnVzZWQsIHNpbmNlIHdlIGFscmVhZHkgaGF2ZSB0aGUgcmVzdWx0ICovCisgICAgICAgICAgICAgICAgaWYgKCpmID09ICdwJykKKyAgICAgICAgICAgICAgICAgICAgKHZvaWQpIHZhX2FyZyh2YXJncywgdm9pZCAqKTsKKyAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgICh2b2lkKSB2YV9hcmcodmFyZ3MsIGludCk7CisgICAgICAgICAgICAgICAgLyogZXh0cmFjdCB0aGUgcmVzdWx0IGZyb20gbnVtYmVycmVzdWx0cyBhbmQgYXBwZW5kLiAqLworICAgICAgICAgICAgICAgIHdyaXR0ZW4gPSB1bmljb2RlX3dyaXRlX2NzdHIoc3RyaW5nLCBpLCBudW1iZXJyZXN1bHQpOworICAgICAgICAgICAgICAgIC8qIHNraXAgb3ZlciB0aGUgc2VwYXJhdGluZyAnXDAnICovCisgICAgICAgICAgICAgICAgaSArPSB3cml0dGVuOworICAgICAgICAgICAgICAgIG51bWJlcnJlc3VsdCArPSB3cml0dGVuOworICAgICAgICAgICAgICAgIGFzc2VydCgqbnVtYmVycmVzdWx0ID09ICdcMCcpOworICAgICAgICAgICAgICAgIG51bWJlcnJlc3VsdCsrOworICAgICAgICAgICAgICAgIGFzc2VydChudW1iZXJyZXN1bHQgPD0gbnVtYmVycmVzdWx0cyArIG51bWJlcnNpemUpOwogICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQogICAgICAgICAgICAgY2FzZSAncyc6CiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgLyogdW51c2VkLCBzaW5jZSB3ZSBhbHJlYWR5IGhhdmUgdGhlIHJlc3VsdCAqLworICAgICAgICAgICAgICAgIFB5X3NzaXplX3Qgc2l6ZTsKICAgICAgICAgICAgICAgICAodm9pZCkgdmFfYXJnKHZhcmdzLCBjaGFyICopOwotICAgICAgICAgICAgICAgIFB5X1VOSUNPREVfQ09QWShzLCBQeVVuaWNvZGVfQVNfVU5JQ09ERSgqY2FsbHJlc3VsdCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9HRVRfU0laRSgqY2FsbHJlc3VsdCkpOwotICAgICAgICAgICAgICAgIHMgKz0gUHlVbmljb2RlX0dFVF9TSVpFKCpjYWxscmVzdWx0KTsKKyAgICAgICAgICAgICAgICBzaXplID0gUHlVbmljb2RlX0dFVF9MRU5HVEgoKmNhbGxyZXN1bHQpOworICAgICAgICAgICAgICAgIGFzc2VydChQeVVuaWNvZGVfS0lORCgqY2FsbHJlc3VsdCkgPD0gUHlVbmljb2RlX0tJTkQoc3RyaW5nKSk7CisgICAgICAgICAgICAgICAgY29weV9jaGFyYWN0ZXJzKHN0cmluZywgaSwgKmNhbGxyZXN1bHQsIDAsIHNpemUpOworICAgICAgICAgICAgICAgIGkgKz0gc2l6ZTsKICAgICAgICAgICAgICAgICAvKiBXZSdyZSBkb25lIHdpdGggdGhlIHVuaWNvZGUoKS9yZXByKCkgPT4gZm9yZ2V0IGl0ICovCiAgICAgICAgICAgICAgICAgUHlfREVDUkVGKCpjYWxscmVzdWx0KTsKICAgICAgICAgICAgICAgICAvKiBzd2l0Y2ggdG8gbmV4dCB1bmljb2RlKCkvcmVwcigpIHJlc3VsdCAqLwpAQCAtMTA4MCwyMyArMjY3NSwyOSBAQAogICAgICAgICAgICAgY2FzZSAnVSc6CiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgUHlPYmplY3QgKm9iaiA9IHZhX2FyZyh2YXJncywgUHlPYmplY3QgKik7Ci0gICAgICAgICAgICAgICAgUHlfc3NpemVfdCBzaXplID0gUHlVbmljb2RlX0dFVF9TSVpFKG9iaik7Ci0gICAgICAgICAgICAgICAgUHlfVU5JQ09ERV9DT1BZKHMsIFB5VW5pY29kZV9BU19VTklDT0RFKG9iaiksIHNpemUpOwotICAgICAgICAgICAgICAgIHMgKz0gc2l6ZTsKKyAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IHNpemU7CisgICAgICAgICAgICAgICAgYXNzZXJ0KFB5VW5pY29kZV9LSU5EKG9iaikgPD0gUHlVbmljb2RlX0tJTkQoc3RyaW5nKSk7CisgICAgICAgICAgICAgICAgc2l6ZSA9IFB5VW5pY29kZV9HRVRfTEVOR1RIKG9iaik7CisgICAgICAgICAgICAgICAgY29weV9jaGFyYWN0ZXJzKHN0cmluZywgaSwgb2JqLCAwLCBzaXplKTsKKyAgICAgICAgICAgICAgICBpICs9IHNpemU7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBjYXNlICdWJzoKICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IHNpemU7CiAgICAgICAgICAgICAgICAgUHlPYmplY3QgKm9iaiA9IHZhX2FyZyh2YXJncywgUHlPYmplY3QgKik7CiAgICAgICAgICAgICAgICAgdmFfYXJnKHZhcmdzLCBjb25zdCBjaGFyICopOwogICAgICAgICAgICAgICAgIGlmIChvYmopIHsKLSAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBzaXplID0gUHlVbmljb2RlX0dFVF9TSVpFKG9iaik7Ci0gICAgICAgICAgICAgICAgICAgIFB5X1VOSUNPREVfQ09QWShzLCBQeVVuaWNvZGVfQVNfVU5JQ09ERShvYmopLCBzaXplKTsKLSAgICAgICAgICAgICAgICAgICAgcyArPSBzaXplOworICAgICAgICAgICAgICAgICAgICBzaXplID0gUHlVbmljb2RlX0dFVF9MRU5HVEgob2JqKTsKKyAgICAgICAgICAgICAgICAgICAgYXNzZXJ0KFB5VW5pY29kZV9LSU5EKG9iaikgPD0gUHlVbmljb2RlX0tJTkQoc3RyaW5nKSk7CisgICAgICAgICAgICAgICAgICAgIGNvcHlfY2hhcmFjdGVycyhzdHJpbmcsIGksIG9iaiwgMCwgc2l6ZSk7CisgICAgICAgICAgICAgICAgICAgIGkgKz0gc2l6ZTsKICAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICBQeV9VTklDT0RFX0NPUFkocywgUHlVbmljb2RlX0FTX1VOSUNPREUoKmNhbGxyZXN1bHQpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0dFVF9TSVpFKCpjYWxscmVzdWx0KSk7Ci0gICAgICAgICAgICAgICAgICAgIHMgKz0gUHlVbmljb2RlX0dFVF9TSVpFKCpjYWxscmVzdWx0KTsKKyAgICAgICAgICAgICAgICAgICAgc2l6ZSA9IFB5VW5pY29kZV9HRVRfTEVOR1RIKCpjYWxscmVzdWx0KTsKKyAgICAgICAgICAgICAgICAgICAgYXNzZXJ0KFB5VW5pY29kZV9LSU5EKCpjYWxscmVzdWx0KSA8PQorICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0tJTkQoc3RyaW5nKSk7CisgICAgICAgICAgICAgICAgICAgIGNvcHlfY2hhcmFjdGVycyhzdHJpbmcsIGksICpjYWxscmVzdWx0LCAwLCBzaXplKTsKKyAgICAgICAgICAgICAgICAgICAgaSArPSBzaXplOwogICAgICAgICAgICAgICAgICAgICBQeV9ERUNSRUYoKmNhbGxyZXN1bHQpOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICArK2NhbGxyZXN1bHQ7CkBAIC0xMTA2LDUyICsyNzA3LDQwIEBACiAgICAgICAgICAgICBjYXNlICdSJzoKICAgICAgICAgICAgIGNhc2UgJ0EnOgogICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIFB5X1VOSUNPREUgKnVjb3B5OwotICAgICAgICAgICAgICAgIFB5X3NzaXplX3QgdXNpemU7Ci0gICAgICAgICAgICAgICAgUHlfc3NpemVfdCB1cG9zOworICAgICAgICAgICAgICAgIFB5X3NzaXplX3Qgc2l6ZSA9IFB5VW5pY29kZV9HRVRfTEVOR1RIKCpjYWxscmVzdWx0KTsKICAgICAgICAgICAgICAgICAvKiB1bnVzZWQsIHNpbmNlIHdlIGFscmVhZHkgaGF2ZSB0aGUgcmVzdWx0ICovCiAgICAgICAgICAgICAgICAgKHZvaWQpIHZhX2FyZyh2YXJncywgUHlPYmplY3QgKik7Ci0gICAgICAgICAgICAgICAgdWNvcHkgPSBQeVVuaWNvZGVfQVNfVU5JQ09ERSgqY2FsbHJlc3VsdCk7Ci0gICAgICAgICAgICAgICAgdXNpemUgPSBQeVVuaWNvZGVfR0VUX1NJWkUoKmNhbGxyZXN1bHQpOwotICAgICAgICAgICAgICAgIGZvciAodXBvcyA9IDA7IHVwb3M8dXNpemU7KQotICAgICAgICAgICAgICAgICAgICAqcysrID0gdWNvcHlbdXBvcysrXTsKKyAgICAgICAgICAgICAgICBhc3NlcnQoUHlVbmljb2RlX0tJTkQoKmNhbGxyZXN1bHQpIDw9IFB5VW5pY29kZV9LSU5EKHN0cmluZykpOworICAgICAgICAgICAgICAgIGNvcHlfY2hhcmFjdGVycyhzdHJpbmcsIGksICpjYWxscmVzdWx0LCAwLCAgc2l6ZSk7CisgICAgICAgICAgICAgICAgaSArPSBzaXplOwogICAgICAgICAgICAgICAgIC8qIFdlJ3JlIGRvbmUgd2l0aCB0aGUgdW5pY29kZSgpL3JlcHIoKSA9PiBmb3JnZXQgaXQgKi8KICAgICAgICAgICAgICAgICBQeV9ERUNSRUYoKmNhbGxyZXN1bHQpOwogICAgICAgICAgICAgICAgIC8qIHN3aXRjaCB0byBuZXh0IHVuaWNvZGUoKS9yZXByKCkgcmVzdWx0ICovCiAgICAgICAgICAgICAgICAgKytjYWxscmVzdWx0OwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgY2FzZSAncCc6Ci0gICAgICAgICAgICAgICAgc3ByaW50ZihidWZmZXIsICIlcCIsIHZhX2FyZyh2YXJncywgdm9pZCopKTsKLSAgICAgICAgICAgICAgICAvKiAlcCBpcyBpbGwtZGVmaW5lZDogIGVuc3VyZSBsZWFkaW5nIDB4LiAqLwotICAgICAgICAgICAgICAgIGlmIChidWZmZXJbMV0gPT0gJ1gnKQotICAgICAgICAgICAgICAgICAgICBidWZmZXJbMV0gPSAneCc7Ci0gICAgICAgICAgICAgICAgZWxzZSBpZiAoYnVmZmVyWzFdICE9ICd4JykgewotICAgICAgICAgICAgICAgICAgICBtZW1tb3ZlKGJ1ZmZlcisyLCBidWZmZXIsIHN0cmxlbihidWZmZXIpKzEpOwotICAgICAgICAgICAgICAgICAgICBidWZmZXJbMF0gPSAnMCc7Ci0gICAgICAgICAgICAgICAgICAgIGJ1ZmZlclsxXSA9ICd4JzsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgYXBwZW5kc3RyaW5nKGJ1ZmZlcik7Ci0gICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBjYXNlICclJzoKLSAgICAgICAgICAgICAgICAqcysrID0gJyUnOworICAgICAgICAgICAgICAgIFB5VW5pY29kZV9XUklURShraW5kLCBkYXRhLCBpKyssICclJyk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgICAgIGFwcGVuZHN0cmluZyhwKTsKKyAgICAgICAgICAgICAgICBpICs9IHVuaWNvZGVfd3JpdGVfY3N0cihzdHJpbmcsIGksIHApOworICAgICAgICAgICAgICAgIGFzc2VydChpID09IFB5VW5pY29kZV9HRVRfTEVOR1RIKHN0cmluZykpOwogICAgICAgICAgICAgICAgIGdvdG8gZW5kOwogICAgICAgICAgICAgfQogICAgICAgICB9Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgICpzKysgPSAqZjsKKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBhc3NlcnQoaSA8IFB5VW5pY29kZV9HRVRfTEVOR1RIKHN0cmluZykpOworICAgICAgICAgICAgUHlVbmljb2RlX1dSSVRFKGtpbmQsIGRhdGEsIGkrKywgKmYpOworICAgICAgICB9CiAgICAgfQorICAgIGFzc2VydChpID09IFB5VW5pY29kZV9HRVRfTEVOR1RIKHN0cmluZykpOwogCiAgIGVuZDoKICAgICBpZiAoY2FsbHJlc3VsdHMpCiAgICAgICAgIFB5T2JqZWN0X0ZyZWUoY2FsbHJlc3VsdHMpOwotICAgIGlmIChhYnVmZmVyKQotICAgICAgICBQeU9iamVjdF9GcmVlKGFidWZmZXIpOwotICAgIFB5VW5pY29kZV9SZXNpemUoJnN0cmluZywgcyAtIFB5VW5pY29kZV9BU19VTklDT0RFKHN0cmluZykpOwotICAgIHJldHVybiBzdHJpbmc7CisgICAgaWYgKG51bWJlcnJlc3VsdHMpCisgICAgICAgIFB5T2JqZWN0X0ZyZWUobnVtYmVycmVzdWx0cyk7CisgICAgcmV0dXJuIHVuaWNvZGVfcmVzdWx0KHN0cmluZyk7CiAgIGZhaWw6CiAgICAgaWYgKGNhbGxyZXN1bHRzKSB7CiAgICAgICAgIFB5T2JqZWN0ICoqY2FsbHJlc3VsdDIgPSBjYWxscmVzdWx0czsKQEAgLTExNjEsMTMgKzI3NTAsMTEgQEAKICAgICAgICAgfQogICAgICAgICBQeU9iamVjdF9GcmVlKGNhbGxyZXN1bHRzKTsKICAgICB9Ci0gICAgaWYgKGFidWZmZXIpCi0gICAgICAgIFB5T2JqZWN0X0ZyZWUoYWJ1ZmZlcik7CisgICAgaWYgKG51bWJlcnJlc3VsdHMpCisgICAgICAgIFB5T2JqZWN0X0ZyZWUobnVtYmVycmVzdWx0cyk7CiAgICAgcmV0dXJuIE5VTEw7CiB9CiAKLSN1bmRlZiBhcHBlbmRzdHJpbmcKLQogUHlPYmplY3QgKgogUHlVbmljb2RlX0Zyb21Gb3JtYXQoY29uc3QgY2hhciAqZm9ybWF0LCAuLi4pCiB7CkBAIC0xMTg0LDYgKzI3NzEsOCBAQAogICAgIHJldHVybiByZXQ7CiB9CiAKKyNpZmRlZiBIQVZFX1dDSEFSX0gKKwogLyogSGVscGVyIGZ1bmN0aW9uIGZvciBQeVVuaWNvZGVfQXNXaWRlQ2hhcigpIGFuZCBQeVVuaWNvZGVfQXNXaWRlQ2hhclN0cmluZygpOgogICAgY29udmVydCBhIFVuaWNvZGUgb2JqZWN0IHRvIGEgd2lkZSBjaGFyYWN0ZXIgc3RyaW5nLgogCkBAIC0xMTk0LDEwMyArMjc4MywyNyBAQAogICAgICBjaGFyYWN0ZXIpIHdyaXR0ZW4gaW50byB3LiBXcml0ZSBhdCBtb3N0IHNpemUgd2lkZSBjaGFyYWN0ZXJzIChpbmNsdWRpbmcKICAgICAgdGhlIG51bGwgY2hhcmFjdGVyKS4gKi8KIHN0YXRpYyBQeV9zc2l6ZV90Ci11bmljb2RlX2Fzd2lkZWNoYXIoUHlVbmljb2RlT2JqZWN0ICp1bmljb2RlLAordW5pY29kZV9hc3dpZGVjaGFyKFB5T2JqZWN0ICp1bmljb2RlLAogICAgICAgICAgICAgICAgICAgIHdjaGFyX3QgKncsCiAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBzaXplKQogewotI2lmIFB5X1VOSUNPREVfU0laRSA9PSBTSVpFT0ZfV0NIQVJfVAogICAgIFB5X3NzaXplX3QgcmVzOworICAgIGNvbnN0IHdjaGFyX3QgKndzdHI7CisKKyAgICB3c3RyID0gUHlVbmljb2RlX0FzVW5pY29kZUFuZFNpemUodW5pY29kZSwgJnJlcyk7CisgICAgaWYgKHdzdHIgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIC0xOworCiAgICAgaWYgKHcgIT0gTlVMTCkgewotICAgICAgICByZXMgPSBQeVVuaWNvZGVfR0VUX1NJWkUodW5pY29kZSk7CiAgICAgICAgIGlmIChzaXplID4gcmVzKQogICAgICAgICAgICAgc2l6ZSA9IHJlcyArIDE7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIHJlcyA9IHNpemU7Ci0gICAgICAgIG1lbWNweSh3LCB1bmljb2RlLT5zdHIsIHNpemUgKiBzaXplb2Yod2NoYXJfdCkpOworICAgICAgICBQeV9NRU1DUFkodywgd3N0ciwgc2l6ZSAqIHNpemVvZih3Y2hhcl90KSk7CiAgICAgICAgIHJldHVybiByZXM7CiAgICAgfQogICAgIGVsc2UKLSAgICAgICAgcmV0dXJuIFB5VW5pY29kZV9HRVRfU0laRSh1bmljb2RlKSArIDE7Ci0jZWxpZiBQeV9VTklDT0RFX1NJWkUgPT0gMiAmJiBTSVpFT0ZfV0NIQVJfVCA9PSA0Ci0gICAgcmVnaXN0ZXIgY29uc3QgUHlfVU5JQ09ERSAqdTsKLSAgICBjb25zdCBQeV9VTklDT0RFICp1ZW5kOwotICAgIGNvbnN0IHdjaGFyX3QgKndvcmlnLCAqd2VuZDsKLSAgICBQeV9zc2l6ZV90IG5jaGFyOwotCi0gICAgdSA9IFB5VW5pY29kZV9BU19VTklDT0RFKHVuaWNvZGUpOwotICAgIHVlbmQgPSB1ICsgUHlVbmljb2RlX0dFVF9TSVpFKHVuaWNvZGUpOwotICAgIGlmICh3ICE9IE5VTEwpIHsKLSAgICAgICAgd29yaWcgPSB3OwotICAgICAgICB3ZW5kID0gdyArIHNpemU7Ci0gICAgICAgIHdoaWxlICh1ICE9IHVlbmQgJiYgdyAhPSB3ZW5kKSB7Ci0gICAgICAgICAgICBpZiAoMHhEODAwIDw9IHVbMF0gJiYgdVswXSA8PSAweERCRkYKLSAgICAgICAgICAgICAgICAmJiAweERDMDAgPD0gdVsxXSAmJiB1WzFdIDw9IDB4REZGRikKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAqdyA9ICgoKHVbMF0gJiAweDNGRikgPDwgMTApIHwgKHVbMV0gJiAweDNGRikpICsgMHgxMDAwMDsKLSAgICAgICAgICAgICAgICB1ICs9IDI7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgICAgICAqdyA9ICp1OwotICAgICAgICAgICAgICAgIHUrKzsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHcrKzsKLSAgICAgICAgfQotICAgICAgICBpZiAodyAhPSB3ZW5kKQotICAgICAgICAgICAgKncgPSBMJ1wwJzsKLSAgICAgICAgcmV0dXJuIHcgLSB3b3JpZzsKLSAgICB9Ci0gICAgZWxzZSB7Ci0gICAgICAgIG5jaGFyID0gMTsgLyogbnVsbCBjaGFyYWN0ZXIgYXQgdGhlIGVuZCAqLwotICAgICAgICB3aGlsZSAodSAhPSB1ZW5kKSB7Ci0gICAgICAgICAgICBpZiAoMHhEODAwIDw9IHVbMF0gJiYgdVswXSA8PSAweERCRkYKLSAgICAgICAgICAgICAgICAmJiAweERDMDAgPD0gdVsxXSAmJiB1WzFdIDw9IDB4REZGRikKLSAgICAgICAgICAgICAgICB1ICs9IDI7Ci0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgdSsrOwotICAgICAgICAgICAgbmNoYXIrKzsKLSAgICAgICAgfQotICAgIH0KLSAgICByZXR1cm4gbmNoYXI7Ci0jZWxpZiBQeV9VTklDT0RFX1NJWkUgPT0gNCAmJiBTSVpFT0ZfV0NIQVJfVCA9PSAyCi0gICAgcmVnaXN0ZXIgUHlfVU5JQ09ERSAqdSwgKnVlbmQsIG9yZGluYWw7Ci0gICAgcmVnaXN0ZXIgUHlfc3NpemVfdCBpOwotICAgIHdjaGFyX3QgKndvcmlnLCAqd2VuZDsKLSAgICBQeV9zc2l6ZV90IG5jaGFyOwotCi0gICAgdSA9IFB5VW5pY29kZV9BU19VTklDT0RFKHVuaWNvZGUpOwotICAgIHVlbmQgPSB1ICsgUHlVbmljb2RlX0dFVF9TSVpFKHUpOwotICAgIGlmICh3ICE9IE5VTEwpIHsKLSAgICAgICAgd29yaWcgPSB3OwotICAgICAgICB3ZW5kID0gdyArIHNpemU7Ci0gICAgICAgIHdoaWxlICh1ICE9IHVlbmQgJiYgdyAhPSB3ZW5kKSB7Ci0gICAgICAgICAgICBvcmRpbmFsID0gKnU7Ci0gICAgICAgICAgICBpZiAob3JkaW5hbCA+IDB4ZmZmZikgewotICAgICAgICAgICAgICAgIG9yZGluYWwgLT0gMHgxMDAwMDsKLSAgICAgICAgICAgICAgICAqdysrID0gMHhEODAwIHwgKG9yZGluYWwgPj4gMTApOwotICAgICAgICAgICAgICAgICp3KysgPSAweERDMDAgfCAob3JkaW5hbCAmIDB4M0ZGKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAqdysrID0gb3JkaW5hbDsKLSAgICAgICAgICAgIHUrKzsKLSAgICAgICAgfQotICAgICAgICBpZiAodyAhPSB3ZW5kKQotICAgICAgICAgICAgKncgPSAwOwotICAgICAgICByZXR1cm4gdyAtIHdvcmlnOwotICAgIH0KLSAgICBlbHNlIHsKLSAgICAgICAgbmNoYXIgPSAxOyAvKiBudWxsIGNoYXJhY3RlciAqLwotICAgICAgICB3aGlsZSAodSAhPSB1ZW5kKSB7Ci0gICAgICAgICAgICBpZiAoKnUgPiAweGZmZmYpCi0gICAgICAgICAgICAgICAgbmNoYXIgKz0gMjsKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICBuY2hhcisrOwotICAgICAgICAgICAgdSsrOwotICAgICAgICB9Ci0gICAgICAgIHJldHVybiBuY2hhcjsKLSAgICB9Ci0jZWxzZQotIyAgZXJyb3IgInVuc3VwcG9ydGVkIHdjaGFyX3QgYW5kIFB5X1VOSUNPREUgc2l6ZXMsIHNlZSBpc3N1ZSAjODY3MCIKLSNlbmRpZgorICAgICAgICByZXR1cm4gcmVzICsgMTsKIH0KIAogUHlfc3NpemVfdApAQCAtMTMwMiw3ICsyODE1LDcgQEAKICAgICAgICAgUHlFcnJfQmFkSW50ZXJuYWxDYWxsKCk7CiAgICAgICAgIHJldHVybiAtMTsKICAgICB9Ci0gICAgcmV0dXJuIHVuaWNvZGVfYXN3aWRlY2hhcigoUHlVbmljb2RlT2JqZWN0Kil1bmljb2RlLCB3LCBzaXplKTsKKyAgICByZXR1cm4gdW5pY29kZV9hc3dpZGVjaGFyKHVuaWNvZGUsIHcsIHNpemUpOwogfQogCiB3Y2hhcl90KgpAQCAtMTMxNyw3ICsyODMwLDkgQEAKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogCi0gICAgYnVmbGVuID0gdW5pY29kZV9hc3dpZGVjaGFyKChQeVVuaWNvZGVPYmplY3QgKil1bmljb2RlLCBOVUxMLCAwKTsKKyAgICBidWZsZW4gPSB1bmljb2RlX2Fzd2lkZWNoYXIodW5pY29kZSwgTlVMTCwgMCk7CisgICAgaWYgKGJ1ZmxlbiA9PSAtMSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgaWYgKFBZX1NTSVpFX1RfTUFYIC8gc2l6ZW9mKHdjaGFyX3QpIDwgYnVmbGVuKSB7CiAgICAgICAgIFB5RXJyX05vTWVtb3J5KCk7CiAgICAgICAgIHJldHVybiBOVUxMOwpAQCAtMTMyOCw1MCArMjg0Myw1MiBAQAogICAgICAgICBQeUVycl9Ob01lbW9yeSgpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9Ci0gICAgYnVmbGVuID0gdW5pY29kZV9hc3dpZGVjaGFyKChQeVVuaWNvZGVPYmplY3QgKil1bmljb2RlLCBidWZmZXIsIGJ1Zmxlbik7CisgICAgYnVmbGVuID0gdW5pY29kZV9hc3dpZGVjaGFyKHVuaWNvZGUsIGJ1ZmZlciwgYnVmbGVuKTsKKyAgICBpZiAoYnVmbGVuID09IC0xKQorICAgICAgICByZXR1cm4gTlVMTDsKICAgICBpZiAoc2l6ZSAhPSBOVUxMKQogICAgICAgICAqc2l6ZSA9IGJ1ZmxlbjsKICAgICByZXR1cm4gYnVmZmVyOwogfQogCi0jZW5kaWYKKyNlbmRpZiAvKiBIQVZFX1dDSEFSX0ggKi8KIAotUHlPYmplY3QgKlB5VW5pY29kZV9Gcm9tT3JkaW5hbChpbnQgb3JkaW5hbCkKK1B5T2JqZWN0ICoKK1B5VW5pY29kZV9Gcm9tT3JkaW5hbChpbnQgb3JkaW5hbCkKIHsKLSAgICBQeV9VTklDT0RFIHNbMl07Ci0KLSAgICBpZiAob3JkaW5hbCA8IDAgfHwgb3JkaW5hbCA+IDB4MTBmZmZmKSB7CisgICAgUHlPYmplY3QgKnY7CisgICAgaWYgKG9yZGluYWwgPCAwIHx8IG9yZGluYWwgPiBNQVhfVU5JQ09ERSkgewogICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwKICAgICAgICAgICAgICAgICAgICAgICAgICJjaHIoKSBhcmcgbm90IGluIHJhbmdlKDB4MTEwMDAwKSIpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAKLSNpZm5kZWYgUHlfVU5JQ09ERV9XSURFCi0gICAgaWYgKG9yZGluYWwgPiAweGZmZmYpIHsKLSAgICAgICAgb3JkaW5hbCAtPSAweDEwMDAwOwotICAgICAgICBzWzBdID0gMHhEODAwIHwgKG9yZGluYWwgPj4gMTApOwotICAgICAgICBzWzFdID0gMHhEQzAwIHwgKG9yZGluYWwgJiAweDNGRik7Ci0gICAgICAgIHJldHVybiBQeVVuaWNvZGVfRnJvbVVuaWNvZGUocywgMik7Ci0gICAgfQotI2VuZGlmCisgICAgaWYgKG9yZGluYWwgPCAyNTYpCisgICAgICAgIHJldHVybiBnZXRfbGF0aW4xX2NoYXIob3JkaW5hbCk7CiAKLSAgICBzWzBdID0gKFB5X1VOSUNPREUpb3JkaW5hbDsKLSAgICByZXR1cm4gUHlVbmljb2RlX0Zyb21Vbmljb2RlKHMsIDEpOworICAgIHYgPSBQeVVuaWNvZGVfTmV3KDEsIG9yZGluYWwpOworICAgIGlmICh2ID09IE5VTEwpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIFB5VW5pY29kZV9XUklURShQeVVuaWNvZGVfS0lORCh2KSwgUHlVbmljb2RlX0RBVEEodiksIDAsIG9yZGluYWwpOworICAgIGFzc2VydChfUHlVbmljb2RlX0NoZWNrQ29uc2lzdGVuY3kodiwgMSkpOworICAgIHJldHVybiB2OwogfQogCi1QeU9iamVjdCAqUHlVbmljb2RlX0Zyb21PYmplY3QocmVnaXN0ZXIgUHlPYmplY3QgKm9iaikKK1B5T2JqZWN0ICoKK1B5VW5pY29kZV9Gcm9tT2JqZWN0KHJlZ2lzdGVyIFB5T2JqZWN0ICpvYmopCiB7CiAgICAgLyogWFhYIFBlcmhhcHMgd2Ugc2hvdWxkIG1ha2UgdGhpcyBBUEkgYW4gYWxpYXMgb2YKICAgICAgICBQeU9iamVjdF9TdHIoKSBpbnN0ZWFkID8hICovCiAgICAgaWYgKFB5VW5pY29kZV9DaGVja0V4YWN0KG9iaikpIHsKKyAgICAgICAgaWYgKFB5VW5pY29kZV9SRUFEWShvYmopID09IC0xKQorICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgIFB5X0lOQ1JFRihvYmopOwogICAgICAgICByZXR1cm4gb2JqOwogICAgIH0KICAgICBpZiAoUHlVbmljb2RlX0NoZWNrKG9iaikpIHsKICAgICAgICAgLyogRm9yIGEgVW5pY29kZSBzdWJ0eXBlIHRoYXQncyBub3QgYSBVbmljb2RlIG9iamVjdCwKICAgICAgICAgICAgcmV0dXJuIGEgdHJ1ZSBVbmljb2RlIG9iamVjdCB3aXRoIHRoZSBzYW1lIGRhdGEuICovCi0gICAgICAgIHJldHVybiBQeVVuaWNvZGVfRnJvbVVuaWNvZGUoUHlVbmljb2RlX0FTX1VOSUNPREUob2JqKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfR0VUX1NJWkUob2JqKSk7CisgICAgICAgIHJldHVybiBfUHlVbmljb2RlX0NvcHkob2JqKTsKICAgICB9CiAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1R5cGVFcnJvciwKICAgICAgICAgICAgICAgICAgIkNhbid0IGNvbnZlcnQgJyUuMTAwcycgb2JqZWN0IHRvIHN0ciBpbXBsaWNpdGx5IiwKQEAgLTEzNzksOSArMjg5NiwxMCBAQAogICAgIHJldHVybiBOVUxMOwogfQogCi1QeU9iamVjdCAqUHlVbmljb2RlX0Zyb21FbmNvZGVkT2JqZWN0KHJlZ2lzdGVyIFB5T2JqZWN0ICpvYmosCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmVuY29kaW5nLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICplcnJvcnMpCitQeU9iamVjdCAqCitQeVVuaWNvZGVfRnJvbUVuY29kZWRPYmplY3QocmVnaXN0ZXIgUHlPYmplY3QgKm9iaiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICplbmNvZGluZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICplcnJvcnMpCiB7CiAgICAgUHlfYnVmZmVyIGJ1ZmZlcjsKICAgICBQeU9iamVjdCAqdjsKQEAgLTEzOTUsNyArMjkxMyw3IEBACiAgICAgaWYgKFB5Qnl0ZXNfQ2hlY2sob2JqKSkgewogICAgICAgICBpZiAoUHlCeXRlc19HRVRfU0laRShvYmopID09IDApIHsKICAgICAgICAgICAgIFB5X0lOQ1JFRih1bmljb2RlX2VtcHR5KTsKLSAgICAgICAgICAgIHYgPSAoUHlPYmplY3QgKikgdW5pY29kZV9lbXB0eTsKKyAgICAgICAgICAgIHYgPSB1bmljb2RlX2VtcHR5OwogICAgICAgICB9CiAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgdiA9IFB5VW5pY29kZV9EZWNvZGUoCkBAIC0xNDIyLDcgKzI5NDAsNyBAQAogCiAgICAgaWYgKGJ1ZmZlci5sZW4gPT0gMCkgewogICAgICAgICBQeV9JTkNSRUYodW5pY29kZV9lbXB0eSk7Ci0gICAgICAgIHYgPSAoUHlPYmplY3QgKikgdW5pY29kZV9lbXB0eTsKKyAgICAgICAgdiA9IHVuaWNvZGVfZW1wdHk7CiAgICAgfQogICAgIGVsc2UKICAgICAgICAgdiA9IFB5VW5pY29kZV9EZWNvZGUoKGNoYXIqKSBidWZmZXIuYnVmLCBidWZmZXIubGVuLCBlbmNvZGluZywgZXJyb3JzKTsKQEAgLTE0NDMsNiArMjk2MSwxMCBAQAogICAgIGNoYXIgKmw7CiAgICAgY2hhciAqbF9lbmQ7CiAKKyAgICBpZiAoZW5jb2RpbmcgPT0gTlVMTCkgeworICAgICAgICBzdHJjcHkobG93ZXIsICJ1dGYtOCIpOworICAgICAgICByZXR1cm4gMTsKKyAgICB9CiAgICAgZSA9IGVuY29kaW5nOwogICAgIGwgPSBsb3dlcjsKICAgICBsX2VuZCA9ICZsb3dlcltsb3dlcl9sZW4gLSAxXTsKQEAgLTE0NjQsMjYgKzI5ODYsMjYgQEAKICAgICByZXR1cm4gMTsKIH0KIAotUHlPYmplY3QgKlB5VW5pY29kZV9EZWNvZGUoY29uc3QgY2hhciAqcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3Qgc2l6ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmVuY29kaW5nLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZXJyb3JzKQorUHlPYmplY3QgKgorUHlVbmljb2RlX0RlY29kZShjb25zdCBjaGFyICpzLAorICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IHNpemUsCisgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmVuY29kaW5nLAorICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICplcnJvcnMpCiB7CiAgICAgUHlPYmplY3QgKmJ1ZmZlciA9IE5VTEwsICp1bmljb2RlOwogICAgIFB5X2J1ZmZlciBpbmZvOwogICAgIGNoYXIgbG93ZXJbMTFdOyAgLyogRW5vdWdoIGZvciBhbnkgZW5jb2Rpbmcgc2hvcnRjdXQgKi8KIAotICAgIGlmIChlbmNvZGluZyA9PSBOVUxMKQotICAgICAgICBlbmNvZGluZyA9IFB5VW5pY29kZV9HZXREZWZhdWx0RW5jb2RpbmcoKTsKLQogICAgIC8qIFNob3J0Y3V0cyBmb3IgY29tbW9uIGRlZmF1bHQgZW5jb2RpbmdzICovCiAgICAgaWYgKG5vcm1hbGl6ZV9lbmNvZGluZyhlbmNvZGluZywgbG93ZXIsIHNpemVvZihsb3dlcikpKSB7Ci0gICAgICAgIGlmIChzdHJjbXAobG93ZXIsICJ1dGYtOCIpID09IDApCi0gICAgICAgICAgICByZXR1cm4gUHlVbmljb2RlX0RlY29kZVVURjgocywgc2l6ZSwgZXJyb3JzKTsKKyAgICAgICAgaWYgKChzdHJjbXAobG93ZXIsICJ1dGYtOCIpID09IDApIHx8CisgICAgICAgICAgICAoc3RyY21wKGxvd2VyLCAidXRmOCIpID09IDApKQorICAgICAgICAgICAgcmV0dXJuIFB5VW5pY29kZV9EZWNvZGVVVEY4U3RhdGVmdWwocywgc2l6ZSwgZXJyb3JzLCBOVUxMKTsKICAgICAgICAgZWxzZSBpZiAoKHN0cmNtcChsb3dlciwgImxhdGluLTEiKSA9PSAwKSB8fAorICAgICAgICAgICAgICAgICAoc3RyY21wKGxvd2VyLCAibGF0aW4xIikgPT0gMCkgfHwKICAgICAgICAgICAgICAgICAgKHN0cmNtcChsb3dlciwgImlzby04ODU5LTEiKSA9PSAwKSkKICAgICAgICAgICAgIHJldHVybiBQeVVuaWNvZGVfRGVjb2RlTGF0aW4xKHMsIHNpemUsIGVycm9ycyk7Ci0jaWYgZGVmaW5lZChNU19XSU5ET1dTKSAmJiBkZWZpbmVkKEhBVkVfVVNBQkxFX1dDSEFSX1QpCisjaWZkZWYgSEFWRV9NQkNTCiAgICAgICAgIGVsc2UgaWYgKHN0cmNtcChsb3dlciwgIm1iY3MiKSA9PSAwKQogICAgICAgICAgICAgcmV0dXJuIFB5VW5pY29kZV9EZWNvZGVNQkNTKHMsIHNpemUsIGVycm9ycyk7CiAjZW5kaWYKQEAgLTE1MTMsMTYgKzMwMzUsMTcgQEAKICAgICAgICAgZ290byBvbkVycm9yOwogICAgIH0KICAgICBQeV9ERUNSRUYoYnVmZmVyKTsKLSAgICByZXR1cm4gdW5pY29kZTsKKyAgICByZXR1cm4gdW5pY29kZV9yZXN1bHQodW5pY29kZSk7CiAKICAgb25FcnJvcjoKICAgICBQeV9YREVDUkVGKGJ1ZmZlcik7CiAgICAgcmV0dXJuIE5VTEw7CiB9CiAKLVB5T2JqZWN0ICpQeVVuaWNvZGVfQXNEZWNvZGVkT2JqZWN0KFB5T2JqZWN0ICp1bmljb2RlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZW5jb2RpbmcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICplcnJvcnMpCitQeU9iamVjdCAqCitQeVVuaWNvZGVfQXNEZWNvZGVkT2JqZWN0KFB5T2JqZWN0ICp1bmljb2RlLAorICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICplbmNvZGluZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZXJyb3JzKQogewogICAgIFB5T2JqZWN0ICp2OwogCkBAIC0xNTM4LDE1ICszMDYxLDE2IEBACiAgICAgdiA9IFB5Q29kZWNfRGVjb2RlKHVuaWNvZGUsIGVuY29kaW5nLCBlcnJvcnMpOwogICAgIGlmICh2ID09IE5VTEwpCiAgICAgICAgIGdvdG8gb25FcnJvcjsKLSAgICByZXR1cm4gdjsKKyAgICByZXR1cm4gdW5pY29kZV9yZXN1bHQodik7CiAKICAgb25FcnJvcjoKICAgICByZXR1cm4gTlVMTDsKIH0KIAotUHlPYmplY3QgKlB5VW5pY29kZV9Bc0RlY29kZWRVbmljb2RlKFB5T2JqZWN0ICp1bmljb2RlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmVuY29kaW5nLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmVycm9ycykKK1B5T2JqZWN0ICoKK1B5VW5pY29kZV9Bc0RlY29kZWRVbmljb2RlKFB5T2JqZWN0ICp1bmljb2RlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZW5jb2RpbmcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICplcnJvcnMpCiB7CiAgICAgUHlPYmplY3QgKnY7CiAKQEAgLTE1NjksMTYgKzMwOTMsMTcgQEAKICAgICAgICAgUHlfREVDUkVGKHYpOwogICAgICAgICBnb3RvIG9uRXJyb3I7CiAgICAgfQotICAgIHJldHVybiB2OworICAgIHJldHVybiB1bmljb2RlX3Jlc3VsdCh2KTsKIAogICBvbkVycm9yOgogICAgIHJldHVybiBOVUxMOwogfQogCi1QeU9iamVjdCAqUHlVbmljb2RlX0VuY29kZShjb25zdCBQeV9VTklDT0RFICpzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBzaXplLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZW5jb2RpbmcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICplcnJvcnMpCitQeU9iamVjdCAqCitQeVVuaWNvZGVfRW5jb2RlKGNvbnN0IFB5X1VOSUNPREUgKnMsCisgICAgICAgICAgICAgICAgIFB5X3NzaXplX3Qgc2l6ZSwKKyAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZW5jb2RpbmcsCisgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmVycm9ycykKIHsKICAgICBQeU9iamVjdCAqdiwgKnVuaWNvZGU7CiAKQEAgLTE1OTAsOSArMzExNSwxMCBAQAogICAgIHJldHVybiB2OwogfQogCi1QeU9iamVjdCAqUHlVbmljb2RlX0FzRW5jb2RlZE9iamVjdChQeU9iamVjdCAqdW5pY29kZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmVuY29kaW5nLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZXJyb3JzKQorUHlPYmplY3QgKgorUHlVbmljb2RlX0FzRW5jb2RlZE9iamVjdChQeU9iamVjdCAqdW5pY29kZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZW5jb2RpbmcsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmVycm9ycykKIHsKICAgICBQeU9iamVjdCAqdjsKIApAQCAtMTYxNCwxNyArMzE0MCwxOTIgQEAKICAgICByZXR1cm4gTlVMTDsKIH0KIAorc3RhdGljIHNpemVfdAord2NzdG9tYnNfZXJyb3Jwb3MoY29uc3Qgd2NoYXJfdCAqd3N0cikKK3sKKyAgICBzaXplX3QgbGVuOworI2lmIFNJWkVPRl9XQ0hBUl9UID09IDIKKyAgICB3Y2hhcl90IGJ1ZlszXTsKKyNlbHNlCisgICAgd2NoYXJfdCBidWZbMl07CisjZW5kaWYKKyAgICBjaGFyIG91dGJ1ZltNQl9MRU5fTUFYXTsKKyAgICBjb25zdCB3Y2hhcl90ICpzdGFydCwgKnByZXZpb3VzOworCisjaWYgU0laRU9GX1dDSEFSX1QgPT0gMgorICAgIGJ1ZlsyXSA9IDA7CisjZWxzZQorICAgIGJ1ZlsxXSA9IDA7CisjZW5kaWYKKyAgICBzdGFydCA9IHdzdHI7CisgICAgd2hpbGUgKCp3c3RyICE9IEwnXDAnKQorICAgIHsKKyAgICAgICAgcHJldmlvdXMgPSB3c3RyOworI2lmIFNJWkVPRl9XQ0hBUl9UID09IDIKKyAgICAgICAgaWYgKFB5X1VOSUNPREVfSVNfSElHSF9TVVJST0dBVEUod3N0clswXSkKKyAgICAgICAgICAgICYmIFB5X1VOSUNPREVfSVNfTE9XX1NVUlJPR0FURSh3c3RyWzFdKSkKKyAgICAgICAgeworICAgICAgICAgICAgYnVmWzBdID0gd3N0clswXTsKKyAgICAgICAgICAgIGJ1ZlsxXSA9IHdzdHJbMV07CisgICAgICAgICAgICB3c3RyICs9IDI7CisgICAgICAgIH0KKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBidWZbMF0gPSAqd3N0cjsKKyAgICAgICAgICAgIGJ1ZlsxXSA9IDA7CisgICAgICAgICAgICB3c3RyKys7CisgICAgICAgIH0KKyNlbHNlCisgICAgICAgIGJ1ZlswXSA9ICp3c3RyOworICAgICAgICB3c3RyKys7CisjZW5kaWYKKyAgICAgICAgbGVuID0gd2NzdG9tYnMob3V0YnVmLCBidWYsIHNpemVvZihvdXRidWYpKTsKKyAgICAgICAgaWYgKGxlbiA9PSAoc2l6ZV90KS0xKQorICAgICAgICAgICAgcmV0dXJuIHByZXZpb3VzIC0gc3RhcnQ7CisgICAgfQorCisgICAgLyogZmFpbGVkIHRvIGZpbmQgdGhlIHVuZW5jb2RhYmxlIGNoYXJhY3RlciAqLworICAgIHJldHVybiAwOworfQorCitzdGF0aWMgaW50Citsb2NhbGVfZXJyb3JfaGFuZGxlcihjb25zdCBjaGFyICplcnJvcnMsIGludCAqc3Vycm9nYXRlZXNjYXBlKQoreworICAgIGlmIChlcnJvcnMgPT0gTlVMTCkgeworICAgICAgICAqc3Vycm9nYXRlZXNjYXBlID0gMDsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorCisgICAgaWYgKHN0cmNtcChlcnJvcnMsICJzdHJpY3QiKSA9PSAwKSB7CisgICAgICAgICpzdXJyb2dhdGVlc2NhcGUgPSAwOworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisgICAgaWYgKHN0cmNtcChlcnJvcnMsICJzdXJyb2dhdGVlc2NhcGUiKSA9PSAwKSB7CisgICAgICAgICpzdXJyb2dhdGVlc2NhcGUgPSAxOworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1ZhbHVlRXJyb3IsCisgICAgICAgICAgICAgICAgICJvbmx5ICdzdHJpY3QnIGFuZCAnc3Vycm9nYXRlZXNjYXBlJyBlcnJvciBoYW5kbGVycyAiCisgICAgICAgICAgICAgICAgICJhcmUgc3VwcG9ydGVkLCBub3QgJyVzJyIsCisgICAgICAgICAgICAgICAgIGVycm9ycyk7CisgICAgcmV0dXJuIC0xOworfQorCitQeU9iamVjdCAqCitQeVVuaWNvZGVfRW5jb2RlTG9jYWxlKFB5T2JqZWN0ICp1bmljb2RlLCBjb25zdCBjaGFyICplcnJvcnMpCit7CisgICAgUHlfc3NpemVfdCB3bGVuLCB3bGVuMjsKKyAgICB3Y2hhcl90ICp3c3RyOworICAgIFB5T2JqZWN0ICpieXRlcyA9IE5VTEw7CisgICAgY2hhciAqZXJybXNnOworICAgIFB5T2JqZWN0ICpyZWFzb247CisgICAgUHlPYmplY3QgKmV4YzsKKyAgICBzaXplX3QgZXJyb3JfcG9zOworICAgIGludCBzdXJyb2dhdGVlc2NhcGU7CisKKyAgICBpZiAobG9jYWxlX2Vycm9yX2hhbmRsZXIoZXJyb3JzLCAmc3Vycm9nYXRlZXNjYXBlKSA8IDApCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgd3N0ciA9IFB5VW5pY29kZV9Bc1dpZGVDaGFyU3RyaW5nKHVuaWNvZGUsICZ3bGVuKTsKKyAgICBpZiAod3N0ciA9PSBOVUxMKQorICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIHdsZW4yID0gd2NzbGVuKHdzdHIpOworICAgIGlmICh3bGVuMiAhPSB3bGVuKSB7CisgICAgICAgIFB5TWVtX0ZyZWUod3N0cik7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsICJlbWJlZGRlZCBudWxsIGNoYXJhY3RlciIpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisKKyAgICBpZiAoc3Vycm9nYXRlZXNjYXBlKSB7CisgICAgICAgIC8qIGxvY2FsZSBlbmNvZGluZyB3aXRoIHN1cnJvZ2F0ZWVzY2FwZSAqLworICAgICAgICBjaGFyICpzdHI7CisKKyAgICAgICAgc3RyID0gX1B5X3djaGFyMmNoYXIod3N0ciwgJmVycm9yX3Bvcyk7CisgICAgICAgIGlmIChzdHIgPT0gTlVMTCkgeworICAgICAgICAgICAgaWYgKGVycm9yX3BvcyA9PSAoc2l6ZV90KS0xKSB7CisgICAgICAgICAgICAgICAgUHlFcnJfTm9NZW1vcnkoKTsKKyAgICAgICAgICAgICAgICBQeU1lbV9GcmVlKHdzdHIpOworICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICAgICAgfQorICAgICAgICAgICAgZWxzZSB7CisgICAgICAgICAgICAgICAgZ290byBlbmNvZGVfZXJyb3I7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgUHlNZW1fRnJlZSh3c3RyKTsKKworICAgICAgICBieXRlcyA9IFB5Qnl0ZXNfRnJvbVN0cmluZyhzdHIpOworICAgICAgICBQeU1lbV9GcmVlKHN0cik7CisgICAgfQorICAgIGVsc2UgeworICAgICAgICBzaXplX3QgbGVuLCBsZW4yOworCisgICAgICAgIGxlbiA9IHdjc3RvbWJzKE5VTEwsIHdzdHIsIDApOworICAgICAgICBpZiAobGVuID09IChzaXplX3QpLTEpIHsKKyAgICAgICAgICAgIGVycm9yX3BvcyA9IChzaXplX3QpLTE7CisgICAgICAgICAgICBnb3RvIGVuY29kZV9lcnJvcjsKKyAgICAgICAgfQorCisgICAgICAgIGJ5dGVzID0gUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZShOVUxMLCBsZW4pOworICAgICAgICBpZiAoYnl0ZXMgPT0gTlVMTCkgeworICAgICAgICAgICAgUHlNZW1fRnJlZSh3c3RyKTsKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICB9CisKKyAgICAgICAgbGVuMiA9IHdjc3RvbWJzKFB5Qnl0ZXNfQVNfU1RSSU5HKGJ5dGVzKSwgd3N0ciwgbGVuKzEpOworICAgICAgICBpZiAobGVuMiA9PSAoc2l6ZV90KS0xIHx8IGxlbjIgPiBsZW4pIHsKKyAgICAgICAgICAgIGVycm9yX3BvcyA9IChzaXplX3QpLTE7CisgICAgICAgICAgICBnb3RvIGVuY29kZV9lcnJvcjsKKyAgICAgICAgfQorICAgICAgICBQeU1lbV9GcmVlKHdzdHIpOworICAgIH0KKyAgICByZXR1cm4gYnl0ZXM7CisKK2VuY29kZV9lcnJvcjoKKyAgICBlcnJtc2cgPSBzdHJlcnJvcihlcnJubyk7CisgICAgYXNzZXJ0KGVycm1zZyAhPSBOVUxMKTsKKworICAgIGlmIChlcnJvcl9wb3MgPT0gKHNpemVfdCktMSkKKyAgICAgICAgZXJyb3JfcG9zID0gd2NzdG9tYnNfZXJyb3Jwb3Mod3N0cik7CisKKyAgICBQeU1lbV9GcmVlKHdzdHIpOworICAgIFB5X1hERUNSRUYoYnl0ZXMpOworCisgICAgaWYgKGVycm1zZyAhPSBOVUxMKSB7CisgICAgICAgIHNpemVfdCBlcnJsZW47CisgICAgICAgIHdzdHIgPSBfUHlfY2hhcjJ3Y2hhcihlcnJtc2csICZlcnJsZW4pOworICAgICAgICBpZiAod3N0ciAhPSBOVUxMKSB7CisgICAgICAgICAgICByZWFzb24gPSBQeVVuaWNvZGVfRnJvbVdpZGVDaGFyKHdzdHIsIGVycmxlbik7CisgICAgICAgICAgICBQeU1lbV9GcmVlKHdzdHIpOworICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgIGVycm1zZyA9IE5VTEw7CisgICAgfQorICAgIGlmIChlcnJtc2cgPT0gTlVMTCkKKyAgICAgICAgcmVhc29uID0gUHlVbmljb2RlX0Zyb21TdHJpbmcoCisgICAgICAgICAgICAid2NzdG9tYnMoKSBlbmNvdW50ZXJlZCBhbiB1bmVuY29kYWJsZSAiCisgICAgICAgICAgICAid2lkZSBjaGFyYWN0ZXIiKTsKKyAgICBpZiAocmVhc29uID09IE5VTEwpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgZXhjID0gUHlPYmplY3RfQ2FsbEZ1bmN0aW9uKFB5RXhjX1VuaWNvZGVFbmNvZGVFcnJvciwgInNPbm5PIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImxvY2FsZSIsIHVuaWNvZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChQeV9zc2l6ZV90KWVycm9yX3BvcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFB5X3NzaXplX3QpKGVycm9yX3BvcysxKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhc29uKTsKKyAgICBQeV9ERUNSRUYocmVhc29uKTsKKyAgICBpZiAoZXhjICE9IE5VTEwpIHsKKyAgICAgICAgUHlDb2RlY19TdHJpY3RFcnJvcnMoZXhjKTsKKyAgICAgICAgUHlfWERFQ1JFRihleGMpOworICAgIH0KKyAgICByZXR1cm4gTlVMTDsKK30KKwogUHlPYmplY3QgKgogUHlVbmljb2RlX0VuY29kZUZTRGVmYXVsdChQeU9iamVjdCAqdW5pY29kZSkKIHsKLSNpZiBkZWZpbmVkKE1TX1dJTkRPV1MpICYmIGRlZmluZWQoSEFWRV9VU0FCTEVfV0NIQVJfVCkKLSAgICByZXR1cm4gUHlVbmljb2RlX0VuY29kZU1CQ1MoUHlVbmljb2RlX0FTX1VOSUNPREUodW5pY29kZSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9HRVRfU0laRSh1bmljb2RlKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCk7CisjaWZkZWYgSEFWRV9NQkNTCisgICAgcmV0dXJuIFB5VW5pY29kZV9FbmNvZGVDb2RlUGFnZShDUF9BQ1AsIHVuaWNvZGUsIE5VTEwpOwogI2VsaWYgZGVmaW5lZChfX0FQUExFX18pCi0gICAgcmV0dXJuIFB5VW5pY29kZV9FbmNvZGVVVEY4KFB5VW5pY29kZV9BU19VTklDT0RFKHVuaWNvZGUpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfR0VUX1NJWkUodW5pY29kZSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzdXJyb2dhdGVlc2NhcGUiKTsKKyAgICByZXR1cm4gX1B5VW5pY29kZV9Bc1VURjhTdHJpbmcodW5pY29kZSwgInN1cnJvZ2F0ZWVzY2FwZSIpOwogI2Vsc2UKICAgICBQeUludGVycHJldGVyU3RhdGUgKmludGVycCA9IFB5VGhyZWFkU3RhdGVfR0VUKCktPmludGVycDsKICAgICAvKiBCb290c3RyYXAgY2hlY2s6IGlmIHRoZSBmaWxlc3lzdGVtIGNvZGVjIGlzIGltcGxlbWVudGVkIGluIFB5dGhvbiwgd2UKQEAgLTE2NDIsNDYgKzMzNDMsMTUgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInN1cnJvZ2F0ZWVzY2FwZSIpOwogICAgIH0KICAgICBlbHNlIHsKLSAgICAgICAgLyogbG9jYWxlIGVuY29kaW5nIHdpdGggc3Vycm9nYXRlZXNjYXBlICovCi0gICAgICAgIHdjaGFyX3QgKndjaGFyOwotICAgICAgICBjaGFyICpieXRlczsKLSAgICAgICAgUHlPYmplY3QgKmJ5dGVzX29iajsKLSAgICAgICAgc2l6ZV90IGVycm9yX3BvczsKLQotICAgICAgICB3Y2hhciA9IFB5VW5pY29kZV9Bc1dpZGVDaGFyU3RyaW5nKHVuaWNvZGUsIE5VTEwpOwotICAgICAgICBpZiAod2NoYXIgPT0gTlVMTCkKLSAgICAgICAgICAgIHJldHVybiBOVUxMOwotICAgICAgICBieXRlcyA9IF9QeV93Y2hhcjJjaGFyKHdjaGFyLCAmZXJyb3JfcG9zKTsKLSAgICAgICAgaWYgKGJ5dGVzID09IE5VTEwpIHsKLSAgICAgICAgICAgIGlmIChlcnJvcl9wb3MgIT0gKHNpemVfdCktMSkgewotICAgICAgICAgICAgICAgIGNoYXIgKmVycm1zZyA9IHN0cmVycm9yKGVycm5vKTsKLSAgICAgICAgICAgICAgICBQeU9iamVjdCAqZXhjID0gTlVMTDsKLSAgICAgICAgICAgICAgICBpZiAoZXJybXNnID09IE5VTEwpCi0gICAgICAgICAgICAgICAgICAgIGVycm1zZyA9ICJQeV93Y2hhcjJjaGFyKCkgZmFpbGVkIjsKLSAgICAgICAgICAgICAgICByYWlzZV9lbmNvZGVfZXhjZXB0aW9uKCZleGMsCi0gICAgICAgICAgICAgICAgICAgICJmaWxlc3lzdGVtZW5jb2RpbmciLAotICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfQVNfVU5JQ09ERSh1bmljb2RlKSwgUHlVbmljb2RlX0dFVF9TSVpFKHVuaWNvZGUpLAotICAgICAgICAgICAgICAgICAgICBlcnJvcl9wb3MsIGVycm9yX3BvcysxLAotICAgICAgICAgICAgICAgICAgICBlcnJtc2cpOwotICAgICAgICAgICAgICAgIFB5X1hERUNSRUYoZXhjKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICBQeUVycl9Ob01lbW9yeSgpOwotICAgICAgICAgICAgUHlNZW1fRnJlZSh3Y2hhcik7Ci0gICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgfQotICAgICAgICBQeU1lbV9GcmVlKHdjaGFyKTsKLQotICAgICAgICBieXRlc19vYmogPSBQeUJ5dGVzX0Zyb21TdHJpbmcoYnl0ZXMpOwotICAgICAgICBQeU1lbV9GcmVlKGJ5dGVzKTsKLSAgICAgICAgcmV0dXJuIGJ5dGVzX29iajsKKyAgICAgICAgcmV0dXJuIFB5VW5pY29kZV9FbmNvZGVMb2NhbGUodW5pY29kZSwgInN1cnJvZ2F0ZWVzY2FwZSIpOwogICAgIH0KICNlbmRpZgogfQogCi1QeU9iamVjdCAqUHlVbmljb2RlX0FzRW5jb2RlZFN0cmluZyhQeU9iamVjdCAqdW5pY29kZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmVuY29kaW5nLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZXJyb3JzKQorUHlPYmplY3QgKgorUHlVbmljb2RlX0FzRW5jb2RlZFN0cmluZyhQeU9iamVjdCAqdW5pY29kZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZW5jb2RpbmcsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmVycm9ycykKIHsKICAgICBQeU9iamVjdCAqdjsKICAgICBjaGFyIGxvd2VyWzExXTsgIC8qIEVub3VnaCBmb3IgYW55IGVuY29kaW5nIHNob3J0Y3V0ICovCkBAIC0xNjkxLDQ2ICszMzYxLDI3IEBACiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KIAotICAgIGlmIChlbmNvZGluZyA9PSBOVUxMKQotICAgICAgICBlbmNvZGluZyA9IFB5VW5pY29kZV9HZXREZWZhdWx0RW5jb2RpbmcoKTsKLQogICAgIC8qIFNob3J0Y3V0cyBmb3IgY29tbW9uIGRlZmF1bHQgZW5jb2RpbmdzICovCiAgICAgaWYgKG5vcm1hbGl6ZV9lbmNvZGluZyhlbmNvZGluZywgbG93ZXIsIHNpemVvZihsb3dlcikpKSB7Ci0gICAgICAgIGlmIChzdHJjbXAobG93ZXIsICJ1dGYtOCIpID09IDApCi0gICAgICAgICAgICByZXR1cm4gUHlVbmljb2RlX0VuY29kZVVURjgoUHlVbmljb2RlX0FTX1VOSUNPREUodW5pY29kZSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0dFVF9TSVpFKHVuaWNvZGUpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9ycyk7CisgICAgICAgIGlmICgoc3RyY21wKGxvd2VyLCAidXRmLTgiKSA9PSAwKSB8fAorICAgICAgICAgICAgKHN0cmNtcChsb3dlciwgInV0ZjgiKSA9PSAwKSkKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKGVycm9ycyA9PSBOVUxMIHx8IHN0cmNtcChlcnJvcnMsICJzdHJpY3QiKSA9PSAwKQorICAgICAgICAgICAgICAgIHJldHVybiBfUHlVbmljb2RlX0FzVVRGOFN0cmluZyh1bmljb2RlLCBOVUxMKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICByZXR1cm4gX1B5VW5pY29kZV9Bc1VURjhTdHJpbmcodW5pY29kZSwgZXJyb3JzKTsKKyAgICAgICAgfQogICAgICAgICBlbHNlIGlmICgoc3RyY21wKGxvd2VyLCAibGF0aW4tMSIpID09IDApIHx8CisgICAgICAgICAgICAgICAgIChzdHJjbXAobG93ZXIsICJsYXRpbjEiKSA9PSAwKSB8fAogICAgICAgICAgICAgICAgICAoc3RyY21wKGxvd2VyLCAiaXNvLTg4NTktMSIpID09IDApKQotICAgICAgICAgICAgcmV0dXJuIFB5VW5pY29kZV9FbmNvZGVMYXRpbjEoUHlVbmljb2RlX0FTX1VOSUNPREUodW5pY29kZSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfR0VUX1NJWkUodW5pY29kZSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcnMpOwotI2lmIGRlZmluZWQoTVNfV0lORE9XUykgJiYgZGVmaW5lZChIQVZFX1VTQUJMRV9XQ0hBUl9UKQorICAgICAgICAgICAgcmV0dXJuIF9QeVVuaWNvZGVfQXNMYXRpbjFTdHJpbmcodW5pY29kZSwgZXJyb3JzKTsKKyNpZmRlZiBIQVZFX01CQ1MKICAgICAgICAgZWxzZSBpZiAoc3RyY21wKGxvd2VyLCAibWJjcyIpID09IDApCi0gICAgICAgICAgICByZXR1cm4gUHlVbmljb2RlX0VuY29kZU1CQ1MoUHlVbmljb2RlX0FTX1VOSUNPREUodW5pY29kZSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0dFVF9TSVpFKHVuaWNvZGUpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9ycyk7CisgICAgICAgICAgICByZXR1cm4gUHlVbmljb2RlX0VuY29kZUNvZGVQYWdlKENQX0FDUCwgdW5pY29kZSwgZXJyb3JzKTsKICNlbmRpZgogICAgICAgICBlbHNlIGlmIChzdHJjbXAobG93ZXIsICJhc2NpaSIpID09IDApCi0gICAgICAgICAgICByZXR1cm4gUHlVbmljb2RlX0VuY29kZUFTQ0lJKFB5VW5pY29kZV9BU19VTklDT0RFKHVuaWNvZGUpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfR0VUX1NJWkUodW5pY29kZSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9ycyk7CisgICAgICAgICAgICByZXR1cm4gX1B5VW5pY29kZV9Bc0FTQ0lJU3RyaW5nKHVuaWNvZGUsIGVycm9ycyk7CiAgICAgfQotICAgIC8qIER1cmluZyBib290c3RyYXAsIHdlIG1heSBuZWVkIHRvIGZpbmQgdGhlIGVuY29kaW5ncwotICAgICAgIHBhY2thZ2UsIHRvIGxvYWQgdGhlIGZpbGUgc3lzdGVtIGVuY29kaW5nLCBhbmQgcmVxdWlyZSB0aGUKLSAgICAgICBmaWxlIHN5c3RlbSBlbmNvZGluZyBpbiBvcmRlciB0byBsb2FkIHRoZSBlbmNvZGluZ3MKLSAgICAgICBwYWNrYWdlLgotCi0gICAgICAgQnJlYWsgb3V0IG9mIHRoaXMgZGVwZW5kZW5jeSBieSBhc3N1bWluZyB0aGF0IHRoZSBwYXRoIHRvCi0gICAgICAgdGhlIGVuY29kaW5ncyBtb2R1bGUgaXMgQVNDSUktb25seS4gIFhYWCBjb3VsZCB0cnkgd2NzdG9tYnMKLSAgICAgICBpbnN0ZWFkLCBpZiB0aGUgZmlsZSBzeXN0ZW0gZW5jb2RpbmcgaXMgdGhlIGxvY2FsZSdzCi0gICAgICAgZW5jb2RpbmcuICovCi0gICAgaWYgKFB5X0ZpbGVTeXN0ZW1EZWZhdWx0RW5jb2RpbmcgJiYKLSAgICAgICAgICAgICBzdHJjbXAoZW5jb2RpbmcsIFB5X0ZpbGVTeXN0ZW1EZWZhdWx0RW5jb2RpbmcpID09IDAgJiYKLSAgICAgICAgICAgICAhUHlUaHJlYWRTdGF0ZV9HRVQoKS0+aW50ZXJwLT5jb2RlY3NfaW5pdGlhbGl6ZWQpCi0gICAgICAgIHJldHVybiBQeVVuaWNvZGVfRW5jb2RlQVNDSUkoUHlVbmljb2RlX0FTX1VOSUNPREUodW5pY29kZSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0dFVF9TSVpFKHVuaWNvZGUpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9ycyk7CiAKICAgICAvKiBFbmNvZGUgdmlhIHRoZSBjb2RlYyByZWdpc3RyeSAqLwogICAgIHYgPSBQeUNvZGVjX0VuY29kZSh1bmljb2RlLCBlbmNvZGluZywgZXJyb3JzKTsKQEAgLTE3NjYsOSArMzQxNywxMCBAQAogICAgIHJldHVybiBOVUxMOwogfQogCi1QeU9iamVjdCAqUHlVbmljb2RlX0FzRW5jb2RlZFVuaWNvZGUoUHlPYmplY3QgKnVuaWNvZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZW5jb2RpbmcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZXJyb3JzKQorUHlPYmplY3QgKgorUHlVbmljb2RlX0FzRW5jb2RlZFVuaWNvZGUoUHlPYmplY3QgKnVuaWNvZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICplbmNvZGluZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmVycm9ycykKIHsKICAgICBQeU9iamVjdCAqdjsKIApAQCAtMTc5NywyNCArMzQ0OSwxNTEgQEAKICAgICByZXR1cm4gTlVMTDsKIH0KIAotUHlPYmplY3QgKl9QeVVuaWNvZGVfQXNEZWZhdWx0RW5jb2RlZFN0cmluZyhQeU9iamVjdCAqdW5pY29kZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZXJyb3JzKQorc3RhdGljIHNpemVfdAorbWJzdG93Y3NfZXJyb3Jwb3MoY29uc3QgY2hhciAqc3RyLCBzaXplX3QgbGVuKQogewotICAgIFB5T2JqZWN0ICp2ID0gKChQeVVuaWNvZGVPYmplY3QgKil1bmljb2RlKS0+ZGVmZW5jOwotICAgIGlmICh2KQotICAgICAgICByZXR1cm4gdjsKLSAgICBpZiAoZXJyb3JzICE9IE5VTEwpCi0gICAgICAgIFB5X0ZhdGFsRXJyb3IoIm5vbi1OVUxMIGVuY29kaW5nIGluIF9QeVVuaWNvZGVfQXNEZWZhdWx0RW5jb2RlZFN0cmluZyIpOwotICAgIHYgPSBQeVVuaWNvZGVfRW5jb2RlVVRGOChQeVVuaWNvZGVfQVNfVU5JQ09ERSh1bmljb2RlKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0dFVF9TSVpFKHVuaWNvZGUpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMKTsKLSAgICBpZiAoIXYpCi0gICAgICAgIHJldHVybiBOVUxMOwotICAgICgoUHlVbmljb2RlT2JqZWN0ICopdW5pY29kZSktPmRlZmVuYyA9IHY7Ci0gICAgcmV0dXJuIHY7CisjaWZkZWYgSEFWRV9NQlJUT1dDCisgICAgY29uc3QgY2hhciAqc3RhcnQgPSBzdHI7CisgICAgbWJzdGF0ZV90IG1iczsKKyAgICBzaXplX3QgY29udmVydGVkOworICAgIHdjaGFyX3QgY2g7CisKKyAgICBtZW1zZXQoJm1icywgMCwgc2l6ZW9mIG1icyk7CisgICAgd2hpbGUgKGxlbikKKyAgICB7CisgICAgICAgIGNvbnZlcnRlZCA9IG1icnRvd2MoJmNoLCAoY2hhciopc3RyLCBsZW4sICZtYnMpOworICAgICAgICBpZiAoY29udmVydGVkID09IDApCisgICAgICAgICAgICAvKiBSZWFjaGVkIGVuZCBvZiBzdHJpbmcgKi8KKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBpZiAoY29udmVydGVkID09IChzaXplX3QpLTEgfHwgY29udmVydGVkID09IChzaXplX3QpLTIpIHsKKyAgICAgICAgICAgIC8qIENvbnZlcnNpb24gZXJyb3Igb3IgaW5jb21wbGV0ZSBjaGFyYWN0ZXIgKi8KKyAgICAgICAgICAgIHJldHVybiBzdHIgLSBzdGFydDsKKyAgICAgICAgfQorICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIHN0ciArPSBjb252ZXJ0ZWQ7CisgICAgICAgICAgICBsZW4gLT0gY29udmVydGVkOworICAgICAgICB9CisgICAgfQorICAgIC8qIGZhaWxlZCB0byBmaW5kIHRoZSB1bmRlY29kYWJsZSBieXRlIHNlcXVlbmNlICovCisgICAgcmV0dXJuIDA7CisjZW5kaWYKKyAgICByZXR1cm4gMDsKIH0KIAogUHlPYmplY3QqCitQeVVuaWNvZGVfRGVjb2RlTG9jYWxlQW5kU2l6ZShjb25zdCBjaGFyICpzdHIsIFB5X3NzaXplX3QgbGVuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZXJyb3JzKQoreworICAgIHdjaGFyX3Qgc21hbGxidWZbMjU2XTsKKyAgICBzaXplX3Qgc21hbGxidWZfbGVuID0gUHlfQVJSQVlfTEVOR1RIKHNtYWxsYnVmKTsKKyAgICB3Y2hhcl90ICp3c3RyOworICAgIHNpemVfdCB3bGVuLCB3bGVuMjsKKyAgICBQeU9iamVjdCAqdW5pY29kZTsKKyAgICBpbnQgc3Vycm9nYXRlZXNjYXBlOworICAgIHNpemVfdCBlcnJvcl9wb3M7CisgICAgY2hhciAqZXJybXNnOworICAgIFB5T2JqZWN0ICpyZWFzb24sICpleGM7CisKKyAgICBpZiAobG9jYWxlX2Vycm9yX2hhbmRsZXIoZXJyb3JzLCAmc3Vycm9nYXRlZXNjYXBlKSA8IDApCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgaWYgKHN0cltsZW5dICE9ICdcMCcgfHwgbGVuICE9IHN0cmxlbihzdHIpKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsICJlbWJlZGRlZCBudWxsIGNoYXJhY3RlciIpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisKKyAgICBpZiAoc3Vycm9nYXRlZXNjYXBlKQorICAgIHsKKyAgICAgICAgd3N0ciA9IF9QeV9jaGFyMndjaGFyKHN0ciwgJndsZW4pOworICAgICAgICBpZiAod3N0ciA9PSBOVUxMKSB7CisgICAgICAgICAgICBpZiAod2xlbiA9PSAoc2l6ZV90KS0xKQorICAgICAgICAgICAgICAgIFB5RXJyX05vTWVtb3J5KCk7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgUHlFcnJfU2V0RnJvbUVycm5vKFB5RXhjX09TRXJyb3IpOworICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIH0KKworICAgICAgICB1bmljb2RlID0gUHlVbmljb2RlX0Zyb21XaWRlQ2hhcih3c3RyLCB3bGVuKTsKKyAgICAgICAgUHlNZW1fRnJlZSh3c3RyKTsKKyAgICB9CisgICAgZWxzZSB7CisjaWZuZGVmIEhBVkVfQlJPS0VOX01CU1RPV0NTCisgICAgICAgIHdsZW4gPSBtYnN0b3djcyhOVUxMLCBzdHIsIDApOworI2Vsc2UKKyAgICAgICAgd2xlbiA9IGxlbjsKKyNlbmRpZgorICAgICAgICBpZiAod2xlbiA9PSAoc2l6ZV90KS0xKQorICAgICAgICAgICAgZ290byBkZWNvZGVfZXJyb3I7CisgICAgICAgIGlmICh3bGVuKzEgPD0gc21hbGxidWZfbGVuKSB7CisgICAgICAgICAgICB3c3RyID0gc21hbGxidWY7CisgICAgICAgIH0KKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBpZiAod2xlbiA+IFBZX1NTSVpFX1RfTUFYIC8gc2l6ZW9mKHdjaGFyX3QpIC0gMSkKKyAgICAgICAgICAgICAgICByZXR1cm4gUHlFcnJfTm9NZW1vcnkoKTsKKworICAgICAgICAgICAgd3N0ciA9IFB5TWVtX01hbGxvYygod2xlbisxKSAqIHNpemVvZih3Y2hhcl90KSk7CisgICAgICAgICAgICBpZiAoIXdzdHIpCisgICAgICAgICAgICAgICAgcmV0dXJuIFB5RXJyX05vTWVtb3J5KCk7CisgICAgICAgIH0KKworICAgICAgICAvKiBUaGlzIHNob3VsZG4ndCBmYWlsIG5vdyAqLworICAgICAgICB3bGVuMiA9IG1ic3Rvd2NzKHdzdHIsIHN0ciwgd2xlbisxKTsKKyAgICAgICAgaWYgKHdsZW4yID09IChzaXplX3QpLTEpIHsKKyAgICAgICAgICAgIGlmICh3c3RyICE9IHNtYWxsYnVmKQorICAgICAgICAgICAgICAgIFB5TWVtX0ZyZWUod3N0cik7CisgICAgICAgICAgICBnb3RvIGRlY29kZV9lcnJvcjsKKyAgICAgICAgfQorI2lmZGVmIEhBVkVfQlJPS0VOX01CU1RPV0NTCisgICAgICAgIGFzc2VydCh3bGVuMiA9PSB3bGVuKTsKKyNlbmRpZgorICAgICAgICB1bmljb2RlID0gUHlVbmljb2RlX0Zyb21XaWRlQ2hhcih3c3RyLCB3bGVuMik7CisgICAgICAgIGlmICh3c3RyICE9IHNtYWxsYnVmKQorICAgICAgICAgICAgUHlNZW1fRnJlZSh3c3RyKTsKKyAgICB9CisgICAgcmV0dXJuIHVuaWNvZGU7CisKK2RlY29kZV9lcnJvcjoKKyAgICBlcnJtc2cgPSBzdHJlcnJvcihlcnJubyk7CisgICAgYXNzZXJ0KGVycm1zZyAhPSBOVUxMKTsKKworICAgIGVycm9yX3BvcyA9IG1ic3Rvd2NzX2Vycm9ycG9zKHN0ciwgbGVuKTsKKyAgICBpZiAoZXJybXNnICE9IE5VTEwpIHsKKyAgICAgICAgc2l6ZV90IGVycmxlbjsKKyAgICAgICAgd3N0ciA9IF9QeV9jaGFyMndjaGFyKGVycm1zZywgJmVycmxlbik7CisgICAgICAgIGlmICh3c3RyICE9IE5VTEwpIHsKKyAgICAgICAgICAgIHJlYXNvbiA9IFB5VW5pY29kZV9Gcm9tV2lkZUNoYXIod3N0ciwgZXJybGVuKTsKKyAgICAgICAgICAgIFB5TWVtX0ZyZWUod3N0cik7CisgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgZXJybXNnID0gTlVMTDsKKyAgICB9CisgICAgaWYgKGVycm1zZyA9PSBOVUxMKQorICAgICAgICByZWFzb24gPSBQeVVuaWNvZGVfRnJvbVN0cmluZygKKyAgICAgICAgICAgICJtYnN0b3djcygpIGVuY291bnRlcmVkIGFuIGludmFsaWQgbXVsdGlieXRlIHNlcXVlbmNlIik7CisgICAgaWYgKHJlYXNvbiA9PSBOVUxMKQorICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIGV4YyA9IFB5T2JqZWN0X0NhbGxGdW5jdGlvbihQeUV4Y19Vbmljb2RlRGVjb2RlRXJyb3IsICJzeSNubk8iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibG9jYWxlIiwgc3RyLCBsZW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChQeV9zc2l6ZV90KWVycm9yX3BvcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFB5X3NzaXplX3QpKGVycm9yX3BvcysxKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhc29uKTsKKyAgICBQeV9ERUNSRUYocmVhc29uKTsKKyAgICBpZiAoZXhjICE9IE5VTEwpIHsKKyAgICAgICAgUHlDb2RlY19TdHJpY3RFcnJvcnMoZXhjKTsKKyAgICAgICAgUHlfWERFQ1JFRihleGMpOworICAgIH0KKyAgICByZXR1cm4gTlVMTDsKK30KKworUHlPYmplY3QqCitQeVVuaWNvZGVfRGVjb2RlTG9jYWxlKGNvbnN0IGNoYXIgKnN0ciwgY29uc3QgY2hhciAqZXJyb3JzKQoreworICAgIFB5X3NzaXplX3Qgc2l6ZSA9IChQeV9zc2l6ZV90KXN0cmxlbihzdHIpOworICAgIHJldHVybiBQeVVuaWNvZGVfRGVjb2RlTG9jYWxlQW5kU2l6ZShzdHIsIHNpemUsIGVycm9ycyk7Cit9CisKKworUHlPYmplY3QqCiBQeVVuaWNvZGVfRGVjb2RlRlNEZWZhdWx0KGNvbnN0IGNoYXIgKnMpIHsKICAgICBQeV9zc2l6ZV90IHNpemUgPSAoUHlfc3NpemVfdClzdHJsZW4ocyk7CiAgICAgcmV0dXJuIFB5VW5pY29kZV9EZWNvZGVGU0RlZmF1bHRBbmRTaXplKHMsIHNpemUpOwpAQCAtMTgyMywxMCArMzYwMiwxMCBAQAogUHlPYmplY3QqCiBQeVVuaWNvZGVfRGVjb2RlRlNEZWZhdWx0QW5kU2l6ZShjb25zdCBjaGFyICpzLCBQeV9zc2l6ZV90IHNpemUpCiB7Ci0jaWYgZGVmaW5lZChNU19XSU5ET1dTKSAmJiBkZWZpbmVkKEhBVkVfVVNBQkxFX1dDSEFSX1QpCisjaWZkZWYgSEFWRV9NQkNTCiAgICAgcmV0dXJuIFB5VW5pY29kZV9EZWNvZGVNQkNTKHMsIHNpemUsIE5VTEwpOwogI2VsaWYgZGVmaW5lZChfX0FQUExFX18pCi0gICAgcmV0dXJuIFB5VW5pY29kZV9EZWNvZGVVVEY4KHMsIHNpemUsICJzdXJyb2dhdGVlc2NhcGUiKTsKKyAgICByZXR1cm4gUHlVbmljb2RlX0RlY29kZVVURjhTdGF0ZWZ1bChzLCBzaXplLCAic3Vycm9nYXRlZXNjYXBlIiwgTlVMTCk7CiAjZWxzZQogICAgIFB5SW50ZXJwcmV0ZXJTdGF0ZSAqaW50ZXJwID0gUHlUaHJlYWRTdGF0ZV9HRVQoKS0+aW50ZXJwOwogICAgIC8qIEJvb3RzdHJhcCBjaGVjazogaWYgdGhlIGZpbGVzeXN0ZW0gY29kZWMgaXMgaW1wbGVtZW50ZWQgaW4gUHl0aG9uLCB3ZQpAQCAtMTg0NCwyMyArMzYyMyw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzdXJyb2dhdGVlc2NhcGUiKTsKICAgICB9CiAgICAgZWxzZSB7Ci0gICAgICAgIC8qIGxvY2FsZSBlbmNvZGluZyB3aXRoIHN1cnJvZ2F0ZWVzY2FwZSAqLwotICAgICAgICB3Y2hhcl90ICp3Y2hhcjsKLSAgICAgICAgUHlPYmplY3QgKnVuaWNvZGU7Ci0gICAgICAgIHNpemVfdCBsZW47Ci0KLSAgICAgICAgaWYgKHNbc2l6ZV0gIT0gJ1wwJyB8fCBzaXplICE9IHN0cmxlbihzKSkgewotICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgImVtYmVkZGVkIE5VTCBjaGFyYWN0ZXIiKTsKLSAgICAgICAgICAgIHJldHVybiBOVUxMOwotICAgICAgICB9Ci0KLSAgICAgICAgd2NoYXIgPSBfUHlfY2hhcjJ3Y2hhcihzLCAmbGVuKTsKLSAgICAgICAgaWYgKHdjaGFyID09IE5VTEwpCi0gICAgICAgICAgICByZXR1cm4gUHlFcnJfTm9NZW1vcnkoKTsKLQotICAgICAgICB1bmljb2RlID0gUHlVbmljb2RlX0Zyb21XaWRlQ2hhcih3Y2hhciwgbGVuKTsKLSAgICAgICAgUHlNZW1fRnJlZSh3Y2hhcik7Ci0gICAgICAgIHJldHVybiB1bmljb2RlOworICAgICAgICByZXR1cm4gUHlVbmljb2RlX0RlY29kZUxvY2FsZUFuZFNpemUocywgc2l6ZSwgInN1cnJvZ2F0ZWVzY2FwZSIpOwogICAgIH0KICNlbmRpZgogfQpAQCAtMTkyMywxMyArMzY4NiwxMyBAQAogUHlVbmljb2RlX0ZTRGVjb2RlcihQeU9iamVjdCogYXJnLCB2b2lkKiBhZGRyKQogewogICAgIFB5T2JqZWN0ICpvdXRwdXQgPSBOVUxMOwotICAgIFB5X3NzaXplX3Qgc2l6ZTsKLSAgICB2b2lkICpkYXRhOwogICAgIGlmIChhcmcgPT0gTlVMTCkgewogICAgICAgICBQeV9ERUNSRUYoKihQeU9iamVjdCoqKWFkZHIpOwogICAgICAgICByZXR1cm4gMTsKICAgICB9CiAgICAgaWYgKFB5VW5pY29kZV9DaGVjayhhcmcpKSB7CisgICAgICAgIGlmIChQeVVuaWNvZGVfUkVBRFkoYXJnKSA9PSAtMSkKKyAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICBvdXRwdXQgPSBhcmc7CiAgICAgICAgIFB5X0lOQ1JFRihvdXRwdXQpOwogICAgIH0KQEAgLTE5NDgsOSArMzcxMSwxMiBAQAogICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgIH0KICAgICB9Ci0gICAgc2l6ZSA9IFB5VW5pY29kZV9HRVRfU0laRShvdXRwdXQpOwotICAgIGRhdGEgPSBQeVVuaWNvZGVfQVNfVU5JQ09ERShvdXRwdXQpOwotICAgIGlmIChzaXplICE9IFB5X1VOSUNPREVfc3RybGVuKGRhdGEpKSB7CisgICAgaWYgKFB5VW5pY29kZV9SRUFEWShvdXRwdXQpID09IC0xKSB7CisgICAgICAgIFB5X0RFQ1JFRihvdXRwdXQpOworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisgICAgaWYgKGZpbmRjaGFyKFB5VW5pY29kZV9EQVRBKG91dHB1dCksIFB5VW5pY29kZV9LSU5EKG91dHB1dCksCisgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9HRVRfTEVOR1RIKG91dHB1dCksIDAsIDEpID49IDApIHsKICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgImVtYmVkZGVkIE5VTCBjaGFyYWN0ZXIiKTsKICAgICAgICAgUHlfREVDUkVGKG91dHB1dCk7CiAgICAgICAgIHJldHVybiAwOwpAQCAtMTk2MSw0MCArMzcyNywxNzUgQEAKIAogCiBjaGFyKgotX1B5VW5pY29kZV9Bc1N0cmluZ0FuZFNpemUoUHlPYmplY3QgKnVuaWNvZGUsIFB5X3NzaXplX3QgKnBzaXplKQorUHlVbmljb2RlX0FzVVRGOEFuZFNpemUoUHlPYmplY3QgKnVuaWNvZGUsIFB5X3NzaXplX3QgKnBzaXplKQogewogICAgIFB5T2JqZWN0ICpieXRlczsKKwogICAgIGlmICghUHlVbmljb2RlX0NoZWNrKHVuaWNvZGUpKSB7CiAgICAgICAgIFB5RXJyX0JhZEFyZ3VtZW50KCk7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KLSAgICBieXRlcyA9IF9QeVVuaWNvZGVfQXNEZWZhdWx0RW5jb2RlZFN0cmluZyh1bmljb2RlLCBOVUxMKTsKLSAgICBpZiAoYnl0ZXMgPT0gTlVMTCkKKyAgICBpZiAoUHlVbmljb2RlX1JFQURZKHVuaWNvZGUpID09IC0xKQogICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBpZiAocHNpemUgIT0gTlVMTCkKLSAgICAgICAgKnBzaXplID0gUHlCeXRlc19HRVRfU0laRShieXRlcyk7Ci0gICAgcmV0dXJuIFB5Qnl0ZXNfQVNfU1RSSU5HKGJ5dGVzKTsKKworICAgIGlmIChQeVVuaWNvZGVfVVRGOCh1bmljb2RlKSA9PSBOVUxMKSB7CisgICAgICAgIGFzc2VydCghUHlVbmljb2RlX0lTX0NPTVBBQ1RfQVNDSUkodW5pY29kZSkpOworICAgICAgICBieXRlcyA9IF9QeVVuaWNvZGVfQXNVVEY4U3RyaW5nKHVuaWNvZGUsICJzdHJpY3QiKTsKKyAgICAgICAgaWYgKGJ5dGVzID09IE5VTEwpCisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgX1B5VW5pY29kZV9VVEY4KHVuaWNvZGUpID0gUHlPYmplY3RfTUFMTE9DKFB5Qnl0ZXNfR0VUX1NJWkUoYnl0ZXMpICsgMSk7CisgICAgICAgIGlmIChfUHlVbmljb2RlX1VURjgodW5pY29kZSkgPT0gTlVMTCkgeworICAgICAgICAgICAgUHlfREVDUkVGKGJ5dGVzKTsKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICB9CisgICAgICAgIF9QeVVuaWNvZGVfVVRGOF9MRU5HVEgodW5pY29kZSkgPSBQeUJ5dGVzX0dFVF9TSVpFKGJ5dGVzKTsKKyAgICAgICAgUHlfTUVNQ1BZKF9QeVVuaWNvZGVfVVRGOCh1bmljb2RlKSwKKyAgICAgICAgICAgICAgICAgIFB5Qnl0ZXNfQVNfU1RSSU5HKGJ5dGVzKSwKKyAgICAgICAgICAgICAgICAgIF9QeVVuaWNvZGVfVVRGOF9MRU5HVEgodW5pY29kZSkgKyAxKTsKKyAgICAgICAgUHlfREVDUkVGKGJ5dGVzKTsKKyAgICB9CisKKyAgICBpZiAocHNpemUpCisgICAgICAgICpwc2l6ZSA9IFB5VW5pY29kZV9VVEY4X0xFTkdUSCh1bmljb2RlKTsKKyAgICByZXR1cm4gUHlVbmljb2RlX1VURjgodW5pY29kZSk7CiB9CiAKIGNoYXIqCi1fUHlVbmljb2RlX0FzU3RyaW5nKFB5T2JqZWN0ICp1bmljb2RlKQorUHlVbmljb2RlX0FzVVRGOChQeU9iamVjdCAqdW5pY29kZSkKIHsKLSAgICByZXR1cm4gX1B5VW5pY29kZV9Bc1N0cmluZ0FuZFNpemUodW5pY29kZSwgTlVMTCk7CisgICAgcmV0dXJuIFB5VW5pY29kZV9Bc1VURjhBbmRTaXplKHVuaWNvZGUsIE5VTEwpOwogfQogCi1QeV9VTklDT0RFICpQeVVuaWNvZGVfQXNVbmljb2RlKFB5T2JqZWN0ICp1bmljb2RlKQorI2lmZGVmIFB5X0RFQlVHCitzdGF0aWMgaW50IHVuaWNvZGVfYXNfdW5pY29kZV9jYWxscyA9IDA7CisjZW5kaWYKKworCitQeV9VTklDT0RFICoKK1B5VW5pY29kZV9Bc1VuaWNvZGVBbmRTaXplKFB5T2JqZWN0ICp1bmljb2RlLCBQeV9zc2l6ZV90ICpzaXplKQogeworICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKm9uZV9ieXRlOworI2lmIFNJWkVPRl9XQ0hBUl9UID09IDQKKyAgICBjb25zdCBQeV9VQ1MyICp0d29fYnl0ZXM7CisjZWxzZQorICAgIGNvbnN0IFB5X1VDUzQgKmZvdXJfYnl0ZXM7CisgICAgY29uc3QgUHlfVUNTNCAqdWNzNF9lbmQ7CisgICAgUHlfc3NpemVfdCBudW1fc3Vycm9nYXRlczsKKyNlbmRpZgorICAgIHdjaGFyX3QgKnc7CisgICAgd2NoYXJfdCAqd2NoYXJfZW5kOworCiAgICAgaWYgKCFQeVVuaWNvZGVfQ2hlY2sodW5pY29kZSkpIHsKICAgICAgICAgUHlFcnJfQmFkQXJndW1lbnQoKTsKLSAgICAgICAgZ290byBvbkVycm9yOworICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9Ci0gICAgcmV0dXJuIFB5VW5pY29kZV9BU19VTklDT0RFKHVuaWNvZGUpOworICAgIGlmIChfUHlVbmljb2RlX1dTVFIodW5pY29kZSkgPT0gTlVMTCkgeworICAgICAgICAvKiBOb24tQVNDSUkgY29tcGFjdCB1bmljb2RlIG9iamVjdCAqLworICAgICAgICBhc3NlcnQoX1B5VW5pY29kZV9LSU5EKHVuaWNvZGUpICE9IDApOworICAgICAgICBhc3NlcnQoUHlVbmljb2RlX0lTX1JFQURZKHVuaWNvZGUpKTsKIAotICBvbkVycm9yOgotICAgIHJldHVybiBOVUxMOworI2lmZGVmIFB5X0RFQlVHCisgICAgICAgICsrdW5pY29kZV9hc191bmljb2RlX2NhbGxzOworI2VuZGlmCisKKyAgICAgICAgaWYgKFB5VW5pY29kZV9LSU5EKHVuaWNvZGUpID09IFB5VW5pY29kZV80QllURV9LSU5EKSB7CisjaWYgU0laRU9GX1dDSEFSX1QgPT0gMgorICAgICAgICAgICAgZm91cl9ieXRlcyA9IFB5VW5pY29kZV80QllURV9EQVRBKHVuaWNvZGUpOworICAgICAgICAgICAgdWNzNF9lbmQgPSBmb3VyX2J5dGVzICsgX1B5VW5pY29kZV9MRU5HVEgodW5pY29kZSk7CisgICAgICAgICAgICBudW1fc3Vycm9nYXRlcyA9IDA7CisKKyAgICAgICAgICAgIGZvciAoOyBmb3VyX2J5dGVzIDwgdWNzNF9lbmQ7ICsrZm91cl9ieXRlcykgeworICAgICAgICAgICAgICAgIGlmICgqZm91cl9ieXRlcyA+IDB4RkZGRikKKyAgICAgICAgICAgICAgICAgICAgKytudW1fc3Vycm9nYXRlczsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgX1B5VW5pY29kZV9XU1RSKHVuaWNvZGUpID0gKHdjaGFyX3QgKikgUHlPYmplY3RfTUFMTE9DKAorICAgICAgICAgICAgICAgICAgICBzaXplb2Yod2NoYXJfdCkgKiAoX1B5VW5pY29kZV9MRU5HVEgodW5pY29kZSkgKyAxICsgbnVtX3N1cnJvZ2F0ZXMpKTsKKyAgICAgICAgICAgIGlmICghX1B5VW5pY29kZV9XU1RSKHVuaWNvZGUpKSB7CisgICAgICAgICAgICAgICAgUHlFcnJfTm9NZW1vcnkoKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIF9QeVVuaWNvZGVfV1NUUl9MRU5HVEgodW5pY29kZSkgPSBfUHlVbmljb2RlX0xFTkdUSCh1bmljb2RlKSArIG51bV9zdXJyb2dhdGVzOworCisgICAgICAgICAgICB3ID0gX1B5VW5pY29kZV9XU1RSKHVuaWNvZGUpOworICAgICAgICAgICAgd2NoYXJfZW5kID0gdyArIF9QeVVuaWNvZGVfV1NUUl9MRU5HVEgodW5pY29kZSk7CisgICAgICAgICAgICBmb3VyX2J5dGVzID0gUHlVbmljb2RlXzRCWVRFX0RBVEEodW5pY29kZSk7CisgICAgICAgICAgICBmb3IgKDsgZm91cl9ieXRlcyA8IHVjczRfZW5kOyArK2ZvdXJfYnl0ZXMsICsrdykgeworICAgICAgICAgICAgICAgIGlmICgqZm91cl9ieXRlcyA+IDB4RkZGRikgeworICAgICAgICAgICAgICAgICAgICBhc3NlcnQoKmZvdXJfYnl0ZXMgPD0gTUFYX1VOSUNPREUpOworICAgICAgICAgICAgICAgICAgICAvKiBlbmNvZGUgc3Vycm9nYXRlIHBhaXIgaW4gdGhpcyBjYXNlICovCisgICAgICAgICAgICAgICAgICAgICp3KysgPSBQeV9VTklDT0RFX0hJR0hfU1VSUk9HQVRFKCpmb3VyX2J5dGVzKTsKKyAgICAgICAgICAgICAgICAgICAgKncgICA9IFB5X1VOSUNPREVfTE9XX1NVUlJPR0FURSgqZm91cl9ieXRlcyk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgKncgPSAqZm91cl9ieXRlczsKKworICAgICAgICAgICAgICAgIGlmICh3ID4gd2NoYXJfZW5kKSB7CisgICAgICAgICAgICAgICAgICAgIGFzc2VydCgwICYmICJNaXNjYWxjdWxhdGVkIHN0cmluZyBlbmQiKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgICAgICAqdyA9IDA7CisjZWxzZQorICAgICAgICAgICAgLyogc2l6ZW9mKHdjaGFyX3QpID09IDQgKi8KKyAgICAgICAgICAgIFB5X0ZhdGFsRXJyb3IoIkltcG9zc2libGUgdW5pY29kZSBvYmplY3Qgc3RhdGUsIHdzdHIgYW5kIHN0ciAiCisgICAgICAgICAgICAgICAgICAgICAgICAgICJzaG91bGQgc2hhcmUgbWVtb3J5IGFscmVhZHkuIik7CisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyNlbmRpZgorICAgICAgICB9CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgX1B5VW5pY29kZV9XU1RSKHVuaWNvZGUpID0gKHdjaGFyX3QgKikgUHlPYmplY3RfTUFMTE9DKHNpemVvZih3Y2hhcl90KSAqCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChfUHlVbmljb2RlX0xFTkdUSCh1bmljb2RlKSArIDEpKTsKKyAgICAgICAgICAgIGlmICghX1B5VW5pY29kZV9XU1RSKHVuaWNvZGUpKSB7CisgICAgICAgICAgICAgICAgUHlFcnJfTm9NZW1vcnkoKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmICghUHlVbmljb2RlX0lTX0NPTVBBQ1RfQVNDSUkodW5pY29kZSkpCisgICAgICAgICAgICAgICAgX1B5VW5pY29kZV9XU1RSX0xFTkdUSCh1bmljb2RlKSA9IF9QeVVuaWNvZGVfTEVOR1RIKHVuaWNvZGUpOworICAgICAgICAgICAgdyA9IF9QeVVuaWNvZGVfV1NUUih1bmljb2RlKTsKKyAgICAgICAgICAgIHdjaGFyX2VuZCA9IHcgKyBfUHlVbmljb2RlX0xFTkdUSCh1bmljb2RlKTsKKworICAgICAgICAgICAgaWYgKFB5VW5pY29kZV9LSU5EKHVuaWNvZGUpID09IFB5VW5pY29kZV8xQllURV9LSU5EKSB7CisgICAgICAgICAgICAgICAgb25lX2J5dGUgPSBQeVVuaWNvZGVfMUJZVEVfREFUQSh1bmljb2RlKTsKKyAgICAgICAgICAgICAgICBmb3IgKDsgdyA8IHdjaGFyX2VuZDsgKytvbmVfYnl0ZSwgKyt3KQorICAgICAgICAgICAgICAgICAgICAqdyA9ICpvbmVfYnl0ZTsKKyAgICAgICAgICAgICAgICAvKiBudWxsLXRlcm1pbmF0ZSB0aGUgd3N0ciAqLworICAgICAgICAgICAgICAgICp3ID0gMDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGVsc2UgaWYgKFB5VW5pY29kZV9LSU5EKHVuaWNvZGUpID09IFB5VW5pY29kZV8yQllURV9LSU5EKSB7CisjaWYgU0laRU9GX1dDSEFSX1QgPT0gNAorICAgICAgICAgICAgICAgIHR3b19ieXRlcyA9IFB5VW5pY29kZV8yQllURV9EQVRBKHVuaWNvZGUpOworICAgICAgICAgICAgICAgIGZvciAoOyB3IDwgd2NoYXJfZW5kOyArK3R3b19ieXRlcywgKyt3KQorICAgICAgICAgICAgICAgICAgICAqdyA9ICp0d29fYnl0ZXM7CisgICAgICAgICAgICAgICAgLyogbnVsbC10ZXJtaW5hdGUgdGhlIHdzdHIgKi8KKyAgICAgICAgICAgICAgICAqdyA9IDA7CisjZWxzZQorICAgICAgICAgICAgICAgIC8qIHNpemVvZih3Y2hhcl90KSA9PSAyICovCisgICAgICAgICAgICAgICAgUHlPYmplY3RfRlJFRShfUHlVbmljb2RlX1dTVFIodW5pY29kZSkpOworICAgICAgICAgICAgICAgIF9QeVVuaWNvZGVfV1NUUih1bmljb2RlKSA9IE5VTEw7CisgICAgICAgICAgICAgICAgUHlfRmF0YWxFcnJvcigiSW1wb3NzaWJsZSB1bmljb2RlIG9iamVjdCBzdGF0ZSwgd3N0ciAiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYW5kIHN0ciBzaG91bGQgc2hhcmUgbWVtb3J5IGFscmVhZHkuIik7CisgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisjZW5kaWYKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGVsc2UgeworICAgICAgICAgICAgICAgIGFzc2VydCgwICYmICJUaGlzIHNob3VsZCBuZXZlciBoYXBwZW4uIik7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CisgICAgaWYgKHNpemUgIT0gTlVMTCkKKyAgICAgICAgKnNpemUgPSBQeVVuaWNvZGVfV1NUUl9MRU5HVEgodW5pY29kZSk7CisgICAgcmV0dXJuIF9QeVVuaWNvZGVfV1NUUih1bmljb2RlKTsKIH0KIAotUHlfc3NpemVfdCBQeVVuaWNvZGVfR2V0U2l6ZShQeU9iamVjdCAqdW5pY29kZSkKK1B5X1VOSUNPREUgKgorUHlVbmljb2RlX0FzVW5pY29kZShQeU9iamVjdCAqdW5pY29kZSkKK3sKKyAgICByZXR1cm4gUHlVbmljb2RlX0FzVW5pY29kZUFuZFNpemUodW5pY29kZSwgTlVMTCk7Cit9CisKKworUHlfc3NpemVfdAorUHlVbmljb2RlX0dldFNpemUoUHlPYmplY3QgKnVuaWNvZGUpCiB7CiAgICAgaWYgKCFQeVVuaWNvZGVfQ2hlY2sodW5pY29kZSkpIHsKICAgICAgICAgUHlFcnJfQmFkQXJndW1lbnQoKTsKQEAgLTIwMDYsNyArMzkwNyw1NiBAQAogICAgIHJldHVybiAtMTsKIH0KIAotY29uc3QgY2hhciAqUHlVbmljb2RlX0dldERlZmF1bHRFbmNvZGluZyh2b2lkKQorUHlfc3NpemVfdAorUHlVbmljb2RlX0dldExlbmd0aChQeU9iamVjdCAqdW5pY29kZSkKK3sKKyAgICBpZiAoIVB5VW5pY29kZV9DaGVjayh1bmljb2RlKSB8fCBQeVVuaWNvZGVfUkVBRFkodW5pY29kZSkgPT0gLTEpIHsKKyAgICAgICAgUHlFcnJfQmFkQXJndW1lbnQoKTsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKworICAgIHJldHVybiBQeVVuaWNvZGVfR0VUX0xFTkdUSCh1bmljb2RlKTsKK30KKworUHlfVUNTNAorUHlVbmljb2RlX1JlYWRDaGFyKFB5T2JqZWN0ICp1bmljb2RlLCBQeV9zc2l6ZV90IGluZGV4KQoreworICAgIGlmICghUHlVbmljb2RlX0NoZWNrKHVuaWNvZGUpIHx8IFB5VW5pY29kZV9SRUFEWSh1bmljb2RlKSA9PSAtMSkgeworICAgICAgICBQeUVycl9CYWRBcmd1bWVudCgpOworICAgICAgICByZXR1cm4gKFB5X1VDUzQpLTE7CisgICAgfQorICAgIGlmIChpbmRleCA8IDAgfHwgaW5kZXggPj0gUHlVbmljb2RlX0dFVF9MRU5HVEgodW5pY29kZSkpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX0luZGV4RXJyb3IsICJzdHJpbmcgaW5kZXggb3V0IG9mIHJhbmdlIik7CisgICAgICAgIHJldHVybiAoUHlfVUNTNCktMTsKKyAgICB9CisgICAgcmV0dXJuIFB5VW5pY29kZV9SRUFEX0NIQVIodW5pY29kZSwgaW5kZXgpOworfQorCitpbnQKK1B5VW5pY29kZV9Xcml0ZUNoYXIoUHlPYmplY3QgKnVuaWNvZGUsIFB5X3NzaXplX3QgaW5kZXgsIFB5X1VDUzQgY2gpCit7CisgICAgaWYgKCFQeVVuaWNvZGVfQ2hlY2sodW5pY29kZSkgfHwgIVB5VW5pY29kZV9JU19DT01QQUNUKHVuaWNvZGUpKSB7CisgICAgICAgIFB5RXJyX0JhZEFyZ3VtZW50KCk7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisgICAgYXNzZXJ0KFB5VW5pY29kZV9JU19SRUFEWSh1bmljb2RlKSk7CisgICAgaWYgKGluZGV4IDwgMCB8fCBpbmRleCA+PSBQeVVuaWNvZGVfR0VUX0xFTkdUSCh1bmljb2RlKSkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfSW5kZXhFcnJvciwgInN0cmluZyBpbmRleCBvdXQgb2YgcmFuZ2UiKTsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKyAgICBpZiAodW5pY29kZV9jaGVja19tb2RpZmlhYmxlKHVuaWNvZGUpKQorICAgICAgICByZXR1cm4gLTE7CisgICAgaWYgKGNoID4gUHlVbmljb2RlX01BWF9DSEFSX1ZBTFVFKHVuaWNvZGUpKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLCAiY2hhcmFjdGVyIG91dCBvZiByYW5nZSIpOworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorICAgIFB5VW5pY29kZV9XUklURShQeVVuaWNvZGVfS0lORCh1bmljb2RlKSwgUHlVbmljb2RlX0RBVEEodW5pY29kZSksCisgICAgICAgICAgICAgICAgICAgIGluZGV4LCBjaCk7CisgICAgcmV0dXJuIDA7Cit9CisKK2NvbnN0IGNoYXIgKgorUHlVbmljb2RlX0dldERlZmF1bHRFbmNvZGluZyh2b2lkKQogewogICAgIHJldHVybiAidXRmLTgiOwogfQpAQCAtMjA0NSwyNiArMzk5NSwyOSBAQAogICAgcmV0dXJuIDAgb24gc3VjY2VzcywgLTEgb24gZXJyb3IKICovCiAKLXN0YXRpYwotaW50IHVuaWNvZGVfZGVjb2RlX2NhbGxfZXJyb3JoYW5kbGVyKGNvbnN0IGNoYXIgKmVycm9ycywgUHlPYmplY3QgKiplcnJvckhhbmRsZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZW5jb2RpbmcsIGNvbnN0IGNoYXIgKnJlYXNvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICoqaW5wdXQsIGNvbnN0IGNoYXIgKippbmVuZCwgUHlfc3NpemVfdCAqc3RhcnRpbnBvcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90ICplbmRpbnBvcywgUHlPYmplY3QgKipleGNlcHRpb25PYmplY3QsIGNvbnN0IGNoYXIgKippbnB0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVPYmplY3QgKipvdXRwdXQsIFB5X3NzaXplX3QgKm91dHBvcywgUHlfVU5JQ09ERSAqKm91dHB0cikKK3N0YXRpYyBpbnQKK3VuaWNvZGVfZGVjb2RlX2NhbGxfZXJyb3JoYW5kbGVyKGNvbnN0IGNoYXIgKmVycm9ycywgUHlPYmplY3QgKiplcnJvckhhbmRsZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICplbmNvZGluZywgY29uc3QgY2hhciAqcmVhc29uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqKmlucHV0LCBjb25zdCBjaGFyICoqaW5lbmQsIFB5X3NzaXplX3QgKnN0YXJ0aW5wb3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90ICplbmRpbnBvcywgUHlPYmplY3QgKipleGNlcHRpb25PYmplY3QsIGNvbnN0IGNoYXIgKippbnB0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5T2JqZWN0ICoqb3V0cHV0LCBQeV9zc2l6ZV90ICpvdXRwb3MpCiB7CiAgICAgc3RhdGljIGNoYXIgKmFyZ3BhcnNlID0gIk8hbjtkZWNvZGluZyBlcnJvciBoYW5kbGVyIG11c3QgcmV0dXJuIChzdHIsIGludCkgdHVwbGUiOwogCiAgICAgUHlPYmplY3QgKnJlc3R1cGxlID0gTlVMTDsKICAgICBQeU9iamVjdCAqcmVwdW5pY29kZSA9IE5VTEw7Ci0gICAgUHlfc3NpemVfdCBvdXRzaXplID0gUHlVbmljb2RlX0dFVF9TSVpFKCpvdXRwdXQpOworICAgIFB5X3NzaXplX3Qgb3V0c2l6ZTsKICAgICBQeV9zc2l6ZV90IGluc2l6ZTsKICAgICBQeV9zc2l6ZV90IHJlcXVpcmVkc2l6ZTsKICAgICBQeV9zc2l6ZV90IG5ld3BvczsKLSAgICBQeV9VTklDT0RFICpyZXBwdHI7CiAgICAgUHlPYmplY3QgKmlucHV0b2JqID0gTlVMTDsKLSAgICBQeV9zc2l6ZV90IHJlcHNpemU7CiAgICAgaW50IHJlcyA9IC0xOwogCisgICAgaWYgKF9QeVVuaWNvZGVfS0lORCgqb3V0cHV0KSAhPSBQeVVuaWNvZGVfV0NIQVJfS0lORCkKKyAgICAgICAgb3V0c2l6ZSA9IFB5VW5pY29kZV9HRVRfTEVOR1RIKCpvdXRwdXQpOworICAgIGVsc2UKKyAgICAgICAgb3V0c2l6ZSA9IF9QeVVuaWNvZGVfV1NUUl9MRU5HVEgoKm91dHB1dCk7CisKICAgICBpZiAoKmVycm9ySGFuZGxlciA9PSBOVUxMKSB7CiAgICAgICAgICplcnJvckhhbmRsZXIgPSBQeUNvZGVjX0xvb2t1cEVycm9yKGVycm9ycyk7CiAgICAgICAgIGlmICgqZXJyb3JIYW5kbGVyID09IE5VTEwpCkBAIC0yMDg4LDYgKzQwNDEsOCBAQAogICAgIH0KICAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUocmVzdHVwbGUsIGFyZ3BhcnNlLCAmUHlVbmljb2RlX1R5cGUsICZyZXB1bmljb2RlLCAmbmV3cG9zKSkKICAgICAgICAgZ290byBvbkVycm9yOworICAgIGlmIChQeVVuaWNvZGVfUkVBRFkocmVwdW5pY29kZSkgPT0gLTEpCisgICAgICAgIGdvdG8gb25FcnJvcjsKIAogICAgIC8qIENvcHkgYmFjayB0aGUgYnl0ZXMgdmFyaWFibGVzLCB3aGljaCBtaWdodCBoYXZlIGJlZW4gbW9kaWZpZWQgYnkgdGhlCiAgICAgICAgY2FsbGJhY2sgKi8KQEAgLTIxMTEsMjUgKzQwNjYsNDYgQEAKICAgICAgICAgZ290byBvbkVycm9yOwogICAgIH0KIAotICAgIC8qIG5lZWQgbW9yZSBzcGFjZT8gKGF0IGxlYXN0IGVub3VnaCBmb3Igd2hhdCB3ZQotICAgICAgIGhhdmUrdGhlIHJlcGxhY2VtZW50K3RoZSByZXN0IG9mIHRoZSBzdHJpbmcgKHN0YXJ0aW5nCi0gICAgICAgYXQgdGhlIG5ldyBpbnB1dCBwb3NpdGlvbiksIHNvIHdlIHdvbid0IGhhdmUgdG8gY2hlY2sgc3BhY2UKLSAgICAgICB3aGVuIHRoZXJlIGFyZSBubyBlcnJvcnMgaW4gdGhlIHJlc3Qgb2YgdGhlIHN0cmluZykgKi8KLSAgICByZXBwdHIgPSBQeVVuaWNvZGVfQVNfVU5JQ09ERShyZXB1bmljb2RlKTsKLSAgICByZXBzaXplID0gUHlVbmljb2RlX0dFVF9TSVpFKHJlcHVuaWNvZGUpOwotICAgIHJlcXVpcmVkc2l6ZSA9ICpvdXRwb3MgKyByZXBzaXplICsgaW5zaXplLW5ld3BvczsKLSAgICBpZiAocmVxdWlyZWRzaXplID4gb3V0c2l6ZSkgewotICAgICAgICBpZiAocmVxdWlyZWRzaXplPDIqb3V0c2l6ZSkKLSAgICAgICAgICAgIHJlcXVpcmVkc2l6ZSA9IDIqb3V0c2l6ZTsKLSAgICAgICAgaWYgKF9QeVVuaWNvZGVfUmVzaXplKG91dHB1dCwgcmVxdWlyZWRzaXplKSA8IDApCisgICAgaWYgKF9QeVVuaWNvZGVfS0lORCgqb3V0cHV0KSAhPSBQeVVuaWNvZGVfV0NIQVJfS0lORCkgeworICAgICAgICAvKiBuZWVkIG1vcmUgc3BhY2U/IChhdCBsZWFzdCBlbm91Z2ggZm9yIHdoYXQgd2UKKyAgICAgICAgICAgaGF2ZSt0aGUgcmVwbGFjZW1lbnQrdGhlIHJlc3Qgb2YgdGhlIHN0cmluZyAoc3RhcnRpbmcKKyAgICAgICAgICAgYXQgdGhlIG5ldyBpbnB1dCBwb3NpdGlvbiksIHNvIHdlIHdvbid0IGhhdmUgdG8gY2hlY2sgc3BhY2UKKyAgICAgICAgICAgd2hlbiB0aGVyZSBhcmUgbm8gZXJyb3JzIGluIHRoZSByZXN0IG9mIHRoZSBzdHJpbmcpICovCisgICAgICAgIFB5X3NzaXplX3QgcmVwbGVuID0gUHlVbmljb2RlX0dFVF9MRU5HVEgocmVwdW5pY29kZSk7CisgICAgICAgIHJlcXVpcmVkc2l6ZSA9ICpvdXRwb3MgKyByZXBsZW4gKyBpbnNpemUtbmV3cG9zOworICAgICAgICBpZiAocmVxdWlyZWRzaXplID4gb3V0c2l6ZSkgeworICAgICAgICAgICAgaWYgKHJlcXVpcmVkc2l6ZTwyKm91dHNpemUpCisgICAgICAgICAgICAgICAgcmVxdWlyZWRzaXplID0gMipvdXRzaXplOworICAgICAgICAgICAgaWYgKHVuaWNvZGVfcmVzaXplKG91dHB1dCwgcmVxdWlyZWRzaXplKSA8IDApCisgICAgICAgICAgICAgICAgZ290byBvbkVycm9yOworICAgICAgICB9CisgICAgICAgIGlmICh1bmljb2RlX3dpZGVuKG91dHB1dCwgUHlVbmljb2RlX01BWF9DSEFSX1ZBTFVFKHJlcHVuaWNvZGUpKSA8IDApCiAgICAgICAgICAgICBnb3RvIG9uRXJyb3I7Ci0gICAgICAgICpvdXRwdHIgPSBQeVVuaWNvZGVfQVNfVU5JQ09ERSgqb3V0cHV0KSArICpvdXRwb3M7CisgICAgICAgIGNvcHlfY2hhcmFjdGVycygqb3V0cHV0LCAqb3V0cG9zLCByZXB1bmljb2RlLCAwLCByZXBsZW4pOworICAgICAgICAqb3V0cG9zICs9IHJlcGxlbjsKKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIHdjaGFyX3QgKnJlcHdzdHI7CisgICAgICAgIFB5X3NzaXplX3QgcmVwd2xlbjsKKyAgICAgICAgcmVwd3N0ciA9IFB5VW5pY29kZV9Bc1VuaWNvZGVBbmRTaXplKHJlcHVuaWNvZGUsICZyZXB3bGVuKTsKKyAgICAgICAgaWYgKHJlcHdzdHIgPT0gTlVMTCkKKyAgICAgICAgICAgIGdvdG8gb25FcnJvcjsKKyAgICAgICAgLyogbmVlZCBtb3JlIHNwYWNlPyAoYXQgbGVhc3QgZW5vdWdoIGZvciB3aGF0IHdlCisgICAgICAgICAgIGhhdmUrdGhlIHJlcGxhY2VtZW50K3RoZSByZXN0IG9mIHRoZSBzdHJpbmcgKHN0YXJ0aW5nCisgICAgICAgICAgIGF0IHRoZSBuZXcgaW5wdXQgcG9zaXRpb24pLCBzbyB3ZSB3b24ndCBoYXZlIHRvIGNoZWNrIHNwYWNlCisgICAgICAgICAgIHdoZW4gdGhlcmUgYXJlIG5vIGVycm9ycyBpbiB0aGUgcmVzdCBvZiB0aGUgc3RyaW5nKSAqLworICAgICAgICByZXF1aXJlZHNpemUgPSAqb3V0cG9zICsgcmVwd2xlbiArIGluc2l6ZS1uZXdwb3M7CisgICAgICAgIGlmIChyZXF1aXJlZHNpemUgPiBvdXRzaXplKSB7CisgICAgICAgICAgICBpZiAocmVxdWlyZWRzaXplIDwgMipvdXRzaXplKQorICAgICAgICAgICAgICAgIHJlcXVpcmVkc2l6ZSA9IDIqb3V0c2l6ZTsKKyAgICAgICAgICAgIGlmICh1bmljb2RlX3Jlc2l6ZShvdXRwdXQsIHJlcXVpcmVkc2l6ZSkgPCAwKQorICAgICAgICAgICAgICAgIGdvdG8gb25FcnJvcjsKKyAgICAgICAgfQorICAgICAgICB3Y3NuY3B5KF9QeVVuaWNvZGVfV1NUUigqb3V0cHV0KSArICpvdXRwb3MsIHJlcHdzdHIsIHJlcHdsZW4pOworICAgICAgICAqb3V0cG9zICs9IHJlcHdsZW47CiAgICAgfQogICAgICplbmRpbnBvcyA9IG5ld3BvczsKICAgICAqaW5wdHIgPSAqaW5wdXQgKyBuZXdwb3M7Ci0gICAgUHlfVU5JQ09ERV9DT1BZKCpvdXRwdHIsIHJlcHB0ciwgcmVwc2l6ZSk7Ci0gICAgKm91dHB0ciArPSByZXBzaXplOwotICAgICpvdXRwb3MgKz0gcmVwc2l6ZTsKIAogICAgIC8qIHdlIG1hZGUgaXQhICovCiAgICAgcmVzID0gMDsKQEAgLTIyMjAsOSArNDE5NiwxMCBAQAogICAgICAgKGRpcmVjdFdTICYmICh1dGY3X2NhdGVnb3J5WyhjKV0gPT0gMikpIHx8ICAgICAgICBcCiAgICAgICAoZGlyZWN0TyAmJiAodXRmN19jYXRlZ29yeVsoYyldID09IDEpKSkpCiAKLVB5T2JqZWN0ICpQeVVuaWNvZGVfRGVjb2RlVVRGNyhjb25zdCBjaGFyICpzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3Qgc2l6ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICplcnJvcnMpCitQeU9iamVjdCAqCitQeVVuaWNvZGVfRGVjb2RlVVRGNyhjb25zdCBjaGFyICpzLAorICAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBzaXplLAorICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZXJyb3JzKQogewogICAgIHJldHVybiBQeVVuaWNvZGVfRGVjb2RlVVRGN1N0YXRlZnVsKHMsIHNpemUsIGVycm9ycywgTlVMTCk7CiB9CkBAIC0yMjM0LDQyICs0MjExLDQyIEBACiAgKiBhbGwgdGhlIHNoaWZ0IHN0YXRlIChzZWVuIGJpdHMsIG51bWJlciBvZiBiaXRzIHNlZW4sIGhpZ2gKICAqIHN1cnJvZ2F0ZSkuICovCiAKLVB5T2JqZWN0ICpQeVVuaWNvZGVfRGVjb2RlVVRGN1N0YXRlZnVsKGNvbnN0IGNoYXIgKnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IHNpemUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICplcnJvcnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90ICpjb25zdW1lZCkKK1B5T2JqZWN0ICoKK1B5VW5pY29kZV9EZWNvZGVVVEY3U3RhdGVmdWwoY29uc3QgY2hhciAqcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBzaXplLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICplcnJvcnMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3QgKmNvbnN1bWVkKQogewogICAgIGNvbnN0IGNoYXIgKnN0YXJ0cyA9IHM7CiAgICAgUHlfc3NpemVfdCBzdGFydGlucG9zOwogICAgIFB5X3NzaXplX3QgZW5kaW5wb3M7CiAgICAgUHlfc3NpemVfdCBvdXRwb3M7CiAgICAgY29uc3QgY2hhciAqZTsKLSAgICBQeVVuaWNvZGVPYmplY3QgKnVuaWNvZGU7Ci0gICAgUHlfVU5JQ09ERSAqcDsKKyAgICBQeU9iamVjdCAqdW5pY29kZTsKICAgICBjb25zdCBjaGFyICplcnJtc2cgPSAiIjsKICAgICBpbnQgaW5TaGlmdCA9IDA7Ci0gICAgUHlfVU5JQ09ERSAqc2hpZnRPdXRTdGFydDsKKyAgICBQeV9zc2l6ZV90IHNoaWZ0T3V0U3RhcnQ7CiAgICAgdW5zaWduZWQgaW50IGJhc2U2NGJpdHMgPSAwOwogICAgIHVuc2lnbmVkIGxvbmcgYmFzZTY0YnVmZmVyID0gMDsKLSAgICBQeV9VTklDT0RFIHN1cnJvZ2F0ZSA9IDA7CisgICAgUHlfVUNTNCBzdXJyb2dhdGUgPSAwOwogICAgIFB5T2JqZWN0ICplcnJvckhhbmRsZXIgPSBOVUxMOwogICAgIFB5T2JqZWN0ICpleGMgPSBOVUxMOwogCi0gICAgdW5pY29kZSA9IF9QeVVuaWNvZGVfTmV3KHNpemUpOworICAgIC8qIFN0YXJ0IG9mZiBhc3N1bWluZyBpdCdzIGFsbCBBU0NJSS4gV2lkZW4gbGF0ZXIgYXMgbmVjZXNzYXJ5LiAqLworICAgIHVuaWNvZGUgPSBQeVVuaWNvZGVfTmV3KHNpemUsIDEyNyk7CiAgICAgaWYgKCF1bmljb2RlKQogICAgICAgICByZXR1cm4gTlVMTDsKICAgICBpZiAoc2l6ZSA9PSAwKSB7CiAgICAgICAgIGlmIChjb25zdW1lZCkKICAgICAgICAgICAgICpjb25zdW1lZCA9IDA7Ci0gICAgICAgIHJldHVybiAoUHlPYmplY3QgKil1bmljb2RlOworICAgICAgICByZXR1cm4gdW5pY29kZTsKICAgICB9CiAKLSAgICBwID0gdW5pY29kZS0+c3RyOwotICAgIHNoaWZ0T3V0U3RhcnQgPSBwOworICAgIHNoaWZ0T3V0U3RhcnQgPSBvdXRwb3MgPSAwOwogICAgIGUgPSBzICsgc2l6ZTsKIAogICAgIHdoaWxlIChzIDwgZSkgewotICAgICAgICBQeV9VTklDT0RFIGNoOworICAgICAgICBQeV9VQ1M0IGNoOwogICAgICAgcmVzdGFydDoKICAgICAgICAgY2ggPSAodW5zaWduZWQgY2hhcikgKnM7CiAKQEAgLTIyODAsMzQgKzQyNTcsMzEgQEAKICAgICAgICAgICAgICAgICBzKys7CiAgICAgICAgICAgICAgICAgaWYgKGJhc2U2NGJpdHMgPj0gMTYpIHsKICAgICAgICAgICAgICAgICAgICAgLyogd2UgaGF2ZSBlbm91Z2ggYml0cyBmb3IgYSBVVEYtMTYgdmFsdWUgKi8KLSAgICAgICAgICAgICAgICAgICAgUHlfVU5JQ09ERSBvdXRDaCA9IChQeV9VTklDT0RFKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGJhc2U2NGJ1ZmZlciA+PiAoYmFzZTY0Yml0cy0xNikpOworICAgICAgICAgICAgICAgICAgICBQeV9VQ1M0IG91dENoID0gKFB5X1VDUzQpKGJhc2U2NGJ1ZmZlciA+PiAoYmFzZTY0Yml0cy0xNikpOwogICAgICAgICAgICAgICAgICAgICBiYXNlNjRiaXRzIC09IDE2OwogICAgICAgICAgICAgICAgICAgICBiYXNlNjRidWZmZXIgJj0gKDEgPDwgYmFzZTY0Yml0cykgLSAxOyAvKiBjbGVhciBoaWdoIGJpdHMgKi8KICAgICAgICAgICAgICAgICAgICAgaWYgKHN1cnJvZ2F0ZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgLyogZXhwZWN0aW5nIGEgc2Vjb25kIHN1cnJvZ2F0ZSAqLwotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG91dENoID49IDB4REMwMCAmJiBvdXRDaCA8PSAweERGRkYpIHsKLSNpZmRlZiBQeV9VTklDT0RFX1dJREUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAqcCsrID0gKCgoc3Vycm9nYXRlICYgMHgzRkYpPDwxMCkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgKG91dENoICYgMHgzRkYpKSArIDB4MTAwMDA7Ci0jZWxzZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICpwKysgPSBzdXJyb2dhdGU7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgKnArKyA9IG91dENoOwotI2VuZGlmCisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoUHlfVU5JQ09ERV9JU19MT1dfU1VSUk9HQVRFKG91dENoKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5X1VDUzQgY2gyID0gUHlfVU5JQ09ERV9KT0lOX1NVUlJPR0FURVMoc3Vycm9nYXRlLCBvdXRDaCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHVuaWNvZGVfcHV0Y2hhcigmdW5pY29kZSwgJm91dHBvcywgY2gyKSA8IDApCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gb25FcnJvcjsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdXJyb2dhdGUgPSAwOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgKnArKyA9IHN1cnJvZ2F0ZTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodW5pY29kZV9wdXRjaGFyKCZ1bmljb2RlLCAmb3V0cG9zLCBzdXJyb2dhdGUpIDwgMCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ290byBvbkVycm9yOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1cnJvZ2F0ZSA9IDA7CiAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgaWYgKG91dENoID49IDB4RDgwMCAmJiBvdXRDaCA8PSAweERCRkYpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKFB5X1VOSUNPREVfSVNfSElHSF9TVVJST0dBVEUob3V0Q2gpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAvKiBmaXJzdCBzdXJyb2dhdGUgKi8KICAgICAgICAgICAgICAgICAgICAgICAgIHN1cnJvZ2F0ZSA9IG91dENoOwogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgICAgICAgICAgICAgKnArKyA9IG91dENoOworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHVuaWNvZGVfcHV0Y2hhcigmdW5pY29kZSwgJm91dHBvcywgb3V0Q2gpIDwgMCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIG9uRXJyb3I7CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9CkBAIC0yMzE1LDcgKzQyODksOCBAQAogICAgICAgICAgICAgICAgIGluU2hpZnQgPSAwOwogICAgICAgICAgICAgICAgIHMrKzsKICAgICAgICAgICAgICAgICBpZiAoc3Vycm9nYXRlKSB7Ci0gICAgICAgICAgICAgICAgICAgICpwKysgPSBzdXJyb2dhdGU7CisgICAgICAgICAgICAgICAgICAgIGlmICh1bmljb2RlX3B1dGNoYXIoJnVuaWNvZGUsICZvdXRwb3MsIHN1cnJvZ2F0ZSkgPCAwKQorICAgICAgICAgICAgICAgICAgICAgICAgZ290byBvbkVycm9yOwogICAgICAgICAgICAgICAgICAgICBzdXJyb2dhdGUgPSAwOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBpZiAoYmFzZTY0Yml0cyA+IDApIHsgLyogbGVmdC1vdmVyIGJpdHMgKi8KQEAgLTIzMzUsNyArNDMxMCw4IEBACiAgICAgICAgICAgICAgICAgaWYgKGNoICE9ICctJykgewogICAgICAgICAgICAgICAgICAgICAvKiAnLScgaXMgYWJzb3JiZWQ7IG90aGVyIHRlcm1pbmF0aW5nCiAgICAgICAgICAgICAgICAgICAgICAgIGNoYXJhY3RlcnMgYXJlIHByZXNlcnZlZCAqLwotICAgICAgICAgICAgICAgICAgICAqcCsrID0gY2g7CisgICAgICAgICAgICAgICAgICAgIGlmICh1bmljb2RlX3B1dGNoYXIoJnVuaWNvZGUsICZvdXRwb3MsIGNoKSA8IDApCisgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIG9uRXJyb3I7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQogICAgICAgICB9CkBAIC0yMzQ0LDE2ICs0MzIwLDE4IEBACiAgICAgICAgICAgICBzKys7IC8qIGNvbnN1bWUgJysnICovCiAgICAgICAgICAgICBpZiAocyA8IGUgJiYgKnMgPT0gJy0nKSB7IC8qICcrLScgZW5jb2RlcyAnKycgKi8KICAgICAgICAgICAgICAgICBzKys7Ci0gICAgICAgICAgICAgICAgKnArKyA9ICcrJzsKKyAgICAgICAgICAgICAgICBpZiAodW5pY29kZV9wdXRjaGFyKCZ1bmljb2RlLCAmb3V0cG9zLCAnKycpIDwgMCkKKyAgICAgICAgICAgICAgICAgICAgZ290byBvbkVycm9yOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgZWxzZSB7IC8qIGJlZ2luIGJhc2U2NC1lbmNvZGVkIHNlY3Rpb24gKi8KICAgICAgICAgICAgICAgICBpblNoaWZ0ID0gMTsKLSAgICAgICAgICAgICAgICBzaGlmdE91dFN0YXJ0ID0gcDsKKyAgICAgICAgICAgICAgICBzaGlmdE91dFN0YXJ0ID0gb3V0cG9zOwogICAgICAgICAgICAgICAgIGJhc2U2NGJpdHMgPSAwOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgICAgIGVsc2UgaWYgKERFQ09ERV9ESVJFQ1QoY2gpKSB7IC8qIGNoYXJhY3RlciBkZWNvZGVzIGFzIGl0c2VsZiAqLwotICAgICAgICAgICAgKnArKyA9IGNoOworICAgICAgICAgICAgaWYgKHVuaWNvZGVfcHV0Y2hhcigmdW5pY29kZSwgJm91dHBvcywgY2gpIDwgMCkKKyAgICAgICAgICAgICAgICBnb3RvIG9uRXJyb3I7CiAgICAgICAgICAgICBzKys7CiAgICAgICAgIH0KICAgICAgICAgZWxzZSB7CkBAIC0yMzY0LDEzICs0MzQyLDEyIEBACiAgICAgICAgIH0KICAgICAgICAgY29udGludWU7CiB1dGY3RXJyb3I6Ci0gICAgICAgIG91dHBvcyA9IHAtUHlVbmljb2RlX0FTX1VOSUNPREUodW5pY29kZSk7CiAgICAgICAgIGVuZGlucG9zID0gcy1zdGFydHM7CiAgICAgICAgIGlmICh1bmljb2RlX2RlY29kZV9jYWxsX2Vycm9yaGFuZGxlcigKICAgICAgICAgICAgICAgICBlcnJvcnMsICZlcnJvckhhbmRsZXIsCiAgICAgICAgICAgICAgICAgInV0ZjciLCBlcnJtc2csCiAgICAgICAgICAgICAgICAgJnN0YXJ0cywgJmUsICZzdGFydGlucG9zLCAmZW5kaW5wb3MsICZleGMsICZzLAotICAgICAgICAgICAgICAgICZ1bmljb2RlLCAmb3V0cG9zLCAmcCkpCisgICAgICAgICAgICAgICAgJnVuaWNvZGUsICZvdXRwb3MpKQogICAgICAgICAgICAgZ290byBvbkVycm9yOwogICAgIH0KIApAQCAtMjM4MSwxMyArNDM1OCwxMiBAQAogICAgICAgICBpZiAoc3Vycm9nYXRlIHx8CiAgICAgICAgICAgICAgICAgKGJhc2U2NGJpdHMgPj0gNikgfHwKICAgICAgICAgICAgICAgICAoYmFzZTY0Yml0cyA+IDAgJiYgYmFzZTY0YnVmZmVyICE9IDApKSB7Ci0gICAgICAgICAgICBvdXRwb3MgPSBwLVB5VW5pY29kZV9BU19VTklDT0RFKHVuaWNvZGUpOwogICAgICAgICAgICAgZW5kaW5wb3MgPSBzaXplOwogICAgICAgICAgICAgaWYgKHVuaWNvZGVfZGVjb2RlX2NhbGxfZXJyb3JoYW5kbGVyKAogICAgICAgICAgICAgICAgICAgICBlcnJvcnMsICZlcnJvckhhbmRsZXIsCiAgICAgICAgICAgICAgICAgICAgICJ1dGY3IiwgInVudGVybWluYXRlZCBzaGlmdCBzZXF1ZW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICZzdGFydHMsICZlLCAmc3RhcnRpbnBvcywgJmVuZGlucG9zLCAmZXhjLCAmcywKLSAgICAgICAgICAgICAgICAgICAgJnVuaWNvZGUsICZvdXRwb3MsICZwKSkKKyAgICAgICAgICAgICAgICAgICAgJnVuaWNvZGUsICZvdXRwb3MpKQogICAgICAgICAgICAgICAgIGdvdG8gb25FcnJvcjsKICAgICAgICAgICAgIGlmIChzIDwgZSkKICAgICAgICAgICAgICAgICBnb3RvIHJlc3RhcnQ7CkBAIC0yMzk3LDcgKzQzNzMsNyBAQAogICAgIC8qIHJldHVybiBzdGF0ZSAqLwogICAgIGlmIChjb25zdW1lZCkgewogICAgICAgICBpZiAoaW5TaGlmdCkgewotICAgICAgICAgICAgcCA9IHNoaWZ0T3V0U3RhcnQ7IC8qIGJhY2sgb2ZmIG91dHB1dCAqLworICAgICAgICAgICAgb3V0cG9zID0gc2hpZnRPdXRTdGFydDsgLyogYmFjayBvZmYgb3V0cHV0ICovCiAgICAgICAgICAgICAqY29uc3VtZWQgPSBzdGFydGlucG9zOwogICAgICAgICB9CiAgICAgICAgIGVsc2UgewpAQCAtMjQwNSwxMiArNDM4MSwxMiBAQAogICAgICAgICB9CiAgICAgfQogCi0gICAgaWYgKF9QeVVuaWNvZGVfUmVzaXplKCZ1bmljb2RlLCBwIC0gUHlVbmljb2RlX0FTX1VOSUNPREUodW5pY29kZSkpIDwgMCkKKyAgICBpZiAodW5pY29kZV9yZXNpemUoJnVuaWNvZGUsIG91dHBvcykgPCAwKQogICAgICAgICBnb3RvIG9uRXJyb3I7CiAKICAgICBQeV9YREVDUkVGKGVycm9ySGFuZGxlcik7CiAgICAgUHlfWERFQ1JFRihleGMpOwotICAgIHJldHVybiAoUHlPYmplY3QgKil1bmljb2RlOworICAgIHJldHVybiB1bmljb2RlX3Jlc3VsdCh1bmljb2RlKTsKIAogICBvbkVycm9yOgogICAgIFB5X1hERUNSRUYoZXJyb3JIYW5kbGVyKTsKQEAgLTI0MjAsMjYgKzQzOTYsMzYgQEAKIH0KIAogCi1QeU9iamVjdCAqUHlVbmljb2RlX0VuY29kZVVURjcoY29uc3QgUHlfVU5JQ09ERSAqcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IHNpemUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGJhc2U2NFNldE8sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGJhc2U2NFdoaXRlU3BhY2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZXJyb3JzKQorUHlPYmplY3QgKgorX1B5VW5pY29kZV9FbmNvZGVVVEY3KFB5T2JqZWN0ICpzdHIsCisgICAgICAgICAgICAgICAgICAgICAgaW50IGJhc2U2NFNldE8sCisgICAgICAgICAgICAgICAgICAgICAgaW50IGJhc2U2NFdoaXRlU3BhY2UsCisgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZXJyb3JzKQogeworICAgIGludCBraW5kOworICAgIHZvaWQgKmRhdGE7CisgICAgUHlfc3NpemVfdCBsZW47CiAgICAgUHlPYmplY3QgKnY7Ci0gICAgLyogSXQgbWlnaHQgYmUgcG9zc2libGUgdG8gdGlnaHRlbiB0aGlzIHdvcnN0IGNhc2UgKi8KLSAgICBQeV9zc2l6ZV90IGFsbG9jYXRlZCA9IDggKiBzaXplOworICAgIFB5X3NzaXplX3QgYWxsb2NhdGVkOwogICAgIGludCBpblNoaWZ0ID0gMDsKLSAgICBQeV9zc2l6ZV90IGkgPSAwOworICAgIFB5X3NzaXplX3QgaTsKICAgICB1bnNpZ25lZCBpbnQgYmFzZTY0Yml0cyA9IDA7CiAgICAgdW5zaWduZWQgbG9uZyBiYXNlNjRidWZmZXIgPSAwOwogICAgIGNoYXIgKiBvdXQ7CiAgICAgY2hhciAqIHN0YXJ0OwogCi0gICAgaWYgKHNpemUgPT0gMCkKKyAgICBpZiAoUHlVbmljb2RlX1JFQURZKHN0cikgPT0gLTEpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIGtpbmQgPSBQeVVuaWNvZGVfS0lORChzdHIpOworICAgIGRhdGEgPSBQeVVuaWNvZGVfREFUQShzdHIpOworICAgIGxlbiA9IFB5VW5pY29kZV9HRVRfTEVOR1RIKHN0cik7CisKKyAgICBpZiAobGVuID09IDApCiAgICAgICAgIHJldHVybiBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplKE5VTEwsIDApOwogCi0gICAgaWYgKGFsbG9jYXRlZCAvIDggIT0gc2l6ZSkKKyAgICAvKiBJdCBtaWdodCBiZSBwb3NzaWJsZSB0byB0aWdodGVuIHRoaXMgd29yc3QgY2FzZSAqLworICAgIGFsbG9jYXRlZCA9IDggKiBsZW47CisgICAgaWYgKGFsbG9jYXRlZCAvIDggIT0gbGVuKQogICAgICAgICByZXR1cm4gUHlFcnJfTm9NZW1vcnkoKTsKIAogICAgIHYgPSBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplKE5VTEwsIGFsbG9jYXRlZCk7CkBAIC0yNDQ3LDggKzQ0MzMsOCBAQAogICAgICAgICByZXR1cm4gTlVMTDsKIAogICAgIHN0YXJ0ID0gb3V0ID0gUHlCeXRlc19BU19TVFJJTkcodik7Ci0gICAgZm9yICg7aSA8IHNpemU7ICsraSkgewotICAgICAgICBQeV9VTklDT0RFIGNoID0gc1tpXTsKKyAgICBmb3IgKGkgPSAwOyBpIDwgbGVuOyArK2kpIHsKKyAgICAgICAgUHlfVUNTNCBjaCA9IFB5VW5pY29kZV9SRUFEKGtpbmQsIGRhdGEsIGkpOwogCiAgICAgICAgIGlmIChpblNoaWZ0KSB7CiAgICAgICAgICAgICBpZiAoRU5DT0RFX0RJUkVDVChjaCwgIWJhc2U2NFNldE8sICFiYXNlNjRXaGl0ZVNwYWNlKSkgewpAQCAtMjQ4Niw4ICs0NDcyLDkgQEAKICAgICAgICAgfQogICAgICAgICBjb250aW51ZTsKIGVuY29kZV9jaGFyOgotI2lmZGVmIFB5X1VOSUNPREVfV0lERQogICAgICAgICBpZiAoY2ggPj0gMHgxMDAwMCkgeworICAgICAgICAgICAgYXNzZXJ0KGNoIDw9IE1BWF9VTklDT0RFKTsKKwogICAgICAgICAgICAgLyogY29kZSBmaXJzdCBzdXJyb2dhdGUgKi8KICAgICAgICAgICAgIGJhc2U2NGJpdHMgKz0gMTY7CiAgICAgICAgICAgICBiYXNlNjRidWZmZXIgPSAoYmFzZTY0YnVmZmVyIDw8IDE2KSB8IDB4ZDgwMCB8ICgoY2gtMHgxMDAwMCkgPj4gMTApOwpAQCAtMjQ5Niw5ICs0NDgzLDggQEAKICAgICAgICAgICAgICAgICBiYXNlNjRiaXRzIC09IDY7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICAvKiBwcmVwYXJlIHNlY29uZCBzdXJyb2dhdGUgKi8KLSAgICAgICAgICAgIGNoID0gIDB4REMwMCB8ICgoY2gtMHgxMDAwMCkgJiAweDNGRik7CisgICAgICAgICAgICBjaCA9IFB5X1VOSUNPREVfTE9XX1NVUlJPR0FURShjaCk7CiAgICAgICAgIH0KLSNlbmRpZgogICAgICAgICBiYXNlNjRiaXRzICs9IDE2OwogICAgICAgICBiYXNlNjRidWZmZXIgPSAoYmFzZTY0YnVmZmVyIDw8IDE2KSB8IGNoOwogICAgICAgICB3aGlsZSAoYmFzZTY0Yml0cyA+PSA2KSB7CkBAIC0yNTE0LDYgKzQ1MDAsMjIgQEAKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgcmV0dXJuIHY7CiB9CitQeU9iamVjdCAqCitQeVVuaWNvZGVfRW5jb2RlVVRGNyhjb25zdCBQeV9VTklDT0RFICpzLAorICAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBzaXplLAorICAgICAgICAgICAgICAgICAgICAgaW50IGJhc2U2NFNldE8sCisgICAgICAgICAgICAgICAgICAgICBpbnQgYmFzZTY0V2hpdGVTcGFjZSwKKyAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmVycm9ycykKK3sKKyAgICBQeU9iamVjdCAqcmVzdWx0OworICAgIFB5T2JqZWN0ICp0bXAgPSBQeVVuaWNvZGVfRnJvbVVuaWNvZGUocywgc2l6ZSk7CisgICAgaWYgKHRtcCA9PSBOVUxMKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICByZXN1bHQgPSBfUHlVbmljb2RlX0VuY29kZVVURjcodG1wLCBiYXNlNjRTZXRPLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYXNlNjRXaGl0ZVNwYWNlLCBlcnJvcnMpOworICAgIFB5X0RFQ1JFRih0bXApOworICAgIHJldHVybiByZXN1bHQ7Cit9CiAKICN1bmRlZiBJU19CQVNFNjQKICN1bmRlZiBGUk9NX0JBU0U2NApAQCAtMjU0NSwxMyArNDU0NywyNiBAQAogICAgIDQsIDQsIDQsIDQsIDQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAgIC8qIEYwLUY0ICsgRjUtRkYgKi8KIH07CiAKLVB5T2JqZWN0ICpQeVVuaWNvZGVfRGVjb2RlVVRGOChjb25zdCBjaGFyICpzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3Qgc2l6ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICplcnJvcnMpCitQeU9iamVjdCAqCitQeVVuaWNvZGVfRGVjb2RlVVRGOChjb25zdCBjaGFyICpzLAorICAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBzaXplLAorICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZXJyb3JzKQogewogICAgIHJldHVybiBQeVVuaWNvZGVfRGVjb2RlVVRGOFN0YXRlZnVsKHMsIHNpemUsIGVycm9ycywgTlVMTCk7CiB9CiAKKyNpbmNsdWRlICJzdHJpbmdsaWIvdWNzMWxpYi5oIgorI2luY2x1ZGUgInN0cmluZ2xpYi9jb2RlY3MuaCIKKyNpbmNsdWRlICJzdHJpbmdsaWIvdW5kZWYuaCIKKworI2luY2x1ZGUgInN0cmluZ2xpYi91Y3MybGliLmgiCisjaW5jbHVkZSAic3RyaW5nbGliL2NvZGVjcy5oIgorI2luY2x1ZGUgInN0cmluZ2xpYi91bmRlZi5oIgorCisjaW5jbHVkZSAic3RyaW5nbGliL3VjczRsaWIuaCIKKyNpbmNsdWRlICJzdHJpbmdsaWIvY29kZWNzLmgiCisjaW5jbHVkZSAic3RyaW5nbGliL3VuZGVmLmgiCisKIC8qIE1hc2sgdG8gY2hlY2sgb3IgZm9yY2UgYWxpZ25tZW50IG9mIGEgcG9pbnRlciB0byBDICdsb25nJyBib3VuZGFyaWVzICovCiAjZGVmaW5lIExPTkdfUFRSX01BU0sgKHNpemVfdCkgKFNJWkVPRl9MT05HIC0gMSkKIApAQCAtMjU2NSwzOCArNDU4MCwxMjcgQEAKICMgZXJyb3IgQyAnbG9uZycgc2l6ZSBzaG91bGQgYmUgZWl0aGVyIDQgb3IgOCEKICNlbmRpZgogCi1QeU9iamVjdCAqUHlVbmljb2RlX0RlY29kZVVURjhTdGF0ZWZ1bChjb25zdCBjaGFyICpzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBzaXplLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZXJyb3JzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCAqY29uc3VtZWQpCisvKiBTY2FucyBhIFVURi04IHN0cmluZyBhbmQgcmV0dXJucyB0aGUgbWF4aW11bSBjaGFyYWN0ZXIgdG8gYmUgZXhwZWN0ZWQKKyAgIGFuZCB0aGUgc2l6ZSBvZiB0aGUgZGVjb2RlZCB1bmljb2RlIHN0cmluZy4KKworICAgVGhpcyBmdW5jdGlvbiBkb2Vzbid0IGNoZWNrIGZvciBlcnJvcnMsIHRoZXNlIGNoZWNrcyBhcmUgcGVyZm9ybWVkIGluCisgICBQeVVuaWNvZGVfRGVjb2RlVVRGOFN0YXRlZnVsLgorICAgKi8KK3N0YXRpYyBQeV9VQ1M0Cit1dGY4X3NjYW5uZXIoY29uc3QgdW5zaWduZWQgY2hhciAqcCwgUHlfc3NpemVfdCBzdHJpbmdfc2l6ZSwgUHlfc3NpemVfdCAqdW5pY29kZV9zaXplKQogewotICAgIGNvbnN0IGNoYXIgKnN0YXJ0cyA9IHM7CisgICAgUHlfc3NpemVfdCBjaGFyX2NvdW50ID0gMDsKKyAgICBjb25zdCB1bnNpZ25lZCBjaGFyICplbmQgPSBwICsgc3RyaW5nX3NpemU7CisgICAgY29uc3QgdW5zaWduZWQgY2hhciAqYWxpZ25lZF9lbmQgPSAoY29uc3QgdW5zaWduZWQgY2hhciAqKSAoKHNpemVfdCkgZW5kICYgfkxPTkdfUFRSX01BU0spOworCisgICAgYXNzZXJ0KHVuaWNvZGVfc2l6ZSAhPSBOVUxMKTsKKworICAgIC8qIEJ5IGhhdmluZyBhIGNhc2NhZGUgb2YgaW5kZXBlbmRlbnQgbG9vcHMgd2hpY2ggZmFsbGJhY2sgb250byBlYWNoCisgICAgICAgb3RoZXIsIHdlIG1pbmltaXplIHRoZSBhbW91bnQgb2Ygd29yayBkb25lIGluIHRoZSBhdmVyYWdlIGxvb3AKKyAgICAgICBpdGVyYXRpb24sIGFuZCB3ZSBhbHNvIG1heGltaXplIHRoZSBDUFUncyBhYmlsaXR5IHRvIHByZWRpY3QKKyAgICAgICBicmFuY2hlcyBjb3JyZWN0bHkgKGJlY2F1c2UgYSBnaXZlbiBjb25kaXRpb24gd2lsbCBoYXZlIGFsd2F5cyB0aGUKKyAgICAgICBzYW1lIGJvb2xlYW4gb3V0Y29tZSBleGNlcHQgcGVyaGFwcyBpbiB0aGUgbGFzdCBpdGVyYXRpb24gb2YgdGhlCisgICAgICAgY29ycmVzcG9uZGluZyBsb29wKS4KKyAgICAgICBJbiB0aGUgZ2VuZXJhbCBjYXNlIHRoaXMgYnJpbmdzIHVzIHJhdGhlciBjbG9zZSB0byBkZWNvZGluZworICAgICAgIHBlcmZvcm1hbmNlIHByZS1QRVAgMzkzLCBkZXNwaXRlIHRoZSB0d28tcGFzcyBkZWNvZGluZy4KKworICAgICAgIE5vdGUgdGhhdCB0aGUgcHVyZSBBU0NJSSBsb29wIGlzIG5vdCBkdXBsaWNhdGVkIG9uY2UgYSBub24tQVNDSUkKKyAgICAgICBjaGFyYWN0ZXIgaGFzIGJlZW4gZW5jb3VudGVyZWQuIEl0IGlzIGFjdHVhbGx5IGEgcGVzc2ltaXphdGlvbiAoYnkKKyAgICAgICBhIHNpZ25pZmljYW50IGZhY3RvcikgdG8gdXNlIHRoaXMgbG9vcCBvbiB0ZXh0IHdpdGggbWFueSBub24tQVNDSUkKKyAgICAgICBjaGFyYWN0ZXJzLCBhbmQgaXQgaXMgaW1wb3J0YW50IHRvIGF2b2lkIGJhZCBwZXJmb3JtYW5jZSBvbiB2YWxpZAorICAgICAgIHV0Zi04IGRhdGEgKGludmFsaWQgdXRmLTggYmVpbmcgYSBkaWZmZXJlbnQgY2FuIG9mIHdvcm1zKS4KKyAgICAqLworCisgICAgLyogQVNDSUkgKi8KKyAgICBmb3IgKDsgcCA8IGVuZDsgKytwKSB7CisgICAgICAgIC8qIE9ubHkgY2hlY2sgdmFsdWUgaWYgaXQncyBub3QgYSBBU0NJSSBjaGFyLi4uICovCisgICAgICAgIGlmICgqcCA8IDB4ODApIHsKKyAgICAgICAgICAgIC8qIEZhc3QgcGF0aCwgc2VlIGJlbG93IGluIFB5VW5pY29kZV9EZWNvZGVVVEY4U3RhdGVmdWwgZm9yCisgICAgICAgICAgICAgICBhbiBleHBsYW5hdGlvbi4gKi8KKyAgICAgICAgICAgIGlmICghKChzaXplX3QpIHAgJiBMT05HX1BUUl9NQVNLKSkgeworICAgICAgICAgICAgICAgIC8qIEhlbHAgcmVnaXN0ZXIgYWxsb2NhdGlvbiAqLworICAgICAgICAgICAgICAgIHJlZ2lzdGVyIGNvbnN0IHVuc2lnbmVkIGNoYXIgKl9wID0gcDsKKyAgICAgICAgICAgICAgICB3aGlsZSAoX3AgPCBhbGlnbmVkX2VuZCkgeworICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIHZhbHVlID0gKih1bnNpZ25lZCBsb25nICopIF9wOworICAgICAgICAgICAgICAgICAgICBpZiAodmFsdWUgJiBBU0NJSV9DSEFSX01BU0spCisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgX3AgKz0gU0laRU9GX0xPTkc7CisgICAgICAgICAgICAgICAgICAgIGNoYXJfY291bnQgKz0gU0laRU9GX0xPTkc7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIHAgPSBfcDsKKyAgICAgICAgICAgICAgICBpZiAocCA9PSBlbmQpCisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIGlmICgqcCA8IDB4ODApCisgICAgICAgICAgICArK2NoYXJfY291bnQ7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGdvdG8gX3VjczFsb29wOworICAgIH0KKyAgICAqdW5pY29kZV9zaXplID0gY2hhcl9jb3VudDsKKyAgICByZXR1cm4gMTI3OworCitfdWNzMWxvb3A6CisgICAgZm9yICg7IHAgPCBlbmQ7ICsrcCkgeworICAgICAgICBpZiAoKnAgPCAweGM0KQorICAgICAgICAgICAgY2hhcl9jb3VudCArPSAoKCpwICYgMHhjMCkgIT0gMHg4MCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGdvdG8gX3VjczJsb29wOworICAgIH0KKyAgICAqdW5pY29kZV9zaXplID0gY2hhcl9jb3VudDsKKyAgICByZXR1cm4gMjU1OworCitfdWNzMmxvb3A6CisgICAgZm9yICg7IHAgPCBlbmQ7ICsrcCkgeworICAgICAgICBpZiAoKnAgPCAweGYwKQorICAgICAgICAgICAgY2hhcl9jb3VudCArPSAoKCpwICYgMHhjMCkgIT0gMHg4MCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGdvdG8gX3VjczRsb29wOworICAgIH0KKyAgICAqdW5pY29kZV9zaXplID0gY2hhcl9jb3VudDsKKyAgICByZXR1cm4gNjU1MzU7CisKK191Y3M0bG9vcDoKKyAgICBmb3IgKDsgcCA8IGVuZDsgKytwKSB7CisgICAgICAgIGNoYXJfY291bnQgKz0gKCgqcCAmIDB4YzApICE9IDB4ODApOworICAgIH0KKyAgICAqdW5pY29kZV9zaXplID0gY2hhcl9jb3VudDsKKyAgICByZXR1cm4gNjU1Mzc7Cit9CisKKy8qIFNpbWlsYXIgdG8gUHlVbmljb2RlX1dSSVRFIGJ1dCBtYXkgYXR0ZW1wdCB0byB3aWRlbiBhbmQgcmVzaXplIHRoZSBzdHJpbmcKKyAgIGluIGNhc2Ugb2YgZXJyb3JzLiBJbXBsaWNpdCBwYXJhbWV0ZXJzOiB1bmljb2RlLCBraW5kLCBkYXRhLCBvbkVycm9yLgorICAgUG90ZW50aWFsIHJlc2l6aW5nIG92ZXJhbGxvY2F0ZXMsIHNvIHRoZSByZXN1bHQgbmVlZHMgdG8gc2hyaW5rIGF0IHRoZSBlbmQuCisqLworI2RlZmluZSBXUklURV9NQVlCRV9GQUlMKGluZGV4LCB2YWx1ZSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgUHlfc3NpemVfdCBwb3MgPSBpbmRleDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICBpZiAocG9zID4gUHlVbmljb2RlX0dFVF9MRU5HVEgodW5pY29kZSkgJiYgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICB1bmljb2RlX3Jlc2l6ZSgmdW5pY29kZSwgcG9zICsgcG9zLzgpIDwgMCkgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIGdvdG8gb25FcnJvcjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICBpZiAodW5pY29kZV9wdXRjaGFyKCZ1bmljb2RlLCAmcG9zLCB2YWx1ZSkgPCAwKSAgICAgICAgICAgICBcCisgICAgICAgICAgICBnb3RvIG9uRXJyb3I7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB9IHdoaWxlICgwKQorCitzdGF0aWMgUHlPYmplY3QgKgorZGVjb2RlX3V0ZjhfZXJyb3JzKGNvbnN0IGNoYXIgKnN0YXJ0cywKKyAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IHNpemUsCisgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZXJyb3JzLAorICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3QgKmNvbnN1bWVkLAorICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKnMsCisgICAgICAgICAgICAgICAgICAgUHlPYmplY3QgKnVuaWNvZGUsCisgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBpKQorewogICAgIGludCBuOwogICAgIGludCBrOwogICAgIFB5X3NzaXplX3Qgc3RhcnRpbnBvczsKICAgICBQeV9zc2l6ZV90IGVuZGlucG9zOwotICAgIFB5X3NzaXplX3Qgb3V0cG9zOwotICAgIGNvbnN0IGNoYXIgKmUsICphbGlnbmVkX2VuZDsKLSAgICBQeVVuaWNvZGVPYmplY3QgKnVuaWNvZGU7Ci0gICAgUHlfVU5JQ09ERSAqcDsKKyAgICBjb25zdCBjaGFyICplID0gc3RhcnRzICsgc2l6ZTsKKyAgICBjb25zdCBjaGFyICphbGlnbmVkX2VuZDsKICAgICBjb25zdCBjaGFyICplcnJtc2cgPSAiIjsKICAgICBQeU9iamVjdCAqZXJyb3JIYW5kbGVyID0gTlVMTDsKICAgICBQeU9iamVjdCAqZXhjID0gTlVMTDsKIAotICAgIC8qIE5vdGU6IHNpemUgd2lsbCBhbHdheXMgYmUgbG9uZ2VyIHRoYW4gdGhlIHJlc3VsdGluZyBVbmljb2RlCi0gICAgICAgY2hhcmFjdGVyIGNvdW50ICovCi0gICAgdW5pY29kZSA9IF9QeVVuaWNvZGVfTmV3KHNpemUpOwotICAgIGlmICghdW5pY29kZSkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgaWYgKHNpemUgPT0gMCkgewotICAgICAgICBpZiAoY29uc3VtZWQpCi0gICAgICAgICAgICAqY29uc3VtZWQgPSAwOwotICAgICAgICByZXR1cm4gKFB5T2JqZWN0ICopdW5pY29kZTsKLSAgICB9Ci0KLSAgICAvKiBVbnBhY2sgVVRGLTggZW5jb2RlZCBkYXRhICovCi0gICAgcCA9IHVuaWNvZGUtPnN0cjsKLSAgICBlID0gcyArIHNpemU7CiAgICAgYWxpZ25lZF9lbmQgPSAoY29uc3QgY2hhciAqKSAoKHNpemVfdCkgZSAmIH5MT05HX1BUUl9NQVNLKTsKIAogICAgIHdoaWxlIChzIDwgZSkgewpAQCAtMjYxMywyOSArNDcxNywyOSBAQAogICAgICAgICAgICAgaWYgKCEoKHNpemVfdCkgcyAmIExPTkdfUFRSX01BU0spKSB7CiAgICAgICAgICAgICAgICAgLyogSGVscCByZWdpc3RlciBhbGxvY2F0aW9uICovCiAgICAgICAgICAgICAgICAgcmVnaXN0ZXIgY29uc3QgY2hhciAqX3MgPSBzOwotICAgICAgICAgICAgICAgIHJlZ2lzdGVyIFB5X1VOSUNPREUgKl9wID0gcDsKKyAgICAgICAgICAgICAgICByZWdpc3RlciBQeV9zc2l6ZV90IF9pID0gaTsKICAgICAgICAgICAgICAgICB3aGlsZSAoX3MgPCBhbGlnbmVkX2VuZCkgewogICAgICAgICAgICAgICAgICAgICAvKiBSZWFkIGEgd2hvbGUgbG9uZyBhdCBhIHRpbWUgKGVpdGhlciA0IG9yIDggYnl0ZXMpLAogICAgICAgICAgICAgICAgICAgICAgICBhbmQgZG8gYSBmYXN0IHVucm9sbGVkIGNvcHkgaWYgaXQgb25seSBjb250YWlucyBBU0NJSQogICAgICAgICAgICAgICAgICAgICAgICBjaGFyYWN0ZXJzLiAqLwotICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIGRhdGEgPSAqKHVuc2lnbmVkIGxvbmcgKikgX3M7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChkYXRhICYgQVNDSUlfQ0hBUl9NQVNLKQorICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIHZhbHVlID0gKih1bnNpZ25lZCBsb25nICopIF9zOworICAgICAgICAgICAgICAgICAgICBpZiAodmFsdWUgJiBBU0NJSV9DSEFSX01BU0spCiAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICAgICAgX3BbMF0gPSAodW5zaWduZWQgY2hhcikgX3NbMF07Ci0gICAgICAgICAgICAgICAgICAgIF9wWzFdID0gKHVuc2lnbmVkIGNoYXIpIF9zWzFdOwotICAgICAgICAgICAgICAgICAgICBfcFsyXSA9ICh1bnNpZ25lZCBjaGFyKSBfc1syXTsKLSAgICAgICAgICAgICAgICAgICAgX3BbM10gPSAodW5zaWduZWQgY2hhcikgX3NbM107CisgICAgICAgICAgICAgICAgICAgIFdSSVRFX01BWUJFX0ZBSUwoX2krMCwgX3NbMF0pOworICAgICAgICAgICAgICAgICAgICBXUklURV9NQVlCRV9GQUlMKF9pKzEsIF9zWzFdKTsKKyAgICAgICAgICAgICAgICAgICAgV1JJVEVfTUFZQkVfRkFJTChfaSsyLCBfc1syXSk7CisgICAgICAgICAgICAgICAgICAgIFdSSVRFX01BWUJFX0ZBSUwoX2krMywgX3NbM10pOwogI2lmIChTSVpFT0ZfTE9ORyA9PSA4KQotICAgICAgICAgICAgICAgICAgICBfcFs0XSA9ICh1bnNpZ25lZCBjaGFyKSBfc1s0XTsKLSAgICAgICAgICAgICAgICAgICAgX3BbNV0gPSAodW5zaWduZWQgY2hhcikgX3NbNV07Ci0gICAgICAgICAgICAgICAgICAgIF9wWzZdID0gKHVuc2lnbmVkIGNoYXIpIF9zWzZdOwotICAgICAgICAgICAgICAgICAgICBfcFs3XSA9ICh1bnNpZ25lZCBjaGFyKSBfc1s3XTsKKyAgICAgICAgICAgICAgICAgICAgV1JJVEVfTUFZQkVfRkFJTChfaSs0LCBfc1s0XSk7CisgICAgICAgICAgICAgICAgICAgIFdSSVRFX01BWUJFX0ZBSUwoX2krNSwgX3NbNV0pOworICAgICAgICAgICAgICAgICAgICBXUklURV9NQVlCRV9GQUlMKF9pKzYsIF9zWzZdKTsKKyAgICAgICAgICAgICAgICAgICAgV1JJVEVfTUFZQkVfRkFJTChfaSs3LCBfc1s3XSk7CiAjZW5kaWYKICAgICAgICAgICAgICAgICAgICAgX3MgKz0gU0laRU9GX0xPTkc7Ci0gICAgICAgICAgICAgICAgICAgIF9wICs9IFNJWkVPRl9MT05HOworICAgICAgICAgICAgICAgICAgICBfaSArPSBTSVpFT0ZfTE9ORzsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgcyA9IF9zOwotICAgICAgICAgICAgICAgIHAgPSBfcDsKKyAgICAgICAgICAgICAgICBpID0gX2k7CiAgICAgICAgICAgICAgICAgaWYgKHMgPT0gZSkKICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgY2ggPSAodW5zaWduZWQgY2hhcikqczsKQEAgLTI2NDMsNyArNDc0Nyw3IEBACiAgICAgICAgIH0KIAogICAgICAgICBpZiAoY2ggPCAweDgwKSB7Ci0gICAgICAgICAgICAqcCsrID0gKFB5X1VOSUNPREUpY2g7CisgICAgICAgICAgICBXUklURV9NQVlCRV9GQUlMKGkrKywgY2gpOwogICAgICAgICAgICAgcysrOwogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0KQEAgLTI2ODYsNyArNDc5MCw3IEBACiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBjaCA9ICgoc1swXSAmIDB4MWYpIDw8IDYpICsgKHNbMV0gJiAweDNmKTsKICAgICAgICAgICAgIGFzc2VydCAoKGNoID4gMHgwMDdGKSAmJiAoY2ggPD0gMHgwN0ZGKSk7Ci0gICAgICAgICAgICAqcCsrID0gKFB5X1VOSUNPREUpY2g7CisgICAgICAgICAgICBXUklURV9NQVlCRV9GQUlMKGkrKywgY2gpOwogICAgICAgICAgICAgYnJlYWs7CiAKICAgICAgICAgY2FzZSAzOgpAQCAtMjcxNSw3ICs0ODE5LDcgQEAKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGNoID0gKChzWzBdICYgMHgwZikgPDwgMTIpICsgKChzWzFdICYgMHgzZikgPDwgNikgKyAoc1syXSAmIDB4M2YpOwogICAgICAgICAgICAgYXNzZXJ0ICgoY2ggPiAweDA3RkYpICYmIChjaCA8PSAweEZGRkYpKTsKLSAgICAgICAgICAgICpwKysgPSAoUHlfVU5JQ09ERSljaDsKKyAgICAgICAgICAgIFdSSVRFX01BWUJFX0ZBSUwoaSsrLCBjaCk7CiAgICAgICAgICAgICBicmVhazsKIAogICAgICAgICBjYXNlIDQ6CkBAIC0yNzM4LDU2ICs0ODQyLDExNiBAQAogICAgICAgICAgICAgfQogICAgICAgICAgICAgY2ggPSAoKHNbMF0gJiAweDcpIDw8IDE4KSArICgoc1sxXSAmIDB4M2YpIDw8IDEyKSArCiAgICAgICAgICAgICAgICAgICgoc1syXSAmIDB4M2YpIDw8IDYpICsgKHNbM10gJiAweDNmKTsKLSAgICAgICAgICAgIGFzc2VydCAoKGNoID4gMHhGRkZGKSAmJiAoY2ggPD0gMHgxMGZmZmYpKTsKKyAgICAgICAgICAgIGFzc2VydCAoKGNoID4gMHhGRkZGKSAmJiAoY2ggPD0gTUFYX1VOSUNPREUpKTsKIAotI2lmZGVmIFB5X1VOSUNPREVfV0lERQotICAgICAgICAgICAgKnArKyA9IChQeV9VTklDT0RFKWNoOwotI2Vsc2UKLSAgICAgICAgICAgIC8qICBjb21wdXRlIGFuZCBhcHBlbmQgdGhlIHR3byBzdXJyb2dhdGVzOiAqLwotCi0gICAgICAgICAgICAvKiAgdHJhbnNsYXRlIGZyb20gMTAwMDAuLjEwRkZGRiB0byAwLi5GRkZGICovCi0gICAgICAgICAgICBjaCAtPSAweDEwMDAwOwotCi0gICAgICAgICAgICAvKiAgaGlnaCBzdXJyb2dhdGUgPSB0b3AgMTAgYml0cyBhZGRlZCB0byBEODAwICovCi0gICAgICAgICAgICAqcCsrID0gKFB5X1VOSUNPREUpKDB4RDgwMCArIChjaCA+PiAxMCkpOwotCi0gICAgICAgICAgICAvKiAgbG93IHN1cnJvZ2F0ZSA9IGJvdHRvbSAxMCBiaXRzIGFkZGVkIHRvIERDMDAgKi8KLSAgICAgICAgICAgICpwKysgPSAoUHlfVU5JQ09ERSkoMHhEQzAwICsgKGNoICYgMHgwM0ZGKSk7Ci0jZW5kaWYKKyAgICAgICAgICAgIFdSSVRFX01BWUJFX0ZBSUwoaSsrLCBjaCk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgICAgICBzICs9IG47CiAgICAgICAgIGNvbnRpbnVlOwogCiAgICAgICB1dGY4RXJyb3I6Ci0gICAgICAgIG91dHBvcyA9IHAtUHlVbmljb2RlX0FTX1VOSUNPREUodW5pY29kZSk7CiAgICAgICAgIGlmICh1bmljb2RlX2RlY29kZV9jYWxsX2Vycm9yaGFuZGxlcigKICAgICAgICAgICAgICAgICBlcnJvcnMsICZlcnJvckhhbmRsZXIsCiAgICAgICAgICAgICAgICAgInV0Zi04IiwgZXJybXNnLAogICAgICAgICAgICAgICAgICZzdGFydHMsICZlLCAmc3RhcnRpbnBvcywgJmVuZGlucG9zLCAmZXhjLCAmcywKLSAgICAgICAgICAgICAgICAmdW5pY29kZSwgJm91dHBvcywgJnApKQorICAgICAgICAgICAgICAgICZ1bmljb2RlLCAmaSkpCiAgICAgICAgICAgICBnb3RvIG9uRXJyb3I7CisgICAgICAgIC8qIFVwZGF0ZSBkYXRhIGJlY2F1c2UgdW5pY29kZV9kZWNvZGVfY2FsbF9lcnJvcmhhbmRsZXIgbWlnaHQgaGF2ZQorICAgICAgICAgICByZS1jcmVhdGVkIG9yIHJlc2l6ZWQgdGhlIHVuaWNvZGUgb2JqZWN0LiAqLwogICAgICAgICBhbGlnbmVkX2VuZCA9IChjb25zdCBjaGFyICopICgoc2l6ZV90KSBlICYgfkxPTkdfUFRSX01BU0spOwogICAgIH0KICAgICBpZiAoY29uc3VtZWQpCiAgICAgICAgICpjb25zdW1lZCA9IHMtc3RhcnRzOwogCi0gICAgLyogQWRqdXN0IGxlbmd0aCAqLwotICAgIGlmIChfUHlVbmljb2RlX1Jlc2l6ZSgmdW5pY29kZSwgcCAtIHVuaWNvZGUtPnN0cikgPCAwKQorICAgIC8qIEFkanVzdCBsZW5ndGggYW5kIHJlYWR5IHN0cmluZyB3aGVuIGl0IGNvbnRhaW5lZCBlcnJvcnMgYW5kCisgICAgICAgaXMgb2YgdGhlIG9sZCByZXNpemFibGUga2luZC4gKi8KKyAgICBpZiAodW5pY29kZV9yZXNpemUoJnVuaWNvZGUsIGkpIDwgMCkKKyAgICAgICAgZ290byBvbkVycm9yOworICAgIHVuaWNvZGVfYWRqdXN0X21heGNoYXIoJnVuaWNvZGUpOworICAgIGlmICh1bmljb2RlID09IE5VTEwpCiAgICAgICAgIGdvdG8gb25FcnJvcjsKIAogICAgIFB5X1hERUNSRUYoZXJyb3JIYW5kbGVyKTsKICAgICBQeV9YREVDUkVGKGV4Yyk7Ci0gICAgcmV0dXJuIChQeU9iamVjdCAqKXVuaWNvZGU7CisgICAgYXNzZXJ0KF9QeVVuaWNvZGVfQ2hlY2tDb25zaXN0ZW5jeSh1bmljb2RlLCAxKSk7CisgICAgcmV0dXJuIHVuaWNvZGU7CiAKICAgb25FcnJvcjoKICAgICBQeV9YREVDUkVGKGVycm9ySGFuZGxlcik7CiAgICAgUHlfWERFQ1JFRihleGMpOwotICAgIFB5X0RFQ1JFRih1bmljb2RlKTsKKyAgICBQeV9YREVDUkVGKHVuaWNvZGUpOwogICAgIHJldHVybiBOVUxMOwogfQorI3VuZGVmIFdSSVRFX01BWUJFX0ZBSUwKIAotI3VuZGVmIEFTQ0lJX0NIQVJfTUFTSworUHlPYmplY3QgKgorUHlVbmljb2RlX0RlY29kZVVURjhTdGF0ZWZ1bChjb25zdCBjaGFyICpzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IHNpemUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmVycm9ycywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCAqY29uc3VtZWQpCit7CisgICAgUHlfVUNTNCBtYXhjaGFyID0gMDsKKyAgICBQeV9zc2l6ZV90IHVuaWNvZGVfc2l6ZTsKKyAgICBpbnQgaGFzX2Vycm9ycyA9IDA7CisgICAgUHlPYmplY3QgKnVuaWNvZGU7CisgICAgaW50IGtpbmQ7CisgICAgdm9pZCAqZGF0YTsKKyAgICBjb25zdCBjaGFyICpzdGFydHMgPSBzOworICAgIGNvbnN0IGNoYXIgKmU7CisgICAgUHlfc3NpemVfdCBpOworCisgICAgaWYgKHNpemUgPT0gMCkgeworICAgICAgICBpZiAoY29uc3VtZWQpCisgICAgICAgICAgICAqY29uc3VtZWQgPSAwOworICAgICAgICBQeV9JTkNSRUYodW5pY29kZV9lbXB0eSk7CisgICAgICAgIHJldHVybiB1bmljb2RlX2VtcHR5OworICAgIH0KKworICAgIG1heGNoYXIgPSB1dGY4X3NjYW5uZXIoKGNvbnN0IHVuc2lnbmVkIGNoYXIgKilzLCBzaXplLCAmdW5pY29kZV9zaXplKTsKKworICAgIC8qIFdoZW4gdGhlIHN0cmluZyBpcyBBU0NJSSBvbmx5LCBqdXN0IHVzZSBtZW1jcHkgYW5kIHJldHVybi4KKyAgICAgICB1bmljb2RlX3NpemUgbWF5IGJlICE9IHNpemUgaWYgdGhlcmUgaXMgYW4gaW5jb21wbGV0ZSBVVEYtOAorICAgICAgIHNlcXVlbmNlIGF0IHRoZSBlbmQgb2YgdGhlIEFTQ0lJIGJsb2NrLiAgKi8KKyAgICBpZiAobWF4Y2hhciA8IDEyOCAmJiBzaXplID09IHVuaWNvZGVfc2l6ZSkgeworICAgICAgICBpZiAoY29uc3VtZWQpCisgICAgICAgICAgICAqY29uc3VtZWQgPSBzaXplOworICAgICAgICByZXR1cm4gdW5pY29kZV9mcm9tYXNjaWkoKGNvbnN0IHVuc2lnbmVkIGNoYXIgKilzLCBzaXplKTsKKyAgICB9CisKKyAgICB1bmljb2RlID0gUHlVbmljb2RlX05ldyh1bmljb2RlX3NpemUsIG1heGNoYXIpOworICAgIGlmICghdW5pY29kZSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAga2luZCA9IFB5VW5pY29kZV9LSU5EKHVuaWNvZGUpOworICAgIGRhdGEgPSBQeVVuaWNvZGVfREFUQSh1bmljb2RlKTsKKworICAgIC8qIFVucGFjayBVVEYtOCBlbmNvZGVkIGRhdGEgKi8KKyAgICBpID0gMDsKKyAgICBlID0gc3RhcnRzICsgc2l6ZTsKKyAgICBzd2l0Y2ggKGtpbmQpIHsKKyAgICBjYXNlIFB5VW5pY29kZV8xQllURV9LSU5EOgorICAgICAgICBoYXNfZXJyb3JzID0gdWNzMWxpYl91dGY4X3RyeV9kZWNvZGUocywgZSwgKFB5X1VDUzEgKikgZGF0YSwgJnMsICZpKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBQeVVuaWNvZGVfMkJZVEVfS0lORDoKKyAgICAgICAgaGFzX2Vycm9ycyA9IHVjczJsaWJfdXRmOF90cnlfZGVjb2RlKHMsIGUsIChQeV9VQ1MyICopIGRhdGEsICZzLCAmaSk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgUHlVbmljb2RlXzRCWVRFX0tJTkQ6CisgICAgICAgIGhhc19lcnJvcnMgPSB1Y3M0bGliX3V0ZjhfdHJ5X2RlY29kZShzLCBlLCAoUHlfVUNTNCAqKSBkYXRhLCAmcywgJmkpOworICAgICAgICBicmVhazsKKyAgICB9CisgICAgaWYgKCFoYXNfZXJyb3JzKSB7CisgICAgICAgIC8qIEVuc3VyZSB0aGUgdW5pY29kZSBzaXplIGNhbGN1bGF0aW9uIHdhcyBjb3JyZWN0ICovCisgICAgICAgIGFzc2VydChpID09IHVuaWNvZGVfc2l6ZSk7CisgICAgICAgIGFzc2VydChzID09IGUpOworICAgICAgICBpZiAoY29uc3VtZWQpCisgICAgICAgICAgICAqY29uc3VtZWQgPSBzaXplOworICAgICAgICByZXR1cm4gdW5pY29kZTsKKyAgICB9CisKKyAgICAvKiBJbiBjYXNlIG9mIGVycm9ycywgbWF4Y2hhciBhbmQgc2l6ZSBjb21wdXRhdGlvbiBtaWdodCBiZSBpbmNvcnJlY3Q7CisgICAgICAgY29kZSBiZWxvdyByZWZpdHMgYW5kIHJlc2l6ZXMgYXMgbmVjZXNzYXJ5LiAqLworICAgIHJldHVybiBkZWNvZGVfdXRmOF9lcnJvcnMoc3RhcnRzLCBzaXplLCBlcnJvcnMsIGNvbnN1bWVkLCBzLCB1bmljb2RlLCBpKTsKK30KIAogI2lmZGVmIF9fQVBQTEVfXwogCkBAIC0yODU4LDcgKzUwMjIsNyBAQAogICAgICAgICAgICAgfQogICAgICAgICAgICAgY2ggPSAoKHNbMF0gJiAweDBmKSA8PCAxMikgKyAoKHNbMV0gJiAweDNmKSA8PCA2KSArIChzWzJdICYgMHgzZik7CiAgICAgICAgICAgICBhc3NlcnQgKChjaCA+IDB4MDdGRikgJiYgKGNoIDw9IDB4RkZGRikpOwotICAgICAgICAgICAgKnArKyA9IChQeV9VTklDT0RFKWNoOworICAgICAgICAgICAgKnArKyA9ICh3Y2hhcl90KWNoOwogICAgICAgICAgICAgYnJlYWs7CiAKICAgICAgICAgY2FzZSA0OgpAQCAtMjg3MywyMSArNTAzNywxNCBAQAogICAgICAgICAgICAgfQogICAgICAgICAgICAgY2ggPSAoKHNbMF0gJiAweDcpIDw8IDE4KSArICgoc1sxXSAmIDB4M2YpIDw8IDEyKSArCiAgICAgICAgICAgICAgICAgICgoc1syXSAmIDB4M2YpIDw8IDYpICsgKHNbM10gJiAweDNmKTsKLSAgICAgICAgICAgIGFzc2VydCAoKGNoID4gMHhGRkZGKSAmJiAoY2ggPD0gMHgxMGZmZmYpKTsKKyAgICAgICAgICAgIGFzc2VydCAoKGNoID4gMHhGRkZGKSAmJiAoY2ggPD0gTUFYX1VOSUNPREUpKTsKIAogI2lmIFNJWkVPRl9XQ0hBUl9UID09IDQKICAgICAgICAgICAgICpwKysgPSAod2NoYXJfdCljaDsKICNlbHNlCiAgICAgICAgICAgICAvKiAgY29tcHV0ZSBhbmQgYXBwZW5kIHRoZSB0d28gc3Vycm9nYXRlczogKi8KLQotICAgICAgICAgICAgLyogIHRyYW5zbGF0ZSBmcm9tIDEwMDAwLi4xMEZGRkYgdG8gMC4uRkZGRiAqLwotICAgICAgICAgICAgY2ggLT0gMHgxMDAwMDsKLQotICAgICAgICAgICAgLyogIGhpZ2ggc3Vycm9nYXRlID0gdG9wIDEwIGJpdHMgYWRkZWQgdG8gRDgwMCAqLwotICAgICAgICAgICAgKnArKyA9ICh3Y2hhcl90KSgweEQ4MDAgKyAoY2ggPj4gMTApKTsKLQotICAgICAgICAgICAgLyogIGxvdyBzdXJyb2dhdGUgPSBib3R0b20gMTAgYml0cyBhZGRlZCB0byBEQzAwICovCi0gICAgICAgICAgICAqcCsrID0gKHdjaGFyX3QpKDB4REMwMCArIChjaCAmIDB4MDNGRikpOworICAgICAgICAgICAgKnArKyA9ICh3Y2hhcl90KVB5X1VOSUNPREVfSElHSF9TVVJST0dBVEUoY2gpOworICAgICAgICAgICAgKnArKyA9ICh3Y2hhcl90KVB5X1VOSUNPREVfTE9XX1NVUlJPR0FURShjaCk7CiAjZW5kaWYKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CkBAIC0yOTA0LDE4NSArNTA2MSw2OSBAQAogCiAjZW5kaWYgLyogX19BUFBMRV9fICovCiAKLS8qIEFsbG9jYXRpb24gc3RyYXRlZ3k6ICBpZiB0aGUgc3RyaW5nIGlzIHNob3J0LCBjb252ZXJ0IGludG8gYSBzdGFjayBidWZmZXIKKy8qIFByaW1hcnkgaW50ZXJuYWwgZnVuY3Rpb24gd2hpY2ggY3JlYXRlcyB1dGY4IGVuY29kZWQgYnl0ZXMgb2JqZWN0cy4KKworICAgQWxsb2NhdGlvbiBzdHJhdGVneTogIGlmIHRoZSBzdHJpbmcgaXMgc2hvcnQsIGNvbnZlcnQgaW50byBhIHN0YWNrIGJ1ZmZlcgogICAgYW5kIGFsbG9jYXRlIGV4YWN0bHkgYXMgbXVjaCBzcGFjZSBuZWVkZWQgYXQgdGhlIGVuZC4gIEVsc2UgYWxsb2NhdGUgdGhlCiAgICBtYXhpbXVtIHBvc3NpYmxlIG5lZWRlZCAoNCByZXN1bHQgYnl0ZXMgcGVyIFVuaWNvZGUgY2hhcmFjdGVyKSwgYW5kIHJldHVybgogICAgdGhlIGV4Y2VzcyBtZW1vcnkgYXQgdGhlIGVuZC4KICovCiBQeU9iamVjdCAqCi1QeVVuaWNvZGVfRW5jb2RlVVRGOChjb25zdCBQeV9VTklDT0RFICpzLAotICAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBzaXplLAotICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZXJyb3JzKQorX1B5VW5pY29kZV9Bc1VURjhTdHJpbmcoUHlPYmplY3QgKnVuaWNvZGUsIGNvbnN0IGNoYXIgKmVycm9ycykKIHsKLSNkZWZpbmUgTUFYX1NIT1JUX1VOSUNIQVJTIDMwMCAgLyogbGFyZ2VzdCBzaXplIHdlJ2xsIGRvIG9uIHRoZSBzdGFjayAqLworICAgIGVudW0gUHlVbmljb2RlX0tpbmQga2luZDsKKyAgICB2b2lkICpkYXRhOworICAgIFB5X3NzaXplX3Qgc2l6ZTsKIAotICAgIFB5X3NzaXplX3QgaTsgICAgICAgICAgICAgICAgLyogaW5kZXggaW50byBzIG9mIG5leHQgaW5wdXQgYnl0ZSAqLwotICAgIFB5T2JqZWN0ICpyZXN1bHQ7ICAgICAgICAgICAgLyogcmVzdWx0IHN0cmluZyBvYmplY3QgKi8KLSAgICBjaGFyICpwOyAgICAgICAgICAgICAgICAgICAgIC8qIG5leHQgZnJlZSBieXRlIGluIG91dHB1dCBidWZmZXIgKi8KLSAgICBQeV9zc2l6ZV90IG5hbGxvY2F0ZWQ7ICAgICAgLyogbnVtYmVyIG9mIHJlc3VsdCBieXRlcyBhbGxvY2F0ZWQgKi8KLSAgICBQeV9zc2l6ZV90IG5uZWVkZWQ7ICAgICAgICAgICAgLyogbnVtYmVyIG9mIHJlc3VsdCBieXRlcyBuZWVkZWQgKi8KLSAgICBjaGFyIHN0YWNrYnVmW01BWF9TSE9SVF9VTklDSEFSUyAqIDRdOwotICAgIFB5T2JqZWN0ICplcnJvckhhbmRsZXIgPSBOVUxMOwotICAgIFB5T2JqZWN0ICpleGMgPSBOVUxMOwotCi0gICAgYXNzZXJ0KHMgIT0gTlVMTCk7Ci0gICAgYXNzZXJ0KHNpemUgPj0gMCk7Ci0KLSAgICBpZiAoc2l6ZSA8PSBNQVhfU0hPUlRfVU5JQ0hBUlMpIHsKLSAgICAgICAgLyogV3JpdGUgaW50byB0aGUgc3RhY2sgYnVmZmVyOyBuYWxsb2NhdGVkIGNhbid0IG92ZXJmbG93LgotICAgICAgICAgKiBBdCB0aGUgZW5kLCB3ZSdsbCBhbGxvY2F0ZSBleGFjdGx5IGFzIG11Y2ggaGVhcCBzcGFjZSBhcyBpdAotICAgICAgICAgKiB0dXJucyBvdXQgd2UgbmVlZC4KLSAgICAgICAgICovCi0gICAgICAgIG5hbGxvY2F0ZWQgPSBQeV9TQUZFX0RPV05DQVNUKHNpemVvZihzdGFja2J1ZiksIHNpemVfdCwgaW50KTsKLSAgICAgICAgcmVzdWx0ID0gTlVMTDsgICAvKiB3aWxsIGFsbG9jYXRlIGFmdGVyIHdlJ3JlIGRvbmUgKi8KLSAgICAgICAgcCA9IHN0YWNrYnVmOwotICAgIH0KLSAgICBlbHNlIHsKLSAgICAgICAgLyogT3ZlcmFsbG9jYXRlIG9uIHRoZSBoZWFwLCBhbmQgZ2l2ZSB0aGUgZXhjZXNzIGJhY2sgYXQgdGhlIGVuZC4gKi8KLSAgICAgICAgbmFsbG9jYXRlZCA9IHNpemUgKiA0OwotICAgICAgICBpZiAobmFsbG9jYXRlZCAvIDQgIT0gc2l6ZSkgIC8qIG92ZXJmbG93ISAqLwotICAgICAgICAgICAgcmV0dXJuIFB5RXJyX05vTWVtb3J5KCk7Ci0gICAgICAgIHJlc3VsdCA9IFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUoTlVMTCwgbmFsbG9jYXRlZCk7Ci0gICAgICAgIGlmIChyZXN1bHQgPT0gTlVMTCkKLSAgICAgICAgICAgIHJldHVybiBOVUxMOwotICAgICAgICBwID0gUHlCeXRlc19BU19TVFJJTkcocmVzdWx0KTsKLSAgICB9Ci0KLSAgICBmb3IgKGkgPSAwOyBpIDwgc2l6ZTspIHsKLSAgICAgICAgUHlfVUNTNCBjaCA9IHNbaSsrXTsKLQotICAgICAgICBpZiAoY2ggPCAweDgwKQotICAgICAgICAgICAgLyogRW5jb2RlIEFTQ0lJICovCi0gICAgICAgICAgICAqcCsrID0gKGNoYXIpIGNoOwotCi0gICAgICAgIGVsc2UgaWYgKGNoIDwgMHgwODAwKSB7Ci0gICAgICAgICAgICAvKiBFbmNvZGUgTGF0aW4tMSAqLwotICAgICAgICAgICAgKnArKyA9IChjaGFyKSgweGMwIHwgKGNoID4+IDYpKTsKLSAgICAgICAgICAgICpwKysgPSAoY2hhcikoMHg4MCB8IChjaCAmIDB4M2YpKTsKLSAgICAgICAgfSBlbHNlIGlmICgweEQ4MDAgPD0gY2ggJiYgY2ggPD0gMHhERkZGKSB7Ci0jaWZuZGVmIFB5X1VOSUNPREVfV0lERQotICAgICAgICAgICAgLyogU3BlY2lhbCBjYXNlOiBjaGVjayBmb3IgaGlnaCBhbmQgbG93IHN1cnJvZ2F0ZSAqLwotICAgICAgICAgICAgaWYgKGNoIDw9IDB4REJGRiAmJiBpICE9IHNpemUgJiYgMHhEQzAwIDw9IHNbaV0gJiYgc1tpXSA8PSAweERGRkYpIHsKLSAgICAgICAgICAgICAgICBQeV9VQ1M0IGNoMiA9IHNbaV07Ci0gICAgICAgICAgICAgICAgLyogQ29tYmluZSB0aGUgdHdvIHN1cnJvZ2F0ZXMgdG8gZm9ybSBhIFVDUzQgdmFsdWUgKi8KLSAgICAgICAgICAgICAgICBjaCA9ICgoY2ggLSAweEQ4MDApIDw8IDEwIHwgKGNoMiAtIDB4REMwMCkpICsgMHgxMDAwMDsKLSAgICAgICAgICAgICAgICBpKys7Ci0KLSAgICAgICAgICAgICAgICAvKiBFbmNvZGUgVUNTNCBVbmljb2RlIG9yZGluYWxzICovCi0gICAgICAgICAgICAgICAgKnArKyA9IChjaGFyKSgweGYwIHwgKGNoID4+IDE4KSk7Ci0gICAgICAgICAgICAgICAgKnArKyA9IChjaGFyKSgweDgwIHwgKChjaCA+PiAxMikgJiAweDNmKSk7Ci0gICAgICAgICAgICAgICAgKnArKyA9IChjaGFyKSgweDgwIHwgKChjaCA+PiA2KSAmIDB4M2YpKTsKLSAgICAgICAgICAgICAgICAqcCsrID0gKGNoYXIpKDB4ODAgfCAoY2ggJiAweDNmKSk7Ci0gICAgICAgICAgICB9IGVsc2UgewotI2VuZGlmCi0gICAgICAgICAgICAgICAgUHlfc3NpemVfdCBuZXdwb3M7Ci0gICAgICAgICAgICAgICAgUHlPYmplY3QgKnJlcDsKLSAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IHJlcHNpemUsIGs7Ci0gICAgICAgICAgICAgICAgcmVwID0gdW5pY29kZV9lbmNvZGVfY2FsbF9lcnJvcmhhbmRsZXIKLSAgICAgICAgICAgICAgICAgICAgKGVycm9ycywgJmVycm9ySGFuZGxlciwgInV0Zi04IiwgInN1cnJvZ2F0ZXMgbm90IGFsbG93ZWQiLAotICAgICAgICAgICAgICAgICAgICAgcywgc2l6ZSwgJmV4YywgaS0xLCBpLCAmbmV3cG9zKTsKLSAgICAgICAgICAgICAgICBpZiAoIXJlcCkKLSAgICAgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKLQotICAgICAgICAgICAgICAgIGlmIChQeUJ5dGVzX0NoZWNrKHJlcCkpCi0gICAgICAgICAgICAgICAgICAgIHJlcHNpemUgPSBQeUJ5dGVzX0dFVF9TSVpFKHJlcCk7Ci0gICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICByZXBzaXplID0gUHlVbmljb2RlX0dFVF9TSVpFKHJlcCk7Ci0KLSAgICAgICAgICAgICAgICBpZiAocmVwc2l6ZSA+IDQpIHsKLSAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBvZmZzZXQ7Ci0KLSAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3VsdCA9PSBOVUxMKQotICAgICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0ID0gcCAtIHN0YWNrYnVmOwotICAgICAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgICAgICBvZmZzZXQgPSBwIC0gUHlCeXRlc19BU19TVFJJTkcocmVzdWx0KTsKLQotICAgICAgICAgICAgICAgICAgICBpZiAobmFsbG9jYXRlZCA+IFBZX1NTSVpFX1RfTUFYIC0gcmVwc2l6ZSArIDQpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIC8qIGludGVnZXIgb3ZlcmZsb3cgKi8KLSAgICAgICAgICAgICAgICAgICAgICAgIFB5RXJyX05vTWVtb3J5KCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGVycm9yOwotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgIG5hbGxvY2F0ZWQgKz0gcmVwc2l6ZSAtIDQ7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChyZXN1bHQgIT0gTlVMTCkgewotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKF9QeUJ5dGVzX1Jlc2l6ZSgmcmVzdWx0LCBuYWxsb2NhdGVkKSA8IDApCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKLSAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUoTlVMTCwgbmFsbG9jYXRlZCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVzdWx0ID09IE5VTEwpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKLSAgICAgICAgICAgICAgICAgICAgICAgIFB5X01FTUNQWShQeUJ5dGVzX0FTX1NUUklORyhyZXN1bHQpLCBzdGFja2J1Ziwgb2Zmc2V0KTsKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICBwID0gUHlCeXRlc19BU19TVFJJTkcocmVzdWx0KSArIG9mZnNldDsKLSAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgICAgICBpZiAoUHlCeXRlc19DaGVjayhyZXApKSB7Ci0gICAgICAgICAgICAgICAgICAgIGNoYXIgKnByZXAgPSBQeUJ5dGVzX0FTX1NUUklORyhyZXApOwotICAgICAgICAgICAgICAgICAgICBmb3IoayA9IHJlcHNpemU7IGsgPiAwOyBrLS0pCi0gICAgICAgICAgICAgICAgICAgICAgICAqcCsrID0gKnByZXArKzsKLSAgICAgICAgICAgICAgICB9IGVsc2UgLyogcmVwIGlzIHVuaWNvZGUgKi8gewotICAgICAgICAgICAgICAgICAgICBQeV9VTklDT0RFICpwcmVwID0gUHlVbmljb2RlX0FTX1VOSUNPREUocmVwKTsKLSAgICAgICAgICAgICAgICAgICAgUHlfVU5JQ09ERSBjOwotCi0gICAgICAgICAgICAgICAgICAgIGZvcihrPTA7IGs8cmVwc2l6ZTsgaysrKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBjID0gcHJlcFtrXTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmICgweDgwIDw9IGMpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICByYWlzZV9lbmNvZGVfZXhjZXB0aW9uKCZleGMsICJ1dGYtOCIsIHMsIHNpemUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpLTEsIGksICJzdXJyb2dhdGVzIG5vdCBhbGxvd2VkIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKLSAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgICAgICpwKysgPSAoY2hhcilwcmVwW2tdOwotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIFB5X0RFQ1JFRihyZXApOwotI2lmbmRlZiBQeV9VTklDT0RFX1dJREUKLSAgICAgICAgICAgIH0KLSNlbmRpZgotICAgICAgICB9IGVsc2UgaWYgKGNoIDwgMHgxMDAwMCkgewotICAgICAgICAgICAgKnArKyA9IChjaGFyKSgweGUwIHwgKGNoID4+IDEyKSk7Ci0gICAgICAgICAgICAqcCsrID0gKGNoYXIpKDB4ODAgfCAoKGNoID4+IDYpICYgMHgzZikpOwotICAgICAgICAgICAgKnArKyA9IChjaGFyKSgweDgwIHwgKGNoICYgMHgzZikpOwotICAgICAgICB9IGVsc2UgLyogY2ggPj0gMHgxMDAwMCAqLyB7Ci0gICAgICAgICAgICAvKiBFbmNvZGUgVUNTNCBVbmljb2RlIG9yZGluYWxzICovCi0gICAgICAgICAgICAqcCsrID0gKGNoYXIpKDB4ZjAgfCAoY2ggPj4gMTgpKTsKLSAgICAgICAgICAgICpwKysgPSAoY2hhcikoMHg4MCB8ICgoY2ggPj4gMTIpICYgMHgzZikpOwotICAgICAgICAgICAgKnArKyA9IChjaGFyKSgweDgwIHwgKChjaCA+PiA2KSAmIDB4M2YpKTsKLSAgICAgICAgICAgICpwKysgPSAoY2hhcikoMHg4MCB8IChjaCAmIDB4M2YpKTsKLSAgICAgICAgfQotICAgIH0KLQotICAgIGlmIChyZXN1bHQgPT0gTlVMTCkgewotICAgICAgICAvKiBUaGlzIHdhcyBzdGFjayBhbGxvY2F0ZWQuICovCi0gICAgICAgIG5uZWVkZWQgPSBwIC0gc3RhY2tidWY7Ci0gICAgICAgIGFzc2VydChubmVlZGVkIDw9IG5hbGxvY2F0ZWQpOwotICAgICAgICByZXN1bHQgPSBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplKHN0YWNrYnVmLCBubmVlZGVkKTsKLSAgICB9Ci0gICAgZWxzZSB7Ci0gICAgICAgIC8qIEN1dCBiYWNrIHRvIHNpemUgYWN0dWFsbHkgbmVlZGVkLiAqLwotICAgICAgICBubmVlZGVkID0gcCAtIFB5Qnl0ZXNfQVNfU1RSSU5HKHJlc3VsdCk7Ci0gICAgICAgIGFzc2VydChubmVlZGVkIDw9IG5hbGxvY2F0ZWQpOwotICAgICAgICBfUHlCeXRlc19SZXNpemUoJnJlc3VsdCwgbm5lZWRlZCk7Ci0gICAgfQotICAgIFB5X1hERUNSRUYoZXJyb3JIYW5kbGVyKTsKLSAgICBQeV9YREVDUkVGKGV4Yyk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLSBlcnJvcjoKLSAgICBQeV9YREVDUkVGKGVycm9ySGFuZGxlcik7Ci0gICAgUHlfWERFQ1JFRihleGMpOwotICAgIFB5X1hERUNSRUYocmVzdWx0KTsKLSAgICByZXR1cm4gTlVMTDsKLQotI3VuZGVmIE1BWF9TSE9SVF9VTklDSEFSUwotfQotCi1QeU9iamVjdCAqUHlVbmljb2RlX0FzVVRGOFN0cmluZyhQeU9iamVjdCAqdW5pY29kZSkKLXsKICAgICBpZiAoIVB5VW5pY29kZV9DaGVjayh1bmljb2RlKSkgewogICAgICAgICBQeUVycl9CYWRBcmd1bWVudCgpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9Ci0gICAgcmV0dXJuIFB5VW5pY29kZV9FbmNvZGVVVEY4KFB5VW5pY29kZV9BU19VTklDT0RFKHVuaWNvZGUpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfR0VUX1NJWkUodW5pY29kZSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwpOworCisgICAgaWYgKFB5VW5pY29kZV9SRUFEWSh1bmljb2RlKSA9PSAtMSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICBpZiAoUHlVbmljb2RlX1VURjgodW5pY29kZSkpCisgICAgICAgIHJldHVybiBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplKFB5VW5pY29kZV9VVEY4KHVuaWNvZGUpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfVVRGOF9MRU5HVEgodW5pY29kZSkpOworCisgICAga2luZCA9IFB5VW5pY29kZV9LSU5EKHVuaWNvZGUpOworICAgIGRhdGEgPSBQeVVuaWNvZGVfREFUQSh1bmljb2RlKTsKKyAgICBzaXplID0gUHlVbmljb2RlX0dFVF9MRU5HVEgodW5pY29kZSk7CisKKyAgICBzd2l0Y2ggKGtpbmQpIHsKKyAgICBkZWZhdWx0OgorICAgICAgICBhc3NlcnQoMCk7CisgICAgY2FzZSBQeVVuaWNvZGVfMUJZVEVfS0lORDoKKyAgICAgICAgLyogdGhlIHN0cmluZyBjYW5ub3QgYmUgQVNDSUksIG9yIFB5VW5pY29kZV9VVEY4KCkgd291bGQgYmUgc2V0ICovCisgICAgICAgIGFzc2VydCghUHlVbmljb2RlX0lTX0FTQ0lJKHVuaWNvZGUpKTsKKyAgICAgICAgcmV0dXJuIHVjczFsaWJfdXRmOF9lbmNvZGVyKHVuaWNvZGUsIGRhdGEsIHNpemUsIGVycm9ycyk7CisgICAgY2FzZSBQeVVuaWNvZGVfMkJZVEVfS0lORDoKKyAgICAgICAgcmV0dXJuIHVjczJsaWJfdXRmOF9lbmNvZGVyKHVuaWNvZGUsIGRhdGEsIHNpemUsIGVycm9ycyk7CisgICAgY2FzZSBQeVVuaWNvZGVfNEJZVEVfS0lORDoKKyAgICAgICAgcmV0dXJuIHVjczRsaWJfdXRmOF9lbmNvZGVyKHVuaWNvZGUsIGRhdGEsIHNpemUsIGVycm9ycyk7CisgICAgfQorfQorCitQeU9iamVjdCAqCitQeVVuaWNvZGVfRW5jb2RlVVRGOChjb25zdCBQeV9VTklDT0RFICpzLAorICAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBzaXplLAorICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZXJyb3JzKQoreworICAgIFB5T2JqZWN0ICp2LCAqdW5pY29kZTsKKworICAgIHVuaWNvZGUgPSBQeVVuaWNvZGVfRnJvbVVuaWNvZGUocywgc2l6ZSk7CisgICAgaWYgKHVuaWNvZGUgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgdiA9IF9QeVVuaWNvZGVfQXNVVEY4U3RyaW5nKHVuaWNvZGUsIGVycm9ycyk7CisgICAgUHlfREVDUkVGKHVuaWNvZGUpOworICAgIHJldHVybiB2OworfQorCitQeU9iamVjdCAqCitQeVVuaWNvZGVfQXNVVEY4U3RyaW5nKFB5T2JqZWN0ICp1bmljb2RlKQoreworICAgIHJldHVybiBfUHlVbmljb2RlX0FzVVRGOFN0cmluZyh1bmljb2RlLCBOVUxMKTsKIH0KIAogLyogLS0tIFVURi0zMiBDb2RlYyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCkBAIC0zMTA3LDE0ICs1MTQ4LDcgQEAKICAgICBQeV9zc2l6ZV90IHN0YXJ0aW5wb3M7CiAgICAgUHlfc3NpemVfdCBlbmRpbnBvczsKICAgICBQeV9zc2l6ZV90IG91dHBvczsKLSAgICBQeVVuaWNvZGVPYmplY3QgKnVuaWNvZGU7Ci0gICAgUHlfVU5JQ09ERSAqcDsKLSNpZm5kZWYgUHlfVU5JQ09ERV9XSURFCi0gICAgaW50IHBhaXJzID0gMDsKLSAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpxcTsKLSNlbHNlCi0gICAgY29uc3QgaW50IHBhaXJzID0gMDsKLSNlbmRpZgorICAgIFB5T2JqZWN0ICp1bmljb2RlOwogICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnEsICplOwogICAgIGludCBibyA9IDA7ICAgICAgIC8qIGFzc3VtZSBuYXRpdmUgb3JkZXJpbmcgYnkgZGVmYXVsdCAqLwogICAgIGNvbnN0IGNoYXIgKmVycm1zZyA9ICIiOwpAQCAtMzE3OCwyMyArNTIxMiwxMyBAQAogICAgICAgICBpb3JkZXJbM10gPSAwOwogICAgIH0KIAotICAgIC8qIE9uIG5hcnJvdyBidWlsZHMgd2Ugc3BsaXQgY2hhcmFjdGVycyBvdXRzaWRlIHRoZSBCTVAgaW50byB0d28KLSAgICAgICBjb2RlcG9pbnRzID0+IGNvdW50IGhvdyBtdWNoIGV4dHJhIHNwYWNlIHdlIG5lZWQuICovCi0jaWZuZGVmIFB5X1VOSUNPREVfV0lERQotICAgIGZvciAocXEgPSBxOyBxcSA8IGU7IHFxICs9IDQpCi0gICAgICAgIGlmIChxcVtpb3JkZXJbMl1dICE9IDAgfHwgcXFbaW9yZGVyWzNdXSAhPSAwKQotICAgICAgICAgICAgcGFpcnMrKzsKLSNlbmRpZgotCiAgICAgLyogVGhpcyBtaWdodCBiZSBvbmUgdG8gbXVjaCwgYmVjYXVzZSBvZiBhIEJPTSAqLwotICAgIHVuaWNvZGUgPSBfUHlVbmljb2RlX05ldygoc2l6ZSszKS80K3BhaXJzKTsKKyAgICB1bmljb2RlID0gUHlVbmljb2RlX05ldygoc2l6ZSszKS80LCAxMjcpOwogICAgIGlmICghdW5pY29kZSkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgaWYgKHNpemUgPT0gMCkKLSAgICAgICAgcmV0dXJuIChQeU9iamVjdCAqKXVuaWNvZGU7Ci0KLSAgICAvKiBVbnBhY2sgVVRGLTMyIGVuY29kZWQgZGF0YSAqLwotICAgIHAgPSB1bmljb2RlLT5zdHI7CisgICAgICAgIHJldHVybiB1bmljb2RlOworICAgIG91dHBvcyA9IDA7CiAKICAgICB3aGlsZSAocSA8IGUpIHsKICAgICAgICAgUHlfVUNTNCBjaDsKQEAgLTMyMTksMjQgKzUyNDMsMTYgQEAKICAgICAgICAgICAgIGVuZGlucG9zID0gc3RhcnRpbnBvcys0OwogICAgICAgICAgICAgZ290byB1dGYzMkVycm9yOwogICAgICAgICB9Ci0jaWZuZGVmIFB5X1VOSUNPREVfV0lERQotICAgICAgICBpZiAoY2ggPj0gMHgxMDAwMCkKLSAgICAgICAgewotICAgICAgICAgICAgKnArKyA9IDB4RDgwMCB8ICgoY2gtMHgxMDAwMCkgPj4gMTApOwotICAgICAgICAgICAgKnArKyA9IDB4REMwMCB8ICgoY2gtMHgxMDAwMCkgJiAweDNGRik7Ci0gICAgICAgIH0KLSAgICAgICAgZWxzZQotI2VuZGlmCi0gICAgICAgICAgICAqcCsrID0gY2g7CisgICAgICAgIGlmICh1bmljb2RlX3B1dGNoYXIoJnVuaWNvZGUsICZvdXRwb3MsIGNoKSA8IDApCisgICAgICAgICAgICBnb3RvIG9uRXJyb3I7CiAgICAgICAgIHEgKz0gNDsKICAgICAgICAgY29udGludWU7CiAgICAgICB1dGYzMkVycm9yOgotICAgICAgICBvdXRwb3MgPSBwLVB5VW5pY29kZV9BU19VTklDT0RFKHVuaWNvZGUpOwogICAgICAgICBpZiAodW5pY29kZV9kZWNvZGVfY2FsbF9lcnJvcmhhbmRsZXIoCiAgICAgICAgICAgICAgICAgZXJyb3JzLCAmZXJyb3JIYW5kbGVyLAogICAgICAgICAgICAgICAgICJ1dGYzMiIsIGVycm1zZywKICAgICAgICAgICAgICAgICAmc3RhcnRzLCAoY29uc3QgY2hhciAqKikmZSwgJnN0YXJ0aW5wb3MsICZlbmRpbnBvcywgJmV4YywgKGNvbnN0IGNoYXIgKiopJnEsCi0gICAgICAgICAgICAgICAgJnVuaWNvZGUsICZvdXRwb3MsICZwKSkKKyAgICAgICAgICAgICAgICAmdW5pY29kZSwgJm91dHBvcykpCiAgICAgICAgICAgICBnb3RvIG9uRXJyb3I7CiAgICAgfQogCkBAIC0zMjQ3LDEyICs1MjYzLDEyIEBACiAgICAgICAgICpjb25zdW1lZCA9IChjb25zdCBjaGFyICopcS1zdGFydHM7CiAKICAgICAvKiBBZGp1c3QgbGVuZ3RoICovCi0gICAgaWYgKF9QeVVuaWNvZGVfUmVzaXplKCZ1bmljb2RlLCBwIC0gdW5pY29kZS0+c3RyKSA8IDApCisgICAgaWYgKHVuaWNvZGVfcmVzaXplKCZ1bmljb2RlLCBvdXRwb3MpIDwgMCkKICAgICAgICAgZ290byBvbkVycm9yOwogCiAgICAgUHlfWERFQ1JFRihlcnJvckhhbmRsZXIpOwogICAgIFB5X1hERUNSRUYoZXhjKTsKLSAgICByZXR1cm4gKFB5T2JqZWN0ICopdW5pY29kZTsKKyAgICByZXR1cm4gdW5pY29kZV9yZXN1bHQodW5pY29kZSk7CiAKICAgb25FcnJvcjoKICAgICBQeV9ERUNSRUYodW5pY29kZSk7CkBAIC0zMjYyLDE5ICs1Mjc4LDE2IEBACiB9CiAKIFB5T2JqZWN0ICoKLVB5VW5pY29kZV9FbmNvZGVVVEYzMihjb25zdCBQeV9VTklDT0RFICpzLAotICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3Qgc2l6ZSwKLSAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICplcnJvcnMsCi0gICAgICAgICAgICAgICAgICAgICAgaW50IGJ5dGVvcmRlcikKK19QeVVuaWNvZGVfRW5jb2RlVVRGMzIoUHlPYmplY3QgKnN0ciwKKyAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZXJyb3JzLAorICAgICAgICAgICAgICAgICAgICAgICBpbnQgYnl0ZW9yZGVyKQogeworICAgIGludCBraW5kOworICAgIHZvaWQgKmRhdGE7CisgICAgUHlfc3NpemVfdCBsZW47CiAgICAgUHlPYmplY3QgKnY7CiAgICAgdW5zaWduZWQgY2hhciAqcDsKLSAgICBQeV9zc2l6ZV90IG5zaXplLCBieXRlc2l6ZTsKLSNpZm5kZWYgUHlfVU5JQ09ERV9XSURFCi0gICAgUHlfc3NpemVfdCBpLCBwYWlyczsKLSNlbHNlCi0gICAgY29uc3QgaW50IHBhaXJzID0gMDsKLSNlbmRpZgorICAgIFB5X3NzaXplX3QgbnNpemUsIGJ5dGVzaXplLCBpOwogICAgIC8qIE9mZnNldHMgZnJvbSBwIGZvciBzdG9yaW5nIGJ5dGUgcGFpcnMgaW4gdGhlIHJpZ2h0IG9yZGVyLiAqLwogI2lmZGVmIEJZVEVPUkRFUl9JU19MSVRUTEVfRU5ESUFOCiAgICAgaW50IGlvcmRlcltdID0gezAsIDEsIDIsIDN9OwpAQCAtMzI5MSwxNSArNTMwNCwxNyBAQAogICAgICAgICBwICs9IDQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIH0gd2hpbGUoMCkKIAotICAgIC8qIEluIG5hcnJvdyBidWlsZHMgd2UgY2FuIG91dHB1dCBzdXJyb2dhdGUgcGFpcnMgYXMgb25lIGNvZGVwb2ludCwKLSAgICAgICBzbyB3ZSBuZWVkIGxlc3Mgc3BhY2UuICovCi0jaWZuZGVmIFB5X1VOSUNPREVfV0lERQotICAgIGZvciAoaSA9IHBhaXJzID0gMDsgaSA8IHNpemUtMTsgaSsrKQotICAgICAgICBpZiAoMHhEODAwIDw9IHNbaV0gJiYgc1tpXSA8PSAweERCRkYgJiYKLSAgICAgICAgICAgIDB4REMwMCA8PSBzW2krMV0gJiYgc1tpKzFdIDw9IDB4REZGRikKLSAgICAgICAgICAgIHBhaXJzKys7Ci0jZW5kaWYKLSAgICBuc2l6ZSA9IChzaXplIC0gcGFpcnMgKyAoYnl0ZW9yZGVyID09IDApKTsKKyAgICBpZiAoIVB5VW5pY29kZV9DaGVjayhzdHIpKSB7CisgICAgICAgIFB5RXJyX0JhZEFyZ3VtZW50KCk7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKyAgICBpZiAoUHlVbmljb2RlX1JFQURZKHN0cikgPT0gLTEpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIGtpbmQgPSBQeVVuaWNvZGVfS0lORChzdHIpOworICAgIGRhdGEgPSBQeVVuaWNvZGVfREFUQShzdHIpOworICAgIGxlbiA9IFB5VW5pY29kZV9HRVRfTEVOR1RIKHN0cik7CisKKyAgICBuc2l6ZSA9IGxlbiArIChieXRlb3JkZXIgPT0gMCk7CiAgICAgYnl0ZXNpemUgPSBuc2l6ZSAqIDQ7CiAgICAgaWYgKGJ5dGVzaXplIC8gNCAhPSBuc2l6ZSkKICAgICAgICAgcmV0dXJuIFB5RXJyX05vTWVtb3J5KCk7CkBAIC0zMzEwLDcgKzUzMjUsNyBAQAogICAgIHAgPSAodW5zaWduZWQgY2hhciAqKVB5Qnl0ZXNfQVNfU1RSSU5HKHYpOwogICAgIGlmIChieXRlb3JkZXIgPT0gMCkKICAgICAgICAgU1RPUkVDSEFSKDB4RkVGRik7Ci0gICAgaWYgKHNpemUgPT0gMCkKKyAgICBpZiAobGVuID09IDApCiAgICAgICAgIGdvdG8gZG9uZTsKIAogICAgIGlmIChieXRlb3JkZXIgPT0gLTEpIHsKQEAgLTMzMjgsMzYgKzUzNDMsMzMgQEAKICAgICAgICAgaW9yZGVyWzNdID0gMDsKICAgICB9CiAKLSAgICB3aGlsZSAoc2l6ZS0tID4gMCkgewotICAgICAgICBQeV9VQ1M0IGNoID0gKnMrKzsKLSNpZm5kZWYgUHlfVU5JQ09ERV9XSURFCi0gICAgICAgIGlmICgweEQ4MDAgPD0gY2ggJiYgY2ggPD0gMHhEQkZGICYmIHNpemUgPiAwKSB7Ci0gICAgICAgICAgICBQeV9VQ1M0IGNoMiA9ICpzOwotICAgICAgICAgICAgaWYgKDB4REMwMCA8PSBjaDIgJiYgY2gyIDw9IDB4REZGRikgewotICAgICAgICAgICAgICAgIGNoID0gKCgoY2ggJiAweDNGRik8PDEwKSB8IChjaDIgJiAweDNGRikpICsgMHgxMDAwMDsKLSAgICAgICAgICAgICAgICBzKys7Ci0gICAgICAgICAgICAgICAgc2l6ZS0tOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0jZW5kaWYKLSAgICAgICAgU1RPUkVDSEFSKGNoKTsKLSAgICB9CisgICAgZm9yIChpID0gMDsgaSA8IGxlbjsgaSsrKQorICAgICAgICBTVE9SRUNIQVIoUHlVbmljb2RlX1JFQUQoa2luZCwgZGF0YSwgaSkpOwogCiAgIGRvbmU6CiAgICAgcmV0dXJuIHY7CiAjdW5kZWYgU1RPUkVDSEFSCiB9CiAKLVB5T2JqZWN0ICpQeVVuaWNvZGVfQXNVVEYzMlN0cmluZyhQeU9iamVjdCAqdW5pY29kZSkKK1B5T2JqZWN0ICoKK1B5VW5pY29kZV9FbmNvZGVVVEYzMihjb25zdCBQeV9VTklDT0RFICpzLAorICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3Qgc2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICplcnJvcnMsCisgICAgICAgICAgICAgICAgICAgICAgaW50IGJ5dGVvcmRlcikKIHsKLSAgICBpZiAoIVB5VW5pY29kZV9DaGVjayh1bmljb2RlKSkgewotICAgICAgICBQeUVycl9CYWRBcmd1bWVudCgpOworICAgIFB5T2JqZWN0ICpyZXN1bHQ7CisgICAgUHlPYmplY3QgKnRtcCA9IFB5VW5pY29kZV9Gcm9tVW5pY29kZShzLCBzaXplKTsKKyAgICBpZiAodG1wID09IE5VTEwpCiAgICAgICAgIHJldHVybiBOVUxMOwotICAgIH0KLSAgICByZXR1cm4gUHlVbmljb2RlX0VuY29kZVVURjMyKFB5VW5pY29kZV9BU19VTklDT0RFKHVuaWNvZGUpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0dFVF9TSVpFKHVuaWNvZGUpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDApOworICAgIHJlc3VsdCA9IF9QeVVuaWNvZGVfRW5jb2RlVVRGMzIodG1wLCBlcnJvcnMsIGJ5dGVvcmRlcik7CisgICAgUHlfREVDUkVGKHRtcCk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKworUHlPYmplY3QgKgorUHlVbmljb2RlX0FzVVRGMzJTdHJpbmcoUHlPYmplY3QgKnVuaWNvZGUpCit7CisgICAgcmV0dXJuIF9QeVVuaWNvZGVfRW5jb2RlVVRGMzIodW5pY29kZSwgTlVMTCwgMCk7CiB9CiAKIC8qIC0tLSBVVEYtMTYgQ29kZWMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwpAQCAtMzM5OSw4ICs1NDExLDcgQEAKICAgICBQeV9zc2l6ZV90IHN0YXJ0aW5wb3M7CiAgICAgUHlfc3NpemVfdCBlbmRpbnBvczsKICAgICBQeV9zc2l6ZV90IG91dHBvczsKLSAgICBQeVVuaWNvZGVPYmplY3QgKnVuaWNvZGU7Ci0gICAgUHlfVU5JQ09ERSAqcDsKKyAgICBQeU9iamVjdCAqdW5pY29kZTsKICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpxLCAqZSwgKmFsaWduZWRfZW5kOwogICAgIGludCBibyA9IDA7ICAgICAgIC8qIGFzc3VtZSBuYXRpdmUgb3JkZXJpbmcgYnkgZGVmYXVsdCAqLwogICAgIGludCBuYXRpdmVfb3JkZXJpbmcgPSAwOwpAQCAtMzQxNiwxNCArNTQyNywxMyBAQAogCiAgICAgLyogTm90ZTogc2l6ZSB3aWxsIGFsd2F5cyBiZSBsb25nZXIgdGhhbiB0aGUgcmVzdWx0aW5nIFVuaWNvZGUKICAgICAgICBjaGFyYWN0ZXIgY291bnQgKi8KLSAgICB1bmljb2RlID0gX1B5VW5pY29kZV9OZXcoc2l6ZSk7CisgICAgdW5pY29kZSA9IFB5VW5pY29kZV9OZXcoc2l6ZSwgMTI3KTsKICAgICBpZiAoIXVuaWNvZGUpCiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIGlmIChzaXplID09IDApCi0gICAgICAgIHJldHVybiAoUHlPYmplY3QgKil1bmljb2RlOworICAgICAgICByZXR1cm4gdW5pY29kZTsKKyAgICBvdXRwb3MgPSAwOwogCi0gICAgLyogVW5wYWNrIFVURi0xNiBlbmNvZGVkIGRhdGEgKi8KLSAgICBwID0gdW5pY29kZS0+c3RyOwogICAgIHEgPSAodW5zaWduZWQgY2hhciAqKXM7CiAgICAgZSA9IHEgKyBzaXplIC0gMTsKIApAQCAtMzQzNiw3ICs1NDQ2LDcgQEAKICAgICAgICBzdHJlYW0gYXMtaXMgKGdpdmluZyBhIFpXTkJTUCBjaGFyYWN0ZXIpLiAqLwogICAgIGlmIChibyA9PSAwKSB7CiAgICAgICAgIGlmIChzaXplID49IDIpIHsKLSAgICAgICAgICAgIGNvbnN0IFB5X1VOSUNPREUgYm9tID0gKHFbaWhpXSA8PCA4KSB8IHFbaWxvXTsKKyAgICAgICAgICAgIGNvbnN0IFB5X1VDUzQgYm9tID0gKHFbaWhpXSA8PCA4KSB8IHFbaWxvXTsKICNpZmRlZiBCWVRFT1JERVJfSVNfTElUVExFX0VORElBTgogICAgICAgICAgICAgaWYgKGJvbSA9PSAweEZFRkYpIHsKICAgICAgICAgICAgICAgICBxICs9IDI7CkBAIC0zNDc3LDc0ICs1NDg3LDU3IEBACiAKICAgICBhbGlnbmVkX2VuZCA9IChjb25zdCB1bnNpZ25lZCBjaGFyICopICgoc2l6ZV90KSBlICYgfkxPTkdfUFRSX01BU0spOwogICAgIHdoaWxlIChxIDwgZSkgewotICAgICAgICBQeV9VTklDT0RFIGNoOworICAgICAgICBQeV9VQ1M0IGNoOwogICAgICAgICAvKiBGaXJzdCBjaGVjayBmb3IgcG9zc2libGUgYWxpZ25lZCByZWFkIG9mIGEgQyAnbG9uZycuIFVuYWxpZ25lZAogICAgICAgICAgICByZWFkcyBhcmUgbW9yZSBleHBlbnNpdmUsIGJldHRlciB0byBkZWZlciB0byBhbm90aGVyIGl0ZXJhdGlvbi4gKi8KICAgICAgICAgaWYgKCEoKHNpemVfdCkgcSAmIExPTkdfUFRSX01BU0spKSB7CiAgICAgICAgICAgICAvKiBGYXN0IHBhdGggZm9yIHJ1bnMgb2Ygbm9uLXN1cnJvZ2F0ZSBjaGFycy4gKi8KICAgICAgICAgICAgIHJlZ2lzdGVyIGNvbnN0IHVuc2lnbmVkIGNoYXIgKl9xID0gcTsKLSAgICAgICAgICAgIFB5X1VOSUNPREUgKl9wID0gcDsKLSAgICAgICAgICAgIGlmIChuYXRpdmVfb3JkZXJpbmcpIHsKLSAgICAgICAgICAgICAgICAvKiBOYXRpdmUgb3JkZXJpbmcgaXMgc2ltcGxlOiBhcyBsb25nIGFzIHRoZSBpbnB1dCBjYW5ub3QKLSAgICAgICAgICAgICAgICAgICBwb3NzaWJseSBjb250YWluIGEgc3Vycm9nYXRlIGNoYXIsIGRvIGFuIHVucm9sbGVkIGNvcHkKLSAgICAgICAgICAgICAgICAgICBvZiBzZXZlcmFsIDE2LWJpdCBjb2RlIHBvaW50cyB0byB0aGUgdGFyZ2V0IG9iamVjdC4KLSAgICAgICAgICAgICAgICAgICBUaGUgbm9uLXN1cnJvZ2F0ZSBjaGVjayBpcyBkb25lIG9uIHNldmVyYWwgaW5wdXQgYnl0ZXMKLSAgICAgICAgICAgICAgICAgICBhdCBhIHRpbWUgKGFzIG1hbnkgYXMgYSBDICdsb25nJyBjYW4gY29udGFpbikuICovCi0gICAgICAgICAgICAgICAgd2hpbGUgKF9xIDwgYWxpZ25lZF9lbmQpIHsKLSAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBkYXRhID0gKiAodW5zaWduZWQgbG9uZyAqKSBfcTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKGRhdGEgJiBGQVNUX0NIQVJfTUFTSykKKyAgICAgICAgICAgIGludCBraW5kID0gUHlVbmljb2RlX0tJTkQodW5pY29kZSk7CisgICAgICAgICAgICB2b2lkICpkYXRhID0gUHlVbmljb2RlX0RBVEEodW5pY29kZSk7CisgICAgICAgICAgICB3aGlsZSAoX3EgPCBhbGlnbmVkX2VuZCkgeworICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgYmxvY2sgPSAqICh1bnNpZ25lZCBsb25nICopIF9xOworICAgICAgICAgICAgICAgIHVuc2lnbmVkIHNob3J0ICpwYmxvY2sgPSAodW5zaWduZWQgc2hvcnQqKSZibG9jazsKKyAgICAgICAgICAgICAgICBQeV9VQ1M0IG1heGNoOworICAgICAgICAgICAgICAgIGlmIChuYXRpdmVfb3JkZXJpbmcpIHsKKyAgICAgICAgICAgICAgICAgICAgLyogQ2FuIHVzZSBidWZmZXIgZGlyZWN0bHkgKi8KKyAgICAgICAgICAgICAgICAgICAgaWYgKGJsb2NrICYgRkFTVF9DSEFSX01BU0spCiAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICAgICAgX3BbMF0gPSAoKHVuc2lnbmVkIHNob3J0ICopIF9xKVswXTsKLSAgICAgICAgICAgICAgICAgICAgX3BbMV0gPSAoKHVuc2lnbmVkIHNob3J0ICopIF9xKVsxXTsKLSNpZiAoU0laRU9GX0xPTkcgPT0gOCkKLSAgICAgICAgICAgICAgICAgICAgX3BbMl0gPSAoKHVuc2lnbmVkIHNob3J0ICopIF9xKVsyXTsKLSAgICAgICAgICAgICAgICAgICAgX3BbM10gPSAoKHVuc2lnbmVkIHNob3J0ICopIF9xKVszXTsKLSNlbmRpZgotICAgICAgICAgICAgICAgICAgICBfcSArPSBTSVpFT0ZfTE9ORzsKLSAgICAgICAgICAgICAgICAgICAgX3AgKz0gU0laRU9GX0xPTkcgLyAyOwogICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgICAgIC8qIEJ5dGVzd2FwcGVkIG9yZGVyaW5nIGlzIHNpbWlsYXIsIGJ1dCB3ZSBtdXN0IGRlY29tcG9zZQotICAgICAgICAgICAgICAgICAgIHRoZSBjb3B5IGJ5dGV3aXNlLCBhbmQgdGFrZSBjYXJlIG9mIHplcm8naW5nIG91dCB0aGUKLSAgICAgICAgICAgICAgICAgICB1cHBlciBieXRlcyBpZiB0aGUgdGFyZ2V0IG9iamVjdCBpcyBpbiAzMi1iaXQgdW5pdHMKLSAgICAgICAgICAgICAgICAgICAodGhhdCBpcywgaW4gVUNTLTQgYnVpbGRzKS4gKi8KLSAgICAgICAgICAgICAgICB3aGlsZSAoX3EgPCBhbGlnbmVkX2VuZCkgewotICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIGRhdGEgPSAqICh1bnNpZ25lZCBsb25nICopIF9xOwotICAgICAgICAgICAgICAgICAgICBpZiAoZGF0YSAmIFNXQVBQRURfRkFTVF9DSEFSX01BU0spCisgICAgICAgICAgICAgICAgZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIC8qIE5lZWQgdG8gYnl0ZS1zd2FwICovCisgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIgKl9wID0gKHVuc2lnbmVkIGNoYXIqKXBibG9jazsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGJsb2NrICYgU1dBUFBFRF9GQVNUX0NIQVJfTUFTSykKICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgICAgICAvKiBaZXJvIHVwcGVyIGJ5dGVzIGluIFVDUy00IGJ1aWxkcyAqLwotI2lmIChQeV9VTklDT0RFX1NJWkUgPiAyKQotICAgICAgICAgICAgICAgICAgICBfcFswXSA9IDA7Ci0gICAgICAgICAgICAgICAgICAgIF9wWzFdID0gMDsKKyAgICAgICAgICAgICAgICAgICAgX3BbMF0gPSBfcVsxXTsKKyAgICAgICAgICAgICAgICAgICAgX3BbMV0gPSBfcVswXTsKKyAgICAgICAgICAgICAgICAgICAgX3BbMl0gPSBfcVszXTsKKyAgICAgICAgICAgICAgICAgICAgX3BbM10gPSBfcVsyXTsKICNpZiAoU0laRU9GX0xPTkcgPT0gOCkKLSAgICAgICAgICAgICAgICAgICAgX3BbMl0gPSAwOwotICAgICAgICAgICAgICAgICAgICBfcFszXSA9IDA7CisgICAgICAgICAgICAgICAgICAgIF9wWzRdID0gX3FbNV07CisgICAgICAgICAgICAgICAgICAgIF9wWzVdID0gX3FbNF07CisgICAgICAgICAgICAgICAgICAgIF9wWzZdID0gX3FbN107CisgICAgICAgICAgICAgICAgICAgIF9wWzddID0gX3FbNl07CiAjZW5kaWYKLSNlbmRpZgotICAgICAgICAgICAgICAgICAgICAvKiBJc3N1ZSAjNDkxNjsgVUNTLTQgYnVpbGRzIG9uIGJpZyBlbmRpYW4gbWFjaGluZXMgbXVzdAotICAgICAgICAgICAgICAgICAgICAgICBmaWxsIHRoZSB0d28gbGFzdCBieXRlcyBvZiBlYWNoIDQtYnl0ZSB1bml0LiAqLwotI2lmICghZGVmaW5lZChCWVRFT1JERVJfSVNfTElUVExFX0VORElBTikgJiYgUHlfVU5JQ09ERV9TSVpFID4gMikKLSMgZGVmaW5lIE9GRiAyCi0jZWxzZQotIyBkZWZpbmUgT0ZGIDAKLSNlbmRpZgotICAgICAgICAgICAgICAgICAgICAoKHVuc2lnbmVkIGNoYXIgKikgX3ApW09GRiArIDFdID0gX3FbMF07Ci0gICAgICAgICAgICAgICAgICAgICgodW5zaWduZWQgY2hhciAqKSBfcClbT0ZGICsgMF0gPSBfcVsxXTsKLSAgICAgICAgICAgICAgICAgICAgKCh1bnNpZ25lZCBjaGFyICopIF9wKVtPRkYgKyAxICsgUHlfVU5JQ09ERV9TSVpFXSA9IF9xWzJdOwotICAgICAgICAgICAgICAgICAgICAoKHVuc2lnbmVkIGNoYXIgKikgX3ApW09GRiArIDAgKyBQeV9VTklDT0RFX1NJWkVdID0gX3FbM107Ci0jaWYgKFNJWkVPRl9MT05HID09IDgpCi0gICAgICAgICAgICAgICAgICAgICgodW5zaWduZWQgY2hhciAqKSBfcClbT0ZGICsgMSArIDIgKiBQeV9VTklDT0RFX1NJWkVdID0gX3FbNF07Ci0gICAgICAgICAgICAgICAgICAgICgodW5zaWduZWQgY2hhciAqKSBfcClbT0ZGICsgMCArIDIgKiBQeV9VTklDT0RFX1NJWkVdID0gX3FbNV07Ci0gICAgICAgICAgICAgICAgICAgICgodW5zaWduZWQgY2hhciAqKSBfcClbT0ZGICsgMSArIDMgKiBQeV9VTklDT0RFX1NJWkVdID0gX3FbNl07Ci0gICAgICAgICAgICAgICAgICAgICgodW5zaWduZWQgY2hhciAqKSBfcClbT0ZGICsgMCArIDMgKiBQeV9VTklDT0RFX1NJWkVdID0gX3FbN107Ci0jZW5kaWYKLSN1bmRlZiBPRkYKLSAgICAgICAgICAgICAgICAgICAgX3EgKz0gU0laRU9GX0xPTkc7Ci0gICAgICAgICAgICAgICAgICAgIF9wICs9IFNJWkVPRl9MT05HIC8gMjsKICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgbWF4Y2ggPSBQeV9NQVgocGJsb2NrWzBdLCBwYmxvY2tbMV0pOworI2lmIFNJWkVPRl9MT05HID09IDgKKyAgICAgICAgICAgICAgICBtYXhjaCA9IFB5X01BWChtYXhjaCwgUHlfTUFYKHBibG9ja1syXSwgcGJsb2NrWzNdKSk7CisjZW5kaWYKKyAgICAgICAgICAgICAgICBpZiAobWF4Y2ggPiBQeVVuaWNvZGVfTUFYX0NIQVJfVkFMVUUodW5pY29kZSkpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHVuaWNvZGVfd2lkZW4oJnVuaWNvZGUsIG1heGNoKSA8IDApCisgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIG9uRXJyb3I7CisgICAgICAgICAgICAgICAgICAgIGtpbmQgPSBQeVVuaWNvZGVfS0lORCh1bmljb2RlKTsKKyAgICAgICAgICAgICAgICAgICAgZGF0YSA9IFB5VW5pY29kZV9EQVRBKHVuaWNvZGUpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBQeVVuaWNvZGVfV1JJVEUoa2luZCwgZGF0YSwgb3V0cG9zKyssIHBibG9ja1swXSk7CisgICAgICAgICAgICAgICAgUHlVbmljb2RlX1dSSVRFKGtpbmQsIGRhdGEsIG91dHBvcysrLCBwYmxvY2tbMV0pOworI2lmIFNJWkVPRl9MT05HID09IDgKKyAgICAgICAgICAgICAgICBQeVVuaWNvZGVfV1JJVEUoa2luZCwgZGF0YSwgb3V0cG9zKyssIHBibG9ja1syXSk7CisgICAgICAgICAgICAgICAgUHlVbmljb2RlX1dSSVRFKGtpbmQsIGRhdGEsIG91dHBvcysrLCBwYmxvY2tbM10pOworI2VuZGlmCisgICAgICAgICAgICAgICAgX3EgKz0gU0laRU9GX0xPTkc7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBwID0gX3A7CiAgICAgICAgICAgICBxID0gX3E7CiAgICAgICAgICAgICBpZiAocSA+PSBlKQogICAgICAgICAgICAgICAgIGJyZWFrOwpAQCAtMzU1Myw4ICs1NTQ2LDkgQEAKIAogICAgICAgICBxICs9IDI7CiAKLSAgICAgICAgaWYgKGNoIDwgMHhEODAwIHx8IGNoID4gMHhERkZGKSB7Ci0gICAgICAgICAgICAqcCsrID0gY2g7CisgICAgICAgIGlmICghUHlfVU5JQ09ERV9JU19TVVJST0dBVEUoY2gpKSB7CisgICAgICAgICAgICBpZiAodW5pY29kZV9wdXRjaGFyKCZ1bmljb2RlLCAmb3V0cG9zLCBjaCkgPCAwKQorICAgICAgICAgICAgICAgIGdvdG8gb25FcnJvcjsKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9CiAKQEAgLTM1NjUsMTYgKzU1NTksMTMgQEAKICAgICAgICAgICAgIGVuZGlucG9zID0gKChjb25zdCBjaGFyICopZSkgKyAxIC0gc3RhcnRzOwogICAgICAgICAgICAgZ290byB1dGYxNkVycm9yOwogICAgICAgICB9Ci0gICAgICAgIGlmICgweEQ4MDAgPD0gY2ggJiYgY2ggPD0gMHhEQkZGKSB7Ci0gICAgICAgICAgICBQeV9VTklDT0RFIGNoMiA9IChxW2loaV0gPDwgOCkgfCBxW2lsb107CisgICAgICAgIGlmIChQeV9VTklDT0RFX0lTX0hJR0hfU1VSUk9HQVRFKGNoKSkgeworICAgICAgICAgICAgUHlfVUNTNCBjaDIgPSAocVtpaGldIDw8IDgpIHwgcVtpbG9dOwogICAgICAgICAgICAgcSArPSAyOwotICAgICAgICAgICAgaWYgKDB4REMwMCA8PSBjaDIgJiYgY2gyIDw9IDB4REZGRikgewotI2lmbmRlZiBQeV9VTklDT0RFX1dJREUKLSAgICAgICAgICAgICAgICAqcCsrID0gY2g7Ci0gICAgICAgICAgICAgICAgKnArKyA9IGNoMjsKLSNlbHNlCi0gICAgICAgICAgICAgICAgKnArKyA9ICgoKGNoICYgMHgzRkYpPDwxMCkgfCAoY2gyICYgMHgzRkYpKSArIDB4MTAwMDA7Ci0jZW5kaWYKKyAgICAgICAgICAgIGlmIChQeV9VTklDT0RFX0lTX0xPV19TVVJST0dBVEUoY2gyKSkgeworICAgICAgICAgICAgICAgIGlmICh1bmljb2RlX3B1dGNoYXIoJnVuaWNvZGUsICZvdXRwb3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeV9VTklDT0RFX0pPSU5fU1VSUk9HQVRFUyhjaCwgY2gyKSkgPCAwKQorICAgICAgICAgICAgICAgICAgICBnb3RvIG9uRXJyb3I7CiAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBlbHNlIHsKQEAgLTM1OTEsNyArNTU4Miw2IEBACiAgICAgICAgIC8qIEZhbGwgdGhyb3VnaCB0byByZXBvcnQgdGhlIGVycm9yICovCiAKICAgICAgIHV0ZjE2RXJyb3I6Ci0gICAgICAgIG91dHBvcyA9IHAgLSBQeVVuaWNvZGVfQVNfVU5JQ09ERSh1bmljb2RlKTsKICAgICAgICAgaWYgKHVuaWNvZGVfZGVjb2RlX2NhbGxfZXJyb3JoYW5kbGVyKAogICAgICAgICAgICAgICAgIGVycm9ycywKICAgICAgICAgICAgICAgICAmZXJyb3JIYW5kbGVyLApAQCAtMzYwMyw4ICs1NTkzLDcgQEAKICAgICAgICAgICAgICAgICAmZXhjLAogICAgICAgICAgICAgICAgIChjb25zdCBjaGFyICoqKSZxLAogICAgICAgICAgICAgICAgICZ1bmljb2RlLAotICAgICAgICAgICAgICAgICZvdXRwb3MsCi0gICAgICAgICAgICAgICAgJnApKQorICAgICAgICAgICAgICAgICZvdXRwb3MpKQogICAgICAgICAgICAgZ290byBvbkVycm9yOwogICAgIH0KICAgICAvKiByZW1haW5pbmcgYnl0ZSBhdCB0aGUgZW5kPyAoc2l6ZSBzaG91bGQgYmUgZXZlbikgKi8KQEAgLTM2MTMsNyArNTYwMiw2IEBACiAgICAgICAgICAgICBlcnJtc2cgPSAidHJ1bmNhdGVkIGRhdGEiOwogICAgICAgICAgICAgc3RhcnRpbnBvcyA9ICgoY29uc3QgY2hhciAqKXEpIC0gc3RhcnRzOwogICAgICAgICAgICAgZW5kaW5wb3MgPSAoKGNvbnN0IGNoYXIgKillKSArIDEgLSBzdGFydHM7Ci0gICAgICAgICAgICBvdXRwb3MgPSBwIC0gUHlVbmljb2RlX0FTX1VOSUNPREUodW5pY29kZSk7CiAgICAgICAgICAgICBpZiAodW5pY29kZV9kZWNvZGVfY2FsbF9lcnJvcmhhbmRsZXIoCiAgICAgICAgICAgICAgICAgICAgIGVycm9ycywKICAgICAgICAgICAgICAgICAgICAgJmVycm9ySGFuZGxlciwKQEAgLTM2MjUsOCArNTYxMyw3IEBACiAgICAgICAgICAgICAgICAgICAgICZleGMsCiAgICAgICAgICAgICAgICAgICAgIChjb25zdCBjaGFyICoqKSZxLAogICAgICAgICAgICAgICAgICAgICAmdW5pY29kZSwKLSAgICAgICAgICAgICAgICAgICAgJm91dHBvcywKLSAgICAgICAgICAgICAgICAgICAgJnApKQorICAgICAgICAgICAgICAgICAgICAmb3V0cG9zKSkKICAgICAgICAgICAgICAgICBnb3RvIG9uRXJyb3I7CiAgICAgICAgICAgICAvKiBUaGUgcmVtYWluaW5nIGlucHV0IGNoYXJzIGFyZSBpZ25vcmVkIGlmIHRoZSBjYWxsYmFjawogICAgICAgICAgICAgICAgY2hvb3NlcyB0byBza2lwIHRoZSBpbnB1dCAqLwpAQCAtMzY0MCwxMiArNTYyNywxMiBAQAogICAgICAgICAqY29uc3VtZWQgPSAoY29uc3QgY2hhciAqKXEtc3RhcnRzOwogCiAgICAgLyogQWRqdXN0IGxlbmd0aCAqLwotICAgIGlmIChfUHlVbmljb2RlX1Jlc2l6ZSgmdW5pY29kZSwgcCAtIHVuaWNvZGUtPnN0cikgPCAwKQorICAgIGlmICh1bmljb2RlX3Jlc2l6ZSgmdW5pY29kZSwgb3V0cG9zKSA8IDApCiAgICAgICAgIGdvdG8gb25FcnJvcjsKIAogICAgIFB5X1hERUNSRUYoZXJyb3JIYW5kbGVyKTsKICAgICBQeV9YREVDUkVGKGV4Yyk7Ci0gICAgcmV0dXJuIChQeU9iamVjdCAqKXVuaWNvZGU7CisgICAgcmV0dXJuIHVuaWNvZGVfcmVzdWx0KHVuaWNvZGUpOwogCiAgIG9uRXJyb3I6CiAgICAgUHlfREVDUkVGKHVuaWNvZGUpOwpAQCAtMzY1OCwxOSArNTY0NSwxNyBAQAogI3VuZGVmIFNXQVBQRURfRkFTVF9DSEFSX01BU0sKIAogUHlPYmplY3QgKgotUHlVbmljb2RlX0VuY29kZVVURjE2KGNvbnN0IFB5X1VOSUNPREUgKnMsCi0gICAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBzaXplLAotICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmVycm9ycywKLSAgICAgICAgICAgICAgICAgICAgICBpbnQgYnl0ZW9yZGVyKQorX1B5VW5pY29kZV9FbmNvZGVVVEYxNihQeU9iamVjdCAqc3RyLAorICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICplcnJvcnMsCisgICAgICAgICAgICAgICAgICAgICAgIGludCBieXRlb3JkZXIpCiB7CisgICAgaW50IGtpbmQ7CisgICAgdm9pZCAqZGF0YTsKKyAgICBQeV9zc2l6ZV90IGxlbjsKICAgICBQeU9iamVjdCAqdjsKICAgICB1bnNpZ25lZCBjaGFyICpwOwogICAgIFB5X3NzaXplX3QgbnNpemUsIGJ5dGVzaXplOwotI2lmZGVmIFB5X1VOSUNPREVfV0lERQogICAgIFB5X3NzaXplX3QgaSwgcGFpcnM7Ci0jZWxzZQotICAgIGNvbnN0IGludCBwYWlycyA9IDA7Ci0jZW5kaWYKICAgICAvKiBPZmZzZXRzIGZyb20gcCBmb3Igc3RvcmluZyBieXRlIHBhaXJzIGluIHRoZSByaWdodCBvcmRlci4gKi8KICNpZmRlZiBCWVRFT1JERVJfSVNfTElUVExFX0VORElBTgogICAgIGludCBpaGkgPSAxLCBpbG8gPSAwOwpAQCAtMzY4NSwxNiArNTY3MCwyNSBAQAogICAgICAgICBwICs9IDI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIH0gd2hpbGUoMCkKIAotI2lmZGVmIFB5X1VOSUNPREVfV0lERQotICAgIGZvciAoaSA9IHBhaXJzID0gMDsgaSA8IHNpemU7IGkrKykKLSAgICAgICAgaWYgKHNbaV0gPj0gMHgxMDAwMCkKLSAgICAgICAgICAgIHBhaXJzKys7Ci0jZW5kaWYKLSAgICAvKiAyICogKHNpemUgKyBwYWlycyArIChieXRlb3JkZXIgPT0gMCkpICovCi0gICAgaWYgKHNpemUgPiBQWV9TU0laRV9UX01BWCB8fAotICAgICAgICBzaXplID4gUFlfU1NJWkVfVF9NQVggLSBwYWlycyAtIChieXRlb3JkZXIgPT0gMCkpCisgICAgaWYgKCFQeVVuaWNvZGVfQ2hlY2soc3RyKSkgeworICAgICAgICBQeUVycl9CYWRBcmd1bWVudCgpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisgICAgaWYgKFB5VW5pY29kZV9SRUFEWShzdHIpID09IC0xKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBraW5kID0gUHlVbmljb2RlX0tJTkQoc3RyKTsKKyAgICBkYXRhID0gUHlVbmljb2RlX0RBVEEoc3RyKTsKKyAgICBsZW4gPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChzdHIpOworCisgICAgcGFpcnMgPSAwOworICAgIGlmIChraW5kID09IFB5VW5pY29kZV80QllURV9LSU5EKQorICAgICAgICBmb3IgKGkgPSAwOyBpIDwgbGVuOyBpKyspCisgICAgICAgICAgICBpZiAoUHlVbmljb2RlX1JFQUQoa2luZCwgZGF0YSwgaSkgPj0gMHgxMDAwMCkKKyAgICAgICAgICAgICAgICBwYWlycysrOworICAgIC8qIDIgKiAobGVuICsgcGFpcnMgKyAoYnl0ZW9yZGVyID09IDApKSAqLworICAgIGlmIChsZW4gPiBQWV9TU0laRV9UX01BWCAtIHBhaXJzIC0gKGJ5dGVvcmRlciA9PSAwKSkKICAgICAgICAgcmV0dXJuIFB5RXJyX05vTWVtb3J5KCk7Ci0gICAgbnNpemUgPSBzaXplICsgcGFpcnMgKyAoYnl0ZW9yZGVyID09IDApOworICAgIG5zaXplID0gbGVuICsgcGFpcnMgKyAoYnl0ZW9yZGVyID09IDApOwogICAgIGJ5dGVzaXplID0gbnNpemUgKiAyOwogICAgIGlmIChieXRlc2l6ZSAvIDIgIT0gbnNpemUpCiAgICAgICAgIHJldHVybiBQeUVycl9Ob01lbW9yeSgpOwpAQCAtMzcwNSw3ICs1Njk5LDcgQEAKICAgICBwID0gKHVuc2lnbmVkIGNoYXIgKilQeUJ5dGVzX0FTX1NUUklORyh2KTsKICAgICBpZiAoYnl0ZW9yZGVyID09IDApCiAgICAgICAgIFNUT1JFQ0hBUigweEZFRkYpOwotICAgIGlmIChzaXplID09IDApCisgICAgaWYgKGxlbiA9PSAwKQogICAgICAgICBnb3RvIGRvbmU7CiAKICAgICBpZiAoYnl0ZW9yZGVyID09IC0xKSB7CkBAIC0zNzE5LDE1ICs1NzEzLDEzIEBACiAgICAgICAgIGlsbyA9IDE7CiAgICAgfQogCi0gICAgd2hpbGUgKHNpemUtLSA+IDApIHsKLSAgICAgICAgUHlfVU5JQ09ERSBjaCA9ICpzKys7Ci0gICAgICAgIFB5X1VOSUNPREUgY2gyID0gMDsKLSNpZmRlZiBQeV9VTklDT0RFX1dJREUKKyAgICBmb3IgKGkgPSAwOyBpIDwgbGVuOyBpKyspIHsKKyAgICAgICAgUHlfVUNTNCBjaCA9IFB5VW5pY29kZV9SRUFEKGtpbmQsIGRhdGEsIGkpOworICAgICAgICBQeV9VQ1M0IGNoMiA9IDA7CiAgICAgICAgIGlmIChjaCA+PSAweDEwMDAwKSB7Ci0gICAgICAgICAgICBjaDIgPSAweERDMDAgfCAoKGNoLTB4MTAwMDApICYgMHgzRkYpOwotICAgICAgICAgICAgY2ggID0gMHhEODAwIHwgKChjaC0weDEwMDAwKSA+PiAxMCk7CisgICAgICAgICAgICBjaDIgPSBQeV9VTklDT0RFX0xPV19TVVJST0dBVEUoY2gpOworICAgICAgICAgICAgY2ggID0gUHlfVU5JQ09ERV9ISUdIX1NVUlJPR0FURShjaCk7CiAgICAgICAgIH0KLSNlbmRpZgogICAgICAgICBTVE9SRUNIQVIoY2gpOwogICAgICAgICBpZiAoY2gyKQogICAgICAgICAgICAgU1RPUkVDSEFSKGNoMik7CkBAIC0zNzM4LDYxICs1NzMwLDE0NyBAQAogI3VuZGVmIFNUT1JFQ0hBUgogfQogCi1QeU9iamVjdCAqUHlVbmljb2RlX0FzVVRGMTZTdHJpbmcoUHlPYmplY3QgKnVuaWNvZGUpCitQeU9iamVjdCAqCitQeVVuaWNvZGVfRW5jb2RlVVRGMTYoY29uc3QgUHlfVU5JQ09ERSAqcywKKyAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IHNpemUsCisgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZXJyb3JzLAorICAgICAgICAgICAgICAgICAgICAgIGludCBieXRlb3JkZXIpCiB7Ci0gICAgaWYgKCFQeVVuaWNvZGVfQ2hlY2sodW5pY29kZSkpIHsKLSAgICAgICAgUHlFcnJfQmFkQXJndW1lbnQoKTsKKyAgICBQeU9iamVjdCAqcmVzdWx0OworICAgIFB5T2JqZWN0ICp0bXAgPSBQeVVuaWNvZGVfRnJvbVVuaWNvZGUocywgc2l6ZSk7CisgICAgaWYgKHRtcCA9PSBOVUxMKQogICAgICAgICByZXR1cm4gTlVMTDsKLSAgICB9Ci0gICAgcmV0dXJuIFB5VW5pY29kZV9FbmNvZGVVVEYxNihQeVVuaWNvZGVfQVNfVU5JQ09ERSh1bmljb2RlKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9HRVRfU0laRSh1bmljb2RlKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwKTsKKyAgICByZXN1bHQgPSBfUHlVbmljb2RlX0VuY29kZVVURjE2KHRtcCwgZXJyb3JzLCBieXRlb3JkZXIpOworICAgIFB5X0RFQ1JFRih0bXApOworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK1B5T2JqZWN0ICoKK1B5VW5pY29kZV9Bc1VURjE2U3RyaW5nKFB5T2JqZWN0ICp1bmljb2RlKQoreworICAgIHJldHVybiBfUHlVbmljb2RlX0VuY29kZVVURjE2KHVuaWNvZGUsIE5VTEwsIDApOwogfQogCiAvKiAtLS0gVW5pY29kZSBFc2NhcGUgQ29kZWMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KIAorLyogSGVscGVyIGZ1bmN0aW9uIGZvciBQeVVuaWNvZGVfRGVjb2RlVW5pY29kZUVzY2FwZSwgZGV0ZXJtaW5lcworICAgaWYgYWxsIHRoZSBlc2NhcGVzIGluIHRoZSBzdHJpbmcgbWFrZSBpdCBzdGlsbCBhIHZhbGlkIEFTQ0lJIHN0cmluZy4KKyAgIFJldHVybnMgLTEgaWYgYW55IGVzY2FwZXMgd2VyZSBmb3VuZCB3aGljaCBjYXVzZSB0aGUgc3RyaW5nIHRvCisgICBwb3Agb3V0IG9mIEFTQ0lJIHJhbmdlLiAgT3RoZXJ3aXNlIHJldHVybnMgdGhlIGxlbmd0aCBvZiB0aGUKKyAgIHJlcXVpcmVkIGJ1ZmZlciB0byBob2xkIHRoZSBzdHJpbmcuCisgICAqLworc3RhdGljIFB5X3NzaXplX3QKK2xlbmd0aF9vZl9lc2NhcGVkX2FzY2lpX3N0cmluZyhjb25zdCBjaGFyICpzLCBQeV9zc2l6ZV90IHNpemUpCit7CisgICAgY29uc3QgdW5zaWduZWQgY2hhciAqcCA9IChjb25zdCB1bnNpZ25lZCBjaGFyICopczsKKyAgICBjb25zdCB1bnNpZ25lZCBjaGFyICplbmQgPSBwICsgc2l6ZTsKKyAgICBQeV9zc2l6ZV90IGxlbmd0aCA9IDA7CisKKyAgICBpZiAoc2l6ZSA8IDApCisgICAgICAgIHJldHVybiAtMTsKKworICAgIGZvciAoOyBwIDwgZW5kOyArK3ApIHsKKyAgICAgICAgaWYgKCpwID4gMTI3KSB7CisgICAgICAgICAgICAvKiBOb24tQVNDSUkgKi8KKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgfQorICAgICAgICBlbHNlIGlmICgqcCAhPSAnXFwnKSB7CisgICAgICAgICAgICAvKiBOb3JtYWwgY2hhcmFjdGVyICovCisgICAgICAgICAgICArK2xlbmd0aDsKKyAgICAgICAgfQorICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIC8qIEJhY2tzbGFzaC1lc2NhcGUsIGNoZWNrIG5leHQgY2hhciAqLworICAgICAgICAgICAgKytwOworICAgICAgICAgICAgLyogRXNjYXBlIHNlcXVlbmNlIHJlYWNoZXMgdGlsbCBlbmQgb2Ygc3RyaW5nIG9yCisgICAgICAgICAgICAgICBub24tQVNDSUkgZm9sbG93LXVwLiAqLworICAgICAgICAgICAgaWYgKHAgPj0gZW5kIHx8ICpwID4gMTI3KQorICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgICAgIHN3aXRjaCAoKnApIHsKKyAgICAgICAgICAgIGNhc2UgJ1xuJzoKKyAgICAgICAgICAgICAgICAvKiBiYWNrc2xhc2ggKyBcbiByZXN1bHQgaW4gemVybyBjaGFyYWN0ZXJzICovCisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlICdcXCc6IGNhc2UgJ1wnJzogY2FzZSAnXCInOgorICAgICAgICAgICAgY2FzZSAnYic6IGNhc2UgJ2YnOiBjYXNlICd0JzoKKyAgICAgICAgICAgIGNhc2UgJ24nOiBjYXNlICdyJzogY2FzZSAndic6IGNhc2UgJ2EnOgorICAgICAgICAgICAgICAgICsrbGVuZ3RoOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSAnMCc6IGNhc2UgJzEnOiBjYXNlICcyJzogY2FzZSAnMyc6CisgICAgICAgICAgICBjYXNlICc0JzogY2FzZSAnNSc6IGNhc2UgJzYnOiBjYXNlICc3JzoKKyAgICAgICAgICAgIGNhc2UgJ3gnOiBjYXNlICd1JzogY2FzZSAnVSc6IGNhc2UgJ04nOgorICAgICAgICAgICAgICAgIC8qIHRoZXNlIGRvIG5vdCBndWFyYW50ZWUgQVNDSUkgY2hhcmFjdGVycyAqLworICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAgICAgLyogY291bnQgdGhlIGJhY2tzbGFzaCArIHRoZSBvdGhlciBjaGFyYWN0ZXIgKi8KKyAgICAgICAgICAgICAgICBsZW5ndGggKz0gMjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KKyAgICByZXR1cm4gbGVuZ3RoOworfQorCiBzdGF0aWMgX1B5VW5pY29kZV9OYW1lX0NBUEkgKnVjbmhhc2hfQ0FQSSA9IE5VTEw7CiAKLVB5T2JqZWN0ICpQeVVuaWNvZGVfRGVjb2RlVW5pY29kZUVzY2FwZShjb25zdCBjaGFyICpzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3Qgc2l6ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICplcnJvcnMpCitQeU9iamVjdCAqCitQeVVuaWNvZGVfRGVjb2RlVW5pY29kZUVzY2FwZShjb25zdCBjaGFyICpzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBzaXplLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZXJyb3JzKQogewogICAgIGNvbnN0IGNoYXIgKnN0YXJ0cyA9IHM7CiAgICAgUHlfc3NpemVfdCBzdGFydGlucG9zOwogICAgIFB5X3NzaXplX3QgZW5kaW5wb3M7Ci0gICAgUHlfc3NpemVfdCBvdXRwb3M7Ci0gICAgaW50IGk7Ci0gICAgUHlVbmljb2RlT2JqZWN0ICp2OwotICAgIFB5X1VOSUNPREUgKnA7CisgICAgaW50IGo7CisgICAgUHlPYmplY3QgKnY7CiAgICAgY29uc3QgY2hhciAqZW5kOwogICAgIGNoYXIqIG1lc3NhZ2U7CiAgICAgUHlfVUNTNCBjaHIgPSAweGZmZmZmZmZmOyAvKiBpbiBjYXNlICdnZXRjb2RlJyBtZXNzZXMgdXAgKi8KICAgICBQeU9iamVjdCAqZXJyb3JIYW5kbGVyID0gTlVMTDsKICAgICBQeU9iamVjdCAqZXhjID0gTlVMTDsKKyAgICBQeV9zc2l6ZV90IGxlbjsKKyAgICBQeV9zc2l6ZV90IGk7CiAKLSAgICAvKiBFc2NhcGVkIHN0cmluZ3Mgd2lsbCBhbHdheXMgYmUgbG9uZ2VyIHRoYW4gdGhlIHJlc3VsdGluZwotICAgICAgIFVuaWNvZGUgc3RyaW5nLCBzbyB3ZSBzdGFydCB3aXRoIHNpemUgaGVyZSBhbmQgdGhlbiByZWR1Y2UgdGhlCi0gICAgICAgbGVuZ3RoIGFmdGVyIGNvbnZlcnNpb24gdG8gdGhlIHRydWUgdmFsdWUuCi0gICAgICAgKGJ1dCBpZiB0aGUgZXJyb3IgY2FsbGJhY2sgcmV0dXJucyBhIGxvbmcgcmVwbGFjZW1lbnQgc3RyaW5nCi0gICAgICAgd2UnbGwgaGF2ZSB0byBhbGxvY2F0ZSBtb3JlIHNwYWNlKSAqLwotICAgIHYgPSBfUHlVbmljb2RlX05ldyhzaXplKTsKLSAgICBpZiAodiA9PSBOVUxMKQotICAgICAgICBnb3RvIG9uRXJyb3I7CisgICAgbGVuID0gbGVuZ3RoX29mX2VzY2FwZWRfYXNjaWlfc3RyaW5nKHMsIHNpemUpOworCisgICAgLyogQWZ0ZXIgbGVuZ3RoX29mX2VzY2FwZWRfYXNjaWlfc3RyaW5nKCkgdGhlcmUgYXJlIHR3byBhbHRlcm5hdGl2ZXMsCisgICAgICAgZWl0aGVyIHRoZSBzdHJpbmcgaXMgcHVyZSBBU0NJSSB3aXRoIG5hbWVkIGVzY2FwZXMgbGlrZSBcbiwgZXRjLgorICAgICAgIGFuZCB3ZSBkZXRlcm1pbmVkIGl0J3MgZXhhY3Qgc2l6ZSAoY29tbW9uIGNhc2UpCisgICAgICAgb3IgaXQgY29udGFpbnMgXHgsIFx1LCAuLi4gZXNjYXBlIHNlcXVlbmNlcy4gIHRoZW4gd2UgY3JlYXRlIGEKKyAgICAgICBsZWdhY3kgd2NoYXIgc3RyaW5nIGFuZCByZXNpemUgaXQgYXQgdGhlIGVuZCBvZiB0aGlzIGZ1bmN0aW9uLiAqLworICAgIGlmIChsZW4gPj0gMCkgeworICAgICAgICB2ID0gUHlVbmljb2RlX05ldyhsZW4sIDEyNyk7CisgICAgICAgIGlmICghdikKKyAgICAgICAgICAgIGdvdG8gb25FcnJvcjsKKyAgICAgICAgYXNzZXJ0KFB5VW5pY29kZV9LSU5EKHYpID09IFB5VW5pY29kZV8xQllURV9LSU5EKTsKKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIC8qIEVzY2FwZWQgc3RyaW5ncyB3aWxsIGFsd2F5cyBiZSBsb25nZXIgdGhhbiB0aGUgcmVzdWx0aW5nCisgICAgICAgICAgIFVuaWNvZGUgc3RyaW5nLCBzbyB3ZSBzdGFydCB3aXRoIHNpemUgaGVyZSBhbmQgdGhlbiByZWR1Y2UgdGhlCisgICAgICAgICAgIGxlbmd0aCBhZnRlciBjb252ZXJzaW9uIHRvIHRoZSB0cnVlIHZhbHVlLgorICAgICAgICAgICAoYnV0IGlmIHRoZSBlcnJvciBjYWxsYmFjayByZXR1cm5zIGEgbG9uZyByZXBsYWNlbWVudCBzdHJpbmcKKyAgICAgICAgICAgd2UnbGwgaGF2ZSB0byBhbGxvY2F0ZSBtb3JlIHNwYWNlKSAqLworICAgICAgICB2ID0gUHlVbmljb2RlX05ldyhzaXplLCAxMjcpOworICAgICAgICBpZiAoIXYpCisgICAgICAgICAgICBnb3RvIG9uRXJyb3I7CisgICAgICAgIGxlbiA9IHNpemU7CisgICAgfQorCiAgICAgaWYgKHNpemUgPT0gMCkKLSAgICAgICAgcmV0dXJuIChQeU9iamVjdCAqKXY7Ci0KLSAgICBwID0gUHlVbmljb2RlX0FTX1VOSUNPREUodik7CisgICAgICAgIHJldHVybiB2OworICAgIGkgPSAwOwogICAgIGVuZCA9IHMgKyBzaXplOwogCiAgICAgd2hpbGUgKHMgPCBlbmQpIHsKICAgICAgICAgdW5zaWduZWQgY2hhciBjOwotICAgICAgICBQeV9VTklDT0RFIHg7CisgICAgICAgIFB5X1VDUzQgeDsKICAgICAgICAgaW50IGRpZ2l0czsKIAorICAgICAgICAvKiBUaGUgb25seSBjYXNlIGluIHdoaWNoIGkgPT0gYXNjaWlfbGVuZ3RoIGlzIGEgYmFja3NsYXNoCisgICAgICAgICAgIGZvbGxvd2VkIGJ5IGEgbmV3bGluZS4gKi8KKyAgICAgICAgYXNzZXJ0KGkgPD0gbGVuKTsKKwogICAgICAgICAvKiBOb24tZXNjYXBlIGNoYXJhY3RlcnMgYXJlIGludGVycHJldGVkIGFzIFVuaWNvZGUgb3JkaW5hbHMgKi8KICAgICAgICAgaWYgKCpzICE9ICdcXCcpIHsKLSAgICAgICAgICAgICpwKysgPSAodW5zaWduZWQgY2hhcikgKnMrKzsKKyAgICAgICAgICAgIGlmICh1bmljb2RlX3B1dGNoYXIoJnYsICZpLCAodW5zaWduZWQgY2hhcikgKnMrKykgPCAwKQorICAgICAgICAgICAgICAgIGdvdG8gb25FcnJvcjsKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9CiAKQEAgLTM4MDIsMjAgKzU4ODAsMzQgQEAKICAgICAgICAgYyA9ICpzKys7CiAgICAgICAgIGlmIChzID4gZW5kKQogICAgICAgICAgICAgYyA9ICdcMCc7IC8qIEludmFsaWQgYWZ0ZXIgXCAqLworCisgICAgICAgIC8qIFRoZSBvbmx5IGNhc2UgaW4gd2hpY2ggaSA9PSBhc2NpaV9sZW5ndGggaXMgYSBiYWNrc2xhc2gKKyAgICAgICAgICAgZm9sbG93ZWQgYnkgYSBuZXdsaW5lLiAqLworICAgICAgICBhc3NlcnQoaSA8IGxlbiB8fCAoaSA9PSBsZW4gJiYgYyA9PSAnXG4nKSk7CisKICAgICAgICAgc3dpdGNoIChjKSB7CiAKICAgICAgICAgICAgIC8qIFx4IGVzY2FwZXMgKi8KKyNkZWZpbmUgV1JJVEVDSEFSKGNoKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgaWYgKHVuaWNvZGVfcHV0Y2hhcigmdiwgJmksIGNoKSA8IDApICAgIFwKKyAgICAgICAgICAgICAgICAgICAgZ290byBvbkVycm9yOyAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgfXdoaWxlKDApCisKICAgICAgICAgY2FzZSAnXG4nOiBicmVhazsKLSAgICAgICAgY2FzZSAnXFwnOiAqcCsrID0gJ1xcJzsgYnJlYWs7Ci0gICAgICAgIGNhc2UgJ1wnJzogKnArKyA9ICdcJyc7IGJyZWFrOwotICAgICAgICBjYXNlICdcIic6ICpwKysgPSAnXCInOyBicmVhazsKLSAgICAgICAgY2FzZSAnYic6ICpwKysgPSAnXGInOyBicmVhazsKLSAgICAgICAgY2FzZSAnZic6ICpwKysgPSAnXDAxNCc7IGJyZWFrOyAvKiBGRiAqLwotICAgICAgICBjYXNlICd0JzogKnArKyA9ICdcdCc7IGJyZWFrOwotICAgICAgICBjYXNlICduJzogKnArKyA9ICdcbic7IGJyZWFrOwotICAgICAgICBjYXNlICdyJzogKnArKyA9ICdccic7IGJyZWFrOwotICAgICAgICBjYXNlICd2JzogKnArKyA9ICdcMDEzJzsgYnJlYWs7IC8qIFZUICovCi0gICAgICAgIGNhc2UgJ2EnOiAqcCsrID0gJ1wwMDcnOyBicmVhazsgLyogQkVMLCBub3QgY2xhc3NpYyBDICovCisgICAgICAgIGNhc2UgJ1xcJzogV1JJVEVDSEFSKCdcXCcpOyBicmVhazsKKyAgICAgICAgY2FzZSAnXCcnOiBXUklURUNIQVIoJ1wnJyk7IGJyZWFrOworICAgICAgICBjYXNlICdcIic6IFdSSVRFQ0hBUignXCInKTsgYnJlYWs7CisgICAgICAgIGNhc2UgJ2InOiBXUklURUNIQVIoJ1xiJyk7IGJyZWFrOworICAgICAgICAvKiBGRiAqLworICAgICAgICBjYXNlICdmJzogV1JJVEVDSEFSKCdcMDE0Jyk7IGJyZWFrOworICAgICAgICBjYXNlICd0JzogV1JJVEVDSEFSKCdcdCcpOyBicmVhazsKKyAgICAgICAgY2FzZSAnbic6IFdSSVRFQ0hBUignXG4nKTsgYnJlYWs7CisgICAgICAgIGNhc2UgJ3InOiBXUklURUNIQVIoJ1xyJyk7IGJyZWFrOworICAgICAgICAvKiBWVCAqLworICAgICAgICBjYXNlICd2JzogV1JJVEVDSEFSKCdcMDEzJyk7IGJyZWFrOworICAgICAgICAvKiBCRUwsIG5vdCBjbGFzc2ljIEMgKi8KKyAgICAgICAgY2FzZSAnYSc6IFdSSVRFQ0hBUignXDAwNycpOyBicmVhazsKIAogICAgICAgICAgICAgLyogXE9PTyAob2N0YWwpIGVzY2FwZXMgKi8KICAgICAgICAgY2FzZSAnMCc6IGNhc2UgJzEnOiBjYXNlICcyJzogY2FzZSAnMyc6CkBAIC0zODI2LDcgKzU5MTgsNyBAQAogICAgICAgICAgICAgICAgIGlmIChzIDwgZW5kICYmICcwJyA8PSAqcyAmJiAqcyA8PSAnNycpCiAgICAgICAgICAgICAgICAgICAgIHggPSAoeDw8MykgKyAqcysrIC0gJzAnOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgKnArKyA9IHg7CisgICAgICAgICAgICBXUklURUNIQVIoeCk7CiAgICAgICAgICAgICBicmVhazsKIAogICAgICAgICAgICAgLyogaGV4IGVzY2FwZXMgKi8KQEAgLTM4NDgsMjcgKzU5NDAsMjcgQEAKICAgICAgICAgICAgIG1lc3NhZ2UgPSAidHJ1bmNhdGVkIFxcVVhYWFhYWFhYIGVzY2FwZSI7CiAgICAgICAgIGhleGVzY2FwZToKICAgICAgICAgICAgIGNociA9IDA7Ci0gICAgICAgICAgICBvdXRwb3MgPSBwLVB5VW5pY29kZV9BU19VTklDT0RFKHYpOwogICAgICAgICAgICAgaWYgKHMrZGlnaXRzPmVuZCkgewogICAgICAgICAgICAgICAgIGVuZGlucG9zID0gc2l6ZTsKICAgICAgICAgICAgICAgICBpZiAodW5pY29kZV9kZWNvZGVfY2FsbF9lcnJvcmhhbmRsZXIoCiAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcnMsICZlcnJvckhhbmRsZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAidW5pY29kZWVzY2FwZSIsICJlbmQgb2Ygc3RyaW5nIGluIGVzY2FwZSBzZXF1ZW5jZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAmc3RhcnRzLCAmZW5kLCAmc3RhcnRpbnBvcywgJmVuZGlucG9zLCAmZXhjLCAmcywKLSAgICAgICAgICAgICAgICAgICAgICAgICZ2LCAmb3V0cG9zLCAmcCkpCisgICAgICAgICAgICAgICAgICAgICAgICAmdiwgJmkpKQogICAgICAgICAgICAgICAgICAgICBnb3RvIG9uRXJyb3I7CiAgICAgICAgICAgICAgICAgZ290byBuZXh0Qnl0ZTsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBkaWdpdHM7ICsraSkgewotICAgICAgICAgICAgICAgIGMgPSAodW5zaWduZWQgY2hhcikgc1tpXTsKKyAgICAgICAgICAgIGZvciAoaiA9IDA7IGogPCBkaWdpdHM7ICsraikgeworICAgICAgICAgICAgICAgIGMgPSAodW5zaWduZWQgY2hhcikgc1tqXTsKICAgICAgICAgICAgICAgICBpZiAoIVB5X0lTWERJR0lUKGMpKSB7Ci0gICAgICAgICAgICAgICAgICAgIGVuZGlucG9zID0gKHMraSsxKS1zdGFydHM7CisgICAgICAgICAgICAgICAgICAgIGVuZGlucG9zID0gKHMraisxKS1zdGFydHM7CiAgICAgICAgICAgICAgICAgICAgIGlmICh1bmljb2RlX2RlY29kZV9jYWxsX2Vycm9yaGFuZGxlcigKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcnMsICZlcnJvckhhbmRsZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVuaWNvZGVlc2NhcGUiLCBtZXNzYWdlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICZzdGFydHMsICZlbmQsICZzdGFydGlucG9zLCAmZW5kaW5wb3MsICZleGMsICZzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICZ2LCAmb3V0cG9zLCAmcCkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnYsICZpKSkKICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gb25FcnJvcjsKKyAgICAgICAgICAgICAgICAgICAgbGVuID0gUHlVbmljb2RlX0dFVF9MRU5HVEgodik7CiAgICAgICAgICAgICAgICAgICAgIGdvdG8gbmV4dEJ5dGU7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIGNociA9IChjaHI8PDQpICYgfjB4RjsKQEAgLTM4NzksMzQgKzU5NzEsMjIgQEAKICAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICAgIGNociArPSAxMCArIGMgLSAnQSc7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBzICs9IGk7CisgICAgICAgICAgICBzICs9IGo7CiAgICAgICAgICAgICBpZiAoY2hyID09IDB4ZmZmZmZmZmYgJiYgUHlFcnJfT2NjdXJyZWQoKSkKICAgICAgICAgICAgICAgICAvKiBfZGVjb2RpbmdfZXJyb3Igd2lsbCBoYXZlIGFscmVhZHkgd3JpdHRlbiBpbnRvIHRoZQogICAgICAgICAgICAgICAgICAgIHRhcmdldCBidWZmZXIuICovCiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIHN0b3JlOgogICAgICAgICAgICAgLyogd2hlbiB3ZSBnZXQgaGVyZSwgY2hyIGlzIGEgMzItYml0IHVuaWNvZGUgY2hhcmFjdGVyICovCi0gICAgICAgICAgICBpZiAoY2hyIDw9IDB4ZmZmZikKLSAgICAgICAgICAgICAgICAvKiBVQ1MtMiBjaGFyYWN0ZXIgKi8KLSAgICAgICAgICAgICAgICAqcCsrID0gKFB5X1VOSUNPREUpIGNocjsKLSAgICAgICAgICAgIGVsc2UgaWYgKGNociA8PSAweDEwZmZmZikgewotICAgICAgICAgICAgICAgIC8qIFVDUy00IGNoYXJhY3Rlci4gRWl0aGVyIHN0b3JlIGRpcmVjdGx5LCBvciBhcwotICAgICAgICAgICAgICAgICAgIHN1cnJvZ2F0ZSBwYWlyLiAqLwotI2lmZGVmIFB5X1VOSUNPREVfV0lERQotICAgICAgICAgICAgICAgICpwKysgPSBjaHI7Ci0jZWxzZQotICAgICAgICAgICAgICAgIGNociAtPSAweDEwMDAwTDsKLSAgICAgICAgICAgICAgICAqcCsrID0gMHhEODAwICsgKFB5X1VOSUNPREUpIChjaHIgPj4gMTApOwotICAgICAgICAgICAgICAgICpwKysgPSAweERDMDAgKyAoUHlfVU5JQ09ERSkgKGNociAmIDB4MDNGRik7Ci0jZW5kaWYKKyAgICAgICAgICAgIGlmIChjaHIgPD0gTUFYX1VOSUNPREUpIHsKKyAgICAgICAgICAgICAgICBXUklURUNIQVIoY2hyKTsKICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgZW5kaW5wb3MgPSBzLXN0YXJ0czsKLSAgICAgICAgICAgICAgICBvdXRwb3MgPSBwLVB5VW5pY29kZV9BU19VTklDT0RFKHYpOwogICAgICAgICAgICAgICAgIGlmICh1bmljb2RlX2RlY29kZV9jYWxsX2Vycm9yaGFuZGxlcigKICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9ycywgJmVycm9ySGFuZGxlciwKICAgICAgICAgICAgICAgICAgICAgICAgICJ1bmljb2RlZXNjYXBlIiwgImlsbGVnYWwgVW5pY29kZSBjaGFyYWN0ZXIiLAogICAgICAgICAgICAgICAgICAgICAgICAgJnN0YXJ0cywgJmVuZCwgJnN0YXJ0aW5wb3MsICZlbmRpbnBvcywgJmV4YywgJnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAmdiwgJm91dHBvcywgJnApKQorICAgICAgICAgICAgICAgICAgICAgICAgJnYsICZpKSkKICAgICAgICAgICAgICAgICAgICAgZ290byBvbkVycm9yOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgYnJlYWs7CkBAIC0zOTE2LDcgKzU5OTYsOCBAQAogICAgICAgICAgICAgbWVzc2FnZSA9ICJtYWxmb3JtZWQgXFxOIGNoYXJhY3RlciBlc2NhcGUiOwogICAgICAgICAgICAgaWYgKHVjbmhhc2hfQ0FQSSA9PSBOVUxMKSB7CiAgICAgICAgICAgICAgICAgLyogbG9hZCB0aGUgdW5pY29kZSBkYXRhIG1vZHVsZSAqLwotICAgICAgICAgICAgICAgIHVjbmhhc2hfQ0FQSSA9IChfUHlVbmljb2RlX05hbWVfQ0FQSSAqKVB5Q2Fwc3VsZV9JbXBvcnQoUHlVbmljb2RlRGF0YV9DQVBTVUxFX05BTUUsIDEpOworICAgICAgICAgICAgICAgIHVjbmhhc2hfQ0FQSSA9IChfUHlVbmljb2RlX05hbWVfQ0FQSSAqKVB5Q2Fwc3VsZV9JbXBvcnQoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVEYXRhX0NBUFNVTEVfTkFNRSwgMSk7CiAgICAgICAgICAgICAgICAgaWYgKHVjbmhhc2hfQ0FQSSA9PSBOVUxMKQogICAgICAgICAgICAgICAgICAgICBnb3RvIHVjbmhhc2hFcnJvcjsKICAgICAgICAgICAgIH0KQEAgLTM5MjksMTcgKzYwMTAsMTcgQEAKICAgICAgICAgICAgICAgICAgICAgLyogZm91bmQgYSBuYW1lLiAgbG9vayBpdCB1cCBpbiB0aGUgdW5pY29kZSBkYXRhYmFzZSAqLwogICAgICAgICAgICAgICAgICAgICBtZXNzYWdlID0gInVua25vd24gVW5pY29kZSBjaGFyYWN0ZXIgbmFtZSI7CiAgICAgICAgICAgICAgICAgICAgIHMrKzsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHVjbmhhc2hfQ0FQSS0+Z2V0Y29kZShOVUxMLCBzdGFydCwgKGludCkocy1zdGFydC0xKSwgJmNocikpCisgICAgICAgICAgICAgICAgICAgIGlmICh1Y25oYXNoX0NBUEktPmdldGNvZGUoTlVMTCwgc3RhcnQsIChpbnQpKHMtc3RhcnQtMSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmNociwgMCkpCiAgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIHN0b3JlOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGVuZGlucG9zID0gcy1zdGFydHM7Ci0gICAgICAgICAgICBvdXRwb3MgPSBwLVB5VW5pY29kZV9BU19VTklDT0RFKHYpOwogICAgICAgICAgICAgaWYgKHVuaWNvZGVfZGVjb2RlX2NhbGxfZXJyb3JoYW5kbGVyKAogICAgICAgICAgICAgICAgICAgICBlcnJvcnMsICZlcnJvckhhbmRsZXIsCiAgICAgICAgICAgICAgICAgICAgICJ1bmljb2RlZXNjYXBlIiwgbWVzc2FnZSwKICAgICAgICAgICAgICAgICAgICAgJnN0YXJ0cywgJmVuZCwgJnN0YXJ0aW5wb3MsICZlbmRpbnBvcywgJmV4YywgJnMsCi0gICAgICAgICAgICAgICAgICAgICZ2LCAmb3V0cG9zLCAmcCkpCisgICAgICAgICAgICAgICAgICAgICZ2LCAmaSkpCiAgICAgICAgICAgICAgICAgZ290byBvbkVycm9yOwogICAgICAgICAgICAgYnJlYWs7CiAKQEAgLTM5NDgsMjggKzYwMjksMjkgQEAKICAgICAgICAgICAgICAgICBtZXNzYWdlID0gIlxcIGF0IGVuZCBvZiBzdHJpbmciOwogICAgICAgICAgICAgICAgIHMtLTsKICAgICAgICAgICAgICAgICBlbmRpbnBvcyA9IHMtc3RhcnRzOwotICAgICAgICAgICAgICAgIG91dHBvcyA9IHAtUHlVbmljb2RlX0FTX1VOSUNPREUodik7CiAgICAgICAgICAgICAgICAgaWYgKHVuaWNvZGVfZGVjb2RlX2NhbGxfZXJyb3JoYW5kbGVyKAogICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JzLCAmZXJyb3JIYW5kbGVyLAogICAgICAgICAgICAgICAgICAgICAgICAgInVuaWNvZGVlc2NhcGUiLCBtZXNzYWdlLAogICAgICAgICAgICAgICAgICAgICAgICAgJnN0YXJ0cywgJmVuZCwgJnN0YXJ0aW5wb3MsICZlbmRpbnBvcywgJmV4YywgJnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAmdiwgJm91dHBvcywgJnApKQorICAgICAgICAgICAgICAgICAgICAgICAgJnYsICZpKSkKICAgICAgICAgICAgICAgICAgICAgZ290byBvbkVycm9yOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICAgICAgKnArKyA9ICdcXCc7Ci0gICAgICAgICAgICAgICAgKnArKyA9ICh1bnNpZ25lZCBjaGFyKXNbLTFdOworICAgICAgICAgICAgICAgIFdSSVRFQ0hBUignXFwnKTsKKyAgICAgICAgICAgICAgICBXUklURUNIQVIoc1stMV0pOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgIG5leHRCeXRlOgogICAgICAgICA7CiAgICAgfQotICAgIGlmIChfUHlVbmljb2RlX1Jlc2l6ZSgmdiwgcCAtIFB5VW5pY29kZV9BU19VTklDT0RFKHYpKSA8IDApCisjdW5kZWYgV1JJVEVDSEFSCisKKyAgICBpZiAodW5pY29kZV9yZXNpemUoJnYsIGkpIDwgMCkKICAgICAgICAgZ290byBvbkVycm9yOwogICAgIFB5X1hERUNSRUYoZXJyb3JIYW5kbGVyKTsKICAgICBQeV9YREVDUkVGKGV4Yyk7Ci0gICAgcmV0dXJuIChQeU9iamVjdCAqKXY7CisgICAgcmV0dXJuIHVuaWNvZGVfcmVzdWx0KHYpOwogCiAgIHVjbmhhc2hFcnJvcjoKICAgICBQeUVycl9TZXRTdHJpbmcoCkBAIC0zOTk1LDM5ICs2MDc3LDE2IEBACiAKICovCiAKLVB5X0xPQ0FMX0lOTElORShjb25zdCBQeV9VTklDT0RFICopIGZpbmRjaGFyKGNvbnN0IFB5X1VOSUNPREUgKnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IHNpemUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeV9VTklDT0RFIGNoKQorUHlPYmplY3QgKgorUHlVbmljb2RlX0FzVW5pY29kZUVzY2FwZVN0cmluZyhQeU9iamVjdCAqdW5pY29kZSkKIHsKLSAgICAvKiBsaWtlIHdjc2NociwgYnV0IGRvZXNuJ3Qgc3RvcCBhdCBOVUxMIGNoYXJhY3RlcnMgKi8KLQotICAgIHdoaWxlIChzaXplLS0gPiAwKSB7Ci0gICAgICAgIGlmICgqcyA9PSBjaCkKLSAgICAgICAgICAgIHJldHVybiBzOwotICAgICAgICBzKys7Ci0gICAgfQotCi0gICAgcmV0dXJuIE5VTEw7Ci19Ci0KLXN0YXRpYyBjb25zdCBjaGFyICpoZXhkaWdpdHMgPSAiMDEyMzQ1Njc4OWFiY2RlZiI7Ci0KLVB5T2JqZWN0ICpQeVVuaWNvZGVfRW5jb2RlVW5pY29kZUVzY2FwZShjb25zdCBQeV9VTklDT0RFICpzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3Qgc2l6ZSkKLXsKKyAgICBQeV9zc2l6ZV90IGksIGxlbjsKICAgICBQeU9iamVjdCAqcmVwcjsKICAgICBjaGFyICpwOworICAgIGludCBraW5kOworICAgIHZvaWQgKmRhdGE7CisgICAgUHlfc3NpemVfdCBleHBhbmRzaXplID0gMDsKIAotI2lmZGVmIFB5X1VOSUNPREVfV0lERQotICAgIGNvbnN0IFB5X3NzaXplX3QgZXhwYW5kc2l6ZSA9IDEwOwotI2Vsc2UKLSAgICBjb25zdCBQeV9zc2l6ZV90IGV4cGFuZHNpemUgPSA2OwotI2VuZGlmCi0KLSAgICAvKiBYWFgobm5vcndpdHopOiByYXRoZXIgdGhhbiBvdmVyLWFsbG9jYXRpbmcsIGl0IHdvdWxkIGJlCi0gICAgICAgYmV0dGVyIHRvIGNob29zZSBhIGRpZmZlcmVudCBzY2hlbWUuICBQZXJoYXBzIHNjYW4gdGhlCi0gICAgICAgZmlyc3QgTi1jaGFycyBvZiB0aGUgc3RyaW5nIGFuZCBhbGxvY2F0ZSBiYXNlZCBvbiB0aGF0IHNpemUuCi0gICAgKi8KICAgICAvKiBJbml0aWFsIGFsbG9jYXRpb24gaXMgYmFzZWQgb24gdGhlIGxvbmdlc3QtcG9zc2libGUgdW5pY2hyCiAgICAgICAgZXNjYXBlLgogCkBAIC00MDQyLDIzICs2MTAxLDM4IEBACiAgICAgICAgZXNjYXBlLgogICAgICovCiAKLSAgICBpZiAoc2l6ZSA9PSAwKQorICAgIGlmICghUHlVbmljb2RlX0NoZWNrKHVuaWNvZGUpKSB7CisgICAgICAgIFB5RXJyX0JhZEFyZ3VtZW50KCk7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKyAgICBpZiAoUHlVbmljb2RlX1JFQURZKHVuaWNvZGUpID09IC0xKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBsZW4gPSBQeVVuaWNvZGVfR0VUX0xFTkdUSCh1bmljb2RlKTsKKyAgICBraW5kID0gUHlVbmljb2RlX0tJTkQodW5pY29kZSk7CisgICAgZGF0YSA9IFB5VW5pY29kZV9EQVRBKHVuaWNvZGUpOworICAgIHN3aXRjaCAoa2luZCkgeworICAgIGNhc2UgUHlVbmljb2RlXzFCWVRFX0tJTkQ6IGV4cGFuZHNpemUgPSA0OyBicmVhazsKKyAgICBjYXNlIFB5VW5pY29kZV8yQllURV9LSU5EOiBleHBhbmRzaXplID0gNjsgYnJlYWs7CisgICAgY2FzZSBQeVVuaWNvZGVfNEJZVEVfS0lORDogZXhwYW5kc2l6ZSA9IDEwOyBicmVhazsKKyAgICB9CisKKyAgICBpZiAobGVuID09IDApCiAgICAgICAgIHJldHVybiBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplKE5VTEwsIDApOwogCi0gICAgaWYgKHNpemUgPiAoUFlfU1NJWkVfVF9NQVggLSAyIC0gMSkgLyBleHBhbmRzaXplKQorICAgIGlmIChsZW4gPiAoUFlfU1NJWkVfVF9NQVggLSAyIC0gMSkgLyBleHBhbmRzaXplKQogICAgICAgICByZXR1cm4gUHlFcnJfTm9NZW1vcnkoKTsKIAogICAgIHJlcHIgPSBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplKE5VTEwsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsgZXhwYW5kc2l6ZSpzaXplCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKyBleHBhbmRzaXplKmxlbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsgMSk7CiAgICAgaWYgKHJlcHIgPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKICAgICBwID0gUHlCeXRlc19BU19TVFJJTkcocmVwcik7CiAKLSAgICB3aGlsZSAoc2l6ZS0tID4gMCkgewotICAgICAgICBQeV9VTklDT0RFIGNoID0gKnMrKzsKKyAgICBmb3IgKGkgPSAwOyBpIDwgbGVuOyBpKyspIHsKKyAgICAgICAgUHlfVUNTNCBjaCA9IFB5VW5pY29kZV9SRUFEKGtpbmQsIGRhdGEsIGkpOwogCiAgICAgICAgIC8qIEVzY2FwZSBiYWNrc2xhc2hlcyAqLwogICAgICAgICBpZiAoY2ggPT0gJ1xcJykgewpAQCAtNDA2Nyw1NyArNjE0MSwzMCBAQAogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0KIAotI2lmZGVmIFB5X1VOSUNPREVfV0lERQogICAgICAgICAvKiBNYXAgMjEtYml0IGNoYXJhY3RlcnMgdG8gJ1xVMDB4eHh4eHgnICovCiAgICAgICAgIGVsc2UgaWYgKGNoID49IDB4MTAwMDApIHsKKyAgICAgICAgICAgIGFzc2VydChjaCA8PSBNQVhfVU5JQ09ERSk7CiAgICAgICAgICAgICAqcCsrID0gJ1xcJzsKICAgICAgICAgICAgICpwKysgPSAnVSc7Ci0gICAgICAgICAgICAqcCsrID0gaGV4ZGlnaXRzWyhjaCA+PiAyOCkgJiAweDAwMDAwMDBGXTsKLSAgICAgICAgICAgICpwKysgPSBoZXhkaWdpdHNbKGNoID4+IDI0KSAmIDB4MDAwMDAwMEZdOwotICAgICAgICAgICAgKnArKyA9IGhleGRpZ2l0c1soY2ggPj4gMjApICYgMHgwMDAwMDAwRl07Ci0gICAgICAgICAgICAqcCsrID0gaGV4ZGlnaXRzWyhjaCA+PiAxNikgJiAweDAwMDAwMDBGXTsKLSAgICAgICAgICAgICpwKysgPSBoZXhkaWdpdHNbKGNoID4+IDEyKSAmIDB4MDAwMDAwMEZdOwotICAgICAgICAgICAgKnArKyA9IGhleGRpZ2l0c1soY2ggPj4gOCkgJiAweDAwMDAwMDBGXTsKLSAgICAgICAgICAgICpwKysgPSBoZXhkaWdpdHNbKGNoID4+IDQpICYgMHgwMDAwMDAwRl07Ci0gICAgICAgICAgICAqcCsrID0gaGV4ZGlnaXRzW2NoICYgMHgwMDAwMDAwRl07CisgICAgICAgICAgICAqcCsrID0gUHlfaGV4ZGlnaXRzWyhjaCA+PiAyOCkgJiAweDAwMDAwMDBGXTsKKyAgICAgICAgICAgICpwKysgPSBQeV9oZXhkaWdpdHNbKGNoID4+IDI0KSAmIDB4MDAwMDAwMEZdOworICAgICAgICAgICAgKnArKyA9IFB5X2hleGRpZ2l0c1soY2ggPj4gMjApICYgMHgwMDAwMDAwRl07CisgICAgICAgICAgICAqcCsrID0gUHlfaGV4ZGlnaXRzWyhjaCA+PiAxNikgJiAweDAwMDAwMDBGXTsKKyAgICAgICAgICAgICpwKysgPSBQeV9oZXhkaWdpdHNbKGNoID4+IDEyKSAmIDB4MDAwMDAwMEZdOworICAgICAgICAgICAgKnArKyA9IFB5X2hleGRpZ2l0c1soY2ggPj4gOCkgJiAweDAwMDAwMDBGXTsKKyAgICAgICAgICAgICpwKysgPSBQeV9oZXhkaWdpdHNbKGNoID4+IDQpICYgMHgwMDAwMDAwRl07CisgICAgICAgICAgICAqcCsrID0gUHlfaGV4ZGlnaXRzW2NoICYgMHgwMDAwMDAwRl07CiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgfQotI2Vsc2UKLSAgICAgICAgLyogTWFwIFVURi0xNiBzdXJyb2dhdGUgcGFpcnMgdG8gJ1xVMDB4eHh4eHgnICovCi0gICAgICAgIGVsc2UgaWYgKGNoID49IDB4RDgwMCAmJiBjaCA8IDB4REMwMCkgewotICAgICAgICAgICAgUHlfVU5JQ09ERSBjaDI7Ci0gICAgICAgICAgICBQeV9VQ1M0IHVjczsKLQotICAgICAgICAgICAgY2gyID0gKnMrKzsKLSAgICAgICAgICAgIHNpemUtLTsKLSAgICAgICAgICAgIGlmIChjaDIgPj0gMHhEQzAwICYmIGNoMiA8PSAweERGRkYpIHsKLSAgICAgICAgICAgICAgICB1Y3MgPSAoKChjaCAmIDB4MDNGRikgPDwgMTApIHwgKGNoMiAmIDB4MDNGRikpICsgMHgwMDAxMDAwMDsKLSAgICAgICAgICAgICAgICAqcCsrID0gJ1xcJzsKLSAgICAgICAgICAgICAgICAqcCsrID0gJ1UnOwotICAgICAgICAgICAgICAgICpwKysgPSBoZXhkaWdpdHNbKHVjcyA+PiAyOCkgJiAweDAwMDAwMDBGXTsKLSAgICAgICAgICAgICAgICAqcCsrID0gaGV4ZGlnaXRzWyh1Y3MgPj4gMjQpICYgMHgwMDAwMDAwRl07Ci0gICAgICAgICAgICAgICAgKnArKyA9IGhleGRpZ2l0c1sodWNzID4+IDIwKSAmIDB4MDAwMDAwMEZdOwotICAgICAgICAgICAgICAgICpwKysgPSBoZXhkaWdpdHNbKHVjcyA+PiAxNikgJiAweDAwMDAwMDBGXTsKLSAgICAgICAgICAgICAgICAqcCsrID0gaGV4ZGlnaXRzWyh1Y3MgPj4gMTIpICYgMHgwMDAwMDAwRl07Ci0gICAgICAgICAgICAgICAgKnArKyA9IGhleGRpZ2l0c1sodWNzID4+IDgpICYgMHgwMDAwMDAwRl07Ci0gICAgICAgICAgICAgICAgKnArKyA9IGhleGRpZ2l0c1sodWNzID4+IDQpICYgMHgwMDAwMDAwRl07Ci0gICAgICAgICAgICAgICAgKnArKyA9IGhleGRpZ2l0c1t1Y3MgJiAweDAwMDAwMDBGXTsKLSAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIC8qIEZhbGwgdGhyb3VnaDogaXNvbGF0ZWQgc3Vycm9nYXRlcyBhcmUgY29waWVkIGFzLWlzICovCi0gICAgICAgICAgICBzLS07Ci0gICAgICAgICAgICBzaXplKys7Ci0gICAgICAgIH0KLSNlbmRpZgogCiAgICAgICAgIC8qIE1hcCAxNi1iaXQgY2hhcmFjdGVycyB0byAnXHV4eHh4JyAqLwogICAgICAgICBpZiAoY2ggPj0gMjU2KSB7CiAgICAgICAgICAgICAqcCsrID0gJ1xcJzsKICAgICAgICAgICAgICpwKysgPSAndSc7Ci0gICAgICAgICAgICAqcCsrID0gaGV4ZGlnaXRzWyhjaCA+PiAxMikgJiAweDAwMEZdOwotICAgICAgICAgICAgKnArKyA9IGhleGRpZ2l0c1soY2ggPj4gOCkgJiAweDAwMEZdOwotICAgICAgICAgICAgKnArKyA9IGhleGRpZ2l0c1soY2ggPj4gNCkgJiAweDAwMEZdOwotICAgICAgICAgICAgKnArKyA9IGhleGRpZ2l0c1tjaCAmIDB4MDAwRl07CisgICAgICAgICAgICAqcCsrID0gUHlfaGV4ZGlnaXRzWyhjaCA+PiAxMikgJiAweDAwMEZdOworICAgICAgICAgICAgKnArKyA9IFB5X2hleGRpZ2l0c1soY2ggPj4gOCkgJiAweDAwMEZdOworICAgICAgICAgICAgKnArKyA9IFB5X2hleGRpZ2l0c1soY2ggPj4gNCkgJiAweDAwMEZdOworICAgICAgICAgICAgKnArKyA9IFB5X2hleGRpZ2l0c1tjaCAmIDB4MDAwRl07CiAgICAgICAgIH0KIAogICAgICAgICAvKiBNYXAgc3BlY2lhbCB3aGl0ZXNwYWNlIHRvICdcdCcsIFxuJywgJ1xyJyAqLwpAQCAtNDEzOCw4ICs2MTg1LDggQEAKICAgICAgICAgZWxzZSBpZiAoY2ggPCAnICcgfHwgY2ggPj0gMHg3RikgewogICAgICAgICAgICAgKnArKyA9ICdcXCc7CiAgICAgICAgICAgICAqcCsrID0gJ3gnOwotICAgICAgICAgICAgKnArKyA9IGhleGRpZ2l0c1soY2ggPj4gNCkgJiAweDAwMEZdOwotICAgICAgICAgICAgKnArKyA9IGhleGRpZ2l0c1tjaCAmIDB4MDAwRl07CisgICAgICAgICAgICAqcCsrID0gUHlfaGV4ZGlnaXRzWyhjaCA+PiA0KSAmIDB4MDAwRl07CisgICAgICAgICAgICAqcCsrID0gUHlfaGV4ZGlnaXRzW2NoICYgMHgwMDBGXTsKICAgICAgICAgfQogCiAgICAgICAgIC8qIENvcHkgZXZlcnl0aGluZyBlbHNlIGFzLWlzICovCkBAIC00MTUzLDMwICs2MjAwLDMxIEBACiAgICAgcmV0dXJuIHJlcHI7CiB9CiAKLVB5T2JqZWN0ICpQeVVuaWNvZGVfQXNVbmljb2RlRXNjYXBlU3RyaW5nKFB5T2JqZWN0ICp1bmljb2RlKQorUHlPYmplY3QgKgorUHlVbmljb2RlX0VuY29kZVVuaWNvZGVFc2NhcGUoY29uc3QgUHlfVU5JQ09ERSAqcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3Qgc2l6ZSkKIHsKLSAgICBQeU9iamVjdCAqczsKLSAgICBpZiAoIVB5VW5pY29kZV9DaGVjayh1bmljb2RlKSkgewotICAgICAgICBQeUVycl9CYWRBcmd1bWVudCgpOworICAgIFB5T2JqZWN0ICpyZXN1bHQ7CisgICAgUHlPYmplY3QgKnRtcCA9IFB5VW5pY29kZV9Gcm9tVW5pY29kZShzLCBzaXplKTsKKyAgICBpZiAodG1wID09IE5VTEwpCiAgICAgICAgIHJldHVybiBOVUxMOwotICAgIH0KLSAgICBzID0gUHlVbmljb2RlX0VuY29kZVVuaWNvZGVFc2NhcGUoUHlVbmljb2RlX0FTX1VOSUNPREUodW5pY29kZSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9HRVRfU0laRSh1bmljb2RlKSk7Ci0gICAgcmV0dXJuIHM7CisgICAgcmVzdWx0ID0gUHlVbmljb2RlX0FzVW5pY29kZUVzY2FwZVN0cmluZyh0bXApOworICAgIFB5X0RFQ1JFRih0bXApOworICAgIHJldHVybiByZXN1bHQ7CiB9CiAKIC8qIC0tLSBSYXcgVW5pY29kZSBFc2NhcGUgQ29kZWMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwogCi1QeU9iamVjdCAqUHlVbmljb2RlX0RlY29kZVJhd1VuaWNvZGVFc2NhcGUoY29uc3QgY2hhciAqcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IHNpemUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZXJyb3JzKQorUHlPYmplY3QgKgorUHlVbmljb2RlX0RlY29kZVJhd1VuaWNvZGVFc2NhcGUoY29uc3QgY2hhciAqcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3Qgc2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmVycm9ycykKIHsKICAgICBjb25zdCBjaGFyICpzdGFydHMgPSBzOwogICAgIFB5X3NzaXplX3Qgc3RhcnRpbnBvczsKICAgICBQeV9zc2l6ZV90IGVuZGlucG9zOwogICAgIFB5X3NzaXplX3Qgb3V0cG9zOwotICAgIFB5VW5pY29kZU9iamVjdCAqdjsKLSAgICBQeV9VTklDT0RFICpwOworICAgIFB5T2JqZWN0ICp2OwogICAgIGNvbnN0IGNoYXIgKmVuZDsKICAgICBjb25zdCBjaGFyICpiczsKICAgICBQeU9iamVjdCAqZXJyb3JIYW5kbGVyID0gTlVMTDsKQEAgLTQxODYsMTIgKzYyMzQsMTIgQEAKICAgICAgICBVbmljb2RlIHN0cmluZywgc28gd2Ugc3RhcnQgd2l0aCBzaXplIGhlcmUgYW5kIHRoZW4gcmVkdWNlIHRoZQogICAgICAgIGxlbmd0aCBhZnRlciBjb252ZXJzaW9uIHRvIHRoZSB0cnVlIHZhbHVlLiAoQnV0IGRlY29kaW5nIGVycm9yCiAgICAgICAgaGFuZGxlciBtaWdodCBoYXZlIHRvIHJlc2l6ZSB0aGUgc3RyaW5nKSAqLwotICAgIHYgPSBfUHlVbmljb2RlX05ldyhzaXplKTsKKyAgICB2ID0gUHlVbmljb2RlX05ldyhzaXplLCAxMjcpOwogICAgIGlmICh2ID09IE5VTEwpCiAgICAgICAgIGdvdG8gb25FcnJvcjsKICAgICBpZiAoc2l6ZSA9PSAwKQotICAgICAgICByZXR1cm4gKFB5T2JqZWN0ICopdjsKLSAgICBwID0gUHlVbmljb2RlX0FTX1VOSUNPREUodik7CisgICAgICAgIHJldHVybiB2OworICAgIG91dHBvcyA9IDA7CiAgICAgZW5kID0gcyArIHNpemU7CiAgICAgd2hpbGUgKHMgPCBlbmQpIHsKICAgICAgICAgdW5zaWduZWQgY2hhciBjOwpAQCAtNDIwMSw3ICs2MjQ5LDggQEAKIAogICAgICAgICAvKiBOb24tZXNjYXBlIGNoYXJhY3RlcnMgYXJlIGludGVycHJldGVkIGFzIFVuaWNvZGUgb3JkaW5hbHMgKi8KICAgICAgICAgaWYgKCpzICE9ICdcXCcpIHsKLSAgICAgICAgICAgICpwKysgPSAodW5zaWduZWQgY2hhcikqcysrOworICAgICAgICAgICAgaWYgKHVuaWNvZGVfcHV0Y2hhcigmdiwgJm91dHBvcywgKHVuc2lnbmVkIGNoYXIpKnMrKykgPCAwKQorICAgICAgICAgICAgICAgIGdvdG8gb25FcnJvcjsKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9CiAgICAgICAgIHN0YXJ0aW5wb3MgPSBzLXN0YXJ0czsKQEAgLTQyMTIsMTkgKzYyNjEsMTkgQEAKICAgICAgICAgZm9yICg7cyA8IGVuZDspIHsKICAgICAgICAgICAgIGlmICgqcyAhPSAnXFwnKQogICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgKnArKyA9ICh1bnNpZ25lZCBjaGFyKSpzKys7CisgICAgICAgICAgICBpZiAodW5pY29kZV9wdXRjaGFyKCZ2LCAmb3V0cG9zLCAodW5zaWduZWQgY2hhcikqcysrKSA8IDApCisgICAgICAgICAgICAgICAgZ290byBvbkVycm9yOwogICAgICAgICB9CiAgICAgICAgIGlmICgoKHMgLSBicykgJiAxKSA9PSAwIHx8CiAgICAgICAgICAgICBzID49IGVuZCB8fAogICAgICAgICAgICAgKCpzICE9ICd1JyAmJiAqcyAhPSAnVScpKSB7CiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgfQotICAgICAgICBwLS07CisgICAgICAgIG91dHBvcy0tOwogICAgICAgICBjb3VudCA9ICpzPT0ndScgPyA0IDogODsKICAgICAgICAgcysrOwogCiAgICAgICAgIC8qIFx1WFhYWCB3aXRoIDQgaGV4IGRpZ2l0cywgXFV4eHh4eHh4eCB3aXRoIDggKi8KLSAgICAgICAgb3V0cG9zID0gcC1QeVVuaWNvZGVfQVNfVU5JQ09ERSh2KTsKICAgICAgICAgZm9yICh4ID0gMCwgaSA9IDA7IGkgPCBjb3VudDsgKytpLCArK3MpIHsKICAgICAgICAgICAgIGMgPSAodW5zaWduZWQgY2hhcikqczsKICAgICAgICAgICAgIGlmICghUHlfSVNYRElHSVQoYykpIHsKQEAgLTQyMzMsNyArNjI4Miw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcnMsICZlcnJvckhhbmRsZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAicmF3dW5pY29kZWVzY2FwZSIsICJ0cnVuY2F0ZWQgXFx1WFhYWCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAmc3RhcnRzLCAmZW5kLCAmc3RhcnRpbnBvcywgJmVuZGlucG9zLCAmZXhjLCAmcywKLSAgICAgICAgICAgICAgICAgICAgICAgICZ2LCAmb3V0cG9zLCAmcCkpCisgICAgICAgICAgICAgICAgICAgICAgICAmdiwgJm91dHBvcykpCiAgICAgICAgICAgICAgICAgICAgIGdvdG8gb25FcnJvcjsKICAgICAgICAgICAgICAgICBnb3RvIG5leHRCeXRlOwogICAgICAgICAgICAgfQpAQCAtNDI0NSwzNyArNjI5NCwyNiBAQAogICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgIHggKz0gMTAgKyBjIC0gJ0EnOwogICAgICAgICB9Ci0gICAgICAgIGlmICh4IDw9IDB4ZmZmZikKLSAgICAgICAgICAgIC8qIFVDUy0yIGNoYXJhY3RlciAqLwotICAgICAgICAgICAgKnArKyA9IChQeV9VTklDT0RFKSB4OwotICAgICAgICBlbHNlIGlmICh4IDw9IDB4MTBmZmZmKSB7Ci0gICAgICAgICAgICAvKiBVQ1MtNCBjaGFyYWN0ZXIuIEVpdGhlciBzdG9yZSBkaXJlY3RseSwgb3IgYXMKLSAgICAgICAgICAgICAgIHN1cnJvZ2F0ZSBwYWlyLiAqLwotI2lmZGVmIFB5X1VOSUNPREVfV0lERQotICAgICAgICAgICAgKnArKyA9IChQeV9VTklDT0RFKSB4OwotI2Vsc2UKLSAgICAgICAgICAgIHggLT0gMHgxMDAwMEw7Ci0gICAgICAgICAgICAqcCsrID0gMHhEODAwICsgKFB5X1VOSUNPREUpICh4ID4+IDEwKTsKLSAgICAgICAgICAgICpwKysgPSAweERDMDAgKyAoUHlfVU5JQ09ERSkgKHggJiAweDAzRkYpOwotI2VuZGlmCisgICAgICAgIGlmICh4IDw9IE1BWF9VTklDT0RFKSB7CisgICAgICAgICAgICBpZiAodW5pY29kZV9wdXRjaGFyKCZ2LCAmb3V0cG9zLCB4KSA8IDApCisgICAgICAgICAgICAgICAgZ290byBvbkVycm9yOwogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgZW5kaW5wb3MgPSBzLXN0YXJ0czsKLSAgICAgICAgICAgIG91dHBvcyA9IHAtUHlVbmljb2RlX0FTX1VOSUNPREUodik7CiAgICAgICAgICAgICBpZiAodW5pY29kZV9kZWNvZGVfY2FsbF9lcnJvcmhhbmRsZXIoCiAgICAgICAgICAgICAgICAgICAgIGVycm9ycywgJmVycm9ySGFuZGxlciwKICAgICAgICAgICAgICAgICAgICAgInJhd3VuaWNvZGVlc2NhcGUiLCAiXFxVeHh4eHh4eHggb3V0IG9mIHJhbmdlIiwKICAgICAgICAgICAgICAgICAgICAgJnN0YXJ0cywgJmVuZCwgJnN0YXJ0aW5wb3MsICZlbmRpbnBvcywgJmV4YywgJnMsCi0gICAgICAgICAgICAgICAgICAgICZ2LCAmb3V0cG9zLCAmcCkpCisgICAgICAgICAgICAgICAgICAgICZ2LCAmb3V0cG9zKSkKICAgICAgICAgICAgICAgICBnb3RvIG9uRXJyb3I7CiAgICAgICAgIH0KICAgICAgIG5leHRCeXRlOgogICAgICAgICA7CiAgICAgfQotICAgIGlmIChfUHlVbmljb2RlX1Jlc2l6ZSgmdiwgcCAtIFB5VW5pY29kZV9BU19VTklDT0RFKHYpKSA8IDApCisgICAgaWYgKHVuaWNvZGVfcmVzaXplKCZ2LCBvdXRwb3MpIDwgMCkKICAgICAgICAgZ290byBvbkVycm9yOwogICAgIFB5X1hERUNSRUYoZXJyb3JIYW5kbGVyKTsKICAgICBQeV9YREVDUkVGKGV4Yyk7Ci0gICAgcmV0dXJuIChQeU9iamVjdCAqKXY7CisgICAgcmV0dXJuIHVuaWNvZGVfcmVzdWx0KHYpOwogCiAgIG9uRXJyb3I6CiAgICAgUHlfWERFQ1JFRih2KTsKQEAgLTQyODQsMTQ0ICs2MzIyLDEzOSBAQAogICAgIHJldHVybiBOVUxMOwogfQogCi1QeU9iamVjdCAqUHlVbmljb2RlX0VuY29kZVJhd1VuaWNvZGVFc2NhcGUoY29uc3QgUHlfVU5JQ09ERSAqcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IHNpemUpCisKK1B5T2JqZWN0ICoKK1B5VW5pY29kZV9Bc1Jhd1VuaWNvZGVFc2NhcGVTdHJpbmcoUHlPYmplY3QgKnVuaWNvZGUpCiB7CiAgICAgUHlPYmplY3QgKnJlcHI7CiAgICAgY2hhciAqcDsKICAgICBjaGFyICpxOworICAgIFB5X3NzaXplX3QgZXhwYW5kc2l6ZSwgcG9zOworICAgIGludCBraW5kOworICAgIHZvaWQgKmRhdGE7CisgICAgUHlfc3NpemVfdCBsZW47CiAKLSNpZmRlZiBQeV9VTklDT0RFX1dJREUKLSAgICBjb25zdCBQeV9zc2l6ZV90IGV4cGFuZHNpemUgPSAxMDsKLSNlbHNlCi0gICAgY29uc3QgUHlfc3NpemVfdCBleHBhbmRzaXplID0gNjsKLSNlbmRpZgorICAgIGlmICghUHlVbmljb2RlX0NoZWNrKHVuaWNvZGUpKSB7CisgICAgICAgIFB5RXJyX0JhZEFyZ3VtZW50KCk7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKyAgICBpZiAoUHlVbmljb2RlX1JFQURZKHVuaWNvZGUpID09IC0xKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBraW5kID0gUHlVbmljb2RlX0tJTkQodW5pY29kZSk7CisgICAgZGF0YSA9IFB5VW5pY29kZV9EQVRBKHVuaWNvZGUpOworICAgIGxlbiA9IFB5VW5pY29kZV9HRVRfTEVOR1RIKHVuaWNvZGUpOworICAgIC8qIDQgYnl0ZSBjaGFyYWN0ZXJzIGNhbiB0YWtlIHVwIDEwIGJ5dGVzLCAyIGJ5dGUgY2hhcmFjdGVycyBjYW4gdGFrZSB1cCA2CisgICAgICAgYnl0ZXMsIGFuZCAxIGJ5dGUgY2hhcmFjdGVycyA0LiAqLworICAgIGV4cGFuZHNpemUgPSBraW5kICogMiArIDI7CiAKLSAgICBpZiAoc2l6ZSA+IFBZX1NTSVpFX1RfTUFYIC8gZXhwYW5kc2l6ZSkKKyAgICBpZiAobGVuID4gUFlfU1NJWkVfVF9NQVggLyBleHBhbmRzaXplKQogICAgICAgICByZXR1cm4gUHlFcnJfTm9NZW1vcnkoKTsKIAotICAgIHJlcHIgPSBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplKE5VTEwsIGV4cGFuZHNpemUgKiBzaXplKTsKKyAgICByZXByID0gUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZShOVUxMLCBleHBhbmRzaXplICogbGVuKTsKICAgICBpZiAocmVwciA9PSBOVUxMKQogICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBpZiAoc2l6ZSA9PSAwKQorICAgIGlmIChsZW4gPT0gMCkKICAgICAgICAgcmV0dXJuIHJlcHI7CiAKICAgICBwID0gcSA9IFB5Qnl0ZXNfQVNfU1RSSU5HKHJlcHIpOwotICAgIHdoaWxlIChzaXplLS0gPiAwKSB7Ci0gICAgICAgIFB5X1VOSUNPREUgY2ggPSAqcysrOwotI2lmZGVmIFB5X1VOSUNPREVfV0lERQorICAgIGZvciAocG9zID0gMDsgcG9zIDwgbGVuOyBwb3MrKykgeworICAgICAgICBQeV9VQ1M0IGNoID0gUHlVbmljb2RlX1JFQUQoa2luZCwgZGF0YSwgcG9zKTsKICAgICAgICAgLyogTWFwIDMyLWJpdCBjaGFyYWN0ZXJzIHRvICdcVXh4eHh4eHh4JyAqLwogICAgICAgICBpZiAoY2ggPj0gMHgxMDAwMCkgeworICAgICAgICAgICAgYXNzZXJ0KGNoIDw9IE1BWF9VTklDT0RFKTsKICAgICAgICAgICAgICpwKysgPSAnXFwnOwogICAgICAgICAgICAgKnArKyA9ICdVJzsKLSAgICAgICAgICAgICpwKysgPSBoZXhkaWdpdHNbKGNoID4+IDI4KSAmIDB4Zl07Ci0gICAgICAgICAgICAqcCsrID0gaGV4ZGlnaXRzWyhjaCA+PiAyNCkgJiAweGZdOwotICAgICAgICAgICAgKnArKyA9IGhleGRpZ2l0c1soY2ggPj4gMjApICYgMHhmXTsKLSAgICAgICAgICAgICpwKysgPSBoZXhkaWdpdHNbKGNoID4+IDE2KSAmIDB4Zl07Ci0gICAgICAgICAgICAqcCsrID0gaGV4ZGlnaXRzWyhjaCA+PiAxMikgJiAweGZdOwotICAgICAgICAgICAgKnArKyA9IGhleGRpZ2l0c1soY2ggPj4gOCkgJiAweGZdOwotICAgICAgICAgICAgKnArKyA9IGhleGRpZ2l0c1soY2ggPj4gNCkgJiAweGZdOwotICAgICAgICAgICAgKnArKyA9IGhleGRpZ2l0c1tjaCAmIDE1XTsKKyAgICAgICAgICAgICpwKysgPSBQeV9oZXhkaWdpdHNbKGNoID4+IDI4KSAmIDB4Zl07CisgICAgICAgICAgICAqcCsrID0gUHlfaGV4ZGlnaXRzWyhjaCA+PiAyNCkgJiAweGZdOworICAgICAgICAgICAgKnArKyA9IFB5X2hleGRpZ2l0c1soY2ggPj4gMjApICYgMHhmXTsKKyAgICAgICAgICAgICpwKysgPSBQeV9oZXhkaWdpdHNbKGNoID4+IDE2KSAmIDB4Zl07CisgICAgICAgICAgICAqcCsrID0gUHlfaGV4ZGlnaXRzWyhjaCA+PiAxMikgJiAweGZdOworICAgICAgICAgICAgKnArKyA9IFB5X2hleGRpZ2l0c1soY2ggPj4gOCkgJiAweGZdOworICAgICAgICAgICAgKnArKyA9IFB5X2hleGRpZ2l0c1soY2ggPj4gNCkgJiAweGZdOworICAgICAgICAgICAgKnArKyA9IFB5X2hleGRpZ2l0c1tjaCAmIDE1XTsKICAgICAgICAgfQotICAgICAgICBlbHNlCi0jZWxzZQotICAgICAgICAgICAgLyogTWFwIFVURi0xNiBzdXJyb2dhdGUgcGFpcnMgdG8gJ1xVMDB4eHh4eHgnICovCi0gICAgICAgICAgICBpZiAoY2ggPj0gMHhEODAwICYmIGNoIDwgMHhEQzAwKSB7Ci0gICAgICAgICAgICAgICAgUHlfVU5JQ09ERSBjaDI7Ci0gICAgICAgICAgICAgICAgUHlfVUNTNCB1Y3M7Ci0KLSAgICAgICAgICAgICAgICBjaDIgPSAqcysrOwotICAgICAgICAgICAgICAgIHNpemUtLTsKLSAgICAgICAgICAgICAgICBpZiAoY2gyID49IDB4REMwMCAmJiBjaDIgPD0gMHhERkZGKSB7Ci0gICAgICAgICAgICAgICAgICAgIHVjcyA9ICgoKGNoICYgMHgwM0ZGKSA8PCAxMCkgfCAoY2gyICYgMHgwM0ZGKSkgKyAweDAwMDEwMDAwOwotICAgICAgICAgICAgICAgICAgICAqcCsrID0gJ1xcJzsKLSAgICAgICAgICAgICAgICAgICAgKnArKyA9ICdVJzsKLSAgICAgICAgICAgICAgICAgICAgKnArKyA9IGhleGRpZ2l0c1sodWNzID4+IDI4KSAmIDB4Zl07Ci0gICAgICAgICAgICAgICAgICAgICpwKysgPSBoZXhkaWdpdHNbKHVjcyA+PiAyNCkgJiAweGZdOwotICAgICAgICAgICAgICAgICAgICAqcCsrID0gaGV4ZGlnaXRzWyh1Y3MgPj4gMjApICYgMHhmXTsKLSAgICAgICAgICAgICAgICAgICAgKnArKyA9IGhleGRpZ2l0c1sodWNzID4+IDE2KSAmIDB4Zl07Ci0gICAgICAgICAgICAgICAgICAgICpwKysgPSBoZXhkaWdpdHNbKHVjcyA+PiAxMikgJiAweGZdOwotICAgICAgICAgICAgICAgICAgICAqcCsrID0gaGV4ZGlnaXRzWyh1Y3MgPj4gOCkgJiAweGZdOwotICAgICAgICAgICAgICAgICAgICAqcCsrID0gaGV4ZGlnaXRzWyh1Y3MgPj4gNCkgJiAweGZdOwotICAgICAgICAgICAgICAgICAgICAqcCsrID0gaGV4ZGlnaXRzW3VjcyAmIDB4Zl07Ci0gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAvKiBGYWxsIHRocm91Z2g6IGlzb2xhdGVkIHN1cnJvZ2F0ZXMgYXJlIGNvcGllZCBhcy1pcyAqLwotICAgICAgICAgICAgICAgIHMtLTsKLSAgICAgICAgICAgICAgICBzaXplKys7Ci0gICAgICAgICAgICB9Ci0jZW5kaWYKICAgICAgICAgLyogTWFwIDE2LWJpdCBjaGFyYWN0ZXJzIHRvICdcdXh4eHgnICovCi0gICAgICAgIGlmIChjaCA+PSAyNTYpIHsKKyAgICAgICAgZWxzZSBpZiAoY2ggPj0gMjU2KSB7CiAgICAgICAgICAgICAqcCsrID0gJ1xcJzsKICAgICAgICAgICAgICpwKysgPSAndSc7Ci0gICAgICAgICAgICAqcCsrID0gaGV4ZGlnaXRzWyhjaCA+PiAxMikgJiAweGZdOwotICAgICAgICAgICAgKnArKyA9IGhleGRpZ2l0c1soY2ggPj4gOCkgJiAweGZdOwotICAgICAgICAgICAgKnArKyA9IGhleGRpZ2l0c1soY2ggPj4gNCkgJiAweGZdOwotICAgICAgICAgICAgKnArKyA9IGhleGRpZ2l0c1tjaCAmIDE1XTsKKyAgICAgICAgICAgICpwKysgPSBQeV9oZXhkaWdpdHNbKGNoID4+IDEyKSAmIDB4Zl07CisgICAgICAgICAgICAqcCsrID0gUHlfaGV4ZGlnaXRzWyhjaCA+PiA4KSAmIDB4Zl07CisgICAgICAgICAgICAqcCsrID0gUHlfaGV4ZGlnaXRzWyhjaCA+PiA0KSAmIDB4Zl07CisgICAgICAgICAgICAqcCsrID0gUHlfaGV4ZGlnaXRzW2NoICYgMTVdOwogICAgICAgICB9CiAgICAgICAgIC8qIENvcHkgZXZlcnl0aGluZyBlbHNlIGFzLWlzICovCiAgICAgICAgIGVsc2UKICAgICAgICAgICAgICpwKysgPSAoY2hhcikgY2g7CiAgICAgfQotICAgIHNpemUgPSBwIC0gcTsKIAotICAgIGFzc2VydChzaXplID4gMCk7Ci0gICAgaWYgKF9QeUJ5dGVzX1Jlc2l6ZSgmcmVwciwgc2l6ZSkgPCAwKQorICAgIGFzc2VydChwID4gcSk7CisgICAgaWYgKF9QeUJ5dGVzX1Jlc2l6ZSgmcmVwciwgcCAtIHEpIDwgMCkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgcmV0dXJuIHJlcHI7CiB9CiAKLVB5T2JqZWN0ICpQeVVuaWNvZGVfQXNSYXdVbmljb2RlRXNjYXBlU3RyaW5nKFB5T2JqZWN0ICp1bmljb2RlKQorUHlPYmplY3QgKgorUHlVbmljb2RlX0VuY29kZVJhd1VuaWNvZGVFc2NhcGUoY29uc3QgUHlfVU5JQ09ERSAqcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3Qgc2l6ZSkKIHsKLSAgICBQeU9iamVjdCAqczsKLSAgICBpZiAoIVB5VW5pY29kZV9DaGVjayh1bmljb2RlKSkgewotICAgICAgICBQeUVycl9CYWRBcmd1bWVudCgpOworICAgIFB5T2JqZWN0ICpyZXN1bHQ7CisgICAgUHlPYmplY3QgKnRtcCA9IFB5VW5pY29kZV9Gcm9tVW5pY29kZShzLCBzaXplKTsKKyAgICBpZiAodG1wID09IE5VTEwpCiAgICAgICAgIHJldHVybiBOVUxMOwotICAgIH0KLSAgICBzID0gUHlVbmljb2RlX0VuY29kZVJhd1VuaWNvZGVFc2NhcGUoUHlVbmljb2RlX0FTX1VOSUNPREUodW5pY29kZSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9HRVRfU0laRSh1bmljb2RlKSk7Ci0KLSAgICByZXR1cm4gczsKKyAgICByZXN1bHQgPSBQeVVuaWNvZGVfQXNSYXdVbmljb2RlRXNjYXBlU3RyaW5nKHRtcCk7CisgICAgUHlfREVDUkVGKHRtcCk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAogLyogLS0tIFVuaWNvZGUgSW50ZXJuYWwgQ29kZWMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwogCi1QeU9iamVjdCAqX1B5VW5pY29kZV9EZWNvZGVVbmljb2RlSW50ZXJuYWwoY29uc3QgY2hhciAqcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IHNpemUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZXJyb3JzKQorUHlPYmplY3QgKgorX1B5VW5pY29kZV9EZWNvZGVVbmljb2RlSW50ZXJuYWwoY29uc3QgY2hhciAqcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3Qgc2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmVycm9ycykKIHsKICAgICBjb25zdCBjaGFyICpzdGFydHMgPSBzOwogICAgIFB5X3NzaXplX3Qgc3RhcnRpbnBvczsKICAgICBQeV9zc2l6ZV90IGVuZGlucG9zOwogICAgIFB5X3NzaXplX3Qgb3V0cG9zOwotICAgIFB5VW5pY29kZU9iamVjdCAqdjsKLSAgICBQeV9VTklDT0RFICpwOworICAgIFB5T2JqZWN0ICp2OwogICAgIGNvbnN0IGNoYXIgKmVuZDsKICAgICBjb25zdCBjaGFyICpyZWFzb247CiAgICAgUHlPYmplY3QgKmVycm9ySGFuZGxlciA9IE5VTEw7CiAgICAgUHlPYmplY3QgKmV4YyA9IE5VTEw7CiAKLSNpZmRlZiBQeV9VTklDT0RFX1dJREUKLSAgICBQeV9VTklDT0RFIHVuaW1heCA9IFB5VW5pY29kZV9HZXRNYXgoKTsKLSNlbmRpZgorICAgIGlmIChQeUVycl9XYXJuRXgoUHlFeGNfRGVwcmVjYXRpb25XYXJuaW5nLAorICAgICAgICAgICAgICAgICAgICAgInVuaWNvZGVfaW50ZXJuYWwgY29kZWMgaGFzIGJlZW4gZGVwcmVjYXRlZCIsCisgICAgICAgICAgICAgICAgICAgICAxKSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CiAKICAgICAvKiBYWFggb3ZlcmZsb3cgZGV0ZWN0aW9uIG1pc3NpbmcgKi8KLSAgICB2ID0gX1B5VW5pY29kZV9OZXcoKHNpemUrUHlfVU5JQ09ERV9TSVpFLTEpLyBQeV9VTklDT0RFX1NJWkUpOworICAgIHYgPSBQeVVuaWNvZGVfTmV3KChzaXplK1B5X1VOSUNPREVfU0laRS0xKS8gUHlfVU5JQ09ERV9TSVpFLCAxMjcpOwogICAgIGlmICh2ID09IE5VTEwpCiAgICAgICAgIGdvdG8gb25FcnJvcjsKLSAgICBpZiAoUHlVbmljb2RlX0dldFNpemUoKFB5T2JqZWN0ICopdikgPT0gMCkKLSAgICAgICAgcmV0dXJuIChQeU9iamVjdCAqKXY7Ci0gICAgcCA9IFB5VW5pY29kZV9BU19VTklDT0RFKHYpOworICAgIGlmIChQeVVuaWNvZGVfR0VUX0xFTkdUSCh2KSA9PSAwKQorICAgICAgICByZXR1cm4gdjsKKyAgICBvdXRwb3MgPSAwOwogICAgIGVuZCA9IHMgKyBzaXplOwogCiAgICAgd2hpbGUgKHMgPCBlbmQpIHsKLSAgICAgICAgbWVtY3B5KHAsIHMsIHNpemVvZihQeV9VTklDT0RFKSk7CisgICAgICAgIFB5X1VOSUNPREUgdWNoOworICAgICAgICBQeV9VQ1M0IGNoOworICAgICAgICAvKiBXZSBjb3B5IHRoZSByYXcgcmVwcmVzZW50YXRpb24gb25lIGJ5dGUgYXQgYSB0aW1lIGJlY2F1c2UgdGhlCisgICAgICAgICAgIHBvaW50ZXIgbWF5IGJlIHVuYWxpZ25lZCAoc2VlIHRlc3RfY29kZWNjYWxsYmFja3MpLiAqLworICAgICAgICAoKGNoYXIgKikgJnVjaClbMF0gPSBzWzBdOworICAgICAgICAoKGNoYXIgKikgJnVjaClbMV0gPSBzWzFdOworI2lmZGVmIFB5X1VOSUNPREVfV0lERQorICAgICAgICAoKGNoYXIgKikgJnVjaClbMl0gPSBzWzJdOworICAgICAgICAoKGNoYXIgKikgJnVjaClbM10gPSBzWzNdOworI2VuZGlmCisgICAgICAgIGNoID0gdWNoOworCiAgICAgICAgIC8qIFdlIGhhdmUgdG8gc2FuaXR5IGNoZWNrIHRoZSByYXcgZGF0YSwgb3RoZXJ3aXNlIGRvb20gbG9vbXMgZm9yCiAgICAgICAgICAgIHNvbWUgbWFsZm9ybWVkIFVDUy00IGRhdGEuICovCiAgICAgICAgIGlmICgKICNpZmRlZiBQeV9VTklDT0RFX1dJREUKLSAgICAgICAgICAgICpwID4gdW5pbWF4IHx8ICpwIDwgMCB8fAorICAgICAgICAgICAgY2ggPiAweDEwZmZmZiB8fAogI2VuZGlmCiAgICAgICAgICAgICBlbmQtcyA8IFB5X1VOSUNPREVfU0laRQogICAgICAgICAgICAgKQpAQCAtNDQzNSwyNiArNjQ2OCwzOSBAQAogICAgICAgICAgICAgICAgIGVuZGlucG9zID0gcyAtIHN0YXJ0cyArIFB5X1VOSUNPREVfU0laRTsKICAgICAgICAgICAgICAgICByZWFzb24gPSAiaWxsZWdhbCBjb2RlIHBvaW50ICg+IDB4MTBGRkZGKSI7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBvdXRwb3MgPSBwIC0gUHlVbmljb2RlX0FTX1VOSUNPREUodik7CiAgICAgICAgICAgICBpZiAodW5pY29kZV9kZWNvZGVfY2FsbF9lcnJvcmhhbmRsZXIoCiAgICAgICAgICAgICAgICAgICAgIGVycm9ycywgJmVycm9ySGFuZGxlciwKICAgICAgICAgICAgICAgICAgICAgInVuaWNvZGVfaW50ZXJuYWwiLCByZWFzb24sCiAgICAgICAgICAgICAgICAgICAgICZzdGFydHMsICZlbmQsICZzdGFydGlucG9zLCAmZW5kaW5wb3MsICZleGMsICZzLAotICAgICAgICAgICAgICAgICAgICAmdiwgJm91dHBvcywgJnApKSB7CisgICAgICAgICAgICAgICAgICAgICZ2LCAmb3V0cG9zKSkKICAgICAgICAgICAgICAgICBnb3RvIG9uRXJyb3I7CisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgfQorCisgICAgICAgIHMgKz0gUHlfVU5JQ09ERV9TSVpFOworI2lmbmRlZiBQeV9VTklDT0RFX1dJREUKKyAgICAgICAgaWYgKFB5X1VOSUNPREVfSVNfSElHSF9TVVJST0dBVEUoY2gpICYmIHMgPCBlbmQpCisgICAgICAgIHsKKyAgICAgICAgICAgIFB5X1VOSUNPREUgdWNoMjsKKyAgICAgICAgICAgICgoY2hhciAqKSAmdWNoMilbMF0gPSBzWzBdOworICAgICAgICAgICAgKChjaGFyICopICZ1Y2gyKVsxXSA9IHNbMV07CisgICAgICAgICAgICBpZiAoUHlfVU5JQ09ERV9JU19MT1dfU1VSUk9HQVRFKHVjaDIpKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGNoID0gUHlfVU5JQ09ERV9KT0lOX1NVUlJPR0FURVModWNoLCB1Y2gyKTsKKyAgICAgICAgICAgICAgICBzICs9IFB5X1VOSUNPREVfU0laRTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQotICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgIHArKzsKLSAgICAgICAgICAgIHMgKz0gUHlfVU5JQ09ERV9TSVpFOwotICAgICAgICB9CisjZW5kaWYKKworICAgICAgICBpZiAodW5pY29kZV9wdXRjaGFyKCZ2LCAmb3V0cG9zLCBjaCkgPCAwKQorICAgICAgICAgICAgZ290byBvbkVycm9yOwogICAgIH0KIAotICAgIGlmIChfUHlVbmljb2RlX1Jlc2l6ZSgmdiwgcCAtIFB5VW5pY29kZV9BU19VTklDT0RFKHYpKSA8IDApCisgICAgaWYgKHVuaWNvZGVfcmVzaXplKCZ2LCBvdXRwb3MpIDwgMCkKICAgICAgICAgZ290byBvbkVycm9yOwogICAgIFB5X1hERUNSRUYoZXJyb3JIYW5kbGVyKTsKICAgICBQeV9YREVDUkVGKGV4Yyk7Ci0gICAgcmV0dXJuIChQeU9iamVjdCAqKXY7CisgICAgcmV0dXJuIHVuaWNvZGVfcmVzdWx0KHYpOwogCiAgIG9uRXJyb3I6CiAgICAgUHlfWERFQ1JFRih2KTsKQEAgLTQ0NjUsNTcgKzY1MTEsMjcgQEAKIAogLyogLS0tIExhdGluLTEgQ29kZWMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCiAKLVB5T2JqZWN0ICpQeVVuaWNvZGVfRGVjb2RlTGF0aW4xKGNvbnN0IGNoYXIgKnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IHNpemUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICplcnJvcnMpCitQeU9iamVjdCAqCitQeVVuaWNvZGVfRGVjb2RlTGF0aW4xKGNvbnN0IGNoYXIgKnMsCisgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3Qgc2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZXJyb3JzKQogewotICAgIFB5VW5pY29kZU9iamVjdCAqdjsKLSAgICBQeV9VTklDT0RFICpwOwotICAgIGNvbnN0IGNoYXIgKmUsICp1bnJvbGxlZF9lbmQ7Ci0KICAgICAvKiBMYXRpbi0xIGlzIGVxdWl2YWxlbnQgdG8gdGhlIGZpcnN0IDI1NiBvcmRpbmFscyBpbiBVbmljb2RlLiAqLwotICAgIGlmIChzaXplID09IDEpIHsKLSAgICAgICAgUHlfVU5JQ09ERSByID0gKih1bnNpZ25lZCBjaGFyKilzOwotICAgICAgICByZXR1cm4gUHlVbmljb2RlX0Zyb21Vbmljb2RlKCZyLCAxKTsKLSAgICB9Ci0KLSAgICB2ID0gX1B5VW5pY29kZV9OZXcoc2l6ZSk7Ci0gICAgaWYgKHYgPT0gTlVMTCkKLSAgICAgICAgZ290byBvbkVycm9yOwotICAgIGlmIChzaXplID09IDApCi0gICAgICAgIHJldHVybiAoUHlPYmplY3QgKil2OwotICAgIHAgPSBQeVVuaWNvZGVfQVNfVU5JQ09ERSh2KTsKLSAgICBlID0gcyArIHNpemU7Ci0gICAgLyogVW5yb2xsaW5nIHRoZSBjb3B5IG1ha2VzIGl0IG11Y2ggZmFzdGVyIGJ5IHJlZHVjaW5nIHRoZSBsb29waW5nCi0gICAgICAgb3ZlcmhlYWQuIFRoaXMgaXMgc2ltaWxhciB0byB3aGF0IG1hbnkgbWVtY3B5KCkgaW1wbGVtZW50YXRpb25zIGRvLiAqLwotICAgIHVucm9sbGVkX2VuZCA9IGUgLSA0OwotICAgIHdoaWxlIChzIDwgdW5yb2xsZWRfZW5kKSB7Ci0gICAgICAgIHBbMF0gPSAodW5zaWduZWQgY2hhcikgc1swXTsKLSAgICAgICAgcFsxXSA9ICh1bnNpZ25lZCBjaGFyKSBzWzFdOwotICAgICAgICBwWzJdID0gKHVuc2lnbmVkIGNoYXIpIHNbMl07Ci0gICAgICAgIHBbM10gPSAodW5zaWduZWQgY2hhcikgc1szXTsKLSAgICAgICAgcyArPSA0OwotICAgICAgICBwICs9IDQ7Ci0gICAgfQotICAgIHdoaWxlIChzIDwgZSkKLSAgICAgICAgKnArKyA9ICh1bnNpZ25lZCBjaGFyKSAqcysrOwotICAgIHJldHVybiAoUHlPYmplY3QgKil2OwotCi0gIG9uRXJyb3I6Ci0gICAgUHlfWERFQ1JFRih2KTsKLSAgICByZXR1cm4gTlVMTDsKKyAgICByZXR1cm4gX1B5VW5pY29kZV9Gcm9tVUNTMSgodW5zaWduZWQgY2hhciopcywgc2l6ZSk7CiB9CiAKIC8qIGNyZWF0ZSBvciBhZGp1c3QgYSBVbmljb2RlRW5jb2RlRXJyb3IgKi8KLXN0YXRpYyB2b2lkIG1ha2VfZW5jb2RlX2V4Y2VwdGlvbihQeU9iamVjdCAqKmV4Y2VwdGlvbk9iamVjdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICplbmNvZGluZywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBQeV9VTklDT0RFICp1bmljb2RlLCBQeV9zc2l6ZV90IHNpemUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBzdGFydHBvcywgUHlfc3NpemVfdCBlbmRwb3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqcmVhc29uKQorc3RhdGljIHZvaWQKK21ha2VfZW5jb2RlX2V4Y2VwdGlvbihQeU9iamVjdCAqKmV4Y2VwdGlvbk9iamVjdCwKKyAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICplbmNvZGluZywKKyAgICAgICAgICAgICAgICAgICAgICBQeU9iamVjdCAqdW5pY29kZSwKKyAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IHN0YXJ0cG9zLCBQeV9zc2l6ZV90IGVuZHBvcywKKyAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpyZWFzb24pCiB7CiAgICAgaWYgKCpleGNlcHRpb25PYmplY3QgPT0gTlVMTCkgewotICAgICAgICAqZXhjZXB0aW9uT2JqZWN0ID0gUHlVbmljb2RlRW5jb2RlRXJyb3JfQ3JlYXRlKAotICAgICAgICAgICAgZW5jb2RpbmcsIHVuaWNvZGUsIHNpemUsIHN0YXJ0cG9zLCBlbmRwb3MsIHJlYXNvbik7CisgICAgICAgICpleGNlcHRpb25PYmplY3QgPSBQeU9iamVjdF9DYWxsRnVuY3Rpb24oCisgICAgICAgICAgICBQeUV4Y19Vbmljb2RlRW5jb2RlRXJyb3IsICJzT25ucyIsCisgICAgICAgICAgICBlbmNvZGluZywgdW5pY29kZSwgc3RhcnRwb3MsIGVuZHBvcywgcmVhc29uKTsKICAgICB9CiAgICAgZWxzZSB7CiAgICAgICAgIGlmIChQeVVuaWNvZGVFbmNvZGVFcnJvcl9TZXRTdGFydCgqZXhjZXB0aW9uT2JqZWN0LCBzdGFydHBvcykpCkBAIC00NTMyLDE0ICs2NTQ4LDE1IEBACiB9CiAKIC8qIHJhaXNlcyBhIFVuaWNvZGVFbmNvZGVFcnJvciAqLwotc3RhdGljIHZvaWQgcmFpc2VfZW5jb2RlX2V4Y2VwdGlvbihQeU9iamVjdCAqKmV4Y2VwdGlvbk9iamVjdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZW5jb2RpbmcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFB5X1VOSUNPREUgKnVuaWNvZGUsIFB5X3NzaXplX3Qgc2l6ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBzdGFydHBvcywgUHlfc3NpemVfdCBlbmRwb3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKnJlYXNvbikKK3N0YXRpYyB2b2lkCityYWlzZV9lbmNvZGVfZXhjZXB0aW9uKFB5T2JqZWN0ICoqZXhjZXB0aW9uT2JqZWN0LAorICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICplbmNvZGluZywKKyAgICAgICAgICAgICAgICAgICAgICAgUHlPYmplY3QgKnVuaWNvZGUsCisgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3Qgc3RhcnRwb3MsIFB5X3NzaXplX3QgZW5kcG9zLAorICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpyZWFzb24pCiB7CiAgICAgbWFrZV9lbmNvZGVfZXhjZXB0aW9uKGV4Y2VwdGlvbk9iamVjdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgZW5jb2RpbmcsIHVuaWNvZGUsIHNpemUsIHN0YXJ0cG9zLCBlbmRwb3MsIHJlYXNvbik7CisgICAgICAgICAgICAgICAgICAgICAgICAgIGVuY29kaW5nLCB1bmljb2RlLCBzdGFydHBvcywgZW5kcG9zLCByZWFzb24pOwogICAgIGlmICgqZXhjZXB0aW9uT2JqZWN0ICE9IE5VTEwpCiAgICAgICAgIFB5Q29kZWNfU3RyaWN0RXJyb3JzKCpleGNlcHRpb25PYmplY3QpOwogfQpAQCAtNDU0OCwxNSArNjU2NSwxNiBAQAogICAgYnVpbGQgYXJndW1lbnRzLCBjYWxsIHRoZSBjYWxsYmFjayBhbmQgY2hlY2sgdGhlIGFyZ3VtZW50cywKICAgIHB1dCB0aGUgcmVzdWx0IGludG8gbmV3cG9zIGFuZCByZXR1cm4gdGhlIHJlcGxhY2VtZW50IHN0cmluZywgd2hpY2gKICAgIGhhcyB0byBiZSBmcmVlZCBieSB0aGUgY2FsbGVyICovCi1zdGF0aWMgUHlPYmplY3QgKnVuaWNvZGVfZW5jb2RlX2NhbGxfZXJyb3JoYW5kbGVyKGNvbnN0IGNoYXIgKmVycm9ycywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlPYmplY3QgKiplcnJvckhhbmRsZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmVuY29kaW5nLCBjb25zdCBjaGFyICpyZWFzb24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFB5X1VOSUNPREUgKnVuaWNvZGUsIFB5X3NzaXplX3Qgc2l6ZSwgUHlPYmplY3QgKipleGNlcHRpb25PYmplY3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3Qgc3RhcnRwb3MsIFB5X3NzaXplX3QgZW5kcG9zLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90ICpuZXdwb3MpCitzdGF0aWMgUHlPYmplY3QgKgordW5pY29kZV9lbmNvZGVfY2FsbF9lcnJvcmhhbmRsZXIoY29uc3QgY2hhciAqZXJyb3JzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlPYmplY3QgKiplcnJvckhhbmRsZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICplbmNvZGluZywgY29uc3QgY2hhciAqcmVhc29uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlPYmplY3QgKnVuaWNvZGUsIFB5T2JqZWN0ICoqZXhjZXB0aW9uT2JqZWN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBzdGFydHBvcywgUHlfc3NpemVfdCBlbmRwb3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90ICpuZXdwb3MpCiB7CiAgICAgc3RhdGljIGNoYXIgKmFyZ3BhcnNlID0gIk9uO2VuY29kaW5nIGVycm9yIGhhbmRsZXIgbXVzdCByZXR1cm4gKHN0ci9ieXRlcywgaW50KSB0dXBsZSI7Ci0KKyAgICBQeV9zc2l6ZV90IGxlbjsKICAgICBQeU9iamVjdCAqcmVzdHVwbGU7CiAgICAgUHlPYmplY3QgKnJlc3VuaWNvZGU7CiAKQEAgLTQ1NjYsOCArNjU4NCwxMiBAQAogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogCisgICAgaWYgKFB5VW5pY29kZV9SRUFEWSh1bmljb2RlKSA9PSAtMSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgbGVuID0gUHlVbmljb2RlX0dFVF9MRU5HVEgodW5pY29kZSk7CisKICAgICBtYWtlX2VuY29kZV9leGNlcHRpb24oZXhjZXB0aW9uT2JqZWN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICBlbmNvZGluZywgdW5pY29kZSwgc2l6ZSwgc3RhcnRwb3MsIGVuZHBvcywgcmVhc29uKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgZW5jb2RpbmcsIHVuaWNvZGUsIHN0YXJ0cG9zLCBlbmRwb3MsIHJlYXNvbik7CiAgICAgaWYgKCpleGNlcHRpb25PYmplY3QgPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKQEAgLTQ1OTEsOCArNjYxMyw4IEBACiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KICAgICBpZiAoKm5ld3BvczwwKQotICAgICAgICAqbmV3cG9zID0gc2l6ZSsqbmV3cG9zOwotICAgIGlmICgqbmV3cG9zPDAgfHwgKm5ld3Bvcz5zaXplKSB7CisgICAgICAgICpuZXdwb3MgPSBsZW4gKyAqbmV3cG9zOworICAgIGlmICgqbmV3cG9zPDAgfHwgKm5ld3Bvcz5sZW4pIHsKICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX0luZGV4RXJyb3IsICJwb3NpdGlvbiAlemQgZnJvbSBlcnJvciBoYW5kbGVyIG91dCBvZiBib3VuZHMiLCAqbmV3cG9zKTsKICAgICAgICAgUHlfREVDUkVGKHJlc3R1cGxlKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CkBAIC00NjAyLDE4ICs2NjI0LDE3IEBACiAgICAgcmV0dXJuIHJlc3VuaWNvZGU7CiB9CiAKLXN0YXRpYyBQeU9iamVjdCAqdW5pY29kZV9lbmNvZGVfdWNzMShjb25zdCBQeV9VTklDT0RFICpwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3Qgc2l6ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICplcnJvcnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGxpbWl0KQorc3RhdGljIFB5T2JqZWN0ICoKK3VuaWNvZGVfZW5jb2RlX3VjczEoUHlPYmplY3QgKnVuaWNvZGUsCisgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmVycm9ycywKKyAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGxpbWl0KQogeworICAgIC8qIGlucHV0IHN0YXRlICovCisgICAgUHlfc3NpemVfdCBwb3M9MCwgc2l6ZTsKKyAgICBpbnQga2luZDsKKyAgICB2b2lkICpkYXRhOwogICAgIC8qIG91dHB1dCBvYmplY3QgKi8KICAgICBQeU9iamVjdCAqcmVzOwotICAgIC8qIHBvaW50ZXJzIHRvIHRoZSBiZWdpbm5pbmcgYW5kIGVuZCsxIG9mIGlucHV0ICovCi0gICAgY29uc3QgUHlfVU5JQ09ERSAqc3RhcnRwID0gcDsKLSAgICBjb25zdCBQeV9VTklDT0RFICplbmRwID0gcCArIHNpemU7Ci0gICAgLyogcG9pbnRlciB0byB0aGUgYmVnaW5uaW5nIG9mIHRoZSB1bmVuY29kYWJsZSBjaGFyYWN0ZXJzICovCi0gICAgLyogY29uc3QgUHlfVU5JQ09ERSAqYmFkcCA9IE5VTEw7ICovCiAgICAgLyogcG9pbnRlciBpbnRvIHRoZSBvdXRwdXQgKi8KICAgICBjaGFyICpzdHI7CiAgICAgLyogY3VycmVudCBvdXRwdXQgcG9zaXRpb24gKi8KQEAgLTQ2MjYsNiArNjY0NywxMSBAQAogICAgICAqIC0xPW5vdCBpbml0aWFsaXplZCwgMD11bmtub3duLCAxPXN0cmljdCwgMj1yZXBsYWNlLCAzPWlnbm9yZSwgND14bWxjaGFycmVmcmVwbGFjZSAqLwogICAgIGludCBrbm93bl9lcnJvckhhbmRsZXIgPSAtMTsKIAorICAgIGlmIChQeVVuaWNvZGVfUkVBRFkodW5pY29kZSkgPT0gLTEpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIHNpemUgPSBQeVVuaWNvZGVfR0VUX0xFTkdUSCh1bmljb2RlKTsKKyAgICBraW5kID0gUHlVbmljb2RlX0tJTkQodW5pY29kZSk7CisgICAgZGF0YSA9IFB5VW5pY29kZV9EQVRBKHVuaWNvZGUpOwogICAgIC8qIGFsbG9jYXRlIGVub3VnaCBmb3IgYSBzaW1wbGUgZW5jb2Rpbmcgd2l0aG91dAogICAgICAgIHJlcGxhY2VtZW50cywgaWYgd2UgbmVlZCBtb3JlLCB3ZSdsbCByZXNpemUgKi8KICAgICBpZiAoc2l6ZSA9PSAwKQpAQCAtNDYzNiwyOCArNjY2MiwyNCBAQAogICAgIHN0ciA9IFB5Qnl0ZXNfQVNfU1RSSU5HKHJlcyk7CiAgICAgcmVzc2l6ZSA9IHNpemU7CiAKLSAgICB3aGlsZSAocDxlbmRwKSB7Ci0gICAgICAgIFB5X1VOSUNPREUgYyA9ICpwOworICAgIHdoaWxlIChwb3MgPCBzaXplKSB7CisgICAgICAgIFB5X1VDUzQgYyA9IFB5VW5pY29kZV9SRUFEKGtpbmQsIGRhdGEsIHBvcyk7CiAKICAgICAgICAgLyogY2FuIHdlIGVuY29kZSB0aGlzPyAqLwogICAgICAgICBpZiAoYzxsaW1pdCkgewogICAgICAgICAgICAgLyogbm8gb3ZlcmZsb3cgY2hlY2ssIGJlY2F1c2Ugd2Uga25vdyB0aGF0IHRoZSBzcGFjZSBpcyBlbm91Z2ggKi8KICAgICAgICAgICAgICpzdHIrKyA9IChjaGFyKWM7Ci0gICAgICAgICAgICArK3A7CisgICAgICAgICAgICArK3BvczsKICAgICAgICAgfQogICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgIFB5X3NzaXplX3QgdW5pY29kZXBvcyA9IHAtc3RhcnRwOwogICAgICAgICAgICAgUHlfc3NpemVfdCByZXF1aXJlZHNpemU7CiAgICAgICAgICAgICBQeU9iamVjdCAqcmVwdW5pY29kZTsKLSAgICAgICAgICAgIFB5X3NzaXplX3QgcmVwc2l6ZTsKLSAgICAgICAgICAgIFB5X3NzaXplX3QgbmV3cG9zOwotICAgICAgICAgICAgUHlfc3NpemVfdCByZXNwb3M7Ci0gICAgICAgICAgICBQeV9VTklDT0RFICp1bmkyOworICAgICAgICAgICAgUHlfc3NpemVfdCByZXBzaXplLCBuZXdwb3MsIHJlc3BvcywgaTsKICAgICAgICAgICAgIC8qIHN0YXJ0cG9zIGZvciBjb2xsZWN0aW5nIHVuZW5jb2RhYmxlIGNoYXJzICovCi0gICAgICAgICAgICBjb25zdCBQeV9VTklDT0RFICpjb2xsc3RhcnQgPSBwOwotICAgICAgICAgICAgY29uc3QgUHlfVU5JQ09ERSAqY29sbGVuZCA9IHA7CisgICAgICAgICAgICBQeV9zc2l6ZV90IGNvbGxzdGFydCA9IHBvczsKKyAgICAgICAgICAgIFB5X3NzaXplX3QgY29sbGVuZCA9IHBvczsKICAgICAgICAgICAgIC8qIGZpbmQgYWxsIHVuZWNvZGFibGUgY2hhcmFjdGVycyAqLwotICAgICAgICAgICAgd2hpbGUgKChjb2xsZW5kIDwgZW5kcCkgJiYgKCgqY29sbGVuZCk+PWxpbWl0KSkKKyAgICAgICAgICAgIHdoaWxlICgoY29sbGVuZCA8IHNpemUpICYmIChQeVVuaWNvZGVfUkVBRChraW5kLCBkYXRhLCBjb2xsZW5kKT49bGltaXQpKQogICAgICAgICAgICAgICAgICsrY29sbGVuZDsKICAgICAgICAgICAgIC8qIGNhY2hlIGNhbGxiYWNrIG5hbWUgbG9va3VwIChpZiBub3QgZG9uZSB5ZXQsIGkuZS4gaXQncyB0aGUgZmlyc3QgZXJyb3IpICovCiAgICAgICAgICAgICBpZiAoa25vd25fZXJyb3JIYW5kbGVyPT0tMSkgewpAQCAtNDY3NCwzOSArNjY5NiwzNyBAQAogICAgICAgICAgICAgfQogICAgICAgICAgICAgc3dpdGNoIChrbm93bl9lcnJvckhhbmRsZXIpIHsKICAgICAgICAgICAgIGNhc2UgMTogLyogc3RyaWN0ICovCi0gICAgICAgICAgICAgICAgcmFpc2VfZW5jb2RlX2V4Y2VwdGlvbigmZXhjLCBlbmNvZGluZywgc3RhcnRwLCBzaXplLCBjb2xsc3RhcnQtc3RhcnRwLCBjb2xsZW5kLXN0YXJ0cCwgcmVhc29uKTsKKyAgICAgICAgICAgICAgICByYWlzZV9lbmNvZGVfZXhjZXB0aW9uKCZleGMsIGVuY29kaW5nLCB1bmljb2RlLCBjb2xsc3RhcnQsIGNvbGxlbmQsIHJlYXNvbik7CiAgICAgICAgICAgICAgICAgZ290byBvbkVycm9yOwogICAgICAgICAgICAgY2FzZSAyOiAvKiByZXBsYWNlICovCiAgICAgICAgICAgICAgICAgd2hpbGUgKGNvbGxzdGFydCsrPGNvbGxlbmQpCiAgICAgICAgICAgICAgICAgICAgICpzdHIrKyA9ICc/JzsgLyogZmFsbCB0aHJvdWdoICovCiAgICAgICAgICAgICBjYXNlIDM6IC8qIGlnbm9yZSAqLwotICAgICAgICAgICAgICAgIHAgPSBjb2xsZW5kOworICAgICAgICAgICAgICAgIHBvcyA9IGNvbGxlbmQ7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBjYXNlIDQ6IC8qIHhtbGNoYXJyZWZyZXBsYWNlICovCiAgICAgICAgICAgICAgICAgcmVzcG9zID0gc3RyIC0gUHlCeXRlc19BU19TVFJJTkcocmVzKTsKLSAgICAgICAgICAgICAgICAvKiBkZXRlcm1pbmUgcmVwbGFjZW1lbnQgc2l6ZSAodGVtcG9yYXJpbHkgKG1pcyl1c2VzIHApICovCi0gICAgICAgICAgICAgICAgZm9yIChwID0gY29sbHN0YXJ0LCByZXBzaXplID0gMDsgcCA8IGNvbGxlbmQ7ICsrcCkgewotICAgICAgICAgICAgICAgICAgICBpZiAoKnA8MTApCisgICAgICAgICAgICAgICAgLyogZGV0ZXJtaW5lIHJlcGxhY2VtZW50IHNpemUgKi8KKyAgICAgICAgICAgICAgICBmb3IgKGkgPSBjb2xsc3RhcnQsIHJlcHNpemUgPSAwOyBpIDwgY29sbGVuZDsgKytpKSB7CisgICAgICAgICAgICAgICAgICAgIFB5X1VDUzQgY2ggPSBQeVVuaWNvZGVfUkVBRChraW5kLCBkYXRhLCBpKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGNoIDwgMTApCiAgICAgICAgICAgICAgICAgICAgICAgICByZXBzaXplICs9IDIrMSsxOwotICAgICAgICAgICAgICAgICAgICBlbHNlIGlmICgqcDwxMDApCisgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKGNoIDwgMTAwKQogICAgICAgICAgICAgICAgICAgICAgICAgcmVwc2l6ZSArPSAyKzIrMTsKLSAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoKnA8MTAwMCkKKyAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoY2ggPCAxMDAwKQogICAgICAgICAgICAgICAgICAgICAgICAgcmVwc2l6ZSArPSAyKzMrMTsKLSAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoKnA8MTAwMDApCisgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKGNoIDwgMTAwMDApCiAgICAgICAgICAgICAgICAgICAgICAgICByZXBzaXplICs9IDIrNCsxOwotI2lmbmRlZiBQeV9VTklDT0RFX1dJREUKLSAgICAgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChjaCA8IDEwMDAwMCkKICAgICAgICAgICAgICAgICAgICAgICAgIHJlcHNpemUgKz0gMis1KzE7Ci0jZWxzZQotICAgICAgICAgICAgICAgICAgICBlbHNlIGlmICgqcDwxMDAwMDApCi0gICAgICAgICAgICAgICAgICAgICAgICByZXBzaXplICs9IDIrNSsxOwotICAgICAgICAgICAgICAgICAgICBlbHNlIGlmICgqcDwxMDAwMDAwKQorICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChjaCA8IDEwMDAwMDApCiAgICAgICAgICAgICAgICAgICAgICAgICByZXBzaXplICs9IDIrNisxOwotICAgICAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgIGVsc2UgeworICAgICAgICAgICAgICAgICAgICAgICAgYXNzZXJ0KGNoIDw9IE1BWF9VTklDT0RFKTsKICAgICAgICAgICAgICAgICAgICAgICAgIHJlcHNpemUgKz0gMis3KzE7Ci0jZW5kaWYKKyAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICByZXF1aXJlZHNpemUgPSByZXNwb3MrcmVwc2l6ZSsoZW5kcC1jb2xsZW5kKTsKKyAgICAgICAgICAgICAgICByZXF1aXJlZHNpemUgPSByZXNwb3MrcmVwc2l6ZSsoc2l6ZS1jb2xsZW5kKTsKICAgICAgICAgICAgICAgICBpZiAocmVxdWlyZWRzaXplID4gcmVzc2l6ZSkgewogICAgICAgICAgICAgICAgICAgICBpZiAocmVxdWlyZWRzaXplPDIqcmVzc2l6ZSkKICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkc2l6ZSA9IDIqcmVzc2l6ZTsKQEAgLTQ3MTUsMTcgKzY3MzUsMTggQEAKICAgICAgICAgICAgICAgICAgICAgc3RyID0gUHlCeXRlc19BU19TVFJJTkcocmVzKSArIHJlc3BvczsKICAgICAgICAgICAgICAgICAgICAgcmVzc2l6ZSA9IHJlcXVpcmVkc2l6ZTsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgLyogZ2VuZXJhdGUgcmVwbGFjZW1lbnQgKHRlbXBvcmFyaWx5IChtaXMpdXNlcyBwKSAqLwotICAgICAgICAgICAgICAgIGZvciAocCA9IGNvbGxzdGFydDsgcCA8IGNvbGxlbmQ7ICsrcCkgewotICAgICAgICAgICAgICAgICAgICBzdHIgKz0gc3ByaW50ZihzdHIsICImIyVkOyIsIChpbnQpKnApOworICAgICAgICAgICAgICAgIC8qIGdlbmVyYXRlIHJlcGxhY2VtZW50ICovCisgICAgICAgICAgICAgICAgZm9yIChpID0gY29sbHN0YXJ0OyBpIDwgY29sbGVuZDsgKytpKSB7CisgICAgICAgICAgICAgICAgICAgIHN0ciArPSBzcHJpbnRmKHN0ciwgIiYjJWQ7IiwgUHlVbmljb2RlX1JFQUQoa2luZCwgZGF0YSwgaSkpOwogICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBwID0gY29sbGVuZDsKKyAgICAgICAgICAgICAgICBwb3MgPSBjb2xsZW5kOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgICByZXB1bmljb2RlID0gdW5pY29kZV9lbmNvZGVfY2FsbF9lcnJvcmhhbmRsZXIoZXJyb3JzLCAmZXJyb3JIYW5kbGVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmNvZGluZywgcmVhc29uLCBzdGFydHAsIHNpemUsICZleGMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbGxzdGFydC1zdGFydHAsIGNvbGxlbmQtc3RhcnRwLCAmbmV3cG9zKTsKLSAgICAgICAgICAgICAgICBpZiAocmVwdW5pY29kZSA9PSBOVUxMKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmNvZGluZywgcmVhc29uLCB1bmljb2RlLCAmZXhjLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xsc3RhcnQsIGNvbGxlbmQsICZuZXdwb3MpOworICAgICAgICAgICAgICAgIGlmIChyZXB1bmljb2RlID09IE5VTEwgfHwgKFB5VW5pY29kZV9DaGVjayhyZXB1bmljb2RlKSAmJgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9SRUFEWShyZXB1bmljb2RlKSA9PSAtMSkpCiAgICAgICAgICAgICAgICAgICAgIGdvdG8gb25FcnJvcjsKICAgICAgICAgICAgICAgICBpZiAoUHlCeXRlc19DaGVjayhyZXB1bmljb2RlKSkgewogICAgICAgICAgICAgICAgICAgICAvKiBEaXJlY3RseSBjb3B5IGJ5dGVzIHJlc3VsdCB0byBvdXRwdXQuICovCkBAIC00NzQyLDcgKzY3NjMsNyBAQAogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIG1lbWNweShzdHIsIFB5Qnl0ZXNfQXNTdHJpbmcocmVwdW5pY29kZSksIHJlcHNpemUpOwogICAgICAgICAgICAgICAgICAgICBzdHIgKz0gcmVwc2l6ZTsKLSAgICAgICAgICAgICAgICAgICAgcCA9IHN0YXJ0cCArIG5ld3BvczsKKyAgICAgICAgICAgICAgICAgICAgcG9zID0gbmV3cG9zOwogICAgICAgICAgICAgICAgICAgICBQeV9ERUNSRUYocmVwdW5pY29kZSk7CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgIH0KQEAgLTQ3NTAsOCArNjc3MSw4IEBACiAgICAgICAgICAgICAgICAgICAgaGF2ZSt0aGUgcmVwbGFjZW1lbnQrdGhlIHJlc3Qgb2YgdGhlIHN0cmluZywgc28KICAgICAgICAgICAgICAgICAgICB3ZSB3b24ndCBoYXZlIHRvIGNoZWNrIHNwYWNlIGZvciBlbmNvZGFibGUgY2hhcmFjdGVycykgKi8KICAgICAgICAgICAgICAgICByZXNwb3MgPSBzdHIgLSBQeUJ5dGVzX0FTX1NUUklORyhyZXMpOwotICAgICAgICAgICAgICAgIHJlcHNpemUgPSBQeVVuaWNvZGVfR0VUX1NJWkUocmVwdW5pY29kZSk7Ci0gICAgICAgICAgICAgICAgcmVxdWlyZWRzaXplID0gcmVzcG9zK3JlcHNpemUrKGVuZHAtY29sbGVuZCk7CisgICAgICAgICAgICAgICAgcmVwc2l6ZSA9IFB5VW5pY29kZV9HRVRfTEVOR1RIKHJlcHVuaWNvZGUpOworICAgICAgICAgICAgICAgIHJlcXVpcmVkc2l6ZSA9IHJlc3BvcytyZXBzaXplKyhzaXplLWNvbGxlbmQpOwogICAgICAgICAgICAgICAgIGlmIChyZXF1aXJlZHNpemUgPiByZXNzaXplKSB7CiAgICAgICAgICAgICAgICAgICAgIGlmIChyZXF1aXJlZHNpemU8MipyZXNzaXplKQogICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWRzaXplID0gMipyZXNzaXplOwpAQCAtNDc2NCwxNyArNjc4NSwxNyBAQAogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAvKiBjaGVjayBpZiB0aGVyZSBpcyBhbnl0aGluZyB1bmVuY29kYWJsZSBpbiB0aGUgcmVwbGFjZW1lbnQKICAgICAgICAgICAgICAgICAgICBhbmQgY29weSBpdCB0byB0aGUgb3V0cHV0ICovCi0gICAgICAgICAgICAgICAgZm9yICh1bmkyID0gUHlVbmljb2RlX0FTX1VOSUNPREUocmVwdW5pY29kZSk7cmVwc2l6ZS0tPjA7ICsrdW5pMiwgKytzdHIpIHsKLSAgICAgICAgICAgICAgICAgICAgYyA9ICp1bmkyOworICAgICAgICAgICAgICAgIGZvciAoaSA9IDA7IHJlcHNpemUtLT4wOyArK2ksICsrc3RyKSB7CisgICAgICAgICAgICAgICAgICAgIGMgPSBQeVVuaWNvZGVfUkVBRF9DSEFSKHJlcHVuaWNvZGUsIGkpOwogICAgICAgICAgICAgICAgICAgICBpZiAoYyA+PSBsaW1pdCkgewotICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2VfZW5jb2RlX2V4Y2VwdGlvbigmZXhjLCBlbmNvZGluZywgc3RhcnRwLCBzaXplLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bmljb2RlcG9zLCB1bmljb2RlcG9zKzEsIHJlYXNvbik7CisgICAgICAgICAgICAgICAgICAgICAgICByYWlzZV9lbmNvZGVfZXhjZXB0aW9uKCZleGMsIGVuY29kaW5nLCB1bmljb2RlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3MsIHBvcysxLCByZWFzb24pOwogICAgICAgICAgICAgICAgICAgICAgICAgUHlfREVDUkVGKHJlcHVuaWNvZGUpOwogICAgICAgICAgICAgICAgICAgICAgICAgZ290byBvbkVycm9yOwogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICpzdHIgPSAoY2hhciljOwogICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBwID0gc3RhcnRwICsgbmV3cG9zOworICAgICAgICAgICAgICAgIHBvcyA9IG5ld3BvczsKICAgICAgICAgICAgICAgICBQeV9ERUNSRUYocmVwdW5pY29kZSk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KQEAgLTQ3OTgsNzcgKzY4MTksMTQzIEBACiAgICAgcmV0dXJuIE5VTEw7CiB9CiAKLVB5T2JqZWN0ICpQeVVuaWNvZGVfRW5jb2RlTGF0aW4xKGNvbnN0IFB5X1VOSUNPREUgKnAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IHNpemUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICplcnJvcnMpCisvKiBEZXByZWNhdGVkICovCitQeU9iamVjdCAqCitQeVVuaWNvZGVfRW5jb2RlTGF0aW4xKGNvbnN0IFB5X1VOSUNPREUgKnAsCisgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3Qgc2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZXJyb3JzKQogewotICAgIHJldHVybiB1bmljb2RlX2VuY29kZV91Y3MxKHAsIHNpemUsIGVycm9ycywgMjU2KTsKKyAgICBQeU9iamVjdCAqcmVzdWx0OworICAgIFB5T2JqZWN0ICp1bmljb2RlID0gUHlVbmljb2RlX0Zyb21Vbmljb2RlKHAsIHNpemUpOworICAgIGlmICh1bmljb2RlID09IE5VTEwpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIHJlc3VsdCA9IHVuaWNvZGVfZW5jb2RlX3VjczEodW5pY29kZSwgZXJyb3JzLCAyNTYpOworICAgIFB5X0RFQ1JFRih1bmljb2RlKTsKKyAgICByZXR1cm4gcmVzdWx0OwogfQogCi1QeU9iamVjdCAqUHlVbmljb2RlX0FzTGF0aW4xU3RyaW5nKFB5T2JqZWN0ICp1bmljb2RlKQorUHlPYmplY3QgKgorX1B5VW5pY29kZV9Bc0xhdGluMVN0cmluZyhQeU9iamVjdCAqdW5pY29kZSwgY29uc3QgY2hhciAqZXJyb3JzKQogewogICAgIGlmICghUHlVbmljb2RlX0NoZWNrKHVuaWNvZGUpKSB7CiAgICAgICAgIFB5RXJyX0JhZEFyZ3VtZW50KCk7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KLSAgICByZXR1cm4gUHlVbmljb2RlX0VuY29kZUxhdGluMShQeVVuaWNvZGVfQVNfVU5JQ09ERSh1bmljb2RlKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfR0VUX1NJWkUodW5pY29kZSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCk7CisgICAgaWYgKFB5VW5pY29kZV9SRUFEWSh1bmljb2RlKSA9PSAtMSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgLyogRmFzdCBwYXRoOiBpZiBpdCBpcyBhIG9uZS1ieXRlIHN0cmluZywgY29uc3RydWN0CisgICAgICAgYnl0ZXMgb2JqZWN0IGRpcmVjdGx5LiAqLworICAgIGlmIChQeVVuaWNvZGVfS0lORCh1bmljb2RlKSA9PSBQeVVuaWNvZGVfMUJZVEVfS0lORCkKKyAgICAgICAgcmV0dXJuIFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUoUHlVbmljb2RlX0RBVEEodW5pY29kZSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9HRVRfTEVOR1RIKHVuaWNvZGUpKTsKKyAgICAvKiBOb24tTGF0aW4tMSBjaGFyYWN0ZXJzIHByZXNlbnQuIERlZmVyIHRvIGFib3ZlIGZ1bmN0aW9uIHRvCisgICAgICAgcmFpc2UgdGhlIGV4Y2VwdGlvbi4gKi8KKyAgICByZXR1cm4gdW5pY29kZV9lbmNvZGVfdWNzMSh1bmljb2RlLCBlcnJvcnMsIDI1Nik7Cit9CisKK1B5T2JqZWN0KgorUHlVbmljb2RlX0FzTGF0aW4xU3RyaW5nKFB5T2JqZWN0ICp1bmljb2RlKQoreworICAgIHJldHVybiBfUHlVbmljb2RlX0FzTGF0aW4xU3RyaW5nKHVuaWNvZGUsIE5VTEwpOwogfQogCiAvKiAtLS0gNy1iaXQgQVNDSUkgQ29kZWMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KIAotUHlPYmplY3QgKlB5VW5pY29kZV9EZWNvZGVBU0NJSShjb25zdCBjaGFyICpzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IHNpemUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmVycm9ycykKK1B5T2JqZWN0ICoKK1B5VW5pY29kZV9EZWNvZGVBU0NJSShjb25zdCBjaGFyICpzLAorICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3Qgc2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICplcnJvcnMpCiB7CiAgICAgY29uc3QgY2hhciAqc3RhcnRzID0gczsKLSAgICBQeVVuaWNvZGVPYmplY3QgKnY7Ci0gICAgUHlfVU5JQ09ERSAqcDsKKyAgICBQeU9iamVjdCAqdjsKKyAgICBpbnQga2luZDsKKyAgICB2b2lkICpkYXRhOwogICAgIFB5X3NzaXplX3Qgc3RhcnRpbnBvczsKICAgICBQeV9zc2l6ZV90IGVuZGlucG9zOwogICAgIFB5X3NzaXplX3Qgb3V0cG9zOwogICAgIGNvbnN0IGNoYXIgKmU7CisgICAgaW50IGhhc19lcnJvcjsKKyAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpwID0gKGNvbnN0IHVuc2lnbmVkIGNoYXIgKilzOworICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmVuZCA9IHAgKyBzaXplOworICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmFsaWduZWRfZW5kID0gKGNvbnN0IHVuc2lnbmVkIGNoYXIgKikgKChzaXplX3QpIGVuZCAmIH5MT05HX1BUUl9NQVNLKTsKICAgICBQeU9iamVjdCAqZXJyb3JIYW5kbGVyID0gTlVMTDsKICAgICBQeU9iamVjdCAqZXhjID0gTlVMTDsKIAotICAgIC8qIEFTQ0lJIGlzIGVxdWl2YWxlbnQgdG8gdGhlIGZpcnN0IDEyOCBvcmRpbmFscyBpbiBVbmljb2RlLiAqLwotICAgIGlmIChzaXplID09IDEgJiYgKih1bnNpZ25lZCBjaGFyKilzIDwgMTI4KSB7Ci0gICAgICAgIFB5X1VOSUNPREUgciA9ICoodW5zaWduZWQgY2hhciopczsKLSAgICAgICAgcmV0dXJuIFB5VW5pY29kZV9Gcm9tVW5pY29kZSgmciwgMSk7CisgICAgaWYgKHNpemUgPT0gMCkgeworICAgICAgICBQeV9JTkNSRUYodW5pY29kZV9lbXB0eSk7CisgICAgICAgIHJldHVybiB1bmljb2RlX2VtcHR5OwogICAgIH0KIAotICAgIHYgPSBfUHlVbmljb2RlX05ldyhzaXplKTsKKyAgICAvKiBBU0NJSSBpcyBlcXVpdmFsZW50IHRvIHRoZSBmaXJzdCAxMjggb3JkaW5hbHMgaW4gVW5pY29kZS4gKi8KKyAgICBpZiAoc2l6ZSA9PSAxICYmICh1bnNpZ25lZCBjaGFyKXNbMF0gPCAxMjgpCisgICAgICAgIHJldHVybiBnZXRfbGF0aW4xX2NoYXIoKHVuc2lnbmVkIGNoYXIpc1swXSk7CisKKyAgICBoYXNfZXJyb3IgPSAwOworICAgIHdoaWxlIChwIDwgZW5kICYmICFoYXNfZXJyb3IpIHsKKyAgICAgICAgLyogRmFzdCBwYXRoLCBzZWUgYmVsb3cgaW4gUHlVbmljb2RlX0RlY29kZVVURjhTdGF0ZWZ1bCBmb3IKKyAgICAgICAgICAgYW4gZXhwbGFuYXRpb24uICovCisgICAgICAgIGlmICghKChzaXplX3QpIHAgJiBMT05HX1BUUl9NQVNLKSkgeworICAgICAgICAgICAgLyogSGVscCByZWdpc3RlciBhbGxvY2F0aW9uICovCisgICAgICAgICAgICByZWdpc3RlciBjb25zdCB1bnNpZ25lZCBjaGFyICpfcCA9IHA7CisgICAgICAgICAgICB3aGlsZSAoX3AgPCBhbGlnbmVkX2VuZCkgeworICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgdmFsdWUgPSAqKHVuc2lnbmVkIGxvbmcgKikgX3A7CisgICAgICAgICAgICAgICAgaWYgKHZhbHVlICYgQVNDSUlfQ0hBUl9NQVNLKSB7CisgICAgICAgICAgICAgICAgICAgIGhhc19lcnJvciA9IDE7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBfcCArPSBTSVpFT0ZfTE9ORzsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmIChfcCA9PSBlbmQpCisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBpZiAoaGFzX2Vycm9yKQorICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgcCA9IF9wOworICAgICAgICB9CisgICAgICAgIGlmICgqcCAmIDB4ODApIHsKKyAgICAgICAgICAgIGhhc19lcnJvciA9IDE7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgICsrcDsKKyAgICAgICAgfQorICAgIH0KKyAgICBpZiAoIWhhc19lcnJvcikKKyAgICAgICAgcmV0dXJuIHVuaWNvZGVfZnJvbWFzY2lpKChjb25zdCB1bnNpZ25lZCBjaGFyICopcywgc2l6ZSk7CisKKyAgICB2ID0gUHlVbmljb2RlX05ldyhzaXplLCAxMjcpOwogICAgIGlmICh2ID09IE5VTEwpCiAgICAgICAgIGdvdG8gb25FcnJvcjsKICAgICBpZiAoc2l6ZSA9PSAwKQotICAgICAgICByZXR1cm4gKFB5T2JqZWN0ICopdjsKLSAgICBwID0gUHlVbmljb2RlX0FTX1VOSUNPREUodik7CisgICAgICAgIHJldHVybiB2OworICAgIGtpbmQgPSBQeVVuaWNvZGVfS0lORCh2KTsKKyAgICBkYXRhID0gUHlVbmljb2RlX0RBVEEodik7CisgICAgb3V0cG9zID0gMDsKICAgICBlID0gcyArIHNpemU7CiAgICAgd2hpbGUgKHMgPCBlKSB7CiAgICAgICAgIHJlZ2lzdGVyIHVuc2lnbmVkIGNoYXIgYyA9ICh1bnNpZ25lZCBjaGFyKSpzOwogICAgICAgICBpZiAoYyA8IDEyOCkgewotICAgICAgICAgICAgKnArKyA9IGM7CisgICAgICAgICAgICBQeVVuaWNvZGVfV1JJVEUoa2luZCwgZGF0YSwgb3V0cG9zKyssIGMpOwogICAgICAgICAgICAgKytzOwogICAgICAgICB9CiAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgc3RhcnRpbnBvcyA9IHMtc3RhcnRzOwogICAgICAgICAgICAgZW5kaW5wb3MgPSBzdGFydGlucG9zICsgMTsKLSAgICAgICAgICAgIG91dHBvcyA9IHAgLSAoUHlfVU5JQ09ERSAqKVB5VW5pY29kZV9BU19VTklDT0RFKHYpOwogICAgICAgICAgICAgaWYgKHVuaWNvZGVfZGVjb2RlX2NhbGxfZXJyb3JoYW5kbGVyKAogICAgICAgICAgICAgICAgICAgICBlcnJvcnMsICZlcnJvckhhbmRsZXIsCiAgICAgICAgICAgICAgICAgICAgICJhc2NpaSIsICJvcmRpbmFsIG5vdCBpbiByYW5nZSgxMjgpIiwKICAgICAgICAgICAgICAgICAgICAgJnN0YXJ0cywgJmUsICZzdGFydGlucG9zLCAmZW5kaW5wb3MsICZleGMsICZzLAotICAgICAgICAgICAgICAgICAgICAmdiwgJm91dHBvcywgJnApKQorICAgICAgICAgICAgICAgICAgICAmdiwgJm91dHBvcykpCiAgICAgICAgICAgICAgICAgZ290byBvbkVycm9yOworICAgICAgICAgICAga2luZCA9IFB5VW5pY29kZV9LSU5EKHYpOworICAgICAgICAgICAgZGF0YSA9IFB5VW5pY29kZV9EQVRBKHYpOwogICAgICAgICB9CiAgICAgfQotICAgIGlmIChwIC0gUHlVbmljb2RlX0FTX1VOSUNPREUodikgPCBQeVVuaWNvZGVfR0VUX1NJWkUodikpCi0gICAgICAgIGlmIChfUHlVbmljb2RlX1Jlc2l6ZSgmdiwgcCAtIFB5VW5pY29kZV9BU19VTklDT0RFKHYpKSA8IDApCi0gICAgICAgICAgICBnb3RvIG9uRXJyb3I7CisgICAgaWYgKHVuaWNvZGVfcmVzaXplKCZ2LCBvdXRwb3MpIDwgMCkKKyAgICAgICAgZ290byBvbkVycm9yOwogICAgIFB5X1hERUNSRUYoZXJyb3JIYW5kbGVyKTsKICAgICBQeV9YREVDUkVGKGV4Yyk7Ci0gICAgcmV0dXJuIChQeU9iamVjdCAqKXY7CisgICAgYXNzZXJ0KF9QeVVuaWNvZGVfQ2hlY2tDb25zaXN0ZW5jeSh2LCAxKSk7CisgICAgcmV0dXJuIHY7CiAKICAgb25FcnJvcjoKICAgICBQeV9YREVDUkVGKHYpOwpAQCAtNDg3NywyNSArNjk2NCw0NSBAQAogICAgIHJldHVybiBOVUxMOwogfQogCi1QeU9iamVjdCAqUHlVbmljb2RlX0VuY29kZUFTQ0lJKGNvbnN0IFB5X1VOSUNPREUgKnAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3Qgc2l6ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZXJyb3JzKQorLyogRGVwcmVjYXRlZCAqLworUHlPYmplY3QgKgorUHlVbmljb2RlX0VuY29kZUFTQ0lJKGNvbnN0IFB5X1VOSUNPREUgKnAsCisgICAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBzaXplLAorICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmVycm9ycykKIHsKLSAgICByZXR1cm4gdW5pY29kZV9lbmNvZGVfdWNzMShwLCBzaXplLCBlcnJvcnMsIDEyOCk7CisgICAgUHlPYmplY3QgKnJlc3VsdDsKKyAgICBQeU9iamVjdCAqdW5pY29kZSA9IFB5VW5pY29kZV9Gcm9tVW5pY29kZShwLCBzaXplKTsKKyAgICBpZiAodW5pY29kZSA9PSBOVUxMKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICByZXN1bHQgPSB1bmljb2RlX2VuY29kZV91Y3MxKHVuaWNvZGUsIGVycm9ycywgMTI4KTsKKyAgICBQeV9ERUNSRUYodW5pY29kZSk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotUHlPYmplY3QgKlB5VW5pY29kZV9Bc0FTQ0lJU3RyaW5nKFB5T2JqZWN0ICp1bmljb2RlKQorUHlPYmplY3QgKgorX1B5VW5pY29kZV9Bc0FTQ0lJU3RyaW5nKFB5T2JqZWN0ICp1bmljb2RlLCBjb25zdCBjaGFyICplcnJvcnMpCiB7CiAgICAgaWYgKCFQeVVuaWNvZGVfQ2hlY2sodW5pY29kZSkpIHsKICAgICAgICAgUHlFcnJfQmFkQXJndW1lbnQoKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQotICAgIHJldHVybiBQeVVuaWNvZGVfRW5jb2RlQVNDSUkoUHlVbmljb2RlX0FTX1VOSUNPREUodW5pY29kZSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfR0VUX1NJWkUodW5pY29kZSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMKTsKKyAgICBpZiAoUHlVbmljb2RlX1JFQURZKHVuaWNvZGUpID09IC0xKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAvKiBGYXN0IHBhdGg6IGlmIGl0IGlzIGFuIEFTQ0lJLW9ubHkgc3RyaW5nLCBjb25zdHJ1Y3QgYnl0ZXMgb2JqZWN0CisgICAgICAgZGlyZWN0bHkuIEVsc2UgZGVmZXIgdG8gYWJvdmUgZnVuY3Rpb24gdG8gcmFpc2UgdGhlIGV4Y2VwdGlvbi4gKi8KKyAgICBpZiAoUHlVbmljb2RlX01BWF9DSEFSX1ZBTFVFKHVuaWNvZGUpIDwgMTI4KQorICAgICAgICByZXR1cm4gUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZShQeVVuaWNvZGVfREFUQSh1bmljb2RlKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0dFVF9MRU5HVEgodW5pY29kZSkpOworICAgIHJldHVybiB1bmljb2RlX2VuY29kZV91Y3MxKHVuaWNvZGUsIGVycm9ycywgMTI4KTsKIH0KIAotI2lmIGRlZmluZWQoTVNfV0lORE9XUykgJiYgZGVmaW5lZChIQVZFX1VTQUJMRV9XQ0hBUl9UKQorUHlPYmplY3QgKgorUHlVbmljb2RlX0FzQVNDSUlTdHJpbmcoUHlPYmplY3QgKnVuaWNvZGUpCit7CisgICAgcmV0dXJuIF9QeVVuaWNvZGVfQXNBU0NJSVN0cmluZyh1bmljb2RlLCBOVUxMKTsKK30KKworI2lmZGVmIEhBVkVfTUJDUwogCiAvKiAtLS0gTUJDUyBjb2RlY3MgZm9yIFdpbmRvd3MgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KIApAQCAtNDkwMywzMzYgKzcwMTAsODEzIEBACiAjZGVmaW5lIE5FRURfUkVUUlkKICNlbmRpZgogCi0vKiBYWFggVGhpcyBjb2RlIGlzIGxpbWl0ZWQgdG8gInRydWUiIGRvdWJsZS1ieXRlIGVuY29kaW5ncywgYXMKLSAgIGEpIGl0IGFzc3VtZXMgYW4gaW5jb21wbGV0ZSBjaGFyYWN0ZXIgY29uc2lzdHMgb2YgYSBzaW5nbGUgYnl0ZSwgYW5kCi0gICBiKSBJc0RCQ1NMZWFkQnl0ZSAocHJvYmFibHkpIGRvZXMgbm90IHdvcmsgZm9yIG5vbi1EQkNTIG11bHRpLWJ5dGUKLSAgIGVuY29kaW5ncywgc2VlIElzREJDU0xlYWRCeXRlRXggZG9jdW1lbnRhdGlvbi4gKi8KKyNpZm5kZWYgV0NfRVJSX0lOVkFMSURfQ0hBUlMKKyMgIGRlZmluZSBXQ19FUlJfSU5WQUxJRF9DSEFSUyAweDAwODAKKyNlbmRpZgogCi1zdGF0aWMgaW50IGlzX2RiY3NfbGVhZF9ieXRlKGNvbnN0IGNoYXIgKnMsIGludCBvZmZzZXQpCitzdGF0aWMgY2hhcioKK2NvZGVfcGFnZV9uYW1lKFVJTlQgY29kZV9wYWdlLCBQeU9iamVjdCAqKm9iaikKK3sKKyAgICAqb2JqID0gTlVMTDsKKyAgICBpZiAoY29kZV9wYWdlID09IENQX0FDUCkKKyAgICAgICAgcmV0dXJuICJtYmNzIjsKKyAgICBpZiAoY29kZV9wYWdlID09IENQX1VURjcpCisgICAgICAgIHJldHVybiAiQ1BfVVRGNyI7CisgICAgaWYgKGNvZGVfcGFnZSA9PSBDUF9VVEY4KQorICAgICAgICByZXR1cm4gIkNQX1VURjgiOworCisgICAgKm9iaiA9IFB5Qnl0ZXNfRnJvbUZvcm1hdCgiY3AldSIsIGNvZGVfcGFnZSk7CisgICAgaWYgKCpvYmogPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgcmV0dXJuIFB5Qnl0ZXNfQVNfU1RSSU5HKCpvYmopOworfQorCitzdGF0aWMgaW50Citpc19kYmNzX2xlYWRfYnl0ZShVSU5UIGNvZGVfcGFnZSwgY29uc3QgY2hhciAqcywgaW50IG9mZnNldCkKIHsKICAgICBjb25zdCBjaGFyICpjdXJyID0gcyArIG9mZnNldDsKKyAgICBjb25zdCBjaGFyICpwcmV2OwogCi0gICAgaWYgKElzREJDU0xlYWRCeXRlKCpjdXJyKSkgewotICAgICAgICBjb25zdCBjaGFyICpwcmV2ID0gQ2hhclByZXYocywgY3Vycik7Ci0gICAgICAgIHJldHVybiAocHJldiA9PSBjdXJyKSB8fCAhSXNEQkNTTGVhZEJ5dGUoKnByZXYpIHx8IChjdXJyIC0gcHJldiA9PSAyKTsKLSAgICB9CisgICAgaWYgKCFJc0RCQ1NMZWFkQnl0ZUV4KGNvZGVfcGFnZSwgKmN1cnIpKQorICAgICAgICByZXR1cm4gMDsKKworICAgIHByZXYgPSBDaGFyUHJldkV4QShjb2RlX3BhZ2UsIHMsIGN1cnIsIDApOworICAgIGlmIChwcmV2ID09IGN1cnIpCisgICAgICAgIHJldHVybiAxOworICAgIC8qIEZJWE1FOiBUaGlzIGNvZGUgaXMgbGltaXRlZCB0byAidHJ1ZSIgZG91YmxlLWJ5dGUgZW5jb2RpbmdzLAorICAgICAgIGFzIGl0IGFzc3VtZXMgYW4gaW5jb21wbGV0ZSBjaGFyYWN0ZXIgY29uc2lzdHMgb2YgYSBzaW5nbGUKKyAgICAgICBieXRlLiAqLworICAgIGlmIChjdXJyIC0gcHJldiA9PSAyKQorICAgICAgICByZXR1cm4gMTsKKyAgICBpZiAoIUlzREJDU0xlYWRCeXRlRXgoY29kZV9wYWdlLCAqcHJldikpCisgICAgICAgIHJldHVybiAxOwogICAgIHJldHVybiAwOwogfQogCi0vKgotICogRGVjb2RlIE1CQ1Mgc3RyaW5nIGludG8gdW5pY29kZSBvYmplY3QuIElmICdmaW5hbCcgaXMgc2V0LCBjb252ZXJ0cwotICogdHJhaWxpbmcgbGVhZC1ieXRlIHRvby4gUmV0dXJucyBjb25zdW1lZCBzaXplIGlmIHN1Y2NlZWQsIC0xIG90aGVyd2lzZS4KLSAqLwotc3RhdGljIGludCBkZWNvZGVfbWJjcyhQeVVuaWNvZGVPYmplY3QgKip2LAotICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpzLCAvKiBNQkNTIHN0cmluZyAqLwotICAgICAgICAgICAgICAgICAgICAgICBpbnQgc2l6ZSwgLyogc2l6ZW9mIE1CQ1Mgc3RyaW5nICovCi0gICAgICAgICAgICAgICAgICAgICAgIGludCBmaW5hbCwKLSAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZXJyb3JzKQorc3RhdGljIERXT1JECitkZWNvZGVfY29kZV9wYWdlX2ZsYWdzKFVJTlQgY29kZV9wYWdlKQogewotICAgIFB5X1VOSUNPREUgKnA7Ci0gICAgUHlfc3NpemVfdCBuOwotICAgIERXT1JEIHVzaXplOwotICAgIERXT1JEIGZsYWdzOwotCi0gICAgYXNzZXJ0KHNpemUgPj0gMCk7Ci0KLSAgICAvKiBjaGVjayBhbmQgaGFuZGxlICdlcnJvcnMnIGFyZyAqLwotICAgIGlmIChlcnJvcnM9PU5VTEwgfHwgc3RyY21wKGVycm9ycywgInN0cmljdCIpPT0wKQotICAgICAgICBmbGFncyA9IE1CX0VSUl9JTlZBTElEX0NIQVJTOwotICAgIGVsc2UgaWYgKHN0cmNtcChlcnJvcnMsICJpZ25vcmUiKT09MCkKLSAgICAgICAgZmxhZ3MgPSAwOwotICAgIGVsc2UgewotICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVmFsdWVFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICJtYmNzIGVuY29kaW5nIGRvZXMgbm90IHN1cHBvcnQgZXJyb3JzPSclcyciLAotICAgICAgICAgICAgICAgICAgICAgZXJyb3JzKTsKLSAgICAgICAgcmV0dXJuIC0xOworICAgIGlmIChjb2RlX3BhZ2UgPT0gQ1BfVVRGNykgeworICAgICAgICAvKiBUaGUgQ1BfVVRGNyBkZWNvZGVyIG9ubHkgc3VwcG9ydHMgZmxhZ3M9MCAqLworICAgICAgICByZXR1cm4gMDsKICAgICB9CisgICAgZWxzZQorICAgICAgICByZXR1cm4gTUJfRVJSX0lOVkFMSURfQ0hBUlM7Cit9CiAKLSAgICAvKiBTa2lwIHRyYWlsaW5nIGxlYWQtYnl0ZSB1bmxlc3MgJ2ZpbmFsJyBpcyBzZXQgKi8KLSAgICBpZiAoIWZpbmFsICYmIHNpemUgPj0gMSAmJiBpc19kYmNzX2xlYWRfYnl0ZShzLCBzaXplIC0gMSkpCi0gICAgICAgIC0tc2l6ZTsKKy8qCisgKiBEZWNvZGUgYSBieXRlIHN0cmluZyBmcm9tIGEgV2luZG93cyBjb2RlIHBhZ2UgaW50byB1bmljb2RlIG9iamVjdCBpbiBzdHJpY3QKKyAqIG1vZGUuCisgKgorICogUmV0dXJucyBjb25zdW1lZCBzaXplIGlmIHN1Y2NlZWQsIHJldHVybnMgLTIgb24gZGVjb2RlIGVycm9yLCBvciByYWlzZSBhCisgKiBXaW5kb3dzRXJyb3IgYW5kIHJldHVybnMgLTEgb24gb3RoZXIgZXJyb3IuCisgKi8KK3N0YXRpYyBpbnQKK2RlY29kZV9jb2RlX3BhZ2Vfc3RyaWN0KFVJTlQgY29kZV9wYWdlLAorICAgICAgICAgICAgICAgICAgICAgICAgUHlPYmplY3QgKip2LAorICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqaW4sCisgICAgICAgICAgICAgICAgICAgICAgICBpbnQgaW5zaXplKQoreworICAgIGNvbnN0IERXT1JEIGZsYWdzID0gZGVjb2RlX2NvZGVfcGFnZV9mbGFncyhjb2RlX3BhZ2UpOworICAgIHdjaGFyX3QgKm91dDsKKyAgICBEV09SRCBvdXRzaXplOwogCiAgICAgLyogRmlyc3QgZ2V0IHRoZSBzaXplIG9mIHRoZSByZXN1bHQgKi8KLSAgICBpZiAoc2l6ZSA+IDApIHsKLSAgICAgICAgdXNpemUgPSBNdWx0aUJ5dGVUb1dpZGVDaGFyKENQX0FDUCwgZmxhZ3MsIHMsIHNpemUsIE5VTEwsIDApOwotICAgICAgICBpZiAodXNpemU9PTApCi0gICAgICAgICAgICBnb3RvIG1iY3NfZGVjb2RlX2Vycm9yOwotICAgIH0gZWxzZQotICAgICAgICB1c2l6ZSA9IDA7CisgICAgYXNzZXJ0KGluc2l6ZSA+IDApOworICAgIG91dHNpemUgPSBNdWx0aUJ5dGVUb1dpZGVDaGFyKGNvZGVfcGFnZSwgZmxhZ3MsIGluLCBpbnNpemUsIE5VTEwsIDApOworICAgIGlmIChvdXRzaXplIDw9IDApCisgICAgICAgIGdvdG8gZXJyb3I7CiAKICAgICBpZiAoKnYgPT0gTlVMTCkgewogICAgICAgICAvKiBDcmVhdGUgdW5pY29kZSBvYmplY3QgKi8KLSAgICAgICAgKnYgPSBfUHlVbmljb2RlX05ldyh1c2l6ZSk7CisgICAgICAgIC8qIEZJWE1FOiBkb24ndCB1c2UgX1B5VW5pY29kZV9OZXcoKSwgYnV0IGFsbG9jYXRlIGEgd2NoYXJfdCogYnVmZmVyICovCisgICAgICAgICp2ID0gKFB5T2JqZWN0KilfUHlVbmljb2RlX05ldyhvdXRzaXplKTsKICAgICAgICAgaWYgKCp2ID09IE5VTEwpCiAgICAgICAgICAgICByZXR1cm4gLTE7Ci0gICAgICAgIG4gPSAwOworICAgICAgICBvdXQgPSBQeVVuaWNvZGVfQVNfVU5JQ09ERSgqdik7CiAgICAgfQogICAgIGVsc2UgewogICAgICAgICAvKiBFeHRlbmQgdW5pY29kZSBvYmplY3QgKi8KLSAgICAgICAgbiA9IFB5VW5pY29kZV9HRVRfU0laRSgqdik7Ci0gICAgICAgIGlmIChfUHlVbmljb2RlX1Jlc2l6ZSh2LCBuICsgdXNpemUpIDwgMCkKKyAgICAgICAgUHlfc3NpemVfdCBuID0gUHlVbmljb2RlX0dFVF9TSVpFKCp2KTsKKyAgICAgICAgaWYgKHVuaWNvZGVfcmVzaXplKHYsIG4gKyBvdXRzaXplKSA8IDApCiAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIG91dCA9IFB5VW5pY29kZV9BU19VTklDT0RFKCp2KSArIG47CiAgICAgfQogCiAgICAgLyogRG8gdGhlIGNvbnZlcnNpb24gKi8KLSAgICBpZiAodXNpemUgPiAwKSB7Ci0gICAgICAgIHAgPSBQeVVuaWNvZGVfQVNfVU5JQ09ERSgqdikgKyBuOwotICAgICAgICBpZiAoMCA9PSBNdWx0aUJ5dGVUb1dpZGVDaGFyKENQX0FDUCwgZmxhZ3MsIHMsIHNpemUsIHAsIHVzaXplKSkgewotICAgICAgICAgICAgZ290byBtYmNzX2RlY29kZV9lcnJvcjsKLSAgICAgICAgfQotICAgIH0KLSAgICByZXR1cm4gc2l6ZTsKKyAgICBvdXRzaXplID0gTXVsdGlCeXRlVG9XaWRlQ2hhcihjb2RlX3BhZ2UsIGZsYWdzLCBpbiwgaW5zaXplLCBvdXQsIG91dHNpemUpOworICAgIGlmIChvdXRzaXplIDw9IDApCisgICAgICAgIGdvdG8gZXJyb3I7CisgICAgcmV0dXJuIGluc2l6ZTsKIAotbWJjc19kZWNvZGVfZXJyb3I6Ci0gICAgLyogSWYgdGhlIGxhc3QgZXJyb3Igd2FzIEVSUk9SX05PX1VOSUNPREVfVFJBTlNMQVRJT04sIHRoZW4KLSAgICAgICB3ZSByYWlzZSBhIFVuaWNvZGVEZWNvZGVFcnJvciAtIGVsc2UgaXQgaXMgYSAnZ2VuZXJpYycKLSAgICAgICB3aW5kb3dzIGVycm9yCi0gICAgICovCi0gICAgaWYgKEdldExhc3RFcnJvcigpPT1FUlJPUl9OT19VTklDT0RFX1RSQU5TTEFUSU9OKSB7Ci0gICAgICAgIC8qIElkZWFsbHksIHdlIHNob3VsZCBnZXQgcmVhc29uIGZyb20gRm9ybWF0TWVzc2FnZSAtIHRoaXMKLSAgICAgICAgICAgaXMgdGhlIFdpbmRvd3MgMjAwMCBFbmdsaXNoIHZlcnNpb24gb2YgdGhlIG1lc3NhZ2UKLSAgICAgICAgKi8KLSAgICAgICAgUHlPYmplY3QgKmV4YyA9IE5VTEw7Ci0gICAgICAgIGNvbnN0IGNoYXIgKnJlYXNvbiA9ICJObyBtYXBwaW5nIGZvciB0aGUgVW5pY29kZSBjaGFyYWN0ZXIgZXhpc3RzICIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImluIHRoZSB0YXJnZXQgbXVsdGktYnl0ZSBjb2RlIHBhZ2UuIjsKLSAgICAgICAgbWFrZV9kZWNvZGVfZXhjZXB0aW9uKCZleGMsICJtYmNzIiwgcywgc2l6ZSwgMCwgMCwgcmVhc29uKTsKLSAgICAgICAgaWYgKGV4YyAhPSBOVUxMKSB7Ci0gICAgICAgICAgICBQeUNvZGVjX1N0cmljdEVycm9ycyhleGMpOwotICAgICAgICAgICAgUHlfREVDUkVGKGV4Yyk7Ci0gICAgICAgIH0KLSAgICB9IGVsc2UgewotICAgICAgICBQeUVycl9TZXRGcm9tV2luZG93c0VycldpdGhGaWxlbmFtZSgwLCBOVUxMKTsKLSAgICB9CitlcnJvcjoKKyAgICBpZiAoR2V0TGFzdEVycm9yKCkgPT0gRVJST1JfTk9fVU5JQ09ERV9UUkFOU0xBVElPTikKKyAgICAgICAgcmV0dXJuIC0yOworICAgIFB5RXJyX1NldEZyb21XaW5kb3dzRXJyKDApOwogICAgIHJldHVybiAtMTsKIH0KIAotUHlPYmplY3QgKlB5VW5pY29kZV9EZWNvZGVNQkNTU3RhdGVmdWwoY29uc3QgY2hhciAqcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3Qgc2l6ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmVycm9ycywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3QgKmNvbnN1bWVkKQorLyoKKyAqIERlY29kZSBhIGJ5dGUgc3RyaW5nIGZyb20gYSBjb2RlIHBhZ2UgaW50byB1bmljb2RlIG9iamVjdCB3aXRoIGFuIGVycm9yCisgKiBoYW5kbGVyLgorICoKKyAqIFJldHVybnMgY29uc3VtZWQgc2l6ZSBpZiBzdWNjZWVkLCBvciByYWlzZSBhIFdpbmRvd3NFcnJvciBvcgorICogVW5pY29kZURlY29kZUVycm9yIGV4Y2VwdGlvbiBhbmQgcmV0dXJucyAtMSBvbiBlcnJvci4KKyAqLworc3RhdGljIGludAorZGVjb2RlX2NvZGVfcGFnZV9lcnJvcnMoVUlOVCBjb2RlX3BhZ2UsCisgICAgICAgICAgICAgICAgICAgICAgICBQeU9iamVjdCAqKnYsCisgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICppbiwgY29uc3QgaW50IHNpemUsCisgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICplcnJvcnMpCiB7Ci0gICAgUHlVbmljb2RlT2JqZWN0ICp2ID0gTlVMTDsKLSAgICBpbnQgZG9uZTsKKyAgICBjb25zdCBjaGFyICpzdGFydGluID0gaW47CisgICAgY29uc3QgY2hhciAqZW5kaW4gPSBpbiArIHNpemU7CisgICAgY29uc3QgRFdPUkQgZmxhZ3MgPSBkZWNvZGVfY29kZV9wYWdlX2ZsYWdzKGNvZGVfcGFnZSk7CisgICAgLyogSWRlYWxseSwgd2Ugc2hvdWxkIGdldCByZWFzb24gZnJvbSBGb3JtYXRNZXNzYWdlLiBUaGlzIGlzIHRoZSBXaW5kb3dzCisgICAgICAgMjAwMCBFbmdsaXNoIHZlcnNpb24gb2YgdGhlIG1lc3NhZ2UuICovCisgICAgY29uc3QgY2hhciAqcmVhc29uID0gIk5vIG1hcHBpbmcgZm9yIHRoZSBVbmljb2RlIGNoYXJhY3RlciBleGlzdHMgIgorICAgICAgICAgICAgICAgICAgICAgICAgICJpbiB0aGUgdGFyZ2V0IGNvZGUgcGFnZS4iOworICAgIC8qIGVhY2ggc3RlcCBjYW5ub3QgZGVjb2RlIG1vcmUgdGhhbiAxIGNoYXJhY3RlciwgYnV0IGEgY2hhcmFjdGVyIGNhbiBiZQorICAgICAgIHJlcHJlc2VudGVkIGFzIGEgc3Vycm9nYXRlIHBhaXIgKi8KKyAgICB3Y2hhcl90IGJ1ZmZlclsyXSwgKnN0YXJ0b3V0LCAqb3V0OworICAgIGludCBpbnNpemUsIG91dHNpemU7CisgICAgUHlPYmplY3QgKmVycm9ySGFuZGxlciA9IE5VTEw7CisgICAgUHlPYmplY3QgKmV4YyA9IE5VTEw7CisgICAgUHlPYmplY3QgKmVuY29kaW5nX29iaiA9IE5VTEw7CisgICAgY2hhciAqZW5jb2Rpbmc7CisgICAgRFdPUkQgZXJyOworICAgIGludCByZXQgPSAtMTsKKworICAgIGFzc2VydChzaXplID4gMCk7CisKKyAgICBlbmNvZGluZyA9IGNvZGVfcGFnZV9uYW1lKGNvZGVfcGFnZSwgJmVuY29kaW5nX29iaik7CisgICAgaWYgKGVuY29kaW5nID09IE5VTEwpCisgICAgICAgIHJldHVybiAtMTsKKworICAgIGlmIChlcnJvcnMgPT0gTlVMTCB8fCBzdHJjbXAoZXJyb3JzLCAic3RyaWN0IikgPT0gMCkgeworICAgICAgICAvKiBUaGUgbGFzdCBlcnJvciB3YXMgRVJST1JfTk9fVU5JQ09ERV9UUkFOU0xBVElPTiwgdGhlbiB3ZSByYWlzZSBhCisgICAgICAgICAgIFVuaWNvZGVEZWNvZGVFcnJvci4gKi8KKyAgICAgICAgbWFrZV9kZWNvZGVfZXhjZXB0aW9uKCZleGMsIGVuY29kaW5nLCBpbiwgc2l6ZSwgMCwgMCwgcmVhc29uKTsKKyAgICAgICAgaWYgKGV4YyAhPSBOVUxMKSB7CisgICAgICAgICAgICBQeUNvZGVjX1N0cmljdEVycm9ycyhleGMpOworICAgICAgICAgICAgUHlfQ0xFQVIoZXhjKTsKKyAgICAgICAgfQorICAgICAgICBnb3RvIGVycm9yOworICAgIH0KKworICAgIGlmICgqdiA9PSBOVUxMKSB7CisgICAgICAgIC8qIENyZWF0ZSB1bmljb2RlIG9iamVjdCAqLworICAgICAgICBpZiAoc2l6ZSA+IFBZX1NTSVpFX1RfTUFYIC8gKFB5X3NzaXplX3QpUHlfQVJSQVlfTEVOR1RIKGJ1ZmZlcikpIHsKKyAgICAgICAgICAgIFB5RXJyX05vTWVtb3J5KCk7CisgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICB9CisgICAgICAgIC8qIEZJWE1FOiBkb24ndCB1c2UgX1B5VW5pY29kZV9OZXcoKSwgYnV0IGFsbG9jYXRlIGEgd2NoYXJfdCogYnVmZmVyICovCisgICAgICAgICp2ID0gKFB5T2JqZWN0KilfUHlVbmljb2RlX05ldyhzaXplICogUHlfQVJSQVlfTEVOR1RIKGJ1ZmZlcikpOworICAgICAgICBpZiAoKnYgPT0gTlVMTCkKKyAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgIHN0YXJ0b3V0ID0gUHlVbmljb2RlX0FTX1VOSUNPREUoKnYpOworICAgIH0KKyAgICBlbHNlIHsKKyAgICAgICAgLyogRXh0ZW5kIHVuaWNvZGUgb2JqZWN0ICovCisgICAgICAgIFB5X3NzaXplX3QgbiA9IFB5VW5pY29kZV9HRVRfU0laRSgqdik7CisgICAgICAgIGlmIChzaXplID4gKFBZX1NTSVpFX1RfTUFYIC0gbikgLyAoUHlfc3NpemVfdClQeV9BUlJBWV9MRU5HVEgoYnVmZmVyKSkgeworICAgICAgICAgICAgUHlFcnJfTm9NZW1vcnkoKTsKKyAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgIH0KKyAgICAgICAgaWYgKHVuaWNvZGVfcmVzaXplKHYsIG4gKyBzaXplICogUHlfQVJSQVlfTEVOR1RIKGJ1ZmZlcikpIDwgMCkKKyAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgIHN0YXJ0b3V0ID0gUHlVbmljb2RlX0FTX1VOSUNPREUoKnYpICsgbjsKKyAgICB9CisKKyAgICAvKiBEZWNvZGUgdGhlIGJ5dGUgc3RyaW5nIGNoYXJhY3RlciBwZXIgY2hhcmFjdGVyICovCisgICAgb3V0ID0gc3RhcnRvdXQ7CisgICAgd2hpbGUgKGluIDwgZW5kaW4pCisgICAgeworICAgICAgICAvKiBEZWNvZGUgYSBjaGFyYWN0ZXIgKi8KKyAgICAgICAgaW5zaXplID0gMTsKKyAgICAgICAgZG8KKyAgICAgICAgeworICAgICAgICAgICAgb3V0c2l6ZSA9IE11bHRpQnl0ZVRvV2lkZUNoYXIoY29kZV9wYWdlLCBmbGFncywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluLCBpbnNpemUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWZmZXIsIFB5X0FSUkFZX0xFTkdUSChidWZmZXIpKTsKKyAgICAgICAgICAgIGlmIChvdXRzaXplID4gMCkKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGVyciA9IEdldExhc3RFcnJvcigpOworICAgICAgICAgICAgaWYgKGVyciAhPSBFUlJPUl9OT19VTklDT0RFX1RSQU5TTEFUSU9OCisgICAgICAgICAgICAgICAgJiYgZXJyICE9IEVSUk9SX0lOU1VGRklDSUVOVF9CVUZGRVIpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgUHlFcnJfU2V0RnJvbVdpbmRvd3NFcnIoMCk7CisgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGluc2l6ZSsrOworICAgICAgICB9CisgICAgICAgIC8qIDQ9bWF4aW11bSBsZW5ndGggb2YgYSBVVEYtOCBzZXF1ZW5jZSAqLworICAgICAgICB3aGlsZSAoaW5zaXplIDw9IDQgJiYgKGluICsgaW5zaXplKSA8PSBlbmRpbik7CisKKyAgICAgICAgaWYgKG91dHNpemUgPD0gMCkgeworICAgICAgICAgICAgUHlfc3NpemVfdCBzdGFydGlucG9zLCBlbmRpbnBvcywgb3V0cG9zOworCisgICAgICAgICAgICBzdGFydGlucG9zID0gaW4gLSBzdGFydGluOworICAgICAgICAgICAgZW5kaW5wb3MgPSBzdGFydGlucG9zICsgMTsKKyAgICAgICAgICAgIG91dHBvcyA9IG91dCAtIFB5VW5pY29kZV9BU19VTklDT0RFKCp2KTsKKyAgICAgICAgICAgIGlmICh1bmljb2RlX2RlY29kZV9jYWxsX2Vycm9yaGFuZGxlcigKKyAgICAgICAgICAgICAgICAgICAgZXJyb3JzLCAmZXJyb3JIYW5kbGVyLAorICAgICAgICAgICAgICAgICAgICBlbmNvZGluZywgcmVhc29uLAorICAgICAgICAgICAgICAgICAgICAmc3RhcnRpbiwgJmVuZGluLCAmc3RhcnRpbnBvcywgJmVuZGlucG9zLCAmZXhjLCAmaW4sCisgICAgICAgICAgICAgICAgICAgIHYsICZvdXRwb3MpKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBvdXQgPSBQeVVuaWNvZGVfQVNfVU5JQ09ERSgqdikgKyBvdXRwb3M7CisgICAgICAgIH0KKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBpbiArPSBpbnNpemU7CisgICAgICAgICAgICBtZW1jcHkob3V0LCBidWZmZXIsIG91dHNpemUgKiBzaXplb2Yod2NoYXJfdCkpOworICAgICAgICAgICAgb3V0ICs9IG91dHNpemU7CisgICAgICAgIH0KKyAgICB9CisKKyAgICAvKiB3cml0ZSBhIE5VTCBjaGFyYWN0ZXIgYXQgdGhlIGVuZCAqLworICAgICpvdXQgPSAwOworCisgICAgLyogRXh0ZW5kIHVuaWNvZGUgb2JqZWN0ICovCisgICAgb3V0c2l6ZSA9IG91dCAtIHN0YXJ0b3V0OworICAgIGFzc2VydChvdXRzaXplIDw9IFB5VW5pY29kZV9XU1RSX0xFTkdUSCgqdikpOworICAgIGlmICh1bmljb2RlX3Jlc2l6ZSh2LCBvdXRzaXplKSA8IDApCisgICAgICAgIGdvdG8gZXJyb3I7CisgICAgcmV0ID0gc2l6ZTsKKworZXJyb3I6CisgICAgUHlfWERFQ1JFRihlbmNvZGluZ19vYmopOworICAgIFB5X1hERUNSRUYoZXJyb3JIYW5kbGVyKTsKKyAgICBQeV9YREVDUkVGKGV4Yyk7CisgICAgcmV0dXJuIHJldDsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK2RlY29kZV9jb2RlX3BhZ2Vfc3RhdGVmdWwoaW50IGNvZGVfcGFnZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqcywgUHlfc3NpemVfdCBzaXplLAorICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICplcnJvcnMsIFB5X3NzaXplX3QgKmNvbnN1bWVkKQoreworICAgIFB5T2JqZWN0ICp2ID0gTlVMTDsKKyAgICBpbnQgY2h1bmtfc2l6ZSwgZmluYWwsIGNvbnZlcnRlZCwgZG9uZTsKKworICAgIGlmIChjb2RlX3BhZ2UgPCAwKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLCAiaW52YWxpZCBjb2RlIHBhZ2UgbnVtYmVyIik7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KIAogICAgIGlmIChjb25zdW1lZCkKICAgICAgICAgKmNvbnN1bWVkID0gMDsKIAorICAgIGRvCisgICAgewogI2lmZGVmIE5FRURfUkVUUlkKLSAgcmV0cnk6Ci0gICAgaWYgKHNpemUgPiBJTlRfTUFYKQotICAgICAgICBkb25lID0gZGVjb2RlX21iY3MoJnYsIHMsIElOVF9NQVgsIDAsIGVycm9ycyk7Ci0gICAgZWxzZQorICAgICAgICBpZiAoc2l6ZSA+IElOVF9NQVgpIHsKKyAgICAgICAgICAgIGNodW5rX3NpemUgPSBJTlRfTUFYOworICAgICAgICAgICAgZmluYWwgPSAwOworICAgICAgICAgICAgZG9uZSA9IDA7CisgICAgICAgIH0KKyAgICAgICAgZWxzZQogI2VuZGlmCi0gICAgICAgIGRvbmUgPSBkZWNvZGVfbWJjcygmdiwgcywgKGludClzaXplLCAhY29uc3VtZWQsIGVycm9ycyk7CisgICAgICAgIHsKKyAgICAgICAgICAgIGNodW5rX3NpemUgPSAoaW50KXNpemU7CisgICAgICAgICAgICBmaW5hbCA9IChjb25zdW1lZCA9PSBOVUxMKTsKKyAgICAgICAgICAgIGRvbmUgPSAxOworICAgICAgICB9CiAKLSAgICBpZiAoZG9uZSA8IDApIHsKLSAgICAgICAgUHlfWERFQ1JFRih2KTsKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgfQorICAgICAgICAvKiBTa2lwIHRyYWlsaW5nIGxlYWQtYnl0ZSB1bmxlc3MgJ2ZpbmFsJyBpcyBzZXQgKi8KKyAgICAgICAgaWYgKCFmaW5hbCAmJiBpc19kYmNzX2xlYWRfYnl0ZShjb2RlX3BhZ2UsIHMsIGNodW5rX3NpemUgLSAxKSkKKyAgICAgICAgICAgIC0tY2h1bmtfc2l6ZTsKIAotICAgIGlmIChjb25zdW1lZCkKLSAgICAgICAgKmNvbnN1bWVkICs9IGRvbmU7CisgICAgICAgIGlmIChjaHVua19zaXplID09IDAgJiYgZG9uZSkgeworICAgICAgICAgICAgaWYgKHYgIT0gTlVMTCkKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIFB5X0lOQ1JFRih1bmljb2RlX2VtcHR5KTsKKyAgICAgICAgICAgIHJldHVybiB1bmljb2RlX2VtcHR5OworICAgICAgICB9CiAKLSNpZmRlZiBORUVEX1JFVFJZCi0gICAgaWYgKHNpemUgPiBJTlRfTUFYKSB7Ci0gICAgICAgIHMgKz0gZG9uZTsKLSAgICAgICAgc2l6ZSAtPSBkb25lOwotICAgICAgICBnb3RvIHJldHJ5OwotICAgIH0KLSNlbmRpZgogCi0gICAgcmV0dXJuIChQeU9iamVjdCAqKXY7CisgICAgICAgIGNvbnZlcnRlZCA9IGRlY29kZV9jb2RlX3BhZ2Vfc3RyaWN0KGNvZGVfcGFnZSwgJnYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHMsIGNodW5rX3NpemUpOworICAgICAgICBpZiAoY29udmVydGVkID09IC0yKQorICAgICAgICAgICAgY29udmVydGVkID0gZGVjb2RlX2NvZGVfcGFnZV9lcnJvcnMoY29kZV9wYWdlLCAmdiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHMsIGNodW5rX3NpemUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcnMpOworICAgICAgICBhc3NlcnQoY29udmVydGVkICE9IDApOworCisgICAgICAgIGlmIChjb252ZXJ0ZWQgPCAwKSB7CisgICAgICAgICAgICBQeV9YREVDUkVGKHYpOworICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIH0KKworICAgICAgICBpZiAoY29uc3VtZWQpCisgICAgICAgICAgICAqY29uc3VtZWQgKz0gY29udmVydGVkOworCisgICAgICAgIHMgKz0gY29udmVydGVkOworICAgICAgICBzaXplIC09IGNvbnZlcnRlZDsKKyAgICB9IHdoaWxlICghZG9uZSk7CisKKyAgICByZXR1cm4gdW5pY29kZV9yZXN1bHQodik7CiB9CiAKLVB5T2JqZWN0ICpQeVVuaWNvZGVfRGVjb2RlTUJDUyhjb25zdCBjaGFyICpzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3Qgc2l6ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICplcnJvcnMpCitQeU9iamVjdCAqCitQeVVuaWNvZGVfRGVjb2RlQ29kZVBhZ2VTdGF0ZWZ1bChpbnQgY29kZV9wYWdlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3Qgc2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmVycm9ycywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3QgKmNvbnN1bWVkKQoreworICAgIHJldHVybiBkZWNvZGVfY29kZV9wYWdlX3N0YXRlZnVsKGNvZGVfcGFnZSwgcywgc2l6ZSwgZXJyb3JzLCBjb25zdW1lZCk7Cit9CisKK1B5T2JqZWN0ICoKK1B5VW5pY29kZV9EZWNvZGVNQkNTU3RhdGVmdWwoY29uc3QgY2hhciAqcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBzaXplLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICplcnJvcnMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3QgKmNvbnN1bWVkKQoreworICAgIHJldHVybiBkZWNvZGVfY29kZV9wYWdlX3N0YXRlZnVsKENQX0FDUCwgcywgc2l6ZSwgZXJyb3JzLCBjb25zdW1lZCk7Cit9CisKK1B5T2JqZWN0ICoKK1B5VW5pY29kZV9EZWNvZGVNQkNTKGNvbnN0IGNoYXIgKnMsCisgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IHNpemUsCisgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICplcnJvcnMpCiB7CiAgICAgcmV0dXJuIFB5VW5pY29kZV9EZWNvZGVNQkNTU3RhdGVmdWwocywgc2l6ZSwgZXJyb3JzLCBOVUxMKTsKIH0KIAorc3RhdGljIERXT1JECitlbmNvZGVfY29kZV9wYWdlX2ZsYWdzKFVJTlQgY29kZV9wYWdlLCBjb25zdCBjaGFyICplcnJvcnMpCit7CisgICAgaWYgKGNvZGVfcGFnZSA9PSBDUF9VVEY4KSB7CisgICAgICAgIGlmICh3aW52ZXIuZHdNYWpvclZlcnNpb24gPj0gNikKKyAgICAgICAgICAgIC8qIENQX1VURjggc3VwcG9ydHMgV0NfRVJSX0lOVkFMSURfQ0hBUlMgb24gV2luZG93cyBWaXN0YQorICAgICAgICAgICAgICAgYW5kIGxhdGVyICovCisgICAgICAgICAgICByZXR1cm4gV0NfRVJSX0lOVkFMSURfQ0hBUlM7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIC8qIENQX1VURjggb25seSBzdXBwb3J0cyBmbGFncz0wIG9uIFdpbmRvd3Mgb2xkZXIgdGhhbiBWaXN0YSAqLworICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgfQorICAgIGVsc2UgaWYgKGNvZGVfcGFnZSA9PSBDUF9VVEY3KSB7CisgICAgICAgIC8qIENQX1VURjcgb25seSBzdXBwb3J0cyBmbGFncz0wICovCisgICAgICAgIHJldHVybiAwOworICAgIH0KKyAgICBlbHNlIHsKKyAgICAgICAgaWYgKGVycm9ycyAhPSBOVUxMICYmIHN0cmNtcChlcnJvcnMsICJyZXBsYWNlIikgPT0gMCkKKyAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICBlbHNlCisgICAgICAgICAgICByZXR1cm4gV0NfTk9fQkVTVF9GSVRfQ0hBUlM7CisgICAgfQorfQorCiAvKgotICogQ29udmVydCB1bmljb2RlIGludG8gc3RyaW5nIG9iamVjdCAoTUJDUykuCi0gKiBSZXR1cm5zIDAgaWYgc3VjY2VlZCwgLTEgb3RoZXJ3aXNlLgorICogRW5jb2RlIGEgVW5pY29kZSBzdHJpbmcgdG8gYSBXaW5kb3dzIGNvZGUgcGFnZSBpbnRvIGEgYnl0ZSBzdHJpbmcgaW4gc3RyaWN0CisgKiBtb2RlLgorICoKKyAqIFJldHVybnMgY29uc3VtZWQgY2hhcmFjdGVycyBpZiBzdWNjZWVkLCByZXR1cm5zIC0yIG9uIGVuY29kZSBlcnJvciwgb3IgcmFpc2UKKyAqIGEgV2luZG93c0Vycm9yIGFuZCByZXR1cm5zIC0xIG9uIG90aGVyIGVycm9yLgogICovCi1zdGF0aWMgaW50IGVuY29kZV9tYmNzKFB5T2JqZWN0ICoqcmVwciwKLSAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgUHlfVU5JQ09ERSAqcCwgLyogdW5pY29kZSAqLwotICAgICAgICAgICAgICAgICAgICAgICBpbnQgc2l6ZSwgLyogc2l6ZSBvZiB1bmljb2RlICovCi0gICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIqIGVycm9ycykKK3N0YXRpYyBpbnQKK2VuY29kZV9jb2RlX3BhZ2Vfc3RyaWN0KFVJTlQgY29kZV9wYWdlLCBQeU9iamVjdCAqKm91dGJ5dGVzLAorICAgICAgICAgICAgICAgICAgICAgICAgUHlPYmplY3QgKnVuaWNvZGUsIFB5X3NzaXplX3Qgb2Zmc2V0LCBpbnQgbGVuLAorICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciogZXJyb3JzKQogewogICAgIEJPT0wgdXNlZERlZmF1bHRDaGFyID0gRkFMU0U7Ci0gICAgQk9PTCAqcHVzZWREZWZhdWx0Q2hhcjsKLSAgICBpbnQgbWJjc3NpemU7Ci0gICAgUHlfc3NpemVfdCBuOworICAgIEJPT0wgKnB1c2VkRGVmYXVsdENoYXIgPSAmdXNlZERlZmF1bHRDaGFyOworICAgIGludCBvdXRzaXplOwogICAgIFB5T2JqZWN0ICpleGMgPSBOVUxMOwotICAgIERXT1JEIGZsYWdzOworICAgIHdjaGFyX3QgKnA7CisgICAgUHlfc3NpemVfdCBzaXplOworICAgIGNvbnN0IERXT1JEIGZsYWdzID0gZW5jb2RlX2NvZGVfcGFnZV9mbGFncyhjb2RlX3BhZ2UsIE5VTEwpOworICAgIGNoYXIgKm91dDsKKyAgICAvKiBDcmVhdGUgYSBzdWJzdHJpbmcgc28gdGhhdCB3ZSBjYW4gZ2V0IHRoZSBVVEYtMTYgcmVwcmVzZW50YXRpb24KKyAgICAgICBvZiBqdXN0IHRoZSBzbGljZSB1bmRlciBjb25zaWRlcmF0aW9uLiAqLworICAgIFB5T2JqZWN0ICpzdWJzdHJpbmc7CiAKLSAgICBhc3NlcnQoc2l6ZSA+PSAwKTsKKyAgICBhc3NlcnQobGVuID4gMCk7CiAKLSAgICAvKiBjaGVjayBhbmQgaGFuZGxlICdlcnJvcnMnIGFyZyAqLwotICAgIGlmIChlcnJvcnM9PU5VTEwgfHwgc3RyY21wKGVycm9ycywgInN0cmljdCIpPT0wKSB7Ci0gICAgICAgIGZsYWdzID0gV0NfTk9fQkVTVF9GSVRfQ0hBUlM7CisgICAgaWYgKGNvZGVfcGFnZSAhPSBDUF9VVEY4ICYmIGNvZGVfcGFnZSAhPSBDUF9VVEY3KQogICAgICAgICBwdXNlZERlZmF1bHRDaGFyID0gJnVzZWREZWZhdWx0Q2hhcjsKLSAgICB9IGVsc2UgaWYgKHN0cmNtcChlcnJvcnMsICJyZXBsYWNlIik9PTApIHsKLSAgICAgICAgZmxhZ3MgPSAwOworICAgIGVsc2UKICAgICAgICAgcHVzZWREZWZhdWx0Q2hhciA9IE5VTEw7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19WYWx1ZUVycm9yLAotICAgICAgICAgICAgICAgICAgICAgICJtYmNzIGVuY29kaW5nIGRvZXMgbm90IHN1cHBvcnQgZXJyb3JzPSclcyciLAotICAgICAgICAgICAgICAgICAgICAgIGVycm9ycyk7Ci0gICAgICAgICByZXR1cm4gLTE7CisKKyAgICBzdWJzdHJpbmcgPSBQeVVuaWNvZGVfU3Vic3RyaW5nKHVuaWNvZGUsIG9mZnNldCwgb2Zmc2V0K2xlbik7CisgICAgaWYgKHN1YnN0cmluZyA9PSBOVUxMKQorICAgICAgICByZXR1cm4gLTE7CisgICAgcCA9IFB5VW5pY29kZV9Bc1VuaWNvZGVBbmRTaXplKHN1YnN0cmluZywgJnNpemUpOworICAgIGlmIChwID09IE5VTEwpIHsKKyAgICAgICAgUHlfREVDUkVGKHN1YnN0cmluZyk7CisgICAgICAgIHJldHVybiAtMTsKICAgICB9CiAKICAgICAvKiBGaXJzdCBnZXQgdGhlIHNpemUgb2YgdGhlIHJlc3VsdCAqLwotICAgIGlmIChzaXplID4gMCkgewotICAgICAgICBtYmNzc2l6ZSA9IFdpZGVDaGFyVG9NdWx0aUJ5dGUoQ1BfQUNQLCBmbGFncywgcCwgc2l6ZSwgTlVMTCwgMCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsIHB1c2VkRGVmYXVsdENoYXIpOwotICAgICAgICBpZiAobWJjc3NpemUgPT0gMCkgewotICAgICAgICAgICAgUHlFcnJfU2V0RnJvbVdpbmRvd3NFcnJXaXRoRmlsZW5hbWUoMCwgTlVMTCk7Ci0gICAgICAgICAgICByZXR1cm4gLTE7Ci0gICAgICAgIH0KLSAgICAgICAgLyogSWYgd2UgdXNlZCBhIGRlZmF1bHQgY2hhciwgdGhlbiB3ZSBmYWlsZWQhICovCi0gICAgICAgIGlmIChwdXNlZERlZmF1bHRDaGFyICYmICpwdXNlZERlZmF1bHRDaGFyKQotICAgICAgICAgICAgZ290byBtYmNzX2VuY29kZV9lcnJvcjsKLSAgICB9IGVsc2UgewotICAgICAgICBtYmNzc2l6ZSA9IDA7CisgICAgb3V0c2l6ZSA9IFdpZGVDaGFyVG9NdWx0aUJ5dGUoY29kZV9wYWdlLCBmbGFncywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwLCBzaXplLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsIDAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgcHVzZWREZWZhdWx0Q2hhcik7CisgICAgaWYgKG91dHNpemUgPD0gMCkKKyAgICAgICAgZ290byBlcnJvcjsKKyAgICAvKiBJZiB3ZSB1c2VkIGEgZGVmYXVsdCBjaGFyLCB0aGVuIHdlIGZhaWxlZCEgKi8KKyAgICBpZiAocHVzZWREZWZhdWx0Q2hhciAmJiAqcHVzZWREZWZhdWx0Q2hhcikgeworICAgICAgICBQeV9ERUNSRUYoc3Vic3RyaW5nKTsKKyAgICAgICAgcmV0dXJuIC0yOwogICAgIH0KIAotICAgIGlmICgqcmVwciA9PSBOVUxMKSB7CisgICAgaWYgKCpvdXRieXRlcyA9PSBOVUxMKSB7CiAgICAgICAgIC8qIENyZWF0ZSBzdHJpbmcgb2JqZWN0ICovCi0gICAgICAgICpyZXByID0gUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZShOVUxMLCBtYmNzc2l6ZSk7Ci0gICAgICAgIGlmICgqcmVwciA9PSBOVUxMKQorICAgICAgICAqb3V0Ynl0ZXMgPSBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplKE5VTEwsIG91dHNpemUpOworICAgICAgICBpZiAoKm91dGJ5dGVzID09IE5VTEwpIHsKKyAgICAgICAgICAgIFB5X0RFQ1JFRihzdWJzdHJpbmcpOwogICAgICAgICAgICAgcmV0dXJuIC0xOwotICAgICAgICBuID0gMDsKKyAgICAgICAgfQorICAgICAgICBvdXQgPSBQeUJ5dGVzX0FTX1NUUklORygqb3V0Ynl0ZXMpOwogICAgIH0KICAgICBlbHNlIHsKICAgICAgICAgLyogRXh0ZW5kIHN0cmluZyBvYmplY3QgKi8KLSAgICAgICAgbiA9IFB5Qnl0ZXNfU2l6ZSgqcmVwcik7Ci0gICAgICAgIGlmIChfUHlCeXRlc19SZXNpemUocmVwciwgbiArIG1iY3NzaXplKSA8IDApCisgICAgICAgIGNvbnN0IFB5X3NzaXplX3QgbiA9IFB5Qnl0ZXNfU2l6ZSgqb3V0Ynl0ZXMpOworICAgICAgICBpZiAob3V0c2l6ZSA+IFBZX1NTSVpFX1RfTUFYIC0gbikgeworICAgICAgICAgICAgUHlFcnJfTm9NZW1vcnkoKTsKKyAgICAgICAgICAgIFB5X0RFQ1JFRihzdWJzdHJpbmcpOwogICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICB9CisgICAgICAgIGlmIChfUHlCeXRlc19SZXNpemUob3V0Ynl0ZXMsIG4gKyBvdXRzaXplKSA8IDApIHsKKyAgICAgICAgICAgIFB5X0RFQ1JFRihzdWJzdHJpbmcpOworICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICB9CisgICAgICAgIG91dCA9IFB5Qnl0ZXNfQVNfU1RSSU5HKCpvdXRieXRlcykgKyBuOwogICAgIH0KIAogICAgIC8qIERvIHRoZSBjb252ZXJzaW9uICovCi0gICAgaWYgKHNpemUgPiAwKSB7Ci0gICAgICAgIGNoYXIgKnMgPSBQeUJ5dGVzX0FTX1NUUklORygqcmVwcikgKyBuOwotICAgICAgICBpZiAoMCA9PSBXaWRlQ2hhclRvTXVsdGlCeXRlKENQX0FDUCwgZmxhZ3MsIHAsIHNpemUsIHMsIG1iY3NzaXplLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsIHB1c2VkRGVmYXVsdENoYXIpKSB7Ci0gICAgICAgICAgICBQeUVycl9TZXRGcm9tV2luZG93c0VycldpdGhGaWxlbmFtZSgwLCBOVUxMKTsKLSAgICAgICAgICAgIHJldHVybiAtMTsKLSAgICAgICAgfQotICAgICAgICBpZiAocHVzZWREZWZhdWx0Q2hhciAmJiAqcHVzZWREZWZhdWx0Q2hhcikKLSAgICAgICAgICAgIGdvdG8gbWJjc19lbmNvZGVfZXJyb3I7Ci0gICAgfQorICAgIG91dHNpemUgPSBXaWRlQ2hhclRvTXVsdGlCeXRlKGNvZGVfcGFnZSwgZmxhZ3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcCwgc2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdXQsIG91dHNpemUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgcHVzZWREZWZhdWx0Q2hhcik7CisgICAgUHlfQ0xFQVIoc3Vic3RyaW5nKTsKKyAgICBpZiAob3V0c2l6ZSA8PSAwKQorICAgICAgICBnb3RvIGVycm9yOworICAgIGlmIChwdXNlZERlZmF1bHRDaGFyICYmICpwdXNlZERlZmF1bHRDaGFyKQorICAgICAgICByZXR1cm4gLTI7CiAgICAgcmV0dXJuIDA7CiAKLW1iY3NfZW5jb2RlX2Vycm9yOgotICAgIHJhaXNlX2VuY29kZV9leGNlcHRpb24oJmV4YywgIm1iY3MiLCBwLCBzaXplLCAwLCAwLCAiaW52YWxpZCBjaGFyYWN0ZXIiKTsKLSAgICBQeV9YREVDUkVGKGV4Yyk7CitlcnJvcjoKKyAgICBQeV9YREVDUkVGKHN1YnN0cmluZyk7CisgICAgaWYgKEdldExhc3RFcnJvcigpID09IEVSUk9SX05PX1VOSUNPREVfVFJBTlNMQVRJT04pCisgICAgICAgIHJldHVybiAtMjsKKyAgICBQeUVycl9TZXRGcm9tV2luZG93c0VycigwKTsKICAgICByZXR1cm4gLTE7CiB9CiAKLVB5T2JqZWN0ICpQeVVuaWNvZGVfRW5jb2RlTUJDUyhjb25zdCBQeV9VTklDT0RFICpwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3Qgc2l6ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICplcnJvcnMpCisvKgorICogRW5jb2RlIGEgVW5pY29kZSBzdHJpbmcgdG8gYSBXaW5kb3dzIGNvZGUgcGFnZSBpbnRvIGEgYnl0ZSBzdHJpbmcgdXNpbmcgYQorICogZXJyb3IgaGFuZGxlci4KKyAqCisgKiBSZXR1cm5zIGNvbnN1bWVkIGNoYXJhY3RlcnMgaWYgc3VjY2VlZCwgb3IgcmFpc2UgYSBXaW5kb3dzRXJyb3IgYW5kIHJldHVybnMKKyAqIC0xIG9uIG90aGVyIGVycm9yLgorICovCitzdGF0aWMgaW50CitlbmNvZGVfY29kZV9wYWdlX2Vycm9ycyhVSU5UIGNvZGVfcGFnZSwgUHlPYmplY3QgKipvdXRieXRlcywKKyAgICAgICAgICAgICAgICAgICAgICAgIFB5T2JqZWN0ICp1bmljb2RlLCBQeV9zc2l6ZV90IHVuaWNvZGVfb2Zmc2V0LAorICAgICAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBpbnNpemUsIGNvbnN0IGNoYXIqIGVycm9ycykKIHsKLSAgICBQeU9iamVjdCAqcmVwciA9IE5VTEw7Ci0gICAgaW50IHJldDsKKyAgICBjb25zdCBEV09SRCBmbGFncyA9IGVuY29kZV9jb2RlX3BhZ2VfZmxhZ3MoY29kZV9wYWdlLCBlcnJvcnMpOworICAgIFB5X3NzaXplX3QgcG9zID0gdW5pY29kZV9vZmZzZXQ7CisgICAgUHlfc3NpemVfdCBlbmRpbiA9IHVuaWNvZGVfb2Zmc2V0ICsgaW5zaXplOworICAgIC8qIElkZWFsbHksIHdlIHNob3VsZCBnZXQgcmVhc29uIGZyb20gRm9ybWF0TWVzc2FnZS4gVGhpcyBpcyB0aGUgV2luZG93cworICAgICAgIDIwMDAgRW5nbGlzaCB2ZXJzaW9uIG9mIHRoZSBtZXNzYWdlLiAqLworICAgIGNvbnN0IGNoYXIgKnJlYXNvbiA9ICJpbnZhbGlkIGNoYXJhY3RlciI7CisgICAgLyogND1tYXhpbXVtIGxlbmd0aCBvZiBhIFVURi04IHNlcXVlbmNlICovCisgICAgY2hhciBidWZmZXJbNF07CisgICAgQk9PTCB1c2VkRGVmYXVsdENoYXIgPSBGQUxTRSwgKnB1c2VkRGVmYXVsdENoYXI7CisgICAgUHlfc3NpemVfdCBvdXRzaXplOworICAgIGNoYXIgKm91dDsKKyAgICBQeU9iamVjdCAqZXJyb3JIYW5kbGVyID0gTlVMTDsKKyAgICBQeU9iamVjdCAqZXhjID0gTlVMTDsKKyAgICBQeU9iamVjdCAqZW5jb2Rpbmdfb2JqID0gTlVMTDsKKyAgICBjaGFyICplbmNvZGluZzsKKyAgICBQeV9zc2l6ZV90IG5ld3BvcywgbmV3b3V0c2l6ZTsKKyAgICBQeU9iamVjdCAqcmVwOworICAgIGludCByZXQgPSAtMTsKIAotI2lmZGVmIE5FRURfUkVUUlkKLSAgcmV0cnk6Ci0gICAgaWYgKHNpemUgPiBJTlRfTUFYKQotICAgICAgICByZXQgPSBlbmNvZGVfbWJjcygmcmVwciwgcCwgSU5UX01BWCwgZXJyb3JzKTsKKyAgICBhc3NlcnQoaW5zaXplID4gMCk7CisKKyAgICBlbmNvZGluZyA9IGNvZGVfcGFnZV9uYW1lKGNvZGVfcGFnZSwgJmVuY29kaW5nX29iaik7CisgICAgaWYgKGVuY29kaW5nID09IE5VTEwpCisgICAgICAgIHJldHVybiAtMTsKKworICAgIGlmIChlcnJvcnMgPT0gTlVMTCB8fCBzdHJjbXAoZXJyb3JzLCAic3RyaWN0IikgPT0gMCkgeworICAgICAgICAvKiBUaGUgbGFzdCBlcnJvciB3YXMgRVJST1JfTk9fVU5JQ09ERV9UUkFOU0xBVElPTiwKKyAgICAgICAgICAgdGhlbiB3ZSByYWlzZSBhIFVuaWNvZGVFbmNvZGVFcnJvci4gKi8KKyAgICAgICAgbWFrZV9lbmNvZGVfZXhjZXB0aW9uKCZleGMsIGVuY29kaW5nLCB1bmljb2RlLCAwLCAwLCByZWFzb24pOworICAgICAgICBpZiAoZXhjICE9IE5VTEwpIHsKKyAgICAgICAgICAgIFB5Q29kZWNfU3RyaWN0RXJyb3JzKGV4Yyk7CisgICAgICAgICAgICBQeV9ERUNSRUYoZXhjKTsKKyAgICAgICAgfQorICAgICAgICBQeV9YREVDUkVGKGVuY29kaW5nX29iaik7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisKKyAgICBpZiAoY29kZV9wYWdlICE9IENQX1VURjggJiYgY29kZV9wYWdlICE9IENQX1VURjcpCisgICAgICAgIHB1c2VkRGVmYXVsdENoYXIgPSAmdXNlZERlZmF1bHRDaGFyOwogICAgIGVsc2UKLSNlbmRpZgotICAgICAgICByZXQgPSBlbmNvZGVfbWJjcygmcmVwciwgcCwgKGludClzaXplLCBlcnJvcnMpOworICAgICAgICBwdXNlZERlZmF1bHRDaGFyID0gTlVMTDsKIAotICAgIGlmIChyZXQgPCAwKSB7Ci0gICAgICAgIFB5X1hERUNSRUYocmVwcik7CisgICAgaWYgKFB5X0FSUkFZX0xFTkdUSChidWZmZXIpID4gUFlfU1NJWkVfVF9NQVggLyBpbnNpemUpIHsKKyAgICAgICAgUHlFcnJfTm9NZW1vcnkoKTsKKyAgICAgICAgZ290byBlcnJvcjsKKyAgICB9CisgICAgb3V0c2l6ZSA9IGluc2l6ZSAqIFB5X0FSUkFZX0xFTkdUSChidWZmZXIpOworCisgICAgaWYgKCpvdXRieXRlcyA9PSBOVUxMKSB7CisgICAgICAgIC8qIENyZWF0ZSBzdHJpbmcgb2JqZWN0ICovCisgICAgICAgICpvdXRieXRlcyA9IFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUoTlVMTCwgb3V0c2l6ZSk7CisgICAgICAgIGlmICgqb3V0Ynl0ZXMgPT0gTlVMTCkKKyAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgIG91dCA9IFB5Qnl0ZXNfQVNfU1RSSU5HKCpvdXRieXRlcyk7CisgICAgfQorICAgIGVsc2UgeworICAgICAgICAvKiBFeHRlbmQgc3RyaW5nIG9iamVjdCAqLworICAgICAgICBQeV9zc2l6ZV90IG4gPSBQeUJ5dGVzX1NpemUoKm91dGJ5dGVzKTsKKyAgICAgICAgaWYgKG4gPiBQWV9TU0laRV9UX01BWCAtIG91dHNpemUpIHsKKyAgICAgICAgICAgIFB5RXJyX05vTWVtb3J5KCk7CisgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICB9CisgICAgICAgIGlmIChfUHlCeXRlc19SZXNpemUob3V0Ynl0ZXMsIG4gKyBvdXRzaXplKSA8IDApCisgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICBvdXQgPSBQeUJ5dGVzX0FTX1NUUklORygqb3V0Ynl0ZXMpICsgbjsKKyAgICB9CisKKyAgICAvKiBFbmNvZGUgdGhlIHN0cmluZyBjaGFyYWN0ZXIgcGVyIGNoYXJhY3RlciAqLworICAgIHdoaWxlIChwb3MgPCBlbmRpbikKKyAgICB7CisgICAgICAgIFB5X1VDUzQgY2ggPSBQeVVuaWNvZGVfUkVBRF9DSEFSKHVuaWNvZGUsIHBvcyk7CisgICAgICAgIHdjaGFyX3QgY2hhcnNbMl07CisgICAgICAgIGludCBjaGFyc2l6ZTsKKyAgICAgICAgaWYgKGNoIDwgMHgxMDAwMCkgeworICAgICAgICAgICAgY2hhcnNbMF0gPSAod2NoYXJfdCljaDsKKyAgICAgICAgICAgIGNoYXJzaXplID0gMTsKKyAgICAgICAgfQorICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIGNoIC09IDB4MTAwMDA7CisgICAgICAgICAgICBjaGFyc1swXSA9IDB4ZDgwMCArIChjaCA+PiAxMCk7CisgICAgICAgICAgICBjaGFyc1sxXSA9IDB4ZGMwMCArIChjaCAmIDB4M2ZmKTsKKyAgICAgICAgICAgIGNoYXJzaXplID0gMjsKKyAgICAgICAgfQorCisgICAgICAgIG91dHNpemUgPSBXaWRlQ2hhclRvTXVsdGlCeXRlKGNvZGVfcGFnZSwgZmxhZ3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXJzLCBjaGFyc2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVmZmVyLCBQeV9BUlJBWV9MRU5HVEgoYnVmZmVyKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgcHVzZWREZWZhdWx0Q2hhcik7CisgICAgICAgIGlmIChvdXRzaXplID4gMCkgeworICAgICAgICAgICAgaWYgKHB1c2VkRGVmYXVsdENoYXIgPT0gTlVMTCB8fCAhKCpwdXNlZERlZmF1bHRDaGFyKSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBwb3MrKzsKKyAgICAgICAgICAgICAgICBtZW1jcHkob3V0LCBidWZmZXIsIG91dHNpemUpOworICAgICAgICAgICAgICAgIG91dCArPSBvdXRzaXplOworICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIGVsc2UgaWYgKEdldExhc3RFcnJvcigpICE9IEVSUk9SX05PX1VOSUNPREVfVFJBTlNMQVRJT04pIHsKKyAgICAgICAgICAgIFB5RXJyX1NldEZyb21XaW5kb3dzRXJyKDApOworICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgfQorCisgICAgICAgIHJlcCA9IHVuaWNvZGVfZW5jb2RlX2NhbGxfZXJyb3JoYW5kbGVyKAorICAgICAgICAgICAgICAgICAgZXJyb3JzLCAmZXJyb3JIYW5kbGVyLCBlbmNvZGluZywgcmVhc29uLAorICAgICAgICAgICAgICAgICAgdW5pY29kZSwgJmV4YywKKyAgICAgICAgICAgICAgICAgIHBvcywgcG9zICsgMSwgJm5ld3Bvcyk7CisgICAgICAgIGlmIChyZXAgPT0gTlVMTCkKKyAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgIHBvcyA9IG5ld3BvczsKKworICAgICAgICBpZiAoUHlCeXRlc19DaGVjayhyZXApKSB7CisgICAgICAgICAgICBvdXRzaXplID0gUHlCeXRlc19HRVRfU0laRShyZXApOworICAgICAgICAgICAgaWYgKG91dHNpemUgIT0gMSkgeworICAgICAgICAgICAgICAgIFB5X3NzaXplX3Qgb2Zmc2V0ID0gb3V0IC0gUHlCeXRlc19BU19TVFJJTkcoKm91dGJ5dGVzKTsKKyAgICAgICAgICAgICAgICBuZXdvdXRzaXplID0gUHlCeXRlc19HRVRfU0laRSgqb3V0Ynl0ZXMpICsgKG91dHNpemUgLSAxKTsKKyAgICAgICAgICAgICAgICBpZiAoX1B5Qnl0ZXNfUmVzaXplKG91dGJ5dGVzLCBuZXdvdXRzaXplKSA8IDApIHsKKyAgICAgICAgICAgICAgICAgICAgUHlfREVDUkVGKHJlcCk7CisgICAgICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIG91dCA9IFB5Qnl0ZXNfQVNfU1RSSU5HKCpvdXRieXRlcykgKyBvZmZzZXQ7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBtZW1jcHkob3V0LCBQeUJ5dGVzX0FTX1NUUklORyhyZXApLCBvdXRzaXplKTsKKyAgICAgICAgICAgIG91dCArPSBvdXRzaXplOworICAgICAgICB9CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgUHlfc3NpemVfdCBpOworICAgICAgICAgICAgZW51bSBQeVVuaWNvZGVfS2luZCBraW5kOworICAgICAgICAgICAgdm9pZCAqZGF0YTsKKworICAgICAgICAgICAgaWYgKFB5VW5pY29kZV9SRUFEWShyZXApID09IC0xKSB7CisgICAgICAgICAgICAgICAgUHlfREVDUkVGKHJlcCk7CisgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgb3V0c2l6ZSA9IFB5VW5pY29kZV9HRVRfTEVOR1RIKHJlcCk7CisgICAgICAgICAgICBpZiAob3V0c2l6ZSAhPSAxKSB7CisgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBvZmZzZXQgPSBvdXQgLSBQeUJ5dGVzX0FTX1NUUklORygqb3V0Ynl0ZXMpOworICAgICAgICAgICAgICAgIG5ld291dHNpemUgPSBQeUJ5dGVzX0dFVF9TSVpFKCpvdXRieXRlcykgKyAob3V0c2l6ZSAtIDEpOworICAgICAgICAgICAgICAgIGlmIChfUHlCeXRlc19SZXNpemUob3V0Ynl0ZXMsIG5ld291dHNpemUpIDwgMCkgeworICAgICAgICAgICAgICAgICAgICBQeV9ERUNSRUYocmVwKTsKKyAgICAgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgb3V0ID0gUHlCeXRlc19BU19TVFJJTkcoKm91dGJ5dGVzKSArIG9mZnNldDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGtpbmQgPSBQeVVuaWNvZGVfS0lORChyZXApOworICAgICAgICAgICAgZGF0YSA9IFB5VW5pY29kZV9EQVRBKHJlcCk7CisgICAgICAgICAgICBmb3IgKGk9MDsgaSA8IG91dHNpemU7IGkrKykgeworICAgICAgICAgICAgICAgIFB5X1VDUzQgY2ggPSBQeVVuaWNvZGVfUkVBRChraW5kLCBkYXRhLCBpKTsKKyAgICAgICAgICAgICAgICBpZiAoY2ggPiAxMjcpIHsKKyAgICAgICAgICAgICAgICAgICAgcmFpc2VfZW5jb2RlX2V4Y2VwdGlvbigmZXhjLAorICAgICAgICAgICAgICAgICAgICAgICAgZW5jb2RpbmcsIHVuaWNvZGUsCisgICAgICAgICAgICAgICAgICAgICAgICBwb3MsIHBvcyArIDEsCisgICAgICAgICAgICAgICAgICAgICAgICAidW5hYmxlIHRvIGVuY29kZSBlcnJvciBoYW5kbGVyIHJlc3VsdCB0byBBU0NJSSIpOworICAgICAgICAgICAgICAgICAgICBQeV9ERUNSRUYocmVwKTsKKyAgICAgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgKm91dCA9ICh1bnNpZ25lZCBjaGFyKWNoOworICAgICAgICAgICAgICAgIG91dCsrOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIFB5X0RFQ1JFRihyZXApOworICAgIH0KKyAgICAvKiB3cml0ZSBhIE5VTCBieXRlICovCisgICAgKm91dCA9IDA7CisgICAgb3V0c2l6ZSA9IG91dCAtIFB5Qnl0ZXNfQVNfU1RSSU5HKCpvdXRieXRlcyk7CisgICAgYXNzZXJ0KG91dHNpemUgPD0gUHlCeXRlc19HRVRfU0laRSgqb3V0Ynl0ZXMpKTsKKyAgICBpZiAoX1B5Qnl0ZXNfUmVzaXplKG91dGJ5dGVzLCBvdXRzaXplKSA8IDApCisgICAgICAgIGdvdG8gZXJyb3I7CisgICAgcmV0ID0gMDsKKworZXJyb3I6CisgICAgUHlfWERFQ1JFRihlbmNvZGluZ19vYmopOworICAgIFB5X1hERUNSRUYoZXJyb3JIYW5kbGVyKTsKKyAgICBQeV9YREVDUkVGKGV4Yyk7CisgICAgcmV0dXJuIHJldDsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK2VuY29kZV9jb2RlX3BhZ2UoaW50IGNvZGVfcGFnZSwKKyAgICAgICAgICAgICAgICAgUHlPYmplY3QgKnVuaWNvZGUsCisgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmVycm9ycykKK3sKKyAgICBQeV9zc2l6ZV90IGxlbjsKKyAgICBQeU9iamVjdCAqb3V0Ynl0ZXMgPSBOVUxMOworICAgIFB5X3NzaXplX3Qgb2Zmc2V0OworICAgIGludCBjaHVua19sZW4sIHJldCwgZG9uZTsKKworICAgIGlmIChQeVVuaWNvZGVfUkVBRFkodW5pY29kZSkgPT0gLTEpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIGxlbiA9IFB5VW5pY29kZV9HRVRfTEVOR1RIKHVuaWNvZGUpOworCisgICAgaWYgKGNvZGVfcGFnZSA8IDApIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsICJpbnZhbGlkIGNvZGUgcGFnZSBudW1iZXIiKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogCi0jaWZkZWYgTkVFRF9SRVRSWQotICAgIGlmIChzaXplID4gSU5UX01BWCkgewotICAgICAgICBwICs9IElOVF9NQVg7Ci0gICAgICAgIHNpemUgLT0gSU5UX01BWDsKLSAgICAgICAgZ290byByZXRyeTsKLSAgICB9Ci0jZW5kaWYKKyAgICBpZiAobGVuID09IDApCisgICAgICAgIHJldHVybiBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplKE5VTEwsIDApOwogCi0gICAgcmV0dXJuIHJlcHI7CisgICAgb2Zmc2V0ID0gMDsKKyAgICBkbworICAgIHsKKyNpZmRlZiBORUVEX1JFVFJZCisgICAgICAgIC8qIFVURi0xNiBlbmNvZGluZyBtYXkgZG91YmxlIHRoZSBzaXplLCBzbyB1c2Ugb25seSBJTlRfTUFYLzIKKyAgICAgICAgICAgY2h1bmtzLiAqLworICAgICAgICBpZiAobGVuID4gSU5UX01BWC8yKSB7CisgICAgICAgICAgICBjaHVua19sZW4gPSBJTlRfTUFYLzI7CisgICAgICAgICAgICBkb25lID0gMDsKKyAgICAgICAgfQorICAgICAgICBlbHNlCisjZW5kaWYKKyAgICAgICAgeworICAgICAgICAgICAgY2h1bmtfbGVuID0gKGludClsZW47CisgICAgICAgICAgICBkb25lID0gMTsKKyAgICAgICAgfQorCisgICAgICAgIHJldCA9IGVuY29kZV9jb2RlX3BhZ2Vfc3RyaWN0KGNvZGVfcGFnZSwgJm91dGJ5dGVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bmljb2RlLCBvZmZzZXQsIGNodW5rX2xlbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JzKTsKKyAgICAgICAgaWYgKHJldCA9PSAtMikKKyAgICAgICAgICAgIHJldCA9IGVuY29kZV9jb2RlX3BhZ2VfZXJyb3JzKGNvZGVfcGFnZSwgJm91dGJ5dGVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5pY29kZSwgb2Zmc2V0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2h1bmtfbGVuLCBlcnJvcnMpOworICAgICAgICBpZiAocmV0IDwgMCkgeworICAgICAgICAgICAgUHlfWERFQ1JFRihvdXRieXRlcyk7CisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgfQorCisgICAgICAgIG9mZnNldCArPSBjaHVua19sZW47CisgICAgICAgIGxlbiAtPSBjaHVua19sZW47CisgICAgfSB3aGlsZSAoIWRvbmUpOworCisgICAgcmV0dXJuIG91dGJ5dGVzOwogfQogCi1QeU9iamVjdCAqUHlVbmljb2RlX0FzTUJDU1N0cmluZyhQeU9iamVjdCAqdW5pY29kZSkKK1B5T2JqZWN0ICoKK1B5VW5pY29kZV9FbmNvZGVNQkNTKGNvbnN0IFB5X1VOSUNPREUgKnAsCisgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IHNpemUsCisgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICplcnJvcnMpCit7CisgICAgUHlPYmplY3QgKnVuaWNvZGUsICpyZXM7CisgICAgdW5pY29kZSA9IFB5VW5pY29kZV9Gcm9tVW5pY29kZShwLCBzaXplKTsKKyAgICBpZiAodW5pY29kZSA9PSBOVUxMKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICByZXMgPSBlbmNvZGVfY29kZV9wYWdlKENQX0FDUCwgdW5pY29kZSwgZXJyb3JzKTsKKyAgICBQeV9ERUNSRUYodW5pY29kZSk7CisgICAgcmV0dXJuIHJlczsKK30KKworUHlPYmplY3QgKgorUHlVbmljb2RlX0VuY29kZUNvZGVQYWdlKGludCBjb2RlX3BhZ2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgUHlPYmplY3QgKnVuaWNvZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZXJyb3JzKQoreworICAgIHJldHVybiBlbmNvZGVfY29kZV9wYWdlKGNvZGVfcGFnZSwgdW5pY29kZSwgZXJyb3JzKTsKK30KKworUHlPYmplY3QgKgorUHlVbmljb2RlX0FzTUJDU1N0cmluZyhQeU9iamVjdCAqdW5pY29kZSkKIHsKICAgICBpZiAoIVB5VW5pY29kZV9DaGVjayh1bmljb2RlKSkgewogICAgICAgICBQeUVycl9CYWRBcmd1bWVudCgpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9Ci0gICAgcmV0dXJuIFB5VW5pY29kZV9FbmNvZGVNQkNTKFB5VW5pY29kZV9BU19VTklDT0RFKHVuaWNvZGUpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfR0VUX1NJWkUodW5pY29kZSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwpOworICAgIHJldHVybiBQeVVuaWNvZGVfRW5jb2RlQ29kZVBhZ2UoQ1BfQUNQLCB1bmljb2RlLCBOVUxMKTsKIH0KIAogI3VuZGVmIE5FRURfUkVUUlkKIAotI2VuZGlmIC8qIE1TX1dJTkRPV1MgKi8KKyNlbmRpZiAvKiBIQVZFX01CQ1MgKi8KIAogLyogLS0tIENoYXJhY3RlciBNYXBwaW5nIENvZGVjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCiAKLVB5T2JqZWN0ICpQeVVuaWNvZGVfRGVjb2RlQ2hhcm1hcChjb25zdCBjaGFyICpzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3Qgc2l6ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeU9iamVjdCAqbWFwcGluZywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICplcnJvcnMpCitQeU9iamVjdCAqCitQeVVuaWNvZGVfRGVjb2RlQ2hhcm1hcChjb25zdCBjaGFyICpzLAorICAgICAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBzaXplLAorICAgICAgICAgICAgICAgICAgICAgICAgUHlPYmplY3QgKm1hcHBpbmcsCisgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICplcnJvcnMpCiB7CiAgICAgY29uc3QgY2hhciAqc3RhcnRzID0gczsKICAgICBQeV9zc2l6ZV90IHN0YXJ0aW5wb3M7CiAgICAgUHlfc3NpemVfdCBlbmRpbnBvczsKICAgICBQeV9zc2l6ZV90IG91dHBvczsKICAgICBjb25zdCBjaGFyICplOwotICAgIFB5VW5pY29kZU9iamVjdCAqdjsKLSAgICBQeV9VTklDT0RFICpwOworICAgIFB5T2JqZWN0ICp2OwogICAgIFB5X3NzaXplX3QgZXh0cmFjaGFycyA9IDA7CiAgICAgUHlPYmplY3QgKmVycm9ySGFuZGxlciA9IE5VTEw7CiAgICAgUHlPYmplY3QgKmV4YyA9IE5VTEw7Ci0gICAgUHlfVU5JQ09ERSAqbWFwc3RyaW5nID0gTlVMTDsKLSAgICBQeV9zc2l6ZV90IG1hcGxlbiA9IDA7CiAKICAgICAvKiBEZWZhdWx0IHRvIExhdGluLTEgKi8KICAgICBpZiAobWFwcGluZyA9PSBOVUxMKQogICAgICAgICByZXR1cm4gUHlVbmljb2RlX0RlY29kZUxhdGluMShzLCBzaXplLCBlcnJvcnMpOwogCi0gICAgdiA9IF9QeVVuaWNvZGVfTmV3KHNpemUpOworICAgIHYgPSBQeVVuaWNvZGVfTmV3KHNpemUsIDEyNyk7CiAgICAgaWYgKHYgPT0gTlVMTCkKICAgICAgICAgZ290byBvbkVycm9yOwogICAgIGlmIChzaXplID09IDApCi0gICAgICAgIHJldHVybiAoUHlPYmplY3QgKil2OwotICAgIHAgPSBQeVVuaWNvZGVfQVNfVU5JQ09ERSh2KTsKKyAgICAgICAgcmV0dXJuIHY7CisgICAgb3V0cG9zID0gMDsKICAgICBlID0gcyArIHNpemU7CiAgICAgaWYgKFB5VW5pY29kZV9DaGVja0V4YWN0KG1hcHBpbmcpKSB7Ci0gICAgICAgIG1hcHN0cmluZyA9IFB5VW5pY29kZV9BU19VTklDT0RFKG1hcHBpbmcpOwotICAgICAgICBtYXBsZW4gPSBQeVVuaWNvZGVfR0VUX1NJWkUobWFwcGluZyk7CisgICAgICAgIFB5X3NzaXplX3QgbWFwbGVuOworICAgICAgICBlbnVtIFB5VW5pY29kZV9LaW5kIGtpbmQ7CisgICAgICAgIHZvaWQgKmRhdGE7CisgICAgICAgIFB5X1VDUzQgeDsKKworICAgICAgICBpZiAoUHlVbmljb2RlX1JFQURZKG1hcHBpbmcpID09IC0xKQorICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICAgICAgbWFwbGVuID0gUHlVbmljb2RlX0dFVF9MRU5HVEgobWFwcGluZyk7CisgICAgICAgIGRhdGEgPSBQeVVuaWNvZGVfREFUQShtYXBwaW5nKTsKKyAgICAgICAga2luZCA9IFB5VW5pY29kZV9LSU5EKG1hcHBpbmcpOwogICAgICAgICB3aGlsZSAocyA8IGUpIHsKICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIgY2ggPSAqczsKLSAgICAgICAgICAgIFB5X1VOSUNPREUgeCA9IDB4ZmZmZTsgLyogaWxsZWdhbCB2YWx1ZSAqLwogCiAgICAgICAgICAgICBpZiAoY2ggPCBtYXBsZW4pCi0gICAgICAgICAgICAgICAgeCA9IG1hcHN0cmluZ1tjaF07CisgICAgICAgICAgICAgICAgeCA9IFB5VW5pY29kZV9SRUFEKGtpbmQsIGRhdGEsIGNoKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICB4ID0gMHhmZmZlOyAvKiBpbnZhbGlkIHZhbHVlICovCiAKLSAgICAgICAgICAgIGlmICh4ID09IDB4ZmZmZSkgeworICAgICAgICAgICAgaWYgKHggPT0gMHhmZmZlKQorICAgICAgICAgICAgewogICAgICAgICAgICAgICAgIC8qIHVuZGVmaW5lZCBtYXBwaW5nICovCi0gICAgICAgICAgICAgICAgb3V0cG9zID0gcC1QeVVuaWNvZGVfQVNfVU5JQ09ERSh2KTsKICAgICAgICAgICAgICAgICBzdGFydGlucG9zID0gcy1zdGFydHM7CiAgICAgICAgICAgICAgICAgZW5kaW5wb3MgPSBzdGFydGlucG9zKzE7CiAgICAgICAgICAgICAgICAgaWYgKHVuaWNvZGVfZGVjb2RlX2NhbGxfZXJyb3JoYW5kbGVyKAogICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JzLCAmZXJyb3JIYW5kbGVyLAogICAgICAgICAgICAgICAgICAgICAgICAgImNoYXJtYXAiLCAiY2hhcmFjdGVyIG1hcHMgdG8gPHVuZGVmaW5lZD4iLAogICAgICAgICAgICAgICAgICAgICAgICAgJnN0YXJ0cywgJmUsICZzdGFydGlucG9zLCAmZW5kaW5wb3MsICZleGMsICZzLAotICAgICAgICAgICAgICAgICAgICAgICAgJnYsICZvdXRwb3MsICZwKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgJnYsICZvdXRwb3MpKSB7CiAgICAgICAgICAgICAgICAgICAgIGdvdG8gb25FcnJvcjsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAqcCsrID0geDsKKworICAgICAgICAgICAgaWYgKHVuaWNvZGVfcHV0Y2hhcigmdiwgJm91dHBvcywgeCkgPCAwKQorICAgICAgICAgICAgICAgIGdvdG8gb25FcnJvcjsKICAgICAgICAgICAgICsrczsKICAgICAgICAgfQogICAgIH0KQEAgLTUyNjYsMTggKzc4NTAsMTggQEAKICAgICAgICAgICAgICAgICAgICAgUHlfREVDUkVGKHgpOwogICAgICAgICAgICAgICAgICAgICBnb3RvIG9uRXJyb3I7CiAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICpwKysgPSAoUHlfVU5JQ09ERSl2YWx1ZTsKKyAgICAgICAgICAgICAgICBpZiAodW5pY29kZV9wdXRjaGFyKCZ2LCAmb3V0cG9zLCB2YWx1ZSkgPCAwKQorICAgICAgICAgICAgICAgICAgICBnb3RvIG9uRXJyb3I7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBlbHNlIGlmICh4ID09IFB5X05vbmUpIHsKICAgICAgICAgICAgICAgICAvKiB1bmRlZmluZWQgbWFwcGluZyAqLwotICAgICAgICAgICAgICAgIG91dHBvcyA9IHAtUHlVbmljb2RlX0FTX1VOSUNPREUodik7CiAgICAgICAgICAgICAgICAgc3RhcnRpbnBvcyA9IHMtc3RhcnRzOwogICAgICAgICAgICAgICAgIGVuZGlucG9zID0gc3RhcnRpbnBvcysxOwogICAgICAgICAgICAgICAgIGlmICh1bmljb2RlX2RlY29kZV9jYWxsX2Vycm9yaGFuZGxlcigKICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9ycywgJmVycm9ySGFuZGxlciwKICAgICAgICAgICAgICAgICAgICAgICAgICJjaGFybWFwIiwgImNoYXJhY3RlciBtYXBzIHRvIDx1bmRlZmluZWQ+IiwKICAgICAgICAgICAgICAgICAgICAgICAgICZzdGFydHMsICZlLCAmc3RhcnRpbnBvcywgJmVuZGlucG9zLCAmZXhjLCAmcywKLSAgICAgICAgICAgICAgICAgICAgICAgICZ2LCAmb3V0cG9zLCAmcCkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICZ2LCAmb3V0cG9zKSkgewogICAgICAgICAgICAgICAgICAgICBQeV9ERUNSRUYoeCk7CiAgICAgICAgICAgICAgICAgICAgIGdvdG8gb25FcnJvcjsKICAgICAgICAgICAgICAgICB9CkBAIC01Mjg1LDMyICs3ODY5LDM3IEBACiAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBlbHNlIGlmIChQeVVuaWNvZGVfQ2hlY2soeCkpIHsKLSAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IHRhcmdldHNpemUgPSBQeVVuaWNvZGVfR0VUX1NJWkUoeCk7CisgICAgICAgICAgICAgICAgUHlfc3NpemVfdCB0YXJnZXRzaXplOwogCi0gICAgICAgICAgICAgICAgaWYgKHRhcmdldHNpemUgPT0gMSkKKyAgICAgICAgICAgICAgICBpZiAoUHlVbmljb2RlX1JFQURZKHgpID09IC0xKQorICAgICAgICAgICAgICAgICAgICBnb3RvIG9uRXJyb3I7CisgICAgICAgICAgICAgICAgdGFyZ2V0c2l6ZSA9IFB5VW5pY29kZV9HRVRfTEVOR1RIKHgpOworCisgICAgICAgICAgICAgICAgaWYgKHRhcmdldHNpemUgPT0gMSkgewogICAgICAgICAgICAgICAgICAgICAvKiAxLTEgbWFwcGluZyAqLwotICAgICAgICAgICAgICAgICAgICAqcCsrID0gKlB5VW5pY29kZV9BU19VTklDT0RFKHgpOwotCisgICAgICAgICAgICAgICAgICAgIGlmICh1bmljb2RlX3B1dGNoYXIoJnYsICZvdXRwb3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX1JFQURfQ0hBUih4LCAwKSkgPCAwKQorICAgICAgICAgICAgICAgICAgICAgICAgZ290byBvbkVycm9yOworICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBlbHNlIGlmICh0YXJnZXRzaXplID4gMSkgewogICAgICAgICAgICAgICAgICAgICAvKiAxLW4gbWFwcGluZyAqLwogICAgICAgICAgICAgICAgICAgICBpZiAodGFyZ2V0c2l6ZSA+IGV4dHJhY2hhcnMpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHJlc2l6ZSBmaXJzdCAqLwotICAgICAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBvbGRwb3MgPSBwIC0gUHlVbmljb2RlX0FTX1VOSUNPREUodik7CiAgICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IG5lZWRlZCA9ICh0YXJnZXRzaXplIC0gZXh0cmFjaGFycykgKyBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHRhcmdldHNpemUgPDwgMik7CiAgICAgICAgICAgICAgICAgICAgICAgICBleHRyYWNoYXJzICs9IG5lZWRlZDsKICAgICAgICAgICAgICAgICAgICAgICAgIC8qIFhYWCBvdmVyZmxvdyBkZXRlY3Rpb24gbWlzc2luZyAqLwotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKF9QeVVuaWNvZGVfUmVzaXplKCZ2LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9HRVRfU0laRSh2KSArIG5lZWRlZCkgPCAwKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAodW5pY29kZV9yZXNpemUoJnYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0dFVF9MRU5HVEgodikgKyBuZWVkZWQpIDwgMCkKKyAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeV9ERUNSRUYoeCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ290byBvbkVycm9yOwogICAgICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICAgICAgcCA9IFB5VW5pY29kZV9BU19VTklDT0RFKHYpICsgb2xkcG9zOwogICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgIFB5X1VOSUNPREVfQ09QWShwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0FTX1VOSUNPREUoeCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXRzaXplKTsKLSAgICAgICAgICAgICAgICAgICAgcCArPSB0YXJnZXRzaXplOworICAgICAgICAgICAgICAgICAgICBpZiAodW5pY29kZV93aWRlbigmdiwgUHlVbmljb2RlX01BWF9DSEFSX1ZBTFVFKHgpKSA8IDApCisgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIG9uRXJyb3I7CisgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9Db3B5Q2hhcmFjdGVycyh2LCBvdXRwb3MsIHgsIDAsIHRhcmdldHNpemUpOworICAgICAgICAgICAgICAgICAgICBvdXRwb3MgKz0gdGFyZ2V0c2l6ZTsKICAgICAgICAgICAgICAgICAgICAgZXh0cmFjaGFycyAtPSB0YXJnZXRzaXplOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAvKiAxLTAgbWFwcGluZzogc2tpcCB0aGUgY2hhcmFjdGVyICovCkBAIC01MzI2LDEyICs3OTE1LDExIEBACiAgICAgICAgICAgICArK3M7CiAgICAgICAgIH0KICAgICB9Ci0gICAgaWYgKHAgLSBQeVVuaWNvZGVfQVNfVU5JQ09ERSh2KSA8IFB5VW5pY29kZV9HRVRfU0laRSh2KSkKLSAgICAgICAgaWYgKF9QeVVuaWNvZGVfUmVzaXplKCZ2LCBwIC0gUHlVbmljb2RlX0FTX1VOSUNPREUodikpIDwgMCkKLSAgICAgICAgICAgIGdvdG8gb25FcnJvcjsKKyAgICBpZiAodW5pY29kZV9yZXNpemUoJnYsIG91dHBvcykgPCAwKQorICAgICAgICBnb3RvIG9uRXJyb3I7CiAgICAgUHlfWERFQ1JFRihlcnJvckhhbmRsZXIpOwogICAgIFB5X1hERUNSRUYoZXhjKTsKLSAgICByZXR1cm4gKFB5T2JqZWN0ICopdjsKKyAgICByZXR1cm4gdW5pY29kZV9yZXN1bHQodik7CiAKICAgb25FcnJvcjoKICAgICBQeV9YREVDUkVGKGVycm9ySGFuZGxlcik7CkBAIC01MzQyLDcgKzc5MzAsNyBAQAogCiAvKiBDaGFybWFwIGVuY29kaW5nOiB0aGUgbG9va3VwIHRhYmxlICovCiAKLXN0cnVjdCBlbmNvZGluZ19tYXB7CitzdHJ1Y3QgZW5jb2RpbmdfbWFwIHsKICAgICBQeU9iamVjdF9IRUFECiAgICAgdW5zaWduZWQgY2hhciBsZXZlbDFbMzJdOwogICAgIGludCBjb3VudDIsIGNvdW50MzsKQEAgLTU0MTYsNyArODAwNCw2IEBACiBQeU9iamVjdCoKIFB5VW5pY29kZV9CdWlsZEVuY29kaW5nTWFwKFB5T2JqZWN0KiBzdHJpbmcpCiB7Ci0gICAgUHlfVU5JQ09ERSAqZGVjb2RlOwogICAgIFB5T2JqZWN0ICpyZXN1bHQ7CiAgICAgc3RydWN0IGVuY29kaW5nX21hcCAqbXJlc3VsdDsKICAgICBpbnQgaTsKQEAgLTU0MjUsMzUgKzgwMTIsMzYgQEAKICAgICB1bnNpZ25lZCBjaGFyIGxldmVsMls1MTJdOwogICAgIHVuc2lnbmVkIGNoYXIgKm1sZXZlbDEsICptbGV2ZWwyLCAqbWxldmVsMzsKICAgICBpbnQgY291bnQyID0gMCwgY291bnQzID0gMDsKKyAgICBpbnQga2luZDsKKyAgICB2b2lkICpkYXRhOworICAgIFB5X1VDUzQgY2g7CiAKLSAgICBpZiAoIVB5VW5pY29kZV9DaGVjayhzdHJpbmcpIHx8IFB5VW5pY29kZV9HZXRTaXplKHN0cmluZykgIT0gMjU2KSB7CisgICAgaWYgKCFQeVVuaWNvZGVfQ2hlY2soc3RyaW5nKSB8fCBQeVVuaWNvZGVfR0VUX0xFTkdUSChzdHJpbmcpICE9IDI1NikgewogICAgICAgICBQeUVycl9CYWRBcmd1bWVudCgpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9Ci0gICAgZGVjb2RlID0gUHlVbmljb2RlX0FTX1VOSUNPREUoc3RyaW5nKTsKKyAgICBraW5kID0gUHlVbmljb2RlX0tJTkQoc3RyaW5nKTsKKyAgICBkYXRhID0gUHlVbmljb2RlX0RBVEEoc3RyaW5nKTsKICAgICBtZW1zZXQobGV2ZWwxLCAweEZGLCBzaXplb2YgbGV2ZWwxKTsKICAgICBtZW1zZXQobGV2ZWwyLCAweEZGLCBzaXplb2YgbGV2ZWwyKTsKIAogICAgIC8qIElmIHRoZXJlIGlzbid0IGEgb25lLXRvLW9uZSBtYXBwaW5nIG9mIE5VTEwgdG8gXDAsCiAgICAgICAgb3IgaWYgdGhlcmUgYXJlIG5vbi1CTVAgY2hhcmFjdGVycywgd2UgbmVlZCB0byB1c2UKICAgICAgICBhIG1hcHBpbmcgZGljdGlvbmFyeS4gKi8KLSAgICBpZiAoZGVjb2RlWzBdICE9IDApCisgICAgaWYgKFB5VW5pY29kZV9SRUFEKGtpbmQsIGRhdGEsIDApICE9IDApCiAgICAgICAgIG5lZWRfZGljdCA9IDE7CiAgICAgZm9yIChpID0gMTsgaSA8IDI1NjsgaSsrKSB7CiAgICAgICAgIGludCBsMSwgbDI7Ci0gICAgICAgIGlmIChkZWNvZGVbaV0gPT0gMAotI2lmZGVmIFB5X1VOSUNPREVfV0lERQotICAgICAgICAgICAgfHwgZGVjb2RlW2ldID4gMHhGRkZGCi0jZW5kaWYKLSAgICAgICAgICAgICkgeworICAgICAgICBjaCA9IFB5VW5pY29kZV9SRUFEKGtpbmQsIGRhdGEsIGkpOworICAgICAgICBpZiAoY2ggPT0gMCB8fCBjaCA+IDB4RkZGRikgewogICAgICAgICAgICAgbmVlZF9kaWN0ID0gMTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9Ci0gICAgICAgIGlmIChkZWNvZGVbaV0gPT0gMHhGRkZFKQorICAgICAgICBpZiAoY2ggPT0gMHhGRkZFKQogICAgICAgICAgICAgLyogdW5tYXBwZWQgY2hhcmFjdGVyICovCiAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgbDEgPSBkZWNvZGVbaV0gPj4gMTE7Ci0gICAgICAgIGwyID0gZGVjb2RlW2ldID4+IDc7CisgICAgICAgIGwxID0gY2ggPj4gMTE7CisgICAgICAgIGwyID0gY2ggPj4gNzsKICAgICAgICAgaWYgKGxldmVsMVtsMV0gPT0gMHhGRikKICAgICAgICAgICAgIGxldmVsMVtsMV0gPSBjb3VudDIrKzsKICAgICAgICAgaWYgKGxldmVsMltsMl0gPT0gMHhGRikKQEAgLTU0NjksOCArODA1Nyw3IEBACiAgICAgICAgIGlmICghcmVzdWx0KQogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgIGZvciAoaSA9IDA7IGkgPCAyNTY7IGkrKykgewotICAgICAgICAgICAga2V5ID0gdmFsdWUgPSBOVUxMOwotICAgICAgICAgICAga2V5ID0gUHlMb25nX0Zyb21Mb25nKGRlY29kZVtpXSk7CisgICAgICAgICAgICBrZXkgPSBQeUxvbmdfRnJvbUxvbmcoUHlVbmljb2RlX1JFQUQoa2luZCwgZGF0YSwgaSkpOwogICAgICAgICAgICAgdmFsdWUgPSBQeUxvbmdfRnJvbUxvbmcoaSk7CiAgICAgICAgICAgICBpZiAoIWtleSB8fCAhdmFsdWUpCiAgICAgICAgICAgICAgICAgZ290byBmYWlsZWQxOwpAQCAtNTUwNSwxNSArODA5MiwxNSBAQAogICAgIGNvdW50MyA9IDA7CiAgICAgZm9yIChpID0gMTsgaSA8IDI1NjsgaSsrKSB7CiAgICAgICAgIGludCBvMSwgbzIsIG8zLCBpMiwgaTM7Ci0gICAgICAgIGlmIChkZWNvZGVbaV0gPT0gMHhGRkZFKQorICAgICAgICBpZiAoUHlVbmljb2RlX1JFQUQoa2luZCwgZGF0YSwgaSkgPT0gMHhGRkZFKQogICAgICAgICAgICAgLyogdW5tYXBwZWQgY2hhcmFjdGVyICovCiAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgbzEgPSBkZWNvZGVbaV0+PjExOwotICAgICAgICBvMiA9IChkZWNvZGVbaV0+PjcpICYgMHhGOworICAgICAgICBvMSA9IFB5VW5pY29kZV9SRUFEKGtpbmQsIGRhdGEsIGkpPj4xMTsKKyAgICAgICAgbzIgPSAoUHlVbmljb2RlX1JFQUQoa2luZCwgZGF0YSwgaSk+PjcpICYgMHhGOwogICAgICAgICBpMiA9IDE2Km1sZXZlbDFbbzFdICsgbzI7CiAgICAgICAgIGlmIChtbGV2ZWwyW2kyXSA9PSAweEZGKQogICAgICAgICAgICAgbWxldmVsMltpMl0gPSBjb3VudDMrKzsKLSAgICAgICAgbzMgPSBkZWNvZGVbaV0gJiAweDdGOworICAgICAgICBvMyA9IFB5VW5pY29kZV9SRUFEKGtpbmQsIGRhdGEsIGkpICYgMHg3RjsKICAgICAgICAgaTMgPSAxMjgqbWxldmVsMltpMl0gKyBvMzsKICAgICAgICAgbWxldmVsM1tpM10gPSBpOwogICAgIH0KQEAgLTU1MjEsNyArODEwOCw3IEBACiB9CiAKIHN0YXRpYyBpbnQKLWVuY29kaW5nX21hcF9sb29rdXAoUHlfVU5JQ09ERSBjLCBQeU9iamVjdCAqbWFwcGluZykKK2VuY29kaW5nX21hcF9sb29rdXAoUHlfVUNTNCBjLCBQeU9iamVjdCAqbWFwcGluZykKIHsKICAgICBzdHJ1Y3QgZW5jb2RpbmdfbWFwICptYXAgPSAoc3RydWN0IGVuY29kaW5nX21hcCopbWFwcGluZzsKICAgICBpbnQgbDEgPSBjPj4xMTsKQEAgLTU1MjksMTEgKzgxMTYsOCBAQAogICAgIGludCBsMyA9IGMgJiAweDdGOwogICAgIGludCBpOwogCi0jaWZkZWYgUHlfVU5JQ09ERV9XSURFCi0gICAgaWYgKGMgPiAweEZGRkYpIHsKKyAgICBpZiAoYyA+IDB4RkZGRikKICAgICAgICAgcmV0dXJuIC0xOwotICAgIH0KLSNlbmRpZgogICAgIGlmIChjID09IDApCiAgICAgICAgIHJldHVybiAwOwogICAgIC8qIGxldmVsIDEqLwpAQCAtNTU1Nyw3ICs4MTQxLDggQEAKIC8qIExvb2t1cCB0aGUgY2hhcmFjdGVyIGNoIGluIHRoZSBtYXBwaW5nLiBJZiB0aGUgY2hhcmFjdGVyCiAgICBjYW4ndCBiZSBmb3VuZCwgUHlfTm9uZSBpcyByZXR1cm5lZCAob3IgTlVMTCwgaWYgYW5vdGhlcgogICAgZXJyb3Igb2NjdXJyZWQpLiAqLwotc3RhdGljIFB5T2JqZWN0ICpjaGFybWFwZW5jb2RlX2xvb2t1cChQeV9VTklDT0RFIGMsIFB5T2JqZWN0ICptYXBwaW5nKQorc3RhdGljIFB5T2JqZWN0ICoKK2NoYXJtYXBlbmNvZGVfbG9va3VwKFB5X1VDUzQgYywgUHlPYmplY3QgKm1hcHBpbmcpCiB7CiAgICAgUHlPYmplY3QgKncgPSBQeUxvbmdfRnJvbUxvbmcoKGxvbmcpYyk7CiAgICAgUHlPYmplY3QgKng7CkBAIC01NjE0LDE2ICs4MTk5LDE2IEBACiAKIHR5cGVkZWYgZW51bSBjaGFybWFwZW5jb2RlX3Jlc3VsdCB7CiAgICAgZW5jX1NVQ0NFU1MsIGVuY19GQUlMRUQsIGVuY19FWENFUFRJT04KLX1jaGFybWFwZW5jb2RlX3Jlc3VsdDsKK30gY2hhcm1hcGVuY29kZV9yZXN1bHQ7CiAvKiBsb29rdXAgdGhlIGNoYXJhY3RlciwgcHV0IHRoZSByZXN1bHQgaW4gdGhlIG91dHB1dCBzdHJpbmcgYW5kIGFkanVzdAogICAgdmFyaW91cyBzdGF0ZSB2YXJpYWJsZXMuIFJlc2l6ZSB0aGUgb3V0cHV0IGJ5dGVzIG9iamVjdCBpZiBub3QgZW5vdWdoCiAgICBzcGFjZSBpcyBhdmFpbGFibGUuIFJldHVybiBhIG5ldyByZWZlcmVuY2UgdG8gdGhlIG9iamVjdCB0aGF0CiAgICB3YXMgcHV0IGluIHRoZSBvdXRwdXQgYnVmZmVyLCBvciBQeV9Ob25lLCBpZiB0aGUgbWFwcGluZyB3YXMgdW5kZWZpbmVkCiAgICAoaW4gd2hpY2ggY2FzZSBubyBjaGFyYWN0ZXIgd2FzIHdyaXR0ZW4pIG9yIE5VTEwsIGlmIGEKICAgIHJlYWxsb2NhdGlvbiBlcnJvciBvY2N1cnJlZC4gVGhlIGNhbGxlciBtdXN0IGRlY3JlZiB0aGUgcmVzdWx0ICovCi1zdGF0aWMKLWNoYXJtYXBlbmNvZGVfcmVzdWx0IGNoYXJtYXBlbmNvZGVfb3V0cHV0KFB5X1VOSUNPREUgYywgUHlPYmplY3QgKm1hcHBpbmcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeU9iamVjdCAqKm91dG9iaiwgUHlfc3NpemVfdCAqb3V0cG9zKQorc3RhdGljIGNoYXJtYXBlbmNvZGVfcmVzdWx0CitjaGFybWFwZW5jb2RlX291dHB1dChQeV9VQ1M0IGMsIFB5T2JqZWN0ICptYXBwaW5nLAorICAgICAgICAgICAgICAgICAgICAgUHlPYmplY3QgKipvdXRvYmosIFB5X3NzaXplX3QgKm91dHBvcykKIHsKICAgICBQeU9iamVjdCAqcmVwOwogICAgIGNoYXIgKm91dHN0YXJ0OwpAQCAtNTY3OSwxNyArODI2NCwxOSBAQAogCiAvKiBoYW5kbGUgYW4gZXJyb3IgaW4gUHlVbmljb2RlX0VuY29kZUNoYXJtYXAKICAgIFJldHVybiAwIG9uIHN1Y2Nlc3MsIC0xIG9uIGVycm9yICovCi1zdGF0aWMKLWludCBjaGFybWFwX2VuY29kaW5nX2Vycm9yKAotICAgIGNvbnN0IFB5X1VOSUNPREUgKnAsIFB5X3NzaXplX3Qgc2l6ZSwgUHlfc3NpemVfdCAqaW5wb3MsIFB5T2JqZWN0ICptYXBwaW5nLAorc3RhdGljIGludAorY2hhcm1hcF9lbmNvZGluZ19lcnJvcigKKyAgICBQeU9iamVjdCAqdW5pY29kZSwgUHlfc3NpemVfdCAqaW5wb3MsIFB5T2JqZWN0ICptYXBwaW5nLAogICAgIFB5T2JqZWN0ICoqZXhjZXB0aW9uT2JqZWN0LAogICAgIGludCAqa25vd25fZXJyb3JIYW5kbGVyLCBQeU9iamVjdCAqKmVycm9ySGFuZGxlciwgY29uc3QgY2hhciAqZXJyb3JzLAogICAgIFB5T2JqZWN0ICoqcmVzLCBQeV9zc2l6ZV90ICpyZXNwb3MpCiB7CiAgICAgUHlPYmplY3QgKnJlcHVuaWNvZGUgPSBOVUxMOyAvKiBpbml0aWFsaXplIHRvIHByZXZlbnQgZ2NjIHdhcm5pbmcgKi8KLSAgICBQeV9zc2l6ZV90IHJlcHNpemU7CisgICAgUHlfc3NpemVfdCBzaXplLCByZXBzaXplOwogICAgIFB5X3NzaXplX3QgbmV3cG9zOwotICAgIFB5X1VOSUNPREUgKnVuaTI7CisgICAgZW51bSBQeVVuaWNvZGVfS2luZCBraW5kOworICAgIHZvaWQgKmRhdGE7CisgICAgUHlfc3NpemVfdCBpbmRleDsKICAgICAvKiBzdGFydHBvcyBmb3IgY29sbGVjdGluZyB1bmVuY29kYWJsZSBjaGFycyAqLwogICAgIFB5X3NzaXplX3QgY29sbHN0YXJ0cG9zID0gKmlucG9zOwogICAgIFB5X3NzaXplX3QgY29sbGVuZHBvcyA9ICppbnBvcysxOwpAQCAtNTY5NywxOSArODI4NCwyNiBAQAogICAgIGNoYXIgKmVuY29kaW5nID0gImNoYXJtYXAiOwogICAgIGNoYXIgKnJlYXNvbiA9ICJjaGFyYWN0ZXIgbWFwcyB0byA8dW5kZWZpbmVkPiI7CiAgICAgY2hhcm1hcGVuY29kZV9yZXN1bHQgeDsKKyAgICBQeV9VQ1M0IGNoOworICAgIGludCB2YWw7CiAKKyAgICBpZiAoUHlVbmljb2RlX1JFQURZKHVuaWNvZGUpID09IC0xKQorICAgICAgICByZXR1cm4gLTE7CisgICAgc2l6ZSA9IFB5VW5pY29kZV9HRVRfTEVOR1RIKHVuaWNvZGUpOwogICAgIC8qIGZpbmQgYWxsIHVuZW5jb2RhYmxlIGNoYXJhY3RlcnMgKi8KICAgICB3aGlsZSAoY29sbGVuZHBvcyA8IHNpemUpIHsKICAgICAgICAgUHlPYmplY3QgKnJlcDsKICAgICAgICAgaWYgKFB5X1RZUEUobWFwcGluZykgPT0gJkVuY29kaW5nTWFwVHlwZSkgewotICAgICAgICAgICAgaW50IHJlcyA9IGVuY29kaW5nX21hcF9sb29rdXAocFtjb2xsZW5kcG9zXSwgbWFwcGluZyk7Ci0gICAgICAgICAgICBpZiAocmVzICE9IC0xKQorICAgICAgICAgICAgY2ggPSBQeVVuaWNvZGVfUkVBRF9DSEFSKHVuaWNvZGUsIGNvbGxlbmRwb3MpOworICAgICAgICAgICAgdmFsID0gZW5jb2RpbmdfbWFwX2xvb2t1cChjaCwgbWFwcGluZyk7CisgICAgICAgICAgICBpZiAodmFsICE9IC0xKQogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgKytjb2xsZW5kcG9zOwogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0KIAotICAgICAgICByZXAgPSBjaGFybWFwZW5jb2RlX2xvb2t1cChwW2NvbGxlbmRwb3NdLCBtYXBwaW5nKTsKKyAgICAgICAgY2ggPSBQeVVuaWNvZGVfUkVBRF9DSEFSKHVuaWNvZGUsIGNvbGxlbmRwb3MpOworICAgICAgICByZXAgPSBjaGFybWFwZW5jb2RlX2xvb2t1cChjaCwgbWFwcGluZyk7CiAgICAgICAgIGlmIChyZXA9PU5VTEwpCiAgICAgICAgICAgICByZXR1cm4gLTE7CiAgICAgICAgIGVsc2UgaWYgKHJlcCE9UHlfTm9uZSkgewpAQCAtNTczNSw3ICs4MzI5LDcgQEAKICAgICB9CiAgICAgc3dpdGNoICgqa25vd25fZXJyb3JIYW5kbGVyKSB7CiAgICAgY2FzZSAxOiAvKiBzdHJpY3QgKi8KLSAgICAgICAgcmFpc2VfZW5jb2RlX2V4Y2VwdGlvbihleGNlcHRpb25PYmplY3QsIGVuY29kaW5nLCBwLCBzaXplLCBjb2xsc3RhcnRwb3MsIGNvbGxlbmRwb3MsIHJlYXNvbik7CisgICAgICAgIHJhaXNlX2VuY29kZV9leGNlcHRpb24oZXhjZXB0aW9uT2JqZWN0LCBlbmNvZGluZywgdW5pY29kZSwgY29sbHN0YXJ0cG9zLCBjb2xsZW5kcG9zLCByZWFzb24pOwogICAgICAgICByZXR1cm4gLTE7CiAgICAgY2FzZSAyOiAvKiByZXBsYWNlICovCiAgICAgICAgIGZvciAoY29sbHBvcyA9IGNvbGxzdGFydHBvczsgY29sbHBvczxjb2xsZW5kcG9zOyArK2NvbGxwb3MpIHsKQEAgLTU3NDQsNyArODMzOCw3IEBACiAgICAgICAgICAgICAgICAgcmV0dXJuIC0xOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgZWxzZSBpZiAoeD09ZW5jX0ZBSUxFRCkgewotICAgICAgICAgICAgICAgIHJhaXNlX2VuY29kZV9leGNlcHRpb24oZXhjZXB0aW9uT2JqZWN0LCBlbmNvZGluZywgcCwgc2l6ZSwgY29sbHN0YXJ0cG9zLCBjb2xsZW5kcG9zLCByZWFzb24pOworICAgICAgICAgICAgICAgIHJhaXNlX2VuY29kZV9leGNlcHRpb24oZXhjZXB0aW9uT2JqZWN0LCBlbmNvZGluZywgdW5pY29kZSwgY29sbHN0YXJ0cG9zLCBjb2xsZW5kcG9zLCByZWFzb24pOwogICAgICAgICAgICAgICAgIHJldHVybiAtMTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQpAQCAtNTc1NywxMyArODM1MSwxMyBAQAogICAgICAgICBmb3IgKGNvbGxwb3MgPSBjb2xsc3RhcnRwb3M7IGNvbGxwb3MgPCBjb2xsZW5kcG9zOyArK2NvbGxwb3MpIHsKICAgICAgICAgICAgIGNoYXIgYnVmZmVyWzIrMjkrMSsxXTsKICAgICAgICAgICAgIGNoYXIgKmNwOwotICAgICAgICAgICAgc3ByaW50ZihidWZmZXIsICImIyVkOyIsIChpbnQpcFtjb2xscG9zXSk7CisgICAgICAgICAgICBzcHJpbnRmKGJ1ZmZlciwgIiYjJWQ7IiwgKGludClQeVVuaWNvZGVfUkVBRF9DSEFSKHVuaWNvZGUsIGNvbGxwb3MpKTsKICAgICAgICAgICAgIGZvciAoY3AgPSBidWZmZXI7ICpjcDsgKytjcCkgewogICAgICAgICAgICAgICAgIHggPSBjaGFybWFwZW5jb2RlX291dHB1dCgqY3AsIG1hcHBpbmcsIHJlcywgcmVzcG9zKTsKICAgICAgICAgICAgICAgICBpZiAoeD09ZW5jX0VYQ0VQVElPTikKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC0xOwogICAgICAgICAgICAgICAgIGVsc2UgaWYgKHg9PWVuY19GQUlMRUQpIHsKLSAgICAgICAgICAgICAgICAgICAgcmFpc2VfZW5jb2RlX2V4Y2VwdGlvbihleGNlcHRpb25PYmplY3QsIGVuY29kaW5nLCBwLCBzaXplLCBjb2xsc3RhcnRwb3MsIGNvbGxlbmRwb3MsIHJlYXNvbik7CisgICAgICAgICAgICAgICAgICAgIHJhaXNlX2VuY29kZV9leGNlcHRpb24oZXhjZXB0aW9uT2JqZWN0LCBlbmNvZGluZywgdW5pY29kZSwgY29sbHN0YXJ0cG9zLCBjb2xsZW5kcG9zLCByZWFzb24pOwogICAgICAgICAgICAgICAgICAgICByZXR1cm4gLTE7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQpAQCAtNTc3Miw3ICs4MzY2LDcgQEAKICAgICAgICAgYnJlYWs7CiAgICAgZGVmYXVsdDoKICAgICAgICAgcmVwdW5pY29kZSA9IHVuaWNvZGVfZW5jb2RlX2NhbGxfZXJyb3JoYW5kbGVyKGVycm9ycywgZXJyb3JIYW5kbGVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5jb2RpbmcsIHJlYXNvbiwgcCwgc2l6ZSwgZXhjZXB0aW9uT2JqZWN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5jb2RpbmcsIHJlYXNvbiwgdW5pY29kZSwgZXhjZXB0aW9uT2JqZWN0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sbHN0YXJ0cG9zLCBjb2xsZW5kcG9zLCAmbmV3cG9zKTsKICAgICAgICAgaWYgKHJlcHVuaWNvZGUgPT0gTlVMTCkKICAgICAgICAgICAgIHJldHVybiAtMTsKQEAgLTU3OTYsMTUgKzgzOTAsMjMgQEAKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgICAgIC8qIGdlbmVyYXRlIHJlcGxhY2VtZW50ICAqLwotICAgICAgICByZXBzaXplID0gUHlVbmljb2RlX0dFVF9TSVpFKHJlcHVuaWNvZGUpOwotICAgICAgICBmb3IgKHVuaTIgPSBQeVVuaWNvZGVfQVNfVU5JQ09ERShyZXB1bmljb2RlKTsgcmVwc2l6ZS0tPjA7ICsrdW5pMikgewotICAgICAgICAgICAgeCA9IGNoYXJtYXBlbmNvZGVfb3V0cHV0KCp1bmkyLCBtYXBwaW5nLCByZXMsIHJlc3Bvcyk7CisgICAgICAgIGlmIChQeVVuaWNvZGVfUkVBRFkocmVwdW5pY29kZSkgPT0gLTEpIHsKKyAgICAgICAgICAgIFB5X0RFQ1JFRihyZXB1bmljb2RlKTsKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgfQorICAgICAgICByZXBzaXplID0gUHlVbmljb2RlX0dFVF9MRU5HVEgocmVwdW5pY29kZSk7CisgICAgICAgIGRhdGEgPSBQeVVuaWNvZGVfREFUQShyZXB1bmljb2RlKTsKKyAgICAgICAga2luZCA9IFB5VW5pY29kZV9LSU5EKHJlcHVuaWNvZGUpOworICAgICAgICBmb3IgKGluZGV4ID0gMDsgaW5kZXggPCByZXBzaXplOyBpbmRleCsrKSB7CisgICAgICAgICAgICBQeV9VQ1M0IHJlcGNoID0gUHlVbmljb2RlX1JFQUQoa2luZCwgZGF0YSwgaW5kZXgpOworICAgICAgICAgICAgeCA9IGNoYXJtYXBlbmNvZGVfb3V0cHV0KHJlcGNoLCBtYXBwaW5nLCByZXMsIHJlc3Bvcyk7CiAgICAgICAgICAgICBpZiAoeD09ZW5jX0VYQ0VQVElPTikgeworICAgICAgICAgICAgICAgIFB5X0RFQ1JFRihyZXB1bmljb2RlKTsKICAgICAgICAgICAgICAgICByZXR1cm4gLTE7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBlbHNlIGlmICh4PT1lbmNfRkFJTEVEKSB7CiAgICAgICAgICAgICAgICAgUHlfREVDUkVGKHJlcHVuaWNvZGUpOwotICAgICAgICAgICAgICAgIHJhaXNlX2VuY29kZV9leGNlcHRpb24oZXhjZXB0aW9uT2JqZWN0LCBlbmNvZGluZywgcCwgc2l6ZSwgY29sbHN0YXJ0cG9zLCBjb2xsZW5kcG9zLCByZWFzb24pOworICAgICAgICAgICAgICAgIHJhaXNlX2VuY29kZV9leGNlcHRpb24oZXhjZXB0aW9uT2JqZWN0LCBlbmNvZGluZywgdW5pY29kZSwgY29sbHN0YXJ0cG9zLCBjb2xsZW5kcG9zLCByZWFzb24pOwogICAgICAgICAgICAgICAgIHJldHVybiAtMTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQpAQCAtNTgxNCwxNSArODQxNiwxNiBAQAogICAgIHJldHVybiAwOwogfQogCi1QeU9iamVjdCAqUHlVbmljb2RlX0VuY29kZUNoYXJtYXAoY29uc3QgUHlfVU5JQ09ERSAqcCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IHNpemUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlPYmplY3QgKm1hcHBpbmcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZXJyb3JzKQorUHlPYmplY3QgKgorX1B5VW5pY29kZV9FbmNvZGVDaGFybWFwKFB5T2JqZWN0ICp1bmljb2RlLAorICAgICAgICAgICAgICAgICAgICAgICAgIFB5T2JqZWN0ICptYXBwaW5nLAorICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmVycm9ycykKIHsKICAgICAvKiBvdXRwdXQgb2JqZWN0ICovCiAgICAgUHlPYmplY3QgKnJlcyA9IE5VTEw7CiAgICAgLyogY3VycmVudCBpbnB1dCBwb3NpdGlvbiAqLwogICAgIFB5X3NzaXplX3QgaW5wb3MgPSAwOworICAgIFB5X3NzaXplX3Qgc2l6ZTsKICAgICAvKiBjdXJyZW50IG91dHB1dCBwb3NpdGlvbiAqLwogICAgIFB5X3NzaXplX3QgcmVzcG9zID0gMDsKICAgICBQeU9iamVjdCAqZXJyb3JIYW5kbGVyID0gTlVMTDsKQEAgLTU4MzIsOSArODQzNSwxMyBAQAogICAgICAqIDM9aWdub3JlLCA0PXhtbGNoYXJyZWZyZXBsYWNlICovCiAgICAgaW50IGtub3duX2Vycm9ySGFuZGxlciA9IC0xOwogCisgICAgaWYgKFB5VW5pY29kZV9SRUFEWSh1bmljb2RlKSA9PSAtMSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgc2l6ZSA9IFB5VW5pY29kZV9HRVRfTEVOR1RIKHVuaWNvZGUpOworCiAgICAgLyogRGVmYXVsdCB0byBMYXRpbi0xICovCiAgICAgaWYgKG1hcHBpbmcgPT0gTlVMTCkKLSAgICAgICAgcmV0dXJuIFB5VW5pY29kZV9FbmNvZGVMYXRpbjEocCwgc2l6ZSwgZXJyb3JzKTsKKyAgICAgICAgcmV0dXJuIHVuaWNvZGVfZW5jb2RlX3VjczEodW5pY29kZSwgZXJyb3JzLCAyNTYpOwogCiAgICAgLyogYWxsb2NhdGUgZW5vdWdoIGZvciBhIHNpbXBsZSBlbmNvZGluZyB3aXRob3V0CiAgICAgICAgcmVwbGFjZW1lbnRzLCBpZiB3ZSBuZWVkIG1vcmUsIHdlJ2xsIHJlc2l6ZSAqLwpAQCAtNTg0NSwxMiArODQ1MiwxMyBAQAogICAgICAgICByZXR1cm4gcmVzOwogCiAgICAgd2hpbGUgKGlucG9zPHNpemUpIHsKKyAgICAgICAgUHlfVUNTNCBjaCA9IFB5VW5pY29kZV9SRUFEX0NIQVIodW5pY29kZSwgaW5wb3MpOwogICAgICAgICAvKiB0cnkgdG8gZW5jb2RlIGl0ICovCi0gICAgICAgIGNoYXJtYXBlbmNvZGVfcmVzdWx0IHggPSBjaGFybWFwZW5jb2RlX291dHB1dChwW2lucG9zXSwgbWFwcGluZywgJnJlcywgJnJlc3Bvcyk7CisgICAgICAgIGNoYXJtYXBlbmNvZGVfcmVzdWx0IHggPSBjaGFybWFwZW5jb2RlX291dHB1dChjaCwgbWFwcGluZywgJnJlcywgJnJlc3Bvcyk7CiAgICAgICAgIGlmICh4PT1lbmNfRVhDRVBUSU9OKSAvKiBlcnJvciAqLwogICAgICAgICAgICAgZ290byBvbkVycm9yOwogICAgICAgICBpZiAoeD09ZW5jX0ZBSUxFRCkgeyAvKiB1bmVuY29kYWJsZSBjaGFyYWN0ZXIgKi8KLSAgICAgICAgICAgIGlmIChjaGFybWFwX2VuY29kaW5nX2Vycm9yKHAsIHNpemUsICZpbnBvcywgbWFwcGluZywKKyAgICAgICAgICAgIGlmIChjaGFybWFwX2VuY29kaW5nX2Vycm9yKHVuaWNvZGUsICZpbnBvcywgbWFwcGluZywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZleGMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAma25vd25fZXJyb3JIYW5kbGVyLCAmZXJyb3JIYW5kbGVyLCBlcnJvcnMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcmVzLCAmcmVzcG9zKSkgewpAQCAtNTg3OCwyOCArODQ4Niw0MyBAQAogICAgIHJldHVybiBOVUxMOwogfQogCi1QeU9iamVjdCAqUHlVbmljb2RlX0FzQ2hhcm1hcFN0cmluZyhQeU9iamVjdCAqdW5pY29kZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5T2JqZWN0ICptYXBwaW5nKQorLyogRGVwcmVjYXRlZCAqLworUHlPYmplY3QgKgorUHlVbmljb2RlX0VuY29kZUNoYXJtYXAoY29uc3QgUHlfVU5JQ09ERSAqcCwKKyAgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3Qgc2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIFB5T2JqZWN0ICptYXBwaW5nLAorICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZXJyb3JzKQoreworICAgIFB5T2JqZWN0ICpyZXN1bHQ7CisgICAgUHlPYmplY3QgKnVuaWNvZGUgPSBQeVVuaWNvZGVfRnJvbVVuaWNvZGUocCwgc2l6ZSk7CisgICAgaWYgKHVuaWNvZGUgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgcmVzdWx0ID0gX1B5VW5pY29kZV9FbmNvZGVDaGFybWFwKHVuaWNvZGUsIG1hcHBpbmcsIGVycm9ycyk7CisgICAgUHlfREVDUkVGKHVuaWNvZGUpOworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK1B5T2JqZWN0ICoKK1B5VW5pY29kZV9Bc0NoYXJtYXBTdHJpbmcoUHlPYmplY3QgKnVuaWNvZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgIFB5T2JqZWN0ICptYXBwaW5nKQogewogICAgIGlmICghUHlVbmljb2RlX0NoZWNrKHVuaWNvZGUpIHx8IG1hcHBpbmcgPT0gTlVMTCkgewogICAgICAgICBQeUVycl9CYWRBcmd1bWVudCgpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9Ci0gICAgcmV0dXJuIFB5VW5pY29kZV9FbmNvZGVDaGFybWFwKFB5VW5pY29kZV9BU19VTklDT0RFKHVuaWNvZGUpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfR0VUX1NJWkUodW5pY29kZSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwpOworICAgIHJldHVybiBfUHlVbmljb2RlX0VuY29kZUNoYXJtYXAodW5pY29kZSwgbWFwcGluZywgTlVMTCk7CiB9CiAKIC8qIGNyZWF0ZSBvciBhZGp1c3QgYSBVbmljb2RlVHJhbnNsYXRlRXJyb3IgKi8KLXN0YXRpYyB2b2lkIG1ha2VfdHJhbnNsYXRlX2V4Y2VwdGlvbihQeU9iamVjdCAqKmV4Y2VwdGlvbk9iamVjdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBQeV9VTklDT0RFICp1bmljb2RlLCBQeV9zc2l6ZV90IHNpemUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBzdGFydHBvcywgUHlfc3NpemVfdCBlbmRwb3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqcmVhc29uKQorc3RhdGljIHZvaWQKK21ha2VfdHJhbnNsYXRlX2V4Y2VwdGlvbihQeU9iamVjdCAqKmV4Y2VwdGlvbk9iamVjdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICBQeU9iamVjdCAqdW5pY29kZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IHN0YXJ0cG9zLCBQeV9zc2l6ZV90IGVuZHBvcywKKyAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpyZWFzb24pCiB7CiAgICAgaWYgKCpleGNlcHRpb25PYmplY3QgPT0gTlVMTCkgewotICAgICAgICAqZXhjZXB0aW9uT2JqZWN0ID0gUHlVbmljb2RlVHJhbnNsYXRlRXJyb3JfQ3JlYXRlKAotICAgICAgICAgICAgdW5pY29kZSwgc2l6ZSwgc3RhcnRwb3MsIGVuZHBvcywgcmVhc29uKTsKKyAgICAgICAgKmV4Y2VwdGlvbk9iamVjdCA9IF9QeVVuaWNvZGVUcmFuc2xhdGVFcnJvcl9DcmVhdGUoCisgICAgICAgICAgICB1bmljb2RlLCBzdGFydHBvcywgZW5kcG9zLCByZWFzb24pOwogICAgIH0KICAgICBlbHNlIHsKICAgICAgICAgaWYgKFB5VW5pY29kZVRyYW5zbGF0ZUVycm9yX1NldFN0YXJ0KCpleGNlcHRpb25PYmplY3QsIHN0YXJ0cG9zKSkKQEAgLTU5MTYsMTMgKzg1MzksMTQgQEAKIH0KIAogLyogcmFpc2VzIGEgVW5pY29kZVRyYW5zbGF0ZUVycm9yICovCi1zdGF0aWMgdm9pZCByYWlzZV90cmFuc2xhdGVfZXhjZXB0aW9uKFB5T2JqZWN0ICoqZXhjZXB0aW9uT2JqZWN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBQeV9VTklDT0RFICp1bmljb2RlLCBQeV9zc2l6ZV90IHNpemUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3Qgc3RhcnRwb3MsIFB5X3NzaXplX3QgZW5kcG9zLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpyZWFzb24pCitzdGF0aWMgdm9pZAorcmFpc2VfdHJhbnNsYXRlX2V4Y2VwdGlvbihQeU9iamVjdCAqKmV4Y2VwdGlvbk9iamVjdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgUHlPYmplY3QgKnVuaWNvZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3Qgc3RhcnRwb3MsIFB5X3NzaXplX3QgZW5kcG9zLAorICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpyZWFzb24pCiB7CiAgICAgbWFrZV90cmFuc2xhdGVfZXhjZXB0aW9uKGV4Y2VwdGlvbk9iamVjdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5pY29kZSwgc2l6ZSwgc3RhcnRwb3MsIGVuZHBvcywgcmVhc29uKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5pY29kZSwgc3RhcnRwb3MsIGVuZHBvcywgcmVhc29uKTsKICAgICBpZiAoKmV4Y2VwdGlvbk9iamVjdCAhPSBOVUxMKQogICAgICAgICBQeUNvZGVjX1N0cmljdEVycm9ycygqZXhjZXB0aW9uT2JqZWN0KTsKIH0KQEAgLTU5MzEsMTIgKzg1NTUsMTMgQEAKICAgIGJ1aWxkIGFyZ3VtZW50cywgY2FsbCB0aGUgY2FsbGJhY2sgYW5kIGNoZWNrIHRoZSBhcmd1bWVudHMsCiAgICBwdXQgdGhlIHJlc3VsdCBpbnRvIG5ld3BvcyBhbmQgcmV0dXJuIHRoZSByZXBsYWNlbWVudCBzdHJpbmcsIHdoaWNoCiAgICBoYXMgdG8gYmUgZnJlZWQgYnkgdGhlIGNhbGxlciAqLwotc3RhdGljIFB5T2JqZWN0ICp1bmljb2RlX3RyYW5zbGF0ZV9jYWxsX2Vycm9yaGFuZGxlcihjb25zdCBjaGFyICplcnJvcnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5T2JqZWN0ICoqZXJyb3JIYW5kbGVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpyZWFzb24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFB5X1VOSUNPREUgKnVuaWNvZGUsIFB5X3NzaXplX3Qgc2l6ZSwgUHlPYmplY3QgKipleGNlcHRpb25PYmplY3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3Qgc3RhcnRwb3MsIFB5X3NzaXplX3QgZW5kcG9zLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90ICpuZXdwb3MpCitzdGF0aWMgUHlPYmplY3QgKgordW5pY29kZV90cmFuc2xhdGVfY2FsbF9lcnJvcmhhbmRsZXIoY29uc3QgY2hhciAqZXJyb3JzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlPYmplY3QgKiplcnJvckhhbmRsZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpyZWFzb24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeU9iamVjdCAqdW5pY29kZSwgUHlPYmplY3QgKipleGNlcHRpb25PYmplY3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IHN0YXJ0cG9zLCBQeV9zc2l6ZV90IGVuZHBvcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3QgKm5ld3BvcykKIHsKICAgICBzdGF0aWMgY2hhciAqYXJncGFyc2UgPSAiTyFuO3RyYW5zbGF0aW5nIGVycm9yIGhhbmRsZXIgbXVzdCByZXR1cm4gKHN0ciwgaW50KSB0dXBsZSI7CiAKQEAgLTU5NTEsNyArODU3Niw3IEBACiAgICAgfQogCiAgICAgbWFrZV90cmFuc2xhdGVfZXhjZXB0aW9uKGV4Y2VwdGlvbk9iamVjdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5pY29kZSwgc2l6ZSwgc3RhcnRwb3MsIGVuZHBvcywgcmVhc29uKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5pY29kZSwgc3RhcnRwb3MsIGVuZHBvcywgcmVhc29uKTsKICAgICBpZiAoKmV4Y2VwdGlvbk9iamVjdCA9PSBOVUxMKQogICAgICAgICByZXR1cm4gTlVMTDsKIApAQCAtNTk3MCwxMCArODU5NSwxMCBAQAogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAgICAgaWYgKGlfbmV3cG9zPDApCi0gICAgICAgICpuZXdwb3MgPSBzaXplK2lfbmV3cG9zOworICAgICAgICAqbmV3cG9zID0gUHlVbmljb2RlX0dFVF9MRU5HVEgodW5pY29kZSkraV9uZXdwb3M7CiAgICAgZWxzZQogICAgICAgICAqbmV3cG9zID0gaV9uZXdwb3M7Ci0gICAgaWYgKCpuZXdwb3M8MCB8fCAqbmV3cG9zPnNpemUpIHsKKyAgICBpZiAoKm5ld3BvczwwIHx8ICpuZXdwb3M+UHlVbmljb2RlX0dFVF9MRU5HVEgodW5pY29kZSkpIHsKICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX0luZGV4RXJyb3IsICJwb3NpdGlvbiAlemQgZnJvbSBlcnJvciBoYW5kbGVyIG91dCBvZiBib3VuZHMiLCAqbmV3cG9zKTsKICAgICAgICAgUHlfREVDUkVGKHJlc3R1cGxlKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CkBAIC01OTg2LDggKzg2MTEsOCBAQAogLyogTG9va3VwIHRoZSBjaGFyYWN0ZXIgY2ggaW4gdGhlIG1hcHBpbmcgYW5kIHB1dCB0aGUgcmVzdWx0IGluIHJlc3VsdCwKICAgIHdoaWNoIG11c3QgYmUgZGVjcmVmZWQgYnkgdGhlIGNhbGxlci4KICAgIFJldHVybiAwIG9uIHN1Y2Nlc3MsIC0xIG9uIGVycm9yICovCi1zdGF0aWMKLWludCBjaGFybWFwdHJhbnNsYXRlX2xvb2t1cChQeV9VTklDT0RFIGMsIFB5T2JqZWN0ICptYXBwaW5nLCBQeU9iamVjdCAqKnJlc3VsdCkKK3N0YXRpYyBpbnQKK2NoYXJtYXB0cmFuc2xhdGVfbG9va3VwKFB5X1VDUzQgYywgUHlPYmplY3QgKm1hcHBpbmcsIFB5T2JqZWN0ICoqcmVzdWx0KQogewogICAgIFB5T2JqZWN0ICp3ID0gUHlMb25nX0Zyb21Mb25nKChsb25nKWMpOwogICAgIFB5T2JqZWN0ICp4OwpAQCAtNjAzNiwyMCArODY2MSwxOSBAQAogLyogZW5zdXJlIHRoYXQgKm91dG9iaiBpcyBhdCBsZWFzdCByZXF1aXJlZHNpemUgY2hhcmFjdGVycyBsb25nLAogICAgaWYgbm90IHJlYWxsb2NhdGUgYW5kIGFkanVzdCB2YXJpb3VzIHN0YXRlIHZhcmlhYmxlcy4KICAgIFJldHVybiAwIG9uIHN1Y2Nlc3MsIC0xIG9uIGVycm9yICovCi1zdGF0aWMKLWludCBjaGFybWFwdHJhbnNsYXRlX21ha2VzcGFjZShQeU9iamVjdCAqKm91dG9iaiwgUHlfVU5JQ09ERSAqKm91dHAsCitzdGF0aWMgaW50CitjaGFybWFwdHJhbnNsYXRlX21ha2VzcGFjZShQeV9VQ1M0ICoqb3V0b2JqLCBQeV9zc2l6ZV90ICpwc2l6ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IHJlcXVpcmVkc2l6ZSkKIHsKLSAgICBQeV9zc2l6ZV90IG9sZHNpemUgPSBQeVVuaWNvZGVfR0VUX1NJWkUoKm91dG9iaik7CisgICAgUHlfc3NpemVfdCBvbGRzaXplID0gKnBzaXplOwogICAgIGlmIChyZXF1aXJlZHNpemUgPiBvbGRzaXplKSB7Ci0gICAgICAgIC8qIHJlbWVtYmVyIG9sZCBvdXRwdXQgcG9zaXRpb24gKi8KLSAgICAgICAgUHlfc3NpemVfdCBvdXRwb3MgPSAqb3V0cC1QeVVuaWNvZGVfQVNfVU5JQ09ERSgqb3V0b2JqKTsKICAgICAgICAgLyogZXhwb25lbnRpYWxseSBvdmVyYWxsb2NhdGUgdG8gbWluaW1pemUgcmVhbGxvY2F0aW9ucyAqLwogICAgICAgICBpZiAocmVxdWlyZWRzaXplIDwgMiAqIG9sZHNpemUpCiAgICAgICAgICAgICByZXF1aXJlZHNpemUgPSAyICogb2xkc2l6ZTsKLSAgICAgICAgaWYgKFB5VW5pY29kZV9SZXNpemUob3V0b2JqLCByZXF1aXJlZHNpemUpIDwgMCkKKyAgICAgICAgKm91dG9iaiA9IFB5TWVtX1JlYWxsb2MoKm91dG9iaiwgcmVxdWlyZWRzaXplICogc2l6ZW9mKFB5X1VDUzQpKTsKKyAgICAgICAgaWYgKCpvdXRvYmogPT0gMCkKICAgICAgICAgICAgIHJldHVybiAtMTsKLSAgICAgICAgKm91dHAgPSBQeVVuaWNvZGVfQVNfVU5JQ09ERSgqb3V0b2JqKSArIG91dHBvczsKKyAgICAgICAgKnBzaXplID0gcmVxdWlyZWRzaXplOwogICAgIH0KICAgICByZXR1cm4gMDsKIH0KQEAgLTYwNTksMzggKzg2ODMsNDQgQEAKICAgIHVuZGVmaW5lZCAoaW4gd2hpY2ggY2FzZSBubyBjaGFyYWN0ZXIgd2FzIHdyaXR0ZW4pLgogICAgVGhlIGNhbGxlZCBtdXN0IGRlY3JlZiByZXN1bHQuCiAgICBSZXR1cm4gMCBvbiBzdWNjZXNzLCAtMSBvbiBlcnJvci4gKi8KLXN0YXRpYwotaW50IGNoYXJtYXB0cmFuc2xhdGVfb3V0cHV0KGNvbnN0IFB5X1VOSUNPREUgKnN0YXJ0aW5wLCBjb25zdCBQeV9VTklDT0RFICpjdXJpbnAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBpbnNpemUsIFB5T2JqZWN0ICptYXBwaW5nLCBQeU9iamVjdCAqKm91dG9iaiwgUHlfVU5JQ09ERSAqKm91dHAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlPYmplY3QgKipyZXMpCitzdGF0aWMgaW50CitjaGFybWFwdHJhbnNsYXRlX291dHB1dChQeU9iamVjdCAqaW5wdXQsIFB5X3NzaXplX3QgaXBvcywKKyAgICAgICAgICAgICAgICAgICAgICAgIFB5T2JqZWN0ICptYXBwaW5nLCBQeV9VQ1M0ICoqb3V0cHV0LAorICAgICAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCAqb3NpemUsIFB5X3NzaXplX3QgKm9wb3MsCisgICAgICAgICAgICAgICAgICAgICAgICBQeU9iamVjdCAqKnJlcykKIHsKLSAgICBpZiAoY2hhcm1hcHRyYW5zbGF0ZV9sb29rdXAoKmN1cmlucCwgbWFwcGluZywgcmVzKSkKKyAgICBQeV9VQ1M0IGN1cmlucCA9IFB5VW5pY29kZV9SRUFEX0NIQVIoaW5wdXQsIGlwb3MpOworICAgIGlmIChjaGFybWFwdHJhbnNsYXRlX2xvb2t1cChjdXJpbnAsIG1hcHBpbmcsIHJlcykpCiAgICAgICAgIHJldHVybiAtMTsKICAgICBpZiAoKnJlcz09TlVMTCkgewogICAgICAgICAvKiBub3QgZm91bmQgPT4gZGVmYXVsdCB0byAxOjEgbWFwcGluZyAqLwotICAgICAgICAqKCpvdXRwKSsrID0gKmN1cmlucDsKKyAgICAgICAgKCpvdXRwdXQpWygqb3BvcykrK10gPSBjdXJpbnA7CiAgICAgfQogICAgIGVsc2UgaWYgKCpyZXM9PVB5X05vbmUpCiAgICAgICAgIDsKICAgICBlbHNlIGlmIChQeUxvbmdfQ2hlY2soKnJlcykpIHsKICAgICAgICAgLyogbm8gb3ZlcmZsb3cgY2hlY2ssIGJlY2F1c2Ugd2Uga25vdyB0aGF0IHRoZSBzcGFjZSBpcyBlbm91Z2ggKi8KLSAgICAgICAgKigqb3V0cCkrKyA9IChQeV9VTklDT0RFKVB5TG9uZ19BU19MT05HKCpyZXMpOworICAgICAgICAoKm91dHB1dClbKCpvcG9zKSsrXSA9IChQeV9VQ1M0KVB5TG9uZ19BU19MT05HKCpyZXMpOwogICAgIH0KICAgICBlbHNlIGlmIChQeVVuaWNvZGVfQ2hlY2soKnJlcykpIHsKLSAgICAgICAgUHlfc3NpemVfdCByZXBzaXplID0gUHlVbmljb2RlX0dFVF9TSVpFKCpyZXMpOworICAgICAgICBQeV9zc2l6ZV90IHJlcHNpemU7CisgICAgICAgIGlmIChQeVVuaWNvZGVfUkVBRFkoKnJlcykgPT0gLTEpCisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIHJlcHNpemUgPSBQeVVuaWNvZGVfR0VUX0xFTkdUSCgqcmVzKTsKICAgICAgICAgaWYgKHJlcHNpemU9PTEpIHsKICAgICAgICAgICAgIC8qIG5vIG92ZXJmbG93IGNoZWNrLCBiZWNhdXNlIHdlIGtub3cgdGhhdCB0aGUgc3BhY2UgaXMgZW5vdWdoICovCi0gICAgICAgICAgICAqKCpvdXRwKSsrID0gKlB5VW5pY29kZV9BU19VTklDT0RFKCpyZXMpOworICAgICAgICAgICAgKCpvdXRwdXQpWygqb3BvcykrK10gPSBQeVVuaWNvZGVfUkVBRF9DSEFSKCpyZXMsIDApOwogICAgICAgICB9CiAgICAgICAgIGVsc2UgaWYgKHJlcHNpemUhPTApIHsKICAgICAgICAgICAgIC8qIG1vcmUgdGhhbiBvbmUgY2hhcmFjdGVyICovCi0gICAgICAgICAgICBQeV9zc2l6ZV90IHJlcXVpcmVkc2l6ZSA9ICgqb3V0cC1QeVVuaWNvZGVfQVNfVU5JQ09ERSgqb3V0b2JqKSkgKwotICAgICAgICAgICAgICAgIChpbnNpemUgLSAoY3VyaW5wLXN0YXJ0aW5wKSkgKworICAgICAgICAgICAgUHlfc3NpemVfdCByZXF1aXJlZHNpemUgPSAqb3BvcyArCisgICAgICAgICAgICAgICAgKFB5VW5pY29kZV9HRVRfTEVOR1RIKGlucHV0KSAtIGlwb3MpICsKICAgICAgICAgICAgICAgICByZXBzaXplIC0gMTsKLSAgICAgICAgICAgIGlmIChjaGFybWFwdHJhbnNsYXRlX21ha2VzcGFjZShvdXRvYmosIG91dHAsIHJlcXVpcmVkc2l6ZSkpCisgICAgICAgICAgICBQeV9zc2l6ZV90IGk7CisgICAgICAgICAgICBpZiAoY2hhcm1hcHRyYW5zbGF0ZV9tYWtlc3BhY2Uob3V0cHV0LCBvc2l6ZSwgcmVxdWlyZWRzaXplKSkKICAgICAgICAgICAgICAgICByZXR1cm4gLTE7Ci0gICAgICAgICAgICBtZW1jcHkoKm91dHAsIFB5VW5pY29kZV9BU19VTklDT0RFKCpyZXMpLCBzaXplb2YoUHlfVU5JQ09ERSkqcmVwc2l6ZSk7Ci0gICAgICAgICAgICAqb3V0cCArPSByZXBzaXplOworICAgICAgICAgICAgZm9yKGkgPSAwOyBpIDwgcmVwc2l6ZTsgaSsrKQorICAgICAgICAgICAgICAgICgqb3V0cHV0KVsoKm9wb3MpKytdID0gUHlVbmljb2RlX1JFQURfQ0hBUigqcmVzLCBpKTsKICAgICAgICAgfQogICAgIH0KICAgICBlbHNlCkBAIC02MDk4LDIwICs4NzI4LDIxIEBACiAgICAgcmV0dXJuIDA7CiB9CiAKLVB5T2JqZWN0ICpQeVVuaWNvZGVfVHJhbnNsYXRlQ2hhcm1hcChjb25zdCBQeV9VTklDT0RFICpwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3Qgc2l6ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeU9iamVjdCAqbWFwcGluZywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICplcnJvcnMpCitQeU9iamVjdCAqCitfUHlVbmljb2RlX1RyYW5zbGF0ZUNoYXJtYXAoUHlPYmplY3QgKmlucHV0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5T2JqZWN0ICptYXBwaW5nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmVycm9ycykKIHsKLSAgICAvKiBvdXRwdXQgb2JqZWN0ICovCi0gICAgUHlPYmplY3QgKnJlcyA9IE5VTEw7Ci0gICAgLyogcG9pbnRlcnMgdG8gdGhlIGJlZ2lubmluZyBhbmQgZW5kKzEgb2YgaW5wdXQgKi8KLSAgICBjb25zdCBQeV9VTklDT0RFICpzdGFydHAgPSBwOwotICAgIGNvbnN0IFB5X1VOSUNPREUgKmVuZHAgPSBwICsgc2l6ZTsKLSAgICAvKiBwb2ludGVyIGludG8gdGhlIG91dHB1dCAqLwotICAgIFB5X1VOSUNPREUgKnN0cjsKKyAgICAvKiBpbnB1dCBvYmplY3QgKi8KKyAgICBjaGFyICppZGF0YTsKKyAgICBQeV9zc2l6ZV90IHNpemUsIGk7CisgICAgaW50IGtpbmQ7CisgICAgLyogb3V0cHV0IGJ1ZmZlciAqLworICAgIFB5X1VDUzQgKm91dHB1dCA9IE5VTEw7CisgICAgUHlfc3NpemVfdCBvc2l6ZTsKKyAgICBQeU9iamVjdCAqcmVzOwogICAgIC8qIGN1cnJlbnQgb3V0cHV0IHBvc2l0aW9uICovCi0gICAgUHlfc3NpemVfdCByZXNwb3MgPSAwOworICAgIFB5X3NzaXplX3Qgb3BvczsKICAgICBjaGFyICpyZWFzb24gPSAiY2hhcmFjdGVyIG1hcHMgdG8gPHVuZGVmaW5lZD4iOwogICAgIFB5T2JqZWN0ICplcnJvckhhbmRsZXIgPSBOVUxMOwogICAgIFB5T2JqZWN0ICpleGMgPSBOVUxMOwpAQCAtNjEyNSwzOCArODc1Niw1MiBAQAogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAKKyAgICBpZiAoUHlVbmljb2RlX1JFQURZKGlucHV0KSA9PSAtMSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgaWRhdGEgPSAoY2hhciopUHlVbmljb2RlX0RBVEEoaW5wdXQpOworICAgIGtpbmQgPSBQeVVuaWNvZGVfS0lORChpbnB1dCk7CisgICAgc2l6ZSA9IFB5VW5pY29kZV9HRVRfTEVOR1RIKGlucHV0KTsKKyAgICBpID0gMDsKKworICAgIGlmIChzaXplID09IDApIHsKKyAgICAgICAgUHlfSU5DUkVGKGlucHV0KTsKKyAgICAgICAgcmV0dXJuIGlucHV0OworICAgIH0KKwogICAgIC8qIGFsbG9jYXRlIGVub3VnaCBmb3IgYSBzaW1wbGUgMToxIHRyYW5zbGF0aW9uIHdpdGhvdXQKICAgICAgICByZXBsYWNlbWVudHMsIGlmIHdlIG5lZWQgbW9yZSwgd2UnbGwgcmVzaXplICovCi0gICAgcmVzID0gUHlVbmljb2RlX0Zyb21Vbmljb2RlKE5VTEwsIHNpemUpOwotICAgIGlmIChyZXMgPT0gTlVMTCkKKyAgICBvc2l6ZSA9IHNpemU7CisgICAgb3V0cHV0ID0gUHlNZW1fTWFsbG9jKG9zaXplICogc2l6ZW9mKFB5X1VDUzQpKTsKKyAgICBvcG9zID0gMDsKKyAgICBpZiAob3V0cHV0ID09IE5VTEwpIHsKKyAgICAgICAgUHlFcnJfTm9NZW1vcnkoKTsKICAgICAgICAgZ290byBvbkVycm9yOwotICAgIGlmIChzaXplID09IDApCi0gICAgICAgIHJldHVybiByZXM7Ci0gICAgc3RyID0gUHlVbmljb2RlX0FTX1VOSUNPREUocmVzKTsKKyAgICB9CiAKLSAgICB3aGlsZSAocDxlbmRwKSB7CisgICAgd2hpbGUgKGk8c2l6ZSkgewogICAgICAgICAvKiB0cnkgdG8gZW5jb2RlIGl0ICovCiAgICAgICAgIFB5T2JqZWN0ICp4ID0gTlVMTDsKLSAgICAgICAgaWYgKGNoYXJtYXB0cmFuc2xhdGVfb3V0cHV0KHN0YXJ0cCwgcCwgc2l6ZSwgbWFwcGluZywgJnJlcywgJnN0ciwgJngpKSB7CisgICAgICAgIGlmIChjaGFybWFwdHJhbnNsYXRlX291dHB1dChpbnB1dCwgaSwgbWFwcGluZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZvdXRwdXQsICZvc2l6ZSwgJm9wb3MsICZ4KSkgewogICAgICAgICAgICAgUHlfWERFQ1JFRih4KTsKICAgICAgICAgICAgIGdvdG8gb25FcnJvcjsKICAgICAgICAgfQogICAgICAgICBQeV9YREVDUkVGKHgpOwogICAgICAgICBpZiAoeCE9UHlfTm9uZSkgLyogaXQgd29ya2VkID0+IGFkanVzdCBpbnB1dCBwb2ludGVyICovCi0gICAgICAgICAgICArK3A7CisgICAgICAgICAgICArK2k7CiAgICAgICAgIGVsc2UgeyAvKiB1bnRyYW5zbGF0YWJsZSBjaGFyYWN0ZXIgKi8KICAgICAgICAgICAgIFB5T2JqZWN0ICpyZXB1bmljb2RlID0gTlVMTDsgLyogaW5pdGlhbGl6ZSB0byBwcmV2ZW50IGdjYyB3YXJuaW5nICovCiAgICAgICAgICAgICBQeV9zc2l6ZV90IHJlcHNpemU7CiAgICAgICAgICAgICBQeV9zc2l6ZV90IG5ld3BvczsKLSAgICAgICAgICAgIFB5X1VOSUNPREUgKnVuaTI7CisgICAgICAgICAgICBQeV9zc2l6ZV90IHVuaTI7CiAgICAgICAgICAgICAvKiBzdGFydHBvcyBmb3IgY29sbGVjdGluZyB1bnRyYW5zbGF0YWJsZSBjaGFycyAqLwotICAgICAgICAgICAgY29uc3QgUHlfVU5JQ09ERSAqY29sbHN0YXJ0ID0gcDsKLSAgICAgICAgICAgIGNvbnN0IFB5X1VOSUNPREUgKmNvbGxlbmQgPSBwKzE7Ci0gICAgICAgICAgICBjb25zdCBQeV9VTklDT0RFICpjb2xsOworICAgICAgICAgICAgUHlfc3NpemVfdCBjb2xsc3RhcnQgPSBpOworICAgICAgICAgICAgUHlfc3NpemVfdCBjb2xsZW5kID0gaSsxOworICAgICAgICAgICAgUHlfc3NpemVfdCBjb2xsOwogCiAgICAgICAgICAgICAvKiBmaW5kIGFsbCB1bnRyYW5zbGF0YWJsZSBjaGFyYWN0ZXJzICovCi0gICAgICAgICAgICB3aGlsZSAoY29sbGVuZCA8IGVuZHApIHsKLSAgICAgICAgICAgICAgICBpZiAoY2hhcm1hcHRyYW5zbGF0ZV9sb29rdXAoKmNvbGxlbmQsIG1hcHBpbmcsICZ4KSkKKyAgICAgICAgICAgIHdoaWxlIChjb2xsZW5kIDwgc2l6ZSkgeworICAgICAgICAgICAgICAgIGlmIChjaGFybWFwdHJhbnNsYXRlX2xvb2t1cChQeVVuaWNvZGVfUkVBRChraW5kLGlkYXRhLCBjb2xsZW5kKSwgbWFwcGluZywgJngpKQogICAgICAgICAgICAgICAgICAgICBnb3RvIG9uRXJyb3I7CiAgICAgICAgICAgICAgICAgUHlfWERFQ1JFRih4KTsKICAgICAgICAgICAgICAgICBpZiAoeCE9UHlfTm9uZSkKQEAgLTYxNzksODAgKzg4MjQsOTQgQEAKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIHN3aXRjaCAoa25vd25fZXJyb3JIYW5kbGVyKSB7CiAgICAgICAgICAgICBjYXNlIDE6IC8qIHN0cmljdCAqLwotICAgICAgICAgICAgICAgIHJhaXNlX3RyYW5zbGF0ZV9leGNlcHRpb24oJmV4Yywgc3RhcnRwLCBzaXplLCBjb2xsc3RhcnQtc3RhcnRwLCBjb2xsZW5kLXN0YXJ0cCwgcmVhc29uKTsKKyAgICAgICAgICAgICAgICByYWlzZV90cmFuc2xhdGVfZXhjZXB0aW9uKCZleGMsIGlucHV0LCBjb2xsc3RhcnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xsZW5kLCByZWFzb24pOwogICAgICAgICAgICAgICAgIGdvdG8gb25FcnJvcjsKICAgICAgICAgICAgIGNhc2UgMjogLyogcmVwbGFjZSAqLwogICAgICAgICAgICAgICAgIC8qIE5vIG5lZWQgdG8gY2hlY2sgZm9yIHNwYWNlLCB0aGlzIGlzIGEgMToxIHJlcGxhY2VtZW50ICovCi0gICAgICAgICAgICAgICAgZm9yIChjb2xsID0gY29sbHN0YXJ0OyBjb2xsPGNvbGxlbmQ7ICsrY29sbCkKLSAgICAgICAgICAgICAgICAgICAgKnN0cisrID0gJz8nOworICAgICAgICAgICAgICAgIGZvciAoY29sbCA9IGNvbGxzdGFydDsgY29sbDxjb2xsZW5kOyBjb2xsKyspCisgICAgICAgICAgICAgICAgICAgIG91dHB1dFtvcG9zKytdID0gJz8nOwogICAgICAgICAgICAgICAgIC8qIGZhbGwgdGhyb3VnaCAqLwogICAgICAgICAgICAgY2FzZSAzOiAvKiBpZ25vcmUgKi8KLSAgICAgICAgICAgICAgICBwID0gY29sbGVuZDsKKyAgICAgICAgICAgICAgICBpID0gY29sbGVuZDsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIGNhc2UgNDogLyogeG1sY2hhcnJlZnJlcGxhY2UgKi8KLSAgICAgICAgICAgICAgICAvKiBnZW5lcmF0ZSByZXBsYWNlbWVudCAodGVtcG9yYXJpbHkgKG1pcyl1c2VzIHApICovCi0gICAgICAgICAgICAgICAgZm9yIChwID0gY29sbHN0YXJ0OyBwIDwgY29sbGVuZDsgKytwKSB7CisgICAgICAgICAgICAgICAgLyogZ2VuZXJhdGUgcmVwbGFjZW1lbnQgKHRlbXBvcmFyaWx5IChtaXMpdXNlcyBpKSAqLworICAgICAgICAgICAgICAgIGZvciAoaSA9IGNvbGxzdGFydDsgaSA8IGNvbGxlbmQ7ICsraSkgewogICAgICAgICAgICAgICAgICAgICBjaGFyIGJ1ZmZlclsyKzI5KzErMV07CiAgICAgICAgICAgICAgICAgICAgIGNoYXIgKmNwOwotICAgICAgICAgICAgICAgICAgICBzcHJpbnRmKGJ1ZmZlciwgIiYjJWQ7IiwgKGludCkqcCk7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChjaGFybWFwdHJhbnNsYXRlX21ha2VzcGFjZSgmcmVzLCAmc3RyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHN0ci1QeVVuaWNvZGVfQVNfVU5JQ09ERShyZXMpKStzdHJsZW4oYnVmZmVyKSsoZW5kcC1jb2xsZW5kKSkpCisgICAgICAgICAgICAgICAgICAgIHNwcmludGYoYnVmZmVyLCAiJiMlZDsiLCBQeVVuaWNvZGVfUkVBRChraW5kLCBpZGF0YSwgaSkpOworICAgICAgICAgICAgICAgICAgICBpZiAoY2hhcm1hcHRyYW5zbGF0ZV9tYWtlc3BhY2UoJm91dHB1dCwgJm9zaXplLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BvcytzdHJsZW4oYnVmZmVyKSsoc2l6ZS1jb2xsZW5kKSkpCiAgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIG9uRXJyb3I7CiAgICAgICAgICAgICAgICAgICAgIGZvciAoY3AgPSBidWZmZXI7ICpjcDsgKytjcCkKLSAgICAgICAgICAgICAgICAgICAgICAgICpzdHIrKyA9ICpjcDsKKyAgICAgICAgICAgICAgICAgICAgICAgIG91dHB1dFtvcG9zKytdID0gKmNwOwogICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBwID0gY29sbGVuZDsKKyAgICAgICAgICAgICAgICBpID0gY29sbGVuZDsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgICAgcmVwdW5pY29kZSA9IHVuaWNvZGVfdHJhbnNsYXRlX2NhbGxfZXJyb3JoYW5kbGVyKGVycm9ycywgJmVycm9ySGFuZGxlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhc29uLCBzdGFydHAsIHNpemUsICZleGMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbGxzdGFydC1zdGFydHAsIGNvbGxlbmQtc3RhcnRwLCAmbmV3cG9zKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhc29uLCBpbnB1dCwgJmV4YywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sbHN0YXJ0LCBjb2xsZW5kLCAmbmV3cG9zKTsKICAgICAgICAgICAgICAgICBpZiAocmVwdW5pY29kZSA9PSBOVUxMKQogICAgICAgICAgICAgICAgICAgICBnb3RvIG9uRXJyb3I7Ci0gICAgICAgICAgICAgICAgLyogZ2VuZXJhdGUgcmVwbGFjZW1lbnQgICovCi0gICAgICAgICAgICAgICAgcmVwc2l6ZSA9IFB5VW5pY29kZV9HRVRfU0laRShyZXB1bmljb2RlKTsKLSAgICAgICAgICAgICAgICBpZiAoY2hhcm1hcHRyYW5zbGF0ZV9tYWtlc3BhY2UoJnJlcywgJnN0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHN0ci1QeVVuaWNvZGVfQVNfVU5JQ09ERShyZXMpKStyZXBzaXplKyhlbmRwLWNvbGxlbmQpKSkgeworICAgICAgICAgICAgICAgIGlmIChQeVVuaWNvZGVfUkVBRFkocmVwdW5pY29kZSkgPT0gLTEpIHsKICAgICAgICAgICAgICAgICAgICAgUHlfREVDUkVGKHJlcHVuaWNvZGUpOwogICAgICAgICAgICAgICAgICAgICBnb3RvIG9uRXJyb3I7CiAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGZvciAodW5pMiA9IFB5VW5pY29kZV9BU19VTklDT0RFKHJlcHVuaWNvZGUpOyByZXBzaXplLS0+MDsgKyt1bmkyKQotICAgICAgICAgICAgICAgICAgICAqc3RyKysgPSAqdW5pMjsKLSAgICAgICAgICAgICAgICBwID0gc3RhcnRwICsgbmV3cG9zOworICAgICAgICAgICAgICAgIC8qIGdlbmVyYXRlIHJlcGxhY2VtZW50ICAqLworICAgICAgICAgICAgICAgIHJlcHNpemUgPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChyZXB1bmljb2RlKTsKKyAgICAgICAgICAgICAgICBpZiAoY2hhcm1hcHRyYW5zbGF0ZV9tYWtlc3BhY2UoJm91dHB1dCwgJm9zaXplLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcG9zK3JlcHNpemUrKHNpemUtY29sbGVuZCkpKSB7CisgICAgICAgICAgICAgICAgICAgIFB5X0RFQ1JFRihyZXB1bmljb2RlKTsKKyAgICAgICAgICAgICAgICAgICAgZ290byBvbkVycm9yOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBmb3IgKHVuaTIgPSAwOyByZXBzaXplLS0+MDsgKyt1bmkyKQorICAgICAgICAgICAgICAgICAgICBvdXRwdXRbb3BvcysrXSA9IFB5VW5pY29kZV9SRUFEX0NIQVIocmVwdW5pY29kZSwgdW5pMik7CisgICAgICAgICAgICAgICAgaSA9IG5ld3BvczsKICAgICAgICAgICAgICAgICBQeV9ERUNSRUYocmVwdW5pY29kZSk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9Ci0gICAgLyogUmVzaXplIGlmIHdlIGFsbG9jYXRlZCB0byBtdWNoICovCi0gICAgcmVzcG9zID0gc3RyLVB5VW5pY29kZV9BU19VTklDT0RFKHJlcyk7Ci0gICAgaWYgKHJlc3BvczxQeVVuaWNvZGVfR0VUX1NJWkUocmVzKSkgewotICAgICAgICBpZiAoUHlVbmljb2RlX1Jlc2l6ZSgmcmVzLCByZXNwb3MpIDwgMCkKLSAgICAgICAgICAgIGdvdG8gb25FcnJvcjsKLSAgICB9CisgICAgcmVzID0gUHlVbmljb2RlX0Zyb21LaW5kQW5kRGF0YShQeVVuaWNvZGVfNEJZVEVfS0lORCwgb3V0cHV0LCBvcG9zKTsKKyAgICBpZiAoIXJlcykKKyAgICAgICAgZ290byBvbkVycm9yOworICAgIFB5TWVtX0ZyZWUob3V0cHV0KTsKICAgICBQeV9YREVDUkVGKGV4Yyk7CiAgICAgUHlfWERFQ1JFRihlcnJvckhhbmRsZXIpOwogICAgIHJldHVybiByZXM7CiAKICAgb25FcnJvcjoKLSAgICBQeV9YREVDUkVGKHJlcyk7CisgICAgUHlNZW1fRnJlZShvdXRwdXQpOwogICAgIFB5X1hERUNSRUYoZXhjKTsKICAgICBQeV9YREVDUkVGKGVycm9ySGFuZGxlcik7CiAgICAgcmV0dXJuIE5VTEw7CiB9CiAKLVB5T2JqZWN0ICpQeVVuaWNvZGVfVHJhbnNsYXRlKFB5T2JqZWN0ICpzdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeU9iamVjdCAqbWFwcGluZywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmVycm9ycykKKy8qIERlcHJlY2F0ZWQuIFVzZSBQeVVuaWNvZGVfVHJhbnNsYXRlIGluc3RlYWQuICovCitQeU9iamVjdCAqCitQeVVuaWNvZGVfVHJhbnNsYXRlQ2hhcm1hcChjb25zdCBQeV9VTklDT0RFICpwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBzaXplLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlPYmplY3QgKm1hcHBpbmcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICplcnJvcnMpCit7CisgICAgUHlPYmplY3QgKnVuaWNvZGUgPSBQeVVuaWNvZGVfRnJvbVVuaWNvZGUocCwgc2l6ZSk7CisgICAgaWYgKCF1bmljb2RlKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICByZXR1cm4gX1B5VW5pY29kZV9UcmFuc2xhdGVDaGFybWFwKHVuaWNvZGUsIG1hcHBpbmcsIGVycm9ycyk7Cit9CisKK1B5T2JqZWN0ICoKK1B5VW5pY29kZV9UcmFuc2xhdGUoUHlPYmplY3QgKnN0ciwKKyAgICAgICAgICAgICAgICAgICAgUHlPYmplY3QgKm1hcHBpbmcsCisgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmVycm9ycykKIHsKICAgICBQeU9iamVjdCAqcmVzdWx0OwogCiAgICAgc3RyID0gUHlVbmljb2RlX0Zyb21PYmplY3Qoc3RyKTsKICAgICBpZiAoc3RyID09IE5VTEwpCiAgICAgICAgIGdvdG8gb25FcnJvcjsKLSAgICByZXN1bHQgPSBQeVVuaWNvZGVfVHJhbnNsYXRlQ2hhcm1hcChQeVVuaWNvZGVfQVNfVU5JQ09ERShzdHIpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9HRVRfU0laRShzdHIpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcHBpbmcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JzKTsKKyAgICByZXN1bHQgPSBfUHlVbmljb2RlX1RyYW5zbGF0ZUNoYXJtYXAoc3RyLCBtYXBwaW5nLCBlcnJvcnMpOwogICAgIFB5X0RFQ1JFRihzdHIpOwogICAgIHJldHVybiByZXN1bHQ7CiAKQEAgLTYyNjEsMTc5ICs4OTIwLDMyNyBAQAogICAgIHJldHVybiBOVUxMOwogfQogCitzdGF0aWMgUHlfVUNTNAorZml4X2RlY2ltYWxfYW5kX3NwYWNlX3RvX2FzY2lpKFB5T2JqZWN0ICpzZWxmKQoreworICAgIC8qIE5vIG5lZWQgdG8gY2FsbCBQeVVuaWNvZGVfUkVBRFkoc2VsZikgYmVjYXVzZSB0aGlzIGZ1bmN0aW9uIGlzIG9ubHkKKyAgICAgICBjYWxsZWQgYXMgYSBjYWxsYmFjayBmcm9tIGZpeHVwKCkgd2hpY2ggZG9lcyBpdCBhbHJlYWR5LiAqLworICAgIGNvbnN0IFB5X3NzaXplX3QgbGVuID0gUHlVbmljb2RlX0dFVF9MRU5HVEgoc2VsZik7CisgICAgY29uc3QgaW50IGtpbmQgPSBQeVVuaWNvZGVfS0lORChzZWxmKTsKKyAgICB2b2lkICpkYXRhID0gUHlVbmljb2RlX0RBVEEoc2VsZik7CisgICAgUHlfVUNTNCBtYXhjaGFyID0gMCwgY2gsIGZpeGVkOworICAgIGludCBtb2RpZmllZCA9IDA7CisgICAgUHlfc3NpemVfdCBpOworCisgICAgZm9yIChpID0gMDsgaSA8IGxlbjsgKytpKSB7CisgICAgICAgIGNoID0gUHlVbmljb2RlX1JFQUQoa2luZCwgZGF0YSwgaSk7CisgICAgICAgIGZpeGVkID0gMDsKKyAgICAgICAgaWYgKGNoID4gMTI3KSB7CisgICAgICAgICAgICBpZiAoUHlfVU5JQ09ERV9JU1NQQUNFKGNoKSkKKyAgICAgICAgICAgICAgICBmaXhlZCA9ICcgJzsKKyAgICAgICAgICAgIGVsc2UgeworICAgICAgICAgICAgICAgIGNvbnN0IGludCBkZWNpbWFsID0gUHlfVU5JQ09ERV9UT0RFQ0lNQUwoY2gpOworICAgICAgICAgICAgICAgIGlmIChkZWNpbWFsID49IDApCisgICAgICAgICAgICAgICAgICAgIGZpeGVkID0gJzAnICsgZGVjaW1hbDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmIChmaXhlZCAhPSAwKSB7CisgICAgICAgICAgICAgICAgbW9kaWZpZWQgPSAxOworICAgICAgICAgICAgICAgIGlmIChmaXhlZCA+IG1heGNoYXIpCisgICAgICAgICAgICAgICAgICAgIG1heGNoYXIgPSBmaXhlZDsKKyAgICAgICAgICAgICAgICBQeVVuaWNvZGVfV1JJVEUoa2luZCwgZGF0YSwgaSwgZml4ZWQpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgZWxzZSBpZiAoY2ggPiBtYXhjaGFyKQorICAgICAgICAgICAgICAgIG1heGNoYXIgPSBjaDsKKyAgICAgICAgfQorICAgICAgICBlbHNlIGlmIChjaCA+IG1heGNoYXIpCisgICAgICAgICAgICBtYXhjaGFyID0gY2g7CisgICAgfQorCisgICAgcmV0dXJuIChtb2RpZmllZCkgPyBtYXhjaGFyIDogMDsKK30KKworUHlPYmplY3QgKgorX1B5VW5pY29kZV9UcmFuc2Zvcm1EZWNpbWFsQW5kU3BhY2VUb0FTQ0lJKFB5T2JqZWN0ICp1bmljb2RlKQoreworICAgIGlmICghUHlVbmljb2RlX0NoZWNrKHVuaWNvZGUpKSB7CisgICAgICAgIFB5RXJyX0JhZEludGVybmFsQ2FsbCgpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisgICAgaWYgKFB5VW5pY29kZV9SRUFEWSh1bmljb2RlKSA9PSAtMSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgaWYgKFB5VW5pY29kZV9NQVhfQ0hBUl9WQUxVRSh1bmljb2RlKSA8PSAxMjcpIHsKKyAgICAgICAgLyogSWYgdGhlIHN0cmluZyBpcyBhbHJlYWR5IEFTQ0lJLCBqdXN0IHJldHVybiB0aGUgc2FtZSBzdHJpbmcgKi8KKyAgICAgICAgUHlfSU5DUkVGKHVuaWNvZGUpOworICAgICAgICByZXR1cm4gdW5pY29kZTsKKyAgICB9CisgICAgcmV0dXJuIGZpeHVwKHVuaWNvZGUsIGZpeF9kZWNpbWFsX2FuZF9zcGFjZV90b19hc2NpaSk7Cit9CisKIFB5T2JqZWN0ICoKIFB5VW5pY29kZV9UcmFuc2Zvcm1EZWNpbWFsVG9BU0NJSShQeV9VTklDT0RFICpzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3QgbGVuZ3RoKQogewotICAgIFB5T2JqZWN0ICpyZXN1bHQ7Ci0gICAgUHlfVU5JQ09ERSAqcDsgLyogd3JpdGUgcG9pbnRlciBpbnRvIHJlc3VsdCAqLworICAgIFB5T2JqZWN0ICpkZWNpbWFsOwogICAgIFB5X3NzaXplX3QgaTsKLSAgICAvKiBDb3B5IHRvIGEgbmV3IHN0cmluZyAqLwotICAgIHJlc3VsdCA9IChQeU9iamVjdCAqKV9QeVVuaWNvZGVfTmV3KGxlbmd0aCk7Ci0gICAgUHlfVU5JQ09ERV9DT1BZKFB5VW5pY29kZV9BU19VTklDT0RFKHJlc3VsdCksIHMsIGxlbmd0aCk7Ci0gICAgaWYgKHJlc3VsdCA9PSBOVUxMKQotICAgICAgICByZXR1cm4gcmVzdWx0OwotICAgIHAgPSBQeVVuaWNvZGVfQVNfVU5JQ09ERShyZXN1bHQpOwotICAgIC8qIEl0ZXJhdGUgb3ZlciBjb2RlIHBvaW50cyAqLworICAgIFB5X1VDUzQgbWF4Y2hhcjsKKyAgICBlbnVtIFB5VW5pY29kZV9LaW5kIGtpbmQ7CisgICAgdm9pZCAqZGF0YTsKKworICAgIG1heGNoYXIgPSAxMjc7CiAgICAgZm9yIChpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7Ci0gICAgICAgIFB5X1VOSUNPREUgY2ggPXNbaV07CisgICAgICAgIFB5X1VOSUNPREUgY2ggPSBzW2ldOwogICAgICAgICBpZiAoY2ggPiAxMjcpIHsKICAgICAgICAgICAgIGludCBkZWNpbWFsID0gUHlfVU5JQ09ERV9UT0RFQ0lNQUwoY2gpOwogICAgICAgICAgICAgaWYgKGRlY2ltYWwgPj0gMCkKLSAgICAgICAgICAgICAgICBwW2ldID0gJzAnICsgZGVjaW1hbDsKKyAgICAgICAgICAgICAgICBjaCA9ICcwJyArIGRlY2ltYWw7CisgICAgICAgICAgICBtYXhjaGFyID0gUHlfTUFYKG1heGNoYXIsIGNoKTsKICAgICAgICAgfQogICAgIH0KLSAgICByZXR1cm4gcmVzdWx0OworCisgICAgLyogQ29weSB0byBhIG5ldyBzdHJpbmcgKi8KKyAgICBkZWNpbWFsID0gUHlVbmljb2RlX05ldyhsZW5ndGgsIG1heGNoYXIpOworICAgIGlmIChkZWNpbWFsID09IE5VTEwpCisgICAgICAgIHJldHVybiBkZWNpbWFsOworICAgIGtpbmQgPSBQeVVuaWNvZGVfS0lORChkZWNpbWFsKTsKKyAgICBkYXRhID0gUHlVbmljb2RlX0RBVEEoZGVjaW1hbCk7CisgICAgLyogSXRlcmF0ZSBvdmVyIGNvZGUgcG9pbnRzICovCisgICAgZm9yIChpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7CisgICAgICAgIFB5X1VOSUNPREUgY2ggPSBzW2ldOworICAgICAgICBpZiAoY2ggPiAxMjcpIHsKKyAgICAgICAgICAgIGludCBkZWNpbWFsID0gUHlfVU5JQ09ERV9UT0RFQ0lNQUwoY2gpOworICAgICAgICAgICAgaWYgKGRlY2ltYWwgPj0gMCkKKyAgICAgICAgICAgICAgICBjaCA9ICcwJyArIGRlY2ltYWw7CisgICAgICAgIH0KKyAgICAgICAgUHlVbmljb2RlX1dSSVRFKGtpbmQsIGRhdGEsIGksIGNoKTsKKyAgICB9CisgICAgcmV0dXJuIHVuaWNvZGVfcmVzdWx0KGRlY2ltYWwpOwogfQogLyogLS0tIERlY2ltYWwgRW5jb2RlciAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCiAKLWludCBQeVVuaWNvZGVfRW5jb2RlRGVjaW1hbChQeV9VTklDT0RFICpzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3QgbGVuZ3RoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgKm91dHB1dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICplcnJvcnMpCitpbnQKK1B5VW5pY29kZV9FbmNvZGVEZWNpbWFsKFB5X1VOSUNPREUgKnMsCisgICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IGxlbmd0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgKm91dHB1dCwKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmVycm9ycykKIHsKLSAgICBQeV9VTklDT0RFICpwLCAqZW5kOwotICAgIFB5T2JqZWN0ICplcnJvckhhbmRsZXIgPSBOVUxMOwotICAgIFB5T2JqZWN0ICpleGMgPSBOVUxMOwotICAgIGNvbnN0IGNoYXIgKmVuY29kaW5nID0gImRlY2ltYWwiOwotICAgIGNvbnN0IGNoYXIgKnJlYXNvbiA9ICJpbnZhbGlkIGRlY2ltYWwgVW5pY29kZSBzdHJpbmciOwotICAgIC8qIHRoZSBmb2xsb3dpbmcgdmFyaWFibGUgaXMgdXNlZCBmb3IgY2FjaGluZyBzdHJpbmcgY29tcGFyaXNvbnMKLSAgICAgKiAtMT1ub3QgaW5pdGlhbGl6ZWQsIDA9dW5rbm93biwgMT1zdHJpY3QsIDI9cmVwbGFjZSwgMz1pZ25vcmUsIDQ9eG1sY2hhcnJlZnJlcGxhY2UgKi8KLSAgICBpbnQga25vd25fZXJyb3JIYW5kbGVyID0gLTE7CisgICAgUHlPYmplY3QgKnVuaWNvZGU7CisgICAgUHlfc3NpemVfdCBpOworICAgIGVudW0gUHlVbmljb2RlX0tpbmQga2luZDsKKyAgICB2b2lkICpkYXRhOwogCiAgICAgaWYgKG91dHB1dCA9PSBOVUxMKSB7CiAgICAgICAgIFB5RXJyX0JhZEFyZ3VtZW50KCk7CiAgICAgICAgIHJldHVybiAtMTsKICAgICB9CiAKLSAgICBwID0gczsKLSAgICBlbmQgPSBzICsgbGVuZ3RoOwotICAgIHdoaWxlIChwIDwgZW5kKSB7Ci0gICAgICAgIHJlZ2lzdGVyIFB5X1VOSUNPREUgY2ggPSAqcDsKKyAgICB1bmljb2RlID0gUHlVbmljb2RlX0Zyb21Vbmljb2RlKHMsIGxlbmd0aCk7CisgICAgaWYgKHVuaWNvZGUgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIC0xOworCisgICAgaWYgKFB5VW5pY29kZV9SRUFEWSh1bmljb2RlKSA9PSAtMSkgeworICAgICAgICBQeV9ERUNSRUYodW5pY29kZSk7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisgICAga2luZCA9IFB5VW5pY29kZV9LSU5EKHVuaWNvZGUpOworICAgIGRhdGEgPSBQeVVuaWNvZGVfREFUQSh1bmljb2RlKTsKKworICAgIGZvciAoaT0wOyBpIDwgbGVuZ3RoOyApIHsKKyAgICAgICAgUHlPYmplY3QgKmV4YzsKKyAgICAgICAgUHlfVUNTNCBjaDsKICAgICAgICAgaW50IGRlY2ltYWw7Ci0gICAgICAgIFB5T2JqZWN0ICpyZXB1bmljb2RlOwotICAgICAgICBQeV9zc2l6ZV90IHJlcHNpemU7Ci0gICAgICAgIFB5X3NzaXplX3QgbmV3cG9zOwotICAgICAgICBQeV9VTklDT0RFICp1bmkyOwotICAgICAgICBQeV9VTklDT0RFICpjb2xsc3RhcnQ7Ci0gICAgICAgIFB5X1VOSUNPREUgKmNvbGxlbmQ7CisgICAgICAgIFB5X3NzaXplX3Qgc3RhcnRwb3M7CisKKyAgICAgICAgY2ggPSBQeVVuaWNvZGVfUkVBRChraW5kLCBkYXRhLCBpKTsKIAogICAgICAgICBpZiAoUHlfVU5JQ09ERV9JU1NQQUNFKGNoKSkgewogICAgICAgICAgICAgKm91dHB1dCsrID0gJyAnOwotICAgICAgICAgICAgKytwOworICAgICAgICAgICAgaSsrOwogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0KICAgICAgICAgZGVjaW1hbCA9IFB5X1VOSUNPREVfVE9ERUNJTUFMKGNoKTsKICAgICAgICAgaWYgKGRlY2ltYWwgPj0gMCkgewogICAgICAgICAgICAgKm91dHB1dCsrID0gJzAnICsgZGVjaW1hbDsKLSAgICAgICAgICAgICsrcDsKKyAgICAgICAgICAgIGkrKzsKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9CiAgICAgICAgIGlmICgwIDwgY2ggJiYgY2ggPCAyNTYpIHsKICAgICAgICAgICAgICpvdXRwdXQrKyA9IChjaGFyKWNoOwotICAgICAgICAgICAgKytwOworICAgICAgICAgICAgaSsrOwogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0KLSAgICAgICAgLyogQWxsIG90aGVyIGNoYXJhY3RlcnMgYXJlIGNvbnNpZGVyZWQgdW5lbmNvZGFibGUgKi8KLSAgICAgICAgY29sbHN0YXJ0ID0gcDsKLSAgICAgICAgZm9yIChjb2xsZW5kID0gcCsxOyBjb2xsZW5kIDwgZW5kOyBjb2xsZW5kKyspIHsKLSAgICAgICAgICAgIGlmICgoMCA8ICpjb2xsZW5kICYmICpjb2xsZW5kIDwgMjU2KSB8fAotICAgICAgICAgICAgICAgIFB5X1VOSUNPREVfSVNTUEFDRSgqY29sbGVuZCkgfHwKLSAgICAgICAgICAgICAgICAwIDw9IFB5X1VOSUNPREVfVE9ERUNJTUFMKCpjb2xsZW5kKSkKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAgICAvKiBjYWNoZSBjYWxsYmFjayBuYW1lIGxvb2t1cAotICAgICAgICAgKiAoaWYgbm90IGRvbmUgeWV0LCBpLmUuIGl0J3MgdGhlIGZpcnN0IGVycm9yKSAqLwotICAgICAgICBpZiAoa25vd25fZXJyb3JIYW5kbGVyPT0tMSkgewotICAgICAgICAgICAgaWYgKChlcnJvcnM9PU5VTEwpIHx8ICghc3RyY21wKGVycm9ycywgInN0cmljdCIpKSkKLSAgICAgICAgICAgICAgICBrbm93bl9lcnJvckhhbmRsZXIgPSAxOwotICAgICAgICAgICAgZWxzZSBpZiAoIXN0cmNtcChlcnJvcnMsICJyZXBsYWNlIikpCi0gICAgICAgICAgICAgICAga25vd25fZXJyb3JIYW5kbGVyID0gMjsKLSAgICAgICAgICAgIGVsc2UgaWYgKCFzdHJjbXAoZXJyb3JzLCAiaWdub3JlIikpCi0gICAgICAgICAgICAgICAga25vd25fZXJyb3JIYW5kbGVyID0gMzsKLSAgICAgICAgICAgIGVsc2UgaWYgKCFzdHJjbXAoZXJyb3JzLCAieG1sY2hhcnJlZnJlcGxhY2UiKSkKLSAgICAgICAgICAgICAgICBrbm93bl9lcnJvckhhbmRsZXIgPSA0OwotICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIGtub3duX2Vycm9ySGFuZGxlciA9IDA7Ci0gICAgICAgIH0KLSAgICAgICAgc3dpdGNoIChrbm93bl9lcnJvckhhbmRsZXIpIHsKLSAgICAgICAgY2FzZSAxOiAvKiBzdHJpY3QgKi8KLSAgICAgICAgICAgIHJhaXNlX2VuY29kZV9leGNlcHRpb24oJmV4YywgZW5jb2RpbmcsIHMsIGxlbmd0aCwgY29sbHN0YXJ0LXMsIGNvbGxlbmQtcywgcmVhc29uKTsKLSAgICAgICAgICAgIGdvdG8gb25FcnJvcjsKLSAgICAgICAgY2FzZSAyOiAvKiByZXBsYWNlICovCi0gICAgICAgICAgICBmb3IgKHAgPSBjb2xsc3RhcnQ7IHAgPCBjb2xsZW5kOyArK3ApCi0gICAgICAgICAgICAgICAgKm91dHB1dCsrID0gJz8nOwotICAgICAgICAgICAgLyogZmFsbCB0aHJvdWdoICovCi0gICAgICAgIGNhc2UgMzogLyogaWdub3JlICovCi0gICAgICAgICAgICBwID0gY29sbGVuZDsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIDQ6IC8qIHhtbGNoYXJyZWZyZXBsYWNlICovCi0gICAgICAgICAgICAvKiBnZW5lcmF0ZSByZXBsYWNlbWVudCAodGVtcG9yYXJpbHkgKG1pcyl1c2VzIHApICovCi0gICAgICAgICAgICBmb3IgKHAgPSBjb2xsc3RhcnQ7IHAgPCBjb2xsZW5kOyArK3ApCi0gICAgICAgICAgICAgICAgb3V0cHV0ICs9IHNwcmludGYob3V0cHV0LCAiJiMlZDsiLCAoaW50KSpwKTsKLSAgICAgICAgICAgIHAgPSBjb2xsZW5kOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICByZXB1bmljb2RlID0gdW5pY29kZV9lbmNvZGVfY2FsbF9lcnJvcmhhbmRsZXIoZXJyb3JzLCAmZXJyb3JIYW5kbGVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuY29kaW5nLCByZWFzb24sIHMsIGxlbmd0aCwgJmV4YywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xsc3RhcnQtcywgY29sbGVuZC1zLCAmbmV3cG9zKTsKLSAgICAgICAgICAgIGlmIChyZXB1bmljb2RlID09IE5VTEwpCi0gICAgICAgICAgICAgICAgZ290byBvbkVycm9yOwotICAgICAgICAgICAgaWYgKCFQeVVuaWNvZGVfQ2hlY2socmVwdW5pY29kZSkpIHsKLSAgICAgICAgICAgICAgICAvKiBCeXRlIHJlc3VsdHMgbm90IHN1cHBvcnRlZCwgc2luY2UgdGhleSBoYXZlIG5vIGRlY2ltYWwgcHJvcGVydHkuICovCi0gICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgImVycm9yIGhhbmRsZXIgc2hvdWxkIHJldHVybiB1bmljb2RlIik7Ci0gICAgICAgICAgICAgICAgUHlfREVDUkVGKHJlcHVuaWNvZGUpOwotICAgICAgICAgICAgICAgIGdvdG8gb25FcnJvcjsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIC8qIGdlbmVyYXRlIHJlcGxhY2VtZW50ICAqLwotICAgICAgICAgICAgcmVwc2l6ZSA9IFB5VW5pY29kZV9HRVRfU0laRShyZXB1bmljb2RlKTsKLSAgICAgICAgICAgIGZvciAodW5pMiA9IFB5VW5pY29kZV9BU19VTklDT0RFKHJlcHVuaWNvZGUpOyByZXBzaXplLS0+MDsgKyt1bmkyKSB7Ci0gICAgICAgICAgICAgICAgUHlfVU5JQ09ERSBjaCA9ICp1bmkyOwotICAgICAgICAgICAgICAgIGlmIChQeV9VTklDT0RFX0lTU1BBQ0UoY2gpKQotICAgICAgICAgICAgICAgICAgICAqb3V0cHV0KysgPSAnICc7Ci0gICAgICAgICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgIGRlY2ltYWwgPSBQeV9VTklDT0RFX1RPREVDSU1BTChjaCk7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChkZWNpbWFsID49IDApCi0gICAgICAgICAgICAgICAgICAgICAgICAqb3V0cHV0KysgPSAnMCcgKyBkZWNpbWFsOwotICAgICAgICAgICAgICAgICAgICBlbHNlIGlmICgwIDwgY2ggJiYgY2ggPCAyNTYpCi0gICAgICAgICAgICAgICAgICAgICAgICAqb3V0cHV0KysgPSAoY2hhciljaDsKLSAgICAgICAgICAgICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBQeV9ERUNSRUYocmVwdW5pY29kZSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICByYWlzZV9lbmNvZGVfZXhjZXB0aW9uKCZleGMsIGVuY29kaW5nLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzLCBsZW5ndGgsIGNvbGxzdGFydC1zLCBjb2xsZW5kLXMsIHJlYXNvbik7Ci0gICAgICAgICAgICAgICAgICAgICAgICBnb3RvIG9uRXJyb3I7Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBwID0gcyArIG5ld3BvczsKLSAgICAgICAgICAgIFB5X0RFQ1JFRihyZXB1bmljb2RlKTsKLSAgICAgICAgfQorCisgICAgICAgIHN0YXJ0cG9zID0gaTsKKyAgICAgICAgZXhjID0gTlVMTDsKKyAgICAgICAgcmFpc2VfZW5jb2RlX2V4Y2VwdGlvbigmZXhjLCAiZGVjaW1hbCIsIHVuaWNvZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnRwb3MsIHN0YXJ0cG9zKzEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImludmFsaWQgZGVjaW1hbCBVbmljb2RlIHN0cmluZyIpOworICAgICAgICBQeV9YREVDUkVGKGV4Yyk7CisgICAgICAgIFB5X0RFQ1JFRih1bmljb2RlKTsKKyAgICAgICAgcmV0dXJuIC0xOwogICAgIH0KICAgICAvKiAwLXRlcm1pbmF0ZSB0aGUgb3V0cHV0IHN0cmluZyAqLwogICAgICpvdXRwdXQrKyA9ICdcMCc7Ci0gICAgUHlfWERFQ1JFRihleGMpOwotICAgIFB5X1hERUNSRUYoZXJyb3JIYW5kbGVyKTsKKyAgICBQeV9ERUNSRUYodW5pY29kZSk7CiAgICAgcmV0dXJuIDA7Ci0KLSAgb25FcnJvcjoKLSAgICBQeV9YREVDUkVGKGV4Yyk7Ci0gICAgUHlfWERFQ1JFRihlcnJvckhhbmRsZXIpOwotICAgIHJldHVybiAtMTsKIH0KIAogLyogLS0tIEhlbHBlcnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCiAKLSNpbmNsdWRlICJzdHJpbmdsaWIvdW5pY29kZWRlZnMuaCIKLSNpbmNsdWRlICJzdHJpbmdsaWIvZmFzdHNlYXJjaC5oIgorc3RhdGljIFB5X3NzaXplX3QKK2FueV9maW5kX3NsaWNlKGludCBkaXJlY3Rpb24sIFB5T2JqZWN0KiBzMSwgUHlPYmplY3QqIHMyLAorICAgICAgICAgICAgICAgUHlfc3NpemVfdCBzdGFydCwKKyAgICAgICAgICAgICAgIFB5X3NzaXplX3QgZW5kKQoreworICAgIGludCBraW5kMSwga2luZDIsIGtpbmQ7CisgICAgdm9pZCAqYnVmMSwgKmJ1ZjI7CisgICAgUHlfc3NpemVfdCBsZW4xLCBsZW4yLCByZXN1bHQ7CiAKLSNpbmNsdWRlICJzdHJpbmdsaWIvY291bnQuaCIKLSNpbmNsdWRlICJzdHJpbmdsaWIvZmluZC5oIgotI2luY2x1ZGUgInN0cmluZ2xpYi9wYXJ0aXRpb24uaCIKLSNpbmNsdWRlICJzdHJpbmdsaWIvc3BsaXQuaCIKKyAgICBraW5kMSA9IFB5VW5pY29kZV9LSU5EKHMxKTsKKyAgICBraW5kMiA9IFB5VW5pY29kZV9LSU5EKHMyKTsKKyAgICBraW5kID0ga2luZDEgPiBraW5kMiA/IGtpbmQxIDoga2luZDI7CisgICAgYnVmMSA9IFB5VW5pY29kZV9EQVRBKHMxKTsKKyAgICBidWYyID0gUHlVbmljb2RlX0RBVEEoczIpOworICAgIGlmIChraW5kMSAhPSBraW5kKQorICAgICAgICBidWYxID0gX1B5VW5pY29kZV9Bc0tpbmQoczEsIGtpbmQpOworICAgIGlmICghYnVmMSkKKyAgICAgICAgcmV0dXJuIC0yOworICAgIGlmIChraW5kMiAhPSBraW5kKQorICAgICAgICBidWYyID0gX1B5VW5pY29kZV9Bc0tpbmQoczIsIGtpbmQpOworICAgIGlmICghYnVmMikgeworICAgICAgICBpZiAoa2luZDEgIT0ga2luZCkgUHlNZW1fRnJlZShidWYxKTsKKyAgICAgICAgcmV0dXJuIC0yOworICAgIH0KKyAgICBsZW4xID0gUHlVbmljb2RlX0dFVF9MRU5HVEgoczEpOworICAgIGxlbjIgPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChzMik7CiAKLSNkZWZpbmUgX1B5X0luc2VydFRob3VzYW5kc0dyb3VwaW5nIF9QeVVuaWNvZGVfSW5zZXJ0VGhvdXNhbmRzR3JvdXBpbmcKLSNkZWZpbmUgX1B5X0luc2VydFRob3VzYW5kc0dyb3VwaW5nTG9jYWxlIF9QeVVuaWNvZGVfSW5zZXJ0VGhvdXNhbmRzR3JvdXBpbmdMb2NhbGUKLSNpbmNsdWRlICJzdHJpbmdsaWIvbG9jYWxldXRpbC5oIgorICAgIGlmIChkaXJlY3Rpb24gPiAwKSB7CisgICAgICAgIHN3aXRjaCAoa2luZCkgeworICAgICAgICBjYXNlIFB5VW5pY29kZV8xQllURV9LSU5EOgorICAgICAgICAgICAgaWYgKFB5VW5pY29kZV9JU19BU0NJSShzMSkgJiYgUHlVbmljb2RlX0lTX0FTQ0lJKHMyKSkKKyAgICAgICAgICAgICAgICByZXN1bHQgPSBhc2NpaWxpYl9maW5kX3NsaWNlKGJ1ZjEsIGxlbjEsIGJ1ZjIsIGxlbjIsIHN0YXJ0LCBlbmQpOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIHJlc3VsdCA9IHVjczFsaWJfZmluZF9zbGljZShidWYxLCBsZW4xLCBidWYyLCBsZW4yLCBzdGFydCwgZW5kKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFB5VW5pY29kZV8yQllURV9LSU5EOgorICAgICAgICAgICAgcmVzdWx0ID0gdWNzMmxpYl9maW5kX3NsaWNlKGJ1ZjEsIGxlbjEsIGJ1ZjIsIGxlbjIsIHN0YXJ0LCBlbmQpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgUHlVbmljb2RlXzRCWVRFX0tJTkQ6CisgICAgICAgICAgICByZXN1bHQgPSB1Y3M0bGliX2ZpbmRfc2xpY2UoYnVmMSwgbGVuMSwgYnVmMiwgbGVuMiwgc3RhcnQsIGVuZCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIGFzc2VydCgwKTsgcmVzdWx0ID0gLTI7CisgICAgICAgIH0KKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIHN3aXRjaCAoa2luZCkgeworICAgICAgICBjYXNlIFB5VW5pY29kZV8xQllURV9LSU5EOgorICAgICAgICAgICAgaWYgKFB5VW5pY29kZV9JU19BU0NJSShzMSkgJiYgUHlVbmljb2RlX0lTX0FTQ0lJKHMyKSkKKyAgICAgICAgICAgICAgICByZXN1bHQgPSBhc2NpaWxpYl9yZmluZF9zbGljZShidWYxLCBsZW4xLCBidWYyLCBsZW4yLCBzdGFydCwgZW5kKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICByZXN1bHQgPSB1Y3MxbGliX3JmaW5kX3NsaWNlKGJ1ZjEsIGxlbjEsIGJ1ZjIsIGxlbjIsIHN0YXJ0LCBlbmQpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgUHlVbmljb2RlXzJCWVRFX0tJTkQ6CisgICAgICAgICAgICByZXN1bHQgPSB1Y3MybGliX3JmaW5kX3NsaWNlKGJ1ZjEsIGxlbjEsIGJ1ZjIsIGxlbjIsIHN0YXJ0LCBlbmQpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgUHlVbmljb2RlXzRCWVRFX0tJTkQ6CisgICAgICAgICAgICByZXN1bHQgPSB1Y3M0bGliX3JmaW5kX3NsaWNlKGJ1ZjEsIGxlbjEsIGJ1ZjIsIGxlbjIsIHN0YXJ0LCBlbmQpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBhc3NlcnQoMCk7IHJlc3VsdCA9IC0yOworICAgICAgICB9CisgICAgfQorCisgICAgaWYgKGtpbmQxICE9IGtpbmQpCisgICAgICAgIFB5TWVtX0ZyZWUoYnVmMSk7CisgICAgaWYgKGtpbmQyICE9IGtpbmQpCisgICAgICAgIFB5TWVtX0ZyZWUoYnVmMik7CisKKyAgICByZXR1cm4gcmVzdWx0OworfQorCitQeV9zc2l6ZV90CitfUHlVbmljb2RlX0luc2VydFRob3VzYW5kc0dyb3VwaW5nKAorICAgIFB5T2JqZWN0ICp1bmljb2RlLCBQeV9zc2l6ZV90IGluZGV4LAorICAgIFB5X3NzaXplX3Qgbl9idWZmZXIsCisgICAgdm9pZCAqZGlnaXRzLCBQeV9zc2l6ZV90IG5fZGlnaXRzLAorICAgIFB5X3NzaXplX3QgbWluX3dpZHRoLAorICAgIGNvbnN0IGNoYXIgKmdyb3VwaW5nLCBQeU9iamVjdCAqdGhvdXNhbmRzX3NlcCwKKyAgICBQeV9VQ1M0ICptYXhjaGFyKQoreworICAgIHVuc2lnbmVkIGludCBraW5kLCB0aG91c2FuZHNfc2VwX2tpbmQ7CisgICAgY2hhciAqZGF0YSwgKnRob3VzYW5kc19zZXBfZGF0YTsKKyAgICBQeV9zc2l6ZV90IHRob3VzYW5kc19zZXBfbGVuOworICAgIFB5X3NzaXplX3QgbGVuOworCisgICAgaWYgKHVuaWNvZGUgIT0gTlVMTCkgeworICAgICAgICBraW5kID0gUHlVbmljb2RlX0tJTkQodW5pY29kZSk7CisgICAgICAgIGRhdGEgPSAoY2hhciAqKSBQeVVuaWNvZGVfREFUQSh1bmljb2RlKSArIGluZGV4ICoga2luZDsKKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIGtpbmQgPSBQeVVuaWNvZGVfMUJZVEVfS0lORDsKKyAgICAgICAgZGF0YSA9IE5VTEw7CisgICAgfQorICAgIHRob3VzYW5kc19zZXBfa2luZCA9IFB5VW5pY29kZV9LSU5EKHRob3VzYW5kc19zZXApOworICAgIHRob3VzYW5kc19zZXBfZGF0YSA9IFB5VW5pY29kZV9EQVRBKHRob3VzYW5kc19zZXApOworICAgIHRob3VzYW5kc19zZXBfbGVuID0gUHlVbmljb2RlX0dFVF9MRU5HVEgodGhvdXNhbmRzX3NlcCk7CisgICAgaWYgKHVuaWNvZGUgIT0gTlVMTCAmJiB0aG91c2FuZHNfc2VwX2tpbmQgIT0ga2luZCkgeworICAgICAgICBpZiAodGhvdXNhbmRzX3NlcF9raW5kIDwga2luZCkgeworICAgICAgICAgICAgdGhvdXNhbmRzX3NlcF9kYXRhID0gX1B5VW5pY29kZV9Bc0tpbmQodGhvdXNhbmRzX3NlcCwga2luZCk7CisgICAgICAgICAgICBpZiAoIXRob3VzYW5kc19zZXBfZGF0YSkKKyAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIH0KKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBkYXRhID0gX1B5VW5pY29kZV9Bc0tpbmQodW5pY29kZSwgdGhvdXNhbmRzX3NlcF9raW5kKTsKKyAgICAgICAgICAgIGlmICghZGF0YSkKKyAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBzd2l0Y2ggKGtpbmQpIHsKKyAgICBjYXNlIFB5VW5pY29kZV8xQllURV9LSU5EOgorICAgICAgICBpZiAodW5pY29kZSAhPSBOVUxMICYmIFB5VW5pY29kZV9JU19BU0NJSSh1bmljb2RlKSkKKyAgICAgICAgICAgIGxlbiA9IGFzY2lpbGliX0luc2VydFRob3VzYW5kc0dyb3VwaW5nKAorICAgICAgICAgICAgICAgIChQeV9VQ1MxICopIGRhdGEsIG5fYnVmZmVyLCAoUHlfVUNTMSAqKSBkaWdpdHMsIG5fZGlnaXRzLAorICAgICAgICAgICAgICAgIG1pbl93aWR0aCwgZ3JvdXBpbmcsCisgICAgICAgICAgICAgICAgKFB5X1VDUzEgKikgdGhvdXNhbmRzX3NlcF9kYXRhLCB0aG91c2FuZHNfc2VwX2xlbik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGxlbiA9IHVjczFsaWJfSW5zZXJ0VGhvdXNhbmRzR3JvdXBpbmcoCisgICAgICAgICAgICAgICAgKFB5X1VDUzEqKWRhdGEsIG5fYnVmZmVyLCAoUHlfVUNTMSopZGlnaXRzLCBuX2RpZ2l0cywKKyAgICAgICAgICAgICAgICBtaW5fd2lkdGgsIGdyb3VwaW5nLAorICAgICAgICAgICAgICAgIChQeV9VQ1MxICopIHRob3VzYW5kc19zZXBfZGF0YSwgdGhvdXNhbmRzX3NlcF9sZW4pOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFB5VW5pY29kZV8yQllURV9LSU5EOgorICAgICAgICBsZW4gPSB1Y3MybGliX0luc2VydFRob3VzYW5kc0dyb3VwaW5nKAorICAgICAgICAgICAgKFB5X1VDUzIgKikgZGF0YSwgbl9idWZmZXIsIChQeV9VQ1MyICopIGRpZ2l0cywgbl9kaWdpdHMsCisgICAgICAgICAgICBtaW5fd2lkdGgsIGdyb3VwaW5nLAorICAgICAgICAgICAgKFB5X1VDUzIgKikgdGhvdXNhbmRzX3NlcF9kYXRhLCB0aG91c2FuZHNfc2VwX2xlbik7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgUHlVbmljb2RlXzRCWVRFX0tJTkQ6CisgICAgICAgIGxlbiA9IHVjczRsaWJfSW5zZXJ0VGhvdXNhbmRzR3JvdXBpbmcoCisgICAgICAgICAgICAoUHlfVUNTNCAqKSBkYXRhLCBuX2J1ZmZlciwgKFB5X1VDUzQgKikgZGlnaXRzLCBuX2RpZ2l0cywKKyAgICAgICAgICAgIG1pbl93aWR0aCwgZ3JvdXBpbmcsCisgICAgICAgICAgICAoUHlfVUNTNCAqKSB0aG91c2FuZHNfc2VwX2RhdGEsIHRob3VzYW5kc19zZXBfbGVuKTsKKyAgICAgICAgYnJlYWs7CisgICAgZGVmYXVsdDoKKyAgICAgICAgYXNzZXJ0KDApOworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorICAgIGlmICh1bmljb2RlICE9IE5VTEwgJiYgdGhvdXNhbmRzX3NlcF9raW5kICE9IGtpbmQpIHsKKyAgICAgICAgaWYgKHRob3VzYW5kc19zZXBfa2luZCA8IGtpbmQpCisgICAgICAgICAgICBQeU1lbV9GcmVlKHRob3VzYW5kc19zZXBfZGF0YSk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIFB5TWVtX0ZyZWUoZGF0YSk7CisgICAgfQorICAgIGlmICh1bmljb2RlID09IE5VTEwpIHsKKyAgICAgICAgKm1heGNoYXIgPSAxMjc7CisgICAgICAgIGlmIChsZW4gIT0gbl9kaWdpdHMpIHsKKyAgICAgICAgICAgICptYXhjaGFyID0gUHlfTUFYKCptYXhjaGFyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX01BWF9DSEFSX1ZBTFVFKHRob3VzYW5kc19zZXApKTsKKyAgICAgICAgfQorICAgIH0KKyAgICByZXR1cm4gbGVuOworfQorCiAKIC8qIGhlbHBlciBtYWNybyB0byBmaXh1cCBzdGFydC9lbmQgc2xpY2UgdmFsdWVzICovCiAjZGVmaW5lIEFESlVTVF9JTkRJQ0VTKHN0YXJ0LCBlbmQsIGxlbikgICAgICAgICBcCkBAIC02NDUwLDcyICs5MjU3LDEwNCBAQAogICAgICAgICAgICAgc3RhcnQgPSAwOyAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIH0KIAotLyogX1B5X1VOSUNPREVfTkVYVCBpcyBhIHByaXZhdGUgbWFjcm8gdXNlZCB0byByZXRyaWV2ZSB0aGUgY2hhcmFjdGVyIHBvaW50ZWQKLSAqIGJ5ICdwdHInLCBwb3NzaWJseSBjb21iaW5pbmcgc3Vycm9nYXRlIHBhaXJzIG9uIG5hcnJvdyBidWlsZHMuCi0gKiAncHRyJyBhbmQgJ2VuZCcgbXVzdCBiZSBQeV9VTklDT0RFKiwgd2l0aCAncHRyJyBwb2ludGluZyBhdCB0aGUgY2hhcmFjdGVyCi0gKiB0aGF0IHNob3VsZCBiZSByZXR1cm5lZCBhbmQgJ2VuZCcgcG9pbnRpbmcgdG8gdGhlIGVuZCBvZiB0aGUgYnVmZmVyLgotICogKCdlbmQnIGlzIHVzZWQgb24gbmFycm93IGJ1aWxkcyB0byBkZXRlY3QgYSBsb25lIHN1cnJvZ2F0ZSBhdCB0aGUKLSAqIGVuZCBvZiB0aGUgYnVmZmVyIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkIHVuY2hhbmdlZC4pCi0gKiBUaGUgcHRyIGFuZCBlbmQgYXJndW1lbnRzIHNob3VsZCBiZSBzaWRlLWVmZmVjdCBmcmVlIGFuZCBwdHIgbXVzdCBhbiBsdmFsdWUuCi0gKiBUaGUgdHlwZSBvZiB0aGUgcmV0dXJuZWQgY2hhciBpcyBhbHdheXMgUHlfVUNTNC4KLSAqCi0gKiBOb3RlOiB0aGUgbWFjcm8gYWR2YW5jZXMgcHRyIHRvIG5leHQgY2hhciwgc28gaXQgbWlnaHQgaGF2ZSBzaWRlLWVmZmVjdHMKLSAqICAgICAgIChlc3BlY2lhbGx5IGlmIHVzZWQgd2l0aCBvdGhlciBtYWNyb3MpLgotICovCi0KLS8qIGhlbHBlciBtYWNyb3MgdXNlZCBieSBfUHlfVU5JQ09ERV9ORVhUICovCi0jZGVmaW5lIF9QeV9VTklDT0RFX0lTX0hJR0hfU1VSUk9HQVRFKGNoKSAoMHhEODAwIDw9IGNoICYmIGNoIDw9IDB4REJGRikKLSNkZWZpbmUgX1B5X1VOSUNPREVfSVNfTE9XX1NVUlJPR0FURShjaCkgKDB4REMwMCA8PSBjaCAmJiBjaCA8PSAweERGRkYpCi0vKiBKb2luIHR3byBzdXJyb2dhdGUgY2hhcmFjdGVycyBhbmQgcmV0dXJuIGEgc2luZ2xlIFB5X1VDUzQgdmFsdWUuICovCi0jZGVmaW5lIF9QeV9VTklDT0RFX0pPSU5fU1VSUk9HQVRFUyhoaWdoLCBsb3cpICBcCi0gICAgKCgoKChQeV9VQ1M0KShoaWdoKSAmIDB4MDNGRikgPDwgMTApIHwgICAgICBcCi0gICAgICAoKFB5X1VDUzQpKGxvdykgJiAweDAzRkYpKSArIDB4MTAwMDApCi0KLSNpZmRlZiBQeV9VTklDT0RFX1dJREUKLSNkZWZpbmUgX1B5X1VOSUNPREVfTkVYVChwdHIsIGVuZCkgKihwdHIpKysKLSNlbHNlCi0jZGVmaW5lIF9QeV9VTklDT0RFX05FWFQocHRyLCBlbmQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICgoKF9QeV9VTklDT0RFX0lTX0hJR0hfU1VSUk9HQVRFKCoocHRyKSkgJiYgKHB0cikgPCAoZW5kKSkgJiYgICAgICBcCi0gICAgICAgIF9QeV9VTklDT0RFX0lTX0xPV19TVVJST0dBVEUoKHB0cilbMV0pKSA/ICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgKChwdHIpICs9IDIsX1B5X1VOSUNPREVfSk9JTl9TVVJST0dBVEVTKChwdHIpWy0yXSwgKHB0cilbLTFdKSkgOiBcCi0gICAgICAgKFB5X1VDUzQpKihwdHIpKyspCi0jZW5kaWYKLQotUHlfc3NpemVfdCBQeVVuaWNvZGVfQ291bnQoUHlPYmplY3QgKnN0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5T2JqZWN0ICpzdWJzdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IHN0YXJ0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBlbmQpCitQeV9zc2l6ZV90CitQeVVuaWNvZGVfQ291bnQoUHlPYmplY3QgKnN0ciwKKyAgICAgICAgICAgICAgICBQeU9iamVjdCAqc3Vic3RyLAorICAgICAgICAgICAgICAgIFB5X3NzaXplX3Qgc3RhcnQsCisgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBlbmQpCiB7CiAgICAgUHlfc3NpemVfdCByZXN1bHQ7Ci0gICAgUHlVbmljb2RlT2JqZWN0KiBzdHJfb2JqOwotICAgIFB5VW5pY29kZU9iamVjdCogc3ViX29iajsKKyAgICBQeU9iamVjdCogc3RyX29iajsKKyAgICBQeU9iamVjdCogc3ViX29iajsKKyAgICBpbnQga2luZDEsIGtpbmQyLCBraW5kOworICAgIHZvaWQgKmJ1ZjEgPSBOVUxMLCAqYnVmMiA9IE5VTEw7CisgICAgUHlfc3NpemVfdCBsZW4xLCBsZW4yOwogCi0gICAgc3RyX29iaiA9IChQeVVuaWNvZGVPYmplY3QqKSBQeVVuaWNvZGVfRnJvbU9iamVjdChzdHIpOworICAgIHN0cl9vYmogPSBQeVVuaWNvZGVfRnJvbU9iamVjdChzdHIpOwogICAgIGlmICghc3RyX29iaikKICAgICAgICAgcmV0dXJuIC0xOwotICAgIHN1Yl9vYmogPSAoUHlVbmljb2RlT2JqZWN0KikgUHlVbmljb2RlX0Zyb21PYmplY3Qoc3Vic3RyKTsKKyAgICBzdWJfb2JqID0gUHlVbmljb2RlX0Zyb21PYmplY3Qoc3Vic3RyKTsKICAgICBpZiAoIXN1Yl9vYmopIHsKICAgICAgICAgUHlfREVDUkVGKHN0cl9vYmopOwogICAgICAgICByZXR1cm4gLTE7CiAgICAgfQorICAgIGlmIChQeVVuaWNvZGVfUkVBRFkoc3ViX29iaikgPT0gLTEgfHwgUHlVbmljb2RlX1JFQURZKHN0cl9vYmopID09IC0xKSB7CisgICAgICAgIFB5X0RFQ1JFRihzdWJfb2JqKTsKKyAgICAgICAgUHlfREVDUkVGKHN0cl9vYmopOworICAgICAgICByZXR1cm4gLTE7CisgICAgfQogCi0gICAgQURKVVNUX0lORElDRVMoc3RhcnQsIGVuZCwgc3RyX29iai0+bGVuZ3RoKTsKLSAgICByZXN1bHQgPSBzdHJpbmdsaWJfY291bnQoCi0gICAgICAgIHN0cl9vYmotPnN0ciArIHN0YXJ0LCBlbmQgLSBzdGFydCwgc3ViX29iai0+c3RyLCBzdWJfb2JqLT5sZW5ndGgsCi0gICAgICAgIFBZX1NTSVpFX1RfTUFYCi0gICAgICAgICk7CisgICAga2luZDEgPSBQeVVuaWNvZGVfS0lORChzdHJfb2JqKTsKKyAgICBraW5kMiA9IFB5VW5pY29kZV9LSU5EKHN1Yl9vYmopOworICAgIGtpbmQgPSBraW5kMSA+IGtpbmQyID8ga2luZDEgOiBraW5kMjsKKyAgICBidWYxID0gUHlVbmljb2RlX0RBVEEoc3RyX29iaik7CisgICAgaWYgKGtpbmQxICE9IGtpbmQpCisgICAgICAgIGJ1ZjEgPSBfUHlVbmljb2RlX0FzS2luZChzdHJfb2JqLCBraW5kKTsKKyAgICBpZiAoIWJ1ZjEpCisgICAgICAgIGdvdG8gb25FcnJvcjsKKyAgICBidWYyID0gUHlVbmljb2RlX0RBVEEoc3ViX29iaik7CisgICAgaWYgKGtpbmQyICE9IGtpbmQpCisgICAgICAgIGJ1ZjIgPSBfUHlVbmljb2RlX0FzS2luZChzdWJfb2JqLCBraW5kKTsKKyAgICBpZiAoIWJ1ZjIpCisgICAgICAgIGdvdG8gb25FcnJvcjsKKyAgICBsZW4xID0gUHlVbmljb2RlX0dFVF9MRU5HVEgoc3RyX29iaik7CisgICAgbGVuMiA9IFB5VW5pY29kZV9HRVRfTEVOR1RIKHN1Yl9vYmopOworCisgICAgQURKVVNUX0lORElDRVMoc3RhcnQsIGVuZCwgbGVuMSk7CisgICAgc3dpdGNoIChraW5kKSB7CisgICAgY2FzZSBQeVVuaWNvZGVfMUJZVEVfS0lORDoKKyAgICAgICAgaWYgKFB5VW5pY29kZV9JU19BU0NJSShzdHJfb2JqKSAmJiBQeVVuaWNvZGVfSVNfQVNDSUkoc3ViX29iaikpCisgICAgICAgICAgICByZXN1bHQgPSBhc2NpaWxpYl9jb3VudCgKKyAgICAgICAgICAgICAgICAoKFB5X1VDUzEqKWJ1ZjEpICsgc3RhcnQsIGVuZCAtIHN0YXJ0LAorICAgICAgICAgICAgICAgIGJ1ZjIsIGxlbjIsIFBZX1NTSVpFX1RfTUFYCisgICAgICAgICAgICAgICAgKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgcmVzdWx0ID0gdWNzMWxpYl9jb3VudCgKKyAgICAgICAgICAgICAgICAoKFB5X1VDUzEqKWJ1ZjEpICsgc3RhcnQsIGVuZCAtIHN0YXJ0LAorICAgICAgICAgICAgICAgIGJ1ZjIsIGxlbjIsIFBZX1NTSVpFX1RfTUFYCisgICAgICAgICAgICAgICAgKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBQeVVuaWNvZGVfMkJZVEVfS0lORDoKKyAgICAgICAgcmVzdWx0ID0gdWNzMmxpYl9jb3VudCgKKyAgICAgICAgICAgICgoUHlfVUNTMiopYnVmMSkgKyBzdGFydCwgZW5kIC0gc3RhcnQsCisgICAgICAgICAgICBidWYyLCBsZW4yLCBQWV9TU0laRV9UX01BWAorICAgICAgICAgICAgKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBQeVVuaWNvZGVfNEJZVEVfS0lORDoKKyAgICAgICAgcmVzdWx0ID0gdWNzNGxpYl9jb3VudCgKKyAgICAgICAgICAgICgoUHlfVUNTNCopYnVmMSkgKyBzdGFydCwgZW5kIC0gc3RhcnQsCisgICAgICAgICAgICBidWYyLCBsZW4yLCBQWV9TU0laRV9UX01BWAorICAgICAgICAgICAgKTsKKyAgICAgICAgYnJlYWs7CisgICAgZGVmYXVsdDoKKyAgICAgICAgYXNzZXJ0KDApOyByZXN1bHQgPSAwOworICAgIH0KIAogICAgIFB5X0RFQ1JFRihzdWJfb2JqKTsKICAgICBQeV9ERUNSRUYoc3RyX29iaik7CiAKKyAgICBpZiAoa2luZDEgIT0ga2luZCkKKyAgICAgICAgUHlNZW1fRnJlZShidWYxKTsKKyAgICBpZiAoa2luZDIgIT0ga2luZCkKKyAgICAgICAgUHlNZW1fRnJlZShidWYyKTsKKwogICAgIHJldHVybiByZXN1bHQ7CisgIG9uRXJyb3I6CisgICAgUHlfREVDUkVGKHN1Yl9vYmopOworICAgIFB5X0RFQ1JFRihzdHJfb2JqKTsKKyAgICBpZiAoa2luZDEgIT0ga2luZCAmJiBidWYxKQorICAgICAgICBQeU1lbV9GcmVlKGJ1ZjEpOworICAgIGlmIChraW5kMiAhPSBraW5kICYmIGJ1ZjIpCisgICAgICAgIFB5TWVtX0ZyZWUoYnVmMik7CisgICAgcmV0dXJuIC0xOwogfQogCi1QeV9zc2l6ZV90IFB5VW5pY29kZV9GaW5kKFB5T2JqZWN0ICpzdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIFB5T2JqZWN0ICpzdWIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3Qgc3RhcnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3QgZW5kLAotICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZGlyZWN0aW9uKQorUHlfc3NpemVfdAorUHlVbmljb2RlX0ZpbmQoUHlPYmplY3QgKnN0ciwKKyAgICAgICAgICAgICAgIFB5T2JqZWN0ICpzdWIsCisgICAgICAgICAgICAgICBQeV9zc2l6ZV90IHN0YXJ0LAorICAgICAgICAgICAgICAgUHlfc3NpemVfdCBlbmQsCisgICAgICAgICAgICAgICBpbnQgZGlyZWN0aW9uKQogewogICAgIFB5X3NzaXplX3QgcmVzdWx0OwogCkBAIC02NTI3LDE5ICs5MzY2LDE1IEBACiAgICAgICAgIFB5X0RFQ1JFRihzdHIpOwogICAgICAgICByZXR1cm4gLTI7CiAgICAgfQorICAgIGlmIChQeVVuaWNvZGVfUkVBRFkoc3ViKSA9PSAtMSB8fCBQeVVuaWNvZGVfUkVBRFkoc3RyKSA9PSAtMSkgeworICAgICAgICBQeV9ERUNSRUYoc3ViKTsKKyAgICAgICAgUHlfREVDUkVGKHN0cik7CisgICAgICAgIHJldHVybiAtMjsKKyAgICB9CiAKLSAgICBpZiAoZGlyZWN0aW9uID4gMCkKLSAgICAgICAgcmVzdWx0ID0gc3RyaW5nbGliX2ZpbmRfc2xpY2UoCi0gICAgICAgICAgICBQeVVuaWNvZGVfQVNfVU5JQ09ERShzdHIpLCBQeVVuaWNvZGVfR0VUX1NJWkUoc3RyKSwKLSAgICAgICAgICAgIFB5VW5pY29kZV9BU19VTklDT0RFKHN1YiksIFB5VW5pY29kZV9HRVRfU0laRShzdWIpLAotICAgICAgICAgICAgc3RhcnQsIGVuZAotICAgICAgICAgICAgKTsKLSAgICBlbHNlCi0gICAgICAgIHJlc3VsdCA9IHN0cmluZ2xpYl9yZmluZF9zbGljZSgKLSAgICAgICAgICAgIFB5VW5pY29kZV9BU19VTklDT0RFKHN0ciksIFB5VW5pY29kZV9HRVRfU0laRShzdHIpLAotICAgICAgICAgICAgUHlVbmljb2RlX0FTX1VOSUNPREUoc3ViKSwgUHlVbmljb2RlX0dFVF9TSVpFKHN1YiksCi0gICAgICAgICAgICBzdGFydCwgZW5kCi0gICAgICAgICAgICApOworICAgIHJlc3VsdCA9IGFueV9maW5kX3NsaWNlKGRpcmVjdGlvbiwKKyAgICAgICAgc3RyLCBzdWIsIHN0YXJ0LCBlbmQKKyAgICAgICAgKTsKIAogICAgIFB5X0RFQ1JFRihzdHIpOwogICAgIFB5X0RFQ1JFRihzdWIpOwpAQCAtNjU0NywzNyArOTM4MiwxMDQgQEAKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi1zdGF0aWMKLWludCB0YWlsbWF0Y2goUHlVbmljb2RlT2JqZWN0ICpzZWxmLAotICAgICAgICAgICAgICBQeVVuaWNvZGVPYmplY3QgKnN1YnN0cmluZywKLSAgICAgICAgICAgICAgUHlfc3NpemVfdCBzdGFydCwKLSAgICAgICAgICAgICAgUHlfc3NpemVfdCBlbmQsCi0gICAgICAgICAgICAgIGludCBkaXJlY3Rpb24pCitQeV9zc2l6ZV90CitQeVVuaWNvZGVfRmluZENoYXIoUHlPYmplY3QgKnN0ciwgUHlfVUNTNCBjaCwKKyAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IHN0YXJ0LCBQeV9zc2l6ZV90IGVuZCwKKyAgICAgICAgICAgICAgICAgICBpbnQgZGlyZWN0aW9uKQogewotICAgIGlmIChzdWJzdHJpbmctPmxlbmd0aCA9PSAwKQorICAgIGludCBraW5kOworICAgIFB5X3NzaXplX3QgcmVzdWx0OworICAgIGlmIChQeVVuaWNvZGVfUkVBRFkoc3RyKSA9PSAtMSkKKyAgICAgICAgcmV0dXJuIC0yOworICAgIGlmIChzdGFydCA8IDAgfHwgZW5kIDwgMCkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfSW5kZXhFcnJvciwgInN0cmluZyBpbmRleCBvdXQgb2YgcmFuZ2UiKTsKKyAgICAgICAgcmV0dXJuIC0yOworICAgIH0KKyAgICBpZiAoZW5kID4gUHlVbmljb2RlX0dFVF9MRU5HVEgoc3RyKSkKKyAgICAgICAgZW5kID0gUHlVbmljb2RlX0dFVF9MRU5HVEgoc3RyKTsKKyAgICBraW5kID0gUHlVbmljb2RlX0tJTkQoc3RyKTsKKyAgICByZXN1bHQgPSBmaW5kY2hhcihQeVVuaWNvZGVfMUJZVEVfREFUQShzdHIpICsga2luZCpzdGFydCwKKyAgICAgICAgICAgICAgICAgICAgICBraW5kLCBlbmQtc3RhcnQsIGNoLCBkaXJlY3Rpb24pOworICAgIGlmIChyZXN1bHQgPT0gLTEpCisgICAgICAgIHJldHVybiAtMTsKKyAgICBlbHNlCisgICAgICAgIHJldHVybiBzdGFydCArIHJlc3VsdDsKK30KKworc3RhdGljIGludAordGFpbG1hdGNoKFB5T2JqZWN0ICpzZWxmLAorICAgICAgICAgIFB5T2JqZWN0ICpzdWJzdHJpbmcsCisgICAgICAgICAgUHlfc3NpemVfdCBzdGFydCwKKyAgICAgICAgICBQeV9zc2l6ZV90IGVuZCwKKyAgICAgICAgICBpbnQgZGlyZWN0aW9uKQoreworICAgIGludCBraW5kX3NlbGY7CisgICAgaW50IGtpbmRfc3ViOworICAgIHZvaWQgKmRhdGFfc2VsZjsKKyAgICB2b2lkICpkYXRhX3N1YjsKKyAgICBQeV9zc2l6ZV90IG9mZnNldDsKKyAgICBQeV9zc2l6ZV90IGk7CisgICAgUHlfc3NpemVfdCBlbmRfc3ViOworCisgICAgaWYgKFB5VW5pY29kZV9SRUFEWShzZWxmKSA9PSAtMSB8fAorICAgICAgICBQeVVuaWNvZGVfUkVBRFkoc3Vic3RyaW5nKSA9PSAtMSkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICBpZiAoUHlVbmljb2RlX0dFVF9MRU5HVEgoc3Vic3RyaW5nKSA9PSAwKQogICAgICAgICByZXR1cm4gMTsKIAotICAgIEFESlVTVF9JTkRJQ0VTKHN0YXJ0LCBlbmQsIHNlbGYtPmxlbmd0aCk7Ci0gICAgZW5kIC09IHN1YnN0cmluZy0+bGVuZ3RoOworICAgIEFESlVTVF9JTkRJQ0VTKHN0YXJ0LCBlbmQsIFB5VW5pY29kZV9HRVRfTEVOR1RIKHNlbGYpKTsKKyAgICBlbmQgLT0gUHlVbmljb2RlX0dFVF9MRU5HVEgoc3Vic3RyaW5nKTsKICAgICBpZiAoZW5kIDwgc3RhcnQpCiAgICAgICAgIHJldHVybiAwOwogCi0gICAgaWYgKGRpcmVjdGlvbiA+IDApIHsKLSAgICAgICAgaWYgKFB5X1VOSUNPREVfTUFUQ0goc2VsZiwgZW5kLCBzdWJzdHJpbmcpKQorICAgIGtpbmRfc2VsZiA9IFB5VW5pY29kZV9LSU5EKHNlbGYpOworICAgIGRhdGFfc2VsZiA9IFB5VW5pY29kZV9EQVRBKHNlbGYpOworICAgIGtpbmRfc3ViID0gUHlVbmljb2RlX0tJTkQoc3Vic3RyaW5nKTsKKyAgICBkYXRhX3N1YiA9IFB5VW5pY29kZV9EQVRBKHN1YnN0cmluZyk7CisgICAgZW5kX3N1YiA9IFB5VW5pY29kZV9HRVRfTEVOR1RIKHN1YnN0cmluZykgLSAxOworCisgICAgaWYgKGRpcmVjdGlvbiA+IDApCisgICAgICAgIG9mZnNldCA9IGVuZDsKKyAgICBlbHNlCisgICAgICAgIG9mZnNldCA9IHN0YXJ0OworCisgICAgaWYgKFB5VW5pY29kZV9SRUFEKGtpbmRfc2VsZiwgZGF0YV9zZWxmLCBvZmZzZXQpID09CisgICAgICAgIFB5VW5pY29kZV9SRUFEKGtpbmRfc3ViLCBkYXRhX3N1YiwgMCkgJiYKKyAgICAgICAgUHlVbmljb2RlX1JFQUQoa2luZF9zZWxmLCBkYXRhX3NlbGYsIG9mZnNldCArIGVuZF9zdWIpID09CisgICAgICAgIFB5VW5pY29kZV9SRUFEKGtpbmRfc3ViLCBkYXRhX3N1YiwgZW5kX3N1YikpIHsKKyAgICAgICAgLyogSWYgYm90aCBhcmUgb2YgdGhlIHNhbWUga2luZCwgbWVtY21wIGlzIHN1ZmZpY2llbnQgKi8KKyAgICAgICAgaWYgKGtpbmRfc2VsZiA9PSBraW5kX3N1YikgeworICAgICAgICAgICAgcmV0dXJuICEgbWVtY21wKChjaGFyICopZGF0YV9zZWxmICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9mZnNldCAqIFB5VW5pY29kZV9LSU5EKHN1YnN0cmluZykpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFfc3ViLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9HRVRfTEVOR1RIKHN1YnN0cmluZykgKgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfS0lORChzdWJzdHJpbmcpKTsKKyAgICAgICAgfQorICAgICAgICAvKiBvdGhlcndpc2Ugd2UgaGF2ZSB0byBjb21wYXJlIGVhY2ggY2hhcmFjdGVyIGJ5IGZpcnN0IGFjY2VzaW5nIGl0ICovCisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgLyogV2UgZG8gbm90IG5lZWQgdG8gY29tcGFyZSAwIGFuZCBsZW4oc3Vic3RyaW5nKS0xIGJlY2F1c2UKKyAgICAgICAgICAgICAgIHRoZSBpZiBzdGF0ZW1lbnQgYWJvdmUgZW5zdXJlZCBhbHJlYWR5IHRoYXQgdGhleSBhcmUgZXF1YWwKKyAgICAgICAgICAgICAgIHdoZW4gd2UgZW5kIHVwIGhlcmUuICovCisgICAgICAgICAgICAvLyBUT0RPOiBob25vciBkaXJlY3Rpb24gYW5kIGRvIGEgZm9yd2FyZCBvciBiYWNrd2FyZHMgc2VhcmNoCisgICAgICAgICAgICBmb3IgKGkgPSAxOyBpIDwgZW5kX3N1YjsgKytpKSB7CisgICAgICAgICAgICAgICAgaWYgKFB5VW5pY29kZV9SRUFEKGtpbmRfc2VsZiwgZGF0YV9zZWxmLCBvZmZzZXQgKyBpKSAhPQorICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfUkVBRChraW5kX3N1YiwgZGF0YV9zdWIsIGkpKQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgICAgIH0KICAgICAgICAgICAgIHJldHVybiAxOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIGlmIChQeV9VTklDT0RFX01BVENIKHNlbGYsIHN0YXJ0LCBzdWJzdHJpbmcpKQotICAgICAgICAgICAgcmV0dXJuIDE7CisgICAgICAgIH0KICAgICB9CiAKICAgICByZXR1cm4gMDsKIH0KIAotUHlfc3NpemVfdCBQeVVuaWNvZGVfVGFpbG1hdGNoKFB5T2JqZWN0ICpzdHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlPYmplY3QgKnN1YnN0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IHN0YXJ0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3QgZW5kLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBkaXJlY3Rpb24pCitQeV9zc2l6ZV90CitQeVVuaWNvZGVfVGFpbG1hdGNoKFB5T2JqZWN0ICpzdHIsCisgICAgICAgICAgICAgICAgICAgIFB5T2JqZWN0ICpzdWJzdHIsCisgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3Qgc3RhcnQsCisgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3QgZW5kLAorICAgICAgICAgICAgICAgICAgICBpbnQgZGlyZWN0aW9uKQogewogICAgIFB5X3NzaXplX3QgcmVzdWx0OwogCkBAIC02NTkwLDggKzk0OTIsNyBAQAogICAgICAgICByZXR1cm4gLTE7CiAgICAgfQogCi0gICAgcmVzdWx0ID0gdGFpbG1hdGNoKChQeVVuaWNvZGVPYmplY3QgKilzdHIsCi0gICAgICAgICAgICAgICAgICAgICAgIChQeVVuaWNvZGVPYmplY3QgKilzdWJzdHIsCisgICAgcmVzdWx0ID0gdGFpbG1hdGNoKHN0ciwgc3Vic3RyLAogICAgICAgICAgICAgICAgICAgICAgICBzdGFydCwgZW5kLCBkaXJlY3Rpb24pOwogICAgIFB5X0RFQ1JFRihzdHIpOwogICAgIFB5X0RFQ1JFRihzdWJzdHIpOwpAQCAtNjYwMSwxNjggKzk1MDIsMzIzIEBACiAvKiBBcHBseSBmaXhmY3QgZmlsdGVyIHRvIHRoZSBVbmljb2RlIG9iamVjdCBzZWxmIGFuZCByZXR1cm4gYQogICAgcmVmZXJlbmNlIHRvIHRoZSBtb2RpZmllZCBvYmplY3QgKi8KIAotc3RhdGljCi1QeU9iamVjdCAqZml4dXAoUHlVbmljb2RlT2JqZWN0ICpzZWxmLAotICAgICAgICAgICAgICAgIGludCAoKmZpeGZjdCkoUHlVbmljb2RlT2JqZWN0ICpzKSkKK3N0YXRpYyBQeU9iamVjdCAqCitmaXh1cChQeU9iamVjdCAqc2VsZiwKKyAgICAgIFB5X1VDUzQgKCpmaXhmY3QpKFB5T2JqZWN0ICpzKSkKIHsKKyAgICBQeU9iamVjdCAqdTsKKyAgICBQeV9VQ1M0IG1heGNoYXJfb2xkLCBtYXhjaGFyX25ldyA9IDA7CisgICAgUHlPYmplY3QgKnY7CiAKLSAgICBQeVVuaWNvZGVPYmplY3QgKnU7Ci0KLSAgICB1ID0gKFB5VW5pY29kZU9iamVjdCopIFB5VW5pY29kZV9Gcm9tVW5pY29kZShOVUxMLCBzZWxmLT5sZW5ndGgpOworICAgIHUgPSBfUHlVbmljb2RlX0NvcHkoc2VsZik7CiAgICAgaWYgKHUgPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgbWF4Y2hhcl9vbGQgPSBQeVVuaWNvZGVfTUFYX0NIQVJfVkFMVUUodSk7CiAKLSAgICBQeV9VTklDT0RFX0NPUFkodS0+c3RyLCBzZWxmLT5zdHIsIHNlbGYtPmxlbmd0aCk7CisgICAgLyogZml4IGZ1bmN0aW9ucyByZXR1cm4gdGhlIG5ldyBtYXhpbXVtIGNoYXJhY3RlciBpbiBhIHN0cmluZywKKyAgICAgICBpZiB0aGUga2luZCBvZiB0aGUgcmVzdWx0aW5nIHVuaWNvZGUgb2JqZWN0IGRvZXMgbm90IGNoYW5nZSwKKyAgICAgICBldmVyeXRoaW5nIGlzIGZpbmUuICBPdGhlcndpc2Ugd2UgbmVlZCB0byBjaGFuZ2UgdGhlIHN0cmluZyBraW5kCisgICAgICAgYW5kIHJlLXJ1biB0aGUgZml4IGZ1bmN0aW9uLiAqLworICAgIG1heGNoYXJfbmV3ID0gZml4ZmN0KHUpOwogCi0gICAgaWYgKCFmaXhmY3QodSkgJiYgUHlVbmljb2RlX0NoZWNrRXhhY3Qoc2VsZikpIHsKLSAgICAgICAgLyogZml4ZmN0IHNob3VsZCByZXR1cm4gVFJVRSBpZiBpdCBtb2RpZmllZCB0aGUgYnVmZmVyLiBJZgotICAgICAgICAgICBGQUxTRSwgcmV0dXJuIGEgcmVmZXJlbmNlIHRvIHRoZSBvcmlnaW5hbCBidWZmZXIgaW5zdGVhZAotICAgICAgICAgICAodG8gc2F2ZSBzcGFjZSwgbm90IHRpbWUpICovCi0gICAgICAgIFB5X0lOQ1JFRihzZWxmKTsKKyAgICBpZiAobWF4Y2hhcl9uZXcgPT0gMCkgeworICAgICAgICAvKiBubyBjaGFuZ2VzICovOworICAgICAgICBpZiAoUHlVbmljb2RlX0NoZWNrRXhhY3Qoc2VsZikpIHsKKyAgICAgICAgICAgIFB5X0RFQ1JFRih1KTsKKyAgICAgICAgICAgIFB5X0lOQ1JFRihzZWxmKTsKKyAgICAgICAgICAgIHJldHVybiBzZWxmOworICAgICAgICB9CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHJldHVybiB1OworICAgIH0KKworICAgIGlmIChtYXhjaGFyX25ldyA8PSAxMjcpCisgICAgICAgIG1heGNoYXJfbmV3ID0gMTI3OworICAgIGVsc2UgaWYgKG1heGNoYXJfbmV3IDw9IDI1NSkKKyAgICAgICAgbWF4Y2hhcl9uZXcgPSAyNTU7CisgICAgZWxzZSBpZiAobWF4Y2hhcl9uZXcgPD0gNjU1MzUpCisgICAgICAgIG1heGNoYXJfbmV3ID0gNjU1MzU7CisgICAgZWxzZQorICAgICAgICBtYXhjaGFyX25ldyA9IE1BWF9VTklDT0RFOworCisgICAgaWYgKG1heGNoYXJfbmV3ID09IG1heGNoYXJfb2xkKQorICAgICAgICByZXR1cm4gdTsKKworICAgIC8qIEluIGNhc2UgdGhlIG1heGltdW0gY2hhcmFjdGVyIGNoYW5nZWQsIHdlIG5lZWQgdG8KKyAgICAgICBjb252ZXJ0IHRoZSBzdHJpbmcgdG8gdGhlIG5ldyBjYXRlZ29yeS4gKi8KKyAgICB2ID0gUHlVbmljb2RlX05ldyhQeVVuaWNvZGVfR0VUX0xFTkdUSChzZWxmKSwgbWF4Y2hhcl9uZXcpOworICAgIGlmICh2ID09IE5VTEwpIHsKICAgICAgICAgUHlfREVDUkVGKHUpOwotICAgICAgICByZXR1cm4gKFB5T2JqZWN0Kikgc2VsZjsKKyAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQotICAgIHJldHVybiAoUHlPYmplY3QqKSB1OworICAgIGlmIChtYXhjaGFyX25ldyA+IG1heGNoYXJfb2xkKSB7CisgICAgICAgIC8qIElmIHRoZSBtYXhjaGFyIGluY3JlYXNlZCBzbyB0aGF0IHRoZSBraW5kIGNoYW5nZWQsIG5vdCBhbGwKKyAgICAgICAgICAgY2hhcmFjdGVycyBhcmUgcmVwcmVzZW50YWJsZSBhbnltb3JlIGFuZCB3ZSBuZWVkIHRvIGZpeCB0aGUKKyAgICAgICAgICAgc3RyaW5nIGFnYWluLiBUaGlzIG9ubHkgaGFwcGVucyBpbiB2ZXJ5IGZldyBjYXNlcy4gKi8KKyAgICAgICAgY29weV9jaGFyYWN0ZXJzKHYsIDAsIHNlbGYsIDAsIFB5VW5pY29kZV9HRVRfTEVOR1RIKHNlbGYpKTsKKyAgICAgICAgbWF4Y2hhcl9vbGQgPSBmaXhmY3Qodik7CisgICAgICAgIGFzc2VydChtYXhjaGFyX29sZCA+IDAgJiYgbWF4Y2hhcl9vbGQgPD0gbWF4Y2hhcl9uZXcpOworICAgIH0KKyAgICBlbHNlIHsKKyAgICAgICAgY29weV9jaGFyYWN0ZXJzKHYsIDAsIHUsIDAsIFB5VW5pY29kZV9HRVRfTEVOR1RIKHNlbGYpKTsKKyAgICB9CisgICAgUHlfREVDUkVGKHUpOworICAgIGFzc2VydChfUHlVbmljb2RlX0NoZWNrQ29uc2lzdGVuY3kodiwgMSkpOworICAgIHJldHVybiB2OwogfQogCi1zdGF0aWMKLWludCBmaXh1cHBlcihQeVVuaWNvZGVPYmplY3QgKnNlbGYpCitzdGF0aWMgUHlPYmplY3QgKgorYXNjaWlfdXBwZXJfb3JfbG93ZXIoUHlPYmplY3QgKnNlbGYsIGludCBsb3dlcikKIHsKLSAgICBQeV9zc2l6ZV90IGxlbiA9IHNlbGYtPmxlbmd0aDsKLSAgICBQeV9VTklDT0RFICpzID0gc2VsZi0+c3RyOwotICAgIGludCBzdGF0dXMgPSAwOworICAgIFB5X3NzaXplX3QgbGVuID0gUHlVbmljb2RlX0dFVF9MRU5HVEgoc2VsZik7CisgICAgY2hhciAqcmVzZGF0YSwgKmRhdGEgPSBQeVVuaWNvZGVfREFUQShzZWxmKTsKKyAgICBQeU9iamVjdCAqcmVzOwogCi0gICAgd2hpbGUgKGxlbi0tID4gMCkgewotICAgICAgICByZWdpc3RlciBQeV9VTklDT0RFIGNoOworICAgIHJlcyA9IFB5VW5pY29kZV9OZXcobGVuLCAxMjcpOworICAgIGlmIChyZXMgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgcmVzZGF0YSA9IFB5VW5pY29kZV9EQVRBKHJlcyk7CisgICAgaWYgKGxvd2VyKQorICAgICAgICBfUHlfYnl0ZXNfbG93ZXIocmVzZGF0YSwgZGF0YSwgbGVuKTsKKyAgICBlbHNlCisgICAgICAgIF9QeV9ieXRlc191cHBlcihyZXNkYXRhLCBkYXRhLCBsZW4pOworICAgIHJldHVybiByZXM7Cit9CiAKLSAgICAgICAgY2ggPSBQeV9VTklDT0RFX1RPVVBQRVIoKnMpOwotICAgICAgICBpZiAoY2ggIT0gKnMpIHsKLSAgICAgICAgICAgIHN0YXR1cyA9IDE7Ci0gICAgICAgICAgICAqcyA9IGNoOworc3RhdGljIFB5X1VDUzQKK2hhbmRsZV9jYXBpdGFsX3NpZ21hKGludCBraW5kLCB2b2lkICpkYXRhLCBQeV9zc2l6ZV90IGxlbmd0aCwgUHlfc3NpemVfdCBpKQoreworICAgIFB5X3NzaXplX3QgajsKKyAgICBpbnQgZmluYWxfc2lnbWE7CisgICAgUHlfVUNTNCBjOworICAgIC8qIFUrMDNBMyBpcyBpbiB0aGUgRmluYWxfU2lnbWEgY29udGV4dCB3aGVuLCBpdCBpcyBmb3VuZCBsaWtlIHRoaXM6CisKKyAgICAgXHB7Y2FzZWR9XHB7Y2FzZS1pZ25vcmFibGV9KlUrMDNBMyEoXHB7Y2FzZS1pZ25vcmFibGV9Klxwe2Nhc2VkfSkKKworICAgIHdoZXJlICEgaXMgYSBuZWdhdGlvbiBhbmQgXHB7eHh4fSBpcyBhIGNoYXJhY3RlciB3aXRoIHByb3BlcnR5IHh4eC4KKyAgICAqLworICAgIGZvciAoaiA9IGkgLSAxOyBqID49IDA7IGotLSkgeworICAgICAgICBjID0gUHlVbmljb2RlX1JFQUQoa2luZCwgZGF0YSwgaik7CisgICAgICAgIGlmICghX1B5VW5pY29kZV9Jc0Nhc2VJZ25vcmFibGUoYykpCisgICAgICAgICAgICBicmVhazsKKyAgICB9CisgICAgZmluYWxfc2lnbWEgPSBqID49IDAgJiYgX1B5VW5pY29kZV9Jc0Nhc2VkKGMpOworICAgIGlmIChmaW5hbF9zaWdtYSkgeworICAgICAgICBmb3IgKGogPSBpICsgMTsgaiA8IGxlbmd0aDsgaisrKSB7CisgICAgICAgICAgICBjID0gUHlVbmljb2RlX1JFQUQoa2luZCwgZGF0YSwgaik7CisgICAgICAgICAgICBpZiAoIV9QeVVuaWNvZGVfSXNDYXNlSWdub3JhYmxlKGMpKQorICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9Ci0gICAgICAgIHMrKzsKKyAgICAgICAgZmluYWxfc2lnbWEgPSBqID09IGxlbmd0aCB8fCAhX1B5VW5pY29kZV9Jc0Nhc2VkKGMpOwogICAgIH0KLQotICAgIHJldHVybiBzdGF0dXM7CisgICAgcmV0dXJuIChmaW5hbF9zaWdtYSkgPyAweDNDMiA6IDB4M0MzOwogfQogCi1zdGF0aWMKLWludCBmaXhsb3dlcihQeVVuaWNvZGVPYmplY3QgKnNlbGYpCitzdGF0aWMgaW50Citsb3dlcl91Y3M0KGludCBraW5kLCB2b2lkICpkYXRhLCBQeV9zc2l6ZV90IGxlbmd0aCwgUHlfc3NpemVfdCBpLAorICAgICAgICAgICBQeV9VQ1M0IGMsIFB5X1VDUzQgKm1hcHBlZCkKIHsKLSAgICBQeV9zc2l6ZV90IGxlbiA9IHNlbGYtPmxlbmd0aDsKLSAgICBQeV9VTklDT0RFICpzID0gc2VsZi0+c3RyOwotICAgIGludCBzdGF0dXMgPSAwOworICAgIC8qIE9ic2N1cmUgc3BlY2lhbCBjYXNlLiAqLworICAgIGlmIChjID09IDB4M0EzKSB7CisgICAgICAgIG1hcHBlZFswXSA9IGhhbmRsZV9jYXBpdGFsX3NpZ21hKGtpbmQsIGRhdGEsIGxlbmd0aCwgaSk7CisgICAgICAgIHJldHVybiAxOworICAgIH0KKyAgICByZXR1cm4gX1B5VW5pY29kZV9Ub0xvd2VyRnVsbChjLCBtYXBwZWQpOworfQogCi0gICAgd2hpbGUgKGxlbi0tID4gMCkgewotICAgICAgICByZWdpc3RlciBQeV9VTklDT0RFIGNoOworc3RhdGljIFB5X3NzaXplX3QKK2RvX2NhcGl0YWxpemUoaW50IGtpbmQsIHZvaWQgKmRhdGEsIFB5X3NzaXplX3QgbGVuZ3RoLCBQeV9VQ1M0ICpyZXMsIFB5X1VDUzQgKm1heGNoYXIpCit7CisgICAgUHlfc3NpemVfdCBpLCBrID0gMDsKKyAgICBpbnQgbl9yZXMsIGo7CisgICAgUHlfVUNTNCBjLCBtYXBwZWRbM107CiAKLSAgICAgICAgY2ggPSBQeV9VTklDT0RFX1RPTE9XRVIoKnMpOwotICAgICAgICBpZiAoY2ggIT0gKnMpIHsKLSAgICAgICAgICAgIHN0YXR1cyA9IDE7Ci0gICAgICAgICAgICAqcyA9IGNoOworICAgIGMgPSBQeVVuaWNvZGVfUkVBRChraW5kLCBkYXRhLCAwKTsKKyAgICBuX3JlcyA9IF9QeVVuaWNvZGVfVG9VcHBlckZ1bGwoYywgbWFwcGVkKTsKKyAgICBmb3IgKGogPSAwOyBqIDwgbl9yZXM7IGorKykgeworICAgICAgICBpZiAobWFwcGVkW2pdID4gKm1heGNoYXIpCisgICAgICAgICAgICAqbWF4Y2hhciA9IG1hcHBlZFtqXTsKKyAgICAgICAgcmVzW2srK10gPSBtYXBwZWRbal07CisgICAgfQorICAgIGZvciAoaSA9IDE7IGkgPCBsZW5ndGg7IGkrKykgeworICAgICAgICBjID0gUHlVbmljb2RlX1JFQUQoa2luZCwgZGF0YSwgaSk7CisgICAgICAgIG5fcmVzID0gbG93ZXJfdWNzNChraW5kLCBkYXRhLCBsZW5ndGgsIGksIGMsIG1hcHBlZCk7CisgICAgICAgIGZvciAoaiA9IDA7IGogPCBuX3JlczsgaisrKSB7CisgICAgICAgICAgICBpZiAobWFwcGVkW2pdID4gKm1heGNoYXIpCisgICAgICAgICAgICAgICAgKm1heGNoYXIgPSBtYXBwZWRbal07CisgICAgICAgICAgICByZXNbaysrXSA9IG1hcHBlZFtqXTsKICAgICAgICAgfQotICAgICAgICBzKys7CiAgICAgfQotCi0gICAgcmV0dXJuIHN0YXR1czsKKyAgICByZXR1cm4gazsKIH0KIAotc3RhdGljCi1pbnQgZml4c3dhcGNhc2UoUHlVbmljb2RlT2JqZWN0ICpzZWxmKQotewotICAgIFB5X3NzaXplX3QgbGVuID0gc2VsZi0+bGVuZ3RoOwotICAgIFB5X1VOSUNPREUgKnMgPSBzZWxmLT5zdHI7Ci0gICAgaW50IHN0YXR1cyA9IDA7CitzdGF0aWMgUHlfc3NpemVfdAorZG9fc3dhcGNhc2UoaW50IGtpbmQsIHZvaWQgKmRhdGEsIFB5X3NzaXplX3QgbGVuZ3RoLCBQeV9VQ1M0ICpyZXMsIFB5X1VDUzQgKm1heGNoYXIpIHsKKyAgICBQeV9zc2l6ZV90IGksIGsgPSAwOwogCi0gICAgd2hpbGUgKGxlbi0tID4gMCkgewotICAgICAgICBpZiAoUHlfVU5JQ09ERV9JU1VQUEVSKCpzKSkgewotICAgICAgICAgICAgKnMgPSBQeV9VTklDT0RFX1RPTE9XRVIoKnMpOwotICAgICAgICAgICAgc3RhdHVzID0gMTsKLSAgICAgICAgfSBlbHNlIGlmIChQeV9VTklDT0RFX0lTTE9XRVIoKnMpKSB7Ci0gICAgICAgICAgICAqcyA9IFB5X1VOSUNPREVfVE9VUFBFUigqcyk7Ci0gICAgICAgICAgICBzdGF0dXMgPSAxOworICAgIGZvciAoaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykgeworICAgICAgICBQeV9VQ1M0IGMgPSBQeVVuaWNvZGVfUkVBRChraW5kLCBkYXRhLCBpKSwgbWFwcGVkWzNdOworICAgICAgICBpbnQgbl9yZXMsIGo7CisgICAgICAgIGlmIChQeV9VTklDT0RFX0lTVVBQRVIoYykpIHsKKyAgICAgICAgICAgIG5fcmVzID0gbG93ZXJfdWNzNChraW5kLCBkYXRhLCBsZW5ndGgsIGksIGMsIG1hcHBlZCk7CiAgICAgICAgIH0KLSAgICAgICAgcysrOwotICAgIH0KLQotICAgIHJldHVybiBzdGF0dXM7Ci19Ci0KLXN0YXRpYwotaW50IGZpeGNhcGl0YWxpemUoUHlVbmljb2RlT2JqZWN0ICpzZWxmKQotewotICAgIFB5X3NzaXplX3QgbGVuID0gc2VsZi0+bGVuZ3RoOwotICAgIFB5X1VOSUNPREUgKnMgPSBzZWxmLT5zdHI7Ci0gICAgaW50IHN0YXR1cyA9IDA7Ci0KLSAgICBpZiAobGVuID09IDApCi0gICAgICAgIHJldHVybiAwOwotICAgIGlmICghUHlfVU5JQ09ERV9JU1VQUEVSKCpzKSkgewotICAgICAgICAqcyA9IFB5X1VOSUNPREVfVE9VUFBFUigqcyk7Ci0gICAgICAgIHN0YXR1cyA9IDE7Ci0gICAgfQotICAgIHMrKzsKLSAgICB3aGlsZSAoLS1sZW4gPiAwKSB7Ci0gICAgICAgIGlmICghUHlfVU5JQ09ERV9JU0xPV0VSKCpzKSkgewotICAgICAgICAgICAgKnMgPSBQeV9VTklDT0RFX1RPTE9XRVIoKnMpOwotICAgICAgICAgICAgc3RhdHVzID0gMTsKKyAgICAgICAgZWxzZSBpZiAoUHlfVU5JQ09ERV9JU0xPV0VSKGMpKSB7CisgICAgICAgICAgICBuX3JlcyA9IF9QeVVuaWNvZGVfVG9VcHBlckZ1bGwoYywgbWFwcGVkKTsKICAgICAgICAgfQotICAgICAgICBzKys7CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgbl9yZXMgPSAxOworICAgICAgICAgICAgbWFwcGVkWzBdID0gYzsKKyAgICAgICAgfQorICAgICAgICBmb3IgKGogPSAwOyBqIDwgbl9yZXM7IGorKykgeworICAgICAgICAgICAgaWYgKG1hcHBlZFtqXSA+ICptYXhjaGFyKQorICAgICAgICAgICAgICAgICptYXhjaGFyID0gbWFwcGVkW2pdOworICAgICAgICAgICAgcmVzW2srK10gPSBtYXBwZWRbal07CisgICAgICAgIH0KICAgICB9Ci0gICAgcmV0dXJuIHN0YXR1czsKKyAgICByZXR1cm4gazsKIH0KIAotc3RhdGljCi1pbnQgZml4dGl0bGUoUHlVbmljb2RlT2JqZWN0ICpzZWxmKQorc3RhdGljIFB5X3NzaXplX3QKK2RvX3VwcGVyX29yX2xvd2VyKGludCBraW5kLCB2b2lkICpkYXRhLCBQeV9zc2l6ZV90IGxlbmd0aCwgUHlfVUNTNCAqcmVzLAorICAgICAgICAgICAgICAgICAgUHlfVUNTNCAqbWF4Y2hhciwgaW50IGxvd2VyKQogewotICAgIHJlZ2lzdGVyIFB5X1VOSUNPREUgKnAgPSBQeVVuaWNvZGVfQVNfVU5JQ09ERShzZWxmKTsKLSAgICByZWdpc3RlciBQeV9VTklDT0RFICplOworICAgIFB5X3NzaXplX3QgaSwgayA9IDA7CisKKyAgICBmb3IgKGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHsKKyAgICAgICAgUHlfVUNTNCBjID0gUHlVbmljb2RlX1JFQUQoa2luZCwgZGF0YSwgaSksIG1hcHBlZFszXTsKKyAgICAgICAgaW50IG5fcmVzLCBqOworICAgICAgICBpZiAobG93ZXIpCisgICAgICAgICAgICBuX3JlcyA9IGxvd2VyX3VjczQoa2luZCwgZGF0YSwgbGVuZ3RoLCBpLCBjLCBtYXBwZWQpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBuX3JlcyA9IF9QeVVuaWNvZGVfVG9VcHBlckZ1bGwoYywgbWFwcGVkKTsKKyAgICAgICAgZm9yIChqID0gMDsgaiA8IG5fcmVzOyBqKyspIHsKKyAgICAgICAgICAgIGlmIChtYXBwZWRbal0gPiAqbWF4Y2hhcikKKyAgICAgICAgICAgICAgICAqbWF4Y2hhciA9IG1hcHBlZFtqXTsKKyAgICAgICAgICAgIHJlc1trKytdID0gbWFwcGVkW2pdOworICAgICAgICB9CisgICAgfQorICAgIHJldHVybiBrOworfQorCitzdGF0aWMgUHlfc3NpemVfdAorZG9fdXBwZXIoaW50IGtpbmQsIHZvaWQgKmRhdGEsIFB5X3NzaXplX3QgbGVuZ3RoLCBQeV9VQ1M0ICpyZXMsIFB5X1VDUzQgKm1heGNoYXIpCit7CisgICAgcmV0dXJuIGRvX3VwcGVyX29yX2xvd2VyKGtpbmQsIGRhdGEsIGxlbmd0aCwgcmVzLCBtYXhjaGFyLCAwKTsKK30KKworc3RhdGljIFB5X3NzaXplX3QKK2RvX2xvd2VyKGludCBraW5kLCB2b2lkICpkYXRhLCBQeV9zc2l6ZV90IGxlbmd0aCwgUHlfVUNTNCAqcmVzLCBQeV9VQ1M0ICptYXhjaGFyKQoreworICAgIHJldHVybiBkb191cHBlcl9vcl9sb3dlcihraW5kLCBkYXRhLCBsZW5ndGgsIHJlcywgbWF4Y2hhciwgMSk7Cit9CisKK3N0YXRpYyBQeV9zc2l6ZV90Citkb19jYXNlZm9sZChpbnQga2luZCwgdm9pZCAqZGF0YSwgUHlfc3NpemVfdCBsZW5ndGgsIFB5X1VDUzQgKnJlcywgUHlfVUNTNCAqbWF4Y2hhcikKK3sKKyAgICBQeV9zc2l6ZV90IGksIGsgPSAwOworCisgICAgZm9yIChpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7CisgICAgICAgIFB5X1VDUzQgYyA9IFB5VW5pY29kZV9SRUFEKGtpbmQsIGRhdGEsIGkpOworICAgICAgICBQeV9VQ1M0IG1hcHBlZFszXTsKKyAgICAgICAgaW50IGosIG5fcmVzID0gX1B5VW5pY29kZV9Ub0ZvbGRlZEZ1bGwoYywgbWFwcGVkKTsKKyAgICAgICAgZm9yIChqID0gMDsgaiA8IG5fcmVzOyBqKyspIHsKKyAgICAgICAgICAgIGlmIChtYXBwZWRbal0gPiAqbWF4Y2hhcikKKyAgICAgICAgICAgICAgICAqbWF4Y2hhciA9IG1hcHBlZFtqXTsKKyAgICAgICAgICAgIHJlc1trKytdID0gbWFwcGVkW2pdOworICAgICAgICB9CisgICAgfQorICAgIHJldHVybiBrOworfQorCitzdGF0aWMgUHlfc3NpemVfdAorZG9fdGl0bGUoaW50IGtpbmQsIHZvaWQgKmRhdGEsIFB5X3NzaXplX3QgbGVuZ3RoLCBQeV9VQ1M0ICpyZXMsIFB5X1VDUzQgKm1heGNoYXIpCit7CisgICAgUHlfc3NpemVfdCBpLCBrID0gMDsKICAgICBpbnQgcHJldmlvdXNfaXNfY2FzZWQ7CiAKLSAgICAvKiBTaG9ydGN1dCBmb3Igc2luZ2xlIGNoYXJhY3RlciBzdHJpbmdzICovCi0gICAgaWYgKFB5VW5pY29kZV9HRVRfU0laRShzZWxmKSA9PSAxKSB7Ci0gICAgICAgIFB5X1VOSUNPREUgY2ggPSBQeV9VTklDT0RFX1RPVElUTEUoKnApOwotICAgICAgICBpZiAoKnAgIT0gY2gpIHsKLSAgICAgICAgICAgICpwID0gY2g7Ci0gICAgICAgICAgICByZXR1cm4gMTsKLSAgICAgICAgfQotICAgICAgICBlbHNlCi0gICAgICAgICAgICByZXR1cm4gMDsKLSAgICB9Ci0KLSAgICBlID0gcCArIFB5VW5pY29kZV9HRVRfU0laRShzZWxmKTsKICAgICBwcmV2aW91c19pc19jYXNlZCA9IDA7Ci0gICAgZm9yICg7IHAgPCBlOyBwKyspIHsKLSAgICAgICAgcmVnaXN0ZXIgY29uc3QgUHlfVU5JQ09ERSBjaCA9ICpwOworICAgIGZvciAoaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykgeworICAgICAgICBjb25zdCBQeV9VQ1M0IGMgPSBQeVVuaWNvZGVfUkVBRChraW5kLCBkYXRhLCBpKTsKKyAgICAgICAgUHlfVUNTNCBtYXBwZWRbM107CisgICAgICAgIGludCBuX3JlcywgajsKIAogICAgICAgICBpZiAocHJldmlvdXNfaXNfY2FzZWQpCi0gICAgICAgICAgICAqcCA9IFB5X1VOSUNPREVfVE9MT1dFUihjaCk7CisgICAgICAgICAgICBuX3JlcyA9IGxvd2VyX3VjczQoa2luZCwgZGF0YSwgbGVuZ3RoLCBpLCBjLCBtYXBwZWQpOwogICAgICAgICBlbHNlCi0gICAgICAgICAgICAqcCA9IFB5X1VOSUNPREVfVE9USVRMRShjaCk7CisgICAgICAgICAgICBuX3JlcyA9IF9QeVVuaWNvZGVfVG9UaXRsZUZ1bGwoYywgbWFwcGVkKTsKIAotICAgICAgICBpZiAoUHlfVU5JQ09ERV9JU0xPV0VSKGNoKSB8fAotICAgICAgICAgICAgUHlfVU5JQ09ERV9JU1VQUEVSKGNoKSB8fAotICAgICAgICAgICAgUHlfVU5JQ09ERV9JU1RJVExFKGNoKSkKLSAgICAgICAgICAgIHByZXZpb3VzX2lzX2Nhc2VkID0gMTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgcHJldmlvdXNfaXNfY2FzZWQgPSAwOworICAgICAgICBmb3IgKGogPSAwOyBqIDwgbl9yZXM7IGorKykgeworICAgICAgICAgICAgaWYgKG1hcHBlZFtqXSA+ICptYXhjaGFyKQorICAgICAgICAgICAgICAgICptYXhjaGFyID0gbWFwcGVkW2pdOworICAgICAgICAgICAgcmVzW2srK10gPSBtYXBwZWRbal07CisgICAgICAgIH0KKworICAgICAgICBwcmV2aW91c19pc19jYXNlZCA9IF9QeVVuaWNvZGVfSXNDYXNlZChjKTsKICAgICB9Ci0gICAgcmV0dXJuIDE7CisgICAgcmV0dXJuIGs7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitjYXNlX29wZXJhdGlvbihQeU9iamVjdCAqc2VsZiwKKyAgICAgICAgICAgICAgIFB5X3NzaXplX3QgKCpwZXJmb3JtKShpbnQsIHZvaWQgKiwgUHlfc3NpemVfdCwgUHlfVUNTNCAqLCBQeV9VQ1M0ICopKQoreworICAgIFB5T2JqZWN0ICpyZXMgPSBOVUxMOworICAgIFB5X3NzaXplX3QgbGVuZ3RoLCBuZXdsZW5ndGggPSAwOworICAgIGludCBraW5kLCBvdXRraW5kOworICAgIHZvaWQgKmRhdGEsICpvdXRkYXRhOworICAgIFB5X1VDUzQgbWF4Y2hhciA9IDAsICp0bXAsICp0bXBlbmQ7CisKKyAgICBhc3NlcnQoUHlVbmljb2RlX0lTX1JFQURZKHNlbGYpKTsKKworICAgIGtpbmQgPSBQeVVuaWNvZGVfS0lORChzZWxmKTsKKyAgICBkYXRhID0gUHlVbmljb2RlX0RBVEEoc2VsZik7CisgICAgbGVuZ3RoID0gUHlVbmljb2RlX0dFVF9MRU5HVEgoc2VsZik7CisgICAgdG1wID0gUHlNZW1fTUFMTE9DKHNpemVvZihQeV9VQ1M0KSAqIDMgKiBsZW5ndGgpOworICAgIGlmICh0bXAgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIFB5RXJyX05vTWVtb3J5KCk7CisgICAgbmV3bGVuZ3RoID0gcGVyZm9ybShraW5kLCBkYXRhLCBsZW5ndGgsIHRtcCwgJm1heGNoYXIpOworICAgIHJlcyA9IFB5VW5pY29kZV9OZXcobmV3bGVuZ3RoLCBtYXhjaGFyKTsKKyAgICBpZiAocmVzID09IE5VTEwpCisgICAgICAgIGdvdG8gbGVhdmU7CisgICAgdG1wZW5kID0gdG1wICsgbmV3bGVuZ3RoOworICAgIG91dGRhdGEgPSBQeVVuaWNvZGVfREFUQShyZXMpOworICAgIG91dGtpbmQgPSBQeVVuaWNvZGVfS0lORChyZXMpOworICAgIHN3aXRjaCAob3V0a2luZCkgeworICAgIGNhc2UgUHlVbmljb2RlXzFCWVRFX0tJTkQ6CisgICAgICAgIF9QeVVuaWNvZGVfQ09OVkVSVF9CWVRFUyhQeV9VQ1M0LCBQeV9VQ1MxLCB0bXAsIHRtcGVuZCwgb3V0ZGF0YSk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgUHlVbmljb2RlXzJCWVRFX0tJTkQ6CisgICAgICAgIF9QeVVuaWNvZGVfQ09OVkVSVF9CWVRFUyhQeV9VQ1M0LCBQeV9VQ1MyLCB0bXAsIHRtcGVuZCwgb3V0ZGF0YSk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgUHlVbmljb2RlXzRCWVRFX0tJTkQ6CisgICAgICAgIG1lbWNweShvdXRkYXRhLCB0bXAsIHNpemVvZihQeV9VQ1M0KSAqIG5ld2xlbmd0aCk7CisgICAgICAgIGJyZWFrOworICAgIGRlZmF1bHQ6CisgICAgICAgIGFzc2VydCgwKTsKKyAgICAgICAgYnJlYWs7CisgICAgfQorICBsZWF2ZToKKyAgICBQeU1lbV9GUkVFKHRtcCk7CisgICAgcmV0dXJuIHJlczsKIH0KIAogUHlPYmplY3QgKgogUHlVbmljb2RlX0pvaW4oUHlPYmplY3QgKnNlcGFyYXRvciwgUHlPYmplY3QgKnNlcSkKIHsKLSAgICBjb25zdCBQeV9VTklDT0RFIGJsYW5rID0gJyAnOwotICAgIGNvbnN0IFB5X1VOSUNPREUgKnNlcCA9ICZibGFuazsKLSAgICBQeV9zc2l6ZV90IHNlcGxlbiA9IDE7Ci0gICAgUHlVbmljb2RlT2JqZWN0ICpyZXMgPSBOVUxMOyAvKiB0aGUgcmVzdWx0ICovCi0gICAgUHlfVU5JQ09ERSAqcmVzX3A7ICAgICAgIC8qIHBvaW50ZXIgdG8gZnJlZSBieXRlIGluIHJlcydzIHN0cmluZyBhcmVhICovCisgICAgUHlPYmplY3QgKnNlcCA9IE5VTEw7CisgICAgUHlfc3NpemVfdCBzZXBsZW47CisgICAgUHlPYmplY3QgKnJlcyA9IE5VTEw7IC8qIHRoZSByZXN1bHQgKi8KICAgICBQeU9iamVjdCAqZnNlcTsgICAgICAgICAgLyogUHlTZXF1ZW5jZV9GYXN0KHNlcSkgKi8KICAgICBQeV9zc2l6ZV90IHNlcWxlbjsgICAgICAgLyogbGVuKGZzZXEpIC0tIG51bWJlciBvZiBpdGVtcyBpbiBzZXF1ZW5jZSAqLwogICAgIFB5T2JqZWN0ICoqaXRlbXM7CiAgICAgUHlPYmplY3QgKml0ZW07Ci0gICAgUHlfc3NpemVfdCBzeiwgaTsKKyAgICBQeV9zc2l6ZV90IHN6LCBpLCByZXNfb2Zmc2V0OworICAgIFB5X1VDUzQgbWF4Y2hhcjsKKyAgICBQeV9VQ1M0IGl0ZW1fbWF4Y2hhcjsKKyAgICBpbnQgdXNlX21lbWNweTsKKyAgICB1bnNpZ25lZCBjaGFyICpyZXNfZGF0YSA9IE5VTEwsICpzZXBfZGF0YSA9IE5VTEw7CisgICAgUHlPYmplY3QgKmxhc3Rfb2JqOworICAgIHVuc2lnbmVkIGludCBraW5kID0gMDsKIAogICAgIGZzZXEgPSBQeVNlcXVlbmNlX0Zhc3Qoc2VxLCAiIik7CiAgICAgaWYgKGZzZXEgPT0gTlVMTCkgewpAQCAtNjc3NiwyNCArOTgzMiwzNCBAQAogICAgIHNlcWxlbiA9IFB5U2VxdWVuY2VfRmFzdF9HRVRfU0laRShmc2VxKTsKICAgICAvKiBJZiBlbXB0eSBzZXF1ZW5jZSwgcmV0dXJuIHUiIi4gKi8KICAgICBpZiAoc2VxbGVuID09IDApIHsKLSAgICAgICAgcmVzID0gX1B5VW5pY29kZV9OZXcoMCk7ICAvKiBlbXB0eSBzZXF1ZW5jZTsgcmV0dXJuIHUiIiAqLwotICAgICAgICBnb3RvIERvbmU7CisgICAgICAgIFB5X0RFQ1JFRihmc2VxKTsKKyAgICAgICAgUHlfSU5DUkVGKHVuaWNvZGVfZW1wdHkpOworICAgICAgICByZXMgPSB1bmljb2RlX2VtcHR5OworICAgICAgICByZXR1cm4gcmVzOwogICAgIH0KLSAgICBpdGVtcyA9IFB5U2VxdWVuY2VfRmFzdF9JVEVNUyhmc2VxKTsKKwogICAgIC8qIElmIHNpbmdsZXRvbiBzZXF1ZW5jZSB3aXRoIGFuIGV4YWN0IFVuaWNvZGUsIHJldHVybiB0aGF0LiAqLworICAgIGxhc3Rfb2JqID0gTlVMTDsKKyAgICBpdGVtcyA9IFB5U2VxdWVuY2VfRmFzdF9JVEVNUyhmc2VxKTsKICAgICBpZiAoc2VxbGVuID09IDEpIHsKLSAgICAgICAgaXRlbSA9IGl0ZW1zWzBdOwotICAgICAgICBpZiAoUHlVbmljb2RlX0NoZWNrRXhhY3QoaXRlbSkpIHsKLSAgICAgICAgICAgIFB5X0lOQ1JFRihpdGVtKTsKLSAgICAgICAgICAgIHJlcyA9IChQeVVuaWNvZGVPYmplY3QgKilpdGVtOwotICAgICAgICAgICAgZ290byBEb25lOworICAgICAgICBpZiAoUHlVbmljb2RlX0NoZWNrRXhhY3QoaXRlbXNbMF0pKSB7CisgICAgICAgICAgICByZXMgPSBpdGVtc1swXTsKKyAgICAgICAgICAgIFB5X0lOQ1JFRihyZXMpOworICAgICAgICAgICAgUHlfREVDUkVGKGZzZXEpOworICAgICAgICAgICAgcmV0dXJuIHJlczsKICAgICAgICAgfQorICAgICAgICBzZXBsZW4gPSAwOworICAgICAgICBtYXhjaGFyID0gMDsKICAgICB9CiAgICAgZWxzZSB7CiAgICAgICAgIC8qIFNldCB1cCBzZXAgYW5kIHNlcGxlbiAqLwogICAgICAgICBpZiAoc2VwYXJhdG9yID09IE5VTEwpIHsKLSAgICAgICAgICAgIHNlcCA9ICZibGFuazsKKyAgICAgICAgICAgIC8qIGZhbGwgYmFjayB0byBhIGJsYW5rIHNwYWNlIHNlcGFyYXRvciAqLworICAgICAgICAgICAgc2VwID0gUHlVbmljb2RlX0Zyb21PcmRpbmFsKCcgJyk7CisgICAgICAgICAgICBpZiAoIXNlcCkKKyAgICAgICAgICAgICAgICBnb3RvIG9uRXJyb3I7CiAgICAgICAgICAgICBzZXBsZW4gPSAxOworICAgICAgICAgICAgbWF4Y2hhciA9IDMyOwogICAgICAgICB9CiAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgaWYgKCFQeVVuaWNvZGVfQ2hlY2soc2VwYXJhdG9yKSkgewpAQCAtNjgwMyw5ICs5ODY5LDE2IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5X1RZUEUoc2VwYXJhdG9yKS0+dHBfbmFtZSk7CiAgICAgICAgICAgICAgICAgZ290byBvbkVycm9yOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgc2VwID0gUHlVbmljb2RlX0FTX1VOSUNPREUoc2VwYXJhdG9yKTsKLSAgICAgICAgICAgIHNlcGxlbiA9IFB5VW5pY29kZV9HRVRfU0laRShzZXBhcmF0b3IpOworICAgICAgICAgICAgaWYgKFB5VW5pY29kZV9SRUFEWShzZXBhcmF0b3IpKQorICAgICAgICAgICAgICAgIGdvdG8gb25FcnJvcjsKKyAgICAgICAgICAgIHNlcCA9IHNlcGFyYXRvcjsKKyAgICAgICAgICAgIHNlcGxlbiA9IFB5VW5pY29kZV9HRVRfTEVOR1RIKHNlcGFyYXRvcik7CisgICAgICAgICAgICBtYXhjaGFyID0gUHlVbmljb2RlX01BWF9DSEFSX1ZBTFVFKHNlcGFyYXRvcik7CisgICAgICAgICAgICAvKiBpbmMgcmVmY291bnQgdG8ga2VlcCB0aGlzIGNvZGUgcGF0aCBzeW1tZXRyaWMgd2l0aCB0aGUKKyAgICAgICAgICAgICAgIGFib3ZlIGNhc2Ugb2YgYSBibGFuayBzZXBhcmF0b3IgKi8KKyAgICAgICAgICAgIFB5X0lOQ1JFRihzZXApOwogICAgICAgICB9CisgICAgICAgIGxhc3Rfb2JqID0gc2VwOwogICAgIH0KIAogICAgIC8qIFRoZXJlIGFyZSBhdCBsZWFzdCB0d28gdGhpbmdzIHRvIGpvaW4sIG9yIGVsc2Ugd2UgaGF2ZSBhIHN1YmNsYXNzCkBAIC02ODE0LDYgKzk4ODcsMTEgQEAKICAgICAgKiBuZWVkIChzeiksIGFuZCBzZWUgd2hldGhlciBhbGwgYXJndW1lbnQgYXJlIHN0cmluZ3MuCiAgICAgICovCiAgICAgc3ogPSAwOworI2lmZGVmIFB5X0RFQlVHCisgICAgdXNlX21lbWNweSA9IDA7CisjZWxzZQorICAgIHVzZV9tZW1jcHkgPSAxOworI2VuZGlmCiAgICAgZm9yIChpID0gMDsgaSA8IHNlcWxlbjsgaSsrKSB7CiAgICAgICAgIGNvbnN0IFB5X3NzaXplX3Qgb2xkX3N6ID0gc3o7CiAgICAgICAgIGl0ZW0gPSBpdGVtc1tpXTsKQEAgLTY4MjQsNyArOTkwMiwxMSBAQAogICAgICAgICAgICAgICAgICAgICAgICAgIGksIFB5X1RZUEUoaXRlbSktPnRwX25hbWUpOwogICAgICAgICAgICAgZ290byBvbkVycm9yOwogICAgICAgICB9Ci0gICAgICAgIHN6ICs9IFB5VW5pY29kZV9HRVRfU0laRShpdGVtKTsKKyAgICAgICAgaWYgKFB5VW5pY29kZV9SRUFEWShpdGVtKSA9PSAtMSkKKyAgICAgICAgICAgIGdvdG8gb25FcnJvcjsKKyAgICAgICAgc3ogKz0gUHlVbmljb2RlX0dFVF9MRU5HVEgoaXRlbSk7CisgICAgICAgIGl0ZW1fbWF4Y2hhciA9IFB5VW5pY29kZV9NQVhfQ0hBUl9WQUxVRShpdGVtKTsKKyAgICAgICAgbWF4Y2hhciA9IFB5X01BWChtYXhjaGFyLCBpdGVtX21heGNoYXIpOwogICAgICAgICBpZiAoaSAhPSAwKQogICAgICAgICAgICAgc3ogKz0gc2VwbGVuOwogICAgICAgICBpZiAoc3ogPCBvbGRfc3ogfHwgc3ogPiBQWV9TU0laRV9UX01BWCkgewpAQCAtNjgzMiwyNjYgKzk5MTQsNzEzIEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImpvaW4oKSByZXN1bHQgaXMgdG9vIGxvbmcgZm9yIGEgUHl0aG9uIHN0cmluZyIpOwogICAgICAgICAgICAgZ290byBvbkVycm9yOwogICAgICAgICB9CisgICAgICAgIGlmICh1c2VfbWVtY3B5ICYmIGxhc3Rfb2JqICE9IE5VTEwpIHsKKyAgICAgICAgICAgIGlmIChQeVVuaWNvZGVfS0lORChsYXN0X29iaikgIT0gUHlVbmljb2RlX0tJTkQoaXRlbSkpCisgICAgICAgICAgICAgICAgdXNlX21lbWNweSA9IDA7CisgICAgICAgIH0KKyAgICAgICAgbGFzdF9vYmogPSBpdGVtOwogICAgIH0KIAotICAgIHJlcyA9IF9QeVVuaWNvZGVfTmV3KHN6KTsKKyAgICByZXMgPSBQeVVuaWNvZGVfTmV3KHN6LCBtYXhjaGFyKTsKICAgICBpZiAocmVzID09IE5VTEwpCiAgICAgICAgIGdvdG8gb25FcnJvcjsKIAogICAgIC8qIENhdGVuYXRlIGV2ZXJ5dGhpbmcuICovCi0gICAgcmVzX3AgPSBQeVVuaWNvZGVfQVNfVU5JQ09ERShyZXMpOwotICAgIGZvciAoaSA9IDA7IGkgPCBzZXFsZW47ICsraSkgeworI2lmZGVmIFB5X0RFQlVHCisgICAgdXNlX21lbWNweSA9IDA7CisjZWxzZQorICAgIGlmICh1c2VfbWVtY3B5KSB7CisgICAgICAgIHJlc19kYXRhID0gUHlVbmljb2RlXzFCWVRFX0RBVEEocmVzKTsKKyAgICAgICAga2luZCA9IFB5VW5pY29kZV9LSU5EKHJlcyk7CisgICAgICAgIGlmIChzZXBsZW4gIT0gMCkKKyAgICAgICAgICAgIHNlcF9kYXRhID0gUHlVbmljb2RlXzFCWVRFX0RBVEEoc2VwKTsKKyAgICB9CisjZW5kaWYKKyAgICBmb3IgKGkgPSAwLCByZXNfb2Zmc2V0ID0gMDsgaSA8IHNlcWxlbjsgKytpKSB7CiAgICAgICAgIFB5X3NzaXplX3QgaXRlbWxlbjsKICAgICAgICAgaXRlbSA9IGl0ZW1zW2ldOwotICAgICAgICBpdGVtbGVuID0gUHlVbmljb2RlX0dFVF9TSVpFKGl0ZW0pOwogICAgICAgICAvKiBDb3B5IGl0ZW0sIGFuZCBtYXliZSB0aGUgc2VwYXJhdG9yLiAqLwotICAgICAgICBpZiAoaSkgewotICAgICAgICAgICAgUHlfVU5JQ09ERV9DT1BZKHJlc19wLCBzZXAsIHNlcGxlbik7Ci0gICAgICAgICAgICByZXNfcCArPSBzZXBsZW47CisgICAgICAgIGlmIChpICYmIHNlcGxlbiAhPSAwKSB7CisgICAgICAgICAgICBpZiAodXNlX21lbWNweSkgeworICAgICAgICAgICAgICAgIFB5X01FTUNQWShyZXNfZGF0YSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgc2VwX2RhdGEsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGtpbmQgKiBzZXBsZW4pOworICAgICAgICAgICAgICAgIHJlc19kYXRhICs9IGtpbmQgKiBzZXBsZW47CisgICAgICAgICAgICB9CisgICAgICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgICAgICBjb3B5X2NoYXJhY3RlcnMocmVzLCByZXNfb2Zmc2V0LCBzZXAsIDAsIHNlcGxlbik7CisgICAgICAgICAgICAgICAgcmVzX29mZnNldCArPSBzZXBsZW47CisgICAgICAgICAgICB9CiAgICAgICAgIH0KLSAgICAgICAgUHlfVU5JQ09ERV9DT1BZKHJlc19wLCBQeVVuaWNvZGVfQVNfVU5JQ09ERShpdGVtKSwgaXRlbWxlbik7Ci0gICAgICAgIHJlc19wICs9IGl0ZW1sZW47CisgICAgICAgIGl0ZW1sZW4gPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChpdGVtKTsKKyAgICAgICAgaWYgKGl0ZW1sZW4gIT0gMCkgeworICAgICAgICAgICAgaWYgKHVzZV9tZW1jcHkpIHsKKyAgICAgICAgICAgICAgICBQeV9NRU1DUFkocmVzX2RhdGEsCisgICAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9EQVRBKGl0ZW0pLAorICAgICAgICAgICAgICAgICAgICAgICAgICBraW5kICogaXRlbWxlbik7CisgICAgICAgICAgICAgICAgcmVzX2RhdGEgKz0ga2luZCAqIGl0ZW1sZW47CisgICAgICAgICAgICB9CisgICAgICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgICAgICBjb3B5X2NoYXJhY3RlcnMocmVzLCByZXNfb2Zmc2V0LCBpdGVtLCAwLCBpdGVtbGVuKTsKKyAgICAgICAgICAgICAgICByZXNfb2Zmc2V0ICs9IGl0ZW1sZW47CisgICAgICAgICAgICB9CisgICAgICAgIH0KICAgICB9CisgICAgaWYgKHVzZV9tZW1jcHkpCisgICAgICAgIGFzc2VydChyZXNfZGF0YSA9PSBQeVVuaWNvZGVfMUJZVEVfREFUQShyZXMpCisgICAgICAgICAgICAgICAgICAgICAgICAgICArIGtpbmQgKiBQeVVuaWNvZGVfR0VUX0xFTkdUSChyZXMpKTsKKyAgICBlbHNlCisgICAgICAgIGFzc2VydChyZXNfb2Zmc2V0ID09IFB5VW5pY29kZV9HRVRfTEVOR1RIKHJlcykpOwogCi0gIERvbmU6CiAgICAgUHlfREVDUkVGKGZzZXEpOwotICAgIHJldHVybiAoUHlPYmplY3QgKilyZXM7CisgICAgUHlfWERFQ1JFRihzZXApOworICAgIGFzc2VydChfUHlVbmljb2RlX0NoZWNrQ29uc2lzdGVuY3kocmVzLCAxKSk7CisgICAgcmV0dXJuIHJlczsKIAogICBvbkVycm9yOgogICAgIFB5X0RFQ1JFRihmc2VxKTsKKyAgICBQeV9YREVDUkVGKHNlcCk7CiAgICAgUHlfWERFQ1JFRihyZXMpOwogICAgIHJldHVybiBOVUxMOwogfQogCi1zdGF0aWMKLVB5VW5pY29kZU9iamVjdCAqcGFkKFB5VW5pY29kZU9iamVjdCAqc2VsZiwKLSAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3QgbGVmdCwKLSAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3QgcmlnaHQsCi0gICAgICAgICAgICAgICAgICAgICBQeV9VTklDT0RFIGZpbGwpCisjZGVmaW5lIEZJTEwoa2luZCwgZGF0YSwgdmFsdWUsIHN0YXJ0LCBsZW5ndGgpIFwKKyAgICBkbyB7IFwKKyAgICAgICAgUHlfc3NpemVfdCBpXyA9IDA7IFwKKyAgICAgICAgYXNzZXJ0KGtpbmQgIT0gUHlVbmljb2RlX1dDSEFSX0tJTkQpOyBcCisgICAgICAgIHN3aXRjaCAoKGtpbmQpKSB7IFwKKyAgICAgICAgY2FzZSBQeVVuaWNvZGVfMUJZVEVfS0lORDogeyBcCisgICAgICAgICAgICB1bnNpZ25lZCBjaGFyICogdG9fID0gKHVuc2lnbmVkIGNoYXIgKikoKGRhdGEpKSArIChzdGFydCk7IFwKKyAgICAgICAgICAgIG1lbXNldCh0b18sICh1bnNpZ25lZCBjaGFyKXZhbHVlLCBsZW5ndGgpOyBcCisgICAgICAgICAgICBicmVhazsgXAorICAgICAgICB9IFwKKyAgICAgICAgY2FzZSBQeVVuaWNvZGVfMkJZVEVfS0lORDogeyBcCisgICAgICAgICAgICBQeV9VQ1MyICogdG9fID0gKFB5X1VDUzIgKikoKGRhdGEpKSArIChzdGFydCk7IFwKKyAgICAgICAgICAgIGZvciAoOyBpXyA8IChsZW5ndGgpOyArK2lfLCArK3RvXykgKnRvXyA9ICh2YWx1ZSk7IFwKKyAgICAgICAgICAgIGJyZWFrOyBcCisgICAgICAgIH0gXAorICAgICAgICBjYXNlIFB5VW5pY29kZV80QllURV9LSU5EOiB7IFwKKyAgICAgICAgICAgIFB5X1VDUzQgKiB0b18gPSAoUHlfVUNTNCAqKSgoZGF0YSkpICsgKHN0YXJ0KTsgXAorICAgICAgICAgICAgZm9yICg7IGlfIDwgKGxlbmd0aCk7ICsraV8sICsrdG9fKSAqdG9fID0gKHZhbHVlKTsgXAorICAgICAgICAgICAgYnJlYWs7IFwKKyAgICAgICAgZGVmYXVsdDogYXNzZXJ0KDApOyBcCisgICAgICAgIH0gXAorICAgICAgICB9IFwKKyAgICB9IHdoaWxlICgwKQorCitQeV9zc2l6ZV90CitQeVVuaWNvZGVfRmlsbChQeU9iamVjdCAqdW5pY29kZSwgUHlfc3NpemVfdCBzdGFydCwgUHlfc3NpemVfdCBsZW5ndGgsCisgICAgICAgICAgICAgICBQeV9VQ1M0IGZpbGxfY2hhcikKIHsKLSAgICBQeVVuaWNvZGVPYmplY3QgKnU7CisgICAgUHlfc3NpemVfdCBtYXhsZW47CisgICAgZW51bSBQeVVuaWNvZGVfS2luZCBraW5kOworICAgIHZvaWQgKmRhdGE7CisKKyAgICBpZiAoIVB5VW5pY29kZV9DaGVjayh1bmljb2RlKSkgeworICAgICAgICBQeUVycl9CYWRJbnRlcm5hbENhbGwoKTsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKyAgICBpZiAoUHlVbmljb2RlX1JFQURZKHVuaWNvZGUpID09IC0xKQorICAgICAgICByZXR1cm4gLTE7CisgICAgaWYgKHVuaWNvZGVfY2hlY2tfbW9kaWZpYWJsZSh1bmljb2RlKSkKKyAgICAgICAgcmV0dXJuIC0xOworCisgICAgaWYgKGZpbGxfY2hhciA+IFB5VW5pY29kZV9NQVhfQ0hBUl9WQUxVRSh1bmljb2RlKSkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAiZmlsbCBjaGFyYWN0ZXIgaXMgYmlnZ2VyIHRoYW4gIgorICAgICAgICAgICAgICAgICAgICAgICAgICJ0aGUgc3RyaW5nIG1heGltdW0gY2hhcmFjdGVyIik7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisKKyAgICBtYXhsZW4gPSBQeVVuaWNvZGVfR0VUX0xFTkdUSCh1bmljb2RlKSAtIHN0YXJ0OworICAgIGxlbmd0aCA9IFB5X01JTihtYXhsZW4sIGxlbmd0aCk7CisgICAgaWYgKGxlbmd0aCA8PSAwKQorICAgICAgICByZXR1cm4gMDsKKworICAgIGtpbmQgPSBQeVVuaWNvZGVfS0lORCh1bmljb2RlKTsKKyAgICBkYXRhID0gUHlVbmljb2RlX0RBVEEodW5pY29kZSk7CisgICAgRklMTChraW5kLCBkYXRhLCBmaWxsX2NoYXIsIHN0YXJ0LCBsZW5ndGgpOworICAgIHJldHVybiBsZW5ndGg7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqCitwYWQoUHlPYmplY3QgKnNlbGYsCisgICAgUHlfc3NpemVfdCBsZWZ0LAorICAgIFB5X3NzaXplX3QgcmlnaHQsCisgICAgUHlfVUNTNCBmaWxsKQoreworICAgIFB5T2JqZWN0ICp1OworICAgIFB5X1VDUzQgbWF4Y2hhcjsKKyAgICBpbnQga2luZDsKKyAgICB2b2lkICpkYXRhOwogCiAgICAgaWYgKGxlZnQgPCAwKQogICAgICAgICBsZWZ0ID0gMDsKICAgICBpZiAocmlnaHQgPCAwKQogICAgICAgICByaWdodCA9IDA7CiAKLSAgICBpZiAobGVmdCA9PSAwICYmIHJpZ2h0ID09IDAgJiYgUHlVbmljb2RlX0NoZWNrRXhhY3Qoc2VsZikpIHsKLSAgICAgICAgUHlfSU5DUkVGKHNlbGYpOwotICAgICAgICByZXR1cm4gc2VsZjsKLSAgICB9CisgICAgaWYgKGxlZnQgPT0gMCAmJiByaWdodCA9PSAwKQorICAgICAgICByZXR1cm4gdW5pY29kZV9yZXN1bHRfdW5jaGFuZ2VkKHNlbGYpOwogCi0gICAgaWYgKGxlZnQgPiBQWV9TU0laRV9UX01BWCAtIHNlbGYtPmxlbmd0aCB8fAotICAgICAgICByaWdodCA+IFBZX1NTSVpFX1RfTUFYIC0gKGxlZnQgKyBzZWxmLT5sZW5ndGgpKSB7CisgICAgaWYgKGxlZnQgPiBQWV9TU0laRV9UX01BWCAtIF9QeVVuaWNvZGVfTEVOR1RIKHNlbGYpIHx8CisgICAgICAgIHJpZ2h0ID4gUFlfU1NJWkVfVF9NQVggLSAobGVmdCArIF9QeVVuaWNvZGVfTEVOR1RIKHNlbGYpKSkgewogICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfT3ZlcmZsb3dFcnJvciwgInBhZGRlZCBzdHJpbmcgaXMgdG9vIGxvbmciKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQotICAgIHUgPSBfUHlVbmljb2RlX05ldyhsZWZ0ICsgc2VsZi0+bGVuZ3RoICsgcmlnaHQpOwotICAgIGlmICh1KSB7Ci0gICAgICAgIGlmIChsZWZ0KQotICAgICAgICAgICAgUHlfVU5JQ09ERV9GSUxMKHUtPnN0ciwgZmlsbCwgbGVmdCk7Ci0gICAgICAgIFB5X1VOSUNPREVfQ09QWSh1LT5zdHIgKyBsZWZ0LCBzZWxmLT5zdHIsIHNlbGYtPmxlbmd0aCk7Ci0gICAgICAgIGlmIChyaWdodCkKLSAgICAgICAgICAgIFB5X1VOSUNPREVfRklMTCh1LT5zdHIgKyBsZWZ0ICsgc2VsZi0+bGVuZ3RoLCBmaWxsLCByaWdodCk7Ci0gICAgfQorICAgIG1heGNoYXIgPSBQeVVuaWNvZGVfTUFYX0NIQVJfVkFMVUUoc2VsZik7CisgICAgaWYgKGZpbGwgPiBtYXhjaGFyKQorICAgICAgICBtYXhjaGFyID0gZmlsbDsKKyAgICB1ID0gUHlVbmljb2RlX05ldyhsZWZ0ICsgX1B5VW5pY29kZV9MRU5HVEgoc2VsZikgKyByaWdodCwgbWF4Y2hhcik7CisgICAgaWYgKCF1KQorICAgICAgICByZXR1cm4gTlVMTDsKIAorICAgIGtpbmQgPSBQeVVuaWNvZGVfS0lORCh1KTsKKyAgICBkYXRhID0gUHlVbmljb2RlX0RBVEEodSk7CisgICAgaWYgKGxlZnQpCisgICAgICAgIEZJTEwoa2luZCwgZGF0YSwgZmlsbCwgMCwgbGVmdCk7CisgICAgaWYgKHJpZ2h0KQorICAgICAgICBGSUxMKGtpbmQsIGRhdGEsIGZpbGwsIGxlZnQgKyBfUHlVbmljb2RlX0xFTkdUSChzZWxmKSwgcmlnaHQpOworICAgIGNvcHlfY2hhcmFjdGVycyh1LCBsZWZ0LCBzZWxmLCAwLCBfUHlVbmljb2RlX0xFTkdUSChzZWxmKSk7CisgICAgYXNzZXJ0KF9QeVVuaWNvZGVfQ2hlY2tDb25zaXN0ZW5jeSh1LCAxKSk7CiAgICAgcmV0dXJuIHU7CiB9CiAKLVB5T2JqZWN0ICpQeVVuaWNvZGVfU3BsaXRsaW5lcyhQeU9iamVjdCAqc3RyaW5nLCBpbnQga2VlcGVuZHMpCitQeU9iamVjdCAqCitQeVVuaWNvZGVfU3BsaXRsaW5lcyhQeU9iamVjdCAqc3RyaW5nLCBpbnQga2VlcGVuZHMpCiB7CiAgICAgUHlPYmplY3QgKmxpc3Q7CiAKICAgICBzdHJpbmcgPSBQeVVuaWNvZGVfRnJvbU9iamVjdChzdHJpbmcpOwogICAgIGlmIChzdHJpbmcgPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgaWYgKFB5VW5pY29kZV9SRUFEWShzdHJpbmcpID09IC0xKSB7CisgICAgICAgIFB5X0RFQ1JFRihzdHJpbmcpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CiAKLSAgICBsaXN0ID0gc3RyaW5nbGliX3NwbGl0bGluZXMoCi0gICAgICAgIChQeU9iamVjdCopIHN0cmluZywgUHlVbmljb2RlX0FTX1VOSUNPREUoc3RyaW5nKSwKLSAgICAgICAgUHlVbmljb2RlX0dFVF9TSVpFKHN0cmluZyksIGtlZXBlbmRzKTsKLQorICAgIHN3aXRjaCAoUHlVbmljb2RlX0tJTkQoc3RyaW5nKSkgeworICAgIGNhc2UgUHlVbmljb2RlXzFCWVRFX0tJTkQ6CisgICAgICAgIGlmIChQeVVuaWNvZGVfSVNfQVNDSUkoc3RyaW5nKSkKKyAgICAgICAgICAgIGxpc3QgPSBhc2NpaWxpYl9zcGxpdGxpbmVzKAorICAgICAgICAgICAgICAgIHN0cmluZywgUHlVbmljb2RlXzFCWVRFX0RBVEEoc3RyaW5nKSwKKyAgICAgICAgICAgICAgICBQeVVuaWNvZGVfR0VUX0xFTkdUSChzdHJpbmcpLCBrZWVwZW5kcyk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGxpc3QgPSB1Y3MxbGliX3NwbGl0bGluZXMoCisgICAgICAgICAgICAgICAgc3RyaW5nLCBQeVVuaWNvZGVfMUJZVEVfREFUQShzdHJpbmcpLAorICAgICAgICAgICAgICAgIFB5VW5pY29kZV9HRVRfTEVOR1RIKHN0cmluZyksIGtlZXBlbmRzKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBQeVVuaWNvZGVfMkJZVEVfS0lORDoKKyAgICAgICAgbGlzdCA9IHVjczJsaWJfc3BsaXRsaW5lcygKKyAgICAgICAgICAgIHN0cmluZywgUHlVbmljb2RlXzJCWVRFX0RBVEEoc3RyaW5nKSwKKyAgICAgICAgICAgIFB5VW5pY29kZV9HRVRfTEVOR1RIKHN0cmluZyksIGtlZXBlbmRzKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBQeVVuaWNvZGVfNEJZVEVfS0lORDoKKyAgICAgICAgbGlzdCA9IHVjczRsaWJfc3BsaXRsaW5lcygKKyAgICAgICAgICAgIHN0cmluZywgUHlVbmljb2RlXzRCWVRFX0RBVEEoc3RyaW5nKSwKKyAgICAgICAgICAgIFB5VW5pY29kZV9HRVRfTEVOR1RIKHN0cmluZyksIGtlZXBlbmRzKTsKKyAgICAgICAgYnJlYWs7CisgICAgZGVmYXVsdDoKKyAgICAgICAgYXNzZXJ0KDApOworICAgICAgICBsaXN0ID0gMDsKKyAgICB9CiAgICAgUHlfREVDUkVGKHN0cmluZyk7CiAgICAgcmV0dXJuIGxpc3Q7CiB9CiAKLXN0YXRpYwotUHlPYmplY3QgKnNwbGl0KFB5VW5pY29kZU9iamVjdCAqc2VsZiwKLSAgICAgICAgICAgICAgICBQeVVuaWNvZGVPYmplY3QgKnN1YnN0cmluZywKLSAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IG1heGNvdW50KQorc3RhdGljIFB5T2JqZWN0ICoKK3NwbGl0KFB5T2JqZWN0ICpzZWxmLAorICAgICAgUHlPYmplY3QgKnN1YnN0cmluZywKKyAgICAgIFB5X3NzaXplX3QgbWF4Y291bnQpCiB7CisgICAgaW50IGtpbmQxLCBraW5kMiwga2luZDsKKyAgICB2b2lkICpidWYxLCAqYnVmMjsKKyAgICBQeV9zc2l6ZV90IGxlbjEsIGxlbjI7CisgICAgUHlPYmplY3QqIG91dDsKKwogICAgIGlmIChtYXhjb3VudCA8IDApCiAgICAgICAgIG1heGNvdW50ID0gUFlfU1NJWkVfVF9NQVg7CiAKKyAgICBpZiAoUHlVbmljb2RlX1JFQURZKHNlbGYpID09IC0xKQorICAgICAgICByZXR1cm4gTlVMTDsKKwogICAgIGlmIChzdWJzdHJpbmcgPT0gTlVMTCkKLSAgICAgICAgcmV0dXJuIHN0cmluZ2xpYl9zcGxpdF93aGl0ZXNwYWNlKAotICAgICAgICAgICAgKFB5T2JqZWN0Kikgc2VsZiwgIHNlbGYtPnN0ciwgc2VsZi0+bGVuZ3RoLCBtYXhjb3VudAotICAgICAgICAgICAgKTsKKyAgICAgICAgc3dpdGNoIChQeVVuaWNvZGVfS0lORChzZWxmKSkgeworICAgICAgICBjYXNlIFB5VW5pY29kZV8xQllURV9LSU5EOgorICAgICAgICAgICAgaWYgKFB5VW5pY29kZV9JU19BU0NJSShzZWxmKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gYXNjaWlsaWJfc3BsaXRfd2hpdGVzcGFjZSgKKyAgICAgICAgICAgICAgICAgICAgc2VsZiwgIFB5VW5pY29kZV8xQllURV9EQVRBKHNlbGYpLAorICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfR0VUX0xFTkdUSChzZWxmKSwgbWF4Y291bnQKKyAgICAgICAgICAgICAgICAgICAgKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICByZXR1cm4gdWNzMWxpYl9zcGxpdF93aGl0ZXNwYWNlKAorICAgICAgICAgICAgICAgICAgICBzZWxmLCAgUHlVbmljb2RlXzFCWVRFX0RBVEEoc2VsZiksCisgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9HRVRfTEVOR1RIKHNlbGYpLCBtYXhjb3VudAorICAgICAgICAgICAgICAgICAgICApOworICAgICAgICBjYXNlIFB5VW5pY29kZV8yQllURV9LSU5EOgorICAgICAgICAgICAgcmV0dXJuIHVjczJsaWJfc3BsaXRfd2hpdGVzcGFjZSgKKyAgICAgICAgICAgICAgICBzZWxmLCAgUHlVbmljb2RlXzJCWVRFX0RBVEEoc2VsZiksCisgICAgICAgICAgICAgICAgUHlVbmljb2RlX0dFVF9MRU5HVEgoc2VsZiksIG1heGNvdW50CisgICAgICAgICAgICAgICAgKTsKKyAgICAgICAgY2FzZSBQeVVuaWNvZGVfNEJZVEVfS0lORDoKKyAgICAgICAgICAgIHJldHVybiB1Y3M0bGliX3NwbGl0X3doaXRlc3BhY2UoCisgICAgICAgICAgICAgICAgc2VsZiwgIFB5VW5pY29kZV80QllURV9EQVRBKHNlbGYpLAorICAgICAgICAgICAgICAgIFB5VW5pY29kZV9HRVRfTEVOR1RIKHNlbGYpLCBtYXhjb3VudAorICAgICAgICAgICAgICAgICk7CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBhc3NlcnQoMCk7CisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgfQogCi0gICAgcmV0dXJuIHN0cmluZ2xpYl9zcGxpdCgKLSAgICAgICAgKFB5T2JqZWN0Kikgc2VsZiwgIHNlbGYtPnN0ciwgc2VsZi0+bGVuZ3RoLAotICAgICAgICBzdWJzdHJpbmctPnN0ciwgc3Vic3RyaW5nLT5sZW5ndGgsCi0gICAgICAgIG1heGNvdW50Ci0gICAgICAgICk7CisgICAgaWYgKFB5VW5pY29kZV9SRUFEWShzdWJzdHJpbmcpID09IC0xKQorICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIGtpbmQxID0gUHlVbmljb2RlX0tJTkQoc2VsZik7CisgICAga2luZDIgPSBQeVVuaWNvZGVfS0lORChzdWJzdHJpbmcpOworICAgIGtpbmQgPSBraW5kMSA+IGtpbmQyID8ga2luZDEgOiBraW5kMjsKKyAgICBidWYxID0gUHlVbmljb2RlX0RBVEEoc2VsZik7CisgICAgYnVmMiA9IFB5VW5pY29kZV9EQVRBKHN1YnN0cmluZyk7CisgICAgaWYgKGtpbmQxICE9IGtpbmQpCisgICAgICAgIGJ1ZjEgPSBfUHlVbmljb2RlX0FzS2luZChzZWxmLCBraW5kKTsKKyAgICBpZiAoIWJ1ZjEpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIGlmIChraW5kMiAhPSBraW5kKQorICAgICAgICBidWYyID0gX1B5VW5pY29kZV9Bc0tpbmQoc3Vic3RyaW5nLCBraW5kKTsKKyAgICBpZiAoIWJ1ZjIpIHsKKyAgICAgICAgaWYgKGtpbmQxICE9IGtpbmQpIFB5TWVtX0ZyZWUoYnVmMSk7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKyAgICBsZW4xID0gUHlVbmljb2RlX0dFVF9MRU5HVEgoc2VsZik7CisgICAgbGVuMiA9IFB5VW5pY29kZV9HRVRfTEVOR1RIKHN1YnN0cmluZyk7CisKKyAgICBzd2l0Y2ggKGtpbmQpIHsKKyAgICBjYXNlIFB5VW5pY29kZV8xQllURV9LSU5EOgorICAgICAgICBpZiAoUHlVbmljb2RlX0lTX0FTQ0lJKHNlbGYpICYmIFB5VW5pY29kZV9JU19BU0NJSShzdWJzdHJpbmcpKQorICAgICAgICAgICAgb3V0ID0gYXNjaWlsaWJfc3BsaXQoCisgICAgICAgICAgICAgICAgc2VsZiwgIGJ1ZjEsIGxlbjEsIGJ1ZjIsIGxlbjIsIG1heGNvdW50KTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgb3V0ID0gdWNzMWxpYl9zcGxpdCgKKyAgICAgICAgICAgICAgICBzZWxmLCAgYnVmMSwgbGVuMSwgYnVmMiwgbGVuMiwgbWF4Y291bnQpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFB5VW5pY29kZV8yQllURV9LSU5EOgorICAgICAgICBvdXQgPSB1Y3MybGliX3NwbGl0KAorICAgICAgICAgICAgc2VsZiwgIGJ1ZjEsIGxlbjEsIGJ1ZjIsIGxlbjIsIG1heGNvdW50KTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBQeVVuaWNvZGVfNEJZVEVfS0lORDoKKyAgICAgICAgb3V0ID0gdWNzNGxpYl9zcGxpdCgKKyAgICAgICAgICAgIHNlbGYsICBidWYxLCBsZW4xLCBidWYyLCBsZW4yLCBtYXhjb3VudCk7CisgICAgICAgIGJyZWFrOworICAgIGRlZmF1bHQ6CisgICAgICAgIG91dCA9IE5VTEw7CisgICAgfQorICAgIGlmIChraW5kMSAhPSBraW5kKQorICAgICAgICBQeU1lbV9GcmVlKGJ1ZjEpOworICAgIGlmIChraW5kMiAhPSBraW5kKQorICAgICAgICBQeU1lbV9GcmVlKGJ1ZjIpOworICAgIHJldHVybiBvdXQ7CiB9CiAKLXN0YXRpYwotUHlPYmplY3QgKnJzcGxpdChQeVVuaWNvZGVPYmplY3QgKnNlbGYsCi0gICAgICAgICAgICAgICAgIFB5VW5pY29kZU9iamVjdCAqc3Vic3RyaW5nLAotICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IG1heGNvdW50KQorc3RhdGljIFB5T2JqZWN0ICoKK3JzcGxpdChQeU9iamVjdCAqc2VsZiwKKyAgICAgICBQeU9iamVjdCAqc3Vic3RyaW5nLAorICAgICAgIFB5X3NzaXplX3QgbWF4Y291bnQpCiB7CisgICAgaW50IGtpbmQxLCBraW5kMiwga2luZDsKKyAgICB2b2lkICpidWYxLCAqYnVmMjsKKyAgICBQeV9zc2l6ZV90IGxlbjEsIGxlbjI7CisgICAgUHlPYmplY3QqIG91dDsKKwogICAgIGlmIChtYXhjb3VudCA8IDApCiAgICAgICAgIG1heGNvdW50ID0gUFlfU1NJWkVfVF9NQVg7CiAKKyAgICBpZiAoUHlVbmljb2RlX1JFQURZKHNlbGYpID09IC0xKQorICAgICAgICByZXR1cm4gTlVMTDsKKwogICAgIGlmIChzdWJzdHJpbmcgPT0gTlVMTCkKLSAgICAgICAgcmV0dXJuIHN0cmluZ2xpYl9yc3BsaXRfd2hpdGVzcGFjZSgKLSAgICAgICAgICAgIChQeU9iamVjdCopIHNlbGYsICBzZWxmLT5zdHIsIHNlbGYtPmxlbmd0aCwgbWF4Y291bnQKLSAgICAgICAgICAgICk7CisgICAgICAgIHN3aXRjaCAoUHlVbmljb2RlX0tJTkQoc2VsZikpIHsKKyAgICAgICAgY2FzZSBQeVVuaWNvZGVfMUJZVEVfS0lORDoKKyAgICAgICAgICAgIGlmIChQeVVuaWNvZGVfSVNfQVNDSUkoc2VsZikpCisgICAgICAgICAgICAgICAgcmV0dXJuIGFzY2lpbGliX3JzcGxpdF93aGl0ZXNwYWNlKAorICAgICAgICAgICAgICAgICAgICBzZWxmLCAgUHlVbmljb2RlXzFCWVRFX0RBVEEoc2VsZiksCisgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9HRVRfTEVOR1RIKHNlbGYpLCBtYXhjb3VudAorICAgICAgICAgICAgICAgICAgICApOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIHJldHVybiB1Y3MxbGliX3JzcGxpdF93aGl0ZXNwYWNlKAorICAgICAgICAgICAgICAgICAgICBzZWxmLCAgUHlVbmljb2RlXzFCWVRFX0RBVEEoc2VsZiksCisgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9HRVRfTEVOR1RIKHNlbGYpLCBtYXhjb3VudAorICAgICAgICAgICAgICAgICAgICApOworICAgICAgICBjYXNlIFB5VW5pY29kZV8yQllURV9LSU5EOgorICAgICAgICAgICAgcmV0dXJuIHVjczJsaWJfcnNwbGl0X3doaXRlc3BhY2UoCisgICAgICAgICAgICAgICAgc2VsZiwgIFB5VW5pY29kZV8yQllURV9EQVRBKHNlbGYpLAorICAgICAgICAgICAgICAgIFB5VW5pY29kZV9HRVRfTEVOR1RIKHNlbGYpLCBtYXhjb3VudAorICAgICAgICAgICAgICAgICk7CisgICAgICAgIGNhc2UgUHlVbmljb2RlXzRCWVRFX0tJTkQ6CisgICAgICAgICAgICByZXR1cm4gdWNzNGxpYl9yc3BsaXRfd2hpdGVzcGFjZSgKKyAgICAgICAgICAgICAgICBzZWxmLCAgUHlVbmljb2RlXzRCWVRFX0RBVEEoc2VsZiksCisgICAgICAgICAgICAgICAgUHlVbmljb2RlX0dFVF9MRU5HVEgoc2VsZiksIG1heGNvdW50CisgICAgICAgICAgICAgICAgKTsKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIGFzc2VydCgwKTsKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICB9CiAKLSAgICByZXR1cm4gc3RyaW5nbGliX3JzcGxpdCgKLSAgICAgICAgKFB5T2JqZWN0Kikgc2VsZiwgIHNlbGYtPnN0ciwgc2VsZi0+bGVuZ3RoLAotICAgICAgICBzdWJzdHJpbmctPnN0ciwgc3Vic3RyaW5nLT5sZW5ndGgsCi0gICAgICAgIG1heGNvdW50Ci0gICAgICAgICk7CisgICAgaWYgKFB5VW5pY29kZV9SRUFEWShzdWJzdHJpbmcpID09IC0xKQorICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIGtpbmQxID0gUHlVbmljb2RlX0tJTkQoc2VsZik7CisgICAga2luZDIgPSBQeVVuaWNvZGVfS0lORChzdWJzdHJpbmcpOworICAgIGtpbmQgPSBraW5kMSA+IGtpbmQyID8ga2luZDEgOiBraW5kMjsKKyAgICBidWYxID0gUHlVbmljb2RlX0RBVEEoc2VsZik7CisgICAgYnVmMiA9IFB5VW5pY29kZV9EQVRBKHN1YnN0cmluZyk7CisgICAgaWYgKGtpbmQxICE9IGtpbmQpCisgICAgICAgIGJ1ZjEgPSBfUHlVbmljb2RlX0FzS2luZChzZWxmLCBraW5kKTsKKyAgICBpZiAoIWJ1ZjEpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIGlmIChraW5kMiAhPSBraW5kKQorICAgICAgICBidWYyID0gX1B5VW5pY29kZV9Bc0tpbmQoc3Vic3RyaW5nLCBraW5kKTsKKyAgICBpZiAoIWJ1ZjIpIHsKKyAgICAgICAgaWYgKGtpbmQxICE9IGtpbmQpIFB5TWVtX0ZyZWUoYnVmMSk7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKyAgICBsZW4xID0gUHlVbmljb2RlX0dFVF9MRU5HVEgoc2VsZik7CisgICAgbGVuMiA9IFB5VW5pY29kZV9HRVRfTEVOR1RIKHN1YnN0cmluZyk7CisKKyAgICBzd2l0Y2ggKGtpbmQpIHsKKyAgICBjYXNlIFB5VW5pY29kZV8xQllURV9LSU5EOgorICAgICAgICBpZiAoUHlVbmljb2RlX0lTX0FTQ0lJKHNlbGYpICYmIFB5VW5pY29kZV9JU19BU0NJSShzdWJzdHJpbmcpKQorICAgICAgICAgICAgb3V0ID0gYXNjaWlsaWJfcnNwbGl0KAorICAgICAgICAgICAgICAgIHNlbGYsICBidWYxLCBsZW4xLCBidWYyLCBsZW4yLCBtYXhjb3VudCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIG91dCA9IHVjczFsaWJfcnNwbGl0KAorICAgICAgICAgICAgICAgIHNlbGYsICBidWYxLCBsZW4xLCBidWYyLCBsZW4yLCBtYXhjb3VudCk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgUHlVbmljb2RlXzJCWVRFX0tJTkQ6CisgICAgICAgIG91dCA9IHVjczJsaWJfcnNwbGl0KAorICAgICAgICAgICAgc2VsZiwgIGJ1ZjEsIGxlbjEsIGJ1ZjIsIGxlbjIsIG1heGNvdW50KTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBQeVVuaWNvZGVfNEJZVEVfS0lORDoKKyAgICAgICAgb3V0ID0gdWNzNGxpYl9yc3BsaXQoCisgICAgICAgICAgICBzZWxmLCAgYnVmMSwgbGVuMSwgYnVmMiwgbGVuMiwgbWF4Y291bnQpOworICAgICAgICBicmVhazsKKyAgICBkZWZhdWx0OgorICAgICAgICBvdXQgPSBOVUxMOworICAgIH0KKyAgICBpZiAoa2luZDEgIT0ga2luZCkKKyAgICAgICAgUHlNZW1fRnJlZShidWYxKTsKKyAgICBpZiAoa2luZDIgIT0ga2luZCkKKyAgICAgICAgUHlNZW1fRnJlZShidWYyKTsKKyAgICByZXR1cm4gb3V0OwogfQogCi1zdGF0aWMKLVB5T2JqZWN0ICpyZXBsYWNlKFB5VW5pY29kZU9iamVjdCAqc2VsZiwKLSAgICAgICAgICAgICAgICAgIFB5VW5pY29kZU9iamVjdCAqc3RyMSwKLSAgICAgICAgICAgICAgICAgIFB5VW5pY29kZU9iamVjdCAqc3RyMiwKLSAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3QgbWF4Y291bnQpCitzdGF0aWMgUHlfc3NpemVfdAorYW55bGliX2ZpbmQoaW50IGtpbmQsIFB5T2JqZWN0ICpzdHIxLCB2b2lkICpidWYxLCBQeV9zc2l6ZV90IGxlbjEsCisgICAgICAgICAgICBQeU9iamVjdCAqc3RyMiwgdm9pZCAqYnVmMiwgUHlfc3NpemVfdCBsZW4yLCBQeV9zc2l6ZV90IG9mZnNldCkKIHsKLSAgICBQeVVuaWNvZGVPYmplY3QgKnU7CisgICAgc3dpdGNoIChraW5kKSB7CisgICAgY2FzZSBQeVVuaWNvZGVfMUJZVEVfS0lORDoKKyAgICAgICAgaWYgKFB5VW5pY29kZV9JU19BU0NJSShzdHIxKSAmJiBQeVVuaWNvZGVfSVNfQVNDSUkoc3RyMikpCisgICAgICAgICAgICByZXR1cm4gYXNjaWlsaWJfZmluZChidWYxLCBsZW4xLCBidWYyLCBsZW4yLCBvZmZzZXQpOworICAgICAgICBlbHNlCisgICAgICAgICAgICByZXR1cm4gdWNzMWxpYl9maW5kKGJ1ZjEsIGxlbjEsIGJ1ZjIsIGxlbjIsIG9mZnNldCk7CisgICAgY2FzZSBQeVVuaWNvZGVfMkJZVEVfS0lORDoKKyAgICAgICAgcmV0dXJuIHVjczJsaWJfZmluZChidWYxLCBsZW4xLCBidWYyLCBsZW4yLCBvZmZzZXQpOworICAgIGNhc2UgUHlVbmljb2RlXzRCWVRFX0tJTkQ6CisgICAgICAgIHJldHVybiB1Y3M0bGliX2ZpbmQoYnVmMSwgbGVuMSwgYnVmMiwgbGVuMiwgb2Zmc2V0KTsKKyAgICB9CisgICAgYXNzZXJ0KDApOworICAgIHJldHVybiAtMTsKK30KKworc3RhdGljIFB5X3NzaXplX3QKK2FueWxpYl9jb3VudChpbnQga2luZCwgUHlPYmplY3QgKnNzdHIsIHZvaWQqIHNidWYsIFB5X3NzaXplX3Qgc2xlbiwKKyAgICAgICAgICAgICBQeU9iamVjdCAqc3RyMSwgdm9pZCAqYnVmMSwgUHlfc3NpemVfdCBsZW4xLCBQeV9zc2l6ZV90IG1heGNvdW50KQoreworICAgIHN3aXRjaCAoa2luZCkgeworICAgIGNhc2UgUHlVbmljb2RlXzFCWVRFX0tJTkQ6CisgICAgICAgIGlmIChQeVVuaWNvZGVfSVNfQVNDSUkoc3N0cikgJiYgUHlVbmljb2RlX0lTX0FTQ0lJKHN0cjEpKQorICAgICAgICAgICAgcmV0dXJuIGFzY2lpbGliX2NvdW50KHNidWYsIHNsZW4sIGJ1ZjEsIGxlbjEsIG1heGNvdW50KTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgcmV0dXJuIHVjczFsaWJfY291bnQoc2J1Ziwgc2xlbiwgYnVmMSwgbGVuMSwgbWF4Y291bnQpOworICAgIGNhc2UgUHlVbmljb2RlXzJCWVRFX0tJTkQ6CisgICAgICAgIHJldHVybiB1Y3MybGliX2NvdW50KHNidWYsIHNsZW4sIGJ1ZjEsIGxlbjEsIG1heGNvdW50KTsKKyAgICBjYXNlIFB5VW5pY29kZV80QllURV9LSU5EOgorICAgICAgICByZXR1cm4gdWNzNGxpYl9jb3VudChzYnVmLCBzbGVuLCBidWYxLCBsZW4xLCBtYXhjb3VudCk7CisgICAgfQorICAgIGFzc2VydCgwKTsKKyAgICByZXR1cm4gMDsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK3JlcGxhY2UoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpzdHIxLAorICAgICAgICBQeU9iamVjdCAqc3RyMiwgUHlfc3NpemVfdCBtYXhjb3VudCkKK3sKKyAgICBQeU9iamVjdCAqdTsKKyAgICBjaGFyICpzYnVmID0gUHlVbmljb2RlX0RBVEEoc2VsZik7CisgICAgY2hhciAqYnVmMSA9IFB5VW5pY29kZV9EQVRBKHN0cjEpOworICAgIGNoYXIgKmJ1ZjIgPSBQeVVuaWNvZGVfREFUQShzdHIyKTsKKyAgICBpbnQgc3JlbGVhc2UgPSAwLCByZWxlYXNlMSA9IDAsIHJlbGVhc2UyID0gMDsKKyAgICBpbnQgc2tpbmQgPSBQeVVuaWNvZGVfS0lORChzZWxmKTsKKyAgICBpbnQga2luZDEgPSBQeVVuaWNvZGVfS0lORChzdHIxKTsKKyAgICBpbnQga2luZDIgPSBQeVVuaWNvZGVfS0lORChzdHIyKTsKKyAgICBQeV9zc2l6ZV90IHNsZW4gPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChzZWxmKTsKKyAgICBQeV9zc2l6ZV90IGxlbjEgPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChzdHIxKTsKKyAgICBQeV9zc2l6ZV90IGxlbjIgPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChzdHIyKTsKKyAgICBpbnQgbWF5c2hyaW5rOworICAgIFB5X1VDUzQgbWF4Y2hhciwgbWF4Y2hhcl9zdHIyOwogCiAgICAgaWYgKG1heGNvdW50IDwgMCkKICAgICAgICAgbWF4Y291bnQgPSBQWV9TU0laRV9UX01BWDsKLSAgICBlbHNlIGlmIChtYXhjb3VudCA9PSAwIHx8IHNlbGYtPmxlbmd0aCA9PSAwKQorICAgIGVsc2UgaWYgKG1heGNvdW50ID09IDAgfHwgc2xlbiA9PSAwKQogICAgICAgICBnb3RvIG5vdGhpbmc7CiAKLSAgICBpZiAoc3RyMS0+bGVuZ3RoID09IHN0cjItPmxlbmd0aCkgewotICAgICAgICBQeV9zc2l6ZV90IGk7CisgICAgaWYgKHN0cjEgPT0gc3RyMikKKyAgICAgICAgZ290byBub3RoaW5nOworICAgIGlmIChza2luZCA8IGtpbmQxKQorICAgICAgICAvKiBzdWJzdHJpbmcgdG9vIHdpZGUgdG8gYmUgcHJlc2VudCAqLworICAgICAgICBnb3RvIG5vdGhpbmc7CisKKyAgICBtYXhjaGFyID0gUHlVbmljb2RlX01BWF9DSEFSX1ZBTFVFKHNlbGYpOworICAgIG1heGNoYXJfc3RyMiA9IFB5VW5pY29kZV9NQVhfQ0hBUl9WQUxVRShzdHIyKTsKKyAgICAvKiBSZXBsYWNpbmcgc3RyMSB3aXRoIHN0cjIgbWF5IGNhdXNlIGEgbWF4Y2hhciByZWR1Y3Rpb24gaW4gdGhlCisgICAgICAgcmVzdWx0IHN0cmluZy4gKi8KKyAgICBtYXlzaHJpbmsgPSAobWF4Y2hhcl9zdHIyIDwgbWF4Y2hhcik7CisgICAgbWF4Y2hhciA9IFB5X01BWChtYXhjaGFyLCBtYXhjaGFyX3N0cjIpOworCisgICAgaWYgKGxlbjEgPT0gbGVuMikgewogICAgICAgICAvKiBzYW1lIGxlbmd0aCAqLwotICAgICAgICBpZiAoc3RyMS0+bGVuZ3RoID09IDApCisgICAgICAgIGlmIChsZW4xID09IDApCiAgICAgICAgICAgICBnb3RvIG5vdGhpbmc7Ci0gICAgICAgIGlmIChzdHIxLT5sZW5ndGggPT0gMSkgeworICAgICAgICBpZiAobGVuMSA9PSAxKSB7CiAgICAgICAgICAgICAvKiByZXBsYWNlIGNoYXJhY3RlcnMgKi8KLSAgICAgICAgICAgIFB5X1VOSUNPREUgdTEsIHUyOwotICAgICAgICAgICAgaWYgKCFmaW5kY2hhcihzZWxmLT5zdHIsIHNlbGYtPmxlbmd0aCwgc3RyMS0+c3RyWzBdKSkKKyAgICAgICAgICAgIFB5X1VDUzQgdTEsIHUyOworICAgICAgICAgICAgaW50IHJraW5kOworICAgICAgICAgICAgUHlfc3NpemVfdCBpbmRleCwgcG9zOworICAgICAgICAgICAgY2hhciAqc3JjOworCisgICAgICAgICAgICB1MSA9IFB5VW5pY29kZV9SRUFEX0NIQVIoc3RyMSwgMCk7CisgICAgICAgICAgICBwb3MgPSBmaW5kY2hhcihzYnVmLCBQeVVuaWNvZGVfS0lORChzZWxmKSwgc2xlbiwgdTEsIDEpOworICAgICAgICAgICAgaWYgKHBvcyA8IDApCiAgICAgICAgICAgICAgICAgZ290byBub3RoaW5nOwotICAgICAgICAgICAgdSA9IChQeVVuaWNvZGVPYmplY3QqKSBQeVVuaWNvZGVfRnJvbVVuaWNvZGUoTlVMTCwgc2VsZi0+bGVuZ3RoKTsKKyAgICAgICAgICAgIHUyID0gUHlVbmljb2RlX1JFQURfQ0hBUihzdHIyLCAwKTsKKyAgICAgICAgICAgIHUgPSBQeVVuaWNvZGVfTmV3KHNsZW4sIG1heGNoYXIpOwogICAgICAgICAgICAgaWYgKCF1KQotICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOwotICAgICAgICAgICAgUHlfVU5JQ09ERV9DT1BZKHUtPnN0ciwgc2VsZi0+c3RyLCBzZWxmLT5sZW5ndGgpOwotICAgICAgICAgICAgdTEgPSBzdHIxLT5zdHJbMF07Ci0gICAgICAgICAgICB1MiA9IHN0cjItPnN0clswXTsKLSAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCB1LT5sZW5ndGg7IGkrKykKLSAgICAgICAgICAgICAgICBpZiAodS0+c3RyW2ldID09IHUxKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmICgtLW1heGNvdW50IDwgMCkKLSAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgICAgICB1LT5zdHJbaV0gPSB1MjsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBpID0gc3RyaW5nbGliX2ZpbmQoCi0gICAgICAgICAgICAgICAgc2VsZi0+c3RyLCBzZWxmLT5sZW5ndGgsIHN0cjEtPnN0ciwgc3RyMS0+bGVuZ3RoLCAwCi0gICAgICAgICAgICAgICAgKTsKKyAgICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICAgICAgY29weV9jaGFyYWN0ZXJzKHUsIDAsIHNlbGYsIDAsIHNsZW4pOworICAgICAgICAgICAgcmtpbmQgPSBQeVVuaWNvZGVfS0lORCh1KTsKKworICAgICAgICAgICAgUHlVbmljb2RlX1dSSVRFKHJraW5kLCBQeVVuaWNvZGVfREFUQSh1KSwgcG9zLCB1Mik7CisgICAgICAgICAgICBpbmRleCA9IDA7CisgICAgICAgICAgICBzcmMgPSBzYnVmOworICAgICAgICAgICAgd2hpbGUgKC0tbWF4Y291bnQpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgcG9zKys7CisgICAgICAgICAgICAgICAgc3JjICs9IHBvcyAqIFB5VW5pY29kZV9LSU5EKHNlbGYpOworICAgICAgICAgICAgICAgIHNsZW4gLT0gcG9zOworICAgICAgICAgICAgICAgIGluZGV4ICs9IHBvczsKKyAgICAgICAgICAgICAgICBwb3MgPSBmaW5kY2hhcihzcmMsIFB5VW5pY29kZV9LSU5EKHNlbGYpLCBzbGVuLCB1MSwgMSk7CisgICAgICAgICAgICAgICAgaWYgKHBvcyA8IDApCisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIFB5VW5pY29kZV9XUklURShya2luZCwgUHlVbmljb2RlX0RBVEEodSksIGluZGV4ICsgcG9zLCB1Mik7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBpbnQgcmtpbmQgPSBza2luZDsKKyAgICAgICAgICAgIGNoYXIgKnJlczsKKyAgICAgICAgICAgIFB5X3NzaXplX3QgaTsKKworICAgICAgICAgICAgaWYgKGtpbmQxIDwgcmtpbmQpIHsKKyAgICAgICAgICAgICAgICAvKiB3aWRlbiBzdWJzdHJpbmcgKi8KKyAgICAgICAgICAgICAgICBidWYxID0gX1B5VW5pY29kZV9Bc0tpbmQoc3RyMSwgcmtpbmQpOworICAgICAgICAgICAgICAgIGlmICghYnVmMSkgZ290byBlcnJvcjsKKyAgICAgICAgICAgICAgICByZWxlYXNlMSA9IDE7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpID0gYW55bGliX2ZpbmQocmtpbmQsIHNlbGYsIHNidWYsIHNsZW4sIHN0cjEsIGJ1ZjEsIGxlbjEsIDApOwogICAgICAgICAgICAgaWYgKGkgPCAwKQogICAgICAgICAgICAgICAgIGdvdG8gbm90aGluZzsKLSAgICAgICAgICAgIHUgPSAoUHlVbmljb2RlT2JqZWN0KikgUHlVbmljb2RlX0Zyb21Vbmljb2RlKE5VTEwsIHNlbGYtPmxlbmd0aCk7CisgICAgICAgICAgICBpZiAocmtpbmQgPiBraW5kMikgeworICAgICAgICAgICAgICAgIC8qIHdpZGVuIHJlcGxhY2VtZW50ICovCisgICAgICAgICAgICAgICAgYnVmMiA9IF9QeVVuaWNvZGVfQXNLaW5kKHN0cjIsIHJraW5kKTsKKyAgICAgICAgICAgICAgICBpZiAoIWJ1ZjIpIGdvdG8gZXJyb3I7CisgICAgICAgICAgICAgICAgcmVsZWFzZTIgPSAxOworICAgICAgICAgICAgfQorICAgICAgICAgICAgZWxzZSBpZiAocmtpbmQgPCBraW5kMikgeworICAgICAgICAgICAgICAgIC8qIHdpZGVuIHNlbGYgYW5kIGJ1ZjEgKi8KKyAgICAgICAgICAgICAgICBya2luZCA9IGtpbmQyOworICAgICAgICAgICAgICAgIGlmIChyZWxlYXNlMSkgUHlNZW1fRnJlZShidWYxKTsKKyAgICAgICAgICAgICAgICBzYnVmID0gX1B5VW5pY29kZV9Bc0tpbmQoc2VsZiwgcmtpbmQpOworICAgICAgICAgICAgICAgIGlmICghc2J1ZikgZ290byBlcnJvcjsKKyAgICAgICAgICAgICAgICBzcmVsZWFzZSA9IDE7CisgICAgICAgICAgICAgICAgYnVmMSA9IF9QeVVuaWNvZGVfQXNLaW5kKHN0cjEsIHJraW5kKTsKKyAgICAgICAgICAgICAgICBpZiAoIWJ1ZjEpIGdvdG8gZXJyb3I7CisgICAgICAgICAgICAgICAgcmVsZWFzZTEgPSAxOworICAgICAgICAgICAgfQorICAgICAgICAgICAgdSA9IFB5VW5pY29kZV9OZXcoc2xlbiwgbWF4Y2hhcik7CiAgICAgICAgICAgICBpZiAoIXUpCi0gICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgICAgICBQeV9VTklDT0RFX0NPUFkodS0+c3RyLCBzZWxmLT5zdHIsIHNlbGYtPmxlbmd0aCk7CisgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgICAgIGFzc2VydChQeVVuaWNvZGVfS0lORCh1KSA9PSBya2luZCk7CisgICAgICAgICAgICByZXMgPSBQeVVuaWNvZGVfREFUQSh1KTsKIAorICAgICAgICAgICAgbWVtY3B5KHJlcywgc2J1ZiwgcmtpbmQgKiBzbGVuKTsKICAgICAgICAgICAgIC8qIGNoYW5nZSBldmVyeXRoaW5nIGluLXBsYWNlLCBzdGFydGluZyB3aXRoIHRoaXMgb25lICovCi0gICAgICAgICAgICBQeV9VTklDT0RFX0NPUFkodS0+c3RyK2ksIHN0cjItPnN0ciwgc3RyMi0+bGVuZ3RoKTsKLSAgICAgICAgICAgIGkgKz0gc3RyMS0+bGVuZ3RoOworICAgICAgICAgICAgbWVtY3B5KHJlcyArIHJraW5kICogaSwKKyAgICAgICAgICAgICAgICAgICBidWYyLAorICAgICAgICAgICAgICAgICAgIHJraW5kICogbGVuMik7CisgICAgICAgICAgICBpICs9IGxlbjE7CiAKICAgICAgICAgICAgIHdoaWxlICggLS1tYXhjb3VudCA+IDApIHsKLSAgICAgICAgICAgICAgICBpID0gc3RyaW5nbGliX2ZpbmQoc2VsZi0+c3RyK2ksIHNlbGYtPmxlbmd0aC1pLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHIxLT5zdHIsIHN0cjEtPmxlbmd0aCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaSk7CisgICAgICAgICAgICAgICAgaSA9IGFueWxpYl9maW5kKHJraW5kLCBzZWxmLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYnVmK3JraW5kKmksIHNsZW4taSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyMSwgYnVmMSwgbGVuMSwgaSk7CiAgICAgICAgICAgICAgICAgaWYgKGkgPT0gLTEpCiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgIFB5X1VOSUNPREVfQ09QWSh1LT5zdHIraSwgc3RyMi0+c3RyLCBzdHIyLT5sZW5ndGgpOwotICAgICAgICAgICAgICAgIGkgKz0gc3RyMS0+bGVuZ3RoOworICAgICAgICAgICAgICAgIG1lbWNweShyZXMgKyBya2luZCAqIGksCisgICAgICAgICAgICAgICAgICAgICAgIGJ1ZjIsCisgICAgICAgICAgICAgICAgICAgICAgIHJraW5kICogbGVuMik7CisgICAgICAgICAgICAgICAgaSArPSBsZW4xOwogICAgICAgICAgICAgfQogICAgICAgICB9Ci0gICAgfSBlbHNlIHsKKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIFB5X3NzaXplX3QgbiwgaSwgaiwgaXJlczsKKyAgICAgICAgUHlfc3NpemVfdCBwcm9kdWN0LCBuZXdfc2l6ZTsKKyAgICAgICAgaW50IHJraW5kID0gc2tpbmQ7CisgICAgICAgIGNoYXIgKnJlczsKIAotICAgICAgICBQeV9zc2l6ZV90IG4sIGksIGo7Ci0gICAgICAgIFB5X3NzaXplX3QgcHJvZHVjdCwgbmV3X3NpemUsIGRlbHRhOwotICAgICAgICBQeV9VTklDT0RFICpwOwotCi0gICAgICAgIC8qIHJlcGxhY2Ugc3RyaW5ncyAqLwotICAgICAgICBuID0gc3RyaW5nbGliX2NvdW50KHNlbGYtPnN0ciwgc2VsZi0+bGVuZ3RoLCBzdHIxLT5zdHIsIHN0cjEtPmxlbmd0aCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhjb3VudCk7CisgICAgICAgIGlmIChraW5kMSA8IHJraW5kKSB7CisgICAgICAgICAgICAvKiB3aWRlbiBzdWJzdHJpbmcgKi8KKyAgICAgICAgICAgIGJ1ZjEgPSBfUHlVbmljb2RlX0FzS2luZChzdHIxLCBya2luZCk7CisgICAgICAgICAgICBpZiAoIWJ1ZjEpIGdvdG8gZXJyb3I7CisgICAgICAgICAgICByZWxlYXNlMSA9IDE7CisgICAgICAgIH0KKyAgICAgICAgbiA9IGFueWxpYl9jb3VudChya2luZCwgc2VsZiwgc2J1Ziwgc2xlbiwgc3RyMSwgYnVmMSwgbGVuMSwgbWF4Y291bnQpOwogICAgICAgICBpZiAobiA9PSAwKQogICAgICAgICAgICAgZ290byBub3RoaW5nOwotICAgICAgICAvKiBuZXdfc2l6ZSA9IHNlbGYtPmxlbmd0aCArIG4gKiAoc3RyMi0+bGVuZ3RoIC0gc3RyMS0+bGVuZ3RoKSk7ICovCi0gICAgICAgIGRlbHRhID0gKHN0cjItPmxlbmd0aCAtIHN0cjEtPmxlbmd0aCk7Ci0gICAgICAgIGlmIChkZWx0YSA9PSAwKSB7Ci0gICAgICAgICAgICBuZXdfc2l6ZSA9IHNlbGYtPmxlbmd0aDsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIHByb2R1Y3QgPSBuICogKHN0cjItPmxlbmd0aCAtIHN0cjEtPmxlbmd0aCk7Ci0gICAgICAgICAgICBpZiAoKHByb2R1Y3QgLyAoc3RyMi0+bGVuZ3RoIC0gc3RyMS0+bGVuZ3RoKSkgIT0gbikgewotICAgICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19PdmVyZmxvd0Vycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVwbGFjZSBzdHJpbmcgaXMgdG9vIGxvbmciKTsKLSAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIG5ld19zaXplID0gc2VsZi0+bGVuZ3RoICsgcHJvZHVjdDsKLSAgICAgICAgICAgIGlmIChuZXdfc2l6ZSA8IDApIHsKLSAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfT3ZlcmZsb3dFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlcGxhY2Ugc3RyaW5nIGlzIHRvbyBsb25nIik7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgICAgICB9CisgICAgICAgIGlmIChraW5kMiA8IHJraW5kKSB7CisgICAgICAgICAgICAvKiB3aWRlbiByZXBsYWNlbWVudCAqLworICAgICAgICAgICAgYnVmMiA9IF9QeVVuaWNvZGVfQXNLaW5kKHN0cjIsIHJraW5kKTsKKyAgICAgICAgICAgIGlmICghYnVmMikgZ290byBlcnJvcjsKKyAgICAgICAgICAgIHJlbGVhc2UyID0gMTsKICAgICAgICAgfQotICAgICAgICB1ID0gX1B5VW5pY29kZV9OZXcobmV3X3NpemUpOworICAgICAgICBlbHNlIGlmIChraW5kMiA+IHJraW5kKSB7CisgICAgICAgICAgICAvKiB3aWRlbiBzZWxmIGFuZCBidWYxICovCisgICAgICAgICAgICBya2luZCA9IGtpbmQyOworICAgICAgICAgICAgc2J1ZiA9IF9QeVVuaWNvZGVfQXNLaW5kKHNlbGYsIHJraW5kKTsKKyAgICAgICAgICAgIGlmICghc2J1ZikgZ290byBlcnJvcjsKKyAgICAgICAgICAgIHNyZWxlYXNlID0gMTsKKyAgICAgICAgICAgIGlmIChyZWxlYXNlMSkgUHlNZW1fRnJlZShidWYxKTsKKyAgICAgICAgICAgIGJ1ZjEgPSBfUHlVbmljb2RlX0FzS2luZChzdHIxLCBya2luZCk7CisgICAgICAgICAgICBpZiAoIWJ1ZjEpIGdvdG8gZXJyb3I7CisgICAgICAgICAgICByZWxlYXNlMSA9IDE7CisgICAgICAgIH0KKyAgICAgICAgLyogbmV3X3NpemUgPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChzZWxmKSArIG4gKiAoUHlVbmljb2RlX0dFVF9MRU5HVEgoc3RyMikgLQorICAgICAgICAgICBQeVVuaWNvZGVfR0VUX0xFTkdUSChzdHIxKSkpOyAqLworICAgICAgICBwcm9kdWN0ID0gbiAqIChsZW4yLWxlbjEpOworICAgICAgICBpZiAoKHByb2R1Y3QgLyAobGVuMi1sZW4xKSkgIT0gbikgeworICAgICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19PdmVyZmxvd0Vycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVwbGFjZSBzdHJpbmcgaXMgdG9vIGxvbmciKTsKKyAgICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICB9CisgICAgICAgIG5ld19zaXplID0gc2xlbiArIHByb2R1Y3Q7CisgICAgICAgIGlmIChuZXdfc2l6ZSA9PSAwKSB7CisgICAgICAgICAgICBQeV9JTkNSRUYodW5pY29kZV9lbXB0eSk7CisgICAgICAgICAgICB1ID0gdW5pY29kZV9lbXB0eTsKKyAgICAgICAgICAgIGdvdG8gZG9uZTsKKyAgICAgICAgfQorICAgICAgICBpZiAobmV3X3NpemUgPCAwIHx8IG5ld19zaXplID4gKFBZX1NTSVpFX1RfTUFYID4+IChya2luZC0xKSkpIHsKKyAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19PdmVyZmxvd0Vycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZXBsYWNlIHN0cmluZyBpcyB0b28gbG9uZyIpOworICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgfQorICAgICAgICB1ID0gUHlVbmljb2RlX05ldyhuZXdfc2l6ZSwgbWF4Y2hhcik7CiAgICAgICAgIGlmICghdSkKLSAgICAgICAgICAgIHJldHVybiBOVUxMOwotICAgICAgICBpID0gMDsKLSAgICAgICAgcCA9IHUtPnN0cjsKLSAgICAgICAgaWYgKHN0cjEtPmxlbmd0aCA+IDApIHsKKyAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgIGFzc2VydChQeVVuaWNvZGVfS0lORCh1KSA9PSBya2luZCk7CisgICAgICAgIHJlcyA9IFB5VW5pY29kZV9EQVRBKHUpOworICAgICAgICBpcmVzID0gaSA9IDA7CisgICAgICAgIGlmIChsZW4xID4gMCkgewogICAgICAgICAgICAgd2hpbGUgKG4tLSA+IDApIHsKICAgICAgICAgICAgICAgICAvKiBsb29rIGZvciBuZXh0IG1hdGNoICovCi0gICAgICAgICAgICAgICAgaiA9IHN0cmluZ2xpYl9maW5kKHNlbGYtPnN0citpLCBzZWxmLT5sZW5ndGgtaSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyMS0+c3RyLCBzdHIxLT5sZW5ndGgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGkpOworICAgICAgICAgICAgICAgIGogPSBhbnlsaWJfZmluZChya2luZCwgc2VsZiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2J1ZiArIHJraW5kICogaSwgc2xlbi1pLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHIxLCBidWYxLCBsZW4xLCBpKTsKICAgICAgICAgICAgICAgICBpZiAoaiA9PSAtMSkKICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgZWxzZSBpZiAoaiA+IGkpIHsKICAgICAgICAgICAgICAgICAgICAgLyogY29weSB1bmNoYW5nZWQgcGFydCBbaTpqXSAqLwotICAgICAgICAgICAgICAgICAgICBQeV9VTklDT0RFX0NPUFkocCwgc2VsZi0+c3RyK2ksIGotaSk7Ci0gICAgICAgICAgICAgICAgICAgIHAgKz0gaiAtIGk7CisgICAgICAgICAgICAgICAgICAgIG1lbWNweShyZXMgKyBya2luZCAqIGlyZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBzYnVmICsgcmtpbmQgKiBpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgcmtpbmQgKiAoai1pKSk7CisgICAgICAgICAgICAgICAgICAgIGlyZXMgKz0gaiAtIGk7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIC8qIGNvcHkgc3Vic3RpdHV0aW9uIHN0cmluZyAqLwotICAgICAgICAgICAgICAgIGlmIChzdHIyLT5sZW5ndGggPiAwKSB7Ci0gICAgICAgICAgICAgICAgICAgIFB5X1VOSUNPREVfQ09QWShwLCBzdHIyLT5zdHIsIHN0cjItPmxlbmd0aCk7Ci0gICAgICAgICAgICAgICAgICAgIHAgKz0gc3RyMi0+bGVuZ3RoOworICAgICAgICAgICAgICAgIGlmIChsZW4yID4gMCkgeworICAgICAgICAgICAgICAgICAgICBtZW1jcHkocmVzICsgcmtpbmQgKiBpcmVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVmMiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHJraW5kICogbGVuMik7CisgICAgICAgICAgICAgICAgICAgIGlyZXMgKz0gbGVuMjsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgaSA9IGogKyBzdHIxLT5sZW5ndGg7CisgICAgICAgICAgICAgICAgaSA9IGogKyBsZW4xOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgaWYgKGkgPCBzZWxmLT5sZW5ndGgpCisgICAgICAgICAgICBpZiAoaSA8IHNsZW4pCiAgICAgICAgICAgICAgICAgLyogY29weSB0YWlsIFtpOl0gKi8KLSAgICAgICAgICAgICAgICBQeV9VTklDT0RFX0NPUFkocCwgc2VsZi0+c3RyK2ksIHNlbGYtPmxlbmd0aC1pKTsKLSAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBtZW1jcHkocmVzICsgcmtpbmQgKiBpcmVzLAorICAgICAgICAgICAgICAgICAgICAgICBzYnVmICsgcmtpbmQgKiBpLAorICAgICAgICAgICAgICAgICAgICAgICBya2luZCAqIChzbGVuLWkpKTsKKyAgICAgICAgfQorICAgICAgICBlbHNlIHsKICAgICAgICAgICAgIC8qIGludGVybGVhdmUgKi8KICAgICAgICAgICAgIHdoaWxlIChuID4gMCkgewotICAgICAgICAgICAgICAgIFB5X1VOSUNPREVfQ09QWShwLCBzdHIyLT5zdHIsIHN0cjItPmxlbmd0aCk7Ci0gICAgICAgICAgICAgICAgcCArPSBzdHIyLT5sZW5ndGg7CisgICAgICAgICAgICAgICAgbWVtY3B5KHJlcyArIHJraW5kICogaXJlcywKKyAgICAgICAgICAgICAgICAgICAgICAgYnVmMiwKKyAgICAgICAgICAgICAgICAgICAgICAgcmtpbmQgKiBsZW4yKTsKKyAgICAgICAgICAgICAgICBpcmVzICs9IGxlbjI7CiAgICAgICAgICAgICAgICAgaWYgKC0tbiA8PSAwKQogICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICAqcCsrID0gc2VsZi0+c3RyW2krK107CisgICAgICAgICAgICAgICAgbWVtY3B5KHJlcyArIHJraW5kICogaXJlcywKKyAgICAgICAgICAgICAgICAgICAgICAgc2J1ZiArIHJraW5kICogaSwKKyAgICAgICAgICAgICAgICAgICAgICAgcmtpbmQpOworICAgICAgICAgICAgICAgIGlyZXMrKzsKKyAgICAgICAgICAgICAgICBpKys7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBQeV9VTklDT0RFX0NPUFkocCwgc2VsZi0+c3RyK2ksIHNlbGYtPmxlbmd0aC1pKTsKKyAgICAgICAgICAgIG1lbWNweShyZXMgKyBya2luZCAqIGlyZXMsCisgICAgICAgICAgICAgICAgICAgc2J1ZiArIHJraW5kICogaSwKKyAgICAgICAgICAgICAgICAgICBya2luZCAqIChzbGVuLWkpKTsKICAgICAgICAgfQogICAgIH0KLSAgICByZXR1cm4gKFB5T2JqZWN0ICopIHU7CisKKyAgICBpZiAobWF5c2hyaW5rKSB7CisgICAgICAgIHVuaWNvZGVfYWRqdXN0X21heGNoYXIoJnUpOworICAgICAgICBpZiAodSA9PSBOVUxMKQorICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICB9CisKKyAgZG9uZToKKyAgICBpZiAoc3JlbGVhc2UpCisgICAgICAgIFB5TWVtX0ZSRUUoc2J1Zik7CisgICAgaWYgKHJlbGVhc2UxKQorICAgICAgICBQeU1lbV9GUkVFKGJ1ZjEpOworICAgIGlmIChyZWxlYXNlMikKKyAgICAgICAgUHlNZW1fRlJFRShidWYyKTsKKyAgICBhc3NlcnQoX1B5VW5pY29kZV9DaGVja0NvbnNpc3RlbmN5KHUsIDEpKTsKKyAgICByZXR1cm4gdTsKIAogICBub3RoaW5nOgogICAgIC8qIG5vdGhpbmcgdG8gcmVwbGFjZTsgcmV0dXJuIG9yaWdpbmFsIHN0cmluZyAod2hlbiBwb3NzaWJsZSkgKi8KLSAgICBpZiAoUHlVbmljb2RlX0NoZWNrRXhhY3Qoc2VsZikpIHsKLSAgICAgICAgUHlfSU5DUkVGKHNlbGYpOwotICAgICAgICByZXR1cm4gKFB5T2JqZWN0ICopIHNlbGY7Ci0gICAgfQotICAgIHJldHVybiBQeVVuaWNvZGVfRnJvbVVuaWNvZGUoc2VsZi0+c3RyLCBzZWxmLT5sZW5ndGgpOworICAgIGlmIChzcmVsZWFzZSkKKyAgICAgICAgUHlNZW1fRlJFRShzYnVmKTsKKyAgICBpZiAocmVsZWFzZTEpCisgICAgICAgIFB5TWVtX0ZSRUUoYnVmMSk7CisgICAgaWYgKHJlbGVhc2UyKQorICAgICAgICBQeU1lbV9GUkVFKGJ1ZjIpOworICAgIHJldHVybiB1bmljb2RlX3Jlc3VsdF91bmNoYW5nZWQoc2VsZik7CisKKyAgZXJyb3I6CisgICAgaWYgKHNyZWxlYXNlICYmIHNidWYpCisgICAgICAgIFB5TWVtX0ZSRUUoc2J1Zik7CisgICAgaWYgKHJlbGVhc2UxICYmIGJ1ZjEpCisgICAgICAgIFB5TWVtX0ZSRUUoYnVmMSk7CisgICAgaWYgKHJlbGVhc2UyICYmIGJ1ZjIpCisgICAgICAgIFB5TWVtX0ZSRUUoYnVmMik7CisgICAgcmV0dXJuIE5VTEw7CiB9CiAKIC8qIC0tLSBVbmljb2RlIE9iamVjdCBNZXRob2RzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwpAQCAtNzEwMyw5ICsxMDYzMiwxMSBAQAogY2hhcmFjdGVycywgYWxsIHJlbWFpbmluZyBjYXNlZCBjaGFyYWN0ZXJzIGhhdmUgbG93ZXIgY2FzZS4iKTsKIAogc3RhdGljIFB5T2JqZWN0KgotdW5pY29kZV90aXRsZShQeVVuaWNvZGVPYmplY3QgKnNlbGYpCit1bmljb2RlX3RpdGxlKFB5T2JqZWN0ICpzZWxmKQogewotICAgIHJldHVybiBmaXh1cChzZWxmLCBmaXh0aXRsZSk7CisgICAgaWYgKFB5VW5pY29kZV9SRUFEWShzZWxmKSA9PSAtMSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgcmV0dXJuIGNhc2Vfb3BlcmF0aW9uKHNlbGYsIGRvX3RpdGxlKTsKIH0KIAogUHlEb2NfU1RSVkFSKGNhcGl0YWxpemVfX2RvY19fLApAQCAtNzExNSw1NyArMTA2NDYsMzggQEAKIGhhdmUgdXBwZXIgY2FzZSBhbmQgdGhlIHJlc3QgbG93ZXIgY2FzZS4iKTsKIAogc3RhdGljIFB5T2JqZWN0KgotdW5pY29kZV9jYXBpdGFsaXplKFB5VW5pY29kZU9iamVjdCAqc2VsZikKK3VuaWNvZGVfY2FwaXRhbGl6ZShQeU9iamVjdCAqc2VsZikKIHsKLSAgICByZXR1cm4gZml4dXAoc2VsZiwgZml4Y2FwaXRhbGl6ZSk7Ci19Ci0KLSNpZiAwCi1QeURvY19TVFJWQVIoY2Fwd29yZHNfX2RvY19fLAotICAgICAgICAgICAgICJTLmNhcHdvcmRzKCkgLT4gc3RyXG5cCi1cblwKLUFwcGx5IC5jYXBpdGFsaXplKCkgdG8gYWxsIHdvcmRzIGluIFMgYW5kIHJldHVybiB0aGUgcmVzdWx0IHdpdGhcblwKLW5vcm1hbGl6ZWQgd2hpdGVzcGFjZSAoYWxsIHdoaXRlc3BhY2Ugc3RyaW5ncyBhcmUgcmVwbGFjZWQgYnkgJyAnKS4iKTsKLQotc3RhdGljIFB5T2JqZWN0KgotdW5pY29kZV9jYXB3b3JkcyhQeVVuaWNvZGVPYmplY3QgKnNlbGYpCi17Ci0gICAgUHlPYmplY3QgKmxpc3Q7Ci0gICAgUHlPYmplY3QgKml0ZW07Ci0gICAgUHlfc3NpemVfdCBpOwotCi0gICAgLyogU3BsaXQgaW50byB3b3JkcyAqLwotICAgIGxpc3QgPSBzcGxpdChzZWxmLCBOVUxMLCAtMSk7Ci0gICAgaWYgKCFsaXN0KQorICAgIGlmIChQeVVuaWNvZGVfUkVBRFkoc2VsZikgPT0gLTEpCiAgICAgICAgIHJldHVybiBOVUxMOwotCi0gICAgLyogQ2FwaXRhbGl6ZSBlYWNoIHdvcmQgKi8KLSAgICBmb3IgKGkgPSAwOyBpIDwgUHlMaXN0X0dFVF9TSVpFKGxpc3QpOyBpKyspIHsKLSAgICAgICAgaXRlbSA9IGZpeHVwKChQeVVuaWNvZGVPYmplY3QgKilQeUxpc3RfR0VUX0lURU0obGlzdCwgaSksCi0gICAgICAgICAgICAgICAgICAgICBmaXhjYXBpdGFsaXplKTsKLSAgICAgICAgaWYgKGl0ZW0gPT0gTlVMTCkKLSAgICAgICAgICAgIGdvdG8gb25FcnJvcjsKLSAgICAgICAgUHlfREVDUkVGKFB5TGlzdF9HRVRfSVRFTShsaXN0LCBpKSk7Ci0gICAgICAgIFB5TGlzdF9TRVRfSVRFTShsaXN0LCBpLCBpdGVtKTsKLSAgICB9Ci0KLSAgICAvKiBKb2luIHRoZSB3b3JkcyB0byBmb3JtIGEgbmV3IHN0cmluZyAqLwotICAgIGl0ZW0gPSBQeVVuaWNvZGVfSm9pbihOVUxMLCBsaXN0KTsKLQotICBvbkVycm9yOgotICAgIFB5X0RFQ1JFRihsaXN0KTsKLSAgICByZXR1cm4gKFB5T2JqZWN0ICopaXRlbTsKKyAgICBpZiAoUHlVbmljb2RlX0dFVF9MRU5HVEgoc2VsZikgPT0gMCkKKyAgICAgICAgcmV0dXJuIHVuaWNvZGVfcmVzdWx0X3VuY2hhbmdlZChzZWxmKTsKKyAgICByZXR1cm4gY2FzZV9vcGVyYXRpb24oc2VsZiwgZG9fY2FwaXRhbGl6ZSk7CiB9Ci0jZW5kaWYKKworUHlEb2NfU1RSVkFSKGNhc2Vmb2xkX19kb2NfXywKKyAgICAgICAgICAgICAiUy5jYXNlZm9sZCgpIC0+IHN0clxuXAorXG5cCitSZXR1cm4gYSB2ZXJzaW9uIG9mIFMgc3VpdGFibGUgZm9yIGNhc2VsZXNzIGNvbXBhcmlzb25zLiIpOworCitzdGF0aWMgUHlPYmplY3QgKgordW5pY29kZV9jYXNlZm9sZChQeU9iamVjdCAqc2VsZikKK3sKKyAgICBpZiAoUHlVbmljb2RlX1JFQURZKHNlbGYpID09IC0xKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBpZiAoUHlVbmljb2RlX0lTX0FTQ0lJKHNlbGYpKQorICAgICAgICByZXR1cm4gYXNjaWlfdXBwZXJfb3JfbG93ZXIoc2VsZiwgMSk7CisgICAgcmV0dXJuIGNhc2Vfb3BlcmF0aW9uKHNlbGYsIGRvX2Nhc2Vmb2xkKTsKK30KKwogCiAvKiBBcmd1bWVudCBjb252ZXJ0ZXIuICBDb2VyY2VzIHRvIGEgc2luZ2xlIHVuaWNvZGUgY2hhcmFjdGVyICovCiAKIHN0YXRpYyBpbnQKIGNvbnZlcnRfdWMoUHlPYmplY3QgKm9iaiwgdm9pZCAqYWRkcikKIHsKLSAgICBQeV9VTklDT0RFICpmaWxsY2hhcmxvYyA9IChQeV9VTklDT0RFICopYWRkcjsKKyAgICBQeV9VQ1M0ICpmaWxsY2hhcmxvYyA9IChQeV9VQ1M0ICopYWRkcjsKICAgICBQeU9iamVjdCAqdW5pb2JqOwotICAgIFB5X1VOSUNPREUgKnVuaXN0cjsKIAogICAgIHVuaW9iaiA9IFB5VW5pY29kZV9Gcm9tT2JqZWN0KG9iaik7CiAgICAgaWYgKHVuaW9iaiA9PSBOVUxMKSB7CkBAIC03MTczLDE0ICsxMDY4NSwxMyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgIlRoZSBmaWxsIGNoYXJhY3RlciBjYW5ub3QgYmUgY29udmVydGVkIHRvIFVuaWNvZGUiKTsKICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQotICAgIGlmIChQeVVuaWNvZGVfR0VUX1NJWkUodW5pb2JqKSAhPSAxKSB7CisgICAgaWYgKFB5VW5pY29kZV9HRVRfTEVOR1RIKHVuaW9iaikgIT0gMSkgewogICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLAogICAgICAgICAgICAgICAgICAgICAgICAgIlRoZSBmaWxsIGNoYXJhY3RlciBtdXN0IGJlIGV4YWN0bHkgb25lIGNoYXJhY3RlciBsb25nIik7CiAgICAgICAgIFB5X0RFQ1JFRih1bmlvYmopOwogICAgICAgICByZXR1cm4gMDsKICAgICB9Ci0gICAgdW5pc3RyID0gUHlVbmljb2RlX0FTX1VOSUNPREUodW5pb2JqKTsKLSAgICAqZmlsbGNoYXJsb2MgPSB1bmlzdHJbMF07CisgICAgKmZpbGxjaGFybG9jID0gUHlVbmljb2RlX1JFQURfQ0hBUih1bmlvYmosIDApOwogICAgIFB5X0RFQ1JFRih1bmlvYmopOwogICAgIHJldHVybiAxOwogfQpAQCAtNzE5MiwxMTIgKzEwNzAzLDY0IEBACiBkb25lIHVzaW5nIHRoZSBzcGVjaWZpZWQgZmlsbCBjaGFyYWN0ZXIgKGRlZmF1bHQgaXMgYSBzcGFjZSkiKTsKIAogc3RhdGljIFB5T2JqZWN0ICoKLXVuaWNvZGVfY2VudGVyKFB5VW5pY29kZU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCit1bmljb2RlX2NlbnRlcihQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCiB7CiAgICAgUHlfc3NpemVfdCBtYXJnLCBsZWZ0OwogICAgIFB5X3NzaXplX3Qgd2lkdGg7Ci0gICAgUHlfVU5JQ09ERSBmaWxsY2hhciA9ICcgJzsKKyAgICBQeV9VQ1M0IGZpbGxjaGFyID0gJyAnOwogCiAgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJufE8mOmNlbnRlciIsICZ3aWR0aCwgY29udmVydF91YywgJmZpbGxjaGFyKSkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKLSAgICBpZiAoc2VsZi0+bGVuZ3RoID49IHdpZHRoICYmIFB5VW5pY29kZV9DaGVja0V4YWN0KHNlbGYpKSB7Ci0gICAgICAgIFB5X0lOQ1JFRihzZWxmKTsKLSAgICAgICAgcmV0dXJuIChQeU9iamVjdCopIHNlbGY7Ci0gICAgfQorICAgIGlmIChQeVVuaWNvZGVfUkVBRFkoc2VsZikgPT0gLTEpCisgICAgICAgIHJldHVybiBOVUxMOwogCi0gICAgbWFyZyA9IHdpZHRoIC0gc2VsZi0+bGVuZ3RoOworICAgIGlmIChQeVVuaWNvZGVfR0VUX0xFTkdUSChzZWxmKSA+PSB3aWR0aCkKKyAgICAgICAgcmV0dXJuIHVuaWNvZGVfcmVzdWx0X3VuY2hhbmdlZChzZWxmKTsKKworICAgIG1hcmcgPSB3aWR0aCAtIFB5VW5pY29kZV9HRVRfTEVOR1RIKHNlbGYpOwogICAgIGxlZnQgPSBtYXJnIC8gMiArIChtYXJnICYgd2lkdGggJiAxKTsKIAotICAgIHJldHVybiAoUHlPYmplY3QqKSBwYWQoc2VsZiwgbGVmdCwgbWFyZyAtIGxlZnQsIGZpbGxjaGFyKTsKKyAgICByZXR1cm4gcGFkKHNlbGYsIGxlZnQsIG1hcmcgLSBsZWZ0LCBmaWxsY2hhcik7CiB9CiAKLSNpZiAwCi0KLS8qIFRoaXMgY29kZSBzaG91bGQgZ28gaW50byBzb21lIGZ1dHVyZSBVbmljb2RlIGNvbGxhdGlvbiBzdXBwb3J0Ci0gICBtb2R1bGUuIFRoZSBiYXNpYyBjb21wYXJpc29uIHNob3VsZCBjb21wYXJlIG9yZGluYWxzIG9uIGEgbmFpdmUKLSAgIGJhc2lzICh0aGlzIGlzIHdoYXQgSmF2YSBkb2VzIGFuZCB0aHVzIEp5dGhvbiB0b28pLiAqLwotCi0vKiBzcGVlZHkgVVRGLTE2IGNvZGUgcG9pbnQgb3JkZXIgY29tcGFyaXNvbiAqLwotLyogZ2xlYW5lZCBmcm9tOiAqLwotLyogaHR0cDovL3d3dy00LmlibS5jb20vc29mdHdhcmUvZGV2ZWxvcGVyL2xpYnJhcnkvdXRmMTYuaHRtbD9kd3pvbmU9dW5pY29kZSAqLwotCi1zdGF0aWMgc2hvcnQgdXRmMTZGaXh1cFszMl0gPQotewotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLAotICAgIDAsIDAsIDAsIDB4MjAwMCwgLTB4ODAwLCAtMHg4MDAsIC0weDgwMCwgLTB4ODAwCi19OworLyogVGhpcyBmdW5jdGlvbiBhc3N1bWVzIHRoYXQgc3RyMSBhbmQgc3RyMiBhcmUgcmVhZGllZCBieSB0aGUgY2FsbGVyLiAqLwogCiBzdGF0aWMgaW50Ci11bmljb2RlX2NvbXBhcmUoUHlVbmljb2RlT2JqZWN0ICpzdHIxLCBQeVVuaWNvZGVPYmplY3QgKnN0cjIpCit1bmljb2RlX2NvbXBhcmUoUHlPYmplY3QgKnN0cjEsIFB5T2JqZWN0ICpzdHIyKQogewotICAgIFB5X3NzaXplX3QgbGVuMSwgbGVuMjsKKyAgICBpbnQga2luZDEsIGtpbmQyOworICAgIHZvaWQgKmRhdGExLCAqZGF0YTI7CisgICAgUHlfc3NpemVfdCBsZW4xLCBsZW4yLCBpOwogCi0gICAgUHlfVU5JQ09ERSAqczEgPSBzdHIxLT5zdHI7Ci0gICAgUHlfVU5JQ09ERSAqczIgPSBzdHIyLT5zdHI7CisgICAga2luZDEgPSBQeVVuaWNvZGVfS0lORChzdHIxKTsKKyAgICBraW5kMiA9IFB5VW5pY29kZV9LSU5EKHN0cjIpOworICAgIGRhdGExID0gUHlVbmljb2RlX0RBVEEoc3RyMSk7CisgICAgZGF0YTIgPSBQeVVuaWNvZGVfREFUQShzdHIyKTsKKyAgICBsZW4xID0gUHlVbmljb2RlX0dFVF9MRU5HVEgoc3RyMSk7CisgICAgbGVuMiA9IFB5VW5pY29kZV9HRVRfTEVOR1RIKHN0cjIpOwogCi0gICAgbGVuMSA9IHN0cjEtPmxlbmd0aDsKLSAgICBsZW4yID0gc3RyMi0+bGVuZ3RoOwotCi0gICAgd2hpbGUgKGxlbjEgPiAwICYmIGxlbjIgPiAwKSB7Ci0gICAgICAgIFB5X1VOSUNPREUgYzEsIGMyOwotCi0gICAgICAgIGMxID0gKnMxKys7Ci0gICAgICAgIGMyID0gKnMyKys7Ci0KLSAgICAgICAgaWYgKGMxID4gKDE8PDExKSAqIDI2KQotICAgICAgICAgICAgYzEgKz0gdXRmMTZGaXh1cFtjMT4+MTFdOwotICAgICAgICBpZiAoYzIgPiAoMTw8MTEpICogMjYpCi0gICAgICAgICAgICBjMiArPSB1dGYxNkZpeHVwW2MyPj4xMV07Ci0gICAgICAgIC8qIG5vdyBjMSBhbmQgYzIgYXJlIGluIFVURi0zMi1jb21wYXRpYmxlIG9yZGVyICovCisgICAgZm9yIChpID0gMDsgaSA8IGxlbjEgJiYgaSA8IGxlbjI7ICsraSkgeworICAgICAgICBQeV9VQ1M0IGMxLCBjMjsKKyAgICAgICAgYzEgPSBQeVVuaWNvZGVfUkVBRChraW5kMSwgZGF0YTEsIGkpOworICAgICAgICBjMiA9IFB5VW5pY29kZV9SRUFEKGtpbmQyLCBkYXRhMiwgaSk7CiAKICAgICAgICAgaWYgKGMxICE9IGMyKQogICAgICAgICAgICAgcmV0dXJuIChjMSA8IGMyKSA/IC0xIDogMTsKLQotICAgICAgICBsZW4xLS07IGxlbjItLTsKICAgICB9CiAKICAgICByZXR1cm4gKGxlbjEgPCBsZW4yKSA/IC0xIDogKGxlbjEgIT0gbGVuMik7CiB9CiAKLSNlbHNlCi0KLXN0YXRpYyBpbnQKLXVuaWNvZGVfY29tcGFyZShQeVVuaWNvZGVPYmplY3QgKnN0cjEsIFB5VW5pY29kZU9iamVjdCAqc3RyMikKK2ludAorUHlVbmljb2RlX0NvbXBhcmUoUHlPYmplY3QgKmxlZnQsIFB5T2JqZWN0ICpyaWdodCkKIHsKLSAgICByZWdpc3RlciBQeV9zc2l6ZV90IGxlbjEsIGxlbjI7Ci0KLSAgICBQeV9VTklDT0RFICpzMSA9IHN0cjEtPnN0cjsKLSAgICBQeV9VTklDT0RFICpzMiA9IHN0cjItPnN0cjsKLQotICAgIGxlbjEgPSBzdHIxLT5sZW5ndGg7Ci0gICAgbGVuMiA9IHN0cjItPmxlbmd0aDsKLQotICAgIHdoaWxlIChsZW4xID4gMCAmJiBsZW4yID4gMCkgewotICAgICAgICBQeV9VTklDT0RFIGMxLCBjMjsKLQotICAgICAgICBjMSA9ICpzMSsrOwotICAgICAgICBjMiA9ICpzMisrOwotCi0gICAgICAgIGlmIChjMSAhPSBjMikKLSAgICAgICAgICAgIHJldHVybiAoYzEgPCBjMikgPyAtMSA6IDE7Ci0KLSAgICAgICAgbGVuMS0tOyBsZW4yLS07CisgICAgaWYgKFB5VW5pY29kZV9DaGVjayhsZWZ0KSAmJiBQeVVuaWNvZGVfQ2hlY2socmlnaHQpKSB7CisgICAgICAgIGlmIChQeVVuaWNvZGVfUkVBRFkobGVmdCkgPT0gLTEgfHwKKyAgICAgICAgICAgIFB5VW5pY29kZV9SRUFEWShyaWdodCkgPT0gLTEpCisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIHJldHVybiB1bmljb2RlX2NvbXBhcmUobGVmdCwgcmlnaHQpOwogICAgIH0KLQotICAgIHJldHVybiAobGVuMSA8IGxlbjIpID8gLTEgOiAobGVuMSAhPSBsZW4yKTsKLX0KLQotI2VuZGlmCi0KLWludCBQeVVuaWNvZGVfQ29tcGFyZShQeU9iamVjdCAqbGVmdCwKLSAgICAgICAgICAgICAgICAgICAgICBQeU9iamVjdCAqcmlnaHQpCi17Ci0gICAgaWYgKFB5VW5pY29kZV9DaGVjayhsZWZ0KSAmJiBQeVVuaWNvZGVfQ2hlY2socmlnaHQpKQotICAgICAgICByZXR1cm4gdW5pY29kZV9jb21wYXJlKChQeVVuaWNvZGVPYmplY3QgKilsZWZ0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChQeVVuaWNvZGVPYmplY3QgKilyaWdodCk7CiAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1R5cGVFcnJvciwKICAgICAgICAgICAgICAgICAgIkNhbid0IGNvbXBhcmUgJS4xMDBzIGFuZCAlLjEwMHMiLAogICAgICAgICAgICAgICAgICBsZWZ0LT5vYl90eXBlLT50cF9uYW1lLApAQCAtNzMwOCwxNyArMTA3NzEsMjMgQEAKIGludAogUHlVbmljb2RlX0NvbXBhcmVXaXRoQVNDSUlTdHJpbmcoUHlPYmplY3QqIHVuaSwgY29uc3QgY2hhciogc3RyKQogewotICAgIGludCBpOwotICAgIFB5X1VOSUNPREUgKmlkOwotICAgIGFzc2VydChQeVVuaWNvZGVfQ2hlY2sodW5pKSk7Ci0gICAgaWQgPSBQeVVuaWNvZGVfQVNfVU5JQ09ERSh1bmkpOworICAgIFB5X3NzaXplX3QgaTsKKyAgICBpbnQga2luZDsKKyAgICB2b2lkICpkYXRhOworICAgIFB5X1VDUzQgY2hyOworCisgICAgYXNzZXJ0KF9QeVVuaWNvZGVfQ0hFQ0sodW5pKSk7CisgICAgaWYgKFB5VW5pY29kZV9SRUFEWSh1bmkpID09IC0xKQorICAgICAgICByZXR1cm4gLTE7CisgICAga2luZCA9IFB5VW5pY29kZV9LSU5EKHVuaSk7CisgICAgZGF0YSA9IFB5VW5pY29kZV9EQVRBKHVuaSk7CiAgICAgLyogQ29tcGFyZSBVbmljb2RlIHN0cmluZyBhbmQgc291cmNlIGNoYXJhY3RlciBzZXQgc3RyaW5nICovCi0gICAgZm9yIChpID0gMDsgaWRbaV0gJiYgc3RyW2ldOyBpKyspCi0gICAgICAgIGlmIChpZFtpXSAhPSBzdHJbaV0pCi0gICAgICAgICAgICByZXR1cm4gKChpbnQpaWRbaV0gPCAoaW50KXN0cltpXSkgPyAtMSA6IDE7CisgICAgZm9yIChpID0gMDsgKGNociA9IFB5VW5pY29kZV9SRUFEKGtpbmQsIGRhdGEsIGkpKSAmJiBzdHJbaV07IGkrKykKKyAgICAgICAgaWYgKGNociAhPSBzdHJbaV0pCisgICAgICAgICAgICByZXR1cm4gKGNociA8ICh1bnNpZ25lZCBjaGFyKShzdHJbaV0pKSA/IC0xIDogMTsKICAgICAvKiBUaGlzIGNoZWNrIGtlZXBzIFB5dGhvbiBzdHJpbmdzIHRoYXQgZW5kIGluICdcMCcgZnJvbSBjb21wYXJpbmcgZXF1YWwKICAgICAgdG8gQyBzdHJpbmdzIGlkZW50aWNhbCB1cCB0byB0aGF0IHBvaW50LiAqLwotICAgIGlmIChQeVVuaWNvZGVfR0VUX1NJWkUodW5pKSAhPSBpIHx8IGlkW2ldKQorICAgIGlmIChQeVVuaWNvZGVfR0VUX0xFTkdUSCh1bmkpICE9IGkgfHwgY2hyKQogICAgICAgICByZXR1cm4gMTsgLyogdW5pIGlzIGxvbmdlciAqLwogICAgIGlmIChzdHJbaV0pCiAgICAgICAgIHJldHVybiAtMTsgLyogc3RyIGlzIGxvbmdlciAqLwpAQCAtNzMyOSwxNiArMTA3OTgsMTggQEAKICNkZWZpbmUgVEVTVF9DT05EKGNvbmQpICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAoKGNvbmQpID8gUHlfVHJ1ZSA6IFB5X0ZhbHNlKQogCi1QeU9iamVjdCAqUHlVbmljb2RlX1JpY2hDb21wYXJlKFB5T2JqZWN0ICpsZWZ0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeU9iamVjdCAqcmlnaHQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBvcCkKK1B5T2JqZWN0ICoKK1B5VW5pY29kZV9SaWNoQ29tcGFyZShQeU9iamVjdCAqbGVmdCwgUHlPYmplY3QgKnJpZ2h0LCBpbnQgb3ApCiB7CiAgICAgaW50IHJlc3VsdDsKIAogICAgIGlmIChQeVVuaWNvZGVfQ2hlY2sobGVmdCkgJiYgUHlVbmljb2RlX0NoZWNrKHJpZ2h0KSkgewogICAgICAgICBQeU9iamVjdCAqdjsKLSAgICAgICAgaWYgKCgoUHlVbmljb2RlT2JqZWN0ICopIGxlZnQpLT5sZW5ndGggIT0KLSAgICAgICAgICAgICgoUHlVbmljb2RlT2JqZWN0ICopIHJpZ2h0KS0+bGVuZ3RoKSB7CisgICAgICAgIGlmIChQeVVuaWNvZGVfUkVBRFkobGVmdCkgPT0gLTEgfHwKKyAgICAgICAgICAgIFB5VW5pY29kZV9SRUFEWShyaWdodCkgPT0gLTEpCisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgaWYgKFB5VW5pY29kZV9HRVRfTEVOR1RIKGxlZnQpICE9IFB5VW5pY29kZV9HRVRfTEVOR1RIKHJpZ2h0KSB8fAorICAgICAgICAgICAgUHlVbmljb2RlX0tJTkQobGVmdCkgIT0gUHlVbmljb2RlX0tJTkQocmlnaHQpKSB7CiAgICAgICAgICAgICBpZiAob3AgPT0gUHlfRVEpIHsKICAgICAgICAgICAgICAgICBQeV9JTkNSRUYoUHlfRmFsc2UpOwogICAgICAgICAgICAgICAgIHJldHVybiBQeV9GYWxzZTsKQEAgLTczNTEsOCArMTA4MjIsNyBAQAogICAgICAgICBpZiAobGVmdCA9PSByaWdodCkKICAgICAgICAgICAgIHJlc3VsdCA9IDA7CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIHJlc3VsdCA9IHVuaWNvZGVfY29tcGFyZSgoUHlVbmljb2RlT2JqZWN0ICopbGVmdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoUHlVbmljb2RlT2JqZWN0ICopcmlnaHQpOworICAgICAgICAgICAgcmVzdWx0ID0gdW5pY29kZV9jb21wYXJlKGxlZnQsIHJpZ2h0KTsKIAogICAgICAgICAvKiBDb252ZXJ0IHRoZSByZXR1cm4gdmFsdWUgdG8gYSBCb29sZWFuICovCiAgICAgICAgIHN3aXRjaCAob3ApIHsKQEAgLTczODIsMTQgKzEwODUyLDE2IEBACiAgICAgICAgIHJldHVybiB2OwogICAgIH0KIAotICAgIFB5X0lOQ1JFRihQeV9Ob3RJbXBsZW1lbnRlZCk7Ci0gICAgcmV0dXJuIFB5X05vdEltcGxlbWVudGVkOworICAgIFB5X1JFVFVSTl9OT1RJTVBMRU1FTlRFRDsKIH0KIAotaW50IFB5VW5pY29kZV9Db250YWlucyhQeU9iamVjdCAqY29udGFpbmVyLAotICAgICAgICAgICAgICAgICAgICAgICBQeU9iamVjdCAqZWxlbWVudCkKK2ludAorUHlVbmljb2RlX0NvbnRhaW5zKFB5T2JqZWN0ICpjb250YWluZXIsIFB5T2JqZWN0ICplbGVtZW50KQogewogICAgIFB5T2JqZWN0ICpzdHIsICpzdWI7CisgICAgaW50IGtpbmQxLCBraW5kMiwga2luZDsKKyAgICB2b2lkICpidWYxLCAqYnVmMjsKKyAgICBQeV9zc2l6ZV90IGxlbjEsIGxlbjI7CiAgICAgaW50IHJlc3VsdDsKIAogICAgIC8qIENvZXJjZSB0aGUgdHdvIGFyZ3VtZW50cyAqLwpAQCAtNzQwNiw1MCArMTA4NzgsMTA4IEBACiAgICAgICAgIFB5X0RFQ1JFRihzdWIpOwogICAgICAgICByZXR1cm4gLTE7CiAgICAgfQorICAgIGlmIChQeVVuaWNvZGVfUkVBRFkoc3ViKSA9PSAtMSB8fCBQeVVuaWNvZGVfUkVBRFkoc3RyKSA9PSAtMSkgeworICAgICAgICBQeV9ERUNSRUYoc3ViKTsKKyAgICAgICAgUHlfREVDUkVGKHN0cik7CisgICAgfQogCi0gICAgcmVzdWx0ID0gc3RyaW5nbGliX2NvbnRhaW5zX29iaihzdHIsIHN1Yik7CisgICAga2luZDEgPSBQeVVuaWNvZGVfS0lORChzdHIpOworICAgIGtpbmQyID0gUHlVbmljb2RlX0tJTkQoc3ViKTsKKyAgICBraW5kID0ga2luZDEgPiBraW5kMiA/IGtpbmQxIDoga2luZDI7CisgICAgYnVmMSA9IFB5VW5pY29kZV9EQVRBKHN0cik7CisgICAgYnVmMiA9IFB5VW5pY29kZV9EQVRBKHN1Yik7CisgICAgaWYgKGtpbmQxICE9IGtpbmQpCisgICAgICAgIGJ1ZjEgPSBfUHlVbmljb2RlX0FzS2luZChzdHIsIGtpbmQpOworICAgIGlmICghYnVmMSkgeworICAgICAgICBQeV9ERUNSRUYoc3ViKTsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKyAgICBpZiAoa2luZDIgIT0ga2luZCkKKyAgICAgICAgYnVmMiA9IF9QeVVuaWNvZGVfQXNLaW5kKHN1Yiwga2luZCk7CisgICAgaWYgKCFidWYyKSB7CisgICAgICAgIFB5X0RFQ1JFRihzdWIpOworICAgICAgICBpZiAoa2luZDEgIT0ga2luZCkgUHlNZW1fRnJlZShidWYxKTsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKyAgICBsZW4xID0gUHlVbmljb2RlX0dFVF9MRU5HVEgoc3RyKTsKKyAgICBsZW4yID0gUHlVbmljb2RlX0dFVF9MRU5HVEgoc3ViKTsKKworICAgIHN3aXRjaCAoa2luZCkgeworICAgIGNhc2UgUHlVbmljb2RlXzFCWVRFX0tJTkQ6CisgICAgICAgIHJlc3VsdCA9IHVjczFsaWJfZmluZChidWYxLCBsZW4xLCBidWYyLCBsZW4yLCAwKSAhPSAtMTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBQeVVuaWNvZGVfMkJZVEVfS0lORDoKKyAgICAgICAgcmVzdWx0ID0gdWNzMmxpYl9maW5kKGJ1ZjEsIGxlbjEsIGJ1ZjIsIGxlbjIsIDApICE9IC0xOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFB5VW5pY29kZV80QllURV9LSU5EOgorICAgICAgICByZXN1bHQgPSB1Y3M0bGliX2ZpbmQoYnVmMSwgbGVuMSwgYnVmMiwgbGVuMiwgMCkgIT0gLTE7CisgICAgICAgIGJyZWFrOworICAgIGRlZmF1bHQ6CisgICAgICAgIHJlc3VsdCA9IC0xOworICAgICAgICBhc3NlcnQoMCk7CisgICAgfQogCiAgICAgUHlfREVDUkVGKHN0cik7CiAgICAgUHlfREVDUkVGKHN1Yik7CiAKKyAgICBpZiAoa2luZDEgIT0ga2luZCkKKyAgICAgICAgUHlNZW1fRnJlZShidWYxKTsKKyAgICBpZiAoa2luZDIgIT0ga2luZCkKKyAgICAgICAgUHlNZW1fRnJlZShidWYyKTsKKwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKIC8qIENvbmNhdCB0byBzdHJpbmcgb3IgVW5pY29kZSBvYmplY3QgZ2l2aW5nIGEgbmV3IFVuaWNvZGUgb2JqZWN0LiAqLwogCi1QeU9iamVjdCAqUHlVbmljb2RlX0NvbmNhdChQeU9iamVjdCAqbGVmdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5T2JqZWN0ICpyaWdodCkKK1B5T2JqZWN0ICoKK1B5VW5pY29kZV9Db25jYXQoUHlPYmplY3QgKmxlZnQsIFB5T2JqZWN0ICpyaWdodCkKIHsKLSAgICBQeVVuaWNvZGVPYmplY3QgKnUgPSBOVUxMLCAqdiA9IE5VTEwsICp3OworICAgIFB5T2JqZWN0ICp1ID0gTlVMTCwgKnYgPSBOVUxMLCAqdzsKKyAgICBQeV9VQ1M0IG1heGNoYXIsIG1heGNoYXIyOworICAgIFB5X3NzaXplX3QgdV9sZW4sIHZfbGVuLCBuZXdfbGVuOwogCiAgICAgLyogQ29lcmNlIHRoZSB0d28gYXJndW1lbnRzICovCi0gICAgdSA9IChQeVVuaWNvZGVPYmplY3QgKilQeVVuaWNvZGVfRnJvbU9iamVjdChsZWZ0KTsKKyAgICB1ID0gUHlVbmljb2RlX0Zyb21PYmplY3QobGVmdCk7CiAgICAgaWYgKHUgPT0gTlVMTCkKICAgICAgICAgZ290byBvbkVycm9yOwotICAgIHYgPSAoUHlVbmljb2RlT2JqZWN0ICopUHlVbmljb2RlX0Zyb21PYmplY3QocmlnaHQpOworICAgIHYgPSBQeVVuaWNvZGVfRnJvbU9iamVjdChyaWdodCk7CiAgICAgaWYgKHYgPT0gTlVMTCkKICAgICAgICAgZ290byBvbkVycm9yOwogCiAgICAgLyogU2hvcnRjdXRzICovCiAgICAgaWYgKHYgPT0gdW5pY29kZV9lbXB0eSkgewogICAgICAgICBQeV9ERUNSRUYodik7Ci0gICAgICAgIHJldHVybiAoUHlPYmplY3QgKil1OworICAgICAgICByZXR1cm4gdTsKICAgICB9CiAgICAgaWYgKHUgPT0gdW5pY29kZV9lbXB0eSkgewogICAgICAgICBQeV9ERUNSRUYodSk7Ci0gICAgICAgIHJldHVybiAoUHlPYmplY3QgKil2OworICAgICAgICByZXR1cm4gdjsKICAgICB9CiAKKyAgICB1X2xlbiA9IFB5VW5pY29kZV9HRVRfTEVOR1RIKHUpOworICAgIHZfbGVuID0gUHlVbmljb2RlX0dFVF9MRU5HVEgodik7CisgICAgaWYgKHVfbGVuID4gUFlfU1NJWkVfVF9NQVggLSB2X2xlbikgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfT3ZlcmZsb3dFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICJzdHJpbmdzIGFyZSB0b28gbGFyZ2UgdG8gY29uY2F0Iik7CisgICAgICAgIGdvdG8gb25FcnJvcjsKKyAgICB9CisgICAgbmV3X2xlbiA9IHVfbGVuICsgdl9sZW47CisKKyAgICBtYXhjaGFyID0gUHlVbmljb2RlX01BWF9DSEFSX1ZBTFVFKHUpOworICAgIG1heGNoYXIyID0gUHlVbmljb2RlX01BWF9DSEFSX1ZBTFVFKHYpOworICAgIG1heGNoYXIgPSBQeV9NQVgobWF4Y2hhciwgbWF4Y2hhcjIpOworCiAgICAgLyogQ29uY2F0IHRoZSB0d28gVW5pY29kZSBzdHJpbmdzICovCi0gICAgdyA9IF9QeVVuaWNvZGVfTmV3KHUtPmxlbmd0aCArIHYtPmxlbmd0aCk7CisgICAgdyA9IFB5VW5pY29kZV9OZXcobmV3X2xlbiwgbWF4Y2hhcik7CiAgICAgaWYgKHcgPT0gTlVMTCkKICAgICAgICAgZ290byBvbkVycm9yOwotICAgIFB5X1VOSUNPREVfQ09QWSh3LT5zdHIsIHUtPnN0ciwgdS0+bGVuZ3RoKTsKLSAgICBQeV9VTklDT0RFX0NPUFkody0+c3RyICsgdS0+bGVuZ3RoLCB2LT5zdHIsIHYtPmxlbmd0aCk7Ci0KKyAgICBjb3B5X2NoYXJhY3RlcnModywgMCwgdSwgMCwgdV9sZW4pOworICAgIGNvcHlfY2hhcmFjdGVycyh3LCB1X2xlbiwgdiwgMCwgdl9sZW4pOwogICAgIFB5X0RFQ1JFRih1KTsKICAgICBQeV9ERUNSRUYodik7Ci0gICAgcmV0dXJuIChQeU9iamVjdCAqKXc7CisgICAgYXNzZXJ0KF9QeVVuaWNvZGVfQ2hlY2tDb25zaXN0ZW5jeSh3LCAxKSk7CisgICAgcmV0dXJuIHc7CiAKICAgb25FcnJvcjoKICAgICBQeV9YREVDUkVGKHUpOwpAQCAtNzQ1OCwxOSArMTA5ODgsODkgQEAKIH0KIAogdm9pZAotUHlVbmljb2RlX0FwcGVuZChQeU9iamVjdCAqKnBsZWZ0LCBQeU9iamVjdCAqcmlnaHQpCitQeVVuaWNvZGVfQXBwZW5kKFB5T2JqZWN0ICoqcF9sZWZ0LCBQeU9iamVjdCAqcmlnaHQpCiB7Ci0gICAgUHlPYmplY3QgKm5ldzsKLSAgICBpZiAoKnBsZWZ0ID09IE5VTEwpCi0gICAgICAgIHJldHVybjsKLSAgICBpZiAocmlnaHQgPT0gTlVMTCB8fCAhUHlVbmljb2RlX0NoZWNrKCpwbGVmdCkpIHsKLSAgICAgICAgUHlfREVDUkVGKCpwbGVmdCk7Ci0gICAgICAgICpwbGVmdCA9IE5VTEw7CisgICAgUHlPYmplY3QgKmxlZnQsICpyZXM7CisgICAgUHlfVUNTNCBtYXhjaGFyLCBtYXhjaGFyMjsKKyAgICBQeV9zc2l6ZV90IGxlZnRfbGVuLCByaWdodF9sZW4sIG5ld19sZW47CisKKyAgICBpZiAocF9sZWZ0ID09IE5VTEwpIHsKKyAgICAgICAgaWYgKCFQeUVycl9PY2N1cnJlZCgpKQorICAgICAgICAgICAgUHlFcnJfQmFkSW50ZXJuYWxDYWxsKCk7CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0gICAgbmV3ID0gUHlVbmljb2RlX0NvbmNhdCgqcGxlZnQsIHJpZ2h0KTsKLSAgICBQeV9ERUNSRUYoKnBsZWZ0KTsKLSAgICAqcGxlZnQgPSBuZXc7CisgICAgbGVmdCA9ICpwX2xlZnQ7CisgICAgaWYgKHJpZ2h0ID09IE5VTEwgfHwgIVB5VW5pY29kZV9DaGVjayhsZWZ0KSkgeworICAgICAgICBpZiAoIVB5RXJyX09jY3VycmVkKCkpCisgICAgICAgICAgICBQeUVycl9CYWRJbnRlcm5hbENhbGwoKTsKKyAgICAgICAgZ290byBlcnJvcjsKKyAgICB9CisKKyAgICBpZiAoUHlVbmljb2RlX1JFQURZKGxlZnQpID09IC0xKQorICAgICAgICBnb3RvIGVycm9yOworICAgIGlmIChQeVVuaWNvZGVfUkVBRFkocmlnaHQpID09IC0xKQorICAgICAgICBnb3RvIGVycm9yOworCisgICAgLyogU2hvcnRjdXRzICovCisgICAgaWYgKGxlZnQgPT0gdW5pY29kZV9lbXB0eSkgeworICAgICAgICBQeV9ERUNSRUYobGVmdCk7CisgICAgICAgIFB5X0lOQ1JFRihyaWdodCk7CisgICAgICAgICpwX2xlZnQgPSByaWdodDsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBpZiAocmlnaHQgPT0gdW5pY29kZV9lbXB0eSkKKyAgICAgICAgcmV0dXJuOworCisgICAgbGVmdF9sZW4gPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChsZWZ0KTsKKyAgICByaWdodF9sZW4gPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChyaWdodCk7CisgICAgaWYgKGxlZnRfbGVuID4gUFlfU1NJWkVfVF9NQVggLSByaWdodF9sZW4pIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX092ZXJmbG93RXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAic3RyaW5ncyBhcmUgdG9vIGxhcmdlIHRvIGNvbmNhdCIpOworICAgICAgICBnb3RvIGVycm9yOworICAgIH0KKyAgICBuZXdfbGVuID0gbGVmdF9sZW4gKyByaWdodF9sZW47CisKKyAgICBpZiAodW5pY29kZV9tb2RpZmlhYmxlKGxlZnQpCisgICAgICAgICYmIFB5VW5pY29kZV9DaGVja0V4YWN0KHJpZ2h0KQorICAgICAgICAmJiBQeVVuaWNvZGVfS0lORChyaWdodCkgPD0gUHlVbmljb2RlX0tJTkQobGVmdCkKKyAgICAgICAgLyogRG9uJ3QgcmVzaXplIGZvciBhc2NpaSArPSBsYXRpbjEuIENvbnZlcnQgYXNjaWkgdG8gbGF0aW4xIHJlcXVpcmVzCisgICAgICAgICAgIHRvIGNoYW5nZSB0aGUgc3RydWN0dXJlIHNpemUsIGJ1dCBjaGFyYWN0ZXJzIGFyZSBzdG9yZWQganVzdCBhZnRlcgorICAgICAgICAgICB0aGUgc3RydWN0dXJlLCBhbmQgc28gaXQgcmVxdWlyZXMgdG8gbW92ZSBhbGwgY2hhcmFjdGVycyB3aGljaCBpcworICAgICAgICAgICBub3Qgc28gZGlmZmVyZW50IHRoYW4gZHVwbGljYXRpbmcgdGhlIHN0cmluZy4gKi8KKyAgICAgICAgJiYgIShQeVVuaWNvZGVfSVNfQVNDSUkobGVmdCkgJiYgIVB5VW5pY29kZV9JU19BU0NJSShyaWdodCkpKQorICAgIHsKKyAgICAgICAgLyogYXBwZW5kIGlucGxhY2UgKi8KKyAgICAgICAgaWYgKHVuaWNvZGVfcmVzaXplKHBfbGVmdCwgbmV3X2xlbikgIT0gMCkgeworICAgICAgICAgICAgLyogWFhYIGlmIF9QeVVuaWNvZGVfUmVzaXplKCkgZmFpbHMsICdsZWZ0JyBoYXMgYmVlbgorICAgICAgICAgICAgICogZGVhbGxvY2F0ZWQgc28gaXQgY2Fubm90IGJlIHB1dCBiYWNrIGludG8KKyAgICAgICAgICAgICAqICd2YXJpYWJsZScuICBUaGUgTWVtb3J5RXJyb3IgaXMgcmFpc2VkIHdoZW4gdGhlcmUKKyAgICAgICAgICAgICAqIGlzIG5vIHZhbHVlIGluICd2YXJpYWJsZScsIHdoaWNoIG1pZ2h0ICh2ZXJ5CisgICAgICAgICAgICAgKiByZW1vdGVseSkgYmUgYSBjYXVzZSBvZiBpbmNvbXBhdGliaWxpdGllcy4KKyAgICAgICAgICAgICAqLworICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgfQorICAgICAgICAvKiBjb3B5ICdyaWdodCcgaW50byB0aGUgbmV3bHkgYWxsb2NhdGVkIGFyZWEgb2YgJ2xlZnQnICovCisgICAgICAgIGNvcHlfY2hhcmFjdGVycygqcF9sZWZ0LCBsZWZ0X2xlbiwgcmlnaHQsIDAsIHJpZ2h0X2xlbik7CisgICAgfQorICAgIGVsc2UgeworICAgICAgICBtYXhjaGFyID0gUHlVbmljb2RlX01BWF9DSEFSX1ZBTFVFKGxlZnQpOworICAgICAgICBtYXhjaGFyMiA9IFB5VW5pY29kZV9NQVhfQ0hBUl9WQUxVRShyaWdodCk7CisgICAgICAgIG1heGNoYXIgPSBQeV9NQVgobWF4Y2hhciwgbWF4Y2hhcjIpOworCisgICAgICAgIC8qIENvbmNhdCB0aGUgdHdvIFVuaWNvZGUgc3RyaW5ncyAqLworICAgICAgICByZXMgPSBQeVVuaWNvZGVfTmV3KG5ld19sZW4sIG1heGNoYXIpOworICAgICAgICBpZiAocmVzID09IE5VTEwpCisgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICBjb3B5X2NoYXJhY3RlcnMocmVzLCAwLCBsZWZ0LCAwLCBsZWZ0X2xlbik7CisgICAgICAgIGNvcHlfY2hhcmFjdGVycyhyZXMsIGxlZnRfbGVuLCByaWdodCwgMCwgcmlnaHRfbGVuKTsKKyAgICAgICAgUHlfREVDUkVGKGxlZnQpOworICAgICAgICAqcF9sZWZ0ID0gcmVzOworICAgIH0KKyAgICBhc3NlcnQoX1B5VW5pY29kZV9DaGVja0NvbnNpc3RlbmN5KCpwX2xlZnQsIDEpKTsKKyAgICByZXR1cm47CisKK2Vycm9yOgorICAgIFB5X0NMRUFSKCpwX2xlZnQpOwogfQogCiB2b2lkCkBAIC03NDg4LDIzICsxMTA4OCw3MSBAQAogaW50ZXJwcmV0ZWQgYXMgaW4gc2xpY2Ugbm90YXRpb24uIik7CiAKIHN0YXRpYyBQeU9iamVjdCAqCi11bmljb2RlX2NvdW50KFB5VW5pY29kZU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCit1bmljb2RlX2NvdW50KFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKIHsKLSAgICBQeVVuaWNvZGVPYmplY3QgKnN1YnN0cmluZzsKKyAgICBQeU9iamVjdCAqc3Vic3RyaW5nOwogICAgIFB5X3NzaXplX3Qgc3RhcnQgPSAwOwogICAgIFB5X3NzaXplX3QgZW5kID0gUFlfU1NJWkVfVF9NQVg7CiAgICAgUHlPYmplY3QgKnJlc3VsdDsKKyAgICBpbnQga2luZDEsIGtpbmQyLCBraW5kOworICAgIHZvaWQgKmJ1ZjEsICpidWYyOworICAgIFB5X3NzaXplX3QgbGVuMSwgbGVuMiwgaXJlc3VsdDsKIAogICAgIGlmICghc3RyaW5nbGliX3BhcnNlX2FyZ3NfZmluZHNfdW5pY29kZSgiY291bnQiLCBhcmdzLCAmc3Vic3RyaW5nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmc3RhcnQsICZlbmQpKQogICAgICAgICByZXR1cm4gTlVMTDsKIAotICAgIEFESlVTVF9JTkRJQ0VTKHN0YXJ0LCBlbmQsIHNlbGYtPmxlbmd0aCk7Ci0gICAgcmVzdWx0ID0gUHlMb25nX0Zyb21Tc2l6ZV90KAotICAgICAgICBzdHJpbmdsaWJfY291bnQoc2VsZi0+c3RyICsgc3RhcnQsIGVuZCAtIHN0YXJ0LAotICAgICAgICAgICAgICAgICAgICAgICAgc3Vic3RyaW5nLT5zdHIsIHN1YnN0cmluZy0+bGVuZ3RoLAotICAgICAgICAgICAgICAgICAgICAgICAgUFlfU1NJWkVfVF9NQVgpCi0gICAgICAgICk7CisgICAga2luZDEgPSBQeVVuaWNvZGVfS0lORChzZWxmKTsKKyAgICBraW5kMiA9IFB5VW5pY29kZV9LSU5EKHN1YnN0cmluZyk7CisgICAga2luZCA9IGtpbmQxID4ga2luZDIgPyBraW5kMSA6IGtpbmQyOworICAgIGJ1ZjEgPSBQeVVuaWNvZGVfREFUQShzZWxmKTsKKyAgICBidWYyID0gUHlVbmljb2RlX0RBVEEoc3Vic3RyaW5nKTsKKyAgICBpZiAoa2luZDEgIT0ga2luZCkKKyAgICAgICAgYnVmMSA9IF9QeVVuaWNvZGVfQXNLaW5kKHNlbGYsIGtpbmQpOworICAgIGlmICghYnVmMSkgeworICAgICAgICBQeV9ERUNSRUYoc3Vic3RyaW5nKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorICAgIGlmIChraW5kMiAhPSBraW5kKQorICAgICAgICBidWYyID0gX1B5VW5pY29kZV9Bc0tpbmQoc3Vic3RyaW5nLCBraW5kKTsKKyAgICBpZiAoIWJ1ZjIpIHsKKyAgICAgICAgUHlfREVDUkVGKHN1YnN0cmluZyk7CisgICAgICAgIGlmIChraW5kMSAhPSBraW5kKSBQeU1lbV9GcmVlKGJ1ZjEpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisgICAgbGVuMSA9IFB5VW5pY29kZV9HRVRfTEVOR1RIKHNlbGYpOworICAgIGxlbjIgPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChzdWJzdHJpbmcpOworCisgICAgQURKVVNUX0lORElDRVMoc3RhcnQsIGVuZCwgbGVuMSk7CisgICAgc3dpdGNoIChraW5kKSB7CisgICAgY2FzZSBQeVVuaWNvZGVfMUJZVEVfS0lORDoKKyAgICAgICAgaXJlc3VsdCA9IHVjczFsaWJfY291bnQoCisgICAgICAgICAgICAoKFB5X1VDUzEqKWJ1ZjEpICsgc3RhcnQsIGVuZCAtIHN0YXJ0LAorICAgICAgICAgICAgYnVmMiwgbGVuMiwgUFlfU1NJWkVfVF9NQVgKKyAgICAgICAgICAgICk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgUHlVbmljb2RlXzJCWVRFX0tJTkQ6CisgICAgICAgIGlyZXN1bHQgPSB1Y3MybGliX2NvdW50KAorICAgICAgICAgICAgKChQeV9VQ1MyKilidWYxKSArIHN0YXJ0LCBlbmQgLSBzdGFydCwKKyAgICAgICAgICAgIGJ1ZjIsIGxlbjIsIFBZX1NTSVpFX1RfTUFYCisgICAgICAgICAgICApOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFB5VW5pY29kZV80QllURV9LSU5EOgorICAgICAgICBpcmVzdWx0ID0gdWNzNGxpYl9jb3VudCgKKyAgICAgICAgICAgICgoUHlfVUNTNCopYnVmMSkgKyBzdGFydCwgZW5kIC0gc3RhcnQsCisgICAgICAgICAgICBidWYyLCBsZW4yLCBQWV9TU0laRV9UX01BWAorICAgICAgICAgICAgKTsKKyAgICAgICAgYnJlYWs7CisgICAgZGVmYXVsdDoKKyAgICAgICAgYXNzZXJ0KDApOyBpcmVzdWx0ID0gMDsKKyAgICB9CisKKyAgICByZXN1bHQgPSBQeUxvbmdfRnJvbVNzaXplX3QoaXJlc3VsdCk7CisKKyAgICBpZiAoa2luZDEgIT0ga2luZCkKKyAgICAgICAgUHlNZW1fRnJlZShidWYxKTsKKyAgICBpZiAoa2luZDIgIT0ga2luZCkKKyAgICAgICAgUHlNZW1fRnJlZShidWYyKTsKIAogICAgIFB5X0RFQ1JFRihzdWJzdHJpbmcpOwogCkBAIC03NTIyLDcgKzExMTcwLDcgQEAKIGNvZGVjcy5yZWdpc3Rlcl9lcnJvciB0aGF0IGNhbiBoYW5kbGUgVW5pY29kZUVuY29kZUVycm9ycy4iKTsKIAogc3RhdGljIFB5T2JqZWN0ICoKLXVuaWNvZGVfZW5jb2RlKFB5VW5pY29kZU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCit1bmljb2RlX2VuY29kZShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2FyZ3MpCiB7CiAgICAgc3RhdGljIGNoYXIgKmt3bGlzdFtdID0geyJlbmNvZGluZyIsICJlcnJvcnMiLCAwfTsKICAgICBjaGFyICplbmNvZGluZyA9IE5VTEw7CkBAIC03NTMxLDcgKzExMTc5LDcgQEAKICAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2FyZ3MsICJ8c3M6ZW5jb2RlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrd2xpc3QsICZlbmNvZGluZywgJmVycm9ycykpCiAgICAgICAgIHJldHVybiBOVUxMOwotICAgIHJldHVybiBQeVVuaWNvZGVfQXNFbmNvZGVkU3RyaW5nKChQeU9iamVjdCAqKXNlbGYsIGVuY29kaW5nLCBlcnJvcnMpOworICAgIHJldHVybiBQeVVuaWNvZGVfQXNFbmNvZGVkU3RyaW5nKHNlbGYsIGVuY29kaW5nLCBlcnJvcnMpOwogfQogCiBQeURvY19TVFJWQVIoZXhwYW5kdGFic19fZG9jX18sCkBAIC03NTQxLDgyICsxMTE4OSw4MiBAQAogSWYgdGFic2l6ZSBpcyBub3QgZ2l2ZW4sIGEgdGFiIHNpemUgb2YgOCBjaGFyYWN0ZXJzIGlzIGFzc3VtZWQuIik7CiAKIHN0YXRpYyBQeU9iamVjdCoKLXVuaWNvZGVfZXhwYW5kdGFicyhQeVVuaWNvZGVPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQordW5pY29kZV9leHBhbmR0YWJzKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKIHsKLSAgICBQeV9VTklDT0RFICplOwotICAgIFB5X1VOSUNPREUgKnA7Ci0gICAgUHlfVU5JQ09ERSAqcTsKLSAgICBQeV9VTklDT0RFICpxZTsKLSAgICBQeV9zc2l6ZV90IGksIGosIGluY3I7Ci0gICAgUHlVbmljb2RlT2JqZWN0ICp1OworICAgIFB5X3NzaXplX3QgaSwgaiwgbGluZV9wb3MsIHNyY19sZW4sIGluY3I7CisgICAgUHlfVUNTNCBjaDsKKyAgICBQeU9iamVjdCAqdTsKKyAgICB2b2lkICpzcmNfZGF0YSwgKmRlc3RfZGF0YTsKICAgICBpbnQgdGFic2l6ZSA9IDg7CisgICAgaW50IGtpbmQ7CisgICAgaW50IGZvdW5kOwogCiAgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJ8aTpleHBhbmR0YWJzIiwgJnRhYnNpemUpKQogICAgICAgICByZXR1cm4gTlVMTDsKIAorICAgIGlmIChQeVVuaWNvZGVfUkVBRFkoc2VsZikgPT0gLTEpCisgICAgICAgIHJldHVybiBOVUxMOworCiAgICAgLyogRmlyc3QgcGFzczogZGV0ZXJtaW5lIHNpemUgb2Ygb3V0cHV0IHN0cmluZyAqLwotICAgIGkgPSAwOyAvKiBjaGFycyB1cCB0byBhbmQgaW5jbHVkaW5nIG1vc3QgcmVjZW50IFxuIG9yIFxyICovCi0gICAgaiA9IDA7IC8qIGNoYXJzIHNpbmNlIG1vc3QgcmVjZW50IFxuIG9yIFxyICh1c2UgaW4gdGFiIGNhbGN1bGF0aW9ucykgKi8KLSAgICBlID0gc2VsZi0+c3RyICsgc2VsZi0+bGVuZ3RoOyAvKiBlbmQgb2YgaW5wdXQgKi8KLSAgICBmb3IgKHAgPSBzZWxmLT5zdHI7IHAgPCBlOyBwKyspCi0gICAgICAgIGlmICgqcCA9PSAnXHQnKSB7CisgICAgc3JjX2xlbiA9IFB5VW5pY29kZV9HRVRfTEVOR1RIKHNlbGYpOworICAgIGkgPSBqID0gbGluZV9wb3MgPSAwOworICAgIGtpbmQgPSBQeVVuaWNvZGVfS0lORChzZWxmKTsKKyAgICBzcmNfZGF0YSA9IFB5VW5pY29kZV9EQVRBKHNlbGYpOworICAgIGZvdW5kID0gMDsKKyAgICBmb3IgKDsgaSA8IHNyY19sZW47IGkrKykgeworICAgICAgICBjaCA9IFB5VW5pY29kZV9SRUFEKGtpbmQsIHNyY19kYXRhLCBpKTsKKyAgICAgICAgaWYgKGNoID09ICdcdCcpIHsKKyAgICAgICAgICAgIGZvdW5kID0gMTsKICAgICAgICAgICAgIGlmICh0YWJzaXplID4gMCkgewotICAgICAgICAgICAgICAgIGluY3IgPSB0YWJzaXplIC0gKGogJSB0YWJzaXplKTsgLyogY2Fubm90IG92ZXJmbG93ICovCisgICAgICAgICAgICAgICAgaW5jciA9IHRhYnNpemUgLSAobGluZV9wb3MgJSB0YWJzaXplKTsgLyogY2Fubm90IG92ZXJmbG93ICovCiAgICAgICAgICAgICAgICAgaWYgKGogPiBQWV9TU0laRV9UX01BWCAtIGluY3IpCi0gICAgICAgICAgICAgICAgICAgIGdvdG8gb3ZlcmZsb3cxOworICAgICAgICAgICAgICAgICAgICBnb3RvIG92ZXJmbG93OworICAgICAgICAgICAgICAgIGxpbmVfcG9zICs9IGluY3I7CiAgICAgICAgICAgICAgICAgaiArPSBpbmNyOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgaWYgKGogPiBQWV9TU0laRV9UX01BWCAtIDEpCi0gICAgICAgICAgICAgICAgZ290byBvdmVyZmxvdzE7CisgICAgICAgICAgICAgICAgZ290byBvdmVyZmxvdzsKKyAgICAgICAgICAgIGxpbmVfcG9zKys7CiAgICAgICAgICAgICBqKys7Ci0gICAgICAgICAgICBpZiAoKnAgPT0gJ1xuJyB8fCAqcCA9PSAnXHInKSB7Ci0gICAgICAgICAgICAgICAgaWYgKGkgPiBQWV9TU0laRV9UX01BWCAtIGopCi0gICAgICAgICAgICAgICAgICAgIGdvdG8gb3ZlcmZsb3cxOwotICAgICAgICAgICAgICAgIGkgKz0gajsKLSAgICAgICAgICAgICAgICBqID0gMDsKLSAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmIChjaCA9PSAnXG4nIHx8IGNoID09ICdccicpCisgICAgICAgICAgICAgICAgbGluZV9wb3MgPSAwOwogICAgICAgICB9Ci0KLSAgICBpZiAoaSA+IFBZX1NTSVpFX1RfTUFYIC0gaikKLSAgICAgICAgZ290byBvdmVyZmxvdzE7CisgICAgfQorICAgIGlmICghZm91bmQpCisgICAgICAgIHJldHVybiB1bmljb2RlX3Jlc3VsdF91bmNoYW5nZWQoc2VsZik7CiAKICAgICAvKiBTZWNvbmQgcGFzczogY3JlYXRlIG91dHB1dCBzdHJpbmcgYW5kIGZpbGwgaXQgKi8KLSAgICB1ID0gX1B5VW5pY29kZV9OZXcoaSArIGopOworICAgIHUgPSBQeVVuaWNvZGVfTmV3KGosIFB5VW5pY29kZV9NQVhfQ0hBUl9WQUxVRShzZWxmKSk7CiAgICAgaWYgKCF1KQogICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBkZXN0X2RhdGEgPSBQeVVuaWNvZGVfREFUQSh1KTsKIAotICAgIGogPSAwOyAvKiBzYW1lIGFzIGluIGZpcnN0IHBhc3MgKi8KLSAgICBxID0gdS0+c3RyOyAvKiBuZXh0IG91dHB1dCBjaGFyICovCi0gICAgcWUgPSB1LT5zdHIgKyB1LT5sZW5ndGg7IC8qIGVuZCBvZiBvdXRwdXQgKi8KKyAgICBpID0gaiA9IGxpbmVfcG9zID0gMDsKIAotICAgIGZvciAocCA9IHNlbGYtPnN0cjsgcCA8IGU7IHArKykKLSAgICAgICAgaWYgKCpwID09ICdcdCcpIHsKKyAgICBmb3IgKDsgaSA8IHNyY19sZW47IGkrKykgeworICAgICAgICBjaCA9IFB5VW5pY29kZV9SRUFEKGtpbmQsIHNyY19kYXRhLCBpKTsKKyAgICAgICAgaWYgKGNoID09ICdcdCcpIHsKICAgICAgICAgICAgIGlmICh0YWJzaXplID4gMCkgewotICAgICAgICAgICAgICAgIGkgPSB0YWJzaXplIC0gKGogJSB0YWJzaXplKTsKLSAgICAgICAgICAgICAgICBqICs9IGk7Ci0gICAgICAgICAgICAgICAgd2hpbGUgKGktLSkgewotICAgICAgICAgICAgICAgICAgICBpZiAocSA+PSBxZSkKLSAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gb3ZlcmZsb3cyOwotICAgICAgICAgICAgICAgICAgICAqcSsrID0gJyAnOwotICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBpbmNyID0gdGFic2l6ZSAtIChsaW5lX3BvcyAlIHRhYnNpemUpOworICAgICAgICAgICAgICAgIGxpbmVfcG9zICs9IGluY3I7CisgICAgICAgICAgICAgICAgRklMTChraW5kLCBkZXN0X2RhdGEsICcgJywgaiwgaW5jcik7CisgICAgICAgICAgICAgICAgaiArPSBpbmNyOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgaWYgKHEgPj0gcWUpCi0gICAgICAgICAgICAgICAgZ290byBvdmVyZmxvdzI7Ci0gICAgICAgICAgICAqcSsrID0gKnA7CisgICAgICAgICAgICBsaW5lX3BvcysrOworICAgICAgICAgICAgUHlVbmljb2RlX1dSSVRFKGtpbmQsIGRlc3RfZGF0YSwgaiwgY2gpOwogICAgICAgICAgICAgaisrOwotICAgICAgICAgICAgaWYgKCpwID09ICdcbicgfHwgKnAgPT0gJ1xyJykKLSAgICAgICAgICAgICAgICBqID0gMDsKKyAgICAgICAgICAgIGlmIChjaCA9PSAnXG4nIHx8IGNoID09ICdccicpCisgICAgICAgICAgICAgICAgbGluZV9wb3MgPSAwOwogICAgICAgICB9CisgICAgfQorICAgIGFzc2VydCAoaiA9PSBQeVVuaWNvZGVfR0VUX0xFTkdUSCh1KSk7CisgICAgcmV0dXJuIHVuaWNvZGVfcmVzdWx0KHUpOwogCi0gICAgcmV0dXJuIChQeU9iamVjdCopIHU7Ci0KLSAgb3ZlcmZsb3cyOgotICAgIFB5X0RFQ1JFRih1KTsKLSAgb3ZlcmZsb3cxOgorICBvdmVyZmxvdzoKICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfT3ZlcmZsb3dFcnJvciwgIm5ldyBzdHJpbmcgaXMgdG9vIGxvbmciKTsKICAgICByZXR1cm4gTlVMTDsKIH0KQEAgLTc2MzEsOSArMTEyNzksOSBAQAogUmV0dXJuIC0xIG9uIGZhaWx1cmUuIik7CiAKIHN0YXRpYyBQeU9iamVjdCAqCi11bmljb2RlX2ZpbmQoUHlVbmljb2RlT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK3VuaWNvZGVfZmluZChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCiB7Ci0gICAgUHlVbmljb2RlT2JqZWN0ICpzdWJzdHJpbmc7CisgICAgUHlPYmplY3QgKnN1YnN0cmluZzsKICAgICBQeV9zc2l6ZV90IHN0YXJ0OwogICAgIFB5X3NzaXplX3QgZW5kOwogICAgIFB5X3NzaXplX3QgcmVzdWx0OwpAQCAtNzY0Miw2MSArMTEyOTAsODkgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnN0YXJ0LCAmZW5kKSkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKLSAgICByZXN1bHQgPSBzdHJpbmdsaWJfZmluZF9zbGljZSgKLSAgICAgICAgUHlVbmljb2RlX0FTX1VOSUNPREUoc2VsZiksIFB5VW5pY29kZV9HRVRfU0laRShzZWxmKSwKLSAgICAgICAgUHlVbmljb2RlX0FTX1VOSUNPREUoc3Vic3RyaW5nKSwgUHlVbmljb2RlX0dFVF9TSVpFKHN1YnN0cmluZyksCi0gICAgICAgIHN0YXJ0LCBlbmQKLSAgICAgICAgKTsKKyAgICBpZiAoUHlVbmljb2RlX1JFQURZKHNlbGYpID09IC0xKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBpZiAoUHlVbmljb2RlX1JFQURZKHN1YnN0cmluZykgPT0gLTEpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgcmVzdWx0ID0gYW55X2ZpbmRfc2xpY2UoMSwgc2VsZiwgc3Vic3RyaW5nLCBzdGFydCwgZW5kKTsKIAogICAgIFB5X0RFQ1JFRihzdWJzdHJpbmcpOwogCisgICAgaWYgKHJlc3VsdCA9PSAtMikKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKICAgICByZXR1cm4gUHlMb25nX0Zyb21Tc2l6ZV90KHJlc3VsdCk7CiB9CiAKIHN0YXRpYyBQeU9iamVjdCAqCi11bmljb2RlX2dldGl0ZW0oUHlVbmljb2RlT2JqZWN0ICpzZWxmLCBQeV9zc2l6ZV90IGluZGV4KQordW5pY29kZV9nZXRpdGVtKFB5T2JqZWN0ICpzZWxmLCBQeV9zc2l6ZV90IGluZGV4KQogewotICAgIGlmIChpbmRleCA8IDAgfHwgaW5kZXggPj0gc2VsZi0+bGVuZ3RoKSB7Ci0gICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19JbmRleEVycm9yLCAic3RyaW5nIGluZGV4IG91dCBvZiByYW5nZSIpOworICAgIFB5X1VDUzQgY2ggPSBQeVVuaWNvZGVfUmVhZENoYXIoc2VsZiwgaW5kZXgpOworICAgIGlmIChjaCA9PSAoUHlfVUNTNCktMSkKICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgfQotCi0gICAgcmV0dXJuIChQeU9iamVjdCopIFB5VW5pY29kZV9Gcm9tVW5pY29kZSgmc2VsZi0+c3RyW2luZGV4XSwgMSk7CisgICAgcmV0dXJuIFB5VW5pY29kZV9Gcm9tT3JkaW5hbChjaCk7CiB9CiAKIC8qIEJlbGlldmUgaXQgb3Igbm90LCB0aGlzIHByb2R1Y2VzIHRoZSBzYW1lIHZhbHVlIGZvciBBU0NJSSBzdHJpbmdzCi0gICBhcyBzdHJpbmdfaGFzaCgpLiAqLworICAgYXMgYnl0ZXNfaGFzaCgpLiAqLwogc3RhdGljIFB5X2hhc2hfdAotdW5pY29kZV9oYXNoKFB5VW5pY29kZU9iamVjdCAqc2VsZikKK3VuaWNvZGVfaGFzaChQeU9iamVjdCAqc2VsZikKIHsKICAgICBQeV9zc2l6ZV90IGxlbjsKLSAgICBQeV9VTklDT0RFICpwOwotICAgIFB5X2hhc2hfdCB4OworICAgIFB5X3VoYXNoX3QgeDsKIAogICAgIGFzc2VydChfUHlfSGFzaFNlY3JldF9Jbml0aWFsaXplZCk7Ci0gICAgaWYgKHNlbGYtPmhhc2ggIT0gLTEpCi0gICAgICAgIHJldHVybiBzZWxmLT5oYXNoOwotICAgIGxlbiA9IFB5X1NJWkUoc2VsZik7CisgICAgaWYgKF9QeVVuaWNvZGVfSEFTSChzZWxmKSAhPSAtMSkKKyAgICAgICAgcmV0dXJuIF9QeVVuaWNvZGVfSEFTSChzZWxmKTsKKyAgICBpZiAoUHlVbmljb2RlX1JFQURZKHNlbGYpID09IC0xKQorICAgICAgICByZXR1cm4gLTE7CisgICAgbGVuID0gUHlVbmljb2RlX0dFVF9MRU5HVEgoc2VsZik7CiAgICAgLyoKICAgICAgIFdlIG1ha2UgdGhlIGhhc2ggb2YgdGhlIGVtcHR5IHN0cmluZyBiZSAwLCByYXRoZXIgdGhhbiB1c2luZwogICAgICAgKHByZWZpeCBeIHN1ZmZpeCksIHNpbmNlIHRoaXMgc2xpZ2h0bHkgb2JmdXNjYXRlcyB0aGUgaGFzaCBzZWNyZXQKICAgICAqLwogICAgIGlmIChsZW4gPT0gMCkgewotICAgICAgICBzZWxmLT5oYXNoID0gMDsKKyAgICAgICAgX1B5VW5pY29kZV9IQVNIKHNlbGYpID0gMDsKICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQotICAgIHAgPSBzZWxmLT5zdHI7Ci0gICAgeCA9IF9QeV9IYXNoU2VjcmV0LnByZWZpeDsKLSAgICB4IF49ICpwIDw8IDc7Ci0gICAgd2hpbGUgKC0tbGVuID49IDApCi0gICAgICAgIHggPSAoX1B5SEFTSF9NVUxUSVBMSUVSKngpIF4gKnArKzsKLSAgICB4IF49IFB5X1NJWkUoc2VsZik7Ci0gICAgeCBePSBfUHlfSGFzaFNlY3JldC5zdWZmaXg7CisKKyAgICAvKiBUaGUgaGFzaCBmdW5jdGlvbiBhcyBhIG1hY3JvLCBnZXRzIGV4cGFuZGVkIHRocmVlIHRpbWVzIGJlbG93LiAqLworI2RlZmluZSBIQVNIKFApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgeCBePSAoUHlfdWhhc2hfdCkgKlAgPDwgNzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB3aGlsZSAoLS1sZW4gPj0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICB4ID0gKF9QeUhBU0hfTVVMVElQTElFUiAqIHgpIF4gKFB5X3VoYXNoX3QpICpQKys7ICBcCisKKyAgICB4ID0gKFB5X3VoYXNoX3QpIF9QeV9IYXNoU2VjcmV0LnByZWZpeDsKKyAgICBzd2l0Y2ggKFB5VW5pY29kZV9LSU5EKHNlbGYpKSB7CisgICAgY2FzZSBQeVVuaWNvZGVfMUJZVEVfS0lORDogeworICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpjID0gUHlVbmljb2RlXzFCWVRFX0RBVEEoc2VsZik7CisgICAgICAgIEhBU0goYyk7CisgICAgICAgIGJyZWFrOworICAgIH0KKyAgICBjYXNlIFB5VW5pY29kZV8yQllURV9LSU5EOiB7CisgICAgICAgIGNvbnN0IFB5X1VDUzIgKnMgPSBQeVVuaWNvZGVfMkJZVEVfREFUQShzZWxmKTsKKyAgICAgICAgSEFTSChzKTsKKyAgICAgICAgYnJlYWs7CisgICAgfQorICAgIGRlZmF1bHQ6IHsKKyAgICAgICAgUHlfVUNTNCAqbDsKKyAgICAgICAgYXNzZXJ0KFB5VW5pY29kZV9LSU5EKHNlbGYpID09IFB5VW5pY29kZV80QllURV9LSU5EICYmCisgICAgICAgICAgICAgICAiSW1wb3NzaWJsZSBzd2l0Y2ggY2FzZSBpbiB1bmljb2RlX2hhc2giKTsKKyAgICAgICAgbCA9IFB5VW5pY29kZV80QllURV9EQVRBKHNlbGYpOworICAgICAgICBIQVNIKGwpOworICAgICAgICBicmVhazsKKyAgICB9CisgICAgfQorICAgIHggXj0gKFB5X3VoYXNoX3QpIFB5VW5pY29kZV9HRVRfTEVOR1RIKHNlbGYpOworICAgIHggXj0gKFB5X3VoYXNoX3QpIF9QeV9IYXNoU2VjcmV0LnN1ZmZpeDsKKwogICAgIGlmICh4ID09IC0xKQogICAgICAgICB4ID0gLTI7Ci0gICAgc2VsZi0+aGFzaCA9IHg7CisgICAgX1B5VW5pY29kZV9IQVNIKHNlbGYpID0geDsKICAgICByZXR1cm4geDsKIH0KKyN1bmRlZiBIQVNICiAKIFB5RG9jX1NUUlZBUihpbmRleF9fZG9jX18sCiAgICAgICAgICAgICAgIlMuaW5kZXgoc3ViWywgc3RhcnRbLCBlbmRdXSkgLT4gaW50XG5cCkBAIC03NzA0LDEwICsxMTM4MCwxMCBAQAogTGlrZSBTLmZpbmQoKSBidXQgcmFpc2UgVmFsdWVFcnJvciB3aGVuIHRoZSBzdWJzdHJpbmcgaXMgbm90IGZvdW5kLiIpOwogCiBzdGF0aWMgUHlPYmplY3QgKgotdW5pY29kZV9pbmRleChQeVVuaWNvZGVPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQordW5pY29kZV9pbmRleChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCiB7CiAgICAgUHlfc3NpemVfdCByZXN1bHQ7Ci0gICAgUHlVbmljb2RlT2JqZWN0ICpzdWJzdHJpbmc7CisgICAgUHlPYmplY3QgKnN1YnN0cmluZzsKICAgICBQeV9zc2l6ZV90IHN0YXJ0OwogICAgIFB5X3NzaXplX3QgZW5kOwogCkBAIC03NzE1LDE0ICsxMTM5MSwxOCBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmc3RhcnQsICZlbmQpKQogICAgICAgICByZXR1cm4gTlVMTDsKIAotICAgIHJlc3VsdCA9IHN0cmluZ2xpYl9maW5kX3NsaWNlKAotICAgICAgICBQeVVuaWNvZGVfQVNfVU5JQ09ERShzZWxmKSwgUHlVbmljb2RlX0dFVF9TSVpFKHNlbGYpLAotICAgICAgICBQeVVuaWNvZGVfQVNfVU5JQ09ERShzdWJzdHJpbmcpLCBQeVVuaWNvZGVfR0VUX1NJWkUoc3Vic3RyaW5nKSwKLSAgICAgICAgc3RhcnQsIGVuZAotICAgICAgICApOworICAgIGlmIChQeVVuaWNvZGVfUkVBRFkoc2VsZikgPT0gLTEpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIGlmIChQeVVuaWNvZGVfUkVBRFkoc3Vic3RyaW5nKSA9PSAtMSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICByZXN1bHQgPSBhbnlfZmluZF9zbGljZSgxLCBzZWxmLCBzdWJzdHJpbmcsIHN0YXJ0LCBlbmQpOwogCiAgICAgUHlfREVDUkVGKHN1YnN0cmluZyk7CiAKKyAgICBpZiAocmVzdWx0ID09IC0yKQorICAgICAgICByZXR1cm4gTlVMTDsKKwogICAgIGlmIChyZXN1bHQgPCAwKSB7CiAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLCAic3Vic3RyaW5nIG5vdCBmb3VuZCIpOwogICAgICAgICByZXR1cm4gTlVMTDsKQEAgLTc3MzgsMjQgKzExNDE4LDMxIEBACiBhdCBsZWFzdCBvbmUgY2FzZWQgY2hhcmFjdGVyIGluIFMsIEZhbHNlIG90aGVyd2lzZS4iKTsKIAogc3RhdGljIFB5T2JqZWN0KgotdW5pY29kZV9pc2xvd2VyKFB5VW5pY29kZU9iamVjdCAqc2VsZikKK3VuaWNvZGVfaXNsb3dlcihQeU9iamVjdCAqc2VsZikKIHsKLSAgICByZWdpc3RlciBjb25zdCBQeV9VTklDT0RFICpwID0gUHlVbmljb2RlX0FTX1VOSUNPREUoc2VsZik7Ci0gICAgcmVnaXN0ZXIgY29uc3QgUHlfVU5JQ09ERSAqZTsKKyAgICBQeV9zc2l6ZV90IGksIGxlbmd0aDsKKyAgICBpbnQga2luZDsKKyAgICB2b2lkICpkYXRhOwogICAgIGludCBjYXNlZDsKIAorICAgIGlmIChQeVVuaWNvZGVfUkVBRFkoc2VsZikgPT0gLTEpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIGxlbmd0aCA9IFB5VW5pY29kZV9HRVRfTEVOR1RIKHNlbGYpOworICAgIGtpbmQgPSBQeVVuaWNvZGVfS0lORChzZWxmKTsKKyAgICBkYXRhID0gUHlVbmljb2RlX0RBVEEoc2VsZik7CisKICAgICAvKiBTaG9ydGN1dCBmb3Igc2luZ2xlIGNoYXJhY3RlciBzdHJpbmdzICovCi0gICAgaWYgKFB5VW5pY29kZV9HRVRfU0laRShzZWxmKSA9PSAxKQotICAgICAgICByZXR1cm4gUHlCb29sX0Zyb21Mb25nKFB5X1VOSUNPREVfSVNMT1dFUigqcCkpOworICAgIGlmIChsZW5ndGggPT0gMSkKKyAgICAgICAgcmV0dXJuIFB5Qm9vbF9Gcm9tTG9uZygKKyAgICAgICAgICAgIFB5X1VOSUNPREVfSVNMT1dFUihQeVVuaWNvZGVfUkVBRChraW5kLCBkYXRhLCAwKSkpOwogCiAgICAgLyogU3BlY2lhbCBjYXNlIGZvciBlbXB0eSBzdHJpbmdzICovCi0gICAgaWYgKFB5VW5pY29kZV9HRVRfU0laRShzZWxmKSA9PSAwKQorICAgIGlmIChsZW5ndGggPT0gMCkKICAgICAgICAgcmV0dXJuIFB5Qm9vbF9Gcm9tTG9uZygwKTsKIAotICAgIGUgPSBwICsgUHlVbmljb2RlX0dFVF9TSVpFKHNlbGYpOwogICAgIGNhc2VkID0gMDsKLSAgICB3aGlsZSAocCA8IGUpIHsKLSAgICAgICAgY29uc3QgUHlfVUNTNCBjaCA9IF9QeV9VTklDT0RFX05FWFQocCwgZSk7CisgICAgZm9yIChpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7CisgICAgICAgIGNvbnN0IFB5X1VDUzQgY2ggPSBQeVVuaWNvZGVfUkVBRChraW5kLCBkYXRhLCBpKTsKIAogICAgICAgICBpZiAoUHlfVU5JQ09ERV9JU1VQUEVSKGNoKSB8fCBQeV9VTklDT0RFX0lTVElUTEUoY2gpKQogICAgICAgICAgICAgcmV0dXJuIFB5Qm9vbF9Gcm9tTG9uZygwKTsKQEAgLTc3NzIsMjQgKzExNDU5LDMxIEBACiBhdCBsZWFzdCBvbmUgY2FzZWQgY2hhcmFjdGVyIGluIFMsIEZhbHNlIG90aGVyd2lzZS4iKTsKIAogc3RhdGljIFB5T2JqZWN0KgotdW5pY29kZV9pc3VwcGVyKFB5VW5pY29kZU9iamVjdCAqc2VsZikKK3VuaWNvZGVfaXN1cHBlcihQeU9iamVjdCAqc2VsZikKIHsKLSAgICByZWdpc3RlciBjb25zdCBQeV9VTklDT0RFICpwID0gUHlVbmljb2RlX0FTX1VOSUNPREUoc2VsZik7Ci0gICAgcmVnaXN0ZXIgY29uc3QgUHlfVU5JQ09ERSAqZTsKKyAgICBQeV9zc2l6ZV90IGksIGxlbmd0aDsKKyAgICBpbnQga2luZDsKKyAgICB2b2lkICpkYXRhOwogICAgIGludCBjYXNlZDsKIAorICAgIGlmIChQeVVuaWNvZGVfUkVBRFkoc2VsZikgPT0gLTEpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIGxlbmd0aCA9IFB5VW5pY29kZV9HRVRfTEVOR1RIKHNlbGYpOworICAgIGtpbmQgPSBQeVVuaWNvZGVfS0lORChzZWxmKTsKKyAgICBkYXRhID0gUHlVbmljb2RlX0RBVEEoc2VsZik7CisKICAgICAvKiBTaG9ydGN1dCBmb3Igc2luZ2xlIGNoYXJhY3RlciBzdHJpbmdzICovCi0gICAgaWYgKFB5VW5pY29kZV9HRVRfU0laRShzZWxmKSA9PSAxKQotICAgICAgICByZXR1cm4gUHlCb29sX0Zyb21Mb25nKFB5X1VOSUNPREVfSVNVUFBFUigqcCkgIT0gMCk7CisgICAgaWYgKGxlbmd0aCA9PSAxKQorICAgICAgICByZXR1cm4gUHlCb29sX0Zyb21Mb25nKAorICAgICAgICAgICAgUHlfVU5JQ09ERV9JU1VQUEVSKFB5VW5pY29kZV9SRUFEKGtpbmQsIGRhdGEsIDApKSAhPSAwKTsKIAogICAgIC8qIFNwZWNpYWwgY2FzZSBmb3IgZW1wdHkgc3RyaW5ncyAqLwotICAgIGlmIChQeVVuaWNvZGVfR0VUX1NJWkUoc2VsZikgPT0gMCkKKyAgICBpZiAobGVuZ3RoID09IDApCiAgICAgICAgIHJldHVybiBQeUJvb2xfRnJvbUxvbmcoMCk7CiAKLSAgICBlID0gcCArIFB5VW5pY29kZV9HRVRfU0laRShzZWxmKTsKICAgICBjYXNlZCA9IDA7Ci0gICAgd2hpbGUgKHAgPCBlKSB7Ci0gICAgICAgIGNvbnN0IFB5X1VDUzQgY2ggPSBfUHlfVU5JQ09ERV9ORVhUKHAsIGUpOworICAgIGZvciAoaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykgeworICAgICAgICBjb25zdCBQeV9VQ1M0IGNoID0gUHlVbmljb2RlX1JFQUQoa2luZCwgZGF0YSwgaSk7CiAKICAgICAgICAgaWYgKFB5X1VOSUNPREVfSVNMT1dFUihjaCkgfHwgUHlfVU5JQ09ERV9JU1RJVExFKGNoKSkKICAgICAgICAgICAgIHJldHVybiBQeUJvb2xfRnJvbUxvbmcoMCk7CkBAIC03ODA4LDI2ICsxMTUwMiwzNCBAQAogUmV0dXJuIEZhbHNlIG90aGVyd2lzZS4iKTsKIAogc3RhdGljIFB5T2JqZWN0KgotdW5pY29kZV9pc3RpdGxlKFB5VW5pY29kZU9iamVjdCAqc2VsZikKK3VuaWNvZGVfaXN0aXRsZShQeU9iamVjdCAqc2VsZikKIHsKLSAgICByZWdpc3RlciBjb25zdCBQeV9VTklDT0RFICpwID0gUHlVbmljb2RlX0FTX1VOSUNPREUoc2VsZik7Ci0gICAgcmVnaXN0ZXIgY29uc3QgUHlfVU5JQ09ERSAqZTsKKyAgICBQeV9zc2l6ZV90IGksIGxlbmd0aDsKKyAgICBpbnQga2luZDsKKyAgICB2b2lkICpkYXRhOwogICAgIGludCBjYXNlZCwgcHJldmlvdXNfaXNfY2FzZWQ7CiAKKyAgICBpZiAoUHlVbmljb2RlX1JFQURZKHNlbGYpID09IC0xKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBsZW5ndGggPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChzZWxmKTsKKyAgICBraW5kID0gUHlVbmljb2RlX0tJTkQoc2VsZik7CisgICAgZGF0YSA9IFB5VW5pY29kZV9EQVRBKHNlbGYpOworCiAgICAgLyogU2hvcnRjdXQgZm9yIHNpbmdsZSBjaGFyYWN0ZXIgc3RyaW5ncyAqLwotICAgIGlmIChQeVVuaWNvZGVfR0VUX1NJWkUoc2VsZikgPT0gMSkKLSAgICAgICAgcmV0dXJuIFB5Qm9vbF9Gcm9tTG9uZygoUHlfVU5JQ09ERV9JU1RJVExFKCpwKSAhPSAwKSB8fAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChQeV9VTklDT0RFX0lTVVBQRVIoKnApICE9IDApKTsKKyAgICBpZiAobGVuZ3RoID09IDEpIHsKKyAgICAgICAgUHlfVUNTNCBjaCA9IFB5VW5pY29kZV9SRUFEKGtpbmQsIGRhdGEsIDApOworICAgICAgICByZXR1cm4gUHlCb29sX0Zyb21Mb25nKChQeV9VTklDT0RFX0lTVElUTEUoY2gpICE9IDApIHx8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFB5X1VOSUNPREVfSVNVUFBFUihjaCkgIT0gMCkpOworICAgIH0KIAogICAgIC8qIFNwZWNpYWwgY2FzZSBmb3IgZW1wdHkgc3RyaW5ncyAqLwotICAgIGlmIChQeVVuaWNvZGVfR0VUX1NJWkUoc2VsZikgPT0gMCkKKyAgICBpZiAobGVuZ3RoID09IDApCiAgICAgICAgIHJldHVybiBQeUJvb2xfRnJvbUxvbmcoMCk7CiAKLSAgICBlID0gcCArIFB5VW5pY29kZV9HRVRfU0laRShzZWxmKTsKICAgICBjYXNlZCA9IDA7CiAgICAgcHJldmlvdXNfaXNfY2FzZWQgPSAwOwotICAgIHdoaWxlIChwIDwgZSkgewotICAgICAgICBjb25zdCBQeV9VQ1M0IGNoID0gX1B5X1VOSUNPREVfTkVYVChwLCBlKTsKKyAgICBmb3IgKGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHsKKyAgICAgICAgY29uc3QgUHlfVUNTNCBjaCA9IFB5VW5pY29kZV9SRUFEKGtpbmQsIGRhdGEsIGkpOwogCiAgICAgICAgIGlmIChQeV9VTklDT0RFX0lTVVBQRVIoY2gpIHx8IFB5X1VOSUNPREVfSVNUSVRMRShjaCkpIHsKICAgICAgICAgICAgIGlmIChwcmV2aW91c19pc19jYXNlZCkKQEAgLTc4NTQsMjMgKzExNTU2LDI5IEBACiBhbmQgdGhlcmUgaXMgYXQgbGVhc3Qgb25lIGNoYXJhY3RlciBpbiBTLCBGYWxzZSBvdGhlcndpc2UuIik7CiAKIHN0YXRpYyBQeU9iamVjdCoKLXVuaWNvZGVfaXNzcGFjZShQeVVuaWNvZGVPYmplY3QgKnNlbGYpCit1bmljb2RlX2lzc3BhY2UoUHlPYmplY3QgKnNlbGYpCiB7Ci0gICAgcmVnaXN0ZXIgY29uc3QgUHlfVU5JQ09ERSAqcCA9IFB5VW5pY29kZV9BU19VTklDT0RFKHNlbGYpOwotICAgIHJlZ2lzdGVyIGNvbnN0IFB5X1VOSUNPREUgKmU7CisgICAgUHlfc3NpemVfdCBpLCBsZW5ndGg7CisgICAgaW50IGtpbmQ7CisgICAgdm9pZCAqZGF0YTsKKworICAgIGlmIChQeVVuaWNvZGVfUkVBRFkoc2VsZikgPT0gLTEpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIGxlbmd0aCA9IFB5VW5pY29kZV9HRVRfTEVOR1RIKHNlbGYpOworICAgIGtpbmQgPSBQeVVuaWNvZGVfS0lORChzZWxmKTsKKyAgICBkYXRhID0gUHlVbmljb2RlX0RBVEEoc2VsZik7CiAKICAgICAvKiBTaG9ydGN1dCBmb3Igc2luZ2xlIGNoYXJhY3RlciBzdHJpbmdzICovCi0gICAgaWYgKFB5VW5pY29kZV9HRVRfU0laRShzZWxmKSA9PSAxICYmCi0gICAgICAgIFB5X1VOSUNPREVfSVNTUEFDRSgqcCkpCi0gICAgICAgIHJldHVybiBQeUJvb2xfRnJvbUxvbmcoMSk7CisgICAgaWYgKGxlbmd0aCA9PSAxKQorICAgICAgICByZXR1cm4gUHlCb29sX0Zyb21Mb25nKAorICAgICAgICAgICAgUHlfVU5JQ09ERV9JU1NQQUNFKFB5VW5pY29kZV9SRUFEKGtpbmQsIGRhdGEsIDApKSk7CiAKICAgICAvKiBTcGVjaWFsIGNhc2UgZm9yIGVtcHR5IHN0cmluZ3MgKi8KLSAgICBpZiAoUHlVbmljb2RlX0dFVF9TSVpFKHNlbGYpID09IDApCisgICAgaWYgKGxlbmd0aCA9PSAwKQogICAgICAgICByZXR1cm4gUHlCb29sX0Zyb21Mb25nKDApOwogCi0gICAgZSA9IHAgKyBQeVVuaWNvZGVfR0VUX1NJWkUoc2VsZik7Ci0gICAgd2hpbGUgKHAgPCBlKSB7Ci0gICAgICAgIGNvbnN0IFB5X1VDUzQgY2ggPSBfUHlfVU5JQ09ERV9ORVhUKHAsIGUpOworICAgIGZvciAoaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykgeworICAgICAgICBjb25zdCBQeV9VQ1M0IGNoID0gUHlVbmljb2RlX1JFQUQoa2luZCwgZGF0YSwgaSk7CiAgICAgICAgIGlmICghUHlfVU5JQ09ERV9JU1NQQUNFKGNoKSkKICAgICAgICAgICAgIHJldHVybiBQeUJvb2xfRnJvbUxvbmcoMCk7CiAgICAgfQpAQCAtNzg4NCwyMyArMTE1OTIsMjkgQEAKIGFuZCB0aGVyZSBpcyBhdCBsZWFzdCBvbmUgY2hhcmFjdGVyIGluIFMsIEZhbHNlIG90aGVyd2lzZS4iKTsKIAogc3RhdGljIFB5T2JqZWN0KgotdW5pY29kZV9pc2FscGhhKFB5VW5pY29kZU9iamVjdCAqc2VsZikKK3VuaWNvZGVfaXNhbHBoYShQeU9iamVjdCAqc2VsZikKIHsKLSAgICByZWdpc3RlciBjb25zdCBQeV9VTklDT0RFICpwID0gUHlVbmljb2RlX0FTX1VOSUNPREUoc2VsZik7Ci0gICAgcmVnaXN0ZXIgY29uc3QgUHlfVU5JQ09ERSAqZTsKKyAgICBQeV9zc2l6ZV90IGksIGxlbmd0aDsKKyAgICBpbnQga2luZDsKKyAgICB2b2lkICpkYXRhOworCisgICAgaWYgKFB5VW5pY29kZV9SRUFEWShzZWxmKSA9PSAtMSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgbGVuZ3RoID0gUHlVbmljb2RlX0dFVF9MRU5HVEgoc2VsZik7CisgICAga2luZCA9IFB5VW5pY29kZV9LSU5EKHNlbGYpOworICAgIGRhdGEgPSBQeVVuaWNvZGVfREFUQShzZWxmKTsKIAogICAgIC8qIFNob3J0Y3V0IGZvciBzaW5nbGUgY2hhcmFjdGVyIHN0cmluZ3MgKi8KLSAgICBpZiAoUHlVbmljb2RlX0dFVF9TSVpFKHNlbGYpID09IDEgJiYKLSAgICAgICAgUHlfVU5JQ09ERV9JU0FMUEhBKCpwKSkKLSAgICAgICAgcmV0dXJuIFB5Qm9vbF9Gcm9tTG9uZygxKTsKKyAgICBpZiAobGVuZ3RoID09IDEpCisgICAgICAgIHJldHVybiBQeUJvb2xfRnJvbUxvbmcoCisgICAgICAgICAgICBQeV9VTklDT0RFX0lTQUxQSEEoUHlVbmljb2RlX1JFQUQoa2luZCwgZGF0YSwgMCkpKTsKIAogICAgIC8qIFNwZWNpYWwgY2FzZSBmb3IgZW1wdHkgc3RyaW5ncyAqLwotICAgIGlmIChQeVVuaWNvZGVfR0VUX1NJWkUoc2VsZikgPT0gMCkKKyAgICBpZiAobGVuZ3RoID09IDApCiAgICAgICAgIHJldHVybiBQeUJvb2xfRnJvbUxvbmcoMCk7CiAKLSAgICBlID0gcCArIFB5VW5pY29kZV9HRVRfU0laRShzZWxmKTsKLSAgICB3aGlsZSAocCA8IGUpIHsKLSAgICAgICAgaWYgKCFQeV9VTklDT0RFX0lTQUxQSEEoX1B5X1VOSUNPREVfTkVYVChwLCBlKSkpCisgICAgZm9yIChpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7CisgICAgICAgIGlmICghUHlfVU5JQ09ERV9JU0FMUEhBKFB5VW5pY29kZV9SRUFEKGtpbmQsIGRhdGEsIGkpKSkKICAgICAgICAgICAgIHJldHVybiBQeUJvb2xfRnJvbUxvbmcoMCk7CiAgICAgfQogICAgIHJldHVybiBQeUJvb2xfRnJvbUxvbmcoMSk7CkBAIC03OTEzLDIzICsxMTYyNywzMSBAQAogYW5kIHRoZXJlIGlzIGF0IGxlYXN0IG9uZSBjaGFyYWN0ZXIgaW4gUywgRmFsc2Ugb3RoZXJ3aXNlLiIpOwogCiBzdGF0aWMgUHlPYmplY3QqCi11bmljb2RlX2lzYWxudW0oUHlVbmljb2RlT2JqZWN0ICpzZWxmKQordW5pY29kZV9pc2FsbnVtKFB5T2JqZWN0ICpzZWxmKQogewotICAgIHJlZ2lzdGVyIGNvbnN0IFB5X1VOSUNPREUgKnAgPSBQeVVuaWNvZGVfQVNfVU5JQ09ERShzZWxmKTsKLSAgICByZWdpc3RlciBjb25zdCBQeV9VTklDT0RFICplOworICAgIGludCBraW5kOworICAgIHZvaWQgKmRhdGE7CisgICAgUHlfc3NpemVfdCBsZW4sIGk7CisKKyAgICBpZiAoUHlVbmljb2RlX1JFQURZKHNlbGYpID09IC0xKQorICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIGtpbmQgPSBQeVVuaWNvZGVfS0lORChzZWxmKTsKKyAgICBkYXRhID0gUHlVbmljb2RlX0RBVEEoc2VsZik7CisgICAgbGVuID0gUHlVbmljb2RlX0dFVF9MRU5HVEgoc2VsZik7CiAKICAgICAvKiBTaG9ydGN1dCBmb3Igc2luZ2xlIGNoYXJhY3RlciBzdHJpbmdzICovCi0gICAgaWYgKFB5VW5pY29kZV9HRVRfU0laRShzZWxmKSA9PSAxICYmCi0gICAgICAgIFB5X1VOSUNPREVfSVNBTE5VTSgqcCkpCi0gICAgICAgIHJldHVybiBQeUJvb2xfRnJvbUxvbmcoMSk7CisgICAgaWYgKGxlbiA9PSAxKSB7CisgICAgICAgIGNvbnN0IFB5X1VDUzQgY2ggPSBQeVVuaWNvZGVfUkVBRChraW5kLCBkYXRhLCAwKTsKKyAgICAgICAgcmV0dXJuIFB5Qm9vbF9Gcm9tTG9uZyhQeV9VTklDT0RFX0lTQUxOVU0oY2gpKTsKKyAgICB9CiAKICAgICAvKiBTcGVjaWFsIGNhc2UgZm9yIGVtcHR5IHN0cmluZ3MgKi8KLSAgICBpZiAoUHlVbmljb2RlX0dFVF9TSVpFKHNlbGYpID09IDApCisgICAgaWYgKGxlbiA9PSAwKQogICAgICAgICByZXR1cm4gUHlCb29sX0Zyb21Mb25nKDApOwogCi0gICAgZSA9IHAgKyBQeVVuaWNvZGVfR0VUX1NJWkUoc2VsZik7Ci0gICAgd2hpbGUgKHAgPCBlKSB7Ci0gICAgICAgIGNvbnN0IFB5X1VDUzQgY2ggPSBfUHlfVU5JQ09ERV9ORVhUKHAsIGUpOworICAgIGZvciAoaSA9IDA7IGkgPCBsZW47IGkrKykgeworICAgICAgICBjb25zdCBQeV9VQ1M0IGNoID0gUHlVbmljb2RlX1JFQUQoa2luZCwgZGF0YSwgaSk7CiAgICAgICAgIGlmICghUHlfVU5JQ09ERV9JU0FMTlVNKGNoKSkKICAgICAgICAgICAgIHJldHVybiBQeUJvb2xfRnJvbUxvbmcoMCk7CiAgICAgfQpAQCAtNzk0MywyMyArMTE2NjUsMjkgQEAKIEZhbHNlIG90aGVyd2lzZS4iKTsKIAogc3RhdGljIFB5T2JqZWN0KgotdW5pY29kZV9pc2RlY2ltYWwoUHlVbmljb2RlT2JqZWN0ICpzZWxmKQordW5pY29kZV9pc2RlY2ltYWwoUHlPYmplY3QgKnNlbGYpCiB7Ci0gICAgcmVnaXN0ZXIgY29uc3QgUHlfVU5JQ09ERSAqcCA9IFB5VW5pY29kZV9BU19VTklDT0RFKHNlbGYpOwotICAgIHJlZ2lzdGVyIGNvbnN0IFB5X1VOSUNPREUgKmU7CisgICAgUHlfc3NpemVfdCBpLCBsZW5ndGg7CisgICAgaW50IGtpbmQ7CisgICAgdm9pZCAqZGF0YTsKKworICAgIGlmIChQeVVuaWNvZGVfUkVBRFkoc2VsZikgPT0gLTEpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIGxlbmd0aCA9IFB5VW5pY29kZV9HRVRfTEVOR1RIKHNlbGYpOworICAgIGtpbmQgPSBQeVVuaWNvZGVfS0lORChzZWxmKTsKKyAgICBkYXRhID0gUHlVbmljb2RlX0RBVEEoc2VsZik7CiAKICAgICAvKiBTaG9ydGN1dCBmb3Igc2luZ2xlIGNoYXJhY3RlciBzdHJpbmdzICovCi0gICAgaWYgKFB5VW5pY29kZV9HRVRfU0laRShzZWxmKSA9PSAxICYmCi0gICAgICAgIFB5X1VOSUNPREVfSVNERUNJTUFMKCpwKSkKLSAgICAgICAgcmV0dXJuIFB5Qm9vbF9Gcm9tTG9uZygxKTsKKyAgICBpZiAobGVuZ3RoID09IDEpCisgICAgICAgIHJldHVybiBQeUJvb2xfRnJvbUxvbmcoCisgICAgICAgICAgICBQeV9VTklDT0RFX0lTREVDSU1BTChQeVVuaWNvZGVfUkVBRChraW5kLCBkYXRhLCAwKSkpOwogCiAgICAgLyogU3BlY2lhbCBjYXNlIGZvciBlbXB0eSBzdHJpbmdzICovCi0gICAgaWYgKFB5VW5pY29kZV9HRVRfU0laRShzZWxmKSA9PSAwKQorICAgIGlmIChsZW5ndGggPT0gMCkKICAgICAgICAgcmV0dXJuIFB5Qm9vbF9Gcm9tTG9uZygwKTsKIAotICAgIGUgPSBwICsgUHlVbmljb2RlX0dFVF9TSVpFKHNlbGYpOwotICAgIHdoaWxlIChwIDwgZSkgewotICAgICAgICBpZiAoIVB5X1VOSUNPREVfSVNERUNJTUFMKF9QeV9VTklDT0RFX05FWFQocCwgZSkpKQorICAgIGZvciAoaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykgeworICAgICAgICBpZiAoIVB5X1VOSUNPREVfSVNERUNJTUFMKFB5VW5pY29kZV9SRUFEKGtpbmQsIGRhdGEsIGkpKSkKICAgICAgICAgICAgIHJldHVybiBQeUJvb2xfRnJvbUxvbmcoMCk7CiAgICAgfQogICAgIHJldHVybiBQeUJvb2xfRnJvbUxvbmcoMSk7CkBAIC03OTcyLDIzICsxMTcwMCwzMCBAQAogYW5kIHRoZXJlIGlzIGF0IGxlYXN0IG9uZSBjaGFyYWN0ZXIgaW4gUywgRmFsc2Ugb3RoZXJ3aXNlLiIpOwogCiBzdGF0aWMgUHlPYmplY3QqCi11bmljb2RlX2lzZGlnaXQoUHlVbmljb2RlT2JqZWN0ICpzZWxmKQordW5pY29kZV9pc2RpZ2l0KFB5T2JqZWN0ICpzZWxmKQogewotICAgIHJlZ2lzdGVyIGNvbnN0IFB5X1VOSUNPREUgKnAgPSBQeVVuaWNvZGVfQVNfVU5JQ09ERShzZWxmKTsKLSAgICByZWdpc3RlciBjb25zdCBQeV9VTklDT0RFICplOworICAgIFB5X3NzaXplX3QgaSwgbGVuZ3RoOworICAgIGludCBraW5kOworICAgIHZvaWQgKmRhdGE7CisKKyAgICBpZiAoUHlVbmljb2RlX1JFQURZKHNlbGYpID09IC0xKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBsZW5ndGggPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChzZWxmKTsKKyAgICBraW5kID0gUHlVbmljb2RlX0tJTkQoc2VsZik7CisgICAgZGF0YSA9IFB5VW5pY29kZV9EQVRBKHNlbGYpOwogCiAgICAgLyogU2hvcnRjdXQgZm9yIHNpbmdsZSBjaGFyYWN0ZXIgc3RyaW5ncyAqLwotICAgIGlmIChQeVVuaWNvZGVfR0VUX1NJWkUoc2VsZikgPT0gMSAmJgotICAgICAgICBQeV9VTklDT0RFX0lTRElHSVQoKnApKQotICAgICAgICByZXR1cm4gUHlCb29sX0Zyb21Mb25nKDEpOworICAgIGlmIChsZW5ndGggPT0gMSkgeworICAgICAgICBjb25zdCBQeV9VQ1M0IGNoID0gUHlVbmljb2RlX1JFQUQoa2luZCwgZGF0YSwgMCk7CisgICAgICAgIHJldHVybiBQeUJvb2xfRnJvbUxvbmcoUHlfVU5JQ09ERV9JU0RJR0lUKGNoKSk7CisgICAgfQogCiAgICAgLyogU3BlY2lhbCBjYXNlIGZvciBlbXB0eSBzdHJpbmdzICovCi0gICAgaWYgKFB5VW5pY29kZV9HRVRfU0laRShzZWxmKSA9PSAwKQorICAgIGlmIChsZW5ndGggPT0gMCkKICAgICAgICAgcmV0dXJuIFB5Qm9vbF9Gcm9tTG9uZygwKTsKIAotICAgIGUgPSBwICsgUHlVbmljb2RlX0dFVF9TSVpFKHNlbGYpOwotICAgIHdoaWxlIChwIDwgZSkgewotICAgICAgICBpZiAoIVB5X1VOSUNPREVfSVNESUdJVChfUHlfVU5JQ09ERV9ORVhUKHAsIGUpKSkKKyAgICBmb3IgKGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHsKKyAgICAgICAgaWYgKCFQeV9VTklDT0RFX0lTRElHSVQoUHlVbmljb2RlX1JFQUQoa2luZCwgZGF0YSwgaSkpKQogICAgICAgICAgICAgcmV0dXJuIFB5Qm9vbF9Gcm9tTG9uZygwKTsKICAgICB9CiAgICAgcmV0dXJuIFB5Qm9vbF9Gcm9tTG9uZygxKTsKQEAgLTgwMDEsMjMgKzExNzM2LDI5IEBACiBGYWxzZSBvdGhlcndpc2UuIik7CiAKIHN0YXRpYyBQeU9iamVjdCoKLXVuaWNvZGVfaXNudW1lcmljKFB5VW5pY29kZU9iamVjdCAqc2VsZikKK3VuaWNvZGVfaXNudW1lcmljKFB5T2JqZWN0ICpzZWxmKQogewotICAgIHJlZ2lzdGVyIGNvbnN0IFB5X1VOSUNPREUgKnAgPSBQeVVuaWNvZGVfQVNfVU5JQ09ERShzZWxmKTsKLSAgICByZWdpc3RlciBjb25zdCBQeV9VTklDT0RFICplOworICAgIFB5X3NzaXplX3QgaSwgbGVuZ3RoOworICAgIGludCBraW5kOworICAgIHZvaWQgKmRhdGE7CisKKyAgICBpZiAoUHlVbmljb2RlX1JFQURZKHNlbGYpID09IC0xKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBsZW5ndGggPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChzZWxmKTsKKyAgICBraW5kID0gUHlVbmljb2RlX0tJTkQoc2VsZik7CisgICAgZGF0YSA9IFB5VW5pY29kZV9EQVRBKHNlbGYpOwogCiAgICAgLyogU2hvcnRjdXQgZm9yIHNpbmdsZSBjaGFyYWN0ZXIgc3RyaW5ncyAqLwotICAgIGlmIChQeVVuaWNvZGVfR0VUX1NJWkUoc2VsZikgPT0gMSAmJgotICAgICAgICBQeV9VTklDT0RFX0lTTlVNRVJJQygqcCkpCi0gICAgICAgIHJldHVybiBQeUJvb2xfRnJvbUxvbmcoMSk7CisgICAgaWYgKGxlbmd0aCA9PSAxKQorICAgICAgICByZXR1cm4gUHlCb29sX0Zyb21Mb25nKAorICAgICAgICAgICAgUHlfVU5JQ09ERV9JU05VTUVSSUMoUHlVbmljb2RlX1JFQUQoa2luZCwgZGF0YSwgMCkpKTsKIAogICAgIC8qIFNwZWNpYWwgY2FzZSBmb3IgZW1wdHkgc3RyaW5ncyAqLwotICAgIGlmIChQeVVuaWNvZGVfR0VUX1NJWkUoc2VsZikgPT0gMCkKKyAgICBpZiAobGVuZ3RoID09IDApCiAgICAgICAgIHJldHVybiBQeUJvb2xfRnJvbUxvbmcoMCk7CiAKLSAgICBlID0gcCArIFB5VW5pY29kZV9HRVRfU0laRShzZWxmKTsKLSAgICB3aGlsZSAocCA8IGUpIHsKLSAgICAgICAgaWYgKCFQeV9VTklDT0RFX0lTTlVNRVJJQyhfUHlfVU5JQ09ERV9ORVhUKHAsIGUpKSkKKyAgICBmb3IgKGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHsKKyAgICAgICAgaWYgKCFQeV9VTklDT0RFX0lTTlVNRVJJQyhQeVVuaWNvZGVfUkVBRChraW5kLCBkYXRhLCBpKSkpCiAgICAgICAgICAgICByZXR1cm4gUHlCb29sX0Zyb21Mb25nKDApOwogICAgIH0KICAgICByZXR1cm4gUHlCb29sX0Zyb21Mb25nKDEpOwpAQCAtODAyNiwxMyArMTE3NjcsMjEgQEAKIGludAogUHlVbmljb2RlX0lzSWRlbnRpZmllcihQeU9iamVjdCAqc2VsZikKIHsKLSAgICBjb25zdCBQeV9VTklDT0RFICpwID0gUHlVbmljb2RlX0FTX1VOSUNPREUoKFB5VW5pY29kZU9iamVjdCopc2VsZik7Ci0gICAgY29uc3QgUHlfVU5JQ09ERSAqZTsKKyAgICBpbnQga2luZDsKKyAgICB2b2lkICpkYXRhOworICAgIFB5X3NzaXplX3QgaTsKICAgICBQeV9VQ1M0IGZpcnN0OwogCi0gICAgLyogU3BlY2lhbCBjYXNlIGZvciBlbXB0eSBzdHJpbmdzICovCi0gICAgaWYgKFB5VW5pY29kZV9HRVRfU0laRShzZWxmKSA9PSAwKQorICAgIGlmIChQeVVuaWNvZGVfUkVBRFkoc2VsZikgPT0gLTEpIHsKKyAgICAgICAgUHlfRmF0YWxFcnJvcigiaWRlbnRpZmllciBub3QgcmVhZHkiKTsKICAgICAgICAgcmV0dXJuIDA7CisgICAgfQorCisgICAgLyogU3BlY2lhbCBjYXNlIGZvciBlbXB0eSBzdHJpbmdzICovCisgICAgaWYgKFB5VW5pY29kZV9HRVRfTEVOR1RIKHNlbGYpID09IDApCisgICAgICAgIHJldHVybiAwOworICAgIGtpbmQgPSBQeVVuaWNvZGVfS0lORChzZWxmKTsKKyAgICBkYXRhID0gUHlVbmljb2RlX0RBVEEoc2VsZik7CiAKICAgICAvKiBQRVAgMzEzMSBzYXlzIHRoYXQgdGhlIGZpcnN0IGNoYXJhY3RlciBtdXN0IGJlIGluCiAgICAgICAgWElEX1N0YXJ0IGFuZCBzdWJzZXF1ZW50IGNoYXJhY3RlcnMgaW4gWElEX0NvbnRpbnVlLApAQCAtODA0MiwxMyArMTE3OTEsMTIgQEAKICAgICAgICBkZWZpbml0aW9uIG9mIFhJRF9TdGFydCBhbmQgWElEX0NvbnRpbnVlLCBpdCBpcyBzdWZmaWNpZW50CiAgICAgICAgdG8gY2hlY2sganVzdCBmb3IgdGhlc2UsIGV4Y2VwdCB0aGF0IF8gbXVzdCBiZSBhbGxvd2VkCiAgICAgICAgYXMgc3RhcnRpbmcgYW4gaWRlbnRpZmllci4gICovCi0gICAgZSA9IHAgKyBQeVVuaWNvZGVfR0VUX1NJWkUoc2VsZik7Ci0gICAgZmlyc3QgPSBfUHlfVU5JQ09ERV9ORVhUKHAsIGUpOworICAgIGZpcnN0ID0gUHlVbmljb2RlX1JFQUQoa2luZCwgZGF0YSwgMCk7CiAgICAgaWYgKCFfUHlVbmljb2RlX0lzWGlkU3RhcnQoZmlyc3QpICYmIGZpcnN0ICE9IDB4NUYgLyogTE9XIExJTkUgKi8pCiAgICAgICAgIHJldHVybiAwOwogCi0gICAgd2hpbGUgKHAgPCBlKQotICAgICAgICBpZiAoIV9QeVVuaWNvZGVfSXNYaWRDb250aW51ZShfUHlfVU5JQ09ERV9ORVhUKHAsIGUpKSkKKyAgICBmb3IgKGkgPSAxOyBpIDwgUHlVbmljb2RlX0dFVF9MRU5HVEgoc2VsZik7IGkrKykKKyAgICAgICAgaWYgKCFfUHlVbmljb2RlX0lzWGlkQ29udGludWUoUHlVbmljb2RlX1JFQUQoa2luZCwgZGF0YSwgaSkpKQogICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgcmV0dXJuIDE7CiB9CkBAIC04MDc0LDE3ICsxMTgyMiwyMyBAQAogc3RhdGljIFB5T2JqZWN0KgogdW5pY29kZV9pc3ByaW50YWJsZShQeU9iamVjdCAqc2VsZikKIHsKLSAgICByZWdpc3RlciBjb25zdCBQeV9VTklDT0RFICpwID0gUHlVbmljb2RlX0FTX1VOSUNPREUoc2VsZik7Ci0gICAgcmVnaXN0ZXIgY29uc3QgUHlfVU5JQ09ERSAqZTsKKyAgICBQeV9zc2l6ZV90IGksIGxlbmd0aDsKKyAgICBpbnQga2luZDsKKyAgICB2b2lkICpkYXRhOworCisgICAgaWYgKFB5VW5pY29kZV9SRUFEWShzZWxmKSA9PSAtMSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgbGVuZ3RoID0gUHlVbmljb2RlX0dFVF9MRU5HVEgoc2VsZik7CisgICAga2luZCA9IFB5VW5pY29kZV9LSU5EKHNlbGYpOworICAgIGRhdGEgPSBQeVVuaWNvZGVfREFUQShzZWxmKTsKIAogICAgIC8qIFNob3J0Y3V0IGZvciBzaW5nbGUgY2hhcmFjdGVyIHN0cmluZ3MgKi8KLSAgICBpZiAoUHlVbmljb2RlX0dFVF9TSVpFKHNlbGYpID09IDEgJiYgUHlfVU5JQ09ERV9JU1BSSU5UQUJMRSgqcCkpIHsKLSAgICAgICAgUHlfUkVUVVJOX1RSVUU7Ci0gICAgfQorICAgIGlmIChsZW5ndGggPT0gMSkKKyAgICAgICAgcmV0dXJuIFB5Qm9vbF9Gcm9tTG9uZygKKyAgICAgICAgICAgIFB5X1VOSUNPREVfSVNQUklOVEFCTEUoUHlVbmljb2RlX1JFQUQoa2luZCwgZGF0YSwgMCkpKTsKIAotICAgIGUgPSBwICsgUHlVbmljb2RlX0dFVF9TSVpFKHNlbGYpOwotICAgIHdoaWxlIChwIDwgZSkgewotICAgICAgICBpZiAoIVB5X1VOSUNPREVfSVNQUklOVEFCTEUoX1B5X1VOSUNPREVfTkVYVChwLCBlKSkpIHsKKyAgICBmb3IgKGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHsKKyAgICAgICAgaWYgKCFQeV9VTklDT0RFX0lTUFJJTlRBQkxFKFB5VW5pY29kZV9SRUFEKGtpbmQsIGRhdGEsIGkpKSkgewogICAgICAgICAgICAgUHlfUkVUVVJOX0ZBTFNFOwogICAgICAgICB9CiAgICAgfQpAQCAtODEwNCw5ICsxMTg1OCwxMSBAQAogfQogCiBzdGF0aWMgUHlfc3NpemVfdAotdW5pY29kZV9sZW5ndGgoUHlVbmljb2RlT2JqZWN0ICpzZWxmKQordW5pY29kZV9sZW5ndGgoUHlPYmplY3QgKnNlbGYpCiB7Ci0gICAgcmV0dXJuIHNlbGYtPmxlbmd0aDsKKyAgICBpZiAoUHlVbmljb2RlX1JFQURZKHNlbGYpID09IC0xKQorICAgICAgICByZXR1cm4gLTE7CisgICAgcmV0dXJuIFB5VW5pY29kZV9HRVRfTEVOR1RIKHNlbGYpOwogfQogCiBQeURvY19TVFJWQVIobGp1c3RfX2RvY19fLApAQCAtODExNiwyMCArMTE4NzIsMjEgQEAKIGRvbmUgdXNpbmcgdGhlIHNwZWNpZmllZCBmaWxsIGNoYXJhY3RlciAoZGVmYXVsdCBpcyBhIHNwYWNlKS4iKTsKIAogc3RhdGljIFB5T2JqZWN0ICoKLXVuaWNvZGVfbGp1c3QoUHlVbmljb2RlT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK3VuaWNvZGVfbGp1c3QoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQogewogICAgIFB5X3NzaXplX3Qgd2lkdGg7Ci0gICAgUHlfVU5JQ09ERSBmaWxsY2hhciA9ICcgJzsKKyAgICBQeV9VQ1M0IGZpbGxjaGFyID0gJyAnOwogCiAgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJufE8mOmxqdXN0IiwgJndpZHRoLCBjb252ZXJ0X3VjLCAmZmlsbGNoYXIpKQogICAgICAgICByZXR1cm4gTlVMTDsKIAotICAgIGlmIChzZWxmLT5sZW5ndGggPj0gd2lkdGggJiYgUHlVbmljb2RlX0NoZWNrRXhhY3Qoc2VsZikpIHsKLSAgICAgICAgUHlfSU5DUkVGKHNlbGYpOwotICAgICAgICByZXR1cm4gKFB5T2JqZWN0Kikgc2VsZjsKLSAgICB9CisgICAgaWYgKFB5VW5pY29kZV9SRUFEWShzZWxmKSA9PSAtMSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CiAKLSAgICByZXR1cm4gKFB5T2JqZWN0KikgcGFkKHNlbGYsIDAsIHdpZHRoIC0gc2VsZi0+bGVuZ3RoLCBmaWxsY2hhcik7CisgICAgaWYgKFB5VW5pY29kZV9HRVRfTEVOR1RIKHNlbGYpID49IHdpZHRoKQorICAgICAgICByZXR1cm4gdW5pY29kZV9yZXN1bHRfdW5jaGFuZ2VkKHNlbGYpOworCisgICAgcmV0dXJuIHBhZChzZWxmLCAwLCB3aWR0aCAtIFB5VW5pY29kZV9HRVRfTEVOR1RIKHNlbGYpLCBmaWxsY2hhcik7CiB9CiAKIFB5RG9jX1NUUlZBUihsb3dlcl9fZG9jX18sCkBAIC04MTM4LDkgKzExODk1LDEzIEBACiBSZXR1cm4gYSBjb3B5IG9mIHRoZSBzdHJpbmcgUyBjb252ZXJ0ZWQgdG8gbG93ZXJjYXNlLiIpOwogCiBzdGF0aWMgUHlPYmplY3QqCi11bmljb2RlX2xvd2VyKFB5VW5pY29kZU9iamVjdCAqc2VsZikKK3VuaWNvZGVfbG93ZXIoUHlPYmplY3QgKnNlbGYpCiB7Ci0gICAgcmV0dXJuIGZpeHVwKHNlbGYsIGZpeGxvd2VyKTsKKyAgICBpZiAoUHlVbmljb2RlX1JFQURZKHNlbGYpID09IC0xKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBpZiAoUHlVbmljb2RlX0lTX0FTQ0lJKHNlbGYpKQorICAgICAgICByZXR1cm4gYXNjaWlfdXBwZXJfb3JfbG93ZXIoc2VsZiwgMSk7CisgICAgcmV0dXJuIGNhc2Vfb3BlcmF0aW9uKHNlbGYsIGRvX2xvd2VyKTsKIH0KIAogI2RlZmluZSBMRUZUU1RSSVAgMApAQCAtODE1NCwxOSArMTE5MTUsMjcgQEAKIAogLyogZXh0ZXJuYWxseSB2aXNpYmxlIGZvciBzdHIuc3RyaXAodW5pY29kZSkgKi8KIFB5T2JqZWN0ICoKLV9QeVVuaWNvZGVfWFN0cmlwKFB5VW5pY29kZU9iamVjdCAqc2VsZiwgaW50IHN0cmlwdHlwZSwgUHlPYmplY3QgKnNlcG9iaikKK19QeVVuaWNvZGVfWFN0cmlwKFB5T2JqZWN0ICpzZWxmLCBpbnQgc3RyaXB0eXBlLCBQeU9iamVjdCAqc2Vwb2JqKQogewotICAgIFB5X1VOSUNPREUgKnMgPSBQeVVuaWNvZGVfQVNfVU5JQ09ERShzZWxmKTsKLSAgICBQeV9zc2l6ZV90IGxlbiA9IFB5VW5pY29kZV9HRVRfU0laRShzZWxmKTsKLSAgICBQeV9VTklDT0RFICpzZXAgPSBQeVVuaWNvZGVfQVNfVU5JQ09ERShzZXBvYmopOwotICAgIFB5X3NzaXplX3Qgc2VwbGVuID0gUHlVbmljb2RlX0dFVF9TSVpFKHNlcG9iaik7Ci0gICAgUHlfc3NpemVfdCBpLCBqOworICAgIHZvaWQgKmRhdGE7CisgICAgaW50IGtpbmQ7CisgICAgUHlfc3NpemVfdCBpLCBqLCBsZW47CisgICAgQkxPT01fTUFTSyBzZXBtYXNrOwogCi0gICAgQkxPT01fTUFTSyBzZXBtYXNrID0gbWFrZV9ibG9vbV9tYXNrKHNlcCwgc2VwbGVuKTsKKyAgICBpZiAoUHlVbmljb2RlX1JFQURZKHNlbGYpID09IC0xIHx8IFB5VW5pY29kZV9SRUFEWShzZXBvYmopID09IC0xKQorICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIGtpbmQgPSBQeVVuaWNvZGVfS0lORChzZWxmKTsKKyAgICBkYXRhID0gUHlVbmljb2RlX0RBVEEoc2VsZik7CisgICAgbGVuID0gUHlVbmljb2RlX0dFVF9MRU5HVEgoc2VsZik7CisgICAgc2VwbWFzayA9IG1ha2VfYmxvb21fbWFzayhQeVVuaWNvZGVfS0lORChzZXBvYmopLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0RBVEEoc2Vwb2JqKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9HRVRfTEVOR1RIKHNlcG9iaikpOwogCiAgICAgaSA9IDA7CiAgICAgaWYgKHN0cmlwdHlwZSAhPSBSSUdIVFNUUklQKSB7Ci0gICAgICAgIHdoaWxlIChpIDwgbGVuICYmIEJMT09NX01FTUJFUihzZXBtYXNrLCBzW2ldLCBzZXAsIHNlcGxlbikpIHsKKyAgICAgICAgd2hpbGUgKGkgPCBsZW4gJiYKKyAgICAgICAgICAgICAgIEJMT09NX01FTUJFUihzZXBtYXNrLCBQeVVuaWNvZGVfUkVBRChraW5kLCBkYXRhLCBpKSwgc2Vwb2JqKSkgewogICAgICAgICAgICAgaSsrOwogICAgICAgICB9CiAgICAgfQpAQCAtODE3NSwyOCArMTE5NDQsNjkgQEAKICAgICBpZiAoc3RyaXB0eXBlICE9IExFRlRTVFJJUCkgewogICAgICAgICBkbyB7CiAgICAgICAgICAgICBqLS07Ci0gICAgICAgIH0gd2hpbGUgKGogPj0gaSAmJiBCTE9PTV9NRU1CRVIoc2VwbWFzaywgc1tqXSwgc2VwLCBzZXBsZW4pKTsKKyAgICAgICAgfSB3aGlsZSAoaiA+PSBpICYmCisgICAgICAgICAgICAgICAgIEJMT09NX01FTUJFUihzZXBtYXNrLCBQeVVuaWNvZGVfUkVBRChraW5kLCBkYXRhLCBqKSwgc2Vwb2JqKSk7CiAgICAgICAgIGorKzsKICAgICB9CiAKLSAgICBpZiAoaSA9PSAwICYmIGogPT0gbGVuICYmIFB5VW5pY29kZV9DaGVja0V4YWN0KHNlbGYpKSB7Ci0gICAgICAgIFB5X0lOQ1JFRihzZWxmKTsKLSAgICAgICAgcmV0dXJuIChQeU9iamVjdCopc2VsZjsKLSAgICB9Ci0gICAgZWxzZQotICAgICAgICByZXR1cm4gUHlVbmljb2RlX0Zyb21Vbmljb2RlKHMraSwgai1pKTsKKyAgICByZXR1cm4gUHlVbmljb2RlX1N1YnN0cmluZyhzZWxmLCBpLCBqKTsKIH0KIAorUHlPYmplY3QqCitQeVVuaWNvZGVfU3Vic3RyaW5nKFB5T2JqZWN0ICpzZWxmLCBQeV9zc2l6ZV90IHN0YXJ0LCBQeV9zc2l6ZV90IGVuZCkKK3sKKyAgICB1bnNpZ25lZCBjaGFyICpkYXRhOworICAgIGludCBraW5kOworICAgIFB5X3NzaXplX3QgbGVuZ3RoOworCisgICAgaWYgKFB5VW5pY29kZV9SRUFEWShzZWxmKSA9PSAtMSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICBlbmQgPSBQeV9NSU4oZW5kLCBQeVVuaWNvZGVfR0VUX0xFTkdUSChzZWxmKSk7CisKKyAgICBpZiAoc3RhcnQgPT0gMCAmJiBlbmQgPT0gUHlVbmljb2RlX0dFVF9MRU5HVEgoc2VsZikpCisgICAgICAgIHJldHVybiB1bmljb2RlX3Jlc3VsdF91bmNoYW5nZWQoc2VsZik7CisKKyAgICBsZW5ndGggPSBlbmQgLSBzdGFydDsKKyAgICBpZiAobGVuZ3RoID09IDEpCisgICAgICAgIHJldHVybiB1bmljb2RlX2dldGl0ZW0oc2VsZiwgc3RhcnQpOworCisgICAgaWYgKHN0YXJ0IDwgMCB8fCBlbmQgPCAwKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19JbmRleEVycm9yLCAic3RyaW5nIGluZGV4IG91dCBvZiByYW5nZSIpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisKKyAgICBpZiAoUHlVbmljb2RlX0lTX0FTQ0lJKHNlbGYpKSB7CisgICAgICAgIGtpbmQgPSBQeVVuaWNvZGVfS0lORChzZWxmKTsKKyAgICAgICAgZGF0YSA9IFB5VW5pY29kZV8xQllURV9EQVRBKHNlbGYpOworICAgICAgICByZXR1cm4gdW5pY29kZV9mcm9tYXNjaWkoZGF0YSArIHN0YXJ0LCBsZW5ndGgpOworICAgIH0KKyAgICBlbHNlIHsKKyAgICAgICAga2luZCA9IFB5VW5pY29kZV9LSU5EKHNlbGYpOworICAgICAgICBkYXRhID0gUHlVbmljb2RlXzFCWVRFX0RBVEEoc2VsZik7CisgICAgICAgIHJldHVybiBQeVVuaWNvZGVfRnJvbUtpbmRBbmREYXRhKGtpbmQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEgKyBraW5kICogc3RhcnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlbmd0aCk7CisgICAgfQorfQogCiBzdGF0aWMgUHlPYmplY3QgKgotZG9fc3RyaXAoUHlVbmljb2RlT2JqZWN0ICpzZWxmLCBpbnQgc3RyaXB0eXBlKQorZG9fc3RyaXAoUHlPYmplY3QgKnNlbGYsIGludCBzdHJpcHR5cGUpCiB7Ci0gICAgUHlfVU5JQ09ERSAqcyA9IFB5VW5pY29kZV9BU19VTklDT0RFKHNlbGYpOwotICAgIFB5X3NzaXplX3QgbGVuID0gUHlVbmljb2RlX0dFVF9TSVpFKHNlbGYpLCBpLCBqOworICAgIGludCBraW5kOworICAgIHZvaWQgKmRhdGE7CisgICAgUHlfc3NpemVfdCBsZW4sIGksIGo7CisKKyAgICBpZiAoUHlVbmljb2RlX1JFQURZKHNlbGYpID09IC0xKQorICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIGtpbmQgPSBQeVVuaWNvZGVfS0lORChzZWxmKTsKKyAgICBkYXRhID0gUHlVbmljb2RlX0RBVEEoc2VsZik7CisgICAgbGVuID0gUHlVbmljb2RlX0dFVF9MRU5HVEgoc2VsZik7CiAKICAgICBpID0gMDsKICAgICBpZiAoc3RyaXB0eXBlICE9IFJJR0hUU1RSSVApIHsKLSAgICAgICAgd2hpbGUgKGkgPCBsZW4gJiYgUHlfVU5JQ09ERV9JU1NQQUNFKHNbaV0pKSB7CisgICAgICAgIHdoaWxlIChpIDwgbGVuICYmIFB5X1VOSUNPREVfSVNTUEFDRShQeVVuaWNvZGVfUkVBRChraW5kLCBkYXRhLCBpKSkpIHsKICAgICAgICAgICAgIGkrKzsKICAgICAgICAgfQogICAgIH0KQEAgLTgyMDUsMjEgKzEyMDE1LDE2IEBACiAgICAgaWYgKHN0cmlwdHlwZSAhPSBMRUZUU1RSSVApIHsKICAgICAgICAgZG8gewogICAgICAgICAgICAgai0tOwotICAgICAgICB9IHdoaWxlIChqID49IGkgJiYgUHlfVU5JQ09ERV9JU1NQQUNFKHNbal0pKTsKKyAgICAgICAgfSB3aGlsZSAoaiA+PSBpICYmIFB5X1VOSUNPREVfSVNTUEFDRShQeVVuaWNvZGVfUkVBRChraW5kLCBkYXRhLCBqKSkpOwogICAgICAgICBqKys7CiAgICAgfQogCi0gICAgaWYgKGkgPT0gMCAmJiBqID09IGxlbiAmJiBQeVVuaWNvZGVfQ2hlY2tFeGFjdChzZWxmKSkgewotICAgICAgICBQeV9JTkNSRUYoc2VsZik7Ci0gICAgICAgIHJldHVybiAoUHlPYmplY3QqKXNlbGY7Ci0gICAgfQotICAgIGVsc2UKLSAgICAgICAgcmV0dXJuIFB5VW5pY29kZV9Gcm9tVW5pY29kZShzK2ksIGotaSk7CisgICAgcmV0dXJuIFB5VW5pY29kZV9TdWJzdHJpbmcoc2VsZiwgaSwgaik7CiB9CiAKIAogc3RhdGljIFB5T2JqZWN0ICoKLWRvX2FyZ3N0cmlwKFB5VW5pY29kZU9iamVjdCAqc2VsZiwgaW50IHN0cmlwdHlwZSwgUHlPYmplY3QgKmFyZ3MpCitkb19hcmdzdHJpcChQeU9iamVjdCAqc2VsZiwgaW50IHN0cmlwdHlwZSwgUHlPYmplY3QgKmFyZ3MpCiB7CiAgICAgUHlPYmplY3QgKnNlcCA9IE5VTEw7CiAKQEAgLTgyNDksNyArMTIwNTQsNyBAQAogSWYgY2hhcnMgaXMgZ2l2ZW4gYW5kIG5vdCBOb25lLCByZW1vdmUgY2hhcmFjdGVycyBpbiBjaGFycyBpbnN0ZWFkLiIpOwogCiBzdGF0aWMgUHlPYmplY3QgKgotdW5pY29kZV9zdHJpcChQeVVuaWNvZGVPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQordW5pY29kZV9zdHJpcChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCiB7CiAgICAgaWYgKFB5VHVwbGVfR0VUX1NJWkUoYXJncykgPT0gMCkKICAgICAgICAgcmV0dXJuIGRvX3N0cmlwKHNlbGYsIEJPVEhTVFJJUCk7IC8qIENvbW1vbiBjYXNlICovCkBAIC04MjY1LDcgKzEyMDcwLDcgQEAKIElmIGNoYXJzIGlzIGdpdmVuIGFuZCBub3QgTm9uZSwgcmVtb3ZlIGNoYXJhY3RlcnMgaW4gY2hhcnMgaW5zdGVhZC4iKTsKIAogc3RhdGljIFB5T2JqZWN0ICoKLXVuaWNvZGVfbHN0cmlwKFB5VW5pY29kZU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCit1bmljb2RlX2xzdHJpcChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCiB7CiAgICAgaWYgKFB5VHVwbGVfR0VUX1NJWkUoYXJncykgPT0gMCkKICAgICAgICAgcmV0dXJuIGRvX3N0cmlwKHNlbGYsIExFRlRTVFJJUCk7IC8qIENvbW1vbiBjYXNlICovCkBAIC04MjgxLDcgKzEyMDg2LDcgQEAKIElmIGNoYXJzIGlzIGdpdmVuIGFuZCBub3QgTm9uZSwgcmVtb3ZlIGNoYXJhY3RlcnMgaW4gY2hhcnMgaW5zdGVhZC4iKTsKIAogc3RhdGljIFB5T2JqZWN0ICoKLXVuaWNvZGVfcnN0cmlwKFB5VW5pY29kZU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCit1bmljb2RlX3JzdHJpcChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCiB7CiAgICAgaWYgKFB5VHVwbGVfR0VUX1NJWkUoYXJncykgPT0gMCkKICAgICAgICAgcmV0dXJuIGRvX3N0cmlwKHNlbGYsIFJJR0hUU1RSSVApOyAvKiBDb21tb24gY2FzZSAqLwpAQCAtODI5MSw2NCArMTIwOTYsNzYgQEAKIAogCiBzdGF0aWMgUHlPYmplY3QqCi11bmljb2RlX3JlcGVhdChQeVVuaWNvZGVPYmplY3QgKnN0ciwgUHlfc3NpemVfdCBsZW4pCit1bmljb2RlX3JlcGVhdChQeU9iamVjdCAqc3RyLCBQeV9zc2l6ZV90IGxlbikKIHsKLSAgICBQeVVuaWNvZGVPYmplY3QgKnU7Ci0gICAgUHlfVU5JQ09ERSAqcDsKLSAgICBQeV9zc2l6ZV90IG5jaGFyczsKLSAgICBzaXplX3QgbmJ5dGVzOworICAgIFB5T2JqZWN0ICp1OworICAgIFB5X3NzaXplX3QgbmNoYXJzLCBuOwogCiAgICAgaWYgKGxlbiA8IDEpIHsKICAgICAgICAgUHlfSU5DUkVGKHVuaWNvZGVfZW1wdHkpOwotICAgICAgICByZXR1cm4gKFB5T2JqZWN0ICopdW5pY29kZV9lbXB0eTsKKyAgICAgICAgcmV0dXJuIHVuaWNvZGVfZW1wdHk7CiAgICAgfQogCi0gICAgaWYgKGxlbiA9PSAxICYmIFB5VW5pY29kZV9DaGVja0V4YWN0KHN0cikpIHsKLSAgICAgICAgLyogbm8gcmVwZWF0LCByZXR1cm4gb3JpZ2luYWwgc3RyaW5nICovCi0gICAgICAgIFB5X0lOQ1JFRihzdHIpOwotICAgICAgICByZXR1cm4gKFB5T2JqZWN0Kikgc3RyOwotICAgIH0KKyAgICAvKiBubyByZXBlYXQsIHJldHVybiBvcmlnaW5hbCBzdHJpbmcgKi8KKyAgICBpZiAobGVuID09IDEpCisgICAgICAgIHJldHVybiB1bmljb2RlX3Jlc3VsdF91bmNoYW5nZWQoc3RyKTsKIAotICAgIC8qIGVuc3VyZSAjIG9mIGNoYXJzIG5lZWRlZCBkb2Vzbid0IG92ZXJmbG93IGludCBhbmQgIyBvZiBieXRlcwotICAgICAqIG5lZWRlZCBkb2Vzbid0IG92ZXJmbG93IHNpemVfdAotICAgICAqLwotICAgIG5jaGFycyA9IGxlbiAqIHN0ci0+bGVuZ3RoOwotICAgIGlmIChuY2hhcnMgLyBsZW4gIT0gc3RyLT5sZW5ndGgpIHsKKyAgICBpZiAoUHlVbmljb2RlX1JFQURZKHN0cikgPT0gLTEpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgaWYgKFB5VW5pY29kZV9HRVRfTEVOR1RIKHN0cikgPiBQWV9TU0laRV9UX01BWCAvIGxlbikgewogICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfT3ZlcmZsb3dFcnJvciwKICAgICAgICAgICAgICAgICAgICAgICAgICJyZXBlYXRlZCBzdHJpbmcgaXMgdG9vIGxvbmciKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQotICAgIG5ieXRlcyA9IChuY2hhcnMgKyAxKSAqIHNpemVvZihQeV9VTklDT0RFKTsKLSAgICBpZiAobmJ5dGVzIC8gc2l6ZW9mKFB5X1VOSUNPREUpICE9IChzaXplX3QpKG5jaGFycyArIDEpKSB7Ci0gICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19PdmVyZmxvd0Vycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgInJlcGVhdGVkIHN0cmluZyBpcyB0b28gbG9uZyIpOwotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICB9Ci0gICAgdSA9IF9QeVVuaWNvZGVfTmV3KG5jaGFycyk7CisgICAgbmNoYXJzID0gbGVuICogUHlVbmljb2RlX0dFVF9MRU5HVEgoc3RyKTsKKworICAgIHUgPSBQeVVuaWNvZGVfTmV3KG5jaGFycywgUHlVbmljb2RlX01BWF9DSEFSX1ZBTFVFKHN0cikpOwogICAgIGlmICghdSkKICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgYXNzZXJ0KFB5VW5pY29kZV9LSU5EKHUpID09IFB5VW5pY29kZV9LSU5EKHN0cikpOwogCi0gICAgcCA9IHUtPnN0cjsKLQotICAgIGlmIChzdHItPmxlbmd0aCA9PSAxKSB7Ci0gICAgICAgIFB5X1VOSUNPREVfRklMTChwLCBzdHItPnN0clswXSwgbGVuKTsKLSAgICB9IGVsc2UgewotICAgICAgICBQeV9zc2l6ZV90IGRvbmUgPSBzdHItPmxlbmd0aDsgLyogbnVtYmVyIG9mIGNoYXJhY3RlcnMgY29waWVkIHRoaXMgZmFyICovCi0gICAgICAgIFB5X1VOSUNPREVfQ09QWShwLCBzdHItPnN0ciwgc3RyLT5sZW5ndGgpOworICAgIGlmIChQeVVuaWNvZGVfR0VUX0xFTkdUSChzdHIpID09IDEpIHsKKyAgICAgICAgY29uc3QgaW50IGtpbmQgPSBQeVVuaWNvZGVfS0lORChzdHIpOworICAgICAgICBjb25zdCBQeV9VQ1M0IGZpbGxfY2hhciA9IFB5VW5pY29kZV9SRUFEKGtpbmQsIFB5VW5pY29kZV9EQVRBKHN0ciksIDApOworICAgICAgICBpZiAoa2luZCA9PSBQeVVuaWNvZGVfMUJZVEVfS0lORCkgeworICAgICAgICAgICAgdm9pZCAqdG8gPSBQeVVuaWNvZGVfREFUQSh1KTsKKyAgICAgICAgICAgIG1lbXNldCh0bywgKHVuc2lnbmVkIGNoYXIpZmlsbF9jaGFyLCBsZW4pOworICAgICAgICB9CisgICAgICAgIGVsc2UgaWYgKGtpbmQgPT0gUHlVbmljb2RlXzJCWVRFX0tJTkQpIHsKKyAgICAgICAgICAgIFB5X1VDUzIgKnVjczIgPSBQeVVuaWNvZGVfMkJZVEVfREFUQSh1KTsKKyAgICAgICAgICAgIGZvciAobiA9IDA7IG4gPCBsZW47ICsrbikKKyAgICAgICAgICAgICAgICB1Y3MyW25dID0gZmlsbF9jaGFyOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgUHlfVUNTNCAqdWNzNCA9IFB5VW5pY29kZV80QllURV9EQVRBKHUpOworICAgICAgICAgICAgYXNzZXJ0KGtpbmQgPT0gUHlVbmljb2RlXzRCWVRFX0tJTkQpOworICAgICAgICAgICAgZm9yIChuID0gMDsgbiA8IGxlbjsgKytuKQorICAgICAgICAgICAgICAgIHVjczRbbl0gPSBmaWxsX2NoYXI7CisgICAgICAgIH0KKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIC8qIG51bWJlciBvZiBjaGFyYWN0ZXJzIGNvcGllZCB0aGlzIGZhciAqLworICAgICAgICBQeV9zc2l6ZV90IGRvbmUgPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChzdHIpOworICAgICAgICBjb25zdCBQeV9zc2l6ZV90IGNoYXJfc2l6ZSA9IFB5VW5pY29kZV9LSU5EKHN0cik7CisgICAgICAgIGNoYXIgKnRvID0gKGNoYXIgKikgUHlVbmljb2RlX0RBVEEodSk7CisgICAgICAgIFB5X01FTUNQWSh0bywgUHlVbmljb2RlX0RBVEEoc3RyKSwKKyAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9HRVRfTEVOR1RIKHN0cikgKiBjaGFyX3NpemUpOwogICAgICAgICB3aGlsZSAoZG9uZSA8IG5jaGFycykgewotICAgICAgICAgICAgUHlfc3NpemVfdCBuID0gKGRvbmUgPD0gbmNoYXJzLWRvbmUpID8gZG9uZSA6IG5jaGFycy1kb25lOwotICAgICAgICAgICAgUHlfVU5JQ09ERV9DT1BZKHArZG9uZSwgcCwgbik7CisgICAgICAgICAgICBuID0gKGRvbmUgPD0gbmNoYXJzLWRvbmUpID8gZG9uZSA6IG5jaGFycy1kb25lOworICAgICAgICAgICAgUHlfTUVNQ1BZKHRvICsgKGRvbmUgKiBjaGFyX3NpemUpLCB0bywgbiAqIGNoYXJfc2l6ZSk7CiAgICAgICAgICAgICBkb25lICs9IG47CiAgICAgICAgIH0KICAgICB9CiAKLSAgICByZXR1cm4gKFB5T2JqZWN0KikgdTsKKyAgICBhc3NlcnQoX1B5VW5pY29kZV9DaGVja0NvbnNpc3RlbmN5KHUsIDEpKTsKKyAgICByZXR1cm4gdTsKIH0KIAotUHlPYmplY3QgKlB5VW5pY29kZV9SZXBsYWNlKFB5T2JqZWN0ICpvYmosCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlPYmplY3QgKnN1Ym9iaiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeU9iamVjdCAqcmVwbG9iaiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IG1heGNvdW50KQorUHlPYmplY3QgKgorUHlVbmljb2RlX1JlcGxhY2UoUHlPYmplY3QgKm9iaiwKKyAgICAgICAgICAgICAgICAgIFB5T2JqZWN0ICpzdWJvYmosCisgICAgICAgICAgICAgICAgICBQeU9iamVjdCAqcmVwbG9iaiwKKyAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3QgbWF4Y291bnQpCiB7CiAgICAgUHlPYmplY3QgKnNlbGY7CiAgICAgUHlPYmplY3QgKnN0cjE7CkBAIC04MzY5LDEwICsxMjE4NiwxMiBAQAogICAgICAgICBQeV9ERUNSRUYoc3RyMSk7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KLSAgICByZXN1bHQgPSByZXBsYWNlKChQeVVuaWNvZGVPYmplY3QgKilzZWxmLAotICAgICAgICAgICAgICAgICAgICAgKFB5VW5pY29kZU9iamVjdCAqKXN0cjEsCi0gICAgICAgICAgICAgICAgICAgICAoUHlVbmljb2RlT2JqZWN0ICopc3RyMiwKLSAgICAgICAgICAgICAgICAgICAgIG1heGNvdW50KTsKKyAgICBpZiAoUHlVbmljb2RlX1JFQURZKHNlbGYpID09IC0xIHx8CisgICAgICAgIFB5VW5pY29kZV9SRUFEWShzdHIxKSA9PSAtMSB8fAorICAgICAgICBQeVVuaWNvZGVfUkVBRFkoc3RyMikgPT0gLTEpCisgICAgICAgIHJlc3VsdCA9IE5VTEw7CisgICAgZWxzZQorICAgICAgICByZXN1bHQgPSByZXBsYWNlKHNlbGYsIHN0cjEsIHN0cjIsIG1heGNvdW50KTsKICAgICBQeV9ERUNSRUYoc2VsZik7CiAgICAgUHlfREVDUkVGKHN0cjEpOwogICAgIFB5X0RFQ1JFRihzdHIyKTsKQEAgLTgzODcsMTc3ICsxMjIwNiwxODMgQEAKIGdpdmVuLCBvbmx5IHRoZSBmaXJzdCBjb3VudCBvY2N1cnJlbmNlcyBhcmUgcmVwbGFjZWQuIik7CiAKIHN0YXRpYyBQeU9iamVjdCoKLXVuaWNvZGVfcmVwbGFjZShQeVVuaWNvZGVPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQordW5pY29kZV9yZXBsYWNlKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKIHsKLSAgICBQeVVuaWNvZGVPYmplY3QgKnN0cjE7Ci0gICAgUHlVbmljb2RlT2JqZWN0ICpzdHIyOworICAgIFB5T2JqZWN0ICpzdHIxOworICAgIFB5T2JqZWN0ICpzdHIyOwogICAgIFB5X3NzaXplX3QgbWF4Y291bnQgPSAtMTsKICAgICBQeU9iamVjdCAqcmVzdWx0OwogCiAgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJPT3xuOnJlcGxhY2UiLCAmc3RyMSwgJnN0cjIsICZtYXhjb3VudCkpCiAgICAgICAgIHJldHVybiBOVUxMOwotICAgIHN0cjEgPSAoUHlVbmljb2RlT2JqZWN0ICopUHlVbmljb2RlX0Zyb21PYmplY3QoKFB5T2JqZWN0ICopc3RyMSk7CisgICAgaWYgKFB5VW5pY29kZV9SRUFEWShzZWxmKSA9PSAtMSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgc3RyMSA9IFB5VW5pY29kZV9Gcm9tT2JqZWN0KHN0cjEpOwogICAgIGlmIChzdHIxID09IE5VTEwpCiAgICAgICAgIHJldHVybiBOVUxMOwotICAgIHN0cjIgPSAoUHlVbmljb2RlT2JqZWN0ICopUHlVbmljb2RlX0Zyb21PYmplY3QoKFB5T2JqZWN0ICopc3RyMik7CisgICAgc3RyMiA9IFB5VW5pY29kZV9Gcm9tT2JqZWN0KHN0cjIpOwogICAgIGlmIChzdHIyID09IE5VTEwpIHsKICAgICAgICAgUHlfREVDUkVGKHN0cjEpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9Ci0KLSAgICByZXN1bHQgPSByZXBsYWNlKHNlbGYsIHN0cjEsIHN0cjIsIG1heGNvdW50KTsKKyAgICBpZiAoUHlVbmljb2RlX1JFQURZKHN0cjEpID09IC0xIHx8IFB5VW5pY29kZV9SRUFEWShzdHIyKSA9PSAtMSkKKyAgICAgICAgcmVzdWx0ID0gTlVMTDsKKyAgICBlbHNlCisgICAgICAgIHJlc3VsdCA9IHJlcGxhY2Uoc2VsZiwgc3RyMSwgc3RyMiwgbWF4Y291bnQpOwogCiAgICAgUHlfREVDUkVGKHN0cjEpOwogICAgIFB5X0RFQ1JFRihzdHIyKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi1zdGF0aWMKLVB5T2JqZWN0ICp1bmljb2RlX3JlcHIoUHlPYmplY3QgKnVuaWNvZGUpCitzdGF0aWMgUHlPYmplY3QgKgordW5pY29kZV9yZXByKFB5T2JqZWN0ICp1bmljb2RlKQogewogICAgIFB5T2JqZWN0ICpyZXByOwotICAgIFB5X1VOSUNPREUgKnA7Ci0gICAgUHlfVU5JQ09ERSAqcyA9IFB5VW5pY29kZV9BU19VTklDT0RFKHVuaWNvZGUpOwotICAgIFB5X3NzaXplX3Qgc2l6ZSA9IFB5VW5pY29kZV9HRVRfU0laRSh1bmljb2RlKTsKKyAgICBQeV9zc2l6ZV90IGlzaXplOworICAgIFB5X3NzaXplX3Qgb3NpemUsIHNxdW90ZSwgZHF1b3RlLCBpLCBvOworICAgIFB5X1VDUzQgbWF4LCBxdW90ZTsKKyAgICBpbnQgaWtpbmQsIG9raW5kOworICAgIHZvaWQgKmlkYXRhLCAqb2RhdGE7CiAKLSAgICAvKiBYWFgobm5vcndpdHopOiByYXRoZXIgdGhhbiBvdmVyLWFsbG9jYXRpbmcsIGl0IHdvdWxkIGJlCi0gICAgICAgYmV0dGVyIHRvIGNob29zZSBhIGRpZmZlcmVudCBzY2hlbWUuICBQZXJoYXBzIHNjYW4gdGhlCi0gICAgICAgZmlyc3QgTi1jaGFycyBvZiB0aGUgc3RyaW5nIGFuZCBhbGxvY2F0ZSBiYXNlZCBvbiB0aGF0IHNpemUuCi0gICAgKi8KLSAgICAvKiBJbml0aWFsIGFsbG9jYXRpb24gaXMgYmFzZWQgb24gdGhlIGxvbmdlc3QtcG9zc2libGUgdW5pY2hyCi0gICAgICAgZXNjYXBlLgotCi0gICAgICAgSW4gd2lkZSAoVVRGLTMyKSBidWlsZHMgJ1xVMDB4eHh4eHgnIGlzIDEwIGNoYXJzIHBlciBzb3VyY2UKLSAgICAgICB1bmljaHIsIHNvIGluIHRoaXMgY2FzZSBpdCdzIHRoZSBsb25nZXN0IHVuaWNociBlc2NhcGUuIEluCi0gICAgICAgbmFycm93IChVVEYtMTYpIGJ1aWxkcyB0aGlzIGlzIGZpdmUgY2hhcnMgcGVyIHNvdXJjZSB1bmljaHIKLSAgICAgICBzaW5jZSB0aGVyZSBhcmUgdHdvIHVuaWNocnMgaW4gdGhlIHN1cnJvZ2F0ZSBwYWlyLCBzbyBpbiBuYXJyb3cKLSAgICAgICAoVVRGLTE2KSBidWlsZHMgaXQncyBub3QgdGhlIGxvbmdlc3QgdW5pY2hyIGVzY2FwZS4KLQotICAgICAgIEluIHdpZGUgb3IgbmFycm93IGJ1aWxkcyAnXHV4eHh4JyBpcyA2IGNoYXJzIHBlciBzb3VyY2UgdW5pY2hyLAotICAgICAgIHNvIGluIHRoZSBuYXJyb3cgKFVURi0xNikgYnVpbGQgY2FzZSBpdCdzIHRoZSBsb25nZXN0IHVuaWNocgotICAgICAgIGVzY2FwZS4KLSAgICAqLwotCi0gICAgcmVwciA9IFB5VW5pY29kZV9Gcm9tVW5pY29kZShOVUxMLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMiAvKiBxdW90ZXMgKi8KLSNpZmRlZiBQeV9VTklDT0RFX1dJREUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsgMTAqc2l6ZQotI2Vsc2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsgNipzaXplCi0jZW5kaWYKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsgMSk7Ci0gICAgaWYgKHJlcHIgPT0gTlVMTCkKKyAgICBpZiAoUHlVbmljb2RlX1JFQURZKHVuaWNvZGUpID09IC0xKQogICAgICAgICByZXR1cm4gTlVMTDsKIAotICAgIHAgPSBQeVVuaWNvZGVfQVNfVU5JQ09ERShyZXByKTsKKyAgICBpc2l6ZSA9IFB5VW5pY29kZV9HRVRfTEVOR1RIKHVuaWNvZGUpOworICAgIGlkYXRhID0gUHlVbmljb2RlX0RBVEEodW5pY29kZSk7CiAKLSAgICAvKiBBZGQgcXVvdGUgKi8KLSAgICAqcCsrID0gKGZpbmRjaGFyKHMsIHNpemUsICdcJycpICYmCi0gICAgICAgICAgICAhZmluZGNoYXIocywgc2l6ZSwgJyInKSkgPyAnIicgOiAnXCcnOwotICAgIHdoaWxlIChzaXplLS0gPiAwKSB7Ci0gICAgICAgIFB5X1VOSUNPREUgY2ggPSAqcysrOworICAgIC8qIENvbXB1dGUgbGVuZ3RoIG9mIG91dHB1dCwgcXVvdGUgY2hhcmFjdGVycywgYW5kCisgICAgICAgbWF4aW11bSBjaGFyYWN0ZXIgKi8KKyAgICBvc2l6ZSA9IDI7IC8qIHF1b3RlcyAqLworICAgIG1heCA9IDEyNzsKKyAgICBzcXVvdGUgPSBkcXVvdGUgPSAwOworICAgIGlraW5kID0gUHlVbmljb2RlX0tJTkQodW5pY29kZSk7CisgICAgZm9yIChpID0gMDsgaSA8IGlzaXplOyBpKyspIHsKKyAgICAgICAgUHlfVUNTNCBjaCA9IFB5VW5pY29kZV9SRUFEKGlraW5kLCBpZGF0YSwgaSk7CisgICAgICAgIHN3aXRjaCAoY2gpIHsKKyAgICAgICAgY2FzZSAnXCcnOiBzcXVvdGUrKzsgb3NpemUrKzsgYnJlYWs7CisgICAgICAgIGNhc2UgJyInOiAgZHF1b3RlKys7IG9zaXplKys7IGJyZWFrOworICAgICAgICBjYXNlICdcXCc6IGNhc2UgJ1x0JzogY2FzZSAnXHInOiBjYXNlICdcbic6CisgICAgICAgICAgICBvc2l6ZSArPSAyOyBicmVhazsKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIC8qIEZhc3QtcGF0aCBBU0NJSSAqLworICAgICAgICAgICAgaWYgKGNoIDwgJyAnIHx8IGNoID09IDB4N2YpCisgICAgICAgICAgICAgICAgb3NpemUgKz0gNDsgLyogXHhISCAqLworICAgICAgICAgICAgZWxzZSBpZiAoY2ggPCAweDdmKQorICAgICAgICAgICAgICAgIG9zaXplKys7CisgICAgICAgICAgICBlbHNlIGlmIChQeV9VTklDT0RFX0lTUFJJTlRBQkxFKGNoKSkgeworICAgICAgICAgICAgICAgIG9zaXplKys7CisgICAgICAgICAgICAgICAgbWF4ID0gY2ggPiBtYXggPyBjaCA6IG1heDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGVsc2UgaWYgKGNoIDwgMHgxMDApCisgICAgICAgICAgICAgICAgb3NpemUgKz0gNDsgLyogXHhISCAqLworICAgICAgICAgICAgZWxzZSBpZiAoY2ggPCAweDEwMDAwKQorICAgICAgICAgICAgICAgIG9zaXplICs9IDY7IC8qIFx1SEhISCAqLworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIG9zaXplICs9IDEwOyAvKiBcdUhISEhISEhIICovCisgICAgICAgIH0KKyAgICB9CisKKyAgICBxdW90ZSA9ICdcJyc7CisgICAgaWYgKHNxdW90ZSkgeworICAgICAgICBpZiAoZHF1b3RlKQorICAgICAgICAgICAgLyogQm90aCBzcXVvdGUgYW5kIGRxdW90ZSBwcmVzZW50LiBVc2Ugc3F1b3RlLAorICAgICAgICAgICAgICAgYW5kIGVzY2FwZSB0aGVtICovCisgICAgICAgICAgICBvc2l6ZSArPSBzcXVvdGU7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHF1b3RlID0gJyInOworICAgIH0KKworICAgIHJlcHIgPSBQeVVuaWNvZGVfTmV3KG9zaXplLCBtYXgpOworICAgIGlmIChyZXByID09IE5VTEwpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIG9raW5kID0gUHlVbmljb2RlX0tJTkQocmVwcik7CisgICAgb2RhdGEgPSBQeVVuaWNvZGVfREFUQShyZXByKTsKKworICAgIFB5VW5pY29kZV9XUklURShva2luZCwgb2RhdGEsIDAsIHF1b3RlKTsKKyAgICBQeVVuaWNvZGVfV1JJVEUob2tpbmQsIG9kYXRhLCBvc2l6ZS0xLCBxdW90ZSk7CisKKyAgICBmb3IgKGkgPSAwLCBvID0gMTsgaSA8IGlzaXplOyBpKyspIHsKKyAgICAgICAgUHlfVUNTNCBjaCA9IFB5VW5pY29kZV9SRUFEKGlraW5kLCBpZGF0YSwgaSk7CiAKICAgICAgICAgLyogRXNjYXBlIHF1b3RlcyBhbmQgYmFja3NsYXNoZXMgKi8KLSAgICAgICAgaWYgKChjaCA9PSBQeVVuaWNvZGVfQVNfVU5JQ09ERShyZXByKVswXSkgfHwgKGNoID09ICdcXCcpKSB7Ci0gICAgICAgICAgICAqcCsrID0gJ1xcJzsKLSAgICAgICAgICAgICpwKysgPSBjaDsKKyAgICAgICAgaWYgKChjaCA9PSBxdW90ZSkgfHwgKGNoID09ICdcXCcpKSB7CisgICAgICAgICAgICBQeVVuaWNvZGVfV1JJVEUob2tpbmQsIG9kYXRhLCBvKyssICdcXCcpOworICAgICAgICAgICAgUHlVbmljb2RlX1dSSVRFKG9raW5kLCBvZGF0YSwgbysrLCBjaCk7CiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgfQogCiAgICAgICAgIC8qIE1hcCBzcGVjaWFsIHdoaXRlc3BhY2UgdG8gJ1x0JywgXG4nLCAnXHInICovCiAgICAgICAgIGlmIChjaCA9PSAnXHQnKSB7Ci0gICAgICAgICAgICAqcCsrID0gJ1xcJzsKLSAgICAgICAgICAgICpwKysgPSAndCc7CisgICAgICAgICAgICBQeVVuaWNvZGVfV1JJVEUob2tpbmQsIG9kYXRhLCBvKyssICdcXCcpOworICAgICAgICAgICAgUHlVbmljb2RlX1dSSVRFKG9raW5kLCBvZGF0YSwgbysrLCAndCcpOwogICAgICAgICB9CiAgICAgICAgIGVsc2UgaWYgKGNoID09ICdcbicpIHsKLSAgICAgICAgICAgICpwKysgPSAnXFwnOwotICAgICAgICAgICAgKnArKyA9ICduJzsKKyAgICAgICAgICAgIFB5VW5pY29kZV9XUklURShva2luZCwgb2RhdGEsIG8rKywgJ1xcJyk7CisgICAgICAgICAgICBQeVVuaWNvZGVfV1JJVEUob2tpbmQsIG9kYXRhLCBvKyssICduJyk7CiAgICAgICAgIH0KICAgICAgICAgZWxzZSBpZiAoY2ggPT0gJ1xyJykgewotICAgICAgICAgICAgKnArKyA9ICdcXCc7Ci0gICAgICAgICAgICAqcCsrID0gJ3InOworICAgICAgICAgICAgUHlVbmljb2RlX1dSSVRFKG9raW5kLCBvZGF0YSwgbysrLCAnXFwnKTsKKyAgICAgICAgICAgIFB5VW5pY29kZV9XUklURShva2luZCwgb2RhdGEsIG8rKywgJ3InKTsKICAgICAgICAgfQogCiAgICAgICAgIC8qIE1hcCBub24tcHJpbnRhYmxlIFVTIEFTQ0lJIHRvICdceGhoJyAqLwogICAgICAgICBlbHNlIGlmIChjaCA8ICcgJyB8fCBjaCA9PSAweDdGKSB7Ci0gICAgICAgICAgICAqcCsrID0gJ1xcJzsKLSAgICAgICAgICAgICpwKysgPSAneCc7Ci0gICAgICAgICAgICAqcCsrID0gaGV4ZGlnaXRzWyhjaCA+PiA0KSAmIDB4MDAwRl07Ci0gICAgICAgICAgICAqcCsrID0gaGV4ZGlnaXRzW2NoICYgMHgwMDBGXTsKKyAgICAgICAgICAgIFB5VW5pY29kZV9XUklURShva2luZCwgb2RhdGEsIG8rKywgJ1xcJyk7CisgICAgICAgICAgICBQeVVuaWNvZGVfV1JJVEUob2tpbmQsIG9kYXRhLCBvKyssICd4Jyk7CisgICAgICAgICAgICBQeVVuaWNvZGVfV1JJVEUob2tpbmQsIG9kYXRhLCBvKyssIFB5X2hleGRpZ2l0c1soY2ggPj4gNCkgJiAweDAwMEZdKTsKKyAgICAgICAgICAgIFB5VW5pY29kZV9XUklURShva2luZCwgb2RhdGEsIG8rKywgUHlfaGV4ZGlnaXRzW2NoICYgMHgwMDBGXSk7CiAgICAgICAgIH0KIAogICAgICAgICAvKiBDb3B5IEFTQ0lJIGNoYXJhY3RlcnMgYXMtaXMgKi8KICAgICAgICAgZWxzZSBpZiAoY2ggPCAweDdGKSB7Ci0gICAgICAgICAgICAqcCsrID0gY2g7CisgICAgICAgICAgICBQeVVuaWNvZGVfV1JJVEUob2tpbmQsIG9kYXRhLCBvKyssIGNoKTsKICAgICAgICAgfQogCiAgICAgICAgIC8qIE5vbi1BU0NJSSBjaGFyYWN0ZXJzICovCiAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgUHlfVUNTNCB1Y3MgPSBjaDsKLQotI2lmbmRlZiBQeV9VTklDT0RFX1dJREUKLSAgICAgICAgICAgIFB5X1VOSUNPREUgY2gyID0gMDsKLSAgICAgICAgICAgIC8qIEdldCBjb2RlIHBvaW50IGZyb20gc3Vycm9nYXRlIHBhaXIgKi8KLSAgICAgICAgICAgIGlmIChzaXplID4gMCkgewotICAgICAgICAgICAgICAgIGNoMiA9ICpzOwotICAgICAgICAgICAgICAgIGlmIChjaCA+PSAweEQ4MDAgJiYgY2ggPCAweERDMDAgJiYgY2gyID49IDB4REMwMAotICAgICAgICAgICAgICAgICAgICAmJiBjaDIgPD0gMHhERkZGKSB7Ci0gICAgICAgICAgICAgICAgICAgIHVjcyA9ICgoKGNoICYgMHgwM0ZGKSA8PCAxMCkgfCAoY2gyICYgMHgwM0ZGKSkKLSAgICAgICAgICAgICAgICAgICAgICAgICsgMHgwMDAxMDAwMDsKLSAgICAgICAgICAgICAgICAgICAgcysrOwotICAgICAgICAgICAgICAgICAgICBzaXplLS07Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfQotI2VuZGlmCiAgICAgICAgICAgICAvKiBNYXAgVW5pY29kZSB3aGl0ZXNwYWNlIGFuZCBjb250cm9sIGNoYXJhY3RlcnMKICAgICAgICAgICAgICAgIChjYXRlZ29yaWVzIFoqIGFuZCBDKiBleGNlcHQgQVNDSUkgc3BhY2UpCiAgICAgICAgICAgICAqLwotICAgICAgICAgICAgaWYgKCFQeV9VTklDT0RFX0lTUFJJTlRBQkxFKHVjcykpIHsKKyAgICAgICAgICAgIGlmICghUHlfVU5JQ09ERV9JU1BSSU5UQUJMRShjaCkpIHsKICAgICAgICAgICAgICAgICAvKiBNYXAgOC1iaXQgY2hhcmFjdGVycyB0byAnXHhoaCcgKi8KLSAgICAgICAgICAgICAgICBpZiAodWNzIDw9IDB4ZmYpIHsKLSAgICAgICAgICAgICAgICAgICAgKnArKyA9ICdcXCc7Ci0gICAgICAgICAgICAgICAgICAgICpwKysgPSAneCc7Ci0gICAgICAgICAgICAgICAgICAgICpwKysgPSBoZXhkaWdpdHNbKGNoID4+IDQpICYgMHgwMDBGXTsKLSAgICAgICAgICAgICAgICAgICAgKnArKyA9IGhleGRpZ2l0c1tjaCAmIDB4MDAwRl07CisgICAgICAgICAgICAgICAgaWYgKGNoIDw9IDB4ZmYpIHsKKyAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX1dSSVRFKG9raW5kLCBvZGF0YSwgbysrLCAnXFwnKTsKKyAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX1dSSVRFKG9raW5kLCBvZGF0YSwgbysrLCAneCcpOworICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfV1JJVEUob2tpbmQsIG9kYXRhLCBvKyssIFB5X2hleGRpZ2l0c1soY2ggPj4gNCkgJiAweDAwMEZdKTsKKyAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX1dSSVRFKG9raW5kLCBvZGF0YSwgbysrLCBQeV9oZXhkaWdpdHNbY2ggJiAweDAwMEZdKTsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgLyogTWFwIDIxLWJpdCBjaGFyYWN0ZXJzIHRvICdcVTAweHh4eHh4JyAqLwotICAgICAgICAgICAgICAgIGVsc2UgaWYgKHVjcyA+PSAweDEwMDAwKSB7Ci0gICAgICAgICAgICAgICAgICAgICpwKysgPSAnXFwnOwotICAgICAgICAgICAgICAgICAgICAqcCsrID0gJ1UnOwotICAgICAgICAgICAgICAgICAgICAqcCsrID0gaGV4ZGlnaXRzWyh1Y3MgPj4gMjgpICYgMHgwMDAwMDAwRl07Ci0gICAgICAgICAgICAgICAgICAgICpwKysgPSBoZXhkaWdpdHNbKHVjcyA+PiAyNCkgJiAweDAwMDAwMDBGXTsKLSAgICAgICAgICAgICAgICAgICAgKnArKyA9IGhleGRpZ2l0c1sodWNzID4+IDIwKSAmIDB4MDAwMDAwMEZdOwotICAgICAgICAgICAgICAgICAgICAqcCsrID0gaGV4ZGlnaXRzWyh1Y3MgPj4gMTYpICYgMHgwMDAwMDAwRl07Ci0gICAgICAgICAgICAgICAgICAgICpwKysgPSBoZXhkaWdpdHNbKHVjcyA+PiAxMikgJiAweDAwMDAwMDBGXTsKLSAgICAgICAgICAgICAgICAgICAgKnArKyA9IGhleGRpZ2l0c1sodWNzID4+IDgpICYgMHgwMDAwMDAwRl07Ci0gICAgICAgICAgICAgICAgICAgICpwKysgPSBoZXhkaWdpdHNbKHVjcyA+PiA0KSAmIDB4MDAwMDAwMEZdOwotICAgICAgICAgICAgICAgICAgICAqcCsrID0gaGV4ZGlnaXRzW3VjcyAmIDB4MDAwMDAwMEZdOworICAgICAgICAgICAgICAgIGVsc2UgaWYgKGNoID49IDB4MTAwMDApIHsKKyAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX1dSSVRFKG9raW5kLCBvZGF0YSwgbysrLCAnXFwnKTsKKyAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX1dSSVRFKG9raW5kLCBvZGF0YSwgbysrLCAnVScpOworICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfV1JJVEUob2tpbmQsIG9kYXRhLCBvKyssIFB5X2hleGRpZ2l0c1soY2ggPj4gMjgpICYgMHhGXSk7CisgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9XUklURShva2luZCwgb2RhdGEsIG8rKywgUHlfaGV4ZGlnaXRzWyhjaCA+PiAyNCkgJiAweEZdKTsKKyAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX1dSSVRFKG9raW5kLCBvZGF0YSwgbysrLCBQeV9oZXhkaWdpdHNbKGNoID4+IDIwKSAmIDB4Rl0pOworICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfV1JJVEUob2tpbmQsIG9kYXRhLCBvKyssIFB5X2hleGRpZ2l0c1soY2ggPj4gMTYpICYgMHhGXSk7CisgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9XUklURShva2luZCwgb2RhdGEsIG8rKywgUHlfaGV4ZGlnaXRzWyhjaCA+PiAxMikgJiAweEZdKTsKKyAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX1dSSVRFKG9raW5kLCBvZGF0YSwgbysrLCBQeV9oZXhkaWdpdHNbKGNoID4+IDgpICYgMHhGXSk7CisgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9XUklURShva2luZCwgb2RhdGEsIG8rKywgUHlfaGV4ZGlnaXRzWyhjaCA+PiA0KSAmIDB4Rl0pOworICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfV1JJVEUob2tpbmQsIG9kYXRhLCBvKyssIFB5X2hleGRpZ2l0c1tjaCAmIDB4Rl0pOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAvKiBNYXAgMTYtYml0IGNoYXJhY3RlcnMgdG8gJ1x1eHh4eCcgKi8KICAgICAgICAgICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgKnArKyA9ICdcXCc7Ci0gICAgICAgICAgICAgICAgICAgICpwKysgPSAndSc7Ci0gICAgICAgICAgICAgICAgICAgICpwKysgPSBoZXhkaWdpdHNbKHVjcyA+PiAxMikgJiAweDAwMEZdOwotICAgICAgICAgICAgICAgICAgICAqcCsrID0gaGV4ZGlnaXRzWyh1Y3MgPj4gOCkgJiAweDAwMEZdOwotICAgICAgICAgICAgICAgICAgICAqcCsrID0gaGV4ZGlnaXRzWyh1Y3MgPj4gNCkgJiAweDAwMEZdOwotICAgICAgICAgICAgICAgICAgICAqcCsrID0gaGV4ZGlnaXRzW3VjcyAmIDB4MDAwRl07CisgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9XUklURShva2luZCwgb2RhdGEsIG8rKywgJ1xcJyk7CisgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9XUklURShva2luZCwgb2RhdGEsIG8rKywgJ3UnKTsKKyAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX1dSSVRFKG9raW5kLCBvZGF0YSwgbysrLCBQeV9oZXhkaWdpdHNbKGNoID4+IDEyKSAmIDB4Rl0pOworICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfV1JJVEUob2tpbmQsIG9kYXRhLCBvKyssIFB5X2hleGRpZ2l0c1soY2ggPj4gOCkgJiAweEZdKTsKKyAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX1dSSVRFKG9raW5kLCBvZGF0YSwgbysrLCBQeV9oZXhkaWdpdHNbKGNoID4+IDQpICYgMHhGXSk7CisgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9XUklURShva2luZCwgb2RhdGEsIG8rKywgUHlfaGV4ZGlnaXRzW2NoICYgMHhGXSk7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQogICAgICAgICAgICAgLyogQ29weSBjaGFyYWN0ZXJzIGFzLWlzICovCiAgICAgICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgICAgICAqcCsrID0gY2g7Ci0jaWZuZGVmIFB5X1VOSUNPREVfV0lERQotICAgICAgICAgICAgICAgIGlmICh1Y3MgPj0gMHgxMDAwMCkKLSAgICAgICAgICAgICAgICAgICAgKnArKyA9IGNoMjsKLSNlbmRpZgorICAgICAgICAgICAgICAgIFB5VW5pY29kZV9XUklURShva2luZCwgb2RhdGEsIG8rKywgY2gpOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfQotICAgIC8qIEFkZCBxdW90ZSAqLwotICAgICpwKysgPSBQeVVuaWNvZGVfQVNfVU5JQ09ERShyZXByKVswXTsKLQotICAgICpwID0gJ1wwJzsKLSAgICBQeVVuaWNvZGVfUmVzaXplKCZyZXByLCBwIC0gUHlVbmljb2RlX0FTX1VOSUNPREUocmVwcikpOworICAgIC8qIENsb3NpbmcgcXVvdGUgYWxyZWFkeSBhZGRlZCBhdCB0aGUgYmVnaW5uaW5nICovCisgICAgYXNzZXJ0KF9QeVVuaWNvZGVfQ2hlY2tDb25zaXN0ZW5jeShyZXByLCAxKSk7CiAgICAgcmV0dXJuIHJlcHI7CiB9CiAKQEAgLTg1NzEsOSArMTIzOTYsOSBAQAogUmV0dXJuIC0xIG9uIGZhaWx1cmUuIik7CiAKIHN0YXRpYyBQeU9iamVjdCAqCi11bmljb2RlX3JmaW5kKFB5VW5pY29kZU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCit1bmljb2RlX3JmaW5kKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKIHsKLSAgICBQeVVuaWNvZGVPYmplY3QgKnN1YnN0cmluZzsKKyAgICBQeU9iamVjdCAqc3Vic3RyaW5nOwogICAgIFB5X3NzaXplX3Qgc3RhcnQ7CiAgICAgUHlfc3NpemVfdCBlbmQ7CiAgICAgUHlfc3NpemVfdCByZXN1bHQ7CkBAIC04NTgyLDE0ICsxMjQwNywxOCBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmc3RhcnQsICZlbmQpKQogICAgICAgICByZXR1cm4gTlVMTDsKIAotICAgIHJlc3VsdCA9IHN0cmluZ2xpYl9yZmluZF9zbGljZSgKLSAgICAgICAgUHlVbmljb2RlX0FTX1VOSUNPREUoc2VsZiksIFB5VW5pY29kZV9HRVRfU0laRShzZWxmKSwKLSAgICAgICAgUHlVbmljb2RlX0FTX1VOSUNPREUoc3Vic3RyaW5nKSwgUHlVbmljb2RlX0dFVF9TSVpFKHN1YnN0cmluZyksCi0gICAgICAgIHN0YXJ0LCBlbmQKLSAgICAgICAgKTsKKyAgICBpZiAoUHlVbmljb2RlX1JFQURZKHNlbGYpID09IC0xKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBpZiAoUHlVbmljb2RlX1JFQURZKHN1YnN0cmluZykgPT0gLTEpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgcmVzdWx0ID0gYW55X2ZpbmRfc2xpY2UoLTEsIHNlbGYsIHN1YnN0cmluZywgc3RhcnQsIGVuZCk7CiAKICAgICBQeV9ERUNSRUYoc3Vic3RyaW5nKTsKIAorICAgIGlmIChyZXN1bHQgPT0gLTIpCisgICAgICAgIHJldHVybiBOVUxMOworCiAgICAgcmV0dXJuIFB5TG9uZ19Gcm9tU3NpemVfdChyZXN1bHQpOwogfQogCkBAIC04NTk5LDkgKzEyNDI4LDkgQEAKIExpa2UgUy5yZmluZCgpIGJ1dCByYWlzZSBWYWx1ZUVycm9yIHdoZW4gdGhlIHN1YnN0cmluZyBpcyBub3QgZm91bmQuIik7CiAKIHN0YXRpYyBQeU9iamVjdCAqCi11bmljb2RlX3JpbmRleChQeVVuaWNvZGVPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQordW5pY29kZV9yaW5kZXgoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQogewotICAgIFB5VW5pY29kZU9iamVjdCAqc3Vic3RyaW5nOworICAgIFB5T2JqZWN0ICpzdWJzdHJpbmc7CiAgICAgUHlfc3NpemVfdCBzdGFydDsKICAgICBQeV9zc2l6ZV90IGVuZDsKICAgICBQeV9zc2l6ZV90IHJlc3VsdDsKQEAgLTg2MTAsMTggKzEyNDM5LDIzIEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZzdGFydCwgJmVuZCkpCiAgICAgICAgIHJldHVybiBOVUxMOwogCi0gICAgcmVzdWx0ID0gc3RyaW5nbGliX3JmaW5kX3NsaWNlKAotICAgICAgICBQeVVuaWNvZGVfQVNfVU5JQ09ERShzZWxmKSwgUHlVbmljb2RlX0dFVF9TSVpFKHNlbGYpLAotICAgICAgICBQeVVuaWNvZGVfQVNfVU5JQ09ERShzdWJzdHJpbmcpLCBQeVVuaWNvZGVfR0VUX1NJWkUoc3Vic3RyaW5nKSwKLSAgICAgICAgc3RhcnQsIGVuZAotICAgICAgICApOworICAgIGlmIChQeVVuaWNvZGVfUkVBRFkoc2VsZikgPT0gLTEpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIGlmIChQeVVuaWNvZGVfUkVBRFkoc3Vic3RyaW5nKSA9PSAtMSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICByZXN1bHQgPSBhbnlfZmluZF9zbGljZSgtMSwgc2VsZiwgc3Vic3RyaW5nLCBzdGFydCwgZW5kKTsKIAogICAgIFB5X0RFQ1JFRihzdWJzdHJpbmcpOwogCisgICAgaWYgKHJlc3VsdCA9PSAtMikKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKICAgICBpZiAocmVzdWx0IDwgMCkgewogICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwgInN1YnN0cmluZyBub3QgZm91bmQiKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQorCiAgICAgcmV0dXJuIFB5TG9uZ19Gcm9tU3NpemVfdChyZXN1bHQpOwogfQogCkBAIC04NjMyLDI1ICsxMjQ2NiwyNSBAQAogZG9uZSB1c2luZyB0aGUgc3BlY2lmaWVkIGZpbGwgY2hhcmFjdGVyIChkZWZhdWx0IGlzIGEgc3BhY2UpLiIpOwogCiBzdGF0aWMgUHlPYmplY3QgKgotdW5pY29kZV9yanVzdChQeVVuaWNvZGVPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQordW5pY29kZV9yanVzdChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCiB7CiAgICAgUHlfc3NpemVfdCB3aWR0aDsKLSAgICBQeV9VTklDT0RFIGZpbGxjaGFyID0gJyAnOworICAgIFB5X1VDUzQgZmlsbGNoYXIgPSAnICc7CiAKICAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIm58TyY6cmp1c3QiLCAmd2lkdGgsIGNvbnZlcnRfdWMsICZmaWxsY2hhcikpCiAgICAgICAgIHJldHVybiBOVUxMOwogCi0gICAgaWYgKHNlbGYtPmxlbmd0aCA+PSB3aWR0aCAmJiBQeVVuaWNvZGVfQ2hlY2tFeGFjdChzZWxmKSkgewotICAgICAgICBQeV9JTkNSRUYoc2VsZik7Ci0gICAgICAgIHJldHVybiAoUHlPYmplY3QqKSBzZWxmOwotICAgIH0KKyAgICBpZiAoUHlVbmljb2RlX1JFQURZKHNlbGYpID09IC0xKQorICAgICAgICByZXR1cm4gTlVMTDsKIAotICAgIHJldHVybiAoUHlPYmplY3QqKSBwYWQoc2VsZiwgd2lkdGggLSBzZWxmLT5sZW5ndGgsIDAsIGZpbGxjaGFyKTsKKyAgICBpZiAoUHlVbmljb2RlX0dFVF9MRU5HVEgoc2VsZikgPj0gd2lkdGgpCisgICAgICAgIHJldHVybiB1bmljb2RlX3Jlc3VsdF91bmNoYW5nZWQoc2VsZik7CisKKyAgICByZXR1cm4gcGFkKHNlbGYsIHdpZHRoIC0gUHlVbmljb2RlX0dFVF9MRU5HVEgoc2VsZiksIDAsIGZpbGxjaGFyKTsKIH0KIAotUHlPYmplY3QgKlB5VW5pY29kZV9TcGxpdChQeU9iamVjdCAqcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgUHlPYmplY3QgKnNlcCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBtYXhzcGxpdCkKK1B5T2JqZWN0ICoKK1B5VW5pY29kZV9TcGxpdChQeU9iamVjdCAqcywgUHlPYmplY3QgKnNlcCwgUHlfc3NpemVfdCBtYXhzcGxpdCkKIHsKICAgICBQeU9iamVjdCAqcmVzdWx0OwogCkBAIC04NjY1LDcgKzEyNDk5LDcgQEAKICAgICAgICAgfQogICAgIH0KIAotICAgIHJlc3VsdCA9IHNwbGl0KChQeVVuaWNvZGVPYmplY3QgKilzLCAoUHlVbmljb2RlT2JqZWN0ICopc2VwLCBtYXhzcGxpdCk7CisgICAgcmVzdWx0ID0gc3BsaXQocywgc2VwLCBtYXhzcGxpdCk7CiAKICAgICBQeV9ERUNSRUYocyk7CiAgICAgUHlfWERFQ1JFRihzZXApOwpAQCAtODY3Myw3ICsxMjUwNyw3IEBACiB9CiAKIFB5RG9jX1NUUlZBUihzcGxpdF9fZG9jX18sCi0gICAgICAgICAgICAgIlMuc3BsaXQoW3NlcFssIG1heHNwbGl0XV0pIC0+IGxpc3Qgb2Ygc3RyaW5nc1xuXAorICAgICAgICAgICAgICJTLnNwbGl0KHNlcD1Ob25lLCBtYXhzcGxpdD0tMSkgLT4gbGlzdCBvZiBzdHJpbmdzXG5cCiBcblwKIFJldHVybiBhIGxpc3Qgb2YgdGhlIHdvcmRzIGluIFMsIHVzaW5nIHNlcCBhcyB0aGVcblwKIGRlbGltaXRlciBzdHJpbmcuICBJZiBtYXhzcGxpdCBpcyBnaXZlbiwgYXQgbW9zdCBtYXhzcGxpdFxuXApAQCAtODY4MiwyMCArMTI1MTYsMjIgQEAKIHJlbW92ZWQgZnJvbSB0aGUgcmVzdWx0LiIpOwogCiBzdGF0aWMgUHlPYmplY3QqCi11bmljb2RlX3NwbGl0KFB5VW5pY29kZU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCit1bmljb2RlX3NwbGl0KFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3ZHMpCiB7CisgICAgc3RhdGljIGNoYXIgKmt3bGlzdFtdID0geyJzZXAiLCAibWF4c3BsaXQiLCAwfTsKICAgICBQeU9iamVjdCAqc3Vic3RyaW5nID0gUHlfTm9uZTsKICAgICBQeV9zc2l6ZV90IG1heGNvdW50ID0gLTE7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgInxPbjpzcGxpdCIsICZzdWJzdHJpbmcsICZtYXhjb3VudCkpCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dkcywgInxPbjpzcGxpdCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga3dsaXN0LCAmc3Vic3RyaW5nLCAmbWF4Y291bnQpKQogICAgICAgICByZXR1cm4gTlVMTDsKIAogICAgIGlmIChzdWJzdHJpbmcgPT0gUHlfTm9uZSkKICAgICAgICAgcmV0dXJuIHNwbGl0KHNlbGYsIE5VTEwsIG1heGNvdW50KTsKICAgICBlbHNlIGlmIChQeVVuaWNvZGVfQ2hlY2soc3Vic3RyaW5nKSkKLSAgICAgICAgcmV0dXJuIHNwbGl0KHNlbGYsIChQeVVuaWNvZGVPYmplY3QgKilzdWJzdHJpbmcsIG1heGNvdW50KTsKKyAgICAgICAgcmV0dXJuIHNwbGl0KHNlbGYsIHN1YnN0cmluZywgbWF4Y291bnQpOwogICAgIGVsc2UKLSAgICAgICAgcmV0dXJuIFB5VW5pY29kZV9TcGxpdCgoUHlPYmplY3QgKilzZWxmLCBzdWJzdHJpbmcsIG1heGNvdW50KTsKKyAgICAgICAgcmV0dXJuIFB5VW5pY29kZV9TcGxpdChzZWxmLCBzdWJzdHJpbmcsIG1heGNvdW50KTsKIH0KIAogUHlPYmplY3QgKgpAQCAtODcwNCw2ICsxMjU0MCw5IEBACiAgICAgUHlPYmplY3QqIHN0cl9vYmo7CiAgICAgUHlPYmplY3QqIHNlcF9vYmo7CiAgICAgUHlPYmplY3QqIG91dDsKKyAgICBpbnQga2luZDEsIGtpbmQyLCBraW5kOworICAgIHZvaWQgKmJ1ZjEgPSBOVUxMLCAqYnVmMiA9IE5VTEw7CisgICAgUHlfc3NpemVfdCBsZW4xLCBsZW4yOwogCiAgICAgc3RyX29iaiA9IFB5VW5pY29kZV9Gcm9tT2JqZWN0KHN0cl9pbik7CiAgICAgaWYgKCFzdHJfb2JqKQpAQCAtODcxMywxNiArMTI1NTIsNjIgQEAKICAgICAgICAgUHlfREVDUkVGKHN0cl9vYmopOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CisgICAgaWYgKFB5VW5pY29kZV9SRUFEWShzZXBfb2JqKSA9PSAtMSB8fCBQeVVuaWNvZGVfUkVBRFkoc3RyX29iaikgPT0gLTEpIHsKKyAgICAgICAgUHlfREVDUkVGKHNlcF9vYmopOworICAgICAgICBQeV9ERUNSRUYoc3RyX29iaik7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KIAotICAgIG91dCA9IHN0cmluZ2xpYl9wYXJ0aXRpb24oCi0gICAgICAgIHN0cl9vYmosIFB5VW5pY29kZV9BU19VTklDT0RFKHN0cl9vYmopLCBQeVVuaWNvZGVfR0VUX1NJWkUoc3RyX29iaiksCi0gICAgICAgIHNlcF9vYmosIFB5VW5pY29kZV9BU19VTklDT0RFKHNlcF9vYmopLCBQeVVuaWNvZGVfR0VUX1NJWkUoc2VwX29iaikKLSAgICAgICAgKTsKKyAgICBraW5kMSA9IFB5VW5pY29kZV9LSU5EKHN0cl9vYmopOworICAgIGtpbmQyID0gUHlVbmljb2RlX0tJTkQoc2VwX29iaik7CisgICAga2luZCA9IFB5X01BWChraW5kMSwga2luZDIpOworICAgIGJ1ZjEgPSBQeVVuaWNvZGVfREFUQShzdHJfb2JqKTsKKyAgICBpZiAoa2luZDEgIT0ga2luZCkKKyAgICAgICAgYnVmMSA9IF9QeVVuaWNvZGVfQXNLaW5kKHN0cl9vYmosIGtpbmQpOworICAgIGlmICghYnVmMSkKKyAgICAgICAgZ290byBvbkVycm9yOworICAgIGJ1ZjIgPSBQeVVuaWNvZGVfREFUQShzZXBfb2JqKTsKKyAgICBpZiAoa2luZDIgIT0ga2luZCkKKyAgICAgICAgYnVmMiA9IF9QeVVuaWNvZGVfQXNLaW5kKHNlcF9vYmosIGtpbmQpOworICAgIGlmICghYnVmMikKKyAgICAgICAgZ290byBvbkVycm9yOworICAgIGxlbjEgPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChzdHJfb2JqKTsKKyAgICBsZW4yID0gUHlVbmljb2RlX0dFVF9MRU5HVEgoc2VwX29iaik7CisKKyAgICBzd2l0Y2ggKFB5VW5pY29kZV9LSU5EKHN0cl9vYmopKSB7CisgICAgY2FzZSBQeVVuaWNvZGVfMUJZVEVfS0lORDoKKyAgICAgICAgaWYgKFB5VW5pY29kZV9JU19BU0NJSShzdHJfb2JqKSAmJiBQeVVuaWNvZGVfSVNfQVNDSUkoc2VwX29iaikpCisgICAgICAgICAgICBvdXQgPSBhc2NpaWxpYl9wYXJ0aXRpb24oc3RyX29iaiwgYnVmMSwgbGVuMSwgc2VwX29iaiwgYnVmMiwgbGVuMik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIG91dCA9IHVjczFsaWJfcGFydGl0aW9uKHN0cl9vYmosIGJ1ZjEsIGxlbjEsIHNlcF9vYmosIGJ1ZjIsIGxlbjIpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFB5VW5pY29kZV8yQllURV9LSU5EOgorICAgICAgICBvdXQgPSB1Y3MybGliX3BhcnRpdGlvbihzdHJfb2JqLCBidWYxLCBsZW4xLCBzZXBfb2JqLCBidWYyLCBsZW4yKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBQeVVuaWNvZGVfNEJZVEVfS0lORDoKKyAgICAgICAgb3V0ID0gdWNzNGxpYl9wYXJ0aXRpb24oc3RyX29iaiwgYnVmMSwgbGVuMSwgc2VwX29iaiwgYnVmMiwgbGVuMik7CisgICAgICAgIGJyZWFrOworICAgIGRlZmF1bHQ6CisgICAgICAgIGFzc2VydCgwKTsKKyAgICAgICAgb3V0ID0gMDsKKyAgICB9CiAKICAgICBQeV9ERUNSRUYoc2VwX29iaik7CiAgICAgUHlfREVDUkVGKHN0cl9vYmopOworICAgIGlmIChraW5kMSAhPSBraW5kKQorICAgICAgICBQeU1lbV9GcmVlKGJ1ZjEpOworICAgIGlmIChraW5kMiAhPSBraW5kKQorICAgICAgICBQeU1lbV9GcmVlKGJ1ZjIpOwogCiAgICAgcmV0dXJuIG91dDsKKyAgb25FcnJvcjoKKyAgICBQeV9ERUNSRUYoc2VwX29iaik7CisgICAgUHlfREVDUkVGKHN0cl9vYmopOworICAgIGlmIChraW5kMSAhPSBraW5kICYmIGJ1ZjEpCisgICAgICAgIFB5TWVtX0ZyZWUoYnVmMSk7CisgICAgaWYgKGtpbmQyICE9IGtpbmQgJiYgYnVmMikKKyAgICAgICAgUHlNZW1fRnJlZShidWYyKTsKKyAgICByZXR1cm4gTlVMTDsKIH0KIAogCkBAIC04NzMyLDYgKzEyNjE3LDkgQEAKICAgICBQeU9iamVjdCogc3RyX29iajsKICAgICBQeU9iamVjdCogc2VwX29iajsKICAgICBQeU9iamVjdCogb3V0OworICAgIGludCBraW5kMSwga2luZDIsIGtpbmQ7CisgICAgdm9pZCAqYnVmMSA9IE5VTEwsICpidWYyID0gTlVMTDsKKyAgICBQeV9zc2l6ZV90IGxlbjEsIGxlbjI7CiAKICAgICBzdHJfb2JqID0gUHlVbmljb2RlX0Zyb21PYmplY3Qoc3RyX2luKTsKICAgICBpZiAoIXN0cl9vYmopCkBAIC04NzQyLDE1ICsxMjYzMCw1NiBAQAogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAKLSAgICBvdXQgPSBzdHJpbmdsaWJfcnBhcnRpdGlvbigKLSAgICAgICAgc3RyX29iaiwgUHlVbmljb2RlX0FTX1VOSUNPREUoc3RyX29iaiksIFB5VW5pY29kZV9HRVRfU0laRShzdHJfb2JqKSwKLSAgICAgICAgc2VwX29iaiwgUHlVbmljb2RlX0FTX1VOSUNPREUoc2VwX29iaiksIFB5VW5pY29kZV9HRVRfU0laRShzZXBfb2JqKQotICAgICAgICApOworICAgIGtpbmQxID0gUHlVbmljb2RlX0tJTkQoc3RyX2luKTsKKyAgICBraW5kMiA9IFB5VW5pY29kZV9LSU5EKHNlcF9vYmopOworICAgIGtpbmQgPSBQeV9NQVgoa2luZDEsIGtpbmQyKTsKKyAgICBidWYxID0gUHlVbmljb2RlX0RBVEEoc3RyX2luKTsKKyAgICBpZiAoa2luZDEgIT0ga2luZCkKKyAgICAgICAgYnVmMSA9IF9QeVVuaWNvZGVfQXNLaW5kKHN0cl9pbiwga2luZCk7CisgICAgaWYgKCFidWYxKQorICAgICAgICBnb3RvIG9uRXJyb3I7CisgICAgYnVmMiA9IFB5VW5pY29kZV9EQVRBKHNlcF9vYmopOworICAgIGlmIChraW5kMiAhPSBraW5kKQorICAgICAgICBidWYyID0gX1B5VW5pY29kZV9Bc0tpbmQoc2VwX29iaiwga2luZCk7CisgICAgaWYgKCFidWYyKQorICAgICAgICBnb3RvIG9uRXJyb3I7CisgICAgbGVuMSA9IFB5VW5pY29kZV9HRVRfTEVOR1RIKHN0cl9vYmopOworICAgIGxlbjIgPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChzZXBfb2JqKTsKKworICAgIHN3aXRjaCAoUHlVbmljb2RlX0tJTkQoc3RyX2luKSkgeworICAgIGNhc2UgUHlVbmljb2RlXzFCWVRFX0tJTkQ6CisgICAgICAgIGlmIChQeVVuaWNvZGVfSVNfQVNDSUkoc3RyX29iaikgJiYgUHlVbmljb2RlX0lTX0FTQ0lJKHNlcF9vYmopKQorICAgICAgICAgICAgb3V0ID0gYXNjaWlsaWJfcnBhcnRpdGlvbihzdHJfb2JqLCBidWYxLCBsZW4xLCBzZXBfb2JqLCBidWYyLCBsZW4yKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgb3V0ID0gdWNzMWxpYl9ycGFydGl0aW9uKHN0cl9vYmosIGJ1ZjEsIGxlbjEsIHNlcF9vYmosIGJ1ZjIsIGxlbjIpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFB5VW5pY29kZV8yQllURV9LSU5EOgorICAgICAgICBvdXQgPSB1Y3MybGliX3JwYXJ0aXRpb24oc3RyX29iaiwgYnVmMSwgbGVuMSwgc2VwX29iaiwgYnVmMiwgbGVuMik7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgUHlVbmljb2RlXzRCWVRFX0tJTkQ6CisgICAgICAgIG91dCA9IHVjczRsaWJfcnBhcnRpdGlvbihzdHJfb2JqLCBidWYxLCBsZW4xLCBzZXBfb2JqLCBidWYyLCBsZW4yKTsKKyAgICAgICAgYnJlYWs7CisgICAgZGVmYXVsdDoKKyAgICAgICAgYXNzZXJ0KDApOworICAgICAgICBvdXQgPSAwOworICAgIH0KIAogICAgIFB5X0RFQ1JFRihzZXBfb2JqKTsKICAgICBQeV9ERUNSRUYoc3RyX29iaik7CisgICAgaWYgKGtpbmQxICE9IGtpbmQpCisgICAgICAgIFB5TWVtX0ZyZWUoYnVmMSk7CisgICAgaWYgKGtpbmQyICE9IGtpbmQpCisgICAgICAgIFB5TWVtX0ZyZWUoYnVmMik7CiAKICAgICByZXR1cm4gb3V0OworICBvbkVycm9yOgorICAgIFB5X0RFQ1JFRihzZXBfb2JqKTsKKyAgICBQeV9ERUNSRUYoc3RyX29iaik7CisgICAgaWYgKGtpbmQxICE9IGtpbmQgJiYgYnVmMSkKKyAgICAgICAgUHlNZW1fRnJlZShidWYxKTsKKyAgICBpZiAoa2luZDIgIT0ga2luZCAmJiBidWYyKQorICAgICAgICBQeU1lbV9GcmVlKGJ1ZjIpOworICAgIHJldHVybiBOVUxMOwogfQogCiBQeURvY19TVFJWQVIocGFydGl0aW9uX19kb2NfXywKQEAgLTg3NjEsOSArMTI2OTAsOSBAQAogZm91bmQsIHJldHVybiBTIGFuZCB0d28gZW1wdHkgc3RyaW5ncy4iKTsKIAogc3RhdGljIFB5T2JqZWN0KgotdW5pY29kZV9wYXJ0aXRpb24oUHlVbmljb2RlT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqc2VwYXJhdG9yKQordW5pY29kZV9wYXJ0aXRpb24oUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICpzZXBhcmF0b3IpCiB7Ci0gICAgcmV0dXJuIFB5VW5pY29kZV9QYXJ0aXRpb24oKFB5T2JqZWN0ICopc2VsZiwgc2VwYXJhdG9yKTsKKyAgICByZXR1cm4gUHlVbmljb2RlX1BhcnRpdGlvbihzZWxmLCBzZXBhcmF0b3IpOwogfQogCiBQeURvY19TVFJWQVIocnBhcnRpdGlvbl9fZG9jX18sCkBAIC04Nzc0LDE0ICsxMjcwMywxMyBAQAogc2VwYXJhdG9yIGlzIG5vdCBmb3VuZCwgcmV0dXJuIHR3byBlbXB0eSBzdHJpbmdzIGFuZCBTLiIpOwogCiBzdGF0aWMgUHlPYmplY3QqCi11bmljb2RlX3JwYXJ0aXRpb24oUHlVbmljb2RlT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqc2VwYXJhdG9yKQordW5pY29kZV9ycGFydGl0aW9uKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqc2VwYXJhdG9yKQogewotICAgIHJldHVybiBQeVVuaWNvZGVfUlBhcnRpdGlvbigoUHlPYmplY3QgKilzZWxmLCBzZXBhcmF0b3IpOworICAgIHJldHVybiBQeVVuaWNvZGVfUlBhcnRpdGlvbihzZWxmLCBzZXBhcmF0b3IpOwogfQogCi1QeU9iamVjdCAqUHlVbmljb2RlX1JTcGxpdChQeU9iamVjdCAqcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5T2JqZWN0ICpzZXAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IG1heHNwbGl0KQorUHlPYmplY3QgKgorUHlVbmljb2RlX1JTcGxpdChQeU9iamVjdCAqcywgUHlPYmplY3QgKnNlcCwgUHlfc3NpemVfdCBtYXhzcGxpdCkKIHsKICAgICBQeU9iamVjdCAqcmVzdWx0OwogCkBAIC04Nzk2LDcgKzEyNzI0LDcgQEAKICAgICAgICAgfQogICAgIH0KIAotICAgIHJlc3VsdCA9IHJzcGxpdCgoUHlVbmljb2RlT2JqZWN0ICopcywgKFB5VW5pY29kZU9iamVjdCAqKXNlcCwgbWF4c3BsaXQpOworICAgIHJlc3VsdCA9IHJzcGxpdChzLCBzZXAsIG1heHNwbGl0KTsKIAogICAgIFB5X0RFQ1JFRihzKTsKICAgICBQeV9YREVDUkVGKHNlcCk7CkBAIC04ODA0LDcgKzEyNzMyLDcgQEAKIH0KIAogUHlEb2NfU1RSVkFSKHJzcGxpdF9fZG9jX18sCi0gICAgICAgICAgICAgIlMucnNwbGl0KFtzZXBbLCBtYXhzcGxpdF1dKSAtPiBsaXN0IG9mIHN0cmluZ3NcblwKKyAgICAgICAgICAgICAiUy5yc3BsaXQoc2VwPU5vbmUsIG1heHNwbGl0PS0xKSAtPiBsaXN0IG9mIHN0cmluZ3NcblwKIFxuXAogUmV0dXJuIGEgbGlzdCBvZiB0aGUgd29yZHMgaW4gUywgdXNpbmcgc2VwIGFzIHRoZVxuXAogZGVsaW1pdGVyIHN0cmluZywgc3RhcnRpbmcgYXQgdGhlIGVuZCBvZiB0aGUgc3RyaW5nIGFuZFxuXApAQCAtODgxMywyMCArMTI3NDEsMjIgQEAKIGlzIGEgc2VwYXJhdG9yLiIpOwogCiBzdGF0aWMgUHlPYmplY3QqCi11bmljb2RlX3JzcGxpdChQeVVuaWNvZGVPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQordW5pY29kZV9yc3BsaXQoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dkcykKIHsKKyAgICBzdGF0aWMgY2hhciAqa3dsaXN0W10gPSB7InNlcCIsICJtYXhzcGxpdCIsIDB9OwogICAgIFB5T2JqZWN0ICpzdWJzdHJpbmcgPSBQeV9Ob25lOwogICAgIFB5X3NzaXplX3QgbWF4Y291bnQgPSAtMTsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAifE9uOnJzcGxpdCIsICZzdWJzdHJpbmcsICZtYXhjb3VudCkpCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dkcywgInxPbjpyc3BsaXQiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGt3bGlzdCwgJnN1YnN0cmluZywgJm1heGNvdW50KSkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKICAgICBpZiAoc3Vic3RyaW5nID09IFB5X05vbmUpCiAgICAgICAgIHJldHVybiByc3BsaXQoc2VsZiwgTlVMTCwgbWF4Y291bnQpOwogICAgIGVsc2UgaWYgKFB5VW5pY29kZV9DaGVjayhzdWJzdHJpbmcpKQotICAgICAgICByZXR1cm4gcnNwbGl0KHNlbGYsIChQeVVuaWNvZGVPYmplY3QgKilzdWJzdHJpbmcsIG1heGNvdW50KTsKKyAgICAgICAgcmV0dXJuIHJzcGxpdChzZWxmLCBzdWJzdHJpbmcsIG1heGNvdW50KTsKICAgICBlbHNlCi0gICAgICAgIHJldHVybiBQeVVuaWNvZGVfUlNwbGl0KChQeU9iamVjdCAqKXNlbGYsIHN1YnN0cmluZywgbWF4Y291bnQpOworICAgICAgICByZXR1cm4gUHlVbmljb2RlX1JTcGxpdChzZWxmLCBzdWJzdHJpbmcsIG1heGNvdW50KTsKIH0KIAogUHlEb2NfU1RSVkFSKHNwbGl0bGluZXNfX2RvY19fLApAQCAtODgzNywyNiArMTI3NjcsMjIgQEAKIGlzIGdpdmVuIGFuZCB0cnVlLiIpOwogCiBzdGF0aWMgUHlPYmplY3QqCi11bmljb2RlX3NwbGl0bGluZXMoUHlVbmljb2RlT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK3VuaWNvZGVfc3BsaXRsaW5lcyhQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2RzKQogeworICAgIHN0YXRpYyBjaGFyICprd2xpc3RbXSA9IHsia2VlcGVuZHMiLCAwfTsKICAgICBpbnQga2VlcGVuZHMgPSAwOwogCi0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJ8aTpzcGxpdGxpbmVzIiwgJmtlZXBlbmRzKSkKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2RzLCAifGk6c3BsaXRsaW5lcyIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga3dsaXN0LCAma2VlcGVuZHMpKQogICAgICAgICByZXR1cm4gTlVMTDsKIAotICAgIHJldHVybiBQeVVuaWNvZGVfU3BsaXRsaW5lcygoUHlPYmplY3QgKilzZWxmLCBrZWVwZW5kcyk7CisgICAgcmV0dXJuIFB5VW5pY29kZV9TcGxpdGxpbmVzKHNlbGYsIGtlZXBlbmRzKTsKIH0KIAogc3RhdGljCiBQeU9iamVjdCAqdW5pY29kZV9zdHIoUHlPYmplY3QgKnNlbGYpCiB7Ci0gICAgaWYgKFB5VW5pY29kZV9DaGVja0V4YWN0KHNlbGYpKSB7Ci0gICAgICAgIFB5X0lOQ1JFRihzZWxmKTsKLSAgICAgICAgcmV0dXJuIHNlbGY7Ci0gICAgfSBlbHNlCi0gICAgICAgIC8qIFN1YnR5cGUgLS0gcmV0dXJuIGdlbnVpbmUgdW5pY29kZSBzdHJpbmcgd2l0aCB0aGUgc2FtZSB2YWx1ZS4gKi8KLSAgICAgICAgcmV0dXJuIFB5VW5pY29kZV9Gcm9tVW5pY29kZShQeVVuaWNvZGVfQVNfVU5JQ09ERShzZWxmKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfR0VUX1NJWkUoc2VsZikpOworICAgIHJldHVybiB1bmljb2RlX3Jlc3VsdF91bmNoYW5nZWQoc2VsZik7CiB9CiAKIFB5RG9jX1NUUlZBUihzd2FwY2FzZV9fZG9jX18sCkBAIC04ODY2LDkgKzEyNzkyLDExIEBACiBhbmQgdmljZSB2ZXJzYS4iKTsKIAogc3RhdGljIFB5T2JqZWN0KgotdW5pY29kZV9zd2FwY2FzZShQeVVuaWNvZGVPYmplY3QgKnNlbGYpCit1bmljb2RlX3N3YXBjYXNlKFB5T2JqZWN0ICpzZWxmKQogewotICAgIHJldHVybiBmaXh1cChzZWxmLCBmaXhzd2FwY2FzZSk7CisgICAgaWYgKFB5VW5pY29kZV9SRUFEWShzZWxmKSA9PSAtMSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgcmV0dXJuIGNhc2Vfb3BlcmF0aW9uKHNlbGYsIGRvX3N3YXBjYXNlKTsKIH0KIAogUHlEb2NfU1RSVkFSKG1ha2V0cmFuc19fZG9jX18sCkBAIC04ODg0LDcgKzEyODEyLDcgQEAKIG11c3QgYmUgYSBzdHJpbmcsIHdob3NlIGNoYXJhY3RlcnMgd2lsbCBiZSBtYXBwZWQgdG8gTm9uZSBpbiB0aGUgcmVzdWx0LiIpOwogCiBzdGF0aWMgUHlPYmplY3QqCi11bmljb2RlX21ha2V0cmFucyhQeVVuaWNvZGVPYmplY3QgKm51bGwsIFB5T2JqZWN0ICphcmdzKQordW5pY29kZV9tYWtldHJhbnMoUHlPYmplY3QgKm51bGwsIFB5T2JqZWN0ICphcmdzKQogewogICAgIFB5T2JqZWN0ICp4LCAqeSA9IE5VTEwsICp6ID0gTlVMTDsKICAgICBQeU9iamVjdCAqbmV3ID0gTlVMTCwgKmtleSwgKnZhbHVlOwpAQCAtODg5NywyNCArMTI4MjUsMzAgQEAKICAgICBpZiAoIW5ldykKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgaWYgKHkgIT0gTlVMTCkgeworICAgICAgICBpbnQgeF9raW5kLCB5X2tpbmQsIHpfa2luZDsKKyAgICAgICAgdm9pZCAqeF9kYXRhLCAqeV9kYXRhLCAqel9kYXRhOworCiAgICAgICAgIC8qIHggbXVzdCBiZSBhIHN0cmluZyB0b28sIG9mIGVxdWFsIGxlbmd0aCAqLwotICAgICAgICBQeV9zc2l6ZV90IHlsZW4gPSBQeVVuaWNvZGVfR0VUX1NJWkUoeSk7CiAgICAgICAgIGlmICghUHlVbmljb2RlX0NoZWNrKHgpKSB7CiAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCAiZmlyc3QgbWFrZXRyYW5zIGFyZ3VtZW50IG11c3QgIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICJiZSBhIHN0cmluZyBpZiB0aGVyZSBpcyBhIHNlY29uZCBhcmd1bWVudCIpOwogICAgICAgICAgICAgZ290byBlcnI7CiAgICAgICAgIH0KLSAgICAgICAgaWYgKFB5VW5pY29kZV9HRVRfU0laRSh4KSAhPSB5bGVuKSB7CisgICAgICAgIGlmIChQeVVuaWNvZGVfR0VUX0xFTkdUSCh4KSAhPSBQeVVuaWNvZGVfR0VUX0xFTkdUSCh5KSkgewogICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsICJ0aGUgZmlyc3QgdHdvIG1ha2V0cmFucyAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFyZ3VtZW50cyBtdXN0IGhhdmUgZXF1YWwgbGVuZ3RoIik7CiAgICAgICAgICAgICBnb3RvIGVycjsKICAgICAgICAgfQogICAgICAgICAvKiBjcmVhdGUgZW50cmllcyBmb3IgdHJhbnNsYXRpbmcgY2hhcnMgaW4geCB0byB0aG9zZSBpbiB5ICovCi0gICAgICAgIGZvciAoaSA9IDA7IGkgPCBQeVVuaWNvZGVfR0VUX1NJWkUoeCk7IGkrKykgewotICAgICAgICAgICAga2V5ID0gUHlMb25nX0Zyb21Mb25nKFB5VW5pY29kZV9BU19VTklDT0RFKHgpW2ldKTsKKyAgICAgICAgeF9raW5kID0gUHlVbmljb2RlX0tJTkQoeCk7CisgICAgICAgIHlfa2luZCA9IFB5VW5pY29kZV9LSU5EKHkpOworICAgICAgICB4X2RhdGEgPSBQeVVuaWNvZGVfREFUQSh4KTsKKyAgICAgICAgeV9kYXRhID0gUHlVbmljb2RlX0RBVEEoeSk7CisgICAgICAgIGZvciAoaSA9IDA7IGkgPCBQeVVuaWNvZGVfR0VUX0xFTkdUSCh4KTsgaSsrKSB7CisgICAgICAgICAgICBrZXkgPSBQeUxvbmdfRnJvbUxvbmcoUHlVbmljb2RlX1JFQUQoeF9raW5kLCB4X2RhdGEsIGkpKTsKICAgICAgICAgICAgIGlmICgha2V5KQogICAgICAgICAgICAgICAgIGdvdG8gZXJyOwotICAgICAgICAgICAgdmFsdWUgPSBQeUxvbmdfRnJvbUxvbmcoUHlVbmljb2RlX0FTX1VOSUNPREUoeSlbaV0pOworICAgICAgICAgICAgdmFsdWUgPSBQeUxvbmdfRnJvbUxvbmcoUHlVbmljb2RlX1JFQUQoeV9raW5kLCB5X2RhdGEsIGkpKTsKICAgICAgICAgICAgIGlmICghdmFsdWUpIHsKICAgICAgICAgICAgICAgICBQeV9ERUNSRUYoa2V5KTsKICAgICAgICAgICAgICAgICBnb3RvIGVycjsKQEAgLTg5MjcsOCArMTI4NjEsMTAgQEAKICAgICAgICAgfQogICAgICAgICAvKiBjcmVhdGUgZW50cmllcyBmb3IgZGVsZXRpbmcgY2hhcnMgaW4geiAqLwogICAgICAgICBpZiAoeiAhPSBOVUxMKSB7Ci0gICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgUHlVbmljb2RlX0dFVF9TSVpFKHopOyBpKyspIHsKLSAgICAgICAgICAgICAgICBrZXkgPSBQeUxvbmdfRnJvbUxvbmcoUHlVbmljb2RlX0FTX1VOSUNPREUoeilbaV0pOworICAgICAgICAgICAgel9raW5kID0gUHlVbmljb2RlX0tJTkQoeik7CisgICAgICAgICAgICB6X2RhdGEgPSBQeVVuaWNvZGVfREFUQSh6KTsKKyAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBQeVVuaWNvZGVfR0VUX0xFTkdUSCh6KTsgaSsrKSB7CisgICAgICAgICAgICAgICAga2V5ID0gUHlMb25nX0Zyb21Mb25nKFB5VW5pY29kZV9SRUFEKHpfa2luZCwgel9kYXRhLCBpKSk7CiAgICAgICAgICAgICAgICAgaWYgKCFrZXkpCiAgICAgICAgICAgICAgICAgICAgIGdvdG8gZXJyOwogICAgICAgICAgICAgICAgIHJlcyA9IFB5RGljdF9TZXRJdGVtKG5ldywga2V5LCBQeV9Ob25lKTsKQEAgLTg5MzgsNiArMTI4NzQsOSBAQAogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfSBlbHNlIHsKKyAgICAgICAgaW50IGtpbmQ7CisgICAgICAgIHZvaWQgKmRhdGE7CisKICAgICAgICAgLyogeCBtdXN0IGJlIGEgZGljdCAqLwogICAgICAgICBpZiAoIVB5RGljdF9DaGVja0V4YWN0KHgpKSB7CiAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCAiaWYgeW91IGdpdmUgb25seSBvbmUgYXJndW1lbnQgIgpAQCAtODk0OSwxMiArMTI4ODgsMTQgQEAKICAgICAgICAgICAgIGlmIChQeVVuaWNvZGVfQ2hlY2soa2V5KSkgewogICAgICAgICAgICAgICAgIC8qIGNvbnZlcnQgc3RyaW5nIGtleXMgdG8gaW50ZWdlciBrZXlzICovCiAgICAgICAgICAgICAgICAgUHlPYmplY3QgKm5ld2tleTsKLSAgICAgICAgICAgICAgICBpZiAoUHlVbmljb2RlX0dFVF9TSVpFKGtleSkgIT0gMSkgeworICAgICAgICAgICAgICAgIGlmIChQeVVuaWNvZGVfR0VUX0xFTkdUSChrZXkpICE9IDEpIHsKICAgICAgICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsICJzdHJpbmcga2V5cyBpbiB0cmFuc2xhdGUgIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRhYmxlIG11c3QgYmUgb2YgbGVuZ3RoIDEiKTsKICAgICAgICAgICAgICAgICAgICAgZ290byBlcnI7CiAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIG5ld2tleSA9IFB5TG9uZ19Gcm9tTG9uZyhQeVVuaWNvZGVfQVNfVU5JQ09ERShrZXkpWzBdKTsKKyAgICAgICAgICAgICAgICBraW5kID0gUHlVbmljb2RlX0tJTkQoa2V5KTsKKyAgICAgICAgICAgICAgICBkYXRhID0gUHlVbmljb2RlX0RBVEEoa2V5KTsKKyAgICAgICAgICAgICAgICBuZXdrZXkgPSBQeUxvbmdfRnJvbUxvbmcoUHlVbmljb2RlX1JFQUQoa2luZCwgZGF0YSwgMCkpOwogICAgICAgICAgICAgICAgIGlmICghbmV3a2V5KQogICAgICAgICAgICAgICAgICAgICBnb3RvIGVycjsKICAgICAgICAgICAgICAgICByZXMgPSBQeURpY3RfU2V0SXRlbShuZXcsIG5ld2tleSwgdmFsdWUpOwpAQCAtODk4OCw5ICsxMjkyOSw5IEBACiBhcmUgZGVsZXRlZC4iKTsKIAogc3RhdGljIFB5T2JqZWN0KgotdW5pY29kZV90cmFuc2xhdGUoUHlVbmljb2RlT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqdGFibGUpCit1bmljb2RlX3RyYW5zbGF0ZShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKnRhYmxlKQogewotICAgIHJldHVybiBQeVVuaWNvZGVfVHJhbnNsYXRlQ2hhcm1hcChzZWxmLT5zdHIsIHNlbGYtPmxlbmd0aCwgdGFibGUsICJpZ25vcmUiKTsKKyAgICByZXR1cm4gX1B5VW5pY29kZV9UcmFuc2xhdGVDaGFybWFwKHNlbGYsIHRhYmxlLCAiaWdub3JlIik7CiB9CiAKIFB5RG9jX1NUUlZBUih1cHBlcl9fZG9jX18sCkBAIC04OTk5LDkgKzEyOTQwLDEzIEBACiBSZXR1cm4gYSBjb3B5IG9mIFMgY29udmVydGVkIHRvIHVwcGVyY2FzZS4iKTsKIAogc3RhdGljIFB5T2JqZWN0KgotdW5pY29kZV91cHBlcihQeVVuaWNvZGVPYmplY3QgKnNlbGYpCit1bmljb2RlX3VwcGVyKFB5T2JqZWN0ICpzZWxmKQogewotICAgIHJldHVybiBmaXh1cChzZWxmLCBmaXh1cHBlcik7CisgICAgaWYgKFB5VW5pY29kZV9SRUFEWShzZWxmKSA9PSAtMSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgaWYgKFB5VW5pY29kZV9JU19BU0NJSShzZWxmKSkKKyAgICAgICAgcmV0dXJuIGFzY2lpX3VwcGVyX29yX2xvd2VyKHNlbGYsIDApOworICAgIHJldHVybiBjYXNlX29wZXJhdGlvbihzZWxmLCBkb191cHBlcik7CiB9CiAKIFB5RG9jX1NUUlZBUih6ZmlsbF9fZG9jX18sCkBAIC05MDExLDU1ICsxMjk1Niw1MCBAQAogb2YgdGhlIHNwZWNpZmllZCB3aWR0aC4gVGhlIHN0cmluZyBTIGlzIG5ldmVyIHRydW5jYXRlZC4iKTsKIAogc3RhdGljIFB5T2JqZWN0ICoKLXVuaWNvZGVfemZpbGwoUHlVbmljb2RlT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKK3VuaWNvZGVfemZpbGwoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQogewogICAgIFB5X3NzaXplX3QgZmlsbDsKLSAgICBQeVVuaWNvZGVPYmplY3QgKnU7Ci0KKyAgICBQeU9iamVjdCAqdTsKICAgICBQeV9zc2l6ZV90IHdpZHRoOworICAgIGludCBraW5kOworICAgIHZvaWQgKmRhdGE7CisgICAgUHlfVUNTNCBjaHI7CisKICAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIm46emZpbGwiLCAmd2lkdGgpKQogICAgICAgICByZXR1cm4gTlVMTDsKIAotICAgIGlmIChzZWxmLT5sZW5ndGggPj0gd2lkdGgpIHsKLSAgICAgICAgaWYgKFB5VW5pY29kZV9DaGVja0V4YWN0KHNlbGYpKSB7Ci0gICAgICAgICAgICBQeV9JTkNSRUYoc2VsZik7Ci0gICAgICAgICAgICByZXR1cm4gKFB5T2JqZWN0Kikgc2VsZjsKLSAgICAgICAgfQotICAgICAgICBlbHNlCi0gICAgICAgICAgICByZXR1cm4gUHlVbmljb2RlX0Zyb21Vbmljb2RlKAotICAgICAgICAgICAgICAgIFB5VW5pY29kZV9BU19VTklDT0RFKHNlbGYpLAotICAgICAgICAgICAgICAgIFB5VW5pY29kZV9HRVRfU0laRShzZWxmKQotICAgICAgICAgICAgICAgICk7Ci0gICAgfQorICAgIGlmIChQeVVuaWNvZGVfUkVBRFkoc2VsZikgPT0gLTEpCisgICAgICAgIHJldHVybiBOVUxMOwogCi0gICAgZmlsbCA9IHdpZHRoIC0gc2VsZi0+bGVuZ3RoOworICAgIGlmIChQeVVuaWNvZGVfR0VUX0xFTkdUSChzZWxmKSA+PSB3aWR0aCkKKyAgICAgICAgcmV0dXJuIHVuaWNvZGVfcmVzdWx0X3VuY2hhbmdlZChzZWxmKTsKKworICAgIGZpbGwgPSB3aWR0aCAtIFB5VW5pY29kZV9HRVRfTEVOR1RIKHNlbGYpOwogCiAgICAgdSA9IHBhZChzZWxmLCBmaWxsLCAwLCAnMCcpOwogCiAgICAgaWYgKHUgPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKLSAgICBpZiAodS0+c3RyW2ZpbGxdID09ICcrJyB8fCB1LT5zdHJbZmlsbF0gPT0gJy0nKSB7CisgICAga2luZCA9IFB5VW5pY29kZV9LSU5EKHUpOworICAgIGRhdGEgPSBQeVVuaWNvZGVfREFUQSh1KTsKKyAgICBjaHIgPSBQeVVuaWNvZGVfUkVBRChraW5kLCBkYXRhLCBmaWxsKTsKKworICAgIGlmIChjaHIgPT0gJysnIHx8IGNociA9PSAnLScpIHsKICAgICAgICAgLyogbW92ZSBzaWduIHRvIGJlZ2lubmluZyBvZiBzdHJpbmcgKi8KLSAgICAgICAgdS0+c3RyWzBdID0gdS0+c3RyW2ZpbGxdOwotICAgICAgICB1LT5zdHJbZmlsbF0gPSAnMCc7CisgICAgICAgIFB5VW5pY29kZV9XUklURShraW5kLCBkYXRhLCAwLCBjaHIpOworICAgICAgICBQeVVuaWNvZGVfV1JJVEUoa2luZCwgZGF0YSwgZmlsbCwgJzAnKTsKICAgICB9CiAKLSAgICByZXR1cm4gKFB5T2JqZWN0KikgdTsKKyAgICBhc3NlcnQoX1B5VW5pY29kZV9DaGVja0NvbnNpc3RlbmN5KHUsIDEpKTsKKyAgICByZXR1cm4gdTsKIH0KIAogI2lmIDAKLXN0YXRpYyBQeU9iamVjdCoKLXVuaWNvZGVfZnJlZWxpc3RzaXplKFB5VW5pY29kZU9iamVjdCAqc2VsZikKLXsKLSAgICByZXR1cm4gUHlMb25nX0Zyb21Mb25nKG51bWZyZWUpOwotfQotCiBzdGF0aWMgUHlPYmplY3QgKgogdW5pY29kZV9fZGVjaW1hbDJhc2NpaShQeU9iamVjdCAqc2VsZikKIHsKLSAgICByZXR1cm4gUHlVbmljb2RlX1RyYW5zZm9ybURlY2ltYWxUb0FTQ0lJKFB5VW5pY29kZV9BU19VTklDT0RFKHNlbGYpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0dFVF9TSVpFKHNlbGYpKTsKKyAgICByZXR1cm4gUHlVbmljb2RlX1RyYW5zZm9ybURlY2ltYWxBbmRTcGFjZVRvQVNDSUkoc2VsZik7CiB9CiAjZW5kaWYKIApAQCAtOTA3MiwxMSArMTMwMTIsMTEgQEAKIHByZWZpeCBjYW4gYWxzbyBiZSBhIHR1cGxlIG9mIHN0cmluZ3MgdG8gdHJ5LiIpOwogCiBzdGF0aWMgUHlPYmplY3QgKgotdW5pY29kZV9zdGFydHN3aXRoKFB5VW5pY29kZU9iamVjdCAqc2VsZiwKK3VuaWNvZGVfc3RhcnRzd2l0aChQeU9iamVjdCAqc2VsZiwKICAgICAgICAgICAgICAgICAgICBQeU9iamVjdCAqYXJncykKIHsKICAgICBQeU9iamVjdCAqc3Vib2JqOwotICAgIFB5VW5pY29kZU9iamVjdCAqc3Vic3RyaW5nOworICAgIFB5T2JqZWN0ICpzdWJzdHJpbmc7CiAgICAgUHlfc3NpemVfdCBzdGFydCA9IDA7CiAgICAgUHlfc3NpemVfdCBlbmQgPSBQWV9TU0laRV9UX01BWDsKICAgICBpbnQgcmVzdWx0OwpAQCAtOTA4Niw4ICsxMzAyNiw3IEBACiAgICAgaWYgKFB5VHVwbGVfQ2hlY2soc3Vib2JqKSkgewogICAgICAgICBQeV9zc2l6ZV90IGk7CiAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBQeVR1cGxlX0dFVF9TSVpFKHN1Ym9iaik7IGkrKykgewotICAgICAgICAgICAgc3Vic3RyaW5nID0gKFB5VW5pY29kZU9iamVjdCAqKVB5VW5pY29kZV9Gcm9tT2JqZWN0KAotICAgICAgICAgICAgICAgIFB5VHVwbGVfR0VUX0lURU0oc3Vib2JqLCBpKSk7CisgICAgICAgICAgICBzdWJzdHJpbmcgPSBQeVVuaWNvZGVfRnJvbU9iamVjdChQeVR1cGxlX0dFVF9JVEVNKHN1Ym9iaiwgaSkpOwogICAgICAgICAgICAgaWYgKHN1YnN0cmluZyA9PSBOVUxMKQogICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICAgICAgcmVzdWx0ID0gdGFpbG1hdGNoKHNlbGYsIHN1YnN0cmluZywgc3RhcnQsIGVuZCwgLTEpOwpAQCAtOTA5OSw3ICsxMzAzOCw3IEBACiAgICAgICAgIC8qIG5vdGhpbmcgbWF0Y2hlZCAqLwogICAgICAgICBQeV9SRVRVUk5fRkFMU0U7CiAgICAgfQotICAgIHN1YnN0cmluZyA9IChQeVVuaWNvZGVPYmplY3QgKilQeVVuaWNvZGVfRnJvbU9iamVjdChzdWJvYmopOworICAgIHN1YnN0cmluZyA9IFB5VW5pY29kZV9Gcm9tT2JqZWN0KHN1Ym9iaik7CiAgICAgaWYgKHN1YnN0cmluZyA9PSBOVUxMKSB7CiAgICAgICAgIGlmIChQeUVycl9FeGNlcHRpb25NYXRjaGVzKFB5RXhjX1R5cGVFcnJvcikpCiAgICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLCAic3RhcnRzd2l0aCBmaXJzdCBhcmcgbXVzdCBiZSBzdHIgb3IgIgpAQCAtOTEyMSwxMSArMTMwNjAsMTEgQEAKIHN1ZmZpeCBjYW4gYWxzbyBiZSBhIHR1cGxlIG9mIHN0cmluZ3MgdG8gdHJ5LiIpOwogCiBzdGF0aWMgUHlPYmplY3QgKgotdW5pY29kZV9lbmRzd2l0aChQeVVuaWNvZGVPYmplY3QgKnNlbGYsCit1bmljb2RlX2VuZHN3aXRoKFB5T2JqZWN0ICpzZWxmLAogICAgICAgICAgICAgICAgICBQeU9iamVjdCAqYXJncykKIHsKICAgICBQeU9iamVjdCAqc3Vib2JqOwotICAgIFB5VW5pY29kZU9iamVjdCAqc3Vic3RyaW5nOworICAgIFB5T2JqZWN0ICpzdWJzdHJpbmc7CiAgICAgUHlfc3NpemVfdCBzdGFydCA9IDA7CiAgICAgUHlfc3NpemVfdCBlbmQgPSBQWV9TU0laRV9UX01BWDsKICAgICBpbnQgcmVzdWx0OwpAQCAtOTEzNSw3ICsxMzA3NCw3IEBACiAgICAgaWYgKFB5VHVwbGVfQ2hlY2soc3Vib2JqKSkgewogICAgICAgICBQeV9zc2l6ZV90IGk7CiAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBQeVR1cGxlX0dFVF9TSVpFKHN1Ym9iaik7IGkrKykgewotICAgICAgICAgICAgc3Vic3RyaW5nID0gKFB5VW5pY29kZU9iamVjdCAqKVB5VW5pY29kZV9Gcm9tT2JqZWN0KAorICAgICAgICAgICAgc3Vic3RyaW5nID0gUHlVbmljb2RlX0Zyb21PYmplY3QoCiAgICAgICAgICAgICAgICAgUHlUdXBsZV9HRVRfSVRFTShzdWJvYmosIGkpKTsKICAgICAgICAgICAgIGlmIChzdWJzdHJpbmcgPT0gTlVMTCkKICAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKQEAgLTkxNDcsNyArMTMwODYsNyBAQAogICAgICAgICB9CiAgICAgICAgIFB5X1JFVFVSTl9GQUxTRTsKICAgICB9Ci0gICAgc3Vic3RyaW5nID0gKFB5VW5pY29kZU9iamVjdCAqKVB5VW5pY29kZV9Gcm9tT2JqZWN0KHN1Ym9iaik7CisgICAgc3Vic3RyaW5nID0gUHlVbmljb2RlX0Zyb21PYmplY3Qoc3Vib2JqKTsKICAgICBpZiAoc3Vic3RyaW5nID09IE5VTEwpIHsKICAgICAgICAgaWYgKFB5RXJyX0V4Y2VwdGlvbk1hdGNoZXMoUHlFeGNfVHlwZUVycm9yKSkKICAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsICJlbmRzd2l0aCBmaXJzdCBhcmcgbXVzdCBiZSBzdHIgb3IgIgpAQCAtOTE1OSw3ICsxMzA5OCw3IEBACiAgICAgcmV0dXJuIFB5Qm9vbF9Gcm9tTG9uZyhyZXN1bHQpOwogfQogCi0jaW5jbHVkZSAic3RyaW5nbGliL3N0cmluZ19mb3JtYXQuaCIKKyNpbmNsdWRlICJzdHJpbmdsaWIvdW5pY29kZV9mb3JtYXQuaCIKIAogUHlEb2NfU1RSVkFSKGZvcm1hdF9fZG9jX18sCiAgICAgICAgICAgICAgIlMuZm9ybWF0KCphcmdzLCAqKmt3YXJncykgLT4gc3RyXG5cCkBAIC05MTc2LDE0ICsxMzExNSwxNCBAQAogc3RhdGljIFB5T2JqZWN0ICoKIHVuaWNvZGVfX2Zvcm1hdF9fKFB5T2JqZWN0KiBzZWxmLCBQeU9iamVjdCogYXJncykKIHsKLSAgICBQeU9iamVjdCAqZm9ybWF0X3NwZWM7CisgICAgUHlPYmplY3QgKmZvcm1hdF9zcGVjLCAqb3V0OwogCiAgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJVOl9fZm9ybWF0X18iLCAmZm9ybWF0X3NwZWMpKQogICAgICAgICByZXR1cm4gTlVMTDsKIAotICAgIHJldHVybiBfUHlVbmljb2RlX0Zvcm1hdEFkdmFuY2VkKHNlbGYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0FTX1VOSUNPREUoZm9ybWF0X3NwZWMpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9HRVRfU0laRShmb3JtYXRfc3BlYykpOworICAgIG91dCA9IF9QeVVuaWNvZGVfRm9ybWF0QWR2YW5jZWQoc2VsZiwgZm9ybWF0X3NwZWMsIDAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0dFVF9MRU5HVEgoZm9ybWF0X3NwZWMpKTsKKyAgICByZXR1cm4gb3V0OwogfQogCiBQeURvY19TVFJWQVIocF9mb3JtYXRfX2RvY19fLApAQCAtOTE5MiwxOSArMTMxMzEsNDUgQEAKIFJldHVybiBhIGZvcm1hdHRlZCB2ZXJzaW9uIG9mIFMgYXMgZGVzY3JpYmVkIGJ5IGZvcm1hdF9zcGVjLiIpOwogCiBzdGF0aWMgUHlPYmplY3QgKgotdW5pY29kZV9fc2l6ZW9mX18oUHlVbmljb2RlT2JqZWN0ICp2KQordW5pY29kZV9fc2l6ZW9mX18oUHlPYmplY3QgKnYpCiB7Ci0gICAgcmV0dXJuIFB5TG9uZ19Gcm9tU3NpemVfdChzaXplb2YoUHlVbmljb2RlT2JqZWN0KSArCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YoUHlfVU5JQ09ERSkgKiAodi0+bGVuZ3RoICsgMSkpOworICAgIFB5X3NzaXplX3Qgc2l6ZTsKKworICAgIC8qIElmIGl0J3MgYSBjb21wYWN0IG9iamVjdCwgYWNjb3VudCBmb3IgYmFzZSBzdHJ1Y3R1cmUgKworICAgICAgIGNoYXJhY3RlciBkYXRhLiAqLworICAgIGlmIChQeVVuaWNvZGVfSVNfQ09NUEFDVF9BU0NJSSh2KSkKKyAgICAgICAgc2l6ZSA9IHNpemVvZihQeUFTQ0lJT2JqZWN0KSArIFB5VW5pY29kZV9HRVRfTEVOR1RIKHYpICsgMTsKKyAgICBlbHNlIGlmIChQeVVuaWNvZGVfSVNfQ09NUEFDVCh2KSkKKyAgICAgICAgc2l6ZSA9IHNpemVvZihQeUNvbXBhY3RVbmljb2RlT2JqZWN0KSArCisgICAgICAgICAgICAoUHlVbmljb2RlX0dFVF9MRU5HVEgodikgKyAxKSAqIFB5VW5pY29kZV9LSU5EKHYpOworICAgIGVsc2UgeworICAgICAgICAvKiBJZiBpdCBpcyBhIHR3by1ibG9jayBvYmplY3QsIGFjY291bnQgZm9yIGJhc2Ugb2JqZWN0LCBhbmQKKyAgICAgICAgICAgZm9yIGNoYXJhY3RlciBibG9jayBpZiBwcmVzZW50LiAqLworICAgICAgICBzaXplID0gc2l6ZW9mKFB5VW5pY29kZU9iamVjdCk7CisgICAgICAgIGlmIChfUHlVbmljb2RlX0RBVEFfQU5ZKHYpKQorICAgICAgICAgICAgc2l6ZSArPSAoUHlVbmljb2RlX0dFVF9MRU5HVEgodikgKyAxKSAqCisgICAgICAgICAgICAgICAgUHlVbmljb2RlX0tJTkQodik7CisgICAgfQorICAgIC8qIElmIHRoZSB3c3RyIHBvaW50ZXIgaXMgcHJlc2VudCwgYWNjb3VudCBmb3IgaXQgdW5sZXNzIGl0IGlzIHNoYXJlZAorICAgICAgIHdpdGggdGhlIGRhdGEgcG9pbnRlci4gQ2hlY2sgaWYgdGhlIGRhdGEgaXMgbm90IHNoYXJlZC4gKi8KKyAgICBpZiAoX1B5VW5pY29kZV9IQVNfV1NUUl9NRU1PUlkodikpCisgICAgICAgIHNpemUgKz0gKFB5VW5pY29kZV9XU1RSX0xFTkdUSCh2KSArIDEpICogc2l6ZW9mKHdjaGFyX3QpOworICAgIGlmIChfUHlVbmljb2RlX0hBU19VVEY4X01FTU9SWSh2KSkKKyAgICAgICAgc2l6ZSArPSBQeVVuaWNvZGVfVVRGOF9MRU5HVEgodikgKyAxOworCisgICAgcmV0dXJuIFB5TG9uZ19Gcm9tU3NpemVfdChzaXplKTsKIH0KIAogUHlEb2NfU1RSVkFSKHNpemVvZl9fZG9jX18sCiAgICAgICAgICAgICAgIlMuX19zaXplb2ZfXygpIC0+IHNpemUgb2YgUyBpbiBtZW1vcnksIGluIGJ5dGVzIik7CiAKIHN0YXRpYyBQeU9iamVjdCAqCi11bmljb2RlX2dldG5ld2FyZ3MoUHlVbmljb2RlT2JqZWN0ICp2KQordW5pY29kZV9nZXRuZXdhcmdzKFB5T2JqZWN0ICp2KQogewotICAgIHJldHVybiBQeV9CdWlsZFZhbHVlKCIodSMpIiwgdi0+c3RyLCB2LT5sZW5ndGgpOworICAgIFB5T2JqZWN0ICpjb3B5ID0gX1B5VW5pY29kZV9Db3B5KHYpOworICAgIGlmICghY29weSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgcmV0dXJuIFB5X0J1aWxkVmFsdWUoIihOKSIsIGNvcHkpOwogfQogCiBzdGF0aWMgUHlNZXRob2REZWYgdW5pY29kZV9tZXRob2RzW10gPSB7CkBAIC05MjE0LDEwICsxMzE3OSwxMSBAQAogCiAgICAgeyJlbmNvZGUiLCAoUHlDRnVuY3Rpb24pIHVuaWNvZGVfZW5jb2RlLCBNRVRIX1ZBUkFSR1MgfCBNRVRIX0tFWVdPUkRTLCBlbmNvZGVfX2RvY19ffSwKICAgICB7InJlcGxhY2UiLCAoUHlDRnVuY3Rpb24pIHVuaWNvZGVfcmVwbGFjZSwgTUVUSF9WQVJBUkdTLCByZXBsYWNlX19kb2NfX30sCi0gICAgeyJzcGxpdCIsIChQeUNGdW5jdGlvbikgdW5pY29kZV9zcGxpdCwgTUVUSF9WQVJBUkdTLCBzcGxpdF9fZG9jX199LAotICAgIHsicnNwbGl0IiwgKFB5Q0Z1bmN0aW9uKSB1bmljb2RlX3JzcGxpdCwgTUVUSF9WQVJBUkdTLCByc3BsaXRfX2RvY19ffSwKKyAgICB7InNwbGl0IiwgKFB5Q0Z1bmN0aW9uKSB1bmljb2RlX3NwbGl0LCBNRVRIX1ZBUkFSR1MgfCBNRVRIX0tFWVdPUkRTLCBzcGxpdF9fZG9jX199LAorICAgIHsicnNwbGl0IiwgKFB5Q0Z1bmN0aW9uKSB1bmljb2RlX3JzcGxpdCwgTUVUSF9WQVJBUkdTIHwgTUVUSF9LRVlXT1JEUywgcnNwbGl0X19kb2NfX30sCiAgICAgeyJqb2luIiwgKFB5Q0Z1bmN0aW9uKSB1bmljb2RlX2pvaW4sIE1FVEhfTywgam9pbl9fZG9jX199LAogICAgIHsiY2FwaXRhbGl6ZSIsIChQeUNGdW5jdGlvbikgdW5pY29kZV9jYXBpdGFsaXplLCBNRVRIX05PQVJHUywgY2FwaXRhbGl6ZV9fZG9jX199LAorICAgIHsiY2FzZWZvbGQiLCAoUHlDRnVuY3Rpb24pIHVuaWNvZGVfY2FzZWZvbGQsIE1FVEhfTk9BUkdTLCBjYXNlZm9sZF9fZG9jX199LAogICAgIHsidGl0bGUiLCAoUHlDRnVuY3Rpb24pIHVuaWNvZGVfdGl0bGUsIE1FVEhfTk9BUkdTLCB0aXRsZV9fZG9jX199LAogICAgIHsiY2VudGVyIiwgKFB5Q0Z1bmN0aW9uKSB1bmljb2RlX2NlbnRlciwgTUVUSF9WQVJBUkdTLCBjZW50ZXJfX2RvY19ffSwKICAgICB7ImNvdW50IiwgKFB5Q0Z1bmN0aW9uKSB1bmljb2RlX2NvdW50LCBNRVRIX1ZBUkFSR1MsIGNvdW50X19kb2NfX30sCkBAIC05MjMzLDcgKzEzMTk5LDcgQEAKICAgICB7InJqdXN0IiwgKFB5Q0Z1bmN0aW9uKSB1bmljb2RlX3JqdXN0LCBNRVRIX1ZBUkFSR1MsIHJqdXN0X19kb2NfX30sCiAgICAgeyJyc3RyaXAiLCAoUHlDRnVuY3Rpb24pIHVuaWNvZGVfcnN0cmlwLCBNRVRIX1ZBUkFSR1MsIHJzdHJpcF9fZG9jX199LAogICAgIHsicnBhcnRpdGlvbiIsIChQeUNGdW5jdGlvbikgdW5pY29kZV9ycGFydGl0aW9uLCBNRVRIX08sIHJwYXJ0aXRpb25fX2RvY19ffSwKLSAgICB7InNwbGl0bGluZXMiLCAoUHlDRnVuY3Rpb24pIHVuaWNvZGVfc3BsaXRsaW5lcywgTUVUSF9WQVJBUkdTLCBzcGxpdGxpbmVzX19kb2NfX30sCisgICAgeyJzcGxpdGxpbmVzIiwgKFB5Q0Z1bmN0aW9uKSB1bmljb2RlX3NwbGl0bGluZXMsIE1FVEhfVkFSQVJHUyB8IE1FVEhfS0VZV09SRFMsIHNwbGl0bGluZXNfX2RvY19ffSwKICAgICB7InN0cmlwIiwgKFB5Q0Z1bmN0aW9uKSB1bmljb2RlX3N0cmlwLCBNRVRIX1ZBUkFSR1MsIHN0cmlwX19kb2NfX30sCiAgICAgeyJzd2FwY2FzZSIsIChQeUNGdW5jdGlvbikgdW5pY29kZV9zd2FwY2FzZSwgTUVUSF9OT0FSR1MsIHN3YXBjYXNlX19kb2NfX30sCiAgICAgeyJ0cmFuc2xhdGUiLCAoUHlDRnVuY3Rpb24pIHVuaWNvZGVfdHJhbnNsYXRlLCBNRVRIX08sIHRyYW5zbGF0ZV9fZG9jX199LApAQCAtOTI1OSwxMiArMTMyMjUsNyBAQAogICAgICBNRVRIX1ZBUkFSR1MgfCBNRVRIX1NUQVRJQywgbWFrZXRyYW5zX19kb2NfX30sCiAgICAgeyJfX3NpemVvZl9fIiwgKFB5Q0Z1bmN0aW9uKSB1bmljb2RlX19zaXplb2ZfXywgTUVUSF9OT0FSR1MsIHNpemVvZl9fZG9jX199LAogI2lmIDAKLSAgICB7ImNhcHdvcmRzIiwgKFB5Q0Z1bmN0aW9uKSB1bmljb2RlX2NhcHdvcmRzLCBNRVRIX05PQVJHUywgY2Fwd29yZHNfX2RvY19ffSwKLSNlbmRpZgotCi0jaWYgMAogICAgIC8qIFRoZXNlIG1ldGhvZHMgYXJlIGp1c3QgdXNlZCBmb3IgZGVidWdnaW5nIHRoZSBpbXBsZW1lbnRhdGlvbi4gKi8KLSAgICB7ImZyZWVsaXN0c2l6ZSIsIChQeUNGdW5jdGlvbikgdW5pY29kZV9mcmVlbGlzdHNpemUsIE1FVEhfTk9BUkdTfSwKICAgICB7Il9kZWNpbWFsMmFzY2lpIiwgKFB5Q0Z1bmN0aW9uKSB1bmljb2RlX19kZWNpbWFsMmFzY2lpLCBNRVRIX05PQVJHU30sCiAjZW5kaWYKIApAQCAtOTI3NSwxMCArMTMyMzYsOCBAQAogc3RhdGljIFB5T2JqZWN0ICoKIHVuaWNvZGVfbW9kKFB5T2JqZWN0ICp2LCBQeU9iamVjdCAqdykKIHsKLSAgICBpZiAoIVB5VW5pY29kZV9DaGVjayh2KSkgewotICAgICAgICBQeV9JTkNSRUYoUHlfTm90SW1wbGVtZW50ZWQpOwotICAgICAgICByZXR1cm4gUHlfTm90SW1wbGVtZW50ZWQ7Ci0gICAgfQorICAgIGlmICghUHlVbmljb2RlX0NoZWNrKHYpKQorICAgICAgICBQeV9SRVRVUk5fTk9USU1QTEVNRU5URUQ7CiAgICAgcmV0dXJuIFB5VW5pY29kZV9Gb3JtYXQodiwgdyk7CiB9CiAKQEAgLTkzMDEsNTAgKzEzMjYwLDY5IEBACiB9OwogCiBzdGF0aWMgUHlPYmplY3QqCi11bmljb2RlX3N1YnNjcmlwdChQeVVuaWNvZGVPYmplY3QqIHNlbGYsIFB5T2JqZWN0KiBpdGVtKQordW5pY29kZV9zdWJzY3JpcHQoUHlPYmplY3QqIHNlbGYsIFB5T2JqZWN0KiBpdGVtKQogeworICAgIGlmIChQeVVuaWNvZGVfUkVBRFkoc2VsZikgPT0gLTEpCisgICAgICAgIHJldHVybiBOVUxMOworCiAgICAgaWYgKFB5SW5kZXhfQ2hlY2soaXRlbSkpIHsKICAgICAgICAgUHlfc3NpemVfdCBpID0gUHlOdW1iZXJfQXNTc2l6ZV90KGl0ZW0sIFB5RXhjX0luZGV4RXJyb3IpOwogICAgICAgICBpZiAoaSA9PSAtMSAmJiBQeUVycl9PY2N1cnJlZCgpKQogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgIGlmIChpIDwgMCkKLSAgICAgICAgICAgIGkgKz0gUHlVbmljb2RlX0dFVF9TSVpFKHNlbGYpOworICAgICAgICAgICAgaSArPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChzZWxmKTsKICAgICAgICAgcmV0dXJuIHVuaWNvZGVfZ2V0aXRlbShzZWxmLCBpKTsKICAgICB9IGVsc2UgaWYgKFB5U2xpY2VfQ2hlY2soaXRlbSkpIHsKICAgICAgICAgUHlfc3NpemVfdCBzdGFydCwgc3RvcCwgc3RlcCwgc2xpY2VsZW5ndGgsIGN1ciwgaTsKLSAgICAgICAgUHlfVU5JQ09ERSogc291cmNlX2J1ZjsKLSAgICAgICAgUHlfVU5JQ09ERSogcmVzdWx0X2J1ZjsKLSAgICAgICAgUHlPYmplY3QqIHJlc3VsdDsKKyAgICAgICAgUHlPYmplY3QgKnJlc3VsdDsKKyAgICAgICAgdm9pZCAqc3JjX2RhdGEsICpkZXN0X2RhdGE7CisgICAgICAgIGludCBzcmNfa2luZCwgZGVzdF9raW5kOworICAgICAgICBQeV9VQ1M0IGNoLCBtYXhfY2hhciwga2luZF9saW1pdDsKIAotICAgICAgICBpZiAoUHlTbGljZV9HZXRJbmRpY2VzRXgoaXRlbSwgUHlVbmljb2RlX0dFVF9TSVpFKHNlbGYpLAorICAgICAgICBpZiAoUHlTbGljZV9HZXRJbmRpY2VzRXgoaXRlbSwgUHlVbmljb2RlX0dFVF9MRU5HVEgoc2VsZiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmc3RhcnQsICZzdG9wLCAmc3RlcCwgJnNsaWNlbGVuZ3RoKSA8IDApIHsKICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICB9CiAKICAgICAgICAgaWYgKHNsaWNlbGVuZ3RoIDw9IDApIHsKLSAgICAgICAgICAgIHJldHVybiBQeVVuaWNvZGVfRnJvbVVuaWNvZGUoTlVMTCwgMCk7Ci0gICAgICAgIH0gZWxzZSBpZiAoc3RhcnQgPT0gMCAmJiBzdGVwID09IDEgJiYgc2xpY2VsZW5ndGggPT0gc2VsZi0+bGVuZ3RoICYmCi0gICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0NoZWNrRXhhY3Qoc2VsZikpIHsKLSAgICAgICAgICAgIFB5X0lOQ1JFRihzZWxmKTsKLSAgICAgICAgICAgIHJldHVybiAoUHlPYmplY3QgKilzZWxmOworICAgICAgICAgICAgUHlfSU5DUkVGKHVuaWNvZGVfZW1wdHkpOworICAgICAgICAgICAgcmV0dXJuIHVuaWNvZGVfZW1wdHk7CisgICAgICAgIH0gZWxzZSBpZiAoc3RhcnQgPT0gMCAmJiBzdGVwID09IDEgJiYKKyAgICAgICAgICAgICAgICAgICBzbGljZWxlbmd0aCA9PSBQeVVuaWNvZGVfR0VUX0xFTkdUSChzZWxmKSkgeworICAgICAgICAgICAgcmV0dXJuIHVuaWNvZGVfcmVzdWx0X3VuY2hhbmdlZChzZWxmKTsKICAgICAgICAgfSBlbHNlIGlmIChzdGVwID09IDEpIHsKLSAgICAgICAgICAgIHJldHVybiBQeVVuaWNvZGVfRnJvbVVuaWNvZGUoc2VsZi0+c3RyICsgc3RhcnQsIHNsaWNlbGVuZ3RoKTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIHNvdXJjZV9idWYgPSBQeVVuaWNvZGVfQVNfVU5JQ09ERSgoUHlPYmplY3QqKXNlbGYpOwotICAgICAgICAgICAgcmVzdWx0X2J1ZiA9IChQeV9VTklDT0RFICopUHlPYmplY3RfTUFMTE9DKHNsaWNlbGVuZ3RoKgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZihQeV9VTklDT0RFKSk7Ci0KLSAgICAgICAgICAgIGlmIChyZXN1bHRfYnVmID09IE5VTEwpCi0gICAgICAgICAgICAgICAgcmV0dXJuIFB5RXJyX05vTWVtb3J5KCk7Ci0KLSAgICAgICAgICAgIGZvciAoY3VyID0gc3RhcnQsIGkgPSAwOyBpIDwgc2xpY2VsZW5ndGg7IGN1ciArPSBzdGVwLCBpKyspIHsKLSAgICAgICAgICAgICAgICByZXN1bHRfYnVmW2ldID0gc291cmNlX2J1ZltjdXJdOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICByZXN1bHQgPSBQeVVuaWNvZGVfRnJvbVVuaWNvZGUocmVzdWx0X2J1Ziwgc2xpY2VsZW5ndGgpOwotICAgICAgICAgICAgUHlPYmplY3RfRlJFRShyZXN1bHRfYnVmKTsKLSAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgICAgICAgICByZXR1cm4gUHlVbmljb2RlX1N1YnN0cmluZyhzZWxmLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnQsIHN0YXJ0ICsgc2xpY2VsZW5ndGgpOwogICAgICAgICB9CisgICAgICAgIC8qIEdlbmVyYWwgY2FzZSAqLworICAgICAgICBzcmNfa2luZCA9IFB5VW5pY29kZV9LSU5EKHNlbGYpOworICAgICAgICBzcmNfZGF0YSA9IFB5VW5pY29kZV9EQVRBKHNlbGYpOworICAgICAgICBpZiAoIVB5VW5pY29kZV9JU19BU0NJSShzZWxmKSkgeworICAgICAgICAgICAga2luZF9saW1pdCA9IGtpbmRfbWF4Y2hhcl9saW1pdChzcmNfa2luZCk7CisgICAgICAgICAgICBtYXhfY2hhciA9IDA7CisgICAgICAgICAgICBmb3IgKGN1ciA9IHN0YXJ0LCBpID0gMDsgaSA8IHNsaWNlbGVuZ3RoOyBjdXIgKz0gc3RlcCwgaSsrKSB7CisgICAgICAgICAgICAgICAgY2ggPSBQeVVuaWNvZGVfUkVBRChzcmNfa2luZCwgc3JjX2RhdGEsIGN1cik7CisgICAgICAgICAgICAgICAgaWYgKGNoID4gbWF4X2NoYXIpIHsKKyAgICAgICAgICAgICAgICAgICAgbWF4X2NoYXIgPSBjaDsKKyAgICAgICAgICAgICAgICAgICAgaWYgKG1heF9jaGFyID49IGtpbmRfbGltaXQpCisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgZWxzZQorICAgICAgICAgICAgbWF4X2NoYXIgPSAxMjc7CisgICAgICAgIHJlc3VsdCA9IFB5VW5pY29kZV9OZXcoc2xpY2VsZW5ndGgsIG1heF9jaGFyKTsKKyAgICAgICAgaWYgKHJlc3VsdCA9PSBOVUxMKQorICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIGRlc3Rfa2luZCA9IFB5VW5pY29kZV9LSU5EKHJlc3VsdCk7CisgICAgICAgIGRlc3RfZGF0YSA9IFB5VW5pY29kZV9EQVRBKHJlc3VsdCk7CisKKyAgICAgICAgZm9yIChjdXIgPSBzdGFydCwgaSA9IDA7IGkgPCBzbGljZWxlbmd0aDsgY3VyICs9IHN0ZXAsIGkrKykgeworICAgICAgICAgICAgUHlfVUNTNCBjaCA9IFB5VW5pY29kZV9SRUFEKHNyY19raW5kLCBzcmNfZGF0YSwgY3VyKTsKKyAgICAgICAgICAgIFB5VW5pY29kZV9XUklURShkZXN0X2tpbmQsIGRlc3RfZGF0YSwgaSwgY2gpOworICAgICAgICB9CisgICAgICAgIGFzc2VydChfUHlVbmljb2RlX0NoZWNrQ29uc2lzdGVuY3kocmVzdWx0LCAxKSk7CisgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfSBlbHNlIHsKICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgInN0cmluZyBpbmRpY2VzIG11c3QgYmUgaW50ZWdlcnMiKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CkBAIC05Mzk2LDcgKzEzMzc0LDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmbGFncyAmIEZfQUxUKSA/IFB5X0RUU0ZfQUxUIDogMCwgTlVMTCk7CiAgICAgaWYgKHAgPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgcmVzdWx0ID0gUHlVbmljb2RlX0Zyb21TdHJpbmdBbmRTaXplKHAsIHN0cmxlbihwKSk7CisgICAgcmVzdWx0ID0gUHlVbmljb2RlX0RlY29kZUFTQ0lJKHAsIHN0cmxlbihwKSwgTlVMTCk7CiAgICAgUHlNZW1fRnJlZShwKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtOTQxMiwzNyArMTMzOTAsMTkgQEAKICAgICBzdHIgPSBfUHlCeXRlc19Gb3JtYXRMb25nKHZhbCwgZmxhZ3MsIHByZWMsIHR5cGUsICZidWYsICZsZW4pOwogICAgIGlmICghc3RyKQogICAgICAgICByZXR1cm4gTlVMTDsKLSAgICByZXN1bHQgPSBQeVVuaWNvZGVfRnJvbVN0cmluZ0FuZFNpemUoYnVmLCBsZW4pOworICAgIHJlc3VsdCA9IFB5VW5pY29kZV9EZWNvZGVBU0NJSShidWYsIGxlbiwgTlVMTCk7CiAgICAgUHlfREVDUkVGKHN0cik7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotc3RhdGljIGludAotZm9ybWF0Y2hhcihQeV9VTklDT0RFICpidWYsCi0gICAgICAgICAgIHNpemVfdCBidWZsZW4sCi0gICAgICAgICAgIFB5T2JqZWN0ICp2KQorc3RhdGljIFB5X1VDUzQKK2Zvcm1hdGNoYXIoUHlPYmplY3QgKnYpCiB7CiAgICAgLyogcHJlc3VtZSB0aGF0IHRoZSBidWZmZXIgaXMgYXQgbGVhc3QgMyBjaGFyYWN0ZXJzIGxvbmcgKi8KICAgICBpZiAoUHlVbmljb2RlX0NoZWNrKHYpKSB7Ci0gICAgICAgIGlmIChQeVVuaWNvZGVfR0VUX1NJWkUodikgPT0gMSkgewotICAgICAgICAgICAgYnVmWzBdID0gUHlVbmljb2RlX0FTX1VOSUNPREUodilbMF07Ci0gICAgICAgICAgICBidWZbMV0gPSAnXDAnOwotICAgICAgICAgICAgcmV0dXJuIDE7CisgICAgICAgIGlmIChQeVVuaWNvZGVfR0VUX0xFTkdUSCh2KSA9PSAxKSB7CisgICAgICAgICAgICByZXR1cm4gUHlVbmljb2RlX1JFQURfQ0hBUih2LCAwKTsKICAgICAgICAgfQotI2lmbmRlZiBQeV9VTklDT0RFX1dJREUKLSAgICAgICAgaWYgKFB5VW5pY29kZV9HRVRfU0laRSh2KSA9PSAyKSB7Ci0gICAgICAgICAgICAvKiBEZWNvZGUgYSB2YWxpZCBzdXJyb2dhdGUgcGFpciAqLwotICAgICAgICAgICAgaW50IGMwID0gUHlVbmljb2RlX0FTX1VOSUNPREUodilbMF07Ci0gICAgICAgICAgICBpbnQgYzEgPSBQeVVuaWNvZGVfQVNfVU5JQ09ERSh2KVsxXTsKLSAgICAgICAgICAgIGlmICgweEQ4MDAgPD0gYzAgJiYgYzAgPD0gMHhEQkZGICYmCi0gICAgICAgICAgICAgICAgMHhEQzAwIDw9IGMxICYmIGMxIDw9IDB4REZGRikgewotICAgICAgICAgICAgICAgIGJ1ZlswXSA9IGMwOwotICAgICAgICAgICAgICAgIGJ1ZlsxXSA9IGMxOwotICAgICAgICAgICAgICAgIGJ1ZlsyXSA9ICdcMCc7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIDI7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSNlbmRpZgogICAgICAgICBnb3RvIG9uRXJyb3I7CiAgICAgfQogICAgIGVsc2UgewpAQCAtOTQ1Miw0NSArMTM0MTIsNzEgQEAKICAgICAgICAgaWYgKHggPT0gLTEgJiYgUHlFcnJfT2NjdXJyZWQoKSkKICAgICAgICAgICAgIGdvdG8gb25FcnJvcjsKIAotICAgICAgICBpZiAoeCA8IDAgfHwgeCA+IDB4MTBmZmZmKSB7CisgICAgICAgIGlmICh4IDwgMCB8fCB4ID4gTUFYX1VOSUNPREUpIHsKICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19PdmVyZmxvd0Vycm9yLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICIlYyBhcmcgbm90IGluIHJhbmdlKDB4MTEwMDAwKSIpOwotICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICAgICAgcmV0dXJuIChQeV9VQ1M0KSAtMTsKICAgICAgICAgfQogCi0jaWZuZGVmIFB5X1VOSUNPREVfV0lERQotICAgICAgICBpZiAoeCA+IDB4ZmZmZikgewotICAgICAgICAgICAgeCAtPSAweDEwMDAwOwotICAgICAgICAgICAgYnVmWzBdID0gKFB5X1VOSUNPREUpKDB4RDgwMCB8ICh4ID4+IDEwKSk7Ci0gICAgICAgICAgICBidWZbMV0gPSAoUHlfVU5JQ09ERSkoMHhEQzAwIHwgKHggJiAweDNGRikpOwotICAgICAgICAgICAgcmV0dXJuIDI7Ci0gICAgICAgIH0KLSNlbmRpZgotICAgICAgICBidWZbMF0gPSAoUHlfVU5JQ09ERSkgeDsKLSAgICAgICAgYnVmWzFdID0gJ1wwJzsKLSAgICAgICAgcmV0dXJuIDE7CisgICAgICAgIHJldHVybiAoUHlfVUNTNCkgeDsKICAgICB9CiAKICAgb25FcnJvcjoKICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLAogICAgICAgICAgICAgICAgICAgICAiJWMgcmVxdWlyZXMgaW50IG9yIGNoYXIiKTsKLSAgICByZXR1cm4gLTE7CisgICAgcmV0dXJuIChQeV9VQ1M0KSAtMTsKIH0KIAotLyogZm10JSh2MSx2MiwuLi4pIGlzIHJvdWdobHkgZXF1aXZhbGVudCB0byBzcHJpbnRmKGZtdCwgdjEsIHYyLCAuLi4pCi0gICBGT1JNQVRCVUZMRU4gaXMgdGhlIGxlbmd0aCBvZiB0aGUgYnVmZmVyIGluIHdoaWNoIGNoYXJzIGFyZSBmb3JtYXR0ZWQuCi0qLwotI2RlZmluZSBGT1JNQVRCVUZMRU4gKHNpemVfdCkxMAotCi1QeU9iamVjdCAqUHlVbmljb2RlX0Zvcm1hdChQeU9iamVjdCAqZm9ybWF0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlPYmplY3QgKmFyZ3MpCitzdGF0aWMgaW50CityZXBlYXRfYWNjdW11bGF0ZShfUHlBY2N1ICphY2MsIFB5T2JqZWN0ICpvYmosIFB5X3NzaXplX3QgY291bnQpCiB7Ci0gICAgUHlfVU5JQ09ERSAqZm10LCAqcmVzOwotICAgIFB5X3NzaXplX3QgZm10Y250LCByZXNjbnQsIHJlc2xlbiwgYXJnbGVuLCBhcmdpZHg7CisgICAgaW50IHI7CisgICAgYXNzZXJ0KGNvdW50ID4gMCk7CisgICAgYXNzZXJ0KFB5VW5pY29kZV9DaGVjayhvYmopKTsKKyAgICBpZiAoY291bnQgPiA1KSB7CisgICAgICAgIFB5T2JqZWN0ICpyZXBlYXRlZCA9IHVuaWNvZGVfcmVwZWF0KG9iaiwgY291bnQpOworICAgICAgICBpZiAocmVwZWF0ZWQgPT0gTlVMTCkKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgciA9IF9QeUFjY3VfQWNjdW11bGF0ZShhY2MsIHJlcGVhdGVkKTsKKyAgICAgICAgUHlfREVDUkVGKHJlcGVhdGVkKTsKKyAgICAgICAgcmV0dXJuIHI7CisgICAgfQorICAgIGVsc2UgeworICAgICAgICBkbyB7CisgICAgICAgICAgICBpZiAoX1B5QWNjdV9BY2N1bXVsYXRlKGFjYywgb2JqKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIH0gd2hpbGUgKC0tY291bnQpOworICAgICAgICByZXR1cm4gMDsKKyAgICB9Cit9CisKK1B5T2JqZWN0ICoKK1B5VW5pY29kZV9Gb3JtYXQoUHlPYmplY3QgKmZvcm1hdCwgUHlPYmplY3QgKmFyZ3MpCit7CisgICAgdm9pZCAqZm10OworICAgIGludCBmbXRraW5kOworICAgIFB5T2JqZWN0ICpyZXN1bHQ7CisgICAgaW50IGtpbmQ7CisgICAgaW50IHI7CisgICAgUHlfc3NpemVfdCBmbXRjbnQsIGZtdHBvcywgYXJnbGVuLCBhcmdpZHg7CiAgICAgaW50IGFyZ3Nfb3duZWQgPSAwOwotICAgIFB5VW5pY29kZU9iamVjdCAqcmVzdWx0ID0gTlVMTDsKICAgICBQeU9iamVjdCAqZGljdCA9IE5VTEw7CisgICAgUHlPYmplY3QgKnRlbXAgPSBOVUxMOworICAgIFB5T2JqZWN0ICpzZWNvbmQgPSBOVUxMOwogICAgIFB5T2JqZWN0ICp1Zm9ybWF0OworICAgIF9QeUFjY3UgYWNjOworICAgIHN0YXRpYyBQeU9iamVjdCAqcGx1cywgKm1pbnVzLCAqYmxhbmssICp6ZXJvLCAqcGVyY2VudDsKKworICAgIGlmICghcGx1cyAmJiAhKHBsdXMgPSBnZXRfbGF0aW4xX2NoYXIoJysnKSkpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIGlmICghbWludXMgJiYgIShtaW51cyA9IGdldF9sYXRpbjFfY2hhcignLScpKSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgaWYgKCFibGFuayAmJiAhKGJsYW5rID0gZ2V0X2xhdGluMV9jaGFyKCcgJykpKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBpZiAoIXplcm8gJiYgISh6ZXJvID0gZ2V0X2xhdGluMV9jaGFyKCcwJykpKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBpZiAoIXBlcmNlbnQgJiYgIShwZXJjZW50ID0gZ2V0X2xhdGluMV9jaGFyKCclJykpKQorICAgICAgICByZXR1cm4gTlVMTDsKIAogICAgIGlmIChmb3JtYXQgPT0gTlVMTCB8fCBhcmdzID09IE5VTEwpIHsKICAgICAgICAgUHlFcnJfQmFkSW50ZXJuYWxDYWxsKCk7CkBAIC05NDk5LDE0ICsxMzQ4NSwxNCBAQAogICAgIHVmb3JtYXQgPSBQeVVuaWNvZGVfRnJvbU9iamVjdChmb3JtYXQpOwogICAgIGlmICh1Zm9ybWF0ID09IE5VTEwpCiAgICAgICAgIHJldHVybiBOVUxMOwotICAgIGZtdCA9IFB5VW5pY29kZV9BU19VTklDT0RFKHVmb3JtYXQpOwotICAgIGZtdGNudCA9IFB5VW5pY29kZV9HRVRfU0laRSh1Zm9ybWF0KTsKLQotICAgIHJlc2xlbiA9IHJlc2NudCA9IGZtdGNudCArIDEwMDsKLSAgICByZXN1bHQgPSBfUHlVbmljb2RlX05ldyhyZXNsZW4pOwotICAgIGlmIChyZXN1bHQgPT0gTlVMTCkKKyAgICBpZiAoUHlVbmljb2RlX1JFQURZKHVmb3JtYXQpID09IC0xKQorICAgICAgICBQeV9ERUNSRUYodWZvcm1hdCk7CisgICAgaWYgKF9QeUFjY3VfSW5pdCgmYWNjKSkKICAgICAgICAgZ290byBvbkVycm9yOwotICAgIHJlcyA9IFB5VW5pY29kZV9BU19VTklDT0RFKHJlc3VsdCk7CisgICAgZm10ID0gUHlVbmljb2RlX0RBVEEodWZvcm1hdCk7CisgICAgZm10a2luZCA9IFB5VW5pY29kZV9LSU5EKHVmb3JtYXQpOworICAgIGZtdGNudCA9IFB5VW5pY29kZV9HRVRfTEVOR1RIKHVmb3JtYXQpOworICAgIGZtdHBvcyA9IDA7CiAKICAgICBpZiAoUHlUdXBsZV9DaGVjayhhcmdzKSkgewogICAgICAgICBhcmdsZW4gPSBQeVR1cGxlX1NpemUoYXJncyk7CkBAIC05NTIxLDM1ICsxMzUwNywzOSBAQAogICAgICAgICBkaWN0ID0gYXJnczsKIAogICAgIHdoaWxlICgtLWZtdGNudCA+PSAwKSB7Ci0gICAgICAgIGlmICgqZm10ICE9ICclJykgewotICAgICAgICAgICAgaWYgKC0tcmVzY250IDwgMCkgewotICAgICAgICAgICAgICAgIHJlc2NudCA9IGZtdGNudCArIDEwMDsKLSAgICAgICAgICAgICAgICByZXNsZW4gKz0gcmVzY250OwotICAgICAgICAgICAgICAgIGlmIChfUHlVbmljb2RlX1Jlc2l6ZSgmcmVzdWx0LCByZXNsZW4pIDwgMCkKLSAgICAgICAgICAgICAgICAgICAgZ290byBvbkVycm9yOwotICAgICAgICAgICAgICAgIHJlcyA9IFB5VW5pY29kZV9BU19VTklDT0RFKHJlc3VsdCkgKyByZXNsZW4gLSByZXNjbnQ7Ci0gICAgICAgICAgICAgICAgLS1yZXNjbnQ7CisgICAgICAgIGlmIChQeVVuaWNvZGVfUkVBRChmbXRraW5kLCBmbXQsIGZtdHBvcykgIT0gJyUnKSB7CisgICAgICAgICAgICBQeU9iamVjdCAqbm9uZm10OworICAgICAgICAgICAgUHlfc3NpemVfdCBub25mbXRwb3M7CisgICAgICAgICAgICBub25mbXRwb3MgPSBmbXRwb3MrKzsKKyAgICAgICAgICAgIHdoaWxlIChmbXRjbnQgPj0gMCAmJgorICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9SRUFEKGZtdGtpbmQsIGZtdCwgZm10cG9zKSAhPSAnJScpIHsKKyAgICAgICAgICAgICAgICBmbXRwb3MrKzsKKyAgICAgICAgICAgICAgICBmbXRjbnQtLTsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICpyZXMrKyA9ICpmbXQrKzsKKyAgICAgICAgICAgIG5vbmZtdCA9IFB5VW5pY29kZV9TdWJzdHJpbmcodWZvcm1hdCwgbm9uZm10cG9zLCBmbXRwb3MpOworICAgICAgICAgICAgaWYgKG5vbmZtdCA9PSBOVUxMKQorICAgICAgICAgICAgICAgIGdvdG8gb25FcnJvcjsKKyAgICAgICAgICAgIHIgPSBfUHlBY2N1X0FjY3VtdWxhdGUoJmFjYywgbm9uZm10KTsKKyAgICAgICAgICAgIFB5X0RFQ1JFRihub25mbXQpOworICAgICAgICAgICAgaWYgKHIpCisgICAgICAgICAgICAgICAgZ290byBvbkVycm9yOwogICAgICAgICB9CiAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgLyogR290IGEgZm9ybWF0IHNwZWNpZmllciAqLwogICAgICAgICAgICAgaW50IGZsYWdzID0gMDsKICAgICAgICAgICAgIFB5X3NzaXplX3Qgd2lkdGggPSAtMTsKICAgICAgICAgICAgIGludCBwcmVjID0gLTE7Ci0gICAgICAgICAgICBQeV9VTklDT0RFIGMgPSAnXDAnOwotICAgICAgICAgICAgUHlfVU5JQ09ERSBmaWxsOworICAgICAgICAgICAgUHlfVUNTNCBjID0gJ1wwJzsKKyAgICAgICAgICAgIFB5X1VDUzQgZmlsbCwgc2lnbjsKICAgICAgICAgICAgIGludCBpc251bW9rOwogICAgICAgICAgICAgUHlPYmplY3QgKnYgPSBOVUxMOwotICAgICAgICAgICAgUHlPYmplY3QgKnRlbXAgPSBOVUxMOwotICAgICAgICAgICAgUHlfVU5JQ09ERSAqcGJ1ZjsKLSAgICAgICAgICAgIFB5X1VOSUNPREUgc2lnbjsKLSAgICAgICAgICAgIFB5X3NzaXplX3QgbGVuOwotICAgICAgICAgICAgUHlfVU5JQ09ERSBmb3JtYXRidWZbRk9STUFUQlVGTEVOXTsgLyogRm9yIGZvcm1hdGNoYXIoKSAqLworICAgICAgICAgICAgdm9pZCAqcGJ1ZiA9IE5VTEw7CisgICAgICAgICAgICBQeV9zc2l6ZV90IHBpbmRleCwgbGVuOworICAgICAgICAgICAgUHlPYmplY3QgKnNpZ25vYmogPSBOVUxMLCAqZmlsbG9iaiA9IE5VTEw7CiAKLSAgICAgICAgICAgIGZtdCsrOwotICAgICAgICAgICAgaWYgKCpmbXQgPT0gJygnKSB7Ci0gICAgICAgICAgICAgICAgUHlfVU5JQ09ERSAqa2V5c3RhcnQ7CisgICAgICAgICAgICBmbXRwb3MrKzsKKyAgICAgICAgICAgIGlmIChQeVVuaWNvZGVfUkVBRChmbXRraW5kLCBmbXQsIGZtdHBvcykgPT0gJygnKSB7CisgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBrZXlzdGFydDsKICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IGtleWxlbjsKICAgICAgICAgICAgICAgICBQeU9iamVjdCAqa2V5OwogICAgICAgICAgICAgICAgIGludCBwY291bnQgPSAxOwpAQCAtOTU1OSwzNCArMTM1NDksMjUgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJmb3JtYXQgcmVxdWlyZXMgYSBtYXBwaW5nIik7CiAgICAgICAgICAgICAgICAgICAgIGdvdG8gb25FcnJvcjsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgKytmbXQ7CisgICAgICAgICAgICAgICAgKytmbXRwb3M7CiAgICAgICAgICAgICAgICAgLS1mbXRjbnQ7Ci0gICAgICAgICAgICAgICAga2V5c3RhcnQgPSBmbXQ7CisgICAgICAgICAgICAgICAga2V5c3RhcnQgPSBmbXRwb3M7CiAgICAgICAgICAgICAgICAgLyogU2tpcCBvdmVyIGJhbGFuY2VkIHBhcmVudGhlc2VzICovCiAgICAgICAgICAgICAgICAgd2hpbGUgKHBjb3VudCA+IDAgJiYgLS1mbXRjbnQgPj0gMCkgewotICAgICAgICAgICAgICAgICAgICBpZiAoKmZtdCA9PSAnKScpCisgICAgICAgICAgICAgICAgICAgIGlmIChQeVVuaWNvZGVfUkVBRChmbXRraW5kLCBmbXQsIGZtdHBvcykgPT0gJyknKQogICAgICAgICAgICAgICAgICAgICAgICAgLS1wY291bnQ7Ci0gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKCpmbXQgPT0gJygnKQorICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChQeVVuaWNvZGVfUkVBRChmbXRraW5kLCBmbXQsIGZtdHBvcykgPT0gJygnKQogICAgICAgICAgICAgICAgICAgICAgICAgKytwY291bnQ7Ci0gICAgICAgICAgICAgICAgICAgIGZtdCsrOworICAgICAgICAgICAgICAgICAgICBmbXRwb3MrKzsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAga2V5bGVuID0gZm10IC0ga2V5c3RhcnQgLSAxOworICAgICAgICAgICAgICAgIGtleWxlbiA9IGZtdHBvcyAtIGtleXN0YXJ0IC0gMTsKICAgICAgICAgICAgICAgICBpZiAoZm10Y250IDwgMCB8fCBwY291bnQgPiAwKSB7CiAgICAgICAgICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImluY29tcGxldGUgZm9ybWF0IGtleSIpOwogICAgICAgICAgICAgICAgICAgICBnb3RvIG9uRXJyb3I7CiAgICAgICAgICAgICAgICAgfQotI2lmIDAKLSAgICAgICAgICAgICAgICAvKiBrZXlzIGFyZSBjb252ZXJ0ZWQgdG8gc3RyaW5ncyB1c2luZyBVVEYtOCBhbmQKLSAgICAgICAgICAgICAgICAgICB0aGVuIGxvb2tlZCB1cCBzaW5jZSBQeXRob24gdXNlcyBzdHJpbmdzIHRvIGhvbGQKLSAgICAgICAgICAgICAgICAgICB2YXJpYWJsZXMgbmFtZXMgZXRjLiBpbiBpdHMgbmFtZXNwYWNlcyBhbmQgd2UKLSAgICAgICAgICAgICAgICAgICB3b3VsZG4ndCB3YW50IHRvIGJyZWFrIGNvbW1vbiBpZGlvbXMuICovCi0gICAgICAgICAgICAgICAga2V5ID0gUHlVbmljb2RlX0VuY29kZVVURjgoa2V5c3RhcnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5bGVuLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwpOwotI2Vsc2UKLSAgICAgICAgICAgICAgICBrZXkgPSBQeVVuaWNvZGVfRnJvbVVuaWNvZGUoa2V5c3RhcnQsIGtleWxlbik7Ci0jZW5kaWYKKyAgICAgICAgICAgICAgICBrZXkgPSBQeVVuaWNvZGVfU3Vic3RyaW5nKHVmb3JtYXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXlzdGFydCwga2V5c3RhcnQgKyBrZXlsZW4pOwogICAgICAgICAgICAgICAgIGlmIChrZXkgPT0gTlVMTCkKICAgICAgICAgICAgICAgICAgICAgZ290byBvbkVycm9yOwogICAgICAgICAgICAgICAgIGlmIChhcmdzX293bmVkKSB7CkBAIC05NjAzLDcgKzEzNTg0LDcgQEAKICAgICAgICAgICAgICAgICBhcmdpZHggPSAtMjsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIHdoaWxlICgtLWZtdGNudCA+PSAwKSB7Ci0gICAgICAgICAgICAgICAgc3dpdGNoIChjID0gKmZtdCsrKSB7CisgICAgICAgICAgICAgICAgc3dpdGNoIChjID0gUHlVbmljb2RlX1JFQUQoZm10a2luZCwgZm10LCBmbXRwb3MrKykpIHsKICAgICAgICAgICAgICAgICBjYXNlICctJzogZmxhZ3MgfD0gRl9MSlVTVDsgY29udGludWU7CiAgICAgICAgICAgICAgICAgY2FzZSAnKyc6IGZsYWdzIHw9IEZfU0lHTjsgY29udGludWU7CiAgICAgICAgICAgICAgICAgY2FzZSAnICc6IGZsYWdzIHw9IEZfQkxBTks7IGNvbnRpbnVlOwpAQCAtOTYyOSwxMiArMTM2MTAsMTIgQEAKICAgICAgICAgICAgICAgICAgICAgd2lkdGggPSAtd2lkdGg7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIGlmICgtLWZtdGNudCA+PSAwKQotICAgICAgICAgICAgICAgICAgICBjID0gKmZtdCsrOworICAgICAgICAgICAgICAgICAgICBjID0gUHlVbmljb2RlX1JFQUQoZm10a2luZCwgZm10LCBmbXRwb3MrKyk7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBlbHNlIGlmIChjID49ICcwJyAmJiBjIDw9ICc5JykgewogICAgICAgICAgICAgICAgIHdpZHRoID0gYyAtICcwJzsKICAgICAgICAgICAgICAgICB3aGlsZSAoLS1mbXRjbnQgPj0gMCkgewotICAgICAgICAgICAgICAgICAgICBjID0gKmZtdCsrOworICAgICAgICAgICAgICAgICAgICBjID0gUHlVbmljb2RlX1JFQUQoZm10a2luZCwgZm10LCBmbXRwb3MrKyk7CiAgICAgICAgICAgICAgICAgICAgIGlmIChjIDwgJzAnIHx8IGMgPiAnOScpCiAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICAgaWYgKCh3aWR0aCoxMCkgLyAxMCAhPSB3aWR0aCkgewpAQCAtOTY0OCw3ICsxMzYyOSw3IEBACiAgICAgICAgICAgICBpZiAoYyA9PSAnLicpIHsKICAgICAgICAgICAgICAgICBwcmVjID0gMDsKICAgICAgICAgICAgICAgICBpZiAoLS1mbXRjbnQgPj0gMCkKLSAgICAgICAgICAgICAgICAgICAgYyA9ICpmbXQrKzsKKyAgICAgICAgICAgICAgICAgICAgYyA9IFB5VW5pY29kZV9SRUFEKGZtdGtpbmQsIGZtdCwgZm10cG9zKyspOwogICAgICAgICAgICAgICAgIGlmIChjID09ICcqJykgewogICAgICAgICAgICAgICAgICAgICB2ID0gZ2V0bmV4dGFyZyhhcmdzLCBhcmdsZW4sICZhcmdpZHgpOwogICAgICAgICAgICAgICAgICAgICBpZiAodiA9PSBOVUxMKQpAQCAtOTY2NCwxMiArMTM2NDUsMTIgQEAKICAgICAgICAgICAgICAgICAgICAgaWYgKHByZWMgPCAwKQogICAgICAgICAgICAgICAgICAgICAgICAgcHJlYyA9IDA7CiAgICAgICAgICAgICAgICAgICAgIGlmICgtLWZtdGNudCA+PSAwKQotICAgICAgICAgICAgICAgICAgICAgICAgYyA9ICpmbXQrKzsKKyAgICAgICAgICAgICAgICAgICAgICAgIGMgPSBQeVVuaWNvZGVfUkVBRChmbXRraW5kLCBmbXQsIGZtdHBvcysrKTsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgZWxzZSBpZiAoYyA+PSAnMCcgJiYgYyA8PSAnOScpIHsKICAgICAgICAgICAgICAgICAgICAgcHJlYyA9IGMgLSAnMCc7CiAgICAgICAgICAgICAgICAgICAgIHdoaWxlICgtLWZtdGNudCA+PSAwKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBjID0gKmZtdCsrOworICAgICAgICAgICAgICAgICAgICAgICAgYyA9IFB5VW5pY29kZV9SRUFEKGZtdGtpbmQsIGZtdCwgZm10cG9zKyspOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGMgPCAnMCcgfHwgYyA+ICc5JykKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgocHJlYyoxMCkgLyAxMCAhPSBwcmVjKSB7CkBAIC05Njg0LDcgKzEzNjY1LDcgQEAKICAgICAgICAgICAgIGlmIChmbXRjbnQgPj0gMCkgewogICAgICAgICAgICAgICAgIGlmIChjID09ICdoJyB8fCBjID09ICdsJyB8fCBjID09ICdMJykgewogICAgICAgICAgICAgICAgICAgICBpZiAoLS1mbXRjbnQgPj0gMCkKLSAgICAgICAgICAgICAgICAgICAgICAgIGMgPSAqZm10Kys7CisgICAgICAgICAgICAgICAgICAgICAgICBjID0gUHlVbmljb2RlX1JFQUQoZm10a2luZCwgZm10LCBmbXRwb3MrKyk7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQogICAgICAgICAgICAgaWYgKGZtdGNudCA8IDApIHsKQEAgLTk2OTksMTQgKzEzNjgwLDEyIEBACiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBzaWduID0gMDsKICAgICAgICAgICAgIGZpbGwgPSAnICc7CisgICAgICAgICAgICBmaWxsb2JqID0gYmxhbms7CiAgICAgICAgICAgICBzd2l0Y2ggKGMpIHsKIAogICAgICAgICAgICAgY2FzZSAnJSc6Ci0gICAgICAgICAgICAgICAgcGJ1ZiA9IGZvcm1hdGJ1ZjsKLSAgICAgICAgICAgICAgICAvKiBwcmVzdW1lIHRoYXQgYnVmZmVyIGxlbmd0aCBpcyBhdCBsZWFzdCAxICovCi0gICAgICAgICAgICAgICAgcGJ1ZlswXSA9ICclJzsKLSAgICAgICAgICAgICAgICBsZW4gPSAxOwotICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIF9QeUFjY3VfQWNjdW11bGF0ZSgmYWNjLCBwZXJjZW50KTsKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKIAogICAgICAgICAgICAgY2FzZSAncyc6CiAgICAgICAgICAgICBjYXNlICdyJzoKQEAgLTk3MzMsOCArMTM3MTIsMTMgQEAKICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gb25FcnJvcjsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBwYnVmID0gUHlVbmljb2RlX0FTX1VOSUNPREUodGVtcCk7Ci0gICAgICAgICAgICAgICAgbGVuID0gUHlVbmljb2RlX0dFVF9TSVpFKHRlbXApOworICAgICAgICAgICAgICAgIGlmIChQeVVuaWNvZGVfUkVBRFkodGVtcCkgPT0gLTEpIHsKKyAgICAgICAgICAgICAgICAgICAgUHlfQ0xFQVIodGVtcCk7CisgICAgICAgICAgICAgICAgICAgIGdvdG8gb25FcnJvcjsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgcGJ1ZiA9IFB5VW5pY29kZV9EQVRBKHRlbXApOworICAgICAgICAgICAgICAgIGtpbmQgPSBQeVVuaWNvZGVfS0lORCh0ZW1wKTsKKyAgICAgICAgICAgICAgICBsZW4gPSBQeVVuaWNvZGVfR0VUX0xFTkdUSCh0ZW1wKTsKICAgICAgICAgICAgICAgICBpZiAocHJlYyA+PSAwICYmIGxlbiA+IHByZWMpCiAgICAgICAgICAgICAgICAgICAgIGxlbiA9IHByZWM7CiAgICAgICAgICAgICAgICAgYnJlYWs7CkBAIC05NzYzLDggKzEzNzQ3LDEzIEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlfREVDUkVGKGlvYmopOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghdGVtcCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ290byBvbkVycm9yOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBidWYgPSBQeVVuaWNvZGVfQVNfVU5JQ09ERSh0ZW1wKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZW4gPSBQeVVuaWNvZGVfR0VUX1NJWkUodGVtcCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFB5VW5pY29kZV9SRUFEWSh0ZW1wKSA9PSAtMSkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeV9DTEVBUih0ZW1wKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ290byBvbkVycm9yOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYnVmID0gUHlVbmljb2RlX0RBVEEodGVtcCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAga2luZCA9IFB5VW5pY29kZV9LSU5EKHRlbXApOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlbiA9IFB5VW5pY29kZV9HRVRfTEVOR1RIKHRlbXApOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpZ24gPSAxOwogICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7CkBAIC05Nzc4LDggKzEzNzY3LDEwIEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibm90ICUuMjAwcyIsIChjaGFyKWMsIFB5X1RZUEUodiktPnRwX25hbWUpOwogICAgICAgICAgICAgICAgICAgICBnb3RvIG9uRXJyb3I7CiAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGlmIChmbGFncyAmIEZfWkVSTykKKyAgICAgICAgICAgICAgICBpZiAoZmxhZ3MgJiBGX1pFUk8pIHsKICAgICAgICAgICAgICAgICAgICAgZmlsbCA9ICcwJzsKKyAgICAgICAgICAgICAgICAgICAgZmlsbG9iaiA9IHplcm87CisgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIGJyZWFrOwogCiAgICAgICAgICAgICBjYXNlICdlJzoKQEAgLTk3OTEsMTkgKzEzNzgyLDMzIEBACiAgICAgICAgICAgICAgICAgdGVtcCA9IGZvcm1hdGZsb2F0KHYsIGZsYWdzLCBwcmVjLCBjKTsKICAgICAgICAgICAgICAgICBpZiAoIXRlbXApCiAgICAgICAgICAgICAgICAgICAgIGdvdG8gb25FcnJvcjsKLSAgICAgICAgICAgICAgICBwYnVmID0gUHlVbmljb2RlX0FTX1VOSUNPREUodGVtcCk7Ci0gICAgICAgICAgICAgICAgbGVuID0gUHlVbmljb2RlX0dFVF9TSVpFKHRlbXApOworICAgICAgICAgICAgICAgIGlmIChQeVVuaWNvZGVfUkVBRFkodGVtcCkgPT0gLTEpIHsKKyAgICAgICAgICAgICAgICAgICAgUHlfQ0xFQVIodGVtcCk7CisgICAgICAgICAgICAgICAgICAgIGdvdG8gb25FcnJvcjsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgcGJ1ZiA9IFB5VW5pY29kZV9EQVRBKHRlbXApOworICAgICAgICAgICAgICAgIGtpbmQgPSBQeVVuaWNvZGVfS0lORCh0ZW1wKTsKKyAgICAgICAgICAgICAgICBsZW4gPSBQeVVuaWNvZGVfR0VUX0xFTkdUSCh0ZW1wKTsKICAgICAgICAgICAgICAgICBzaWduID0gMTsKLSAgICAgICAgICAgICAgICBpZiAoZmxhZ3MgJiBGX1pFUk8pCisgICAgICAgICAgICAgICAgaWYgKGZsYWdzICYgRl9aRVJPKSB7CiAgICAgICAgICAgICAgICAgICAgIGZpbGwgPSAnMCc7CisgICAgICAgICAgICAgICAgICAgIGZpbGxvYmogPSB6ZXJvOworICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBicmVhazsKIAogICAgICAgICAgICAgY2FzZSAnYyc6Ci0gICAgICAgICAgICAgICAgcGJ1ZiA9IGZvcm1hdGJ1ZjsKLSAgICAgICAgICAgICAgICBsZW4gPSBmb3JtYXRjaGFyKHBidWYsIHNpemVvZihmb3JtYXRidWYpL3NpemVvZihQeV9VTklDT0RFKSwgdik7Ci0gICAgICAgICAgICAgICAgaWYgKGxlbiA8IDApCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgUHlfVUNTNCBjaCA9IGZvcm1hdGNoYXIodik7CisgICAgICAgICAgICAgICAgaWYgKGNoID09IChQeV9VQ1M0KSAtMSkKICAgICAgICAgICAgICAgICAgICAgZ290byBvbkVycm9yOworICAgICAgICAgICAgICAgIHRlbXAgPSBfUHlVbmljb2RlX0Zyb21VQ1M0KCZjaCwgMSk7CisgICAgICAgICAgICAgICAgaWYgKHRlbXAgPT0gTlVMTCkKKyAgICAgICAgICAgICAgICAgICAgZ290byBvbkVycm9yOworICAgICAgICAgICAgICAgIHBidWYgPSBQeVVuaWNvZGVfREFUQSh0ZW1wKTsKKyAgICAgICAgICAgICAgICBraW5kID0gUHlVbmljb2RlX0tJTkQodGVtcCk7CisgICAgICAgICAgICAgICAgbGVuID0gUHlVbmljb2RlX0dFVF9MRU5HVEgodGVtcCk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1ZhbHVlRXJyb3IsCkBAIC05ODExLDkwICsxMzgxNiwxMDggQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImF0IGluZGV4ICV6ZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzMTw9YyAmJiBjPD0xMjYpID8gKGNoYXIpYyA6ICc/JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGludCljLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoUHlfc3NpemVfdCkoZm10IC0gMSAtCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfQVNfVU5JQ09ERSh1Zm9ybWF0KSkpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbXRwb3MgLSAxKTsKICAgICAgICAgICAgICAgICBnb3RvIG9uRXJyb3I7CiAgICAgICAgICAgICB9CisgICAgICAgICAgICAvKiBwYnVmIGlzIGluaXRpYWxpemVkIGhlcmUuICovCisgICAgICAgICAgICBwaW5kZXggPSAwOwogICAgICAgICAgICAgaWYgKHNpZ24pIHsKLSAgICAgICAgICAgICAgICBpZiAoKnBidWYgPT0gJy0nIHx8ICpwYnVmID09ICcrJykgewotICAgICAgICAgICAgICAgICAgICBzaWduID0gKnBidWYrKzsKKyAgICAgICAgICAgICAgICBpZiAoUHlVbmljb2RlX1JFQUQoa2luZCwgcGJ1ZiwgcGluZGV4KSA9PSAnLScpIHsKKyAgICAgICAgICAgICAgICAgICAgc2lnbm9iaiA9IG1pbnVzOwogICAgICAgICAgICAgICAgICAgICBsZW4tLTsKKyAgICAgICAgICAgICAgICAgICAgcGluZGV4Kys7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGVsc2UgaWYgKFB5VW5pY29kZV9SRUFEKGtpbmQsIHBidWYsIHBpbmRleCkgPT0gJysnKSB7CisgICAgICAgICAgICAgICAgICAgIHNpZ25vYmogPSBwbHVzOworICAgICAgICAgICAgICAgICAgICBsZW4tLTsKKyAgICAgICAgICAgICAgICAgICAgcGluZGV4Kys7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIGVsc2UgaWYgKGZsYWdzICYgRl9TSUdOKQotICAgICAgICAgICAgICAgICAgICBzaWduID0gJysnOworICAgICAgICAgICAgICAgICAgICBzaWdub2JqID0gcGx1czsKICAgICAgICAgICAgICAgICBlbHNlIGlmIChmbGFncyAmIEZfQkxBTkspCi0gICAgICAgICAgICAgICAgICAgIHNpZ24gPSAnICc7CisgICAgICAgICAgICAgICAgICAgIHNpZ25vYmogPSBibGFuazsKICAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICAgIHNpZ24gPSAwOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgaWYgKHdpZHRoIDwgbGVuKQogICAgICAgICAgICAgICAgIHdpZHRoID0gbGVuOwotICAgICAgICAgICAgaWYgKHJlc2NudCAtIChzaWduICE9IDApIDwgd2lkdGgpIHsKLSAgICAgICAgICAgICAgICByZXNsZW4gLT0gcmVzY250OwotICAgICAgICAgICAgICAgIHJlc2NudCA9IHdpZHRoICsgZm10Y250ICsgMTAwOwotICAgICAgICAgICAgICAgIHJlc2xlbiArPSByZXNjbnQ7Ci0gICAgICAgICAgICAgICAgaWYgKHJlc2xlbiA8IDApIHsKLSAgICAgICAgICAgICAgICAgICAgUHlfWERFQ1JFRih0ZW1wKTsKLSAgICAgICAgICAgICAgICAgICAgUHlFcnJfTm9NZW1vcnkoKTsKLSAgICAgICAgICAgICAgICAgICAgZ290byBvbkVycm9yOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBpZiAoX1B5VW5pY29kZV9SZXNpemUoJnJlc3VsdCwgcmVzbGVuKSA8IDApIHsKLSAgICAgICAgICAgICAgICAgICAgUHlfWERFQ1JFRih0ZW1wKTsKLSAgICAgICAgICAgICAgICAgICAgZ290byBvbkVycm9yOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICByZXMgPSBQeVVuaWNvZGVfQVNfVU5JQ09ERShyZXN1bHQpCi0gICAgICAgICAgICAgICAgICAgICsgcmVzbGVuIC0gcmVzY250OwotICAgICAgICAgICAgfQogICAgICAgICAgICAgaWYgKHNpZ24pIHsKLSAgICAgICAgICAgICAgICBpZiAoZmlsbCAhPSAnICcpCi0gICAgICAgICAgICAgICAgICAgICpyZXMrKyA9IHNpZ247Ci0gICAgICAgICAgICAgICAgcmVzY250LS07CisgICAgICAgICAgICAgICAgaWYgKGZpbGwgIT0gJyAnKSB7CisgICAgICAgICAgICAgICAgICAgIGFzc2VydChzaWdub2JqICE9IE5VTEwpOworICAgICAgICAgICAgICAgICAgICBpZiAoX1B5QWNjdV9BY2N1bXVsYXRlKCZhY2MsIHNpZ25vYmopKQorICAgICAgICAgICAgICAgICAgICAgICAgZ290byBvbkVycm9yOworICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBpZiAod2lkdGggPiBsZW4pCiAgICAgICAgICAgICAgICAgICAgIHdpZHRoLS07CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBpZiAoKGZsYWdzICYgRl9BTFQpICYmIChjID09ICd4JyB8fCBjID09ICdYJyB8fCBjID09ICdvJykpIHsKLSAgICAgICAgICAgICAgICBhc3NlcnQocGJ1ZlswXSA9PSAnMCcpOwotICAgICAgICAgICAgICAgIGFzc2VydChwYnVmWzFdID09IGMpOworICAgICAgICAgICAgICAgIGFzc2VydChQeVVuaWNvZGVfUkVBRChraW5kLCBwYnVmLCBwaW5kZXgpID09ICcwJyk7CisgICAgICAgICAgICAgICAgYXNzZXJ0KFB5VW5pY29kZV9SRUFEKGtpbmQsIHBidWYsIHBpbmRleCArIDEpID09IGMpOwogICAgICAgICAgICAgICAgIGlmIChmaWxsICE9ICcgJykgewotICAgICAgICAgICAgICAgICAgICAqcmVzKysgPSAqcGJ1ZisrOwotICAgICAgICAgICAgICAgICAgICAqcmVzKysgPSAqcGJ1ZisrOworICAgICAgICAgICAgICAgICAgICBzZWNvbmQgPSBnZXRfbGF0aW4xX2NoYXIoCisgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfUkVBRChraW5kLCBwYnVmLCBwaW5kZXggKyAxKSk7CisgICAgICAgICAgICAgICAgICAgIHBpbmRleCArPSAyOworICAgICAgICAgICAgICAgICAgICBpZiAoc2Vjb25kID09IE5VTEwgfHwKKyAgICAgICAgICAgICAgICAgICAgICAgIF9QeUFjY3VfQWNjdW11bGF0ZSgmYWNjLCB6ZXJvKSB8fAorICAgICAgICAgICAgICAgICAgICAgICAgX1B5QWNjdV9BY2N1bXVsYXRlKCZhY2MsIHNlY29uZCkpCisgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIG9uRXJyb3I7CisgICAgICAgICAgICAgICAgICAgIFB5X0NMRUFSKHNlY29uZCk7CiAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIHJlc2NudCAtPSAyOwogICAgICAgICAgICAgICAgIHdpZHRoIC09IDI7CiAgICAgICAgICAgICAgICAgaWYgKHdpZHRoIDwgMCkKICAgICAgICAgICAgICAgICAgICAgd2lkdGggPSAwOwogICAgICAgICAgICAgICAgIGxlbiAtPSAyOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgaWYgKHdpZHRoID4gbGVuICYmICEoZmxhZ3MgJiBGX0xKVVNUKSkgewotICAgICAgICAgICAgICAgIGRvIHsKLSAgICAgICAgICAgICAgICAgICAgLS1yZXNjbnQ7Ci0gICAgICAgICAgICAgICAgICAgICpyZXMrKyA9IGZpbGw7Ci0gICAgICAgICAgICAgICAgfSB3aGlsZSAoLS13aWR0aCA+IGxlbik7CisgICAgICAgICAgICAgICAgYXNzZXJ0KGZpbGxvYmogIT0gTlVMTCk7CisgICAgICAgICAgICAgICAgaWYgKHJlcGVhdF9hY2N1bXVsYXRlKCZhY2MsIGZpbGxvYmosIHdpZHRoIC0gbGVuKSkKKyAgICAgICAgICAgICAgICAgICAgZ290byBvbkVycm9yOworICAgICAgICAgICAgICAgIHdpZHRoID0gbGVuOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgaWYgKGZpbGwgPT0gJyAnKSB7Ci0gICAgICAgICAgICAgICAgaWYgKHNpZ24pCi0gICAgICAgICAgICAgICAgICAgICpyZXMrKyA9IHNpZ247CisgICAgICAgICAgICAgICAgaWYgKHNpZ24pIHsKKyAgICAgICAgICAgICAgICAgICAgYXNzZXJ0KHNpZ25vYmogIT0gTlVMTCk7CisgICAgICAgICAgICAgICAgICAgIGlmIChfUHlBY2N1X0FjY3VtdWxhdGUoJmFjYywgc2lnbm9iaikpCisgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIG9uRXJyb3I7CisgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIGlmICgoZmxhZ3MgJiBGX0FMVCkgJiYgKGMgPT0gJ3gnIHx8IGMgPT0gJ1gnIHx8IGMgPT0gJ28nKSkgewotICAgICAgICAgICAgICAgICAgICBhc3NlcnQocGJ1ZlswXSA9PSAnMCcpOwotICAgICAgICAgICAgICAgICAgICBhc3NlcnQocGJ1ZlsxXSA9PSBjKTsKLSAgICAgICAgICAgICAgICAgICAgKnJlcysrID0gKnBidWYrKzsKLSAgICAgICAgICAgICAgICAgICAgKnJlcysrID0gKnBidWYrKzsKKyAgICAgICAgICAgICAgICAgICAgYXNzZXJ0KFB5VW5pY29kZV9SRUFEKGtpbmQsIHBidWYsIHBpbmRleCkgPT0gJzAnKTsKKyAgICAgICAgICAgICAgICAgICAgYXNzZXJ0KFB5VW5pY29kZV9SRUFEKGtpbmQsIHBidWYsIHBpbmRleCsxKSA9PSBjKTsKKyAgICAgICAgICAgICAgICAgICAgc2Vjb25kID0gZ2V0X2xhdGluMV9jaGFyKAorICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX1JFQUQoa2luZCwgcGJ1ZiwgcGluZGV4ICsgMSkpOworICAgICAgICAgICAgICAgICAgICBwaW5kZXggKz0gMjsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHNlY29uZCA9PSBOVUxMIHx8CisgICAgICAgICAgICAgICAgICAgICAgICBfUHlBY2N1X0FjY3VtdWxhdGUoJmFjYywgemVybykgfHwKKyAgICAgICAgICAgICAgICAgICAgICAgIF9QeUFjY3VfQWNjdW11bGF0ZSgmYWNjLCBzZWNvbmQpKQorICAgICAgICAgICAgICAgICAgICAgICAgZ290byBvbkVycm9yOworICAgICAgICAgICAgICAgICAgICBQeV9DTEVBUihzZWNvbmQpOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIFB5X1VOSUNPREVfQ09QWShyZXMsIHBidWYsIGxlbik7Ci0gICAgICAgICAgICByZXMgKz0gbGVuOwotICAgICAgICAgICAgcmVzY250IC09IGxlbjsKLSAgICAgICAgICAgIHdoaWxlICgtLXdpZHRoID49IGxlbikgewotICAgICAgICAgICAgICAgIC0tcmVzY250OwotICAgICAgICAgICAgICAgICpyZXMrKyA9ICcgJzsKKyAgICAgICAgICAgIC8qIENvcHkgYWxsIGNoYXJhY3RlcnMsIHByZXNlcnZpbmcgbGVuICovCisgICAgICAgICAgICBpZiAodGVtcCAhPSBOVUxMKSB7CisgICAgICAgICAgICAgICAgYXNzZXJ0KHBidWYgPT0gUHlVbmljb2RlX0RBVEEodGVtcCkpOworICAgICAgICAgICAgICAgIHYgPSBQeVVuaWNvZGVfU3Vic3RyaW5nKHRlbXAsIHBpbmRleCwgcGluZGV4ICsgbGVuKTsKICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGVsc2UgeworICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKnAgPSAoY29uc3QgY2hhciAqKSBwYnVmOworICAgICAgICAgICAgICAgIGFzc2VydChwYnVmICE9IE5VTEwpOworICAgICAgICAgICAgICAgIHAgKz0ga2luZCAqIHBpbmRleDsKKyAgICAgICAgICAgICAgICB2ID0gUHlVbmljb2RlX0Zyb21LaW5kQW5kRGF0YShraW5kLCBwLCBsZW4pOworICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKHYgPT0gTlVMTCkKKyAgICAgICAgICAgICAgICBnb3RvIG9uRXJyb3I7CisgICAgICAgICAgICByID0gX1B5QWNjdV9BY2N1bXVsYXRlKCZhY2MsIHYpOworICAgICAgICAgICAgUHlfREVDUkVGKHYpOworICAgICAgICAgICAgaWYgKHIpCisgICAgICAgICAgICAgICAgZ290byBvbkVycm9yOworICAgICAgICAgICAgaWYgKHdpZHRoID4gbGVuICYmIHJlcGVhdF9hY2N1bXVsYXRlKCZhY2MsIGJsYW5rLCB3aWR0aCAtIGxlbikpCisgICAgICAgICAgICAgICAgZ290byBvbkVycm9yOwogICAgICAgICAgICAgaWYgKGRpY3QgJiYgKGFyZ2lkeCA8IGFyZ2xlbikgJiYgYyAhPSAnJScpIHsKICAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibm90IGFsbCBhcmd1bWVudHMgY29udmVydGVkIGR1cmluZyBzdHJpbmcgZm9ybWF0dGluZyIpOwotICAgICAgICAgICAgICAgIFB5X1hERUNSRUYodGVtcCk7CiAgICAgICAgICAgICAgICAgZ290byBvbkVycm9yOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgUHlfWERFQ1JFRih0ZW1wKTsKKyAgICAgICAgICAgIFB5X0NMRUFSKHRlbXApOwogICAgICAgICB9IC8qICclJyAqLwogICAgIH0gLyogdW50aWwgZW5kICovCiAgICAgaWYgKGFyZ2lkeCA8IGFyZ2xlbiAmJiAhZGljdCkgewpAQCAtOTkwMywxNyArMTM5MjYsMjAgQEAKICAgICAgICAgZ290byBvbkVycm9yOwogICAgIH0KIAotICAgIGlmIChfUHlVbmljb2RlX1Jlc2l6ZSgmcmVzdWx0LCByZXNsZW4gLSByZXNjbnQpIDwgMCkKLSAgICAgICAgZ290byBvbkVycm9yOworICAgIHJlc3VsdCA9IF9QeUFjY3VfRmluaXNoKCZhY2MpOwogICAgIGlmIChhcmdzX293bmVkKSB7CiAgICAgICAgIFB5X0RFQ1JFRihhcmdzKTsKICAgICB9CiAgICAgUHlfREVDUkVGKHVmb3JtYXQpOwotICAgIHJldHVybiAoUHlPYmplY3QgKilyZXN1bHQ7CisgICAgUHlfWERFQ1JFRih0ZW1wKTsKKyAgICBQeV9YREVDUkVGKHNlY29uZCk7CisgICAgcmV0dXJuIHJlc3VsdDsKIAogICBvbkVycm9yOgotICAgIFB5X1hERUNSRUYocmVzdWx0KTsKICAgICBQeV9ERUNSRUYodWZvcm1hdCk7CisgICAgUHlfWERFQ1JFRih0ZW1wKTsKKyAgICBQeV9YREVDUkVGKHNlY29uZCk7CisgICAgX1B5QWNjdV9EZXN0cm95KCZhY2MpOwogICAgIGlmIChhcmdzX293bmVkKSB7CiAgICAgICAgIFB5X0RFQ1JFRihhcmdzKTsKICAgICB9CkBAIC05OTM2LDggKzEzOTYyLDEwIEBACiAgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dkcywgInxPc3M6c3RyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrd2xpc3QsICZ4LCAmZW5jb2RpbmcsICZlcnJvcnMpKQogICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBpZiAoeCA9PSBOVUxMKQotICAgICAgICByZXR1cm4gKFB5T2JqZWN0ICopX1B5VW5pY29kZV9OZXcoMCk7CisgICAgaWYgKHggPT0gTlVMTCkgeworICAgICAgICBQeV9JTkNSRUYodW5pY29kZV9lbXB0eSk7CisgICAgICAgIHJldHVybiB1bmljb2RlX2VtcHR5OworICAgIH0KICAgICBpZiAoZW5jb2RpbmcgPT0gTlVMTCAmJiBlcnJvcnMgPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIFB5T2JqZWN0X1N0cih4KTsKICAgICBlbHNlCkBAIC05OTQ3LDMxICsxMzk3NSwxMDEgQEAKIHN0YXRpYyBQeU9iamVjdCAqCiB1bmljb2RlX3N1YnR5cGVfbmV3KFB5VHlwZU9iamVjdCAqdHlwZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2RzKQogewotICAgIFB5VW5pY29kZU9iamVjdCAqdG1wLCAqcG5ldzsKLSAgICBQeV9zc2l6ZV90IG47CisgICAgUHlPYmplY3QgKnVuaWNvZGUsICpzZWxmOworICAgIFB5X3NzaXplX3QgbGVuZ3RoLCBjaGFyX3NpemU7CisgICAgaW50IHNoYXJlX3dzdHIsIHNoYXJlX3V0Zjg7CisgICAgdW5zaWduZWQgaW50IGtpbmQ7CisgICAgdm9pZCAqZGF0YTsKIAogICAgIGFzc2VydChQeVR5cGVfSXNTdWJ0eXBlKHR5cGUsICZQeVVuaWNvZGVfVHlwZSkpOwotICAgIHRtcCA9IChQeVVuaWNvZGVPYmplY3QgKil1bmljb2RlX25ldygmUHlVbmljb2RlX1R5cGUsIGFyZ3MsIGt3ZHMpOwotICAgIGlmICh0bXAgPT0gTlVMTCkKKworICAgIHVuaWNvZGUgPSB1bmljb2RlX25ldygmUHlVbmljb2RlX1R5cGUsIGFyZ3MsIGt3ZHMpOworICAgIGlmICh1bmljb2RlID09IE5VTEwpCiAgICAgICAgIHJldHVybiBOVUxMOwotICAgIGFzc2VydChQeVVuaWNvZGVfQ2hlY2sodG1wKSk7Ci0gICAgcG5ldyA9IChQeVVuaWNvZGVPYmplY3QgKikgdHlwZS0+dHBfYWxsb2ModHlwZSwgbiA9IHRtcC0+bGVuZ3RoKTsKLSAgICBpZiAocG5ldyA9PSBOVUxMKSB7Ci0gICAgICAgIFB5X0RFQ1JFRih0bXApOworICAgIGFzc2VydChfUHlVbmljb2RlX0NIRUNLKHVuaWNvZGUpKTsKKyAgICBpZiAoUHlVbmljb2RlX1JFQURZKHVuaWNvZGUpID09IC0xKSB7CisgICAgICAgIFB5X0RFQ1JFRih1bmljb2RlKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQotICAgIHBuZXctPnN0ciA9IChQeV9VTklDT0RFKikgUHlPYmplY3RfTUFMTE9DKHNpemVvZihQeV9VTklDT0RFKSAqIChuKzEpKTsKLSAgICBpZiAocG5ldy0+c3RyID09IE5VTEwpIHsKLSAgICAgICAgX1B5X0ZvcmdldFJlZmVyZW5jZSgoUHlPYmplY3QgKilwbmV3KTsKLSAgICAgICAgUHlPYmplY3RfRGVsKHBuZXcpOwotICAgICAgICBQeV9ERUNSRUYodG1wKTsKLSAgICAgICAgcmV0dXJuIFB5RXJyX05vTWVtb3J5KCk7CisKKyAgICBzZWxmID0gdHlwZS0+dHBfYWxsb2ModHlwZSwgMCk7CisgICAgaWYgKHNlbGYgPT0gTlVMTCkgeworICAgICAgICBQeV9ERUNSRUYodW5pY29kZSk7CisgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KLSAgICBQeV9VTklDT0RFX0NPUFkocG5ldy0+c3RyLCB0bXAtPnN0ciwgbisxKTsKLSAgICBwbmV3LT5sZW5ndGggPSBuOwotICAgIHBuZXctPmhhc2ggPSB0bXAtPmhhc2g7Ci0gICAgUHlfREVDUkVGKHRtcCk7Ci0gICAgcmV0dXJuIChQeU9iamVjdCAqKXBuZXc7CisgICAga2luZCA9IFB5VW5pY29kZV9LSU5EKHVuaWNvZGUpOworICAgIGxlbmd0aCA9IFB5VW5pY29kZV9HRVRfTEVOR1RIKHVuaWNvZGUpOworCisgICAgX1B5VW5pY29kZV9MRU5HVEgoc2VsZikgPSBsZW5ndGg7CisjaWZkZWYgUHlfREVCVUcKKyAgICBfUHlVbmljb2RlX0hBU0goc2VsZikgPSAtMTsKKyNlbHNlCisgICAgX1B5VW5pY29kZV9IQVNIKHNlbGYpID0gX1B5VW5pY29kZV9IQVNIKHVuaWNvZGUpOworI2VuZGlmCisgICAgX1B5VW5pY29kZV9TVEFURShzZWxmKS5pbnRlcm5lZCA9IDA7CisgICAgX1B5VW5pY29kZV9TVEFURShzZWxmKS5raW5kID0ga2luZDsKKyAgICBfUHlVbmljb2RlX1NUQVRFKHNlbGYpLmNvbXBhY3QgPSAwOworICAgIF9QeVVuaWNvZGVfU1RBVEUoc2VsZikuYXNjaWkgPSBfUHlVbmljb2RlX1NUQVRFKHVuaWNvZGUpLmFzY2lpOworICAgIF9QeVVuaWNvZGVfU1RBVEUoc2VsZikucmVhZHkgPSAxOworICAgIF9QeVVuaWNvZGVfV1NUUihzZWxmKSA9IE5VTEw7CisgICAgX1B5VW5pY29kZV9VVEY4X0xFTkdUSChzZWxmKSA9IDA7CisgICAgX1B5VW5pY29kZV9VVEY4KHNlbGYpID0gTlVMTDsKKyAgICBfUHlVbmljb2RlX1dTVFJfTEVOR1RIKHNlbGYpID0gMDsKKyAgICBfUHlVbmljb2RlX0RBVEFfQU5ZKHNlbGYpID0gTlVMTDsKKworICAgIHNoYXJlX3V0ZjggPSAwOworICAgIHNoYXJlX3dzdHIgPSAwOworICAgIGlmIChraW5kID09IFB5VW5pY29kZV8xQllURV9LSU5EKSB7CisgICAgICAgIGNoYXJfc2l6ZSA9IDE7CisgICAgICAgIGlmIChQeVVuaWNvZGVfTUFYX0NIQVJfVkFMVUUodW5pY29kZSkgPCAxMjgpCisgICAgICAgICAgICBzaGFyZV91dGY4ID0gMTsKKyAgICB9CisgICAgZWxzZSBpZiAoa2luZCA9PSBQeVVuaWNvZGVfMkJZVEVfS0lORCkgeworICAgICAgICBjaGFyX3NpemUgPSAyOworICAgICAgICBpZiAoc2l6ZW9mKHdjaGFyX3QpID09IDIpCisgICAgICAgICAgICBzaGFyZV93c3RyID0gMTsKKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIGFzc2VydChraW5kID09IFB5VW5pY29kZV80QllURV9LSU5EKTsKKyAgICAgICAgY2hhcl9zaXplID0gNDsKKyAgICAgICAgaWYgKHNpemVvZih3Y2hhcl90KSA9PSA0KQorICAgICAgICAgICAgc2hhcmVfd3N0ciA9IDE7CisgICAgfQorCisgICAgLyogRW5zdXJlIHdlIHdvbid0IG92ZXJmbG93IHRoZSBsZW5ndGguICovCisgICAgaWYgKGxlbmd0aCA+IChQWV9TU0laRV9UX01BWCAvIGNoYXJfc2l6ZSAtIDEpKSB7CisgICAgICAgIFB5RXJyX05vTWVtb3J5KCk7CisgICAgICAgIGdvdG8gb25FcnJvcjsKKyAgICB9CisgICAgZGF0YSA9IFB5T2JqZWN0X01BTExPQygobGVuZ3RoICsgMSkgKiBjaGFyX3NpemUpOworICAgIGlmIChkYXRhID09IE5VTEwpIHsKKyAgICAgICAgUHlFcnJfTm9NZW1vcnkoKTsKKyAgICAgICAgZ290byBvbkVycm9yOworICAgIH0KKworICAgIF9QeVVuaWNvZGVfREFUQV9BTlkoc2VsZikgPSBkYXRhOworICAgIGlmIChzaGFyZV91dGY4KSB7CisgICAgICAgIF9QeVVuaWNvZGVfVVRGOF9MRU5HVEgoc2VsZikgPSBsZW5ndGg7CisgICAgICAgIF9QeVVuaWNvZGVfVVRGOChzZWxmKSA9IGRhdGE7CisgICAgfQorICAgIGlmIChzaGFyZV93c3RyKSB7CisgICAgICAgIF9QeVVuaWNvZGVfV1NUUl9MRU5HVEgoc2VsZikgPSBsZW5ndGg7CisgICAgICAgIF9QeVVuaWNvZGVfV1NUUihzZWxmKSA9ICh3Y2hhcl90ICopZGF0YTsKKyAgICB9CisKKyAgICBQeV9NRU1DUFkoZGF0YSwgUHlVbmljb2RlX0RBVEEodW5pY29kZSksCisgICAgICAgICAgICAgIGtpbmQgKiAobGVuZ3RoICsgMSkpOworICAgIGFzc2VydChfUHlVbmljb2RlX0NoZWNrQ29uc2lzdGVuY3koc2VsZiwgMSkpOworI2lmZGVmIFB5X0RFQlVHCisgICAgX1B5VW5pY29kZV9IQVNIKHNlbGYpID0gX1B5VW5pY29kZV9IQVNIKHVuaWNvZGUpOworI2VuZGlmCisgICAgUHlfREVDUkVGKHVuaWNvZGUpOworICAgIHJldHVybiBzZWxmOworCitvbkVycm9yOgorICAgIFB5X0RFQ1JFRih1bmljb2RlKTsKKyAgICBQeV9ERUNSRUYoc2VsZik7CisgICAgcmV0dXJuIE5VTEw7CiB9CiAKIFB5RG9jX1NUUlZBUih1bmljb2RlX2RvYywKQEAgLTEwMDI5LDEyICsxNDEyNywxMiBAQAogCiAvKiBJbml0aWFsaXplIHRoZSBVbmljb2RlIGltcGxlbWVudGF0aW9uICovCiAKLXZvaWQgX1B5VW5pY29kZV9Jbml0KHZvaWQpCitpbnQgX1B5VW5pY29kZV9Jbml0KHZvaWQpCiB7CiAgICAgaW50IGk7CiAKICAgICAvKiBYWFggLSBtb3ZlIHRoaXMgYXJyYXkgdG8gdW5pY29kZWN0eXBlLmMgPyAqLwotICAgIFB5X1VOSUNPREUgbGluZWJyZWFrW10gPSB7CisgICAgUHlfVUNTMiBsaW5lYnJlYWtbXSA9IHsKICAgICAgICAgMHgwMDBBLCAvKiBMSU5FIEZFRUQgKi8KICAgICAgICAgMHgwMDBELCAvKiBDQVJSSUFHRSBSRVRVUk4gKi8KICAgICAgICAgMHgwMDFDLCAvKiBGSUxFIFNFUEFSQVRPUiAqLwpAQCAtMTAwNDYsMTEgKzE0MTQ0LDEwIEBACiAgICAgfTsKIAogICAgIC8qIEluaXQgdGhlIGltcGxlbWVudGF0aW9uICovCi0gICAgZnJlZV9saXN0ID0gTlVMTDsKLSAgICBudW1mcmVlID0gMDsKLSAgICB1bmljb2RlX2VtcHR5ID0gX1B5VW5pY29kZV9OZXcoMCk7CisgICAgdW5pY29kZV9lbXB0eSA9IFB5VW5pY29kZV9OZXcoMCwgMCk7CiAgICAgaWYgKCF1bmljb2RlX2VtcHR5KQotICAgICAgICByZXR1cm47CisgICAgICAgIFB5X0ZhdGFsRXJyb3IoIkNhbid0IGNyZWF0ZSBlbXB0eSBzdHJpbmciKTsKKyAgICBhc3NlcnQoX1B5VW5pY29kZV9DaGVja0NvbnNpc3RlbmN5KHVuaWNvZGVfZW1wdHksIDEpKTsKIAogICAgIGZvciAoaSA9IDA7IGkgPCAyNTY7IGkrKykKICAgICAgICAgdW5pY29kZV9sYXRpbjFbaV0gPSBOVUxMOwpAQCAtMTAwNTksMTAgKzE0MTU2LDE5IEBACiAKICAgICAvKiBpbml0aWFsaXplIHRoZSBsaW5lYnJlYWsgYmxvb20gZmlsdGVyICovCiAgICAgYmxvb21fbGluZWJyZWFrID0gbWFrZV9ibG9vbV9tYXNrKAotICAgICAgICBsaW5lYnJlYWssIHNpemVvZihsaW5lYnJlYWspIC8gc2l6ZW9mKGxpbmVicmVha1swXSkKLSAgICAgICAgKTsKKyAgICAgICAgUHlVbmljb2RlXzJCWVRFX0tJTkQsIGxpbmVicmVhaywKKyAgICAgICAgUHlfQVJSQVlfTEVOR1RIKGxpbmVicmVhaykpOwogCiAgICAgUHlUeXBlX1JlYWR5KCZFbmNvZGluZ01hcFR5cGUpOworCisjaWZkZWYgSEFWRV9NQkNTCisgICAgd2ludmVyLmR3T1NWZXJzaW9uSW5mb1NpemUgPSBzaXplb2Yod2ludmVyKTsKKyAgICBpZiAoIUdldFZlcnNpb25FeCgoT1NWRVJTSU9OSU5GTyopJndpbnZlcikpIHsKKyAgICAgICAgUHlFcnJfU2V0RnJvbVdpbmRvd3NFcnIoMCk7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisjZW5kaWYKKyAgICByZXR1cm4gMDsKIH0KIAogLyogRmluYWxpemUgdGhlIFVuaWNvZGUgaW1wbGVtZW50YXRpb24gKi8KQEAgLTEwMDcwLDIxICsxNDE3Niw3IEBACiBpbnQKIFB5VW5pY29kZV9DbGVhckZyZWVMaXN0KHZvaWQpCiB7Ci0gICAgaW50IGZyZWVsaXN0X3NpemUgPSBudW1mcmVlOwotICAgIFB5VW5pY29kZU9iamVjdCAqdTsKLQotICAgIGZvciAodSA9IGZyZWVfbGlzdDsgdSAhPSBOVUxMOykgewotICAgICAgICBQeVVuaWNvZGVPYmplY3QgKnYgPSB1OwotICAgICAgICB1ID0gKihQeVVuaWNvZGVPYmplY3QgKiopdTsKLSAgICAgICAgaWYgKHYtPnN0cikKLSAgICAgICAgICAgIFB5T2JqZWN0X0RFTCh2LT5zdHIpOwotICAgICAgICBQeV9YREVDUkVGKHYtPmRlZmVuYyk7Ci0gICAgICAgIFB5T2JqZWN0X0RlbCh2KTsKLSAgICAgICAgbnVtZnJlZS0tOwotICAgIH0KLSAgICBmcmVlX2xpc3QgPSBOVUxMOwotICAgIGFzc2VydChudW1mcmVlID09IDApOwotICAgIHJldHVybiBmcmVlbGlzdF9zaXplOworICAgIHJldHVybiAwOwogfQogCiB2b2lkCkBAIC0xMDEwMSwxNyArMTQxOTMsMjIgQEAKICAgICAgICAgICAgIHVuaWNvZGVfbGF0aW4xW2ldID0gTlVMTDsKICAgICAgICAgfQogICAgIH0KKyAgICBfUHlVbmljb2RlX0NsZWFyU3RhdGljU3RyaW5ncygpOwogICAgICh2b2lkKVB5VW5pY29kZV9DbGVhckZyZWVMaXN0KCk7CiB9CiAKIHZvaWQKIFB5VW5pY29kZV9JbnRlcm5JblBsYWNlKFB5T2JqZWN0ICoqcCkKIHsKLSAgICByZWdpc3RlciBQeVVuaWNvZGVPYmplY3QgKnMgPSAoUHlVbmljb2RlT2JqZWN0ICopKCpwKTsKKyAgICByZWdpc3RlciBQeU9iamVjdCAqcyA9ICpwOwogICAgIFB5T2JqZWN0ICp0OworI2lmZGVmIFB5X0RFQlVHCisgICAgYXNzZXJ0KHMgIT0gTlVMTCk7CisgICAgYXNzZXJ0KF9QeVVuaWNvZGVfQ0hFQ0socykpOworI2Vsc2UKICAgICBpZiAocyA9PSBOVUxMIHx8ICFQeVVuaWNvZGVfQ2hlY2socykpCi0gICAgICAgIFB5X0ZhdGFsRXJyb3IoCi0gICAgICAgICAgICAiUHlVbmljb2RlX0ludGVybkluUGxhY2U6IHVuaWNvZGUgc3RyaW5ncyBvbmx5IHBsZWFzZSEiKTsKKyAgICAgICAgcmV0dXJuOworI2VuZGlmCiAgICAgLyogSWYgaXQncyBhIHN1YmNsYXNzLCB3ZSBkb24ndCByZWFsbHkga25vdyB3aGF0IHB1dHRpbmcKICAgICAgICBpdCBpbiB0aGUgaW50ZXJuZWQgZGljdCBtaWdodCBkby4gKi8KICAgICBpZiAoIVB5VW5pY29kZV9DaGVja0V4YWN0KHMpKQpAQCAtMTAxMjksNyArMTQyMjYsNyBAQAogICAgICAgIHRob3VnaCB0aGUga2V5IGlzIHByZXNlbnQgaW4gdGhlIGRpY3Rpb25hcnksCiAgICAgICAgbmFtZWx5IHdoZW4gdGhpcyBoYXBwZW5zIGR1cmluZyBhIHN0YWNrIG92ZXJmbG93LiAqLwogICAgIFB5X0FMTE9XX1JFQ1VSU0lPTgotICAgICAgICB0ID0gUHlEaWN0X0dldEl0ZW0oaW50ZXJuZWQsIChQeU9iamVjdCAqKXMpOworICAgIHQgPSBQeURpY3RfR2V0SXRlbShpbnRlcm5lZCwgcyk7CiAgICAgUHlfRU5EX0FMTE9XX1JFQ1VSU0lPTgogCiAgICAgICAgIGlmICh0KSB7CkBAIC0xMDE0MCw3ICsxNDIzNyw3IEBACiAgICAgICAgIH0KIAogICAgIFB5VGhyZWFkU3RhdGVfR0VUKCktPnJlY3Vyc2lvbl9jcml0aWNhbCA9IDE7Ci0gICAgaWYgKFB5RGljdF9TZXRJdGVtKGludGVybmVkLCAoUHlPYmplY3QgKilzLCAoUHlPYmplY3QgKilzKSA8IDApIHsKKyAgICBpZiAoUHlEaWN0X1NldEl0ZW0oaW50ZXJuZWQsIHMsIHMpIDwgMCkgewogICAgICAgICBQeUVycl9DbGVhcigpOwogICAgICAgICBQeVRocmVhZFN0YXRlX0dFVCgpLT5yZWN1cnNpb25fY3JpdGljYWwgPSAwOwogICAgICAgICByZXR1cm47CkBAIC0xMDE0OSw3ICsxNDI0Niw3IEBACiAgICAgLyogVGhlIHR3byByZWZlcmVuY2VzIGluIGludGVybmVkIGFyZSBub3QgY291bnRlZCBieSByZWZjbnQuCiAgICAgICAgVGhlIGRlYWxsb2NhdG9yIHdpbGwgdGFrZSBjYXJlIG9mIHRoaXMgKi8KICAgICBQeV9SRUZDTlQocykgLT0gMjsKLSAgICBQeVVuaWNvZGVfQ0hFQ0tfSU5URVJORUQocykgPSBTU1RBVEVfSU5URVJORURfTU9SVEFMOworICAgIF9QeVVuaWNvZGVfU1RBVEUocykuaW50ZXJuZWQgPSBTU1RBVEVfSU5URVJORURfTU9SVEFMOwogfQogCiB2b2lkCkBAIC0xMDE1Nyw3ICsxNDI1NCw3IEBACiB7CiAgICAgUHlVbmljb2RlX0ludGVybkluUGxhY2UocCk7CiAgICAgaWYgKFB5VW5pY29kZV9DSEVDS19JTlRFUk5FRCgqcCkgIT0gU1NUQVRFX0lOVEVSTkVEX0lNTU9SVEFMKSB7Ci0gICAgICAgIFB5VW5pY29kZV9DSEVDS19JTlRFUk5FRCgqcCkgPSBTU1RBVEVfSU5URVJORURfSU1NT1JUQUw7CisgICAgICAgIF9QeVVuaWNvZGVfU1RBVEUoKnApLmludGVybmVkID0gU1NUQVRFX0lOVEVSTkVEX0lNTU9SVEFMOwogICAgICAgICBQeV9JTkNSRUYoKnApOwogICAgIH0KIH0KQEAgLTEwMTcyLDEwICsxNDI2OSwxMSBAQAogICAgIHJldHVybiBzOwogfQogCi12b2lkIF9QeV9SZWxlYXNlSW50ZXJuZWRVbmljb2RlU3RyaW5ncyh2b2lkKQordm9pZAorX1B5X1JlbGVhc2VJbnRlcm5lZFVuaWNvZGVTdHJpbmdzKHZvaWQpCiB7CiAgICAgUHlPYmplY3QgKmtleXM7Ci0gICAgUHlVbmljb2RlT2JqZWN0ICpzOworICAgIFB5T2JqZWN0ICpzOwogICAgIFB5X3NzaXplX3QgaSwgbjsKICAgICBQeV9zc2l6ZV90IGltbW9ydGFsX3NpemUgPSAwLCBtb3J0YWxfc2l6ZSA9IDA7CiAKQEAgLTEwMTk2LDIzICsxNDI5NCwyNyBAQAogICAgIGZwcmludGYoc3RkZXJyLCAicmVsZWFzaW5nICUiIFBZX0ZPUk1BVF9TSVpFX1QgImQgaW50ZXJuZWQgc3RyaW5nc1xuIiwKICAgICAgICAgICAgIG4pOwogICAgIGZvciAoaSA9IDA7IGkgPCBuOyBpKyspIHsKLSAgICAgICAgcyA9IChQeVVuaWNvZGVPYmplY3QgKikgUHlMaXN0X0dFVF9JVEVNKGtleXMsIGkpOwotICAgICAgICBzd2l0Y2ggKHMtPnN0YXRlKSB7CisgICAgICAgIHMgPSBQeUxpc3RfR0VUX0lURU0oa2V5cywgaSk7CisgICAgICAgIGlmIChQeVVuaWNvZGVfUkVBRFkocykgPT0gLTEpIHsKKyAgICAgICAgICAgIGFzc2VydCgwICYmICJjb3VsZCBub3QgcmVhZHkgc3RyaW5nIik7CisgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgImNvdWxkIG5vdCByZWFkeSBzdHJpbmdcbiIpOworICAgICAgICB9CisgICAgICAgIHN3aXRjaCAoUHlVbmljb2RlX0NIRUNLX0lOVEVSTkVEKHMpKSB7CiAgICAgICAgIGNhc2UgU1NUQVRFX05PVF9JTlRFUk5FRDoKICAgICAgICAgICAgIC8qIFhYWCBTaG91bGRuJ3QgaGFwcGVuICovCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBTU1RBVEVfSU5URVJORURfSU1NT1JUQUw6CiAgICAgICAgICAgICBQeV9SRUZDTlQocykgKz0gMTsKLSAgICAgICAgICAgIGltbW9ydGFsX3NpemUgKz0gcy0+bGVuZ3RoOworICAgICAgICAgICAgaW1tb3J0YWxfc2l6ZSArPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChzKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIFNTVEFURV9JTlRFUk5FRF9NT1JUQUw6CiAgICAgICAgICAgICBQeV9SRUZDTlQocykgKz0gMjsKLSAgICAgICAgICAgIG1vcnRhbF9zaXplICs9IHMtPmxlbmd0aDsKKyAgICAgICAgICAgIG1vcnRhbF9zaXplICs9IFB5VW5pY29kZV9HRVRfTEVOR1RIKHMpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICBQeV9GYXRhbEVycm9yKCJJbmNvbnNpc3RlbnQgaW50ZXJuZWQgc3RyaW5nIHN0YXRlLiIpOwogICAgICAgICB9Ci0gICAgICAgIHMtPnN0YXRlID0gU1NUQVRFX05PVF9JTlRFUk5FRDsKKyAgICAgICAgX1B5VW5pY29kZV9TVEFURShzKS5pbnRlcm5lZCA9IFNTVEFURV9OT1RfSU5URVJORUQ7CiAgICAgfQogICAgIGZwcmludGYoc3RkZXJyLCAidG90YWwgc2l6ZSBvZiBhbGwgaW50ZXJuZWQgc3RyaW5nczogIgogICAgICAgICAgICAgIiUiIFBZX0ZPUk1BVF9TSVpFX1QgImQvJSIgUFlfRk9STUFUX1NJWkVfVCAiZCAiCkBAIC0xMDIyOSw3ICsxNDMzMSw3IEBACiB0eXBlZGVmIHN0cnVjdCB7CiAgICAgUHlPYmplY3RfSEVBRAogICAgIFB5X3NzaXplX3QgaXRfaW5kZXg7Ci0gICAgUHlVbmljb2RlT2JqZWN0ICppdF9zZXE7IC8qIFNldCB0byBOVUxMIHdoZW4gaXRlcmF0b3IgaXMgZXhoYXVzdGVkICovCisgICAgUHlPYmplY3QgKml0X3NlcTsgICAgLyogU2V0IHRvIE5VTEwgd2hlbiBpdGVyYXRvciBpcyBleGhhdXN0ZWQgKi8KIH0gdW5pY29kZWl0ZXJvYmplY3Q7CiAKIHN0YXRpYyB2b2lkCkBAIC0xMDI1MCwxOCArMTQzNTIsMTkgQEAKIHN0YXRpYyBQeU9iamVjdCAqCiB1bmljb2RlaXRlcl9uZXh0KHVuaWNvZGVpdGVyb2JqZWN0ICppdCkKIHsKLSAgICBQeVVuaWNvZGVPYmplY3QgKnNlcTsKLSAgICBQeU9iamVjdCAqaXRlbTsKKyAgICBQeU9iamVjdCAqc2VxLCAqaXRlbTsKIAogICAgIGFzc2VydChpdCAhPSBOVUxMKTsKICAgICBzZXEgPSBpdC0+aXRfc2VxOwogICAgIGlmIChzZXEgPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgYXNzZXJ0KFB5VW5pY29kZV9DaGVjayhzZXEpKTsKKyAgICBhc3NlcnQoX1B5VW5pY29kZV9DSEVDSyhzZXEpKTsKIAotICAgIGlmIChpdC0+aXRfaW5kZXggPCBQeVVuaWNvZGVfR0VUX1NJWkUoc2VxKSkgewotICAgICAgICBpdGVtID0gUHlVbmljb2RlX0Zyb21Vbmljb2RlKAotICAgICAgICAgICAgUHlVbmljb2RlX0FTX1VOSUNPREUoc2VxKStpdC0+aXRfaW5kZXgsIDEpOworICAgIGlmIChpdC0+aXRfaW5kZXggPCBQeVVuaWNvZGVfR0VUX0xFTkdUSChzZXEpKSB7CisgICAgICAgIGludCBraW5kID0gUHlVbmljb2RlX0tJTkQoc2VxKTsKKyAgICAgICAgdm9pZCAqZGF0YSA9IFB5VW5pY29kZV9EQVRBKHNlcSk7CisgICAgICAgIFB5X1VDUzQgY2hyID0gUHlVbmljb2RlX1JFQUQoa2luZCwgZGF0YSwgaXQtPml0X2luZGV4KTsKKyAgICAgICAgaXRlbSA9IFB5VW5pY29kZV9Gcm9tT3JkaW5hbChjaHIpOwogICAgICAgICBpZiAoaXRlbSAhPSBOVUxMKQogICAgICAgICAgICAgKytpdC0+aXRfaW5kZXg7CiAgICAgICAgIHJldHVybiBpdGVtOwpAQCAtMTAyNzcsNyArMTQzODAsNyBAQAogewogICAgIFB5X3NzaXplX3QgbGVuID0gMDsKICAgICBpZiAoaXQtPml0X3NlcSkKLSAgICAgICAgbGVuID0gUHlVbmljb2RlX0dFVF9TSVpFKGl0LT5pdF9zZXEpIC0gaXQtPml0X2luZGV4OworICAgICAgICBsZW4gPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChpdC0+aXRfc2VxKSAtIGl0LT5pdF9pbmRleDsKICAgICByZXR1cm4gUHlMb25nX0Zyb21Tc2l6ZV90KGxlbik7CiB9CiAKQEAgLTEwMzMxLDE2ICsxNDQzNCwxOSBAQAogICAgICAgICBQeUVycl9CYWRJbnRlcm5hbENhbGwoKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQorICAgIGlmIChQeVVuaWNvZGVfUkVBRFkoc2VxKSA9PSAtMSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgaXQgPSBQeU9iamVjdF9HQ19OZXcodW5pY29kZWl0ZXJvYmplY3QsICZQeVVuaWNvZGVJdGVyX1R5cGUpOwogICAgIGlmIChpdCA9PSBOVUxMKQogICAgICAgICByZXR1cm4gTlVMTDsKICAgICBpdC0+aXRfaW5kZXggPSAwOwogICAgIFB5X0lOQ1JFRihzZXEpOwotICAgIGl0LT5pdF9zZXEgPSAoUHlVbmljb2RlT2JqZWN0ICopc2VxOworICAgIGl0LT5pdF9zZXEgPSBzZXE7CiAgICAgX1B5T2JqZWN0X0dDX1RSQUNLKGl0KTsKICAgICByZXR1cm4gKFB5T2JqZWN0ICopaXQ7CiB9CiAKKwogc2l6ZV90CiBQeV9VTklDT0RFX3N0cmxlbihjb25zdCBQeV9VTklDT0RFICp1KQogewpAQCAtMTA0MzIsMjUgKzE0NTM4LDMxIEBACiB9CiAKIFB5X1VOSUNPREUqCi1QeVVuaWNvZGVfQXNVbmljb2RlQ29weShQeU9iamVjdCAqb2JqZWN0KQorUHlVbmljb2RlX0FzVW5pY29kZUNvcHkoUHlPYmplY3QgKnVuaWNvZGUpCiB7Ci0gICAgUHlVbmljb2RlT2JqZWN0ICp1bmljb2RlID0gKFB5VW5pY29kZU9iamVjdCAqKW9iamVjdDsKLSAgICBQeV9VTklDT0RFICpjb3B5OwotICAgIFB5X3NzaXplX3Qgc2l6ZTsKKyAgICBQeV9VTklDT0RFICp1LCAqY29weTsKKyAgICBQeV9zc2l6ZV90IGxlbiwgc2l6ZTsKIAorICAgIGlmICghUHlVbmljb2RlX0NoZWNrKHVuaWNvZGUpKSB7CisgICAgICAgIFB5RXJyX0JhZEFyZ3VtZW50KCk7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKyAgICB1ID0gUHlVbmljb2RlX0FzVW5pY29kZUFuZFNpemUodW5pY29kZSwgJmxlbik7CisgICAgaWYgKHUgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgLyogRW5zdXJlIHdlIHdvbid0IG92ZXJmbG93IHRoZSBzaXplLiAqLwotICAgIGlmIChQeVVuaWNvZGVfR0VUX1NJWkUodW5pY29kZSkgPiAoKFBZX1NTSVpFX1RfTUFYIC8gc2l6ZW9mKFB5X1VOSUNPREUpKSAtIDEpKSB7CisgICAgaWYgKGxlbiA+ICgoUFlfU1NJWkVfVF9NQVggLyBzaXplb2YoUHlfVU5JQ09ERSkpIC0gMSkpIHsKICAgICAgICAgUHlFcnJfTm9NZW1vcnkoKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQotICAgIHNpemUgPSBQeVVuaWNvZGVfR0VUX1NJWkUodW5pY29kZSkgKyAxOyAvKiBjb3B5IHRoZSBudWwgY2hhcmFjdGVyICovCisgICAgc2l6ZSA9IGxlbiArIDE7IC8qIGNvcHkgdGhlIG51bGwgY2hhcmFjdGVyICovCiAgICAgc2l6ZSAqPSBzaXplb2YoUHlfVU5JQ09ERSk7CiAgICAgY29weSA9IFB5TWVtX01hbGxvYyhzaXplKTsKICAgICBpZiAoY29weSA9PSBOVUxMKSB7CiAgICAgICAgIFB5RXJyX05vTWVtb3J5KCk7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KLSAgICBtZW1jcHkoY29weSwgUHlVbmljb2RlX0FTX1VOSUNPREUodW5pY29kZSksIHNpemUpOworICAgIG1lbWNweShjb3B5LCB1LCBzaXplKTsKICAgICByZXR1cm4gY29weTsKIH0KIApkaWZmIC0tZ2l0IGEvT2JqZWN0cy91bmljb2RldHlwZV9kYi5oIGIvT2JqZWN0cy91bmljb2RldHlwZV9kYi5oCmluZGV4IDg4YTc5MTIuLjQ2YTkyYmIgMTAwNjQ0Ci0tLSBhL09iamVjdHMvdW5pY29kZXR5cGVfZGIuaAorKysgYi9PYmplY3RzL3VuaWNvZGV0eXBlX2RiLmgKQEAgLTgsMTg0ICs4LDk5MiBAQAogICAgIHswLCAwLCAwLCAwLCAwLCA0OH0sCiAgICAgezAsIDAsIDAsIDAsIDAsIDEwNTZ9LAogICAgIHswLCAwLCAwLCAwLCAwLCAxMDI0fSwKLSAgICB7MCwgMCwgMCwgMCwgMCwgNTYzOH0sCi0gICAgezAsIDAsIDAsIDEsIDEsIDU2Mzh9LAotICAgIHswLCAwLCAwLCAyLCAyLCA1NjM4fSwKLSAgICB7MCwgMCwgMCwgMywgMywgNTYzOH0sCi0gICAgezAsIDAsIDAsIDQsIDQsIDU2Mzh9LAotICAgIHswLCAwLCAwLCA1LCA1LCA1NjM4fSwKLSAgICB7MCwgMCwgMCwgNiwgNiwgNTYzOH0sCi0gICAgezAsIDAsIDAsIDcsIDcsIDU2Mzh9LAotICAgIHswLCAwLCAwLCA4LCA4LCA1NjM4fSwKLSAgICB7MCwgMCwgMCwgOSwgOSwgNTYzOH0sCi0gICAgezAsIDMyLCAwLCAwLCAwLCAxOTIxfSwKLSAgICB7MCwgMCwgMCwgMCwgMCwgMTUzNn0sCi0gICAgezY1NTA0LCAwLCA2NTUwNCwgMCwgMCwgMTgwMX0sCi0gICAgezAsIDAsIDAsIDAsIDAsIDE4MDF9LAotICAgIHswLCAwLCAwLCAwLCAyLCA1MTI0fSwKLSAgICB7MCwgMCwgMCwgMCwgMywgNTEyNH0sCi0gICAgezc0MywgMCwgNzQzLCAwLCAwLCAxODAxfSwKLSAgICB7MCwgMCwgMCwgMCwgMSwgNTEyNH0sCiAgICAgezAsIDAsIDAsIDAsIDAsIDUxMjB9LAotICAgIHsxMjEsIDAsIDEyMSwgMCwgMCwgMTgwMX0sCi0gICAgezAsIDEsIDAsIDAsIDAsIDE5MjF9LAotICAgIHs2NTUzNSwgMCwgNjU1MzUsIDAsIDAsIDE4MDF9LAotICAgIHswLCA2NTMzNywgMCwgMCwgMCwgMTkyMX0sCi0gICAgezY1MzA0LCAwLCA2NTMwNCwgMCwgMCwgMTgwMX0sCi0gICAgezAsIDY1NDE1LCAwLCAwLCAwLCAxOTIxfSwKLSAgICB7NjUyMzYsIDAsIDY1MjM2LCAwLCAwLCAxODAxfSwKLSAgICB7MTk1LCAwLCAxOTUsIDAsIDAsIDE4MDF9LAotICAgIHswLCAyMTAsIDAsIDAsIDAsIDE5MjF9LAotICAgIHswLCAyMDYsIDAsIDAsIDAsIDE5MjF9LAotICAgIHswLCAyMDUsIDAsIDAsIDAsIDE5MjF9LAotICAgIHswLCA3OSwgMCwgMCwgMCwgMTkyMX0sCi0gICAgezAsIDIwMiwgMCwgMCwgMCwgMTkyMX0sCi0gICAgezAsIDIwMywgMCwgMCwgMCwgMTkyMX0sCi0gICAgezAsIDIwNywgMCwgMCwgMCwgMTkyMX0sCi0gICAgezk3LCAwLCA5NywgMCwgMCwgMTgwMX0sCi0gICAgezAsIDIxMSwgMCwgMCwgMCwgMTkyMX0sCi0gICAgezAsIDIwOSwgMCwgMCwgMCwgMTkyMX0sCi0gICAgezE2MywgMCwgMTYzLCAwLCAwLCAxODAxfSwKLSAgICB7MCwgMjEzLCAwLCAwLCAwLCAxOTIxfSwKLSAgICB7MTMwLCAwLCAxMzAsIDAsIDAsIDE4MDF9LAotICAgIHswLCAyMTQsIDAsIDAsIDAsIDE5MjF9LAotICAgIHswLCAyMTgsIDAsIDAsIDAsIDE5MjF9LAotICAgIHswLCAyMTcsIDAsIDAsIDAsIDE5MjF9LAotICAgIHswLCAyMTksIDAsIDAsIDAsIDE5MjF9LAorICAgIHswLCAwLCAwLCAwLCAwLCAzNTkwfSwKKyAgICB7MCwgMCwgMCwgMSwgMSwgMzU5MH0sCisgICAgezAsIDAsIDAsIDIsIDIsIDM1OTB9LAorICAgIHswLCAwLCAwLCAzLCAzLCAzNTkwfSwKKyAgICB7MCwgMCwgMCwgNCwgNCwgMzU5MH0sCisgICAgezAsIDAsIDAsIDUsIDUsIDM1OTB9LAorICAgIHswLCAwLCAwLCA2LCA2LCAzNTkwfSwKKyAgICB7MCwgMCwgMCwgNywgNywgMzU5MH0sCisgICAgezAsIDAsIDAsIDgsIDgsIDM1OTB9LAorICAgIHswLCAwLCAwLCA5LCA5LCAzNTkwfSwKKyAgICB7MCwgMzIsIDAsIDAsIDAsIDEwMTEzfSwKKyAgICB7MCwgMCwgMCwgMCwgMCwgMTUzNn0sCisgICAgey0zMiwgMCwgLTMyLCAwLCAwLCA5OTkzfSwKKyAgICB7MCwgMCwgMCwgMCwgMCwgOTk5M30sCisgICAgezAsIDAsIDAsIDAsIDAsIDQwOTZ9LAorICAgIHswLCAwLCAwLCAwLCAyLCAzMDc2fSwKKyAgICB7MCwgMCwgMCwgMCwgMywgMzA3Nn0sCisgICAgezE2Nzc3MjE4LCAxNzgyNTc5MiwgMTY3NzcyMTgsIDAsIDAsIDI2Mzc3fSwKKyAgICB7MCwgMCwgMCwgMCwgMCwgNTYzMn0sCisgICAgezAsIDAsIDAsIDAsIDEsIDMwNzZ9LAorICAgIHswLCAwLCAwLCAwLCAwLCAzMDcyfSwKKyAgICB7MzM1NTQ0MzgsIDE4ODc0MzcxLCAzMzU1NDQ0MCwgMCwgMCwgMjYzNzd9LAorICAgIHsxMjEsIDAsIDEyMSwgMCwgMCwgOTk5M30sCisgICAgezAsIDEsIDAsIDAsIDAsIDEwMTEzfSwKKyAgICB7LTEsIDAsIC0xLCAwLCAwLCA5OTkzfSwKKyAgICB7MTY3NzcyMjgsIDMzNTU0NDQyLCAxNjc3NzIyOCwgMCwgMCwgMjY0OTd9LAorICAgIHstMjMyLCAwLCAtMjMyLCAwLCAwLCA5OTkzfSwKKyAgICB7MzM1NTQ0NDgsIDE4ODc0MzgxLCAzMzU1NDQ0OCwgMCwgMCwgMjYzNzd9LAorICAgIHswLCAtMTIxLCAwLCAwLCAwLCAxMDExM30sCisgICAgezE2Nzc3MjM2LCAxNzgyNTgxMCwgMTY3NzcyMzYsIDAsIDAsIDI2Mzc3fSwKKyAgICB7MTk1LCAwLCAxOTUsIDAsIDAsIDk5OTN9LAorICAgIHswLCAyMTAsIDAsIDAsIDAsIDEwMTEzfSwKKyAgICB7MCwgMjA2LCAwLCAwLCAwLCAxMDExM30sCisgICAgezAsIDIwNSwgMCwgMCwgMCwgMTAxMTN9LAorICAgIHswLCA3OSwgMCwgMCwgMCwgMTAxMTN9LAorICAgIHswLCAyMDIsIDAsIDAsIDAsIDEwMTEzfSwKKyAgICB7MCwgMjAzLCAwLCAwLCAwLCAxMDExM30sCisgICAgezAsIDIwNywgMCwgMCwgMCwgMTAxMTN9LAorICAgIHs5NywgMCwgOTcsIDAsIDAsIDk5OTN9LAorICAgIHswLCAyMTEsIDAsIDAsIDAsIDEwMTEzfSwKKyAgICB7MCwgMjA5LCAwLCAwLCAwLCAxMDExM30sCisgICAgezE2MywgMCwgMTYzLCAwLCAwLCA5OTkzfSwKKyAgICB7MCwgMjEzLCAwLCAwLCAwLCAxMDExM30sCisgICAgezEzMCwgMCwgMTMwLCAwLCAwLCA5OTkzfSwKKyAgICB7MCwgMjE0LCAwLCAwLCAwLCAxMDExM30sCisgICAgezAsIDIxOCwgMCwgMCwgMCwgMTAxMTN9LAorICAgIHswLCAyMTcsIDAsIDAsIDAsIDEwMTEzfSwKKyAgICB7MCwgMjE5LCAwLCAwLCAwLCAxMDExM30sCiAgICAgezAsIDAsIDAsIDAsIDAsIDE3OTN9LAotICAgIHs1NiwgMCwgNTYsIDAsIDAsIDE4MDF9LAotICAgIHswLCAyLCAxLCAwLCAwLCAxOTIxfSwKLSAgICB7NjU1MzUsIDEsIDAsIDAsIDAsIDE4NTd9LAotICAgIHs2NTUzNCwgMCwgNjU1MzUsIDAsIDAsIDE4MDF9LAotICAgIHs2NTQ1NywgMCwgNjU0NTcsIDAsIDAsIDE4MDF9LAotICAgIHswLCA2NTQzOSwgMCwgMCwgMCwgMTkyMX0sCi0gICAgezAsIDY1NDgwLCAwLCAwLCAwLCAxOTIxfSwKLSAgICB7MCwgNjU0MDYsIDAsIDAsIDAsIDE5MjF9LAotICAgIHswLCAxMDc5NSwgMCwgMCwgMCwgMTkyMX0sCi0gICAgezAsIDY1MzczLCAwLCAwLCAwLCAxOTIxfSwKLSAgICB7MCwgMTA3OTIsIDAsIDAsIDAsIDE5MjF9LAotICAgIHsxMDgxNSwgMCwgMTA4MTUsIDAsIDAsIDE4MDF9LAotICAgIHswLCA2NTM0MSwgMCwgMCwgMCwgMTkyMX0sCi0gICAgezAsIDY5LCAwLCAwLCAwLCAxOTIxfSwKLSAgICB7MCwgNzEsIDAsIDAsIDAsIDE5MjF9LAotICAgIHsxMDc4MywgMCwgMTA3ODMsIDAsIDAsIDE4MDF9LAotICAgIHsxMDc4MCwgMCwgMTA3ODAsIDAsIDAsIDE4MDF9LAotICAgIHsxMDc4MiwgMCwgMTA3ODIsIDAsIDAsIDE4MDF9LAotICAgIHs2NTMyNiwgMCwgNjUzMjYsIDAsIDAsIDE4MDF9LAotICAgIHs2NTMzMCwgMCwgNjUzMzAsIDAsIDAsIDE4MDF9LAotICAgIHs2NTMzMSwgMCwgNjUzMzEsIDAsIDAsIDE4MDF9LAotICAgIHs2NTMzNCwgMCwgNjUzMzQsIDAsIDAsIDE4MDF9LAotICAgIHs2NTMzMywgMCwgNjUzMzMsIDAsIDAsIDE4MDF9LAotICAgIHs2NTMyOSwgMCwgNjUzMjksIDAsIDAsIDE4MDF9LAotICAgIHs0Mjg5MywgNjEzLCA0Mjg5MywgMCwgMCwgMzg0OX0sCi0gICAgezY1MzI3LCAwLCA2NTMyNywgMCwgMCwgMTgwMX0sCi0gICAgezY1MzI1LCAwLCA2NTMyNSwgMCwgMCwgMTgwMX0sCi0gICAgezEwNzQzLCAwLCAxMDc0MywgMCwgMCwgMTgwMX0sCi0gICAgezEwNzQ5LCAwLCAxMDc0OSwgMCwgMCwgMTgwMX0sCi0gICAgezY1MzIzLCAwLCA2NTMyMywgMCwgMCwgMTgwMX0sCi0gICAgezY1MzIyLCAwLCA2NTMyMiwgMCwgMCwgMTgwMX0sCi0gICAgezEwNzI3LCAwLCAxMDcyNywgMCwgMCwgMTgwMX0sCi0gICAgezY1MzE4LCAwLCA2NTMxOCwgMCwgMCwgMTgwMX0sCi0gICAgezY1NDY3LCAwLCA2NTQ2NywgMCwgMCwgMTgwMX0sCi0gICAgezY1MzE5LCAwLCA2NTMxOSwgMCwgMCwgMTgwMX0sCi0gICAgezY1NDY1LCAwLCA2NTQ2NSwgMCwgMCwgMTgwMX0sCi0gICAgezY1MzE3LCAwLCA2NTMxNywgMCwgMCwgMTgwMX0sCi0gICAgezg0LCAwLCA4NCwgMCwgMCwgMTUzNn0sCi0gICAgezAsIDAsIDAsIDAsIDAsIDEwMjV9LAotICAgIHswLCAzOCwgMCwgMCwgMCwgMTkyMX0sCi0gICAgezAsIDM3LCAwLCAwLCAwLCAxOTIxfSwKLSAgICB7MCwgNjQsIDAsIDAsIDAsIDE5MjF9LAotICAgIHswLCA2MywgMCwgMCwgMCwgMTkyMX0sCi0gICAgezY1NDk4LCAwLCA2NTQ5OCwgMCwgMCwgMTgwMX0sCi0gICAgezY1NDk5LCAwLCA2NTQ5OSwgMCwgMCwgMTgwMX0sCi0gICAgezY1NTA1LCAwLCA2NTUwNSwgMCwgMCwgMTgwMX0sCi0gICAgezY1NDcyLCAwLCA2NTQ3MiwgMCwgMCwgMTgwMX0sCi0gICAgezY1NDczLCAwLCA2NTQ3MywgMCwgMCwgMTgwMX0sCi0gICAgezAsIDgsIDAsIDAsIDAsIDE5MjF9LAotICAgIHs2NTQ3NCwgMCwgNjU0NzQsIDAsIDAsIDE4MDF9LAotICAgIHs2NTQ3OSwgMCwgNjU0NzksIDAsIDAsIDE4MDF9LAotICAgIHswLCAwLCAwLCAwLCAwLCAxOTIxfSwKLSAgICB7NjU0ODksIDAsIDY1NDg5LCAwLCAwLCAxODAxfSwKLSAgICB7NjU0ODIsIDAsIDY1NDgyLCAwLCAwLCAxODAxfSwKLSAgICB7NjU1MjgsIDAsIDY1NTI4LCAwLCAwLCAxODAxfSwKLSAgICB7NjU0NTAsIDAsIDY1NDUwLCAwLCAwLCAxODAxfSwKLSAgICB7NjU0NTYsIDAsIDY1NDU2LCAwLCAwLCAxODAxfSwKLSAgICB7NywgMCwgNywgMCwgMCwgMTgwMX0sCi0gICAgezAsIDY1NDc2LCAwLCAwLCAwLCAxOTIxfSwKLSAgICB7NjU0NDAsIDAsIDY1NDQwLCAwLCAwLCAxODAxfSwKLSAgICB7MCwgNjU1MjksIDAsIDAsIDAsIDE5MjF9LAotICAgIHswLCA4MCwgMCwgMCwgMCwgMTkyMX0sCi0gICAgezAsIDE1LCAwLCAwLCAwLCAxOTIxfSwKLSAgICB7NjU1MjEsIDAsIDY1NTIxLCAwLCAwLCAxODAxfSwKLSAgICB7MCwgNDgsIDAsIDAsIDAsIDE5MjF9LAotICAgIHs2NTQ4OCwgMCwgNjU0ODgsIDAsIDAsIDE4MDF9LAotICAgIHswLCAwLCAwLCAwLCAwLCAxNTM3fSwKLSAgICB7MCwgNzI2NCwgMCwgMCwgMCwgMTkyMX0sCi0gICAgezAsIDAsIDAsIDAsIDEsIDU2MzZ9LAotICAgIHswLCAwLCAwLCAwLCAyLCA1NjM2fSwKLSAgICB7MCwgMCwgMCwgMCwgMywgNTYzNn0sCi0gICAgezAsIDAsIDAsIDAsIDQsIDU2MzZ9LAotICAgIHswLCAwLCAwLCAwLCA1LCA1NjM2fSwKLSAgICB7MCwgMCwgMCwgMCwgNiwgNTYzNn0sCi0gICAgezAsIDAsIDAsIDAsIDcsIDU2MzZ9LAotICAgIHswLCAwLCAwLCAwLCA4LCA1NjM2fSwKLSAgICB7MCwgMCwgMCwgMCwgOSwgNTYzNn0sCi0gICAgezAsIDAsIDAsIDAsIDAsIDU4ODh9LAotICAgIHs0Mjg3NywgNzU0NSwgNDI4NzcsIDAsIDAsIDM4NDl9LAotICAgIHszODE0LCAwLCAzODE0LCAwLCAwLCAxODAxfSwKLSAgICB7NjU0NzcsIDAsIDY1NDc3LCAwLCAwLCAxODAxfSwKLSAgICB7MCwgNTc5MjEsIDAsIDAsIDAsIDE5MjF9LAotICAgIHs4LCAwLCA4LCAwLCAwLCAxODAxfSwKLSAgICB7MCwgNjU1MjgsIDAsIDAsIDAsIDE5MjF9LAotICAgIHs3NCwgMCwgNzQsIDAsIDAsIDE4MDF9LAotICAgIHs4NiwgMCwgODYsIDAsIDAsIDE4MDF9LAotICAgIHsxMDAsIDAsIDEwMCwgMCwgMCwgMTgwMX0sCi0gICAgezEyOCwgMCwgMTI4LCAwLCAwLCAxODAxfSwKLSAgICB7MTEyLCAwLCAxMTIsIDAsIDAsIDE4MDF9LAotICAgIHsxMjYsIDAsIDEyNiwgMCwgMCwgMTgwMX0sCi0gICAgezAsIDY1NTI4LCAwLCAwLCAwLCAxODU3fSwKLSAgICB7OSwgMCwgOSwgMCwgMCwgMTgwMX0sCi0gICAgezAsIDY1NDYyLCAwLCAwLCAwLCAxOTIxfSwKLSAgICB7MCwgNjU1MjcsIDAsIDAsIDAsIDE4NTd9LAotICAgIHs1ODMzMSwgMCwgNTgzMzEsIDAsIDAsIDE4MDF9LAotICAgIHswLCA2NTQ1MCwgMCwgMCwgMCwgMTkyMX0sCi0gICAgezAsIDY1NDM2LCAwLCAwLCAwLCAxOTIxfSwKLSAgICB7MCwgNjU0MjQsIDAsIDAsIDAsIDE5MjF9LAotICAgIHswLCA2NTQwOCwgMCwgMCwgMCwgMTkyMX0sCi0gICAgezAsIDY1NDEwLCAwLCAwLCAwLCAxOTIxfSwKLSAgICB7MCwgMCwgMCwgMCwgMCwgNTEyNH0sCi0gICAgezAsIDAsIDAsIDAsIDQsIDUxMjR9LAotICAgIHswLCAwLCAwLCAwLCA1LCA1MTI0fSwKLSAgICB7MCwgMCwgMCwgMCwgNiwgNTEyNH0sCi0gICAgezAsIDAsIDAsIDAsIDcsIDUxMjR9LAotICAgIHswLCAwLCAwLCAwLCA4LCA1MTI0fSwKLSAgICB7MCwgMCwgMCwgMCwgOSwgNTEyNH0sCi0gICAgezAsIDAsIDAsIDAsIDAsIDE3OTJ9LAotICAgIHswLCA1ODAxOSwgMCwgMCwgMCwgMTkyMX0sCi0gICAgezAsIDU3MTUzLCAwLCAwLCAwLCAxOTIxfSwKLSAgICB7MCwgNTcyNzQsIDAsIDAsIDAsIDE5MjF9LAotICAgIHswLCAyOCwgMCwgMCwgMCwgMTkyMX0sCi0gICAgezY1NTA4LCAwLCA2NTUwOCwgMCwgMCwgMTgwMX0sCi0gICAgezAsIDE2LCAwLCAwLCAwLCA1ODg4fSwKLSAgICB7NjU1MjAsIDAsIDY1NTIwLCAwLCAwLCA1ODg4fSwKLSAgICB7MCwgMjYsIDAsIDAsIDAsIDEwMjR9LAotICAgIHs2NTUxMCwgMCwgNjU1MTAsIDAsIDAsIDEwMjR9LAotICAgIHswLCA1NDc5MywgMCwgMCwgMCwgMTkyMX0sCi0gICAgezAsIDYxNzIyLCAwLCAwLCAwLCAxOTIxfSwKLSAgICB7MCwgNTQ4MDksIDAsIDAsIDAsIDE5MjF9LAotICAgIHs1NDc0MSwgMCwgNTQ3NDEsIDAsIDAsIDE4MDF9LAotICAgIHs1NDc0NCwgMCwgNTQ3NDQsIDAsIDAsIDE4MDF9LAotICAgIHswLCA1NDc1NiwgMCwgMCwgMCwgMTkyMX0sCi0gICAgezAsIDU0Nzg3LCAwLCAwLCAwLCAxOTIxfSwKLSAgICB7MCwgNTQ3NTMsIDAsIDAsIDAsIDE5MjF9LAotICAgIHswLCA1NDc1NCwgMCwgMCwgMCwgMTkyMX0sCi0gICAgezAsIDU0NzIxLCAwLCAwLCAwLCAxOTIxfSwKLSAgICB7NTgyNzIsIDAsIDU4MjcyLCAwLCAwLCAxODAxfSwKKyAgICB7NTYsIDAsIDU2LCAwLCAwLCA5OTkzfSwKKyAgICB7MCwgMiwgMSwgMCwgMCwgMTAxMTN9LAorICAgIHstMSwgMSwgMCwgMCwgMCwgMTAwNDl9LAorICAgIHstMiwgMCwgLTEsIDAsIDAsIDk5OTN9LAorICAgIHstNzksIDAsIC03OSwgMCwgMCwgOTk5M30sCisgICAgezMzNTU0NDU2LCAxODg3NDM4OSwgMzM1NTQ0NTYsIDAsIDAsIDI2Mzc3fSwKKyAgICB7MCwgLTk3LCAwLCAwLCAwLCAxMDExM30sCisgICAgezAsIC01NiwgMCwgMCwgMCwgMTAxMTN9LAorICAgIHswLCAtMTMwLCAwLCAwLCAwLCAxMDExM30sCisgICAgezAsIDEwNzk1LCAwLCAwLCAwLCAxMDExM30sCisgICAgezAsIC0xNjMsIDAsIDAsIDAsIDEwMTEzfSwKKyAgICB7MCwgMTA3OTIsIDAsIDAsIDAsIDEwMTEzfSwKKyAgICB7MTA4MTUsIDAsIDEwODE1LCAwLCAwLCA5OTkzfSwKKyAgICB7MCwgLTE5NSwgMCwgMCwgMCwgMTAxMTN9LAorICAgIHswLCA2OSwgMCwgMCwgMCwgMTAxMTN9LAorICAgIHswLCA3MSwgMCwgMCwgMCwgMTAxMTN9LAorICAgIHsxMDc4MywgMCwgMTA3ODMsIDAsIDAsIDk5OTN9LAorICAgIHsxMDc4MCwgMCwgMTA3ODAsIDAsIDAsIDk5OTN9LAorICAgIHsxMDc4MiwgMCwgMTA3ODIsIDAsIDAsIDk5OTN9LAorICAgIHstMjEwLCAwLCAtMjEwLCAwLCAwLCA5OTkzfSwKKyAgICB7LTIwNiwgMCwgLTIwNiwgMCwgMCwgOTk5M30sCisgICAgey0yMDUsIDAsIC0yMDUsIDAsIDAsIDk5OTN9LAorICAgIHstMjAyLCAwLCAtMjAyLCAwLCAwLCA5OTkzfSwKKyAgICB7LTIwMywgMCwgLTIwMywgMCwgMCwgOTk5M30sCisgICAgey0yMDcsIDAsIC0yMDcsIDAsIDAsIDk5OTN9LAorICAgIHs0MjI4MCwgMCwgNDIyODAsIDAsIDAsIDk5OTN9LAorICAgIHs0MjMwOCwgMCwgNDIzMDgsIDAsIDAsIDk5OTN9LAorICAgIHstMjA5LCAwLCAtMjA5LCAwLCAwLCA5OTkzfSwKKyAgICB7LTIxMSwgMCwgLTIxMSwgMCwgMCwgOTk5M30sCisgICAgezEwNzQzLCAwLCAxMDc0MywgMCwgMCwgOTk5M30sCisgICAgezEwNzQ5LCAwLCAxMDc0OSwgMCwgMCwgOTk5M30sCisgICAgey0yMTMsIDAsIC0yMTMsIDAsIDAsIDk5OTN9LAorICAgIHstMjE0LCAwLCAtMjE0LCAwLCAwLCA5OTkzfSwKKyAgICB7MTA3MjcsIDAsIDEwNzI3LCAwLCAwLCA5OTkzfSwKKyAgICB7LTIxOCwgMCwgLTIxOCwgMCwgMCwgOTk5M30sCisgICAgey02OSwgMCwgLTY5LCAwLCAwLCA5OTkzfSwKKyAgICB7LTIxNywgMCwgLTIxNywgMCwgMCwgOTk5M30sCisgICAgey03MSwgMCwgLTcxLCAwLCAwLCA5OTkzfSwKKyAgICB7LTIxOSwgMCwgLTIxOSwgMCwgMCwgOTk5M30sCisgICAgezAsIDAsIDAsIDAsIDAsIDE0MDg5fSwKICAgICB7MCwgMCwgMCwgMCwgMCwgNTg4OX0sCi0gICAgezQyODc3LCA3NTQ1LCA0Mjg3NywgMCwgMCwgMzk2OX0sCi0gICAgezQyODkzLCA2MTMsIDQyODkzLCAwLCAwLCAzOTY5fSwKLSAgICB7MCwgNDAsIDAsIDAsIDAsIDE5MjF9LAotICAgIHs2NTQ5NiwgMCwgNjU0OTYsIDAsIDAsIDE4MDF9LAorICAgIHsxNjc3NzI0NCwgMTc4MjU4MTgsIDE2Nzc3MjQ0LCAwLCAwLCAzMDIxNn0sCisgICAgezAsIDAsIDAsIDAsIDAsIDEzMzIxfSwKKyAgICB7MCwgMzgsIDAsIDAsIDAsIDEwMTEzfSwKKyAgICB7MCwgMzcsIDAsIDAsIDAsIDEwMTEzfSwKKyAgICB7MCwgNjQsIDAsIDAsIDAsIDEwMTEzfSwKKyAgICB7MCwgNjMsIDAsIDAsIDAsIDEwMTEzfSwKKyAgICB7NTAzMzE2ODEsIDE5OTIyOTczLCA1MDMzMTY4MSwgMCwgMCwgMjYzNzd9LAorICAgIHstMzgsIDAsIC0zOCwgMCwgMCwgOTk5M30sCisgICAgey0zNywgMCwgLTM3LCAwLCAwLCA5OTkzfSwKKyAgICB7NTAzMzE2ODgsIDE5OTIyOTgwLCA1MDMzMTY4OCwgMCwgMCwgMjYzNzd9LAorICAgIHsxNjc3NzI2MSwgMTc4MjU4MzUsIDE2Nzc3MjYxLCAwLCAwLCAyNjM3N30sCisgICAgey02NCwgMCwgLTY0LCAwLCAwLCA5OTkzfSwKKyAgICB7LTYzLCAwLCAtNjMsIDAsIDAsIDk5OTN9LAorICAgIHswLCA4LCAwLCAwLCAwLCAxMDExM30sCisgICAgezE2Nzc3MjY0LCAxNzgyNTgzOCwgMTY3NzcyNjQsIDAsIDAsIDI2Mzc3fSwKKyAgICB7MTY3NzcyNjcsIDE3ODI1ODQxLCAxNjc3NzI2NywgMCwgMCwgMjYzNzd9LAorICAgIHswLCAwLCAwLCAwLCAwLCAxMDExM30sCisgICAgezE2Nzc3MjcwLCAxNzgyNTg0NCwgMTY3NzcyNzAsIDAsIDAsIDI2Mzc3fSwKKyAgICB7MTY3NzcyNzMsIDE3ODI1ODQ3LCAxNjc3NzI3MywgMCwgMCwgMjYzNzd9LAorICAgIHstOCwgMCwgLTgsIDAsIDAsIDk5OTN9LAorICAgIHsxNjc3NzI3NiwgMTc4MjU4NTAsIDE2Nzc3Mjc2LCAwLCAwLCAyNjM3N30sCisgICAgezE2Nzc3Mjc5LCAxNzgyNTg1MywgMTY3NzcyNzksIDAsIDAsIDI2Mzc3fSwKKyAgICB7NywgMCwgNywgMCwgMCwgOTk5M30sCisgICAgezAsIC02MCwgMCwgMCwgMCwgMTAxMTN9LAorICAgIHsxNjc3NzI4MiwgMTc4MjU4NTYsIDE2Nzc3MjgyLCAwLCAwLCAyNjM3N30sCisgICAgezAsIC03LCAwLCAwLCAwLCAxMDExM30sCisgICAgezAsIDgwLCAwLCAwLCAwLCAxMDExM30sCisgICAgey04MCwgMCwgLTgwLCAwLCAwLCA5OTkzfSwKKyAgICB7MCwgMTUsIDAsIDAsIDAsIDEwMTEzfSwKKyAgICB7LTE1LCAwLCAtMTUsIDAsIDAsIDk5OTN9LAorICAgIHswLCA0OCwgMCwgMCwgMCwgMTAxMTN9LAorICAgIHstNDgsIDAsIC00OCwgMCwgMCwgOTk5M30sCisgICAgezMzNTU0NTAyLCAxODg3NDQzNSwgMzM1NTQ1MDQsIDAsIDAsIDI2Mzc3fSwKKyAgICB7MCwgMCwgMCwgMCwgMCwgMTUzN30sCisgICAgezAsIDcyNjQsIDAsIDAsIDAsIDEwMTEzfSwKKyAgICB7MCwgMCwgMCwgMCwgMSwgMzU4OH0sCisgICAgezAsIDAsIDAsIDAsIDIsIDM1ODh9LAorICAgIHswLCAwLCAwLCAwLCAzLCAzNTg4fSwKKyAgICB7MCwgMCwgMCwgMCwgNCwgMzU4OH0sCisgICAgezAsIDAsIDAsIDAsIDUsIDM1ODh9LAorICAgIHswLCAwLCAwLCAwLCA2LCAzNTg4fSwKKyAgICB7MCwgMCwgMCwgMCwgNywgMzU4OH0sCisgICAgezAsIDAsIDAsIDAsIDgsIDM1ODh9LAorICAgIHswLCAwLCAwLCAwLCA5LCAzNTg4fSwKKyAgICB7MCwgMCwgMCwgMCwgMCwgMzg0MH0sCisgICAgezM1MzMyLCAwLCAzNTMzMiwgMCwgMCwgOTk5M30sCisgICAgezM4MTQsIDAsIDM4MTQsIDAsIDAsIDk5OTN9LAorICAgIHszMzU1NDUwOSwgMTg4NzQ0NDIsIDMzNTU0NTA5LCAwLCAwLCAyNjM3N30sCisgICAgezMzNTU0NTE0LCAxODg3NDQ0NywgMzM1NTQ1MTQsIDAsIDAsIDI2Mzc3fSwKKyAgICB7MzM1NTQ1MTksIDE4ODc0NDUyLCAzMzU1NDUxOSwgMCwgMCwgMjYzNzd9LAorICAgIHszMzU1NDUyNCwgMTg4NzQ0NTcsIDMzNTU0NTI0LCAwLCAwLCAyNjM3N30sCisgICAgezMzNTU0NTI5LCAxODg3NDQ2MiwgMzM1NTQ1MjksIDAsIDAsIDI2Mzc3fSwKKyAgICB7MTY3NzczMTcsIDE3ODI1ODkxLCAxNjc3NzMxNywgMCwgMCwgMjYzNzd9LAorICAgIHsxNjc3NzMyMSwgMTg4NzQ0NzAsIDE2Nzc3MzIxLCAwLCAwLCAyNjQ5N30sCisgICAgezgsIDAsIDgsIDAsIDAsIDk5OTN9LAorICAgIHswLCAtOCwgMCwgMCwgMCwgMTAxMTN9LAorICAgIHszMzU1NDU0MSwgMTg4NzQ0NzQsIDMzNTU0NTQxLCAwLCAwLCAyNjM3N30sCisgICAgezUwMzMxNzYzLCAxOTkyMzA1NSwgNTAzMzE3NjMsIDAsIDAsIDI2Mzc3fSwKKyAgICB7NTAzMzE3NzAsIDE5OTIzMDYyLCA1MDMzMTc3MCwgMCwgMCwgMjYzNzd9LAorICAgIHs1MDMzMTc3NywgMTk5MjMwNjksIDUwMzMxNzc3LCAwLCAwLCAyNjM3N30sCisgICAgezc0LCAwLCA3NCwgMCwgMCwgOTk5M30sCisgICAgezg2LCAwLCA4NiwgMCwgMCwgOTk5M30sCisgICAgezEwMCwgMCwgMTAwLCAwLCAwLCA5OTkzfSwKKyAgICB7MTI4LCAwLCAxMjgsIDAsIDAsIDk5OTN9LAorICAgIHsxMTIsIDAsIDExMiwgMCwgMCwgOTk5M30sCisgICAgezEyNiwgMCwgMTI2LCAwLCAwLCA5OTkzfSwKKyAgICB7MzM1NTQ1NjcsIDE4ODc0NTAwLCAxNjc3NzM1MywgMCwgMCwgMjYzNzd9LAorICAgIHszMzU1NDU3MywgMTg4NzQ1MDYsIDE2Nzc3MzU5LCAwLCAwLCAyNjM3N30sCisgICAgezMzNTU0NTc5LCAxODg3NDUxMiwgMTY3NzczNjUsIDAsIDAsIDI2Mzc3fSwKKyAgICB7MzM1NTQ1ODUsIDE4ODc0NTE4LCAxNjc3NzM3MSwgMCwgMCwgMjYzNzd9LAorICAgIHszMzU1NDU5MSwgMTg4NzQ1MjQsIDE2Nzc3Mzc3LCAwLCAwLCAyNjM3N30sCisgICAgezMzNTU0NTk3LCAxODg3NDUzMCwgMTY3NzczODMsIDAsIDAsIDI2Mzc3fSwKKyAgICB7MzM1NTQ2MDMsIDE4ODc0NTM2LCAxNjc3NzM4OSwgMCwgMCwgMjYzNzd9LAorICAgIHszMzU1NDYwOSwgMTg4NzQ1NDIsIDE2Nzc3Mzk1LCAwLCAwLCAyNjM3N30sCisgICAgezMzNTU0NjE1LCAxODg3NDU0OCwgMTY3Nzc0MDEsIDAsIDAsIDI2NDMzfSwKKyAgICB7MzM1NTQ2MjEsIDE4ODc0NTU0LCAxNjc3NzQwNywgMCwgMCwgMjY0MzN9LAorICAgIHszMzU1NDYyNywgMTg4NzQ1NjAsIDE2Nzc3NDEzLCAwLCAwLCAyNjQzM30sCisgICAgezMzNTU0NjMzLCAxODg3NDU2NiwgMTY3Nzc0MTksIDAsIDAsIDI2NDMzfSwKKyAgICB7MzM1NTQ2MzksIDE4ODc0NTcyLCAxNjc3NzQyNSwgMCwgMCwgMjY0MzN9LAorICAgIHszMzU1NDY0NSwgMTg4NzQ1NzgsIDE2Nzc3NDMxLCAwLCAwLCAyNjQzM30sCisgICAgezMzNTU0NjUxLCAxODg3NDU4NCwgMTY3Nzc0MzcsIDAsIDAsIDI2NDMzfSwKKyAgICB7MzM1NTQ2NTcsIDE4ODc0NTkwLCAxNjc3NzQ0MywgMCwgMCwgMjY0MzN9LAorICAgIHszMzU1NDY2MywgMTg4NzQ1OTYsIDE2Nzc3NDQ5LCAwLCAwLCAyNjM3N30sCisgICAgezMzNTU0NjY5LCAxODg3NDYwMiwgMTY3Nzc0NTUsIDAsIDAsIDI2Mzc3fSwKKyAgICB7MzM1NTQ2NzUsIDE4ODc0NjA4LCAxNjc3NzQ2MSwgMCwgMCwgMjYzNzd9LAorICAgIHszMzU1NDY4MSwgMTg4NzQ2MTQsIDE2Nzc3NDY3LCAwLCAwLCAyNjM3N30sCisgICAgezMzNTU0Njg3LCAxODg3NDYyMCwgMTY3Nzc0NzMsIDAsIDAsIDI2Mzc3fSwKKyAgICB7MzM1NTQ2OTMsIDE4ODc0NjI2LCAxNjc3NzQ3OSwgMCwgMCwgMjYzNzd9LAorICAgIHszMzU1NDY5OSwgMTg4NzQ2MzIsIDE2Nzc3NDg1LCAwLCAwLCAyNjM3N30sCisgICAgezMzNTU0NzA1LCAxODg3NDYzOCwgMTY3Nzc0OTEsIDAsIDAsIDI2Mzc3fSwKKyAgICB7MzM1NTQ3MTEsIDE4ODc0NjQ0LCAxNjc3NzQ5NywgMCwgMCwgMjY0MzN9LAorICAgIHszMzU1NDcxNywgMTg4NzQ2NTAsIDE2Nzc3NTAzLCAwLCAwLCAyNjQzM30sCisgICAgezMzNTU0NzIzLCAxODg3NDY1NiwgMTY3Nzc1MDksIDAsIDAsIDI2NDMzfSwKKyAgICB7MzM1NTQ3MjksIDE4ODc0NjYyLCAxNjc3NzUxNSwgMCwgMCwgMjY0MzN9LAorICAgIHszMzU1NDczNSwgMTg4NzQ2NjgsIDE2Nzc3NTIxLCAwLCAwLCAyNjQzM30sCisgICAgezMzNTU0NzQxLCAxODg3NDY3NCwgMTY3Nzc1MjcsIDAsIDAsIDI2NDMzfSwKKyAgICB7MzM1NTQ3NDcsIDE4ODc0NjgwLCAxNjc3NzUzMywgMCwgMCwgMjY0MzN9LAorICAgIHszMzU1NDc1MywgMTg4NzQ2ODYsIDE2Nzc3NTM5LCAwLCAwLCAyNjQzM30sCisgICAgezMzNTU0NzU5LCAxODg3NDY5MiwgMTY3Nzc1NDUsIDAsIDAsIDI2Mzc3fSwKKyAgICB7MzM1NTQ3NjUsIDE4ODc0Njk4LCAxNjc3NzU1MSwgMCwgMCwgMjYzNzd9LAorICAgIHszMzU1NDc3MSwgMTg4NzQ3MDQsIDE2Nzc3NTU3LCAwLCAwLCAyNjM3N30sCisgICAgezMzNTU0Nzc3LCAxODg3NDcxMCwgMTY3Nzc1NjMsIDAsIDAsIDI2Mzc3fSwKKyAgICB7MzM1NTQ3ODMsIDE4ODc0NzE2LCAxNjc3NzU2OSwgMCwgMCwgMjYzNzd9LAorICAgIHszMzU1NDc4OSwgMTg4NzQ3MjIsIDE2Nzc3NTc1LCAwLCAwLCAyNjM3N30sCisgICAgezMzNTU0Nzk1LCAxODg3NDcyOCwgMTY3Nzc1ODEsIDAsIDAsIDI2Mzc3fSwKKyAgICB7MzM1NTQ4MDEsIDE4ODc0NzM0LCAxNjc3NzU4NywgMCwgMCwgMjYzNzd9LAorICAgIHszMzU1NDgwNywgMTg4NzQ3NDAsIDE2Nzc3NTkzLCAwLCAwLCAyNjQzM30sCisgICAgezMzNTU0ODEzLCAxODg3NDc0NiwgMTY3Nzc1OTksIDAsIDAsIDI2NDMzfSwKKyAgICB7MzM1NTQ4MTksIDE4ODc0NzUyLCAxNjc3NzYwNSwgMCwgMCwgMjY0MzN9LAorICAgIHszMzU1NDgyNSwgMTg4NzQ3NTgsIDE2Nzc3NjExLCAwLCAwLCAyNjQzM30sCisgICAgezMzNTU0ODMxLCAxODg3NDc2NCwgMTY3Nzc2MTcsIDAsIDAsIDI2NDMzfSwKKyAgICB7MzM1NTQ4MzcsIDE4ODc0NzcwLCAxNjc3NzYyMywgMCwgMCwgMjY0MzN9LAorICAgIHszMzU1NDg0MywgMTg4NzQ3NzYsIDE2Nzc3NjI5LCAwLCAwLCAyNjQzM30sCisgICAgezMzNTU0ODQ5LCAxODg3NDc4MiwgMTY3Nzc2MzUsIDAsIDAsIDI2NDMzfSwKKyAgICB7MzM1NTQ4NTUsIDE4ODc0Nzg4LCAzMzU1NDg1NywgMCwgMCwgMjYzNzd9LAorICAgIHszMzU1NDg2MiwgMTg4NzQ3OTUsIDE2Nzc3NjQ4LCAwLCAwLCAyNjM3N30sCisgICAgezMzNTU0ODY4LCAxODg3NDgwMSwgMzM1NTQ4NzAsIDAsIDAsIDI2Mzc3fSwKKyAgICB7MzM1NTQ4NzUsIDE4ODc0ODA4LCAzMzU1NDg3NSwgMCwgMCwgMjYzNzd9LAorICAgIHs1MDMzMjA5NywgMTk5MjMzODksIDUwMzMyMTAwLCAwLCAwLCAyNjM3N30sCisgICAgezAsIC03NCwgMCwgMCwgMCwgMTAxMTN9LAorICAgIHszMzU1NDg5MCwgMTg4NzQ4MjMsIDE2Nzc3Njc2LCAwLCAwLCAyNjQzM30sCisgICAgezE2Nzc3Njc5LCAxNzgyNjI1MywgMTY3Nzc2NzksIDAsIDAsIDI2Mzc3fSwKKyAgICB7MzM1NTQ4OTksIDE4ODc0ODMyLCAzMzU1NDkwMSwgMCwgMCwgMjYzNzd9LAorICAgIHszMzU1NDkwNiwgMTg4NzQ4MzksIDE2Nzc3NjkyLCAwLCAwLCAyNjM3N30sCisgICAgezMzNTU0OTEyLCAxODg3NDg0NSwgMzM1NTQ5MTQsIDAsIDAsIDI2Mzc3fSwKKyAgICB7MzM1NTQ5MTksIDE4ODc0ODUyLCAzMzU1NDkxOSwgMCwgMCwgMjYzNzd9LAorICAgIHs1MDMzMjE0MSwgMTk5MjM0MzMsIDUwMzMyMTQ0LCAwLCAwLCAyNjM3N30sCisgICAgezAsIC04NiwgMCwgMCwgMCwgMTAxMTN9LAorICAgIHszMzU1NDkzNCwgMTg4NzQ4NjcsIDE2Nzc3NzIwLCAwLCAwLCAyNjQzM30sCisgICAgezUwMzMyMTU3LCAxOTkyMzQ0OSwgNTAzMzIxNTcsIDAsIDAsIDI2Mzc3fSwKKyAgICB7NTAzMzIxNjQsIDE5OTIzNDU2LCA1MDMzMjE2NCwgMCwgMCwgMjYzNzd9LAorICAgIHszMzU1NDk1NCwgMTg4NzQ4ODcsIDMzNTU0OTU0LCAwLCAwLCAyNjM3N30sCisgICAgezUwMzMyMTc2LCAxOTkyMzQ2OCwgNTAzMzIxNzYsIDAsIDAsIDI2Mzc3fSwKKyAgICB7MCwgLTEwMCwgMCwgMCwgMCwgMTAxMTN9LAorICAgIHs1MDMzMjE4MywgMTk5MjM0NzUsIDUwMzMyMTgzLCAwLCAwLCAyNjM3N30sCisgICAgezUwMzMyMTkwLCAxOTkyMzQ4MiwgNTAzMzIxOTAsIDAsIDAsIDI2Mzc3fSwKKyAgICB7MzM1NTQ5ODAsIDE4ODc0OTEzLCAzMzU1NDk4MCwgMCwgMCwgMjYzNzd9LAorICAgIHszMzU1NDk4NSwgMTg4NzQ5MTgsIDMzNTU0OTg1LCAwLCAwLCAyNjM3N30sCisgICAgezUwMzMyMjA3LCAxOTkyMzQ5OSwgNTAzMzIyMDcsIDAsIDAsIDI2Mzc3fSwKKyAgICB7MCwgLTExMiwgMCwgMCwgMCwgMTAxMTN9LAorICAgIHszMzU1NDk5NywgMTg4NzQ5MzAsIDMzNTU0OTk5LCAwLCAwLCAyNjM3N30sCisgICAgezMzNTU1MDA0LCAxODg3NDkzNywgMTY3Nzc3OTAsIDAsIDAsIDI2Mzc3fSwKKyAgICB7MzM1NTUwMTAsIDE4ODc0OTQzLCAzMzU1NTAxMiwgMCwgMCwgMjYzNzd9LAorICAgIHszMzU1NTAxNywgMTg4NzQ5NTAsIDMzNTU1MDE3LCAwLCAwLCAyNjM3N30sCisgICAgezUwMzMyMjM5LCAxOTkyMzUzMSwgNTAzMzIyNDIsIDAsIDAsIDI2Mzc3fSwKKyAgICB7MCwgLTEyOCwgMCwgMCwgMCwgMTAxMTN9LAorICAgIHswLCAtMTI2LCAwLCAwLCAwLCAxMDExM30sCisgICAgezMzNTU1MDMyLCAxODg3NDk2NSwgMTY3Nzc4MTgsIDAsIDAsIDI2NDMzfSwKKyAgICB7MCwgMCwgMCwgMCwgMCwgMzA3Nn0sCisgICAgezAsIDAsIDAsIDAsIDQsIDMwNzZ9LAorICAgIHswLCAwLCAwLCAwLCA1LCAzMDc2fSwKKyAgICB7MCwgMCwgMCwgMCwgNiwgMzA3Nn0sCisgICAgezAsIDAsIDAsIDAsIDcsIDMwNzZ9LAorICAgIHswLCAwLCAwLCAwLCA4LCAzMDc2fSwKKyAgICB7MCwgMCwgMCwgMCwgOSwgMzA3Nn0sCisgICAgezAsIDAsIDAsIDAsIDAsIDE3OTJ9LAorICAgIHswLCAtNzUxNywgMCwgMCwgMCwgMTAxMTN9LAorICAgIHswLCAtODM4MywgMCwgMCwgMCwgMTAxMTN9LAorICAgIHswLCAtODI2MiwgMCwgMCwgMCwgMTAxMTN9LAorICAgIHswLCAyOCwgMCwgMCwgMCwgMTAxMTN9LAorICAgIHstMjgsIDAsIC0yOCwgMCwgMCwgOTk5M30sCisgICAgezAsIDE2LCAwLCAwLCAwLCAxMjE2MH0sCisgICAgey0xNiwgMCwgLTE2LCAwLCAwLCAxMjA0MH0sCisgICAgezAsIDI2LCAwLCAwLCAwLCA5MzQ0fSwKKyAgICB7LTI2LCAwLCAtMjYsIDAsIDAsIDkyMjR9LAorICAgIHswLCAtMTA3NDMsIDAsIDAsIDAsIDEwMTEzfSwKKyAgICB7MCwgLTM4MTQsIDAsIDAsIDAsIDEwMTEzfSwKKyAgICB7MCwgLTEwNzI3LCAwLCAwLCAwLCAxMDExM30sCisgICAgey0xMDc5NSwgMCwgLTEwNzk1LCAwLCAwLCA5OTkzfSwKKyAgICB7LTEwNzkyLCAwLCAtMTA3OTIsIDAsIDAsIDk5OTN9LAorICAgIHswLCAtMTA3ODAsIDAsIDAsIDAsIDEwMTEzfSwKKyAgICB7MCwgLTEwNzQ5LCAwLCAwLCAwLCAxMDExM30sCisgICAgezAsIC0xMDc4MywgMCwgMCwgMCwgMTAxMTN9LAorICAgIHswLCAtMTA3ODIsIDAsIDAsIDAsIDEwMTEzfSwKKyAgICB7MCwgLTEwODE1LCAwLCAwLCAwLCAxMDExM30sCisgICAgey03MjY0LCAwLCAtNzI2NCwgMCwgMCwgOTk5M30sCisgICAgezAsIDAsIDAsIDAsIDAsIDUxMjF9LAorICAgIHswLCAwLCAwLCAwLCAwLCAzODQxfSwKKyAgICB7MCwgLTM1MzMyLCAwLCAwLCAwLCAxMDExM30sCisgICAgezAsIC00MjI4MCwgMCwgMCwgMCwgMTAxMTN9LAorICAgIHswLCAtNDIzMDgsIDAsIDAsIDAsIDEwMTEzfSwKKyAgICB7MzM1NTUwMzgsIDE4ODc0OTcxLCAzMzU1NTA0MCwgMCwgMCwgMjYzNzd9LAorICAgIHszMzU1NTA0NSwgMTg4NzQ5NzgsIDMzNTU1MDQ3LCAwLCAwLCAyNjM3N30sCisgICAgezMzNTU1MDUyLCAxODg3NDk4NSwgMzM1NTUwNTQsIDAsIDAsIDI2Mzc3fSwKKyAgICB7NTAzMzIyNzYsIDE5OTIzNTY4LCA1MDMzMjI3OSwgMCwgMCwgMjYzNzd9LAorICAgIHs1MDMzMjI4NiwgMTk5MjM1NzgsIDUwMzMyMjg5LCAwLCAwLCAyNjM3N30sCisgICAgezMzNTU1MDc5LCAxODg3NTAxMiwgMzM1NTUwODEsIDAsIDAsIDI2Mzc3fSwKKyAgICB7MzM1NTUwODYsIDE4ODc1MDE5LCAzMzU1NTA4OCwgMCwgMCwgMjYzNzd9LAorICAgIHszMzU1NTA5MywgMTg4NzUwMjYsIDMzNTU1MDk1LCAwLCAwLCAyNjM3N30sCisgICAgezMzNTU1MTAwLCAxODg3NTAzMywgMzM1NTUxMDIsIDAsIDAsIDI2Mzc3fSwKKyAgICB7MzM1NTUxMDcsIDE4ODc1MDQwLCAzMzU1NTEwOSwgMCwgMCwgMjYzNzd9LAorICAgIHszMzU1NTExNCwgMTg4NzUwNDcsIDMzNTU1MTE2LCAwLCAwLCAyNjM3N30sCisgICAgezMzNTU1MTIxLCAxODg3NTA1NCwgMzM1NTUxMjMsIDAsIDAsIDI2Mzc3fSwKKyAgICB7MCwgMCwgMCwgMCwgMCwgMTAyNX0sCisgICAgezAsIDAsIDAsIDAsIDAsIDU2MzN9LAorICAgIHswLCA0MCwgMCwgMCwgMCwgMTAxMTN9LAorICAgIHstNDAsIDAsIC00MCwgMCwgMCwgOTk5M30sCit9OworCisvKiBleHRlbmRlZCBjYXNlIG1hcHBpbmdzICovCisKK2NvbnN0IFB5X1VDUzQgX1B5VW5pY29kZV9FeHRlbmRlZENhc2VbXSA9IHsKKyAgICAxODEsCisgICAgOTU2LAorICAgIDkyNCwKKyAgICAyMjMsCisgICAgMTE1LAorICAgIDExNSwKKyAgICA4MywKKyAgICA4MywKKyAgICA4MywKKyAgICAxMTUsCisgICAgMTA1LAorICAgIDc3NSwKKyAgICAzMDQsCisgICAgMzI5LAorICAgIDcwMCwKKyAgICAxMTAsCisgICAgNzAwLAorICAgIDc4LAorICAgIDM4MywKKyAgICAxMTUsCisgICAgODMsCisgICAgNDk2LAorICAgIDEwNiwKKyAgICA3ODAsCisgICAgNzQsCisgICAgNzgwLAorICAgIDgzNywKKyAgICA5NTMsCisgICAgOTIxLAorICAgIDkxMiwKKyAgICA5NTMsCisgICAgNzc2LAorICAgIDc2OSwKKyAgICA5MjEsCisgICAgNzc2LAorICAgIDc2OSwKKyAgICA5NDQsCisgICAgOTY1LAorICAgIDc3NiwKKyAgICA3NjksCisgICAgOTMzLAorICAgIDc3NiwKKyAgICA3NjksCisgICAgOTYyLAorICAgIDk2MywKKyAgICA5MzEsCisgICAgOTc2LAorICAgIDk0NiwKKyAgICA5MTQsCisgICAgOTc3LAorICAgIDk1MiwKKyAgICA5MjAsCisgICAgOTgxLAorICAgIDk2NiwKKyAgICA5MzQsCisgICAgOTgyLAorICAgIDk2MCwKKyAgICA5MjgsCisgICAgMTAwOCwKKyAgICA5NTQsCisgICAgOTIyLAorICAgIDEwMDksCisgICAgOTYxLAorICAgIDkyOSwKKyAgICAxMDEzLAorICAgIDk0OSwKKyAgICA5MTcsCisgICAgMTQxNSwKKyAgICAxMzgxLAorICAgIDE0MTAsCisgICAgMTMzMywKKyAgICAxMzYyLAorICAgIDEzMzMsCisgICAgMTQxMCwKKyAgICA3ODMwLAorICAgIDEwNCwKKyAgICA4MTcsCisgICAgNzIsCisgICAgODE3LAorICAgIDc4MzEsCisgICAgMTE2LAorICAgIDc3NiwKKyAgICA4NCwKKyAgICA3NzYsCisgICAgNzgzMiwKKyAgICAxMTksCisgICAgNzc4LAorICAgIDg3LAorICAgIDc3OCwKKyAgICA3ODMzLAorICAgIDEyMSwKKyAgICA3NzgsCisgICAgODksCisgICAgNzc4LAorICAgIDc4MzQsCisgICAgOTcsCisgICAgNzAyLAorICAgIDY1LAorICAgIDcwMiwKKyAgICA3ODM1LAorICAgIDc3NzcsCisgICAgNzc3NiwKKyAgICAyMjMsCisgICAgMTE1LAorICAgIDExNSwKKyAgICA3ODM4LAorICAgIDgwMTYsCisgICAgOTY1LAorICAgIDc4NywKKyAgICA5MzMsCisgICAgNzg3LAorICAgIDgwMTgsCisgICAgOTY1LAorICAgIDc4NywKKyAgICA3NjgsCisgICAgOTMzLAorICAgIDc4NywKKyAgICA3NjgsCisgICAgODAyMCwKKyAgICA5NjUsCisgICAgNzg3LAorICAgIDc2OSwKKyAgICA5MzMsCisgICAgNzg3LAorICAgIDc2OSwKKyAgICA4MDIyLAorICAgIDk2NSwKKyAgICA3ODcsCisgICAgODM0LAorICAgIDkzMywKKyAgICA3ODcsCisgICAgODM0LAorICAgIDgwNjQsCisgICAgNzkzNiwKKyAgICA5NTMsCisgICAgNzk0NCwKKyAgICA5MjEsCisgICAgODA3MiwKKyAgICA4MDY1LAorICAgIDc5MzcsCisgICAgOTUzLAorICAgIDc5NDUsCisgICAgOTIxLAorICAgIDgwNzMsCisgICAgODA2NiwKKyAgICA3OTM4LAorICAgIDk1MywKKyAgICA3OTQ2LAorICAgIDkyMSwKKyAgICA4MDc0LAorICAgIDgwNjcsCisgICAgNzkzOSwKKyAgICA5NTMsCisgICAgNzk0NywKKyAgICA5MjEsCisgICAgODA3NSwKKyAgICA4MDY4LAorICAgIDc5NDAsCisgICAgOTUzLAorICAgIDc5NDgsCisgICAgOTIxLAorICAgIDgwNzYsCisgICAgODA2OSwKKyAgICA3OTQxLAorICAgIDk1MywKKyAgICA3OTQ5LAorICAgIDkyMSwKKyAgICA4MDc3LAorICAgIDgwNzAsCisgICAgNzk0MiwKKyAgICA5NTMsCisgICAgNzk1MCwKKyAgICA5MjEsCisgICAgODA3OCwKKyAgICA4MDcxLAorICAgIDc5NDMsCisgICAgOTUzLAorICAgIDc5NTEsCisgICAgOTIxLAorICAgIDgwNzksCisgICAgODA2NCwKKyAgICA3OTM2LAorICAgIDk1MywKKyAgICA3OTQ0LAorICAgIDkyMSwKKyAgICA4MDcyLAorICAgIDgwNjUsCisgICAgNzkzNywKKyAgICA5NTMsCisgICAgNzk0NSwKKyAgICA5MjEsCisgICAgODA3MywKKyAgICA4MDY2LAorICAgIDc5MzgsCisgICAgOTUzLAorICAgIDc5NDYsCisgICAgOTIxLAorICAgIDgwNzQsCisgICAgODA2NywKKyAgICA3OTM5LAorICAgIDk1MywKKyAgICA3OTQ3LAorICAgIDkyMSwKKyAgICA4MDc1LAorICAgIDgwNjgsCisgICAgNzk0MCwKKyAgICA5NTMsCisgICAgNzk0OCwKKyAgICA5MjEsCisgICAgODA3NiwKKyAgICA4MDY5LAorICAgIDc5NDEsCisgICAgOTUzLAorICAgIDc5NDksCisgICAgOTIxLAorICAgIDgwNzcsCisgICAgODA3MCwKKyAgICA3OTQyLAorICAgIDk1MywKKyAgICA3OTUwLAorICAgIDkyMSwKKyAgICA4MDc4LAorICAgIDgwNzEsCisgICAgNzk0MywKKyAgICA5NTMsCisgICAgNzk1MSwKKyAgICA5MjEsCisgICAgODA3OSwKKyAgICA4MDgwLAorICAgIDc5NjgsCisgICAgOTUzLAorICAgIDc5NzYsCisgICAgOTIxLAorICAgIDgwODgsCisgICAgODA4MSwKKyAgICA3OTY5LAorICAgIDk1MywKKyAgICA3OTc3LAorICAgIDkyMSwKKyAgICA4MDg5LAorICAgIDgwODIsCisgICAgNzk3MCwKKyAgICA5NTMsCisgICAgNzk3OCwKKyAgICA5MjEsCisgICAgODA5MCwKKyAgICA4MDgzLAorICAgIDc5NzEsCisgICAgOTUzLAorICAgIDc5NzksCisgICAgOTIxLAorICAgIDgwOTEsCisgICAgODA4NCwKKyAgICA3OTcyLAorICAgIDk1MywKKyAgICA3OTgwLAorICAgIDkyMSwKKyAgICA4MDkyLAorICAgIDgwODUsCisgICAgNzk3MywKKyAgICA5NTMsCisgICAgNzk4MSwKKyAgICA5MjEsCisgICAgODA5MywKKyAgICA4MDg2LAorICAgIDc5NzQsCisgICAgOTUzLAorICAgIDc5ODIsCisgICAgOTIxLAorICAgIDgwOTQsCisgICAgODA4NywKKyAgICA3OTc1LAorICAgIDk1MywKKyAgICA3OTgzLAorICAgIDkyMSwKKyAgICA4MDk1LAorICAgIDgwODAsCisgICAgNzk2OCwKKyAgICA5NTMsCisgICAgNzk3NiwKKyAgICA5MjEsCisgICAgODA4OCwKKyAgICA4MDgxLAorICAgIDc5NjksCisgICAgOTUzLAorICAgIDc5NzcsCisgICAgOTIxLAorICAgIDgwODksCisgICAgODA4MiwKKyAgICA3OTcwLAorICAgIDk1MywKKyAgICA3OTc4LAorICAgIDkyMSwKKyAgICA4MDkwLAorICAgIDgwODMsCisgICAgNzk3MSwKKyAgICA5NTMsCisgICAgNzk3OSwKKyAgICA5MjEsCisgICAgODA5MSwKKyAgICA4MDg0LAorICAgIDc5NzIsCisgICAgOTUzLAorICAgIDc5ODAsCisgICAgOTIxLAorICAgIDgwOTIsCisgICAgODA4NSwKKyAgICA3OTczLAorICAgIDk1MywKKyAgICA3OTgxLAorICAgIDkyMSwKKyAgICA4MDkzLAorICAgIDgwODYsCisgICAgNzk3NCwKKyAgICA5NTMsCisgICAgNzk4MiwKKyAgICA5MjEsCisgICAgODA5NCwKKyAgICA4MDg3LAorICAgIDc5NzUsCisgICAgOTUzLAorICAgIDc5ODMsCisgICAgOTIxLAorICAgIDgwOTUsCisgICAgODA5NiwKKyAgICA4MDMyLAorICAgIDk1MywKKyAgICA4MDQwLAorICAgIDkyMSwKKyAgICA4MTA0LAorICAgIDgwOTcsCisgICAgODAzMywKKyAgICA5NTMsCisgICAgODA0MSwKKyAgICA5MjEsCisgICAgODEwNSwKKyAgICA4MDk4LAorICAgIDgwMzQsCisgICAgOTUzLAorICAgIDgwNDIsCisgICAgOTIxLAorICAgIDgxMDYsCisgICAgODA5OSwKKyAgICA4MDM1LAorICAgIDk1MywKKyAgICA4MDQzLAorICAgIDkyMSwKKyAgICA4MTA3LAorICAgIDgxMDAsCisgICAgODAzNiwKKyAgICA5NTMsCisgICAgODA0NCwKKyAgICA5MjEsCisgICAgODEwOCwKKyAgICA4MTAxLAorICAgIDgwMzcsCisgICAgOTUzLAorICAgIDgwNDUsCisgICAgOTIxLAorICAgIDgxMDksCisgICAgODEwMiwKKyAgICA4MDM4LAorICAgIDk1MywKKyAgICA4MDQ2LAorICAgIDkyMSwKKyAgICA4MTEwLAorICAgIDgxMDMsCisgICAgODAzOSwKKyAgICA5NTMsCisgICAgODA0NywKKyAgICA5MjEsCisgICAgODExMSwKKyAgICA4MDk2LAorICAgIDgwMzIsCisgICAgOTUzLAorICAgIDgwNDAsCisgICAgOTIxLAorICAgIDgxMDQsCisgICAgODA5NywKKyAgICA4MDMzLAorICAgIDk1MywKKyAgICA4MDQxLAorICAgIDkyMSwKKyAgICA4MTA1LAorICAgIDgwOTgsCisgICAgODAzNCwKKyAgICA5NTMsCisgICAgODA0MiwKKyAgICA5MjEsCisgICAgODEwNiwKKyAgICA4MDk5LAorICAgIDgwMzUsCisgICAgOTUzLAorICAgIDgwNDMsCisgICAgOTIxLAorICAgIDgxMDcsCisgICAgODEwMCwKKyAgICA4MDM2LAorICAgIDk1MywKKyAgICA4MDQ0LAorICAgIDkyMSwKKyAgICA4MTA4LAorICAgIDgxMDEsCisgICAgODAzNywKKyAgICA5NTMsCisgICAgODA0NSwKKyAgICA5MjEsCisgICAgODEwOSwKKyAgICA4MTAyLAorICAgIDgwMzgsCisgICAgOTUzLAorICAgIDgwNDYsCisgICAgOTIxLAorICAgIDgxMTAsCisgICAgODEwMywKKyAgICA4MDM5LAorICAgIDk1MywKKyAgICA4MDQ3LAorICAgIDkyMSwKKyAgICA4MTExLAorICAgIDgxMTQsCisgICAgODA0OCwKKyAgICA5NTMsCisgICAgODEyMiwKKyAgICA5MjEsCisgICAgODEyMiwKKyAgICA4MzcsCisgICAgODExNSwKKyAgICA5NDUsCisgICAgOTUzLAorICAgIDkxMywKKyAgICA5MjEsCisgICAgODEyNCwKKyAgICA4MTE2LAorICAgIDk0MCwKKyAgICA5NTMsCisgICAgOTAyLAorICAgIDkyMSwKKyAgICA5MDIsCisgICAgODM3LAorICAgIDgxMTgsCisgICAgOTQ1LAorICAgIDgzNCwKKyAgICA5MTMsCisgICAgODM0LAorICAgIDgxMTksCisgICAgOTQ1LAorICAgIDgzNCwKKyAgICA5NTMsCisgICAgOTEzLAorICAgIDgzNCwKKyAgICA5MjEsCisgICAgOTEzLAorICAgIDgzNCwKKyAgICA4MzcsCisgICAgODExNSwKKyAgICA5NDUsCisgICAgOTUzLAorICAgIDkxMywKKyAgICA5MjEsCisgICAgODEyNCwKKyAgICA4MTI2LAorICAgIDk1MywKKyAgICA5MjEsCisgICAgODEzMCwKKyAgICA4MDUyLAorICAgIDk1MywKKyAgICA4MTM4LAorICAgIDkyMSwKKyAgICA4MTM4LAorICAgIDgzNywKKyAgICA4MTMxLAorICAgIDk1MSwKKyAgICA5NTMsCisgICAgOTE5LAorICAgIDkyMSwKKyAgICA4MTQwLAorICAgIDgxMzIsCisgICAgOTQyLAorICAgIDk1MywKKyAgICA5MDUsCisgICAgOTIxLAorICAgIDkwNSwKKyAgICA4MzcsCisgICAgODEzNCwKKyAgICA5NTEsCisgICAgODM0LAorICAgIDkxOSwKKyAgICA4MzQsCisgICAgODEzNSwKKyAgICA5NTEsCisgICAgODM0LAorICAgIDk1MywKKyAgICA5MTksCisgICAgODM0LAorICAgIDkyMSwKKyAgICA5MTksCisgICAgODM0LAorICAgIDgzNywKKyAgICA4MTMxLAorICAgIDk1MSwKKyAgICA5NTMsCisgICAgOTE5LAorICAgIDkyMSwKKyAgICA4MTQwLAorICAgIDgxNDYsCisgICAgOTUzLAorICAgIDc3NiwKKyAgICA3NjgsCisgICAgOTIxLAorICAgIDc3NiwKKyAgICA3NjgsCisgICAgODE0NywKKyAgICA5NTMsCisgICAgNzc2LAorICAgIDc2OSwKKyAgICA5MjEsCisgICAgNzc2LAorICAgIDc2OSwKKyAgICA4MTUwLAorICAgIDk1MywKKyAgICA4MzQsCisgICAgOTIxLAorICAgIDgzNCwKKyAgICA4MTUxLAorICAgIDk1MywKKyAgICA3NzYsCisgICAgODM0LAorICAgIDkyMSwKKyAgICA3NzYsCisgICAgODM0LAorICAgIDgxNjIsCisgICAgOTY1LAorICAgIDc3NiwKKyAgICA3NjgsCisgICAgOTMzLAorICAgIDc3NiwKKyAgICA3NjgsCisgICAgODE2MywKKyAgICA5NjUsCisgICAgNzc2LAorICAgIDc2OSwKKyAgICA5MzMsCisgICAgNzc2LAorICAgIDc2OSwKKyAgICA4MTY0LAorICAgIDk2MSwKKyAgICA3ODcsCisgICAgOTI5LAorICAgIDc4NywKKyAgICA4MTY2LAorICAgIDk2NSwKKyAgICA4MzQsCisgICAgOTMzLAorICAgIDgzNCwKKyAgICA4MTY3LAorICAgIDk2NSwKKyAgICA3NzYsCisgICAgODM0LAorICAgIDkzMywKKyAgICA3NzYsCisgICAgODM0LAorICAgIDgxNzgsCisgICAgODA2MCwKKyAgICA5NTMsCisgICAgODE4NiwKKyAgICA5MjEsCisgICAgODE4NiwKKyAgICA4MzcsCisgICAgODE3OSwKKyAgICA5NjksCisgICAgOTUzLAorICAgIDkzNywKKyAgICA5MjEsCisgICAgODE4OCwKKyAgICA4MTgwLAorICAgIDk3NCwKKyAgICA5NTMsCisgICAgOTExLAorICAgIDkyMSwKKyAgICA5MTEsCisgICAgODM3LAorICAgIDgxODIsCisgICAgOTY5LAorICAgIDgzNCwKKyAgICA5MzcsCisgICAgODM0LAorICAgIDgxODMsCisgICAgOTY5LAorICAgIDgzNCwKKyAgICA5NTMsCisgICAgOTM3LAorICAgIDgzNCwKKyAgICA5MjEsCisgICAgOTM3LAorICAgIDgzNCwKKyAgICA4MzcsCisgICAgODE3OSwKKyAgICA5NjksCisgICAgOTUzLAorICAgIDkzNywKKyAgICA5MjEsCisgICAgODE4OCwKKyAgICA2NDI1NiwKKyAgICAxMDIsCisgICAgMTAyLAorICAgIDcwLAorICAgIDcwLAorICAgIDcwLAorICAgIDEwMiwKKyAgICA2NDI1NywKKyAgICAxMDIsCisgICAgMTA1LAorICAgIDcwLAorICAgIDczLAorICAgIDcwLAorICAgIDEwNSwKKyAgICA2NDI1OCwKKyAgICAxMDIsCisgICAgMTA4LAorICAgIDcwLAorICAgIDc2LAorICAgIDcwLAorICAgIDEwOCwKKyAgICA2NDI1OSwKKyAgICAxMDIsCisgICAgMTAyLAorICAgIDEwNSwKKyAgICA3MCwKKyAgICA3MCwKKyAgICA3MywKKyAgICA3MCwKKyAgICAxMDIsCisgICAgMTA1LAorICAgIDY0MjYwLAorICAgIDEwMiwKKyAgICAxMDIsCisgICAgMTA4LAorICAgIDcwLAorICAgIDcwLAorICAgIDc2LAorICAgIDcwLAorICAgIDEwMiwKKyAgICAxMDgsCisgICAgNjQyNjEsCisgICAgMTE1LAorICAgIDExNiwKKyAgICA4MywKKyAgICA4NCwKKyAgICA4MywKKyAgICAxMTYsCisgICAgNjQyNjIsCisgICAgMTE1LAorICAgIDExNiwKKyAgICA4MywKKyAgICA4NCwKKyAgICA4MywKKyAgICAxMTYsCisgICAgNjQyNzUsCisgICAgMTM5NiwKKyAgICAxMzk4LAorICAgIDEzNDgsCisgICAgMTM1MCwKKyAgICAxMzQ4LAorICAgIDEzOTgsCisgICAgNjQyNzYsCisgICAgMTM5NiwKKyAgICAxMzgxLAorICAgIDEzNDgsCisgICAgMTMzMywKKyAgICAxMzQ4LAorICAgIDEzODEsCisgICAgNjQyNzcsCisgICAgMTM5NiwKKyAgICAxMzg3LAorICAgIDEzNDgsCisgICAgMTMzOSwKKyAgICAxMzQ4LAorICAgIDEzODcsCisgICAgNjQyNzgsCisgICAgMTQwNiwKKyAgICAxMzk4LAorICAgIDEzNTgsCisgICAgMTM1MCwKKyAgICAxMzU4LAorICAgIDEzOTgsCisgICAgNjQyNzksCisgICAgMTM5NiwKKyAgICAxMzg5LAorICAgIDEzNDgsCisgICAgMTM0MSwKKyAgICAxMzQ4LAorICAgIDEzODksCiB9OwogCiAvKiB0eXBlIGluZGV4ZXMgKi8KQEAgLTE5NSw3MiArMTAwMyw3MiBAQAogICAgIDIxLCAyMiwgMjMsIDI0LCAyNSwgMjYsIDI3LCAyOCwgMjksIDMwLCAzMSwgMzIsIDMzLCAzNCwgMzQsIDM1LCAzNiwgMzcsIAogICAgIDM4LCAzOSwgMzQsIDM0LCAzNCwgNDAsIDQxLCA0MiwgNDMsIDQ0LCA0NSwgNDYsIDQ3LCA0OCwgNDksIDUwLCA1MSwgNTIsIAogICAgIDUzLCA1NCwgNTUsIDU2LCA1NywgNTgsIDU5LCA2MCwgNjEsIDYyLCA2MywgNjQsIDY0LCA2NCwgNjUsIDY2LCA2NywgNjQsIAotICAgIDY0LCA2NCwgNjQsIDY4LCA2OSwgNjQsIDY0LCA2NCwgNjQsIDY0LCA2NCwgNzAsIDE3LCA3MSwgNzIsIDczLCA3NCwgNzUsIAotICAgIDc2LCA2NCwgNzcsIDc4LCA3OSwgODAsIDgxLCA4MiwgODMsIDY0LCA2NCwgODQsIDg1LCAzNCwgMzQsIDM0LCAzNCwgMzQsIAotICAgIDM0LCA4NiwgMzQsIDM0LCAzNCwgMzQsIDM0LCA4NywgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIAorICAgIDY0LCA2NCwgNjQsIDY4LCA2OSwgNjQsIDY0LCA2NCwgNjQsIDY0LCA2NCwgNzAsIDcxLCA3MiwgNzMsIDc0LCA3NSwgNzYsIAorICAgIDc3LCA2NCwgNzgsIDc5LCA4MCwgODEsIDgyLCA4MywgODQsIDY0LCA2NCwgODUsIDg2LCAzNCwgMzQsIDM0LCAzNCwgMzQsIAorICAgIDM0LCA4NywgMzQsIDM0LCAzNCwgMzQsIDM0LCA4OCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIAogICAgIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIAotICAgIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgODgsIDg5LCA5MCwgOTEsIDM0LCAzNCwgMzQsIDkyLCAzNCwgMzQsIAotICAgIDM0LCA5MywgOTQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgOTUsIDM0LCAzNCwgMzQsIDk2LCAzNCwgMzQsIDM0LCAzNCwgMzQsIAotICAgIDM0LCAzNCwgMzQsIDM0LCAzNCwgOTcsIDk4LCA5OSwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMTAwLCAxMDEsIDM0LCAzNCwgCi0gICAgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMTAyLCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIAotICAgIDM0LCAzNCwgMzQsIDEwMywgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAxMDQsIDM0LCAzNCwgMzQsIDM0LCAKLSAgICAxMDAsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgCi0gICAgMzQsIDM0LCAzNCwgMTAzLCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAxMDUsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAKLSAgICAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAxMDYsIDEwNywgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIAotICAgIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAxMDgsIDEwOSwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgCi0gICAgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAxMTAsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIAotICAgIDM0LCAzNCwgMzQsIDExMSwgMzQsIDM0LCAxMTIsIDExMywgMTE0LCAxMTUsIDExNiwgMTE3LCAxMTgsIDExOSwgMTIwLCAKLSAgICAxMjEsIDEyMiwgMTIzLCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIAorICAgIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgODksIDkwLCA5MSwgOTIsIDM0LCAzNCwgMzQsIDkzLCAzNCwgMzQsIAorICAgIDM0LCA5NCwgOTUsIDM0LCAzNCwgMzQsIDM0LCAzNCwgOTYsIDM0LCAzNCwgMzQsIDk3LCAzNCwgMzQsIDM0LCAzNCwgMzQsIAorICAgIDM0LCAzNCwgMzQsIDM0LCAzNCwgOTgsIDk5LCAxMDAsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDEwMSwgMTAyLCAzNCwgCisgICAgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDEwMywgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIAorICAgIDM0LCAzNCwgMzQsIDM0LCAxMDQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMTA1LCAzNCwgMzQsIDM0LCAzNCwgCisgICAgMTAxLCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIAorICAgIDM0LCAzNCwgMzQsIDEwNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMTA2LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgCisgICAgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMTA3LCAxMDgsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAKKyAgICAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMTA5LCAxMTAsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIAorICAgIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMTExLCAxMTIsIDM0LCAzNCwgMzQsIDM0LCAzNCwgCisgICAgMzQsIDM0LCAzNCwgMTEzLCAzNCwgMzQsIDExNCwgMTE1LCAxMTYsIDExNywgMTE4LCAxMTksIDEyMCwgMTIxLCAxMjIsIAorICAgIDEyMywgMTI0LCAxMjUsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgCiAgICAgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgCiAgICAgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgCiAgICAgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgCiAgICAgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgCi0gICAgMzQsIDEyNCwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAKLSAgICAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgCi0gICAgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIAotICAgIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAKLSAgICAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI2LCAxMjcsIDEyOCwgCi0gICAgMTI5LCAxMzAsIDEzMSwgMTMyLCAzNCwgMTMzLCAxMzQsIDEzNSwgMTM2LCAxMzcsIDEzOCwgMTM5LCAxNDAsIDE0MSwgMTQyLCAKLSAgICAxNywgMTQzLCAxNDQsIDE0NSwgMTQ2LCAxNDcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE0OCwgMTcsIDE0OSwgMTcsIAotICAgIDE1MCwgMTcsIDE1MSwgMTcsIDE1MiwgMTcsIDE3LCAxNywgMTUzLCAxNywgMTcsIDE3LCAxNTQsIDE1NSwgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMTU2LCAxNywgMTU3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMTU4LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMzQsIDM0LCAzNCwgMzQsIDE1OSwgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE2MCwgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgNjQsIDE2MSwgMTYyLCAxNjMsIDE2NCwgMTcsIDE2NSwgMTcsIDE2NiwgMTY3LCAxNjgsIDE2OSwgMTcwLCAxNzEsIAotICAgIDE3MiwgMTczLCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNzQsIDE3NSwgMTc2LCAKLSAgICAxNzcsIDE3OCwgMTcsIDE3OSwgMTgwLCAxODEsIDE4MiwgMTgzLCAxODQsIDE4NSwgMTg2LCA2NSwgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxODcsIDE4OCwgMTg5LCAzNCwgCi0gICAgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCA4NiwgMTkwLCAzNCwgMTkxLCAKLSAgICAxOTIsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgCisgICAgMzQsIDEyNiwgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAKKyAgICAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgCisgICAgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIAorICAgIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAKKyAgICAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI4LCAxMjksIDEzMCwgCisgICAgMTMxLCAxMzIsIDEzMywgMTM0LCAzNCwgMTM1LCAxMzYsIDEzNywgMTM4LCAxMzksIDE0MCwgMTQxLCAxNDIsIDE0MywgMTQ0LCAKKyAgICA3MSwgMTQ1LCAxNDYsIDE0NywgMTQ4LCAxNDksIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDE1MCwgNzEsIDE1MSwgMTUyLCAKKyAgICAxNTMsIDcxLCAxNTQsIDcxLCAxNTUsIDcxLCA3MSwgNzEsIDE1NiwgNzEsIDcxLCA3MSwgMTU3LCAxNTgsIDE1OSwgMTYwLCAKKyAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAxNjEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCisgICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDE2MiwgNzEsIAorICAgIDE2MywgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKKyAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDE2NCwgNzEsIDcxLCA3MSwgCisgICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCisgICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCisgICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCisgICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCisgICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCisgICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDM0LCAzNCwgMzQsIDM0LCAxNjUsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDE2NiwgMTY3LCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCisgICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCisgICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCisgICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCisgICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCisgICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCisgICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCisgICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDE2OCwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNjQsIDE2OSwgMTcwLCAxNzEsIDE3MiwgNzEsIDE3MywgNzEsIDE3NCwgMTc1LCAxNzYsIDE3NywgMTc4LCAKKyAgICAxNzksIDE4MCwgMTgxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDE4MiwgMTgzLCA3MSwgNzEsIDE4NCwgCisgICAgMTg1LCAxODYsIDE4NywgMTg4LCA3MSwgMTg5LCAxOTAsIDE5MSwgMTkyLCAxOTMsIDE5NCwgMTk1LCAxOTYsIDY1LCA3MSwgCisgICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDE5NywgMTk4LCAKKyAgICAxOTksIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDg3LCAyMDAsIAorICAgIDM0LCAyMDEsIDIwMiwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgCiAgICAgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgCi0gICAgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDE5MywgMzQsIDM0LCAzNCwgMzQsIAotICAgIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAxOTQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAKKyAgICAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAyMDMsIDM0LCAzNCwgCisgICAgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMjA0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIAogICAgIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIAotICAgIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDE5NSwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAKKyAgICAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDIwNSwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgCiAgICAgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgCiAgICAgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgCiAgICAgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgCi0gICAgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMTk2LCAzNCwgMzQsIDM0LCAzNCwgMzQsIAorICAgIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMjA2LCAzNCwgMzQsIDM0LCAKICAgICAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAKICAgICAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAKICAgICAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAKQEAgLTI2OCw4NjAgKzEwNzYsODYyIEBACiAgICAgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgCiAgICAgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgCiAgICAgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgCi0gICAgMzQsIDM0LCAzNCwgMzQsIDM0LCAxOTcsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIAorICAgIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAyMDcsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAKICAgICAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAzNCwgMzQsIDM0LCAKLSAgICAzNCwgMzQsIDE5OCwgMzQsIDE5OSwgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDM0LCAxOTMsIDM0LCAzNCwgMTk5LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAyMDAsIDE3LCAyMDEsIDIwMiwgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIAotICAgIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAKLSAgICAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgCi0gICAgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIAotICAgIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAKLSAgICAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgCi0gICAgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIAotICAgIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAKLSAgICAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgCi0gICAgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIAotICAgIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAKLSAgICAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgCi0gICAgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIAotICAgIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAKLSAgICAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgCi0gICAgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIAotICAgIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAKLSAgICAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgCi0gICAgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIAotICAgIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAKLSAgICAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgCi0gICAgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIAotICAgIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAKLSAgICAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgCi0gICAgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIAotICAgIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAKLSAgICAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgCi0gICAgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIAotICAgIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAKLSAgICAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgCi0gICAgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIAotICAgIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAKLSAgICAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgCi0gICAgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIAotICAgIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAKLSAgICAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgCi0gICAgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIAotICAgIDEyNSwgMjAzLCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAKLSAgICAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgCi0gICAgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIAotICAgIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAKLSAgICAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgCi0gICAgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIAotICAgIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAKLSAgICAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgCi0gICAgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIAotICAgIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAKLSAgICAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgCi0gICAgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIAotICAgIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAKLSAgICAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgCi0gICAgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIAotICAgIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAKLSAgICAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgCi0gICAgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIAotICAgIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAKLSAgICAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgCi0gICAgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIAotICAgIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAKLSAgICAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgCi0gICAgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIAotICAgIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAKLSAgICAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgCi0gICAgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIAotICAgIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAKLSAgICAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgCi0gICAgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIAotICAgIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAKLSAgICAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgCi0gICAgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIAotICAgIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAKLSAgICAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgCi0gICAgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIAotICAgIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDEyNSwgMTI1LCAxMjUsIDIwMywgCisgICAgMzQsIDM0LCAzNCwgMzQsIDIwOCwgMzQsIDIwOSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKKyAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKKyAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKKyAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKKyAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKKyAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKKyAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCAKKyAgICA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDM0LCAyMDMsIDM0LCAzNCwgMjA5LCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIAorICAgIDcxLCA3MSwgNzEsIDcxLCAyMTAsIDcxLCAyMTEsIDIxMiwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCisgICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCisgICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCisgICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCisgICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCisgICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCisgICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCisgICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCisgICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCisgICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCisgICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCisgICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCisgICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCisgICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCisgICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCisgICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCisgICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCisgICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCisgICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCisgICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCisgICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCisgICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCisgICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCisgICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCisgICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCisgICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCisgICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCisgICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgCisgICAgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDcxLCA3MSwgNzEsIDEyNywgMTI3LCAxMjcsIDEyNywgCisgICAgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIAorICAgIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAKKyAgICAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgCisgICAgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIAorICAgIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAKKyAgICAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgCisgICAgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIAorICAgIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAKKyAgICAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgCisgICAgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIAorICAgIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAKKyAgICAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgCisgICAgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIAorICAgIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAKKyAgICAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgCisgICAgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIAorICAgIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAKKyAgICAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgCisgICAgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIAorICAgIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAKKyAgICAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgCisgICAgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIAorICAgIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAKKyAgICAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgCisgICAgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIAorICAgIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAKKyAgICAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgCisgICAgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIAorICAgIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAKKyAgICAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgCisgICAgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIAorICAgIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAKKyAgICAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgCisgICAgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIAorICAgIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAKKyAgICAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgCisgICAgMTI3LCAxMjcsIDEyNywgMjEzLCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIAorICAgIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAKKyAgICAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgCisgICAgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIAorICAgIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAKKyAgICAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgCisgICAgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIAorICAgIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAKKyAgICAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgCisgICAgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIAorICAgIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAKKyAgICAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgCisgICAgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIAorICAgIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAKKyAgICAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgCisgICAgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIAorICAgIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAKKyAgICAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgCisgICAgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIAorICAgIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAKKyAgICAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgCisgICAgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIAorICAgIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAKKyAgICAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgCisgICAgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIAorICAgIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAKKyAgICAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgCisgICAgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIAorICAgIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAKKyAgICAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgCisgICAgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIAorICAgIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAKKyAgICAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgCisgICAgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIAorICAgIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAKKyAgICAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgCisgICAgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDIxMywgCiB9OwogCi1zdGF0aWMgdW5zaWduZWQgY2hhciBpbmRleDJbXSA9IHsKK3N0YXRpYyB1bnNpZ25lZCBzaG9ydCBpbmRleDJbXSA9IHsKICAgICAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAyLCAzLCAzLCAzLCAzLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAKLSAgICAxLCAxLCAxLCAxLCAzLCAzLCAzLCAyLCA0LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA2LCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAxNiwgMTYsIDE2LCAxNiwgCi0gICAgMTYsIDE2LCAxNiwgMTYsIDE2LCAxNiwgMTYsIDE2LCAxNiwgMTYsIDE2LCAxNiwgMTYsIDE2LCAxNiwgMTYsIDE2LCAxNiwgCi0gICAgMTYsIDE2LCAxNiwgMTYsIDUsIDUsIDUsIDUsIDE3LCA1LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAKLSAgICAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDUsIDUsIAorICAgIDEsIDEsIDEsIDEsIDMsIDMsIDMsIDIsIDQsIDUsIDUsIDUsIDUsIDUsIDUsIDYsIDUsIDUsIDUsIDUsIDUsIDUsIDYsIDUsIAorICAgIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCA2LCA1LCA1LCA1LCA1LCA1LCA1LCAxNywgMTcsIDE3LCAxNywgCisgICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCisgICAgMTcsIDE3LCAxNywgMTcsIDUsIDUsIDUsIDYsIDE4LCA2LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAKKyAgICAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDUsIDUsIAogICAgIDUsIDUsIDEsIDEsIDEsIDEsIDEsIDEsIDMsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIAotICAgIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDIsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDE5LCA1LCA1LCAKLSAgICAxLCA1LCA1LCA1LCA1LCAyMCwgMjEsIDUsIDIyLCA1LCAxNywgNSwgMjMsIDE5LCA1LCAyNCwgMjQsIDI0LCA1LCAxNiwgMTYsIAotICAgIDE2LCAxNiwgMTYsIDE2LCAxNiwgMTYsIDE2LCAxNiwgMTYsIDE2LCAxNiwgMTYsIDE2LCAxNiwgMTYsIDE2LCAxNiwgMTYsIAotICAgIDE2LCAxNiwgMTYsIDUsIDE2LCAxNiwgMTYsIDE2LCAxNiwgMTYsIDE2LCAxOSwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgCi0gICAgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCA1LCAKLSAgICAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMjUsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAKLSAgICAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAKLSAgICAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAKLSAgICAyNiwgMjcsIDI4LCAyOSwgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMTksIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAKLSAgICAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAxOSwgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAKLSAgICAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAKLSAgICAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAKLSAgICAyNiwgMjcsIDMwLCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAzMSwgMzIsIDMzLCAyNiwgMjcsIDI2LCAyNywgMzQsIDI2LCAKLSAgICAyNywgMzUsIDM1LCAyNiwgMjcsIDE5LCAzNiwgMzcsIDM4LCAyNiwgMjcsIDM1LCAzOSwgNDAsIDQxLCA0MiwgMjYsIDI3LCAKLSAgICA0MywgMTksIDQxLCA0NCwgNDUsIDQ2LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCA0NywgMjYsIDI3LCA0NywgMTksIDE5LCAKLSAgICAyNiwgMjcsIDQ3LCAyNiwgMjcsIDQ4LCA0OCwgMjYsIDI3LCAyNiwgMjcsIDQ5LCAyNiwgMjcsIDE5LCA1MCwgMjYsIDI3LCAKLSAgICAxOSwgNTEsIDUwLCA1MCwgNTAsIDUwLCA1MiwgNTMsIDU0LCA1MiwgNTMsIDU0LCA1MiwgNTMsIDU0LCAyNiwgMjcsIDI2LCAKLSAgICAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgNTUsIDI2LCAyNywgMjYsIDI3LCAKLSAgICAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDE5LCA1MiwgNTMsIDU0LCAKLSAgICAyNiwgMjcsIDU2LCA1NywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAKLSAgICAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAKLSAgICAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDU4LCAxOSwgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAKLSAgICAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgNTksIDI2LCAKLSAgICAyNywgNjAsIDYxLCA2MiwgNjIsIDI2LCAyNywgNjMsIDY0LCA2NSwgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAKLSAgICAyNiwgMjcsIDY2LCA2NywgNjgsIDY5LCA3MCwgMTksIDcxLCA3MSwgMTksIDcyLCAxOSwgNzMsIDE5LCAxOSwgMTksIDE5LCAKLSAgICA3MSwgMTksIDE5LCA3NCwgMTksIDc1LCAxOSwgMTksIDc2LCA3NywgMTksIDc4LCAxOSwgMTksIDE5LCA3NywgMTksIDc5LCAKLSAgICA4MCwgMTksIDE5LCA4MSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDgyLCAxOSwgMTksIDgzLCAxOSwgMTksIDgzLCAKLSAgICAxOSwgMTksIDE5LCAxOSwgODMsIDg0LCA4NSwgODUsIDg2LCAxOSwgMTksIDE5LCAxOSwgMTksIDg3LCAxOSwgNTAsIDE5LCAKKyAgICAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAyLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA2LCA1LCAyMCwgNSwgNSwgCisgICAgMjEsIDUsIDYsIDUsIDUsIDIyLCAyMywgNiwgMjQsIDUsIDI1LCA2LCAyNiwgMjAsIDUsIDI3LCAyNywgMjcsIDUsIDE3LCAKKyAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKKyAgICAxNywgMTcsIDE3LCAxNywgNSwgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDI4LCAxOSwgMTksIDE5LCAxOSwgMTksIAogICAgIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIAotICAgIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNSwgNSwgNSwgNSwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1MCwgNSwgNTAsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCisgICAgNSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDI5LCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAKKyAgICAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAKKyAgICAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAKKyAgICAzMSwgMzAsIDMxLCAzMiwgMzMsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDIwLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAKKyAgICAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzQsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAKKyAgICAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAKKyAgICAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAKKyAgICAzMSwgMzAsIDMxLCAzNSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzYsIDM3LCAzOCwgMzAsIDMxLCAzMCwgMzEsIDM5LCAKKyAgICAzMCwgMzEsIDQwLCA0MCwgMzAsIDMxLCAyMCwgNDEsIDQyLCA0MywgMzAsIDMxLCA0MCwgNDQsIDQ1LCA0NiwgNDcsIDMwLCAKKyAgICAzMSwgNDgsIDIwLCA0NiwgNDksIDUwLCA1MSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgNTIsIDMwLCAzMSwgNTIsIDIwLCAKKyAgICAyMCwgMzAsIDMxLCA1MiwgMzAsIDMxLCA1MywgNTMsIDMwLCAzMSwgMzAsIDMxLCA1NCwgMzAsIDMxLCAyMCwgNTUsIDMwLCAKKyAgICAzMSwgMjAsIDU2LCA1NSwgNTUsIDU1LCA1NSwgNTcsIDU4LCA1OSwgNTcsIDU4LCA1OSwgNTcsIDU4LCA1OSwgMzAsIDMxLCAKKyAgICAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDYwLCAzMCwgMzEsIDMwLCAKKyAgICAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCA2MSwgNTcsIDU4LCAKKyAgICA1OSwgMzAsIDMxLCA2MiwgNjMsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAKKyAgICAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAKKyAgICAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCA2NCwgMjAsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAKKyAgICAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDY1LCAKKyAgICAzMCwgMzEsIDY2LCA2NywgNjgsIDY4LCAzMCwgMzEsIDY5LCA3MCwgNzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAKKyAgICAzMSwgMzAsIDMxLCA3MiwgNzMsIDc0LCA3NSwgNzYsIDIwLCA3NywgNzcsIDIwLCA3OCwgMjAsIDc5LCAyMCwgMjAsIDIwLCAKKyAgICAyMCwgNzcsIDIwLCAyMCwgODAsIDIwLCA4MSwgODIsIDIwLCA4MywgODQsIDIwLCA4NSwgMjAsIDIwLCAyMCwgODQsIDIwLCAKKyAgICA4NiwgODcsIDIwLCAyMCwgODgsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCA4OSwgMjAsIDIwLCA5MCwgMjAsIDIwLCAKKyAgICA5MCwgMjAsIDIwLCAyMCwgMjAsIDkwLCA5MSwgOTIsIDkyLCA5MywgMjAsIDIwLCAyMCwgMjAsIDIwLCA5NCwgMjAsIDU1LCAKKyAgICAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAKKyAgICAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCAKKyAgICA5NiwgOTYsIDk2LCA5NiwgOTYsIDk2LCA5NiwgOTUsIDk1LCA2LCA2LCA2LCA2LCA5NiwgOTYsIDk2LCA5NiwgOTYsIDk2LCAKKyAgICA5NiwgOTYsIDk2LCA5NiwgOTYsIDk2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA5NSwgOTUsIAorICAgIDk1LCA5NSwgOTUsIDYsIDYsIDYsIDYsIDYsIDYsIDYsIDk2LCA2LCA5NiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgNiwgCisgICAgNiwgNiwgNiwgNiwgNiwgNiwgNiwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIAorICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIAorICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIAorICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIAorICAgIDI1LCAyNSwgOTcsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIAorICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIAorICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDMwLCAzMSwgMzAsIDMxLCA5NiwgNiwgMzAsIDMxLCAwLCAwLCAKKyAgICA5OCwgNTAsIDUwLCA1MCwgNSwgMCwgMCwgMCwgMCwgMCwgNiwgNiwgOTksIDI1LCAxMDAsIDEwMCwgMTAwLCAwLCAxMDEsIDAsIAorICAgIDEwMiwgMTAyLCAxMDMsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCisgICAgMTcsIDE3LCAxNywgMCwgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTA0LCAxMDUsIDEwNSwgMTA1LCAKKyAgICAxMDYsIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgCisgICAgMTA3LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxMDgsIDEwOSwgMTA5LCAxMTAsIDExMSwgMTEyLCAKKyAgICAxMTMsIDExMywgMTEzLCAxMTQsIDExNSwgMTE2LCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIAorICAgIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAxMTcsIDExOCwgMTE5LCAyMCwgCisgICAgMTIwLCAxMjEsIDUsIDMwLCAzMSwgMTIyLCAzMCwgMzEsIDIwLCA2NCwgNjQsIDY0LCAxMjMsIDEyMywgMTIzLCAxMjMsIAorICAgIDEyMywgMTIzLCAxMjMsIDEyMywgMTIzLCAxMjMsIDEyMywgMTIzLCAxMjMsIDEyMywgMTIzLCAxMjMsIDE3LCAxNywgMTcsIAogICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCA4OCwgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMjYsIDI3LCAyNiwgMjcsIDUwLCA1LCAyNiwgMjcsIDAsIDAsIDg5LCAKLSAgICA0NSwgNDUsIDQ1LCA1LCAwLCAwLCAwLCAwLCAwLCA1LCA1LCA5MCwgMTcsIDkxLCA5MSwgOTEsIDAsIDkyLCAwLCA5MywgOTMsIAotICAgIDE5LCAxNiwgMTYsIDE2LCAxNiwgMTYsIDE2LCAxNiwgMTYsIDE2LCAxNiwgMTYsIDE2LCAxNiwgMTYsIDE2LCAxNiwgMTYsIAotICAgIDAsIDE2LCAxNiwgMTYsIDE2LCAxNiwgMTYsIDE2LCAxNiwgMTYsIDk0LCA5NSwgOTUsIDk1LCAxOSwgMTgsIDE4LCAxOCwgCi0gICAgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCA5NiwgMTgsIDE4LCAxOCwgCi0gICAgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgOTcsIDk4LCA5OCwgOTksIDEwMCwgMTAxLCAxMDIsIDEwMiwgMTAyLCAxMDMsIAotICAgIDEwNCwgMTA1LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgCi0gICAgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAxMDYsIDEwNywgMTA4LCAxOSwgMTA5LCAxMTAsIDUsIDI2LCAyNywgCi0gICAgMTExLCAyNiwgMjcsIDE5LCA1OCwgNTgsIDU4LCAxMTIsIDExMiwgMTEyLCAxMTIsIDExMiwgMTEyLCAxMTIsIDExMiwgMTEyLCAKLSAgICAxMTIsIDExMiwgMTEyLCAxMTIsIDExMiwgMTEyLCAxMTIsIDE2LCAxNiwgMTYsIDE2LCAxNiwgMTYsIDE2LCAxNiwgMTYsIAotICAgIDE2LCAxNiwgMTYsIDE2LCAxNiwgMTYsIDE2LCAxNiwgMTYsIDE2LCAxNiwgMTYsIDE2LCAxNiwgMTYsIDE2LCAxNiwgMTYsIAotICAgIDE2LCAxNiwgMTYsIDE2LCAxNiwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIAotICAgIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIAotICAgIDE4LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgMTA3LCAxMDcsIDEwNywgCi0gICAgMTA3LCAxMDcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAKLSAgICAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAKLSAgICA1LCAxNywgMTcsIDE3LCAxNywgMTcsIDUsIDUsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgCi0gICAgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgCi0gICAgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgCi0gICAgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDExMywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIAotICAgIDI2LCAyNywgMjYsIDI3LCAxMTQsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAKLSAgICAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAKLSAgICAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAKLSAgICAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAKLSAgICAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAKLSAgICAyNywgMjYsIDI3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMTUsIDExNSwgMTE1LCAxMTUsIDExNSwgMTE1LCAxMTUsIAotICAgIDExNSwgMTE1LCAxMTUsIDExNSwgMTE1LCAxMTUsIDExNSwgMTE1LCAxMTUsIDExNSwgMTE1LCAxMTUsIDExNSwgMTE1LCAKLSAgICAxMTUsIDExNSwgMTE1LCAxMTUsIDExNSwgMTE1LCAxMTUsIDExNSwgMTE1LCAxMTUsIDExNSwgMTE1LCAxMTUsIDExNSwgCi0gICAgMTE1LCAxMTUsIDExNSwgMCwgMCwgNTAsIDUsIDUsIDUsIDUsIDUsIDUsIDAsIDExNiwgMTE2LCAxMTYsIDExNiwgMTE2LCAKLSAgICAxMTYsIDExNiwgMTE2LCAxMTYsIDExNiwgMTE2LCAxMTYsIDExNiwgMTE2LCAxMTYsIDExNiwgMTE2LCAxMTYsIDExNiwgCi0gICAgMTE2LCAxMTYsIDExNiwgMTE2LCAxMTYsIDExNiwgMTE2LCAxMTYsIDExNiwgMTE2LCAxMTYsIDExNiwgMTE2LCAxMTYsIAotICAgIDExNiwgMTE2LCAxMTYsIDExNiwgMTE2LCAxOSwgMCwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgNSwgMTcsIDUsIDE3LCAxNywgNSwgMTcsIDE3LCA1LCAxNywgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgMCwgMCwgMCwgMCwgMCwgNTAsIDUwLCA1MCwgNSwgNSwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMSwgMSwgMSwgMSwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCA1LCAwLCAwLCA1LCA1LCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgNiwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgCi0gICAgNSwgNSwgNSwgNSwgNTAsIDUwLCAxNywgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNSwgNTAsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxLCA1LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCA1MCwgNTAsIDE3LCAxNywgNSwgCi0gICAgMTcsIDE3LCAxNywgMTcsIDUwLCA1MCwgNiwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgNTAsIDUwLCA1MCwgCi0gICAgNSwgNSwgNTAsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDAsIDEsIDUwLCAxNywgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMCwgMCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDUwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCA2LCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCA1MCwgNTAsIDUsIDUsIDUsIDUsIDUwLCAwLCAwLCAwLCAwLCAwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgMTcsIDE3LCAKLSAgICAxNywgMTcsIDUwLCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCA1MCwgMTcsIDE3LCAxNywgNTAsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDE3LCAxNywgMTcsIDAsIDAsIDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIAorICAgIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIAorICAgIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxMjQsIDEyNCwgMTI0LCAxMjQsIDEyNCwgMTI0LCAxMjQsIDEyNCwgMTI0LCAKKyAgICAxMjQsIDEyNCwgMTI0LCAxMjQsIDEyNCwgMTI0LCAxMjQsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIAorICAgIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIAorICAgIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCA1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDYsIDYsIDMwLCAzMSwgMzAsIDMxLCAKKyAgICAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAKKyAgICAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAKKyAgICAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDEyNSwgMzAsIDMxLCAzMCwgCisgICAgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAxMjYsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIAorICAgIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIAorICAgIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIAorICAgIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIAorICAgIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIAorICAgIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMjcsIAorICAgIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAKKyAgICAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgCisgICAgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMCwgMCwgOTYsIDUsIDUsIDUsIDUsIDUsIDUsIAorICAgIDAsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAKKyAgICAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgCisgICAgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjksIDAsIDUsIDUsIDAsIDAsIDAsIAorICAgIDAsIDUsIDAsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAKKyAgICAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAKKyAgICAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDUsIDI1LCA1LCAyNSwgMjUsIDUsIDI1LCAyNSwgCisgICAgNSwgMjUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIAorICAgIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDUsIDYsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDIxLCAyMSwgMjEsIAorICAgIDIxLCAyMSwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAKKyAgICAyNSwgMjUsIDI1LCA1LCAwLCAwLCA1LCA1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDk2LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjUsIDI1LCAyNSwgMjUsIAorICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgNywgOCwgCisgICAgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDUsIDUsIDUsIDUsIDU1LCA1NSwgMjUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDUsIDU1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjEsIDUsIDI1LCAyNSwgMjUsIAorICAgIDI1LCAyNSwgMjUsIDk2LCA5NiwgMjUsIDI1LCA1LCAyNSwgMjUsIDI1LCAyNSwgNTUsIDU1LCA3LCA4LCA5LCAxMCwgMTEsIAorICAgIDEyLCAxMywgMTQsIDE1LCAxNiwgNTUsIDU1LCA1NSwgNSwgNSwgNTUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAorICAgIDUsIDUsIDUsIDUsIDAsIDIxLCA1NSwgMjUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCisgICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAKKyAgICAyNSwgMjUsIDI1LCA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNywgOCwgOSwgMTAsIAorICAgIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDk2LCA5NiwgNSwgNSwgNSwgNSwgOTYsIAorICAgIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNSwgMjUsIDI1LCAyNSwgOTYsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCisgICAgMjUsIDI1LCAyNSwgMjUsIDk2LCAyNSwgMjUsIDI1LCA5NiwgMjUsIDI1LCAyNSwgMjUsIDI1LCAwLCAwLCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjUsIDI1LCAKKyAgICAyNSwgMCwgMCwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDAsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjUsIDI1LCAyNSwgCisgICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCisgICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMCwgMjUsIDI1LCAyNSwgMTgsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI1LCAxOCwgMjUsIDU1LCAxOCwgMTgsIDE4LCAKKyAgICAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDE4LCAxOCwgMTgsIDE4LCAyNSwgMTgsIDE4LCA1NSwgMjUsIDI1LCAKKyAgICAyNSwgMjUsIDI1LCAyNSwgMjUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNSwgMjUsIDUsIDUsIAorICAgIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCA1LCA5NiwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDI1LCAxOCwgMTgsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgMCwgMCwgNTUsIDU1LCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIAorICAgIDU1LCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMjUsIDU1LCAxOCwgMTgsIDE4LCAyNSwgMjUsIDI1LCAyNSwgMCwgCisgICAgMCwgMTgsIDE4LCAwLCAwLCAxOCwgMTgsIDI1LCA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTgsIDAsIDAsIDAsIDAsIAorICAgIDU1LCA1NSwgMCwgNTUsIDU1LCA1NSwgMjUsIDI1LCAwLCAwLCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgCisgICAgNTUsIDU1LCA1LCA1LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAyNSwgMjUsIDE4LCAwLCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCAwLCA1NSwgNTUsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCAwLCA1NSwgNTUsIDAsIDU1LCA1NSwgMCwgMCwgMjUsIDAsIDE4LCAKKyAgICAxOCwgMTgsIDI1LCAyNSwgMCwgMCwgMCwgMCwgMjUsIDI1LCAwLCAwLCAyNSwgMjUsIDI1LCAwLCAwLCAwLCAyNSwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDAsIDU1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA3LCA4LCA5LCAxMCwgCisgICAgMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgMjUsIDI1LCA1NSwgNTUsIDU1LCAyNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMjUsIDI1LCAxOCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCAKKyAgICA1NSwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgNTUsIDAsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMjUsIDU1LCAxOCwgMTgsIDE4LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDAsIDI1LCAyNSwgCisgICAgMTgsIDAsIDE4LCAxOCwgMjUsIDAsIDAsIDU1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICA1NSwgNTUsIDI1LCAyNSwgMCwgMCwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDUsIDUsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI1LCAxOCwgMTgsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgMCwgMCwgNTUsIDU1LCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDAsIDU1LCA1NSwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAyNSwgNTUsIDE4LCAyNSwgMTgsIDI1LCAKKyAgICAyNSwgMjUsIDI1LCAwLCAwLCAxOCwgMTgsIDAsIDAsIDE4LCAxOCwgMjUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI1LCAKKyAgICAxOCwgMCwgMCwgMCwgMCwgNTUsIDU1LCAwLCA1NSwgNTUsIDU1LCAyNSwgMjUsIDAsIDAsIDcsIDgsIDksIDEwLCAxMSwgMTIsIAorICAgIDEzLCAxNCwgMTUsIDE2LCA1LCA1NSwgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMjUsIDU1LCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCA1NSwgNTUsIDU1LCAwLCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgMCwgMCwgMCwgNTUsIDU1LCAwLCA1NSwgMCwgNTUsIDU1LCAwLCAwLCAwLCA1NSwgNTUsIDAsIDAsIDAsIDU1LCA1NSwgCisgICAgNTUsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDAsIAorICAgIDE4LCAxOCwgMjUsIDE4LCAxOCwgMCwgMCwgMCwgMTgsIDE4LCAxOCwgMCwgMTgsIDE4LCAxOCwgMjUsIDAsIDAsIDU1LCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAxOCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNywgOCwgOSwgMTAsIAorICAgIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDI3LCAyNywgMjcsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDE4LCAxOCwgMTgsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCA1NSwgMCwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCAwLCAwLCAwLCA1NSwgMjUsIDI1LCAyNSwgMTgsIDE4LCAxOCwgMTgsIDAsIDI1LCAyNSwgMjUsIDAsIAorICAgIDI1LCAyNSwgMjUsIDI1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNSwgMjUsIDAsIDU1LCA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgNTUsIDU1LCAyNSwgMjUsIDAsIDAsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgNSwgMCwgMCwgMTgsIDE4LCAwLCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDAsIDU1LCA1NSwgNTUsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMjUsIDU1LCAxOCwgMjUsIDE4LCAKKyAgICAxOCwgMTgsIDE4LCAxOCwgMCwgMjUsIDE4LCAxOCwgMCwgMTgsIDE4LCAyNSwgMjUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDE4LCAxOCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDAsIDU1LCA1NSwgMjUsIDI1LCAwLCAwLCA3LCA4LCA5LCAxMCwgCisgICAgMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgMCwgNTUsIDU1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAxOCwgMTgsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCA1NSwgMCwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCA1NSwgMTgsIDE4LCAxOCwgMjUsIDI1LCAyNSwgMjUsIDAsIDE4LCAxOCwgMTgsIDAsIAorICAgIDE4LCAxOCwgMTgsIDI1LCA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDU1LCA1NSwgMjUsIDI1LCAwLCAwLCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgMjcsIDI3LCAyNywgCisgICAgMjcsIDI3LCAyNywgMCwgMCwgMCwgNSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMTgsIDE4LCAwLCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgMCwgCisgICAgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDI1LCAwLCAwLCAwLCAwLCAxOCwgMTgsIDE4LCAyNSwgCisgICAgMjUsIDI1LCAwLCAyNSwgMCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxOCwgMTgsIDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI1LCA1NSwgMTMwLCAyNSwgMjUsIAorICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMCwgMCwgMCwgMCwgNSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgOTYsIDI1LCAyNSwgCisgICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgNSwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDUsIDUsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgMCwgNTUsIDAsIDAsIDU1LCA1NSwgMCwgNTUsIAorICAgIDAsIDAsIDU1LCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDAsIDU1LCA1NSwgNTUsIDAsIDU1LCAwLCA1NSwgMCwgMCwgNTUsIDU1LCAwLCA1NSwgNTUsIDU1LCA1NSwgMjUsIDU1LCAKKyAgICAxMzAsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDAsIDI1LCAyNSwgNTUsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgCisgICAgOTYsIDAsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDAsIDAsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCAKKyAgICAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAorICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDI1LCAyNSwgNSwgNSwgNSwgNSwgNSwgNSwgNywgCisgICAgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAKKyAgICA1LCAyNSwgNSwgMjUsIDUsIDI1LCA1LCA1LCA1LCA1LCAxOCwgMTgsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgMCwgMCwgMCwgMCwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAKKyAgICAxOCwgMjUsIDI1LCAyNSwgMjUsIDI1LCA1LCAyNSwgMjUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjUsIDI1LCAyNSwgMjUsIAorICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAwLCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCisgICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCisgICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAyNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDE4LCAxOCwgMjUsIDI1LCAyNSwgMjUsIDE4LCAKKyAgICAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAxOCwgMjUsIDI1LCAxOCwgMTgsIDI1LCAyNSwgNTUsIDcsIDgsIDksIDEwLCAxMSwgCisgICAgMTIsIDEzLCAxNCwgMTUsIDE2LCA1LCA1LCA1LCA1LCA1LCA1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAxOCwgMTgsIDI1LCAKKyAgICAyNSwgNTUsIDU1LCA1NSwgNTUsIDI1LCAyNSwgMjUsIDU1LCAxOCwgMTgsIDE4LCA1NSwgNTUsIDE4LCAxOCwgMTgsIDE4LCAKKyAgICAxOCwgMTgsIDE4LCA1NSwgNTUsIDU1LCAyNSwgMjUsIDI1LCAyNSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDI1LCAxOCwgMTgsIDI1LCAyNSwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMjUsIDU1LCAKKyAgICAxOCwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDE4LCAxOCwgMTgsIDI1LCA1LCA1LCAxMzEsIDEzMSwgCisgICAgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIAorICAgIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAKKyAgICAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMTMxLCAxMzEsIDEzMSwgMCwgMTMxLCAwLCAwLCAwLCAwLCAwLCAxMzEsIDAsIDAsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1LCA5NiwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgMCwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgMCwgNTUsIDAsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDI1LCAyNSwgMjUsIDUsIAorICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDEzMiwgMTMzLCAxMzQsIDEzNSwgMTM2LCAxMzcsIDEzOCwgMTM5LCAxNDAsIDI3LCAKKyAgICAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDUsIDUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMiwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1LCA1LCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1LCA1LCA1LCAxNDEsIDE0MSwgMTQxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgMCwgNTUsIDU1LCA1NSwgNTUsIDI1LCAyNSwgMjUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI1LCAKKyAgICAyNSwgMjUsIDUsIDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI1LCAyNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDU1LCAKKyAgICA1NSwgNTUsIDAsIDI1LCAyNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI1LCAyNSwgMTgsIDI1LCAyNSwgMjUsIAorICAgIDI1LCAyNSwgMjUsIDI1LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDI1LCAxOCwgMTgsIDI1LCAyNSwgMjUsIAorICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgNSwgNSwgNSwgOTYsIDUsIDUsIDUsIDUsIDU1LCAyNSwgMCwgMCwgNywgCisgICAgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDAsIDAsIDAsIDAsIDAsIDAsIDI3LCAyNywgMjcsIDI3LCAyNywgCisgICAgMjcsIDI3LCAyNywgMjcsIDI3LCAwLCAwLCAwLCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICAyNSwgMjUsIDI1LCAyLCAwLCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA5NiwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjUsIDU1LCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCAyNSwgMjUsIDI1LCAKKyAgICAxOCwgMTgsIDE4LCAxOCwgMjUsIDI1LCAxOCwgMTgsIDE4LCAwLCAwLCAwLCAwLCAxOCwgMTgsIDI1LCAxOCwgMTgsIDE4LCAKKyAgICAxOCwgMTgsIDE4LCAyNSwgMjUsIDI1LCAwLCAwLCAwLCAwLCA1LCAwLCAwLCAwLCA1LCA1LCA3LCA4LCA5LCAxMCwgMTEsIAorICAgIDEyLCAxMywgMTQsIDE1LCAxNiwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDAsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIAorICAgIDE4LCAxOCwgMTgsIDE4LCAxOCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDE4LCAxOCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDEzMiwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNSwgMjUsIDE4LCAxOCwgMTgsIDAsIDAsIDUsIDUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMTgsIDI1LCAxOCwgMjUsIAorICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDAsIDI1LCAxOCwgMjUsIDE4LCAxOCwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCisgICAgMjUsIDI1LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCisgICAgMCwgMCwgMjUsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCAwLCAwLCAwLCAwLCAwLCAwLCA3LCA4LCA5LCAKKyAgICAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgMCwgMCwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgOTYsIDUsIAorICAgIDUsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI1LCAyNSwgMjUsIDI1LCAxOCwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNSwgMTgsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMTgsIDI1LCAKKyAgICAxOCwgMTgsIDE4LCAxOCwgMTgsIDI1LCAxOCwgMTgsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCAwLCAKKyAgICA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgMCwgMCwgMCwgMjUsIDI1LCAxOCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgMTgsIDI1LCAyNSwgMjUsIDI1LCAxOCwgMTgsIDI1LCAyNSwgMTgsIDI1LCAxOCwgMTgsIDU1LCA1NSwgNywgOCwgOSwgCisgICAgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjUsIDE4LCAyNSwgCisgICAgMjUsIDE4LCAxOCwgMTgsIDI1LCAxOCwgMjUsIDI1LCAyNSwgMTgsIDE4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1LCA1LCAKKyAgICA1LCA1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMTgsIAorICAgIDE4LCAyNSwgMjUsIDAsIDAsIDAsIDUsIDUsIDUsIDUsIDUsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCAKKyAgICAwLCAwLCAwLCA1NSwgNTUsIDU1LCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgOTYsIDk2LCA5NiwgOTYsIDk2LCA5NiwgNSwgNSwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTcsIDE3LCAxNywgMTcsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDE3LCAxNywgMTcsIDUwLCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCA1MCwgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAxNywgMTcsIDUsIDUsIDYsIAotICAgIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDUsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgMCwgMTcsIDE3LCAxNywgMCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICAwLCAwLCA1MCwgNTAsIDAsIDAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgMCwgNTAsIAotICAgIDAsIDAsIDAsIDUwLCA1MCwgNTAsIDUwLCAwLCAwLCAxNywgNTAsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAwLCAwLCAKLSAgICAxNywgMTcsIDAsIDAsIDE3LCAxNywgMTcsIDUwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNywgMCwgMCwgMCwgMCwgNTAsIAotICAgIDUwLCAwLCA1MCwgNTAsIDUwLCAxNywgMTcsIDAsIDAsIDYsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDUwLCAKLSAgICA1MCwgNSwgNSwgMjQsIDI0LCAyNCwgMjQsIDI0LCAyNCwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMTcsIDE3LCAxNywgMCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgMCwgMCwgMCwgMCwgNTAsIDUwLCAwLCAwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgMCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDAsIDUwLCA1MCwgMCwgNTAsIDUwLCAwLCA1MCwgNTAsIDAsIDAsIDE3LCAwLCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDAsIDAsIDAsIDAsIDE3LCAxNywgMCwgMCwgMTcsIDE3LCAxNywgMCwgMCwgMCwgMTcsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDUwLCA1MCwgNTAsIDUwLCAwLCA1MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNiwgNywgOCwgOSwgMTAsIAotICAgIDExLCAxMiwgMTMsIDE0LCAxNSwgMTcsIDE3LCA1MCwgNTAsIDUwLCAxNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMTcsIDE3LCAxNywgMCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgMCwgNTAsIDUwLCA1MCwgMCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAwLCA1MCwgNTAsIDAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgMCwgMCwgMTcsIDUwLCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDAsIDE3LCAxNywgMTcsIDAsIAotICAgIDE3LCAxNywgMTcsIDAsIDAsIDUwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1MCwgCi0gICAgNTAsIDE3LCAxNywgMCwgMCwgNiwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMCwgNSwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTcsIDE3LCAxNywgMCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCAwLCAwLCA1MCwgNTAsIDAsIDAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgMCwgNTAsIDUwLCAwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDAsIDAsIDE3LCA1MCwgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDAsIDAsIDE3LCAxNywgMCwgMCwgMTcsIDE3LCAxNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTcsIDE3LCAKLSAgICAwLCAwLCAwLCAwLCA1MCwgNTAsIDAsIDUwLCA1MCwgNTAsIDE3LCAxNywgMCwgMCwgNiwgNywgOCwgOSwgMTAsIDExLCAxMiwgCi0gICAgMTMsIDE0LCAxNSwgNSwgNTAsIDI0LCAyNCwgMjQsIDI0LCAyNCwgMjQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDE3LCA1MCwgMCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgMCwgMCwgMCwgNTAsIDUwLCA1MCwgMCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDAsIDAsIDAsIDUwLCA1MCwgMCwgNTAsIDAsIDUwLCA1MCwgMCwgMCwgMCwgNTAsIDUwLCAwLCAwLCAwLCA1MCwgNTAsIAotICAgIDUwLCAwLCAwLCAwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAwLCAwLCAwLCAwLCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDAsIDAsIDAsIDE3LCAxNywgMTcsIDAsIDE3LCAxNywgMTcsIDE3LCAwLCAwLCA1MCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMTcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDYsIDcsIDgsIDksIAotICAgIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDI0LCAyNCwgMjQsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDE3LCAxNywgMTcsIDAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgMCwgNTAsIDUwLCA1MCwgMCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCAwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgMCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCAwLCAwLCAwLCA1MCwgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDAsIDE3LCAxNywgMTcsIDAsIAotICAgIDE3LCAxNywgMTcsIDE3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNywgMTcsIDAsIDUwLCA1MCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgNTAsIDUwLCAxNywgMTcsIDAsIDAsIDYsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDI0LCAyNCwgMjQsIDI0LCAyNCwgMjQsIDI0LCA1LCAwLCAwLCAxNywgMTcsIDAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgMCwgNTAsIDUwLCA1MCwgMCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgMCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAwLCAwLCAxNywgNTAsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAwLCAxNywgMTcsIDE3LCAwLCAxNywgMTcsIDE3LCAxNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMTcsIDE3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1MCwgMCwgNTAsIDUwLCAxNywgMTcsIDAsIDAsIDYsIDcsIDgsIDksIDEwLCAKLSAgICAxMSwgMTIsIDEzLCAxNCwgMTUsIDAsIDUwLCA1MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMTcsIDE3LCAwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDAsIDUwLCA1MCwgNTAsIDAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgMCwgMCwgNTAsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAwLCAxNywgMTcsIDE3LCAwLCAxNywgCi0gICAgMTcsIDE3LCAxNywgNTAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1MCwgCi0gICAgNTAsIDE3LCAxNywgMCwgMCwgNiwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMjQsIDI0LCAyNCwgMjQsIDI0LCAKLSAgICAyNCwgMCwgMCwgMCwgNSwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgMCwgMCwgMTcsIDE3LCAwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAwLCAwLCAwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCAwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAwLCA1MCwgMCwgMCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDAsIDAsIDAsIDE3LCAwLCAwLCAwLCAwLCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAwLCAxNywgMCwgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxNywgMTcsIDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDE3LCA1MCwgMTE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMCwgMCwgMCwgMCwgNSwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgNSwgNiwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgNSwgNSwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTAsIDUwLCAwLCA1MCwgMCwgMCwgNTAsIDUwLCAwLCA1MCwgMCwgMCwgCi0gICAgNTAsIDAsIDAsIDAsIDAsIDAsIDAsIDUwLCA1MCwgNTAsIDUwLCAwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgMCwgCi0gICAgNTAsIDUwLCA1MCwgMCwgNTAsIDAsIDUwLCAwLCAwLCA1MCwgNTAsIDAsIDUwLCA1MCwgNTAsIDUwLCAxNywgNTAsIDExNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMCwgMTcsIDE3LCA1MCwgMCwgMCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAwLCA1MCwgCi0gICAgMCwgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMCwgMCwgNiwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMCwgCi0gICAgMCwgNTAsIDUwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1MCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMTcsIDE3LCA1LCA1LCA1LCA1LCA1LCA1LCA2LCA3LCA4LCAKLSAgICA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAyNCwgMjQsIDI0LCAyNCwgMjQsIDI0LCAyNCwgMjQsIDI0LCAyNCwgNSwgMTcsIAotICAgIDUsIDE3LCA1LCAxNywgNSwgNSwgNSwgNSwgMTcsIDE3LCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDAsIDAsIAotICAgIDAsIDAsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgNSwgMTcsIDE3LCA1MCwgNTAsIDUwLCA1MCwgNTAsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMCwgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMTcsIDUsIDUsIDUsIDUsIDUsIDUsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDI1LCAyNSwgMjUsIDUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCisgICAgMjUsIDI1LCAxOCwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDU1LCA1NSwgNTUsIDU1LCAyNSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDE4LCAxOCwgMjUsIDU1LCA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAKKyAgICAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAKKyAgICAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAKKyAgICAyMCwgMjAsIDIwLCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCAKKyAgICA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCAKKyAgICA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCAKKyAgICA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAKKyAgICAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgOTUsIDE0MiwgMjAsIDIwLCAyMCwgMTQzLCAyMCwgMjAsIDIwLCAyMCwgMjAsIAorICAgIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIAorICAgIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIAorICAgIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIAorICAgIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDk1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIAorICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIAorICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNSwgMjUsIDI1LCAyNSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIAorICAgIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIAorICAgIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIAorICAgIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIAorICAgIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIAorICAgIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIAorICAgIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIAorICAgIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIAorICAgIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMTQ0LCAKKyAgICAxNDUsIDE0NiwgMTQ3LCAxNDgsIDE0OSwgMjAsIDIwLCAxNTAsIDIwLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIAorICAgIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIAorICAgIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIAorICAgIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIAorICAgIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIAorICAgIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAxNTEsIDE1MSwgCisgICAgMTUxLCAxNTEsIDE1MSwgMTUxLCAxNTEsIDE1MSwgMTUyLCAxNTIsIDE1MiwgMTUyLCAxNTIsIDE1MiwgMTUyLCAxNTIsIAorICAgIDE1MSwgMTUxLCAxNTEsIDE1MSwgMTUxLCAxNTEsIDAsIDAsIDE1MiwgMTUyLCAxNTIsIDE1MiwgMTUyLCAxNTIsIDAsIDAsIAorICAgIDE1MSwgMTUxLCAxNTEsIDE1MSwgMTUxLCAxNTEsIDE1MSwgMTUxLCAxNTIsIDE1MiwgMTUyLCAxNTIsIDE1MiwgMTUyLCAKKyAgICAxNTIsIDE1MiwgMTUxLCAxNTEsIDE1MSwgMTUxLCAxNTEsIDE1MSwgMTUxLCAxNTEsIDE1MiwgMTUyLCAxNTIsIDE1MiwgCisgICAgMTUyLCAxNTIsIDE1MiwgMTUyLCAxNTEsIDE1MSwgMTUxLCAxNTEsIDE1MSwgMTUxLCAwLCAwLCAxNTIsIDE1MiwgMTUyLCAKKyAgICAxNTIsIDE1MiwgMTUyLCAwLCAwLCAxNTMsIDE1MSwgMTU0LCAxNTEsIDE1NSwgMTUxLCAxNTYsIDE1MSwgMCwgMTUyLCAwLCAKKyAgICAxNTIsIDAsIDE1MiwgMCwgMTUyLCAxNTEsIDE1MSwgMTUxLCAxNTEsIDE1MSwgMTUxLCAxNTEsIDE1MSwgMTUyLCAxNTIsIAorICAgIDE1MiwgMTUyLCAxNTIsIDE1MiwgMTUyLCAxNTIsIDE1NywgMTU3LCAxNTgsIDE1OCwgMTU4LCAxNTgsIDE1OSwgMTU5LCAKKyAgICAxNjAsIDE2MCwgMTYxLCAxNjEsIDE2MiwgMTYyLCAwLCAwLCAxNjMsIDE2NCwgMTY1LCAxNjYsIDE2NywgMTY4LCAxNjksIAorICAgIDE3MCwgMTcxLCAxNzIsIDE3MywgMTc0LCAxNzUsIDE3NiwgMTc3LCAxNzgsIDE3OSwgMTgwLCAxODEsIDE4MiwgMTgzLCAKKyAgICAxODQsIDE4NSwgMTg2LCAxODcsIDE4OCwgMTg5LCAxOTAsIDE5MSwgMTkyLCAxOTMsIDE5NCwgMTk1LCAxOTYsIDE5NywgCisgICAgMTk4LCAxOTksIDIwMCwgMjAxLCAyMDIsIDIwMywgMjA0LCAyMDUsIDIwNiwgMjA3LCAyMDgsIDIwOSwgMjEwLCAxNTEsIAorICAgIDE1MSwgMjExLCAyMTIsIDIxMywgMCwgMjE0LCAyMTUsIDE1MiwgMTUyLCAyMTYsIDIxNiwgMjE3LCA2LCAyMTgsIDYsIDYsIAorICAgIDYsIDIxOSwgMjIwLCAyMjEsIDAsIDIyMiwgMjIzLCAyMjQsIDIyNCwgMjI0LCAyMjQsIDIyNSwgNiwgNiwgNiwgMTUxLCAKKyAgICAxNTEsIDIyNiwgMjI3LCAwLCAwLCAyMjgsIDIyOSwgMTUyLCAxNTIsIDIzMCwgMjMwLCAwLCA2LCA2LCA2LCAxNTEsIDE1MSwgCisgICAgMjMxLCAyMzIsIDIzMywgMTE5LCAyMzQsIDIzNSwgMTUyLCAxNTIsIDIzNiwgMjM2LCAxMjIsIDYsIDYsIDYsIDAsIDAsIAorICAgIDIzNywgMjM4LCAyMzksIDAsIDI0MCwgMjQxLCAyNDIsIDI0MiwgMjQzLCAyNDMsIDI0NCwgNiwgNiwgMCwgMiwgMiwgMiwgMiwgCisgICAgMiwgMiwgMiwgMiwgMiwgMiwgMiwgMjEsIDIxLCAyMSwgMjEsIDIxLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA2LCA2LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA2LCA1LCA1LCA2LCAzLCAzLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIsIDUsIDUsIAorICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDE4LCAxOCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMTgsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDIsIDIxLCAKKyAgICAyMSwgMjEsIDIxLCAyMSwgMCwgMCwgMCwgMCwgMCwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjQ1LCA5NSwgMCwgMCwgCisgICAgMjQ2LCAyNDcsIDI0OCwgMjQ5LCAyNTAsIDI1MSwgNSwgNSwgNSwgNSwgNSwgOTUsIDI0NSwgMjYsIDIyLCAyMywgMjQ2LCAKKyAgICAyNDcsIDI0OCwgMjQ5LCAyNTAsIDI1MSwgNSwgNSwgNSwgNSwgNSwgMCwgOTUsIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIAorICAgIDk1LCA5NSwgOTUsIDk1LCA5NSwgOTUsIDAsIDAsIDAsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAogICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDUwLCA2LCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgCi0gICAgMTQsIDE1LCA1LCA1LCA1LCA1LCA1LCA1LCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAxNywgMTcsIDE3LCAxNywgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDE3LCAxNywgMTcsIDUwLCAxNywgMTcsIDE3LCA1MCwgNTAsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICA1MCwgNTAsIDUwLCAxNywgMTcsIDE3LCAxNywgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDUwLCAxNywgNiwgNywgOCwgCi0gICAgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTcsIDE3LCAxNywgMTcsIDUsIDUsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAKLSAgICAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgCi0gICAgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAxMTgsIAotICAgIDExOCwgMTE4LCAxMTgsIDExOCwgMTE4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNSwgNTAsIDAsIDAsIDAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDAsIDUwLCA1MCwgNTAsIDUwLCAwLCAwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgMCwgNTAsIDAsIDUwLCA1MCwgNTAsIDUwLCAwLCAwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDAsIDUwLCA1MCwgNTAsIDUwLCAwLCAwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCAwLCA1MCwgNTAsIDUwLCA1MCwgMCwgMCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDAsIDUwLCAKLSAgICAwLCA1MCwgNTAsIDUwLCA1MCwgMCwgMCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgMCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgMCwgNTAsIDUwLCA1MCwgNTAsIDAsIDAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAwLCAwLCAxNywgMTcsIDE3LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCAxMTksIDEyMCwgMTIxLCAxMjIsIDEyMywgMTI0LCAxMjUsIDEyNiwgMTI3LCAyNCwgMjQsIDI0LCAyNCwgMjQsIDI0LCAKLSAgICAyNCwgMjQsIDI0LCAyNCwgMjQsIDAsIDAsIDAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgNSwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1LCA1LCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDIsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNSwgNSwgMCwgMCwgMCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNSwgNSwgNSwgMTI4LCAxMjgsIDEyOCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCAxNywgMTcsIDE3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAxNywgMTcsIDE3LCA1LCA1LCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAxNywgMTcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAwLCA1MCwgNTAsIDUwLCAwLCAxNywgMTcsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAxLCAxLCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCA1LCA1LCA1LCA1MCwgNSwgNSwgNSwgNSwgNTAsIDE3LCAwLCAwLCA2LCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAKLSAgICAxMywgMTQsIDE1LCAwLCAwLCAwLCAwLCAwLCAwLCAyNCwgMjQsIDI0LCAyNCwgMjQsIDI0LCAyNCwgMjQsIDI0LCAyNCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMTcsIDE3LCAxNywgMiwgMCwgNiwgNywgCi0gICAgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMCwgMCwgMCwgMCwgMCwgMCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgMTcsIDUwLCAwLCAwLCAwLCAwLCAwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAwLCAwLCAwLCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAwLCAwLCAwLCAwLCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAwLCAwLCAwLCAwLCA1LCAwLCAwLCAwLCA1LCA1LCA2LCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAwLCAwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgMCwgMCwgMCwgMCwgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgMTcsIDE3LCAwLCAwLCAwLCAwLCAwLCAwLCA2LCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAKLSAgICAxMywgMTQsIDE1LCAxMTksIDAsIDAsIDAsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAwLCAwLCA1LCA1LCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAwLCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDAsIDAsIDE3LCA2LCA3LCA4LCA5LCAxMCwgMTEsIAotICAgIDEyLCAxMywgMTQsIDE1LCAwLCAwLCAwLCAwLCAwLCAwLCA2LCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1MCwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMTcsIDE3LCAxNywgMTcsIDE3LCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDAsIDAsIDAsIDAsIDYsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAKLSAgICAxNCwgMTUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIDE3LCAxNywgMTcsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAwLCAwLCAwLCA1MCwgNTAsIDYsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDAsIDAsIDAsIDUsIDUsIDUsIDUsIAotICAgIDUsIDYsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDAsIDAsIDAsIDUwLCA1MCwgNTAsIDYsIDcsIDgsIDksIAotICAgIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUsIDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE3LCAxNywgMTcsIDUsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDUwLCA1MCwgNTAsIDUwLCAxNywgNTAsIDUwLCA1MCwgNTAsIDE3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIAotICAgIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIAotICAgIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIAotICAgIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCA1MCwgMTI5LCAKLSAgICAxOSwgMTksIDE5LCAxMzAsIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgCi0gICAgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAKLSAgICAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAKLSAgICAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAKLSAgICAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAKLSAgICAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAKLSAgICAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAKLSAgICAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAKLSAgICAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAKLSAgICAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAxOSwgMTksIDE5LCAxOSwgMTksIDEzMSwgMTksIDE5LCAxMzIsIAotICAgIDE5LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIAotICAgIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIAotICAgIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIAotICAgIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIAotICAgIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIAotICAgIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAxMzMsIDEzMywgMTMzLCAxMzMsIDEzMywgMTMzLCAxMzMsIDEzMywgMTM0LCAKLSAgICAxMzQsIDEzNCwgMTM0LCAxMzQsIDEzNCwgMTM0LCAxMzQsIDEzMywgMTMzLCAxMzMsIDEzMywgMTMzLCAxMzMsIDAsIDAsIAotICAgIDEzNCwgMTM0LCAxMzQsIDEzNCwgMTM0LCAxMzQsIDAsIDAsIDEzMywgMTMzLCAxMzMsIDEzMywgMTMzLCAxMzMsIDEzMywgCi0gICAgMTMzLCAxMzQsIDEzNCwgMTM0LCAxMzQsIDEzNCwgMTM0LCAxMzQsIDEzNCwgMTMzLCAxMzMsIDEzMywgMTMzLCAxMzMsIAotICAgIDEzMywgMTMzLCAxMzMsIDEzNCwgMTM0LCAxMzQsIDEzNCwgMTM0LCAxMzQsIDEzNCwgMTM0LCAxMzMsIDEzMywgMTMzLCAKLSAgICAxMzMsIDEzMywgMTMzLCAwLCAwLCAxMzQsIDEzNCwgMTM0LCAxMzQsIDEzNCwgMTM0LCAwLCAwLCAxOSwgMTMzLCAxOSwgCi0gICAgMTMzLCAxOSwgMTMzLCAxOSwgMTMzLCAwLCAxMzQsIDAsIDEzNCwgMCwgMTM0LCAwLCAxMzQsIDEzMywgMTMzLCAxMzMsIAotICAgIDEzMywgMTMzLCAxMzMsIDEzMywgMTMzLCAxMzQsIDEzNCwgMTM0LCAxMzQsIDEzNCwgMTM0LCAxMzQsIDEzNCwgMTM1LCAKLSAgICAxMzUsIDEzNiwgMTM2LCAxMzYsIDEzNiwgMTM3LCAxMzcsIDEzOCwgMTM4LCAxMzksIDEzOSwgMTQwLCAxNDAsIDAsIDAsIAotICAgIDEzMywgMTMzLCAxMzMsIDEzMywgMTMzLCAxMzMsIDEzMywgMTMzLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAKLSAgICAxNDEsIDE0MSwgMTMzLCAxMzMsIDEzMywgMTMzLCAxMzMsIDEzMywgMTMzLCAxMzMsIDE0MSwgMTQxLCAxNDEsIDE0MSwgCi0gICAgMTQxLCAxNDEsIDE0MSwgMTQxLCAxMzMsIDEzMywgMTMzLCAxMzMsIDEzMywgMTMzLCAxMzMsIDEzMywgMTQxLCAxNDEsIAotICAgIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDEzMywgMTMzLCAxOSwgMTQyLCAxOSwgMCwgMTksIDE5LCAxMzQsIDEzNCwgCi0gICAgMTQzLCAxNDMsIDE0NCwgNSwgMTQ1LCA1LCA1LCA1LCAxOSwgMTQyLCAxOSwgMCwgMTksIDE5LCAxNDYsIDE0NiwgMTQ2LCAKLSAgICAxNDYsIDE0NCwgNSwgNSwgNSwgMTMzLCAxMzMsIDE5LCAxOSwgMCwgMCwgMTksIDE5LCAxMzQsIDEzNCwgMTQ3LCAxNDcsIDAsIAotICAgIDUsIDUsIDUsIDEzMywgMTMzLCAxOSwgMTksIDE5LCAxMDgsIDE5LCAxOSwgMTM0LCAxMzQsIDE0OCwgMTQ4LCAxMTEsIDUsIAotICAgIDUsIDUsIDAsIDAsIDE5LCAxNDIsIDE5LCAwLCAxOSwgMTksIDE0OSwgMTQ5LCAxNTAsIDE1MCwgMTQ0LCA1LCA1LCAwLCAyLCAKLSAgICAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAyLCAxLCAxLCAxLCAxLCAxLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAzLCAzLCAxLCAxLCAxLCAxLCAxLCAyLCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAxNywgMTcsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDE3LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAyLCAxLCAKLSAgICAxLCAxLCAxLCAxLCAwLCAwLCAwLCAwLCAwLCAxLCAxLCAxLCAxLCAxLCAxLCAxNTEsIDUwLCAwLCAwLCAxNTIsIDE1MywgCi0gICAgMTU0LCAxNTUsIDE1NiwgMTU3LCA1LCA1LCA1LCA1LCA1LCA1MCwgMTUxLCAyMywgMjAsIDIxLCAxNTIsIDE1MywgMTU0LCAKLSAgICAxNTUsIDE1NiwgMTU3LCA1LCA1LCA1LCA1LCA1LCAwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDUsIDUsIDUsIDUsIDE3LCA1LCA1LCA1LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1LCA1LCAxMDIsIDUsIDUsIDUsIDUsIDEwMiwgCi0gICAgNSwgNSwgMTksIDEwMiwgMTAyLCAxMDIsIDE5LCAxOSwgMTAyLCAxMDIsIDEwMiwgMTksIDUsIDEwMiwgNSwgNSwgMTU4LCAKLSAgICAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgNSwgNSwgNSwgNSwgNSwgNSwgMTAyLCA1LCAxNTksIDUsIDEwMiwgNSwgMTYwLCAKLSAgICAxNjEsIDEwMiwgMTAyLCAxNTgsIDE5LCAxMDIsIDEwMiwgMTYyLCAxMDIsIDE5LCA1MCwgNTAsIDUwLCA1MCwgMTksIDUsIDUsIAotICAgIDE5LCAxOSwgMTAyLCAxMDIsIDUsIDUsIDUsIDUsIDUsIDEwMiwgMTksIDE5LCAxOSwgMTksIDUsIDUsIDUsIDUsIDE2MywgNSwgCi0gICAgMjQsIDI0LCAyNCwgMjQsIDI0LCAyNCwgMjQsIDI0LCAyNCwgMjQsIDI0LCAyNCwgMjQsIDI0LCAyNCwgMjQsIDE2NCwgMTY0LCAKLSAgICAxNjQsIDE2NCwgMTY0LCAxNjQsIDE2NCwgMTY0LCAxNjQsIDE2NCwgMTY0LCAxNjQsIDE2NCwgMTY0LCAxNjQsIDE2NCwgCi0gICAgMTY1LCAxNjUsIDE2NSwgMTY1LCAxNjUsIDE2NSwgMTY1LCAxNjUsIDE2NSwgMTY1LCAxNjUsIDE2NSwgMTY1LCAxNjUsIAotICAgIDE2NSwgMTY1LCAxMjgsIDEyOCwgMTI4LCAyNiwgMjcsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMjQsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAKKyAgICAyNSwgMjUsIDI1LCA2LCA2LCA2LCA2LCAyNSwgNiwgNiwgNiwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCisgICAgMjUsIDI1LCAyNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNSwgNSwgMTEzLCA1LCA1LCAKKyAgICA1LCA1LCAxMTMsIDUsIDUsIDIwLCAxMTMsIDExMywgMTEzLCAyMCwgMjAsIDExMywgMTEzLCAxMTMsIDIwLCA1LCAxMTMsIDUsIAorICAgIDUsIDI1MiwgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDUsIDUsIDUsIDUsIDUsIDUsIDExMywgNSwgMjUzLCA1LCAxMTMsIAorICAgIDUsIDI1NCwgMjU1LCAxMTMsIDExMywgMjUyLCAyMCwgMTEzLCAxMTMsIDI1NiwgMTEzLCAyMCwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDIwLCA1LCA1LCAyMCwgMjAsIDExMywgMTEzLCA1LCA1LCA1LCA1LCA1LCAxMTMsIDIwLCAyMCwgMjAsIDIwLCA1LCA1LCA1LCAKKyAgICA1LCAyNTcsIDUsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIAorICAgIDI3LCAyNTgsIDI1OCwgMjU4LCAyNTgsIDI1OCwgMjU4LCAyNTgsIDI1OCwgMjU4LCAyNTgsIDI1OCwgMjU4LCAyNTgsIDI1OCwgCisgICAgMjU4LCAyNTgsIDI1OSwgMjU5LCAyNTksIDI1OSwgMjU5LCAyNTksIDI1OSwgMjU5LCAyNTksIDI1OSwgMjU5LCAyNTksIAorICAgIDI1OSwgMjU5LCAyNTksIDI1OSwgMTQxLCAxNDEsIDE0MSwgMzAsIDMxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDI3LCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKICAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKICAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKICAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKQEAgLTExMzUsNjMyICsxOTQ1LDY4NCBAQAogICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAogICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAogICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAogICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDIzLCAyMCwgMjEsIDE1MiwgMTUzLCAxNTQsIDE1NSwgMTU2LCAxNTcsIDI0LCAKLSAgICAyNCwgMjQsIDI0LCAyNCwgMjQsIDI0LCAyNCwgMjQsIDI0LCAyNCwgMjMsIDIwLCAyMSwgMTUyLCAxNTMsIDE1NCwgMTU1LCAKLSAgICAxNTYsIDE1NywgMjQsIDI0LCAyNCwgMjQsIDI0LCAyNCwgMjQsIDI0LCAyNCwgMjQsIDI0LCAyMywgMjAsIDIxLCAxNTIsIAotICAgIDE1MywgMTU0LCAxNTUsIDE1NiwgMTU3LCAyNCwgMjQsIDI0LCAyNCwgMjQsIDI0LCAyNCwgMjQsIDI0LCAyNCwgMjQsIDUsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAogICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDE2NiwgMTY2LCAxNjYsIDE2NiwgMTY2LCAxNjYsIDE2NiwgMTY2LCAxNjYsIDE2NiwgMTY2LCAxNjYsIDE2NiwgMTY2LCAKLSAgICAxNjYsIDE2NiwgMTY2LCAxNjYsIDE2NiwgMTY2LCAxNjYsIDE2NiwgMTY2LCAxNjYsIDE2NiwgMTY2LCAxNjcsIDE2NywgCi0gICAgMTY3LCAxNjcsIDE2NywgMTY3LCAxNjcsIDE2NywgMTY3LCAxNjcsIDE2NywgMTY3LCAxNjcsIDE2NywgMTY3LCAxNjcsIAotICAgIDE2NywgMTY3LCAxNjcsIDE2NywgMTY3LCAxNjcsIDE2NywgMTY3LCAxNjcsIDE2NywgMTUxLCAyNCwgMjQsIDI0LCAyNCwgCi0gICAgMjQsIDI0LCAyNCwgMjQsIDI0LCAyNCwgMjMsIDIwLCAyMSwgMTUyLCAxNTMsIDE1NCwgMTU1LCAxNTYsIDE1NywgMjQsIAotICAgIDE1MSwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjYsIDIyLCAyMywgMjQ2LCAyNDcsIDI0OCwgMjQ5LCAyNTAsIAorICAgIDI1MSwgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNiwgMjIsIDIzLCAyNDYsIDI0NywgCisgICAgMjQ4LCAyNDksIDI1MCwgMjUxLCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI2LCAyMiwgCisgICAgMjMsIDI0NiwgMjQ3LCAyNDgsIDI0OSwgMjUwLCAyNTEsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAKKyAgICAyNywgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgMjYwLCAyNjAsIDI2MCwgMjYwLCAyNjAsIDI2MCwgMjYwLCAyNjAsIDI2MCwgMjYwLCAyNjAsIDI2MCwgMjYwLCAKKyAgICAyNjAsIDI2MCwgMjYwLCAyNjAsIDI2MCwgMjYwLCAyNjAsIDI2MCwgMjYwLCAyNjAsIDI2MCwgMjYwLCAyNjAsIDI2MSwgCisgICAgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIAorICAgIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNjEsIDI2MSwgMjYxLCAyNDUsIDI3LCAyNywgMjcsIAorICAgIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNiwgMjIsIDIzLCAyNDYsIDI0NywgMjQ4LCAyNDksIDI1MCwgMjUxLCAyNywgCisgICAgMjQ1LCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKICAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKICAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKICAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAyMywgCi0gICAgMjAsIDIxLCAxNTIsIDE1MywgMTU0LCAxNTUsIDE1NiwgMTU3LCAyNCwgMjMsIDIwLCAyMSwgMTUyLCAxNTMsIDE1NCwgMTU1LCAKLSAgICAxNTYsIDE1NywgMjQsIDIzLCAyMCwgMjEsIDE1MiwgMTUzLCAxNTQsIDE1NSwgMTU2LCAxNTcsIDI0LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAyNiwgCisgICAgMjIsIDIzLCAyNDYsIDI0NywgMjQ4LCAyNDksIDI1MCwgMjUxLCAyNywgMjYsIDIyLCAyMywgMjQ2LCAyNDcsIDI0OCwgMjQ5LCAKKyAgICAyNTAsIDI1MSwgMjcsIDI2LCAyMiwgMjMsIDI0NiwgMjQ3LCAyNDgsIDI0OSwgMjUwLCAyNTEsIDI3LCA1LCA1LCA1LCA1LCAKICAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKICAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCAwLCA1LCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKICAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKICAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKICAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKICAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKICAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKICAgICA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxMTUsIDExNSwgMTE1LCAxMTUsIDExNSwgCi0gICAgMTE1LCAxMTUsIDExNSwgMTE1LCAxMTUsIDExNSwgMTE1LCAxMTUsIDExNSwgMTE1LCAxMTUsIDExNSwgMTE1LCAxMTUsIAotICAgIDExNSwgMTE1LCAxMTUsIDExNSwgMTE1LCAxMTUsIDExNSwgMTE1LCAxMTUsIDExNSwgMTE1LCAxMTUsIDExNSwgMTE1LCAKLSAgICAxMTUsIDExNSwgMTE1LCAxMTUsIDExNSwgMTE1LCAxMTUsIDExNSwgMTE1LCAxMTUsIDExNSwgMTE1LCAxMTUsIDExNSwgMCwgCi0gICAgMTE2LCAxMTYsIDExNiwgMTE2LCAxMTYsIDExNiwgMTE2LCAxMTYsIDExNiwgMTE2LCAxMTYsIDExNiwgMTE2LCAxMTYsIAotICAgIDExNiwgMTE2LCAxMTYsIDExNiwgMTE2LCAxMTYsIDExNiwgMTE2LCAxMTYsIDExNiwgMTE2LCAxMTYsIDExNiwgMTE2LCAKLSAgICAxMTYsIDExNiwgMTE2LCAxMTYsIDExNiwgMTE2LCAxMTYsIDExNiwgMTE2LCAxMTYsIDExNiwgMTE2LCAxMTYsIDExNiwgCi0gICAgMTE2LCAxMTYsIDExNiwgMTE2LCAxMTYsIDAsIDI2LCAyNywgMTY4LCAxNjksIDE3MCwgMTcxLCAxNzIsIDI2LCAyNywgMjYsIAotICAgIDI3LCAyNiwgMjcsIDE3MywgMTc0LCAxNzUsIDE3NiwgMTksIDI2LCAyNywgMTksIDI2LCAyNywgMTksIDE5LCAxOSwgMTksIAotICAgIDE5LCAxOSwgNTAsIDE3NywgMTc3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgCi0gICAgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgCi0gICAgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgCi0gICAgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgCi0gICAgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgCi0gICAgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMTksIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDI2LCAyNywgMjYsIDI3LCAxNywgMTcsIDE3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1LCA1LCA1LCA1LCAyNCwgCi0gICAgNSwgNSwgMTc4LCAxNzgsIDE3OCwgMTc4LCAxNzgsIDE3OCwgMTc4LCAxNzgsIDE3OCwgMTc4LCAxNzgsIDE3OCwgMTc4LCAKLSAgICAxNzgsIDE3OCwgMTc4LCAxNzgsIDE3OCwgMTc4LCAxNzgsIDE3OCwgMTc4LCAxNzgsIDE3OCwgMTc4LCAxNzgsIDE3OCwgCi0gICAgMTc4LCAxNzgsIDE3OCwgMTc4LCAxNzgsIDE3OCwgMTc4LCAxNzgsIDE3OCwgMTc4LCAxNzgsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUwLCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAxNywgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgMCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCAwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgMCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgMCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDAsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgODksIDUsIDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDAsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDAsIDAsIAotICAgIDAsIDAsIDIsIDUsIDUsIDUsIDUsIDUwLCA1MCwgMTI4LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIAotICAgIDEyOCwgMTI4LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCA1LCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUsIDUsIDEyOCwgMTI4LCAKLSAgICAxMjgsIDUwLCA1MCwgNSwgNSwgNSwgMCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCAwLCAwLCAxNywgMTcsIDUsIDUsIDUwLCA1MCwgNTAsIDUsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUsIDUwLCA1MCwgNTAsIDUwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDAsIDAsIDAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAwLCA1LCA1LCAyNCwgMjQsIDI0LCAyNCwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDAsIDI0LCAyNCwgMjQsIDI0LCAyNCwgMjQsIDI0LCAyNCwgMjQsIDI0LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAyNCwgMjQsIDI0LCAyNCwgMjQsIDI0LCAyNCwgMjQsIDI0LCAyNCwgCi0gICAgMjQsIDI0LCAyNCwgMjQsIDI0LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAyNCwgMjQsIDI0LCAyNCwgMjQsIDI0LCAyNCwgMjQsIAotICAgIDI0LCAyNCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMjQsIDI0LCAyNCwgMjQsIDI0LCAKLSAgICAyNCwgMjQsIDI0LCAyNCwgMjQsIDI0LCAyNCwgMjQsIDI0LCAyNCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgMCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAxNzksIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgMTc5LCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgMTc5LCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAxNzksIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMTc5LCA1MCwgNTAsIDE3OSwgCi0gICAgNTAsIDUwLCA1MCwgMTc5LCA1MCwgMTc5LCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDE3OSwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDE3OSwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDE3OSwgNTAsIDE3OSwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDE3OSwgMTc5LCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCAxNzksIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgMTc5LCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAxNzksIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgMTc5LCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgMTc5LCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDE3OSwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDE3OSwgCi0gICAgNTAsIDE3OSwgNTAsIDE3OSwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAxNzksIDUwLCAxNzksIAotICAgIDE3OSwgMTc5LCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAxNzksIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgMTc5LCAxNzksIDE3OSwgMTc5LCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAxNzksIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgMTc5LCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgMTc5LCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDE3OSwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAxNzksIDE3OSwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgMTc5LCAxNzksIDE3OSwgNTAsIDE3OSwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgMTc5LCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDE3OSwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDE3OSwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgMTc5LCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDE3OSwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCAxNzksIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDE3OSwgNTAsIDUwLCA1MCwgNTAsIDE3OSwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDE3OSwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDE3OSwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgMTc5LCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDE3OSwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDE3OSwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAxNzksIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIAorICAgIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAKKyAgICAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDEyNywgCisgICAgMTI3LCAxMjcsIDEyNywgMTI3LCAxMjcsIDAsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIAorICAgIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAKKyAgICAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgCisgICAgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAwLCAzMCwgMzEsIDI2MiwgMjYzLCAKKyAgICAyNjQsIDI2NSwgMjY2LCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAyNjcsIDI2OCwgMjY5LCAyNzAsIDIwLCAzMCwgMzEsIAorICAgIDIwLCAzMCwgMzEsIDIwLCAyMCwgMjAsIDIwLCAyMCwgOTUsIDk1LCAyNzEsIDI3MSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgCisgICAgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgCisgICAgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgCisgICAgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgCisgICAgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgCisgICAgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgCisgICAgMzAsIDMxLCAzMCwgMzEsIDIwLCA1LCA1LCA1LCA1LCA1LCA1LCAzMCwgMzEsIDMwLCAzMSwgMjUsIDI1LCAyNSwgMzAsIDMxLCAKKyAgICAwLCAwLCAwLCAwLCAwLCA1LCA1LCA1LCA1LCAyNywgNSwgNSwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAKKyAgICAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgCisgICAgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIDI3MiwgMjcyLCAyNzIsIAorICAgIDI3MiwgMjcyLCAyNzIsIDAsIDI3MiwgMCwgMCwgMCwgMCwgMCwgMjcyLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDk2LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDI1LCAyNSwgMjUsIDI1LCAKKyAgICAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAKKyAgICAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMjczLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKICAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKICAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNSwgNSwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUsIDUsIDUsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA2LCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAKLSAgICA1MCwgNTAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI2LCAKLSAgICAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAKLSAgICAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAKLSAgICAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCA1MCwgMTcsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDE3LCAxNywgNSwgNTAsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAKLSAgICAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAxMjgsIDEyOCwgCi0gICAgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDE3LCAxNywgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNSwgNSwgMjYsIDI3LCAyNiwgMjcsIAotICAgIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAxOSwgMTksIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIAotICAgIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIAotICAgIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIAotICAgIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIAotICAgIDI2LCAyNywgNTAsIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMjYsIDI3LCAyNiwgMjcsIDE4MCwgMjYsIDI3LCAKLSAgICAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAyNiwgMjcsIDUwLCA1LCA1LCAyNiwgMjcsIDE4MSwgMTksIDAsIDI2LCAyNywgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjYsIDI3LCAyNiwgMjcsIDI2LCAyNywgMjYsIDI3LCAKLSAgICAyNiwgMjcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE5LCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgMTcsIDUwLCA1MCwgCi0gICAgNTAsIDE3LCA1MCwgNTAsIDUwLCA1MCwgMTcsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgMTcsIDE3LCAxNywgMTcsIDE3LCA1LCA1LCAKLSAgICA1LCA1LCAwLCAwLCAwLCAwLCAyNCwgMjQsIDI0LCAyNCwgMjQsIDI0LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNSwgNSwgNSwgCi0gICAgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTcsIDE3LCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNSwgNSwgNiwgNywgOCwgOSwgMTAsIDExLCAxMiwgCi0gICAgMTMsIDE0LCAxNSwgMCwgMCwgMCwgMCwgMCwgMCwgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNSwgNSwgNSwgNTAsIDAsIDAsIDAsIAotICAgIDAsIDYsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDUsIDUsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgMTcsIDE3LCAKLSAgICAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDUsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgMCwgMCwgMCwgMTcsIDE3LCAxNywgMTcsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCA1MCwgCi0gICAgNiwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMCwgMCwgMCwgMCwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICAxNywgMTcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUwLCA1MCwgNTAsIDE3LCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDE3LCAxNywgMCwgMCwgNiwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMCwgMCwgNSwgNSwgCi0gICAgNSwgNSwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1LCA1LCA1LCA1MCwgMTcsIDAsIDAsIDAsIDAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDE3LCA1MCwgMTcsIDE3LCAxNywgNTAsIDUwLCAxNywgMTcsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgMTcsIDE3LCA1MCwgMTcsIDUwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1MCwgNTAsIDUwLCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAwLCAwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAwLCAwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgMCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCA1LCAxNywgMTcsIDAsIDAsIAotICAgIDYsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDAsIDAsIDAsIDAsIDAsIDAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgMCwgMCwgMCwgMCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDAsIDAsIDAsIDAsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIAotICAgIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIAotICAgIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIAotICAgIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIAotICAgIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIAotICAgIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgMTc5LCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgMTc5LCA1MCwgNTAsIDUwLCA1MCwgMTc5LCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAxNzksIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDE3OSwgNTAsIDE3OSwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAxNzksIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDAsIDAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgMCwgMCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIAotICAgIDE5LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxOSwgMTksIDE5LCAxOSwgMTksIDAsIDAsIDAsIDAsIAotICAgIDAsIDUwLCAxNywgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDAsIDUwLCAwLCA1MCwgNTAsIAotICAgIDAsIDUwLCA1MCwgMCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDg5LCA4OSwgODksIDg5LCA4OSwgODksIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUsIDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAwLCAwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgODksIDg5LCA1LCA1LCAwLCAwLCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUsIDUsIDUsIDE3LCAxNywgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMTcsIDE3LCAKLSAgICAxNywgNSwgNSwgNSwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgMCwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgODksIDUwLCA4OSwgNTAsIDg5LCAwLCA4OSwgNTAsIDg5LCA1MCwgODksIDUwLCAKLSAgICA4OSwgNTAsIDg5LCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCAwLCAwLCAxLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA2LCAKLSAgICA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAxNiwgMTYsIDE2LCAxNiwgMTYsIAotICAgIDE2LCAxNiwgMTYsIDE2LCAxNiwgMTYsIDE2LCAxNiwgMTYsIDE2LCAxNiwgMTYsIDE2LCAxNiwgMTYsIDE2LCAxNiwgMTYsIAotICAgIDE2LCAxNiwgMTYsIDUsIDUsIDUsIDUsIDE3LCA1LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgCi0gICAgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgMTE3LCAxMTcsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCAwLCAwLCAwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAwLCAwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCAwLCAwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAwLCAwLCA1MCwgNTAsIDUwLCAwLCAwLCAwLCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAxLCAxLCAxLCA1LCA1LCAwLCAwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAwLCA1MCwgNTAsIDAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDAsIDAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgMCwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgMCwgMCwgCi0gICAgMCwgMCwgMjQsIDI0LCAyNCwgMjQsIDI0LCAyNCwgMjQsIDI0LCAyNCwgMjQsIDI0LCAyNCwgMjQsIDI0LCAyNCwgMjQsIDI0LCAKLSAgICAyNCwgMjQsIDI0LCAyNCwgMjQsIDI0LCAyNCwgMjQsIDI0LCAyNCwgMjQsIDI0LCAyNCwgMjQsIDI0LCAyNCwgMjQsIDI0LCAKLSAgICAyNCwgMjQsIDI0LCAyNCwgMjQsIDI0LCAyNCwgMjQsIDI0LCAyNCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIAotICAgIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAKLSAgICAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgCi0gICAgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDI0LCAyNCwgMjQsIDI0LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAyNCwgMCwgMCwgMCwgMCwgMCwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMiwgNSwgNSwgNSwgNSwgOTYsIDU1LCAxNDEsIDUsIDUsIAorICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDE0MSwgCisgICAgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDI1LCAyNSwgMjUsIDI1LCAxOCwgMTgsIDUsIDk2LCAKKyAgICA5NiwgOTYsIDk2LCA5NiwgNSwgNSwgMTQxLCAxNDEsIDE0MSwgOTYsIDU1LCA1LCA1LCA1LCAwLCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDI1LCAyNSwgNiwgNiwgOTYsIDk2LCA1NSwgCisgICAgNSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNSwgOTYsIDk2LCA5NiwgNTUsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDAsIDUsIDUsIDI3LCAyNywgMjcsIDI3LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKICAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAxNywgMCwgMCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCAwLCAwLCAwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAorICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDAsIDI3LCAyNywgMjcsIDI3LCAyNywgCisgICAgMjcsIDI3LCAyNywgMjcsIDI3LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDUsIAorICAgIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDUsIDUsIDUsIDUsIAorICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAorICAgIDUsIDUsIDUsIDUsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAKKyAgICAyNywgMjcsIDI3LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDI3NCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCAyNzQsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNzQsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI3NCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAyNzQsIDU1LCA1NSwgMjc0LCA1NSwgNTUsIDU1LCAyNzQsIDU1LCAyNzQsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjc0LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgMjc0LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjc0LCA1NSwgMjc0LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgMjc0LCAyNzQsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI3NCwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNzQsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI3NCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNzQsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICAyNzQsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjc0LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjc0LCA1NSwgMjc0LCA1NSwgMjc0LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI3NCwgNTUsIDI3NCwgMjc0LCAyNzQsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDI3NCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNzQsIDI3NCwgMjc0LCAyNzQsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI3NCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNzQsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCAyNzQsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjc0LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI3NCwgMjc0LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNzQsIDI3NCwgMjc0LCA1NSwgMjc0LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNzQsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgMjc0LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjc0LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNzQsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjc0LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI3NCwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgMjc0LCA1NSwgNTUsIDU1LCA1NSwgMjc0LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjc0LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjc0LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNzQsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgMjc0LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjc0LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI3NCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgMCwgMjQsIDI0LCAyNCwgMjQsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgMTI4LCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDEyOCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgOTYsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDk2LCA5NiwgOTYsIDk2LCA5NiwgOTYsIDUsIDUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDk2LCA1LCA1LCA1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDU1LCA1NSwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMzAsIDMxLCAzMCwgMzEsIAorICAgIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIAorICAgIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIAorICAgIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDU1LCAyNSwgNiwgNiwgNiwgNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIAorICAgIDI1LCAyNSwgMjUsIDUsIDk2LCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgCisgICAgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDE0MSwgMTQxLCAKKyAgICAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMjUsIDI1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCAKKyAgICA2LCA2LCA2LCA2LCA2LCA5NiwgOTYsIDk2LCA5NiwgOTYsIDk2LCA5NiwgOTYsIDk2LCA2LCA2LCAzMCwgMzEsIDMwLCAzMSwgCisgICAgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDIwLCAyMCwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgCisgICAgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgCisgICAgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgCisgICAgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgCisgICAgMzAsIDMxLCA5NSwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAzMCwgMzEsIDMwLCAzMSwgMjc1LCAzMCwgMzEsIAorICAgIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgOTYsIDYsIDYsIDMwLCAzMSwgMjc2LCAyMCwgMCwgMzAsIDMxLCAzMCwgCisgICAgMzEsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDMwLCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMwLCAzMSwgCisgICAgMzAsIDMxLCAyNzcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDAsIDUsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDAsIDAsIDAsIAotICAgIDAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNSwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDk1LCA5NSwgMjAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNSwgCisgICAgNTUsIDU1LCA1NSwgMjUsIDU1LCA1NSwgNTUsIDU1LCAyNSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAxOCwgMTgsIDI1LCAyNSwgCisgICAgMTgsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIDAsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxOCwgMTgsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAKKyAgICAxOCwgMTgsIDE4LCAxOCwgMTgsIDI1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1LCA1LCA3LCA4LCA5LCAxMCwgMTEsIAorICAgIDEyLCAxMywgMTQsIDE1LCAxNiwgMCwgMCwgMCwgMCwgMCwgMCwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCisgICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNSwgNSwgNSwgNTUsIAorICAgIDAsIDAsIDAsIDAsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCA1LCA1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMTgsIDE4LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCA1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDI1LCAKKyAgICAyNSwgMjUsIDE4LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI1LCAxOCwgMTgsIDI1LCAKKyAgICAyNSwgMjUsIDI1LCAxOCwgMTgsIDI1LCAxOCwgMTgsIDE4LCAxOCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgMCwgOTYsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCAwLCAwLCAwLCAwLCA1LCA1LCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxODIsIDE4MiwgMTgyLCAxODIsIDE4MiwgCi0gICAgMTgyLCAxODIsIDE4MiwgMTgyLCAxODIsIDE4MiwgMTgyLCAxODIsIDE4MiwgMTgyLCAxODIsIDE4MiwgMTgyLCAxODIsIAotICAgIDE4MiwgMTgyLCAxODIsIDE4MiwgMTgyLCAxODIsIDE4MiwgMTgyLCAxODIsIDE4MiwgMTgyLCAxODIsIDE4MiwgMTgyLCAKLSAgICAxODIsIDE4MiwgMTgyLCAxODIsIDE4MiwgMTgyLCAxODIsIDE4MywgMTgzLCAxODMsIDE4MywgMTgzLCAxODMsIDE4MywgCi0gICAgMTgzLCAxODMsIDE4MywgMTgzLCAxODMsIDE4MywgMTgzLCAxODMsIDE4MywgMTgzLCAxODMsIDE4MywgMTgzLCAxODMsIAotICAgIDE4MywgMTgzLCAxODMsIDE4MywgMTgzLCAxODMsIDE4MywgMTgzLCAxODMsIDE4MywgMTgzLCAxODMsIDE4MywgMTgzLCAKLSAgICAxODMsIDE4MywgMTgzLCAxODMsIDE4MywgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgMCwgMCwgNiwgNywgOCwgOSwgMTAsIDExLCAKLSAgICAxMiwgMTMsIDE0LCAxNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgMCwgMCwgNTAsIDAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgMCwgNTAsIDUwLCAwLCAwLCAwLCAKLSAgICA1MCwgMCwgMCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAwLCA1LCAyNCwgMjQsIDI0LCAyNCwgMjQsIDI0LCAyNCwgMjQsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAyNCwgMjQsIDI0LCAyNCwgMjQsIDI0LCAwLCAwLCAwLCA1LCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDAsIDAsIDAsIDAsIDAsIDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUwLCAxNywgMTcsIDE3LCAwLCAxNywgMTcsIDAsIDAsIDAsIDAsIDAsIDE3LCAxNywgCi0gICAgMTcsIDE3LCA1MCwgNTAsIDUwLCA1MCwgMCwgNTAsIDUwLCA1MCwgMCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgMCwgMCwgMCwgMCwgMTcsIDE3LCAxNywgMCwgMCwgMCwgMCwgMTcsIDIzLCAyMCwgMjEsIDE1MiwgMjQsIDI0LCAyNCwgCi0gICAgMjQsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgMjQsIDI0LCA1LCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAwLCAwLCAwLCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgMCwgMCwgMjQsIDI0LCAyNCwgMjQsIDI0LCAyNCwgMjQsIDI0LCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMjQsIDI0LCAyNCwgMjQsIDI0LCAyNCwgMjQsIDI0LCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAxOCwgMTgsIDI1LCAKKyAgICAyNSwgMTgsIDE4LCAyNSwgMjUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDI1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI1LCAxOCwgMCwgMCwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgCisgICAgMTYsIDAsIDAsIDUsIDUsIDUsIDUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA5NiwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNSwgNSwgNSwgNTUsIDE4LCAwLCAwLCAwLCAwLCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNSwgNTUsIDI1LCAyNSwgMjUsIDU1LCA1NSwgCisgICAgMjUsIDI1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI1LCAyNSwgNTUsIDI1LCA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA5NiwgNSwgNSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAxOCwgMjUsIDI1LCAxOCwgMTgsIDUsIDUsIDU1LCA5NiwgOTYsIAorICAgIDE4LCAyNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDE4LCAxOCwgMjUsIAorICAgIDE4LCAxOCwgMjUsIDE4LCAxOCwgNSwgMTgsIDI1LCAwLCAwLCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgCisgICAgMCwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgCisgICAgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgCisgICAgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgCisgICAgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgCisgICAgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgCisgICAgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNzQsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNzQsIDU1LCA1NSwgNTUsIAorICAgIDU1LCAyNzQsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDI3NCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgMjc0LCA1NSwgMjc0LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI3NCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAyMywgMjAsIDIxLCAxNTIsIDE1MywgMTU0LCAxNTUsIDE1NiwgMTU3LCAyNCwgMjQsIDI0LCAyNCwgMjQsIDI0LCAyNCwgMjQsIAotICAgIDI0LCAyNCwgMjQsIDI0LCAyNCwgMjQsIDI0LCAyNCwgMjQsIDI0LCAyNCwgMjQsIDI0LCAyNCwgMCwgMTcsIDE3LCAxNywgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCAwLCAwLCAwLCAwLCAyMywgMjAsIDIxLCAxNTIsIDE1MywgMTU0LCAxNTUsIDE1NiwgMTU3LCAyNCwgMjQsIDI0LCAyNCwgCi0gICAgMjQsIDI0LCAyNCwgMjQsIDI0LCAyNCwgMjQsIDYsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE3LCAxNywgMTcsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgNSwgNSwgMSwgNSwgCi0gICAgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMjc4LCAyNzksIDI4MCwgMjgxLCAyODIsIDI4MywgMjg0LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAyODUsIDI4NiwgMjg3LCAyODgsIDI4OSwgMCwgMCwgMCwgMCwgMCwgNTUsIDI1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDAsIDU1LCA1NSwgMCwgNTUsIDU1LCAwLCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCA2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgMjkwLCAyOTAsIDI5MCwgMjkwLCAyOTAsIDI5MCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIAotICAgIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAKLSAgICAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgCi0gICAgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIAotICAgIDEyOCwgMTI4LCAxNTgsIDE1OCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAKLSAgICAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgCi0gICAgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxNTgsIDE1OCwgMTI4LCAxMjgsIAotICAgIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDEyOCwgMTI4LCAxMjgsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDI5MCwgMjkwLCA1LCA1LCAwLCAwLCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAKKyAgICAyNSwgMjUsIDI1LCAyNSwgNSwgNSwgNSwgNiwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMjUsIDI1LCAKKyAgICAyNSwgMjUsIDI1LCAyNSwgMjUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUsIDUsIDUsIDE4LCAxOCwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMTgsIDE4LCAKKyAgICAxOCwgNSwgNSwgNiwgMCwgNSwgNiwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgMCwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMjkwLCA1NSwgMjkwLCA1NSwgMjkwLCAwLCAyOTAsIDU1LCAyOTAsIDU1LCAKKyAgICAyOTAsIDU1LCAyOTAsIDU1LCAyOTAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDIxLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA2LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA2LCA1LCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgNiwgNSwgNSwgNSwgNSwgNSwgNSwgMTcsIAorICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAorICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCA1LCA1LCA1LCA2LCAxOCwgNiwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgCisgICAgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgCisgICAgMTksIDE5LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgOTYsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI5MSwgMjkxLCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgCisgICAgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgNTUsIDU1LCAKKyAgICA1NSwgMCwgMCwgMCwgNSwgNSwgNSwgNiwgNSwgNSwgNSwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMjEsIDIxLCAyMSwgNSwgNSwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCAwLCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIAorICAgIDAsIDAsIDUsIDUsIDUsIDAsIDAsIDAsIDAsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgCisgICAgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgCisgICAgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDAsIDAsIDAsIAorICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIAorICAgIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAKKyAgICAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgCisgICAgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIAorICAgIDE0MSwgMTQxLCAyNywgMjcsIDI3LCAyNywgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgMjcsIDAsIDAsIDAsIDAsIDAsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUsIAorICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAorICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDI1LCAwLCAwLCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgMCwgMjcsIDI3LCAyNywgMjcsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMTQxLCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDE0MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgMCwgNSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1LCAxNDEsIAorICAgIDE0MSwgMTQxLCAxNDEsIDE0MSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMjkyLCAyOTIsIDI5MiwgMjkyLCAyOTIsIDI5MiwgMjkyLCAyOTIsIDI5MiwgMjkyLCAyOTIsIDI5MiwgMjkyLCAyOTIsIAorICAgIDI5MiwgMjkyLCAyOTIsIDI5MiwgMjkyLCAyOTIsIDI5MiwgMjkyLCAyOTIsIDI5MiwgMjkyLCAyOTIsIDI5MiwgMjkyLCAKKyAgICAyOTIsIDI5MiwgMjkyLCAyOTIsIDI5MiwgMjkyLCAyOTIsIDI5MiwgMjkyLCAyOTIsIDI5MiwgMjkyLCAyOTMsIDI5MywgCisgICAgMjkzLCAyOTMsIDI5MywgMjkzLCAyOTMsIDI5MywgMjkzLCAyOTMsIDI5MywgMjkzLCAyOTMsIDI5MywgMjkzLCAyOTMsIAorICAgIDI5MywgMjkzLCAyOTMsIDI5MywgMjkzLCAyOTMsIDI5MywgMjkzLCAyOTMsIDI5MywgMjkzLCAyOTMsIDI5MywgMjkzLCAKKyAgICAyOTMsIDI5MywgMjkzLCAyOTMsIDI5MywgMjkzLCAyOTMsIDI5MywgMjkzLCAyOTMsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDAsIDAsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKICAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCA1NSwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCAwLCA1NSwgNTUsIDAsIDAsIDAsIDU1LCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDUsIDI3LCAyNywgMjcsIAorICAgIDI3LCAyNywgMjcsIDI3LCAyNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI3LCAyNywgMjcsIDI3LCAKKyAgICAyNywgMjcsIDAsIDAsIDAsIDUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgMCwgMCwgNSwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTAsIDUwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCAKKyAgICA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDI1LCAyNSwgMjUsIDAsIDI1LCAKKyAgICAyNSwgMCwgMCwgMCwgMCwgMCwgMjUsIDI1LCAyNSwgMjUsIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgNTUsIDU1LCAwLCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCAwLCAyNSwgMjUsIDI1LCAwLCAwLCAwLCAwLCAyNSwgCisgICAgMjYsIDIyLCAyMywgMjQ2LCAyNywgMjcsIDI3LCAyNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCAyNywgMjcsIDUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAyNywgMjcsIAorICAgIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCAwLCAwLCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgCisgICAgMjcsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNiwgMjIsIDIzLCAyNDYsIDI0NywgMjQ4LCAyNDksIDI1MCwgMjUxLCAyNywgCisgICAgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgCisgICAgMjcsIDI3LCAyNywgMCwgMTgsIDI1LCAxOCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAKKyAgICAyNSwgMjUsIDI1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAyNiwgMjIsIDIzLCAyNDYsIDI0NywgMjQ4LCAKKyAgICAyNDksIDI1MCwgMjUxLCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDcsIDgsIDksIDEwLCAKKyAgICAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAyNSwgMjUsIDE4LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAxOCwgMTgsIDE4LCAyNSwgMjUsIDI1LCAKKyAgICAyNSwgMTgsIDE4LCAyNSwgMjUsIDUsIDUsIDIxLCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNywgOCwgOSwgMTAsIAorICAgIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDAsIDAsIDAsIDAsIDAsIDAsIDI1LCAyNSwgMjUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCisgICAgMTgsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMCwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgCisgICAgMTYsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI1LCAyNSwgMTgsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDE4LCAxOCwgMTgsIDI1LCAyNSwgMjUsIDI1LCAyNSwgCisgICAgMjUsIDI1LCAyNSwgMjUsIDE4LCAxOCwgNTUsIDU1LCA1NSwgNTUsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjUsIDE4LCAyNSwgMTgsIDE4LCAyNSwgMjUsIDI1LCAyNSwgMjUsIAorICAgIDI1LCAxOCwgMjUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIAorICAgIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAKKyAgICAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgCisgICAgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMjUyLCAyNTIsIDE0MSwgMTQxLCAxNDEsIAorICAgIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAKKyAgICAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgCisgICAgMTQxLCAxNDEsIDE0MSwgMjUyLCAyNTIsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIDE0MSwgMTQxLCAxNDEsIAorICAgIDE0MSwgMTQxLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCAxOCwgMTgsIDE4LCAxOCwgMTgsIAorICAgIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIAorICAgIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAxOCwgMTgsIAorICAgIDE4LCAxOCwgMTgsIDE4LCAxOCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjUsIAorICAgIDI1LCAyNSwgMjUsIDk2LCA5NiwgOTYsIDk2LCA5NiwgOTYsIDk2LCA5NiwgOTYsIDk2LCA5NiwgOTYsIDk2LCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgNTUsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIApAQCAtMTc3NSwyNzIgKzI2MzcsMjg2IEBACiAgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCiAgICAgNSwgNSwgNSwgNSwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCiAgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMTcsIDE3LCAxNywgMTcsIDE3LCAKLSAgICA1LCA1LCA1LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxNywgMTcsIDE3LCAxNywgCi0gICAgMTcsIDE3LCAxNywgMTcsIDUsIDUsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAxNywgMTcsIAotICAgIDE3LCAxNywgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMTgsIDE4LCAyNSwgMjUsIDI1LCAKKyAgICA1LCA1LCA1LCAxOCwgMTgsIDE4LCAxOCwgMTgsIDE4LCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDI1LCAyNSwgCisgICAgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgNSwgNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDUsIDUsIDUsIDUsIDUsIAogICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDE3LCAxNywgMTcsIDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDI0LCAyNCwgCi0gICAgMjQsIDI0LCAyNCwgMjQsIDI0LCAyNCwgMjQsIDI0LCAyNCwgMjQsIDI0LCAyNCwgMjQsIDI0LCAyNCwgMjQsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAKLSAgICAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgCi0gICAgMTAyLCAxMDIsIDEwMiwgMTAyLCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgCi0gICAgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDEwMiwgMTAyLCAxMDIsIDEwMiwgCi0gICAgMTAyLCAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAxMDIsIAotICAgIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMCwgCi0gICAgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgCi0gICAgMTAyLCAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAxMDIsIAotICAgIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAxMDIsIDE5LCAxOSwgMTksIAotICAgIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIAotICAgIDE5LCAxOSwgMTksIDE5LCAxOSwgMTAyLCAwLCAxMDIsIDEwMiwgMCwgMCwgMTAyLCAwLCAwLCAxMDIsIDEwMiwgMCwgMCwgCi0gICAgMTAyLCAxMDIsIDEwMiwgMTAyLCAwLCAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTksIDE5LCAKLSAgICAxOSwgMTksIDAsIDE5LCAwLCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMCwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgCi0gICAgMTksIDE5LCAxOSwgMTksIDE5LCAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAxMDIsIAotICAgIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAKLSAgICAxMDIsIDEwMiwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIAotICAgIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxMDIsIDEwMiwgMCwgMTAyLCAxMDIsIDEwMiwgMTAyLCAKLSAgICAwLCAwLCAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgMCwgMTAyLCAxMDIsIDEwMiwgMTAyLCAxMDIsIAotICAgIDEwMiwgMTAyLCAwLCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAKLSAgICAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDEwMiwgMTAyLCAwLCAxMDIsIDEwMiwgMTAyLCAKLSAgICAxMDIsIDAsIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAwLCAxMDIsIDAsIDAsIDAsIDEwMiwgMTAyLCAxMDIsIDEwMiwgCi0gICAgMTAyLCAxMDIsIDEwMiwgMCwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAKLSAgICAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgCi0gICAgMTAyLCAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAxMDIsIAotICAgIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgCi0gICAgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxMDIsIAotICAgIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAKLSAgICAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTksIDE5LCAxOSwgMTksIAotICAgIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIAotICAgIDE5LCAxOSwgMTksIDE5LCAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgCi0gICAgMTAyLCAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAxMDIsIAotICAgIDEwMiwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAKLSAgICAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAxMDIsIAotICAgIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAKLSAgICAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgCi0gICAgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxMDIsIDEwMiwgMTAyLCAKLSAgICAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgCi0gICAgMTAyLCAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIAotICAgIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIAotICAgIDE5LCAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgCi0gICAgMTAyLCAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTksIDE5LCAxOSwgCi0gICAgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgCi0gICAgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDAsIDAsIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAKLSAgICAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgCi0gICAgMTAyLCAxMDIsIDEwMiwgNSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAKLSAgICAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDUsIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIAotICAgIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAKLSAgICAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgNSwgMTksIDE5LCAxOSwgMTksIAotICAgIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIAotICAgIDE5LCAxOSwgMTksIDUsIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgCi0gICAgMTAyLCAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAxMDIsIAotICAgIDEwMiwgMTAyLCAxMDIsIDEwMiwgNSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgCi0gICAgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDUsIDE5LCAxOSwgMTksIDE5LCAKLSAgICAxOSwgMTksIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgCi0gICAgMTAyLCAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgNSwgMTksIDE5LCAKLSAgICAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAKLSAgICAxOSwgMTksIDE5LCAxOSwgMTksIDUsIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAKLSAgICAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgCi0gICAgMTAyLCAxMDIsIDEwMiwgMTAyLCAxMDIsIDEwMiwgNSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIAotICAgIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDE5LCAxOSwgMTksIDUsIDE5LCAxOSwgCi0gICAgMTksIDE5LCAxOSwgMTksIDEwMiwgMTksIDAsIDAsIDYsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDYsIDcsIAotICAgIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDYsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDYsIDcsIAotICAgIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDYsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIDAsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDAsIDAsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDAsIDAsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDAsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDE1MSwgMTUxLCAyMywgMjAsIDIxLCAxNTIsIDE1MywgCi0gICAgMTU0LCAxNTUsIDE1NiwgMTU3LCAwLCAwLCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKLSAgICA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCAyNSwgMjUsIDI1LCAyNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCiAgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCiAgICAgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMjUsIDI1LCAyNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAyNywgMjcsIDI3LCAKKyAgICAyNywgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIAorICAgIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAKKyAgICAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIAorICAgIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMTEzLCAKKyAgICAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgCisgICAgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDIwLCAyMCwgMjAsIDIwLCAKKyAgICAyMCwgMjAsIDIwLCAwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIAorICAgIDIwLCAyMCwgMjAsIDIwLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgCisgICAgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIAorICAgIDExMywgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAKKyAgICAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAxMTMsIDAsIDExMywgMTEzLCAwLCAwLCAxMTMsIDAsIDAsIAorICAgIDExMywgMTEzLCAwLCAwLCAxMTMsIDExMywgMTEzLCAxMTMsIDAsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgCisgICAgMTEzLCAyMCwgMjAsIDIwLCAyMCwgMCwgMjAsIDAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAwLCAyMCwgMjAsIDIwLCAKKyAgICAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAKKyAgICAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgCisgICAgMTEzLCAxMTMsIDExMywgMTEzLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgCisgICAgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDExMywgMTEzLCAwLCAxMTMsIAorICAgIDExMywgMTEzLCAxMTMsIDAsIDAsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAwLCAxMTMsIDExMywgCisgICAgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgCisgICAgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMTEzLCAxMTMsIDAsIAorICAgIDExMywgMTEzLCAxMTMsIDExMywgMCwgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDAsIDExMywgMCwgMCwgMCwgMTEzLCAKKyAgICAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgCisgICAgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDExMywgMTEzLCAKKyAgICAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgCisgICAgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAKKyAgICAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAKKyAgICAyMCwgMjAsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgCisgICAgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAyMCwgMjAsIAorICAgIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIAorICAgIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgCisgICAgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIAorICAgIDExMywgMTEzLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgCisgICAgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIAorICAgIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAKKyAgICAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIAorICAgIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDExMywgMTEzLCAKKyAgICAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgCisgICAgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAKKyAgICAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAKKyAgICAyMCwgMjAsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgCisgICAgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAyMCwgMjAsIAorICAgIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIAorICAgIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMCwgMCwgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAKKyAgICAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgCisgICAgMTEzLCAxMTMsIDExMywgMTEzLCA1LCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAKKyAgICAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgNSwgMjAsIDIwLCAyMCwgMjAsIAorICAgIDIwLCAyMCwgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAKKyAgICAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCA1LCAyMCwgMjAsIAorICAgIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIAorICAgIDIwLCAyMCwgMjAsIDIwLCAyMCwgNSwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIAorICAgIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAKKyAgICAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCA1LCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgCisgICAgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgNSwgMjAsIDIwLCAKKyAgICAyMCwgMjAsIDIwLCAyMCwgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIAorICAgIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCA1LCAKKyAgICAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAKKyAgICAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgNSwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMTEzLCAxMTMsIDExMywgCisgICAgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIAorICAgIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCAxMTMsIDExMywgMTEzLCA1LCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgCisgICAgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgCisgICAgNSwgMjAsIDIwLCAyMCwgMjAsIDIwLCAyMCwgMTEzLCAyMCwgMCwgMCwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAKKyAgICAxNSwgMTYsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIAorICAgIDE1LCAxNiwgNywgOCwgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSwgMTYsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgCisgICAgMTUsIDE2LCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIAorICAgIDU1LCAwLCA1NSwgMCwgMCwgNTUsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgCisgICAgNTUsIDU1LCA1NSwgMCwgNTUsIDAsIDU1LCAwLCAwLCAwLCAwLCAwLCAwLCA1NSwgMCwgMCwgMCwgMCwgNTUsIDAsIDU1LCAwLCAKKyAgICA1NSwgMCwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCAwLCA1NSwgMCwgMCwgNTUsIDAsIDU1LCAwLCA1NSwgMCwgNTUsIDAsIAorICAgIDU1LCAwLCA1NSwgNTUsIDAsIDU1LCAwLCAwLCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDAsIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgNTUsIDU1LCA1NSwgMCwgNTUsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDAsIDAsIDU1LCA1NSwgNTUsIDAsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKICAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAKLSAgICAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1LCA1LCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCAwLCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCAwLCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAwLCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCA1LCAKKyAgICA1LCA1LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyNDUsIDI0NSwgMjYsIDIyLCAyMywgMjQ2LCAyNDcsIDI0OCwgMjQ5LCAKKyAgICAyNTAsIDI1MSwgMCwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCiAgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgNSwgNSwgCisgICAgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgCiAgICAgNSwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCiAgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCiAgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCiAgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgMCwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCiAgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCiAgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgMCwgNSwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCiAgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCiAgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgNSwgNSwgNSwgNSwgCi0gICAgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCi0gICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgCi0gICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgNSwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDI3NCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNzQsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjc0LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI3NCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI3NCwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNzQsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDI3NCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI3NCwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMjc0LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNzQsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNzQsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI3NCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDI3NCwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIAorICAgIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAyNzQsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAorICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCAKKyAgICA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgCisgICAgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDU1LCA1NSwgNTUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAogICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUsIDUsIDUsIDUsIDUsIDAsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDAsIDUsIDUsIDUsIDAsIDUsIDAsIDUsIDAsIDUsIDAsIDUsIAotICAgIDUsIDUsIDAsIDUsIDUsIDUsIDUsIDUsIDUsIDAsIDAsIDUsIDUsIDUsIDUsIDAsIDUsIDAsIDAsIDUsIDUsIDUsIDUsIDAsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDAsIDAsIDAsIDAsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIDUsIAotICAgIDUsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUwLCAxNzksIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgMTc5LCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDE3OSwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAxNzksIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAxNzksIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgMTc5LCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAxNzksIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAxNzksIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDE3OSwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgMTc5LCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgMTc5LCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAxNzksIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAxNzksIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgCi0gICAgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgMTc5LCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIAotICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAKLSAgICA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCA1MCwgNTAsIDUwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAxLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAwLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAKLSAgICAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAKLSAgICAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAKLSAgICAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAKLSAgICAxLCAxLCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIAotICAgIDE3LCAxNywgMTcsIDE3LCAxNywgMTcsIDE3LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAKLSAgICAwLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLCAKKyAgICAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyMSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMjEsIAorICAgIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIAorICAgIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIAorICAgIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIAorICAgIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIAorICAgIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjEsIAorICAgIDIxLCAyMSwgMjEsIDIxLCAyMSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIAorICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIAorICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIAorICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIAorICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIAorICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIAorICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIAorICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIAorICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIAorICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIAorICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIAorICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIAorICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIAorICAgIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMjUsIDI1LCAyNSwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgCisgICAgMCwgMCwgMCwgMCwgMCwgMCwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgCiAgICAgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgCiAgICAgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgCiAgICAgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgCiAgICAgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgCi0gICAgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMCwgMCwgCisgICAgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMCwgMCwgCiB9OwogCiAvKiBSZXR1cm5zIHRoZSBudW1lcmljIHZhbHVlIGFzIGRvdWJsZSBmb3IgVW5pY29kZSBjaGFyYWN0ZXJzCkBAIC0yMTAwLDYgKzI5NzYsMTAgQEAKICAgICBjYXNlIDB4MTAxOEE6CiAgICAgY2FzZSAweDEwNEEwOgogICAgIGNhc2UgMHgxMTA2NjoKKyAgICBjYXNlIDB4MTEwRjA6CisgICAgY2FzZSAweDExMTM2OgorICAgIGNhc2UgMHgxMTFEMDoKKyAgICBjYXNlIDB4MTE2QzA6CiAgICAgY2FzZSAweDFEN0NFOgogICAgIGNhc2UgMHgxRDdEODoKICAgICBjYXNlIDB4MUQ3RTI6CkBAIC0yMTg3LDYgKzMwNjcsMTAgQEAKICAgICBjYXNlIDB4MTBFNjA6CiAgICAgY2FzZSAweDExMDUyOgogICAgIGNhc2UgMHgxMTA2NzoKKyAgICBjYXNlIDB4MTEwRjE6CisgICAgY2FzZSAweDExMTM3OgorICAgIGNhc2UgMHgxMTFEMToKKyAgICBjYXNlIDB4MTE2QzE6CiAgICAgY2FzZSAweDEyNDE1OgogICAgIGNhc2UgMHgxMjQxRToKICAgICBjYXNlIDB4MTI0MkM6CkBAIC0yMjYzLDYgKzMxNDcsNyBAQAogICAgIGNhc2UgMHgyNzkzOgogICAgIGNhc2UgMHgzMDM4OgogICAgIGNhc2UgMHgzMjI5OgorICAgIGNhc2UgMHgzMjQ4OgogICAgIGNhc2UgMHgzMjg5OgogICAgIGNhc2UgMHg0RUMwOgogICAgIGNhc2UgMHg1MzQxOgpAQCAtMjQ4Myw2ICszMzY4LDEwIEBACiAgICAgY2FzZSAweDEwRTYxOgogICAgIGNhc2UgMHgxMTA1MzoKICAgICBjYXNlIDB4MTEwNjg6CisgICAgY2FzZSAweDExMEYyOgorICAgIGNhc2UgMHgxMTEzODoKKyAgICBjYXNlIDB4MTExRDI6CisgICAgY2FzZSAweDExNkMyOgogICAgIGNhc2UgMHgxMjQwMDoKICAgICBjYXNlIDB4MTI0MTY6CiAgICAgY2FzZSAweDEyNDFGOgpAQCAtMjUxNSw2ICszNDA0LDcgQEAKICAgICBjYXNlIDB4MjQ5QjoKICAgICBjYXNlIDB4MjRGNDoKICAgICBjYXNlIDB4MzAzOToKKyAgICBjYXNlIDB4MzI0OToKICAgICBjYXNlIDB4NTM0NDoKICAgICBjYXNlIDB4NUVGRjoKICAgICBjYXNlIDB4MTAxMTE6CkBAIC0yNjI2LDYgKzM1MTYsMTAgQEAKICAgICBjYXNlIDB4MTBFNjI6CiAgICAgY2FzZSAweDExMDU0OgogICAgIGNhc2UgMHgxMTA2OToKKyAgICBjYXNlIDB4MTEwRjM6CisgICAgY2FzZSAweDExMTM5OgorICAgIGNhc2UgMHgxMTFEMzoKKyAgICBjYXNlIDB4MTE2QzM6CiAgICAgY2FzZSAweDEyNDAxOgogICAgIGNhc2UgMHgxMjQwODoKICAgICBjYXNlIDB4MTI0MTc6CkBAIC0yNjcxLDYgKzM1NjUsNyBAQAogICAgICAgICByZXR1cm4gKGRvdWJsZSkgMy4wLzguMDsKICAgICBjYXNlIDB4MTM3NDoKICAgICBjYXNlIDB4MzAzQToKKyAgICBjYXNlIDB4MzI0QToKICAgICBjYXNlIDB4MzI1QToKICAgICBjYXNlIDB4NTM0NToKICAgICBjYXNlIDB4MTAxMTI6CkBAIC0yNzcwLDYgKzM2NjUsMTAgQEAKICAgICBjYXNlIDB4MTBFNjM6CiAgICAgY2FzZSAweDExMDU1OgogICAgIGNhc2UgMHgxMTA2QToKKyAgICBjYXNlIDB4MTEwRjQ6CisgICAgY2FzZSAweDExMTNBOgorICAgIGNhc2UgMHgxMTFENDoKKyAgICBjYXNlIDB4MTE2QzQ6CiAgICAgY2FzZSAweDEyNDAyOgogICAgIGNhc2UgMHgxMjQwOToKICAgICBjYXNlIDB4MTI0MEY6CkBAIC0yNzk5LDYgKzM2OTgsNyBAQAogICAgIGNhc2UgMHgyMTU4OgogICAgICAgICByZXR1cm4gKGRvdWJsZSkgNC4wLzUuMDsKICAgICBjYXNlIDB4MTM3NToKKyAgICBjYXNlIDB4MzI0QjoKICAgICBjYXNlIDB4MzJCNToKICAgICBjYXNlIDB4NTM0QzoKICAgICBjYXNlIDB4MTAxMTM6CkBAIC0yOTAwLDYgKzM4MDAsMTAgQEAKICAgICBjYXNlIDB4MTBFNjQ6CiAgICAgY2FzZSAweDExMDU2OgogICAgIGNhc2UgMHgxMTA2QjoKKyAgICBjYXNlIDB4MTEwRjU6CisgICAgY2FzZSAweDExMTNCOgorICAgIGNhc2UgMHgxMTFENToKKyAgICBjYXNlIDB4MTE2QzU6CiAgICAgY2FzZSAweDEyNDAzOgogICAgIGNhc2UgMHgxMjQwQToKICAgICBjYXNlIDB4MTI0MTA6CkBAIC0yOTMxLDYgKzM4MzUsNyBAQAogICAgIGNhc2UgMHgyMTZDOgogICAgIGNhc2UgMHgyMTdDOgogICAgIGNhc2UgMHgyMTg2OgorICAgIGNhc2UgMHgzMjRDOgogICAgIGNhc2UgMHgzMkJGOgogICAgIGNhc2UgMHgxMDExNDoKICAgICBjYXNlIDB4MTAxNDQ6CkBAIC0zMDM0LDYgKzM5MzksMTAgQEAKICAgICBjYXNlIDB4MTBFNjU6CiAgICAgY2FzZSAweDExMDU3OgogICAgIGNhc2UgMHgxMTA2QzoKKyAgICBjYXNlIDB4MTEwRjY6CisgICAgY2FzZSAweDExMTNDOgorICAgIGNhc2UgMHgxMTFENjoKKyAgICBjYXNlIDB4MTE2QzY6CiAgICAgY2FzZSAweDEyNDA0OgogICAgIGNhc2UgMHgxMjQwQjoKICAgICBjYXNlIDB4MTI0MTE6CkBAIC0zMDUxLDYgKzM5NjAsNyBAQAogICAgIGNhc2UgMHgyMEFFQToKICAgICAgICAgcmV0dXJuIChkb3VibGUpIDYuMDsKICAgICBjYXNlIDB4MTM3NzoKKyAgICBjYXNlIDB4MzI0RDoKICAgICBjYXNlIDB4MTAxMTU6CiAgICAgY2FzZSAweDEwRTZFOgogICAgIGNhc2UgMHgxMTA2MDoKQEAgLTMxMjQsNiArNDAzNCwxMCBAQAogICAgIGNhc2UgMHgxMEU2NjoKICAgICBjYXNlIDB4MTEwNTg6CiAgICAgY2FzZSAweDExMDZEOgorICAgIGNhc2UgMHgxMTBGNzoKKyAgICBjYXNlIDB4MTExM0Q6CisgICAgY2FzZSAweDExMUQ3OgorICAgIGNhc2UgMHgxMTZDNzoKICAgICBjYXNlIDB4MTI0MDU6CiAgICAgY2FzZSAweDEyNDBDOgogICAgIGNhc2UgMHgxMjQxMjoKQEAgLTMxNDYsNiArNDA2MCw3IEBACiAgICAgY2FzZSAweDIxNUU6CiAgICAgICAgIHJldHVybiAoZG91YmxlKSA3LjAvOC4wOwogICAgIGNhc2UgMHgxMzc4OgorICAgIGNhc2UgMHgzMjRFOgogICAgIGNhc2UgMHgxMDExNjoKICAgICBjYXNlIDB4MTBFNkY6CiAgICAgY2FzZSAweDExMDYxOgpAQCAtMzIxNyw2ICs0MTMyLDEwIEBACiAgICAgY2FzZSAweDEwRTY3OgogICAgIGNhc2UgMHgxMTA1OToKICAgICBjYXNlIDB4MTEwNkU6CisgICAgY2FzZSAweDExMEY4OgorICAgIGNhc2UgMHgxMTEzRToKKyAgICBjYXNlIDB4MTExRDg6CisgICAgY2FzZSAweDExNkM4OgogICAgIGNhc2UgMHgxMjQwNjoKICAgICBjYXNlIDB4MTI0MEQ6CiAgICAgY2FzZSAweDEyNDEzOgpAQCAtMzIzMyw2ICs0MTUyLDcgQEAKICAgICBjYXNlIDB4MUYxMDk6CiAgICAgICAgIHJldHVybiAoZG91YmxlKSA4LjA7CiAgICAgY2FzZSAweDEzNzk6CisgICAgY2FzZSAweDMyNEY6CiAgICAgY2FzZSAweDEwMTE3OgogICAgIGNhc2UgMHgxMEU3MDoKICAgICBjYXNlIDB4MTEwNjI6CkBAIC0zMzA1LDYgKzQyMjUsMTAgQEAKICAgICBjYXNlIDB4MTBFNjg6CiAgICAgY2FzZSAweDExMDVBOgogICAgIGNhc2UgMHgxMTA2RjoKKyAgICBjYXNlIDB4MTEwRjk6CisgICAgY2FzZSAweDExMTNGOgorICAgIGNhc2UgMHgxMTFEOToKKyAgICBjYXNlIDB4MTE2Qzk6CiAgICAgY2FzZSAweDEyNDA3OgogICAgIGNhc2UgMHgxMjQwRToKICAgICBjYXNlIDB4MTI0MTQ6CmRpZmYgLS1naXQgYS9PYmplY3RzL3dlYWtyZWZvYmplY3QuYyBiL09iamVjdHMvd2Vha3JlZm9iamVjdC5jCmluZGV4IDEzMzIzY2YuLmUwN2FkYjIgMTAwNjQ0Ci0tLSBhL09iamVjdHMvd2Vha3JlZm9iamVjdC5jCisrKyBiL09iamVjdHMvd2Vha3JlZm9iamVjdC5jCkBAIC0xNTYsMjggKzE1NiwzMiBAQAogc3RhdGljIFB5T2JqZWN0ICoKIHdlYWtyZWZfcmVwcihQeVdlYWtSZWZlcmVuY2UgKnNlbGYpCiB7Ci0gICAgY2hhciBidWZmZXJbMjU2XTsKLSAgICBpZiAoUHlXZWFrcmVmX0dFVF9PQkpFQ1Qoc2VsZikgPT0gUHlfTm9uZSkgewotICAgICAgICBQeU9TX3NucHJpbnRmKGJ1ZmZlciwgc2l6ZW9mKGJ1ZmZlciksICI8d2Vha3JlZiBhdCAlcDsgZGVhZD4iLCBzZWxmKTsKKyAgICBQeU9iamVjdCAqbmFtZSwgKnJlcHI7CisgICAgX1B5X0lERU5USUZJRVIoX19uYW1lX18pOworCisgICAgaWYgKFB5V2Vha3JlZl9HRVRfT0JKRUNUKHNlbGYpID09IFB5X05vbmUpCisgICAgICAgIHJldHVybiBQeVVuaWNvZGVfRnJvbUZvcm1hdCgiPHdlYWtyZWYgYXQgJXA7IGRlYWQ+Iiwgc2VsZik7CisKKyAgICBuYW1lID0gX1B5T2JqZWN0X0dldEF0dHJJZChQeVdlYWtyZWZfR0VUX09CSkVDVChzZWxmKSwgJlB5SWRfX19uYW1lX18pOworICAgIGlmIChuYW1lID09IE5VTEwgfHwgIVB5VW5pY29kZV9DaGVjayhuYW1lKSkgeworICAgICAgICBpZiAobmFtZSA9PSBOVUxMKQorICAgICAgICAgICAgUHlFcnJfQ2xlYXIoKTsKKyAgICAgICAgcmVwciA9IFB5VW5pY29kZV9Gcm9tRm9ybWF0KAorICAgICAgICAgICAgIjx3ZWFrcmVmIGF0ICVwOyB0byAnJXMnIGF0ICVwPiIsCisgICAgICAgICAgICBzZWxmLAorICAgICAgICAgICAgUHlfVFlQRShQeVdlYWtyZWZfR0VUX09CSkVDVChzZWxmKSktPnRwX25hbWUsCisgICAgICAgICAgICBQeVdlYWtyZWZfR0VUX09CSkVDVChzZWxmKSk7CiAgICAgfQogICAgIGVsc2UgewotICAgICAgICBjaGFyICpuYW1lID0gTlVMTDsKLSAgICAgICAgUHlPYmplY3QgKm5hbWVvYmogPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKFB5V2Vha3JlZl9HRVRfT0JKRUNUKHNlbGYpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIl9fbmFtZV9fIik7Ci0gICAgICAgIGlmIChuYW1lb2JqID09IE5VTEwpCi0gICAgICAgICAgICAgICAgUHlFcnJfQ2xlYXIoKTsKLSAgICAgICAgZWxzZSBpZiAoUHlVbmljb2RlX0NoZWNrKG5hbWVvYmopKQotICAgICAgICAgICAgICAgIG5hbWUgPSBfUHlVbmljb2RlX0FzU3RyaW5nKG5hbWVvYmopOwotICAgICAgICBQeU9TX3NucHJpbnRmKGJ1ZmZlciwgc2l6ZW9mKGJ1ZmZlciksCi0gICAgICAgICAgICAgICAgICAgICAgbmFtZSA/ICI8d2Vha3JlZiBhdCAlcDsgdG8gJyUuNTBzJyBhdCAlcCAoJXMpPiIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIDogIjx3ZWFrcmVmIGF0ICVwOyB0byAnJS41MHMnIGF0ICVwPiIsCi0gICAgICAgICAgICAgICAgICAgICAgc2VsZiwKLSAgICAgICAgICAgICAgICAgICAgICBQeV9UWVBFKFB5V2Vha3JlZl9HRVRfT0JKRUNUKHNlbGYpKS0+dHBfbmFtZSwKLSAgICAgICAgICAgICAgICAgICAgICBQeVdlYWtyZWZfR0VUX09CSkVDVChzZWxmKSwKLSAgICAgICAgICAgICAgICAgICAgICBuYW1lKTsKLSAgICAgICAgUHlfWERFQ1JFRihuYW1lb2JqKTsKKyAgICAgICAgcmVwciA9IFB5VW5pY29kZV9Gcm9tRm9ybWF0KAorICAgICAgICAgICAgIjx3ZWFrcmVmIGF0ICVwOyB0byAnJXMnIGF0ICVwICglVSk+IiwKKyAgICAgICAgICAgIHNlbGYsCisgICAgICAgICAgICBQeV9UWVBFKFB5V2Vha3JlZl9HRVRfT0JKRUNUKHNlbGYpKS0+dHBfbmFtZSwKKyAgICAgICAgICAgIFB5V2Vha3JlZl9HRVRfT0JKRUNUKHNlbGYpLAorICAgICAgICAgICAgbmFtZSk7CiAgICAgfQotICAgIHJldHVybiBQeVVuaWNvZGVfRnJvbVN0cmluZyhidWZmZXIpOworICAgIFB5X1hERUNSRUYobmFtZSk7CisgICAgcmV0dXJuIHJlcHI7CiB9CiAKIC8qIFdlYWsgcmVmZXJlbmNlcyBvbmx5IHN1cHBvcnQgZXF1YWxpdHksIG5vdCBvcmRlcmluZy4gVHdvIHdlYWsgcmVmZXJlbmNlcwpAQCAtMTkwLDggKzE5NCw3IEBACiAgICAgaWYgKChvcCAhPSBQeV9FUSAmJiBvcCAhPSBQeV9ORSkgfHwKICAgICAgICAgIVB5V2Vha3JlZl9DaGVjayhzZWxmKSB8fAogICAgICAgICAhUHlXZWFrcmVmX0NoZWNrKG90aGVyKSkgewotICAgICAgICBQeV9JTkNSRUYoUHlfTm90SW1wbGVtZW50ZWQpOwotICAgICAgICByZXR1cm4gUHlfTm90SW1wbGVtZW50ZWQ7CisgICAgICAgIFB5X1JFVFVSTl9OT1RJTVBMRU1FTlRFRDsKICAgICB9CiAgICAgaWYgKFB5V2Vha3JlZl9HRVRfT0JKRUNUKHNlbGYpID09IFB5X05vbmUKICAgICAgICAgfHwgUHlXZWFrcmVmX0dFVF9PQkpFQ1Qob3RoZXIpID09IFB5X05vbmUpIHsKQEAgLTQzOCw4ICs0NDEsOSBAQAogI2RlZmluZSBXUkFQX01FVEhPRChtZXRob2QsIHNwZWNpYWwpIFwKICAgICBzdGF0aWMgUHlPYmplY3QgKiBcCiAgICAgbWV0aG9kKFB5T2JqZWN0ICpwcm94eSkgeyBcCisgICAgICAgICAgICBfUHlfSURFTlRJRklFUihzcGVjaWFsKTsgXAogICAgICAgICAgICAgVU5XUkFQKHByb3h5KTsgXAotICAgICAgICAgICAgICAgIHJldHVybiBQeU9iamVjdF9DYWxsTWV0aG9kKHByb3h5LCBzcGVjaWFsLCAiIik7IFwKKyAgICAgICAgICAgICAgICByZXR1cm4gX1B5T2JqZWN0X0NhbGxNZXRob2RJZChwcm94eSwgJlB5SWRfIyNzcGVjaWFsLCAiIik7IFwKICAgICAgICAgfQogCiAKQEAgLTQ1MiwxMiArNDU2LDExIEBACiBzdGF0aWMgUHlPYmplY3QgKgogcHJveHlfcmVwcihQeVdlYWtSZWZlcmVuY2UgKnByb3h5KQogewotICAgIGNoYXIgYnVmWzE2MF07Ci0gICAgUHlPU19zbnByaW50ZihidWYsIHNpemVvZihidWYpLAotICAgICAgICAgICAgICAgICAgIjx3ZWFrcHJveHkgYXQgJXAgdG8gJS4xMDBzIGF0ICVwPiIsIHByb3h5LAotICAgICAgICAgICAgICAgICAgUHlfVFlQRShQeVdlYWtyZWZfR0VUX09CSkVDVChwcm94eSkpLT50cF9uYW1lLAotICAgICAgICAgICAgICAgICAgUHlXZWFrcmVmX0dFVF9PQkpFQ1QocHJveHkpKTsKLSAgICByZXR1cm4gUHlVbmljb2RlX0Zyb21TdHJpbmcoYnVmKTsKKyAgICByZXR1cm4gUHlVbmljb2RlX0Zyb21Gb3JtYXQoCisgICAgICAgICI8d2Vha3Byb3h5IGF0ICVwIHRvICVzIGF0ICVwPiIsCisgICAgICAgIHByb3h5LAorICAgICAgICBQeV9UWVBFKFB5V2Vha3JlZl9HRVRfT0JKRUNUKHByb3h5KSktPnRwX25hbWUsCisgICAgICAgIFB5V2Vha3JlZl9HRVRfT0JKRUNUKHByb3h5KSk7CiB9CiAKIApAQCAtNTgzLDcgKzU4Niw3IEBACiB9CiAKIAotV1JBUF9NRVRIT0QocHJveHlfYnl0ZXMsICJfX2J5dGVzX18iKQorV1JBUF9NRVRIT0QocHJveHlfYnl0ZXMsIF9fYnl0ZXNfXykKIAogCiBzdGF0aWMgUHlNZXRob2REZWYgcHJveHlfbWV0aG9kc1tdID0gewpkaWZmIC0tZ2l0IGEvUEMvVkM2L19tdWx0aXByb2Nlc3NpbmcuZHNwIGIvUEMvVkM2L19tdWx0aXByb2Nlc3NpbmcuZHNwCmluZGV4IDJkY2FmODMuLmUxYjg0NzAgMTAwNjQ0Ci0tLSBhL1BDL1ZDNi9fbXVsdGlwcm9jZXNzaW5nLmRzcAorKysgYi9QQy9WQzYvX211bHRpcHJvY2Vzc2luZy5kc3AKQEAgLTk3LDE4ICs5NywxMCBAQAogIyBFbmQgU291cmNlIEZpbGUNCiAjIEJlZ2luIFNvdXJjZSBGaWxlDQogDQotU09VUkNFPS4uXC4uXE1vZHVsZXNcX211bHRpcHJvY2Vzc2luZ1xwaXBlX2Nvbm5lY3Rpb24uYw0KLSMgRW5kIFNvdXJjZSBGaWxlDQotIyBCZWdpbiBTb3VyY2UgRmlsZQ0KLQ0KIFNPVVJDRT0uLlwuLlxNb2R1bGVzXF9tdWx0aXByb2Nlc3Npbmdcc2VtYXBob3JlLmMNCiAjIEVuZCBTb3VyY2UgRmlsZQ0KICMgQmVnaW4gU291cmNlIEZpbGUNCiANCi1TT1VSQ0U9Li5cLi5cTW9kdWxlc1xfbXVsdGlwcm9jZXNzaW5nXHNvY2tldF9jb25uZWN0aW9uLmMNCi0jIEVuZCBTb3VyY2UgRmlsZQ0KLSMgQmVnaW4gU291cmNlIEZpbGUNCi0NCiBTT1VSQ0U9Li5cLi5cTW9kdWxlc1xfbXVsdGlwcm9jZXNzaW5nXHdpbjMyX2Z1bmN0aW9ucy5jDQogIyBFbmQgU291cmNlIEZpbGUNCiAjIEVuZCBUYXJnZXQNCmRpZmYgLS1naXQgYS9QQy9WQzYvcHl0aG9uY29yZS5kc3AgYi9QQy9WQzYvcHl0aG9uY29yZS5kc3AKaW5kZXggMmFmYTMyMi4uNjEyNDdiNyAxMDA2NDQKLS0tIGEvUEMvVkM2L3B5dGhvbmNvcmUuZHNwCisrKyBiL1BDL1ZDNi9weXRob25jb3JlLmRzcApAQCAtNTQsNyArNTQsNyBAQAogIyBBREQgQlNDMzIgL25vbG9nbw0KIExJTkszMj1saW5rLmV4ZQ0KICMgQUREIEJBU0UgTElOSzMyIGtlcm5lbDMyLmxpYiB1c2VyMzIubGliIGdkaTMyLmxpYiB3aW5zcG9vbC5saWIgY29tZGxnMzIubGliIGFkdmFwaTMyLmxpYiBzaGVsbDMyLmxpYiBvbGUzMi5saWIgb2xlYXV0MzIubGliIHV1aWQubGliIG9kYmMzMi5saWIgb2RiY2NwMzIubGliIC9ub2xvZ28gL3N1YnN5c3RlbTp3aW5kb3dzIC9kbGwgL21hY2hpbmU6STM4Ng0KLSMgQUREIExJTkszMiBsYXJnZWludC5saWIga2VybmVsMzIubGliIHVzZXIzMi5saWIgYWR2YXBpMzIubGliIHNoZWxsMzIubGliIC9ub2xvZ28gL2Jhc2U6IjB4MWUwMDAwMDAiIC9zdWJzeXN0ZW06d2luZG93cyAvZGxsIC9kZWJ1ZyAvbWFjaGluZTpJMzg2IC9ub2RlZmF1bHRsaWI6ImxpYmMiIC9vdXQ6Ii4vcHl0aG9uMzIuZGxsIg0KKyMgQUREIExJTkszMiBsYXJnZWludC5saWIga2VybmVsMzIubGliIHVzZXIzMi5saWIgYWR2YXBpMzIubGliIHNoZWxsMzIubGliIC9ub2xvZ28gL2Jhc2U6IjB4MWUwMDAwMDAiIC9zdWJzeXN0ZW06d2luZG93cyAvZGxsIC9kZWJ1ZyAvbWFjaGluZTpJMzg2IC9ub2RlZmF1bHRsaWI6ImxpYmMiIC9vdXQ6Ii4vcHl0aG9uMzMuZGxsIg0KICMgU1VCVFJBQ1QgTElOSzMyIC9wZGI6bm9uZQ0KIA0KICFFTFNFSUYgICIkKENGRykiID09ICJweXRob25jb3JlIC0gV2luMzIgRGVidWciDQpAQCAtODIsNyArODIsNyBAQAogIyBBREQgQlNDMzIgL25vbG9nbw0KIExJTkszMj1saW5rLmV4ZQ0KICMgQUREIEJBU0UgTElOSzMyIGtlcm5lbDMyLmxpYiB1c2VyMzIubGliIGdkaTMyLmxpYiB3aW5zcG9vbC5saWIgY29tZGxnMzIubGliIGFkdmFwaTMyLmxpYiBzaGVsbDMyLmxpYiBvbGUzMi5saWIgb2xlYXV0MzIubGliIHV1aWQubGliIG9kYmMzMi5saWIgb2RiY2NwMzIubGliIC9ub2xvZ28gL3N1YnN5c3RlbTp3aW5kb3dzIC9kbGwgL2RlYnVnIC9tYWNoaW5lOkkzODYgL3BkYnR5cGU6c2VwdA0KLSMgQUREIExJTkszMiBsYXJnZWludC5saWIga2VybmVsMzIubGliIHVzZXIzMi5saWIgYWR2YXBpMzIubGliIHNoZWxsMzIubGliIC9ub2xvZ28gL2Jhc2U6IjB4MWUwMDAwMDAiIC9zdWJzeXN0ZW06d2luZG93cyAvZGxsIC9kZWJ1ZyAvbWFjaGluZTpJMzg2IC9ub2RlZmF1bHRsaWI6ImxpYmMiIC9vdXQ6Ii4vcHl0aG9uMzJfZC5kbGwiIC9wZGJ0eXBlOnNlcHQNCisjIEFERCBMSU5LMzIgbGFyZ2VpbnQubGliIGtlcm5lbDMyLmxpYiB1c2VyMzIubGliIGFkdmFwaTMyLmxpYiBzaGVsbDMyLmxpYiAvbm9sb2dvIC9iYXNlOiIweDFlMDAwMDAwIiAvc3Vic3lzdGVtOndpbmRvd3MgL2RsbCAvZGVidWcgL21hY2hpbmU6STM4NiAvbm9kZWZhdWx0bGliOiJsaWJjIiAvb3V0OiIuL3B5dGhvbjMzX2QuZGxsIiAvcGRidHlwZTpzZXB0DQogIyBTVUJUUkFDVCBMSU5LMzIgL3BkYjpub25lDQogDQogIUVORElGIA0KZGlmZiAtLWdpdCBhL1BDL1ZDNi9yZWFkbWUudHh0IGIvUEMvVkM2L3JlYWRtZS50eHQKaW5kZXggNGU4ZDIzNy4uYTY4MzUyNyAxMDA2NDQKLS0tIGEvUEMvVkM2L3JlYWRtZS50eHQKKysrIGIvUEMvVkM2L3JlYWRtZS50eHQKQEAgLTEyLDcgKzEyLDcgQEAKIFRoZSBwcm9wZXIgb3JkZXIgdG8gYnVpbGQgc3VicHJvamVjdHM6CiAKIDEpIHB5dGhvbmNvcmUgKHRoaXMgYnVpbGRzIHRoZSBtYWluIFB5dGhvbiBETEwgYW5kIGxpYnJhcnkgZmlsZXMsCi0gICAgICAgICAgICAgICBweXRob24zMi57ZGxsLCBsaWJ9IGluIFJlbGVhc2UgbW9kZSkKKyAgICAgICAgICAgICAgIHB5dGhvbjMzLntkbGwsIGxpYn0gaW4gUmVsZWFzZSBtb2RlKQogCiAyKSBweXRob24gKHRoaXMgYnVpbGRzIHRoZSBtYWluIFB5dGhvbiBleGVjdXRhYmxlLAogICAgICAgICAgICBweXRob24uZXhlIGluIFJlbGVhc2UgbW9kZSkKQEAgLTIzLDcgKzIzLDcgQEAKICAgIHRvIHRoZSBzdWJzeXN0ZW1zIHRoZXkgaW1wbGVtZW50OyBzZWUgU1VCUFJPSkVDVFMgYmVsb3cpCiAKIFdoZW4gdXNpbmcgdGhlIERlYnVnIHNldHRpbmcsIHRoZSBvdXRwdXQgZmlsZXMgaGF2ZSBhIF9kIGFkZGVkIHRvCi10aGVpciBuYW1lOiAgcHl0aG9uMzJfZC5kbGwsIHB5dGhvbl9kLmV4ZSwgcHlleHBhdF9kLnB5ZCwgYW5kIHNvIG9uLgordGhlaXIgbmFtZTogIHB5dGhvbjMzX2QuZGxsLCBweXRob25fZC5leGUsIHB5ZXhwYXRfZC5weWQsIGFuZCBzbyBvbi4KIAogU1VCUFJPSkVDVFMKIC0tLS0tLS0tLS0tCmRpZmYgLS1naXQgYS9QQy9WUzcuMS9weXRob25jb3JlLnZjcHJvaiBiL1BDL1ZTNy4xL3B5dGhvbmNvcmUudmNwcm9qCmluZGV4IGI2MjlkZjQuLmQ4ODI5MTEgMTAwNjQ0Ci0tLSBhL1BDL1ZTNy4xL3B5dGhvbmNvcmUudmNwcm9qCisrKyBiL1BDL1ZTNy4xL3B5dGhvbmNvcmUudmNwcm9qCkBAIC0zOSwxNSArMzksMTUgQEAKIAkJCTxUb29sDQogCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCiAJCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iZ2V0YnVpbGRpbmZvLm8iDQotCQkJCU91dHB1dEZpbGU9Ii4vcHl0aG9uMzIuZGxsIg0KKwkJCQlPdXRwdXRGaWxlPSIuL3B5dGhvbjMzLmRsbCINCiAJCQkJTGlua0luY3JlbWVudGFsPSIxIg0KIAkJCQlTdXBwcmVzc1N0YXJ0dXBCYW5uZXI9IlRSVUUiDQogCQkJCUlnbm9yZURlZmF1bHRMaWJyYXJ5TmFtZXM9ImxpYmMiDQogCQkJCUdlbmVyYXRlRGVidWdJbmZvcm1hdGlvbj0iVFJVRSINCi0JCQkJUHJvZ3JhbURhdGFiYXNlRmlsZT0iLlwuL3B5dGhvbjMyLnBkYiINCisJCQkJUHJvZ3JhbURhdGFiYXNlRmlsZT0iLlwuL3B5dGhvbjMzLnBkYiINCiAJCQkJU3ViU3lzdGVtPSIyIg0KIAkJCQlCYXNlQWRkcmVzcz0iMHgxZTAwMDAwMCINCi0JCQkJSW1wb3J0TGlicmFyeT0iLlwuL3B5dGhvbjMyLmxpYiINCisJCQkJSW1wb3J0TGlicmFyeT0iLlwuL3B5dGhvbjMzLmxpYiINCiAJCQkJVGFyZ2V0TWFjaGluZT0iMSIvPg0KIAkJCTxUb29sDQogCQkJCU5hbWU9IlZDTUlETFRvb2wiLz4NCkBAIC05OSwxNSArOTksMTUgQEAKIAkJCTxUb29sDQogCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCiAJCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iZ2V0YnVpbGRpbmZvLm8iDQotCQkJCU91dHB1dEZpbGU9Ii4vcHl0aG9uMzJfZC5kbGwiDQorCQkJCU91dHB1dEZpbGU9Ii4vcHl0aG9uMzNfZC5kbGwiDQogCQkJCUxpbmtJbmNyZW1lbnRhbD0iMSINCiAJCQkJU3VwcHJlc3NTdGFydHVwQmFubmVyPSJUUlVFIg0KIAkJCQlJZ25vcmVEZWZhdWx0TGlicmFyeU5hbWVzPSJsaWJjIg0KIAkJCQlHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb249IlRSVUUiDQotCQkJCVByb2dyYW1EYXRhYmFzZUZpbGU9Ii5cLi9weXRob24zMl9kLnBkYiINCisJCQkJUHJvZ3JhbURhdGFiYXNlRmlsZT0iLlwuL3B5dGhvbjMzX2QucGRiIg0KIAkJCQlTdWJTeXN0ZW09IjIiDQogCQkJCUJhc2VBZGRyZXNzPSIweDFlMDAwMDAwIg0KLQkJCQlJbXBvcnRMaWJyYXJ5PSIuXC4vcHl0aG9uMzJfZC5saWIiDQorCQkJCUltcG9ydExpYnJhcnk9Ii5cLi9weXRob24zM19kLmxpYiINCiAJCQkJVGFyZ2V0TWFjaGluZT0iMSIvPg0KIAkJCTxUb29sDQogCQkJCU5hbWU9IlZDTUlETFRvb2wiLz4NCkBAIC0xNjYsMTUgKzE2NiwxNSBAQAogCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCiAJCQkJQWRkaXRpb25hbE9wdGlvbnM9IiAvTUFDSElORTpJQTY0IC9VU0VMSU5LOk1TX1NESyINCiAJCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iZ2V0YnVpbGRpbmZvLm8iDQotCQkJCU91dHB1dEZpbGU9Ii4vcHl0aG9uMzIuZGxsIg0KKwkJCQlPdXRwdXRGaWxlPSIuL3B5dGhvbjMzLmRsbCINCiAJCQkJTGlua0luY3JlbWVudGFsPSIxIg0KIAkJCQlTdXBwcmVzc1N0YXJ0dXBCYW5uZXI9IkZBTFNFIg0KIAkJCQlJZ25vcmVEZWZhdWx0TGlicmFyeU5hbWVzPSJsaWJjIg0KIAkJCQlHZW5lcmF0ZURlYnVnSW5mb3JtYXRpb249IlRSVUUiDQotCQkJCVByb2dyYW1EYXRhYmFzZUZpbGU9Ii5cLi9weXRob24zMi5wZGIiDQorCQkJCVByb2dyYW1EYXRhYmFzZUZpbGU9Ii5cLi9weXRob24zMy5wZGIiDQogCQkJCVN1YlN5c3RlbT0iMiINCiAJCQkJQmFzZUFkZHJlc3M9IjB4MWUwMDAwMDAiDQotCQkJCUltcG9ydExpYnJhcnk9Ii5cLi9weXRob24zMi5saWIiDQorCQkJCUltcG9ydExpYnJhcnk9Ii5cLi9weXRob24zMy5saWIiDQogCQkJCVRhcmdldE1hY2hpbmU9IjAiLz4NCiAJCQk8VG9vbA0KIAkJCQlOYW1lPSJWQ01JRExUb29sIi8+DQpAQCAtMjMzLDE1ICsyMzMsMTUgQEAKIAkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQogCQkJCUFkZGl0aW9uYWxPcHRpb25zPSIgL01BQ0hJTkU6QU1ENjQgL1VTRUxJTks6TVNfU0RLIg0KIAkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJnZXRidWlsZGluZm8ubyINCi0JCQkJT3V0cHV0RmlsZT0iLi9weXRob24zMi5kbGwiDQorCQkJCU91dHB1dEZpbGU9Ii4vcHl0aG9uMzMuZGxsIg0KIAkJCQlMaW5rSW5jcmVtZW50YWw9IjEiDQogCQkJCVN1cHByZXNzU3RhcnR1cEJhbm5lcj0iVFJVRSINCiAJCQkJSWdub3JlRGVmYXVsdExpYnJhcnlOYW1lcz0ibGliYyINCiAJCQkJR2VuZXJhdGVEZWJ1Z0luZm9ybWF0aW9uPSJUUlVFIg0KLQkJCQlQcm9ncmFtRGF0YWJhc2VGaWxlPSIuXC4vcHl0aG9uMzIucGRiIg0KKwkJCQlQcm9ncmFtRGF0YWJhc2VGaWxlPSIuXC4vcHl0aG9uMzMucGRiIg0KIAkJCQlTdWJTeXN0ZW09IjIiDQogCQkJCUJhc2VBZGRyZXNzPSIweDFlMDAwMDAwIg0KLQkJCQlJbXBvcnRMaWJyYXJ5PSIuXC4vcHl0aG9uMzIubGliIg0KKwkJCQlJbXBvcnRMaWJyYXJ5PSIuXC4vcHl0aG9uMzMubGliIg0KIAkJCQlUYXJnZXRNYWNoaW5lPSIwIi8+DQogCQkJPFRvb2wNCiAJCQkJTmFtZT0iVkNNSURMVG9vbCIvPg0KZGlmZiAtLWdpdCBhL1BDL1ZTNy4xL3JlYWRtZS50eHQgYi9QQy9WUzcuMS9yZWFkbWUudHh0CmluZGV4IDhmYjA2OWYuLmJmZDhhNzAgMTAwNjQ0Ci0tLSBhL1BDL1ZTNy4xL3JlYWRtZS50eHQKKysrIGIvUEMvVlM3LjEvcmVhZG1lLnR4dApAQCAtMTIsNyArMTIsNyBAQAogVGhlIHByb3BlciBvcmRlciB0byBidWlsZCBzdWJwcm9qZWN0czoKIAogMSkgcHl0aG9uY29yZSAodGhpcyBidWlsZHMgdGhlIG1haW4gUHl0aG9uIERMTCBhbmQgbGlicmFyeSBmaWxlcywKLSAgICAgICAgICAgICAgIHB5dGhvbjI2LntkbGwsIGxpYn0gaW4gUmVsZWFzZSBtb2RlKQorICAgICAgICAgICAgICAgcHl0aG9uMzMue2RsbCwgbGlifSBpbiBSZWxlYXNlIG1vZGUpCiAgICAgICAgICAgICAgIE5PVEU6ICBpbiBwcmV2aW91cyByZWxlYXNlcywgdGhpcyBzdWJwcm9qZWN0IHdhcwogICAgICAgICAgICAgICBuYW1lZCBhZnRlciB0aGUgcmVsZWFzZSBudW1iZXIsIGUuZy4gcHl0aG9uMjAuCiAKQEAgLTI2LDcgKzI2LDcgQEAKICAgIHRlc3Qgc2xhdmU7IHNlZSBTVUJQUk9KRUNUUyBiZWxvdykKIAogV2hlbiB1c2luZyB0aGUgRGVidWcgc2V0dGluZywgdGhlIG91dHB1dCBmaWxlcyBoYXZlIGEgX2QgYWRkZWQgdG8KLXRoZWlyIG5hbWU6ICBweXRob24yNl9kLmRsbCwgcHl0aG9uX2QuZXhlLCBwYXJzZXJfZC5weWQsIGFuZCBzbyBvbi4KK3RoZWlyIG5hbWU6ICBweXRob24zM19kLmRsbCwgcHl0aG9uX2QuZXhlLCBwYXJzZXJfZC5weWQsIGFuZCBzbyBvbi4KIAogU1VCUFJPSkVDVFMKIC0tLS0tLS0tLS0tCmRpZmYgLS1naXQgYS9QQy9WUzguMC9fbXVsdGlwcm9jZXNzaW5nLnZjcHJvaiBiL1BDL1ZTOC4wL19tdWx0aXByb2Nlc3NpbmcudmNwcm9qCmluZGV4IGMyYmJlYzQuLjhmMWNhZmMgMTAwNjQ0Ci0tLSBhL1BDL1ZTOC4wL19tdWx0aXByb2Nlc3NpbmcudmNwcm9qCisrKyBiL1BDL1ZTOC4wL19tdWx0aXByb2Nlc3NpbmcudmNwcm9qCkBAIC01MjIsMTAgKzUyMiw2IEBACiAJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9tdWx0aXByb2Nlc3NpbmdcbXVsdGlwcm9jZXNzaW5nLmgiDQogCQkJCT4NCiAJCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlxNb2R1bGVzXF9tdWx0aXByb2Nlc3NpbmdcY29ubmVjdGlvbi5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KIAkJPC9GaWx0ZXI+DQogCQk8RmlsdGVyDQogCQkJTmFtZT0iU291cmNlIEZpbGVzIg0KQEAgLTUzNSwxOCArNTMxLDEwIEBACiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX211bHRpcHJvY2Vzc2luZ1xwaXBlX2Nvbm5lY3Rpb24uYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX211bHRpcHJvY2Vzc2luZ1xzZW1hcGhvcmUuYyINCiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXE1vZHVsZXNcX211bHRpcHJvY2Vzc2luZ1xzb2NrZXRfY29ubmVjdGlvbi5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cTW9kdWxlc1xfbXVsdGlwcm9jZXNzaW5nXHdpbjMyX2Z1bmN0aW9ucy5jIg0KIAkJCQk+DQogCQkJPC9GaWxlPg0KZGlmZiAtLWdpdCBhL1BDL1ZTOC4wL2J1aWxkX3NzbC5iYXQgYi9QQy9WUzguMC9idWlsZF9zc2wuYmF0CmluZGV4IDM5YzFmZjAuLjM1N2IwOGIgMTAwNjQ0Ci0tLSBhL1BDL1ZTOC4wL2J1aWxkX3NzbC5iYXQKKysrIGIvUEMvVlM4LjAvYnVpbGRfc3NsLmJhdApAQCAtMiwxMCArMiwxMCBAQAogaWYgbm90IGRlZmluZWQgSE9TVF9QWVRIT04gKAogICBpZiAlMSBFUVUgRGVidWcgKAogICAgIHNldCBIT1NUX1BZVEhPTj1weXRob25fZC5leGUKLSAgICBpZiBub3QgZXhpc3QgcHl0aG9uMzJfZC5kbGwgZXhpdCAxCisgICAgaWYgbm90IGV4aXN0IHB5dGhvbjMzX2QuZGxsIGV4aXQgMQogICApIEVMU0UgKAogICAgIHNldCBIT1NUX1BZVEhPTj1weXRob24uZXhlCi0gICAgaWYgbm90IGV4aXN0IHB5dGhvbjMyLmRsbCBleGl0IDEKKyAgICBpZiBub3QgZXhpc3QgcHl0aG9uMzMuZGxsIGV4aXQgMQogICApCiApCiAlSE9TVF9QWVRIT04lIGJ1aWxkX3NzbC5weSAlMSAlMiAlMwpkaWZmIC0tZ2l0IGEvUEMvVlM4LjAva2lsbF9weXRob24uYyBiL1BDL1ZTOC4wL2tpbGxfcHl0aG9uLmMKaW5kZXggNmI5MTY3OC4uYmIzMjNkMyAxMDA2NDQKLS0tIGEvUEMvVlM4LjAva2lsbF9weXRob24uYworKysgYi9QQy9WUzguMC9raWxsX3B5dGhvbi5jCkBAIC0xMDYsNyArMTA2LDcgQEAKICAgICAgICAgLyoKICAgICAgICAgICogWFhYIFRPRE86IGlmIHdlIHJlYWxseSB3YW50ZWQgdG8gYmUgZmFuY3ksIHdlIGNvdWxkIGNoZWNrIHRoZSAKICAgICAgICAgICogbW9kdWxlcyBmb3IgYWxsIHByb2Nlc3NlcyAobm90IGp1c3QgdGhlIHB5dGhvbltfZF0uZXhlIG9uZXMpCi0gICAgICAgICAqIGFuZCBzZWUgaWYgYW55IG9mIG91ciBETExzIGFyZSBsb2FkZWQgKGkuZS4gcHl0aG9uMzJbX2RdLmRsbCksCisgICAgICAgICAqIGFuZCBzZWUgaWYgYW55IG9mIG91ciBETExzIGFyZSBsb2FkZWQgKGkuZS4gcHl0aG9uMzNbX2RdLmRsbCksCiAgICAgICAgICAqIGFzIHRoYXQgd291bGQgYWxzbyBpbmhpYml0IG91ciBhYmlsaXR5IHRvIHJlYnVpbGQgdGhlIHNvbHV0aW9uLgogICAgICAgICAgKiBOb3Qgd29ydGggbG9vc2luZyBzbGVlcCBvdmVyIHRob3VnaDsgZm9yIG5vdywgYSBzaW1wbGUgY2hlY2sgCiAgICAgICAgICAqIGZvciBqdXN0IHRoZSBweXRob24gZXhlY3V0YWJsZSBzaG91bGQgYmUgc3VmZmljaWVudC4KZGlmZiAtLWdpdCBhL1BDL1ZTOC4wL3B5cHJvamVjdC52c3Byb3BzIGIvUEMvVlM4LjAvcHlwcm9qZWN0LnZzcHJvcHMKaW5kZXggNjQ5NDIxNi4uNGE1ODJmMSAxMDA2NDQKLS0tIGEvUEMvVlM4LjAvcHlwcm9qZWN0LnZzcHJvcHMKKysrIGIvUEMvVlM4LjAvcHlwcm9qZWN0LnZzcHJvcHMKQEAgLTM4LDcgKzM4LDcgQEAKIAkvPg0KIAk8VXNlck1hY3JvDQogCQlOYW1lPSJQeURsbE5hbWUiDQotCQlWYWx1ZT0icHl0aG9uMzIiDQorCQlWYWx1ZT0icHl0aG9uMzMiDQogCS8+DQogCTxVc2VyTWFjcm8NCiAJCU5hbWU9IlB5dGhvbkV4ZSINCmRpZmYgLS1naXQgYS9QQy9fbXNpLmMgYi9QQy9fbXNpLmMKaW5kZXggZDRkODQ4My4uMGI1Yjk0ZSAxMDA2NDQKLS0tIGEvUEMvX21zaS5jCisrKyBiL1BDL19tc2kuYwpAQCAtMTgsNyArMTgsNyBAQAogdXVpZGNyZWF0ZShQeU9iamVjdCogb2JqLCBQeU9iamVjdCphcmdzKQogewogICAgIFVVSUQgcmVzdWx0OwotICAgIHVuc2lnbmVkIHNob3J0ICpjcmVzdWx0OworICAgIHdjaGFyX3QgKmNyZXN1bHQ7CiAgICAgUHlPYmplY3QgKm9yZXN1bHQ7CiAKICAgICAvKiBNYXkgcmV0dXJuIG9rLCBsb2NhbCBvbmx5LCBhbmQgbm8gYWRkcmVzcy4KQEAgLTM1LDcgKzM1LDcgQEAKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogCi0gICAgb3Jlc3VsdCA9IFB5VW5pY29kZV9Gcm9tVW5pY29kZShjcmVzdWx0LCB3Y3NsZW4oY3Jlc3VsdCkpOworICAgIG9yZXN1bHQgPSBQeVVuaWNvZGVfRnJvbVdpZGVDaGFyKGNyZXN1bHQsIHdjc2xlbihjcmVzdWx0KSk7CiAgICAgUnBjU3RyaW5nRnJlZVcoJmNyZXN1bHQpOwogICAgIHJldHVybiBvcmVzdWx0OwogCkBAIC0xMjIsNyArMTIyLDkgQEAKIHN0YXRpYyBGTkZDSVNUQVRVUyhjYl9zdGF0dXMpCiB7CiAgICAgaWYgKHB2KSB7Ci0gICAgICAgIFB5T2JqZWN0ICpyZXN1bHQgPSBQeU9iamVjdF9DYWxsTWV0aG9kKHB2LCAic3RhdHVzIiwgImlpaSIsIHR5cGVTdGF0dXMsIGNiMSwgY2IyKTsKKyAgICAgICAgX1B5X0lERU5USUZJRVIoc3RhdHVzKTsKKworICAgICAgICBQeU9iamVjdCAqcmVzdWx0ID0gX1B5T2JqZWN0X0NhbGxNZXRob2RJZChwdiwgJlB5SWRfc3RhdHVzLCAiaWlpIiwgdHlwZVN0YXR1cywgY2IxLCBjYjIpOwogICAgICAgICBpZiAocmVzdWx0ID09IE5VTEwpCiAgICAgICAgICAgICByZXR1cm4gLTE7CiAgICAgICAgIFB5X0RFQ1JFRihyZXN1bHQpOwpAQCAtMTMzLDcgKzEzNSw5IEBACiBzdGF0aWMgRk5GQ0lHRVRORVhUQ0FCSU5FVChjYl9nZXRuZXh0Y2FiaW5ldCkKIHsKICAgICBpZiAocHYpIHsKLSAgICAgICAgUHlPYmplY3QgKnJlc3VsdCA9IFB5T2JqZWN0X0NhbGxNZXRob2QocHYsICJnZXRuZXh0Y2FiaW5ldCIsICJpIiwgcGNjYWItPmlDYWIpOworICAgICAgICBfUHlfSURFTlRJRklFUihnZXRuZXh0Y2FiaW5ldCk7CisKKyAgICAgICAgUHlPYmplY3QgKnJlc3VsdCA9IF9QeU9iamVjdF9DYWxsTWV0aG9kSWQocHYsICZQeUlkX2dldG5leHRjYWJpbmV0LCAiaSIsIHBjY2FiLT5pQ2FiKTsKICAgICAgICAgaWYgKHJlc3VsdCA9PSBOVUxMKQogICAgICAgICAgICAgcmV0dXJuIC0xOwogICAgICAgICBpZiAoIVB5Qnl0ZXNfQ2hlY2socmVzdWx0KSkgewpAQCAtMzc1LDcgKzM3OSw3IEBACiAgICAgfQogICAgIGlmIChzdGF0dXMgIT0gRVJST1JfU1VDQ0VTUykKICAgICAgICAgcmV0dXJuIG1zaWVycm9yKChpbnQpIHN0YXR1cyk7Ci0gICAgc3RyaW5nID0gUHlVbmljb2RlX0Zyb21Vbmljb2RlKHJlcywgc2l6ZSk7CisgICAgc3RyaW5nID0gUHlVbmljb2RlX0Zyb21XaWRlQ2hhcihyZXMsIHNpemUpOwogICAgIGlmIChidWYgIT0gcmVzKQogICAgICAgICBmcmVlKHJlcyk7CiAgICAgcmV0dXJuIHN0cmluZzsKQEAgLTM5Nyw3ICs0MDEsNyBAQAogewogICAgIGludCBzdGF0dXM7CiAgICAgaW50IGZpZWxkOwotICAgIFB5X1VOSUNPREUgKmRhdGE7CisgICAgd2NoYXJfdCAqZGF0YTsKIAogICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiaXU6U2V0U3RyaW5nIiwgJmZpZWxkLCAmZGF0YSkpCiAgICAgICAgIHJldHVybiBOVUxMOwpAQCAtNDE0LDcgKzQxOCw3IEBACiB7CiAgICAgaW50IHN0YXR1czsKICAgICBpbnQgZmllbGQ7Ci0gICAgUHlfVU5JQ09ERSAqZGF0YTsKKyAgICB3Y2hhcl90ICpkYXRhOwogCiAgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJpdTpTZXRTdHJlYW0iLCAmZmllbGQsICZkYXRhKSkKICAgICAgICAgcmV0dXJuIE5VTEw7CmRpZmYgLS1naXQgYS9QQy9fc3VicHJvY2Vzcy5jIGIvUEMvX3N1YnByb2Nlc3MuYwppbmRleCBmOWE3OWE3Li4xM2E1ZTFmIDEwMDY0NAotLS0gYS9QQy9fc3VicHJvY2Vzcy5jCisrKyBiL1BDL19zdWJwcm9jZXNzLmMKQEAgLTMyOSwxMiArMzI5LDkgQEAKIHN0YXRpYyBQeU9iamVjdCoKIGdldGVudmlyb25tZW50KFB5T2JqZWN0KiBlbnZpcm9ubWVudCkKIHsKLSAgICBpbnQgaTsKLSAgICBQeV9zc2l6ZV90IGVudnNpemU7Ci0gICAgUHlPYmplY3QqIG91dCA9IE5VTEw7Ci0gICAgUHlPYmplY3QqIGtleXM7Ci0gICAgUHlPYmplY3QqIHZhbHVlczsKLSAgICBQeV9VTklDT0RFKiBwOworICAgIFB5X3NzaXplX3QgaSwgZW52c2l6ZSwgdG90YWxzaXplOworICAgIFB5X1VDUzQgKmJ1ZmZlciA9IE5VTEwsICpwLCAqZW5kOworICAgIFB5T2JqZWN0ICprZXlzLCAqdmFsdWVzLCAqcmVzOwogCiAgICAgLyogY29udmVydCBlbnZpcm9ubWVudCBkaWN0aW9uYXJ5IHRvIHdpbmRvd3MgZW52aXJvbWVudCBzdHJpbmcgKi8KICAgICBpZiAoISBQeU1hcHBpbmdfQ2hlY2soZW52aXJvbm1lbnQpKSB7CkBAIC0zNTAsMTQgKzM0Nyw4IEBACiAgICAgaWYgKCFrZXlzIHx8ICF2YWx1ZXMpCiAgICAgICAgIGdvdG8gZXJyb3I7CiAKLSAgICBvdXQgPSBQeVVuaWNvZGVfRnJvbVVuaWNvZGUoTlVMTCwgMjA0OCk7Ci0gICAgaWYgKCEgb3V0KQotICAgICAgICBnb3RvIGVycm9yOwotCi0gICAgcCA9IFB5VW5pY29kZV9BU19VTklDT0RFKG91dCk7Ci0KKyAgICB0b3RhbHNpemUgPSAxOyAvKiB0cmFpbGluZyBudWxsIGNoYXJhY3RlciAqLwogICAgIGZvciAoaSA9IDA7IGkgPCBlbnZzaXplOyBpKyspIHsKLSAgICAgICAgUHlfc3NpemVfdCBrc2l6ZSwgdnNpemUsIHRvdGFsc2l6ZTsKICAgICAgICAgUHlPYmplY3QqIGtleSA9IFB5TGlzdF9HRVRfSVRFTShrZXlzLCBpKTsKICAgICAgICAgUHlPYmplY3QqIHZhbHVlID0gUHlMaXN0X0dFVF9JVEVNKHZhbHVlcywgaSk7CiAKQEAgLTM2NiwzNiArMzU3LDQyIEBACiAgICAgICAgICAgICAgICAgImVudmlyb25tZW50IGNhbiBvbmx5IGNvbnRhaW4gc3RyaW5ncyIpOwogICAgICAgICAgICAgZ290byBlcnJvcjsKICAgICAgICAgfQotICAgICAgICBrc2l6ZSA9IFB5VW5pY29kZV9HRVRfU0laRShrZXkpOwotICAgICAgICB2c2l6ZSA9IFB5VW5pY29kZV9HRVRfU0laRSh2YWx1ZSk7Ci0gICAgICAgIHRvdGFsc2l6ZSA9IChwIC0gUHlVbmljb2RlX0FTX1VOSUNPREUob3V0KSkgKyBrc2l6ZSArIDEgKwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2c2l6ZSArIDEgKyAxOwotICAgICAgICBpZiAodG90YWxzaXplID4gUHlVbmljb2RlX0dFVF9TSVpFKG91dCkpIHsKLSAgICAgICAgICAgIFB5X3NzaXplX3Qgb2Zmc2V0ID0gcCAtIFB5VW5pY29kZV9BU19VTklDT0RFKG91dCk7Ci0gICAgICAgICAgICBQeVVuaWNvZGVfUmVzaXplKCZvdXQsIHRvdGFsc2l6ZSArIDEwMjQpOwotICAgICAgICAgICAgcCA9IFB5VW5pY29kZV9BU19VTklDT0RFKG91dCkgKyBvZmZzZXQ7Ci0gICAgICAgIH0KLSAgICAgICAgUHlfVU5JQ09ERV9DT1BZKHAsIFB5VW5pY29kZV9BU19VTklDT0RFKGtleSksIGtzaXplKTsKLSAgICAgICAgcCArPSBrc2l6ZTsKKyAgICAgICAgdG90YWxzaXplICs9IFB5VW5pY29kZV9HRVRfTEVOR1RIKGtleSkgKyAxOyAgICAvKiArMSBmb3IgJz0nICovCisgICAgICAgIHRvdGFsc2l6ZSArPSBQeVVuaWNvZGVfR0VUX0xFTkdUSCh2YWx1ZSkgKyAxOyAgLyogKzEgZm9yICdcMCcgKi8KKyAgICB9CisKKyAgICBidWZmZXIgPSBQeU1lbV9NYWxsb2ModG90YWxzaXplICogc2l6ZW9mKFB5X1VDUzQpKTsKKyAgICBpZiAoISBidWZmZXIpCisgICAgICAgIGdvdG8gZXJyb3I7CisgICAgcCA9IGJ1ZmZlcjsKKyAgICBlbmQgPSBidWZmZXIgKyB0b3RhbHNpemU7CisKKyAgICBmb3IgKGkgPSAwOyBpIDwgZW52c2l6ZTsgaSsrKSB7CisgICAgICAgIFB5T2JqZWN0KiBrZXkgPSBQeUxpc3RfR0VUX0lURU0oa2V5cywgaSk7CisgICAgICAgIFB5T2JqZWN0KiB2YWx1ZSA9IFB5TGlzdF9HRVRfSVRFTSh2YWx1ZXMsIGkpOworICAgICAgICBpZiAoIVB5VW5pY29kZV9Bc1VDUzQoa2V5LCBwLCBlbmQgLSBwLCAwKSkKKyAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgIHAgKz0gUHlVbmljb2RlX0dFVF9MRU5HVEgoa2V5KTsKICAgICAgICAgKnArKyA9ICc9JzsKLSAgICAgICAgUHlfVU5JQ09ERV9DT1BZKHAsIFB5VW5pY29kZV9BU19VTklDT0RFKHZhbHVlKSwgdnNpemUpOwotICAgICAgICBwICs9IHZzaXplOworICAgICAgICBpZiAoIVB5VW5pY29kZV9Bc1VDUzQodmFsdWUsIHAsIGVuZCAtIHAsIDApKQorICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgcCArPSBQeVVuaWNvZGVfR0VUX0xFTkdUSCh2YWx1ZSk7CiAgICAgICAgICpwKysgPSAnXDAnOwogICAgIH0KIAogICAgIC8qIGFkZCB0cmFpbGluZyBudWxsIGJ5dGUgKi8KICAgICAqcCsrID0gJ1wwJzsKLSAgICBQeVVuaWNvZGVfUmVzaXplKCZvdXQsIHAgLSBQeVVuaWNvZGVfQVNfVU5JQ09ERShvdXQpKTsKLQotICAgIC8qIFB5T2JqZWN0X1ByaW50KG91dCwgc3Rkb3V0LCAwKTsgKi8KKyAgICBhc3NlcnQocCA9PSBlbmQpOwogCiAgICAgUHlfWERFQ1JFRihrZXlzKTsKICAgICBQeV9YREVDUkVGKHZhbHVlcyk7CiAKLSAgICByZXR1cm4gb3V0OworICAgIHJlcyA9IFB5VW5pY29kZV9Gcm9tS2luZEFuZERhdGEoUHlVbmljb2RlXzRCWVRFX0tJTkQsIGJ1ZmZlciwgcCAtIGJ1ZmZlcik7CisgICAgUHlNZW1fRnJlZShidWZmZXIpOworICAgIHJldHVybiByZXM7CiAKICBlcnJvcjoKLSAgICBQeV9YREVDUkVGKG91dCk7CisgICAgUHlNZW1fRnJlZShidWZmZXIpOwogICAgIFB5X1hERUNSRUYoa2V5cyk7CiAgICAgUHlfWERFQ1JFRih2YWx1ZXMpOwogICAgIHJldHVybiBOVUxMOwpAQCAtNDIwLDE1ICs0MTcsMTYgQEAKICAgICBQUk9DRVNTX0lORk9STUFUSU9OIHBpOwogICAgIFNUQVJUVVBJTkZPVyBzaTsKICAgICBQeU9iamVjdCogZW52aXJvbm1lbnQ7CisgICAgd2NoYXJfdCAqd2Vudmlyb25tZW50OwogCi0gICAgUHlfVU5JQ09ERSogYXBwbGljYXRpb25fbmFtZTsKLSAgICBQeV9VTklDT0RFKiBjb21tYW5kX2xpbmU7CisgICAgd2NoYXJfdCogYXBwbGljYXRpb25fbmFtZTsKKyAgICB3Y2hhcl90KiBjb21tYW5kX2xpbmU7CiAgICAgUHlPYmplY3QqIHByb2Nlc3NfYXR0cmlidXRlczsgLyogaWdub3JlZCAqLwogICAgIFB5T2JqZWN0KiB0aHJlYWRfYXR0cmlidXRlczsgLyogaWdub3JlZCAqLwogICAgIGludCBpbmhlcml0X2hhbmRsZXM7CiAgICAgaW50IGNyZWF0aW9uX2ZsYWdzOwogICAgIFB5T2JqZWN0KiBlbnZfbWFwcGluZzsKLSAgICBQeV9VTklDT0RFKiBjdXJyZW50X2RpcmVjdG9yeTsKKyAgICB3Y2hhcl90KiBjdXJyZW50X2RpcmVjdG9yeTsKICAgICBQeU9iamVjdCogc3RhcnR1cF9pbmZvOwogCiAgICAgaWYgKCEgUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiWlpPT2lpT1pPOkNyZWF0ZVByb2Nlc3MiLApAQCAtNDU2LDEyICs0NTQsMjAgQEAKICAgICBpZiAoUHlFcnJfT2NjdXJyZWQoKSkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKLSAgICBpZiAoZW52X21hcHBpbmcgPT0gUHlfTm9uZSkKLSAgICAgICAgZW52aXJvbm1lbnQgPSBOVUxMOwotICAgIGVsc2UgeworICAgIGlmIChlbnZfbWFwcGluZyAhPSBQeV9Ob25lKSB7CiAgICAgICAgIGVudmlyb25tZW50ID0gZ2V0ZW52aXJvbm1lbnQoZW52X21hcHBpbmcpOwogICAgICAgICBpZiAoISBlbnZpcm9ubWVudCkKICAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICB3ZW52aXJvbm1lbnQgPSBQeVVuaWNvZGVfQXNVbmljb2RlKGVudmlyb25tZW50KTsKKyAgICAgICAgaWYgKHdlbnZpcm9ubWVudCA9PSBOVUxMKQorICAgICAgICB7CisgICAgICAgICAgICBQeV9YREVDUkVGKGVudmlyb25tZW50KTsKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICB9CisgICAgfQorICAgIGVsc2UgeworICAgICAgICBlbnZpcm9ubWVudCA9IE5VTEw7CisgICAgICAgIHdlbnZpcm9ubWVudCA9IE5VTEw7CiAgICAgfQogCiAgICAgUHlfQkVHSU5fQUxMT1dfVEhSRUFEUwpAQCAtNDcxLDcgKzQ3Nyw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5oZXJpdF9oYW5kbGVzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgY3JlYXRpb25fZmxhZ3MgfCBDUkVBVEVfVU5JQ09ERV9FTlZJUk9OTUVOVCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudmlyb25tZW50ID8gUHlVbmljb2RlX0FTX1VOSUNPREUoZW52aXJvbm1lbnQpIDogTlVMTCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHdlbnZpcm9ubWVudCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRfZGlyZWN0b3J5LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJnNpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJnBpKTsKQEAgLTYwOSw3ICs2MTUsNyBAQAogICAgIGlmICghIHJlc3VsdCkKICAgICAgICAgcmV0dXJuIFB5RXJyX1NldEZyb21XaW5kb3dzRXJyKEdldExhc3RFcnJvcigpKTsKIAotICAgIHJldHVybiBQeVVuaWNvZGVfRnJvbVVuaWNvZGUoZmlsZW5hbWUsIFB5X1VOSUNPREVfc3RybGVuKGZpbGVuYW1lKSk7CisgICAgcmV0dXJuIFB5VW5pY29kZV9Gcm9tV2lkZUNoYXIoZmlsZW5hbWUsIHdjc2xlbihmaWxlbmFtZSkpOwogfQogCiBzdGF0aWMgUHlNZXRob2REZWYgc3BfZnVuY3Rpb25zW10gPSB7CkBAIC02ODIsNiArNjg4LDcgQEAKICAgICBkZWZpbnQoZCwgIlNXX0hJREUiLCBTV19ISURFKTsKICAgICBkZWZpbnQoZCwgIklORklOSVRFIiwgSU5GSU5JVEUpOwogICAgIGRlZmludChkLCAiV0FJVF9PQkpFQ1RfMCIsIFdBSVRfT0JKRUNUXzApOworICAgIGRlZmludChkLCAiV0FJVF9USU1FT1VUIiwgV0FJVF9USU1FT1VUKTsKICAgICBkZWZpbnQoZCwgIkNSRUFURV9ORVdfQ09OU09MRSIsIENSRUFURV9ORVdfQ09OU09MRSk7CiAgICAgZGVmaW50KGQsICJDUkVBVEVfTkVXX1BST0NFU1NfR1JPVVAiLCBDUkVBVEVfTkVXX1BST0NFU1NfR1JPVVApOwogICAgIGRlZmludChkLCAiU1RJTExfQUNUSVZFIiwgU1RJTExfQUNUSVZFKTsKZGlmZiAtLWdpdCBhL1BDL2NvbmZpZy5jIGIvUEMvY29uZmlnLmMKaW5kZXggMWZjMmI0MC4uYmU1MWI1NSAxMDA2NDQKLS0tIGEvUEMvY29uZmlnLmMKKysrIGIvUEMvY29uZmlnLmMKQEAgLTEyLDYgKzEyLDcgQEAKIGV4dGVybiBQeU9iamVjdCogUHlJbml0X2JpbmFzY2lpKHZvaWQpOwogZXh0ZXJuIFB5T2JqZWN0KiBQeUluaXRfY21hdGgodm9pZCk7CiBleHRlcm4gUHlPYmplY3QqIFB5SW5pdF9lcnJubyh2b2lkKTsKK2V4dGVybiBQeU9iamVjdCogUHlJbml0X2ZhdWx0aGFuZGxlcih2b2lkKTsKIGV4dGVybiBQeU9iamVjdCogUHlJbml0X2djKHZvaWQpOwogZXh0ZXJuIFB5T2JqZWN0KiBQeUluaXRfbWF0aCh2b2lkKTsKIGV4dGVybiBQeU9iamVjdCogUHlJbml0X19tZDUodm9pZCk7CkBAIC04Miw2ICs4Myw3IEBACiAgICAgeyJiaW5hc2NpaSIsIFB5SW5pdF9iaW5hc2NpaX0sCiAgICAgeyJjbWF0aCIsIFB5SW5pdF9jbWF0aH0sCiAgICAgeyJlcnJubyIsIFB5SW5pdF9lcnJub30sCisgICAgeyJmYXVsdGhhbmRsZXIiLCBQeUluaXRfZmF1bHRoYW5kbGVyfSwKICAgICB7ImdjIiwgUHlJbml0X2djfSwKICAgICB7Im1hdGgiLCBQeUluaXRfbWF0aH0sCiAgICAgeyJudCIsIFB5SW5pdF9udH0sIC8qIFVzZSB0aGUgTlQgb3MgZnVuY3Rpb25zLCBub3QgcG9zaXggKi8KZGlmZiAtLWdpdCBhL1BDL2V4YW1wbGVfbnQvZXhhbXBsZS52Y3Byb2ogYi9QQy9leGFtcGxlX250L2V4YW1wbGUudmNwcm9qCmluZGV4IGY5MjRjN2QuLmZiYTAwYjYgMTAwNjQ0Ci0tLSBhL1BDL2V4YW1wbGVfbnQvZXhhbXBsZS52Y3Byb2oKKysrIGIvUEMvZXhhbXBsZV9udC9leGFtcGxlLnZjcHJvagpAQCAtMzksNyArMzksNyBAQAogCQkJPFRvb2wNCiAJCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KIAkJCQlBZGRpdGlvbmFsT3B0aW9ucz0iL2V4cG9ydDppbml0ZXhhbXBsZSINCi0JCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0ib2RiYzMyLmxpYiBvZGJjY3AzMi5saWIgcHl0aG9uMjYubGliIg0KKwkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJvZGJjMzIubGliIG9kYmNjcDMyLmxpYiBweXRob24zMy5saWIiDQogCQkJCU91dHB1dEZpbGU9Ii5cUmVsZWFzZS9leGFtcGxlLnB5ZCINCiAJCQkJTGlua0luY3JlbWVudGFsPSIxIg0KIAkJCQlTdXBwcmVzc1N0YXJ0dXBCYW5uZXI9IlRSVUUiDQpAQCAtMTA1LDcgKzEwNSw3IEBACiAJCQk8VG9vbA0KIAkJCQlOYW1lPSJWQ0xpbmtlclRvb2wiDQogCQkJCUFkZGl0aW9uYWxPcHRpb25zPSIvZXhwb3J0OmluaXRleGFtcGxlIg0KLQkJCQlBZGRpdGlvbmFsRGVwZW5kZW5jaWVzPSJvZGJjMzIubGliIG9kYmNjcDMyLmxpYiBweXRob24yNl9kLmxpYiINCisJCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0ib2RiYzMyLmxpYiBvZGJjY3AzMi5saWIgcHl0aG9uMzNfZC5saWIiDQogCQkJCU91dHB1dEZpbGU9Ii5cRGVidWcvZXhhbXBsZV9kLnB5ZCINCiAJCQkJTGlua0luY3JlbWVudGFsPSIxIg0KIAkJCQlTdXBwcmVzc1N0YXJ0dXBCYW5uZXI9IlRSVUUiDQpkaWZmIC0tZ2l0IGEvUEMvZnJvemVuX2RsbG1haW4uYyBiL1BDL2Zyb3plbl9kbGxtYWluLmMKaW5kZXggYThjYzg4NS4uMDE1NmM1MCAxMDA2NDQKLS0tIGEvUEMvZnJvemVuX2RsbG1haW4uYworKysgYi9QQy9mcm96ZW5fZGxsbWFpbi5jCkBAIC03Nyw3ICs3Nyw3IEBACiB7CiAgICAgLy8gTXVzdCBnbyBiYWNrd2FyZHMKICAgICBjaGFyICoqbW9kTmFtZTsKLSAgICBmb3IgKG1vZE5hbWUgPSBwb3NzaWJsZU1vZHVsZXMrKHNpemVvZihwb3NzaWJsZU1vZHVsZXMpIC8gc2l6ZW9mKGNoYXIgKikpLTI7CisgICAgZm9yIChtb2ROYW1lID0gcG9zc2libGVNb2R1bGVzK1B5X0FSUkFZX0xFTkdUSChwb3NzaWJsZU1vZHVsZXMpLTI7CiAgICAgICAgICBtb2ROYW1lID49IHBvc3NpYmxlTW9kdWxlczsKICAgICAgICAgICptb2ROYW1lLS0pIHsKIC8qICAgICAgICAgICAgICBwcmludGYoIlRlcm1pbmF0aW5nICclcydcbiIsICptb2ROYW1lKTsqLwpAQCAtMTAzLDcgKzEwMyw3IEBACiAgICAgICAgIHsKICAgICAgICAgICAgIC8vIE11c3QgZ28gYmFja3dhcmRzCiAgICAgICAgICAgICBjaGFyICoqbW9kTmFtZTsKLSAgICAgICAgICAgIGZvciAobW9kTmFtZSA9IHBvc3NpYmxlTW9kdWxlcysoc2l6ZW9mKHBvc3NpYmxlTW9kdWxlcykgLyBzaXplb2YoY2hhciAqKSktMjsKKyAgICAgICAgICAgIGZvciAobW9kTmFtZSA9IHBvc3NpYmxlTW9kdWxlcytQeV9BUlJBWV9MRU5HVEgocG9zc2libGVNb2R1bGVzKS0yOwogICAgICAgICAgICAgICAgICBtb2ROYW1lID49IHBvc3NpYmxlTW9kdWxlczsKICAgICAgICAgICAgICAgICAgKm1vZE5hbWUtLSkKICAgICAgICAgICAgICAgICBDYWxsTW9kdWxlRGxsTWFpbigqbW9kTmFtZSwgRExMX1BST0NFU1NfREVUQUNIKTsKQEAgLTExOCw3ICsxMTgsNyBAQAogICAgIEJPT0wgKFdJTkFQSSAqIHBmbmRsbG1haW4pKEhJTlNUQU5DRSwgRFdPUkQsIExQVk9JRCk7CiAKICAgICBjaGFyIGZ1bmNOYW1lWzI1NV07Ci0gICAgSE1PRFVMRSBobW9kID0gR2V0TW9kdWxlSGFuZGxlKE5VTEwpOworICAgIEhNT0RVTEUgaG1vZCA9IEdldE1vZHVsZUhhbmRsZVcoTlVMTCk7CiAgICAgc3RyY3B5KGZ1bmNOYW1lLCAiX0RsbE1haW4iKTsKICAgICBzdHJjYXQoZnVuY05hbWUsIG1vZE5hbWUpOwogICAgIHN0cmNhdChmdW5jTmFtZSwgIkAxMiIpOyAvLyBzdGRjYWxsIGNvbnZlbnRpb24uCmRpZmYgLS1naXQgYS9QQy9nZXRwYXRocC5jIGIvUEMvZ2V0cGF0aHAuYwppbmRleCBjZDNhNGIyLi44OTIxYWEwIDEwMDY0NAotLS0gYS9QQy9nZXRwYXRocC5jCisrKyBiL1BDL2dldHBhdGhwLmMKQEAgLTI1MSw3ICsyNTEsNyBAQAogICAgIGlmIChrZXlCdWY9PU5VTEwpIGdvdG8gZG9uZTsKIAogICAgIG1lbWNweShrZXlCdWZQdHIsIGtleVByZWZpeCwgc2l6ZW9mKGtleVByZWZpeCktc2l6ZW9mKFdDSEFSKSk7Ci0gICAga2V5QnVmUHRyICs9IHNpemVvZihrZXlQcmVmaXgpL3NpemVvZihXQ0hBUikgLSAxOworICAgIGtleUJ1ZlB0ciArPSBQeV9BUlJBWV9MRU5HVEgoa2V5UHJlZml4KSAtIDE7CiAgICAgbWJzdG93Y3Moa2V5QnVmUHRyLCBQeVdpbl9ETExWZXJzaW9uU3RyaW5nLCB2ZXJzaW9uTGVuKTsKICAgICBrZXlCdWZQdHIgKz0gdmVyc2lvbkxlbjsKICAgICAvKiBOVUxMIGNvbWVzIHdpdGggdGhpcyBvbmUhICovCkBAIC03MDgsOCArNzA4LDggQEAKICAgICByZXR1cm4gcHJvZ3BhdGg7CiB9CiAKLS8qIExvYWQgcHl0aG9uMy5kbGwgYmVmb3JlIGxvYWRpbmcgYW55IGV4dGVuc2lvbiBtb2R1bGUgdGhhdCBtaWdodCByZWZlciAKLSAgIHRvIGl0LiBUaGF0IHdheSwgd2UgY2FuIGJlIHN1cmUgdGhhdCBhbHdheXMgdGhlIHB5dGhvbjMuZGxsIGNvcnJlc3BvbmRpbmcgCisvKiBMb2FkIHB5dGhvbjMuZGxsIGJlZm9yZSBsb2FkaW5nIGFueSBleHRlbnNpb24gbW9kdWxlIHRoYXQgbWlnaHQgcmVmZXIKKyAgIHRvIGl0LiBUaGF0IHdheSwgd2UgY2FuIGJlIHN1cmUgdGhhdCBhbHdheXMgdGhlIHB5dGhvbjMuZGxsIGNvcnJlc3BvbmRpbmcKICAgIHRvIHRoaXMgcHl0aG9uIERMTCBpcyBsb2FkZWQsIG5vdCBhIHB5dGhvbjMuZGxsIHRoYXQgbWlnaHQgYmUgb24gdGhlIHBhdGgKICAgIGJ5IGNoYW5jZS4KICAgIFJldHVybiB3aGV0aGVyIHRoZSBETEwgd2FzIGZvdW5kLgpkaWZmIC0tZ2l0IGEvUEMvaW1wb3J0X250LmMgYi9QQy9pbXBvcnRfbnQuYwppbmRleCAxOTZhNzc0Li5iOWIzNmRjIDEwMDY0NAotLS0gYS9QQy9pbXBvcnRfbnQuYworKysgYi9QQy9pbXBvcnRfbnQuYwpAQCAtMTUsNzIgKzE1LDEwMyBAQAogLyogYSBzdHJpbmcgbG9hZGVkIGZyb20gdGhlIERMTCBhdCBzdGFydHVwICovCiBleHRlcm4gY29uc3QgY2hhciAqUHlXaW5fRExMVmVyc2lvblN0cmluZzsKIAotRklMRSAqUHlXaW5fRmluZFJlZ2lzdGVyZWRNb2R1bGUoY29uc3QgY2hhciAqbW9kdWxlTmFtZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBmaWxlZGVzY3IgKipwcEZpbGVEZXNjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhciAqcGF0aEJ1ZiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3QgcGF0aExlbikKKy8qIEZpbmQgYSBtb2R1bGUgb24gV2luZG93cy4KKworICAgUmVhZCB0aGUgcmVnaXN0cnkgU29mdHdhcmVcUHl0aG9uXFB5dGhvbkNvcmVcPHZlcnNpb24+XE1vZHVsZXNcPG5hbWU+IChvcgorICAgU29mdHdhcmVcUHl0aG9uXFB5dGhvbkNvcmVcPHZlcnNpb24+XE1vZHVsZXNcPG5hbWU+XERlYnVnIGluIGRlYnVnIG1vZGUpCisgICBmcm9tIEhLRVlfQ1VSUkVOVF9VU0VSLCBvciBIS0VZX0xPQ0FMX01BQ0hJTkUuIEZpbmQgdGhlIGZpbGUgZGVzY3JpcHRvciB1c2luZworICAgdGhlIGZpbGUgZXh0ZW5zaW9uLiBPcGVuIHRoZSBmaWxlLgorCisgICBPbiBzdWNjZXNzLCB3cml0ZSB0aGUgZmlsZSBkZXNjcmlwdG9yIGludG8gKnBwRmlsZURlc2MsIHRoZSBtb2R1bGUgcGF0aAorICAgKFVuaWNvZGUgb2JqZWN0KSBpbnRvICpwUGF0aCwgYW5kIHJldHVybiB0aGUgb3BlbmVkIGZpbGUgb2JqZWN0LiBJZiB0aGUKKyAgIG1vZHVsZSBjYW5ub3QgYmUgZm91bmQgKGUuZy4gbm8gcmVnaXN0cnkga2V5IG9yIHRoZSBmaWxlIGRvZXNuJ3QgZXhpc3QpLAorICAgcmV0dXJuIE5VTEwuIE9uIGVycm9yLCByYWlzZSBhIFB5dGhvbiBleGNlcHRpb24gYW5kIHJldHVybiBOVUxMLgorICovCitGSUxFICoKK19QeVdpbl9GaW5kUmVnaXN0ZXJlZE1vZHVsZShQeU9iamVjdCAqbW9kdWxlTmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgZmlsZWRlc2NyICoqcHBGaWxlRGVzYywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeU9iamVjdCAqKnBQYXRoKQogewotICAgIGNoYXIgKm1vZHVsZUtleTsKLSAgICBjb25zdCBjaGFyIGtleVByZWZpeFtdID0gIlNvZnR3YXJlXFxQeXRob25cXFB5dGhvbkNvcmVcXCI7Ci0gICAgY29uc3QgY2hhciBrZXlTdWZmaXhbXSA9ICJcXE1vZHVsZXNcXCI7Ci0jaWZkZWYgX0RFQlVHCi0gICAgLyogSW4gZGVidWdnaW5nIGJ1aWxkcywgd2UgX211c3RfIGhhdmUgdGhlIGRlYnVnIHZlcnNpb24KLSAgICAgKiByZWdpc3RlcmVkLgotICAgICAqLwotICAgIGNvbnN0IGNoYXIgZGVidWdTdHJpbmdbXSA9ICJcXERlYnVnIjsKLSNlbHNlCi0gICAgY29uc3QgY2hhciBkZWJ1Z1N0cmluZ1tdID0gIiI7Ci0jZW5kaWYKLSAgICBzdHJ1Y3QgZmlsZWRlc2NyICpmZHAgPSBOVUxMOwotICAgIEZJTEUgKmZwOwotICAgIEhLRVkga2V5QmFzZSA9IEhLRVlfQ1VSUkVOVF9VU0VSOworICAgIHdjaGFyX3QgcGF0aEJ1ZltNQVhQQVRITEVOKzFdOworICAgIGludCBwYXRoTGVuID0gTUFYUEFUSExFTisxOworICAgIFB5T2JqZWN0ICpwYXRoLCAqbW9kdWxlS2V5LCAqc3VmZml4OworICAgIHdjaGFyX3QgKndtb2R1bGVLZXksICp3c3VmZml4OworICAgIHN0cnVjdCBmaWxlZGVzY3IgKmZkcDsKKyAgICBIS0VZIGtleUJhc2U7CiAgICAgaW50IG1vZE5hbWVTaXplOwogICAgIGxvbmcgcmVnU3RhdDsKKyAgICBQeV9zc2l6ZV90IGV4dExlbjsKKyAgICBGSUxFICpmcDsKIAotICAgIC8qIENhbGN1bGF0ZSB0aGUgc2l6ZSBmb3IgdGhlIHNwcmludGYgYnVmZmVyLgotICAgICAqIEdldCB0aGUgc2l6ZSBvZiB0aGUgY2hhcnMgb25seSwgcGx1cyAxIE5VTEwuCi0gICAgICovCi0gICAgc2l6ZV90IGJ1ZlNpemUgPSBzaXplb2Yoa2V5UHJlZml4KS0xICsKLSAgICAgICAgICAgICAgICAgICAgIHN0cmxlbihQeVdpbl9ETExWZXJzaW9uU3RyaW5nKSArCi0gICAgICAgICAgICAgICAgICAgICBzaXplb2Yoa2V5U3VmZml4KSArCi0gICAgICAgICAgICAgICAgICAgICBzdHJsZW4obW9kdWxlTmFtZSkgKwotICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKGRlYnVnU3RyaW5nKSAtIDE7Ci0gICAgLyogYWxsb2NhID09IG5vIGZyZWUgcmVxdWlyZWQsIGJ1dCBtZW1vcnkgb25seSBsb2NhbCB0byBmbiwKLSAgICAgKiBhbHNvIG5vIGhlYXAgZnJhZ21lbnRhdGlvbiEKLSAgICAgKi8KLSAgICBtb2R1bGVLZXkgPSBhbGxvY2EoYnVmU2l6ZSk7Ci0gICAgUHlPU19zbnByaW50Zihtb2R1bGVLZXksIGJ1ZlNpemUsCi0gICAgICAgICAgICAgICAgICAiU29mdHdhcmVcXFB5dGhvblxcUHl0aG9uQ29yZVxcJXNcXE1vZHVsZXNcXCVzJXMiLAotICAgICAgICAgICAgICAgICAgUHlXaW5fRExMVmVyc2lvblN0cmluZywgbW9kdWxlTmFtZSwgZGVidWdTdHJpbmcpOworICAgIG1vZHVsZUtleSA9IFB5VW5pY29kZV9Gcm9tRm9ybWF0KAorI2lmZGVmIF9ERUJVRworICAgICAgICAvKiBJbiBkZWJ1Z2dpbmcgYnVpbGRzLCB3ZSBfbXVzdF8gaGF2ZSB0aGUgZGVidWcgdmVyc2lvbiByZWdpc3RlcmVkICovCisgICAgICAgICJTb2Z0d2FyZVxcUHl0aG9uXFxQeXRob25Db3JlXFwlc1xcTW9kdWxlc1xcJVVcXERlYnVnIiwKKyNlbHNlCisgICAgICAgICJTb2Z0d2FyZVxcUHl0aG9uXFxQeXRob25Db3JlXFwlc1xcTW9kdWxlc1xcJVUiLAorI2VuZGlmCisgICAgICAgIFB5V2luX0RMTFZlcnNpb25TdHJpbmcsIG1vZHVsZU5hbWUpOworICAgIGlmIChtb2R1bGVLZXkgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgd21vZHVsZUtleSA9IFB5VW5pY29kZV9Bc1VuaWNvZGUobW9kdWxlS2V5KTsKKyAgICBpZiAod21vZHVsZUtleSA9PSBOVUxMKSB7CisgICAgICAgIFB5X0RFQ1JFRihtb2R1bGVLZXkpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CiAKLSAgICBhc3NlcnQocGF0aExlbiA8IElOVF9NQVgpOwotICAgIG1vZE5hbWVTaXplID0gKGludClwYXRoTGVuOwotICAgIHJlZ1N0YXQgPSBSZWdRdWVyeVZhbHVlKGtleUJhc2UsIG1vZHVsZUtleSwgcGF0aEJ1ZiwgJm1vZE5hbWVTaXplKTsKKyAgICBrZXlCYXNlID0gSEtFWV9DVVJSRU5UX1VTRVI7CisgICAgbW9kTmFtZVNpemUgPSBwYXRoTGVuOworICAgIHJlZ1N0YXQgPSBSZWdRdWVyeVZhbHVlVyhrZXlCYXNlLCB3bW9kdWxlS2V5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoQnVmLCAmbW9kTmFtZVNpemUpOwogICAgIGlmIChyZWdTdGF0ICE9IEVSUk9SX1NVQ0NFU1MpIHsKICAgICAgICAgLyogTm8gdXNlciBzZXR0aW5nIC0gbG9va3VwIGluIG1hY2hpbmUgc2V0dGluZ3MgKi8KICAgICAgICAga2V5QmFzZSA9IEhLRVlfTE9DQUxfTUFDSElORTsKICAgICAgICAgLyogYmUgYW5hbCAtIGZhaWx1cmUgbWF5IGhhdmUgcmVzZXQgc2l6ZSBwYXJhbSAqLwotICAgICAgICBtb2ROYW1lU2l6ZSA9IChpbnQpcGF0aExlbjsKLSAgICAgICAgcmVnU3RhdCA9IFJlZ1F1ZXJ5VmFsdWUoa2V5QmFzZSwgbW9kdWxlS2V5LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoQnVmLCAmbW9kTmFtZVNpemUpOwotCi0gICAgICAgIGlmIChyZWdTdGF0ICE9IEVSUk9SX1NVQ0NFU1MpCisgICAgICAgIG1vZE5hbWVTaXplID0gcGF0aExlbjsKKyAgICAgICAgcmVnU3RhdCA9IFJlZ1F1ZXJ5VmFsdWVXKGtleUJhc2UsIHdtb2R1bGVLZXksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoQnVmLCAmbW9kTmFtZVNpemUpOworICAgICAgICBpZiAocmVnU3RhdCAhPSBFUlJPUl9TVUNDRVNTKSB7CisgICAgICAgICAgICBQeV9ERUNSRUYobW9kdWxlS2V5KTsKICAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICB9CisgICAgfQorICAgIFB5X0RFQ1JFRihtb2R1bGVLZXkpOworICAgIGlmIChtb2ROYW1lU2l6ZSA8IDMpIHsKKyAgICAgICAgLyogcGF0aCBzaG9ydGVyIHRoYW4gImEubyIgb3IgbmVnYXRpdmUgbGVuZ3RoIChjYXN0IHRvCisgICAgICAgICAgIHNpemVfdCBpcyB3cm9uZykgKi8KKyAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogICAgIC8qIHVzZSB0aGUgZmlsZSBleHRlbnNpb24gdG8gbG9jYXRlIHRoZSB0eXBlIGVudHJ5LiAqLwogICAgIGZvciAoZmRwID0gX1B5SW1wb3J0X0ZpbGV0YWI7IGZkcC0+c3VmZml4ICE9IE5VTEw7IGZkcCsrKSB7Ci0gICAgICAgIHNpemVfdCBleHRMZW4gPSBzdHJsZW4oZmRwLT5zdWZmaXgpOwotICAgICAgICBhc3NlcnQobW9kTmFtZVNpemUgPj0gMCk7IC8qIGVsc2UgY2FzdCB0byBzaXplX3QgaXMgd3JvbmcgKi8KLSAgICAgICAgaWYgKChzaXplX3QpbW9kTmFtZVNpemUgPiBleHRMZW4gJiYKLSAgICAgICAgICAgIHN0cm5pY21wKHBhdGhCdWYgKyAoKHNpemVfdCltb2ROYW1lU2l6ZS1leHRMZW4tMSksCi0gICAgICAgICAgICAgICAgICAgICBmZHAtPnN1ZmZpeCwKLSAgICAgICAgICAgICAgICAgICAgIGV4dExlbikgPT0gMCkKKyAgICAgICAgc3VmZml4ID0gUHlVbmljb2RlX0Zyb21TdHJpbmcoZmRwLT5zdWZmaXgpOworICAgICAgICBpZiAoc3VmZml4ID09IE5VTEwpCisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgd3N1ZmZpeCA9IFB5VW5pY29kZV9Bc1VuaWNvZGVBbmRTaXplKHN1ZmZpeCwgJmV4dExlbik7CisgICAgICAgIGlmICh3c3VmZml4ID09IE5VTEwpIHsKKyAgICAgICAgICAgIFB5X0RFQ1JFRihzdWZmaXgpOworICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIH0KKyAgICAgICAgaWYgKChQeV9zc2l6ZV90KW1vZE5hbWVTaXplID4gZXh0TGVuICYmCisgICAgICAgICAgICBfd2NzbmljbXAocGF0aEJ1ZiArICgoUHlfc3NpemVfdCltb2ROYW1lU2l6ZS1leHRMZW4tMSksCisgICAgICAgICAgICAgICAgICAgICAgd3N1ZmZpeCwKKyAgICAgICAgICAgICAgICAgICAgICBleHRMZW4pID09IDApCisgICAgICAgIHsKKyAgICAgICAgICAgIFB5X0RFQ1JFRihzdWZmaXgpOwogICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgUHlfREVDUkVGKHN1ZmZpeCk7CiAgICAgfQogICAgIGlmIChmZHAtPnN1ZmZpeCA9PSBOVUxMKQogICAgICAgICByZXR1cm4gTlVMTDsKLSAgICBmcCA9IGZvcGVuKHBhdGhCdWYsIGZkcC0+bW9kZSk7Ci0gICAgaWYgKGZwICE9IE5VTEwpCi0gICAgICAgICpwcEZpbGVEZXNjID0gZmRwOworICAgIHBhdGggPSBQeVVuaWNvZGVfRnJvbVdpZGVDaGFyKHBhdGhCdWYsIHdjc2xlbihwYXRoQnVmKSk7CisgICAgaWYgKHBhdGggPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgZnAgPSBfUHlfZm9wZW4ocGF0aCwgZmRwLT5tb2RlKTsKKyAgICBpZiAoZnAgPT0gTlVMTCkgeworICAgICAgICBQeV9ERUNSRUYocGF0aCk7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKyAgICAqcFBhdGggPSBwYXRoOworICAgICpwcEZpbGVEZXNjID0gZmRwOwogICAgIHJldHVybiBmcDsKIH0KZGlmZiAtLWdpdCBhL1BDL21zdmNydG1vZHVsZS5jIGIvUEMvbXN2Y3J0bW9kdWxlLmMKaW5kZXggMTY2ZGYwMy4uZjI3N2IwYSAxMDA3NTUKLS0tIGEvUEMvbXN2Y3J0bW9kdWxlLmMKKysrIGIvUEMvbXN2Y3J0bW9kdWxlLmMKQEAgLTIxMSw4ICsyMTEsNyBAQAogc3RhdGljIFB5T2JqZWN0ICoKIG1zdmNydF9nZXR3Y2goUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQogewotICAgIFB5X1VOSUNPREUgY2g7Ci0gICAgUHlfVU5JQ09ERSB1WzFdOworICAgIHdjaGFyX3QgY2g7CiAKICAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIjpnZXR3Y2giKSkKICAgICAgICAgcmV0dXJuIE5VTEw7CkBAIC0yMjAsOCArMjE5LDcgQEAKICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCiAgICAgY2ggPSBfZ2V0d2NoKCk7CiAgICAgUHlfRU5EX0FMTE9XX1RIUkVBRFMKLSAgICB1WzBdID0gY2g7Ci0gICAgcmV0dXJuIFB5VW5pY29kZV9Gcm9tVW5pY29kZSh1LCAxKTsKKyAgICByZXR1cm4gUHlVbmljb2RlX0Zyb21PcmRpbmFsKGNoKTsKIH0KIAogUHlEb2NfU1RSVkFSKGdldHdjaF9kb2MsCkBAIC0yNTYsOCArMjU0LDcgQEAKIHN0YXRpYyBQeU9iamVjdCAqCiBtc3ZjcnRfZ2V0d2NoZShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCiB7Ci0gICAgUHlfVU5JQ09ERSBjaDsKLSAgICBQeV9VTklDT0RFIHNbMV07CisgICAgd2NoYXJfdCBjaDsKIAogICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiOmdldHdjaGUiKSkKICAgICAgICAgcmV0dXJuIE5VTEw7CkBAIC0yNjUsOCArMjYyLDcgQEAKICAgICBQeV9CRUdJTl9BTExPV19USFJFQURTCiAgICAgY2ggPSBfZ2V0d2NoZSgpOwogICAgIFB5X0VORF9BTExPV19USFJFQURTCi0gICAgc1swXSA9IGNoOwotICAgIHJldHVybiBQeVVuaWNvZGVfRnJvbVVuaWNvZGUocywgMSk7CisgICAgcmV0dXJuIFB5VW5pY29kZV9Gcm9tT3JkaW5hbChjaCk7CiB9CiAKIFB5RG9jX1NUUlZBUihnZXR3Y2hlX2RvYywKZGlmZiAtLWdpdCBhL1BDL29zMmVteC9NYWtlZmlsZSBiL1BDL29zMmVteC9NYWtlZmlsZQppbmRleCBkOWNkZWQ3Li44MDA2MTBlIDEwMDY0NAotLS0gYS9QQy9vczJlbXgvTWFrZWZpbGUKKysrIGIvUEMvb3MyZW14L01ha2VmaWxlCkBAIC0yMzcsNyArMjM3LDcgQEAKIAogIyBPdXRwdXQgZmlsZSBuYW1lcwogUFlUSE9OX1ZFUj0JMi42Ci1QWVRIT05fTElCPQlweXRob24yNgorUFlUSE9OX0xJQj0JcHl0aG9uMzMKIFBZVEhPTi5MSUI9CSQoUFlUSE9OX0xJQilfcyRBCiBQWVRIT04uSU1QTElCPQkkKFBZVEhPTl9MSUIpJEEKIGlmZXEgKCQoRVhFT01GKSx5ZXMpCmRpZmYgLS1naXQgYS9QQy9vczJlbXgvUkVBRE1FLm9zMmVteCBiL1BDL29zMmVteC9SRUFETUUub3MyZW14CmluZGV4IGZjZjU1ZDIuLjYxY2Y2ZGYgMTAwNjQ0Ci0tLSBhL1BDL29zMmVteC9SRUFETUUub3MyZW14CisrKyBiL1BDL29zMmVteC9SRUFETUUub3MyZW14CkBAIC0zMDUsNyArMzA1LDcgQEAKICAgIHRvIGJlIGluc3RhbGxlZCBpbiBhIGRpcmVjdG9yeSBvdGhlciB0aGFuIHRoZSBQWVRIT05IT01FIGRpcmVjdG9yeSwgc2V0IAogICAgdGhlIHZhbHVlIG9mIHRoZSBNYWtlZmlsZSB2YXJpYWJsZSBFWEVfRElSIHRvIHRoZSBhcHByb3ByaWF0ZSBkaXJlY3RvcnkuCiAKLTMuIElmIHlvdSB3aXNoIHRoZSBQeXRob24gY29yZSBETEwgKHB5dGhvbjI2LmRsbCkgdG8gYmUgaW5zdGFsbGVkIGluIGEgCiszLiBJZiB5b3Ugd2lzaCB0aGUgUHl0aG9uIGNvcmUgRExMIChweXRob24zMy5kbGwpIHRvIGJlIGluc3RhbGxlZCBpbiBhIAogICAgZGlyZWN0b3J5IG90aGVyIHRoYW4gdGhlIGRpcmVjdG9yeSBpbiB3aGljaCB0aGUgUHl0aG9uIGV4ZWN1dGFibGVzIGFyZSAKICAgIGluc3RhbGxlZCAoYnkgZGVmYXVsdCwgdGhlIFBZVEhPTkhPTUUgZGlyZWN0b3J5KSwgc2V0IHRoZSB2YWx1ZSBvZiB0aGUgCiAgICBNYWtlZmlsZSB2YXJpYWJsZSBETExfRElSIHRvIHRoZSBhcHByb3ByaWF0ZSBkaXJlY3RvcnkuICBUaGlzIERMTCBtdXN0IApkaWZmIC0tZ2l0IGEvUEMvb3MyZW14L3B5Y29uZmlnLmggYi9QQy9vczJlbXgvcHljb25maWcuaAppbmRleCAzODBlMTljLi5lNTYxMDVhIDEwMDY0NAotLS0gYS9QQy9vczJlbXgvcHljb25maWcuaAorKysgYi9QQy9vczJlbXgvcHljb25maWcuaApAQCAtMSw2ICsxLDggQEAKICNpZm5kZWYgUHlfQ09ORklHX0gKICNkZWZpbmUgUHlfQ09ORklHX0gKIAorI2Vycm9yICJQRVAgMTE6IE9TLzIgaXMgbm93IHVuc3VwcG9ydGVkLCBjb2RlIHdpbGwgYmUgcmVtb3ZlZCBpbiBQeXRob24gMy40IgorCiAvKiBjb25maWcuaC4KICAqIEF0IHNvbWUgdGltZSBpbiB0aGUgcGFzdCwgZ2VuZXJhdGVkIGF1dG9tYXRpY2FsbHkgYnkvZnJvbSBjb25maWd1cmUuCiAgKiBub3cgbWFpbnRhaW5lZCBtYW51YWxseS4KZGlmZiAtLWdpdCBhL1BDL29zMmVteC9weXRob24yNy5kZWYgYi9QQy9vczJlbXgvcHl0aG9uMzMuZGVmCnNpbWlsYXJpdHkgaW5kZXggODUlCnJlbmFtZSBmcm9tIFBDL29zMmVteC9weXRob24yNy5kZWYKcmVuYW1lIHRvIFBDL29zMmVteC9weXRob24zMy5kZWYKaW5kZXggZDg3ZGQ3Ni4uMjU2NzI2YiAxMDA2NDQKLS0tIGEvUEMvb3MyZW14L3B5dGhvbjI3LmRlZgorKysgYi9QQy9vczJlbXgvcHl0aG9uMzMuZGVmCkBAIC0xLDcyICsxLDcyIEBACi1MSUJSQVJZIHB5dGhvbjI2IElOSVRJTlNUQU5DRSBURVJNSU5TVEFOQ0UgCitMSUJSQVJZIHB5dGhvbjMzIElOSVRJTlNUQU5DRSBURVJNSU5TVEFOQ0UgCiBERVNDUklQVElPTiAiUHl0aG9uIDIuNiBDb3JlIERMTCIgCiBQUk9UTU9ERSAKIERBVEEgTVVMVElQTEUgTk9OU0hBUkVEIAogRVhQT1JUUyAKIAotOyBGcm9tIHB5dGhvbjI2X3MubGliKGNvbmZpZykKKzsgRnJvbSBweXRob24zM19zLmxpYihjb25maWcpCiAgICJfUHlJbXBvcnRfSW5pdHRhYiIKIAotOyBGcm9tIHB5dGhvbjI2X3MubGliKGRsZmNuKQorOyBGcm9tIHB5dGhvbjMzX3MubGliKGRsZmNuKQogOyAgImRsb3BlbiIKIDsgICJkbHN5bSIKIDsgICJkbGNsb3NlIgogOyAgImRsZXJyb3IiCiAKLTsgRnJvbSBweXRob24yNl9zLmxpYihnZXRwYXRocCkKKzsgRnJvbSBweXRob24zM19zLmxpYihnZXRwYXRocCkKICAgIlB5X0dldFByb2dyYW1GdWxsUGF0aCIKICAgIlB5X0dldFByZWZpeCIKICAgIlB5X0dldEV4ZWNQcmVmaXgiCiAgICJQeV9HZXRQYXRoIgogCi07IEZyb20gcHl0aG9uMjZfcy5saWIoZ2V0YnVpbGRpbmZvKQorOyBGcm9tIHB5dGhvbjMzX3MubGliKGdldGJ1aWxkaW5mbykKICAgIlB5X0dldEJ1aWxkSW5mbyIKICAgIl9QeV9zdm52ZXJzaW9uIgogCi07IEZyb20gcHl0aG9uMjZfcy5saWIobWFpbikKKzsgRnJvbSBweXRob24zM19zLmxpYihtYWluKQogICAiUHlfTWFpbiIKICAgIlB5X0dldEFyZ2NBcmd2IgogCi07IEZyb20gcHl0aG9uMjZfcy5saWIoYWNjZWxlcikKKzsgRnJvbSBweXRob24zM19zLmxpYihhY2NlbGVyKQogICAiUHlHcmFtbWFyX0FkZEFjY2VsZXJhdG9ycyIKICAgIlB5R3JhbW1hcl9SZW1vdmVBY2NlbGVyYXRvcnMiCiAKLTsgRnJvbSBweXRob24yNl9zLmxpYihncmFtbWFyMSkKKzsgRnJvbSBweXRob24zM19zLmxpYihncmFtbWFyMSkKICAgIlB5R3JhbW1hcl9GaW5kREZBIgogICAiUHlHcmFtbWFyX0xhYmVsUmVwciIKIAotOyBGcm9tIHB5dGhvbjI2X3MubGliKGxpc3Rub2RlKQorOyBGcm9tIHB5dGhvbjMzX3MubGliKGxpc3Rub2RlKQogICAiUHlOb2RlX0xpc3RUcmVlIgogCi07IEZyb20gcHl0aG9uMjZfcy5saWIobm9kZSkKKzsgRnJvbSBweXRob24zM19zLmxpYihub2RlKQogICAiUHlOb2RlX05ldyIKICAgIlB5Tm9kZV9BZGRDaGlsZCIKICAgIlB5Tm9kZV9GcmVlIgogCi07IEZyb20gcHl0aG9uMjZfcy5saWIocGFyc2VyKQorOyBGcm9tIHB5dGhvbjMzX3MubGliKHBhcnNlcikKICAgIlB5UGFyc2VyX0FkZFRva2VuIgogICAiUHlQYXJzZXJfTmV3IgogICAiUHlQYXJzZXJfRGVsZXRlIgogCi07IEZyb20gcHl0aG9uMjZfcy5saWIocGFyc2V0b2spCis7IEZyb20gcHl0aG9uMzNfcy5saWIocGFyc2V0b2spCiAgICJQeVBhcnNlcl9QYXJzZVN0cmluZyIKICAgIlB5UGFyc2VyX1BhcnNlU3RyaW5nRmxhZ3NGaWxlbmFtZSIKICAgIlB5UGFyc2VyX1BhcnNlRmlsZSIKICAgIlB5UGFyc2VyX1BhcnNlRmlsZUZsYWdzIgogICAiUHlQYXJzZXJfUGFyc2VTdHJpbmdGbGFncyIKIAotOyBGcm9tIHB5dGhvbjI2X3MubGliKGJpdHNldCkKKzsgRnJvbSBweXRob24zM19zLmxpYihiaXRzZXQpCiAgICJfUHlfbmV3Yml0c2V0IgogICAiX1B5X2RlbGJpdHNldCIKICAgIl9QeV9hZGRiaXQiCiAgICJfUHlfc2FtZWJpdHNldCIKICAgIl9QeV9tZXJnZWJpdHNldCIKIAotOyBGcm9tIHB5dGhvbjI2X3MubGliKG1ldGFncmFtbWFyKQorOyBGcm9tIHB5dGhvbjMzX3MubGliKG1ldGFncmFtbWFyKQogICAiX1B5X21ldGFfZ3JhbW1hciIKICAgIlB5X21ldGFfZ3JhbW1hciIKIAotOyBGcm9tIHB5dGhvbjI2X3MubGliKHRva2VuaXplcikKKzsgRnJvbSBweXRob24zM19zLmxpYih0b2tlbml6ZXIpCiAgICJQeVRva2VuX09uZUNoYXIiCiAgICJQeVRva2VuX1R3b0NoYXJzIgogICAiUHlUb2tlbl9UaHJlZUNoYXJzIgpAQCAtNzYsMTQgKzc2LDE0IEBACiAgICJQeVRva2VuaXplcl9HZXQiCiAgICJfUHlQYXJzZXJfVG9rZW5OYW1lcyIKIAotOyBGcm9tIHB5dGhvbjI2X3MubGliKG15cmVhZGxpbmUpCis7IEZyb20gcHl0aG9uMzNfcy5saWIobXlyZWFkbGluZSkKICAgIl9QeU9TX1JlYWRsaW5lVFN0YXRlIgogICAiUHlPU19SZWFkbGluZUZ1bmN0aW9uUG9pbnRlciIKICAgIlB5T1NfU3RkaW9SZWFkbGluZSIKICAgIlB5T1NfUmVhZGxpbmUiCiAgICJQeU9TX0lucHV0SG9vayIKIAotOyBGcm9tIHB5dGhvbjI2X3MubGliKGFic3RyYWN0KQorOyBGcm9tIHB5dGhvbjMzX3MubGliKGFic3RyYWN0KQogICAiX1B5T2JqZWN0X0xlbmd0aEhpbnQiCiAgICJQeU1hcHBpbmdfU2l6ZSIKICAgIlB5T2JqZWN0X0NhbGxNZXRob2QiCkBAIC0xNzQsMTMgKzE3NCwxMyBAQAogICAiUHlPYmplY3RfSXNJbnN0YW5jZSIKICAgIlB5T2JqZWN0X0lzU3ViY2xhc3MiCiAKLTsgRnJvbSBweXRob24yNl9zLmxpYihib29sb2JqZWN0KQorOyBGcm9tIHB5dGhvbjMzX3MubGliKGJvb2xvYmplY3QpCiAgICJQeUJvb2xfRnJvbUxvbmciCiAgICJQeUJvb2xfVHlwZSIKICAgIl9QeV9aZXJvU3RydWN0IgogICAiX1B5X1RydWVTdHJ1Y3QiCiAKLTsgRnJvbSBweXRob24yNl9zLmxpYihidWZmZXJvYmplY3QpCis7IEZyb20gcHl0aG9uMzNfcy5saWIoYnVmZmVyb2JqZWN0KQogICAiUHlCdWZmZXJfRnJvbU9iamVjdCIKICAgIlB5QnVmZmVyX0Zyb21SZWFkV3JpdGVPYmplY3QiCiAgICJQeUJ1ZmZlcl9Gcm9tTWVtb3J5IgpAQCAtMTg4LDEzICsxODgsMTMgQEAKICAgIlB5QnVmZmVyX05ldyIKICAgIlB5QnVmZmVyX1R5cGUiCiAKLTsgRnJvbSBweXRob24yNl9zLmxpYihjZWxsb2JqZWN0KQorOyBGcm9tIHB5dGhvbjMzX3MubGliKGNlbGxvYmplY3QpCiAgICJQeUNlbGxfTmV3IgogICAiUHlDZWxsX0dldCIKICAgIlB5Q2VsbF9TZXQiCiAgICJQeUNlbGxfVHlwZSIKIAotOyBGcm9tIHB5dGhvbjI2X3MubGliKGNsYXNzb2JqZWN0KQorOyBGcm9tIHB5dGhvbjMzX3MubGliKGNsYXNzb2JqZWN0KQogICAiUHlDbGFzc19OZXciCiAgICJQeUNsYXNzX0lzU3ViY2xhc3MiCiAgICJQeUluc3RhbmNlX05ldyIKQEAgLTIwOSw3ICsyMDksNyBAQAogICAiUHlJbnN0YW5jZV9UeXBlIgogICAiUHlNZXRob2RfVHlwZSIKIAotOyBGcm9tIHB5dGhvbjI2X3MubGliKGNhcHN1bGUpCis7IEZyb20gcHl0aG9uMzNfcy5saWIoY2Fwc3VsZSkKICAgIlB5Q2Fwc3VsZV9HZXRDb250ZXh0IgogICAiUHlDYXBzdWxlX0dldERlc3RydWN0b3IiCiAgICJQeUNhcHN1bGVfR2V0TmFtZSIKQEAgLTIyMiw3ICsyMjIsNyBAQAogICAiUHlDYXBzdWxlX1NldE5hbWUiCiAgICJQeUNhcHN1bGVfU2V0UG9pbnRlciIKIAotOyBGcm9tIHB5dGhvbjI2X3MubGliKGNvYmplY3QpCis7IEZyb20gcHl0aG9uMzNfcy5saWIoY29iamVjdCkKICAgIlB5Q09iamVjdF9Gcm9tVm9pZFB0ciIKICAgIlB5Q09iamVjdF9Gcm9tVm9pZFB0ckFuZERlc2MiCiAgICJQeUNPYmplY3RfQXNWb2lkUHRyIgpAQCAtMjMxLDEzICsyMzEsMTMgQEAKICAgIlB5Q09iamVjdF9TZXRWb2lkUHRyIgogICAiUHlDT2JqZWN0X1R5cGUiCiAKLTsgRnJvbSBweXRob24yNl9zLmxpYihjb2Rlb2JqZWN0KQorOyBGcm9tIHB5dGhvbjMzX3MubGliKGNvZGVvYmplY3QpCiAgICJQeUNvZGVfTmV3IgogICAiUHlDb2RlX0FkZHIyTGluZSIKICAgIlB5Q29kZV9DaGVja0xpbmVOdW1iZXIiCiAgICJQeUNvZGVfVHlwZSIKIAotOyBGcm9tIHB5dGhvbjI2X3MubGliKGNvbXBsZXhvYmplY3QpCis7IEZyb20gcHl0aG9uMzNfcy5saWIoY29tcGxleG9iamVjdCkKICAgIl9QeV9jX3BvdyIKICAgIl9QeV9jX3N1bSIKICAgIl9QeV9jX2RpZmYiCkBAIC0yNTEsNyArMjUxLDcgQEAKICAgIlB5Q29tcGxleF9Bc0NDb21wbGV4IgogICAiUHlDb21wbGV4X1R5cGUiCiAKLTsgRnJvbSBweXRob24yNl9zLmxpYihkZXNjcm9iamVjdCkKKzsgRnJvbSBweXRob24zM19zLmxpYihkZXNjcm9iamVjdCkKICAgIlB5V3JhcHBlcl9OZXciCiAgICJQeURlc2NyX05ld01ldGhvZCIKICAgIlB5RGVzY3JfTmV3Q2xhc3NNZXRob2QiCkBAIC0yNjIsNyArMjYyLDcgQEAKICAgIlB5V3JhcHBlckRlc2NyX1R5cGUiCiAgICJQeVByb3BlcnR5X1R5cGUiCiAKLTsgRnJvbSBweXRob24yNl9zLmxpYihkaWN0b2JqZWN0KQorOyBGcm9tIHB5dGhvbjMzX3MubGliKGRpY3RvYmplY3QpCiAgICJQeURpY3RfTmV3IgogICAiUHlEaWN0X0dldEl0ZW0iCiAgICJQeURpY3RfU2V0SXRlbSIKQEAgLTI4NiwxMSArMjg2LDExIEBACiAgICJQeURpY3RJdGVyVmFsdWVfVHlwZSIKICAgIlB5RGljdEl0ZXJJdGVtX1R5cGUiCiAKLTsgRnJvbSBweXRob24yNl9zLmxpYihlbnVtb2JqZWN0KQorOyBGcm9tIHB5dGhvbjMzX3MubGliKGVudW1vYmplY3QpCiAgICJQeUVudW1fVHlwZSIKICAgIlB5UmV2ZXJzZWRfVHlwZSIKIAotOyBGcm9tIHB5dGhvbjI2X3MubGliKGZpbGVvYmplY3QpCis7IEZyb20gcHl0aG9uMzNfcy5saWIoZmlsZW9iamVjdCkKICAgIlB5RmlsZV9Gcm9tU3RyaW5nIgogICAiUHlfVW5pdmVyc2FsTmV3bGluZUZyZWFkIgogICAiUHlGaWxlX0dldExpbmUiCkBAIC0zMDYsNyArMzA2LDcgQEAKICAgIlB5RmlsZV9OYW1lIgogICAiUHlGaWxlX1R5cGUiCiAKLTsgRnJvbSBweXRob24yNl9zLmxpYihmbG9hdG9iamVjdCkKKzsgRnJvbSBweXRob24zM19zLmxpYihmbG9hdG9iamVjdCkKICAgIlB5RmxvYXRfRnJvbVN0cmluZyIKICAgIlB5RmxvYXRfQXNEb3VibGUiCiAgICJQeUZsb2F0X0ZpbmkiCkBAIC0zMjEsNyArMzIxLDcgQEAKICAgIlB5RmxvYXRfQXNTdHJpbmdFeCIKICAgIlB5RmxvYXRfVHlwZSIKIAotOyBGcm9tIHB5dGhvbjI2X3MubGliKGZyYW1lb2JqZWN0KQorOyBGcm9tIHB5dGhvbjMzX3MubGliKGZyYW1lb2JqZWN0KQogICAiUHlGcmFtZV9OZXciCiAgICJQeUZyYW1lX0Zhc3RUb0xvY2FscyIKICAgIlB5RnJhbWVfTG9jYWxzVG9GYXN0IgpAQCAtMzMxLDcgKzMzMSw3IEBACiAgICJQeUZyYW1lX0Jsb2NrUG9wIgogICAiUHlGcmFtZV9UeXBlIgogCi07IEZyb20gcHl0aG9uMjZfcy5saWIoZnVuY29iamVjdCkKKzsgRnJvbSBweXRob24zM19zLmxpYihmdW5jb2JqZWN0KQogICAiUHlGdW5jdGlvbl9OZXciCiAgICJQeUZ1bmN0aW9uX0dldENvZGUiCiAgICJQeUZ1bmN0aW9uX0dldEdsb2JhbHMiCkBAIC0zNDYsMTIgKzM0NiwxMiBAQAogICAiUHlDbGFzc01ldGhvZF9UeXBlIgogICAiUHlTdGF0aWNNZXRob2RfVHlwZSIKIAotOyBGcm9tIHB5dGhvbjI2X3MubGliKGdlbm9iamVjdCkKKzsgRnJvbSBweXRob24zM19zLmxpYihnZW5vYmplY3QpCiAgICJQeUdlbl9OZXciCiAgICJQeUdlbl9OZWVkc0ZpbmFsaXppbmciCiAgICJQeUdlbl9UeXBlIgogCi07IEZyb20gcHl0aG9uMjZfcy5saWIoaW50b2JqZWN0KQorOyBGcm9tIHB5dGhvbjMzX3MubGliKGludG9iamVjdCkKICAgIlB5SW50X0FzTG9uZyIKICAgIlB5SW50X0FzVW5zaWduZWRMb25nTWFzayIKICAgIlB5SW50X0FzVW5zaWduZWRMb25nTG9uZ01hc2siCkBAIC0zNjYsMTMgKzM2NiwxMyBAQAogICAiX1B5SW50X0luaXQiCiAgICJQeUludF9UeXBlIgogCi07IEZyb20gcHl0aG9uMjZfcy5saWIoaXRlcm9iamVjdCkKKzsgRnJvbSBweXRob24zM19zLmxpYihpdGVyb2JqZWN0KQogICAiUHlTZXFJdGVyX05ldyIKICAgIlB5Q2FsbEl0ZXJfTmV3IgogICAiUHlTZXFJdGVyX1R5cGUiCiAgICJQeUNhbGxJdGVyX1R5cGUiCiAKLTsgRnJvbSBweXRob24yNl9zLmxpYihsaXN0b2JqZWN0KQorOyBGcm9tIHB5dGhvbjMzX3MubGliKGxpc3RvYmplY3QpCiAgICJQeUxpc3RfTmV3IgogICAiUHlMaXN0X0FwcGVuZCIKICAgIlB5TGlzdF9TaXplIgpAQCAtMzkwLDcgKzM5MCw3IEBACiAgICJQeUxpc3RJdGVyX1R5cGUiCiAgICJQeUxpc3RSZXZJdGVyX1R5cGUiCiAKLTsgRnJvbSBweXRob24yNl9zLmxpYihsb25nb2JqZWN0KQorOyBGcm9tIHB5dGhvbjMzX3MubGliKGxvbmdvYmplY3QpCiAgICJQeUxvbmdfRnJvbURvdWJsZSIKICAgIlB5TG9uZ19Bc0xvbmciCiAgICJfUHlMb25nX0FzU3NpemVfdCIKQEAgLTQyMCw3ICs0MjAsNyBAQAogICAiUHlMb25nX1R5cGUiCiAgICJfUHlMb25nX0RpZ2l0VmFsdWUiCiAKLTsgRnJvbSBweXRob24yNl9zLmxpYihtZXRob2RvYmplY3QpCis7IEZyb20gcHl0aG9uMzNfcy5saWIobWV0aG9kb2JqZWN0KQogICAiUHlDRnVuY3Rpb25fQ2FsbCIKICAgIlB5X0ZpbmRNZXRob2RJbkNoYWluIgogICAiUHlDRnVuY3Rpb25fR2V0RnVuY3Rpb24iCkBAIC00MzIsNyArNDMyLDcgQEAKICAgIlB5Q0Z1bmN0aW9uX05ldyIKICAgIlB5Q0Z1bmN0aW9uX1R5cGUiCiAKLTsgRnJvbSBweXRob24yNl9zLmxpYihtb2R1bGVvYmplY3QpCis7IEZyb20gcHl0aG9uMzNfcy5saWIobW9kdWxlb2JqZWN0KQogICAiUHlNb2R1bGVfTmV3IgogICAiX1B5TW9kdWxlX0NsZWFyIgogICAiUHlNb2R1bGVfR2V0RGljdCIKQEAgLTQ0MCw3ICs0NDAsNyBAQAogICAiUHlNb2R1bGVfR2V0RmlsZW5hbWUiCiAgICJQeU1vZHVsZV9UeXBlIgogCi07IEZyb20gcHl0aG9uMjZfcy5saWIob2JqZWN0KQorOyBGcm9tIHB5dGhvbjMzX3MubGliKG9iamVjdCkKICAgIlB5X0RpdmlzaW9uV2FybmluZ0ZsYWciCiAgICJQeU9iamVjdF9TdHIiCiAgICJQeU9iamVjdF9SZXByIgpAQCAtNDkzLDE1ICs0OTMsMTUgQEAKICAgIl9QeVRyYXNoX2RlbGV0ZV9uZXN0aW5nIgogICAiX1B5VHJhc2hfZGVsZXRlX2xhdGVyIgogCi07IEZyb20gcHl0aG9uMjZfcy5saWIob2JtYWxsb2MpCis7IEZyb20gcHl0aG9uMzNfcy5saWIob2JtYWxsb2MpCiAgICJQeU9iamVjdF9NYWxsb2MiCiAgICJQeU9iamVjdF9GcmVlIgogICAiUHlPYmplY3RfUmVhbGxvYyIKIAotOyBGcm9tIHB5dGhvbjI2X3MubGliKHJhbmdlb2JqZWN0KQorOyBGcm9tIHB5dGhvbjMzX3MubGliKHJhbmdlb2JqZWN0KQogICAiUHlSYW5nZV9UeXBlIgogCi07IEZyb20gcHl0aG9uMjZfcy5saWIoc2V0b2JqZWN0KQorOyBGcm9tIHB5dGhvbjMzX3MubGliKHNldG9iamVjdCkKICAgIlB5U2V0X1BvcCIKICAgIlB5U2V0X05ldyIKICAgIlB5RnJvemVuU2V0X05ldyIKQEAgLTUxNiw3ICs1MTYsNyBAQAogICAiUHlTZXRfVHlwZSIKICAgIlB5RnJvemVuU2V0X1R5cGUiCiAKLTsgRnJvbSBweXRob24yNl9zLmxpYihzbGljZW9iamVjdCkKKzsgRnJvbSBweXRob24zM19zLmxpYihzbGljZW9iamVjdCkKICAgIl9QeVNsaWNlX0Zyb21JbmRpY2VzIgogICAiUHlTbGljZV9HZXRJbmRpY2VzIgogICAiUHlTbGljZV9HZXRJbmRpY2VzRXgiCkBAIC01MjQsNyArNTI0LDcgQEAKICAgIl9QeV9FbGxpcHNpc09iamVjdCIKICAgIlB5U2xpY2VfVHlwZSIKIAotOyBGcm9tIHB5dGhvbjI2X3MubGliKHN0cmluZ29iamVjdCkKKzsgRnJvbSBweXRob24zM19zLmxpYihzdHJpbmdvYmplY3QpCiAgICJQeVN0cmluZ19Gcm9tU3RyaW5nQW5kU2l6ZSIKICAgIlB5U3RyaW5nX0ludGVybkluUGxhY2UiCiAgICJQeVN0cmluZ19Gcm9tU3RyaW5nIgpAQCAtNTU1LDEyICs1NTUsMTIgQEAKICAgIlB5U3RyaW5nX1R5cGUiCiAgICJQeUJhc2VTdHJpbmdfVHlwZSIKIAotOyBGcm9tIHB5dGhvbjI2X3MubGliKHN0cnVjdHNlcSkKKzsgRnJvbSBweXRob24zM19zLmxpYihzdHJ1Y3RzZXEpCiAgICJQeVN0cnVjdFNlcXVlbmNlX0luaXRUeXBlIgogICAiUHlTdHJ1Y3RTZXF1ZW5jZV9OZXciCiAgICJQeVN0cnVjdFNlcXVlbmNlX1VubmFtZWRGaWVsZCIKIAotOyBGcm9tIHB5dGhvbjI2X3MubGliKHR1cGxlb2JqZWN0KQorOyBGcm9tIHB5dGhvbjMzX3MubGliKHR1cGxlb2JqZWN0KQogICAiUHlUdXBsZV9OZXciCiAgICJQeVR1cGxlX1BhY2siCiAgICJfUHlUdXBsZV9SZXNpemUiCkBAIC01NzIsNyArNTcyLDcgQEAKICAgIlB5VHVwbGVfVHlwZSIKICAgIlB5VHVwbGVJdGVyX1R5cGUiCiAKLTsgRnJvbSBweXRob24yNl9zLmxpYih0eXBlb2JqZWN0KQorOyBGcm9tIHB5dGhvbjMzX3MubGliKHR5cGVvYmplY3QpCiAgICJQeVR5cGVfSXNTdWJ0eXBlIgogICAiX1B5VHlwZV9Mb29rdXAiCiAgICJQeVR5cGVfUmVhZHkiCkBAIC01ODMsNyArNTgzLDcgQEAKICAgIlB5QmFzZU9iamVjdF9UeXBlIgogICAiUHlTdXBlcl9UeXBlIgogCi07IEZyb20gcHl0aG9uMjZfcy5saWIodW5pY29kZW9iamVjdCkKKzsgRnJvbSBweXRob24zM19zLmxpYih1bmljb2Rlb2JqZWN0KQogICAiUHlVbmljb2RlVUNTMl9SZXNpemUiCiAgICJQeVVuaWNvZGVVQ1MyX0Zyb21PcmRpbmFsIgogICAiUHlVbmljb2RlVUNTMl9Gcm9tT2JqZWN0IgpAQCAtNjQ5LDcgKzY0OSw3IEBACiAgICJQeVVuaWNvZGVfQXNEZWNvZGVkT2JqZWN0IgogICAiUHlVbmljb2RlX1R5cGUiCiAKLTsgRnJvbSBweXRob24yNl9zLmxpYih1bmljb2RlY3R5cGUpCis7IEZyb20gcHl0aG9uMzNfcy5saWIodW5pY29kZWN0eXBlKQogICAiX1B5VW5pY29kZV9UeXBlUmVjb3JkcyIKICAgIl9QeVVuaWNvZGVVQ1MyX1RvTnVtZXJpYyIKICAgIl9QeVVuaWNvZGVVQ1MyX0lzTG93ZXJjYXNlIgpAQCAtNjY3LDcgKzY2Nyw3IEBACiAgICJfUHlVbmljb2RlVUNTMl9Jc051bWVyaWMiCiAgICJfUHlVbmljb2RlVUNTMl9Jc0FscGhhIgogCi07IEZyb20gcHl0aG9uMjZfcy5saWIod2Vha3JlZm9iamVjdCkKKzsgRnJvbSBweXRob24zM19zLmxpYih3ZWFrcmVmb2JqZWN0KQogICAiUHlXZWFrcmVmX05ld1JlZiIKICAgIlB5V2Vha3JlZl9OZXdQcm94eSIKICAgIlB5T2JqZWN0X0NsZWFyV2Vha1JlZnMiCkBAIC02NzgsNyArNjc4LDcgQEAKICAgIl9QeVdlYWtyZWZfUHJveHlUeXBlIgogICAiX1B5V2Vha3JlZl9DYWxsYWJsZVByb3h5VHlwZSIKIAotOyBGcm9tIHB5dGhvbjI2X3MubGliKFB5dGhvbi1hc3QpCis7IEZyb20gcHl0aG9uMzNfcy5saWIoUHl0aG9uLWFzdCkKIDsgICJpbml0X2FzdCIKICAgIk1vZHVsZSIKICAgIkludGVyYWN0aXZlIgpAQCAtNzM3LDE4ICs3MzcsMTggQEAKICAgImFsaWFzIgogICAiUHlBU1RfbW9kMm9iaiIKIAotOyBGcm9tIHB5dGhvbjI2X3MubGliKGFzZGwpCis7IEZyb20gcHl0aG9uMzNfcy5saWIoYXNkbCkKICAgImFzZGxfc2VxX25ldyIKICAgImFzZGxfaW50X3NlcV9uZXciCiAKLTsgRnJvbSBweXRob24yNl9zLmxpYihhc3QpCis7IEZyb20gcHl0aG9uMzNfcy5saWIoYXN0KQogICAiUHlBU1RfRnJvbU5vZGUiCiAKLTsgRnJvbSBweXRob24yNl9zLmxpYihibHRpbm1vZHVsZSkKKzsgRnJvbSBweXRob24zM19zLmxpYihibHRpbm1vZHVsZSkKICAgIl9QeUJ1aWx0aW5fSW5pdCIKICAgIlB5X0ZpbGVTeXN0ZW1EZWZhdWx0RW5jb2RpbmciCiAKLTsgRnJvbSBweXRob24yNl9zLmxpYihleGNlcHRpb25zKQorOyBGcm9tIHB5dGhvbjMzX3MubGliKGV4Y2VwdGlvbnMpCiAgICJQeVVuaWNvZGVFbmNvZGVFcnJvcl9HZXRTdGFydCIKICAgIlB5VW5pY29kZURlY29kZUVycm9yX0dldFN0YXJ0IgogICAiUHlVbmljb2RlRW5jb2RlRXJyb3JfR2V0RW5kIgpAQCAtODI0LDcgKzgyNCw3IEBACiAgICJQeUV4Y19JbXBvcnRXYXJuaW5nIgogICAiUHlFeGNfTWVtb3J5RXJyb3JJbnN0IgogCi07IEZyb20gcHl0aG9uMjZfcy5saWIoY2V2YWwpCis7IEZyb20gcHl0aG9uMzNfcy5saWIoY2V2YWwpCiAgICJQeUV2YWxfRXZhbEZyYW1lRXgiCiAgICJQeUV2YWxfQ2FsbE9iamVjdFdpdGhLZXl3b3JkcyIKICAgIlB5RXZhbF9FdmFsQ29kZUV4IgpAQCAtODYzLDEzICs4NjMsMTMgQEAKICAgIl9QeV9DaGVja0ludGVydmFsIgogICAiX1B5X1RpY2tlciIKIAotOyBGcm9tIHB5dGhvbjI2X3MubGliKGNvbXBpbGUpCis7IEZyb20gcHl0aG9uMzNfcy5saWIoY29tcGlsZSkKICAgIl9QeV9NYW5nbGUiCiAgICJQeUFTVF9Db21waWxlIgogICAiUHlOb2RlX0NvbXBpbGUiCiAgICJQeV9PcHRpbWl6ZUZsYWciCiAKLTsgRnJvbSBweXRob24yNl9zLmxpYihjb2RlY3MpCis7IEZyb20gcHl0aG9uMzNfcy5saWIoY29kZWNzKQogICAiX1B5Q29kZWNfTG9va3VwIgogICAiUHlDb2RlY19FbmNvZGUiCiAgICJQeUNvZGVjX0RlY29kZSIKQEAgLTg4OCw3ICs4ODgsNyBAQAogICAiUHlDb2RlY19Mb29rdXBFcnJvciIKICAgIlB5Q29kZWNfU3RyaWN0RXJyb3JzIgogCi07IEZyb20gcHl0aG9uMjZfcy5saWIoZXJyb3JzKQorOyBGcm9tIHB5dGhvbjMzX3MubGliKGVycm9ycykKICAgIlB5RXJyX1NldE5vbmUiCiAgICJQeUVycl9TZXRTdHJpbmciCiAgICJQeUVycl9HaXZlbkV4Y2VwdGlvbk1hdGNoZXMiCkBAIC05MTQsMTYgKzkxNCwxNiBAQAogICAiUHlFcnJfV2FybiIKICAgIlB5RXJyX1dhcm5FeHBsaWNpdCIKIAotOyBGcm9tIHB5dGhvbjI2X3MubGliKGZyb3plbikKKzsgRnJvbSBweXRob24zM19zLmxpYihmcm96ZW4pCiAgICJQeUltcG9ydF9Gcm96ZW5Nb2R1bGVzIgogCi07IEZyb20gcHl0aG9uMjZfcy5saWIoZnJvemVubWFpbikKKzsgRnJvbSBweXRob24zM19zLmxpYihmcm96ZW5tYWluKQogICAiUHlfRnJvemVuTWFpbiIKIAotOyBGcm9tIHB5dGhvbjI2X3MubGliKGZ1dHVyZSkKKzsgRnJvbSBweXRob24zM19zLmxpYihmdXR1cmUpCiAgICJQeUZ1dHVyZV9Gcm9tQVNUIgogCi07IEZyb20gcHl0aG9uMjZfcy5saWIoZ2V0YXJncykKKzsgRnJvbSBweXRob24zM19zLmxpYihnZXRhcmdzKQogICAiUHlBcmdfUGFyc2UiCiAgICJfUHlBcmdfUGFyc2VfU2l6ZVQiCiAgICJQeUFyZ19QYXJzZVR1cGxlIgpAQCAtOTM3LDIyICs5MzcsMjIgQEAKICAgIl9QeUFyZ19WYVBhcnNlX1NpemVUIgogICAiX1B5QXJnX1ZhUGFyc2VUdXBsZUFuZEtleXdvcmRzX1NpemVUIgogCi07IEZyb20gcHl0aG9uMjZfcy5saWIoZ2V0Y29tcGlsZXIpCis7IEZyb20gcHl0aG9uMzNfcy5saWIoZ2V0Y29tcGlsZXIpCiAgICJQeV9HZXRDb21waWxlciIKIAotOyBGcm9tIHB5dGhvbjI2X3MubGliKGdldGNvcHlyaWdodCkKKzsgRnJvbSBweXRob24zM19zLmxpYihnZXRjb3B5cmlnaHQpCiAgICJQeV9HZXRDb3B5cmlnaHQiCiAKLTsgRnJvbSBweXRob24yNl9zLmxpYihnZXRwbGF0Zm9ybSkKKzsgRnJvbSBweXRob24zM19zLmxpYihnZXRwbGF0Zm9ybSkKICAgIlB5X0dldFBsYXRmb3JtIgogCi07IEZyb20gcHl0aG9uMjZfcy5saWIoZ2V0dmVyc2lvbikKKzsgRnJvbSBweXRob24zM19zLmxpYihnZXR2ZXJzaW9uKQogICAiUHlfR2V0VmVyc2lvbiIKIAotOyBGcm9tIHB5dGhvbjI2X3MubGliKGdyYW1pbml0KQorOyBGcm9tIHB5dGhvbjMzX3MubGliKGdyYW1pbml0KQogICAiX1B5UGFyc2VyX0dyYW1tYXIiCiAKLTsgRnJvbSBweXRob24yNl9zLmxpYihpbXBvcnQpCis7IEZyb20gcHl0aG9uMzNfcy5saWIoaW1wb3J0KQogICAiX1B5SW1wb3J0X0luaXQiCiAgICJfUHlJbXBvcnRIb29rc19Jbml0IgogICAiUHlJbXBvcnRfSW1wb3J0TW9kdWxlIgpAQCAtOTc5LDEwICs5NzksMTAgQEAKICAgIlB5SW1wb3J0X0luaXR0YWIiCiAgICJfUHlJbXBvcnRfRmlsZXRhYiIKIAotOyBGcm9tIHB5dGhvbjI2X3MubGliKGltcG9ydGRsKQorOyBGcm9tIHB5dGhvbjMzX3MubGliKGltcG9ydGRsKQogICAiX1B5SW1wb3J0X0xvYWREeW5hbWljTW9kdWxlIgogCi07IEZyb20gcHl0aG9uMjZfcy5saWIobWFyc2hhbCkKKzsgRnJvbSBweXRob24zM19zLmxpYihtYXJzaGFsKQogICAiUHlNYXJzaGFsX1JlYWRMb25nRnJvbUZpbGUiCiAgICJQeU1hcnNoYWxfV3JpdGVPYmplY3RUb1N0cmluZyIKICAgIlB5TWFyc2hhbF9Xcml0ZUxvbmdUb0ZpbGUiCkBAIC05OTMsNyArOTkzLDcgQEAKICAgIlB5TWFyc2hhbF9SZWFkT2JqZWN0RnJvbVN0cmluZyIKICAgIlB5TWFyc2hhbF9Jbml0IgogCi07IEZyb20gcHl0aG9uMjZfcy5saWIobW9kc3VwcG9ydCkKKzsgRnJvbSBweXRob24zM19zLmxpYihtb2RzdXBwb3J0KQogICAiUHlfSW5pdE1vZHVsZTQiCiAgICJQeV9CdWlsZFZhbHVlIgogICAiX1B5X0J1aWxkVmFsdWVfU2l6ZVQiCkBAIC0xMDA2LDI0ICsxMDA2LDI0IEBACiAgICJQeU1vZHVsZV9BZGRTdHJpbmdDb25zdGFudCIKICAgIl9QeV9QYWNrYWdlQ29udGV4dCIKIAotOyBGcm9tIHB5dGhvbjI2X3MubGliKG15c25wcmludGYpCis7IEZyb20gcHl0aG9uMzNfcy5saWIobXlzbnByaW50ZikKICAgIlB5T1Nfc25wcmludGYiCiAgICJQeU9TX3ZzbnByaW50ZiIKIAotOyBGcm9tIHB5dGhvbjI2X3MubGliKG15c3RydG91bCkKKzsgRnJvbSBweXRob24zM19zLmxpYihteXN0cnRvdWwpCiAgICJQeU9TX3N0cnRvdWwiCiAgICJQeU9TX3N0cnRvbCIKIAotOyBGcm9tIHB5dGhvbjI2X3MubGliKHB5YXJlbmEpCis7IEZyb20gcHl0aG9uMzNfcy5saWIocHlhcmVuYSkKICAgIlB5QXJlbmFfTmV3IgogICAiUHlBcmVuYV9GcmVlIgogICAiUHlBcmVuYV9NYWxsb2MiCiAgICJQeUFyZW5hX0FkZFB5T2JqZWN0IgogCi07IEZyb20gcHl0aG9uMjZfcy5saWIocHlmcGUpCis7IEZyb20gcHl0aG9uMzNfcy5saWIocHlmcGUpCiAgICJQeUZQRV9kdW1teSIKIAotOyBGcm9tIHB5dGhvbjI2X3MubGliKHB5c3RhdGUpCis7IEZyb20gcHl0aG9uMzNfcy5saWIocHlzdGF0ZSkKICAgIlB5SW50ZXJwcmV0ZXJTdGF0ZV9DbGVhciIKICAgIlB5VGhyZWFkU3RhdGVfQ2xlYXIiCiAgICJfUHlUaHJlYWRfQ3VycmVudEZyYW1lcyIKQEAgLTEwNDgsNyArMTA0OCw3IEBACiAgICJfUHlUaHJlYWRTdGF0ZV9DdXJyZW50IgogICAiX1B5VGhyZWFkU3RhdGVfR2V0RnJhbWUiCiAKLTsgRnJvbSBweXRob24yNl9zLmxpYihweXRob25ydW4pCis7IEZyb20gcHl0aG9uMzNfcy5saWIocHl0aG9ucnVuKQogICAiUHlfSWdub3JlRW52aXJvbm1lbnRGbGFnIgogICAiUHlfRGVidWdGbGFnIgogICAiUHlfVmVyYm9zZUZsYWciCkBAIC0xMTEwLDIwICsxMTEwLDIwIEBACiAgICJQeV9Vbmljb2RlRmxhZyIKICAgIl9QeV9RbmV3RmxhZyIKIAotOyBGcm9tIHB5dGhvbjI2X3MubGliKHN0cnVjdG1lbWJlcikKKzsgRnJvbSBweXRob24zM19zLmxpYihzdHJ1Y3RtZW1iZXIpCiAgICJQeU1lbWJlcl9HZXQiCiAgICJQeU1lbWJlcl9HZXRPbmUiCiAgICJQeU1lbWJlcl9TZXRPbmUiCiAgICJQeU1lbWJlcl9TZXQiCiAKLTsgRnJvbSBweXRob24yNl9zLmxpYihzeW10YWJsZSkKKzsgRnJvbSBweXRob24zM19zLmxpYihzeW10YWJsZSkKICAgIlB5U3ltdGFibGVfQnVpbGQiCiAgICJQeVN5bXRhYmxlX0ZyZWUiCiAgICJQeVNUX0dldFNjb3BlIgogICAiUHlTeW10YWJsZV9Mb29rdXAiCiAgICJQeVNURW50cnlfVHlwZSIKIAotOyBGcm9tIHB5dGhvbjI2X3MubGliKHN5c21vZHVsZSkKKzsgRnJvbSBweXRob24zM19zLmxpYihzeXNtb2R1bGUpCiAgICJfUHlTeXNfSW5pdCIKICAgIlB5U3lzX1dyaXRlU3RkZXJyIgogICAiUHlTeXNfU2V0UGF0aCIKQEAgLTExMzcsMjIgKzExMzcsMjIgQEAKICAgIlB5U3lzX1Jlc2V0V2Fybk9wdGlvbnMiCiAgICJQeVN5c19BZGRXYXJuT3B0aW9uIgogCi07IEZyb20gcHl0aG9uMjZfcy5saWIodHJhY2ViYWNrKQorOyBGcm9tIHB5dGhvbjMzX3MubGliKHRyYWNlYmFjaykKICAgIlB5VHJhY2VCYWNrX0hlcmUiCiAgICJQeVRyYWNlQmFja19QcmludCIKICAgIlB5VHJhY2VCYWNrX1R5cGUiCiAKLTsgRnJvbSBweXRob24yNl9zLmxpYihnZXRvcHQpCis7IEZyb20gcHl0aG9uMzNfcy5saWIoZ2V0b3B0KQogICAiX1B5T1NfR2V0T3B0IgogICAiX1B5T1Nfb3B0ZXJyIgogICAiX1B5T1Nfb3B0aW5kIgogICAiX1B5T1Nfb3B0YXJnIgogCi07IEZyb20gcHl0aG9uMjZfcy5saWIoZHlubG9hZF9zaGxpYikKKzsgRnJvbSBweXRob24zM19zLmxpYihkeW5sb2FkX3NobGliKQogICAiX1B5SW1wb3J0X0R5bkxvYWRGaWxldGFiIgogICAiX1B5SW1wb3J0X0dldER5bkxvYWRGdW5jIgogCi07IEZyb20gcHl0aG9uMjZfcy5saWIodGhyZWFkKQorOyBGcm9tIHB5dGhvbjMzX3MubGliKHRocmVhZCkKICAgIlB5VGhyZWFkX2RlbGV0ZV9rZXlfdmFsdWUiCiAgICJQeVRocmVhZF9pbml0X3RocmVhZCIKICAgIlB5VGhyZWFkX3N0YXJ0X25ld190aHJlYWQiCkBAIC0xMTY5LDcgKzExNjksNyBAQAogICAiUHlUaHJlYWRfc2V0X2tleV92YWx1ZSIKICAgIlB5VGhyZWFkX2dldF9rZXlfdmFsdWUiCiAKLTsgRnJvbSBweXRob24yNl9zLmxpYihnY21vZHVsZSkKKzsgRnJvbSBweXRob24zM19zLmxpYihnY21vZHVsZSkKIDsgICJpbml0Z2MiCiAgICJfUHlPYmplY3RfR0NfTmV3IgogICAiX1B5T2JqZWN0X0dDX05ld1ZhciIKQEAgLTExODUsNyArMTE4NSw3IEBACiAgICJfUHlPYmplY3RfR0NfRGVsIgogICAiX1B5R0NfZ2VuZXJhdGlvbjAiCiAKLTsgRnJvbSBweXRob24yNl9zLmxpYihzaWduYWxtb2R1bGUpCis7IEZyb20gcHl0aG9uMzNfcy5saWIoc2lnbmFsbW9kdWxlKQogOyAgImluaXRzaWduYWwiCiAgICJQeUVycl9DaGVja1NpZ25hbHMiCiAgICJQeUVycl9TZXRJbnRlcnJ1cHQiCkBAIC0xMTk0LDEyMSArMTE5NCwxMjEgQEAKICAgIlB5T1NfSW5pdEludGVycnVwdHMiCiAgICJQeU9TX0FmdGVyRm9yayIKIAotOyBGcm9tIHB5dGhvbjI2X3MubGliKHBvc2l4bW9kdWxlKQorOyBGcm9tIHB5dGhvbjMzX3MubGliKHBvc2l4bW9kdWxlKQogOyAgImluaXRvczIiCiAKLTsgRnJvbSBweXRob24yNl9zLmxpYihfdGhyZWFkbW9kdWxlKQorOyBGcm9tIHB5dGhvbjMzX3MubGliKF90aHJlYWRtb2R1bGUpCiA7ICAiaW5pdF90aHJlYWQiCiAKLTsgRnJvbSBweXRob24yNl9zLmxpYihhcnJheW1vZHVsZSkKKzsgRnJvbSBweXRob24zM19zLmxpYihhcnJheW1vZHVsZSkKIDsgICJpbml0YXJyYXkiCiA7ICAiYXJyYXlfbWV0aG9kcyIKIAotOyBGcm9tIHB5dGhvbjI2X3MubGliKGJpbmFzY2lpKQorOyBGcm9tIHB5dGhvbjMzX3MubGliKGJpbmFzY2lpKQogOyAgImluaXRiaW5hc2NpaSIKIAotOyBGcm9tIHB5dGhvbjI2X3MubGliKGNtYXRobW9kdWxlKQorOyBGcm9tIHB5dGhvbjMzX3MubGliKGNtYXRobW9kdWxlKQogOyAgImluaXRjbWF0aCIKIAotOyBGcm9tIHB5dGhvbjI2X3MubGliKF9jb2RlY3Ntb2R1bGUpCis7IEZyb20gcHl0aG9uMzNfcy5saWIoX2NvZGVjc21vZHVsZSkKIDsgICJpbml0X2NvZGVjcyIKIAotOyBGcm9tIHB5dGhvbjI2X3MubGliKGNvbGxlY3Rpb25zbW9kdWxlKQorOyBGcm9tIHB5dGhvbjMzX3MubGliKGNvbGxlY3Rpb25zbW9kdWxlKQogOyAgImluaXRjb2xsZWN0aW9ucyIKICAgImRlcXVlaXRlcl90eXBlIgogICAiZGVxdWVyZXZpdGVyX3R5cGUiCiAKLTsgRnJvbSBweXRob24yNl9zLmxpYihjUGlja2xlKQorOyBGcm9tIHB5dGhvbjMzX3MubGliKGNQaWNrbGUpCiA7ICAiaW5pdGNQaWNrbGUiCiA7ICAiZmFzdF9zYXZlX2xlYXZlIgogCi07IEZyb20gcHl0aG9uMjZfcy5saWIoX2NzdikKKzsgRnJvbSBweXRob24zM19zLmxpYihfY3N2KQogOyAgImluaXRfY3N2IgogCi07IEZyb20gcHl0aG9uMjZfcy5saWIoZGF0ZXRpbWVtb2R1bGUpCis7IEZyb20gcHl0aG9uMzNfcy5saWIoZGF0ZXRpbWVtb2R1bGUpCiA7ICAiaW5pdGRhdGV0aW1lIgogCi07IEZyb20gcHl0aG9uMjZfcy5saWIoZGxtb2R1bGUpCis7IEZyb20gcHl0aG9uMzNfcy5saWIoZGxtb2R1bGUpCiA7ICAiaW5pdGRsIgogCi07IEZyb20gcHl0aG9uMjZfcy5saWIoZXJybm9tb2R1bGUpCis7IEZyb20gcHl0aG9uMzNfcy5saWIoZXJybm9tb2R1bGUpCiA7ICAiaW5pdGVycm5vIgogCi07IEZyb20gcHl0aG9uMjZfcy5saWIoZmNudGxtb2R1bGUpCis7IEZyb20gcHl0aG9uMzNfcy5saWIoZmNudGxtb2R1bGUpCiA7ICAiaW5pdGZjbnRsIgogCi07IEZyb20gcHl0aG9uMjZfcy5saWIoX2Z1bmN0b29sc21vZHVsZSkKKzsgRnJvbSBweXRob24zM19zLmxpYihfZnVuY3Rvb2xzbW9kdWxlKQogOyAgImluaXRfZnVuY3Rvb2xzIgogCi07IEZyb20gcHl0aG9uMjZfcy5saWIoX2hlYXBxbW9kdWxlKQorOyBGcm9tIHB5dGhvbjMzX3MubGliKF9oZWFwcW1vZHVsZSkKIDsgICJpbml0X2hlYXBxIgogCi07IEZyb20gcHl0aG9uMjZfcy5saWIoaW1hZ2VvcCkKKzsgRnJvbSBweXRob24zM19zLmxpYihpbWFnZW9wKQogOyAgImluaXRpbWFnZW9wIgogCi07IEZyb20gcHl0aG9uMjZfcy5saWIoaXRlcnRvb2xzbW9kdWxlKQorOyBGcm9tIHB5dGhvbjMzX3MubGliKGl0ZXJ0b29sc21vZHVsZSkKIDsgICJpbml0aXRlcnRvb2xzIgogCi07IEZyb20gcHl0aG9uMjZfcy5saWIoX2xvY2FsZW1vZHVsZSkKKzsgRnJvbSBweXRob24zM19zLmxpYihfbG9jYWxlbW9kdWxlKQogOyAgImluaXRfbG9jYWxlIgogCi07IEZyb20gcHl0aG9uMjZfcy5saWIobWF0aG1vZHVsZSkKKzsgRnJvbSBweXRob24zM19zLmxpYihtYXRobW9kdWxlKQogOyAgImluaXRtYXRoIgogCi07IEZyb20gcHl0aG9uMjZfcy5saWIobWQ1KQorOyBGcm9tIHB5dGhvbjMzX3MubGliKG1kNSkKICAgIm1kNV9maW5pc2giCiAgICJtZDVfaW5pdCIKICAgIm1kNV9hcHBlbmQiCiAKLTsgRnJvbSBweXRob24yNl9zLmxpYihtZDVtb2R1bGUpCis7IEZyb20gcHl0aG9uMzNfcy5saWIobWQ1bW9kdWxlKQogOyAgImluaXRfbWQ1IgogCi07IEZyb20gcHl0aG9uMjZfcy5saWIob3BlcmF0b3IpCis7IEZyb20gcHl0aG9uMzNfcy5saWIob3BlcmF0b3IpCiA7ICAiaW5pdG9wZXJhdG9yIgogCi07IEZyb20gcHl0aG9uMjZfcy5saWIoX3JhbmRvbW1vZHVsZSkKKzsgRnJvbSBweXRob24zM19zLmxpYihfcmFuZG9tbW9kdWxlKQogOyAgImluaXRfcmFuZG9tIgogCi07IEZyb20gcHl0aG9uMjZfcy5saWIocmdiaW1nbW9kdWxlKQorOyBGcm9tIHB5dGhvbjMzX3MubGliKHJnYmltZ21vZHVsZSkKIDsgICJpbml0cmdiaW1nIgogCi07IEZyb20gcHl0aG9uMjZfcy5saWIoc2hhbW9kdWxlKQorOyBGcm9tIHB5dGhvbjMzX3MubGliKHNoYW1vZHVsZSkKIDsgICJpbml0X3NoYSIKIAotOyBGcm9tIHB5dGhvbjI2X3MubGliKHNoYTI1Nm1vZHVsZSkKKzsgRnJvbSBweXRob24zM19zLmxpYihzaGEyNTZtb2R1bGUpCiA7ICAiaW5pdF9zaGEyNTYiCiAKLTsgRnJvbSBweXRob24yNl9zLmxpYihzaGE1MTJtb2R1bGUpCis7IEZyb20gcHl0aG9uMzNfcy5saWIoc2hhNTEybW9kdWxlKQogOyAgImluaXRfc2hhNTEyIgogCi07IEZyb20gcHl0aG9uMjZfcy5saWIoX3NyZSkKKzsgRnJvbSBweXRob24zM19zLmxpYihfc3JlKQogOyAgImluaXRfc3JlIgogCi07IEZyb20gcHl0aG9uMjZfcy5saWIoc3Ryb3Btb2R1bGUpCis7IEZyb20gcHl0aG9uMzNfcy5saWIoc3Ryb3Btb2R1bGUpCiA7ICAiaW5pdHN0cm9wIgogCi07IEZyb20gcHl0aG9uMjZfcy5saWIoX3N0cnVjdCkKKzsgRnJvbSBweXRob24zM19zLmxpYihfc3RydWN0KQogOyAgImluaXRfc3RydWN0IgogCi07IEZyb20gcHl0aG9uMjZfcy5saWIoc3ltdGFibGVtb2R1bGUpCis7IEZyb20gcHl0aG9uMzNfcy5saWIoc3ltdGFibGVtb2R1bGUpCiA7ICAiaW5pdF9zeW10YWJsZSIKIAotOyBGcm9tIHB5dGhvbjI2X3MubGliKHRlcm1pb3MpCis7IEZyb20gcHl0aG9uMzNfcy5saWIodGVybWlvcykKIDsgICJpbml0dGVybWlvcyIKIAotOyBGcm9tIHB5dGhvbjI2X3MubGliKHRpbWVtb2R1bGUpCis7IEZyb20gcHl0aG9uMzNfcy5saWIodGltZW1vZHVsZSkKIDsgICJpbml0dGltZSIKICAgIl9QeVRpbWVfRG91YmxlVG9UaW1ldCIKIDsgICJpbml0dGltZXpvbmUiCiAKLTsgRnJvbSBweXRob24yNl9zLmxpYih0aW1pbmdtb2R1bGUpCis7IEZyb20gcHl0aG9uMzNfcy5saWIodGltaW5nbW9kdWxlKQogOyAgImluaXR0aW1pbmciCiAKLTsgRnJvbSBweXRob24yNl9zLmxpYihfd2Vha3JlZikKKzsgRnJvbSBweXRob24zM19zLmxpYihfd2Vha3JlZikKIDsgICJpbml0X3dlYWtyZWYiCiAKLTsgRnJvbSBweXRob24yNl9zLmxpYih4eHN1YnR5cGUpCis7IEZyb20gcHl0aG9uMzNfcy5saWIoeHhzdWJ0eXBlKQogOyAgImluaXR4eHN1YnR5cGUiCiAKLTsgRnJvbSBweXRob24yNl9zLmxpYih6aXBpbXBvcnQpCis7IEZyb20gcHl0aG9uMzNfcy5saWIoemlwaW1wb3J0KQogOyAgImluaXR6aXBpbXBvcnQiCmRpZmYgLS1naXQgYS9QQy9weWNvbmZpZy5oIGIvUEMvcHljb25maWcuaAppbmRleCBiYTgwODAwLi4zYjcxYjQ3IDEwMDY0NAotLS0gYS9QQy9weWNvbmZpZy5oCisrKyBiL1BDL3B5Y29uZmlnLmgKQEAgLTMxOSwxMSArMzE5LDExIEBACiAJCQl0aGVpciBNYWtlZmlsZSAob3RoZXIgY29tcGlsZXJzIGFyZSBnZW5lcmFsbHkKIAkJCXRha2VuIGNhcmUgb2YgYnkgZGlzdHV0aWxzLikgKi8KICMJCQlpZiBkZWZpbmVkKF9ERUJVRykKLSMJCQkJcHJhZ21hIGNvbW1lbnQobGliLCJweXRob24zMl9kLmxpYiIpCisjCQkJCXByYWdtYSBjb21tZW50KGxpYiwicHl0aG9uMzNfZC5saWIiKQogIwkJCWVsaWYgZGVmaW5lZChQeV9MSU1JVEVEX0FQSSkKICMJCQkJcHJhZ21hIGNvbW1lbnQobGliLCJweXRob24zLmxpYiIpCiAjCQkJZWxzZQotIwkJCQlwcmFnbWEgY29tbWVudChsaWIsInB5dGhvbjMyLmxpYiIpCisjCQkJCXByYWdtYSBjb21tZW50KGxpYiwicHl0aG9uMzMubGliIikKICMJCQllbmRpZiAvKiBfREVCVUcgKi8KICMJCWVuZGlmIC8qIF9NU0NfVkVSICovCiAjCWVuZGlmIC8qIFB5X0JVSUxEX0NPUkUgKi8KQEAgLTU1MCwxMCArNTUwLDYgQEAKIC8qIERlZmluZSBpZiB5b3Ugd2FudCB0byB1c2UgdGhlIEdOVSByZWFkbGluZSBsaWJyYXJ5ICovCiAvKiAjZGVmaW5lIFdJVEhfUkVBRExJTkUgMSAqLwogCi0vKiBEZWZpbmUgYXMgdGhlIHNpemUgb2YgdGhlIHVuaWNvZGUgdHlwZS4gKi8KLS8qIFRoaXMgaXMgZW5vdWdoIGZvciB1bmljb2Rlb2JqZWN0LmggdG8gZG8gdGhlICJyaWdodCB0aGluZyIgb24gV2luZG93cy4gKi8KLSNkZWZpbmUgUHlfVU5JQ09ERV9TSVpFIDIKLQogLyogVXNlIFB5dGhvbidzIG93biBzbWFsbC1ibG9jayBtZW1vcnktYWxsb2NhdG9yLiAqLwogI2RlZmluZSBXSVRIX1BZTUFMTE9DIDEKIApAQCAtNzE0LDkgKzcxMCw2IEBACiAvKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIDxzeXMvdXRzbmFtZS5oPiBoZWFkZXIgZmlsZS4gICovCiAvKiAjZGVmaW5lIEhBVkVfU1lTX1VUU05BTUVfSCAxICovCiAKLS8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgPHRocmVhZC5oPiBoZWFkZXIgZmlsZS4gICovCi0vKiAjdW5kZWYgSEFWRV9USFJFQURfSCAqLwotCiAvKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIDx1bmlzdGQuaD4gaGVhZGVyIGZpbGUuICAqLwogLyogI2RlZmluZSBIQVZFX1VOSVNURF9IIDEgKi8KIApkaWZmIC0tZ2l0IGEvUEMvcHl0aG9uMy5kZWYgYi9QQy9weXRob24zLmRlZgppbmRleCBhODQ1MzM1Li41NGIyODhmIDEwMDY0NAotLS0gYS9QQy9weXRob24zLmRlZgorKysgYi9QQy9weXRob24zLmRlZgpAQCAtMSw2ODkgKzEsNjg5IEBACiBMSUJSQVJZCSJweXRob24zIgogRVhQT1JUUwotICBQeUFyZ19QYXJzZT1weXRob24zMi5QeUFyZ19QYXJzZQotICBQeUFyZ19QYXJzZVR1cGxlPXB5dGhvbjMyLlB5QXJnX1BhcnNlVHVwbGUKLSAgUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzPXB5dGhvbjMyLlB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcwotICBQeUFyZ19VbnBhY2tUdXBsZT1weXRob24zMi5QeUFyZ19VbnBhY2tUdXBsZQotICBQeUFyZ19WYVBhcnNlPXB5dGhvbjMyLlB5QXJnX1ZhUGFyc2UKLSAgUHlBcmdfVmFQYXJzZVR1cGxlQW5kS2V5d29yZHM9cHl0aG9uMzIuUHlBcmdfVmFQYXJzZVR1cGxlQW5kS2V5d29yZHMKLSAgUHlBcmdfVmFsaWRhdGVLZXl3b3JkQXJndW1lbnRzPXB5dGhvbjMyLlB5QXJnX1ZhbGlkYXRlS2V5d29yZEFyZ3VtZW50cwotICBQeUJhc2VPYmplY3RfVHlwZT1weXRob24zMi5QeUJhc2VPYmplY3RfVHlwZSBEQVRBCi0gIFB5Qm9vbF9Gcm9tTG9uZz1weXRob24zMi5QeUJvb2xfRnJvbUxvbmcKLSAgUHlCb29sX1R5cGU9cHl0aG9uMzIuUHlCb29sX1R5cGUgREFUQQotICBQeUJ5dGVBcnJheUl0ZXJfVHlwZT1weXRob24zMi5QeUJ5dGVBcnJheUl0ZXJfVHlwZSBEQVRBCi0gIFB5Qnl0ZUFycmF5X0FzU3RyaW5nPXB5dGhvbjMyLlB5Qnl0ZUFycmF5X0FzU3RyaW5nCi0gIFB5Qnl0ZUFycmF5X0NvbmNhdD1weXRob24zMi5QeUJ5dGVBcnJheV9Db25jYXQKLSAgUHlCeXRlQXJyYXlfRnJvbU9iamVjdD1weXRob24zMi5QeUJ5dGVBcnJheV9Gcm9tT2JqZWN0Ci0gIFB5Qnl0ZUFycmF5X0Zyb21TdHJpbmdBbmRTaXplPXB5dGhvbjMyLlB5Qnl0ZUFycmF5X0Zyb21TdHJpbmdBbmRTaXplCi0gIFB5Qnl0ZUFycmF5X1Jlc2l6ZT1weXRob24zMi5QeUJ5dGVBcnJheV9SZXNpemUKLSAgUHlCeXRlQXJyYXlfU2l6ZT1weXRob24zMi5QeUJ5dGVBcnJheV9TaXplCi0gIFB5Qnl0ZUFycmF5X1R5cGU9cHl0aG9uMzIuUHlCeXRlQXJyYXlfVHlwZSBEQVRBCi0gIFB5Qnl0ZXNJdGVyX1R5cGU9cHl0aG9uMzIuUHlCeXRlc0l0ZXJfVHlwZSBEQVRBCi0gIFB5Qnl0ZXNfQXNTdHJpbmc9cHl0aG9uMzIuUHlCeXRlc19Bc1N0cmluZwotICBQeUJ5dGVzX0FzU3RyaW5nQW5kU2l6ZT1weXRob24zMi5QeUJ5dGVzX0FzU3RyaW5nQW5kU2l6ZQotICBQeUJ5dGVzX0NvbmNhdD1weXRob24zMi5QeUJ5dGVzX0NvbmNhdAotICBQeUJ5dGVzX0NvbmNhdEFuZERlbD1weXRob24zMi5QeUJ5dGVzX0NvbmNhdEFuZERlbAotICBQeUJ5dGVzX0RlY29kZUVzY2FwZT1weXRob24zMi5QeUJ5dGVzX0RlY29kZUVzY2FwZQotICBQeUJ5dGVzX0Zyb21Gb3JtYXQ9cHl0aG9uMzIuUHlCeXRlc19Gcm9tRm9ybWF0Ci0gIFB5Qnl0ZXNfRnJvbUZvcm1hdFY9cHl0aG9uMzIuUHlCeXRlc19Gcm9tRm9ybWF0VgotICBQeUJ5dGVzX0Zyb21PYmplY3Q9cHl0aG9uMzIuUHlCeXRlc19Gcm9tT2JqZWN0Ci0gIFB5Qnl0ZXNfRnJvbVN0cmluZz1weXRob24zMi5QeUJ5dGVzX0Zyb21TdHJpbmcKLSAgUHlCeXRlc19Gcm9tU3RyaW5nQW5kU2l6ZT1weXRob24zMi5QeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplCi0gIFB5Qnl0ZXNfUmVwcj1weXRob24zMi5QeUJ5dGVzX1JlcHIKLSAgUHlCeXRlc19TaXplPXB5dGhvbjMyLlB5Qnl0ZXNfU2l6ZQotICBQeUJ5dGVzX1R5cGU9cHl0aG9uMzIuUHlCeXRlc19UeXBlIERBVEEKLSAgUHlDRnVuY3Rpb25fQ2FsbD1weXRob24zMi5QeUNGdW5jdGlvbl9DYWxsCi0gIFB5Q0Z1bmN0aW9uX0NsZWFyRnJlZUxpc3Q9cHl0aG9uMzIuUHlDRnVuY3Rpb25fQ2xlYXJGcmVlTGlzdAotICBQeUNGdW5jdGlvbl9HZXRGbGFncz1weXRob24zMi5QeUNGdW5jdGlvbl9HZXRGbGFncwotICBQeUNGdW5jdGlvbl9HZXRGdW5jdGlvbj1weXRob24zMi5QeUNGdW5jdGlvbl9HZXRGdW5jdGlvbgotICBQeUNGdW5jdGlvbl9HZXRTZWxmPXB5dGhvbjMyLlB5Q0Z1bmN0aW9uX0dldFNlbGYKLSAgUHlDRnVuY3Rpb25fTmV3RXg9cHl0aG9uMzIuUHlDRnVuY3Rpb25fTmV3RXgKLSAgUHlDRnVuY3Rpb25fVHlwZT1weXRob24zMi5QeUNGdW5jdGlvbl9UeXBlIERBVEEKLSAgUHlDYWxsSXRlcl9OZXc9cHl0aG9uMzIuUHlDYWxsSXRlcl9OZXcKLSAgUHlDYWxsSXRlcl9UeXBlPXB5dGhvbjMyLlB5Q2FsbEl0ZXJfVHlwZSBEQVRBCi0gIFB5Q2FsbGFibGVfQ2hlY2s9cHl0aG9uMzIuUHlDYWxsYWJsZV9DaGVjawotICBQeUNhcHN1bGVfR2V0Q29udGV4dD1weXRob24zMi5QeUNhcHN1bGVfR2V0Q29udGV4dAotICBQeUNhcHN1bGVfR2V0RGVzdHJ1Y3Rvcj1weXRob24zMi5QeUNhcHN1bGVfR2V0RGVzdHJ1Y3RvcgotICBQeUNhcHN1bGVfR2V0TmFtZT1weXRob24zMi5QeUNhcHN1bGVfR2V0TmFtZQotICBQeUNhcHN1bGVfR2V0UG9pbnRlcj1weXRob24zMi5QeUNhcHN1bGVfR2V0UG9pbnRlcgotICBQeUNhcHN1bGVfSW1wb3J0PXB5dGhvbjMyLlB5Q2Fwc3VsZV9JbXBvcnQKLSAgUHlDYXBzdWxlX0lzVmFsaWQ9cHl0aG9uMzIuUHlDYXBzdWxlX0lzVmFsaWQKLSAgUHlDYXBzdWxlX05ldz1weXRob24zMi5QeUNhcHN1bGVfTmV3Ci0gIFB5Q2Fwc3VsZV9TZXRDb250ZXh0PXB5dGhvbjMyLlB5Q2Fwc3VsZV9TZXRDb250ZXh0Ci0gIFB5Q2Fwc3VsZV9TZXREZXN0cnVjdG9yPXB5dGhvbjMyLlB5Q2Fwc3VsZV9TZXREZXN0cnVjdG9yCi0gIFB5Q2Fwc3VsZV9TZXROYW1lPXB5dGhvbjMyLlB5Q2Fwc3VsZV9TZXROYW1lCi0gIFB5Q2Fwc3VsZV9TZXRQb2ludGVyPXB5dGhvbjMyLlB5Q2Fwc3VsZV9TZXRQb2ludGVyCi0gIFB5Q2Fwc3VsZV9UeXBlPXB5dGhvbjMyLlB5Q2Fwc3VsZV9UeXBlIERBVEEKLSAgUHlDbGFzc01ldGhvZERlc2NyX1R5cGU9cHl0aG9uMzIuUHlDbGFzc01ldGhvZERlc2NyX1R5cGUgREFUQQotICBQeUNvZGVjX0JhY2tzbGFzaFJlcGxhY2VFcnJvcnM9cHl0aG9uMzIuUHlDb2RlY19CYWNrc2xhc2hSZXBsYWNlRXJyb3JzCi0gIFB5Q29kZWNfRGVjb2RlPXB5dGhvbjMyLlB5Q29kZWNfRGVjb2RlCi0gIFB5Q29kZWNfRGVjb2Rlcj1weXRob24zMi5QeUNvZGVjX0RlY29kZXIKLSAgUHlDb2RlY19FbmNvZGU9cHl0aG9uMzIuUHlDb2RlY19FbmNvZGUKLSAgUHlDb2RlY19FbmNvZGVyPXB5dGhvbjMyLlB5Q29kZWNfRW5jb2RlcgotICBQeUNvZGVjX0lnbm9yZUVycm9ycz1weXRob24zMi5QeUNvZGVjX0lnbm9yZUVycm9ycwotICBQeUNvZGVjX0luY3JlbWVudGFsRGVjb2Rlcj1weXRob24zMi5QeUNvZGVjX0luY3JlbWVudGFsRGVjb2RlcgotICBQeUNvZGVjX0luY3JlbWVudGFsRW5jb2Rlcj1weXRob24zMi5QeUNvZGVjX0luY3JlbWVudGFsRW5jb2RlcgotICBQeUNvZGVjX0tub3duRW5jb2Rpbmc9cHl0aG9uMzIuUHlDb2RlY19Lbm93bkVuY29kaW5nCi0gIFB5Q29kZWNfTG9va3VwRXJyb3I9cHl0aG9uMzIuUHlDb2RlY19Mb29rdXBFcnJvcgotICBQeUNvZGVjX1JlZ2lzdGVyPXB5dGhvbjMyLlB5Q29kZWNfUmVnaXN0ZXIKLSAgUHlDb2RlY19SZWdpc3RlckVycm9yPXB5dGhvbjMyLlB5Q29kZWNfUmVnaXN0ZXJFcnJvcgotICBQeUNvZGVjX1JlcGxhY2VFcnJvcnM9cHl0aG9uMzIuUHlDb2RlY19SZXBsYWNlRXJyb3JzCi0gIFB5Q29kZWNfU3RyZWFtUmVhZGVyPXB5dGhvbjMyLlB5Q29kZWNfU3RyZWFtUmVhZGVyCi0gIFB5Q29kZWNfU3RyZWFtV3JpdGVyPXB5dGhvbjMyLlB5Q29kZWNfU3RyZWFtV3JpdGVyCi0gIFB5Q29kZWNfU3RyaWN0RXJyb3JzPXB5dGhvbjMyLlB5Q29kZWNfU3RyaWN0RXJyb3JzCi0gIFB5Q29kZWNfWE1MQ2hhclJlZlJlcGxhY2VFcnJvcnM9cHl0aG9uMzIuUHlDb2RlY19YTUxDaGFyUmVmUmVwbGFjZUVycm9ycwotICBQeUNvbXBsZXhfRnJvbURvdWJsZXM9cHl0aG9uMzIuUHlDb21wbGV4X0Zyb21Eb3VibGVzCi0gIFB5Q29tcGxleF9JbWFnQXNEb3VibGU9cHl0aG9uMzIuUHlDb21wbGV4X0ltYWdBc0RvdWJsZQotICBQeUNvbXBsZXhfUmVhbEFzRG91YmxlPXB5dGhvbjMyLlB5Q29tcGxleF9SZWFsQXNEb3VibGUKLSAgUHlDb21wbGV4X1R5cGU9cHl0aG9uMzIuUHlDb21wbGV4X1R5cGUgREFUQQotICBQeURlc2NyX05ld0NsYXNzTWV0aG9kPXB5dGhvbjMyLlB5RGVzY3JfTmV3Q2xhc3NNZXRob2QKLSAgUHlEZXNjcl9OZXdHZXRTZXQ9cHl0aG9uMzIuUHlEZXNjcl9OZXdHZXRTZXQKLSAgUHlEZXNjcl9OZXdNZW1iZXI9cHl0aG9uMzIuUHlEZXNjcl9OZXdNZW1iZXIKLSAgUHlEZXNjcl9OZXdNZXRob2Q9cHl0aG9uMzIuUHlEZXNjcl9OZXdNZXRob2QKLSAgUHlEaWN0SXRlbXNfVHlwZT1weXRob24zMi5QeURpY3RJdGVtc19UeXBlIERBVEEKLSAgUHlEaWN0SXRlckl0ZW1fVHlwZT1weXRob24zMi5QeURpY3RJdGVySXRlbV9UeXBlIERBVEEKLSAgUHlEaWN0SXRlcktleV9UeXBlPXB5dGhvbjMyLlB5RGljdEl0ZXJLZXlfVHlwZSBEQVRBCi0gIFB5RGljdEl0ZXJWYWx1ZV9UeXBlPXB5dGhvbjMyLlB5RGljdEl0ZXJWYWx1ZV9UeXBlIERBVEEKLSAgUHlEaWN0S2V5c19UeXBlPXB5dGhvbjMyLlB5RGljdEtleXNfVHlwZSBEQVRBCi0gIFB5RGljdFByb3h5X05ldz1weXRob24zMi5QeURpY3RQcm94eV9OZXcKLSAgUHlEaWN0UHJveHlfVHlwZT1weXRob24zMi5QeURpY3RQcm94eV9UeXBlIERBVEEKLSAgUHlEaWN0VmFsdWVzX1R5cGU9cHl0aG9uMzIuUHlEaWN0VmFsdWVzX1R5cGUgREFUQQotICBQeURpY3RfQ2xlYXI9cHl0aG9uMzIuUHlEaWN0X0NsZWFyCi0gIFB5RGljdF9Db250YWlucz1weXRob24zMi5QeURpY3RfQ29udGFpbnMKLSAgUHlEaWN0X0NvcHk9cHl0aG9uMzIuUHlEaWN0X0NvcHkKLSAgUHlEaWN0X0RlbEl0ZW09cHl0aG9uMzIuUHlEaWN0X0RlbEl0ZW0KLSAgUHlEaWN0X0RlbEl0ZW1TdHJpbmc9cHl0aG9uMzIuUHlEaWN0X0RlbEl0ZW1TdHJpbmcKLSAgUHlEaWN0X0dldEl0ZW09cHl0aG9uMzIuUHlEaWN0X0dldEl0ZW0KLSAgUHlEaWN0X0dldEl0ZW1TdHJpbmc9cHl0aG9uMzIuUHlEaWN0X0dldEl0ZW1TdHJpbmcKLSAgUHlEaWN0X0dldEl0ZW1XaXRoRXJyb3I9cHl0aG9uMzIuUHlEaWN0X0dldEl0ZW1XaXRoRXJyb3IKLSAgUHlEaWN0X0l0ZW1zPXB5dGhvbjMyLlB5RGljdF9JdGVtcwotICBQeURpY3RfS2V5cz1weXRob24zMi5QeURpY3RfS2V5cwotICBQeURpY3RfTWVyZ2U9cHl0aG9uMzIuUHlEaWN0X01lcmdlCi0gIFB5RGljdF9NZXJnZUZyb21TZXEyPXB5dGhvbjMyLlB5RGljdF9NZXJnZUZyb21TZXEyCi0gIFB5RGljdF9OZXc9cHl0aG9uMzIuUHlEaWN0X05ldwotICBQeURpY3RfTmV4dD1weXRob24zMi5QeURpY3RfTmV4dAotICBQeURpY3RfU2V0SXRlbT1weXRob24zMi5QeURpY3RfU2V0SXRlbQotICBQeURpY3RfU2V0SXRlbVN0cmluZz1weXRob24zMi5QeURpY3RfU2V0SXRlbVN0cmluZwotICBQeURpY3RfU2l6ZT1weXRob24zMi5QeURpY3RfU2l6ZQotICBQeURpY3RfVHlwZT1weXRob24zMi5QeURpY3RfVHlwZSBEQVRBCi0gIFB5RGljdF9VcGRhdGU9cHl0aG9uMzIuUHlEaWN0X1VwZGF0ZQotICBQeURpY3RfVmFsdWVzPXB5dGhvbjMyLlB5RGljdF9WYWx1ZXMKLSAgUHlFbGxpcHNpc19UeXBlPXB5dGhvbjMyLlB5RWxsaXBzaXNfVHlwZSBEQVRBCi0gIFB5RW51bV9UeXBlPXB5dGhvbjMyLlB5RW51bV9UeXBlIERBVEEKLSAgUHlFcnJfQmFkQXJndW1lbnQ9cHl0aG9uMzIuUHlFcnJfQmFkQXJndW1lbnQKLSAgUHlFcnJfQmFkSW50ZXJuYWxDYWxsPXB5dGhvbjMyLlB5RXJyX0JhZEludGVybmFsQ2FsbAotICBQeUVycl9DaGVja1NpZ25hbHM9cHl0aG9uMzIuUHlFcnJfQ2hlY2tTaWduYWxzCi0gIFB5RXJyX0NsZWFyPXB5dGhvbjMyLlB5RXJyX0NsZWFyCi0gIFB5RXJyX0Rpc3BsYXk9cHl0aG9uMzIuUHlFcnJfRGlzcGxheQotICBQeUVycl9FeGNlcHRpb25NYXRjaGVzPXB5dGhvbjMyLlB5RXJyX0V4Y2VwdGlvbk1hdGNoZXMKLSAgUHlFcnJfRmV0Y2g9cHl0aG9uMzIuUHlFcnJfRmV0Y2gKLSAgUHlFcnJfRm9ybWF0PXB5dGhvbjMyLlB5RXJyX0Zvcm1hdAotICBQeUVycl9HaXZlbkV4Y2VwdGlvbk1hdGNoZXM9cHl0aG9uMzIuUHlFcnJfR2l2ZW5FeGNlcHRpb25NYXRjaGVzCi0gIFB5RXJyX05ld0V4Y2VwdGlvbj1weXRob24zMi5QeUVycl9OZXdFeGNlcHRpb24KLSAgUHlFcnJfTmV3RXhjZXB0aW9uV2l0aERvYz1weXRob24zMi5QeUVycl9OZXdFeGNlcHRpb25XaXRoRG9jCi0gIFB5RXJyX05vTWVtb3J5PXB5dGhvbjMyLlB5RXJyX05vTWVtb3J5Ci0gIFB5RXJyX05vcm1hbGl6ZUV4Y2VwdGlvbj1weXRob24zMi5QeUVycl9Ob3JtYWxpemVFeGNlcHRpb24KLSAgUHlFcnJfT2NjdXJyZWQ9cHl0aG9uMzIuUHlFcnJfT2NjdXJyZWQKLSAgUHlFcnJfUHJpbnQ9cHl0aG9uMzIuUHlFcnJfUHJpbnQKLSAgUHlFcnJfUHJpbnRFeD1weXRob24zMi5QeUVycl9QcmludEV4Ci0gIFB5RXJyX1Byb2dyYW1UZXh0PXB5dGhvbjMyLlB5RXJyX1Byb2dyYW1UZXh0Ci0gIFB5RXJyX1Jlc3RvcmU9cHl0aG9uMzIuUHlFcnJfUmVzdG9yZQotICBQeUVycl9TZXRGcm9tRXJybm89cHl0aG9uMzIuUHlFcnJfU2V0RnJvbUVycm5vCi0gIFB5RXJyX1NldEZyb21FcnJub1dpdGhGaWxlbmFtZT1weXRob24zMi5QeUVycl9TZXRGcm9tRXJybm9XaXRoRmlsZW5hbWUKLSAgUHlFcnJfU2V0RnJvbUVycm5vV2l0aEZpbGVuYW1lT2JqZWN0PXB5dGhvbjMyLlB5RXJyX1NldEZyb21FcnJub1dpdGhGaWxlbmFtZU9iamVjdAotICBQeUVycl9TZXRJbnRlcnJ1cHQ9cHl0aG9uMzIuUHlFcnJfU2V0SW50ZXJydXB0Ci0gIFB5RXJyX1NldE5vbmU9cHl0aG9uMzIuUHlFcnJfU2V0Tm9uZQotICBQeUVycl9TZXRPYmplY3Q9cHl0aG9uMzIuUHlFcnJfU2V0T2JqZWN0Ci0gIFB5RXJyX1NldFN0cmluZz1weXRob24zMi5QeUVycl9TZXRTdHJpbmcKLSAgUHlFcnJfU3ludGF4TG9jYXRpb249cHl0aG9uMzIuUHlFcnJfU3ludGF4TG9jYXRpb24KLSAgUHlFcnJfV2FybkV4PXB5dGhvbjMyLlB5RXJyX1dhcm5FeAotICBQeUVycl9XYXJuRXhwbGljaXQ9cHl0aG9uMzIuUHlFcnJfV2FybkV4cGxpY2l0Ci0gIFB5RXJyX1dhcm5Gb3JtYXQ9cHl0aG9uMzIuUHlFcnJfV2FybkZvcm1hdAotICBQeUVycl9Xcml0ZVVucmFpc2FibGU9cHl0aG9uMzIuUHlFcnJfV3JpdGVVbnJhaXNhYmxlCi0gIFB5RXZhbF9BY3F1aXJlTG9jaz1weXRob24zMi5QeUV2YWxfQWNxdWlyZUxvY2sKLSAgUHlFdmFsX0FjcXVpcmVUaHJlYWQ9cHl0aG9uMzIuUHlFdmFsX0FjcXVpcmVUaHJlYWQKLSAgUHlFdmFsX0NhbGxGdW5jdGlvbj1weXRob24zMi5QeUV2YWxfQ2FsbEZ1bmN0aW9uCi0gIFB5RXZhbF9DYWxsTWV0aG9kPXB5dGhvbjMyLlB5RXZhbF9DYWxsTWV0aG9kCi0gIFB5RXZhbF9DYWxsT2JqZWN0V2l0aEtleXdvcmRzPXB5dGhvbjMyLlB5RXZhbF9DYWxsT2JqZWN0V2l0aEtleXdvcmRzCi0gIFB5RXZhbF9FdmFsQ29kZT1weXRob24zMi5QeUV2YWxfRXZhbENvZGUKLSAgUHlFdmFsX0V2YWxDb2RlRXg9cHl0aG9uMzIuUHlFdmFsX0V2YWxDb2RlRXgKLSAgUHlFdmFsX0V2YWxGcmFtZT1weXRob24zMi5QeUV2YWxfRXZhbEZyYW1lCi0gIFB5RXZhbF9FdmFsRnJhbWVFeD1weXRob24zMi5QeUV2YWxfRXZhbEZyYW1lRXgKLSAgUHlFdmFsX0dldEJ1aWx0aW5zPXB5dGhvbjMyLlB5RXZhbF9HZXRCdWlsdGlucwotICBQeUV2YWxfR2V0Q2FsbFN0YXRzPXB5dGhvbjMyLlB5RXZhbF9HZXRDYWxsU3RhdHMKLSAgUHlFdmFsX0dldEZyYW1lPXB5dGhvbjMyLlB5RXZhbF9HZXRGcmFtZQotICBQeUV2YWxfR2V0RnVuY0Rlc2M9cHl0aG9uMzIuUHlFdmFsX0dldEZ1bmNEZXNjCi0gIFB5RXZhbF9HZXRGdW5jTmFtZT1weXRob24zMi5QeUV2YWxfR2V0RnVuY05hbWUKLSAgUHlFdmFsX0dldEdsb2JhbHM9cHl0aG9uMzIuUHlFdmFsX0dldEdsb2JhbHMKLSAgUHlFdmFsX0dldExvY2Fscz1weXRob24zMi5QeUV2YWxfR2V0TG9jYWxzCi0gIFB5RXZhbF9Jbml0VGhyZWFkcz1weXRob24zMi5QeUV2YWxfSW5pdFRocmVhZHMKLSAgUHlFdmFsX1JlSW5pdFRocmVhZHM9cHl0aG9uMzIuUHlFdmFsX1JlSW5pdFRocmVhZHMKLSAgUHlFdmFsX1JlbGVhc2VMb2NrPXB5dGhvbjMyLlB5RXZhbF9SZWxlYXNlTG9jawotICBQeUV2YWxfUmVsZWFzZVRocmVhZD1weXRob24zMi5QeUV2YWxfUmVsZWFzZVRocmVhZAotICBQeUV2YWxfUmVzdG9yZVRocmVhZD1weXRob24zMi5QeUV2YWxfUmVzdG9yZVRocmVhZAotICBQeUV2YWxfU2F2ZVRocmVhZD1weXRob24zMi5QeUV2YWxfU2F2ZVRocmVhZAotICBQeUV2YWxfVGhyZWFkc0luaXRpYWxpemVkPXB5dGhvbjMyLlB5RXZhbF9UaHJlYWRzSW5pdGlhbGl6ZWQKLSAgUHlFeGNfQXJpdGhtZXRpY0Vycm9yPXB5dGhvbjMyLlB5RXhjX0FyaXRobWV0aWNFcnJvciBEQVRBCi0gIFB5RXhjX0Fzc2VydGlvbkVycm9yPXB5dGhvbjMyLlB5RXhjX0Fzc2VydGlvbkVycm9yIERBVEEKLSAgUHlFeGNfQXR0cmlidXRlRXJyb3I9cHl0aG9uMzIuUHlFeGNfQXR0cmlidXRlRXJyb3IgREFUQQotICBQeUV4Y19CYXNlRXhjZXB0aW9uPXB5dGhvbjMyLlB5RXhjX0Jhc2VFeGNlcHRpb24gREFUQQotICBQeUV4Y19CdWZmZXJFcnJvcj1weXRob24zMi5QeUV4Y19CdWZmZXJFcnJvciBEQVRBCi0gIFB5RXhjX0J5dGVzV2FybmluZz1weXRob24zMi5QeUV4Y19CeXRlc1dhcm5pbmcgREFUQQotICBQeUV4Y19EZXByZWNhdGlvbldhcm5pbmc9cHl0aG9uMzIuUHlFeGNfRGVwcmVjYXRpb25XYXJuaW5nIERBVEEKLSAgUHlFeGNfRU9GRXJyb3I9cHl0aG9uMzIuUHlFeGNfRU9GRXJyb3IgREFUQQotICBQeUV4Y19FbnZpcm9ubWVudEVycm9yPXB5dGhvbjMyLlB5RXhjX0Vudmlyb25tZW50RXJyb3IgREFUQQotICBQeUV4Y19FeGNlcHRpb249cHl0aG9uMzIuUHlFeGNfRXhjZXB0aW9uIERBVEEKLSAgUHlFeGNfRmxvYXRpbmdQb2ludEVycm9yPXB5dGhvbjMyLlB5RXhjX0Zsb2F0aW5nUG9pbnRFcnJvciBEQVRBCi0gIFB5RXhjX0Z1dHVyZVdhcm5pbmc9cHl0aG9uMzIuUHlFeGNfRnV0dXJlV2FybmluZyBEQVRBCi0gIFB5RXhjX0dlbmVyYXRvckV4aXQ9cHl0aG9uMzIuUHlFeGNfR2VuZXJhdG9yRXhpdCBEQVRBCi0gIFB5RXhjX0lPRXJyb3I9cHl0aG9uMzIuUHlFeGNfSU9FcnJvciBEQVRBCi0gIFB5RXhjX0ltcG9ydEVycm9yPXB5dGhvbjMyLlB5RXhjX0ltcG9ydEVycm9yIERBVEEKLSAgUHlFeGNfSW1wb3J0V2FybmluZz1weXRob24zMi5QeUV4Y19JbXBvcnRXYXJuaW5nIERBVEEKLSAgUHlFeGNfSW5kZW50YXRpb25FcnJvcj1weXRob24zMi5QeUV4Y19JbmRlbnRhdGlvbkVycm9yIERBVEEKLSAgUHlFeGNfSW5kZXhFcnJvcj1weXRob24zMi5QeUV4Y19JbmRleEVycm9yIERBVEEKLSAgUHlFeGNfS2V5RXJyb3I9cHl0aG9uMzIuUHlFeGNfS2V5RXJyb3IgREFUQQotICBQeUV4Y19LZXlib2FyZEludGVycnVwdD1weXRob24zMi5QeUV4Y19LZXlib2FyZEludGVycnVwdCBEQVRBCi0gIFB5RXhjX0xvb2t1cEVycm9yPXB5dGhvbjMyLlB5RXhjX0xvb2t1cEVycm9yIERBVEEKLSAgUHlFeGNfTWVtb3J5RXJyb3I9cHl0aG9uMzIuUHlFeGNfTWVtb3J5RXJyb3IgREFUQQotICBQeUV4Y19NZW1vcnlFcnJvckluc3Q9cHl0aG9uMzIuUHlFeGNfTWVtb3J5RXJyb3JJbnN0IERBVEEKLSAgUHlFeGNfTmFtZUVycm9yPXB5dGhvbjMyLlB5RXhjX05hbWVFcnJvciBEQVRBCi0gIFB5RXhjX05vdEltcGxlbWVudGVkRXJyb3I9cHl0aG9uMzIuUHlFeGNfTm90SW1wbGVtZW50ZWRFcnJvciBEQVRBCi0gIFB5RXhjX09TRXJyb3I9cHl0aG9uMzIuUHlFeGNfT1NFcnJvciBEQVRBCi0gIFB5RXhjX092ZXJmbG93RXJyb3I9cHl0aG9uMzIuUHlFeGNfT3ZlcmZsb3dFcnJvciBEQVRBCi0gIFB5RXhjX1BlbmRpbmdEZXByZWNhdGlvbldhcm5pbmc9cHl0aG9uMzIuUHlFeGNfUGVuZGluZ0RlcHJlY2F0aW9uV2FybmluZyBEQVRBCi0gIFB5RXhjX1JlY3Vyc2lvbkVycm9ySW5zdD1weXRob24zMi5QeUV4Y19SZWN1cnNpb25FcnJvckluc3QgREFUQQotICBQeUV4Y19SZWZlcmVuY2VFcnJvcj1weXRob24zMi5QeUV4Y19SZWZlcmVuY2VFcnJvciBEQVRBCi0gIFB5RXhjX1J1bnRpbWVFcnJvcj1weXRob24zMi5QeUV4Y19SdW50aW1lRXJyb3IgREFUQQotICBQeUV4Y19SdW50aW1lV2FybmluZz1weXRob24zMi5QeUV4Y19SdW50aW1lV2FybmluZyBEQVRBCi0gIFB5RXhjX1N0b3BJdGVyYXRpb249cHl0aG9uMzIuUHlFeGNfU3RvcEl0ZXJhdGlvbiBEQVRBCi0gIFB5RXhjX1N5bnRheEVycm9yPXB5dGhvbjMyLlB5RXhjX1N5bnRheEVycm9yIERBVEEKLSAgUHlFeGNfU3ludGF4V2FybmluZz1weXRob24zMi5QeUV4Y19TeW50YXhXYXJuaW5nIERBVEEKLSAgUHlFeGNfU3lzdGVtRXJyb3I9cHl0aG9uMzIuUHlFeGNfU3lzdGVtRXJyb3IgREFUQQotICBQeUV4Y19TeXN0ZW1FeGl0PXB5dGhvbjMyLlB5RXhjX1N5c3RlbUV4aXQgREFUQQotICBQeUV4Y19UYWJFcnJvcj1weXRob24zMi5QeUV4Y19UYWJFcnJvciBEQVRBCi0gIFB5RXhjX1R5cGVFcnJvcj1weXRob24zMi5QeUV4Y19UeXBlRXJyb3IgREFUQQotICBQeUV4Y19VbmJvdW5kTG9jYWxFcnJvcj1weXRob24zMi5QeUV4Y19VbmJvdW5kTG9jYWxFcnJvciBEQVRBCi0gIFB5RXhjX1VuaWNvZGVEZWNvZGVFcnJvcj1weXRob24zMi5QeUV4Y19Vbmljb2RlRGVjb2RlRXJyb3IgREFUQQotICBQeUV4Y19Vbmljb2RlRW5jb2RlRXJyb3I9cHl0aG9uMzIuUHlFeGNfVW5pY29kZUVuY29kZUVycm9yIERBVEEKLSAgUHlFeGNfVW5pY29kZUVycm9yPXB5dGhvbjMyLlB5RXhjX1VuaWNvZGVFcnJvciBEQVRBCi0gIFB5RXhjX1VuaWNvZGVUcmFuc2xhdGVFcnJvcj1weXRob24zMi5QeUV4Y19Vbmljb2RlVHJhbnNsYXRlRXJyb3IgREFUQQotICBQeUV4Y19Vbmljb2RlV2FybmluZz1weXRob24zMi5QeUV4Y19Vbmljb2RlV2FybmluZyBEQVRBCi0gIFB5RXhjX1VzZXJXYXJuaW5nPXB5dGhvbjMyLlB5RXhjX1VzZXJXYXJuaW5nIERBVEEKLSAgUHlFeGNfVmFsdWVFcnJvcj1weXRob24zMi5QeUV4Y19WYWx1ZUVycm9yIERBVEEKLSAgUHlFeGNfV2FybmluZz1weXRob24zMi5QeUV4Y19XYXJuaW5nIERBVEEKLSAgUHlFeGNfWmVyb0RpdmlzaW9uRXJyb3I9cHl0aG9uMzIuUHlFeGNfWmVyb0RpdmlzaW9uRXJyb3IgREFUQQotICBQeUV4Y2VwdGlvbl9HZXRDYXVzZT1weXRob24zMi5QeUV4Y2VwdGlvbl9HZXRDYXVzZQotICBQeUV4Y2VwdGlvbl9HZXRDb250ZXh0PXB5dGhvbjMyLlB5RXhjZXB0aW9uX0dldENvbnRleHQKLSAgUHlFeGNlcHRpb25fR2V0VHJhY2ViYWNrPXB5dGhvbjMyLlB5RXhjZXB0aW9uX0dldFRyYWNlYmFjawotICBQeUV4Y2VwdGlvbl9TZXRDYXVzZT1weXRob24zMi5QeUV4Y2VwdGlvbl9TZXRDYXVzZQotICBQeUV4Y2VwdGlvbl9TZXRDb250ZXh0PXB5dGhvbjMyLlB5RXhjZXB0aW9uX1NldENvbnRleHQKLSAgUHlFeGNlcHRpb25fU2V0VHJhY2ViYWNrPXB5dGhvbjMyLlB5RXhjZXB0aW9uX1NldFRyYWNlYmFjawotICBQeUZpbGVfRnJvbUZkPXB5dGhvbjMyLlB5RmlsZV9Gcm9tRmQKLSAgUHlGaWxlX0dldExpbmU9cHl0aG9uMzIuUHlGaWxlX0dldExpbmUKLSAgUHlGaWxlX1dyaXRlT2JqZWN0PXB5dGhvbjMyLlB5RmlsZV9Xcml0ZU9iamVjdAotICBQeUZpbGVfV3JpdGVTdHJpbmc9cHl0aG9uMzIuUHlGaWxlX1dyaXRlU3RyaW5nCi0gIFB5RmlsdGVyX1R5cGU9cHl0aG9uMzIuUHlGaWx0ZXJfVHlwZSBEQVRBCi0gIFB5RmxvYXRfQXNEb3VibGU9cHl0aG9uMzIuUHlGbG9hdF9Bc0RvdWJsZQotICBQeUZsb2F0X0Zyb21Eb3VibGU9cHl0aG9uMzIuUHlGbG9hdF9Gcm9tRG91YmxlCi0gIFB5RmxvYXRfRnJvbVN0cmluZz1weXRob24zMi5QeUZsb2F0X0Zyb21TdHJpbmcKLSAgUHlGbG9hdF9HZXRJbmZvPXB5dGhvbjMyLlB5RmxvYXRfR2V0SW5mbwotICBQeUZsb2F0X0dldE1heD1weXRob24zMi5QeUZsb2F0X0dldE1heAotICBQeUZsb2F0X0dldE1pbj1weXRob24zMi5QeUZsb2F0X0dldE1pbgotICBQeUZsb2F0X1R5cGU9cHl0aG9uMzIuUHlGbG9hdF9UeXBlIERBVEEKLSAgUHlGcm96ZW5TZXRfTmV3PXB5dGhvbjMyLlB5RnJvemVuU2V0X05ldwotICBQeUZyb3plblNldF9UeXBlPXB5dGhvbjMyLlB5RnJvemVuU2V0X1R5cGUgREFUQQotICBQeUdDX0NvbGxlY3Q9cHl0aG9uMzIuUHlHQ19Db2xsZWN0Ci0gIFB5R0lMU3RhdGVfRW5zdXJlPXB5dGhvbjMyLlB5R0lMU3RhdGVfRW5zdXJlCi0gIFB5R0lMU3RhdGVfR2V0VGhpc1RocmVhZFN0YXRlPXB5dGhvbjMyLlB5R0lMU3RhdGVfR2V0VGhpc1RocmVhZFN0YXRlCi0gIFB5R0lMU3RhdGVfUmVsZWFzZT1weXRob24zMi5QeUdJTFN0YXRlX1JlbGVhc2UKLSAgUHlHZXRTZXREZXNjcl9UeXBlPXB5dGhvbjMyLlB5R2V0U2V0RGVzY3JfVHlwZSBEQVRBCi0gIFB5SW1wb3J0X0FkZE1vZHVsZT1weXRob24zMi5QeUltcG9ydF9BZGRNb2R1bGUKLSAgUHlJbXBvcnRfQXBwZW5kSW5pdHRhYj1weXRob24zMi5QeUltcG9ydF9BcHBlbmRJbml0dGFiCi0gIFB5SW1wb3J0X0NsZWFudXA9cHl0aG9uMzIuUHlJbXBvcnRfQ2xlYW51cAotICBQeUltcG9ydF9FeGVjQ29kZU1vZHVsZT1weXRob24zMi5QeUltcG9ydF9FeGVjQ29kZU1vZHVsZQotICBQeUltcG9ydF9FeGVjQ29kZU1vZHVsZUV4PXB5dGhvbjMyLlB5SW1wb3J0X0V4ZWNDb2RlTW9kdWxlRXgKLSAgUHlJbXBvcnRfRXhlY0NvZGVNb2R1bGVXaXRoUGF0aG5hbWVzPXB5dGhvbjMyLlB5SW1wb3J0X0V4ZWNDb2RlTW9kdWxlV2l0aFBhdGhuYW1lcwotICBQeUltcG9ydF9HZXRJbXBvcnRlcj1weXRob24zMi5QeUltcG9ydF9HZXRJbXBvcnRlcgotICBQeUltcG9ydF9HZXRNYWdpY051bWJlcj1weXRob24zMi5QeUltcG9ydF9HZXRNYWdpY051bWJlcgotICBQeUltcG9ydF9HZXRNYWdpY1RhZz1weXRob24zMi5QeUltcG9ydF9HZXRNYWdpY1RhZwotICBQeUltcG9ydF9HZXRNb2R1bGVEaWN0PXB5dGhvbjMyLlB5SW1wb3J0X0dldE1vZHVsZURpY3QKLSAgUHlJbXBvcnRfSW1wb3J0PXB5dGhvbjMyLlB5SW1wb3J0X0ltcG9ydAotICBQeUltcG9ydF9JbXBvcnRGcm96ZW5Nb2R1bGU9cHl0aG9uMzIuUHlJbXBvcnRfSW1wb3J0RnJvemVuTW9kdWxlCi0gIFB5SW1wb3J0X0ltcG9ydE1vZHVsZT1weXRob24zMi5QeUltcG9ydF9JbXBvcnRNb2R1bGUKLSAgUHlJbXBvcnRfSW1wb3J0TW9kdWxlTGV2ZWw9cHl0aG9uMzIuUHlJbXBvcnRfSW1wb3J0TW9kdWxlTGV2ZWwKLSAgUHlJbXBvcnRfSW1wb3J0TW9kdWxlTm9CbG9jaz1weXRob24zMi5QeUltcG9ydF9JbXBvcnRNb2R1bGVOb0Jsb2NrCi0gIFB5SW1wb3J0X1JlbG9hZE1vZHVsZT1weXRob24zMi5QeUltcG9ydF9SZWxvYWRNb2R1bGUKLSAgUHlJbnRlcnByZXRlclN0YXRlX0NsZWFyPXB5dGhvbjMyLlB5SW50ZXJwcmV0ZXJTdGF0ZV9DbGVhcgotICBQeUludGVycHJldGVyU3RhdGVfRGVsZXRlPXB5dGhvbjMyLlB5SW50ZXJwcmV0ZXJTdGF0ZV9EZWxldGUKLSAgUHlJbnRlcnByZXRlclN0YXRlX05ldz1weXRob24zMi5QeUludGVycHJldGVyU3RhdGVfTmV3Ci0gIFB5SXRlcl9OZXh0PXB5dGhvbjMyLlB5SXRlcl9OZXh0Ci0gIFB5TGlzdEl0ZXJfVHlwZT1weXRob24zMi5QeUxpc3RJdGVyX1R5cGUgREFUQQotICBQeUxpc3RSZXZJdGVyX1R5cGU9cHl0aG9uMzIuUHlMaXN0UmV2SXRlcl9UeXBlIERBVEEKLSAgUHlMaXN0X0FwcGVuZD1weXRob24zMi5QeUxpc3RfQXBwZW5kCi0gIFB5TGlzdF9Bc1R1cGxlPXB5dGhvbjMyLlB5TGlzdF9Bc1R1cGxlCi0gIFB5TGlzdF9HZXRJdGVtPXB5dGhvbjMyLlB5TGlzdF9HZXRJdGVtCi0gIFB5TGlzdF9HZXRTbGljZT1weXRob24zMi5QeUxpc3RfR2V0U2xpY2UKLSAgUHlMaXN0X0luc2VydD1weXRob24zMi5QeUxpc3RfSW5zZXJ0Ci0gIFB5TGlzdF9OZXc9cHl0aG9uMzIuUHlMaXN0X05ldwotICBQeUxpc3RfUmV2ZXJzZT1weXRob24zMi5QeUxpc3RfUmV2ZXJzZQotICBQeUxpc3RfU2V0SXRlbT1weXRob24zMi5QeUxpc3RfU2V0SXRlbQotICBQeUxpc3RfU2V0U2xpY2U9cHl0aG9uMzIuUHlMaXN0X1NldFNsaWNlCi0gIFB5TGlzdF9TaXplPXB5dGhvbjMyLlB5TGlzdF9TaXplCi0gIFB5TGlzdF9Tb3J0PXB5dGhvbjMyLlB5TGlzdF9Tb3J0Ci0gIFB5TGlzdF9UeXBlPXB5dGhvbjMyLlB5TGlzdF9UeXBlIERBVEEKLSAgUHlMb25nUmFuZ2VJdGVyX1R5cGU9cHl0aG9uMzIuUHlMb25nUmFuZ2VJdGVyX1R5cGUgREFUQQotICBQeUxvbmdfQXNEb3VibGU9cHl0aG9uMzIuUHlMb25nX0FzRG91YmxlCi0gIFB5TG9uZ19Bc0xvbmc9cHl0aG9uMzIuUHlMb25nX0FzTG9uZwotICBQeUxvbmdfQXNMb25nQW5kT3ZlcmZsb3c9cHl0aG9uMzIuUHlMb25nX0FzTG9uZ0FuZE92ZXJmbG93Ci0gIFB5TG9uZ19Bc0xvbmdMb25nPXB5dGhvbjMyLlB5TG9uZ19Bc0xvbmdMb25nCi0gIFB5TG9uZ19Bc0xvbmdMb25nQW5kT3ZlcmZsb3c9cHl0aG9uMzIuUHlMb25nX0FzTG9uZ0xvbmdBbmRPdmVyZmxvdwotICBQeUxvbmdfQXNTaXplX3Q9cHl0aG9uMzIuUHlMb25nX0FzU2l6ZV90Ci0gIFB5TG9uZ19Bc1NzaXplX3Q9cHl0aG9uMzIuUHlMb25nX0FzU3NpemVfdAotICBQeUxvbmdfQXNVbnNpZ25lZExvbmc9cHl0aG9uMzIuUHlMb25nX0FzVW5zaWduZWRMb25nCi0gIFB5TG9uZ19Bc1Vuc2lnbmVkTG9uZ0xvbmc9cHl0aG9uMzIuUHlMb25nX0FzVW5zaWduZWRMb25nTG9uZwotICBQeUxvbmdfQXNVbnNpZ25lZExvbmdMb25nTWFzaz1weXRob24zMi5QeUxvbmdfQXNVbnNpZ25lZExvbmdMb25nTWFzawotICBQeUxvbmdfQXNVbnNpZ25lZExvbmdNYXNrPXB5dGhvbjMyLlB5TG9uZ19Bc1Vuc2lnbmVkTG9uZ01hc2sKLSAgUHlMb25nX0FzVm9pZFB0cj1weXRob24zMi5QeUxvbmdfQXNWb2lkUHRyCi0gIFB5TG9uZ19Gcm9tRG91YmxlPXB5dGhvbjMyLlB5TG9uZ19Gcm9tRG91YmxlCi0gIFB5TG9uZ19Gcm9tTG9uZz1weXRob24zMi5QeUxvbmdfRnJvbUxvbmcKLSAgUHlMb25nX0Zyb21Mb25nTG9uZz1weXRob24zMi5QeUxvbmdfRnJvbUxvbmdMb25nCi0gIFB5TG9uZ19Gcm9tU2l6ZV90PXB5dGhvbjMyLlB5TG9uZ19Gcm9tU2l6ZV90Ci0gIFB5TG9uZ19Gcm9tU3NpemVfdD1weXRob24zMi5QeUxvbmdfRnJvbVNzaXplX3QKLSAgUHlMb25nX0Zyb21TdHJpbmc9cHl0aG9uMzIuUHlMb25nX0Zyb21TdHJpbmcKLSAgUHlMb25nX0Zyb21VbnNpZ25lZExvbmc9cHl0aG9uMzIuUHlMb25nX0Zyb21VbnNpZ25lZExvbmcKLSAgUHlMb25nX0Zyb21VbnNpZ25lZExvbmdMb25nPXB5dGhvbjMyLlB5TG9uZ19Gcm9tVW5zaWduZWRMb25nTG9uZwotICBQeUxvbmdfRnJvbVZvaWRQdHI9cHl0aG9uMzIuUHlMb25nX0Zyb21Wb2lkUHRyCi0gIFB5TG9uZ19HZXRJbmZvPXB5dGhvbjMyLlB5TG9uZ19HZXRJbmZvCi0gIFB5TG9uZ19UeXBlPXB5dGhvbjMyLlB5TG9uZ19UeXBlIERBVEEKLSAgUHlNYXBfVHlwZT1weXRob24zMi5QeU1hcF9UeXBlIERBVEEKLSAgUHlNYXBwaW5nX0NoZWNrPXB5dGhvbjMyLlB5TWFwcGluZ19DaGVjawotICBQeU1hcHBpbmdfR2V0SXRlbVN0cmluZz1weXRob24zMi5QeU1hcHBpbmdfR2V0SXRlbVN0cmluZwotICBQeU1hcHBpbmdfSGFzS2V5PXB5dGhvbjMyLlB5TWFwcGluZ19IYXNLZXkKLSAgUHlNYXBwaW5nX0hhc0tleVN0cmluZz1weXRob24zMi5QeU1hcHBpbmdfSGFzS2V5U3RyaW5nCi0gIFB5TWFwcGluZ19JdGVtcz1weXRob24zMi5QeU1hcHBpbmdfSXRlbXMKLSAgUHlNYXBwaW5nX0tleXM9cHl0aG9uMzIuUHlNYXBwaW5nX0tleXMKLSAgUHlNYXBwaW5nX0xlbmd0aD1weXRob24zMi5QeU1hcHBpbmdfTGVuZ3RoCi0gIFB5TWFwcGluZ19TZXRJdGVtU3RyaW5nPXB5dGhvbjMyLlB5TWFwcGluZ19TZXRJdGVtU3RyaW5nCi0gIFB5TWFwcGluZ19TaXplPXB5dGhvbjMyLlB5TWFwcGluZ19TaXplCi0gIFB5TWFwcGluZ19WYWx1ZXM9cHl0aG9uMzIuUHlNYXBwaW5nX1ZhbHVlcwotICBQeU1lbV9GcmVlPXB5dGhvbjMyLlB5TWVtX0ZyZWUKLSAgUHlNZW1fTWFsbG9jPXB5dGhvbjMyLlB5TWVtX01hbGxvYwotICBQeU1lbV9SZWFsbG9jPXB5dGhvbjMyLlB5TWVtX1JlYWxsb2MKLSAgUHlNZW1iZXJEZXNjcl9UeXBlPXB5dGhvbjMyLlB5TWVtYmVyRGVzY3JfVHlwZSBEQVRBCi0gIFB5TWVtb3J5Vmlld19Gcm9tT2JqZWN0PXB5dGhvbjMyLlB5TWVtb3J5Vmlld19Gcm9tT2JqZWN0Ci0gIFB5TWVtb3J5Vmlld19HZXRDb250aWd1b3VzPXB5dGhvbjMyLlB5TWVtb3J5Vmlld19HZXRDb250aWd1b3VzCi0gIFB5TWVtb3J5Vmlld19UeXBlPXB5dGhvbjMyLlB5TWVtb3J5Vmlld19UeXBlIERBVEEKLSAgUHlNZXRob2REZXNjcl9UeXBlPXB5dGhvbjMyLlB5TWV0aG9kRGVzY3JfVHlwZSBEQVRBCi0gIFB5TW9kdWxlX0FkZEludENvbnN0YW50PXB5dGhvbjMyLlB5TW9kdWxlX0FkZEludENvbnN0YW50Ci0gIFB5TW9kdWxlX0FkZE9iamVjdD1weXRob24zMi5QeU1vZHVsZV9BZGRPYmplY3QKLSAgUHlNb2R1bGVfQWRkU3RyaW5nQ29uc3RhbnQ9cHl0aG9uMzIuUHlNb2R1bGVfQWRkU3RyaW5nQ29uc3RhbnQKLSAgUHlNb2R1bGVfQ3JlYXRlMj1weXRob24zMi5QeU1vZHVsZV9DcmVhdGUyCi0gIFB5TW9kdWxlX0dldERlZj1weXRob24zMi5QeU1vZHVsZV9HZXREZWYKLSAgUHlNb2R1bGVfR2V0RGljdD1weXRob24zMi5QeU1vZHVsZV9HZXREaWN0Ci0gIFB5TW9kdWxlX0dldEZpbGVuYW1lPXB5dGhvbjMyLlB5TW9kdWxlX0dldEZpbGVuYW1lCi0gIFB5TW9kdWxlX0dldEZpbGVuYW1lT2JqZWN0PXB5dGhvbjMyLlB5TW9kdWxlX0dldEZpbGVuYW1lT2JqZWN0Ci0gIFB5TW9kdWxlX0dldE5hbWU9cHl0aG9uMzIuUHlNb2R1bGVfR2V0TmFtZQotICBQeU1vZHVsZV9HZXRTdGF0ZT1weXRob24zMi5QeU1vZHVsZV9HZXRTdGF0ZQotICBQeU1vZHVsZV9OZXc9cHl0aG9uMzIuUHlNb2R1bGVfTmV3Ci0gIFB5TW9kdWxlX1R5cGU9cHl0aG9uMzIuUHlNb2R1bGVfVHlwZSBEQVRBCi0gIFB5TnVsbEltcG9ydGVyX1R5cGU9cHl0aG9uMzIuUHlOdWxsSW1wb3J0ZXJfVHlwZSBEQVRBCi0gIFB5TnVtYmVyX0Fic29sdXRlPXB5dGhvbjMyLlB5TnVtYmVyX0Fic29sdXRlCi0gIFB5TnVtYmVyX0FkZD1weXRob24zMi5QeU51bWJlcl9BZGQKLSAgUHlOdW1iZXJfQW5kPXB5dGhvbjMyLlB5TnVtYmVyX0FuZAotICBQeU51bWJlcl9Bc1NzaXplX3Q9cHl0aG9uMzIuUHlOdW1iZXJfQXNTc2l6ZV90Ci0gIFB5TnVtYmVyX0NoZWNrPXB5dGhvbjMyLlB5TnVtYmVyX0NoZWNrCi0gIFB5TnVtYmVyX0Rpdm1vZD1weXRob24zMi5QeU51bWJlcl9EaXZtb2QKLSAgUHlOdW1iZXJfRmxvYXQ9cHl0aG9uMzIuUHlOdW1iZXJfRmxvYXQKLSAgUHlOdW1iZXJfRmxvb3JEaXZpZGU9cHl0aG9uMzIuUHlOdW1iZXJfRmxvb3JEaXZpZGUKLSAgUHlOdW1iZXJfSW5QbGFjZUFkZD1weXRob24zMi5QeU51bWJlcl9JblBsYWNlQWRkCi0gIFB5TnVtYmVyX0luUGxhY2VBbmQ9cHl0aG9uMzIuUHlOdW1iZXJfSW5QbGFjZUFuZAotICBQeU51bWJlcl9JblBsYWNlRmxvb3JEaXZpZGU9cHl0aG9uMzIuUHlOdW1iZXJfSW5QbGFjZUZsb29yRGl2aWRlCi0gIFB5TnVtYmVyX0luUGxhY2VMc2hpZnQ9cHl0aG9uMzIuUHlOdW1iZXJfSW5QbGFjZUxzaGlmdAotICBQeU51bWJlcl9JblBsYWNlTXVsdGlwbHk9cHl0aG9uMzIuUHlOdW1iZXJfSW5QbGFjZU11bHRpcGx5Ci0gIFB5TnVtYmVyX0luUGxhY2VPcj1weXRob24zMi5QeU51bWJlcl9JblBsYWNlT3IKLSAgUHlOdW1iZXJfSW5QbGFjZVBvd2VyPXB5dGhvbjMyLlB5TnVtYmVyX0luUGxhY2VQb3dlcgotICBQeU51bWJlcl9JblBsYWNlUmVtYWluZGVyPXB5dGhvbjMyLlB5TnVtYmVyX0luUGxhY2VSZW1haW5kZXIKLSAgUHlOdW1iZXJfSW5QbGFjZVJzaGlmdD1weXRob24zMi5QeU51bWJlcl9JblBsYWNlUnNoaWZ0Ci0gIFB5TnVtYmVyX0luUGxhY2VTdWJ0cmFjdD1weXRob24zMi5QeU51bWJlcl9JblBsYWNlU3VidHJhY3QKLSAgUHlOdW1iZXJfSW5QbGFjZVRydWVEaXZpZGU9cHl0aG9uMzIuUHlOdW1iZXJfSW5QbGFjZVRydWVEaXZpZGUKLSAgUHlOdW1iZXJfSW5QbGFjZVhvcj1weXRob24zMi5QeU51bWJlcl9JblBsYWNlWG9yCi0gIFB5TnVtYmVyX0luZGV4PXB5dGhvbjMyLlB5TnVtYmVyX0luZGV4Ci0gIFB5TnVtYmVyX0ludmVydD1weXRob24zMi5QeU51bWJlcl9JbnZlcnQKLSAgUHlOdW1iZXJfTG9uZz1weXRob24zMi5QeU51bWJlcl9Mb25nCi0gIFB5TnVtYmVyX0xzaGlmdD1weXRob24zMi5QeU51bWJlcl9Mc2hpZnQKLSAgUHlOdW1iZXJfTXVsdGlwbHk9cHl0aG9uMzIuUHlOdW1iZXJfTXVsdGlwbHkKLSAgUHlOdW1iZXJfTmVnYXRpdmU9cHl0aG9uMzIuUHlOdW1iZXJfTmVnYXRpdmUKLSAgUHlOdW1iZXJfT3I9cHl0aG9uMzIuUHlOdW1iZXJfT3IKLSAgUHlOdW1iZXJfUG9zaXRpdmU9cHl0aG9uMzIuUHlOdW1iZXJfUG9zaXRpdmUKLSAgUHlOdW1iZXJfUG93ZXI9cHl0aG9uMzIuUHlOdW1iZXJfUG93ZXIKLSAgUHlOdW1iZXJfUmVtYWluZGVyPXB5dGhvbjMyLlB5TnVtYmVyX1JlbWFpbmRlcgotICBQeU51bWJlcl9Sc2hpZnQ9cHl0aG9uMzIuUHlOdW1iZXJfUnNoaWZ0Ci0gIFB5TnVtYmVyX1N1YnRyYWN0PXB5dGhvbjMyLlB5TnVtYmVyX1N1YnRyYWN0Ci0gIFB5TnVtYmVyX1RvQmFzZT1weXRob24zMi5QeU51bWJlcl9Ub0Jhc2UKLSAgUHlOdW1iZXJfVHJ1ZURpdmlkZT1weXRob24zMi5QeU51bWJlcl9UcnVlRGl2aWRlCi0gIFB5TnVtYmVyX1hvcj1weXRob24zMi5QeU51bWJlcl9Yb3IKLSAgUHlPU19BZnRlckZvcms9cHl0aG9uMzIuUHlPU19BZnRlckZvcmsKLSAgUHlPU19Jbml0SW50ZXJydXB0cz1weXRob24zMi5QeU9TX0luaXRJbnRlcnJ1cHRzCi0gIFB5T1NfSW5wdXRIb29rPXB5dGhvbjMyLlB5T1NfSW5wdXRIb29rIERBVEEKLSAgUHlPU19JbnRlcnJ1cHRPY2N1cnJlZD1weXRob24zMi5QeU9TX0ludGVycnVwdE9jY3VycmVkCi0gIFB5T1NfUmVhZGxpbmVGdW5jdGlvblBvaW50ZXI9cHl0aG9uMzIuUHlPU19SZWFkbGluZUZ1bmN0aW9uUG9pbnRlciBEQVRBCi0gIFB5T1NfZG91YmxlX3RvX3N0cmluZz1weXRob24zMi5QeU9TX2RvdWJsZV90b19zdHJpbmcKLSAgUHlPU19nZXRzaWc9cHl0aG9uMzIuUHlPU19nZXRzaWcKLSAgUHlPU19teXN0cmljbXA9cHl0aG9uMzIuUHlPU19teXN0cmljbXAKLSAgUHlPU19teXN0cm5pY21wPXB5dGhvbjMyLlB5T1NfbXlzdHJuaWNtcAotICBQeU9TX3NldHNpZz1weXRob24zMi5QeU9TX3NldHNpZwotICBQeU9TX3NucHJpbnRmPXB5dGhvbjMyLlB5T1Nfc25wcmludGYKLSAgUHlPU19zdHJpbmdfdG9fZG91YmxlPXB5dGhvbjMyLlB5T1Nfc3RyaW5nX3RvX2RvdWJsZQotICBQeU9TX3N0cnRvbD1weXRob24zMi5QeU9TX3N0cnRvbAotICBQeU9TX3N0cnRvdWw9cHl0aG9uMzIuUHlPU19zdHJ0b3VsCi0gIFB5T1NfdnNucHJpbnRmPXB5dGhvbjMyLlB5T1NfdnNucHJpbnRmCi0gIFB5T2JqZWN0X0FTQ0lJPXB5dGhvbjMyLlB5T2JqZWN0X0FTQ0lJCi0gIFB5T2JqZWN0X0FzQ2hhckJ1ZmZlcj1weXRob24zMi5QeU9iamVjdF9Bc0NoYXJCdWZmZXIKLSAgUHlPYmplY3RfQXNGaWxlRGVzY3JpcHRvcj1weXRob24zMi5QeU9iamVjdF9Bc0ZpbGVEZXNjcmlwdG9yCi0gIFB5T2JqZWN0X0FzUmVhZEJ1ZmZlcj1weXRob24zMi5QeU9iamVjdF9Bc1JlYWRCdWZmZXIKLSAgUHlPYmplY3RfQXNXcml0ZUJ1ZmZlcj1weXRob24zMi5QeU9iamVjdF9Bc1dyaXRlQnVmZmVyCi0gIFB5T2JqZWN0X0J5dGVzPXB5dGhvbjMyLlB5T2JqZWN0X0J5dGVzCi0gIFB5T2JqZWN0X0NhbGw9cHl0aG9uMzIuUHlPYmplY3RfQ2FsbAotICBQeU9iamVjdF9DYWxsRnVuY3Rpb249cHl0aG9uMzIuUHlPYmplY3RfQ2FsbEZ1bmN0aW9uCi0gIFB5T2JqZWN0X0NhbGxGdW5jdGlvbk9iakFyZ3M9cHl0aG9uMzIuUHlPYmplY3RfQ2FsbEZ1bmN0aW9uT2JqQXJncwotICBQeU9iamVjdF9DYWxsTWV0aG9kPXB5dGhvbjMyLlB5T2JqZWN0X0NhbGxNZXRob2QKLSAgUHlPYmplY3RfQ2FsbE1ldGhvZE9iakFyZ3M9cHl0aG9uMzIuUHlPYmplY3RfQ2FsbE1ldGhvZE9iakFyZ3MKLSAgUHlPYmplY3RfQ2FsbE9iamVjdD1weXRob24zMi5QeU9iamVjdF9DYWxsT2JqZWN0Ci0gIFB5T2JqZWN0X0NoZWNrUmVhZEJ1ZmZlcj1weXRob24zMi5QeU9iamVjdF9DaGVja1JlYWRCdWZmZXIKLSAgUHlPYmplY3RfQ2xlYXJXZWFrUmVmcz1weXRob24zMi5QeU9iamVjdF9DbGVhcldlYWtSZWZzCi0gIFB5T2JqZWN0X0RlbEl0ZW09cHl0aG9uMzIuUHlPYmplY3RfRGVsSXRlbQotICBQeU9iamVjdF9EZWxJdGVtU3RyaW5nPXB5dGhvbjMyLlB5T2JqZWN0X0RlbEl0ZW1TdHJpbmcKLSAgUHlPYmplY3RfRGlyPXB5dGhvbjMyLlB5T2JqZWN0X0RpcgotICBQeU9iamVjdF9Gb3JtYXQ9cHl0aG9uMzIuUHlPYmplY3RfRm9ybWF0Ci0gIFB5T2JqZWN0X0ZyZWU9cHl0aG9uMzIuUHlPYmplY3RfRnJlZQotICBQeU9iamVjdF9HQ19EZWw9cHl0aG9uMzIuUHlPYmplY3RfR0NfRGVsCi0gIFB5T2JqZWN0X0dDX1RyYWNrPXB5dGhvbjMyLlB5T2JqZWN0X0dDX1RyYWNrCi0gIFB5T2JqZWN0X0dDX1VuVHJhY2s9cHl0aG9uMzIuUHlPYmplY3RfR0NfVW5UcmFjawotICBQeU9iamVjdF9HZW5lcmljR2V0QXR0cj1weXRob24zMi5QeU9iamVjdF9HZW5lcmljR2V0QXR0cgotICBQeU9iamVjdF9HZW5lcmljU2V0QXR0cj1weXRob24zMi5QeU9iamVjdF9HZW5lcmljU2V0QXR0cgotICBQeU9iamVjdF9HZXRBdHRyPXB5dGhvbjMyLlB5T2JqZWN0X0dldEF0dHIKLSAgUHlPYmplY3RfR2V0QXR0clN0cmluZz1weXRob24zMi5QeU9iamVjdF9HZXRBdHRyU3RyaW5nCi0gIFB5T2JqZWN0X0dldEl0ZW09cHl0aG9uMzIuUHlPYmplY3RfR2V0SXRlbQotICBQeU9iamVjdF9HZXRJdGVyPXB5dGhvbjMyLlB5T2JqZWN0X0dldEl0ZXIKLSAgUHlPYmplY3RfSGFzQXR0cj1weXRob24zMi5QeU9iamVjdF9IYXNBdHRyCi0gIFB5T2JqZWN0X0hhc0F0dHJTdHJpbmc9cHl0aG9uMzIuUHlPYmplY3RfSGFzQXR0clN0cmluZwotICBQeU9iamVjdF9IYXNoPXB5dGhvbjMyLlB5T2JqZWN0X0hhc2gKLSAgUHlPYmplY3RfSGFzaE5vdEltcGxlbWVudGVkPXB5dGhvbjMyLlB5T2JqZWN0X0hhc2hOb3RJbXBsZW1lbnRlZAotICBQeU9iamVjdF9Jbml0PXB5dGhvbjMyLlB5T2JqZWN0X0luaXQKLSAgUHlPYmplY3RfSW5pdFZhcj1weXRob24zMi5QeU9iamVjdF9Jbml0VmFyCi0gIFB5T2JqZWN0X0lzSW5zdGFuY2U9cHl0aG9uMzIuUHlPYmplY3RfSXNJbnN0YW5jZQotICBQeU9iamVjdF9Jc1N1YmNsYXNzPXB5dGhvbjMyLlB5T2JqZWN0X0lzU3ViY2xhc3MKLSAgUHlPYmplY3RfSXNUcnVlPXB5dGhvbjMyLlB5T2JqZWN0X0lzVHJ1ZQotICBQeU9iamVjdF9MZW5ndGg9cHl0aG9uMzIuUHlPYmplY3RfTGVuZ3RoCi0gIFB5T2JqZWN0X01hbGxvYz1weXRob24zMi5QeU9iamVjdF9NYWxsb2MKLSAgUHlPYmplY3RfTm90PXB5dGhvbjMyLlB5T2JqZWN0X05vdAotICBQeU9iamVjdF9SZWFsbG9jPXB5dGhvbjMyLlB5T2JqZWN0X1JlYWxsb2MKLSAgUHlPYmplY3RfUmVwcj1weXRob24zMi5QeU9iamVjdF9SZXByCi0gIFB5T2JqZWN0X1JpY2hDb21wYXJlPXB5dGhvbjMyLlB5T2JqZWN0X1JpY2hDb21wYXJlCi0gIFB5T2JqZWN0X1JpY2hDb21wYXJlQm9vbD1weXRob24zMi5QeU9iamVjdF9SaWNoQ29tcGFyZUJvb2wKLSAgUHlPYmplY3RfU2VsZkl0ZXI9cHl0aG9uMzIuUHlPYmplY3RfU2VsZkl0ZXIKLSAgUHlPYmplY3RfU2V0QXR0cj1weXRob24zMi5QeU9iamVjdF9TZXRBdHRyCi0gIFB5T2JqZWN0X1NldEF0dHJTdHJpbmc9cHl0aG9uMzIuUHlPYmplY3RfU2V0QXR0clN0cmluZwotICBQeU9iamVjdF9TZXRJdGVtPXB5dGhvbjMyLlB5T2JqZWN0X1NldEl0ZW0KLSAgUHlPYmplY3RfU2l6ZT1weXRob24zMi5QeU9iamVjdF9TaXplCi0gIFB5T2JqZWN0X1N0cj1weXRob24zMi5QeU9iamVjdF9TdHIKLSAgUHlPYmplY3RfVHlwZT1weXRob24zMi5QeU9iamVjdF9UeXBlIERBVEEKLSAgUHlQYXJzZXJfU2ltcGxlUGFyc2VGaWxlRmxhZ3M9cHl0aG9uMzIuUHlQYXJzZXJfU2ltcGxlUGFyc2VGaWxlRmxhZ3MKLSAgUHlQYXJzZXJfU2ltcGxlUGFyc2VTdHJpbmdGbGFncz1weXRob24zMi5QeVBhcnNlcl9TaW1wbGVQYXJzZVN0cmluZ0ZsYWdzCi0gIFB5UHJvcGVydHlfVHlwZT1weXRob24zMi5QeVByb3BlcnR5X1R5cGUgREFUQQotICBQeVJhbmdlSXRlcl9UeXBlPXB5dGhvbjMyLlB5UmFuZ2VJdGVyX1R5cGUgREFUQQotICBQeVJhbmdlX1R5cGU9cHl0aG9uMzIuUHlSYW5nZV9UeXBlIERBVEEKLSAgUHlSZXZlcnNlZF9UeXBlPXB5dGhvbjMyLlB5UmV2ZXJzZWRfVHlwZSBEQVRBCi0gIFB5U2VxSXRlcl9OZXc9cHl0aG9uMzIuUHlTZXFJdGVyX05ldwotICBQeVNlcUl0ZXJfVHlwZT1weXRob24zMi5QeVNlcUl0ZXJfVHlwZSBEQVRBCi0gIFB5U2VxdWVuY2VfQ2hlY2s9cHl0aG9uMzIuUHlTZXF1ZW5jZV9DaGVjawotICBQeVNlcXVlbmNlX0NvbmNhdD1weXRob24zMi5QeVNlcXVlbmNlX0NvbmNhdAotICBQeVNlcXVlbmNlX0NvbnRhaW5zPXB5dGhvbjMyLlB5U2VxdWVuY2VfQ29udGFpbnMKLSAgUHlTZXF1ZW5jZV9Db3VudD1weXRob24zMi5QeVNlcXVlbmNlX0NvdW50Ci0gIFB5U2VxdWVuY2VfRGVsSXRlbT1weXRob24zMi5QeVNlcXVlbmNlX0RlbEl0ZW0KLSAgUHlTZXF1ZW5jZV9EZWxTbGljZT1weXRob24zMi5QeVNlcXVlbmNlX0RlbFNsaWNlCi0gIFB5U2VxdWVuY2VfRmFzdD1weXRob24zMi5QeVNlcXVlbmNlX0Zhc3QKLSAgUHlTZXF1ZW5jZV9HZXRJdGVtPXB5dGhvbjMyLlB5U2VxdWVuY2VfR2V0SXRlbQotICBQeVNlcXVlbmNlX0dldFNsaWNlPXB5dGhvbjMyLlB5U2VxdWVuY2VfR2V0U2xpY2UKLSAgUHlTZXF1ZW5jZV9Jbj1weXRob24zMi5QeVNlcXVlbmNlX0luCi0gIFB5U2VxdWVuY2VfSW5QbGFjZUNvbmNhdD1weXRob24zMi5QeVNlcXVlbmNlX0luUGxhY2VDb25jYXQKLSAgUHlTZXF1ZW5jZV9JblBsYWNlUmVwZWF0PXB5dGhvbjMyLlB5U2VxdWVuY2VfSW5QbGFjZVJlcGVhdAotICBQeVNlcXVlbmNlX0luZGV4PXB5dGhvbjMyLlB5U2VxdWVuY2VfSW5kZXgKLSAgUHlTZXF1ZW5jZV9MZW5ndGg9cHl0aG9uMzIuUHlTZXF1ZW5jZV9MZW5ndGgKLSAgUHlTZXF1ZW5jZV9MaXN0PXB5dGhvbjMyLlB5U2VxdWVuY2VfTGlzdAotICBQeVNlcXVlbmNlX1JlcGVhdD1weXRob24zMi5QeVNlcXVlbmNlX1JlcGVhdAotICBQeVNlcXVlbmNlX1NldEl0ZW09cHl0aG9uMzIuUHlTZXF1ZW5jZV9TZXRJdGVtCi0gIFB5U2VxdWVuY2VfU2V0U2xpY2U9cHl0aG9uMzIuUHlTZXF1ZW5jZV9TZXRTbGljZQotICBQeVNlcXVlbmNlX1NpemU9cHl0aG9uMzIuUHlTZXF1ZW5jZV9TaXplCi0gIFB5U2VxdWVuY2VfVHVwbGU9cHl0aG9uMzIuUHlTZXF1ZW5jZV9UdXBsZQotICBQeVNldEl0ZXJfVHlwZT1weXRob24zMi5QeVNldEl0ZXJfVHlwZSBEQVRBCi0gIFB5U2V0X0FkZD1weXRob24zMi5QeVNldF9BZGQKLSAgUHlTZXRfQ2xlYXI9cHl0aG9uMzIuUHlTZXRfQ2xlYXIKLSAgUHlTZXRfQ29udGFpbnM9cHl0aG9uMzIuUHlTZXRfQ29udGFpbnMKLSAgUHlTZXRfRGlzY2FyZD1weXRob24zMi5QeVNldF9EaXNjYXJkCi0gIFB5U2V0X05ldz1weXRob24zMi5QeVNldF9OZXcKLSAgUHlTZXRfUG9wPXB5dGhvbjMyLlB5U2V0X1BvcAotICBQeVNldF9TaXplPXB5dGhvbjMyLlB5U2V0X1NpemUKLSAgUHlTZXRfVHlwZT1weXRob24zMi5QeVNldF9UeXBlIERBVEEKLSAgUHlTbGljZV9HZXRJbmRpY2VzPXB5dGhvbjMyLlB5U2xpY2VfR2V0SW5kaWNlcwotICBQeVNsaWNlX0dldEluZGljZXNFeD1weXRob24zMi5QeVNsaWNlX0dldEluZGljZXNFeAotICBQeVNsaWNlX05ldz1weXRob24zMi5QeVNsaWNlX05ldwotICBQeVNsaWNlX1R5cGU9cHl0aG9uMzIuUHlTbGljZV9UeXBlIERBVEEKLSAgUHlTb3J0V3JhcHBlcl9UeXBlPXB5dGhvbjMyLlB5U29ydFdyYXBwZXJfVHlwZSBEQVRBCi0gIFB5U3RhdGVfRmluZE1vZHVsZT1weXRob24zMi5QeVN0YXRlX0ZpbmRNb2R1bGUKLSAgUHlTdHJ1Y3RTZXF1ZW5jZV9HZXRJdGVtPXB5dGhvbjMyLlB5U3RydWN0U2VxdWVuY2VfR2V0SXRlbQotICBQeVN0cnVjdFNlcXVlbmNlX05ldz1weXRob24zMi5QeVN0cnVjdFNlcXVlbmNlX05ldwotICBQeVN0cnVjdFNlcXVlbmNlX05ld1R5cGU9cHl0aG9uMzIuUHlTdHJ1Y3RTZXF1ZW5jZV9OZXdUeXBlCi0gIFB5U3RydWN0U2VxdWVuY2VfU2V0SXRlbT1weXRob24zMi5QeVN0cnVjdFNlcXVlbmNlX1NldEl0ZW0KLSAgUHlTdXBlcl9UeXBlPXB5dGhvbjMyLlB5U3VwZXJfVHlwZSBEQVRBCi0gIFB5U3lzX0FkZFdhcm5PcHRpb249cHl0aG9uMzIuUHlTeXNfQWRkV2Fybk9wdGlvbgotICBQeVN5c19BZGRXYXJuT3B0aW9uVW5pY29kZT1weXRob24zMi5QeVN5c19BZGRXYXJuT3B0aW9uVW5pY29kZQotICBQeVN5c19Gb3JtYXRTdGRlcnI9cHl0aG9uMzIuUHlTeXNfRm9ybWF0U3RkZXJyCi0gIFB5U3lzX0Zvcm1hdFN0ZG91dD1weXRob24zMi5QeVN5c19Gb3JtYXRTdGRvdXQKLSAgUHlTeXNfR2V0T2JqZWN0PXB5dGhvbjMyLlB5U3lzX0dldE9iamVjdAotICBQeVN5c19IYXNXYXJuT3B0aW9ucz1weXRob24zMi5QeVN5c19IYXNXYXJuT3B0aW9ucwotICBQeVN5c19SZXNldFdhcm5PcHRpb25zPXB5dGhvbjMyLlB5U3lzX1Jlc2V0V2Fybk9wdGlvbnMKLSAgUHlTeXNfU2V0QXJndj1weXRob24zMi5QeVN5c19TZXRBcmd2Ci0gIFB5U3lzX1NldEFyZ3ZFeD1weXRob24zMi5QeVN5c19TZXRBcmd2RXgKLSAgUHlTeXNfU2V0T2JqZWN0PXB5dGhvbjMyLlB5U3lzX1NldE9iamVjdAotICBQeVN5c19TZXRQYXRoPXB5dGhvbjMyLlB5U3lzX1NldFBhdGgKLSAgUHlTeXNfV3JpdGVTdGRlcnI9cHl0aG9uMzIuUHlTeXNfV3JpdGVTdGRlcnIKLSAgUHlTeXNfV3JpdGVTdGRvdXQ9cHl0aG9uMzIuUHlTeXNfV3JpdGVTdGRvdXQKLSAgUHlUaHJlYWRTdGF0ZV9DbGVhcj1weXRob24zMi5QeVRocmVhZFN0YXRlX0NsZWFyCi0gIFB5VGhyZWFkU3RhdGVfRGVsZXRlPXB5dGhvbjMyLlB5VGhyZWFkU3RhdGVfRGVsZXRlCi0gIFB5VGhyZWFkU3RhdGVfRGVsZXRlQ3VycmVudD1weXRob24zMi5QeVRocmVhZFN0YXRlX0RlbGV0ZUN1cnJlbnQKLSAgUHlUaHJlYWRTdGF0ZV9HZXQ9cHl0aG9uMzIuUHlUaHJlYWRTdGF0ZV9HZXQKLSAgUHlUaHJlYWRTdGF0ZV9HZXREaWN0PXB5dGhvbjMyLlB5VGhyZWFkU3RhdGVfR2V0RGljdAotICBQeVRocmVhZFN0YXRlX05ldz1weXRob24zMi5QeVRocmVhZFN0YXRlX05ldwotICBQeVRocmVhZFN0YXRlX1NldEFzeW5jRXhjPXB5dGhvbjMyLlB5VGhyZWFkU3RhdGVfU2V0QXN5bmNFeGMKLSAgUHlUaHJlYWRTdGF0ZV9Td2FwPXB5dGhvbjMyLlB5VGhyZWFkU3RhdGVfU3dhcAotICBQeVRyYWNlQmFja19IZXJlPXB5dGhvbjMyLlB5VHJhY2VCYWNrX0hlcmUKLSAgUHlUcmFjZUJhY2tfUHJpbnQ9cHl0aG9uMzIuUHlUcmFjZUJhY2tfUHJpbnQKLSAgUHlUcmFjZUJhY2tfVHlwZT1weXRob24zMi5QeVRyYWNlQmFja19UeXBlIERBVEEKLSAgUHlUdXBsZUl0ZXJfVHlwZT1weXRob24zMi5QeVR1cGxlSXRlcl9UeXBlIERBVEEKLSAgUHlUdXBsZV9DbGVhckZyZWVMaXN0PXB5dGhvbjMyLlB5VHVwbGVfQ2xlYXJGcmVlTGlzdAotICBQeVR1cGxlX0dldEl0ZW09cHl0aG9uMzIuUHlUdXBsZV9HZXRJdGVtCi0gIFB5VHVwbGVfR2V0U2xpY2U9cHl0aG9uMzIuUHlUdXBsZV9HZXRTbGljZQotICBQeVR1cGxlX05ldz1weXRob24zMi5QeVR1cGxlX05ldwotICBQeVR1cGxlX1BhY2s9cHl0aG9uMzIuUHlUdXBsZV9QYWNrCi0gIFB5VHVwbGVfU2V0SXRlbT1weXRob24zMi5QeVR1cGxlX1NldEl0ZW0KLSAgUHlUdXBsZV9TaXplPXB5dGhvbjMyLlB5VHVwbGVfU2l6ZQotICBQeVR1cGxlX1R5cGU9cHl0aG9uMzIuUHlUdXBsZV9UeXBlIERBVEEKLSAgUHlUeXBlX0NsZWFyQ2FjaGU9cHl0aG9uMzIuUHlUeXBlX0NsZWFyQ2FjaGUKLSAgUHlUeXBlX0Zyb21TcGVjPXB5dGhvbjMyLlB5VHlwZV9Gcm9tU3BlYwotICBQeVR5cGVfR2VuZXJpY0FsbG9jPXB5dGhvbjMyLlB5VHlwZV9HZW5lcmljQWxsb2MKLSAgUHlUeXBlX0dlbmVyaWNOZXc9cHl0aG9uMzIuUHlUeXBlX0dlbmVyaWNOZXcKLSAgUHlUeXBlX0dldEZsYWdzPXB5dGhvbjMyLlB5VHlwZV9HZXRGbGFncwotICBQeVR5cGVfSXNTdWJ0eXBlPXB5dGhvbjMyLlB5VHlwZV9Jc1N1YnR5cGUKLSAgUHlUeXBlX01vZGlmaWVkPXB5dGhvbjMyLlB5VHlwZV9Nb2RpZmllZAotICBQeVR5cGVfUmVhZHk9cHl0aG9uMzIuUHlUeXBlX1JlYWR5Ci0gIFB5VHlwZV9UeXBlPXB5dGhvbjMyLlB5VHlwZV9UeXBlIERBVEEKLSAgUHlVbmljb2RlRGVjb2RlRXJyb3JfQ3JlYXRlPXB5dGhvbjMyLlB5VW5pY29kZURlY29kZUVycm9yX0NyZWF0ZQotICBQeVVuaWNvZGVEZWNvZGVFcnJvcl9HZXRFbmNvZGluZz1weXRob24zMi5QeVVuaWNvZGVEZWNvZGVFcnJvcl9HZXRFbmNvZGluZwotICBQeVVuaWNvZGVEZWNvZGVFcnJvcl9HZXRFbmQ9cHl0aG9uMzIuUHlVbmljb2RlRGVjb2RlRXJyb3JfR2V0RW5kCi0gIFB5VW5pY29kZURlY29kZUVycm9yX0dldE9iamVjdD1weXRob24zMi5QeVVuaWNvZGVEZWNvZGVFcnJvcl9HZXRPYmplY3QKLSAgUHlVbmljb2RlRGVjb2RlRXJyb3JfR2V0UmVhc29uPXB5dGhvbjMyLlB5VW5pY29kZURlY29kZUVycm9yX0dldFJlYXNvbgotICBQeVVuaWNvZGVEZWNvZGVFcnJvcl9HZXRTdGFydD1weXRob24zMi5QeVVuaWNvZGVEZWNvZGVFcnJvcl9HZXRTdGFydAotICBQeVVuaWNvZGVEZWNvZGVFcnJvcl9TZXRFbmQ9cHl0aG9uMzIuUHlVbmljb2RlRGVjb2RlRXJyb3JfU2V0RW5kCi0gIFB5VW5pY29kZURlY29kZUVycm9yX1NldFJlYXNvbj1weXRob24zMi5QeVVuaWNvZGVEZWNvZGVFcnJvcl9TZXRSZWFzb24KLSAgUHlVbmljb2RlRGVjb2RlRXJyb3JfU2V0U3RhcnQ9cHl0aG9uMzIuUHlVbmljb2RlRGVjb2RlRXJyb3JfU2V0U3RhcnQKLSAgUHlVbmljb2RlRW5jb2RlRXJyb3JfR2V0RW5jb2Rpbmc9cHl0aG9uMzIuUHlVbmljb2RlRW5jb2RlRXJyb3JfR2V0RW5jb2RpbmcKLSAgUHlVbmljb2RlRW5jb2RlRXJyb3JfR2V0RW5kPXB5dGhvbjMyLlB5VW5pY29kZUVuY29kZUVycm9yX0dldEVuZAotICBQeVVuaWNvZGVFbmNvZGVFcnJvcl9HZXRPYmplY3Q9cHl0aG9uMzIuUHlVbmljb2RlRW5jb2RlRXJyb3JfR2V0T2JqZWN0Ci0gIFB5VW5pY29kZUVuY29kZUVycm9yX0dldFJlYXNvbj1weXRob24zMi5QeVVuaWNvZGVFbmNvZGVFcnJvcl9HZXRSZWFzb24KLSAgUHlVbmljb2RlRW5jb2RlRXJyb3JfR2V0U3RhcnQ9cHl0aG9uMzIuUHlVbmljb2RlRW5jb2RlRXJyb3JfR2V0U3RhcnQKLSAgUHlVbmljb2RlRW5jb2RlRXJyb3JfU2V0RW5kPXB5dGhvbjMyLlB5VW5pY29kZUVuY29kZUVycm9yX1NldEVuZAotICBQeVVuaWNvZGVFbmNvZGVFcnJvcl9TZXRSZWFzb249cHl0aG9uMzIuUHlVbmljb2RlRW5jb2RlRXJyb3JfU2V0UmVhc29uCi0gIFB5VW5pY29kZUVuY29kZUVycm9yX1NldFN0YXJ0PXB5dGhvbjMyLlB5VW5pY29kZUVuY29kZUVycm9yX1NldFN0YXJ0Ci0gIFB5VW5pY29kZUl0ZXJfVHlwZT1weXRob24zMi5QeVVuaWNvZGVJdGVyX1R5cGUgREFUQQotICBQeVVuaWNvZGVUcmFuc2xhdGVFcnJvcl9HZXRFbmQ9cHl0aG9uMzIuUHlVbmljb2RlVHJhbnNsYXRlRXJyb3JfR2V0RW5kCi0gIFB5VW5pY29kZVRyYW5zbGF0ZUVycm9yX0dldE9iamVjdD1weXRob24zMi5QeVVuaWNvZGVUcmFuc2xhdGVFcnJvcl9HZXRPYmplY3QKLSAgUHlVbmljb2RlVHJhbnNsYXRlRXJyb3JfR2V0UmVhc29uPXB5dGhvbjMyLlB5VW5pY29kZVRyYW5zbGF0ZUVycm9yX0dldFJlYXNvbgotICBQeVVuaWNvZGVUcmFuc2xhdGVFcnJvcl9HZXRTdGFydD1weXRob24zMi5QeVVuaWNvZGVUcmFuc2xhdGVFcnJvcl9HZXRTdGFydAotICBQeVVuaWNvZGVUcmFuc2xhdGVFcnJvcl9TZXRFbmQ9cHl0aG9uMzIuUHlVbmljb2RlVHJhbnNsYXRlRXJyb3JfU2V0RW5kCi0gIFB5VW5pY29kZVRyYW5zbGF0ZUVycm9yX1NldFJlYXNvbj1weXRob24zMi5QeVVuaWNvZGVUcmFuc2xhdGVFcnJvcl9TZXRSZWFzb24KLSAgUHlVbmljb2RlVHJhbnNsYXRlRXJyb3JfU2V0U3RhcnQ9cHl0aG9uMzIuUHlVbmljb2RlVHJhbnNsYXRlRXJyb3JfU2V0U3RhcnQKLSAgUHlVbmljb2RlX0FwcGVuZD1weXRob24zMi5QeVVuaWNvZGVVQ1MyX0FwcGVuZAotICBQeVVuaWNvZGVfQXBwZW5kQW5kRGVsPXB5dGhvbjMyLlB5VW5pY29kZVVDUzJfQXBwZW5kQW5kRGVsCi0gIFB5VW5pY29kZV9Bc0FTQ0lJU3RyaW5nPXB5dGhvbjMyLlB5VW5pY29kZVVDUzJfQXNBU0NJSVN0cmluZwotICBQeVVuaWNvZGVfQXNDaGFybWFwU3RyaW5nPXB5dGhvbjMyLlB5VW5pY29kZVVDUzJfQXNDaGFybWFwU3RyaW5nCi0gIFB5VW5pY29kZV9Bc0RlY29kZWRPYmplY3Q9cHl0aG9uMzIuUHlVbmljb2RlVUNTMl9Bc0RlY29kZWRPYmplY3QKLSAgUHlVbmljb2RlX0FzRGVjb2RlZFVuaWNvZGU9cHl0aG9uMzIuUHlVbmljb2RlVUNTMl9Bc0RlY29kZWRVbmljb2RlCi0gIFB5VW5pY29kZV9Bc0VuY29kZWRPYmplY3Q9cHl0aG9uMzIuUHlVbmljb2RlVUNTMl9Bc0VuY29kZWRPYmplY3QKLSAgUHlVbmljb2RlX0FzRW5jb2RlZFN0cmluZz1weXRob24zMi5QeVVuaWNvZGVVQ1MyX0FzRW5jb2RlZFN0cmluZwotICBQeVVuaWNvZGVfQXNFbmNvZGVkVW5pY29kZT1weXRob24zMi5QeVVuaWNvZGVVQ1MyX0FzRW5jb2RlZFVuaWNvZGUKLSAgUHlVbmljb2RlX0FzTGF0aW4xU3RyaW5nPXB5dGhvbjMyLlB5VW5pY29kZVVDUzJfQXNMYXRpbjFTdHJpbmcKLSAgUHlVbmljb2RlX0FzUmF3VW5pY29kZUVzY2FwZVN0cmluZz1weXRob24zMi5QeVVuaWNvZGVVQ1MyX0FzUmF3VW5pY29kZUVzY2FwZVN0cmluZwotICBQeVVuaWNvZGVfQXNVVEYxNlN0cmluZz1weXRob24zMi5QeVVuaWNvZGVVQ1MyX0FzVVRGMTZTdHJpbmcKLSAgUHlVbmljb2RlX0FzVVRGMzJTdHJpbmc9cHl0aG9uMzIuUHlVbmljb2RlVUNTMl9Bc1VURjMyU3RyaW5nCi0gIFB5VW5pY29kZV9Bc1VURjhTdHJpbmc9cHl0aG9uMzIuUHlVbmljb2RlVUNTMl9Bc1VURjhTdHJpbmcKLSAgUHlVbmljb2RlX0FzVW5pY29kZUVzY2FwZVN0cmluZz1weXRob24zMi5QeVVuaWNvZGVVQ1MyX0FzVW5pY29kZUVzY2FwZVN0cmluZwotICBQeVVuaWNvZGVfQXNXaWRlQ2hhcj1weXRob24zMi5QeVVuaWNvZGVVQ1MyX0FzV2lkZUNoYXIKLSAgUHlVbmljb2RlX0NsZWFyRnJlZWxpc3Q9cHl0aG9uMzIuUHlVbmljb2RlVUNTMl9DbGVhckZyZWVsaXN0Ci0gIFB5VW5pY29kZV9Db21wYXJlPXB5dGhvbjMyLlB5VW5pY29kZVVDUzJfQ29tcGFyZQotICBQeVVuaWNvZGVfQ29uY2F0PXB5dGhvbjMyLlB5VW5pY29kZVVDUzJfQ29uY2F0Ci0gIFB5VW5pY29kZV9Db250YWlucz1weXRob24zMi5QeVVuaWNvZGVVQ1MyX0NvbnRhaW5zCi0gIFB5VW5pY29kZV9Db3VudD1weXRob24zMi5QeVVuaWNvZGVVQ1MyX0NvdW50Ci0gIFB5VW5pY29kZV9EZWNvZGU9cHl0aG9uMzIuUHlVbmljb2RlVUNTMl9EZWNvZGUKLSAgUHlVbmljb2RlX0RlY29kZUFTQ0lJPXB5dGhvbjMyLlB5VW5pY29kZVVDUzJfRGVjb2RlQVNDSUkKLSAgUHlVbmljb2RlX0RlY29kZUNoYXJtYXA9cHl0aG9uMzIuUHlVbmljb2RlVUNTMl9EZWNvZGVDaGFybWFwCi0gIFB5VW5pY29kZV9EZWNvZGVGU0RlZmF1bHQ9cHl0aG9uMzIuUHlVbmljb2RlVUNTMl9EZWNvZGVGU0RlZmF1bHQKLSAgUHlVbmljb2RlX0RlY29kZUZTRGVmYXVsdEFuZFNpemU9cHl0aG9uMzIuUHlVbmljb2RlVUNTMl9EZWNvZGVGU0RlZmF1bHRBbmRTaXplCi0gIFB5VW5pY29kZV9EZWNvZGVMYXRpbjE9cHl0aG9uMzIuUHlVbmljb2RlVUNTMl9EZWNvZGVMYXRpbjEKLSAgUHlVbmljb2RlX0RlY29kZVJhd1VuaWNvZGVFc2NhcGU9cHl0aG9uMzIuUHlVbmljb2RlVUNTMl9EZWNvZGVSYXdVbmljb2RlRXNjYXBlCi0gIFB5VW5pY29kZV9EZWNvZGVVVEYxNj1weXRob24zMi5QeVVuaWNvZGVVQ1MyX0RlY29kZVVURjE2Ci0gIFB5VW5pY29kZV9EZWNvZGVVVEYxNlN0YXRlZnVsPXB5dGhvbjMyLlB5VW5pY29kZVVDUzJfRGVjb2RlVVRGMTZTdGF0ZWZ1bAotICBQeVVuaWNvZGVfRGVjb2RlVVRGMzI9cHl0aG9uMzIuUHlVbmljb2RlVUNTMl9EZWNvZGVVVEYzMgotICBQeVVuaWNvZGVfRGVjb2RlVVRGMzJTdGF0ZWZ1bD1weXRob24zMi5QeVVuaWNvZGVVQ1MyX0RlY29kZVVURjMyU3RhdGVmdWwKLSAgUHlVbmljb2RlX0RlY29kZVVURjg9cHl0aG9uMzIuUHlVbmljb2RlVUNTMl9EZWNvZGVVVEY4Ci0gIFB5VW5pY29kZV9EZWNvZGVVVEY4U3RhdGVmdWw9cHl0aG9uMzIuUHlVbmljb2RlVUNTMl9EZWNvZGVVVEY4U3RhdGVmdWwKLSAgUHlVbmljb2RlX0RlY29kZVVuaWNvZGVFc2NhcGU9cHl0aG9uMzIuUHlVbmljb2RlVUNTMl9EZWNvZGVVbmljb2RlRXNjYXBlCi0gIFB5VW5pY29kZV9GU0NvbnZlcnRlcj1weXRob24zMi5QeVVuaWNvZGVVQ1MyX0ZTQ29udmVydGVyCi0gIFB5VW5pY29kZV9GU0RlY29kZXI9cHl0aG9uMzIuUHlVbmljb2RlVUNTMl9GU0RlY29kZXIKLSAgUHlVbmljb2RlX0ZpbmQ9cHl0aG9uMzIuUHlVbmljb2RlVUNTMl9GaW5kCi0gIFB5VW5pY29kZV9Gb3JtYXQ9cHl0aG9uMzIuUHlVbmljb2RlVUNTMl9Gb3JtYXQKLSAgUHlVbmljb2RlX0Zyb21FbmNvZGVkT2JqZWN0PXB5dGhvbjMyLlB5VW5pY29kZVVDUzJfRnJvbUVuY29kZWRPYmplY3QKLSAgUHlVbmljb2RlX0Zyb21Gb3JtYXQ9cHl0aG9uMzIuUHlVbmljb2RlVUNTMl9Gcm9tRm9ybWF0Ci0gIFB5VW5pY29kZV9Gcm9tRm9ybWF0Vj1weXRob24zMi5QeVVuaWNvZGVVQ1MyX0Zyb21Gb3JtYXRWCi0gIFB5VW5pY29kZV9Gcm9tT2JqZWN0PXB5dGhvbjMyLlB5VW5pY29kZVVDUzJfRnJvbU9iamVjdAotICBQeVVuaWNvZGVfRnJvbU9yZGluYWw9cHl0aG9uMzIuUHlVbmljb2RlVUNTMl9Gcm9tT3JkaW5hbAotICBQeVVuaWNvZGVfRnJvbVN0cmluZz1weXRob24zMi5QeVVuaWNvZGVVQ1MyX0Zyb21TdHJpbmcKLSAgUHlVbmljb2RlX0Zyb21TdHJpbmdBbmRTaXplPXB5dGhvbjMyLlB5VW5pY29kZVVDUzJfRnJvbVN0cmluZ0FuZFNpemUKLSAgUHlVbmljb2RlX0Zyb21XaWRlQ2hhcj1weXRob24zMi5QeVVuaWNvZGVVQ1MyX0Zyb21XaWRlQ2hhcgotICBQeVVuaWNvZGVfR2V0RGVmYXVsdEVuY29kaW5nPXB5dGhvbjMyLlB5VW5pY29kZVVDUzJfR2V0RGVmYXVsdEVuY29kaW5nCi0gIFB5VW5pY29kZV9HZXRTaXplPXB5dGhvbjMyLlB5VW5pY29kZVVDUzJfR2V0U2l6ZQotICBQeVVuaWNvZGVfSXNJZGVudGlmaWVyPXB5dGhvbjMyLlB5VW5pY29kZVVDUzJfSXNJZGVudGlmaWVyCi0gIFB5VW5pY29kZV9Kb2luPXB5dGhvbjMyLlB5VW5pY29kZVVDUzJfSm9pbgotICBQeVVuaWNvZGVfUGFydGl0aW9uPXB5dGhvbjMyLlB5VW5pY29kZVVDUzJfUGFydGl0aW9uCi0gIFB5VW5pY29kZV9SUGFydGl0aW9uPXB5dGhvbjMyLlB5VW5pY29kZVVDUzJfUlBhcnRpdGlvbgotICBQeVVuaWNvZGVfUlNwbGl0PXB5dGhvbjMyLlB5VW5pY29kZVVDUzJfUlNwbGl0Ci0gIFB5VW5pY29kZV9SZXBsYWNlPXB5dGhvbjMyLlB5VW5pY29kZVVDUzJfUmVwbGFjZQotICBQeVVuaWNvZGVfUmVzaXplPXB5dGhvbjMyLlB5VW5pY29kZVVDUzJfUmVzaXplCi0gIFB5VW5pY29kZV9SaWNoQ29tcGFyZT1weXRob24zMi5QeVVuaWNvZGVVQ1MyX1JpY2hDb21wYXJlCi0gIFB5VW5pY29kZV9TZXREZWZhdWx0RW5jb2Rpbmc9cHl0aG9uMzIuUHlVbmljb2RlVUNTMl9TZXREZWZhdWx0RW5jb2RpbmcKLSAgUHlVbmljb2RlX1NwbGl0PXB5dGhvbjMyLlB5VW5pY29kZVVDUzJfU3BsaXQKLSAgUHlVbmljb2RlX1NwbGl0bGluZXM9cHl0aG9uMzIuUHlVbmljb2RlVUNTMl9TcGxpdGxpbmVzCi0gIFB5VW5pY29kZV9UYWlsbWF0Y2g9cHl0aG9uMzIuUHlVbmljb2RlVUNTMl9UYWlsbWF0Y2gKLSAgUHlVbmljb2RlX1RyYW5zbGF0ZT1weXRob24zMi5QeVVuaWNvZGVVQ1MyX1RyYW5zbGF0ZQotICBQeVVuaWNvZGVfQnVpbGRFbmNvZGluZ01hcD1weXRob24zMi5QeVVuaWNvZGVfQnVpbGRFbmNvZGluZ01hcAotICBQeVVuaWNvZGVfQ29tcGFyZVdpdGhBU0NJSVN0cmluZz1weXRob24zMi5QeVVuaWNvZGVfQ29tcGFyZVdpdGhBU0NJSVN0cmluZwotICBQeVVuaWNvZGVfRGVjb2RlVVRGNz1weXRob24zMi5QeVVuaWNvZGVfRGVjb2RlVVRGNwotICBQeVVuaWNvZGVfRGVjb2RlVVRGN1N0YXRlZnVsPXB5dGhvbjMyLlB5VW5pY29kZV9EZWNvZGVVVEY3U3RhdGVmdWwKLSAgUHlVbmljb2RlX0VuY29kZUZTRGVmYXVsdD1weXRob24zMi5QeVVuaWNvZGVfRW5jb2RlRlNEZWZhdWx0Ci0gIFB5VW5pY29kZV9JbnRlcm5Gcm9tU3RyaW5nPXB5dGhvbjMyLlB5VW5pY29kZV9JbnRlcm5Gcm9tU3RyaW5nCi0gIFB5VW5pY29kZV9JbnRlcm5JbW1vcnRhbD1weXRob24zMi5QeVVuaWNvZGVfSW50ZXJuSW1tb3J0YWwKLSAgUHlVbmljb2RlX0ludGVybkluUGxhY2U9cHl0aG9uMzIuUHlVbmljb2RlX0ludGVybkluUGxhY2UKLSAgUHlVbmljb2RlX1R5cGU9cHl0aG9uMzIuUHlVbmljb2RlX1R5cGUgREFUQQotICBQeVdlYWtyZWZfR2V0T2JqZWN0PXB5dGhvbjMyLlB5V2Vha3JlZl9HZXRPYmplY3QgREFUQQotICBQeVdlYWtyZWZfTmV3UHJveHk9cHl0aG9uMzIuUHlXZWFrcmVmX05ld1Byb3h5Ci0gIFB5V2Vha3JlZl9OZXdSZWY9cHl0aG9uMzIuUHlXZWFrcmVmX05ld1JlZgotICBQeVdyYXBwZXJEZXNjcl9UeXBlPXB5dGhvbjMyLlB5V3JhcHBlckRlc2NyX1R5cGUgREFUQQotICBQeVdyYXBwZXJfTmV3PXB5dGhvbjMyLlB5V3JhcHBlcl9OZXcKLSAgUHlaaXBfVHlwZT1weXRob24zMi5QeVppcF9UeXBlIERBVEEKLSAgUHlfQWRkUGVuZGluZ0NhbGw9cHl0aG9uMzIuUHlfQWRkUGVuZGluZ0NhbGwKLSAgUHlfQXRFeGl0PXB5dGhvbjMyLlB5X0F0RXhpdAotICBQeV9CdWlsZFZhbHVlPXB5dGhvbjMyLlB5X0J1aWxkVmFsdWUKLSAgUHlfQ29tcGlsZVN0cmluZz1weXRob24zMi5QeV9Db21waWxlU3RyaW5nCi0gIFB5X0RlY1JlZj1weXRob24zMi5QeV9EZWNSZWYKLSAgUHlfRW5kSW50ZXJwcmV0ZXI9cHl0aG9uMzIuUHlfRW5kSW50ZXJwcmV0ZXIKLSAgUHlfRXhpdD1weXRob24zMi5QeV9FeGl0Ci0gIFB5X0ZhdGFsRXJyb3I9cHl0aG9uMzIuUHlfRmF0YWxFcnJvcgotICBQeV9GaWxlU3lzdGVtRGVmYXVsdEVuY29kaW5nPXB5dGhvbjMyLlB5X0ZpbGVTeXN0ZW1EZWZhdWx0RW5jb2RpbmcgREFUQQotICBQeV9GaW5hbGl6ZT1weXRob24zMi5QeV9GaW5hbGl6ZQotICBQeV9HZXRCdWlsZEluZm89cHl0aG9uMzIuUHlfR2V0QnVpbGRJbmZvCi0gIFB5X0dldENvbXBpbGVyPXB5dGhvbjMyLlB5X0dldENvbXBpbGVyCi0gIFB5X0dldENvcHlyaWdodD1weXRob24zMi5QeV9HZXRDb3B5cmlnaHQKLSAgUHlfR2V0RXhlY1ByZWZpeD1weXRob24zMi5QeV9HZXRFeGVjUHJlZml4Ci0gIFB5X0dldFBhdGg9cHl0aG9uMzIuUHlfR2V0UGF0aAotICBQeV9HZXRQbGF0Zm9ybT1weXRob24zMi5QeV9HZXRQbGF0Zm9ybQotICBQeV9HZXRQcmVmaXg9cHl0aG9uMzIuUHlfR2V0UHJlZml4Ci0gIFB5X0dldFByb2dyYW1GdWxsUGF0aD1weXRob24zMi5QeV9HZXRQcm9ncmFtRnVsbFBhdGgKLSAgUHlfR2V0UHJvZ3JhbU5hbWU9cHl0aG9uMzIuUHlfR2V0UHJvZ3JhbU5hbWUKLSAgUHlfR2V0UHl0aG9uSG9tZT1weXRob24zMi5QeV9HZXRQeXRob25Ib21lCi0gIFB5X0dldFJlY3Vyc2lvbkxpbWl0PXB5dGhvbjMyLlB5X0dldFJlY3Vyc2lvbkxpbWl0Ci0gIFB5X0dldFZlcnNpb249cHl0aG9uMzIuUHlfR2V0VmVyc2lvbgotICBQeV9IYXNGaWxlU3lzdGVtRGVmYXVsdEVuY29kaW5nPXB5dGhvbjMyLlB5X0hhc0ZpbGVTeXN0ZW1EZWZhdWx0RW5jb2RpbmcgREFUQQotICBQeV9JbmNSZWY9cHl0aG9uMzIuUHlfSW5jUmVmCi0gIFB5X0luaXRpYWxpemU9cHl0aG9uMzIuUHlfSW5pdGlhbGl6ZQotICBQeV9Jbml0aWFsaXplRXg9cHl0aG9uMzIuUHlfSW5pdGlhbGl6ZUV4Ci0gIFB5X0lzSW5pdGlhbGl6ZWQ9cHl0aG9uMzIuUHlfSXNJbml0aWFsaXplZAotICBQeV9NYWluPXB5dGhvbjMyLlB5X01haW4KLSAgUHlfTWFrZVBlbmRpbmdDYWxscz1weXRob24zMi5QeV9NYWtlUGVuZGluZ0NhbGxzCi0gIFB5X05ld0ludGVycHJldGVyPXB5dGhvbjMyLlB5X05ld0ludGVycHJldGVyCi0gIFB5X1JlcHJFbnRlcj1weXRob24zMi5QeV9SZXByRW50ZXIKLSAgUHlfUmVwckxlYXZlPXB5dGhvbjMyLlB5X1JlcHJMZWF2ZQotICBQeV9TZXRQcm9ncmFtTmFtZT1weXRob24zMi5QeV9TZXRQcm9ncmFtTmFtZQotICBQeV9TZXRQeXRob25Ib21lPXB5dGhvbjMyLlB5X1NldFB5dGhvbkhvbWUKLSAgUHlfU2V0UmVjdXJzaW9uTGltaXQ9cHl0aG9uMzIuUHlfU2V0UmVjdXJzaW9uTGltaXQKLSAgUHlfU3ltdGFibGVTdHJpbmc9cHl0aG9uMzIuUHlfU3ltdGFibGVTdHJpbmcKLSAgUHlfVmFCdWlsZFZhbHVlPXB5dGhvbjMyLlB5X1ZhQnVpbGRWYWx1ZQotICBfUHlFcnJfQmFkSW50ZXJuYWxDYWxsPXB5dGhvbjMyLl9QeUVycl9CYWRJbnRlcm5hbENhbGwKLSAgX1B5T2JqZWN0X0NhbGxGdW5jdGlvbl9TaXplVD1weXRob24zMi5fUHlPYmplY3RfQ2FsbEZ1bmN0aW9uX1NpemVUCi0gIF9QeU9iamVjdF9DYWxsTWV0aG9kX1NpemVUPXB5dGhvbjMyLl9QeU9iamVjdF9DYWxsTWV0aG9kX1NpemVUCi0gIF9QeU9iamVjdF9HQ19NYWxsb2M9cHl0aG9uMzIuX1B5T2JqZWN0X0dDX01hbGxvYwotICBfUHlPYmplY3RfR0NfTmV3PXB5dGhvbjMyLl9QeU9iamVjdF9HQ19OZXcKLSAgX1B5T2JqZWN0X0dDX05ld1Zhcj1weXRob24zMi5fUHlPYmplY3RfR0NfTmV3VmFyCi0gIF9QeU9iamVjdF9HQ19SZXNpemU9cHl0aG9uMzIuX1B5T2JqZWN0X0dDX1Jlc2l6ZQotICBfUHlPYmplY3RfTmV3PXB5dGhvbjMyLl9QeU9iamVjdF9OZXcKLSAgX1B5T2JqZWN0X05ld1Zhcj1weXRob24zMi5fUHlPYmplY3RfTmV3VmFyCi0gIF9QeVN0YXRlX0FkZE1vZHVsZT1weXRob24zMi5fUHlTdGF0ZV9BZGRNb2R1bGUKLSAgX1B5VGhyZWFkU3RhdGVfSW5pdD1weXRob24zMi5fUHlUaHJlYWRTdGF0ZV9Jbml0Ci0gIF9QeVRocmVhZFN0YXRlX1ByZWFsbG9jPXB5dGhvbjMyLl9QeVRocmVhZFN0YXRlX1ByZWFsbG9jCi0gIF9QeVRyYXNoX2RlbGV0ZV9sYXRlcj1weXRob24zMi5fUHlUcmFzaF9kZWxldGVfbGF0ZXIgREFUQQotICBfUHlUcmFzaF9kZWxldGVfbmVzdGluZz1weXRob24zMi5fUHlUcmFzaF9kZWxldGVfbmVzdGluZyBEQVRBCi0gIF9QeVRyYXNoX2RlcG9zaXRfb2JqZWN0PXB5dGhvbjMyLl9QeVRyYXNoX2RlcG9zaXRfb2JqZWN0Ci0gIF9QeVRyYXNoX2Rlc3Ryb3lfY2hhaW49cHl0aG9uMzIuX1B5VHJhc2hfZGVzdHJveV9jaGFpbgotICBfUHlXZWFrcmVmX0NhbGxhYmxlUHJveHlUeXBlPXB5dGhvbjMyLl9QeVdlYWtyZWZfQ2FsbGFibGVQcm94eVR5cGUgREFUQQotICBfUHlXZWFrcmVmX1Byb3h5VHlwZT1weXRob24zMi5fUHlXZWFrcmVmX1Byb3h5VHlwZSBEQVRBCi0gIF9QeVdlYWtyZWZfUmVmVHlwZT1weXRob24zMi5fUHlXZWFrcmVmX1JlZlR5cGUgREFUQQotICBfUHlfQnVpbGRWYWx1ZV9TaXplVD1weXRob24zMi5fUHlfQnVpbGRWYWx1ZV9TaXplVAotICBfUHlfQ2hlY2tSZWN1cnNpb25MaW1pdD1weXRob24zMi5fUHlfQ2hlY2tSZWN1cnNpb25MaW1pdCBEQVRBCi0gIF9QeV9DaGVja1JlY3Vyc2l2ZUNhbGw9cHl0aG9uMzIuX1B5X0NoZWNrUmVjdXJzaXZlQ2FsbAotICBfUHlfRGVhbGxvYz1weXRob24zMi5fUHlfRGVhbGxvYwotICBfUHlfRWxsaXBzaXNPYmplY3Q9cHl0aG9uMzIuX1B5X0VsbGlwc2lzT2JqZWN0IERBVEEKLSAgX1B5X0ZhbHNlU3RydWN0PXB5dGhvbjMyLl9QeV9GYWxzZVN0cnVjdCBEQVRBCi0gIF9QeV9Ob25lU3RydWN0PXB5dGhvbjMyLl9QeV9Ob25lU3RydWN0IERBVEEKLSAgX1B5X05vdEltcGxlbWVudGVkU3RydWN0PXB5dGhvbjMyLl9QeV9Ob3RJbXBsZW1lbnRlZFN0cnVjdCBEQVRBCi0gIF9QeV9Td2FwcGVkT3A9cHl0aG9uMzIuX1B5X1N3YXBwZWRPcCBEQVRBCi0gIF9QeV9UcnVlU3RydWN0PXB5dGhvbjMyLl9QeV9UcnVlU3RydWN0IERBVEEKLSAgX1B5X1ZhQnVpbGRWYWx1ZV9TaXplVD1weXRob24zMi5fUHlfVmFCdWlsZFZhbHVlX1NpemVUCisgIFB5QXJnX1BhcnNlPXB5dGhvbjMzLlB5QXJnX1BhcnNlCisgIFB5QXJnX1BhcnNlVHVwbGU9cHl0aG9uMzMuUHlBcmdfUGFyc2VUdXBsZQorICBQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHM9cHl0aG9uMzMuUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzCisgIFB5QXJnX1VucGFja1R1cGxlPXB5dGhvbjMzLlB5QXJnX1VucGFja1R1cGxlCisgIFB5QXJnX1ZhUGFyc2U9cHl0aG9uMzMuUHlBcmdfVmFQYXJzZQorICBQeUFyZ19WYVBhcnNlVHVwbGVBbmRLZXl3b3Jkcz1weXRob24zMy5QeUFyZ19WYVBhcnNlVHVwbGVBbmRLZXl3b3JkcworICBQeUFyZ19WYWxpZGF0ZUtleXdvcmRBcmd1bWVudHM9cHl0aG9uMzMuUHlBcmdfVmFsaWRhdGVLZXl3b3JkQXJndW1lbnRzCisgIFB5QmFzZU9iamVjdF9UeXBlPXB5dGhvbjMzLlB5QmFzZU9iamVjdF9UeXBlIERBVEEKKyAgUHlCb29sX0Zyb21Mb25nPXB5dGhvbjMzLlB5Qm9vbF9Gcm9tTG9uZworICBQeUJvb2xfVHlwZT1weXRob24zMy5QeUJvb2xfVHlwZSBEQVRBCisgIFB5Qnl0ZUFycmF5SXRlcl9UeXBlPXB5dGhvbjMzLlB5Qnl0ZUFycmF5SXRlcl9UeXBlIERBVEEKKyAgUHlCeXRlQXJyYXlfQXNTdHJpbmc9cHl0aG9uMzMuUHlCeXRlQXJyYXlfQXNTdHJpbmcKKyAgUHlCeXRlQXJyYXlfQ29uY2F0PXB5dGhvbjMzLlB5Qnl0ZUFycmF5X0NvbmNhdAorICBQeUJ5dGVBcnJheV9Gcm9tT2JqZWN0PXB5dGhvbjMzLlB5Qnl0ZUFycmF5X0Zyb21PYmplY3QKKyAgUHlCeXRlQXJyYXlfRnJvbVN0cmluZ0FuZFNpemU9cHl0aG9uMzMuUHlCeXRlQXJyYXlfRnJvbVN0cmluZ0FuZFNpemUKKyAgUHlCeXRlQXJyYXlfUmVzaXplPXB5dGhvbjMzLlB5Qnl0ZUFycmF5X1Jlc2l6ZQorICBQeUJ5dGVBcnJheV9TaXplPXB5dGhvbjMzLlB5Qnl0ZUFycmF5X1NpemUKKyAgUHlCeXRlQXJyYXlfVHlwZT1weXRob24zMy5QeUJ5dGVBcnJheV9UeXBlIERBVEEKKyAgUHlCeXRlc0l0ZXJfVHlwZT1weXRob24zMy5QeUJ5dGVzSXRlcl9UeXBlIERBVEEKKyAgUHlCeXRlc19Bc1N0cmluZz1weXRob24zMy5QeUJ5dGVzX0FzU3RyaW5nCisgIFB5Qnl0ZXNfQXNTdHJpbmdBbmRTaXplPXB5dGhvbjMzLlB5Qnl0ZXNfQXNTdHJpbmdBbmRTaXplCisgIFB5Qnl0ZXNfQ29uY2F0PXB5dGhvbjMzLlB5Qnl0ZXNfQ29uY2F0CisgIFB5Qnl0ZXNfQ29uY2F0QW5kRGVsPXB5dGhvbjMzLlB5Qnl0ZXNfQ29uY2F0QW5kRGVsCisgIFB5Qnl0ZXNfRGVjb2RlRXNjYXBlPXB5dGhvbjMzLlB5Qnl0ZXNfRGVjb2RlRXNjYXBlCisgIFB5Qnl0ZXNfRnJvbUZvcm1hdD1weXRob24zMy5QeUJ5dGVzX0Zyb21Gb3JtYXQKKyAgUHlCeXRlc19Gcm9tRm9ybWF0Vj1weXRob24zMy5QeUJ5dGVzX0Zyb21Gb3JtYXRWCisgIFB5Qnl0ZXNfRnJvbU9iamVjdD1weXRob24zMy5QeUJ5dGVzX0Zyb21PYmplY3QKKyAgUHlCeXRlc19Gcm9tU3RyaW5nPXB5dGhvbjMzLlB5Qnl0ZXNfRnJvbVN0cmluZworICBQeUJ5dGVzX0Zyb21TdHJpbmdBbmRTaXplPXB5dGhvbjMzLlB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUKKyAgUHlCeXRlc19SZXByPXB5dGhvbjMzLlB5Qnl0ZXNfUmVwcgorICBQeUJ5dGVzX1NpemU9cHl0aG9uMzMuUHlCeXRlc19TaXplCisgIFB5Qnl0ZXNfVHlwZT1weXRob24zMy5QeUJ5dGVzX1R5cGUgREFUQQorICBQeUNGdW5jdGlvbl9DYWxsPXB5dGhvbjMzLlB5Q0Z1bmN0aW9uX0NhbGwKKyAgUHlDRnVuY3Rpb25fQ2xlYXJGcmVlTGlzdD1weXRob24zMy5QeUNGdW5jdGlvbl9DbGVhckZyZWVMaXN0CisgIFB5Q0Z1bmN0aW9uX0dldEZsYWdzPXB5dGhvbjMzLlB5Q0Z1bmN0aW9uX0dldEZsYWdzCisgIFB5Q0Z1bmN0aW9uX0dldEZ1bmN0aW9uPXB5dGhvbjMzLlB5Q0Z1bmN0aW9uX0dldEZ1bmN0aW9uCisgIFB5Q0Z1bmN0aW9uX0dldFNlbGY9cHl0aG9uMzMuUHlDRnVuY3Rpb25fR2V0U2VsZgorICBQeUNGdW5jdGlvbl9OZXdFeD1weXRob24zMy5QeUNGdW5jdGlvbl9OZXdFeAorICBQeUNGdW5jdGlvbl9UeXBlPXB5dGhvbjMzLlB5Q0Z1bmN0aW9uX1R5cGUgREFUQQorICBQeUNhbGxJdGVyX05ldz1weXRob24zMy5QeUNhbGxJdGVyX05ldworICBQeUNhbGxJdGVyX1R5cGU9cHl0aG9uMzMuUHlDYWxsSXRlcl9UeXBlIERBVEEKKyAgUHlDYWxsYWJsZV9DaGVjaz1weXRob24zMy5QeUNhbGxhYmxlX0NoZWNrCisgIFB5Q2Fwc3VsZV9HZXRDb250ZXh0PXB5dGhvbjMzLlB5Q2Fwc3VsZV9HZXRDb250ZXh0CisgIFB5Q2Fwc3VsZV9HZXREZXN0cnVjdG9yPXB5dGhvbjMzLlB5Q2Fwc3VsZV9HZXREZXN0cnVjdG9yCisgIFB5Q2Fwc3VsZV9HZXROYW1lPXB5dGhvbjMzLlB5Q2Fwc3VsZV9HZXROYW1lCisgIFB5Q2Fwc3VsZV9HZXRQb2ludGVyPXB5dGhvbjMzLlB5Q2Fwc3VsZV9HZXRQb2ludGVyCisgIFB5Q2Fwc3VsZV9JbXBvcnQ9cHl0aG9uMzMuUHlDYXBzdWxlX0ltcG9ydAorICBQeUNhcHN1bGVfSXNWYWxpZD1weXRob24zMy5QeUNhcHN1bGVfSXNWYWxpZAorICBQeUNhcHN1bGVfTmV3PXB5dGhvbjMzLlB5Q2Fwc3VsZV9OZXcKKyAgUHlDYXBzdWxlX1NldENvbnRleHQ9cHl0aG9uMzMuUHlDYXBzdWxlX1NldENvbnRleHQKKyAgUHlDYXBzdWxlX1NldERlc3RydWN0b3I9cHl0aG9uMzMuUHlDYXBzdWxlX1NldERlc3RydWN0b3IKKyAgUHlDYXBzdWxlX1NldE5hbWU9cHl0aG9uMzMuUHlDYXBzdWxlX1NldE5hbWUKKyAgUHlDYXBzdWxlX1NldFBvaW50ZXI9cHl0aG9uMzMuUHlDYXBzdWxlX1NldFBvaW50ZXIKKyAgUHlDYXBzdWxlX1R5cGU9cHl0aG9uMzMuUHlDYXBzdWxlX1R5cGUgREFUQQorICBQeUNsYXNzTWV0aG9kRGVzY3JfVHlwZT1weXRob24zMy5QeUNsYXNzTWV0aG9kRGVzY3JfVHlwZSBEQVRBCisgIFB5Q29kZWNfQmFja3NsYXNoUmVwbGFjZUVycm9ycz1weXRob24zMy5QeUNvZGVjX0JhY2tzbGFzaFJlcGxhY2VFcnJvcnMKKyAgUHlDb2RlY19EZWNvZGU9cHl0aG9uMzMuUHlDb2RlY19EZWNvZGUKKyAgUHlDb2RlY19EZWNvZGVyPXB5dGhvbjMzLlB5Q29kZWNfRGVjb2RlcgorICBQeUNvZGVjX0VuY29kZT1weXRob24zMy5QeUNvZGVjX0VuY29kZQorICBQeUNvZGVjX0VuY29kZXI9cHl0aG9uMzMuUHlDb2RlY19FbmNvZGVyCisgIFB5Q29kZWNfSWdub3JlRXJyb3JzPXB5dGhvbjMzLlB5Q29kZWNfSWdub3JlRXJyb3JzCisgIFB5Q29kZWNfSW5jcmVtZW50YWxEZWNvZGVyPXB5dGhvbjMzLlB5Q29kZWNfSW5jcmVtZW50YWxEZWNvZGVyCisgIFB5Q29kZWNfSW5jcmVtZW50YWxFbmNvZGVyPXB5dGhvbjMzLlB5Q29kZWNfSW5jcmVtZW50YWxFbmNvZGVyCisgIFB5Q29kZWNfS25vd25FbmNvZGluZz1weXRob24zMy5QeUNvZGVjX0tub3duRW5jb2RpbmcKKyAgUHlDb2RlY19Mb29rdXBFcnJvcj1weXRob24zMy5QeUNvZGVjX0xvb2t1cEVycm9yCisgIFB5Q29kZWNfUmVnaXN0ZXI9cHl0aG9uMzMuUHlDb2RlY19SZWdpc3RlcgorICBQeUNvZGVjX1JlZ2lzdGVyRXJyb3I9cHl0aG9uMzMuUHlDb2RlY19SZWdpc3RlckVycm9yCisgIFB5Q29kZWNfUmVwbGFjZUVycm9ycz1weXRob24zMy5QeUNvZGVjX1JlcGxhY2VFcnJvcnMKKyAgUHlDb2RlY19TdHJlYW1SZWFkZXI9cHl0aG9uMzMuUHlDb2RlY19TdHJlYW1SZWFkZXIKKyAgUHlDb2RlY19TdHJlYW1Xcml0ZXI9cHl0aG9uMzMuUHlDb2RlY19TdHJlYW1Xcml0ZXIKKyAgUHlDb2RlY19TdHJpY3RFcnJvcnM9cHl0aG9uMzMuUHlDb2RlY19TdHJpY3RFcnJvcnMKKyAgUHlDb2RlY19YTUxDaGFyUmVmUmVwbGFjZUVycm9ycz1weXRob24zMy5QeUNvZGVjX1hNTENoYXJSZWZSZXBsYWNlRXJyb3JzCisgIFB5Q29tcGxleF9Gcm9tRG91Ymxlcz1weXRob24zMy5QeUNvbXBsZXhfRnJvbURvdWJsZXMKKyAgUHlDb21wbGV4X0ltYWdBc0RvdWJsZT1weXRob24zMy5QeUNvbXBsZXhfSW1hZ0FzRG91YmxlCisgIFB5Q29tcGxleF9SZWFsQXNEb3VibGU9cHl0aG9uMzMuUHlDb21wbGV4X1JlYWxBc0RvdWJsZQorICBQeUNvbXBsZXhfVHlwZT1weXRob24zMy5QeUNvbXBsZXhfVHlwZSBEQVRBCisgIFB5RGVzY3JfTmV3Q2xhc3NNZXRob2Q9cHl0aG9uMzMuUHlEZXNjcl9OZXdDbGFzc01ldGhvZAorICBQeURlc2NyX05ld0dldFNldD1weXRob24zMy5QeURlc2NyX05ld0dldFNldAorICBQeURlc2NyX05ld01lbWJlcj1weXRob24zMy5QeURlc2NyX05ld01lbWJlcgorICBQeURlc2NyX05ld01ldGhvZD1weXRob24zMy5QeURlc2NyX05ld01ldGhvZAorICBQeURpY3RJdGVtc19UeXBlPXB5dGhvbjMzLlB5RGljdEl0ZW1zX1R5cGUgREFUQQorICBQeURpY3RJdGVySXRlbV9UeXBlPXB5dGhvbjMzLlB5RGljdEl0ZXJJdGVtX1R5cGUgREFUQQorICBQeURpY3RJdGVyS2V5X1R5cGU9cHl0aG9uMzMuUHlEaWN0SXRlcktleV9UeXBlIERBVEEKKyAgUHlEaWN0SXRlclZhbHVlX1R5cGU9cHl0aG9uMzMuUHlEaWN0SXRlclZhbHVlX1R5cGUgREFUQQorICBQeURpY3RLZXlzX1R5cGU9cHl0aG9uMzMuUHlEaWN0S2V5c19UeXBlIERBVEEKKyAgUHlEaWN0UHJveHlfTmV3PXB5dGhvbjMzLlB5RGljdFByb3h5X05ldworICBQeURpY3RQcm94eV9UeXBlPXB5dGhvbjMzLlB5RGljdFByb3h5X1R5cGUgREFUQQorICBQeURpY3RWYWx1ZXNfVHlwZT1weXRob24zMy5QeURpY3RWYWx1ZXNfVHlwZSBEQVRBCisgIFB5RGljdF9DbGVhcj1weXRob24zMy5QeURpY3RfQ2xlYXIKKyAgUHlEaWN0X0NvbnRhaW5zPXB5dGhvbjMzLlB5RGljdF9Db250YWlucworICBQeURpY3RfQ29weT1weXRob24zMy5QeURpY3RfQ29weQorICBQeURpY3RfRGVsSXRlbT1weXRob24zMy5QeURpY3RfRGVsSXRlbQorICBQeURpY3RfRGVsSXRlbVN0cmluZz1weXRob24zMy5QeURpY3RfRGVsSXRlbVN0cmluZworICBQeURpY3RfR2V0SXRlbT1weXRob24zMy5QeURpY3RfR2V0SXRlbQorICBQeURpY3RfR2V0SXRlbVN0cmluZz1weXRob24zMy5QeURpY3RfR2V0SXRlbVN0cmluZworICBQeURpY3RfR2V0SXRlbVdpdGhFcnJvcj1weXRob24zMy5QeURpY3RfR2V0SXRlbVdpdGhFcnJvcgorICBQeURpY3RfSXRlbXM9cHl0aG9uMzMuUHlEaWN0X0l0ZW1zCisgIFB5RGljdF9LZXlzPXB5dGhvbjMzLlB5RGljdF9LZXlzCisgIFB5RGljdF9NZXJnZT1weXRob24zMy5QeURpY3RfTWVyZ2UKKyAgUHlEaWN0X01lcmdlRnJvbVNlcTI9cHl0aG9uMzMuUHlEaWN0X01lcmdlRnJvbVNlcTIKKyAgUHlEaWN0X05ldz1weXRob24zMy5QeURpY3RfTmV3CisgIFB5RGljdF9OZXh0PXB5dGhvbjMzLlB5RGljdF9OZXh0CisgIFB5RGljdF9TZXRJdGVtPXB5dGhvbjMzLlB5RGljdF9TZXRJdGVtCisgIFB5RGljdF9TZXRJdGVtU3RyaW5nPXB5dGhvbjMzLlB5RGljdF9TZXRJdGVtU3RyaW5nCisgIFB5RGljdF9TaXplPXB5dGhvbjMzLlB5RGljdF9TaXplCisgIFB5RGljdF9UeXBlPXB5dGhvbjMzLlB5RGljdF9UeXBlIERBVEEKKyAgUHlEaWN0X1VwZGF0ZT1weXRob24zMy5QeURpY3RfVXBkYXRlCisgIFB5RGljdF9WYWx1ZXM9cHl0aG9uMzMuUHlEaWN0X1ZhbHVlcworICBQeUVsbGlwc2lzX1R5cGU9cHl0aG9uMzMuUHlFbGxpcHNpc19UeXBlIERBVEEKKyAgUHlFbnVtX1R5cGU9cHl0aG9uMzMuUHlFbnVtX1R5cGUgREFUQQorICBQeUVycl9CYWRBcmd1bWVudD1weXRob24zMy5QeUVycl9CYWRBcmd1bWVudAorICBQeUVycl9CYWRJbnRlcm5hbENhbGw9cHl0aG9uMzMuUHlFcnJfQmFkSW50ZXJuYWxDYWxsCisgIFB5RXJyX0NoZWNrU2lnbmFscz1weXRob24zMy5QeUVycl9DaGVja1NpZ25hbHMKKyAgUHlFcnJfQ2xlYXI9cHl0aG9uMzMuUHlFcnJfQ2xlYXIKKyAgUHlFcnJfRGlzcGxheT1weXRob24zMy5QeUVycl9EaXNwbGF5CisgIFB5RXJyX0V4Y2VwdGlvbk1hdGNoZXM9cHl0aG9uMzMuUHlFcnJfRXhjZXB0aW9uTWF0Y2hlcworICBQeUVycl9GZXRjaD1weXRob24zMy5QeUVycl9GZXRjaAorICBQeUVycl9Gb3JtYXQ9cHl0aG9uMzMuUHlFcnJfRm9ybWF0CisgIFB5RXJyX0dpdmVuRXhjZXB0aW9uTWF0Y2hlcz1weXRob24zMy5QeUVycl9HaXZlbkV4Y2VwdGlvbk1hdGNoZXMKKyAgUHlFcnJfTmV3RXhjZXB0aW9uPXB5dGhvbjMzLlB5RXJyX05ld0V4Y2VwdGlvbgorICBQeUVycl9OZXdFeGNlcHRpb25XaXRoRG9jPXB5dGhvbjMzLlB5RXJyX05ld0V4Y2VwdGlvbldpdGhEb2MKKyAgUHlFcnJfTm9NZW1vcnk9cHl0aG9uMzMuUHlFcnJfTm9NZW1vcnkKKyAgUHlFcnJfTm9ybWFsaXplRXhjZXB0aW9uPXB5dGhvbjMzLlB5RXJyX05vcm1hbGl6ZUV4Y2VwdGlvbgorICBQeUVycl9PY2N1cnJlZD1weXRob24zMy5QeUVycl9PY2N1cnJlZAorICBQeUVycl9QcmludD1weXRob24zMy5QeUVycl9QcmludAorICBQeUVycl9QcmludEV4PXB5dGhvbjMzLlB5RXJyX1ByaW50RXgKKyAgUHlFcnJfUHJvZ3JhbVRleHQ9cHl0aG9uMzMuUHlFcnJfUHJvZ3JhbVRleHQKKyAgUHlFcnJfUmVzdG9yZT1weXRob24zMy5QeUVycl9SZXN0b3JlCisgIFB5RXJyX1NldEZyb21FcnJubz1weXRob24zMy5QeUVycl9TZXRGcm9tRXJybm8KKyAgUHlFcnJfU2V0RnJvbUVycm5vV2l0aEZpbGVuYW1lPXB5dGhvbjMzLlB5RXJyX1NldEZyb21FcnJub1dpdGhGaWxlbmFtZQorICBQeUVycl9TZXRGcm9tRXJybm9XaXRoRmlsZW5hbWVPYmplY3Q9cHl0aG9uMzMuUHlFcnJfU2V0RnJvbUVycm5vV2l0aEZpbGVuYW1lT2JqZWN0CisgIFB5RXJyX1NldEludGVycnVwdD1weXRob24zMy5QeUVycl9TZXRJbnRlcnJ1cHQKKyAgUHlFcnJfU2V0Tm9uZT1weXRob24zMy5QeUVycl9TZXROb25lCisgIFB5RXJyX1NldE9iamVjdD1weXRob24zMy5QeUVycl9TZXRPYmplY3QKKyAgUHlFcnJfU2V0U3RyaW5nPXB5dGhvbjMzLlB5RXJyX1NldFN0cmluZworICBQeUVycl9TeW50YXhMb2NhdGlvbj1weXRob24zMy5QeUVycl9TeW50YXhMb2NhdGlvbgorICBQeUVycl9XYXJuRXg9cHl0aG9uMzMuUHlFcnJfV2FybkV4CisgIFB5RXJyX1dhcm5FeHBsaWNpdD1weXRob24zMy5QeUVycl9XYXJuRXhwbGljaXQKKyAgUHlFcnJfV2FybkZvcm1hdD1weXRob24zMy5QeUVycl9XYXJuRm9ybWF0CisgIFB5RXJyX1dyaXRlVW5yYWlzYWJsZT1weXRob24zMy5QeUVycl9Xcml0ZVVucmFpc2FibGUKKyAgUHlFdmFsX0FjcXVpcmVMb2NrPXB5dGhvbjMzLlB5RXZhbF9BY3F1aXJlTG9jaworICBQeUV2YWxfQWNxdWlyZVRocmVhZD1weXRob24zMy5QeUV2YWxfQWNxdWlyZVRocmVhZAorICBQeUV2YWxfQ2FsbEZ1bmN0aW9uPXB5dGhvbjMzLlB5RXZhbF9DYWxsRnVuY3Rpb24KKyAgUHlFdmFsX0NhbGxNZXRob2Q9cHl0aG9uMzMuUHlFdmFsX0NhbGxNZXRob2QKKyAgUHlFdmFsX0NhbGxPYmplY3RXaXRoS2V5d29yZHM9cHl0aG9uMzMuUHlFdmFsX0NhbGxPYmplY3RXaXRoS2V5d29yZHMKKyAgUHlFdmFsX0V2YWxDb2RlPXB5dGhvbjMzLlB5RXZhbF9FdmFsQ29kZQorICBQeUV2YWxfRXZhbENvZGVFeD1weXRob24zMy5QeUV2YWxfRXZhbENvZGVFeAorICBQeUV2YWxfRXZhbEZyYW1lPXB5dGhvbjMzLlB5RXZhbF9FdmFsRnJhbWUKKyAgUHlFdmFsX0V2YWxGcmFtZUV4PXB5dGhvbjMzLlB5RXZhbF9FdmFsRnJhbWVFeAorICBQeUV2YWxfR2V0QnVpbHRpbnM9cHl0aG9uMzMuUHlFdmFsX0dldEJ1aWx0aW5zCisgIFB5RXZhbF9HZXRDYWxsU3RhdHM9cHl0aG9uMzMuUHlFdmFsX0dldENhbGxTdGF0cworICBQeUV2YWxfR2V0RnJhbWU9cHl0aG9uMzMuUHlFdmFsX0dldEZyYW1lCisgIFB5RXZhbF9HZXRGdW5jRGVzYz1weXRob24zMy5QeUV2YWxfR2V0RnVuY0Rlc2MKKyAgUHlFdmFsX0dldEZ1bmNOYW1lPXB5dGhvbjMzLlB5RXZhbF9HZXRGdW5jTmFtZQorICBQeUV2YWxfR2V0R2xvYmFscz1weXRob24zMy5QeUV2YWxfR2V0R2xvYmFscworICBQeUV2YWxfR2V0TG9jYWxzPXB5dGhvbjMzLlB5RXZhbF9HZXRMb2NhbHMKKyAgUHlFdmFsX0luaXRUaHJlYWRzPXB5dGhvbjMzLlB5RXZhbF9Jbml0VGhyZWFkcworICBQeUV2YWxfUmVJbml0VGhyZWFkcz1weXRob24zMy5QeUV2YWxfUmVJbml0VGhyZWFkcworICBQeUV2YWxfUmVsZWFzZUxvY2s9cHl0aG9uMzMuUHlFdmFsX1JlbGVhc2VMb2NrCisgIFB5RXZhbF9SZWxlYXNlVGhyZWFkPXB5dGhvbjMzLlB5RXZhbF9SZWxlYXNlVGhyZWFkCisgIFB5RXZhbF9SZXN0b3JlVGhyZWFkPXB5dGhvbjMzLlB5RXZhbF9SZXN0b3JlVGhyZWFkCisgIFB5RXZhbF9TYXZlVGhyZWFkPXB5dGhvbjMzLlB5RXZhbF9TYXZlVGhyZWFkCisgIFB5RXZhbF9UaHJlYWRzSW5pdGlhbGl6ZWQ9cHl0aG9uMzMuUHlFdmFsX1RocmVhZHNJbml0aWFsaXplZAorICBQeUV4Y19Bcml0aG1ldGljRXJyb3I9cHl0aG9uMzMuUHlFeGNfQXJpdGhtZXRpY0Vycm9yIERBVEEKKyAgUHlFeGNfQXNzZXJ0aW9uRXJyb3I9cHl0aG9uMzMuUHlFeGNfQXNzZXJ0aW9uRXJyb3IgREFUQQorICBQeUV4Y19BdHRyaWJ1dGVFcnJvcj1weXRob24zMy5QeUV4Y19BdHRyaWJ1dGVFcnJvciBEQVRBCisgIFB5RXhjX0Jhc2VFeGNlcHRpb249cHl0aG9uMzMuUHlFeGNfQmFzZUV4Y2VwdGlvbiBEQVRBCisgIFB5RXhjX0J1ZmZlckVycm9yPXB5dGhvbjMzLlB5RXhjX0J1ZmZlckVycm9yIERBVEEKKyAgUHlFeGNfQnl0ZXNXYXJuaW5nPXB5dGhvbjMzLlB5RXhjX0J5dGVzV2FybmluZyBEQVRBCisgIFB5RXhjX0RlcHJlY2F0aW9uV2FybmluZz1weXRob24zMy5QeUV4Y19EZXByZWNhdGlvbldhcm5pbmcgREFUQQorICBQeUV4Y19FT0ZFcnJvcj1weXRob24zMy5QeUV4Y19FT0ZFcnJvciBEQVRBCisgIFB5RXhjX0Vudmlyb25tZW50RXJyb3I9cHl0aG9uMzMuUHlFeGNfRW52aXJvbm1lbnRFcnJvciBEQVRBCisgIFB5RXhjX0V4Y2VwdGlvbj1weXRob24zMy5QeUV4Y19FeGNlcHRpb24gREFUQQorICBQeUV4Y19GbG9hdGluZ1BvaW50RXJyb3I9cHl0aG9uMzMuUHlFeGNfRmxvYXRpbmdQb2ludEVycm9yIERBVEEKKyAgUHlFeGNfRnV0dXJlV2FybmluZz1weXRob24zMy5QeUV4Y19GdXR1cmVXYXJuaW5nIERBVEEKKyAgUHlFeGNfR2VuZXJhdG9yRXhpdD1weXRob24zMy5QeUV4Y19HZW5lcmF0b3JFeGl0IERBVEEKKyAgUHlFeGNfSU9FcnJvcj1weXRob24zMy5QeUV4Y19JT0Vycm9yIERBVEEKKyAgUHlFeGNfSW1wb3J0RXJyb3I9cHl0aG9uMzMuUHlFeGNfSW1wb3J0RXJyb3IgREFUQQorICBQeUV4Y19JbXBvcnRXYXJuaW5nPXB5dGhvbjMzLlB5RXhjX0ltcG9ydFdhcm5pbmcgREFUQQorICBQeUV4Y19JbmRlbnRhdGlvbkVycm9yPXB5dGhvbjMzLlB5RXhjX0luZGVudGF0aW9uRXJyb3IgREFUQQorICBQeUV4Y19JbmRleEVycm9yPXB5dGhvbjMzLlB5RXhjX0luZGV4RXJyb3IgREFUQQorICBQeUV4Y19LZXlFcnJvcj1weXRob24zMy5QeUV4Y19LZXlFcnJvciBEQVRBCisgIFB5RXhjX0tleWJvYXJkSW50ZXJydXB0PXB5dGhvbjMzLlB5RXhjX0tleWJvYXJkSW50ZXJydXB0IERBVEEKKyAgUHlFeGNfTG9va3VwRXJyb3I9cHl0aG9uMzMuUHlFeGNfTG9va3VwRXJyb3IgREFUQQorICBQeUV4Y19NZW1vcnlFcnJvcj1weXRob24zMy5QeUV4Y19NZW1vcnlFcnJvciBEQVRBCisgIFB5RXhjX01lbW9yeUVycm9ySW5zdD1weXRob24zMy5QeUV4Y19NZW1vcnlFcnJvckluc3QgREFUQQorICBQeUV4Y19OYW1lRXJyb3I9cHl0aG9uMzMuUHlFeGNfTmFtZUVycm9yIERBVEEKKyAgUHlFeGNfTm90SW1wbGVtZW50ZWRFcnJvcj1weXRob24zMy5QeUV4Y19Ob3RJbXBsZW1lbnRlZEVycm9yIERBVEEKKyAgUHlFeGNfT1NFcnJvcj1weXRob24zMy5QeUV4Y19PU0Vycm9yIERBVEEKKyAgUHlFeGNfT3ZlcmZsb3dFcnJvcj1weXRob24zMy5QeUV4Y19PdmVyZmxvd0Vycm9yIERBVEEKKyAgUHlFeGNfUGVuZGluZ0RlcHJlY2F0aW9uV2FybmluZz1weXRob24zMy5QeUV4Y19QZW5kaW5nRGVwcmVjYXRpb25XYXJuaW5nIERBVEEKKyAgUHlFeGNfUmVjdXJzaW9uRXJyb3JJbnN0PXB5dGhvbjMzLlB5RXhjX1JlY3Vyc2lvbkVycm9ySW5zdCBEQVRBCisgIFB5RXhjX1JlZmVyZW5jZUVycm9yPXB5dGhvbjMzLlB5RXhjX1JlZmVyZW5jZUVycm9yIERBVEEKKyAgUHlFeGNfUnVudGltZUVycm9yPXB5dGhvbjMzLlB5RXhjX1J1bnRpbWVFcnJvciBEQVRBCisgIFB5RXhjX1J1bnRpbWVXYXJuaW5nPXB5dGhvbjMzLlB5RXhjX1J1bnRpbWVXYXJuaW5nIERBVEEKKyAgUHlFeGNfU3RvcEl0ZXJhdGlvbj1weXRob24zMy5QeUV4Y19TdG9wSXRlcmF0aW9uIERBVEEKKyAgUHlFeGNfU3ludGF4RXJyb3I9cHl0aG9uMzMuUHlFeGNfU3ludGF4RXJyb3IgREFUQQorICBQeUV4Y19TeW50YXhXYXJuaW5nPXB5dGhvbjMzLlB5RXhjX1N5bnRheFdhcm5pbmcgREFUQQorICBQeUV4Y19TeXN0ZW1FcnJvcj1weXRob24zMy5QeUV4Y19TeXN0ZW1FcnJvciBEQVRBCisgIFB5RXhjX1N5c3RlbUV4aXQ9cHl0aG9uMzMuUHlFeGNfU3lzdGVtRXhpdCBEQVRBCisgIFB5RXhjX1RhYkVycm9yPXB5dGhvbjMzLlB5RXhjX1RhYkVycm9yIERBVEEKKyAgUHlFeGNfVHlwZUVycm9yPXB5dGhvbjMzLlB5RXhjX1R5cGVFcnJvciBEQVRBCisgIFB5RXhjX1VuYm91bmRMb2NhbEVycm9yPXB5dGhvbjMzLlB5RXhjX1VuYm91bmRMb2NhbEVycm9yIERBVEEKKyAgUHlFeGNfVW5pY29kZURlY29kZUVycm9yPXB5dGhvbjMzLlB5RXhjX1VuaWNvZGVEZWNvZGVFcnJvciBEQVRBCisgIFB5RXhjX1VuaWNvZGVFbmNvZGVFcnJvcj1weXRob24zMy5QeUV4Y19Vbmljb2RlRW5jb2RlRXJyb3IgREFUQQorICBQeUV4Y19Vbmljb2RlRXJyb3I9cHl0aG9uMzMuUHlFeGNfVW5pY29kZUVycm9yIERBVEEKKyAgUHlFeGNfVW5pY29kZVRyYW5zbGF0ZUVycm9yPXB5dGhvbjMzLlB5RXhjX1VuaWNvZGVUcmFuc2xhdGVFcnJvciBEQVRBCisgIFB5RXhjX1VuaWNvZGVXYXJuaW5nPXB5dGhvbjMzLlB5RXhjX1VuaWNvZGVXYXJuaW5nIERBVEEKKyAgUHlFeGNfVXNlcldhcm5pbmc9cHl0aG9uMzMuUHlFeGNfVXNlcldhcm5pbmcgREFUQQorICBQeUV4Y19WYWx1ZUVycm9yPXB5dGhvbjMzLlB5RXhjX1ZhbHVlRXJyb3IgREFUQQorICBQeUV4Y19XYXJuaW5nPXB5dGhvbjMzLlB5RXhjX1dhcm5pbmcgREFUQQorICBQeUV4Y19aZXJvRGl2aXNpb25FcnJvcj1weXRob24zMy5QeUV4Y19aZXJvRGl2aXNpb25FcnJvciBEQVRBCisgIFB5RXhjZXB0aW9uX0dldENhdXNlPXB5dGhvbjMzLlB5RXhjZXB0aW9uX0dldENhdXNlCisgIFB5RXhjZXB0aW9uX0dldENvbnRleHQ9cHl0aG9uMzMuUHlFeGNlcHRpb25fR2V0Q29udGV4dAorICBQeUV4Y2VwdGlvbl9HZXRUcmFjZWJhY2s9cHl0aG9uMzMuUHlFeGNlcHRpb25fR2V0VHJhY2ViYWNrCisgIFB5RXhjZXB0aW9uX1NldENhdXNlPXB5dGhvbjMzLlB5RXhjZXB0aW9uX1NldENhdXNlCisgIFB5RXhjZXB0aW9uX1NldENvbnRleHQ9cHl0aG9uMzMuUHlFeGNlcHRpb25fU2V0Q29udGV4dAorICBQeUV4Y2VwdGlvbl9TZXRUcmFjZWJhY2s9cHl0aG9uMzMuUHlFeGNlcHRpb25fU2V0VHJhY2ViYWNrCisgIFB5RmlsZV9Gcm9tRmQ9cHl0aG9uMzMuUHlGaWxlX0Zyb21GZAorICBQeUZpbGVfR2V0TGluZT1weXRob24zMy5QeUZpbGVfR2V0TGluZQorICBQeUZpbGVfV3JpdGVPYmplY3Q9cHl0aG9uMzMuUHlGaWxlX1dyaXRlT2JqZWN0CisgIFB5RmlsZV9Xcml0ZVN0cmluZz1weXRob24zMy5QeUZpbGVfV3JpdGVTdHJpbmcKKyAgUHlGaWx0ZXJfVHlwZT1weXRob24zMy5QeUZpbHRlcl9UeXBlIERBVEEKKyAgUHlGbG9hdF9Bc0RvdWJsZT1weXRob24zMy5QeUZsb2F0X0FzRG91YmxlCisgIFB5RmxvYXRfRnJvbURvdWJsZT1weXRob24zMy5QeUZsb2F0X0Zyb21Eb3VibGUKKyAgUHlGbG9hdF9Gcm9tU3RyaW5nPXB5dGhvbjMzLlB5RmxvYXRfRnJvbVN0cmluZworICBQeUZsb2F0X0dldEluZm89cHl0aG9uMzMuUHlGbG9hdF9HZXRJbmZvCisgIFB5RmxvYXRfR2V0TWF4PXB5dGhvbjMzLlB5RmxvYXRfR2V0TWF4CisgIFB5RmxvYXRfR2V0TWluPXB5dGhvbjMzLlB5RmxvYXRfR2V0TWluCisgIFB5RmxvYXRfVHlwZT1weXRob24zMy5QeUZsb2F0X1R5cGUgREFUQQorICBQeUZyb3plblNldF9OZXc9cHl0aG9uMzMuUHlGcm96ZW5TZXRfTmV3CisgIFB5RnJvemVuU2V0X1R5cGU9cHl0aG9uMzMuUHlGcm96ZW5TZXRfVHlwZSBEQVRBCisgIFB5R0NfQ29sbGVjdD1weXRob24zMy5QeUdDX0NvbGxlY3QKKyAgUHlHSUxTdGF0ZV9FbnN1cmU9cHl0aG9uMzMuUHlHSUxTdGF0ZV9FbnN1cmUKKyAgUHlHSUxTdGF0ZV9HZXRUaGlzVGhyZWFkU3RhdGU9cHl0aG9uMzMuUHlHSUxTdGF0ZV9HZXRUaGlzVGhyZWFkU3RhdGUKKyAgUHlHSUxTdGF0ZV9SZWxlYXNlPXB5dGhvbjMzLlB5R0lMU3RhdGVfUmVsZWFzZQorICBQeUdldFNldERlc2NyX1R5cGU9cHl0aG9uMzMuUHlHZXRTZXREZXNjcl9UeXBlIERBVEEKKyAgUHlJbXBvcnRfQWRkTW9kdWxlPXB5dGhvbjMzLlB5SW1wb3J0X0FkZE1vZHVsZQorICBQeUltcG9ydF9BcHBlbmRJbml0dGFiPXB5dGhvbjMzLlB5SW1wb3J0X0FwcGVuZEluaXR0YWIKKyAgUHlJbXBvcnRfQ2xlYW51cD1weXRob24zMy5QeUltcG9ydF9DbGVhbnVwCisgIFB5SW1wb3J0X0V4ZWNDb2RlTW9kdWxlPXB5dGhvbjMzLlB5SW1wb3J0X0V4ZWNDb2RlTW9kdWxlCisgIFB5SW1wb3J0X0V4ZWNDb2RlTW9kdWxlRXg9cHl0aG9uMzMuUHlJbXBvcnRfRXhlY0NvZGVNb2R1bGVFeAorICBQeUltcG9ydF9FeGVjQ29kZU1vZHVsZVdpdGhQYXRobmFtZXM9cHl0aG9uMzMuUHlJbXBvcnRfRXhlY0NvZGVNb2R1bGVXaXRoUGF0aG5hbWVzCisgIFB5SW1wb3J0X0dldEltcG9ydGVyPXB5dGhvbjMzLlB5SW1wb3J0X0dldEltcG9ydGVyCisgIFB5SW1wb3J0X0dldE1hZ2ljTnVtYmVyPXB5dGhvbjMzLlB5SW1wb3J0X0dldE1hZ2ljTnVtYmVyCisgIFB5SW1wb3J0X0dldE1hZ2ljVGFnPXB5dGhvbjMzLlB5SW1wb3J0X0dldE1hZ2ljVGFnCisgIFB5SW1wb3J0X0dldE1vZHVsZURpY3Q9cHl0aG9uMzMuUHlJbXBvcnRfR2V0TW9kdWxlRGljdAorICBQeUltcG9ydF9JbXBvcnQ9cHl0aG9uMzMuUHlJbXBvcnRfSW1wb3J0CisgIFB5SW1wb3J0X0ltcG9ydEZyb3plbk1vZHVsZT1weXRob24zMy5QeUltcG9ydF9JbXBvcnRGcm96ZW5Nb2R1bGUKKyAgUHlJbXBvcnRfSW1wb3J0TW9kdWxlPXB5dGhvbjMzLlB5SW1wb3J0X0ltcG9ydE1vZHVsZQorICBQeUltcG9ydF9JbXBvcnRNb2R1bGVMZXZlbD1weXRob24zMy5QeUltcG9ydF9JbXBvcnRNb2R1bGVMZXZlbAorICBQeUltcG9ydF9JbXBvcnRNb2R1bGVOb0Jsb2NrPXB5dGhvbjMzLlB5SW1wb3J0X0ltcG9ydE1vZHVsZU5vQmxvY2sKKyAgUHlJbXBvcnRfUmVsb2FkTW9kdWxlPXB5dGhvbjMzLlB5SW1wb3J0X1JlbG9hZE1vZHVsZQorICBQeUludGVycHJldGVyU3RhdGVfQ2xlYXI9cHl0aG9uMzMuUHlJbnRlcnByZXRlclN0YXRlX0NsZWFyCisgIFB5SW50ZXJwcmV0ZXJTdGF0ZV9EZWxldGU9cHl0aG9uMzMuUHlJbnRlcnByZXRlclN0YXRlX0RlbGV0ZQorICBQeUludGVycHJldGVyU3RhdGVfTmV3PXB5dGhvbjMzLlB5SW50ZXJwcmV0ZXJTdGF0ZV9OZXcKKyAgUHlJdGVyX05leHQ9cHl0aG9uMzMuUHlJdGVyX05leHQKKyAgUHlMaXN0SXRlcl9UeXBlPXB5dGhvbjMzLlB5TGlzdEl0ZXJfVHlwZSBEQVRBCisgIFB5TGlzdFJldkl0ZXJfVHlwZT1weXRob24zMy5QeUxpc3RSZXZJdGVyX1R5cGUgREFUQQorICBQeUxpc3RfQXBwZW5kPXB5dGhvbjMzLlB5TGlzdF9BcHBlbmQKKyAgUHlMaXN0X0FzVHVwbGU9cHl0aG9uMzMuUHlMaXN0X0FzVHVwbGUKKyAgUHlMaXN0X0dldEl0ZW09cHl0aG9uMzMuUHlMaXN0X0dldEl0ZW0KKyAgUHlMaXN0X0dldFNsaWNlPXB5dGhvbjMzLlB5TGlzdF9HZXRTbGljZQorICBQeUxpc3RfSW5zZXJ0PXB5dGhvbjMzLlB5TGlzdF9JbnNlcnQKKyAgUHlMaXN0X05ldz1weXRob24zMy5QeUxpc3RfTmV3CisgIFB5TGlzdF9SZXZlcnNlPXB5dGhvbjMzLlB5TGlzdF9SZXZlcnNlCisgIFB5TGlzdF9TZXRJdGVtPXB5dGhvbjMzLlB5TGlzdF9TZXRJdGVtCisgIFB5TGlzdF9TZXRTbGljZT1weXRob24zMy5QeUxpc3RfU2V0U2xpY2UKKyAgUHlMaXN0X1NpemU9cHl0aG9uMzMuUHlMaXN0X1NpemUKKyAgUHlMaXN0X1NvcnQ9cHl0aG9uMzMuUHlMaXN0X1NvcnQKKyAgUHlMaXN0X1R5cGU9cHl0aG9uMzMuUHlMaXN0X1R5cGUgREFUQQorICBQeUxvbmdSYW5nZUl0ZXJfVHlwZT1weXRob24zMy5QeUxvbmdSYW5nZUl0ZXJfVHlwZSBEQVRBCisgIFB5TG9uZ19Bc0RvdWJsZT1weXRob24zMy5QeUxvbmdfQXNEb3VibGUKKyAgUHlMb25nX0FzTG9uZz1weXRob24zMy5QeUxvbmdfQXNMb25nCisgIFB5TG9uZ19Bc0xvbmdBbmRPdmVyZmxvdz1weXRob24zMy5QeUxvbmdfQXNMb25nQW5kT3ZlcmZsb3cKKyAgUHlMb25nX0FzTG9uZ0xvbmc9cHl0aG9uMzMuUHlMb25nX0FzTG9uZ0xvbmcKKyAgUHlMb25nX0FzTG9uZ0xvbmdBbmRPdmVyZmxvdz1weXRob24zMy5QeUxvbmdfQXNMb25nTG9uZ0FuZE92ZXJmbG93CisgIFB5TG9uZ19Bc1NpemVfdD1weXRob24zMy5QeUxvbmdfQXNTaXplX3QKKyAgUHlMb25nX0FzU3NpemVfdD1weXRob24zMy5QeUxvbmdfQXNTc2l6ZV90CisgIFB5TG9uZ19Bc1Vuc2lnbmVkTG9uZz1weXRob24zMy5QeUxvbmdfQXNVbnNpZ25lZExvbmcKKyAgUHlMb25nX0FzVW5zaWduZWRMb25nTG9uZz1weXRob24zMy5QeUxvbmdfQXNVbnNpZ25lZExvbmdMb25nCisgIFB5TG9uZ19Bc1Vuc2lnbmVkTG9uZ0xvbmdNYXNrPXB5dGhvbjMzLlB5TG9uZ19Bc1Vuc2lnbmVkTG9uZ0xvbmdNYXNrCisgIFB5TG9uZ19Bc1Vuc2lnbmVkTG9uZ01hc2s9cHl0aG9uMzMuUHlMb25nX0FzVW5zaWduZWRMb25nTWFzaworICBQeUxvbmdfQXNWb2lkUHRyPXB5dGhvbjMzLlB5TG9uZ19Bc1ZvaWRQdHIKKyAgUHlMb25nX0Zyb21Eb3VibGU9cHl0aG9uMzMuUHlMb25nX0Zyb21Eb3VibGUKKyAgUHlMb25nX0Zyb21Mb25nPXB5dGhvbjMzLlB5TG9uZ19Gcm9tTG9uZworICBQeUxvbmdfRnJvbUxvbmdMb25nPXB5dGhvbjMzLlB5TG9uZ19Gcm9tTG9uZ0xvbmcKKyAgUHlMb25nX0Zyb21TaXplX3Q9cHl0aG9uMzMuUHlMb25nX0Zyb21TaXplX3QKKyAgUHlMb25nX0Zyb21Tc2l6ZV90PXB5dGhvbjMzLlB5TG9uZ19Gcm9tU3NpemVfdAorICBQeUxvbmdfRnJvbVN0cmluZz1weXRob24zMy5QeUxvbmdfRnJvbVN0cmluZworICBQeUxvbmdfRnJvbVVuc2lnbmVkTG9uZz1weXRob24zMy5QeUxvbmdfRnJvbVVuc2lnbmVkTG9uZworICBQeUxvbmdfRnJvbVVuc2lnbmVkTG9uZ0xvbmc9cHl0aG9uMzMuUHlMb25nX0Zyb21VbnNpZ25lZExvbmdMb25nCisgIFB5TG9uZ19Gcm9tVm9pZFB0cj1weXRob24zMy5QeUxvbmdfRnJvbVZvaWRQdHIKKyAgUHlMb25nX0dldEluZm89cHl0aG9uMzMuUHlMb25nX0dldEluZm8KKyAgUHlMb25nX1R5cGU9cHl0aG9uMzMuUHlMb25nX1R5cGUgREFUQQorICBQeU1hcF9UeXBlPXB5dGhvbjMzLlB5TWFwX1R5cGUgREFUQQorICBQeU1hcHBpbmdfQ2hlY2s9cHl0aG9uMzMuUHlNYXBwaW5nX0NoZWNrCisgIFB5TWFwcGluZ19HZXRJdGVtU3RyaW5nPXB5dGhvbjMzLlB5TWFwcGluZ19HZXRJdGVtU3RyaW5nCisgIFB5TWFwcGluZ19IYXNLZXk9cHl0aG9uMzMuUHlNYXBwaW5nX0hhc0tleQorICBQeU1hcHBpbmdfSGFzS2V5U3RyaW5nPXB5dGhvbjMzLlB5TWFwcGluZ19IYXNLZXlTdHJpbmcKKyAgUHlNYXBwaW5nX0l0ZW1zPXB5dGhvbjMzLlB5TWFwcGluZ19JdGVtcworICBQeU1hcHBpbmdfS2V5cz1weXRob24zMy5QeU1hcHBpbmdfS2V5cworICBQeU1hcHBpbmdfTGVuZ3RoPXB5dGhvbjMzLlB5TWFwcGluZ19MZW5ndGgKKyAgUHlNYXBwaW5nX1NldEl0ZW1TdHJpbmc9cHl0aG9uMzMuUHlNYXBwaW5nX1NldEl0ZW1TdHJpbmcKKyAgUHlNYXBwaW5nX1NpemU9cHl0aG9uMzMuUHlNYXBwaW5nX1NpemUKKyAgUHlNYXBwaW5nX1ZhbHVlcz1weXRob24zMy5QeU1hcHBpbmdfVmFsdWVzCisgIFB5TWVtX0ZyZWU9cHl0aG9uMzMuUHlNZW1fRnJlZQorICBQeU1lbV9NYWxsb2M9cHl0aG9uMzMuUHlNZW1fTWFsbG9jCisgIFB5TWVtX1JlYWxsb2M9cHl0aG9uMzMuUHlNZW1fUmVhbGxvYworICBQeU1lbWJlckRlc2NyX1R5cGU9cHl0aG9uMzMuUHlNZW1iZXJEZXNjcl9UeXBlIERBVEEKKyAgUHlNZW1vcnlWaWV3X0Zyb21PYmplY3Q9cHl0aG9uMzMuUHlNZW1vcnlWaWV3X0Zyb21PYmplY3QKKyAgUHlNZW1vcnlWaWV3X0dldENvbnRpZ3VvdXM9cHl0aG9uMzMuUHlNZW1vcnlWaWV3X0dldENvbnRpZ3VvdXMKKyAgUHlNZW1vcnlWaWV3X1R5cGU9cHl0aG9uMzMuUHlNZW1vcnlWaWV3X1R5cGUgREFUQQorICBQeU1ldGhvZERlc2NyX1R5cGU9cHl0aG9uMzMuUHlNZXRob2REZXNjcl9UeXBlIERBVEEKKyAgUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQ9cHl0aG9uMzMuUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQKKyAgUHlNb2R1bGVfQWRkT2JqZWN0PXB5dGhvbjMzLlB5TW9kdWxlX0FkZE9iamVjdAorICBQeU1vZHVsZV9BZGRTdHJpbmdDb25zdGFudD1weXRob24zMy5QeU1vZHVsZV9BZGRTdHJpbmdDb25zdGFudAorICBQeU1vZHVsZV9DcmVhdGUyPXB5dGhvbjMzLlB5TW9kdWxlX0NyZWF0ZTIKKyAgUHlNb2R1bGVfR2V0RGVmPXB5dGhvbjMzLlB5TW9kdWxlX0dldERlZgorICBQeU1vZHVsZV9HZXREaWN0PXB5dGhvbjMzLlB5TW9kdWxlX0dldERpY3QKKyAgUHlNb2R1bGVfR2V0RmlsZW5hbWU9cHl0aG9uMzMuUHlNb2R1bGVfR2V0RmlsZW5hbWUKKyAgUHlNb2R1bGVfR2V0RmlsZW5hbWVPYmplY3Q9cHl0aG9uMzMuUHlNb2R1bGVfR2V0RmlsZW5hbWVPYmplY3QKKyAgUHlNb2R1bGVfR2V0TmFtZT1weXRob24zMy5QeU1vZHVsZV9HZXROYW1lCisgIFB5TW9kdWxlX0dldFN0YXRlPXB5dGhvbjMzLlB5TW9kdWxlX0dldFN0YXRlCisgIFB5TW9kdWxlX05ldz1weXRob24zMy5QeU1vZHVsZV9OZXcKKyAgUHlNb2R1bGVfVHlwZT1weXRob24zMy5QeU1vZHVsZV9UeXBlIERBVEEKKyAgUHlOdWxsSW1wb3J0ZXJfVHlwZT1weXRob24zMy5QeU51bGxJbXBvcnRlcl9UeXBlIERBVEEKKyAgUHlOdW1iZXJfQWJzb2x1dGU9cHl0aG9uMzMuUHlOdW1iZXJfQWJzb2x1dGUKKyAgUHlOdW1iZXJfQWRkPXB5dGhvbjMzLlB5TnVtYmVyX0FkZAorICBQeU51bWJlcl9BbmQ9cHl0aG9uMzMuUHlOdW1iZXJfQW5kCisgIFB5TnVtYmVyX0FzU3NpemVfdD1weXRob24zMy5QeU51bWJlcl9Bc1NzaXplX3QKKyAgUHlOdW1iZXJfQ2hlY2s9cHl0aG9uMzMuUHlOdW1iZXJfQ2hlY2sKKyAgUHlOdW1iZXJfRGl2bW9kPXB5dGhvbjMzLlB5TnVtYmVyX0Rpdm1vZAorICBQeU51bWJlcl9GbG9hdD1weXRob24zMy5QeU51bWJlcl9GbG9hdAorICBQeU51bWJlcl9GbG9vckRpdmlkZT1weXRob24zMy5QeU51bWJlcl9GbG9vckRpdmlkZQorICBQeU51bWJlcl9JblBsYWNlQWRkPXB5dGhvbjMzLlB5TnVtYmVyX0luUGxhY2VBZGQKKyAgUHlOdW1iZXJfSW5QbGFjZUFuZD1weXRob24zMy5QeU51bWJlcl9JblBsYWNlQW5kCisgIFB5TnVtYmVyX0luUGxhY2VGbG9vckRpdmlkZT1weXRob24zMy5QeU51bWJlcl9JblBsYWNlRmxvb3JEaXZpZGUKKyAgUHlOdW1iZXJfSW5QbGFjZUxzaGlmdD1weXRob24zMy5QeU51bWJlcl9JblBsYWNlTHNoaWZ0CisgIFB5TnVtYmVyX0luUGxhY2VNdWx0aXBseT1weXRob24zMy5QeU51bWJlcl9JblBsYWNlTXVsdGlwbHkKKyAgUHlOdW1iZXJfSW5QbGFjZU9yPXB5dGhvbjMzLlB5TnVtYmVyX0luUGxhY2VPcgorICBQeU51bWJlcl9JblBsYWNlUG93ZXI9cHl0aG9uMzMuUHlOdW1iZXJfSW5QbGFjZVBvd2VyCisgIFB5TnVtYmVyX0luUGxhY2VSZW1haW5kZXI9cHl0aG9uMzMuUHlOdW1iZXJfSW5QbGFjZVJlbWFpbmRlcgorICBQeU51bWJlcl9JblBsYWNlUnNoaWZ0PXB5dGhvbjMzLlB5TnVtYmVyX0luUGxhY2VSc2hpZnQKKyAgUHlOdW1iZXJfSW5QbGFjZVN1YnRyYWN0PXB5dGhvbjMzLlB5TnVtYmVyX0luUGxhY2VTdWJ0cmFjdAorICBQeU51bWJlcl9JblBsYWNlVHJ1ZURpdmlkZT1weXRob24zMy5QeU51bWJlcl9JblBsYWNlVHJ1ZURpdmlkZQorICBQeU51bWJlcl9JblBsYWNlWG9yPXB5dGhvbjMzLlB5TnVtYmVyX0luUGxhY2VYb3IKKyAgUHlOdW1iZXJfSW5kZXg9cHl0aG9uMzMuUHlOdW1iZXJfSW5kZXgKKyAgUHlOdW1iZXJfSW52ZXJ0PXB5dGhvbjMzLlB5TnVtYmVyX0ludmVydAorICBQeU51bWJlcl9Mb25nPXB5dGhvbjMzLlB5TnVtYmVyX0xvbmcKKyAgUHlOdW1iZXJfTHNoaWZ0PXB5dGhvbjMzLlB5TnVtYmVyX0xzaGlmdAorICBQeU51bWJlcl9NdWx0aXBseT1weXRob24zMy5QeU51bWJlcl9NdWx0aXBseQorICBQeU51bWJlcl9OZWdhdGl2ZT1weXRob24zMy5QeU51bWJlcl9OZWdhdGl2ZQorICBQeU51bWJlcl9Pcj1weXRob24zMy5QeU51bWJlcl9PcgorICBQeU51bWJlcl9Qb3NpdGl2ZT1weXRob24zMy5QeU51bWJlcl9Qb3NpdGl2ZQorICBQeU51bWJlcl9Qb3dlcj1weXRob24zMy5QeU51bWJlcl9Qb3dlcgorICBQeU51bWJlcl9SZW1haW5kZXI9cHl0aG9uMzMuUHlOdW1iZXJfUmVtYWluZGVyCisgIFB5TnVtYmVyX1JzaGlmdD1weXRob24zMy5QeU51bWJlcl9Sc2hpZnQKKyAgUHlOdW1iZXJfU3VidHJhY3Q9cHl0aG9uMzMuUHlOdW1iZXJfU3VidHJhY3QKKyAgUHlOdW1iZXJfVG9CYXNlPXB5dGhvbjMzLlB5TnVtYmVyX1RvQmFzZQorICBQeU51bWJlcl9UcnVlRGl2aWRlPXB5dGhvbjMzLlB5TnVtYmVyX1RydWVEaXZpZGUKKyAgUHlOdW1iZXJfWG9yPXB5dGhvbjMzLlB5TnVtYmVyX1hvcgorICBQeU9TX0FmdGVyRm9yaz1weXRob24zMy5QeU9TX0FmdGVyRm9yaworICBQeU9TX0luaXRJbnRlcnJ1cHRzPXB5dGhvbjMzLlB5T1NfSW5pdEludGVycnVwdHMKKyAgUHlPU19JbnB1dEhvb2s9cHl0aG9uMzMuUHlPU19JbnB1dEhvb2sgREFUQQorICBQeU9TX0ludGVycnVwdE9jY3VycmVkPXB5dGhvbjMzLlB5T1NfSW50ZXJydXB0T2NjdXJyZWQKKyAgUHlPU19SZWFkbGluZUZ1bmN0aW9uUG9pbnRlcj1weXRob24zMy5QeU9TX1JlYWRsaW5lRnVuY3Rpb25Qb2ludGVyIERBVEEKKyAgUHlPU19kb3VibGVfdG9fc3RyaW5nPXB5dGhvbjMzLlB5T1NfZG91YmxlX3RvX3N0cmluZworICBQeU9TX2dldHNpZz1weXRob24zMy5QeU9TX2dldHNpZworICBQeU9TX215c3RyaWNtcD1weXRob24zMy5QeU9TX215c3RyaWNtcAorICBQeU9TX215c3RybmljbXA9cHl0aG9uMzMuUHlPU19teXN0cm5pY21wCisgIFB5T1Nfc2V0c2lnPXB5dGhvbjMzLlB5T1Nfc2V0c2lnCisgIFB5T1Nfc25wcmludGY9cHl0aG9uMzMuUHlPU19zbnByaW50ZgorICBQeU9TX3N0cmluZ190b19kb3VibGU9cHl0aG9uMzMuUHlPU19zdHJpbmdfdG9fZG91YmxlCisgIFB5T1Nfc3RydG9sPXB5dGhvbjMzLlB5T1Nfc3RydG9sCisgIFB5T1Nfc3RydG91bD1weXRob24zMy5QeU9TX3N0cnRvdWwKKyAgUHlPU192c25wcmludGY9cHl0aG9uMzMuUHlPU192c25wcmludGYKKyAgUHlPYmplY3RfQVNDSUk9cHl0aG9uMzMuUHlPYmplY3RfQVNDSUkKKyAgUHlPYmplY3RfQXNDaGFyQnVmZmVyPXB5dGhvbjMzLlB5T2JqZWN0X0FzQ2hhckJ1ZmZlcgorICBQeU9iamVjdF9Bc0ZpbGVEZXNjcmlwdG9yPXB5dGhvbjMzLlB5T2JqZWN0X0FzRmlsZURlc2NyaXB0b3IKKyAgUHlPYmplY3RfQXNSZWFkQnVmZmVyPXB5dGhvbjMzLlB5T2JqZWN0X0FzUmVhZEJ1ZmZlcgorICBQeU9iamVjdF9Bc1dyaXRlQnVmZmVyPXB5dGhvbjMzLlB5T2JqZWN0X0FzV3JpdGVCdWZmZXIKKyAgUHlPYmplY3RfQnl0ZXM9cHl0aG9uMzMuUHlPYmplY3RfQnl0ZXMKKyAgUHlPYmplY3RfQ2FsbD1weXRob24zMy5QeU9iamVjdF9DYWxsCisgIFB5T2JqZWN0X0NhbGxGdW5jdGlvbj1weXRob24zMy5QeU9iamVjdF9DYWxsRnVuY3Rpb24KKyAgUHlPYmplY3RfQ2FsbEZ1bmN0aW9uT2JqQXJncz1weXRob24zMy5QeU9iamVjdF9DYWxsRnVuY3Rpb25PYmpBcmdzCisgIFB5T2JqZWN0X0NhbGxNZXRob2Q9cHl0aG9uMzMuUHlPYmplY3RfQ2FsbE1ldGhvZAorICBQeU9iamVjdF9DYWxsTWV0aG9kT2JqQXJncz1weXRob24zMy5QeU9iamVjdF9DYWxsTWV0aG9kT2JqQXJncworICBQeU9iamVjdF9DYWxsT2JqZWN0PXB5dGhvbjMzLlB5T2JqZWN0X0NhbGxPYmplY3QKKyAgUHlPYmplY3RfQ2hlY2tSZWFkQnVmZmVyPXB5dGhvbjMzLlB5T2JqZWN0X0NoZWNrUmVhZEJ1ZmZlcgorICBQeU9iamVjdF9DbGVhcldlYWtSZWZzPXB5dGhvbjMzLlB5T2JqZWN0X0NsZWFyV2Vha1JlZnMKKyAgUHlPYmplY3RfRGVsSXRlbT1weXRob24zMy5QeU9iamVjdF9EZWxJdGVtCisgIFB5T2JqZWN0X0RlbEl0ZW1TdHJpbmc9cHl0aG9uMzMuUHlPYmplY3RfRGVsSXRlbVN0cmluZworICBQeU9iamVjdF9EaXI9cHl0aG9uMzMuUHlPYmplY3RfRGlyCisgIFB5T2JqZWN0X0Zvcm1hdD1weXRob24zMy5QeU9iamVjdF9Gb3JtYXQKKyAgUHlPYmplY3RfRnJlZT1weXRob24zMy5QeU9iamVjdF9GcmVlCisgIFB5T2JqZWN0X0dDX0RlbD1weXRob24zMy5QeU9iamVjdF9HQ19EZWwKKyAgUHlPYmplY3RfR0NfVHJhY2s9cHl0aG9uMzMuUHlPYmplY3RfR0NfVHJhY2sKKyAgUHlPYmplY3RfR0NfVW5UcmFjaz1weXRob24zMy5QeU9iamVjdF9HQ19VblRyYWNrCisgIFB5T2JqZWN0X0dlbmVyaWNHZXRBdHRyPXB5dGhvbjMzLlB5T2JqZWN0X0dlbmVyaWNHZXRBdHRyCisgIFB5T2JqZWN0X0dlbmVyaWNTZXRBdHRyPXB5dGhvbjMzLlB5T2JqZWN0X0dlbmVyaWNTZXRBdHRyCisgIFB5T2JqZWN0X0dldEF0dHI9cHl0aG9uMzMuUHlPYmplY3RfR2V0QXR0cgorICBQeU9iamVjdF9HZXRBdHRyU3RyaW5nPXB5dGhvbjMzLlB5T2JqZWN0X0dldEF0dHJTdHJpbmcKKyAgUHlPYmplY3RfR2V0SXRlbT1weXRob24zMy5QeU9iamVjdF9HZXRJdGVtCisgIFB5T2JqZWN0X0dldEl0ZXI9cHl0aG9uMzMuUHlPYmplY3RfR2V0SXRlcgorICBQeU9iamVjdF9IYXNBdHRyPXB5dGhvbjMzLlB5T2JqZWN0X0hhc0F0dHIKKyAgUHlPYmplY3RfSGFzQXR0clN0cmluZz1weXRob24zMy5QeU9iamVjdF9IYXNBdHRyU3RyaW5nCisgIFB5T2JqZWN0X0hhc2g9cHl0aG9uMzMuUHlPYmplY3RfSGFzaAorICBQeU9iamVjdF9IYXNoTm90SW1wbGVtZW50ZWQ9cHl0aG9uMzMuUHlPYmplY3RfSGFzaE5vdEltcGxlbWVudGVkCisgIFB5T2JqZWN0X0luaXQ9cHl0aG9uMzMuUHlPYmplY3RfSW5pdAorICBQeU9iamVjdF9Jbml0VmFyPXB5dGhvbjMzLlB5T2JqZWN0X0luaXRWYXIKKyAgUHlPYmplY3RfSXNJbnN0YW5jZT1weXRob24zMy5QeU9iamVjdF9Jc0luc3RhbmNlCisgIFB5T2JqZWN0X0lzU3ViY2xhc3M9cHl0aG9uMzMuUHlPYmplY3RfSXNTdWJjbGFzcworICBQeU9iamVjdF9Jc1RydWU9cHl0aG9uMzMuUHlPYmplY3RfSXNUcnVlCisgIFB5T2JqZWN0X0xlbmd0aD1weXRob24zMy5QeU9iamVjdF9MZW5ndGgKKyAgUHlPYmplY3RfTWFsbG9jPXB5dGhvbjMzLlB5T2JqZWN0X01hbGxvYworICBQeU9iamVjdF9Ob3Q9cHl0aG9uMzMuUHlPYmplY3RfTm90CisgIFB5T2JqZWN0X1JlYWxsb2M9cHl0aG9uMzMuUHlPYmplY3RfUmVhbGxvYworICBQeU9iamVjdF9SZXByPXB5dGhvbjMzLlB5T2JqZWN0X1JlcHIKKyAgUHlPYmplY3RfUmljaENvbXBhcmU9cHl0aG9uMzMuUHlPYmplY3RfUmljaENvbXBhcmUKKyAgUHlPYmplY3RfUmljaENvbXBhcmVCb29sPXB5dGhvbjMzLlB5T2JqZWN0X1JpY2hDb21wYXJlQm9vbAorICBQeU9iamVjdF9TZWxmSXRlcj1weXRob24zMy5QeU9iamVjdF9TZWxmSXRlcgorICBQeU9iamVjdF9TZXRBdHRyPXB5dGhvbjMzLlB5T2JqZWN0X1NldEF0dHIKKyAgUHlPYmplY3RfU2V0QXR0clN0cmluZz1weXRob24zMy5QeU9iamVjdF9TZXRBdHRyU3RyaW5nCisgIFB5T2JqZWN0X1NldEl0ZW09cHl0aG9uMzMuUHlPYmplY3RfU2V0SXRlbQorICBQeU9iamVjdF9TaXplPXB5dGhvbjMzLlB5T2JqZWN0X1NpemUKKyAgUHlPYmplY3RfU3RyPXB5dGhvbjMzLlB5T2JqZWN0X1N0cgorICBQeU9iamVjdF9UeXBlPXB5dGhvbjMzLlB5T2JqZWN0X1R5cGUgREFUQQorICBQeVBhcnNlcl9TaW1wbGVQYXJzZUZpbGVGbGFncz1weXRob24zMy5QeVBhcnNlcl9TaW1wbGVQYXJzZUZpbGVGbGFncworICBQeVBhcnNlcl9TaW1wbGVQYXJzZVN0cmluZ0ZsYWdzPXB5dGhvbjMzLlB5UGFyc2VyX1NpbXBsZVBhcnNlU3RyaW5nRmxhZ3MKKyAgUHlQcm9wZXJ0eV9UeXBlPXB5dGhvbjMzLlB5UHJvcGVydHlfVHlwZSBEQVRBCisgIFB5UmFuZ2VJdGVyX1R5cGU9cHl0aG9uMzMuUHlSYW5nZUl0ZXJfVHlwZSBEQVRBCisgIFB5UmFuZ2VfVHlwZT1weXRob24zMy5QeVJhbmdlX1R5cGUgREFUQQorICBQeVJldmVyc2VkX1R5cGU9cHl0aG9uMzMuUHlSZXZlcnNlZF9UeXBlIERBVEEKKyAgUHlTZXFJdGVyX05ldz1weXRob24zMy5QeVNlcUl0ZXJfTmV3CisgIFB5U2VxSXRlcl9UeXBlPXB5dGhvbjMzLlB5U2VxSXRlcl9UeXBlIERBVEEKKyAgUHlTZXF1ZW5jZV9DaGVjaz1weXRob24zMy5QeVNlcXVlbmNlX0NoZWNrCisgIFB5U2VxdWVuY2VfQ29uY2F0PXB5dGhvbjMzLlB5U2VxdWVuY2VfQ29uY2F0CisgIFB5U2VxdWVuY2VfQ29udGFpbnM9cHl0aG9uMzMuUHlTZXF1ZW5jZV9Db250YWlucworICBQeVNlcXVlbmNlX0NvdW50PXB5dGhvbjMzLlB5U2VxdWVuY2VfQ291bnQKKyAgUHlTZXF1ZW5jZV9EZWxJdGVtPXB5dGhvbjMzLlB5U2VxdWVuY2VfRGVsSXRlbQorICBQeVNlcXVlbmNlX0RlbFNsaWNlPXB5dGhvbjMzLlB5U2VxdWVuY2VfRGVsU2xpY2UKKyAgUHlTZXF1ZW5jZV9GYXN0PXB5dGhvbjMzLlB5U2VxdWVuY2VfRmFzdAorICBQeVNlcXVlbmNlX0dldEl0ZW09cHl0aG9uMzMuUHlTZXF1ZW5jZV9HZXRJdGVtCisgIFB5U2VxdWVuY2VfR2V0U2xpY2U9cHl0aG9uMzMuUHlTZXF1ZW5jZV9HZXRTbGljZQorICBQeVNlcXVlbmNlX0luPXB5dGhvbjMzLlB5U2VxdWVuY2VfSW4KKyAgUHlTZXF1ZW5jZV9JblBsYWNlQ29uY2F0PXB5dGhvbjMzLlB5U2VxdWVuY2VfSW5QbGFjZUNvbmNhdAorICBQeVNlcXVlbmNlX0luUGxhY2VSZXBlYXQ9cHl0aG9uMzMuUHlTZXF1ZW5jZV9JblBsYWNlUmVwZWF0CisgIFB5U2VxdWVuY2VfSW5kZXg9cHl0aG9uMzMuUHlTZXF1ZW5jZV9JbmRleAorICBQeVNlcXVlbmNlX0xlbmd0aD1weXRob24zMy5QeVNlcXVlbmNlX0xlbmd0aAorICBQeVNlcXVlbmNlX0xpc3Q9cHl0aG9uMzMuUHlTZXF1ZW5jZV9MaXN0CisgIFB5U2VxdWVuY2VfUmVwZWF0PXB5dGhvbjMzLlB5U2VxdWVuY2VfUmVwZWF0CisgIFB5U2VxdWVuY2VfU2V0SXRlbT1weXRob24zMy5QeVNlcXVlbmNlX1NldEl0ZW0KKyAgUHlTZXF1ZW5jZV9TZXRTbGljZT1weXRob24zMy5QeVNlcXVlbmNlX1NldFNsaWNlCisgIFB5U2VxdWVuY2VfU2l6ZT1weXRob24zMy5QeVNlcXVlbmNlX1NpemUKKyAgUHlTZXF1ZW5jZV9UdXBsZT1weXRob24zMy5QeVNlcXVlbmNlX1R1cGxlCisgIFB5U2V0SXRlcl9UeXBlPXB5dGhvbjMzLlB5U2V0SXRlcl9UeXBlIERBVEEKKyAgUHlTZXRfQWRkPXB5dGhvbjMzLlB5U2V0X0FkZAorICBQeVNldF9DbGVhcj1weXRob24zMy5QeVNldF9DbGVhcgorICBQeVNldF9Db250YWlucz1weXRob24zMy5QeVNldF9Db250YWlucworICBQeVNldF9EaXNjYXJkPXB5dGhvbjMzLlB5U2V0X0Rpc2NhcmQKKyAgUHlTZXRfTmV3PXB5dGhvbjMzLlB5U2V0X05ldworICBQeVNldF9Qb3A9cHl0aG9uMzMuUHlTZXRfUG9wCisgIFB5U2V0X1NpemU9cHl0aG9uMzMuUHlTZXRfU2l6ZQorICBQeVNldF9UeXBlPXB5dGhvbjMzLlB5U2V0X1R5cGUgREFUQQorICBQeVNsaWNlX0dldEluZGljZXM9cHl0aG9uMzMuUHlTbGljZV9HZXRJbmRpY2VzCisgIFB5U2xpY2VfR2V0SW5kaWNlc0V4PXB5dGhvbjMzLlB5U2xpY2VfR2V0SW5kaWNlc0V4CisgIFB5U2xpY2VfTmV3PXB5dGhvbjMzLlB5U2xpY2VfTmV3CisgIFB5U2xpY2VfVHlwZT1weXRob24zMy5QeVNsaWNlX1R5cGUgREFUQQorICBQeVNvcnRXcmFwcGVyX1R5cGU9cHl0aG9uMzMuUHlTb3J0V3JhcHBlcl9UeXBlIERBVEEKKyAgUHlTdGF0ZV9GaW5kTW9kdWxlPXB5dGhvbjMzLlB5U3RhdGVfRmluZE1vZHVsZQorICBQeVN0cnVjdFNlcXVlbmNlX0dldEl0ZW09cHl0aG9uMzMuUHlTdHJ1Y3RTZXF1ZW5jZV9HZXRJdGVtCisgIFB5U3RydWN0U2VxdWVuY2VfTmV3PXB5dGhvbjMzLlB5U3RydWN0U2VxdWVuY2VfTmV3CisgIFB5U3RydWN0U2VxdWVuY2VfTmV3VHlwZT1weXRob24zMy5QeVN0cnVjdFNlcXVlbmNlX05ld1R5cGUKKyAgUHlTdHJ1Y3RTZXF1ZW5jZV9TZXRJdGVtPXB5dGhvbjMzLlB5U3RydWN0U2VxdWVuY2VfU2V0SXRlbQorICBQeVN1cGVyX1R5cGU9cHl0aG9uMzMuUHlTdXBlcl9UeXBlIERBVEEKKyAgUHlTeXNfQWRkV2Fybk9wdGlvbj1weXRob24zMy5QeVN5c19BZGRXYXJuT3B0aW9uCisgIFB5U3lzX0FkZFdhcm5PcHRpb25Vbmljb2RlPXB5dGhvbjMzLlB5U3lzX0FkZFdhcm5PcHRpb25Vbmljb2RlCisgIFB5U3lzX0Zvcm1hdFN0ZGVycj1weXRob24zMy5QeVN5c19Gb3JtYXRTdGRlcnIKKyAgUHlTeXNfRm9ybWF0U3Rkb3V0PXB5dGhvbjMzLlB5U3lzX0Zvcm1hdFN0ZG91dAorICBQeVN5c19HZXRPYmplY3Q9cHl0aG9uMzMuUHlTeXNfR2V0T2JqZWN0CisgIFB5U3lzX0hhc1dhcm5PcHRpb25zPXB5dGhvbjMzLlB5U3lzX0hhc1dhcm5PcHRpb25zCisgIFB5U3lzX1Jlc2V0V2Fybk9wdGlvbnM9cHl0aG9uMzMuUHlTeXNfUmVzZXRXYXJuT3B0aW9ucworICBQeVN5c19TZXRBcmd2PXB5dGhvbjMzLlB5U3lzX1NldEFyZ3YKKyAgUHlTeXNfU2V0QXJndkV4PXB5dGhvbjMzLlB5U3lzX1NldEFyZ3ZFeAorICBQeVN5c19TZXRPYmplY3Q9cHl0aG9uMzMuUHlTeXNfU2V0T2JqZWN0CisgIFB5U3lzX1NldFBhdGg9cHl0aG9uMzMuUHlTeXNfU2V0UGF0aAorICBQeVN5c19Xcml0ZVN0ZGVycj1weXRob24zMy5QeVN5c19Xcml0ZVN0ZGVycgorICBQeVN5c19Xcml0ZVN0ZG91dD1weXRob24zMy5QeVN5c19Xcml0ZVN0ZG91dAorICBQeVRocmVhZFN0YXRlX0NsZWFyPXB5dGhvbjMzLlB5VGhyZWFkU3RhdGVfQ2xlYXIKKyAgUHlUaHJlYWRTdGF0ZV9EZWxldGU9cHl0aG9uMzMuUHlUaHJlYWRTdGF0ZV9EZWxldGUKKyAgUHlUaHJlYWRTdGF0ZV9EZWxldGVDdXJyZW50PXB5dGhvbjMzLlB5VGhyZWFkU3RhdGVfRGVsZXRlQ3VycmVudAorICBQeVRocmVhZFN0YXRlX0dldD1weXRob24zMy5QeVRocmVhZFN0YXRlX0dldAorICBQeVRocmVhZFN0YXRlX0dldERpY3Q9cHl0aG9uMzMuUHlUaHJlYWRTdGF0ZV9HZXREaWN0CisgIFB5VGhyZWFkU3RhdGVfTmV3PXB5dGhvbjMzLlB5VGhyZWFkU3RhdGVfTmV3CisgIFB5VGhyZWFkU3RhdGVfU2V0QXN5bmNFeGM9cHl0aG9uMzMuUHlUaHJlYWRTdGF0ZV9TZXRBc3luY0V4YworICBQeVRocmVhZFN0YXRlX1N3YXA9cHl0aG9uMzMuUHlUaHJlYWRTdGF0ZV9Td2FwCisgIFB5VHJhY2VCYWNrX0hlcmU9cHl0aG9uMzMuUHlUcmFjZUJhY2tfSGVyZQorICBQeVRyYWNlQmFja19QcmludD1weXRob24zMy5QeVRyYWNlQmFja19QcmludAorICBQeVRyYWNlQmFja19UeXBlPXB5dGhvbjMzLlB5VHJhY2VCYWNrX1R5cGUgREFUQQorICBQeVR1cGxlSXRlcl9UeXBlPXB5dGhvbjMzLlB5VHVwbGVJdGVyX1R5cGUgREFUQQorICBQeVR1cGxlX0NsZWFyRnJlZUxpc3Q9cHl0aG9uMzMuUHlUdXBsZV9DbGVhckZyZWVMaXN0CisgIFB5VHVwbGVfR2V0SXRlbT1weXRob24zMy5QeVR1cGxlX0dldEl0ZW0KKyAgUHlUdXBsZV9HZXRTbGljZT1weXRob24zMy5QeVR1cGxlX0dldFNsaWNlCisgIFB5VHVwbGVfTmV3PXB5dGhvbjMzLlB5VHVwbGVfTmV3CisgIFB5VHVwbGVfUGFjaz1weXRob24zMy5QeVR1cGxlX1BhY2sKKyAgUHlUdXBsZV9TZXRJdGVtPXB5dGhvbjMzLlB5VHVwbGVfU2V0SXRlbQorICBQeVR1cGxlX1NpemU9cHl0aG9uMzMuUHlUdXBsZV9TaXplCisgIFB5VHVwbGVfVHlwZT1weXRob24zMy5QeVR1cGxlX1R5cGUgREFUQQorICBQeVR5cGVfQ2xlYXJDYWNoZT1weXRob24zMy5QeVR5cGVfQ2xlYXJDYWNoZQorICBQeVR5cGVfRnJvbVNwZWM9cHl0aG9uMzMuUHlUeXBlX0Zyb21TcGVjCisgIFB5VHlwZV9HZW5lcmljQWxsb2M9cHl0aG9uMzMuUHlUeXBlX0dlbmVyaWNBbGxvYworICBQeVR5cGVfR2VuZXJpY05ldz1weXRob24zMy5QeVR5cGVfR2VuZXJpY05ldworICBQeVR5cGVfR2V0RmxhZ3M9cHl0aG9uMzMuUHlUeXBlX0dldEZsYWdzCisgIFB5VHlwZV9Jc1N1YnR5cGU9cHl0aG9uMzMuUHlUeXBlX0lzU3VidHlwZQorICBQeVR5cGVfTW9kaWZpZWQ9cHl0aG9uMzMuUHlUeXBlX01vZGlmaWVkCisgIFB5VHlwZV9SZWFkeT1weXRob24zMy5QeVR5cGVfUmVhZHkKKyAgUHlUeXBlX1R5cGU9cHl0aG9uMzMuUHlUeXBlX1R5cGUgREFUQQorICBQeVVuaWNvZGVEZWNvZGVFcnJvcl9DcmVhdGU9cHl0aG9uMzMuUHlVbmljb2RlRGVjb2RlRXJyb3JfQ3JlYXRlCisgIFB5VW5pY29kZURlY29kZUVycm9yX0dldEVuY29kaW5nPXB5dGhvbjMzLlB5VW5pY29kZURlY29kZUVycm9yX0dldEVuY29kaW5nCisgIFB5VW5pY29kZURlY29kZUVycm9yX0dldEVuZD1weXRob24zMy5QeVVuaWNvZGVEZWNvZGVFcnJvcl9HZXRFbmQKKyAgUHlVbmljb2RlRGVjb2RlRXJyb3JfR2V0T2JqZWN0PXB5dGhvbjMzLlB5VW5pY29kZURlY29kZUVycm9yX0dldE9iamVjdAorICBQeVVuaWNvZGVEZWNvZGVFcnJvcl9HZXRSZWFzb249cHl0aG9uMzMuUHlVbmljb2RlRGVjb2RlRXJyb3JfR2V0UmVhc29uCisgIFB5VW5pY29kZURlY29kZUVycm9yX0dldFN0YXJ0PXB5dGhvbjMzLlB5VW5pY29kZURlY29kZUVycm9yX0dldFN0YXJ0CisgIFB5VW5pY29kZURlY29kZUVycm9yX1NldEVuZD1weXRob24zMy5QeVVuaWNvZGVEZWNvZGVFcnJvcl9TZXRFbmQKKyAgUHlVbmljb2RlRGVjb2RlRXJyb3JfU2V0UmVhc29uPXB5dGhvbjMzLlB5VW5pY29kZURlY29kZUVycm9yX1NldFJlYXNvbgorICBQeVVuaWNvZGVEZWNvZGVFcnJvcl9TZXRTdGFydD1weXRob24zMy5QeVVuaWNvZGVEZWNvZGVFcnJvcl9TZXRTdGFydAorICBQeVVuaWNvZGVFbmNvZGVFcnJvcl9HZXRFbmNvZGluZz1weXRob24zMy5QeVVuaWNvZGVFbmNvZGVFcnJvcl9HZXRFbmNvZGluZworICBQeVVuaWNvZGVFbmNvZGVFcnJvcl9HZXRFbmQ9cHl0aG9uMzMuUHlVbmljb2RlRW5jb2RlRXJyb3JfR2V0RW5kCisgIFB5VW5pY29kZUVuY29kZUVycm9yX0dldE9iamVjdD1weXRob24zMy5QeVVuaWNvZGVFbmNvZGVFcnJvcl9HZXRPYmplY3QKKyAgUHlVbmljb2RlRW5jb2RlRXJyb3JfR2V0UmVhc29uPXB5dGhvbjMzLlB5VW5pY29kZUVuY29kZUVycm9yX0dldFJlYXNvbgorICBQeVVuaWNvZGVFbmNvZGVFcnJvcl9HZXRTdGFydD1weXRob24zMy5QeVVuaWNvZGVFbmNvZGVFcnJvcl9HZXRTdGFydAorICBQeVVuaWNvZGVFbmNvZGVFcnJvcl9TZXRFbmQ9cHl0aG9uMzMuUHlVbmljb2RlRW5jb2RlRXJyb3JfU2V0RW5kCisgIFB5VW5pY29kZUVuY29kZUVycm9yX1NldFJlYXNvbj1weXRob24zMy5QeVVuaWNvZGVFbmNvZGVFcnJvcl9TZXRSZWFzb24KKyAgUHlVbmljb2RlRW5jb2RlRXJyb3JfU2V0U3RhcnQ9cHl0aG9uMzMuUHlVbmljb2RlRW5jb2RlRXJyb3JfU2V0U3RhcnQKKyAgUHlVbmljb2RlSXRlcl9UeXBlPXB5dGhvbjMzLlB5VW5pY29kZUl0ZXJfVHlwZSBEQVRBCisgIFB5VW5pY29kZVRyYW5zbGF0ZUVycm9yX0dldEVuZD1weXRob24zMy5QeVVuaWNvZGVUcmFuc2xhdGVFcnJvcl9HZXRFbmQKKyAgUHlVbmljb2RlVHJhbnNsYXRlRXJyb3JfR2V0T2JqZWN0PXB5dGhvbjMzLlB5VW5pY29kZVRyYW5zbGF0ZUVycm9yX0dldE9iamVjdAorICBQeVVuaWNvZGVUcmFuc2xhdGVFcnJvcl9HZXRSZWFzb249cHl0aG9uMzMuUHlVbmljb2RlVHJhbnNsYXRlRXJyb3JfR2V0UmVhc29uCisgIFB5VW5pY29kZVRyYW5zbGF0ZUVycm9yX0dldFN0YXJ0PXB5dGhvbjMzLlB5VW5pY29kZVRyYW5zbGF0ZUVycm9yX0dldFN0YXJ0CisgIFB5VW5pY29kZVRyYW5zbGF0ZUVycm9yX1NldEVuZD1weXRob24zMy5QeVVuaWNvZGVUcmFuc2xhdGVFcnJvcl9TZXRFbmQKKyAgUHlVbmljb2RlVHJhbnNsYXRlRXJyb3JfU2V0UmVhc29uPXB5dGhvbjMzLlB5VW5pY29kZVRyYW5zbGF0ZUVycm9yX1NldFJlYXNvbgorICBQeVVuaWNvZGVUcmFuc2xhdGVFcnJvcl9TZXRTdGFydD1weXRob24zMy5QeVVuaWNvZGVUcmFuc2xhdGVFcnJvcl9TZXRTdGFydAorICBQeVVuaWNvZGVfQXBwZW5kPXB5dGhvbjMzLlB5VW5pY29kZVVDUzJfQXBwZW5kCisgIFB5VW5pY29kZV9BcHBlbmRBbmREZWw9cHl0aG9uMzMuUHlVbmljb2RlVUNTMl9BcHBlbmRBbmREZWwKKyAgUHlVbmljb2RlX0FzQVNDSUlTdHJpbmc9cHl0aG9uMzMuUHlVbmljb2RlVUNTMl9Bc0FTQ0lJU3RyaW5nCisgIFB5VW5pY29kZV9Bc0NoYXJtYXBTdHJpbmc9cHl0aG9uMzMuUHlVbmljb2RlVUNTMl9Bc0NoYXJtYXBTdHJpbmcKKyAgUHlVbmljb2RlX0FzRGVjb2RlZE9iamVjdD1weXRob24zMy5QeVVuaWNvZGVVQ1MyX0FzRGVjb2RlZE9iamVjdAorICBQeVVuaWNvZGVfQXNEZWNvZGVkVW5pY29kZT1weXRob24zMy5QeVVuaWNvZGVVQ1MyX0FzRGVjb2RlZFVuaWNvZGUKKyAgUHlVbmljb2RlX0FzRW5jb2RlZE9iamVjdD1weXRob24zMy5QeVVuaWNvZGVVQ1MyX0FzRW5jb2RlZE9iamVjdAorICBQeVVuaWNvZGVfQXNFbmNvZGVkU3RyaW5nPXB5dGhvbjMzLlB5VW5pY29kZVVDUzJfQXNFbmNvZGVkU3RyaW5nCisgIFB5VW5pY29kZV9Bc0VuY29kZWRVbmljb2RlPXB5dGhvbjMzLlB5VW5pY29kZVVDUzJfQXNFbmNvZGVkVW5pY29kZQorICBQeVVuaWNvZGVfQXNMYXRpbjFTdHJpbmc9cHl0aG9uMzMuUHlVbmljb2RlVUNTMl9Bc0xhdGluMVN0cmluZworICBQeVVuaWNvZGVfQXNSYXdVbmljb2RlRXNjYXBlU3RyaW5nPXB5dGhvbjMzLlB5VW5pY29kZVVDUzJfQXNSYXdVbmljb2RlRXNjYXBlU3RyaW5nCisgIFB5VW5pY29kZV9Bc1VURjE2U3RyaW5nPXB5dGhvbjMzLlB5VW5pY29kZVVDUzJfQXNVVEYxNlN0cmluZworICBQeVVuaWNvZGVfQXNVVEYzMlN0cmluZz1weXRob24zMy5QeVVuaWNvZGVVQ1MyX0FzVVRGMzJTdHJpbmcKKyAgUHlVbmljb2RlX0FzVVRGOFN0cmluZz1weXRob24zMy5QeVVuaWNvZGVVQ1MyX0FzVVRGOFN0cmluZworICBQeVVuaWNvZGVfQXNVbmljb2RlRXNjYXBlU3RyaW5nPXB5dGhvbjMzLlB5VW5pY29kZVVDUzJfQXNVbmljb2RlRXNjYXBlU3RyaW5nCisgIFB5VW5pY29kZV9Bc1dpZGVDaGFyPXB5dGhvbjMzLlB5VW5pY29kZVVDUzJfQXNXaWRlQ2hhcgorICBQeVVuaWNvZGVfQ2xlYXJGcmVlbGlzdD1weXRob24zMy5QeVVuaWNvZGVVQ1MyX0NsZWFyRnJlZWxpc3QKKyAgUHlVbmljb2RlX0NvbXBhcmU9cHl0aG9uMzMuUHlVbmljb2RlVUNTMl9Db21wYXJlCisgIFB5VW5pY29kZV9Db25jYXQ9cHl0aG9uMzMuUHlVbmljb2RlVUNTMl9Db25jYXQKKyAgUHlVbmljb2RlX0NvbnRhaW5zPXB5dGhvbjMzLlB5VW5pY29kZVVDUzJfQ29udGFpbnMKKyAgUHlVbmljb2RlX0NvdW50PXB5dGhvbjMzLlB5VW5pY29kZVVDUzJfQ291bnQKKyAgUHlVbmljb2RlX0RlY29kZT1weXRob24zMy5QeVVuaWNvZGVVQ1MyX0RlY29kZQorICBQeVVuaWNvZGVfRGVjb2RlQVNDSUk9cHl0aG9uMzMuUHlVbmljb2RlVUNTMl9EZWNvZGVBU0NJSQorICBQeVVuaWNvZGVfRGVjb2RlQ2hhcm1hcD1weXRob24zMy5QeVVuaWNvZGVVQ1MyX0RlY29kZUNoYXJtYXAKKyAgUHlVbmljb2RlX0RlY29kZUZTRGVmYXVsdD1weXRob24zMy5QeVVuaWNvZGVVQ1MyX0RlY29kZUZTRGVmYXVsdAorICBQeVVuaWNvZGVfRGVjb2RlRlNEZWZhdWx0QW5kU2l6ZT1weXRob24zMy5QeVVuaWNvZGVVQ1MyX0RlY29kZUZTRGVmYXVsdEFuZFNpemUKKyAgUHlVbmljb2RlX0RlY29kZUxhdGluMT1weXRob24zMy5QeVVuaWNvZGVVQ1MyX0RlY29kZUxhdGluMQorICBQeVVuaWNvZGVfRGVjb2RlUmF3VW5pY29kZUVzY2FwZT1weXRob24zMy5QeVVuaWNvZGVVQ1MyX0RlY29kZVJhd1VuaWNvZGVFc2NhcGUKKyAgUHlVbmljb2RlX0RlY29kZVVURjE2PXB5dGhvbjMzLlB5VW5pY29kZVVDUzJfRGVjb2RlVVRGMTYKKyAgUHlVbmljb2RlX0RlY29kZVVURjE2U3RhdGVmdWw9cHl0aG9uMzMuUHlVbmljb2RlVUNTMl9EZWNvZGVVVEYxNlN0YXRlZnVsCisgIFB5VW5pY29kZV9EZWNvZGVVVEYzMj1weXRob24zMy5QeVVuaWNvZGVVQ1MyX0RlY29kZVVURjMyCisgIFB5VW5pY29kZV9EZWNvZGVVVEYzMlN0YXRlZnVsPXB5dGhvbjMzLlB5VW5pY29kZVVDUzJfRGVjb2RlVVRGMzJTdGF0ZWZ1bAorICBQeVVuaWNvZGVfRGVjb2RlVVRGOD1weXRob24zMy5QeVVuaWNvZGVVQ1MyX0RlY29kZVVURjgKKyAgUHlVbmljb2RlX0RlY29kZVVURjhTdGF0ZWZ1bD1weXRob24zMy5QeVVuaWNvZGVVQ1MyX0RlY29kZVVURjhTdGF0ZWZ1bAorICBQeVVuaWNvZGVfRGVjb2RlVW5pY29kZUVzY2FwZT1weXRob24zMy5QeVVuaWNvZGVVQ1MyX0RlY29kZVVuaWNvZGVFc2NhcGUKKyAgUHlVbmljb2RlX0ZTQ29udmVydGVyPXB5dGhvbjMzLlB5VW5pY29kZVVDUzJfRlNDb252ZXJ0ZXIKKyAgUHlVbmljb2RlX0ZTRGVjb2Rlcj1weXRob24zMy5QeVVuaWNvZGVVQ1MyX0ZTRGVjb2RlcgorICBQeVVuaWNvZGVfRmluZD1weXRob24zMy5QeVVuaWNvZGVVQ1MyX0ZpbmQKKyAgUHlVbmljb2RlX0Zvcm1hdD1weXRob24zMy5QeVVuaWNvZGVVQ1MyX0Zvcm1hdAorICBQeVVuaWNvZGVfRnJvbUVuY29kZWRPYmplY3Q9cHl0aG9uMzMuUHlVbmljb2RlVUNTMl9Gcm9tRW5jb2RlZE9iamVjdAorICBQeVVuaWNvZGVfRnJvbUZvcm1hdD1weXRob24zMy5QeVVuaWNvZGVVQ1MyX0Zyb21Gb3JtYXQKKyAgUHlVbmljb2RlX0Zyb21Gb3JtYXRWPXB5dGhvbjMzLlB5VW5pY29kZVVDUzJfRnJvbUZvcm1hdFYKKyAgUHlVbmljb2RlX0Zyb21PYmplY3Q9cHl0aG9uMzMuUHlVbmljb2RlVUNTMl9Gcm9tT2JqZWN0CisgIFB5VW5pY29kZV9Gcm9tT3JkaW5hbD1weXRob24zMy5QeVVuaWNvZGVVQ1MyX0Zyb21PcmRpbmFsCisgIFB5VW5pY29kZV9Gcm9tU3RyaW5nPXB5dGhvbjMzLlB5VW5pY29kZVVDUzJfRnJvbVN0cmluZworICBQeVVuaWNvZGVfRnJvbVN0cmluZ0FuZFNpemU9cHl0aG9uMzMuUHlVbmljb2RlVUNTMl9Gcm9tU3RyaW5nQW5kU2l6ZQorICBQeVVuaWNvZGVfRnJvbVdpZGVDaGFyPXB5dGhvbjMzLlB5VW5pY29kZVVDUzJfRnJvbVdpZGVDaGFyCisgIFB5VW5pY29kZV9HZXREZWZhdWx0RW5jb2Rpbmc9cHl0aG9uMzMuUHlVbmljb2RlVUNTMl9HZXREZWZhdWx0RW5jb2RpbmcKKyAgUHlVbmljb2RlX0dldFNpemU9cHl0aG9uMzMuUHlVbmljb2RlVUNTMl9HZXRTaXplCisgIFB5VW5pY29kZV9Jc0lkZW50aWZpZXI9cHl0aG9uMzMuUHlVbmljb2RlVUNTMl9Jc0lkZW50aWZpZXIKKyAgUHlVbmljb2RlX0pvaW49cHl0aG9uMzMuUHlVbmljb2RlVUNTMl9Kb2luCisgIFB5VW5pY29kZV9QYXJ0aXRpb249cHl0aG9uMzMuUHlVbmljb2RlVUNTMl9QYXJ0aXRpb24KKyAgUHlVbmljb2RlX1JQYXJ0aXRpb249cHl0aG9uMzMuUHlVbmljb2RlVUNTMl9SUGFydGl0aW9uCisgIFB5VW5pY29kZV9SU3BsaXQ9cHl0aG9uMzMuUHlVbmljb2RlVUNTMl9SU3BsaXQKKyAgUHlVbmljb2RlX1JlcGxhY2U9cHl0aG9uMzMuUHlVbmljb2RlVUNTMl9SZXBsYWNlCisgIFB5VW5pY29kZV9SZXNpemU9cHl0aG9uMzMuUHlVbmljb2RlVUNTMl9SZXNpemUKKyAgUHlVbmljb2RlX1JpY2hDb21wYXJlPXB5dGhvbjMzLlB5VW5pY29kZVVDUzJfUmljaENvbXBhcmUKKyAgUHlVbmljb2RlX1NldERlZmF1bHRFbmNvZGluZz1weXRob24zMy5QeVVuaWNvZGVVQ1MyX1NldERlZmF1bHRFbmNvZGluZworICBQeVVuaWNvZGVfU3BsaXQ9cHl0aG9uMzMuUHlVbmljb2RlVUNTMl9TcGxpdAorICBQeVVuaWNvZGVfU3BsaXRsaW5lcz1weXRob24zMy5QeVVuaWNvZGVVQ1MyX1NwbGl0bGluZXMKKyAgUHlVbmljb2RlX1RhaWxtYXRjaD1weXRob24zMy5QeVVuaWNvZGVVQ1MyX1RhaWxtYXRjaAorICBQeVVuaWNvZGVfVHJhbnNsYXRlPXB5dGhvbjMzLlB5VW5pY29kZVVDUzJfVHJhbnNsYXRlCisgIFB5VW5pY29kZV9CdWlsZEVuY29kaW5nTWFwPXB5dGhvbjMzLlB5VW5pY29kZV9CdWlsZEVuY29kaW5nTWFwCisgIFB5VW5pY29kZV9Db21wYXJlV2l0aEFTQ0lJU3RyaW5nPXB5dGhvbjMzLlB5VW5pY29kZV9Db21wYXJlV2l0aEFTQ0lJU3RyaW5nCisgIFB5VW5pY29kZV9EZWNvZGVVVEY3PXB5dGhvbjMzLlB5VW5pY29kZV9EZWNvZGVVVEY3CisgIFB5VW5pY29kZV9EZWNvZGVVVEY3U3RhdGVmdWw9cHl0aG9uMzMuUHlVbmljb2RlX0RlY29kZVVURjdTdGF0ZWZ1bAorICBQeVVuaWNvZGVfRW5jb2RlRlNEZWZhdWx0PXB5dGhvbjMzLlB5VW5pY29kZV9FbmNvZGVGU0RlZmF1bHQKKyAgUHlVbmljb2RlX0ludGVybkZyb21TdHJpbmc9cHl0aG9uMzMuUHlVbmljb2RlX0ludGVybkZyb21TdHJpbmcKKyAgUHlVbmljb2RlX0ludGVybkltbW9ydGFsPXB5dGhvbjMzLlB5VW5pY29kZV9JbnRlcm5JbW1vcnRhbAorICBQeVVuaWNvZGVfSW50ZXJuSW5QbGFjZT1weXRob24zMy5QeVVuaWNvZGVfSW50ZXJuSW5QbGFjZQorICBQeVVuaWNvZGVfVHlwZT1weXRob24zMy5QeVVuaWNvZGVfVHlwZSBEQVRBCisgIFB5V2Vha3JlZl9HZXRPYmplY3Q9cHl0aG9uMzMuUHlXZWFrcmVmX0dldE9iamVjdCBEQVRBCisgIFB5V2Vha3JlZl9OZXdQcm94eT1weXRob24zMy5QeVdlYWtyZWZfTmV3UHJveHkKKyAgUHlXZWFrcmVmX05ld1JlZj1weXRob24zMy5QeVdlYWtyZWZfTmV3UmVmCisgIFB5V3JhcHBlckRlc2NyX1R5cGU9cHl0aG9uMzMuUHlXcmFwcGVyRGVzY3JfVHlwZSBEQVRBCisgIFB5V3JhcHBlcl9OZXc9cHl0aG9uMzMuUHlXcmFwcGVyX05ldworICBQeVppcF9UeXBlPXB5dGhvbjMzLlB5WmlwX1R5cGUgREFUQQorICBQeV9BZGRQZW5kaW5nQ2FsbD1weXRob24zMy5QeV9BZGRQZW5kaW5nQ2FsbAorICBQeV9BdEV4aXQ9cHl0aG9uMzMuUHlfQXRFeGl0CisgIFB5X0J1aWxkVmFsdWU9cHl0aG9uMzMuUHlfQnVpbGRWYWx1ZQorICBQeV9Db21waWxlU3RyaW5nPXB5dGhvbjMzLlB5X0NvbXBpbGVTdHJpbmcKKyAgUHlfRGVjUmVmPXB5dGhvbjMzLlB5X0RlY1JlZgorICBQeV9FbmRJbnRlcnByZXRlcj1weXRob24zMy5QeV9FbmRJbnRlcnByZXRlcgorICBQeV9FeGl0PXB5dGhvbjMzLlB5X0V4aXQKKyAgUHlfRmF0YWxFcnJvcj1weXRob24zMy5QeV9GYXRhbEVycm9yCisgIFB5X0ZpbGVTeXN0ZW1EZWZhdWx0RW5jb2Rpbmc9cHl0aG9uMzMuUHlfRmlsZVN5c3RlbURlZmF1bHRFbmNvZGluZyBEQVRBCisgIFB5X0ZpbmFsaXplPXB5dGhvbjMzLlB5X0ZpbmFsaXplCisgIFB5X0dldEJ1aWxkSW5mbz1weXRob24zMy5QeV9HZXRCdWlsZEluZm8KKyAgUHlfR2V0Q29tcGlsZXI9cHl0aG9uMzMuUHlfR2V0Q29tcGlsZXIKKyAgUHlfR2V0Q29weXJpZ2h0PXB5dGhvbjMzLlB5X0dldENvcHlyaWdodAorICBQeV9HZXRFeGVjUHJlZml4PXB5dGhvbjMzLlB5X0dldEV4ZWNQcmVmaXgKKyAgUHlfR2V0UGF0aD1weXRob24zMy5QeV9HZXRQYXRoCisgIFB5X0dldFBsYXRmb3JtPXB5dGhvbjMzLlB5X0dldFBsYXRmb3JtCisgIFB5X0dldFByZWZpeD1weXRob24zMy5QeV9HZXRQcmVmaXgKKyAgUHlfR2V0UHJvZ3JhbUZ1bGxQYXRoPXB5dGhvbjMzLlB5X0dldFByb2dyYW1GdWxsUGF0aAorICBQeV9HZXRQcm9ncmFtTmFtZT1weXRob24zMy5QeV9HZXRQcm9ncmFtTmFtZQorICBQeV9HZXRQeXRob25Ib21lPXB5dGhvbjMzLlB5X0dldFB5dGhvbkhvbWUKKyAgUHlfR2V0UmVjdXJzaW9uTGltaXQ9cHl0aG9uMzMuUHlfR2V0UmVjdXJzaW9uTGltaXQKKyAgUHlfR2V0VmVyc2lvbj1weXRob24zMy5QeV9HZXRWZXJzaW9uCisgIFB5X0hhc0ZpbGVTeXN0ZW1EZWZhdWx0RW5jb2Rpbmc9cHl0aG9uMzMuUHlfSGFzRmlsZVN5c3RlbURlZmF1bHRFbmNvZGluZyBEQVRBCisgIFB5X0luY1JlZj1weXRob24zMy5QeV9JbmNSZWYKKyAgUHlfSW5pdGlhbGl6ZT1weXRob24zMy5QeV9Jbml0aWFsaXplCisgIFB5X0luaXRpYWxpemVFeD1weXRob24zMy5QeV9Jbml0aWFsaXplRXgKKyAgUHlfSXNJbml0aWFsaXplZD1weXRob24zMy5QeV9Jc0luaXRpYWxpemVkCisgIFB5X01haW49cHl0aG9uMzMuUHlfTWFpbgorICBQeV9NYWtlUGVuZGluZ0NhbGxzPXB5dGhvbjMzLlB5X01ha2VQZW5kaW5nQ2FsbHMKKyAgUHlfTmV3SW50ZXJwcmV0ZXI9cHl0aG9uMzMuUHlfTmV3SW50ZXJwcmV0ZXIKKyAgUHlfUmVwckVudGVyPXB5dGhvbjMzLlB5X1JlcHJFbnRlcgorICBQeV9SZXByTGVhdmU9cHl0aG9uMzMuUHlfUmVwckxlYXZlCisgIFB5X1NldFByb2dyYW1OYW1lPXB5dGhvbjMzLlB5X1NldFByb2dyYW1OYW1lCisgIFB5X1NldFB5dGhvbkhvbWU9cHl0aG9uMzMuUHlfU2V0UHl0aG9uSG9tZQorICBQeV9TZXRSZWN1cnNpb25MaW1pdD1weXRob24zMy5QeV9TZXRSZWN1cnNpb25MaW1pdAorICBQeV9TeW10YWJsZVN0cmluZz1weXRob24zMy5QeV9TeW10YWJsZVN0cmluZworICBQeV9WYUJ1aWxkVmFsdWU9cHl0aG9uMzMuUHlfVmFCdWlsZFZhbHVlCisgIF9QeUVycl9CYWRJbnRlcm5hbENhbGw9cHl0aG9uMzMuX1B5RXJyX0JhZEludGVybmFsQ2FsbAorICBfUHlPYmplY3RfQ2FsbEZ1bmN0aW9uX1NpemVUPXB5dGhvbjMzLl9QeU9iamVjdF9DYWxsRnVuY3Rpb25fU2l6ZVQKKyAgX1B5T2JqZWN0X0NhbGxNZXRob2RfU2l6ZVQ9cHl0aG9uMzMuX1B5T2JqZWN0X0NhbGxNZXRob2RfU2l6ZVQKKyAgX1B5T2JqZWN0X0dDX01hbGxvYz1weXRob24zMy5fUHlPYmplY3RfR0NfTWFsbG9jCisgIF9QeU9iamVjdF9HQ19OZXc9cHl0aG9uMzMuX1B5T2JqZWN0X0dDX05ldworICBfUHlPYmplY3RfR0NfTmV3VmFyPXB5dGhvbjMzLl9QeU9iamVjdF9HQ19OZXdWYXIKKyAgX1B5T2JqZWN0X0dDX1Jlc2l6ZT1weXRob24zMy5fUHlPYmplY3RfR0NfUmVzaXplCisgIF9QeU9iamVjdF9OZXc9cHl0aG9uMzMuX1B5T2JqZWN0X05ldworICBfUHlPYmplY3RfTmV3VmFyPXB5dGhvbjMzLl9QeU9iamVjdF9OZXdWYXIKKyAgX1B5U3RhdGVfQWRkTW9kdWxlPXB5dGhvbjMzLl9QeVN0YXRlX0FkZE1vZHVsZQorICBfUHlUaHJlYWRTdGF0ZV9Jbml0PXB5dGhvbjMzLl9QeVRocmVhZFN0YXRlX0luaXQKKyAgX1B5VGhyZWFkU3RhdGVfUHJlYWxsb2M9cHl0aG9uMzMuX1B5VGhyZWFkU3RhdGVfUHJlYWxsb2MKKyAgX1B5VHJhc2hfZGVsZXRlX2xhdGVyPXB5dGhvbjMzLl9QeVRyYXNoX2RlbGV0ZV9sYXRlciBEQVRBCisgIF9QeVRyYXNoX2RlbGV0ZV9uZXN0aW5nPXB5dGhvbjMzLl9QeVRyYXNoX2RlbGV0ZV9uZXN0aW5nIERBVEEKKyAgX1B5VHJhc2hfZGVwb3NpdF9vYmplY3Q9cHl0aG9uMzMuX1B5VHJhc2hfZGVwb3NpdF9vYmplY3QKKyAgX1B5VHJhc2hfZGVzdHJveV9jaGFpbj1weXRob24zMy5fUHlUcmFzaF9kZXN0cm95X2NoYWluCisgIF9QeVdlYWtyZWZfQ2FsbGFibGVQcm94eVR5cGU9cHl0aG9uMzMuX1B5V2Vha3JlZl9DYWxsYWJsZVByb3h5VHlwZSBEQVRBCisgIF9QeVdlYWtyZWZfUHJveHlUeXBlPXB5dGhvbjMzLl9QeVdlYWtyZWZfUHJveHlUeXBlIERBVEEKKyAgX1B5V2Vha3JlZl9SZWZUeXBlPXB5dGhvbjMzLl9QeVdlYWtyZWZfUmVmVHlwZSBEQVRBCisgIF9QeV9CdWlsZFZhbHVlX1NpemVUPXB5dGhvbjMzLl9QeV9CdWlsZFZhbHVlX1NpemVUCisgIF9QeV9DaGVja1JlY3Vyc2lvbkxpbWl0PXB5dGhvbjMzLl9QeV9DaGVja1JlY3Vyc2lvbkxpbWl0IERBVEEKKyAgX1B5X0NoZWNrUmVjdXJzaXZlQ2FsbD1weXRob24zMy5fUHlfQ2hlY2tSZWN1cnNpdmVDYWxsCisgIF9QeV9EZWFsbG9jPXB5dGhvbjMzLl9QeV9EZWFsbG9jCisgIF9QeV9FbGxpcHNpc09iamVjdD1weXRob24zMy5fUHlfRWxsaXBzaXNPYmplY3QgREFUQQorICBfUHlfRmFsc2VTdHJ1Y3Q9cHl0aG9uMzMuX1B5X0ZhbHNlU3RydWN0IERBVEEKKyAgX1B5X05vbmVTdHJ1Y3Q9cHl0aG9uMzMuX1B5X05vbmVTdHJ1Y3QgREFUQQorICBfUHlfTm90SW1wbGVtZW50ZWRTdHJ1Y3Q9cHl0aG9uMzMuX1B5X05vdEltcGxlbWVudGVkU3RydWN0IERBVEEKKyAgX1B5X1N3YXBwZWRPcD1weXRob24zMy5fUHlfU3dhcHBlZE9wIERBVEEKKyAgX1B5X1RydWVTdHJ1Y3Q9cHl0aG9uMzMuX1B5X1RydWVTdHJ1Y3QgREFUQQorICBfUHlfVmFCdWlsZFZhbHVlX1NpemVUPXB5dGhvbjMzLl9QeV9WYUJ1aWxkVmFsdWVfU2l6ZVQKZGlmZiAtLWdpdCBhL1BDL3B5dGhvbjMubWFrIGIvUEMvcHl0aG9uMy5tYWsKaW5kZXggMjU2MTY3Zi4uY2U2NWZiYSAxMDA2NDQKLS0tIGEvUEMvcHl0aG9uMy5tYWsKKysrIGIvUEMvcHl0aG9uMy5tYWsKQEAgLTEsMTAgKzEsMTAgQEAKLSQoT3V0RGlyKXB5dGhvbjMyLmRsbDoJcHl0aG9uMy5kZWYgJChPdXREaXIpcHl0aG9uMzJzdHViLmxpYgotCWNsIC9MRCAvRmUkKE91dERpcilweXRob24zLmRsbCBweXRob24zZGxsLmMgcHl0aG9uMy5kZWYgJChPdXREaXIpcHl0aG9uMzJzdHViLmxpYgorJChPdXREaXIpcHl0aG9uMzMuZGxsOglweXRob24zLmRlZiAkKE91dERpcilweXRob24zM3N0dWIubGliCisJY2wgL0xEIC9GZSQoT3V0RGlyKXB5dGhvbjMuZGxsIHB5dGhvbjNkbGwuYyBweXRob24zLmRlZiAkKE91dERpcilweXRob24zM3N0dWIubGliCiAKLSQoT3V0RGlyKXB5dGhvbjMyc3R1Yi5saWI6CXB5dGhvbjMyc3R1Yi5kZWYKLQlsaWIgL2RlZjpweXRob24zMnN0dWIuZGVmIC9vdXQ6JChPdXREaXIpcHl0aG9uMzJzdHViLmxpYiAvTUFDSElORTokKE1BQ0hJTkUpCiskKE91dERpcilweXRob24zM3N0dWIubGliOglweXRob24zM3N0dWIuZGVmCisJbGliIC9kZWY6cHl0aG9uMzNzdHViLmRlZiAvb3V0OiQoT3V0RGlyKXB5dGhvbjMzc3R1Yi5saWIgL01BQ0hJTkU6JChNQUNISU5FKQogCiBjbGVhbjoKLQlkZWwgJChPdXREaXIpcHl0aG9uMy5kbGwgJChPdXREaXIpcHl0aG9uMy5saWIgJChPdXREaXIpcHl0aG9uMzJzdHViLmxpYiAkKE91dERpcilweXRob24zLmV4cCAkKE91dERpcilweXRob24zMnN0dWIuZXhwCisJZGVsICQoT3V0RGlyKXB5dGhvbjMuZGxsICQoT3V0RGlyKXB5dGhvbjMubGliICQoT3V0RGlyKXB5dGhvbjMzc3R1Yi5saWIgJChPdXREaXIpcHl0aG9uMy5leHAgJChPdXREaXIpcHl0aG9uMzNzdHViLmV4cAogCi1yZWJ1aWxkOiBjbGVhbiAkKE91dERpcilweXRob24zMi5kbGwKK3JlYnVpbGQ6IGNsZWFuICQoT3V0RGlyKXB5dGhvbjMzLmRsbApkaWZmIC0tZ2l0IGEvUEMvcHl0aG9uMzJnZW4ucHkgYi9QQy9weXRob24zM2dlbi5weQpzaW1pbGFyaXR5IGluZGV4IDc0JQpyZW5hbWUgZnJvbSBQQy9weXRob24zMmdlbi5weQpyZW5hbWUgdG8gUEMvcHl0aG9uMzNnZW4ucHkKaW5kZXggOTE4MmQ1NC4uYTg1ZjQxNyAxMDA2NDQKLS0tIGEvUEMvcHl0aG9uMzJnZW4ucHkKKysrIGIvUEMvcHl0aG9uMzNnZW4ucHkKQEAgLTEsOSArMSw5IEBACi0jIEdlbmVyYXRlIHB5dGhvbjMyc3R1Yi5kZWYgb3V0IG9mIHB5dGhvbjMuZGVmCisjIEdlbmVyYXRlIHB5dGhvbjMzc3R1Yi5kZWYgb3V0IG9mIHB5dGhvbjMuZGVmCiAjIFRoZSByZWd1bGFyIGltcG9ydCBsaWJyYXJ5IGNhbm5vdCBiZSB1c2VkLAogIyBzaW5jZSBpdCBkb2Vzbid0IHByb3ZpZGUgdGhlIHJpZ2h0IHN5bWJvbHMgZm9yCiAjIGRhdGEgZm9yd2FyZGluZwotb3V0ID0gb3BlbigicHl0aG9uMzJzdHViLmRlZiIsICJ3IikKLW91dC53cml0ZSgnTElCUkFSWSAicHl0aG9uMzIiXG4nKQorb3V0ID0gb3BlbigicHl0aG9uMzNzdHViLmRlZiIsICJ3IikKK291dC53cml0ZSgnTElCUkFSWSAicHl0aG9uMzMiXG4nKQogb3V0LndyaXRlKCdFWFBPUlRTXG4nKQogCiBpbnAgPSBvcGVuKCJweXRob24zLmRlZiIpCkBAIC0xMiw3ICsxMiw3IEBACiBhc3NlcnQgbGluZS5zdHJpcCgpPT0nRVhQT1JUUycKIAogZm9yIGxpbmUgaW4gaW5wOgotICAgICMgU1lNMT1weXRob24zMi5TWU0yWyBEQVRBXQorICAgICMgU1lNMT1weXRob24zMy5TWU0yWyBEQVRBXQogICAgIGhlYWQsIHRhaWwgPSBsaW5lLnNwbGl0KCcuJykKICAgICBpZiAnREFUQScgaW4gdGFpbDoKICAgICAgICAgc3ltYm9sLCB0YWlsID0gdGFpbC5zcGxpdCgnICcpCkBAIC0yMiw0ICsyMiwzIEBACiAKIGlucC5jbG9zZSgpCiBvdXQuY2xvc2UoKQotCmRpZmYgLS1naXQgYS9QQy9weXRob24zMnN0dWIuZGVmIGIvUEMvcHl0aG9uMzNzdHViLmRlZgpzaW1pbGFyaXR5IGluZGV4IDk5JQpyZW5hbWUgZnJvbSBQQy9weXRob24zMnN0dWIuZGVmCnJlbmFtZSB0byBQQy9weXRob24zM3N0dWIuZGVmCmluZGV4IDA5NDNlZjAuLjZlNGVkOWYgMTAwNjQ0Ci0tLSBhL1BDL3B5dGhvbjMyc3R1Yi5kZWYKKysrIGIvUEMvcHl0aG9uMzNzdHViLmRlZgpAQCAtMSw0ICsxLDQgQEAKLUxJQlJBUlkgInB5dGhvbjMyIgorTElCUkFSWSAicHl0aG9uMzMiCiBFWFBPUlRTCiBQeUFyZ19QYXJzZQogUHlBcmdfUGFyc2VUdXBsZQpkaWZmIC0tZ2l0IGEvUEMvcHl0aG9uX250LnJjIGIvUEMvcHl0aG9uX250LnJjCmluZGV4IDUyOTU2MTAuLjUwMTBiYWEgMTAwNjQ0Ci0tLSBhL1BDL3B5dGhvbl9udC5yYworKysgYi9QQy9weXRob25fbnQucmMKQEAgLTEyLDcgKzEyLDcgQEAKICMgICBpbmNsdWRlICJweXRob25udF9yYy5oIgogI2VuZGlmCiAKLS8qIGUuZy4sIDIuMWEyCisvKiBlLmcuLCAzLjMuMGExCiAgKiBQWV9WRVJTSU9OIGNvbWVzIGZyb20gcGF0Y2hldmVsLmgKICAqLwogI2RlZmluZSBQWVRIT05fVkVSU0lPTiBQWV9WRVJTSU9OICJcMCIKZGlmZiAtLWdpdCBhL1BDL3dpbnJlZy5jIGIvUEMvd2lucmVnLmMKaW5kZXggMWJjNDdiOS4uNDUxY2VkMiAxMDA2NDQKLS0tIGEvUEMvd2lucmVnLmMKKysrIGIvUEMvd2lucmVnLmMKQEAgLTc2MCwyNiArNzYwLDI3IEBACiAgICAgICAgIGNhc2UgUkVHX1NaOgogICAgICAgICBjYXNlIFJFR19FWFBBTkRfU1o6CiAgICAgICAgICAgICB7Ci0gICAgICAgICAgICBpZiAodmFsdWUgPT0gUHlfTm9uZSkKLSAgICAgICAgICAgICAgICAqcmV0RGF0YVNpemUgPSAxOwotICAgICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICAgICAgaWYgKCFQeVVuaWNvZGVfQ2hlY2sodmFsdWUpKQotICAgICAgICAgICAgICAgICAgICByZXR1cm4gRkFMU0U7Ci0gICAgICAgICAgICAgICAgKnJldERhdGFTaXplID0gUHlfU0FGRV9ET1dOQ0FTVCgKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMiArIFB5VW5pY29kZV9HRVRfREFUQV9TSVpFKHZhbHVlKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90LCBEV09SRCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAqcmV0RGF0YUJ1ZiA9IChCWVRFICopUHlNZW1fTkVXKERXT1JELCAqcmV0RGF0YVNpemUpOwotICAgICAgICAgICAgaWYgKCpyZXREYXRhQnVmPT1OVUxMKXsKLSAgICAgICAgICAgICAgICBQeUVycl9Ob01lbW9yeSgpOwotICAgICAgICAgICAgICAgIHJldHVybiBGQUxTRTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlmICh2YWx1ZSA9PSBQeV9Ob25lKQotICAgICAgICAgICAgICAgIHdjc2NweSgod2NoYXJfdCAqKSpyZXREYXRhQnVmLCBMIiIpOwotICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIHdjc2NweSgod2NoYXJfdCAqKSpyZXREYXRhQnVmLAotICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfQVNfVU5JQ09ERSh2YWx1ZSkpOwotICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgaWYgKHZhbHVlICE9IFB5X05vbmUpIHsKKyAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBsZW47CisgICAgICAgICAgICAgICAgICAgIGlmICghUHlVbmljb2RlX0NoZWNrKHZhbHVlKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBGQUxTRTsKKyAgICAgICAgICAgICAgICAgICAgKnJldERhdGFCdWYgPSAoQllURSopUHlVbmljb2RlX0FzV2lkZUNoYXJTdHJpbmcodmFsdWUsICZsZW4pOworICAgICAgICAgICAgICAgICAgICBpZiAoKnJldERhdGFCdWYgPT0gTlVMTCkKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBGQUxTRTsKKyAgICAgICAgICAgICAgICAgICAgKnJldERhdGFTaXplID0gUHlfU0FGRV9ET1dOQ0FTVCgKKyAgICAgICAgICAgICAgICAgICAgICAgIChsZW4gKyAxKSAqIHNpemVvZih3Y2hhcl90KSwKKyAgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3QsIERXT1JEKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgZWxzZSB7CisgICAgICAgICAgICAgICAgICAgICpyZXREYXRhQnVmID0gKEJZVEUgKilQeU1lbV9ORVcod2NoYXJfdCwgMSk7CisgICAgICAgICAgICAgICAgICAgIGlmICgqcmV0RGF0YUJ1ZiA9PSBOVUxMKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBQeUVycl9Ob01lbW9yeSgpOworICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEZBTFNFOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICgod2NoYXJfdCAqKSpyZXREYXRhQnVmKVswXSA9IEwnXDAnOworICAgICAgICAgICAgICAgICAgICAqcmV0RGF0YVNpemUgPSAxICogc2l6ZW9mKHdjaGFyX3QpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0KICAgICAgICAgY2FzZSBSRUdfTVVMVElfU1o6CiAgICAgICAgICAgICB7CkBAIC03OTYsMTAgKzc5NywxNiBAQAogICAgICAgICAgICAgICAgIGZvciAoaiA9IDA7IGogPCBpOyBqKyspCiAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICBQeU9iamVjdCAqdDsKKyAgICAgICAgICAgICAgICAgICAgd2NoYXJfdCAqd3N0cjsKKyAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBsZW47CisKICAgICAgICAgICAgICAgICAgICAgdCA9IFB5TGlzdF9HRVRfSVRFTSh2YWx1ZSwgaik7CiAgICAgICAgICAgICAgICAgICAgIGlmICghUHlVbmljb2RlX0NoZWNrKHQpKQogICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEZBTFNFOwotICAgICAgICAgICAgICAgICAgICBzaXplICs9IFB5X1NBRkVfRE9XTkNBU1QoMiArIFB5VW5pY29kZV9HRVRfREFUQV9TSVpFKHQpLAorICAgICAgICAgICAgICAgICAgICB3c3RyID0gUHlVbmljb2RlX0FzVW5pY29kZUFuZFNpemUodCwgJmxlbik7CisgICAgICAgICAgICAgICAgICAgIGlmICh3c3RyID09IE5VTEwpCisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gRkFMU0U7CisgICAgICAgICAgICAgICAgICAgIHNpemUgKz0gUHlfU0FGRV9ET1dOQ0FTVCgobGVuICsgMSkgKiBzaXplb2Yod2NoYXJfdCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QsIERXT1JEKTsKICAgICAgICAgICAgICAgICB9CiAKQEAgLTgxNSwxMCArODIyLDE1IEBACiAgICAgICAgICAgICAgICAgZm9yIChqID0gMDsgaiA8IGk7IGorKykKICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgIFB5T2JqZWN0ICp0OworICAgICAgICAgICAgICAgICAgICB3Y2hhcl90ICp3c3RyOworICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IGxlbjsKKwogICAgICAgICAgICAgICAgICAgICB0ID0gUHlMaXN0X0dFVF9JVEVNKHZhbHVlLCBqKTsKLSAgICAgICAgICAgICAgICAgICAgd2NzY3B5KFAsIFB5VW5pY29kZV9BU19VTklDT0RFKHQpKTsKLSAgICAgICAgICAgICAgICAgICAgUCArPSAxICsgd2NzbGVuKAotICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0FTX1VOSUNPREUodCkpOworICAgICAgICAgICAgICAgICAgICB3c3RyID0gUHlVbmljb2RlX0FzVW5pY29kZUFuZFNpemUodCwgJmxlbik7CisgICAgICAgICAgICAgICAgICAgIGlmICh3c3RyID09IE5VTEwpCisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gRkFMU0U7CisgICAgICAgICAgICAgICAgICAgIHdjc2NweShQLCB3c3RyKTsKKyAgICAgICAgICAgICAgICAgICAgUCArPSAobGVuICsgMSk7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIC8qIEFuZCBkb3VibHktdGVybWluYXRlIHRoZSBsaXN0Li4uICovCiAgICAgICAgICAgICAgICAgKlAgPSAnXDAnOwpAQCAtODgyLDcgKzg5NCw3IEBACiAgICAgICAgICAgICAgICAgICAgIHJldERhdGFTaXplIC09IDI7CiAgICAgICAgICAgICAgICAgaWYgKHJldERhdGFTaXplIDw9IDApCiAgICAgICAgICAgICAgICAgICAgIGRhdGEgPSBMIiI7Ci0gICAgICAgICAgICAgICAgb2JEYXRhID0gUHlVbmljb2RlX0Zyb21Vbmljb2RlKGRhdGEsIHJldERhdGFTaXplLzIpOworICAgICAgICAgICAgICAgIG9iRGF0YSA9IFB5VW5pY29kZV9Gcm9tV2lkZUNoYXIoZGF0YSwgcmV0RGF0YVNpemUvMik7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9CiAgICAgICAgIGNhc2UgUkVHX01VTFRJX1NaOgpAQCAtOTEzLDcgKzkyNSw3IEBACiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgUHlMaXN0X1NldEl0ZW0ob2JEYXRhLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRleCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0Zyb21Vbmljb2RlKHN0cltpbmRleF0sIGxlbikpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfRnJvbVdpZGVDaGFyKHN0cltpbmRleF0sIGxlbikpOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBmcmVlKHN0cik7CiAKQEAgLTEwNTQsNyArMTA2Niw3IEBACiAKICAgICAvKiBPbmx5IGF2YWlsYWJsZSBvbiA2NGJpdCBwbGF0Zm9ybXMsIHNvIHdlIG11c3QgbG9hZCBpdAogICAgICAgIGR5bmFtaWNhbGx5LiAqLwotICAgIGhNb2QgPSBHZXRNb2R1bGVIYW5kbGUoImFkdmFwaTMyLmRsbCIpOworICAgIGhNb2QgPSBHZXRNb2R1bGVIYW5kbGVXKEwiYWR2YXBpMzIuZGxsIik7CiAgICAgaWYgKGhNb2QpCiAgICAgICAgIHBmbiA9IChSREtFRnVuYylHZXRQcm9jQWRkcmVzcyhoTW9kLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJSZWdEZWxldGVLZXlFeFciKTsKQEAgLTExMjMsNyArMTEzNSw3IEBACiAgICAgaWYgKHJjICE9IEVSUk9SX1NVQ0NFU1MpCiAgICAgICAgIHJldHVybiBQeUVycl9TZXRGcm9tV2luZG93c0VycldpdGhGdW5jdGlvbihyYywgIlJlZ0VudW1LZXlFeCIpOwogCi0gICAgcmV0U3RyID0gUHlVbmljb2RlX0Zyb21Vbmljb2RlKHRtcGJ1ZiwgbGVuKTsKKyAgICByZXRTdHIgPSBQeVVuaWNvZGVfRnJvbVdpZGVDaGFyKHRtcGJ1ZiwgbGVuKTsKICAgICByZXR1cm4gcmV0U3RyOyAgLyogY2FuIGJlIE5VTEwgKi8KIH0KIApAQCAtMTIxNSw4ICsxMjI3LDggQEAKIHN0YXRpYyBQeU9iamVjdCAqCiBQeUV4cGFuZEVudmlyb25tZW50U3RyaW5ncyhQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCiB7Ci0gICAgUHlfVU5JQ09ERSAqcmV0VmFsdWUgPSBOVUxMOwotICAgIFB5X1VOSUNPREUgKnNyYzsKKyAgICB3Y2hhcl90ICpyZXRWYWx1ZSA9IE5VTEw7CisgICAgd2NoYXJfdCAqc3JjOwogICAgIERXT1JEIHJldFZhbHVlU2l6ZTsKICAgICBEV09SRCByYzsKICAgICBQeU9iamVjdCAqbzsKQEAgLTEyMjksNyArMTI0MSw3IEBACiAgICAgICAgIHJldHVybiBQeUVycl9TZXRGcm9tV2luZG93c0VycldpdGhGdW5jdGlvbihyZXRWYWx1ZVNpemUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkV4cGFuZEVudmlyb25tZW50U3RyaW5ncyIpOwogICAgIH0KLSAgICByZXRWYWx1ZSA9IChQeV9VTklDT0RFICopUHlNZW1fTWFsbG9jKHJldFZhbHVlU2l6ZSAqIHNpemVvZihQeV9VTklDT0RFKSk7CisgICAgcmV0VmFsdWUgPSAod2NoYXJfdCAqKVB5TWVtX01hbGxvYyhyZXRWYWx1ZVNpemUgKiBzaXplb2Yod2NoYXJfdCkpOwogICAgIGlmIChyZXRWYWx1ZSA9PSBOVUxMKSB7CiAgICAgICAgIHJldHVybiBQeUVycl9Ob01lbW9yeSgpOwogICAgIH0KQEAgLTEyNDAsNyArMTI1Miw3IEBACiAgICAgICAgIHJldHVybiBQeUVycl9TZXRGcm9tV2luZG93c0VycldpdGhGdW5jdGlvbihyZXRWYWx1ZVNpemUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkV4cGFuZEVudmlyb25tZW50U3RyaW5ncyIpOwogICAgIH0KLSAgICBvID0gUHlVbmljb2RlX0Zyb21Vbmljb2RlKHJldFZhbHVlLCB3Y3NsZW4ocmV0VmFsdWUpKTsKKyAgICBvID0gUHlVbmljb2RlX0Zyb21XaWRlQ2hhcihyZXRWYWx1ZSwgd2NzbGVuKHJldFZhbHVlKSk7CiAgICAgUHlNZW1fRnJlZShyZXRWYWx1ZSk7CiAgICAgcmV0dXJuIG87CiB9CkBAIC0xMzk0LDcgKzE0MDYsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlJlZ1F1ZXJ5VmFsdWUiKTsKICAgICB9CiAKLSAgICByZXRTdHIgPSBQeVVuaWNvZGVfRnJvbVVuaWNvZGUocmV0QnVmLCB3Y3NsZW4ocmV0QnVmKSk7CisgICAgcmV0U3RyID0gUHlVbmljb2RlX0Zyb21XaWRlQ2hhcihyZXRCdWYsIHdjc2xlbihyZXRCdWYpKTsKICAgICBQeU1lbV9GcmVlKHJldEJ1Zik7CiAgICAgcmV0dXJuIHJldFN0cjsKIH0KQEAgLTE1MjUsNyArMTUzNyw3IEBACiB7CiAgICAgSEtFWSBoS2V5OwogICAgIFB5T2JqZWN0ICpvYktleTsKLSAgICBQeV9VTklDT0RFICp2YWx1ZU5hbWU7CisgICAgd2NoYXJfdCAqdmFsdWVOYW1lOwogICAgIFB5T2JqZWN0ICpvYlJlczsKICAgICBQeU9iamVjdCAqdmFsdWU7CiAgICAgQllURSAqZGF0YTsKQEAgLTE1NzgsNyArMTU5MCw3IEBACiAKICAgICAvKiBPbmx5IGF2YWlsYWJsZSBvbiA2NGJpdCBwbGF0Zm9ybXMsIHNvIHdlIG11c3QgbG9hZCBpdAogICAgICAgIGR5bmFtaWNhbGx5LiovCi0gICAgaE1vZCA9IEdldE1vZHVsZUhhbmRsZSgiYWR2YXBpMzIuZGxsIik7CisgICAgaE1vZCA9IEdldE1vZHVsZUhhbmRsZVcoTCJhZHZhcGkzMi5kbGwiKTsKICAgICBpZiAoaE1vZCkKICAgICAgICAgcGZuID0gKFJEUktGdW5jKUdldFByb2NBZGRyZXNzKGhNb2QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUmVnRGlzYWJsZVJlZmxlY3Rpb25LZXkiKTsKQEAgLTE2MTQsNyArMTYyNiw3IEBACiAKICAgICAvKiBPbmx5IGF2YWlsYWJsZSBvbiA2NGJpdCBwbGF0Zm9ybXMsIHNvIHdlIG11c3QgbG9hZCBpdAogICAgICAgIGR5bmFtaWNhbGx5LiovCi0gICAgaE1vZCA9IEdldE1vZHVsZUhhbmRsZSgiYWR2YXBpMzIuZGxsIik7CisgICAgaE1vZCA9IEdldE1vZHVsZUhhbmRsZVcoTCJhZHZhcGkzMi5kbGwiKTsKICAgICBpZiAoaE1vZCkKICAgICAgICAgcGZuID0gKFJFUktGdW5jKUdldFByb2NBZGRyZXNzKGhNb2QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUmVnRW5hYmxlUmVmbGVjdGlvbktleSIpOwpAQCAtMTY1MSw3ICsxNjYzLDcgQEAKIAogICAgIC8qIE9ubHkgYXZhaWxhYmxlIG9uIDY0Yml0IHBsYXRmb3Jtcywgc28gd2UgbXVzdCBsb2FkIGl0CiAgICAgICAgZHluYW1pY2FsbHkuKi8KLSAgICBoTW9kID0gR2V0TW9kdWxlSGFuZGxlKCJhZHZhcGkzMi5kbGwiKTsKKyAgICBoTW9kID0gR2V0TW9kdWxlSGFuZGxlVyhMImFkdmFwaTMyLmRsbCIpOwogICAgIGlmIChoTW9kKQogICAgICAgICBwZm4gPSAoUlFSS0Z1bmMpR2V0UHJvY0FkZHJlc3MoaE1vZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJSZWdRdWVyeVJlZmxlY3Rpb25LZXkiKTsKZGlmZiAtLWdpdCBhL1BDL3dpbnNvdW5kLmMgYi9QQy93aW5zb3VuZC5jCmluZGV4IDFlZDk1YmEuLmI1NjRlYWIgMTAwNjQ0Ci0tLSBhL1BDL3dpbnNvdW5kLmMKKysrIGIvUEMvd2luc291bmQuYwpAQCAtNzIsNyArNzIsNyBAQAogc3RhdGljIFB5T2JqZWN0ICoKIHNvdW5kX3BsYXlzb3VuZChQeU9iamVjdCAqcywgUHlPYmplY3QgKmFyZ3MpCiB7Ci0gICAgUHlfVU5JQ09ERSAqd3NvdW5kOworICAgIHdjaGFyX3QgKndzb3VuZDsKICAgICBpbnQgZmxhZ3M7CiAgICAgaW50IG9rOwogCmRpZmYgLS1naXQgYS9QQ2J1aWxkL2J6Mi52Y3Byb2ogYi9QQ2J1aWxkL19iejIudmNwcm9qCnNpbWlsYXJpdHkgaW5kZXggOTklCnJlbmFtZSBmcm9tIFBDYnVpbGQvYnoyLnZjcHJvagpyZW5hbWUgdG8gUENidWlsZC9fYnoyLnZjcHJvagppbmRleCAwMzU3MzZlLi5lNmI5Yzg4IDEwMDY0NAotLS0gYS9QQ2J1aWxkL2J6Mi52Y3Byb2oKKysrIGIvUENidWlsZC9fYnoyLnZjcHJvagpAQCAtMiw3ICsyLDcgQEAKIDxWaXN1YWxTdHVkaW9Qcm9qZWN0DQogCVByb2plY3RUeXBlPSJWaXN1YWwgQysrIg0KIAlWZXJzaW9uPSI5LDAwIg0KLQlOYW1lPSJiejIiDQorCU5hbWU9Il9iejIiDQogCVByb2plY3RHVUlEPSJ7NzNGQ0QyQkQtRjEzMy00NkI3LThFQzEtMTQ0Q0Q4MkE1OUQ1fSINCiAJUm9vdE5hbWVzcGFjZT0iYnoyIg0KIAlLZXl3b3JkPSJXaW4zMlByb2oiDQpAQCAtNTI3LDcgKzUyNyw3IEBACiAJCQlOYW1lPSJTb3VyY2UgRmlsZXMiDQogCQkJPg0KIAkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cTW9kdWxlc1xiejJtb2R1bGUuYyINCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxNb2R1bGVzXF9iejJtb2R1bGUuYyINCiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCTwvRmlsdGVyPg0KZGlmZiAtLWdpdCBhL1BDYnVpbGQvYnoyLnZjcHJvaiBiL1BDYnVpbGQvX2x6bWEudmNwcm9qCnNpbWlsYXJpdHkgaW5kZXggODIlCmNvcHkgZnJvbSBQQ2J1aWxkL2J6Mi52Y3Byb2oKY29weSB0byBQQ2J1aWxkL19sem1hLnZjcHJvagppbmRleCAwMzU3MzZlLi4xMGYzNzIyIDEwMDY0NAotLS0gYS9QQ2J1aWxkL2J6Mi52Y3Byb2oKKysrIGIvUENidWlsZC9fbHptYS52Y3Byb2oKQEAgLTIsOSArMiw5IEBACiA8VmlzdWFsU3R1ZGlvUHJvamVjdA0KIAlQcm9qZWN0VHlwZT0iVmlzdWFsIEMrKyINCiAJVmVyc2lvbj0iOSwwMCINCi0JTmFtZT0iYnoyIg0KLQlQcm9qZWN0R1VJRD0iezczRkNEMkJELUYxMzMtNDZCNy04RUMxLTE0NENEODJBNTlENX0iDQotCVJvb3ROYW1lc3BhY2U9ImJ6MiINCisJTmFtZT0iX2x6bWEiDQorCVByb2plY3RHVUlEPSJ7RjlENzE3ODAtRjM5My0xMUUwLUJFNTAtMDgwMDIwMEM5QTY2fSINCisJUm9vdE5hbWVzcGFjZT0ibHptYSINCiAJS2V5d29yZD0iV2luMzJQcm9qIg0KIAlUYXJnZXRGcmFtZXdvcmtWZXJzaW9uPSIxOTY2MTMiDQogCT4NCkBAIC00Miw4ICs0Miw4IEBACiAJCQkvPg0KIAkJCTxUb29sDQogCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiQoYnoyRGlyKSINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IldJTjMyO19GSUxFX09GRlNFVF9CSVRTPTY0O19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFIg0KKwkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIkKGx6bWFEaXIpXGluY2x1ZGUiDQorCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJXSU4zMjtfRklMRV9PRkZTRVRfQklUUz02NDtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtMWk1BX0FQSV9TVEFUSUMiDQogCQkJLz4NCiAJCQk8VG9vbA0KIAkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCkBAIC01Niw3ICs1Niw3IEBACiAJCQkvPg0KIAkJCTxUb29sDQogCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxNzAwMDAiDQorCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IiQobHptYURpcilcYmluX2k0ODZcbGlibHptYS5hIg0KIAkJCS8+DQogCQkJPFRvb2wNCiAJCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQpAQCAtMTA0LDggKzEwNCw4IEBACiAJCQkvPg0KIAkJCTxUb29sDQogCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiQoYnoyRGlyKSINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IldJTjMyO19GSUxFX09GRlNFVF9CSVRTPTY0O19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFIg0KKwkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIkKGx6bWFEaXIpXGluY2x1ZGUiDQorCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJXSU4zMjtfRklMRV9PRkZTRVRfQklUUz02NDtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtMWk1BX0FQSV9TVEFUSUMiDQogCQkJLz4NCiAJCQk8VG9vbA0KIAkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCkBAIC0xMTgsNyArMTE4LDcgQEAKIAkJCS8+DQogCQkJPFRvb2wNCiAJCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDE3MDAwMCINCisJCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iJChsem1hRGlyKVxiaW5feDg2LTY0XGxpYmx6bWEuYSINCiAJCQkvPg0KIAkJCTxUb29sDQogCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KQEAgLTE2Niw4ICsxNjYsOCBAQAogCQkJLz4NCiAJCQk8VG9vbA0KIAkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIkKGJ6MkRpcikiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJXSU4zMjtfRklMRV9PRkZTRVRfQklUUz02NDtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURSINCisJCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJChsem1hRGlyKVxpbmNsdWRlIg0KKwkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iV0lOMzI7X0ZJTEVfT0ZGU0VUX0JJVFM9NjQ7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEU7TFpNQV9BUElfU1RBVElDIg0KIAkJCS8+DQogCQkJPFRvb2wNCiAJCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQpAQCAtMTgwLDcgKzE4MCw3IEBACiAJCQkvPg0KIAkJCTxUb29sDQogCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxNzAwMDAiDQorCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IiQobHptYURpcilcYmluX2k0ODZcbGlibHptYS5hIg0KIAkJCS8+DQogCQkJPFRvb2wNCiAJCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQpAQCAtMjI5LDggKzIyOSw4IEBACiAJCQkvPg0KIAkJCTxUb29sDQogCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiQoYnoyRGlyKSINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IldJTjMyO19GSUxFX09GRlNFVF9CSVRTPTY0O19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFIg0KKwkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIkKGx6bWFEaXIpXGluY2x1ZGUiDQorCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJXSU4zMjtfRklMRV9PRkZTRVRfQklUUz02NDtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtMWk1BX0FQSV9TVEFUSUMiDQogCQkJLz4NCiAJCQk8VG9vbA0KIAkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCkBAIC0yNDMsNyArMjQzLDcgQEAKIAkJCS8+DQogCQkJPFRvb2wNCiAJCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDE3MDAwMCINCisJCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iJChsem1hRGlyKVxiaW5feDg2LTY0XGxpYmx6bWEuYSINCiAJCQkvPg0KIAkJCTxUb29sDQogCQkJCU5hbWU9IlZDQUxpbmtUb29sIg0KQEAgLTI5MSw4ICsyOTEsOCBAQAogCQkJLz4NCiAJCQk8VG9vbA0KIAkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIkKGJ6MkRpcikiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJXSU4zMjtfRklMRV9PRkZTRVRfQklUUz02NDtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURSINCisJCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJChsem1hRGlyKVxpbmNsdWRlIg0KKwkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iV0lOMzI7X0ZJTEVfT0ZGU0VUX0JJVFM9NjQ7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEU7TFpNQV9BUElfU1RBVElDIg0KIAkJCS8+DQogCQkJPFRvb2wNCiAJCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQpAQCAtMzA1LDcgKzMwNSw3IEBACiAJCQkvPg0KIAkJCTxUb29sDQogCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxNzAwMDAiDQorCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IiQobHptYURpcilcYmluX2k0ODZcbGlibHptYS5hIg0KIAkJCS8+DQogCQkJPFRvb2wNCiAJCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQpAQCAtMzU0LDggKzM1NCw4IEBACiAJCQkvPg0KIAkJCTxUb29sDQogCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiQoYnoyRGlyKSINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IldJTjMyO19GSUxFX09GRlNFVF9CSVRTPTY0O19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFIg0KKwkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIkKGx6bWFEaXIpXGluY2x1ZGUiDQorCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJXSU4zMjtfRklMRV9PRkZTRVRfQklUUz02NDtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtMWk1BX0FQSV9TVEFUSUMiDQogCQkJLz4NCiAJCQk8VG9vbA0KIAkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCkBAIC0zNjgsNyArMzY4LDcgQEAKIAkJCS8+DQogCQkJPFRvb2wNCiAJCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDE3MDAwMCINCisJCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iJChsem1hRGlyKVxiaW5feDg2LTY0XGxpYmx6bWEuYSINCiAJCQkJVGFyZ2V0TWFjaGluZT0iMTciDQogCQkJLz4NCiAJCQk8VG9vbA0KQEAgLTQxNyw4ICs0MTcsOCBAQAogCQkJLz4NCiAJCQk8VG9vbA0KIAkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIg0KLQkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIkKGJ6MkRpcikiDQotCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJXSU4zMjtfRklMRV9PRkZTRVRfQklUUz02NDtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURSINCisJCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJChsem1hRGlyKVxpbmNsdWRlIg0KKwkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iV0lOMzI7X0ZJTEVfT0ZGU0VUX0JJVFM9NjQ7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEU7TFpNQV9BUElfU1RBVElDIg0KIAkJCS8+DQogCQkJPFRvb2wNCiAJCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQpAQCAtNDMxLDcgKzQzMSw3IEBACiAJCQkvPg0KIAkJCTxUb29sDQogCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxNzAwMDAiDQorCQkJCUFkZGl0aW9uYWxEZXBlbmRlbmNpZXM9IiQobHptYURpcilcYmluX2k0ODZcbGlibHptYS5hIg0KIAkJCS8+DQogCQkJPFRvb2wNCiAJCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQpAQCAtNDgwLDggKzQ4MCw4IEBACiAJCQkvPg0KIAkJCTxUb29sDQogCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiQoYnoyRGlyKSINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IldJTjMyO19GSUxFX09GRlNFVF9CSVRTPTY0O19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFIg0KKwkJCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSIkKGx6bWFEaXIpXGluY2x1ZGUiDQorCQkJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSJXSU4zMjtfRklMRV9PRkZTRVRfQklUUz02NDtfQ1JUX1NFQ1VSRV9OT19ERVBSRUNBVEU7X0NSVF9OT05TVERDX05PX0RFUFJFQ0FURTtMWk1BX0FQSV9TVEFUSUMiDQogCQkJLz4NCiAJCQk8VG9vbA0KIAkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCkBAIC00OTQsNyArNDk0LDcgQEAKIAkJCS8+DQogCQkJPFRvb2wNCiAJCQkJTmFtZT0iVkNMaW5rZXJUb29sIg0KLQkJCQlCYXNlQWRkcmVzcz0iMHgxRDE3MDAwMCINCisJCQkJQWRkaXRpb25hbERlcGVuZGVuY2llcz0iJChsem1hRGlyKVxiaW5feDg2LTY0XGxpYmx6bWEuYSINCiAJCQkJVGFyZ2V0TWFjaGluZT0iMTciDQogCQkJLz4NCiAJCQk8VG9vbA0KQEAgLTUyNyw1MSArNTI3LDcgQEAKIAkJCU5hbWU9IlNvdXJjZSBGaWxlcyINCiAJCQk+DQogCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlxNb2R1bGVzXGJ6Mm1vZHVsZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJPC9GaWx0ZXI+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iYnppcDIgMS4wLjUgSGVhZGVyIEZpbGVzIg0KLQkJCT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9IiQoYnoyRGlyKVxiemxpYi5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iJChiejJEaXIpXGJ6bGliX3ByaXZhdGUuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCTwvRmlsdGVyPg0KLQkJPEZpbHRlcg0KLQkJCU5hbWU9ImJ6aXAyIDEuMC41IFNvdXJjZSBGaWxlcyINCi0JCQk+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIkKGJ6MkRpcilcYmxvY2tzb3J0LmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIkKGJ6MkRpcilcYnpsaWIuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9IiQoYnoyRGlyKVxjb21wcmVzcy5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iJChiejJEaXIpXGNyY3RhYmxlLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIkKGJ6MkRpcilcZGVjb21wcmVzcy5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iJChiejJEaXIpXGh1ZmZtYW4uYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9IiQoYnoyRGlyKVxyYW5kdGFibGUuYyINCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxNb2R1bGVzXF9sem1hbW9kdWxlLmMiDQogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQk8L0ZpbHRlcj4NCmRpZmYgLS1naXQgYS9QQ2J1aWxkL19tdWx0aXByb2Nlc3NpbmcudmNwcm9qIGIvUENidWlsZC9fbXVsdGlwcm9jZXNzaW5nLnZjcHJvagppbmRleCA1ZDYzMzdkLi5lOWNkM2E4IDEwMDY0NAotLS0gYS9QQ2J1aWxkL19tdWx0aXByb2Nlc3NpbmcudmNwcm9qCisrKyBiL1BDYnVpbGQvX211bHRpcHJvY2Vzc2luZy52Y3Byb2oKQEAgLTUyMiwxMCArNTIyLDYgQEAKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXE1vZHVsZXNcX211bHRpcHJvY2Vzc2luZ1xtdWx0aXByb2Nlc3NpbmcuaCINCiAJCQkJPg0KIAkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXE1vZHVsZXNcX211bHRpcHJvY2Vzc2luZ1xjb25uZWN0aW9uLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQogCQk8L0ZpbHRlcj4NCiAJCTxGaWx0ZXINCiAJCQlOYW1lPSJTb3VyY2UgRmlsZXMiDQpAQCAtNTM1LDE4ICs1MzEsMTAgQEAKIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cTW9kdWxlc1xfbXVsdGlwcm9jZXNzaW5nXHBpcGVfY29ubmVjdGlvbi5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cTW9kdWxlc1xfbXVsdGlwcm9jZXNzaW5nXHNlbWFwaG9yZS5jIg0KIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cTW9kdWxlc1xfbXVsdGlwcm9jZXNzaW5nXHNvY2tldF9jb25uZWN0aW9uLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxNb2R1bGVzXF9tdWx0aXByb2Nlc3Npbmdcd2luMzJfZnVuY3Rpb25zLmMiDQogCQkJCT4NCiAJCQk8L0ZpbGU+DQpkaWZmIC0tZ2l0IGEvUENidWlsZC9iejIudmNwcm9qIGIvUENidWlsZC9fdGVzdGJ1ZmZlci52Y3Byb2oKc2ltaWxhcml0eSBpbmRleCA3NyUKY29weSBmcm9tIFBDYnVpbGQvYnoyLnZjcHJvagpjb3B5IHRvIFBDYnVpbGQvX3Rlc3RidWZmZXIudmNwcm9qCmluZGV4IDAzNTczNmUuLjc5NWVhMjcgMTAwNjQ0Ci0tLSBhL1BDYnVpbGQvYnoyLnZjcHJvagorKysgYi9QQ2J1aWxkL190ZXN0YnVmZmVyLnZjcHJvagpAQCAtMSwxMCArMSwxMCBAQAogPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iV2luZG93cy0xMjUyIj8+DQogPFZpc3VhbFN0dWRpb1Byb2plY3QNCiAJUHJvamVjdFR5cGU9IlZpc3VhbCBDKysiDQotCVZlcnNpb249IjksMDAiDQotCU5hbWU9ImJ6MiINCi0JUHJvamVjdEdVSUQ9Ins3M0ZDRDJCRC1GMTMzLTQ2QjctOEVDMS0xNDRDRDgyQTU5RDV9Ig0KLQlSb290TmFtZXNwYWNlPSJiejIiDQorCVZlcnNpb249IjkuMDAiDQorCU5hbWU9Il90ZXN0YnVmZmVyIg0KKwlQcm9qZWN0R1VJRD0ie0EyNjk3QkQzLTI4QzEtNEFFQy05MTA2LThCNzQ4NjM5RkQxNn0iDQorCVJvb3ROYW1lc3BhY2U9Il90ZXN0YnVmZmVyIg0KIAlLZXl3b3JkPSJXaW4zMlByb2oiDQogCVRhcmdldEZyYW1ld29ya1ZlcnNpb249IjE5NjYxMyINCiAJPg0KQEAgLTQyLDggKzQyLDYgQEAKIAkJCS8+DQogCQkJPFRvb2wNCiAJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCINCi0JCQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJChiejJEaXIpIg0KLQkJCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iV0lOMzI7X0ZJTEVfT0ZGU0VUX0JJVFM9NjQ7X0NSVF9TRUNVUkVfTk9fREVQUkVDQVRFO19DUlRfTk9OU1REQ19OT19ERVBSRUNBVEUiDQogCQkJLz4NCiAJCQk8VG9vbA0KIAkJCQlOYW1lPSJWQ01hbmFnZWRSZXNvdXJjZUNvbXBpbGVyVG9vbCINCkBAIC01Niw3ICs1NCw3IEBACiAJCQkvPg0KIAkJCTxUb29sDQogCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxNzAwMDAiDQorCQkJCUJhc2VBZGRyZXNzPSIweDFlMUYwMDAwIg0KIAkJCS8+DQogCQkJPFRvb2wNCiAJCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQpAQCAtMTA0LDggKzEwMiw2IEBACiAJCQkvPg0KIAkJCTxUb29sDQogCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiQoYnoyRGlyKSINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IldJTjMyO19GSUxFX09GRlNFVF9CSVRTPTY0O19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFIg0KIAkJCS8+DQogCQkJPFRvb2wNCiAJCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQpAQCAtMTE4LDcgKzExNCw3IEBACiAJCQkvPg0KIAkJCTxUb29sDQogCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxNzAwMDAiDQorCQkJCUJhc2VBZGRyZXNzPSIweDFlMUYwMDAwIg0KIAkJCS8+DQogCQkJPFRvb2wNCiAJCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQpAQCAtMTY2LDggKzE2Miw2IEBACiAJCQkvPg0KIAkJCTxUb29sDQogCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiQoYnoyRGlyKSINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IldJTjMyO19GSUxFX09GRlNFVF9CSVRTPTY0O19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFIg0KIAkJCS8+DQogCQkJPFRvb2wNCiAJCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQpAQCAtMTgwLDcgKzE3NCw3IEBACiAJCQkvPg0KIAkJCTxUb29sDQogCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxNzAwMDAiDQorCQkJCUJhc2VBZGRyZXNzPSIweDFlMUYwMDAwIg0KIAkJCS8+DQogCQkJPFRvb2wNCiAJCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQpAQCAtMjI5LDggKzIyMyw2IEBACiAJCQkvPg0KIAkJCTxUb29sDQogCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiQoYnoyRGlyKSINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IldJTjMyO19GSUxFX09GRlNFVF9CSVRTPTY0O19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFIg0KIAkJCS8+DQogCQkJPFRvb2wNCiAJCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQpAQCAtMjQzLDcgKzIzNSw3IEBACiAJCQkvPg0KIAkJCTxUb29sDQogCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxNzAwMDAiDQorCQkJCUJhc2VBZGRyZXNzPSIweDFlMUYwMDAwIg0KIAkJCS8+DQogCQkJPFRvb2wNCiAJCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQpAQCAtMjkxLDggKzI4Myw2IEBACiAJCQkvPg0KIAkJCTxUb29sDQogCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiQoYnoyRGlyKSINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IldJTjMyO19GSUxFX09GRlNFVF9CSVRTPTY0O19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFIg0KIAkJCS8+DQogCQkJPFRvb2wNCiAJCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQpAQCAtMzA1LDcgKzI5NSw3IEBACiAJCQkvPg0KIAkJCTxUb29sDQogCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxNzAwMDAiDQorCQkJCUJhc2VBZGRyZXNzPSIweDFlMUYwMDAwIg0KIAkJCS8+DQogCQkJPFRvb2wNCiAJCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQpAQCAtMzU0LDggKzM0NCw2IEBACiAJCQkvPg0KIAkJCTxUb29sDQogCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiQoYnoyRGlyKSINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IldJTjMyO19GSUxFX09GRlNFVF9CSVRTPTY0O19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFIg0KIAkJCS8+DQogCQkJPFRvb2wNCiAJCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQpAQCAtMzY4LDcgKzM1Niw3IEBACiAJCQkvPg0KIAkJCTxUb29sDQogCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxNzAwMDAiDQorCQkJCUJhc2VBZGRyZXNzPSIweDFlMUYwMDAwIg0KIAkJCQlUYXJnZXRNYWNoaW5lPSIxNyINCiAJCQkvPg0KIAkJCTxUb29sDQpAQCAtNDE3LDggKzQwNSw2IEBACiAJCQkvPg0KIAkJCTxUb29sDQogCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiQoYnoyRGlyKSINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IldJTjMyO19GSUxFX09GRlNFVF9CSVRTPTY0O19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFIg0KIAkJCS8+DQogCQkJPFRvb2wNCiAJCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQpAQCAtNDMxLDcgKzQxNyw3IEBACiAJCQkvPg0KIAkJCTxUb29sDQogCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxNzAwMDAiDQorCQkJCUJhc2VBZGRyZXNzPSIweDFlMUYwMDAwIg0KIAkJCS8+DQogCQkJPFRvb2wNCiAJCQkJTmFtZT0iVkNBTGlua1Rvb2wiDQpAQCAtNDgwLDggKzQ2Niw2IEBACiAJCQkvPg0KIAkJCTxUb29sDQogCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiDQotCQkJCUFkZGl0aW9uYWxJbmNsdWRlRGlyZWN0b3JpZXM9IiQoYnoyRGlyKSINCi0JCQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IldJTjMyO19GSUxFX09GRlNFVF9CSVRTPTY0O19DUlRfU0VDVVJFX05PX0RFUFJFQ0FURTtfQ1JUX05PTlNURENfTk9fREVQUkVDQVRFIg0KIAkJCS8+DQogCQkJPFRvb2wNCiAJCQkJTmFtZT0iVkNNYW5hZ2VkUmVzb3VyY2VDb21waWxlclRvb2wiDQpAQCAtNDk0LDcgKzQ3OCw3IEBACiAJCQkvPg0KIAkJCTxUb29sDQogCQkJCU5hbWU9IlZDTGlua2VyVG9vbCINCi0JCQkJQmFzZUFkZHJlc3M9IjB4MUQxNzAwMDAiDQorCQkJCUJhc2VBZGRyZXNzPSIweDFlMUYwMDAwIg0KIAkJCQlUYXJnZXRNYWNoaW5lPSIxNyINCiAJCQkvPg0KIAkJCTxUb29sDQpAQCAtNTI3LDUxICs1MTEsNyBAQAogCQkJTmFtZT0iU291cmNlIEZpbGVzIg0KIAkJCT4NCiAJCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXE1vZHVsZXNcYnoybW9kdWxlLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQk8L0ZpbHRlcj4NCi0JCTxGaWx0ZXINCi0JCQlOYW1lPSJiemlwMiAxLjAuNSBIZWFkZXIgRmlsZXMiDQotCQkJPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iJChiejJEaXIpXGJ6bGliLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIkKGJ6MkRpcilcYnpsaWJfcHJpdmF0ZS5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJPC9GaWx0ZXI+DQotCQk8RmlsdGVyDQotCQkJTmFtZT0iYnppcDIgMS4wLjUgU291cmNlIEZpbGVzIg0KLQkJCT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9IiQoYnoyRGlyKVxibG9ja3NvcnQuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9IiQoYnoyRGlyKVxiemxpYi5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iJChiejJEaXIpXGNvbXByZXNzLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIkKGJ6MkRpcilcY3JjdGFibGUuYyINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9IiQoYnoyRGlyKVxkZWNvbXByZXNzLmMiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQotCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIkKGJ6MkRpcilcaHVmZm1hbi5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iJChiejJEaXIpXHJhbmR0YWJsZS5jIg0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXE1vZHVsZXNcX3Rlc3RidWZmZXIuYyINCiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCTwvRmlsdGVyPg0KZGlmZiAtLWdpdCBhL1BDYnVpbGQvYnVpbGRfc3NsLmJhdCBiL1BDYnVpbGQvYnVpbGRfc3NsLmJhdAppbmRleCBjZWU2NGE4Li4zNTdiMDhiIDEwMDY0NAotLS0gYS9QQ2J1aWxkL2J1aWxkX3NzbC5iYXQKKysrIGIvUENidWlsZC9idWlsZF9zc2wuYmF0CkBAIC0yLDEwICsyLDEwIEBACiBpZiBub3QgZGVmaW5lZCBIT1NUX1BZVEhPTiAoCiAgIGlmICUxIEVRVSBEZWJ1ZyAoCiAgICAgc2V0IEhPU1RfUFlUSE9OPXB5dGhvbl9kLmV4ZQotICAgIGlmIG5vdCBleGlzdCBweXRob24zMV9kLmRsbCBleGl0IDEKKyAgICBpZiBub3QgZXhpc3QgcHl0aG9uMzNfZC5kbGwgZXhpdCAxCiAgICkgRUxTRSAoCiAgICAgc2V0IEhPU1RfUFlUSE9OPXB5dGhvbi5leGUKLSAgICBpZiBub3QgZXhpc3QgcHl0aG9uMzEuZGxsIGV4aXQgMQorICAgIGlmIG5vdCBleGlzdCBweXRob24zMy5kbGwgZXhpdCAxCiAgICkKICkKICVIT1NUX1BZVEhPTiUgYnVpbGRfc3NsLnB5ICUxICUyICUzCmRpZmYgLS1naXQgYS9QQ2J1aWxkL2tpbGxfcHl0aG9uLmMgYi9QQ2J1aWxkL2tpbGxfcHl0aG9uLmMKaW5kZXggNmI5MTY3OC4uYmIzMjNkMyAxMDA2NDQKLS0tIGEvUENidWlsZC9raWxsX3B5dGhvbi5jCisrKyBiL1BDYnVpbGQva2lsbF9weXRob24uYwpAQCAtMTA2LDcgKzEwNiw3IEBACiAgICAgICAgIC8qCiAgICAgICAgICAqIFhYWCBUT0RPOiBpZiB3ZSByZWFsbHkgd2FudGVkIHRvIGJlIGZhbmN5LCB3ZSBjb3VsZCBjaGVjayB0aGUgCiAgICAgICAgICAqIG1vZHVsZXMgZm9yIGFsbCBwcm9jZXNzZXMgKG5vdCBqdXN0IHRoZSBweXRob25bX2RdLmV4ZSBvbmVzKQotICAgICAgICAgKiBhbmQgc2VlIGlmIGFueSBvZiBvdXIgRExMcyBhcmUgbG9hZGVkIChpLmUuIHB5dGhvbjMyW19kXS5kbGwpLAorICAgICAgICAgKiBhbmQgc2VlIGlmIGFueSBvZiBvdXIgRExMcyBhcmUgbG9hZGVkIChpLmUuIHB5dGhvbjMzW19kXS5kbGwpLAogICAgICAgICAgKiBhcyB0aGF0IHdvdWxkIGFsc28gaW5oaWJpdCBvdXIgYWJpbGl0eSB0byByZWJ1aWxkIHRoZSBzb2x1dGlvbi4KICAgICAgICAgICogTm90IHdvcnRoIGxvb3Npbmcgc2xlZXAgb3ZlciB0aG91Z2g7IGZvciBub3csIGEgc2ltcGxlIGNoZWNrIAogICAgICAgICAgKiBmb3IganVzdCB0aGUgcHl0aG9uIGV4ZWN1dGFibGUgc2hvdWxkIGJlIHN1ZmZpY2llbnQuCmRpZmYgLS1naXQgYS9QQ2J1aWxkL3BjYnVpbGQuc2xuIGIvUENidWlsZC9wY2J1aWxkLnNsbgppbmRleCAxZGU0ZWExLi5hYzZmMjI0IDEwMDY0NAotLS0gYS9QQ2J1aWxkL3BjYnVpbGQuc2xuCisrKyBiL1BDYnVpbGQvcGNidWlsZC5zbG4KQEAgLTg3LDcgKzg3LDEyIEBACiAJCXtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9ID0ge0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0NCiAJRW5kUHJvamVjdFNlY3Rpb24NCiBFbmRQcm9qZWN0DQotUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJiejIiLCAiYnoyLnZjcHJvaiIsICJ7NzNGQ0QyQkQtRjEzMy00NkI3LThFQzEtMTQ0Q0Q4MkE1OUQ1fSINCitQcm9qZWN0KCJ7OEJDOUNFQjgtOEI0QS0xMUQwLThEMTEtMDBBMEM5MUJDOTQyfSIpID0gIl9iejIiLCAiX2J6Mi52Y3Byb2oiLCAiezczRkNEMkJELUYxMzMtNDZCNy04RUMxLTE0NENEODJBNTlENX0iDQorCVByb2plY3RTZWN0aW9uKFByb2plY3REZXBlbmRlbmNpZXMpID0gcG9zdFByb2plY3QNCisJCXtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9ID0ge0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0NCisJRW5kUHJvamVjdFNlY3Rpb24NCitFbmRQcm9qZWN0DQorUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJfbHptYSIsICJfbHptYS52Y3Byb2oiLCAie0Y5RDcxNzgwLUYzOTMtMTFFMC1CRTUwLTA4MDAyMDBDOUE2Nn0iDQogCVByb2plY3RTZWN0aW9uKFByb2plY3REZXBlbmRlbmNpZXMpID0gcG9zdFByb2plY3QNCiAJCXtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9ID0ge0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0NCiAJRW5kUHJvamVjdFNlY3Rpb24NCkBAIC0xMzcsNiArMTQyLDExIEBACiBFbmRQcm9qZWN0DQogUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJ4eGxpbWl0ZWQiLCAieHhsaW1pdGVkLnZjcHJvaiIsICJ7Rjc0OUI4MjItQjQ4OS00Q0E1LUEzQUQtQ0UwNzhGNUYzMzhBfSINCiBFbmRQcm9qZWN0DQorUHJvamVjdCgiezhCQzlDRUI4LThCNEEtMTFEMC04RDExLTAwQTBDOTFCQzk0Mn0iKSA9ICJfdGVzdGJ1ZmZlciIsICJfdGVzdGJ1ZmZlci52Y3Byb2oiLCAie0EyNjk3QkQzLTI4QzEtNEFFQy05MTA2LThCNzQ4NjM5RkQxNn0iDQorCVByb2plY3RTZWN0aW9uKFByb2plY3REZXBlbmRlbmNpZXMpID0gcG9zdFByb2plY3QNCisJCXtDRjdBQzNEMS1FMkRGLTQxRDItQkVBNi0xRTI1NTZDREVBMjZ9ID0ge0NGN0FDM0QxLUUyREYtNDFEMi1CRUE2LTFFMjU1NkNERUEyNn0NCisJRW5kUHJvamVjdFNlY3Rpb24NCitFbmRQcm9qZWN0DQogR2xvYmFsDQogCUdsb2JhbFNlY3Rpb24oU29sdXRpb25Db25maWd1cmF0aW9uUGxhdGZvcm1zKSA9IHByZVNvbHV0aW9uDQogCQlEZWJ1Z3xXaW4zMiA9IERlYnVnfFdpbjMyDQpAQCAtNDIxLDYgKzQzMSwyMiBAQAogCQl7NzNGQ0QyQkQtRjEzMy00NkI3LThFQzEtMTQ0Q0Q4MkE1OUQ1fS5SZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQogCQl7NzNGQ0QyQkQtRjEzMy00NkI3LThFQzEtMTQ0Q0Q4MkE1OUQ1fS5SZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KIAkJezczRkNEMkJELUYxMzMtNDZCNy04RUMxLTE0NENEODJBNTlENX0uUmVsZWFzZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQorCQl7RjlENzE3ODAtRjM5My0xMUUwLUJFNTAtMDgwMDIwMEM5QTY2fS5EZWJ1Z3xXaW4zMi5BY3RpdmVDZmcgPSBEZWJ1Z3xXaW4zMg0KKwkJe0Y5RDcxNzgwLUYzOTMtMTFFMC1CRTUwLTA4MDAyMDBDOUE2Nn0uRGVidWd8V2luMzIuQnVpbGQuMCA9IERlYnVnfFdpbjMyDQorCQl7RjlENzE3ODAtRjM5My0xMUUwLUJFNTAtMDgwMDIwMEM5QTY2fS5EZWJ1Z3x4NjQuQWN0aXZlQ2ZnID0gRGVidWd8eDY0DQorCQl7RjlENzE3ODAtRjM5My0xMUUwLUJFNTAtMDgwMDIwMEM5QTY2fS5EZWJ1Z3x4NjQuQnVpbGQuMCA9IERlYnVnfHg2NA0KKwkJe0Y5RDcxNzgwLUYzOTMtMTFFMC1CRTUwLTA4MDAyMDBDOUE2Nn0uUEdJbnN0cnVtZW50fFdpbjMyLkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KKwkJe0Y5RDcxNzgwLUYzOTMtMTFFMC1CRTUwLTA4MDAyMDBDOUE2Nn0uUEdJbnN0cnVtZW50fFdpbjMyLkJ1aWxkLjAgPSBQR0luc3RydW1lbnR8V2luMzINCisJCXtGOUQ3MTc4MC1GMzkzLTExRTAtQkU1MC0wODAwMjAwQzlBNjZ9LlBHSW5zdHJ1bWVudHx4NjQuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fHg2NA0KKwkJe0Y5RDcxNzgwLUYzOTMtMTFFMC1CRTUwLTA4MDAyMDBDOUE2Nn0uUEdJbnN0cnVtZW50fHg2NC5CdWlsZC4wID0gUEdJbnN0cnVtZW50fHg2NA0KKwkJe0Y5RDcxNzgwLUYzOTMtMTFFMC1CRTUwLTA4MDAyMDBDOUE2Nn0uUEdVcGRhdGV8V2luMzIuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8V2luMzINCisJCXtGOUQ3MTc4MC1GMzkzLTExRTAtQkU1MC0wODAwMjAwQzlBNjZ9LlBHVXBkYXRlfFdpbjMyLkJ1aWxkLjAgPSBQR1VwZGF0ZXxXaW4zMg0KKwkJe0Y5RDcxNzgwLUYzOTMtMTFFMC1CRTUwLTA4MDAyMDBDOUE2Nn0uUEdVcGRhdGV8eDY0LkFjdGl2ZUNmZyA9IFBHVXBkYXRlfHg2NA0KKwkJe0Y5RDcxNzgwLUYzOTMtMTFFMC1CRTUwLTA4MDAyMDBDOUE2Nn0uUEdVcGRhdGV8eDY0LkJ1aWxkLjAgPSBQR1VwZGF0ZXx4NjQNCisJCXtGOUQ3MTc4MC1GMzkzLTExRTAtQkU1MC0wODAwMjAwQzlBNjZ9LlJlbGVhc2V8V2luMzIuQWN0aXZlQ2ZnID0gUmVsZWFzZXxXaW4zMg0KKwkJe0Y5RDcxNzgwLUYzOTMtMTFFMC1CRTUwLTA4MDAyMDBDOUE2Nn0uUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KKwkJe0Y5RDcxNzgwLUYzOTMtMTFFMC1CRTUwLTA4MDAyMDBDOUE2Nn0uUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCisJCXtGOUQ3MTc4MC1GMzkzLTExRTAtQkU1MC0wODAwMjAwQzlBNjZ9LlJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KIAkJezE4Q0FFMjhDLUI0NTQtNDZDMS04N0EwLTQ5M0Q5MUQ5N0YwM30uRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gRGVidWd8V2luMzINCiAJCXsxOENBRTI4Qy1CNDU0LTQ2QzEtODdBMC00OTNEOTFEOTdGMDN9LkRlYnVnfFdpbjMyLkJ1aWxkLjAgPSBEZWJ1Z3xXaW4zMg0KIAkJezE4Q0FFMjhDLUI0NTQtNDZDMS04N0EwLTQ5M0Q5MUQ5N0YwM30uRGVidWd8eDY0LkFjdGl2ZUNmZyA9IERlYnVnfHg2NA0KQEAgLTU1OCwxNiArNTg0LDE2IEBACiAJCXs2REUxMDc0NC1FMzk2LTQwQTUtQjRFMi0xQjY5QUE3QzhEMzF9LlJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQogCQl7NkRFMTA3NDQtRTM5Ni00MEE1LUI0RTItMUI2OUFBN0M4RDMxfS5SZWxlYXNlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCiAJCXs4ODVENDg5OC1EMDhELTQwOTEtOUM0MC1DNzAwQ0ZFM0ZDNUF9LkRlYnVnfFdpbjMyLkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJezg4NUQ0ODk4LUQwOEQtNDA5MS05QzQwLUM3MDBDRkUzRkM1QX0uRGVidWd8eDY0LkFjdGl2ZUNmZyA9IERlYnVnfHg2NA0KLQkJezg4NUQ0ODk4LUQwOEQtNDA5MS05QzQwLUM3MDBDRkUzRkM1QX0uRGVidWd8eDY0LkJ1aWxkLjAgPSBEZWJ1Z3x4NjQNCisJCXs4ODVENDg5OC1EMDhELTQwOTEtOUM0MC1DNzAwQ0ZFM0ZDNUF9LkRlYnVnfHg2NC5BY3RpdmVDZmcgPSBQR1VwZGF0ZXx4NjQNCisJCXs4ODVENDg5OC1EMDhELTQwOTEtOUM0MC1DNzAwQ0ZFM0ZDNUF9LkRlYnVnfHg2NC5CdWlsZC4wID0gUEdVcGRhdGV8eDY0DQogCQl7ODg1RDQ4OTgtRDA4RC00MDkxLTlDNDAtQzcwMENGRTNGQzVBfS5QR0luc3RydW1lbnR8V2luMzIuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fFdpbjMyDQogCQl7ODg1RDQ4OTgtRDA4RC00MDkxLTlDNDAtQzcwMENGRTNGQzVBfS5QR0luc3RydW1lbnR8V2luMzIuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHxXaW4zMg0KLQkJezg4NUQ0ODk4LUQwOEQtNDA5MS05QzQwLUM3MDBDRkUzRkM1QX0uUEdJbnN0cnVtZW50fHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KLQkJezg4NUQ0ODk4LUQwOEQtNDA5MS05QzQwLUM3MDBDRkUzRkM1QX0uUEdJbnN0cnVtZW50fHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCisJCXs4ODVENDg5OC1EMDhELTQwOTEtOUM0MC1DNzAwQ0ZFM0ZDNUF9LlBHSW5zdHJ1bWVudHx4NjQuQWN0aXZlQ2ZnID0gUEdJbnN0cnVtZW50fHg2NA0KKwkJezg4NUQ0ODk4LUQwOEQtNDA5MS05QzQwLUM3MDBDRkUzRkM1QX0uUEdJbnN0cnVtZW50fHg2NC5CdWlsZC4wID0gUEdJbnN0cnVtZW50fHg2NA0KIAkJezg4NUQ0ODk4LUQwOEQtNDA5MS05QzQwLUM3MDBDRkUzRkM1QX0uUEdVcGRhdGV8V2luMzIuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8V2luMzINCiAJCXs4ODVENDg5OC1EMDhELTQwOTEtOUM0MC1DNzAwQ0ZFM0ZDNUF9LlBHVXBkYXRlfFdpbjMyLkJ1aWxkLjAgPSBQR1VwZGF0ZXxXaW4zMg0KLQkJezg4NUQ0ODk4LUQwOEQtNDA5MS05QzQwLUM3MDBDRkUzRkM1QX0uUEdVcGRhdGV8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQotCQl7ODg1RDQ4OTgtRDA4RC00MDkxLTlDNDAtQzcwMENGRTNGQzVBfS5QR1VwZGF0ZXx4NjQuQnVpbGQuMCA9IFJlbGVhc2V8eDY0DQorCQl7ODg1RDQ4OTgtRDA4RC00MDkxLTlDNDAtQzcwMENGRTNGQzVBfS5QR1VwZGF0ZXx4NjQuQWN0aXZlQ2ZnID0gUEdVcGRhdGV8eDY0DQorCQl7ODg1RDQ4OTgtRDA4RC00MDkxLTlDNDAtQzcwMENGRTNGQzVBfS5QR1VwZGF0ZXx4NjQuQnVpbGQuMCA9IFBHVXBkYXRlfHg2NA0KIAkJezg4NUQ0ODk4LUQwOEQtNDA5MS05QzQwLUM3MDBDRkUzRkM1QX0uUmVsZWFzZXxXaW4zMi5BY3RpdmVDZmcgPSBSZWxlYXNlfFdpbjMyDQogCQl7ODg1RDQ4OTgtRDA4RC00MDkxLTlDNDAtQzcwMENGRTNGQzVBfS5SZWxlYXNlfFdpbjMyLkJ1aWxkLjAgPSBSZWxlYXNlfFdpbjMyDQogCQl7ODg1RDQ4OTgtRDA4RC00MDkxLTlDNDAtQzcwMENGRTNGQzVBfS5SZWxlYXNlfHg2NC5BY3RpdmVDZmcgPSBSZWxlYXNlfHg2NA0KQEAgLTU4OCw2ICs2MTQsMjIgQEAKIAkJe0Y3NDlCODIyLUI0ODktNENBNS1BM0FELUNFMDc4RjVGMzM4QX0uUmVsZWFzZXxXaW4zMi5CdWlsZC4wID0gUmVsZWFzZXxXaW4zMg0KIAkJe0Y3NDlCODIyLUI0ODktNENBNS1BM0FELUNFMDc4RjVGMzM4QX0uUmVsZWFzZXx4NjQuQWN0aXZlQ2ZnID0gUmVsZWFzZXx4NjQNCiAJCXtGNzQ5QjgyMi1CNDg5LTRDQTUtQTNBRC1DRTA3OEY1RjMzOEF9LlJlbGVhc2V8eDY0LkJ1aWxkLjAgPSBSZWxlYXNlfHg2NA0KKwkJe0EyNjk3QkQzLTI4QzEtNEFFQy05MTA2LThCNzQ4NjM5RkQxNn0uRGVidWd8V2luMzIuQWN0aXZlQ2ZnID0gRGVidWd8V2luMzINCisJCXtBMjY5N0JEMy0yOEMxLTRBRUMtOTEwNi04Qjc0ODYzOUZEMTZ9LkRlYnVnfFdpbjMyLkJ1aWxkLjAgPSBEZWJ1Z3xXaW4zMg0KKwkJe0EyNjk3QkQzLTI4QzEtNEFFQy05MTA2LThCNzQ4NjM5RkQxNn0uRGVidWd8eDY0LkFjdGl2ZUNmZyA9IERlYnVnfHg2NA0KKwkJe0EyNjk3QkQzLTI4QzEtNEFFQy05MTA2LThCNzQ4NjM5RkQxNn0uRGVidWd8eDY0LkJ1aWxkLjAgPSBEZWJ1Z3x4NjQNCisJCXtBMjY5N0JEMy0yOEMxLTRBRUMtOTEwNi04Qjc0ODYzOUZEMTZ9LlBHSW5zdHJ1bWVudHxXaW4zMi5BY3RpdmVDZmcgPSBQR0luc3RydW1lbnR8V2luMzINCisJCXtBMjY5N0JEMy0yOEMxLTRBRUMtOTEwNi04Qjc0ODYzOUZEMTZ9LlBHSW5zdHJ1bWVudHxXaW4zMi5CdWlsZC4wID0gUEdJbnN0cnVtZW50fFdpbjMyDQorCQl7QTI2OTdCRDMtMjhDMS00QUVDLTkxMDYtOEI3NDg2MzlGRDE2fS5QR0luc3RydW1lbnR8eDY0LkFjdGl2ZUNmZyA9IFBHSW5zdHJ1bWVudHx4NjQNCisJCXtBMjY5N0JEMy0yOEMxLTRBRUMtOTEwNi04Qjc0ODYzOUZEMTZ9LlBHSW5zdHJ1bWVudHx4NjQuQnVpbGQuMCA9IFBHSW5zdHJ1bWVudHx4NjQNCisJCXtBMjY5N0JEMy0yOEMxLTRBRUMtOTEwNi04Qjc0ODYzOUZEMTZ9LlBHVXBkYXRlfFdpbjMyLkFjdGl2ZUNmZyA9IFBHVXBkYXRlfFdpbjMyDQorCQl7QTI2OTdCRDMtMjhDMS00QUVDLTkxMDYtOEI3NDg2MzlGRDE2fS5QR1VwZGF0ZXxXaW4zMi5CdWlsZC4wID0gUEdVcGRhdGV8V2luMzINCisJCXtBMjY5N0JEMy0yOEMxLTRBRUMtOTEwNi04Qjc0ODYzOUZEMTZ9LlBHVXBkYXRlfHg2NC5BY3RpdmVDZmcgPSBQR1VwZGF0ZXx4NjQNCisJCXtBMjY5N0JEMy0yOEMxLTRBRUMtOTEwNi04Qjc0ODYzOUZEMTZ9LlBHVXBkYXRlfHg2NC5CdWlsZC4wID0gUEdVcGRhdGV8eDY0DQorCQl7QTI2OTdCRDMtMjhDMS00QUVDLTkxMDYtOEI3NDg2MzlGRDE2fS5SZWxlYXNlfFdpbjMyLkFjdGl2ZUNmZyA9IFJlbGVhc2V8V2luMzINCisJCXtBMjY5N0JEMy0yOEMxLTRBRUMtOTEwNi04Qjc0ODYzOUZEMTZ9LlJlbGVhc2V8V2luMzIuQnVpbGQuMCA9IFJlbGVhc2V8V2luMzINCisJCXtBMjY5N0JEMy0yOEMxLTRBRUMtOTEwNi04Qjc0ODYzOUZEMTZ9LlJlbGVhc2V8eDY0LkFjdGl2ZUNmZyA9IFJlbGVhc2V8eDY0DQorCQl7QTI2OTdCRDMtMjhDMS00QUVDLTkxMDYtOEI3NDg2MzlGRDE2fS5SZWxlYXNlfHg2NC5CdWlsZC4wID0gUmVsZWFzZXx4NjQNCiAJRW5kR2xvYmFsU2VjdGlvbg0KIAlHbG9iYWxTZWN0aW9uKFNvbHV0aW9uUHJvcGVydGllcykgPSBwcmVTb2x1dGlvbg0KIAkJSGlkZVNvbHV0aW9uTm9kZSA9IEZBTFNFDQpkaWZmIC0tZ2l0IGEvUENidWlsZC9weXByb2plY3QudnNwcm9wcyBiL1BDYnVpbGQvcHlwcm9qZWN0LnZzcHJvcHMKaW5kZXggM2Y2OWE0Mi4uNDQxZjk1ZiAxMDA2NDQKLS0tIGEvUENidWlsZC9weXByb2plY3QudnNwcm9wcworKysgYi9QQ2J1aWxkL3B5cHJvamVjdC52c3Byb3BzCkBAIC0zOCw3ICszOCw3IEBACiAJLz4NCiAJPFVzZXJNYWNybw0KIAkJTmFtZT0iUHlEbGxOYW1lIg0KLQkJVmFsdWU9InB5dGhvbjMyIg0KKwkJVmFsdWU9InB5dGhvbjMzIg0KIAkvPg0KIAk8VXNlck1hY3JvDQogCQlOYW1lPSJQeXRob25FeGUiDQpAQCAtNTcsNiArNTcsMTAgQEAKIAkJVmFsdWU9IiQoZXh0ZXJuYWxzRGlyKVxiemlwMi0xLjAuNSINCiAJLz4NCiAJPFVzZXJNYWNybw0KKwkJTmFtZT0ibHptYURpciINCisJCVZhbHVlPSIkKGV4dGVybmFsc0RpcilceHotNS4wLjMiDQorCS8+DQorCTxVc2VyTWFjcm8NCiAJCU5hbWU9Im9wZW5zc2xEaXIiDQogCQlWYWx1ZT0iJChleHRlcm5hbHNEaXIpXG9wZW5zc2wtMS4wLjBhIg0KIAkvPg0KZGlmZiAtLWdpdCBhL1BDYnVpbGQvcHl0aG9uY29yZS52Y3Byb2ogYi9QQ2J1aWxkL3B5dGhvbmNvcmUudmNwcm9qCmluZGV4IDVlNjEzMDguLjg0OWU3NDYgMTAwNjQ0Ci0tLSBhL1BDYnVpbGQvcHl0aG9uY29yZS52Y3Byb2oKKysrIGIvUENidWlsZC9weXRob25jb3JlLnZjcHJvagpAQCAtODkxLDYgKzg5MSwxMCBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxJbmNsdWRlXHB5bWFjcm8uaCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXEluY2x1ZGVccHltZW0uaCINCiAJCQkJPg0KIAkJCTwvRmlsZT4NCkBAIC0xMDUxLDE0ICsxMDU1LDYgQEAKIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cTW9kdWxlc1xfdGltZS5jIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cTW9kdWxlc1xfdGltZS5oIg0KLQkJCQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cTW9kdWxlc1xfd2Vha3JlZi5jIg0KIAkJCQk+DQogCQkJPC9GaWxlPg0KQEAgLTEwOTEsNiArMTA4NywxMCBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxNb2R1bGVzXGZhdWx0aGFuZGxlci5jIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cTW9kdWxlc1xnY21vZHVsZS5jIg0KIAkJCQk+DQogCQkJPC9GaWxlPg0KZGlmZiAtLWdpdCBhL1BDYnVpbGQvcmVhZG1lLnR4dCBiL1BDYnVpbGQvcmVhZG1lLnR4dAppbmRleCBkYmUwMzFmLi4yMTQ2MjIxIDEwMDY0NAotLS0gYS9QQ2J1aWxkL3JlYWRtZS50eHQKKysrIGIvUENidWlsZC9yZWFkbWUudHh0CkBAIC0zNyw3ICszNyw3IEBACiAgICBydW5uaW5nIGEgUHl0aG9uIGNvcmUgYnVpbGRib3QgdGVzdCBzbGF2ZTsgc2VlIFNVQlBST0pFQ1RTIGJlbG93KQogCiBXaGVuIHVzaW5nIHRoZSBEZWJ1ZyBzZXR0aW5nLCB0aGUgb3V0cHV0IGZpbGVzIGhhdmUgYSBfZCBhZGRlZCB0bwotdGhlaXIgbmFtZTogIHB5dGhvbjMyX2QuZGxsLCBweXRob25fZC5leGUsIHBhcnNlcl9kLnB5ZCwgYW5kIHNvIG9uLiBCb3RoCit0aGVpciBuYW1lOiAgcHl0aG9uMzNfZC5kbGwsIHB5dGhvbl9kLmV4ZSwgcGFyc2VyX2QucHlkLCBhbmQgc28gb24uIEJvdGgKIHRoZSBidWlsZCBhbmQgcnQgYmF0Y2ggZmlsZXMgYWNjZXB0IGEgLWQgb3B0aW9uIGZvciBkZWJ1ZyBidWlsZHMuCiAKIFRoZSAzMmJpdCBidWlsZHMgZW5kIHVwIGluIHRoZSBzb2x1dGlvbiBmb2xkZXIgUENidWlsZCB3aGlsZSB0aGUgeDY0IGJ1aWxkcwpAQCAtOTIsNiArOTIsOSBAQAogX3Rlc3RjYXBpCiAgICAgdGVzdHMgb2YgdGhlIFB5dGhvbiBDIEFQSSwgcnVuIHZpYSBMaWIvdGVzdC90ZXN0X2NhcGkucHksIGFuZAogICAgIGltcGxlbWVudGVkIGJ5IG1vZHVsZSBNb2R1bGVzL190ZXN0Y2FwaW1vZHVsZS5jCitfdGVzdGJ1ZmZlcgorICAgIGJ1ZmZlciBwcm90b2NvbCB0ZXN0cywgcnVuIHZpYSBMaWIvdGVzdC90ZXN0X2J1ZmZlci5weSwgYW5kCisgICAgaW1wbGVtZW50ZWQgYnkgbW9kdWxlIE1vZHVsZXMvX3Rlc3RidWZmZXIuYwogcHlleHBhdAogICAgIFB5dGhvbiB3cmFwcGVyIGZvciBhY2NlbGVyYXRlZCBYTUwgcGFyc2luZywgd2hpY2ggaW5jb3Jwb3JhdGVzIHN0YWJsZQogICAgIGNvZGUgZnJvbSB0aGUgRXhwYXQgcHJvamVjdDogIGh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvZXhwYXQvCkBAIC0xMTIsOSArMTE1LDkgQEAKICAgICBwcmUtYnVpbHQgVGNsL1RrIGluIGVpdGhlciAuLlwuLlx0Y2x0ayBmb3IgMzItYml0IG9yIC4uXC4uXHRjbHRrNjQgZm9yCiAgICAgNjQtYml0IChyZWxhdGl2ZSB0byB0aGlzIGRpcmVjdG9yeSkuICBTZWUgYmVsb3cgZm9yIGluc3RydWN0aW9ucyB0byBidWlsZAogICAgIFRjbC9Uay4gCi1iejIKLSAgICBQeXRob24gd3JhcHBlciBmb3IgdGhlIGxpYmJ6MiBjb21wcmVzc2lvbiBsaWJyYXJ5LiAgSG9tZXBhZ2UKLSAgICAgICAgaHR0cDovL3NvdXJjZXMucmVkaGF0LmNvbS9iemlwMi8KK19iejIKKyAgICBQeXRob24gd3JhcHBlciBmb3IgdGhlIGxpYmJ6aXAyIGNvbXByZXNzaW9uIGxpYnJhcnkuICBIb21lcGFnZQorICAgICAgICBodHRwOi8vd3d3LmJ6aXAub3JnLwogICAgIERvd25sb2FkIHRoZSBzb3VyY2UgZnJvbSB0aGUgcHl0aG9uLm9yZyBjb3B5IGludG8gdGhlIGRpc3QKICAgICBkaXJlY3Rvcnk6CiAKQEAgLTEzMyw2ICsxMzYsMTIgQEAKIAogICAgIEFsbCBvZiB0aGlzIG1hbmFnZWQgdG8gYnVpbGQgbGliYnoyLmxpYiBpbiAKICAgICBiemlwMi0xLjAuNVwkcGxhdGZvcm0tJGNvbmZpZ3VyYXRpb25cLCB3aGljaCB0aGUgUHl0aG9uIHByb2plY3QgbGlua3MgaW4uCitfbHptYQorICAgIFB5dGhvbiB3cmFwcGVyIGZvciB0aGUgbGlibHptYSBjb21wcmVzc2lvbiBsaWJyYXJ5LgorCisgICAgRG93bmxvYWQgdGhlIHByZS1idWlsdCBXaW5kb3dzIGJpbmFyaWVzIGZyb20gaHR0cDovL3R1a2Fhbmkub3JnL3h6LywgYW5kCisgICAgZXh0cmFjdCB0byAuLlx4ei01LjAuMy4gSWYgeW91IGFyZSB1c2luZyBhIG1vcmUgcmVjZW50IHZlcnNpb24gb2YgbGlibHptYSwKKyAgICBpdCB3aWxsIGJlIG5lY2Vzc2FyeSB0byByZW5hbWUgdGhlIGRpcmVjdG9yeSBmcm9tIHh6LTxWRVJTSU9OPiB0byB4ei01LjAuMy4KIAogX3NzbAogICAgIFB5dGhvbiB3cmFwcGVyIGZvciB0aGUgc2VjdXJlIHNvY2tldHMgbGlicmFyeS4KZGlmZiAtLWdpdCBhL1BhcnNlci9QeXRob24uYXNkbCBiL1BhcnNlci9QeXRob24uYXNkbAppbmRleCA5NDA3YjJmLi42YjA2ZGVjIDEwMDY0NAotLS0gYS9QYXJzZXIvUHl0aG9uLmFzZGwKKysrIGIvUGFyc2VyL1B5dGhvbi5hc2RsCkBAIC0xLDExOSArMSwxMjAgQEAKLS0tIEFTREwncyBmb3VyIGJ1aWx0aW4gdHlwZXMgYXJlIGlkZW50aWZpZXIsIGludCwgc3RyaW5nLCBvYmplY3QKKy0tIEFTREwncyBmaXZlIGJ1aWx0aW4gdHlwZXMgYXJlIGlkZW50aWZpZXIsIGludCwgc3RyaW5nLCBieXRlcywgb2JqZWN0CiAKLW1vZHVsZSBQeXRob24gdmVyc2lvbiAiJFJldmlzaW9uJCIKK21vZHVsZSBQeXRob24KIHsKLQltb2QgPSBNb2R1bGUoc3RtdCogYm9keSkKLQkgICAgfCBJbnRlcmFjdGl2ZShzdG10KiBib2R5KQotCSAgICB8IEV4cHJlc3Npb24oZXhwciBib2R5KQorICAgIG1vZCA9IE1vZHVsZShzdG10KiBib2R5KQorICAgICAgICB8IEludGVyYWN0aXZlKHN0bXQqIGJvZHkpCisgICAgICAgIHwgRXhwcmVzc2lvbihleHByIGJvZHkpCiAKLQkgICAgLS0gbm90IHJlYWxseSBhbiBhY3R1YWwgbm9kZSBidXQgdXNlZnVsIGluIEp5dGhvbidzIHR5cGVzeXN0ZW0uCi0JICAgIHwgU3VpdGUoc3RtdCogYm9keSkKKyAgICAgICAgLS0gbm90IHJlYWxseSBhbiBhY3R1YWwgbm9kZSBidXQgdXNlZnVsIGluIEp5dGhvbidzIHR5cGVzeXN0ZW0uCisgICAgICAgIHwgU3VpdGUoc3RtdCogYm9keSkKIAotCXN0bXQgPSBGdW5jdGlvbkRlZihpZGVudGlmaWVyIG5hbWUsIGFyZ3VtZW50cyBhcmdzLCAKKyAgICBzdG10ID0gRnVuY3Rpb25EZWYoaWRlbnRpZmllciBuYW1lLCBhcmd1bWVudHMgYXJncywgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG10KiBib2R5LCBleHByKiBkZWNvcmF0b3JfbGlzdCwgZXhwcj8gcmV0dXJucykKLQkgICAgICB8IENsYXNzRGVmKGlkZW50aWZpZXIgbmFtZSwgCi0JCQkgZXhwciogYmFzZXMsCi0JCQkga2V5d29yZCoga2V5d29yZHMsCi0JCQkgZXhwcj8gc3RhcmFyZ3MsCi0JCQkgZXhwcj8ga3dhcmdzLAotCQkJIHN0bXQqIGJvZHksCi0JCQkgZXhwciogZGVjb3JhdG9yX2xpc3QpCi0JICAgICAgfCBSZXR1cm4oZXhwcj8gdmFsdWUpCisgICAgICAgICAgfCBDbGFzc0RlZihpZGVudGlmaWVyIG5hbWUsIAorICAgICAgICAgICAgIGV4cHIqIGJhc2VzLAorICAgICAgICAgICAgIGtleXdvcmQqIGtleXdvcmRzLAorICAgICAgICAgICAgIGV4cHI/IHN0YXJhcmdzLAorICAgICAgICAgICAgIGV4cHI/IGt3YXJncywKKyAgICAgICAgICAgICBzdG10KiBib2R5LAorICAgICAgICAgICAgIGV4cHIqIGRlY29yYXRvcl9saXN0KQorICAgICAgICAgIHwgUmV0dXJuKGV4cHI/IHZhbHVlKQogCi0JICAgICAgfCBEZWxldGUoZXhwciogdGFyZ2V0cykKLQkgICAgICB8IEFzc2lnbihleHByKiB0YXJnZXRzLCBleHByIHZhbHVlKQotCSAgICAgIHwgQXVnQXNzaWduKGV4cHIgdGFyZ2V0LCBvcGVyYXRvciBvcCwgZXhwciB2YWx1ZSkKKyAgICAgICAgICB8IERlbGV0ZShleHByKiB0YXJnZXRzKQorICAgICAgICAgIHwgQXNzaWduKGV4cHIqIHRhcmdldHMsIGV4cHIgdmFsdWUpCisgICAgICAgICAgfCBBdWdBc3NpZ24oZXhwciB0YXJnZXQsIG9wZXJhdG9yIG9wLCBleHByIHZhbHVlKQogCi0JICAgICAgLS0gdXNlICdvcmVsc2UnIGJlY2F1c2UgZWxzZSBpcyBhIGtleXdvcmQgaW4gdGFyZ2V0IGxhbmd1YWdlcwotCSAgICAgIHwgRm9yKGV4cHIgdGFyZ2V0LCBleHByIGl0ZXIsIHN0bXQqIGJvZHksIHN0bXQqIG9yZWxzZSkKLQkgICAgICB8IFdoaWxlKGV4cHIgdGVzdCwgc3RtdCogYm9keSwgc3RtdCogb3JlbHNlKQotCSAgICAgIHwgSWYoZXhwciB0ZXN0LCBzdG10KiBib2R5LCBzdG10KiBvcmVsc2UpCi0JICAgICAgfCBXaXRoKGV4cHIgY29udGV4dF9leHByLCBleHByPyBvcHRpb25hbF92YXJzLCBzdG10KiBib2R5KQorICAgICAgICAgIC0tIHVzZSAnb3JlbHNlJyBiZWNhdXNlIGVsc2UgaXMgYSBrZXl3b3JkIGluIHRhcmdldCBsYW5ndWFnZXMKKyAgICAgICAgICB8IEZvcihleHByIHRhcmdldCwgZXhwciBpdGVyLCBzdG10KiBib2R5LCBzdG10KiBvcmVsc2UpCisgICAgICAgICAgfCBXaGlsZShleHByIHRlc3QsIHN0bXQqIGJvZHksIHN0bXQqIG9yZWxzZSkKKyAgICAgICAgICB8IElmKGV4cHIgdGVzdCwgc3RtdCogYm9keSwgc3RtdCogb3JlbHNlKQorICAgICAgICAgIHwgV2l0aCh3aXRoaXRlbSogaXRlbXMsIHN0bXQqIGJvZHkpCiAKLQkgICAgICB8IFJhaXNlKGV4cHI/IGV4YywgZXhwcj8gY2F1c2UpCi0JICAgICAgfCBUcnlFeGNlcHQoc3RtdCogYm9keSwgZXhjZXB0aGFuZGxlciogaGFuZGxlcnMsIHN0bXQqIG9yZWxzZSkKLQkgICAgICB8IFRyeUZpbmFsbHkoc3RtdCogYm9keSwgc3RtdCogZmluYWxib2R5KQotCSAgICAgIHwgQXNzZXJ0KGV4cHIgdGVzdCwgZXhwcj8gbXNnKQorICAgICAgICAgIHwgUmFpc2UoZXhwcj8gZXhjLCBleHByPyBjYXVzZSkKKyAgICAgICAgICB8IFRyeShzdG10KiBib2R5LCBleGNlcHRoYW5kbGVyKiBoYW5kbGVycywgc3RtdCogb3JlbHNlLCBzdG10KiBmaW5hbGJvZHkpCisgICAgICAgICAgfCBBc3NlcnQoZXhwciB0ZXN0LCBleHByPyBtc2cpCiAKLQkgICAgICB8IEltcG9ydChhbGlhcyogbmFtZXMpCi0JICAgICAgfCBJbXBvcnRGcm9tKGlkZW50aWZpZXI/IG1vZHVsZSwgYWxpYXMqIG5hbWVzLCBpbnQ/IGxldmVsKQorICAgICAgICAgIHwgSW1wb3J0KGFsaWFzKiBuYW1lcykKKyAgICAgICAgICB8IEltcG9ydEZyb20oaWRlbnRpZmllcj8gbW9kdWxlLCBhbGlhcyogbmFtZXMsIGludD8gbGV2ZWwpCiAKLQkgICAgICB8IEdsb2JhbChpZGVudGlmaWVyKiBuYW1lcykKLQkgICAgICB8IE5vbmxvY2FsKGlkZW50aWZpZXIqIG5hbWVzKQotCSAgICAgIHwgRXhwcihleHByIHZhbHVlKQotCSAgICAgIHwgUGFzcyB8IEJyZWFrIHwgQ29udGludWUKKyAgICAgICAgICB8IEdsb2JhbChpZGVudGlmaWVyKiBuYW1lcykKKyAgICAgICAgICB8IE5vbmxvY2FsKGlkZW50aWZpZXIqIG5hbWVzKQorICAgICAgICAgIHwgRXhwcihleHByIHZhbHVlKQorICAgICAgICAgIHwgUGFzcyB8IEJyZWFrIHwgQ29udGludWUKIAotCSAgICAgIC0tIFhYWCBKeXRob24gd2lsbCBiZSBkaWZmZXJlbnQKLQkgICAgICAtLSBjb2xfb2Zmc2V0IGlzIHRoZSBieXRlIG9mZnNldCBpbiB0aGUgdXRmOCBzdHJpbmcgdGhlIHBhcnNlciB1c2VzCi0JICAgICAgYXR0cmlidXRlcyAoaW50IGxpbmVubywgaW50IGNvbF9vZmZzZXQpCisgICAgICAgICAgLS0gWFhYIEp5dGhvbiB3aWxsIGJlIGRpZmZlcmVudAorICAgICAgICAgIC0tIGNvbF9vZmZzZXQgaXMgdGhlIGJ5dGUgb2Zmc2V0IGluIHRoZSB1dGY4IHN0cmluZyB0aGUgcGFyc2VyIHVzZXMKKyAgICAgICAgICBhdHRyaWJ1dGVzIChpbnQgbGluZW5vLCBpbnQgY29sX29mZnNldCkKIAotCSAgICAgIC0tIEJvb2xPcCgpIGNhbiB1c2UgbGVmdCAmIHJpZ2h0PwotCWV4cHIgPSBCb29sT3AoYm9vbG9wIG9wLCBleHByKiB2YWx1ZXMpCi0JICAgICB8IEJpbk9wKGV4cHIgbGVmdCwgb3BlcmF0b3Igb3AsIGV4cHIgcmlnaHQpCi0JICAgICB8IFVuYXJ5T3AodW5hcnlvcCBvcCwgZXhwciBvcGVyYW5kKQotCSAgICAgfCBMYW1iZGEoYXJndW1lbnRzIGFyZ3MsIGV4cHIgYm9keSkKLQkgICAgIHwgSWZFeHAoZXhwciB0ZXN0LCBleHByIGJvZHksIGV4cHIgb3JlbHNlKQotCSAgICAgfCBEaWN0KGV4cHIqIGtleXMsIGV4cHIqIHZhbHVlcykKLQkgICAgIHwgU2V0KGV4cHIqIGVsdHMpCi0JICAgICB8IExpc3RDb21wKGV4cHIgZWx0LCBjb21wcmVoZW5zaW9uKiBnZW5lcmF0b3JzKQotCSAgICAgfCBTZXRDb21wKGV4cHIgZWx0LCBjb21wcmVoZW5zaW9uKiBnZW5lcmF0b3JzKQotCSAgICAgfCBEaWN0Q29tcChleHByIGtleSwgZXhwciB2YWx1ZSwgY29tcHJlaGVuc2lvbiogZ2VuZXJhdG9ycykKLQkgICAgIHwgR2VuZXJhdG9yRXhwKGV4cHIgZWx0LCBjb21wcmVoZW5zaW9uKiBnZW5lcmF0b3JzKQotCSAgICAgLS0gdGhlIGdyYW1tYXIgY29uc3RyYWlucyB3aGVyZSB5aWVsZCBleHByZXNzaW9ucyBjYW4gb2NjdXIKLQkgICAgIHwgWWllbGQoZXhwcj8gdmFsdWUpCi0JICAgICAtLSBuZWVkIHNlcXVlbmNlcyBmb3IgY29tcGFyZSB0byBkaXN0aW5ndWlzaCBiZXR3ZWVuCi0JICAgICAtLSB4IDwgNCA8IDMgYW5kICh4IDwgNCkgPCAzCi0JICAgICB8IENvbXBhcmUoZXhwciBsZWZ0LCBjbXBvcCogb3BzLCBleHByKiBjb21wYXJhdG9ycykKLQkgICAgIHwgQ2FsbChleHByIGZ1bmMsIGV4cHIqIGFyZ3MsIGtleXdvcmQqIGtleXdvcmRzLAotCQkJIGV4cHI/IHN0YXJhcmdzLCBleHByPyBrd2FyZ3MpCi0JICAgICB8IE51bShvYmplY3QgbikgLS0gYSBudW1iZXIgYXMgYSBQeU9iamVjdC4KLQkgICAgIHwgU3RyKHN0cmluZyBzKSAtLSBuZWVkIHRvIHNwZWNpZnkgcmF3LCB1bmljb2RlLCBldGM/Ci0JICAgICB8IEJ5dGVzKHN0cmluZyBzKQotCSAgICAgfCBFbGxpcHNpcwotCSAgICAgLS0gb3RoZXIgbGl0ZXJhbHM/IGJvb2xzPworICAgICAgICAgIC0tIEJvb2xPcCgpIGNhbiB1c2UgbGVmdCAmIHJpZ2h0PworICAgIGV4cHIgPSBCb29sT3AoYm9vbG9wIG9wLCBleHByKiB2YWx1ZXMpCisgICAgICAgICB8IEJpbk9wKGV4cHIgbGVmdCwgb3BlcmF0b3Igb3AsIGV4cHIgcmlnaHQpCisgICAgICAgICB8IFVuYXJ5T3AodW5hcnlvcCBvcCwgZXhwciBvcGVyYW5kKQorICAgICAgICAgfCBMYW1iZGEoYXJndW1lbnRzIGFyZ3MsIGV4cHIgYm9keSkKKyAgICAgICAgIHwgSWZFeHAoZXhwciB0ZXN0LCBleHByIGJvZHksIGV4cHIgb3JlbHNlKQorICAgICAgICAgfCBEaWN0KGV4cHIqIGtleXMsIGV4cHIqIHZhbHVlcykKKyAgICAgICAgIHwgU2V0KGV4cHIqIGVsdHMpCisgICAgICAgICB8IExpc3RDb21wKGV4cHIgZWx0LCBjb21wcmVoZW5zaW9uKiBnZW5lcmF0b3JzKQorICAgICAgICAgfCBTZXRDb21wKGV4cHIgZWx0LCBjb21wcmVoZW5zaW9uKiBnZW5lcmF0b3JzKQorICAgICAgICAgfCBEaWN0Q29tcChleHByIGtleSwgZXhwciB2YWx1ZSwgY29tcHJlaGVuc2lvbiogZ2VuZXJhdG9ycykKKyAgICAgICAgIHwgR2VuZXJhdG9yRXhwKGV4cHIgZWx0LCBjb21wcmVoZW5zaW9uKiBnZW5lcmF0b3JzKQorICAgICAgICAgLS0gdGhlIGdyYW1tYXIgY29uc3RyYWlucyB3aGVyZSB5aWVsZCBleHByZXNzaW9ucyBjYW4gb2NjdXIKKyAgICAgICAgIHwgWWllbGQoZXhwcj8gdmFsdWUpCisgICAgICAgICAgICAgfCBZaWVsZEZyb20oZXhwcj8gdmFsdWUpCisgICAgICAgICAtLSBuZWVkIHNlcXVlbmNlcyBmb3IgY29tcGFyZSB0byBkaXN0aW5ndWlzaCBiZXR3ZWVuCisgICAgICAgICAtLSB4IDwgNCA8IDMgYW5kICh4IDwgNCkgPCAzCisgICAgICAgICB8IENvbXBhcmUoZXhwciBsZWZ0LCBjbXBvcCogb3BzLCBleHByKiBjb21wYXJhdG9ycykKKyAgICAgICAgIHwgQ2FsbChleHByIGZ1bmMsIGV4cHIqIGFyZ3MsIGtleXdvcmQqIGtleXdvcmRzLAorICAgICAgICAgICAgIGV4cHI/IHN0YXJhcmdzLCBleHByPyBrd2FyZ3MpCisgICAgICAgICB8IE51bShvYmplY3QgbikgLS0gYSBudW1iZXIgYXMgYSBQeU9iamVjdC4KKyAgICAgICAgIHwgU3RyKHN0cmluZyBzKSAtLSBuZWVkIHRvIHNwZWNpZnkgcmF3LCB1bmljb2RlLCBldGM/CisgICAgICAgICB8IEJ5dGVzKGJ5dGVzIHMpCisgICAgICAgICB8IEVsbGlwc2lzCisgICAgICAgICAtLSBvdGhlciBsaXRlcmFscz8gYm9vbHM/CiAKLQkgICAgIC0tIHRoZSBmb2xsb3dpbmcgZXhwcmVzc2lvbiBjYW4gYXBwZWFyIGluIGFzc2lnbm1lbnQgY29udGV4dAotCSAgICAgfCBBdHRyaWJ1dGUoZXhwciB2YWx1ZSwgaWRlbnRpZmllciBhdHRyLCBleHByX2NvbnRleHQgY3R4KQotCSAgICAgfCBTdWJzY3JpcHQoZXhwciB2YWx1ZSwgc2xpY2Ugc2xpY2UsIGV4cHJfY29udGV4dCBjdHgpCi0JICAgICB8IFN0YXJyZWQoZXhwciB2YWx1ZSwgZXhwcl9jb250ZXh0IGN0eCkKLQkgICAgIHwgTmFtZShpZGVudGlmaWVyIGlkLCBleHByX2NvbnRleHQgY3R4KQotCSAgICAgfCBMaXN0KGV4cHIqIGVsdHMsIGV4cHJfY29udGV4dCBjdHgpIAotCSAgICAgfCBUdXBsZShleHByKiBlbHRzLCBleHByX2NvbnRleHQgY3R4KQorICAgICAgICAgLS0gdGhlIGZvbGxvd2luZyBleHByZXNzaW9uIGNhbiBhcHBlYXIgaW4gYXNzaWdubWVudCBjb250ZXh0CisgICAgICAgICB8IEF0dHJpYnV0ZShleHByIHZhbHVlLCBpZGVudGlmaWVyIGF0dHIsIGV4cHJfY29udGV4dCBjdHgpCisgICAgICAgICB8IFN1YnNjcmlwdChleHByIHZhbHVlLCBzbGljZSBzbGljZSwgZXhwcl9jb250ZXh0IGN0eCkKKyAgICAgICAgIHwgU3RhcnJlZChleHByIHZhbHVlLCBleHByX2NvbnRleHQgY3R4KQorICAgICAgICAgfCBOYW1lKGlkZW50aWZpZXIgaWQsIGV4cHJfY29udGV4dCBjdHgpCisgICAgICAgICB8IExpc3QoZXhwciogZWx0cywgZXhwcl9jb250ZXh0IGN0eCkgCisgICAgICAgICB8IFR1cGxlKGV4cHIqIGVsdHMsIGV4cHJfY29udGV4dCBjdHgpCiAKLQkgICAgICAtLSBjb2xfb2Zmc2V0IGlzIHRoZSBieXRlIG9mZnNldCBpbiB0aGUgdXRmOCBzdHJpbmcgdGhlIHBhcnNlciB1c2VzCi0JICAgICAgYXR0cmlidXRlcyAoaW50IGxpbmVubywgaW50IGNvbF9vZmZzZXQpCisgICAgICAgICAgLS0gY29sX29mZnNldCBpcyB0aGUgYnl0ZSBvZmZzZXQgaW4gdGhlIHV0Zjggc3RyaW5nIHRoZSBwYXJzZXIgdXNlcworICAgICAgICAgIGF0dHJpYnV0ZXMgKGludCBsaW5lbm8sIGludCBjb2xfb2Zmc2V0KQogCi0JZXhwcl9jb250ZXh0ID0gTG9hZCB8IFN0b3JlIHwgRGVsIHwgQXVnTG9hZCB8IEF1Z1N0b3JlIHwgUGFyYW0KKyAgICBleHByX2NvbnRleHQgPSBMb2FkIHwgU3RvcmUgfCBEZWwgfCBBdWdMb2FkIHwgQXVnU3RvcmUgfCBQYXJhbQogCi0Jc2xpY2UgPSBTbGljZShleHByPyBsb3dlciwgZXhwcj8gdXBwZXIsIGV4cHI/IHN0ZXApIAotCSAgICAgIHwgRXh0U2xpY2Uoc2xpY2UqIGRpbXMpIAotCSAgICAgIHwgSW5kZXgoZXhwciB2YWx1ZSkgCisgICAgc2xpY2UgPSBTbGljZShleHByPyBsb3dlciwgZXhwcj8gdXBwZXIsIGV4cHI/IHN0ZXApIAorICAgICAgICAgIHwgRXh0U2xpY2Uoc2xpY2UqIGRpbXMpIAorICAgICAgICAgIHwgSW5kZXgoZXhwciB2YWx1ZSkgCiAKLQlib29sb3AgPSBBbmQgfCBPciAKKyAgICBib29sb3AgPSBBbmQgfCBPciAKIAotCW9wZXJhdG9yID0gQWRkIHwgU3ViIHwgTXVsdCB8IERpdiB8IE1vZCB8IFBvdyB8IExTaGlmdCAKKyAgICBvcGVyYXRvciA9IEFkZCB8IFN1YiB8IE11bHQgfCBEaXYgfCBNb2QgfCBQb3cgfCBMU2hpZnQgCiAgICAgICAgICAgICAgICAgIHwgUlNoaWZ0IHwgQml0T3IgfCBCaXRYb3IgfCBCaXRBbmQgfCBGbG9vckRpdgogCi0JdW5hcnlvcCA9IEludmVydCB8IE5vdCB8IFVBZGQgfCBVU3ViCisgICAgdW5hcnlvcCA9IEludmVydCB8IE5vdCB8IFVBZGQgfCBVU3ViCiAKLQljbXBvcCA9IEVxIHwgTm90RXEgfCBMdCB8IEx0RSB8IEd0IHwgR3RFIHwgSXMgfCBJc05vdCB8IEluIHwgTm90SW4KKyAgICBjbXBvcCA9IEVxIHwgTm90RXEgfCBMdCB8IEx0RSB8IEd0IHwgR3RFIHwgSXMgfCBJc05vdCB8IEluIHwgTm90SW4KIAotCWNvbXByZWhlbnNpb24gPSAoZXhwciB0YXJnZXQsIGV4cHIgaXRlciwgZXhwciogaWZzKQorICAgIGNvbXByZWhlbnNpb24gPSAoZXhwciB0YXJnZXQsIGV4cHIgaXRlciwgZXhwciogaWZzKQogCi0JLS0gbm90IHN1cmUgd2hhdCB0byBjYWxsIHRoZSBmaXJzdCBhcmd1bWVudCBmb3IgcmFpc2UgYW5kIGV4Y2VwdAotCWV4Y2VwdGhhbmRsZXIgPSBFeGNlcHRIYW5kbGVyKGV4cHI/IHR5cGUsIGlkZW50aWZpZXI/IG5hbWUsIHN0bXQqIGJvZHkpCi0JICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXMgKGludCBsaW5lbm8sIGludCBjb2xfb2Zmc2V0KQorICAgIGV4Y2VwdGhhbmRsZXIgPSBFeGNlcHRIYW5kbGVyKGV4cHI/IHR5cGUsIGlkZW50aWZpZXI/IG5hbWUsIHN0bXQqIGJvZHkpCisgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXMgKGludCBsaW5lbm8sIGludCBjb2xfb2Zmc2V0KQogCi0JYXJndW1lbnRzID0gKGFyZyogYXJncywgaWRlbnRpZmllcj8gdmFyYXJnLCBleHByPyB2YXJhcmdhbm5vdGF0aW9uLAorICAgIGFyZ3VtZW50cyA9IChhcmcqIGFyZ3MsIGlkZW50aWZpZXI/IHZhcmFyZywgZXhwcj8gdmFyYXJnYW5ub3RhdGlvbiwKICAgICAgICAgICAgICAgICAgICAgIGFyZyoga3dvbmx5YXJncywgaWRlbnRpZmllcj8ga3dhcmcsCiAgICAgICAgICAgICAgICAgICAgICBleHByPyBrd2FyZ2Fubm90YXRpb24sIGV4cHIqIGRlZmF1bHRzLAogICAgICAgICAgICAgICAgICAgICAgZXhwcioga3dfZGVmYXVsdHMpCi0JYXJnID0gKGlkZW50aWZpZXIgYXJnLCBleHByPyBhbm5vdGF0aW9uKQorICAgIGFyZyA9IChpZGVudGlmaWVyIGFyZywgZXhwcj8gYW5ub3RhdGlvbikKIAotICAgICAgICAtLSBrZXl3b3JkIGFyZ3VtZW50cyBzdXBwbGllZCB0byBjYWxsCi0gICAgICAgIGtleXdvcmQgPSAoaWRlbnRpZmllciBhcmcsIGV4cHIgdmFsdWUpCisgICAgLS0ga2V5d29yZCBhcmd1bWVudHMgc3VwcGxpZWQgdG8gY2FsbAorICAgIGtleXdvcmQgPSAoaWRlbnRpZmllciBhcmcsIGV4cHIgdmFsdWUpCiAKLSAgICAgICAgLS0gaW1wb3J0IG5hbWUgd2l0aCBvcHRpb25hbCAnYXMnIGFsaWFzLgotICAgICAgICBhbGlhcyA9IChpZGVudGlmaWVyIG5hbWUsIGlkZW50aWZpZXI/IGFzbmFtZSkKKyAgICAtLSBpbXBvcnQgbmFtZSB3aXRoIG9wdGlvbmFsICdhcycgYWxpYXMuCisgICAgYWxpYXMgPSAoaWRlbnRpZmllciBuYW1lLCBpZGVudGlmaWVyPyBhc25hbWUpCisKKyAgICB3aXRoaXRlbSA9IChleHByIGNvbnRleHRfZXhwciwgZXhwcj8gb3B0aW9uYWxfdmFycykKIH0KIApkaWZmIC0tZ2l0IGEvUGFyc2VyL2FzZGwucHkgYi9QYXJzZXIvYXNkbC5weQppbmRleCA3YjRlMmRjLi4wMWE4YjVlIDEwMDY0NAotLS0gYS9QYXJzZXIvYXNkbC5weQorKysgYi9QYXJzZXIvYXNkbC5weQpAQCAtMTE0LDI4ICsxMTQsMjAgQEAKICAgICAgICAgcmFpc2UgQVNETFN5bnRheEVycm9yKHRvay5saW5lbm8sIHRvaykKIAogICAgIGRlZiBwX21vZHVsZV8wKHNlbGYsIGluZm8pOgotICAgICAgICAiIG1vZHVsZSA6Oj0gSWQgSWQgdmVyc2lvbiB7IH0gIgotICAgICAgICBtb2R1bGUsIG5hbWUsIHZlcnNpb24sIF8wLCBfMSA9IGluZm8KKyAgICAgICAgIiBtb2R1bGUgOjo9IElkIElkIHsgfSAiCisgICAgICAgIG1vZHVsZSwgbmFtZSwgXzAsIF8xID0gaW5mbwogICAgICAgICBpZiBtb2R1bGUudmFsdWUgIT0gIm1vZHVsZSI6CiAgICAgICAgICAgICByYWlzZSBBU0RMU3ludGF4RXJyb3IobW9kdWxlLmxpbmVubywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc2c9ImV4cGVjdGVkICdtb2R1bGUnLCBmb3VuZCAlcyIgJSBtb2R1bGUpCi0gICAgICAgIHJldHVybiBNb2R1bGUobmFtZSwgTm9uZSwgdmVyc2lvbikKKyAgICAgICAgcmV0dXJuIE1vZHVsZShuYW1lLCBOb25lKQogCiAgICAgZGVmIHBfbW9kdWxlKHNlbGYsIGluZm8pOgotICAgICAgICAiIG1vZHVsZSA6Oj0gSWQgSWQgdmVyc2lvbiB7IGRlZmluaXRpb25zIH0gIgotICAgICAgICBtb2R1bGUsIG5hbWUsIHZlcnNpb24sIF8wLCBkZWZpbml0aW9ucywgXzEgPSBpbmZvCisgICAgICAgICIgbW9kdWxlIDo6PSBJZCBJZCB7IGRlZmluaXRpb25zIH0gIgorICAgICAgICBtb2R1bGUsIG5hbWUsIF8wLCBkZWZpbml0aW9ucywgXzEgPSBpbmZvCiAgICAgICAgIGlmIG1vZHVsZS52YWx1ZSAhPSAibW9kdWxlIjoKICAgICAgICAgICAgIHJhaXNlIEFTRExTeW50YXhFcnJvcihtb2R1bGUubGluZW5vLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zZz0iZXhwZWN0ZWQgJ21vZHVsZScsIGZvdW5kICVzIiAlIG1vZHVsZSkKLSAgICAgICAgcmV0dXJuIE1vZHVsZShuYW1lLCBkZWZpbml0aW9ucywgdmVyc2lvbikKLQotICAgIGRlZiBwX3ZlcnNpb24oc2VsZiwgaW5mbyk6Ci0gICAgICAgICJ2ZXJzaW9uIDo6PSBJZCBTdHJpbmciCi0gICAgICAgIHZlcnNpb24sIFYgPSBpbmZvCi0gICAgICAgIGlmIHZlcnNpb24udmFsdWUgIT0gInZlcnNpb24iOgotICAgICAgICAgICAgcmFpc2UgQVNETFN5bnRheEVycm9yKHZlcnNpb24ubGluZW5vLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zZz0iZXhwZWN0ZWQgJ3ZlcnNpb24nLCBmb3VuZCAlIiAlIHZlcnNpb24pCi0gICAgICAgIHJldHVybiBWCisgICAgICAgIHJldHVybiBNb2R1bGUobmFtZSwgZGVmaW5pdGlvbnMpCiAKICAgICBkZWYgcF9kZWZpbml0aW9uXzAoc2VsZiwgZGVmaW5pdGlvbik6CiAgICAgICAgICIgZGVmaW5pdGlvbnMgOjo9IGRlZmluaXRpb24gIgpAQCAtMjM2LDcgKzIyOCw3IEBACiAgICAgICAgICIgZmllbGQgOjo9IElkID8gIgogICAgICAgICByZXR1cm4gRmllbGQodHlwZVswXSwgb3B0PVRydWUpCiAKLWJ1aWx0aW5fdHlwZXMgPSAoImlkZW50aWZpZXIiLCAic3RyaW5nIiwgImludCIsICJib29sIiwgIm9iamVjdCIpCitidWlsdGluX3R5cGVzID0gKCJpZGVudGlmaWVyIiwgInN0cmluZyIsICJieXRlcyIsICJpbnQiLCAib2JqZWN0IikKIAogIyBiZWxvdyBpcyBhIGNvbGxlY3Rpb24gb2YgY2xhc3NlcyB0byBjYXB0dXJlIHRoZSBBU1Qgb2YgYW4gQVNUIDotKQogIyBub3Qgc3VyZSBpZiBhbnkgb2YgdGhlIG1ldGhvZHMgYXJlIHVzZWZ1bCB5ZXQsIGJ1dCBJJ20gYWRkaW5nIHRoZW0KQEAgLTI0NiwxMCArMjM4LDkgQEAKICAgICBwYXNzICMgYSBtYXJrZXIgY2xhc3MKIAogY2xhc3MgTW9kdWxlKEFTVCk6Ci0gICAgZGVmIF9faW5pdF9fKHNlbGYsIG5hbWUsIGRmbnMsIHZlcnNpb24pOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBuYW1lLCBkZm5zKToKICAgICAgICAgc2VsZi5uYW1lID0gbmFtZQogICAgICAgICBzZWxmLmRmbnMgPSBkZm5zCi0gICAgICAgIHNlbGYudmVyc2lvbiA9IHZlcnNpb24KICAgICAgICAgc2VsZi50eXBlcyA9IHt9ICMgbWFwcyB0eXBlIG5hbWUgdG8gdmFsdWUgKGZyb20gZGZucykKICAgICAgICAgZm9yIHR5cGUgaW4gZGZuczoKICAgICAgICAgICAgIHNlbGYudHlwZXNbdHlwZS5uYW1lLnZhbHVlXSA9IHR5cGUudmFsdWUKZGlmZiAtLWdpdCBhL1BhcnNlci9hc2RsX2MucHkgYi9QYXJzZXIvYXNkbF9jLnB5CmluZGV4IGI4NWMwN2UuLjgxYTNkNmEgMTAwNzU1Ci0tLSBhL1BhcnNlci9hc2RsX2MucHkKKysrIGIvUGFyc2VyL2FzZGxfYy5weQpAQCAtNSw2ICs1LDcgQEAKICMgaGFuZGxlIGZpZWxkcyB0aGF0IGhhdmUgYSB0eXBlIGJ1dCBubyBuYW1lCiAKIGltcG9ydCBvcywgc3lzCitpbXBvcnQgc3VicHJvY2VzcwogCiBpbXBvcnQgYXNkbAogCkBAIC04NCw4ICs4NSwxNiBAQAogCiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIGZpbGUpOgogICAgICAgICBzZWxmLmZpbGUgPSBmaWxlCisgICAgICAgIHNlbGYuaWRlbnRpZmllcnMgPSBzZXQoKQogICAgICAgICBzdXBlcihFbWl0VmlzaXRvciwgc2VsZikuX19pbml0X18oKQogCisgICAgZGVmIGVtaXRfaWRlbnRpZmllcihzZWxmLCBuYW1lKToKKyAgICAgICAgbmFtZSA9IHN0cihuYW1lKQorICAgICAgICBpZiBuYW1lIGluIHNlbGYuaWRlbnRpZmllcnM6CisgICAgICAgICAgICByZXR1cm4KKyAgICAgICAgc2VsZi5lbWl0KCJfUHlfSURFTlRJRklFUiglcyk7IiAlIG5hbWUsIDApCisgICAgICAgIHNlbGYuaWRlbnRpZmllcnMuYWRkKG5hbWUpCisKICAgICBkZWYgZW1pdChzZWxmLCBzLCBkZXB0aCwgcmVmbG93PVRydWUpOgogICAgICAgICAjIFhYWCByZWZsb3cgbG9uZyBsaW5lcz8KICAgICAgICAgaWYgcmVmbG93OgpAQCAtNDg1LDEyICs0OTQsMTIgQEAKIAogICAgIGRlZiB2aXNpdEZpZWxkKHNlbGYsIGZpZWxkLCBuYW1lLCBzdW09Tm9uZSwgcHJvZD1Ob25lLCBkZXB0aD0wKToKICAgICAgICAgY3R5cGUgPSBnZXRfY190eXBlKGZpZWxkLnR5cGUpCi0gICAgICAgIHNlbGYuZW1pdCgiaWYgKFB5T2JqZWN0X0hhc0F0dHJTdHJpbmcob2JqLCBcIiVzXCIpKSB7IiAlIGZpZWxkLm5hbWUsIGRlcHRoKQorICAgICAgICBzZWxmLmVtaXQoImlmIChfUHlPYmplY3RfSGFzQXR0cklkKG9iaiwgJlB5SWRfJXMpKSB7IiAlIGZpZWxkLm5hbWUsIGRlcHRoKQogICAgICAgICBzZWxmLmVtaXQoImludCByZXM7IiwgZGVwdGgrMSkKICAgICAgICAgaWYgZmllbGQuc2VxOgogICAgICAgICAgICAgc2VsZi5lbWl0KCJQeV9zc2l6ZV90IGxlbjsiLCBkZXB0aCsxKQogICAgICAgICAgICAgc2VsZi5lbWl0KCJQeV9zc2l6ZV90IGk7IiwgZGVwdGgrMSkKLSAgICAgICAgc2VsZi5lbWl0KCJ0bXAgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKG9iaiwgXCIlc1wiKTsiICUgZmllbGQubmFtZSwgZGVwdGgrMSkKKyAgICAgICAgc2VsZi5lbWl0KCJ0bXAgPSBfUHlPYmplY3RfR2V0QXR0cklkKG9iaiwgJlB5SWRfJXMpOyIgJSBmaWVsZC5uYW1lLCBkZXB0aCsxKQogICAgICAgICBzZWxmLmVtaXQoImlmICh0bXAgPT0gTlVMTCkgZ290byBmYWlsZWQ7IiwgZGVwdGgrMSkKICAgICAgICAgaWYgZmllbGQuc2VxOgogICAgICAgICAgICAgc2VsZi5lbWl0KCJpZiAoIVB5TGlzdF9DaGVjayh0bXApKSB7IiwgZGVwdGgrMSkKQEAgLTU1Miw2ICs1NjEsOCBAQAogICAgICAgICBzZWxmLmVtaXQoInN0YXRpYyBQeVR5cGVPYmplY3QgKiVzX3R5cGU7IiAlIG5hbWUsIDApCiAgICAgICAgIHNlbGYuZW1pdCgic3RhdGljIFB5T2JqZWN0KiBhc3Qyb2JqXyVzKHZvaWQqKTsiICUgbmFtZSwgMCkKICAgICAgICAgaWYgcHJvZC5maWVsZHM6CisgICAgICAgICAgICBmb3IgZiBpbiBwcm9kLmZpZWxkczoKKyAgICAgICAgICAgICAgICBzZWxmLmVtaXRfaWRlbnRpZmllcihmLm5hbWUpCiAgICAgICAgICAgICBzZWxmLmVtaXQoInN0YXRpYyBjaGFyIColc19maWVsZHNbXT17IiAlIG5hbWUsMCkKICAgICAgICAgICAgIGZvciBmIGluIHByb2QuZmllbGRzOgogICAgICAgICAgICAgICAgIHNlbGYuZW1pdCgnIiVzIiwnICUgZi5uYW1lLCAxKQpAQCAtNTYwLDYgKzU3MSw4IEBACiAgICAgZGVmIHZpc2l0U3VtKHNlbGYsIHN1bSwgbmFtZSk6CiAgICAgICAgIHNlbGYuZW1pdCgic3RhdGljIFB5VHlwZU9iamVjdCAqJXNfdHlwZTsiICUgbmFtZSwgMCkKICAgICAgICAgaWYgc3VtLmF0dHJpYnV0ZXM6CisgICAgICAgICAgICBmb3IgYSBpbiBzdW0uYXR0cmlidXRlczoKKyAgICAgICAgICAgICAgICBzZWxmLmVtaXRfaWRlbnRpZmllcihhLm5hbWUpCiAgICAgICAgICAgICBzZWxmLmVtaXQoInN0YXRpYyBjaGFyIColc19hdHRyaWJ1dGVzW10gPSB7IiAlIG5hbWUsIDApCiAgICAgICAgICAgICBmb3IgYSBpbiBzdW0uYXR0cmlidXRlczoKICAgICAgICAgICAgICAgICBzZWxmLmVtaXQoJyIlcyIsJyAlIGEubmFtZSwgMSkKQEAgLTU3OSw2ICs1OTIsOCBAQAogICAgIGRlZiB2aXNpdENvbnN0cnVjdG9yKHNlbGYsIGNvbnMsIG5hbWUpOgogICAgICAgICBzZWxmLmVtaXQoInN0YXRpYyBQeVR5cGVPYmplY3QgKiVzX3R5cGU7IiAlIGNvbnMubmFtZSwgMCkKICAgICAgICAgaWYgY29ucy5maWVsZHM6CisgICAgICAgICAgICBmb3IgdCBpbiBjb25zLmZpZWxkczoKKyAgICAgICAgICAgICAgICBzZWxmLmVtaXRfaWRlbnRpZmllcih0Lm5hbWUpCiAgICAgICAgICAgICBzZWxmLmVtaXQoInN0YXRpYyBjaGFyIColc19maWVsZHNbXT17IiAlIGNvbnMubmFtZSwgMCkKICAgICAgICAgICAgIGZvciB0IGluIGNvbnMuZmllbGRzOgogICAgICAgICAgICAgICAgIHNlbGYuZW1pdCgnIiVzIiwnICUgdC5uYW1lLCAxKQpAQCAtNTg4LDEzICs2MDMsMjUgQEAKIAogICAgIGRlZiB2aXNpdE1vZHVsZShzZWxmLCBtb2QpOgogICAgICAgICBzZWxmLmVtaXQoIiIiCit0eXBlZGVmIHN0cnVjdCB7CisgICAgUHlPYmplY3RfSEVBRAorICAgIFB5T2JqZWN0ICpkaWN0OworfSBBU1Rfb2JqZWN0OworCitzdGF0aWMgdm9pZAorYXN0X2RlYWxsb2MoQVNUX29iamVjdCAqc2VsZikKK3sKKyAgICBQeV9DTEVBUihzZWxmLT5kaWN0KTsKK30KKwogc3RhdGljIGludAogYXN0X3R5cGVfaW5pdChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprdykKIHsKKyAgICBfUHlfSURFTlRJRklFUihfZmllbGRzKTsKICAgICBQeV9zc2l6ZV90IGksIG51bWZpZWxkcyA9IDA7CiAgICAgaW50IHJlcyA9IC0xOwogICAgIFB5T2JqZWN0ICprZXksICp2YWx1ZSwgKmZpZWxkczsKLSAgICBmaWVsZHMgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKChQeU9iamVjdCopUHlfVFlQRShzZWxmKSwgIl9maWVsZHMiKTsKKyAgICBmaWVsZHMgPSBfUHlPYmplY3RfR2V0QXR0cklkKChQeU9iamVjdCopUHlfVFlQRShzZWxmKSwgJlB5SWRfX2ZpZWxkcyk7CiAgICAgaWYgKCFmaWVsZHMpCiAgICAgICAgIFB5RXJyX0NsZWFyKCk7CiAgICAgaWYgKGZpZWxkcykgewpAQCAtNjQ0LDcgKzY3MSw4IEBACiBhc3RfdHlwZV9yZWR1Y2UoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICp1bnVzZWQpCiB7CiAgICAgUHlPYmplY3QgKnJlczsKLSAgICBQeU9iamVjdCAqZGljdCA9IFB5T2JqZWN0X0dldEF0dHJTdHJpbmcoc2VsZiwgIl9fZGljdF9fIik7CisgICAgX1B5X0lERU5USUZJRVIoX19kaWN0X18pOworICAgIFB5T2JqZWN0ICpkaWN0ID0gX1B5T2JqZWN0X0dldEF0dHJJZChzZWxmLCAmUHlJZF9fX2RpY3RfXyk7CiAgICAgaWYgKGRpY3QgPT0gTlVMTCkgewogICAgICAgICBpZiAoUHlFcnJfRXhjZXB0aW9uTWF0Y2hlcyhQeUV4Y19BdHRyaWJ1dGVFcnJvcikpCiAgICAgICAgICAgICBQeUVycl9DbGVhcigpOwpAQCAtNjY0LDEyICs2OTIsMTcgQEAKICAgICB7TlVMTH0KIH07CiAKK3N0YXRpYyBQeUdldFNldERlZiBhc3RfdHlwZV9nZXRzZXRzW10gPSB7CisgICAgeyJfX2RpY3RfXyIsIFB5T2JqZWN0X0dlbmVyaWNHZXREaWN0LCBQeU9iamVjdF9HZW5lcmljU2V0RGljdH0sCisgICAge05VTEx9Cit9OworCiBzdGF0aWMgUHlUeXBlT2JqZWN0IEFTVF90eXBlID0gewogICAgIFB5VmFyT2JqZWN0X0hFQURfSU5JVCgmUHlUeXBlX1R5cGUsIDApCiAgICAgIl9hc3QuQVNUIiwKLSAgICBzaXplb2YoUHlPYmplY3QpLAorICAgIHNpemVvZihBU1Rfb2JqZWN0KSwKICAgICAwLAotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9kZWFsbG9jICovCisgICAgKGRlc3RydWN0b3IpYXN0X2RlYWxsb2MsIC8qIHRwX2RlYWxsb2MgKi8KICAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfcHJpbnQgKi8KICAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfZ2V0YXR0ciAqLwogICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9zZXRhdHRyICovCkBAIC02OTQsMTIgKzcyNywxMiBAQAogICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9pdGVybmV4dCAqLwogICAgIGFzdF90eXBlX21ldGhvZHMsICAgICAgICAvKiB0cF9tZXRob2RzICovCiAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX21lbWJlcnMgKi8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfZ2V0c2V0ICovCisgICAgYXN0X3R5cGVfZ2V0c2V0cywgICAgICAgIC8qIHRwX2dldHNldCAqLwogICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9iYXNlICovCiAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2RpY3QgKi8KICAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfZGVzY3JfZ2V0ICovCiAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2Rlc2NyX3NldCAqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9kaWN0b2Zmc2V0ICovCisgICAgb2Zmc2V0b2YoQVNUX29iamVjdCwgZGljdCksLyogdHBfZGljdG9mZnNldCAqLwogICAgIChpbml0cHJvYylhc3RfdHlwZV9pbml0LCAvKiB0cF9pbml0ICovCiAgICAgUHlUeXBlX0dlbmVyaWNBbGxvYywgICAgIC8qIHRwX2FsbG9jICovCiAgICAgUHlUeXBlX0dlbmVyaWNOZXcsICAgICAgIC8qIHRwX25ldyAqLwpAQCAtNzMwLDYgKzc2Myw3IEBACiBzdGF0aWMgaW50IGFkZF9hdHRyaWJ1dGVzKFB5VHlwZU9iamVjdCogdHlwZSwgY2hhcioqYXR0cnMsIGludCBudW1fZmllbGRzKQogewogICAgIGludCBpLCByZXN1bHQ7CisgICAgX1B5X0lERU5USUZJRVIoX2F0dHJpYnV0ZXMpOwogICAgIFB5T2JqZWN0ICpzLCAqbCA9IFB5VHVwbGVfTmV3KG51bV9maWVsZHMpOwogICAgIGlmICghbCkKICAgICAgICAgcmV0dXJuIDA7CkBAIC03NDEsNyArNzc1LDcgQEAKICAgICAgICAgfQogICAgICAgICBQeVR1cGxlX1NFVF9JVEVNKGwsIGksIHMpOwogICAgIH0KLSAgICByZXN1bHQgPSBQeU9iamVjdF9TZXRBdHRyU3RyaW5nKChQeU9iamVjdCopdHlwZSwgIl9hdHRyaWJ1dGVzIiwgbCkgPj0gMDsKKyAgICByZXN1bHQgPSBfUHlPYmplY3RfU2V0QXR0cklkKChQeU9iamVjdCopdHlwZSwgJlB5SWRfX2F0dHJpYnV0ZXMsIGwpID49IDA7CiAgICAgUHlfREVDUkVGKGwpOwogICAgIHJldHVybiByZXN1bHQ7CiB9CkBAIC03NzUsNiArODA5LDcgQEAKIH0KICNkZWZpbmUgYXN0Mm9ial9pZGVudGlmaWVyIGFzdDJvYmpfb2JqZWN0CiAjZGVmaW5lIGFzdDJvYmpfc3RyaW5nIGFzdDJvYmpfb2JqZWN0CisjZGVmaW5lIGFzdDJvYmpfYnl0ZXMgYXN0Mm9ial9vYmplY3QKIAogc3RhdGljIFB5T2JqZWN0KiBhc3Qyb2JqX2ludChsb25nIGIpCiB7CkBAIC04MTIsNiArODQ3LDE1IEBACiAgICAgcmV0dXJuIG9iajJhc3Rfb2JqZWN0KG9iaiwgb3V0LCBhcmVuYSk7CiB9CiAKK3N0YXRpYyBpbnQgb2JqMmFzdF9ieXRlcyhQeU9iamVjdCogb2JqLCBQeU9iamVjdCoqIG91dCwgUHlBcmVuYSogYXJlbmEpCit7CisgICAgaWYgKCFQeUJ5dGVzX0NoZWNrRXhhY3Qob2JqKSkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCAiQVNUIGJ5dGVzIG11c3QgYmUgb2YgdHlwZSBieXRlcyIpOworICAgICAgICByZXR1cm4gMTsKKyAgICB9CisgICAgcmV0dXJuIG9iajJhc3Rfb2JqZWN0KG9iaiwgb3V0LCBhcmVuYSk7Cit9CisKIHN0YXRpYyBpbnQgb2JqMmFzdF9pbnQoUHlPYmplY3QqIG9iaiwgaW50KiBvdXQsIFB5QXJlbmEqIGFyZW5hKQogewogICAgIGludCBpOwpAQCAtOTEwLDEwICs5NTQsNiBAQAogICAgICAgICBzZWxmLmVtaXQoJ2lmIChQeURpY3RfU2V0SXRlbVN0cmluZyhkLCAiQVNUIiwgKFB5T2JqZWN0KikmQVNUX3R5cGUpIDwgMCkgcmV0dXJuIE5VTEw7JywgMSkKICAgICAgICAgc2VsZi5lbWl0KCdpZiAoUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIlB5Q0ZfT05MWV9BU1QiLCBQeUNGX09OTFlfQVNUKSA8IDApJywgMSkKICAgICAgICAgc2VsZi5lbWl0KCJyZXR1cm4gTlVMTDsiLCAyKQotICAgICAgICAjIFZhbHVlIG9mIHZlcnNpb246ICIkUmV2aXNpb24kIgotICAgICAgICBzZWxmLmVtaXQoJ2lmIChQeU1vZHVsZV9BZGRTdHJpbmdDb25zdGFudChtLCAiX192ZXJzaW9uX18iLCAiJXMiKSA8IDApJwotICAgICAgICAgICAgICAgICUgbW9kLnZlcnNpb24sIDEpCi0gICAgICAgIHNlbGYuZW1pdCgicmV0dXJuIE5VTEw7IiwgMikKICAgICAgICAgZm9yIGRmbiBpbiBtb2QuZGZuczoKICAgICAgICAgICAgIHNlbGYudmlzaXQoZGZuKQogICAgICAgICBzZWxmLmVtaXQoInJldHVybiBtOyIsIDEpCkBAIC05OTcsNyArMTAzNyw3IEBACiAgICAgICAgIGZvciBhIGluIHN1bS5hdHRyaWJ1dGVzOgogICAgICAgICAgICAgc2VsZi5lbWl0KCJ2YWx1ZSA9IGFzdDJvYmpfJXMoby0+JXMpOyIgJSAoYS50eXBlLCBhLm5hbWUpLCAxKQogICAgICAgICAgICAgc2VsZi5lbWl0KCJpZiAoIXZhbHVlKSBnb3RvIGZhaWxlZDsiLCAxKQotICAgICAgICAgICAgc2VsZi5lbWl0KCdpZiAoUHlPYmplY3RfU2V0QXR0clN0cmluZyhyZXN1bHQsICIlcyIsIHZhbHVlKSA8IDApJyAlIGEubmFtZSwgMSkKKyAgICAgICAgICAgIHNlbGYuZW1pdCgnaWYgKF9QeU9iamVjdF9TZXRBdHRySWQocmVzdWx0LCAmUHlJZF8lcywgdmFsdWUpIDwgMCknICUgYS5uYW1lLCAxKQogICAgICAgICAgICAgc2VsZi5lbWl0KCdnb3RvIGZhaWxlZDsnLCAyKQogICAgICAgICAgICAgc2VsZi5lbWl0KCdQeV9ERUNSRUYodmFsdWUpOycsIDEpCiAgICAgICAgIHNlbGYuZnVuY19lbmQoKQpAQCAtMTA0Myw3ICsxMDgzLDcgQEAKICAgICAgICAgICAgIHZhbHVlID0gIm8tPnYuJXMuJXMiICUgKG5hbWUsIGZpZWxkLm5hbWUpCiAgICAgICAgIHNlbGYuc2V0KGZpZWxkLCB2YWx1ZSwgZGVwdGgpCiAgICAgICAgIGVtaXQoImlmICghdmFsdWUpIGdvdG8gZmFpbGVkOyIsIDApCi0gICAgICAgIGVtaXQoJ2lmIChQeU9iamVjdF9TZXRBdHRyU3RyaW5nKHJlc3VsdCwgIiVzIiwgdmFsdWUpID09IC0xKScgJSBmaWVsZC5uYW1lLCAwKQorICAgICAgICBlbWl0KCdpZiAoX1B5T2JqZWN0X1NldEF0dHJJZChyZXN1bHQsICZQeUlkXyVzLCB2YWx1ZSkgPT0gLTEpJyAlIGZpZWxkLm5hbWUsIDApCiAgICAgICAgIGVtaXQoImdvdG8gZmFpbGVkOyIsIDEpCiAgICAgICAgIGVtaXQoIlB5X0RFQ1JFRih2YWx1ZSk7IiwgMCkKIApAQCAtMTEzNCwyNCArMTE3NCwxMiBAQAogCiBjb21tb25fbXNnID0gIi8qIEZpbGUgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgJXMuICovXG5cbiIKIAotY19maWxlX21zZyA9ICIiIgotLyoKLSAgIF9fdmVyc2lvbl9fICVzLgotCi0gICBUaGlzIG1vZHVsZSBtdXN0IGJlIGNvbW1pdHRlZCBzZXBhcmF0ZWx5IGFmdGVyIGVhY2ggQVNUIGdyYW1tYXIgY2hhbmdlOwotICAgVGhlIF9fdmVyc2lvbl9fIG51bWJlciBpcyBzZXQgdG8gdGhlIHJldmlzaW9uIG51bWJlciBvZiB0aGUgY29tbWl0Ci0gICBjb250YWluaW5nIHRoZSBncmFtbWFyIGNoYW5nZS4KLSovCi0KLSIiIgotCiBkZWYgbWFpbihzcmNmaWxlKToKICAgICBhcmd2MCA9IHN5cy5hcmd2WzBdCiAgICAgY29tcG9uZW50cyA9IGFyZ3YwLnNwbGl0KG9zLnNlcCkKICAgICBhcmd2MCA9IG9zLnNlcC5qb2luKGNvbXBvbmVudHNbLTI6XSkKICAgICBhdXRvX2dlbl9tc2cgPSBjb21tb25fbXNnICUgYXJndjAKICAgICBtb2QgPSBhc2RsLnBhcnNlKHNyY2ZpbGUpCi0gICAgbW9kLnZlcnNpb24gPSAiODIxNjMiCiAgICAgaWYgbm90IGFzZGwuY2hlY2sobW9kKToKICAgICAgICAgc3lzLmV4aXQoMSkKICAgICBpZiBJTkNfRElSOgpAQCAtMTE3Myw3ICsxMjAxLDggQEAKICAgICAgICAgcCA9IG9zLnBhdGguam9pbihTUkNfRElSLCBzdHIobW9kLm5hbWUpICsgIi1hc3QuYyIpCiAgICAgICAgIGYgPSBvcGVuKHAsICJ3IikKICAgICAgICAgZi53cml0ZShhdXRvX2dlbl9tc2cpCi0gICAgICAgIGYud3JpdGUoY19maWxlX21zZyAlIG1vZC52ZXJzaW9uKQorICAgICAgICBmLndyaXRlKCcjaW5jbHVkZSA8c3RkZGVmLmg+XG4nKQorICAgICAgICBmLndyaXRlKCdcbicpCiAgICAgICAgIGYud3JpdGUoJyNpbmNsdWRlICJQeXRob24uaCJcbicpCiAgICAgICAgIGYud3JpdGUoJyNpbmNsdWRlICIlcy1hc3QuaCJcbicgJSBtb2QubmFtZSkKICAgICAgICAgZi53cml0ZSgnXG4nKQpkaWZmIC0tZ2l0IGEvUGFyc2VyL2ludHJjaGVjay5jIGIvUGFyc2VyL2ludHJjaGVjay5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0NDM5ODY0Li4wMDAwMDAwCi0tLSBhL1BhcnNlci9pbnRyY2hlY2suYworKysgL2Rldi9udWxsCkBAIC0xLDE3NCArMCwwIEBACi0KLS8qIENoZWNrIGZvciBpbnRlcnJ1cHRzICovCi0KLSNpbmNsdWRlICJQeXRob24uaCIKLSNpbmNsdWRlICJweXRocmVhZC5oIgotCi0jaWZkZWYgUVVJQ0tXSU4KLQotI2luY2x1ZGUgPGlvLmg+Ci0KLXZvaWQKLVB5T1NfSW5pdEludGVycnVwdHModm9pZCkKLXsKLX0KLQotdm9pZAotUHlPU19GaW5pSW50ZXJydXB0cyh2b2lkKQotewotfQotCi1pbnQKLVB5T1NfSW50ZXJydXB0T2NjdXJyZWQodm9pZCkKLXsKLSAgICBfd3lpZWxkKCk7Ci19Ci0KLSNkZWZpbmUgT0sKLQotI2VuZGlmIC8qIFFVSUNLV0lOICovCi0KLSNpZiBkZWZpbmVkKF9NX0lYODYpICYmICFkZWZpbmVkKF9fUU5YX18pCi0jaW5jbHVkZSA8aW8uaD4KLSNlbmRpZgotCi0jaWYgZGVmaW5lZChNU0RPUykgJiYgIWRlZmluZWQoUVVJQ0tXSU4pCi0KLSNpZmRlZiBfX0dOVUNfXwotCi0vKiBUaGlzIGlzIGZvciBESkdQUCdzIEdPMzIgZXh0ZW5kZXIuICBJIGRvbid0IGtub3cgaG93IHRvIHRyYXAKLSAqIGNvbnRyb2wtQyAgKFRoZXJlJ3Mgbm8gQVBJIGZvciBjdHJsLUMsIGFuZCBJIGRvbid0IHdhbnQgdG8gbWVzcyB3aXRoCi0gKiB0aGUgaW50ZXJydXB0IHZlY3RvcnMuKSAgSG93ZXZlciwgdGhpcyBET0VTIGNhdGNoIGNvbnRyb2wtYnJlYWsuCi0gKiAtLUFtcml0Ci0gKi8KLQotI2luY2x1ZGUgPGdvMzIuaD4KLQotdm9pZAotUHlPU19Jbml0SW50ZXJydXB0cyh2b2lkKQotewotICAgIF9nbzMyX3dhbnRfY3RybF9icmVhaygxIC8qIFRSVUUgKi8pOwotfQotCi12b2lkCi1QeU9TX0ZpbmlJbnRlcnJ1cHRzKHZvaWQpCi17Ci19Ci0KLWludAotUHlPU19JbnRlcnJ1cHRPY2N1cnJlZCh2b2lkKQotewotICAgIHJldHVybiBfZ28zMl93YXNfY3RybF9icmVha19oaXQoKTsKLX0KLQotI2Vsc2UgLyogIV9fR05VQ19fICovCi0KLS8qIFRoaXMgbWlnaHQgd29yayBmb3IgTVMtRE9TICh1bnRlc3RlZCB0aG91Z2gpOiAqLwotCi12b2lkCi1QeU9TX0luaXRJbnRlcnJ1cHRzKHZvaWQpCi17Ci19Ci0KLXZvaWQKLVB5T1NfRmluaUludGVycnVwdHModm9pZCkKLXsKLX0KLQotaW50Ci1QeU9TX0ludGVycnVwdE9jY3VycmVkKHZvaWQpCi17Ci0gICAgaW50IGludGVycnVwdGVkID0gMDsKLSAgICB3aGlsZSAoa2JoaXQoKSkgewotICAgICAgICBpZiAoZ2V0Y2goKSA9PSAnXDAwMycpCi0gICAgICAgICAgICBpbnRlcnJ1cHRlZCA9IDE7Ci0gICAgfQotICAgIHJldHVybiBpbnRlcnJ1cHRlZDsKLX0KLQotI2VuZGlmIC8qIF9fR05VQ19fICovCi0KLSNkZWZpbmUgT0sKLQotI2VuZGlmIC8qIE1TRE9TICYmICFRVUlDS1dJTiAqLwotCi0KLSNpZm5kZWYgT0sKLQotLyogRGVmYXVsdCB2ZXJzaW9uIC0tIGZvciByZWFsIG9wZXJhdGluZyBzeXN0ZW1zIGFuZCBmb3IgU3RhbmRhcmQgQyAqLwotCi0jaW5jbHVkZSA8c3RkaW8uaD4KLSNpbmNsdWRlIDxzdHJpbmcuaD4KLSNpbmNsdWRlIDxzaWduYWwuaD4KLQotc3RhdGljIGludCBpbnRlcnJ1cHRlZDsKLQotdm9pZAotUHlFcnJfU2V0SW50ZXJydXB0KHZvaWQpCi17Ci0gICAgaW50ZXJydXB0ZWQgPSAxOwotfQotCi1leHRlcm4gaW50IFB5RXJyX0NoZWNrU2lnbmFscyh2b2lkKTsKLQotc3RhdGljIGludAotY2hlY2tzaWduYWxzX3dpdGhhcmcodm9pZCAqIGFyZykKLXsKLSAgICByZXR1cm4gUHlFcnJfQ2hlY2tTaWduYWxzKCk7Ci19Ci0KLXN0YXRpYyB2b2lkCi1pbnRjYXRjaGVyKGludCBzaWcpCi17Ci0gICAgZXh0ZXJuIHZvaWQgUHlfRXhpdChpbnQpOwotICAgIHN0YXRpYyBjaGFyIG1lc3NhZ2VbXSA9Ci0icHl0aG9uOiB0byBpbnRlcnJ1cHQgYSB0cnVseSBoYW5naW5nIFB5dGhvbiBwcm9ncmFtLCBpbnRlcnJ1cHQgb25jZSBtb3JlLlxuIjsKLSAgICBzd2l0Y2ggKGludGVycnVwdGVkKyspIHsKLSAgICBjYXNlIDA6Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgMToKLSAgICAgICAgd3JpdGUoMiwgbWVzc2FnZSwgc3RybGVuKG1lc3NhZ2UpKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSAyOgotICAgICAgICBpbnRlcnJ1cHRlZCA9IDA7Ci0gICAgICAgIFB5X0V4aXQoMSk7Ci0gICAgICAgIGJyZWFrOwotICAgIH0KLSAgICBQeU9TX3NldHNpZyhTSUdJTlQsIGludGNhdGNoZXIpOwotICAgIFB5X0FkZFBlbmRpbmdDYWxsKGNoZWNrc2lnbmFsc193aXRoYXJnLCBOVUxMKTsKLX0KLQotc3RhdGljIHZvaWQgKCpvbGRfc2lnaW50aGFuZGxlcikoaW50KSA9IFNJR19ERkw7Ci0KLXZvaWQKLVB5T1NfSW5pdEludGVycnVwdHModm9pZCkKLXsKLSAgICBpZiAoKG9sZF9zaWdpbnRoYW5kbGVyID0gUHlPU19zZXRzaWcoU0lHSU5ULCBTSUdfSUdOKSkgIT0gU0lHX0lHTikKLSAgICAgICAgUHlPU19zZXRzaWcoU0lHSU5ULCBpbnRjYXRjaGVyKTsKLX0KLQotdm9pZAotUHlPU19GaW5pSW50ZXJydXB0cyh2b2lkKQotewotICAgIFB5T1Nfc2V0c2lnKFNJR0lOVCwgb2xkX3NpZ2ludGhhbmRsZXIpOwotfQotCi1pbnQKLVB5T1NfSW50ZXJydXB0T2NjdXJyZWQodm9pZCkKLXsKLSAgICBpZiAoIWludGVycnVwdGVkKQotICAgICAgICByZXR1cm4gMDsKLSAgICBpbnRlcnJ1cHRlZCA9IDA7Ci0gICAgcmV0dXJuIDE7Ci19Ci0KLSNlbmRpZiAvKiAhT0sgKi8KLQotdm9pZAotUHlPU19BZnRlckZvcmsodm9pZCkKLXsKLSNpZmRlZiBXSVRIX1RIUkVBRAotICAgIFB5RXZhbF9SZUluaXRUaHJlYWRzKCk7Ci0gICAgUHlUaHJlYWRfUmVJbml0VExTKCk7Ci0jZW5kaWYKLX0KZGlmZiAtLWdpdCBhL1BhcnNlci9wYXJzZXRvay5jIGIvUGFyc2VyL3BhcnNldG9rLmMKaW5kZXggNzNlN2UzYy4uN2JlYjczNSAxMDA2NDQKLS0tIGEvUGFyc2VyL3BhcnNldG9rLmMKKysrIGIvUGFyc2VyL3BhcnNldG9rLmMKQEAgLTEzLDcgKzEzLDcgQEAKIAogLyogRm9yd2FyZCAqLwogc3RhdGljIG5vZGUgKnBhcnNldG9rKHN0cnVjdCB0b2tfc3RhdGUgKiwgZ3JhbW1hciAqLCBpbnQsIHBlcnJkZXRhaWwgKiwgaW50ICopOwotc3RhdGljIHZvaWQgaW5pdGVycihwZXJyZGV0YWlsICplcnJfcmV0LCBjb25zdCBjaGFyKiBmaWxlbmFtZSk7CitzdGF0aWMgaW50IGluaXRlcnIocGVycmRldGFpbCAqZXJyX3JldCwgY29uc3QgY2hhciogZmlsZW5hbWUpOwogCiAvKiBQYXJzZSBpbnB1dCBjb21pbmcgZnJvbSBhIHN0cmluZy4gIFJldHVybiBlcnJvciBjb2RlLCBwcmludCBzb21lIGVycm9ycy4gKi8KIG5vZGUgKgpAQCAtNDgsNyArNDgsOCBAQAogICAgIHN0cnVjdCB0b2tfc3RhdGUgKnRvazsKICAgICBpbnQgZXhlY19pbnB1dCA9IHN0YXJ0ID09IGZpbGVfaW5wdXQ7CiAKLSAgICBpbml0ZXJyKGVycl9yZXQsIGZpbGVuYW1lKTsKKyAgICBpZiAoaW5pdGVycihlcnJfcmV0LCBmaWxlbmFtZSkgPCAwKQorICAgICAgICByZXR1cm4gTlVMTDsKIAogICAgIGlmICgqZmxhZ3MgJiBQeVBBUlNFX0lHTk9SRV9DT09LSUUpCiAgICAgICAgIHRvayA9IFB5VG9rZW5pemVyX0Zyb21VVEY4KHMsIGV4ZWNfaW5wdXQpOwpAQCAtNTksNyArNjAsMTAgQEAKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogCi0gICAgdG9rLT5maWxlbmFtZSA9IGZpbGVuYW1lID8gZmlsZW5hbWUgOiAiPHN0cmluZz4iOworI2lmbmRlZiBQR0VOCisgICAgUHlfSU5DUkVGKGVycl9yZXQtPmZpbGVuYW1lKTsKKyAgICB0b2stPmZpbGVuYW1lID0gZXJyX3JldC0+ZmlsZW5hbWU7CisjZW5kaWYKICAgICByZXR1cm4gcGFyc2V0b2sodG9rLCBnLCBzdGFydCwgZXJyX3JldCwgZmxhZ3MpOwogfQogCkBAIC05MCwxMyArOTQsMTcgQEAKIHsKICAgICBzdHJ1Y3QgdG9rX3N0YXRlICp0b2s7CiAKLSAgICBpbml0ZXJyKGVycl9yZXQsIGZpbGVuYW1lKTsKKyAgICBpZiAoaW5pdGVycihlcnJfcmV0LCBmaWxlbmFtZSkgPCAwKQorICAgICAgICByZXR1cm4gTlVMTDsKIAogICAgIGlmICgodG9rID0gUHlUb2tlbml6ZXJfRnJvbUZpbGUoZnAsIChjaGFyICopZW5jLCBwczEsIHBzMikpID09IE5VTEwpIHsKICAgICAgICAgZXJyX3JldC0+ZXJyb3IgPSBFX05PTUVNOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9Ci0gICAgdG9rLT5maWxlbmFtZSA9IGZpbGVuYW1lOworI2lmbmRlZiBQR0VOCisgICAgUHlfSU5DUkVGKGVycl9yZXQtPmZpbGVuYW1lKTsKKyAgICB0b2stPmZpbGVuYW1lID0gZXJyX3JldC0+ZmlsZW5hbWU7CisjZW5kaWYKICAgICByZXR1cm4gcGFyc2V0b2sodG9rLCBnLCBzdGFydCwgZXJyX3JldCwgZmxhZ3MpOwogfQogCkBAIC0xMjcsNyArMTM1LDcgQEAKIHsKICAgICBwYXJzZXJfc3RhdGUgKnBzOwogICAgIG5vZGUgKm47Ci0gICAgaW50IHN0YXJ0ZWQgPSAwLCBoYW5kbGluZ19pbXBvcnQgPSAwLCBoYW5kbGluZ193aXRoID0gMDsKKyAgICBpbnQgc3RhcnRlZCA9IDA7CiAKICAgICBpZiAoKHBzID0gUHlQYXJzZXJfTmV3KGcsIHN0YXJ0KSkgPT0gTlVMTCkgewogICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIm5vIG1lbSBmb3IgbmV3IHBhcnNlclxuIik7CkBAIC0xNTQsNyArMTYyLDYgQEAKICAgICAgICAgfQogICAgICAgICBpZiAodHlwZSA9PSBFTkRNQVJLRVIgJiYgc3RhcnRlZCkgewogICAgICAgICAgICAgdHlwZSA9IE5FV0xJTkU7IC8qIEFkZCBhbiBleHRyYSBuZXdsaW5lICovCi0gICAgICAgICAgICBoYW5kbGluZ193aXRoID0gaGFuZGxpbmdfaW1wb3J0ID0gMDsKICAgICAgICAgICAgIHN0YXJ0ZWQgPSAwOwogICAgICAgICAgICAgLyogQWRkIHRoZSByaWdodCBudW1iZXIgb2YgZGVkZW50IHRva2VucywKICAgICAgICAgICAgICAgIGV4Y2VwdCBpZiBhIGNlcnRhaW4gZmxhZyBpcyBnaXZlbiAtLQpAQCAtMjE3LDYgKzIyNCwzNiBAQAogICAgIGlmIChlcnJfcmV0LT5lcnJvciA9PSBFX0RPTkUpIHsKICAgICAgICAgbiA9IHBzLT5wX3RyZWU7CiAgICAgICAgIHBzLT5wX3RyZWUgPSBOVUxMOworCisjaWZuZGVmIFBHRU4KKyAgICAgICAgLyogQ2hlY2sgdGhhdCB0aGUgc291cmNlIGZvciBhIHNpbmdsZSBpbnB1dCBzdGF0ZW1lbnQgcmVhbGx5CisgICAgICAgICAgIGlzIGEgc2luZ2xlIHN0YXRlbWVudCBieSBsb29raW5nIGF0IHdoYXQgaXMgbGVmdCBpbiB0aGUKKyAgICAgICAgICAgYnVmZmVyIGFmdGVyIHBhcnNpbmcuICBUcmFpbGluZyB3aGl0ZXNwYWNlIGFuZCBjb21tZW50cworICAgICAgICAgICBhcmUgT0suICAqLworICAgICAgICBpZiAoc3RhcnQgPT0gc2luZ2xlX2lucHV0KSB7CisgICAgICAgICAgICBjaGFyICpjdXIgPSB0b2stPmN1cjsKKyAgICAgICAgICAgIGNoYXIgYyA9ICp0b2stPmN1cjsKKworICAgICAgICAgICAgZm9yICg7OykgeworICAgICAgICAgICAgICAgIHdoaWxlIChjID09ICcgJyB8fCBjID09ICdcdCcgfHwgYyA9PSAnXG4nIHx8IGMgPT0gJ1wwMTQnKQorICAgICAgICAgICAgICAgICAgICBjID0gKisrY3VyOworCisgICAgICAgICAgICAgICAgaWYgKCFjKQorICAgICAgICAgICAgICAgICAgICBicmVhazsKKworICAgICAgICAgICAgICAgIGlmIChjICE9ICcjJykgeworICAgICAgICAgICAgICAgICAgICBlcnJfcmV0LT5lcnJvciA9IEVfQkFEU0lOR0xFOworICAgICAgICAgICAgICAgICAgICBQeU5vZGVfRnJlZShuKTsKKyAgICAgICAgICAgICAgICAgICAgbiA9IE5VTEw7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIC8qIFN1Y2sgdXAgY29tbWVudC4gKi8KKyAgICAgICAgICAgICAgICB3aGlsZSAoYyAmJiBjICE9ICdcbicpCisgICAgICAgICAgICAgICAgICAgIGMgPSAqKytjdXI7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyNlbmRpZgogICAgIH0KICAgICBlbHNlCiAgICAgICAgIG4gPSBOVUxMOwpAQCAtMjI3LDcgKzI2NCw3IEBACiAgICAgUHlQYXJzZXJfRGVsZXRlKHBzKTsKIAogICAgIGlmIChuID09IE5VTEwpIHsKLSAgICAgICAgaWYgKHRvay0+bGluZW5vIDw9IDEgJiYgdG9rLT5kb25lID09IEVfRU9GKQorICAgICAgICBpZiAodG9rLT5kb25lID09IEVfRU9GKQogICAgICAgICAgICAgZXJyX3JldC0+ZXJyb3IgPSBFX0VPRjsKICAgICAgICAgZXJyX3JldC0+bGluZW5vID0gdG9rLT5saW5lbm87CiAgICAgICAgIGlmICh0b2stPmJ1ZiAhPSBOVUxMKSB7CkBAIC0yNzAsMTQgKzMwNywyNCBAQAogICAgIHJldHVybiBuOwogfQogCi1zdGF0aWMgdm9pZAorc3RhdGljIGludAogaW5pdGVycihwZXJyZGV0YWlsICplcnJfcmV0LCBjb25zdCBjaGFyICpmaWxlbmFtZSkKIHsKICAgICBlcnJfcmV0LT5lcnJvciA9IEVfT0s7Ci0gICAgZXJyX3JldC0+ZmlsZW5hbWUgPSBmaWxlbmFtZTsKICAgICBlcnJfcmV0LT5saW5lbm8gPSAwOwogICAgIGVycl9yZXQtPm9mZnNldCA9IDA7CiAgICAgZXJyX3JldC0+dGV4dCA9IE5VTEw7CiAgICAgZXJyX3JldC0+dG9rZW4gPSAtMTsKICAgICBlcnJfcmV0LT5leHBlY3RlZCA9IC0xOworI2lmbmRlZiBQR0VOCisgICAgaWYgKGZpbGVuYW1lKQorICAgICAgICBlcnJfcmV0LT5maWxlbmFtZSA9IFB5VW5pY29kZV9EZWNvZGVGU0RlZmF1bHQoZmlsZW5hbWUpOworICAgIGVsc2UKKyAgICAgICAgZXJyX3JldC0+ZmlsZW5hbWUgPSBQeVVuaWNvZGVfRnJvbVN0cmluZygiPHN0cmluZz4iKTsKKyAgICBpZiAoZXJyX3JldC0+ZmlsZW5hbWUgPT0gTlVMTCkgeworICAgICAgICBlcnJfcmV0LT5lcnJvciA9IEVfRVJST1I7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisjZW5kaWYKKyAgICByZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL1BhcnNlci9wYXJzZXRva19wZ2VuLmMgYi9QYXJzZXIvcGFyc2V0b2tfcGdlbi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk3YjkyODgKLS0tIC9kZXYvbnVsbAorKysgYi9QYXJzZXIvcGFyc2V0b2tfcGdlbi5jCkBAIC0wLDAgKzEsMiBAQAorI2RlZmluZSBQR0VOCisjaW5jbHVkZSAicGFyc2V0b2suYyIKZGlmZiAtLWdpdCBhL1BhcnNlci9wZ2VubWFpbi5jIGIvUGFyc2VyL3BnZW5tYWluLmMKaW5kZXggNGI3YjU1YS4uNTJiODM4MCAxMDA2NDQKLS0tIGEvUGFyc2VyL3BnZW5tYWluLmMKKysrIGIvUGFyc2VyL3BnZW5tYWluLmMKQEAgLTI5LDYgKzI5LDggQEAKIC8qIEZvcndhcmQgKi8KIGdyYW1tYXIgKmdldGdyYW1tYXIoY2hhciAqZmlsZW5hbWUpOwogCit2b2lkIFB5X0V4aXQoaW50KSBfUHlfTk9fUkVUVVJOOworCiB2b2lkCiBQeV9FeGl0KGludCBzdHMpCiB7CmRpZmYgLS1naXQgYS9QYXJzZXIvdG9rZW5pemVyLmMgYi9QYXJzZXIvdG9rZW5pemVyLmMKaW5kZXggNWJhMTJhNC4uMzZjYTA3OSAxMDA2NDQKLS0tIGEvUGFyc2VyL3Rva2VuaXplci5jCisrKyBiL1BhcnNlci90b2tlbml6ZXIuYwpAQCAtMTI4LDcgKzEyOCw2IEBACiAgICAgdG9rLT5wcm9tcHQgPSB0b2stPm5leHRwcm9tcHQgPSBOVUxMOwogICAgIHRvay0+bGluZW5vID0gMDsKICAgICB0b2stPmxldmVsID0gMDsKLSAgICB0b2stPmZpbGVuYW1lID0gTlVMTDsKICAgICB0b2stPmFsdHdhcm5pbmcgPSAxOwogICAgIHRvay0+YWx0ZXJyb3IgPSAxOwogICAgIHRvay0+YWx0dGFic2l6ZSA9IDE7CkBAIC0xNDAsNiArMTM5LDcgQEAKICAgICB0b2stPmVuY29kaW5nID0gTlVMTDsKICAgICB0b2stPmNvbnRfbGluZSA9IDA7CiAjaWZuZGVmIFBHRU4KKyAgICB0b2stPmZpbGVuYW1lID0gTlVMTDsKICAgICB0b2stPmRlY29kaW5nX3JlYWRsaW5lID0gTlVMTDsKICAgICB0b2stPmRlY29kaW5nX2J1ZmZlciA9IE5VTEw7CiAjZW5kaWYKQEAgLTQ2Miw2ICs0NjIsOCBAQAogZnBfc2V0cmVhZGwoc3RydWN0IHRva19zdGF0ZSAqdG9rLCBjb25zdCBjaGFyKiBlbmMpCiB7CiAgICAgUHlPYmplY3QgKnJlYWRsaW5lID0gTlVMTCwgKnN0cmVhbSA9IE5VTEwsICppbyA9IE5VTEw7CisgICAgX1B5X0lERU5USUZJRVIob3Blbik7CisgICAgX1B5X0lERU5USUZJRVIocmVhZGxpbmUpOwogICAgIGludCBmZDsKIAogICAgIGlvID0gUHlJbXBvcnRfSW1wb3J0TW9kdWxlTm9CbG9jaygiaW8iKTsKQEAgLTQ3NCwxMyArNDc2LDEzIEBACiAgICAgICAgIGdvdG8gY2xlYW51cDsKICAgICB9CiAKLSAgICBzdHJlYW0gPSBQeU9iamVjdF9DYWxsTWV0aG9kKGlvLCAib3BlbiIsICJpc2lzT09PIiwKKyAgICBzdHJlYW0gPSBfUHlPYmplY3RfQ2FsbE1ldGhvZElkKGlvLCAmUHlJZF9vcGVuLCAiaXNpc09PTyIsCiAgICAgICAgICAgICAgICAgICAgIGZkLCAiciIsIC0xLCBlbmMsIFB5X05vbmUsIFB5X05vbmUsIFB5X0ZhbHNlKTsKICAgICBpZiAoc3RyZWFtID09IE5VTEwpCiAgICAgICAgIGdvdG8gY2xlYW51cDsKIAogICAgIFB5X1hERUNSRUYodG9rLT5kZWNvZGluZ19yZWFkbGluZSk7Ci0gICAgcmVhZGxpbmUgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKHN0cmVhbSwgInJlYWRsaW5lIik7CisgICAgcmVhZGxpbmUgPSBfUHlPYmplY3RfR2V0QXR0cklkKHN0cmVhbSwgJlB5SWRfcmVhZGxpbmUpOwogICAgIHRvay0+ZGVjb2RpbmdfcmVhZGxpbmUgPSByZWFkbGluZTsKIAogICAgIC8qIFRoZSBmaWxlIGhhcyBiZWVuIHJlb3BlbmVkOyBwYXJzaW5nIHdpbGwgcmVzdGFydCBmcm9tCkBAIC01NDUsNyArNTQ3LDYgQEAKIHsKICAgICBjaGFyICpsaW5lID0gTlVMTDsKICAgICBpbnQgYmFkY2hhciA9IDA7Ci0gICAgUHlPYmplY3QgKmZpbGVuYW1lOwogICAgIGZvciAoOzspIHsKICAgICAgICAgaWYgKHRvay0+ZGVjb2Rpbmdfc3RhdGUgPT0gU1RBVEVfTk9STUFMKSB7CiAgICAgICAgICAgICAvKiBXZSBhbHJlYWR5IGhhdmUgYSBjb2RlYyBhc3NvY2lhdGVkIHdpdGgKQEAgLTU4NiwxOSArNTg3LDEyIEBACiAgICAgaWYgKGJhZGNoYXIpIHsKICAgICAgICAgLyogTmVlZCB0byBhZGQgMSB0byB0aGUgbGluZSBudW1iZXIsIHNpbmNlIHRoaXMgbGluZQogICAgICAgICAgICBoYXMgbm90IGJlZW4gY291bnRlZCwgeWV0LiAgKi8KLSAgICAgICAgaWYgKHRvay0+ZmlsZW5hbWUgIT0gTlVMTCkKLSAgICAgICAgICAgIGZpbGVuYW1lID0gUHlVbmljb2RlX0RlY29kZUZTRGVmYXVsdCh0b2stPmZpbGVuYW1lKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgZmlsZW5hbWUgPSBQeVVuaWNvZGVfRnJvbVN0cmluZygiPGZpbGU+Iik7Ci0gICAgICAgIGlmIChmaWxlbmFtZSAhPSBOVUxMKSB7Ci0gICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfU3ludGF4RXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICJOb24tVVRGLTggY29kZSBzdGFydGluZyB3aXRoICdcXHglLjJ4JyAiCi0gICAgICAgICAgICAgICAgICAgICJpbiBmaWxlICVVIG9uIGxpbmUgJWksICIKLSAgICAgICAgICAgICAgICAgICAgImJ1dCBubyBlbmNvZGluZyBkZWNsYXJlZDsgIgotICAgICAgICAgICAgICAgICAgICAic2VlIGh0dHA6Ly9weXRob24ub3JnL2Rldi9wZXBzL3BlcC0wMjYzLyBmb3IgZGV0YWlscyIsCi0gICAgICAgICAgICAgICAgICAgIGJhZGNoYXIsIGZpbGVuYW1lLCB0b2stPmxpbmVubyArIDEpOwotICAgICAgICAgICAgUHlfREVDUkVGKGZpbGVuYW1lKTsKLSAgICAgICAgfQorICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfU3ludGF4RXJyb3IsCisgICAgICAgICAgICAgICAgIk5vbi1VVEYtOCBjb2RlIHN0YXJ0aW5nIHdpdGggJ1xceCUuMngnICIKKyAgICAgICAgICAgICAgICAiaW4gZmlsZSAlVSBvbiBsaW5lICVpLCAiCisgICAgICAgICAgICAgICAgImJ1dCBubyBlbmNvZGluZyBkZWNsYXJlZDsgIgorICAgICAgICAgICAgICAgICJzZWUgaHR0cDovL3B5dGhvbi5vcmcvZGV2L3BlcHMvcGVwLTAyNjMvIGZvciBkZXRhaWxzIiwKKyAgICAgICAgICAgICAgICBiYWRjaGFyLCB0b2stPmZpbGVuYW1lLCB0b2stPmxpbmVubyArIDEpOwogICAgICAgICByZXR1cm4gZXJyb3JfcmV0KHRvayk7CiAgICAgfQogI2VuZGlmCkBAIC04NTYsNiArODUwLDcgQEAKICNpZm5kZWYgUEdFTgogICAgIFB5X1hERUNSRUYodG9rLT5kZWNvZGluZ19yZWFkbGluZSk7CiAgICAgUHlfWERFQ1JFRih0b2stPmRlY29kaW5nX2J1ZmZlcik7CisgICAgUHlfWERFQ1JFRih0b2stPmZpbGVuYW1lKTsKICNlbmRpZgogICAgIGlmICh0b2stPmZwICE9IE5VTEwgJiYgdG9rLT5idWYgIT0gTlVMTCkKICAgICAgICAgUHlNZW1fRlJFRSh0b2stPmJ1Zik7CkBAIC0xMjUwLDggKzEyNDUsMTMgQEAKICAgICAgICAgcmV0dXJuIDE7CiAgICAgfQogICAgIGlmICh0b2stPmFsdHdhcm5pbmcpIHsKLSAgICAgICAgUHlTeXNfV3JpdGVTdGRlcnIoIiVzOiBpbmNvbnNpc3RlbnQgdXNlIG9mIHRhYnMgYW5kIHNwYWNlcyAiCisjaWZkZWYgUEdFTgorICAgICAgICBQeVN5c19Xcml0ZVN0ZGVycigiaW5jb25zaXN0ZW50IHVzZSBvZiB0YWJzIGFuZCBzcGFjZXMgIgorICAgICAgICAgICAgICAgICAgICAgICAgICAiaW4gaW5kZW50YXRpb25cbiIpOworI2Vsc2UKKyAgICAgICAgUHlTeXNfRm9ybWF0U3RkZXJyKCIlVTogaW5jb25zaXN0ZW50IHVzZSBvZiB0YWJzIGFuZCBzcGFjZXMgIgogICAgICAgICAgICAgICAgICAgICAgICAgICAiaW4gaW5kZW50YXRpb25cbiIsIHRvay0+ZmlsZW5hbWUpOworI2VuZGlmCiAgICAgICAgIHRvay0+YWx0d2FybmluZyA9IDA7CiAgICAgfQogICAgIHJldHVybiAwOwpAQCAtMTI2MCwxNCArMTI2MCwxNiBAQAogI2lmZGVmIFBHRU4KICNkZWZpbmUgdmVyaWZ5X2lkZW50aWZpZXIodG9rKSAxCiAjZWxzZQotLyogVmVyaWZ5IHRoYXQgdGhlIGlkZW50aWZpZXIgZm9sbG93cyBQRVAgMzEzMS4gKi8KKy8qIFZlcmlmeSB0aGF0IHRoZSBpZGVudGlmaWVyIGZvbGxvd3MgUEVQIDMxMzEuCisgICBBbGwgaWRlbnRpZmllciBzdHJpbmdzIGFyZSBndWFyYW50ZWVkIHRvIGJlICJyZWFkeSIgdW5pY29kZSBvYmplY3RzLgorICovCiBzdGF0aWMgaW50CiB2ZXJpZnlfaWRlbnRpZmllcihzdHJ1Y3QgdG9rX3N0YXRlICp0b2spCiB7CiAgICAgUHlPYmplY3QgKnM7CiAgICAgaW50IHJlc3VsdDsKICAgICBzID0gUHlVbmljb2RlX0RlY29kZVVURjgodG9rLT5zdGFydCwgdG9rLT5jdXIgLSB0b2stPnN0YXJ0LCBOVUxMKTsKLSAgICBpZiAocyA9PSBOVUxMKSB7CisgICAgaWYgKHMgPT0gTlVMTCB8fCBQeVVuaWNvZGVfUkVBRFkocykgPT0gLTEpIHsKICAgICAgICAgaWYgKFB5RXJyX0V4Y2VwdGlvbk1hdGNoZXMoUHlFeGNfVW5pY29kZURlY29kZUVycm9yKSkgewogICAgICAgICAgICAgUHlFcnJfQ2xlYXIoKTsKICAgICAgICAgICAgIHRvay0+ZG9uZSA9IEVfSURFTlRJRklFUjsKQEAgLTE0MTAsMTMgKzE0MTIsMTkgQEAKICAgICAvKiBJZGVudGlmaWVyIChtb3N0IGZyZXF1ZW50IHRva2VuISkgKi8KICAgICBub25hc2NpaSA9IDA7CiAgICAgaWYgKGlzX3BvdGVudGlhbF9pZGVudGlmaWVyX3N0YXJ0KGMpKSB7Ci0gICAgICAgIC8qIFByb2Nlc3MgYiIiLCByIiIgYW5kIGJyIiIgKi8KLSAgICAgICAgaWYgKGMgPT0gJ2InIHx8IGMgPT0gJ0InKSB7Ci0gICAgICAgICAgICBjID0gdG9rX25leHRjKHRvayk7Ci0gICAgICAgICAgICBpZiAoYyA9PSAnIicgfHwgYyA9PSAnXCcnKQotICAgICAgICAgICAgICAgIGdvdG8gbGV0dGVyX3F1b3RlOwotICAgICAgICB9Ci0gICAgICAgIGlmIChjID09ICdyJyB8fCBjID09ICdSJykgeworICAgICAgICAvKiBQcm9jZXNzIGIiIiwgciIiLCB1IiIsIGJyIiIsIHJiIiIgYW5kIHVyIiIgKi8KKyAgICAgICAgaW50IHNhd19iID0gMCwgc2F3X3IgPSAwLCBzYXdfdSA9IDA7CisgICAgICAgIHdoaWxlICgxKSB7CisgICAgICAgICAgICBpZiAoIShzYXdfYiB8fCBzYXdfdSkgJiYgKGMgPT0gJ2InIHx8IGMgPT0gJ0InKSkKKyAgICAgICAgICAgICAgICBzYXdfYiA9IDE7CisgICAgICAgICAgICAvKiBTaW5jZSB0aGlzIGlzIGEgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgc3VwcG9ydCBsaXRlcmFsIHdlIGRvbid0CisgICAgICAgICAgICAgICB3YW50IHRvIHN1cHBvcnQgaXQgaW4gYXJiaXRyYXJ5IG9yZGVyIGxpa2UgYnl0ZSBsaXRlcmFscy4gKi8KKyAgICAgICAgICAgIGVsc2UgaWYgKCEoc2F3X2IgfHwgc2F3X3UgfHwgc2F3X3IpICYmIChjID09ICd1JyB8fCBjID09ICdVJykpCisgICAgICAgICAgICAgICAgc2F3X3UgPSAxOworICAgICAgICAgICAgZWxzZSBpZiAoIXNhd19yICYmIChjID09ICdyJyB8fCBjID09ICdSJykpCisgICAgICAgICAgICAgICAgc2F3X3IgPSAxOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgYyA9IHRva19uZXh0Yyh0b2spOwogICAgICAgICAgICAgaWYgKGMgPT0gJyInIHx8IGMgPT0gJ1wnJykKICAgICAgICAgICAgICAgICBnb3RvIGxldHRlcl9xdW90ZTsKQEAgLTE2OTIsMTcgKzE3MDAsMTggQEAKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi0vKiBHZXQgLSotIGVuY29kaW5nIC0qLSBmcm9tIGEgUHl0aG9uIGZpbGUuCisvKiBHZXQgdGhlIGVuY29kaW5nIG9mIGEgUHl0aG9uIGZpbGUuIENoZWNrIGZvciB0aGUgY29kaW5nIGNvb2tpZSBhbmQgY2hlY2sgaWYKKyAgIHRoZSBmaWxlIHN0YXJ0cyB3aXRoIGEgQk9NLgogCi0gICBQeVRva2VuaXplcl9GaW5kRW5jb2RpbmcgcmV0dXJucyBOVUxMIHdoZW4gaXQgY2FuJ3QgZmluZCB0aGUgZW5jb2RpbmcgaW4KLSAgIHRoZSBmaXJzdCBvciBzZWNvbmQgbGluZSBvZiB0aGUgZmlsZSAoaW4gd2hpY2ggY2FzZSB0aGUgZW5jb2RpbmcKLSAgIHNob3VsZCBiZSBhc3N1bWVkIHRvIGJlIFB5VW5pY29kZV9HZXREZWZhdWx0RW5jb2RpbmcoKSkuCisgICBQeVRva2VuaXplcl9GaW5kRW5jb2RpbmdGaWxlbmFtZSgpIHJldHVybnMgTlVMTCB3aGVuIGl0IGNhbid0IGZpbmQgdGhlCisgICBlbmNvZGluZyBpbiB0aGUgZmlyc3Qgb3Igc2Vjb25kIGxpbmUgb2YgdGhlIGZpbGUgKGluIHdoaWNoIGNhc2UgdGhlIGVuY29kaW5nCisgICBzaG91bGQgYmUgYXNzdW1lZCB0byBiZSBVVEYtOCkuCiAKLSAgIFRoZSBjaGFyICogcmV0dXJuZWQgaXMgbWFsbG9jJ2VkIHZpYSBQeU1lbV9NQUxMT0MoKSBhbmQgdGh1cyBtdXN0IGJlIGZyZWVkCi0gICBieSB0aGUgY2FsbGVyLgotKi8KKyAgIFRoZSBjaGFyKiByZXR1cm5lZCBpcyBtYWxsb2MnZWQgdmlhIFB5TWVtX01BTExPQygpIGFuZCB0aHVzIG11c3QgYmUgZnJlZWQKKyAgIGJ5IHRoZSBjYWxsZXIuICovCisKIGNoYXIgKgotUHlUb2tlbml6ZXJfRmluZEVuY29kaW5nKGludCBmZCkKK1B5VG9rZW5pemVyX0ZpbmRFbmNvZGluZ0ZpbGVuYW1lKGludCBmZCwgUHlPYmplY3QgKmZpbGVuYW1lKQogewogICAgIHN0cnVjdCB0b2tfc3RhdGUgKnRvazsKICAgICBGSUxFICpmcDsKQEAgLTE3MjEsNiArMTczMCwyMCBAQAogICAgICAgICBmY2xvc2UoZnApOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CisjaWZuZGVmIFBHRU4KKyAgICBpZiAoZmlsZW5hbWUgIT0gTlVMTCkgeworICAgICAgICBQeV9JTkNSRUYoZmlsZW5hbWUpOworICAgICAgICB0b2stPmZpbGVuYW1lID0gZmlsZW5hbWU7CisgICAgfQorICAgIGVsc2UgeworICAgICAgICB0b2stPmZpbGVuYW1lID0gUHlVbmljb2RlX0Zyb21TdHJpbmcoIjxzdHJpbmc+Iik7CisgICAgICAgIGlmICh0b2stPmZpbGVuYW1lID09IE5VTEwpIHsKKyAgICAgICAgICAgIGZjbG9zZShmcCk7CisgICAgICAgICAgICBQeVRva2VuaXplcl9GcmVlKHRvayk7CisgICAgICAgICAgICByZXR1cm4gZW5jb2Rpbmc7CisgICAgICAgIH0KKyAgICB9CisjZW5kaWYKICAgICB3aGlsZSAodG9rLT5saW5lbm8gPCAyICYmIHRvay0+ZG9uZSA9PSBFX09LKSB7CiAgICAgICAgIFB5VG9rZW5pemVyX0dldCh0b2ssICZwX3N0YXJ0LCAmcF9lbmQpOwogICAgIH0KQEAgLTE3MzQsNiArMTc1NywxMiBAQAogICAgIHJldHVybiBlbmNvZGluZzsKIH0KIAorY2hhciAqCitQeVRva2VuaXplcl9GaW5kRW5jb2RpbmcoaW50IGZkKQoreworICAgIHJldHVybiBQeVRva2VuaXplcl9GaW5kRW5jb2RpbmdGaWxlbmFtZShmZCwgTlVMTCk7Cit9CisKICNpZmRlZiBQeV9ERUJVRwogCiB2b2lkCmRpZmYgLS1naXQgYS9QYXJzZXIvdG9rZW5pemVyLmggYi9QYXJzZXIvdG9rZW5pemVyLmgKaW5kZXggMmJlM2JmMi4uZWQxZjNhYSAxMDA2NDQKLS0tIGEvUGFyc2VyL3Rva2VuaXplci5oCisrKyBiL1BhcnNlci90b2tlbml6ZXIuaApAQCAtNDAsNyArNDAsMTMgQEAKICAgICBpbnQgbGV2ZWw7ICAgICAgICAgIC8qICgpIFtdIHt9IFBhcmVudGhlc2VzIG5lc3RpbmcgbGV2ZWwgKi8KICAgICAgICAgICAgIC8qIFVzZWQgdG8gYWxsb3cgZnJlZSBjb250aW51YXRpb25zIGluc2lkZSB0aGVtICovCiAgICAgLyogU3R1ZmYgZm9yIGNoZWNraW5nIG9uIGRpZmZlcmVudCB0YWIgc2l6ZXMgKi8KLSAgICBjb25zdCBjaGFyICpmaWxlbmFtZTsgICAvKiBlbmNvZGVkIHRvIHRoZSBmaWxlc3lzdGVtIGVuY29kaW5nICovCisjaWZuZGVmIFBHRU4KKyAgICAvKiBwZ2VuIGRvZXNuJ3QgaGF2ZSBhY2Nlc3MgdG8gUHl0aG9uIGNvZGVjcywgaXQgY2Fubm90IGRlY29kZSB0aGUgaW5wdXQKKyAgICAgICBmaWxlbmFtZS4gVGhlIGJ5dGVzIGZpbGVuYW1lIG1pZ2h0IGJlIGtlcHQsIGJ1dCBpdCBpcyBvbmx5IHVzZWQgYnkKKyAgICAgICBpbmRlbnRlcnJvcigpIGFuZCBpdCBpcyBub3QgcmVhbGx5IG5lZWRlZDogcGdlbiBvbmx5IGNvbXBpbGVzIG9uZSBmaWxlCisgICAgICAgKEdyYW1tYXIvR3JhbW1hcikuICovCisgICAgUHlPYmplY3QgKmZpbGVuYW1lOworI2VuZGlmCiAgICAgaW50IGFsdHdhcm5pbmc7ICAgICAvKiBJc3N1ZSB3YXJuaW5nIGlmIGFsdGVybmF0ZSB0YWJzIGRvbid0IG1hdGNoICovCiAgICAgaW50IGFsdGVycm9yOyAgICAgICAvKiBJc3N1ZSBlcnJvciBpZiBhbHRlcm5hdGUgdGFicyBkb24ndCBtYXRjaCAqLwogICAgIGludCBhbHR0YWJzaXplOyAgICAgLyogQWx0ZXJuYXRlIHRhYiBzcGFjaW5nICovCkBAIC02OSw3ICs3NSw2IEBACiBleHRlcm4gaW50IFB5VG9rZW5pemVyX0dldChzdHJ1Y3QgdG9rX3N0YXRlICosIGNoYXIgKiosIGNoYXIgKiopOwogZXh0ZXJuIGNoYXIgKiBQeVRva2VuaXplcl9SZXN0b3JlRW5jb2Rpbmcoc3RydWN0IHRva19zdGF0ZSogdG9rLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGxlbiwgaW50ICpvZmZzZXQpOwotZXh0ZXJuIGNoYXIgKiBQeVRva2VuaXplcl9GaW5kRW5jb2RpbmcoaW50KTsKIAogI2lmZGVmIF9fY3BsdXNwbHVzCiB9CmRpZmYgLS1naXQgYS9QeXRob24vUHl0aG9uLWFzdC5jIGIvUHl0aG9uL1B5dGhvbi1hc3QuYwppbmRleCBhMjc2YjZjLi5kOWUxM2UyIDEwMDY0NAotLS0gYS9QeXRob24vUHl0aG9uLWFzdC5jCisrKyBiL1B5dGhvbi9QeXRob24tYXN0LmMKQEAgLTEsMTMgKzEsNiBAQAogLyogRmlsZSBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSBQYXJzZXIvYXNkbF9jLnB5LiAqLwogCi0KLS8qCi0gICBfX3ZlcnNpb25fXyA4MjE2My4KLQotICAgVGhpcyBtb2R1bGUgbXVzdCBiZSBjb21taXR0ZWQgc2VwYXJhdGVseSBhZnRlciBlYWNoIEFTVCBncmFtbWFyIGNoYW5nZTsKLSAgIFRoZSBfX3ZlcnNpb25fXyBudW1iZXIgaXMgc2V0IHRvIHRoZSByZXZpc2lvbiBudW1iZXIgb2YgdGhlIGNvbW1pdAotICAgY29udGFpbmluZyB0aGUgZ3JhbW1hciBjaGFuZ2UuCi0qLworI2luY2x1ZGUgPHN0ZGRlZi5oPgogCiAjaW5jbHVkZSAiUHl0aG9uLmgiCiAjaW5jbHVkZSAiUHl0aG9uLWFzdC5oIgpAQCAtMTYsNiArOSw3IEBACiBzdGF0aWMgUHlUeXBlT2JqZWN0ICptb2RfdHlwZTsKIHN0YXRpYyBQeU9iamVjdCogYXN0Mm9ial9tb2Qodm9pZCopOwogc3RhdGljIFB5VHlwZU9iamVjdCAqTW9kdWxlX3R5cGU7CitfUHlfSURFTlRJRklFUihib2R5KTsKIHN0YXRpYyBjaGFyICpNb2R1bGVfZmllbGRzW109ewogICAgICAgICAiYm9keSIsCiB9OwpAQCAtMzIsMTIgKzI2LDE4IEBACiAgICAgICAgICJib2R5IiwKIH07CiBzdGF0aWMgUHlUeXBlT2JqZWN0ICpzdG10X3R5cGU7CitfUHlfSURFTlRJRklFUihsaW5lbm8pOworX1B5X0lERU5USUZJRVIoY29sX29mZnNldCk7CiBzdGF0aWMgY2hhciAqc3RtdF9hdHRyaWJ1dGVzW10gPSB7CiAgICAgICAgICJsaW5lbm8iLAogICAgICAgICAiY29sX29mZnNldCIsCiB9Owogc3RhdGljIFB5T2JqZWN0KiBhc3Qyb2JqX3N0bXQodm9pZCopOwogc3RhdGljIFB5VHlwZU9iamVjdCAqRnVuY3Rpb25EZWZfdHlwZTsKK19QeV9JREVOVElGSUVSKG5hbWUpOworX1B5X0lERU5USUZJRVIoYXJncyk7CitfUHlfSURFTlRJRklFUihkZWNvcmF0b3JfbGlzdCk7CitfUHlfSURFTlRJRklFUihyZXR1cm5zKTsKIHN0YXRpYyBjaGFyICpGdW5jdGlvbkRlZl9maWVsZHNbXT17CiAgICAgICAgICJuYW1lIiwKICAgICAgICAgImFyZ3MiLApAQCAtNDYsNiArNDYsMTAgQEAKICAgICAgICAgInJldHVybnMiLAogfTsKIHN0YXRpYyBQeVR5cGVPYmplY3QgKkNsYXNzRGVmX3R5cGU7CitfUHlfSURFTlRJRklFUihiYXNlcyk7CitfUHlfSURFTlRJRklFUihrZXl3b3Jkcyk7CitfUHlfSURFTlRJRklFUihzdGFyYXJncyk7CitfUHlfSURFTlRJRklFUihrd2FyZ3MpOwogc3RhdGljIGNoYXIgKkNsYXNzRGVmX2ZpZWxkc1tdPXsKICAgICAgICAgIm5hbWUiLAogICAgICAgICAiYmFzZXMiLApAQCAtNTYsMTAgKzYwLDEyIEBACiAgICAgICAgICJkZWNvcmF0b3JfbGlzdCIsCiB9Owogc3RhdGljIFB5VHlwZU9iamVjdCAqUmV0dXJuX3R5cGU7CitfUHlfSURFTlRJRklFUih2YWx1ZSk7CiBzdGF0aWMgY2hhciAqUmV0dXJuX2ZpZWxkc1tdPXsKICAgICAgICAgInZhbHVlIiwKIH07CiBzdGF0aWMgUHlUeXBlT2JqZWN0ICpEZWxldGVfdHlwZTsKK19QeV9JREVOVElGSUVSKHRhcmdldHMpOwogc3RhdGljIGNoYXIgKkRlbGV0ZV9maWVsZHNbXT17CiAgICAgICAgICJ0YXJnZXRzIiwKIH07CkBAIC02OSwxMiArNzUsMTYgQEAKICAgICAgICAgInZhbHVlIiwKIH07CiBzdGF0aWMgUHlUeXBlT2JqZWN0ICpBdWdBc3NpZ25fdHlwZTsKK19QeV9JREVOVElGSUVSKHRhcmdldCk7CitfUHlfSURFTlRJRklFUihvcCk7CiBzdGF0aWMgY2hhciAqQXVnQXNzaWduX2ZpZWxkc1tdPXsKICAgICAgICAgInRhcmdldCIsCiAgICAgICAgICJvcCIsCiAgICAgICAgICJ2YWx1ZSIsCiB9Owogc3RhdGljIFB5VHlwZU9iamVjdCAqRm9yX3R5cGU7CitfUHlfSURFTlRJRklFUihpdGVyKTsKK19QeV9JREVOVElGSUVSKG9yZWxzZSk7CiBzdGF0aWMgY2hhciAqRm9yX2ZpZWxkc1tdPXsKICAgICAgICAgInRhcmdldCIsCiAgICAgICAgICJpdGVyIiwKQEAgLTgyLDYgKzkyLDcgQEAKICAgICAgICAgIm9yZWxzZSIsCiB9Owogc3RhdGljIFB5VHlwZU9iamVjdCAqV2hpbGVfdHlwZTsKK19QeV9JREVOVElGSUVSKHRlc3QpOwogc3RhdGljIGNoYXIgKldoaWxlX2ZpZWxkc1tdPXsKICAgICAgICAgInRlc3QiLAogICAgICAgICAiYm9keSIsCkBAIC05NCwzNyArMTA1LDQxIEBACiAgICAgICAgICJvcmVsc2UiLAogfTsKIHN0YXRpYyBQeVR5cGVPYmplY3QgKldpdGhfdHlwZTsKK19QeV9JREVOVElGSUVSKGl0ZW1zKTsKIHN0YXRpYyBjaGFyICpXaXRoX2ZpZWxkc1tdPXsKLSAgICAgICAgImNvbnRleHRfZXhwciIsCi0gICAgICAgICJvcHRpb25hbF92YXJzIiwKKyAgICAgICAgIml0ZW1zIiwKICAgICAgICAgImJvZHkiLAogfTsKIHN0YXRpYyBQeVR5cGVPYmplY3QgKlJhaXNlX3R5cGU7CitfUHlfSURFTlRJRklFUihleGMpOworX1B5X0lERU5USUZJRVIoY2F1c2UpOwogc3RhdGljIGNoYXIgKlJhaXNlX2ZpZWxkc1tdPXsKICAgICAgICAgImV4YyIsCiAgICAgICAgICJjYXVzZSIsCiB9Owotc3RhdGljIFB5VHlwZU9iamVjdCAqVHJ5RXhjZXB0X3R5cGU7Ci1zdGF0aWMgY2hhciAqVHJ5RXhjZXB0X2ZpZWxkc1tdPXsKK3N0YXRpYyBQeVR5cGVPYmplY3QgKlRyeV90eXBlOworX1B5X0lERU5USUZJRVIoaGFuZGxlcnMpOworX1B5X0lERU5USUZJRVIoZmluYWxib2R5KTsKK3N0YXRpYyBjaGFyICpUcnlfZmllbGRzW109ewogICAgICAgICAiYm9keSIsCiAgICAgICAgICJoYW5kbGVycyIsCiAgICAgICAgICJvcmVsc2UiLAotfTsKLXN0YXRpYyBQeVR5cGVPYmplY3QgKlRyeUZpbmFsbHlfdHlwZTsKLXN0YXRpYyBjaGFyICpUcnlGaW5hbGx5X2ZpZWxkc1tdPXsKLSAgICAgICAgImJvZHkiLAogICAgICAgICAiZmluYWxib2R5IiwKIH07CiBzdGF0aWMgUHlUeXBlT2JqZWN0ICpBc3NlcnRfdHlwZTsKK19QeV9JREVOVElGSUVSKG1zZyk7CiBzdGF0aWMgY2hhciAqQXNzZXJ0X2ZpZWxkc1tdPXsKICAgICAgICAgInRlc3QiLAogICAgICAgICAibXNnIiwKIH07CiBzdGF0aWMgUHlUeXBlT2JqZWN0ICpJbXBvcnRfdHlwZTsKK19QeV9JREVOVElGSUVSKG5hbWVzKTsKIHN0YXRpYyBjaGFyICpJbXBvcnRfZmllbGRzW109ewogICAgICAgICAibmFtZXMiLAogfTsKIHN0YXRpYyBQeVR5cGVPYmplY3QgKkltcG9ydEZyb21fdHlwZTsKK19QeV9JREVOVElGSUVSKG1vZHVsZSk7CitfUHlfSURFTlRJRklFUihsZXZlbCk7CiBzdGF0aWMgY2hhciAqSW1wb3J0RnJvbV9maWVsZHNbXT17CiAgICAgICAgICJtb2R1bGUiLAogICAgICAgICAibmFtZXMiLApAQCAtMTUyLDE3ICsxNjcsMjEgQEAKIH07CiBzdGF0aWMgUHlPYmplY3QqIGFzdDJvYmpfZXhwcih2b2lkKik7CiBzdGF0aWMgUHlUeXBlT2JqZWN0ICpCb29sT3BfdHlwZTsKK19QeV9JREVOVElGSUVSKHZhbHVlcyk7CiBzdGF0aWMgY2hhciAqQm9vbE9wX2ZpZWxkc1tdPXsKICAgICAgICAgIm9wIiwKICAgICAgICAgInZhbHVlcyIsCiB9Owogc3RhdGljIFB5VHlwZU9iamVjdCAqQmluT3BfdHlwZTsKK19QeV9JREVOVElGSUVSKGxlZnQpOworX1B5X0lERU5USUZJRVIocmlnaHQpOwogc3RhdGljIGNoYXIgKkJpbk9wX2ZpZWxkc1tdPXsKICAgICAgICAgImxlZnQiLAogICAgICAgICAib3AiLAogICAgICAgICAicmlnaHQiLAogfTsKIHN0YXRpYyBQeVR5cGVPYmplY3QgKlVuYXJ5T3BfdHlwZTsKK19QeV9JREVOVElGSUVSKG9wZXJhbmQpOwogc3RhdGljIGNoYXIgKlVuYXJ5T3BfZmllbGRzW109ewogICAgICAgICAib3AiLAogICAgICAgICAib3BlcmFuZCIsCkBAIC0xNzksMTUgKzE5OCwxOSBAQAogICAgICAgICAib3JlbHNlIiwKIH07CiBzdGF0aWMgUHlUeXBlT2JqZWN0ICpEaWN0X3R5cGU7CitfUHlfSURFTlRJRklFUihrZXlzKTsKIHN0YXRpYyBjaGFyICpEaWN0X2ZpZWxkc1tdPXsKICAgICAgICAgImtleXMiLAogICAgICAgICAidmFsdWVzIiwKIH07CiBzdGF0aWMgUHlUeXBlT2JqZWN0ICpTZXRfdHlwZTsKK19QeV9JREVOVElGSUVSKGVsdHMpOwogc3RhdGljIGNoYXIgKlNldF9maWVsZHNbXT17CiAgICAgICAgICJlbHRzIiwKIH07CiBzdGF0aWMgUHlUeXBlT2JqZWN0ICpMaXN0Q29tcF90eXBlOworX1B5X0lERU5USUZJRVIoZWx0KTsKK19QeV9JREVOVElGSUVSKGdlbmVyYXRvcnMpOwogc3RhdGljIGNoYXIgKkxpc3RDb21wX2ZpZWxkc1tdPXsKICAgICAgICAgImVsdCIsCiAgICAgICAgICJnZW5lcmF0b3JzIiwKQEAgLTE5OCw2ICsyMjEsNyBAQAogICAgICAgICAiZ2VuZXJhdG9ycyIsCiB9Owogc3RhdGljIFB5VHlwZU9iamVjdCAqRGljdENvbXBfdHlwZTsKK19QeV9JREVOVElGSUVSKGtleSk7CiBzdGF0aWMgY2hhciAqRGljdENvbXBfZmllbGRzW109ewogICAgICAgICAia2V5IiwKICAgICAgICAgInZhbHVlIiwKQEAgLTIxMiwxMyArMjM2LDIwIEBACiBzdGF0aWMgY2hhciAqWWllbGRfZmllbGRzW109ewogICAgICAgICAidmFsdWUiLAogfTsKK3N0YXRpYyBQeVR5cGVPYmplY3QgKllpZWxkRnJvbV90eXBlOworc3RhdGljIGNoYXIgKllpZWxkRnJvbV9maWVsZHNbXT17CisgICAgICAgICJ2YWx1ZSIsCit9Owogc3RhdGljIFB5VHlwZU9iamVjdCAqQ29tcGFyZV90eXBlOworX1B5X0lERU5USUZJRVIob3BzKTsKK19QeV9JREVOVElGSUVSKGNvbXBhcmF0b3JzKTsKIHN0YXRpYyBjaGFyICpDb21wYXJlX2ZpZWxkc1tdPXsKICAgICAgICAgImxlZnQiLAogICAgICAgICAib3BzIiwKICAgICAgICAgImNvbXBhcmF0b3JzIiwKIH07CiBzdGF0aWMgUHlUeXBlT2JqZWN0ICpDYWxsX3R5cGU7CitfUHlfSURFTlRJRklFUihmdW5jKTsKIHN0YXRpYyBjaGFyICpDYWxsX2ZpZWxkc1tdPXsKICAgICAgICAgImZ1bmMiLAogICAgICAgICAiYXJncyIsCkBAIC0yMjcsMTAgKzI1OCwxMiBAQAogICAgICAgICAia3dhcmdzIiwKIH07CiBzdGF0aWMgUHlUeXBlT2JqZWN0ICpOdW1fdHlwZTsKK19QeV9JREVOVElGSUVSKG4pOwogc3RhdGljIGNoYXIgKk51bV9maWVsZHNbXT17CiAgICAgICAgICJuIiwKIH07CiBzdGF0aWMgUHlUeXBlT2JqZWN0ICpTdHJfdHlwZTsKK19QeV9JREVOVElGSUVSKHMpOwogc3RhdGljIGNoYXIgKlN0cl9maWVsZHNbXT17CiAgICAgICAgICJzIiwKIH07CkBAIC0yNDAsMTIgKzI3MywxNSBAQAogfTsKIHN0YXRpYyBQeVR5cGVPYmplY3QgKkVsbGlwc2lzX3R5cGU7CiBzdGF0aWMgUHlUeXBlT2JqZWN0ICpBdHRyaWJ1dGVfdHlwZTsKK19QeV9JREVOVElGSUVSKGF0dHIpOworX1B5X0lERU5USUZJRVIoY3R4KTsKIHN0YXRpYyBjaGFyICpBdHRyaWJ1dGVfZmllbGRzW109ewogICAgICAgICAidmFsdWUiLAogICAgICAgICAiYXR0ciIsCiAgICAgICAgICJjdHgiLAogfTsKIHN0YXRpYyBQeVR5cGVPYmplY3QgKlN1YnNjcmlwdF90eXBlOworX1B5X0lERU5USUZJRVIoc2xpY2UpOwogc3RhdGljIGNoYXIgKlN1YnNjcmlwdF9maWVsZHNbXT17CiAgICAgICAgICJ2YWx1ZSIsCiAgICAgICAgICJzbGljZSIsCkBAIC0yNTcsNiArMjkzLDcgQEAKICAgICAgICAgImN0eCIsCiB9Owogc3RhdGljIFB5VHlwZU9iamVjdCAqTmFtZV90eXBlOworX1B5X0lERU5USUZJRVIoaWQpOwogc3RhdGljIGNoYXIgKk5hbWVfZmllbGRzW109ewogICAgICAgICAiaWQiLAogICAgICAgICAiY3R4IiwKQEAgLTI4NCwxMiArMzIxLDE2IEBACiBzdGF0aWMgUHlUeXBlT2JqZWN0ICpzbGljZV90eXBlOwogc3RhdGljIFB5T2JqZWN0KiBhc3Qyb2JqX3NsaWNlKHZvaWQqKTsKIHN0YXRpYyBQeVR5cGVPYmplY3QgKlNsaWNlX3R5cGU7CitfUHlfSURFTlRJRklFUihsb3dlcik7CitfUHlfSURFTlRJRklFUih1cHBlcik7CitfUHlfSURFTlRJRklFUihzdGVwKTsKIHN0YXRpYyBjaGFyICpTbGljZV9maWVsZHNbXT17CiAgICAgICAgICJsb3dlciIsCiAgICAgICAgICJ1cHBlciIsCiAgICAgICAgICJzdGVwIiwKIH07CiBzdGF0aWMgUHlUeXBlT2JqZWN0ICpFeHRTbGljZV90eXBlOworX1B5X0lERU5USUZJRVIoZGltcyk7CiBzdGF0aWMgY2hhciAqRXh0U2xpY2VfZmllbGRzW109ewogICAgICAgICAiZGltcyIsCiB9OwpAQCAtMzQ1LDYgKzM4Niw3IEBACiBzdGF0aWMgUHlUeXBlT2JqZWN0ICpOb3RJbl90eXBlOwogc3RhdGljIFB5VHlwZU9iamVjdCAqY29tcHJlaGVuc2lvbl90eXBlOwogc3RhdGljIFB5T2JqZWN0KiBhc3Qyb2JqX2NvbXByZWhlbnNpb24odm9pZCopOworX1B5X0lERU5USUZJRVIoaWZzKTsKIHN0YXRpYyBjaGFyICpjb21wcmVoZW5zaW9uX2ZpZWxkc1tdPXsKICAgICAgICAgInRhcmdldCIsCiAgICAgICAgICJpdGVyIiwKQEAgLTM1Nyw2ICszOTksNyBAQAogfTsKIHN0YXRpYyBQeU9iamVjdCogYXN0Mm9ial9leGNlcHRoYW5kbGVyKHZvaWQqKTsKIHN0YXRpYyBQeVR5cGVPYmplY3QgKkV4Y2VwdEhhbmRsZXJfdHlwZTsKK19QeV9JREVOVElGSUVSKHR5cGUpOwogc3RhdGljIGNoYXIgKkV4Y2VwdEhhbmRsZXJfZmllbGRzW109ewogICAgICAgICAidHlwZSIsCiAgICAgICAgICJuYW1lIiwKQEAgLTM2NCw2ICs0MDcsMTMgQEAKIH07CiBzdGF0aWMgUHlUeXBlT2JqZWN0ICphcmd1bWVudHNfdHlwZTsKIHN0YXRpYyBQeU9iamVjdCogYXN0Mm9ial9hcmd1bWVudHModm9pZCopOworX1B5X0lERU5USUZJRVIodmFyYXJnKTsKK19QeV9JREVOVElGSUVSKHZhcmFyZ2Fubm90YXRpb24pOworX1B5X0lERU5USUZJRVIoa3dvbmx5YXJncyk7CitfUHlfSURFTlRJRklFUihrd2FyZyk7CitfUHlfSURFTlRJRklFUihrd2FyZ2Fubm90YXRpb24pOworX1B5X0lERU5USUZJRVIoZGVmYXVsdHMpOworX1B5X0lERU5USUZJRVIoa3dfZGVmYXVsdHMpOwogc3RhdGljIGNoYXIgKmFyZ3VtZW50c19maWVsZHNbXT17CiAgICAgICAgICJhcmdzIiwKICAgICAgICAgInZhcmFyZyIsCkBAIC0zNzYsNiArNDI2LDggQEAKIH07CiBzdGF0aWMgUHlUeXBlT2JqZWN0ICphcmdfdHlwZTsKIHN0YXRpYyBQeU9iamVjdCogYXN0Mm9ial9hcmcodm9pZCopOworX1B5X0lERU5USUZJRVIoYXJnKTsKK19QeV9JREVOVElGSUVSKGFubm90YXRpb24pOwogc3RhdGljIGNoYXIgKmFyZ19maWVsZHNbXT17CiAgICAgICAgICJhcmciLAogICAgICAgICAiYW5ub3RhdGlvbiIsCkBAIC0zODgsMTkgKzQ0MCw0MCBAQAogfTsKIHN0YXRpYyBQeVR5cGVPYmplY3QgKmFsaWFzX3R5cGU7CiBzdGF0aWMgUHlPYmplY3QqIGFzdDJvYmpfYWxpYXModm9pZCopOworX1B5X0lERU5USUZJRVIoYXNuYW1lKTsKIHN0YXRpYyBjaGFyICphbGlhc19maWVsZHNbXT17CiAgICAgICAgICJuYW1lIiwKICAgICAgICAgImFzbmFtZSIsCiB9Oworc3RhdGljIFB5VHlwZU9iamVjdCAqd2l0aGl0ZW1fdHlwZTsKK3N0YXRpYyBQeU9iamVjdCogYXN0Mm9ial93aXRoaXRlbSh2b2lkKik7CitfUHlfSURFTlRJRklFUihjb250ZXh0X2V4cHIpOworX1B5X0lERU5USUZJRVIob3B0aW9uYWxfdmFycyk7CitzdGF0aWMgY2hhciAqd2l0aGl0ZW1fZmllbGRzW109eworICAgICAgICAiY29udGV4dF9leHByIiwKKyAgICAgICAgIm9wdGlvbmFsX3ZhcnMiLAorfTsKIAogCit0eXBlZGVmIHN0cnVjdCB7CisgICAgUHlPYmplY3RfSEVBRAorICAgIFB5T2JqZWN0ICpkaWN0OworfSBBU1Rfb2JqZWN0OworCitzdGF0aWMgdm9pZAorYXN0X2RlYWxsb2MoQVNUX29iamVjdCAqc2VsZikKK3sKKyAgICBQeV9DTEVBUihzZWxmLT5kaWN0KTsKK30KKwogc3RhdGljIGludAogYXN0X3R5cGVfaW5pdChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprdykKIHsKKyAgICBfUHlfSURFTlRJRklFUihfZmllbGRzKTsKICAgICBQeV9zc2l6ZV90IGksIG51bWZpZWxkcyA9IDA7CiAgICAgaW50IHJlcyA9IC0xOwogICAgIFB5T2JqZWN0ICprZXksICp2YWx1ZSwgKmZpZWxkczsKLSAgICBmaWVsZHMgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKChQeU9iamVjdCopUHlfVFlQRShzZWxmKSwgIl9maWVsZHMiKTsKKyAgICBmaWVsZHMgPSBfUHlPYmplY3RfR2V0QXR0cklkKChQeU9iamVjdCopUHlfVFlQRShzZWxmKSwgJlB5SWRfX2ZpZWxkcyk7CiAgICAgaWYgKCFmaWVsZHMpCiAgICAgICAgIFB5RXJyX0NsZWFyKCk7CiAgICAgaWYgKGZpZWxkcykgewpAQCAtNDUwLDcgKzUyMyw4IEBACiBhc3RfdHlwZV9yZWR1Y2UoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICp1bnVzZWQpCiB7CiAgICAgUHlPYmplY3QgKnJlczsKLSAgICBQeU9iamVjdCAqZGljdCA9IFB5T2JqZWN0X0dldEF0dHJTdHJpbmcoc2VsZiwgIl9fZGljdF9fIik7CisgICAgX1B5X0lERU5USUZJRVIoX19kaWN0X18pOworICAgIFB5T2JqZWN0ICpkaWN0ID0gX1B5T2JqZWN0X0dldEF0dHJJZChzZWxmLCAmUHlJZF9fX2RpY3RfXyk7CiAgICAgaWYgKGRpY3QgPT0gTlVMTCkgewogICAgICAgICBpZiAoUHlFcnJfRXhjZXB0aW9uTWF0Y2hlcyhQeUV4Y19BdHRyaWJ1dGVFcnJvcikpCiAgICAgICAgICAgICBQeUVycl9DbGVhcigpOwpAQCAtNDcwLDEyICs1NDQsMTcgQEAKICAgICB7TlVMTH0KIH07CiAKK3N0YXRpYyBQeUdldFNldERlZiBhc3RfdHlwZV9nZXRzZXRzW10gPSB7CisgICAgeyJfX2RpY3RfXyIsIFB5T2JqZWN0X0dlbmVyaWNHZXREaWN0LCBQeU9iamVjdF9HZW5lcmljU2V0RGljdH0sCisgICAge05VTEx9Cit9OworCiBzdGF0aWMgUHlUeXBlT2JqZWN0IEFTVF90eXBlID0gewogICAgIFB5VmFyT2JqZWN0X0hFQURfSU5JVCgmUHlUeXBlX1R5cGUsIDApCiAgICAgIl9hc3QuQVNUIiwKLSAgICBzaXplb2YoUHlPYmplY3QpLAorICAgIHNpemVvZihBU1Rfb2JqZWN0KSwKICAgICAwLAotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9kZWFsbG9jICovCisgICAgKGRlc3RydWN0b3IpYXN0X2RlYWxsb2MsIC8qIHRwX2RlYWxsb2MgKi8KICAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfcHJpbnQgKi8KICAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfZ2V0YXR0ciAqLwogICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9zZXRhdHRyICovCkBAIC01MDAsMTIgKzU3OSwxMiBAQAogICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9pdGVybmV4dCAqLwogICAgIGFzdF90eXBlX21ldGhvZHMsICAgICAgICAvKiB0cF9tZXRob2RzICovCiAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX21lbWJlcnMgKi8KLSAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfZ2V0c2V0ICovCisgICAgYXN0X3R5cGVfZ2V0c2V0cywgICAgICAgIC8qIHRwX2dldHNldCAqLwogICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9iYXNlICovCiAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2RpY3QgKi8KICAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgLyogdHBfZGVzY3JfZ2V0ICovCiAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgIC8qIHRwX2Rlc2NyX3NldCAqLwotICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAvKiB0cF9kaWN0b2Zmc2V0ICovCisgICAgb2Zmc2V0b2YoQVNUX29iamVjdCwgZGljdCksLyogdHBfZGljdG9mZnNldCAqLwogICAgIChpbml0cHJvYylhc3RfdHlwZV9pbml0LCAvKiB0cF9pbml0ICovCiAgICAgUHlUeXBlX0dlbmVyaWNBbGxvYywgICAgIC8qIHRwX2FsbG9jICovCiAgICAgUHlUeXBlX0dlbmVyaWNOZXcsICAgICAgIC8qIHRwX25ldyAqLwpAQCAtNTM2LDYgKzYxNSw3IEBACiBzdGF0aWMgaW50IGFkZF9hdHRyaWJ1dGVzKFB5VHlwZU9iamVjdCogdHlwZSwgY2hhcioqYXR0cnMsIGludCBudW1fZmllbGRzKQogewogICAgIGludCBpLCByZXN1bHQ7CisgICAgX1B5X0lERU5USUZJRVIoX2F0dHJpYnV0ZXMpOwogICAgIFB5T2JqZWN0ICpzLCAqbCA9IFB5VHVwbGVfTmV3KG51bV9maWVsZHMpOwogICAgIGlmICghbCkKICAgICAgICAgcmV0dXJuIDA7CkBAIC01NDcsNyArNjI3LDcgQEAKICAgICAgICAgfQogICAgICAgICBQeVR1cGxlX1NFVF9JVEVNKGwsIGksIHMpOwogICAgIH0KLSAgICByZXN1bHQgPSBQeU9iamVjdF9TZXRBdHRyU3RyaW5nKChQeU9iamVjdCopdHlwZSwgIl9hdHRyaWJ1dGVzIiwgbCkgPj0gMDsKKyAgICByZXN1bHQgPSBfUHlPYmplY3RfU2V0QXR0cklkKChQeU9iamVjdCopdHlwZSwgJlB5SWRfX2F0dHJpYnV0ZXMsIGwpID49IDA7CiAgICAgUHlfREVDUkVGKGwpOwogICAgIHJldHVybiByZXN1bHQ7CiB9CkBAIC01ODEsNiArNjYxLDcgQEAKIH0KICNkZWZpbmUgYXN0Mm9ial9pZGVudGlmaWVyIGFzdDJvYmpfb2JqZWN0CiAjZGVmaW5lIGFzdDJvYmpfc3RyaW5nIGFzdDJvYmpfb2JqZWN0CisjZGVmaW5lIGFzdDJvYmpfYnl0ZXMgYXN0Mm9ial9vYmplY3QKIAogc3RhdGljIFB5T2JqZWN0KiBhc3Qyb2JqX2ludChsb25nIGIpCiB7CkBAIC02MTgsNiArNjk5LDE1IEBACiAgICAgcmV0dXJuIG9iajJhc3Rfb2JqZWN0KG9iaiwgb3V0LCBhcmVuYSk7CiB9CiAKK3N0YXRpYyBpbnQgb2JqMmFzdF9ieXRlcyhQeU9iamVjdCogb2JqLCBQeU9iamVjdCoqIG91dCwgUHlBcmVuYSogYXJlbmEpCit7CisgICAgaWYgKCFQeUJ5dGVzX0NoZWNrRXhhY3Qob2JqKSkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCAiQVNUIGJ5dGVzIG11c3QgYmUgb2YgdHlwZSBieXRlcyIpOworICAgICAgICByZXR1cm4gMTsKKyAgICB9CisgICAgcmV0dXJuIG9iajJhc3Rfb2JqZWN0KG9iaiwgb3V0LCBhcmVuYSk7Cit9CisKIHN0YXRpYyBpbnQgb2JqMmFzdF9pbnQoUHlPYmplY3QqIG9iaiwgaW50KiBvdXQsIFB5QXJlbmEqIGFyZW5hKQogewogICAgIGludCBpOwpAQCAtNjkxLDE1ICs3ODEsMTIgQEAKICAgICAgICAgaWYgKCFXaGlsZV90eXBlKSByZXR1cm4gMDsKICAgICAgICAgSWZfdHlwZSA9IG1ha2VfdHlwZSgiSWYiLCBzdG10X3R5cGUsIElmX2ZpZWxkcywgMyk7CiAgICAgICAgIGlmICghSWZfdHlwZSkgcmV0dXJuIDA7Ci0gICAgICAgIFdpdGhfdHlwZSA9IG1ha2VfdHlwZSgiV2l0aCIsIHN0bXRfdHlwZSwgV2l0aF9maWVsZHMsIDMpOworICAgICAgICBXaXRoX3R5cGUgPSBtYWtlX3R5cGUoIldpdGgiLCBzdG10X3R5cGUsIFdpdGhfZmllbGRzLCAyKTsKICAgICAgICAgaWYgKCFXaXRoX3R5cGUpIHJldHVybiAwOwogICAgICAgICBSYWlzZV90eXBlID0gbWFrZV90eXBlKCJSYWlzZSIsIHN0bXRfdHlwZSwgUmFpc2VfZmllbGRzLCAyKTsKICAgICAgICAgaWYgKCFSYWlzZV90eXBlKSByZXR1cm4gMDsKLSAgICAgICAgVHJ5RXhjZXB0X3R5cGUgPSBtYWtlX3R5cGUoIlRyeUV4Y2VwdCIsIHN0bXRfdHlwZSwgVHJ5RXhjZXB0X2ZpZWxkcywgMyk7Ci0gICAgICAgIGlmICghVHJ5RXhjZXB0X3R5cGUpIHJldHVybiAwOwotICAgICAgICBUcnlGaW5hbGx5X3R5cGUgPSBtYWtlX3R5cGUoIlRyeUZpbmFsbHkiLCBzdG10X3R5cGUsIFRyeUZpbmFsbHlfZmllbGRzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMik7Ci0gICAgICAgIGlmICghVHJ5RmluYWxseV90eXBlKSByZXR1cm4gMDsKKyAgICAgICAgVHJ5X3R5cGUgPSBtYWtlX3R5cGUoIlRyeSIsIHN0bXRfdHlwZSwgVHJ5X2ZpZWxkcywgNCk7CisgICAgICAgIGlmICghVHJ5X3R5cGUpIHJldHVybiAwOwogICAgICAgICBBc3NlcnRfdHlwZSA9IG1ha2VfdHlwZSgiQXNzZXJ0Iiwgc3RtdF90eXBlLCBBc3NlcnRfZmllbGRzLCAyKTsKICAgICAgICAgaWYgKCFBc3NlcnRfdHlwZSkgcmV0dXJuIDA7CiAgICAgICAgIEltcG9ydF90eXBlID0gbWFrZV90eXBlKCJJbXBvcnQiLCBzdG10X3R5cGUsIEltcG9ydF9maWVsZHMsIDEpOwpAQCAtNzQ3LDYgKzgzNCw4IEBACiAgICAgICAgIGlmICghR2VuZXJhdG9yRXhwX3R5cGUpIHJldHVybiAwOwogICAgICAgICBZaWVsZF90eXBlID0gbWFrZV90eXBlKCJZaWVsZCIsIGV4cHJfdHlwZSwgWWllbGRfZmllbGRzLCAxKTsKICAgICAgICAgaWYgKCFZaWVsZF90eXBlKSByZXR1cm4gMDsKKyAgICAgICAgWWllbGRGcm9tX3R5cGUgPSBtYWtlX3R5cGUoIllpZWxkRnJvbSIsIGV4cHJfdHlwZSwgWWllbGRGcm9tX2ZpZWxkcywgMSk7CisgICAgICAgIGlmICghWWllbGRGcm9tX3R5cGUpIHJldHVybiAwOwogICAgICAgICBDb21wYXJlX3R5cGUgPSBtYWtlX3R5cGUoIkNvbXBhcmUiLCBleHByX3R5cGUsIENvbXBhcmVfZmllbGRzLCAzKTsKICAgICAgICAgaWYgKCFDb21wYXJlX3R5cGUpIHJldHVybiAwOwogICAgICAgICBDYWxsX3R5cGUgPSBtYWtlX3R5cGUoIkNhbGwiLCBleHByX3R5cGUsIENhbGxfZmllbGRzLCA1KTsKQEAgLTk0OSw2ICsxMDM4LDggQEAKICAgICAgICAgaWYgKCFrZXl3b3JkX3R5cGUpIHJldHVybiAwOwogICAgICAgICBhbGlhc190eXBlID0gbWFrZV90eXBlKCJhbGlhcyIsICZBU1RfdHlwZSwgYWxpYXNfZmllbGRzLCAyKTsKICAgICAgICAgaWYgKCFhbGlhc190eXBlKSByZXR1cm4gMDsKKyAgICAgICAgd2l0aGl0ZW1fdHlwZSA9IG1ha2VfdHlwZSgid2l0aGl0ZW0iLCAmQVNUX3R5cGUsIHdpdGhpdGVtX2ZpZWxkcywgMik7CisgICAgICAgIGlmICghd2l0aGl0ZW1fdHlwZSkgcmV0dXJuIDA7CiAgICAgICAgIGluaXRpYWxpemVkID0gMTsKICAgICAgICAgcmV0dXJuIDE7CiB9CkBAIC05NzEsNiArMTA2Miw3IEBACiBzdGF0aWMgaW50IG9iajJhc3RfYXJnKFB5T2JqZWN0KiBvYmosIGFyZ190eSogb3V0LCBQeUFyZW5hKiBhcmVuYSk7CiBzdGF0aWMgaW50IG9iajJhc3Rfa2V5d29yZChQeU9iamVjdCogb2JqLCBrZXl3b3JkX3R5KiBvdXQsIFB5QXJlbmEqIGFyZW5hKTsKIHN0YXRpYyBpbnQgb2JqMmFzdF9hbGlhcyhQeU9iamVjdCogb2JqLCBhbGlhc190eSogb3V0LCBQeUFyZW5hKiBhcmVuYSk7CitzdGF0aWMgaW50IG9iajJhc3Rfd2l0aGl0ZW0oUHlPYmplY3QqIG9iaiwgd2l0aGl0ZW1fdHkqIG91dCwgUHlBcmVuYSogYXJlbmEpOwogCiBtb2RfdHkKIE1vZHVsZShhc2RsX3NlcSAqIGJvZHksIFB5QXJlbmEgKmFyZW5hKQpAQCAtMTIzNiwyMSArMTMyOCwxNSBAQAogfQogCiBzdG10X3R5Ci1XaXRoKGV4cHJfdHkgY29udGV4dF9leHByLCBleHByX3R5IG9wdGlvbmFsX3ZhcnMsIGFzZGxfc2VxICogYm9keSwgaW50IGxpbmVubywKLSAgICAgaW50IGNvbF9vZmZzZXQsIFB5QXJlbmEgKmFyZW5hKQorV2l0aChhc2RsX3NlcSAqIGl0ZW1zLCBhc2RsX3NlcSAqIGJvZHksIGludCBsaW5lbm8sIGludCBjb2xfb2Zmc2V0LCBQeUFyZW5hCisgICAgICphcmVuYSkKIHsKICAgICAgICAgc3RtdF90eSBwOwotICAgICAgICBpZiAoIWNvbnRleHRfZXhwcikgewotICAgICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZmllbGQgY29udGV4dF9leHByIGlzIHJlcXVpcmVkIGZvciBXaXRoIik7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgIH0KICAgICAgICAgcCA9IChzdG10X3R5KVB5QXJlbmFfTWFsbG9jKGFyZW5hLCBzaXplb2YoKnApKTsKICAgICAgICAgaWYgKCFwKQogICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICBwLT5raW5kID0gV2l0aF9raW5kOwotICAgICAgICBwLT52LldpdGguY29udGV4dF9leHByID0gY29udGV4dF9leHByOwotICAgICAgICBwLT52LldpdGgub3B0aW9uYWxfdmFycyA9IG9wdGlvbmFsX3ZhcnM7CisgICAgICAgIHAtPnYuV2l0aC5pdGVtcyA9IGl0ZW1zOwogICAgICAgICBwLT52LldpdGguYm9keSA9IGJvZHk7CiAgICAgICAgIHAtPmxpbmVubyA9IGxpbmVubzsKICAgICAgICAgcC0+Y29sX29mZnNldCA9IGNvbF9vZmZzZXQ7CkBAIC0xMjczLDMzICsxMzU5LDE4IEBACiB9CiAKIHN0bXRfdHkKLVRyeUV4Y2VwdChhc2RsX3NlcSAqIGJvZHksIGFzZGxfc2VxICogaGFuZGxlcnMsIGFzZGxfc2VxICogb3JlbHNlLCBpbnQgbGluZW5vLAotICAgICAgICAgIGludCBjb2xfb2Zmc2V0LCBQeUFyZW5hICphcmVuYSkKK1RyeShhc2RsX3NlcSAqIGJvZHksIGFzZGxfc2VxICogaGFuZGxlcnMsIGFzZGxfc2VxICogb3JlbHNlLCBhc2RsX3NlcSAqCisgICAgZmluYWxib2R5LCBpbnQgbGluZW5vLCBpbnQgY29sX29mZnNldCwgUHlBcmVuYSAqYXJlbmEpCiB7CiAgICAgICAgIHN0bXRfdHkgcDsKICAgICAgICAgcCA9IChzdG10X3R5KVB5QXJlbmFfTWFsbG9jKGFyZW5hLCBzaXplb2YoKnApKTsKICAgICAgICAgaWYgKCFwKQogICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOwotICAgICAgICBwLT5raW5kID0gVHJ5RXhjZXB0X2tpbmQ7Ci0gICAgICAgIHAtPnYuVHJ5RXhjZXB0LmJvZHkgPSBib2R5OwotICAgICAgICBwLT52LlRyeUV4Y2VwdC5oYW5kbGVycyA9IGhhbmRsZXJzOwotICAgICAgICBwLT52LlRyeUV4Y2VwdC5vcmVsc2UgPSBvcmVsc2U7Ci0gICAgICAgIHAtPmxpbmVubyA9IGxpbmVubzsKLSAgICAgICAgcC0+Y29sX29mZnNldCA9IGNvbF9vZmZzZXQ7Ci0gICAgICAgIHJldHVybiBwOwotfQotCi1zdG10X3R5Ci1UcnlGaW5hbGx5KGFzZGxfc2VxICogYm9keSwgYXNkbF9zZXEgKiBmaW5hbGJvZHksIGludCBsaW5lbm8sIGludCBjb2xfb2Zmc2V0LAotICAgICAgICAgICBQeUFyZW5hICphcmVuYSkKLXsKLSAgICAgICAgc3RtdF90eSBwOwotICAgICAgICBwID0gKHN0bXRfdHkpUHlBcmVuYV9NYWxsb2MoYXJlbmEsIHNpemVvZigqcCkpOwotICAgICAgICBpZiAoIXApCi0gICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgIHAtPmtpbmQgPSBUcnlGaW5hbGx5X2tpbmQ7Ci0gICAgICAgIHAtPnYuVHJ5RmluYWxseS5ib2R5ID0gYm9keTsKLSAgICAgICAgcC0+di5UcnlGaW5hbGx5LmZpbmFsYm9keSA9IGZpbmFsYm9keTsKKyAgICAgICAgcC0+a2luZCA9IFRyeV9raW5kOworICAgICAgICBwLT52LlRyeS5ib2R5ID0gYm9keTsKKyAgICAgICAgcC0+di5UcnkuaGFuZGxlcnMgPSBoYW5kbGVyczsKKyAgICAgICAgcC0+di5Ucnkub3JlbHNlID0gb3JlbHNlOworICAgICAgICBwLT52LlRyeS5maW5hbGJvZHkgPSBmaW5hbGJvZHk7CiAgICAgICAgIHAtPmxpbmVubyA9IGxpbmVubzsKICAgICAgICAgcC0+Y29sX29mZnNldCA9IGNvbF9vZmZzZXQ7CiAgICAgICAgIHJldHVybiBwOwpAQCAtMTcxNCw2ICsxNzg1LDIwIEBACiB9CiAKIGV4cHJfdHkKK1lpZWxkRnJvbShleHByX3R5IHZhbHVlLCBpbnQgbGluZW5vLCBpbnQgY29sX29mZnNldCwgUHlBcmVuYSAqYXJlbmEpCit7CisgICAgICAgIGV4cHJfdHkgcDsKKyAgICAgICAgcCA9IChleHByX3R5KVB5QXJlbmFfTWFsbG9jKGFyZW5hLCBzaXplb2YoKnApKTsKKyAgICAgICAgaWYgKCFwKQorICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICBwLT5raW5kID0gWWllbGRGcm9tX2tpbmQ7CisgICAgICAgIHAtPnYuWWllbGRGcm9tLnZhbHVlID0gdmFsdWU7CisgICAgICAgIHAtPmxpbmVubyA9IGxpbmVubzsKKyAgICAgICAgcC0+Y29sX29mZnNldCA9IGNvbF9vZmZzZXQ7CisgICAgICAgIHJldHVybiBwOworfQorCitleHByX3R5CiBDb21wYXJlKGV4cHJfdHkgbGVmdCwgYXNkbF9pbnRfc2VxICogb3BzLCBhc2RsX3NlcSAqIGNvbXBhcmF0b3JzLCBpbnQgbGluZW5vLAogICAgICAgICBpbnQgY29sX29mZnNldCwgUHlBcmVuYSAqYXJlbmEpCiB7CkBAIC0xNzk4LDcgKzE4ODMsNyBAQAogfQogCiBleHByX3R5Ci1CeXRlcyhzdHJpbmcgcywgaW50IGxpbmVubywgaW50IGNvbF9vZmZzZXQsIFB5QXJlbmEgKmFyZW5hKQorQnl0ZXMoYnl0ZXMgcywgaW50IGxpbmVubywgaW50IGNvbF9vZmZzZXQsIFB5QXJlbmEgKmFyZW5hKQogewogICAgICAgICBleHByX3R5IHA7CiAgICAgICAgIGlmICghcykgewpAQCAtMjE0Niw2ICsyMjMxLDIzIEBACiAgICAgICAgIHJldHVybiBwOwogfQogCit3aXRoaXRlbV90eQord2l0aGl0ZW0oZXhwcl90eSBjb250ZXh0X2V4cHIsIGV4cHJfdHkgb3B0aW9uYWxfdmFycywgUHlBcmVuYSAqYXJlbmEpCit7CisgICAgICAgIHdpdGhpdGVtX3R5IHA7CisgICAgICAgIGlmICghY29udGV4dF9leHByKSB7CisgICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJmaWVsZCBjb250ZXh0X2V4cHIgaXMgcmVxdWlyZWQgZm9yIHdpdGhpdGVtIik7CisgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIH0KKyAgICAgICAgcCA9ICh3aXRoaXRlbV90eSlQeUFyZW5hX01hbGxvYyhhcmVuYSwgc2l6ZW9mKCpwKSk7CisgICAgICAgIGlmICghcCkKKyAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgcC0+Y29udGV4dF9leHByID0gY29udGV4dF9leHByOworICAgICAgICBwLT5vcHRpb25hbF92YXJzID0gb3B0aW9uYWxfdmFyczsKKyAgICAgICAgcmV0dXJuIHA7Cit9CisKIAogUHlPYmplY3QqCiBhc3Qyb2JqX21vZCh2b2lkKiBfbykKQEAgLTIxNjMsNyArMjI2NSw3IEBACiAgICAgICAgICAgICAgICAgaWYgKCFyZXN1bHQpIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgIHZhbHVlID0gYXN0Mm9ial9saXN0KG8tPnYuTW9kdWxlLmJvZHksIGFzdDJvYmpfc3RtdCk7CiAgICAgICAgICAgICAgICAgaWYgKCF2YWx1ZSkgZ290byBmYWlsZWQ7Ci0gICAgICAgICAgICAgICAgaWYgKFB5T2JqZWN0X1NldEF0dHJTdHJpbmcocmVzdWx0LCAiYm9keSIsIHZhbHVlKSA9PSAtMSkKKyAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X1NldEF0dHJJZChyZXN1bHQsICZQeUlkX2JvZHksIHZhbHVlKSA9PSAtMSkKICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgIFB5X0RFQ1JFRih2YWx1ZSk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CkBAIC0yMTcyLDcgKzIyNzQsNyBAQAogICAgICAgICAgICAgICAgIGlmICghcmVzdWx0KSBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICB2YWx1ZSA9IGFzdDJvYmpfbGlzdChvLT52LkludGVyYWN0aXZlLmJvZHksIGFzdDJvYmpfc3RtdCk7CiAgICAgICAgICAgICAgICAgaWYgKCF2YWx1ZSkgZ290byBmYWlsZWQ7Ci0gICAgICAgICAgICAgICAgaWYgKFB5T2JqZWN0X1NldEF0dHJTdHJpbmcocmVzdWx0LCAiYm9keSIsIHZhbHVlKSA9PSAtMSkKKyAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X1NldEF0dHJJZChyZXN1bHQsICZQeUlkX2JvZHksIHZhbHVlKSA9PSAtMSkKICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgIFB5X0RFQ1JFRih2YWx1ZSk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CkBAIC0yMTgxLDcgKzIyODMsNyBAQAogICAgICAgICAgICAgICAgIGlmICghcmVzdWx0KSBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICB2YWx1ZSA9IGFzdDJvYmpfZXhwcihvLT52LkV4cHJlc3Npb24uYm9keSk7CiAgICAgICAgICAgICAgICAgaWYgKCF2YWx1ZSkgZ290byBmYWlsZWQ7Ci0gICAgICAgICAgICAgICAgaWYgKFB5T2JqZWN0X1NldEF0dHJTdHJpbmcocmVzdWx0LCAiYm9keSIsIHZhbHVlKSA9PSAtMSkKKyAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X1NldEF0dHJJZChyZXN1bHQsICZQeUlkX2JvZHksIHZhbHVlKSA9PSAtMSkKICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgIFB5X0RFQ1JFRih2YWx1ZSk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CkBAIC0yMTkwLDcgKzIyOTIsNyBAQAogICAgICAgICAgICAgICAgIGlmICghcmVzdWx0KSBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICB2YWx1ZSA9IGFzdDJvYmpfbGlzdChvLT52LlN1aXRlLmJvZHksIGFzdDJvYmpfc3RtdCk7CiAgICAgICAgICAgICAgICAgaWYgKCF2YWx1ZSkgZ290byBmYWlsZWQ7Ci0gICAgICAgICAgICAgICAgaWYgKFB5T2JqZWN0X1NldEF0dHJTdHJpbmcocmVzdWx0LCAiYm9keSIsIHZhbHVlKSA9PSAtMSkKKyAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X1NldEF0dHJJZChyZXN1bHQsICZQeUlkX2JvZHksIHZhbHVlKSA9PSAtMSkKICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgIFB5X0RFQ1JFRih2YWx1ZSk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CkBAIC0yMjE4LDI5ICsyMzIwLDI5IEBACiAgICAgICAgICAgICAgICAgaWYgKCFyZXN1bHQpIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgIHZhbHVlID0gYXN0Mm9ial9pZGVudGlmaWVyKG8tPnYuRnVuY3Rpb25EZWYubmFtZSk7CiAgICAgICAgICAgICAgICAgaWYgKCF2YWx1ZSkgZ290byBmYWlsZWQ7Ci0gICAgICAgICAgICAgICAgaWYgKFB5T2JqZWN0X1NldEF0dHJTdHJpbmcocmVzdWx0LCAibmFtZSIsIHZhbHVlKSA9PSAtMSkKKyAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X1NldEF0dHJJZChyZXN1bHQsICZQeUlkX25hbWUsIHZhbHVlKSA9PSAtMSkKICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgIFB5X0RFQ1JFRih2YWx1ZSk7CiAgICAgICAgICAgICAgICAgdmFsdWUgPSBhc3Qyb2JqX2FyZ3VtZW50cyhvLT52LkZ1bmN0aW9uRGVmLmFyZ3MpOwogICAgICAgICAgICAgICAgIGlmICghdmFsdWUpIGdvdG8gZmFpbGVkOwotICAgICAgICAgICAgICAgIGlmIChQeU9iamVjdF9TZXRBdHRyU3RyaW5nKHJlc3VsdCwgImFyZ3MiLCB2YWx1ZSkgPT0gLTEpCisgICAgICAgICAgICAgICAgaWYgKF9QeU9iamVjdF9TZXRBdHRySWQocmVzdWx0LCAmUHlJZF9hcmdzLCB2YWx1ZSkgPT0gLTEpCiAgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICBQeV9ERUNSRUYodmFsdWUpOwogICAgICAgICAgICAgICAgIHZhbHVlID0gYXN0Mm9ial9saXN0KG8tPnYuRnVuY3Rpb25EZWYuYm9keSwgYXN0Mm9ial9zdG10KTsKICAgICAgICAgICAgICAgICBpZiAoIXZhbHVlKSBnb3RvIGZhaWxlZDsKLSAgICAgICAgICAgICAgICBpZiAoUHlPYmplY3RfU2V0QXR0clN0cmluZyhyZXN1bHQsICJib2R5IiwgdmFsdWUpID09IC0xKQorICAgICAgICAgICAgICAgIGlmIChfUHlPYmplY3RfU2V0QXR0cklkKHJlc3VsdCwgJlB5SWRfYm9keSwgdmFsdWUpID09IC0xKQogICAgICAgICAgICAgICAgICAgICAgICAgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgUHlfREVDUkVGKHZhbHVlKTsKICAgICAgICAgICAgICAgICB2YWx1ZSA9IGFzdDJvYmpfbGlzdChvLT52LkZ1bmN0aW9uRGVmLmRlY29yYXRvcl9saXN0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFzdDJvYmpfZXhwcik7CiAgICAgICAgICAgICAgICAgaWYgKCF2YWx1ZSkgZ290byBmYWlsZWQ7Ci0gICAgICAgICAgICAgICAgaWYgKFB5T2JqZWN0X1NldEF0dHJTdHJpbmcocmVzdWx0LCAiZGVjb3JhdG9yX2xpc3QiLCB2YWx1ZSkgPT0KKyAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X1NldEF0dHJJZChyZXN1bHQsICZQeUlkX2RlY29yYXRvcl9saXN0LCB2YWx1ZSkgPT0KICAgICAgICAgICAgICAgICAgICAgLTEpCiAgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICBQeV9ERUNSRUYodmFsdWUpOwogICAgICAgICAgICAgICAgIHZhbHVlID0gYXN0Mm9ial9leHByKG8tPnYuRnVuY3Rpb25EZWYucmV0dXJucyk7CiAgICAgICAgICAgICAgICAgaWYgKCF2YWx1ZSkgZ290byBmYWlsZWQ7Ci0gICAgICAgICAgICAgICAgaWYgKFB5T2JqZWN0X1NldEF0dHJTdHJpbmcocmVzdWx0LCAicmV0dXJucyIsIHZhbHVlKSA9PSAtMSkKKyAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X1NldEF0dHJJZChyZXN1bHQsICZQeUlkX3JldHVybnMsIHZhbHVlKSA9PSAtMSkKICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgIFB5X0RFQ1JFRih2YWx1ZSk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CkBAIC0yMjQ5LDM4ICsyMzUxLDM4IEBACiAgICAgICAgICAgICAgICAgaWYgKCFyZXN1bHQpIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgIHZhbHVlID0gYXN0Mm9ial9pZGVudGlmaWVyKG8tPnYuQ2xhc3NEZWYubmFtZSk7CiAgICAgICAgICAgICAgICAgaWYgKCF2YWx1ZSkgZ290byBmYWlsZWQ7Ci0gICAgICAgICAgICAgICAgaWYgKFB5T2JqZWN0X1NldEF0dHJTdHJpbmcocmVzdWx0LCAibmFtZSIsIHZhbHVlKSA9PSAtMSkKKyAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X1NldEF0dHJJZChyZXN1bHQsICZQeUlkX25hbWUsIHZhbHVlKSA9PSAtMSkKICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgIFB5X0RFQ1JFRih2YWx1ZSk7CiAgICAgICAgICAgICAgICAgdmFsdWUgPSBhc3Qyb2JqX2xpc3Qoby0+di5DbGFzc0RlZi5iYXNlcywgYXN0Mm9ial9leHByKTsKICAgICAgICAgICAgICAgICBpZiAoIXZhbHVlKSBnb3RvIGZhaWxlZDsKLSAgICAgICAgICAgICAgICBpZiAoUHlPYmplY3RfU2V0QXR0clN0cmluZyhyZXN1bHQsICJiYXNlcyIsIHZhbHVlKSA9PSAtMSkKKyAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X1NldEF0dHJJZChyZXN1bHQsICZQeUlkX2Jhc2VzLCB2YWx1ZSkgPT0gLTEpCiAgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICBQeV9ERUNSRUYodmFsdWUpOwogICAgICAgICAgICAgICAgIHZhbHVlID0gYXN0Mm9ial9saXN0KG8tPnYuQ2xhc3NEZWYua2V5d29yZHMsIGFzdDJvYmpfa2V5d29yZCk7CiAgICAgICAgICAgICAgICAgaWYgKCF2YWx1ZSkgZ290byBmYWlsZWQ7Ci0gICAgICAgICAgICAgICAgaWYgKFB5T2JqZWN0X1NldEF0dHJTdHJpbmcocmVzdWx0LCAia2V5d29yZHMiLCB2YWx1ZSkgPT0gLTEpCisgICAgICAgICAgICAgICAgaWYgKF9QeU9iamVjdF9TZXRBdHRySWQocmVzdWx0LCAmUHlJZF9rZXl3b3JkcywgdmFsdWUpID09IC0xKQogICAgICAgICAgICAgICAgICAgICAgICAgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgUHlfREVDUkVGKHZhbHVlKTsKICAgICAgICAgICAgICAgICB2YWx1ZSA9IGFzdDJvYmpfZXhwcihvLT52LkNsYXNzRGVmLnN0YXJhcmdzKTsKICAgICAgICAgICAgICAgICBpZiAoIXZhbHVlKSBnb3RvIGZhaWxlZDsKLSAgICAgICAgICAgICAgICBpZiAoUHlPYmplY3RfU2V0QXR0clN0cmluZyhyZXN1bHQsICJzdGFyYXJncyIsIHZhbHVlKSA9PSAtMSkKKyAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X1NldEF0dHJJZChyZXN1bHQsICZQeUlkX3N0YXJhcmdzLCB2YWx1ZSkgPT0gLTEpCiAgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICBQeV9ERUNSRUYodmFsdWUpOwogICAgICAgICAgICAgICAgIHZhbHVlID0gYXN0Mm9ial9leHByKG8tPnYuQ2xhc3NEZWYua3dhcmdzKTsKICAgICAgICAgICAgICAgICBpZiAoIXZhbHVlKSBnb3RvIGZhaWxlZDsKLSAgICAgICAgICAgICAgICBpZiAoUHlPYmplY3RfU2V0QXR0clN0cmluZyhyZXN1bHQsICJrd2FyZ3MiLCB2YWx1ZSkgPT0gLTEpCisgICAgICAgICAgICAgICAgaWYgKF9QeU9iamVjdF9TZXRBdHRySWQocmVzdWx0LCAmUHlJZF9rd2FyZ3MsIHZhbHVlKSA9PSAtMSkKICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgIFB5X0RFQ1JFRih2YWx1ZSk7CiAgICAgICAgICAgICAgICAgdmFsdWUgPSBhc3Qyb2JqX2xpc3Qoby0+di5DbGFzc0RlZi5ib2R5LCBhc3Qyb2JqX3N0bXQpOwogICAgICAgICAgICAgICAgIGlmICghdmFsdWUpIGdvdG8gZmFpbGVkOwotICAgICAgICAgICAgICAgIGlmIChQeU9iamVjdF9TZXRBdHRyU3RyaW5nKHJlc3VsdCwgImJvZHkiLCB2YWx1ZSkgPT0gLTEpCisgICAgICAgICAgICAgICAgaWYgKF9QeU9iamVjdF9TZXRBdHRySWQocmVzdWx0LCAmUHlJZF9ib2R5LCB2YWx1ZSkgPT0gLTEpCiAgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICBQeV9ERUNSRUYodmFsdWUpOwogICAgICAgICAgICAgICAgIHZhbHVlID0gYXN0Mm9ial9saXN0KG8tPnYuQ2xhc3NEZWYuZGVjb3JhdG9yX2xpc3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXN0Mm9ial9leHByKTsKICAgICAgICAgICAgICAgICBpZiAoIXZhbHVlKSBnb3RvIGZhaWxlZDsKLSAgICAgICAgICAgICAgICBpZiAoUHlPYmplY3RfU2V0QXR0clN0cmluZyhyZXN1bHQsICJkZWNvcmF0b3JfbGlzdCIsIHZhbHVlKSA9PQorICAgICAgICAgICAgICAgIGlmIChfUHlPYmplY3RfU2V0QXR0cklkKHJlc3VsdCwgJlB5SWRfZGVjb3JhdG9yX2xpc3QsIHZhbHVlKSA9PQogICAgICAgICAgICAgICAgICAgICAtMSkKICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgIFB5X0RFQ1JFRih2YWx1ZSk7CkBAIC0yMjkwLDcgKzIzOTIsNyBAQAogICAgICAgICAgICAgICAgIGlmICghcmVzdWx0KSBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICB2YWx1ZSA9IGFzdDJvYmpfZXhwcihvLT52LlJldHVybi52YWx1ZSk7CiAgICAgICAgICAgICAgICAgaWYgKCF2YWx1ZSkgZ290byBmYWlsZWQ7Ci0gICAgICAgICAgICAgICAgaWYgKFB5T2JqZWN0X1NldEF0dHJTdHJpbmcocmVzdWx0LCAidmFsdWUiLCB2YWx1ZSkgPT0gLTEpCisgICAgICAgICAgICAgICAgaWYgKF9QeU9iamVjdF9TZXRBdHRySWQocmVzdWx0LCAmUHlJZF92YWx1ZSwgdmFsdWUpID09IC0xKQogICAgICAgICAgICAgICAgICAgICAgICAgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgUHlfREVDUkVGKHZhbHVlKTsKICAgICAgICAgICAgICAgICBicmVhazsKQEAgLTIyOTksNyArMjQwMSw3IEBACiAgICAgICAgICAgICAgICAgaWYgKCFyZXN1bHQpIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgIHZhbHVlID0gYXN0Mm9ial9saXN0KG8tPnYuRGVsZXRlLnRhcmdldHMsIGFzdDJvYmpfZXhwcik7CiAgICAgICAgICAgICAgICAgaWYgKCF2YWx1ZSkgZ290byBmYWlsZWQ7Ci0gICAgICAgICAgICAgICAgaWYgKFB5T2JqZWN0X1NldEF0dHJTdHJpbmcocmVzdWx0LCAidGFyZ2V0cyIsIHZhbHVlKSA9PSAtMSkKKyAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X1NldEF0dHJJZChyZXN1bHQsICZQeUlkX3RhcmdldHMsIHZhbHVlKSA9PSAtMSkKICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgIFB5X0RFQ1JFRih2YWx1ZSk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CkBAIC0yMzA4LDEyICsyNDEwLDEyIEBACiAgICAgICAgICAgICAgICAgaWYgKCFyZXN1bHQpIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgIHZhbHVlID0gYXN0Mm9ial9saXN0KG8tPnYuQXNzaWduLnRhcmdldHMsIGFzdDJvYmpfZXhwcik7CiAgICAgICAgICAgICAgICAgaWYgKCF2YWx1ZSkgZ290byBmYWlsZWQ7Ci0gICAgICAgICAgICAgICAgaWYgKFB5T2JqZWN0X1NldEF0dHJTdHJpbmcocmVzdWx0LCAidGFyZ2V0cyIsIHZhbHVlKSA9PSAtMSkKKyAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X1NldEF0dHJJZChyZXN1bHQsICZQeUlkX3RhcmdldHMsIHZhbHVlKSA9PSAtMSkKICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgIFB5X0RFQ1JFRih2YWx1ZSk7CiAgICAgICAgICAgICAgICAgdmFsdWUgPSBhc3Qyb2JqX2V4cHIoby0+di5Bc3NpZ24udmFsdWUpOwogICAgICAgICAgICAgICAgIGlmICghdmFsdWUpIGdvdG8gZmFpbGVkOwotICAgICAgICAgICAgICAgIGlmIChQeU9iamVjdF9TZXRBdHRyU3RyaW5nKHJlc3VsdCwgInZhbHVlIiwgdmFsdWUpID09IC0xKQorICAgICAgICAgICAgICAgIGlmIChfUHlPYmplY3RfU2V0QXR0cklkKHJlc3VsdCwgJlB5SWRfdmFsdWUsIHZhbHVlKSA9PSAtMSkKICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgIFB5X0RFQ1JFRih2YWx1ZSk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CkBAIC0yMzIyLDE3ICsyNDI0LDE3IEBACiAgICAgICAgICAgICAgICAgaWYgKCFyZXN1bHQpIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgIHZhbHVlID0gYXN0Mm9ial9leHByKG8tPnYuQXVnQXNzaWduLnRhcmdldCk7CiAgICAgICAgICAgICAgICAgaWYgKCF2YWx1ZSkgZ290byBmYWlsZWQ7Ci0gICAgICAgICAgICAgICAgaWYgKFB5T2JqZWN0X1NldEF0dHJTdHJpbmcocmVzdWx0LCAidGFyZ2V0IiwgdmFsdWUpID09IC0xKQorICAgICAgICAgICAgICAgIGlmIChfUHlPYmplY3RfU2V0QXR0cklkKHJlc3VsdCwgJlB5SWRfdGFyZ2V0LCB2YWx1ZSkgPT0gLTEpCiAgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICBQeV9ERUNSRUYodmFsdWUpOwogICAgICAgICAgICAgICAgIHZhbHVlID0gYXN0Mm9ial9vcGVyYXRvcihvLT52LkF1Z0Fzc2lnbi5vcCk7CiAgICAgICAgICAgICAgICAgaWYgKCF2YWx1ZSkgZ290byBmYWlsZWQ7Ci0gICAgICAgICAgICAgICAgaWYgKFB5T2JqZWN0X1NldEF0dHJTdHJpbmcocmVzdWx0LCAib3AiLCB2YWx1ZSkgPT0gLTEpCisgICAgICAgICAgICAgICAgaWYgKF9QeU9iamVjdF9TZXRBdHRySWQocmVzdWx0LCAmUHlJZF9vcCwgdmFsdWUpID09IC0xKQogICAgICAgICAgICAgICAgICAgICAgICAgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgUHlfREVDUkVGKHZhbHVlKTsKICAgICAgICAgICAgICAgICB2YWx1ZSA9IGFzdDJvYmpfZXhwcihvLT52LkF1Z0Fzc2lnbi52YWx1ZSk7CiAgICAgICAgICAgICAgICAgaWYgKCF2YWx1ZSkgZ290byBmYWlsZWQ7Ci0gICAgICAgICAgICAgICAgaWYgKFB5T2JqZWN0X1NldEF0dHJTdHJpbmcocmVzdWx0LCAidmFsdWUiLCB2YWx1ZSkgPT0gLTEpCisgICAgICAgICAgICAgICAgaWYgKF9QeU9iamVjdF9TZXRBdHRySWQocmVzdWx0LCAmUHlJZF92YWx1ZSwgdmFsdWUpID09IC0xKQogICAgICAgICAgICAgICAgICAgICAgICAgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgUHlfREVDUkVGKHZhbHVlKTsKICAgICAgICAgICAgICAgICBicmVhazsKQEAgLTIzNDEsMjIgKzI0NDMsMjIgQEAKICAgICAgICAgICAgICAgICBpZiAoIXJlc3VsdCkgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgdmFsdWUgPSBhc3Qyb2JqX2V4cHIoby0+di5Gb3IudGFyZ2V0KTsKICAgICAgICAgICAgICAgICBpZiAoIXZhbHVlKSBnb3RvIGZhaWxlZDsKLSAgICAgICAgICAgICAgICBpZiAoUHlPYmplY3RfU2V0QXR0clN0cmluZyhyZXN1bHQsICJ0YXJnZXQiLCB2YWx1ZSkgPT0gLTEpCisgICAgICAgICAgICAgICAgaWYgKF9QeU9iamVjdF9TZXRBdHRySWQocmVzdWx0LCAmUHlJZF90YXJnZXQsIHZhbHVlKSA9PSAtMSkKICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgIFB5X0RFQ1JFRih2YWx1ZSk7CiAgICAgICAgICAgICAgICAgdmFsdWUgPSBhc3Qyb2JqX2V4cHIoby0+di5Gb3IuaXRlcik7CiAgICAgICAgICAgICAgICAgaWYgKCF2YWx1ZSkgZ290byBmYWlsZWQ7Ci0gICAgICAgICAgICAgICAgaWYgKFB5T2JqZWN0X1NldEF0dHJTdHJpbmcocmVzdWx0LCAiaXRlciIsIHZhbHVlKSA9PSAtMSkKKyAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X1NldEF0dHJJZChyZXN1bHQsICZQeUlkX2l0ZXIsIHZhbHVlKSA9PSAtMSkKICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgIFB5X0RFQ1JFRih2YWx1ZSk7CiAgICAgICAgICAgICAgICAgdmFsdWUgPSBhc3Qyb2JqX2xpc3Qoby0+di5Gb3IuYm9keSwgYXN0Mm9ial9zdG10KTsKICAgICAgICAgICAgICAgICBpZiAoIXZhbHVlKSBnb3RvIGZhaWxlZDsKLSAgICAgICAgICAgICAgICBpZiAoUHlPYmplY3RfU2V0QXR0clN0cmluZyhyZXN1bHQsICJib2R5IiwgdmFsdWUpID09IC0xKQorICAgICAgICAgICAgICAgIGlmIChfUHlPYmplY3RfU2V0QXR0cklkKHJlc3VsdCwgJlB5SWRfYm9keSwgdmFsdWUpID09IC0xKQogICAgICAgICAgICAgICAgICAgICAgICAgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgUHlfREVDUkVGKHZhbHVlKTsKICAgICAgICAgICAgICAgICB2YWx1ZSA9IGFzdDJvYmpfbGlzdChvLT52LkZvci5vcmVsc2UsIGFzdDJvYmpfc3RtdCk7CiAgICAgICAgICAgICAgICAgaWYgKCF2YWx1ZSkgZ290byBmYWlsZWQ7Ci0gICAgICAgICAgICAgICAgaWYgKFB5T2JqZWN0X1NldEF0dHJTdHJpbmcocmVzdWx0LCAib3JlbHNlIiwgdmFsdWUpID09IC0xKQorICAgICAgICAgICAgICAgIGlmIChfUHlPYmplY3RfU2V0QXR0cklkKHJlc3VsdCwgJlB5SWRfb3JlbHNlLCB2YWx1ZSkgPT0gLTEpCiAgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICBQeV9ERUNSRUYodmFsdWUpOwogICAgICAgICAgICAgICAgIGJyZWFrOwpAQCAtMjM2NSwxNyArMjQ2NywxNyBAQAogICAgICAgICAgICAgICAgIGlmICghcmVzdWx0KSBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICB2YWx1ZSA9IGFzdDJvYmpfZXhwcihvLT52LldoaWxlLnRlc3QpOwogICAgICAgICAgICAgICAgIGlmICghdmFsdWUpIGdvdG8gZmFpbGVkOwotICAgICAgICAgICAgICAgIGlmIChQeU9iamVjdF9TZXRBdHRyU3RyaW5nKHJlc3VsdCwgInRlc3QiLCB2YWx1ZSkgPT0gLTEpCisgICAgICAgICAgICAgICAgaWYgKF9QeU9iamVjdF9TZXRBdHRySWQocmVzdWx0LCAmUHlJZF90ZXN0LCB2YWx1ZSkgPT0gLTEpCiAgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICBQeV9ERUNSRUYodmFsdWUpOwogICAgICAgICAgICAgICAgIHZhbHVlID0gYXN0Mm9ial9saXN0KG8tPnYuV2hpbGUuYm9keSwgYXN0Mm9ial9zdG10KTsKICAgICAgICAgICAgICAgICBpZiAoIXZhbHVlKSBnb3RvIGZhaWxlZDsKLSAgICAgICAgICAgICAgICBpZiAoUHlPYmplY3RfU2V0QXR0clN0cmluZyhyZXN1bHQsICJib2R5IiwgdmFsdWUpID09IC0xKQorICAgICAgICAgICAgICAgIGlmIChfUHlPYmplY3RfU2V0QXR0cklkKHJlc3VsdCwgJlB5SWRfYm9keSwgdmFsdWUpID09IC0xKQogICAgICAgICAgICAgICAgICAgICAgICAgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgUHlfREVDUkVGKHZhbHVlKTsKICAgICAgICAgICAgICAgICB2YWx1ZSA9IGFzdDJvYmpfbGlzdChvLT52LldoaWxlLm9yZWxzZSwgYXN0Mm9ial9zdG10KTsKICAgICAgICAgICAgICAgICBpZiAoIXZhbHVlKSBnb3RvIGZhaWxlZDsKLSAgICAgICAgICAgICAgICBpZiAoUHlPYmplY3RfU2V0QXR0clN0cmluZyhyZXN1bHQsICJvcmVsc2UiLCB2YWx1ZSkgPT0gLTEpCisgICAgICAgICAgICAgICAgaWYgKF9QeU9iamVjdF9TZXRBdHRySWQocmVzdWx0LCAmUHlJZF9vcmVsc2UsIHZhbHVlKSA9PSAtMSkKICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgIFB5X0RFQ1JFRih2YWx1ZSk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CkBAIC0yMzg0LDM3ICsyNDg2LDMxIEBACiAgICAgICAgICAgICAgICAgaWYgKCFyZXN1bHQpIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgIHZhbHVlID0gYXN0Mm9ial9leHByKG8tPnYuSWYudGVzdCk7CiAgICAgICAgICAgICAgICAgaWYgKCF2YWx1ZSkgZ290byBmYWlsZWQ7Ci0gICAgICAgICAgICAgICAgaWYgKFB5T2JqZWN0X1NldEF0dHJTdHJpbmcocmVzdWx0LCAidGVzdCIsIHZhbHVlKSA9PSAtMSkKKyAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X1NldEF0dHJJZChyZXN1bHQsICZQeUlkX3Rlc3QsIHZhbHVlKSA9PSAtMSkKICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgIFB5X0RFQ1JFRih2YWx1ZSk7CiAgICAgICAgICAgICAgICAgdmFsdWUgPSBhc3Qyb2JqX2xpc3Qoby0+di5JZi5ib2R5LCBhc3Qyb2JqX3N0bXQpOwogICAgICAgICAgICAgICAgIGlmICghdmFsdWUpIGdvdG8gZmFpbGVkOwotICAgICAgICAgICAgICAgIGlmIChQeU9iamVjdF9TZXRBdHRyU3RyaW5nKHJlc3VsdCwgImJvZHkiLCB2YWx1ZSkgPT0gLTEpCisgICAgICAgICAgICAgICAgaWYgKF9QeU9iamVjdF9TZXRBdHRySWQocmVzdWx0LCAmUHlJZF9ib2R5LCB2YWx1ZSkgPT0gLTEpCiAgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICBQeV9ERUNSRUYodmFsdWUpOwogICAgICAgICAgICAgICAgIHZhbHVlID0gYXN0Mm9ial9saXN0KG8tPnYuSWYub3JlbHNlLCBhc3Qyb2JqX3N0bXQpOwogICAgICAgICAgICAgICAgIGlmICghdmFsdWUpIGdvdG8gZmFpbGVkOwotICAgICAgICAgICAgICAgIGlmIChQeU9iamVjdF9TZXRBdHRyU3RyaW5nKHJlc3VsdCwgIm9yZWxzZSIsIHZhbHVlKSA9PSAtMSkKKyAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X1NldEF0dHJJZChyZXN1bHQsICZQeUlkX29yZWxzZSwgdmFsdWUpID09IC0xKQogICAgICAgICAgICAgICAgICAgICAgICAgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgUHlfREVDUkVGKHZhbHVlKTsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBXaXRoX2tpbmQ6CiAgICAgICAgICAgICAgICAgcmVzdWx0ID0gUHlUeXBlX0dlbmVyaWNOZXcoV2l0aF90eXBlLCBOVUxMLCBOVUxMKTsKICAgICAgICAgICAgICAgICBpZiAoIXJlc3VsdCkgZ290byBmYWlsZWQ7Ci0gICAgICAgICAgICAgICAgdmFsdWUgPSBhc3Qyb2JqX2V4cHIoby0+di5XaXRoLmNvbnRleHRfZXhwcik7CisgICAgICAgICAgICAgICAgdmFsdWUgPSBhc3Qyb2JqX2xpc3Qoby0+di5XaXRoLml0ZW1zLCBhc3Qyb2JqX3dpdGhpdGVtKTsKICAgICAgICAgICAgICAgICBpZiAoIXZhbHVlKSBnb3RvIGZhaWxlZDsKLSAgICAgICAgICAgICAgICBpZiAoUHlPYmplY3RfU2V0QXR0clN0cmluZyhyZXN1bHQsICJjb250ZXh0X2V4cHIiLCB2YWx1ZSkgPT0gLTEpCi0gICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGZhaWxlZDsKLSAgICAgICAgICAgICAgICBQeV9ERUNSRUYodmFsdWUpOwotICAgICAgICAgICAgICAgIHZhbHVlID0gYXN0Mm9ial9leHByKG8tPnYuV2l0aC5vcHRpb25hbF92YXJzKTsKLSAgICAgICAgICAgICAgICBpZiAoIXZhbHVlKSBnb3RvIGZhaWxlZDsKLSAgICAgICAgICAgICAgICBpZiAoUHlPYmplY3RfU2V0QXR0clN0cmluZyhyZXN1bHQsICJvcHRpb25hbF92YXJzIiwgdmFsdWUpID09Ci0gICAgICAgICAgICAgICAgICAgIC0xKQorICAgICAgICAgICAgICAgIGlmIChfUHlPYmplY3RfU2V0QXR0cklkKHJlc3VsdCwgJlB5SWRfaXRlbXMsIHZhbHVlKSA9PSAtMSkKICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgIFB5X0RFQ1JFRih2YWx1ZSk7CiAgICAgICAgICAgICAgICAgdmFsdWUgPSBhc3Qyb2JqX2xpc3Qoby0+di5XaXRoLmJvZHksIGFzdDJvYmpfc3RtdCk7CiAgICAgICAgICAgICAgICAgaWYgKCF2YWx1ZSkgZ290byBmYWlsZWQ7Ci0gICAgICAgICAgICAgICAgaWYgKFB5T2JqZWN0X1NldEF0dHJTdHJpbmcocmVzdWx0LCAiYm9keSIsIHZhbHVlKSA9PSAtMSkKKyAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X1NldEF0dHJJZChyZXN1bHQsICZQeUlkX2JvZHksIHZhbHVlKSA9PSAtMSkKICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgIFB5X0RFQ1JFRih2YWx1ZSk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CkBAIC0yNDIzLDQ2ICsyNTE5LDM2IEBACiAgICAgICAgICAgICAgICAgaWYgKCFyZXN1bHQpIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgIHZhbHVlID0gYXN0Mm9ial9leHByKG8tPnYuUmFpc2UuZXhjKTsKICAgICAgICAgICAgICAgICBpZiAoIXZhbHVlKSBnb3RvIGZhaWxlZDsKLSAgICAgICAgICAgICAgICBpZiAoUHlPYmplY3RfU2V0QXR0clN0cmluZyhyZXN1bHQsICJleGMiLCB2YWx1ZSkgPT0gLTEpCisgICAgICAgICAgICAgICAgaWYgKF9QeU9iamVjdF9TZXRBdHRySWQocmVzdWx0LCAmUHlJZF9leGMsIHZhbHVlKSA9PSAtMSkKICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgIFB5X0RFQ1JFRih2YWx1ZSk7CiAgICAgICAgICAgICAgICAgdmFsdWUgPSBhc3Qyb2JqX2V4cHIoby0+di5SYWlzZS5jYXVzZSk7CiAgICAgICAgICAgICAgICAgaWYgKCF2YWx1ZSkgZ290byBmYWlsZWQ7Ci0gICAgICAgICAgICAgICAgaWYgKFB5T2JqZWN0X1NldEF0dHJTdHJpbmcocmVzdWx0LCAiY2F1c2UiLCB2YWx1ZSkgPT0gLTEpCisgICAgICAgICAgICAgICAgaWYgKF9QeU9iamVjdF9TZXRBdHRySWQocmVzdWx0LCAmUHlJZF9jYXVzZSwgdmFsdWUpID09IC0xKQogICAgICAgICAgICAgICAgICAgICAgICAgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgUHlfREVDUkVGKHZhbHVlKTsKICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBUcnlFeGNlcHRfa2luZDoKLSAgICAgICAgICAgICAgICByZXN1bHQgPSBQeVR5cGVfR2VuZXJpY05ldyhUcnlFeGNlcHRfdHlwZSwgTlVMTCwgTlVMTCk7CisgICAgICAgIGNhc2UgVHJ5X2tpbmQ6CisgICAgICAgICAgICAgICAgcmVzdWx0ID0gUHlUeXBlX0dlbmVyaWNOZXcoVHJ5X3R5cGUsIE5VTEwsIE5VTEwpOwogICAgICAgICAgICAgICAgIGlmICghcmVzdWx0KSBnb3RvIGZhaWxlZDsKLSAgICAgICAgICAgICAgICB2YWx1ZSA9IGFzdDJvYmpfbGlzdChvLT52LlRyeUV4Y2VwdC5ib2R5LCBhc3Qyb2JqX3N0bXQpOworICAgICAgICAgICAgICAgIHZhbHVlID0gYXN0Mm9ial9saXN0KG8tPnYuVHJ5LmJvZHksIGFzdDJvYmpfc3RtdCk7CiAgICAgICAgICAgICAgICAgaWYgKCF2YWx1ZSkgZ290byBmYWlsZWQ7Ci0gICAgICAgICAgICAgICAgaWYgKFB5T2JqZWN0X1NldEF0dHJTdHJpbmcocmVzdWx0LCAiYm9keSIsIHZhbHVlKSA9PSAtMSkKKyAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X1NldEF0dHJJZChyZXN1bHQsICZQeUlkX2JvZHksIHZhbHVlKSA9PSAtMSkKICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgIFB5X0RFQ1JFRih2YWx1ZSk7Ci0gICAgICAgICAgICAgICAgdmFsdWUgPSBhc3Qyb2JqX2xpc3Qoby0+di5UcnlFeGNlcHQuaGFuZGxlcnMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXN0Mm9ial9leGNlcHRoYW5kbGVyKTsKKyAgICAgICAgICAgICAgICB2YWx1ZSA9IGFzdDJvYmpfbGlzdChvLT52LlRyeS5oYW5kbGVycywgYXN0Mm9ial9leGNlcHRoYW5kbGVyKTsKICAgICAgICAgICAgICAgICBpZiAoIXZhbHVlKSBnb3RvIGZhaWxlZDsKLSAgICAgICAgICAgICAgICBpZiAoUHlPYmplY3RfU2V0QXR0clN0cmluZyhyZXN1bHQsICJoYW5kbGVycyIsIHZhbHVlKSA9PSAtMSkKKyAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X1NldEF0dHJJZChyZXN1bHQsICZQeUlkX2hhbmRsZXJzLCB2YWx1ZSkgPT0gLTEpCiAgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICBQeV9ERUNSRUYodmFsdWUpOwotICAgICAgICAgICAgICAgIHZhbHVlID0gYXN0Mm9ial9saXN0KG8tPnYuVHJ5RXhjZXB0Lm9yZWxzZSwgYXN0Mm9ial9zdG10KTsKKyAgICAgICAgICAgICAgICB2YWx1ZSA9IGFzdDJvYmpfbGlzdChvLT52LlRyeS5vcmVsc2UsIGFzdDJvYmpfc3RtdCk7CiAgICAgICAgICAgICAgICAgaWYgKCF2YWx1ZSkgZ290byBmYWlsZWQ7Ci0gICAgICAgICAgICAgICAgaWYgKFB5T2JqZWN0X1NldEF0dHJTdHJpbmcocmVzdWx0LCAib3JlbHNlIiwgdmFsdWUpID09IC0xKQorICAgICAgICAgICAgICAgIGlmIChfUHlPYmplY3RfU2V0QXR0cklkKHJlc3VsdCwgJlB5SWRfb3JlbHNlLCB2YWx1ZSkgPT0gLTEpCiAgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICBQeV9ERUNSRUYodmFsdWUpOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIFRyeUZpbmFsbHlfa2luZDoKLSAgICAgICAgICAgICAgICByZXN1bHQgPSBQeVR5cGVfR2VuZXJpY05ldyhUcnlGaW5hbGx5X3R5cGUsIE5VTEwsIE5VTEwpOwotICAgICAgICAgICAgICAgIGlmICghcmVzdWx0KSBnb3RvIGZhaWxlZDsKLSAgICAgICAgICAgICAgICB2YWx1ZSA9IGFzdDJvYmpfbGlzdChvLT52LlRyeUZpbmFsbHkuYm9keSwgYXN0Mm9ial9zdG10KTsKKyAgICAgICAgICAgICAgICB2YWx1ZSA9IGFzdDJvYmpfbGlzdChvLT52LlRyeS5maW5hbGJvZHksIGFzdDJvYmpfc3RtdCk7CiAgICAgICAgICAgICAgICAgaWYgKCF2YWx1ZSkgZ290byBmYWlsZWQ7Ci0gICAgICAgICAgICAgICAgaWYgKFB5T2JqZWN0X1NldEF0dHJTdHJpbmcocmVzdWx0LCAiYm9keSIsIHZhbHVlKSA9PSAtMSkKLSAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZmFpbGVkOwotICAgICAgICAgICAgICAgIFB5X0RFQ1JFRih2YWx1ZSk7Ci0gICAgICAgICAgICAgICAgdmFsdWUgPSBhc3Qyb2JqX2xpc3Qoby0+di5UcnlGaW5hbGx5LmZpbmFsYm9keSwgYXN0Mm9ial9zdG10KTsKLSAgICAgICAgICAgICAgICBpZiAoIXZhbHVlKSBnb3RvIGZhaWxlZDsKLSAgICAgICAgICAgICAgICBpZiAoUHlPYmplY3RfU2V0QXR0clN0cmluZyhyZXN1bHQsICJmaW5hbGJvZHkiLCB2YWx1ZSkgPT0gLTEpCisgICAgICAgICAgICAgICAgaWYgKF9QeU9iamVjdF9TZXRBdHRySWQocmVzdWx0LCAmUHlJZF9maW5hbGJvZHksIHZhbHVlKSA9PSAtMSkKICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgIFB5X0RFQ1JFRih2YWx1ZSk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CkBAIC0yNDcxLDEyICsyNTU3LDEyIEBACiAgICAgICAgICAgICAgICAgaWYgKCFyZXN1bHQpIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgIHZhbHVlID0gYXN0Mm9ial9leHByKG8tPnYuQXNzZXJ0LnRlc3QpOwogICAgICAgICAgICAgICAgIGlmICghdmFsdWUpIGdvdG8gZmFpbGVkOwotICAgICAgICAgICAgICAgIGlmIChQeU9iamVjdF9TZXRBdHRyU3RyaW5nKHJlc3VsdCwgInRlc3QiLCB2YWx1ZSkgPT0gLTEpCisgICAgICAgICAgICAgICAgaWYgKF9QeU9iamVjdF9TZXRBdHRySWQocmVzdWx0LCAmUHlJZF90ZXN0LCB2YWx1ZSkgPT0gLTEpCiAgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICBQeV9ERUNSRUYodmFsdWUpOwogICAgICAgICAgICAgICAgIHZhbHVlID0gYXN0Mm9ial9leHByKG8tPnYuQXNzZXJ0Lm1zZyk7CiAgICAgICAgICAgICAgICAgaWYgKCF2YWx1ZSkgZ290byBmYWlsZWQ7Ci0gICAgICAgICAgICAgICAgaWYgKFB5T2JqZWN0X1NldEF0dHJTdHJpbmcocmVzdWx0LCAibXNnIiwgdmFsdWUpID09IC0xKQorICAgICAgICAgICAgICAgIGlmIChfUHlPYmplY3RfU2V0QXR0cklkKHJlc3VsdCwgJlB5SWRfbXNnLCB2YWx1ZSkgPT0gLTEpCiAgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICBQeV9ERUNSRUYodmFsdWUpOwogICAgICAgICAgICAgICAgIGJyZWFrOwpAQCAtMjQ4NSw3ICsyNTcxLDcgQEAKICAgICAgICAgICAgICAgICBpZiAoIXJlc3VsdCkgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgdmFsdWUgPSBhc3Qyb2JqX2xpc3Qoby0+di5JbXBvcnQubmFtZXMsIGFzdDJvYmpfYWxpYXMpOwogICAgICAgICAgICAgICAgIGlmICghdmFsdWUpIGdvdG8gZmFpbGVkOwotICAgICAgICAgICAgICAgIGlmIChQeU9iamVjdF9TZXRBdHRyU3RyaW5nKHJlc3VsdCwgIm5hbWVzIiwgdmFsdWUpID09IC0xKQorICAgICAgICAgICAgICAgIGlmIChfUHlPYmplY3RfU2V0QXR0cklkKHJlc3VsdCwgJlB5SWRfbmFtZXMsIHZhbHVlKSA9PSAtMSkKICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgIFB5X0RFQ1JFRih2YWx1ZSk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CkBAIC0yNDk0LDE3ICsyNTgwLDE3IEBACiAgICAgICAgICAgICAgICAgaWYgKCFyZXN1bHQpIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgIHZhbHVlID0gYXN0Mm9ial9pZGVudGlmaWVyKG8tPnYuSW1wb3J0RnJvbS5tb2R1bGUpOwogICAgICAgICAgICAgICAgIGlmICghdmFsdWUpIGdvdG8gZmFpbGVkOwotICAgICAgICAgICAgICAgIGlmIChQeU9iamVjdF9TZXRBdHRyU3RyaW5nKHJlc3VsdCwgIm1vZHVsZSIsIHZhbHVlKSA9PSAtMSkKKyAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X1NldEF0dHJJZChyZXN1bHQsICZQeUlkX21vZHVsZSwgdmFsdWUpID09IC0xKQogICAgICAgICAgICAgICAgICAgICAgICAgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgUHlfREVDUkVGKHZhbHVlKTsKICAgICAgICAgICAgICAgICB2YWx1ZSA9IGFzdDJvYmpfbGlzdChvLT52LkltcG9ydEZyb20ubmFtZXMsIGFzdDJvYmpfYWxpYXMpOwogICAgICAgICAgICAgICAgIGlmICghdmFsdWUpIGdvdG8gZmFpbGVkOwotICAgICAgICAgICAgICAgIGlmIChQeU9iamVjdF9TZXRBdHRyU3RyaW5nKHJlc3VsdCwgIm5hbWVzIiwgdmFsdWUpID09IC0xKQorICAgICAgICAgICAgICAgIGlmIChfUHlPYmplY3RfU2V0QXR0cklkKHJlc3VsdCwgJlB5SWRfbmFtZXMsIHZhbHVlKSA9PSAtMSkKICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgIFB5X0RFQ1JFRih2YWx1ZSk7CiAgICAgICAgICAgICAgICAgdmFsdWUgPSBhc3Qyb2JqX2ludChvLT52LkltcG9ydEZyb20ubGV2ZWwpOwogICAgICAgICAgICAgICAgIGlmICghdmFsdWUpIGdvdG8gZmFpbGVkOwotICAgICAgICAgICAgICAgIGlmIChQeU9iamVjdF9TZXRBdHRyU3RyaW5nKHJlc3VsdCwgImxldmVsIiwgdmFsdWUpID09IC0xKQorICAgICAgICAgICAgICAgIGlmIChfUHlPYmplY3RfU2V0QXR0cklkKHJlc3VsdCwgJlB5SWRfbGV2ZWwsIHZhbHVlKSA9PSAtMSkKICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgIFB5X0RFQ1JFRih2YWx1ZSk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CkBAIC0yNTEzLDcgKzI1OTksNyBAQAogICAgICAgICAgICAgICAgIGlmICghcmVzdWx0KSBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICB2YWx1ZSA9IGFzdDJvYmpfbGlzdChvLT52Lkdsb2JhbC5uYW1lcywgYXN0Mm9ial9pZGVudGlmaWVyKTsKICAgICAgICAgICAgICAgICBpZiAoIXZhbHVlKSBnb3RvIGZhaWxlZDsKLSAgICAgICAgICAgICAgICBpZiAoUHlPYmplY3RfU2V0QXR0clN0cmluZyhyZXN1bHQsICJuYW1lcyIsIHZhbHVlKSA9PSAtMSkKKyAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X1NldEF0dHJJZChyZXN1bHQsICZQeUlkX25hbWVzLCB2YWx1ZSkgPT0gLTEpCiAgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICBQeV9ERUNSRUYodmFsdWUpOwogICAgICAgICAgICAgICAgIGJyZWFrOwpAQCAtMjUyMiw3ICsyNjA4LDcgQEAKICAgICAgICAgICAgICAgICBpZiAoIXJlc3VsdCkgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgdmFsdWUgPSBhc3Qyb2JqX2xpc3Qoby0+di5Ob25sb2NhbC5uYW1lcywgYXN0Mm9ial9pZGVudGlmaWVyKTsKICAgICAgICAgICAgICAgICBpZiAoIXZhbHVlKSBnb3RvIGZhaWxlZDsKLSAgICAgICAgICAgICAgICBpZiAoUHlPYmplY3RfU2V0QXR0clN0cmluZyhyZXN1bHQsICJuYW1lcyIsIHZhbHVlKSA9PSAtMSkKKyAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X1NldEF0dHJJZChyZXN1bHQsICZQeUlkX25hbWVzLCB2YWx1ZSkgPT0gLTEpCiAgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICBQeV9ERUNSRUYodmFsdWUpOwogICAgICAgICAgICAgICAgIGJyZWFrOwpAQCAtMjUzMSw3ICsyNjE3LDcgQEAKICAgICAgICAgICAgICAgICBpZiAoIXJlc3VsdCkgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgdmFsdWUgPSBhc3Qyb2JqX2V4cHIoby0+di5FeHByLnZhbHVlKTsKICAgICAgICAgICAgICAgICBpZiAoIXZhbHVlKSBnb3RvIGZhaWxlZDsKLSAgICAgICAgICAgICAgICBpZiAoUHlPYmplY3RfU2V0QXR0clN0cmluZyhyZXN1bHQsICJ2YWx1ZSIsIHZhbHVlKSA9PSAtMSkKKyAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X1NldEF0dHJJZChyZXN1bHQsICZQeUlkX3ZhbHVlLCB2YWx1ZSkgPT0gLTEpCiAgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICBQeV9ERUNSRUYodmFsdWUpOwogICAgICAgICAgICAgICAgIGJyZWFrOwpAQCAtMjU1MCwxMiArMjYzNiwxMiBAQAogICAgICAgICB9CiAgICAgICAgIHZhbHVlID0gYXN0Mm9ial9pbnQoby0+bGluZW5vKTsKICAgICAgICAgaWYgKCF2YWx1ZSkgZ290byBmYWlsZWQ7Ci0gICAgICAgIGlmIChQeU9iamVjdF9TZXRBdHRyU3RyaW5nKHJlc3VsdCwgImxpbmVubyIsIHZhbHVlKSA8IDApCisgICAgICAgIGlmIChfUHlPYmplY3RfU2V0QXR0cklkKHJlc3VsdCwgJlB5SWRfbGluZW5vLCB2YWx1ZSkgPCAwKQogICAgICAgICAgICAgICAgIGdvdG8gZmFpbGVkOwogICAgICAgICBQeV9ERUNSRUYodmFsdWUpOwogICAgICAgICB2YWx1ZSA9IGFzdDJvYmpfaW50KG8tPmNvbF9vZmZzZXQpOwogICAgICAgICBpZiAoIXZhbHVlKSBnb3RvIGZhaWxlZDsKLSAgICAgICAgaWYgKFB5T2JqZWN0X1NldEF0dHJTdHJpbmcocmVzdWx0LCAiY29sX29mZnNldCIsIHZhbHVlKSA8IDApCisgICAgICAgIGlmIChfUHlPYmplY3RfU2V0QXR0cklkKHJlc3VsdCwgJlB5SWRfY29sX29mZnNldCwgdmFsdWUpIDwgMCkKICAgICAgICAgICAgICAgICBnb3RvIGZhaWxlZDsKICAgICAgICAgUHlfREVDUkVGKHZhbHVlKTsKICAgICAgICAgcmV0dXJuIHJlc3VsdDsKQEAgLTI1ODEsMTIgKzI2NjcsMTIgQEAKICAgICAgICAgICAgICAgICBpZiAoIXJlc3VsdCkgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgdmFsdWUgPSBhc3Qyb2JqX2Jvb2xvcChvLT52LkJvb2xPcC5vcCk7CiAgICAgICAgICAgICAgICAgaWYgKCF2YWx1ZSkgZ290byBmYWlsZWQ7Ci0gICAgICAgICAgICAgICAgaWYgKFB5T2JqZWN0X1NldEF0dHJTdHJpbmcocmVzdWx0LCAib3AiLCB2YWx1ZSkgPT0gLTEpCisgICAgICAgICAgICAgICAgaWYgKF9QeU9iamVjdF9TZXRBdHRySWQocmVzdWx0LCAmUHlJZF9vcCwgdmFsdWUpID09IC0xKQogICAgICAgICAgICAgICAgICAgICAgICAgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgUHlfREVDUkVGKHZhbHVlKTsKICAgICAgICAgICAgICAgICB2YWx1ZSA9IGFzdDJvYmpfbGlzdChvLT52LkJvb2xPcC52YWx1ZXMsIGFzdDJvYmpfZXhwcik7CiAgICAgICAgICAgICAgICAgaWYgKCF2YWx1ZSkgZ290byBmYWlsZWQ7Ci0gICAgICAgICAgICAgICAgaWYgKFB5T2JqZWN0X1NldEF0dHJTdHJpbmcocmVzdWx0LCAidmFsdWVzIiwgdmFsdWUpID09IC0xKQorICAgICAgICAgICAgICAgIGlmIChfUHlPYmplY3RfU2V0QXR0cklkKHJlc3VsdCwgJlB5SWRfdmFsdWVzLCB2YWx1ZSkgPT0gLTEpCiAgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICBQeV9ERUNSRUYodmFsdWUpOwogICAgICAgICAgICAgICAgIGJyZWFrOwpAQCAtMjU5NSwxNyArMjY4MSwxNyBAQAogICAgICAgICAgICAgICAgIGlmICghcmVzdWx0KSBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICB2YWx1ZSA9IGFzdDJvYmpfZXhwcihvLT52LkJpbk9wLmxlZnQpOwogICAgICAgICAgICAgICAgIGlmICghdmFsdWUpIGdvdG8gZmFpbGVkOwotICAgICAgICAgICAgICAgIGlmIChQeU9iamVjdF9TZXRBdHRyU3RyaW5nKHJlc3VsdCwgImxlZnQiLCB2YWx1ZSkgPT0gLTEpCisgICAgICAgICAgICAgICAgaWYgKF9QeU9iamVjdF9TZXRBdHRySWQocmVzdWx0LCAmUHlJZF9sZWZ0LCB2YWx1ZSkgPT0gLTEpCiAgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICBQeV9ERUNSRUYodmFsdWUpOwogICAgICAgICAgICAgICAgIHZhbHVlID0gYXN0Mm9ial9vcGVyYXRvcihvLT52LkJpbk9wLm9wKTsKICAgICAgICAgICAgICAgICBpZiAoIXZhbHVlKSBnb3RvIGZhaWxlZDsKLSAgICAgICAgICAgICAgICBpZiAoUHlPYmplY3RfU2V0QXR0clN0cmluZyhyZXN1bHQsICJvcCIsIHZhbHVlKSA9PSAtMSkKKyAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X1NldEF0dHJJZChyZXN1bHQsICZQeUlkX29wLCB2YWx1ZSkgPT0gLTEpCiAgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICBQeV9ERUNSRUYodmFsdWUpOwogICAgICAgICAgICAgICAgIHZhbHVlID0gYXN0Mm9ial9leHByKG8tPnYuQmluT3AucmlnaHQpOwogICAgICAgICAgICAgICAgIGlmICghdmFsdWUpIGdvdG8gZmFpbGVkOwotICAgICAgICAgICAgICAgIGlmIChQeU9iamVjdF9TZXRBdHRyU3RyaW5nKHJlc3VsdCwgInJpZ2h0IiwgdmFsdWUpID09IC0xKQorICAgICAgICAgICAgICAgIGlmIChfUHlPYmplY3RfU2V0QXR0cklkKHJlc3VsdCwgJlB5SWRfcmlnaHQsIHZhbHVlKSA9PSAtMSkKICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgIFB5X0RFQ1JFRih2YWx1ZSk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CkBAIC0yNjE0LDEyICsyNzAwLDEyIEBACiAgICAgICAgICAgICAgICAgaWYgKCFyZXN1bHQpIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgIHZhbHVlID0gYXN0Mm9ial91bmFyeW9wKG8tPnYuVW5hcnlPcC5vcCk7CiAgICAgICAgICAgICAgICAgaWYgKCF2YWx1ZSkgZ290byBmYWlsZWQ7Ci0gICAgICAgICAgICAgICAgaWYgKFB5T2JqZWN0X1NldEF0dHJTdHJpbmcocmVzdWx0LCAib3AiLCB2YWx1ZSkgPT0gLTEpCisgICAgICAgICAgICAgICAgaWYgKF9QeU9iamVjdF9TZXRBdHRySWQocmVzdWx0LCAmUHlJZF9vcCwgdmFsdWUpID09IC0xKQogICAgICAgICAgICAgICAgICAgICAgICAgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgUHlfREVDUkVGKHZhbHVlKTsKICAgICAgICAgICAgICAgICB2YWx1ZSA9IGFzdDJvYmpfZXhwcihvLT52LlVuYXJ5T3Aub3BlcmFuZCk7CiAgICAgICAgICAgICAgICAgaWYgKCF2YWx1ZSkgZ290byBmYWlsZWQ7Ci0gICAgICAgICAgICAgICAgaWYgKFB5T2JqZWN0X1NldEF0dHJTdHJpbmcocmVzdWx0LCAib3BlcmFuZCIsIHZhbHVlKSA9PSAtMSkKKyAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X1NldEF0dHJJZChyZXN1bHQsICZQeUlkX29wZXJhbmQsIHZhbHVlKSA9PSAtMSkKICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgIFB5X0RFQ1JFRih2YWx1ZSk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CkBAIC0yNjI4LDEyICsyNzE0LDEyIEBACiAgICAgICAgICAgICAgICAgaWYgKCFyZXN1bHQpIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgIHZhbHVlID0gYXN0Mm9ial9hcmd1bWVudHMoby0+di5MYW1iZGEuYXJncyk7CiAgICAgICAgICAgICAgICAgaWYgKCF2YWx1ZSkgZ290byBmYWlsZWQ7Ci0gICAgICAgICAgICAgICAgaWYgKFB5T2JqZWN0X1NldEF0dHJTdHJpbmcocmVzdWx0LCAiYXJncyIsIHZhbHVlKSA9PSAtMSkKKyAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X1NldEF0dHJJZChyZXN1bHQsICZQeUlkX2FyZ3MsIHZhbHVlKSA9PSAtMSkKICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgIFB5X0RFQ1JFRih2YWx1ZSk7CiAgICAgICAgICAgICAgICAgdmFsdWUgPSBhc3Qyb2JqX2V4cHIoby0+di5MYW1iZGEuYm9keSk7CiAgICAgICAgICAgICAgICAgaWYgKCF2YWx1ZSkgZ290byBmYWlsZWQ7Ci0gICAgICAgICAgICAgICAgaWYgKFB5T2JqZWN0X1NldEF0dHJTdHJpbmcocmVzdWx0LCAiYm9keSIsIHZhbHVlKSA9PSAtMSkKKyAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X1NldEF0dHJJZChyZXN1bHQsICZQeUlkX2JvZHksIHZhbHVlKSA9PSAtMSkKICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgIFB5X0RFQ1JFRih2YWx1ZSk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CkBAIC0yNjQyLDE3ICsyNzI4LDE3IEBACiAgICAgICAgICAgICAgICAgaWYgKCFyZXN1bHQpIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgIHZhbHVlID0gYXN0Mm9ial9leHByKG8tPnYuSWZFeHAudGVzdCk7CiAgICAgICAgICAgICAgICAgaWYgKCF2YWx1ZSkgZ290byBmYWlsZWQ7Ci0gICAgICAgICAgICAgICAgaWYgKFB5T2JqZWN0X1NldEF0dHJTdHJpbmcocmVzdWx0LCAidGVzdCIsIHZhbHVlKSA9PSAtMSkKKyAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X1NldEF0dHJJZChyZXN1bHQsICZQeUlkX3Rlc3QsIHZhbHVlKSA9PSAtMSkKICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgIFB5X0RFQ1JFRih2YWx1ZSk7CiAgICAgICAgICAgICAgICAgdmFsdWUgPSBhc3Qyb2JqX2V4cHIoby0+di5JZkV4cC5ib2R5KTsKICAgICAgICAgICAgICAgICBpZiAoIXZhbHVlKSBnb3RvIGZhaWxlZDsKLSAgICAgICAgICAgICAgICBpZiAoUHlPYmplY3RfU2V0QXR0clN0cmluZyhyZXN1bHQsICJib2R5IiwgdmFsdWUpID09IC0xKQorICAgICAgICAgICAgICAgIGlmIChfUHlPYmplY3RfU2V0QXR0cklkKHJlc3VsdCwgJlB5SWRfYm9keSwgdmFsdWUpID09IC0xKQogICAgICAgICAgICAgICAgICAgICAgICAgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgUHlfREVDUkVGKHZhbHVlKTsKICAgICAgICAgICAgICAgICB2YWx1ZSA9IGFzdDJvYmpfZXhwcihvLT52LklmRXhwLm9yZWxzZSk7CiAgICAgICAgICAgICAgICAgaWYgKCF2YWx1ZSkgZ290byBmYWlsZWQ7Ci0gICAgICAgICAgICAgICAgaWYgKFB5T2JqZWN0X1NldEF0dHJTdHJpbmcocmVzdWx0LCAib3JlbHNlIiwgdmFsdWUpID09IC0xKQorICAgICAgICAgICAgICAgIGlmIChfUHlPYmplY3RfU2V0QXR0cklkKHJlc3VsdCwgJlB5SWRfb3JlbHNlLCB2YWx1ZSkgPT0gLTEpCiAgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICBQeV9ERUNSRUYodmFsdWUpOwogICAgICAgICAgICAgICAgIGJyZWFrOwpAQCAtMjY2MSwxMiArMjc0NywxMiBAQAogICAgICAgICAgICAgICAgIGlmICghcmVzdWx0KSBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICB2YWx1ZSA9IGFzdDJvYmpfbGlzdChvLT52LkRpY3Qua2V5cywgYXN0Mm9ial9leHByKTsKICAgICAgICAgICAgICAgICBpZiAoIXZhbHVlKSBnb3RvIGZhaWxlZDsKLSAgICAgICAgICAgICAgICBpZiAoUHlPYmplY3RfU2V0QXR0clN0cmluZyhyZXN1bHQsICJrZXlzIiwgdmFsdWUpID09IC0xKQorICAgICAgICAgICAgICAgIGlmIChfUHlPYmplY3RfU2V0QXR0cklkKHJlc3VsdCwgJlB5SWRfa2V5cywgdmFsdWUpID09IC0xKQogICAgICAgICAgICAgICAgICAgICAgICAgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgUHlfREVDUkVGKHZhbHVlKTsKICAgICAgICAgICAgICAgICB2YWx1ZSA9IGFzdDJvYmpfbGlzdChvLT52LkRpY3QudmFsdWVzLCBhc3Qyb2JqX2V4cHIpOwogICAgICAgICAgICAgICAgIGlmICghdmFsdWUpIGdvdG8gZmFpbGVkOwotICAgICAgICAgICAgICAgIGlmIChQeU9iamVjdF9TZXRBdHRyU3RyaW5nKHJlc3VsdCwgInZhbHVlcyIsIHZhbHVlKSA9PSAtMSkKKyAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X1NldEF0dHJJZChyZXN1bHQsICZQeUlkX3ZhbHVlcywgdmFsdWUpID09IC0xKQogICAgICAgICAgICAgICAgICAgICAgICAgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgUHlfREVDUkVGKHZhbHVlKTsKICAgICAgICAgICAgICAgICBicmVhazsKQEAgLTI2NzUsNyArMjc2MSw3IEBACiAgICAgICAgICAgICAgICAgaWYgKCFyZXN1bHQpIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgIHZhbHVlID0gYXN0Mm9ial9saXN0KG8tPnYuU2V0LmVsdHMsIGFzdDJvYmpfZXhwcik7CiAgICAgICAgICAgICAgICAgaWYgKCF2YWx1ZSkgZ290byBmYWlsZWQ7Ci0gICAgICAgICAgICAgICAgaWYgKFB5T2JqZWN0X1NldEF0dHJTdHJpbmcocmVzdWx0LCAiZWx0cyIsIHZhbHVlKSA9PSAtMSkKKyAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X1NldEF0dHJJZChyZXN1bHQsICZQeUlkX2VsdHMsIHZhbHVlKSA9PSAtMSkKICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgIFB5X0RFQ1JFRih2YWx1ZSk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CkBAIC0yNjg0LDEzICsyNzcwLDEzIEBACiAgICAgICAgICAgICAgICAgaWYgKCFyZXN1bHQpIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgIHZhbHVlID0gYXN0Mm9ial9leHByKG8tPnYuTGlzdENvbXAuZWx0KTsKICAgICAgICAgICAgICAgICBpZiAoIXZhbHVlKSBnb3RvIGZhaWxlZDsKLSAgICAgICAgICAgICAgICBpZiAoUHlPYmplY3RfU2V0QXR0clN0cmluZyhyZXN1bHQsICJlbHQiLCB2YWx1ZSkgPT0gLTEpCisgICAgICAgICAgICAgICAgaWYgKF9QeU9iamVjdF9TZXRBdHRySWQocmVzdWx0LCAmUHlJZF9lbHQsIHZhbHVlKSA9PSAtMSkKICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgIFB5X0RFQ1JFRih2YWx1ZSk7CiAgICAgICAgICAgICAgICAgdmFsdWUgPSBhc3Qyb2JqX2xpc3Qoby0+di5MaXN0Q29tcC5nZW5lcmF0b3JzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFzdDJvYmpfY29tcHJlaGVuc2lvbik7CiAgICAgICAgICAgICAgICAgaWYgKCF2YWx1ZSkgZ290byBmYWlsZWQ7Ci0gICAgICAgICAgICAgICAgaWYgKFB5T2JqZWN0X1NldEF0dHJTdHJpbmcocmVzdWx0LCAiZ2VuZXJhdG9ycyIsIHZhbHVlKSA9PSAtMSkKKyAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X1NldEF0dHJJZChyZXN1bHQsICZQeUlkX2dlbmVyYXRvcnMsIHZhbHVlKSA9PSAtMSkKICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgIFB5X0RFQ1JFRih2YWx1ZSk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CkBAIC0yNjk5LDEzICsyNzg1LDEzIEBACiAgICAgICAgICAgICAgICAgaWYgKCFyZXN1bHQpIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgIHZhbHVlID0gYXN0Mm9ial9leHByKG8tPnYuU2V0Q29tcC5lbHQpOwogICAgICAgICAgICAgICAgIGlmICghdmFsdWUpIGdvdG8gZmFpbGVkOwotICAgICAgICAgICAgICAgIGlmIChQeU9iamVjdF9TZXRBdHRyU3RyaW5nKHJlc3VsdCwgImVsdCIsIHZhbHVlKSA9PSAtMSkKKyAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X1NldEF0dHJJZChyZXN1bHQsICZQeUlkX2VsdCwgdmFsdWUpID09IC0xKQogICAgICAgICAgICAgICAgICAgICAgICAgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgUHlfREVDUkVGKHZhbHVlKTsKICAgICAgICAgICAgICAgICB2YWx1ZSA9IGFzdDJvYmpfbGlzdChvLT52LlNldENvbXAuZ2VuZXJhdG9ycywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhc3Qyb2JqX2NvbXByZWhlbnNpb24pOwogICAgICAgICAgICAgICAgIGlmICghdmFsdWUpIGdvdG8gZmFpbGVkOwotICAgICAgICAgICAgICAgIGlmIChQeU9iamVjdF9TZXRBdHRyU3RyaW5nKHJlc3VsdCwgImdlbmVyYXRvcnMiLCB2YWx1ZSkgPT0gLTEpCisgICAgICAgICAgICAgICAgaWYgKF9QeU9iamVjdF9TZXRBdHRySWQocmVzdWx0LCAmUHlJZF9nZW5lcmF0b3JzLCB2YWx1ZSkgPT0gLTEpCiAgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICBQeV9ERUNSRUYodmFsdWUpOwogICAgICAgICAgICAgICAgIGJyZWFrOwpAQCAtMjcxNCwxOCArMjgwMCwxOCBAQAogICAgICAgICAgICAgICAgIGlmICghcmVzdWx0KSBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICB2YWx1ZSA9IGFzdDJvYmpfZXhwcihvLT52LkRpY3RDb21wLmtleSk7CiAgICAgICAgICAgICAgICAgaWYgKCF2YWx1ZSkgZ290byBmYWlsZWQ7Ci0gICAgICAgICAgICAgICAgaWYgKFB5T2JqZWN0X1NldEF0dHJTdHJpbmcocmVzdWx0LCAia2V5IiwgdmFsdWUpID09IC0xKQorICAgICAgICAgICAgICAgIGlmIChfUHlPYmplY3RfU2V0QXR0cklkKHJlc3VsdCwgJlB5SWRfa2V5LCB2YWx1ZSkgPT0gLTEpCiAgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICBQeV9ERUNSRUYodmFsdWUpOwogICAgICAgICAgICAgICAgIHZhbHVlID0gYXN0Mm9ial9leHByKG8tPnYuRGljdENvbXAudmFsdWUpOwogICAgICAgICAgICAgICAgIGlmICghdmFsdWUpIGdvdG8gZmFpbGVkOwotICAgICAgICAgICAgICAgIGlmIChQeU9iamVjdF9TZXRBdHRyU3RyaW5nKHJlc3VsdCwgInZhbHVlIiwgdmFsdWUpID09IC0xKQorICAgICAgICAgICAgICAgIGlmIChfUHlPYmplY3RfU2V0QXR0cklkKHJlc3VsdCwgJlB5SWRfdmFsdWUsIHZhbHVlKSA9PSAtMSkKICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgIFB5X0RFQ1JFRih2YWx1ZSk7CiAgICAgICAgICAgICAgICAgdmFsdWUgPSBhc3Qyb2JqX2xpc3Qoby0+di5EaWN0Q29tcC5nZW5lcmF0b3JzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFzdDJvYmpfY29tcHJlaGVuc2lvbik7CiAgICAgICAgICAgICAgICAgaWYgKCF2YWx1ZSkgZ290byBmYWlsZWQ7Ci0gICAgICAgICAgICAgICAgaWYgKFB5T2JqZWN0X1NldEF0dHJTdHJpbmcocmVzdWx0LCAiZ2VuZXJhdG9ycyIsIHZhbHVlKSA9PSAtMSkKKyAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X1NldEF0dHJJZChyZXN1bHQsICZQeUlkX2dlbmVyYXRvcnMsIHZhbHVlKSA9PSAtMSkKICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgIFB5X0RFQ1JFRih2YWx1ZSk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CkBAIC0yNzM0LDEzICsyODIwLDEzIEBACiAgICAgICAgICAgICAgICAgaWYgKCFyZXN1bHQpIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgIHZhbHVlID0gYXN0Mm9ial9leHByKG8tPnYuR2VuZXJhdG9yRXhwLmVsdCk7CiAgICAgICAgICAgICAgICAgaWYgKCF2YWx1ZSkgZ290byBmYWlsZWQ7Ci0gICAgICAgICAgICAgICAgaWYgKFB5T2JqZWN0X1NldEF0dHJTdHJpbmcocmVzdWx0LCAiZWx0IiwgdmFsdWUpID09IC0xKQorICAgICAgICAgICAgICAgIGlmIChfUHlPYmplY3RfU2V0QXR0cklkKHJlc3VsdCwgJlB5SWRfZWx0LCB2YWx1ZSkgPT0gLTEpCiAgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICBQeV9ERUNSRUYodmFsdWUpOwogICAgICAgICAgICAgICAgIHZhbHVlID0gYXN0Mm9ial9saXN0KG8tPnYuR2VuZXJhdG9yRXhwLmdlbmVyYXRvcnMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXN0Mm9ial9jb21wcmVoZW5zaW9uKTsKICAgICAgICAgICAgICAgICBpZiAoIXZhbHVlKSBnb3RvIGZhaWxlZDsKLSAgICAgICAgICAgICAgICBpZiAoUHlPYmplY3RfU2V0QXR0clN0cmluZyhyZXN1bHQsICJnZW5lcmF0b3JzIiwgdmFsdWUpID09IC0xKQorICAgICAgICAgICAgICAgIGlmIChfUHlPYmplY3RfU2V0QXR0cklkKHJlc3VsdCwgJlB5SWRfZ2VuZXJhdG9ycywgdmFsdWUpID09IC0xKQogICAgICAgICAgICAgICAgICAgICAgICAgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgUHlfREVDUkVGKHZhbHVlKTsKICAgICAgICAgICAgICAgICBicmVhazsKQEAgLTI3NDksNyArMjgzNSwxNiBAQAogICAgICAgICAgICAgICAgIGlmICghcmVzdWx0KSBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICB2YWx1ZSA9IGFzdDJvYmpfZXhwcihvLT52LllpZWxkLnZhbHVlKTsKICAgICAgICAgICAgICAgICBpZiAoIXZhbHVlKSBnb3RvIGZhaWxlZDsKLSAgICAgICAgICAgICAgICBpZiAoUHlPYmplY3RfU2V0QXR0clN0cmluZyhyZXN1bHQsICJ2YWx1ZSIsIHZhbHVlKSA9PSAtMSkKKyAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X1NldEF0dHJJZChyZXN1bHQsICZQeUlkX3ZhbHVlLCB2YWx1ZSkgPT0gLTEpCisgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGZhaWxlZDsKKyAgICAgICAgICAgICAgICBQeV9ERUNSRUYodmFsdWUpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFlpZWxkRnJvbV9raW5kOgorICAgICAgICAgICAgICAgIHJlc3VsdCA9IFB5VHlwZV9HZW5lcmljTmV3KFlpZWxkRnJvbV90eXBlLCBOVUxMLCBOVUxMKTsKKyAgICAgICAgICAgICAgICBpZiAoIXJlc3VsdCkgZ290byBmYWlsZWQ7CisgICAgICAgICAgICAgICAgdmFsdWUgPSBhc3Qyb2JqX2V4cHIoby0+di5ZaWVsZEZyb20udmFsdWUpOworICAgICAgICAgICAgICAgIGlmICghdmFsdWUpIGdvdG8gZmFpbGVkOworICAgICAgICAgICAgICAgIGlmIChfUHlPYmplY3RfU2V0QXR0cklkKHJlc3VsdCwgJlB5SWRfdmFsdWUsIHZhbHVlKSA9PSAtMSkKICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgIFB5X0RFQ1JFRih2YWx1ZSk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CkBAIC0yNzU4LDcgKzI4NTMsNyBAQAogICAgICAgICAgICAgICAgIGlmICghcmVzdWx0KSBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICB2YWx1ZSA9IGFzdDJvYmpfZXhwcihvLT52LkNvbXBhcmUubGVmdCk7CiAgICAgICAgICAgICAgICAgaWYgKCF2YWx1ZSkgZ290byBmYWlsZWQ7Ci0gICAgICAgICAgICAgICAgaWYgKFB5T2JqZWN0X1NldEF0dHJTdHJpbmcocmVzdWx0LCAibGVmdCIsIHZhbHVlKSA9PSAtMSkKKyAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X1NldEF0dHJJZChyZXN1bHQsICZQeUlkX2xlZnQsIHZhbHVlKSA9PSAtMSkKICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgIFB5X0RFQ1JFRih2YWx1ZSk7CiAgICAgICAgICAgICAgICAgewpAQCAtMjc2OSwxMiArMjg2NCwxMiBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeUxpc3RfU0VUX0lURU0odmFsdWUsIGksIGFzdDJvYmpfY21wb3AoKGNtcG9wX3R5KWFzZGxfc2VxX0dFVChvLT52LkNvbXBhcmUub3BzLCBpKSkpOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBpZiAoIXZhbHVlKSBnb3RvIGZhaWxlZDsKLSAgICAgICAgICAgICAgICBpZiAoUHlPYmplY3RfU2V0QXR0clN0cmluZyhyZXN1bHQsICJvcHMiLCB2YWx1ZSkgPT0gLTEpCisgICAgICAgICAgICAgICAgaWYgKF9QeU9iamVjdF9TZXRBdHRySWQocmVzdWx0LCAmUHlJZF9vcHMsIHZhbHVlKSA9PSAtMSkKICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgIFB5X0RFQ1JFRih2YWx1ZSk7CiAgICAgICAgICAgICAgICAgdmFsdWUgPSBhc3Qyb2JqX2xpc3Qoby0+di5Db21wYXJlLmNvbXBhcmF0b3JzLCBhc3Qyb2JqX2V4cHIpOwogICAgICAgICAgICAgICAgIGlmICghdmFsdWUpIGdvdG8gZmFpbGVkOwotICAgICAgICAgICAgICAgIGlmIChQeU9iamVjdF9TZXRBdHRyU3RyaW5nKHJlc3VsdCwgImNvbXBhcmF0b3JzIiwgdmFsdWUpID09IC0xKQorICAgICAgICAgICAgICAgIGlmIChfUHlPYmplY3RfU2V0QXR0cklkKHJlc3VsdCwgJlB5SWRfY29tcGFyYXRvcnMsIHZhbHVlKSA9PSAtMSkKICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgIFB5X0RFQ1JFRih2YWx1ZSk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CkBAIC0yNzgzLDI3ICsyODc4LDI3IEBACiAgICAgICAgICAgICAgICAgaWYgKCFyZXN1bHQpIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgIHZhbHVlID0gYXN0Mm9ial9leHByKG8tPnYuQ2FsbC5mdW5jKTsKICAgICAgICAgICAgICAgICBpZiAoIXZhbHVlKSBnb3RvIGZhaWxlZDsKLSAgICAgICAgICAgICAgICBpZiAoUHlPYmplY3RfU2V0QXR0clN0cmluZyhyZXN1bHQsICJmdW5jIiwgdmFsdWUpID09IC0xKQorICAgICAgICAgICAgICAgIGlmIChfUHlPYmplY3RfU2V0QXR0cklkKHJlc3VsdCwgJlB5SWRfZnVuYywgdmFsdWUpID09IC0xKQogICAgICAgICAgICAgICAgICAgICAgICAgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgUHlfREVDUkVGKHZhbHVlKTsKICAgICAgICAgICAgICAgICB2YWx1ZSA9IGFzdDJvYmpfbGlzdChvLT52LkNhbGwuYXJncywgYXN0Mm9ial9leHByKTsKICAgICAgICAgICAgICAgICBpZiAoIXZhbHVlKSBnb3RvIGZhaWxlZDsKLSAgICAgICAgICAgICAgICBpZiAoUHlPYmplY3RfU2V0QXR0clN0cmluZyhyZXN1bHQsICJhcmdzIiwgdmFsdWUpID09IC0xKQorICAgICAgICAgICAgICAgIGlmIChfUHlPYmplY3RfU2V0QXR0cklkKHJlc3VsdCwgJlB5SWRfYXJncywgdmFsdWUpID09IC0xKQogICAgICAgICAgICAgICAgICAgICAgICAgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgUHlfREVDUkVGKHZhbHVlKTsKICAgICAgICAgICAgICAgICB2YWx1ZSA9IGFzdDJvYmpfbGlzdChvLT52LkNhbGwua2V5d29yZHMsIGFzdDJvYmpfa2V5d29yZCk7CiAgICAgICAgICAgICAgICAgaWYgKCF2YWx1ZSkgZ290byBmYWlsZWQ7Ci0gICAgICAgICAgICAgICAgaWYgKFB5T2JqZWN0X1NldEF0dHJTdHJpbmcocmVzdWx0LCAia2V5d29yZHMiLCB2YWx1ZSkgPT0gLTEpCisgICAgICAgICAgICAgICAgaWYgKF9QeU9iamVjdF9TZXRBdHRySWQocmVzdWx0LCAmUHlJZF9rZXl3b3JkcywgdmFsdWUpID09IC0xKQogICAgICAgICAgICAgICAgICAgICAgICAgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgUHlfREVDUkVGKHZhbHVlKTsKICAgICAgICAgICAgICAgICB2YWx1ZSA9IGFzdDJvYmpfZXhwcihvLT52LkNhbGwuc3RhcmFyZ3MpOwogICAgICAgICAgICAgICAgIGlmICghdmFsdWUpIGdvdG8gZmFpbGVkOwotICAgICAgICAgICAgICAgIGlmIChQeU9iamVjdF9TZXRBdHRyU3RyaW5nKHJlc3VsdCwgInN0YXJhcmdzIiwgdmFsdWUpID09IC0xKQorICAgICAgICAgICAgICAgIGlmIChfUHlPYmplY3RfU2V0QXR0cklkKHJlc3VsdCwgJlB5SWRfc3RhcmFyZ3MsIHZhbHVlKSA9PSAtMSkKICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgIFB5X0RFQ1JFRih2YWx1ZSk7CiAgICAgICAgICAgICAgICAgdmFsdWUgPSBhc3Qyb2JqX2V4cHIoby0+di5DYWxsLmt3YXJncyk7CiAgICAgICAgICAgICAgICAgaWYgKCF2YWx1ZSkgZ290byBmYWlsZWQ7Ci0gICAgICAgICAgICAgICAgaWYgKFB5T2JqZWN0X1NldEF0dHJTdHJpbmcocmVzdWx0LCAia3dhcmdzIiwgdmFsdWUpID09IC0xKQorICAgICAgICAgICAgICAgIGlmIChfUHlPYmplY3RfU2V0QXR0cklkKHJlc3VsdCwgJlB5SWRfa3dhcmdzLCB2YWx1ZSkgPT0gLTEpCiAgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICBQeV9ERUNSRUYodmFsdWUpOwogICAgICAgICAgICAgICAgIGJyZWFrOwpAQCAtMjgxMiw3ICsyOTA3LDcgQEAKICAgICAgICAgICAgICAgICBpZiAoIXJlc3VsdCkgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgdmFsdWUgPSBhc3Qyb2JqX29iamVjdChvLT52Lk51bS5uKTsKICAgICAgICAgICAgICAgICBpZiAoIXZhbHVlKSBnb3RvIGZhaWxlZDsKLSAgICAgICAgICAgICAgICBpZiAoUHlPYmplY3RfU2V0QXR0clN0cmluZyhyZXN1bHQsICJuIiwgdmFsdWUpID09IC0xKQorICAgICAgICAgICAgICAgIGlmIChfUHlPYmplY3RfU2V0QXR0cklkKHJlc3VsdCwgJlB5SWRfbiwgdmFsdWUpID09IC0xKQogICAgICAgICAgICAgICAgICAgICAgICAgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgUHlfREVDUkVGKHZhbHVlKTsKICAgICAgICAgICAgICAgICBicmVhazsKQEAgLTI4MjEsMTYgKzI5MTYsMTYgQEAKICAgICAgICAgICAgICAgICBpZiAoIXJlc3VsdCkgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgdmFsdWUgPSBhc3Qyb2JqX3N0cmluZyhvLT52LlN0ci5zKTsKICAgICAgICAgICAgICAgICBpZiAoIXZhbHVlKSBnb3RvIGZhaWxlZDsKLSAgICAgICAgICAgICAgICBpZiAoUHlPYmplY3RfU2V0QXR0clN0cmluZyhyZXN1bHQsICJzIiwgdmFsdWUpID09IC0xKQorICAgICAgICAgICAgICAgIGlmIChfUHlPYmplY3RfU2V0QXR0cklkKHJlc3VsdCwgJlB5SWRfcywgdmFsdWUpID09IC0xKQogICAgICAgICAgICAgICAgICAgICAgICAgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgUHlfREVDUkVGKHZhbHVlKTsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBCeXRlc19raW5kOgogICAgICAgICAgICAgICAgIHJlc3VsdCA9IFB5VHlwZV9HZW5lcmljTmV3KEJ5dGVzX3R5cGUsIE5VTEwsIE5VTEwpOwogICAgICAgICAgICAgICAgIGlmICghcmVzdWx0KSBnb3RvIGZhaWxlZDsKLSAgICAgICAgICAgICAgICB2YWx1ZSA9IGFzdDJvYmpfc3RyaW5nKG8tPnYuQnl0ZXMucyk7CisgICAgICAgICAgICAgICAgdmFsdWUgPSBhc3Qyb2JqX2J5dGVzKG8tPnYuQnl0ZXMucyk7CiAgICAgICAgICAgICAgICAgaWYgKCF2YWx1ZSkgZ290byBmYWlsZWQ7Ci0gICAgICAgICAgICAgICAgaWYgKFB5T2JqZWN0X1NldEF0dHJTdHJpbmcocmVzdWx0LCAicyIsIHZhbHVlKSA9PSAtMSkKKyAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X1NldEF0dHJJZChyZXN1bHQsICZQeUlkX3MsIHZhbHVlKSA9PSAtMSkKICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgIFB5X0RFQ1JFRih2YWx1ZSk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CkBAIC0yODQzLDE3ICsyOTM4LDE3IEBACiAgICAgICAgICAgICAgICAgaWYgKCFyZXN1bHQpIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgIHZhbHVlID0gYXN0Mm9ial9leHByKG8tPnYuQXR0cmlidXRlLnZhbHVlKTsKICAgICAgICAgICAgICAgICBpZiAoIXZhbHVlKSBnb3RvIGZhaWxlZDsKLSAgICAgICAgICAgICAgICBpZiAoUHlPYmplY3RfU2V0QXR0clN0cmluZyhyZXN1bHQsICJ2YWx1ZSIsIHZhbHVlKSA9PSAtMSkKKyAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X1NldEF0dHJJZChyZXN1bHQsICZQeUlkX3ZhbHVlLCB2YWx1ZSkgPT0gLTEpCiAgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICBQeV9ERUNSRUYodmFsdWUpOwogICAgICAgICAgICAgICAgIHZhbHVlID0gYXN0Mm9ial9pZGVudGlmaWVyKG8tPnYuQXR0cmlidXRlLmF0dHIpOwogICAgICAgICAgICAgICAgIGlmICghdmFsdWUpIGdvdG8gZmFpbGVkOwotICAgICAgICAgICAgICAgIGlmIChQeU9iamVjdF9TZXRBdHRyU3RyaW5nKHJlc3VsdCwgImF0dHIiLCB2YWx1ZSkgPT0gLTEpCisgICAgICAgICAgICAgICAgaWYgKF9QeU9iamVjdF9TZXRBdHRySWQocmVzdWx0LCAmUHlJZF9hdHRyLCB2YWx1ZSkgPT0gLTEpCiAgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICBQeV9ERUNSRUYodmFsdWUpOwogICAgICAgICAgICAgICAgIHZhbHVlID0gYXN0Mm9ial9leHByX2NvbnRleHQoby0+di5BdHRyaWJ1dGUuY3R4KTsKICAgICAgICAgICAgICAgICBpZiAoIXZhbHVlKSBnb3RvIGZhaWxlZDsKLSAgICAgICAgICAgICAgICBpZiAoUHlPYmplY3RfU2V0QXR0clN0cmluZyhyZXN1bHQsICJjdHgiLCB2YWx1ZSkgPT0gLTEpCisgICAgICAgICAgICAgICAgaWYgKF9QeU9iamVjdF9TZXRBdHRySWQocmVzdWx0LCAmUHlJZF9jdHgsIHZhbHVlKSA9PSAtMSkKICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgIFB5X0RFQ1JFRih2YWx1ZSk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CkBAIC0yODYyLDE3ICsyOTU3LDE3IEBACiAgICAgICAgICAgICAgICAgaWYgKCFyZXN1bHQpIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgIHZhbHVlID0gYXN0Mm9ial9leHByKG8tPnYuU3Vic2NyaXB0LnZhbHVlKTsKICAgICAgICAgICAgICAgICBpZiAoIXZhbHVlKSBnb3RvIGZhaWxlZDsKLSAgICAgICAgICAgICAgICBpZiAoUHlPYmplY3RfU2V0QXR0clN0cmluZyhyZXN1bHQsICJ2YWx1ZSIsIHZhbHVlKSA9PSAtMSkKKyAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X1NldEF0dHJJZChyZXN1bHQsICZQeUlkX3ZhbHVlLCB2YWx1ZSkgPT0gLTEpCiAgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICBQeV9ERUNSRUYodmFsdWUpOwogICAgICAgICAgICAgICAgIHZhbHVlID0gYXN0Mm9ial9zbGljZShvLT52LlN1YnNjcmlwdC5zbGljZSk7CiAgICAgICAgICAgICAgICAgaWYgKCF2YWx1ZSkgZ290byBmYWlsZWQ7Ci0gICAgICAgICAgICAgICAgaWYgKFB5T2JqZWN0X1NldEF0dHJTdHJpbmcocmVzdWx0LCAic2xpY2UiLCB2YWx1ZSkgPT0gLTEpCisgICAgICAgICAgICAgICAgaWYgKF9QeU9iamVjdF9TZXRBdHRySWQocmVzdWx0LCAmUHlJZF9zbGljZSwgdmFsdWUpID09IC0xKQogICAgICAgICAgICAgICAgICAgICAgICAgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgUHlfREVDUkVGKHZhbHVlKTsKICAgICAgICAgICAgICAgICB2YWx1ZSA9IGFzdDJvYmpfZXhwcl9jb250ZXh0KG8tPnYuU3Vic2NyaXB0LmN0eCk7CiAgICAgICAgICAgICAgICAgaWYgKCF2YWx1ZSkgZ290byBmYWlsZWQ7Ci0gICAgICAgICAgICAgICAgaWYgKFB5T2JqZWN0X1NldEF0dHJTdHJpbmcocmVzdWx0LCAiY3R4IiwgdmFsdWUpID09IC0xKQorICAgICAgICAgICAgICAgIGlmIChfUHlPYmplY3RfU2V0QXR0cklkKHJlc3VsdCwgJlB5SWRfY3R4LCB2YWx1ZSkgPT0gLTEpCiAgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICBQeV9ERUNSRUYodmFsdWUpOwogICAgICAgICAgICAgICAgIGJyZWFrOwpAQCAtMjg4MSwxMiArMjk3NiwxMiBAQAogICAgICAgICAgICAgICAgIGlmICghcmVzdWx0KSBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICB2YWx1ZSA9IGFzdDJvYmpfZXhwcihvLT52LlN0YXJyZWQudmFsdWUpOwogICAgICAgICAgICAgICAgIGlmICghdmFsdWUpIGdvdG8gZmFpbGVkOwotICAgICAgICAgICAgICAgIGlmIChQeU9iamVjdF9TZXRBdHRyU3RyaW5nKHJlc3VsdCwgInZhbHVlIiwgdmFsdWUpID09IC0xKQorICAgICAgICAgICAgICAgIGlmIChfUHlPYmplY3RfU2V0QXR0cklkKHJlc3VsdCwgJlB5SWRfdmFsdWUsIHZhbHVlKSA9PSAtMSkKICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgIFB5X0RFQ1JFRih2YWx1ZSk7CiAgICAgICAgICAgICAgICAgdmFsdWUgPSBhc3Qyb2JqX2V4cHJfY29udGV4dChvLT52LlN0YXJyZWQuY3R4KTsKICAgICAgICAgICAgICAgICBpZiAoIXZhbHVlKSBnb3RvIGZhaWxlZDsKLSAgICAgICAgICAgICAgICBpZiAoUHlPYmplY3RfU2V0QXR0clN0cmluZyhyZXN1bHQsICJjdHgiLCB2YWx1ZSkgPT0gLTEpCisgICAgICAgICAgICAgICAgaWYgKF9QeU9iamVjdF9TZXRBdHRySWQocmVzdWx0LCAmUHlJZF9jdHgsIHZhbHVlKSA9PSAtMSkKICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgIFB5X0RFQ1JFRih2YWx1ZSk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CkBAIC0yODk1LDEyICsyOTkwLDEyIEBACiAgICAgICAgICAgICAgICAgaWYgKCFyZXN1bHQpIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgIHZhbHVlID0gYXN0Mm9ial9pZGVudGlmaWVyKG8tPnYuTmFtZS5pZCk7CiAgICAgICAgICAgICAgICAgaWYgKCF2YWx1ZSkgZ290byBmYWlsZWQ7Ci0gICAgICAgICAgICAgICAgaWYgKFB5T2JqZWN0X1NldEF0dHJTdHJpbmcocmVzdWx0LCAiaWQiLCB2YWx1ZSkgPT0gLTEpCisgICAgICAgICAgICAgICAgaWYgKF9QeU9iamVjdF9TZXRBdHRySWQocmVzdWx0LCAmUHlJZF9pZCwgdmFsdWUpID09IC0xKQogICAgICAgICAgICAgICAgICAgICAgICAgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgUHlfREVDUkVGKHZhbHVlKTsKICAgICAgICAgICAgICAgICB2YWx1ZSA9IGFzdDJvYmpfZXhwcl9jb250ZXh0KG8tPnYuTmFtZS5jdHgpOwogICAgICAgICAgICAgICAgIGlmICghdmFsdWUpIGdvdG8gZmFpbGVkOwotICAgICAgICAgICAgICAgIGlmIChQeU9iamVjdF9TZXRBdHRyU3RyaW5nKHJlc3VsdCwgImN0eCIsIHZhbHVlKSA9PSAtMSkKKyAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X1NldEF0dHJJZChyZXN1bHQsICZQeUlkX2N0eCwgdmFsdWUpID09IC0xKQogICAgICAgICAgICAgICAgICAgICAgICAgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgUHlfREVDUkVGKHZhbHVlKTsKICAgICAgICAgICAgICAgICBicmVhazsKQEAgLTI5MDksMTIgKzMwMDQsMTIgQEAKICAgICAgICAgICAgICAgICBpZiAoIXJlc3VsdCkgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgdmFsdWUgPSBhc3Qyb2JqX2xpc3Qoby0+di5MaXN0LmVsdHMsIGFzdDJvYmpfZXhwcik7CiAgICAgICAgICAgICAgICAgaWYgKCF2YWx1ZSkgZ290byBmYWlsZWQ7Ci0gICAgICAgICAgICAgICAgaWYgKFB5T2JqZWN0X1NldEF0dHJTdHJpbmcocmVzdWx0LCAiZWx0cyIsIHZhbHVlKSA9PSAtMSkKKyAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X1NldEF0dHJJZChyZXN1bHQsICZQeUlkX2VsdHMsIHZhbHVlKSA9PSAtMSkKICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgIFB5X0RFQ1JFRih2YWx1ZSk7CiAgICAgICAgICAgICAgICAgdmFsdWUgPSBhc3Qyb2JqX2V4cHJfY29udGV4dChvLT52Lkxpc3QuY3R4KTsKICAgICAgICAgICAgICAgICBpZiAoIXZhbHVlKSBnb3RvIGZhaWxlZDsKLSAgICAgICAgICAgICAgICBpZiAoUHlPYmplY3RfU2V0QXR0clN0cmluZyhyZXN1bHQsICJjdHgiLCB2YWx1ZSkgPT0gLTEpCisgICAgICAgICAgICAgICAgaWYgKF9QeU9iamVjdF9TZXRBdHRySWQocmVzdWx0LCAmUHlJZF9jdHgsIHZhbHVlKSA9PSAtMSkKICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgIFB5X0RFQ1JFRih2YWx1ZSk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CkBAIC0yOTIzLDI0ICszMDE4LDI0IEBACiAgICAgICAgICAgICAgICAgaWYgKCFyZXN1bHQpIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgIHZhbHVlID0gYXN0Mm9ial9saXN0KG8tPnYuVHVwbGUuZWx0cywgYXN0Mm9ial9leHByKTsKICAgICAgICAgICAgICAgICBpZiAoIXZhbHVlKSBnb3RvIGZhaWxlZDsKLSAgICAgICAgICAgICAgICBpZiAoUHlPYmplY3RfU2V0QXR0clN0cmluZyhyZXN1bHQsICJlbHRzIiwgdmFsdWUpID09IC0xKQorICAgICAgICAgICAgICAgIGlmIChfUHlPYmplY3RfU2V0QXR0cklkKHJlc3VsdCwgJlB5SWRfZWx0cywgdmFsdWUpID09IC0xKQogICAgICAgICAgICAgICAgICAgICAgICAgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgUHlfREVDUkVGKHZhbHVlKTsKICAgICAgICAgICAgICAgICB2YWx1ZSA9IGFzdDJvYmpfZXhwcl9jb250ZXh0KG8tPnYuVHVwbGUuY3R4KTsKICAgICAgICAgICAgICAgICBpZiAoIXZhbHVlKSBnb3RvIGZhaWxlZDsKLSAgICAgICAgICAgICAgICBpZiAoUHlPYmplY3RfU2V0QXR0clN0cmluZyhyZXN1bHQsICJjdHgiLCB2YWx1ZSkgPT0gLTEpCisgICAgICAgICAgICAgICAgaWYgKF9QeU9iamVjdF9TZXRBdHRySWQocmVzdWx0LCAmUHlJZF9jdHgsIHZhbHVlKSA9PSAtMSkKICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgIFB5X0RFQ1JFRih2YWx1ZSk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgdmFsdWUgPSBhc3Qyb2JqX2ludChvLT5saW5lbm8pOwogICAgICAgICBpZiAoIXZhbHVlKSBnb3RvIGZhaWxlZDsKLSAgICAgICAgaWYgKFB5T2JqZWN0X1NldEF0dHJTdHJpbmcocmVzdWx0LCAibGluZW5vIiwgdmFsdWUpIDwgMCkKKyAgICAgICAgaWYgKF9QeU9iamVjdF9TZXRBdHRySWQocmVzdWx0LCAmUHlJZF9saW5lbm8sIHZhbHVlKSA8IDApCiAgICAgICAgICAgICAgICAgZ290byBmYWlsZWQ7CiAgICAgICAgIFB5X0RFQ1JFRih2YWx1ZSk7CiAgICAgICAgIHZhbHVlID0gYXN0Mm9ial9pbnQoby0+Y29sX29mZnNldCk7CiAgICAgICAgIGlmICghdmFsdWUpIGdvdG8gZmFpbGVkOwotICAgICAgICBpZiAoUHlPYmplY3RfU2V0QXR0clN0cmluZyhyZXN1bHQsICJjb2xfb2Zmc2V0IiwgdmFsdWUpIDwgMCkKKyAgICAgICAgaWYgKF9QeU9iamVjdF9TZXRBdHRySWQocmVzdWx0LCAmUHlJZF9jb2xfb2Zmc2V0LCB2YWx1ZSkgPCAwKQogICAgICAgICAgICAgICAgIGdvdG8gZmFpbGVkOwogICAgICAgICBQeV9ERUNSRUYodmFsdWUpOwogICAgICAgICByZXR1cm4gcmVzdWx0OwpAQCAtMjk5MywxNyArMzA4OCwxNyBAQAogICAgICAgICAgICAgICAgIGlmICghcmVzdWx0KSBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICB2YWx1ZSA9IGFzdDJvYmpfZXhwcihvLT52LlNsaWNlLmxvd2VyKTsKICAgICAgICAgICAgICAgICBpZiAoIXZhbHVlKSBnb3RvIGZhaWxlZDsKLSAgICAgICAgICAgICAgICBpZiAoUHlPYmplY3RfU2V0QXR0clN0cmluZyhyZXN1bHQsICJsb3dlciIsIHZhbHVlKSA9PSAtMSkKKyAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X1NldEF0dHJJZChyZXN1bHQsICZQeUlkX2xvd2VyLCB2YWx1ZSkgPT0gLTEpCiAgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICBQeV9ERUNSRUYodmFsdWUpOwogICAgICAgICAgICAgICAgIHZhbHVlID0gYXN0Mm9ial9leHByKG8tPnYuU2xpY2UudXBwZXIpOwogICAgICAgICAgICAgICAgIGlmICghdmFsdWUpIGdvdG8gZmFpbGVkOwotICAgICAgICAgICAgICAgIGlmIChQeU9iamVjdF9TZXRBdHRyU3RyaW5nKHJlc3VsdCwgInVwcGVyIiwgdmFsdWUpID09IC0xKQorICAgICAgICAgICAgICAgIGlmIChfUHlPYmplY3RfU2V0QXR0cklkKHJlc3VsdCwgJlB5SWRfdXBwZXIsIHZhbHVlKSA9PSAtMSkKICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgIFB5X0RFQ1JFRih2YWx1ZSk7CiAgICAgICAgICAgICAgICAgdmFsdWUgPSBhc3Qyb2JqX2V4cHIoby0+di5TbGljZS5zdGVwKTsKICAgICAgICAgICAgICAgICBpZiAoIXZhbHVlKSBnb3RvIGZhaWxlZDsKLSAgICAgICAgICAgICAgICBpZiAoUHlPYmplY3RfU2V0QXR0clN0cmluZyhyZXN1bHQsICJzdGVwIiwgdmFsdWUpID09IC0xKQorICAgICAgICAgICAgICAgIGlmIChfUHlPYmplY3RfU2V0QXR0cklkKHJlc3VsdCwgJlB5SWRfc3RlcCwgdmFsdWUpID09IC0xKQogICAgICAgICAgICAgICAgICAgICAgICAgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgUHlfREVDUkVGKHZhbHVlKTsKICAgICAgICAgICAgICAgICBicmVhazsKQEAgLTMwMTIsNyArMzEwNyw3IEBACiAgICAgICAgICAgICAgICAgaWYgKCFyZXN1bHQpIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgIHZhbHVlID0gYXN0Mm9ial9saXN0KG8tPnYuRXh0U2xpY2UuZGltcywgYXN0Mm9ial9zbGljZSk7CiAgICAgICAgICAgICAgICAgaWYgKCF2YWx1ZSkgZ290byBmYWlsZWQ7Ci0gICAgICAgICAgICAgICAgaWYgKFB5T2JqZWN0X1NldEF0dHJTdHJpbmcocmVzdWx0LCAiZGltcyIsIHZhbHVlKSA9PSAtMSkKKyAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X1NldEF0dHJJZChyZXN1bHQsICZQeUlkX2RpbXMsIHZhbHVlKSA9PSAtMSkKICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgIFB5X0RFQ1JFRih2YWx1ZSk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CkBAIC0zMDIxLDcgKzMxMTYsNyBAQAogICAgICAgICAgICAgICAgIGlmICghcmVzdWx0KSBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICB2YWx1ZSA9IGFzdDJvYmpfZXhwcihvLT52LkluZGV4LnZhbHVlKTsKICAgICAgICAgICAgICAgICBpZiAoIXZhbHVlKSBnb3RvIGZhaWxlZDsKLSAgICAgICAgICAgICAgICBpZiAoUHlPYmplY3RfU2V0QXR0clN0cmluZyhyZXN1bHQsICJ2YWx1ZSIsIHZhbHVlKSA9PSAtMSkKKyAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X1NldEF0dHJJZChyZXN1bHQsICZQeUlkX3ZhbHVlLCB2YWx1ZSkgPT0gLTEpCiAgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICBQeV9ERUNSRUYodmFsdWUpOwogICAgICAgICAgICAgICAgIGJyZWFrOwpAQCAtMzE2NywxNyArMzI2MiwxNyBAQAogICAgICAgICBpZiAoIXJlc3VsdCkgcmV0dXJuIE5VTEw7CiAgICAgICAgIHZhbHVlID0gYXN0Mm9ial9leHByKG8tPnRhcmdldCk7CiAgICAgICAgIGlmICghdmFsdWUpIGdvdG8gZmFpbGVkOwotICAgICAgICBpZiAoUHlPYmplY3RfU2V0QXR0clN0cmluZyhyZXN1bHQsICJ0YXJnZXQiLCB2YWx1ZSkgPT0gLTEpCisgICAgICAgIGlmIChfUHlPYmplY3RfU2V0QXR0cklkKHJlc3VsdCwgJlB5SWRfdGFyZ2V0LCB2YWx1ZSkgPT0gLTEpCiAgICAgICAgICAgICAgICAgZ290byBmYWlsZWQ7CiAgICAgICAgIFB5X0RFQ1JFRih2YWx1ZSk7CiAgICAgICAgIHZhbHVlID0gYXN0Mm9ial9leHByKG8tPml0ZXIpOwogICAgICAgICBpZiAoIXZhbHVlKSBnb3RvIGZhaWxlZDsKLSAgICAgICAgaWYgKFB5T2JqZWN0X1NldEF0dHJTdHJpbmcocmVzdWx0LCAiaXRlciIsIHZhbHVlKSA9PSAtMSkKKyAgICAgICAgaWYgKF9QeU9iamVjdF9TZXRBdHRySWQocmVzdWx0LCAmUHlJZF9pdGVyLCB2YWx1ZSkgPT0gLTEpCiAgICAgICAgICAgICAgICAgZ290byBmYWlsZWQ7CiAgICAgICAgIFB5X0RFQ1JFRih2YWx1ZSk7CiAgICAgICAgIHZhbHVlID0gYXN0Mm9ial9saXN0KG8tPmlmcywgYXN0Mm9ial9leHByKTsKICAgICAgICAgaWYgKCF2YWx1ZSkgZ290byBmYWlsZWQ7Ci0gICAgICAgIGlmIChQeU9iamVjdF9TZXRBdHRyU3RyaW5nKHJlc3VsdCwgImlmcyIsIHZhbHVlKSA9PSAtMSkKKyAgICAgICAgaWYgKF9QeU9iamVjdF9TZXRBdHRySWQocmVzdWx0LCAmUHlJZF9pZnMsIHZhbHVlKSA9PSAtMSkKICAgICAgICAgICAgICAgICBnb3RvIGZhaWxlZDsKICAgICAgICAgUHlfREVDUkVGKHZhbHVlKTsKICAgICAgICAgcmV0dXJuIHJlc3VsdDsKQEAgLTMyMDMsMjkgKzMyOTgsMjkgQEAKICAgICAgICAgICAgICAgICBpZiAoIXJlc3VsdCkgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgdmFsdWUgPSBhc3Qyb2JqX2V4cHIoby0+di5FeGNlcHRIYW5kbGVyLnR5cGUpOwogICAgICAgICAgICAgICAgIGlmICghdmFsdWUpIGdvdG8gZmFpbGVkOwotICAgICAgICAgICAgICAgIGlmIChQeU9iamVjdF9TZXRBdHRyU3RyaW5nKHJlc3VsdCwgInR5cGUiLCB2YWx1ZSkgPT0gLTEpCisgICAgICAgICAgICAgICAgaWYgKF9QeU9iamVjdF9TZXRBdHRySWQocmVzdWx0LCAmUHlJZF90eXBlLCB2YWx1ZSkgPT0gLTEpCiAgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICBQeV9ERUNSRUYodmFsdWUpOwogICAgICAgICAgICAgICAgIHZhbHVlID0gYXN0Mm9ial9pZGVudGlmaWVyKG8tPnYuRXhjZXB0SGFuZGxlci5uYW1lKTsKICAgICAgICAgICAgICAgICBpZiAoIXZhbHVlKSBnb3RvIGZhaWxlZDsKLSAgICAgICAgICAgICAgICBpZiAoUHlPYmplY3RfU2V0QXR0clN0cmluZyhyZXN1bHQsICJuYW1lIiwgdmFsdWUpID09IC0xKQorICAgICAgICAgICAgICAgIGlmIChfUHlPYmplY3RfU2V0QXR0cklkKHJlc3VsdCwgJlB5SWRfbmFtZSwgdmFsdWUpID09IC0xKQogICAgICAgICAgICAgICAgICAgICAgICAgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgUHlfREVDUkVGKHZhbHVlKTsKICAgICAgICAgICAgICAgICB2YWx1ZSA9IGFzdDJvYmpfbGlzdChvLT52LkV4Y2VwdEhhbmRsZXIuYm9keSwgYXN0Mm9ial9zdG10KTsKICAgICAgICAgICAgICAgICBpZiAoIXZhbHVlKSBnb3RvIGZhaWxlZDsKLSAgICAgICAgICAgICAgICBpZiAoUHlPYmplY3RfU2V0QXR0clN0cmluZyhyZXN1bHQsICJib2R5IiwgdmFsdWUpID09IC0xKQorICAgICAgICAgICAgICAgIGlmIChfUHlPYmplY3RfU2V0QXR0cklkKHJlc3VsdCwgJlB5SWRfYm9keSwgdmFsdWUpID09IC0xKQogICAgICAgICAgICAgICAgICAgICAgICAgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgUHlfREVDUkVGKHZhbHVlKTsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgICAgICB2YWx1ZSA9IGFzdDJvYmpfaW50KG8tPmxpbmVubyk7CiAgICAgICAgIGlmICghdmFsdWUpIGdvdG8gZmFpbGVkOwotICAgICAgICBpZiAoUHlPYmplY3RfU2V0QXR0clN0cmluZyhyZXN1bHQsICJsaW5lbm8iLCB2YWx1ZSkgPCAwKQorICAgICAgICBpZiAoX1B5T2JqZWN0X1NldEF0dHJJZChyZXN1bHQsICZQeUlkX2xpbmVubywgdmFsdWUpIDwgMCkKICAgICAgICAgICAgICAgICBnb3RvIGZhaWxlZDsKICAgICAgICAgUHlfREVDUkVGKHZhbHVlKTsKICAgICAgICAgdmFsdWUgPSBhc3Qyb2JqX2ludChvLT5jb2xfb2Zmc2V0KTsKICAgICAgICAgaWYgKCF2YWx1ZSkgZ290byBmYWlsZWQ7Ci0gICAgICAgIGlmIChQeU9iamVjdF9TZXRBdHRyU3RyaW5nKHJlc3VsdCwgImNvbF9vZmZzZXQiLCB2YWx1ZSkgPCAwKQorICAgICAgICBpZiAoX1B5T2JqZWN0X1NldEF0dHJJZChyZXN1bHQsICZQeUlkX2NvbF9vZmZzZXQsIHZhbHVlKSA8IDApCiAgICAgICAgICAgICAgICAgZ290byBmYWlsZWQ7CiAgICAgICAgIFB5X0RFQ1JFRih2YWx1ZSk7CiAgICAgICAgIHJldHVybiByZXN1bHQ7CkBAIC0zMjQ5LDQyICszMzQ0LDQyIEBACiAgICAgICAgIGlmICghcmVzdWx0KSByZXR1cm4gTlVMTDsKICAgICAgICAgdmFsdWUgPSBhc3Qyb2JqX2xpc3Qoby0+YXJncywgYXN0Mm9ial9hcmcpOwogICAgICAgICBpZiAoIXZhbHVlKSBnb3RvIGZhaWxlZDsKLSAgICAgICAgaWYgKFB5T2JqZWN0X1NldEF0dHJTdHJpbmcocmVzdWx0LCAiYXJncyIsIHZhbHVlKSA9PSAtMSkKKyAgICAgICAgaWYgKF9QeU9iamVjdF9TZXRBdHRySWQocmVzdWx0LCAmUHlJZF9hcmdzLCB2YWx1ZSkgPT0gLTEpCiAgICAgICAgICAgICAgICAgZ290byBmYWlsZWQ7CiAgICAgICAgIFB5X0RFQ1JFRih2YWx1ZSk7CiAgICAgICAgIHZhbHVlID0gYXN0Mm9ial9pZGVudGlmaWVyKG8tPnZhcmFyZyk7CiAgICAgICAgIGlmICghdmFsdWUpIGdvdG8gZmFpbGVkOwotICAgICAgICBpZiAoUHlPYmplY3RfU2V0QXR0clN0cmluZyhyZXN1bHQsICJ2YXJhcmciLCB2YWx1ZSkgPT0gLTEpCisgICAgICAgIGlmIChfUHlPYmplY3RfU2V0QXR0cklkKHJlc3VsdCwgJlB5SWRfdmFyYXJnLCB2YWx1ZSkgPT0gLTEpCiAgICAgICAgICAgICAgICAgZ290byBmYWlsZWQ7CiAgICAgICAgIFB5X0RFQ1JFRih2YWx1ZSk7CiAgICAgICAgIHZhbHVlID0gYXN0Mm9ial9leHByKG8tPnZhcmFyZ2Fubm90YXRpb24pOwogICAgICAgICBpZiAoIXZhbHVlKSBnb3RvIGZhaWxlZDsKLSAgICAgICAgaWYgKFB5T2JqZWN0X1NldEF0dHJTdHJpbmcocmVzdWx0LCAidmFyYXJnYW5ub3RhdGlvbiIsIHZhbHVlKSA9PSAtMSkKKyAgICAgICAgaWYgKF9QeU9iamVjdF9TZXRBdHRySWQocmVzdWx0LCAmUHlJZF92YXJhcmdhbm5vdGF0aW9uLCB2YWx1ZSkgPT0gLTEpCiAgICAgICAgICAgICAgICAgZ290byBmYWlsZWQ7CiAgICAgICAgIFB5X0RFQ1JFRih2YWx1ZSk7CiAgICAgICAgIHZhbHVlID0gYXN0Mm9ial9saXN0KG8tPmt3b25seWFyZ3MsIGFzdDJvYmpfYXJnKTsKICAgICAgICAgaWYgKCF2YWx1ZSkgZ290byBmYWlsZWQ7Ci0gICAgICAgIGlmIChQeU9iamVjdF9TZXRBdHRyU3RyaW5nKHJlc3VsdCwgImt3b25seWFyZ3MiLCB2YWx1ZSkgPT0gLTEpCisgICAgICAgIGlmIChfUHlPYmplY3RfU2V0QXR0cklkKHJlc3VsdCwgJlB5SWRfa3dvbmx5YXJncywgdmFsdWUpID09IC0xKQogICAgICAgICAgICAgICAgIGdvdG8gZmFpbGVkOwogICAgICAgICBQeV9ERUNSRUYodmFsdWUpOwogICAgICAgICB2YWx1ZSA9IGFzdDJvYmpfaWRlbnRpZmllcihvLT5rd2FyZyk7CiAgICAgICAgIGlmICghdmFsdWUpIGdvdG8gZmFpbGVkOwotICAgICAgICBpZiAoUHlPYmplY3RfU2V0QXR0clN0cmluZyhyZXN1bHQsICJrd2FyZyIsIHZhbHVlKSA9PSAtMSkKKyAgICAgICAgaWYgKF9QeU9iamVjdF9TZXRBdHRySWQocmVzdWx0LCAmUHlJZF9rd2FyZywgdmFsdWUpID09IC0xKQogICAgICAgICAgICAgICAgIGdvdG8gZmFpbGVkOwogICAgICAgICBQeV9ERUNSRUYodmFsdWUpOwogICAgICAgICB2YWx1ZSA9IGFzdDJvYmpfZXhwcihvLT5rd2FyZ2Fubm90YXRpb24pOwogICAgICAgICBpZiAoIXZhbHVlKSBnb3RvIGZhaWxlZDsKLSAgICAgICAgaWYgKFB5T2JqZWN0X1NldEF0dHJTdHJpbmcocmVzdWx0LCAia3dhcmdhbm5vdGF0aW9uIiwgdmFsdWUpID09IC0xKQorICAgICAgICBpZiAoX1B5T2JqZWN0X1NldEF0dHJJZChyZXN1bHQsICZQeUlkX2t3YXJnYW5ub3RhdGlvbiwgdmFsdWUpID09IC0xKQogICAgICAgICAgICAgICAgIGdvdG8gZmFpbGVkOwogICAgICAgICBQeV9ERUNSRUYodmFsdWUpOwogICAgICAgICB2YWx1ZSA9IGFzdDJvYmpfbGlzdChvLT5kZWZhdWx0cywgYXN0Mm9ial9leHByKTsKICAgICAgICAgaWYgKCF2YWx1ZSkgZ290byBmYWlsZWQ7Ci0gICAgICAgIGlmIChQeU9iamVjdF9TZXRBdHRyU3RyaW5nKHJlc3VsdCwgImRlZmF1bHRzIiwgdmFsdWUpID09IC0xKQorICAgICAgICBpZiAoX1B5T2JqZWN0X1NldEF0dHJJZChyZXN1bHQsICZQeUlkX2RlZmF1bHRzLCB2YWx1ZSkgPT0gLTEpCiAgICAgICAgICAgICAgICAgZ290byBmYWlsZWQ7CiAgICAgICAgIFB5X0RFQ1JFRih2YWx1ZSk7CiAgICAgICAgIHZhbHVlID0gYXN0Mm9ial9saXN0KG8tPmt3X2RlZmF1bHRzLCBhc3Qyb2JqX2V4cHIpOwogICAgICAgICBpZiAoIXZhbHVlKSBnb3RvIGZhaWxlZDsKLSAgICAgICAgaWYgKFB5T2JqZWN0X1NldEF0dHJTdHJpbmcocmVzdWx0LCAia3dfZGVmYXVsdHMiLCB2YWx1ZSkgPT0gLTEpCisgICAgICAgIGlmIChfUHlPYmplY3RfU2V0QXR0cklkKHJlc3VsdCwgJlB5SWRfa3dfZGVmYXVsdHMsIHZhbHVlKSA9PSAtMSkKICAgICAgICAgICAgICAgICBnb3RvIGZhaWxlZDsKICAgICAgICAgUHlfREVDUkVGKHZhbHVlKTsKICAgICAgICAgcmV0dXJuIHJlc3VsdDsKQEAgLTMzMDgsMTIgKzM0MDMsMTIgQEAKICAgICAgICAgaWYgKCFyZXN1bHQpIHJldHVybiBOVUxMOwogICAgICAgICB2YWx1ZSA9IGFzdDJvYmpfaWRlbnRpZmllcihvLT5hcmcpOwogICAgICAgICBpZiAoIXZhbHVlKSBnb3RvIGZhaWxlZDsKLSAgICAgICAgaWYgKFB5T2JqZWN0X1NldEF0dHJTdHJpbmcocmVzdWx0LCAiYXJnIiwgdmFsdWUpID09IC0xKQorICAgICAgICBpZiAoX1B5T2JqZWN0X1NldEF0dHJJZChyZXN1bHQsICZQeUlkX2FyZywgdmFsdWUpID09IC0xKQogICAgICAgICAgICAgICAgIGdvdG8gZmFpbGVkOwogICAgICAgICBQeV9ERUNSRUYodmFsdWUpOwogICAgICAgICB2YWx1ZSA9IGFzdDJvYmpfZXhwcihvLT5hbm5vdGF0aW9uKTsKICAgICAgICAgaWYgKCF2YWx1ZSkgZ290byBmYWlsZWQ7Ci0gICAgICAgIGlmIChQeU9iamVjdF9TZXRBdHRyU3RyaW5nKHJlc3VsdCwgImFubm90YXRpb24iLCB2YWx1ZSkgPT0gLTEpCisgICAgICAgIGlmIChfUHlPYmplY3RfU2V0QXR0cklkKHJlc3VsdCwgJlB5SWRfYW5ub3RhdGlvbiwgdmFsdWUpID09IC0xKQogICAgICAgICAgICAgICAgIGdvdG8gZmFpbGVkOwogICAgICAgICBQeV9ERUNSRUYodmFsdWUpOwogICAgICAgICByZXR1cm4gcmVzdWx0OwpAQCAtMzMzNywxMiArMzQzMiwxMiBAQAogICAgICAgICBpZiAoIXJlc3VsdCkgcmV0dXJuIE5VTEw7CiAgICAgICAgIHZhbHVlID0gYXN0Mm9ial9pZGVudGlmaWVyKG8tPmFyZyk7CiAgICAgICAgIGlmICghdmFsdWUpIGdvdG8gZmFpbGVkOwotICAgICAgICBpZiAoUHlPYmplY3RfU2V0QXR0clN0cmluZyhyZXN1bHQsICJhcmciLCB2YWx1ZSkgPT0gLTEpCisgICAgICAgIGlmIChfUHlPYmplY3RfU2V0QXR0cklkKHJlc3VsdCwgJlB5SWRfYXJnLCB2YWx1ZSkgPT0gLTEpCiAgICAgICAgICAgICAgICAgZ290byBmYWlsZWQ7CiAgICAgICAgIFB5X0RFQ1JFRih2YWx1ZSk7CiAgICAgICAgIHZhbHVlID0gYXN0Mm9ial9leHByKG8tPnZhbHVlKTsKICAgICAgICAgaWYgKCF2YWx1ZSkgZ290byBmYWlsZWQ7Ci0gICAgICAgIGlmIChQeU9iamVjdF9TZXRBdHRyU3RyaW5nKHJlc3VsdCwgInZhbHVlIiwgdmFsdWUpID09IC0xKQorICAgICAgICBpZiAoX1B5T2JqZWN0X1NldEF0dHJJZChyZXN1bHQsICZQeUlkX3ZhbHVlLCB2YWx1ZSkgPT0gLTEpCiAgICAgICAgICAgICAgICAgZ290byBmYWlsZWQ7CiAgICAgICAgIFB5X0RFQ1JFRih2YWx1ZSk7CiAgICAgICAgIHJldHVybiByZXN1bHQ7CkBAIC0zMzY2LDEyICszNDYxLDQxIEBACiAgICAgICAgIGlmICghcmVzdWx0KSByZXR1cm4gTlVMTDsKICAgICAgICAgdmFsdWUgPSBhc3Qyb2JqX2lkZW50aWZpZXIoby0+bmFtZSk7CiAgICAgICAgIGlmICghdmFsdWUpIGdvdG8gZmFpbGVkOwotICAgICAgICBpZiAoUHlPYmplY3RfU2V0QXR0clN0cmluZyhyZXN1bHQsICJuYW1lIiwgdmFsdWUpID09IC0xKQorICAgICAgICBpZiAoX1B5T2JqZWN0X1NldEF0dHJJZChyZXN1bHQsICZQeUlkX25hbWUsIHZhbHVlKSA9PSAtMSkKICAgICAgICAgICAgICAgICBnb3RvIGZhaWxlZDsKICAgICAgICAgUHlfREVDUkVGKHZhbHVlKTsKICAgICAgICAgdmFsdWUgPSBhc3Qyb2JqX2lkZW50aWZpZXIoby0+YXNuYW1lKTsKICAgICAgICAgaWYgKCF2YWx1ZSkgZ290byBmYWlsZWQ7Ci0gICAgICAgIGlmIChQeU9iamVjdF9TZXRBdHRyU3RyaW5nKHJlc3VsdCwgImFzbmFtZSIsIHZhbHVlKSA9PSAtMSkKKyAgICAgICAgaWYgKF9QeU9iamVjdF9TZXRBdHRySWQocmVzdWx0LCAmUHlJZF9hc25hbWUsIHZhbHVlKSA9PSAtMSkKKyAgICAgICAgICAgICAgICBnb3RvIGZhaWxlZDsKKyAgICAgICAgUHlfREVDUkVGKHZhbHVlKTsKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKK2ZhaWxlZDoKKyAgICAgICAgUHlfWERFQ1JFRih2YWx1ZSk7CisgICAgICAgIFB5X1hERUNSRUYocmVzdWx0KTsKKyAgICAgICAgcmV0dXJuIE5VTEw7Cit9CisKK1B5T2JqZWN0KgorYXN0Mm9ial93aXRoaXRlbSh2b2lkKiBfbykKK3sKKyAgICAgICAgd2l0aGl0ZW1fdHkgbyA9ICh3aXRoaXRlbV90eSlfbzsKKyAgICAgICAgUHlPYmplY3QgKnJlc3VsdCA9IE5VTEwsICp2YWx1ZSA9IE5VTEw7CisgICAgICAgIGlmICghbykgeworICAgICAgICAgICAgICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gUHlfTm9uZTsKKyAgICAgICAgfQorCisgICAgICAgIHJlc3VsdCA9IFB5VHlwZV9HZW5lcmljTmV3KHdpdGhpdGVtX3R5cGUsIE5VTEwsIE5VTEwpOworICAgICAgICBpZiAoIXJlc3VsdCkgcmV0dXJuIE5VTEw7CisgICAgICAgIHZhbHVlID0gYXN0Mm9ial9leHByKG8tPmNvbnRleHRfZXhwcik7CisgICAgICAgIGlmICghdmFsdWUpIGdvdG8gZmFpbGVkOworICAgICAgICBpZiAoX1B5T2JqZWN0X1NldEF0dHJJZChyZXN1bHQsICZQeUlkX2NvbnRleHRfZXhwciwgdmFsdWUpID09IC0xKQorICAgICAgICAgICAgICAgIGdvdG8gZmFpbGVkOworICAgICAgICBQeV9ERUNSRUYodmFsdWUpOworICAgICAgICB2YWx1ZSA9IGFzdDJvYmpfZXhwcihvLT5vcHRpb25hbF92YXJzKTsKKyAgICAgICAgaWYgKCF2YWx1ZSkgZ290byBmYWlsZWQ7CisgICAgICAgIGlmIChfUHlPYmplY3RfU2V0QXR0cklkKHJlc3VsdCwgJlB5SWRfb3B0aW9uYWxfdmFycywgdmFsdWUpID09IC0xKQogICAgICAgICAgICAgICAgIGdvdG8gZmFpbGVkOwogICAgICAgICBQeV9ERUNSRUYodmFsdWUpOwogICAgICAgICByZXR1cm4gcmVzdWx0OwpAQCAtMzQwMCwxMSArMzUyNCwxMSBAQAogICAgICAgICBpZiAoaXNpbnN0YW5jZSkgewogICAgICAgICAgICAgICAgIGFzZGxfc2VxKiBib2R5OwogCi0gICAgICAgICAgICAgICAgaWYgKFB5T2JqZWN0X0hhc0F0dHJTdHJpbmcob2JqLCAiYm9keSIpKSB7CisgICAgICAgICAgICAgICAgaWYgKF9QeU9iamVjdF9IYXNBdHRySWQob2JqLCAmUHlJZF9ib2R5KSkgewogICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlczsKICAgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3QgbGVuOwogICAgICAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBpOwotICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyhvYmosICJib2R5Iik7CisgICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBfUHlPYmplY3RfR2V0QXR0cklkKG9iaiwgJlB5SWRfYm9keSk7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodG1wID09IE5VTEwpIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFQeUxpc3RfQ2hlY2sodG1wKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLCAiTW9kdWxlIGZpZWxkIFwiYm9keVwiIG11c3QgYmUgYSBsaXN0LCBub3QgYSAlLjIwMHMiLCB0bXAtPm9iX3R5cGUtPnRwX25hbWUpOwpAQCAtMzQzNiwxMSArMzU2MCwxMSBAQAogICAgICAgICBpZiAoaXNpbnN0YW5jZSkgewogICAgICAgICAgICAgICAgIGFzZGxfc2VxKiBib2R5OwogCi0gICAgICAgICAgICAgICAgaWYgKFB5T2JqZWN0X0hhc0F0dHJTdHJpbmcob2JqLCAiYm9keSIpKSB7CisgICAgICAgICAgICAgICAgaWYgKF9QeU9iamVjdF9IYXNBdHRySWQob2JqLCAmUHlJZF9ib2R5KSkgewogICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlczsKICAgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3QgbGVuOwogICAgICAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBpOwotICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyhvYmosICJib2R5Iik7CisgICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBfUHlPYmplY3RfR2V0QXR0cklkKG9iaiwgJlB5SWRfYm9keSk7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodG1wID09IE5VTEwpIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFQeUxpc3RfQ2hlY2sodG1wKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLCAiSW50ZXJhY3RpdmUgZmllbGQgXCJib2R5XCIgbXVzdCBiZSBhIGxpc3QsIG5vdCBhICUuMjAwcyIsIHRtcC0+b2JfdHlwZS0+dHBfbmFtZSk7CkBAIC0zNDcyLDkgKzM1OTYsOSBAQAogICAgICAgICBpZiAoaXNpbnN0YW5jZSkgewogICAgICAgICAgICAgICAgIGV4cHJfdHkgYm9keTsKIAotICAgICAgICAgICAgICAgIGlmIChQeU9iamVjdF9IYXNBdHRyU3RyaW5nKG9iaiwgImJvZHkiKSkgeworICAgICAgICAgICAgICAgIGlmIChfUHlPYmplY3RfSGFzQXR0cklkKG9iaiwgJlB5SWRfYm9keSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZXM7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKG9iaiwgImJvZHkiKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRtcCA9IF9QeU9iamVjdF9HZXRBdHRySWQob2JqLCAmUHlJZF9ib2R5KTsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0bXAgPT0gTlVMTCkgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgICAgICAgICByZXMgPSBvYmoyYXN0X2V4cHIodG1wLCAmYm9keSwgYXJlbmEpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlcyAhPSAwKSBnb3RvIGZhaWxlZDsKQEAgLTM0OTUsMTEgKzM2MTksMTEgQEAKICAgICAgICAgaWYgKGlzaW5zdGFuY2UpIHsKICAgICAgICAgICAgICAgICBhc2RsX3NlcSogYm9keTsKIAotICAgICAgICAgICAgICAgIGlmIChQeU9iamVjdF9IYXNBdHRyU3RyaW5nKG9iaiwgImJvZHkiKSkgeworICAgICAgICAgICAgICAgIGlmIChfUHlPYmplY3RfSGFzQXR0cklkKG9iaiwgJlB5SWRfYm9keSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZXM7CiAgICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IGxlbjsKICAgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3QgaTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHRtcCA9IFB5T2JqZWN0X0dldEF0dHJTdHJpbmcob2JqLCAiYm9keSIpOworICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gX1B5T2JqZWN0X0dldEF0dHJJZChvYmosICZQeUlkX2JvZHkpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRtcCA9PSBOVUxMKSBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghUHlMaXN0X0NoZWNrKHRtcCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1R5cGVFcnJvciwgIlN1aXRlIGZpZWxkIFwiYm9keVwiIG11c3QgYmUgYSBsaXN0LCBub3QgYSAlLjIwMHMiLCB0bXAtPm9iX3R5cGUtPnRwX25hbWUpOwpAQCAtMzU0NCw5ICszNjY4LDkgQEAKICAgICAgICAgICAgICAgICAqb3V0ID0gTlVMTDsKICAgICAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgfQotICAgICAgICBpZiAoUHlPYmplY3RfSGFzQXR0clN0cmluZyhvYmosICJsaW5lbm8iKSkgeworICAgICAgICBpZiAoX1B5T2JqZWN0X0hhc0F0dHJJZChvYmosICZQeUlkX2xpbmVubykpIHsKICAgICAgICAgICAgICAgICBpbnQgcmVzOwotICAgICAgICAgICAgICAgIHRtcCA9IFB5T2JqZWN0X0dldEF0dHJTdHJpbmcob2JqLCAibGluZW5vIik7CisgICAgICAgICAgICAgICAgdG1wID0gX1B5T2JqZWN0X0dldEF0dHJJZChvYmosICZQeUlkX2xpbmVubyk7CiAgICAgICAgICAgICAgICAgaWYgKHRtcCA9PSBOVUxMKSBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICByZXMgPSBvYmoyYXN0X2ludCh0bXAsICZsaW5lbm8sIGFyZW5hKTsKICAgICAgICAgICAgICAgICBpZiAocmVzICE9IDApIGdvdG8gZmFpbGVkOwpAQCAtMzU1Niw5ICszNjgwLDkgQEAKICAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCAicmVxdWlyZWQgZmllbGQgXCJsaW5lbm9cIiBtaXNzaW5nIGZyb20gc3RtdCIpOwogICAgICAgICAgICAgICAgIHJldHVybiAxOwogICAgICAgICB9Ci0gICAgICAgIGlmIChQeU9iamVjdF9IYXNBdHRyU3RyaW5nKG9iaiwgImNvbF9vZmZzZXQiKSkgeworICAgICAgICBpZiAoX1B5T2JqZWN0X0hhc0F0dHJJZChvYmosICZQeUlkX2NvbF9vZmZzZXQpKSB7CiAgICAgICAgICAgICAgICAgaW50IHJlczsKLSAgICAgICAgICAgICAgICB0bXAgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKG9iaiwgImNvbF9vZmZzZXQiKTsKKyAgICAgICAgICAgICAgICB0bXAgPSBfUHlPYmplY3RfR2V0QXR0cklkKG9iaiwgJlB5SWRfY29sX29mZnNldCk7CiAgICAgICAgICAgICAgICAgaWYgKHRtcCA9PSBOVUxMKSBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICByZXMgPSBvYmoyYXN0X2ludCh0bXAsICZjb2xfb2Zmc2V0LCBhcmVuYSk7CiAgICAgICAgICAgICAgICAgaWYgKHJlcyAhPSAwKSBnb3RvIGZhaWxlZDsKQEAgLTM1NzksOSArMzcwMyw5IEBACiAgICAgICAgICAgICAgICAgYXNkbF9zZXEqIGRlY29yYXRvcl9saXN0OwogICAgICAgICAgICAgICAgIGV4cHJfdHkgcmV0dXJuczsKIAotICAgICAgICAgICAgICAgIGlmIChQeU9iamVjdF9IYXNBdHRyU3RyaW5nKG9iaiwgIm5hbWUiKSkgeworICAgICAgICAgICAgICAgIGlmIChfUHlPYmplY3RfSGFzQXR0cklkKG9iaiwgJlB5SWRfbmFtZSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZXM7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKG9iaiwgIm5hbWUiKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRtcCA9IF9QeU9iamVjdF9HZXRBdHRySWQob2JqLCAmUHlJZF9uYW1lKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0bXAgPT0gTlVMTCkgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgICAgICAgICByZXMgPSBvYmoyYXN0X2lkZW50aWZpZXIodG1wLCAmbmFtZSwgYXJlbmEpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlcyAhPSAwKSBnb3RvIGZhaWxlZDsKQEAgLTM1OTEsOSArMzcxNSw5IEBACiAgICAgICAgICAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCAicmVxdWlyZWQgZmllbGQgXCJuYW1lXCIgbWlzc2luZyBmcm9tIEZ1bmN0aW9uRGVmIik7CiAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgaWYgKFB5T2JqZWN0X0hhc0F0dHJTdHJpbmcob2JqLCAiYXJncyIpKSB7CisgICAgICAgICAgICAgICAgaWYgKF9QeU9iamVjdF9IYXNBdHRySWQob2JqLCAmUHlJZF9hcmdzKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlczsKLSAgICAgICAgICAgICAgICAgICAgICAgIHRtcCA9IFB5T2JqZWN0X0dldEF0dHJTdHJpbmcob2JqLCAiYXJncyIpOworICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gX1B5T2JqZWN0X0dldEF0dHJJZChvYmosICZQeUlkX2FyZ3MpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRtcCA9PSBOVUxMKSBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICAgICAgICAgIHJlcyA9IG9iajJhc3RfYXJndW1lbnRzKHRtcCwgJmFyZ3MsIGFyZW5hKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXMgIT0gMCkgZ290byBmYWlsZWQ7CkBAIC0zNjAzLDExICszNzI3LDExIEBACiAgICAgICAgICAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCAicmVxdWlyZWQgZmllbGQgXCJhcmdzXCIgbWlzc2luZyBmcm9tIEZ1bmN0aW9uRGVmIik7CiAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgaWYgKFB5T2JqZWN0X0hhc0F0dHJTdHJpbmcob2JqLCAiYm9keSIpKSB7CisgICAgICAgICAgICAgICAgaWYgKF9QeU9iamVjdF9IYXNBdHRySWQob2JqLCAmUHlJZF9ib2R5KSkgewogICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlczsKICAgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3QgbGVuOwogICAgICAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBpOwotICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyhvYmosICJib2R5Iik7CisgICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBfUHlPYmplY3RfR2V0QXR0cklkKG9iaiwgJlB5SWRfYm9keSk7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodG1wID09IE5VTEwpIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFQeUxpc3RfQ2hlY2sodG1wKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLCAiRnVuY3Rpb25EZWYgZmllbGQgXCJib2R5XCIgbXVzdCBiZSBhIGxpc3QsIG5vdCBhICUuMjAwcyIsIHRtcC0+b2JfdHlwZS0+dHBfbmFtZSk7CkBAIC0zNjI4LDExICszNzUyLDExIEBACiAgICAgICAgICAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCAicmVxdWlyZWQgZmllbGQgXCJib2R5XCIgbWlzc2luZyBmcm9tIEZ1bmN0aW9uRGVmIik7CiAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgaWYgKFB5T2JqZWN0X0hhc0F0dHJTdHJpbmcob2JqLCAiZGVjb3JhdG9yX2xpc3QiKSkgeworICAgICAgICAgICAgICAgIGlmIChfUHlPYmplY3RfSGFzQXR0cklkKG9iaiwgJlB5SWRfZGVjb3JhdG9yX2xpc3QpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVzOwogICAgICAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBsZW47CiAgICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IGk7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKG9iaiwgImRlY29yYXRvcl9saXN0Iik7CisgICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBfUHlPYmplY3RfR2V0QXR0cklkKG9iaiwgJlB5SWRfZGVjb3JhdG9yX2xpc3QpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRtcCA9PSBOVUxMKSBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghUHlMaXN0X0NoZWNrKHRtcCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1R5cGVFcnJvciwgIkZ1bmN0aW9uRGVmIGZpZWxkIFwiZGVjb3JhdG9yX2xpc3RcIiBtdXN0IGJlIGEgbGlzdCwgbm90IGEgJS4yMDBzIiwgdG1wLT5vYl90eXBlLT50cF9uYW1lKTsKQEAgLTM2NTMsOSArMzc3Nyw5IEBACiAgICAgICAgICAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCAicmVxdWlyZWQgZmllbGQgXCJkZWNvcmF0b3JfbGlzdFwiIG1pc3NpbmcgZnJvbSBGdW5jdGlvbkRlZiIpOwogICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGlmIChQeU9iamVjdF9IYXNBdHRyU3RyaW5nKG9iaiwgInJldHVybnMiKSkgeworICAgICAgICAgICAgICAgIGlmIChfUHlPYmplY3RfSGFzQXR0cklkKG9iaiwgJlB5SWRfcmV0dXJucykpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZXM7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKG9iaiwgInJldHVybnMiKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRtcCA9IF9QeU9iamVjdF9HZXRBdHRySWQob2JqLCAmUHlJZF9yZXR1cm5zKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0bXAgPT0gTlVMTCkgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgICAgICAgICByZXMgPSBvYmoyYXN0X2V4cHIodG1wLCAmcmV0dXJucywgYXJlbmEpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlcyAhPSAwKSBnb3RvIGZhaWxlZDsKQEAgLTM2ODIsOSArMzgwNiw5IEBACiAgICAgICAgICAgICAgICAgYXNkbF9zZXEqIGJvZHk7CiAgICAgICAgICAgICAgICAgYXNkbF9zZXEqIGRlY29yYXRvcl9saXN0OwogCi0gICAgICAgICAgICAgICAgaWYgKFB5T2JqZWN0X0hhc0F0dHJTdHJpbmcob2JqLCAibmFtZSIpKSB7CisgICAgICAgICAgICAgICAgaWYgKF9QeU9iamVjdF9IYXNBdHRySWQob2JqLCAmUHlJZF9uYW1lKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlczsKLSAgICAgICAgICAgICAgICAgICAgICAgIHRtcCA9IFB5T2JqZWN0X0dldEF0dHJTdHJpbmcob2JqLCAibmFtZSIpOworICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gX1B5T2JqZWN0X0dldEF0dHJJZChvYmosICZQeUlkX25hbWUpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRtcCA9PSBOVUxMKSBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICAgICAgICAgIHJlcyA9IG9iajJhc3RfaWRlbnRpZmllcih0bXAsICZuYW1lLCBhcmVuYSk7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVzICE9IDApIGdvdG8gZmFpbGVkOwpAQCAtMzY5NCwxMSArMzgxOCwxMSBAQAogICAgICAgICAgICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgInJlcXVpcmVkIGZpZWxkIFwibmFtZVwiIG1pc3NpbmcgZnJvbSBDbGFzc0RlZiIpOwogICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGlmIChQeU9iamVjdF9IYXNBdHRyU3RyaW5nKG9iaiwgImJhc2VzIikpIHsKKyAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X0hhc0F0dHJJZChvYmosICZQeUlkX2Jhc2VzKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlczsKICAgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3QgbGVuOwogICAgICAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBpOwotICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyhvYmosICJiYXNlcyIpOworICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gX1B5T2JqZWN0X0dldEF0dHJJZChvYmosICZQeUlkX2Jhc2VzKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0bXAgPT0gTlVMTCkgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIVB5TGlzdF9DaGVjayh0bXApKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsICJDbGFzc0RlZiBmaWVsZCBcImJhc2VzXCIgbXVzdCBiZSBhIGxpc3QsIG5vdCBhICUuMjAwcyIsIHRtcC0+b2JfdHlwZS0+dHBfbmFtZSk7CkBAIC0zNzE5LDExICszODQzLDExIEBACiAgICAgICAgICAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCAicmVxdWlyZWQgZmllbGQgXCJiYXNlc1wiIG1pc3NpbmcgZnJvbSBDbGFzc0RlZiIpOwogICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGlmIChQeU9iamVjdF9IYXNBdHRyU3RyaW5nKG9iaiwgImtleXdvcmRzIikpIHsKKyAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X0hhc0F0dHJJZChvYmosICZQeUlkX2tleXdvcmRzKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlczsKICAgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3QgbGVuOwogICAgICAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBpOwotICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyhvYmosICJrZXl3b3JkcyIpOworICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gX1B5T2JqZWN0X0dldEF0dHJJZChvYmosICZQeUlkX2tleXdvcmRzKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0bXAgPT0gTlVMTCkgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIVB5TGlzdF9DaGVjayh0bXApKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsICJDbGFzc0RlZiBmaWVsZCBcImtleXdvcmRzXCIgbXVzdCBiZSBhIGxpc3QsIG5vdCBhICUuMjAwcyIsIHRtcC0+b2JfdHlwZS0+dHBfbmFtZSk7CkBAIC0zNzQ0LDkgKzM4NjgsOSBAQAogICAgICAgICAgICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgInJlcXVpcmVkIGZpZWxkIFwia2V5d29yZHNcIiBtaXNzaW5nIGZyb20gQ2xhc3NEZWYiKTsKICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAxOwogICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBpZiAoUHlPYmplY3RfSGFzQXR0clN0cmluZyhvYmosICJzdGFyYXJncyIpKSB7CisgICAgICAgICAgICAgICAgaWYgKF9QeU9iamVjdF9IYXNBdHRySWQob2JqLCAmUHlJZF9zdGFyYXJncykpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZXM7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKG9iaiwgInN0YXJhcmdzIik7CisgICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBfUHlPYmplY3RfR2V0QXR0cklkKG9iaiwgJlB5SWRfc3RhcmFyZ3MpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRtcCA9PSBOVUxMKSBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICAgICAgICAgIHJlcyA9IG9iajJhc3RfZXhwcih0bXAsICZzdGFyYXJncywgYXJlbmEpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlcyAhPSAwKSBnb3RvIGZhaWxlZDsKQEAgLTM3NTUsOSArMzg3OSw5IEBACiAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJhcmdzID0gTlVMTDsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgaWYgKFB5T2JqZWN0X0hhc0F0dHJTdHJpbmcob2JqLCAia3dhcmdzIikpIHsKKyAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X0hhc0F0dHJJZChvYmosICZQeUlkX2t3YXJncykpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZXM7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKG9iaiwgImt3YXJncyIpOworICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gX1B5T2JqZWN0X0dldEF0dHJJZChvYmosICZQeUlkX2t3YXJncyk7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodG1wID09IE5VTEwpIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgICAgICAgICAgcmVzID0gb2JqMmFzdF9leHByKHRtcCwgJmt3YXJncywgYXJlbmEpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlcyAhPSAwKSBnb3RvIGZhaWxlZDsKQEAgLTM3NjYsMTEgKzM4OTAsMTEgQEAKICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAga3dhcmdzID0gTlVMTDsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgaWYgKFB5T2JqZWN0X0hhc0F0dHJTdHJpbmcob2JqLCAiYm9keSIpKSB7CisgICAgICAgICAgICAgICAgaWYgKF9QeU9iamVjdF9IYXNBdHRySWQob2JqLCAmUHlJZF9ib2R5KSkgewogICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlczsKICAgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3QgbGVuOwogICAgICAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBpOwotICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyhvYmosICJib2R5Iik7CisgICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBfUHlPYmplY3RfR2V0QXR0cklkKG9iaiwgJlB5SWRfYm9keSk7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodG1wID09IE5VTEwpIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFQeUxpc3RfQ2hlY2sodG1wKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLCAiQ2xhc3NEZWYgZmllbGQgXCJib2R5XCIgbXVzdCBiZSBhIGxpc3QsIG5vdCBhICUuMjAwcyIsIHRtcC0+b2JfdHlwZS0+dHBfbmFtZSk7CkBAIC0zNzkxLDExICszOTE1LDExIEBACiAgICAgICAgICAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCAicmVxdWlyZWQgZmllbGQgXCJib2R5XCIgbWlzc2luZyBmcm9tIENsYXNzRGVmIik7CiAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgaWYgKFB5T2JqZWN0X0hhc0F0dHJTdHJpbmcob2JqLCAiZGVjb3JhdG9yX2xpc3QiKSkgeworICAgICAgICAgICAgICAgIGlmIChfUHlPYmplY3RfSGFzQXR0cklkKG9iaiwgJlB5SWRfZGVjb3JhdG9yX2xpc3QpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVzOwogICAgICAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBsZW47CiAgICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IGk7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKG9iaiwgImRlY29yYXRvcl9saXN0Iik7CisgICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBfUHlPYmplY3RfR2V0QXR0cklkKG9iaiwgJlB5SWRfZGVjb3JhdG9yX2xpc3QpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRtcCA9PSBOVUxMKSBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghUHlMaXN0X0NoZWNrKHRtcCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1R5cGVFcnJvciwgIkNsYXNzRGVmIGZpZWxkIFwiZGVjb3JhdG9yX2xpc3RcIiBtdXN0IGJlIGEgbGlzdCwgbm90IGEgJS4yMDBzIiwgdG1wLT5vYl90eXBlLT50cF9uYW1lKTsKQEAgLTM4MjgsOSArMzk1Miw5IEBACiAgICAgICAgIGlmIChpc2luc3RhbmNlKSB7CiAgICAgICAgICAgICAgICAgZXhwcl90eSB2YWx1ZTsKIAotICAgICAgICAgICAgICAgIGlmIChQeU9iamVjdF9IYXNBdHRyU3RyaW5nKG9iaiwgInZhbHVlIikpIHsKKyAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X0hhc0F0dHJJZChvYmosICZQeUlkX3ZhbHVlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlczsKLSAgICAgICAgICAgICAgICAgICAgICAgIHRtcCA9IFB5T2JqZWN0X0dldEF0dHJTdHJpbmcob2JqLCAidmFsdWUiKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRtcCA9IF9QeU9iamVjdF9HZXRBdHRySWQob2JqLCAmUHlJZF92YWx1ZSk7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodG1wID09IE5VTEwpIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgICAgICAgICAgcmVzID0gb2JqMmFzdF9leHByKHRtcCwgJnZhbHVlLCBhcmVuYSk7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVzICE9IDApIGdvdG8gZmFpbGVkOwpAQCAtMzg1MCwxMSArMzk3NCwxMSBAQAogICAgICAgICBpZiAoaXNpbnN0YW5jZSkgewogICAgICAgICAgICAgICAgIGFzZGxfc2VxKiB0YXJnZXRzOwogCi0gICAgICAgICAgICAgICAgaWYgKFB5T2JqZWN0X0hhc0F0dHJTdHJpbmcob2JqLCAidGFyZ2V0cyIpKSB7CisgICAgICAgICAgICAgICAgaWYgKF9QeU9iamVjdF9IYXNBdHRySWQob2JqLCAmUHlJZF90YXJnZXRzKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlczsKICAgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3QgbGVuOwogICAgICAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBpOwotICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyhvYmosICJ0YXJnZXRzIik7CisgICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBfUHlPYmplY3RfR2V0QXR0cklkKG9iaiwgJlB5SWRfdGFyZ2V0cyk7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodG1wID09IE5VTEwpIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFQeUxpc3RfQ2hlY2sodG1wKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLCAiRGVsZXRlIGZpZWxkIFwidGFyZ2V0c1wiIG11c3QgYmUgYSBsaXN0LCBub3QgYSAlLjIwMHMiLCB0bXAtPm9iX3R5cGUtPnRwX25hbWUpOwpAQCAtMzg4NywxMSArNDAxMSwxMSBAQAogICAgICAgICAgICAgICAgIGFzZGxfc2VxKiB0YXJnZXRzOwogICAgICAgICAgICAgICAgIGV4cHJfdHkgdmFsdWU7CiAKLSAgICAgICAgICAgICAgICBpZiAoUHlPYmplY3RfSGFzQXR0clN0cmluZyhvYmosICJ0YXJnZXRzIikpIHsKKyAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X0hhc0F0dHJJZChvYmosICZQeUlkX3RhcmdldHMpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVzOwogICAgICAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBsZW47CiAgICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IGk7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKG9iaiwgInRhcmdldHMiKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRtcCA9IF9QeU9iamVjdF9HZXRBdHRySWQob2JqLCAmUHlJZF90YXJnZXRzKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0bXAgPT0gTlVMTCkgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIVB5TGlzdF9DaGVjayh0bXApKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsICJBc3NpZ24gZmllbGQgXCJ0YXJnZXRzXCIgbXVzdCBiZSBhIGxpc3QsIG5vdCBhICUuMjAwcyIsIHRtcC0+b2JfdHlwZS0+dHBfbmFtZSk7CkBAIC0zOTEyLDkgKzQwMzYsOSBAQAogICAgICAgICAgICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgInJlcXVpcmVkIGZpZWxkIFwidGFyZ2V0c1wiIG1pc3NpbmcgZnJvbSBBc3NpZ24iKTsKICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAxOwogICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBpZiAoUHlPYmplY3RfSGFzQXR0clN0cmluZyhvYmosICJ2YWx1ZSIpKSB7CisgICAgICAgICAgICAgICAgaWYgKF9QeU9iamVjdF9IYXNBdHRySWQob2JqLCAmUHlJZF92YWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZXM7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKG9iaiwgInZhbHVlIik7CisgICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBfUHlPYmplY3RfR2V0QXR0cklkKG9iaiwgJlB5SWRfdmFsdWUpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRtcCA9PSBOVUxMKSBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICAgICAgICAgIHJlcyA9IG9iajJhc3RfZXhwcih0bXAsICZ2YWx1ZSwgYXJlbmEpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlcyAhPSAwKSBnb3RvIGZhaWxlZDsKQEAgLTM5MzcsOSArNDA2MSw5IEBACiAgICAgICAgICAgICAgICAgb3BlcmF0b3JfdHkgb3A7CiAgICAgICAgICAgICAgICAgZXhwcl90eSB2YWx1ZTsKIAotICAgICAgICAgICAgICAgIGlmIChQeU9iamVjdF9IYXNBdHRyU3RyaW5nKG9iaiwgInRhcmdldCIpKSB7CisgICAgICAgICAgICAgICAgaWYgKF9QeU9iamVjdF9IYXNBdHRySWQob2JqLCAmUHlJZF90YXJnZXQpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVzOwotICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyhvYmosICJ0YXJnZXQiKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRtcCA9IF9QeU9iamVjdF9HZXRBdHRySWQob2JqLCAmUHlJZF90YXJnZXQpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRtcCA9PSBOVUxMKSBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICAgICAgICAgIHJlcyA9IG9iajJhc3RfZXhwcih0bXAsICZ0YXJnZXQsIGFyZW5hKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXMgIT0gMCkgZ290byBmYWlsZWQ7CkBAIC0zOTQ5LDkgKzQwNzMsOSBAQAogICAgICAgICAgICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgInJlcXVpcmVkIGZpZWxkIFwidGFyZ2V0XCIgbWlzc2luZyBmcm9tIEF1Z0Fzc2lnbiIpOwogICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGlmIChQeU9iamVjdF9IYXNBdHRyU3RyaW5nKG9iaiwgIm9wIikpIHsKKyAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X0hhc0F0dHJJZChvYmosICZQeUlkX29wKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlczsKLSAgICAgICAgICAgICAgICAgICAgICAgIHRtcCA9IFB5T2JqZWN0X0dldEF0dHJTdHJpbmcob2JqLCAib3AiKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRtcCA9IF9QeU9iamVjdF9HZXRBdHRySWQob2JqLCAmUHlJZF9vcCk7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodG1wID09IE5VTEwpIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgICAgICAgICAgcmVzID0gb2JqMmFzdF9vcGVyYXRvcih0bXAsICZvcCwgYXJlbmEpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlcyAhPSAwKSBnb3RvIGZhaWxlZDsKQEAgLTM5NjEsOSArNDA4NSw5IEBACiAgICAgICAgICAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCAicmVxdWlyZWQgZmllbGQgXCJvcFwiIG1pc3NpbmcgZnJvbSBBdWdBc3NpZ24iKTsKICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAxOwogICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBpZiAoUHlPYmplY3RfSGFzQXR0clN0cmluZyhvYmosICJ2YWx1ZSIpKSB7CisgICAgICAgICAgICAgICAgaWYgKF9QeU9iamVjdF9IYXNBdHRySWQob2JqLCAmUHlJZF92YWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZXM7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKG9iaiwgInZhbHVlIik7CisgICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBfUHlPYmplY3RfR2V0QXR0cklkKG9iaiwgJlB5SWRfdmFsdWUpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRtcCA9PSBOVUxMKSBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICAgICAgICAgIHJlcyA9IG9iajJhc3RfZXhwcih0bXAsICZ2YWx1ZSwgYXJlbmEpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlcyAhPSAwKSBnb3RvIGZhaWxlZDsKQEAgLTM5ODcsOSArNDExMSw5IEBACiAgICAgICAgICAgICAgICAgYXNkbF9zZXEqIGJvZHk7CiAgICAgICAgICAgICAgICAgYXNkbF9zZXEqIG9yZWxzZTsKIAotICAgICAgICAgICAgICAgIGlmIChQeU9iamVjdF9IYXNBdHRyU3RyaW5nKG9iaiwgInRhcmdldCIpKSB7CisgICAgICAgICAgICAgICAgaWYgKF9QeU9iamVjdF9IYXNBdHRySWQob2JqLCAmUHlJZF90YXJnZXQpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVzOwotICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyhvYmosICJ0YXJnZXQiKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRtcCA9IF9QeU9iamVjdF9HZXRBdHRySWQob2JqLCAmUHlJZF90YXJnZXQpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRtcCA9PSBOVUxMKSBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICAgICAgICAgIHJlcyA9IG9iajJhc3RfZXhwcih0bXAsICZ0YXJnZXQsIGFyZW5hKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXMgIT0gMCkgZ290byBmYWlsZWQ7CkBAIC0zOTk5LDkgKzQxMjMsOSBAQAogICAgICAgICAgICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgInJlcXVpcmVkIGZpZWxkIFwidGFyZ2V0XCIgbWlzc2luZyBmcm9tIEZvciIpOwogICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGlmIChQeU9iamVjdF9IYXNBdHRyU3RyaW5nKG9iaiwgIml0ZXIiKSkgeworICAgICAgICAgICAgICAgIGlmIChfUHlPYmplY3RfSGFzQXR0cklkKG9iaiwgJlB5SWRfaXRlcikpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZXM7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKG9iaiwgIml0ZXIiKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRtcCA9IF9QeU9iamVjdF9HZXRBdHRySWQob2JqLCAmUHlJZF9pdGVyKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0bXAgPT0gTlVMTCkgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgICAgICAgICByZXMgPSBvYmoyYXN0X2V4cHIodG1wLCAmaXRlciwgYXJlbmEpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlcyAhPSAwKSBnb3RvIGZhaWxlZDsKQEAgLTQwMTEsMTEgKzQxMzUsMTEgQEAKICAgICAgICAgICAgICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsICJyZXF1aXJlZCBmaWVsZCBcIml0ZXJcIiBtaXNzaW5nIGZyb20gRm9yIik7CiAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgaWYgKFB5T2JqZWN0X0hhc0F0dHJTdHJpbmcob2JqLCAiYm9keSIpKSB7CisgICAgICAgICAgICAgICAgaWYgKF9QeU9iamVjdF9IYXNBdHRySWQob2JqLCAmUHlJZF9ib2R5KSkgewogICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlczsKICAgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3QgbGVuOwogICAgICAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBpOwotICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyhvYmosICJib2R5Iik7CisgICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBfUHlPYmplY3RfR2V0QXR0cklkKG9iaiwgJlB5SWRfYm9keSk7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodG1wID09IE5VTEwpIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFQeUxpc3RfQ2hlY2sodG1wKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLCAiRm9yIGZpZWxkIFwiYm9keVwiIG11c3QgYmUgYSBsaXN0LCBub3QgYSAlLjIwMHMiLCB0bXAtPm9iX3R5cGUtPnRwX25hbWUpOwpAQCAtNDAzNiwxMSArNDE2MCwxMSBAQAogICAgICAgICAgICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgInJlcXVpcmVkIGZpZWxkIFwiYm9keVwiIG1pc3NpbmcgZnJvbSBGb3IiKTsKICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAxOwogICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBpZiAoUHlPYmplY3RfSGFzQXR0clN0cmluZyhvYmosICJvcmVsc2UiKSkgeworICAgICAgICAgICAgICAgIGlmIChfUHlPYmplY3RfSGFzQXR0cklkKG9iaiwgJlB5SWRfb3JlbHNlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlczsKICAgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3QgbGVuOwogICAgICAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBpOwotICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyhvYmosICJvcmVsc2UiKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRtcCA9IF9QeU9iamVjdF9HZXRBdHRySWQob2JqLCAmUHlJZF9vcmVsc2UpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRtcCA9PSBOVUxMKSBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghUHlMaXN0X0NoZWNrKHRtcCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1R5cGVFcnJvciwgIkZvciBmaWVsZCBcIm9yZWxzZVwiIG11c3QgYmUgYSBsaXN0LCBub3QgYSAlLjIwMHMiLCB0bXAtPm9iX3R5cGUtPnRwX25hbWUpOwpAQCAtNDA3NSw5ICs0MTk5LDkgQEAKICAgICAgICAgICAgICAgICBhc2RsX3NlcSogYm9keTsKICAgICAgICAgICAgICAgICBhc2RsX3NlcSogb3JlbHNlOwogCi0gICAgICAgICAgICAgICAgaWYgKFB5T2JqZWN0X0hhc0F0dHJTdHJpbmcob2JqLCAidGVzdCIpKSB7CisgICAgICAgICAgICAgICAgaWYgKF9QeU9iamVjdF9IYXNBdHRySWQob2JqLCAmUHlJZF90ZXN0KSkgewogICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlczsKLSAgICAgICAgICAgICAgICAgICAgICAgIHRtcCA9IFB5T2JqZWN0X0dldEF0dHJTdHJpbmcob2JqLCAidGVzdCIpOworICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gX1B5T2JqZWN0X0dldEF0dHJJZChvYmosICZQeUlkX3Rlc3QpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRtcCA9PSBOVUxMKSBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICAgICAgICAgIHJlcyA9IG9iajJhc3RfZXhwcih0bXAsICZ0ZXN0LCBhcmVuYSk7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVzICE9IDApIGdvdG8gZmFpbGVkOwpAQCAtNDA4NywxMSArNDIxMSwxMSBAQAogICAgICAgICAgICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgInJlcXVpcmVkIGZpZWxkIFwidGVzdFwiIG1pc3NpbmcgZnJvbSBXaGlsZSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGlmIChQeU9iamVjdF9IYXNBdHRyU3RyaW5nKG9iaiwgImJvZHkiKSkgeworICAgICAgICAgICAgICAgIGlmIChfUHlPYmplY3RfSGFzQXR0cklkKG9iaiwgJlB5SWRfYm9keSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZXM7CiAgICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IGxlbjsKICAgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3QgaTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHRtcCA9IFB5T2JqZWN0X0dldEF0dHJTdHJpbmcob2JqLCAiYm9keSIpOworICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gX1B5T2JqZWN0X0dldEF0dHJJZChvYmosICZQeUlkX2JvZHkpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRtcCA9PSBOVUxMKSBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghUHlMaXN0X0NoZWNrKHRtcCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1R5cGVFcnJvciwgIldoaWxlIGZpZWxkIFwiYm9keVwiIG11c3QgYmUgYSBsaXN0LCBub3QgYSAlLjIwMHMiLCB0bXAtPm9iX3R5cGUtPnRwX25hbWUpOwpAQCAtNDExMiwxMSArNDIzNiwxMSBAQAogICAgICAgICAgICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgInJlcXVpcmVkIGZpZWxkIFwiYm9keVwiIG1pc3NpbmcgZnJvbSBXaGlsZSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGlmIChQeU9iamVjdF9IYXNBdHRyU3RyaW5nKG9iaiwgIm9yZWxzZSIpKSB7CisgICAgICAgICAgICAgICAgaWYgKF9QeU9iamVjdF9IYXNBdHRySWQob2JqLCAmUHlJZF9vcmVsc2UpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVzOwogICAgICAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBsZW47CiAgICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IGk7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKG9iaiwgIm9yZWxzZSIpOworICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gX1B5T2JqZWN0X0dldEF0dHJJZChvYmosICZQeUlkX29yZWxzZSk7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodG1wID09IE5VTEwpIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFQeUxpc3RfQ2hlY2sodG1wKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLCAiV2hpbGUgZmllbGQgXCJvcmVsc2VcIiBtdXN0IGJlIGEgbGlzdCwgbm90IGEgJS4yMDBzIiwgdG1wLT5vYl90eXBlLT50cF9uYW1lKTsKQEAgLTQxNTAsOSArNDI3NCw5IEBACiAgICAgICAgICAgICAgICAgYXNkbF9zZXEqIGJvZHk7CiAgICAgICAgICAgICAgICAgYXNkbF9zZXEqIG9yZWxzZTsKIAotICAgICAgICAgICAgICAgIGlmIChQeU9iamVjdF9IYXNBdHRyU3RyaW5nKG9iaiwgInRlc3QiKSkgeworICAgICAgICAgICAgICAgIGlmIChfUHlPYmplY3RfSGFzQXR0cklkKG9iaiwgJlB5SWRfdGVzdCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZXM7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKG9iaiwgInRlc3QiKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRtcCA9IF9QeU9iamVjdF9HZXRBdHRySWQob2JqLCAmUHlJZF90ZXN0KTsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0bXAgPT0gTlVMTCkgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgICAgICAgICByZXMgPSBvYmoyYXN0X2V4cHIodG1wLCAmdGVzdCwgYXJlbmEpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlcyAhPSAwKSBnb3RvIGZhaWxlZDsKQEAgLTQxNjIsMTEgKzQyODYsMTEgQEAKICAgICAgICAgICAgICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsICJyZXF1aXJlZCBmaWVsZCBcInRlc3RcIiBtaXNzaW5nIGZyb20gSWYiKTsKICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAxOwogICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBpZiAoUHlPYmplY3RfSGFzQXR0clN0cmluZyhvYmosICJib2R5IikpIHsKKyAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X0hhc0F0dHJJZChvYmosICZQeUlkX2JvZHkpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVzOwogICAgICAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBsZW47CiAgICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IGk7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKG9iaiwgImJvZHkiKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRtcCA9IF9QeU9iamVjdF9HZXRBdHRySWQob2JqLCAmUHlJZF9ib2R5KTsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0bXAgPT0gTlVMTCkgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIVB5TGlzdF9DaGVjayh0bXApKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsICJJZiBmaWVsZCBcImJvZHlcIiBtdXN0IGJlIGEgbGlzdCwgbm90IGEgJS4yMDBzIiwgdG1wLT5vYl90eXBlLT50cF9uYW1lKTsKQEAgLTQxODcsMTEgKzQzMTEsMTEgQEAKICAgICAgICAgICAgICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsICJyZXF1aXJlZCBmaWVsZCBcImJvZHlcIiBtaXNzaW5nIGZyb20gSWYiKTsKICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAxOwogICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBpZiAoUHlPYmplY3RfSGFzQXR0clN0cmluZyhvYmosICJvcmVsc2UiKSkgeworICAgICAgICAgICAgICAgIGlmIChfUHlPYmplY3RfSGFzQXR0cklkKG9iaiwgJlB5SWRfb3JlbHNlKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlczsKICAgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3QgbGVuOwogICAgICAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBpOwotICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyhvYmosICJvcmVsc2UiKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRtcCA9IF9QeU9iamVjdF9HZXRBdHRySWQob2JqLCAmUHlJZF9vcmVsc2UpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRtcCA9PSBOVUxMKSBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghUHlMaXN0X0NoZWNrKHRtcCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1R5cGVFcnJvciwgIklmIGZpZWxkIFwib3JlbHNlXCIgbXVzdCBiZSBhIGxpc3QsIG5vdCBhICUuMjAwcyIsIHRtcC0+b2JfdHlwZS0+dHBfbmFtZSk7CkBAIC00MjIxLDM4ICs0MzQ1LDM5IEBACiAgICAgICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgIH0KICAgICAgICAgaWYgKGlzaW5zdGFuY2UpIHsKLSAgICAgICAgICAgICAgICBleHByX3R5IGNvbnRleHRfZXhwcjsKLSAgICAgICAgICAgICAgICBleHByX3R5IG9wdGlvbmFsX3ZhcnM7CisgICAgICAgICAgICAgICAgYXNkbF9zZXEqIGl0ZW1zOwogICAgICAgICAgICAgICAgIGFzZGxfc2VxKiBib2R5OwogCi0gICAgICAgICAgICAgICAgaWYgKFB5T2JqZWN0X0hhc0F0dHJTdHJpbmcob2JqLCAiY29udGV4dF9leHByIikpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGludCByZXM7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKG9iaiwgImNvbnRleHRfZXhwciIpOwotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRtcCA9PSBOVUxMKSBnb3RvIGZhaWxlZDsKLSAgICAgICAgICAgICAgICAgICAgICAgIHJlcyA9IG9iajJhc3RfZXhwcih0bXAsICZjb250ZXh0X2V4cHIsIGFyZW5hKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXMgIT0gMCkgZ290byBmYWlsZWQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICBQeV9YREVDUkVGKHRtcCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBOVUxMOwotICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCAicmVxdWlyZWQgZmllbGQgXCJjb250ZXh0X2V4cHJcIiBtaXNzaW5nIGZyb20gV2l0aCIpOwotICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGlmIChQeU9iamVjdF9IYXNBdHRyU3RyaW5nKG9iaiwgIm9wdGlvbmFsX3ZhcnMiKSkgewotICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlczsKLSAgICAgICAgICAgICAgICAgICAgICAgIHRtcCA9IFB5T2JqZWN0X0dldEF0dHJTdHJpbmcob2JqLCAib3B0aW9uYWxfdmFycyIpOwotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRtcCA9PSBOVUxMKSBnb3RvIGZhaWxlZDsKLSAgICAgICAgICAgICAgICAgICAgICAgIHJlcyA9IG9iajJhc3RfZXhwcih0bXAsICZvcHRpb25hbF92YXJzLCBhcmVuYSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVzICE9IDApIGdvdG8gZmFpbGVkOwotICAgICAgICAgICAgICAgICAgICAgICAgUHlfWERFQ1JFRih0bXApOwotICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gTlVMTDsKLSAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uYWxfdmFycyA9IE5VTEw7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGlmIChQeU9iamVjdF9IYXNBdHRyU3RyaW5nKG9iaiwgImJvZHkiKSkgeworICAgICAgICAgICAgICAgIGlmIChfUHlPYmplY3RfSGFzQXR0cklkKG9iaiwgJlB5SWRfaXRlbXMpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVzOwogICAgICAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBsZW47CiAgICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IGk7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKG9iaiwgImJvZHkiKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRtcCA9IF9QeU9iamVjdF9HZXRBdHRySWQob2JqLCAmUHlJZF9pdGVtcyk7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAodG1wID09IE5VTEwpIGdvdG8gZmFpbGVkOworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFQeUxpc3RfQ2hlY2sodG1wKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLCAiV2l0aCBmaWVsZCBcIml0ZW1zXCIgbXVzdCBiZSBhIGxpc3QsIG5vdCBhICUuMjAwcyIsIHRtcC0+b2JfdHlwZS0+dHBfbmFtZSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZmFpbGVkOworICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgICAgbGVuID0gUHlMaXN0X0dFVF9TSVpFKHRtcCk7CisgICAgICAgICAgICAgICAgICAgICAgICBpdGVtcyA9IGFzZGxfc2VxX25ldyhsZW4sIGFyZW5hKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpdGVtcyA9PSBOVUxMKSBnb3RvIGZhaWxlZDsKKyAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBsZW47IGkrKykgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aXRoaXRlbV90eSB2YWx1ZTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzID0gb2JqMmFzdF93aXRoaXRlbShQeUxpc3RfR0VUX0lURU0odG1wLCBpKSwgJnZhbHVlLCBhcmVuYSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXMgIT0gMCkgZ290byBmYWlsZWQ7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFzZGxfc2VxX1NFVChpdGVtcywgaSwgdmFsdWUpOworICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgICAgUHlfWERFQ1JFRih0bXApOworICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gTlVMTDsKKyAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgInJlcXVpcmVkIGZpZWxkIFwiaXRlbXNcIiBtaXNzaW5nIGZyb20gV2l0aCIpOworICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGlmIChfUHlPYmplY3RfSGFzQXR0cklkKG9iaiwgJlB5SWRfYm9keSkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGludCByZXM7CisgICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IGxlbjsKKyAgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3QgaTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRtcCA9IF9QeU9iamVjdF9HZXRBdHRySWQob2JqLCAmUHlJZF9ib2R5KTsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0bXAgPT0gTlVMTCkgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIVB5TGlzdF9DaGVjayh0bXApKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsICJXaXRoIGZpZWxkIFwiYm9keVwiIG11c3QgYmUgYSBsaXN0LCBub3QgYSAlLjIwMHMiLCB0bXAtPm9iX3R5cGUtPnRwX25hbWUpOwpAQCAtNDI3Myw4ICs0Mzk4LDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsICJyZXF1aXJlZCBmaWVsZCBcImJvZHlcIiBtaXNzaW5nIGZyb20gV2l0aCIpOwogICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICpvdXQgPSBXaXRoKGNvbnRleHRfZXhwciwgb3B0aW9uYWxfdmFycywgYm9keSwgbGluZW5vLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbF9vZmZzZXQsIGFyZW5hKTsKKyAgICAgICAgICAgICAgICAqb3V0ID0gV2l0aChpdGVtcywgYm9keSwgbGluZW5vLCBjb2xfb2Zmc2V0LCBhcmVuYSk7CiAgICAgICAgICAgICAgICAgaWYgKCpvdXQgPT0gTlVMTCkgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgIH0KQEAgLTQyODYsOSArNDQxMCw5IEBACiAgICAgICAgICAgICAgICAgZXhwcl90eSBleGM7CiAgICAgICAgICAgICAgICAgZXhwcl90eSBjYXVzZTsKIAotICAgICAgICAgICAgICAgIGlmIChQeU9iamVjdF9IYXNBdHRyU3RyaW5nKG9iaiwgImV4YyIpKSB7CisgICAgICAgICAgICAgICAgaWYgKF9QeU9iamVjdF9IYXNBdHRySWQob2JqLCAmUHlJZF9leGMpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVzOwotICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyhvYmosICJleGMiKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRtcCA9IF9QeU9iamVjdF9HZXRBdHRySWQob2JqLCAmUHlJZF9leGMpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRtcCA9PSBOVUxMKSBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICAgICAgICAgIHJlcyA9IG9iajJhc3RfZXhwcih0bXAsICZleGMsIGFyZW5hKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXMgIT0gMCkgZ290byBmYWlsZWQ7CkBAIC00Mjk3LDkgKzQ0MjEsOSBAQAogICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBleGMgPSBOVUxMOwogICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBpZiAoUHlPYmplY3RfSGFzQXR0clN0cmluZyhvYmosICJjYXVzZSIpKSB7CisgICAgICAgICAgICAgICAgaWYgKF9QeU9iamVjdF9IYXNBdHRySWQob2JqLCAmUHlJZF9jYXVzZSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZXM7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKG9iaiwgImNhdXNlIik7CisgICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBfUHlPYmplY3RfR2V0QXR0cklkKG9iaiwgJlB5SWRfY2F1c2UpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRtcCA9PSBOVUxMKSBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICAgICAgICAgIHJlcyA9IG9iajJhc3RfZXhwcih0bXAsICZjYXVzZSwgYXJlbmEpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlcyAhPSAwKSBnb3RvIGZhaWxlZDsKQEAgLTQzMTIsNyArNDQzNiw3IEBACiAgICAgICAgICAgICAgICAgaWYgKCpvdXQgPT0gTlVMTCkgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgIH0KLSAgICAgICAgaXNpbnN0YW5jZSA9IFB5T2JqZWN0X0lzSW5zdGFuY2Uob2JqLCAoUHlPYmplY3QqKVRyeUV4Y2VwdF90eXBlKTsKKyAgICAgICAgaXNpbnN0YW5jZSA9IFB5T2JqZWN0X0lzSW5zdGFuY2Uob2JqLCAoUHlPYmplY3QqKVRyeV90eXBlKTsKICAgICAgICAgaWYgKGlzaW5zdGFuY2UgPT0gLTEpIHsKICAgICAgICAgICAgICAgICByZXR1cm4gMTsKICAgICAgICAgfQpAQCAtNDMyMCwxNSArNDQ0NCwxNiBAQAogICAgICAgICAgICAgICAgIGFzZGxfc2VxKiBib2R5OwogICAgICAgICAgICAgICAgIGFzZGxfc2VxKiBoYW5kbGVyczsKICAgICAgICAgICAgICAgICBhc2RsX3NlcSogb3JlbHNlOworICAgICAgICAgICAgICAgIGFzZGxfc2VxKiBmaW5hbGJvZHk7CiAKLSAgICAgICAgICAgICAgICBpZiAoUHlPYmplY3RfSGFzQXR0clN0cmluZyhvYmosICJib2R5IikpIHsKKyAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X0hhc0F0dHJJZChvYmosICZQeUlkX2JvZHkpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVzOwogICAgICAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBsZW47CiAgICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IGk7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKG9iaiwgImJvZHkiKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRtcCA9IF9QeU9iamVjdF9HZXRBdHRySWQob2JqLCAmUHlJZF9ib2R5KTsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0bXAgPT0gTlVMTCkgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIVB5TGlzdF9DaGVjayh0bXApKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsICJUcnlFeGNlcHQgZmllbGQgXCJib2R5XCIgbXVzdCBiZSBhIGxpc3QsIG5vdCBhICUuMjAwcyIsIHRtcC0+b2JfdHlwZS0+dHBfbmFtZSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsICJUcnkgZmllbGQgXCJib2R5XCIgbXVzdCBiZSBhIGxpc3QsIG5vdCBhICUuMjAwcyIsIHRtcC0+b2JfdHlwZS0+dHBfbmFtZSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgbGVuID0gUHlMaXN0X0dFVF9TSVpFKHRtcCk7CkBAIC00MzQzLDE3ICs0NDY4LDE3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICBQeV9YREVDUkVGKHRtcCk7CiAgICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBOVUxMOwogICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCAicmVxdWlyZWQgZmllbGQgXCJib2R5XCIgbWlzc2luZyBmcm9tIFRyeUV4Y2VwdCIpOworICAgICAgICAgICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgInJlcXVpcmVkIGZpZWxkIFwiYm9keVwiIG1pc3NpbmcgZnJvbSBUcnkiKTsKICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAxOwogICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBpZiAoUHlPYmplY3RfSGFzQXR0clN0cmluZyhvYmosICJoYW5kbGVycyIpKSB7CisgICAgICAgICAgICAgICAgaWYgKF9QeU9iamVjdF9IYXNBdHRySWQob2JqLCAmUHlJZF9oYW5kbGVycykpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZXM7CiAgICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IGxlbjsKICAgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3QgaTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHRtcCA9IFB5T2JqZWN0X0dldEF0dHJTdHJpbmcob2JqLCAiaGFuZGxlcnMiKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRtcCA9IF9QeU9iamVjdF9HZXRBdHRySWQob2JqLCAmUHlJZF9oYW5kbGVycyk7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodG1wID09IE5VTEwpIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFQeUxpc3RfQ2hlY2sodG1wKSkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLCAiVHJ5RXhjZXB0IGZpZWxkIFwiaGFuZGxlcnNcIiBtdXN0IGJlIGEgbGlzdCwgbm90IGEgJS4yMDBzIiwgdG1wLT5vYl90eXBlLT50cF9uYW1lKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1R5cGVFcnJvciwgIlRyeSBmaWVsZCBcImhhbmRsZXJzXCIgbXVzdCBiZSBhIGxpc3QsIG5vdCBhICUuMjAwcyIsIHRtcC0+b2JfdHlwZS0+dHBfbmFtZSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgbGVuID0gUHlMaXN0X0dFVF9TSVpFKHRtcCk7CkBAIC00MzY4LDE3ICs0NDkzLDE3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICBQeV9YREVDUkVGKHRtcCk7CiAgICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBOVUxMOwogICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCAicmVxdWlyZWQgZmllbGQgXCJoYW5kbGVyc1wiIG1pc3NpbmcgZnJvbSBUcnlFeGNlcHQiKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsICJyZXF1aXJlZCBmaWVsZCBcImhhbmRsZXJzXCIgbWlzc2luZyBmcm9tIFRyeSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGlmIChQeU9iamVjdF9IYXNBdHRyU3RyaW5nKG9iaiwgIm9yZWxzZSIpKSB7CisgICAgICAgICAgICAgICAgaWYgKF9QeU9iamVjdF9IYXNBdHRySWQob2JqLCAmUHlJZF9vcmVsc2UpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVzOwogICAgICAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBsZW47CiAgICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IGk7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKG9iaiwgIm9yZWxzZSIpOworICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gX1B5T2JqZWN0X0dldEF0dHJJZChvYmosICZQeUlkX29yZWxzZSk7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodG1wID09IE5VTEwpIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFQeUxpc3RfQ2hlY2sodG1wKSkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLCAiVHJ5RXhjZXB0IGZpZWxkIFwib3JlbHNlXCIgbXVzdCBiZSBhIGxpc3QsIG5vdCBhICUuMjAwcyIsIHRtcC0+b2JfdHlwZS0+dHBfbmFtZSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsICJUcnkgZmllbGQgXCJvcmVsc2VcIiBtdXN0IGJlIGEgbGlzdCwgbm90IGEgJS4yMDBzIiwgdG1wLT5vYl90eXBlLT50cF9uYW1lKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICBsZW4gPSBQeUxpc3RfR0VUX1NJWkUodG1wKTsKQEAgLTQzOTMsNTUgKzQ1MTgsMTcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgIFB5X1hERUNSRUYodG1wKTsKICAgICAgICAgICAgICAgICAgICAgICAgIHRtcCA9IE5VTEw7CiAgICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsICJyZXF1aXJlZCBmaWVsZCBcIm9yZWxzZVwiIG1pc3NpbmcgZnJvbSBUcnlFeGNlcHQiKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsICJyZXF1aXJlZCBmaWVsZCBcIm9yZWxzZVwiIG1pc3NpbmcgZnJvbSBUcnkiKTsKICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAxOwogICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAqb3V0ID0gVHJ5RXhjZXB0KGJvZHksIGhhbmRsZXJzLCBvcmVsc2UsIGxpbmVubywgY29sX29mZnNldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyZW5hKTsKLSAgICAgICAgICAgICAgICBpZiAoKm91dCA9PSBOVUxMKSBnb3RvIGZhaWxlZDsKLSAgICAgICAgICAgICAgICByZXR1cm4gMDsKLSAgICAgICAgfQotICAgICAgICBpc2luc3RhbmNlID0gUHlPYmplY3RfSXNJbnN0YW5jZShvYmosIChQeU9iamVjdCopVHJ5RmluYWxseV90eXBlKTsKLSAgICAgICAgaWYgKGlzaW5zdGFuY2UgPT0gLTEpIHsKLSAgICAgICAgICAgICAgICByZXR1cm4gMTsKLSAgICAgICAgfQotICAgICAgICBpZiAoaXNpbnN0YW5jZSkgewotICAgICAgICAgICAgICAgIGFzZGxfc2VxKiBib2R5OwotICAgICAgICAgICAgICAgIGFzZGxfc2VxKiBmaW5hbGJvZHk7Ci0KLSAgICAgICAgICAgICAgICBpZiAoUHlPYmplY3RfSGFzQXR0clN0cmluZyhvYmosICJib2R5IikpIHsKKyAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X0hhc0F0dHJJZChvYmosICZQeUlkX2ZpbmFsYm9keSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZXM7CiAgICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IGxlbjsKICAgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3QgaTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHRtcCA9IFB5T2JqZWN0X0dldEF0dHJTdHJpbmcob2JqLCAiYm9keSIpOworICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gX1B5T2JqZWN0X0dldEF0dHJJZChvYmosICZQeUlkX2ZpbmFsYm9keSk7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodG1wID09IE5VTEwpIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFQeUxpc3RfQ2hlY2sodG1wKSkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLCAiVHJ5RmluYWxseSBmaWVsZCBcImJvZHlcIiBtdXN0IGJlIGEgbGlzdCwgbm90IGEgJS4yMDBzIiwgdG1wLT5vYl90eXBlLT50cF9uYW1lKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ290byBmYWlsZWQ7Ci0gICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgICAgICBsZW4gPSBQeUxpc3RfR0VUX1NJWkUodG1wKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGJvZHkgPSBhc2RsX3NlcV9uZXcobGVuLCBhcmVuYSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoYm9keSA9PSBOVUxMKSBnb3RvIGZhaWxlZDsKLSAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBsZW47IGkrKykgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG10X3R5IHZhbHVlOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXMgPSBvYmoyYXN0X3N0bXQoUHlMaXN0X0dFVF9JVEVNKHRtcCwgaSksICZ2YWx1ZSwgYXJlbmEpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVzICE9IDApIGdvdG8gZmFpbGVkOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhc2RsX3NlcV9TRVQoYm9keSwgaSwgdmFsdWUpOwotICAgICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICAgICAgUHlfWERFQ1JFRih0bXApOwotICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gTlVMTDsKLSAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgInJlcXVpcmVkIGZpZWxkIFwiYm9keVwiIG1pc3NpbmcgZnJvbSBUcnlGaW5hbGx5Iik7Ci0gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgaWYgKFB5T2JqZWN0X0hhc0F0dHJTdHJpbmcob2JqLCAiZmluYWxib2R5IikpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGludCByZXM7Ci0gICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IGxlbjsKLSAgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3QgaTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHRtcCA9IFB5T2JqZWN0X0dldEF0dHJTdHJpbmcob2JqLCAiZmluYWxib2R5Iik7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAodG1wID09IE5VTEwpIGdvdG8gZmFpbGVkOwotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFQeUxpc3RfQ2hlY2sodG1wKSkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLCAiVHJ5RmluYWxseSBmaWVsZCBcImZpbmFsYm9keVwiIG11c3QgYmUgYSBsaXN0LCBub3QgYSAlLjIwMHMiLCB0bXAtPm9iX3R5cGUtPnRwX25hbWUpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLCAiVHJ5IGZpZWxkIFwiZmluYWxib2R5XCIgbXVzdCBiZSBhIGxpc3QsIG5vdCBhICUuMjAwcyIsIHRtcC0+b2JfdHlwZS0+dHBfbmFtZSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgbGVuID0gUHlMaXN0X0dFVF9TSVpFKHRtcCk7CkBAIC00NDU2LDEwICs0NTQzLDExIEBACiAgICAgICAgICAgICAgICAgICAgICAgICBQeV9YREVDUkVGKHRtcCk7CiAgICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBOVUxMOwogICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCAicmVxdWlyZWQgZmllbGQgXCJmaW5hbGJvZHlcIiBtaXNzaW5nIGZyb20gVHJ5RmluYWxseSIpOworICAgICAgICAgICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgInJlcXVpcmVkIGZpZWxkIFwiZmluYWxib2R5XCIgbWlzc2luZyBmcm9tIFRyeSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICpvdXQgPSBUcnlGaW5hbGx5KGJvZHksIGZpbmFsYm9keSwgbGluZW5vLCBjb2xfb2Zmc2V0LCBhcmVuYSk7CisgICAgICAgICAgICAgICAgKm91dCA9IFRyeShib2R5LCBoYW5kbGVycywgb3JlbHNlLCBmaW5hbGJvZHksIGxpbmVubywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbF9vZmZzZXQsIGFyZW5hKTsKICAgICAgICAgICAgICAgICBpZiAoKm91dCA9PSBOVUxMKSBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgfQpAQCAtNDQ3MSw5ICs0NTU5LDkgQEAKICAgICAgICAgICAgICAgICBleHByX3R5IHRlc3Q7CiAgICAgICAgICAgICAgICAgZXhwcl90eSBtc2c7CiAKLSAgICAgICAgICAgICAgICBpZiAoUHlPYmplY3RfSGFzQXR0clN0cmluZyhvYmosICJ0ZXN0IikpIHsKKyAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X0hhc0F0dHJJZChvYmosICZQeUlkX3Rlc3QpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVzOwotICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyhvYmosICJ0ZXN0Iik7CisgICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBfUHlPYmplY3RfR2V0QXR0cklkKG9iaiwgJlB5SWRfdGVzdCk7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodG1wID09IE5VTEwpIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgICAgICAgICAgcmVzID0gb2JqMmFzdF9leHByKHRtcCwgJnRlc3QsIGFyZW5hKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXMgIT0gMCkgZ290byBmYWlsZWQ7CkBAIC00NDgzLDkgKzQ1NzEsOSBAQAogICAgICAgICAgICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgInJlcXVpcmVkIGZpZWxkIFwidGVzdFwiIG1pc3NpbmcgZnJvbSBBc3NlcnQiKTsKICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAxOwogICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBpZiAoUHlPYmplY3RfSGFzQXR0clN0cmluZyhvYmosICJtc2ciKSkgeworICAgICAgICAgICAgICAgIGlmIChfUHlPYmplY3RfSGFzQXR0cklkKG9iaiwgJlB5SWRfbXNnKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlczsKLSAgICAgICAgICAgICAgICAgICAgICAgIHRtcCA9IFB5T2JqZWN0X0dldEF0dHJTdHJpbmcob2JqLCAibXNnIik7CisgICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBfUHlPYmplY3RfR2V0QXR0cklkKG9iaiwgJlB5SWRfbXNnKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0bXAgPT0gTlVMTCkgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgICAgICAgICByZXMgPSBvYmoyYXN0X2V4cHIodG1wLCAmbXNnLCBhcmVuYSk7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVzICE9IDApIGdvdG8gZmFpbGVkOwpAQCAtNDUwNSwxMSArNDU5MywxMSBAQAogICAgICAgICBpZiAoaXNpbnN0YW5jZSkgewogICAgICAgICAgICAgICAgIGFzZGxfc2VxKiBuYW1lczsKIAotICAgICAgICAgICAgICAgIGlmIChQeU9iamVjdF9IYXNBdHRyU3RyaW5nKG9iaiwgIm5hbWVzIikpIHsKKyAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X0hhc0F0dHJJZChvYmosICZQeUlkX25hbWVzKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlczsKICAgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3QgbGVuOwogICAgICAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBpOwotICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyhvYmosICJuYW1lcyIpOworICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gX1B5T2JqZWN0X0dldEF0dHJJZChvYmosICZQeUlkX25hbWVzKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0bXAgPT0gTlVMTCkgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIVB5TGlzdF9DaGVjayh0bXApKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsICJJbXBvcnQgZmllbGQgXCJuYW1lc1wiIG11c3QgYmUgYSBsaXN0LCBub3QgYSAlLjIwMHMiLCB0bXAtPm9iX3R5cGUtPnRwX25hbWUpOwpAQCAtNDU0Myw5ICs0NjMxLDkgQEAKICAgICAgICAgICAgICAgICBhc2RsX3NlcSogbmFtZXM7CiAgICAgICAgICAgICAgICAgaW50IGxldmVsOwogCi0gICAgICAgICAgICAgICAgaWYgKFB5T2JqZWN0X0hhc0F0dHJTdHJpbmcob2JqLCAibW9kdWxlIikpIHsKKyAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X0hhc0F0dHJJZChvYmosICZQeUlkX21vZHVsZSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZXM7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKG9iaiwgIm1vZHVsZSIpOworICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gX1B5T2JqZWN0X0dldEF0dHJJZChvYmosICZQeUlkX21vZHVsZSk7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodG1wID09IE5VTEwpIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgICAgICAgICAgcmVzID0gb2JqMmFzdF9pZGVudGlmaWVyKHRtcCwgJm1vZHVsZSwgYXJlbmEpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlcyAhPSAwKSBnb3RvIGZhaWxlZDsKQEAgLTQ1NTQsMTEgKzQ2NDIsMTEgQEAKICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgbW9kdWxlID0gTlVMTDsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgaWYgKFB5T2JqZWN0X0hhc0F0dHJTdHJpbmcob2JqLCAibmFtZXMiKSkgeworICAgICAgICAgICAgICAgIGlmIChfUHlPYmplY3RfSGFzQXR0cklkKG9iaiwgJlB5SWRfbmFtZXMpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVzOwogICAgICAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBsZW47CiAgICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IGk7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKG9iaiwgIm5hbWVzIik7CisgICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBfUHlPYmplY3RfR2V0QXR0cklkKG9iaiwgJlB5SWRfbmFtZXMpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRtcCA9PSBOVUxMKSBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghUHlMaXN0X0NoZWNrKHRtcCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1R5cGVFcnJvciwgIkltcG9ydEZyb20gZmllbGQgXCJuYW1lc1wiIG11c3QgYmUgYSBsaXN0LCBub3QgYSAlLjIwMHMiLCB0bXAtPm9iX3R5cGUtPnRwX25hbWUpOwpAQCAtNDU3OSw5ICs0NjY3LDkgQEAKICAgICAgICAgICAgICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsICJyZXF1aXJlZCBmaWVsZCBcIm5hbWVzXCIgbWlzc2luZyBmcm9tIEltcG9ydEZyb20iKTsKICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAxOwogICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBpZiAoUHlPYmplY3RfSGFzQXR0clN0cmluZyhvYmosICJsZXZlbCIpKSB7CisgICAgICAgICAgICAgICAgaWYgKF9QeU9iamVjdF9IYXNBdHRySWQob2JqLCAmUHlJZF9sZXZlbCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZXM7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKG9iaiwgImxldmVsIik7CisgICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBfUHlPYmplY3RfR2V0QXR0cklkKG9iaiwgJlB5SWRfbGV2ZWwpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRtcCA9PSBOVUxMKSBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICAgICAgICAgIHJlcyA9IG9iajJhc3RfaW50KHRtcCwgJmxldmVsLCBhcmVuYSk7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVzICE9IDApIGdvdG8gZmFpbGVkOwpAQCAtNDYwMiwxMSArNDY5MCwxMSBAQAogICAgICAgICBpZiAoaXNpbnN0YW5jZSkgewogICAgICAgICAgICAgICAgIGFzZGxfc2VxKiBuYW1lczsKIAotICAgICAgICAgICAgICAgIGlmIChQeU9iamVjdF9IYXNBdHRyU3RyaW5nKG9iaiwgIm5hbWVzIikpIHsKKyAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X0hhc0F0dHJJZChvYmosICZQeUlkX25hbWVzKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlczsKICAgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3QgbGVuOwogICAgICAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBpOwotICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyhvYmosICJuYW1lcyIpOworICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gX1B5T2JqZWN0X0dldEF0dHJJZChvYmosICZQeUlkX25hbWVzKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0bXAgPT0gTlVMTCkgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIVB5TGlzdF9DaGVjayh0bXApKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsICJHbG9iYWwgZmllbGQgXCJuYW1lc1wiIG11c3QgYmUgYSBsaXN0LCBub3QgYSAlLjIwMHMiLCB0bXAtPm9iX3R5cGUtPnRwX25hbWUpOwpAQCAtNDYzOCwxMSArNDcyNiwxMSBAQAogICAgICAgICBpZiAoaXNpbnN0YW5jZSkgewogICAgICAgICAgICAgICAgIGFzZGxfc2VxKiBuYW1lczsKIAotICAgICAgICAgICAgICAgIGlmIChQeU9iamVjdF9IYXNBdHRyU3RyaW5nKG9iaiwgIm5hbWVzIikpIHsKKyAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X0hhc0F0dHJJZChvYmosICZQeUlkX25hbWVzKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlczsKICAgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3QgbGVuOwogICAgICAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBpOwotICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyhvYmosICJuYW1lcyIpOworICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gX1B5T2JqZWN0X0dldEF0dHJJZChvYmosICZQeUlkX25hbWVzKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0bXAgPT0gTlVMTCkgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIVB5TGlzdF9DaGVjayh0bXApKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsICJOb25sb2NhbCBmaWVsZCBcIm5hbWVzXCIgbXVzdCBiZSBhIGxpc3QsIG5vdCBhICUuMjAwcyIsIHRtcC0+b2JfdHlwZS0+dHBfbmFtZSk7CkBAIC00Njc0LDkgKzQ3NjIsOSBAQAogICAgICAgICBpZiAoaXNpbnN0YW5jZSkgewogICAgICAgICAgICAgICAgIGV4cHJfdHkgdmFsdWU7CiAKLSAgICAgICAgICAgICAgICBpZiAoUHlPYmplY3RfSGFzQXR0clN0cmluZyhvYmosICJ2YWx1ZSIpKSB7CisgICAgICAgICAgICAgICAgaWYgKF9QeU9iamVjdF9IYXNBdHRySWQob2JqLCAmUHlJZF92YWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZXM7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKG9iaiwgInZhbHVlIik7CisgICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBfUHlPYmplY3RfR2V0QXR0cklkKG9iaiwgJlB5SWRfdmFsdWUpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRtcCA9PSBOVUxMKSBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICAgICAgICAgIHJlcyA9IG9iajJhc3RfZXhwcih0bXAsICZ2YWx1ZSwgYXJlbmEpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlcyAhPSAwKSBnb3RvIGZhaWxlZDsKQEAgLTQ3NDAsOSArNDgyOCw5IEBACiAgICAgICAgICAgICAgICAgKm91dCA9IE5VTEw7CiAgICAgICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgIH0KLSAgICAgICAgaWYgKFB5T2JqZWN0X0hhc0F0dHJTdHJpbmcob2JqLCAibGluZW5vIikpIHsKKyAgICAgICAgaWYgKF9QeU9iamVjdF9IYXNBdHRySWQob2JqLCAmUHlJZF9saW5lbm8pKSB7CiAgICAgICAgICAgICAgICAgaW50IHJlczsKLSAgICAgICAgICAgICAgICB0bXAgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKG9iaiwgImxpbmVubyIpOworICAgICAgICAgICAgICAgIHRtcCA9IF9QeU9iamVjdF9HZXRBdHRySWQob2JqLCAmUHlJZF9saW5lbm8pOwogICAgICAgICAgICAgICAgIGlmICh0bXAgPT0gTlVMTCkgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgcmVzID0gb2JqMmFzdF9pbnQodG1wLCAmbGluZW5vLCBhcmVuYSk7CiAgICAgICAgICAgICAgICAgaWYgKHJlcyAhPSAwKSBnb3RvIGZhaWxlZDsKQEAgLTQ3NTIsOSArNDg0MCw5IEBACiAgICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgInJlcXVpcmVkIGZpZWxkIFwibGluZW5vXCIgbWlzc2luZyBmcm9tIGV4cHIiKTsKICAgICAgICAgICAgICAgICByZXR1cm4gMTsKICAgICAgICAgfQotICAgICAgICBpZiAoUHlPYmplY3RfSGFzQXR0clN0cmluZyhvYmosICJjb2xfb2Zmc2V0IikpIHsKKyAgICAgICAgaWYgKF9QeU9iamVjdF9IYXNBdHRySWQob2JqLCAmUHlJZF9jb2xfb2Zmc2V0KSkgewogICAgICAgICAgICAgICAgIGludCByZXM7Ci0gICAgICAgICAgICAgICAgdG1wID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyhvYmosICJjb2xfb2Zmc2V0Iik7CisgICAgICAgICAgICAgICAgdG1wID0gX1B5T2JqZWN0X0dldEF0dHJJZChvYmosICZQeUlkX2NvbF9vZmZzZXQpOwogICAgICAgICAgICAgICAgIGlmICh0bXAgPT0gTlVMTCkgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgcmVzID0gb2JqMmFzdF9pbnQodG1wLCAmY29sX29mZnNldCwgYXJlbmEpOwogICAgICAgICAgICAgICAgIGlmIChyZXMgIT0gMCkgZ290byBmYWlsZWQ7CkBAIC00NzcyLDkgKzQ4NjAsOSBAQAogICAgICAgICAgICAgICAgIGJvb2xvcF90eSBvcDsKICAgICAgICAgICAgICAgICBhc2RsX3NlcSogdmFsdWVzOwogCi0gICAgICAgICAgICAgICAgaWYgKFB5T2JqZWN0X0hhc0F0dHJTdHJpbmcob2JqLCAib3AiKSkgeworICAgICAgICAgICAgICAgIGlmIChfUHlPYmplY3RfSGFzQXR0cklkKG9iaiwgJlB5SWRfb3ApKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVzOwotICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyhvYmosICJvcCIpOworICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gX1B5T2JqZWN0X0dldEF0dHJJZChvYmosICZQeUlkX29wKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0bXAgPT0gTlVMTCkgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgICAgICAgICByZXMgPSBvYmoyYXN0X2Jvb2xvcCh0bXAsICZvcCwgYXJlbmEpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlcyAhPSAwKSBnb3RvIGZhaWxlZDsKQEAgLTQ3ODQsMTEgKzQ4NzIsMTEgQEAKICAgICAgICAgICAgICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsICJyZXF1aXJlZCBmaWVsZCBcIm9wXCIgbWlzc2luZyBmcm9tIEJvb2xPcCIpOwogICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGlmIChQeU9iamVjdF9IYXNBdHRyU3RyaW5nKG9iaiwgInZhbHVlcyIpKSB7CisgICAgICAgICAgICAgICAgaWYgKF9QeU9iamVjdF9IYXNBdHRySWQob2JqLCAmUHlJZF92YWx1ZXMpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVzOwogICAgICAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBsZW47CiAgICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IGk7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKG9iaiwgInZhbHVlcyIpOworICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gX1B5T2JqZWN0X0dldEF0dHJJZChvYmosICZQeUlkX3ZhbHVlcyk7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodG1wID09IE5VTEwpIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFQeUxpc3RfQ2hlY2sodG1wKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLCAiQm9vbE9wIGZpZWxkIFwidmFsdWVzXCIgbXVzdCBiZSBhIGxpc3QsIG5vdCBhICUuMjAwcyIsIHRtcC0+b2JfdHlwZS0+dHBfbmFtZSk7CkBAIC00ODIyLDkgKzQ5MTAsOSBAQAogICAgICAgICAgICAgICAgIG9wZXJhdG9yX3R5IG9wOwogICAgICAgICAgICAgICAgIGV4cHJfdHkgcmlnaHQ7CiAKLSAgICAgICAgICAgICAgICBpZiAoUHlPYmplY3RfSGFzQXR0clN0cmluZyhvYmosICJsZWZ0IikpIHsKKyAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X0hhc0F0dHJJZChvYmosICZQeUlkX2xlZnQpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVzOwotICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyhvYmosICJsZWZ0Iik7CisgICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBfUHlPYmplY3RfR2V0QXR0cklkKG9iaiwgJlB5SWRfbGVmdCk7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodG1wID09IE5VTEwpIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgICAgICAgICAgcmVzID0gb2JqMmFzdF9leHByKHRtcCwgJmxlZnQsIGFyZW5hKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXMgIT0gMCkgZ290byBmYWlsZWQ7CkBAIC00ODM0LDkgKzQ5MjIsOSBAQAogICAgICAgICAgICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgInJlcXVpcmVkIGZpZWxkIFwibGVmdFwiIG1pc3NpbmcgZnJvbSBCaW5PcCIpOwogICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGlmIChQeU9iamVjdF9IYXNBdHRyU3RyaW5nKG9iaiwgIm9wIikpIHsKKyAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X0hhc0F0dHJJZChvYmosICZQeUlkX29wKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlczsKLSAgICAgICAgICAgICAgICAgICAgICAgIHRtcCA9IFB5T2JqZWN0X0dldEF0dHJTdHJpbmcob2JqLCAib3AiKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRtcCA9IF9QeU9iamVjdF9HZXRBdHRySWQob2JqLCAmUHlJZF9vcCk7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodG1wID09IE5VTEwpIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgICAgICAgICAgcmVzID0gb2JqMmFzdF9vcGVyYXRvcih0bXAsICZvcCwgYXJlbmEpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlcyAhPSAwKSBnb3RvIGZhaWxlZDsKQEAgLTQ4NDYsOSArNDkzNCw5IEBACiAgICAgICAgICAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCAicmVxdWlyZWQgZmllbGQgXCJvcFwiIG1pc3NpbmcgZnJvbSBCaW5PcCIpOwogICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGlmIChQeU9iamVjdF9IYXNBdHRyU3RyaW5nKG9iaiwgInJpZ2h0IikpIHsKKyAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X0hhc0F0dHJJZChvYmosICZQeUlkX3JpZ2h0KSkgewogICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlczsKLSAgICAgICAgICAgICAgICAgICAgICAgIHRtcCA9IFB5T2JqZWN0X0dldEF0dHJTdHJpbmcob2JqLCAicmlnaHQiKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRtcCA9IF9QeU9iamVjdF9HZXRBdHRySWQob2JqLCAmUHlJZF9yaWdodCk7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodG1wID09IE5VTEwpIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgICAgICAgICAgcmVzID0gb2JqMmFzdF9leHByKHRtcCwgJnJpZ2h0LCBhcmVuYSk7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVzICE9IDApIGdvdG8gZmFpbGVkOwpAQCAtNDg3MCw5ICs0OTU4LDkgQEAKICAgICAgICAgICAgICAgICB1bmFyeW9wX3R5IG9wOwogICAgICAgICAgICAgICAgIGV4cHJfdHkgb3BlcmFuZDsKIAotICAgICAgICAgICAgICAgIGlmIChQeU9iamVjdF9IYXNBdHRyU3RyaW5nKG9iaiwgIm9wIikpIHsKKyAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X0hhc0F0dHJJZChvYmosICZQeUlkX29wKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlczsKLSAgICAgICAgICAgICAgICAgICAgICAgIHRtcCA9IFB5T2JqZWN0X0dldEF0dHJTdHJpbmcob2JqLCAib3AiKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRtcCA9IF9QeU9iamVjdF9HZXRBdHRySWQob2JqLCAmUHlJZF9vcCk7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodG1wID09IE5VTEwpIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgICAgICAgICAgcmVzID0gb2JqMmFzdF91bmFyeW9wKHRtcCwgJm9wLCBhcmVuYSk7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVzICE9IDApIGdvdG8gZmFpbGVkOwpAQCAtNDg4Miw5ICs0OTcwLDkgQEAKICAgICAgICAgICAgICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsICJyZXF1aXJlZCBmaWVsZCBcIm9wXCIgbWlzc2luZyBmcm9tIFVuYXJ5T3AiKTsKICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAxOwogICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBpZiAoUHlPYmplY3RfSGFzQXR0clN0cmluZyhvYmosICJvcGVyYW5kIikpIHsKKyAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X0hhc0F0dHJJZChvYmosICZQeUlkX29wZXJhbmQpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVzOwotICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyhvYmosICJvcGVyYW5kIik7CisgICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBfUHlPYmplY3RfR2V0QXR0cklkKG9iaiwgJlB5SWRfb3BlcmFuZCk7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodG1wID09IE5VTEwpIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgICAgICAgICAgcmVzID0gb2JqMmFzdF9leHByKHRtcCwgJm9wZXJhbmQsIGFyZW5hKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXMgIT0gMCkgZ290byBmYWlsZWQ7CkBAIC00OTA2LDkgKzQ5OTQsOSBAQAogICAgICAgICAgICAgICAgIGFyZ3VtZW50c190eSBhcmdzOwogICAgICAgICAgICAgICAgIGV4cHJfdHkgYm9keTsKIAotICAgICAgICAgICAgICAgIGlmIChQeU9iamVjdF9IYXNBdHRyU3RyaW5nKG9iaiwgImFyZ3MiKSkgeworICAgICAgICAgICAgICAgIGlmIChfUHlPYmplY3RfSGFzQXR0cklkKG9iaiwgJlB5SWRfYXJncykpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZXM7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKG9iaiwgImFyZ3MiKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRtcCA9IF9QeU9iamVjdF9HZXRBdHRySWQob2JqLCAmUHlJZF9hcmdzKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0bXAgPT0gTlVMTCkgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgICAgICAgICByZXMgPSBvYmoyYXN0X2FyZ3VtZW50cyh0bXAsICZhcmdzLCBhcmVuYSk7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVzICE9IDApIGdvdG8gZmFpbGVkOwpAQCAtNDkxOCw5ICs1MDA2LDkgQEAKICAgICAgICAgICAgICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsICJyZXF1aXJlZCBmaWVsZCBcImFyZ3NcIiBtaXNzaW5nIGZyb20gTGFtYmRhIik7CiAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgaWYgKFB5T2JqZWN0X0hhc0F0dHJTdHJpbmcob2JqLCAiYm9keSIpKSB7CisgICAgICAgICAgICAgICAgaWYgKF9QeU9iamVjdF9IYXNBdHRySWQob2JqLCAmUHlJZF9ib2R5KSkgewogICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlczsKLSAgICAgICAgICAgICAgICAgICAgICAgIHRtcCA9IFB5T2JqZWN0X0dldEF0dHJTdHJpbmcob2JqLCAiYm9keSIpOworICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gX1B5T2JqZWN0X0dldEF0dHJJZChvYmosICZQeUlkX2JvZHkpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRtcCA9PSBOVUxMKSBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICAgICAgICAgIHJlcyA9IG9iajJhc3RfZXhwcih0bXAsICZib2R5LCBhcmVuYSk7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVzICE9IDApIGdvdG8gZmFpbGVkOwpAQCAtNDk0Myw5ICs1MDMxLDkgQEAKICAgICAgICAgICAgICAgICBleHByX3R5IGJvZHk7CiAgICAgICAgICAgICAgICAgZXhwcl90eSBvcmVsc2U7CiAKLSAgICAgICAgICAgICAgICBpZiAoUHlPYmplY3RfSGFzQXR0clN0cmluZyhvYmosICJ0ZXN0IikpIHsKKyAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X0hhc0F0dHJJZChvYmosICZQeUlkX3Rlc3QpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVzOwotICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyhvYmosICJ0ZXN0Iik7CisgICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBfUHlPYmplY3RfR2V0QXR0cklkKG9iaiwgJlB5SWRfdGVzdCk7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodG1wID09IE5VTEwpIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgICAgICAgICAgcmVzID0gb2JqMmFzdF9leHByKHRtcCwgJnRlc3QsIGFyZW5hKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXMgIT0gMCkgZ290byBmYWlsZWQ7CkBAIC00OTU1LDkgKzUwNDMsOSBAQAogICAgICAgICAgICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgInJlcXVpcmVkIGZpZWxkIFwidGVzdFwiIG1pc3NpbmcgZnJvbSBJZkV4cCIpOwogICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGlmIChQeU9iamVjdF9IYXNBdHRyU3RyaW5nKG9iaiwgImJvZHkiKSkgeworICAgICAgICAgICAgICAgIGlmIChfUHlPYmplY3RfSGFzQXR0cklkKG9iaiwgJlB5SWRfYm9keSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZXM7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKG9iaiwgImJvZHkiKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRtcCA9IF9QeU9iamVjdF9HZXRBdHRySWQob2JqLCAmUHlJZF9ib2R5KTsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0bXAgPT0gTlVMTCkgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgICAgICAgICByZXMgPSBvYmoyYXN0X2V4cHIodG1wLCAmYm9keSwgYXJlbmEpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlcyAhPSAwKSBnb3RvIGZhaWxlZDsKQEAgLTQ5NjcsOSArNTA1NSw5IEBACiAgICAgICAgICAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCAicmVxdWlyZWQgZmllbGQgXCJib2R5XCIgbWlzc2luZyBmcm9tIElmRXhwIik7CiAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgaWYgKFB5T2JqZWN0X0hhc0F0dHJTdHJpbmcob2JqLCAib3JlbHNlIikpIHsKKyAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X0hhc0F0dHJJZChvYmosICZQeUlkX29yZWxzZSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZXM7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKG9iaiwgIm9yZWxzZSIpOworICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gX1B5T2JqZWN0X0dldEF0dHJJZChvYmosICZQeUlkX29yZWxzZSk7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodG1wID09IE5VTEwpIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgICAgICAgICAgcmVzID0gb2JqMmFzdF9leHByKHRtcCwgJm9yZWxzZSwgYXJlbmEpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlcyAhPSAwKSBnb3RvIGZhaWxlZDsKQEAgLTQ5OTEsMTEgKzUwNzksMTEgQEAKICAgICAgICAgICAgICAgICBhc2RsX3NlcSoga2V5czsKICAgICAgICAgICAgICAgICBhc2RsX3NlcSogdmFsdWVzOwogCi0gICAgICAgICAgICAgICAgaWYgKFB5T2JqZWN0X0hhc0F0dHJTdHJpbmcob2JqLCAia2V5cyIpKSB7CisgICAgICAgICAgICAgICAgaWYgKF9QeU9iamVjdF9IYXNBdHRySWQob2JqLCAmUHlJZF9rZXlzKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlczsKICAgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3QgbGVuOwogICAgICAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBpOwotICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyhvYmosICJrZXlzIik7CisgICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBfUHlPYmplY3RfR2V0QXR0cklkKG9iaiwgJlB5SWRfa2V5cyk7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodG1wID09IE5VTEwpIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFQeUxpc3RfQ2hlY2sodG1wKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLCAiRGljdCBmaWVsZCBcImtleXNcIiBtdXN0IGJlIGEgbGlzdCwgbm90IGEgJS4yMDBzIiwgdG1wLT5vYl90eXBlLT50cF9uYW1lKTsKQEAgLTUwMTYsMTEgKzUxMDQsMTEgQEAKICAgICAgICAgICAgICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsICJyZXF1aXJlZCBmaWVsZCBcImtleXNcIiBtaXNzaW5nIGZyb20gRGljdCIpOwogICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGlmIChQeU9iamVjdF9IYXNBdHRyU3RyaW5nKG9iaiwgInZhbHVlcyIpKSB7CisgICAgICAgICAgICAgICAgaWYgKF9QeU9iamVjdF9IYXNBdHRySWQob2JqLCAmUHlJZF92YWx1ZXMpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVzOwogICAgICAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBsZW47CiAgICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IGk7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKG9iaiwgInZhbHVlcyIpOworICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gX1B5T2JqZWN0X0dldEF0dHJJZChvYmosICZQeUlkX3ZhbHVlcyk7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodG1wID09IE5VTEwpIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFQeUxpc3RfQ2hlY2sodG1wKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLCAiRGljdCBmaWVsZCBcInZhbHVlc1wiIG11c3QgYmUgYSBsaXN0LCBub3QgYSAlLjIwMHMiLCB0bXAtPm9iX3R5cGUtPnRwX25hbWUpOwpAQCAtNTA1MiwxMSArNTE0MCwxMSBAQAogICAgICAgICBpZiAoaXNpbnN0YW5jZSkgewogICAgICAgICAgICAgICAgIGFzZGxfc2VxKiBlbHRzOwogCi0gICAgICAgICAgICAgICAgaWYgKFB5T2JqZWN0X0hhc0F0dHJTdHJpbmcob2JqLCAiZWx0cyIpKSB7CisgICAgICAgICAgICAgICAgaWYgKF9QeU9iamVjdF9IYXNBdHRySWQob2JqLCAmUHlJZF9lbHRzKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlczsKICAgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3QgbGVuOwogICAgICAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBpOwotICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyhvYmosICJlbHRzIik7CisgICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBfUHlPYmplY3RfR2V0QXR0cklkKG9iaiwgJlB5SWRfZWx0cyk7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodG1wID09IE5VTEwpIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFQeUxpc3RfQ2hlY2sodG1wKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLCAiU2V0IGZpZWxkIFwiZWx0c1wiIG11c3QgYmUgYSBsaXN0LCBub3QgYSAlLjIwMHMiLCB0bXAtPm9iX3R5cGUtPnRwX25hbWUpOwpAQCAtNTA4OSw5ICs1MTc3LDkgQEAKICAgICAgICAgICAgICAgICBleHByX3R5IGVsdDsKICAgICAgICAgICAgICAgICBhc2RsX3NlcSogZ2VuZXJhdG9yczsKIAotICAgICAgICAgICAgICAgIGlmIChQeU9iamVjdF9IYXNBdHRyU3RyaW5nKG9iaiwgImVsdCIpKSB7CisgICAgICAgICAgICAgICAgaWYgKF9QeU9iamVjdF9IYXNBdHRySWQob2JqLCAmUHlJZF9lbHQpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVzOwotICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyhvYmosICJlbHQiKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRtcCA9IF9QeU9iamVjdF9HZXRBdHRySWQob2JqLCAmUHlJZF9lbHQpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRtcCA9PSBOVUxMKSBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICAgICAgICAgIHJlcyA9IG9iajJhc3RfZXhwcih0bXAsICZlbHQsIGFyZW5hKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXMgIT0gMCkgZ290byBmYWlsZWQ7CkBAIC01MTAxLDExICs1MTg5LDExIEBACiAgICAgICAgICAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCAicmVxdWlyZWQgZmllbGQgXCJlbHRcIiBtaXNzaW5nIGZyb20gTGlzdENvbXAiKTsKICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAxOwogICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBpZiAoUHlPYmplY3RfSGFzQXR0clN0cmluZyhvYmosICJnZW5lcmF0b3JzIikpIHsKKyAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X0hhc0F0dHJJZChvYmosICZQeUlkX2dlbmVyYXRvcnMpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVzOwogICAgICAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBsZW47CiAgICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IGk7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKG9iaiwgImdlbmVyYXRvcnMiKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRtcCA9IF9QeU9iamVjdF9HZXRBdHRySWQob2JqLCAmUHlJZF9nZW5lcmF0b3JzKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0bXAgPT0gTlVMTCkgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIVB5TGlzdF9DaGVjayh0bXApKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsICJMaXN0Q29tcCBmaWVsZCBcImdlbmVyYXRvcnNcIiBtdXN0IGJlIGEgbGlzdCwgbm90IGEgJS4yMDBzIiwgdG1wLT5vYl90eXBlLT50cF9uYW1lKTsKQEAgLTUxMzgsOSArNTIyNiw5IEBACiAgICAgICAgICAgICAgICAgZXhwcl90eSBlbHQ7CiAgICAgICAgICAgICAgICAgYXNkbF9zZXEqIGdlbmVyYXRvcnM7CiAKLSAgICAgICAgICAgICAgICBpZiAoUHlPYmplY3RfSGFzQXR0clN0cmluZyhvYmosICJlbHQiKSkgeworICAgICAgICAgICAgICAgIGlmIChfUHlPYmplY3RfSGFzQXR0cklkKG9iaiwgJlB5SWRfZWx0KSkgewogICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlczsKLSAgICAgICAgICAgICAgICAgICAgICAgIHRtcCA9IFB5T2JqZWN0X0dldEF0dHJTdHJpbmcob2JqLCAiZWx0Iik7CisgICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBfUHlPYmplY3RfR2V0QXR0cklkKG9iaiwgJlB5SWRfZWx0KTsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0bXAgPT0gTlVMTCkgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgICAgICAgICByZXMgPSBvYmoyYXN0X2V4cHIodG1wLCAmZWx0LCBhcmVuYSk7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVzICE9IDApIGdvdG8gZmFpbGVkOwpAQCAtNTE1MCwxMSArNTIzOCwxMSBAQAogICAgICAgICAgICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgInJlcXVpcmVkIGZpZWxkIFwiZWx0XCIgbWlzc2luZyBmcm9tIFNldENvbXAiKTsKICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAxOwogICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBpZiAoUHlPYmplY3RfSGFzQXR0clN0cmluZyhvYmosICJnZW5lcmF0b3JzIikpIHsKKyAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X0hhc0F0dHJJZChvYmosICZQeUlkX2dlbmVyYXRvcnMpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVzOwogICAgICAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBsZW47CiAgICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IGk7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKG9iaiwgImdlbmVyYXRvcnMiKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRtcCA9IF9QeU9iamVjdF9HZXRBdHRySWQob2JqLCAmUHlJZF9nZW5lcmF0b3JzKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0bXAgPT0gTlVMTCkgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIVB5TGlzdF9DaGVjayh0bXApKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsICJTZXRDb21wIGZpZWxkIFwiZ2VuZXJhdG9yc1wiIG11c3QgYmUgYSBsaXN0LCBub3QgYSAlLjIwMHMiLCB0bXAtPm9iX3R5cGUtPnRwX25hbWUpOwpAQCAtNTE4OCw5ICs1Mjc2LDkgQEAKICAgICAgICAgICAgICAgICBleHByX3R5IHZhbHVlOwogICAgICAgICAgICAgICAgIGFzZGxfc2VxKiBnZW5lcmF0b3JzOwogCi0gICAgICAgICAgICAgICAgaWYgKFB5T2JqZWN0X0hhc0F0dHJTdHJpbmcob2JqLCAia2V5IikpIHsKKyAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X0hhc0F0dHJJZChvYmosICZQeUlkX2tleSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZXM7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKG9iaiwgImtleSIpOworICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gX1B5T2JqZWN0X0dldEF0dHJJZChvYmosICZQeUlkX2tleSk7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodG1wID09IE5VTEwpIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgICAgICAgICAgcmVzID0gb2JqMmFzdF9leHByKHRtcCwgJmtleSwgYXJlbmEpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlcyAhPSAwKSBnb3RvIGZhaWxlZDsKQEAgLTUyMDAsOSArNTI4OCw5IEBACiAgICAgICAgICAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCAicmVxdWlyZWQgZmllbGQgXCJrZXlcIiBtaXNzaW5nIGZyb20gRGljdENvbXAiKTsKICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAxOwogICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBpZiAoUHlPYmplY3RfSGFzQXR0clN0cmluZyhvYmosICJ2YWx1ZSIpKSB7CisgICAgICAgICAgICAgICAgaWYgKF9QeU9iamVjdF9IYXNBdHRySWQob2JqLCAmUHlJZF92YWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZXM7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKG9iaiwgInZhbHVlIik7CisgICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBfUHlPYmplY3RfR2V0QXR0cklkKG9iaiwgJlB5SWRfdmFsdWUpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRtcCA9PSBOVUxMKSBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICAgICAgICAgIHJlcyA9IG9iajJhc3RfZXhwcih0bXAsICZ2YWx1ZSwgYXJlbmEpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlcyAhPSAwKSBnb3RvIGZhaWxlZDsKQEAgLTUyMTIsMTEgKzUzMDAsMTEgQEAKICAgICAgICAgICAgICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsICJyZXF1aXJlZCBmaWVsZCBcInZhbHVlXCIgbWlzc2luZyBmcm9tIERpY3RDb21wIik7CiAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgaWYgKFB5T2JqZWN0X0hhc0F0dHJTdHJpbmcob2JqLCAiZ2VuZXJhdG9ycyIpKSB7CisgICAgICAgICAgICAgICAgaWYgKF9QeU9iamVjdF9IYXNBdHRySWQob2JqLCAmUHlJZF9nZW5lcmF0b3JzKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlczsKICAgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3QgbGVuOwogICAgICAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBpOwotICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyhvYmosICJnZW5lcmF0b3JzIik7CisgICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBfUHlPYmplY3RfR2V0QXR0cklkKG9iaiwgJlB5SWRfZ2VuZXJhdG9ycyk7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodG1wID09IE5VTEwpIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFQeUxpc3RfQ2hlY2sodG1wKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLCAiRGljdENvbXAgZmllbGQgXCJnZW5lcmF0b3JzXCIgbXVzdCBiZSBhIGxpc3QsIG5vdCBhICUuMjAwcyIsIHRtcC0+b2JfdHlwZS0+dHBfbmFtZSk7CkBAIC01MjUwLDkgKzUzMzgsOSBAQAogICAgICAgICAgICAgICAgIGV4cHJfdHkgZWx0OwogICAgICAgICAgICAgICAgIGFzZGxfc2VxKiBnZW5lcmF0b3JzOwogCi0gICAgICAgICAgICAgICAgaWYgKFB5T2JqZWN0X0hhc0F0dHJTdHJpbmcob2JqLCAiZWx0IikpIHsKKyAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X0hhc0F0dHJJZChvYmosICZQeUlkX2VsdCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZXM7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKG9iaiwgImVsdCIpOworICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gX1B5T2JqZWN0X0dldEF0dHJJZChvYmosICZQeUlkX2VsdCk7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodG1wID09IE5VTEwpIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgICAgICAgICAgcmVzID0gb2JqMmFzdF9leHByKHRtcCwgJmVsdCwgYXJlbmEpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlcyAhPSAwKSBnb3RvIGZhaWxlZDsKQEAgLTUyNjIsMTEgKzUzNTAsMTEgQEAKICAgICAgICAgICAgICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsICJyZXF1aXJlZCBmaWVsZCBcImVsdFwiIG1pc3NpbmcgZnJvbSBHZW5lcmF0b3JFeHAiKTsKICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAxOwogICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBpZiAoUHlPYmplY3RfSGFzQXR0clN0cmluZyhvYmosICJnZW5lcmF0b3JzIikpIHsKKyAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X0hhc0F0dHJJZChvYmosICZQeUlkX2dlbmVyYXRvcnMpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVzOwogICAgICAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBsZW47CiAgICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IGk7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKG9iaiwgImdlbmVyYXRvcnMiKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRtcCA9IF9QeU9iamVjdF9HZXRBdHRySWQob2JqLCAmUHlJZF9nZW5lcmF0b3JzKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0bXAgPT0gTlVMTCkgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIVB5TGlzdF9DaGVjayh0bXApKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsICJHZW5lcmF0b3JFeHAgZmllbGQgXCJnZW5lcmF0b3JzXCIgbXVzdCBiZSBhIGxpc3QsIG5vdCBhICUuMjAwcyIsIHRtcC0+b2JfdHlwZS0+dHBfbmFtZSk7CkBAIC01Mjk4LDkgKzUzODYsOSBAQAogICAgICAgICBpZiAoaXNpbnN0YW5jZSkgewogICAgICAgICAgICAgICAgIGV4cHJfdHkgdmFsdWU7CiAKLSAgICAgICAgICAgICAgICBpZiAoUHlPYmplY3RfSGFzQXR0clN0cmluZyhvYmosICJ2YWx1ZSIpKSB7CisgICAgICAgICAgICAgICAgaWYgKF9QeU9iamVjdF9IYXNBdHRySWQob2JqLCAmUHlJZF92YWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZXM7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKG9iaiwgInZhbHVlIik7CisgICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBfUHlPYmplY3RfR2V0QXR0cklkKG9iaiwgJlB5SWRfdmFsdWUpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRtcCA9PSBOVUxMKSBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICAgICAgICAgIHJlcyA9IG9iajJhc3RfZXhwcih0bXAsICZ2YWx1ZSwgYXJlbmEpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlcyAhPSAwKSBnb3RvIGZhaWxlZDsKQEAgLTUzMTMsNiArNTQwMSwyOCBAQAogICAgICAgICAgICAgICAgIGlmICgqb3V0ID09IE5VTEwpIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICB9CisgICAgICAgIGlzaW5zdGFuY2UgPSBQeU9iamVjdF9Jc0luc3RhbmNlKG9iaiwgKFB5T2JqZWN0KilZaWVsZEZyb21fdHlwZSk7CisgICAgICAgIGlmIChpc2luc3RhbmNlID09IC0xKSB7CisgICAgICAgICAgICAgICAgcmV0dXJuIDE7CisgICAgICAgIH0KKyAgICAgICAgaWYgKGlzaW5zdGFuY2UpIHsKKyAgICAgICAgICAgICAgICBleHByX3R5IHZhbHVlOworCisgICAgICAgICAgICAgICAgaWYgKF9QeU9iamVjdF9IYXNBdHRySWQob2JqLCAmUHlJZF92YWx1ZSkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGludCByZXM7CisgICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBfUHlPYmplY3RfR2V0QXR0cklkKG9iaiwgJlB5SWRfdmFsdWUpOworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRtcCA9PSBOVUxMKSBnb3RvIGZhaWxlZDsKKyAgICAgICAgICAgICAgICAgICAgICAgIHJlcyA9IG9iajJhc3RfZXhwcih0bXAsICZ2YWx1ZSwgYXJlbmEpOworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlcyAhPSAwKSBnb3RvIGZhaWxlZDsKKyAgICAgICAgICAgICAgICAgICAgICAgIFB5X1hERUNSRUYodG1wKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRtcCA9IE5VTEw7CisgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlID0gTlVMTDsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgKm91dCA9IFlpZWxkRnJvbSh2YWx1ZSwgbGluZW5vLCBjb2xfb2Zmc2V0LCBhcmVuYSk7CisgICAgICAgICAgICAgICAgaWYgKCpvdXQgPT0gTlVMTCkgZ290byBmYWlsZWQ7CisgICAgICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIH0KICAgICAgICAgaXNpbnN0YW5jZSA9IFB5T2JqZWN0X0lzSW5zdGFuY2Uob2JqLCAoUHlPYmplY3QqKUNvbXBhcmVfdHlwZSk7CiAgICAgICAgIGlmIChpc2luc3RhbmNlID09IC0xKSB7CiAgICAgICAgICAgICAgICAgcmV0dXJuIDE7CkBAIC01MzIyLDkgKzU0MzIsOSBAQAogICAgICAgICAgICAgICAgIGFzZGxfaW50X3NlcSogb3BzOwogICAgICAgICAgICAgICAgIGFzZGxfc2VxKiBjb21wYXJhdG9yczsKIAotICAgICAgICAgICAgICAgIGlmIChQeU9iamVjdF9IYXNBdHRyU3RyaW5nKG9iaiwgImxlZnQiKSkgeworICAgICAgICAgICAgICAgIGlmIChfUHlPYmplY3RfSGFzQXR0cklkKG9iaiwgJlB5SWRfbGVmdCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZXM7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKG9iaiwgImxlZnQiKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRtcCA9IF9QeU9iamVjdF9HZXRBdHRySWQob2JqLCAmUHlJZF9sZWZ0KTsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0bXAgPT0gTlVMTCkgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgICAgICAgICByZXMgPSBvYmoyYXN0X2V4cHIodG1wLCAmbGVmdCwgYXJlbmEpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlcyAhPSAwKSBnb3RvIGZhaWxlZDsKQEAgLTUzMzQsMTEgKzU0NDQsMTEgQEAKICAgICAgICAgICAgICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsICJyZXF1aXJlZCBmaWVsZCBcImxlZnRcIiBtaXNzaW5nIGZyb20gQ29tcGFyZSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGlmIChQeU9iamVjdF9IYXNBdHRyU3RyaW5nKG9iaiwgIm9wcyIpKSB7CisgICAgICAgICAgICAgICAgaWYgKF9QeU9iamVjdF9IYXNBdHRySWQob2JqLCAmUHlJZF9vcHMpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVzOwogICAgICAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBsZW47CiAgICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IGk7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKG9iaiwgIm9wcyIpOworICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gX1B5T2JqZWN0X0dldEF0dHJJZChvYmosICZQeUlkX29wcyk7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodG1wID09IE5VTEwpIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFQeUxpc3RfQ2hlY2sodG1wKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLCAiQ29tcGFyZSBmaWVsZCBcIm9wc1wiIG11c3QgYmUgYSBsaXN0LCBub3QgYSAlLjIwMHMiLCB0bXAtPm9iX3R5cGUtPnRwX25hbWUpOwpAQCAtNTM1OSwxMSArNTQ2OSwxMSBAQAogICAgICAgICAgICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgInJlcXVpcmVkIGZpZWxkIFwib3BzXCIgbWlzc2luZyBmcm9tIENvbXBhcmUiKTsKICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAxOwogICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBpZiAoUHlPYmplY3RfSGFzQXR0clN0cmluZyhvYmosICJjb21wYXJhdG9ycyIpKSB7CisgICAgICAgICAgICAgICAgaWYgKF9QeU9iamVjdF9IYXNBdHRySWQob2JqLCAmUHlJZF9jb21wYXJhdG9ycykpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZXM7CiAgICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IGxlbjsKICAgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3QgaTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHRtcCA9IFB5T2JqZWN0X0dldEF0dHJTdHJpbmcob2JqLCAiY29tcGFyYXRvcnMiKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRtcCA9IF9QeU9iamVjdF9HZXRBdHRySWQob2JqLCAmUHlJZF9jb21wYXJhdG9ycyk7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodG1wID09IE5VTEwpIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFQeUxpc3RfQ2hlY2sodG1wKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLCAiQ29tcGFyZSBmaWVsZCBcImNvbXBhcmF0b3JzXCIgbXVzdCBiZSBhIGxpc3QsIG5vdCBhICUuMjAwcyIsIHRtcC0+b2JfdHlwZS0+dHBfbmFtZSk7CkBAIC01NDAwLDkgKzU1MTAsOSBAQAogICAgICAgICAgICAgICAgIGV4cHJfdHkgc3RhcmFyZ3M7CiAgICAgICAgICAgICAgICAgZXhwcl90eSBrd2FyZ3M7CiAKLSAgICAgICAgICAgICAgICBpZiAoUHlPYmplY3RfSGFzQXR0clN0cmluZyhvYmosICJmdW5jIikpIHsKKyAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X0hhc0F0dHJJZChvYmosICZQeUlkX2Z1bmMpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVzOwotICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyhvYmosICJmdW5jIik7CisgICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBfUHlPYmplY3RfR2V0QXR0cklkKG9iaiwgJlB5SWRfZnVuYyk7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodG1wID09IE5VTEwpIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgICAgICAgICAgcmVzID0gb2JqMmFzdF9leHByKHRtcCwgJmZ1bmMsIGFyZW5hKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXMgIT0gMCkgZ290byBmYWlsZWQ7CkBAIC01NDEyLDExICs1NTIyLDExIEBACiAgICAgICAgICAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCAicmVxdWlyZWQgZmllbGQgXCJmdW5jXCIgbWlzc2luZyBmcm9tIENhbGwiKTsKICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAxOwogICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBpZiAoUHlPYmplY3RfSGFzQXR0clN0cmluZyhvYmosICJhcmdzIikpIHsKKyAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X0hhc0F0dHJJZChvYmosICZQeUlkX2FyZ3MpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVzOwogICAgICAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBsZW47CiAgICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IGk7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKG9iaiwgImFyZ3MiKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRtcCA9IF9QeU9iamVjdF9HZXRBdHRySWQob2JqLCAmUHlJZF9hcmdzKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0bXAgPT0gTlVMTCkgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIVB5TGlzdF9DaGVjayh0bXApKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsICJDYWxsIGZpZWxkIFwiYXJnc1wiIG11c3QgYmUgYSBsaXN0LCBub3QgYSAlLjIwMHMiLCB0bXAtPm9iX3R5cGUtPnRwX25hbWUpOwpAQCAtNTQzNywxMSArNTU0NywxMSBAQAogICAgICAgICAgICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgInJlcXVpcmVkIGZpZWxkIFwiYXJnc1wiIG1pc3NpbmcgZnJvbSBDYWxsIik7CiAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgaWYgKFB5T2JqZWN0X0hhc0F0dHJTdHJpbmcob2JqLCAia2V5d29yZHMiKSkgeworICAgICAgICAgICAgICAgIGlmIChfUHlPYmplY3RfSGFzQXR0cklkKG9iaiwgJlB5SWRfa2V5d29yZHMpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVzOwogICAgICAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBsZW47CiAgICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IGk7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKG9iaiwgImtleXdvcmRzIik7CisgICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBfUHlPYmplY3RfR2V0QXR0cklkKG9iaiwgJlB5SWRfa2V5d29yZHMpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRtcCA9PSBOVUxMKSBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghUHlMaXN0X0NoZWNrKHRtcCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1R5cGVFcnJvciwgIkNhbGwgZmllbGQgXCJrZXl3b3Jkc1wiIG11c3QgYmUgYSBsaXN0LCBub3QgYSAlLjIwMHMiLCB0bXAtPm9iX3R5cGUtPnRwX25hbWUpOwpAQCAtNTQ2Miw5ICs1NTcyLDkgQEAKICAgICAgICAgICAgICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsICJyZXF1aXJlZCBmaWVsZCBcImtleXdvcmRzXCIgbWlzc2luZyBmcm9tIENhbGwiKTsKICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAxOwogICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBpZiAoUHlPYmplY3RfSGFzQXR0clN0cmluZyhvYmosICJzdGFyYXJncyIpKSB7CisgICAgICAgICAgICAgICAgaWYgKF9QeU9iamVjdF9IYXNBdHRySWQob2JqLCAmUHlJZF9zdGFyYXJncykpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZXM7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKG9iaiwgInN0YXJhcmdzIik7CisgICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBfUHlPYmplY3RfR2V0QXR0cklkKG9iaiwgJlB5SWRfc3RhcmFyZ3MpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRtcCA9PSBOVUxMKSBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICAgICAgICAgIHJlcyA9IG9iajJhc3RfZXhwcih0bXAsICZzdGFyYXJncywgYXJlbmEpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlcyAhPSAwKSBnb3RvIGZhaWxlZDsKQEAgLTU0NzMsOSArNTU4Myw5IEBACiAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJhcmdzID0gTlVMTDsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgaWYgKFB5T2JqZWN0X0hhc0F0dHJTdHJpbmcob2JqLCAia3dhcmdzIikpIHsKKyAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X0hhc0F0dHJJZChvYmosICZQeUlkX2t3YXJncykpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZXM7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKG9iaiwgImt3YXJncyIpOworICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gX1B5T2JqZWN0X0dldEF0dHJJZChvYmosICZQeUlkX2t3YXJncyk7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodG1wID09IE5VTEwpIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgICAgICAgICAgcmVzID0gb2JqMmFzdF9leHByKHRtcCwgJmt3YXJncywgYXJlbmEpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlcyAhPSAwKSBnb3RvIGZhaWxlZDsKQEAgLTU0OTYsOSArNTYwNiw5IEBACiAgICAgICAgIGlmIChpc2luc3RhbmNlKSB7CiAgICAgICAgICAgICAgICAgb2JqZWN0IG47CiAKLSAgICAgICAgICAgICAgICBpZiAoUHlPYmplY3RfSGFzQXR0clN0cmluZyhvYmosICJuIikpIHsKKyAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X0hhc0F0dHJJZChvYmosICZQeUlkX24pKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVzOwotICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyhvYmosICJuIik7CisgICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBfUHlPYmplY3RfR2V0QXR0cklkKG9iaiwgJlB5SWRfbik7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodG1wID09IE5VTEwpIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgICAgICAgICAgcmVzID0gb2JqMmFzdF9vYmplY3QodG1wLCAmbiwgYXJlbmEpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlcyAhPSAwKSBnb3RvIGZhaWxlZDsKQEAgLTU1MTksOSArNTYyOSw5IEBACiAgICAgICAgIGlmIChpc2luc3RhbmNlKSB7CiAgICAgICAgICAgICAgICAgc3RyaW5nIHM7CiAKLSAgICAgICAgICAgICAgICBpZiAoUHlPYmplY3RfSGFzQXR0clN0cmluZyhvYmosICJzIikpIHsKKyAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X0hhc0F0dHJJZChvYmosICZQeUlkX3MpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVzOwotICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyhvYmosICJzIik7CisgICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBfUHlPYmplY3RfR2V0QXR0cklkKG9iaiwgJlB5SWRfcyk7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodG1wID09IE5VTEwpIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgICAgICAgICAgcmVzID0gb2JqMmFzdF9zdHJpbmcodG1wLCAmcywgYXJlbmEpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlcyAhPSAwKSBnb3RvIGZhaWxlZDsKQEAgLTU1NDAsMTMgKzU2NTAsMTMgQEAKICAgICAgICAgICAgICAgICByZXR1cm4gMTsKICAgICAgICAgfQogICAgICAgICBpZiAoaXNpbnN0YW5jZSkgewotICAgICAgICAgICAgICAgIHN0cmluZyBzOworICAgICAgICAgICAgICAgIGJ5dGVzIHM7CiAKLSAgICAgICAgICAgICAgICBpZiAoUHlPYmplY3RfSGFzQXR0clN0cmluZyhvYmosICJzIikpIHsKKyAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X0hhc0F0dHJJZChvYmosICZQeUlkX3MpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVzOwotICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyhvYmosICJzIik7CisgICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBfUHlPYmplY3RfR2V0QXR0cklkKG9iaiwgJlB5SWRfcyk7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodG1wID09IE5VTEwpIGdvdG8gZmFpbGVkOwotICAgICAgICAgICAgICAgICAgICAgICAgcmVzID0gb2JqMmFzdF9zdHJpbmcodG1wLCAmcywgYXJlbmEpOworICAgICAgICAgICAgICAgICAgICAgICAgcmVzID0gb2JqMmFzdF9ieXRlcyh0bXAsICZzLCBhcmVuYSk7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVzICE9IDApIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgICAgICAgICAgUHlfWERFQ1JFRih0bXApOwogICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gTlVMTDsKQEAgLTU1NzcsOSArNTY4Nyw5IEBACiAgICAgICAgICAgICAgICAgaWRlbnRpZmllciBhdHRyOwogICAgICAgICAgICAgICAgIGV4cHJfY29udGV4dF90eSBjdHg7CiAKLSAgICAgICAgICAgICAgICBpZiAoUHlPYmplY3RfSGFzQXR0clN0cmluZyhvYmosICJ2YWx1ZSIpKSB7CisgICAgICAgICAgICAgICAgaWYgKF9QeU9iamVjdF9IYXNBdHRySWQob2JqLCAmUHlJZF92YWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZXM7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKG9iaiwgInZhbHVlIik7CisgICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBfUHlPYmplY3RfR2V0QXR0cklkKG9iaiwgJlB5SWRfdmFsdWUpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRtcCA9PSBOVUxMKSBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICAgICAgICAgIHJlcyA9IG9iajJhc3RfZXhwcih0bXAsICZ2YWx1ZSwgYXJlbmEpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlcyAhPSAwKSBnb3RvIGZhaWxlZDsKQEAgLTU1ODksOSArNTY5OSw5IEBACiAgICAgICAgICAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCAicmVxdWlyZWQgZmllbGQgXCJ2YWx1ZVwiIG1pc3NpbmcgZnJvbSBBdHRyaWJ1dGUiKTsKICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAxOwogICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBpZiAoUHlPYmplY3RfSGFzQXR0clN0cmluZyhvYmosICJhdHRyIikpIHsKKyAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X0hhc0F0dHJJZChvYmosICZQeUlkX2F0dHIpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVzOwotICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyhvYmosICJhdHRyIik7CisgICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBfUHlPYmplY3RfR2V0QXR0cklkKG9iaiwgJlB5SWRfYXR0cik7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodG1wID09IE5VTEwpIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgICAgICAgICAgcmVzID0gb2JqMmFzdF9pZGVudGlmaWVyKHRtcCwgJmF0dHIsIGFyZW5hKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXMgIT0gMCkgZ290byBmYWlsZWQ7CkBAIC01NjAxLDkgKzU3MTEsOSBAQAogICAgICAgICAgICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgInJlcXVpcmVkIGZpZWxkIFwiYXR0clwiIG1pc3NpbmcgZnJvbSBBdHRyaWJ1dGUiKTsKICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAxOwogICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBpZiAoUHlPYmplY3RfSGFzQXR0clN0cmluZyhvYmosICJjdHgiKSkgeworICAgICAgICAgICAgICAgIGlmIChfUHlPYmplY3RfSGFzQXR0cklkKG9iaiwgJlB5SWRfY3R4KSkgewogICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlczsKLSAgICAgICAgICAgICAgICAgICAgICAgIHRtcCA9IFB5T2JqZWN0X0dldEF0dHJTdHJpbmcob2JqLCAiY3R4Iik7CisgICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBfUHlPYmplY3RfR2V0QXR0cklkKG9iaiwgJlB5SWRfY3R4KTsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0bXAgPT0gTlVMTCkgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgICAgICAgICByZXMgPSBvYmoyYXN0X2V4cHJfY29udGV4dCh0bXAsICZjdHgsIGFyZW5hKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXMgIT0gMCkgZ290byBmYWlsZWQ7CkBAIC01NjI2LDkgKzU3MzYsOSBAQAogICAgICAgICAgICAgICAgIHNsaWNlX3R5IHNsaWNlOwogICAgICAgICAgICAgICAgIGV4cHJfY29udGV4dF90eSBjdHg7CiAKLSAgICAgICAgICAgICAgICBpZiAoUHlPYmplY3RfSGFzQXR0clN0cmluZyhvYmosICJ2YWx1ZSIpKSB7CisgICAgICAgICAgICAgICAgaWYgKF9QeU9iamVjdF9IYXNBdHRySWQob2JqLCAmUHlJZF92YWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZXM7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKG9iaiwgInZhbHVlIik7CisgICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBfUHlPYmplY3RfR2V0QXR0cklkKG9iaiwgJlB5SWRfdmFsdWUpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRtcCA9PSBOVUxMKSBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICAgICAgICAgIHJlcyA9IG9iajJhc3RfZXhwcih0bXAsICZ2YWx1ZSwgYXJlbmEpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlcyAhPSAwKSBnb3RvIGZhaWxlZDsKQEAgLTU2MzgsOSArNTc0OCw5IEBACiAgICAgICAgICAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCAicmVxdWlyZWQgZmllbGQgXCJ2YWx1ZVwiIG1pc3NpbmcgZnJvbSBTdWJzY3JpcHQiKTsKICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAxOwogICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBpZiAoUHlPYmplY3RfSGFzQXR0clN0cmluZyhvYmosICJzbGljZSIpKSB7CisgICAgICAgICAgICAgICAgaWYgKF9QeU9iamVjdF9IYXNBdHRySWQob2JqLCAmUHlJZF9zbGljZSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZXM7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKG9iaiwgInNsaWNlIik7CisgICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBfUHlPYmplY3RfR2V0QXR0cklkKG9iaiwgJlB5SWRfc2xpY2UpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRtcCA9PSBOVUxMKSBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICAgICAgICAgIHJlcyA9IG9iajJhc3Rfc2xpY2UodG1wLCAmc2xpY2UsIGFyZW5hKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXMgIT0gMCkgZ290byBmYWlsZWQ7CkBAIC01NjUwLDkgKzU3NjAsOSBAQAogICAgICAgICAgICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgInJlcXVpcmVkIGZpZWxkIFwic2xpY2VcIiBtaXNzaW5nIGZyb20gU3Vic2NyaXB0Iik7CiAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgaWYgKFB5T2JqZWN0X0hhc0F0dHJTdHJpbmcob2JqLCAiY3R4IikpIHsKKyAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X0hhc0F0dHJJZChvYmosICZQeUlkX2N0eCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZXM7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKG9iaiwgImN0eCIpOworICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gX1B5T2JqZWN0X0dldEF0dHJJZChvYmosICZQeUlkX2N0eCk7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodG1wID09IE5VTEwpIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgICAgICAgICAgcmVzID0gb2JqMmFzdF9leHByX2NvbnRleHQodG1wLCAmY3R4LCBhcmVuYSk7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVzICE9IDApIGdvdG8gZmFpbGVkOwpAQCAtNTY3NCw5ICs1Nzg0LDkgQEAKICAgICAgICAgICAgICAgICBleHByX3R5IHZhbHVlOwogICAgICAgICAgICAgICAgIGV4cHJfY29udGV4dF90eSBjdHg7CiAKLSAgICAgICAgICAgICAgICBpZiAoUHlPYmplY3RfSGFzQXR0clN0cmluZyhvYmosICJ2YWx1ZSIpKSB7CisgICAgICAgICAgICAgICAgaWYgKF9QeU9iamVjdF9IYXNBdHRySWQob2JqLCAmUHlJZF92YWx1ZSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZXM7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKG9iaiwgInZhbHVlIik7CisgICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBfUHlPYmplY3RfR2V0QXR0cklkKG9iaiwgJlB5SWRfdmFsdWUpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRtcCA9PSBOVUxMKSBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICAgICAgICAgIHJlcyA9IG9iajJhc3RfZXhwcih0bXAsICZ2YWx1ZSwgYXJlbmEpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlcyAhPSAwKSBnb3RvIGZhaWxlZDsKQEAgLTU2ODYsOSArNTc5Niw5IEBACiAgICAgICAgICAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCAicmVxdWlyZWQgZmllbGQgXCJ2YWx1ZVwiIG1pc3NpbmcgZnJvbSBTdGFycmVkIik7CiAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgaWYgKFB5T2JqZWN0X0hhc0F0dHJTdHJpbmcob2JqLCAiY3R4IikpIHsKKyAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X0hhc0F0dHJJZChvYmosICZQeUlkX2N0eCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZXM7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKG9iaiwgImN0eCIpOworICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gX1B5T2JqZWN0X0dldEF0dHJJZChvYmosICZQeUlkX2N0eCk7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodG1wID09IE5VTEwpIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgICAgICAgICAgcmVzID0gb2JqMmFzdF9leHByX2NvbnRleHQodG1wLCAmY3R4LCBhcmVuYSk7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVzICE9IDApIGdvdG8gZmFpbGVkOwpAQCAtNTcxMCw5ICs1ODIwLDkgQEAKICAgICAgICAgICAgICAgICBpZGVudGlmaWVyIGlkOwogICAgICAgICAgICAgICAgIGV4cHJfY29udGV4dF90eSBjdHg7CiAKLSAgICAgICAgICAgICAgICBpZiAoUHlPYmplY3RfSGFzQXR0clN0cmluZyhvYmosICJpZCIpKSB7CisgICAgICAgICAgICAgICAgaWYgKF9QeU9iamVjdF9IYXNBdHRySWQob2JqLCAmUHlJZF9pZCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZXM7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKG9iaiwgImlkIik7CisgICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBfUHlPYmplY3RfR2V0QXR0cklkKG9iaiwgJlB5SWRfaWQpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRtcCA9PSBOVUxMKSBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICAgICAgICAgIHJlcyA9IG9iajJhc3RfaWRlbnRpZmllcih0bXAsICZpZCwgYXJlbmEpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlcyAhPSAwKSBnb3RvIGZhaWxlZDsKQEAgLTU3MjIsOSArNTgzMiw5IEBACiAgICAgICAgICAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCAicmVxdWlyZWQgZmllbGQgXCJpZFwiIG1pc3NpbmcgZnJvbSBOYW1lIik7CiAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgaWYgKFB5T2JqZWN0X0hhc0F0dHJTdHJpbmcob2JqLCAiY3R4IikpIHsKKyAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X0hhc0F0dHJJZChvYmosICZQeUlkX2N0eCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZXM7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKG9iaiwgImN0eCIpOworICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gX1B5T2JqZWN0X0dldEF0dHJJZChvYmosICZQeUlkX2N0eCk7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodG1wID09IE5VTEwpIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgICAgICAgICAgcmVzID0gb2JqMmFzdF9leHByX2NvbnRleHQodG1wLCAmY3R4LCBhcmVuYSk7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVzICE9IDApIGdvdG8gZmFpbGVkOwpAQCAtNTc0NiwxMSArNTg1NiwxMSBAQAogICAgICAgICAgICAgICAgIGFzZGxfc2VxKiBlbHRzOwogICAgICAgICAgICAgICAgIGV4cHJfY29udGV4dF90eSBjdHg7CiAKLSAgICAgICAgICAgICAgICBpZiAoUHlPYmplY3RfSGFzQXR0clN0cmluZyhvYmosICJlbHRzIikpIHsKKyAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X0hhc0F0dHJJZChvYmosICZQeUlkX2VsdHMpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVzOwogICAgICAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBsZW47CiAgICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IGk7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKG9iaiwgImVsdHMiKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRtcCA9IF9QeU9iamVjdF9HZXRBdHRySWQob2JqLCAmUHlJZF9lbHRzKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0bXAgPT0gTlVMTCkgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIVB5TGlzdF9DaGVjayh0bXApKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsICJMaXN0IGZpZWxkIFwiZWx0c1wiIG11c3QgYmUgYSBsaXN0LCBub3QgYSAlLjIwMHMiLCB0bXAtPm9iX3R5cGUtPnRwX25hbWUpOwpAQCAtNTc3MSw5ICs1ODgxLDkgQEAKICAgICAgICAgICAgICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsICJyZXF1aXJlZCBmaWVsZCBcImVsdHNcIiBtaXNzaW5nIGZyb20gTGlzdCIpOwogICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGlmIChQeU9iamVjdF9IYXNBdHRyU3RyaW5nKG9iaiwgImN0eCIpKSB7CisgICAgICAgICAgICAgICAgaWYgKF9QeU9iamVjdF9IYXNBdHRySWQob2JqLCAmUHlJZF9jdHgpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVzOwotICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyhvYmosICJjdHgiKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRtcCA9IF9QeU9iamVjdF9HZXRBdHRySWQob2JqLCAmUHlJZF9jdHgpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRtcCA9PSBOVUxMKSBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICAgICAgICAgIHJlcyA9IG9iajJhc3RfZXhwcl9jb250ZXh0KHRtcCwgJmN0eCwgYXJlbmEpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlcyAhPSAwKSBnb3RvIGZhaWxlZDsKQEAgLTU3OTUsMTEgKzU5MDUsMTEgQEAKICAgICAgICAgICAgICAgICBhc2RsX3NlcSogZWx0czsKICAgICAgICAgICAgICAgICBleHByX2NvbnRleHRfdHkgY3R4OwogCi0gICAgICAgICAgICAgICAgaWYgKFB5T2JqZWN0X0hhc0F0dHJTdHJpbmcob2JqLCAiZWx0cyIpKSB7CisgICAgICAgICAgICAgICAgaWYgKF9QeU9iamVjdF9IYXNBdHRySWQob2JqLCAmUHlJZF9lbHRzKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlczsKICAgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3QgbGVuOwogICAgICAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBpOwotICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyhvYmosICJlbHRzIik7CisgICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBfUHlPYmplY3RfR2V0QXR0cklkKG9iaiwgJlB5SWRfZWx0cyk7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodG1wID09IE5VTEwpIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFQeUxpc3RfQ2hlY2sodG1wKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLCAiVHVwbGUgZmllbGQgXCJlbHRzXCIgbXVzdCBiZSBhIGxpc3QsIG5vdCBhICUuMjAwcyIsIHRtcC0+b2JfdHlwZS0+dHBfbmFtZSk7CkBAIC01ODIwLDkgKzU5MzAsOSBAQAogICAgICAgICAgICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgInJlcXVpcmVkIGZpZWxkIFwiZWx0c1wiIG1pc3NpbmcgZnJvbSBUdXBsZSIpOwogICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGlmIChQeU9iamVjdF9IYXNBdHRyU3RyaW5nKG9iaiwgImN0eCIpKSB7CisgICAgICAgICAgICAgICAgaWYgKF9QeU9iamVjdF9IYXNBdHRySWQob2JqLCAmUHlJZF9jdHgpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVzOwotICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyhvYmosICJjdHgiKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRtcCA9IF9QeU9iamVjdF9HZXRBdHRySWQob2JqLCAmUHlJZF9jdHgpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRtcCA9PSBOVUxMKSBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICAgICAgICAgIHJlcyA9IG9iajJhc3RfZXhwcl9jb250ZXh0KHRtcCwgJmN0eCwgYXJlbmEpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlcyAhPSAwKSBnb3RvIGZhaWxlZDsKQEAgLTU5MjEsOSArNjAzMSw5IEBACiAgICAgICAgICAgICAgICAgZXhwcl90eSB1cHBlcjsKICAgICAgICAgICAgICAgICBleHByX3R5IHN0ZXA7CiAKLSAgICAgICAgICAgICAgICBpZiAoUHlPYmplY3RfSGFzQXR0clN0cmluZyhvYmosICJsb3dlciIpKSB7CisgICAgICAgICAgICAgICAgaWYgKF9QeU9iamVjdF9IYXNBdHRySWQob2JqLCAmUHlJZF9sb3dlcikpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZXM7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKG9iaiwgImxvd2VyIik7CisgICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBfUHlPYmplY3RfR2V0QXR0cklkKG9iaiwgJlB5SWRfbG93ZXIpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRtcCA9PSBOVUxMKSBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICAgICAgICAgIHJlcyA9IG9iajJhc3RfZXhwcih0bXAsICZsb3dlciwgYXJlbmEpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlcyAhPSAwKSBnb3RvIGZhaWxlZDsKQEAgLTU5MzIsOSArNjA0Miw5IEBACiAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgIGxvd2VyID0gTlVMTDsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgaWYgKFB5T2JqZWN0X0hhc0F0dHJTdHJpbmcob2JqLCAidXBwZXIiKSkgeworICAgICAgICAgICAgICAgIGlmIChfUHlPYmplY3RfSGFzQXR0cklkKG9iaiwgJlB5SWRfdXBwZXIpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVzOwotICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyhvYmosICJ1cHBlciIpOworICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gX1B5T2JqZWN0X0dldEF0dHJJZChvYmosICZQeUlkX3VwcGVyKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0bXAgPT0gTlVMTCkgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgICAgICAgICByZXMgPSBvYmoyYXN0X2V4cHIodG1wLCAmdXBwZXIsIGFyZW5hKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXMgIT0gMCkgZ290byBmYWlsZWQ7CkBAIC01OTQzLDkgKzYwNTMsOSBAQAogICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICB1cHBlciA9IE5VTEw7CiAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGlmIChQeU9iamVjdF9IYXNBdHRyU3RyaW5nKG9iaiwgInN0ZXAiKSkgeworICAgICAgICAgICAgICAgIGlmIChfUHlPYmplY3RfSGFzQXR0cklkKG9iaiwgJlB5SWRfc3RlcCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZXM7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKG9iaiwgInN0ZXAiKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRtcCA9IF9QeU9iamVjdF9HZXRBdHRySWQob2JqLCAmUHlJZF9zdGVwKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0bXAgPT0gTlVMTCkgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgICAgICAgICByZXMgPSBvYmoyYXN0X2V4cHIodG1wLCAmc3RlcCwgYXJlbmEpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlcyAhPSAwKSBnb3RvIGZhaWxlZDsKQEAgLTU5NjUsMTEgKzYwNzUsMTEgQEAKICAgICAgICAgaWYgKGlzaW5zdGFuY2UpIHsKICAgICAgICAgICAgICAgICBhc2RsX3NlcSogZGltczsKIAotICAgICAgICAgICAgICAgIGlmIChQeU9iamVjdF9IYXNBdHRyU3RyaW5nKG9iaiwgImRpbXMiKSkgeworICAgICAgICAgICAgICAgIGlmIChfUHlPYmplY3RfSGFzQXR0cklkKG9iaiwgJlB5SWRfZGltcykpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZXM7CiAgICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IGxlbjsKICAgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3QgaTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHRtcCA9IFB5T2JqZWN0X0dldEF0dHJTdHJpbmcob2JqLCAiZGltcyIpOworICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gX1B5T2JqZWN0X0dldEF0dHJJZChvYmosICZQeUlkX2RpbXMpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRtcCA9PSBOVUxMKSBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghUHlMaXN0X0NoZWNrKHRtcCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1R5cGVFcnJvciwgIkV4dFNsaWNlIGZpZWxkIFwiZGltc1wiIG11c3QgYmUgYSBsaXN0LCBub3QgYSAlLjIwMHMiLCB0bXAtPm9iX3R5cGUtPnRwX25hbWUpOwpAQCAtNjAwMSw5ICs2MTExLDkgQEAKICAgICAgICAgaWYgKGlzaW5zdGFuY2UpIHsKICAgICAgICAgICAgICAgICBleHByX3R5IHZhbHVlOwogCi0gICAgICAgICAgICAgICAgaWYgKFB5T2JqZWN0X0hhc0F0dHJTdHJpbmcob2JqLCAidmFsdWUiKSkgeworICAgICAgICAgICAgICAgIGlmIChfUHlPYmplY3RfSGFzQXR0cklkKG9iaiwgJlB5SWRfdmFsdWUpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVzOwotICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyhvYmosICJ2YWx1ZSIpOworICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gX1B5T2JqZWN0X0dldEF0dHJJZChvYmosICZQeUlkX3ZhbHVlKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0bXAgPT0gTlVMTCkgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgICAgICAgICByZXMgPSBvYmoyYXN0X2V4cHIodG1wLCAmdmFsdWUsIGFyZW5hKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXMgIT0gMCkgZ290byBmYWlsZWQ7CkBAIC02Mjk2LDkgKzY0MDYsOSBAQAogICAgICAgICBleHByX3R5IGl0ZXI7CiAgICAgICAgIGFzZGxfc2VxKiBpZnM7CiAKLSAgICAgICAgaWYgKFB5T2JqZWN0X0hhc0F0dHJTdHJpbmcob2JqLCAidGFyZ2V0IikpIHsKKyAgICAgICAgaWYgKF9QeU9iamVjdF9IYXNBdHRySWQob2JqLCAmUHlJZF90YXJnZXQpKSB7CiAgICAgICAgICAgICAgICAgaW50IHJlczsKLSAgICAgICAgICAgICAgICB0bXAgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKG9iaiwgInRhcmdldCIpOworICAgICAgICAgICAgICAgIHRtcCA9IF9QeU9iamVjdF9HZXRBdHRySWQob2JqLCAmUHlJZF90YXJnZXQpOwogICAgICAgICAgICAgICAgIGlmICh0bXAgPT0gTlVMTCkgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgcmVzID0gb2JqMmFzdF9leHByKHRtcCwgJnRhcmdldCwgYXJlbmEpOwogICAgICAgICAgICAgICAgIGlmIChyZXMgIT0gMCkgZ290byBmYWlsZWQ7CkBAIC02MzA4LDkgKzY0MTgsOSBAQAogICAgICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsICJyZXF1aXJlZCBmaWVsZCBcInRhcmdldFwiIG1pc3NpbmcgZnJvbSBjb21wcmVoZW5zaW9uIik7CiAgICAgICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgIH0KLSAgICAgICAgaWYgKFB5T2JqZWN0X0hhc0F0dHJTdHJpbmcob2JqLCAiaXRlciIpKSB7CisgICAgICAgIGlmIChfUHlPYmplY3RfSGFzQXR0cklkKG9iaiwgJlB5SWRfaXRlcikpIHsKICAgICAgICAgICAgICAgICBpbnQgcmVzOwotICAgICAgICAgICAgICAgIHRtcCA9IFB5T2JqZWN0X0dldEF0dHJTdHJpbmcob2JqLCAiaXRlciIpOworICAgICAgICAgICAgICAgIHRtcCA9IF9QeU9iamVjdF9HZXRBdHRySWQob2JqLCAmUHlJZF9pdGVyKTsKICAgICAgICAgICAgICAgICBpZiAodG1wID09IE5VTEwpIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgIHJlcyA9IG9iajJhc3RfZXhwcih0bXAsICZpdGVyLCBhcmVuYSk7CiAgICAgICAgICAgICAgICAgaWYgKHJlcyAhPSAwKSBnb3RvIGZhaWxlZDsKQEAgLTYzMjAsMTEgKzY0MzAsMTEgQEAKICAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCAicmVxdWlyZWQgZmllbGQgXCJpdGVyXCIgbWlzc2luZyBmcm9tIGNvbXByZWhlbnNpb24iKTsKICAgICAgICAgICAgICAgICByZXR1cm4gMTsKICAgICAgICAgfQotICAgICAgICBpZiAoUHlPYmplY3RfSGFzQXR0clN0cmluZyhvYmosICJpZnMiKSkgeworICAgICAgICBpZiAoX1B5T2JqZWN0X0hhc0F0dHJJZChvYmosICZQeUlkX2lmcykpIHsKICAgICAgICAgICAgICAgICBpbnQgcmVzOwogICAgICAgICAgICAgICAgIFB5X3NzaXplX3QgbGVuOwogICAgICAgICAgICAgICAgIFB5X3NzaXplX3QgaTsKLSAgICAgICAgICAgICAgICB0bXAgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKG9iaiwgImlmcyIpOworICAgICAgICAgICAgICAgIHRtcCA9IF9QeU9iamVjdF9HZXRBdHRySWQob2JqLCAmUHlJZF9pZnMpOwogICAgICAgICAgICAgICAgIGlmICh0bXAgPT0gTlVMTCkgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgaWYgKCFQeUxpc3RfQ2hlY2sodG1wKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1R5cGVFcnJvciwgImNvbXByZWhlbnNpb24gZmllbGQgXCJpZnNcIiBtdXN0IGJlIGEgbGlzdCwgbm90IGEgJS4yMDBzIiwgdG1wLT5vYl90eXBlLT50cF9uYW1lKTsKQEAgLTYzNjUsOSArNjQ3NSw5IEBACiAgICAgICAgICAgICAgICAgKm91dCA9IE5VTEw7CiAgICAgICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgIH0KLSAgICAgICAgaWYgKFB5T2JqZWN0X0hhc0F0dHJTdHJpbmcob2JqLCAibGluZW5vIikpIHsKKyAgICAgICAgaWYgKF9QeU9iamVjdF9IYXNBdHRySWQob2JqLCAmUHlJZF9saW5lbm8pKSB7CiAgICAgICAgICAgICAgICAgaW50IHJlczsKLSAgICAgICAgICAgICAgICB0bXAgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKG9iaiwgImxpbmVubyIpOworICAgICAgICAgICAgICAgIHRtcCA9IF9QeU9iamVjdF9HZXRBdHRySWQob2JqLCAmUHlJZF9saW5lbm8pOwogICAgICAgICAgICAgICAgIGlmICh0bXAgPT0gTlVMTCkgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgcmVzID0gb2JqMmFzdF9pbnQodG1wLCAmbGluZW5vLCBhcmVuYSk7CiAgICAgICAgICAgICAgICAgaWYgKHJlcyAhPSAwKSBnb3RvIGZhaWxlZDsKQEAgLTYzNzcsOSArNjQ4Nyw5IEBACiAgICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgInJlcXVpcmVkIGZpZWxkIFwibGluZW5vXCIgbWlzc2luZyBmcm9tIGV4Y2VwdGhhbmRsZXIiKTsKICAgICAgICAgICAgICAgICByZXR1cm4gMTsKICAgICAgICAgfQotICAgICAgICBpZiAoUHlPYmplY3RfSGFzQXR0clN0cmluZyhvYmosICJjb2xfb2Zmc2V0IikpIHsKKyAgICAgICAgaWYgKF9QeU9iamVjdF9IYXNBdHRySWQob2JqLCAmUHlJZF9jb2xfb2Zmc2V0KSkgewogICAgICAgICAgICAgICAgIGludCByZXM7Ci0gICAgICAgICAgICAgICAgdG1wID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyhvYmosICJjb2xfb2Zmc2V0Iik7CisgICAgICAgICAgICAgICAgdG1wID0gX1B5T2JqZWN0X0dldEF0dHJJZChvYmosICZQeUlkX2NvbF9vZmZzZXQpOwogICAgICAgICAgICAgICAgIGlmICh0bXAgPT0gTlVMTCkgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgcmVzID0gb2JqMmFzdF9pbnQodG1wLCAmY29sX29mZnNldCwgYXJlbmEpOwogICAgICAgICAgICAgICAgIGlmIChyZXMgIT0gMCkgZ290byBmYWlsZWQ7CkBAIC02Mzk4LDkgKzY1MDgsOSBAQAogICAgICAgICAgICAgICAgIGlkZW50aWZpZXIgbmFtZTsKICAgICAgICAgICAgICAgICBhc2RsX3NlcSogYm9keTsKIAotICAgICAgICAgICAgICAgIGlmIChQeU9iamVjdF9IYXNBdHRyU3RyaW5nKG9iaiwgInR5cGUiKSkgeworICAgICAgICAgICAgICAgIGlmIChfUHlPYmplY3RfSGFzQXR0cklkKG9iaiwgJlB5SWRfdHlwZSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZXM7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKG9iaiwgInR5cGUiKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRtcCA9IF9QeU9iamVjdF9HZXRBdHRySWQob2JqLCAmUHlJZF90eXBlKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0bXAgPT0gTlVMTCkgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgICAgICAgICByZXMgPSBvYmoyYXN0X2V4cHIodG1wLCAmdHlwZSwgYXJlbmEpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlcyAhPSAwKSBnb3RvIGZhaWxlZDsKQEAgLTY0MDksOSArNjUxOSw5IEBACiAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGUgPSBOVUxMOwogICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBpZiAoUHlPYmplY3RfSGFzQXR0clN0cmluZyhvYmosICJuYW1lIikpIHsKKyAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X0hhc0F0dHJJZChvYmosICZQeUlkX25hbWUpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVzOwotICAgICAgICAgICAgICAgICAgICAgICAgdG1wID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyhvYmosICJuYW1lIik7CisgICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBfUHlPYmplY3RfR2V0QXR0cklkKG9iaiwgJlB5SWRfbmFtZSk7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodG1wID09IE5VTEwpIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgICAgICAgICAgcmVzID0gb2JqMmFzdF9pZGVudGlmaWVyKHRtcCwgJm5hbWUsIGFyZW5hKTsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXMgIT0gMCkgZ290byBmYWlsZWQ7CkBAIC02NDIwLDExICs2NTMwLDExIEBACiAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWUgPSBOVUxMOwogICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBpZiAoUHlPYmplY3RfSGFzQXR0clN0cmluZyhvYmosICJib2R5IikpIHsKKyAgICAgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X0hhc0F0dHJJZChvYmosICZQeUlkX2JvZHkpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVzOwogICAgICAgICAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBsZW47CiAgICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IGk7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0bXAgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKG9iaiwgImJvZHkiKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRtcCA9IF9QeU9iamVjdF9HZXRBdHRySWQob2JqLCAmUHlJZF9ib2R5KTsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0bXAgPT0gTlVMTCkgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIVB5TGlzdF9DaGVjayh0bXApKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsICJFeGNlcHRIYW5kbGVyIGZpZWxkIFwiYm9keVwiIG11c3QgYmUgYSBsaXN0LCBub3QgYSAlLjIwMHMiLCB0bXAtPm9iX3R5cGUtPnRwX25hbWUpOwpAQCAtNjQ3MCwxMSArNjU4MCwxMSBAQAogICAgICAgICBhc2RsX3NlcSogZGVmYXVsdHM7CiAgICAgICAgIGFzZGxfc2VxKiBrd19kZWZhdWx0czsKIAotICAgICAgICBpZiAoUHlPYmplY3RfSGFzQXR0clN0cmluZyhvYmosICJhcmdzIikpIHsKKyAgICAgICAgaWYgKF9QeU9iamVjdF9IYXNBdHRySWQob2JqLCAmUHlJZF9hcmdzKSkgewogICAgICAgICAgICAgICAgIGludCByZXM7CiAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBsZW47CiAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBpOwotICAgICAgICAgICAgICAgIHRtcCA9IFB5T2JqZWN0X0dldEF0dHJTdHJpbmcob2JqLCAiYXJncyIpOworICAgICAgICAgICAgICAgIHRtcCA9IF9QeU9iamVjdF9HZXRBdHRySWQob2JqLCAmUHlJZF9hcmdzKTsKICAgICAgICAgICAgICAgICBpZiAodG1wID09IE5VTEwpIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgIGlmICghUHlMaXN0X0NoZWNrKHRtcCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsICJhcmd1bWVudHMgZmllbGQgXCJhcmdzXCIgbXVzdCBiZSBhIGxpc3QsIG5vdCBhICUuMjAwcyIsIHRtcC0+b2JfdHlwZS0+dHBfbmFtZSk7CkBAIC02NDk1LDkgKzY2MDUsOSBAQAogICAgICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsICJyZXF1aXJlZCBmaWVsZCBcImFyZ3NcIiBtaXNzaW5nIGZyb20gYXJndW1lbnRzIik7CiAgICAgICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgIH0KLSAgICAgICAgaWYgKFB5T2JqZWN0X0hhc0F0dHJTdHJpbmcob2JqLCAidmFyYXJnIikpIHsKKyAgICAgICAgaWYgKF9QeU9iamVjdF9IYXNBdHRySWQob2JqLCAmUHlJZF92YXJhcmcpKSB7CiAgICAgICAgICAgICAgICAgaW50IHJlczsKLSAgICAgICAgICAgICAgICB0bXAgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKG9iaiwgInZhcmFyZyIpOworICAgICAgICAgICAgICAgIHRtcCA9IF9QeU9iamVjdF9HZXRBdHRySWQob2JqLCAmUHlJZF92YXJhcmcpOwogICAgICAgICAgICAgICAgIGlmICh0bXAgPT0gTlVMTCkgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgcmVzID0gb2JqMmFzdF9pZGVudGlmaWVyKHRtcCwgJnZhcmFyZywgYXJlbmEpOwogICAgICAgICAgICAgICAgIGlmIChyZXMgIT0gMCkgZ290byBmYWlsZWQ7CkBAIC02NTA2LDkgKzY2MTYsOSBAQAogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgIHZhcmFyZyA9IE5VTEw7CiAgICAgICAgIH0KLSAgICAgICAgaWYgKFB5T2JqZWN0X0hhc0F0dHJTdHJpbmcob2JqLCAidmFyYXJnYW5ub3RhdGlvbiIpKSB7CisgICAgICAgIGlmIChfUHlPYmplY3RfSGFzQXR0cklkKG9iaiwgJlB5SWRfdmFyYXJnYW5ub3RhdGlvbikpIHsKICAgICAgICAgICAgICAgICBpbnQgcmVzOwotICAgICAgICAgICAgICAgIHRtcCA9IFB5T2JqZWN0X0dldEF0dHJTdHJpbmcob2JqLCAidmFyYXJnYW5ub3RhdGlvbiIpOworICAgICAgICAgICAgICAgIHRtcCA9IF9QeU9iamVjdF9HZXRBdHRySWQob2JqLCAmUHlJZF92YXJhcmdhbm5vdGF0aW9uKTsKICAgICAgICAgICAgICAgICBpZiAodG1wID09IE5VTEwpIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgIHJlcyA9IG9iajJhc3RfZXhwcih0bXAsICZ2YXJhcmdhbm5vdGF0aW9uLCBhcmVuYSk7CiAgICAgICAgICAgICAgICAgaWYgKHJlcyAhPSAwKSBnb3RvIGZhaWxlZDsKQEAgLTY1MTcsMTEgKzY2MjcsMTEgQEAKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICB2YXJhcmdhbm5vdGF0aW9uID0gTlVMTDsKICAgICAgICAgfQotICAgICAgICBpZiAoUHlPYmplY3RfSGFzQXR0clN0cmluZyhvYmosICJrd29ubHlhcmdzIikpIHsKKyAgICAgICAgaWYgKF9QeU9iamVjdF9IYXNBdHRySWQob2JqLCAmUHlJZF9rd29ubHlhcmdzKSkgewogICAgICAgICAgICAgICAgIGludCByZXM7CiAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBsZW47CiAgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBpOwotICAgICAgICAgICAgICAgIHRtcCA9IFB5T2JqZWN0X0dldEF0dHJTdHJpbmcob2JqLCAia3dvbmx5YXJncyIpOworICAgICAgICAgICAgICAgIHRtcCA9IF9QeU9iamVjdF9HZXRBdHRySWQob2JqLCAmUHlJZF9rd29ubHlhcmdzKTsKICAgICAgICAgICAgICAgICBpZiAodG1wID09IE5VTEwpIGdvdG8gZmFpbGVkOwogICAgICAgICAgICAgICAgIGlmICghUHlMaXN0X0NoZWNrKHRtcCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsICJhcmd1bWVudHMgZmllbGQgXCJrd29ubHlhcmdzXCIgbXVzdCBiZSBhIGxpc3QsIG5vdCBhICUuMjAwcyIsIHRtcC0+b2JfdHlwZS0+dHBfbmFtZSk7CkBAIC02NTQyLDkgKzY2NTIsOSBAQAogICAgICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsICJyZXF1aXJlZCBmaWVsZCBcImt3b25seWFyZ3NcIiBtaXNzaW5nIGZyb20gYXJndW1lbnRzIik7CiAgICAgICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgIH0KLSAgICAgICAgaWYgKFB5T2JqZWN0X0hhc0F0dHJTdHJpbmcob2JqLCAia3dhcmciKSkgeworICAgICAgICBpZiAoX1B5T2JqZWN0X0hhc0F0dHJJZChvYmosICZQeUlkX2t3YXJnKSkgewogICAgICAgICAgICAgICAgIGludCByZXM7Ci0gICAgICAgICAgICAgICAgdG1wID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyhvYmosICJrd2FyZyIpOworICAgICAgICAgICAgICAgIHRtcCA9IF9QeU9iamVjdF9HZXRBdHRySWQob2JqLCAmUHlJZF9rd2FyZyk7CiAgICAgICAgICAgICAgICAgaWYgKHRtcCA9PSBOVUxMKSBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICByZXMgPSBvYmoyYXN0X2lkZW50aWZpZXIodG1wLCAma3dhcmcsIGFyZW5hKTsKICAgICAgICAgICAgICAgICBpZiAocmVzICE9IDApIGdvdG8gZmFpbGVkOwpAQCAtNjU1Myw5ICs2NjYzLDkgQEAKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICBrd2FyZyA9IE5VTEw7CiAgICAgICAgIH0KLSAgICAgICAgaWYgKFB5T2JqZWN0X0hhc0F0dHJTdHJpbmcob2JqLCAia3dhcmdhbm5vdGF0aW9uIikpIHsKKyAgICAgICAgaWYgKF9QeU9iamVjdF9IYXNBdHRySWQob2JqLCAmUHlJZF9rd2FyZ2Fubm90YXRpb24pKSB7CiAgICAgICAgICAgICAgICAgaW50IHJlczsKLSAgICAgICAgICAgICAgICB0bXAgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKG9iaiwgImt3YXJnYW5ub3RhdGlvbiIpOworICAgICAgICAgICAgICAgIHRtcCA9IF9QeU9iamVjdF9HZXRBdHRySWQob2JqLCAmUHlJZF9rd2FyZ2Fubm90YXRpb24pOwogICAgICAgICAgICAgICAgIGlmICh0bXAgPT0gTlVMTCkgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgcmVzID0gb2JqMmFzdF9leHByKHRtcCwgJmt3YXJnYW5ub3RhdGlvbiwgYXJlbmEpOwogICAgICAgICAgICAgICAgIGlmIChyZXMgIT0gMCkgZ290byBmYWlsZWQ7CkBAIC02NTY0LDExICs2Njc0LDExIEBACiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAga3dhcmdhbm5vdGF0aW9uID0gTlVMTDsKICAgICAgICAgfQotICAgICAgICBpZiAoUHlPYmplY3RfSGFzQXR0clN0cmluZyhvYmosICJkZWZhdWx0cyIpKSB7CisgICAgICAgIGlmIChfUHlPYmplY3RfSGFzQXR0cklkKG9iaiwgJlB5SWRfZGVmYXVsdHMpKSB7CiAgICAgICAgICAgICAgICAgaW50IHJlczsKICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IGxlbjsKICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IGk7Ci0gICAgICAgICAgICAgICAgdG1wID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyhvYmosICJkZWZhdWx0cyIpOworICAgICAgICAgICAgICAgIHRtcCA9IF9QeU9iamVjdF9HZXRBdHRySWQob2JqLCAmUHlJZF9kZWZhdWx0cyk7CiAgICAgICAgICAgICAgICAgaWYgKHRtcCA9PSBOVUxMKSBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICBpZiAoIVB5TGlzdF9DaGVjayh0bXApKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLCAiYXJndW1lbnRzIGZpZWxkIFwiZGVmYXVsdHNcIiBtdXN0IGJlIGEgbGlzdCwgbm90IGEgJS4yMDBzIiwgdG1wLT5vYl90eXBlLT50cF9uYW1lKTsKQEAgLTY1ODksMTEgKzY2OTksMTEgQEAKICAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCAicmVxdWlyZWQgZmllbGQgXCJkZWZhdWx0c1wiIG1pc3NpbmcgZnJvbSBhcmd1bWVudHMiKTsKICAgICAgICAgICAgICAgICByZXR1cm4gMTsKICAgICAgICAgfQotICAgICAgICBpZiAoUHlPYmplY3RfSGFzQXR0clN0cmluZyhvYmosICJrd19kZWZhdWx0cyIpKSB7CisgICAgICAgIGlmIChfUHlPYmplY3RfSGFzQXR0cklkKG9iaiwgJlB5SWRfa3dfZGVmYXVsdHMpKSB7CiAgICAgICAgICAgICAgICAgaW50IHJlczsKICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IGxlbjsKICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IGk7Ci0gICAgICAgICAgICAgICAgdG1wID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyhvYmosICJrd19kZWZhdWx0cyIpOworICAgICAgICAgICAgICAgIHRtcCA9IF9QeU9iamVjdF9HZXRBdHRySWQob2JqLCAmUHlJZF9rd19kZWZhdWx0cyk7CiAgICAgICAgICAgICAgICAgaWYgKHRtcCA9PSBOVUxMKSBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICBpZiAoIVB5TGlzdF9DaGVjayh0bXApKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLCAiYXJndW1lbnRzIGZpZWxkIFwia3dfZGVmYXVsdHNcIiBtdXN0IGJlIGEgbGlzdCwgbm90IGEgJS4yMDBzIiwgdG1wLT5vYl90eXBlLT50cF9uYW1lKTsKQEAgLTY2MjksOSArNjczOSw5IEBACiAgICAgICAgIGlkZW50aWZpZXIgYXJnOwogICAgICAgICBleHByX3R5IGFubm90YXRpb247CiAKLSAgICAgICAgaWYgKFB5T2JqZWN0X0hhc0F0dHJTdHJpbmcob2JqLCAiYXJnIikpIHsKKyAgICAgICAgaWYgKF9QeU9iamVjdF9IYXNBdHRySWQob2JqLCAmUHlJZF9hcmcpKSB7CiAgICAgICAgICAgICAgICAgaW50IHJlczsKLSAgICAgICAgICAgICAgICB0bXAgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKG9iaiwgImFyZyIpOworICAgICAgICAgICAgICAgIHRtcCA9IF9QeU9iamVjdF9HZXRBdHRySWQob2JqLCAmUHlJZF9hcmcpOwogICAgICAgICAgICAgICAgIGlmICh0bXAgPT0gTlVMTCkgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgcmVzID0gb2JqMmFzdF9pZGVudGlmaWVyKHRtcCwgJmFyZywgYXJlbmEpOwogICAgICAgICAgICAgICAgIGlmIChyZXMgIT0gMCkgZ290byBmYWlsZWQ7CkBAIC02NjQxLDkgKzY3NTEsOSBAQAogICAgICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsICJyZXF1aXJlZCBmaWVsZCBcImFyZ1wiIG1pc3NpbmcgZnJvbSBhcmciKTsKICAgICAgICAgICAgICAgICByZXR1cm4gMTsKICAgICAgICAgfQotICAgICAgICBpZiAoUHlPYmplY3RfSGFzQXR0clN0cmluZyhvYmosICJhbm5vdGF0aW9uIikpIHsKKyAgICAgICAgaWYgKF9QeU9iamVjdF9IYXNBdHRySWQob2JqLCAmUHlJZF9hbm5vdGF0aW9uKSkgewogICAgICAgICAgICAgICAgIGludCByZXM7Ci0gICAgICAgICAgICAgICAgdG1wID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyhvYmosICJhbm5vdGF0aW9uIik7CisgICAgICAgICAgICAgICAgdG1wID0gX1B5T2JqZWN0X0dldEF0dHJJZChvYmosICZQeUlkX2Fubm90YXRpb24pOwogICAgICAgICAgICAgICAgIGlmICh0bXAgPT0gTlVMTCkgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgcmVzID0gb2JqMmFzdF9leHByKHRtcCwgJmFubm90YXRpb24sIGFyZW5hKTsKICAgICAgICAgICAgICAgICBpZiAocmVzICE9IDApIGdvdG8gZmFpbGVkOwpAQCAtNjY2Niw5ICs2Nzc2LDkgQEAKICAgICAgICAgaWRlbnRpZmllciBhcmc7CiAgICAgICAgIGV4cHJfdHkgdmFsdWU7CiAKLSAgICAgICAgaWYgKFB5T2JqZWN0X0hhc0F0dHJTdHJpbmcob2JqLCAiYXJnIikpIHsKKyAgICAgICAgaWYgKF9QeU9iamVjdF9IYXNBdHRySWQob2JqLCAmUHlJZF9hcmcpKSB7CiAgICAgICAgICAgICAgICAgaW50IHJlczsKLSAgICAgICAgICAgICAgICB0bXAgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKG9iaiwgImFyZyIpOworICAgICAgICAgICAgICAgIHRtcCA9IF9QeU9iamVjdF9HZXRBdHRySWQob2JqLCAmUHlJZF9hcmcpOwogICAgICAgICAgICAgICAgIGlmICh0bXAgPT0gTlVMTCkgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgcmVzID0gb2JqMmFzdF9pZGVudGlmaWVyKHRtcCwgJmFyZywgYXJlbmEpOwogICAgICAgICAgICAgICAgIGlmIChyZXMgIT0gMCkgZ290byBmYWlsZWQ7CkBAIC02Njc4LDkgKzY3ODgsOSBAQAogICAgICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsICJyZXF1aXJlZCBmaWVsZCBcImFyZ1wiIG1pc3NpbmcgZnJvbSBrZXl3b3JkIik7CiAgICAgICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgIH0KLSAgICAgICAgaWYgKFB5T2JqZWN0X0hhc0F0dHJTdHJpbmcob2JqLCAidmFsdWUiKSkgeworICAgICAgICBpZiAoX1B5T2JqZWN0X0hhc0F0dHJJZChvYmosICZQeUlkX3ZhbHVlKSkgewogICAgICAgICAgICAgICAgIGludCByZXM7Ci0gICAgICAgICAgICAgICAgdG1wID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyhvYmosICJ2YWx1ZSIpOworICAgICAgICAgICAgICAgIHRtcCA9IF9QeU9iamVjdF9HZXRBdHRySWQob2JqLCAmUHlJZF92YWx1ZSk7CiAgICAgICAgICAgICAgICAgaWYgKHRtcCA9PSBOVUxMKSBnb3RvIGZhaWxlZDsKICAgICAgICAgICAgICAgICByZXMgPSBvYmoyYXN0X2V4cHIodG1wLCAmdmFsdWUsIGFyZW5hKTsKICAgICAgICAgICAgICAgICBpZiAocmVzICE9IDApIGdvdG8gZmFpbGVkOwpAQCAtNjcwNCw5ICs2ODE0LDkgQEAKICAgICAgICAgaWRlbnRpZmllciBuYW1lOwogICAgICAgICBpZGVudGlmaWVyIGFzbmFtZTsKIAotICAgICAgICBpZiAoUHlPYmplY3RfSGFzQXR0clN0cmluZyhvYmosICJuYW1lIikpIHsKKyAgICAgICAgaWYgKF9QeU9iamVjdF9IYXNBdHRySWQob2JqLCAmUHlJZF9uYW1lKSkgewogICAgICAgICAgICAgICAgIGludCByZXM7Ci0gICAgICAgICAgICAgICAgdG1wID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyhvYmosICJuYW1lIik7CisgICAgICAgICAgICAgICAgdG1wID0gX1B5T2JqZWN0X0dldEF0dHJJZChvYmosICZQeUlkX25hbWUpOwogICAgICAgICAgICAgICAgIGlmICh0bXAgPT0gTlVMTCkgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgcmVzID0gb2JqMmFzdF9pZGVudGlmaWVyKHRtcCwgJm5hbWUsIGFyZW5hKTsKICAgICAgICAgICAgICAgICBpZiAocmVzICE9IDApIGdvdG8gZmFpbGVkOwpAQCAtNjcxNiw5ICs2ODI2LDkgQEAKICAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCAicmVxdWlyZWQgZmllbGQgXCJuYW1lXCIgbWlzc2luZyBmcm9tIGFsaWFzIik7CiAgICAgICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgIH0KLSAgICAgICAgaWYgKFB5T2JqZWN0X0hhc0F0dHJTdHJpbmcob2JqLCAiYXNuYW1lIikpIHsKKyAgICAgICAgaWYgKF9QeU9iamVjdF9IYXNBdHRySWQob2JqLCAmUHlJZF9hc25hbWUpKSB7CiAgICAgICAgICAgICAgICAgaW50IHJlczsKLSAgICAgICAgICAgICAgICB0bXAgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKG9iaiwgImFzbmFtZSIpOworICAgICAgICAgICAgICAgIHRtcCA9IF9QeU9iamVjdF9HZXRBdHRySWQob2JqLCAmUHlJZF9hc25hbWUpOwogICAgICAgICAgICAgICAgIGlmICh0bXAgPT0gTlVMTCkgZ290byBmYWlsZWQ7CiAgICAgICAgICAgICAgICAgcmVzID0gb2JqMmFzdF9pZGVudGlmaWVyKHRtcCwgJmFzbmFtZSwgYXJlbmEpOwogICAgICAgICAgICAgICAgIGlmIChyZXMgIT0gMCkgZ290byBmYWlsZWQ7CkBAIC02NzM0LDYgKzY4NDQsNDMgQEAKICAgICAgICAgcmV0dXJuIDE7CiB9CiAKK2ludAorb2JqMmFzdF93aXRoaXRlbShQeU9iamVjdCogb2JqLCB3aXRoaXRlbV90eSogb3V0LCBQeUFyZW5hKiBhcmVuYSkKK3sKKyAgICAgICAgUHlPYmplY3QqIHRtcCA9IE5VTEw7CisgICAgICAgIGV4cHJfdHkgY29udGV4dF9leHByOworICAgICAgICBleHByX3R5IG9wdGlvbmFsX3ZhcnM7CisKKyAgICAgICAgaWYgKF9QeU9iamVjdF9IYXNBdHRySWQob2JqLCAmUHlJZF9jb250ZXh0X2V4cHIpKSB7CisgICAgICAgICAgICAgICAgaW50IHJlczsKKyAgICAgICAgICAgICAgICB0bXAgPSBfUHlPYmplY3RfR2V0QXR0cklkKG9iaiwgJlB5SWRfY29udGV4dF9leHByKTsKKyAgICAgICAgICAgICAgICBpZiAodG1wID09IE5VTEwpIGdvdG8gZmFpbGVkOworICAgICAgICAgICAgICAgIHJlcyA9IG9iajJhc3RfZXhwcih0bXAsICZjb250ZXh0X2V4cHIsIGFyZW5hKTsKKyAgICAgICAgICAgICAgICBpZiAocmVzICE9IDApIGdvdG8gZmFpbGVkOworICAgICAgICAgICAgICAgIFB5X1hERUNSRUYodG1wKTsKKyAgICAgICAgICAgICAgICB0bXAgPSBOVUxMOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsICJyZXF1aXJlZCBmaWVsZCBcImNvbnRleHRfZXhwclwiIG1pc3NpbmcgZnJvbSB3aXRoaXRlbSIpOworICAgICAgICAgICAgICAgIHJldHVybiAxOworICAgICAgICB9CisgICAgICAgIGlmIChfUHlPYmplY3RfSGFzQXR0cklkKG9iaiwgJlB5SWRfb3B0aW9uYWxfdmFycykpIHsKKyAgICAgICAgICAgICAgICBpbnQgcmVzOworICAgICAgICAgICAgICAgIHRtcCA9IF9QeU9iamVjdF9HZXRBdHRySWQob2JqLCAmUHlJZF9vcHRpb25hbF92YXJzKTsKKyAgICAgICAgICAgICAgICBpZiAodG1wID09IE5VTEwpIGdvdG8gZmFpbGVkOworICAgICAgICAgICAgICAgIHJlcyA9IG9iajJhc3RfZXhwcih0bXAsICZvcHRpb25hbF92YXJzLCBhcmVuYSk7CisgICAgICAgICAgICAgICAgaWYgKHJlcyAhPSAwKSBnb3RvIGZhaWxlZDsKKyAgICAgICAgICAgICAgICBQeV9YREVDUkVGKHRtcCk7CisgICAgICAgICAgICAgICAgdG1wID0gTlVMTDsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBvcHRpb25hbF92YXJzID0gTlVMTDsKKyAgICAgICAgfQorICAgICAgICAqb3V0ID0gd2l0aGl0ZW0oY29udGV4dF9leHByLCBvcHRpb25hbF92YXJzLCBhcmVuYSk7CisgICAgICAgIHJldHVybiAwOworZmFpbGVkOgorICAgICAgICBQeV9YREVDUkVGKHRtcCk7CisgICAgICAgIHJldHVybiAxOworfQorCiAKIHN0YXRpYyBzdHJ1Y3QgUHlNb2R1bGVEZWYgX2FzdG1vZHVsZSA9IHsKICAgUHlNb2R1bGVEZWZfSEVBRF9JTklULCAiX2FzdCIKQEAgLTY3NTAsOCArNjg5Nyw2IEBACiAgICAgICAgICAgICBOVUxMOwogICAgICAgICBpZiAoUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIlB5Q0ZfT05MWV9BU1QiLCBQeUNGX09OTFlfQVNUKSA8IDApCiAgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgIGlmIChQeU1vZHVsZV9BZGRTdHJpbmdDb25zdGFudChtLCAiX192ZXJzaW9uX18iLCAiODIxNjMiKSA8IDApCi0gICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgIGlmIChQeURpY3RfU2V0SXRlbVN0cmluZyhkLCAibW9kIiwgKFB5T2JqZWN0Kiltb2RfdHlwZSkgPCAwKSByZXR1cm4KICAgICAgICAgICAgIE5VTEw7CiAgICAgICAgIGlmIChQeURpY3RfU2V0SXRlbVN0cmluZyhkLCAiTW9kdWxlIiwgKFB5T2JqZWN0KilNb2R1bGVfdHlwZSkgPCAwKQpAQCAtNjc4NSwxMCArNjkzMCw4IEBACiAgICAgICAgICAgICBOVUxMOwogICAgICAgICBpZiAoUHlEaWN0X1NldEl0ZW1TdHJpbmcoZCwgIlJhaXNlIiwgKFB5T2JqZWN0KilSYWlzZV90eXBlKSA8IDApIHJldHVybgogICAgICAgICAgICAgTlVMTDsKLSAgICAgICAgaWYgKFB5RGljdF9TZXRJdGVtU3RyaW5nKGQsICJUcnlFeGNlcHQiLCAoUHlPYmplY3QqKVRyeUV4Y2VwdF90eXBlKSA8Ci0gICAgICAgICAgICAwKSByZXR1cm4gTlVMTDsKLSAgICAgICAgaWYgKFB5RGljdF9TZXRJdGVtU3RyaW5nKGQsICJUcnlGaW5hbGx5IiwgKFB5T2JqZWN0KilUcnlGaW5hbGx5X3R5cGUpIDwKLSAgICAgICAgICAgIDApIHJldHVybiBOVUxMOworICAgICAgICBpZiAoUHlEaWN0X1NldEl0ZW1TdHJpbmcoZCwgIlRyeSIsIChQeU9iamVjdCopVHJ5X3R5cGUpIDwgMCkgcmV0dXJuCisgICAgICAgICAgICBOVUxMOwogICAgICAgICBpZiAoUHlEaWN0X1NldEl0ZW1TdHJpbmcoZCwgIkFzc2VydCIsIChQeU9iamVjdCopQXNzZXJ0X3R5cGUpIDwgMCkKICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICBpZiAoUHlEaWN0X1NldEl0ZW1TdHJpbmcoZCwgIkltcG9ydCIsIChQeU9iamVjdCopSW1wb3J0X3R5cGUpIDwgMCkKQEAgLTY4MzMsNiArNjk3Niw4IEBACiAgICAgICAgICAgICAoUHlPYmplY3QqKUdlbmVyYXRvckV4cF90eXBlKSA8IDApIHJldHVybiBOVUxMOwogICAgICAgICBpZiAoUHlEaWN0X1NldEl0ZW1TdHJpbmcoZCwgIllpZWxkIiwgKFB5T2JqZWN0KilZaWVsZF90eXBlKSA8IDApIHJldHVybgogICAgICAgICAgICAgTlVMTDsKKyAgICAgICAgaWYgKFB5RGljdF9TZXRJdGVtU3RyaW5nKGQsICJZaWVsZEZyb20iLCAoUHlPYmplY3QqKVlpZWxkRnJvbV90eXBlKSA8CisgICAgICAgICAgICAwKSByZXR1cm4gTlVMTDsKICAgICAgICAgaWYgKFB5RGljdF9TZXRJdGVtU3RyaW5nKGQsICJDb21wYXJlIiwgKFB5T2JqZWN0KilDb21wYXJlX3R5cGUpIDwgMCkKICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICBpZiAoUHlEaWN0X1NldEl0ZW1TdHJpbmcoZCwgIkNhbGwiLCAoUHlPYmplY3QqKUNhbGxfdHlwZSkgPCAwKSByZXR1cm4KQEAgLTY5NTEsNiArNzA5Niw4IEBACiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICAgICAgaWYgKFB5RGljdF9TZXRJdGVtU3RyaW5nKGQsICJhbGlhcyIsIChQeU9iamVjdCopYWxpYXNfdHlwZSkgPCAwKSByZXR1cm4KICAgICAgICAgICAgIE5VTEw7CisgICAgICAgIGlmIChQeURpY3RfU2V0SXRlbVN0cmluZyhkLCAid2l0aGl0ZW0iLCAoUHlPYmplY3QqKXdpdGhpdGVtX3R5cGUpIDwgMCkKKyAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICByZXR1cm4gbTsKIH0KIApkaWZmIC0tZ2l0IGEvUHl0aG9uL193YXJuaW5ncy5jIGIvUHl0aG9uL193YXJuaW5ncy5jCmluZGV4IGMxMmRiNDQuLmYzM2U0NzcgMTAwNjQ0Ci0tLSBhL1B5dGhvbi9fd2FybmluZ3MuYworKysgYi9QeXRob24vX3dhcm5pbmdzLmMKQEAgLTE4LDExICsxOCwxMiBAQAogY2hlY2tfbWF0Y2hlZChQeU9iamVjdCAqb2JqLCBQeU9iamVjdCAqYXJnKQogewogICAgIFB5T2JqZWN0ICpyZXN1bHQ7CisgICAgX1B5X0lERU5USUZJRVIobWF0Y2gpOwogICAgIGludCByYzsKIAogICAgIGlmIChvYmogPT0gUHlfTm9uZSkKICAgICAgICAgcmV0dXJuIDE7Ci0gICAgcmVzdWx0ID0gUHlPYmplY3RfQ2FsbE1ldGhvZChvYmosICJtYXRjaCIsICJPIiwgYXJnKTsKKyAgICByZXN1bHQgPSBfUHlPYmplY3RfQ2FsbE1ldGhvZElkKG9iaiwgJlB5SWRfbWF0Y2gsICJPIiwgYXJnKTsKICAgICBpZiAocmVzdWx0ID09IE5VTEwpCiAgICAgICAgIHJldHVybiAtMTsKIApAQCAtMjAyLDEzICsyMDMsMTMgQEAKIAogICAgIG1vZF9zdHIgPSBfUHlVbmljb2RlX0FzU3RyaW5nKGZpbGVuYW1lKTsKICAgICBpZiAobW9kX3N0ciA9PSBOVUxMKQotICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgbGVuID0gUHlVbmljb2RlX0dldFNpemUoZmlsZW5hbWUpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBsZW4gPSBQeVVuaWNvZGVfR2V0TGVuZ3RoKGZpbGVuYW1lKTsKICAgICBpZiAobGVuIDwgMCkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgaWYgKGxlbiA+PSAzICYmCiAgICAgICAgIHN0cm5jbXAobW9kX3N0ciArIChsZW4gLSAzKSwgIi5weSIsIDMpID09IDApIHsKLSAgICAgICAgbW9kdWxlID0gUHlVbmljb2RlX0Zyb21TdHJpbmdBbmRTaXplKG1vZF9zdHIsIGxlbi0zKTsKKyAgICAgICAgbW9kdWxlID0gUHlVbmljb2RlX1N1YnN0cmluZyhmaWxlbmFtZSwgMCwgbGVuLTMpOwogICAgIH0KICAgICBlbHNlIHsKICAgICAgICAgbW9kdWxlID0gZmlsZW5hbWU7CkBAIC0yNDYsMTAgKzI0NywxMSBAQAogICAgIFB5T2JqZWN0ICpmX3N0ZGVycjsKICAgICBQeU9iamVjdCAqbmFtZTsKICAgICBjaGFyIGxpbmVub19zdHJbMTI4XTsKKyAgICBfUHlfSURFTlRJRklFUihfX25hbWVfXyk7CiAKICAgICBQeU9TX3NucHJpbnRmKGxpbmVub19zdHIsIHNpemVvZihsaW5lbm9fc3RyKSwgIjolZDogIiwgbGluZW5vKTsKIAotICAgIG5hbWUgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKGNhdGVnb3J5LCAiX19uYW1lX18iKTsKKyAgICBuYW1lID0gX1B5T2JqZWN0X0dldEF0dHJJZChjYXRlZ29yeSwgJlB5SWRfX19uYW1lX18pOwogICAgIGlmIChuYW1lID09IE5VTEwpICAvKiBYWFggQ2FuIGFuIG9iamVjdCBsYWNrIGEgJ19fbmFtZV9fJyBhdHRyaWJ1dGU/ICovCiAgICAgICAgIHJldHVybjsKIApAQCAtNDA5LDEwICs0MTEsMTAgQEAKICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICBQeU9iamVjdCAqcmVzOwogCi0gICAgICAgICAgICBpZiAoIVB5TWV0aG9kX0NoZWNrKHNob3dfZnhuKSAmJiAhUHlGdW5jdGlvbl9DaGVjayhzaG93X2Z4bikpIHsKKyAgICAgICAgICAgIGlmICghUHlDYWxsYWJsZV9DaGVjayhzaG93X2Z4bikpIHsKICAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAid2FybmluZ3Muc2hvd3dhcm5pbmcoKSBtdXN0IGJlIHNldCB0byBhICIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImZ1bmN0aW9uIG9yIG1ldGhvZCIpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY2FsbGFibGUiKTsKICAgICAgICAgICAgICAgICBQeV9ERUNSRUYoc2hvd19meG4pOwogICAgICAgICAgICAgICAgIGdvdG8gY2xlYW51cDsKICAgICAgICAgICAgIH0KQEAgLTQ5NywxOCArNDk5LDI4IEBACiAgICAgLyogU2V0dXAgZmlsZW5hbWUuICovCiAgICAgKmZpbGVuYW1lID0gUHlEaWN0X0dldEl0ZW1TdHJpbmcoZ2xvYmFscywgIl9fZmlsZV9fIik7CiAgICAgaWYgKCpmaWxlbmFtZSAhPSBOVUxMICYmIFB5VW5pY29kZV9DaGVjaygqZmlsZW5hbWUpKSB7Ci0gICAgICAgIFB5X3NzaXplX3QgbGVuID0gUHlVbmljb2RlX0dldFNpemUoKmZpbGVuYW1lKTsKLSAgICAgICAgUHlfVU5JQ09ERSAqdW5pY29kZSA9IFB5VW5pY29kZV9BU19VTklDT0RFKCpmaWxlbmFtZSk7CisgICAgICAgIFB5X3NzaXplX3QgbGVuOworICAgICAgICBpbnQga2luZDsKKyAgICAgICAgdm9pZCAqZGF0YTsKIAorICAgICAgICBpZiAoUHlVbmljb2RlX1JFQURZKCpmaWxlbmFtZSkpCisgICAgICAgICAgICBnb3RvIGhhbmRsZV9lcnJvcjsKKworICAgICAgICBsZW4gPSBQeVVuaWNvZGVfR2V0TGVuZ3RoKCpmaWxlbmFtZSk7CisgICAgICAgIGtpbmQgPSBQeVVuaWNvZGVfS0lORCgqZmlsZW5hbWUpOworICAgICAgICBkYXRhID0gUHlVbmljb2RlX0RBVEEoKmZpbGVuYW1lKTsKKworI2RlZmluZSBhc2NpaV9sb3dlcihjKSAoKGMgPD0gMTI3KSA/IFB5X1RPTE9XRVIoYykgOiAwKQogICAgICAgICAvKiBpZiBmaWxlbmFtZS5sb3dlcigpLmVuZHN3aXRoKCgiLnB5YyIsICIucHlvIikpOiAqLwogICAgICAgICBpZiAobGVuID49IDQgJiYKLSAgICAgICAgICAgIHVuaWNvZGVbbGVuLTRdID09ICcuJyAmJgotICAgICAgICAgICAgUHlfVU5JQ09ERV9UT0xPV0VSKHVuaWNvZGVbbGVuLTNdKSA9PSAncCcgJiYKLSAgICAgICAgICAgIFB5X1VOSUNPREVfVE9MT1dFUih1bmljb2RlW2xlbi0yXSkgPT0gJ3knICYmCi0gICAgICAgICAgICAoUHlfVU5JQ09ERV9UT0xPV0VSKHVuaWNvZGVbbGVuLTFdKSA9PSAnYycgfHwKLSAgICAgICAgICAgICAgICBQeV9VTklDT0RFX1RPTE9XRVIodW5pY29kZVtsZW4tMV0pID09ICdvJykpCisgICAgICAgICAgICBQeVVuaWNvZGVfUkVBRChraW5kLCBkYXRhLCBsZW4tNCkgPT0gJy4nICYmCisgICAgICAgICAgICBhc2NpaV9sb3dlcihQeVVuaWNvZGVfUkVBRChraW5kLCBkYXRhLCBsZW4tMykpID09ICdwJyAmJgorICAgICAgICAgICAgYXNjaWlfbG93ZXIoUHlVbmljb2RlX1JFQUQoa2luZCwgZGF0YSwgbGVuLTIpKSA9PSAneScgJiYKKyAgICAgICAgICAgIChhc2NpaV9sb3dlcihQeVVuaWNvZGVfUkVBRChraW5kLCBkYXRhLCBsZW4tMSkpID09ICdjJyB8fAorICAgICAgICAgICAgICAgIGFzY2lpX2xvd2VyKFB5VW5pY29kZV9SRUFEKGtpbmQsIGRhdGEsIGxlbi0xKSkgPT0gJ28nKSkKICAgICAgICAgewotICAgICAgICAgICAgKmZpbGVuYW1lID0gUHlVbmljb2RlX0Zyb21Vbmljb2RlKHVuaWNvZGUsIGxlbi0xKTsKKyAgICAgICAgICAgICpmaWxlbmFtZSA9IFB5VW5pY29kZV9TdWJzdHJpbmcoKmZpbGVuYW1lLCAwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfR0VUX0xFTkdUSCgqZmlsZW5hbWUpLTEpOwogICAgICAgICAgICAgaWYgKCpmaWxlbmFtZSA9PSBOVUxMKQogICAgICAgICAgICAgICAgIGdvdG8gaGFuZGxlX2Vycm9yOwogICAgICAgICB9CkBAIC02NDMsOCArNjU1LDkgQEAKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKICAgICBpZiAobW9kdWxlX2dsb2JhbHMpIHsKLSAgICAgICAgc3RhdGljIFB5T2JqZWN0ICpnZXRfc291cmNlX25hbWUgPSBOVUxMOwotICAgICAgICBzdGF0aWMgUHlPYmplY3QgKnNwbGl0bGluZXNfbmFtZSA9IE5VTEw7CisgICAgICAgIF9QeV9JREVOVElGSUVSKGdldF9zb3VyY2UpOworICAgICAgICBfUHlfSURFTlRJRklFUihzcGxpdGxpbmVzKTsKKyAgICAgICAgUHlPYmplY3QgKnRtcDsKICAgICAgICAgUHlPYmplY3QgKmxvYWRlcjsKICAgICAgICAgUHlPYmplY3QgKm1vZHVsZV9uYW1lOwogICAgICAgICBQeU9iamVjdCAqc291cmNlOwpAQCAtNjUyLDE2ICs2NjUsMTAgQEAKICAgICAgICAgUHlPYmplY3QgKnNvdXJjZV9saW5lOwogICAgICAgICBQeU9iamVjdCAqcmV0dXJuZWQ7CiAKLSAgICAgICAgaWYgKGdldF9zb3VyY2VfbmFtZSA9PSBOVUxMKSB7Ci0gICAgICAgICAgICBnZXRfc291cmNlX25hbWUgPSBQeVVuaWNvZGVfSW50ZXJuRnJvbVN0cmluZygiZ2V0X3NvdXJjZSIpOwotICAgICAgICAgICAgaWYgKCFnZXRfc291cmNlX25hbWUpCi0gICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKHNwbGl0bGluZXNfbmFtZSA9PSBOVUxMKSB7Ci0gICAgICAgICAgICBzcGxpdGxpbmVzX25hbWUgPSBQeVVuaWNvZGVfSW50ZXJuRnJvbVN0cmluZygic3BsaXRsaW5lcyIpOwotICAgICAgICAgICAgaWYgKCFzcGxpdGxpbmVzX25hbWUpCi0gICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgIH0KKyAgICAgICAgaWYgKCh0bXAgPSBfUHlVbmljb2RlX0Zyb21JZCgmUHlJZF9nZXRfc291cmNlKSkgPT0gTlVMTCkKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICBpZiAoKHRtcCA9IF9QeVVuaWNvZGVfRnJvbUlkKCZQeUlkX3NwbGl0bGluZXMpKSA9PSBOVUxMKQorICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAKICAgICAgICAgLyogQ2hlY2svZ2V0IHRoZSByZXF1aXNpdGUgcGllY2VzIG5lZWRlZCBmb3IgdGhlIGxvYWRlci4gKi8KICAgICAgICAgbG9hZGVyID0gUHlEaWN0X0dldEl0ZW1TdHJpbmcobW9kdWxlX2dsb2JhbHMsICJfX2xvYWRlcl9fIik7CkBAIC02NzEsMTEgKzY3OCwxMSBAQAogICAgICAgICAgICAgZ290byBzdGFuZGFyZF9jYWxsOwogCiAgICAgICAgIC8qIE1ha2Ugc3VyZSB0aGUgbG9hZGVyIGltcGxlbWVudHMgdGhlIG9wdGlvbmFsIGdldF9zb3VyY2UoKSBtZXRob2QuICovCi0gICAgICAgIGlmICghUHlPYmplY3RfSGFzQXR0clN0cmluZyhsb2FkZXIsICJnZXRfc291cmNlIikpCisgICAgICAgIGlmICghX1B5T2JqZWN0X0hhc0F0dHJJZChsb2FkZXIsICZQeUlkX2dldF9zb3VyY2UpKQogICAgICAgICAgICAgICAgIGdvdG8gc3RhbmRhcmRfY2FsbDsKICAgICAgICAgLyogQ2FsbCBnZXRfc291cmNlKCkgdG8gZ2V0IHRoZSBzb3VyY2UgY29kZS4gKi8KLSAgICAgICAgc291cmNlID0gUHlPYmplY3RfQ2FsbE1ldGhvZE9iakFyZ3MobG9hZGVyLCBnZXRfc291cmNlX25hbWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2R1bGVfbmFtZSwgTlVMTCk7CisgICAgICAgIHNvdXJjZSA9IFB5T2JqZWN0X0NhbGxNZXRob2RPYmpBcmdzKGxvYWRlciwgUHlJZF9nZXRfc291cmNlLm9iamVjdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kdWxlX25hbWUsIE5VTEwpOwogICAgICAgICBpZiAoIXNvdXJjZSkKICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICBlbHNlIGlmIChzb3VyY2UgPT0gUHlfTm9uZSkgewpAQCAtNjg0LDggKzY5MSw5IEBACiAgICAgICAgIH0KIAogICAgICAgICAvKiBTcGxpdCB0aGUgc291cmNlIGludG8gbGluZXMuICovCi0gICAgICAgIHNvdXJjZV9saXN0ID0gUHlPYmplY3RfQ2FsbE1ldGhvZE9iakFyZ3Moc291cmNlLCBzcGxpdGxpbmVzX25hbWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCk7CisgICAgICAgIHNvdXJjZV9saXN0ID0gUHlPYmplY3RfQ2FsbE1ldGhvZE9iakFyZ3Moc291cmNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5SWRfc3BsaXRsaW5lcy5vYmplY3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCk7CiAgICAgICAgIFB5X0RFQ1JFRihzb3VyY2UpOwogICAgICAgICBpZiAoIXNvdXJjZV9saXN0KQogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CkBAIC05NTAsMjMgKzk1OCwzMCBAQAogICAgIGlmIChtID09IE5VTEwpCiAgICAgICAgIHJldHVybiBOVUxMOwogCi0gICAgX2ZpbHRlcnMgPSBpbml0X2ZpbHRlcnMoKTsKLSAgICBpZiAoX2ZpbHRlcnMgPT0gTlVMTCkKLSAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgaWYgKF9maWx0ZXJzID09IE5VTEwpIHsKKyAgICAgICAgX2ZpbHRlcnMgPSBpbml0X2ZpbHRlcnMoKTsKKyAgICAgICAgaWYgKF9maWx0ZXJzID09IE5VTEwpCisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CiAgICAgUHlfSU5DUkVGKF9maWx0ZXJzKTsKICAgICBpZiAoUHlNb2R1bGVfQWRkT2JqZWN0KG0sICJmaWx0ZXJzIiwgX2ZpbHRlcnMpIDwgMCkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKLSAgICBfb25jZV9yZWdpc3RyeSA9IFB5RGljdF9OZXcoKTsKLSAgICBpZiAoX29uY2VfcmVnaXN0cnkgPT0gTlVMTCkKLSAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgaWYgKF9vbmNlX3JlZ2lzdHJ5ID09IE5VTEwpIHsKKyAgICAgICAgX29uY2VfcmVnaXN0cnkgPSBQeURpY3RfTmV3KCk7CisgICAgICAgIGlmIChfb25jZV9yZWdpc3RyeSA9PSBOVUxMKQorICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQogICAgIFB5X0lOQ1JFRihfb25jZV9yZWdpc3RyeSk7CiAgICAgaWYgKFB5TW9kdWxlX0FkZE9iamVjdChtLCAiX29uY2VyZWdpc3RyeSIsIF9vbmNlX3JlZ2lzdHJ5KSA8IDApCiAgICAgICAgIHJldHVybiBOVUxMOwogCi0gICAgX2RlZmF1bHRfYWN0aW9uID0gUHlVbmljb2RlX0Zyb21TdHJpbmcoImRlZmF1bHQiKTsKLSAgICBpZiAoX2RlZmF1bHRfYWN0aW9uID09IE5VTEwpCi0gICAgICAgIHJldHVybiBOVUxMOworICAgIGlmIChfZGVmYXVsdF9hY3Rpb24gPT0gTlVMTCkgeworICAgICAgICBfZGVmYXVsdF9hY3Rpb24gPSBQeVVuaWNvZGVfRnJvbVN0cmluZygiZGVmYXVsdCIpOworICAgICAgICBpZiAoX2RlZmF1bHRfYWN0aW9uID09IE5VTEwpCisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisgICAgUHlfSU5DUkVGKF9kZWZhdWx0X2FjdGlvbik7CiAgICAgaWYgKFB5TW9kdWxlX0FkZE9iamVjdChtLCAiX2RlZmF1bHRhY3Rpb24iLCBfZGVmYXVsdF9hY3Rpb24pIDwgMCkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgcmV0dXJuIG07CmRpZmYgLS1naXQgYS9QeXRob24vYXN0LmMgYi9QeXRob24vYXN0LmMKaW5kZXggNmZhZjViMi4uZWI4YWVkMiAxMDA2NDQKLS0tIGEvUHl0aG9uL2FzdC5jCisrKyBiL1B5dGhvbi9hc3QuYwpAQCAtMSwyNCArMSw1MDcgQEAKIC8qCiAgKiBUaGlzIGZpbGUgaW5jbHVkZXMgZnVuY3Rpb25zIHRvIHRyYW5zZm9ybSBhIGNvbmNyZXRlIHN5bnRheCB0cmVlIChDU1QpIHRvCi0gKiBhbiBhYnN0cmFjdCBzeW50YXggdHJlZSAoQVNUKS4gIFRoZSBtYWluIGZ1bmN0aW9uIGlzIFB5QVNUX0Zyb21Ob2RlKCkuCisgKiBhbiBhYnN0cmFjdCBzeW50YXggdHJlZSAoQVNUKS4gVGhlIG1haW4gZnVuY3Rpb24gaXMgUHlBU1RfRnJvbU5vZGUoKS4KICAqCiAgKi8KICNpbmNsdWRlICJQeXRob24uaCIKICNpbmNsdWRlICJQeXRob24tYXN0LmgiCi0jaW5jbHVkZSAiZ3JhbW1hci5oIgogI2luY2x1ZGUgIm5vZGUuaCIKICNpbmNsdWRlICJhc3QuaCIKICNpbmNsdWRlICJ0b2tlbi5oIgotI2luY2x1ZGUgInBhcnNldG9rLmgiCi0jaW5jbHVkZSAiZ3JhbWluaXQuaCIKIAogI2luY2x1ZGUgPGFzc2VydC5oPgogCitzdGF0aWMgaW50IHZhbGlkYXRlX3N0bXRzKGFzZGxfc2VxICopOworc3RhdGljIGludCB2YWxpZGF0ZV9leHBycyhhc2RsX3NlcSAqLCBleHByX2NvbnRleHRfdHksIGludCk7CitzdGF0aWMgaW50IHZhbGlkYXRlX25vbmVtcHR5X3NlcShhc2RsX3NlcSAqLCBjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKik7CitzdGF0aWMgaW50IHZhbGlkYXRlX3N0bXQoc3RtdF90eSk7CitzdGF0aWMgaW50IHZhbGlkYXRlX2V4cHIoZXhwcl90eSwgZXhwcl9jb250ZXh0X3R5KTsKKworc3RhdGljIGludAordmFsaWRhdGVfY29tcHJlaGVuc2lvbihhc2RsX3NlcSAqZ2VucykKK3sKKyAgICBpbnQgaTsKKyAgICBpZiAoIWFzZGxfc2VxX0xFTihnZW5zKSkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwgImNvbXByZWhlbnNpb24gd2l0aCBubyBnZW5lcmF0b3JzIik7CisgICAgICAgIHJldHVybiAwOworICAgIH0KKyAgICBmb3IgKGkgPSAwOyBpIDwgYXNkbF9zZXFfTEVOKGdlbnMpOyBpKyspIHsKKyAgICAgICAgY29tcHJlaGVuc2lvbl90eSBjb21wID0gYXNkbF9zZXFfR0VUKGdlbnMsIGkpOworICAgICAgICBpZiAoIXZhbGlkYXRlX2V4cHIoY29tcC0+dGFyZ2V0LCBTdG9yZSkgfHwKKyAgICAgICAgICAgICF2YWxpZGF0ZV9leHByKGNvbXAtPml0ZXIsIExvYWQpIHx8CisgICAgICAgICAgICAhdmFsaWRhdGVfZXhwcnMoY29tcC0+aWZzLCBMb2FkLCAwKSkKKyAgICAgICAgICAgIHJldHVybiAwOworICAgIH0KKyAgICByZXR1cm4gMTsKK30KKworc3RhdGljIGludAordmFsaWRhdGVfc2xpY2Uoc2xpY2VfdHkgc2xpY2UpCit7CisgICAgc3dpdGNoIChzbGljZS0+a2luZCkgeworICAgIGNhc2UgU2xpY2Vfa2luZDoKKyAgICAgICAgcmV0dXJuICghc2xpY2UtPnYuU2xpY2UubG93ZXIgfHwgdmFsaWRhdGVfZXhwcihzbGljZS0+di5TbGljZS5sb3dlciwgTG9hZCkpICYmCisgICAgICAgICAgICAoIXNsaWNlLT52LlNsaWNlLnVwcGVyIHx8IHZhbGlkYXRlX2V4cHIoc2xpY2UtPnYuU2xpY2UudXBwZXIsIExvYWQpKSAmJgorICAgICAgICAgICAgKCFzbGljZS0+di5TbGljZS5zdGVwIHx8IHZhbGlkYXRlX2V4cHIoc2xpY2UtPnYuU2xpY2Uuc3RlcCwgTG9hZCkpOworICAgIGNhc2UgRXh0U2xpY2Vfa2luZDogeworICAgICAgICBpbnQgaTsKKyAgICAgICAgaWYgKCF2YWxpZGF0ZV9ub25lbXB0eV9zZXEoc2xpY2UtPnYuRXh0U2xpY2UuZGltcywgImRpbXMiLCAiRXh0U2xpY2UiKSkKKyAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICBmb3IgKGkgPSAwOyBpIDwgYXNkbF9zZXFfTEVOKHNsaWNlLT52LkV4dFNsaWNlLmRpbXMpOyBpKyspCisgICAgICAgICAgICBpZiAoIXZhbGlkYXRlX3NsaWNlKGFzZGxfc2VxX0dFVChzbGljZS0+di5FeHRTbGljZS5kaW1zLCBpKSkpCisgICAgICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIHJldHVybiAxOworICAgIH0KKyAgICBjYXNlIEluZGV4X2tpbmQ6CisgICAgICAgIHJldHVybiB2YWxpZGF0ZV9leHByKHNsaWNlLT52LkluZGV4LnZhbHVlLCBMb2FkKTsKKyAgICBkZWZhdWx0OgorICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfU3lzdGVtRXJyb3IsICJ1bmtub3duIHNsaWNlIG5vZGUiKTsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorfQorCitzdGF0aWMgaW50Cit2YWxpZGF0ZV9rZXl3b3Jkcyhhc2RsX3NlcSAqa2V5d29yZHMpCit7CisgICAgaW50IGk7CisgICAgZm9yIChpID0gMDsgaSA8IGFzZGxfc2VxX0xFTihrZXl3b3Jkcyk7IGkrKykKKyAgICAgICAgaWYgKCF2YWxpZGF0ZV9leHByKCgoa2V5d29yZF90eSlhc2RsX3NlcV9HRVQoa2V5d29yZHMsIGkpKS0+dmFsdWUsIExvYWQpKQorICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIDE7Cit9CisKK3N0YXRpYyBpbnQKK3ZhbGlkYXRlX2FyZ3MoYXNkbF9zZXEgKmFyZ3MpCit7CisgICAgaW50IGk7CisgICAgZm9yIChpID0gMDsgaSA8IGFzZGxfc2VxX0xFTihhcmdzKTsgaSsrKSB7CisgICAgICAgIGFyZ190eSBhcmcgPSBhc2RsX3NlcV9HRVQoYXJncywgaSk7CisgICAgICAgIGlmIChhcmctPmFubm90YXRpb24gJiYgIXZhbGlkYXRlX2V4cHIoYXJnLT5hbm5vdGF0aW9uLCBMb2FkKSkKKyAgICAgICAgICAgIHJldHVybiAwOworICAgIH0KKyAgICByZXR1cm4gMTsKK30KKworc3RhdGljIGNvbnN0IGNoYXIgKgorZXhwcl9jb250ZXh0X25hbWUoZXhwcl9jb250ZXh0X3R5IGN0eCkKK3sKKyAgICBzd2l0Y2ggKGN0eCkgeworICAgIGNhc2UgTG9hZDoKKyAgICAgICAgcmV0dXJuICJMb2FkIjsKKyAgICBjYXNlIFN0b3JlOgorICAgICAgICByZXR1cm4gIlN0b3JlIjsKKyAgICBjYXNlIERlbDoKKyAgICAgICAgcmV0dXJuICJEZWwiOworICAgIGNhc2UgQXVnTG9hZDoKKyAgICAgICAgcmV0dXJuICJBdWdMb2FkIjsKKyAgICBjYXNlIEF1Z1N0b3JlOgorICAgICAgICByZXR1cm4gIkF1Z1N0b3JlIjsKKyAgICBjYXNlIFBhcmFtOgorICAgICAgICByZXR1cm4gIlBhcmFtIjsKKyAgICBkZWZhdWx0OgorICAgICAgICBhc3NlcnQoMCk7CisgICAgICAgIHJldHVybiAiKHVua25vd24pIjsKKyAgICB9Cit9CisKK3N0YXRpYyBpbnQKK3ZhbGlkYXRlX2FyZ3VtZW50cyhhcmd1bWVudHNfdHkgYXJncykKK3sKKyAgICBpZiAoIXZhbGlkYXRlX2FyZ3MoYXJncy0+YXJncykpCisgICAgICAgIHJldHVybiAwOworICAgIGlmIChhcmdzLT52YXJhcmdhbm5vdGF0aW9uKSB7CisgICAgICAgIGlmICghYXJncy0+dmFyYXJnKSB7CisgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwgInZhcmFyZ2Fubm90YXRpb24gYnV0IG5vIHZhcmFyZyBvbiBhcmd1bWVudHMiKTsKKyAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICB9CisgICAgICAgIGlmICghdmFsaWRhdGVfZXhwcihhcmdzLT52YXJhcmdhbm5vdGF0aW9uLCBMb2FkKSkKKyAgICAgICAgICAgIHJldHVybiAwOworICAgIH0KKyAgICBpZiAoIXZhbGlkYXRlX2FyZ3MoYXJncy0+a3dvbmx5YXJncykpCisgICAgICAgIHJldHVybiAwOworICAgIGlmIChhcmdzLT5rd2FyZ2Fubm90YXRpb24pIHsKKyAgICAgICAgaWYgKCFhcmdzLT5rd2FyZykgeworICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsICJrd2FyZ2Fubm90YXRpb24gYnV0IG5vIGt3YXJnIG9uIGFyZ3VtZW50cyIpOworICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIH0KKyAgICAgICAgaWYgKCF2YWxpZGF0ZV9leHByKGFyZ3MtPmt3YXJnYW5ub3RhdGlvbiwgTG9hZCkpCisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICB9CisgICAgaWYgKGFzZGxfc2VxX0xFTihhcmdzLT5kZWZhdWx0cykgPiBhc2RsX3NlcV9MRU4oYXJncy0+YXJncykpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsICJtb3JlIHBvc2l0aW9uYWwgZGVmYXVsdHMgdGhhbiBhcmdzIG9uIGFyZ3VtZW50cyIpOworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisgICAgaWYgKGFzZGxfc2VxX0xFTihhcmdzLT5rd19kZWZhdWx0cykgIT0gYXNkbF9zZXFfTEVOKGFyZ3MtPmt3b25seWFyZ3MpKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLCAibGVuZ3RoIG9mIGt3b25seWFyZ3MgaXMgbm90IHRoZSBzYW1lIGFzICIKKyAgICAgICAgICAgICAgICAgICAgICAgICJrd19kZWZhdWx0cyBvbiBhcmd1bWVudHMiKTsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorICAgIHJldHVybiB2YWxpZGF0ZV9leHBycyhhcmdzLT5kZWZhdWx0cywgTG9hZCwgMCkgJiYgdmFsaWRhdGVfZXhwcnMoYXJncy0+a3dfZGVmYXVsdHMsIExvYWQsIDEpOworfQorCitzdGF0aWMgaW50Cit2YWxpZGF0ZV9leHByKGV4cHJfdHkgZXhwLCBleHByX2NvbnRleHRfdHkgY3R4KQoreworICAgIGludCBjaGVja19jdHggPSAxOworICAgIGV4cHJfY29udGV4dF90eSBhY3R1YWxfY3R4OworCisgICAgLyogRmlyc3QgY2hlY2sgZXhwcmVzc2lvbiBjb250ZXh0LiAqLworICAgIHN3aXRjaCAoZXhwLT5raW5kKSB7CisgICAgY2FzZSBBdHRyaWJ1dGVfa2luZDoKKyAgICAgICAgYWN0dWFsX2N0eCA9IGV4cC0+di5BdHRyaWJ1dGUuY3R4OworICAgICAgICBicmVhazsKKyAgICBjYXNlIFN1YnNjcmlwdF9raW5kOgorICAgICAgICBhY3R1YWxfY3R4ID0gZXhwLT52LlN1YnNjcmlwdC5jdHg7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgU3RhcnJlZF9raW5kOgorICAgICAgICBhY3R1YWxfY3R4ID0gZXhwLT52LlN0YXJyZWQuY3R4OworICAgICAgICBicmVhazsKKyAgICBjYXNlIE5hbWVfa2luZDoKKyAgICAgICAgYWN0dWFsX2N0eCA9IGV4cC0+di5OYW1lLmN0eDsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBMaXN0X2tpbmQ6CisgICAgICAgIGFjdHVhbF9jdHggPSBleHAtPnYuTGlzdC5jdHg7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgVHVwbGVfa2luZDoKKyAgICAgICAgYWN0dWFsX2N0eCA9IGV4cC0+di5UdXBsZS5jdHg7CisgICAgICAgIGJyZWFrOworICAgIGRlZmF1bHQ6CisgICAgICAgIGlmIChjdHggIT0gTG9hZCkgeworICAgICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1ZhbHVlRXJyb3IsICJleHByZXNzaW9uIHdoaWNoIGNhbid0IGJlICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAiYXNzaWduZWQgdG8gaW4gJXMgY29udGV4dCIsIGV4cHJfY29udGV4dF9uYW1lKGN0eCkpOworICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIH0KKyAgICAgICAgY2hlY2tfY3R4ID0gMDsKKyAgICB9CisgICAgaWYgKGNoZWNrX2N0eCAmJiBhY3R1YWxfY3R4ICE9IGN0eCkgeworICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVmFsdWVFcnJvciwgImV4cHJlc3Npb24gbXVzdCBoYXZlICVzIGNvbnRleHQgYnV0IGhhcyAlcyBpbnN0ZWFkIiwKKyAgICAgICAgICAgICAgICAgICAgIGV4cHJfY29udGV4dF9uYW1lKGN0eCksIGV4cHJfY29udGV4dF9uYW1lKGFjdHVhbF9jdHgpKTsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorCisgICAgLyogTm93IHZhbGlkYXRlIGV4cHJlc3Npb24uICovCisgICAgc3dpdGNoIChleHAtPmtpbmQpIHsKKyAgICBjYXNlIEJvb2xPcF9raW5kOgorICAgICAgICBpZiAoYXNkbF9zZXFfTEVOKGV4cC0+di5Cb29sT3AudmFsdWVzKSA8IDIpIHsKKyAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLCAiQm9vbE9wIHdpdGggbGVzcyB0aGFuIDIgdmFsdWVzIik7CisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gdmFsaWRhdGVfZXhwcnMoZXhwLT52LkJvb2xPcC52YWx1ZXMsIExvYWQsIDApOworICAgIGNhc2UgQmluT3Bfa2luZDoKKyAgICAgICAgcmV0dXJuIHZhbGlkYXRlX2V4cHIoZXhwLT52LkJpbk9wLmxlZnQsIExvYWQpICYmCisgICAgICAgICAgICB2YWxpZGF0ZV9leHByKGV4cC0+di5CaW5PcC5yaWdodCwgTG9hZCk7CisgICAgY2FzZSBVbmFyeU9wX2tpbmQ6CisgICAgICAgIHJldHVybiB2YWxpZGF0ZV9leHByKGV4cC0+di5VbmFyeU9wLm9wZXJhbmQsIExvYWQpOworICAgIGNhc2UgTGFtYmRhX2tpbmQ6CisgICAgICAgIHJldHVybiB2YWxpZGF0ZV9hcmd1bWVudHMoZXhwLT52LkxhbWJkYS5hcmdzKSAmJgorICAgICAgICAgICAgdmFsaWRhdGVfZXhwcihleHAtPnYuTGFtYmRhLmJvZHksIExvYWQpOworICAgIGNhc2UgSWZFeHBfa2luZDoKKyAgICAgICAgcmV0dXJuIHZhbGlkYXRlX2V4cHIoZXhwLT52LklmRXhwLnRlc3QsIExvYWQpICYmCisgICAgICAgICAgICB2YWxpZGF0ZV9leHByKGV4cC0+di5JZkV4cC5ib2R5LCBMb2FkKSAmJgorICAgICAgICAgICAgdmFsaWRhdGVfZXhwcihleHAtPnYuSWZFeHAub3JlbHNlLCBMb2FkKTsKKyAgICBjYXNlIERpY3Rfa2luZDoKKyAgICAgICAgaWYgKGFzZGxfc2VxX0xFTihleHAtPnYuRGljdC5rZXlzKSAhPSBhc2RsX3NlcV9MRU4oZXhwLT52LkRpY3QudmFsdWVzKSkgeworICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkRpY3QgZG9lc24ndCBoYXZlIHRoZSBzYW1lIG51bWJlciBvZiBrZXlzIGFzIHZhbHVlcyIpOworICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIHZhbGlkYXRlX2V4cHJzKGV4cC0+di5EaWN0LmtleXMsIExvYWQsIDApICYmCisgICAgICAgICAgICB2YWxpZGF0ZV9leHBycyhleHAtPnYuRGljdC52YWx1ZXMsIExvYWQsIDApOworICAgIGNhc2UgU2V0X2tpbmQ6CisgICAgICAgIHJldHVybiB2YWxpZGF0ZV9leHBycyhleHAtPnYuU2V0LmVsdHMsIExvYWQsIDApOworI2RlZmluZSBDT01QKE5BTUUpIFwKKyAgICAgICAgY2FzZSBOQU1FICMjIF9raW5kOiBcCisgICAgICAgICAgICByZXR1cm4gdmFsaWRhdGVfY29tcHJlaGVuc2lvbihleHAtPnYuTkFNRS5nZW5lcmF0b3JzKSAmJiBcCisgICAgICAgICAgICAgICAgdmFsaWRhdGVfZXhwcihleHAtPnYuTkFNRS5lbHQsIExvYWQpOworICAgIENPTVAoTGlzdENvbXApCisgICAgQ09NUChTZXRDb21wKQorICAgIENPTVAoR2VuZXJhdG9yRXhwKQorI3VuZGVmIENPTVAKKyAgICBjYXNlIERpY3RDb21wX2tpbmQ6CisgICAgICAgIHJldHVybiB2YWxpZGF0ZV9jb21wcmVoZW5zaW9uKGV4cC0+di5EaWN0Q29tcC5nZW5lcmF0b3JzKSAmJgorICAgICAgICAgICAgdmFsaWRhdGVfZXhwcihleHAtPnYuRGljdENvbXAua2V5LCBMb2FkKSAmJgorICAgICAgICAgICAgdmFsaWRhdGVfZXhwcihleHAtPnYuRGljdENvbXAudmFsdWUsIExvYWQpOworICAgIGNhc2UgWWllbGRfa2luZDoKKyAgICAgICAgcmV0dXJuICFleHAtPnYuWWllbGQudmFsdWUgfHwgdmFsaWRhdGVfZXhwcihleHAtPnYuWWllbGQudmFsdWUsIExvYWQpOworICAgIGNhc2UgWWllbGRGcm9tX2tpbmQ6CisgICAgICAgIHJldHVybiAhZXhwLT52LllpZWxkRnJvbS52YWx1ZSB8fAorICAgICAgICAgICAgdmFsaWRhdGVfZXhwcihleHAtPnYuWWllbGRGcm9tLnZhbHVlLCBMb2FkKTsKKyAgICBjYXNlIENvbXBhcmVfa2luZDoKKyAgICAgICAgaWYgKCFhc2RsX3NlcV9MRU4oZXhwLT52LkNvbXBhcmUuY29tcGFyYXRvcnMpKSB7CisgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwgIkNvbXBhcmUgd2l0aCBubyBjb21wYXJhdG9ycyIpOworICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIH0KKyAgICAgICAgaWYgKGFzZGxfc2VxX0xFTihleHAtPnYuQ29tcGFyZS5jb21wYXJhdG9ycykgIT0KKyAgICAgICAgICAgIGFzZGxfc2VxX0xFTihleHAtPnYuQ29tcGFyZS5vcHMpKSB7CisgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwgIkNvbXBhcmUgaGFzIGEgZGlmZmVyZW50IG51bWJlciAiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9mIGNvbXBhcmF0b3JzIGFuZCBvcGVyYW5kcyIpOworICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIHZhbGlkYXRlX2V4cHJzKGV4cC0+di5Db21wYXJlLmNvbXBhcmF0b3JzLCBMb2FkLCAwKSAmJgorICAgICAgICAgICAgdmFsaWRhdGVfZXhwcihleHAtPnYuQ29tcGFyZS5sZWZ0LCBMb2FkKTsKKyAgICBjYXNlIENhbGxfa2luZDoKKyAgICAgICAgcmV0dXJuIHZhbGlkYXRlX2V4cHIoZXhwLT52LkNhbGwuZnVuYywgTG9hZCkgJiYKKyAgICAgICAgICAgIHZhbGlkYXRlX2V4cHJzKGV4cC0+di5DYWxsLmFyZ3MsIExvYWQsIDApICYmCisgICAgICAgICAgICB2YWxpZGF0ZV9rZXl3b3JkcyhleHAtPnYuQ2FsbC5rZXl3b3JkcykgJiYKKyAgICAgICAgICAgICghZXhwLT52LkNhbGwuc3RhcmFyZ3MgfHwgdmFsaWRhdGVfZXhwcihleHAtPnYuQ2FsbC5zdGFyYXJncywgTG9hZCkpICYmCisgICAgICAgICAgICAoIWV4cC0+di5DYWxsLmt3YXJncyB8fCB2YWxpZGF0ZV9leHByKGV4cC0+di5DYWxsLmt3YXJncywgTG9hZCkpOworICAgIGNhc2UgTnVtX2tpbmQ6IHsKKyAgICAgICAgUHlPYmplY3QgKm4gPSBleHAtPnYuTnVtLm47CisgICAgICAgIGlmICghUHlMb25nX0NoZWNrRXhhY3QobikgJiYgIVB5RmxvYXRfQ2hlY2tFeGFjdChuKSAmJgorICAgICAgICAgICAgIVB5Q29tcGxleF9DaGVja0V4YWN0KG4pKSB7CisgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCAibm9uLW51bWVyaWMgdHlwZSBpbiBOdW0iKTsKKyAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICB9CisgICAgICAgIHJldHVybiAxOworICAgIH0KKyAgICBjYXNlIFN0cl9raW5kOiB7CisgICAgICAgIFB5T2JqZWN0ICpzID0gZXhwLT52LlN0ci5zOworICAgICAgICBpZiAoIVB5VW5pY29kZV9DaGVja0V4YWN0KHMpKSB7CisgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCAibm9uLXN0cmluZyB0eXBlIGluIFN0ciIpOworICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIDE7CisgICAgfQorICAgIGNhc2UgQnl0ZXNfa2luZDogeworICAgICAgICBQeU9iamVjdCAqYiA9IGV4cC0+di5CeXRlcy5zOworICAgICAgICBpZiAoIVB5Qnl0ZXNfQ2hlY2tFeGFjdChiKSkgeworICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgIm5vbi1ieXRlcyB0eXBlIGluIEJ5dGVzIik7CisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gMTsKKyAgICB9CisgICAgY2FzZSBBdHRyaWJ1dGVfa2luZDoKKyAgICAgICAgcmV0dXJuIHZhbGlkYXRlX2V4cHIoZXhwLT52LkF0dHJpYnV0ZS52YWx1ZSwgTG9hZCk7CisgICAgY2FzZSBTdWJzY3JpcHRfa2luZDoKKyAgICAgICAgcmV0dXJuIHZhbGlkYXRlX3NsaWNlKGV4cC0+di5TdWJzY3JpcHQuc2xpY2UpICYmCisgICAgICAgICAgICB2YWxpZGF0ZV9leHByKGV4cC0+di5TdWJzY3JpcHQudmFsdWUsIExvYWQpOworICAgIGNhc2UgU3RhcnJlZF9raW5kOgorICAgICAgICByZXR1cm4gdmFsaWRhdGVfZXhwcihleHAtPnYuU3RhcnJlZC52YWx1ZSwgY3R4KTsKKyAgICBjYXNlIExpc3Rfa2luZDoKKyAgICAgICAgcmV0dXJuIHZhbGlkYXRlX2V4cHJzKGV4cC0+di5MaXN0LmVsdHMsIGN0eCwgMCk7CisgICAgY2FzZSBUdXBsZV9raW5kOgorICAgICAgICByZXR1cm4gdmFsaWRhdGVfZXhwcnMoZXhwLT52LlR1cGxlLmVsdHMsIGN0eCwgMCk7CisgICAgLyogVGhlc2UgbGFzdCBjYXNlcyBkb24ndCBoYXZlIGFueSBjaGVja2luZy4gKi8KKyAgICBjYXNlIE5hbWVfa2luZDoKKyAgICBjYXNlIEVsbGlwc2lzX2tpbmQ6CisgICAgICAgIHJldHVybiAxOworICAgIGRlZmF1bHQ6CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19TeXN0ZW1FcnJvciwgInVuZXhwZWN0ZWQgZXhwcmVzc2lvbiIpOworICAgICAgICByZXR1cm4gMDsKKyAgICB9Cit9CisKK3N0YXRpYyBpbnQKK3ZhbGlkYXRlX25vbmVtcHR5X3NlcShhc2RsX3NlcSAqc2VxLCBjb25zdCBjaGFyICp3aGF0LCBjb25zdCBjaGFyICpvd25lcikKK3sKKyAgICBpZiAoYXNkbF9zZXFfTEVOKHNlcSkpCisgICAgICAgIHJldHVybiAxOworICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19WYWx1ZUVycm9yLCAiZW1wdHkgJXMgb24gJXMiLCB3aGF0LCBvd25lcik7CisgICAgcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQKK3ZhbGlkYXRlX2Fzc2lnbmxpc3QoYXNkbF9zZXEgKnRhcmdldHMsIGV4cHJfY29udGV4dF90eSBjdHgpCit7CisgICAgcmV0dXJuIHZhbGlkYXRlX25vbmVtcHR5X3NlcSh0YXJnZXRzLCAidGFyZ2V0cyIsIGN0eCA9PSBEZWwgPyAiRGVsZXRlIiA6ICJBc3NpZ24iKSAmJgorICAgICAgICB2YWxpZGF0ZV9leHBycyh0YXJnZXRzLCBjdHgsIDApOworfQorCitzdGF0aWMgaW50Cit2YWxpZGF0ZV9ib2R5KGFzZGxfc2VxICpib2R5LCBjb25zdCBjaGFyICpvd25lcikKK3sKKyAgICByZXR1cm4gdmFsaWRhdGVfbm9uZW1wdHlfc2VxKGJvZHksICJib2R5Iiwgb3duZXIpICYmIHZhbGlkYXRlX3N0bXRzKGJvZHkpOworfQorCitzdGF0aWMgaW50Cit2YWxpZGF0ZV9zdG10KHN0bXRfdHkgc3RtdCkKK3sKKyAgICBpbnQgaTsKKyAgICBzd2l0Y2ggKHN0bXQtPmtpbmQpIHsKKyAgICBjYXNlIEZ1bmN0aW9uRGVmX2tpbmQ6CisgICAgICAgIHJldHVybiB2YWxpZGF0ZV9ib2R5KHN0bXQtPnYuRnVuY3Rpb25EZWYuYm9keSwgIkZ1bmN0aW9uRGVmIikgJiYKKyAgICAgICAgICAgIHZhbGlkYXRlX2FyZ3VtZW50cyhzdG10LT52LkZ1bmN0aW9uRGVmLmFyZ3MpICYmCisgICAgICAgICAgICB2YWxpZGF0ZV9leHBycyhzdG10LT52LkZ1bmN0aW9uRGVmLmRlY29yYXRvcl9saXN0LCBMb2FkLCAwKSAmJgorICAgICAgICAgICAgKCFzdG10LT52LkZ1bmN0aW9uRGVmLnJldHVybnMgfHwKKyAgICAgICAgICAgICB2YWxpZGF0ZV9leHByKHN0bXQtPnYuRnVuY3Rpb25EZWYucmV0dXJucywgTG9hZCkpOworICAgIGNhc2UgQ2xhc3NEZWZfa2luZDoKKyAgICAgICAgcmV0dXJuIHZhbGlkYXRlX2JvZHkoc3RtdC0+di5DbGFzc0RlZi5ib2R5LCAiQ2xhc3NEZWYiKSAmJgorICAgICAgICAgICAgdmFsaWRhdGVfZXhwcnMoc3RtdC0+di5DbGFzc0RlZi5iYXNlcywgTG9hZCwgMCkgJiYKKyAgICAgICAgICAgIHZhbGlkYXRlX2tleXdvcmRzKHN0bXQtPnYuQ2xhc3NEZWYua2V5d29yZHMpICYmCisgICAgICAgICAgICB2YWxpZGF0ZV9leHBycyhzdG10LT52LkNsYXNzRGVmLmRlY29yYXRvcl9saXN0LCBMb2FkLCAwKSAmJgorICAgICAgICAgICAgKCFzdG10LT52LkNsYXNzRGVmLnN0YXJhcmdzIHx8IHZhbGlkYXRlX2V4cHIoc3RtdC0+di5DbGFzc0RlZi5zdGFyYXJncywgTG9hZCkpICYmCisgICAgICAgICAgICAoIXN0bXQtPnYuQ2xhc3NEZWYua3dhcmdzIHx8IHZhbGlkYXRlX2V4cHIoc3RtdC0+di5DbGFzc0RlZi5rd2FyZ3MsIExvYWQpKTsKKyAgICBjYXNlIFJldHVybl9raW5kOgorICAgICAgICByZXR1cm4gIXN0bXQtPnYuUmV0dXJuLnZhbHVlIHx8IHZhbGlkYXRlX2V4cHIoc3RtdC0+di5SZXR1cm4udmFsdWUsIExvYWQpOworICAgIGNhc2UgRGVsZXRlX2tpbmQ6CisgICAgICAgIHJldHVybiB2YWxpZGF0ZV9hc3NpZ25saXN0KHN0bXQtPnYuRGVsZXRlLnRhcmdldHMsIERlbCk7CisgICAgY2FzZSBBc3NpZ25fa2luZDoKKyAgICAgICAgcmV0dXJuIHZhbGlkYXRlX2Fzc2lnbmxpc3Qoc3RtdC0+di5Bc3NpZ24udGFyZ2V0cywgU3RvcmUpICYmCisgICAgICAgICAgICB2YWxpZGF0ZV9leHByKHN0bXQtPnYuQXNzaWduLnZhbHVlLCBMb2FkKTsKKyAgICBjYXNlIEF1Z0Fzc2lnbl9raW5kOgorICAgICAgICByZXR1cm4gdmFsaWRhdGVfZXhwcihzdG10LT52LkF1Z0Fzc2lnbi50YXJnZXQsIFN0b3JlKSAmJgorICAgICAgICAgICAgdmFsaWRhdGVfZXhwcihzdG10LT52LkF1Z0Fzc2lnbi52YWx1ZSwgTG9hZCk7CisgICAgY2FzZSBGb3Jfa2luZDoKKyAgICAgICAgcmV0dXJuIHZhbGlkYXRlX2V4cHIoc3RtdC0+di5Gb3IudGFyZ2V0LCBTdG9yZSkgJiYKKyAgICAgICAgICAgIHZhbGlkYXRlX2V4cHIoc3RtdC0+di5Gb3IuaXRlciwgTG9hZCkgJiYKKyAgICAgICAgICAgIHZhbGlkYXRlX2JvZHkoc3RtdC0+di5Gb3IuYm9keSwgIkZvciIpICYmCisgICAgICAgICAgICB2YWxpZGF0ZV9zdG10cyhzdG10LT52LkZvci5vcmVsc2UpOworICAgIGNhc2UgV2hpbGVfa2luZDoKKyAgICAgICAgcmV0dXJuIHZhbGlkYXRlX2V4cHIoc3RtdC0+di5XaGlsZS50ZXN0LCBMb2FkKSAmJgorICAgICAgICAgICAgdmFsaWRhdGVfYm9keShzdG10LT52LldoaWxlLmJvZHksICJXaGlsZSIpICYmCisgICAgICAgICAgICB2YWxpZGF0ZV9zdG10cyhzdG10LT52LldoaWxlLm9yZWxzZSk7CisgICAgY2FzZSBJZl9raW5kOgorICAgICAgICByZXR1cm4gdmFsaWRhdGVfZXhwcihzdG10LT52LklmLnRlc3QsIExvYWQpICYmCisgICAgICAgICAgICB2YWxpZGF0ZV9ib2R5KHN0bXQtPnYuSWYuYm9keSwgIklmIikgJiYKKyAgICAgICAgICAgIHZhbGlkYXRlX3N0bXRzKHN0bXQtPnYuSWYub3JlbHNlKTsKKyAgICBjYXNlIFdpdGhfa2luZDoKKyAgICAgICAgaWYgKCF2YWxpZGF0ZV9ub25lbXB0eV9zZXEoc3RtdC0+di5XaXRoLml0ZW1zLCAiaXRlbXMiLCAiV2l0aCIpKQorICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIGZvciAoaSA9IDA7IGkgPCBhc2RsX3NlcV9MRU4oc3RtdC0+di5XaXRoLml0ZW1zKTsgaSsrKSB7CisgICAgICAgICAgICB3aXRoaXRlbV90eSBpdGVtID0gYXNkbF9zZXFfR0VUKHN0bXQtPnYuV2l0aC5pdGVtcywgaSk7CisgICAgICAgICAgICBpZiAoIXZhbGlkYXRlX2V4cHIoaXRlbS0+Y29udGV4dF9leHByLCBMb2FkKSB8fAorICAgICAgICAgICAgICAgIChpdGVtLT5vcHRpb25hbF92YXJzICYmICF2YWxpZGF0ZV9leHByKGl0ZW0tPm9wdGlvbmFsX3ZhcnMsIFN0b3JlKSkpCisgICAgICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIHZhbGlkYXRlX2JvZHkoc3RtdC0+di5XaXRoLmJvZHksICJXaXRoIik7CisgICAgY2FzZSBSYWlzZV9raW5kOgorICAgICAgICBpZiAoc3RtdC0+di5SYWlzZS5leGMpIHsKKyAgICAgICAgICAgIHJldHVybiB2YWxpZGF0ZV9leHByKHN0bXQtPnYuUmFpc2UuZXhjLCBMb2FkKSAmJgorICAgICAgICAgICAgICAgICghc3RtdC0+di5SYWlzZS5jYXVzZSB8fCB2YWxpZGF0ZV9leHByKHN0bXQtPnYuUmFpc2UuY2F1c2UsIExvYWQpKTsKKyAgICAgICAgfQorICAgICAgICBpZiAoc3RtdC0+di5SYWlzZS5jYXVzZSkgeworICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsICJSYWlzZSB3aXRoIGNhdXNlIGJ1dCBubyBleGNlcHRpb24iKTsKKyAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICB9CisgICAgICAgIHJldHVybiAxOworICAgIGNhc2UgVHJ5X2tpbmQ6CisgICAgICAgIGlmICghdmFsaWRhdGVfYm9keShzdG10LT52LlRyeS5ib2R5LCAiVHJ5IikpCisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgaWYgKCFhc2RsX3NlcV9MRU4oc3RtdC0+di5UcnkuaGFuZGxlcnMpICYmCisgICAgICAgICAgICAhYXNkbF9zZXFfTEVOKHN0bXQtPnYuVHJ5LmZpbmFsYm9keSkpIHsKKyAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLCAiVHJ5IGhhcyBuZWl0aGVyIGV4Y2VwdCBoYW5kbGVycyBub3IgZmluYWxib2R5Iik7CisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgfQorICAgICAgICBpZiAoIWFzZGxfc2VxX0xFTihzdG10LT52LlRyeS5oYW5kbGVycykgJiYKKyAgICAgICAgICAgIGFzZGxfc2VxX0xFTihzdG10LT52LlRyeS5vcmVsc2UpKSB7CisgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwgIlRyeSBoYXMgb3JlbHNlIGJ1dCBubyBleGNlcHQgaGFuZGxlcnMiKTsKKyAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICB9CisgICAgICAgIGZvciAoaSA9IDA7IGkgPCBhc2RsX3NlcV9MRU4oc3RtdC0+di5UcnkuaGFuZGxlcnMpOyBpKyspIHsKKyAgICAgICAgICAgIGV4Y2VwdGhhbmRsZXJfdHkgaGFuZGxlciA9IGFzZGxfc2VxX0dFVChzdG10LT52LlRyeS5oYW5kbGVycywgaSk7CisgICAgICAgICAgICBpZiAoKGhhbmRsZXItPnYuRXhjZXB0SGFuZGxlci50eXBlICYmCisgICAgICAgICAgICAgICAgICF2YWxpZGF0ZV9leHByKGhhbmRsZXItPnYuRXhjZXB0SGFuZGxlci50eXBlLCBMb2FkKSkgfHwKKyAgICAgICAgICAgICAgICAhdmFsaWRhdGVfYm9keShoYW5kbGVyLT52LkV4Y2VwdEhhbmRsZXIuYm9keSwgIkV4Y2VwdEhhbmRsZXIiKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gKCFhc2RsX3NlcV9MRU4oc3RtdC0+di5UcnkuZmluYWxib2R5KSB8fAorICAgICAgICAgICAgICAgIHZhbGlkYXRlX3N0bXRzKHN0bXQtPnYuVHJ5LmZpbmFsYm9keSkpICYmCisgICAgICAgICAgICAoIWFzZGxfc2VxX0xFTihzdG10LT52LlRyeS5vcmVsc2UpIHx8CisgICAgICAgICAgICAgdmFsaWRhdGVfc3RtdHMoc3RtdC0+di5Ucnkub3JlbHNlKSk7CisgICAgY2FzZSBBc3NlcnRfa2luZDoKKyAgICAgICAgcmV0dXJuIHZhbGlkYXRlX2V4cHIoc3RtdC0+di5Bc3NlcnQudGVzdCwgTG9hZCkgJiYKKyAgICAgICAgICAgICghc3RtdC0+di5Bc3NlcnQubXNnIHx8IHZhbGlkYXRlX2V4cHIoc3RtdC0+di5Bc3NlcnQubXNnLCBMb2FkKSk7CisgICAgY2FzZSBJbXBvcnRfa2luZDoKKyAgICAgICAgcmV0dXJuIHZhbGlkYXRlX25vbmVtcHR5X3NlcShzdG10LT52LkltcG9ydC5uYW1lcywgIm5hbWVzIiwgIkltcG9ydCIpOworICAgIGNhc2UgSW1wb3J0RnJvbV9raW5kOgorICAgICAgICBpZiAoc3RtdC0+di5JbXBvcnRGcm9tLmxldmVsIDwgLTEpIHsKKyAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLCAiSW1wb3J0RnJvbSBsZXZlbCBsZXNzIHRoYW4gLTEiKTsKKyAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICB9CisgICAgICAgIHJldHVybiB2YWxpZGF0ZV9ub25lbXB0eV9zZXEoc3RtdC0+di5JbXBvcnRGcm9tLm5hbWVzLCAibmFtZXMiLCAiSW1wb3J0RnJvbSIpOworICAgIGNhc2UgR2xvYmFsX2tpbmQ6CisgICAgICAgIHJldHVybiB2YWxpZGF0ZV9ub25lbXB0eV9zZXEoc3RtdC0+di5HbG9iYWwubmFtZXMsICJuYW1lcyIsICJHbG9iYWwiKTsKKyAgICBjYXNlIE5vbmxvY2FsX2tpbmQ6CisgICAgICAgIHJldHVybiB2YWxpZGF0ZV9ub25lbXB0eV9zZXEoc3RtdC0+di5Ob25sb2NhbC5uYW1lcywgIm5hbWVzIiwgIk5vbmxvY2FsIik7CisgICAgY2FzZSBFeHByX2tpbmQ6CisgICAgICAgIHJldHVybiB2YWxpZGF0ZV9leHByKHN0bXQtPnYuRXhwci52YWx1ZSwgTG9hZCk7CisgICAgY2FzZSBQYXNzX2tpbmQ6CisgICAgY2FzZSBCcmVha19raW5kOgorICAgIGNhc2UgQ29udGludWVfa2luZDoKKyAgICAgICAgcmV0dXJuIDE7CisgICAgZGVmYXVsdDoKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1N5c3RlbUVycm9yLCAidW5leHBlY3RlZCBzdGF0ZW1lbnQiKTsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorfQorCitzdGF0aWMgaW50Cit2YWxpZGF0ZV9zdG10cyhhc2RsX3NlcSAqc2VxKQoreworICAgIGludCBpOworICAgIGZvciAoaSA9IDA7IGkgPCBhc2RsX3NlcV9MRU4oc2VxKTsgaSsrKSB7CisgICAgICAgIHN0bXRfdHkgc3RtdCA9IGFzZGxfc2VxX0dFVChzZXEsIGkpOworICAgICAgICBpZiAoc3RtdCkgeworICAgICAgICAgICAgaWYgKCF2YWxpZGF0ZV9zdG10KHN0bXQpKQorICAgICAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICB9CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5vbmUgZGlzYWxsb3dlZCBpbiBzdGF0ZW1lbnQgbGlzdCIpOworICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIH0KKyAgICB9CisgICAgcmV0dXJuIDE7Cit9CisKK3N0YXRpYyBpbnQKK3ZhbGlkYXRlX2V4cHJzKGFzZGxfc2VxICpleHBycywgZXhwcl9jb250ZXh0X3R5IGN0eCwgaW50IG51bGxfb2spCit7CisgICAgaW50IGk7CisgICAgZm9yIChpID0gMDsgaSA8IGFzZGxfc2VxX0xFTihleHBycyk7IGkrKykgeworICAgICAgICBleHByX3R5IGV4cHIgPSBhc2RsX3NlcV9HRVQoZXhwcnMsIGkpOworICAgICAgICBpZiAoZXhwcikgeworICAgICAgICAgICAgaWYgKCF2YWxpZGF0ZV9leHByKGV4cHIsIGN0eCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIH0KKyAgICAgICAgZWxzZSBpZiAoIW51bGxfb2spIHsKKyAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICJOb25lIGRpc2FsbG93ZWQgaW4gZXhwcmVzc2lvbiBsaXN0Iik7CisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgfQorICAgICAgICAgICAgCisgICAgfQorICAgIHJldHVybiAxOworfQorCitpbnQKK1B5QVNUX1ZhbGlkYXRlKG1vZF90eSBtb2QpCit7CisgICAgaW50IHJlcyA9IDA7CisKKyAgICBzd2l0Y2ggKG1vZC0+a2luZCkgeworICAgIGNhc2UgTW9kdWxlX2tpbmQ6CisgICAgICAgIHJlcyA9IHZhbGlkYXRlX3N0bXRzKG1vZC0+di5Nb2R1bGUuYm9keSk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgSW50ZXJhY3RpdmVfa2luZDoKKyAgICAgICAgcmVzID0gdmFsaWRhdGVfc3RtdHMobW9kLT52LkludGVyYWN0aXZlLmJvZHkpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIEV4cHJlc3Npb25fa2luZDoKKyAgICAgICAgcmVzID0gdmFsaWRhdGVfZXhwcihtb2QtPnYuRXhwcmVzc2lvbi5ib2R5LCBMb2FkKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBTdWl0ZV9raW5kOgorICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwgIlN1aXRlIGlzIG5vdCB2YWxpZCBpbiB0aGUgQ1B5dGhvbiBjb21waWxlciIpOworICAgICAgICBicmVhazsKKyAgICBkZWZhdWx0OgorICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfU3lzdGVtRXJyb3IsICJpbXBvc3NpYmxlIG1vZHVsZSBub2RlIik7CisgICAgICAgIHJlcyA9IDA7CisgICAgICAgIGJyZWFrOworICAgIH0KKyAgICByZXR1cm4gcmVzOworfQorCisvKiBUaGlzIGlzIGRvbmUgaGVyZSwgc28gZGVmaW5lcyBsaWtlICJ0ZXN0IiBkb24ndCBpbnRlcmZlcmUgd2l0aCBBU1QgdXNlIGFib3ZlLiAqLworI2luY2x1ZGUgImdyYW1tYXIuaCIKKyNpbmNsdWRlICJwYXJzZXRvay5oIgorI2luY2x1ZGUgImdyYW1pbml0LmgiCisKIC8qIERhdGEgc3RydWN0dXJlIHVzZWQgaW50ZXJuYWxseSAqLwogc3RydWN0IGNvbXBpbGluZyB7CiAgICAgY2hhciAqY19lbmNvZGluZzsgLyogc291cmNlIGVuY29kaW5nICovCiAgICAgUHlBcmVuYSAqY19hcmVuYTsgLyogYXJlbmEgZm9yIGFsbG9jYXRpbmcgbWVtZW9yeSAqLwogICAgIGNvbnN0IGNoYXIgKmNfZmlsZW5hbWU7IC8qIGZpbGVuYW1lICovCisgICAgUHlPYmplY3QgKmNfbm9ybWFsaXplOyAvKiBOb3JtYWxpemF0aW9uIGZ1bmN0aW9uIGZyb20gdW5pY29kZWRhdGEuICovCisgICAgUHlPYmplY3QgKmNfbm9ybWFsaXplX2FyZ3M7IC8qIE5vcm1hbGl6YXRpb24gYXJndW1lbnQgdHVwbGUuICovCiB9OwogCiBzdGF0aWMgYXNkbF9zZXEgKnNlcV9mb3JfdGVzdGxpc3Qoc3RydWN0IGNvbXBpbGluZyAqLCBjb25zdCBub2RlICopOwpAQCAtMzgsNDUgKzUyMSw1OCBAQAogc3RhdGljIFB5T2JqZWN0ICpwYXJzZXN0cnBsdXMoc3RydWN0IGNvbXBpbGluZyAqLCBjb25zdCBub2RlICpuLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ICpieXRlc21vZGUpOwogCi0jaWZuZGVmIExJTkVOTwotI2RlZmluZSBMSU5FTk8obikgICAgICAgKChuKS0+bl9saW5lbm8pCi0jZW5kaWYKLQogI2RlZmluZSBDT01QX0dFTkVYUCAgIDAKICNkZWZpbmUgQ09NUF9MSVNUQ09NUCAxCiAjZGVmaW5lIENPTVBfU0VUQ09NUCAgMgogCitzdGF0aWMgaW50Citpbml0X25vcm1hbGl6YXRpb24oc3RydWN0IGNvbXBpbGluZyAqYykKK3sKKyAgICBQeU9iamVjdCAqbSA9IFB5SW1wb3J0X0ltcG9ydE1vZHVsZU5vQmxvY2soInVuaWNvZGVkYXRhIik7CisgICAgaWYgKCFtKQorICAgICAgICByZXR1cm4gMDsKKyAgICBjLT5jX25vcm1hbGl6ZSA9IFB5T2JqZWN0X0dldEF0dHJTdHJpbmcobSwgIm5vcm1hbGl6ZSIpOworICAgIFB5X0RFQ1JFRihtKTsKKyAgICBpZiAoIWMtPmNfbm9ybWFsaXplKQorICAgICAgICByZXR1cm4gMDsKKyAgICBjLT5jX25vcm1hbGl6ZV9hcmdzID0gUHlfQnVpbGRWYWx1ZSgiKHNOKSIsICJORktDIiwgUHlfTm9uZSk7CisgICAgUHlUdXBsZV9TRVRfSVRFTShjLT5jX25vcm1hbGl6ZV9hcmdzLCAxLCBOVUxMKTsKKyAgICBpZiAoIWMtPmNfbm9ybWFsaXplX2FyZ3MpIHsKKyAgICAgICAgUHlfQ0xFQVIoYy0+Y19ub3JtYWxpemUpOworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisgICAgcmV0dXJuIDE7Cit9CisKIHN0YXRpYyBpZGVudGlmaWVyCi1uZXdfaWRlbnRpZmllcihjb25zdCBjaGFyKiBuLCBQeUFyZW5hICphcmVuYSkKK25ld19pZGVudGlmaWVyKGNvbnN0IGNoYXIqIG4sIHN0cnVjdCBjb21waWxpbmcgKmMpCiB7CiAgICAgUHlPYmplY3QqIGlkID0gUHlVbmljb2RlX0RlY29kZVVURjgobiwgc3RybGVuKG4pLCBOVUxMKTsKLSAgICBQeV9VTklDT0RFICp1OwogICAgIGlmICghaWQpCiAgICAgICAgIHJldHVybiBOVUxMOwotICAgIHUgPSBQeVVuaWNvZGVfQVNfVU5JQ09ERShpZCk7CisgICAgLyogUHlVbmljb2RlX0RlY29kZVVURjggc2hvdWxkIGFsd2F5cyByZXR1cm4gYSByZWFkeSBzdHJpbmcuICovCisgICAgYXNzZXJ0KFB5VW5pY29kZV9JU19SRUFEWShpZCkpOwogICAgIC8qIENoZWNrIHdoZXRoZXIgdGhlcmUgYXJlIG5vbi1BU0NJSSBjaGFyYWN0ZXJzIGluIHRoZQogICAgICAgIGlkZW50aWZpZXI7IGlmIHNvLCBub3JtYWxpemUgdG8gTkZLQy4gKi8KLSAgICBmb3IgKDsgKnU7IHUrKykgewotICAgICAgICBpZiAoKnUgPj0gMTI4KSB7Ci0gICAgICAgICAgICBQeU9iamVjdCAqbSA9IFB5SW1wb3J0X0ltcG9ydE1vZHVsZU5vQmxvY2soInVuaWNvZGVkYXRhIik7Ci0gICAgICAgICAgICBQeU9iamVjdCAqaWQyOwotICAgICAgICAgICAgaWYgKCFtKQotICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOwotICAgICAgICAgICAgaWQyID0gUHlPYmplY3RfQ2FsbE1ldGhvZChtLCAibm9ybWFsaXplIiwgInNPIiwgIk5GS0MiLCBpZCk7Ci0gICAgICAgICAgICBQeV9ERUNSRUYobSk7Ci0gICAgICAgICAgICBpZiAoIWlkMikKLSAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBpZiAoIVB5VW5pY29kZV9JU19BU0NJSShpZCkpIHsKKyAgICAgICAgUHlPYmplY3QgKmlkMjsKKyAgICAgICAgaWYgKCFjLT5jX25vcm1hbGl6ZSAmJiAhaW5pdF9ub3JtYWxpemF0aW9uKGMpKSB7CiAgICAgICAgICAgICBQeV9ERUNSRUYoaWQpOwotICAgICAgICAgICAgaWQgPSBpZDI7Ci0gICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICB9CisgICAgICAgIFB5VHVwbGVfU0VUX0lURU0oYy0+Y19ub3JtYWxpemVfYXJncywgMSwgaWQpOworICAgICAgICBpZDIgPSBQeU9iamVjdF9DYWxsKGMtPmNfbm9ybWFsaXplLCBjLT5jX25vcm1hbGl6ZV9hcmdzLCBOVUxMKTsKKyAgICAgICAgUHlfREVDUkVGKGlkKTsKKyAgICAgICAgaWYgKCFpZDIpCisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgaWQgPSBpZDI7CiAgICAgfQogICAgIFB5VW5pY29kZV9JbnRlcm5JblBsYWNlKCZpZCk7Ci0gICAgUHlBcmVuYV9BZGRQeU9iamVjdChhcmVuYSwgaWQpOworICAgIFB5QXJlbmFfQWRkUHlPYmplY3QoYy0+Y19hcmVuYSwgaWQpOwogICAgIHJldHVybiBpZDsKIH0KIAotI2RlZmluZSBORVdfSURFTlRJRklFUihuKSBuZXdfaWRlbnRpZmllcihTVFIobiksIGMtPmNfYXJlbmEpCisjZGVmaW5lIE5FV19JREVOVElGSUVSKG4pIG5ld19pZGVudGlmaWVyKFNUUihuKSwgYykKIAogLyogVGhpcyByb3V0aW5lIHByb3ZpZGVzIGFuIGludmFsaWQgb2JqZWN0IGZvciB0aGUgc3ludGF4IGVycm9yLgogICAgVGhlIG91dGVybW9zdCByb3V0aW5lIG11c3QgdW5wYWNrIHRoaXMgZXJyb3IgYW5kIGNyZWF0ZSB0aGUKQEAgLTIyNiwxMyArNzIyLDE0IEBACiAgICAgc3RtdF90eSBzOwogICAgIG5vZGUgKmNoOwogICAgIHN0cnVjdCBjb21waWxpbmcgYzsKKyAgICBtb2RfdHkgcmVzID0gTlVMTDsKIAogICAgIGlmIChmbGFncyAmJiBmbGFncy0+Y2ZfZmxhZ3MgJiBQeUNGX1NPVVJDRV9JU19VVEY4KSB7CiAgICAgICAgIGMuY19lbmNvZGluZyA9ICJ1dGYtOCI7CiAgICAgICAgIGlmIChUWVBFKG4pID09IGVuY29kaW5nX2RlY2wpIHsKICNpZiAwCiAgICAgICAgICAgICBhc3RfZXJyb3IobiwgImVuY29kaW5nIGRlY2xhcmF0aW9uIGluIFVuaWNvZGUgc3RyaW5nIik7Ci0gICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICAgICAgZ290byBvdXQ7CiAjZW5kaWYKICAgICAgICAgICAgIG4gPSBDSElMRChuLCAwKTsKICAgICAgICAgfQpAQCAtMjQ1LDEzICs3NDIsMTQgQEAKICAgICB9CiAgICAgYy5jX2FyZW5hID0gYXJlbmE7CiAgICAgYy5jX2ZpbGVuYW1lID0gZmlsZW5hbWU7CisgICAgYy5jX25vcm1hbGl6ZSA9IGMuY19ub3JtYWxpemVfYXJncyA9IE5VTEw7CiAKICAgICBrID0gMDsKICAgICBzd2l0Y2ggKFRZUEUobikpIHsKICAgICAgICAgY2FzZSBmaWxlX2lucHV0OgogICAgICAgICAgICAgc3RtdHMgPSBhc2RsX3NlcV9uZXcobnVtX3N0bXRzKG4pLCBhcmVuYSk7CiAgICAgICAgICAgICBpZiAoIXN0bXRzKQotICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICAgICAgICAgIGdvdG8gb3V0OwogICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IE5DSChuKSAtIDE7IGkrKykgewogICAgICAgICAgICAgICAgIGNoID0gQ0hJTEQobiwgaSk7CiAgICAgICAgICAgICAgICAgaWYgKFRZUEUoY2gpID09IE5FV0xJTkUpCkBAIC0yNjEsNyArNzU5LDcgQEAKICAgICAgICAgICAgICAgICBpZiAobnVtID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAgcyA9IGFzdF9mb3Jfc3RtdCgmYywgY2gpOwogICAgICAgICAgICAgICAgICAgICBpZiAoIXMpCi0gICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICAgICAgICAgICAgICAgICAgZ290byBvdXQ7CiAgICAgICAgICAgICAgICAgICAgIGFzZGxfc2VxX1NFVChzdG10cywgaysrLCBzKTsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgZWxzZSB7CkBAIC0yNzAsNDIgKzc2OCw0NCBAQAogICAgICAgICAgICAgICAgICAgICBmb3IgKGogPSAwOyBqIDwgbnVtOyBqKyspIHsKICAgICAgICAgICAgICAgICAgICAgICAgIHMgPSBhc3RfZm9yX3N0bXQoJmMsIENISUxEKGNoLCBqICogMikpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFzKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ290byBvdXQ7CiAgICAgICAgICAgICAgICAgICAgICAgICBhc2RsX3NlcV9TRVQoc3RtdHMsIGsrKywgcyk7CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICByZXR1cm4gTW9kdWxlKHN0bXRzLCBhcmVuYSk7CisgICAgICAgICAgICByZXMgPSBNb2R1bGUoc3RtdHMsIGFyZW5hKTsKKyAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIGV2YWxfaW5wdXQ6IHsKICAgICAgICAgICAgIGV4cHJfdHkgdGVzdGxpc3RfYXN0OwogCiAgICAgICAgICAgICAvKiBYWFggV2h5IG5vdCBjb21wX2ZvciBoZXJlPyAqLwogICAgICAgICAgICAgdGVzdGxpc3RfYXN0ID0gYXN0X2Zvcl90ZXN0bGlzdCgmYywgQ0hJTEQobiwgMCkpOwogICAgICAgICAgICAgaWYgKCF0ZXN0bGlzdF9hc3QpCi0gICAgICAgICAgICAgICAgZ290byBlcnJvcjsKLSAgICAgICAgICAgIHJldHVybiBFeHByZXNzaW9uKHRlc3RsaXN0X2FzdCwgYXJlbmEpOworICAgICAgICAgICAgICAgIGdvdG8gb3V0OworICAgICAgICAgICAgcmVzID0gRXhwcmVzc2lvbih0ZXN0bGlzdF9hc3QsIGFyZW5hKTsKKyAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgICAgIGNhc2Ugc2luZ2xlX2lucHV0OgogICAgICAgICAgICAgaWYgKFRZUEUoQ0hJTEQobiwgMCkpID09IE5FV0xJTkUpIHsKICAgICAgICAgICAgICAgICBzdG10cyA9IGFzZGxfc2VxX25ldygxLCBhcmVuYSk7CiAgICAgICAgICAgICAgICAgaWYgKCFzdG10cykKLSAgICAgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgICAgICAgICAgICAgZ290byBvdXQ7CiAgICAgICAgICAgICAgICAgYXNkbF9zZXFfU0VUKHN0bXRzLCAwLCBQYXNzKG4tPm5fbGluZW5vLCBuLT5uX2NvbF9vZmZzZXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyZW5hKSk7CiAgICAgICAgICAgICAgICAgaWYgKCFhc2RsX3NlcV9HRVQoc3RtdHMsIDApKQotICAgICAgICAgICAgICAgICAgICBnb3RvIGVycm9yOwotICAgICAgICAgICAgICAgIHJldHVybiBJbnRlcmFjdGl2ZShzdG10cywgYXJlbmEpOworICAgICAgICAgICAgICAgICAgICBnb3RvIG91dDsKKyAgICAgICAgICAgICAgICByZXMgPSBJbnRlcmFjdGl2ZShzdG10cywgYXJlbmEpOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAgbiA9IENISUxEKG4sIDApOwogICAgICAgICAgICAgICAgIG51bSA9IG51bV9zdG10cyhuKTsKICAgICAgICAgICAgICAgICBzdG10cyA9IGFzZGxfc2VxX25ldyhudW0sIGFyZW5hKTsKICAgICAgICAgICAgICAgICBpZiAoIXN0bXRzKQotICAgICAgICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICAgICAgICAgICAgICBnb3RvIG91dDsKICAgICAgICAgICAgICAgICBpZiAobnVtID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAgcyA9IGFzdF9mb3Jfc3RtdCgmYywgbik7CiAgICAgICAgICAgICAgICAgICAgIGlmICghcykKLSAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIG91dDsKICAgICAgICAgICAgICAgICAgICAgYXNkbF9zZXFfU0VUKHN0bXRzLCAwLCBzKTsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgZWxzZSB7CkBAIC0zMTYsMjEgKzgxNiwyOCBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgICAgICAgcyA9IGFzdF9mb3Jfc3RtdCgmYywgQ0hJTEQobiwgaSkpOwogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFzKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ290byBvdXQ7CiAgICAgICAgICAgICAgICAgICAgICAgICBhc2RsX3NlcV9TRVQoc3RtdHMsIGkgLyAyLCBzKTsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgICAgIHJldHVybiBJbnRlcmFjdGl2ZShzdG10cywgYXJlbmEpOworICAgICAgICAgICAgICAgIHJlcyA9IEludGVyYWN0aXZlKHN0bXRzLCBhcmVuYSk7CiAgICAgICAgICAgICB9CisgICAgICAgICAgICBicmVhazsKICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19TeXN0ZW1FcnJvciwKICAgICAgICAgICAgICAgICAgICAgICAgICAiaW52YWxpZCBub2RlICVkIGZvciBQeUFTVF9Gcm9tTm9kZSIsIFRZUEUobikpOwotICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgICAgIGdvdG8gb3V0OwogICAgIH0KLSBlcnJvcjoKLSAgICBhc3RfZXJyb3JfZmluaXNoKGZpbGVuYW1lKTsKLSAgICByZXR1cm4gTlVMTDsKKyBvdXQ6CisgICAgaWYgKGMuY19ub3JtYWxpemUpIHsKKyAgICAgICAgUHlfREVDUkVGKGMuY19ub3JtYWxpemUpOworICAgICAgICBQeVR1cGxlX1NFVF9JVEVNKGMuY19ub3JtYWxpemVfYXJncywgMSwgTlVMTCk7CisgICAgICAgIFB5X0RFQ1JFRihjLmNfbm9ybWFsaXplX2FyZ3MpOworICAgIH0KKyAgICBpZiAoIXJlcykKKyAgICAgICAgYXN0X2Vycm9yX2ZpbmlzaChmaWxlbmFtZSk7CisgICAgcmV0dXJuIHJlczsKIH0KIAogLyogUmV0dXJuIHRoZSBBU1QgcmVwci4gb2YgdGhlIG9wZXJhdG9yIHJlcHJlc2VudGVkIGFzIHN5bnRheCAofCwgXiwgZXRjLikKQEAgLTQ2OCw2ICs5NzUsNyBAQAogICAgICAgICAgICAgZXhwcl9uYW1lID0gImdlbmVyYXRvciBleHByZXNzaW9uIjsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIFlpZWxkX2tpbmQ6CisgICAgICAgIGNhc2UgWWllbGRGcm9tX2tpbmQ6CiAgICAgICAgICAgICBleHByX25hbWUgPSAieWllbGQgZXhwcmVzc2lvbiI7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBMaXN0Q29tcF9raW5kOgpAQCAtMTg4OSwxMiArMjM5NywyNSBAQAogICAgICAgICAgICAgfQogICAgICAgICAgICAgcmV0dXJuIGFzdF9mb3JfYmlub3AoYywgbik7CiAgICAgICAgIGNhc2UgeWllbGRfZXhwcjogeworICAgICAgICAgICAgbm9kZSAqYW4gPSBOVUxMOworICAgICAgICAgICAgbm9kZSAqZW4gPSBOVUxMOworICAgICAgICAgICAgaW50IGlzX2Zyb20gPSAwOwogICAgICAgICAgICAgZXhwcl90eSBleHAgPSBOVUxMOwotICAgICAgICAgICAgaWYgKE5DSChuKSA9PSAyKSB7Ci0gICAgICAgICAgICAgICAgZXhwID0gYXN0X2Zvcl90ZXN0bGlzdChjLCBDSElMRChuLCAxKSk7CisgICAgICAgICAgICBpZiAoTkNIKG4pID4gMSkKKyAgICAgICAgICAgICAgICBhbiA9IENISUxEKG4sIDEpOyAvKiB5aWVsZF9hcmcgKi8KKyAgICAgICAgICAgIGlmIChhbikgeworICAgICAgICAgICAgICAgIGVuID0gQ0hJTEQoYW4sIE5DSChhbikgLSAxKTsKKyAgICAgICAgICAgICAgICBpZiAoTkNIKGFuKSA9PSAyKSB7CisgICAgICAgICAgICAgICAgICAgIGlzX2Zyb20gPSAxOworICAgICAgICAgICAgICAgICAgICBleHAgPSBhc3RfZm9yX2V4cHIoYywgZW4pOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgIGV4cCA9IGFzdF9mb3JfdGVzdGxpc3QoYywgZW4pOwogICAgICAgICAgICAgICAgIGlmICghZXhwKQogICAgICAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmIChpc19mcm9tKQorICAgICAgICAgICAgICAgIHJldHVybiBZaWVsZEZyb20oZXhwLCBMSU5FTk8obiksIG4tPm5fY29sX29mZnNldCwgYy0+Y19hcmVuYSk7CiAgICAgICAgICAgICByZXR1cm4gWWllbGQoZXhwLCBMSU5FTk8obiksIG4tPm5fY29sX29mZnNldCwgYy0+Y19hcmVuYSk7CiAgICAgICAgIH0KICAgICAgICAgY2FzZSBmYWN0b3I6CkBAIC0xOTE5LDcgKzI0NDAsNyBAQAogICAgIC8qCiAgICAgICBhcmdsaXN0OiAoYXJndW1lbnQgJywnKSogKGFyZ3VtZW50IFsnLCddfCAnKicgdGVzdCBbJywnICcqKicgdGVzdF0KICAgICAgICAgICAgICAgIHwgJyoqJyB0ZXN0KQotICAgICAgYXJndW1lbnQ6IFt0ZXN0ICc9J10gdGVzdCBbY29tcF9mb3JdICAgICAgICAjIFJlYWxseSBba2V5d29yZCAnPSddIHRlc3QKKyAgICAgIGFyZ3VtZW50OiBbdGVzdCAnPSddICh0ZXN0KSBbY29tcF9mb3JdICAgICAgICAjIFJlYWxseSBba2V5d29yZCAnPSddIHRlc3QKICAgICAqLwogCiAgICAgaW50IGksIG5hcmdzLCBua2V5d29yZHMsIG5nZW5zOwpAQCAtMjAwMywxMyArMjUyNCwxMyBAQAogICAgICAgICAgICAgICAgICAqIHRoZW4gaXMgdmVyeSBjb25mdXNpbmcuCiAgICAgICAgICAgICAgICAgICovCiAgICAgICAgICAgICAgICAgaWYgKGUtPmtpbmQgPT0gTGFtYmRhX2tpbmQpIHsKLSAgICAgICAgICAgICAgICAgIGFzdF9lcnJvcihDSElMRChjaCwgMCksICJsYW1iZGEgY2Fubm90IGNvbnRhaW4gYXNzaWdubWVudCIpOwotICAgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgICAgICAgICAgICAgIGFzdF9lcnJvcihDSElMRChjaCwgMCksICJsYW1iZGEgY2Fubm90IGNvbnRhaW4gYXNzaWdubWVudCIpOworICAgICAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGUtPmtpbmQgIT0gTmFtZV9raW5kKSB7Ci0gICAgICAgICAgICAgICAgICBhc3RfZXJyb3IoQ0hJTEQoY2gsIDApLCAia2V5d29yZCBjYW4ndCBiZSBhbiBleHByZXNzaW9uIik7Ci0gICAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgICAgICAgICAgICAgYXN0X2Vycm9yKENISUxEKGNoLCAwKSwgImtleXdvcmQgY2FuJ3QgYmUgYW4gZXhwcmVzc2lvbiIpOworICAgICAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGZvcmJpZGRlbl9uYW1lKGUtPnYuTmFtZS5pZCwgY2gsIDEpKSB7Ci0gICAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIGtleSA9IGUtPnYuTmFtZS5pZDsKICAgICAgICAgICAgICAgICBmb3IgKGsgPSAwOyBrIDwgbmtleXdvcmRzOyBrKyspIHsKQEAgLTIyMTMsNyArMjczNCw3IEBACiAgICAgICBjb250aW51ZV9zdG10OiAnY29udGludWUnCiAgICAgICByZXR1cm5fc3RtdDogJ3JldHVybicgW3Rlc3RsaXN0XQogICAgICAgeWllbGRfc3RtdDogeWllbGRfZXhwcgotICAgICAgeWllbGRfZXhwcjogJ3lpZWxkJyB0ZXN0bGlzdAorICAgICAgeWllbGRfZXhwcjogJ3lpZWxkJyB0ZXN0bGlzdCB8ICd5aWVsZCcgJ2Zyb20nIHRlc3QKICAgICAgIHJhaXNlX3N0bXQ6ICdyYWlzZScgW3Rlc3QgWycsJyB0ZXN0IFsnLCcgdGVzdF1dXQogICAgICovCiAgICAgbm9kZSAqY2g7CkBAIC0yODg3LDcgKzM0MDgsNyBAQAogewogICAgIGNvbnN0IGludCBuY2ggPSBOQ0gobik7CiAgICAgaW50IG5fZXhjZXB0ID0gKG5jaCAtIDMpLzM7Ci0gICAgYXNkbF9zZXEgKmJvZHksICpvcmVsc2UgPSBOVUxMLCAqZmluYWxseSA9IE5VTEw7CisgICAgYXNkbF9zZXEgKmJvZHksICpoYW5kbGVycyA9IE5VTEwsICpvcmVsc2UgPSBOVUxMLCAqZmluYWxseSA9IE5VTEw7CiAKICAgICBSRVEobiwgdHJ5X3N0bXQpOwogCkBAIC0yOTI4LDkgKzM0NDksOCBAQAogCiAgICAgaWYgKG5fZXhjZXB0ID4gMCkgewogICAgICAgICBpbnQgaTsKLSAgICAgICAgc3RtdF90eSBleGNlcHRfc3Q7CiAgICAgICAgIC8qIHByb2Nlc3MgZXhjZXB0IHN0YXRlbWVudHMgdG8gY3JlYXRlIGEgdHJ5IC4uLiBleGNlcHQgKi8KLSAgICAgICAgYXNkbF9zZXEgKmhhbmRsZXJzID0gYXNkbF9zZXFfbmV3KG5fZXhjZXB0LCBjLT5jX2FyZW5hKTsKKyAgICAgICAgaGFuZGxlcnMgPSBhc2RsX3NlcV9uZXcobl9leGNlcHQsIGMtPmNfYXJlbmEpOwogICAgICAgICBpZiAoaGFuZGxlcnMgPT0gTlVMTCkKICAgICAgICAgICAgIHJldHVybiBOVUxMOwogCkBAIC0yOTQxLDI4ICszNDYxLDE1IEBACiAgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgICAgICBhc2RsX3NlcV9TRVQoaGFuZGxlcnMsIGksIGUpOwogICAgICAgICB9Ci0KLSAgICAgICAgZXhjZXB0X3N0ID0gVHJ5RXhjZXB0KGJvZHksIGhhbmRsZXJzLCBvcmVsc2UsIExJTkVOTyhuKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG4tPm5fY29sX29mZnNldCwgYy0+Y19hcmVuYSk7Ci0gICAgICAgIGlmICghZmluYWxseSkKLSAgICAgICAgICAgIHJldHVybiBleGNlcHRfc3Q7Ci0KLSAgICAgICAgLyogaWYgYSAnZmluYWxseScgaXMgcHJlc2VudCB0b28sIHdlIG5lc3QgdGhlIFRyeUV4Y2VwdCB3aXRoaW4gYQotICAgICAgICAgICBUcnlGaW5hbGx5IHRvIGVtdWxhdGUgdHJ5IC4uLiBleGNlcHQgLi4uIGZpbmFsbHkgKi8KLSAgICAgICAgYm9keSA9IGFzZGxfc2VxX25ldygxLCBjLT5jX2FyZW5hKTsKLSAgICAgICAgaWYgKGJvZHkgPT0gTlVMTCkKLSAgICAgICAgICAgIHJldHVybiBOVUxMOwotICAgICAgICBhc2RsX3NlcV9TRVQoYm9keSwgMCwgZXhjZXB0X3N0KTsKICAgICB9CiAKLSAgICAvKiBtdXN0IGJlIGEgdHJ5IC4uLiBmaW5hbGx5IChleGNlcHQgY2xhdXNlcyBhcmUgaW4gYm9keSwgaWYgYW55IGV4aXN0KSAqLwotICAgIGFzc2VydChmaW5hbGx5ICE9IE5VTEwpOwotICAgIHJldHVybiBUcnlGaW5hbGx5KGJvZHksIGZpbmFsbHksIExJTkVOTyhuKSwgbi0+bl9jb2xfb2Zmc2V0LCBjLT5jX2FyZW5hKTsKKyAgICBhc3NlcnQoZmluYWxseSAhPSBOVUxMIHx8IGFzZGxfc2VxX0xFTihoYW5kbGVycykpOworICAgIHJldHVybiBUcnkoYm9keSwgaGFuZGxlcnMsIG9yZWxzZSwgZmluYWxseSwgTElORU5PKG4pLCBuLT5uX2NvbF9vZmZzZXQsIGMtPmNfYXJlbmEpOwogfQogCiAvKiB3aXRoX2l0ZW06IHRlc3QgWydhcycgZXhwcl0gKi8KLXN0YXRpYyBzdG10X3R5Ci1hc3RfZm9yX3dpdGhfaXRlbShzdHJ1Y3QgY29tcGlsaW5nICpjLCBjb25zdCBub2RlICpuLCBhc2RsX3NlcSAqY29udGVudCkKK3N0YXRpYyB3aXRoaXRlbV90eQorYXN0X2Zvcl93aXRoX2l0ZW0oc3RydWN0IGNvbXBpbGluZyAqYywgY29uc3Qgbm9kZSAqbikKIHsKICAgICBleHByX3R5IGNvbnRleHRfZXhwciwgb3B0aW9uYWxfdmFycyA9IE5VTEw7CiAKQEAgLTI5ODEsNDMgKzM0ODgsMzIgQEAKICAgICAgICAgfQogICAgIH0KIAotICAgIHJldHVybiBXaXRoKGNvbnRleHRfZXhwciwgb3B0aW9uYWxfdmFycywgY29udGVudCwgTElORU5PKG4pLAotICAgICAgICAgICAgICAgIG4tPm5fY29sX29mZnNldCwgYy0+Y19hcmVuYSk7CisgICAgcmV0dXJuIHdpdGhpdGVtKGNvbnRleHRfZXhwciwgb3B0aW9uYWxfdmFycywgYy0+Y19hcmVuYSk7CiB9CiAKIC8qIHdpdGhfc3RtdDogJ3dpdGgnIHdpdGhfaXRlbSAoJywnIHdpdGhfaXRlbSkqICc6JyBzdWl0ZSAqLwogc3RhdGljIHN0bXRfdHkKIGFzdF9mb3Jfd2l0aF9zdG10KHN0cnVjdCBjb21waWxpbmcgKmMsIGNvbnN0IG5vZGUgKm4pCiB7Ci0gICAgaW50IGk7Ci0gICAgc3RtdF90eSByZXQ7Ci0gICAgYXNkbF9zZXEgKmlubmVyOworICAgIGludCBpLCBuX2l0ZW1zOworICAgIGFzZGxfc2VxICppdGVtcywgKmJvZHk7CiAKICAgICBSRVEobiwgd2l0aF9zdG10KTsKIAotICAgIC8qIHByb2Nlc3MgdGhlIHdpdGggaXRlbXMgaW5zaWRlLW91dCAqLwotICAgIGkgPSBOQ0gobikgLSAxOwotICAgIC8qIHRoZSBzdWl0ZSBvZiB0aGUgaW5uZXJtb3N0IHdpdGggaXRlbSBpcyB0aGUgc3VpdGUgb2YgdGhlIHdpdGggc3RtdCAqLwotICAgIGlubmVyID0gYXN0X2Zvcl9zdWl0ZShjLCBDSElMRChuLCBpKSk7Ci0gICAgaWYgKCFpbm5lcikKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0KLSAgICBmb3IgKDs7KSB7Ci0gICAgICAgIGkgLT0gMjsKLSAgICAgICAgcmV0ID0gYXN0X2Zvcl93aXRoX2l0ZW0oYywgQ0hJTEQobiwgaSksIGlubmVyKTsKLSAgICAgICAgaWYgKCFyZXQpCisgICAgbl9pdGVtcyA9IChOQ0gobikgLSAyKSAvIDI7CisgICAgaXRlbXMgPSBhc2RsX3NlcV9uZXcobl9pdGVtcywgYy0+Y19hcmVuYSk7CisgICAgZm9yIChpID0gMTsgaSA8IE5DSChuKSAtIDI7IGkgKz0gMikgeworICAgICAgICB3aXRoaXRlbV90eSBpdGVtID0gYXN0X2Zvcl93aXRoX2l0ZW0oYywgQ0hJTEQobiwgaSkpOworICAgICAgICBpZiAoIWl0ZW0pCiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgLyogd2FzIHRoaXMgdGhlIGxhc3QgaXRlbT8gKi8KLSAgICAgICAgaWYgKGkgPT0gMSkKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAvKiBpZiBub3QsIHdyYXAgdGhlIHJlc3VsdCBzbyBmYXIgaW4gYSBuZXcgc2VxdWVuY2UgKi8KLSAgICAgICAgaW5uZXIgPSBhc2RsX3NlcV9uZXcoMSwgYy0+Y19hcmVuYSk7Ci0gICAgICAgIGlmICghaW5uZXIpCi0gICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgYXNkbF9zZXFfU0VUKGlubmVyLCAwLCByZXQpOworICAgICAgICBhc2RsX3NlcV9TRVQoaXRlbXMsIChpIC0gMSkgLyAyLCBpdGVtKTsKICAgICB9CiAKLSAgICByZXR1cm4gcmV0OworICAgIGJvZHkgPSBhc3RfZm9yX3N1aXRlKGMsIENISUxEKG4sIE5DSChuKSAtIDEpKTsKKyAgICBpZiAoIWJvZHkpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgcmV0dXJuIFdpdGgoaXRlbXMsIGJvZHksIExJTkVOTyhuKSwgbi0+bl9jb2xfb2Zmc2V0LCBjLT5jX2FyZW5hKTsKIH0KIAogc3RhdGljIHN0bXRfdHkKQEAgLTMyMDEsMjAgKzM2OTcsMTQgQEAKIH0KIAogc3RhdGljIFB5T2JqZWN0ICoKLWRlY29kZV91dGY4KHN0cnVjdCBjb21waWxpbmcgKmMsIGNvbnN0IGNoYXIgKipzUHRyLCBjb25zdCBjaGFyICplbmQsIGNoYXIqIGVuY29kaW5nKQorZGVjb2RlX3V0Zjgoc3RydWN0IGNvbXBpbGluZyAqYywgY29uc3QgY2hhciAqKnNQdHIsIGNvbnN0IGNoYXIgKmVuZCkKIHsKLSAgICBQeU9iamVjdCAqdSwgKnY7CiAgICAgY2hhciAqcywgKnQ7CiAgICAgdCA9IHMgPSAoY2hhciAqKSpzUHRyOwogICAgIC8qIHdoaWxlIChzIDwgZW5kICYmICpzICE9ICdcXCcpIHMrKzsgKi8gLyogaW5lZmZpY2llbnQgZm9yIHUiLi4iICovCiAgICAgd2hpbGUgKHMgPCBlbmQgJiYgKCpzICYgMHg4MCkpIHMrKzsKICAgICAqc1B0ciA9IHM7Ci0gICAgdSA9IFB5VW5pY29kZV9EZWNvZGVVVEY4KHQsIHMgLSB0LCBOVUxMKTsKLSAgICBpZiAodSA9PSBOVUxMKQotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICB2ID0gUHlVbmljb2RlX0FzRW5jb2RlZFN0cmluZyh1LCBlbmNvZGluZywgTlVMTCk7Ci0gICAgUHlfREVDUkVGKHUpOwotICAgIHJldHVybiB2OworICAgIHJldHVybiBQeVVuaWNvZGVfRGVjb2RlVVRGOCh0LCBzIC0gdCwgTlVMTCk7CiB9CiAKIHN0YXRpYyBQeU9iamVjdCAqCkBAIC0zMjI2LDcgKzM3MTYsNiBAQAogICAgIGNvbnN0IGNoYXIgKmVuZDsKIAogICAgIGlmIChlbmNvZGluZyA9PSBOVUxMKSB7Ci0gICAgICAgIGJ1ZiA9IChjaGFyICopczsKICAgICAgICAgdSA9IE5VTEw7CiAgICAgfSBlbHNlIHsKICAgICAgICAgLyogY2hlY2sgZm9yIGludGVnZXIgb3ZlcmZsb3cgKi8KQEAgLTMyNDksMjIgKzM3MzgsMjAgQEAKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGlmICgqcyAmIDB4ODApIHsgLyogWFhYIGluZWZmaWNpZW50ICovCiAgICAgICAgICAgICAgICAgUHlPYmplY3QgKnc7Ci0gICAgICAgICAgICAgICAgY2hhciAqcjsKLSAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IHJuLCBpOwotICAgICAgICAgICAgICAgIHcgPSBkZWNvZGVfdXRmOChjLCAmcywgZW5kLCAidXRmLTMyLWJlIik7CisgICAgICAgICAgICAgICAgaW50IGtpbmQ7CisgICAgICAgICAgICAgICAgdm9pZCAqZGF0YTsKKyAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IGxlbiwgaTsKKyAgICAgICAgICAgICAgICB3ID0gZGVjb2RlX3V0ZjgoYywgJnMsIGVuZCk7CiAgICAgICAgICAgICAgICAgaWYgKHcgPT0gTlVMTCkgewogICAgICAgICAgICAgICAgICAgICBQeV9ERUNSRUYodSk7CiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICByID0gUHlCeXRlc19BU19TVFJJTkcodyk7Ci0gICAgICAgICAgICAgICAgcm4gPSBQeV9TSVpFKHcpOwotICAgICAgICAgICAgICAgIGFzc2VydChybiAlIDQgPT0gMCk7Ci0gICAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IHJuOyBpICs9IDQpIHsKLSAgICAgICAgICAgICAgICAgICAgc3ByaW50ZihwLCAiXFxVJTAyeCUwMnglMDJ4JTAyeCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcltpICsgMF0gJiAweEZGLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJbaSArIDFdICYgMHhGRiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICByW2kgKyAyXSAmIDB4RkYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcltpICsgM10gJiAweEZGKTsKKyAgICAgICAgICAgICAgICBraW5kID0gUHlVbmljb2RlX0tJTkQodyk7CisgICAgICAgICAgICAgICAgZGF0YSA9IFB5VW5pY29kZV9EQVRBKHcpOworICAgICAgICAgICAgICAgIGxlbiA9IFB5VW5pY29kZV9HRVRfTEVOR1RIKHcpOworICAgICAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBsZW47IGkrKykgeworICAgICAgICAgICAgICAgICAgICBQeV9VQ1M0IGNociA9IFB5VW5pY29kZV9SRUFEKGtpbmQsIGRhdGEsIGkpOworICAgICAgICAgICAgICAgICAgICBzcHJpbnRmKHAsICJcXFUlMDh4IiwgY2hyKTsKICAgICAgICAgICAgICAgICAgICAgcCArPSAxMDsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgLyogU2hvdWxkIGJlIGltcG9zc2libGUgdG8gb3ZlcmZsb3cgKi8KQEAgLTMyOTgsMTMgKzM3ODUsMjEgQEAKICAgICBpbnQgcmF3bW9kZSA9IDA7CiAgICAgaW50IG5lZWRfZW5jb2Rpbmc7CiAgICAgaWYgKGlzYWxwaGEocXVvdGUpKSB7Ci0gICAgICAgIGlmIChxdW90ZSA9PSAnYicgfHwgcXVvdGUgPT0gJ0InKSB7Ci0gICAgICAgICAgICBxdW90ZSA9ICorK3M7Ci0gICAgICAgICAgICAqYnl0ZXNtb2RlID0gMTsKLSAgICAgICAgfQotICAgICAgICBpZiAocXVvdGUgPT0gJ3InIHx8IHF1b3RlID09ICdSJykgewotICAgICAgICAgICAgcXVvdGUgPSAqKytzOwotICAgICAgICAgICAgcmF3bW9kZSA9IDE7CisgICAgICAgIHdoaWxlICghKmJ5dGVzbW9kZSB8fCAhcmF3bW9kZSkgeworICAgICAgICAgICAgaWYgKHF1b3RlID09ICdiJyB8fCBxdW90ZSA9PSAnQicpIHsKKyAgICAgICAgICAgICAgICBxdW90ZSA9ICorK3M7CisgICAgICAgICAgICAgICAgKmJ5dGVzbW9kZSA9IDE7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBlbHNlIGlmIChxdW90ZSA9PSAndScgfHwgcXVvdGUgPT0gJ1UnKSB7CisgICAgICAgICAgICAgICAgcXVvdGUgPSAqKytzOworICAgICAgICAgICAgfQorICAgICAgICAgICAgZWxzZSBpZiAocXVvdGUgPT0gJ3InIHx8IHF1b3RlID09ICdSJykgeworICAgICAgICAgICAgICAgIHF1b3RlID0gKisrczsKKyAgICAgICAgICAgICAgICByYXdtb2RlID0gMTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGVsc2UgeworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfQogICAgIGlmIChxdW90ZSAhPSAnXCcnICYmIHF1b3RlICE9ICdcIicpIHsKZGlmZiAtLWdpdCBhL1B5dGhvbi9ibHRpbm1vZHVsZS5jIGIvUHl0aG9uL2JsdGlubW9kdWxlLmMKaW5kZXggZTJmZjBiYS4uODE0MDJmYyAxMDA2NDQKLS0tIGEvUHl0aG9uL2JsdGlubW9kdWxlLmMKKysrIGIvUHl0aG9uL2JsdGlubW9kdWxlLmMKQEAgLTYsNiArNiw5IEBACiAjaW5jbHVkZSAibm9kZS5oIgogI2luY2x1ZGUgImNvZGUuaCIKIAorI2luY2x1ZGUgImFzZGwuaCIKKyNpbmNsdWRlICJhc3QuaCIKKwogI2luY2x1ZGUgPGN0eXBlLmg+CiAKICNpZmRlZiBIQVZFX0xBTkdJTkZPX0gKQEAgLTE4LDIwICsyMSwyMCBAQAogICAgRG9uJ3QgZm9yZ2V0IHRvIG1vZGlmeSBQeVVuaWNvZGVfRGVjb2RlRlNEZWZhdWx0KCkgaWYgeW91IHRvdWNoIGFueSBvZiB0aGUKICAgIHZhbHVlcyBmb3IgUHlfRmlsZVN5c3RlbURlZmF1bHRFbmNvZGluZyEKICovCi0jaWYgZGVmaW5lZChNU19XSU5ET1dTKSAmJiBkZWZpbmVkKEhBVkVfVVNBQkxFX1dDSEFSX1QpCisjaWZkZWYgSEFWRV9NQkNTCiBjb25zdCBjaGFyICpQeV9GaWxlU3lzdGVtRGVmYXVsdEVuY29kaW5nID0gIm1iY3MiOwogaW50IFB5X0hhc0ZpbGVTeXN0ZW1EZWZhdWx0RW5jb2RpbmcgPSAxOwogI2VsaWYgZGVmaW5lZChfX0FQUExFX18pCiBjb25zdCBjaGFyICpQeV9GaWxlU3lzdGVtRGVmYXVsdEVuY29kaW5nID0gInV0Zi04IjsKIGludCBQeV9IYXNGaWxlU3lzdGVtRGVmYXVsdEVuY29kaW5nID0gMTsKLSNlbGlmIGRlZmluZWQoSEFWRV9MQU5HSU5GT19IKSAmJiBkZWZpbmVkKENPREVTRVQpCisjZWxzZQogY29uc3QgY2hhciAqUHlfRmlsZVN5c3RlbURlZmF1bHRFbmNvZGluZyA9IE5VTEw7IC8qIHNldCBieSBpbml0ZnNlbmNvZGluZygpICovCiBpbnQgUHlfSGFzRmlsZVN5c3RlbURlZmF1bHRFbmNvZGluZyA9IDA7Ci0jZWxzZQotY29uc3QgY2hhciAqUHlfRmlsZVN5c3RlbURlZmF1bHRFbmNvZGluZyA9ICJ1dGYtOCI7Ci1pbnQgUHlfSGFzRmlsZVN5c3RlbURlZmF1bHRFbmNvZGluZyA9IDE7CiAjZW5kaWYKIAorX1B5X0lERU5USUZJRVIoZmlsZW5vKTsKK19QeV9JREVOVElGSUVSKGZsdXNoKTsKKwogc3RhdGljIFB5T2JqZWN0ICoKIGJ1aWx0aW5fX19idWlsZF9jbGFzc19fKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3ZHMpCiB7CkBAIC0zOSw2ICs0Miw3IEBACiAgICAgUHlPYmplY3QgKmNscyA9IE5VTEw7CiAgICAgUHlfc3NpemVfdCBuYXJnczsKICAgICBpbnQgaXNjbGFzczsKKyAgICBfUHlfSURFTlRJRklFUihfX3ByZXBhcmVfXyk7CiAKICAgICBhc3NlcnQoYXJncyAhPSBOVUxMKTsKICAgICBpZiAoIVB5VHVwbGVfQ2hlY2soYXJncykpIHsKQEAgLTk5LDYgKzEwMyw3IEBACiAgICAgICAgIFB5X0lOQ1JFRihtZXRhKTsKICAgICAgICAgaXNjbGFzcyA9IDE7ICAvKiBtZXRhIGlzIHJlYWxseSBhIGNsYXNzICovCiAgICAgfQorCiAgICAgaWYgKGlzY2xhc3MpIHsKICAgICAgICAgLyogbWV0YSBpcyByZWFsbHkgYSBjbGFzcywgc28gY2hlY2sgZm9yIGEgbW9yZSBkZXJpdmVkCiAgICAgICAgICAgIG1ldGFjbGFzcywgb3IgcG9zc2libGUgbWV0YWNsYXNzIGNvbmZsaWN0czogKi8KQEAgLTExOCw3ICsxMjMsNyBAQAogICAgIH0KICAgICAvKiBlbHNlOiBtZXRhIGlzIG5vdCBhIGNsYXNzLCBzbyB3ZSBjYW5ub3QgZG8gdGhlIG1ldGFjbGFzcwogICAgICAgIGNhbGN1bGF0aW9uLCBzbyB3ZSB3aWxsIHVzZSB0aGUgZXhwbGljaXRseSBnaXZlbiBvYmplY3QgYXMgaXQgaXMgKi8KLSAgICBwcmVwID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyhtZXRhLCAiX19wcmVwYXJlX18iKTsKKyAgICBwcmVwID0gX1B5T2JqZWN0X0dldEF0dHJJZChtZXRhLCAmUHlJZF9fX3ByZXBhcmVfXyk7CiAgICAgaWYgKHByZXAgPT0gTlVMTCkgewogICAgICAgICBpZiAoUHlFcnJfRXhjZXB0aW9uTWF0Y2hlcyhQeUV4Y19BdHRyaWJ1dGVFcnJvcikpIHsKICAgICAgICAgICAgIFB5RXJyX0NsZWFyKCk7CkBAIC0xODEsMTcgKzE4NiwxNCBAQAogewogICAgIHN0YXRpYyBjaGFyICprd2xpc3RbXSA9IHsibmFtZSIsICJnbG9iYWxzIiwgImxvY2FscyIsICJmcm9tbGlzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJsZXZlbCIsIDB9OwotICAgIGNoYXIgKm5hbWU7Ci0gICAgUHlPYmplY3QgKmdsb2JhbHMgPSBOVUxMOwotICAgIFB5T2JqZWN0ICpsb2NhbHMgPSBOVUxMOwotICAgIFB5T2JqZWN0ICpmcm9tbGlzdCA9IE5VTEw7CisgICAgUHlPYmplY3QgKm5hbWUsICpnbG9iYWxzID0gTlVMTCwgKmxvY2FscyA9IE5VTEwsICpmcm9tbGlzdCA9IE5VTEw7CiAgICAgaW50IGxldmVsID0gLTE7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2RzLCAic3xPT09pOl9faW1wb3J0X18iLAorICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3ZHMsICJVfE9PT2k6X19pbXBvcnRfXyIsCiAgICAgICAgICAgICAgICAgICAgIGt3bGlzdCwgJm5hbWUsICZnbG9iYWxzLCAmbG9jYWxzLCAmZnJvbWxpc3QsICZsZXZlbCkpCiAgICAgICAgIHJldHVybiBOVUxMOwotICAgIHJldHVybiBQeUltcG9ydF9JbXBvcnRNb2R1bGVMZXZlbChuYW1lLCBnbG9iYWxzLCBsb2NhbHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb21saXN0LCBsZXZlbCk7CisgICAgcmV0dXJuIFB5SW1wb3J0X0ltcG9ydE1vZHVsZUxldmVsT2JqZWN0KG5hbWUsIGdsb2JhbHMsIGxvY2FscywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbWxpc3QsIGxldmVsKTsKIH0KIAogUHlEb2NfU1RSVkFSKGltcG9ydF9kb2MsCkBAIC01MTYsMTcgKzUxOCwxMCBAQAogICAgIHJldHVybiBQeVVuaWNvZGVfRnJvbU9yZGluYWwoeCk7CiB9CiAKLVB5RG9jX1ZBUihjaHJfZG9jKSA9IFB5RG9jX1NUUigKK1B5RG9jX1NUUlZBUihjaHJfZG9jLAogImNocihpKSAtPiBVbmljb2RlIGNoYXJhY3RlclxuXAogXG5cCi1SZXR1cm4gYSBVbmljb2RlIHN0cmluZyBvZiBvbmUgY2hhcmFjdGVyIHdpdGggb3JkaW5hbCBpOyAwIDw9IGkgPD0gMHgxMGZmZmYuIgotKQotI2lmbmRlZiBQeV9VTklDT0RFX1dJREUKLVB5RG9jX1NUUigKLSJcbklmIDB4MTAwMDAgPD0gaSwgYSBzdXJyb2dhdGUgcGFpciBpcyByZXR1cm5lZC4iCi0pCi0jZW5kaWYKLTsKK1JldHVybiBhIFVuaWNvZGUgc3RyaW5nIG9mIG9uZSBjaGFyYWN0ZXIgd2l0aCBvcmRpbmFsIGk7IDAgPD0gaSA8PSAweDEwZmZmZi4iKTsKIAogCiBzdGF0aWMgY2hhciAqCkBAIC01MzcsOCArNTMyLDggQEAKIAogICAgIGlmIChQeVVuaWNvZGVfQ2hlY2soY21kKSkgewogICAgICAgICBjZi0+Y2ZfZmxhZ3MgfD0gUHlDRl9JR05PUkVfQ09PS0lFOwotICAgICAgICBjbWQgPSBfUHlVbmljb2RlX0FzRGVmYXVsdEVuY29kZWRTdHJpbmcoY21kLCBOVUxMKTsKLSAgICAgICAgaWYgKGNtZCA9PSBOVUxMKQorICAgICAgICBzdHIgPSBQeVVuaWNvZGVfQXNVVEY4QW5kU2l6ZShjbWQsICZzaXplKTsKKyAgICAgICAgaWYgKHN0ciA9PSBOVUxMKQogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogICAgIGVsc2UgaWYgKCFQeU9iamVjdF9DaGVja1JlYWRCdWZmZXIoY21kKSkgewpAQCAtNTQ3LDkgKzU0MiwxMCBAQAogICAgICAgICAgIGZ1bmNuYW1lLCB3aGF0KTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQotICAgIGlmIChQeU9iamVjdF9Bc1JlYWRCdWZmZXIoY21kLCAoY29uc3Qgdm9pZCAqKikmc3RyLCAmc2l6ZSkgPCAwKSB7CisgICAgZWxzZSBpZiAoUHlPYmplY3RfQXNSZWFkQnVmZmVyKGNtZCwgKGNvbnN0IHZvaWQgKiopJnN0ciwgJnNpemUpIDwgMCkgewogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CisKICAgICBpZiAoc3RybGVuKHN0cikgIT0gc2l6ZSkgewogICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLAogICAgICAgICAgICAgICAgICAgICAgICAgInNvdXJjZSBjb2RlIHN0cmluZyBjYW5ub3QgY29udGFpbiBudWxsIGJ5dGVzIik7CkBAIC02MzYsNiArNjMyLDEwIEBACiAgICAgICAgICAgICAgICAgUHlBcmVuYV9GcmVlKGFyZW5hKTsKICAgICAgICAgICAgICAgICBnb3RvIGVycm9yOwogICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKCFQeUFTVF9WYWxpZGF0ZShtb2QpKSB7CisgICAgICAgICAgICAgICAgUHlBcmVuYV9GcmVlKGFyZW5hKTsKKyAgICAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICAgICAgfQogICAgICAgICAgICAgcmVzdWx0ID0gKFB5T2JqZWN0KilQeUFTVF9Db21waWxlRXgobW9kLCBmaWxlbmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZjZiwgb3B0aW1pemUsIGFyZW5hKTsKICAgICAgICAgICAgIFB5QXJlbmFfRnJlZShhcmVuYSk7CkBAIC03OTEsNyArNzkxLDYgQEAKIHsKICAgICBQeU9iamVjdCAqdjsKICAgICBQeU9iamVjdCAqcHJvZywgKmdsb2JhbHMgPSBQeV9Ob25lLCAqbG9jYWxzID0gUHlfTm9uZTsKLSAgICBpbnQgcGxhaW4gPSAwOwogCiAgICAgaWYgKCFQeUFyZ19VbnBhY2tUdXBsZShhcmdzLCAiZXhlYyIsIDEsIDMsICZwcm9nLCAmZ2xvYmFscywgJmxvY2FscykpCiAgICAgICAgIHJldHVybiBOVUxMOwpAQCAtODAwLDcgKzc5OSw2IEBACiAgICAgICAgIGdsb2JhbHMgPSBQeUV2YWxfR2V0R2xvYmFscygpOwogICAgICAgICBpZiAobG9jYWxzID09IFB5X05vbmUpIHsKICAgICAgICAgICAgIGxvY2FscyA9IFB5RXZhbF9HZXRMb2NhbHMoKTsKLSAgICAgICAgICAgIHBsYWluID0gMTsKICAgICAgICAgfQogICAgICAgICBpZiAoIWdsb2JhbHMgfHwgIWxvY2FscykgewogICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1N5c3RlbUVycm9yLApAQCAtMTExNiw3ICsxMTE0LDcgQEAKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgaWYgKCFQeUl0ZXJfQ2hlY2soaXQpKSB7CiAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsCi0gICAgICAgICAgICAiJS4yMDBzIG9iamVjdCBpcyBub3QgYW4gaXRlcmF0b3IiLAorICAgICAgICAgICAgIiclLjIwMHMnIG9iamVjdCBpcyBub3QgYW4gaXRlcmF0b3IiLAogICAgICAgICAgICAgaXQtPm9iX3R5cGUtPnRwX25hbWUpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CkBAIC0xNDIyLDI0ICsxNDIwLDEzIEBACiAgICAgICAgIH0KICAgICB9CiAgICAgZWxzZSBpZiAoUHlVbmljb2RlX0NoZWNrKG9iaikpIHsKLSAgICAgICAgc2l6ZSA9IFB5VW5pY29kZV9HRVRfU0laRShvYmopOworICAgICAgICBpZiAoUHlVbmljb2RlX1JFQURZKG9iaikgPT0gLTEpCisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgc2l6ZSA9IFB5VW5pY29kZV9HRVRfTEVOR1RIKG9iaik7CiAgICAgICAgIGlmIChzaXplID09IDEpIHsKLSAgICAgICAgICAgIG9yZCA9IChsb25nKSpQeVVuaWNvZGVfQVNfVU5JQ09ERShvYmopOworICAgICAgICAgICAgb3JkID0gKGxvbmcpUHlVbmljb2RlX1JFQURfQ0hBUihvYmosIDApOwogICAgICAgICAgICAgcmV0dXJuIFB5TG9uZ19Gcm9tTG9uZyhvcmQpOwogICAgICAgICB9Ci0jaWZuZGVmIFB5X1VOSUNPREVfV0lERQotICAgICAgICBpZiAoc2l6ZSA9PSAyKSB7Ci0gICAgICAgICAgICAvKiBEZWNvZGUgYSB2YWxpZCBzdXJyb2dhdGUgcGFpciAqLwotICAgICAgICAgICAgaW50IGMwID0gUHlVbmljb2RlX0FTX1VOSUNPREUob2JqKVswXTsKLSAgICAgICAgICAgIGludCBjMSA9IFB5VW5pY29kZV9BU19VTklDT0RFKG9iailbMV07Ci0gICAgICAgICAgICBpZiAoMHhEODAwIDw9IGMwICYmIGMwIDw9IDB4REJGRiAmJgotICAgICAgICAgICAgICAgIDB4REMwMCA8PSBjMSAmJiBjMSA8PSAweERGRkYpIHsKLSAgICAgICAgICAgICAgICBvcmQgPSAoKCgoYzAgJiAweDAzRkYpIDw8IDEwKSB8IChjMSAmIDB4MDNGRikpICsKLSAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAxMDAwMCk7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIFB5TG9uZ19Gcm9tTG9uZyhvcmQpOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0jZW5kaWYKICAgICB9CiAgICAgZWxzZSBpZiAoUHlCeXRlQXJyYXlfQ2hlY2sob2JqKSkgewogICAgICAgICAvKiBYWFggSG9wZWZ1bGx5IHRoaXMgaXMgdGVtcG9yYXJ5ICovCkBAIC0xNDk3LDE1ICsxNDg0LDE1IEBACiBzdGF0aWMgUHlPYmplY3QgKgogYnVpbHRpbl9wcmludChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2RzKQogewotICAgIHN0YXRpYyBjaGFyICprd2xpc3RbXSA9IHsic2VwIiwgImVuZCIsICJmaWxlIiwgMH07CisgICAgc3RhdGljIGNoYXIgKmt3bGlzdFtdID0geyJzZXAiLCAiZW5kIiwgImZpbGUiLCAiZmx1c2giLCAwfTsKICAgICBzdGF0aWMgUHlPYmplY3QgKmR1bW15X2FyZ3M7Ci0gICAgUHlPYmplY3QgKnNlcCA9IE5VTEwsICplbmQgPSBOVUxMLCAqZmlsZSA9IE5VTEw7CisgICAgUHlPYmplY3QgKnNlcCA9IE5VTEwsICplbmQgPSBOVUxMLCAqZmlsZSA9IE5VTEwsICpmbHVzaCA9IE5VTEw7CiAgICAgaW50IGksIGVycjsKIAogICAgIGlmIChkdW1teV9hcmdzID09IE5VTEwgJiYgIShkdW1teV9hcmdzID0gUHlUdXBsZV9OZXcoMCkpKQotICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoZHVtbXlfYXJncywga3dkcywgInxPT086cHJpbnQiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGt3bGlzdCwgJnNlcCwgJmVuZCwgJmZpbGUpKQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhkdW1teV9hcmdzLCBrd2RzLCAifE9PT086cHJpbnQiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGt3bGlzdCwgJnNlcCwgJmVuZCwgJmZpbGUsICZmbHVzaCkpCiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIGlmIChmaWxlID09IE5VTEwgfHwgZmlsZSA9PSBQeV9Ob25lKSB7CiAgICAgICAgIGZpbGUgPSBQeVN5c19HZXRPYmplY3QoInN0ZG91dCIpOwpAQCAtMTU1Niw2ICsxNTQzLDIwIEBACiAgICAgaWYgKGVycikKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKKyAgICBpZiAoZmx1c2ggIT0gTlVMTCkgeworICAgICAgICBQeU9iamVjdCAqdG1wOworICAgICAgICBpbnQgZG9fZmx1c2ggPSBQeU9iamVjdF9Jc1RydWUoZmx1c2gpOworICAgICAgICBpZiAoZG9fZmx1c2ggPT0gLTEpCisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgZWxzZSBpZiAoZG9fZmx1c2gpIHsKKyAgICAgICAgICAgIHRtcCA9IFB5T2JqZWN0X0NhbGxNZXRob2QoZmlsZSwgImZsdXNoIiwgIiIpOworICAgICAgICAgICAgaWYgKHRtcCA9PSBOVUxMKQorICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIFB5X0RFQ1JFRih0bXApOworICAgICAgICB9CisgICAgfQorCiAgICAgUHlfUkVUVVJOX05PTkU7CiB9CiAKQEAgLTE2MDIsNyArMTYwMyw3IEBACiAgICAgfQogCiAgICAgLyogRmlyc3Qgb2YgYWxsLCBmbHVzaCBzdGRlcnIgKi8KLSAgICB0bXAgPSBQeU9iamVjdF9DYWxsTWV0aG9kKGZlcnIsICJmbHVzaCIsICIiKTsKKyAgICB0bXAgPSBfUHlPYmplY3RfQ2FsbE1ldGhvZElkKGZlcnIsICZQeUlkX2ZsdXNoLCAiIik7CiAgICAgaWYgKHRtcCA9PSBOVUxMKQogICAgICAgICBQeUVycl9DbGVhcigpOwogICAgIGVsc2UKQEAgLTE2MTEsNyArMTYxMiw3IEBACiAgICAgLyogV2Ugc2hvdWxkIG9ubHkgdXNlIChHTlUpIHJlYWRsaW5lIGlmIFB5dGhvbidzIHN5cy5zdGRpbiBhbmQKICAgICAgICBzeXMuc3Rkb3V0IGFyZSB0aGUgc2FtZSBhcyBDJ3Mgc3RkaW4gYW5kIHN0ZG91dCwgYmVjYXVzZSB3ZQogICAgICAgIG5lZWQgdG8gcGFzcyBpdCB0aG9zZS4gKi8KLSAgICB0bXAgPSBQeU9iamVjdF9DYWxsTWV0aG9kKGZpbiwgImZpbGVubyIsICIiKTsKKyAgICB0bXAgPSBfUHlPYmplY3RfQ2FsbE1ldGhvZElkKGZpbiwgJlB5SWRfZmlsZW5vLCAiIik7CiAgICAgaWYgKHRtcCA9PSBOVUxMKSB7CiAgICAgICAgIFB5RXJyX0NsZWFyKCk7CiAgICAgICAgIHR0eSA9IDA7CkBAIC0xNjI0LDcgKzE2MjUsNyBAQAogICAgICAgICB0dHkgPSBmZCA9PSBmaWxlbm8oc3RkaW4pICYmIGlzYXR0eShmZCk7CiAgICAgfQogICAgIGlmICh0dHkpIHsKLSAgICAgICAgdG1wID0gUHlPYmplY3RfQ2FsbE1ldGhvZChmb3V0LCAiZmlsZW5vIiwgIiIpOworICAgICAgICB0bXAgPSBfUHlPYmplY3RfQ2FsbE1ldGhvZElkKGZvdXQsICZQeUlkX2ZpbGVubywgIiIpOwogICAgICAgICBpZiAodG1wID09IE5VTEwpCiAgICAgICAgICAgICBQeUVycl9DbGVhcigpOwogICAgICAgICBlbHNlIHsKQEAgLTE2NDYsOSArMTY0NywxMSBAQAogICAgICAgICBjaGFyICpzdGRpbl9lbmNvZGluZ19zdHIsICpzdGRpbl9lcnJvcnNfc3RyOwogICAgICAgICBQeU9iamVjdCAqcmVzdWx0OwogICAgICAgICBzaXplX3QgbGVuOworICAgICAgICBfUHlfSURFTlRJRklFUihlbmNvZGluZyk7CisgICAgICAgIF9QeV9JREVOVElGSUVSKGVycm9ycyk7CiAKLSAgICAgICAgc3RkaW5fZW5jb2RpbmcgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKGZpbiwgImVuY29kaW5nIik7Ci0gICAgICAgIHN0ZGluX2Vycm9ycyA9IFB5T2JqZWN0X0dldEF0dHJTdHJpbmcoZmluLCAiZXJyb3JzIik7CisgICAgICAgIHN0ZGluX2VuY29kaW5nID0gX1B5T2JqZWN0X0dldEF0dHJJZChmaW4sICZQeUlkX2VuY29kaW5nKTsKKyAgICAgICAgc3RkaW5fZXJyb3JzID0gX1B5T2JqZWN0X0dldEF0dHJJZChmaW4sICZQeUlkX2Vycm9ycyk7CiAgICAgICAgIGlmICghc3RkaW5fZW5jb2RpbmcgfHwgIXN0ZGluX2Vycm9ycykKICAgICAgICAgICAgIC8qIHN0ZGluIGlzIGEgdGV4dCBzdHJlYW0sIHNvIGl0IG11c3QgaGF2ZSBhbgogICAgICAgICAgICAgICAgZW5jb2RpbmcuICovCkBAIC0xNjU3LDcgKzE2NjAsNyBAQAogICAgICAgICBzdGRpbl9lcnJvcnNfc3RyID0gX1B5VW5pY29kZV9Bc1N0cmluZyhzdGRpbl9lcnJvcnMpOwogICAgICAgICBpZiAoIXN0ZGluX2VuY29kaW5nX3N0ciB8fCAhc3RkaW5fZXJyb3JzX3N0cikKICAgICAgICAgICAgIGdvdG8gX3JlYWRsaW5lX2Vycm9yczsKLSAgICAgICAgdG1wID0gUHlPYmplY3RfQ2FsbE1ldGhvZChmb3V0LCAiZmx1c2giLCAiIik7CisgICAgICAgIHRtcCA9IF9QeU9iamVjdF9DYWxsTWV0aG9kSWQoZm91dCwgJlB5SWRfZmx1c2gsICIiKTsKICAgICAgICAgaWYgKHRtcCA9PSBOVUxMKQogICAgICAgICAgICAgUHlFcnJfQ2xlYXIoKTsKICAgICAgICAgZWxzZQpAQCAtMTY2Niw4ICsxNjY5LDggQEAKICAgICAgICAgICAgIC8qIFdlIGhhdmUgYSBwcm9tcHQsIGVuY29kZSBpdCBhcyBzdGRvdXQgd291bGQgKi8KICAgICAgICAgICAgIGNoYXIgKnN0ZG91dF9lbmNvZGluZ19zdHIsICpzdGRvdXRfZXJyb3JzX3N0cjsKICAgICAgICAgICAgIFB5T2JqZWN0ICpzdHJpbmdwbzsKLSAgICAgICAgICAgIHN0ZG91dF9lbmNvZGluZyA9IFB5T2JqZWN0X0dldEF0dHJTdHJpbmcoZm91dCwgImVuY29kaW5nIik7Ci0gICAgICAgICAgICBzdGRvdXRfZXJyb3JzID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyhmb3V0LCAiZXJyb3JzIik7CisgICAgICAgICAgICBzdGRvdXRfZW5jb2RpbmcgPSBfUHlPYmplY3RfR2V0QXR0cklkKGZvdXQsICZQeUlkX2VuY29kaW5nKTsKKyAgICAgICAgICAgIHN0ZG91dF9lcnJvcnMgPSBfUHlPYmplY3RfR2V0QXR0cklkKGZvdXQsICZQeUlkX2Vycm9ycyk7CiAgICAgICAgICAgICBpZiAoIXN0ZG91dF9lbmNvZGluZyB8fCAhc3Rkb3V0X2Vycm9ycykKICAgICAgICAgICAgICAgICBnb3RvIF9yZWFkbGluZV9lcnJvcnM7CiAgICAgICAgICAgICBzdGRvdXRfZW5jb2Rpbmdfc3RyID0gX1B5VW5pY29kZV9Bc1N0cmluZyhzdGRvdXRfZW5jb2RpbmcpOwpAQCAtMTczNyw3ICsxNzQwLDcgQEAKICAgICAgICAgaWYgKFB5RmlsZV9Xcml0ZU9iamVjdChwcm9tcHRhcmcsIGZvdXQsIFB5X1BSSU5UX1JBVykgIT0gMCkKICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KLSAgICB0bXAgPSBQeU9iamVjdF9DYWxsTWV0aG9kKGZvdXQsICJmbHVzaCIsICIiKTsKKyAgICB0bXAgPSBfUHlPYmplY3RfQ2FsbE1ldGhvZElkKGZvdXQsICZQeUlkX2ZsdXNoLCAiIik7CiAgICAgaWYgKHRtcCA9PSBOVUxMKQogICAgICAgICBQeUVycl9DbGVhcigpOwogICAgIGVsc2UKQEAgLTE4MTksNiArMTgyMiw3IEBACiAgICAgUHlPYmplY3QgKmNhbGxhYmxlOwogICAgIHN0YXRpYyBjaGFyICprd2xpc3RbXSA9IHsiaXRlcmFibGUiLCAia2V5IiwgInJldmVyc2UiLCAwfTsKICAgICBpbnQgcmV2ZXJzZTsKKyAgICBfUHlfSURFTlRJRklFUihzb3J0KTsKIAogICAgIC8qIGFyZ3MgMS0zIHNob3VsZCBtYXRjaCBsaXN0c29ydCBpbiBPYmplY3RzL2xpc3RvYmplY3QuYyAqLwogICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3ZHMsICJPfE9pOnNvcnRlZCIsCkBAIC0xODI5LDcgKzE4MzMsNyBAQAogICAgIGlmIChuZXdsaXN0ID09IE5VTEwpCiAgICAgICAgIHJldHVybiBOVUxMOwogCi0gICAgY2FsbGFibGUgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKG5ld2xpc3QsICJzb3J0Iik7CisgICAgY2FsbGFibGUgPSBfUHlPYmplY3RfR2V0QXR0cklkKG5ld2xpc3QsICZQeUlkX3NvcnQpOwogICAgIGlmIChjYWxsYWJsZSA9PSBOVUxMKSB7CiAgICAgICAgIFB5X0RFQ1JFRihuZXdsaXN0KTsKICAgICAgICAgcmV0dXJuIE5VTEw7CkBAIC0xODc1LDcgKzE4NzksOCBAQAogICAgICAgICAgICAgUHlfSU5DUkVGKGQpOwogICAgIH0KICAgICBlbHNlIHsKLSAgICAgICAgZCA9IFB5T2JqZWN0X0dldEF0dHJTdHJpbmcodiwgIl9fZGljdF9fIik7CisgICAgICAgIF9QeV9JREVOVElGSUVSKF9fZGljdF9fKTsKKyAgICAgICAgZCA9IF9QeU9iamVjdF9HZXRBdHRySWQodiwgJlB5SWRfX19kaWN0X18pOwogICAgICAgICBpZiAoZCA9PSBOVUxMKSB7CiAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLAogICAgICAgICAgICAgICAgICJ2YXJzKCkgYXJndW1lbnQgbXVzdCBoYXZlIF9fZGljdF9fIGF0dHJpYnV0ZSIpOwpAQCAtMTkxOSwxMiArMTkyNCwxOCBAQAogICAgICAgICAgICAgUHlfREVDUkVGKGl0ZXIpOwogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgIH0KLSAgICAgICAgaWYgKFB5Qnl0ZUFycmF5X0NoZWNrKHJlc3VsdCkpIHsKKyAgICAgICAgaWYgKFB5Qnl0ZXNfQ2hlY2socmVzdWx0KSkgewogICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwKICAgICAgICAgICAgICAgICAic3VtKCkgY2FuJ3Qgc3VtIGJ5dGVzIFt1c2UgYicnLmpvaW4oc2VxKSBpbnN0ZWFkXSIpOwogICAgICAgICAgICAgUHlfREVDUkVGKGl0ZXIpOwogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgIH0KKyAgICAgICAgaWYgKFB5Qnl0ZUFycmF5X0NoZWNrKHJlc3VsdCkpIHsKKyAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsCisgICAgICAgICAgICAgICAgInN1bSgpIGNhbid0IHN1bSBieXRlYXJyYXkgW3VzZSBiJycuam9pbihzZXEpIGluc3RlYWRdIik7CisgICAgICAgICAgICBQeV9ERUNSRUYoaXRlcik7CisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgfQogCiAgICAgICAgIFB5X0lOQ1JFRihyZXN1bHQpOwogICAgIH0KZGlmZiAtLWdpdCBhL1B5dGhvbi9jZXZhbC5jIGIvUHl0aG9uL2NldmFsLmMKaW5kZXggZjBlYTdjOS4uNTQ5ODA1NiAxMDA2NDQKLS0tIGEvUHl0aG9uL2NldmFsLmMKKysrIGIvUHl0aG9uL2NldmFsLmMKQEAgLTEzOCw3ICsxMzgsNyBAQAogc3RhdGljIHZvaWQgZm9ybWF0X2V4Y191bmJvdW5kKFB5Q29kZU9iamVjdCAqY28sIGludCBvcGFyZyk7CiBzdGF0aWMgUHlPYmplY3QgKiB1bmljb2RlX2NvbmNhdGVuYXRlKFB5T2JqZWN0ICosIFB5T2JqZWN0ICosCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5RnJhbWVPYmplY3QgKiwgdW5zaWduZWQgY2hhciAqKTsKLXN0YXRpYyBQeU9iamVjdCAqIHNwZWNpYWxfbG9va3VwKFB5T2JqZWN0ICosIGNoYXIgKiwgUHlPYmplY3QgKiopOworc3RhdGljIFB5T2JqZWN0ICogc3BlY2lhbF9sb29rdXAoUHlPYmplY3QgKiwgX1B5X0lkZW50aWZpZXIgKik7CiAKICNkZWZpbmUgTkFNRV9FUlJPUl9NU0cgXAogICAgICJuYW1lICclLjIwMHMnIGlzIG5vdCBkZWZpbmVkIgpAQCAtMzcyLDYgKzM3Miw3IEBACiB2b2lkCiBQeUV2YWxfUmVJbml0VGhyZWFkcyh2b2lkKQogeworICAgIF9QeV9JREVOVElGSUVSKF9hZnRlcl9mb3JrKTsKICAgICBQeU9iamVjdCAqdGhyZWFkaW5nLCAqcmVzdWx0OwogICAgIFB5VGhyZWFkU3RhdGUgKnRzdGF0ZSA9IFB5VGhyZWFkU3RhdGVfR0VUKCk7CiAKQEAgLTM5Miw3ICszOTMsNyBAQAogICAgICAgICBQeUVycl9DbGVhcigpOwogICAgICAgICByZXR1cm47CiAgICAgfQotICAgIHJlc3VsdCA9IFB5T2JqZWN0X0NhbGxNZXRob2QodGhyZWFkaW5nLCAiX2FmdGVyX2ZvcmsiLCBOVUxMKTsKKyAgICByZXN1bHQgPSBfUHlPYmplY3RfQ2FsbE1ldGhvZElkKHRocmVhZGluZywgJlB5SWRfX2FmdGVyX2ZvcmssIE5VTEwpOwogICAgIGlmIChyZXN1bHQgPT0gTlVMTCkKICAgICAgICAgUHlFcnJfV3JpdGVVbnJhaXNhYmxlKHRocmVhZGluZyk7CiAgICAgZWxzZQpAQCAtNDkxLDcgKzQ5Miw2IEBACiB9IHBlbmRpbmdjYWxsc1tOUEVORElOR0NBTExTXTsKIHN0YXRpYyBpbnQgcGVuZGluZ2ZpcnN0ID0gMDsKIHN0YXRpYyBpbnQgcGVuZGluZ2xhc3QgPSAwOwotc3RhdGljIGNoYXIgcGVuZGluZ2J1c3kgPSAwOwogCiBpbnQKIFB5X0FkZFBlbmRpbmdDYWxsKGludCAoKmZ1bmMpKHZvaWQgKiksIHZvaWQgKmFyZykKQEAgLTUzOCw2ICs1MzgsNyBAQAogaW50CiBQeV9NYWtlUGVuZGluZ0NhbGxzKHZvaWQpCiB7CisgICAgc3RhdGljIGludCBidXN5ID0gMDsKICAgICBpbnQgaTsKICAgICBpbnQgciA9IDA7CiAKQEAgLTU1Miw5ICs1NTMsOSBAQAogICAgIGlmIChtYWluX3RocmVhZCAmJiBQeVRocmVhZF9nZXRfdGhyZWFkX2lkZW50KCkgIT0gbWFpbl90aHJlYWQpCiAgICAgICAgIHJldHVybiAwOwogICAgIC8qIGRvbid0IHBlcmZvcm0gcmVjdXJzaXZlIHBlbmRpbmcgY2FsbHMgKi8KLSAgICBpZiAocGVuZGluZ2J1c3kpCisgICAgaWYgKGJ1c3kpCiAgICAgICAgIHJldHVybiAwOwotICAgIHBlbmRpbmdidXN5ID0gMTsKKyAgICBidXN5ID0gMTsKICAgICAvKiBwZXJmb3JtIGEgYm91bmRlZCBudW1iZXIgb2YgY2FsbHMsIGluIGNhc2Ugb2YgcmVjdXJzaW9uICovCiAgICAgZm9yIChpPTA7IGk8TlBFTkRJTkdDQUxMUzsgaSsrKSB7CiAgICAgICAgIGludCBqOwpAQCAtNTgzLDcgKzU4NCw3IEBACiAgICAgICAgIGlmIChyKQogICAgICAgICAgICAgYnJlYWs7CiAgICAgfQotICAgIHBlbmRpbmdidXN5ID0gMDsKKyAgICBidXN5ID0gMDsKICAgICByZXR1cm4gcjsKIH0KIApAQCAtNzQ5LDYgKzc1MCw5IEBACiAgICAgICAgIFdIWV9TSUxFTkNFRCA9ICAweDAwODAgIC8qIEV4Y2VwdGlvbiBzaWxlbmNlZCBieSAnd2l0aCcgKi8KIH07CiAKK3N0YXRpYyB2b2lkIHNhdmVfZXhjX3N0YXRlKFB5VGhyZWFkU3RhdGUgKiwgUHlGcmFtZU9iamVjdCAqKTsKK3N0YXRpYyB2b2lkIHN3YXBfZXhjX3N0YXRlKFB5VGhyZWFkU3RhdGUgKiwgUHlGcmFtZU9iamVjdCAqKTsKK3N0YXRpYyB2b2lkIHJlc3RvcmVfYW5kX2NsZWFyX2V4Y19zdGF0ZShQeVRocmVhZFN0YXRlICosIFB5RnJhbWVPYmplY3QgKik7CiBzdGF0aWMgZW51bSB3aHlfY29kZSBkb19yYWlzZShQeU9iamVjdCAqLCBQeU9iamVjdCAqKTsKIHN0YXRpYyBpbnQgdW5wYWNrX2l0ZXJhYmxlKFB5T2JqZWN0ICosIGludCwgaW50LCBQeU9iamVjdCAqKik7CiAKQEAgLTgxNywxMCArODIxLDYgQEAKICAgICB1bnNpZ25lZCBjaGFyICpmaXJzdF9pbnN0cjsKICAgICBQeU9iamVjdCAqbmFtZXM7CiAgICAgUHlPYmplY3QgKmNvbnN0czsKLSNpZiBkZWZpbmVkKFB5X0RFQlVHKSB8fCBkZWZpbmVkKExMVFJBQ0UpCi0gICAgLyogTWFrZSBpdCBlYXNpZXIgdG8gZmluZCBvdXQgd2hlcmUgd2UgYXJlIHdpdGggYSBkZWJ1Z2dlciAqLwotICAgIGNoYXIgKmZpbGVuYW1lOwotI2VuZGlmCiAKIC8qIENvbXB1dGVkIEdPVE9zLCBvcgogICAgICAgIHRoZS1vcHRpbWl6YXRpb24tY29tbW9ubHktYnV0LWltcHJvcGVybHkta25vd24tYXMtInRocmVhZGVkIGNvZGUiCkBAIC0xMTE0LDU5ICsxMTE0LDggQEAKICAgICAgICAgUHlfWERFQ1JFRih0cmFjZWJhY2spOyBcCiAgICAgfQogCi0jZGVmaW5lIFNBVkVfRVhDX1NUQVRFKCkgXAotICAgIHsgXAotICAgICAgICBQeU9iamVjdCAqdHlwZSwgKnZhbHVlLCAqdHJhY2ViYWNrOyBcCi0gICAgICAgIFB5X1hJTkNSRUYodHN0YXRlLT5leGNfdHlwZSk7IFwKLSAgICAgICAgUHlfWElOQ1JFRih0c3RhdGUtPmV4Y192YWx1ZSk7IFwKLSAgICAgICAgUHlfWElOQ1JFRih0c3RhdGUtPmV4Y190cmFjZWJhY2spOyBcCi0gICAgICAgIHR5cGUgPSBmLT5mX2V4Y190eXBlOyBcCi0gICAgICAgIHZhbHVlID0gZi0+Zl9leGNfdmFsdWU7IFwKLSAgICAgICAgdHJhY2ViYWNrID0gZi0+Zl9leGNfdHJhY2ViYWNrOyBcCi0gICAgICAgIGYtPmZfZXhjX3R5cGUgPSB0c3RhdGUtPmV4Y190eXBlOyBcCi0gICAgICAgIGYtPmZfZXhjX3ZhbHVlID0gdHN0YXRlLT5leGNfdmFsdWU7IFwKLSAgICAgICAgZi0+Zl9leGNfdHJhY2ViYWNrID0gdHN0YXRlLT5leGNfdHJhY2ViYWNrOyBcCi0gICAgICAgIFB5X1hERUNSRUYodHlwZSk7IFwKLSAgICAgICAgUHlfWERFQ1JFRih2YWx1ZSk7IFwKLSAgICAgICAgUHlfWERFQ1JFRih0cmFjZWJhY2spOyBcCi0gICAgfQotCi0jZGVmaW5lIFNXQVBfRVhDX1NUQVRFKCkgXAotICAgIHsgXAotICAgICAgICBQeU9iamVjdCAqdG1wOyBcCi0gICAgICAgIHRtcCA9IHRzdGF0ZS0+ZXhjX3R5cGU7IFwKLSAgICAgICAgdHN0YXRlLT5leGNfdHlwZSA9IGYtPmZfZXhjX3R5cGU7IFwKLSAgICAgICAgZi0+Zl9leGNfdHlwZSA9IHRtcDsgXAotICAgICAgICB0bXAgPSB0c3RhdGUtPmV4Y192YWx1ZTsgXAotICAgICAgICB0c3RhdGUtPmV4Y192YWx1ZSA9IGYtPmZfZXhjX3ZhbHVlOyBcCi0gICAgICAgIGYtPmZfZXhjX3ZhbHVlID0gdG1wOyBcCi0gICAgICAgIHRtcCA9IHRzdGF0ZS0+ZXhjX3RyYWNlYmFjazsgXAotICAgICAgICB0c3RhdGUtPmV4Y190cmFjZWJhY2sgPSBmLT5mX2V4Y190cmFjZWJhY2s7IFwKLSAgICAgICAgZi0+Zl9leGNfdHJhY2ViYWNrID0gdG1wOyBcCi0gICAgfQotCi0jZGVmaW5lIFJFU1RPUkVfQU5EX0NMRUFSX0VYQ19TVEFURSgpIFwKLSAgICB7IFwKLSAgICAgICAgUHlPYmplY3QgKnR5cGUsICp2YWx1ZSwgKnRiOyBcCi0gICAgICAgIHR5cGUgPSB0c3RhdGUtPmV4Y190eXBlOyBcCi0gICAgICAgIHZhbHVlID0gdHN0YXRlLT5leGNfdmFsdWU7IFwKLSAgICAgICAgdGIgPSB0c3RhdGUtPmV4Y190cmFjZWJhY2s7IFwKLSAgICAgICAgdHN0YXRlLT5leGNfdHlwZSA9IGYtPmZfZXhjX3R5cGU7IFwKLSAgICAgICAgdHN0YXRlLT5leGNfdmFsdWUgPSBmLT5mX2V4Y192YWx1ZTsgXAotICAgICAgICB0c3RhdGUtPmV4Y190cmFjZWJhY2sgPSBmLT5mX2V4Y190cmFjZWJhY2s7IFwKLSAgICAgICAgZi0+Zl9leGNfdHlwZSA9IE5VTEw7IFwKLSAgICAgICAgZi0+Zl9leGNfdmFsdWUgPSBOVUxMOyBcCi0gICAgICAgIGYtPmZfZXhjX3RyYWNlYmFjayA9IE5VTEw7IFwKLSAgICAgICAgUHlfWERFQ1JFRih0eXBlKTsgXAotICAgICAgICBQeV9YREVDUkVGKHZhbHVlKTsgXAotICAgICAgICBQeV9YREVDUkVGKHRiKTsgXAotICAgIH0KLQogLyogU3RhcnQgb2YgY29kZSAqLwogCi0gICAgaWYgKGYgPT0gTlVMTCkKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0KICAgICAvKiBwdXNoIGZyYW1lICovCiAgICAgaWYgKFB5X0VudGVyUmVjdXJzaXZlQ2FsbCgiIikpCiAgICAgICAgIHJldHVybiBOVUxMOwpAQCAtMTIyMSw2ICsxMTcwLDggQEAKICAgICAgICBmLT5mX2xhc3RpIHRvIC0xIChpLmUuIHRoZSBpbmRleCAqYmVmb3JlKiB0aGUgZmlyc3QgaW5zdHJ1Y3Rpb24pCiAgICAgICAgYW5kIFlJRUxEX1ZBTFVFIGRvZXNuJ3QgZmlkZGxlIHdpdGggZl9sYXN0aSBhbnkgbW9yZS4gIFNvIHRoaXMKICAgICAgICBkb2VzIHdvcmsuICBQcm9taXNlLgorICAgICAgIFlJRUxEX0ZST00gc2V0cyBmX2xhc3RpIHRvIGl0c2VsZiwgaW4gb3JkZXIgdG8gcmVwZWF0ZWQgeWllbGQKKyAgICAgICBtdWx0aXBsZSB2YWx1ZXMuCiAKICAgICAgICBXaGVuIHRoZSBQUkVESUNUKCkgbWFjcm9zIGFyZSBlbmFibGVkLCBzb21lIG9wY29kZSBwYWlycyBmb2xsb3cgaW4KICAgICAgICBkaXJlY3Qgc3VjY2Vzc2lvbiB3aXRob3V0IHVwZGF0aW5nIGYtPmZfbGFzdGkuICBBIHN1Y2Nlc3NmdWwKQEAgLTEyNDAsMjggKzExOTEsMTUgQEAKICAgICAgICAgICAgIC8qIFdlIHdlcmUgaW4gYW4gZXhjZXB0IGhhbmRsZXIgd2hlbiB3ZSBsZWZ0LAogICAgICAgICAgICAgICAgcmVzdG9yZSB0aGUgZXhjZXB0aW9uIHN0YXRlIHdoaWNoIHdhcyBwdXQgYXNpZGUKICAgICAgICAgICAgICAgIChzZWUgWUlFTERfVkFMVUUpLiAqLwotICAgICAgICAgICAgU1dBUF9FWENfU1RBVEUoKTsKKyAgICAgICAgICAgIHN3YXBfZXhjX3N0YXRlKHRzdGF0ZSwgZik7CiAgICAgICAgIH0KLSAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICBTQVZFX0VYQ19TVEFURSgpOwotICAgICAgICB9CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHNhdmVfZXhjX3N0YXRlKHRzdGF0ZSwgZik7CiAgICAgfQogCiAjaWZkZWYgTExUUkFDRQogICAgIGxsdHJhY2UgPSBQeURpY3RfR2V0SXRlbVN0cmluZyhmLT5mX2dsb2JhbHMsICJfX2xsdHJhY2VfXyIpICE9IE5VTEw7CiAjZW5kaWYKLSNpZiBkZWZpbmVkKFB5X0RFQlVHKSB8fCBkZWZpbmVkKExMVFJBQ0UpCi0gICAgewotICAgICAgICBQeU9iamVjdCAqZXJyb3JfdHlwZSwgKmVycm9yX3ZhbHVlLCAqZXJyb3JfdHJhY2ViYWNrOwotICAgICAgICBQeUVycl9GZXRjaCgmZXJyb3JfdHlwZSwgJmVycm9yX3ZhbHVlLCAmZXJyb3JfdHJhY2ViYWNrKTsKLSAgICAgICAgZmlsZW5hbWUgPSBfUHlVbmljb2RlX0FzU3RyaW5nKGNvLT5jb19maWxlbmFtZSk7Ci0gICAgICAgIGlmIChmaWxlbmFtZSA9PSBOVUxMICYmIHRzdGF0ZS0+b3ZlcmZsb3dlZCkgewotICAgICAgICAgICAgLyogbWF4aW11bSByZWN1cnNpb24gZGVwdGggZXhjZWVkZWQgKi8KLSAgICAgICAgICAgIGdvdG8gZXhpdF9ldmFsX2ZyYW1lOwotICAgICAgICB9Ci0gICAgICAgIFB5RXJyX1Jlc3RvcmUoZXJyb3JfdHlwZSwgZXJyb3JfdmFsdWUsIGVycm9yX3RyYWNlYmFjayk7Ci0gICAgfQotI2VuZGlmCiAKICAgICB3aHkgPSBXSFlfTk9UOwogICAgIGVyciA9IDA7CkBAIC0xNDEyLDggKzEzNTAsNiBAQAogICAgICAgICAgICB4IHRvIE5VTEwsIGVyciB0byBub256ZXJvLCBvciB3aHkgdG8gYW55dGhpbmcgYnV0IFdIWV9OT1QsCiAgICAgICAgICAgIGFuZCB0aGF0IG5vIG9wZXJhdGlvbiB0aGF0IHN1Y2NlZWRzIGRvZXMgdGhpcyEgKi8KIAotICAgICAgICAvKiBjYXNlIFNUT1BfQ09ERTogdGhpcyBpcyBhbiBlcnJvciEgKi8KLQogICAgICAgICBUQVJHRVQoTk9QKQogICAgICAgICAgICAgRkFTVF9ESVNQQVRDSCgpOwogCkBAIC0xODk0LDYgKzE4MzAsMzkgQEAKICAgICAgICAgICAgIHdoeSA9IFdIWV9SRVRVUk47CiAgICAgICAgICAgICBnb3RvIGZhc3RfYmxvY2tfZW5kOwogCisgICAgICAgIFRBUkdFVChZSUVMRF9GUk9NKQorICAgICAgICAgICAgdSA9IFBPUCgpOworICAgICAgICAgICAgeCA9IFRPUCgpOworICAgICAgICAgICAgLyogc2VuZCB1IHRvIHggKi8KKyAgICAgICAgICAgIGlmIChQeUdlbl9DaGVja0V4YWN0KHgpKSB7CisgICAgICAgICAgICAgICAgcmV0dmFsID0gX1B5R2VuX1NlbmQoKFB5R2VuT2JqZWN0ICopeCwgdSk7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIGlmICh1ID09IFB5X05vbmUpCisgICAgICAgICAgICAgICAgICAgIHJldHZhbCA9IFB5SXRlcl9OZXh0KHgpOworICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgcmV0dmFsID0gUHlPYmplY3RfQ2FsbE1ldGhvZCh4LCAic2VuZCIsICJPIiwgdSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBQeV9ERUNSRUYodSk7CisgICAgICAgICAgICBpZiAoIXJldHZhbCkgeworICAgICAgICAgICAgICAgIFB5T2JqZWN0ICp2YWw7CisgICAgICAgICAgICAgICAgeCA9IFBPUCgpOyAvKiBSZW1vdmUgaXRlciBmcm9tIHN0YWNrICovCisgICAgICAgICAgICAgICAgUHlfREVDUkVGKHgpOworICAgICAgICAgICAgICAgIGVyciA9IFB5R2VuX0ZldGNoU3RvcEl0ZXJhdGlvblZhbHVlKCZ2YWwpOworICAgICAgICAgICAgICAgIGlmIChlcnIgPCAwKSB7CisgICAgICAgICAgICAgICAgICAgIHggPSBOVUxMOworICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgeCA9IHZhbDsKKyAgICAgICAgICAgICAgICBQVVNIKHgpOworICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgfQorICAgICAgICAgICAgLyogeCByZW1haW5zIG9uIHN0YWNrLCByZXR2YWwgaXMgdmFsdWUgdG8gYmUgeWllbGRlZCAqLworICAgICAgICAgICAgZi0+Zl9zdGFja3RvcCA9IHN0YWNrX3BvaW50ZXI7CisgICAgICAgICAgICB3aHkgPSBXSFlfWUlFTEQ7CisgICAgICAgICAgICAvKiBhbmQgcmVwZWF0Li4uICovCisgICAgICAgICAgICBmLT5mX2xhc3RpLS07CisgICAgICAgICAgICBnb3RvIGZhc3RfeWllbGQ7CisKICAgICAgICAgVEFSR0VUKFlJRUxEX1ZBTFVFKQogICAgICAgICAgICAgcmV0dmFsID0gUE9QKCk7CiAgICAgICAgICAgICBmLT5mX3N0YWNrdG9wID0gc3RhY2tfcG9pbnRlcjsKQEAgLTIxMjEsNyArMjA5MCw3IEBACiAgICAgICAgICAgICAgICAgLyogSW5saW5lIHRoZSBQeURpY3RfR2V0SXRlbSgpIGNhbGxzLgogICAgICAgICAgICAgICAgICAgIFdBUk5JTkc6IHRoaXMgaXMgYW4gZXh0cmVtZSBzcGVlZCBoYWNrLgogICAgICAgICAgICAgICAgICAgIERvIG5vdCB0cnkgdGhpcyBhdCBob21lLiAqLwotICAgICAgICAgICAgICAgIFB5X2hhc2hfdCBoYXNoID0gKChQeVVuaWNvZGVPYmplY3QgKil3KS0+aGFzaDsKKyAgICAgICAgICAgICAgICBQeV9oYXNoX3QgaGFzaCA9ICgoUHlBU0NJSU9iamVjdCAqKXcpLT5oYXNoOwogICAgICAgICAgICAgICAgIGlmIChoYXNoICE9IC0xKSB7CiAgICAgICAgICAgICAgICAgICAgIFB5RGljdE9iamVjdCAqZDsKICAgICAgICAgICAgICAgICAgICAgUHlEaWN0RW50cnkgKmU7CkBAIC0yNTU5LDEzICsyNTI4LDE0IEBACiAKICAgICAgICAgVEFSR0VUKFNFVFVQX1dJVEgpCiAgICAgICAgIHsKLSAgICAgICAgICAgIHN0YXRpYyBQeU9iamVjdCAqZXhpdCwgKmVudGVyOworICAgICAgICAgICAgX1B5X0lERU5USUZJRVIoX19leGl0X18pOworICAgICAgICAgICAgX1B5X0lERU5USUZJRVIoX19lbnRlcl9fKTsKICAgICAgICAgICAgIHcgPSBUT1AoKTsKLSAgICAgICAgICAgIHggPSBzcGVjaWFsX2xvb2t1cCh3LCAiX19leGl0X18iLCAmZXhpdCk7CisgICAgICAgICAgICB4ID0gc3BlY2lhbF9sb29rdXAodywgJlB5SWRfX19leGl0X18pOwogICAgICAgICAgICAgaWYgKCF4KQogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgU0VUX1RPUCh4KTsKLSAgICAgICAgICAgIHUgPSBzcGVjaWFsX2xvb2t1cCh3LCAiX19lbnRlcl9fIiwgJmVudGVyKTsKKyAgICAgICAgICAgIHUgPSBzcGVjaWFsX2xvb2t1cCh3LCAmUHlJZF9fX2VudGVyX18pOwogICAgICAgICAgICAgUHlfREVDUkVGKHcpOwogICAgICAgICAgICAgaWYgKCF1KSB7CiAgICAgICAgICAgICAgICAgeCA9IE5VTEw7CkBAIC0yNzI1LDcgKzI2OTUsNyBAQAogICAgICAgICAgICAgICAgIFB5X0RFQ1JFRigqcGZ1bmMpOwogICAgICAgICAgICAgICAgICpwZnVuYyA9IHNlbGY7CiAgICAgICAgICAgICAgICAgbmErKzsKLSAgICAgICAgICAgICAgICBuKys7CisgICAgICAgICAgICAgICAgLyogbisrOyAqLwogICAgICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICAgICAgUHlfSU5DUkVGKGZ1bmMpOwogICAgICAgICAgICAgc3AgPSBzdGFja19wb2ludGVyOwpAQCAtMjc1Myw5ICsyNzIzLDExIEBACiAgICAgICAgICAgICBpbnQga3dkZWZhdWx0cyA9IChvcGFyZz4+OCkgJiAweGZmOwogICAgICAgICAgICAgaW50IG51bV9hbm5vdGF0aW9ucyA9IChvcGFyZyA+PiAxNikgJiAweDdmZmY7CiAKKyAgICAgICAgICAgIHcgPSBQT1AoKTsgLyogcXVhbG5hbWUgKi8KICAgICAgICAgICAgIHYgPSBQT1AoKTsgLyogY29kZSBvYmplY3QgKi8KLSAgICAgICAgICAgIHggPSBQeUZ1bmN0aW9uX05ldyh2LCBmLT5mX2dsb2JhbHMpOworICAgICAgICAgICAgeCA9IFB5RnVuY3Rpb25fTmV3V2l0aFF1YWxOYW1lKHYsIGYtPmZfZ2xvYmFscywgdyk7CiAgICAgICAgICAgICBQeV9ERUNSRUYodik7CisgICAgICAgICAgICBQeV9ERUNSRUYodyk7CiAKICAgICAgICAgICAgIGlmICh4ICE9IE5VTEwgJiYgb3Bjb2RlID09IE1BS0VfQ0xPU1VSRSkgewogICAgICAgICAgICAgICAgIHYgPSBQT1AoKTsKQEAgLTMwNDksOSArMzAyMSw5IEBACiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGlmIChpID09IGYtPmZfaWJsb2NrKQogICAgICAgICAgICAgLyogV2UgZGlkIG5vdCBjcmVhdGUgdGhpcyBleGNlcHRpb24uICovCi0gICAgICAgICAgICBSRVNUT1JFX0FORF9DTEVBUl9FWENfU1RBVEUoKQorICAgICAgICAgICAgcmVzdG9yZV9hbmRfY2xlYXJfZXhjX3N0YXRlKHRzdGF0ZSwgZik7CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIFNXQVBfRVhDX1NUQVRFKCkKKyAgICAgICAgICAgIHN3YXBfZXhjX3N0YXRlKHRzdGF0ZSwgZik7CiAgICAgfQogCiAgICAgaWYgKHRzdGF0ZS0+dXNlX3RyYWNpbmcpIHsKQEAgLTMwODEsNyArMzA1Myw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5VHJhY2VfUkVUVVJOLCByZXR2YWwpKSB7CiAgICAgICAgICAgICAgICAgUHlfWERFQ1JFRihyZXR2YWwpOwogICAgICAgICAgICAgICAgIHJldHZhbCA9IE5VTEw7Ci0gICAgICAgICAgICAgICAgd2h5ID0gV0hZX0VYQ0VQVElPTjsKKyAgICAgICAgICAgICAgICAvKiB3aHkgPSBXSFlfRVhDRVBUSU9OOyAqLwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfQpAQCAtMzA5NCw2ICszMDY2LDE1NCBAQAogICAgIHJldHVybiByZXR2YWw7CiB9CiAKK3N0YXRpYyB2b2lkCitmb3JtYXRfbWlzc2luZyhjb25zdCBjaGFyICpraW5kLCBQeUNvZGVPYmplY3QgKmNvLCBQeU9iamVjdCAqbmFtZXMpCit7CisgICAgaW50IGVycjsKKyAgICBQeV9zc2l6ZV90IGxlbiA9IFB5TGlzdF9HRVRfU0laRShuYW1lcyk7CisgICAgUHlPYmplY3QgKm5hbWVfc3RyLCAqY29tbWEsICp0YWlsLCAqdG1wOworCisgICAgYXNzZXJ0KFB5TGlzdF9DaGVja0V4YWN0KG5hbWVzKSk7CisgICAgYXNzZXJ0KGxlbiA+PSAxKTsKKyAgICAvKiBEZWFsIHdpdGggdGhlIGpveXMgb2YgbmF0dXJhbCBsYW5ndWFnZS4gKi8KKyAgICBzd2l0Y2ggKGxlbikgeworICAgIGNhc2UgMToKKyAgICAgICAgbmFtZV9zdHIgPSBQeUxpc3RfR0VUX0lURU0obmFtZXMsIDApOworICAgICAgICBQeV9JTkNSRUYobmFtZV9zdHIpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIDI6CisgICAgICAgIG5hbWVfc3RyID0gUHlVbmljb2RlX0Zyb21Gb3JtYXQoIiVVIGFuZCAlVSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlMaXN0X0dFVF9JVEVNKG5hbWVzLCBsZW4gLSAyKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeUxpc3RfR0VUX0lURU0obmFtZXMsIGxlbiAtIDEpKTsKKyAgICAgICAgYnJlYWs7CisgICAgZGVmYXVsdDoKKyAgICAgICAgdGFpbCA9IFB5VW5pY29kZV9Gcm9tRm9ybWF0KCIsICVVLCBhbmQgJVUiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlMaXN0X0dFVF9JVEVNKG5hbWVzLCBsZW4gLSAyKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5TGlzdF9HRVRfSVRFTShuYW1lcywgbGVuIC0gMSkpOworICAgICAgICAvKiBDaG9wIG9mZiB0aGUgbGFzdCB0d28gb2JqZWN0cyBpbiB0aGUgbGlzdC4gVGhpcyBzaG91bGRuJ3QgYWN0dWFsbHkKKyAgICAgICAgICAgZmFpbCwgYnV0IHdlIGNhbid0IGJlIHRvbyBjYXJlZnVsLiAqLworICAgICAgICBlcnIgPSBQeUxpc3RfU2V0U2xpY2UobmFtZXMsIGxlbiAtIDIsIGxlbiwgTlVMTCk7CisgICAgICAgIGlmIChlcnIgPT0gLTEpIHsKKyAgICAgICAgICAgIFB5X0RFQ1JFRih0YWlsKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgICAgICAvKiBTdGl0Y2ggZXZlcnl0aGluZyB1cCBpbnRvIGEgbmljZSBjb21tYS1zZXBhcmF0ZWQgbGlzdC4gKi8KKyAgICAgICAgY29tbWEgPSBQeVVuaWNvZGVfRnJvbVN0cmluZygiLCAiKTsKKyAgICAgICAgaWYgKGNvbW1hID09IE5VTEwpIHsKKyAgICAgICAgICAgIFB5X0RFQ1JFRih0YWlsKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgICAgICB0bXAgPSBQeVVuaWNvZGVfSm9pbihjb21tYSwgbmFtZXMpOworICAgICAgICBQeV9ERUNSRUYoY29tbWEpOworICAgICAgICBpZiAodG1wID09IE5VTEwpIHsKKyAgICAgICAgICAgIFB5X0RFQ1JFRih0YWlsKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgICAgICBuYW1lX3N0ciA9IFB5VW5pY29kZV9Db25jYXQodG1wLCB0YWlsKTsKKyAgICAgICAgUHlfREVDUkVGKHRtcCk7CisgICAgICAgIFB5X0RFQ1JFRih0YWlsKTsKKyAgICAgICAgYnJlYWs7CisgICAgfQorICAgIGlmIChuYW1lX3N0ciA9PSBOVUxMKQorICAgICAgICByZXR1cm47CisgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1R5cGVFcnJvciwKKyAgICAgICAgICAgICAgICAgIiVVKCkgbWlzc2luZyAlaSByZXF1aXJlZCAlcyBhcmd1bWVudCVzOiAlVSIsCisgICAgICAgICAgICAgICAgIGNvLT5jb19uYW1lLAorICAgICAgICAgICAgICAgICBsZW4sCisgICAgICAgICAgICAgICAgIGtpbmQsCisgICAgICAgICAgICAgICAgIGxlbiA9PSAxID8gIiIgOiAicyIsCisgICAgICAgICAgICAgICAgIG5hbWVfc3RyKTsKKyAgICBQeV9ERUNSRUYobmFtZV9zdHIpOworfQorCitzdGF0aWMgdm9pZAorbWlzc2luZ19hcmd1bWVudHMoUHlDb2RlT2JqZWN0ICpjbywgaW50IG1pc3NpbmcsIGludCBkZWZjb3VudCwKKyAgICAgICAgICAgICAgICAgIFB5T2JqZWN0ICoqZmFzdGxvY2FscykKK3sKKyAgICBpbnQgaSwgaiA9IDA7CisgICAgaW50IHN0YXJ0LCBlbmQ7CisgICAgaW50IHBvc2l0aW9uYWwgPSBkZWZjb3VudCAhPSAtMTsKKyAgICBjb25zdCBjaGFyICpraW5kID0gcG9zaXRpb25hbCA/ICJwb3NpdGlvbmFsIiA6ICJrZXl3b3JkLW9ubHkiOworICAgIFB5T2JqZWN0ICptaXNzaW5nX25hbWVzOworCisgICAgLyogQ29tcHV0ZSB0aGUgbmFtZXMgb2YgdGhlIGFyZ3VtZW50cyB0aGF0IGFyZSBtaXNzaW5nLiAqLworICAgIG1pc3NpbmdfbmFtZXMgPSBQeUxpc3RfTmV3KG1pc3NpbmcpOworICAgIGlmIChtaXNzaW5nX25hbWVzID09IE5VTEwpCisgICAgICAgIHJldHVybjsKKyAgICBpZiAocG9zaXRpb25hbCkgeworICAgICAgICBzdGFydCA9IDA7CisgICAgICAgIGVuZCA9IGNvLT5jb19hcmdjb3VudCAtIGRlZmNvdW50OworICAgIH0KKyAgICBlbHNlIHsKKyAgICAgICAgc3RhcnQgPSBjby0+Y29fYXJnY291bnQ7CisgICAgICAgIGVuZCA9IHN0YXJ0ICsgY28tPmNvX2t3b25seWFyZ2NvdW50OworICAgIH0KKyAgICBmb3IgKGkgPSBzdGFydDsgaSA8IGVuZDsgaSsrKSB7CisgICAgICAgIGlmIChHRVRMT0NBTChpKSA9PSBOVUxMKSB7CisgICAgICAgICAgICBQeU9iamVjdCAqcmF3ID0gUHlUdXBsZV9HRVRfSVRFTShjby0+Y29fdmFybmFtZXMsIGkpOworICAgICAgICAgICAgUHlPYmplY3QgKm5hbWUgPSBQeU9iamVjdF9SZXByKHJhdyk7CisgICAgICAgICAgICBpZiAobmFtZSA9PSBOVUxMKSB7CisgICAgICAgICAgICAgICAgUHlfREVDUkVGKG1pc3NpbmdfbmFtZXMpOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIFB5TGlzdF9TRVRfSVRFTShtaXNzaW5nX25hbWVzLCBqKyssIG5hbWUpOworICAgICAgICB9CisgICAgfQorICAgIGFzc2VydChqID09IG1pc3NpbmcpOworICAgIGZvcm1hdF9taXNzaW5nKGtpbmQsIGNvLCBtaXNzaW5nX25hbWVzKTsKKyAgICBQeV9ERUNSRUYobWlzc2luZ19uYW1lcyk7Cit9CisKK3N0YXRpYyB2b2lkCit0b29fbWFueV9wb3NpdGlvbmFsKFB5Q29kZU9iamVjdCAqY28sIGludCBnaXZlbiwgaW50IGRlZmNvdW50LCBQeU9iamVjdCAqKmZhc3Rsb2NhbHMpCit7CisgICAgaW50IHBsdXJhbDsKKyAgICBpbnQga3dvbmx5X2dpdmVuID0gMDsKKyAgICBpbnQgaTsKKyAgICBQeU9iamVjdCAqc2lnLCAqa3dvbmx5X3NpZzsKKworICAgIGFzc2VydCgoY28tPmNvX2ZsYWdzICYgQ09fVkFSQVJHUykgPT0gMCk7CisgICAgLyogQ291bnQgbWlzc2luZyBrZXl3b3JkLW9ubHkgYXJncy4gKi8KKyAgICBmb3IgKGkgPSBjby0+Y29fYXJnY291bnQ7IGkgPCBjby0+Y29fYXJnY291bnQgKyBjby0+Y29fa3dvbmx5YXJnY291bnQ7IGkrKykKKyAgICAgICAgaWYgKEdFVExPQ0FMKGkpICE9IE5VTEwpCisgICAgICAgICAgICBrd29ubHlfZ2l2ZW4rKzsKKyAgICBpZiAoZGVmY291bnQpIHsKKyAgICAgICAgaW50IGF0bGVhc3QgPSBjby0+Y29fYXJnY291bnQgLSBkZWZjb3VudDsKKyAgICAgICAgcGx1cmFsID0gMTsKKyAgICAgICAgc2lnID0gUHlVbmljb2RlX0Zyb21Gb3JtYXQoImZyb20gJWQgdG8gJWQiLCBhdGxlYXN0LCBjby0+Y29fYXJnY291bnQpOworICAgIH0KKyAgICBlbHNlIHsKKyAgICAgICAgcGx1cmFsID0gY28tPmNvX2FyZ2NvdW50ICE9IDE7CisgICAgICAgIHNpZyA9IFB5VW5pY29kZV9Gcm9tRm9ybWF0KCIlZCIsIGNvLT5jb19hcmdjb3VudCk7CisgICAgfQorICAgIGlmIChzaWcgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuOworICAgIGlmIChrd29ubHlfZ2l2ZW4pIHsKKyAgICAgICAgY29uc3QgY2hhciAqZm9ybWF0ID0gIiBwb3NpdGlvbmFsIGFyZ3VtZW50JXMgKGFuZCAlZCBrZXl3b3JkLW9ubHkgYXJndW1lbnQlcykiOworICAgICAgICBrd29ubHlfc2lnID0gUHlVbmljb2RlX0Zyb21Gb3JtYXQoZm9ybWF0LCBnaXZlbiAhPSAxID8gInMiIDogIiIsIGt3b25seV9naXZlbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrd29ubHlfZ2l2ZW4gIT0gMSA/ICJzIiA6ICIiKTsKKyAgICAgICAgaWYgKGt3b25seV9zaWcgPT0gTlVMTCkgeworICAgICAgICAgICAgUHlfREVDUkVGKHNpZyk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIC8qIFRoaXMgd2lsbCBub3QgZmFpbC4gKi8KKyAgICAgICAga3dvbmx5X3NpZyA9IFB5VW5pY29kZV9Gcm9tU3RyaW5nKCIiKTsKKyAgICAgICAgYXNzZXJ0KGt3b25seV9zaWcgIT0gTlVMTCk7CisgICAgfQorICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsCisgICAgICAgICAgICAgICAgICIlVSgpIHRha2VzICVVIHBvc2l0aW9uYWwgYXJndW1lbnQlcyBidXQgJWQlVSAlcyBnaXZlbiIsCisgICAgICAgICAgICAgICAgIGNvLT5jb19uYW1lLAorICAgICAgICAgICAgICAgICBzaWcsCisgICAgICAgICAgICAgICAgIHBsdXJhbCA/ICJzIiA6ICIiLAorICAgICAgICAgICAgICAgICBnaXZlbiwKKyAgICAgICAgICAgICAgICAga3dvbmx5X3NpZywKKyAgICAgICAgICAgICAgICAgZ2l2ZW4gPT0gMSAmJiAha3dvbmx5X2dpdmVuID8gIndhcyIgOiAid2VyZSIpOworICAgIFB5X0RFQ1JFRihzaWcpOworICAgIFB5X0RFQ1JFRihrd29ubHlfc2lnKTsKK30KKwogLyogVGhpcyBpcyBnb25uYSBzZWVtICpyZWFsIHdlaXJkKiwgYnV0IGlmIHlvdSBwdXQgc29tZSBvdGhlciBjb2RlIGJldHdlZW4KICAgIFB5RXZhbF9FdmFsRnJhbWUoKSBhbmQgUHlFdmFsX0V2YWxDb2RlRXgoKSB5b3Ugd2lsbCBuZWVkIHRvIGFkanVzdAogICAgdGhlIHRlc3QgaW4gdGhlIGlmIHN0YXRlbWVudHMgaW4gTWlzYy9nZGJpbml0IChweXN0YWNrIGFuZCBweXN0YWNrdikuICovCkBAIC0zMTEwLDYgKzMyMzAsOSBAQAogICAgIFB5VGhyZWFkU3RhdGUgKnRzdGF0ZSA9IFB5VGhyZWFkU3RhdGVfR0VUKCk7CiAgICAgUHlPYmplY3QgKngsICp1OwogICAgIGludCB0b3RhbF9hcmdzID0gY28tPmNvX2FyZ2NvdW50ICsgY28tPmNvX2t3b25seWFyZ2NvdW50OworICAgIGludCBpOworICAgIGludCBuID0gYXJnY291bnQ7CisgICAgUHlPYmplY3QgKmt3ZGljdCA9IE5VTEw7CiAKICAgICBpZiAoZ2xvYmFscyA9PSBOVUxMKSB7CiAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19TeXN0ZW1FcnJvciwKQEAgLTMxMjYsMjEyICszMjQ5LDE1MyBAQAogICAgIGZhc3Rsb2NhbHMgPSBmLT5mX2xvY2Fsc3BsdXM7CiAgICAgZnJlZXZhcnMgPSBmLT5mX2xvY2Fsc3BsdXMgKyBjby0+Y29fbmxvY2FsczsKIAotICAgIGlmICh0b3RhbF9hcmdzIHx8IGNvLT5jb19mbGFncyAmIChDT19WQVJBUkdTIHwgQ09fVkFSS0VZV09SRFMpKSB7Ci0gICAgICAgIGludCBpOwotICAgICAgICBpbnQgbiA9IGFyZ2NvdW50OwotICAgICAgICBQeU9iamVjdCAqa3dkaWN0ID0gTlVMTDsKLSAgICAgICAgaWYgKGNvLT5jb19mbGFncyAmIENPX1ZBUktFWVdPUkRTKSB7Ci0gICAgICAgICAgICBrd2RpY3QgPSBQeURpY3RfTmV3KCk7Ci0gICAgICAgICAgICBpZiAoa3dkaWN0ID09IE5VTEwpCi0gICAgICAgICAgICAgICAgZ290byBmYWlsOwotICAgICAgICAgICAgaSA9IHRvdGFsX2FyZ3M7Ci0gICAgICAgICAgICBpZiAoY28tPmNvX2ZsYWdzICYgQ09fVkFSQVJHUykKLSAgICAgICAgICAgICAgICBpKys7Ci0gICAgICAgICAgICBTRVRMT0NBTChpLCBrd2RpY3QpOwotICAgICAgICB9Ci0gICAgICAgIGlmIChhcmdjb3VudCA+IGNvLT5jb19hcmdjb3VudCkgewotICAgICAgICAgICAgaWYgKCEoY28tPmNvX2ZsYWdzICYgQ09fVkFSQVJHUykpIHsKLSAgICAgICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLAotICAgICAgICAgICAgICAgICAgICAiJVUoKSB0YWtlcyAlcyAlZCAiCi0gICAgICAgICAgICAgICAgICAgICJwb3NpdGlvbmFsIGFyZ3VtZW50JXMgKCVkIGdpdmVuKSIsCi0gICAgICAgICAgICAgICAgICAgIGNvLT5jb19uYW1lLAotICAgICAgICAgICAgICAgICAgICBkZWZjb3VudCA/ICJhdCBtb3N0IiA6ICJleGFjdGx5IiwKLSAgICAgICAgICAgICAgICAgICAgY28tPmNvX2FyZ2NvdW50LAotICAgICAgICAgICAgICAgICAgICBjby0+Y29fYXJnY291bnQgPT0gMSA/ICIiIDogInMiLAotICAgICAgICAgICAgICAgICAgICBhcmdjb3VudCArIGt3Y291bnQpOwotICAgICAgICAgICAgICAgIGdvdG8gZmFpbDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIG4gPSBjby0+Y29fYXJnY291bnQ7Ci0gICAgICAgIH0KLSAgICAgICAgZm9yIChpID0gMDsgaSA8IG47IGkrKykgeworICAgIC8qIFBhcnNlIGFyZ3VtZW50cy4gKi8KKyAgICBpZiAoY28tPmNvX2ZsYWdzICYgQ09fVkFSS0VZV09SRFMpIHsKKyAgICAgICAga3dkaWN0ID0gUHlEaWN0X05ldygpOworICAgICAgICBpZiAoa3dkaWN0ID09IE5VTEwpCisgICAgICAgICAgICBnb3RvIGZhaWw7CisgICAgICAgIGkgPSB0b3RhbF9hcmdzOworICAgICAgICBpZiAoY28tPmNvX2ZsYWdzICYgQ09fVkFSQVJHUykKKyAgICAgICAgICAgIGkrKzsKKyAgICAgICAgU0VUTE9DQUwoaSwga3dkaWN0KTsKKyAgICB9CisgICAgaWYgKGFyZ2NvdW50ID4gY28tPmNvX2FyZ2NvdW50KQorICAgICAgICBuID0gY28tPmNvX2FyZ2NvdW50OworICAgIGZvciAoaSA9IDA7IGkgPCBuOyBpKyspIHsKKyAgICAgICAgeCA9IGFyZ3NbaV07CisgICAgICAgIFB5X0lOQ1JFRih4KTsKKyAgICAgICAgU0VUTE9DQUwoaSwgeCk7CisgICAgfQorICAgIGlmIChjby0+Y29fZmxhZ3MgJiBDT19WQVJBUkdTKSB7CisgICAgICAgIHUgPSBQeVR1cGxlX05ldyhhcmdjb3VudCAtIG4pOworICAgICAgICBpZiAodSA9PSBOVUxMKQorICAgICAgICAgICAgZ290byBmYWlsOworICAgICAgICBTRVRMT0NBTCh0b3RhbF9hcmdzLCB1KTsKKyAgICAgICAgZm9yIChpID0gbjsgaSA8IGFyZ2NvdW50OyBpKyspIHsKICAgICAgICAgICAgIHggPSBhcmdzW2ldOwogICAgICAgICAgICAgUHlfSU5DUkVGKHgpOwotICAgICAgICAgICAgU0VUTE9DQUwoaSwgeCk7CisgICAgICAgICAgICBQeVR1cGxlX1NFVF9JVEVNKHUsIGktbiwgeCk7CiAgICAgICAgIH0KLSAgICAgICAgaWYgKGNvLT5jb19mbGFncyAmIENPX1ZBUkFSR1MpIHsKLSAgICAgICAgICAgIHUgPSBQeVR1cGxlX05ldyhhcmdjb3VudCAtIG4pOwotICAgICAgICAgICAgaWYgKHUgPT0gTlVMTCkKLSAgICAgICAgICAgICAgICBnb3RvIGZhaWw7Ci0gICAgICAgICAgICBTRVRMT0NBTCh0b3RhbF9hcmdzLCB1KTsKLSAgICAgICAgICAgIGZvciAoaSA9IG47IGkgPCBhcmdjb3VudDsgaSsrKSB7Ci0gICAgICAgICAgICAgICAgeCA9IGFyZ3NbaV07Ci0gICAgICAgICAgICAgICAgUHlfSU5DUkVGKHgpOwotICAgICAgICAgICAgICAgIFB5VHVwbGVfU0VUX0lURU0odSwgaS1uLCB4KTsKLSAgICAgICAgICAgIH0KKyAgICB9CisgICAgZm9yIChpID0gMDsgaSA8IGt3Y291bnQ7IGkrKykgeworICAgICAgICBQeU9iamVjdCAqKmNvX3Zhcm5hbWVzOworICAgICAgICBQeU9iamVjdCAqa2V5d29yZCA9IGt3c1syKmldOworICAgICAgICBQeU9iamVjdCAqdmFsdWUgPSBrd3NbMippICsgMV07CisgICAgICAgIGludCBqOworICAgICAgICBpZiAoa2V5d29yZCA9PSBOVUxMIHx8ICFQeVVuaWNvZGVfQ2hlY2soa2V5d29yZCkpIHsKKyAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgIiVVKCkga2V5d29yZHMgbXVzdCBiZSBzdHJpbmdzIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICBjby0+Y29fbmFtZSk7CisgICAgICAgICAgICBnb3RvIGZhaWw7CiAgICAgICAgIH0KLSAgICAgICAgZm9yIChpID0gMDsgaSA8IGt3Y291bnQ7IGkrKykgewotICAgICAgICAgICAgUHlPYmplY3QgKipjb192YXJuYW1lczsKLSAgICAgICAgICAgIFB5T2JqZWN0ICprZXl3b3JkID0ga3dzWzIqaV07Ci0gICAgICAgICAgICBQeU9iamVjdCAqdmFsdWUgPSBrd3NbMippICsgMV07Ci0gICAgICAgICAgICBpbnQgajsKLSAgICAgICAgICAgIGlmIChrZXl3b3JkID09IE5VTEwgfHwgIVB5VW5pY29kZV9DaGVjayhrZXl3b3JkKSkgewotICAgICAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICIlVSgpIGtleXdvcmRzIG11c3QgYmUgc3RyaW5ncyIsCi0gICAgICAgICAgICAgICAgICAgIGNvLT5jb19uYW1lKTsKKyAgICAgICAgLyogU3BlZWQgaGFjazogZG8gcmF3IHBvaW50ZXIgY29tcGFyZXMuIEFzIG5hbWVzIGFyZQorICAgICAgICAgICBub3JtYWxseSBpbnRlcm5lZCB0aGlzIHNob3VsZCBhbG1vc3QgYWx3YXlzIGhpdC4gKi8KKyAgICAgICAgY29fdmFybmFtZXMgPSAoKFB5VHVwbGVPYmplY3QgKikoY28tPmNvX3Zhcm5hbWVzKSktPm9iX2l0ZW07CisgICAgICAgIGZvciAoaiA9IDA7IGogPCB0b3RhbF9hcmdzOyBqKyspIHsKKyAgICAgICAgICAgIFB5T2JqZWN0ICpubSA9IGNvX3Zhcm5hbWVzW2pdOworICAgICAgICAgICAgaWYgKG5tID09IGtleXdvcmQpCisgICAgICAgICAgICAgICAgZ290byBrd19mb3VuZDsKKyAgICAgICAgfQorICAgICAgICAvKiBTbG93IGZhbGxiYWNrLCBqdXN0IGluIGNhc2UgKi8KKyAgICAgICAgZm9yIChqID0gMDsgaiA8IHRvdGFsX2FyZ3M7IGorKykgeworICAgICAgICAgICAgUHlPYmplY3QgKm5tID0gY29fdmFybmFtZXNbal07CisgICAgICAgICAgICBpbnQgY21wID0gUHlPYmplY3RfUmljaENvbXBhcmVCb29sKAorICAgICAgICAgICAgICAgIGtleXdvcmQsIG5tLCBQeV9FUSk7CisgICAgICAgICAgICBpZiAoY21wID4gMCkKKyAgICAgICAgICAgICAgICBnb3RvIGt3X2ZvdW5kOworICAgICAgICAgICAgZWxzZSBpZiAoY21wIDwgMCkKICAgICAgICAgICAgICAgICBnb3RvIGZhaWw7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAvKiBTcGVlZCBoYWNrOiBkbyByYXcgcG9pbnRlciBjb21wYXJlcy4gQXMgbmFtZXMgYXJlCi0gICAgICAgICAgICAgICBub3JtYWxseSBpbnRlcm5lZCB0aGlzIHNob3VsZCBhbG1vc3QgYWx3YXlzIGhpdC4gKi8KLSAgICAgICAgICAgIGNvX3Zhcm5hbWVzID0gKChQeVR1cGxlT2JqZWN0ICopKGNvLT5jb192YXJuYW1lcykpLT5vYl9pdGVtOwotICAgICAgICAgICAgZm9yIChqID0gMDsgaiA8IHRvdGFsX2FyZ3M7IGorKykgewotICAgICAgICAgICAgICAgIFB5T2JqZWN0ICpubSA9IGNvX3Zhcm5hbWVzW2pdOwotICAgICAgICAgICAgICAgIGlmIChubSA9PSBrZXl3b3JkKQotICAgICAgICAgICAgICAgICAgICBnb3RvIGt3X2ZvdW5kOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgLyogU2xvdyBmYWxsYmFjaywganVzdCBpbiBjYXNlICovCi0gICAgICAgICAgICBmb3IgKGogPSAwOyBqIDwgdG90YWxfYXJnczsgaisrKSB7Ci0gICAgICAgICAgICAgICAgUHlPYmplY3QgKm5tID0gY29fdmFybmFtZXNbal07Ci0gICAgICAgICAgICAgICAgaW50IGNtcCA9IFB5T2JqZWN0X1JpY2hDb21wYXJlQm9vbCgKLSAgICAgICAgICAgICAgICAgICAga2V5d29yZCwgbm0sIFB5X0VRKTsKLSAgICAgICAgICAgICAgICBpZiAoY21wID4gMCkKLSAgICAgICAgICAgICAgICAgICAgZ290byBrd19mb3VuZDsKLSAgICAgICAgICAgICAgICBlbHNlIGlmIChjbXAgPCAwKQotICAgICAgICAgICAgICAgICAgICBnb3RvIGZhaWw7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBpZiAoaiA+PSB0b3RhbF9hcmdzICYmIGt3ZGljdCA9PSBOVUxMKSB7Ci0gICAgICAgICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1R5cGVFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiVVKCkgZ290IGFuIHVuZXhwZWN0ZWQgIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAia2V5d29yZCBhcmd1bWVudCAnJVMnIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY28tPmNvX25hbWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleXdvcmQpOwotICAgICAgICAgICAgICAgIGdvdG8gZmFpbDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIFB5RGljdF9TZXRJdGVtKGt3ZGljdCwga2V5d29yZCwgdmFsdWUpOwotICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAga3dfZm91bmQ6Ci0gICAgICAgICAgICBpZiAoR0VUTE9DQUwoaikgIT0gTlVMTCkgewotICAgICAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIiVVKCkgZ290IG11bHRpcGxlICIKLSAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVzIGZvciBrZXl3b3JkICIKLSAgICAgICAgICAgICAgICAgICAgICAgICAiYXJndW1lbnQgJyVTJyIsCisgICAgICAgIH0KKyAgICAgICAgaWYgKGogPj0gdG90YWxfYXJncyAmJiBrd2RpY3QgPT0gTlVMTCkgeworICAgICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1R5cGVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAiJVUoKSBnb3QgYW4gdW5leHBlY3RlZCAiCisgICAgICAgICAgICAgICAgICAgICAgICAgImtleXdvcmQgYXJndW1lbnQgJyVTJyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgY28tPmNvX25hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAga2V5d29yZCk7Ci0gICAgICAgICAgICAgICAgZ290byBmYWlsOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgUHlfSU5DUkVGKHZhbHVlKTsKLSAgICAgICAgICAgIFNFVExPQ0FMKGosIHZhbHVlKTsKKyAgICAgICAgICAgIGdvdG8gZmFpbDsKICAgICAgICAgfQotICAgICAgICBpZiAoY28tPmNvX2t3b25seWFyZ2NvdW50ID4gMCkgewotICAgICAgICAgICAgZm9yIChpID0gY28tPmNvX2FyZ2NvdW50OyBpIDwgdG90YWxfYXJnczsgaSsrKSB7Ci0gICAgICAgICAgICAgICAgUHlPYmplY3QgKm5hbWU7Ci0gICAgICAgICAgICAgICAgaWYgKEdFVExPQ0FMKGkpICE9IE5VTEwpCi0gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgICAgIG5hbWUgPSBQeVR1cGxlX0dFVF9JVEVNKGNvLT5jb192YXJuYW1lcywgaSk7Ci0gICAgICAgICAgICAgICAgaWYgKGt3ZGVmcyAhPSBOVUxMKSB7Ci0gICAgICAgICAgICAgICAgICAgIFB5T2JqZWN0ICpkZWYgPSBQeURpY3RfR2V0SXRlbShrd2RlZnMsIG5hbWUpOwotICAgICAgICAgICAgICAgICAgICBpZiAoZGVmKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBQeV9JTkNSRUYoZGVmKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIFNFVExPQ0FMKGksIGRlZik7Ci0gICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLAotICAgICAgICAgICAgICAgICAgICAiJVUoKSBuZWVkcyBrZXl3b3JkLW9ubHkgYXJndW1lbnQgJVMiLAotICAgICAgICAgICAgICAgICAgICBjby0+Y29fbmFtZSwgbmFtZSk7Ci0gICAgICAgICAgICAgICAgZ290byBmYWlsOwotICAgICAgICAgICAgfQorICAgICAgICBQeURpY3RfU2V0SXRlbShrd2RpY3QsIGtleXdvcmQsIHZhbHVlKTsKKyAgICAgICAgY29udGludWU7CisgICAgICBrd19mb3VuZDoKKyAgICAgICAgaWYgKEdFVExPQ0FMKGopICE9IE5VTEwpIHsKKyAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgIiVVKCkgZ290IG11bHRpcGxlICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWVzIGZvciBhcmd1bWVudCAnJVMnIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICBjby0+Y29fbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBrZXl3b3JkKTsKKyAgICAgICAgICAgIGdvdG8gZmFpbDsKICAgICAgICAgfQotICAgICAgICBpZiAoYXJnY291bnQgPCBjby0+Y29fYXJnY291bnQpIHsKLSAgICAgICAgICAgIGludCBtID0gY28tPmNvX2FyZ2NvdW50IC0gZGVmY291bnQ7Ci0gICAgICAgICAgICBmb3IgKGkgPSBhcmdjb3VudDsgaSA8IG07IGkrKykgewotICAgICAgICAgICAgICAgIGlmIChHRVRMT0NBTChpKSA9PSBOVUxMKSB7Ci0gICAgICAgICAgICAgICAgICAgIGludCBqLCBnaXZlbiA9IDA7Ci0gICAgICAgICAgICAgICAgICAgIGZvciAoaiA9IDA7IGogPCBjby0+Y29fYXJnY291bnQ7IGorKykKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIChHRVRMT0NBTChqKSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBnaXZlbisrOwotICAgICAgICAgICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgIiVVKCkgdGFrZXMgJXMgJWQgIgotICAgICAgICAgICAgICAgICAgICAgICAgImFyZ3VtZW50JXMgIgotICAgICAgICAgICAgICAgICAgICAgICAgIiglZCBnaXZlbikiLAotICAgICAgICAgICAgICAgICAgICAgICAgY28tPmNvX25hbWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAoKGNvLT5jb19mbGFncyAmIENPX1ZBUkFSR1MpIHx8Ci0gICAgICAgICAgICAgICAgICAgICAgICAgZGVmY291bnQpID8gImF0IGxlYXN0IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICJleGFjdGx5IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbSwgbSA9PSAxID8gIiIgOiAicyIsIGdpdmVuKTsKLSAgICAgICAgICAgICAgICAgICAgZ290byBmYWlsOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlmIChuID4gbSkKLSAgICAgICAgICAgICAgICBpID0gbiAtIG07Ci0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgaSA9IDA7Ci0gICAgICAgICAgICBmb3IgKDsgaSA8IGRlZmNvdW50OyBpKyspIHsKLSAgICAgICAgICAgICAgICBpZiAoR0VUTE9DQUwobStpKSA9PSBOVUxMKSB7Ci0gICAgICAgICAgICAgICAgICAgIFB5T2JqZWN0ICpkZWYgPSBkZWZzW2ldOwotICAgICAgICAgICAgICAgICAgICBQeV9JTkNSRUYoZGVmKTsKLSAgICAgICAgICAgICAgICAgICAgU0VUTE9DQUwobStpLCBkZWYpOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KLSAgICAgICAgfQorICAgICAgICBQeV9JTkNSRUYodmFsdWUpOworICAgICAgICBTRVRMT0NBTChqLCB2YWx1ZSk7CiAgICAgfQotICAgIGVsc2UgaWYgKGFyZ2NvdW50ID4gMCB8fCBrd2NvdW50ID4gMCkgewotICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLAotICAgICAgICAgICAgICAgICAgICAgIiVVKCkgdGFrZXMgbm8gYXJndW1lbnRzICglZCBnaXZlbikiLAotICAgICAgICAgICAgICAgICAgICAgY28tPmNvX25hbWUsCi0gICAgICAgICAgICAgICAgICAgICBhcmdjb3VudCArIGt3Y291bnQpOworICAgIGlmIChhcmdjb3VudCA+IGNvLT5jb19hcmdjb3VudCAmJiAhKGNvLT5jb19mbGFncyAmIENPX1ZBUkFSR1MpKSB7CisgICAgICAgIHRvb19tYW55X3Bvc2l0aW9uYWwoY28sIGFyZ2NvdW50LCBkZWZjb3VudCwgZmFzdGxvY2Fscyk7CiAgICAgICAgIGdvdG8gZmFpbDsKICAgICB9Ci0gICAgLyogQWxsb2NhdGUgYW5kIGluaXRpYWxpemUgc3RvcmFnZSBmb3IgY2VsbCB2YXJzLCBhbmQgY29weSBmcmVlCi0gICAgICAgdmFycyBpbnRvIGZyYW1lLiAgVGhpcyBpc24ndCB0b28gZWZmaWNpZW50IHJpZ2h0IG5vdy4gKi8KLSAgICBpZiAoUHlUdXBsZV9HRVRfU0laRShjby0+Y29fY2VsbHZhcnMpKSB7Ci0gICAgICAgIGludCBpLCBqLCBuYXJncywgZm91bmQ7Ci0gICAgICAgIFB5X1VOSUNPREUgKmNlbGxuYW1lLCAqYXJnbmFtZTsKLSAgICAgICAgUHlPYmplY3QgKmM7Ci0KLSAgICAgICAgbmFyZ3MgPSB0b3RhbF9hcmdzOwotICAgICAgICBpZiAoY28tPmNvX2ZsYWdzICYgQ09fVkFSQVJHUykKLSAgICAgICAgICAgIG5hcmdzKys7Ci0gICAgICAgIGlmIChjby0+Y29fZmxhZ3MgJiBDT19WQVJLRVlXT1JEUykKLSAgICAgICAgICAgIG5hcmdzKys7Ci0KLSAgICAgICAgLyogSW5pdGlhbGl6ZSBlYWNoIGNlbGwgdmFyLCB0YWtpbmcgaW50byBhY2NvdW50Ci0gICAgICAgICAgIGNlbGwgdmFycyB0aGF0IGFyZSBpbml0aWFsaXplZCBmcm9tIGFyZ3VtZW50cy4KLQotICAgICAgICAgICBTaG91bGQgYXJyYW5nZSBmb3IgdGhlIGNvbXBpbGVyIHRvIHB1dCBjZWxsdmFycwotICAgICAgICAgICB0aGF0IGFyZSBhcmd1bWVudHMgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgY2VsbHZhcnMKLSAgICAgICAgICAgbGlzdCBzbyB0aGF0IHdlIGNhbiBtYXJjaCBvdmVyIGl0IG1vcmUgZWZmaWNpZW50bHk/Ci0gICAgICAgICovCi0gICAgICAgIGZvciAoaSA9IDA7IGkgPCBQeVR1cGxlX0dFVF9TSVpFKGNvLT5jb19jZWxsdmFycyk7ICsraSkgewotICAgICAgICAgICAgY2VsbG5hbWUgPSBQeVVuaWNvZGVfQVNfVU5JQ09ERSgKLSAgICAgICAgICAgICAgICBQeVR1cGxlX0dFVF9JVEVNKGNvLT5jb19jZWxsdmFycywgaSkpOwotICAgICAgICAgICAgZm91bmQgPSAwOwotICAgICAgICAgICAgZm9yIChqID0gMDsgaiA8IG5hcmdzOyBqKyspIHsKLSAgICAgICAgICAgICAgICBhcmduYW1lID0gUHlVbmljb2RlX0FTX1VOSUNPREUoCi0gICAgICAgICAgICAgICAgICAgIFB5VHVwbGVfR0VUX0lURU0oY28tPmNvX3Zhcm5hbWVzLCBqKSk7Ci0gICAgICAgICAgICAgICAgaWYgKFB5X1VOSUNPREVfc3RyY21wKGNlbGxuYW1lLCBhcmduYW1lKSA9PSAwKSB7Ci0gICAgICAgICAgICAgICAgICAgIGMgPSBQeUNlbGxfTmV3KEdFVExPQ0FMKGopKTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKGMgPT0gTlVMTCkKLSAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gZmFpbDsKLSAgICAgICAgICAgICAgICAgICAgR0VUTE9DQUwoY28tPmNvX25sb2NhbHMgKyBpKSA9IGM7Ci0gICAgICAgICAgICAgICAgICAgIGZvdW5kID0gMTsKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfQotICAgICAgICAgICAgaWYgKGZvdW5kID09IDApIHsKLSAgICAgICAgICAgICAgICBjID0gUHlDZWxsX05ldyhOVUxMKTsKLSAgICAgICAgICAgICAgICBpZiAoYyA9PSBOVUxMKQotICAgICAgICAgICAgICAgICAgICBnb3RvIGZhaWw7Ci0gICAgICAgICAgICAgICAgU0VUTE9DQUwoY28tPmNvX25sb2NhbHMgKyBpLCBjKTsKKyAgICBpZiAoYXJnY291bnQgPCBjby0+Y29fYXJnY291bnQpIHsKKyAgICAgICAgaW50IG0gPSBjby0+Y29fYXJnY291bnQgLSBkZWZjb3VudDsKKyAgICAgICAgaW50IG1pc3NpbmcgPSAwOworICAgICAgICBmb3IgKGkgPSBhcmdjb3VudDsgaSA8IG07IGkrKykKKyAgICAgICAgICAgIGlmIChHRVRMT0NBTChpKSA9PSBOVUxMKQorICAgICAgICAgICAgICAgIG1pc3NpbmcrKzsKKyAgICAgICAgaWYgKG1pc3NpbmcpIHsKKyAgICAgICAgICAgIG1pc3NpbmdfYXJndW1lbnRzKGNvLCBtaXNzaW5nLCBkZWZjb3VudCwgZmFzdGxvY2Fscyk7CisgICAgICAgICAgICBnb3RvIGZhaWw7CisgICAgICAgIH0KKyAgICAgICAgaWYgKG4gPiBtKQorICAgICAgICAgICAgaSA9IG4gLSBtOworICAgICAgICBlbHNlCisgICAgICAgICAgICBpID0gMDsKKyAgICAgICAgZm9yICg7IGkgPCBkZWZjb3VudDsgaSsrKSB7CisgICAgICAgICAgICBpZiAoR0VUTE9DQUwobStpKSA9PSBOVUxMKSB7CisgICAgICAgICAgICAgICAgUHlPYmplY3QgKmRlZiA9IGRlZnNbaV07CisgICAgICAgICAgICAgICAgUHlfSU5DUkVGKGRlZik7CisgICAgICAgICAgICAgICAgU0VUTE9DQUwobStpLCBkZWYpOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfQotICAgIGlmIChQeVR1cGxlX0dFVF9TSVpFKGNvLT5jb19mcmVldmFycykpIHsKLSAgICAgICAgaW50IGk7Ci0gICAgICAgIGZvciAoaSA9IDA7IGkgPCBQeVR1cGxlX0dFVF9TSVpFKGNvLT5jb19mcmVldmFycyk7ICsraSkgewotICAgICAgICAgICAgUHlPYmplY3QgKm8gPSBQeVR1cGxlX0dFVF9JVEVNKGNsb3N1cmUsIGkpOwotICAgICAgICAgICAgUHlfSU5DUkVGKG8pOwotICAgICAgICAgICAgZnJlZXZhcnNbUHlUdXBsZV9HRVRfU0laRShjby0+Y29fY2VsbHZhcnMpICsgaV0gPSBvOworICAgIGlmIChjby0+Y29fa3dvbmx5YXJnY291bnQgPiAwKSB7CisgICAgICAgIGludCBtaXNzaW5nID0gMDsKKyAgICAgICAgZm9yIChpID0gY28tPmNvX2FyZ2NvdW50OyBpIDwgdG90YWxfYXJnczsgaSsrKSB7CisgICAgICAgICAgICBQeU9iamVjdCAqbmFtZTsKKyAgICAgICAgICAgIGlmIChHRVRMT0NBTChpKSAhPSBOVUxMKQorICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgbmFtZSA9IFB5VHVwbGVfR0VUX0lURU0oY28tPmNvX3Zhcm5hbWVzLCBpKTsKKyAgICAgICAgICAgIGlmIChrd2RlZnMgIT0gTlVMTCkgeworICAgICAgICAgICAgICAgIFB5T2JqZWN0ICpkZWYgPSBQeURpY3RfR2V0SXRlbShrd2RlZnMsIG5hbWUpOworICAgICAgICAgICAgICAgIGlmIChkZWYpIHsKKyAgICAgICAgICAgICAgICAgICAgUHlfSU5DUkVGKGRlZik7CisgICAgICAgICAgICAgICAgICAgIFNFVExPQ0FMKGksIGRlZik7CisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIG1pc3NpbmcrKzsKICAgICAgICAgfQorICAgICAgICBpZiAobWlzc2luZykgeworICAgICAgICAgICAgbWlzc2luZ19hcmd1bWVudHMoY28sIG1pc3NpbmcsIC0xLCBmYXN0bG9jYWxzKTsKKyAgICAgICAgICAgIGdvdG8gZmFpbDsKKyAgICAgICAgfQorICAgIH0KKworICAgIC8qIEFsbG9jYXRlIGFuZCBpbml0aWFsaXplIHN0b3JhZ2UgZm9yIGNlbGwgdmFycywgYW5kIGNvcHkgZnJlZQorICAgICAgIHZhcnMgaW50byBmcmFtZS4gKi8KKyAgICBmb3IgKGkgPSAwOyBpIDwgUHlUdXBsZV9HRVRfU0laRShjby0+Y29fY2VsbHZhcnMpOyArK2kpIHsKKyAgICAgICAgUHlPYmplY3QgKmM7CisgICAgICAgIGludCBhcmc7CisgICAgICAgIC8qIFBvc3NpYmx5IGFjY291bnQgZm9yIHRoZSBjZWxsIHZhcmlhYmxlIGJlaW5nIGFuIGFyZ3VtZW50LiAqLworICAgICAgICBpZiAoY28tPmNvX2NlbGwyYXJnICE9IE5VTEwgJiYKKyAgICAgICAgICAgIChhcmcgPSBjby0+Y29fY2VsbDJhcmdbaV0pICE9IENPX0NFTExfTk9UX0FOX0FSRykKKyAgICAgICAgICAgIGMgPSBQeUNlbGxfTmV3KEdFVExPQ0FMKGFyZykpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBjID0gUHlDZWxsX05ldyhOVUxMKTsKKyAgICAgICAgaWYgKGMgPT0gTlVMTCkKKyAgICAgICAgICAgIGdvdG8gZmFpbDsKKyAgICAgICAgU0VUTE9DQUwoY28tPmNvX25sb2NhbHMgKyBpLCBjKTsKKyAgICB9CisgICAgZm9yIChpID0gMDsgaSA8IFB5VHVwbGVfR0VUX1NJWkUoY28tPmNvX2ZyZWV2YXJzKTsgKytpKSB7CisgICAgICAgIFB5T2JqZWN0ICpvID0gUHlUdXBsZV9HRVRfSVRFTShjbG9zdXJlLCBpKTsKKyAgICAgICAgUHlfSU5DUkVGKG8pOworICAgICAgICBmcmVldmFyc1tQeVR1cGxlX0dFVF9TSVpFKGNvLT5jb19jZWxsdmFycykgKyBpXSA9IG87CiAgICAgfQogCiAgICAgaWYgKGNvLT5jb19mbGFncyAmIENPX0dFTkVSQVRPUikgewpAQCAtMzM2NSwxOCArMzQyOSw3MiBAQAogCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1zcGVjaWFsX2xvb2t1cChQeU9iamVjdCAqbywgY2hhciAqbWV0aCwgUHlPYmplY3QgKipjYWNoZSkKK3NwZWNpYWxfbG9va3VwKFB5T2JqZWN0ICpvLCBfUHlfSWRlbnRpZmllciAqaWQpCiB7CiAgICAgUHlPYmplY3QgKnJlczsKLSAgICByZXMgPSBfUHlPYmplY3RfTG9va3VwU3BlY2lhbChvLCBtZXRoLCBjYWNoZSk7CisgICAgcmVzID0gX1B5T2JqZWN0X0xvb2t1cFNwZWNpYWwobywgaWQpOwogICAgIGlmIChyZXMgPT0gTlVMTCAmJiAhUHlFcnJfT2NjdXJyZWQoKSkgewotICAgICAgICBQeUVycl9TZXRPYmplY3QoUHlFeGNfQXR0cmlidXRlRXJyb3IsICpjYWNoZSk7CisgICAgICAgIFB5RXJyX1NldE9iamVjdChQeUV4Y19BdHRyaWJ1dGVFcnJvciwgaWQtPm9iamVjdCk7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KICAgICByZXR1cm4gcmVzOwogfQogCiAKKy8qIFRoZXNlIDMgZnVuY3Rpb25zIGRlYWwgd2l0aCB0aGUgZXhjZXB0aW9uIHN0YXRlIG9mIGdlbmVyYXRvcnMuICovCisKK3N0YXRpYyB2b2lkCitzYXZlX2V4Y19zdGF0ZShQeVRocmVhZFN0YXRlICp0c3RhdGUsIFB5RnJhbWVPYmplY3QgKmYpCit7CisgICAgUHlPYmplY3QgKnR5cGUsICp2YWx1ZSwgKnRyYWNlYmFjazsKKyAgICBQeV9YSU5DUkVGKHRzdGF0ZS0+ZXhjX3R5cGUpOworICAgIFB5X1hJTkNSRUYodHN0YXRlLT5leGNfdmFsdWUpOworICAgIFB5X1hJTkNSRUYodHN0YXRlLT5leGNfdHJhY2ViYWNrKTsKKyAgICB0eXBlID0gZi0+Zl9leGNfdHlwZTsKKyAgICB2YWx1ZSA9IGYtPmZfZXhjX3ZhbHVlOworICAgIHRyYWNlYmFjayA9IGYtPmZfZXhjX3RyYWNlYmFjazsKKyAgICBmLT5mX2V4Y190eXBlID0gdHN0YXRlLT5leGNfdHlwZTsKKyAgICBmLT5mX2V4Y192YWx1ZSA9IHRzdGF0ZS0+ZXhjX3ZhbHVlOworICAgIGYtPmZfZXhjX3RyYWNlYmFjayA9IHRzdGF0ZS0+ZXhjX3RyYWNlYmFjazsKKyAgICBQeV9YREVDUkVGKHR5cGUpOworICAgIFB5X1hERUNSRUYodmFsdWUpOworICAgIFB5X1hERUNSRUYodHJhY2ViYWNrKTsKK30KKworc3RhdGljIHZvaWQKK3N3YXBfZXhjX3N0YXRlKFB5VGhyZWFkU3RhdGUgKnRzdGF0ZSwgUHlGcmFtZU9iamVjdCAqZikKK3sKKyAgICBQeU9iamVjdCAqdG1wOworICAgIHRtcCA9IHRzdGF0ZS0+ZXhjX3R5cGU7CisgICAgdHN0YXRlLT5leGNfdHlwZSA9IGYtPmZfZXhjX3R5cGU7CisgICAgZi0+Zl9leGNfdHlwZSA9IHRtcDsKKyAgICB0bXAgPSB0c3RhdGUtPmV4Y192YWx1ZTsKKyAgICB0c3RhdGUtPmV4Y192YWx1ZSA9IGYtPmZfZXhjX3ZhbHVlOworICAgIGYtPmZfZXhjX3ZhbHVlID0gdG1wOworICAgIHRtcCA9IHRzdGF0ZS0+ZXhjX3RyYWNlYmFjazsKKyAgICB0c3RhdGUtPmV4Y190cmFjZWJhY2sgPSBmLT5mX2V4Y190cmFjZWJhY2s7CisgICAgZi0+Zl9leGNfdHJhY2ViYWNrID0gdG1wOworfQorCitzdGF0aWMgdm9pZAorcmVzdG9yZV9hbmRfY2xlYXJfZXhjX3N0YXRlKFB5VGhyZWFkU3RhdGUgKnRzdGF0ZSwgUHlGcmFtZU9iamVjdCAqZikKK3sKKyAgICBQeU9iamVjdCAqdHlwZSwgKnZhbHVlLCAqdGI7CisgICAgdHlwZSA9IHRzdGF0ZS0+ZXhjX3R5cGU7CisgICAgdmFsdWUgPSB0c3RhdGUtPmV4Y192YWx1ZTsKKyAgICB0YiA9IHRzdGF0ZS0+ZXhjX3RyYWNlYmFjazsKKyAgICB0c3RhdGUtPmV4Y190eXBlID0gZi0+Zl9leGNfdHlwZTsKKyAgICB0c3RhdGUtPmV4Y192YWx1ZSA9IGYtPmZfZXhjX3ZhbHVlOworICAgIHRzdGF0ZS0+ZXhjX3RyYWNlYmFjayA9IGYtPmZfZXhjX3RyYWNlYmFjazsKKyAgICBmLT5mX2V4Y190eXBlID0gTlVMTDsKKyAgICBmLT5mX2V4Y192YWx1ZSA9IE5VTEw7CisgICAgZi0+Zl9leGNfdHJhY2ViYWNrID0gTlVMTDsKKyAgICBQeV9YREVDUkVGKHR5cGUpOworICAgIFB5X1hERUNSRUYodmFsdWUpOworICAgIFB5X1hERUNSRUYodGIpOworfQorCisKIC8qIExvZ2ljIGZvciB0aGUgcmFpc2Ugc3RhdGVtZW50ICh0b28gY29tcGxpY2F0ZWQgZm9yIGlubGluaW5nKS4KICAgIFRoaXMgKmNvbnN1bWVzKiBhIHJlZmVyZW5jZSBjb3VudCB0byBlYWNoIG9mIGl0cyBhcmd1bWVudHMuICovCiBzdGF0aWMgZW51bSB3aHlfY29kZQpAQCAtMzQzNywyMiArMzU1NSwyMyBAQAogCiAgICAgaWYgKGNhdXNlKSB7CiAgICAgICAgIFB5T2JqZWN0ICpmaXhlZF9jYXVzZTsKKyAgICAgICAgaW50IHJlc3VsdDsKICAgICAgICAgaWYgKFB5RXhjZXB0aW9uQ2xhc3NfQ2hlY2soY2F1c2UpKSB7CiAgICAgICAgICAgICBmaXhlZF9jYXVzZSA9IFB5T2JqZWN0X0NhbGxPYmplY3QoY2F1c2UsIE5VTEwpOwogICAgICAgICAgICAgaWYgKGZpeGVkX2NhdXNlID09IE5VTEwpCiAgICAgICAgICAgICAgICAgZ290byByYWlzZV9lcnJvcjsKLSAgICAgICAgICAgIFB5X0RFQ1JFRihjYXVzZSk7Ci0gICAgICAgIH0KLSAgICAgICAgZWxzZSBpZiAoUHlFeGNlcHRpb25JbnN0YW5jZV9DaGVjayhjYXVzZSkpIHsKKyAgICAgICAgICAgIFB5X0NMRUFSKGNhdXNlKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIC8qIExldCAiZXhjLl9fY2F1c2VfXyA9IGNhdXNlIiBoYW5kbGUgYWxsIGZ1cnRoZXIgY2hlY2tzICovCiAgICAgICAgICAgICBmaXhlZF9jYXVzZSA9IGNhdXNlOworICAgICAgICAgICAgY2F1c2UgPSBOVUxMOyAvKiBTdGVhbCB0aGUgcmVmZXJlbmNlICovCiAgICAgICAgIH0KLSAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJleGNlcHRpb24gY2F1c2VzIG11c3QgZGVyaXZlIGZyb20gIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICJCYXNlRXhjZXB0aW9uIik7CisgICAgICAgIC8qIFdlIHJldGFpbiBvd25lcnNoaXAgb2YgdGhlIHJlZmVyZW5jZSB0byBmaXhlZF9jYXVzZSAqLworICAgICAgICByZXN1bHQgPSBfUHlFeGNlcHRpb25fU2V0Q2F1c2VDaGVja2VkKHZhbHVlLCBmaXhlZF9jYXVzZSk7CisgICAgICAgIFB5X0RFQ1JFRihmaXhlZF9jYXVzZSk7CisgICAgICAgIGlmIChyZXN1bHQgPCAwKSB7CiAgICAgICAgICAgICBnb3RvIHJhaXNlX2Vycm9yOwogICAgICAgICB9Ci0gICAgICAgIFB5RXhjZXB0aW9uX1NldENhdXNlKHZhbHVlLCBmaXhlZF9jYXVzZSk7CiAgICAgfQogCiAgICAgUHlFcnJfU2V0T2JqZWN0KHR5cGUsIHZhbHVlKTsKQEAgLTQxOTIsNyArNDMxMSw3IEBACiAgICAgICAgICAgICAgICAgaWYgKFB5RXJyX0V4Y2VwdGlvbk1hdGNoZXMoUHlFeGNfVHlwZUVycm9yKSkgewogICAgICAgICAgICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiUuMjAwcyUuMjAwcyBhcmd1bWVudCBhZnRlciAqICIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtdXN0IGJlIGEgc2VxdWVuY2UsIG5vdCAlMjAwcyIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibXVzdCBiZSBhIHNlcXVlbmNlLCBub3QgJS4yMDBzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5RXZhbF9HZXRGdW5jTmFtZShmdW5jKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5RXZhbF9HZXRGdW5jRGVzYyhmdW5jKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJhcmctPm9iX3R5cGUtPnRwX25hbWUpOwpAQCAtNDM0Miw3ICs0NDYxLDkgQEAKIHN0YXRpYyBpbnQKIGltcG9ydF9hbGxfZnJvbShQeU9iamVjdCAqbG9jYWxzLCBQeU9iamVjdCAqdikKIHsKLSAgICBQeU9iamVjdCAqYWxsID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyh2LCAiX19hbGxfXyIpOworICAgIF9QeV9JREVOVElGSUVSKF9fYWxsX18pOworICAgIF9QeV9JREVOVElGSUVSKF9fZGljdF9fKTsKKyAgICBQeU9iamVjdCAqYWxsID0gX1B5T2JqZWN0X0dldEF0dHJJZCh2LCAmUHlJZF9fX2FsbF9fKTsKICAgICBQeU9iamVjdCAqZGljdCwgKm5hbWUsICp2YWx1ZTsKICAgICBpbnQgc2tpcF9sZWFkaW5nX3VuZGVyc2NvcmVzID0gMDsKICAgICBpbnQgcG9zLCBlcnI7CkBAIC00MzUxLDcgKzQ0NzIsNyBAQAogICAgICAgICBpZiAoIVB5RXJyX0V4Y2VwdGlvbk1hdGNoZXMoUHlFeGNfQXR0cmlidXRlRXJyb3IpKQogICAgICAgICAgICAgcmV0dXJuIC0xOyAvKiBVbmV4cGVjdGVkIGVycm9yICovCiAgICAgICAgIFB5RXJyX0NsZWFyKCk7Ci0gICAgICAgIGRpY3QgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKHYsICJfX2RpY3RfXyIpOworICAgICAgICBkaWN0ID0gX1B5T2JqZWN0X0dldEF0dHJJZCh2LCAmUHlJZF9fX2RpY3RfXyk7CiAgICAgICAgIGlmIChkaWN0ID09IE5VTEwpIHsKICAgICAgICAgICAgIGlmICghUHlFcnJfRXhjZXB0aW9uTWF0Y2hlcyhQeUV4Y19BdHRyaWJ1dGVFcnJvcikpCiAgICAgICAgICAgICAgICAgcmV0dXJuIC0xOwpAQCAtNDM3Nyw3ICs0NDk4LDggQEAKICAgICAgICAgfQogICAgICAgICBpZiAoc2tpcF9sZWFkaW5nX3VuZGVyc2NvcmVzICYmCiAgICAgICAgICAgICBQeVVuaWNvZGVfQ2hlY2sobmFtZSkgJiYKLSAgICAgICAgICAgIFB5VW5pY29kZV9BU19VTklDT0RFKG5hbWUpWzBdID09ICdfJykKKyAgICAgICAgICAgIFB5VW5pY29kZV9SRUFEWShuYW1lKSAhPSAtMSAmJgorICAgICAgICAgICAgUHlVbmljb2RlX1JFQURfQ0hBUihuYW1lLCAwKSA9PSAnXycpCiAgICAgICAgIHsKICAgICAgICAgICAgIFB5X0RFQ1JFRihuYW1lKTsKICAgICAgICAgICAgIGNvbnRpbnVlOwpAQCAtNDQzNywxOSArNDU1OSw5IEBACiAKIHN0YXRpYyBQeU9iamVjdCAqCiB1bmljb2RlX2NvbmNhdGVuYXRlKFB5T2JqZWN0ICp2LCBQeU9iamVjdCAqdywKLSAgICAgICAgICAgICAgICAgICBQeUZyYW1lT2JqZWN0ICpmLCB1bnNpZ25lZCBjaGFyICpuZXh0X2luc3RyKQorICAgICAgICAgICAgICAgICAgICBQeUZyYW1lT2JqZWN0ICpmLCB1bnNpZ25lZCBjaGFyICpuZXh0X2luc3RyKQogewotICAgIC8qIFRoaXMgZnVuY3Rpb24gaW1wbGVtZW50cyAndmFyaWFibGUgKz0gZXhwcicgd2hlbiBib3RoIGFyZ3VtZW50cwotICAgICAgIGFyZSAoVW5pY29kZSkgc3RyaW5ncy4gKi8KLSAgICBQeV9zc2l6ZV90IHZfbGVuID0gUHlVbmljb2RlX0dFVF9TSVpFKHYpOwotICAgIFB5X3NzaXplX3Qgd19sZW4gPSBQeVVuaWNvZGVfR0VUX1NJWkUodyk7Ci0gICAgUHlfc3NpemVfdCBuZXdfbGVuID0gdl9sZW4gKyB3X2xlbjsKLSAgICBpZiAobmV3X2xlbiA8IDApIHsKLSAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX092ZXJmbG93RXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAgICAic3RyaW5ncyBhcmUgdG9vIGxhcmdlIHRvIGNvbmNhdCIpOwotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICB9Ci0KKyAgICBQeU9iamVjdCAqcmVzOwogICAgIGlmIChQeV9SRUZDTlQodikgPT0gMikgewogICAgICAgICAvKiBJbiB0aGUgY29tbW9uIGNhc2UsIHRoZXJlIGFyZSAyIHJlZmVyZW5jZXMgdG8gdGhlIHZhbHVlCiAgICAgICAgICAqIHN0b3JlZCBpbiAndmFyaWFibGUnIHdoZW4gdGhlICs9IGlzIHBlcmZvcm1lZDogb25lIG9uIHRoZQpAQCAtNDQ5MCwzMSArNDYwMiw5IEBACiAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0KLQotICAgIGlmIChQeV9SRUZDTlQodikgPT0gMSAmJiAhUHlVbmljb2RlX0NIRUNLX0lOVEVSTkVEKHYpKSB7Ci0gICAgICAgIC8qIE5vdyB3ZSBvd24gdGhlIGxhc3QgcmVmZXJlbmNlIHRvICd2Jywgc28gd2UgY2FuIHJlc2l6ZSBpdAotICAgICAgICAgKiBpbi1wbGFjZS4KLSAgICAgICAgICovCi0gICAgICAgIGlmIChQeVVuaWNvZGVfUmVzaXplKCZ2LCBuZXdfbGVuKSAhPSAwKSB7Ci0gICAgICAgICAgICAvKiBYWFggaWYgUHlVbmljb2RlX1Jlc2l6ZSgpIGZhaWxzLCAndicgaGFzIGJlZW4KLSAgICAgICAgICAgICAqIGRlYWxsb2NhdGVkIHNvIGl0IGNhbm5vdCBiZSBwdXQgYmFjayBpbnRvCi0gICAgICAgICAgICAgKiAndmFyaWFibGUnLiAgVGhlIE1lbW9yeUVycm9yIGlzIHJhaXNlZCB3aGVuIHRoZXJlCi0gICAgICAgICAgICAgKiBpcyBubyB2YWx1ZSBpbiAndmFyaWFibGUnLCB3aGljaCBtaWdodCAodmVyeQotICAgICAgICAgICAgICogcmVtb3RlbHkpIGJlIGEgY2F1c2Ugb2YgaW5jb21wYXRpYmlsaXRpZXMuCi0gICAgICAgICAgICAgKi8KLSAgICAgICAgICAgIHJldHVybiBOVUxMOwotICAgICAgICB9Ci0gICAgICAgIC8qIGNvcHkgJ3cnIGludG8gdGhlIG5ld2x5IGFsbG9jYXRlZCBhcmVhIG9mICd2JyAqLwotICAgICAgICBtZW1jcHkoUHlVbmljb2RlX0FTX1VOSUNPREUodikgKyB2X2xlbiwKLSAgICAgICAgICAgICAgIFB5VW5pY29kZV9BU19VTklDT0RFKHcpLCB3X2xlbipzaXplb2YoUHlfVU5JQ09ERSkpOwotICAgICAgICByZXR1cm4gdjsKLSAgICB9Ci0gICAgZWxzZSB7Ci0gICAgICAgIC8qIFdoZW4gaW4tcGxhY2UgcmVzaXppbmcgaXMgbm90IGFuIG9wdGlvbi4gKi8KLSAgICAgICAgdyA9IFB5VW5pY29kZV9Db25jYXQodiwgdyk7Ci0gICAgICAgIFB5X0RFQ1JFRih2KTsKLSAgICAgICAgcmV0dXJuIHc7Ci0gICAgfQorICAgIHJlcyA9IHY7CisgICAgUHlVbmljb2RlX0FwcGVuZCgmcmVzLCB3KTsKKyAgICByZXR1cm4gcmVzOwogfQogCiAjaWZkZWYgRFlOQU1JQ19FWEVDVVRJT05fUFJPRklMRQpkaWZmIC0tZ2l0IGEvUHl0aG9uL2NvZGVjcy5jIGIvUHl0aG9uL2NvZGVjcy5jCmluZGV4IGM3ZjRhOWMuLjYwN2ZlZWEgMTAwNjQ0Ci0tLSBhL1B5dGhvbi9jb2RlY3MuYworKysgYi9QeXRob24vY29kZWNzLmMKQEAgLTExLDYgKzExLDggQEAKICNpbmNsdWRlICJQeXRob24uaCIKICNpbmNsdWRlIDxjdHlwZS5oPgogCitjb25zdCBjaGFyICpQeV9oZXhkaWdpdHMgPSAiMDEyMzQ1Njc4OWFiY2RlZiI7CisKIC8qIC0tLSBDb2RlYyBSZWdpc3RyeSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwogCiAvKiBJbXBvcnQgdGhlIHN0YW5kYXJkIGVuY29kaW5ncyBwYWNrYWdlIHdoaWNoIHdpbGwgcmVnaXN0ZXIgdGhlIGZpcnN0CkBAIC00NjUsOSArNDY3LDExIEBACiAKIHN0YXRpYyB2b2lkIHdyb25nX2V4Y2VwdGlvbl90eXBlKFB5T2JqZWN0ICpleGMpCiB7Ci0gICAgUHlPYmplY3QgKnR5cGUgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKGV4YywgIl9fY2xhc3NfXyIpOworICAgIF9QeV9JREVOVElGSUVSKF9fY2xhc3NfXyk7CisgICAgX1B5X0lERU5USUZJRVIoX19uYW1lX18pOworICAgIFB5T2JqZWN0ICp0eXBlID0gX1B5T2JqZWN0X0dldEF0dHJJZChleGMsICZQeUlkX19fY2xhc3NfXyk7CiAgICAgaWYgKHR5cGUgIT0gTlVMTCkgewotICAgICAgICBQeU9iamVjdCAqbmFtZSA9IFB5T2JqZWN0X0dldEF0dHJTdHJpbmcodHlwZSwgIl9fbmFtZV9fIik7CisgICAgICAgIFB5T2JqZWN0ICpuYW1lID0gX1B5T2JqZWN0X0dldEF0dHJJZCh0eXBlLCAmUHlJZF9fX25hbWVfXyk7CiAgICAgICAgIFB5X0RFQ1JFRih0eXBlKTsKICAgICAgICAgaWYgKG5hbWUgIT0gTlVMTCkgewogICAgICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1R5cGVFcnJvciwKQEAgLTUwNiw1NyArNTEwLDU2IEBACiAgICAgICAgIHdyb25nX2V4Y2VwdGlvbl90eXBlKGV4Yyk7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KLSAgICAvKiBvdWNoOiBwYXNzaW5nIE5VTEwsIDAsIHBvcyBnaXZlcyBOb25lIGluc3RlYWQgb2YgdScnICovCi0gICAgcmV0dXJuIFB5X0J1aWxkVmFsdWUoIih1I24pIiwgJmVuZCwgMCwgZW5kKTsKKyAgICByZXR1cm4gUHlfQnVpbGRWYWx1ZSgiKE5uKSIsIFB5VW5pY29kZV9OZXcoMCwgMCksIGVuZCk7CiB9CiAKIAogUHlPYmplY3QgKlB5Q29kZWNfUmVwbGFjZUVycm9ycyhQeU9iamVjdCAqZXhjKQogewotICAgIFB5T2JqZWN0ICpyZXN0dXBsZTsKLSAgICBQeV9zc2l6ZV90IHN0YXJ0OwotICAgIFB5X3NzaXplX3QgZW5kOwotICAgIFB5X3NzaXplX3QgaTsKKyAgICBQeV9zc2l6ZV90IHN0YXJ0LCBlbmQsIGksIGxlbjsKIAogICAgIGlmIChQeU9iamVjdF9Jc0luc3RhbmNlKGV4YywgUHlFeGNfVW5pY29kZUVuY29kZUVycm9yKSkgewogICAgICAgICBQeU9iamVjdCAqcmVzOwotICAgICAgICBQeV9VTklDT0RFICpwOworICAgICAgICBpbnQga2luZDsKKyAgICAgICAgdm9pZCAqZGF0YTsKICAgICAgICAgaWYgKFB5VW5pY29kZUVuY29kZUVycm9yX0dldFN0YXJ0KGV4YywgJnN0YXJ0KSkKICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICBpZiAoUHlVbmljb2RlRW5jb2RlRXJyb3JfR2V0RW5kKGV4YywgJmVuZCkpCiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgcmVzID0gUHlVbmljb2RlX0Zyb21Vbmljb2RlKE5VTEwsIGVuZC1zdGFydCk7CisgICAgICAgIGxlbiA9IGVuZCAtIHN0YXJ0OworICAgICAgICByZXMgPSBQeVVuaWNvZGVfTmV3KGxlbiwgJz8nKTsKICAgICAgICAgaWYgKHJlcyA9PSBOVUxMKQogICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgIGZvciAocCA9IFB5VW5pY29kZV9BU19VTklDT0RFKHJlcyksIGkgPSBzdGFydDsKLSAgICAgICAgICAgIGk8ZW5kOyArK3AsICsraSkKLSAgICAgICAgICAgICpwID0gJz8nOwotICAgICAgICByZXN0dXBsZSA9IFB5X0J1aWxkVmFsdWUoIihPbikiLCByZXMsIGVuZCk7Ci0gICAgICAgIFB5X0RFQ1JFRihyZXMpOwotICAgICAgICByZXR1cm4gcmVzdHVwbGU7CisgICAgICAgIGtpbmQgPSBQeVVuaWNvZGVfS0lORChyZXMpOworICAgICAgICBkYXRhID0gUHlVbmljb2RlX0RBVEEocmVzKTsKKyAgICAgICAgZm9yIChpID0gMDsgaSA8IGxlbjsgKytpKQorICAgICAgICAgICAgUHlVbmljb2RlX1dSSVRFKGtpbmQsIGRhdGEsIGksICc/Jyk7CisgICAgICAgIHJldHVybiBQeV9CdWlsZFZhbHVlKCIoTm4pIiwgcmVzLCBlbmQpOwogICAgIH0KICAgICBlbHNlIGlmIChQeU9iamVjdF9Jc0luc3RhbmNlKGV4YywgUHlFeGNfVW5pY29kZURlY29kZUVycm9yKSkgewotICAgICAgICBQeV9VTklDT0RFIHJlcyA9IFB5X1VOSUNPREVfUkVQTEFDRU1FTlRfQ0hBUkFDVEVSOwogICAgICAgICBpZiAoUHlVbmljb2RlRGVjb2RlRXJyb3JfR2V0RW5kKGV4YywgJmVuZCkpCiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgcmV0dXJuIFB5X0J1aWxkVmFsdWUoIih1I24pIiwgJnJlcywgMSwgZW5kKTsKKyAgICAgICAgcmV0dXJuIFB5X0J1aWxkVmFsdWUoIihDbikiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaW50KVB5X1VOSUNPREVfUkVQTEFDRU1FTlRfQ0hBUkFDVEVSLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmQpOwogICAgIH0KICAgICBlbHNlIGlmIChQeU9iamVjdF9Jc0luc3RhbmNlKGV4YywgUHlFeGNfVW5pY29kZVRyYW5zbGF0ZUVycm9yKSkgewogICAgICAgICBQeU9iamVjdCAqcmVzOwotICAgICAgICBQeV9VTklDT0RFICpwOworICAgICAgICBpbnQga2luZDsKKyAgICAgICAgdm9pZCAqZGF0YTsKICAgICAgICAgaWYgKFB5VW5pY29kZVRyYW5zbGF0ZUVycm9yX0dldFN0YXJ0KGV4YywgJnN0YXJ0KSkKICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICBpZiAoUHlVbmljb2RlVHJhbnNsYXRlRXJyb3JfR2V0RW5kKGV4YywgJmVuZCkpCiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgcmVzID0gUHlVbmljb2RlX0Zyb21Vbmljb2RlKE5VTEwsIGVuZC1zdGFydCk7CisgICAgICAgIGxlbiA9IGVuZCAtIHN0YXJ0OworICAgICAgICByZXMgPSBQeVVuaWNvZGVfTmV3KGxlbiwgUHlfVU5JQ09ERV9SRVBMQUNFTUVOVF9DSEFSQUNURVIpOwogICAgICAgICBpZiAocmVzID09IE5VTEwpCiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgZm9yIChwID0gUHlVbmljb2RlX0FTX1VOSUNPREUocmVzKSwgaSA9IHN0YXJ0OwotICAgICAgICAgICAgaTxlbmQ7ICsrcCwgKytpKQotICAgICAgICAgICAgKnAgPSBQeV9VTklDT0RFX1JFUExBQ0VNRU5UX0NIQVJBQ1RFUjsKLSAgICAgICAgcmVzdHVwbGUgPSBQeV9CdWlsZFZhbHVlKCIoT24pIiwgcmVzLCBlbmQpOwotICAgICAgICBQeV9ERUNSRUYocmVzKTsKLSAgICAgICAgcmV0dXJuIHJlc3R1cGxlOworICAgICAgICBraW5kID0gUHlVbmljb2RlX0tJTkQocmVzKTsKKyAgICAgICAgZGF0YSA9IFB5VW5pY29kZV9EQVRBKHJlcyk7CisgICAgICAgIGZvciAoaT0wOyBpIDwgbGVuOyBpKyspCisgICAgICAgICAgICBQeVVuaWNvZGVfV1JJVEUoa2luZCwgZGF0YSwgaSwgUHlfVU5JQ09ERV9SRVBMQUNFTUVOVF9DSEFSQUNURVIpOworICAgICAgICByZXR1cm4gUHlfQnVpbGRWYWx1ZSgiKE5uKSIsIHJlcywgZW5kKTsKICAgICB9CiAgICAgZWxzZSB7CiAgICAgICAgIHdyb25nX2V4Y2VwdGlvbl90eXBlKGV4Yyk7CkBAIC01NjksODIgKzU3Miw3MiBAQAogICAgIGlmIChQeU9iamVjdF9Jc0luc3RhbmNlKGV4YywgUHlFeGNfVW5pY29kZUVuY29kZUVycm9yKSkgewogICAgICAgICBQeU9iamVjdCAqcmVzdHVwbGU7CiAgICAgICAgIFB5T2JqZWN0ICpvYmplY3Q7CisgICAgICAgIFB5X3NzaXplX3QgaTsKICAgICAgICAgUHlfc3NpemVfdCBzdGFydDsKICAgICAgICAgUHlfc3NpemVfdCBlbmQ7CiAgICAgICAgIFB5T2JqZWN0ICpyZXM7Ci0gICAgICAgIFB5X1VOSUNPREUgKnA7Ci0gICAgICAgIFB5X1VOSUNPREUgKnN0YXJ0cDsKLSAgICAgICAgUHlfVU5JQ09ERSAqb3V0cDsKKyAgICAgICAgdW5zaWduZWQgY2hhciAqb3V0cDsKICAgICAgICAgaW50IHJlc3NpemU7CisgICAgICAgIFB5X1VDUzQgY2g7CiAgICAgICAgIGlmIChQeVVuaWNvZGVFbmNvZGVFcnJvcl9HZXRTdGFydChleGMsICZzdGFydCkpCiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICAgICAgaWYgKFB5VW5pY29kZUVuY29kZUVycm9yX0dldEVuZChleGMsICZlbmQpKQogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgIGlmICghKG9iamVjdCA9IFB5VW5pY29kZUVuY29kZUVycm9yX0dldE9iamVjdChleGMpKSkKICAgICAgICAgICAgIHJldHVybiBOVUxMOwotICAgICAgICBzdGFydHAgPSBQeVVuaWNvZGVfQVNfVU5JQ09ERShvYmplY3QpOwotICAgICAgICBmb3IgKHAgPSBzdGFydHArc3RhcnQsIHJlc3NpemUgPSAwOyBwIDwgc3RhcnRwK2VuZDsgKytwKSB7Ci0gICAgICAgICAgICBpZiAoKnA8MTApCisgICAgICAgIGZvciAoaSA9IHN0YXJ0LCByZXNzaXplID0gMDsgaSA8IGVuZDsgKytpKSB7CisgICAgICAgICAgICAvKiBvYmplY3QgaXMgZ3VhcmFudGVlZCB0byBiZSAicmVhZHkiICovCisgICAgICAgICAgICBjaCA9IFB5VW5pY29kZV9SRUFEX0NIQVIob2JqZWN0LCBpKTsKKyAgICAgICAgICAgIGlmIChjaDwxMCkKICAgICAgICAgICAgICAgICByZXNzaXplICs9IDIrMSsxOwotICAgICAgICAgICAgZWxzZSBpZiAoKnA8MTAwKQorICAgICAgICAgICAgZWxzZSBpZiAoY2g8MTAwKQogICAgICAgICAgICAgICAgIHJlc3NpemUgKz0gMisyKzE7Ci0gICAgICAgICAgICBlbHNlIGlmICgqcDwxMDAwKQorICAgICAgICAgICAgZWxzZSBpZiAoY2g8MTAwMCkKICAgICAgICAgICAgICAgICByZXNzaXplICs9IDIrMysxOwotICAgICAgICAgICAgZWxzZSBpZiAoKnA8MTAwMDApCisgICAgICAgICAgICBlbHNlIGlmIChjaDwxMDAwMCkKICAgICAgICAgICAgICAgICByZXNzaXplICs9IDIrNCsxOwotI2lmbmRlZiBQeV9VTklDT0RFX1dJREUKLSAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGVsc2UgaWYgKGNoPDEwMDAwMCkKICAgICAgICAgICAgICAgICByZXNzaXplICs9IDIrNSsxOwotI2Vsc2UKLSAgICAgICAgICAgIGVsc2UgaWYgKCpwPDEwMDAwMCkKLSAgICAgICAgICAgICAgICByZXNzaXplICs9IDIrNSsxOwotICAgICAgICAgICAgZWxzZSBpZiAoKnA8MTAwMDAwMCkKKyAgICAgICAgICAgIGVsc2UgaWYgKGNoPDEwMDAwMDApCiAgICAgICAgICAgICAgICAgcmVzc2l6ZSArPSAyKzYrMTsKICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICByZXNzaXplICs9IDIrNysxOwotI2VuZGlmCiAgICAgICAgIH0KICAgICAgICAgLyogYWxsb2NhdGUgcmVwbGFjZW1lbnQgKi8KLSAgICAgICAgcmVzID0gUHlVbmljb2RlX0Zyb21Vbmljb2RlKE5VTEwsIHJlc3NpemUpOworICAgICAgICByZXMgPSBQeVVuaWNvZGVfTmV3KHJlc3NpemUsIDEyNyk7CiAgICAgICAgIGlmIChyZXMgPT0gTlVMTCkgewogICAgICAgICAgICAgUHlfREVDUkVGKG9iamVjdCk7CiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICAgICAgfQorICAgICAgICBvdXRwID0gUHlVbmljb2RlXzFCWVRFX0RBVEEocmVzKTsKICAgICAgICAgLyogZ2VuZXJhdGUgcmVwbGFjZW1lbnQgKi8KLSAgICAgICAgZm9yIChwID0gc3RhcnRwK3N0YXJ0LCBvdXRwID0gUHlVbmljb2RlX0FTX1VOSUNPREUocmVzKTsKLSAgICAgICAgICAgIHAgPCBzdGFydHArZW5kOyArK3ApIHsKLSAgICAgICAgICAgIFB5X1VOSUNPREUgYyA9ICpwOworICAgICAgICBmb3IgKGkgPSBzdGFydDsgaSA8IGVuZDsgKytpKSB7CiAgICAgICAgICAgICBpbnQgZGlnaXRzOwogICAgICAgICAgICAgaW50IGJhc2U7CisgICAgICAgICAgICBjaCA9IFB5VW5pY29kZV9SRUFEX0NIQVIob2JqZWN0LCBpKTsKICAgICAgICAgICAgICpvdXRwKysgPSAnJic7CiAgICAgICAgICAgICAqb3V0cCsrID0gJyMnOwotICAgICAgICAgICAgaWYgKCpwPDEwKSB7CisgICAgICAgICAgICBpZiAoY2g8MTApIHsKICAgICAgICAgICAgICAgICBkaWdpdHMgPSAxOwogICAgICAgICAgICAgICAgIGJhc2UgPSAxOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgZWxzZSBpZiAoKnA8MTAwKSB7CisgICAgICAgICAgICBlbHNlIGlmIChjaDwxMDApIHsKICAgICAgICAgICAgICAgICBkaWdpdHMgPSAyOwogICAgICAgICAgICAgICAgIGJhc2UgPSAxMDsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGVsc2UgaWYgKCpwPDEwMDApIHsKKyAgICAgICAgICAgIGVsc2UgaWYgKGNoPDEwMDApIHsKICAgICAgICAgICAgICAgICBkaWdpdHMgPSAzOwogICAgICAgICAgICAgICAgIGJhc2UgPSAxMDA7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBlbHNlIGlmICgqcDwxMDAwMCkgeworICAgICAgICAgICAgZWxzZSBpZiAoY2g8MTAwMDApIHsKICAgICAgICAgICAgICAgICBkaWdpdHMgPSA0OwogICAgICAgICAgICAgICAgIGJhc2UgPSAxMDAwOwogICAgICAgICAgICAgfQotI2lmbmRlZiBQeV9VTklDT0RFX1dJREUKLSAgICAgICAgICAgIGVsc2UgeworICAgICAgICAgICAgZWxzZSBpZiAoY2g8MTAwMDAwKSB7CiAgICAgICAgICAgICAgICAgZGlnaXRzID0gNTsKICAgICAgICAgICAgICAgICBiYXNlID0gMTAwMDA7CiAgICAgICAgICAgICB9Ci0jZWxzZQotICAgICAgICAgICAgZWxzZSBpZiAoKnA8MTAwMDAwKSB7Ci0gICAgICAgICAgICAgICAgZGlnaXRzID0gNTsKLSAgICAgICAgICAgICAgICBiYXNlID0gMTAwMDA7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBlbHNlIGlmICgqcDwxMDAwMDAwKSB7CisgICAgICAgICAgICBlbHNlIGlmIChjaDwxMDAwMDAwKSB7CiAgICAgICAgICAgICAgICAgZGlnaXRzID0gNjsKICAgICAgICAgICAgICAgICBiYXNlID0gMTAwMDAwOwogICAgICAgICAgICAgfQpAQCAtNjUyLDEwICs2NDUsOSBAQAogICAgICAgICAgICAgICAgIGRpZ2l0cyA9IDc7CiAgICAgICAgICAgICAgICAgYmFzZSA9IDEwMDAwMDA7CiAgICAgICAgICAgICB9Ci0jZW5kaWYKICAgICAgICAgICAgIHdoaWxlIChkaWdpdHMtLT4wKSB7Ci0gICAgICAgICAgICAgICAgKm91dHArKyA9ICcwJyArIGMvYmFzZTsKLSAgICAgICAgICAgICAgICBjICU9IGJhc2U7CisgICAgICAgICAgICAgICAgKm91dHArKyA9ICcwJyArIGNoL2Jhc2U7CisgICAgICAgICAgICAgICAgY2ggJT0gYmFzZTsKICAgICAgICAgICAgICAgICBiYXNlIC89IDEwOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgKm91dHArKyA9ICc7JzsKQEAgLTY3MSw4MyArNjYzLDYxIEBACiAgICAgfQogfQogCi1zdGF0aWMgUHlfVU5JQ09ERSBoZXhkaWdpdHNbXSA9IHsKLSAgICAnMCcsICcxJywgJzInLCAnMycsICc0JywgJzUnLCAnNicsICc3JywKLSAgICAnOCcsICc5JywgJ2EnLCAnYicsICdjJywgJ2QnLCAnZScsICdmJwotfTsKLQogUHlPYmplY3QgKlB5Q29kZWNfQmFja3NsYXNoUmVwbGFjZUVycm9ycyhQeU9iamVjdCAqZXhjKQogewotI2lmbmRlZiBQeV9VTklDT0RFX1dJREUKLSNkZWZpbmUgSVNfU1VSUk9HQVRFX1BBSVIocCwgZW5kKSBcCi0gICAgKCpwID49IDB4RDgwMCAmJiAqcCA8PSAweERCRkYgJiYgKHAgKyAxKSA8IGVuZCAmJiBcCi0gICAgICoocCArIDEpID49IDB4REMwMCAmJiAqKHAgKyAxKSA8PSAweERGRkYpCi0jZWxzZQotI2RlZmluZSBJU19TVVJST0dBVEVfUEFJUihwLCBlbmQpIDAKLSNlbmRpZgogICAgIGlmIChQeU9iamVjdF9Jc0luc3RhbmNlKGV4YywgUHlFeGNfVW5pY29kZUVuY29kZUVycm9yKSkgewogICAgICAgICBQeU9iamVjdCAqcmVzdHVwbGU7CiAgICAgICAgIFB5T2JqZWN0ICpvYmplY3Q7CisgICAgICAgIFB5X3NzaXplX3QgaTsKICAgICAgICAgUHlfc3NpemVfdCBzdGFydDsKICAgICAgICAgUHlfc3NpemVfdCBlbmQ7CiAgICAgICAgIFB5T2JqZWN0ICpyZXM7Ci0gICAgICAgIFB5X1VOSUNPREUgKnA7Ci0gICAgICAgIFB5X1VOSUNPREUgKnN0YXJ0cDsKLSAgICAgICAgUHlfVU5JQ09ERSAqb3V0cDsKKyAgICAgICAgdW5zaWduZWQgY2hhciAqb3V0cDsKICAgICAgICAgaW50IHJlc3NpemU7CisgICAgICAgIFB5X1VDUzQgYzsKICAgICAgICAgaWYgKFB5VW5pY29kZUVuY29kZUVycm9yX0dldFN0YXJ0KGV4YywgJnN0YXJ0KSkKICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICBpZiAoUHlVbmljb2RlRW5jb2RlRXJyb3JfR2V0RW5kKGV4YywgJmVuZCkpCiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICAgICAgaWYgKCEob2JqZWN0ID0gUHlVbmljb2RlRW5jb2RlRXJyb3JfR2V0T2JqZWN0KGV4YykpKQogICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgIHN0YXJ0cCA9IFB5VW5pY29kZV9BU19VTklDT0RFKG9iamVjdCk7Ci0gICAgICAgIGZvciAocCA9IHN0YXJ0cCtzdGFydCwgcmVzc2l6ZSA9IDA7IHAgPCBzdGFydHArZW5kOyArK3ApIHsKLSNpZmRlZiBQeV9VTklDT0RFX1dJREUKLSAgICAgICAgICAgIGlmICgqcCA+PSAweDAwMDEwMDAwKQorICAgICAgICBmb3IgKGkgPSBzdGFydCwgcmVzc2l6ZSA9IDA7IGkgPCBlbmQ7ICsraSkgeworICAgICAgICAgICAgLyogb2JqZWN0IGlzIGd1YXJhbnRlZWQgdG8gYmUgInJlYWR5IiAqLworICAgICAgICAgICAgYyA9IFB5VW5pY29kZV9SRUFEX0NIQVIob2JqZWN0LCBpKTsKKyAgICAgICAgICAgIGlmIChjID49IDB4MTAwMDApIHsKICAgICAgICAgICAgICAgICByZXNzaXplICs9IDErMSs4OwotICAgICAgICAgICAgZWxzZQotI2VuZGlmCi0gICAgICAgICAgICBpZiAoKnAgPj0gMHgxMDApIHsKLSAgICAgICAgICAgICAgICBpZiAoSVNfU1VSUk9HQVRFX1BBSVIocCwgc3RhcnRwK2VuZCkpIHsKLSAgICAgICAgICAgICAgICAgICAgcmVzc2l6ZSArPSAxKzErODsKLSAgICAgICAgICAgICAgICAgICAgKytwOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgIHJlc3NpemUgKz0gMSsxKzQ7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBlbHNlIGlmIChjID49IDB4MTAwKSB7CisgICAgICAgICAgICAgICAgcmVzc2l6ZSArPSAxKzErNDsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICByZXNzaXplICs9IDErMSsyOwogICAgICAgICB9Ci0gICAgICAgIHJlcyA9IFB5VW5pY29kZV9Gcm9tVW5pY29kZShOVUxMLCByZXNzaXplKTsKKyAgICAgICAgcmVzID0gUHlVbmljb2RlX05ldyhyZXNzaXplLCAxMjcpOwogICAgICAgICBpZiAocmVzPT1OVUxMKQogICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgIGZvciAocCA9IHN0YXJ0cCtzdGFydCwgb3V0cCA9IFB5VW5pY29kZV9BU19VTklDT0RFKHJlcyk7Ci0gICAgICAgICAgICBwIDwgc3RhcnRwK2VuZDsgKytwKSB7Ci0gICAgICAgICAgICBQeV9VQ1M0IGMgPSAoUHlfVUNTNCkgKnA7CisgICAgICAgIGZvciAoaSA9IHN0YXJ0LCBvdXRwID0gUHlVbmljb2RlXzFCWVRFX0RBVEEocmVzKTsKKyAgICAgICAgICAgIGkgPCBlbmQ7ICsraSkgeworICAgICAgICAgICAgYyA9IFB5VW5pY29kZV9SRUFEX0NIQVIob2JqZWN0LCBpKTsKICAgICAgICAgICAgICpvdXRwKysgPSAnXFwnOwotICAgICAgICAgICAgaWYgKElTX1NVUlJPR0FURV9QQUlSKHAsIHN0YXJ0cCtlbmQpKSB7Ci0gICAgICAgICAgICAgICAgYyA9ICgoKnAgJiAweDNGRikgPDwgMTApICsgKCoocCArIDEpICYgMHgzRkYpICsgMHgxMDAwMDsKLSAgICAgICAgICAgICAgICArK3A7Ci0gICAgICAgICAgICB9CiAgICAgICAgICAgICBpZiAoYyA+PSAweDAwMDEwMDAwKSB7CiAgICAgICAgICAgICAgICAgKm91dHArKyA9ICdVJzsKLSAgICAgICAgICAgICAgICAqb3V0cCsrID0gaGV4ZGlnaXRzWyhjPj4yOCkmMHhmXTsKLSAgICAgICAgICAgICAgICAqb3V0cCsrID0gaGV4ZGlnaXRzWyhjPj4yNCkmMHhmXTsKLSAgICAgICAgICAgICAgICAqb3V0cCsrID0gaGV4ZGlnaXRzWyhjPj4yMCkmMHhmXTsKLSAgICAgICAgICAgICAgICAqb3V0cCsrID0gaGV4ZGlnaXRzWyhjPj4xNikmMHhmXTsKLSAgICAgICAgICAgICAgICAqb3V0cCsrID0gaGV4ZGlnaXRzWyhjPj4xMikmMHhmXTsKLSAgICAgICAgICAgICAgICAqb3V0cCsrID0gaGV4ZGlnaXRzWyhjPj44KSYweGZdOworICAgICAgICAgICAgICAgICpvdXRwKysgPSBQeV9oZXhkaWdpdHNbKGM+PjI4KSYweGZdOworICAgICAgICAgICAgICAgICpvdXRwKysgPSBQeV9oZXhkaWdpdHNbKGM+PjI0KSYweGZdOworICAgICAgICAgICAgICAgICpvdXRwKysgPSBQeV9oZXhkaWdpdHNbKGM+PjIwKSYweGZdOworICAgICAgICAgICAgICAgICpvdXRwKysgPSBQeV9oZXhkaWdpdHNbKGM+PjE2KSYweGZdOworICAgICAgICAgICAgICAgICpvdXRwKysgPSBQeV9oZXhkaWdpdHNbKGM+PjEyKSYweGZdOworICAgICAgICAgICAgICAgICpvdXRwKysgPSBQeV9oZXhkaWdpdHNbKGM+PjgpJjB4Zl07CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBlbHNlIGlmIChjID49IDB4MTAwKSB7CiAgICAgICAgICAgICAgICAgKm91dHArKyA9ICd1JzsKLSAgICAgICAgICAgICAgICAqb3V0cCsrID0gaGV4ZGlnaXRzWyhjPj4xMikmMHhmXTsKLSAgICAgICAgICAgICAgICAqb3V0cCsrID0gaGV4ZGlnaXRzWyhjPj44KSYweGZdOworICAgICAgICAgICAgICAgICpvdXRwKysgPSBQeV9oZXhkaWdpdHNbKGM+PjEyKSYweGZdOworICAgICAgICAgICAgICAgICpvdXRwKysgPSBQeV9oZXhkaWdpdHNbKGM+PjgpJjB4Zl07CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgKm91dHArKyA9ICd4JzsKLSAgICAgICAgICAgICpvdXRwKysgPSBoZXhkaWdpdHNbKGM+PjQpJjB4Zl07Ci0gICAgICAgICAgICAqb3V0cCsrID0gaGV4ZGlnaXRzW2MmMHhmXTsKKyAgICAgICAgICAgICpvdXRwKysgPSBQeV9oZXhkaWdpdHNbKGM+PjQpJjB4Zl07CisgICAgICAgICAgICAqb3V0cCsrID0gUHlfaGV4ZGlnaXRzW2MmMHhmXTsKICAgICAgICAgfQogCiAgICAgICAgIHJlc3R1cGxlID0gUHlfQnVpbGRWYWx1ZSgiKE9uKSIsIHJlcywgZW5kKTsKQEAgLTc1OSw3ICs3MjksNiBAQAogICAgICAgICB3cm9uZ19leGNlcHRpb25fdHlwZShleGMpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9Ci0jdW5kZWYgSVNfU1VSUk9HQVRFX1BBSVIKIH0KIAogLyogVGhpcyBoYW5kbGVyIGlzIGRlY2xhcmVkIHN0YXRpYyB1bnRpbCBzb21lb25lIGRlbW9uc3RyYXRlcwpAQCAtNzY5LDEyICs3MzgsMTEgQEAKIHsKICAgICBQeU9iamVjdCAqcmVzdHVwbGU7CiAgICAgUHlPYmplY3QgKm9iamVjdDsKKyAgICBQeV9zc2l6ZV90IGk7CiAgICAgUHlfc3NpemVfdCBzdGFydDsKICAgICBQeV9zc2l6ZV90IGVuZDsKICAgICBQeU9iamVjdCAqcmVzOwogICAgIGlmIChQeU9iamVjdF9Jc0luc3RhbmNlKGV4YywgUHlFeGNfVW5pY29kZUVuY29kZUVycm9yKSkgewotICAgICAgICBQeV9VTklDT0RFICpwOwotICAgICAgICBQeV9VTklDT0RFICpzdGFydHA7CiAgICAgICAgIGNoYXIgKm91dHA7CiAgICAgICAgIGlmIChQeVVuaWNvZGVFbmNvZGVFcnJvcl9HZXRTdGFydChleGMsICZzdGFydCkpCiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKQEAgLTc4MiwxNSArNzUwLDE1IEBACiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICAgICAgaWYgKCEob2JqZWN0ID0gUHlVbmljb2RlRW5jb2RlRXJyb3JfR2V0T2JqZWN0KGV4YykpKQogICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgIHN0YXJ0cCA9IFB5VW5pY29kZV9BU19VTklDT0RFKG9iamVjdCk7CiAgICAgICAgIHJlcyA9IFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUoTlVMTCwgMyooZW5kLXN0YXJ0KSk7CiAgICAgICAgIGlmICghcmVzKSB7CiAgICAgICAgICAgICBQeV9ERUNSRUYob2JqZWN0KTsKICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICB9CiAgICAgICAgIG91dHAgPSBQeUJ5dGVzX0FzU3RyaW5nKHJlcyk7Ci0gICAgICAgIGZvciAocCA9IHN0YXJ0cCtzdGFydDsgcCA8IHN0YXJ0cCtlbmQ7IHArKykgewotICAgICAgICAgICAgUHlfVU5JQ09ERSBjaCA9ICpwOworICAgICAgICBmb3IgKGkgPSBzdGFydDsgaSA8IGVuZDsgaSsrKSB7CisgICAgICAgICAgICAvKiBvYmplY3QgaXMgZ3VhcmFudGVlZCB0byBiZSAicmVhZHkiICovCisgICAgICAgICAgICBQeV9VQ1M0IGNoID0gUHlVbmljb2RlX1JFQURfQ0hBUihvYmplY3QsIGkpOwogICAgICAgICAgICAgaWYgKGNoIDwgMHhkODAwIHx8IGNoID4gMHhkZmZmKSB7CiAgICAgICAgICAgICAgICAgLyogTm90IGEgc3Vycm9nYXRlLCBmYWlsIHdpdGggb3JpZ2luYWwgZXhjZXB0aW9uICovCiAgICAgICAgICAgICAgICAgUHlFcnJfU2V0T2JqZWN0KFB5RXhjZXB0aW9uSW5zdGFuY2VfQ2xhc3MoZXhjKSwgZXhjKTsKQEAgLTgwOSw3ICs3NzcsNyBAQAogICAgIH0KICAgICBlbHNlIGlmIChQeU9iamVjdF9Jc0luc3RhbmNlKGV4YywgUHlFeGNfVW5pY29kZURlY29kZUVycm9yKSkgewogICAgICAgICB1bnNpZ25lZCBjaGFyICpwOwotICAgICAgICBQeV9VTklDT0RFIGNoID0gMDsKKyAgICAgICAgUHlfVUNTNCBjaCA9IDA7CiAgICAgICAgIGlmIChQeVVuaWNvZGVEZWNvZGVFcnJvcl9HZXRTdGFydChleGMsICZzdGFydCkpCiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICAgICAgaWYgKCEob2JqZWN0ID0gUHlVbmljb2RlRGVjb2RlRXJyb3JfR2V0T2JqZWN0KGV4YykpKQpAQCAtODM1LDcgKzgwMywxMCBAQAogICAgICAgICAgICAgUHlFcnJfU2V0T2JqZWN0KFB5RXhjZXB0aW9uSW5zdGFuY2VfQ2xhc3MoZXhjKSwgZXhjKTsKICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICB9Ci0gICAgICAgIHJldHVybiBQeV9CdWlsZFZhbHVlKCIodSNuKSIsICZjaCwgMSwgc3RhcnQrMyk7CisgICAgICAgIHJlcyA9IFB5VW5pY29kZV9Gcm9tT3JkaW5hbChjaCk7CisgICAgICAgIGlmIChyZXMgPT0gTlVMTCkKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICByZXR1cm4gUHlfQnVpbGRWYWx1ZSgiKE5uKSIsIHJlcywgc3RhcnQrMyk7CiAgICAgfQogICAgIGVsc2UgewogICAgICAgICB3cm9uZ19leGNlcHRpb25fdHlwZShleGMpOwpAQCAtODQ4LDEyICs4MTksMTEgQEAKIHsKICAgICBQeU9iamVjdCAqcmVzdHVwbGU7CiAgICAgUHlPYmplY3QgKm9iamVjdDsKKyAgICBQeV9zc2l6ZV90IGk7CiAgICAgUHlfc3NpemVfdCBzdGFydDsKICAgICBQeV9zc2l6ZV90IGVuZDsKICAgICBQeU9iamVjdCAqcmVzOwogICAgIGlmIChQeU9iamVjdF9Jc0luc3RhbmNlKGV4YywgUHlFeGNfVW5pY29kZUVuY29kZUVycm9yKSkgewotICAgICAgICBQeV9VTklDT0RFICpwOwotICAgICAgICBQeV9VTklDT0RFICpzdGFydHA7CiAgICAgICAgIGNoYXIgKm91dHA7CiAgICAgICAgIGlmIChQeVVuaWNvZGVFbmNvZGVFcnJvcl9HZXRTdGFydChleGMsICZzdGFydCkpCiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKQEAgLTg2MSwxNSArODMxLDE1IEBACiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICAgICAgaWYgKCEob2JqZWN0ID0gUHlVbmljb2RlRW5jb2RlRXJyb3JfR2V0T2JqZWN0KGV4YykpKQogICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgIHN0YXJ0cCA9IFB5VW5pY29kZV9BU19VTklDT0RFKG9iamVjdCk7CiAgICAgICAgIHJlcyA9IFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUoTlVMTCwgZW5kLXN0YXJ0KTsKICAgICAgICAgaWYgKCFyZXMpIHsKICAgICAgICAgICAgIFB5X0RFQ1JFRihvYmplY3QpOwogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgIH0KICAgICAgICAgb3V0cCA9IFB5Qnl0ZXNfQXNTdHJpbmcocmVzKTsKLSAgICAgICAgZm9yIChwID0gc3RhcnRwK3N0YXJ0OyBwIDwgc3RhcnRwK2VuZDsgcCsrKSB7Ci0gICAgICAgICAgICBQeV9VTklDT0RFIGNoID0gKnA7CisgICAgICAgIGZvciAoaSA9IHN0YXJ0OyBpIDwgZW5kOyBpKyspIHsKKyAgICAgICAgICAgIC8qIG9iamVjdCBpcyBndWFyYW50ZWVkIHRvIGJlICJyZWFkeSIgKi8KKyAgICAgICAgICAgIFB5X1VDUzQgY2ggPSBQeVVuaWNvZGVfUkVBRF9DSEFSKG9iamVjdCwgaSk7CiAgICAgICAgICAgICBpZiAoY2ggPCAweGRjODAgfHwgY2ggPiAweGRjZmYpIHsKICAgICAgICAgICAgICAgICAvKiBOb3QgYSBVVEYtOGIgc3Vycm9nYXRlLCBmYWlsIHdpdGggb3JpZ2luYWwgZXhjZXB0aW9uICovCiAgICAgICAgICAgICAgICAgUHlFcnJfU2V0T2JqZWN0KFB5RXhjZXB0aW9uSW5zdGFuY2VfQ2xhc3MoZXhjKSwgZXhjKTsKQEAgLTg4NSw4ICs4NTUsOSBAQAogICAgICAgICByZXR1cm4gcmVzdHVwbGU7CiAgICAgfQogICAgIGVsc2UgaWYgKFB5T2JqZWN0X0lzSW5zdGFuY2UoZXhjLCBQeUV4Y19Vbmljb2RlRGVjb2RlRXJyb3IpKSB7CisgICAgICAgIFB5T2JqZWN0ICpzdHI7CiAgICAgICAgIHVuc2lnbmVkIGNoYXIgKnA7Ci0gICAgICAgIFB5X1VOSUNPREUgY2hbNF07IC8qIGRlY29kZSB1cCB0byA0IGJhZCBieXRlcy4gKi8KKyAgICAgICAgUHlfVUNTMiBjaFs0XTsgLyogZGVjb2RlIHVwIHRvIDQgYmFkIGJ5dGVzLiAqLwogICAgICAgICBpbnQgY29uc3VtZWQgPSAwOwogICAgICAgICBpZiAoUHlVbmljb2RlRGVjb2RlRXJyb3JfR2V0U3RhcnQoZXhjLCAmc3RhcnQpKQogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CkBAIC05MTEsNyArODgyLDEwIEBACiAgICAgICAgICAgICBQeUVycl9TZXRPYmplY3QoUHlFeGNlcHRpb25JbnN0YW5jZV9DbGFzcyhleGMpLCBleGMpOwogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgIH0KLSAgICAgICAgcmV0dXJuIFB5X0J1aWxkVmFsdWUoIih1I24pIiwgY2gsIGNvbnN1bWVkLCBzdGFydCtjb25zdW1lZCk7CisgICAgICAgIHN0ciA9IFB5VW5pY29kZV9Gcm9tS2luZEFuZERhdGEoUHlVbmljb2RlXzJCWVRFX0tJTkQsIGNoLCBjb25zdW1lZCk7CisgICAgICAgIGlmIChzdHIgPT0gTlVMTCkKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICByZXR1cm4gUHlfQnVpbGRWYWx1ZSgiKE5uKSIsIHN0ciwgc3RhcnQrY29uc3VtZWQpOwogICAgIH0KICAgICBlbHNlIHsKICAgICAgICAgd3JvbmdfZXhjZXB0aW9uX3R5cGUoZXhjKTsKQEAgLTEwNDgsNyArMTAyMiw3IEBACiAgICAgaW50ZXJwLT5jb2RlY19lcnJvcl9yZWdpc3RyeSA9IFB5RGljdF9OZXcoKTsKIAogICAgIGlmIChpbnRlcnAtPmNvZGVjX2Vycm9yX3JlZ2lzdHJ5KSB7Ci0gICAgICAgIGZvciAoaSA9IDA7IGkgPCBzaXplb2YobWV0aG9kcykvc2l6ZW9mKG1ldGhvZHNbMF0pOyArK2kpIHsKKyAgICAgICAgZm9yIChpID0gMDsgaSA8IFB5X0FSUkFZX0xFTkdUSChtZXRob2RzKTsgKytpKSB7CiAgICAgICAgICAgICBQeU9iamVjdCAqZnVuYyA9IFB5Q0Z1bmN0aW9uX05ldygmbWV0aG9kc1tpXS5kZWYsIE5VTEwpOwogICAgICAgICAgICAgaW50IHJlczsKICAgICAgICAgICAgIGlmICghZnVuYykKZGlmZiAtLWdpdCBhL1B5dGhvbi9jb21waWxlLmMgYi9QeXRob24vY29tcGlsZS5jCmluZGV4IGJhNTkzYTAuLjE3MjJhNWYgMTAwNjQ0Ci0tLSBhL1B5dGhvbi9jb21waWxlLmMKKysrIGIvUHl0aG9uL2NvbXBpbGUuYwpAQCAtOTAsNiArOTAsMTMgQEAKICAgICBiYXNpY2Jsb2NrICpmYl9ibG9jazsKIH07CiAKK2VudW0geworICAgIENPTVBJTEVSX1NDT1BFX01PRFVMRSwKKyAgICBDT01QSUxFUl9TQ09QRV9DTEFTUywKKyAgICBDT01QSUxFUl9TQ09QRV9GVU5DVElPTiwKKyAgICBDT01QSUxFUl9TQ09QRV9DT01QUkVIRU5TSU9OLAorfTsKKwogLyogVGhlIGZvbGxvd2luZyBpdGVtcyBjaGFuZ2Ugb24gZW50cnkgYW5kIGV4aXQgb2YgY29kZSBibG9ja3MuCiAgICBUaGV5IG11c3QgYmUgc2F2ZWQgYW5kIHJlc3RvcmVkIHdoZW4gcmV0dXJuaW5nIHRvIGEgYmxvY2suCiAqLwpAQCAtOTcsNiArMTA0LDkgQEAKICAgICBQeVNURW50cnlPYmplY3QgKnVfc3RlOwogCiAgICAgUHlPYmplY3QgKnVfbmFtZTsKKyAgICBQeU9iamVjdCAqdV9xdWFsbmFtZTsgIC8qIGRvdC1zZXBhcmF0ZWQgcXVhbGlmaWVkIG5hbWUgKGxhenkpICovCisgICAgaW50IHVfc2NvcGVfdHlwZTsKKwogICAgIC8qIFRoZSBmb2xsb3dpbmcgZmllbGRzIGFyZSBkaWN0cyB0aGF0IG1hcCBvYmplY3RzIHRvCiAgICAgICAgdGhlIGluZGV4IG9mIHRoZW0gaW4gY29fWFhYLiAgICAgIFRoZSBpbmRleCBpcyB1c2VkIGFzCiAgICAgICAgdGhlIGFyZ3VtZW50IGZvciBvcGNvZGVzIHRoYXQgcmVmZXIgdG8gdGhvc2UgY29sbGVjdGlvbnMuCkBAIC0xMzUsNiArMTQ1LDcgQEAKIAogc3RydWN0IGNvbXBpbGVyIHsKICAgICBjb25zdCBjaGFyICpjX2ZpbGVuYW1lOworICAgIFB5T2JqZWN0ICpjX2ZpbGVuYW1lX29iajsKICAgICBzdHJ1Y3Qgc3ltdGFibGUgKmNfc3Q7CiAgICAgUHlGdXR1cmVGZWF0dXJlcyAqY19mdXR1cmU7IC8qIHBvaW50ZXIgdG8gbW9kdWxlJ3MgX19mdXR1cmVfXyAqLwogICAgIFB5Q29tcGlsZXJGbGFncyAqY19mbGFnczsKQEAgLTE0OCw3ICsxNTksNyBAQAogICAgIFB5QXJlbmEgKmNfYXJlbmE7ICAgICAgICAgICAgLyogcG9pbnRlciB0byBtZW1vcnkgYWxsb2NhdGlvbiBhcmVuYSAqLwogfTsKIAotc3RhdGljIGludCBjb21waWxlcl9lbnRlcl9zY29wZShzdHJ1Y3QgY29tcGlsZXIgKiwgaWRlbnRpZmllciwgdm9pZCAqLCBpbnQpOworc3RhdGljIGludCBjb21waWxlcl9lbnRlcl9zY29wZShzdHJ1Y3QgY29tcGlsZXIgKiwgaWRlbnRpZmllciwgaW50LCB2b2lkICosIGludCk7CiBzdGF0aWMgdm9pZCBjb21waWxlcl9mcmVlKHN0cnVjdCBjb21waWxlciAqKTsKIHN0YXRpYyBiYXNpY2Jsb2NrICpjb21waWxlcl9uZXdfYmxvY2soc3RydWN0IGNvbXBpbGVyICopOwogc3RhdGljIGludCBjb21waWxlcl9uZXh0X2luc3RyKHN0cnVjdCBjb21waWxlciAqLCBiYXNpY2Jsb2NrICopOwpAQCAtMTc4LDEyICsxODksMTMgQEAKIHN0YXRpYyBpbnQgaW5wbGFjZV9iaW5vcChzdHJ1Y3QgY29tcGlsZXIgKiwgb3BlcmF0b3JfdHkpOwogc3RhdGljIGludCBleHByX2NvbnN0YW50KHN0cnVjdCBjb21waWxlciAqLCBleHByX3R5KTsKIAotc3RhdGljIGludCBjb21waWxlcl93aXRoKHN0cnVjdCBjb21waWxlciAqLCBzdG10X3R5KTsKK3N0YXRpYyBpbnQgY29tcGlsZXJfd2l0aChzdHJ1Y3QgY29tcGlsZXIgKiwgc3RtdF90eSwgaW50KTsKIHN0YXRpYyBpbnQgY29tcGlsZXJfY2FsbF9oZWxwZXIoc3RydWN0IGNvbXBpbGVyICpjLCBpbnQgbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXNkbF9zZXEgKmFyZ3MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFzZGxfc2VxICprZXl3b3JkcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwcl90eSBzdGFyYXJncywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwcl90eSBrd2FyZ3MpOworc3RhdGljIGludCBjb21waWxlcl90cnlfZXhjZXB0KHN0cnVjdCBjb21waWxlciAqLCBzdG10X3R5KTsKIAogc3RhdGljIFB5Q29kZU9iamVjdCAqYXNzZW1ibGUoc3RydWN0IGNvbXBpbGVyICosIGludCBhZGROb25lKTsKIHN0YXRpYyBQeU9iamVjdCAqX19kb2NfXzsKQEAgLTE5NSwxNiArMjA3LDE3IEBACiB7CiAgICAgLyogTmFtZSBtYW5nbGluZzogX19wcml2YXRlIGJlY29tZXMgX2NsYXNzbmFtZV9fcHJpdmF0ZS4KICAgICAgICBUaGlzIGlzIGluZGVwZW5kZW50IGZyb20gaG93IHRoZSBuYW1lIGlzIHVzZWQuICovCi0gICAgY29uc3QgUHlfVU5JQ09ERSAqcCwgKm5hbWUgPSBQeVVuaWNvZGVfQVNfVU5JQ09ERShpZGVudCk7Ci0gICAgUHlfVU5JQ09ERSAqYnVmZmVyOwotICAgIHNpemVfdCBubGVuLCBwbGVuOworICAgIFB5T2JqZWN0ICpyZXN1bHQ7CisgICAgc2l6ZV90IG5sZW4sIHBsZW4sIGlwcml2OworICAgIFB5X1VDUzQgbWF4Y2hhcjsKICAgICBpZiAocHJpdmF0ZW9iaiA9PSBOVUxMIHx8ICFQeVVuaWNvZGVfQ2hlY2socHJpdmF0ZW9iaikgfHwKLSAgICAgICAgbmFtZSA9PSBOVUxMIHx8IG5hbWVbMF0gIT0gJ18nIHx8IG5hbWVbMV0gIT0gJ18nKSB7CisgICAgICAgIFB5VW5pY29kZV9SRUFEX0NIQVIoaWRlbnQsIDApICE9ICdfJyB8fAorICAgICAgICBQeVVuaWNvZGVfUkVBRF9DSEFSKGlkZW50LCAxKSAhPSAnXycpIHsKICAgICAgICAgUHlfSU5DUkVGKGlkZW50KTsKICAgICAgICAgcmV0dXJuIGlkZW50OwogICAgIH0KLSAgICBwID0gUHlVbmljb2RlX0FTX1VOSUNPREUocHJpdmF0ZW9iaik7Ci0gICAgbmxlbiA9IFB5X1VOSUNPREVfc3RybGVuKG5hbWUpOworICAgIG5sZW4gPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChpZGVudCk7CisgICAgcGxlbiA9IFB5VW5pY29kZV9HRVRfTEVOR1RIKHByaXZhdGVvYmopOwogICAgIC8qIERvbid0IG1hbmdsZSBfX2lkX18gb3IgbmFtZXMgd2l0aCBkb3RzLgogCiAgICAgICAgVGhlIG9ubHkgdGltZSBhIG5hbWUgd2l0aCBhIGRvdCBjYW4gb2NjdXIgaXMgd2hlbgpAQCAtMjE0LDMyICsyMjcsNDMgQEAKICAgICAgICBUT0RPKGpoeWx0b24pOiBEZWNpZGUgd2hldGhlciB3ZSB3YW50IHRvIHN1cHBvcnQKICAgICAgICBtYW5nbGluZyBvZiB0aGUgbW9kdWxlIG5hbWUsIGUuZy4gX19NLlguCiAgICAgKi8KLSAgICBpZiAoKG5hbWVbbmxlbi0xXSA9PSAnXycgJiYgbmFtZVtubGVuLTJdID09ICdfJykKLSAgICAgICAgfHwgUHlfVU5JQ09ERV9zdHJjaHIobmFtZSwgJy4nKSkgeworICAgIGlmICgoUHlVbmljb2RlX1JFQURfQ0hBUihpZGVudCwgbmxlbi0xKSA9PSAnXycgJiYKKyAgICAgICAgIFB5VW5pY29kZV9SRUFEX0NIQVIoaWRlbnQsIG5sZW4tMikgPT0gJ18nKSB8fAorICAgICAgICBQeVVuaWNvZGVfRmluZENoYXIoaWRlbnQsICcuJywgMCwgbmxlbiwgMSkgIT0gLTEpIHsKICAgICAgICAgUHlfSU5DUkVGKGlkZW50KTsKICAgICAgICAgcmV0dXJuIGlkZW50OyAvKiBEb24ndCBtYW5nbGUgX193aGF0ZXZlcl9fICovCiAgICAgfQogICAgIC8qIFN0cmlwIGxlYWRpbmcgdW5kZXJzY29yZXMgZnJvbSBjbGFzcyBuYW1lICovCi0gICAgd2hpbGUgKCpwID09ICdfJykKLSAgICAgICAgcCsrOwotICAgIGlmICgqcCA9PSAwKSB7CisgICAgaXByaXYgPSAwOworICAgIHdoaWxlIChQeVVuaWNvZGVfUkVBRF9DSEFSKHByaXZhdGVvYmosIGlwcml2KSA9PSAnXycpCisgICAgICAgIGlwcml2Kys7CisgICAgaWYgKGlwcml2ID09IHBsZW4pIHsKICAgICAgICAgUHlfSU5DUkVGKGlkZW50KTsKICAgICAgICAgcmV0dXJuIGlkZW50OyAvKiBEb24ndCBtYW5nbGUgaWYgY2xhc3MgaXMganVzdCB1bmRlcnNjb3JlcyAqLwogICAgIH0KLSAgICBwbGVuID0gUHlfVU5JQ09ERV9zdHJsZW4ocCk7CisgICAgcGxlbiAtPSBpcHJpdjsKIAogICAgIGFzc2VydCgxIDw9IFBZX1NTSVpFX1RfTUFYIC0gbmxlbik7CiAgICAgYXNzZXJ0KDEgKyBubGVuIDw9IFBZX1NTSVpFX1RfTUFYIC0gcGxlbik7CiAKLSAgICBpZGVudCA9IFB5VW5pY29kZV9Gcm9tU3RyaW5nQW5kU2l6ZShOVUxMLCAxICsgbmxlbiArIHBsZW4pOwotICAgIGlmICghaWRlbnQpCisgICAgbWF4Y2hhciA9IFB5VW5pY29kZV9NQVhfQ0hBUl9WQUxVRShpZGVudCk7CisgICAgaWYgKFB5VW5pY29kZV9NQVhfQ0hBUl9WQUxVRShwcml2YXRlb2JqKSA+IG1heGNoYXIpCisgICAgICAgIG1heGNoYXIgPSBQeVVuaWNvZGVfTUFYX0NIQVJfVkFMVUUocHJpdmF0ZW9iaik7CisKKyAgICByZXN1bHQgPSBQeVVuaWNvZGVfTmV3KDEgKyBubGVuICsgcGxlbiwgbWF4Y2hhcik7CisgICAgaWYgKCFyZXN1bHQpCiAgICAgICAgIHJldHVybiAwOwotICAgIC8qIGlkZW50ID0gIl8iICsgcFs6cGxlbl0gKyBuYW1lICMgaS5lLiAxK3BsZW4rbmxlbiBieXRlcyAqLwotICAgIGJ1ZmZlciA9IFB5VW5pY29kZV9BU19VTklDT0RFKGlkZW50KTsKLSAgICBidWZmZXJbMF0gPSAnXyc7Ci0gICAgUHlfVU5JQ09ERV9zdHJuY3B5KGJ1ZmZlcisxLCBwLCBwbGVuKTsKLSAgICBQeV9VTklDT0RFX3N0cmNweShidWZmZXIrMStwbGVuLCBuYW1lKTsKLSAgICByZXR1cm4gaWRlbnQ7CisgICAgLyogaWRlbnQgPSAiXyIgKyBwcml2W2lwcml2Ol0gKyBpZGVudCAjIGkuZS4gMStwbGVuK25sZW4gYnl0ZXMgKi8KKyAgICBQeVVuaWNvZGVfV1JJVEUoUHlVbmljb2RlX0tJTkQocmVzdWx0KSwgUHlVbmljb2RlX0RBVEEocmVzdWx0KSwgMCwgJ18nKTsKKyAgICBpZiAoUHlVbmljb2RlX0NvcHlDaGFyYWN0ZXJzKHJlc3VsdCwgMSwgcHJpdmF0ZW9iaiwgaXByaXYsIHBsZW4pIDwgMCkgeworICAgICAgICBQeV9ERUNSRUYocmVzdWx0KTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorICAgIGlmIChQeVVuaWNvZGVfQ29weUNoYXJhY3RlcnMocmVzdWx0LCBwbGVuKzEsIGlkZW50LCAwLCBubGVuKSA8IDApIHsKKyAgICAgICAgUHlfREVDUkVGKHJlc3VsdCk7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKyAgICByZXR1cm4gcmVzdWx0OwogfQogCiBzdGF0aWMgaW50CkBAIC0yNzIsNiArMjk2LDkgQEAKICAgICBpZiAoIWNvbXBpbGVyX2luaXQoJmMpKQogICAgICAgICByZXR1cm4gTlVMTDsKICAgICBjLmNfZmlsZW5hbWUgPSBmaWxlbmFtZTsKKyAgICBjLmNfZmlsZW5hbWVfb2JqID0gUHlVbmljb2RlX0RlY29kZUZTRGVmYXVsdChmaWxlbmFtZSk7CisgICAgaWYgKCFjLmNfZmlsZW5hbWVfb2JqKQorICAgICAgICBnb3RvIGZpbmFsbHk7CiAgICAgYy5jX2FyZW5hID0gYXJlbmE7CiAgICAgYy5jX2Z1dHVyZSA9IFB5RnV0dXJlX0Zyb21BU1QobW9kLCBmaWxlbmFtZSk7CiAgICAgaWYgKGMuY19mdXR1cmUgPT0gTlVMTCkKQEAgLTMyNCw2ICszNTEsOCBAQAogICAgICAgICBQeVN5bXRhYmxlX0ZyZWUoYy0+Y19zdCk7CiAgICAgaWYgKGMtPmNfZnV0dXJlKQogICAgICAgICBQeU9iamVjdF9GcmVlKGMtPmNfZnV0dXJlKTsKKyAgICBpZiAoYy0+Y19maWxlbmFtZV9vYmopCisgICAgICAgIFB5X0RFQ1JFRihjLT5jX2ZpbGVuYW1lX29iaik7CiAgICAgUHlfREVDUkVGKGMtPmNfc3RhY2spOwogfQogCkBAIC00MzgsNiArNDY3LDcgQEAKICAgICB9CiAgICAgUHlfQ0xFQVIodS0+dV9zdGUpOwogICAgIFB5X0NMRUFSKHUtPnVfbmFtZSk7CisgICAgUHlfQ0xFQVIodS0+dV9xdWFsbmFtZSk7CiAgICAgUHlfQ0xFQVIodS0+dV9jb25zdHMpOwogICAgIFB5X0NMRUFSKHUtPnVfbmFtZXMpOwogICAgIFB5X0NMRUFSKHUtPnVfdmFybmFtZXMpOwpAQCAtNDQ4LDggKzQ3OCw4IEBACiB9CiAKIHN0YXRpYyBpbnQKLWNvbXBpbGVyX2VudGVyX3Njb3BlKHN0cnVjdCBjb21waWxlciAqYywgaWRlbnRpZmllciBuYW1lLCB2b2lkICprZXksCi0gICAgICAgICAgICAgICAgICAgICBpbnQgbGluZW5vKQorY29tcGlsZXJfZW50ZXJfc2NvcGUoc3RydWN0IGNvbXBpbGVyICpjLCBpZGVudGlmaWVyIG5hbWUsCisgICAgICAgICAgICAgICAgICAgICBpbnQgc2NvcGVfdHlwZSwgdm9pZCAqa2V5LCBpbnQgbGluZW5vKQogewogICAgIHN0cnVjdCBjb21waWxlcl91bml0ICp1OwogCkBAIC00NjAsNiArNDkwLDcgQEAKICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQogICAgIG1lbXNldCh1LCAwLCBzaXplb2Yoc3RydWN0IGNvbXBpbGVyX3VuaXQpKTsKKyAgICB1LT51X3Njb3BlX3R5cGUgPSBzY29wZV90eXBlOwogICAgIHUtPnVfYXJnY291bnQgPSAwOwogICAgIHUtPnVfa3dvbmx5YXJnY291bnQgPSAwOwogICAgIHUtPnVfc3RlID0gUHlTeW10YWJsZV9Mb29rdXAoYy0+Y19zdCwga2V5KTsKQEAgLTU0Nyw2ICs1NzgsNTkgQEAKIAogfQogCitzdGF0aWMgUHlPYmplY3QgKgorY29tcGlsZXJfc2NvcGVfcXVhbG5hbWUoc3RydWN0IGNvbXBpbGVyICpjKQoreworICAgIFB5X3NzaXplX3Qgc3RhY2tfc2l6ZSwgaTsKKyAgICBfUHlfc3RhdGljX3N0cmluZyhkb3QsICIuIik7CisgICAgX1B5X3N0YXRpY19zdHJpbmcobG9jYWxzLCAiPGxvY2Fscz4iKTsKKyAgICBzdHJ1Y3QgY29tcGlsZXJfdW5pdCAqdTsKKyAgICBQeU9iamVjdCAqY2Fwc3VsZSwgKm5hbWUsICpzZXEsICpkb3Rfc3RyLCAqbG9jYWxzX3N0cjsKKworICAgIHUgPSBjLT51OworICAgIGlmICh1LT51X3F1YWxuYW1lICE9IE5VTEwpIHsKKyAgICAgICAgUHlfSU5DUkVGKHUtPnVfcXVhbG5hbWUpOworICAgICAgICByZXR1cm4gdS0+dV9xdWFsbmFtZTsKKyAgICB9CisKKyAgICBzZXEgPSBQeUxpc3RfTmV3KDApOworICAgIGlmIChzZXEgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICBzdGFja19zaXplID0gUHlMaXN0X0dFVF9TSVpFKGMtPmNfc3RhY2spOworICAgIGZvciAoaSA9IDA7IGkgPCBzdGFja19zaXplOyBpKyspIHsKKyAgICAgICAgY2Fwc3VsZSA9IFB5TGlzdF9HRVRfSVRFTShjLT5jX3N0YWNrLCBpKTsKKyAgICAgICAgdSA9IChzdHJ1Y3QgY29tcGlsZXJfdW5pdCAqKVB5Q2Fwc3VsZV9HZXRQb2ludGVyKGNhcHN1bGUsIENPTVBJTEVSX0NBUFNVTEVfTkFNRV9DT01QSUxFUl9VTklUKTsKKyAgICAgICAgYXNzZXJ0KHUpOworICAgICAgICBpZiAodS0+dV9zY29wZV90eXBlID09IENPTVBJTEVSX1NDT1BFX01PRFVMRSkKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICBpZiAoUHlMaXN0X0FwcGVuZChzZXEsIHUtPnVfbmFtZSkpCisgICAgICAgICAgICBnb3RvIF9lcnJvcjsKKyAgICAgICAgaWYgKHUtPnVfc2NvcGVfdHlwZSA9PSBDT01QSUxFUl9TQ09QRV9GVU5DVElPTikgeworICAgICAgICAgICAgbG9jYWxzX3N0ciA9IF9QeVVuaWNvZGVfRnJvbUlkKCZsb2NhbHMpOworICAgICAgICAgICAgaWYgKGxvY2Fsc19zdHIgPT0gTlVMTCkKKyAgICAgICAgICAgICAgICBnb3RvIF9lcnJvcjsKKyAgICAgICAgICAgIGlmIChQeUxpc3RfQXBwZW5kKHNlcSwgbG9jYWxzX3N0cikpCisgICAgICAgICAgICAgICAgZ290byBfZXJyb3I7CisgICAgICAgIH0KKyAgICB9CisgICAgdSA9IGMtPnU7CisgICAgaWYgKFB5TGlzdF9BcHBlbmQoc2VxLCB1LT51X25hbWUpKQorICAgICAgICBnb3RvIF9lcnJvcjsKKyAgICBkb3Rfc3RyID0gX1B5VW5pY29kZV9Gcm9tSWQoJmRvdCk7CisgICAgaWYgKGRvdF9zdHIgPT0gTlVMTCkKKyAgICAgICAgZ290byBfZXJyb3I7CisgICAgbmFtZSA9IFB5VW5pY29kZV9Kb2luKGRvdF9zdHIsIHNlcSk7CisgICAgUHlfREVDUkVGKHNlcSk7CisgICAgdS0+dV9xdWFsbmFtZSA9IG5hbWU7CisgICAgUHlfWElOQ1JFRihuYW1lKTsKKyAgICByZXR1cm4gbmFtZTsKKworX2Vycm9yOgorICAgIFB5X1hERUNSRUYoc2VxKTsKKyAgICByZXR1cm4gTlVMTDsKK30KKwogLyogQWxsb2NhdGUgYSBuZXcgYmxvY2sgYW5kIHJldHVybiBhIHBvaW50ZXIgdG8gaXQuCiAgICBSZXR1cm5zIE5VTEwgb24gZXJyb3IuCiAqLwpAQCAtNzU3LDcgKzg0MSw4IEBACiAgICAgICAgICAgICByZXR1cm4gLTE7CiAgICAgICAgIGNhc2UgWUlFTERfVkFMVUU6CiAgICAgICAgICAgICByZXR1cm4gMDsKLQorICAgICAgICBjYXNlIFlJRUxEX0ZST006CisgICAgICAgICAgICByZXR1cm4gLTE7CiAgICAgICAgIGNhc2UgUE9QX0JMT0NLOgogICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgIGNhc2UgUE9QX0VYQ0VQVDoKQEAgLTg0Myw5ICs5MjgsOSBAQAogICAgICAgICBjYXNlIENBTExfRlVOQ1RJT05fVkFSX0tXOgogICAgICAgICAgICAgcmV0dXJuIC1OQVJHUyhvcGFyZyktMjsKICAgICAgICAgY2FzZSBNQUtFX0ZVTkNUSU9OOgotICAgICAgICAgICAgcmV0dXJuIC1OQVJHUyhvcGFyZykgLSAoKG9wYXJnID4+IDE2KSAmIDB4ZmZmZik7CisgICAgICAgICAgICByZXR1cm4gLTEgLU5BUkdTKG9wYXJnKSAtICgob3BhcmcgPj4gMTYpICYgMHhmZmZmKTsKICAgICAgICAgY2FzZSBNQUtFX0NMT1NVUkU6Ci0gICAgICAgICAgICByZXR1cm4gLTEgLSBOQVJHUyhvcGFyZykgLSAoKG9wYXJnID4+IDE2KSAmIDB4ZmZmZik7CisgICAgICAgICAgICByZXR1cm4gLTIgLSBOQVJHUyhvcGFyZykgLSAoKG9wYXJnID4+IDE2KSAmIDB4ZmZmZik7CiAjdW5kZWYgTkFSR1MKICAgICAgICAgY2FzZSBCVUlMRF9TTElDRToKICAgICAgICAgICAgIGlmIChvcGFyZyA9PSAzKQpAQCAtMTE3NSw3ICsxMjYwLDcgQEAKICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KICAgICAvKiBVc2UgMCBmb3IgZmlyc3RsaW5lbm8gaW5pdGlhbGx5LCB3aWxsIGZpeHVwIGluIGFzc2VtYmxlKCkuICovCi0gICAgaWYgKCFjb21waWxlcl9lbnRlcl9zY29wZShjLCBtb2R1bGUsIG1vZCwgMCkpCisgICAgaWYgKCFjb21waWxlcl9lbnRlcl9zY29wZShjLCBtb2R1bGUsIENPTVBJTEVSX1NDT1BFX01PRFVMRSwgbW9kLCAwKSkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgc3dpdGNoIChtb2QtPmtpbmQpIHsKICAgICBjYXNlIE1vZHVsZV9raW5kOgpAQCAtMTI1MSwxMSArMTMzNiwxNSBAQAogfQogCiBzdGF0aWMgaW50Ci1jb21waWxlcl9tYWtlX2Nsb3N1cmUoc3RydWN0IGNvbXBpbGVyICpjLCBQeUNvZGVPYmplY3QgKmNvLCBpbnQgYXJncykKK2NvbXBpbGVyX21ha2VfY2xvc3VyZShzdHJ1Y3QgY29tcGlsZXIgKmMsIFB5Q29kZU9iamVjdCAqY28sIGludCBhcmdzLCBQeU9iamVjdCAqcXVhbG5hbWUpCiB7CiAgICAgaW50IGksIGZyZWUgPSBQeUNvZGVfR2V0TnVtRnJlZShjbyk7CisgICAgaWYgKHF1YWxuYW1lID09IE5VTEwpCisgICAgICAgIHF1YWxuYW1lID0gY28tPmNvX25hbWU7CisKICAgICBpZiAoZnJlZSA9PSAwKSB7CiAgICAgICAgIEFERE9QX08oYywgTE9BRF9DT05TVCwgKFB5T2JqZWN0KiljbywgY29uc3RzKTsKKyAgICAgICAgQURET1BfTyhjLCBMT0FEX0NPTlNULCBxdWFsbmFtZSwgY29uc3RzKTsKICAgICAgICAgQURET1BfSShjLCBNQUtFX0ZVTkNUSU9OLCBhcmdzKTsKICAgICAgICAgcmV0dXJuIDE7CiAgICAgfQpAQCAtMTI5Miw2ICsxMzgxLDcgQEAKICAgICB9CiAgICAgQURET1BfSShjLCBCVUlMRF9UVVBMRSwgZnJlZSk7CiAgICAgQURET1BfTyhjLCBMT0FEX0NPTlNULCAoUHlPYmplY3QqKWNvLCBjb25zdHMpOworICAgIEFERE9QX08oYywgTE9BRF9DT05TVCwgcXVhbG5hbWUsIGNvbnN0cyk7CiAgICAgQURET1BfSShjLCBNQUtFX0NMT1NVUkUsIGFyZ3MpOwogICAgIHJldHVybiAxOwogfQpAQCAtMTQzMyw3ICsxNTIzLDcgQEAKIGNvbXBpbGVyX2Z1bmN0aW9uKHN0cnVjdCBjb21waWxlciAqYywgc3RtdF90eSBzKQogewogICAgIFB5Q29kZU9iamVjdCAqY287Ci0gICAgUHlPYmplY3QgKmZpcnN0X2NvbnN0ID0gUHlfTm9uZTsKKyAgICBQeU9iamVjdCAqcXVhbG5hbWUsICpmaXJzdF9jb25zdCA9IFB5X05vbmU7CiAgICAgYXJndW1lbnRzX3R5IGFyZ3MgPSBzLT52LkZ1bmN0aW9uRGVmLmFyZ3M7CiAgICAgZXhwcl90eSByZXR1cm5zID0gcy0+di5GdW5jdGlvbkRlZi5yZXR1cm5zOwogICAgIGFzZGxfc2VxKiBkZWNvcyA9IHMtPnYuRnVuY3Rpb25EZWYuZGVjb3JhdG9yX2xpc3Q7CkBAIC0xNDU5LDcgKzE1NDksOCBAQAogICAgICAgICByZXR1cm4gMDsKICAgICBhc3NlcnQoKG51bV9hbm5vdGF0aW9ucyAmIDB4RkZGRikgPT0gbnVtX2Fubm90YXRpb25zKTsKIAotICAgIGlmICghY29tcGlsZXJfZW50ZXJfc2NvcGUoYywgcy0+di5GdW5jdGlvbkRlZi5uYW1lLCAodm9pZCAqKXMsCisgICAgaWYgKCFjb21waWxlcl9lbnRlcl9zY29wZShjLCBzLT52LkZ1bmN0aW9uRGVmLm5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDT01QSUxFUl9TQ09QRV9GVU5DVElPTiwgKHZvaWQgKilzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcy0+bGluZW5vKSkKICAgICAgICAgcmV0dXJuIDA7CiAKQEAgLTE0ODEsMTQgKzE1NzIsMTkgQEAKICAgICAgICAgVklTSVRfSU5fU0NPUEUoYywgc3RtdCwgc3QpOwogICAgIH0KICAgICBjbyA9IGFzc2VtYmxlKGMsIDEpOworICAgIHF1YWxuYW1lID0gY29tcGlsZXJfc2NvcGVfcXVhbG5hbWUoYyk7CiAgICAgY29tcGlsZXJfZXhpdF9zY29wZShjKTsKLSAgICBpZiAoY28gPT0gTlVMTCkKKyAgICBpZiAocXVhbG5hbWUgPT0gTlVMTCB8fCBjbyA9PSBOVUxMKSB7CisgICAgICAgIFB5X1hERUNSRUYocXVhbG5hbWUpOworICAgICAgICBQeV9YREVDUkVGKGNvKTsKICAgICAgICAgcmV0dXJuIDA7CisgICAgfQogCiAgICAgYXJnbGVuZ3RoID0gYXNkbF9zZXFfTEVOKGFyZ3MtPmRlZmF1bHRzKTsKICAgICBhcmdsZW5ndGggfD0ga3dfZGVmYXVsdF9jb3VudCA8PCA4OwogICAgIGFyZ2xlbmd0aCB8PSBudW1fYW5ub3RhdGlvbnMgPDwgMTY7Ci0gICAgY29tcGlsZXJfbWFrZV9jbG9zdXJlKGMsIGNvLCBhcmdsZW5ndGgpOworICAgIGNvbXBpbGVyX21ha2VfY2xvc3VyZShjLCBjbywgYXJnbGVuZ3RoLCBxdWFsbmFtZSk7CisgICAgUHlfREVDUkVGKHF1YWxuYW1lKTsKICAgICBQeV9ERUNSRUYoY28pOwogCiAgICAgLyogZGVjb3JhdG9ycyAqLwpAQCAtMTUyMyw3ICsxNjE5LDggQEAKICAgICAqLwogCiAgICAgLyogMS4gY29tcGlsZSB0aGUgY2xhc3MgYm9keSBpbnRvIGEgY29kZSBvYmplY3QgKi8KLSAgICBpZiAoIWNvbXBpbGVyX2VudGVyX3Njb3BlKGMsIHMtPnYuQ2xhc3NEZWYubmFtZSwgKHZvaWQgKilzLCBzLT5saW5lbm8pKQorICAgIGlmICghY29tcGlsZXJfZW50ZXJfc2NvcGUoYywgcy0+di5DbGFzc0RlZi5uYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ09NUElMRVJfU0NPUEVfQ0xBU1MsICh2b2lkICopcywgcy0+bGluZW5vKSkKICAgICAgICAgcmV0dXJuIDA7CiAgICAgLyogdGhpcyBibG9jayByZXByZXNlbnRzIHdoYXQgd2UgZG8gaW4gdGhlIG5ldyBzY29wZSAqLwogICAgIHsKQEAgLTE1NTMsMTMgKzE2NTAsMjggQEAKICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICB9CiAgICAgICAgIFB5X0RFQ1JFRihzdHIpOworICAgICAgICAvKiBzdG9yZSB0aGUgX19xdWFsbmFtZV9fICovCisgICAgICAgIHN0ciA9IGNvbXBpbGVyX3Njb3BlX3F1YWxuYW1lKGMpOworICAgICAgICBpZiAoIXN0cikgeworICAgICAgICAgICAgY29tcGlsZXJfZXhpdF9zY29wZShjKTsKKyAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICB9CisgICAgICAgIEFERE9QX08oYywgTE9BRF9DT05TVCwgc3RyLCBjb25zdHMpOworICAgICAgICBQeV9ERUNSRUYoc3RyKTsKKyAgICAgICAgc3RyID0gUHlVbmljb2RlX0ludGVybkZyb21TdHJpbmcoIl9fcXVhbG5hbWVfXyIpOworICAgICAgICBpZiAoIXN0ciB8fCAhY29tcGlsZXJfbmFtZW9wKGMsIHN0ciwgU3RvcmUpKSB7CisgICAgICAgICAgICBQeV9YREVDUkVGKHN0cik7CisgICAgICAgICAgICBjb21waWxlcl9leGl0X3Njb3BlKGMpOworICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIH0KKyAgICAgICAgUHlfREVDUkVGKHN0cik7CiAgICAgICAgIC8qIGNvbXBpbGUgdGhlIGJvZHkgcHJvcGVyICovCiAgICAgICAgIGlmICghY29tcGlsZXJfYm9keShjLCBzLT52LkNsYXNzRGVmLmJvZHkpKSB7CiAgICAgICAgICAgICBjb21waWxlcl9leGl0X3Njb3BlKGMpOwogICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgIH0KICAgICAgICAgLyogcmV0dXJuIHRoZSAoZW1wdHkpIF9fY2xhc3NfXyBjZWxsICovCi0gICAgICAgIHN0ciA9IFB5VW5pY29kZV9JbnRlcm5Gcm9tU3RyaW5nKCJfX2NsYXNzX18iKTsKKyAgICAgICAgc3RyID0gUHlVbmljb2RlX0ludGVybkZyb21TdHJpbmcoIkBfX2NsYXNzX18iKTsKICAgICAgICAgaWYgKHN0ciA9PSBOVUxMKSB7CiAgICAgICAgICAgICBjb21waWxlcl9leGl0X3Njb3BlKGMpOwogICAgICAgICAgICAgcmV0dXJuIDA7CkBAIC0xNTg5LDcgKzE3MDEsNyBAQAogICAgIEFERE9QKGMsIExPQURfQlVJTERfQ0xBU1MpOwogCiAgICAgLyogMy4gbG9hZCBhIGZ1bmN0aW9uIChvciBjbG9zdXJlKSBtYWRlIGZyb20gdGhlIGNvZGUgb2JqZWN0ICovCi0gICAgY29tcGlsZXJfbWFrZV9jbG9zdXJlKGMsIGNvLCAwKTsKKyAgICBjb21waWxlcl9tYWtlX2Nsb3N1cmUoYywgY28sIDAsIE5VTEwpOwogICAgIFB5X0RFQ1JFRihjbyk7CiAKICAgICAvKiA0LiBsb2FkIGNsYXNzIG5hbWUgKi8KQEAgLTE2NDAsNiArMTc1Miw3IEBACiBjb21waWxlcl9sYW1iZGEoc3RydWN0IGNvbXBpbGVyICpjLCBleHByX3R5IGUpCiB7CiAgICAgUHlDb2RlT2JqZWN0ICpjbzsKKyAgICBQeU9iamVjdCAqcXVhbG5hbWU7CiAgICAgc3RhdGljIGlkZW50aWZpZXIgbmFtZTsKICAgICBpbnQga3dfZGVmYXVsdF9jb3VudCA9IDAsIGFyZ2xlbmd0aDsKICAgICBhcmd1bWVudHNfdHkgYXJncyA9IGUtPnYuTGFtYmRhLmFyZ3M7CkBAIC0xNjU5LDcgKzE3NzIsOCBAQAogICAgIH0KICAgICBpZiAoYXJncy0+ZGVmYXVsdHMpCiAgICAgICAgIFZJU0lUX1NFUShjLCBleHByLCBhcmdzLT5kZWZhdWx0cyk7Ci0gICAgaWYgKCFjb21waWxlcl9lbnRlcl9zY29wZShjLCBuYW1lLCAodm9pZCAqKWUsIGUtPmxpbmVubykpCisgICAgaWYgKCFjb21waWxlcl9lbnRlcl9zY29wZShjLCBuYW1lLCBDT01QSUxFUl9TQ09QRV9GVU5DVElPTiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh2b2lkICopZSwgZS0+bGluZW5vKSkKICAgICAgICAgcmV0dXJuIDA7CiAKICAgICAvKiBNYWtlIE5vbmUgdGhlIGZpcnN0IGNvbnN0YW50LCBzbyB0aGUgbGFtYmRhIGNhbid0IGhhdmUgYQpAQCAtMTY3NywxMyArMTc5MSwxNSBAQAogICAgICAgICBBRERPUF9JTl9TQ09QRShjLCBSRVRVUk5fVkFMVUUpOwogICAgIH0KICAgICBjbyA9IGFzc2VtYmxlKGMsIDEpOworICAgIHF1YWxuYW1lID0gY29tcGlsZXJfc2NvcGVfcXVhbG5hbWUoYyk7CiAgICAgY29tcGlsZXJfZXhpdF9zY29wZShjKTsKLSAgICBpZiAoY28gPT0gTlVMTCkKKyAgICBpZiAocXVhbG5hbWUgPT0gTlVMTCB8fCBjbyA9PSBOVUxMKQogICAgICAgICByZXR1cm4gMDsKIAogICAgIGFyZ2xlbmd0aCA9IGFzZGxfc2VxX0xFTihhcmdzLT5kZWZhdWx0cyk7CiAgICAgYXJnbGVuZ3RoIHw9IGt3X2RlZmF1bHRfY291bnQgPDwgODsKLSAgICBjb21waWxlcl9tYWtlX2Nsb3N1cmUoYywgY28sIGFyZ2xlbmd0aCk7CisgICAgY29tcGlsZXJfbWFrZV9jbG9zdXJlKGMsIGNvLCBhcmdsZW5ndGgsIHF1YWxuYW1lKTsKKyAgICBQeV9ERUNSRUYocXVhbG5hbWUpOwogICAgIFB5X0RFQ1JFRihjbyk7CiAKICAgICByZXR1cm4gMTsKQEAgLTE4OTIsNyArMjAwOCwxMyBAQAogICAgIGNvbXBpbGVyX3VzZV9uZXh0X2Jsb2NrKGMsIGJvZHkpOwogICAgIGlmICghY29tcGlsZXJfcHVzaF9mYmxvY2soYywgRklOQUxMWV9UUlksIGJvZHkpKQogICAgICAgICByZXR1cm4gMDsKLSAgICBWSVNJVF9TRVEoYywgc3RtdCwgcy0+di5UcnlGaW5hbGx5LmJvZHkpOworICAgIGlmIChzLT52LlRyeS5oYW5kbGVycyAmJiBhc2RsX3NlcV9MRU4ocy0+di5UcnkuaGFuZGxlcnMpKSB7CisgICAgICAgIGlmICghY29tcGlsZXJfdHJ5X2V4Y2VwdChjLCBzKSkKKyAgICAgICAgICAgIHJldHVybiAwOworICAgIH0KKyAgICBlbHNlIHsKKyAgICAgICAgVklTSVRfU0VRKGMsIHN0bXQsIHMtPnYuVHJ5LmJvZHkpOworICAgIH0KICAgICBBRERPUChjLCBQT1BfQkxPQ0spOwogICAgIGNvbXBpbGVyX3BvcF9mYmxvY2soYywgRklOQUxMWV9UUlksIGJvZHkpOwogCkBAIC0xOTAwLDcgKzIwMjIsNyBAQAogICAgIGNvbXBpbGVyX3VzZV9uZXh0X2Jsb2NrKGMsIGVuZCk7CiAgICAgaWYgKCFjb21waWxlcl9wdXNoX2ZibG9jayhjLCBGSU5BTExZX0VORCwgZW5kKSkKICAgICAgICAgcmV0dXJuIDA7Ci0gICAgVklTSVRfU0VRKGMsIHN0bXQsIHMtPnYuVHJ5RmluYWxseS5maW5hbGJvZHkpOworICAgIFZJU0lUX1NFUShjLCBzdG10LCBzLT52LlRyeS5maW5hbGJvZHkpOwogICAgIEFERE9QKGMsIEVORF9GSU5BTExZKTsKICAgICBjb21waWxlcl9wb3BfZmJsb2NrKGMsIEZJTkFMTFlfRU5ELCBlbmQpOwogCkBAIC0xOTU0LDE1ICsyMDc2LDE1IEBACiAgICAgY29tcGlsZXJfdXNlX25leHRfYmxvY2soYywgYm9keSk7CiAgICAgaWYgKCFjb21waWxlcl9wdXNoX2ZibG9jayhjLCBFWENFUFQsIGJvZHkpKQogICAgICAgICByZXR1cm4gMDsKLSAgICBWSVNJVF9TRVEoYywgc3RtdCwgcy0+di5UcnlFeGNlcHQuYm9keSk7CisgICAgVklTSVRfU0VRKGMsIHN0bXQsIHMtPnYuVHJ5LmJvZHkpOwogICAgIEFERE9QKGMsIFBPUF9CTE9DSyk7CiAgICAgY29tcGlsZXJfcG9wX2ZibG9jayhjLCBFWENFUFQsIGJvZHkpOwogICAgIEFERE9QX0pSRUwoYywgSlVNUF9GT1JXQVJELCBvcmVsc2UpOwotICAgIG4gPSBhc2RsX3NlcV9MRU4ocy0+di5UcnlFeGNlcHQuaGFuZGxlcnMpOworICAgIG4gPSBhc2RsX3NlcV9MRU4ocy0+di5UcnkuaGFuZGxlcnMpOwogICAgIGNvbXBpbGVyX3VzZV9uZXh0X2Jsb2NrKGMsIGV4Y2VwdCk7CiAgICAgZm9yIChpID0gMDsgaSA8IG47IGkrKykgewogICAgICAgICBleGNlcHRoYW5kbGVyX3R5IGhhbmRsZXIgPSAoZXhjZXB0aGFuZGxlcl90eSlhc2RsX3NlcV9HRVQoCi0gICAgICAgICAgICBzLT52LlRyeUV4Y2VwdC5oYW5kbGVycywgaSk7CisgICAgICAgICAgICBzLT52LlRyeS5oYW5kbGVycywgaSk7CiAgICAgICAgIGlmICghaGFuZGxlci0+di5FeGNlcHRIYW5kbGVyLnR5cGUgJiYgaSA8IG4tMSkKICAgICAgICAgICAgIHJldHVybiBjb21waWxlcl9lcnJvcihjLCAiZGVmYXVsdCAnZXhjZXB0OicgbXVzdCBiZSBsYXN0Iik7CiAgICAgICAgIGMtPnUtPnVfbGluZW5vX3NldCA9IDA7CkBAIC0yMDQ5LDEyICsyMTcxLDIxIEBACiAgICAgfQogICAgIEFERE9QKGMsIEVORF9GSU5BTExZKTsKICAgICBjb21waWxlcl91c2VfbmV4dF9ibG9jayhjLCBvcmVsc2UpOwotICAgIFZJU0lUX1NFUShjLCBzdG10LCBzLT52LlRyeUV4Y2VwdC5vcmVsc2UpOworICAgIFZJU0lUX1NFUShjLCBzdG10LCBzLT52LlRyeS5vcmVsc2UpOwogICAgIGNvbXBpbGVyX3VzZV9uZXh0X2Jsb2NrKGMsIGVuZCk7CiAgICAgcmV0dXJuIDE7CiB9CiAKIHN0YXRpYyBpbnQKK2NvbXBpbGVyX3RyeShzdHJ1Y3QgY29tcGlsZXIgKmMsIHN0bXRfdHkgcykgeworICAgIGlmIChzLT52LlRyeS5maW5hbGJvZHkgJiYgYXNkbF9zZXFfTEVOKHMtPnYuVHJ5LmZpbmFsYm9keSkpCisgICAgICAgIHJldHVybiBjb21waWxlcl90cnlfZmluYWxseShjLCBzKTsKKyAgICBlbHNlCisgICAgICAgIHJldHVybiBjb21waWxlcl90cnlfZXhjZXB0KGMsIHMpOworfQorCisKK3N0YXRpYyBpbnQKIGNvbXBpbGVyX2ltcG9ydF9hcyhzdHJ1Y3QgY29tcGlsZXIgKmMsIGlkZW50aWZpZXIgbmFtZSwgaWRlbnRpZmllciBhc25hbWUpCiB7CiAgICAgLyogVGhlIElNUE9SVF9OQU1FIG9wY29kZSB3YXMgYWxyZWFkeSBnZW5lcmF0ZWQuICBUaGlzIGZ1bmN0aW9uCkBAIC0yMDYzLDIyICsyMTk0LDI3IEBACiAgICAgICAgSWYgdGhlcmUgaXMgYSBkb3QgaW4gbmFtZSwgd2UgbmVlZCB0byBzcGxpdCBpdCBhbmQgZW1pdCBhCiAgICAgICAgTE9BRF9BVFRSIGZvciBlYWNoIG5hbWUuCiAgICAgKi8KLSAgICBjb25zdCBQeV9VTklDT0RFICpzcmMgPSBQeVVuaWNvZGVfQVNfVU5JQ09ERShuYW1lKTsKLSAgICBjb25zdCBQeV9VTklDT0RFICpkb3QgPSBQeV9VTklDT0RFX3N0cmNocihzcmMsICcuJyk7Ci0gICAgaWYgKGRvdCkgeworICAgIFB5X3NzaXplX3QgZG90ID0gUHlVbmljb2RlX0ZpbmRDaGFyKG5hbWUsICcuJywgMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfR0VUX0xFTkdUSChuYW1lKSwgMSk7CisgICAgaWYgKGRvdCA9PSAtMikKKyAgICAgICAgcmV0dXJuIC0xOworICAgIGlmIChkb3QgIT0gLTEpIHsKICAgICAgICAgLyogQ29uc3VtZSB0aGUgYmFzZSBtb2R1bGUgbmFtZSB0byBnZXQgdGhlIGZpcnN0IGF0dHJpYnV0ZSAqLwotICAgICAgICBzcmMgPSBkb3QgKyAxOwotICAgICAgICB3aGlsZSAoZG90KSB7Ci0gICAgICAgICAgICAvKiBOQiBzcmMgaXMgb25seSBkZWZpbmVkIHdoZW4gZG90ICE9IE5VTEwgKi8KKyAgICAgICAgUHlfc3NpemVfdCBwb3MgPSBkb3QgKyAxOworICAgICAgICB3aGlsZSAoZG90ICE9IC0xKSB7CiAgICAgICAgICAgICBQeU9iamVjdCAqYXR0cjsKLSAgICAgICAgICAgIGRvdCA9IFB5X1VOSUNPREVfc3RyY2hyKHNyYywgJy4nKTsKLSAgICAgICAgICAgIGF0dHIgPSBQeVVuaWNvZGVfRnJvbVVuaWNvZGUoc3JjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb3QgPyBkb3QgLSBzcmMgOiBQeV9VTklDT0RFX3N0cmxlbihzcmMpKTsKKyAgICAgICAgICAgIGRvdCA9IFB5VW5pY29kZV9GaW5kQ2hhcihuYW1lLCAnLicsIHBvcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfR0VUX0xFTkdUSChuYW1lKSwgMSk7CisgICAgICAgICAgICBpZiAoZG90ID09IC0yKQorICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgICAgIGF0dHIgPSBQeVVuaWNvZGVfU3Vic3RyaW5nKG5hbWUsIHBvcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChkb3QgIT0gLTEpID8gZG90IDoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9HRVRfTEVOR1RIKG5hbWUpKTsKICAgICAgICAgICAgIGlmICghYXR0cikKICAgICAgICAgICAgICAgICByZXR1cm4gLTE7CiAgICAgICAgICAgICBBRERPUF9PKGMsIExPQURfQVRUUiwgYXR0ciwgbmFtZXMpOwogICAgICAgICAgICAgUHlfREVDUkVGKGF0dHIpOwotICAgICAgICAgICAgc3JjID0gZG90ICsgMTsKKyAgICAgICAgICAgIHBvcyA9IGRvdCArIDE7CiAgICAgICAgIH0KICAgICB9CiAgICAgcmV0dXJuIGNvbXBpbGVyX25hbWVvcChjLCBhc25hbWUsIFN0b3JlKTsKQEAgLTIxMTcsMTMgKzIyNTMsMTIgQEAKICAgICAgICAgfQogICAgICAgICBlbHNlIHsKICAgICAgICAgICAgIGlkZW50aWZpZXIgdG1wID0gYWxpYXMtPm5hbWU7Ci0gICAgICAgICAgICBjb25zdCBQeV9VTklDT0RFICpiYXNlID0gUHlVbmljb2RlX0FTX1VOSUNPREUoYWxpYXMtPm5hbWUpOwotICAgICAgICAgICAgUHlfVU5JQ09ERSAqZG90ID0gUHlfVU5JQ09ERV9zdHJjaHIoYmFzZSwgJy4nKTsKLSAgICAgICAgICAgIGlmIChkb3QpCi0gICAgICAgICAgICAgICAgdG1wID0gUHlVbmljb2RlX0Zyb21Vbmljb2RlKGJhc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvdCAtIGJhc2UpOworICAgICAgICAgICAgUHlfc3NpemVfdCBkb3QgPSBQeVVuaWNvZGVfRmluZENoYXIoCisgICAgICAgICAgICAgICAgYWxpYXMtPm5hbWUsICcuJywgMCwgUHlVbmljb2RlX0dFVF9MRU5HVEgoYWxpYXMtPm5hbWUpLCAxKTsKKyAgICAgICAgICAgIGlmIChkb3QgIT0gLTEpCisgICAgICAgICAgICAgICAgdG1wID0gUHlVbmljb2RlX1N1YnN0cmluZyhhbGlhcy0+bmFtZSwgMCwgZG90KTsKICAgICAgICAgICAgIHIgPSBjb21waWxlcl9uYW1lb3AoYywgdG1wLCBTdG9yZSk7Ci0gICAgICAgICAgICBpZiAoZG90KSB7CisgICAgICAgICAgICBpZiAoZG90ICE9IC0xKSB7CiAgICAgICAgICAgICAgICAgUHlfREVDUkVGKHRtcCk7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBpZiAoIXIpCkBAIC0yMTg2LDcgKzIzMjEsNyBAQAogICAgICAgICBhbGlhc190eSBhbGlhcyA9IChhbGlhc190eSlhc2RsX3NlcV9HRVQocy0+di5JbXBvcnRGcm9tLm5hbWVzLCBpKTsKICAgICAgICAgaWRlbnRpZmllciBzdG9yZV9uYW1lOwogCi0gICAgICAgIGlmIChpID09IDAgJiYgKlB5VW5pY29kZV9BU19VTklDT0RFKGFsaWFzLT5uYW1lKSA9PSAnKicpIHsKKyAgICAgICAgaWYgKGkgPT0gMCAmJiBQeVVuaWNvZGVfUkVBRF9DSEFSKGFsaWFzLT5uYW1lLCAwKSA9PSAnKicpIHsKICAgICAgICAgICAgIGFzc2VydChuID09IDEpOwogICAgICAgICAgICAgQURET1AoYywgSU1QT1JUX1NUQVIpOwogICAgICAgICAgICAgcmV0dXJuIDE7CkBAIC0yMzAxLDEwICsyNDM2LDggQEAKICAgICAgICAgfQogICAgICAgICBBRERPUF9JKGMsIFJBSVNFX1ZBUkFSR1MsIG4pOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIFRyeUV4Y2VwdF9raW5kOgotICAgICAgICByZXR1cm4gY29tcGlsZXJfdHJ5X2V4Y2VwdChjLCBzKTsKLSAgICBjYXNlIFRyeUZpbmFsbHlfa2luZDoKLSAgICAgICAgcmV0dXJuIGNvbXBpbGVyX3RyeV9maW5hbGx5KGMsIHMpOworICAgIGNhc2UgVHJ5X2tpbmQ6CisgICAgICAgIHJldHVybiBjb21waWxlcl90cnkoYywgcyk7CiAgICAgY2FzZSBBc3NlcnRfa2luZDoKICAgICAgICAgcmV0dXJuIGNvbXBpbGVyX2Fzc2VydChjLCBzKTsKICAgICBjYXNlIEltcG9ydF9raW5kOgpAQCAtMjMzNSw3ICsyNDY4LDcgQEAKICAgICBjYXNlIENvbnRpbnVlX2tpbmQ6CiAgICAgICAgIHJldHVybiBjb21waWxlcl9jb250aW51ZShjKTsKICAgICBjYXNlIFdpdGhfa2luZDoKLSAgICAgICAgcmV0dXJuIGNvbXBpbGVyX3dpdGgoYywgcyk7CisgICAgICAgIHJldHVybiBjb21waWxlcl93aXRoKGMsIHMsIDApOwogICAgIH0KICAgICByZXR1cm4gMTsKIH0KQEAgLTI1MDIsNyArMjYzNSw3IEBACiAgICAgfQogCiAgICAgLyogWFhYIExlYXZlIGFzc2VydCBoZXJlLCBidXQgaGFuZGxlIF9fZG9jX18gYW5kIHRoZSBsaWtlIGJldHRlciAqLwotICAgIGFzc2VydChzY29wZSB8fCBQeVVuaWNvZGVfQVNfVU5JQ09ERShuYW1lKVswXSA9PSAnXycpOworICAgIGFzc2VydChzY29wZSB8fCBQeVVuaWNvZGVfUkVBRF9DSEFSKG5hbWUsIDApID09ICdfJyk7CiAKICAgICBzd2l0Y2ggKG9wdHlwZSkgewogICAgIGNhc2UgT1BfREVSRUY6CkBAIC0yODgwLDExICszMDEzLDEzIEBACiB7CiAgICAgUHlDb2RlT2JqZWN0ICpjbyA9IE5VTEw7CiAgICAgZXhwcl90eSBvdXRlcm1vc3RfaXRlcjsKKyAgICBQeU9iamVjdCAqcXVhbG5hbWUgPSBOVUxMOwogCiAgICAgb3V0ZXJtb3N0X2l0ZXIgPSAoKGNvbXByZWhlbnNpb25fdHkpCiAgICAgICAgICAgICAgICAgICAgICAgYXNkbF9zZXFfR0VUKGdlbmVyYXRvcnMsIDApKS0+aXRlcjsKIAotICAgIGlmICghY29tcGlsZXJfZW50ZXJfc2NvcGUoYywgbmFtZSwgKHZvaWQgKillLCBlLT5saW5lbm8pKQorICAgIGlmICghY29tcGlsZXJfZW50ZXJfc2NvcGUoYywgbmFtZSwgQ09NUElMRVJfU0NPUEVfQ09NUFJFSEVOU0lPTiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh2b2lkICopZSwgZS0+bGluZW5vKSkKICAgICAgICAgZ290byBlcnJvcjsKIAogICAgIGlmICh0eXBlICE9IENPTVBfR0VORVhQKSB7CkBAIC0yOTE3LDEyICszMDUyLDE0IEBACiAgICAgfQogCiAgICAgY28gPSBhc3NlbWJsZShjLCAxKTsKKyAgICBxdWFsbmFtZSA9IGNvbXBpbGVyX3Njb3BlX3F1YWxuYW1lKGMpOwogICAgIGNvbXBpbGVyX2V4aXRfc2NvcGUoYyk7Ci0gICAgaWYgKGNvID09IE5VTEwpCisgICAgaWYgKHF1YWxuYW1lID09IE5VTEwgfHwgY28gPT0gTlVMTCkKICAgICAgICAgZ290byBlcnJvcjsKIAotICAgIGlmICghY29tcGlsZXJfbWFrZV9jbG9zdXJlKGMsIGNvLCAwKSkKKyAgICBpZiAoIWNvbXBpbGVyX21ha2VfY2xvc3VyZShjLCBjbywgMCwgcXVhbG5hbWUpKQogICAgICAgICBnb3RvIGVycm9yOworICAgIFB5X0RFQ1JFRihxdWFsbmFtZSk7CiAgICAgUHlfREVDUkVGKGNvKTsKIAogICAgIFZJU0lUKGMsIGV4cHIsIG91dGVybW9zdF9pdGVyKTsKQEAgLTI5MzIsNiArMzA2OSw3IEBACiBlcnJvcl9pbl9zY29wZToKICAgICBjb21waWxlcl9leGl0X3Njb3BlKGMpOwogZXJyb3I6CisgICAgUHlfWERFQ1JFRihxdWFsbmFtZSk7CiAgICAgUHlfWERFQ1JFRihjbyk7CiAgICAgcmV0dXJuIDA7CiB9CkBAIC0zMDI1LDggKzMxNjMsNyBAQAogICAgICAgICByZXR1cm4gUHlPYmplY3RfSXNUcnVlKGUtPnYuU3RyLnMpOwogICAgIGNhc2UgTmFtZV9raW5kOgogICAgICAgICAvKiBvcHRpbWl6ZSBhd2F5IG5hbWVzIHRoYXQgY2FuJ3QgYmUgcmVhc3NpZ25lZCAqLwotICAgICAgICBpZCA9IFB5Qnl0ZXNfQVNfU1RSSU5HKAotICAgICAgICAgICAgX1B5VW5pY29kZV9Bc0RlZmF1bHRFbmNvZGVkU3RyaW5nKGUtPnYuTmFtZS5pZCwgTlVMTCkpOworICAgICAgICBpZCA9IFB5VW5pY29kZV9Bc1VURjgoZS0+di5OYW1lLmlkKTsKICAgICAgICAgaWYgKHN0cmNtcChpZCwgIlRydWUiKSA9PSAwKSByZXR1cm4gMTsKICAgICAgICAgaWYgKHN0cmNtcChpZCwgIkZhbHNlIikgPT0gMCkgcmV0dXJuIDA7CiAgICAgICAgIGlmIChzdHJjbXAoaWQsICJOb25lIikgPT0gMCkgcmV0dXJuIDA7CkBAIC0zMDYyLDkgKzMxOTksMTAgQEAKICAgICAgICBleGl0KCpleGMpCiAgKi8KIHN0YXRpYyBpbnQKLWNvbXBpbGVyX3dpdGgoc3RydWN0IGNvbXBpbGVyICpjLCBzdG10X3R5IHMpCitjb21waWxlcl93aXRoKHN0cnVjdCBjb21waWxlciAqYywgc3RtdF90eSBzLCBpbnQgcG9zKQogewogICAgIGJhc2ljYmxvY2sgKmJsb2NrLCAqZmluYWxseTsKKyAgICB3aXRoaXRlbV90eSBpdGVtID0gYXNkbF9zZXFfR0VUKHMtPnYuV2l0aC5pdGVtcywgcG9zKTsKIAogICAgIGFzc2VydChzLT5raW5kID09IFdpdGhfa2luZCk7CiAKQEAgLTMwNzQsNyArMzIxMiw3IEBACiAgICAgICAgIHJldHVybiAwOwogCiAgICAgLyogRXZhbHVhdGUgRVhQUiAqLwotICAgIFZJU0lUKGMsIGV4cHIsIHMtPnYuV2l0aC5jb250ZXh0X2V4cHIpOworICAgIFZJU0lUKGMsIGV4cHIsIGl0ZW0tPmNvbnRleHRfZXhwcik7CiAgICAgQURET1BfSlJFTChjLCBTRVRVUF9XSVRILCBmaW5hbGx5KTsKIAogICAgIC8qIFNFVFVQX1dJVEggcHVzaGVzIGEgZmluYWxseSBibG9jay4gKi8KQEAgLTMwODMsMTYgKzMyMjEsMjAgQEAKICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQogCi0gICAgaWYgKHMtPnYuV2l0aC5vcHRpb25hbF92YXJzKSB7Ci0gICAgICAgIFZJU0lUKGMsIGV4cHIsIHMtPnYuV2l0aC5vcHRpb25hbF92YXJzKTsKKyAgICBpZiAoaXRlbS0+b3B0aW9uYWxfdmFycykgeworICAgICAgICBWSVNJVChjLCBleHByLCBpdGVtLT5vcHRpb25hbF92YXJzKTsKICAgICB9CiAgICAgZWxzZSB7CiAgICAgLyogRGlzY2FyZCByZXN1bHQgZnJvbSBjb250ZXh0Ll9fZW50ZXJfXygpICovCiAgICAgICAgIEFERE9QKGMsIFBPUF9UT1ApOwogICAgIH0KIAotICAgIC8qIEJMT0NLIGNvZGUgKi8KLSAgICBWSVNJVF9TRVEoYywgc3RtdCwgcy0+di5XaXRoLmJvZHkpOworICAgIHBvcysrOworICAgIGlmIChwb3MgPT0gYXNkbF9zZXFfTEVOKHMtPnYuV2l0aC5pdGVtcykpCisgICAgICAgIC8qIEJMT0NLIGNvZGUgKi8KKyAgICAgICAgVklTSVRfU0VRKGMsIHN0bXQsIHMtPnYuV2l0aC5ib2R5KQorICAgIGVsc2UgaWYgKCFjb21waWxlcl93aXRoKGMsIHMsIHBvcykpCisgICAgICAgICAgICByZXR1cm4gMDsKIAogICAgIC8qIEVuZCBvZiB0cnkgYmxvY2s7IHN0YXJ0IHRoZSBmaW5hbGx5IGJsb2NrICovCiAgICAgQURET1AoYywgUE9QX0JMT0NLKTsKQEAgLTMxNjksMTYgKzMzMTEsMjcgQEAKICAgICBjYXNlIERpY3RDb21wX2tpbmQ6CiAgICAgICAgIHJldHVybiBjb21waWxlcl9kaWN0Y29tcChjLCBlKTsKICAgICBjYXNlIFlpZWxkX2tpbmQ6CisgICAgY2FzZSBZaWVsZEZyb21fa2luZDogeworICAgICAgICBleHByX3R5IHZhbHVlOwogICAgICAgICBpZiAoYy0+dS0+dV9zdGUtPnN0ZV90eXBlICE9IEZ1bmN0aW9uQmxvY2spCiAgICAgICAgICAgICByZXR1cm4gY29tcGlsZXJfZXJyb3IoYywgIid5aWVsZCcgb3V0c2lkZSBmdW5jdGlvbiIpOwotICAgICAgICBpZiAoZS0+di5ZaWVsZC52YWx1ZSkgewotICAgICAgICAgICAgVklTSVQoYywgZXhwciwgZS0+di5ZaWVsZC52YWx1ZSk7CisgICAgICAgIHZhbHVlID0gKGUtPmtpbmQgPT0gWWllbGRGcm9tX2tpbmQpID8gZS0+di5ZaWVsZEZyb20udmFsdWUgOiBlLT52LllpZWxkLnZhbHVlOworICAgICAgICBpZiAodmFsdWUpIHsKKyAgICAgICAgICAgIFZJU0lUKGMsIGV4cHIsIHZhbHVlKTsKICAgICAgICAgfQogICAgICAgICBlbHNlIHsKICAgICAgICAgICAgIEFERE9QX08oYywgTE9BRF9DT05TVCwgUHlfTm9uZSwgY29uc3RzKTsKICAgICAgICAgfQotICAgICAgICBBRERPUChjLCBZSUVMRF9WQUxVRSk7CisgICAgICAgIGlmIChlLT5raW5kID09IFlpZWxkRnJvbV9raW5kKSB7CisgICAgICAgICAgICBBRERPUChjLCBHRVRfSVRFUik7CisgICAgICAgICAgICBBRERPUF9PKGMsIExPQURfQ09OU1QsIFB5X05vbmUsIGNvbnN0cyk7CisgICAgICAgICAgICBBRERPUChjLCBZSUVMRF9GUk9NKTsKKyAgICAgICAgfQorICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIEFERE9QKGMsIFlJRUxEX1ZBTFVFKTsKKyAgICAgICAgfQogICAgICAgICBicmVhazsKKyAgICB9CiAgICAgY2FzZSBDb21wYXJlX2tpbmQ6CiAgICAgICAgIHJldHVybiBjb21waWxlcl9jb21wYXJlKGMsIGUpOwogICAgIGNhc2UgQ2FsbF9raW5kOgpAQCAtMzM2MSw3ICszNTE0LDcgQEAKIHN0YXRpYyBpbnQKIGNvbXBpbGVyX2Vycm9yKHN0cnVjdCBjb21waWxlciAqYywgY29uc3QgY2hhciAqZXJyc3RyKQogewotICAgIFB5T2JqZWN0ICpsb2MsICpmaWxlbmFtZTsKKyAgICBQeU9iamVjdCAqbG9jOwogICAgIFB5T2JqZWN0ICp1ID0gTlVMTCwgKnYgPSBOVUxMOwogCiAgICAgbG9jID0gUHlFcnJfUHJvZ3JhbVRleHQoYy0+Y19maWxlbmFtZSwgYy0+dS0+dV9saW5lbm8pOwpAQCAtMzM2OSwxNiArMzUyMiw3IEBACiAgICAgICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKICAgICAgICAgbG9jID0gUHlfTm9uZTsKICAgICB9Ci0gICAgaWYgKGMtPmNfZmlsZW5hbWUgIT0gTlVMTCkgewotICAgICAgICBmaWxlbmFtZSA9IFB5VW5pY29kZV9EZWNvZGVGU0RlZmF1bHQoYy0+Y19maWxlbmFtZSk7Ci0gICAgICAgIGlmICghZmlsZW5hbWUpCi0gICAgICAgICAgICBnb3RvIGV4aXQ7Ci0gICAgfQotICAgIGVsc2UgewotICAgICAgICBQeV9JTkNSRUYoUHlfTm9uZSk7Ci0gICAgICAgIGZpbGVuYW1lID0gUHlfTm9uZTsKLSAgICB9Ci0gICAgdSA9IFB5X0J1aWxkVmFsdWUoIihOaWlPKSIsIGZpbGVuYW1lLCBjLT51LT51X2xpbmVubywKKyAgICB1ID0gUHlfQnVpbGRWYWx1ZSgiKE9paU8pIiwgYy0+Y19maWxlbmFtZV9vYmosIGMtPnUtPnVfbGluZW5vLAogICAgICAgICAgICAgICAgICAgICAgIGMtPnUtPnVfY29sX29mZnNldCwgbG9jKTsKICAgICBpZiAoIXUpCiAgICAgICAgIGdvdG8gZXhpdDsKQEAgLTM5MjcsNyArNDA3MSw2IEBACiAgICAgUHlPYmplY3QgKmNvbnN0cyA9IE5VTEw7CiAgICAgUHlPYmplY3QgKm5hbWVzID0gTlVMTDsKICAgICBQeU9iamVjdCAqdmFybmFtZXMgPSBOVUxMOwotICAgIFB5T2JqZWN0ICpmaWxlbmFtZSA9IE5VTEw7CiAgICAgUHlPYmplY3QgKm5hbWUgPSBOVUxMOwogICAgIFB5T2JqZWN0ICpmcmVldmFycyA9IE5VTEw7CiAgICAgUHlPYmplY3QgKmNlbGx2YXJzID0gTlVMTDsKQEAgLTM5NTEsMTAgKzQwOTQsNiBAQAogICAgIGZyZWV2YXJzID0gZGljdF9rZXlzX2lub3JkZXIoYy0+dS0+dV9mcmVldmFycywgUHlUdXBsZV9TaXplKGNlbGx2YXJzKSk7CiAgICAgaWYgKCFmcmVldmFycykKICAgICAgICAgZ290byBlcnJvcjsKLSAgICBmaWxlbmFtZSA9IFB5VW5pY29kZV9EZWNvZGVGU0RlZmF1bHQoYy0+Y19maWxlbmFtZSk7Ci0gICAgaWYgKCFmaWxlbmFtZSkKLSAgICAgICAgZ290byBlcnJvcjsKLQogICAgIG5sb2NhbHMgPSBQeURpY3RfU2l6ZShjLT51LT51X3Zhcm5hbWVzKTsKICAgICBmbGFncyA9IGNvbXB1dGVfY29kZV9mbGFncyhjKTsKICAgICBpZiAoZmxhZ3MgPCAwKQpAQCAtMzk3NCwxNCArNDExMywxMyBAQAogICAgICAgICAgICAgICAgICAgICBubG9jYWxzLCBzdGFja2RlcHRoKGMpLCBmbGFncywKICAgICAgICAgICAgICAgICAgICAgYnl0ZWNvZGUsIGNvbnN0cywgbmFtZXMsIHZhcm5hbWVzLAogICAgICAgICAgICAgICAgICAgICBmcmVldmFycywgY2VsbHZhcnMsCi0gICAgICAgICAgICAgICAgICAgIGZpbGVuYW1lLCBjLT51LT51X25hbWUsCisgICAgICAgICAgICAgICAgICAgIGMtPmNfZmlsZW5hbWVfb2JqLCBjLT51LT51X25hbWUsCiAgICAgICAgICAgICAgICAgICAgIGMtPnUtPnVfZmlyc3RsaW5lbm8sCiAgICAgICAgICAgICAgICAgICAgIGEtPmFfbG5vdGFiKTsKICBlcnJvcjoKICAgICBQeV9YREVDUkVGKGNvbnN0cyk7CiAgICAgUHlfWERFQ1JFRihuYW1lcyk7CiAgICAgUHlfWERFQ1JFRih2YXJuYW1lcyk7Ci0gICAgUHlfWERFQ1JFRihmaWxlbmFtZSk7CiAgICAgUHlfWERFQ1JFRihuYW1lKTsKICAgICBQeV9YREVDUkVGKGZyZWV2YXJzKTsKICAgICBQeV9YREVDUkVGKGNlbGx2YXJzKTsKZGlmZiAtLWdpdCBhL1B5dGhvbi9kdG9hLmMgYi9QeXRob24vZHRvYS5jCmluZGV4IDQ0ZGMwMWYuLjgyYjZmYWEgMTAwNjQ0Ci0tLSBhL1B5dGhvbi9kdG9hLmMKKysrIGIvUHl0aG9uL2R0b2EuYwpAQCAtMjA1NSw3ICsyMDU1LDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICsgRXhwX21zazEKICAgICAgICAgICAgICAgICAgICAgICAgIDsKICAgICAgICAgICAgICAgICAgICAgd29yZDEoJnJ2KSA9IDA7Ci0gICAgICAgICAgICAgICAgICAgIGRzaWduID0gMDsKKyAgICAgICAgICAgICAgICAgICAgLyogZHNpZ24gPSAwOyAqLwogICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9CkBAIC0yMDkyLDcgKzIwOTIsNyBAQAogICAgICAgICAgICAgICAgICAgICBnb3RvIHVuZGZsOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGRzaWduID0gMSAtIGRzaWduOworICAgICAgICAgICAgLyogZHNpZ24gPSAxIC0gZHNpZ247ICovCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgICAgICBpZiAoKGFhZGogPSByYXRpbyhkZWx0YSwgYnMpKSA8PSAyLikgewpkaWZmIC0tZ2l0IGEvUHl0aG9uL2R5bmxvYWRfYWl4LmMgYi9QeXRob24vZHlubG9hZF9haXguYwppbmRleCAxNDk5OTBkLi44MzQ2ZjA2IDEwMDY0NAotLS0gYS9QeXRob24vZHlubG9hZF9haXguYworKysgYi9QeXRob24vZHlubG9hZF9haXguYwpAQCAtMjgsNyArMjgsNiBAQAogCiBjb25zdCBzdHJ1Y3QgZmlsZWRlc2NyIF9QeUltcG9ydF9EeW5Mb2FkRmlsZXRhYltdID0gewogICAgIHsiLnNvIiwgInJiIiwgQ19FWFRFTlNJT059LAotICAgIHsibW9kdWxlLnNvIiwgInJiIiwgQ19FWFRFTlNJT059LAogICAgIHswLCAwfQogfTsKIApAQCAtMTI5LDcgKzEyOCw2IEBACiAgICAgICAgIHtMX0VSUk9SX0VSUk5PLCAgICAgICAgICAgICAgICAgTlVMTH0KICAgICB9OwogCi0jZGVmaW5lIExPQURfRVJSVEFCX0xFTiAoc2l6ZW9mKGxvYWRfZXJydGFiKS9zaXplb2YobG9hZF9lcnJ0YWJbMF0pKQogI2RlZmluZSBFUlJCVUZfQVBQRU5EKHMpIHN0cm5jYXQoZXJyYnVmLCBzLCBzaXplb2YoZXJyYnVmKS1zdHJsZW4oZXJyYnVmKS0xKQogCiAgICAgUHlPU19zbnByaW50ZihlcnJidWYsIHNpemVvZihlcnJidWYpLCAiZnJvbSBtb2R1bGUgJS4yMDBzICIsIHBhdGhuYW1lKTsKQEAgLTE0MCw3ICsxMzgsNyBAQAogICAgIH0KICAgICBmb3IoaSA9IDA7IG1lc3NhZ2VbaV0gJiYgKm1lc3NhZ2VbaV07IGkrKykgewogICAgICAgICBpbnQgbmVyciA9IGF0b2kobWVzc2FnZVtpXSk7Ci0gICAgICAgIGZvciAoaj0wOyBqPExPQURfRVJSVEFCX0xFTiA7IGorKykgeworICAgICAgICBmb3IgKGo9MDsgaiA8IFB5X0FSUkFZX0xFTkdUSChsb2FkX2VycnRhYik7IGorKykgewogICAgICAgICAgICAgaWYgKG5lcnIgPT0gbG9hZF9lcnJ0YWJbal0uZXJyTm8gJiYgbG9hZF9lcnJ0YWJbal0uZXJyc3RyKQogICAgICAgICAgICAgRVJSQlVGX0FQUEVORChsb2FkX2VycnRhYltqXS5lcnJzdHIpOwogICAgICAgICB9CkBAIC0xNTQsNyArMTUyLDcgQEAKIH0KIAogCi1kbF9mdW5jcHRyIF9QeUltcG9ydF9HZXREeW5Mb2FkRnVuYyhjb25zdCBjaGFyICpmcW5hbWUsIGNvbnN0IGNoYXIgKnNob3J0bmFtZSwKK2RsX2Z1bmNwdHIgX1B5SW1wb3J0X0dldER5bkxvYWRGdW5jKGNvbnN0IGNoYXIgKnNob3J0bmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKnBhdGhuYW1lLCBGSUxFICpmcCkKIHsKICAgICBkbF9mdW5jcHRyIHA7CmRpZmYgLS1naXQgYS9QeXRob24vZHlubG9hZF9kbC5jIGIvUHl0aG9uL2R5bmxvYWRfZGwuYwppbmRleCAyNjA2ZTFlLi5hOTE0YTA4IDEwMDY0NAotLS0gYS9QeXRob24vZHlubG9hZF9kbC5jCisrKyBiL1B5dGhvbi9keW5sb2FkX2RsLmMKQEAgLTEwLDE3ICsxMCwxNiBAQAogZXh0ZXJuIGNoYXIgKlB5X0dldFByb2dyYW1OYW1lKHZvaWQpOwogCiBjb25zdCBzdHJ1Y3QgZmlsZWRlc2NyIF9QeUltcG9ydF9EeW5Mb2FkRmlsZXRhYltdID0gewotCXsiLm8iLCAicmIiLCBDX0VYVEVOU0lPTn0sCi0JeyJtb2R1bGUubyIsICJyYiIsIENfRVhURU5TSU9OfSwKLQl7MCwgMH0KKyAgICB7Ii5vIiwgInJiIiwgQ19FWFRFTlNJT059LAorICAgIHswLCAwfQogfTsKIAogCi1kbF9mdW5jcHRyIF9QeUltcG9ydF9HZXREeW5Mb2FkRnVuYyhjb25zdCBjaGFyICpmcW5hbWUsIGNvbnN0IGNoYXIgKnNob3J0bmFtZSwKLQkJCQkgICAgY29uc3QgY2hhciAqcGF0aG5hbWUsIEZJTEUgKmZwKQorZGxfZnVuY3B0ciBfUHlJbXBvcnRfR2V0RHluTG9hZEZ1bmMoY29uc3QgY2hhciAqc2hvcnRuYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqcGF0aG5hbWUsIEZJTEUgKmZwKQogewotCWNoYXIgZnVuY25hbWVbMjU4XTsKKyAgICBjaGFyIGZ1bmNuYW1lWzI1OF07CiAKLQlQeU9TX3NucHJpbnRmKGZ1bmNuYW1lLCBzaXplb2YoZnVuY25hbWUpLCAiUHlJbml0XyUuMjAwcyIsIHNob3J0bmFtZSk7Ci0JcmV0dXJuIGRsX2xvYWRtb2QoUHlfR2V0UHJvZ3JhbU5hbWUoKSwgcGF0aG5hbWUsIGZ1bmNuYW1lKTsKKyAgICBQeU9TX3NucHJpbnRmKGZ1bmNuYW1lLCBzaXplb2YoZnVuY25hbWUpLCAiUHlJbml0XyUuMjAwcyIsIHNob3J0bmFtZSk7CisgICAgcmV0dXJuIGRsX2xvYWRtb2QoUHlfR2V0UHJvZ3JhbU5hbWUoKSwgcGF0aG5hbWUsIGZ1bmNuYW1lKTsKIH0KZGlmZiAtLWdpdCBhL1B5dGhvbi9keW5sb2FkX2hwdXguYyBiL1B5dGhvbi9keW5sb2FkX2hwdXguYwppbmRleCAxOGE4MTM3Li4xMDA0MDEwIDEwMDY0NAotLS0gYS9QeXRob24vZHlubG9hZF9ocHV4LmMKKysrIGIvUHl0aG9uL2R5bmxvYWRfaHB1eC5jCkBAIC0xNSwxMSArMTUsMTAgQEAKIAogY29uc3Qgc3RydWN0IGZpbGVkZXNjciBfUHlJbXBvcnRfRHluTG9hZEZpbGV0YWJbXSA9IHsKICAgICB7U0hMSUJfRVhULCAicmIiLCBDX0VYVEVOU0lPTn0sCi0gICAgeyJtb2R1bGUiU0hMSUJfRVhULCAicmIiLCBDX0VYVEVOU0lPTn0sCiAgICAgezAsIDB9CiB9OwogCi1kbF9mdW5jcHRyIF9QeUltcG9ydF9HZXREeW5Mb2FkRnVuYyhjb25zdCBjaGFyICpmcW5hbWUsIGNvbnN0IGNoYXIgKnNob3J0bmFtZSwKK2RsX2Z1bmNwdHIgX1B5SW1wb3J0X0dldER5bkxvYWRGdW5jKGNvbnN0IGNoYXIgKnNob3J0bmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKnBhdGhuYW1lLCBGSUxFICpmcCkKIHsKICAgICBkbF9mdW5jcHRyIHA7CmRpZmYgLS1naXQgYS9QeXRob24vZHlubG9hZF9uZXh0LmMgYi9QeXRob24vZHlubG9hZF9uZXh0LmMKaW5kZXggY2FiZjliOS4uNWNhZmY4YiAxMDA2NDQKLS0tIGEvUHl0aG9uL2R5bmxvYWRfbmV4dC5jCisrKyBiL1B5dGhvbi9keW5sb2FkX25leHQuYwpAQCAtMTAsNyArMTAsNiBAQAogCiBjb25zdCBzdHJ1Y3QgZmlsZWRlc2NyIF9QeUltcG9ydF9EeW5Mb2FkRmlsZXRhYltdID0gewogICAgIHsiLnNvIiwgInJiIiwgQ19FWFRFTlNJT059LAotICAgIHsibW9kdWxlLnNvIiwgInJiIiwgQ19FWFRFTlNJT059LAogICAgIHswLCAwfQogfTsKIApAQCAtMzEsOCArMzAsOCBAQAogI2RlZmluZSBMSU5LT1BUSU9OUyBOU0xJTktNT0RVTEVfT1BUSU9OX0JJTkROT1d8IFwKICAgICBOU0xJTktNT0RVTEVfT1BUSU9OX1JFVFVSTl9PTl9FUlJPUnxOU0xJTktNT0RVTEVfT1BUSU9OX1BSSVZBVEUKICNlbmRpZgotZGxfZnVuY3B0ciBfUHlJbXBvcnRfR2V0RHluTG9hZEZ1bmMoY29uc3QgY2hhciAqZnFuYW1lLCBjb25zdCBjaGFyICpzaG9ydG5hbWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqcGF0aG5hbWUsIEZJTEUgKmZwKQorZGxfZnVuY3B0ciBfUHlJbXBvcnRfR2V0RHluTG9hZEZ1bmMoY29uc3QgY2hhciAqc2hvcnRuYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqcGF0aG5hbWUsIEZJTEUgKmZwKQogewogICAgIGRsX2Z1bmNwdHIgcCA9IE5VTEw7CiAgICAgY2hhciBmdW5jbmFtZVsyNThdOwpkaWZmIC0tZ2l0IGEvUHl0aG9uL2R5bmxvYWRfb3MyLmMgYi9QeXRob24vZHlubG9hZF9vczIuYwppbmRleCAxMDFjMDI0Li5mNzI2NGRhIDEwMDY0NAotLS0gYS9QeXRob24vZHlubG9hZF9vczIuYworKysgYi9QeXRob24vZHlubG9hZF9vczIuYwpAQCAtMTUsNyArMTUsNyBAQAogICAgIHswLCAwfQogfTsKIAotZGxfZnVuY3B0ciBfUHlJbXBvcnRfR2V0RHluTG9hZEZ1bmMoY29uc3QgY2hhciAqZnFuYW1lLCBjb25zdCBjaGFyICpzaG9ydG5hbWUsCitkbF9mdW5jcHRyIF9QeUltcG9ydF9HZXREeW5Mb2FkRnVuYyhjb25zdCBjaGFyICpzaG9ydG5hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpwYXRobmFtZSwgRklMRSAqZnApCiB7CiAgICAgZGxfZnVuY3B0ciBwOwpkaWZmIC0tZ2l0IGEvUHl0aG9uL2R5bmxvYWRfc2hsaWIuYyBiL1B5dGhvbi9keW5sb2FkX3NobGliLmMKaW5kZXggN2VhNTEwZS4uYWIyNDIzOCAxMDA2NDQKLS0tIGEvUHl0aG9uL2R5bmxvYWRfc2hsaWIuYworKysgYi9QeXRob24vZHlubG9hZF9zaGxpYi5jCkBAIC0zOSw3ICszOSw2IEBACiBjb25zdCBzdHJ1Y3QgZmlsZWRlc2NyIF9QeUltcG9ydF9EeW5Mb2FkRmlsZXRhYltdID0gewogI2lmZGVmIF9fQ1lHV0lOX18KICAgICB7Ii5kbGwiLCAicmIiLCBDX0VYVEVOU0lPTn0sCi0gICAgeyJtb2R1bGUuZGxsIiwgInJiIiwgQ19FWFRFTlNJT059LAogI2Vsc2UgIC8qICFfX0NZR1dJTl9fICovCiAjaWYgZGVmaW5lZChQWU9TX09TMikgJiYgZGVmaW5lZChQWUNDX0dDQykKICAgICB7Ii5weWQiLCAicmIiLCBDX0VYVEVOU0lPTn0sCkBAIC00OCwxNSArNDcsMTAgQEAKICNpZmRlZiBfX1ZNUwogICAgIHsiLmV4ZSIsICJyYiIsIENfRVhURU5TSU9OfSwKICAgICB7Ii5FWEUiLCAicmIiLCBDX0VYVEVOU0lPTn0sCi0gICAgeyJtb2R1bGUuZXhlIiwgInJiIiwgQ19FWFRFTlNJT059LAotICAgIHsiTU9EVUxFLkVYRSIsICJyYiIsIENfRVhURU5TSU9OfSwKICNlbHNlICAvKiAhX19WTVMgKi8KICAgICB7Ii4iIFNPQUJJICIuc28iLCAicmIiLCBDX0VYVEVOU0lPTn0sCi0gICAgeyJtb2R1bGUuIiBTT0FCSSAiLnNvIiwgInJiIiwgQ19FWFRFTlNJT059LAogICAgIHsiLmFiaSIgUFlUSE9OX0FCSV9TVFJJTkcgIi5zbyIsICJyYiIsIENfRVhURU5TSU9OfSwKLSAgICB7Im1vZHVsZS5hYmkiIFBZVEhPTl9BQklfU1RSSU5HICIuc28iLCAicmIiLCBDX0VYVEVOU0lPTn0sCiAgICAgeyIuc28iLCAicmIiLCBDX0VYVEVOU0lPTn0sCi0gICAgeyJtb2R1bGUuc28iLCAicmIiLCBDX0VYVEVOU0lPTn0sCiAjZW5kaWYgIC8qIF9fVk1TICovCiAjZW5kaWYgIC8qIGRlZmluZWQoUFlPU19PUzIpICYmIGRlZmluZWQoUFlDQ19HQ0MpICovCiAjZW5kaWYgIC8qIF9fQ1lHV0lOX18gKi8KQEAgLTc1LDcgKzY5LDcgQEAKIHN0YXRpYyBpbnQgbmhhbmRsZXMgPSAwOwogCiAKLWRsX2Z1bmNwdHIgX1B5SW1wb3J0X0dldER5bkxvYWRGdW5jKGNvbnN0IGNoYXIgKmZxbmFtZSwgY29uc3QgY2hhciAqc2hvcnRuYW1lLAorZGxfZnVuY3B0ciBfUHlJbXBvcnRfR2V0RHluTG9hZEZ1bmMoY29uc3QgY2hhciAqc2hvcnRuYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqcGF0aG5hbWUsIEZJTEUgKmZwKQogewogICAgIGRsX2Z1bmNwdHIgcDsKZGlmZiAtLWdpdCBhL1B5dGhvbi9keW5sb2FkX3dpbi5jIGIvUHl0aG9uL2R5bmxvYWRfd2luLmMKaW5kZXggNzNhMWRjZi4uMmNiZmU5ZiAxMDA2NDQKLS0tIGEvUHl0aG9uL2R5bmxvYWRfd2luLmMKKysrIGIvUHl0aG9uL2R5bmxvYWRfd2luLmMKQEAgLTE3MSw0MyArMTcxLDM4IEBACiAgICAgcmV0dXJuIE5VTEw7CiB9CiAKLWRsX2Z1bmNwdHIgX1B5SW1wb3J0X0dldER5bkxvYWRGdW5jKGNvbnN0IGNoYXIgKmZxbmFtZSwgY29uc3QgY2hhciAqc2hvcnRuYW1lLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqcGF0aG5hbWUsIEZJTEUgKmZwKQorZGxfZnVuY3B0ciBfUHlJbXBvcnRfR2V0RHluTG9hZFdpbmRvd3MoY29uc3QgY2hhciAqc2hvcnRuYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlPYmplY3QgKnBhdGhuYW1lLCBGSUxFICpmcCkKIHsKICAgICBkbF9mdW5jcHRyIHA7CiAgICAgY2hhciBmdW5jbmFtZVsyNThdLCAqaW1wb3J0X3B5dGhvbjsKKyAgICB3Y2hhcl90ICp3cGF0aG5hbWU7CiAKICNpZm5kZWYgX0RFQlVHCiAgICAgX1B5X0NoZWNrUHl0aG9uMygpOwogI2VuZGlmCiAKKyAgICB3cGF0aG5hbWUgPSBQeVVuaWNvZGVfQXNVbmljb2RlKHBhdGhuYW1lKTsKKyAgICBpZiAod3BhdGhuYW1lID09IE5VTEwpCisgICAgICAgIHJldHVybiBOVUxMOworCiAgICAgUHlPU19zbnByaW50ZihmdW5jbmFtZSwgc2l6ZW9mKGZ1bmNuYW1lKSwgIlB5SW5pdF8lLjIwMHMiLCBzaG9ydG5hbWUpOwogCiAgICAgewogICAgICAgICBISU5TVEFOQ0UgaERMTCA9IE5VTEw7Ci0gICAgICAgIGNoYXIgcGF0aGJ1ZlsyNjBdOwotICAgICAgICBMUFRTVFIgZHVtbXk7CiAgICAgICAgIHVuc2lnbmVkIGludCBvbGRfbW9kZTsKICAgICAgICAgVUxPTkdfUFRSIGNvb2tpZSA9IDA7Ci0gICAgICAgIC8qIFdlIHVzZSBMb2FkTGlicmFyeUV4IHNvIFdpbmRvd3MgbG9va3MgZm9yIGRlcGVuZGVudCBETExzCi0gICAgICAgICAgICBpbiBkaXJlY3Rvcnkgb2YgcGF0aG5hbWUgZmlyc3QuICBIb3dldmVyLCBXaW5kb3dzOTUKLSAgICAgICAgICAgIGNhbiBzb21ldGltZXMgbm90IHdvcmsgY29ycmVjdGx5IHVubGVzcyB0aGUgYWJzb2x1dGUKLSAgICAgICAgICAgIHBhdGggaXMgdXNlZC4gIElmIEdldEZ1bGxQYXRoTmFtZSgpIGZhaWxzLCB0aGUgTG9hZExpYnJhcnkKLSAgICAgICAgICAgIHdpbGwgY2VydGFpbmx5IGZhaWwgdG9vLCBzbyB1c2UgaXRzIGVycm9yIGNvZGUgKi8KIAogICAgICAgICAvKiBEb24ndCBkaXNwbGF5IGEgbWVzc2FnZSBib3ggd2hlbiBQeXRob24gY2FuJ3QgbG9hZCBhIERMTCAqLwogICAgICAgICBvbGRfbW9kZSA9IFNldEVycm9yTW9kZShTRU1fRkFJTENSSVRJQ0FMRVJST1JTKTsKIAotICAgICAgICBpZiAoR2V0RnVsbFBhdGhOYW1lKHBhdGhuYW1lLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZihwYXRoYnVmKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoYnVmLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICZkdW1teSkpIHsKLSAgICAgICAgICAgIFVMT05HX1BUUiBjb29raWUgPSBfUHlfQWN0aXZhdGVBY3RDdHgoKTsKLSAgICAgICAgICAgIC8qIFhYWCBUaGlzIGNhbGwgZG9lc24ndCBleGlzdCBpbiBXaW5kb3dzIENFICovCi0gICAgICAgICAgICBoRExMID0gTG9hZExpYnJhcnlFeChwYXRobmFtZSwgTlVMTCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExPQURfV0lUSF9BTFRFUkVEX1NFQVJDSF9QQVRIKTsKLSAgICAgICAgICAgIF9QeV9EZWFjdGl2YXRlQWN0Q3R4KGNvb2tpZSk7Ci0gICAgICAgIH0KKyAgICAgICAgY29va2llID0gX1B5X0FjdGl2YXRlQWN0Q3R4KCk7CisgICAgICAgIC8qIFdlIHVzZSBMb2FkTGlicmFyeUV4IHNvIFdpbmRvd3MgbG9va3MgZm9yIGRlcGVuZGVudCBETExzCisgICAgICAgICAgICBpbiBkaXJlY3Rvcnkgb2YgcGF0aG5hbWUgZmlyc3QuICovCisgICAgICAgIC8qIFhYWCBUaGlzIGNhbGwgZG9lc24ndCBleGlzdCBpbiBXaW5kb3dzIENFICovCisgICAgICAgIGhETEwgPSBMb2FkTGlicmFyeUV4Vyh3cGF0aG5hbWUsIE5VTEwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMT0FEX1dJVEhfQUxURVJFRF9TRUFSQ0hfUEFUSCk7CisgICAgICAgIF9QeV9EZWFjdGl2YXRlQWN0Q3R4KGNvb2tpZSk7CiAKICAgICAgICAgLyogcmVzdG9yZSBvbGQgZXJyb3IgbW9kZSBzZXR0aW5ncyAqLwogICAgICAgICBTZXRFcnJvck1vZGUob2xkX21vZGUpOwpAQCAtMjU0LDMxICsyNDksMzMgQEAKICAgICAgICAgICAgICAgICAgICAgIkRMTCBsb2FkIGZhaWxlZDogIik7CiAKICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfQXBwZW5kQW5kRGVsKCZtZXNzYWdlLAotICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfRnJvbVVuaWNvZGUoCisgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9Gcm9tV2lkZUNoYXIoCiAgICAgICAgICAgICAgICAgICAgICAgICB0aGVJbmZvLAogICAgICAgICAgICAgICAgICAgICAgICAgdGhlTGVuZ3RoKSk7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBQeUVycl9TZXRPYmplY3QoUHlFeGNfSW1wb3J0RXJyb3IsIG1lc3NhZ2UpOwotICAgICAgICAgICAgUHlfWERFQ1JFRihtZXNzYWdlKTsKKyAgICAgICAgICAgIGlmIChtZXNzYWdlICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICBQeUVycl9TZXRPYmplY3QoUHlFeGNfSW1wb3J0RXJyb3IsIG1lc3NhZ2UpOworICAgICAgICAgICAgICAgIFB5X0RFQ1JFRihtZXNzYWdlKTsKKyAgICAgICAgICAgIH0KICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgY2hhciBidWZmZXJbMjU2XTsKIAorICAgICAgICAgICAgUHlPU19zbnByaW50ZihidWZmZXIsIHNpemVvZihidWZmZXIpLAogI2lmZGVmIF9ERUJVRwotICAgICAgICAgICAgUHlPU19zbnByaW50ZihidWZmZXIsIHNpemVvZihidWZmZXIpLCAicHl0aG9uJWQlZF9kLmRsbCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICJweXRob24lZCVkX2QuZGxsIiwKICNlbHNlCi0gICAgICAgICAgICBQeU9TX3NucHJpbnRmKGJ1ZmZlciwgc2l6ZW9mKGJ1ZmZlciksICJweXRob24lZCVkLmRsbCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICJweXRob24lZCVkLmRsbCIsCiAjZW5kaWYKICAgICAgICAgICAgICAgICAgICAgICAgICAgUFlfTUFKT1JfVkVSU0lPTixQWV9NSU5PUl9WRVJTSU9OKTsKICAgICAgICAgICAgIGltcG9ydF9weXRob24gPSBHZXRQeXRob25JbXBvcnQoaERMTCk7CiAKICAgICAgICAgICAgIGlmIChpbXBvcnRfcHl0aG9uICYmCiAgICAgICAgICAgICAgICAgc3RyY2FzZWNtcChidWZmZXIsaW1wb3J0X3B5dGhvbikpIHsKLSAgICAgICAgICAgICAgICBQeU9TX3NucHJpbnRmKGJ1ZmZlciwgc2l6ZW9mKGJ1ZmZlciksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTW9kdWxlIHVzZSBvZiAlLjE1MHMgY29uZmxpY3RzICIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ3aXRoIHRoaXMgdmVyc2lvbiBvZiBQeXRob24uIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltcG9ydF9weXRob24pOwotICAgICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19JbXBvcnRFcnJvcixidWZmZXIpOworICAgICAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19JbXBvcnRFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk1vZHVsZSB1c2Ugb2YgJS4xNTBzIGNvbmZsaWN0cyAiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ3aXRoIHRoaXMgdmVyc2lvbiBvZiBQeXRob24uIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1wb3J0X3B5dGhvbik7CiAgICAgICAgICAgICAgICAgRnJlZUxpYnJhcnkoaERMTCk7CiAgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgICAgICB9CmRpZmYgLS1naXQgYS9QeXRob24vZXJyb3JzLmMgYi9QeXRob24vZXJyb3JzLmMKaW5kZXggNWE5YTYyNC4uMzFmYTllMiAxMDA2NDQKLS0tIGEvUHl0aG9uL2Vycm9ycy5jCisrKyBiL1B5dGhvbi9lcnJvcnMuYwpAQCAtMzQxLDExICszNDEsOSBAQAogUHlFcnJfU2V0RnJvbUVycm5vV2l0aEZpbGVuYW1lT2JqZWN0KFB5T2JqZWN0ICpleGMsIFB5T2JqZWN0ICpmaWxlbmFtZU9iamVjdCkKIHsKICAgICBQeU9iamVjdCAqbWVzc2FnZTsKLSAgICBQeU9iamVjdCAqdjsKKyAgICBQeU9iamVjdCAqdiwgKmFyZ3M7CiAgICAgaW50IGkgPSBlcnJubzsKLSNpZm5kZWYgTVNfV0lORE9XUwotICAgIGNoYXIgKnM7Ci0jZWxzZQorI2lmZGVmIE1TX1dJTkRPV1MKICAgICBXQ0hBUiAqc19idWYgPSBOVUxMOwogI2VuZGlmIC8qIFVuaXgvV2luZG93cyAqLwogCkBAIC0zNTUsMTEgKzM1MywxNCBAQAogI2VuZGlmCiAKICNpZm5kZWYgTVNfV0lORE9XUwotICAgIGlmIChpID09IDApCi0gICAgICAgIHMgPSAiRXJyb3IiOyAvKiBTb21ldGltZXMgZXJybm8gZGlkbid0IGdldCBzZXQgKi8KLSAgICBlbHNlCi0gICAgICAgIHMgPSBzdHJlcnJvcihpKTsKLSAgICBtZXNzYWdlID0gUHlVbmljb2RlX0RlY29kZVVURjgocywgc3RybGVuKHMpLCAiaWdub3JlIik7CisgICAgaWYgKGkgIT0gMCkgeworICAgICAgICBjaGFyICpzID0gc3RyZXJyb3IoaSk7CisgICAgICAgIG1lc3NhZ2UgPSBQeVVuaWNvZGVfRGVjb2RlTG9jYWxlKHMsICJzdXJyb2dhdGVlc2NhcGUiKTsKKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIC8qIFNvbWV0aW1lcyBlcnJubyBkaWRuJ3QgZ2V0IHNldCAqLworICAgICAgICBtZXNzYWdlID0gUHlVbmljb2RlX0Zyb21TdHJpbmcoIkVycm9yIik7CisgICAgfQogI2Vsc2UKICAgICBpZiAoaSA9PSAwKQogICAgICAgICBtZXNzYWdlID0gUHlVbmljb2RlX0Zyb21TdHJpbmcoIkVycm9yIik7IC8qIFNvbWV0aW1lcyBlcnJubyBkaWRuJ3QgZ2V0IHNldCAqLwpAQCAtMzk1LDcgKzM5Niw3IEBACiAgICAgICAgICAgICAgICAgLyogcmVtb3ZlIHRyYWlsaW5nIGNyL2xmIGFuZCBkb3RzICovCiAgICAgICAgICAgICAgICAgd2hpbGUgKGxlbiA+IDAgJiYgKHNfYnVmW2xlbi0xXSA8PSBMJyAnIHx8IHNfYnVmW2xlbi0xXSA9PSBMJy4nKSkKICAgICAgICAgICAgICAgICAgICAgc19idWZbLS1sZW5dID0gTCdcMCc7Ci0gICAgICAgICAgICAgICAgbWVzc2FnZSA9IFB5VW5pY29kZV9Gcm9tVW5pY29kZShzX2J1ZiwgbGVuKTsKKyAgICAgICAgICAgICAgICBtZXNzYWdlID0gUHlVbmljb2RlX0Zyb21XaWRlQ2hhcihzX2J1ZiwgbGVuKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0KQEAgLTQxMCwxNCArNDExLDE4IEBACiAgICAgfQogCiAgICAgaWYgKGZpbGVuYW1lT2JqZWN0ICE9IE5VTEwpCi0gICAgICAgIHYgPSBQeV9CdWlsZFZhbHVlKCIoaU9PKSIsIGksIG1lc3NhZ2UsIGZpbGVuYW1lT2JqZWN0KTsKKyAgICAgICAgYXJncyA9IFB5X0J1aWxkVmFsdWUoIihpT08pIiwgaSwgbWVzc2FnZSwgZmlsZW5hbWVPYmplY3QpOwogICAgIGVsc2UKLSAgICAgICAgdiA9IFB5X0J1aWxkVmFsdWUoIihpTykiLCBpLCBtZXNzYWdlKTsKKyAgICAgICAgYXJncyA9IFB5X0J1aWxkVmFsdWUoIihpTykiLCBpLCBtZXNzYWdlKTsKICAgICBQeV9ERUNSRUYobWVzc2FnZSk7CiAKLSAgICBpZiAodiAhPSBOVUxMKSB7Ci0gICAgICAgIFB5RXJyX1NldE9iamVjdChleGMsIHYpOwotICAgICAgICBQeV9ERUNSRUYodik7CisgICAgaWYgKGFyZ3MgIT0gTlVMTCkgeworICAgICAgICB2ID0gUHlPYmplY3RfQ2FsbChleGMsIGFyZ3MsIE5VTEwpOworICAgICAgICBQeV9ERUNSRUYoYXJncyk7CisgICAgICAgIGlmICh2ICE9IE5VTEwpIHsKKyAgICAgICAgICAgIFB5RXJyX1NldE9iamVjdCgoUHlPYmplY3QgKikgUHlfVFlQRSh2KSwgdik7CisgICAgICAgICAgICBQeV9ERUNSRUYodik7CisgICAgICAgIH0KICAgICB9CiAjaWZkZWYgTVNfV0lORE9XUwogICAgIExvY2FsRnJlZShzX2J1Zik7CkBAIC00NjQsNyArNDY5LDcgQEAKICAgICBpbnQgbGVuOwogICAgIFdDSEFSICpzX2J1ZiA9IE5VTEw7IC8qIEZyZWUgdmlhIExvY2FsRnJlZSAqLwogICAgIFB5T2JqZWN0ICptZXNzYWdlOwotICAgIFB5T2JqZWN0ICp2OworICAgIFB5T2JqZWN0ICphcmdzLCAqdjsKICAgICBEV09SRCBlcnIgPSAoRFdPUkQpaWVycjsKICAgICBpZiAoZXJyPT0wKSBlcnIgPSBHZXRMYXN0RXJyb3IoKTsKICAgICBsZW4gPSBGb3JtYXRNZXNzYWdlVygKQEAgLTQ4Nyw3ICs0OTIsNyBAQAogICAgICAgICAvKiByZW1vdmUgdHJhaWxpbmcgY3IvbGYgYW5kIGRvdHMgKi8KICAgICAgICAgd2hpbGUgKGxlbiA+IDAgJiYgKHNfYnVmW2xlbi0xXSA8PSBMJyAnIHx8IHNfYnVmW2xlbi0xXSA9PSBMJy4nKSkKICAgICAgICAgICAgIHNfYnVmWy0tbGVuXSA9IEwnXDAnOwotICAgICAgICBtZXNzYWdlID0gUHlVbmljb2RlX0Zyb21Vbmljb2RlKHNfYnVmLCBsZW4pOworICAgICAgICBtZXNzYWdlID0gUHlVbmljb2RlX0Zyb21XaWRlQ2hhcihzX2J1ZiwgbGVuKTsKICAgICB9CiAKICAgICBpZiAobWVzc2FnZSA9PSBOVUxMKQpAQCAtNDk2LDE1ICs1MDEsMjAgQEAKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogCi0gICAgaWYgKGZpbGVuYW1lT2JqZWN0ICE9IE5VTEwpCi0gICAgICAgIHYgPSBQeV9CdWlsZFZhbHVlKCIoaU9PKSIsIGVyciwgbWVzc2FnZSwgZmlsZW5hbWVPYmplY3QpOwotICAgIGVsc2UKLSAgICAgICAgdiA9IFB5X0J1aWxkVmFsdWUoIihpTykiLCBlcnIsIG1lc3NhZ2UpOworICAgIGlmIChmaWxlbmFtZU9iamVjdCA9PSBOVUxMKQorICAgICAgICBmaWxlbmFtZU9iamVjdCA9IFB5X05vbmU7CisgICAgLyogVGhpcyBpcyB0aGUgY29uc3RydWN0b3Igc2lnbmF0dXJlIGZvciBwYXNzaW5nIGEgV2luZG93cyBlcnJvciBjb2RlLgorICAgICAgIFRoZSBQT1NJWCB0cmFuc2xhdGlvbiB3aWxsIGJlIGZpZ3VyZWQgb3V0IGJ5IHRoZSBjb25zdHJ1Y3Rvci4gKi8KKyAgICBhcmdzID0gUHlfQnVpbGRWYWx1ZSgiKGlPT2kpIiwgMCwgbWVzc2FnZSwgZmlsZW5hbWVPYmplY3QsIGVycik7CiAgICAgUHlfREVDUkVGKG1lc3NhZ2UpOwogCi0gICAgaWYgKHYgIT0gTlVMTCkgewotICAgICAgICBQeUVycl9TZXRPYmplY3QoZXhjLCB2KTsKLSAgICAgICAgUHlfREVDUkVGKHYpOworICAgIGlmIChhcmdzICE9IE5VTEwpIHsKKyAgICAgICAgdiA9IFB5T2JqZWN0X0NhbGwoZXhjLCBhcmdzLCBOVUxMKTsKKyAgICAgICAgUHlfREVDUkVGKGFyZ3MpOworICAgICAgICBpZiAodiAhPSBOVUxMKSB7CisgICAgICAgICAgICBQeUVycl9TZXRPYmplY3QoKFB5T2JqZWN0ICopIFB5X1RZUEUodiksIHYpOworICAgICAgICAgICAgUHlfREVDUkVGKHYpOworICAgICAgICB9CiAgICAgfQogICAgIExvY2FsRnJlZShzX2J1Zik7CiAgICAgcmV0dXJuIE5VTEw7CkBAIC02NTYsNyArNjY2LDcgQEAKICAgICAgICAgaWYgKGJhc2VzID09IE5VTEwpCiAgICAgICAgICAgICBnb3RvIGZhaWx1cmU7CiAgICAgfQotICAgIC8qIENyZWF0ZSBhIHJlYWwgbmV3LXN0eWxlIGNsYXNzLiAqLworICAgIC8qIENyZWF0ZSBhIHJlYWwgY2xhc3MuICovCiAgICAgcmVzdWx0ID0gUHlPYmplY3RfQ2FsbEZ1bmN0aW9uKChQeU9iamVjdCAqKSZQeVR5cGVfVHlwZSwgInNPTyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvdCsxLCBiYXNlcywgZGljdCk7CiAgIGZhaWx1cmU6CkBAIC03MDcsNiArNzE3LDcgQEAKIHZvaWQKIFB5RXJyX1dyaXRlVW5yYWlzYWJsZShQeU9iamVjdCAqb2JqKQogeworICAgIF9QeV9JREVOVElGSUVSKF9fbW9kdWxlX18pOwogICAgIFB5T2JqZWN0ICpmLCAqdCwgKnYsICp0YjsKICAgICBQeUVycl9GZXRjaCgmdCwgJnYsICZ0Yik7CiAgICAgZiA9IFB5U3lzX0dldE9iamVjdCgic3RkZXJyIik7CkBAIC03MjMsNyArNzM0LDcgQEAKICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lID0gZG90KzE7CiAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIG1vZHVsZU5hbWUgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKHQsICJfX21vZHVsZV9fIik7CisgICAgICAgICAgICBtb2R1bGVOYW1lID0gX1B5T2JqZWN0X0dldEF0dHJJZCh0LCAmUHlJZF9fX21vZHVsZV9fKTsKICAgICAgICAgICAgIGlmIChtb2R1bGVOYW1lID09IE5VTEwpCiAgICAgICAgICAgICAgICAgUHlGaWxlX1dyaXRlU3RyaW5nKCI8dW5rbm93bj4iLCBmKTsKICAgICAgICAgICAgIGVsc2UgewpAQCAtNzc0LDYgKzc4NSwxMiBAQAogUHlFcnJfU3ludGF4TG9jYXRpb25FeChjb25zdCBjaGFyICpmaWxlbmFtZSwgaW50IGxpbmVubywgaW50IGNvbF9vZmZzZXQpCiB7CiAgICAgUHlPYmplY3QgKmV4YywgKnYsICp0YiwgKnRtcDsKKyAgICBfUHlfSURFTlRJRklFUihmaWxlbmFtZSk7CisgICAgX1B5X0lERU5USUZJRVIobGluZW5vKTsKKyAgICBfUHlfSURFTlRJRklFUihtc2cpOworICAgIF9QeV9JREVOVElGSUVSKG9mZnNldCk7CisgICAgX1B5X0lERU5USUZJRVIocHJpbnRfZmlsZV9hbmRfbGluZSk7CisgICAgX1B5X0lERU5USUZJRVIodGV4dCk7CiAKICAgICAvKiBhZGQgYXR0cmlidXRlcyBmb3IgdGhlIGxpbmUgbnVtYmVyIGFuZCBmaWxlbmFtZSBmb3IgdGhlIGVycm9yICovCiAgICAgUHlFcnJfRmV0Y2goJmV4YywgJnYsICZ0Yik7CkBAIC03ODQsNyArODAxLDcgQEAKICAgICBpZiAodG1wID09IE5VTEwpCiAgICAgICAgIFB5RXJyX0NsZWFyKCk7CiAgICAgZWxzZSB7Ci0gICAgICAgIGlmIChQeU9iamVjdF9TZXRBdHRyU3RyaW5nKHYsICJsaW5lbm8iLCB0bXApKQorICAgICAgICBpZiAoX1B5T2JqZWN0X1NldEF0dHJJZCh2LCAmUHlJZF9saW5lbm8sIHRtcCkpCiAgICAgICAgICAgICBQeUVycl9DbGVhcigpOwogICAgICAgICBQeV9ERUNSRUYodG1wKTsKICAgICB9CkBAIC03OTMsNyArODEwLDcgQEAKICAgICAgICAgaWYgKHRtcCA9PSBOVUxMKQogICAgICAgICAgICAgUHlFcnJfQ2xlYXIoKTsKICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICBpZiAoUHlPYmplY3RfU2V0QXR0clN0cmluZyh2LCAib2Zmc2V0IiwgdG1wKSkKKyAgICAgICAgICAgIGlmIChfUHlPYmplY3RfU2V0QXR0cklkKHYsICZQeUlkX29mZnNldCwgdG1wKSkKICAgICAgICAgICAgICAgICBQeUVycl9DbGVhcigpOwogICAgICAgICAgICAgUHlfREVDUkVGKHRtcCk7CiAgICAgICAgIH0KQEAgLTgwMywzNSArODIwLDM1IEBACiAgICAgICAgIGlmICh0bXAgPT0gTlVMTCkKICAgICAgICAgICAgIFB5RXJyX0NsZWFyKCk7CiAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgaWYgKFB5T2JqZWN0X1NldEF0dHJTdHJpbmcodiwgImZpbGVuYW1lIiwgdG1wKSkKKyAgICAgICAgICAgIGlmIChfUHlPYmplY3RfU2V0QXR0cklkKHYsICZQeUlkX2ZpbGVuYW1lLCB0bXApKQogICAgICAgICAgICAgICAgIFB5RXJyX0NsZWFyKCk7CiAgICAgICAgICAgICBQeV9ERUNSRUYodG1wKTsKICAgICAgICAgfQogCiAgICAgICAgIHRtcCA9IFB5RXJyX1Byb2dyYW1UZXh0KGZpbGVuYW1lLCBsaW5lbm8pOwogICAgICAgICBpZiAodG1wKSB7Ci0gICAgICAgICAgICBpZiAoUHlPYmplY3RfU2V0QXR0clN0cmluZyh2LCAidGV4dCIsIHRtcCkpCisgICAgICAgICAgICBpZiAoX1B5T2JqZWN0X1NldEF0dHJJZCh2LCAmUHlJZF90ZXh0LCB0bXApKQogICAgICAgICAgICAgICAgIFB5RXJyX0NsZWFyKCk7CiAgICAgICAgICAgICBQeV9ERUNSRUYodG1wKTsKICAgICAgICAgfQogICAgIH0KLSAgICBpZiAoUHlPYmplY3RfU2V0QXR0clN0cmluZyh2LCAib2Zmc2V0IiwgUHlfTm9uZSkpIHsKKyAgICBpZiAoX1B5T2JqZWN0X1NldEF0dHJJZCh2LCAmUHlJZF9vZmZzZXQsIFB5X05vbmUpKSB7CiAgICAgICAgIFB5RXJyX0NsZWFyKCk7CiAgICAgfQogICAgIGlmIChleGMgIT0gUHlFeGNfU3ludGF4RXJyb3IpIHsKLSAgICAgICAgaWYgKCFQeU9iamVjdF9IYXNBdHRyU3RyaW5nKHYsICJtc2ciKSkgeworICAgICAgICBpZiAoIV9QeU9iamVjdF9IYXNBdHRySWQodiwgJlB5SWRfbXNnKSkgewogICAgICAgICAgICAgdG1wID0gUHlPYmplY3RfU3RyKHYpOwogICAgICAgICAgICAgaWYgKHRtcCkgewotICAgICAgICAgICAgICAgIGlmIChQeU9iamVjdF9TZXRBdHRyU3RyaW5nKHYsICJtc2ciLCB0bXApKQorICAgICAgICAgICAgICAgIGlmIChfUHlPYmplY3RfU2V0QXR0cklkKHYsICZQeUlkX21zZywgdG1wKSkKICAgICAgICAgICAgICAgICAgICAgUHlFcnJfQ2xlYXIoKTsKICAgICAgICAgICAgICAgICBQeV9ERUNSRUYodG1wKTsKICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgUHlFcnJfQ2xlYXIoKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQotICAgICAgICBpZiAoIVB5T2JqZWN0X0hhc0F0dHJTdHJpbmcodiwgInByaW50X2ZpbGVfYW5kX2xpbmUiKSkgewotICAgICAgICAgICAgaWYgKFB5T2JqZWN0X1NldEF0dHJTdHJpbmcodiwgInByaW50X2ZpbGVfYW5kX2xpbmUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlfTm9uZSkpCisgICAgICAgIGlmICghX1B5T2JqZWN0X0hhc0F0dHJJZCh2LCAmUHlJZF9wcmludF9maWxlX2FuZF9saW5lKSkgeworICAgICAgICAgICAgaWYgKF9QeU9iamVjdF9TZXRBdHRySWQodiwgJlB5SWRfcHJpbnRfZmlsZV9hbmRfbGluZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5X05vbmUpKQogICAgICAgICAgICAgICAgIFB5RXJyX0NsZWFyKCk7CiAgICAgICAgIH0KICAgICB9CmRpZmYgLS1naXQgYS9QeXRob24vZmlsZXV0aWxzLmMgYi9QeXRob24vZmlsZXV0aWxzLmMKaW5kZXggYzU2M2VhYS4uNTAxY2I4YyAxMDA2NDQKLS0tIGEvUHl0aG9uL2ZpbGV1dGlscy5jCisrKyBiL1B5dGhvbi9maWxldXRpbHMuYwpAQCAtMyw2ICszLDQwIEBACiAjICBpbmNsdWRlIDx3aW5kb3dzLmg+CiAjZW5kaWYKIAorI2lmZGVmIEhBVkVfTEFOR0lORk9fSAorI2luY2x1ZGUgPGxhbmdpbmZvLmg+CisjZW5kaWYKKworUHlPYmplY3QgKgorX1B5X2RldmljZV9lbmNvZGluZyhpbnQgZmQpCit7CisjaWYgZGVmaW5lZChNU19XSU5ET1dTKSB8fCBkZWZpbmVkKE1TX1dJTjY0KQorICAgIFVJTlQgY3A7CisjZW5kaWYKKyAgICBpZiAoIV9QeVZlcmlmeV9mZChmZCkgfHwgIWlzYXR0eShmZCkpIHsKKyAgICAgICAgUHlfUkVUVVJOX05PTkU7CisgICAgfQorI2lmIGRlZmluZWQoTVNfV0lORE9XUykgfHwgZGVmaW5lZChNU19XSU42NCkKKyAgICBpZiAoZmQgPT0gMCkKKyAgICAgICAgY3AgPSBHZXRDb25zb2xlQ1AoKTsKKyAgICBlbHNlIGlmIChmZCA9PSAxIHx8IGZkID09IDIpCisgICAgICAgIGNwID0gR2V0Q29uc29sZU91dHB1dENQKCk7CisgICAgZWxzZQorICAgICAgICBjcCA9IDA7CisgICAgLyogR2V0Q29uc29sZUNQKCkgYW5kIEdldENvbnNvbGVPdXRwdXRDUCgpIHJldHVybiAwIGlmIHRoZSBhcHBsaWNhdGlvbgorICAgICAgIGhhcyBubyBjb25zb2xlICovCisgICAgaWYgKGNwICE9IDApCisgICAgICAgIHJldHVybiBQeVVuaWNvZGVfRnJvbUZvcm1hdCgiY3AldSIsICh1bnNpZ25lZCBpbnQpY3ApOworI2VsaWYgZGVmaW5lZChDT0RFU0VUKQorICAgIHsKKyAgICAgICAgY2hhciAqY29kZXNldCA9IG5sX2xhbmdpbmZvKENPREVTRVQpOworICAgICAgICBpZiAoY29kZXNldCAhPSBOVUxMICYmIGNvZGVzZXRbMF0gIT0gMCkKKyAgICAgICAgICAgIHJldHVybiBQeVVuaWNvZGVfRnJvbVN0cmluZyhjb2Rlc2V0KTsKKyAgICB9CisjZW5kaWYKKyAgICBQeV9SRVRVUk5fTk9ORTsKK30KKwogI2lmZGVmIEhBVkVfU1RBVAogCiAvKiBEZWNvZGUgYSBieXRlIHN0cmluZyBmcm9tIHRoZSBsb2NhbGUgZW5jb2Rpbmcgd2l0aCB0aGUKQEAgLTE2LDcgKzUwLDkgQEAKICAgIFJldHVybiBhIHBvaW50ZXIgdG8gYSBuZXdseSBhbGxvY2F0ZWQgd2lkZSBjaGFyYWN0ZXIgc3RyaW5nICh1c2UKICAgIFB5TWVtX0ZyZWUoKSB0byBmcmVlIHRoZSBtZW1vcnkpIGFuZCB3cml0ZSB0aGUgbnVtYmVyIG9mIHdyaXR0ZW4gd2lkZQogICAgY2hhcmFjdGVycyBleGNsdWRpbmcgdGhlIG51bGwgY2hhcmFjdGVyIGludG8gKnNpemUgaWYgc2l6ZSBpcyBub3QgTlVMTCwgb3IKLSAgIE5VTEwgb24gZXJyb3IgKGNvbnZlcnNpb24gb3IgbWVtb3J5IGFsbG9jYXRpb24gZXJyb3IpLgorICAgTlVMTCBvbiBlcnJvciAoZGVjb2Rpbmcgb3IgbWVtb3J5IGFsbG9jYXRpb24gZXJyb3IpLiBJZiBzaXplIGlzIG5vdCBOVUxMLAorICAgKnNpemUgaXMgc2V0IHRvIChzaXplX3QpLTEgb24gbWVtb3J5IGVycm9yIGFuZCAoc2l6ZV90KS0yIG9uIGRlY29kaW5nCisgICBlcnJvci4KIAogICAgQ29udmVyc2lvbiBlcnJvcnMgc2hvdWxkIG5ldmVyIGhhcHBlbiwgdW5sZXNzIHRoZXJlIGlzIGEgYnVnIGluIHRoZSBDCiAgICBsaWJyYXJ5LiAqLwpAQCAtODIsOCArMTE4LDkgQEAKICAgICAgICAgICAgICAgIHNpbmNlIHdlIHByb3ZpZGUgZXZlcnl0aGluZyB0aGF0IHdlIGhhdmUgLQogICAgICAgICAgICAgICAgdW5sZXNzIHRoZXJlIGlzIGEgYnVnIGluIHRoZSBDIGxpYnJhcnksIG9yIEkKICAgICAgICAgICAgICAgIG1pc3VuZGVyc3Rvb2QgaG93IG1icnRvd2Mgd29ya3MuICovCi0gICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgInVuZXhwZWN0ZWQgbWJydG93YyByZXN1bHQgLTJcbiIpOwogICAgICAgICAgICAgUHlNZW1fRnJlZShyZXMpOworICAgICAgICAgICAgaWYgKHNpemUgIT0gTlVMTCkKKyAgICAgICAgICAgICAgICAqc2l6ZSA9IChzaXplX3QpLTI7CiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICAgICAgfQogICAgICAgICBpZiAoY29udmVydGVkID09IChzaXplX3QpLTEpIHsKQEAgLTExMiw3ICsxNDksOCBAQAogICAgICAgIGlzIEFTQ0lJIChpLmUuIGVzY2FwZSBhbGwgYnl0ZXMgPiAxMjguIFRoaXMgd2lsbCBzdGlsbCByb3VuZHRyaXAKICAgICAgICBjb3JyZWN0bHkgaW4gdGhlIGxvY2FsZSdzIGNoYXJzZXQsIHdoaWNoIG11c3QgYmUgYW4gQVNDSUkgc3VwZXJzZXQuICovCiAgICAgcmVzID0gUHlNZW1fTWFsbG9jKChzdHJsZW4oYXJnKSsxKSpzaXplb2Yod2NoYXJfdCkpOwotICAgIGlmICghcmVzKSBnb3RvIG9vbTsKKyAgICBpZiAoIXJlcykKKyAgICAgICAgZ290byBvb207CiAgICAgaW4gPSAodW5zaWduZWQgY2hhciopYXJnOwogICAgIG91dCA9IHJlczsKICAgICB3aGlsZSgqaW4pCkBAIC0xMjYsNyArMTY0LDggQEAKICAgICAgICAgKnNpemUgPSBvdXQgLSByZXM7CiAgICAgcmV0dXJuIHJlczsKIG9vbToKLSAgICBmcHJpbnRmKHN0ZGVyciwgIm91dCBvZiBtZW1vcnlcbiIpOworICAgIGlmIChzaXplICE9IE5VTEwpCisgICAgICAgICpzaXplID0gKHNpemVfdCktMTsKICAgICByZXR1cm4gTlVMTDsKIH0KIApAQCAtMTM3LDEwICsxNzYsMTAgQEAKICAgIFRoaXMgZnVuY3Rpb24gaXMgdGhlIHJldmVyc2Ugb2YgX1B5X2NoYXIyd2NoYXIoKS4KIAogICAgUmV0dXJuIGEgcG9pbnRlciB0byBhIG5ld2x5IGFsbG9jYXRlZCBieXRlIHN0cmluZyAodXNlIFB5TWVtX0ZyZWUoKSB0byBmcmVlCi0gICB0aGUgbWVtb3J5KSwgb3IgTlVMTCBvbiBjb252ZXJzaW9uIG9yIG1lbW9yeSBhbGxvY2F0aW9uIGVycm9yLgorICAgdGhlIG1lbW9yeSksIG9yIE5VTEwgb24gZW5jb2Rpbmcgb3IgbWVtb3J5IGFsbG9jYXRpb24gZXJyb3IuCiAKICAgIElmIGVycm9yX3BvcyBpcyBub3QgTlVMTDogKmVycm9yX3BvcyBpcyB0aGUgaW5kZXggb2YgdGhlIGludmFsaWQgY2hhcmFjdGVyCi0gICBvbiBjb252ZXJzaW9uIGVycm9yLCBvciAoc2l6ZV90KS0xIG90aGVyd2lzZS4gKi8KKyAgIG9uIGVuY29kaW5nIGVycm9yLCBvciAoc2l6ZV90KS0xIG90aGVyd2lzZS4gKi8KIGNoYXIqCiBfUHlfd2NoYXIyY2hhcihjb25zdCB3Y2hhcl90ICp0ZXh0LCBzaXplX3QgKmVycm9yX3BvcykKIHsKQEAgLTIzNSw4ICsyNzQsOCBAQAogLyogQ2FsbCBfd3N0YXQoKSBvbiBXaW5kb3dzLCBvciBlbmNvZGUgdGhlIHBhdGggdG8gdGhlIGZpbGVzeXN0ZW0gZW5jb2RpbmcgYW5kCiAgICBjYWxsIHN0YXQoKSBvdGhlcndpc2UuIE9ubHkgZmlsbCBzdF9tb2RlIGF0dHJpYnV0ZSBvbiBXaW5kb3dzLgogCi0gICBSZXR1cm4gMCBvbiBzdWNjZXNzLCAtMSBvbiBfd3N0YXQoKSAvIHN0YXQoKSBlcnJvciBvciAoaWYgUHlFcnJfT2NjdXJyZWQoKSkKLSAgIHVuaWNvZGUgZXJyb3IuICovCisgICBSZXR1cm4gMCBvbiBzdWNjZXNzLCAtMSBvbiBfd3N0YXQoKSAvIHN0YXQoKSBlcnJvciwgLTIgaWYgYW4gZXhjZXB0aW9uIHdhcworICAgcmFpc2VkLiAqLwogCiBpbnQKIF9QeV9zdGF0KFB5T2JqZWN0ICpwYXRoLCBzdHJ1Y3Qgc3RhdCAqc3RhdGJ1ZikKQEAgLTI0NCw4ICsyODMsMTIgQEAKICNpZmRlZiBNU19XSU5ET1dTCiAgICAgaW50IGVycjsKICAgICBzdHJ1Y3QgX3N0YXQgd3N0YXRidWY7CisgICAgd2NoYXJfdCAqd3BhdGg7CiAKLSAgICBlcnIgPSBfd3N0YXQoUHlVbmljb2RlX0FTX1VOSUNPREUocGF0aCksICZ3c3RhdGJ1Zik7CisgICAgd3BhdGggPSBQeVVuaWNvZGVfQXNVbmljb2RlKHBhdGgpOworICAgIGlmICh3cGF0aCA9PSBOVUxMKQorICAgICAgICByZXR1cm4gLTI7CisgICAgZXJyID0gX3dzdGF0KHdwYXRoLCAmd3N0YXRidWYpOwogICAgIGlmICghZXJyKQogICAgICAgICBzdGF0YnVmLT5zdF9tb2RlID0gd3N0YXRidWYuc3RfbW9kZTsKICAgICByZXR1cm4gZXJyOwpAQCAtMjUzLDcgKzI5Niw3IEBACiAgICAgaW50IHJldDsKICAgICBQeU9iamVjdCAqYnl0ZXMgPSBQeVVuaWNvZGVfRW5jb2RlRlNEZWZhdWx0KHBhdGgpOwogICAgIGlmIChieXRlcyA9PSBOVUxMKQotICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIHJldHVybiAtMjsKICAgICByZXQgPSBzdGF0KFB5Qnl0ZXNfQVNfU1RSSU5HKGJ5dGVzKSwgc3RhdGJ1Zik7CiAgICAgUHlfREVDUkVGKGJ5dGVzKTsKICAgICByZXR1cm4gcmV0OwpAQCAtMjk3LDE4ICszNDAsMjkgQEAKIF9QeV9mb3BlbihQeU9iamVjdCAqcGF0aCwgY29uc3QgY2hhciAqbW9kZSkKIHsKICNpZmRlZiBNU19XSU5ET1dTCisgICAgd2NoYXJfdCAqd3BhdGg7CiAgICAgd2NoYXJfdCB3bW9kZVsxMF07CiAgICAgaW50IHVzaXplOwogCisgICAgaWYgKCFQeVVuaWNvZGVfQ2hlY2socGF0aCkpIHsKKyAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1R5cGVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICJzdHIgZmlsZSBwYXRoIGV4cGVjdGVkIHVuZGVyIFdpbmRvd3MsIGdvdCAlUiIsCisgICAgICAgICAgICAgICAgICAgICBQeV9UWVBFKHBhdGgpKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorICAgIHdwYXRoID0gUHlVbmljb2RlX0FzVW5pY29kZShwYXRoKTsKKyAgICBpZiAod3BhdGggPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKICAgICB1c2l6ZSA9IE11bHRpQnl0ZVRvV2lkZUNoYXIoQ1BfQUNQLCAwLCBtb2RlLCAtMSwgd21vZGUsIHNpemVvZih3bW9kZSkpOwogICAgIGlmICh1c2l6ZSA9PSAwKQogICAgICAgICByZXR1cm4gTlVMTDsKIAotICAgIHJldHVybiBfd2ZvcGVuKFB5VW5pY29kZV9BU19VTklDT0RFKHBhdGgpLCB3bW9kZSk7CisgICAgcmV0dXJuIF93Zm9wZW4od3BhdGgsIHdtb2RlKTsKICNlbHNlCiAgICAgRklMRSAqZjsKLSAgICBQeU9iamVjdCAqYnl0ZXMgPSBQeVVuaWNvZGVfRW5jb2RlRlNEZWZhdWx0KHBhdGgpOwotICAgIGlmIChieXRlcyA9PSBOVUxMKQorICAgIFB5T2JqZWN0ICpieXRlczsKKyAgICBpZiAoIVB5VW5pY29kZV9GU0NvbnZlcnRlcihwYXRoLCAmYnl0ZXMpKQogICAgICAgICByZXR1cm4gTlVMTDsKICAgICBmID0gZm9wZW4oUHlCeXRlc19BU19TVFJJTkcoYnl0ZXMpLCBtb2RlKTsKICAgICBQeV9ERUNSRUYoYnl0ZXMpOwpAQCAtMzE5LDcgKzM3Myw3IEBACiAjaWZkZWYgSEFWRV9SRUFETElOSwogCiAvKiBSZWFkIHZhbHVlIG9mIHN5bWJvbGljIGxpbmsuIEVuY29kZSB0aGUgcGF0aCB0byB0aGUgbG9jYWxlIGVuY29kaW5nLCBkZWNvZGUKLSAgIHRoZSByZXN1bHQgZnJvbSB0aGUgbG9jYWxlIGVuY29kaW5nLiAqLworICAgdGhlIHJlc3VsdCBmcm9tIHRoZSBsb2NhbGUgZW5jb2RpbmcuIFJldHVybiAtMSBvbiBlcnJvci4gKi8KIAogaW50CiBfUHlfd3JlYWRsaW5rKGNvbnN0IHdjaGFyX3QgKnBhdGgsIHdjaGFyX3QgKmJ1Ziwgc2l6ZV90IGJ1ZnNpeikKQEAgLTM2Myw3ICs0MTcsOCBAQAogI2lmZGVmIEhBVkVfUkVBTFBBVEgKIAogLyogUmV0dXJuIHRoZSBjYW5vbmljYWxpemVkIGFic29sdXRlIHBhdGhuYW1lLiBFbmNvZGUgcGF0aCB0byB0aGUgbG9jYWxlCi0gICBlbmNvZGluZywgZGVjb2RlIHRoZSByZXN1bHQgZnJvbSB0aGUgbG9jYWxlIGVuY29kaW5nLiAqLworICAgZW5jb2RpbmcsIGRlY29kZSB0aGUgcmVzdWx0IGZyb20gdGhlIGxvY2FsZSBlbmNvZGluZy4KKyAgIFJldHVybiBOVUxMIG9uIGVycm9yLiAqLwogCiB3Y2hhcl90KgogX1B5X3dyZWFscGF0aChjb25zdCB3Y2hhcl90ICpwYXRoLApAQCAtNDAxLDcgKzQ1Niw4IEBACiAjZW5kaWYKIAogLyogR2V0IHRoZSBjdXJyZW50IGRpcmVjdG9yeS4gc2l6ZSBpcyB0aGUgYnVmZmVyIHNpemUgaW4gd2lkZSBjaGFyYWN0ZXJzCi0gICBpbmNsdWRpbmcgdGhlIG51bGwgY2hhcmFjdGVyLiBEZWNvZGUgdGhlIHBhdGggZnJvbSB0aGUgbG9jYWxlIGVuY29kaW5nLiAqLworICAgaW5jbHVkaW5nIHRoZSBudWxsIGNoYXJhY3Rlci4gRGVjb2RlIHRoZSBwYXRoIGZyb20gdGhlIGxvY2FsZSBlbmNvZGluZy4KKyAgIFJldHVybiBOVUxMIG9uIGVycm9yLiAqLwogCiB3Y2hhcl90KgogX1B5X3dnZXRjd2Qod2NoYXJfdCAqYnVmLCBzaXplX3Qgc2l6ZSkKZGlmZiAtLWdpdCBhL1B5dGhvbi9mb3JtYXR0ZXJfdW5pY29kZS5jIGIvUHl0aG9uL2Zvcm1hdHRlcl91bmljb2RlLmMKaW5kZXggYzM1MDkwNy4uNThlNjZlMCAxMDA2NDQKLS0tIGEvUHl0aG9uL2Zvcm1hdHRlcl91bmljb2RlLmMKKysrIGIvUHl0aG9uL2Zvcm1hdHRlcl91bmljb2RlLmMKQEAgLTMsMTIgKzMsMTUxMCBAQAogICAgb2YgaW50Ll9fZmxvYXRfXywgZXRjLiwgdGhhdCB0YWtlIGFuZCByZXR1cm4gdW5pY29kZSBvYmplY3RzICovCiAKICNpbmNsdWRlICJQeXRob24uaCIKLSNpbmNsdWRlICIuLi9PYmplY3RzL3N0cmluZ2xpYi91bmljb2RlZGVmcy5oIgorI2luY2x1ZGUgPGxvY2FsZS5oPgorCisvKiBSYWlzZXMgYW4gZXhjZXB0aW9uIGFib3V0IGFuIHVua25vd24gcHJlc2VudGF0aW9uIHR5cGUgZm9yIHRoaXMKKyAqIHR5cGUuICovCisKK3N0YXRpYyB2b2lkCit1bmtub3duX3ByZXNlbnRhdGlvbl90eXBlKFB5X1VDUzQgcHJlc2VudGF0aW9uX3R5cGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIqIHR5cGVfbmFtZSkKK3sKKyAgICAvKiAlYyBtaWdodCBiZSBvdXQtb2YtcmFuZ2UsIGhlbmNlIHRoZSB0d28gY2FzZXMuICovCisgICAgaWYgKHByZXNlbnRhdGlvbl90eXBlID4gMzIgJiYgcHJlc2VudGF0aW9uX3R5cGUgPCAxMjgpCisgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19WYWx1ZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgIlVua25vd24gZm9ybWF0IGNvZGUgJyVjJyAiCisgICAgICAgICAgICAgICAgICAgICAiZm9yIG9iamVjdCBvZiB0eXBlICclLjIwMHMnIiwKKyAgICAgICAgICAgICAgICAgICAgIChjaGFyKXByZXNlbnRhdGlvbl90eXBlLAorICAgICAgICAgICAgICAgICAgICAgdHlwZV9uYW1lKTsKKyAgICBlbHNlCisgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19WYWx1ZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgIlVua25vd24gZm9ybWF0IGNvZGUgJ1xceCV4JyAiCisgICAgICAgICAgICAgICAgICAgICAiZm9yIG9iamVjdCBvZiB0eXBlICclLjIwMHMnIiwKKyAgICAgICAgICAgICAgICAgICAgICh1bnNpZ25lZCBpbnQpcHJlc2VudGF0aW9uX3R5cGUsCisgICAgICAgICAgICAgICAgICAgICB0eXBlX25hbWUpOworfQorCitzdGF0aWMgdm9pZAoraW52YWxpZF9jb21tYV90eXBlKFB5X1VDUzQgcHJlc2VudGF0aW9uX3R5cGUpCit7CisgICAgaWYgKHByZXNlbnRhdGlvbl90eXBlID4gMzIgJiYgcHJlc2VudGF0aW9uX3R5cGUgPCAxMjgpCisgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19WYWx1ZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgIkNhbm5vdCBzcGVjaWZ5ICcsJyB3aXRoICclYycuIiwKKyAgICAgICAgICAgICAgICAgICAgIChjaGFyKXByZXNlbnRhdGlvbl90eXBlKTsKKyAgICBlbHNlCisgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19WYWx1ZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgIkNhbm5vdCBzcGVjaWZ5ICcsJyB3aXRoICdcXHgleCcuIiwKKyAgICAgICAgICAgICAgICAgICAgICh1bnNpZ25lZCBpbnQpcHJlc2VudGF0aW9uX3R5cGUpOworfQorCisvKgorICAgIGdldF9pbnRlZ2VyIGNvbnN1bWVzIDAgb3IgbW9yZSBkZWNpbWFsIGRpZ2l0IGNoYXJhY3RlcnMgZnJvbSBhbgorICAgIGlucHV0IHN0cmluZywgdXBkYXRlcyAqcmVzdWx0IHdpdGggdGhlIGNvcnJlc3BvbmRpbmcgcG9zaXRpdmUKKyAgICBpbnRlZ2VyLCBhbmQgcmV0dXJucyB0aGUgbnVtYmVyIG9mIGRpZ2l0cyBjb25zdW1lZC4KKworICAgIHJldHVybnMgLTEgb24gZXJyb3IuCisqLworc3RhdGljIGludAorZ2V0X2ludGVnZXIoUHlPYmplY3QgKnN0ciwgUHlfc3NpemVfdCAqcG9zLCBQeV9zc2l6ZV90IGVuZCwKKyAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3QgKnJlc3VsdCkKK3sKKyAgICBQeV9zc2l6ZV90IGFjY3VtdWxhdG9yLCBkaWdpdHZhbDsKKyAgICBpbnQgbnVtZGlnaXRzOworICAgIGFjY3VtdWxhdG9yID0gbnVtZGlnaXRzID0gMDsKKyAgICBmb3IgKDs7KCpwb3MpKyssIG51bWRpZ2l0cysrKSB7CisgICAgICAgIGlmICgqcG9zID49IGVuZCkKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBkaWdpdHZhbCA9IFB5X1VOSUNPREVfVE9ERUNJTUFMKFB5VW5pY29kZV9SRUFEX0NIQVIoc3RyLCAqcG9zKSk7CisgICAgICAgIGlmIChkaWdpdHZhbCA8IDApCisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgLyoKKyAgICAgICAgICAgRGV0ZWN0IHBvc3NpYmxlIG92ZXJmbG93IGJlZm9yZSBpdCBoYXBwZW5zOgorCisgICAgICAgICAgICAgIGFjY3VtdWxhdG9yICogMTAgKyBkaWdpdHZhbCA+IFBZX1NTSVpFX1RfTUFYIGlmIGFuZCBvbmx5IGlmCisgICAgICAgICAgICAgIGFjY3VtdWxhdG9yID4gKFBZX1NTSVpFX1RfTUFYIC0gZGlnaXR2YWwpIC8gMTAuCisgICAgICAgICovCisgICAgICAgIGlmIChhY2N1bXVsYXRvciA+IChQWV9TU0laRV9UX01BWCAtIGRpZ2l0dmFsKSAvIDEwKSB7CisgICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVmFsdWVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAiVG9vIG1hbnkgZGVjaW1hbCBkaWdpdHMgaW4gZm9ybWF0IHN0cmluZyIpOworICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICB9CisgICAgICAgIGFjY3VtdWxhdG9yID0gYWNjdW11bGF0b3IgKiAxMCArIGRpZ2l0dmFsOworICAgIH0KKyAgICAqcmVzdWx0ID0gYWNjdW11bGF0b3I7CisgICAgcmV0dXJuIG51bWRpZ2l0czsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qKioqKioqKioqKiBzdGFuZGFyZCBmb3JtYXQgc3BlY2lmaWVyIHBhcnNpbmcgKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKiByZXR1cm5zIHRydWUgaWYgdGhpcyBjaGFyYWN0ZXIgaXMgYSBzcGVjaWZpZXIgYWxpZ25tZW50IHRva2VuICovCitQeV9MT0NBTF9JTkxJTkUoaW50KQoraXNfYWxpZ25tZW50X3Rva2VuKFB5X1VDUzQgYykKK3sKKyAgICBzd2l0Y2ggKGMpIHsKKyAgICBjYXNlICc8JzogY2FzZSAnPic6IGNhc2UgJz0nOiBjYXNlICdeJzoKKyAgICAgICAgcmV0dXJuIDE7CisgICAgZGVmYXVsdDoKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorfQorCisvKiByZXR1cm5zIHRydWUgaWYgdGhpcyBjaGFyYWN0ZXIgaXMgYSBzaWduIGVsZW1lbnQgKi8KK1B5X0xPQ0FMX0lOTElORShpbnQpCitpc19zaWduX2VsZW1lbnQoUHlfVUNTNCBjKQoreworICAgIHN3aXRjaCAoYykgeworICAgIGNhc2UgJyAnOiBjYXNlICcrJzogY2FzZSAnLSc6CisgICAgICAgIHJldHVybiAxOworICAgIGRlZmF1bHQ6CisgICAgICAgIHJldHVybiAwOworICAgIH0KK30KIAogCi0jZGVmaW5lIEZPUk1BVF9TVFJJTkcgIF9QeVVuaWNvZGVfRm9ybWF0QWR2YW5jZWQKLSNkZWZpbmUgRk9STUFUX0xPTkcgICAgX1B5TG9uZ19Gb3JtYXRBZHZhbmNlZAotI2RlZmluZSBGT1JNQVRfRkxPQVQgICBfUHlGbG9hdF9Gb3JtYXRBZHZhbmNlZAotI2RlZmluZSBGT1JNQVRfQ09NUExFWCBfUHlDb21wbGV4X0Zvcm1hdEFkdmFuY2VkCit0eXBlZGVmIHN0cnVjdCB7CisgICAgUHlfVUNTNCBmaWxsX2NoYXI7CisgICAgUHlfVUNTNCBhbGlnbjsKKyAgICBpbnQgYWx0ZXJuYXRlOworICAgIFB5X1VDUzQgc2lnbjsKKyAgICBQeV9zc2l6ZV90IHdpZHRoOworICAgIGludCB0aG91c2FuZHNfc2VwYXJhdG9yczsKKyAgICBQeV9zc2l6ZV90IHByZWNpc2lvbjsKKyAgICBQeV9VQ1M0IHR5cGU7Cit9IEludGVybmFsRm9ybWF0U3BlYzsKIAotI2luY2x1ZGUgIi4uL09iamVjdHMvc3RyaW5nbGliL2Zvcm1hdHRlci5oIgorI2lmIDAKKy8qIE9jY2Fzc2lvbmFsbHkgdXNlZnVsIGZvciBkZWJ1Z2dpbmcuIFNob3VsZCBub3JtYWxseSBiZSBjb21tZW50ZWQgb3V0LiAqLworc3RhdGljIHZvaWQKK0RFQlVHX1BSSU5UX0ZPUk1BVF9TUEVDKEludGVybmFsRm9ybWF0U3BlYyAqZm9ybWF0KQoreworICAgIHByaW50ZigiaW50ZXJuYWwgZm9ybWF0IHNwZWM6IGZpbGxfY2hhciAlZFxuIiwgZm9ybWF0LT5maWxsX2NoYXIpOworICAgIHByaW50ZigiaW50ZXJuYWwgZm9ybWF0IHNwZWM6IGFsaWduICVkXG4iLCBmb3JtYXQtPmFsaWduKTsKKyAgICBwcmludGYoImludGVybmFsIGZvcm1hdCBzcGVjOiBhbHRlcm5hdGUgJWRcbiIsIGZvcm1hdC0+YWx0ZXJuYXRlKTsKKyAgICBwcmludGYoImludGVybmFsIGZvcm1hdCBzcGVjOiBzaWduICVkXG4iLCBmb3JtYXQtPnNpZ24pOworICAgIHByaW50ZigiaW50ZXJuYWwgZm9ybWF0IHNwZWM6IHdpZHRoICV6ZFxuIiwgZm9ybWF0LT53aWR0aCk7CisgICAgcHJpbnRmKCJpbnRlcm5hbCBmb3JtYXQgc3BlYzogdGhvdXNhbmRzX3NlcGFyYXRvcnMgJWRcbiIsCisgICAgICAgICAgIGZvcm1hdC0+dGhvdXNhbmRzX3NlcGFyYXRvcnMpOworICAgIHByaW50ZigiaW50ZXJuYWwgZm9ybWF0IHNwZWM6IHByZWNpc2lvbiAlemRcbiIsIGZvcm1hdC0+cHJlY2lzaW9uKTsKKyAgICBwcmludGYoImludGVybmFsIGZvcm1hdCBzcGVjOiB0eXBlICVjXG4iLCBmb3JtYXQtPnR5cGUpOworICAgIHByaW50ZigiXG4iKTsKK30KKyNlbmRpZgorCisKKy8qCisgIHB0ciBwb2ludHMgdG8gdGhlIHN0YXJ0IG9mIHRoZSBmb3JtYXRfc3BlYywgZW5kIHBvaW50cyBqdXN0IHBhc3QgaXRzIGVuZC4KKyAgZmlsbHMgaW4gZm9ybWF0IHdpdGggdGhlIHBhcnNlZCBpbmZvcm1hdGlvbi4KKyAgcmV0dXJucyAxIG9uIHN1Y2Nlc3MsIDAgb24gZmFpbHVyZS4KKyAgaWYgZmFpbHVyZSwgc2V0cyB0aGUgZXhjZXB0aW9uCisqLworc3RhdGljIGludAorcGFyc2VfaW50ZXJuYWxfcmVuZGVyX2Zvcm1hdF9zcGVjKFB5T2JqZWN0ICpmb3JtYXRfc3BlYywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IHN0YXJ0LCBQeV9zc2l6ZV90IGVuZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbnRlcm5hbEZvcm1hdFNwZWMgKmZvcm1hdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFyIGRlZmF1bHRfdHlwZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFyIGRlZmF1bHRfYWxpZ24pCit7CisgICAgUHlfc3NpemVfdCBwb3MgPSBzdGFydDsKKyAgICAvKiBlbmQtcG9zIGlzIHVzZWQgdGhyb3VnaG91dCB0aGlzIGNvZGUgdG8gc3BlY2lmeSB0aGUgbGVuZ3RoIG9mCisgICAgICAgdGhlIGlucHV0IHN0cmluZyAqLworI2RlZmluZSBSRUFEX3NwZWMoaW5kZXgpIFB5VW5pY29kZV9SRUFEX0NIQVIoZm9ybWF0X3NwZWMsIGluZGV4KQorCisgICAgUHlfc3NpemVfdCBjb25zdW1lZDsKKyAgICBpbnQgYWxpZ25fc3BlY2lmaWVkID0gMDsKKworICAgIGZvcm1hdC0+ZmlsbF9jaGFyID0gJ1wwJzsKKyAgICBmb3JtYXQtPmFsaWduID0gZGVmYXVsdF9hbGlnbjsKKyAgICBmb3JtYXQtPmFsdGVybmF0ZSA9IDA7CisgICAgZm9ybWF0LT5zaWduID0gJ1wwJzsKKyAgICBmb3JtYXQtPndpZHRoID0gLTE7CisgICAgZm9ybWF0LT50aG91c2FuZHNfc2VwYXJhdG9ycyA9IDA7CisgICAgZm9ybWF0LT5wcmVjaXNpb24gPSAtMTsKKyAgICBmb3JtYXQtPnR5cGUgPSBkZWZhdWx0X3R5cGU7CisKKyAgICAvKiBJZiB0aGUgc2Vjb25kIGNoYXIgaXMgYW4gYWxpZ25tZW50IHRva2VuLAorICAgICAgIHRoZW4gcGFyc2UgdGhlIGZpbGwgY2hhciAqLworICAgIGlmIChlbmQtcG9zID49IDIgJiYgaXNfYWxpZ25tZW50X3Rva2VuKFJFQURfc3BlYyhwb3MrMSkpKSB7CisgICAgICAgIGZvcm1hdC0+YWxpZ24gPSBSRUFEX3NwZWMocG9zKzEpOworICAgICAgICBmb3JtYXQtPmZpbGxfY2hhciA9IFJFQURfc3BlYyhwb3MpOworICAgICAgICBhbGlnbl9zcGVjaWZpZWQgPSAxOworICAgICAgICBwb3MgKz0gMjsKKyAgICB9CisgICAgZWxzZSBpZiAoZW5kLXBvcyA+PSAxICYmIGlzX2FsaWdubWVudF90b2tlbihSRUFEX3NwZWMocG9zKSkpIHsKKyAgICAgICAgZm9ybWF0LT5hbGlnbiA9IFJFQURfc3BlYyhwb3MpOworICAgICAgICBhbGlnbl9zcGVjaWZpZWQgPSAxOworICAgICAgICArK3BvczsKKyAgICB9CisKKyAgICAvKiBQYXJzZSB0aGUgdmFyaW91cyBzaWduIG9wdGlvbnMgKi8KKyAgICBpZiAoZW5kLXBvcyA+PSAxICYmIGlzX3NpZ25fZWxlbWVudChSRUFEX3NwZWMocG9zKSkpIHsKKyAgICAgICAgZm9ybWF0LT5zaWduID0gUkVBRF9zcGVjKHBvcyk7CisgICAgICAgICsrcG9zOworICAgIH0KKworICAgIC8qIElmIHRoZSBuZXh0IGNoYXJhY3RlciBpcyAjLCB3ZSdyZSBpbiBhbHRlcm5hdGUgbW9kZS4gIFRoaXMgb25seQorICAgICAgIGFwcGxpZXMgdG8gaW50ZWdlcnMuICovCisgICAgaWYgKGVuZC1wb3MgPj0gMSAmJiBSRUFEX3NwZWMocG9zKSA9PSAnIycpIHsKKyAgICAgICAgZm9ybWF0LT5hbHRlcm5hdGUgPSAxOworICAgICAgICArK3BvczsKKyAgICB9CisKKyAgICAvKiBUaGUgc3BlY2lhbCBjYXNlIGZvciAwLXBhZGRpbmcgKGJhY2t3YXJkcyBjb21wYXQpICovCisgICAgaWYgKGZvcm1hdC0+ZmlsbF9jaGFyID09ICdcMCcgJiYgZW5kLXBvcyA+PSAxICYmIFJFQURfc3BlYyhwb3MpID09ICcwJykgeworICAgICAgICBmb3JtYXQtPmZpbGxfY2hhciA9ICcwJzsKKyAgICAgICAgaWYgKCFhbGlnbl9zcGVjaWZpZWQpIHsKKyAgICAgICAgICAgIGZvcm1hdC0+YWxpZ24gPSAnPSc7CisgICAgICAgIH0KKyAgICAgICAgKytwb3M7CisgICAgfQorCisgICAgY29uc3VtZWQgPSBnZXRfaW50ZWdlcihmb3JtYXRfc3BlYywgJnBvcywgZW5kLCAmZm9ybWF0LT53aWR0aCk7CisgICAgaWYgKGNvbnN1bWVkID09IC0xKQorICAgICAgICAvKiBPdmVyZmxvdyBlcnJvci4gRXhjZXB0aW9uIGFscmVhZHkgc2V0LiAqLworICAgICAgICByZXR1cm4gMDsKKworICAgIC8qIElmIGNvbnN1bWVkIGlzIDAsIHdlIGRpZG4ndCBjb25zdW1lIGFueSBjaGFyYWN0ZXJzIGZvciB0aGUKKyAgICAgICB3aWR0aC4gSW4gdGhhdCBjYXNlLCByZXNldCB0aGUgd2lkdGggdG8gLTEsIGJlY2F1c2UKKyAgICAgICBnZXRfaW50ZWdlcigpIHdpbGwgaGF2ZSBzZXQgaXQgdG8gemVyby4gLTEgaXMgaG93IHdlIHJlY29yZAorICAgICAgIHRoYXQgdGhlIHdpZHRoIHdhc24ndCBzcGVjaWZpZWQuICovCisgICAgaWYgKGNvbnN1bWVkID09IDApCisgICAgICAgIGZvcm1hdC0+d2lkdGggPSAtMTsKKworICAgIC8qIENvbW1hIHNpZ25pZmllcyBhZGQgdGhvdXNhbmRzIHNlcGFyYXRvcnMgKi8KKyAgICBpZiAoZW5kLXBvcyAmJiBSRUFEX3NwZWMocG9zKSA9PSAnLCcpIHsKKyAgICAgICAgZm9ybWF0LT50aG91c2FuZHNfc2VwYXJhdG9ycyA9IDE7CisgICAgICAgICsrcG9zOworICAgIH0KKworICAgIC8qIFBhcnNlIGZpZWxkIHByZWNpc2lvbiAqLworICAgIGlmIChlbmQtcG9zICYmIFJFQURfc3BlYyhwb3MpID09ICcuJykgeworICAgICAgICArK3BvczsKKworICAgICAgICBjb25zdW1lZCA9IGdldF9pbnRlZ2VyKGZvcm1hdF9zcGVjLCAmcG9zLCBlbmQsICZmb3JtYXQtPnByZWNpc2lvbik7CisgICAgICAgIGlmIChjb25zdW1lZCA9PSAtMSkKKyAgICAgICAgICAgIC8qIE92ZXJmbG93IGVycm9yLiBFeGNlcHRpb24gYWxyZWFkeSBzZXQuICovCisgICAgICAgICAgICByZXR1cm4gMDsKKworICAgICAgICAvKiBOb3QgaGF2aW5nIGEgcHJlY2lzaW9uIGFmdGVyIGEgZG90IGlzIGFuIGVycm9yLiAqLworICAgICAgICBpZiAoY29uc3VtZWQgPT0gMCkgeworICAgICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1ZhbHVlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgIkZvcm1hdCBzcGVjaWZpZXIgbWlzc2luZyBwcmVjaXNpb24iKTsKKyAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICB9CisKKyAgICB9CisKKyAgICAvKiBGaW5hbGx5LCBwYXJzZSB0aGUgdHlwZSBmaWVsZC4gKi8KKworICAgIGlmIChlbmQtcG9zID4gMSkgeworICAgICAgICAvKiBNb3JlIHRoYW4gb25lIGNoYXIgcmVtYWluLCBpbnZhbGlkIGZvcm1hdCBzcGVjaWZpZXIuICovCisgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19WYWx1ZUVycm9yLCAiSW52YWxpZCBmb3JtYXQgc3BlY2lmaWVyIik7CisgICAgICAgIHJldHVybiAwOworICAgIH0KKworICAgIGlmIChlbmQtcG9zID09IDEpIHsKKyAgICAgICAgZm9ybWF0LT50eXBlID0gUkVBRF9zcGVjKHBvcyk7CisgICAgICAgICsrcG9zOworICAgIH0KKworICAgIC8qIERvIGFzIG11Y2ggdmFsaWRhdGluZyBhcyB3ZSBjYW4sIGp1c3QgYnkgbG9va2luZyBhdCB0aGUgZm9ybWF0CisgICAgICAgc3BlY2lmaWVyLiAgRG8gbm90IHRha2UgaW50byBhY2NvdW50IHdoYXQgdHlwZSBvZiBmb3JtYXR0aW5nCisgICAgICAgd2UncmUgZG9pbmcgKGludCwgZmxvYXQsIHN0cmluZykuICovCisKKyAgICBpZiAoZm9ybWF0LT50aG91c2FuZHNfc2VwYXJhdG9ycykgeworICAgICAgICBzd2l0Y2ggKGZvcm1hdC0+dHlwZSkgeworICAgICAgICBjYXNlICdkJzoKKyAgICAgICAgY2FzZSAnZSc6CisgICAgICAgIGNhc2UgJ2YnOgorICAgICAgICBjYXNlICdnJzoKKyAgICAgICAgY2FzZSAnRSc6CisgICAgICAgIGNhc2UgJ0cnOgorICAgICAgICBjYXNlICclJzoKKyAgICAgICAgY2FzZSAnRic6CisgICAgICAgIGNhc2UgJ1wwJzoKKyAgICAgICAgICAgIC8qIFRoZXNlIGFyZSBhbGxvd2VkLiBTZWUgUEVQIDM3OC4qLworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBpbnZhbGlkX2NvbW1hX3R5cGUoZm9ybWF0LT50eXBlKTsKKyAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICB9CisgICAgfQorCisgICAgYXNzZXJ0IChmb3JtYXQtPmFsaWduIDw9IDEyNyk7CisgICAgYXNzZXJ0IChmb3JtYXQtPnNpZ24gPD0gMTI3KTsKKyAgICByZXR1cm4gMTsKK30KKworLyogQ2FsY3VsYXRlIHRoZSBwYWRkaW5nIG5lZWRlZC4gKi8KK3N0YXRpYyB2b2lkCitjYWxjX3BhZGRpbmcoUHlfc3NpemVfdCBuY2hhcnMsIFB5X3NzaXplX3Qgd2lkdGgsIFB5X1VDUzQgYWxpZ24sCisgICAgICAgICAgICAgUHlfc3NpemVfdCAqbl9scGFkZGluZywgUHlfc3NpemVfdCAqbl9ycGFkZGluZywKKyAgICAgICAgICAgICBQeV9zc2l6ZV90ICpuX3RvdGFsKQoreworICAgIGlmICh3aWR0aCA+PSAwKSB7CisgICAgICAgIGlmIChuY2hhcnMgPiB3aWR0aCkKKyAgICAgICAgICAgICpuX3RvdGFsID0gbmNoYXJzOworICAgICAgICBlbHNlCisgICAgICAgICAgICAqbl90b3RhbCA9IHdpZHRoOworICAgIH0KKyAgICBlbHNlIHsKKyAgICAgICAgLyogbm90IHNwZWNpZmllZCwgdXNlIGFsbCBvZiB0aGUgY2hhcnMgYW5kIG5vIG1vcmUgKi8KKyAgICAgICAgKm5fdG90YWwgPSBuY2hhcnM7CisgICAgfQorCisgICAgLyogRmlndXJlIG91dCBob3cgbXVjaCBsZWFkaW5nIHNwYWNlIHdlIG5lZWQsIGJhc2VkIG9uIHRoZQorICAgICAgIGFsaWduaW5nICovCisgICAgaWYgKGFsaWduID09ICc+JykKKyAgICAgICAgKm5fbHBhZGRpbmcgPSAqbl90b3RhbCAtIG5jaGFyczsKKyAgICBlbHNlIGlmIChhbGlnbiA9PSAnXicpCisgICAgICAgICpuX2xwYWRkaW5nID0gKCpuX3RvdGFsIC0gbmNoYXJzKSAvIDI7CisgICAgZWxzZSBpZiAoYWxpZ24gPT0gJzwnIHx8IGFsaWduID09ICc9JykKKyAgICAgICAgKm5fbHBhZGRpbmcgPSAwOworICAgIGVsc2UgeworICAgICAgICAvKiBXZSBzaG91bGQgbmV2ZXIgaGF2ZSBhbiB1bnNwZWNpZmllZCBhbGlnbm1lbnQuICovCisgICAgICAgICpuX2xwYWRkaW5nID0gMDsKKyAgICAgICAgYXNzZXJ0KDApOworICAgIH0KKworICAgICpuX3JwYWRkaW5nID0gKm5fdG90YWwgLSBuY2hhcnMgLSAqbl9scGFkZGluZzsKK30KKworLyogRG8gdGhlIHBhZGRpbmcsIGFuZCByZXR1cm4gYSBwb2ludGVyIHRvIHdoZXJlIHRoZSBjYWxsZXItc3VwcGxpZWQKKyAgIGNvbnRlbnQgZ29lcy4gKi8KK3N0YXRpYyBQeV9zc2l6ZV90CitmaWxsX3BhZGRpbmcoUHlPYmplY3QgKnMsIFB5X3NzaXplX3Qgc3RhcnQsIFB5X3NzaXplX3QgbmNoYXJzLAorICAgICAgICAgICAgIFB5X1VDUzQgZmlsbF9jaGFyLCBQeV9zc2l6ZV90IG5fbHBhZGRpbmcsCisgICAgICAgICAgICAgUHlfc3NpemVfdCBuX3JwYWRkaW5nKQoreworICAgIC8qIFBhZCBvbiBsZWZ0LiAqLworICAgIGlmIChuX2xwYWRkaW5nKQorICAgICAgICBQeVVuaWNvZGVfRmlsbChzLCBzdGFydCwgc3RhcnQgKyBuX2xwYWRkaW5nLCBmaWxsX2NoYXIpOworCisgICAgLyogUGFkIG9uIHJpZ2h0LiAqLworICAgIGlmIChuX3JwYWRkaW5nKQorICAgICAgICBQeVVuaWNvZGVfRmlsbChzLCBzdGFydCArIG5jaGFycyArIG5fbHBhZGRpbmcsCisgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0ICsgbmNoYXJzICsgbl9scGFkZGluZyArIG5fcnBhZGRpbmcsIGZpbGxfY2hhcik7CisKKyAgICAvKiBQb2ludGVyIHRvIHRoZSB1c2VyIGNvbnRlbnQuICovCisgICAgcmV0dXJuIHN0YXJ0ICsgbl9scGFkZGluZzsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qKioqKioqKioqKiBjb21tb24gcm91dGluZXMgZm9yIG51bWVyaWMgZm9ybWF0dGluZyAqKioqKioqKioqKioqKioqKioqKiovCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCisvKiBMb2NhbGUgdHlwZSBjb2Rlcy4gKi8KKyNkZWZpbmUgTFRfQ1VSUkVOVF9MT0NBTEUgMAorI2RlZmluZSBMVF9ERUZBVUxUX0xPQ0FMRSAxCisjZGVmaW5lIExUX05PX0xPQ0FMRSAyCisKKy8qIExvY2FsZSBpbmZvIG5lZWRlZCBmb3IgZm9ybWF0dGluZyBpbnRlZ2VycyBhbmQgdGhlIHBhcnQgb2YgZmxvYXRzCisgICBiZWZvcmUgYW5kIGluY2x1ZGluZyB0aGUgZGVjaW1hbC4gTm90ZSB0aGF0IGxvY2FsZXMgb25seSBzdXBwb3J0CisgICA4LWJpdCBjaGFycywgbm90IHVuaWNvZGUuICovCit0eXBlZGVmIHN0cnVjdCB7CisgICAgUHlPYmplY3QgKmRlY2ltYWxfcG9pbnQ7CisgICAgUHlPYmplY3QgKnRob3VzYW5kc19zZXA7CisgICAgY29uc3QgY2hhciAqZ3JvdXBpbmc7Cit9IExvY2FsZUluZm87CisKKyNkZWZpbmUgU1RBVElDX0xPQ0FMRV9JTkZPX0lOSVQgezAsIDAsIDB9CisKKy8qIGRlc2NyaWJlcyB0aGUgbGF5b3V0IGZvciBhbiBpbnRlZ2VyLCBzZWUgdGhlIGNvbW1lbnQgaW4KKyAgIGNhbGNfbnVtYmVyX3dpZHRocygpIGZvciBkZXRhaWxzICovCit0eXBlZGVmIHN0cnVjdCB7CisgICAgUHlfc3NpemVfdCBuX2xwYWRkaW5nOworICAgIFB5X3NzaXplX3Qgbl9wcmVmaXg7CisgICAgUHlfc3NpemVfdCBuX3NwYWRkaW5nOworICAgIFB5X3NzaXplX3Qgbl9ycGFkZGluZzsKKyAgICBjaGFyIHNpZ247CisgICAgUHlfc3NpemVfdCBuX3NpZ247ICAgICAgLyogbnVtYmVyIG9mIGRpZ2l0cyBuZWVkZWQgZm9yIHNpZ24gKDAvMSkgKi8KKyAgICBQeV9zc2l6ZV90IG5fZ3JvdXBlZF9kaWdpdHM7IC8qIFNwYWNlIHRha2VuIHVwIGJ5IHRoZSBkaWdpdHMsIGluY2x1ZGluZworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW55IGdyb3VwaW5nIGNoYXJzLiAqLworICAgIFB5X3NzaXplX3Qgbl9kZWNpbWFsOyAgIC8qIDAgaWYgb25seSBhbiBpbnRlZ2VyICovCisgICAgUHlfc3NpemVfdCBuX3JlbWFpbmRlcjsgLyogRGlnaXRzIGluIGRlY2ltYWwgYW5kL29yIGV4cG9uZW50IHBhcnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhjbHVkaW5nIHRoZSBkZWNpbWFsIGl0c2VsZiwgaWYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmVzZW50LiAqLworCisgICAgLyogVGhlc2UgMiBhcmUgbm90IHRoZSB3aWR0aHMgb2YgZmllbGRzLCBidXQgYXJlIG5lZWRlZCBieQorICAgICAgIFNUUklOR0xJQl9HUk9VUElORy4gKi8KKyAgICBQeV9zc2l6ZV90IG5fZGlnaXRzOyAgICAvKiBUaGUgbnVtYmVyIG9mIGRpZ2l0cyBiZWZvcmUgYSBkZWNpbWFsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3IgZXhwb25lbnQuICovCisgICAgUHlfc3NpemVfdCBuX21pbl93aWR0aDsgLyogVGhlIG1pbl93aWR0aCB3ZSB1c2VkIHdoZW4gd2UgY29tcHV0ZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgbl9ncm91cGVkX2RpZ2l0cyB3aWR0aC4gKi8KK30gTnVtYmVyRmllbGRXaWR0aHM7CisKKworLyogR2l2ZW4gYSBudW1iZXIgb2YgdGhlIGZvcm06CisgICBkaWdpdHNbcmVtYWluZGVyXQorICAgd2hlcmUgcHRyIHBvaW50cyB0byB0aGUgc3RhcnQgYW5kIGVuZCBwb2ludHMgdG8gdGhlIGVuZCwgZmluZCB3aGVyZQorICAgIHRoZSBpbnRlZ2VyIHBhcnQgZW5kcy4gVGhpcyBjb3VsZCBiZSBhIGRlY2ltYWwsIGFuIGV4cG9uZW50LCBib3RoLAorICAgIG9yIG5laXRoZXIuCisgICBJZiBhIGRlY2ltYWwgcG9pbnQgaXMgcHJlc2VudCwgc2V0ICpoYXNfZGVjaW1hbCBhbmQgaW5jcmVtZW50CisgICAgcmVtYWluZGVyIGJleW9uZCBpdC4KKyAgIFJlc3VsdHMgYXJlIHVuZGVmaW5lZCAoYnV0IHNob3VsZG4ndCBjcmFzaCkgZm9yIGltcHJvcGVybHkKKyAgICBmb3JtYXR0ZWQgc3RyaW5ncy4KKyovCitzdGF0aWMgdm9pZAorcGFyc2VfbnVtYmVyKFB5T2JqZWN0ICpzLCBQeV9zc2l6ZV90IHBvcywgUHlfc3NpemVfdCBlbmQsCisgICAgICAgICAgICAgUHlfc3NpemVfdCAqbl9yZW1haW5kZXIsIGludCAqaGFzX2RlY2ltYWwpCit7CisgICAgUHlfc3NpemVfdCByZW1haW5kZXI7CisKKyAgICB3aGlsZSAocG9zPGVuZCAmJiBpc2RpZ2l0KFB5VW5pY29kZV9SRUFEX0NIQVIocywgcG9zKSkpCisgICAgICAgICsrcG9zOworICAgIHJlbWFpbmRlciA9IHBvczsKKworICAgIC8qIERvZXMgcmVtYWluZGVyIHN0YXJ0IHdpdGggYSBkZWNpbWFsIHBvaW50PyAqLworICAgICpoYXNfZGVjaW1hbCA9IHBvczxlbmQgJiYgUHlVbmljb2RlX1JFQURfQ0hBUihzLCByZW1haW5kZXIpID09ICcuJzsKKworICAgIC8qIFNraXAgdGhlIGRlY2ltYWwgcG9pbnQuICovCisgICAgaWYgKCpoYXNfZGVjaW1hbCkKKyAgICAgICAgcmVtYWluZGVyKys7CisKKyAgICAqbl9yZW1haW5kZXIgPSBlbmQgLSByZW1haW5kZXI7Cit9CisKKy8qIG5vdCBhbGwgZmllbGRzIG9mIGZvcm1hdCBhcmUgdXNlZC4gIGZvciBleGFtcGxlLCBwcmVjaXNpb24gaXMKKyAgIHVudXNlZC4gIHNob3VsZCB0aGlzIHRha2UgZGlzY3JldGUgcGFyYW1zIGluIG9yZGVyIHRvIGJlIG1vcmUgY2xlYXIKKyAgIGFib3V0IHdoYXQgaXQgZG9lcz8gIG9yIGlzIHBhc3NpbmcgYSBzaW5nbGUgZm9ybWF0IHBhcmFtZXRlciBlYXNpZXIKKyAgIGFuZCBtb3JlIGVmZmljaWVudCBlbm91Z2ggdG8ganVzdGlmeSBhIGxpdHRsZSBvYmZ1c2NhdGlvbj8gKi8KK3N0YXRpYyBQeV9zc2l6ZV90CitjYWxjX251bWJlcl93aWR0aHMoTnVtYmVyRmllbGRXaWR0aHMgKnNwZWMsIFB5X3NzaXplX3Qgbl9wcmVmaXgsCisgICAgICAgICAgICAgICAgICAgUHlfVUNTNCBzaWduX2NoYXIsIFB5T2JqZWN0ICpudW1iZXIsIFB5X3NzaXplX3Qgbl9zdGFydCwKKyAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IG5fZW5kLCBQeV9zc2l6ZV90IG5fcmVtYWluZGVyLAorICAgICAgICAgICAgICAgICAgIGludCBoYXNfZGVjaW1hbCwgY29uc3QgTG9jYWxlSW5mbyAqbG9jYWxlLAorICAgICAgICAgICAgICAgICAgIGNvbnN0IEludGVybmFsRm9ybWF0U3BlYyAqZm9ybWF0LCBQeV9VQ1M0ICptYXhjaGFyKQoreworICAgIFB5X3NzaXplX3Qgbl9ub25fZGlnaXRfbm9uX3BhZGRpbmc7CisgICAgUHlfc3NpemVfdCBuX3BhZGRpbmc7CisKKyAgICBzcGVjLT5uX2RpZ2l0cyA9IG5fZW5kIC0gbl9zdGFydCAtIG5fcmVtYWluZGVyIC0gKGhhc19kZWNpbWFsPzE6MCk7CisgICAgc3BlYy0+bl9scGFkZGluZyA9IDA7CisgICAgc3BlYy0+bl9wcmVmaXggPSBuX3ByZWZpeDsKKyAgICBzcGVjLT5uX2RlY2ltYWwgPSBoYXNfZGVjaW1hbCA/IFB5VW5pY29kZV9HRVRfTEVOR1RIKGxvY2FsZS0+ZGVjaW1hbF9wb2ludCkgOiAwOworICAgIHNwZWMtPm5fcmVtYWluZGVyID0gbl9yZW1haW5kZXI7CisgICAgc3BlYy0+bl9zcGFkZGluZyA9IDA7CisgICAgc3BlYy0+bl9ycGFkZGluZyA9IDA7CisgICAgc3BlYy0+c2lnbiA9ICdcMCc7CisgICAgc3BlYy0+bl9zaWduID0gMDsKKworICAgIC8qIHRoZSBvdXRwdXQgd2lsbCBsb29rIGxpa2U6CisgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICAgICAgIHwgPGxwYWRkaW5nPiA8c2lnbj4gPHByZWZpeD4gPHNwYWRkaW5nPiA8Z3JvdXBlZF9kaWdpdHM+IDxkZWNpbWFsPiA8cmVtYWluZGVyPiA8cnBhZGRpbmc+IHwKKyAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisKKyAgICAgICBzaWduIGlzIGNvbXB1dGVkIGZyb20gZm9ybWF0LT5zaWduIGFuZCB0aGUgYWN0dWFsCisgICAgICAgc2lnbiBvZiB0aGUgbnVtYmVyCisKKyAgICAgICBwcmVmaXggaXMgZ2l2ZW4gKGl0J3MgZm9yIHRoZSAnMHgnIHByZWZpeCkKKworICAgICAgIGRpZ2l0cyBpcyBhbHJlYWR5IGtub3duCisKKyAgICAgICB0aGUgdG90YWwgd2lkdGggaXMgZWl0aGVyIGdpdmVuLCBvciBjb21wdXRlZCBmcm9tIHRoZQorICAgICAgIGFjdHVhbCBkaWdpdHMKKworICAgICAgIG9ubHkgb25lIG9mIGxwYWRkaW5nLCBzcGFkZGluZywgYW5kIHJwYWRkaW5nIGNhbiBiZSBub24temVybywKKyAgICAgICBhbmQgaXQncyBjYWxjdWxhdGVkIGZyb20gdGhlIHdpZHRoIGFuZCBvdGhlciBmaWVsZHMKKyAgICAqLworCisgICAgLyogY29tcHV0ZSB0aGUgdmFyaW91cyBwYXJ0cyB3ZSdyZSBnb2luZyB0byB3cml0ZSAqLworICAgIHN3aXRjaCAoZm9ybWF0LT5zaWduKSB7CisgICAgY2FzZSAnKyc6CisgICAgICAgIC8qIGFsd2F5cyBwdXQgYSArIG9yIC0gKi8KKyAgICAgICAgc3BlYy0+bl9zaWduID0gMTsKKyAgICAgICAgc3BlYy0+c2lnbiA9IChzaWduX2NoYXIgPT0gJy0nID8gJy0nIDogJysnKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSAnICc6CisgICAgICAgIHNwZWMtPm5fc2lnbiA9IDE7CisgICAgICAgIHNwZWMtPnNpZ24gPSAoc2lnbl9jaGFyID09ICctJyA/ICctJyA6ICcgJyk7CisgICAgICAgIGJyZWFrOworICAgIGRlZmF1bHQ6CisgICAgICAgIC8qIE5vdCBzcGVjaWZpZWQsIG9yIHRoZSBkZWZhdWx0ICgtKSAqLworICAgICAgICBpZiAoc2lnbl9jaGFyID09ICctJykgeworICAgICAgICAgICAgc3BlYy0+bl9zaWduID0gMTsKKyAgICAgICAgICAgIHNwZWMtPnNpZ24gPSAnLSc7CisgICAgICAgIH0KKyAgICB9CisKKyAgICAvKiBUaGUgbnVtYmVyIG9mIGNoYXJzIHVzZWQgZm9yIG5vbi1kaWdpdHMgYW5kIG5vbi1wYWRkaW5nLiAqLworICAgIG5fbm9uX2RpZ2l0X25vbl9wYWRkaW5nID0gc3BlYy0+bl9zaWduICsgc3BlYy0+bl9wcmVmaXggKyBzcGVjLT5uX2RlY2ltYWwgKworICAgICAgICBzcGVjLT5uX3JlbWFpbmRlcjsKKworICAgIC8qIG1pbl93aWR0aCBjYW4gZ28gbmVnYXRpdmUsIHRoYXQncyBva2F5LiBmb3JtYXQtPndpZHRoID09IC0xIG1lYW5zCisgICAgICAgd2UgZG9uJ3QgY2FyZS4gKi8KKyAgICBpZiAoZm9ybWF0LT5maWxsX2NoYXIgPT0gJzAnICYmIGZvcm1hdC0+YWxpZ24gPT0gJz0nKQorICAgICAgICBzcGVjLT5uX21pbl93aWR0aCA9IGZvcm1hdC0+d2lkdGggLSBuX25vbl9kaWdpdF9ub25fcGFkZGluZzsKKyAgICBlbHNlCisgICAgICAgIHNwZWMtPm5fbWluX3dpZHRoID0gMDsKKworICAgIGlmIChzcGVjLT5uX2RpZ2l0cyA9PSAwKQorICAgICAgICAvKiBUaGlzIGNhc2Ugb25seSBvY2N1cnMgd2hlbiB1c2luZyAnYycgZm9ybWF0dGluZywgd2UgbmVlZAorICAgICAgICAgICB0byBzcGVjaWFsIGNhc2UgaXQgYmVjYXVzZSB0aGUgZ3JvdXBpbmcgY29kZSBhbHdheXMgd2FudHMKKyAgICAgICAgICAgdG8gaGF2ZSBhdCBsZWFzdCBvbmUgY2hhcmFjdGVyLiAqLworICAgICAgICBzcGVjLT5uX2dyb3VwZWRfZGlnaXRzID0gMDsKKyAgICBlbHNlIHsKKyAgICAgICAgUHlfVUNTNCBncm91cGluZ19tYXhjaGFyOworICAgICAgICBzcGVjLT5uX2dyb3VwZWRfZGlnaXRzID0gX1B5VW5pY29kZV9JbnNlcnRUaG91c2FuZHNHcm91cGluZygKKyAgICAgICAgICAgIE5VTEwsIDAsCisgICAgICAgICAgICAwLCBOVUxMLAorICAgICAgICAgICAgc3BlYy0+bl9kaWdpdHMsIHNwZWMtPm5fbWluX3dpZHRoLAorICAgICAgICAgICAgbG9jYWxlLT5ncm91cGluZywgbG9jYWxlLT50aG91c2FuZHNfc2VwLCAmZ3JvdXBpbmdfbWF4Y2hhcik7CisgICAgICAgICptYXhjaGFyID0gUHlfTUFYKCptYXhjaGFyLCBncm91cGluZ19tYXhjaGFyKTsKKyAgICB9CisKKyAgICAvKiBHaXZlbiB0aGUgZGVzaXJlZCB3aWR0aCBhbmQgdGhlIHRvdGFsIG9mIGRpZ2l0IGFuZCBub24tZGlnaXQKKyAgICAgICBzcGFjZSB3ZSBjb25zdW1lLCBzZWUgaWYgd2UgbmVlZCBhbnkgcGFkZGluZy4gZm9ybWF0LT53aWR0aCBjYW4KKyAgICAgICBiZSBuZWdhdGl2ZSAobWVhbmluZyBubyBwYWRkaW5nKSwgYnV0IHRoaXMgY29kZSBzdGlsbCB3b3JrcyBpbgorICAgICAgIHRoYXQgY2FzZS4gKi8KKyAgICBuX3BhZGRpbmcgPSBmb3JtYXQtPndpZHRoIC0KKyAgICAgICAgICAgICAgICAgICAgICAgIChuX25vbl9kaWdpdF9ub25fcGFkZGluZyArIHNwZWMtPm5fZ3JvdXBlZF9kaWdpdHMpOworICAgIGlmIChuX3BhZGRpbmcgPiAwKSB7CisgICAgICAgIC8qIFNvbWUgcGFkZGluZyBpcyBuZWVkZWQuIERldGVybWluZSBpZiBpdCdzIGxlZnQsIHNwYWNlLCBvciByaWdodC4gKi8KKyAgICAgICAgc3dpdGNoIChmb3JtYXQtPmFsaWduKSB7CisgICAgICAgIGNhc2UgJzwnOgorICAgICAgICAgICAgc3BlYy0+bl9ycGFkZGluZyA9IG5fcGFkZGluZzsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlICdeJzoKKyAgICAgICAgICAgIHNwZWMtPm5fbHBhZGRpbmcgPSBuX3BhZGRpbmcgLyAyOworICAgICAgICAgICAgc3BlYy0+bl9ycGFkZGluZyA9IG5fcGFkZGluZyAtIHNwZWMtPm5fbHBhZGRpbmc7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSAnPSc6CisgICAgICAgICAgICBzcGVjLT5uX3NwYWRkaW5nID0gbl9wYWRkaW5nOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgJz4nOgorICAgICAgICAgICAgc3BlYy0+bl9scGFkZGluZyA9IG5fcGFkZGluZzsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgLyogU2hvdWxkbid0IGdldCBoZXJlLCBidXQgdHJlYXQgaXQgYXMgJz4nICovCisgICAgICAgICAgICBzcGVjLT5uX2xwYWRkaW5nID0gbl9wYWRkaW5nOworICAgICAgICAgICAgYXNzZXJ0KDApOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBpZiAoc3BlYy0+bl9scGFkZGluZyB8fCBzcGVjLT5uX3NwYWRkaW5nIHx8IHNwZWMtPm5fcnBhZGRpbmcpCisgICAgICAgICptYXhjaGFyID0gUHlfTUFYKCptYXhjaGFyLCBmb3JtYXQtPmZpbGxfY2hhcik7CisKKyAgICBpZiAoc3BlYy0+bl9kZWNpbWFsKQorICAgICAgICAqbWF4Y2hhciA9IFB5X01BWCgqbWF4Y2hhciwgUHlVbmljb2RlX01BWF9DSEFSX1ZBTFVFKGxvY2FsZS0+ZGVjaW1hbF9wb2ludCkpOworCisgICAgcmV0dXJuIHNwZWMtPm5fbHBhZGRpbmcgKyBzcGVjLT5uX3NpZ24gKyBzcGVjLT5uX3ByZWZpeCArCisgICAgICAgIHNwZWMtPm5fc3BhZGRpbmcgKyBzcGVjLT5uX2dyb3VwZWRfZGlnaXRzICsgc3BlYy0+bl9kZWNpbWFsICsKKyAgICAgICAgc3BlYy0+bl9yZW1haW5kZXIgKyBzcGVjLT5uX3JwYWRkaW5nOworfQorCisvKiBGaWxsIGluIHRoZSBkaWdpdCBwYXJ0cyBvZiBhIG51bWJlcnMncyBzdHJpbmcgcmVwcmVzZW50YXRpb24sCisgICBhcyBkZXRlcm1pbmVkIGluIGNhbGNfbnVtYmVyX3dpZHRocygpLgorICAgUmV0dXJuIC0xIG9uIGVycm9yLCBvciAwIG9uIHN1Y2Nlc3MuICovCitzdGF0aWMgaW50CitmaWxsX251bWJlcihQeU9iamVjdCAqb3V0LCBQeV9zc2l6ZV90IHBvcywgY29uc3QgTnVtYmVyRmllbGRXaWR0aHMgKnNwZWMsCisgICAgICAgICAgICBQeU9iamVjdCAqZGlnaXRzLCBQeV9zc2l6ZV90IGRfc3RhcnQsIFB5X3NzaXplX3QgZF9lbmQsCisgICAgICAgICAgICBQeU9iamVjdCAqcHJlZml4LCBQeV9zc2l6ZV90IHBfc3RhcnQsCisgICAgICAgICAgICBQeV9VQ1M0IGZpbGxfY2hhciwKKyAgICAgICAgICAgIExvY2FsZUluZm8gKmxvY2FsZSwgaW50IHRvdXBwZXIpCit7CisgICAgLyogVXNlZCB0byBrZWVwIHRyYWNrIG9mIGRpZ2l0cywgZGVjaW1hbCwgYW5kIHJlbWFpbmRlci4gKi8KKyAgICBQeV9zc2l6ZV90IGRfcG9zID0gZF9zdGFydDsKKyAgICB1bnNpZ25lZCBpbnQga2luZCA9IFB5VW5pY29kZV9LSU5EKG91dCk7CisgICAgdm9pZCAqZGF0YSA9IFB5VW5pY29kZV9EQVRBKG91dCk7CisgICAgUHlfc3NpemVfdCByOworCisgICAgaWYgKHNwZWMtPm5fbHBhZGRpbmcpIHsKKyAgICAgICAgUHlVbmljb2RlX0ZpbGwob3V0LCBwb3MsIHBvcyArIHNwZWMtPm5fbHBhZGRpbmcsIGZpbGxfY2hhcik7CisgICAgICAgIHBvcyArPSBzcGVjLT5uX2xwYWRkaW5nOworICAgIH0KKyAgICBpZiAoc3BlYy0+bl9zaWduID09IDEpIHsKKyAgICAgICAgUHlVbmljb2RlX1dSSVRFKGtpbmQsIGRhdGEsIHBvcysrLCBzcGVjLT5zaWduKTsKKyAgICB9CisgICAgaWYgKHNwZWMtPm5fcHJlZml4KSB7CisgICAgICAgIGlmIChQeVVuaWNvZGVfQ29weUNoYXJhY3RlcnMob3V0LCBwb3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJlZml4LCBwX3N0YXJ0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwZWMtPm5fcHJlZml4KSA8IDApCisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIGlmICh0b3VwcGVyKSB7CisgICAgICAgICAgICBQeV9zc2l6ZV90IHQ7CisgICAgICAgICAgICBmb3IgKHQgPSAwOyB0IDwgc3BlYy0+bl9wcmVmaXg7IHQrKykgeworICAgICAgICAgICAgICAgIFB5X1VDUzQgYyA9IFB5VW5pY29kZV9SRUFEKGtpbmQsIGRhdGEsIHBvcyArIHQpOworICAgICAgICAgICAgICAgIGMgPSBQeV9UT1VQUEVSKGMpOworICAgICAgICAgICAgICAgIGFzc2VydCAoYyA8PSAxMjcpOworICAgICAgICAgICAgICAgIFB5VW5pY29kZV9XUklURShraW5kLCBkYXRhLCBwb3MgKyB0LCBjKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBwb3MgKz0gc3BlYy0+bl9wcmVmaXg7CisgICAgfQorICAgIGlmIChzcGVjLT5uX3NwYWRkaW5nKSB7CisgICAgICAgIFB5VW5pY29kZV9GaWxsKG91dCwgcG9zLCBwb3MgKyBzcGVjLT5uX3NwYWRkaW5nLCBmaWxsX2NoYXIpOworICAgICAgICBwb3MgKz0gc3BlYy0+bl9zcGFkZGluZzsKKyAgICB9CisKKyAgICAvKiBPbmx5IGZvciB0eXBlICdjJyBzcGVjaWFsIGNhc2UsIGl0IGhhcyBubyBkaWdpdHMuICovCisgICAgaWYgKHNwZWMtPm5fZGlnaXRzICE9IDApIHsKKyAgICAgICAgLyogRmlsbCB0aGUgZGlnaXRzIHdpdGggSW5zZXJ0VGhvdXNhbmRzR3JvdXBpbmcuICovCisgICAgICAgIGNoYXIgKnBkaWdpdHM7CisgICAgICAgIGlmIChQeVVuaWNvZGVfUkVBRFkoZGlnaXRzKSkKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgcGRpZ2l0cyA9IFB5VW5pY29kZV9EQVRBKGRpZ2l0cyk7CisgICAgICAgIGlmIChQeVVuaWNvZGVfS0lORChkaWdpdHMpIDwga2luZCkgeworICAgICAgICAgICAgcGRpZ2l0cyA9IF9QeVVuaWNvZGVfQXNLaW5kKGRpZ2l0cywga2luZCk7CisgICAgICAgICAgICBpZiAocGRpZ2l0cyA9PSBOVUxMKQorICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgfQorICAgICAgICByID0gX1B5VW5pY29kZV9JbnNlcnRUaG91c2FuZHNHcm91cGluZygKKyAgICAgICAgICAgICAgICBvdXQsIHBvcywKKyAgICAgICAgICAgICAgICBzcGVjLT5uX2dyb3VwZWRfZGlnaXRzLAorICAgICAgICAgICAgICAgIHBkaWdpdHMgKyBraW5kICogZF9wb3MsCisgICAgICAgICAgICAgICAgc3BlYy0+bl9kaWdpdHMsIHNwZWMtPm5fbWluX3dpZHRoLAorICAgICAgICAgICAgICAgIGxvY2FsZS0+Z3JvdXBpbmcsIGxvY2FsZS0+dGhvdXNhbmRzX3NlcCwgTlVMTCk7CisgICAgICAgIGlmIChyID09IC0xKQorICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICBhc3NlcnQociA9PSBzcGVjLT5uX2dyb3VwZWRfZGlnaXRzKTsKKyAgICAgICAgaWYgKFB5VW5pY29kZV9LSU5EKGRpZ2l0cykgPCBraW5kKQorICAgICAgICAgICAgUHlNZW1fRnJlZShwZGlnaXRzKTsKKyAgICAgICAgZF9wb3MgKz0gc3BlYy0+bl9kaWdpdHM7CisgICAgfQorICAgIGlmICh0b3VwcGVyKSB7CisgICAgICAgIFB5X3NzaXplX3QgdDsKKyAgICAgICAgZm9yICh0ID0gMDsgdCA8IHNwZWMtPm5fZ3JvdXBlZF9kaWdpdHM7IHQrKykgeworICAgICAgICAgICAgUHlfVUNTNCBjID0gUHlVbmljb2RlX1JFQUQoa2luZCwgZGF0YSwgcG9zICsgdCk7CisgICAgICAgICAgICBjID0gUHlfVE9VUFBFUihjKTsKKyAgICAgICAgICAgIGlmIChjID4gMTI3KSB7CisgICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1N5c3RlbUVycm9yLCAibm9uLWFzY2lpIGdyb3VwZWQgZGlnaXQiKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBQeVVuaWNvZGVfV1JJVEUoa2luZCwgZGF0YSwgcG9zICsgdCwgYyk7CisgICAgICAgIH0KKyAgICB9CisgICAgcG9zICs9IHNwZWMtPm5fZ3JvdXBlZF9kaWdpdHM7CisKKyAgICBpZiAoc3BlYy0+bl9kZWNpbWFsKSB7CisgICAgICAgIGlmIChQeVVuaWNvZGVfQ29weUNoYXJhY3RlcnMob3V0LCBwb3MsIGxvY2FsZS0+ZGVjaW1hbF9wb2ludCwgMCwgc3BlYy0+bl9kZWNpbWFsKSA8IDApCisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIHBvcyArPSBzcGVjLT5uX2RlY2ltYWw7CisgICAgICAgIGRfcG9zICs9IDE7CisgICAgfQorCisgICAgaWYgKHNwZWMtPm5fcmVtYWluZGVyKSB7CisgICAgICAgIGlmIChQeVVuaWNvZGVfQ29weUNoYXJhY3RlcnMob3V0LCBwb3MsIGRpZ2l0cywgZF9wb3MsIHNwZWMtPm5fcmVtYWluZGVyKSA8IDApCisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIHBvcyArPSBzcGVjLT5uX3JlbWFpbmRlcjsKKyAgICAgICAgZF9wb3MgKz0gc3BlYy0+bl9yZW1haW5kZXI7CisgICAgfQorCisgICAgaWYgKHNwZWMtPm5fcnBhZGRpbmcpIHsKKyAgICAgICAgUHlVbmljb2RlX0ZpbGwob3V0LCBwb3MsIHBvcyArIHNwZWMtPm5fcnBhZGRpbmcsIGZpbGxfY2hhcik7CisgICAgICAgIHBvcyArPSBzcGVjLT5uX3JwYWRkaW5nOworICAgIH0KKyAgICByZXR1cm4gMDsKK30KKworc3RhdGljIGNoYXIgbm9fZ3JvdXBpbmdbMV0gPSB7Q0hBUl9NQVh9OworCisvKiBGaW5kIHRoZSBkZWNpbWFsIHBvaW50IGNoYXJhY3RlcihzPyksIHRob3VzYW5kc19zZXBhcmF0b3Iocz8pLCBhbmQKKyAgIGdyb3VwaW5nIGRlc2NyaXB0aW9uLCBlaXRoZXIgZm9yIHRoZSBjdXJyZW50IGxvY2FsZSBpZiB0eXBlIGlzCisgICBMVF9DVVJSRU5UX0xPQ0FMRSwgYSBoYXJkLWNvZGVkIGxvY2FsZSBpZiBMVF9ERUZBVUxUX0xPQ0FMRSwgb3IKKyAgIG5vbmUgaWYgTFRfTk9fTE9DQUxFLiAqLworc3RhdGljIGludAorZ2V0X2xvY2FsZV9pbmZvKGludCB0eXBlLCBMb2NhbGVJbmZvICpsb2NhbGVfaW5mbykKK3sKKyAgICBzd2l0Y2ggKHR5cGUpIHsKKyAgICBjYXNlIExUX0NVUlJFTlRfTE9DQUxFOiB7CisgICAgICAgIHN0cnVjdCBsY29udiAqbG9jYWxlX2RhdGEgPSBsb2NhbGVjb252KCk7CisgICAgICAgIGxvY2FsZV9pbmZvLT5kZWNpbWFsX3BvaW50ID0gUHlVbmljb2RlX0RlY29kZUxvY2FsZSgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxlX2RhdGEtPmRlY2ltYWxfcG9pbnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwpOworICAgICAgICBpZiAobG9jYWxlX2luZm8tPmRlY2ltYWxfcG9pbnQgPT0gTlVMTCkKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgbG9jYWxlX2luZm8tPnRob3VzYW5kc19zZXAgPSBQeVVuaWNvZGVfRGVjb2RlTG9jYWxlKAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhbGVfZGF0YS0+dGhvdXNhbmRzX3NlcCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCk7CisgICAgICAgIGlmIChsb2NhbGVfaW5mby0+dGhvdXNhbmRzX3NlcCA9PSBOVUxMKSB7CisgICAgICAgICAgICBQeV9ERUNSRUYobG9jYWxlX2luZm8tPmRlY2ltYWxfcG9pbnQpOworICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICB9CisgICAgICAgIGxvY2FsZV9pbmZvLT5ncm91cGluZyA9IGxvY2FsZV9kYXRhLT5ncm91cGluZzsKKyAgICAgICAgYnJlYWs7CisgICAgfQorICAgIGNhc2UgTFRfREVGQVVMVF9MT0NBTEU6CisgICAgICAgIGxvY2FsZV9pbmZvLT5kZWNpbWFsX3BvaW50ID0gUHlVbmljb2RlX0Zyb21PcmRpbmFsKCcuJyk7CisgICAgICAgIGxvY2FsZV9pbmZvLT50aG91c2FuZHNfc2VwID0gUHlVbmljb2RlX0Zyb21PcmRpbmFsKCcsJyk7CisgICAgICAgIGlmICghbG9jYWxlX2luZm8tPmRlY2ltYWxfcG9pbnQgfHwgIWxvY2FsZV9pbmZvLT50aG91c2FuZHNfc2VwKSB7CisgICAgICAgICAgICBQeV9YREVDUkVGKGxvY2FsZV9pbmZvLT5kZWNpbWFsX3BvaW50KTsKKyAgICAgICAgICAgIFB5X1hERUNSRUYobG9jYWxlX2luZm8tPnRob3VzYW5kc19zZXApOworICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICB9CisgICAgICAgIGxvY2FsZV9pbmZvLT5ncm91cGluZyA9ICJcMyI7IC8qIEdyb3VwIGV2ZXJ5IDMgY2hhcmFjdGVycy4gIFRoZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaW1wbGljaXQpIHRyYWlsaW5nIDAgbWVhbnMgcmVwZWF0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZmluaXRlbHkuICovCisgICAgICAgIGJyZWFrOworICAgIGNhc2UgTFRfTk9fTE9DQUxFOgorICAgICAgICBsb2NhbGVfaW5mby0+ZGVjaW1hbF9wb2ludCA9IFB5VW5pY29kZV9Gcm9tT3JkaW5hbCgnLicpOworICAgICAgICBsb2NhbGVfaW5mby0+dGhvdXNhbmRzX3NlcCA9IFB5VW5pY29kZV9OZXcoMCwgMCk7CisgICAgICAgIGlmICghbG9jYWxlX2luZm8tPmRlY2ltYWxfcG9pbnQgfHwgIWxvY2FsZV9pbmZvLT50aG91c2FuZHNfc2VwKSB7CisgICAgICAgICAgICBQeV9YREVDUkVGKGxvY2FsZV9pbmZvLT5kZWNpbWFsX3BvaW50KTsKKyAgICAgICAgICAgIFB5X1hERUNSRUYobG9jYWxlX2luZm8tPnRob3VzYW5kc19zZXApOworICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICB9CisgICAgICAgIGxvY2FsZV9pbmZvLT5ncm91cGluZyA9IG5vX2dyb3VwaW5nOworICAgICAgICBicmVhazsKKyAgICBkZWZhdWx0OgorICAgICAgICBhc3NlcnQoMCk7CisgICAgfQorICAgIHJldHVybiAwOworfQorCitzdGF0aWMgdm9pZAorZnJlZV9sb2NhbGVfaW5mbyhMb2NhbGVJbmZvICpsb2NhbGVfaW5mbykKK3sKKyAgICBQeV9YREVDUkVGKGxvY2FsZV9pbmZvLT5kZWNpbWFsX3BvaW50KTsKKyAgICBQeV9YREVDUkVGKGxvY2FsZV9pbmZvLT50aG91c2FuZHNfc2VwKTsKK30KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qKioqKioqKioqKiBzdHJpbmcgZm9ybWF0dGluZyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworCitzdGF0aWMgUHlPYmplY3QgKgorZm9ybWF0X3N0cmluZ19pbnRlcm5hbChQeU9iamVjdCAqdmFsdWUsIGNvbnN0IEludGVybmFsRm9ybWF0U3BlYyAqZm9ybWF0KQoreworICAgIFB5X3NzaXplX3QgbHBhZDsKKyAgICBQeV9zc2l6ZV90IHJwYWQ7CisgICAgUHlfc3NpemVfdCB0b3RhbDsKKyAgICBQeV9zc2l6ZV90IHBvczsKKyAgICBQeV9zc2l6ZV90IGxlbiA9IFB5VW5pY29kZV9HRVRfTEVOR1RIKHZhbHVlKTsKKyAgICBQeU9iamVjdCAqcmVzdWx0ID0gTlVMTDsKKyAgICBQeV9VQ1M0IG1heGNoYXIgPSAxMjc7CisKKyAgICAvKiBzaWduIGlzIG5vdCBhbGxvd2VkIG9uIHN0cmluZ3MgKi8KKyAgICBpZiAoZm9ybWF0LT5zaWduICE9ICdcMCcpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAiU2lnbiBub3QgYWxsb3dlZCBpbiBzdHJpbmcgZm9ybWF0IHNwZWNpZmllciIpOworICAgICAgICBnb3RvIGRvbmU7CisgICAgfQorCisgICAgLyogYWx0ZXJuYXRlIGlzIG5vdCBhbGxvd2VkIG9uIHN0cmluZ3MgKi8KKyAgICBpZiAoZm9ybWF0LT5hbHRlcm5hdGUpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAiQWx0ZXJuYXRlIGZvcm0gKCMpIG5vdCBhbGxvd2VkIGluIHN0cmluZyBmb3JtYXQgIgorICAgICAgICAgICAgICAgICAgICAgICAgInNwZWNpZmllciIpOworICAgICAgICBnb3RvIGRvbmU7CisgICAgfQorCisgICAgLyogJz0nIGFsaWdubWVudCBub3QgYWxsb3dlZCBvbiBzdHJpbmdzICovCisgICAgaWYgKGZvcm1hdC0+YWxpZ24gPT0gJz0nKSB7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgIic9JyBhbGlnbm1lbnQgbm90IGFsbG93ZWQgIgorICAgICAgICAgICAgICAgICAgICAgICAgImluIHN0cmluZyBmb3JtYXQgc3BlY2lmaWVyIik7CisgICAgICAgIGdvdG8gZG9uZTsKKyAgICB9CisKKyAgICAvKiBpZiBwcmVjaXNpb24gaXMgc3BlY2lmaWVkLCBvdXRwdXQgbm8gbW9yZSB0aGF0IGZvcm1hdC5wcmVjaXNpb24KKyAgICAgICBjaGFyYWN0ZXJzICovCisgICAgaWYgKGZvcm1hdC0+cHJlY2lzaW9uID49IDAgJiYgbGVuID49IGZvcm1hdC0+cHJlY2lzaW9uKSB7CisgICAgICAgIGxlbiA9IGZvcm1hdC0+cHJlY2lzaW9uOworICAgIH0KKworICAgIGNhbGNfcGFkZGluZyhsZW4sIGZvcm1hdC0+d2lkdGgsIGZvcm1hdC0+YWxpZ24sICZscGFkLCAmcnBhZCwgJnRvdGFsKTsKKworICAgIGlmIChscGFkICE9IDAgfHwgcnBhZCAhPSAwKQorICAgICAgICBtYXhjaGFyID0gUHlfTUFYKG1heGNoYXIsIGZvcm1hdC0+ZmlsbF9jaGFyKTsKKworICAgIC8qIGFsbG9jYXRlIHRoZSByZXN1bHRpbmcgc3RyaW5nICovCisgICAgcmVzdWx0ID0gUHlVbmljb2RlX05ldyh0b3RhbCwgbWF4Y2hhcik7CisgICAgaWYgKHJlc3VsdCA9PSBOVUxMKQorICAgICAgICBnb3RvIGRvbmU7CisKKyAgICAvKiBXcml0ZSBpbnRvIHRoYXQgc3BhY2UuIEZpcnN0IHRoZSBwYWRkaW5nLiAqLworICAgIHBvcyA9IGZpbGxfcGFkZGluZyhyZXN1bHQsIDAsIGxlbiwKKyAgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0LT5maWxsX2NoYXI9PSdcMCc/JyAnOmZvcm1hdC0+ZmlsbF9jaGFyLAorICAgICAgICAgICAgICAgICAgICAgICBscGFkLCBycGFkKTsKKworICAgIC8qIFRoZW4gdGhlIHNvdXJjZSBzdHJpbmcuICovCisgICAgaWYgKFB5VW5pY29kZV9Db3B5Q2hhcmFjdGVycyhyZXN1bHQsIHBvcywgdmFsdWUsIDAsIGxlbikgPCAwKQorICAgICAgICBQeV9DTEVBUihyZXN1bHQpOworCitkb25lOgorICAgIGFzc2VydCghcmVzdWx0IHx8IF9QeVVuaWNvZGVfQ2hlY2tDb25zaXN0ZW5jeShyZXN1bHQsIDEpKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKioqKioqKioqKiogbG9uZyBmb3JtYXR0aW5nICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKwordHlwZWRlZiBQeU9iamVjdCoKKygqSW50T3JMb25nVG9TdHJpbmcpKFB5T2JqZWN0ICp2YWx1ZSwgaW50IGJhc2UpOworCitzdGF0aWMgUHlPYmplY3QgKgorZm9ybWF0X2ludF9vcl9sb25nX2ludGVybmFsKFB5T2JqZWN0ICp2YWx1ZSwgY29uc3QgSW50ZXJuYWxGb3JtYXRTcGVjICpmb3JtYXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW50T3JMb25nVG9TdHJpbmcgdG9zdHJpbmcpCit7CisgICAgUHlPYmplY3QgKnJlc3VsdCA9IE5VTEw7CisgICAgUHlfVUNTNCBtYXhjaGFyID0gMTI3OworICAgIFB5T2JqZWN0ICp0bXAgPSBOVUxMOworICAgIFB5X3NzaXplX3QgaW51bWVyaWNfY2hhcnM7CisgICAgUHlfVUNTNCBzaWduX2NoYXIgPSAnXDAnOworICAgIFB5X3NzaXplX3Qgbl9kaWdpdHM7ICAgICAgIC8qIGNvdW50IG9mIGRpZ2l0cyBuZWVkIGZyb20gdGhlIGNvbXB1dGVkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyaW5nICovCisgICAgUHlfc3NpemVfdCBuX3JlbWFpbmRlciA9IDA7IC8qIFVzZWQgb25seSBmb3IgJ2MnIGZvcm1hdHRpbmcsIHdoaWNoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2R1Y2VzIG5vbi1kaWdpdHMgKi8KKyAgICBQeV9zc2l6ZV90IG5fcHJlZml4ID0gMDsgICAvKiBDb3VudCBvZiBwcmVmaXggY2hhcnMsIChlLmcuLCAnMHgnKSAqLworICAgIFB5X3NzaXplX3Qgbl90b3RhbDsKKyAgICBQeV9zc2l6ZV90IHByZWZpeCA9IDA7CisgICAgTnVtYmVyRmllbGRXaWR0aHMgc3BlYzsKKyAgICBsb25nIHg7CisgICAgaW50IGVycjsKKworICAgIC8qIExvY2FsZSBzZXR0aW5ncywgZWl0aGVyIGZyb20gdGhlIGFjdHVhbCBsb2NhbGUgb3IKKyAgICAgICBmcm9tIGEgaGFyZC1jb2RlIHBzZXVkby1sb2NhbGUgKi8KKyAgICBMb2NhbGVJbmZvIGxvY2FsZSA9IFNUQVRJQ19MT0NBTEVfSU5GT19JTklUOworCisgICAgLyogbm8gcHJlY2lzaW9uIGFsbG93ZWQgb24gaW50ZWdlcnMgKi8KKyAgICBpZiAoZm9ybWF0LT5wcmVjaXNpb24gIT0gLTEpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAiUHJlY2lzaW9uIG5vdCBhbGxvd2VkIGluIGludGVnZXIgZm9ybWF0IHNwZWNpZmllciIpOworICAgICAgICBnb3RvIGRvbmU7CisgICAgfQorCisgICAgLyogc3BlY2lhbCBjYXNlIGZvciBjaGFyYWN0ZXIgZm9ybWF0dGluZyAqLworICAgIGlmIChmb3JtYXQtPnR5cGUgPT0gJ2MnKSB7CisgICAgICAgIC8qIGVycm9yIHRvIHNwZWNpZnkgYSBzaWduICovCisgICAgICAgIGlmIChmb3JtYXQtPnNpZ24gIT0gJ1wwJykgeworICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlNpZ24gbm90IGFsbG93ZWQgd2l0aCBpbnRlZ2VyIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICIgZm9ybWF0IHNwZWNpZmllciAnYyciKTsKKyAgICAgICAgICAgIGdvdG8gZG9uZTsKKyAgICAgICAgfQorCisgICAgICAgIC8qIHRha2VuIGZyb20gdW5pY29kZW9iamVjdC5jIGZvcm1hdGNoYXIoKSAqLworICAgICAgICAvKiBJbnRlZ2VyIGlucHV0IHRydW5jYXRlZCB0byBhIGNoYXJhY3RlciAqLworICAgICAgICB4ID0gUHlMb25nX0FzTG9uZyh2YWx1ZSk7CisgICAgICAgIGlmICh4ID09IC0xICYmIFB5RXJyX09jY3VycmVkKCkpCisgICAgICAgICAgICBnb3RvIGRvbmU7CisgICAgICAgIGlmICh4IDwgMCB8fCB4ID4gMHgxMGZmZmYpIHsKKyAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19PdmVyZmxvd0Vycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICIlYyBhcmcgbm90IGluIHJhbmdlKDB4MTEwMDAwKSIpOworICAgICAgICAgICAgZ290byBkb25lOworICAgICAgICB9CisgICAgICAgIHRtcCA9IFB5VW5pY29kZV9Gcm9tT3JkaW5hbCh4KTsKKyAgICAgICAgaW51bWVyaWNfY2hhcnMgPSAwOworICAgICAgICBuX2RpZ2l0cyA9IDE7CisgICAgICAgIG1heGNoYXIgPSBQeV9NQVgobWF4Y2hhciwgKFB5X1VDUzQpeCk7CisKKyAgICAgICAgLyogQXMgYSBzb3J0LW9mIGhhY2ssIHdlIHRlbGwgY2FsY19udW1iZXJfd2lkdGhzIHRoYXQgd2Ugb25seQorICAgICAgICAgICBoYXZlICJyZW1haW5kZXIiIGNoYXJhY3RlcnMuIGNhbGNfbnVtYmVyX3dpZHRocyB0aGlua3MKKyAgICAgICAgICAgdGhlc2UgYXJlIGNoYXJhY3RlcnMgdGhhdCBkb24ndCBnZXQgZm9ybWF0dGVkLCBvbmx5IGNvcGllZAorICAgICAgICAgICBpbnRvIHRoZSBvdXRwdXQgc3RyaW5nLiBXZSBkbyB0aGlzIGZvciAnYycgZm9ybWF0dGluZywKKyAgICAgICAgICAgYmVjYXVzZSB0aGUgY2hhcmFjdGVycyBhcmUgbGlrZWx5IHRvIGJlIG5vbi1kaWdpdHMuICovCisgICAgICAgIG5fcmVtYWluZGVyID0gMTsKKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIGludCBiYXNlOworICAgICAgICBpbnQgbGVhZGluZ19jaGFyc190b19za2lwID0gMDsgIC8qIE51bWJlciBvZiBjaGFyYWN0ZXJzIGFkZGVkIGJ5CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlOdW1iZXJfVG9CYXNlIHRoYXQgd2Ugd2FudCB0bworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNraXAgb3Zlci4gKi8KKworICAgICAgICAvKiBDb21wdXRlIHRoZSBiYXNlIGFuZCBob3cgbWFueSBjaGFyYWN0ZXJzIHdpbGwgYmUgYWRkZWQgYnkKKyAgICAgICAgICAgUHlOdW1iZXJfVG9CYXNlICovCisgICAgICAgIHN3aXRjaCAoZm9ybWF0LT50eXBlKSB7CisgICAgICAgIGNhc2UgJ2InOgorICAgICAgICAgICAgYmFzZSA9IDI7CisgICAgICAgICAgICBsZWFkaW5nX2NoYXJzX3RvX3NraXAgPSAyOyAvKiAwYiAqLworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgJ28nOgorICAgICAgICAgICAgYmFzZSA9IDg7CisgICAgICAgICAgICBsZWFkaW5nX2NoYXJzX3RvX3NraXAgPSAyOyAvKiAwbyAqLworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgJ3gnOgorICAgICAgICBjYXNlICdYJzoKKyAgICAgICAgICAgIGJhc2UgPSAxNjsKKyAgICAgICAgICAgIGxlYWRpbmdfY2hhcnNfdG9fc2tpcCA9IDI7IC8qIDB4ICovCisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgZGVmYXVsdDogIC8qIHNob3VsZG4ndCBiZSBuZWVkZWQsIGJ1dCBzdG9wcyBhIGNvbXBpbGVyIHdhcm5pbmcgKi8KKyAgICAgICAgY2FzZSAnZCc6CisgICAgICAgIGNhc2UgJ24nOgorICAgICAgICAgICAgYmFzZSA9IDEwOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKworICAgICAgICAvKiBUaGUgbnVtYmVyIG9mIHByZWZpeCBjaGFycyBpcyB0aGUgc2FtZSBhcyB0aGUgbGVhZGluZworICAgICAgICAgICBjaGFycyB0byBza2lwICovCisgICAgICAgIGlmIChmb3JtYXQtPmFsdGVybmF0ZSkKKyAgICAgICAgICAgIG5fcHJlZml4ID0gbGVhZGluZ19jaGFyc190b19za2lwOworCisgICAgICAgIC8qIERvIHRoZSBoYXJkIHBhcnQsIGNvbnZlcnRpbmcgdG8gYSBzdHJpbmcgaW4gYSBnaXZlbiBiYXNlICovCisgICAgICAgIHRtcCA9IHRvc3RyaW5nKHZhbHVlLCBiYXNlKTsKKyAgICAgICAgaWYgKHRtcCA9PSBOVUxMIHx8IFB5VW5pY29kZV9SRUFEWSh0bXApID09IC0xKQorICAgICAgICAgICAgZ290byBkb25lOworCisgICAgICAgIGludW1lcmljX2NoYXJzID0gMDsKKyAgICAgICAgbl9kaWdpdHMgPSBQeVVuaWNvZGVfR0VUX0xFTkdUSCh0bXApOworCisgICAgICAgIHByZWZpeCA9IGludW1lcmljX2NoYXJzOworCisgICAgICAgIC8qIElzIGEgc2lnbiBjaGFyYWN0ZXIgcHJlc2VudCBpbiB0aGUgb3V0cHV0PyAgSWYgc28sIHJlbWVtYmVyIGl0CisgICAgICAgICAgIGFuZCBza2lwIGl0ICovCisgICAgICAgIGlmIChQeVVuaWNvZGVfUkVBRF9DSEFSKHRtcCwgaW51bWVyaWNfY2hhcnMpID09ICctJykgeworICAgICAgICAgICAgc2lnbl9jaGFyID0gJy0nOworICAgICAgICAgICAgKytwcmVmaXg7CisgICAgICAgICAgICArK2xlYWRpbmdfY2hhcnNfdG9fc2tpcDsKKyAgICAgICAgfQorCisgICAgICAgIC8qIFNraXAgb3ZlciB0aGUgbGVhZGluZyBjaGFycyAoMHgsIDBiLCBldGMuKSAqLworICAgICAgICBuX2RpZ2l0cyAtPSBsZWFkaW5nX2NoYXJzX3RvX3NraXA7CisgICAgICAgIGludW1lcmljX2NoYXJzICs9IGxlYWRpbmdfY2hhcnNfdG9fc2tpcDsKKyAgICB9CisKKyAgICAvKiBEZXRlcm1pbmUgdGhlIGdyb3VwaW5nLCBzZXBhcmF0b3IsIGFuZCBkZWNpbWFsIHBvaW50LCBpZiBhbnkuICovCisgICAgaWYgKGdldF9sb2NhbGVfaW5mbyhmb3JtYXQtPnR5cGUgPT0gJ24nID8gTFRfQ1VSUkVOVF9MT0NBTEUgOgorICAgICAgICAgICAgICAgICAgICAgICAgKGZvcm1hdC0+dGhvdXNhbmRzX3NlcGFyYXRvcnMgPworICAgICAgICAgICAgICAgICAgICAgICAgIExUX0RFRkFVTFRfTE9DQUxFIDoKKyAgICAgICAgICAgICAgICAgICAgICAgICBMVF9OT19MT0NBTEUpLAorICAgICAgICAgICAgICAgICAgICAgICAgJmxvY2FsZSkgPT0gLTEpCisgICAgICAgIGdvdG8gZG9uZTsKKworICAgIC8qIENhbGN1bGF0ZSBob3cgbXVjaCBtZW1vcnkgd2UnbGwgbmVlZC4gKi8KKyAgICBuX3RvdGFsID0gY2FsY19udW1iZXJfd2lkdGhzKCZzcGVjLCBuX3ByZWZpeCwgc2lnbl9jaGFyLCB0bXAsIGludW1lcmljX2NoYXJzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW51bWVyaWNfY2hhcnMgKyBuX2RpZ2l0cywgbl9yZW1haW5kZXIsIDAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbG9jYWxlLCBmb3JtYXQsICZtYXhjaGFyKTsKKworICAgIC8qIEFsbG9jYXRlIHRoZSBtZW1vcnkuICovCisgICAgcmVzdWx0ID0gUHlVbmljb2RlX05ldyhuX3RvdGFsLCBtYXhjaGFyKTsKKyAgICBpZiAoIXJlc3VsdCkKKyAgICAgICAgZ290byBkb25lOworCisgICAgLyogUG9wdWxhdGUgdGhlIG1lbW9yeS4gKi8KKyAgICBlcnIgPSBmaWxsX251bWJlcihyZXN1bHQsIDAsICZzcGVjLAorICAgICAgICAgICAgICAgICAgICAgIHRtcCwgaW51bWVyaWNfY2hhcnMsIGludW1lcmljX2NoYXJzICsgbl9kaWdpdHMsCisgICAgICAgICAgICAgICAgICAgICAgdG1wLCBwcmVmaXgsCisgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0LT5maWxsX2NoYXIgPT0gJ1wwJyA/ICcgJyA6IGZvcm1hdC0+ZmlsbF9jaGFyLAorICAgICAgICAgICAgICAgICAgICAgICZsb2NhbGUsIGZvcm1hdC0+dHlwZSA9PSAnWCcpOworICAgIGlmIChlcnIpCisgICAgICAgIFB5X0NMRUFSKHJlc3VsdCk7CisKK2RvbmU6CisgICAgUHlfWERFQ1JFRih0bXApOworICAgIGZyZWVfbG9jYWxlX2luZm8oJmxvY2FsZSk7CisgICAgYXNzZXJ0KCFyZXN1bHQgfHwgX1B5VW5pY29kZV9DaGVja0NvbnNpc3RlbmN5KHJlc3VsdCwgMSkpOworICAgIHJldHVybiByZXN1bHQ7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKioqKioqKioqKiogZmxvYXQgZm9ybWF0dGluZyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworc3RhdGljIFB5T2JqZWN0Kgorc3RydG91bmljb2RlKGNoYXIgKmNoYXJidWZmZXIsIFB5X3NzaXplX3QgbGVuKQoreworICAgIHJldHVybiBQeVVuaWNvZGVfRnJvbUtpbmRBbmREYXRhKFB5VW5pY29kZV8xQllURV9LSU5ELCBjaGFyYnVmZmVyLCBsZW4pOworfQorCisvKiBtdWNoIG9mIHRoaXMgaXMgdGFrZW4gZnJvbSB1bmljb2Rlb2JqZWN0LmMgKi8KK3N0YXRpYyBQeU9iamVjdCAqCitmb3JtYXRfZmxvYXRfaW50ZXJuYWwoUHlPYmplY3QgKnZhbHVlLAorICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEludGVybmFsRm9ybWF0U3BlYyAqZm9ybWF0KQoreworICAgIGNoYXIgKmJ1ZiA9IE5VTEw7ICAgICAgIC8qIGJ1ZmZlciByZXR1cm5lZCBmcm9tIFB5T1NfZG91YmxlX3RvX3N0cmluZyAqLworICAgIFB5X3NzaXplX3Qgbl9kaWdpdHM7CisgICAgUHlfc3NpemVfdCBuX3JlbWFpbmRlcjsKKyAgICBQeV9zc2l6ZV90IG5fdG90YWw7CisgICAgaW50IGhhc19kZWNpbWFsOworICAgIGRvdWJsZSB2YWw7CisgICAgUHlfc3NpemVfdCBwcmVjaXNpb24gPSBmb3JtYXQtPnByZWNpc2lvbjsKKyAgICBQeV9zc2l6ZV90IGRlZmF1bHRfcHJlY2lzaW9uID0gNjsKKyAgICBQeV9VQ1M0IHR5cGUgPSBmb3JtYXQtPnR5cGU7CisgICAgaW50IGFkZF9wY3QgPSAwOworICAgIFB5X3NzaXplX3QgaW5kZXg7CisgICAgTnVtYmVyRmllbGRXaWR0aHMgc3BlYzsKKyAgICBpbnQgZmxhZ3MgPSAwOworICAgIFB5T2JqZWN0ICpyZXN1bHQgPSBOVUxMOworICAgIFB5X1VDUzQgbWF4Y2hhciA9IDEyNzsKKyAgICBQeV9VQ1M0IHNpZ25fY2hhciA9ICdcMCc7CisgICAgaW50IGZsb2F0X3R5cGU7IC8qIFVzZWQgdG8gc2VlIGlmIHdlIGhhdmUgYSBuYW4sIGluZiwgb3IgcmVndWxhciBmbG9hdC4gKi8KKyAgICBQeU9iamVjdCAqdW5pY29kZV90bXAgPSBOVUxMOworICAgIGludCBlcnI7CisKKyAgICAvKiBMb2NhbGUgc2V0dGluZ3MsIGVpdGhlciBmcm9tIHRoZSBhY3R1YWwgbG9jYWxlIG9yCisgICAgICAgZnJvbSBhIGhhcmQtY29kZSBwc2V1ZG8tbG9jYWxlICovCisgICAgTG9jYWxlSW5mbyBsb2NhbGUgPSBTVEFUSUNfTE9DQUxFX0lORk9fSU5JVDsKKworICAgIGlmIChmb3JtYXQtPmFsdGVybmF0ZSkKKyAgICAgICAgZmxhZ3MgfD0gUHlfRFRTRl9BTFQ7CisKKyAgICBpZiAodHlwZSA9PSAnXDAnKSB7CisgICAgICAgIC8qIE9taXR0ZWQgdHlwZSBzcGVjaWZpZXIuICBCZWhhdmVzIGluIHRoZSBzYW1lIHdheSBhcyByZXByKHgpCisgICAgICAgICAgIGFuZCBzdHIoeCkgaWYgbm8gcHJlY2lzaW9uIGlzIGdpdmVuLCBlbHNlIGxpa2UgJ2cnLCBidXQgd2l0aAorICAgICAgICAgICBhdCBsZWFzdCBvbmUgZGlnaXQgYWZ0ZXIgdGhlIGRlY2ltYWwgcG9pbnQuICovCisgICAgICAgIGZsYWdzIHw9IFB5X0RUU0ZfQUREX0RPVF8wOworICAgICAgICB0eXBlID0gJ3InOworICAgICAgICBkZWZhdWx0X3ByZWNpc2lvbiA9IDA7CisgICAgfQorCisgICAgaWYgKHR5cGUgPT0gJ24nKQorICAgICAgICAvKiAnbicgaXMgdGhlIHNhbWUgYXMgJ2cnLCBleGNlcHQgZm9yIHRoZSBsb2NhbGUgdXNlZCB0bworICAgICAgICAgICBmb3JtYXQgdGhlIHJlc3VsdC4gV2UgdGFrZSBjYXJlIG9mIHRoYXQgbGF0ZXIuICovCisgICAgICAgIHR5cGUgPSAnZyc7CisKKyAgICB2YWwgPSBQeUZsb2F0X0FzRG91YmxlKHZhbHVlKTsKKyAgICBpZiAodmFsID09IC0xLjAgJiYgUHlFcnJfT2NjdXJyZWQoKSkKKyAgICAgICAgZ290byBkb25lOworCisgICAgaWYgKHR5cGUgPT0gJyUnKSB7CisgICAgICAgIHR5cGUgPSAnZic7CisgICAgICAgIHZhbCAqPSAxMDA7CisgICAgICAgIGFkZF9wY3QgPSAxOworICAgIH0KKworICAgIGlmIChwcmVjaXNpb24gPCAwKQorICAgICAgICBwcmVjaXNpb24gPSBkZWZhdWx0X3ByZWNpc2lvbjsKKyAgICBlbHNlIGlmICh0eXBlID09ICdyJykKKyAgICAgICAgdHlwZSA9ICdnJzsKKworICAgIC8qIENhc3QgInR5cGUiLCBiZWNhdXNlIGlmIHdlJ3JlIGluIHVuaWNvZGUgd2UgbmVlZCB0byBwYXNzIGEKKyAgICAgICA4LWJpdCBjaGFyLiBUaGlzIGlzIHNhZmUsIGJlY2F1c2Ugd2UndmUgcmVzdHJpY3RlZCB3aGF0ICJ0eXBlIgorICAgICAgIGNhbiBiZS4gKi8KKyAgICBidWYgPSBQeU9TX2RvdWJsZV90b19zdHJpbmcodmFsLCAoY2hhcil0eXBlLCBwcmVjaXNpb24sIGZsYWdzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZmxvYXRfdHlwZSk7CisgICAgaWYgKGJ1ZiA9PSBOVUxMKQorICAgICAgICBnb3RvIGRvbmU7CisgICAgbl9kaWdpdHMgPSBzdHJsZW4oYnVmKTsKKworICAgIGlmIChhZGRfcGN0KSB7CisgICAgICAgIC8qIFdlIGtub3cgdGhhdCBidWYgaGFzIGEgdHJhaWxpbmcgemVybyAoc2luY2Ugd2UganVzdCBjYWxsZWQKKyAgICAgICAgICAgc3RybGVuKCkgb24gaXQpLCBhbmQgd2UgZG9uJ3QgdXNlIHRoYXQgZmFjdCBhbnkgbW9yZS4gU28gd2UKKyAgICAgICAgICAgY2FuIGp1c3Qgd3JpdGUgb3ZlciB0aGUgdHJhaWxpbmcgemVyby4gKi8KKyAgICAgICAgYnVmW25fZGlnaXRzXSA9ICclJzsKKyAgICAgICAgbl9kaWdpdHMgKz0gMTsKKyAgICB9CisKKyAgICAvKiBTaW5jZSB0aGVyZSBpcyBubyB1bmljb2RlIHZlcnNpb24gb2YgUHlPU19kb3VibGVfdG9fc3RyaW5nLAorICAgICAgIGp1c3QgdXNlIHRoZSA4IGJpdCB2ZXJzaW9uIGFuZCB0aGVuIGNvbnZlcnQgdG8gdW5pY29kZS4gKi8KKyAgICB1bmljb2RlX3RtcCA9IHN0cnRvdW5pY29kZShidWYsIG5fZGlnaXRzKTsKKyAgICBpZiAodW5pY29kZV90bXAgPT0gTlVMTCkKKyAgICAgICAgZ290byBkb25lOworICAgIGluZGV4ID0gMDsKKworICAgIC8qIElzIGEgc2lnbiBjaGFyYWN0ZXIgcHJlc2VudCBpbiB0aGUgb3V0cHV0PyAgSWYgc28sIHJlbWVtYmVyIGl0CisgICAgICAgYW5kIHNraXAgaXQgKi8KKyAgICBpZiAoUHlVbmljb2RlX1JFQURfQ0hBUih1bmljb2RlX3RtcCwgaW5kZXgpID09ICctJykgeworICAgICAgICBzaWduX2NoYXIgPSAnLSc7CisgICAgICAgICsraW5kZXg7CisgICAgICAgIC0tbl9kaWdpdHM7CisgICAgfQorCisgICAgLyogRGV0ZXJtaW5lIGlmIHdlIGhhdmUgYW55ICJyZW1haW5kZXIiIChhZnRlciB0aGUgZGlnaXRzLCBtaWdodCBpbmNsdWRlCisgICAgICAgZGVjaW1hbCBvciBleHBvbmVudCBvciBib3RoIChvciBuZWl0aGVyKSkgKi8KKyAgICBwYXJzZV9udW1iZXIodW5pY29kZV90bXAsIGluZGV4LCBpbmRleCArIG5fZGlnaXRzLCAmbl9yZW1haW5kZXIsICZoYXNfZGVjaW1hbCk7CisKKyAgICAvKiBEZXRlcm1pbmUgdGhlIGdyb3VwaW5nLCBzZXBhcmF0b3IsIGFuZCBkZWNpbWFsIHBvaW50LCBpZiBhbnkuICovCisgICAgaWYgKGdldF9sb2NhbGVfaW5mbyhmb3JtYXQtPnR5cGUgPT0gJ24nID8gTFRfQ1VSUkVOVF9MT0NBTEUgOgorICAgICAgICAgICAgICAgICAgICAgICAgKGZvcm1hdC0+dGhvdXNhbmRzX3NlcGFyYXRvcnMgPworICAgICAgICAgICAgICAgICAgICAgICAgIExUX0RFRkFVTFRfTE9DQUxFIDoKKyAgICAgICAgICAgICAgICAgICAgICAgICBMVF9OT19MT0NBTEUpLAorICAgICAgICAgICAgICAgICAgICAgICAgJmxvY2FsZSkgPT0gLTEpCisgICAgICAgIGdvdG8gZG9uZTsKKworICAgIC8qIENhbGN1bGF0ZSBob3cgbXVjaCBtZW1vcnkgd2UnbGwgbmVlZC4gKi8KKyAgICBuX3RvdGFsID0gY2FsY19udW1iZXJfd2lkdGhzKCZzcGVjLCAwLCBzaWduX2NoYXIsIHVuaWNvZGVfdG1wLCBpbmRleCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZGV4ICsgbl9kaWdpdHMsIG5fcmVtYWluZGVyLCBoYXNfZGVjaW1hbCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsb2NhbGUsIGZvcm1hdCwgJm1heGNoYXIpOworCisgICAgLyogQWxsb2NhdGUgdGhlIG1lbW9yeS4gKi8KKyAgICByZXN1bHQgPSBQeVVuaWNvZGVfTmV3KG5fdG90YWwsIG1heGNoYXIpOworICAgIGlmIChyZXN1bHQgPT0gTlVMTCkKKyAgICAgICAgZ290byBkb25lOworCisgICAgLyogUG9wdWxhdGUgdGhlIG1lbW9yeS4gKi8KKyAgICBlcnIgPSBmaWxsX251bWJlcihyZXN1bHQsIDAsICZzcGVjLAorICAgICAgICAgICAgICAgICAgICAgIHVuaWNvZGVfdG1wLCBpbmRleCwgaW5kZXggKyBuX2RpZ2l0cywKKyAgICAgICAgICAgICAgICAgICAgICBOVUxMLCAwLAorICAgICAgICAgICAgICAgICAgICAgIGZvcm1hdC0+ZmlsbF9jaGFyID09ICdcMCcgPyAnICcgOiBmb3JtYXQtPmZpbGxfY2hhciwKKyAgICAgICAgICAgICAgICAgICAgICAmbG9jYWxlLCAwKTsKKyAgICBpZiAoZXJyKQorICAgICAgICBQeV9DTEVBUihyZXN1bHQpOworCitkb25lOgorICAgIFB5TWVtX0ZyZWUoYnVmKTsKKyAgICBQeV9ERUNSRUYodW5pY29kZV90bXApOworICAgIGZyZWVfbG9jYWxlX2luZm8oJmxvY2FsZSk7CisgICAgYXNzZXJ0KCFyZXN1bHQgfHwgX1B5VW5pY29kZV9DaGVja0NvbnNpc3RlbmN5KHJlc3VsdCwgMSkpOworICAgIHJldHVybiByZXN1bHQ7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKioqKioqKioqKiogY29tcGxleCBmb3JtYXR0aW5nICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworc3RhdGljIFB5T2JqZWN0ICoKK2Zvcm1hdF9jb21wbGV4X2ludGVybmFsKFB5T2JqZWN0ICp2YWx1ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEludGVybmFsRm9ybWF0U3BlYyAqZm9ybWF0KQoreworICAgIGRvdWJsZSByZTsKKyAgICBkb3VibGUgaW07CisgICAgY2hhciAqcmVfYnVmID0gTlVMTDsgICAgICAgLyogYnVmZmVyIHJldHVybmVkIGZyb20gUHlPU19kb3VibGVfdG9fc3RyaW5nICovCisgICAgY2hhciAqaW1fYnVmID0gTlVMTDsgICAgICAgLyogYnVmZmVyIHJldHVybmVkIGZyb20gUHlPU19kb3VibGVfdG9fc3RyaW5nICovCisKKyAgICBJbnRlcm5hbEZvcm1hdFNwZWMgdG1wX2Zvcm1hdCA9ICpmb3JtYXQ7CisgICAgUHlfc3NpemVfdCBuX3JlX2RpZ2l0czsKKyAgICBQeV9zc2l6ZV90IG5faW1fZGlnaXRzOworICAgIFB5X3NzaXplX3Qgbl9yZV9yZW1haW5kZXI7CisgICAgUHlfc3NpemVfdCBuX2ltX3JlbWFpbmRlcjsKKyAgICBQeV9zc2l6ZV90IG5fcmVfdG90YWw7CisgICAgUHlfc3NpemVfdCBuX2ltX3RvdGFsOworICAgIGludCByZV9oYXNfZGVjaW1hbDsKKyAgICBpbnQgaW1faGFzX2RlY2ltYWw7CisgICAgUHlfc3NpemVfdCBwcmVjaXNpb24gPSBmb3JtYXQtPnByZWNpc2lvbjsKKyAgICBQeV9zc2l6ZV90IGRlZmF1bHRfcHJlY2lzaW9uID0gNjsKKyAgICBQeV9VQ1M0IHR5cGUgPSBmb3JtYXQtPnR5cGU7CisgICAgUHlfc3NpemVfdCBpX3JlOworICAgIFB5X3NzaXplX3QgaV9pbTsKKyAgICBOdW1iZXJGaWVsZFdpZHRocyByZV9zcGVjOworICAgIE51bWJlckZpZWxkV2lkdGhzIGltX3NwZWM7CisgICAgaW50IGZsYWdzID0gMDsKKyAgICBQeU9iamVjdCAqcmVzdWx0ID0gTlVMTDsKKyAgICBQeV9VQ1M0IG1heGNoYXIgPSAxMjc7CisgICAgaW50IHJraW5kOworICAgIHZvaWQgKnJkYXRhOworICAgIFB5X3NzaXplX3QgaW5kZXg7CisgICAgUHlfVUNTNCByZV9zaWduX2NoYXIgPSAnXDAnOworICAgIFB5X1VDUzQgaW1fc2lnbl9jaGFyID0gJ1wwJzsKKyAgICBpbnQgcmVfZmxvYXRfdHlwZTsgLyogVXNlZCB0byBzZWUgaWYgd2UgaGF2ZSBhIG5hbiwgaW5mLCBvciByZWd1bGFyIGZsb2F0LiAqLworICAgIGludCBpbV9mbG9hdF90eXBlOworICAgIGludCBhZGRfcGFyZW5zID0gMDsKKyAgICBpbnQgc2tpcF9yZSA9IDA7CisgICAgUHlfc3NpemVfdCBscGFkOworICAgIFB5X3NzaXplX3QgcnBhZDsKKyAgICBQeV9zc2l6ZV90IHRvdGFsOworICAgIFB5T2JqZWN0ICpyZV91bmljb2RlX3RtcCA9IE5VTEw7CisgICAgUHlPYmplY3QgKmltX3VuaWNvZGVfdG1wID0gTlVMTDsKKyAgICBpbnQgZXJyOworCisgICAgLyogTG9jYWxlIHNldHRpbmdzLCBlaXRoZXIgZnJvbSB0aGUgYWN0dWFsIGxvY2FsZSBvcgorICAgICAgIGZyb20gYSBoYXJkLWNvZGUgcHNldWRvLWxvY2FsZSAqLworICAgIExvY2FsZUluZm8gbG9jYWxlID0gU1RBVElDX0xPQ0FMRV9JTkZPX0lOSVQ7CisKKyAgICAvKiBaZXJvIHBhZGRpbmcgaXMgbm90IGFsbG93ZWQuICovCisgICAgaWYgKGZvcm1hdC0+ZmlsbF9jaGFyID09ICcwJykgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICJaZXJvIHBhZGRpbmcgaXMgbm90IGFsbG93ZWQgaW4gY29tcGxleCBmb3JtYXQgIgorICAgICAgICAgICAgICAgICAgICAgICAgInNwZWNpZmllciIpOworICAgICAgICBnb3RvIGRvbmU7CisgICAgfQorCisgICAgLyogTmVpdGhlciBpcyAnPScgYWxpZ25tZW50IC4gKi8KKyAgICBpZiAoZm9ybWF0LT5hbGlnbiA9PSAnPScpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAiJz0nIGFsaWdubWVudCBmbGFnIGlzIG5vdCBhbGxvd2VkIGluIGNvbXBsZXggZm9ybWF0ICIKKyAgICAgICAgICAgICAgICAgICAgICAgICJzcGVjaWZpZXIiKTsKKyAgICAgICAgZ290byBkb25lOworICAgIH0KKworICAgIHJlID0gUHlDb21wbGV4X1JlYWxBc0RvdWJsZSh2YWx1ZSk7CisgICAgaWYgKHJlID09IC0xLjAgJiYgUHlFcnJfT2NjdXJyZWQoKSkKKyAgICAgICAgZ290byBkb25lOworICAgIGltID0gUHlDb21wbGV4X0ltYWdBc0RvdWJsZSh2YWx1ZSk7CisgICAgaWYgKGltID09IC0xLjAgJiYgUHlFcnJfT2NjdXJyZWQoKSkKKyAgICAgICAgZ290byBkb25lOworCisgICAgaWYgKGZvcm1hdC0+YWx0ZXJuYXRlKQorICAgICAgICBmbGFncyB8PSBQeV9EVFNGX0FMVDsKKworICAgIGlmICh0eXBlID09ICdcMCcpIHsKKyAgICAgICAgLyogT21pdHRlZCB0eXBlIHNwZWNpZmllci4gU2hvdWxkIGJlIGxpa2Ugc3RyKHNlbGYpLiAqLworICAgICAgICB0eXBlID0gJ3InOworICAgICAgICBkZWZhdWx0X3ByZWNpc2lvbiA9IDA7CisgICAgICAgIGlmIChyZSA9PSAwLjAgJiYgY29weXNpZ24oMS4wLCByZSkgPT0gMS4wKQorICAgICAgICAgICAgc2tpcF9yZSA9IDE7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGFkZF9wYXJlbnMgPSAxOworICAgIH0KKworICAgIGlmICh0eXBlID09ICduJykKKyAgICAgICAgLyogJ24nIGlzIHRoZSBzYW1lIGFzICdnJywgZXhjZXB0IGZvciB0aGUgbG9jYWxlIHVzZWQgdG8KKyAgICAgICAgICAgZm9ybWF0IHRoZSByZXN1bHQuIFdlIHRha2UgY2FyZSBvZiB0aGF0IGxhdGVyLiAqLworICAgICAgICB0eXBlID0gJ2cnOworCisgICAgaWYgKHByZWNpc2lvbiA8IDApCisgICAgICAgIHByZWNpc2lvbiA9IGRlZmF1bHRfcHJlY2lzaW9uOworICAgIGVsc2UgaWYgKHR5cGUgPT0gJ3InKQorICAgICAgICB0eXBlID0gJ2cnOworCisgICAgLyogQ2FzdCAidHlwZSIsIGJlY2F1c2UgaWYgd2UncmUgaW4gdW5pY29kZSB3ZSBuZWVkIHRvIHBhc3MgYQorICAgICAgIDgtYml0IGNoYXIuIFRoaXMgaXMgc2FmZSwgYmVjYXVzZSB3ZSd2ZSByZXN0cmljdGVkIHdoYXQgInR5cGUiCisgICAgICAgY2FuIGJlLiAqLworICAgIHJlX2J1ZiA9IFB5T1NfZG91YmxlX3RvX3N0cmluZyhyZSwgKGNoYXIpdHlwZSwgcHJlY2lzaW9uLCBmbGFncywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnJlX2Zsb2F0X3R5cGUpOworICAgIGlmIChyZV9idWYgPT0gTlVMTCkKKyAgICAgICAgZ290byBkb25lOworICAgIGltX2J1ZiA9IFB5T1NfZG91YmxlX3RvX3N0cmluZyhpbSwgKGNoYXIpdHlwZSwgcHJlY2lzaW9uLCBmbGFncywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmltX2Zsb2F0X3R5cGUpOworICAgIGlmIChpbV9idWYgPT0gTlVMTCkKKyAgICAgICAgZ290byBkb25lOworCisgICAgbl9yZV9kaWdpdHMgPSBzdHJsZW4ocmVfYnVmKTsKKyAgICBuX2ltX2RpZ2l0cyA9IHN0cmxlbihpbV9idWYpOworCisgICAgLyogU2luY2UgdGhlcmUgaXMgbm8gdW5pY29kZSB2ZXJzaW9uIG9mIFB5T1NfZG91YmxlX3RvX3N0cmluZywKKyAgICAgICBqdXN0IHVzZSB0aGUgOCBiaXQgdmVyc2lvbiBhbmQgdGhlbiBjb252ZXJ0IHRvIHVuaWNvZGUuICovCisgICAgcmVfdW5pY29kZV90bXAgPSBzdHJ0b3VuaWNvZGUocmVfYnVmLCBuX3JlX2RpZ2l0cyk7CisgICAgaWYgKHJlX3VuaWNvZGVfdG1wID09IE5VTEwpCisgICAgICAgIGdvdG8gZG9uZTsKKyAgICBpX3JlID0gMDsKKworICAgIGltX3VuaWNvZGVfdG1wID0gc3RydG91bmljb2RlKGltX2J1Ziwgbl9pbV9kaWdpdHMpOworICAgIGlmIChpbV91bmljb2RlX3RtcCA9PSBOVUxMKQorICAgICAgICBnb3RvIGRvbmU7CisgICAgaV9pbSA9IDA7CisKKyAgICAvKiBJcyBhIHNpZ24gY2hhcmFjdGVyIHByZXNlbnQgaW4gdGhlIG91dHB1dD8gIElmIHNvLCByZW1lbWJlciBpdAorICAgICAgIGFuZCBza2lwIGl0ICovCisgICAgaWYgKFB5VW5pY29kZV9SRUFEX0NIQVIocmVfdW5pY29kZV90bXAsIGlfcmUpID09ICctJykgeworICAgICAgICByZV9zaWduX2NoYXIgPSAnLSc7CisgICAgICAgICsraV9yZTsKKyAgICAgICAgLS1uX3JlX2RpZ2l0czsKKyAgICB9CisgICAgaWYgKFB5VW5pY29kZV9SRUFEX0NIQVIoaW1fdW5pY29kZV90bXAsIGlfaW0pID09ICctJykgeworICAgICAgICBpbV9zaWduX2NoYXIgPSAnLSc7CisgICAgICAgICsraV9pbTsKKyAgICAgICAgLS1uX2ltX2RpZ2l0czsKKyAgICB9CisKKyAgICAvKiBEZXRlcm1pbmUgaWYgd2UgaGF2ZSBhbnkgInJlbWFpbmRlciIgKGFmdGVyIHRoZSBkaWdpdHMsIG1pZ2h0IGluY2x1ZGUKKyAgICAgICBkZWNpbWFsIG9yIGV4cG9uZW50IG9yIGJvdGggKG9yIG5laXRoZXIpKSAqLworICAgIHBhcnNlX251bWJlcihyZV91bmljb2RlX3RtcCwgaV9yZSwgaV9yZSArIG5fcmVfZGlnaXRzLAorICAgICAgICAgICAgICAgICAmbl9yZV9yZW1haW5kZXIsICZyZV9oYXNfZGVjaW1hbCk7CisgICAgcGFyc2VfbnVtYmVyKGltX3VuaWNvZGVfdG1wLCBpX2ltLCBpX2ltICsgbl9pbV9kaWdpdHMsCisgICAgICAgICAgICAgICAgICZuX2ltX3JlbWFpbmRlciwgJmltX2hhc19kZWNpbWFsKTsKKworICAgIC8qIERldGVybWluZSB0aGUgZ3JvdXBpbmcsIHNlcGFyYXRvciwgYW5kIGRlY2ltYWwgcG9pbnQsIGlmIGFueS4gKi8KKyAgICBpZiAoZ2V0X2xvY2FsZV9pbmZvKGZvcm1hdC0+dHlwZSA9PSAnbicgPyBMVF9DVVJSRU5UX0xPQ0FMRSA6CisgICAgICAgICAgICAgICAgICAgICAgICAoZm9ybWF0LT50aG91c2FuZHNfc2VwYXJhdG9ycyA/CisgICAgICAgICAgICAgICAgICAgICAgICAgTFRfREVGQVVMVF9MT0NBTEUgOgorICAgICAgICAgICAgICAgICAgICAgICAgIExUX05PX0xPQ0FMRSksCisgICAgICAgICAgICAgICAgICAgICAgICAmbG9jYWxlKSA9PSAtMSkKKyAgICAgICAgZ290byBkb25lOworCisgICAgLyogVHVybiBvZmYgYW55IHBhZGRpbmcuIFdlJ2xsIGRvIGl0IGxhdGVyIGFmdGVyIHdlJ3ZlIGNvbXBvc2VkCisgICAgICAgdGhlIG51bWJlcnMgd2l0aG91dCBwYWRkaW5nLiAqLworICAgIHRtcF9mb3JtYXQuZmlsbF9jaGFyID0gJ1wwJzsKKyAgICB0bXBfZm9ybWF0LmFsaWduID0gJzwnOworICAgIHRtcF9mb3JtYXQud2lkdGggPSAtMTsKKworICAgIC8qIENhbGN1bGF0ZSBob3cgbXVjaCBtZW1vcnkgd2UnbGwgbmVlZC4gKi8KKyAgICBuX3JlX3RvdGFsID0gY2FsY19udW1iZXJfd2lkdGhzKCZyZV9zcGVjLCAwLCByZV9zaWduX2NoYXIsIHJlX3VuaWNvZGVfdG1wLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaV9yZSwgaV9yZSArIG5fcmVfZGlnaXRzLCBuX3JlX3JlbWFpbmRlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlX2hhc19kZWNpbWFsLCAmbG9jYWxlLCAmdG1wX2Zvcm1hdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZtYXhjaGFyKTsKKworICAgIC8qIFNhbWUgZm9ybWF0dGluZywgYnV0IGFsd2F5cyBpbmNsdWRlIGEgc2lnbiwgdW5sZXNzIHRoZSByZWFsIHBhcnQgaXMKKyAgICAgKiBnb2luZyB0byBiZSBvbWl0dGVkLCBpbiB3aGljaCBjYXNlIHdlIHVzZSB3aGF0ZXZlciBzaWduIGNvbnZlbnRpb24gd2FzCisgICAgICogcmVxdWVzdGVkIGJ5IHRoZSBvcmlnaW5hbCBmb3JtYXQuICovCisgICAgaWYgKCFza2lwX3JlKQorICAgICAgICB0bXBfZm9ybWF0LnNpZ24gPSAnKyc7CisgICAgbl9pbV90b3RhbCA9IGNhbGNfbnVtYmVyX3dpZHRocygmaW1fc3BlYywgMCwgaW1fc2lnbl9jaGFyLCBpbV91bmljb2RlX3RtcCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlfaW0sIGlfaW0gKyBuX2ltX2RpZ2l0cywgbl9pbV9yZW1haW5kZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbV9oYXNfZGVjaW1hbCwgJmxvY2FsZSwgJnRtcF9mb3JtYXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbWF4Y2hhcik7CisKKyAgICBpZiAoc2tpcF9yZSkKKyAgICAgICAgbl9yZV90b3RhbCA9IDA7CisKKyAgICAvKiBBZGQgMSBmb3IgdGhlICdqJywgYW5kIG9wdGlvbmFsbHkgMiBmb3IgcGFyZW5zLiAqLworICAgIGNhbGNfcGFkZGluZyhuX3JlX3RvdGFsICsgbl9pbV90b3RhbCArIDEgKyBhZGRfcGFyZW5zICogMiwKKyAgICAgICAgICAgICAgICAgZm9ybWF0LT53aWR0aCwgZm9ybWF0LT5hbGlnbiwgJmxwYWQsICZycGFkLCAmdG90YWwpOworCisgICAgaWYgKGxwYWQgfHwgcnBhZCkKKyAgICAgICAgbWF4Y2hhciA9IFB5X01BWChtYXhjaGFyLCBmb3JtYXQtPmZpbGxfY2hhcik7CisKKyAgICByZXN1bHQgPSBQeVVuaWNvZGVfTmV3KHRvdGFsLCBtYXhjaGFyKTsKKyAgICBpZiAocmVzdWx0ID09IE5VTEwpCisgICAgICAgIGdvdG8gZG9uZTsKKyAgICBya2luZCA9IFB5VW5pY29kZV9LSU5EKHJlc3VsdCk7CisgICAgcmRhdGEgPSBQeVVuaWNvZGVfREFUQShyZXN1bHQpOworCisgICAgLyogUG9wdWxhdGUgdGhlIG1lbW9yeS4gRmlyc3QsIHRoZSBwYWRkaW5nLiAqLworICAgIGluZGV4ID0gZmlsbF9wYWRkaW5nKHJlc3VsdCwgMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICBuX3JlX3RvdGFsICsgbl9pbV90b3RhbCArIDEgKyBhZGRfcGFyZW5zICogMiwKKyAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtYXQtPmZpbGxfY2hhcj09J1wwJyA/ICcgJyA6IGZvcm1hdC0+ZmlsbF9jaGFyLAorICAgICAgICAgICAgICAgICAgICAgICAgIGxwYWQsIHJwYWQpOworCisgICAgaWYgKGFkZF9wYXJlbnMpCisgICAgICAgIFB5VW5pY29kZV9XUklURShya2luZCwgcmRhdGEsIGluZGV4KyssICcoJyk7CisKKyAgICBpZiAoIXNraXBfcmUpIHsKKyAgICAgICAgZXJyID0gZmlsbF9udW1iZXIocmVzdWx0LCBpbmRleCwgJnJlX3NwZWMsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHJlX3VuaWNvZGVfdG1wLCBpX3JlLCBpX3JlICsgbl9yZV9kaWdpdHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsIDAsCisgICAgICAgICAgICAgICAgICAgICAgICAgIDAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICZsb2NhbGUsIDApOworICAgICAgICBpZiAoZXJyKSB7CisgICAgICAgICAgICBQeV9DTEVBUihyZXN1bHQpOworICAgICAgICAgICAgZ290byBkb25lOworICAgICAgICB9CisgICAgICAgIGluZGV4ICs9IG5fcmVfdG90YWw7CisgICAgfQorICAgIGVyciA9IGZpbGxfbnVtYmVyKHJlc3VsdCwgaW5kZXgsICZpbV9zcGVjLAorICAgICAgICAgICAgICAgICAgICAgIGltX3VuaWNvZGVfdG1wLCBpX2ltLCBpX2ltICsgbl9pbV9kaWdpdHMsCisgICAgICAgICAgICAgICAgICAgICAgTlVMTCwgMCwKKyAgICAgICAgICAgICAgICAgICAgICAwLAorICAgICAgICAgICAgICAgICAgICAgICZsb2NhbGUsIDApOworICAgIGlmIChlcnIpIHsKKyAgICAgICAgUHlfQ0xFQVIocmVzdWx0KTsKKyAgICAgICAgZ290byBkb25lOworICAgIH0KKyAgICBpbmRleCArPSBuX2ltX3RvdGFsOworICAgIFB5VW5pY29kZV9XUklURShya2luZCwgcmRhdGEsIGluZGV4KyssICdqJyk7CisKKyAgICBpZiAoYWRkX3BhcmVucykKKyAgICAgICAgUHlVbmljb2RlX1dSSVRFKHJraW5kLCByZGF0YSwgaW5kZXgrKywgJyknKTsKKworZG9uZToKKyAgICBQeU1lbV9GcmVlKHJlX2J1Zik7CisgICAgUHlNZW1fRnJlZShpbV9idWYpOworICAgIFB5X1hERUNSRUYocmVfdW5pY29kZV90bXApOworICAgIFB5X1hERUNSRUYoaW1fdW5pY29kZV90bXApOworICAgIGZyZWVfbG9jYWxlX2luZm8oJmxvY2FsZSk7CisgICAgYXNzZXJ0KCFyZXN1bHQgfHwgX1B5VW5pY29kZV9DaGVja0NvbnNpc3RlbmN5KHJlc3VsdCwgMSkpOworICAgIHJldHVybiByZXN1bHQ7Cit9CisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKioqKioqKioqKiogYnVpbHQgaW4gZm9ybWF0dGVycyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KK1B5T2JqZWN0ICoKK19QeVVuaWNvZGVfRm9ybWF0QWR2YW5jZWQoUHlPYmplY3QgKm9iaiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgUHlPYmplY3QgKmZvcm1hdF9zcGVjLAorICAgICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IHN0YXJ0LCBQeV9zc2l6ZV90IGVuZCkKK3sKKyAgICBJbnRlcm5hbEZvcm1hdFNwZWMgZm9ybWF0OworICAgIFB5T2JqZWN0ICpyZXN1bHQ7CisKKyAgICAvKiBjaGVjayBmb3IgdGhlIHNwZWNpYWwgY2FzZSBvZiB6ZXJvIGxlbmd0aCBmb3JtYXQgc3BlYywgbWFrZQorICAgICAgIGl0IGVxdWl2YWxlbnQgdG8gc3RyKG9iaikgKi8KKyAgICBpZiAoc3RhcnQgPT0gZW5kKQorICAgICAgICByZXR1cm4gUHlPYmplY3RfU3RyKG9iaik7CisKKyAgICAvKiBwYXJzZSB0aGUgZm9ybWF0X3NwZWMgKi8KKyAgICBpZiAoIXBhcnNlX2ludGVybmFsX3JlbmRlcl9mb3JtYXRfc3BlYyhmb3JtYXRfc3BlYywgc3RhcnQsIGVuZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZm9ybWF0LCAncycsICc8JykpCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgLyogdHlwZSBjb252ZXJzaW9uPyAqLworICAgIHN3aXRjaCAoZm9ybWF0LnR5cGUpIHsKKyAgICBjYXNlICdzJzoKKyAgICAgICAgLyogbm8gdHlwZSBjb252ZXJzaW9uIG5lZWRlZCwgYWxyZWFkeSBhIHN0cmluZy4gIGRvIHRoZSBmb3JtYXR0aW5nICovCisgICAgICAgIHJlc3VsdCA9IGZvcm1hdF9zdHJpbmdfaW50ZXJuYWwob2JqLCAmZm9ybWF0KTsKKyAgICAgICAgaWYgKHJlc3VsdCAhPSBOVUxMKQorICAgICAgICAgICAgYXNzZXJ0KF9QeVVuaWNvZGVfQ2hlY2tDb25zaXN0ZW5jeShyZXN1bHQsIDEpKTsKKyAgICAgICAgYnJlYWs7CisgICAgZGVmYXVsdDoKKyAgICAgICAgLyogdW5rbm93biAqLworICAgICAgICB1bmtub3duX3ByZXNlbnRhdGlvbl90eXBlKGZvcm1hdC50eXBlLCBvYmotPm9iX3R5cGUtPnRwX25hbWUpOworICAgICAgICByZXN1bHQgPSBOVUxMOworICAgIH0KKyAgICByZXR1cm4gcmVzdWx0OworfQorCitzdGF0aWMgUHlPYmplY3QqCitmb3JtYXRfaW50X29yX2xvbmcoUHlPYmplY3QqIG9iaiwgUHlPYmplY3QqIGZvcm1hdF9zcGVjLAorICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3Qgc3RhcnQsIFB5X3NzaXplX3QgZW5kLAorICAgICAgICAgICAgICAgICAgIEludE9yTG9uZ1RvU3RyaW5nIHRvc3RyaW5nKQoreworICAgIFB5T2JqZWN0ICpyZXN1bHQgPSBOVUxMOworICAgIFB5T2JqZWN0ICp0bXAgPSBOVUxMOworICAgIEludGVybmFsRm9ybWF0U3BlYyBmb3JtYXQ7CisKKyAgICAvKiBjaGVjayBmb3IgdGhlIHNwZWNpYWwgY2FzZSBvZiB6ZXJvIGxlbmd0aCBmb3JtYXQgc3BlYywgbWFrZQorICAgICAgIGl0IGVxdWl2YWxlbnQgdG8gc3RyKG9iaikgKi8KKyAgICBpZiAoc3RhcnQgPT0gZW5kKSB7CisgICAgICAgIHJlc3VsdCA9IFB5T2JqZWN0X1N0cihvYmopOworICAgICAgICBnb3RvIGRvbmU7CisgICAgfQorCisgICAgLyogcGFyc2UgdGhlIGZvcm1hdF9zcGVjICovCisgICAgaWYgKCFwYXJzZV9pbnRlcm5hbF9yZW5kZXJfZm9ybWF0X3NwZWMoZm9ybWF0X3NwZWMsIHN0YXJ0LCBlbmQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmZvcm1hdCwgJ2QnLCAnPicpKQorICAgICAgICBnb3RvIGRvbmU7CisKKyAgICAvKiB0eXBlIGNvbnZlcnNpb24/ICovCisgICAgc3dpdGNoIChmb3JtYXQudHlwZSkgeworICAgIGNhc2UgJ2InOgorICAgIGNhc2UgJ2MnOgorICAgIGNhc2UgJ2QnOgorICAgIGNhc2UgJ28nOgorICAgIGNhc2UgJ3gnOgorICAgIGNhc2UgJ1gnOgorICAgIGNhc2UgJ24nOgorICAgICAgICAvKiBubyB0eXBlIGNvbnZlcnNpb24gbmVlZGVkLCBhbHJlYWR5IGFuIGludCAob3IgbG9uZykuICBkbworICAgICAgICAgICB0aGUgZm9ybWF0dGluZyAqLworICAgICAgICAgICAgcmVzdWx0ID0gZm9ybWF0X2ludF9vcl9sb25nX2ludGVybmFsKG9iaiwgJmZvcm1hdCwgdG9zdHJpbmcpOworICAgICAgICBicmVhazsKKworICAgIGNhc2UgJ2UnOgorICAgIGNhc2UgJ0UnOgorICAgIGNhc2UgJ2YnOgorICAgIGNhc2UgJ0YnOgorICAgIGNhc2UgJ2cnOgorICAgIGNhc2UgJ0cnOgorICAgIGNhc2UgJyUnOgorICAgICAgICAvKiBjb252ZXJ0IHRvIGZsb2F0ICovCisgICAgICAgIHRtcCA9IFB5TnVtYmVyX0Zsb2F0KG9iaik7CisgICAgICAgIGlmICh0bXAgPT0gTlVMTCkKKyAgICAgICAgICAgIGdvdG8gZG9uZTsKKyAgICAgICAgcmVzdWx0ID0gZm9ybWF0X2Zsb2F0X2ludGVybmFsKHRtcCwgJmZvcm1hdCk7CisgICAgICAgIGJyZWFrOworCisgICAgZGVmYXVsdDoKKyAgICAgICAgLyogdW5rbm93biAqLworICAgICAgICB1bmtub3duX3ByZXNlbnRhdGlvbl90eXBlKGZvcm1hdC50eXBlLCBvYmotPm9iX3R5cGUtPnRwX25hbWUpOworICAgICAgICBnb3RvIGRvbmU7CisgICAgfQorCitkb25lOgorICAgIFB5X1hERUNSRUYodG1wKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCisvKiBOZWVkIHRvIGRlZmluZSBsb25nX2Zvcm1hdCBhcyBhIGZ1bmN0aW9uIHRoYXQgd2lsbCBjb252ZXJ0IGEgbG9uZworICAgdG8gYSBzdHJpbmcuICBJbiAzLjAsIF9QeUxvbmdfRm9ybWF0IGhhcyB0aGUgY29ycmVjdCBzaWduYXR1cmUuICovCisjZGVmaW5lIGxvbmdfZm9ybWF0IF9QeUxvbmdfRm9ybWF0CisKK1B5T2JqZWN0ICoKK19QeUxvbmdfRm9ybWF0QWR2YW5jZWQoUHlPYmplY3QgKm9iaiwKKyAgICAgICAgICAgICAgICAgICAgICAgUHlPYmplY3QgKmZvcm1hdF9zcGVjLAorICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IHN0YXJ0LCBQeV9zc2l6ZV90IGVuZCkKK3sKKyAgICByZXR1cm4gZm9ybWF0X2ludF9vcl9sb25nKG9iaiwgZm9ybWF0X3NwZWMsIHN0YXJ0LCBlbmQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb25nX2Zvcm1hdCk7Cit9CisKK1B5T2JqZWN0ICoKK19QeUZsb2F0X0Zvcm1hdEFkdmFuY2VkKFB5T2JqZWN0ICpvYmosCisgICAgICAgICAgICAgICAgICAgICAgICBQeU9iamVjdCAqZm9ybWF0X3NwZWMsCisgICAgICAgICAgICAgICAgICAgICAgICBQeV9zc2l6ZV90IHN0YXJ0LCBQeV9zc2l6ZV90IGVuZCkKK3sKKyAgICBQeU9iamVjdCAqcmVzdWx0ID0gTlVMTDsKKyAgICBJbnRlcm5hbEZvcm1hdFNwZWMgZm9ybWF0OworCisgICAgLyogY2hlY2sgZm9yIHRoZSBzcGVjaWFsIGNhc2Ugb2YgemVybyBsZW5ndGggZm9ybWF0IHNwZWMsIG1ha2UKKyAgICAgICBpdCBlcXVpdmFsZW50IHRvIHN0cihvYmopICovCisgICAgaWYgKHN0YXJ0ID09IGVuZCkgeworICAgICAgICByZXN1bHQgPSBQeU9iamVjdF9TdHIob2JqKTsKKyAgICAgICAgZ290byBkb25lOworICAgIH0KKworICAgIC8qIHBhcnNlIHRoZSBmb3JtYXRfc3BlYyAqLworICAgIGlmICghcGFyc2VfaW50ZXJuYWxfcmVuZGVyX2Zvcm1hdF9zcGVjKGZvcm1hdF9zcGVjLCBzdGFydCwgZW5kLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZmb3JtYXQsICdcMCcsICc+JykpCisgICAgICAgIGdvdG8gZG9uZTsKKworICAgIC8qIHR5cGUgY29udmVyc2lvbj8gKi8KKyAgICBzd2l0Y2ggKGZvcm1hdC50eXBlKSB7CisgICAgY2FzZSAnXDAnOiAvKiBObyBmb3JtYXQgY29kZTogbGlrZSAnZycsIGJ1dCB3aXRoIGF0IGxlYXN0IG9uZSBkZWNpbWFsLiAqLworICAgIGNhc2UgJ2UnOgorICAgIGNhc2UgJ0UnOgorICAgIGNhc2UgJ2YnOgorICAgIGNhc2UgJ0YnOgorICAgIGNhc2UgJ2cnOgorICAgIGNhc2UgJ0cnOgorICAgIGNhc2UgJ24nOgorICAgIGNhc2UgJyUnOgorICAgICAgICAvKiBubyBjb252ZXJzaW9uLCBhbHJlYWR5IGEgZmxvYXQuICBkbyB0aGUgZm9ybWF0dGluZyAqLworICAgICAgICByZXN1bHQgPSBmb3JtYXRfZmxvYXRfaW50ZXJuYWwob2JqLCAmZm9ybWF0KTsKKyAgICAgICAgYnJlYWs7CisKKyAgICBkZWZhdWx0OgorICAgICAgICAvKiB1bmtub3duICovCisgICAgICAgIHVua25vd25fcHJlc2VudGF0aW9uX3R5cGUoZm9ybWF0LnR5cGUsIG9iai0+b2JfdHlwZS0+dHBfbmFtZSk7CisgICAgICAgIGdvdG8gZG9uZTsKKyAgICB9CisKK2RvbmU6CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKworUHlPYmplY3QgKgorX1B5Q29tcGxleF9Gb3JtYXRBZHZhbmNlZChQeU9iamVjdCAqb2JqLAorICAgICAgICAgICAgICAgICAgICAgICAgICBQeU9iamVjdCAqZm9ybWF0X3NwZWMsCisgICAgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3Qgc3RhcnQsIFB5X3NzaXplX3QgZW5kKQoreworICAgIFB5T2JqZWN0ICpyZXN1bHQgPSBOVUxMOworICAgIEludGVybmFsRm9ybWF0U3BlYyBmb3JtYXQ7CisKKyAgICAvKiBjaGVjayBmb3IgdGhlIHNwZWNpYWwgY2FzZSBvZiB6ZXJvIGxlbmd0aCBmb3JtYXQgc3BlYywgbWFrZQorICAgICAgIGl0IGVxdWl2YWxlbnQgdG8gc3RyKG9iaikgKi8KKyAgICBpZiAoc3RhcnQgPT0gZW5kKSB7CisgICAgICAgIHJlc3VsdCA9IFB5T2JqZWN0X1N0cihvYmopOworICAgICAgICBnb3RvIGRvbmU7CisgICAgfQorCisgICAgLyogcGFyc2UgdGhlIGZvcm1hdF9zcGVjICovCisgICAgaWYgKCFwYXJzZV9pbnRlcm5hbF9yZW5kZXJfZm9ybWF0X3NwZWMoZm9ybWF0X3NwZWMsIHN0YXJ0LCBlbmQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmZvcm1hdCwgJ1wwJywgJz4nKSkKKyAgICAgICAgZ290byBkb25lOworCisgICAgLyogdHlwZSBjb252ZXJzaW9uPyAqLworICAgIHN3aXRjaCAoZm9ybWF0LnR5cGUpIHsKKyAgICBjYXNlICdcMCc6IC8qIE5vIGZvcm1hdCBjb2RlOiBsaWtlICdnJywgYnV0IHdpdGggYXQgbGVhc3Qgb25lIGRlY2ltYWwuICovCisgICAgY2FzZSAnZSc6CisgICAgY2FzZSAnRSc6CisgICAgY2FzZSAnZic6CisgICAgY2FzZSAnRic6CisgICAgY2FzZSAnZyc6CisgICAgY2FzZSAnRyc6CisgICAgY2FzZSAnbic6CisgICAgICAgIC8qIG5vIGNvbnZlcnNpb24sIGFscmVhZHkgYSBjb21wbGV4LiAgZG8gdGhlIGZvcm1hdHRpbmcgKi8KKyAgICAgICAgcmVzdWx0ID0gZm9ybWF0X2NvbXBsZXhfaW50ZXJuYWwob2JqLCAmZm9ybWF0KTsKKyAgICAgICAgYnJlYWs7CisKKyAgICBkZWZhdWx0OgorICAgICAgICAvKiB1bmtub3duICovCisgICAgICAgIHVua25vd25fcHJlc2VudGF0aW9uX3R5cGUoZm9ybWF0LnR5cGUsIG9iai0+b2JfdHlwZS0+dHBfbmFtZSk7CisgICAgICAgIGdvdG8gZG9uZTsKKyAgICB9CisKK2RvbmU6CisgICAgcmV0dXJuIHJlc3VsdDsKK30KZGlmZiAtLWdpdCBhL1B5dGhvbi9nZXRhcmdzLmMgYi9QeXRob24vZ2V0YXJncy5jCmluZGV4IDYwMDk0MWQuLjM4YzlkZGUgMTAwNjQ0Ci0tLSBhL1B5dGhvbi9nZXRhcmdzLmMKKysrIGIvUHl0aG9uL2dldGFyZ3MuYwpAQCAtMzMsMTYgKzMzLDMzIEBACiAjZGVmaW5lIEZMQUdfQ09NUEFUIDEKICNkZWZpbmUgRkxBR19TSVpFX1QgMgogCit0eXBlZGVmIGludCAoKmRlc3RyX3QpKFB5T2JqZWN0ICosIHZvaWQgKik7CisKKworLyogS2VlcCB0cmFjayBvZiAib2JqZWN0cyIgdGhhdCBoYXZlIGJlZW4gYWxsb2NhdGVkIG9yIGluaXRpYWxpemVkIGFuZAorICAgd2hpY2ggd2lsbCBuZWVkIHRvIGJlIGRlYWxsb2NhdGVkIG9yIGNsZWFuZWQgdXAgc29tZWhvdyBpZiBvdmVyYWxsCisgICBwYXJzaW5nIGZhaWxzLgorKi8KK3R5cGVkZWYgc3RydWN0IHsKKyAgdm9pZCAqaXRlbTsKKyAgZGVzdHJfdCBkZXN0cnVjdG9yOworfSBmcmVlbGlzdGVudHJ5X3Q7CisKK3R5cGVkZWYgc3RydWN0IHsKKyAgaW50IGZpcnN0X2F2YWlsYWJsZTsKKyAgZnJlZWxpc3RlbnRyeV90ICplbnRyaWVzOworfSBmcmVlbGlzdF90OworCiAKIC8qIEZvcndhcmQgKi8KIHN0YXRpYyBpbnQgdmdldGFyZ3MxKFB5T2JqZWN0ICosIGNvbnN0IGNoYXIgKiwgdmFfbGlzdCAqLCBpbnQpOwogc3RhdGljIHZvaWQgc2V0ZXJyb3IoaW50LCBjb25zdCBjaGFyICosIGludCAqLCBjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKik7CiBzdGF0aWMgY2hhciAqY29udmVydGl0ZW0oUHlPYmplY3QgKiwgY29uc3QgY2hhciAqKiwgdmFfbGlzdCAqLCBpbnQsIGludCAqLAotICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgKiwgc2l6ZV90LCBQeU9iamVjdCAqKik7CisgICAgICAgICAgICAgICAgICAgICAgICAgY2hhciAqLCBzaXplX3QsIGZyZWVsaXN0X3QgKik7CiBzdGF0aWMgY2hhciAqY29udmVydHR1cGxlKFB5T2JqZWN0ICosIGNvbnN0IGNoYXIgKiosIHZhX2xpc3QgKiwgaW50LAotICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgKiwgY2hhciAqLCBzaXplX3QsIGludCwgUHlPYmplY3QgKiopOworICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgKiwgY2hhciAqLCBzaXplX3QsIGludCwgZnJlZWxpc3RfdCAqKTsKIHN0YXRpYyBjaGFyICpjb252ZXJ0c2ltcGxlKFB5T2JqZWN0ICosIGNvbnN0IGNoYXIgKiosIHZhX2xpc3QgKiwgaW50LCBjaGFyICosCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QsIFB5T2JqZWN0ICoqKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCwgZnJlZWxpc3RfdCAqKTsKIHN0YXRpYyBQeV9zc2l6ZV90IGNvbnZlcnRidWZmZXIoUHlPYmplY3QgKiwgdm9pZCAqKnAsIGNoYXIgKiopOwogc3RhdGljIGludCBnZXRidWZmZXIoUHlPYmplY3QgKiwgUHlfYnVmZmVyICosIGNoYXIqKik7CiAKQEAgLTEyMywxMTUgKzE0MCw1NCBAQAogCiAvKiBIYW5kbGUgY2xlYW51cCBvZiBhbGxvY2F0ZWQgbWVtb3J5IGluIGNhc2Ugb2YgZXhjZXB0aW9uICovCiAKLSNkZWZpbmUgR0VUQVJHU19DQVBTVUxFX05BTUVfQ0xFQU5VUF9QVFIgImdldGFyZ3MuY2xlYW51cF9wdHIiCi0jZGVmaW5lIEdFVEFSR1NfQ0FQU1VMRV9OQU1FX0NMRUFOVVBfQlVGRkVSICJnZXRhcmdzLmNsZWFudXBfYnVmZmVyIgotI2RlZmluZSBHRVRBUkdTX0NBUFNVTEVfTkFNRV9DTEVBTlVQX0NPTlZFUlQgImdldGFyZ3MuY2xlYW51cF9jb252ZXJ0IgotCi1zdGF0aWMgdm9pZAotY2xlYW51cF9wdHIoUHlPYmplY3QgKnNlbGYpCitzdGF0aWMgaW50CitjbGVhbnVwX3B0cihQeU9iamVjdCAqc2VsZiwgdm9pZCAqcHRyKQogewotICAgIHZvaWQgKnB0ciA9IFB5Q2Fwc3VsZV9HZXRQb2ludGVyKHNlbGYsIEdFVEFSR1NfQ0FQU1VMRV9OQU1FX0NMRUFOVVBfUFRSKTsKICAgICBpZiAocHRyKSB7CiAgICAgICAgIFB5TWVtX0ZSRUUocHRyKTsKICAgICB9Ci19Ci0KLXN0YXRpYyB2b2lkCi1jbGVhbnVwX2J1ZmZlcihQeU9iamVjdCAqc2VsZikKLXsKLSAgICBQeV9idWZmZXIgKnB0ciA9IChQeV9idWZmZXIgKilQeUNhcHN1bGVfR2V0UG9pbnRlcihzZWxmLCBHRVRBUkdTX0NBUFNVTEVfTkFNRV9DTEVBTlVQX0JVRkZFUik7Ci0gICAgaWYgKHB0cikgewotICAgICAgICBQeUJ1ZmZlcl9SZWxlYXNlKHB0cik7Ci0gICAgfQotfQotCi1zdGF0aWMgaW50Ci1hZGRjbGVhbnVwKHZvaWQgKnB0ciwgUHlPYmplY3QgKipmcmVlbGlzdCwgaW50IGlzX2J1ZmZlcikKLXsKLSAgICBQeU9iamVjdCAqY29iajsKLSAgICBjb25zdCBjaGFyICpuYW1lOwotICAgIFB5Q2Fwc3VsZV9EZXN0cnVjdG9yIGRlc3RyOwotCi0gICAgaWYgKGlzX2J1ZmZlcikgewotICAgICAgICBkZXN0ciA9IGNsZWFudXBfYnVmZmVyOwotICAgICAgICBuYW1lID0gR0VUQVJHU19DQVBTVUxFX05BTUVfQ0xFQU5VUF9CVUZGRVI7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgZGVzdHIgPSBjbGVhbnVwX3B0cjsKLSAgICAgICAgbmFtZSA9IEdFVEFSR1NfQ0FQU1VMRV9OQU1FX0NMRUFOVVBfUFRSOwotICAgIH0KLQotICAgIGlmICghKmZyZWVsaXN0KSB7Ci0gICAgICAgICpmcmVlbGlzdCA9IFB5TGlzdF9OZXcoMCk7Ci0gICAgICAgIGlmICghKmZyZWVsaXN0KSB7Ci0gICAgICAgICAgICBkZXN0cihwdHIpOwotICAgICAgICAgICAgcmV0dXJuIC0xOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgY29iaiA9IFB5Q2Fwc3VsZV9OZXcocHRyLCBuYW1lLCBkZXN0cik7Ci0gICAgaWYgKCFjb2JqKSB7Ci0gICAgICAgIGRlc3RyKHB0cik7Ci0gICAgICAgIHJldHVybiAtMTsKLSAgICB9Ci0gICAgaWYgKFB5TGlzdF9BcHBlbmQoKmZyZWVsaXN0LCBjb2JqKSkgewotICAgICAgICBQeV9ERUNSRUYoY29iaik7Ci0gICAgICAgIHJldHVybiAtMTsKLSAgICB9Ci0gICAgUHlfREVDUkVGKGNvYmopOwotICAgIHJldHVybiAwOwotfQotCi1zdGF0aWMgdm9pZAotY2xlYW51cF9jb252ZXJ0KFB5T2JqZWN0ICpzZWxmKQotewotICAgIHR5cGVkZWYgaW50ICgqZGVzdHJfdCkoUHlPYmplY3QgKiwgdm9pZCAqKTsKLSAgICBkZXN0cl90IGRlc3RyID0gKGRlc3RyX3QpUHlDYXBzdWxlX0dldENvbnRleHQoc2VsZik7Ci0gICAgdm9pZCAqcHRyID0gUHlDYXBzdWxlX0dldFBvaW50ZXIoc2VsZiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHRVRBUkdTX0NBUFNVTEVfTkFNRV9DTEVBTlVQX0NPTlZFUlQpOwotICAgIGlmIChwdHIgJiYgZGVzdHIpCi0gICAgICAgIGRlc3RyKE5VTEwsIHB0cik7Ci19Ci0KLXN0YXRpYyBpbnQKLWFkZGNsZWFudXBfY29udmVydCh2b2lkICpwdHIsIFB5T2JqZWN0ICoqZnJlZWxpc3QsIGludCAoKmRlc3RyKShQeU9iamVjdCosdm9pZCopKQotewotICAgIFB5T2JqZWN0ICpjb2JqOwotICAgIGlmICghKmZyZWVsaXN0KSB7Ci0gICAgICAgICpmcmVlbGlzdCA9IFB5TGlzdF9OZXcoMCk7Ci0gICAgICAgIGlmICghKmZyZWVsaXN0KSB7Ci0gICAgICAgICAgICBkZXN0cihOVUxMLCBwdHIpOwotICAgICAgICAgICAgcmV0dXJuIC0xOwotICAgICAgICB9Ci0gICAgfQotICAgIGNvYmogPSBQeUNhcHN1bGVfTmV3KHB0ciwgR0VUQVJHU19DQVBTVUxFX05BTUVfQ0xFQU5VUF9DT05WRVJULAotICAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFudXBfY29udmVydCk7Ci0gICAgaWYgKCFjb2JqKSB7Ci0gICAgICAgIGRlc3RyKE5VTEwsIHB0cik7Ci0gICAgICAgIHJldHVybiAtMTsKLSAgICB9Ci0gICAgaWYgKFB5Q2Fwc3VsZV9TZXRDb250ZXh0KGNvYmosIGRlc3RyKSA9PSAtMSkgewotICAgICAgICAvKiBUaGlzIHJlYWxseSBzaG91bGQgbm90IGhhcHBlbi4gKi8KLSAgICAgICAgUHlfRmF0YWxFcnJvcigiY2Fwc3VsZSByZWZ1c2VkIHNldHRpbmcgb2YgY29udGV4dC4iKTsKLSAgICB9Ci0gICAgaWYgKFB5TGlzdF9BcHBlbmQoKmZyZWVsaXN0LCBjb2JqKSkgewotICAgICAgICBQeV9ERUNSRUYoY29iaik7IC8qIFRoaXMgd2lsbCBhbHNvIGNhbGwgZGVzdHIuICovCi0gICAgICAgIHJldHVybiAtMTsKLSAgICB9Ci0gICAgUHlfREVDUkVGKGNvYmopOwogICAgIHJldHVybiAwOwogfQogCiBzdGF0aWMgaW50Ci1jbGVhbnJldHVybihpbnQgcmV0dmFsLCBQeU9iamVjdCAqZnJlZWxpc3QpCitjbGVhbnVwX2J1ZmZlcihQeU9iamVjdCAqc2VsZiwgdm9pZCAqcHRyKQogewotICAgIGlmIChmcmVlbGlzdCAmJiByZXR2YWwgIT0gMCkgewotICAgICAgICAvKiBXZSB3ZXJlIHN1Y2Nlc3NmdWwsIHJlc2V0IHRoZSBkZXN0cnVjdG9ycyBzbyB0aGF0IHRoZXkKLSAgICAgICAgICAgZG9uJ3QgZ2V0IGNhbGxlZC4gKi8KLSAgICAgICAgUHlfc3NpemVfdCBsZW4gPSBQeUxpc3RfR0VUX1NJWkUoZnJlZWxpc3QpLCBpOwotICAgICAgICBmb3IgKGkgPSAwOyBpIDwgbGVuOyBpKyspCi0gICAgICAgICAgICBQeUNhcHN1bGVfU2V0RGVzdHJ1Y3RvcihQeUxpc3RfR0VUX0lURU0oZnJlZWxpc3QsIGkpLCBOVUxMKTsKKyAgICBQeV9idWZmZXIgKmJ1ZiA9IChQeV9idWZmZXIgKilwdHI7CisgICAgaWYgKGJ1ZikgeworICAgICAgICBQeUJ1ZmZlcl9SZWxlYXNlKGJ1Zik7CiAgICAgfQotICAgIFB5X1hERUNSRUYoZnJlZWxpc3QpOworICAgIHJldHVybiAwOworfQorCitzdGF0aWMgaW50CithZGRjbGVhbnVwKHZvaWQgKnB0ciwgZnJlZWxpc3RfdCAqZnJlZWxpc3QsIGRlc3RyX3QgZGVzdHJ1Y3RvcikKK3sKKyAgICBpbnQgaW5kZXg7CisKKyAgICBpbmRleCA9IGZyZWVsaXN0LT5maXJzdF9hdmFpbGFibGU7CisgICAgZnJlZWxpc3QtPmZpcnN0X2F2YWlsYWJsZSArPSAxOworCisgICAgZnJlZWxpc3QtPmVudHJpZXNbaW5kZXhdLml0ZW0gPSBwdHI7CisgICAgZnJlZWxpc3QtPmVudHJpZXNbaW5kZXhdLmRlc3RydWN0b3IgPSBkZXN0cnVjdG9yOworCisgICAgcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQKK2NsZWFucmV0dXJuKGludCByZXR2YWwsIGZyZWVsaXN0X3QgKmZyZWVsaXN0KQoreworICAgIGludCBpbmRleDsKKworICAgIGlmIChyZXR2YWwgPT0gMCkgeworICAgICAgLyogQSBmYWlsdXJlIG9jY3VycmVkLCB0aGVyZWZvcmUgZXhlY3V0ZSBhbGwgb2YgdGhlIGNsZWFudXAKKyAgICAgICAgIGZ1bmN0aW9ucy4KKyAgICAgICovCisgICAgICBmb3IgKGluZGV4ID0gMDsgaW5kZXggPCBmcmVlbGlzdC0+Zmlyc3RfYXZhaWxhYmxlOyArK2luZGV4KSB7CisgICAgICAgICAgZnJlZWxpc3QtPmVudHJpZXNbaW5kZXhdLmRlc3RydWN0b3IoTlVMTCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcmVlbGlzdC0+ZW50cmllc1tpbmRleF0uaXRlbSk7CisgICAgICB9CisgICAgfQorICAgIFB5TWVtX0ZSRUUoZnJlZWxpc3QtPmVudHJpZXMpOwogICAgIHJldHVybiByZXR2YWw7CiB9CiAKQEAgLTI1MCw3ICsyMDYsNyBAQAogICAgIGNvbnN0IGNoYXIgKmZvcm1hdHNhdmUgPSBmb3JtYXQ7CiAgICAgUHlfc3NpemVfdCBpLCBsZW47CiAgICAgY2hhciAqbXNnOwotICAgIFB5T2JqZWN0ICpmcmVlbGlzdCA9IE5VTEw7CisgICAgZnJlZWxpc3RfdCBmcmVlbGlzdCA9IHswLCBOVUxMfTsKICAgICBpbnQgY29tcGF0ID0gZmxhZ3MgJiBGTEFHX0NPTVBBVDsKIAogICAgIGFzc2VydChjb21wYXQgfHwgKGFyZ3MgIT0gKFB5T2JqZWN0KilOVUxMKSk7CkBAIC0zMDYsNjQgKzI2Miw2NiBAQAogCiAgICAgZm9ybWF0ID0gZm9ybWF0c2F2ZTsKIAorICAgIGZyZWVsaXN0LmVudHJpZXMgPSBQeU1lbV9ORVcoZnJlZWxpc3RlbnRyeV90LCBtYXgpOworICAgIGlmIChmcmVlbGlzdC5lbnRyaWVzID09IE5VTEwpIHsKKyAgICAgICAgUHlFcnJfTm9NZW1vcnkoKTsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorCiAgICAgaWYgKGNvbXBhdCkgewogICAgICAgICBpZiAobWF4ID09IDApIHsKICAgICAgICAgICAgIGlmIChhcmdzID09IE5VTEwpCiAgICAgICAgICAgICAgICAgcmV0dXJuIDE7Ci0gICAgICAgICAgICBQeU9TX3NucHJpbnRmKG1zZ2J1Ziwgc2l6ZW9mKG1zZ2J1ZiksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICIlLjIwMHMlcyB0YWtlcyBubyBhcmd1bWVudHMiLAotICAgICAgICAgICAgICAgICAgICAgICAgICBmbmFtZT09TlVMTCA/ICJmdW5jdGlvbiIgOiBmbmFtZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgZm5hbWU9PU5VTEwgPyAiIiA6ICIoKSIpOwotICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgbXNnYnVmKTsKLSAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1R5cGVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAiJS4yMDBzJXMgdGFrZXMgbm8gYXJndW1lbnRzIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICBmbmFtZT09TlVMTCA/ICJmdW5jdGlvbiIgOiBmbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBmbmFtZT09TlVMTCA/ICIiIDogIigpIik7CisgICAgICAgICAgICByZXR1cm4gY2xlYW5yZXR1cm4oMCwgJmZyZWVsaXN0KTsKICAgICAgICAgfQogICAgICAgICBlbHNlIGlmIChtaW4gPT0gMSAmJiBtYXggPT0gMSkgewogICAgICAgICAgICAgaWYgKGFyZ3MgPT0gTlVMTCkgewotICAgICAgICAgICAgICAgIFB5T1Nfc25wcmludGYobXNnYnVmLCBzaXplb2YobXNnYnVmKSwKLSAgICAgICAgICAgICAgICAgICAgICAiJS4yMDBzJXMgdGFrZXMgYXQgbGVhc3Qgb25lIGFyZ3VtZW50IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgZm5hbWU9PU5VTEwgPyAiZnVuY3Rpb24iIDogZm5hbWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGZuYW1lPT1OVUxMID8gIiIgOiAiKCkiKTsKLSAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCBtc2didWYpOwotICAgICAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIlLjIwMHMlcyB0YWtlcyBhdCBsZWFzdCBvbmUgYXJndW1lbnQiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbmFtZT09TlVMTCA/ICJmdW5jdGlvbiIgOiBmbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm5hbWU9PU5VTEwgPyAiIiA6ICIoKSIpOworICAgICAgICAgICAgICAgIHJldHVybiBjbGVhbnJldHVybigwLCAmZnJlZWxpc3QpOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgbXNnID0gY29udmVydGl0ZW0oYXJncywgJmZvcm1hdCwgcF92YSwgZmxhZ3MsIGxldmVscywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zZ2J1Ziwgc2l6ZW9mKG1zZ2J1ZiksICZmcmVlbGlzdCk7CiAgICAgICAgICAgICBpZiAobXNnID09IE5VTEwpCi0gICAgICAgICAgICAgICAgcmV0dXJuIGNsZWFucmV0dXJuKDEsIGZyZWVsaXN0KTsKKyAgICAgICAgICAgICAgICByZXR1cm4gY2xlYW5yZXR1cm4oMSwgJmZyZWVsaXN0KTsKICAgICAgICAgICAgIHNldGVycm9yKGxldmVsc1swXSwgbXNnLCBsZXZlbHMrMSwgZm5hbWUsIG1lc3NhZ2UpOwotICAgICAgICAgICAgcmV0dXJuIGNsZWFucmV0dXJuKDAsIGZyZWVsaXN0KTsKKyAgICAgICAgICAgIHJldHVybiBjbGVhbnJldHVybigwLCAmZnJlZWxpc3QpOwogICAgICAgICB9CiAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1N5c3RlbUVycm9yLAogICAgICAgICAgICAgICAgICJvbGQgc3R5bGUgZ2V0YXJncyBmb3JtYXQgdXNlcyBuZXcgZmVhdHVyZXMiKTsKLSAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICAgICAgcmV0dXJuIGNsZWFucmV0dXJuKDAsICZmcmVlbGlzdCk7CiAgICAgICAgIH0KICAgICB9CiAKICAgICBpZiAoIVB5VHVwbGVfQ2hlY2soYXJncykpIHsKICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1N5c3RlbUVycm9yLAogICAgICAgICAgICAgIm5ldyBzdHlsZSBnZXRhcmdzIGZvcm1hdCBidXQgYXJndW1lbnQgaXMgbm90IGEgdHVwbGUiKTsKLSAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIHJldHVybiBjbGVhbnJldHVybigwLCAmZnJlZWxpc3QpOwogICAgIH0KIAogICAgIGxlbiA9IFB5VHVwbGVfR0VUX1NJWkUoYXJncyk7CiAKICAgICBpZiAobGVuIDwgbWluIHx8IG1heCA8IGxlbikgewotICAgICAgICBpZiAobWVzc2FnZSA9PSBOVUxMKSB7Ci0gICAgICAgICAgICBQeU9TX3NucHJpbnRmKG1zZ2J1Ziwgc2l6ZW9mKG1zZ2J1ZiksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICIlLjE1MHMlcyB0YWtlcyAlcyAlZCBhcmd1bWVudCVzICIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIiglbGQgZ2l2ZW4pIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgZm5hbWU9PU5VTEwgPyAiZnVuY3Rpb24iIDogZm5hbWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGZuYW1lPT1OVUxMID8gIiIgOiAiKCkiLAotICAgICAgICAgICAgICAgICAgICAgICAgICBtaW49PW1heCA/ICJleGFjdGx5IgotICAgICAgICAgICAgICAgICAgICAgICAgICA6IGxlbiA8IG1pbiA/ICJhdCBsZWFzdCIgOiAiYXQgbW9zdCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGxlbiA8IG1pbiA/IG1pbiA6IG1heCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgKGxlbiA8IG1pbiA/IG1pbiA6IG1heCkgPT0gMSA/ICIiIDogInMiLAotICAgICAgICAgICAgICAgICAgICAgICAgICBQeV9TQUZFX0RPV05DQVNUKGxlbiwgUHlfc3NpemVfdCwgbG9uZykpOwotICAgICAgICAgICAgbWVzc2FnZSA9IG1zZ2J1ZjsKLSAgICAgICAgfQotICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCBtZXNzYWdlKTsKLSAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIGlmIChtZXNzYWdlID09IE5VTEwpCisgICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICIlLjE1MHMlcyB0YWtlcyAlcyAlZCBhcmd1bWVudCVzICglbGQgZ2l2ZW4pIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICBmbmFtZT09TlVMTCA/ICJmdW5jdGlvbiIgOiBmbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBmbmFtZT09TlVMTCA/ICIiIDogIigpIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICBtaW49PW1heCA/ICJleGFjdGx5IgorICAgICAgICAgICAgICAgICAgICAgICAgIDogbGVuIDwgbWluID8gImF0IGxlYXN0IiA6ICJhdCBtb3N0IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICBsZW4gPCBtaW4gPyBtaW4gOiBtYXgsCisgICAgICAgICAgICAgICAgICAgICAgICAgKGxlbiA8IG1pbiA/IG1pbiA6IG1heCkgPT0gMSA/ICIiIDogInMiLAorICAgICAgICAgICAgICAgICAgICAgICAgIFB5X1NBRkVfRE9XTkNBU1QobGVuLCBQeV9zc2l6ZV90LCBsb25nKSk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsIG1lc3NhZ2UpOworICAgICAgICByZXR1cm4gY2xlYW5yZXR1cm4oMCwgJmZyZWVsaXN0KTsKICAgICB9CiAKICAgICBmb3IgKGkgPSAwOyBpIDwgbGVuOyBpKyspIHsKQEAgLTM3NCw3ICszMzIsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YobXNnYnVmKSwgJmZyZWVsaXN0KTsKICAgICAgICAgaWYgKG1zZykgewogICAgICAgICAgICAgc2V0ZXJyb3IoaSsxLCBtc2csIGxldmVscywgZm5hbWUsIG1zZyk7Ci0gICAgICAgICAgICByZXR1cm4gY2xlYW5yZXR1cm4oMCwgZnJlZWxpc3QpOworICAgICAgICAgICAgcmV0dXJuIGNsZWFucmV0dXJuKDAsICZmcmVlbGlzdCk7CiAgICAgICAgIH0KICAgICB9CiAKQEAgLTM4MywxMCArMzQxLDEwIEBACiAgICAgICAgICpmb3JtYXQgIT0gJ3wnICYmICpmb3JtYXQgIT0gJzonICYmICpmb3JtYXQgIT0gJzsnKSB7CiAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19TeXN0ZW1FcnJvciwKICAgICAgICAgICAgICAgICAgICAgICJiYWQgZm9ybWF0IHN0cmluZzogJS4yMDBzIiwgZm9ybWF0c2F2ZSk7Ci0gICAgICAgIHJldHVybiBjbGVhbnJldHVybigwLCBmcmVlbGlzdCk7CisgICAgICAgIHJldHVybiBjbGVhbnJldHVybigwLCAmZnJlZWxpc3QpOwogICAgIH0KIAotICAgIHJldHVybiBjbGVhbnJldHVybigxLCBmcmVlbGlzdCk7CisgICAgcmV0dXJuIGNsZWFucmV0dXJuKDEsICZmcmVlbGlzdCk7CiB9CiAKIApAQCAtNDUwLDcgKzQwOCw3IEBACiBzdGF0aWMgY2hhciAqCiBjb252ZXJ0dHVwbGUoUHlPYmplY3QgKmFyZywgY29uc3QgY2hhciAqKnBfZm9ybWF0LCB2YV9saXN0ICpwX3ZhLCBpbnQgZmxhZ3MsCiAgICAgICAgICAgICAgaW50ICpsZXZlbHMsIGNoYXIgKm1zZ2J1Ziwgc2l6ZV90IGJ1ZnNpemUsIGludCB0b3BsZXZlbCwKLSAgICAgICAgICAgICBQeU9iamVjdCAqKmZyZWVsaXN0KQorICAgICAgICAgICAgIGZyZWVsaXN0X3QgKmZyZWVsaXN0KQogewogICAgIGludCBsZXZlbCA9IDA7CiAgICAgaW50IG4gPSAwOwpAQCAtNTI1LDcgKzQ4Myw3IEBACiAKIHN0YXRpYyBjaGFyICoKIGNvbnZlcnRpdGVtKFB5T2JqZWN0ICphcmcsIGNvbnN0IGNoYXIgKipwX2Zvcm1hdCwgdmFfbGlzdCAqcF92YSwgaW50IGZsYWdzLAotICAgICAgICAgICAgaW50ICpsZXZlbHMsIGNoYXIgKm1zZ2J1Ziwgc2l6ZV90IGJ1ZnNpemUsIFB5T2JqZWN0ICoqZnJlZWxpc3QpCisgICAgICAgICAgICBpbnQgKmxldmVscywgY2hhciAqbXNnYnVmLCBzaXplX3QgYnVmc2l6ZSwgZnJlZWxpc3RfdCAqZnJlZWxpc3QpCiB7CiAgICAgY2hhciAqbXNnOwogICAgIGNvbnN0IGNoYXIgKmZvcm1hdCA9ICpwX2Zvcm1hdDsKQEAgLTU1MCw5ICs1MDgsNiBAQAogCiAKIAotI2RlZmluZSBVTklDT0RFX0RFRkFVTFRfRU5DT0RJTkcoYXJnKSBcCi0gICAgX1B5VW5pY29kZV9Bc0RlZmF1bHRFbmNvZGVkU3RyaW5nKGFyZywgTlVMTCkKLQogLyogRm9ybWF0IGFuIGVycm9yIG1lc3NhZ2UgZ2VuZXJhdGVkIGJ5IGNvbnZlcnRzaW1wbGUoKS4gKi8KIAogc3RhdGljIGNoYXIgKgpAQCAtNTkzLDcgKzU0OCw3IEBACiAKIHN0YXRpYyBjaGFyICoKIGNvbnZlcnRzaW1wbGUoUHlPYmplY3QgKmFyZywgY29uc3QgY2hhciAqKnBfZm9ybWF0LCB2YV9saXN0ICpwX3ZhLCBpbnQgZmxhZ3MsCi0gICAgICAgICAgICAgIGNoYXIgKm1zZ2J1Ziwgc2l6ZV90IGJ1ZnNpemUsIFB5T2JqZWN0ICoqZnJlZWxpc3QpCisgICAgICAgICAgICAgIGNoYXIgKm1zZ2J1Ziwgc2l6ZV90IGJ1ZnNpemUsIGZyZWVsaXN0X3QgKmZyZWVsaXN0KQogewogICAgIC8qIEZvciAjIGNvZGVzICovCiAjZGVmaW5lIEZFVENIX1NJWkUgICAgICBpbnQgKnE9TlVMTDtQeV9zc2l6ZV90ICpxMj1OVUxMO1wKQEAgLTYxNSw3ICs1NzAsNyBAQAogCiAgICAgY29uc3QgY2hhciAqZm9ybWF0ID0gKnBfZm9ybWF0OwogICAgIGNoYXIgYyA9ICpmb3JtYXQrKzsKLSAgICBQeU9iamVjdCAqdWFyZzsKKyAgICBjaGFyICpzYXJnOwogCiAgICAgc3dpdGNoIChjKSB7CiAKQEAgLTgzMiw2ICs3ODcsOCBAQAogICAgICAgICBjaGFyICpwID0gdmFfYXJnKCpwX3ZhLCBjaGFyICopOwogICAgICAgICBpZiAoUHlCeXRlc19DaGVjayhhcmcpICYmIFB5Qnl0ZXNfU2l6ZShhcmcpID09IDEpCiAgICAgICAgICAgICAqcCA9IFB5Qnl0ZXNfQVNfU1RSSU5HKGFyZylbMF07CisgICAgICAgIGVsc2UgaWYgKFB5Qnl0ZUFycmF5X0NoZWNrKGFyZykgJiYgUHlCeXRlQXJyYXlfU2l6ZShhcmcpID09IDEpCisgICAgICAgICAgICAqcCA9IFB5Qnl0ZUFycmF5X0FTX1NUUklORyhhcmcpWzBdOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICByZXR1cm4gY29udmVydGVycigiYSBieXRlIHN0cmluZyBvZiBsZW5ndGggMSIsIGFyZywgbXNnYnVmLCBidWZzaXplKTsKICAgICAgICAgYnJlYWs7CkBAIC04MzksMTEgKzc5NiwyMSBAQAogCiAgICAgY2FzZSAnQyc6IHsvKiB1bmljb2RlIGNoYXIgKi8KICAgICAgICAgaW50ICpwID0gdmFfYXJnKCpwX3ZhLCBpbnQgKik7Ci0gICAgICAgIGlmIChQeVVuaWNvZGVfQ2hlY2soYXJnKSAmJgotICAgICAgICAgICAgUHlVbmljb2RlX0dFVF9TSVpFKGFyZykgPT0gMSkKLSAgICAgICAgICAgICpwID0gUHlVbmljb2RlX0FTX1VOSUNPREUoYXJnKVswXTsKLSAgICAgICAgZWxzZQorICAgICAgICBpbnQga2luZDsKKyAgICAgICAgdm9pZCAqZGF0YTsKKworICAgICAgICBpZiAoIVB5VW5pY29kZV9DaGVjayhhcmcpKQogICAgICAgICAgICAgcmV0dXJuIGNvbnZlcnRlcnIoImEgdW5pY29kZSBjaGFyYWN0ZXIiLCBhcmcsIG1zZ2J1ZiwgYnVmc2l6ZSk7CisKKyAgICAgICAgaWYgKFB5VW5pY29kZV9SRUFEWShhcmcpKQorICAgICAgICAgICAgUkVUVVJOX0VSUl9PQ0NVUlJFRDsKKworICAgICAgICBpZiAoUHlVbmljb2RlX0dFVF9MRU5HVEgoYXJnKSAhPSAxKQorICAgICAgICAgICAgcmV0dXJuIGNvbnZlcnRlcnIoImEgdW5pY29kZSBjaGFyYWN0ZXIiLCBhcmcsIG1zZ2J1ZiwgYnVmc2l6ZSk7CisKKyAgICAgICAga2luZCA9IFB5VW5pY29kZV9LSU5EKGFyZyk7CisgICAgICAgIGRhdGEgPSBQeVVuaWNvZGVfREFUQShhcmcpOworICAgICAgICAqcCA9IFB5VW5pY29kZV9SRUFEKGtpbmQsIGRhdGEsIDApOwogICAgICAgICBicmVhazsKICAgICB9CiAKQEAgLTg1OCw3ICs4MjUsNyBAQAogICAgICAgICAgICAgaWYgKGdldGJ1ZmZlcihhcmcsIChQeV9idWZmZXIqKXAsICZidWYpIDwgMCkKICAgICAgICAgICAgICAgICByZXR1cm4gY29udmVydGVycihidWYsIGFyZywgbXNnYnVmLCBidWZzaXplKTsKICAgICAgICAgICAgIGZvcm1hdCsrOwotICAgICAgICAgICAgaWYgKGFkZGNsZWFudXAocCwgZnJlZWxpc3QsIDEpKSB7CisgICAgICAgICAgICBpZiAoYWRkY2xlYW51cChwLCBmcmVlbGlzdCwgY2xlYW51cF9idWZmZXIpKSB7CiAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbnZlcnRlcnIoCiAgICAgICAgICAgICAgICAgICAgICIoY2xlYW51cCBwcm9ibGVtKSIsCiAgICAgICAgICAgICAgICAgICAgIGFyZywgbXNnYnVmLCBidWZzaXplKTsKQEAgLTg5MSwyMCArODU4LDE5IEBACiAgICAgICAgICAgICBpZiAoYyA9PSAneicgJiYgYXJnID09IFB5X05vbmUpCiAgICAgICAgICAgICAgICAgUHlCdWZmZXJfRmlsbEluZm8ocCwgTlVMTCwgTlVMTCwgMCwgMSwgMCk7CiAgICAgICAgICAgICBlbHNlIGlmIChQeVVuaWNvZGVfQ2hlY2soYXJnKSkgewotICAgICAgICAgICAgICAgIHVhcmcgPSBVTklDT0RFX0RFRkFVTFRfRU5DT0RJTkcoYXJnKTsKLSAgICAgICAgICAgICAgICBpZiAodWFyZyA9PSBOVUxMKQorICAgICAgICAgICAgICAgIFB5X3NzaXplX3QgbGVuOworICAgICAgICAgICAgICAgIHNhcmcgPSBQeVVuaWNvZGVfQXNVVEY4QW5kU2l6ZShhcmcsICZsZW4pOworICAgICAgICAgICAgICAgIGlmIChzYXJnID09IE5VTEwpCiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBjb252ZXJ0ZXJyKENPTlZfVU5JQ09ERSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJnLCBtc2didWYsIGJ1ZnNpemUpOwotICAgICAgICAgICAgICAgIFB5QnVmZmVyX0ZpbGxJbmZvKHAsIGFyZywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeUJ5dGVzX0FTX1NUUklORyh1YXJnKSwgUHlCeXRlc19HRVRfU0laRSh1YXJnKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLCAwKTsKKyAgICAgICAgICAgICAgICBQeUJ1ZmZlcl9GaWxsSW5mbyhwLCBhcmcsIHNhcmcsIGxlbiwgMSwgMCk7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBlbHNlIHsgLyogYW55IGJ1ZmZlci1saWtlIG9iamVjdCAqLwogICAgICAgICAgICAgICAgIGNoYXIgKmJ1ZjsKICAgICAgICAgICAgICAgICBpZiAoZ2V0YnVmZmVyKGFyZywgcCwgJmJ1ZikgPCAwKQogICAgICAgICAgICAgICAgICAgICByZXR1cm4gY29udmVydGVycihidWYsIGFyZywgbXNnYnVmLCBidWZzaXplKTsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlmIChhZGRjbGVhbnVwKHAsIGZyZWVsaXN0LCAxKSkgeworICAgICAgICAgICAgaWYgKGFkZGNsZWFudXAocCwgZnJlZWxpc3QsIGNsZWFudXBfYnVmZmVyKSkgewogICAgICAgICAgICAgICAgIHJldHVybiBjb252ZXJ0ZXJyKAogICAgICAgICAgICAgICAgICAgICAiKGNsZWFudXAgcHJvYmxlbSkiLAogICAgICAgICAgICAgICAgICAgICBhcmcsIG1zZ2J1ZiwgYnVmc2l6ZSk7CkBAIC05MjAsMTIgKzg4NiwxMyBAQAogICAgICAgICAgICAgICAgIFNUT1JFX1NJWkUoMCk7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBlbHNlIGlmIChQeVVuaWNvZGVfQ2hlY2soYXJnKSkgewotICAgICAgICAgICAgICAgIHVhcmcgPSBVTklDT0RFX0RFRkFVTFRfRU5DT0RJTkcoYXJnKTsKLSAgICAgICAgICAgICAgICBpZiAodWFyZyA9PSBOVUxMKQorICAgICAgICAgICAgICAgIFB5X3NzaXplX3QgbGVuOworICAgICAgICAgICAgICAgIHNhcmcgPSBQeVVuaWNvZGVfQXNVVEY4QW5kU2l6ZShhcmcsICZsZW4pOworICAgICAgICAgICAgICAgIGlmIChzYXJnID09IE5VTEwpCiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBjb252ZXJ0ZXJyKENPTlZfVU5JQ09ERSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJnLCBtc2didWYsIGJ1ZnNpemUpOwotICAgICAgICAgICAgICAgICpwID0gUHlCeXRlc19BU19TVFJJTkcodWFyZyk7Ci0gICAgICAgICAgICAgICAgU1RPUkVfU0laRShQeUJ5dGVzX0dFVF9TSVpFKHVhcmcpKTsKKyAgICAgICAgICAgICAgICAqcCA9IHNhcmc7CisgICAgICAgICAgICAgICAgU1RPUkVfU0laRShsZW4pOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgZWxzZSB7IC8qIGFueSBidWZmZXItbGlrZSBvYmplY3QgKi8KICAgICAgICAgICAgICAgICAvKiBYWFggUmVhbGx5PyAqLwpAQCAtOTM5LDI1ICs5MDYsMjUgQEAKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIC8qICJzIiBvciAieiIgKi8KICAgICAgICAgICAgIGNoYXIgKipwID0gdmFfYXJnKCpwX3ZhLCBjaGFyICoqKTsKLSAgICAgICAgICAgIHVhcmcgPSBOVUxMOworICAgICAgICAgICAgUHlfc3NpemVfdCBsZW47CisgICAgICAgICAgICBzYXJnID0gTlVMTDsKIAogICAgICAgICAgICAgaWYgKGMgPT0gJ3onICYmIGFyZyA9PSBQeV9Ob25lKQogICAgICAgICAgICAgICAgICpwID0gTlVMTDsKICAgICAgICAgICAgIGVsc2UgaWYgKFB5VW5pY29kZV9DaGVjayhhcmcpKSB7Ci0gICAgICAgICAgICAgICAgdWFyZyA9IFVOSUNPREVfREVGQVVMVF9FTkNPRElORyhhcmcpOwotICAgICAgICAgICAgICAgIGlmICh1YXJnID09IE5VTEwpCisgICAgICAgICAgICAgICAgc2FyZyA9IFB5VW5pY29kZV9Bc1VURjhBbmRTaXplKGFyZywgJmxlbik7CisgICAgICAgICAgICAgICAgaWYgKHNhcmcgPT0gTlVMTCkKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbnZlcnRlcnIoQ09OVl9VTklDT0RFLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmcsIG1zZ2J1ZiwgYnVmc2l6ZSk7Ci0gICAgICAgICAgICAgICAgKnAgPSBQeUJ5dGVzX0FTX1NUUklORyh1YXJnKTsKKyAgICAgICAgICAgICAgICAqcCA9IHNhcmc7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbnZlcnRlcnIoYyA9PSAneicgPyAic3RyIG9yIE5vbmUiIDogInN0ciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJnLCBtc2didWYsIGJ1ZnNpemUpOwotICAgICAgICAgICAgaWYgKCpwICE9IE5VTEwgJiYgdWFyZyAhPSBOVUxMICYmCi0gICAgICAgICAgICAgICAgKFB5X3NzaXplX3QpIHN0cmxlbigqcCkgIT0gUHlCeXRlc19HRVRfU0laRSh1YXJnKSkKKyAgICAgICAgICAgIGlmICgqcCAhPSBOVUxMICYmIHNhcmcgIT0gTlVMTCAmJiAoUHlfc3NpemVfdCkgc3RybGVuKCpwKSAhPSBsZW4pCiAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbnZlcnRlcnIoCi0gICAgICAgICAgICAgICAgICAgIGMgPT0gJ3onID8gInN0ciB3aXRob3V0IG51bGwgYnl0ZXMgb3IgTm9uZSIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAic3RyIHdpdGhvdXQgbnVsbCBieXRlcyIsCisgICAgICAgICAgICAgICAgICAgIGMgPT0gJ3onID8gInN0ciB3aXRob3V0IG51bGwgY2hhcmFjdGVycyBvciBOb25lIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICJzdHIgd2l0aG91dCBudWxsIGNoYXJhY3RlcnMiLAogICAgICAgICAgICAgICAgICAgICBhcmcsIG1zZ2J1ZiwgYnVmc2l6ZSk7CiAgICAgICAgIH0KICAgICAgICAgYnJlYWs7CkBAIC05NjYsOSArOTMzLDEwIEBACiAgICAgY2FzZSAndSc6IC8qIHJhdyB1bmljb2RlIGJ1ZmZlciAoUHlfVU5JQ09ERSAqKSAqLwogICAgIGNhc2UgJ1onOiAvKiByYXcgdW5pY29kZSBidWZmZXIgb3IgTm9uZSAqLwogICAgIHsKKyAgICAgICAgUHlfVU5JQ09ERSAqKnAgPSB2YV9hcmcoKnBfdmEsIFB5X1VOSUNPREUgKiopOworCiAgICAgICAgIGlmICgqZm9ybWF0ID09ICcjJykgeyAvKiBhbnkgYnVmZmVyLWxpa2Ugb2JqZWN0ICovCiAgICAgICAgICAgICAvKiAicyMiIG9yICJaIyIgKi8KLSAgICAgICAgICAgIFB5X1VOSUNPREUgKipwID0gdmFfYXJnKCpwX3ZhLCBQeV9VTklDT0RFICoqKTsKICAgICAgICAgICAgIEZFVENIX1NJWkU7CiAKICAgICAgICAgICAgIGlmIChjID09ICdaJyAmJiBhcmcgPT0gUHlfTm9uZSkgewpAQCAtOTc2LDIzICs5NDQsMjcgQEAKICAgICAgICAgICAgICAgICBTVE9SRV9TSVpFKDApOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgZWxzZSBpZiAoUHlVbmljb2RlX0NoZWNrKGFyZykpIHsKLSAgICAgICAgICAgICAgICAqcCA9IFB5VW5pY29kZV9BU19VTklDT0RFKGFyZyk7Ci0gICAgICAgICAgICAgICAgU1RPUkVfU0laRShQeVVuaWNvZGVfR0VUX1NJWkUoYXJnKSk7CisgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBsZW47CisgICAgICAgICAgICAgICAgKnAgPSBQeVVuaWNvZGVfQXNVbmljb2RlQW5kU2l6ZShhcmcsICZsZW4pOworICAgICAgICAgICAgICAgIGlmICgqcCA9PSBOVUxMKQorICAgICAgICAgICAgICAgICAgICBSRVRVUk5fRVJSX09DQ1VSUkVEOworICAgICAgICAgICAgICAgIFNUT1JFX1NJWkUobGVuKTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICByZXR1cm4gY29udmVydGVycigic3RyIG9yIE5vbmUiLCBhcmcsIG1zZ2J1ZiwgYnVmc2l6ZSk7CiAgICAgICAgICAgICBmb3JtYXQrKzsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIC8qICJzIiBvciAiWiIgKi8KLSAgICAgICAgICAgIFB5X1VOSUNPREUgKipwID0gdmFfYXJnKCpwX3ZhLCBQeV9VTklDT0RFICoqKTsKLQogICAgICAgICAgICAgaWYgKGMgPT0gJ1onICYmIGFyZyA9PSBQeV9Ob25lKQogICAgICAgICAgICAgICAgICpwID0gTlVMTDsKICAgICAgICAgICAgIGVsc2UgaWYgKFB5VW5pY29kZV9DaGVjayhhcmcpKSB7Ci0gICAgICAgICAgICAgICAgKnAgPSBQeVVuaWNvZGVfQVNfVU5JQ09ERShhcmcpOwotICAgICAgICAgICAgICAgIGlmIChQeV9VTklDT0RFX3N0cmxlbigqcCkgIT0gUHlVbmljb2RlX0dFVF9TSVpFKGFyZykpCisgICAgICAgICAgICAgICAgUHlfc3NpemVfdCBsZW47CisgICAgICAgICAgICAgICAgKnAgPSBQeVVuaWNvZGVfQXNVbmljb2RlQW5kU2l6ZShhcmcsICZsZW4pOworICAgICAgICAgICAgICAgIGlmICgqcCA9PSBOVUxMKQorICAgICAgICAgICAgICAgICAgICBSRVRVUk5fRVJSX09DQ1VSUkVEOworICAgICAgICAgICAgICAgIGlmIChQeV9VTklDT0RFX3N0cmxlbigqcCkgIT0gbGVuKQogICAgICAgICAgICAgICAgICAgICByZXR1cm4gY29udmVydGVycigKLSAgICAgICAgICAgICAgICAgICAgICAgICJzdHIgd2l0aG91dCBudWxsIGNoYXJhY3RlciBvciBOb25lIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICJzdHIgd2l0aG91dCBudWxsIGNoYXJhY3RlcnMgb3IgTm9uZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICBhcmcsIG1zZ2J1ZiwgYnVmc2l6ZSk7CiAgICAgICAgICAgICB9IGVsc2UKICAgICAgICAgICAgICAgICByZXR1cm4gY29udmVydGVycihjID09ICdaJyA/ICJzdHIgb3IgTm9uZSIgOiAic3RyIiwKQEAgLTExMTAsNyArMTA4Miw3IEBACiAgICAgICAgICAgICAgICAgICAgIFB5RXJyX05vTWVtb3J5KCk7CiAgICAgICAgICAgICAgICAgICAgIFJFVFVSTl9FUlJfT0NDVVJSRUQ7CiAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGlmIChhZGRjbGVhbnVwKCpidWZmZXIsIGZyZWVsaXN0LCAwKSkgeworICAgICAgICAgICAgICAgIGlmIChhZGRjbGVhbnVwKCpidWZmZXIsIGZyZWVsaXN0LCBjbGVhbnVwX3B0cikpIHsKICAgICAgICAgICAgICAgICAgICAgUHlfREVDUkVGKHMpOwogICAgICAgICAgICAgICAgICAgICByZXR1cm4gY29udmVydGVycigKICAgICAgICAgICAgICAgICAgICAgICAgICIoY2xlYW51cCBwcm9ibGVtKSIsCkBAIC0xMTUyLDcgKzExMjQsNyBAQAogICAgICAgICAgICAgICAgIFB5RXJyX05vTWVtb3J5KCk7CiAgICAgICAgICAgICAgICAgUkVUVVJOX0VSUl9PQ0NVUlJFRDsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlmIChhZGRjbGVhbnVwKCpidWZmZXIsIGZyZWVsaXN0LCAwKSkgeworICAgICAgICAgICAgaWYgKGFkZGNsZWFudXAoKmJ1ZmZlciwgZnJlZWxpc3QsIGNsZWFudXBfcHRyKSkgewogICAgICAgICAgICAgICAgIFB5X0RFQ1JFRihzKTsKICAgICAgICAgICAgICAgICByZXR1cm4gY29udmVydGVycigiKGNsZWFudXAgcHJvYmxlbSkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmcsIG1zZ2J1ZiwgYnVmc2l6ZSk7CkBAIC0xMjEzLDcgKzExODUsNyBAQAogICAgICAgICAgICAgICAgIHJldHVybiBjb252ZXJ0ZXJyKCIodW5zcGVjaWZpZWQpIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmcsIG1zZ2J1ZiwgYnVmc2l6ZSk7CiAgICAgICAgICAgICBpZiAocmVzID09IFB5X0NMRUFOVVBfU1VQUE9SVEVEICYmCi0gICAgICAgICAgICAgICAgYWRkY2xlYW51cF9jb252ZXJ0KGFkZHIsIGZyZWVsaXN0LCBjb252ZXJ0KSA9PSAtMSkKKyAgICAgICAgICAgICAgICBhZGRjbGVhbnVwKGFkZHIsIGZyZWVsaXN0LCBjb252ZXJ0KSA9PSAtMSkKICAgICAgICAgICAgICAgICByZXR1cm4gY29udmVydGVycigiKGNsZWFudXAgcHJvYmxlbSkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmcsIG1zZ2J1ZiwgYnVmc2l6ZSk7CiAgICAgICAgIH0KQEAgLTEyNDQsNyArMTIxNiw3IEBACiAgICAgICAgICAgICBQeUJ1ZmZlcl9SZWxlYXNlKChQeV9idWZmZXIqKXApOwogICAgICAgICAgICAgcmV0dXJuIGNvbnZlcnRlcnIoImNvbnRpZ3VvdXMgYnVmZmVyIiwgYXJnLCBtc2didWYsIGJ1ZnNpemUpOwogICAgICAgICB9Ci0gICAgICAgIGlmIChhZGRjbGVhbnVwKHAsIGZyZWVsaXN0LCAxKSkgeworICAgICAgICBpZiAoYWRkY2xlYW51cChwLCBmcmVlbGlzdCwgY2xlYW51cF9idWZmZXIpKSB7CiAgICAgICAgICAgICByZXR1cm4gY29udmVydGVycigKICAgICAgICAgICAgICAgICAiKGNsZWFudXAgcHJvYmxlbSkiLAogICAgICAgICAgICAgICAgIGFyZywgbXNnYnVmLCBidWZzaXplKTsKQEAgLTE0MzIsNyArMTQwNCw4IEBACiAgICAgY29uc3QgY2hhciAqZm5hbWUsICptc2csICpjdXN0b21fbXNnLCAqa2V5d29yZDsKICAgICBpbnQgbWluID0gSU5UX01BWDsKICAgICBpbnQgaSwgbGVuLCBuYXJncywgbmtleXdvcmRzOwotICAgIFB5T2JqZWN0ICpmcmVlbGlzdCA9IE5VTEwsICpjdXJyZW50X2FyZzsKKyAgICBQeU9iamVjdCAqY3VycmVudF9hcmc7CisgICAgZnJlZWxpc3RfdCBmcmVlbGlzdCA9IHswLCBOVUxMfTsKIAogICAgIGFzc2VydChhcmdzICE9IE5VTEwgJiYgUHlUdXBsZV9DaGVjayhhcmdzKSk7CiAgICAgYXNzZXJ0KGtleXdvcmRzID09IE5VTEwgfHwgUHlEaWN0X0NoZWNrKGtleXdvcmRzKSk7CkBAIC0xNDU2LDE3ICsxNDI5LDIzIEBACiAgICAgZm9yIChsZW49MDsga3dsaXN0W2xlbl07IGxlbisrKQogICAgICAgICBjb250aW51ZTsKIAorICAgIGZyZWVsaXN0LmVudHJpZXMgPSBQeU1lbV9ORVcoZnJlZWxpc3RlbnRyeV90LCBsZW4pOworICAgIGlmIChmcmVlbGlzdC5lbnRyaWVzID09IE5VTEwpIHsKKyAgICAgICAgUHlFcnJfTm9NZW1vcnkoKTsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorCiAgICAgbmFyZ3MgPSBQeVR1cGxlX0dFVF9TSVpFKGFyZ3MpOwogICAgIG5rZXl3b3JkcyA9IChrZXl3b3JkcyA9PSBOVUxMKSA/IDAgOiBQeURpY3RfU2l6ZShrZXl3b3Jkcyk7CiAgICAgaWYgKG5hcmdzICsgbmtleXdvcmRzID4gbGVuKSB7Ci0gICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsICIlcyVzIHRha2VzIGF0IG1vc3QgJWQgIgotICAgICAgICAgICAgICAgICAgICAgImFyZ3VtZW50JXMgKCVkIGdpdmVuKSIsCisgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAiJXMlcyB0YWtlcyBhdCBtb3N0ICVkIGFyZ3VtZW50JXMgKCVkIGdpdmVuKSIsCiAgICAgICAgICAgICAgICAgICAgICAoZm5hbWUgPT0gTlVMTCkgPyAiZnVuY3Rpb24iIDogZm5hbWUsCiAgICAgICAgICAgICAgICAgICAgICAoZm5hbWUgPT0gTlVMTCkgPyAiIiA6ICIoKSIsCiAgICAgICAgICAgICAgICAgICAgICBsZW4sCiAgICAgICAgICAgICAgICAgICAgICAobGVuID09IDEpID8gIiIgOiAicyIsCiAgICAgICAgICAgICAgICAgICAgICBuYXJncyArIG5rZXl3b3Jkcyk7Ci0gICAgICAgIHJldHVybiAwOworICAgICAgICByZXR1cm4gY2xlYW5yZXR1cm4oMCwgJmZyZWVsaXN0KTsKICAgICB9CiAKICAgICAvKiBjb252ZXJ0IHR1cGxlIGFyZ3MgYW5kIGtleXdvcmQgYXJncyBpbiBzYW1lIGxvb3AsIHVzaW5nIGt3bGlzdCB0byBkcml2ZSBwcm9jZXNzICovCkBAIC0xNDgwLDcgKzE0NTksNyBAQAogICAgICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX1J1bnRpbWVFcnJvciwKICAgICAgICAgICAgICAgICAgICAgICAgICAiTW9yZSBrZXl3b3JkIGxpc3QgZW50cmllcyAoJWQpIHRoYW4gIgogICAgICAgICAgICAgICAgICAgICAgICAgICJmb3JtYXQgc3BlY2lmaWVycyAoJWQpIiwgbGVuLCBpKTsKLSAgICAgICAgICAgIHJldHVybiBjbGVhbnJldHVybigwLCBmcmVlbGlzdCk7CisgICAgICAgICAgICByZXR1cm4gY2xlYW5yZXR1cm4oMCwgJmZyZWVsaXN0KTsKICAgICAgICAgfQogICAgICAgICBjdXJyZW50X2FyZyA9IE5VTEw7CiAgICAgICAgIGlmIChua2V5d29yZHMpIHsKQEAgLTE0OTQsMTEgKzE0NzMsMTEgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkFyZ3VtZW50IGdpdmVuIGJ5IG5hbWUgKCclcycpICIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFuZCBwb3NpdGlvbiAoJWQpIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5d29yZCwgaSsxKTsKLSAgICAgICAgICAgICAgICByZXR1cm4gY2xlYW5yZXR1cm4oMCwgZnJlZWxpc3QpOworICAgICAgICAgICAgICAgIHJldHVybiBjbGVhbnJldHVybigwLCAmZnJlZWxpc3QpOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgICAgIGVsc2UgaWYgKG5rZXl3b3JkcyAmJiBQeUVycl9PY2N1cnJlZCgpKQotICAgICAgICAgICAgcmV0dXJuIGNsZWFucmV0dXJuKDAsIGZyZWVsaXN0KTsKKyAgICAgICAgICAgIHJldHVybiBjbGVhbnJldHVybigwLCAmZnJlZWxpc3QpOwogICAgICAgICBlbHNlIGlmIChpIDwgbmFyZ3MpCiAgICAgICAgICAgICBjdXJyZW50X2FyZyA9IFB5VHVwbGVfR0VUX0lURU0oYXJncywgaSk7CiAKQEAgLTE1MDcsNyArMTQ4Niw3IEBACiAgICAgICAgICAgICAgICAgbGV2ZWxzLCBtc2didWYsIHNpemVvZihtc2didWYpLCAmZnJlZWxpc3QpOwogICAgICAgICAgICAgaWYgKG1zZykgewogICAgICAgICAgICAgICAgIHNldGVycm9yKGkrMSwgbXNnLCBsZXZlbHMsIGZuYW1lLCBjdXN0b21fbXNnKTsKLSAgICAgICAgICAgICAgICByZXR1cm4gY2xlYW5yZXR1cm4oMCwgZnJlZWxpc3QpOworICAgICAgICAgICAgICAgIHJldHVybiBjbGVhbnJldHVybigwLCAmZnJlZWxpc3QpOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0KQEAgLTE1MTYsMTQgKzE0OTUsMTQgQEAKICAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsICJSZXF1aXJlZCBhcmd1bWVudCAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIiclcycgKHBvcyAlZCkgbm90IGZvdW5kIiwKICAgICAgICAgICAgICAgICAgICAgICAgICBrZXl3b3JkLCBpKzEpOwotICAgICAgICAgICAgcmV0dXJuIGNsZWFucmV0dXJuKDAsIGZyZWVsaXN0KTsKKyAgICAgICAgICAgIHJldHVybiBjbGVhbnJldHVybigwLCAmZnJlZWxpc3QpOwogICAgICAgICB9CiAgICAgICAgIC8qIGN1cnJlbnQgY29kZSByZXBvcnRzIHN1Y2Nlc3Mgd2hlbiBhbGwgcmVxdWlyZWQgYXJncwogICAgICAgICAgKiBmdWxmaWxsZWQgYW5kIG5vIGtleXdvcmQgYXJncyBsZWZ0LCB3aXRoIG5vIGZ1cnRoZXIKICAgICAgICAgICogdmFsaWRhdGlvbi4gWFhYIE1heWJlIHNraXAgdGhpcyBpbiBkZWJ1ZyBidWlsZCA/CiAgICAgICAgICAqLwogICAgICAgICBpZiAoIW5rZXl3b3JkcykKLSAgICAgICAgICAgIHJldHVybiBjbGVhbnJldHVybigxLCBmcmVlbGlzdCk7CisgICAgICAgICAgICByZXR1cm4gY2xlYW5yZXR1cm4oMSwgJmZyZWVsaXN0KTsKIAogICAgICAgICAvKiBXZSBhcmUgaW50byBvcHRpb25hbCBhcmdzLCBza2lwIHRocnUgdG8gYW55IHJlbWFpbmluZwogICAgICAgICAgKiBrZXl3b3JkIGFyZ3MgKi8KQEAgLTE1MzEsNyArMTUxMCw3IEBACiAgICAgICAgIGlmIChtc2cpIHsKICAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19SdW50aW1lRXJyb3IsICIlczogJyVzJyIsIG1zZywKICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtYXQpOwotICAgICAgICAgICAgcmV0dXJuIGNsZWFucmV0dXJuKDAsIGZyZWVsaXN0KTsKKyAgICAgICAgICAgIHJldHVybiBjbGVhbnJldHVybigwLCAmZnJlZWxpc3QpOwogICAgICAgICB9CiAgICAgfQogCkBAIC0xNTM5LDcgKzE1MTgsNyBAQAogICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfUnVudGltZUVycm9yLAogICAgICAgICAgICAgIm1vcmUgYXJndW1lbnQgc3BlY2lmaWVycyB0aGFuIGtleXdvcmQgbGlzdCBlbnRyaWVzICIKICAgICAgICAgICAgICIocmVtYWluaW5nIGZvcm1hdDonJXMnKSIsIGZvcm1hdCk7Ci0gICAgICAgIHJldHVybiBjbGVhbnJldHVybigwLCBmcmVlbGlzdCk7CisgICAgICAgIHJldHVybiBjbGVhbnJldHVybigwLCAmZnJlZWxpc3QpOwogICAgIH0KIAogICAgIC8qIG1ha2Ugc3VyZSB0aGVyZSBhcmUgbm8gZXh0cmFuZW91cyBrZXl3b3JkIGFyZ3VtZW50cyAqLwpAQCAtMTU1Miw3ICsxNTMxLDcgQEAKICAgICAgICAgICAgIGlmICghUHlVbmljb2RlX0NoZWNrKGtleSkpIHsKICAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAia2V5d29yZHMgbXVzdCBiZSBzdHJpbmdzIik7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGNsZWFucmV0dXJuKDAsIGZyZWVsaXN0KTsKKyAgICAgICAgICAgICAgICByZXR1cm4gY2xlYW5yZXR1cm4oMCwgJmZyZWVsaXN0KTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIC8qIGNoZWNrIHRoYXQgX1B5VW5pY29kZV9Bc1N0cmluZygpIHJlc3VsdCBpcyBub3QgTlVMTCAqLwogICAgICAgICAgICAga3MgPSBfUHlVbmljb2RlX0FzU3RyaW5nKGtleSk7CkBAIC0xNTY5LDEyICsxNTQ4LDEyIEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICInJVUnIGlzIGFuIGludmFsaWQga2V5d29yZCAiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhcmd1bWVudCBmb3IgdGhpcyBmdW5jdGlvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleSk7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGNsZWFucmV0dXJuKDAsIGZyZWVsaXN0KTsKKyAgICAgICAgICAgICAgICByZXR1cm4gY2xlYW5yZXR1cm4oMCwgJmZyZWVsaXN0KTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0KIAotICAgIHJldHVybiBjbGVhbnJldHVybigxLCBmcmVlbGlzdCk7CisgICAgcmV0dXJuIGNsZWFucmV0dXJuKDEsICZmcmVlbGlzdCk7CiB9CiAKIApkaWZmIC0tZ2l0IGEvUHl0aG9uL2dldGNvcHlyaWdodC5jIGIvUHl0aG9uL2dldGNvcHlyaWdodC5jCmluZGV4IGQxZTI1NzguLmQ4M2M2ZGEgMTAwNjQ0Ci0tLSBhL1B5dGhvbi9nZXRjb3B5cmlnaHQuYworKysgYi9QeXRob24vZ2V0Y29weXJpZ2h0LmMKQEAgLTE5LDUgKzE5LDUgQEAKIGNvbnN0IGNoYXIgKgogUHlfR2V0Q29weXJpZ2h0KHZvaWQpCiB7Ci0JcmV0dXJuIGNwcnQ7CisgICAgcmV0dXJuIGNwcnQ7CiB9CmRpZmYgLS1naXQgYS9QeXRob24vZ3JhbWluaXQuYyBiL1B5dGhvbi9ncmFtaW5pdC5jCmluZGV4IGNhYmM0ZDYuLmUwNDk5OWIgMTAwNjQ0Ci0tLSBhL1B5dGhvbi9ncmFtaW5pdC5jCisrKyBiL1B5dGhvbi9ncmFtaW5pdC5jCkBAIC0xNzkxLDcgKzE3OTEsNyBAQAogICAgIHsxNjcsIDF9LAogfTsKIHN0YXRpYyBhcmMgYXJjc184MF8xWzJdID0gewotICAgIHs5LCAyfSwKKyAgICB7MTY4LCAyfSwKICAgICB7MCwgMX0sCiB9Owogc3RhdGljIGFyYyBhcmNzXzgwXzJbMV0gPSB7CkBAIC0xODAyLDE3MSArMTgwMiwxODggQEAKICAgICB7MiwgYXJjc184MF8xfSwKICAgICB7MSwgYXJjc184MF8yfSwKIH07Ci1zdGF0aWMgZGZhIGRmYXNbODFdID0gewotICAgIHsyNTYsICJzaW5nbGVfaW5wdXQiLCAwLCAzLCBzdGF0ZXNfMCwKLSAgICAgIlwwMDRcMDUwXDA2MFwyMDBcMDAwXDAwMFwwMDBcMjQwXDM0MFwyMjNcMTYwXDIyMFwwNDVcMjAwXDAyMFwwMDBcMDAwXDIwNlwxMjBcMDc2XDIwNCJ9LAotICAgIHsyNTcsICJmaWxlX2lucHV0IiwgMCwgMiwgc3RhdGVzXzEsCi0gICAgICJcMjA0XDA1MFwwNjBcMjAwXDAwMFwwMDBcMDAwXDI0MFwzNDBcMjIzXDE2MFwyMjBcMDQ1XDIwMFwwMjBcMDAwXDAwMFwyMDZcMTIwXDA3NlwyMDQifSwKLSAgICB7MjU4LCAiZXZhbF9pbnB1dCIsIDAsIDMsIHN0YXRlc18yLAotICAgICAiXDAwMFwwNDBcMDQwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDIwMFwwMDBcMDAwXDAwMFwyMDBcMDIwXDAwMFwwMDBcMjA2XDEyMFwwNzZcMDAwIn0sCi0gICAgezI1OSwgImRlY29yYXRvciIsIDAsIDcsIHN0YXRlc18zLAotICAgICAiXDAwMFwwMTBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCi0gICAgezI2MCwgImRlY29yYXRvcnMiLCAwLCAyLCBzdGF0ZXNfNCwKLSAgICAgIlwwMDBcMDEwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LAotICAgIHsyNjEsICJkZWNvcmF0ZWQiLCAwLCAzLCBzdGF0ZXNfNSwKLSAgICAgIlwwMDBcMDEwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LAotICAgIHsyNjIsICJmdW5jZGVmIiwgMCwgOCwgc3RhdGVzXzYsCi0gICAgICJcMDAwXDAwMFwwMjBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDAifSwKLSAgICB7MjYzLCAicGFyYW1ldGVycyIsIDAsIDQsIHN0YXRlc183LAotICAgICAiXDAwMFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCi0gICAgezI2NCwgInR5cGVkYXJnc2xpc3QiLCAwLCAxOCwgc3RhdGVzXzgsCi0gICAgICJcMDAwXDAwMFwwNDBcMjAwXDAwMVwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDAifSwKLSAgICB7MjY1LCAidGZwZGVmIiwgMCwgNCwgc3RhdGVzXzksCi0gICAgICJcMDAwXDAwMFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDAifSwKLSAgICB7MjY2LCAidmFyYXJnc2xpc3QiLCAwLCAxOCwgc3RhdGVzXzEwLAotICAgICAiXDAwMFwwMDBcMDQwXDIwMFwwMDFcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCi0gICAgezI2NywgInZmcGRlZiIsIDAsIDIsIHN0YXRlc18xMSwKLSAgICAgIlwwMDBcMDAwXDA0MFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LAotICAgIHsyNjgsICJzdG10IiwgMCwgMiwgc3RhdGVzXzEyLAotICAgICAiXDAwMFwwNTBcMDYwXDIwMFwwMDBcMDAwXDAwMFwyNDBcMzQwXDIyM1wxNjBcMjIwXDA0NVwyMDBcMDIwXDAwMFwwMDBcMjA2XDEyMFwwNzZcMjA0In0sCi0gICAgezI2OSwgInNpbXBsZV9zdG10IiwgMCwgNCwgc3RhdGVzXzEzLAotICAgICAiXDAwMFwwNDBcMDQwXDIwMFwwMDBcMDAwXDAwMFwyNDBcMzQwXDIyM1wxNjBcMDAwXDAwMFwyMDBcMDIwXDAwMFwwMDBcMjA2XDEyMFwwNzZcMjAwIn0sCi0gICAgezI3MCwgInNtYWxsX3N0bXQiLCAwLCAyLCBzdGF0ZXNfMTQsCi0gICAgICJcMDAwXDA0MFwwNDBcMjAwXDAwMFwwMDBcMDAwXDI0MFwzNDBcMjIzXDE2MFwwMDBcMDAwXDIwMFwwMjBcMDAwXDAwMFwyMDZcMTIwXDA3NlwyMDAifSwKLSAgICB7MjcxLCAiZXhwcl9zdG10IiwgMCwgNiwgc3RhdGVzXzE1LAotICAgICAiXDAwMFwwNDBcMDQwXDIwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDIwMFwwMDBcMDAwXDAwMFwyMDBcMDIwXDAwMFwwMDBcMjA2XDEyMFwwNzZcMDAwIn0sCi0gICAgezI3MiwgInRlc3RsaXN0X3N0YXJfZXhwciIsIDAsIDMsIHN0YXRlc18xNiwKLSAgICAgIlwwMDBcMDQwXDA0MFwyMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwyMDBcMDAwXDAwMFwwMDBcMjAwXDAyMFwwMDBcMDAwXDIwNlwxMjBcMDc2XDAwMCJ9LAotICAgIHsyNzMsICJhdWdhc3NpZ24iLCAwLCAyLCBzdGF0ZXNfMTcsCi0gICAgICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMzc2XDAzN1wwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDAifSwKLSAgICB7Mjc0LCAiZGVsX3N0bXQiLCAwLCAzLCBzdGF0ZXNfMTgsCi0gICAgICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDA0MFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDAifSwKLSAgICB7Mjc1LCAicGFzc19zdG10IiwgMCwgMiwgc3RhdGVzXzE5LAotICAgICAiXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwyMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCi0gICAgezI3NiwgImZsb3dfc3RtdCIsIDAsIDIsIHN0YXRlc18yMCwKLSAgICAgIlwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDM0MFwwMDFcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDIwMCJ9LAotICAgIHsyNzcsICJicmVha19zdG10IiwgMCwgMiwgc3RhdGVzXzIxLAotICAgICAiXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDQwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCi0gICAgezI3OCwgImNvbnRpbnVlX3N0bXQiLCAwLCAyLCBzdGF0ZXNfMjIsCi0gICAgICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwxMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDAifSwKLSAgICB7Mjc5LCAicmV0dXJuX3N0bXQiLCAwLCAzLCBzdGF0ZXNfMjMsCi0gICAgICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwyMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDAifSwKLSAgICB7MjgwLCAieWllbGRfc3RtdCIsIDAsIDIsIHN0YXRlc18yNCwKLSAgICAgIlwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDIwMCJ9LAotICAgIHsyODEsICJyYWlzZV9zdG10IiwgMCwgNSwgc3RhdGVzXzI1LAotICAgICAiXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMVwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCi0gICAgezI4MiwgImltcG9ydF9zdG10IiwgMCwgMiwgc3RhdGVzXzI2LAotICAgICAiXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAyMlwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCi0gICAgezI4MywgImltcG9ydF9uYW1lIiwgMCwgMywgc3RhdGVzXzI3LAotICAgICAiXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAyMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCi0gICAgezI4NCwgImltcG9ydF9mcm9tIiwgMCwgOCwgc3RhdGVzXzI4LAotICAgICAiXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMlwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCi0gICAgezI4NSwgImltcG9ydF9hc19uYW1lIiwgMCwgNCwgc3RhdGVzXzI5LAotICAgICAiXDAwMFwwMDBcMDQwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCi0gICAgezI4NiwgImRvdHRlZF9hc19uYW1lIiwgMCwgNCwgc3RhdGVzXzMwLAotICAgICAiXDAwMFwwMDBcMDQwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCi0gICAgezI4NywgImltcG9ydF9hc19uYW1lcyIsIDAsIDMsIHN0YXRlc18zMSwKLSAgICAgIlwwMDBcMDAwXDA0MFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LAotICAgIHsyODgsICJkb3R0ZWRfYXNfbmFtZXMiLCAwLCAyLCBzdGF0ZXNfMzIsCi0gICAgICJcMDAwXDAwMFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDAifSwKLSAgICB7Mjg5LCAiZG90dGVkX25hbWUiLCAwLCAyLCBzdGF0ZXNfMzMsCi0gICAgICJcMDAwXDAwMFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDAifSwKLSAgICB7MjkwLCAiZ2xvYmFsX3N0bXQiLCAwLCAzLCBzdGF0ZXNfMzQsCi0gICAgICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAyMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDAifSwKLSAgICB7MjkxLCAibm9ubG9jYWxfc3RtdCIsIDAsIDMsIHN0YXRlc18zNSwKLSAgICAgIlwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDQwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LAotICAgIHsyOTIsICJhc3NlcnRfc3RtdCIsIDAsIDUsIHN0YXRlc18zNiwKLSAgICAgIlwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMTAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LAotICAgIHsyOTMsICJjb21wb3VuZF9zdG10IiwgMCwgMiwgc3RhdGVzXzM3LAotICAgICAiXDAwMFwwMTBcMDIwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMjIwXDA0NVwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDA0In0sCi0gICAgezI5NCwgImlmX3N0bXQiLCAwLCA4LCBzdGF0ZXNfMzgsCi0gICAgICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMjBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDAifSwKLSAgICB7Mjk1LCAid2hpbGVfc3RtdCIsIDAsIDgsIHN0YXRlc18zOSwKLSAgICAgIlwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDIwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LAotICAgIHsyOTYsICJmb3Jfc3RtdCIsIDAsIDEwLCBzdGF0ZXNfNDAsCi0gICAgICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAxXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDAifSwKLSAgICB7Mjk3LCAidHJ5X3N0bXQiLCAwLCAxMywgc3RhdGVzXzQxLAotICAgICAiXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwNFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCi0gICAgezI5OCwgIndpdGhfc3RtdCIsIDAsIDUsIHN0YXRlc180MiwKLSAgICAgIlwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LAotICAgIHsyOTksICJ3aXRoX2l0ZW0iLCAwLCA0LCBzdGF0ZXNfNDMsCi0gICAgICJcMDAwXDA0MFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMjAwXDAwMFwwMDBcMDAwXDIwMFwwMjBcMDAwXDAwMFwyMDZcMTIwXDA3NlwwMDAifSwKLSAgICB7MzAwLCAiZXhjZXB0X2NsYXVzZSIsIDAsIDUsIHN0YXRlc180NCwKLSAgICAgIlwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAxXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LAotICAgIHszMDEsICJzdWl0ZSIsIDAsIDUsIHN0YXRlc180NSwKLSAgICAgIlwwMDRcMDQwXDA0MFwyMDBcMDAwXDAwMFwwMDBcMjQwXDM0MFwyMjNcMTYwXDAwMFwwMDBcMjAwXDAyMFwwMDBcMDAwXDIwNlwxMjBcMDc2XDIwMCJ9LAotICAgIHszMDIsICJ0ZXN0IiwgMCwgNiwgc3RhdGVzXzQ2LAotICAgICAiXDAwMFwwNDBcMDQwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDIwMFwwMDBcMDAwXDAwMFwyMDBcMDIwXDAwMFwwMDBcMjA2XDEyMFwwNzZcMDAwIn0sCi0gICAgezMwMywgInRlc3Rfbm9jb25kIiwgMCwgMiwgc3RhdGVzXzQ3LAotICAgICAiXDAwMFwwNDBcMDQwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDIwMFwwMDBcMDAwXDAwMFwyMDBcMDIwXDAwMFwwMDBcMjA2XDEyMFwwNzZcMDAwIn0sCi0gICAgezMwNCwgImxhbWJkZWYiLCAwLCA1LCBzdGF0ZXNfNDgsCi0gICAgICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDIwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDAifSwKLSAgICB7MzA1LCAibGFtYmRlZl9ub2NvbmQiLCAwLCA1LCBzdGF0ZXNfNDksCi0gICAgICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDIwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDAifSwKLSAgICB7MzA2LCAib3JfdGVzdCIsIDAsIDIsIHN0YXRlc181MCwKLSAgICAgIlwwMDBcMDQwXDA0MFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwyMDBcMDAwXDAwMFwwMDBcMDAwXDAyMFwwMDBcMDAwXDIwNlwxMjBcMDc2XDAwMCJ9LAotICAgIHszMDcsICJhbmRfdGVzdCIsIDAsIDIsIHN0YXRlc181MSwKLSAgICAgIlwwMDBcMDQwXDA0MFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwyMDBcMDAwXDAwMFwwMDBcMDAwXDAyMFwwMDBcMDAwXDIwNlwxMjBcMDc2XDAwMCJ9LAotICAgIHszMDgsICJub3RfdGVzdCIsIDAsIDMsIHN0YXRlc181MiwKLSAgICAgIlwwMDBcMDQwXDA0MFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwyMDBcMDAwXDAwMFwwMDBcMDAwXDAyMFwwMDBcMDAwXDIwNlwxMjBcMDc2XDAwMCJ9LAotICAgIHszMDksICJjb21wYXJpc29uIiwgMCwgMiwgc3RhdGVzXzUzLAotICAgICAiXDAwMFwwNDBcMDQwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDIwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMjA2XDEyMFwwNzZcMDAwIn0sCi0gICAgezMxMCwgImNvbXBfb3AiLCAwLCA0LCBzdGF0ZXNfNTQsCi0gICAgICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAyXDAwMFwyMjBcMTc3XDAwMFwwMDBcMDAwXDAwMFwwMDAifSwKLSAgICB7MzExLCAic3Rhcl9leHByIiwgMCwgMywgc3RhdGVzXzU1LAotICAgICAiXDAwMFwwMDBcMDAwXDIwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCi0gICAgezMxMiwgImV4cHIiLCAwLCAyLCBzdGF0ZXNfNTYsCi0gICAgICJcMDAwXDA0MFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMjAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwyMDZcMTIwXDA3NlwwMDAifSwKLSAgICB7MzEzLCAieG9yX2V4cHIiLCAwLCAyLCBzdGF0ZXNfNTcsCi0gICAgICJcMDAwXDA0MFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMjAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwyMDZcMTIwXDA3NlwwMDAifSwKLSAgICB7MzE0LCAiYW5kX2V4cHIiLCAwLCAyLCBzdGF0ZXNfNTgsCi0gICAgICJcMDAwXDA0MFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMjAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwyMDZcMTIwXDA3NlwwMDAifSwKLSAgICB7MzE1LCAic2hpZnRfZXhwciIsIDAsIDIsIHN0YXRlc181OSwKLSAgICAgIlwwMDBcMDQwXDA0MFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwyMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDIwNlwxMjBcMDc2XDAwMCJ9LAotICAgIHszMTYsICJhcml0aF9leHByIiwgMCwgMiwgc3RhdGVzXzYwLAotICAgICAiXDAwMFwwNDBcMDQwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDIwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMjA2XDEyMFwwNzZcMDAwIn0sCi0gICAgezMxNywgInRlcm0iLCAwLCAyLCBzdGF0ZXNfNjEsCi0gICAgICJcMDAwXDA0MFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMjAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwyMDZcMTIwXDA3NlwwMDAifSwKLSAgICB7MzE4LCAiZmFjdG9yIiwgMCwgMywgc3RhdGVzXzYyLAotICAgICAiXDAwMFwwNDBcMDQwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDIwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMjA2XDEyMFwwNzZcMDAwIn0sCi0gICAgezMxOSwgInBvd2VyIiwgMCwgNCwgc3RhdGVzXzYzLAotICAgICAiXDAwMFwwNDBcMDQwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDIwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDEyMFwwNzZcMDAwIn0sCi0gICAgezMyMCwgImF0b20iLCAwLCA5LCBzdGF0ZXNfNjQsCi0gICAgICJcMDAwXDA0MFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMjAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMTIwXDA3NlwwMDAifSwKLSAgICB7MzIxLCAidGVzdGxpc3RfY29tcCIsIDAsIDUsIHN0YXRlc182NSwKLSAgICAgIlwwMDBcMDQwXDA0MFwyMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwyMDBcMDAwXDAwMFwwMDBcMjAwXDAyMFwwMDBcMDAwXDIwNlwxMjBcMDc2XDAwMCJ9LAotICAgIHszMjIsICJ0cmFpbGVyIiwgMCwgNywgc3RhdGVzXzY2LAotICAgICAiXDAwMFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDEwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAyMFwwMDBcMDAwIn0sCi0gICAgezMyMywgInN1YnNjcmlwdGxpc3QiLCAwLCAzLCBzdGF0ZXNfNjcsCi0gICAgICJcMDAwXDA0MFwwNDBcMDAyXDAwMFwwMDBcMDAwXDAwMFwwMDBcMjAwXDAwMFwwMDBcMDAwXDIwMFwwMjBcMDAwXDAwMFwyMDZcMTIwXDA3NlwwMDAifSwKLSAgICB7MzI0LCAic3Vic2NyaXB0IiwgMCwgNSwgc3RhdGVzXzY4LAotICAgICAiXDAwMFwwNDBcMDQwXDAwMlwwMDBcMDAwXDAwMFwwMDBcMDAwXDIwMFwwMDBcMDAwXDAwMFwyMDBcMDIwXDAwMFwwMDBcMjA2XDEyMFwwNzZcMDAwIn0sCi0gICAgezMyNSwgInNsaWNlb3AiLCAwLCAzLCBzdGF0ZXNfNjksCi0gICAgICJcMDAwXDAwMFwwMDBcMDAyXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDAifSwKLSAgICB7MzI2LCAiZXhwcmxpc3QiLCAwLCAzLCBzdGF0ZXNfNzAsCi0gICAgICJcMDAwXDA0MFwwNDBcMjAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMjAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwyMDZcMTIwXDA3NlwwMDAifSwKLSAgICB7MzI3LCAidGVzdGxpc3QiLCAwLCAzLCBzdGF0ZXNfNzEsCi0gICAgICJcMDAwXDA0MFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMjAwXDAwMFwwMDBcMDAwXDIwMFwwMjBcMDAwXDAwMFwyMDZcMTIwXDA3NlwwMDAifSwKLSAgICB7MzI4LCAiZGljdG9yc2V0bWFrZXIiLCAwLCAxMSwgc3RhdGVzXzcyLAotICAgICAiXDAwMFwwNDBcMDQwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDIwMFwwMDBcMDAwXDAwMFwyMDBcMDIwXDAwMFwwMDBcMjA2XDEyMFwwNzZcMDAwIn0sCi0gICAgezMyOSwgImNsYXNzZGVmIiwgMCwgOCwgc3RhdGVzXzczLAotICAgICAiXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDA0In0sCi0gICAgezMzMCwgImFyZ2xpc3QiLCAwLCA4LCBzdGF0ZXNfNzQsCi0gICAgICJcMDAwXDA0MFwwNDBcMjAwXDAwMVwwMDBcMDAwXDAwMFwwMDBcMjAwXDAwMFwwMDBcMDAwXDIwMFwwMjBcMDAwXDAwMFwyMDZcMTIwXDA3NlwwMDAifSwKLSAgICB7MzMxLCAiYXJndW1lbnQiLCAwLCA0LCBzdGF0ZXNfNzUsCi0gICAgICJcMDAwXDA0MFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMjAwXDAwMFwwMDBcMDAwXDIwMFwwMjBcMDAwXDAwMFwyMDZcMTIwXDA3NlwwMDAifSwKLSAgICB7MzMyLCAiY29tcF9pdGVyIiwgMCwgMiwgc3RhdGVzXzc2LAotICAgICAiXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDIwXDAwMVwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCi0gICAgezMzMywgImNvbXBfZm9yIiwgMCwgNiwgc3RhdGVzXzc3LAotICAgICAiXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMVwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCi0gICAgezMzNCwgImNvbXBfaWYiLCAwLCA0LCBzdGF0ZXNfNzgsCi0gICAgICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMjBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDAifSwKLSAgICB7MzM1LCAiZW5jb2RpbmdfZGVjbCIsIDAsIDIsIHN0YXRlc183OSwKLSAgICAgIlwwMDBcMDAwXDA0MFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LAotICAgIHszMzYsICJ5aWVsZF9leHByIiwgMCwgMywgc3RhdGVzXzgwLAotICAgICAiXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMjAwIn0sCitzdGF0aWMgYXJjIGFyY3NfODFfMFsyXSA9IHsKKyAgICB7NzMsIDF9LAorICAgIHs5LCAyfSwKIH07Ci1zdGF0aWMgbGFiZWwgbGFiZWxzWzE2OF0gPSB7CitzdGF0aWMgYXJjIGFyY3NfODFfMVsxXSA9IHsKKyAgICB7MjQsIDJ9LAorfTsKK3N0YXRpYyBhcmMgYXJjc184MV8yWzFdID0geworICAgIHswLCAyfSwKK307CitzdGF0aWMgc3RhdGUgc3RhdGVzXzgxWzNdID0geworICAgIHsyLCBhcmNzXzgxXzB9LAorICAgIHsxLCBhcmNzXzgxXzF9LAorICAgIHsxLCBhcmNzXzgxXzJ9LAorfTsKK3N0YXRpYyBkZmEgZGZhc1s4Ml0gPSB7CisgICAgezI1NiwgInNpbmdsZV9pbnB1dCIsIDAsIDMsIHN0YXRlc18wLAorICAgICAiXDAwNFwwNTBcMDYwXDIwMFwwMDBcMDAwXDAwMFwyNDBcMzQwXDIyM1wxNjBcMjIwXDA0NVwyMDBcMDIwXDAwMFwwMDBcMjA2XDEyMFwwNzZcMjA0XDAwMCJ9LAorICAgIHsyNTcsICJmaWxlX2lucHV0IiwgMCwgMiwgc3RhdGVzXzEsCisgICAgICJcMjA0XDA1MFwwNjBcMjAwXDAwMFwwMDBcMDAwXDI0MFwzNDBcMjIzXDE2MFwyMjBcMDQ1XDIwMFwwMjBcMDAwXDAwMFwyMDZcMTIwXDA3NlwyMDRcMDAwIn0sCisgICAgezI1OCwgImV2YWxfaW5wdXQiLCAwLCAzLCBzdGF0ZXNfMiwKKyAgICAgIlwwMDBcMDQwXDA0MFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwyMDBcMDAwXDAwMFwwMDBcMjAwXDAyMFwwMDBcMDAwXDIwNlwxMjBcMDc2XDAwMFwwMDAifSwKKyAgICB7MjU5LCAiZGVjb3JhdG9yIiwgMCwgNywgc3RhdGVzXzMsCisgICAgICJcMDAwXDAxMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCisgICAgezI2MCwgImRlY29yYXRvcnMiLCAwLCAyLCBzdGF0ZXNfNCwKKyAgICAgIlwwMDBcMDEwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDAifSwKKyAgICB7MjYxLCAiZGVjb3JhdGVkIiwgMCwgMywgc3RhdGVzXzUsCisgICAgICJcMDAwXDAxMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCisgICAgezI2MiwgImZ1bmNkZWYiLCAwLCA4LCBzdGF0ZXNfNiwKKyAgICAgIlwwMDBcMDAwXDAyMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDAifSwKKyAgICB7MjYzLCAicGFyYW1ldGVycyIsIDAsIDQsIHN0YXRlc183LAorICAgICAiXDAwMFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LAorICAgIHsyNjQsICJ0eXBlZGFyZ3NsaXN0IiwgMCwgMTgsIHN0YXRlc184LAorICAgICAiXDAwMFwwMDBcMDQwXDIwMFwwMDFcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LAorICAgIHsyNjUsICJ0ZnBkZWYiLCAwLCA0LCBzdGF0ZXNfOSwKKyAgICAgIlwwMDBcMDAwXDA0MFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDAifSwKKyAgICB7MjY2LCAidmFyYXJnc2xpc3QiLCAwLCAxOCwgc3RhdGVzXzEwLAorICAgICAiXDAwMFwwMDBcMDQwXDIwMFwwMDFcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LAorICAgIHsyNjcsICJ2ZnBkZWYiLCAwLCAyLCBzdGF0ZXNfMTEsCisgICAgICJcMDAwXDAwMFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCisgICAgezI2OCwgInN0bXQiLCAwLCAyLCBzdGF0ZXNfMTIsCisgICAgICJcMDAwXDA1MFwwNjBcMjAwXDAwMFwwMDBcMDAwXDI0MFwzNDBcMjIzXDE2MFwyMjBcMDQ1XDIwMFwwMjBcMDAwXDAwMFwyMDZcMTIwXDA3NlwyMDRcMDAwIn0sCisgICAgezI2OSwgInNpbXBsZV9zdG10IiwgMCwgNCwgc3RhdGVzXzEzLAorICAgICAiXDAwMFwwNDBcMDQwXDIwMFwwMDBcMDAwXDAwMFwyNDBcMzQwXDIyM1wxNjBcMDAwXDAwMFwyMDBcMDIwXDAwMFwwMDBcMjA2XDEyMFwwNzZcMjAwXDAwMCJ9LAorICAgIHsyNzAsICJzbWFsbF9zdG10IiwgMCwgMiwgc3RhdGVzXzE0LAorICAgICAiXDAwMFwwNDBcMDQwXDIwMFwwMDBcMDAwXDAwMFwyNDBcMzQwXDIyM1wxNjBcMDAwXDAwMFwyMDBcMDIwXDAwMFwwMDBcMjA2XDEyMFwwNzZcMjAwXDAwMCJ9LAorICAgIHsyNzEsICJleHByX3N0bXQiLCAwLCA2LCBzdGF0ZXNfMTUsCisgICAgICJcMDAwXDA0MFwwNDBcMjAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMjAwXDAwMFwwMDBcMDAwXDIwMFwwMjBcMDAwXDAwMFwyMDZcMTIwXDA3NlwwMDBcMDAwIn0sCisgICAgezI3MiwgInRlc3RsaXN0X3N0YXJfZXhwciIsIDAsIDMsIHN0YXRlc18xNiwKKyAgICAgIlwwMDBcMDQwXDA0MFwyMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwyMDBcMDAwXDAwMFwwMDBcMjAwXDAyMFwwMDBcMDAwXDIwNlwxMjBcMDc2XDAwMFwwMDAifSwKKyAgICB7MjczLCAiYXVnYXNzaWduIiwgMCwgMiwgc3RhdGVzXzE3LAorICAgICAiXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDM3NlwwMzdcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LAorICAgIHsyNzQsICJkZWxfc3RtdCIsIDAsIDMsIHN0YXRlc18xOCwKKyAgICAgIlwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDQwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDAifSwKKyAgICB7Mjc1LCAicGFzc19zdG10IiwgMCwgMiwgc3RhdGVzXzE5LAorICAgICAiXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwyMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LAorICAgIHsyNzYsICJmbG93X3N0bXQiLCAwLCAyLCBzdGF0ZXNfMjAsCisgICAgICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwzNDBcMDAxXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwyMDBcMDAwIn0sCisgICAgezI3NywgImJyZWFrX3N0bXQiLCAwLCAyLCBzdGF0ZXNfMjEsCisgICAgICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCisgICAgezI3OCwgImNvbnRpbnVlX3N0bXQiLCAwLCAyLCBzdGF0ZXNfMjIsCisgICAgICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwxMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCisgICAgezI3OSwgInJldHVybl9zdG10IiwgMCwgMywgc3RhdGVzXzIzLAorICAgICAiXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMjAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LAorICAgIHsyODAsICJ5aWVsZF9zdG10IiwgMCwgMiwgc3RhdGVzXzI0LAorICAgICAiXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMjAwXDAwMCJ9LAorICAgIHsyODEsICJyYWlzZV9zdG10IiwgMCwgNSwgc3RhdGVzXzI1LAorICAgICAiXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMVwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LAorICAgIHsyODIsICJpbXBvcnRfc3RtdCIsIDAsIDIsIHN0YXRlc18yNiwKKyAgICAgIlwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMjJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDAifSwKKyAgICB7MjgzLCAiaW1wb3J0X25hbWUiLCAwLCAzLCBzdGF0ZXNfMjcsCisgICAgICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDIwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCisgICAgezI4NCwgImltcG9ydF9mcm9tIiwgMCwgOCwgc3RhdGVzXzI4LAorICAgICAiXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMlwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LAorICAgIHsyODUsICJpbXBvcnRfYXNfbmFtZSIsIDAsIDQsIHN0YXRlc18yOSwKKyAgICAgIlwwMDBcMDAwXDA0MFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDAifSwKKyAgICB7Mjg2LCAiZG90dGVkX2FzX25hbWUiLCAwLCA0LCBzdGF0ZXNfMzAsCisgICAgICJcMDAwXDAwMFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCisgICAgezI4NywgImltcG9ydF9hc19uYW1lcyIsIDAsIDMsIHN0YXRlc18zMSwKKyAgICAgIlwwMDBcMDAwXDA0MFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDAifSwKKyAgICB7Mjg4LCAiZG90dGVkX2FzX25hbWVzIiwgMCwgMiwgc3RhdGVzXzMyLAorICAgICAiXDAwMFwwMDBcMDQwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LAorICAgIHsyODksICJkb3R0ZWRfbmFtZSIsIDAsIDIsIHN0YXRlc18zMywKKyAgICAgIlwwMDBcMDAwXDA0MFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDAifSwKKyAgICB7MjkwLCAiZ2xvYmFsX3N0bXQiLCAwLCAzLCBzdGF0ZXNfMzQsCisgICAgICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAyMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCisgICAgezI5MSwgIm5vbmxvY2FsX3N0bXQiLCAwLCAzLCBzdGF0ZXNfMzUsCisgICAgICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDA0MFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCisgICAgezI5MiwgImFzc2VydF9zdG10IiwgMCwgNSwgc3RhdGVzXzM2LAorICAgICAiXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwxMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LAorICAgIHsyOTMsICJjb21wb3VuZF9zdG10IiwgMCwgMiwgc3RhdGVzXzM3LAorICAgICAiXDAwMFwwMTBcMDIwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMjIwXDA0NVwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDA0XDAwMCJ9LAorICAgIHsyOTQsICJpZl9zdG10IiwgMCwgOCwgc3RhdGVzXzM4LAorICAgICAiXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDIwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LAorICAgIHsyOTUsICJ3aGlsZV9zdG10IiwgMCwgOCwgc3RhdGVzXzM5LAorICAgICAiXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMjAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LAorICAgIHsyOTYsICJmb3Jfc3RtdCIsIDAsIDEwLCBzdGF0ZXNfNDAsCisgICAgICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAxXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCisgICAgezI5NywgInRyeV9zdG10IiwgMCwgMTMsIHN0YXRlc180MSwKKyAgICAgIlwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDRcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDAifSwKKyAgICB7Mjk4LCAid2l0aF9zdG10IiwgMCwgNSwgc3RhdGVzXzQyLAorICAgICAiXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDA0MFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LAorICAgIHsyOTksICJ3aXRoX2l0ZW0iLCAwLCA0LCBzdGF0ZXNfNDMsCisgICAgICJcMDAwXDA0MFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMjAwXDAwMFwwMDBcMDAwXDIwMFwwMjBcMDAwXDAwMFwyMDZcMTIwXDA3NlwwMDBcMDAwIn0sCisgICAgezMwMCwgImV4Y2VwdF9jbGF1c2UiLCAwLCA1LCBzdGF0ZXNfNDQsCisgICAgICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMVwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCisgICAgezMwMSwgInN1aXRlIiwgMCwgNSwgc3RhdGVzXzQ1LAorICAgICAiXDAwNFwwNDBcMDQwXDIwMFwwMDBcMDAwXDAwMFwyNDBcMzQwXDIyM1wxNjBcMDAwXDAwMFwyMDBcMDIwXDAwMFwwMDBcMjA2XDEyMFwwNzZcMjAwXDAwMCJ9LAorICAgIHszMDIsICJ0ZXN0IiwgMCwgNiwgc3RhdGVzXzQ2LAorICAgICAiXDAwMFwwNDBcMDQwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDIwMFwwMDBcMDAwXDAwMFwyMDBcMDIwXDAwMFwwMDBcMjA2XDEyMFwwNzZcMDAwXDAwMCJ9LAorICAgIHszMDMsICJ0ZXN0X25vY29uZCIsIDAsIDIsIHN0YXRlc180NywKKyAgICAgIlwwMDBcMDQwXDA0MFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwyMDBcMDAwXDAwMFwwMDBcMjAwXDAyMFwwMDBcMDAwXDIwNlwxMjBcMDc2XDAwMFwwMDAifSwKKyAgICB7MzA0LCAibGFtYmRlZiIsIDAsIDUsIHN0YXRlc180OCwKKyAgICAgIlwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMjAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDAifSwKKyAgICB7MzA1LCAibGFtYmRlZl9ub2NvbmQiLCAwLCA1LCBzdGF0ZXNfNDksCisgICAgICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDIwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIn0sCisgICAgezMwNiwgIm9yX3Rlc3QiLCAwLCAyLCBzdGF0ZXNfNTAsCisgICAgICJcMDAwXDA0MFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMjAwXDAwMFwwMDBcMDAwXDAwMFwwMjBcMDAwXDAwMFwyMDZcMTIwXDA3NlwwMDBcMDAwIn0sCisgICAgezMwNywgImFuZF90ZXN0IiwgMCwgMiwgc3RhdGVzXzUxLAorICAgICAiXDAwMFwwNDBcMDQwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDIwMFwwMDBcMDAwXDAwMFwwMDBcMDIwXDAwMFwwMDBcMjA2XDEyMFwwNzZcMDAwXDAwMCJ9LAorICAgIHszMDgsICJub3RfdGVzdCIsIDAsIDMsIHN0YXRlc181MiwKKyAgICAgIlwwMDBcMDQwXDA0MFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwyMDBcMDAwXDAwMFwwMDBcMDAwXDAyMFwwMDBcMDAwXDIwNlwxMjBcMDc2XDAwMFwwMDAifSwKKyAgICB7MzA5LCAiY29tcGFyaXNvbiIsIDAsIDIsIHN0YXRlc181MywKKyAgICAgIlwwMDBcMDQwXDA0MFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwyMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDIwNlwxMjBcMDc2XDAwMFwwMDAifSwKKyAgICB7MzEwLCAiY29tcF9vcCIsIDAsIDQsIHN0YXRlc181NCwKKyAgICAgIlwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDJcMDAwXDIyMFwxNzdcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDAifSwKKyAgICB7MzExLCAic3Rhcl9leHByIiwgMCwgMywgc3RhdGVzXzU1LAorICAgICAiXDAwMFwwMDBcMDAwXDIwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LAorICAgIHszMTIsICJleHByIiwgMCwgMiwgc3RhdGVzXzU2LAorICAgICAiXDAwMFwwNDBcMDQwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDIwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMjA2XDEyMFwwNzZcMDAwXDAwMCJ9LAorICAgIHszMTMsICJ4b3JfZXhwciIsIDAsIDIsIHN0YXRlc181NywKKyAgICAgIlwwMDBcMDQwXDA0MFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwyMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDIwNlwxMjBcMDc2XDAwMFwwMDAifSwKKyAgICB7MzE0LCAiYW5kX2V4cHIiLCAwLCAyLCBzdGF0ZXNfNTgsCisgICAgICJcMDAwXDA0MFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMjAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwyMDZcMTIwXDA3NlwwMDBcMDAwIn0sCisgICAgezMxNSwgInNoaWZ0X2V4cHIiLCAwLCAyLCBzdGF0ZXNfNTksCisgICAgICJcMDAwXDA0MFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMjAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwyMDZcMTIwXDA3NlwwMDBcMDAwIn0sCisgICAgezMxNiwgImFyaXRoX2V4cHIiLCAwLCAyLCBzdGF0ZXNfNjAsCisgICAgICJcMDAwXDA0MFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMjAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwyMDZcMTIwXDA3NlwwMDBcMDAwIn0sCisgICAgezMxNywgInRlcm0iLCAwLCAyLCBzdGF0ZXNfNjEsCisgICAgICJcMDAwXDA0MFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMjAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwyMDZcMTIwXDA3NlwwMDBcMDAwIn0sCisgICAgezMxOCwgImZhY3RvciIsIDAsIDMsIHN0YXRlc182MiwKKyAgICAgIlwwMDBcMDQwXDA0MFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwyMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDIwNlwxMjBcMDc2XDAwMFwwMDAifSwKKyAgICB7MzE5LCAicG93ZXIiLCAwLCA0LCBzdGF0ZXNfNjMsCisgICAgICJcMDAwXDA0MFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMjAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMTIwXDA3NlwwMDBcMDAwIn0sCisgICAgezMyMCwgImF0b20iLCAwLCA5LCBzdGF0ZXNfNjQsCisgICAgICJcMDAwXDA0MFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMjAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMTIwXDA3NlwwMDBcMDAwIn0sCisgICAgezMyMSwgInRlc3RsaXN0X2NvbXAiLCAwLCA1LCBzdGF0ZXNfNjUsCisgICAgICJcMDAwXDA0MFwwNDBcMjAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMjAwXDAwMFwwMDBcMDAwXDIwMFwwMjBcMDAwXDAwMFwyMDZcMTIwXDA3NlwwMDBcMDAwIn0sCisgICAgezMyMiwgInRyYWlsZXIiLCAwLCA3LCBzdGF0ZXNfNjYsCisgICAgICJcMDAwXDA0MFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMTAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDIwXDAwMFwwMDBcMDAwIn0sCisgICAgezMyMywgInN1YnNjcmlwdGxpc3QiLCAwLCAzLCBzdGF0ZXNfNjcsCisgICAgICJcMDAwXDA0MFwwNDBcMDAyXDAwMFwwMDBcMDAwXDAwMFwwMDBcMjAwXDAwMFwwMDBcMDAwXDIwMFwwMjBcMDAwXDAwMFwyMDZcMTIwXDA3NlwwMDBcMDAwIn0sCisgICAgezMyNCwgInN1YnNjcmlwdCIsIDAsIDUsIHN0YXRlc182OCwKKyAgICAgIlwwMDBcMDQwXDA0MFwwMDJcMDAwXDAwMFwwMDBcMDAwXDAwMFwyMDBcMDAwXDAwMFwwMDBcMjAwXDAyMFwwMDBcMDAwXDIwNlwxMjBcMDc2XDAwMFwwMDAifSwKKyAgICB7MzI1LCAic2xpY2VvcCIsIDAsIDMsIHN0YXRlc182OSwKKyAgICAgIlwwMDBcMDAwXDAwMFwwMDJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDAifSwKKyAgICB7MzI2LCAiZXhwcmxpc3QiLCAwLCAzLCBzdGF0ZXNfNzAsCisgICAgICJcMDAwXDA0MFwwNDBcMjAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMjAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwyMDZcMTIwXDA3NlwwMDBcMDAwIn0sCisgICAgezMyNywgInRlc3RsaXN0IiwgMCwgMywgc3RhdGVzXzcxLAorICAgICAiXDAwMFwwNDBcMDQwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDIwMFwwMDBcMDAwXDAwMFwyMDBcMDIwXDAwMFwwMDBcMjA2XDEyMFwwNzZcMDAwXDAwMCJ9LAorICAgIHszMjgsICJkaWN0b3JzZXRtYWtlciIsIDAsIDExLCBzdGF0ZXNfNzIsCisgICAgICJcMDAwXDA0MFwwNDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMjAwXDAwMFwwMDBcMDAwXDIwMFwwMjBcMDAwXDAwMFwyMDZcMTIwXDA3NlwwMDBcMDAwIn0sCisgICAgezMyOSwgImNsYXNzZGVmIiwgMCwgOCwgc3RhdGVzXzczLAorICAgICAiXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDA0XDAwMCJ9LAorICAgIHszMzAsICJhcmdsaXN0IiwgMCwgOCwgc3RhdGVzXzc0LAorICAgICAiXDAwMFwwNDBcMDQwXDIwMFwwMDFcMDAwXDAwMFwwMDBcMDAwXDIwMFwwMDBcMDAwXDAwMFwyMDBcMDIwXDAwMFwwMDBcMjA2XDEyMFwwNzZcMDAwXDAwMCJ9LAorICAgIHszMzEsICJhcmd1bWVudCIsIDAsIDQsIHN0YXRlc183NSwKKyAgICAgIlwwMDBcMDQwXDA0MFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwyMDBcMDAwXDAwMFwwMDBcMjAwXDAyMFwwMDBcMDAwXDIwNlwxMjBcMDc2XDAwMFwwMDAifSwKKyAgICB7MzMyLCAiY29tcF9pdGVyIiwgMCwgMiwgc3RhdGVzXzc2LAorICAgICAiXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDIwXDAwMVwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCJ9LAorICAgIHszMzMsICJjb21wX2ZvciIsIDAsIDYsIHN0YXRlc183NywKKyAgICAgIlwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDFcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDAifSwKKyAgICB7MzM0LCAiY29tcF9pZiIsIDAsIDQsIHN0YXRlc183OCwKKyAgICAgIlwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAyMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDAifSwKKyAgICB7MzM1LCAiZW5jb2RpbmdfZGVjbCIsIDAsIDIsIHN0YXRlc183OSwKKyAgICAgIlwwMDBcMDAwXDA0MFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDAifSwKKyAgICB7MzM2LCAieWllbGRfZXhwciIsIDAsIDMsIHN0YXRlc184MCwKKyAgICAgIlwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDIwMFwwMDAifSwKKyAgICB7MzM3LCAieWllbGRfYXJnIiwgMCwgMywgc3RhdGVzXzgxLAorICAgICAiXDAwMFwwNDBcMDQwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDIwMlwwMDBcMDAwXDAwMFwyMDBcMDIwXDAwMFwwMDBcMjA2XDEyMFwwNzZcMDAwXDAwMCJ9LAorfTsKK3N0YXRpYyBsYWJlbCBsYWJlbHNbMTY5XSA9IHsKICAgICB7MCwgIkVNUFRZIn0sCiAgICAgezI1NiwgMH0sCiAgICAgezQsIDB9LApAQCAtMjEzNSwxMCArMjE1MiwxMSBAQAogICAgIHszMzQsIDB9LAogICAgIHszMzUsIDB9LAogICAgIHsxLCAieWllbGQifSwKKyAgICB7MzM3LCAwfSwKIH07CiBncmFtbWFyIF9QeVBhcnNlcl9HcmFtbWFyID0gewotICAgIDgxLAorICAgIDgyLAogICAgIGRmYXMsCi0gICAgezE2OCwgbGFiZWxzfSwKKyAgICB7MTY5LCBsYWJlbHN9LAogICAgIDI1NgogfTsKZGlmZiAtLWdpdCBhL1B5dGhvbi9pbXBvcnQuYyBiL1B5dGhvbi9pbXBvcnQuYwppbmRleCBmNDQzYWI4Li4xNDRjYTcxIDEwMDY0NAotLS0gYS9QeXRob24vaW1wb3J0LmMKKysrIGIvUHl0aG9uL2ltcG9ydC5jCkBAIC0xMDIsNiArMTAyLDEwIEBACiAgICAgICAgUHl0aG9uIDMuMmExOiAzMTcwIChhZGQgRFVQX1RPUF9UV08sIHJlbW92ZSBEVVBfVE9QWCBhbmQgUk9UX0ZPVVIpCiAgICAgICAgICAgICAgICAgICAgICB0YWc6IGNweXRob24tMzIKICAgICAgICBQeXRob24gMy4yYTIgIDMxODAgKGFkZCBERUxFVEVfREVSRUYpCisgICAgICAgUHl0aG9uIDMuM2EwICAzMTkwIF9fY2xhc3NfXyBzdXBlciBjbG9zdXJlIGNoYW5nZWQKKyAgICAgICBQeXRob24gMy4zYTAgIDMyMDAgKF9fcXVhbG5hbWVfXyBhZGRlZCkKKyAgICAgICAgICAgICAgICAgICAgIDMyMTAgKGFkZGVkIHNpemUgbW9kdWxvIDIqKjMyIHRvIHRoZSBweWMgaGVhZGVyKQorICAgICAgIFB5dGhvbiAzLjNhMSAgMzIyMCAoY2hhbmdlZCBQRVAgMzgwIGltcGxlbWVudGF0aW9uKQogKi8KIAogLyogTUFHSUMgbXVzdCBjaGFuZ2Ugd2hlbmV2ZXIgdGhlIGJ5dGVjb2RlIGVtaXR0ZWQgYnkgdGhlIGNvbXBpbGVyIG1heSBubwpAQCAtMTEwLDIyICsxMTQsMzAgQEAKICAgIFRBRyBtdXN0IGNoYW5nZSBmb3IgZWFjaCBtYWpvciBQeXRob24gcmVsZWFzZS4gVGhlIG1hZ2ljIG51bWJlciB3aWxsIHRha2UKICAgIGNhcmUgb2YgYW55IGJ5dGVjb2RlIGNoYW5nZXMgdGhhdCBvY2N1ciBkdXJpbmcgZGV2ZWxvcG1lbnQuCiAqLwotI2RlZmluZSBNQUdJQyAoMzE4MCB8ICgobG9uZyknXHInPDwxNikgfCAoKGxvbmcpJ1xuJzw8MjQpKQotI2RlZmluZSBUQUcgImNweXRob24tMzIiCisjZGVmaW5lIFFVT1RFKGFyZykgI2FyZworI2RlZmluZSBTVFJJRlkobmFtZSkgUVVPVEUobmFtZSkKKyNkZWZpbmUgTUFKT1IgU1RSSUZZKFBZX01BSk9SX1ZFUlNJT04pCisjZGVmaW5lIE1JTk9SIFNUUklGWShQWV9NSU5PUl9WRVJTSU9OKQorI2RlZmluZSBNQUdJQyAoMzIyMCB8ICgobG9uZyknXHInPDwxNikgfCAoKGxvbmcpJ1xuJzw8MjQpKQorI2RlZmluZSBUQUcgImNweXRob24tIiBNQUpPUiBNSU5PUjsKICNkZWZpbmUgQ0FDSEVESVIgIl9fcHljYWNoZV9fIgogLyogQ3VycmVudCBtYWdpYyB3b3JkIGFuZCBzdHJpbmcgdGFnIGFzIGdsb2JhbHMuICovCiBzdGF0aWMgbG9uZyBweWNfbWFnaWMgPSBNQUdJQzsKIHN0YXRpYyBjb25zdCBjaGFyICpweWNfdGFnID0gVEFHOworI3VuZGVmIFFVT1RFCisjdW5kZWYgU1RSSUZZCisjdW5kZWYgTUFKT1IKKyN1bmRlZiBNSU5PUgogCi0vKiBTZWUgX1B5SW1wb3J0X0ZpeHVwRXh0ZW5zaW9uVW5pY29kZSgpIGJlbG93ICovCisvKiBTZWUgX1B5SW1wb3J0X0ZpeHVwRXh0ZW5zaW9uT2JqZWN0KCkgYmVsb3cgKi8KIHN0YXRpYyBQeU9iamVjdCAqZXh0ZW5zaW9ucyA9IE5VTEw7CiAKKy8qIEZ1bmN0aW9uIGZyb20gUGFyc2VyL3Rva2VuaXplci5jICovCitleHRlcm4gY2hhciAqIFB5VG9rZW5pemVyX0ZpbmRFbmNvZGluZ0ZpbGVuYW1lKGludCwgUHlPYmplY3QgKik7CisKIC8qIFRoaXMgdGFibGUgaXMgZGVmaW5lZCBpbiBjb25maWcuYzogKi8KIGV4dGVybiBzdHJ1Y3QgX2luaXR0YWIgX1B5SW1wb3J0X0luaXR0YWJbXTsKIAotLyogTWV0aG9kIGZyb20gUGFyc2VyL3Rva2VuaXplci5jICovCi1leHRlcm4gY2hhciAqIFB5VG9rZW5pemVyX0ZpbmRFbmNvZGluZyhpbnQpOwotCiBzdHJ1Y3QgX2luaXR0YWIgKlB5SW1wb3J0X0luaXR0YWIgPSBfUHlJbXBvcnRfSW5pdHRhYjsKIAogLyogdGhlc2UgdGFibGVzIGRlZmluZSB0aGUgbW9kdWxlIHN1ZmZpeGVzIHRoYXQgUHl0aG9uIHJlY29nbml6ZXMgKi8KQEAgLTE0MCw2ICsxNTIsOCBAQAogICAgIHswLCAwfQogfTsKIAorc3RhdGljIFB5T2JqZWN0ICppbml0c3RyID0gTlVMTDsKK19QeV9JREVOVElGSUVSKF9fcGF0aF9fKTsKIAogLyogSW5pdGlhbGl6ZSB0aGluZ3MgKi8KIApAQCAtMTUxLDYgKzE2NSwxMCBAQAogICAgIGludCBjb3VudEQgPSAwOwogICAgIGludCBjb3VudFMgPSAwOwogCisgICAgaW5pdHN0ciA9IFB5VW5pY29kZV9JbnRlcm5Gcm9tU3RyaW5nKCJfX2luaXRfXyIpOworICAgIGlmIChpbml0c3RyID09IE5VTEwpCisgICAgICAgIFB5X0ZhdGFsRXJyb3IoIkNhbid0IGluaXRpYWxpemUgaW1wb3J0IHZhcmlhYmxlcyIpOworCiAgICAgLyogcHJlcGFyZSBfUHlJbXBvcnRfRmlsZXRhYjogY29weSBlbnRyaWVzIGZyb20KICAgICAgICBfUHlJbXBvcnRfRHluTG9hZEZpbGV0YWIgYW5kIF9QeUltcG9ydF9TdGFuZGFyZEZpbGV0YWIuCiAgICAgICovCkBAIC0yMjksOCArMjQ3LDkgQEAKICAgICAgICAgICAgIFB5U3lzX1dyaXRlU3RkZXJyKCIjIGNhbid0IGltcG9ydCB6aXBpbXBvcnRcbiIpOwogICAgIH0KICAgICBlbHNlIHsKLSAgICAgICAgUHlPYmplY3QgKnppcGltcG9ydGVyID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyh6aW1waW1wb3J0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ6aXBpbXBvcnRlciIpOworICAgICAgICBfUHlfSURFTlRJRklFUih6aXBpbXBvcnRlcik7CisgICAgICAgIFB5T2JqZWN0ICp6aXBpbXBvcnRlciA9IF9QeU9iamVjdF9HZXRBdHRySWQoemltcGltcG9ydCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmUHlJZF96aXBpbXBvcnRlcik7CiAgICAgICAgIFB5X0RFQ1JFRih6aW1waW1wb3J0KTsKICAgICAgICAgaWYgKHppcGltcG9ydGVyID09IE5VTEwpIHsKICAgICAgICAgICAgIFB5RXJyX0NsZWFyKCk7IC8qIE5vIHppcGltcG9ydGVyIG9iamVjdCAtLSBva2F5ICovCkBAIC0zMTksNyArMzM4LDcgQEAKICAgICAgICAgLyogRm9ya2VkIGFzIGEgc2lkZSBlZmZlY3Qgb2YgaW1wb3J0ICovCiAgICAgICAgIGxvbmcgbWUgPSBQeVRocmVhZF9nZXRfdGhyZWFkX2lkZW50KCk7CiAgICAgICAgIFB5VGhyZWFkX2FjcXVpcmVfbG9jayhpbXBvcnRfbG9jaywgMCk7Ci0JLyogWFhYOiBjYW4gdGhlIHByZXZpb3VzIGxpbmUgZmFpbD8gKi8KKyAgICAgICAgLyogWFhYOiBjYW4gdGhlIHByZXZpb3VzIGxpbmUgZmFpbD8gKi8KICAgICAgICAgaW1wb3J0X2xvY2tfdGhyZWFkID0gbWU7CiAgICAgICAgIGltcG9ydF9sb2NrX2xldmVsLS07CiAgICAgfSBlbHNlIHsKQEAgLTQyMyw3ICs0NDIsNiBAQAogUHlJbXBvcnRfQ2xlYW51cCh2b2lkKQogewogICAgIFB5X3NzaXplX3QgcG9zLCBuZG9uZTsKLSAgICBjaGFyICpuYW1lOwogICAgIFB5T2JqZWN0ICprZXksICp2YWx1ZSwgKmRpY3Q7CiAgICAgUHlJbnRlcnByZXRlclN0YXRlICppbnRlcnAgPSBQeVRocmVhZFN0YXRlX0dFVCgpLT5pbnRlcnA7CiAgICAgUHlPYmplY3QgKm1vZHVsZXMgPSBpbnRlcnAtPm1vZHVsZXM7CkBAIC00OTYsMTQgKzUxNCwxMyBAQAogICAgICAgICAgICAgaWYgKHZhbHVlLT5vYl9yZWZjbnQgIT0gMSkKICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgIGlmIChQeVVuaWNvZGVfQ2hlY2soa2V5KSAmJiBQeU1vZHVsZV9DaGVjayh2YWx1ZSkpIHsKLSAgICAgICAgICAgICAgICBuYW1lID0gX1B5VW5pY29kZV9Bc1N0cmluZyhrZXkpOwotICAgICAgICAgICAgICAgIGlmIChzdHJjbXAobmFtZSwgImJ1aWx0aW5zIikgPT0gMCkKKyAgICAgICAgICAgICAgICBpZiAoUHlVbmljb2RlX0NvbXBhcmVXaXRoQVNDSUlTdHJpbmcoa2V5LCAiYnVpbHRpbnMiKSA9PSAwKQogICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAgICAgICBpZiAoc3RyY21wKG5hbWUsICJzeXMiKSA9PSAwKQorICAgICAgICAgICAgICAgIGlmIChQeVVuaWNvZGVfQ29tcGFyZVdpdGhBU0NJSVN0cmluZyhrZXksICJzeXMiKSA9PSAwKQogICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgICAgICBpZiAoUHlfVmVyYm9zZUZsYWcpCi0gICAgICAgICAgICAgICAgICAgIFB5U3lzX1dyaXRlU3RkZXJyKAotICAgICAgICAgICAgICAgICAgICAgICAgIiMgY2xlYW51cFsxXSAlc1xuIiwgbmFtZSk7CisgICAgICAgICAgICAgICAgICAgIFB5U3lzX0Zvcm1hdFN0ZGVycigKKyAgICAgICAgICAgICAgICAgICAgICAgICIjIGNsZWFudXBbMV0gJVVcbiIsIGtleSk7CiAgICAgICAgICAgICAgICAgX1B5TW9kdWxlX0NsZWFyKHZhbHVlKTsKICAgICAgICAgICAgICAgICBQeURpY3RfU2V0SXRlbShtb2R1bGVzLCBrZXksIFB5X05vbmUpOwogICAgICAgICAgICAgICAgIG5kb25lKys7CkBAIC01MTUsMTMgKzUzMiwxMiBAQAogICAgIHBvcyA9IDA7CiAgICAgd2hpbGUgKFB5RGljdF9OZXh0KG1vZHVsZXMsICZwb3MsICZrZXksICZ2YWx1ZSkpIHsKICAgICAgICAgaWYgKFB5VW5pY29kZV9DaGVjayhrZXkpICYmIFB5TW9kdWxlX0NoZWNrKHZhbHVlKSkgewotICAgICAgICAgICAgbmFtZSA9IF9QeVVuaWNvZGVfQXNTdHJpbmcoa2V5KTsKLSAgICAgICAgICAgIGlmIChzdHJjbXAobmFtZSwgImJ1aWx0aW5zIikgPT0gMCkKKyAgICAgICAgICAgIGlmIChQeVVuaWNvZGVfQ29tcGFyZVdpdGhBU0NJSVN0cmluZyhrZXksICJidWlsdGlucyIpID09IDApCiAgICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICBpZiAoc3RyY21wKG5hbWUsICJzeXMiKSA9PSAwKQorICAgICAgICAgICAgaWYgKFB5VW5pY29kZV9Db21wYXJlV2l0aEFTQ0lJU3RyaW5nKGtleSwgInN5cyIpID09IDApCiAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICBpZiAoUHlfVmVyYm9zZUZsYWcpCi0gICAgICAgICAgICAgICAgUHlTeXNfV3JpdGVTdGRlcnIoIiMgY2xlYW51cFsyXSAlc1xuIiwgbmFtZSk7CisgICAgICAgICAgICAgICAgUHlTeXNfRm9ybWF0U3RkZXJyKCIjIGNsZWFudXBbMl0gJVVcbiIsIGtleSk7CiAgICAgICAgICAgICBfUHlNb2R1bGVfQ2xlYXIodmFsdWUpOwogICAgICAgICAgICAgUHlEaWN0X1NldEl0ZW0obW9kdWxlcywga2V5LCBQeV9Ob25lKTsKICAgICAgICAgfQpAQCAtNTcxLDEwICs1ODcsMTAgQEAKICAgIG9uY2UsIHdlIGtlZXAgYSBzdGF0aWMgZGljdGlvbmFyeSAnZXh0ZW5zaW9ucycga2V5ZWQgYnkgbW9kdWxlIG5hbWUKICAgIChmb3IgYnVpbHQtaW4gbW9kdWxlcykgb3IgYnkgZmlsZW5hbWUgKGZvciBkeW5hbWljYWxseSBsb2FkZWQKICAgIG1vZHVsZXMpLCBjb250YWluaW5nIHRoZXNlIG1vZHVsZXMuICBBIGNvcHkgb2YgdGhlIG1vZHVsZSdzCi0gICBkaWN0aW9uYXJ5IGlzIHN0b3JlZCBieSBjYWxsaW5nIF9QeUltcG9ydF9GaXh1cEV4dGVuc2lvblVuaWNvZGUoKQorICAgZGljdGlvbmFyeSBpcyBzdG9yZWQgYnkgY2FsbGluZyBfUHlJbXBvcnRfRml4dXBFeHRlbnNpb25PYmplY3QoKQogICAgaW1tZWRpYXRlbHkgYWZ0ZXIgdGhlIG1vZHVsZSBpbml0aWFsaXphdGlvbiBmdW5jdGlvbiBzdWNjZWVkcy4gIEEKICAgIGNvcHkgY2FuIGJlIHJldHJpZXZlZCBmcm9tIHRoZXJlIGJ5IGNhbGxpbmcKLSAgIF9QeUltcG9ydF9GaW5kRXh0ZW5zaW9uVW5pY29kZSgpLgorICAgX1B5SW1wb3J0X0ZpbmRFeHRlbnNpb25PYmplY3QoKS4KIAogICAgTW9kdWxlcyB3aGljaCBkbyBzdXBwb3J0IG11bHRpcGxlIGluaXRpYWxpemF0aW9uIHNldCB0aGVpciBtX3NpemUKICAgIGZpZWxkIHRvIGEgbm9uLW5lZ2F0aXZlIG51bWJlciAoaW5kaWNhdGluZyB0aGUgc2l6ZSBvZiB0aGUKQEAgLTU4Myw3ICs1OTksOCBAQAogKi8KIAogaW50Ci1fUHlJbXBvcnRfRml4dXBFeHRlbnNpb25Vbmljb2RlKFB5T2JqZWN0ICptb2QsIGNoYXIgKm5hbWUsIFB5T2JqZWN0ICpmaWxlbmFtZSkKK19QeUltcG9ydF9GaXh1cEV4dGVuc2lvbk9iamVjdChQeU9iamVjdCAqbW9kLCBQeU9iamVjdCAqbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeU9iamVjdCAqZmlsZW5hbWUpCiB7CiAgICAgUHlPYmplY3QgKm1vZHVsZXMsICpkaWN0OwogICAgIHN0cnVjdCBQeU1vZHVsZURlZiAqZGVmOwpAQCAtNjAyLDEwICs2MTksMTAgQEAKICAgICAgICAgcmV0dXJuIC0xOwogICAgIH0KICAgICBtb2R1bGVzID0gUHlJbXBvcnRfR2V0TW9kdWxlRGljdCgpOwotICAgIGlmIChQeURpY3RfU2V0SXRlbVN0cmluZyhtb2R1bGVzLCBuYW1lLCBtb2QpIDwgMCkKKyAgICBpZiAoUHlEaWN0X1NldEl0ZW0obW9kdWxlcywgbmFtZSwgbW9kKSA8IDApCiAgICAgICAgIHJldHVybiAtMTsKICAgICBpZiAoX1B5U3RhdGVfQWRkTW9kdWxlKG1vZCwgZGVmKSA8IDApIHsKLSAgICAgICAgUHlEaWN0X0RlbEl0ZW1TdHJpbmcobW9kdWxlcywgbmFtZSk7CisgICAgICAgIFB5RGljdF9EZWxJdGVtKG1vZHVsZXMsIG5hbWUpOwogICAgICAgICByZXR1cm4gLTE7CiAgICAgfQogICAgIGlmIChkZWYtPm1fc2l6ZSA9PSAtMSkgewpAQCAtNjMxLDE3ICs2NDgsMTcgQEAKIF9QeUltcG9ydF9GaXh1cEJ1aWx0aW4oUHlPYmplY3QgKm1vZCwgY2hhciAqbmFtZSkKIHsKICAgICBpbnQgcmVzOwotICAgIFB5T2JqZWN0ICpmaWxlbmFtZTsKLSAgICBmaWxlbmFtZSA9IFB5VW5pY29kZV9Gcm9tU3RyaW5nKG5hbWUpOwotICAgIGlmIChmaWxlbmFtZSA9PSBOVUxMKQorICAgIFB5T2JqZWN0ICpuYW1lb2JqOworICAgIG5hbWVvYmogPSBQeVVuaWNvZGVfSW50ZXJuRnJvbVN0cmluZyhuYW1lKTsKKyAgICBpZiAobmFtZW9iaiA9PSBOVUxMKQogICAgICAgICByZXR1cm4gLTE7Ci0gICAgcmVzID0gX1B5SW1wb3J0X0ZpeHVwRXh0ZW5zaW9uVW5pY29kZShtb2QsIG5hbWUsIGZpbGVuYW1lKTsKLSAgICBQeV9ERUNSRUYoZmlsZW5hbWUpOworICAgIHJlcyA9IF9QeUltcG9ydF9GaXh1cEV4dGVuc2lvbk9iamVjdChtb2QsIG5hbWVvYmosIG5hbWVvYmopOworICAgIFB5X0RFQ1JFRihuYW1lb2JqKTsKICAgICByZXR1cm4gcmVzOwogfQogCiBQeU9iamVjdCAqCi1fUHlJbXBvcnRfRmluZEV4dGVuc2lvblVuaWNvZGUoY2hhciAqbmFtZSwgUHlPYmplY3QgKmZpbGVuYW1lKQorX1B5SW1wb3J0X0ZpbmRFeHRlbnNpb25PYmplY3QoUHlPYmplY3QgKm5hbWUsIFB5T2JqZWN0ICpmaWxlbmFtZSkKIHsKICAgICBQeU9iamVjdCAqbW9kLCAqbWRpY3Q7CiAgICAgUHlNb2R1bGVEZWYqIGRlZjsKQEAgLTY1NCw3ICs2NzEsNyBAQAogICAgICAgICAvKiBNb2R1bGUgZG9lcyBub3Qgc3VwcG9ydCByZXBlYXRlZCBpbml0aWFsaXphdGlvbiAqLwogICAgICAgICBpZiAoZGVmLT5tX2Jhc2UubV9jb3B5ID09IE5VTEwpCiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgbW9kID0gUHlJbXBvcnRfQWRkTW9kdWxlKG5hbWUpOworICAgICAgICBtb2QgPSBQeUltcG9ydF9BZGRNb2R1bGVPYmplY3QobmFtZSk7CiAgICAgICAgIGlmIChtb2QgPT0gTlVMTCkKICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICBtZGljdCA9IFB5TW9kdWxlX0dldERpY3QobW9kKTsKQEAgLTY2OSwzMCArNjg2LDMwIEBACiAgICAgICAgIG1vZCA9IGRlZi0+bV9iYXNlLm1faW5pdCgpOwogICAgICAgICBpZiAobW9kID09IE5VTEwpCiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgUHlEaWN0X1NldEl0ZW1TdHJpbmcoUHlJbXBvcnRfR2V0TW9kdWxlRGljdCgpLCBuYW1lLCBtb2QpOworICAgICAgICBQeURpY3RfU2V0SXRlbShQeUltcG9ydF9HZXRNb2R1bGVEaWN0KCksIG5hbWUsIG1vZCk7CiAgICAgICAgIFB5X0RFQ1JFRihtb2QpOwogICAgIH0KICAgICBpZiAoX1B5U3RhdGVfQWRkTW9kdWxlKG1vZCwgZGVmKSA8IDApIHsKLSAgICAgICAgUHlEaWN0X0RlbEl0ZW1TdHJpbmcoUHlJbXBvcnRfR2V0TW9kdWxlRGljdCgpLCBuYW1lKTsKKyAgICAgICAgUHlEaWN0X0RlbEl0ZW0oUHlJbXBvcnRfR2V0TW9kdWxlRGljdCgpLCBuYW1lKTsKICAgICAgICAgUHlfREVDUkVGKG1vZCk7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KICAgICBpZiAoUHlfVmVyYm9zZUZsYWcpCi0gICAgICAgIFB5U3lzX0Zvcm1hdFN0ZGVycigiaW1wb3J0ICVzICMgcHJldmlvdXNseSBsb2FkZWQgKCVVKVxuIiwKKyAgICAgICAgUHlTeXNfRm9ybWF0U3RkZXJyKCJpbXBvcnQgJVUgIyBwcmV2aW91c2x5IGxvYWRlZCAoJVIpXG4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lLCBmaWxlbmFtZSk7CiAgICAgcmV0dXJuIG1vZDsKIAogfQogCiBQeU9iamVjdCAqCi1fUHlJbXBvcnRfRmluZEJ1aWx0aW4oY2hhciAqbmFtZSkKK19QeUltcG9ydF9GaW5kQnVpbHRpbihjb25zdCBjaGFyICpuYW1lKQogewotICAgIFB5T2JqZWN0ICpyZXMsICpmaWxlbmFtZTsKLSAgICBmaWxlbmFtZSA9IFB5VW5pY29kZV9Gcm9tU3RyaW5nKG5hbWUpOwotICAgIGlmIChmaWxlbmFtZSA9PSBOVUxMKQorICAgIFB5T2JqZWN0ICpyZXMsICpuYW1lb2JqOworICAgIG5hbWVvYmogPSBQeVVuaWNvZGVfSW50ZXJuRnJvbVN0cmluZyhuYW1lKTsKKyAgICBpZiAobmFtZW9iaiA9PSBOVUxMKQogICAgICAgICByZXR1cm4gTlVMTDsKLSAgICByZXMgPSBfUHlJbXBvcnRfRmluZEV4dGVuc2lvblVuaWNvZGUobmFtZSwgZmlsZW5hbWUpOwotICAgIFB5X0RFQ1JFRihmaWxlbmFtZSk7CisgICAgcmVzID0gX1B5SW1wb3J0X0ZpbmRFeHRlbnNpb25PYmplY3QobmFtZW9iaiwgbmFtZW9iaik7CisgICAgUHlfREVDUkVGKG5hbWVvYmopOwogICAgIHJldHVybiByZXM7CiB9CiAKQEAgLTcwMywxOCArNzIwLDE4IEBACiAgICAnTkVXJyBSRUZFUkVOQ0UhICovCiAKIFB5T2JqZWN0ICoKLVB5SW1wb3J0X0FkZE1vZHVsZShjb25zdCBjaGFyICpuYW1lKQorUHlJbXBvcnRfQWRkTW9kdWxlT2JqZWN0KFB5T2JqZWN0ICpuYW1lKQogewogICAgIFB5T2JqZWN0ICptb2R1bGVzID0gUHlJbXBvcnRfR2V0TW9kdWxlRGljdCgpOwogICAgIFB5T2JqZWN0ICptOwogCi0gICAgaWYgKChtID0gUHlEaWN0X0dldEl0ZW1TdHJpbmcobW9kdWxlcywgbmFtZSkpICE9IE5VTEwgJiYKKyAgICBpZiAoKG0gPSBQeURpY3RfR2V0SXRlbShtb2R1bGVzLCBuYW1lKSkgIT0gTlVMTCAmJgogICAgICAgICBQeU1vZHVsZV9DaGVjayhtKSkKICAgICAgICAgcmV0dXJuIG07Ci0gICAgbSA9IFB5TW9kdWxlX05ldyhuYW1lKTsKKyAgICBtID0gUHlNb2R1bGVfTmV3T2JqZWN0KG5hbWUpOwogICAgIGlmIChtID09IE5VTEwpCiAgICAgICAgIHJldHVybiBOVUxMOwotICAgIGlmIChQeURpY3RfU2V0SXRlbVN0cmluZyhtb2R1bGVzLCBuYW1lLCBtKSAhPSAwKSB7CisgICAgaWYgKFB5RGljdF9TZXRJdGVtKG1vZHVsZXMsIG5hbWUsIG0pICE9IDApIHsKICAgICAgICAgUHlfREVDUkVGKG0pOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CkBAIC03MjMsMjIgKzc0MCwzNCBAQAogICAgIHJldHVybiBtOwogfQogCitQeU9iamVjdCAqCitQeUltcG9ydF9BZGRNb2R1bGUoY29uc3QgY2hhciAqbmFtZSkKK3sKKyAgICBQeU9iamVjdCAqbmFtZW9iaiwgKm1vZHVsZTsKKyAgICBuYW1lb2JqID0gUHlVbmljb2RlX0Zyb21TdHJpbmcobmFtZSk7CisgICAgaWYgKG5hbWVvYmogPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgbW9kdWxlID0gUHlJbXBvcnRfQWRkTW9kdWxlT2JqZWN0KG5hbWVvYmopOworICAgIFB5X0RFQ1JFRihuYW1lb2JqKTsKKyAgICByZXR1cm4gbW9kdWxlOworfQorCisKIC8qIFJlbW92ZSBuYW1lIGZyb20gc3lzLm1vZHVsZXMsIGlmIGl0J3MgdGhlcmUuICovCiBzdGF0aWMgdm9pZAotcmVtb3ZlX21vZHVsZShjb25zdCBjaGFyICpuYW1lKQorcmVtb3ZlX21vZHVsZShQeU9iamVjdCAqbmFtZSkKIHsKICAgICBQeU9iamVjdCAqbW9kdWxlcyA9IFB5SW1wb3J0X0dldE1vZHVsZURpY3QoKTsKLSAgICBpZiAoUHlEaWN0X0dldEl0ZW1TdHJpbmcobW9kdWxlcywgbmFtZSkgPT0gTlVMTCkKKyAgICBpZiAoUHlEaWN0X0dldEl0ZW0obW9kdWxlcywgbmFtZSkgPT0gTlVMTCkKICAgICAgICAgcmV0dXJuOwotICAgIGlmIChQeURpY3RfRGVsSXRlbVN0cmluZyhtb2R1bGVzLCBuYW1lKSA8IDApCisgICAgaWYgKFB5RGljdF9EZWxJdGVtKG1vZHVsZXMsIG5hbWUpIDwgMCkKICAgICAgICAgUHlfRmF0YWxFcnJvcigiaW1wb3J0OiAgZGVsZXRpbmcgZXhpc3Rpbmcga2V5IGluIgogICAgICAgICAgICAgICAgICAgICAgICJzeXMubW9kdWxlcyBmYWlsZWQiKTsKIH0KIAotc3RhdGljIFB5T2JqZWN0ICogZ2V0X3NvdXJjZWZpbGUoY2hhciAqZmlsZSk7Ci1zdGF0aWMgY2hhciAqbWFrZV9zb3VyY2VfcGF0aG5hbWUoY2hhciAqcGF0aG5hbWUsIGNoYXIgKmJ1Zik7Ci1zdGF0aWMgY2hhciAqbWFrZV9jb21waWxlZF9wYXRobmFtZShjaGFyICpwYXRobmFtZSwgY2hhciAqYnVmLCBzaXplX3QgYnVmbGVuLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRlYnVnKTsKK3N0YXRpYyBQeU9iamVjdCAqIGdldF9zb3VyY2VmaWxlKFB5T2JqZWN0ICpmaWxlbmFtZSk7CitzdGF0aWMgUHlPYmplY3QgKm1ha2Vfc291cmNlX3BhdGhuYW1lKFB5T2JqZWN0ICpwYXRobmFtZSk7CitzdGF0aWMgUHlPYmplY3QqIG1ha2VfY29tcGlsZWRfcGF0aG5hbWUoUHlPYmplY3QgKnBhdGhuYW1lLCBpbnQgZGVidWcpOwogCiAvKiBFeGVjdXRlIGEgY29kZSBvYmplY3QgaW4gYSBtb2R1bGUgYW5kIHJldHVybiB0aGUgbW9kdWxlIG9iamVjdAogICogV0lUSCBJTkNSRU1FTlRFRCBSRUZFUkVOQ0UgQ09VTlQuICBJZiBhbiBlcnJvciBvY2N1cnMsIG5hbWUgaXMKQEAgLTc2OCwxMCArNzk3LDQxIEBACiBQeUltcG9ydF9FeGVjQ29kZU1vZHVsZVdpdGhQYXRobmFtZXMoY2hhciAqbmFtZSwgUHlPYmplY3QgKmNvLCBjaGFyICpwYXRobmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFyICpjcGF0aG5hbWUpCiB7CisgICAgUHlPYmplY3QgKm0gPSBOVUxMOworICAgIFB5T2JqZWN0ICpuYW1lb2JqLCAqcGF0aG9iaiA9IE5VTEwsICpjcGF0aG9iaiA9IE5VTEw7CisKKyAgICBuYW1lb2JqID0gUHlVbmljb2RlX0Zyb21TdHJpbmcobmFtZSk7CisgICAgaWYgKG5hbWVvYmogPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICBpZiAocGF0aG5hbWUgIT0gTlVMTCkgeworICAgICAgICBwYXRob2JqID0gUHlVbmljb2RlX0RlY29kZUZTRGVmYXVsdChwYXRobmFtZSk7CisgICAgICAgIGlmIChwYXRob2JqID09IE5VTEwpCisgICAgICAgICAgICBnb3RvIGVycm9yOworICAgIH0gZWxzZQorICAgICAgICBwYXRob2JqID0gTlVMTDsKKyAgICBpZiAoY3BhdGhuYW1lICE9IE5VTEwpIHsKKyAgICAgICAgY3BhdGhvYmogPSBQeVVuaWNvZGVfRGVjb2RlRlNEZWZhdWx0KGNwYXRobmFtZSk7CisgICAgICAgIGlmIChjcGF0aG9iaiA9PSBOVUxMKQorICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICB9IGVsc2UKKyAgICAgICAgY3BhdGhvYmogPSBOVUxMOworICAgIG0gPSBQeUltcG9ydF9FeGVjQ29kZU1vZHVsZU9iamVjdChuYW1lb2JqLCBjbywgcGF0aG9iaiwgY3BhdGhvYmopOworZXJyb3I6CisgICAgUHlfREVDUkVGKG5hbWVvYmopOworICAgIFB5X1hERUNSRUYocGF0aG9iaik7CisgICAgUHlfWERFQ1JFRihjcGF0aG9iaik7CisgICAgcmV0dXJuIG07Cit9CisKK1B5T2JqZWN0KgorUHlJbXBvcnRfRXhlY0NvZGVNb2R1bGVPYmplY3QoUHlPYmplY3QgKm5hbWUsIFB5T2JqZWN0ICpjbywgUHlPYmplY3QgKnBhdGhuYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlPYmplY3QgKmNwYXRobmFtZSkKK3sKICAgICBQeU9iamVjdCAqbW9kdWxlcyA9IFB5SW1wb3J0X0dldE1vZHVsZURpY3QoKTsKICAgICBQeU9iamVjdCAqbSwgKmQsICp2OwogCi0gICAgbSA9IFB5SW1wb3J0X0FkZE1vZHVsZShuYW1lKTsKKyAgICBtID0gUHlJbXBvcnRfQWRkTW9kdWxlT2JqZWN0KG5hbWUpOwogICAgIGlmIChtID09IE5VTEwpCiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIC8qIElmIHRoZSBtb2R1bGUgaXMgYmVpbmcgcmVsb2FkZWQsIHdlIGdldCB0aGUgb2xkIG1vZHVsZSBiYWNrCkBAIC03ODMsMTIgKzg0MywxMyBAQAogICAgICAgICAgICAgZ290byBlcnJvcjsKICAgICB9CiAgICAgLyogUmVtZW1iZXIgdGhlIGZpbGVuYW1lIGFzIHRoZSBfX2ZpbGVfXyBhdHRyaWJ1dGUgKi8KLSAgICB2ID0gTlVMTDsKICAgICBpZiAocGF0aG5hbWUgIT0gTlVMTCkgewogICAgICAgICB2ID0gZ2V0X3NvdXJjZWZpbGUocGF0aG5hbWUpOwogICAgICAgICBpZiAodiA9PSBOVUxMKQogICAgICAgICAgICAgUHlFcnJfQ2xlYXIoKTsKICAgICB9CisgICAgZWxzZQorICAgICAgICB2ID0gTlVMTDsKICAgICBpZiAodiA9PSBOVUxMKSB7CiAgICAgICAgIHYgPSAoKFB5Q29kZU9iamVjdCAqKWNvKS0+Y29fZmlsZW5hbWU7CiAgICAgICAgIFB5X0lOQ1JFRih2KTsKQEAgLTc5OCwyNyArODU5LDIxIEBACiAgICAgUHlfREVDUkVGKHYpOwogCiAgICAgLyogUmVtZW1iZXIgdGhlIHB5YyBwYXRoIG5hbWUgYXMgdGhlIF9fY2FjaGVkX18gYXR0cmlidXRlLiAqLwotICAgIGlmIChjcGF0aG5hbWUgPT0gTlVMTCkgeworICAgIGlmIChjcGF0aG5hbWUgIT0gTlVMTCkKKyAgICAgICAgdiA9IGNwYXRobmFtZTsKKyAgICBlbHNlCiAgICAgICAgIHYgPSBQeV9Ob25lOwotICAgICAgICBQeV9JTkNSRUYodik7Ci0gICAgfQotICAgIGVsc2UgaWYgKCh2ID0gUHlVbmljb2RlX0Zyb21TdHJpbmcoY3BhdGhuYW1lKSkgPT0gTlVMTCkgewotICAgICAgICBQeUVycl9DbGVhcigpOyAvKiBOb3QgaW1wb3J0YW50IGVub3VnaCB0byByZXBvcnQgKi8KLSAgICAgICAgdiA9IFB5X05vbmU7Ci0gICAgICAgIFB5X0lOQ1JFRih2KTsKLSAgICB9CiAgICAgaWYgKFB5RGljdF9TZXRJdGVtU3RyaW5nKGQsICJfX2NhY2hlZF9fIiwgdikgIT0gMCkKICAgICAgICAgUHlFcnJfQ2xlYXIoKTsgLyogTm90IGltcG9ydGFudCBlbm91Z2ggdG8gcmVwb3J0ICovCi0gICAgUHlfREVDUkVGKHYpOwogCiAgICAgdiA9IFB5RXZhbF9FdmFsQ29kZShjbywgZCwgZCk7CiAgICAgaWYgKHYgPT0gTlVMTCkKICAgICAgICAgZ290byBlcnJvcjsKICAgICBQeV9ERUNSRUYodik7CiAKLSAgICBpZiAoKG0gPSBQeURpY3RfR2V0SXRlbVN0cmluZyhtb2R1bGVzLCBuYW1lKSkgPT0gTlVMTCkgeworICAgIGlmICgobSA9IFB5RGljdF9HZXRJdGVtKG1vZHVsZXMsIG5hbWUpKSA9PSBOVUxMKSB7CiAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19JbXBvcnRFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICJMb2FkZWQgbW9kdWxlICUuMjAwcyBub3QgZm91bmQgaW4gc3lzLm1vZHVsZXMiLAorICAgICAgICAgICAgICAgICAgICAgIkxvYWRlZCBtb2R1bGUgJVIgbm90IGZvdW5kIGluIHN5cy5tb2R1bGVzIiwKICAgICAgICAgICAgICAgICAgICAgIG5hbWUpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CkBAIC04MzYsMTAgKzg5MSwxMCBAQAogLyogTGlrZSBzdHJyY2hyKHN0cmluZywgJy8nKSBidXQgc2VhcmNoZXMgZm9yIHRoZSByaWdodG1vc3Qgb2YgZWl0aGVyIFNFUAogICAgb3IgQUxUU0VQLCBpZiB0aGUgbGF0dGVyIGlzIGRlZmluZWQuCiAqLwotc3RhdGljIGNoYXIgKgotcmlnaHRtb3N0X3NlcChjaGFyICpzKQorc3RhdGljIFB5X1VDUzQqCityaWdodG1vc3Rfc2VwKFB5X1VDUzQgKnMpCiB7Ci0gICAgY2hhciAqZm91bmQsIGM7CisgICAgUHlfVUNTNCAqZm91bmQsIGM7CiAgICAgZm9yIChmb3VuZCA9IE5VTEw7IChjID0gKnMpOyBzKyspIHsKICAgICAgICAgaWYgKGMgPT0gU0VQCiAjaWZkZWYgQUxUU0VQCkBAIC04NTMsMTEzICs5MDgsODkgQEAKICAgICByZXR1cm4gZm91bmQ7CiB9CiAKKy8qIExpa2UgcmlnaHRtb3N0X3NlcCwgYnV0IG9wZXJhdGUgb24gdW5pY29kZSBvYmplY3RzLiAqLworc3RhdGljIFB5X3NzaXplX3QKK3JpZ2h0bW9zdF9zZXBfb2JqKFB5T2JqZWN0KiBvLCBQeV9zc2l6ZV90IHN0YXJ0LCBQeV9zc2l6ZV90IGVuZCkKK3sKKyAgICBQeV9zc2l6ZV90IGZvdW5kLCBpOworICAgIFB5X1VDUzQgYzsKKyAgICBmb3IgKGZvdW5kID0gLTEsIGkgPSBzdGFydDsgaSA8IGVuZDsgaSsrKSB7CisgICAgICAgIGMgPSBQeVVuaWNvZGVfUkVBRF9DSEFSKG8sIGkpOworICAgICAgICBpZiAoYyA9PSBTRVAKKyNpZmRlZiBBTFRTRVAKKyAgICAgICAgICAgIHx8IGMgPT0gQUxUU0VQCisjZW5kaWYKKyAgICAgICAgICAgICkKKyAgICAgICAgeworICAgICAgICAgICAgZm91bmQgPSBpOworICAgICAgICB9CisgICAgfQorICAgIHJldHVybiBmb3VuZDsKK30KIAogLyogR2l2ZW4gYSBwYXRobmFtZSBmb3IgYSBQeXRob24gc291cmNlIGZpbGUsIGZpbGwgYSBidWZmZXIgd2l0aCB0aGUKICAgIHBhdGhuYW1lIGZvciB0aGUgY29ycmVzcG9uZGluZyBjb21waWxlZCBmaWxlLiAgUmV0dXJuIHRoZSBwYXRobmFtZQogICAgZm9yIHRoZSBjb21waWxlZCBmaWxlLCBvciBOVUxMIGlmIHRoZXJlJ3Mgbm8gc3BhY2UgaW4gdGhlIGJ1ZmZlci4KLSAgIERvZXNuJ3Qgc2V0IGFuIGV4Y2VwdGlvbi4gKi8KKyAgIERvZXNuJ3Qgc2V0IGFuIGV4Y2VwdGlvbi4KIAotc3RhdGljIGNoYXIgKgotbWFrZV9jb21waWxlZF9wYXRobmFtZShjaGFyICpwYXRobmFtZSwgY2hhciAqYnVmLCBzaXplX3QgYnVmbGVuLCBpbnQgZGVidWcpCisgICBmb28ucHkgLT4gX19weWNhY2hlX18vZm9vLjx0YWc+LnB5YworCisgICBwYXRoc3RyIGlzIGFzc3VtZWQgdG8gYmUgInJlYWR5Ii4KKyovCisKK3N0YXRpYyBQeU9iamVjdCoKK21ha2VfY29tcGlsZWRfcGF0aG5hbWUoUHlPYmplY3QgKnBhdGhzdHIsIGludCBkZWJ1ZykKIHsKLSAgICAvKiBmb28ucHkgLT4gX19weWNhY2hlX18vZm9vLjx0YWc+LnB5YyAqLwotICAgIHNpemVfdCBsZW4gPSBzdHJsZW4ocGF0aG5hbWUpOwotICAgIHNpemVfdCBpLCBzYXZlOwotICAgIGNoYXIgKnBvczsKLSAgICBpbnQgc2VwID0gU0VQOworICAgIFB5T2JqZWN0ICpyZXN1bHQ7CisgICAgUHlfc3NpemVfdCBmbmFtZSwgZXh0LCBsZW4sIGksIHBvcywgdGFnbGVuOworICAgIFB5X3NzaXplX3QgcHljYWNoZV9sZW4gPSBzaXplb2YoQ0FDSEVESVIpIC0gMTsKKyAgICBpbnQga2luZDsKKyAgICB2b2lkICpkYXRhOworICAgIFB5X1VDUzQgbGFzdHNlcDsKIAotICAgIC8qIFNhbml0eSBjaGVjayB0aGF0IHRoZSBidWZmZXIgaGFzIHJvdWdobHkgZW5vdWdoIHNwYWNlIHRvIGhvbGQgd2hhdAotICAgICAgIHdpbGwgZXZlbnR1YWxseSBiZSB0aGUgZnVsbCBwYXRoIHRvIHRoZSBjb21waWxlZCBmaWxlLiAgVGhlIDUgZXh0cmEKLSAgICAgICBieXRlcyBpbmNsdWRlIHRoZSBzbGFzaCBhZmVyIF9fcHljYWNoZV9fLCB0aGUgdHdvIGV4dHJhIGRvdHMsIHRoZQotICAgICAgIGV4dHJhIHRyYWlsaW5nIGNoYXJhY3RlciAoJ2MnIG9yICdvJykgYW5kIG51bGwuICBUaGlzIGlzbid0IGV4YWN0Ci0gICAgICAgYmVjYXVzZSB0aGUgY29udGVudHMgb2YgdGhlIGJ1ZmZlciBjYW4gYWZmZWN0IGhvdyBtYW55IGFjdHVhbAotICAgICAgIGNoYXJhY3RlcnMgb2YgdGhlIHN0cmluZyBnZXQgaW50byB0aGUgYnVmZmVyLiAgV2UnbGwgZG8gYSBmaW5hbAotICAgICAgIHNhbml0eSBjaGVjayBiZWZvcmUgd3JpdGluZyB0aGUgZXh0ZW5zaW9uIHRvIGVuc3VyZSB3ZSBkbyBub3QKLSAgICAgICBvdmVyZmxvdyB0aGUgYnVmZmVyLgotICAgICovCi0gICAgaWYgKGxlbiArIHN0cmxlbihDQUNIRURJUikgKyBzdHJsZW4ocHljX3RhZykgKyA1ID4gYnVmbGVuKQorICAgIC8qIENvbXB1dGUgdGhlIG91dHB1dCBzdHJpbmcgc2l6ZS4gKi8KKyAgICBsZW4gPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChwYXRoc3RyKTsKKyAgICAvKiBJZiB0aGVyZSBpcyBubyBzZXBhcmF0b3IsIHRoaXMgcmV0dXJucyAtMSwgc28KKyAgICAgICBmbmFtZSB3aWxsIGJlIDAuICovCisgICAgZm5hbWUgPSByaWdodG1vc3Rfc2VwX29iaihwYXRoc3RyLCAwLCBsZW4pICsgMTsKKyAgICAvKiBXaW5kb3dzOiByZS11c2UgdGhlIGxhc3Qgc2VwYXJhdG9yIGNoYXJhY3RlciAoLyBvciBcXCkgd2hlbgorICAgICAgIGFwcGVuZGluZyB0aGUgX19weWNhY2hlX18gcGF0aC4gKi8KKyAgICBpZiAoZm5hbWUgPiAwKQorICAgICAgICBsYXN0c2VwID0gUHlVbmljb2RlX1JFQURfQ0hBUihwYXRoc3RyLCBmbmFtZSAtMSk7CisgICAgZWxzZQorICAgICAgICBsYXN0c2VwID0gU0VQOworICAgIGV4dCA9IGZuYW1lIC0gMTsKKyAgICBmb3IoaSA9IGZuYW1lOyBpIDwgbGVuOyBpKyspCisgICAgICAgIGlmIChQeVVuaWNvZGVfUkVBRF9DSEFSKHBhdGhzdHIsIGkpID09ICcuJykKKyAgICAgICAgICAgIGV4dCA9IGkgKyAxOworICAgIGlmIChleHQgPCBmbmFtZSkKKyAgICAgICAgLyogTm8gZG90IGluIGZpbGVuYW1lOyB1c2UgZW50aXJlIGZpbGVuYW1lICovCisgICAgICAgIGV4dCA9IGxlbjsKKworICAgIC8qIHJlc3VsdCA9IHBhdGhzdHJbOmZuYW1lXSArICJfX3B5Y2FjaGVfXyIgKyBTRVAgKworICAgICAgICAgICAgICAgIHBhdGhzdHJbZm5hbWU6ZXh0XSArIHRhZyArICIucHlbY29dIiAqLworICAgIHRhZ2xlbiA9IHN0cmxlbihweWNfdGFnKTsKKyAgICByZXN1bHQgPSBQeVVuaWNvZGVfTmV3KGV4dCArIHB5Y2FjaGVfbGVuICsgMSArIHRhZ2xlbiArIDQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfTUFYX0NIQVJfVkFMVUUocGF0aHN0cikpOworICAgIGlmICghcmVzdWx0KQogICAgICAgICByZXR1cm4gTlVMTDsKLQotICAgIC8qIEZpbmQgdGhlIGxhc3QgcGF0aCBzZXBhcmF0b3IgYW5kIGNvcHkgZXZlcnl0aGluZyBmcm9tIHRoZSBzdGFydCBvZgotICAgICAgIHRoZSBzb3VyY2Ugc3RyaW5nIHVwIHRvIGFuZCBpbmNsdWRpbmcgdGhlIHNlcGFyYXRvci4KLSAgICAqLwotICAgIGlmICgocG9zID0gcmlnaHRtb3N0X3NlcChwYXRobmFtZSkpID09IE5VTEwpIHsKLSAgICAgICAgaSA9IDA7Ci0gICAgfQotICAgIGVsc2UgewotICAgICAgICBzZXAgPSAqcG9zOwotICAgICAgICBpID0gcG9zIC0gcGF0aG5hbWUgKyAxOwotICAgICAgICBzdHJuY3B5KGJ1ZiwgcGF0aG5hbWUsIGkpOwotICAgIH0KLQotICAgIHNhdmUgPSBpOwotICAgIGJ1ZltpKytdID0gJ1wwJzsKLSAgICAvKiBBZGQgX19weWNhY2hlX18vICovCi0gICAgc3RyY2F0KGJ1ZiwgQ0FDSEVESVIpOwotICAgIGkgKz0gc3RybGVuKENBQ0hFRElSKSAtIDE7Ci0gICAgYnVmW2krK10gPSBzZXA7Ci0gICAgYnVmW2krK10gPSAnXDAnOwotICAgIC8qIEFkZCB0aGUgYmFzZSBmaWxlbmFtZSwgYnV0IHJlbW92ZSB0aGUgLnB5IG9yIC5weXcgZXh0ZW5zaW9uLCBzaW5jZQotICAgICAgIHRoZSB0YWcgbmFtZSBtdXN0IGdvIGJlZm9yZSB0aGUgZXh0ZW5zaW9uLgotICAgICovCi0gICAgc3RyY2F0KGJ1ZiwgcGF0aG5hbWUgKyBzYXZlKTsKLSAgICBpZiAoKHBvcyA9IHN0cnJjaHIoYnVmLCAnLicpKSAhPSBOVUxMKQotICAgICAgICAqKytwb3MgPSAnXDAnOwotICAgIHN0cmNhdChidWYsIHB5Y190YWcpOwotICAgIC8qIFRoZSBsZW5ndGggdGVzdCBhYm92ZSBhc3N1bWVzIHRoYXQgd2UncmUgb25seSBhZGRpbmcgb25lIGNoYXJhY3RlcgotICAgICAgIHRvIHRoZSBlbmQgb2Ygd2hhdCB3b3VsZCBub3JtYWxseSBiZSB0aGUgZXh0ZW5zaW9uLiAgV2hhdCBpZiB0aGVyZQotICAgICAgIGlzIG5vIGV4dGVuc2lvbiwgb3IgdGhlIHN0cmluZyBlbmRzIGluICcuJyBvciAnLnAnLCBhbmQgb3RoZXJ3aXNlCi0gICAgICAgZmlsbHMgdGhlIGJ1ZmZlcj8gIEJ5IGFwcGVuZGluZyA0IG1vcmUgY2hhcmFjdGVycyBvbnRvIHRoZSBzdHJpbmcKLSAgICAgICBoZXJlLCB3ZSBjb3VsZCBvdmVycnVuIHRoZSBidWZmZXIuCi0KLSAgICAgICBBcyBhIHNpbXBsZSBleGFtcGxlLCBsZXQncyBzYXkgYnVmbGVuPTMyIGFuZCB0aGUgaW5wdXQgc3RyaW5nIGlzCi0gICAgICAgJ3h4eC5weScuICBzdHJsZW4oKSB3b3VsZCBiZSA2IGFuZCB0aGUgdGVzdCBhYm92ZSB3b3VsZCB5aWVsZDoKLQotICAgICAgICg2ICsgMTEgKyAxMCArIDUgPT0gMzIpID4gMzIKLQotICAgICAgIHdoaWNoIGlzIGZhbHNlIGFuZCBzbyB0aGUgbmFtZSBtYW5nbGluZyB3b3VsZCBjb250aW51ZS4gIFRoaXMgd291bGQKLSAgICAgICBiZSBmaW5lIGJlY2F1c2Ugd2UnZCBlbmQgdXAgd2l0aCB0aGlzIHN0cmluZyBpbiBidWY6Ci0KLSAgICAgICBfX3B5Y2FjaGVfXy94eHguY3B5dGhvbi0zMi5weWNcMAotCi0gICAgICAgc3RybGVuKG9mIHRoYXQpID09IDMwICsgdGhlIG51bCBmaXRzIGluc2lkZSBhIDMyIGNoYXJhY3RlciBidWZmZXIuCi0gICAgICAgV2UgY2FuIGV2ZW4gaGFuZGxlIGFuIGlucHV0IHN0cmluZyBvZiBzYXkgJ3h4eHh4JyBhYm92ZSBiZWNhdXNlCi0gICAgICAgdGhhdCdzICg1ICsgMTEgKyAxMCArIDUgPT0gMzEpID4gMzIgd2hpY2ggaXMgYWxzbyBmYWxzZS4gIE5hbWUKLSAgICAgICBtYW5nbGluZyB0aGF0IHlpZWxkczoKLQotICAgICAgIF9fcHljYWNoZV9fL3h4eHh4Y3B5dGhvbi0zMi5weWNcMAotCi0gICAgICAgd2hpY2ggaXMgMzIgY2hhcmFjdGVycyBpbmNsdWRpbmcgdGhlIG51bCwgYW5kIHRodXMgZml0cyBpbiB0aGUKLSAgICAgICBidWZmZXIuIEhvd2V2ZXIsIGFuIGlucHV0IHN0cmluZyBvZiAneHh4eHh4JyB3b3VsZCB5aWVsZCBhIHJlc3VsdAotICAgICAgIHN0cmluZyBvZjoKLQotICAgICAgIF9fcHljYWNoZV9fL3h4eHh4eGNweXRob24tMzIucHljXDAKLQotICAgICAgIHdoaWNoIGlzIDMzIGNoYXJhY3RlcnMgbG9uZyAoaW5jbHVkaW5nIHRoZSBudWwpLCB0aHVzIG92ZXJmbG93aW5nCi0gICAgICAgdGhlIGJ1ZmZlciwgZXZlbiB0aG91Z2ggdGhlIGZpcnN0IHRlc3Qgd291bGQgZmFpbCwgaS5lLjogdGhlIGlucHV0Ci0gICAgICAgc3RyaW5nIGlzIGFsc28gNiBjaGFyYWN0ZXJzIGxvbmcsIHNvIDMyID4gMzIgaXMgZmFsc2UuCi0KLSAgICAgICBUaGUgcmVhc29uIHRoZSBmaXJzdCB0ZXN0IGZhaWxzIGJ1dCB3ZSBzdGlsbCBvdmVyZmxvdyB0aGUgYnVmZmVyIGlzCi0gICAgICAgdGhhdCB0aGUgdGVzdCBhYm92ZSBvbmx5IGV4cGVjdHMgdG8gYWRkIG9uZSBleHRyYSBjaGFyYWN0ZXIgdG8gYmUKLSAgICAgICBhZGRlZCB0byB0aGUgZXh0ZW5zaW9uLCBhbmQgaGVyZSB3ZSdyZSBhZGRpbmcgdGhyZWUgKHB5YykuICBXZQotICAgICAgIGRvbid0IGFkZCB0aGUgZmlyc3QgZG90LCBzbyB0aGF0IHJlY2xhaW1zIG9uZSBvZiBleHBlY3RlZAotICAgICAgIHBvc2l0aW9ucywgbGVhdmluZyB1cyBvdmVyZmxvd2luZyBieSAxIGJ5dGUgKDMgZXh0cmEgLSAxIHJlY2xhaW1lZAotICAgICAgIGRvdCAtIDEgZXhwZWN0ZWQgZXh0cmEgPT0gMSBvdmVyZmxvd2VkKS4KLQotICAgICAgIFRoZSBiZXN0IHdlIGNhbiBkbyBpcyBlbnN1cmUgdGhhdCB3ZSBzdGlsbCBoYXZlIGVub3VnaCByb29tIGluIHRoZQotICAgICAgIHRhcmdldCBidWZmZXIgYmVmb3JlIHdlIHdyaXRlIHRoZSBleHRlbnNpb24uICBCZWNhdXNlIGl0J3MgYWx3YXlzCi0gICAgICAgb25seSB0aGUgZXh0ZW5zaW9uIHRoYXQgY2FuIGNhdXNlIHRoZSBvdmVyZmxvdywgYW5kIG5ldmVyIHRoZSBvdGhlcgotICAgICAgIHBhdGggYnl0ZXMgd2UndmUgd3JpdHRlbiwgaXQncyBzdWZmaWNpZW50IHRvIGp1c3QgZG8gb25lIG1vcmUgdGVzdAotICAgICAgIGhlcmUuICBTdGlsbCwgdGhlIGFzc2VydGlvbiB0aGF0IGZvbGxvd3MgY2FuJ3QgaHVydC4KLSAgICAqLwotI2lmIDAKLSAgICBwcmludGYoInN0cmxlbihidWYpOiAlZDsgYnVmbGVuOiAlZFxuIiwgKGludClzdHJsZW4oYnVmKSwgKGludClidWZsZW4pOwotI2VuZGlmCi0gICAgaWYgKHN0cmxlbihidWYpICsgNSA+IGJ1ZmxlbikKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgc3RyY2F0KGJ1ZiwgZGVidWcgPyAiLnB5YyIgOiAiLnB5byIpOwotICAgIGFzc2VydChzdHJsZW4oYnVmKSA8IGJ1Zmxlbik7Ci0gICAgcmV0dXJuIGJ1ZjsKKyAgICBraW5kID0gUHlVbmljb2RlX0tJTkQocmVzdWx0KTsKKyAgICBkYXRhID0gUHlVbmljb2RlX0RBVEEocmVzdWx0KTsKKyAgICBQeVVuaWNvZGVfQ29weUNoYXJhY3RlcnMocmVzdWx0LCAwLCBwYXRoc3RyLCAwLCBmbmFtZSk7CisgICAgcG9zID0gZm5hbWU7CisgICAgZm9yIChpID0gMDsgaSA8IHB5Y2FjaGVfbGVuOyBpKyspCisgICAgICAgIFB5VW5pY29kZV9XUklURShraW5kLCBkYXRhLCBwb3MrKywgQ0FDSEVESVJbaV0pOworICAgIFB5VW5pY29kZV9XUklURShraW5kLCBkYXRhLCBwb3MrKywgbGFzdHNlcCk7CisgICAgUHlVbmljb2RlX0NvcHlDaGFyYWN0ZXJzKHJlc3VsdCwgcG9zLCBwYXRoc3RyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbmFtZSwgZXh0IC0gZm5hbWUpOworICAgIHBvcyArPSBleHQgLSBmbmFtZTsKKyAgICBmb3IgKGkgPSAwOyBweWNfdGFnW2ldOyBpKyspCisgICAgICAgIFB5VW5pY29kZV9XUklURShraW5kLCBkYXRhLCBwb3MrKywgcHljX3RhZ1tpXSk7CisgICAgUHlVbmljb2RlX1dSSVRFKGtpbmQsIGRhdGEsIHBvcysrLCAnLicpOworICAgIFB5VW5pY29kZV9XUklURShraW5kLCBkYXRhLCBwb3MrKywgJ3AnKTsKKyAgICBQeVVuaWNvZGVfV1JJVEUoa2luZCwgZGF0YSwgcG9zKyssICd5Jyk7CisgICAgUHlVbmljb2RlX1dSSVRFKGtpbmQsIGRhdGEsIHBvcysrLCBkZWJ1ZyA/ICdjJyA6ICdvJyk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAogCkBAIC05NjcsNDIgKzk5OCw1MiBAQAogICAgc291cmNlIGZpbGUsIGlmIHRoZSBwYXRoIG1hdGNoZXMgdGhlIFBFUCAzMTQ3IGZvcm1hdC4gIFRoaXMgZG9lcyBub3QgY2hlY2sKICAgIGZvciBhbnkgZmlsZSBleGlzdGVuY2UsIGhvd2V2ZXIsIGlmIHRoZSBweWMgZmlsZSBuYW1lIGRvZXMgbm90IG1hdGNoIFBFUAogICAgMzE0NyBzdHlsZSwgTlVMTCBpcyByZXR1cm5lZC4gIGJ1ZiBtdXN0IGJlIGF0IGxlYXN0IGFzIGJpZyBhcyBwYXRobmFtZTsKLSAgIHRoZSByZXN1bHRpbmcgcGF0aCB3aWxsIGFsd2F5cyBiZSBzaG9ydGVyLiAqLworICAgdGhlIHJlc3VsdGluZyBwYXRoIHdpbGwgYWx3YXlzIGJlIHNob3J0ZXIuCiAKLXN0YXRpYyBjaGFyICoKLW1ha2Vfc291cmNlX3BhdGhuYW1lKGNoYXIgKnBhdGhuYW1lLCBjaGFyICpidWYpCisgICAoLi4uKS9fX3B5Y2FjaGVfXy9mb28uPHRhZz4ucHljIC0+ICguLi4pL2Zvby5weSAqLworCitzdGF0aWMgUHlPYmplY3QqCittYWtlX3NvdXJjZV9wYXRobmFtZShQeU9iamVjdCAqcGF0aCkKIHsKLSAgICAvKiBfX3B5Y2FjaGVfXy9mb28uPHRhZz4ucHljIC0+IGZvby5weSAqLwotICAgIHNpemVfdCBpLCBqOwotICAgIGNoYXIgKmxlZnQsICpyaWdodCwgKmRvdDAsICpkb3QxLCBzZXA7CisgICAgUHlfc3NpemVfdCBsZWZ0LCByaWdodCwgZG90MCwgZG90MSwgbGVuOworICAgIFB5X3NzaXplX3QgaSwgajsKKyAgICBQeU9iamVjdCAqcmVzdWx0OworICAgIGludCBraW5kOworICAgIHZvaWQgKmRhdGE7CisKKyAgICBsZW4gPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChwYXRoKTsKKyAgICBpZiAobGVuID4gTUFYUEFUSExFTikKKyAgICAgICAgcmV0dXJuIE5VTEw7CiAKICAgICAvKiBMb29rIGJhY2sgdHdvIHNsYXNoZXMgZnJvbSB0aGUgZW5kLiAgSW4gYmV0d2VlbiB0aGVzZSB0d28gc2xhc2hlcwogICAgICAgIG11c3QgYmUgdGhlIHN0cmluZyBfX3B5Y2FjaGVfXyBvciB0aGlzIGlzIG5vdCBhIFBFUCAzMTQ3IHN0eWxlCiAgICAgICAgcGF0aC4gIEl0J3MgcG9zc2libGUgZm9yIHRoZXJlIHRvIGJlIG9ubHkgb25lIHNsYXNoLgogICAgICovCi0gICAgaWYgKChyaWdodCA9IHJpZ2h0bW9zdF9zZXAocGF0aG5hbWUpKSA9PSBOVUxMKQorICAgIHJpZ2h0ID0gcmlnaHRtb3N0X3NlcF9vYmoocGF0aCwgMCwgbGVuKTsKKyAgICBpZiAocmlnaHQgPT0gLTEpCiAgICAgICAgIHJldHVybiBOVUxMOwotICAgIHNlcCA9ICpyaWdodDsKLSAgICAqcmlnaHQgPSAnXDAnOwotICAgIGxlZnQgPSByaWdodG1vc3Rfc2VwKHBhdGhuYW1lKTsKLSAgICAqcmlnaHQgPSBzZXA7Ci0gICAgaWYgKGxlZnQgPT0gTlVMTCkKLSAgICAgICAgbGVmdCA9IHBhdGhuYW1lOworICAgIGxlZnQgPSByaWdodG1vc3Rfc2VwX29iaihwYXRoLCAwLCByaWdodCk7CisgICAgaWYgKGxlZnQgPT0gLTEpCisgICAgICAgIGxlZnQgPSAwOwogICAgIGVsc2UKICAgICAgICAgbGVmdCsrOwotICAgIGlmIChyaWdodC1sZWZ0ICE9IHN0cmxlbihDQUNIRURJUikgfHwKLSAgICAgICAgc3RybmNtcChsZWZ0LCBDQUNIRURJUiwgcmlnaHQtbGVmdCkgIT0gMCkKKyAgICBpZiAocmlnaHQtbGVmdCAhPSAgc2l6ZW9mKENBQ0hFRElSKS0xKQogICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBmb3IgKGkgPSAwOyBpIDwgc2l6ZW9mKENBQ0hFRElSKS0xOyBpKyspCisgICAgICAgIGlmIChQeVVuaWNvZGVfUkVBRF9DSEFSKHBhdGgsIGxlZnQraSkgIT0gQ0FDSEVESVJbaV0pCisgICAgICAgICAgICByZXR1cm4gTlVMTDsKIAogICAgIC8qIE5vdyB2ZXJpZnkgdGhhdCB0aGUgcGF0aCBjb21wb25lbnQgdG8gdGhlIHJpZ2h0IG9mIHRoZSBsYXN0IHNsYXNoCiAgICAgICAgaGFzIHR3byBkb3RzIGluIGl0LgogICAgICovCi0gICAgaWYgKChkb3QwID0gc3RyY2hyKHJpZ2h0ICsgMSwgJy4nKSkgPT0gTlVMTCkKKyAgICBkb3QwID0gUHlVbmljb2RlX0ZpbmRDaGFyKHBhdGgsICcuJywgcmlnaHQrMSwgbGVuLCAxKTsKKyAgICBpZiAoZG90MCA8IDApCiAgICAgICAgIHJldHVybiBOVUxMOwotICAgIGlmICgoZG90MSA9IHN0cmNocihkb3QwICsgMSwgJy4nKSkgPT0gTlVMTCkKKyAgICBkb3QxID0gUHlVbmljb2RlX0ZpbmRDaGFyKHBhdGgsICcuJywgZG90MCsxLCBsZW4sIDEpOworICAgIGlmIChkb3QxIDwgMCkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgLyogVG9vIG1hbnkgZG90cz8gKi8KLSAgICBpZiAoc3RyY2hyKGRvdDEgKyAxLCAnLicpICE9IE5VTEwpCisgICAgaWYgKFB5VW5pY29kZV9GaW5kQ2hhcihwYXRoLCAnLicsIGRvdDErMSwgbGVuLCAxKSAhPSAtMSkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKICAgICAvKiBUaGlzIGlzIGEgUEVQIDMxNDcgcGF0aC4gIFN0YXJ0IGJ5IGNvcHlpbmcgZXZlcnl0aGluZyBmcm9tIHRoZQpAQCAtMTAxMCwxMCArMTA1MSwxOCBAQAogICAgICAgIGNvcHkgdGhlIGZpbGUncyBiYXNlbmFtZSwgcmVtb3ZpbmcgdGhlIG1hZ2ljIHRhZyBhbmQgYWRkaW5nIGEgLnB5CiAgICAgICAgc3VmZml4LgogICAgICovCi0gICAgc3RybmNweShidWYsIHBhdGhuYW1lLCAoaT1sZWZ0LXBhdGhuYW1lKSk7Ci0gICAgc3RybmNweShidWYraSwgcmlnaHQrMSwgKGo9ZG90MC1yaWdodCkpOwotICAgIHN0cmNweShidWYraStqLCAicHkiKTsKLSAgICByZXR1cm4gYnVmOworICAgIHJlc3VsdCA9IFB5VW5pY29kZV9OZXcobGVmdCArIChkb3QwLXJpZ2h0KSArIDIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfTUFYX0NIQVJfVkFMVUUocGF0aCkpOworICAgIGlmICghcmVzdWx0KQorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBraW5kID0gUHlVbmljb2RlX0tJTkQocmVzdWx0KTsKKyAgICBkYXRhID0gUHlVbmljb2RlX0RBVEEocmVzdWx0KTsKKyAgICBQeVVuaWNvZGVfQ29weUNoYXJhY3RlcnMocmVzdWx0LCAwLCBwYXRoLCAwLCAoaSA9IGxlZnQpKTsKKyAgICBQeVVuaWNvZGVfQ29weUNoYXJhY3RlcnMocmVzdWx0LCBsZWZ0LCBwYXRoLCByaWdodCsxLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaiA9IGRvdDAtcmlnaHQpKTsKKyAgICBQeVVuaWNvZGVfV1JJVEUoa2luZCwgZGF0YSwgaStqLCAgICdwJyk7CisgICAgUHlVbmljb2RlX1dSSVRFKGtpbmQsIGRhdGEsIGkraisxLCAneScpOworICAgIHJldHVybiByZXN1bHQ7CiB9CiAKIC8qIEdpdmVuIGEgcGF0aG5hbWUgZm9yIGEgUHl0aG9uIHNvdXJjZSBmaWxlLCBpdHMgdGltZSBvZiBsYXN0CkBAIC0xMDI0LDMxICsxMDczLDM5IEBACiAgICBEb2Vzbid0IHNldCBhbiBleGNlcHRpb24uICovCiAKIHN0YXRpYyBGSUxFICoKLWNoZWNrX2NvbXBpbGVkX21vZHVsZShjaGFyICpwYXRobmFtZSwgdGltZV90IG10aW1lLCBjaGFyICpjcGF0aG5hbWUpCitjaGVja19jb21waWxlZF9tb2R1bGUoUHlPYmplY3QgKnBhdGhuYW1lLCBzdHJ1Y3Qgc3RhdCAqc3Jjc3RhdCwgUHlPYmplY3QgKmNwYXRobmFtZSkKIHsKICAgICBGSUxFICpmcDsKICAgICBsb25nIG1hZ2ljOwogICAgIGxvbmcgcHljX210aW1lOworICAgIGxvbmcgcHljX3NpemU7CiAKLSAgICBmcCA9IGZvcGVuKGNwYXRobmFtZSwgInJiIik7CisgICAgZnAgPSBfUHlfZm9wZW4oY3BhdGhuYW1lLCAicmIiKTsKICAgICBpZiAoZnAgPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgbWFnaWMgPSBQeU1hcnNoYWxfUmVhZExvbmdGcm9tRmlsZShmcCk7CiAgICAgaWYgKG1hZ2ljICE9IHB5Y19tYWdpYykgewogICAgICAgICBpZiAoUHlfVmVyYm9zZUZsYWcpCi0gICAgICAgICAgICBQeVN5c19Xcml0ZVN0ZGVycigiIyAlcyBoYXMgYmFkIG1hZ2ljXG4iLCBjcGF0aG5hbWUpOworICAgICAgICAgICAgUHlTeXNfRm9ybWF0U3RkZXJyKCIjICVSIGhhcyBiYWQgbWFnaWNcbiIsIGNwYXRobmFtZSk7CiAgICAgICAgIGZjbG9zZShmcCk7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KICAgICBweWNfbXRpbWUgPSBQeU1hcnNoYWxfUmVhZExvbmdGcm9tRmlsZShmcCk7Ci0gICAgaWYgKHB5Y19tdGltZSAhPSBtdGltZSkgeworICAgIGlmIChweWNfbXRpbWUgIT0gc3Jjc3RhdC0+c3RfbXRpbWUpIHsKICAgICAgICAgaWYgKFB5X1ZlcmJvc2VGbGFnKQotICAgICAgICAgICAgUHlTeXNfV3JpdGVTdGRlcnIoIiMgJXMgaGFzIGJhZCBtdGltZVxuIiwgY3BhdGhuYW1lKTsKKyAgICAgICAgICAgIFB5U3lzX0Zvcm1hdFN0ZGVycigiIyAlUiBoYXMgYmFkIG10aW1lXG4iLCBjcGF0aG5hbWUpOworICAgICAgICBmY2xvc2UoZnApOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisgICAgcHljX3NpemUgPSBQeU1hcnNoYWxfUmVhZExvbmdGcm9tRmlsZShmcCk7CisgICAgaWYgKHB5Y19zaXplICE9IChzcmNzdGF0LT5zdF9zaXplICYgMHhGRkZGRkZGRikpIHsKKyAgICAgICAgaWYgKFB5X1ZlcmJvc2VGbGFnKQorICAgICAgICAgICAgUHlTeXNfRm9ybWF0U3RkZXJyKCIjICVSIGhhcyBiYWQgc2l6ZVxuIiwgY3BhdGhuYW1lKTsKICAgICAgICAgZmNsb3NlKGZwKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogICAgIGlmIChQeV9WZXJib3NlRmxhZykKLSAgICAgICAgUHlTeXNfV3JpdGVTdGRlcnIoIiMgJXMgbWF0Y2hlcyAlc1xuIiwgY3BhdGhuYW1lLCBwYXRobmFtZSk7CisgICAgICAgIFB5U3lzX0Zvcm1hdFN0ZGVycigiIyAlUiBtYXRjaGVzICVSXG4iLCBjcGF0aG5hbWUsIHBhdGhuYW1lKTsKICAgICByZXR1cm4gZnA7CiB9CiAKQEAgLTEwNTYsNyArMTExMyw3IEBACiAvKiBSZWFkIGEgY29kZSBvYmplY3QgZnJvbSBhIGZpbGUgYW5kIGNoZWNrIGl0IGZvciB2YWxpZGl0eSAqLwogCiBzdGF0aWMgUHlDb2RlT2JqZWN0ICoKLXJlYWRfY29tcGlsZWRfbW9kdWxlKGNoYXIgKmNwYXRobmFtZSwgRklMRSAqZnApCityZWFkX2NvbXBpbGVkX21vZHVsZShQeU9iamVjdCAqY3BhdGhuYW1lLCBGSUxFICpmcCkKIHsKICAgICBQeU9iamVjdCAqY287CiAKQEAgLTEwNjUsNyArMTEyMiw3IEBACiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIGlmICghUHlDb2RlX0NoZWNrKGNvKSkgewogICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfSW1wb3J0RXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAiTm9uLWNvZGUgb2JqZWN0IGluICUuMjAwcyIsIGNwYXRobmFtZSk7CisgICAgICAgICAgICAgICAgICAgICAiTm9uLWNvZGUgb2JqZWN0IGluICVSIiwgY3BhdGhuYW1lKTsKICAgICAgICAgUHlfREVDUkVGKGNvKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQpAQCAtMTA3Nyw3ICsxMTM0LDcgQEAKICAgIG1vZHVsZSBvYmplY3QgV0lUSCBJTkNSRU1FTlRFRCBSRUZFUkVOQ0UgQ09VTlQgKi8KIAogc3RhdGljIFB5T2JqZWN0ICoKLWxvYWRfY29tcGlsZWRfbW9kdWxlKGNoYXIgKm5hbWUsIGNoYXIgKmNwYXRobmFtZSwgRklMRSAqZnApCitsb2FkX2NvbXBpbGVkX21vZHVsZShQeU9iamVjdCAqbmFtZSwgUHlPYmplY3QgKmNwYXRobmFtZSwgRklMRSAqZnApCiB7CiAgICAgbG9uZyBtYWdpYzsKICAgICBQeUNvZGVPYmplY3QgKmNvOwpAQCAtMTA4NiwxOCArMTE0MywyMCBAQAogICAgIG1hZ2ljID0gUHlNYXJzaGFsX1JlYWRMb25nRnJvbUZpbGUoZnApOwogICAgIGlmIChtYWdpYyAhPSBweWNfbWFnaWMpIHsKICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX0ltcG9ydEVycm9yLAotICAgICAgICAgICAgICAgICAgICAgIkJhZCBtYWdpYyBudW1iZXIgaW4gJS4yMDBzIiwgY3BhdGhuYW1lKTsKKyAgICAgICAgICAgICAgICAgICAgICJCYWQgbWFnaWMgbnVtYmVyIGluICVSIiwgY3BhdGhuYW1lKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQorICAgIC8qIFNraXAgbXRpbWUgYW5kIHNpemUgKi8KKyAgICAodm9pZCkgUHlNYXJzaGFsX1JlYWRMb25nRnJvbUZpbGUoZnApOwogICAgICh2b2lkKSBQeU1hcnNoYWxfUmVhZExvbmdGcm9tRmlsZShmcCk7CiAgICAgY28gPSByZWFkX2NvbXBpbGVkX21vZHVsZShjcGF0aG5hbWUsIGZwKTsKICAgICBpZiAoY28gPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgaWYgKFB5X1ZlcmJvc2VGbGFnKQotICAgICAgICBQeVN5c19Xcml0ZVN0ZGVycigiaW1wb3J0ICVzICMgcHJlY29tcGlsZWQgZnJvbSAlc1xuIiwKLSAgICAgICAgICAgIG5hbWUsIGNwYXRobmFtZSk7Ci0gICAgbSA9IFB5SW1wb3J0X0V4ZWNDb2RlTW9kdWxlV2l0aFBhdGhuYW1lcygKLSAgICAgICAgbmFtZSwgKFB5T2JqZWN0ICopY28sIGNwYXRobmFtZSwgY3BhdGhuYW1lKTsKKyAgICAgICAgUHlTeXNfRm9ybWF0U3RkZXJyKCJpbXBvcnQgJVUgIyBwcmVjb21waWxlZCBmcm9tICVSXG4iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZSwgY3BhdGhuYW1lKTsKKyAgICBtID0gUHlJbXBvcnRfRXhlY0NvZGVNb2R1bGVPYmplY3QobmFtZSwgKFB5T2JqZWN0ICopY28sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNwYXRobmFtZSwgY3BhdGhuYW1lKTsKICAgICBQeV9ERUNSRUYoY28pOwogCiAgICAgcmV0dXJuIG07CkBAIC0xMTA2LDEzNCArMTE2NSwyMzMgQEAKIC8qIFBhcnNlIGEgc291cmNlIGZpbGUgYW5kIHJldHVybiB0aGUgY29ycmVzcG9uZGluZyBjb2RlIG9iamVjdCAqLwogCiBzdGF0aWMgUHlDb2RlT2JqZWN0ICoKLXBhcnNlX3NvdXJjZV9tb2R1bGUoY29uc3QgY2hhciAqcGF0aG5hbWUsIEZJTEUgKmZwKQorcGFyc2Vfc291cmNlX21vZHVsZShQeU9iamVjdCAqcGF0aG5hbWUsIEZJTEUgKmZwKQogewotICAgIFB5Q29kZU9iamVjdCAqY28gPSBOVUxMOworICAgIFB5Q29kZU9iamVjdCAqY287CisgICAgUHlPYmplY3QgKnBhdGhieXRlczsKICAgICBtb2RfdHkgbW9kOwogICAgIFB5Q29tcGlsZXJGbGFncyBmbGFnczsKLSAgICBQeUFyZW5hICphcmVuYSA9IFB5QXJlbmFfTmV3KCk7Ci0gICAgaWYgKGFyZW5hID09IE5VTEwpCisgICAgUHlBcmVuYSAqYXJlbmE7CisKKyAgICBwYXRoYnl0ZXMgPSBQeVVuaWNvZGVfRW5jb2RlRlNEZWZhdWx0KHBhdGhuYW1lKTsKKyAgICBpZiAocGF0aGJ5dGVzID09IE5VTEwpCiAgICAgICAgIHJldHVybiBOVUxMOwogCisgICAgYXJlbmEgPSBQeUFyZW5hX05ldygpOworICAgIGlmIChhcmVuYSA9PSBOVUxMKSB7CisgICAgICAgIFB5X0RFQ1JFRihwYXRoYnl0ZXMpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisKICAgICBmbGFncy5jZl9mbGFncyA9IDA7Ci0gICAgbW9kID0gUHlQYXJzZXJfQVNURnJvbUZpbGUoZnAsIHBhdGhuYW1lLCBOVUxMLAorICAgIG1vZCA9IFB5UGFyc2VyX0FTVEZyb21GaWxlKGZwLCBQeUJ5dGVzX0FTX1NUUklORyhwYXRoYnl0ZXMpLCBOVUxMLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5X2ZpbGVfaW5wdXQsIDAsIDAsICZmbGFncywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCBhcmVuYSk7Ci0gICAgaWYgKG1vZCkgewotICAgICAgICBjbyA9IFB5QVNUX0NvbXBpbGUobW9kLCBwYXRobmFtZSwgTlVMTCwgYXJlbmEpOwotICAgIH0KKyAgICBpZiAobW9kICE9IE5VTEwpCisgICAgICAgIGNvID0gUHlBU1RfQ29tcGlsZShtb2QsIFB5Qnl0ZXNfQVNfU1RSSU5HKHBhdGhieXRlcyksIE5VTEwsIGFyZW5hKTsKKyAgICBlbHNlCisgICAgICAgIGNvID0gTlVMTDsKKyAgICBQeV9ERUNSRUYocGF0aGJ5dGVzKTsKICAgICBQeUFyZW5hX0ZyZWUoYXJlbmEpOwogICAgIHJldHVybiBjbzsKIH0KIAotCi0vKiBIZWxwZXIgdG8gb3BlbiBhIGJ5dGVjb2RlIGZpbGUgZm9yIHdyaXRpbmcgaW4gZXhjbHVzaXZlIG1vZGUgKi8KLQotc3RhdGljIEZJTEUgKgotb3Blbl9leGNsdXNpdmUoY2hhciAqZmlsZW5hbWUsIG1vZGVfdCBtb2RlKQotewotI2lmIGRlZmluZWQoT19FWENMKSYmZGVmaW5lZChPX0NSRUFUKSYmZGVmaW5lZChPX1dST05MWSkmJmRlZmluZWQoT19UUlVOQykKLSAgICAvKiBVc2UgT19FWENMIHRvIGF2b2lkIGEgcmFjZSBjb25kaXRpb24gd2hlbiBhbm90aGVyIHByb2Nlc3MgdHJpZXMgdG8KLSAgICAgICB3cml0ZSB0aGUgc2FtZSBmaWxlLiAgV2hlbiB0aGF0IGhhcHBlbnMsIG91ciBvcGVuKCkgY2FsbCBmYWlscywKLSAgICAgICB3aGljaCBpcyBqdXN0IGZpbmUgKHNpbmNlIGl0J3Mgb25seSBhIGNhY2hlKS4KLSAgICAgICBYWFggSWYgdGhlIGZpbGUgZXhpc3RzIGFuZCBpcyB3cml0YWJsZSBidXQgdGhlIGRpcmVjdG9yeSBpcyBub3QKLSAgICAgICB3cml0YWJsZSwgdGhlIGZpbGUgd2lsbCBuZXZlciBiZSB3cml0dGVuLiAgT2ggd2VsbC4KLSAgICAqLwotICAgIGludCBmZDsKLSAgICAodm9pZCkgdW5saW5rKGZpbGVuYW1lKTsKLSAgICBmZCA9IG9wZW4oZmlsZW5hbWUsIE9fRVhDTHxPX0NSRUFUfE9fV1JPTkxZfE9fVFJVTkMKLSNpZmRlZiBPX0JJTkFSWQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxPX0JJTkFSWSAgIC8qIG5lY2Vzc2FyeSBmb3IgV2luZG93cyAqLwotI2VuZGlmCi0jaWZkZWYgX19WTVMKLSAgICAgICAgICAgICwgbW9kZSwgImN0eHQ9YmluIiwgInNocj1uaWwiCi0jZWxzZQotICAgICAgICAgICAgLCBtb2RlCi0jZW5kaWYKLSAgICAgICAgICApOwotICAgIGlmIChmZCA8IDApCi0gICAgICAgIHJldHVybiBOVUxMOwotICAgIHJldHVybiBmZG9wZW4oZmQsICJ3YiIpOwotI2Vsc2UKLSAgICAvKiBCZXN0IHdlIGNhbiBkbyAtLSBvbiBXaW5kb3dzIHRoaXMgY2FuJ3QgaGFwcGVuIGFueXdheSAqLwotICAgIHJldHVybiBmb3BlbihmaWxlbmFtZSwgIndiIik7Ci0jZW5kaWYKLX0KLQotCiAvKiBXcml0ZSBhIGNvbXBpbGVkIG1vZHVsZSB0byBhIGZpbGUsIHBsYWNpbmcgdGhlIHRpbWUgb2YgbGFzdAogICAgbW9kaWZpY2F0aW9uIG9mIGl0cyBzb3VyY2UgaW50byB0aGUgaGVhZGVyLgogICAgRXJyb3JzIGFyZSBpZ25vcmVkLCBpZiBhIHdyaXRlIGVycm9yIG9jY3VycyBhbiBhdHRlbXB0IGlzIG1hZGUgdG8KICAgIHJlbW92ZSB0aGUgZmlsZS4gKi8KIAogc3RhdGljIHZvaWQKLXdyaXRlX2NvbXBpbGVkX21vZHVsZShQeUNvZGVPYmplY3QgKmNvLCBjaGFyICpjcGF0aG5hbWUsIHN0cnVjdCBzdGF0ICpzcmNzdGF0KQord3JpdGVfY29tcGlsZWRfbW9kdWxlKFB5Q29kZU9iamVjdCAqY28sIFB5T2JqZWN0ICpjcGF0aG5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHN0YXQgKnNyY3N0YXQpCiB7CisgICAgUHlfVUNTNCAqY3BhdGhuYW1lX3VjczQ7CiAgICAgRklMRSAqZnA7Ci0gICAgY2hhciAqZGlycGF0aDsKICAgICB0aW1lX3QgbXRpbWUgPSBzcmNzdGF0LT5zdF9tdGltZTsKKyAgICBsb25nIHNpemUgPSBzcmNzdGF0LT5zdF9zaXplICYgMHhGRkZGRkZGRjsKKyAgICBQeU9iamVjdCAqY3BhdGhuYW1lX3RtcDsKICNpZmRlZiBNU19XSU5ET1dTICAgLyogc2luY2UgV2luZG93cyB1c2VzIGRpZmZlcmVudCBwZXJtaXNzaW9ucyAgKi8KICAgICBtb2RlX3QgbW9kZSA9IHNyY3N0YXQtPnN0X21vZGUgJiB+U19JRVhFQzsKKyAgICB3Y2hhcl90ICp3ZGlybmFtZSwgKndwYXRobmFtZSwgKndwYXRobmFtZV90bXA7CiAjZWxzZQotICAgIG1vZGVfdCBtb2RlID0gc3Jjc3RhdC0+c3RfbW9kZSAmIH5TX0lYVVNSICYgflNfSVhHUlAgJiB+U19JWE9USDsKICAgICBtb2RlX3QgZGlybW9kZSA9IChzcmNzdGF0LT5zdF9tb2RlIHwKICAgICAgICAgICAgICAgICAgICAgICBTX0lYVVNSIHwgU19JWEdSUCB8IFNfSVhPVEggfAogICAgICAgICAgICAgICAgICAgICAgIFNfSVdVU1IgfCBTX0lXR1JQIHwgU19JV09USCk7CisgICAgUHlPYmplY3QgKmRpcmJ5dGVzOworICAgIFB5T2JqZWN0ICpjcGF0aGJ5dGVzLCAqY3BhdGhieXRlc190bXA7CiAjZW5kaWYKLSAgICBpbnQgc2F2ZWQ7CisgICAgaW50IGZkOworICAgIFB5T2JqZWN0ICpkaXJuYW1lOworICAgIFB5X1VDUzQgKmRpcnNlcDsKKyAgICBpbnQgcmVzLCBvazsKIAogICAgIC8qIEVuc3VyZSB0aGF0IHRoZSBfX3B5Y2FjaGVfXyBkaXJlY3RvcnkgZXhpc3RzLiAqLwotICAgIGRpcnBhdGggPSByaWdodG1vc3Rfc2VwKGNwYXRobmFtZSk7Ci0gICAgaWYgKGRpcnBhdGggPT0gTlVMTCkgeworICAgIGNwYXRobmFtZV91Y3M0ID0gUHlVbmljb2RlX0FzVUNTNENvcHkoY3BhdGhuYW1lKTsKKyAgICBpZiAoIWNwYXRobmFtZV91Y3M0KQorICAgICAgICByZXR1cm47CisgICAgZGlyc2VwID0gcmlnaHRtb3N0X3NlcChjcGF0aG5hbWVfdWNzNCk7CisgICAgaWYgKGRpcnNlcCA9PSBOVUxMKSB7CiAgICAgICAgIGlmIChQeV9WZXJib3NlRmxhZykKLSAgICAgICAgICAgIFB5U3lzX1dyaXRlU3RkZXJyKAotICAgICAgICAgICAgICAgICIjIG5vICVzIHBhdGggZm91bmQgJXNcbiIsCi0gICAgICAgICAgICAgICAgQ0FDSEVESVIsIGNwYXRobmFtZSk7CisgICAgICAgICAgICBQeVN5c19Gb3JtYXRTdGRlcnIoIiMgbm8gJXMgcGF0aCBmb3VuZCAlUlxuIiwgQ0FDSEVESVIsIGNwYXRobmFtZSk7CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0gICAgc2F2ZWQgPSAqZGlycGF0aDsKLSAgICAqZGlycGF0aCA9ICdcMCc7CisgICAgZGlybmFtZSA9IFB5VW5pY29kZV9Gcm9tS2luZEFuZERhdGEoUHlVbmljb2RlXzRCWVRFX0tJTkQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3BhdGhuYW1lX3VjczQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlyc2VwIC0gY3BhdGhuYW1lX3VjczQpOworICAgIFB5TWVtX0ZyZWUoY3BhdGhuYW1lX3VjczQpOworICAgIGlmIChkaXJuYW1lID09IE5VTEwpIHsKKyAgICAgICAgUHlFcnJfQ2xlYXIoKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KIAogI2lmZGVmIE1TX1dJTkRPV1MKLSAgICBpZiAoX21rZGlyKGNwYXRobmFtZSkgPCAwICYmIGVycm5vICE9IEVFWElTVCkgewotI2Vsc2UKLSAgICBpZiAobWtkaXIoY3BhdGhuYW1lLCBkaXJtb2RlKSA8IDAgJiYgZXJybm8gIT0gRUVYSVNUKSB7Ci0jZW5kaWYKLSAgICAgICAgKmRpcnBhdGggPSBzYXZlZDsKLSAgICAgICAgaWYgKFB5X1ZlcmJvc2VGbGFnKQotICAgICAgICAgICAgUHlTeXNfV3JpdGVTdGRlcnIoCi0gICAgICAgICAgICAgICAgIiMgY2Fubm90IGNyZWF0ZSBjYWNoZSBkaXIgJXNcbiIsIGNwYXRobmFtZSk7CisgICAgd2Rpcm5hbWUgPSBQeVVuaWNvZGVfQXNVbmljb2RlKGRpcm5hbWUpOworICAgIGlmICh3ZGlybmFtZSA9PSBOVUxMKSB7CisgICAgICAgIFB5RXJyX0NsZWFyKCk7CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0gICAgKmRpcnBhdGggPSBzYXZlZDsKKyAgICByZXMgPSBDcmVhdGVEaXJlY3RvcnlXKHdkaXJuYW1lLCBOVUxMKTsKKyAgICBvayA9IChyZXMgIT0gMCk7CisgICAgaWYgKCFvayAmJiBHZXRMYXN0RXJyb3IoKSA9PSBFUlJPUl9BTFJFQURZX0VYSVNUUykKKyAgICAgICAgb2sgPSAxOworI2Vsc2UKKyAgICBkaXJieXRlcyA9IFB5VW5pY29kZV9FbmNvZGVGU0RlZmF1bHQoZGlybmFtZSk7CisgICAgaWYgKGRpcmJ5dGVzID09IE5VTEwpIHsKKyAgICAgICAgUHlFcnJfQ2xlYXIoKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICByZXMgPSBta2RpcihQeUJ5dGVzX0FTX1NUUklORyhkaXJieXRlcyksIGRpcm1vZGUpOworICAgIFB5X0RFQ1JFRihkaXJieXRlcyk7CisgICAgaWYgKDAgPD0gcmVzKQorICAgICAgICBvayA9IDE7CisgICAgZWxzZQorICAgICAgICBvayA9IChlcnJubyA9PSBFRVhJU1QpOworI2VuZGlmCisgICAgaWYgKCFvaykgeworICAgICAgICBpZiAoUHlfVmVyYm9zZUZsYWcpCisgICAgICAgICAgICBQeVN5c19Gb3JtYXRTdGRlcnIoIiMgY2Fubm90IGNyZWF0ZSBjYWNoZSBkaXIgJVJcbiIsIGRpcm5hbWUpOworICAgICAgICBQeV9ERUNSRUYoZGlybmFtZSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgUHlfREVDUkVGKGRpcm5hbWUpOwogCi0gICAgZnAgPSBvcGVuX2V4Y2x1c2l2ZShjcGF0aG5hbWUsIG1vZGUpOworICAgIC8qIFdlIGZpcnN0IHdyaXRlIHRvIGEgdG1wIGZpbGUgYW5kIHRoZW4gdGFrZSBhZHZhbnRhZ2UKKyAgICAgICBvZiBhdG9taWMgcmVuYW1pbmcgKHdoaWNoICpzaG91bGQqIGJlIHRydWUgZXZlbiB1bmRlciBXaW5kb3dzKS4KKyAgICAgICBBcyBpbiBpbXBvcnRsaWIsIHdlIHVzZSBpZChzb21ldGhpbmcpIHRvIGdlbmVyYXRlIGEgcHNldWRvLXJhbmRvbQorICAgICAgIGZpbGVuYW1lLiAgbWtzdGVtcCgpIGNhbid0IGJlIHVzZWQgc2luY2UgaXQgZG9lc24ndCBhbGxvdyBzcGVjaWZ5aW5nCisgICAgICAgdGhlIGZpbGUgYWNjZXNzIHBlcm1pc3Npb25zLgorICAgICovCisgICAgY3BhdGhuYW1lX3RtcCA9IFB5VW5pY29kZV9Gcm9tRm9ybWF0KCIlVS4lemQiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjcGF0aG5hbWUsIChQeV9zc2l6ZV90KSBjbyk7CisgICAgaWYgKGNwYXRobmFtZV90bXAgPT0gTlVMTCkgeworICAgICAgICBQeUVycl9DbGVhcigpOworICAgICAgICByZXR1cm47CisgICAgfQorI2lmZGVmIE1TX1dJTkRPV1MKKyAgICB3cGF0aG5hbWUgPSBQeVVuaWNvZGVfQXNVbmljb2RlKGNwYXRobmFtZSk7CisgICAgaWYgKHdwYXRobmFtZSA9PSBOVUxMKSB7CisgICAgICAgIFB5RXJyX0NsZWFyKCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgd3BhdGhuYW1lX3RtcCA9IFB5VW5pY29kZV9Bc1VuaWNvZGUoY3BhdGhuYW1lX3RtcCk7CisgICAgaWYgKHdwYXRobmFtZV90bXAgPT0gTlVMTCkgeworICAgICAgICBQeUVycl9DbGVhcigpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgKHZvaWQpRGVsZXRlRmlsZVcod3BhdGhuYW1lX3RtcCk7CisgICAgZmQgPSBfd29wZW4od3BhdGhuYW1lX3RtcCwKKyAgICAgICAgICAgICAgICBPX0VYQ0wgfCBPX0NSRUFUIHwgT19XUk9OTFkgfCBPX0JJTkFSWSwKKyAgICAgICAgICAgICAgICBtb2RlKTsKKyAgICBpZiAoMCA8PSBmZCkKKyAgICAgICAgZnAgPSBmZG9wZW4oZmQsICJ3YiIpOworICAgIGVsc2UKKyAgICAgICAgZnAgPSBOVUxMOworI2Vsc2UKKyAgICBjcGF0aGJ5dGVzX3RtcCA9IFB5VW5pY29kZV9FbmNvZGVGU0RlZmF1bHQoY3BhdGhuYW1lX3RtcCk7CisgICAgUHlfREVDUkVGKGNwYXRobmFtZV90bXApOworICAgIGlmIChjcGF0aGJ5dGVzX3RtcCA9PSBOVUxMKSB7CisgICAgICAgIFB5RXJyX0NsZWFyKCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgY3BhdGhieXRlcyA9IFB5VW5pY29kZV9FbmNvZGVGU0RlZmF1bHQoY3BhdGhuYW1lKTsKKyAgICBpZiAoY3BhdGhieXRlcyA9PSBOVUxMKSB7CisgICAgICAgIFB5RXJyX0NsZWFyKCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgZmQgPSBvcGVuKFB5Qnl0ZXNfQVNfU1RSSU5HKGNwYXRoYnl0ZXNfdG1wKSwKKyAgICAgICAgICAgICAgT19DUkVBVCB8IE9fRVhDTCB8IE9fV1JPTkxZLCAwNjY2KTsKKyAgICBpZiAoMCA8PSBmZCkKKyAgICAgICAgZnAgPSBmZG9wZW4oZmQsICJ3YiIpOworICAgIGVsc2UKKyAgICAgICAgZnAgPSBOVUxMOworI2VuZGlmCiAgICAgaWYgKGZwID09IE5VTEwpIHsKICAgICAgICAgaWYgKFB5X1ZlcmJvc2VGbGFnKQotICAgICAgICAgICAgUHlTeXNfV3JpdGVTdGRlcnIoCi0gICAgICAgICAgICAgICAgIiMgY2FuJ3QgY3JlYXRlICVzXG4iLCBjcGF0aG5hbWUpOworICAgICAgICAgICAgUHlTeXNfRm9ybWF0U3RkZXJyKAorICAgICAgICAgICAgICAgICIjIGNhbid0IGNyZWF0ZSAlUlxuIiwgY3BhdGhuYW1lKTsKKyNpZmRlZiBNU19XSU5ET1dTCisgICAgICAgIFB5X0RFQ1JFRihjcGF0aG5hbWVfdG1wKTsKKyNlbHNlCisgICAgICAgIFB5X0RFQ1JFRihjcGF0aGJ5dGVzKTsKKyAgICAgICAgUHlfREVDUkVGKGNwYXRoYnl0ZXNfdG1wKTsKKyNlbmRpZgogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIFB5TWFyc2hhbF9Xcml0ZUxvbmdUb0ZpbGUocHljX21hZ2ljLCBmcCwgUHlfTUFSU0hBTF9WRVJTSU9OKTsKLSAgICAvKiBGaXJzdCB3cml0ZSBhIDAgZm9yIG10aW1lICovCisgICAgLyogRmlyc3Qgd3JpdGUgYSAwIGZvciBtdGltZSBhbmQgc2l6ZSAqLworICAgIFB5TWFyc2hhbF9Xcml0ZUxvbmdUb0ZpbGUoMEwsIGZwLCBQeV9NQVJTSEFMX1ZFUlNJT04pOwogICAgIFB5TWFyc2hhbF9Xcml0ZUxvbmdUb0ZpbGUoMEwsIGZwLCBQeV9NQVJTSEFMX1ZFUlNJT04pOwogICAgIFB5TWFyc2hhbF9Xcml0ZU9iamVjdFRvRmlsZSgoUHlPYmplY3QgKiljbywgZnAsIFB5X01BUlNIQUxfVkVSU0lPTik7Ci0gICAgaWYgKGZmbHVzaChmcCkgIT0gMCB8fCBmZXJyb3IoZnApKSB7Ci0gICAgICAgIGlmIChQeV9WZXJib3NlRmxhZykKLSAgICAgICAgICAgIFB5U3lzX1dyaXRlU3RkZXJyKCIjIGNhbid0IHdyaXRlICVzXG4iLCBjcGF0aG5hbWUpOwotICAgICAgICAvKiBEb24ndCBrZWVwIHBhcnRpYWwgZmlsZSAqLwotICAgICAgICBmY2xvc2UoZnApOwotICAgICAgICAodm9pZCkgdW5saW5rKGNwYXRobmFtZSk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0gICAgLyogTm93IHdyaXRlIHRoZSB0cnVlIG10aW1lIChhcyBhIDMyLWJpdCBmaWVsZCkgKi8KKyAgICBmZmx1c2goZnApOworICAgIC8qIE5vdyB3cml0ZSB0aGUgdHJ1ZSBtdGltZSBhbmQgc2l6ZSAoYXMgMzItYml0IGZpZWxkcykgKi8KICAgICBmc2VlayhmcCwgNEwsIDApOwogICAgIGFzc2VydChtdGltZSA8PSAweEZGRkZGRkZGKTsKICAgICBQeU1hcnNoYWxfV3JpdGVMb25nVG9GaWxlKChsb25nKW10aW1lLCBmcCwgUHlfTUFSU0hBTF9WRVJTSU9OKTsKLSAgICBmZmx1c2goZnApOworICAgIFB5TWFyc2hhbF9Xcml0ZUxvbmdUb0ZpbGUoc2l6ZSwgZnAsIFB5X01BUlNIQUxfVkVSU0lPTik7CisgICAgaWYgKGZmbHVzaChmcCkgIT0gMCB8fCBmZXJyb3IoZnApKSB7CisgICAgICAgIGlmIChQeV9WZXJib3NlRmxhZykKKyAgICAgICAgICAgIFB5U3lzX0Zvcm1hdFN0ZGVycigiIyBjYW4ndCB3cml0ZSAlUlxuIiwgY3BhdGhuYW1lKTsKKyAgICAgICAgLyogRG9uJ3Qga2VlcCBwYXJ0aWFsIGZpbGUgKi8KKyAgICAgICAgZmNsb3NlKGZwKTsKKyNpZmRlZiBNU19XSU5ET1dTCisgICAgICAgICh2b2lkKURlbGV0ZUZpbGVXKHdwYXRobmFtZV90bXApOworICAgICAgICBQeV9ERUNSRUYoY3BhdGhuYW1lX3RtcCk7CisjZWxzZQorICAgICAgICAodm9pZCkgdW5saW5rKFB5Qnl0ZXNfQVNfU1RSSU5HKGNwYXRoYnl0ZXNfdG1wKSk7CisgICAgICAgIFB5X0RFQ1JFRihjcGF0aGJ5dGVzKTsKKyAgICAgICAgUHlfREVDUkVGKGNwYXRoYnl0ZXNfdG1wKTsKKyNlbmRpZgorICAgICAgICByZXR1cm47CisgICAgfQogICAgIGZjbG9zZShmcCk7CisgICAgLyogRG8gYSAoaG9wZWZ1bGx5KSBhdG9taWMgcmVuYW1lICovCisjaWZkZWYgTVNfV0lORE9XUworICAgIGlmICghTW92ZUZpbGVFeFcod3BhdGhuYW1lX3RtcCwgd3BhdGhuYW1lLCBNT1ZFRklMRV9SRVBMQUNFX0VYSVNUSU5HKSkgeworICAgICAgICBpZiAoUHlfVmVyYm9zZUZsYWcpCisgICAgICAgICAgICBQeVN5c19Gb3JtYXRTdGRlcnIoIiMgY2FuJ3Qgd3JpdGUgJVJcbiIsIGNwYXRobmFtZSk7CisgICAgICAgIC8qIERvbid0IGtlZXAgdG1wIGZpbGUgKi8KKyAgICAgICAgKHZvaWQpIERlbGV0ZUZpbGVXKHdwYXRobmFtZV90bXApOworICAgICAgICBQeV9ERUNSRUYoY3BhdGhuYW1lX3RtcCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgUHlfREVDUkVGKGNwYXRobmFtZV90bXApOworI2Vsc2UKKyAgICBpZiAocmVuYW1lKFB5Qnl0ZXNfQVNfU1RSSU5HKGNwYXRoYnl0ZXNfdG1wKSwKKyAgICAgICAgICAgICAgIFB5Qnl0ZXNfQVNfU1RSSU5HKGNwYXRoYnl0ZXMpKSkgeworICAgICAgICBpZiAoUHlfVmVyYm9zZUZsYWcpCisgICAgICAgICAgICBQeVN5c19Gb3JtYXRTdGRlcnIoIiMgY2FuJ3Qgd3JpdGUgJVJcbiIsIGNwYXRobmFtZSk7CisgICAgICAgIC8qIERvbid0IGtlZXAgdG1wIGZpbGUgKi8KKyAgICAgICAgdW5saW5rKFB5Qnl0ZXNfQVNfU1RSSU5HKGNwYXRoYnl0ZXNfdG1wKSk7CisgICAgICAgIFB5X0RFQ1JFRihjcGF0aGJ5dGVzKTsKKyAgICAgICAgUHlfREVDUkVGKGNwYXRoYnl0ZXNfdG1wKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBQeV9ERUNSRUYoY3BhdGhieXRlcyk7CisgICAgUHlfREVDUkVGKGNwYXRoYnl0ZXNfdG1wKTsKKyNlbmRpZgogICAgIGlmIChQeV9WZXJib3NlRmxhZykKLSAgICAgICAgUHlTeXNfV3JpdGVTdGRlcnIoIiMgd3JvdGUgJXNcbiIsIGNwYXRobmFtZSk7CisgICAgICAgIFB5U3lzX0Zvcm1hdFN0ZGVycigiIyB3cm90ZSAlUlxuIiwgY3BhdGhuYW1lKTsKIH0KIAogc3RhdGljIHZvaWQKQEAgLTEyNjAsMjYgKzE0MTgsNDQgQEAKICAgICB9CiB9CiAKLXN0YXRpYyBpbnQKLXVwZGF0ZV9jb21waWxlZF9tb2R1bGUoUHlDb2RlT2JqZWN0ICpjbywgY2hhciAqcGF0aG5hbWUpCitzdGF0aWMgdm9pZAordXBkYXRlX2NvbXBpbGVkX21vZHVsZShQeUNvZGVPYmplY3QgKmNvLCBQeU9iamVjdCAqbmV3bmFtZSkKIHsKLSAgICBQeU9iamVjdCAqb2xkbmFtZSwgKm5ld25hbWU7CisgICAgUHlPYmplY3QgKm9sZG5hbWU7CiAKLSAgICBuZXduYW1lID0gUHlVbmljb2RlX0RlY29kZUZTRGVmYXVsdChwYXRobmFtZSk7Ci0gICAgaWYgKG5ld25hbWUgPT0gTlVMTCkKLSAgICAgICAgcmV0dXJuIC0xOwotCi0gICAgaWYgKCFQeVVuaWNvZGVfQ29tcGFyZShjby0+Y29fZmlsZW5hbWUsIG5ld25hbWUpKSB7Ci0gICAgICAgIFB5X0RFQ1JFRihuZXduYW1lKTsKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgfQorICAgIGlmIChQeVVuaWNvZGVfQ29tcGFyZShjby0+Y29fZmlsZW5hbWUsIG5ld25hbWUpID09IDApCisgICAgICAgIHJldHVybjsKIAogICAgIG9sZG5hbWUgPSBjby0+Y29fZmlsZW5hbWU7CiAgICAgUHlfSU5DUkVGKG9sZG5hbWUpOwogICAgIHVwZGF0ZV9jb2RlX2ZpbGVuYW1lcyhjbywgb2xkbmFtZSwgbmV3bmFtZSk7CiAgICAgUHlfREVDUkVGKG9sZG5hbWUpOwotICAgIFB5X0RFQ1JFRihuZXduYW1lKTsKLSAgICByZXR1cm4gMTsKK30KKworc3RhdGljIFB5T2JqZWN0ICoKK2ltcF9maXhfY29fZmlsZW5hbWUoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQoreworICAgIFB5T2JqZWN0ICpjbzsKKyAgICBQeU9iamVjdCAqZmlsZV9wYXRoOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJPTzpfZml4X2NvX2ZpbGVuYW1lIiwgJmNvLCAmZmlsZV9wYXRoKSkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICBpZiAoIVB5Q29kZV9DaGVjayhjbykpIHsKKyAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICJmaXJzdCBhcmd1bWVudCBtdXN0IGJlIGEgY29kZSBvYmplY3QiKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorCisgICAgaWYgKCFQeVVuaWNvZGVfQ2hlY2soZmlsZV9wYXRoKSkgeworICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgInNlY29uZCBhcmd1bWVudCBtdXN0IGJlIGEgc3RyaW5nIik7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKworICAgIHVwZGF0ZV9jb21waWxlZF9tb2R1bGUoKFB5Q29kZU9iamVjdCopY28sIGZpbGVfcGF0aCk7CisKKyAgICBQeV9SRVRVUk5fTk9ORTsKIH0KIAogLyogTG9hZCBhIHNvdXJjZSBtb2R1bGUgZnJvbSBhIGdpdmVuIGZpbGUgYW5kIHJldHVybiBpdHMgbW9kdWxlCkBAIC0xMjg3LDIwICsxNDYzLDE5IEBACiAgICBieXRlLWNvbXBpbGVkIGZpbGUsIHVzZSB0aGF0IGluc3RlYWQuICovCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1sb2FkX3NvdXJjZV9tb2R1bGUoY2hhciAqbmFtZSwgY2hhciAqcGF0aG5hbWUsIEZJTEUgKmZwKQorbG9hZF9zb3VyY2VfbW9kdWxlKFB5T2JqZWN0ICpuYW1lLCBQeU9iamVjdCAqcGF0aG5hbWUsIEZJTEUgKmZwKQogewogICAgIHN0cnVjdCBzdGF0IHN0OwogICAgIEZJTEUgKmZwYzsKLSAgICBjaGFyIGJ1ZltNQVhQQVRITEVOKzFdOwotICAgIGNoYXIgKmNwYXRobmFtZTsKKyAgICBQeU9iamVjdCAqY3BhdGhuYW1lID0gTlVMTCwgKmNwYXRoYnl0ZXMgPSBOVUxMOwogICAgIFB5Q29kZU9iamVjdCAqY287Ci0gICAgUHlPYmplY3QgKm07CisgICAgUHlPYmplY3QgKm0gPSBOVUxMOwogCiAgICAgaWYgKGZzdGF0KGZpbGVubyhmcCksICZzdCkgIT0gMCkgewogICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfUnVudGltZUVycm9yLAotICAgICAgICAgICAgICAgICAgICAgInVuYWJsZSB0byBnZXQgZmlsZSBzdGF0dXMgZnJvbSAnJXMnIiwKKyAgICAgICAgICAgICAgICAgICAgICJ1bmFibGUgdG8gZ2V0IGZpbGUgc3RhdHVzIGZyb20gJVIiLAogICAgICAgICAgICAgICAgICAgICAgcGF0aG5hbWUpOwotICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgZ290byBlcnJvcjsKICAgICB9CiAgICAgaWYgKHNpemVvZiBzdC5zdF9tdGltZSA+IDQpIHsKICAgICAgICAgLyogUHl0aG9uJ3MgLnB5YyB0aW1lc3RhbXAgaGFuZGxpbmcgcHJlc3VtZXMgdGhhdCB0aGUgdGltZXN0YW1wIGZpdHMKQEAgLTEzMTAsMzggKzE0ODUsNDcgQEAKICAgICAgICAgICovCiAgICAgICAgIHN0LnN0X210aW1lICY9IDB4RkZGRkZGRkY7CiAgICAgfQotICAgIGNwYXRobmFtZSA9IG1ha2VfY29tcGlsZWRfcGF0aG5hbWUoCi0gICAgICAgIHBhdGhuYW1lLCBidWYsIChzaXplX3QpTUFYUEFUSExFTiArIDEsICFQeV9PcHRpbWl6ZUZsYWcpOwotICAgIGlmIChjcGF0aG5hbWUgIT0gTlVMTCAmJgotICAgICAgICAoZnBjID0gY2hlY2tfY29tcGlsZWRfbW9kdWxlKHBhdGhuYW1lLCBzdC5zdF9tdGltZSwgY3BhdGhuYW1lKSkpIHsKKyAgICBpZiAoUHlVbmljb2RlX1JFQURZKHBhdGhuYW1lKSA8IDApCisgICAgICAgIHJldHVybiBOVUxMOworICAgIGNwYXRobmFtZSA9IG1ha2VfY29tcGlsZWRfcGF0aG5hbWUocGF0aG5hbWUsICFQeV9PcHRpbWl6ZUZsYWcpOworCisgICAgaWYgKGNwYXRobmFtZSAhPSBOVUxMKQorICAgICAgICBmcGMgPSBjaGVja19jb21waWxlZF9tb2R1bGUocGF0aG5hbWUsICZzdCwgY3BhdGhuYW1lKTsKKyAgICBlbHNlCisgICAgICAgIGZwYyA9IE5VTEw7CisKKyAgICBpZiAoZnBjKSB7CiAgICAgICAgIGNvID0gcmVhZF9jb21waWxlZF9tb2R1bGUoY3BhdGhuYW1lLCBmcGMpOwogICAgICAgICBmY2xvc2UoZnBjKTsKICAgICAgICAgaWYgKGNvID09IE5VTEwpCi0gICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgaWYgKHVwZGF0ZV9jb21waWxlZF9tb2R1bGUoY28sIHBhdGhuYW1lKSA8IDApCi0gICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgIHVwZGF0ZV9jb21waWxlZF9tb2R1bGUoY28sIHBhdGhuYW1lKTsKICAgICAgICAgaWYgKFB5X1ZlcmJvc2VGbGFnKQotICAgICAgICAgICAgUHlTeXNfV3JpdGVTdGRlcnIoImltcG9ydCAlcyAjIHByZWNvbXBpbGVkIGZyb20gJXNcbiIsCi0gICAgICAgICAgICAgICAgbmFtZSwgY3BhdGhuYW1lKTsKLSAgICAgICAgcGF0aG5hbWUgPSBjcGF0aG5hbWU7CisgICAgICAgICAgICBQeVN5c19Gb3JtYXRTdGRlcnIoImltcG9ydCAlVSAjIHByZWNvbXBpbGVkIGZyb20gJVJcbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZSwgY3BhdGhuYW1lKTsKKyAgICAgICAgbSA9IFB5SW1wb3J0X0V4ZWNDb2RlTW9kdWxlT2JqZWN0KG5hbWUsIChQeU9iamVjdCAqKWNvLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3BhdGhuYW1lLCBjcGF0aG5hbWUpOwogICAgIH0KICAgICBlbHNlIHsKICAgICAgICAgY28gPSBwYXJzZV9zb3VyY2VfbW9kdWxlKHBhdGhuYW1lLCBmcCk7CiAgICAgICAgIGlmIChjbyA9PSBOVUxMKQotICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgICAgICBnb3RvIGVycm9yOwogICAgICAgICBpZiAoUHlfVmVyYm9zZUZsYWcpCi0gICAgICAgICAgICBQeVN5c19Xcml0ZVN0ZGVycigiaW1wb3J0ICVzICMgZnJvbSAlc1xuIiwKLSAgICAgICAgICAgICAgICBuYW1lLCBwYXRobmFtZSk7Ci0gICAgICAgIGlmIChjcGF0aG5hbWUpIHsKKyAgICAgICAgICAgIFB5U3lzX0Zvcm1hdFN0ZGVycigiaW1wb3J0ICVVICMgZnJvbSAlUlxuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lLCBwYXRobmFtZSk7CisgICAgICAgIGlmIChjcGF0aG5hbWUgIT0gTlVMTCkgewogICAgICAgICAgICAgUHlPYmplY3QgKnJvID0gUHlTeXNfR2V0T2JqZWN0KCJkb250X3dyaXRlX2J5dGVjb2RlIik7CiAgICAgICAgICAgICBpZiAocm8gPT0gTlVMTCB8fCAhUHlPYmplY3RfSXNUcnVlKHJvKSkKICAgICAgICAgICAgICAgICB3cml0ZV9jb21waWxlZF9tb2R1bGUoY28sIGNwYXRobmFtZSwgJnN0KTsKICAgICAgICAgfQorICAgICAgICBtID0gUHlJbXBvcnRfRXhlY0NvZGVNb2R1bGVPYmplY3QobmFtZSwgKFB5T2JqZWN0ICopY28sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRobmFtZSwgY3BhdGhuYW1lKTsKICAgICB9Ci0gICAgbSA9IFB5SW1wb3J0X0V4ZWNDb2RlTW9kdWxlV2l0aFBhdGhuYW1lcygKLSAgICAgICAgbmFtZSwgKFB5T2JqZWN0ICopY28sIHBhdGhuYW1lLCBjcGF0aG5hbWUpOwogICAgIFB5X0RFQ1JFRihjbyk7CiAKK2Vycm9yOgorICAgIFB5X1hERUNSRUYoY3BhdGhieXRlcyk7CisgICAgUHlfWERFQ1JFRihjcGF0aG5hbWUpOwogICAgIHJldHVybiBtOwogfQogCkBAIC0xMzQ5LDEwMSArMTUzMywxMTUgQEAKICAqIFJldHVybnMgdGhlIHBhdGggdG8gdGhlIHB5IGZpbGUgaWYgYXZhaWxhYmxlLCBlbHNlIHRoZSBnaXZlbiBwYXRoCiAgKi8KIHN0YXRpYyBQeU9iamVjdCAqCi1nZXRfc291cmNlZmlsZShjaGFyICpmaWxlKQorZ2V0X3NvdXJjZWZpbGUoUHlPYmplY3QgKmZpbGVuYW1lKQogewotICAgIGNoYXIgcHlbTUFYUEFUSExFTiArIDFdOwogICAgIFB5X3NzaXplX3QgbGVuOwotICAgIFB5T2JqZWN0ICp1OworICAgIFB5X1VDUzQgKmZpbGV1bmk7CisgICAgUHlPYmplY3QgKnB5OwogICAgIHN0cnVjdCBzdGF0IHN0YXRidWY7CisgICAgaW50IGVycjsKIAotICAgIGlmICghZmlsZSB8fCAhKmZpbGUpIHsKKyAgICBsZW4gPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChmaWxlbmFtZSk7CisgICAgaWYgKGxlbiA9PSAwKQogICAgICAgICBQeV9SRVRVUk5fTk9ORTsKLSAgICB9CiAKLSAgICBsZW4gPSBzdHJsZW4oZmlsZSk7Ci0gICAgLyogbWF0Y2ggJyoucHk/JyAqLwotICAgIGlmIChsZW4gPiBNQVhQQVRITEVOIHx8IFB5T1Nfc3RybmljbXAoJmZpbGVbbGVuLTRdLCAiLnB5IiwgMykgIT0gMCkgewotICAgICAgICByZXR1cm4gUHlVbmljb2RlX0RlY29kZUZTRGVmYXVsdChmaWxlKTsKLSAgICB9CisgICAgLyogZG9uJ3QgbWF0Y2ggKi5weWMgb3IgKi5weW8/ICovCisgICAgZmlsZXVuaSA9IFB5VW5pY29kZV9Bc1VDUzRDb3B5KGZpbGVuYW1lKTsKKyAgICBpZiAoIWZpbGV1bmkpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIGlmIChsZW4gPCA1CisgICAgICAgIHx8IGZpbGV1bmlbbGVuLTRdICE9ICcuJworICAgICAgICB8fCAoZmlsZXVuaVtsZW4tM10gIT0gJ3AnICYmIGZpbGV1bmlbbGVuLTNdICE9ICdQJykKKyAgICAgICAgfHwgKGZpbGV1bmlbbGVuLTJdICE9ICd5JyAmJiBmaWxldW5pW2xlbi0yXSAhPSAnWScpKQorICAgICAgICBnb3RvIHVuY2hhbmdlZDsKIAogICAgIC8qIFN0YXJ0IGJ5IHRyeWluZyB0byB0dXJuIFBFUCAzMTQ3IHBhdGggaW50byBzb3VyY2UgcGF0aC4gIElmIHRoYXQKICAgICAgKiBmYWlscywganVzdCBjaG9wIG9mZiB0aGUgdHJhaWxpbmcgY2hhcmFjdGVyLCBpLmUuIGxlZ2FjeSBweWMgcGF0aAogICAgICAqIHRvIHB5LgogICAgICAqLwotICAgIGlmIChtYWtlX3NvdXJjZV9wYXRobmFtZShmaWxlLCBweSkgPT0gTlVMTCkgewotICAgICAgICBzdHJuY3B5KHB5LCBmaWxlLCBsZW4tMSk7Ci0gICAgICAgIHB5W2xlbi0xXSA9ICdcMCc7CisgICAgcHkgPSBtYWtlX3NvdXJjZV9wYXRobmFtZShmaWxlbmFtZSk7CisgICAgaWYgKHB5ID09IE5VTEwpIHsKKyAgICAgICAgUHlFcnJfQ2xlYXIoKTsKKyAgICAgICAgcHkgPSBQeVVuaWNvZGVfRnJvbUtpbmRBbmREYXRhKFB5VW5pY29kZV80QllURV9LSU5ELCBmaWxldW5pLCBsZW4gLSAxKTsKICAgICB9CisgICAgaWYgKHB5ID09IE5VTEwpCisgICAgICAgIGdvdG8gZXJyb3I7CiAKLSAgICBpZiAoc3RhdChweSwgJnN0YXRidWYpID09IDAgJiYKLSAgICAgICAgU19JU1JFRyhzdGF0YnVmLnN0X21vZGUpKSB7Ci0gICAgICAgIHUgPSBQeVVuaWNvZGVfRGVjb2RlRlNEZWZhdWx0KHB5KTsKKyAgICBlcnIgPSBfUHlfc3RhdChweSwgJnN0YXRidWYpOworICAgIGlmIChlcnIgPT0gLTIpCisgICAgICAgIGdvdG8gZXJyb3I7CisgICAgaWYgKGVyciA9PSAwICYmIFNfSVNSRUcoc3RhdGJ1Zi5zdF9tb2RlKSkgeworICAgICAgICBQeU1lbV9GcmVlKGZpbGV1bmkpOworICAgICAgICByZXR1cm4gcHk7CiAgICAgfQotICAgIGVsc2UgewotICAgICAgICB1ID0gUHlVbmljb2RlX0RlY29kZUZTRGVmYXVsdChmaWxlKTsKLSAgICB9Ci0gICAgcmV0dXJuIHU7CisgICAgUHlfREVDUkVGKHB5KTsKKyAgICBnb3RvIHVuY2hhbmdlZDsKKworZXJyb3I6CisgICAgUHlFcnJfQ2xlYXIoKTsKK3VuY2hhbmdlZDoKKyAgICBQeU1lbV9GcmVlKGZpbGV1bmkpOworICAgIFB5X0lOQ1JFRihmaWxlbmFtZSk7CisgICAgcmV0dXJuIGZpbGVuYW1lOwogfQogCiAvKiBGb3J3YXJkICovCi1zdGF0aWMgUHlPYmplY3QgKmxvYWRfbW9kdWxlKGNoYXIgKiwgRklMRSAqLCBjaGFyICosIGludCwgUHlPYmplY3QgKik7Ci1zdGF0aWMgc3RydWN0IGZpbGVkZXNjciAqZmluZF9tb2R1bGUoY2hhciAqLCBjaGFyICosIFB5T2JqZWN0ICosCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhciAqLCBzaXplX3QsIEZJTEUgKiosIFB5T2JqZWN0ICoqKTsKLXN0YXRpYyBzdHJ1Y3QgX2Zyb3plbiAqIGZpbmRfZnJvemVuKGNoYXIgKik7CitzdGF0aWMgUHlPYmplY3QgKmxvYWRfbW9kdWxlKFB5T2JqZWN0ICosIEZJTEUgKiwgUHlPYmplY3QgKiwgaW50LCBQeU9iamVjdCAqKTsKK3N0YXRpYyBzdHJ1Y3QgZmlsZWRlc2NyICpmaW5kX21vZHVsZShQeU9iamVjdCAqLCBQeU9iamVjdCAqLCBQeU9iamVjdCAqLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5T2JqZWN0ICoqLCBGSUxFICoqLCBQeU9iamVjdCAqKik7CitzdGF0aWMgc3RydWN0IF9mcm96ZW4gKiBmaW5kX2Zyb3plbihQeU9iamVjdCAqKTsKIAogLyogTG9hZCBhIHBhY2thZ2UgYW5kIHJldHVybiBpdHMgbW9kdWxlIG9iamVjdCBXSVRIIElOQ1JFTUVOVEVECiAgICBSRUZFUkVOQ0UgQ09VTlQgKi8KIAogc3RhdGljIFB5T2JqZWN0ICoKLWxvYWRfcGFja2FnZShjaGFyICpuYW1lLCBjaGFyICpwYXRobmFtZSkKK2xvYWRfcGFja2FnZShQeU9iamVjdCAqbmFtZSwgUHlPYmplY3QgKnBhdGhuYW1lKQogewotICAgIFB5T2JqZWN0ICptLCAqZDsKLSAgICBQeU9iamVjdCAqZmlsZSA9IE5VTEw7Ci0gICAgUHlPYmplY3QgKnBhdGggPSBOVUxMOworICAgIFB5T2JqZWN0ICptLCAqZCwgKmJ1Zm9iajsKKyAgICBQeU9iamVjdCAqZmlsZSA9IE5VTEwsICpwYXRoX2xpc3QgPSBOVUxMOwogICAgIGludCBlcnI7Ci0gICAgY2hhciBidWZbTUFYUEFUSExFTisxXTsKICAgICBGSUxFICpmcCA9IE5VTEw7CiAgICAgc3RydWN0IGZpbGVkZXNjciAqZmRwOwogCi0gICAgbSA9IFB5SW1wb3J0X0FkZE1vZHVsZShuYW1lKTsKKyAgICBtID0gUHlJbXBvcnRfQWRkTW9kdWxlT2JqZWN0KG5hbWUpOwogICAgIGlmIChtID09IE5VTEwpCiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIGlmIChQeV9WZXJib3NlRmxhZykKLSAgICAgICAgUHlTeXNfV3JpdGVTdGRlcnIoImltcG9ydCAlcyAjIGRpcmVjdG9yeSAlc1xuIiwKLSAgICAgICAgICAgIG5hbWUsIHBhdGhuYW1lKTsKLSAgICBkID0gUHlNb2R1bGVfR2V0RGljdChtKTsKKyAgICAgICAgUHlTeXNfRm9ybWF0U3RkZXJyKCJpbXBvcnQgJVUgIyBkaXJlY3RvcnkgJVJcbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lLCBwYXRobmFtZSk7CiAgICAgZmlsZSA9IGdldF9zb3VyY2VmaWxlKHBhdGhuYW1lKTsKICAgICBpZiAoZmlsZSA9PSBOVUxMKQotICAgICAgICBnb3RvIGVycm9yOwotICAgIHBhdGggPSBQeV9CdWlsZFZhbHVlKCJbT10iLCBmaWxlKTsKLSAgICBpZiAocGF0aCA9PSBOVUxMKQotICAgICAgICBnb3RvIGVycm9yOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICBwYXRoX2xpc3QgPSBQeV9CdWlsZFZhbHVlKCJbT10iLCBmaWxlKTsKKyAgICBpZiAocGF0aF9saXN0ID09IE5VTEwpIHsKKyAgICAgICAgUHlfREVDUkVGKGZpbGUpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisgICAgZCA9IFB5TW9kdWxlX0dldERpY3QobSk7CiAgICAgZXJyID0gUHlEaWN0X1NldEl0ZW1TdHJpbmcoZCwgIl9fZmlsZV9fIiwgZmlsZSk7CisgICAgUHlfREVDUkVGKGZpbGUpOwogICAgIGlmIChlcnIgPT0gMCkKLSAgICAgICAgZXJyID0gUHlEaWN0X1NldEl0ZW1TdHJpbmcoZCwgIl9fcGF0aF9fIiwgcGF0aCk7Ci0gICAgaWYgKGVyciAhPSAwKQotICAgICAgICBnb3RvIGVycm9yOwotICAgIGJ1ZlswXSA9ICdcMCc7Ci0gICAgZmRwID0gZmluZF9tb2R1bGUobmFtZSwgIl9faW5pdF9fIiwgcGF0aCwgYnVmLCBzaXplb2YoYnVmKSwgJmZwLCBOVUxMKTsKKyAgICAgICAgZXJyID0gUHlEaWN0X1NldEl0ZW1TdHJpbmcoZCwgIl9fcGF0aF9fIiwgcGF0aF9saXN0KTsKKyAgICBpZiAoZXJyICE9IDApIHsKKyAgICAgICAgUHlfREVDUkVGKHBhdGhfbGlzdCk7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKyAgICBmZHAgPSBmaW5kX21vZHVsZShuYW1lLCBpbml0c3RyLCBwYXRoX2xpc3QsCisgICAgICAgICAgICAgICAgICAgICAgJmJ1Zm9iaiwgJmZwLCBOVUxMKTsKKyAgICBQeV9ERUNSRUYocGF0aF9saXN0KTsKICAgICBpZiAoZmRwID09IE5VTEwpIHsKICAgICAgICAgaWYgKFB5RXJyX0V4Y2VwdGlvbk1hdGNoZXMoUHlFeGNfSW1wb3J0RXJyb3IpKSB7CiAgICAgICAgICAgICBQeUVycl9DbGVhcigpOwogICAgICAgICAgICAgUHlfSU5DUkVGKG0pOworICAgICAgICAgICAgcmV0dXJuIG07CiAgICAgICAgIH0KICAgICAgICAgZWxzZQotICAgICAgICAgICAgbSA9IE5VTEw7Ci0gICAgICAgIGdvdG8gY2xlYW51cDsKKyAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KLSAgICBtID0gbG9hZF9tb2R1bGUobmFtZSwgZnAsIGJ1ZiwgZmRwLT50eXBlLCBOVUxMKTsKKyAgICBtID0gbG9hZF9tb2R1bGUobmFtZSwgZnAsIGJ1Zm9iaiwgZmRwLT50eXBlLCBOVUxMKTsKKyAgICBQeV9YREVDUkVGKGJ1Zm9iaik7CiAgICAgaWYgKGZwICE9IE5VTEwpCiAgICAgICAgIGZjbG9zZShmcCk7Ci0gICAgZ290byBjbGVhbnVwOwotCi0gIGVycm9yOgotICAgIG0gPSBOVUxMOwotICBjbGVhbnVwOgotICAgIFB5X1hERUNSRUYocGF0aCk7Ci0gICAgUHlfWERFQ1JFRihmaWxlKTsKICAgICByZXR1cm4gbTsKIH0KIApAQCAtMTQ1MSwxMSArMTY0OSwxMiBAQAogLyogSGVscGVyIHRvIHRlc3QgZm9yIGJ1aWx0LWluIG1vZHVsZSAqLwogCiBzdGF0aWMgaW50Ci1pc19idWlsdGluKGNoYXIgKm5hbWUpCitpc19idWlsdGluKFB5T2JqZWN0ICpuYW1lKQogewotICAgIGludCBpOworICAgIGludCBpLCBjbXA7CiAgICAgZm9yIChpID0gMDsgUHlJbXBvcnRfSW5pdHRhYltpXS5uYW1lICE9IE5VTEw7IGkrKykgewotICAgICAgICBpZiAoc3RyY21wKG5hbWUsIFB5SW1wb3J0X0luaXR0YWJbaV0ubmFtZSkgPT0gMCkgeworICAgICAgICBjbXAgPSBQeVVuaWNvZGVfQ29tcGFyZVdpdGhBU0NJSVN0cmluZyhuYW1lLCBQeUltcG9ydF9Jbml0dGFiW2ldLm5hbWUpOworICAgICAgICBpZiAoY21wID09IDApIHsKICAgICAgICAgICAgIGlmIChQeUltcG9ydF9Jbml0dGFiW2ldLmluaXRmdW5jID09IE5VTEwpCiAgICAgICAgICAgICAgICAgcmV0dXJuIC0xOwogICAgICAgICAgICAgZWxzZQpAQCAtMTU0OSw0NiArMTc0OCwzMTQgQEAKICAgIHBhdGhuYW1lIGFuZCBhbiBvcGVuIGZpbGUuICBSZXR1cm4gTlVMTCBpZiB0aGUgbW9kdWxlIGlzIG5vdCBmb3VuZC4gKi8KIAogI2lmZGVmIE1TX0NPUkVETEwKLWV4dGVybiBGSUxFICpQeVdpbl9GaW5kUmVnaXN0ZXJlZE1vZHVsZShjb25zdCBjaGFyICosIHN0cnVjdCBmaWxlZGVzY3IgKiosCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhciAqLCBQeV9zc2l6ZV90KTsKK2V4dGVybiBGSUxFICpfUHlXaW5fRmluZFJlZ2lzdGVyZWRNb2R1bGUoUHlPYmplY3QgKiwgc3RydWN0IGZpbGVkZXNjciAqKiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlPYmplY3QgKipwX3BhdGgpOwogI2VuZGlmCiAKLXN0YXRpYyBpbnQgY2FzZV9vayhjaGFyICosIFB5X3NzaXplX3QsIFB5X3NzaXplX3QsIGNoYXIgKik7Ci1zdGF0aWMgaW50IGZpbmRfaW5pdF9tb2R1bGUoY2hhciAqKTsgLyogRm9yd2FyZCAqLworLyogRm9yd2FyZCAqLworc3RhdGljIGludCBjYXNlX29rKFB5T2JqZWN0ICosIFB5X3NzaXplX3QsIFB5T2JqZWN0ICopOworc3RhdGljIGludCBmaW5kX2luaXRfbW9kdWxlKFB5T2JqZWN0ICopOwogc3RhdGljIHN0cnVjdCBmaWxlZGVzY3IgaW1wb3J0aG9va2Rlc2NyID0geyIiLCAiIiwgSU1QX0hPT0t9OwogCi1zdGF0aWMgc3RydWN0IGZpbGVkZXNjciAqCi1maW5kX21vZHVsZShjaGFyICpmdWxsbmFtZSwgY2hhciAqc3VibmFtZSwgUHlPYmplY3QgKnBhdGgsIGNoYXIgKmJ1ZiwKLSAgICAgICAgICAgIHNpemVfdCBidWZsZW4sIEZJTEUgKipwX2ZwLCBQeU9iamVjdCAqKnBfbG9hZGVyKQorLyogR2V0IHRoZSBwYXRoIG9mIGEgbW9kdWxlOiBnZXQgaXRzIGltcG9ydGVyIGFuZCBjYWxsIGltcG9ydGVyLmZpbmRfbW9kdWxlKCkKKyAgIGhvb2ssIG9yIGNoZWNrIGlmIHRoZSBtb2R1bGUgaWYgYSBwYWNrYWdlIChpZiBwYXRoL19faW5pdF9fLnB5IGV4aXN0cykuCisKKyAgICAtMTogZXJyb3I6IGEgUHl0aG9uIGVycm9yIG9jY3VycmVkCisgICAgIDA6IGlnbm9yZTogYW4gZXJyb3Igb2NjdXJyZWQgYmVjYXVzZSBvZiBpbnZhbGlkIGRhdGEsIGJ1dCB0aGUgZXJyb3IgaXMgbm90CisgICAgICAgIGltcG9ydGFudCBlbm91Z2ggdG8gYmUgcmVwb3J0ZWQuCisgICAgIDE6IGdldCBwYXRoOiBtb2R1bGUgbm90IGZvdW5kLCBidXQgKmJ1ZiBjb250YWlucyBpdHMgcGF0aAorICAgICAyOiBmb3VuZDogKnBfZmQgaXMgdGhlIGZpbGUgZGVzY3JpcHRvciAoSU1QX0hPT0sgb3IgUEtHX0RJUkVDVE9SWSkKKyAgICAgICAgYW5kICpidWYgaXMgdGhlIHBhdGggKi8KKworc3RhdGljIGludAorZmluZF9tb2R1bGVfcGF0aChQeU9iamVjdCAqZnVsbG5hbWUsIFB5T2JqZWN0ICpuYW1lLCBQeU9iamVjdCAqcGF0aCwKKyAgICAgICAgICAgICAgICAgUHlPYmplY3QgKnBhdGhfaG9va3MsIFB5T2JqZWN0ICpwYXRoX2ltcG9ydGVyX2NhY2hlLAorICAgICAgICAgICAgICAgICBQeU9iamVjdCAqKnBfcGF0aCwgUHlPYmplY3QgKipwX2xvYWRlciwgc3RydWN0IGZpbGVkZXNjciAqKnBfZmQpCit7CisgICAgUHlPYmplY3QgKnBhdGhfdW5pY29kZSwgKmZpbGVuYW1lID0gTlVMTDsKKyAgICBQeV9zc2l6ZV90IGxlbiwgcG9zOworICAgIHN0cnVjdCBzdGF0IHN0YXRidWY7CisgICAgc3RhdGljIHN0cnVjdCBmaWxlZGVzY3IgZmRfcGFja2FnZSA9IHsiIiwgIiIsIFBLR19ESVJFQ1RPUll9OworICAgIGludCBlcnIsIHJlc3VsdCwgYWRkc2VwOworCisgICAgaWYgKFB5VW5pY29kZV9DaGVjayhwYXRoKSkgeworICAgICAgICBQeV9JTkNSRUYocGF0aCk7CisgICAgICAgIHBhdGhfdW5pY29kZSA9IHBhdGg7CisgICAgfQorICAgIGVsc2UgaWYgKFB5Qnl0ZXNfQ2hlY2socGF0aCkpIHsKKyAgICAgICAgcGF0aF91bmljb2RlID0gUHlVbmljb2RlX0RlY29kZUZTRGVmYXVsdEFuZFNpemUoCisgICAgICAgICAgICBQeUJ5dGVzX0FTX1NUUklORyhwYXRoKSwgUHlCeXRlc19HRVRfU0laRShwYXRoKSk7CisgICAgICAgIGlmIChwYXRoX3VuaWNvZGUgPT0gTlVMTCkKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisgICAgZWxzZQorICAgICAgICByZXR1cm4gMDsKKworICAgIGlmIChQeVVuaWNvZGVfUkVBRFkocGF0aF91bmljb2RlKSkKKyAgICAgICAgcmV0dXJuIC0xOworCisgICAgbGVuID0gUHlVbmljb2RlX0dFVF9MRU5HVEgocGF0aF91bmljb2RlKTsKKyAgICBpZiAoUHlVbmljb2RlX0ZpbmRDaGFyKHBhdGhfdW5pY29kZSwgMCwgMCwgbGVuLCAxKSAhPSAtMSkgeworICAgICAgICByZXN1bHQgPSAwOworICAgICAgICBnb3RvIG91dDsgIC8qIHBhdGggY29udGFpbnMgJ1wwJyAqLworICAgIH0KKworICAgIC8qIHN5cy5wYXRoX2hvb2tzIGltcG9ydCBob29rICovCisgICAgaWYgKHBfbG9hZGVyICE9IE5VTEwpIHsKKyAgICAgICAgX1B5X0lERU5USUZJRVIoZmluZF9tb2R1bGUpOworICAgICAgICBQeU9iamVjdCAqaW1wb3J0ZXI7CisKKyAgICAgICAgaW1wb3J0ZXIgPSBnZXRfcGF0aF9pbXBvcnRlcihwYXRoX2ltcG9ydGVyX2NhY2hlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGhfaG9va3MsIHBhdGgpOworICAgICAgICBpZiAoaW1wb3J0ZXIgPT0gTlVMTCkgeworICAgICAgICAgICAgcmVzdWx0ID0gLTE7CisgICAgICAgICAgICBnb3RvIG91dDsKKyAgICAgICAgfQorICAgICAgICAvKiBOb3RlOiBpbXBvcnRlciBpcyBhIGJvcnJvd2VkIHJlZmVyZW5jZSAqLworICAgICAgICBpZiAoaW1wb3J0ZXIgIT0gUHlfTm9uZSkgeworICAgICAgICAgICAgUHlPYmplY3QgKmxvYWRlcjsKKyAgICAgICAgICAgIGxvYWRlciA9IF9QeU9iamVjdF9DYWxsTWV0aG9kSWQoaW1wb3J0ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZQeUlkX2ZpbmRfbW9kdWxlLCAiTyIsIGZ1bGxuYW1lKTsKKyAgICAgICAgICAgIGlmIChsb2FkZXIgPT0gTlVMTCkgeworICAgICAgICAgICAgICAgIHJlc3VsdCA9IC0xOyAvKiBlcnJvciAqLworICAgICAgICAgICAgICAgIGdvdG8gb3V0OworICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKGxvYWRlciAhPSBQeV9Ob25lKSB7CisgICAgICAgICAgICAgICAgLyogYSBsb2FkZXIgd2FzIGZvdW5kICovCisgICAgICAgICAgICAgICAgKnBfbG9hZGVyID0gbG9hZGVyOworICAgICAgICAgICAgICAgICpwX2ZkID0gJmltcG9ydGhvb2tkZXNjcjsKKyAgICAgICAgICAgICAgICByZXN1bHQgPSAyOworICAgICAgICAgICAgICAgIGdvdG8gb3V0OworICAgICAgICAgICAgfQorICAgICAgICAgICAgUHlfREVDUkVGKGxvYWRlcik7CisgICAgICAgICAgICByZXN1bHQgPSAwOworICAgICAgICAgICAgZ290byBvdXQ7CisgICAgICAgIH0KKyAgICB9CisgICAgLyogbm8gaG9vayB3YXMgZm91bmQsIHVzZSBidWlsdGluIGltcG9ydCAqLworCisgICAgYWRkc2VwID0gMDsKKyAgICBpZiAobGVuID4gMCAmJiBQeVVuaWNvZGVfUkVBRF9DSEFSKHBhdGhfdW5pY29kZSwgbGVuLTEpICE9IFNFUAorI2lmZGVmIEFMVFNFUAorICAgICAgICAmJiBQeVVuaWNvZGVfUkVBRF9DSEFSKHBhdGhfdW5pY29kZSwgbGVuLTEpICE9IEFMVFNFUAorI2VuZGlmCisgICAgICAgICkKKyAgICAgICAgYWRkc2VwID0gMTsKKyAgICBmaWxlbmFtZSA9IFB5VW5pY29kZV9OZXcobGVuICsgUHlVbmljb2RlX0dFVF9MRU5HVEgobmFtZSkgKyBhZGRzZXAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5X01BWChQeVVuaWNvZGVfTUFYX0NIQVJfVkFMVUUocGF0aF91bmljb2RlKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9NQVhfQ0hBUl9WQUxVRShuYW1lKSkpOworICAgIGlmIChmaWxlbmFtZSA9PSBOVUxMKSB7CisgICAgICAgIHJlc3VsdCA9IC0xOworICAgICAgICBnb3RvIG91dDsKKyAgICB9CisgICAgUHlVbmljb2RlX0NvcHlDaGFyYWN0ZXJzKGZpbGVuYW1lLCAwLCBwYXRoX3VuaWNvZGUsIDAsIGxlbik7CisgICAgcG9zID0gbGVuOworICAgIGlmIChhZGRzZXApCisgICAgICAgIFB5VW5pY29kZV9XUklURShQeVVuaWNvZGVfS0lORChmaWxlbmFtZSksCisgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfREFUQShmaWxlbmFtZSksCisgICAgICAgICAgICAgICAgICAgICAgICBwb3MrKywgU0VQKTsKKyAgICBQeVVuaWNvZGVfQ29weUNoYXJhY3RlcnMoZmlsZW5hbWUsIHBvcywgbmFtZSwgMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0dFVF9MRU5HVEgobmFtZSkpOworCisgICAgLyogQ2hlY2sgZm9yIHBhY2thZ2UgaW1wb3J0IChidWYgaG9sZHMgYSBkaXJlY3RvcnkgbmFtZSwKKyAgICAgICBhbmQgdGhlcmUncyBhbiBfX2luaXRfXyBtb2R1bGUgaW4gdGhhdCBkaXJlY3RvcnkgKi8KKyNpZmRlZiBIQVZFX1NUQVQKKyAgICBlcnIgPSBfUHlfc3RhdChmaWxlbmFtZSwgJnN0YXRidWYpOworICAgIGlmIChlcnIgPT0gLTIpIHsKKyAgICAgICAgcmVzdWx0ID0gLTE7CisgICAgICAgIGdvdG8gb3V0OworICAgIH0KKyAgICBpZiAoZXJyID09IDAgJiYgICAgICAgICAvKiBpdCBleGlzdHMgKi8KKyAgICAgICAgU19JU0RJUihzdGF0YnVmLnN0X21vZGUpKSAgICAgICAgICAgLyogaXQncyBhIGRpcmVjdG9yeSAqLworICAgIHsKKyAgICAgICAgaW50IG1hdGNoOworCisgICAgICAgIG1hdGNoID0gY2FzZV9vayhmaWxlbmFtZSwgMCwgbmFtZSk7CisgICAgICAgIGlmIChtYXRjaCA8IDApIHsKKyAgICAgICAgICAgIHJlc3VsdCA9IC0xOworICAgICAgICAgICAgZ290byBvdXQ7CisgICAgICAgIH0KKyAgICAgICAgaWYgKG1hdGNoKSB7IC8qIGNhc2UgbWF0Y2hlcyAqLworICAgICAgICAgICAgaWYgKGZpbmRfaW5pdF9tb2R1bGUoZmlsZW5hbWUpKSB7IC8qIGFuZCBoYXMgX19pbml0X18ucHkgKi8KKyAgICAgICAgICAgICAgICAqcF9wYXRoID0gZmlsZW5hbWU7CisgICAgICAgICAgICAgICAgZmlsZW5hbWUgPSBOVUxMOworICAgICAgICAgICAgICAgICpwX2ZkID0gJmZkX3BhY2thZ2U7CisgICAgICAgICAgICAgICAgcmVzdWx0ID0gMjsKKyAgICAgICAgICAgICAgICBnb3RvIG91dDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGVsc2UgeworICAgICAgICAgICAgICAgIGludCBlcnI7CisgICAgICAgICAgICAgICAgZXJyID0gUHlFcnJfV2FybkZvcm1hdChQeUV4Y19JbXBvcnRXYXJuaW5nLCAxLAorICAgICAgICAgICAgICAgICAgICAiTm90IGltcG9ydGluZyBkaXJlY3RvcnkgJVI6IG1pc3NpbmcgX19pbml0X18ucHkiLAorICAgICAgICAgICAgICAgICAgICBmaWxlbmFtZSk7CisgICAgICAgICAgICAgICAgaWYgKGVycikgeworICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSAtMTsKKyAgICAgICAgICAgICAgICAgICAgZ290byBvdXQ7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorI2VuZGlmCisgICAgKnBfcGF0aCA9IGZpbGVuYW1lOworICAgIGZpbGVuYW1lID0gTlVMTDsKKyAgICByZXN1bHQgPSAxOworICBvdXQ6CisgICAgUHlfREVDUkVGKHBhdGhfdW5pY29kZSk7CisgICAgUHlfWERFQ1JFRihmaWxlbmFtZSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKworLyogRmluZCBhIG1vZHVsZSBpbiBzZWFyY2hfcGF0aF9saXN0LiBGb3IgZWFjaCBwYXRoLCB0cnkKKyAgIGZpbmRfbW9kdWxlX3BhdGgoKSBvciB0cnkgZWFjaCBfUHlJbXBvcnRfRmlsZXRhYiBzdWZmaXguCisKKyAgIElmIHRoZSBtb2R1bGUgaXMgZm91bmQsIHJldHVybiBhIGZpbGUgZGVzY3JpcHRvciwgd3JpdGUgdGhlIHBhdGggaW4KKyAgICpwX2ZpbGVuYW1lLCB3cml0ZSB0aGUgcG9pbnRlciB0byB0aGUgZmlsZSBvYmplY3QgaW50byAqcF9mcCwgYW5kIChpZgorICAgcF9sb2FkZXIgaXMgbm90IE5VTEwpIHRoZSBsb2FkZXIgaW50byAqcF9sb2FkZXIuCisKKyAgIE90aGVyd2lzZSwgcmFpc2UgYW4gZXhjZXB0aW9uIGFuZCByZXR1cm4gTlVMTC4gKi8KKworc3RhdGljIHN0cnVjdCBmaWxlZGVzY3IqCitmaW5kX21vZHVsZV9wYXRoX2xpc3QoUHlPYmplY3QgKmZ1bGxuYW1lLCBQeU9iamVjdCAqbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICBQeU9iamVjdCAqc2VhcmNoX3BhdGhfbGlzdCwgUHlPYmplY3QgKnBhdGhfaG9va3MsCisgICAgICAgICAgICAgICAgICAgICAgUHlPYmplY3QgKnBhdGhfaW1wb3J0ZXJfY2FjaGUsCisgICAgICAgICAgICAgICAgICAgICAgUHlPYmplY3QgKipwX3BhdGgsIEZJTEUgKipwX2ZwLCBQeU9iamVjdCAqKnBfbG9hZGVyKQogewogICAgIFB5X3NzaXplX3QgaSwgbnBhdGg7Ci0gICAgc2l6ZV90IGxlbiwgbmFtZWxlbjsKICAgICBzdHJ1Y3QgZmlsZWRlc2NyICpmZHAgPSBOVUxMOwogICAgIGNoYXIgKmZpbGVtb2RlOwogICAgIEZJTEUgKmZwID0gTlVMTDsKLSAgICBQeU9iamVjdCAqcGF0aF9ob29rcywgKnBhdGhfaW1wb3J0ZXJfY2FjaGU7Ci0gICAgc3RydWN0IHN0YXQgc3RhdGJ1ZjsKKyAgICBQeU9iamVjdCAqcHJlZml4LCAqZmlsZW5hbWU7CisgICAgaW50IG1hdGNoOworICAgIGludCBlcnI7CisKKyAgICBucGF0aCA9IFB5TGlzdF9TaXplKHNlYXJjaF9wYXRoX2xpc3QpOworICAgIGZvciAoaSA9IDA7IGkgPCBucGF0aDsgaSsrKSB7CisgICAgICAgIFB5T2JqZWN0ICpwYXRoOworICAgICAgICBpbnQgb2s7CisKKyAgICAgICAgcGF0aCA9IFB5TGlzdF9HZXRJdGVtKHNlYXJjaF9wYXRoX2xpc3QsIGkpOworICAgICAgICBpZiAocGF0aCA9PSBOVUxMKQorICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICAgICAgcHJlZml4ID0gTlVMTDsKKyAgICAgICAgb2sgPSBmaW5kX21vZHVsZV9wYXRoKGZ1bGxuYW1lLCBuYW1lLCBwYXRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aF9ob29rcywgcGF0aF9pbXBvcnRlcl9jYWNoZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZwcmVmaXgsIHBfbG9hZGVyLCAmZmRwKTsKKyAgICAgICAgaWYgKG9rIDwgMCkKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICBpZiAob2sgPT0gMCkKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICBpZiAob2sgPT0gMikgeworICAgICAgICAgICAgKnBfcGF0aCA9IHByZWZpeDsKKyAgICAgICAgICAgIHJldHVybiBmZHA7CisgICAgICAgIH0KKworICAgICAgICBmb3IgKGZkcCA9IF9QeUltcG9ydF9GaWxldGFiOyBmZHAtPnN1ZmZpeCAhPSBOVUxMOyBmZHArKykgeworICAgICAgICAgICAgc3RydWN0IHN0YXQgc3RhdGJ1ZjsKKworICAgICAgICAgICAgZmlsZW1vZGUgPSBmZHAtPm1vZGU7CisgICAgICAgICAgICBpZiAoZmlsZW1vZGVbMF0gPT0gJ1UnKQorICAgICAgICAgICAgICAgIGZpbGVtb2RlID0gInIiIFBZX1NURElPVEVYVE1PREU7CisKKyAgICAgICAgICAgIGZpbGVuYW1lID0gUHlVbmljb2RlX0Zyb21Gb3JtYXQoIiVVJXMiLCBwcmVmaXgsIGZkcC0+c3VmZml4KTsKKyAgICAgICAgICAgIGlmIChmaWxlbmFtZSA9PSBOVUxMKSB7CisgICAgICAgICAgICAgICAgUHlfREVDUkVGKHByZWZpeCk7CisgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGlmIChQeV9WZXJib3NlRmxhZyA+IDEpCisgICAgICAgICAgICAgICAgUHlTeXNfRm9ybWF0U3RkZXJyKCIjIHRyeWluZyAlUlxuIiwgZmlsZW5hbWUpOworCisgICAgICAgICAgICBlcnIgPSBfUHlfc3RhdChmaWxlbmFtZSwgJnN0YXRidWYpOworICAgICAgICAgICAgaWYgKGVyciA9PSAtMikgeworICAgICAgICAgICAgICAgIFB5X0RFQ1JFRihwcmVmaXgpOworICAgICAgICAgICAgICAgIFB5X0RFQ1JFRihmaWxlbmFtZSk7CisgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAoZXJyICE9IDAgfHwgU19JU0RJUihzdGF0YnVmLnN0X21vZGUpKSB7CisgICAgICAgICAgICAgICAgLyogaXQgZG9lc24ndCBleGlzdCwgb3IgaXQncyBhIGRpcmVjdG9yeSAqLworICAgICAgICAgICAgICAgIFB5X0RFQ1JFRihmaWxlbmFtZSk7CisgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGZwID0gX1B5X2ZvcGVuKGZpbGVuYW1lLCBmaWxlbW9kZSk7CisgICAgICAgICAgICBpZiAoZnAgPT0gTlVMTCkgeworICAgICAgICAgICAgICAgIFB5X0RFQ1JFRihmaWxlbmFtZSk7CisgICAgICAgICAgICAgICAgaWYgKFB5RXJyX09jY3VycmVkKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgUHlfREVDUkVGKHByZWZpeCk7CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIG1hdGNoID0gY2FzZV9vayhmaWxlbmFtZSwgLShQeV9zc2l6ZV90KXN0cmxlbihmZHAtPnN1ZmZpeCksIG5hbWUpOworICAgICAgICAgICAgaWYgKG1hdGNoIDwgMCkgeworICAgICAgICAgICAgICAgIFB5X0RFQ1JFRihwcmVmaXgpOworICAgICAgICAgICAgICAgIFB5X0RFQ1JFRihmaWxlbmFtZSk7CisgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAobWF0Y2gpIHsKKyAgICAgICAgICAgICAgICBQeV9ERUNSRUYocHJlZml4KTsKKyAgICAgICAgICAgICAgICAqcF9wYXRoID0gZmlsZW5hbWU7CisgICAgICAgICAgICAgICAgKnBfZnAgPSBmcDsKKyAgICAgICAgICAgICAgICByZXR1cm4gZmRwOworICAgICAgICAgICAgfQorICAgICAgICAgICAgUHlfREVDUkVGKGZpbGVuYW1lKTsKKworICAgICAgICAgICAgZmNsb3NlKGZwKTsKKyAgICAgICAgICAgIGZwID0gTlVMTDsKKyAgICAgICAgfQorICAgICAgICBQeV9ERUNSRUYocHJlZml4KTsKKyAgICB9CisgICAgUHlFcnJfRm9ybWF0KFB5RXhjX0ltcG9ydEVycm9yLAorICAgICAgICAgICAgICAgICAiTm8gbW9kdWxlIG5hbWVkICVSIiwgbmFtZSk7CisgICAgcmV0dXJuIE5VTEw7Cit9CisKKy8qIEZpbmQgYSBtb2R1bGU6CisKKyAgIC0gdHJ5IGZpbmRfbW9kdWxlKCkgb2YgZWFjaCBzeXMubWV0YV9wYXRoIGhvb2sKKyAgIC0gdHJ5IGZpbmRfZnJvemVuKCkKKyAgIC0gdHJ5IGlzX2J1aWx0aW4oKQorICAgLSB0cnkgX1B5V2luX0ZpbmRSZWdpc3RlcmVkTW9kdWxlKCkgKFdpbmRvd3Mgb25seSkKKyAgIC0gb3RoZXJ3aXNlLCBjYWxsIGZpbmRfbW9kdWxlX3BhdGhfbGlzdCgpIHdpdGggc2VhcmNoX3BhdGhfbGlzdCAoaWYgbm90CisgICAgIE5VTEwpIG9yIHN5cy5wYXRoCisKKyAgIGZ1bGxuYW1lIGNhbiBiZSBOVUxMLCBidXQgb25seSBpZiBwX2xvYWRlciBpcyBOVUxMLgorCisgICBSZXR1cm46CisKKyAgIC0gJmZkX2J1aWx0aW4gKENfQlVJTFRJTikgaWYgaXQgaXMgYSBidWlsdGluCisgICAtICZmZF9mcm96ZW4gKFBZX0ZST1pFTikgaWYgaXQgaXMgZnJvemVuCisgICAtICZmZF9wYWNrYWdlIChQS0dfRElSRUNUT1JZKSBhbmQgd3JpdGUgdGhlIGZpbGVuYW1lIGludG8gKnBfcGF0aAorICAgICBpZiBpdCBpcyBhIHBhY2thZ2UKKyAgIC0gJmltcG9ydGhvb2tkZXNjciAoSU1QX0hPT0spIGFuZCB3cml0ZSB0aGUgbG9hZGVyIGludG8gKnBfbG9hZGVyIGlmIGEKKyAgICAgaW1wb3J0ZXIgbG9hZGVyIHdhcyBmb3VuZAorICAgLSBhIGZpbGUgZGVzY3JpcHRvciAoUFlfU09VUkNFLCBQWV9DT01QSUxFRCwgQ19FWFRFTlNJT04sIFBZX1JFU09VUkNFIG9yCisgICAgIFBZX0NPREVSRVNPVVJDRTogc2VlIF9QeUltcG9ydF9GaWxldGFiKSwgd3JpdGUgdGhlIGZpbGVuYW1lIGludG8KKyAgICAgKnBfcGF0aCBhbmQgdGhlIHBvaW50ZXIgdG8gdGhlIG9wZW4gZmlsZSBpbnRvICpwX2ZwCisgICAtIE5VTEwgb24gZXJyb3IKKworICAgQnkgZGVmYXVsdCwgKnBfcGF0aCwgKnBfZnAgYW5kICpwX2xvYWRlciAoaWYgc2V0KSBhcmUgc2V0IHRvIE5VTEwuCisgICBFZy4gKnBfcGF0aCBpcyBzZXQgdG8gTlVMTCBmb3IgYSBidWlsdGluIHBhY2thZ2UuCisqLworCitzdGF0aWMgc3RydWN0IGZpbGVkZXNjciAqCitmaW5kX21vZHVsZShQeU9iamVjdCAqZnVsbG5hbWUsIFB5T2JqZWN0ICpuYW1lLCBQeU9iamVjdCAqc2VhcmNoX3BhdGhfbGlzdCwKKyAgICAgICAgICAgIFB5T2JqZWN0ICoqcF9wYXRoLCBGSUxFICoqcF9mcCwgUHlPYmplY3QgKipwX2xvYWRlcikKK3sKKyAgICBQeV9zc2l6ZV90IGksIG5wYXRoOwogICAgIHN0YXRpYyBzdHJ1Y3QgZmlsZWRlc2NyIGZkX2Zyb3plbiA9IHsiIiwgIiIsIFBZX0ZST1pFTn07CiAgICAgc3RhdGljIHN0cnVjdCBmaWxlZGVzY3IgZmRfYnVpbHRpbiA9IHsiIiwgIiIsIENfQlVJTFRJTn07Ci0gICAgc3RhdGljIHN0cnVjdCBmaWxlZGVzY3IgZmRfcGFja2FnZSA9IHsiIiwgIiIsIFBLR19ESVJFQ1RPUll9OwotICAgIGNoYXIgbmFtZVtNQVhQQVRITEVOKzFdOwotI2lmIGRlZmluZWQoUFlPU19PUzIpCi0gICAgc2l6ZV90IHNhdmVkX2xlbjsKLSAgICBzaXplX3Qgc2F2ZWRfbmFtZWxlbjsKLSAgICBjaGFyICpzYXZlZF9idWYgPSBOVUxMOwotI2VuZGlmCisgICAgUHlPYmplY3QgKnBhdGhfaG9va3MsICpwYXRoX2ltcG9ydGVyX2NhY2hlOworCisgICAgKnBfcGF0aCA9IE5VTEw7CisgICAgKnBfZnAgPSBOVUxMOwogICAgIGlmIChwX2xvYWRlciAhPSBOVUxMKQogICAgICAgICAqcF9sb2FkZXIgPSBOVUxMOwogCi0gICAgaWYgKHN0cmxlbihzdWJuYW1lKSA+IE1BWFBBVEhMRU4pIHsKLSAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX092ZXJmbG93RXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAgICAibW9kdWxlIG5hbWUgaXMgdG9vIGxvbmciKTsKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgfQotICAgIHN0cmNweShuYW1lLCBzdWJuYW1lKTsKLQogICAgIC8qIHN5cy5tZXRhX3BhdGggaW1wb3J0IGhvb2sgKi8KICAgICBpZiAocF9sb2FkZXIgIT0gTlVMTCkgeworICAgICAgICBfUHlfSURFTlRJRklFUihmaW5kX21vZHVsZSk7CiAgICAgICAgIFB5T2JqZWN0ICptZXRhX3BhdGg7CiAKICAgICAgICAgbWV0YV9wYXRoID0gUHlTeXNfR2V0T2JqZWN0KCJtZXRhX3BhdGgiKTsKQEAgLTE2MDMsMTAgKzIwNzAsMTAgQEAKICAgICAgICAgZm9yIChpID0gMDsgaSA8IG5wYXRoOyBpKyspIHsKICAgICAgICAgICAgIFB5T2JqZWN0ICpsb2FkZXI7CiAgICAgICAgICAgICBQeU9iamVjdCAqaG9vayA9IFB5TGlzdF9HZXRJdGVtKG1ldGFfcGF0aCwgaSk7Ci0gICAgICAgICAgICBsb2FkZXIgPSBQeU9iamVjdF9DYWxsTWV0aG9kKGhvb2ssICJmaW5kX21vZHVsZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzTyIsIGZ1bGxuYW1lLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoICE9IE5VTEwgPwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoIDogUHlfTm9uZSk7CisgICAgICAgICAgICBsb2FkZXIgPSBfUHlPYmplY3RfQ2FsbE1ldGhvZElkKGhvb2ssICZQeUlkX2ZpbmRfbW9kdWxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiT08iLCBmdWxsbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VhcmNoX3BhdGhfbGlzdCAhPSBOVUxMID8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VhcmNoX3BhdGhfbGlzdCA6IFB5X05vbmUpOwogICAgICAgICAgICAgaWYgKGxvYWRlciA9PSBOVUxMKSB7CiAgICAgICAgICAgICAgICAgUHlfREVDUkVGKG1ldGFfcGF0aCk7CiAgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7ICAvKiB0cnVlIGVycm9yICovCkBAIC0xNjIyLDI3ICsyMDg5LDI5IEBACiAgICAgICAgIFB5X0RFQ1JFRihtZXRhX3BhdGgpOwogICAgIH0KIAotICAgIGlmIChmaW5kX2Zyb3plbihmdWxsbmFtZSkgIT0gTlVMTCkgewotICAgICAgICBzdHJjcHkoYnVmLCBmdWxsbmFtZSk7CisgICAgaWYgKGZpbmRfZnJvemVuKGZ1bGxuYW1lKSAhPSBOVUxMKQogICAgICAgICByZXR1cm4gJmZkX2Zyb3plbjsKLSAgICB9CiAKLSAgICBpZiAocGF0aCA9PSBOVUxMKSB7Ci0gICAgICAgIGlmIChpc19idWlsdGluKG5hbWUpKSB7Ci0gICAgICAgICAgICBzdHJjcHkoYnVmLCBuYW1lKTsKLSAgICAgICAgICAgIHJldHVybiAmZmRfYnVpbHRpbjsKLSAgICAgICAgfQorICAgIGlmIChzZWFyY2hfcGF0aF9saXN0ID09IE5VTEwpIHsKICNpZmRlZiBNU19DT1JFRExMCi0gICAgICAgIGZwID0gUHlXaW5fRmluZFJlZ2lzdGVyZWRNb2R1bGUobmFtZSwgJmZkcCwgYnVmLCBidWZsZW4pOworICAgICAgICBGSUxFICpmcDsKKyAgICAgICAgc3RydWN0IGZpbGVkZXNjciAqZmRwOworI2VuZGlmCisgICAgICAgIGlmIChpc19idWlsdGluKG5hbWUpKQorICAgICAgICAgICAgcmV0dXJuICZmZF9idWlsdGluOworI2lmZGVmIE1TX0NPUkVETEwKKyAgICAgICAgZnAgPSBfUHlXaW5fRmluZFJlZ2lzdGVyZWRNb2R1bGUobmFtZSwgJmZkcCwgcF9wYXRoKTsKICAgICAgICAgaWYgKGZwICE9IE5VTEwpIHsKICAgICAgICAgICAgICpwX2ZwID0gZnA7CiAgICAgICAgICAgICByZXR1cm4gZmRwOwogICAgICAgICB9CisgICAgICAgIGVsc2UgaWYgKFB5RXJyX09jY3VycmVkKCkpCisgICAgICAgICAgICByZXR1cm4gTlVMTDsKICNlbmRpZgotICAgICAgICBwYXRoID0gUHlTeXNfR2V0T2JqZWN0KCJwYXRoIik7CisgICAgICAgIHNlYXJjaF9wYXRoX2xpc3QgPSBQeVN5c19HZXRPYmplY3QoInBhdGgiKTsKICAgICB9CiAKLSAgICBpZiAocGF0aCA9PSBOVUxMIHx8ICFQeUxpc3RfQ2hlY2socGF0aCkpIHsKKyAgICBpZiAoc2VhcmNoX3BhdGhfbGlzdCA9PSBOVUxMIHx8ICFQeUxpc3RfQ2hlY2soc2VhcmNoX3BhdGhfbGlzdCkpIHsKICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1J1bnRpbWVFcnJvciwKICAgICAgICAgICAgICAgICAgICAgICAgICJzeXMucGF0aCBtdXN0IGJlIGEgbGlzdCBvZiBkaXJlY3RvcnkgbmFtZXMiKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CkBAIC0xNjYzLDE4MyArMjEzMiwxMyBAQAogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAKLSAgICBucGF0aCA9IFB5TGlzdF9TaXplKHBhdGgpOwotICAgIG5hbWVsZW4gPSBzdHJsZW4obmFtZSk7Ci0gICAgZm9yIChpID0gMDsgaSA8IG5wYXRoOyBpKyspIHsKLSAgICAgICAgUHlPYmplY3QgKnYgPSBQeUxpc3RfR2V0SXRlbShwYXRoLCBpKTsKLSAgICAgICAgUHlPYmplY3QgKm9yaWd2ID0gdjsKLSAgICAgICAgY29uc3QgY2hhciAqYmFzZTsKLSAgICAgICAgUHlfc3NpemVfdCBzaXplOwotICAgICAgICBpZiAoIXYpCi0gICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgaWYgKFB5VW5pY29kZV9DaGVjayh2KSkgewotICAgICAgICAgICAgdiA9IFB5VW5pY29kZV9FbmNvZGVGU0RlZmF1bHQodik7Ci0gICAgICAgICAgICBpZiAodiA9PSBOVUxMKQotICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOwotICAgICAgICB9Ci0gICAgICAgIGVsc2UgaWYgKCFQeUJ5dGVzX0NoZWNrKHYpKQotICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIFB5X0lOQ1JFRih2KTsKLQotICAgICAgICBiYXNlID0gUHlCeXRlc19BU19TVFJJTkcodik7Ci0gICAgICAgIHNpemUgPSBQeUJ5dGVzX0dFVF9TSVpFKHYpOwotICAgICAgICBsZW4gPSBzaXplOwotICAgICAgICBpZiAobGVuICsgMiArIG5hbWVsZW4gKyBNQVhTVUZGSVhTSVpFID49IGJ1ZmxlbikgewotICAgICAgICAgICAgUHlfREVDUkVGKHYpOwotICAgICAgICAgICAgY29udGludWU7IC8qIFRvbyBsb25nICovCi0gICAgICAgIH0KLSAgICAgICAgc3RyY3B5KGJ1ZiwgYmFzZSk7Ci0gICAgICAgIFB5X0RFQ1JFRih2KTsKLQotICAgICAgICBpZiAoc3RybGVuKGJ1ZikgIT0gbGVuKSB7Ci0gICAgICAgICAgICBjb250aW51ZTsgLyogdiBjb250YWlucyAnXDAnICovCi0gICAgICAgIH0KLQotICAgICAgICAvKiBzeXMucGF0aF9ob29rcyBpbXBvcnQgaG9vayAqLwotICAgICAgICBpZiAocF9sb2FkZXIgIT0gTlVMTCkgewotICAgICAgICAgICAgUHlPYmplY3QgKmltcG9ydGVyOwotCi0gICAgICAgICAgICBpbXBvcnRlciA9IGdldF9wYXRoX2ltcG9ydGVyKHBhdGhfaW1wb3J0ZXJfY2FjaGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGhfaG9va3MsIG9yaWd2KTsKLSAgICAgICAgICAgIGlmIChpbXBvcnRlciA9PSBOVUxMKSB7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAvKiBOb3RlOiBpbXBvcnRlciBpcyBhIGJvcnJvd2VkIHJlZmVyZW5jZSAqLwotICAgICAgICAgICAgaWYgKGltcG9ydGVyICE9IFB5X05vbmUpIHsKLSAgICAgICAgICAgICAgICBQeU9iamVjdCAqbG9hZGVyOwotICAgICAgICAgICAgICAgIGxvYWRlciA9IFB5T2JqZWN0X0NhbGxNZXRob2QoaW1wb3J0ZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZmluZF9tb2R1bGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInMiLCBmdWxsbmFtZSk7Ci0gICAgICAgICAgICAgICAgaWYgKGxvYWRlciA9PSBOVUxMKQotICAgICAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsgIC8qIGVycm9yICovCi0gICAgICAgICAgICAgICAgaWYgKGxvYWRlciAhPSBQeV9Ob25lKSB7Ci0gICAgICAgICAgICAgICAgICAgIC8qIGEgbG9hZGVyIHdhcyBmb3VuZCAqLwotICAgICAgICAgICAgICAgICAgICAqcF9sb2FkZXIgPSBsb2FkZXI7Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiAmaW1wb3J0aG9va2Rlc2NyOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBQeV9ERUNSRUYobG9hZGVyKTsKLSAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgICAgICAvKiBubyBob29rIHdhcyBmb3VuZCwgdXNlIGJ1aWx0aW4gaW1wb3J0ICovCi0KLSAgICAgICAgaWYgKGxlbiA+IDAgJiYgYnVmW2xlbi0xXSAhPSBTRVAKLSNpZmRlZiBBTFRTRVAKLSAgICAgICAgICAgICYmIGJ1ZltsZW4tMV0gIT0gQUxUU0VQCi0jZW5kaWYKLSAgICAgICAgICAgICkKLSAgICAgICAgICAgIGJ1ZltsZW4rK10gPSBTRVA7Ci0gICAgICAgIHN0cmNweShidWYrbGVuLCBuYW1lKTsKLSAgICAgICAgbGVuICs9IG5hbWVsZW47Ci0KLSAgICAgICAgLyogQ2hlY2sgZm9yIHBhY2thZ2UgaW1wb3J0IChidWYgaG9sZHMgYSBkaXJlY3RvcnkgbmFtZSwKLSAgICAgICAgICAgYW5kIHRoZXJlJ3MgYW4gX19pbml0X18gbW9kdWxlIGluIHRoYXQgZGlyZWN0b3J5ICovCi0jaWZkZWYgSEFWRV9TVEFUCi0gICAgICAgIGlmIChzdGF0KGJ1ZiwgJnN0YXRidWYpID09IDAgJiYgICAgICAgICAvKiBpdCBleGlzdHMgKi8KLSAgICAgICAgICAgIFNfSVNESVIoc3RhdGJ1Zi5zdF9tb2RlKSAmJiAgICAgICAgIC8qIGl0J3MgYSBkaXJlY3RvcnkgKi8KLSAgICAgICAgICAgIGNhc2Vfb2soYnVmLCBsZW4sIG5hbWVsZW4sIG5hbWUpKSB7IC8qIGNhc2UgbWF0Y2hlcyAqLwotICAgICAgICAgICAgaWYgKGZpbmRfaW5pdF9tb2R1bGUoYnVmKSkgeyAvKiBhbmQgaGFzIF9faW5pdF9fLnB5ICovCi0gICAgICAgICAgICAgICAgcmV0dXJuICZmZF9wYWNrYWdlOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICAgICAgaW50IGVycjsKLSAgICAgICAgICAgICAgICBQeU9iamVjdCAqdW5pY29kZSA9IFB5VW5pY29kZV9EZWNvZGVGU0RlZmF1bHQoYnVmKTsKLSAgICAgICAgICAgICAgICBpZiAodW5pY29kZSA9PSBOVUxMKQotICAgICAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgICAgICAgICBlcnIgPSBQeUVycl9XYXJuRm9ybWF0KFB5RXhjX0ltcG9ydFdhcm5pbmcsIDEsCi0gICAgICAgICAgICAgICAgICAgICJOb3QgaW1wb3J0aW5nIGRpcmVjdG9yeSAnJVUnOiBtaXNzaW5nIF9faW5pdF9fLnB5IiwKLSAgICAgICAgICAgICAgICAgICAgdW5pY29kZSk7Ci0gICAgICAgICAgICAgICAgUHlfREVDUkVGKHVuaWNvZGUpOwotICAgICAgICAgICAgICAgIGlmIChlcnIpCi0gICAgICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0jZW5kaWYKLSNpZiBkZWZpbmVkKFBZT1NfT1MyKQotICAgICAgICAvKiB0YWtlIGEgc25hcHNob3Qgb2YgdGhlIG1vZHVsZSBzcGVjIGZvciByZXN0b3JhdGlvbgotICAgICAgICAgKiBhZnRlciB0aGUgOCBjaGFyYWN0ZXIgRExMIGhhY2tlcnkKLSAgICAgICAgICovCi0gICAgICAgIHNhdmVkX2J1ZiA9IHN0cmR1cChidWYpOwotICAgICAgICBzYXZlZF9sZW4gPSBsZW47Ci0gICAgICAgIHNhdmVkX25hbWVsZW4gPSBuYW1lbGVuOwotI2VuZGlmIC8qIFBZT1NfT1MyICovCi0gICAgICAgIGZvciAoZmRwID0gX1B5SW1wb3J0X0ZpbGV0YWI7IGZkcC0+c3VmZml4ICE9IE5VTEw7IGZkcCsrKSB7Ci0gICAgICAgICAgICBzdHJ1Y3Qgc3RhdCBzdGF0YnVmOwotI2lmIGRlZmluZWQoUFlPU19PUzIpICYmIGRlZmluZWQoSEFWRV9EWU5BTUlDX0xPQURJTkcpCi0gICAgICAgICAgICAvKiBPUy8yIGxpbWl0cyBETExzIHRvIDggY2hhcmFjdGVyIG5hbWVzICh3L28KLSAgICAgICAgICAgICAgIGV4dGVuc2lvbikKLSAgICAgICAgICAgICAqIHNvIGlmIHRoZSBuYW1lIGlzIGxvbmdlciB0aGFuIHRoYXQgYW5kIGl0cyBhCi0gICAgICAgICAgICAgKiBkeW5hbWljYWxseSBsb2FkZWQgbW9kdWxlIHdlJ3JlIGdvaW5nIHRvIHRyeSwKLSAgICAgICAgICAgICAqIHRydW5jYXRlIHRoZSBuYW1lIGJlZm9yZSB0cnlpbmcKLSAgICAgICAgICAgICAqLwotICAgICAgICAgICAgaWYgKHN0cmxlbihzdWJuYW1lKSA+IDgpIHsKLSAgICAgICAgICAgICAgICAvKiBpcyB0aGlzIGFuIGF0dGVtcHQgdG8gbG9hZCBhIEMgZXh0ZW5zaW9uPyAqLwotICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBmaWxlZGVzY3IgKnNjYW47Ci0gICAgICAgICAgICAgICAgc2NhbiA9IF9QeUltcG9ydF9EeW5Mb2FkRmlsZXRhYjsKLSAgICAgICAgICAgICAgICB3aGlsZSAoc2Nhbi0+c3VmZml4ICE9IE5VTEwpIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKCFzdHJjbXAoc2Nhbi0+c3VmZml4LCBmZHAtPnN1ZmZpeCkpCi0gICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICAgICAgc2NhbisrOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBpZiAoc2Nhbi0+c3VmZml4ICE9IE5VTEwpIHsKLSAgICAgICAgICAgICAgICAgICAgLyogeWVzLCBzbyB0cnVuY2F0ZSB0aGUgbmFtZSAqLwotICAgICAgICAgICAgICAgICAgICBuYW1lbGVuID0gODsKLSAgICAgICAgICAgICAgICAgICAgbGVuIC09IHN0cmxlbihzdWJuYW1lKSAtIG5hbWVsZW47Ci0gICAgICAgICAgICAgICAgICAgIGJ1ZltsZW5dID0gJ1wwJzsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9Ci0jZW5kaWYgLyogUFlPU19PUzIgKi8KLSAgICAgICAgICAgIHN0cmNweShidWYrbGVuLCBmZHAtPnN1ZmZpeCk7Ci0gICAgICAgICAgICBpZiAoUHlfVmVyYm9zZUZsYWcgPiAxKQotICAgICAgICAgICAgICAgIFB5U3lzX1dyaXRlU3RkZXJyKCIjIHRyeWluZyAlc1xuIiwgYnVmKTsKLQotICAgICAgICAgICAgZmlsZW1vZGUgPSBmZHAtPm1vZGU7Ci0gICAgICAgICAgICBpZiAoZmlsZW1vZGVbMF0gPT0gJ1UnKQotICAgICAgICAgICAgICAgIGZpbGVtb2RlID0gInIiIFBZX1NURElPVEVYVE1PREU7Ci0KLSAgICAgICAgICAgIGlmIChzdGF0KGJ1ZiwgJnN0YXRidWYpID09IDAgJiYgU19JU0RJUihzdGF0YnVmLnN0X21vZGUpKQotICAgICAgICAgICAgICAgIC8qIGl0J3MgYSBkaXJlY3RvcnkgKi8KLSAgICAgICAgICAgICAgICBmcCA9IE5VTEw7Ci0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgZnAgPSBmb3BlbihidWYsIGZpbGVtb2RlKTsKLSAgICAgICAgICAgIGlmIChmcCAhPSBOVUxMKSB7Ci0gICAgICAgICAgICAgICAgaWYgKGNhc2Vfb2soYnVmLCBsZW4sIG5hbWVsZW4sIG5hbWUpKQotICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICBlbHNlIHsgICAgICAgICAgICAgICAgICAgLyogY29udGludWUgc2VhcmNoICovCi0gICAgICAgICAgICAgICAgICAgIGZjbG9zZShmcCk7Ci0gICAgICAgICAgICAgICAgICAgIGZwID0gTlVMTDsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9Ci0jaWYgZGVmaW5lZChQWU9TX09TMikKLSAgICAgICAgICAgIC8qIHJlc3RvcmUgdGhlIHNhdmVkIHNuYXBzaG90ICovCi0gICAgICAgICAgICBzdHJjcHkoYnVmLCBzYXZlZF9idWYpOwotICAgICAgICAgICAgbGVuID0gc2F2ZWRfbGVuOwotICAgICAgICAgICAgbmFtZWxlbiA9IHNhdmVkX25hbWVsZW47Ci0jZW5kaWYKLSAgICAgICAgfQotI2lmIGRlZmluZWQoUFlPU19PUzIpCi0gICAgICAgIC8qIGRvbid0IG5lZWQvd2FudCB0aGUgbW9kdWxlIG5hbWUgc25hcHNob3QgYW55bW9yZSAqLwotICAgICAgICBpZiAoc2F2ZWRfYnVmKQotICAgICAgICB7Ci0gICAgICAgICAgICBmcmVlKHNhdmVkX2J1Zik7Ci0gICAgICAgICAgICBzYXZlZF9idWYgPSBOVUxMOwotICAgICAgICB9Ci0jZW5kaWYKLSAgICAgICAgaWYgKGZwICE9IE5VTEwpCi0gICAgICAgICAgICBicmVhazsKLSAgICB9Ci0gICAgaWYgKGZwID09IE5VTEwpIHsKLSAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX0ltcG9ydEVycm9yLAotICAgICAgICAgICAgICAgICAgICAgIk5vIG1vZHVsZSBuYW1lZCAlLjIwMHMiLCBuYW1lKTsKLSAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgfQotICAgICpwX2ZwID0gZnA7Ci0gICAgcmV0dXJuIGZkcDsKKyAgICByZXR1cm4gZmluZF9tb2R1bGVfcGF0aF9saXN0KGZ1bGxuYW1lLCBuYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VhcmNoX3BhdGhfbGlzdCwgcGF0aF9ob29rcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGhfaW1wb3J0ZXJfY2FjaGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwX3BhdGgsIHBfZnAsIHBfbG9hZGVyKTsKIH0KIAotLyogY2FzZV9vayhjaGFyKiBidWYsIFB5X3NzaXplX3QgbGVuLCBQeV9zc2l6ZV90IG5hbWVsZW4sIGNoYXIqIG5hbWUpCisvKiBjYXNlX2J5dGVzKGNoYXIqIGJ1ZiwgUHlfc3NpemVfdCBsZW4sIFB5X3NzaXplX3QgbmFtZWxlbiwgY2hhciogbmFtZSkKICAqIFRoZSBhcmd1bWVudHMgaGVyZSBhcmUgdHJpY2t5LCBiZXN0IHNob3duIGJ5IGV4YW1wbGU6CiAgKiAgICAvYS9iL2MvZC9lL2YvZy9oL2kvai9rL3NvbWVfbG9uZ19tb2R1bGVfbmFtZS5weVwwCiAgKiAgICBeICAgICAgICAgICAgICAgICAgICAgIF4gICAgICAgICAgICAgICAgICAgXiAgICBeCkBAIC0xODUzLDE4ICsyMTUyLDE4IEBACiAgKiBXZSd2ZSBhbHJlYWR5IGRvbmUgYSBzdWNjZXNzZnVsIHN0YXQoKSBvciBmb3BlbigpIG9uIGJ1Ziwgc28ga25vdyB0aGF0CiAgKiB0aGVyZSdzIHNvbWUgbWF0Y2gsIHBvc3NpYmx5IGNhc2UtaW5zZW5zaXRpdmUuCiAgKgotICogY2FzZV9vaygpIGlzIHRvIHJldHVybiAxIGlmIHRoZXJlJ3MgYSBjYXNlLXNlbnNpdGl2ZSBtYXRjaCBmb3IKLSAqIG5hbWUsIGVsc2UgMC4gIGNhc2Vfb2soKSBpcyBhbHNvIHRvIHJldHVybiAxIGlmIGVudmFyIFBZVEhPTkNBU0VPSworICogY2FzZV9ieXRlcygpIGlzIHRvIHJldHVybiAxIGlmIHRoZXJlJ3MgYSBjYXNlLXNlbnNpdGl2ZSBtYXRjaCBmb3IKKyAqIG5hbWUsIGVsc2UgMC4gIGNhc2VfYnl0ZXMoKSBpcyBhbHNvIHRvIHJldHVybiAxIGlmIGVudmFyIFBZVEhPTkNBU0VPSwogICogZXhpc3RzLgogICoKLSAqIGNhc2Vfb2soKSBpcyB1c2VkIHRvIGltcGxlbWVudCBjYXNlLXNlbnNpdGl2ZSBpbXBvcnQgc2VtYW50aWNzIGV2ZW4KKyAqIGNhc2VfYnl0ZXMoKSBpcyB1c2VkIHRvIGltcGxlbWVudCBjYXNlLXNlbnNpdGl2ZSBpbXBvcnQgc2VtYW50aWNzIGV2ZW4KICAqIG9uIHBsYXRmb3JtcyB3aXRoIGNhc2UtaW5zZW5zaXRpdmUgZmlsZXN5c3RlbXMuICBJdCdzIHRyaXZpYWwgdG8gaW1wbGVtZW50CiAgKiBmb3IgY2FzZS1zZW5zaXRpdmUgZmlsZXN5c3RlbXMuICBJdCdzIHByZXR0eSBtdWNoIGEgY3Jvc3MtcGxhdGZvcm0KICAqIG5pZ2h0bWFyZSBmb3Igc3lzdGVtcyB3aXRoIGNhc2UtaW5zZW5zaXRpdmUgZmlsZXN5c3RlbXMuCiAgKi8KIAogLyogRmlyc3Qgd2UgbWF5IG5lZWQgYSBwaWxlIG9mIHBsYXRmb3JtLXNwZWNpZmljIGhlYWRlciBmaWxlczsgdGhlIHNlcXVlbmNlCi0gKiBvZiAjaWYncyBoZXJlIHNob3VsZCBtYXRjaCB0aGUgc2VxdWVuY2UgaW4gdGhlIGJvZHkgb2YgY2FzZV9vaygpLgorICogb2YgI2lmJ3MgaGVyZSBzaG91bGQgbWF0Y2ggdGhlIHNlcXVlbmNlIGluIHRoZSBib2R5IG9mIGNhc2VfYnl0ZXMoKS4KICAqLwogI2lmIGRlZmluZWQoTVNfV0lORE9XUykKICNpbmNsdWRlIDx3aW5kb3dzLmg+CkBAIC0xODgzLDMzICsyMTgyLDI0IEBACiAjaW5jbHVkZSA8b3MyLmg+CiAjZW5kaWYKIAorI2lmIGRlZmluZWQoREpHUFApIFwKKyAgICB8fCAoKGRlZmluZWQoX19NQUNIX18pICYmIGRlZmluZWQoX19BUFBMRV9fKSB8fCBkZWZpbmVkKF9fQ1lHV0lOX18pKSBcCisgICAgICAgICYmIGRlZmluZWQoSEFWRV9ESVJFTlRfSCkpIFwKKyAgICB8fCBkZWZpbmVkKFBZT1NfT1MyKQorIyAgZGVmaW5lIFVTRV9DQVNFX09LX0JZVEVTCisjZW5kaWYKKworCisjaWZkZWYgVVNFX0NBU0VfT0tfQllURVMKIHN0YXRpYyBpbnQKLWNhc2Vfb2soY2hhciAqYnVmLCBQeV9zc2l6ZV90IGxlbiwgUHlfc3NpemVfdCBuYW1lbGVuLCBjaGFyICpuYW1lKQorY2FzZV9ieXRlcyhjaGFyICpidWYsIFB5X3NzaXplX3QgbGVuLCBQeV9zc2l6ZV90IG5hbWVsZW4sIGNvbnN0IGNoYXIgKm5hbWUpCiB7CiAvKiBQaWNrIGEgcGxhdGZvcm0tc3BlY2lmaWMgaW1wbGVtZW50YXRpb247IHRoZSBzZXF1ZW5jZSBvZiAjaWYncyBoZXJlIHNob3VsZAogICogbWF0Y2ggdGhlIHNlcXVlbmNlIGp1c3QgYWJvdmUuCiAgKi8KIAotLyogTVNfV0lORE9XUyAqLwotI2lmIGRlZmluZWQoTVNfV0lORE9XUykKLSAgICBXSU4zMl9GSU5EX0RBVEEgZGF0YTsKLSAgICBIQU5ETEUgaDsKLQotICAgIGlmIChQeV9HRVRFTlYoIlBZVEhPTkNBU0VPSyIpICE9IE5VTEwpCi0gICAgICAgIHJldHVybiAxOwotCi0gICAgaCA9IEZpbmRGaXJzdEZpbGUoYnVmLCAmZGF0YSk7Ci0gICAgaWYgKGggPT0gSU5WQUxJRF9IQU5ETEVfVkFMVUUpIHsKLSAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX05hbWVFcnJvciwKLSAgICAgICAgICAiQ2FuJ3QgZmluZCBmaWxlIGZvciBtb2R1bGUgJS4xMDBzXG4oZmlsZW5hbWUgJS4zMDBzKSIsCi0gICAgICAgICAgbmFtZSwgYnVmKTsKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgfQotICAgIEZpbmRDbG9zZShoKTsKLSAgICByZXR1cm4gc3RybmNtcChkYXRhLmNGaWxlTmFtZSwgbmFtZSwgbmFtZWxlbikgPT0gMDsKLQogLyogREpHUFAgKi8KLSNlbGlmIGRlZmluZWQoREpHUFApCisjaWYgZGVmaW5lZChESkdQUCkKICAgICBzdHJ1Y3QgZmZibGsgZmZibGs7CiAgICAgaW50IGRvbmU7CiAKQEAgLTE5MjEsNyArMjIxMSw3IEBACiAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19OYW1lRXJyb3IsCiAgICAgICAgICAgIkNhbid0IGZpbmQgZmlsZSBmb3IgbW9kdWxlICUuMTAwc1xuKGZpbGVuYW1lICUuMzAwcykiLAogICAgICAgICAgIG5hbWUsIGJ1Zik7Ci0gICAgICAgIHJldHVybiAwOworICAgICAgICByZXR1cm4gLTE7CiAgICAgfQogICAgIHJldHVybiBzdHJuY21wKGZmYmxrLmZmX25hbWUsIG5hbWUsIG5hbWVsZW4pID09IDA7CiAKQEAgLTE5ODgsNiArMjI3OCw3OSBAQAogCiAvKiBhc3N1bWluZyBpdCdzIGEgY2FzZS1zZW5zaXRpdmUgZmlsZXN5c3RlbSwgc28gdGhlcmUncyBub3RoaW5nIHRvIGRvISAqLwogI2Vsc2UKKyMgICBlcnJvciAiVVNFX0NBU0VfT0tfQllURVMgaXMgbm90IGNvcnJlY3RseSBkZWZpbmVkIgorI2VuZGlmCit9CisjZW5kaWYKKworLyoKKyAqIENoZWNrIGlmIGEgZmlsZW5hbWUgY2FzZSBtYXRjaHMgdGhlIG5hbWUgY2FzZS4gV2UndmUgYWxyZWFkeSBkb25lIGEKKyAqIHN1Y2Nlc3NmdWwgc3RhdCgpIG9yIGZvcGVuKCkgb24gYnVmLCBzbyBrbm93IHRoYXQgdGhlcmUncyBzb21lIG1hdGNoLAorICogcG9zc2libHkgY2FzZS1pbnNlbnNpdGl2ZS4KKyAqCisgKiBjYXNlX29rKCkgaXMgdG8gcmV0dXJuIDEgaWYgdGhlcmUncyBhIGNhc2Utc2Vuc2l0aXZlIG1hdGNoIGZvciBuYW1lLCAwIGlmIGl0CisgKiB0aGUgZmlsZW5hbWUgZG9lc24ndCBtYXRjaCwgb3IgLTEgb24gZXJyb3IuICBjYXNlX29rKCkgaXMgYWxzbyB0byByZXR1cm4gMQorICogaWYgZW52YXIgUFlUSE9OQ0FTRU9LIGV4aXN0cy4KKyAqCisgKiBjYXNlX29rKCkgaXMgdXNlZCB0byBpbXBsZW1lbnQgY2FzZS1zZW5zaXRpdmUgaW1wb3J0IHNlbWFudGljcyBldmVuCisgKiBvbiBwbGF0Zm9ybXMgd2l0aCBjYXNlLWluc2Vuc2l0aXZlIGZpbGVzeXN0ZW1zLiAgSXQncyB0cml2aWFsIHRvIGltcGxlbWVudAorICogZm9yIGNhc2Utc2Vuc2l0aXZlIGZpbGVzeXN0ZW1zLiAgSXQncyBwcmV0dHkgbXVjaCBhIGNyb3NzLXBsYXRmb3JtCisgKiBuaWdodG1hcmUgZm9yIHN5c3RlbXMgd2l0aCBjYXNlLWluc2Vuc2l0aXZlIGZpbGVzeXN0ZW1zLgorICovCisKK3N0YXRpYyBpbnQKK2Nhc2Vfb2soUHlPYmplY3QgKmZpbGVuYW1lLCBQeV9zc2l6ZV90IHByZWZpeF9kZWx0YSwgUHlPYmplY3QgKm5hbWUpCit7CisjaWZkZWYgTVNfV0lORE9XUworICAgIFdJTjMyX0ZJTkRfREFUQVcgZGF0YTsKKyAgICBIQU5ETEUgaDsKKyAgICBpbnQgY21wOworICAgIHdjaGFyX3QgKndmaWxlbmFtZSwgKnduYW1lOworICAgIFB5X3NzaXplX3Qgd25hbWVfbGVuOworCisgICAgaWYgKFB5X0dFVEVOVigiUFlUSE9OQ0FTRU9LIikgIT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIDE7CisKKyAgICB3ZmlsZW5hbWUgPSBQeVVuaWNvZGVfQXNVbmljb2RlKGZpbGVuYW1lKTsKKyAgICBpZiAod2ZpbGVuYW1lID09IE5VTEwpCisgICAgICAgIHJldHVybiAtMTsKKworICAgIGggPSBGaW5kRmlyc3RGaWxlVyh3ZmlsZW5hbWUsICZkYXRhKTsKKyAgICBpZiAoaCA9PSBJTlZBTElEX0hBTkRMRV9WQUxVRSkgeworICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfTmFtZUVycm9yLAorICAgICAgICAgICJDYW4ndCBmaW5kIGZpbGUgZm9yIG1vZHVsZSAlUlxuKGZpbGVuYW1lICVSKSIsCisgICAgICAgICAgbmFtZSwgZmlsZW5hbWUpOworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorICAgIEZpbmRDbG9zZShoKTsKKworICAgIHduYW1lID0gUHlVbmljb2RlX0FzVW5pY29kZUFuZFNpemUobmFtZSwgJnduYW1lX2xlbik7CisgICAgaWYgKHduYW1lID09IE5VTEwpCisgICAgICAgIHJldHVybiAtMTsKKworICAgIGNtcCA9IHdjc25jbXAoZGF0YS5jRmlsZU5hbWUsIHduYW1lLCB3bmFtZV9sZW4pOworICAgIHJldHVybiBjbXAgPT0gMDsKKyNlbGlmIGRlZmluZWQoVVNFX0NBU0VfT0tfQllURVMpCisgICAgaW50IG1hdGNoOworICAgIFB5T2JqZWN0ICpmaWxlYnl0ZXMsICpuYW1lYnl0ZXM7CisgICAgZmlsZWJ5dGVzID0gUHlVbmljb2RlX0VuY29kZUZTRGVmYXVsdChmaWxlbmFtZSk7CisgICAgaWYgKGZpbGVieXRlcyA9PSBOVUxMKQorICAgICAgICByZXR1cm4gLTE7CisgICAgbmFtZWJ5dGVzID0gUHlVbmljb2RlX0VuY29kZUZTRGVmYXVsdChuYW1lKTsKKyAgICBpZiAobmFtZWJ5dGVzID09IE5VTEwpIHsKKyAgICAgICAgUHlfREVDUkVGKGZpbGVieXRlcyk7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisgICAgbWF0Y2ggPSBjYXNlX2J5dGVzKAorICAgICAgICBQeUJ5dGVzX0FTX1NUUklORyhmaWxlYnl0ZXMpLAorICAgICAgICBQeUJ5dGVzX0dFVF9TSVpFKGZpbGVieXRlcykgKyBwcmVmaXhfZGVsdGEsCisgICAgICAgIFB5Qnl0ZXNfR0VUX1NJWkUobmFtZWJ5dGVzKSwKKyAgICAgICAgUHlCeXRlc19BU19TVFJJTkcobmFtZWJ5dGVzKSk7CisgICAgUHlfREVDUkVGKGZpbGVieXRlcyk7CisgICAgUHlfREVDUkVGKG5hbWVieXRlcyk7CisgICAgcmV0dXJuIG1hdGNoOworI2Vsc2UKKyAgICAvKiBhc3N1bWluZyBpdCdzIGEgY2FzZS1zZW5zaXRpdmUgZmlsZXN5c3RlbSwgc28gdGhlcmUncyBub3RoaW5nIHRvIGRvISAqLwogICAgIHJldHVybiAxOwogCiAjZW5kaWYKQEAgLTE5OTUsODkgKzIzNTgsOTMgQEAKIAogI2lmZGVmIEhBVkVfU1RBVAogCi0vKiBIZWxwZXIgdG8gbG9vayBmb3IgX19pbml0X18ucHkgb3IgX19pbml0X18ucHlbY29dIGluIHBvdGVudGlhbCBwYWNrYWdlICovCisvKiBIZWxwZXIgdG8gbG9vayBmb3IgX19pbml0X18ucHkgb3IgX19pbml0X18ucHlbY29dIGluIHBvdGVudGlhbCBwYWNrYWdlLgorICAgUmV0dXJuIDEgaWYgX19pbml0X18gd2FzIGZvdW5kLCAwIGlmIG5vdCwgb3IgLTEgb24gZXJyb3IuICovCiBzdGF0aWMgaW50Ci1maW5kX2luaXRfbW9kdWxlKGNoYXIgKmJ1ZikKK2ZpbmRfaW5pdF9tb2R1bGUoUHlPYmplY3QgKmRpcmVjdG9yeSkKIHsKLSAgICBjb25zdCBzaXplX3Qgc2F2ZV9sZW4gPSBzdHJsZW4oYnVmKTsKLSAgICBzaXplX3QgaSA9IHNhdmVfbGVuOwotICAgIGNoYXIgKnBuYW1lOyAgLyogcG9pbnRlciB0byBzdGFydCBvZiBfX2luaXRfXyAqLwogICAgIHN0cnVjdCBzdGF0IHN0YXRidWY7CisgICAgUHlPYmplY3QgKmZpbGVuYW1lOworICAgIGludCBtYXRjaDsKKyAgICBpbnQgZXJyOwogCi0vKiAgICAgIEZvciBjYWxsaW5nIGNhc2Vfb2soYnVmLCBsZW4sIG5hbWVsZW4sIG5hbWUpOgotICogICAgICAvYS9iL2MvZC9lL2YvZy9oL2kvai9rL3NvbWVfbG9uZ19tb2R1bGVfbmFtZS5weVwwCi0gKiAgICAgIF4gICAgICAgICAgICAgICAgICAgICAgXiAgICAgICAgICAgICAgICAgICBeICAgIF4KLSAqICAgICAgfC0tLS0tLS0tLS0tLS0tLS0tLS0tLSBidWYgLS0tLS0tLS0tLS0tLS0tLS0tLS0tfAotICogICAgICB8LS0tLS0tLS0tLS0tLS0tLS0tLSBsZW4gLS0tLS0tLS0tLS0tLS0tLS0tfAotICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwtLS0tLS0gbmFtZSAtLS0tLS0tfAotICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwtLS0tLSBuYW1lbGVuIC0tLS0tfAotICovCi0gICAgaWYgKHNhdmVfbGVuICsgMTMgPj0gTUFYUEFUSExFTikKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgYnVmW2krK10gPSBTRVA7Ci0gICAgcG5hbWUgPSBidWYgKyBpOwotICAgIHN0cmNweShwbmFtZSwgIl9faW5pdF9fLnB5Iik7Ci0gICAgaWYgKHN0YXQoYnVmLCAmc3RhdGJ1ZikgPT0gMCkgewotICAgICAgICBpZiAoY2FzZV9vayhidWYsCi0gICAgICAgICAgICAgICAgICAgIHNhdmVfbGVuICsgOSwgICAgICAgICAgICAgICAvKiBsZW4oIi9fX2luaXRfXyIpICovCi0gICAgICAgICAgICAgICAgOCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBsZW4oIl9faW5pdF9fIikgKi8KLSAgICAgICAgICAgICAgICBwbmFtZSkpIHsKLSAgICAgICAgICAgIGJ1ZltzYXZlX2xlbl0gPSAnXDAnOworICAgIGZpbGVuYW1lID0gUHlVbmljb2RlX0Zyb21Gb3JtYXQoIiVVJWNfX2luaXRfXy5weSIsIGRpcmVjdG9yeSwgU0VQKTsKKyAgICBpZiAoZmlsZW5hbWUgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIC0xOworICAgIGVyciA9IF9QeV9zdGF0KGZpbGVuYW1lLCAmc3RhdGJ1Zik7CisgICAgaWYgKGVyciA9PSAtMikKKyAgICAgICAgcmV0dXJuIC0xOworICAgIGlmIChlcnIgPT0gMCkgeworICAgICAgICAvKiAzPWxlbigiLnB5IikgKi8KKyAgICAgICAgbWF0Y2ggPSBjYXNlX29rKGZpbGVuYW1lLCAtMywgaW5pdHN0cik7CisgICAgICAgIGlmIChtYXRjaCA8IDApIHsKKyAgICAgICAgICAgIFB5X0RFQ1JFRihmaWxlbmFtZSk7CisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIH0KKyAgICAgICAgaWYgKG1hdGNoKSB7CisgICAgICAgICAgICBQeV9ERUNSRUYoZmlsZW5hbWUpOwogICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgIH0KICAgICB9Ci0gICAgaSArPSBzdHJsZW4ocG5hbWUpOwotICAgIHN0cmNweShidWYraSwgUHlfT3B0aW1pemVGbGFnID8gIm8iIDogImMiKTsKLSAgICBpZiAoc3RhdChidWYsICZzdGF0YnVmKSA9PSAwKSB7Ci0gICAgICAgIGlmIChjYXNlX29rKGJ1ZiwKLSAgICAgICAgICAgICAgICAgICAgc2F2ZV9sZW4gKyA5LCAgICAgICAgICAgICAgIC8qIGxlbigiL19faW5pdF9fIikgKi8KLSAgICAgICAgICAgICAgICA4LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIGxlbigiX19pbml0X18iKSAqLwotICAgICAgICAgICAgICAgIHBuYW1lKSkgewotICAgICAgICAgICAgYnVmW3NhdmVfbGVuXSA9ICdcMCc7CisgICAgUHlfREVDUkVGKGZpbGVuYW1lKTsKKworICAgIGZpbGVuYW1lID0gUHlVbmljb2RlX0Zyb21Gb3JtYXQoIiVVJWNfX2luaXRfXy5weSVjIiwKKyAgICAgICAgZGlyZWN0b3J5LCBTRVAsIFB5X09wdGltaXplRmxhZyA/ICdvJyA6ICdjJyk7CisgICAgaWYgKGZpbGVuYW1lID09IE5VTEwpCisgICAgICAgIHJldHVybiAtMTsKKyAgICBlcnIgPSBfUHlfc3RhdChmaWxlbmFtZSwgJnN0YXRidWYpOworICAgIGlmIChlcnIgPT0gLTIpIHsKKyAgICAgICAgUHlfREVDUkVGKGZpbGVuYW1lKTsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKyAgICBpZiAoZXJyID09IDApIHsKKyAgICAgICAgLyogND1sZW4oIi5weWMiKSAqLworICAgICAgICBtYXRjaCA9IGNhc2Vfb2soZmlsZW5hbWUsIC00LCBpbml0c3RyKTsKKyAgICAgICAgaWYgKG1hdGNoIDwgMCkgeworICAgICAgICAgICAgUHlfREVDUkVGKGZpbGVuYW1lKTsKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgfQorICAgICAgICBpZiAobWF0Y2gpIHsKKyAgICAgICAgICAgIFB5X0RFQ1JFRihmaWxlbmFtZSk7CiAgICAgICAgICAgICByZXR1cm4gMTsKICAgICAgICAgfQogICAgIH0KLSAgICBidWZbc2F2ZV9sZW5dID0gJ1wwJzsKKyAgICBQeV9ERUNSRUYoZmlsZW5hbWUpOwogICAgIHJldHVybiAwOwogfQogCiAjZW5kaWYgLyogSEFWRV9TVEFUICovCiAKIAotc3RhdGljIGludCBpbml0X2J1aWx0aW4oY2hhciAqKTsgLyogRm9yd2FyZCAqLworc3RhdGljIGludCBpbml0X2J1aWx0aW4oUHlPYmplY3QgKik7IC8qIEZvcndhcmQgKi8KIAogc3RhdGljIFB5T2JqZWN0KgotbG9hZF9idWlsdGluKGNoYXIgKm5hbWUsIGNoYXIgKnBhdGhuYW1lLCBpbnQgdHlwZSkKK2xvYWRfYnVpbHRpbihQeU9iamVjdCAqbmFtZSwgaW50IHR5cGUpCiB7CiAgICAgUHlPYmplY3QgKm0sICptb2R1bGVzOwogICAgIGludCBlcnI7CiAKLSAgICBpZiAocGF0aG5hbWUgIT0gTlVMTCAmJiBwYXRobmFtZVswXSAhPSAnXDAnKQotICAgICAgICBuYW1lID0gcGF0aG5hbWU7Ci0KICAgICBpZiAodHlwZSA9PSBDX0JVSUxUSU4pCiAgICAgICAgIGVyciA9IGluaXRfYnVpbHRpbihuYW1lKTsKICAgICBlbHNlCi0gICAgICAgIGVyciA9IFB5SW1wb3J0X0ltcG9ydEZyb3plbk1vZHVsZShuYW1lKTsKKyAgICAgICAgZXJyID0gUHlJbXBvcnRfSW1wb3J0RnJvemVuTW9kdWxlT2JqZWN0KG5hbWUpOwogICAgIGlmIChlcnIgPCAwKQogICAgICAgICByZXR1cm4gTlVMTDsKICAgICBpZiAoZXJyID09IDApIHsKICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX0ltcG9ydEVycm9yLAotICAgICAgICAgICAgICAgICJQdXJwb3J0ZWQgJXMgbW9kdWxlICUuMjAwcyBub3QgZm91bmQiLAotICAgICAgICAgICAgICAgIHR5cGUgPT0gQ19CVUlMVElOID8KLSAgICAgICAgICAgICAgICAiYnVpbHRpbiIgOiAiZnJvemVuIiwKKyAgICAgICAgICAgICAgICAiUHVycG9ydGVkICVzIG1vZHVsZSAlUiBub3QgZm91bmQiLAorICAgICAgICAgICAgICAgIHR5cGUgPT0gQ19CVUlMVElOID8gImJ1aWx0aW4iIDogImZyb3plbiIsCiAgICAgICAgICAgICAgICAgbmFtZSk7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KIAogICAgIG1vZHVsZXMgPSBQeUltcG9ydF9HZXRNb2R1bGVEaWN0KCk7Ci0gICAgbSA9IFB5RGljdF9HZXRJdGVtU3RyaW5nKG1vZHVsZXMsIG5hbWUpOworICAgIG0gPSBQeURpY3RfR2V0SXRlbShtb2R1bGVzLCBuYW1lKTsKICAgICBpZiAobSA9PSBOVUxMKSB7CiAgICAgICAgIFB5RXJyX0Zvcm1hdCgKICAgICAgICAgICAgICAgICBQeUV4Y19JbXBvcnRFcnJvciwKLSAgICAgICAgICAgICAgICAiJXMgbW9kdWxlICUuMjAwcyBub3QgcHJvcGVybHkgaW5pdGlhbGl6ZWQiLAotICAgICAgICAgICAgICAgIHR5cGUgPT0gQ19CVUlMVElOID8KLSAgICAgICAgICAgICAgICAiYnVpbHRpbiIgOiAiZnJvemVuIiwKKyAgICAgICAgICAgICAgICAiJXMgbW9kdWxlICVSIG5vdCBwcm9wZXJseSBpbml0aWFsaXplZCIsCisgICAgICAgICAgICAgICAgdHlwZSA9PSBDX0JVSUxUSU4gPyAiYnVpbHRpbiIgOiAiZnJvemVuIiwKICAgICAgICAgICAgICAgICBuYW1lKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQpAQCAtMjA4OSw3ICsyNDU2LDcgQEAKICAgIGl0cyBtb2R1bGUgb2JqZWN0IFdJVEggSU5DUkVNRU5URUQgUkVGRVJFTkNFIENPVU5UICovCiAKIHN0YXRpYyBQeU9iamVjdCAqCi1sb2FkX21vZHVsZShjaGFyICpuYW1lLCBGSUxFICpmcCwgY2hhciAqcGF0aG5hbWUsIGludCB0eXBlLCBQeU9iamVjdCAqbG9hZGVyKQorbG9hZF9tb2R1bGUoUHlPYmplY3QgKm5hbWUsIEZJTEUgKmZwLCBQeU9iamVjdCAqcGF0aG5hbWUsIGludCB0eXBlLCBQeU9iamVjdCAqbG9hZGVyKQogewogICAgIFB5T2JqZWN0ICptOwogCkBAIC0yMDk5LDcgKzI0NjYsNyBAQAogICAgIGNhc2UgUFlfQ09NUElMRUQ6CiAgICAgICAgIGlmIChmcCA9PSBOVUxMKSB7CiAgICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVmFsdWVFcnJvciwKLSAgICAgICAgICAgICAgICJmaWxlIG9iamVjdCByZXF1aXJlZCBmb3IgaW1wb3J0ICh0eXBlIGNvZGUgJWQpIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAiZmlsZSBvYmplY3QgcmVxdWlyZWQgZm9yIGltcG9ydCAodHlwZSBjb2RlICVkKSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZSk7CiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICAgICAgfQpAQCAtMjEyNywyMiArMjQ5NCwyMyBAQAogCiAgICAgY2FzZSBDX0JVSUxUSU46CiAgICAgY2FzZSBQWV9GUk9aRU46Ci0gICAgICAgIG0gPSBsb2FkX2J1aWx0aW4obmFtZSwgcGF0aG5hbWUsIHR5cGUpOworICAgICAgICBtID0gbG9hZF9idWlsdGluKG5hbWUsIHR5cGUpOwogICAgICAgICBicmVhazsKIAogICAgIGNhc2UgSU1QX0hPT0s6IHsKKyAgICAgICAgX1B5X0lERU5USUZJRVIobG9hZF9tb2R1bGUpOwogICAgICAgICBpZiAobG9hZGVyID09IE5VTEwpIHsKICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19JbXBvcnRFcnJvciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiaW1wb3J0IGhvb2sgd2l0aG91dCBsb2FkZXIiKTsKICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICB9Ci0gICAgICAgIG0gPSBQeU9iamVjdF9DYWxsTWV0aG9kKGxvYWRlciwgImxvYWRfbW9kdWxlIiwgInMiLCBuYW1lKTsKKyAgICAgICAgbSA9IF9QeU9iamVjdF9DYWxsTWV0aG9kSWQobG9hZGVyLCAmUHlJZF9sb2FkX21vZHVsZSwgIk8iLCBuYW1lKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQogCiAgICAgZGVmYXVsdDoKICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX0ltcG9ydEVycm9yLAotICAgICAgICAgICAgICAgICAgICAgIkRvbid0IGtub3cgaG93IHRvIGltcG9ydCAlLjIwMHMgKHR5cGUgY29kZSAlZCkiLAorICAgICAgICAgICAgICAgICAgICAgIkRvbid0IGtub3cgaG93IHRvIGltcG9ydCAlUiAodHlwZSBjb2RlICVkKSIsCiAgICAgICAgICAgICAgICAgICAgICAgbmFtZSwgdHlwZSk7CiAgICAgICAgIG0gPSBOVUxMOwogCkBAIC0yMTU3LDMyICsyNTI1LDMyIEBACiAgICBhbiBleGNlcHRpb24gc2V0IGlmIHRoZSBpbml0aWFsaXphdGlvbiBmYWlsZWQuICovCiAKIHN0YXRpYyBpbnQKLWluaXRfYnVpbHRpbihjaGFyICpuYW1lKQoraW5pdF9idWlsdGluKFB5T2JqZWN0ICpuYW1lKQogewogICAgIHN0cnVjdCBfaW5pdHRhYiAqcDsKIAotICAgIGlmIChfUHlJbXBvcnRfRmluZEJ1aWx0aW4obmFtZSkgIT0gTlVMTCkKKyAgICBpZiAoX1B5SW1wb3J0X0ZpbmRFeHRlbnNpb25PYmplY3QobmFtZSwgbmFtZSkgIT0gTlVMTCkKICAgICAgICAgcmV0dXJuIDE7CiAKICAgICBmb3IgKHAgPSBQeUltcG9ydF9Jbml0dGFiOyBwLT5uYW1lICE9IE5VTEw7IHArKykgewogICAgICAgICBQeU9iamVjdCAqbW9kOwogICAgICAgICBQeU1vZHVsZURlZiAqZGVmOwotICAgICAgICBpZiAoc3RyY21wKG5hbWUsIHAtPm5hbWUpID09IDApIHsKKyAgICAgICAgaWYgKFB5VW5pY29kZV9Db21wYXJlV2l0aEFTQ0lJU3RyaW5nKG5hbWUsIHAtPm5hbWUpID09IDApIHsKICAgICAgICAgICAgIGlmIChwLT5pbml0ZnVuYyA9PSBOVUxMKSB7CiAgICAgICAgICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX0ltcG9ydEVycm9yLAotICAgICAgICAgICAgICAgICAgICAiQ2Fubm90IHJlLWluaXQgaW50ZXJuYWwgbW9kdWxlICUuMjAwcyIsCisgICAgICAgICAgICAgICAgICAgICJDYW5ub3QgcmUtaW5pdCBpbnRlcm5hbCBtb2R1bGUgJVIiLAogICAgICAgICAgICAgICAgICAgICBuYW1lKTsKICAgICAgICAgICAgICAgICByZXR1cm4gLTE7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBpZiAoUHlfVmVyYm9zZUZsYWcpCi0gICAgICAgICAgICAgICAgUHlTeXNfV3JpdGVTdGRlcnIoImltcG9ydCAlcyAjIGJ1aWx0aW5cbiIsIG5hbWUpOworICAgICAgICAgICAgICAgIFB5U3lzX0Zvcm1hdFN0ZGVycigiaW1wb3J0ICVVICMgYnVpbHRpblxuIiwgbmFtZSk7CiAgICAgICAgICAgICBtb2QgPSAoKnAtPmluaXRmdW5jKSgpOwogICAgICAgICAgICAgaWYgKG1vZCA9PSAwKQogICAgICAgICAgICAgICAgIHJldHVybiAtMTsKICAgICAgICAgICAgIC8qIFJlbWVtYmVyIHBvaW50ZXIgdG8gbW9kdWxlIGluaXQgZnVuY3Rpb24uICovCiAgICAgICAgICAgICBkZWYgPSBQeU1vZHVsZV9HZXREZWYobW9kKTsKICAgICAgICAgICAgIGRlZi0+bV9iYXNlLm1faW5pdCA9IHAtPmluaXRmdW5jOwotICAgICAgICAgICAgaWYgKF9QeUltcG9ydF9GaXh1cEJ1aWx0aW4obW9kLCBuYW1lKSA8IDApCisgICAgICAgICAgICBpZiAoX1B5SW1wb3J0X0ZpeHVwRXh0ZW5zaW9uT2JqZWN0KG1vZCwgbmFtZSwgbmFtZSkgPCAwKQogICAgICAgICAgICAgICAgIHJldHVybiAtMTsKICAgICAgICAgICAgIC8qIEZpeHVwRXh0ZW5zaW9uIGhhcyBwdXQgdGhlIG1vZHVsZSBpbnRvIHN5cy5tb2R1bGVzLAogICAgICAgICAgICAgICAgc28gd2UgY2FuIHJlbGVhc2Ugb3VyIG93biByZWZlcmVuY2UuICovCkBAIC0yMTk3LDM3ICsyNTY1LDM3IEBACiAvKiBGcm96ZW4gbW9kdWxlcyAqLwogCiBzdGF0aWMgc3RydWN0IF9mcm96ZW4gKgotZmluZF9mcm96ZW4oY2hhciAqbmFtZSkKK2ZpbmRfZnJvemVuKFB5T2JqZWN0ICpuYW1lKQogewogICAgIHN0cnVjdCBfZnJvemVuICpwOwogCi0gICAgaWYgKCFuYW1lKQorICAgIGlmIChuYW1lID09IE5VTEwpCiAgICAgICAgIHJldHVybiBOVUxMOwogCiAgICAgZm9yIChwID0gUHlJbXBvcnRfRnJvemVuTW9kdWxlczsgOyBwKyspIHsKICAgICAgICAgaWYgKHAtPm5hbWUgPT0gTlVMTCkKICAgICAgICAgICAgIHJldHVybiBOVUxMOwotICAgICAgICBpZiAoc3RyY21wKHAtPm5hbWUsIG5hbWUpID09IDApCisgICAgICAgIGlmIChQeVVuaWNvZGVfQ29tcGFyZVdpdGhBU0NJSVN0cmluZyhuYW1lLCBwLT5uYW1lKSA9PSAwKQogICAgICAgICAgICAgYnJlYWs7CiAgICAgfQogICAgIHJldHVybiBwOwogfQogCiBzdGF0aWMgUHlPYmplY3QgKgotZ2V0X2Zyb3plbl9vYmplY3QoY2hhciAqbmFtZSkKK2dldF9mcm96ZW5fb2JqZWN0KFB5T2JqZWN0ICpuYW1lKQogewogICAgIHN0cnVjdCBfZnJvemVuICpwID0gZmluZF9mcm96ZW4obmFtZSk7CiAgICAgaW50IHNpemU7CiAKICAgICBpZiAocCA9PSBOVUxMKSB7CiAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19JbXBvcnRFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICJObyBzdWNoIGZyb3plbiBvYmplY3QgbmFtZWQgJS4yMDBzIiwKKyAgICAgICAgICAgICAgICAgICAgICJObyBzdWNoIGZyb3plbiBvYmplY3QgbmFtZWQgJVIiLAogICAgICAgICAgICAgICAgICAgICAgbmFtZSk7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KICAgICBpZiAocC0+Y29kZSA9PSBOVUxMKSB7CiAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19JbXBvcnRFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICJFeGNsdWRlZCBmcm96ZW4gb2JqZWN0IG5hbWVkICUuMjAwcyIsCisgICAgICAgICAgICAgICAgICAgICAiRXhjbHVkZWQgZnJvemVuIG9iamVjdCBuYW1lZCAlUiIsCiAgICAgICAgICAgICAgICAgICAgICBuYW1lKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQpAQCAtMjIzOCwxNCArMjYwNiwxNCBAQAogfQogCiBzdGF0aWMgUHlPYmplY3QgKgotaXNfZnJvemVuX3BhY2thZ2UoY2hhciAqbmFtZSkKK2lzX2Zyb3plbl9wYWNrYWdlKFB5T2JqZWN0ICpuYW1lKQogewogICAgIHN0cnVjdCBfZnJvemVuICpwID0gZmluZF9mcm96ZW4obmFtZSk7CiAgICAgaW50IHNpemU7CiAKICAgICBpZiAocCA9PSBOVUxMKSB7CiAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19JbXBvcnRFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICJObyBzdWNoIGZyb3plbiBvYmplY3QgbmFtZWQgJS4yMDBzIiwKKyAgICAgICAgICAgICAgICAgICAgICJObyBzdWNoIGZyb3plbiBvYmplY3QgbmFtZWQgJVIiLAogICAgICAgICAgICAgICAgICAgICAgbmFtZSk7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KQEAgLTIyNjUsMTkgKzI2MzMsMjAgQEAKICAgIFRoaXMgZnVuY3Rpb24gaXMgYWxzbyB1c2VkIGZyb20gZnJvemVubWFpbi5jICovCiAKIGludAotUHlJbXBvcnRfSW1wb3J0RnJvemVuTW9kdWxlKGNoYXIgKm5hbWUpCitQeUltcG9ydF9JbXBvcnRGcm96ZW5Nb2R1bGVPYmplY3QoUHlPYmplY3QgKm5hbWUpCiB7Ci0gICAgc3RydWN0IF9mcm96ZW4gKnAgPSBmaW5kX2Zyb3plbihuYW1lKTsKLSAgICBQeU9iamVjdCAqY287Ci0gICAgUHlPYmplY3QgKm07CisgICAgc3RydWN0IF9mcm96ZW4gKnA7CisgICAgUHlPYmplY3QgKmNvLCAqbSwgKnBhdGg7CiAgICAgaW50IGlzcGFja2FnZTsKICAgICBpbnQgc2l6ZTsKIAorICAgIHAgPSBmaW5kX2Zyb3plbihuYW1lKTsKKwogICAgIGlmIChwID09IE5VTEwpCiAgICAgICAgIHJldHVybiAwOwogICAgIGlmIChwLT5jb2RlID09IE5VTEwpIHsKICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX0ltcG9ydEVycm9yLAotICAgICAgICAgICAgICAgICAgICAgIkV4Y2x1ZGVkIGZyb3plbiBvYmplY3QgbmFtZWQgJS4yMDBzIiwKKyAgICAgICAgICAgICAgICAgICAgICJFeGNsdWRlZCBmcm96ZW4gb2JqZWN0IG5hbWVkICVSIiwKICAgICAgICAgICAgICAgICAgICAgIG5hbWUpOwogICAgICAgICByZXR1cm4gLTE7CiAgICAgfQpAQCAtMjI4Niw0MCArMjY1NSw0MSBAQAogICAgIGlmIChpc3BhY2thZ2UpCiAgICAgICAgIHNpemUgPSAtc2l6ZTsKICAgICBpZiAoUHlfVmVyYm9zZUZsYWcpCi0gICAgICAgIFB5U3lzX1dyaXRlU3RkZXJyKCJpbXBvcnQgJXMgIyBmcm96ZW4lc1xuIiwKKyAgICAgICAgUHlTeXNfRm9ybWF0U3RkZXJyKCJpbXBvcnQgJVUgIyBmcm96ZW4lc1xuIiwKICAgICAgICAgICAgIG5hbWUsIGlzcGFja2FnZSA/ICIgcGFja2FnZSIgOiAiIik7CiAgICAgY28gPSBQeU1hcnNoYWxfUmVhZE9iamVjdEZyb21TdHJpbmcoKGNoYXIgKilwLT5jb2RlLCBzaXplKTsKICAgICBpZiAoY28gPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIC0xOwogICAgIGlmICghUHlDb2RlX0NoZWNrKGNvKSkgewogICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVHlwZUVycm9yLAotICAgICAgICAgICAgICAgICAgICAgImZyb3plbiBvYmplY3QgJS4yMDBzIGlzIG5vdCBhIGNvZGUgb2JqZWN0IiwKKyAgICAgICAgICAgICAgICAgICAgICJmcm96ZW4gb2JqZWN0ICVSIGlzIG5vdCBhIGNvZGUgb2JqZWN0IiwKICAgICAgICAgICAgICAgICAgICAgIG5hbWUpOwogICAgICAgICBnb3RvIGVycl9yZXR1cm47CiAgICAgfQogICAgIGlmIChpc3BhY2thZ2UpIHsKICAgICAgICAgLyogU2V0IF9fcGF0aF9fIHRvIHRoZSBwYWNrYWdlIG5hbWUgKi8KLSAgICAgICAgUHlPYmplY3QgKmQsICpzLCAqbDsKKyAgICAgICAgUHlPYmplY3QgKmQsICpsOwogICAgICAgICBpbnQgZXJyOwotICAgICAgICBtID0gUHlJbXBvcnRfQWRkTW9kdWxlKG5hbWUpOworICAgICAgICBtID0gUHlJbXBvcnRfQWRkTW9kdWxlT2JqZWN0KG5hbWUpOwogICAgICAgICBpZiAobSA9PSBOVUxMKQogICAgICAgICAgICAgZ290byBlcnJfcmV0dXJuOwogICAgICAgICBkID0gUHlNb2R1bGVfR2V0RGljdChtKTsKLSAgICAgICAgcyA9IFB5VW5pY29kZV9JbnRlcm5Gcm9tU3RyaW5nKG5hbWUpOwotICAgICAgICBpZiAocyA9PSBOVUxMKQotICAgICAgICAgICAgZ290byBlcnJfcmV0dXJuOwogICAgICAgICBsID0gUHlMaXN0X05ldygxKTsKICAgICAgICAgaWYgKGwgPT0gTlVMTCkgewotICAgICAgICAgICAgUHlfREVDUkVGKHMpOwogICAgICAgICAgICAgZ290byBlcnJfcmV0dXJuOwogICAgICAgICB9Ci0gICAgICAgIFB5TGlzdF9TRVRfSVRFTShsLCAwLCBzKTsKKyAgICAgICAgUHlfSU5DUkVGKG5hbWUpOworICAgICAgICBQeUxpc3RfU0VUX0lURU0obCwgMCwgbmFtZSk7CiAgICAgICAgIGVyciA9IFB5RGljdF9TZXRJdGVtU3RyaW5nKGQsICJfX3BhdGhfXyIsIGwpOwogICAgICAgICBQeV9ERUNSRUYobCk7CiAgICAgICAgIGlmIChlcnIgIT0gMCkKICAgICAgICAgICAgIGdvdG8gZXJyX3JldHVybjsKICAgICB9Ci0gICAgbSA9IFB5SW1wb3J0X0V4ZWNDb2RlTW9kdWxlRXgobmFtZSwgY28sICI8ZnJvemVuPiIpOworICAgIHBhdGggPSBQeVVuaWNvZGVfRnJvbVN0cmluZygiPGZyb3plbj4iKTsKKyAgICBpZiAocGF0aCA9PSBOVUxMKQorICAgICAgICBnb3RvIGVycl9yZXR1cm47CisgICAgbSA9IFB5SW1wb3J0X0V4ZWNDb2RlTW9kdWxlT2JqZWN0KG5hbWUsIGNvLCBwYXRoLCBOVUxMKTsKKyAgICBQeV9ERUNSRUYocGF0aCk7CiAgICAgaWYgKG0gPT0gTlVMTCkKICAgICAgICAgZ290byBlcnJfcmV0dXJuOwogICAgIFB5X0RFQ1JFRihjbyk7CkBAIC0yMzMwLDYgKzI3MDAsMTkgQEAKICAgICByZXR1cm4gLTE7CiB9CiAKK2ludAorUHlJbXBvcnRfSW1wb3J0RnJvemVuTW9kdWxlKGNoYXIgKm5hbWUpCit7CisgICAgUHlPYmplY3QgKm5hbWVvYmo7CisgICAgaW50IHJldDsKKyAgICBuYW1lb2JqID0gUHlVbmljb2RlX0ludGVybkZyb21TdHJpbmcobmFtZSk7CisgICAgaWYgKG5hbWVvYmogPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIC0xOworICAgIHJldCA9IFB5SW1wb3J0X0ltcG9ydEZyb3plbk1vZHVsZU9iamVjdChuYW1lb2JqKTsKKyAgICBQeV9ERUNSRUYobmFtZW9iaik7CisgICAgcmV0dXJuIHJldDsKK30KKwogCiAvKiBJbXBvcnQgYSBtb2R1bGUsIGVpdGhlciBidWlsdC1pbiwgZnJvemVuLCBvciBleHRlcm5hbCwgYW5kIHJldHVybgogICAgaXRzIG1vZHVsZSBvYmplY3QgV0lUSCBJTkNSRU1FTlRFRCBSRUZFUkVOQ0UgQ09VTlQgKi8KQEAgLTIzNjAsOCArMjc0Myw3IEBACiBQeU9iamVjdCAqCiBQeUltcG9ydF9JbXBvcnRNb2R1bGVOb0Jsb2NrKGNvbnN0IGNoYXIgKm5hbWUpCiB7Ci0gICAgUHlPYmplY3QgKnJlc3VsdDsKLSAgICBQeU9iamVjdCAqbW9kdWxlczsKKyAgICBQeU9iamVjdCAqbmFtZW9iaiwgKm1vZHVsZXMsICpyZXN1bHQ7CiAjaWZkZWYgV0lUSF9USFJFQUQKICAgICBsb25nIG1lOwogI2VuZGlmCkBAIC0yMzcxLDE0ICsyNzUzLDE2IEBACiAgICAgaWYgKG1vZHVsZXMgPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKLSAgICByZXN1bHQgPSBQeURpY3RfR2V0SXRlbVN0cmluZyhtb2R1bGVzLCBuYW1lKTsKKyAgICBuYW1lb2JqID0gUHlVbmljb2RlX0Zyb21TdHJpbmcobmFtZSk7CisgICAgaWYgKG5hbWVvYmogPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgcmVzdWx0ID0gUHlEaWN0X0dldEl0ZW0obW9kdWxlcywgbmFtZW9iaik7CiAgICAgaWYgKHJlc3VsdCAhPSBOVUxMKSB7CisgICAgICAgIFB5X0RFQ1JFRihuYW1lb2JqKTsKICAgICAgICAgUHlfSU5DUkVGKHJlc3VsdCk7CiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQotICAgIGVsc2UgewotICAgICAgICBQeUVycl9DbGVhcigpOwotICAgIH0KKyAgICBQeUVycl9DbGVhcigpOwogI2lmZGVmIFdJVEhfVEhSRUFECiAgICAgLyogY2hlY2sgdGhlIGltcG9ydCBsb2NrCiAgICAgICogbWUgbWlnaHQgYmUgLTEgYnV0IEkgaWdub3JlIHRoZSBlcnJvciBoZXJlLCB0aGUgbG9jayBmdW5jdGlvbgpAQCAtMjM4Niw3OSArMjc3MCwxMDYgQEAKICAgICBtZSA9IFB5VGhyZWFkX2dldF90aHJlYWRfaWRlbnQoKTsKICAgICBpZiAoaW1wb3J0X2xvY2tfdGhyZWFkID09IC0xIHx8IGltcG9ydF9sb2NrX3RocmVhZCA9PSBtZSkgewogICAgICAgICAvKiBubyB0aHJlYWQgb3IgbWUgaXMgaG9sZGluZyB0aGUgbG9jayAqLwotICAgICAgICByZXR1cm4gUHlJbXBvcnRfSW1wb3J0TW9kdWxlKG5hbWUpOworICAgICAgICByZXN1bHQgPSBQeUltcG9ydF9JbXBvcnQobmFtZW9iaik7CiAgICAgfQogICAgIGVsc2UgewogICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfSW1wb3J0RXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAiRmFpbGVkIHRvIGltcG9ydCAlLjIwMHMgYmVjYXVzZSB0aGUgaW1wb3J0IGxvY2siCisgICAgICAgICAgICAgICAgICAgICAiRmFpbGVkIHRvIGltcG9ydCAlUiBiZWNhdXNlIHRoZSBpbXBvcnQgbG9jayIKICAgICAgICAgICAgICAgICAgICAgICJpcyBoZWxkIGJ5IGFub3RoZXIgdGhyZWFkLiIsCi0gICAgICAgICAgICAgICAgICAgICBuYW1lKTsKLSAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgICAgICAgICAgICAgICBuYW1lb2JqKTsKKyAgICAgICAgcmVzdWx0ID0gTlVMTDsKICAgICB9CiAjZWxzZQotICAgIHJldHVybiBQeUltcG9ydF9JbXBvcnRNb2R1bGUobmFtZSk7CisgICAgcmVzdWx0ID0gUHlJbXBvcnRfSW1wb3J0KG5hbWVvYmopOwogI2VuZGlmCisgICAgUHlfREVDUkVGKG5hbWVvYmopOworICAgIHJldHVybiByZXN1bHQ7CiB9CiAKIC8qIEZvcndhcmQgZGVjbGFyYXRpb25zIGZvciBoZWxwZXIgcm91dGluZXMgKi8KLXN0YXRpYyBQeU9iamVjdCAqZ2V0X3BhcmVudChQeU9iamVjdCAqZ2xvYmFscywgY2hhciAqYnVmLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5X3NzaXplX3QgKnBfYnVmbGVuLCBpbnQgbGV2ZWwpOworc3RhdGljIFB5T2JqZWN0ICpnZXRfcGFyZW50KFB5T2JqZWN0ICpnbG9iYWxzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5T2JqZWN0ICoqcF9uYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBsZXZlbCk7CiBzdGF0aWMgUHlPYmplY3QgKmxvYWRfbmV4dChQeU9iamVjdCAqbW9kLCBQeU9iamVjdCAqYWx0bW9kLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhciAqKnBfbmFtZSwgY2hhciAqYnVmLCBQeV9zc2l6ZV90ICpwX2J1Zmxlbik7Ci1zdGF0aWMgaW50IG1hcmtfbWlzcyhjaGFyICpuYW1lKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5T2JqZWN0ICppbnB1dG5hbWUsIFB5T2JqZWN0ICoqcF9vdXRwdXRuYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlPYmplY3QgKipwX3ByZWZpeCk7CitzdGF0aWMgaW50IG1hcmtfbWlzcyhQeU9iamVjdCAqbmFtZSk7CiBzdGF0aWMgaW50IGVuc3VyZV9mcm9tbGlzdChQeU9iamVjdCAqbW9kLCBQeU9iamVjdCAqZnJvbWxpc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFyICpidWYsIFB5X3NzaXplX3QgYnVmbGVuLCBpbnQgcmVjdXJzaXZlKTsKLXN0YXRpYyBQeU9iamVjdCAqIGltcG9ydF9zdWJtb2R1bGUoUHlPYmplY3QgKm1vZCwgY2hhciAqbmFtZSwgY2hhciAqZnVsbG5hbWUpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlPYmplY3QgKmJ1ZiwgaW50IHJlY3Vyc2l2ZSk7CitzdGF0aWMgUHlPYmplY3QgKiBpbXBvcnRfc3VibW9kdWxlKFB5T2JqZWN0ICptb2QsIFB5T2JqZWN0ICpuYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeU9iamVjdCAqZnVsbG5hbWUpOwogCiAvKiBUaGUgTWFnbnVtIE9wdXMgb2YgZG90dGVkLW5hbWUgaW1wb3J0IDotKSAqLwogCiBzdGF0aWMgUHlPYmplY3QgKgotaW1wb3J0X21vZHVsZV9sZXZlbChjaGFyICpuYW1lLCBQeU9iamVjdCAqZ2xvYmFscywgUHlPYmplY3QgKmxvY2FscywKK2ltcG9ydF9tb2R1bGVfbGV2ZWwoUHlPYmplY3QgKm5hbWUsIFB5T2JqZWN0ICpnbG9iYWxzLCBQeU9iamVjdCAqbG9jYWxzLAogICAgICAgICAgICAgICAgICAgICBQeU9iamVjdCAqZnJvbWxpc3QsIGludCBsZXZlbCkKIHsKLSAgICBjaGFyIGJ1ZltNQVhQQVRITEVOKzFdOwotICAgIFB5X3NzaXplX3QgYnVmbGVuID0gMDsKLSAgICBQeU9iamVjdCAqcGFyZW50LCAqaGVhZCwgKm5leHQsICp0YWlsOworICAgIFB5T2JqZWN0ICpwYXJlbnQsICpuZXh0LCAqaW5wdXRuYW1lLCAqb3V0cHV0bmFtZTsKKyAgICBQeU9iamVjdCAqaGVhZCA9IE5VTEw7CisgICAgUHlPYmplY3QgKnRhaWwgPSBOVUxMOworICAgIFB5T2JqZWN0ICpwcmVmaXggPSBOVUxMOworICAgIFB5T2JqZWN0ICpyZXN1bHQgPSBOVUxMOworICAgIFB5X3NzaXplX3Qgc2VwLCBhbHRzZXA7CiAKLSAgICBpZiAoc3RyY2hyKG5hbWUsICcvJykgIT0gTlVMTAotI2lmZGVmIE1TX1dJTkRPV1MKLSAgICAgICAgfHwgc3RyY2hyKG5hbWUsICdcXCcpICE9IE5VTEwKKyAgICBpZiAoUHlVbmljb2RlX1JFQURZKG5hbWUpKQorICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIHNlcCA9IFB5VW5pY29kZV9GaW5kQ2hhcihuYW1lLCBTRVAsIDAsIFB5VW5pY29kZV9HRVRfTEVOR1RIKG5hbWUpLCAxKTsKKyAgICBpZiAoc2VwID09IC0yKQorICAgICAgICByZXR1cm4gTlVMTDsKKyNpZmRlZiBBTFRTRVAKKyAgICBhbHRzZXAgPSBQeVVuaWNvZGVfRmluZENoYXIobmFtZSwgQUxUU0VQLCAwLCBQeVVuaWNvZGVfR0VUX0xFTkdUSChuYW1lKSwgMSk7CisgICAgaWYgKGFsdHNlcCA9PSAtMikKKyAgICAgICAgcmV0dXJuIE5VTEw7CisjZWxzZQorICAgIGFsdHNlcCA9IC0xOwogI2VuZGlmCi0gICAgICAgICkgeworICAgIGlmIChzZXAgIT0gLTEgfHwgYWx0c2VwICE9IC0xKQorICAgIHsKICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX0ltcG9ydEVycm9yLAogICAgICAgICAgICAgICAgICAgICAgICAgIkltcG9ydCBieSBmaWxlbmFtZSBpcyBub3Qgc3VwcG9ydGVkLiIpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAKLSAgICBwYXJlbnQgPSBnZXRfcGFyZW50KGdsb2JhbHMsIGJ1ZiwgJmJ1ZmxlbiwgbGV2ZWwpOwotICAgIGlmIChwYXJlbnQgPT0gTlVMTCkKKyAgICBwYXJlbnQgPSBnZXRfcGFyZW50KGdsb2JhbHMsICZwcmVmaXgsIGxldmVsKTsKKyAgICBpZiAocGFyZW50ID09IE5VTEwpIHsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorCisgICAgaWYgKFB5VW5pY29kZV9SRUFEWShwcmVmaXgpKQogICAgICAgICByZXR1cm4gTlVMTDsKIAotICAgIGhlYWQgPSBsb2FkX25leHQocGFyZW50LCBsZXZlbCA8IDAgPyBQeV9Ob25lIDogcGFyZW50LCAmbmFtZSwgYnVmLAotICAgICAgICAgICAgICAgICAgICAgICAgJmJ1Zmxlbik7CisgICAgaGVhZCA9IGxvYWRfbmV4dChwYXJlbnQsIGxldmVsIDwgMCA/IFB5X05vbmUgOiBwYXJlbnQsIG5hbWUsICZvdXRwdXRuYW1lLAorICAgICAgICAgICAgICAgICAgICAgJnByZWZpeCk7CiAgICAgaWYgKGhlYWQgPT0gTlVMTCkKLSAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIGdvdG8gb3V0OwogCiAgICAgdGFpbCA9IGhlYWQ7CiAgICAgUHlfSU5DUkVGKHRhaWwpOwotICAgIHdoaWxlIChuYW1lKSB7Ci0gICAgICAgIG5leHQgPSBsb2FkX25leHQodGFpbCwgdGFpbCwgJm5hbWUsIGJ1ZiwgJmJ1Zmxlbik7Ci0gICAgICAgIFB5X0RFQ1JFRih0YWlsKTsKLSAgICAgICAgaWYgKG5leHQgPT0gTlVMTCkgewotICAgICAgICAgICAgUHlfREVDUkVGKGhlYWQpOwotICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICBpZiAob3V0cHV0bmFtZSAhPSBOVUxMKSB7CisgICAgICAgIHdoaWxlICgxKSB7CisgICAgICAgICAgICBpbnB1dG5hbWUgPSBvdXRwdXRuYW1lOworICAgICAgICAgICAgbmV4dCA9IGxvYWRfbmV4dCh0YWlsLCB0YWlsLCBpbnB1dG5hbWUsICZvdXRwdXRuYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcHJlZml4KTsKKyAgICAgICAgICAgIFB5X0NMRUFSKHRhaWwpOworICAgICAgICAgICAgUHlfQ0xFQVIoaW5wdXRuYW1lKTsKKyAgICAgICAgICAgIGlmIChuZXh0ID09IE5VTEwpCisgICAgICAgICAgICAgICAgZ290byBvdXQ7CisgICAgICAgICAgICB0YWlsID0gbmV4dDsKKworICAgICAgICAgICAgaWYgKG91dHB1dG5hbWUgPT0gTlVMTCkgeworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQogICAgICAgICB9Ci0gICAgICAgIHRhaWwgPSBuZXh0OwogICAgIH0KICAgICBpZiAodGFpbCA9PSBQeV9Ob25lKSB7CiAgICAgICAgIC8qIElmIHRhaWwgaXMgUHlfTm9uZSwgYm90aCBnZXRfcGFyZW50IGFuZCBsb2FkX25leHQgZm91bmQKICAgICAgICAgICAgYW4gZW1wdHkgbW9kdWxlIG5hbWU6IHNvbWVvbmUgY2FsbGVkIF9faW1wb3J0X18oIiIpIG9yCiAgICAgICAgICAgIGRvY3RvcmVkIGZhdWx0eSBieXRlY29kZSAqLwotICAgICAgICBQeV9ERUNSRUYodGFpbCk7Ci0gICAgICAgIFB5X0RFQ1JFRihoZWFkKTsKLSAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAgICAiRW1wdHkgbW9kdWxlIG5hbWUiKTsKLSAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLCAiRW1wdHkgbW9kdWxlIG5hbWUiKTsKKyAgICAgICAgZ290byBvdXQ7CiAgICAgfQogCiAgICAgaWYgKGZyb21saXN0ICE9IE5VTEwpIHsKQEAgLTI0NjcsNDkgKzI4NzgsNzAgQEAKICAgICB9CiAKICAgICBpZiAoZnJvbWxpc3QgPT0gTlVMTCkgewotICAgICAgICBQeV9ERUNSRUYodGFpbCk7Ci0gICAgICAgIHJldHVybiBoZWFkOworICAgICAgICByZXN1bHQgPSBoZWFkOworICAgICAgICBQeV9JTkNSRUYocmVzdWx0KTsKKyAgICAgICAgZ290byBvdXQ7CiAgICAgfQogCi0gICAgUHlfREVDUkVGKGhlYWQpOwotICAgIGlmICghZW5zdXJlX2Zyb21saXN0KHRhaWwsIGZyb21saXN0LCBidWYsIGJ1ZmxlbiwgMCkpIHsKLSAgICAgICAgUHlfREVDUkVGKHRhaWwpOwotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICB9CisgICAgaWYgKCFlbnN1cmVfZnJvbWxpc3QodGFpbCwgZnJvbWxpc3QsIHByZWZpeCwgMCkpCisgICAgICAgIGdvdG8gb3V0OwogCi0gICAgcmV0dXJuIHRhaWw7CisgICAgcmVzdWx0ID0gdGFpbDsKKyAgICBQeV9JTkNSRUYocmVzdWx0KTsKKyAgb3V0OgorICAgIFB5X1hERUNSRUYoaGVhZCk7CisgICAgUHlfWERFQ1JFRih0YWlsKTsKKyAgICBQeV9YREVDUkVGKHByZWZpeCk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAogUHlPYmplY3QgKgotUHlJbXBvcnRfSW1wb3J0TW9kdWxlTGV2ZWwoY2hhciAqbmFtZSwgUHlPYmplY3QgKmdsb2JhbHMsIFB5T2JqZWN0ICpsb2NhbHMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgUHlPYmplY3QgKmZyb21saXN0LCBpbnQgbGV2ZWwpCitQeUltcG9ydF9JbXBvcnRNb2R1bGVMZXZlbE9iamVjdChQeU9iamVjdCAqbmFtZSwgUHlPYmplY3QgKmdsb2JhbHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeU9iamVjdCAqbG9jYWxzLCBQeU9iamVjdCAqZnJvbWxpc3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgbGV2ZWwpCiB7Ci0gICAgUHlPYmplY3QgKnJlc3VsdDsKKyAgICBQeU9iamVjdCAqbW9kOwogICAgIF9QeUltcG9ydF9BY3F1aXJlTG9jaygpOwotICAgIHJlc3VsdCA9IGltcG9ydF9tb2R1bGVfbGV2ZWwobmFtZSwgZ2xvYmFscywgbG9jYWxzLCBmcm9tbGlzdCwgbGV2ZWwpOworICAgIG1vZCA9IGltcG9ydF9tb2R1bGVfbGV2ZWwobmFtZSwgZ2xvYmFscywgbG9jYWxzLCBmcm9tbGlzdCwgbGV2ZWwpOwogICAgIGlmIChfUHlJbXBvcnRfUmVsZWFzZUxvY2soKSA8IDApIHsKLSAgICAgICAgUHlfWERFQ1JFRihyZXN1bHQpOworICAgICAgICBQeV9YREVDUkVGKG1vZCk7CiAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19SdW50aW1lRXJyb3IsCiAgICAgICAgICAgICAgICAgICAgICAgICAibm90IGhvbGRpbmcgdGhlIGltcG9ydCBsb2NrIik7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KLSAgICByZXR1cm4gcmVzdWx0OworICAgIHJldHVybiBtb2Q7CiB9CiAKK1B5T2JqZWN0ICoKK1B5SW1wb3J0X0ltcG9ydE1vZHVsZUxldmVsKGNvbnN0IGNoYXIgKm5hbWUsIFB5T2JqZWN0ICpnbG9iYWxzLCBQeU9iamVjdCAqbG9jYWxzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlPYmplY3QgKmZyb21saXN0LCBpbnQgbGV2ZWwpCit7CisgICAgUHlPYmplY3QgKm5hbWVvYmosICptb2Q7CisgICAgbmFtZW9iaiA9IFB5VW5pY29kZV9Gcm9tU3RyaW5nKG5hbWUpOworICAgIGlmIChuYW1lb2JqID09IE5VTEwpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIG1vZCA9IFB5SW1wb3J0X0ltcG9ydE1vZHVsZUxldmVsT2JqZWN0KG5hbWVvYmosIGdsb2JhbHMsIGxvY2FscywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcm9tbGlzdCwgbGV2ZWwpOworICAgIFB5X0RFQ1JFRihuYW1lb2JqKTsKKyAgICByZXR1cm4gbW9kOworfQorCisKIC8qIFJldHVybiB0aGUgcGFja2FnZSB0aGF0IGFuIGltcG9ydCBpcyBiZWluZyBwZXJmb3JtZWQgaW4uICBJZiBnbG9iYWxzIGNvbWVzCiAgICBmcm9tIHRoZSBtb2R1bGUgZm9vLmJhci5iYXQgKG5vdCBpdHNlbGYgYSBwYWNrYWdlKSwgdGhpcyByZXR1cm5zIHRoZQogICAgc3lzLm1vZHVsZXMgZW50cnkgZm9yIGZvby5iYXIuICBJZiBnbG9iYWxzIGlzIGZyb20gYSBwYWNrYWdlJ3MgX19pbml0X18ucHksCiAgICB0aGUgcGFja2FnZSdzIGVudHJ5IGluIHN5cy5tb2R1bGVzIGlzIHJldHVybmVkLCBhcyBhIGJvcnJvd2VkIHJlZmVyZW5jZS4KIAotICAgVGhlICpuYW1lKiBvZiB0aGUgcmV0dXJuZWQgcGFja2FnZSBpcyByZXR1cm5lZCBpbiBidWYsIHdpdGggdGhlIGxlbmd0aCBvZgotICAgdGhlIG5hbWUgaW4gKnBfYnVmbGVuLgorICAgVGhlIG5hbWUgb2YgdGhlIHJldHVybmVkIHBhY2thZ2UgaXMgcmV0dXJuZWQgaW4gKnBfbmFtZS4KIAogICAgSWYgZ2xvYmFscyBkb2Vzbid0IGNvbWUgZnJvbSBhIHBhY2thZ2Ugb3IgYSBtb2R1bGUgaW4gYSBwYWNrYWdlLCBvciBhCiAgICBjb3JyZXNwb25kaW5nIGVudHJ5IGlzIG5vdCBmb3VuZCBpbiBzeXMubW9kdWxlcywgUHlfTm9uZSBpcyByZXR1cm5lZC4KICovCiBzdGF0aWMgUHlPYmplY3QgKgotZ2V0X3BhcmVudChQeU9iamVjdCAqZ2xvYmFscywgY2hhciAqYnVmLCBQeV9zc2l6ZV90ICpwX2J1ZmxlbiwgaW50IGxldmVsKQorZ2V0X3BhcmVudChQeU9iamVjdCAqZ2xvYmFscywgUHlPYmplY3QgKipwX25hbWUsIGludCBsZXZlbCkKIHsKKyAgICBQeU9iamVjdCAqbmFtZW9iajsKKwogICAgIHN0YXRpYyBQeU9iamVjdCAqbmFtZXN0ciA9IE5VTEw7CiAgICAgc3RhdGljIFB5T2JqZWN0ICpwYXRoc3RyID0gTlVMTDsKICAgICBzdGF0aWMgUHlPYmplY3QgKnBrZ3N0ciA9IE5VTEw7CkBAIC0yNTE3LDcgKzI5NDksNyBAQAogICAgIGludCBvcmlnX2xldmVsID0gbGV2ZWw7CiAKICAgICBpZiAoZ2xvYmFscyA9PSBOVUxMIHx8ICFQeURpY3RfQ2hlY2soZ2xvYmFscykgfHwgIWxldmVsKQotICAgICAgICByZXR1cm4gUHlfTm9uZTsKKyAgICAgICAgZ290byByZXR1cm5fbm9uZTsKIAogICAgIGlmIChuYW1lc3RyID09IE5VTEwpIHsKICAgICAgICAgbmFtZXN0ciA9IFB5VW5pY29kZV9JbnRlcm5Gcm9tU3RyaW5nKCJfX25hbWVfXyIpOwpAQCAtMjUzNSwyNjAgKzI5NjcsMjc0IEBACiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAKLSAgICAqYnVmID0gJ1wwJzsKLSAgICAqcF9idWZsZW4gPSAwOwogICAgIHBrZ25hbWUgPSBQeURpY3RfR2V0SXRlbShnbG9iYWxzLCBwa2dzdHIpOwogCiAgICAgaWYgKChwa2duYW1lICE9IE5VTEwpICYmIChwa2duYW1lICE9IFB5X05vbmUpKSB7CiAgICAgICAgIC8qIF9fcGFja2FnZV9fIGlzIHNldCwgc28gdXNlIGl0ICovCi0gICAgICAgIGNoYXIgKnBrZ25hbWVfc3RyOwotICAgICAgICBQeV9zc2l6ZV90IGxlbjsKLQogICAgICAgICBpZiAoIVB5VW5pY29kZV9DaGVjayhwa2duYW1lKSkgewogICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIl9fcGFja2FnZV9fIHNldCB0byBub24tc3RyaW5nIik7CiAgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICAgICAgfQotICAgICAgICBwa2duYW1lX3N0ciA9IF9QeVVuaWNvZGVfQXNTdHJpbmdBbmRTaXplKHBrZ25hbWUsICZsZW4pOwotICAgICAgICBpZiAobGVuID09IDApIHsKKyAgICAgICAgaWYgKFB5VW5pY29kZV9HRVRfTEVOR1RIKHBrZ25hbWUpID09IDApIHsKICAgICAgICAgICAgIGlmIChsZXZlbCA+IDApIHsKICAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwKICAgICAgICAgICAgICAgICAgICAgIkF0dGVtcHRlZCByZWxhdGl2ZSBpbXBvcnQgaW4gbm9uLXBhY2thZ2UiKTsKICAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHJldHVybiBQeV9Ob25lOworICAgICAgICAgICAgZ290byByZXR1cm5fbm9uZTsKICAgICAgICAgfQotICAgICAgICBpZiAobGVuID4gTUFYUEFUSExFTikgewotICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIlBhY2thZ2UgbmFtZSB0b28gbG9uZyIpOwotICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgIH0KLSAgICAgICAgc3RyY3B5KGJ1ZiwgcGtnbmFtZV9zdHIpOworICAgICAgICBQeV9JTkNSRUYocGtnbmFtZSk7CisgICAgICAgIG5hbWVvYmogPSBwa2duYW1lOwogICAgIH0gZWxzZSB7CiAgICAgICAgIC8qIF9fcGFja2FnZV9fIG5vdCBzZXQsIHNvIGZpZ3VyZSBpdCBvdXQgYW5kIHNldCBpdCAqLwogICAgICAgICBtb2RuYW1lID0gUHlEaWN0X0dldEl0ZW0oZ2xvYmFscywgbmFtZXN0cik7CiAgICAgICAgIGlmIChtb2RuYW1lID09IE5VTEwgfHwgIVB5VW5pY29kZV9DaGVjayhtb2RuYW1lKSkKLSAgICAgICAgICAgIHJldHVybiBQeV9Ob25lOworICAgICAgICAgICAgZ290byByZXR1cm5fbm9uZTsKIAogICAgICAgICBtb2RwYXRoID0gUHlEaWN0X0dldEl0ZW0oZ2xvYmFscywgcGF0aHN0cik7CiAgICAgICAgIGlmIChtb2RwYXRoICE9IE5VTEwpIHsKICAgICAgICAgICAgIC8qIF9fcGF0aF9fIGlzIHNldCwgc28gbW9kbmFtZSBpcyBhbHJlYWR5IHRoZSBwYWNrYWdlIG5hbWUgKi8KLSAgICAgICAgICAgIGNoYXIgKm1vZG5hbWVfc3RyOwotICAgICAgICAgICAgUHlfc3NpemVfdCBsZW47CiAgICAgICAgICAgICBpbnQgZXJyb3I7CiAKLSAgICAgICAgICAgIG1vZG5hbWVfc3RyID0gX1B5VW5pY29kZV9Bc1N0cmluZ0FuZFNpemUobW9kbmFtZSwgJmxlbik7Ci0gICAgICAgICAgICBpZiAobGVuID4gTUFYUEFUSExFTikgewotICAgICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTW9kdWxlIG5hbWUgdG9vIGxvbmciKTsKLSAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHN0cmNweShidWYsIG1vZG5hbWVfc3RyKTsKICAgICAgICAgICAgIGVycm9yID0gUHlEaWN0X1NldEl0ZW0oZ2xvYmFscywgcGtnc3RyLCBtb2RuYW1lKTsKICAgICAgICAgICAgIGlmIChlcnJvcikgewogICAgICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQ291bGQgbm90IHNldCBfX3BhY2thZ2VfXyIpOwogICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICAgICAgfQorICAgICAgICAgICAgUHlfSU5DUkVGKG1vZG5hbWUpOworICAgICAgICAgICAgbmFtZW9iaiA9IG1vZG5hbWU7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAvKiBOb3JtYWwgbW9kdWxlLCBzbyB3b3JrIG91dCB0aGUgcGFja2FnZSBuYW1lIGlmIGFueSAqLwotICAgICAgICAgICAgY2hhciAqc3RhcnQgPSBfUHlVbmljb2RlX0FzU3RyaW5nKG1vZG5hbWUpOwotICAgICAgICAgICAgY2hhciAqbGFzdGRvdCA9IHN0cnJjaHIoc3RhcnQsICcuJyk7Ci0gICAgICAgICAgICBzaXplX3QgbGVuOwotICAgICAgICAgICAgaW50IGVycm9yOwotICAgICAgICAgICAgaWYgKGxhc3Rkb3QgPT0gTlVMTCAmJiBsZXZlbCA+IDApIHsKLSAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgIkF0dGVtcHRlZCByZWxhdGl2ZSBpbXBvcnQgaW4gbm9uLXBhY2thZ2UiKTsKKyAgICAgICAgICAgIFB5X3NzaXplX3QgbGVuOworICAgICAgICAgICAgbGVuID0gUHlVbmljb2RlX0ZpbmRDaGFyKG1vZG5hbWUsICcuJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLCBQeVVuaWNvZGVfR0VUX0xFTkdUSChtb2RuYW1lKSwgLTEpOworICAgICAgICAgICAgaWYgKGxlbiA9PSAtMikKICAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlmIChsYXN0ZG90ID09IE5VTEwpIHsKLSAgICAgICAgICAgICAgICBlcnJvciA9IFB5RGljdF9TZXRJdGVtKGdsb2JhbHMsIHBrZ3N0ciwgUHlfTm9uZSk7Ci0gICAgICAgICAgICAgICAgaWYgKGVycm9yKSB7CisgICAgICAgICAgICBpZiAobGVuIDwgMCkgeworICAgICAgICAgICAgICAgIGlmIChsZXZlbCA+IDApIHsKKyAgICAgICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAiQXR0ZW1wdGVkIHJlbGF0aXZlIGltcG9ydCBpbiBub24tcGFja2FnZSIpOworICAgICAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgaWYgKFB5RGljdF9TZXRJdGVtKGdsb2JhbHMsIHBrZ3N0ciwgUHlfTm9uZSkpIHsKICAgICAgICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsCiAgICAgICAgICAgICAgICAgICAgICAgICAiQ291bGQgbm90IHNldCBfX3BhY2thZ2VfXyIpOwogICAgICAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgcmV0dXJuIFB5X05vbmU7CisgICAgICAgICAgICAgICAgZ290byByZXR1cm5fbm9uZTsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGxlbiA9IGxhc3Rkb3QgLSBzdGFydDsKLSAgICAgICAgICAgIGlmIChsZW4gPj0gTUFYUEFUSExFTikgewotICAgICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTW9kdWxlIG5hbWUgdG9vIGxvbmciKTsKKyAgICAgICAgICAgIHBrZ25hbWUgPSBQeVVuaWNvZGVfU3Vic3RyaW5nKG1vZG5hbWUsIDAsIGxlbik7CisgICAgICAgICAgICBpZiAocGtnbmFtZSA9PSBOVUxMKQogICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgc3RybmNweShidWYsIHN0YXJ0LCBsZW4pOwotICAgICAgICAgICAgYnVmW2xlbl0gPSAnXDAnOwotICAgICAgICAgICAgcGtnbmFtZSA9IFB5VW5pY29kZV9Gcm9tU3RyaW5nKGJ1Zik7Ci0gICAgICAgICAgICBpZiAocGtnbmFtZSA9PSBOVUxMKSB7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBlcnJvciA9IFB5RGljdF9TZXRJdGVtKGdsb2JhbHMsIHBrZ3N0ciwgcGtnbmFtZSk7Ci0gICAgICAgICAgICBQeV9ERUNSRUYocGtnbmFtZSk7Ci0gICAgICAgICAgICBpZiAoZXJyb3IpIHsKKyAgICAgICAgICAgIGlmIChQeURpY3RfU2V0SXRlbShnbG9iYWxzLCBwa2dzdHIsIHBrZ25hbWUpKSB7CisgICAgICAgICAgICAgICAgUHlfREVDUkVGKHBrZ25hbWUpOwogICAgICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQ291bGQgbm90IHNldCBfX3BhY2thZ2VfXyIpOwogICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICAgICAgfQorICAgICAgICAgICAgbmFtZW9iaiA9IHBrZ25hbWU7CiAgICAgICAgIH0KICAgICB9Ci0gICAgd2hpbGUgKC0tbGV2ZWwgPiAwKSB7Ci0gICAgICAgIGNoYXIgKmRvdCA9IHN0cnJjaHIoYnVmLCAnLicpOwotICAgICAgICBpZiAoZG90ID09IE5VTEwpIHsKLSAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLAotICAgICAgICAgICAgICAgICJBdHRlbXB0ZWQgcmVsYXRpdmUgaW1wb3J0IGJleW9uZCAiCi0gICAgICAgICAgICAgICAgInRvcGxldmVsIHBhY2thZ2UiKTsKLSAgICAgICAgICAgIHJldHVybiBOVUxMOwotICAgICAgICB9Ci0gICAgICAgICpkb3QgPSAnXDAnOwotICAgIH0KLSAgICAqcF9idWZsZW4gPSBzdHJsZW4oYnVmKTsKLQotICAgIG1vZHVsZXMgPSBQeUltcG9ydF9HZXRNb2R1bGVEaWN0KCk7Ci0gICAgcGFyZW50ID0gUHlEaWN0X0dldEl0ZW1TdHJpbmcobW9kdWxlcywgYnVmKTsKLSAgICBpZiAocGFyZW50ID09IE5VTEwpIHsKLSAgICAgICAgaWYgKG9yaWdfbGV2ZWwgPCAxKSB7Ci0gICAgICAgICAgICBQeU9iamVjdCAqZXJyX21zZyA9IFB5Qnl0ZXNfRnJvbUZvcm1hdCgKLSAgICAgICAgICAgICAgICAiUGFyZW50IG1vZHVsZSAnJS4yMDBzJyBub3QgZm91bmQgIgotICAgICAgICAgICAgICAgICJ3aGlsZSBoYW5kbGluZyBhYnNvbHV0ZSBpbXBvcnQiLCBidWYpOwotICAgICAgICAgICAgaWYgKGVycl9tc2cgPT0gTlVMTCkgeworICAgIGlmIChsZXZlbCA+IDEpIHsKKyAgICAgICAgUHlfc3NpemVfdCBkb3QsIGVuZCA9IFB5VW5pY29kZV9HRVRfTEVOR1RIKG5hbWVvYmopOworICAgICAgICBQeU9iamVjdCAqbmV3bmFtZTsKKyAgICAgICAgd2hpbGUgKC0tbGV2ZWwgPiAwKSB7CisgICAgICAgICAgICBkb3QgPSBQeVVuaWNvZGVfRmluZENoYXIobmFtZW9iaiwgJy4nLCAwLCBlbmQsIC0xKTsKKyAgICAgICAgICAgIGlmIChkb3QgPT0gLTIpIHsKKyAgICAgICAgICAgICAgICBQeV9ERUNSRUYobmFtZW9iaik7CiAgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBpZiAoIVB5RXJyX1dhcm5FeChQeUV4Y19SdW50aW1lV2FybmluZywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5Qnl0ZXNfQXNTdHJpbmcoZXJyX21zZyksIDEpKSB7Ci0gICAgICAgICAgICAgICAgKmJ1ZiA9ICdcMCc7Ci0gICAgICAgICAgICAgICAgKnBfYnVmbGVuID0gMDsKLSAgICAgICAgICAgICAgICBwYXJlbnQgPSBQeV9Ob25lOworICAgICAgICAgICAgaWYgKGRvdCA8IDApIHsKKyAgICAgICAgICAgICAgICBQeV9ERUNSRUYobmFtZW9iaik7CisgICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsCisgICAgICAgICAgICAgICAgICAgICJBdHRlbXB0ZWQgcmVsYXRpdmUgaW1wb3J0IGJleW9uZCAiCisgICAgICAgICAgICAgICAgICAgICJ0b3BsZXZlbCBwYWNrYWdlIik7CisgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBQeV9ERUNSRUYoZXJyX21zZyk7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfU3lzdGVtRXJyb3IsCi0gICAgICAgICAgICAgICAgIlBhcmVudCBtb2R1bGUgJyUuMjAwcycgbm90IGxvYWRlZCwgIgotICAgICAgICAgICAgICAgICJjYW5ub3QgcGVyZm9ybSByZWxhdGl2ZSBpbXBvcnQiLCBidWYpOworICAgICAgICAgICAgZW5kID0gZG90OwogICAgICAgICB9CisgICAgICAgIG5ld25hbWUgPSBQeVVuaWNvZGVfU3Vic3RyaW5nKG5hbWVvYmosIDAsIGVuZCk7CisgICAgICAgIFB5X0RFQ1JFRihuYW1lb2JqKTsKKyAgICAgICAgaWYgKG5ld25hbWUgPT0gTlVMTCkKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICBuYW1lb2JqID0gbmV3bmFtZTsKICAgICB9CisKKyAgICBtb2R1bGVzID0gUHlJbXBvcnRfR2V0TW9kdWxlRGljdCgpOworICAgIHBhcmVudCA9IFB5RGljdF9HZXRJdGVtKG1vZHVsZXMsIG5hbWVvYmopOworICAgIGlmIChwYXJlbnQgPT0gTlVMTCkgeworICAgICAgICBpbnQgZXJyOworCisgICAgICAgIGlmIChvcmlnX2xldmVsID49IDEpIHsKKyAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19TeXN0ZW1FcnJvciwKKyAgICAgICAgICAgICAgICAiUGFyZW50IG1vZHVsZSAlUiBub3QgbG9hZGVkLCAiCisgICAgICAgICAgICAgICAgImNhbm5vdCBwZXJmb3JtIHJlbGF0aXZlIGltcG9ydCIsIG5hbWVvYmopOworICAgICAgICAgICAgUHlfREVDUkVGKG5hbWVvYmopOworICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIH0KKworICAgICAgICBlcnIgPSBQeUVycl9XYXJuRm9ybWF0KAorICAgICAgICAgICAgUHlFeGNfUnVudGltZVdhcm5pbmcsIDEsCisgICAgICAgICAgICAiUGFyZW50IG1vZHVsZSAlUiBub3QgZm91bmQgd2hpbGUgaGFuZGxpbmcgYWJzb2x1dGUgaW1wb3J0IiwKKyAgICAgICAgICAgIG5hbWVvYmopOworICAgICAgICBQeV9ERUNSRUYobmFtZW9iaik7CisgICAgICAgIGlmIChlcnIpCisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKworICAgICAgICBnb3RvIHJldHVybl9ub25lOworICAgIH0KKyAgICAqcF9uYW1lID0gbmFtZW9iajsKICAgICByZXR1cm4gcGFyZW50OwogICAgIC8qIFdlIGV4cGVjdCwgYnV0IGNhbid0IGd1YXJhbnRlZSwgaWYgcGFyZW50ICE9IE5vbmUsIHRoYXQ6Ci0gICAgICAgLSBwYXJlbnQuX19uYW1lX18gPT0gYnVmCisgICAgICAgLSBwYXJlbnQuX19uYW1lX18gPT0gbmFtZQogICAgICAgIC0gcGFyZW50Ll9fZGljdF9fIGlzIGdsb2JhbHMKICAgICAgICBJZiB0aGlzIGlzIHZpb2xhdGVkLi4uICBXaG8gY2FyZXM/ICovCisKK3JldHVybl9ub25lOgorICAgIG5hbWVvYmogPSBQeVVuaWNvZGVfTmV3KDAsIDApOworICAgIGlmIChuYW1lb2JqID09IE5VTEwpCisgICAgICAgIHJldHVybiBOVUxMOworICAgICpwX25hbWUgPSBuYW1lb2JqOworICAgIHJldHVybiBQeV9Ob25lOwogfQogCiAvKiBhbHRtb2QgaXMgZWl0aGVyIE5vbmUgb3Igc2FtZSBhcyBtb2QgKi8KIHN0YXRpYyBQeU9iamVjdCAqCi1sb2FkX25leHQoUHlPYmplY3QgKm1vZCwgUHlPYmplY3QgKmFsdG1vZCwgY2hhciAqKnBfbmFtZSwgY2hhciAqYnVmLAotICAgICAgICAgIFB5X3NzaXplX3QgKnBfYnVmbGVuKQorbG9hZF9uZXh0KFB5T2JqZWN0ICptb2QsIFB5T2JqZWN0ICphbHRtb2QsCisgICAgICAgICAgUHlPYmplY3QgKmlucHV0bmFtZSwgUHlPYmplY3QgKipwX291dHB1dG5hbWUsCisgICAgICAgICAgUHlPYmplY3QgKipwX3ByZWZpeCkKIHsKLSAgICBjaGFyICpuYW1lID0gKnBfbmFtZTsKLSAgICBjaGFyICpkb3QgPSBzdHJjaHIobmFtZSwgJy4nKTsKLSAgICBzaXplX3QgbGVuOwotICAgIGNoYXIgKnA7Ci0gICAgUHlPYmplY3QgKnJlc3VsdDsKKyAgICBQeV9zc2l6ZV90IGRvdDsKKyAgICBQeV9zc2l6ZV90IGxlbjsKKyAgICBQeU9iamVjdCAqZnVsbG5hbWUsICpuYW1lID0gTlVMTCwgKnJlc3VsdDsKIAotICAgIGlmIChzdHJsZW4obmFtZSkgPT0gMCkgeworICAgICpwX291dHB1dG5hbWUgPSBOVUxMOworCisgICAgbGVuID0gUHlVbmljb2RlX0dFVF9MRU5HVEgoaW5wdXRuYW1lKTsKKyAgICBpZiAobGVuID09IDApIHsKICAgICAgICAgLyogY29tcGxldGVseSBlbXB0eSBtb2R1bGUgbmFtZSBzaG91bGQgb25seSBoYXBwZW4gaW4KICAgICAgICAgICAgJ2Zyb20gLiBpbXBvcnQnIChvciAnX19pbXBvcnRfXygiIiknKSovCiAgICAgICAgIFB5X0lOQ1JFRihtb2QpOwotICAgICAgICAqcF9uYW1lID0gTlVMTDsKICAgICAgICAgcmV0dXJuIG1vZDsKICAgICB9CiAKLSAgICBpZiAoZG90ID09IE5VTEwpIHsKLSAgICAgICAgKnBfbmFtZSA9IE5VTEw7Ci0gICAgICAgIGxlbiA9IHN0cmxlbihuYW1lKTsKKworICAgIGRvdCA9IFB5VW5pY29kZV9GaW5kQ2hhcihpbnB1dG5hbWUsICcuJywgMCwgbGVuLCAxKTsKKyAgICBpZiAoZG90ID49IDApIHsKKyAgICAgICAgbGVuID0gZG90OworICAgICAgICBpZiAobGVuID09IDApIHsKKyAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICJFbXB0eSBtb2R1bGUgbmFtZSIpOworICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgfQorICAgIH0KKworICAgIC8qIG5hbWUgPSBpbnB1dG5hbWVbOmxlbl0gKi8KKyAgICBuYW1lID0gUHlVbmljb2RlX1N1YnN0cmluZyhpbnB1dG5hbWUsIDAsIGxlbik7CisgICAgaWYgKG5hbWUgPT0gTlVMTCkKKyAgICAgICAgZ290byBlcnJvcjsKKworICAgIGlmIChQeVVuaWNvZGVfR0VUX0xFTkdUSCgqcF9wcmVmaXgpKSB7CisgICAgICAgIC8qIGZ1bGxuYW1lID0gcHJlZml4ICsgIi4iICsgbmFtZSAqLworICAgICAgICBmdWxsbmFtZSA9IFB5VW5pY29kZV9Gcm9tRm9ybWF0KCIlVS4lVSIsICpwX3ByZWZpeCwgbmFtZSk7CisgICAgICAgIGlmIChmdWxsbmFtZSA9PSBOVUxMKQorICAgICAgICAgICAgZ290byBlcnJvcjsKICAgICB9CiAgICAgZWxzZSB7Ci0gICAgICAgICpwX25hbWUgPSBkb3QrMTsKLSAgICAgICAgbGVuID0gZG90LW5hbWU7Ci0gICAgfQotICAgIGlmIChsZW4gPT0gMCkgewotICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICAgICJFbXB0eSBtb2R1bGUgbmFtZSIpOwotICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgZnVsbG5hbWUgPSBuYW1lOworICAgICAgICBQeV9JTkNSRUYoZnVsbG5hbWUpOwogICAgIH0KIAotICAgIHAgPSBidWYgKyAqcF9idWZsZW47Ci0gICAgaWYgKHAgIT0gYnVmKQotICAgICAgICAqcCsrID0gJy4nOwotICAgIGlmIChwK2xlbi1idWYgPj0gTUFYUEFUSExFTikgewotICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICAgICJNb2R1bGUgbmFtZSB0b28gbG9uZyIpOwotICAgICAgICByZXR1cm4gTlVMTDsKLSAgICB9Ci0gICAgc3RybmNweShwLCBuYW1lLCBsZW4pOwotICAgIHBbbGVuXSA9ICdcMCc7Ci0gICAgKnBfYnVmbGVuID0gcCtsZW4tYnVmOwotCi0gICAgcmVzdWx0ID0gaW1wb3J0X3N1Ym1vZHVsZShtb2QsIHAsIGJ1Zik7CisgICAgcmVzdWx0ID0gaW1wb3J0X3N1Ym1vZHVsZShtb2QsIG5hbWUsIGZ1bGxuYW1lKTsKKyAgICBQeV9ERUNSRUYoKnBfcHJlZml4KTsKKyAgICAvKiBUcmFuc2ZlciByZWZlcmVuY2UuICovCisgICAgKnBfcHJlZml4ID0gZnVsbG5hbWU7CiAgICAgaWYgKHJlc3VsdCA9PSBQeV9Ob25lICYmIGFsdG1vZCAhPSBtb2QpIHsKICAgICAgICAgUHlfREVDUkVGKHJlc3VsdCk7CiAgICAgICAgIC8qIEhlcmUsIGFsdG1vZCBtdXN0IGJlIE5vbmUgYW5kIG1vZCBtdXN0IG5vdCBiZSBOb25lICovCi0gICAgICAgIHJlc3VsdCA9IGltcG9ydF9zdWJtb2R1bGUoYWx0bW9kLCBwLCBwKTsKKyAgICAgICAgcmVzdWx0ID0gaW1wb3J0X3N1Ym1vZHVsZShhbHRtb2QsIG5hbWUsIG5hbWUpOwogICAgICAgICBpZiAocmVzdWx0ICE9IE5VTEwgJiYgcmVzdWx0ICE9IFB5X05vbmUpIHsKLSAgICAgICAgICAgIGlmIChtYXJrX21pc3MoYnVmKSAhPSAwKSB7CisgICAgICAgICAgICBpZiAobWFya19taXNzKCpwX3ByZWZpeCkgIT0gMCkgewogICAgICAgICAgICAgICAgIFB5X0RFQ1JFRihyZXN1bHQpOwotICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBzdHJuY3B5KGJ1ZiwgbmFtZSwgbGVuKTsKLSAgICAgICAgICAgIGJ1ZltsZW5dID0gJ1wwJzsKLSAgICAgICAgICAgICpwX2J1ZmxlbiA9IGxlbjsKKyAgICAgICAgICAgIFB5X0RFQ1JFRigqcF9wcmVmaXgpOworICAgICAgICAgICAgKnBfcHJlZml4ID0gbmFtZTsKKyAgICAgICAgICAgIFB5X0lOQ1JFRigqcF9wcmVmaXgpOwogICAgICAgICB9CiAgICAgfQogICAgIGlmIChyZXN1bHQgPT0gTlVMTCkKLSAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIGdvdG8gZXJyb3I7CiAKICAgICBpZiAocmVzdWx0ID09IFB5X05vbmUpIHsKICAgICAgICAgUHlfREVDUkVGKHJlc3VsdCk7CiAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19JbXBvcnRFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICJObyBtb2R1bGUgbmFtZWQgJS4yMDBzIiwgbmFtZSk7Ci0gICAgICAgIHJldHVybiBOVUxMOworICAgICAgICAgICAgICAgICAgICAgIk5vIG1vZHVsZSBuYW1lZCAlUiIsIGlucHV0bmFtZSk7CisgICAgICAgIGdvdG8gZXJyb3I7CiAgICAgfQogCisgICAgaWYgKGRvdCA+PSAwKSB7CisgICAgICAgICpwX291dHB1dG5hbWUgPSBQeVVuaWNvZGVfU3Vic3RyaW5nKGlucHV0bmFtZSwgZG90KzEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9HRVRfTEVOR1RIKGlucHV0bmFtZSkpOworICAgICAgICBpZiAoKnBfb3V0cHV0bmFtZSA9PSBOVUxMKSB7CisgICAgICAgICAgICBQeV9ERUNSRUYocmVzdWx0KTsKKyAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBQeV9ERUNSRUYobmFtZSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKKworZXJyb3I6CisgICAgUHlfWERFQ1JFRihuYW1lKTsKKyAgICByZXR1cm4gTlVMTDsKIH0KIAogc3RhdGljIGludAotbWFya19taXNzKGNoYXIgKm5hbWUpCittYXJrX21pc3MoUHlPYmplY3QgKm5hbWUpCiB7CiAgICAgUHlPYmplY3QgKm1vZHVsZXMgPSBQeUltcG9ydF9HZXRNb2R1bGVEaWN0KCk7Ci0gICAgcmV0dXJuIFB5RGljdF9TZXRJdGVtU3RyaW5nKG1vZHVsZXMsIG5hbWUsIFB5X05vbmUpOworICAgIHJldHVybiBQeURpY3RfU2V0SXRlbShtb2R1bGVzLCBuYW1lLCBQeV9Ob25lKTsKIH0KIAogc3RhdGljIGludAotZW5zdXJlX2Zyb21saXN0KFB5T2JqZWN0ICptb2QsIFB5T2JqZWN0ICpmcm9tbGlzdCwgY2hhciAqYnVmLCBQeV9zc2l6ZV90IGJ1ZmxlbiwKK2Vuc3VyZV9mcm9tbGlzdChQeU9iamVjdCAqbW9kLCBQeU9iamVjdCAqZnJvbWxpc3QsIFB5T2JqZWN0ICpuYW1lLAogICAgICAgICAgICAgICAgIGludCByZWN1cnNpdmUpCiB7CiAgICAgaW50IGk7CisgICAgUHlPYmplY3QgKmZ1bGxuYW1lOworICAgIFB5X3NzaXplX3QgZnJvbWxpc3RfbGVuOwogCi0gICAgaWYgKCFQeU9iamVjdF9IYXNBdHRyU3RyaW5nKG1vZCwgIl9fcGF0aF9fIikpCisgICAgaWYgKCFfUHlPYmplY3RfSGFzQXR0cklkKG1vZCwgJlB5SWRfX19wYXRoX18pKQogICAgICAgICByZXR1cm4gMTsKIAotICAgIGZvciAoaSA9IDA7IDsgaSsrKSB7CisgICAgZnJvbWxpc3RfbGVuID0gUHlTZXF1ZW5jZV9TaXplKGZyb21saXN0KTsKKworICAgIGZvciAoaSA9IDA7IGkgPCBmcm9tbGlzdF9sZW47IGkrKykgewogICAgICAgICBQeU9iamVjdCAqaXRlbSA9IFB5U2VxdWVuY2VfR2V0SXRlbShmcm9tbGlzdCwgaSk7CiAgICAgICAgIGludCBoYXNpdDsKLSAgICAgICAgaWYgKGl0ZW0gPT0gTlVMTCkgewotICAgICAgICAgICAgaWYgKFB5RXJyX0V4Y2VwdGlvbk1hdGNoZXMoUHlFeGNfSW5kZXhFcnJvcikpIHsKLSAgICAgICAgICAgICAgICBQeUVycl9DbGVhcigpOwotICAgICAgICAgICAgICAgIHJldHVybiAxOwotICAgICAgICAgICAgfQorICAgICAgICBpZiAoaXRlbSA9PSBOVUxMKQogICAgICAgICAgICAgcmV0dXJuIDA7Ci0gICAgICAgIH0KICAgICAgICAgaWYgKCFQeVVuaWNvZGVfQ2hlY2soaXRlbSkpIHsKICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkl0ZW0gaW4gYGBmcm9tIGxpc3QnJyBub3QgYSBzdHJpbmciKTsKICAgICAgICAgICAgIFB5X0RFQ1JFRihpdGVtKTsKICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICB9Ci0gICAgICAgIGlmIChQeVVuaWNvZGVfQVNfVU5JQ09ERShpdGVtKVswXSA9PSAnKicpIHsKKyAgICAgICAgaWYgKFB5VW5pY29kZV9SRUFEX0NIQVIoaXRlbSwgMCkgPT0gJyonKSB7CiAgICAgICAgICAgICBQeU9iamVjdCAqYWxsOworICAgICAgICAgICAgX1B5X0lERU5USUZJRVIoX19hbGxfXyk7CiAgICAgICAgICAgICBQeV9ERUNSRUYoaXRlbSk7CiAgICAgICAgICAgICAvKiBTZWUgaWYgdGhlIHBhY2thZ2UgZGVmaW5lcyBfX2FsbF9fICovCiAgICAgICAgICAgICBpZiAocmVjdXJzaXZlKQogICAgICAgICAgICAgICAgIGNvbnRpbnVlOyAvKiBBdm9pZCBlbmRsZXNzIHJlY3Vyc2lvbiAqLwotICAgICAgICAgICAgYWxsID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyhtb2QsICJfX2FsbF9fIik7CisgICAgICAgICAgICBhbGwgPSBfUHlPYmplY3RfR2V0QXR0cklkKG1vZCwgJlB5SWRfX19hbGxfXyk7CiAgICAgICAgICAgICBpZiAoYWxsID09IE5VTEwpCiAgICAgICAgICAgICAgICAgUHlFcnJfQ2xlYXIoKTsKICAgICAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgICAgIGludCByZXQgPSBlbnN1cmVfZnJvbWxpc3QobW9kLCBhbGwsIGJ1ZiwgYnVmbGVuLCAxKTsKKyAgICAgICAgICAgICAgICBpbnQgcmV0ID0gZW5zdXJlX2Zyb21saXN0KG1vZCwgYWxsLCBuYW1lLCAxKTsKICAgICAgICAgICAgICAgICBQeV9ERUNSRUYoYWxsKTsKICAgICAgICAgICAgICAgICBpZiAoIXJldCkKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDA7CkBAIC0yNzk3LDI3ICszMjQzLDE0IEBACiAgICAgICAgIH0KICAgICAgICAgaGFzaXQgPSBQeU9iamVjdF9IYXNBdHRyKG1vZCwgaXRlbSk7CiAgICAgICAgIGlmICghaGFzaXQpIHsKLSAgICAgICAgICAgIFB5T2JqZWN0ICppdGVtODsKLSAgICAgICAgICAgIGNoYXIgKnN1Ym5hbWU7CiAgICAgICAgICAgICBQeU9iamVjdCAqc3VibW9kOwotICAgICAgICAgICAgY2hhciAqcDsKLSAgICAgICAgICAgIGl0ZW04ID0gUHlVbmljb2RlX0VuY29kZUZTRGVmYXVsdChpdGVtKTsKLSAgICAgICAgICAgIGlmICghaXRlbTgpIHsKLSAgICAgICAgICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfVmFsdWVFcnJvciwgIkNhbm5vdCBlbmNvZGUgcGF0aCBpdGVtIik7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgICAgICBmdWxsbmFtZSA9IFB5VW5pY29kZV9Gcm9tRm9ybWF0KCIlVS4lVSIsIG5hbWUsIGl0ZW0pOworICAgICAgICAgICAgaWYgKGZ1bGxuYW1lICE9IE5VTEwpIHsKKyAgICAgICAgICAgICAgICBzdWJtb2QgPSBpbXBvcnRfc3VibW9kdWxlKG1vZCwgaXRlbSwgZnVsbG5hbWUpOworICAgICAgICAgICAgICAgIFB5X0RFQ1JFRihmdWxsbmFtZSk7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBzdWJuYW1lID0gUHlCeXRlc19BU19TVFJJTkcoaXRlbTgpOwotICAgICAgICAgICAgaWYgKGJ1ZmxlbiArIHN0cmxlbihzdWJuYW1lKSA+PSBNQVhQQVRITEVOKSB7Ci0gICAgICAgICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1ZhbHVlRXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJNb2R1bGUgbmFtZSB0b28gbG9uZyIpOwotICAgICAgICAgICAgICAgIFB5X0RFQ1JFRihpdGVtKTsKLSAgICAgICAgICAgICAgICByZXR1cm4gMDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHAgPSBidWYgKyBidWZsZW47Ci0gICAgICAgICAgICAqcCsrID0gJy4nOwotICAgICAgICAgICAgc3RyY3B5KHAsIHN1Ym5hbWUpOwotICAgICAgICAgICAgc3VibW9kID0gaW1wb3J0X3N1Ym1vZHVsZShtb2QsIHN1Ym5hbWUsIGJ1Zik7Ci0gICAgICAgICAgICBQeV9ERUNSRUYoaXRlbTgpOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIHN1Ym1vZCA9IE5VTEw7CiAgICAgICAgICAgICBQeV9YREVDUkVGKHN1Ym1vZCk7CiAgICAgICAgICAgICBpZiAoc3VibW9kID09IE5VTEwpIHsKICAgICAgICAgICAgICAgICBQeV9ERUNSRUYoaXRlbSk7CkBAIC0yODI3LDEyICszMjYwLDEyIEBACiAgICAgICAgIFB5X0RFQ1JFRihpdGVtKTsKICAgICB9CiAKLSAgICAvKiBOT1RSRUFDSEVEICovCisgICAgcmV0dXJuIDE7CiB9CiAKIHN0YXRpYyBpbnQKLWFkZF9zdWJtb2R1bGUoUHlPYmplY3QgKm1vZCwgUHlPYmplY3QgKnN1Ym1vZCwgY2hhciAqZnVsbG5hbWUsIGNoYXIgKnN1Ym5hbWUsCi0gICAgICAgICAgICAgIFB5T2JqZWN0ICptb2R1bGVzKQorYWRkX3N1Ym1vZHVsZShQeU9iamVjdCAqbW9kLCBQeU9iamVjdCAqc3VibW9kLCBQeU9iamVjdCAqZnVsbG5hbWUsCisgICAgICAgICAgICAgIFB5T2JqZWN0ICpzdWJuYW1lLCBQeU9iamVjdCAqbW9kdWxlcykKIHsKICAgICBpZiAobW9kID09IFB5X05vbmUpCiAgICAgICAgIHJldHVybiAxOwpAQCAtMjg0Myw3ICszMjc2LDcgQEAKICAgICAgICBsb2FkIGZhaWxlZCB3aXRoIGEgU3ludGF4RXJyb3IgLS0gdGhlbiB0aGVyZSdzIG5vIHRyYWNlIGluCiAgICAgICAgc3lzLm1vZHVsZXMuICBJbiB0aGF0IGNhc2UsIG9mIGNvdXJzZSwgZG8gbm90aGluZyBleHRyYS4pICovCiAgICAgaWYgKHN1Ym1vZCA9PSBOVUxMKSB7Ci0gICAgICAgIHN1Ym1vZCA9IFB5RGljdF9HZXRJdGVtU3RyaW5nKG1vZHVsZXMsIGZ1bGxuYW1lKTsKKyAgICAgICAgc3VibW9kID0gUHlEaWN0X0dldEl0ZW0obW9kdWxlcywgZnVsbG5hbWUpOwogICAgICAgICBpZiAoc3VibW9kID09IE5VTEwpCiAgICAgICAgICAgICByZXR1cm4gMTsKICAgICB9CkBAIC0yODU0LDY4ICszMjg3LDY2IEBACiAgICAgICAgIFB5T2JqZWN0ICpkaWN0ID0gUHlNb2R1bGVfR2V0RGljdChtb2QpOwogICAgICAgICBpZiAoIWRpY3QpCiAgICAgICAgICAgICByZXR1cm4gMDsKLSAgICAgICAgaWYgKFB5RGljdF9TZXRJdGVtU3RyaW5nKGRpY3QsIHN1Ym5hbWUsIHN1Ym1vZCkgPCAwKQorICAgICAgICBpZiAoUHlEaWN0X1NldEl0ZW0oZGljdCwgc3VibmFtZSwgc3VibW9kKSA8IDApCiAgICAgICAgICAgICByZXR1cm4gMDsKICAgICB9CiAgICAgZWxzZSB7Ci0gICAgICAgIGlmIChQeU9iamVjdF9TZXRBdHRyU3RyaW5nKG1vZCwgc3VibmFtZSwgc3VibW9kKSA8IDApCisgICAgICAgIGlmIChQeU9iamVjdF9TZXRBdHRyKG1vZCwgc3VibmFtZSwgc3VibW9kKSA8IDApCiAgICAgICAgICAgICByZXR1cm4gMDsKICAgICB9CiAgICAgcmV0dXJuIDE7CiB9CiAKIHN0YXRpYyBQeU9iamVjdCAqCi1pbXBvcnRfc3VibW9kdWxlKFB5T2JqZWN0ICptb2QsIGNoYXIgKnN1Ym5hbWUsIGNoYXIgKmZ1bGxuYW1lKQoraW1wb3J0X3N1Ym1vZHVsZShQeU9iamVjdCAqbW9kLCBQeU9iamVjdCAqc3VibmFtZSwgUHlPYmplY3QgKmZ1bGxuYW1lKQogewogICAgIFB5T2JqZWN0ICptb2R1bGVzID0gUHlJbXBvcnRfR2V0TW9kdWxlRGljdCgpOwotICAgIFB5T2JqZWN0ICptID0gTlVMTDsKKyAgICBQeU9iamVjdCAqbSA9IE5VTEwsICpidWZvYmosICpwYXRoX2xpc3QsICpsb2FkZXI7CisgICAgc3RydWN0IGZpbGVkZXNjciAqZmRwOworICAgIEZJTEUgKmZwOwogCiAgICAgLyogUmVxdWlyZToKICAgICAgICBpZiBtb2QgPT0gTm9uZTogc3VibmFtZSA9PSBmdWxsbmFtZQogICAgICAgIGVsc2U6IG1vZC5fX25hbWVfXyArICIuIiArIHN1Ym5hbWUgPT0gZnVsbG5hbWUKICAgICAqLwogCi0gICAgaWYgKChtID0gUHlEaWN0X0dldEl0ZW1TdHJpbmcobW9kdWxlcywgZnVsbG5hbWUpKSAhPSBOVUxMKSB7CisgICAgaWYgKChtID0gUHlEaWN0X0dldEl0ZW0obW9kdWxlcywgZnVsbG5hbWUpKSAhPSBOVUxMKSB7CiAgICAgICAgIFB5X0lOQ1JFRihtKTsKKyAgICAgICAgcmV0dXJuIG07CiAgICAgfQorCisgICAgaWYgKG1vZCA9PSBQeV9Ob25lKQorICAgICAgICBwYXRoX2xpc3QgPSBOVUxMOwogICAgIGVsc2UgewotICAgICAgICBQeU9iamVjdCAqcGF0aCwgKmxvYWRlciA9IE5VTEw7Ci0gICAgICAgIGNoYXIgYnVmW01BWFBBVEhMRU4rMV07Ci0gICAgICAgIHN0cnVjdCBmaWxlZGVzY3IgKmZkcDsKLSAgICAgICAgRklMRSAqZnAgPSBOVUxMOwotCi0gICAgICAgIGlmIChtb2QgPT0gUHlfTm9uZSkKLSAgICAgICAgICAgIHBhdGggPSBOVUxMOwotICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgIHBhdGggPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKG1vZCwgIl9fcGF0aF9fIik7Ci0gICAgICAgICAgICBpZiAocGF0aCA9PSBOVUxMKSB7Ci0gICAgICAgICAgICAgICAgUHlFcnJfQ2xlYXIoKTsKLSAgICAgICAgICAgICAgICBQeV9JTkNSRUYoUHlfTm9uZSk7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIFB5X05vbmU7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLQotICAgICAgICBidWZbMF0gPSAnXDAnOwotICAgICAgICBmZHAgPSBmaW5kX21vZHVsZShmdWxsbmFtZSwgc3VibmFtZSwgcGF0aCwgYnVmLCBNQVhQQVRITEVOKzEsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICZmcCwgJmxvYWRlcik7Ci0gICAgICAgIFB5X1hERUNSRUYocGF0aCk7Ci0gICAgICAgIGlmIChmZHAgPT0gTlVMTCkgewotICAgICAgICAgICAgaWYgKCFQeUVycl9FeGNlcHRpb25NYXRjaGVzKFB5RXhjX0ltcG9ydEVycm9yKSkKLSAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgcGF0aF9saXN0ID0gX1B5T2JqZWN0X0dldEF0dHJJZChtb2QsICZQeUlkX19fcGF0aF9fKTsKKyAgICAgICAgaWYgKHBhdGhfbGlzdCA9PSBOVUxMKSB7CiAgICAgICAgICAgICBQeUVycl9DbGVhcigpOwogICAgICAgICAgICAgUHlfSU5DUkVGKFB5X05vbmUpOwogICAgICAgICAgICAgcmV0dXJuIFB5X05vbmU7CiAgICAgICAgIH0KLSAgICAgICAgbSA9IGxvYWRfbW9kdWxlKGZ1bGxuYW1lLCBmcCwgYnVmLCBmZHAtPnR5cGUsIGxvYWRlcik7Ci0gICAgICAgIFB5X1hERUNSRUYobG9hZGVyKTsKLSAgICAgICAgaWYgKGZwKQotICAgICAgICAgICAgZmNsb3NlKGZwKTsKLSAgICAgICAgaWYgKCFhZGRfc3VibW9kdWxlKG1vZCwgbSwgZnVsbG5hbWUsIHN1Ym5hbWUsIG1vZHVsZXMpKSB7Ci0gICAgICAgICAgICBQeV9YREVDUkVGKG0pOwotICAgICAgICAgICAgbSA9IE5VTEw7Ci0gICAgICAgIH0KICAgICB9CiAKKyAgICBmZHAgPSBmaW5kX21vZHVsZShmdWxsbmFtZSwgc3VibmFtZSwgcGF0aF9saXN0LAorICAgICAgICAgICAgICAgICAgICAgICZidWZvYmosICZmcCwgJmxvYWRlcik7CisgICAgUHlfWERFQ1JFRihwYXRoX2xpc3QpOworICAgIGlmIChmZHAgPT0gTlVMTCkgeworICAgICAgICBpZiAoIVB5RXJyX0V4Y2VwdGlvbk1hdGNoZXMoUHlFeGNfSW1wb3J0RXJyb3IpKQorICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIFB5RXJyX0NsZWFyKCk7CisgICAgICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKKyAgICAgICAgcmV0dXJuIFB5X05vbmU7CisgICAgfQorICAgIG0gPSBsb2FkX21vZHVsZShmdWxsbmFtZSwgZnAsIGJ1Zm9iaiwgZmRwLT50eXBlLCBsb2FkZXIpOworICAgIFB5X1hERUNSRUYoYnVmb2JqKTsKKyAgICBQeV9YREVDUkVGKGxvYWRlcik7CisgICAgaWYgKGZwKQorICAgICAgICBmY2xvc2UoZnApOworICAgIGlmIChtID09IE5VTEwpCisgICAgICAgIHJldHVybiBOVUxMOworICAgIGlmICghYWRkX3N1Ym1vZHVsZShtb2QsIG0sIGZ1bGxuYW1lLCBzdWJuYW1lLCBtb2R1bGVzKSkgeworICAgICAgICBQeV9YREVDUkVGKG0pOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CiAgICAgcmV0dXJuIG07CiB9CiAKQEAgLTI5MjksMTIgKzMzNjAsMTIgQEAKICAgICBQeUludGVycHJldGVyU3RhdGUgKmludGVycCA9IFB5VGhyZWFkU3RhdGVfR2V0KCktPmludGVycDsKICAgICBQeU9iamVjdCAqbW9kdWxlc19yZWxvYWRpbmcgPSBpbnRlcnAtPm1vZHVsZXNfcmVsb2FkaW5nOwogICAgIFB5T2JqZWN0ICptb2R1bGVzID0gUHlJbXBvcnRfR2V0TW9kdWxlRGljdCgpOwotICAgIFB5T2JqZWN0ICpwYXRoID0gTlVMTCwgKmxvYWRlciA9IE5VTEwsICpleGlzdGluZ19tID0gTlVMTDsKLSAgICBjaGFyICpuYW1lLCAqc3VibmFtZTsKLSAgICBjaGFyIGJ1ZltNQVhQQVRITEVOKzFdOworICAgIFB5T2JqZWN0ICpwYXRoX2xpc3QgPSBOVUxMLCAqbG9hZGVyID0gTlVMTCwgKmV4aXN0aW5nX20gPSBOVUxMOworICAgIFB5T2JqZWN0ICpuYW1lLCAqYnVmb2JqLCAqc3VibmFtZTsKKyAgICBQeV9zc2l6ZV90IHN1Ym5hbWVfc3RhcnQ7CiAgICAgc3RydWN0IGZpbGVkZXNjciAqZmRwOwogICAgIEZJTEUgKmZwID0gTlVMTDsKLSAgICBQeU9iamVjdCAqbmV3bTsKKyAgICBQeU9iamVjdCAqbmV3bSA9IE5VTEw7CiAKICAgICBpZiAobW9kdWxlc19yZWxvYWRpbmcgPT0gTlVMTCkgewogICAgICAgICBQeV9GYXRhbEVycm9yKCJQeUltcG9ydF9SZWxvYWRNb2R1bGU6ICIKQEAgLTI5NDcsNjEgKzMzNzgsNzIgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICJyZWxvYWQoKSBhcmd1bWVudCBtdXN0IGJlIG1vZHVsZSIpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9Ci0gICAgbmFtZSA9IChjaGFyKilQeU1vZHVsZV9HZXROYW1lKG0pOwotICAgIGlmIChuYW1lID09IE5VTEwpCisgICAgbmFtZSA9IFB5TW9kdWxlX0dldE5hbWVPYmplY3QobSk7CisgICAgaWYgKG5hbWUgPT0gTlVMTCB8fCBQeVVuaWNvZGVfUkVBRFkobmFtZSkgPT0gLTEpCiAgICAgICAgIHJldHVybiBOVUxMOwotICAgIGlmIChtICE9IFB5RGljdF9HZXRJdGVtU3RyaW5nKG1vZHVsZXMsIG5hbWUpKSB7CisgICAgaWYgKG0gIT0gUHlEaWN0X0dldEl0ZW0obW9kdWxlcywgbmFtZSkpIHsKICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX0ltcG9ydEVycm9yLAotICAgICAgICAgICAgICAgICAgICAgInJlbG9hZCgpOiBtb2R1bGUgJS4yMDBzIG5vdCBpbiBzeXMubW9kdWxlcyIsCisgICAgICAgICAgICAgICAgICAgICAicmVsb2FkKCk6IG1vZHVsZSAlUiBub3QgaW4gc3lzLm1vZHVsZXMiLAogICAgICAgICAgICAgICAgICAgICAgbmFtZSk7CisgICAgICAgIFB5X0RFQ1JFRihuYW1lKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQotICAgIGV4aXN0aW5nX20gPSBQeURpY3RfR2V0SXRlbVN0cmluZyhtb2R1bGVzX3JlbG9hZGluZywgbmFtZSk7CisgICAgZXhpc3RpbmdfbSA9IFB5RGljdF9HZXRJdGVtKG1vZHVsZXNfcmVsb2FkaW5nLCBuYW1lKTsKICAgICBpZiAoZXhpc3RpbmdfbSAhPSBOVUxMKSB7CiAgICAgICAgIC8qIER1ZSB0byBhIHJlY3Vyc2l2ZSByZWxvYWQsIHRoaXMgbW9kdWxlIGlzIGFscmVhZHkKICAgICAgICAgICAgYmVpbmcgcmVsb2FkZWQuICovCisgICAgICAgIFB5X0RFQ1JFRihuYW1lKTsKICAgICAgICAgUHlfSU5DUkVGKGV4aXN0aW5nX20pOwogICAgICAgICByZXR1cm4gZXhpc3RpbmdfbTsKICAgICB9Ci0gICAgaWYgKFB5RGljdF9TZXRJdGVtU3RyaW5nKG1vZHVsZXNfcmVsb2FkaW5nLCBuYW1lLCBtKSA8IDApCisgICAgaWYgKFB5RGljdF9TZXRJdGVtKG1vZHVsZXNfcmVsb2FkaW5nLCBuYW1lLCBtKSA8IDApIHsKKyAgICAgICAgUHlfREVDUkVGKG5hbWUpOwogICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CiAKLSAgICBzdWJuYW1lID0gc3RycmNocihuYW1lLCAnLicpOwotICAgIGlmIChzdWJuYW1lID09IE5VTEwpCisgICAgc3VibmFtZV9zdGFydCA9IFB5VW5pY29kZV9GaW5kQ2hhcihuYW1lLCAnLicsIDAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfR0VUX0xFTkdUSChuYW1lKSwgLTEpOworICAgIGlmIChzdWJuYW1lX3N0YXJ0ID09IC0xKSB7CisgICAgICAgIFB5X0lOQ1JFRihuYW1lKTsKICAgICAgICAgc3VibmFtZSA9IG5hbWU7CisgICAgfQogICAgIGVsc2UgewogICAgICAgICBQeU9iamVjdCAqcGFyZW50bmFtZSwgKnBhcmVudDsKLSAgICAgICAgcGFyZW50bmFtZSA9IFB5VW5pY29kZV9Gcm9tU3RyaW5nQW5kU2l6ZShuYW1lLCAoc3VibmFtZS1uYW1lKSk7CisgICAgICAgIFB5X3NzaXplX3QgbGVuOworICAgICAgICBwYXJlbnRuYW1lID0gUHlVbmljb2RlX1N1YnN0cmluZyhuYW1lLCAwLCBzdWJuYW1lX3N0YXJ0KTsKICAgICAgICAgaWYgKHBhcmVudG5hbWUgPT0gTlVMTCkgewotICAgICAgICAgICAgaW1wX21vZHVsZXNfcmVsb2FkaW5nX2NsZWFyKCk7Ci0gICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgICAgIGdvdG8gZXJyb3I7CiAgICAgICAgIH0KICAgICAgICAgcGFyZW50ID0gUHlEaWN0X0dldEl0ZW0obW9kdWxlcywgcGFyZW50bmFtZSk7CiAgICAgICAgIGlmIChwYXJlbnQgPT0gTlVMTCkgewogICAgICAgICAgICAgUHlFcnJfRm9ybWF0KFB5RXhjX0ltcG9ydEVycm9yLAotICAgICAgICAgICAgICAgICJyZWxvYWQoKTogcGFyZW50ICVVIG5vdCBpbiBzeXMubW9kdWxlcyIsCisgICAgICAgICAgICAgICAgInJlbG9hZCgpOiBwYXJlbnQgJVIgbm90IGluIHN5cy5tb2R1bGVzIiwKICAgICAgICAgICAgICAgICAgcGFyZW50bmFtZSk7CiAgICAgICAgICAgICBQeV9ERUNSRUYocGFyZW50bmFtZSk7Ci0gICAgICAgICAgICBpbXBfbW9kdWxlc19yZWxvYWRpbmdfY2xlYXIoKTsKLSAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICAgICAgZ290byBlcnJvcjsKICAgICAgICAgfQogICAgICAgICBQeV9ERUNSRUYocGFyZW50bmFtZSk7Ci0gICAgICAgIHN1Ym5hbWUrKzsKLSAgICAgICAgcGF0aCA9IFB5T2JqZWN0X0dldEF0dHJTdHJpbmcocGFyZW50LCAiX19wYXRoX18iKTsKLSAgICAgICAgaWYgKHBhdGggPT0gTlVMTCkKKyAgICAgICAgcGF0aF9saXN0ID0gX1B5T2JqZWN0X0dldEF0dHJJZChwYXJlbnQsICZQeUlkX19fcGF0aF9fKTsKKyAgICAgICAgaWYgKHBhdGhfbGlzdCA9PSBOVUxMKQogICAgICAgICAgICAgUHlFcnJfQ2xlYXIoKTsKKyAgICAgICAgc3VibmFtZV9zdGFydCsrOworICAgICAgICBsZW4gPSBQeVVuaWNvZGVfR0VUX0xFTkdUSChuYW1lKSAtIChzdWJuYW1lX3N0YXJ0ICsgMSk7CisgICAgICAgIHN1Ym5hbWUgPSBQeVVuaWNvZGVfU3Vic3RyaW5nKG5hbWUsIHN1Ym5hbWVfc3RhcnQsIGxlbik7CiAgICAgfQotICAgIGJ1ZlswXSA9ICdcMCc7Ci0gICAgZmRwID0gZmluZF9tb2R1bGUobmFtZSwgc3VibmFtZSwgcGF0aCwgYnVmLCBNQVhQQVRITEVOKzEsICZmcCwgJmxvYWRlcik7Ci0gICAgUHlfWERFQ1JFRihwYXRoKTsKKyAgICBpZiAoc3VibmFtZSA9PSBOVUxMKQorICAgICAgICBnb3RvIGVycm9yOworICAgIGZkcCA9IGZpbmRfbW9kdWxlKG5hbWUsIHN1Ym5hbWUsIHBhdGhfbGlzdCwKKyAgICAgICAgICAgICAgICAgICAgICAmYnVmb2JqLCAmZnAsICZsb2FkZXIpOworICAgIFB5X0RFQ1JFRihzdWJuYW1lKTsKKyAgICBQeV9YREVDUkVGKHBhdGhfbGlzdCk7CiAKICAgICBpZiAoZmRwID09IE5VTEwpIHsKICAgICAgICAgUHlfWERFQ1JFRihsb2FkZXIpOwotICAgICAgICBpbXBfbW9kdWxlc19yZWxvYWRpbmdfY2xlYXIoKTsKLSAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIGdvdG8gZXJyb3I7CiAgICAgfQogCi0gICAgbmV3bSA9IGxvYWRfbW9kdWxlKG5hbWUsIGZwLCBidWYsIGZkcC0+dHlwZSwgbG9hZGVyKTsKKyAgICBuZXdtID0gbG9hZF9tb2R1bGUobmFtZSwgZnAsIGJ1Zm9iaiwgZmRwLT50eXBlLCBsb2FkZXIpOworICAgIFB5X1hERUNSRUYoYnVmb2JqKTsKICAgICBQeV9YREVDUkVGKGxvYWRlcik7CiAKICAgICBpZiAoZnApCkBAIC0zMDEyLDkgKzM0NTQsMTIgQEAKICAgICAgICAgICogZ29pbmcgdG8gcmV0dXJuIE5VTEwgaW4gdGhpcyBjYXNlIHJlZ2FyZGxlc3Mgb2Ygd2hldGhlcgogICAgICAgICAgKiByZXBsYWNpbmcgbmFtZSBzdWNjZWVkcywgc28gdGhlIHJldHVybiB2YWx1ZSBpcyBpZ25vcmVkLgogICAgICAgICAgKi8KLSAgICAgICAgUHlEaWN0X1NldEl0ZW1TdHJpbmcobW9kdWxlcywgbmFtZSwgbSk7CisgICAgICAgIFB5RGljdF9TZXRJdGVtKG1vZHVsZXMsIG5hbWUsIG0pOwogICAgIH0KKworZXJyb3I6CiAgICAgaW1wX21vZHVsZXNfcmVsb2FkaW5nX2NsZWFyKCk7CisgICAgUHlfREVDUkVGKG5hbWUpOwogICAgIHJldHVybiBuZXdtOwogfQogCkBAIC0zMTYyLDIyICszNjA3LDIxIEBACiB9CiAKIHN0YXRpYyBQeU9iamVjdCAqCi1jYWxsX2ZpbmRfbW9kdWxlKGNoYXIgKm5hbWUsIFB5T2JqZWN0ICpwYXRoKQorY2FsbF9maW5kX21vZHVsZShQeU9iamVjdCAqbmFtZSwgUHlPYmplY3QgKnBhdGhfbGlzdCkKIHsKICAgICBleHRlcm4gaW50IGZjbG9zZShGSUxFICopOwogICAgIFB5T2JqZWN0ICpmb2IsICpyZXQ7CiAgICAgUHlPYmplY3QgKnBhdGhvYmo7CiAgICAgc3RydWN0IGZpbGVkZXNjciAqZmRwOwotICAgIGNoYXIgcGF0aG5hbWVbTUFYUEFUSExFTisxXTsKLSAgICBGSUxFICpmcCA9IE5VTEw7CisgICAgRklMRSAqZnA7CiAgICAgaW50IGZkID0gLTE7CiAgICAgY2hhciAqZm91bmRfZW5jb2RpbmcgPSBOVUxMOwogICAgIGNoYXIgKmVuY29kaW5nID0gTlVMTDsKIAotICAgIHBhdGhuYW1lWzBdID0gJ1wwJzsKLSAgICBpZiAocGF0aCA9PSBQeV9Ob25lKQotICAgICAgICBwYXRoID0gTlVMTDsKLSAgICBmZHAgPSBmaW5kX21vZHVsZShOVUxMLCBuYW1lLCBwYXRoLCBwYXRobmFtZSwgTUFYUEFUSExFTisxLCAmZnAsIE5VTEwpOworICAgIGlmIChwYXRoX2xpc3QgPT0gUHlfTm9uZSkKKyAgICAgICAgcGF0aF9saXN0ID0gTlVMTDsKKyAgICBmZHAgPSBmaW5kX21vZHVsZShOVUxMLCBuYW1lLCBwYXRoX2xpc3QsCisgICAgICAgICAgICAgICAgICAgICAgJnBhdGhvYmosICZmcCwgTlVMTCk7CiAgICAgaWYgKGZkcCA9PSBOVUxMKQogICAgICAgICByZXR1cm4gTlVMTDsKICAgICBpZiAoZnAgIT0gTlVMTCkgewpAQCAtMzE5MSwyMCArMzYzNSwyMiBAQAogICAgIH0KICAgICBpZiAoZmQgIT0gLTEpIHsKICAgICAgICAgaWYgKHN0cmNocihmZHAtPm1vZGUsICdiJykgPT0gTlVMTCkgewotICAgICAgICAgICAgLyogUHlUb2tlbml6ZXJfRmluZEVuY29kaW5nKCkgcmV0dXJucyBQeU1lbV9NQUxMT0MnZWQKKyAgICAgICAgICAgIC8qIFB5VG9rZW5pemVyX0ZpbmRFbmNvZGluZ0ZpbGVuYW1lKCkgcmV0dXJucyBQeU1lbV9NQUxMT0MnZWQKICAgICAgICAgICAgICAgIG1lbW9yeS4gKi8KLSAgICAgICAgICAgIGZvdW5kX2VuY29kaW5nID0gUHlUb2tlbml6ZXJfRmluZEVuY29kaW5nKGZkKTsKKyAgICAgICAgICAgIGZvdW5kX2VuY29kaW5nID0gUHlUb2tlbml6ZXJfRmluZEVuY29kaW5nRmlsZW5hbWUoZmQsIHBhdGhvYmopOwogICAgICAgICAgICAgbHNlZWsoZmQsIDAsIDApOyAvKiBSZXNldCBwb3NpdGlvbiAqLwogICAgICAgICAgICAgaWYgKGZvdW5kX2VuY29kaW5nID09IE5VTEwgJiYgUHlFcnJfT2NjdXJyZWQoKSkgeworICAgICAgICAgICAgICAgIFB5X1hERUNSRUYocGF0aG9iaik7CiAgICAgICAgICAgICAgICAgY2xvc2UoZmQpOwogICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgZW5jb2RpbmcgPSAoZm91bmRfZW5jb2RpbmcgIT0gTlVMTCkgPyBmb3VuZF9lbmNvZGluZyA6CiAgICAgICAgICAgICAgICAgICAgKGNoYXIqKVB5VW5pY29kZV9HZXREZWZhdWx0RW5jb2RpbmcoKTsKICAgICAgICAgfQotICAgICAgICBmb2IgPSBQeUZpbGVfRnJvbUZkKGZkLCBwYXRobmFtZSwgZmRwLT5tb2RlLCAtMSwKKyAgICAgICAgZm9iID0gUHlGaWxlX0Zyb21GZChmZCwgTlVMTCwgZmRwLT5tb2RlLCAtMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2hhciopZW5jb2RpbmcsIE5VTEwsIE5VTEwsIDEpOwogICAgICAgICBpZiAoZm9iID09IE5VTEwpIHsKKyAgICAgICAgICAgIFB5X1hERUNSRUYocGF0aG9iaik7CiAgICAgICAgICAgICBjbG9zZShmZCk7CiAgICAgICAgICAgICBQeU1lbV9GUkVFKGZvdW5kX2VuY29kaW5nKTsKICAgICAgICAgICAgIHJldHVybiBOVUxMOwpAQCAtMzIxNCw3ICszNjYwLDEwIEBACiAgICAgICAgIGZvYiA9IFB5X05vbmU7CiAgICAgICAgIFB5X0lOQ1JFRihmb2IpOwogICAgIH0KLSAgICBwYXRob2JqID0gUHlVbmljb2RlX0RlY29kZUZTRGVmYXVsdChwYXRobmFtZSk7CisgICAgaWYgKHBhdGhvYmogPT0gTlVMTCkgeworICAgICAgICBQeV9JTkNSRUYoUHlfTm9uZSk7CisgICAgICAgIHBhdGhvYmogPSBQeV9Ob25lOworICAgIH0KICAgICByZXQgPSBQeV9CdWlsZFZhbHVlKCJOTihzc2kpIiwKICAgICAgICAgICAgICAgICAgIGZvYiwgcGF0aG9iaiwgZmRwLT5zdWZmaXgsIGZkcC0+bW9kZSwgZmRwLT50eXBlKTsKICAgICBQeU1lbV9GUkVFKGZvdW5kX2VuY29kaW5nKTsKQEAgLTMyMjUsMjQgKzM2NzQsMjAgQEAKIHN0YXRpYyBQeU9iamVjdCAqCiBpbXBfZmluZF9tb2R1bGUoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQogewotICAgIFB5T2JqZWN0ICpuYW1lOwotICAgIFB5T2JqZWN0ICpyZXQsICpwYXRoID0gTlVMTDsKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIk8mfE86ZmluZF9tb2R1bGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfRlNDb252ZXJ0ZXIsICZuYW1lLAotICAgICAgICAgICAgICAgICAgICAgICAgICAmcGF0aCkpCisgICAgUHlPYmplY3QgKm5hbWUsICpwYXRoX2xpc3QgPSBOVUxMOworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiVXxPOmZpbmRfbW9kdWxlIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgJm5hbWUsICZwYXRoX2xpc3QpKQogICAgICAgICByZXR1cm4gTlVMTDsKLSAgICByZXQgPSBjYWxsX2ZpbmRfbW9kdWxlKFB5Qnl0ZXNfQVNfU1RSSU5HKG5hbWUpLCBwYXRoKTsKLSAgICBQeV9ERUNSRUYobmFtZSk7Ci0gICAgcmV0dXJuIHJldDsKKyAgICByZXR1cm4gY2FsbF9maW5kX21vZHVsZShuYW1lLCBwYXRoX2xpc3QpOwogfQogCiBzdGF0aWMgUHlPYmplY3QgKgogaW1wX2luaXRfYnVpbHRpbihQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCiB7Ci0gICAgY2hhciAqbmFtZTsKKyAgICBQeU9iamVjdCAqbmFtZTsKICAgICBpbnQgcmV0OwogICAgIFB5T2JqZWN0ICptOwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiczppbml0X2J1aWx0aW4iLCAmbmFtZSkpCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJVOmluaXRfYnVpbHRpbiIsICZuYW1lKSkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgcmV0ID0gaW5pdF9idWlsdGluKG5hbWUpOwogICAgIGlmIChyZXQgPCAwKQpAQCAtMzI1MSw3ICszNjk2LDcgQEAKICAgICAgICAgUHlfSU5DUkVGKFB5X05vbmUpOwogICAgICAgICByZXR1cm4gUHlfTm9uZTsKICAgICB9Ci0gICAgbSA9IFB5SW1wb3J0X0FkZE1vZHVsZShuYW1lKTsKKyAgICBtID0gUHlJbXBvcnRfQWRkTW9kdWxlT2JqZWN0KG5hbWUpOwogICAgIFB5X1hJTkNSRUYobSk7CiAgICAgcmV0dXJuIG07CiB9CkBAIC0zMjU5LDE5ICszNzA0LDE5IEBACiBzdGF0aWMgUHlPYmplY3QgKgogaW1wX2luaXRfZnJvemVuKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKIHsKLSAgICBjaGFyICpuYW1lOworICAgIFB5T2JqZWN0ICpuYW1lOwogICAgIGludCByZXQ7CiAgICAgUHlPYmplY3QgKm07Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJzOmluaXRfZnJvemVuIiwgJm5hbWUpKQorICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiVTppbml0X2Zyb3plbiIsICZuYW1lKSkKICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgcmV0ID0gUHlJbXBvcnRfSW1wb3J0RnJvemVuTW9kdWxlKG5hbWUpOworICAgIHJldCA9IFB5SW1wb3J0X0ltcG9ydEZyb3plbk1vZHVsZU9iamVjdChuYW1lKTsKICAgICBpZiAocmV0IDwgMCkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgaWYgKHJldCA9PSAwKSB7CiAgICAgICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKICAgICAgICAgcmV0dXJuIFB5X05vbmU7CiAgICAgfQotICAgIG0gPSBQeUltcG9ydF9BZGRNb2R1bGUobmFtZSk7CisgICAgbSA9IFB5SW1wb3J0X0FkZE1vZHVsZU9iamVjdChuYW1lKTsKICAgICBQeV9YSU5DUkVGKG0pOwogICAgIHJldHVybiBtOwogfQpAQCAtMzI3OSw5ICszNzI0LDkgQEAKIHN0YXRpYyBQeU9iamVjdCAqCiBpbXBfZ2V0X2Zyb3plbl9vYmplY3QoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQogewotICAgIGNoYXIgKm5hbWU7CisgICAgUHlPYmplY3QgKm5hbWU7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgInM6Z2V0X2Zyb3plbl9vYmplY3QiLCAmbmFtZSkpCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJVOmdldF9mcm96ZW5fb2JqZWN0IiwgJm5hbWUpKQogICAgICAgICByZXR1cm4gTlVMTDsKICAgICByZXR1cm4gZ2V0X2Zyb3plbl9vYmplY3QobmFtZSk7CiB9CkBAIC0zMjg5LDkgKzM3MzQsOSBAQAogc3RhdGljIFB5T2JqZWN0ICoKIGltcF9pc19mcm96ZW5fcGFja2FnZShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCiB7Ci0gICAgY2hhciAqbmFtZTsKKyAgICBQeU9iamVjdCAqbmFtZTsKIAotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiczppc19mcm96ZW5fcGFja2FnZSIsICZuYW1lKSkKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIlU6aXNfZnJvemVuX3BhY2thZ2UiLCAmbmFtZSkpCiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIHJldHVybiBpc19mcm96ZW5fcGFja2FnZShuYW1lKTsKIH0KQEAgLTMyOTksOCArMzc0NCw4IEBACiBzdGF0aWMgUHlPYmplY3QgKgogaW1wX2lzX2J1aWx0aW4oUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQogewotICAgIGNoYXIgKm5hbWU7Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJzOmlzX2J1aWx0aW4iLCAmbmFtZSkpCisgICAgUHlPYmplY3QgKm5hbWU7CisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJVOmlzX2J1aWx0aW4iLCAmbmFtZSkpCiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIHJldHVybiBQeUxvbmdfRnJvbUxvbmcoaXNfYnVpbHRpbihuYW1lKSk7CiB9CkBAIC0zMzA4LDYzICszNzUzLDc0IEBACiBzdGF0aWMgUHlPYmplY3QgKgogaW1wX2lzX2Zyb3plbihQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCiB7Ci0gICAgY2hhciAqbmFtZTsKKyAgICBQeU9iamVjdCAqbmFtZTsKICAgICBzdHJ1Y3QgX2Zyb3plbiAqcDsKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgInM6aXNfZnJvemVuIiwgJm5hbWUpKQorICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiVTppc19mcm96ZW4iLCAmbmFtZSkpCiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIHAgPSBmaW5kX2Zyb3plbihuYW1lKTsKICAgICByZXR1cm4gUHlCb29sX0Zyb21Mb25nKChsb25nKSAocCA9PSBOVUxMID8gMCA6IHAtPnNpemUpKTsKIH0KIAogc3RhdGljIEZJTEUgKgotZ2V0X2ZpbGUoY2hhciAqcGF0aG5hbWUsIFB5T2JqZWN0ICpmb2IsIGNoYXIgKm1vZGUpCitnZXRfZmlsZShQeU9iamVjdCAqcGF0aG5hbWUsIFB5T2JqZWN0ICpmb2IsIGNoYXIgKm1vZGUpCiB7CiAgICAgRklMRSAqZnA7CiAgICAgaWYgKG1vZGVbMF0gPT0gJ1UnKQogICAgICAgICBtb2RlID0gInIiIFBZX1NURElPVEVYVE1PREU7CiAgICAgaWYgKGZvYiA9PSBOVUxMKSB7Ci0gICAgICAgIGZwID0gZm9wZW4ocGF0aG5hbWUsIG1vZGUpOworICAgICAgICBmcCA9IF9QeV9mb3BlbihwYXRobmFtZSwgbW9kZSk7CisgICAgICAgIGlmICghZnApIHsKKyAgICAgICAgICAgIGlmICghUHlFcnJfT2NjdXJyZWQoKSkKKyAgICAgICAgICAgICAgICBQeUVycl9TZXRGcm9tRXJybm8oUHlFeGNfSU9FcnJvcik7CisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gZnA7CiAgICAgfQogICAgIGVsc2UgewogICAgICAgICBpbnQgZmQgPSBQeU9iamVjdF9Bc0ZpbGVEZXNjcmlwdG9yKGZvYik7CiAgICAgICAgIGlmIChmZCA9PSAtMSkKICAgICAgICAgICAgIHJldHVybiBOVUxMOwotICAgICAgICBpZiAoIV9QeVZlcmlmeV9mZChmZCkpCi0gICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICBpZiAoIV9QeVZlcmlmeV9mZChmZCkpIHsKKyAgICAgICAgICAgIFB5RXJyX1NldEZyb21FcnJubyhQeUV4Y19JT0Vycm9yKTsKKyAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICB9CisKICAgICAgICAgLyogdGhlIEZJTEUgc3RydWN0IGdldHMgYSBuZXcgZmQsIHNvIHRoYXQgaXQgY2FuIGJlIGNsb3NlZAogICAgICAgICAgKiBpbmRlcGVuZGVudGx5IG9mIHRoZSBmaWxlIGRlc2NyaXB0b3IgZ2l2ZW4KICAgICAgICAgICovCiAgICAgICAgIGZkID0gZHVwKGZkKTsKLSAgICAgICAgaWYgKGZkID09IC0xKQotICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAgICAgaWYgKGZkID09IC0xKSB7CisgICAgICAgICAgICBQeUVycl9TZXRGcm9tRXJybm8oUHlFeGNfSU9FcnJvcik7CisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgfQorCiAgICAgICAgIGZwID0gZmRvcGVuKGZkLCBtb2RlKTsKLSAgICB9Ci0gICAgaWYgKGZwKQorICAgICAgICBpZiAoIWZwKSB7CisgICAgICAgICAgICBQeUVycl9TZXRGcm9tRXJybm8oUHlFeGNfSU9FcnJvcik7CisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgfQogICAgICAgICByZXR1cm4gZnA7Ci1lcnJvcjoKLSAgICBQeUVycl9TZXRGcm9tRXJybm8oUHlFeGNfSU9FcnJvcik7Ci0gICAgcmV0dXJuIE5VTEw7CisgICAgfQogfQogCiBzdGF0aWMgUHlPYmplY3QgKgogaW1wX2xvYWRfY29tcGlsZWQoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQogewotICAgIGNoYXIgKm5hbWU7Ci0gICAgUHlPYmplY3QgKnBhdGhuYW1lOworICAgIFB5T2JqZWN0ICpuYW1lLCAqcGF0aG5hbWU7CiAgICAgUHlPYmplY3QgKmZvYiA9IE5VTEw7CiAgICAgUHlPYmplY3QgKm07CiAgICAgRklMRSAqZnA7Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJzTyZ8Tzpsb2FkX2NvbXBpbGVkIiwKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIlVPJnxPOmxvYWRfY29tcGlsZWQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAmbmFtZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0ZTQ29udmVydGVyLCAmcGF0aG5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgIFB5VW5pY29kZV9GU0RlY29kZXIsICZwYXRobmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgJmZvYikpCiAgICAgICAgIHJldHVybiBOVUxMOwotICAgIGZwID0gZ2V0X2ZpbGUoUHlCeXRlc19BU19TVFJJTkcocGF0aG5hbWUpLCBmb2IsICJyYiIpOworICAgIGZwID0gZ2V0X2ZpbGUocGF0aG5hbWUsIGZvYiwgInJiIik7CiAgICAgaWYgKGZwID09IE5VTEwpIHsKICAgICAgICAgUHlfREVDUkVGKHBhdGhuYW1lKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQotICAgIG0gPSBsb2FkX2NvbXBpbGVkX21vZHVsZShuYW1lLCBQeUJ5dGVzX0FTX1NUUklORyhwYXRobmFtZSksIGZwKTsKKyAgICBtID0gbG9hZF9jb21waWxlZF9tb2R1bGUobmFtZSwgcGF0aG5hbWUsIGZwKTsKICAgICBmY2xvc2UoZnApOwogICAgIFB5X0RFQ1JFRihwYXRobmFtZSk7CiAgICAgcmV0dXJuIG07CkBAIC0zMzc1LDI4ICszODMxLDI2IEBACiBzdGF0aWMgUHlPYmplY3QgKgogaW1wX2xvYWRfZHluYW1pYyhQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCiB7Ci0gICAgY2hhciAqbmFtZTsKLSAgICBQeU9iamVjdCAqcGF0aGJ5dGVzOwotICAgIGNoYXIgKnBhdGhuYW1lOwotICAgIFB5T2JqZWN0ICpmb2IgPSBOVUxMOwotICAgIFB5T2JqZWN0ICptOwotICAgIEZJTEUgKmZwID0gTlVMTDsKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgInNPJnxPOmxvYWRfZHluYW1pYyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICZuYW1lLCBQeVVuaWNvZGVfRlNDb252ZXJ0ZXIsICZwYXRoYnl0ZXMsICZmb2IpKQorICAgIFB5T2JqZWN0ICpuYW1lLCAqcGF0aG5hbWUsICpmb2IgPSBOVUxMLCAqbW9kOworICAgIEZJTEUgKmZwOworCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJVTyZ8Tzpsb2FkX2R5bmFtaWMiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAmbmFtZSwgUHlVbmljb2RlX0ZTRGVjb2RlciwgJnBhdGhuYW1lLCAmZm9iKSkKICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgcGF0aG5hbWUgPSBQeUJ5dGVzX0FTX1NUUklORyhwYXRoYnl0ZXMpOwotICAgIGlmIChmb2IpIHsKLSAgICAgICAgZnAgPSBnZXRfZmlsZShwYXRobmFtZSwgZm9iLCAiciIpOworICAgIGlmIChmb2IgIT0gTlVMTCkgeworICAgICAgICBmcCA9IGdldF9maWxlKE5VTEwsIGZvYiwgInIiKTsKICAgICAgICAgaWYgKGZwID09IE5VTEwpIHsKLSAgICAgICAgICAgIFB5X0RFQ1JFRihwYXRoYnl0ZXMpOworICAgICAgICAgICAgUHlfREVDUkVGKHBhdGhuYW1lKTsKICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICB9CiAgICAgfQotICAgIG0gPSBfUHlJbXBvcnRfTG9hZER5bmFtaWNNb2R1bGUobmFtZSwgcGF0aG5hbWUsIGZwKTsKLSAgICBQeV9ERUNSRUYocGF0aGJ5dGVzKTsKKyAgICBlbHNlCisgICAgICAgIGZwID0gTlVMTDsKKyAgICBtb2QgPSBfUHlJbXBvcnRfTG9hZER5bmFtaWNNb2R1bGUobmFtZSwgcGF0aG5hbWUsIGZwKTsKKyAgICBQeV9ERUNSRUYocGF0aG5hbWUpOwogICAgIGlmIChmcCkKICAgICAgICAgZmNsb3NlKGZwKTsKLSAgICByZXR1cm4gbTsKKyAgICByZXR1cm4gbW9kOwogfQogCiAjZW5kaWYgLyogSEFWRV9EWU5BTUlDX0xPQURJTkcgKi8KQEAgLTM0MDQsMjIgKzM4NTgsMjEgQEAKIHN0YXRpYyBQeU9iamVjdCAqCiBpbXBfbG9hZF9zb3VyY2UoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQogewotICAgIGNoYXIgKm5hbWU7Ci0gICAgUHlPYmplY3QgKnBhdGhuYW1lOworICAgIFB5T2JqZWN0ICpuYW1lLCAqcGF0aG5hbWU7CiAgICAgUHlPYmplY3QgKmZvYiA9IE5VTEw7CiAgICAgUHlPYmplY3QgKm07CiAgICAgRklMRSAqZnA7Ci0gICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJzTyZ8Tzpsb2FkX3NvdXJjZSIsCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJVTyZ8Tzpsb2FkX3NvdXJjZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICZuYW1lLAotICAgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfRlNDb252ZXJ0ZXIsICZwYXRobmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0ZTRGVjb2RlciwgJnBhdGhuYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAmZm9iKSkKICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgZnAgPSBnZXRfZmlsZShQeUJ5dGVzX0FTX1NUUklORyhwYXRobmFtZSksIGZvYiwgInIiKTsKKyAgICBmcCA9IGdldF9maWxlKHBhdGhuYW1lLCBmb2IsICJyIik7CiAgICAgaWYgKGZwID09IE5VTEwpIHsKICAgICAgICAgUHlfREVDUkVGKHBhdGhuYW1lKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQotICAgIG0gPSBsb2FkX3NvdXJjZV9tb2R1bGUobmFtZSwgUHlCeXRlc19BU19TVFJJTkcocGF0aG5hbWUpLCBmcCk7CisgICAgbSA9IGxvYWRfc291cmNlX21vZHVsZShuYW1lLCBwYXRobmFtZSwgZnApOwogICAgIFB5X0RFQ1JFRihwYXRobmFtZSk7CiAgICAgZmNsb3NlKGZwKTsKICAgICByZXR1cm4gbTsKQEAgLTM0MjgsMjAgKzM4ODEsMjIgQEAKIHN0YXRpYyBQeU9iamVjdCAqCiBpbXBfbG9hZF9tb2R1bGUoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQogewotICAgIGNoYXIgKm5hbWU7Ci0gICAgUHlPYmplY3QgKmZvYjsKLSAgICBQeU9iamVjdCAqcGF0aG5hbWU7Ci0gICAgUHlPYmplY3QgKiByZXQ7CisgICAgUHlPYmplY3QgKm5hbWUsICpmb2IsICpwYXRobmFtZSwgKnBhdGhuYW1lX29iaiwgKnJldDsKICAgICBjaGFyICpzdWZmaXg7IC8qIFVudXNlZCAqLwogICAgIGNoYXIgKm1vZGU7CiAgICAgaW50IHR5cGU7CiAgICAgRklMRSAqZnA7CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgInNPTyYoc3NpKTpsb2FkX21vZHVsZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICZuYW1lLCAmZm9iLAotICAgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfRlNDb252ZXJ0ZXIsICZwYXRobmFtZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgJnN1ZmZpeCwgJm1vZGUsICZ0eXBlKSkKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgIlVPTyhzc2kpOmxvYWRfbW9kdWxlIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgJm5hbWUsICZmb2IsICZwYXRobmFtZV9vYmosICZzdWZmaXgsICZtb2RlLCAmdHlwZSkpCiAgICAgICAgIHJldHVybiBOVUxMOworICAgIGlmIChwYXRobmFtZV9vYmogIT0gUHlfTm9uZSkgeworICAgICAgICBpZiAoIVB5VW5pY29kZV9GU0RlY29kZXIocGF0aG5hbWVfb2JqLCAmcGF0aG5hbWUpKQorICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorICAgIGVsc2UKKyAgICAgICAgcGF0aG5hbWUgPSBOVUxMOworCiAgICAgaWYgKCptb2RlKSB7CiAgICAgICAgIC8qIE1vZGUgbXVzdCBzdGFydCB3aXRoICdyJyBvciAnVScgYW5kIG11c3Qgbm90IGNvbnRhaW4gJysnLgogICAgICAgICAgICBJbXBsaWNpdCBpbiB0aGlzIHRlc3QgaXMgdGhlIGFzc3VtcHRpb24gdGhhdCB0aGUgbW9kZQpAQCAtMzQ1MCw3ICszOTA1LDcgQEAKICAgICAgICAgaWYgKCEoKm1vZGUgPT0gJ3InIHx8ICptb2RlID09ICdVJykgfHwgc3RyY2hyKG1vZGUsICcrJykpIHsKICAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19WYWx1ZUVycm9yLAogICAgICAgICAgICAgICAgICAgICAgICAgICJpbnZhbGlkIGZpbGUgb3BlbiBtb2RlICUuMjAwcyIsIG1vZGUpOwotICAgICAgICAgICAgUHlfREVDUkVGKHBhdGhuYW1lKTsKKyAgICAgICAgICAgIFB5X1hERUNSRUYocGF0aG5hbWUpOwogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgIH0KICAgICB9CkBAIC0zNDU5LDEyICszOTE0LDEyIEBACiAgICAgZWxzZSB7CiAgICAgICAgIGZwID0gZ2V0X2ZpbGUoTlVMTCwgZm9iLCBtb2RlKTsKICAgICAgICAgaWYgKGZwID09IE5VTEwpIHsKLSAgICAgICAgICAgIFB5X0RFQ1JFRihwYXRobmFtZSk7CisgICAgICAgICAgICBQeV9YREVDUkVGKHBhdGhuYW1lKTsKICAgICAgICAgICAgIHJldHVybiBOVUxMOwogICAgICAgICB9CiAgICAgfQotICAgIHJldCA9IGxvYWRfbW9kdWxlKG5hbWUsIGZwLCBQeUJ5dGVzX0FTX1NUUklORyhwYXRobmFtZSksIHR5cGUsIE5VTEwpOwotICAgIFB5X0RFQ1JFRihwYXRobmFtZSk7CisgICAgcmV0ID0gbG9hZF9tb2R1bGUobmFtZSwgZnAsIHBhdGhuYW1lLCB0eXBlLCBOVUxMKTsKKyAgICBQeV9YREVDUkVGKHBhdGhuYW1lKTsKICAgICBpZiAoZnApCiAgICAgICAgIGZjbG9zZShmcCk7CiAgICAgcmV0dXJuIHJldDsKQEAgLTM0NzMsMTMgKzM5MjgsMTIgQEAKIHN0YXRpYyBQeU9iamVjdCAqCiBpbXBfbG9hZF9wYWNrYWdlKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKIHsKLSAgICBjaGFyICpuYW1lOwotICAgIFB5T2JqZWN0ICpwYXRobmFtZTsKKyAgICBQeU9iamVjdCAqbmFtZSwgKnBhdGhuYW1lOwogICAgIFB5T2JqZWN0ICogcmV0OwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAic08mOmxvYWRfcGFja2FnZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICZuYW1lLCBQeVVuaWNvZGVfRlNDb252ZXJ0ZXIsICZwYXRobmFtZSkpCisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJVTyY6bG9hZF9wYWNrYWdlIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgJm5hbWUsIFB5VW5pY29kZV9GU0RlY29kZXIsICZwYXRobmFtZSkpCiAgICAgICAgIHJldHVybiBOVUxMOwotICAgIHJldCA9IGxvYWRfcGFja2FnZShuYW1lLCBQeUJ5dGVzX0FTX1NUUklORyhwYXRobmFtZSkpOworICAgIHJldCA9IGxvYWRfcGFja2FnZShuYW1lLCBwYXRobmFtZSk7CiAgICAgUHlfREVDUkVGKHBhdGhuYW1lKTsKICAgICByZXR1cm4gcmV0OwogfQpAQCAtMzQ4NywxMCArMzk0MSwxMCBAQAogc3RhdGljIFB5T2JqZWN0ICoKIGltcF9uZXdfbW9kdWxlKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKIHsKLSAgICBjaGFyICpuYW1lOwotICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiczpuZXdfbW9kdWxlIiwgJm5hbWUpKQorICAgIFB5T2JqZWN0ICpuYW1lOworICAgIGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiVTpuZXdfbW9kdWxlIiwgJm5hbWUpKQogICAgICAgICByZXR1cm4gTlVMTDsKLSAgICByZXR1cm4gUHlNb2R1bGVfTmV3KG5hbWUpOworICAgIHJldHVybiBQeU1vZHVsZV9OZXdPYmplY3QobmFtZSk7CiB9CiAKIHN0YXRpYyBQeU9iamVjdCAqCkBAIC0zNTA5LDMzICszOTYzLDMyIEBACiB7CiAgICAgc3RhdGljIGNoYXIgKmt3bGlzdFtdID0geyJwYXRoIiwgImRlYnVnX292ZXJyaWRlIiwgTlVMTH07CiAKLSAgICBjaGFyIGJ1ZltNQVhQQVRITEVOKzFdOwotICAgIFB5T2JqZWN0ICpwYXRoYnl0ZXM7Ci0gICAgY2hhciAqY3BhdGhuYW1lOworICAgIFB5T2JqZWN0ICpwYXRobmFtZSwgKmNwYXRobmFtZTsKICAgICBQeU9iamVjdCAqZGVidWdfb3ZlcnJpZGUgPSBOVUxMOwogICAgIGludCBkZWJ1ZyA9ICFQeV9PcHRpbWl6ZUZsYWc7CiAKICAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcygKICAgICAgICAgICAgICAgICBhcmdzLCBrd3MsICJPJnxPIiwga3dsaXN0LAotICAgICAgICAgICAgICAgIFB5VW5pY29kZV9GU0NvbnZlcnRlciwgJnBhdGhieXRlcywgJmRlYnVnX292ZXJyaWRlKSkKKyAgICAgICAgICAgICAgICBQeVVuaWNvZGVfRlNEZWNvZGVyLCAmcGF0aG5hbWUsICZkZWJ1Z19vdmVycmlkZSkpCiAgICAgICAgIHJldHVybiBOVUxMOwogCiAgICAgaWYgKGRlYnVnX292ZXJyaWRlICE9IE5VTEwgJiYKICAgICAgICAgKGRlYnVnID0gUHlPYmplY3RfSXNUcnVlKGRlYnVnX292ZXJyaWRlKSkgPCAwKSB7Ci0gICAgICAgIFB5X0RFQ1JFRihwYXRoYnl0ZXMpOworICAgICAgICBQeV9ERUNSRUYocGF0aG5hbWUpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CiAKLSAgICBjcGF0aG5hbWUgPSBtYWtlX2NvbXBpbGVkX3BhdGhuYW1lKAotICAgICAgICBQeUJ5dGVzX0FTX1NUUklORyhwYXRoYnl0ZXMpLAotICAgICAgICBidWYsIE1BWFBBVEhMRU4rMSwgZGVidWcpOwotICAgIFB5X0RFQ1JFRihwYXRoYnl0ZXMpOworICAgIGlmIChQeVVuaWNvZGVfUkVBRFkocGF0aG5hbWUpIDwgMCkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICBjcGF0aG5hbWUgPSBtYWtlX2NvbXBpbGVkX3BhdGhuYW1lKHBhdGhuYW1lLCBkZWJ1Zyk7CisgICAgUHlfREVDUkVGKHBhdGhuYW1lKTsKIAogICAgIGlmIChjcGF0aG5hbWUgPT0gTlVMTCkgewogICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfU3lzdGVtRXJyb3IsICJwYXRoIGJ1ZmZlciB0b28gc2hvcnQiKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQotICAgIHJldHVybiBQeVVuaWNvZGVfRGVjb2RlRlNEZWZhdWx0KGJ1Zik7CisgICAgcmV0dXJuIGNwYXRobmFtZTsKIH0KIAogUHlEb2NfU1RSVkFSKGRvY19jYWNoZV9mcm9tX3NvdXJjZSwKQEAgLTM1NTMsMjUgKzQwMDYsMjIgQEAKIGltcF9zb3VyY2VfZnJvbV9jYWNoZShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd3MpCiB7CiAgICAgc3RhdGljIGNoYXIgKmt3bGlzdFtdID0geyJwYXRoIiwgTlVMTH07Ci0KLSAgICBQeU9iamVjdCAqcGF0aG5hbWVfb2JqOwotICAgIGNoYXIgKnBhdGhuYW1lOwotICAgIGNoYXIgYnVmW01BWFBBVEhMRU4rMV07CisgICAgUHlPYmplY3QgKnBhdGhuYW1lLCAqc291cmNlOwogCiAgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoCiAgICAgICAgICAgICAgICAgYXJncywga3dzLCAiTyYiLCBrd2xpc3QsCi0gICAgICAgICAgICAgICAgUHlVbmljb2RlX0ZTQ29udmVydGVyLCAmcGF0aG5hbWVfb2JqKSkKKyAgICAgICAgICAgICAgICBQeVVuaWNvZGVfRlNEZWNvZGVyLCAmcGF0aG5hbWUpKQogICAgICAgICByZXR1cm4gTlVMTDsKIAotICAgIHBhdGhuYW1lID0gUHlCeXRlc19BU19TVFJJTkcocGF0aG5hbWVfb2JqKTsKLSAgICBpZiAobWFrZV9zb3VyY2VfcGF0aG5hbWUocGF0aG5hbWUsIGJ1ZikgPT0gTlVMTCkgewotICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVmFsdWVFcnJvciwgIk5vdCBhIFBFUCAzMTQ3IHB5YyBwYXRoOiAlcyIsCisgICAgc291cmNlID0gbWFrZV9zb3VyY2VfcGF0aG5hbWUocGF0aG5hbWUpOworICAgIGlmIChzb3VyY2UgPT0gTlVMTCkgeworICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfVmFsdWVFcnJvciwgIk5vdCBhIFBFUCAzMTQ3IHB5YyBwYXRoOiAlUiIsCiAgICAgICAgICAgICAgICAgICAgICBwYXRobmFtZSk7Ci0gICAgICAgIFB5X0RFQ1JFRihwYXRobmFtZV9vYmopOworICAgICAgICBQeV9ERUNSRUYocGF0aG5hbWUpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9Ci0gICAgUHlfREVDUkVGKHBhdGhuYW1lX29iaik7Ci0gICAgcmV0dXJuIFB5VW5pY29kZV9Gcm9tU3RyaW5nKGJ1Zik7CisgICAgUHlfREVDUkVGKHBhdGhuYW1lKTsKKyAgICByZXR1cm4gc291cmNlOwogfQogCiBQeURvY19TVFJWQVIoZG9jX3NvdXJjZV9mcm9tX2NhY2hlLApAQCAtMzY2Myw2ICs0MTEzLDcgQEAKICNlbmRpZgogICAgIHsibG9hZF9wYWNrYWdlIiwgICAgICAgICAgICBpbXBfbG9hZF9wYWNrYWdlLCAgICAgICBNRVRIX1ZBUkFSR1N9LAogICAgIHsibG9hZF9zb3VyY2UiLCAgICAgICAgICAgICBpbXBfbG9hZF9zb3VyY2UsICAgICAgICBNRVRIX1ZBUkFSR1N9LAorICAgIHsiX2ZpeF9jb19maWxlbmFtZSIsICAgICAgICBpbXBfZml4X2NvX2ZpbGVuYW1lLCAgICBNRVRIX1ZBUkFSR1N9LAogICAgIHtOVUxMLCAgICAgICAgICAgICAgICAgICAgICBOVUxMfSAgICAgICAgICAgLyogc2VudGluZWwgKi8KIH07CiAKQEAgLTM3MjUsNyArNDE3Niw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICZwYXRob2JqKSkKICAgICAgICAgcmV0dXJuIC0xOwogCi0gICAgaWYgKFB5VW5pY29kZV9HRVRfU0laRShwYXRob2JqKSA9PSAwKSB7CisgICAgaWYgKFB5VW5pY29kZV9HRVRfTEVOR1RIKHBhdGhvYmopID09IDApIHsKICAgICAgICAgUHlFcnJfU2V0U3RyaW5nKFB5RXhjX0ltcG9ydEVycm9yLCAiZW1wdHkgcGF0aG5hbWUiKTsKICAgICAgICAgcmV0dXJuIC0xOwogICAgIH0KZGlmZiAtLWdpdCBhL1B5dGhvbi9pbXBvcnRkbC5jIGIvUHl0aG9uL2ltcG9ydGRsLmMKaW5kZXggOWNhZWQ0NS4uOTEyN2Q2MSAxMDA2NDQKLS0tIGEvUHl0aG9uL2ltcG9ydGRsLmMKKysrIGIvUHl0aG9uL2ltcG9ydGRsLmMKQEAgLTEyLDQ5ICsxMiw3MSBAQAogCiAjaW5jbHVkZSAiaW1wb3J0ZGwuaCIKIAotZXh0ZXJuIGRsX2Z1bmNwdHIgX1B5SW1wb3J0X0dldER5bkxvYWRGdW5jKGNvbnN0IGNoYXIgKm5hbWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqc2hvcnRuYW1lLAorI2lmZGVmIE1TX1dJTkRPV1MKK2V4dGVybiBkbF9mdW5jcHRyIF9QeUltcG9ydF9HZXREeW5Mb2FkV2luZG93cyhjb25zdCBjaGFyICpzaG9ydG5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlPYmplY3QgKnBhdGhuYW1lLCBGSUxFICpmcCk7CisjZWxzZQorZXh0ZXJuIGRsX2Z1bmNwdHIgX1B5SW1wb3J0X0dldER5bkxvYWRGdW5jKGNvbnN0IGNoYXIgKnNob3J0bmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpwYXRobmFtZSwgRklMRSAqZnApOwotCi0KKyNlbmRpZgogCiBQeU9iamVjdCAqCi1fUHlJbXBvcnRfTG9hZER5bmFtaWNNb2R1bGUoY2hhciAqbmFtZSwgY2hhciAqcGF0aG5hbWUsIEZJTEUgKmZwKQorX1B5SW1wb3J0X0xvYWREeW5hbWljTW9kdWxlKFB5T2JqZWN0ICpuYW1lLCBQeU9iamVjdCAqcGF0aCwgRklMRSAqZnApCiB7Ci0gICAgUHlPYmplY3QgKm07Ci0gICAgUHlPYmplY3QgKnBhdGg7Ci0gICAgY2hhciAqbGFzdGRvdCwgKnNob3J0bmFtZSwgKnBhY2thZ2Vjb250ZXh0LCAqb2xkY29udGV4dDsKKyAgICBQeU9iamVjdCAqbSA9IE5VTEw7CisjaWZuZGVmIE1TX1dJTkRPV1MKKyAgICBQeU9iamVjdCAqcGF0aGJ5dGVzOworI2VuZGlmCisgICAgUHlPYmplY3QgKm5hbWVhc2NpaTsKKyAgICBjaGFyICpuYW1lc3RyLCAqbGFzdGRvdCwgKnNob3J0bmFtZSwgKnBhY2thZ2Vjb250ZXh0LCAqb2xkY29udGV4dDsKICAgICBkbF9mdW5jcHRyIHAwOwogICAgIFB5T2JqZWN0KiAoKnApKHZvaWQpOwogICAgIHN0cnVjdCBQeU1vZHVsZURlZiAqZGVmOwotICAgIFB5T2JqZWN0ICpyZXN1bHQ7CiAKLSAgICBwYXRoID0gUHlVbmljb2RlX0RlY29kZUZTRGVmYXVsdChwYXRobmFtZSk7Ci0gICAgaWYgKHBhdGggPT0gTlVMTCkKKyAgICBtID0gX1B5SW1wb3J0X0ZpbmRFeHRlbnNpb25PYmplY3QobmFtZSwgcGF0aCk7CisgICAgaWYgKG0gIT0gTlVMTCkgeworICAgICAgICBQeV9JTkNSRUYobSk7CisgICAgICAgIHJldHVybiBtOworICAgIH0KKworICAgIC8qIG5hbWUgbXVzdCBiZSBlbmNvZGFibGUgdG8gQVNDSUkgYmVjYXVzZSBkeW5hbWljIG1vZHVsZSBtdXN0IGhhdmUgYQorICAgICAgIGZ1bmN0aW9uIGNhbGxlZCAiUHlJbml0X05BTUUiLCB0aGV5IGFyZSB3cml0dGVuIGluIEMsIGFuZCB0aGUgQyBsYW5ndWFnZQorICAgICAgIGRvZXNuJ3QgYWNjZXB0IG5vbi1BU0NJSSBpZGVudGlmaWVycy4gKi8KKyAgICBuYW1lYXNjaWkgPSBQeVVuaWNvZGVfQXNFbmNvZGVkU3RyaW5nKG5hbWUsICJhc2NpaSIsIE5VTEwpOworICAgIGlmIChuYW1lYXNjaWkgPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKLSAgICBpZiAoKG0gPSBfUHlJbXBvcnRfRmluZEV4dGVuc2lvblVuaWNvZGUobmFtZSwgcGF0aCkpICE9IE5VTEwpIHsKLSAgICAgICAgUHlfSU5DUkVGKG0pOwotICAgICAgICByZXN1bHQgPSBtOwotICAgICAgICBnb3RvIGZpbmFsbHk7Ci0gICAgfQotICAgIGxhc3Rkb3QgPSBzdHJyY2hyKG5hbWUsICcuJyk7CisgICAgbmFtZXN0ciA9IFB5Qnl0ZXNfQVNfU1RSSU5HKG5hbWVhc2NpaSk7CisgICAgaWYgKG5hbWVzdHIgPT0gTlVMTCkKKyAgICAgICAgZ290byBlcnJvcjsKKworICAgIGxhc3Rkb3QgPSBzdHJyY2hyKG5hbWVzdHIsICcuJyk7CiAgICAgaWYgKGxhc3Rkb3QgPT0gTlVMTCkgewogICAgICAgICBwYWNrYWdlY29udGV4dCA9IE5VTEw7Ci0gICAgICAgIHNob3J0bmFtZSA9IG5hbWU7CisgICAgICAgIHNob3J0bmFtZSA9IG5hbWVzdHI7CiAgICAgfQogICAgIGVsc2UgewotICAgICAgICBwYWNrYWdlY29udGV4dCA9IG5hbWU7CisgICAgICAgIHBhY2thZ2Vjb250ZXh0ID0gbmFtZXN0cjsKICAgICAgICAgc2hvcnRuYW1lID0gbGFzdGRvdCsxOwogICAgIH0KIAotICAgIHAwID0gX1B5SW1wb3J0X0dldER5bkxvYWRGdW5jKG5hbWUsIHNob3J0bmFtZSwgcGF0aG5hbWUsIGZwKTsKKyNpZmRlZiBNU19XSU5ET1dTCisgICAgcDAgPSBfUHlJbXBvcnRfR2V0RHluTG9hZFdpbmRvd3Moc2hvcnRuYW1lLCBwYXRoLCBmcCk7CisjZWxzZQorICAgIHBhdGhieXRlcyA9IFB5VW5pY29kZV9FbmNvZGVGU0RlZmF1bHQocGF0aCk7CisgICAgaWYgKHBhdGhieXRlcyA9PSBOVUxMKQorICAgICAgICBnb3RvIGVycm9yOworICAgIHAwID0gX1B5SW1wb3J0X0dldER5bkxvYWRGdW5jKHNob3J0bmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeUJ5dGVzX0FTX1NUUklORyhwYXRoYnl0ZXMpLCBmcCk7CisgICAgUHlfREVDUkVGKHBhdGhieXRlcyk7CisjZW5kaWYKICAgICBwID0gKFB5T2JqZWN0KigqKSh2b2lkKSlwMDsKICAgICBpZiAoUHlFcnJfT2NjdXJyZWQoKSkKICAgICAgICAgZ290byBlcnJvcjsKICAgICBpZiAocCA9PSBOVUxMKSB7CiAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19JbXBvcnRFcnJvciwKLSAgICAgICAgICAgImR5bmFtaWMgbW9kdWxlIGRvZXMgbm90IGRlZmluZSBpbml0IGZ1bmN0aW9uIChQeUluaXRfJS4yMDBzKSIsCisgICAgICAgICAgICAgICAgICAgICAiZHluYW1pYyBtb2R1bGUgZG9lcyBub3QgZGVmaW5lIGluaXQgZnVuY3Rpb24iCisgICAgICAgICAgICAgICAgICAgICAiIChQeUluaXRfJXMpIiwKICAgICAgICAgICAgICAgICAgICAgIHNob3J0bmFtZSk7CiAgICAgICAgIGdvdG8gZXJyb3I7CiAgICAgfQpAQCAtNjYsNyArODgsNiBAQAogICAgICAgICBnb3RvIGVycm9yOwogCiAgICAgaWYgKFB5RXJyX09jY3VycmVkKCkpIHsKLSAgICAgICAgUHlfREVDUkVGKG0pOwogICAgICAgICBQeUVycl9Gb3JtYXQoUHlFeGNfU3lzdGVtRXJyb3IsCiAgICAgICAgICAgICAgICAgICAgICAiaW5pdGlhbGl6YXRpb24gb2YgJXMgcmFpc2VkIHVucmVwb3J0ZWQgZXhjZXB0aW9uIiwKICAgICAgICAgICAgICAgICAgICAgIHNob3J0bmFtZSk7CkBAIC04MywyMCArMTA0LDE5IEBACiAgICAgZWxzZQogICAgICAgICBQeV9JTkNSRUYocGF0aCk7CiAKLSAgICBpZiAoX1B5SW1wb3J0X0ZpeHVwRXh0ZW5zaW9uVW5pY29kZShtLCBuYW1lLCBwYXRoKSA8IDApCisgICAgaWYgKF9QeUltcG9ydF9GaXh1cEV4dGVuc2lvbk9iamVjdChtLCBuYW1lLCBwYXRoKSA8IDApCiAgICAgICAgIGdvdG8gZXJyb3I7CiAgICAgaWYgKFB5X1ZlcmJvc2VGbGFnKQotICAgICAgICBQeVN5c19Xcml0ZVN0ZGVycigKLSAgICAgICAgICAgICJpbXBvcnQgJXMgIyBkeW5hbWljYWxseSBsb2FkZWQgZnJvbSAlc1xuIiwKLSAgICAgICAgICAgIG5hbWUsIHBhdGhuYW1lKTsKLSAgICByZXN1bHQgPSBtOwotICAgIGdvdG8gZmluYWxseTsKKyAgICAgICAgUHlTeXNfRm9ybWF0U3RkZXJyKAorICAgICAgICAgICAgImltcG9ydCAlVSAjIGR5bmFtaWNhbGx5IGxvYWRlZCBmcm9tICVSXG4iLAorICAgICAgICAgICAgbmFtZSwgcGF0aCk7CisgICAgUHlfREVDUkVGKG5hbWVhc2NpaSk7CisgICAgcmV0dXJuIG07CiAKIGVycm9yOgotICAgIHJlc3VsdCA9IE5VTEw7Ci1maW5hbGx5OgotICAgIFB5X0RFQ1JFRihwYXRoKTsKLSAgICByZXR1cm4gcmVzdWx0OworICAgIFB5X0RFQ1JFRihuYW1lYXNjaWkpOworICAgIFB5X1hERUNSRUYobSk7CisgICAgcmV0dXJuIE5VTEw7CiB9CiAKICNlbmRpZiAvKiBIQVZFX0RZTkFNSUNfTE9BRElORyAqLwpkaWZmIC0tZ2l0IGEvUHl0aG9uL2ltcG9ydGRsLmggYi9QeXRob24vaW1wb3J0ZGwuaAppbmRleCBiNGQyMWJlLi5lNTFlNTUxIDEwMDY0NAotLS0gYS9QeXRob24vaW1wb3J0ZGwuaAorKysgYi9QeXRob24vaW1wb3J0ZGwuaApAQCAtMjgsNyArMjgsNyBAQAogZXh0ZXJuIHN0cnVjdCBmaWxlZGVzY3IgKiBfUHlJbXBvcnRfRmlsZXRhYjsKIGV4dGVybiBjb25zdCBzdHJ1Y3QgZmlsZWRlc2NyIF9QeUltcG9ydF9EeW5Mb2FkRmlsZXRhYltdOwogCi1leHRlcm4gUHlPYmplY3QgKl9QeUltcG9ydF9Mb2FkRHluYW1pY01vZHVsZShjaGFyICpuYW1lLCBjaGFyICpwYXRobmFtZSwKK2V4dGVybiBQeU9iamVjdCAqX1B5SW1wb3J0X0xvYWREeW5hbWljTW9kdWxlKFB5T2JqZWN0ICpuYW1lLCBQeU9iamVjdCAqcGF0aG5hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGSUxFICopOwogCiAvKiBNYXggbGVuZ3RoIG9mIG1vZHVsZSBzdWZmaXggc2VhcmNoZWQgZm9yIC0tIGFjY29tbW9kYXRlcyAibW9kdWxlLnNsYiIgKi8KZGlmZiAtLWdpdCBhL1B5dGhvbi9tYWtlb3Bjb2RldGFyZ2V0cy5weSBiL1B5dGhvbi9tYWtlb3Bjb2RldGFyZ2V0cy5weQppbmRleCA1ZDhlNWE5Li5kOWEwODU1IDEwMDc1NQotLS0gYS9QeXRob24vbWFrZW9wY29kZXRhcmdldHMucHkKKysrIGIvUHl0aG9uL21ha2VvcGNvZGV0YXJnZXRzLnB5CkBAIC0yMyw5ICsyMyw2IEBACiAgICAgb3Bjb2RlID0gZmluZF9tb2R1bGUoIm9wY29kZSIpCiAgICAgdGFyZ2V0cyA9IFsnX3Vua25vd25fb3Bjb2RlJ10gKiAyNTYKICAgICBmb3Igb3BuYW1lLCBvcCBpbiBvcGNvZGUub3BtYXAuaXRlbXMoKToKLSAgICAgICAgaWYgb3BuYW1lID09ICJTVE9QX0NPREUiOgotICAgICAgICAgICAgIyBYWFggb3Bjb2RlIG5vdCBpbXBsZW1lbnRlZAotICAgICAgICAgICAgY29udGludWUKICAgICAgICAgdGFyZ2V0c1tvcF0gPSAiVEFSR0VUXyVzIiAlIG9wbmFtZQogICAgIGYud3JpdGUoInN0YXRpYyB2b2lkICpvcGNvZGVfdGFyZ2V0c1syNTZdID0ge1xuIikKICAgICBmLndyaXRlKCIsXG4iLmpvaW4oWyIgICAgJiYlcyIgJSBzIGZvciBzIGluIHRhcmdldHNdKSkKZGlmZiAtLWdpdCBhL1B5dGhvbi9tYXJzaGFsLmMgYi9QeXRob24vbWFyc2hhbC5jCmluZGV4IDNlMmZiZWIuLmI5NGU4ZDggMTAwNjQ0Ci0tLSBhL1B5dGhvbi9tYXJzaGFsLmMKKysrIGIvUHl0aG9uL21hcnNoYWwuYwpAQCAtNTksOSArNTksOSBAQAogICAgIC8qIElmIGZwID09IE5VTEwsIHRoZSBmb2xsb3dpbmcgYXJlIHZhbGlkOiAqLwogICAgIFB5T2JqZWN0ICpyZWFkYWJsZTsgICAgLyogU3RyZWFtLWxpa2Ugb2JqZWN0IGJlaW5nIHJlYWQgZnJvbSAqLwogICAgIFB5T2JqZWN0ICpzdHI7CisgICAgUHlPYmplY3QgKmN1cnJlbnRfZmlsZW5hbWU7CiAgICAgY2hhciAqcHRyOwogICAgIGNoYXIgKmVuZDsKLSAgICBQeU9iamVjdCAqc3RyaW5nczsgLyogZGljdCBvbiBtYXJzaGFsLCBsaXN0IG9uIHVubWFyc2hhbCAqLwogICAgIGludCB2ZXJzaW9uOwogfSBXRklMRTsKIApAQCAtMzExLDkgKzMxMSw3IEBACiAgICAgfQogICAgIGVsc2UgaWYgKFB5VW5pY29kZV9DaGVja0V4YWN0KHYpKSB7CiAgICAgICAgIFB5T2JqZWN0ICp1dGY4OwotICAgICAgICB1dGY4ID0gUHlVbmljb2RlX0VuY29kZVVURjgoUHlVbmljb2RlX0FTX1VOSUNPREUodiksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfR0VUX1NJWkUodiksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3Vycm9nYXRlcGFzcyIpOworICAgICAgICB1dGY4ID0gUHlVbmljb2RlX0FzRW5jb2RlZFN0cmluZyh2LCAidXRmOCIsICJzdXJyb2dhdGVwYXNzIik7CiAgICAgICAgIGlmICh1dGY4ID09IE5VTEwpIHsKICAgICAgICAgICAgIHAtPmRlcHRoLS07CiAgICAgICAgICAgICBwLT5lcnJvciA9IFdGRVJSX1VOTUFSU0hBTExBQkxFOwpAQCAtNDQ1LDcgKzQ0Myw2IEBACiAgICAgd2YuZnAgPSBmcDsKICAgICB3Zi5lcnJvciA9IFdGRVJSX09LOwogICAgIHdmLmRlcHRoID0gMDsKLSAgICB3Zi5zdHJpbmdzID0gTlVMTDsKICAgICB3Zi52ZXJzaW9uID0gdmVyc2lvbjsKICAgICB3X2xvbmcoeCwgJndmKTsKIH0KQEAgLTQ1NywxMCArNDU0LDggQEAKICAgICB3Zi5mcCA9IGZwOwogICAgIHdmLmVycm9yID0gV0ZFUlJfT0s7CiAgICAgd2YuZGVwdGggPSAwOwotICAgIHdmLnN0cmluZ3MgPSAodmVyc2lvbiA+IDApID8gUHlEaWN0X05ldygpIDogTlVMTDsKICAgICB3Zi52ZXJzaW9uID0gdmVyc2lvbjsKICAgICB3X29iamVjdCh4LCAmd2YpOwotICAgIFB5X1hERUNSRUYod2Yuc3RyaW5ncyk7CiB9CiAKIHR5cGVkZWYgV0ZJTEUgUkZJTEU7IC8qIFNhbWUgc3RydWN0IHdpdGggZGlmZmVyZW50IGludmFyaWFudHMgKi8KQEAgLTQ4NSw3ICs0ODAsOSBAQAogICAgICAgICB9CiAgICAgfQogICAgIGVsc2UgewotICAgICAgICBQeU9iamVjdCAqZGF0YSA9IFB5T2JqZWN0X0NhbGxNZXRob2QocC0+cmVhZGFibGUsICJyZWFkIiwgImkiLCBuKTsKKyAgICAgICAgX1B5X0lERU5USUZJRVIocmVhZCk7CisKKyAgICAgICAgUHlPYmplY3QgKmRhdGEgPSBfUHlPYmplY3RfQ2FsbE1ldGhvZElkKHAtPnJlYWRhYmxlLCAmUHlJZF9yZWFkLCAiaSIsIG4pOwogICAgICAgICByZWFkID0gMDsKICAgICAgICAgaWYgKGRhdGEgIT0gTlVMTCkgewogICAgICAgICAgICAgaWYgKCFQeUJ5dGVzX0NoZWNrKGRhdGEpKSB7CkBAIC0xMDY5LDYgKzEwNjYsMTggQEAKICAgICAgICAgICAgIGZpbGVuYW1lID0gcl9vYmplY3QocCk7CiAgICAgICAgICAgICBpZiAoZmlsZW5hbWUgPT0gTlVMTCkKICAgICAgICAgICAgICAgICBnb3RvIGNvZGVfZXJyb3I7CisgICAgICAgICAgICBpZiAoUHlVbmljb2RlX0NoZWNrRXhhY3QoZmlsZW5hbWUpKSB7CisgICAgICAgICAgICAgICAgaWYgKHAtPmN1cnJlbnRfZmlsZW5hbWUgIT0gTlVMTCkgeworICAgICAgICAgICAgICAgICAgICBpZiAoIVB5VW5pY29kZV9Db21wYXJlKGZpbGVuYW1lLCBwLT5jdXJyZW50X2ZpbGVuYW1lKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgUHlfREVDUkVGKGZpbGVuYW1lKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIFB5X0lOQ1JFRihwLT5jdXJyZW50X2ZpbGVuYW1lKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVuYW1lID0gcC0+Y3VycmVudF9maWxlbmFtZTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgcC0+Y3VycmVudF9maWxlbmFtZSA9IGZpbGVuYW1lOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KICAgICAgICAgICAgIG5hbWUgPSByX29iamVjdChwKTsKICAgICAgICAgICAgIGlmIChuYW1lID09IE5VTEwpCiAgICAgICAgICAgICAgICAgZ290byBjb2RlX2Vycm9yOwpAQCAtMTEzMSw3ICsxMTQwLDcgQEAKICAgICBhc3NlcnQoZnApOwogICAgIHJmLnJlYWRhYmxlID0gTlVMTDsKICAgICByZi5mcCA9IGZwOwotICAgIHJmLnN0cmluZ3MgPSBOVUxMOworICAgIHJmLmN1cnJlbnRfZmlsZW5hbWUgPSBOVUxMOwogICAgIHJmLmVuZCA9IHJmLnB0ciA9IE5VTEw7CiAgICAgcmV0dXJuIHJfc2hvcnQoJnJmKTsKIH0KQEAgLTExNDIsNyArMTE1MSw3IEBACiAgICAgUkZJTEUgcmY7CiAgICAgcmYuZnAgPSBmcDsKICAgICByZi5yZWFkYWJsZSA9IE5VTEw7Ci0gICAgcmYuc3RyaW5ncyA9IE5VTEw7CisgICAgcmYuY3VycmVudF9maWxlbmFtZSA9IE5VTEw7CiAgICAgcmYucHRyID0gcmYuZW5kID0gTlVMTDsKICAgICByZXR1cm4gcl9sb25nKCZyZik7CiB9CkBAIC0xMjA0LDExICsxMjEzLDEwIEBACiAgICAgUHlPYmplY3QgKnJlc3VsdDsKICAgICByZi5mcCA9IGZwOwogICAgIHJmLnJlYWRhYmxlID0gTlVMTDsKLSAgICByZi5zdHJpbmdzID0gUHlMaXN0X05ldygwKTsKKyAgICByZi5jdXJyZW50X2ZpbGVuYW1lID0gTlVMTDsKICAgICByZi5kZXB0aCA9IDA7CiAgICAgcmYucHRyID0gcmYuZW5kID0gTlVMTDsKICAgICByZXN1bHQgPSByX29iamVjdCgmcmYpOwotICAgIFB5X0RFQ1JFRihyZi5zdHJpbmdzKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCkBAIC0xMjE5LDEyICsxMjI3LDExIEBACiAgICAgUHlPYmplY3QgKnJlc3VsdDsKICAgICByZi5mcCA9IE5VTEw7CiAgICAgcmYucmVhZGFibGUgPSBOVUxMOworICAgIHJmLmN1cnJlbnRfZmlsZW5hbWUgPSBOVUxMOwogICAgIHJmLnB0ciA9IHN0cjsKICAgICByZi5lbmQgPSBzdHIgKyBsZW47Ci0gICAgcmYuc3RyaW5ncyA9IFB5TGlzdF9OZXcoMCk7CiAgICAgcmYuZGVwdGggPSAwOwogICAgIHJlc3VsdCA9IHJfb2JqZWN0KCZyZik7Ci0gICAgUHlfREVDUkVGKHJmLnN0cmluZ3MpOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKQEAgLTEyMzIsNyArMTIzOSw2IEBACiBQeU1hcnNoYWxfV3JpdGVPYmplY3RUb1N0cmluZyhQeU9iamVjdCAqeCwgaW50IHZlcnNpb24pCiB7CiAgICAgV0ZJTEUgd2Y7Ci0gICAgUHlPYmplY3QgKnJlcyA9IE5VTEw7CiAKICAgICB3Zi5mcCA9IE5VTEw7CiAgICAgd2YucmVhZGFibGUgPSBOVUxMOwpAQCAtMTI0NCw5ICsxMjUwLDcgQEAKICAgICB3Zi5lcnJvciA9IFdGRVJSX09LOwogICAgIHdmLmRlcHRoID0gMDsKICAgICB3Zi52ZXJzaW9uID0gdmVyc2lvbjsKLSAgICB3Zi5zdHJpbmdzID0gKHZlcnNpb24gPiAwKSA/IFB5RGljdF9OZXcoKSA6IE5VTEw7CiAgICAgd19vYmplY3QoeCwgJndmKTsKLSAgICBQeV9YREVDUkVGKHdmLnN0cmluZ3MpOwogICAgIGlmICh3Zi5zdHIgIT0gTlVMTCkgewogICAgICAgICBjaGFyICpiYXNlID0gUHlCeXRlc19BU19TVFJJTkcoKFB5Qnl0ZXNPYmplY3QgKil3Zi5zdHIpOwogICAgICAgICBpZiAod2YucHRyIC0gYmFzZSA+IFBZX1NTSVpFX1RfTUFYKSB7CkBAIC0xMjY4LDEyICsxMjcyLDcgQEAKICAgICAgICAgICAgICAgIDoib2JqZWN0IHRvbyBkZWVwbHkgbmVzdGVkIHRvIG1hcnNoYWwiKTsKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQotICAgIGlmICh3Zi5zdHIgIT0gTlVMTCkgewotICAgICAgICAvKiBYWFggUXVpY2sgaGFjayAtLSBuZWVkIHRvIGRvIHRoaXMgZGlmZmVyZW50bHkgKi8KLSAgICAgICAgcmVzID0gUHlCeXRlc19Gcm9tT2JqZWN0KHdmLnN0cik7Ci0gICAgICAgIFB5X0RFQ1JFRih3Zi5zdHIpOwotICAgIH0KLSAgICByZXR1cm4gcmVzOworICAgIHJldHVybiB3Zi5zdHI7CiB9CiAKIC8qIEFuZCBhbiBpbnRlcmZhY2UgZm9yIFB5dGhvbiBwcm9ncmFtcy4uLiAqLwpAQCAtMTI4NywxMiArMTI4NiwxNCBAQAogICAgIGludCB2ZXJzaW9uID0gUHlfTUFSU0hBTF9WRVJTSU9OOwogICAgIFB5T2JqZWN0ICpzOwogICAgIFB5T2JqZWN0ICpyZXM7CisgICAgX1B5X0lERU5USUZJRVIod3JpdGUpOworCiAgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJPT3xpOmR1bXAiLCAmeCwgJmYsICZ2ZXJzaW9uKSkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgcyA9IFB5TWFyc2hhbF9Xcml0ZU9iamVjdFRvU3RyaW5nKHgsIHZlcnNpb24pOwogICAgIGlmIChzID09IE5VTEwpCiAgICAgICAgIHJldHVybiBOVUxMOwotICAgIHJlcyA9IFB5T2JqZWN0X0NhbGxNZXRob2QoZiwgIndyaXRlIiwgIk8iLCBzKTsKKyAgICByZXMgPSBfUHlPYmplY3RfQ2FsbE1ldGhvZElkKGYsICZQeUlkX3dyaXRlLCAiTyIsIHMpOwogICAgIFB5X0RFQ1JFRihzKTsKICAgICByZXR1cm4gcmVzOwogfQpAQCAtMTMxNCw2ICsxMzE1LDcgQEAKIG1hcnNoYWxfbG9hZChQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmYpCiB7CiAgICAgUHlPYmplY3QgKmRhdGEsICpyZXN1bHQ7CisgICAgX1B5X0lERU5USUZJRVIocmVhZCk7CiAgICAgUkZJTEUgcmY7CiAKICAgICAvKgpAQCAtMTMyMSw3ICsxMzIzLDcgQEAKICAgICAgKiBUaGlzIGlzIHRvIGVuc3VyZSB0aGF0IHRoZSBvYmplY3QgcGFzc2VkIGluIGF0IGxlYXN0CiAgICAgICogaGFzIGEgcmVhZCBtZXRob2Qgd2hpY2ggcmV0dXJucyBieXRlcy4KICAgICAgKi8KLSAgICBkYXRhID0gUHlPYmplY3RfQ2FsbE1ldGhvZChmLCAicmVhZCIsICJpIiwgMCk7CisgICAgZGF0YSA9IF9QeU9iamVjdF9DYWxsTWV0aG9kSWQoZiwgJlB5SWRfcmVhZCwgImkiLCAwKTsKICAgICBpZiAoZGF0YSA9PSBOVUxMKQogICAgICAgICByZXR1cm4gTlVMTDsKICAgICBpZiAoIVB5Qnl0ZXNfQ2hlY2soZGF0YSkpIHsKQEAgLTEzMzEsMTIgKzEzMzMsMTEgQEAKICAgICAgICAgcmVzdWx0ID0gTlVMTDsKICAgICB9CiAgICAgZWxzZSB7Ci0gICAgICAgIHJmLnN0cmluZ3MgPSBQeUxpc3RfTmV3KDApOwogICAgICAgICByZi5kZXB0aCA9IDA7CiAgICAgICAgIHJmLmZwID0gTlVMTDsKICAgICAgICAgcmYucmVhZGFibGUgPSBmOworICAgICAgICByZi5jdXJyZW50X2ZpbGVuYW1lID0gTlVMTDsKICAgICAgICAgcmVzdWx0ID0gcmVhZF9vYmplY3QoJnJmKTsKLSAgICAgICAgUHlfREVDUkVGKHJmLnN0cmluZ3MpOwogICAgIH0KICAgICBQeV9ERUNSRUYoZGF0YSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKQEAgLTEzODksMTIgKzEzOTAsMTEgQEAKICAgICBuID0gcC5sZW47CiAgICAgcmYuZnAgPSBOVUxMOwogICAgIHJmLnJlYWRhYmxlID0gTlVMTDsKKyAgICByZi5jdXJyZW50X2ZpbGVuYW1lID0gTlVMTDsKICAgICByZi5wdHIgPSBzOwogICAgIHJmLmVuZCA9IHMgKyBuOwotICAgIHJmLnN0cmluZ3MgPSBQeUxpc3RfTmV3KDApOwogICAgIHJmLmRlcHRoID0gMDsKICAgICByZXN1bHQgPSByZWFkX29iamVjdCgmcmYpOwotICAgIFB5X0RFQ1JFRihyZi5zdHJpbmdzKTsKICAgICBQeUJ1ZmZlcl9SZWxlYXNlKCZwKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpkaWZmIC0tZ2l0IGEvUHl0aG9uL21vZHN1cHBvcnQuYyBiL1B5dGhvbi9tb2RzdXBwb3J0LmMKaW5kZXggODViMGQ2Ni4uNDI4OTE0ZiAxMDA2NDQKLS0tIGEvUHl0aG9uL21vZHN1cHBvcnQuYworKysgYi9QeXRob24vbW9kc3VwcG9ydC5jCkBAIC0xNDgsMTUgKzE0OCw2IEBACiAgICAgcmV0dXJuIHY7CiB9CiAKLXN0YXRpYyBpbnQKLV91c3RybGVuKFB5X1VOSUNPREUgKnUpCi17Ci0gICAgaW50IGkgPSAwOwotICAgIFB5X1VOSUNPREUgKnYgPSB1OwotICAgIHdoaWxlICgqdiAhPSAwKSB7IGkrKzsgdisrOyB9Ci0gICAgcmV0dXJuIGk7Ci19Ci0KIHN0YXRpYyBQeU9iamVjdCAqCiBkb19ta3R1cGxlKGNvbnN0IGNoYXIgKipwX2Zvcm1hdCwgdmFfbGlzdCAqcF92YSwgaW50IGVuZGNoYXIsIGludCBuLCBpbnQgZmxhZ3MpCiB7CkBAIC0yNjksNyArMjYwLDcgQEAKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgIGlmIChuIDwgMCkKLSAgICAgICAgICAgICAgICAgICAgbiA9IF91c3RybGVuKHUpOworICAgICAgICAgICAgICAgICAgICBuID0gUHlfVU5JQ09ERV9zdHJsZW4odSk7CiAgICAgICAgICAgICAgICAgdiA9IFB5VW5pY29kZV9Gcm9tVW5pY29kZSh1LCBuKTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIHJldHVybiB2OwpAQCAtMjkyLDExICsyODMsNiBAQAogICAgICAgICBjYXNlICdDJzoKICAgICAgICAgewogICAgICAgICAgICAgaW50IGkgPSB2YV9hcmcoKnBfdmEsIGludCk7Ci0gICAgICAgICAgICBpZiAoaSA8IDAgfHwgaSA+IFB5VW5pY29kZV9HZXRNYXgoKSkgewotICAgICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19PdmVyZmxvd0Vycm9yLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiJWMgYXJnIG5vdCBpbiByYW5nZSgweDExMDAwMCkiKTsKLSAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgICAgICAgIH0KICAgICAgICAgICAgIHJldHVybiBQeVVuaWNvZGVfRnJvbU9yZGluYWwoaSk7CiAgICAgICAgIH0KIApkaWZmIC0tZ2l0IGEvUHl0aG9uL29wY29kZV90YXJnZXRzLmggYi9QeXRob24vb3Bjb2RlX3RhcmdldHMuaAppbmRleCBhOTFkYTc5Li4yZDZiY2RhIDEwMDY0NAotLS0gYS9QeXRob24vb3Bjb2RlX3RhcmdldHMuaAorKysgYi9QeXRob24vb3Bjb2RlX3RhcmdldHMuaApAQCAtNzEsNyArNzEsNyBAQAogICAgICYmVEFSR0VUX1NUT1JFX0xPQ0FMUywKICAgICAmJlRBUkdFVF9QUklOVF9FWFBSLAogICAgICYmVEFSR0VUX0xPQURfQlVJTERfQ0xBU1MsCi0gICAgJiZfdW5rbm93bl9vcGNvZGUsCisgICAgJiZUQVJHRVRfWUlFTERfRlJPTSwKICAgICAmJl91bmtub3duX29wY29kZSwKICAgICAmJl91bmtub3duX29wY29kZSwKICAgICAmJlRBUkdFVF9JTlBMQUNFX0xTSElGVCwKZGlmZiAtLWdpdCBhL1B5dGhvbi9wZWVwaG9sZS5jIGIvUHl0aG9uL3BlZXBob2xlLmMKaW5kZXggMzU5ZWRhOC4uNWQ1MzY3NyAxMDA2NDQKLS0tIGEvUHl0aG9uL3BlZXBob2xlLmMKKysrIGIvUHl0aG9uL3BlZXBob2xlLmMKQEAgLTIzLDYgKzIzLDY0IEBACiAjZGVmaW5lIElTQkFTSUNCTE9DSyhibG9ja3MsIHN0YXJ0LCBieXRlcykgXAogICAgIChibG9ja3Nbc3RhcnRdPT1ibG9ja3Nbc3RhcnQrYnl0ZXMtMV0pCiAKKworI2RlZmluZSBDT05TVF9TVEFDS19DUkVBVEUoKSB7IFwKKyAgICBjb25zdF9zdGFja19zaXplID0gMjU2OyBcCisgICAgY29uc3Rfc3RhY2sgPSBQeU1lbV9OZXcoUHlPYmplY3QgKiwgY29uc3Rfc3RhY2tfc2l6ZSk7IFwKKyAgICBsb2FkX2NvbnN0X3N0YWNrID0gUHlNZW1fTmV3KFB5X3NzaXplX3QsIGNvbnN0X3N0YWNrX3NpemUpOyBcCisgICAgaWYgKCFjb25zdF9zdGFjayB8fCAhbG9hZF9jb25zdF9zdGFjaykgeyBcCisgICAgICAgIFB5RXJyX05vTWVtb3J5KCk7IFwKKyAgICAgICAgZ290byBleGl0RXJyb3I7IFwKKyAgICB9IFwKKyAgICB9CisKKyNkZWZpbmUgQ09OU1RfU1RBQ0tfREVMRVRFKCkgZG8geyBcCisgICAgaWYgKGNvbnN0X3N0YWNrKSBcCisgICAgICAgIFB5TWVtX0ZyZWUoY29uc3Rfc3RhY2spOyBcCisgICAgaWYgKGxvYWRfY29uc3Rfc3RhY2spIFwKKyAgICAgICAgUHlNZW1fRnJlZShsb2FkX2NvbnN0X3N0YWNrKTsgXAorICAgIH0gd2hpbGUoMCkKKworI2RlZmluZSBDT05TVF9TVEFDS19MRU4oKSAoY29uc3Rfc3RhY2tfdG9wICsgMSkKKworI2RlZmluZSBDT05TVF9TVEFDS19QVVNIX09QKGkpIGRvIHsgXAorICAgIFB5T2JqZWN0ICpfeDsgXAorICAgIGFzc2VydChjb2Rlc3RyW2ldID09IExPQURfQ09OU1QpOyBcCisgICAgYXNzZXJ0KFB5TGlzdF9HRVRfU0laRShjb25zdHMpID4gR0VUQVJHKGNvZGVzdHIsIGkpKTsgXAorICAgIF94ID0gUHlMaXN0X0dFVF9JVEVNKGNvbnN0cywgR0VUQVJHKGNvZGVzdHIsIGkpKTsgXAorICAgIGlmICgrK2NvbnN0X3N0YWNrX3RvcCA+PSBjb25zdF9zdGFja19zaXplKSB7IFwKKyAgICAgICAgY29uc3Rfc3RhY2tfc2l6ZSAqPSAyOyBcCisgICAgICAgIFB5TWVtX1Jlc2l6ZShjb25zdF9zdGFjaywgUHlPYmplY3QgKiwgY29uc3Rfc3RhY2tfc2l6ZSk7IFwKKyAgICAgICAgUHlNZW1fUmVzaXplKGxvYWRfY29uc3Rfc3RhY2ssIFB5X3NzaXplX3QsIGNvbnN0X3N0YWNrX3NpemUpOyBcCisgICAgICAgIGlmICghY29uc3Rfc3RhY2sgfHwgIWxvYWRfY29uc3Rfc3RhY2spIHsgXAorICAgICAgICAgICAgUHlFcnJfTm9NZW1vcnkoKTsgXAorICAgICAgICAgICAgZ290byBleGl0RXJyb3I7IFwKKyAgICAgICAgfSBcCisgICAgfSBcCisgICAgbG9hZF9jb25zdF9zdGFja1tjb25zdF9zdGFja190b3BdID0gaTsgXAorICAgIGNvbnN0X3N0YWNrW2NvbnN0X3N0YWNrX3RvcF0gPSBfeDsgXAorICAgIGluX2NvbnN0cyA9IDE7IFwKKyAgICB9IHdoaWxlKDApCisKKyNkZWZpbmUgQ09OU1RfU1RBQ0tfUkVTRVQoKSBkbyB7IFwKKyAgICBjb25zdF9zdGFja190b3AgPSAtMTsgXAorICAgIH0gd2hpbGUoMCkKKworI2RlZmluZSBDT05TVF9TVEFDS19UT1AoKSBcCisgICAgY29uc3Rfc3RhY2tbY29uc3Rfc3RhY2tfdG9wXQorCisjZGVmaW5lIENPTlNUX1NUQUNLX0xBU1ROKGkpIFwKKyAgICAmY29uc3Rfc3RhY2tbY29uc3Rfc3RhY2tfdG9wIC0gaSArIDFdCisKKyNkZWZpbmUgQ09OU1RfU1RBQ0tfUE9QKGkpIGRvIHsgXAorICAgIGFzc2VydChjb25zdF9zdGFja190b3AgKyAxID49IGkpOyBcCisgICAgY29uc3Rfc3RhY2tfdG9wIC09IGk7IFwKKyAgICB9IHdoaWxlKDApCisKKyNkZWZpbmUgQ09OU1RfU1RBQ0tfT1BfTEFTVE4oaSkgXAorICAgICgoY29uc3Rfc3RhY2tfdG9wID49IGkgLSAxKSA/IGxvYWRfY29uc3Rfc3RhY2tbY29uc3Rfc3RhY2tfdG9wIC0gaSArIDFdIDogLTEpCisKKwogLyogUmVwbGFjZSBMT0FEX0NPTlNUIGMxLiBMT0FEX0NPTlNUIGMyIC4uLiBMT0FEX0NPTlNUIGNuIEJVSUxEX1RVUExFIG4KICAgIHdpdGggICAgTE9BRF9DT05TVCAoYzEsIGMyLCAuLi4gY24pLgogICAgVGhlIGNvbnN0cyB0YWJsZSBtdXN0IHN0aWxsIGJlIGluIGxpc3QgZm9ybSBzbyB0aGF0IHRoZQpAQCAtMzMsMTcgKzkxLDE0IEBACiAgICB0ZXN0OyBmb3IgQlVJTERfU0VUIGl0IGFzc2VtYmxlcyBhIGZyb3plbnNldCByYXRoZXIgdGhhbiBhIHR1cGxlLgogKi8KIHN0YXRpYyBpbnQKLXR1cGxlX29mX2NvbnN0YW50cyh1bnNpZ25lZCBjaGFyICpjb2Rlc3RyLCBQeV9zc2l6ZV90IG4sIFB5T2JqZWN0ICpjb25zdHMpCit0dXBsZV9vZl9jb25zdGFudHModW5zaWduZWQgY2hhciAqY29kZXN0ciwgUHlfc3NpemVfdCBuLAorICAgICAgICAgICAgICAgICAgIFB5T2JqZWN0ICpjb25zdHMsIFB5T2JqZWN0ICoqb2JqcykKIHsKICAgICBQeU9iamVjdCAqbmV3Y29uc3QsICpjb25zdGFudDsKLSAgICBQeV9zc2l6ZV90IGksIGFyZywgbGVuX2NvbnN0czsKKyAgICBQeV9zc2l6ZV90IGksIGxlbl9jb25zdHM7CiAKICAgICAvKiBQcmUtY29uZGl0aW9ucyAqLwogICAgIGFzc2VydChQeUxpc3RfQ2hlY2tFeGFjdChjb25zdHMpKTsKLSAgICBhc3NlcnQoY29kZXN0cltuKjNdID09IEJVSUxEX1RVUExFIHx8IGNvZGVzdHJbbiozXSA9PSBCVUlMRF9MSVNUIHx8IGNvZGVzdHJbbiozXSA9PSBCVUlMRF9TRVQpOwotICAgIGFzc2VydChHRVRBUkcoY29kZXN0ciwgKG4qMykpID09IG4pOwotICAgIGZvciAoaT0wIDsgaTxuIDsgaSsrKQotICAgICAgICBhc3NlcnQoY29kZXN0cltpKjNdID09IExPQURfQ09OU1QpOwogCiAgICAgLyogQnVpbGR1cCBuZXcgdHVwbGUgb2YgY29uc3RhbnRzICovCiAgICAgbmV3Y29uc3QgPSBQeVR1cGxlX05ldyhuKTsKQEAgLTUxLDE2ICsxMDYsMTQgQEAKICAgICAgICAgcmV0dXJuIDA7CiAgICAgbGVuX2NvbnN0cyA9IFB5TGlzdF9HRVRfU0laRShjb25zdHMpOwogICAgIGZvciAoaT0wIDsgaTxuIDsgaSsrKSB7Ci0gICAgICAgIGFyZyA9IEdFVEFSRyhjb2Rlc3RyLCAoaSozKSk7Ci0gICAgICAgIGFzc2VydChhcmcgPCBsZW5fY29uc3RzKTsKLSAgICAgICAgY29uc3RhbnQgPSBQeUxpc3RfR0VUX0lURU0oY29uc3RzLCBhcmcpOworICAgICAgICBjb25zdGFudCA9IG9ianNbaV07CiAgICAgICAgIFB5X0lOQ1JFRihjb25zdGFudCk7CiAgICAgICAgIFB5VHVwbGVfU0VUX0lURU0obmV3Y29uc3QsIGksIGNvbnN0YW50KTsKICAgICB9CiAKICAgICAvKiBJZiBpdCdzIGEgQlVJTERfU0VULCB1c2UgdGhlIFB5VHVwbGUgd2UganVzdCBidWlsdCB0byBjcmVhdGUgYQogICAgICAgUHlGcm96ZW5TZXQsIGFuZCB1c2UgdGhhdCBhcyB0aGUgY29uc3RhbnQgaW5zdGVhZDogKi8KLSAgICBpZiAoY29kZXN0cltuKjNdID09IEJVSUxEX1NFVCkgeworICAgIGlmIChjb2Rlc3RyWzBdID09IEJVSUxEX1NFVCkgewogICAgICAgICBQeU9iamVjdCAqdHVwbGUgPSBuZXdjb25zdDsKICAgICAgICAgbmV3Y29uc3QgPSBQeUZyb3plblNldF9OZXcodHVwbGUpOwogICAgICAgICBQeV9ERUNSRUYodHVwbGUpOwpAQCAtNzcsOSArMTMwLDggQEAKIAogICAgIC8qIFdyaXRlIE5PUHMgb3ZlciBvbGQgTE9BRF9DT05TVFMgYW5kCiAgICAgICAgYWRkIGEgbmV3IExPQURfQ09OU1QgbmV3Y29uc3Qgb24gdG9wIG9mIHRoZSBCVUlMRF9UVVBMRSBuICovCi0gICAgbWVtc2V0KGNvZGVzdHIsIE5PUCwgbiozKTsKLSAgICBjb2Rlc3RyW24qM10gPSBMT0FEX0NPTlNUOwotICAgIFNFVEFSRyhjb2Rlc3RyLCAobiozKSwgbGVuX2NvbnN0cyk7CisgICAgY29kZXN0clswXSA9IExPQURfQ09OU1Q7CisgICAgU0VUQVJHKGNvZGVzdHIsIDAsIGxlbl9jb25zdHMpOwogICAgIHJldHVybiAxOwogfQogCkBAIC04NywxNCArMTM5LDE0IEBACiAgICB3aXRoICAgIExPQURfQ09OU1QgYmlub3AoYzEsYzIpCiAgICBUaGUgY29uc3RzIHRhYmxlIG11c3Qgc3RpbGwgYmUgaW4gbGlzdCBmb3JtIHNvIHRoYXQgdGhlCiAgICBuZXcgY29uc3RhbnQgY2FuIGJlIGFwcGVuZGVkLgotICAgQ2FsbGVkIHdpdGggY29kZXN0ciBwb2ludGluZyB0byB0aGUgZmlyc3QgTE9BRF9DT05TVC4KKyAgIENhbGxlZCB3aXRoIGNvZGVzdHIgcG9pbnRpbmcgdG8gdGhlIEJJTk9QLgogICAgQWJhbmRvbnMgdGhlIHRyYW5zZm9ybWF0aW9uIGlmIHRoZSBmb2xkaW5nIGZhaWxzIChpLmUuICAxKydhJykuCiAgICBJZiB0aGUgbmV3IGNvbnN0YW50IGlzIGEgc2VxdWVuY2UsIG9ubHkgZm9sZHMgd2hlbiB0aGUgc2l6ZQogICAgaXMgYmVsb3cgYSB0aHJlc2hvbGQgdmFsdWUuICBUaGF0IGtlZXBzIHB5YyBmaWxlcyBmcm9tCiAgICBiZWNvbWluZyBsYXJnZSBpbiB0aGUgcHJlc2VuY2Ugb2YgY29kZSBsaWtlOiAgKE5vbmUsKSoxMDAwLgogKi8KIHN0YXRpYyBpbnQKLWZvbGRfYmlub3BzX29uX2NvbnN0YW50cyh1bnNpZ25lZCBjaGFyICpjb2Rlc3RyLCBQeU9iamVjdCAqY29uc3RzKQorZm9sZF9iaW5vcHNfb25fY29uc3RhbnRzKHVuc2lnbmVkIGNoYXIgKmNvZGVzdHIsIFB5T2JqZWN0ICpjb25zdHMsIFB5T2JqZWN0ICoqb2JqcykKIHsKICAgICBQeU9iamVjdCAqbmV3Y29uc3QsICp2LCAqdzsKICAgICBQeV9zc2l6ZV90IGxlbl9jb25zdHMsIHNpemU7CkBAIC0xMDIsMTMgKzE1NCwxMSBAQAogCiAgICAgLyogUHJlLWNvbmRpdGlvbnMgKi8KICAgICBhc3NlcnQoUHlMaXN0X0NoZWNrRXhhY3QoY29uc3RzKSk7Ci0gICAgYXNzZXJ0KGNvZGVzdHJbMF0gPT0gTE9BRF9DT05TVCk7Ci0gICAgYXNzZXJ0KGNvZGVzdHJbM10gPT0gTE9BRF9DT05TVCk7CiAKICAgICAvKiBDcmVhdGUgbmV3IGNvbnN0YW50ICovCi0gICAgdiA9IFB5TGlzdF9HRVRfSVRFTShjb25zdHMsIEdFVEFSRyhjb2Rlc3RyLCAwKSk7Ci0gICAgdyA9IFB5TGlzdF9HRVRfSVRFTShjb25zdHMsIEdFVEFSRyhjb2Rlc3RyLCAzKSk7Ci0gICAgb3Bjb2RlID0gY29kZXN0cls2XTsKKyAgICB2ID0gb2Jqc1swXTsKKyAgICB3ID0gb2Jqc1sxXTsKKyAgICBvcGNvZGUgPSBjb2Rlc3RyWzBdOwogICAgIHN3aXRjaCAob3Bjb2RlKSB7CiAgICAgICAgIGNhc2UgQklOQVJZX1BPV0VSOgogICAgICAgICAgICAgbmV3Y29uc3QgPSBQeU51bWJlcl9Qb3dlcih2LCB3LCBQeV9Ob25lKTsKQEAgLTEzMywyNCArMTgzLDYgQEAKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIEJJTkFSWV9TVUJTQ1I6CiAgICAgICAgICAgICBuZXdjb25zdCA9IFB5T2JqZWN0X0dldEl0ZW0odiwgdyk7Ci0gICAgICAgICAgICAvKiAjNTA1NzogaWYgdiBpcyB1bmljb2RlLCB0aGVyZSBtaWdodCBiZSBkaWZmZXJlbmNlcyBiZXR3ZWVuCi0gICAgICAgICAgICAgICB3aWRlIGFuZCBuYXJyb3cgYnVpbGRzIGluIGNhc2VzIGxpa2UgJ1xVMDAwMTIzNDUnWzBdLgotICAgICAgICAgICAgICAgV2lkZSBidWlsZHMgd2lsbCByZXR1cm4gYSBub24tQk1QIGNoYXIsIHdoZXJlYXMgbmFycm93IGJ1aWxkcwotICAgICAgICAgICAgICAgd2lsbCByZXR1cm4gYSBzdXJyb2dhdGUuICBJbiBib3RoIHRoZSBjYXNlcyBza2lwIHRoZQotICAgICAgICAgICAgICAgb3B0aW1pemF0aW9uIGluIG9yZGVyIHRvIHByb2R1Y2UgY29tcGF0aWJsZSBweWNzLgotICAgICAgICAgICAgICovCi0gICAgICAgICAgICBpZiAobmV3Y29uc3QgIT0gTlVMTCAmJgotICAgICAgICAgICAgICAgIFB5VW5pY29kZV9DaGVjayh2KSAmJiBQeVVuaWNvZGVfQ2hlY2sobmV3Y29uc3QpKSB7Ci0gICAgICAgICAgICAgICAgUHlfVU5JQ09ERSBjaCA9IFB5VW5pY29kZV9BU19VTklDT0RFKG5ld2NvbnN0KVswXTsKLSNpZmRlZiBQeV9VTklDT0RFX1dJREUKLSAgICAgICAgICAgICAgICBpZiAoY2ggPiAweEZGRkYpIHsKLSNlbHNlCi0gICAgICAgICAgICAgICAgaWYgKGNoID49IDB4RDgwMCAmJiBjaCA8PSAweERGRkYpIHsKLSNlbmRpZgotICAgICAgICAgICAgICAgICAgICBQeV9ERUNSRUYobmV3Y29uc3QpOwotICAgICAgICAgICAgICAgICAgICByZXR1cm4gMDsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBCSU5BUllfTFNISUZUOgogICAgICAgICAgICAgbmV3Y29uc3QgPSBQeU51bWJlcl9Mc2hpZnQodiwgdyk7CkBAIC0xOTgsMTYgKzIzMCwxNSBAQAogICAgIFB5X0RFQ1JFRihuZXdjb25zdCk7CiAKICAgICAvKiBXcml0ZSBOT1AgTk9QIE5PUCBOT1AgTE9BRF9DT05TVCBuZXdjb25zdCAqLwotICAgIG1lbXNldChjb2Rlc3RyLCBOT1AsIDQpOwotICAgIGNvZGVzdHJbNF0gPSBMT0FEX0NPTlNUOwotICAgIFNFVEFSRyhjb2Rlc3RyLCA0LCBsZW5fY29uc3RzKTsKKyAgICBjb2Rlc3RyWy0yXSA9IExPQURfQ09OU1Q7CisgICAgU0VUQVJHKGNvZGVzdHIsIC0yLCBsZW5fY29uc3RzKTsKICAgICByZXR1cm4gMTsKIH0KIAogc3RhdGljIGludAotZm9sZF91bmFyeW9wc19vbl9jb25zdGFudHModW5zaWduZWQgY2hhciAqY29kZXN0ciwgUHlPYmplY3QgKmNvbnN0cykKK2ZvbGRfdW5hcnlvcHNfb25fY29uc3RhbnRzKHVuc2lnbmVkIGNoYXIgKmNvZGVzdHIsIFB5T2JqZWN0ICpjb25zdHMsIFB5T2JqZWN0ICp2KQogewotICAgIFB5T2JqZWN0ICpuZXdjb25zdD1OVUxMLCAqdjsKKyAgICBQeU9iamVjdCAqbmV3Y29uc3Q7CiAgICAgUHlfc3NpemVfdCBsZW5fY29uc3RzOwogICAgIGludCBvcGNvZGU7CiAKQEAgLTIxNiwxMyArMjQ3LDEwIEBACiAgICAgYXNzZXJ0KGNvZGVzdHJbMF0gPT0gTE9BRF9DT05TVCk7CiAKICAgICAvKiBDcmVhdGUgbmV3IGNvbnN0YW50ICovCi0gICAgdiA9IFB5TGlzdF9HRVRfSVRFTShjb25zdHMsIEdFVEFSRyhjb2Rlc3RyLCAwKSk7CiAgICAgb3Bjb2RlID0gY29kZXN0clszXTsKICAgICBzd2l0Y2ggKG9wY29kZSkgewogICAgICAgICBjYXNlIFVOQVJZX05FR0FUSVZFOgotICAgICAgICAgICAgLyogUHJlc2VydmUgdGhlIHNpZ24gb2YgLTAuMCAqLwotICAgICAgICAgICAgaWYgKFB5T2JqZWN0X0lzVHJ1ZSh2KSA9PSAxKQotICAgICAgICAgICAgICAgIG5ld2NvbnN0ID0gUHlOdW1iZXJfTmVnYXRpdmUodik7CisgICAgICAgICAgICBuZXdjb25zdCA9IFB5TnVtYmVyX05lZ2F0aXZlKHYpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgVU5BUllfSU5WRVJUOgogICAgICAgICAgICAgbmV3Y29uc3QgPSBQeU51bWJlcl9JbnZlcnQodik7CkBAIC0zNTgsNyArMzg2LDExIEBACiAgICAgdW5zaWduZWQgY2hhciAqbGluZW5vOwogICAgIGludCAqYWRkcm1hcCA9IE5VTEw7CiAgICAgaW50IG5ld19saW5lLCBjdW1fb3JpZ19saW5lLCBsYXN0X2xpbmUsIHRhYnNpejsKLSAgICBpbnQgY3VtbGM9MCwgbGFzdGxjPTA7ICAgICAgLyogQ291bnQgcnVucyBvZiBjb25zZWN1dGl2ZSBMT0FEX0NPTlNUcyAqLworICAgIFB5T2JqZWN0ICoqY29uc3Rfc3RhY2sgPSBOVUxMOworICAgIFB5X3NzaXplX3QgKmxvYWRfY29uc3Rfc3RhY2sgPSBOVUxMOworICAgIFB5X3NzaXplX3QgY29uc3Rfc3RhY2tfdG9wID0gLTE7CisgICAgUHlfc3NpemVfdCBjb25zdF9zdGFja19zaXplID0gMDsKKyAgICBpbnQgaW5fY29uc3RzID0gMDsgIC8qIHdoZXRoZXIgd2UgYXJlIGluIGEgTE9BRF9DT05TVCBzZXF1ZW5jZSAqLwogICAgIHVuc2lnbmVkIGludCAqYmxvY2tzID0gTlVMTDsKICAgICBjaGFyICpuYW1lOwogCkBAIC00MDQsMTIgKzQzNiwxNiBAQAogICAgICAgICBnb3RvIGV4aXRFcnJvcjsKICAgICBhc3NlcnQoUHlMaXN0X0NoZWNrKGNvbnN0cykpOwogCisgICAgQ09OU1RfU1RBQ0tfQ1JFQVRFKCk7CisKICAgICBmb3IgKGk9MCA7IGk8Y29kZWxlbiA7IGkgKz0gQ09ERVNJWkUoY29kZXN0cltpXSkpIHsKICAgICAgIHJlb3B0aW1pemVfY3VycmVudDoKICAgICAgICAgb3Bjb2RlID0gY29kZXN0cltpXTsKIAotICAgICAgICBsYXN0bGMgPSBjdW1sYzsKLSAgICAgICAgY3VtbGMgPSAwOworICAgICAgICBpZiAoIWluX2NvbnN0cykgeworICAgICAgICAgICAgQ09OU1RfU1RBQ0tfUkVTRVQoKTsKKyAgICAgICAgfQorICAgICAgICBpbl9jb25zdHMgPSAwOwogCiAgICAgICAgIHN3aXRjaCAob3Bjb2RlKSB7CiAgICAgICAgICAgICAvKiBSZXBsYWNlIFVOQVJZX05PVCBQT1BfSlVNUF9JRl9GQUxTRQpAQCAtNDUwLDIxICs0ODYsMjEgQEAKICAgICAgICAgICAgICAgICAgICAgZ290byBleGl0RXJyb3I7CiAgICAgICAgICAgICAgICAgZWxzZSBpZiAoaCA9PSAwKQogICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAgICAgICBjdW1sYyA9IGxhc3RsYyArIDE7CisgICAgICAgICAgICAgICAgQ09OU1RfU1RBQ0tfUFVTSF9PUChpKTsKICAgICAgICAgICAgICAgICBicmVhazsKIAogICAgICAgICAgICAgICAgIC8qIFNraXAgb3ZlciBMT0FEX0NPTlNUIHRydWVjb25zdAogICAgICAgICAgICAgICAgICAgIFBPUF9KVU1QX0lGX0ZBTFNFIHh4LiBUaGlzIGltcHJvdmVzCiAgICAgICAgICAgICAgICAgICAgIndoaWxlIDEiIHBlcmZvcm1hbmNlLiAqLwogICAgICAgICAgICAgY2FzZSBMT0FEX0NPTlNUOgotICAgICAgICAgICAgICAgIGN1bWxjID0gbGFzdGxjICsgMTsKKyAgICAgICAgICAgICAgICBDT05TVF9TVEFDS19QVVNIX09QKGkpOwogICAgICAgICAgICAgICAgIGogPSBHRVRBUkcoY29kZXN0ciwgaSk7CiAgICAgICAgICAgICAgICAgaWYgKGNvZGVzdHJbaSszXSAhPSBQT1BfSlVNUF9JRl9GQUxTRSAgfHwKICAgICAgICAgICAgICAgICAgICAgIUlTQkFTSUNCTE9DSyhibG9ja3MsaSw2KSAgfHwKICAgICAgICAgICAgICAgICAgICAgIVB5T2JqZWN0X0lzVHJ1ZShQeUxpc3RfR0VUX0lURU0oY29uc3RzLCBqKSkpCiAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgIG1lbXNldChjb2Rlc3RyK2ksIE5PUCwgNik7Ci0gICAgICAgICAgICAgICAgY3VtbGMgPSAwOworICAgICAgICAgICAgICAgIENPTlNUX1NUQUNLX1JFU0VUKCk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAKICAgICAgICAgICAgICAgICAvKiBUcnkgdG8gZm9sZCB0dXBsZXMgb2YgY29uc3RhbnRzIChpbmNsdWRlcyBhIGNhc2UgZm9yIGxpc3RzIGFuZCBzZXRzCkBAIC00NzYsMTkgKzUxMiwyMyBAQAogICAgICAgICAgICAgY2FzZSBCVUlMRF9MSVNUOgogICAgICAgICAgICAgY2FzZSBCVUlMRF9TRVQ6CiAgICAgICAgICAgICAgICAgaiA9IEdFVEFSRyhjb2Rlc3RyLCBpKTsKLSAgICAgICAgICAgICAgICBoID0gaSAtIDMgKiBqOwotICAgICAgICAgICAgICAgIGlmIChoID49IDAgICYmCi0gICAgICAgICAgICAgICAgICAgIGogPD0gbGFzdGxjICAgICAgICAgICAgICAgICAgJiYKKyAgICAgICAgICAgICAgICBpZiAoaiA9PSAwKQorICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICBoID0gQ09OU1RfU1RBQ0tfT1BfTEFTVE4oaik7CisgICAgICAgICAgICAgICAgYXNzZXJ0KChoID49IDAgfHwgQ09OU1RfU1RBQ0tfTEVOKCkgPCBqKSk7CisgICAgICAgICAgICAgICAgaWYgKGggPj0gMCAmJiBqID4gMCAmJiBqIDw9IENPTlNUX1NUQUNLX0xFTigpICYmCiAgICAgICAgICAgICAgICAgICAgICgob3Bjb2RlID09IEJVSUxEX1RVUExFICYmCi0gICAgICAgICAgICAgICAgICAgICAgSVNCQVNJQ0JMT0NLKGJsb2NrcywgaCwgMyooaisxKSkpIHx8CisgICAgICAgICAgICAgICAgICAgICAgSVNCQVNJQ0JMT0NLKGJsb2NrcywgaCwgaS1oKzMpKSB8fAogICAgICAgICAgICAgICAgICAgICAgKChvcGNvZGUgPT0gQlVJTERfTElTVCB8fCBvcGNvZGUgPT0gQlVJTERfU0VUKSAmJgogICAgICAgICAgICAgICAgICAgICAgIGNvZGVzdHJbaSszXT09Q09NUEFSRV9PUCAmJgotICAgICAgICAgICAgICAgICAgICAgIElTQkFTSUNCTE9DSyhibG9ja3MsIGgsIDMqKGorMikpICYmCisgICAgICAgICAgICAgICAgICAgICAgSVNCQVNJQ0JMT0NLKGJsb2NrcywgaCwgaS1oKzYpICYmCiAgICAgICAgICAgICAgICAgICAgICAgKEdFVEFSRyhjb2Rlc3RyLGkrMyk9PTYgfHwKICAgICAgICAgICAgICAgICAgICAgICAgR0VUQVJHKGNvZGVzdHIsaSszKT09NykpKSAmJgotICAgICAgICAgICAgICAgICAgICB0dXBsZV9vZl9jb25zdGFudHMoJmNvZGVzdHJbaF0sIGosIGNvbnN0cykpIHsKKyAgICAgICAgICAgICAgICAgICAgdHVwbGVfb2ZfY29uc3RhbnRzKCZjb2Rlc3RyW2ldLCBqLCBjb25zdHMsIENPTlNUX1NUQUNLX0xBU1ROKGopKSkgewogICAgICAgICAgICAgICAgICAgICBhc3NlcnQoY29kZXN0cltpXSA9PSBMT0FEX0NPTlNUKTsKLSAgICAgICAgICAgICAgICAgICAgY3VtbGMgPSAxOworICAgICAgICAgICAgICAgICAgICBtZW1zZXQoJmNvZGVzdHJbaF0sIE5PUCwgaSAtIGgpOworICAgICAgICAgICAgICAgICAgICBDT05TVF9TVEFDS19QT1Aoaik7CisgICAgICAgICAgICAgICAgICAgIENPTlNUX1NUQUNLX1BVU0hfT1AoaSk7CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBpZiAoY29kZXN0cltpKzNdICE9IFVOUEFDS19TRVFVRU5DRSAgfHwKQEAgLTUwMSwxMCArNTQxLDEyIEBACiAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChqID09IDIpIHsKICAgICAgICAgICAgICAgICAgICAgY29kZXN0cltpXSA9IFJPVF9UV087CiAgICAgICAgICAgICAgICAgICAgIG1lbXNldChjb2Rlc3RyK2krMSwgTk9QLCA1KTsKKyAgICAgICAgICAgICAgICAgICAgQ09OU1RfU1RBQ0tfUkVTRVQoKTsKICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGogPT0gMykgewogICAgICAgICAgICAgICAgICAgICBjb2Rlc3RyW2ldID0gUk9UX1RIUkVFOwogICAgICAgICAgICAgICAgICAgICBjb2Rlc3RyW2krMV0gPSBST1RfVFdPOwogICAgICAgICAgICAgICAgICAgICBtZW1zZXQoY29kZXN0citpKzIsIE5PUCwgNCk7CisgICAgICAgICAgICAgICAgICAgIENPTlNUX1NUQUNLX1JFU0VUKCk7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIGJyZWFrOwogCkBAIC01MjMsMTIgKzU2NSwxOCBAQAogICAgICAgICAgICAgY2FzZSBCSU5BUllfQU5EOgogICAgICAgICAgICAgY2FzZSBCSU5BUllfWE9SOgogICAgICAgICAgICAgY2FzZSBCSU5BUllfT1I6Ci0gICAgICAgICAgICAgICAgaWYgKGxhc3RsYyA+PSAyICAgICAgICAgICAgICAgICAgJiYKLSAgICAgICAgICAgICAgICAgICAgSVNCQVNJQ0JMT0NLKGJsb2NrcywgaS02LCA3KSAgJiYKLSAgICAgICAgICAgICAgICAgICAgZm9sZF9iaW5vcHNfb25fY29uc3RhbnRzKCZjb2Rlc3RyW2ktNl0sIGNvbnN0cykpIHsKKyAgICAgICAgICAgICAgICAvKiBOT1RFOiBMT0FEX0NPTlNUIGlzIHNhdmVkIGF0IGBpLTJgIHNpbmNlIGl0IGhhcyBhbiBhcmcKKyAgICAgICAgICAgICAgICAgICB3aGlsZSBCSU5PUCBoYXNuJ3QgKi8KKyAgICAgICAgICAgICAgICBoID0gQ09OU1RfU1RBQ0tfT1BfTEFTVE4oMik7CisgICAgICAgICAgICAgICAgYXNzZXJ0KChoID49IDAgfHwgQ09OU1RfU1RBQ0tfTEVOKCkgPCAyKSk7CisgICAgICAgICAgICAgICAgaWYgKGggPj0gMCAmJgorICAgICAgICAgICAgICAgICAgICBJU0JBU0lDQkxPQ0soYmxvY2tzLCBoLCBpLWgrMSkgICYmCisgICAgICAgICAgICAgICAgICAgIGZvbGRfYmlub3BzX29uX2NvbnN0YW50cygmY29kZXN0cltpXSwgY29uc3RzLCBDT05TVF9TVEFDS19MQVNUTigyKSkpIHsKICAgICAgICAgICAgICAgICAgICAgaSAtPSAyOworICAgICAgICAgICAgICAgICAgICBtZW1zZXQoJmNvZGVzdHJbaF0sIE5PUCwgaSAtIGgpOwogICAgICAgICAgICAgICAgICAgICBhc3NlcnQoY29kZXN0cltpXSA9PSBMT0FEX0NPTlNUKTsKLSAgICAgICAgICAgICAgICAgICAgY3VtbGMgPSAxOworICAgICAgICAgICAgICAgICAgICBDT05TVF9TVEFDS19QT1AoMik7CisgICAgICAgICAgICAgICAgICAgIENPTlNUX1NUQUNLX1BVU0hfT1AoaSk7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIGJyZWFrOwogCkBAIC01MzcsMTIgKzU4NSwxNSBAQAogICAgICAgICAgICAgY2FzZSBVTkFSWV9ORUdBVElWRToKICAgICAgICAgICAgIGNhc2UgVU5BUllfSU5WRVJUOgogICAgICAgICAgICAgY2FzZSBVTkFSWV9QT1NJVElWRToKLSAgICAgICAgICAgICAgICBpZiAobGFzdGxjID49IDEgICAgICAgICAgICAgICAgICAmJgotICAgICAgICAgICAgICAgICAgICBJU0JBU0lDQkxPQ0soYmxvY2tzLCBpLTMsIDQpICAmJgotICAgICAgICAgICAgICAgICAgICBmb2xkX3VuYXJ5b3BzX29uX2NvbnN0YW50cygmY29kZXN0cltpLTNdLCBjb25zdHMpKSAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBoID0gQ09OU1RfU1RBQ0tfT1BfTEFTVE4oMSk7CisgICAgICAgICAgICAgICAgYXNzZXJ0KChoID49IDAgfHwgQ09OU1RfU1RBQ0tfTEVOKCkgPCAxKSk7CisgICAgICAgICAgICAgICAgaWYgKGggPj0gMCAmJgorICAgICAgICAgICAgICAgICAgICBJU0JBU0lDQkxPQ0soYmxvY2tzLCBoLCBpLWgrMSkgICYmCisgICAgICAgICAgICAgICAgICAgIGZvbGRfdW5hcnlvcHNfb25fY29uc3RhbnRzKCZjb2Rlc3RyW2ktM10sIGNvbnN0cywgQ09OU1RfU1RBQ0tfVE9QKCkpKSB7CiAgICAgICAgICAgICAgICAgICAgIGkgLT0gMjsKICAgICAgICAgICAgICAgICAgICAgYXNzZXJ0KGNvZGVzdHJbaV0gPT0gTE9BRF9DT05TVCk7Ci0gICAgICAgICAgICAgICAgICAgIGN1bWxjID0gMTsKKyAgICAgICAgICAgICAgICAgICAgQ09OU1RfU1RBQ0tfUE9QKDEpOworICAgICAgICAgICAgICAgICAgICBDT05TVF9TVEFDS19QVVNIX09QKGkpOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBicmVhazsKIApAQCAtNjk5LDYgKzc1MCw3IEBACiAgICAgYXNzZXJ0KGggKyBub3BzID09IGNvZGVsZW4pOwogCiAgICAgY29kZSA9IFB5Qnl0ZXNfRnJvbVN0cmluZ0FuZFNpemUoKGNoYXIgKiljb2Rlc3RyLCBoKTsKKyAgICBDT05TVF9TVEFDS19ERUxFVEUoKTsKICAgICBQeU1lbV9GcmVlKGFkZHJtYXApOwogICAgIFB5TWVtX0ZyZWUoY29kZXN0cik7CiAgICAgUHlNZW1fRnJlZShibG9ja3MpOwpAQCAtNzA4LDYgKzc2MCw3IEBACiAgICAgY29kZSA9IE5VTEw7CiAKICBleGl0VW5jaGFuZ2VkOgorICAgIENPTlNUX1NUQUNLX0RFTEVURSgpOwogICAgIGlmIChibG9ja3MgIT0gTlVMTCkKICAgICAgICAgUHlNZW1fRnJlZShibG9ja3MpOwogICAgIGlmIChhZGRybWFwICE9IE5VTEwpCmRpZmYgLS1naXQgYS9QeXRob24vcHlzdHJ0b2QuYyBiL1B5dGhvbi9weXN0cnRvZC5jCmluZGV4IDc1ZTMwMzIuLjdiZjIxYzAgMTAwNjQ0Ci0tLSBhL1B5dGhvbi9weXN0cnRvZC5jCisrKyBiL1B5dGhvbi9weXN0cnRvZC5jCkBAIC05NTQsNyArOTU0LDcgQEAKICAgICAgICAgICAgIC8qIHNob3VsZG4ndCBnZXQgaGVyZTogR2F5J3MgY29kZSBzaG91bGQgYWx3YXlzIHJldHVybgogICAgICAgICAgICAgICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggYSBkaWdpdCwgYW4gJ0knLCAgb3IgJ04nICovCiAgICAgICAgICAgICBzdHJuY3B5KHAsICJFUlIiLCAzKTsKLSAgICAgICAgICAgIHAgKz0gMzsKKyAgICAgICAgICAgIC8qIHAgKz0gMzsgKi8KICAgICAgICAgICAgIGFzc2VydCgwKTsKICAgICAgICAgfQogICAgICAgICBnb3RvIGV4aXQ7CmRpZmYgLS1naXQgYS9QeXRob24vcHl0aG9ucnVuLmMgYi9QeXRob24vcHl0aG9ucnVuLmMKaW5kZXggNTg0YTE5Yi4uZjRlN2U3YiAxMDA2NDQKLS0tIGEvUHl0aG9uL3B5dGhvbnJ1bi5jCisrKyBiL1B5dGhvbi9weXRob25ydW4uYwpAQCAtNjIsMTQgKzYyLDE3IEBACiBzdGF0aWMgUHlPYmplY3QgKnJ1bl9weWNfZmlsZShGSUxFICosIGNvbnN0IGNoYXIgKiwgUHlPYmplY3QgKiwgUHlPYmplY3QgKiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB5Q29tcGlsZXJGbGFncyAqKTsKIHN0YXRpYyB2b2lkIGVycl9pbnB1dChwZXJyZGV0YWlsICopOworc3RhdGljIHZvaWQgZXJyX2ZyZWUocGVycmRldGFpbCAqKTsKIHN0YXRpYyB2b2lkIGluaXRzaWdzKHZvaWQpOwogc3RhdGljIHZvaWQgY2FsbF9weV9leGl0ZnVuY3Modm9pZCk7CiBzdGF0aWMgdm9pZCB3YWl0X2Zvcl90aHJlYWRfc2h1dGRvd24odm9pZCk7CiBzdGF0aWMgdm9pZCBjYWxsX2xsX2V4aXRmdW5jcyh2b2lkKTsKLWV4dGVybiB2b2lkIF9QeVVuaWNvZGVfSW5pdCh2b2lkKTsKK2V4dGVybiBpbnQgX1B5VW5pY29kZV9Jbml0KHZvaWQpOwogZXh0ZXJuIHZvaWQgX1B5VW5pY29kZV9GaW5pKHZvaWQpOwogZXh0ZXJuIGludCBfUHlMb25nX0luaXQodm9pZCk7CiBleHRlcm4gdm9pZCBQeUxvbmdfRmluaSh2b2lkKTsKK2V4dGVybiBpbnQgX1B5RmF1bHRoYW5kbGVyX0luaXQodm9pZCk7CitleHRlcm4gdm9pZCBfUHlGYXVsdGhhbmRsZXJfRmluaSh2b2lkKTsKIAogI2lmZGVmIFdJVEhfVEhSRUFECiBleHRlcm4gdm9pZCBfUHlHSUxTdGF0ZV9Jbml0KFB5SW50ZXJwcmV0ZXJTdGF0ZSAqLCBQeVRocmVhZFN0YXRlICopOwpAQCAtMTM5LDEyICsxNDIsMTMgQEAKIHsKICAgICBjaGFyICpuYW1lX3V0ZjgsICpuYW1lX3N0cjsKICAgICBQeU9iamVjdCAqY29kZWMsICpuYW1lID0gTlVMTDsKKyAgICBfUHlfSURFTlRJRklFUihuYW1lKTsKIAogICAgIGNvZGVjID0gX1B5Q29kZWNfTG9va3VwKGVuY29kaW5nKTsKICAgICBpZiAoIWNvZGVjKQogICAgICAgICBnb3RvIGVycm9yOwogCi0gICAgbmFtZSA9IFB5T2JqZWN0X0dldEF0dHJTdHJpbmcoY29kZWMsICJuYW1lIik7CisgICAgbmFtZSA9IF9QeU9iamVjdF9HZXRBdHRySWQoY29kZWMsICZQeUlkX25hbWUpOwogICAgIFB5X0NMRUFSKGNvZGVjKTsKICAgICBpZiAoIW5hbWUpCiAgICAgICAgIGdvdG8gZXJyb3I7CkBAIC0xNjYsMTggKzE3MCwyNSBAQAogICAgIHJldHVybiBOVUxMOwogfQogCi0jaWYgZGVmaW5lZChIQVZFX0xBTkdJTkZPX0gpICYmIGRlZmluZWQoQ09ERVNFVCkKIHN0YXRpYyBjaGFyKgotZ2V0X2NvZGVzZXQodm9pZCkKK2dldF9sb2NhbGVfZW5jb2Rpbmcodm9pZCkKIHsKKyNpZmRlZiBNU19XSU5ET1dTCisgICAgY2hhciBjb2RlcGFnZVsxMDBdOworICAgIFB5T1Nfc25wcmludGYoY29kZXBhZ2UsIHNpemVvZihjb2RlcGFnZSksICJjcCVkIiwgR2V0QUNQKCkpOworICAgIHJldHVybiBnZXRfY29kZWNfbmFtZShjb2RlcGFnZSk7CisjZWxpZiBkZWZpbmVkKEhBVkVfTEFOR0lORk9fSCkgJiYgZGVmaW5lZChDT0RFU0VUKQogICAgIGNoYXIqIGNvZGVzZXQgPSBubF9sYW5naW5mbyhDT0RFU0VUKTsKICAgICBpZiAoIWNvZGVzZXQgfHwgY29kZXNldFswXSA9PSAnXDAnKSB7CiAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19WYWx1ZUVycm9yLCAiQ09ERVNFVCBpcyBub3Qgc2V0IG9yIGVtcHR5Iik7CiAgICAgICAgIHJldHVybiBOVUxMOwogICAgIH0KICAgICByZXR1cm4gZ2V0X2NvZGVjX25hbWUoY29kZXNldCk7Ci19CisjZWxzZQorICAgIFB5RXJyX1NldE5vbmUoUHlFeGNfTm90SW1wbGVtZW50ZWRFcnJvcik7CisgICAgcmV0dXJuIE5VTEw7CiAjZW5kaWYKK30KIAogdm9pZAogUHlfSW5pdGlhbGl6ZUV4KGludCBpbnN0YWxsX3NpZ3MpCkBAIC0yNTcsNyArMjY4LDggQEAKICAgICAgICAgUHlfRmF0YWxFcnJvcigiUHlfSW5pdGlhbGl6ZTogY2FuJ3QgbWFrZSBtb2R1bGVzX3JlbG9hZGluZyBkaWN0aW9uYXJ5Iik7CiAKICAgICAvKiBJbml0IFVuaWNvZGUgaW1wbGVtZW50YXRpb247IHJlbGllcyBvbiB0aGUgY29kZWMgcmVnaXN0cnkgKi8KLSAgICBfUHlVbmljb2RlX0luaXQoKTsKKyAgICBpZiAoX1B5VW5pY29kZV9Jbml0KCkgPCAwKQorICAgICAgICBQeV9GYXRhbEVycm9yKCJQeV9Jbml0aWFsaXplOiBjYW4ndCBpbml0aWFsaXplIHVuaWNvZGUiKTsKIAogICAgIGJpbW9kID0gX1B5QnVpbHRpbl9Jbml0KCk7CiAgICAgaWYgKGJpbW9kID09IE5VTEwpCkBAIC0yOTYsNiArMzA4LDEwIEBACiAKICAgICBfUHlJbXBvcnRIb29rc19Jbml0KCk7CiAKKyAgICAvKiBpbml0aWFsaXplIHRoZSBmYXVsdGhhbmRsZXIgbW9kdWxlICovCisgICAgaWYgKF9QeUZhdWx0aGFuZGxlcl9Jbml0KCkpCisgICAgICAgIFB5X0ZhdGFsRXJyb3IoIlB5X0luaXRpYWxpemU6IGNhbid0IGluaXRpYWxpemUgZmF1bHRoYW5kbGVyIik7CisKICAgICAvKiBJbml0aWFsaXplIF93YXJuaW5ncy4gKi8KICAgICBfUHlXYXJuaW5nc19Jbml0KCk7CiAKQEAgLTM2MSw5ICszNzcsMTAgQEAKICAgICBQeU9iamVjdCAqZm91dCA9IFB5U3lzX0dldE9iamVjdCgic3Rkb3V0Iik7CiAgICAgUHlPYmplY3QgKmZlcnIgPSBQeVN5c19HZXRPYmplY3QoInN0ZGVyciIpOwogICAgIFB5T2JqZWN0ICp0bXA7CisgICAgX1B5X0lERU5USUZJRVIoZmx1c2gpOwogCiAgICAgaWYgKGZvdXQgIT0gTlVMTCAmJiBmb3V0ICE9IFB5X05vbmUgJiYgIWZpbGVfaXNfY2xvc2VkKGZvdXQpKSB7Ci0gICAgICAgIHRtcCA9IFB5T2JqZWN0X0NhbGxNZXRob2QoZm91dCwgImZsdXNoIiwgIiIpOworICAgICAgICB0bXAgPSBfUHlPYmplY3RfQ2FsbE1ldGhvZElkKGZvdXQsICZQeUlkX2ZsdXNoLCAiIik7CiAgICAgICAgIGlmICh0bXAgPT0gTlVMTCkKICAgICAgICAgICAgIFB5RXJyX1dyaXRlVW5yYWlzYWJsZShmb3V0KTsKICAgICAgICAgZWxzZQpAQCAtMzcxLDcgKzM4OCw3IEBACiAgICAgfQogCiAgICAgaWYgKGZlcnIgIT0gTlVMTCAmJiBmZXJyICE9IFB5X05vbmUgJiYgIWZpbGVfaXNfY2xvc2VkKGZlcnIpKSB7Ci0gICAgICAgIHRtcCA9IFB5T2JqZWN0X0NhbGxNZXRob2QoZmVyciwgImZsdXNoIiwgIiIpOworICAgICAgICB0bXAgPSBfUHlPYmplY3RfQ2FsbE1ldGhvZElkKGZlcnIsICZQeUlkX2ZsdXNoLCAiIik7CiAgICAgICAgIGlmICh0bXAgPT0gTlVMTCkKICAgICAgICAgICAgIFB5RXJyX0NsZWFyKCk7CiAgICAgICAgIGVsc2UKQEAgLTQ2NCw3ICs0ODEsNyBAQAogICAgIGZsdXNoX3N0ZF9maWxlcygpOwogCiAgICAgLyogQ29sbGVjdCBmaW5hbCBnYXJiYWdlLiAgVGhpcyBkaXNwb3NlcyBvZiBjeWNsZXMgY3JlYXRlZCBieQotICAgICAqIG5ldy1zdHlsZSBjbGFzcyBkZWZpbml0aW9ucywgZm9yIGV4YW1wbGUuCisgICAgICogY2xhc3MgZGVmaW5pdGlvbnMsIGZvciBleGFtcGxlLgogICAgICAqIFhYWCBUaGlzIGlzIGRpc2FibGVkIGJlY2F1c2UgaXQgY2F1c2VkIHRvbyBtYW55IHByb2JsZW1zLiAgSWYKICAgICAgKiBYWFggYSBfX2RlbF9fIG9yIHdlYWtyZWYgY2FsbGJhY2sgdHJpZ2dlcnMgaGVyZSwgUHl0aG9uIGNvZGUgaGFzCiAgICAgICogWFhYIGEgaGFyZCB0aW1lIHJ1bm5pbmcsIGJlY2F1c2UgZXZlbiB0aGUgc3lzIG1vZHVsZSBoYXMgYmVlbgpAQCAtNDg1LDYgKzUwMiw5IEBACiAgICAgLyogRGVzdHJveSB0aGUgZGF0YWJhc2UgdXNlZCBieSBfUHlJbXBvcnRfe0ZpeHVwLEZpbmR9RXh0ZW5zaW9uICovCiAgICAgX1B5SW1wb3J0X0ZpbmkoKTsKIAorICAgIC8qIHVubG9hZCBmYXVsdGhhbmRsZXIgbW9kdWxlICovCisgICAgX1B5RmF1bHRoYW5kbGVyX0ZpbmkoKTsKKwogICAgIC8qIERlYnVnZ2luZyBzdHVmZiAqLwogI2lmZGVmIENPVU5UX0FMTE9DUwogICAgIGR1bXBfY291bnRzKHN0ZG91dCk7CkBAIC01MzQsNiArNTU0LDcgQEAKICAgICBQeUxvbmdfRmluaSgpOwogICAgIFB5RmxvYXRfRmluaSgpOwogICAgIFB5RGljdF9GaW5pKCk7CisgICAgUHlTbGljZV9GaW5pKCk7CiAKICAgICAvKiBDbGVhbnVwIFVuaWNvZGUgaW1wbGVtZW50YXRpb24gKi8KICAgICBfUHlVbmljb2RlX0ZpbmkoKTsKQEAgLTc1OSwyNCArNzgwLDE3IEBACiBpbml0ZnNlbmNvZGluZyhQeUludGVycHJldGVyU3RhdGUgKmludGVycCkKIHsKICAgICBQeU9iamVjdCAqY29kZWM7Ci0jaWYgZGVmaW5lZChIQVZFX0xBTkdJTkZPX0gpICYmIGRlZmluZWQoQ09ERVNFVCkKLSAgICBjaGFyICpjb2Rlc2V0ID0gTlVMTDsKIAotICAgIGlmIChQeV9GaWxlU3lzdGVtRGVmYXVsdEVuY29kaW5nID09IE5VTEwpIHsKLSAgICAgICAgLyogT24gVW5peCwgc2V0IHRoZSBmaWxlIHN5c3RlbSBlbmNvZGluZyBhY2NvcmRpbmcgdG8gdGhlCi0gICAgICAgICAgIHVzZXIncyBwcmVmZXJlbmNlLCBpZiB0aGUgQ09ERVNFVCBuYW1lcyBhIHdlbGwta25vd24KLSAgICAgICAgICAgUHl0aG9uIGNvZGVjLCBhbmQgUHlfRmlsZVN5c3RlbURlZmF1bHRFbmNvZGluZyBpc24ndAotICAgICAgICAgICBpbml0aWFsaXplZCBieSBvdGhlciBtZWFucy4gKi8KLSAgICAgICAgY29kZXNldCA9IGdldF9jb2Rlc2V0KCk7Ci0gICAgICAgIGlmIChjb2Rlc2V0ID09IE5VTEwpCisgICAgaWYgKFB5X0ZpbGVTeXN0ZW1EZWZhdWx0RW5jb2RpbmcgPT0gTlVMTCkKKyAgICB7CisgICAgICAgIFB5X0ZpbGVTeXN0ZW1EZWZhdWx0RW5jb2RpbmcgPSBnZXRfbG9jYWxlX2VuY29kaW5nKCk7CisgICAgICAgIGlmIChQeV9GaWxlU3lzdGVtRGVmYXVsdEVuY29kaW5nID09IE5VTEwpCiAgICAgICAgICAgICBQeV9GYXRhbEVycm9yKCJQeV9Jbml0aWFsaXplOiBVbmFibGUgdG8gZ2V0IHRoZSBsb2NhbGUgZW5jb2RpbmciKTsKIAotICAgICAgICBQeV9GaWxlU3lzdGVtRGVmYXVsdEVuY29kaW5nID0gY29kZXNldDsKICAgICAgICAgUHlfSGFzRmlsZVN5c3RlbURlZmF1bHRFbmNvZGluZyA9IDA7CiAgICAgICAgIGludGVycC0+ZnNjb2RlY19pbml0aWFsaXplZCA9IDE7CiAgICAgICAgIHJldHVybiAwOwogICAgIH0KLSNlbmRpZgogCiAgICAgLyogdGhlIGVuY29kaW5nIGlzIG1iY3MsIHV0Zi04IG9yIGFzY2lpICovCiAgICAgY29kZWMgPSBfUHlDb2RlY19Mb29rdXAoUHlfRmlsZVN5c3RlbURlZmF1bHRFbmNvZGluZyk7CkBAIC04MTgsNiArODMyLDExIEBACiAgICAgY29uc3QgY2hhciogbmV3bGluZTsKICAgICBQeU9iamVjdCAqbGluZV9idWZmZXJpbmc7CiAgICAgaW50IGJ1ZmZlcmluZywgaXNhdHR5OworICAgIF9QeV9JREVOVElGSUVSKG9wZW4pOworICAgIF9QeV9JREVOVElGSUVSKGlzYXR0eSk7CisgICAgX1B5X0lERU5USUZJRVIoVGV4dElPV3JhcHBlcik7CisgICAgX1B5X0lERU5USUZJRVIobmFtZSk7CisgICAgX1B5X0lERU5USUZJRVIobW9kZSk7CiAKICAgICAvKiBzdGRpbiBpcyBhbHdheXMgb3BlbmVkIGluIGJ1ZmZlcmVkIG1vZGUsIGZpcnN0IGJlY2F1c2UgaXQgc2hvdWxkbid0CiAgICAgICAgbWFrZSBhIGRpZmZlcmVuY2UgaW4gY29tbW9uIHVzZSBjYXNlcywgc2Vjb25kIGJlY2F1c2UgVGV4dElPV3JhcHBlcgpAQCAtODMyLDE0ICs4NTEsMTUgQEAKICAgICAgICAgbW9kZSA9ICJ3YiI7CiAgICAgZWxzZQogICAgICAgICBtb2RlID0gInJiIjsKLSAgICBidWYgPSBQeU9iamVjdF9DYWxsTWV0aG9kKGlvLCAib3BlbiIsICJpc2lPT09pIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZkLCBtb2RlLCBidWZmZXJpbmcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeV9Ob25lLCBQeV9Ob25lLCBQeV9Ob25lLCAwKTsKKyAgICBidWYgPSBfUHlPYmplY3RfQ2FsbE1ldGhvZElkKGlvLCAmUHlJZF9vcGVuLCAiaXNpT09PaSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmZCwgbW9kZSwgYnVmZmVyaW5nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHlfTm9uZSwgUHlfTm9uZSwgUHlfTm9uZSwgMCk7CiAgICAgaWYgKGJ1ZiA9PSBOVUxMKQogICAgICAgICBnb3RvIGVycm9yOwogCiAgICAgaWYgKGJ1ZmZlcmluZykgewotICAgICAgICByYXcgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKGJ1ZiwgInJhdyIpOworICAgICAgICBfUHlfSURFTlRJRklFUihyYXcpOworICAgICAgICByYXcgPSBfUHlPYmplY3RfR2V0QXR0cklkKGJ1ZiwgJlB5SWRfcmF3KTsKICAgICAgICAgaWYgKHJhdyA9PSBOVUxMKQogICAgICAgICAgICAgZ290byBlcnJvcjsKICAgICB9CkBAIC04NDksOSArODY5LDkgQEAKICAgICB9CiAKICAgICB0ZXh0ID0gUHlVbmljb2RlX0Zyb21TdHJpbmcobmFtZSk7Ci0gICAgaWYgKHRleHQgPT0gTlVMTCB8fCBQeU9iamVjdF9TZXRBdHRyU3RyaW5nKHJhdywgIm5hbWUiLCB0ZXh0KSA8IDApCisgICAgaWYgKHRleHQgPT0gTlVMTCB8fCBfUHlPYmplY3RfU2V0QXR0cklkKHJhdywgJlB5SWRfbmFtZSwgdGV4dCkgPCAwKQogICAgICAgICBnb3RvIGVycm9yOwotICAgIHJlcyA9IFB5T2JqZWN0X0NhbGxNZXRob2QocmF3LCAiaXNhdHR5IiwgIiIpOworICAgIHJlcyA9IF9QeU9iamVjdF9DYWxsTWV0aG9kSWQocmF3LCAmUHlJZF9pc2F0dHksICIiKTsKICAgICBpZiAocmVzID09IE5VTEwpCiAgICAgICAgIGdvdG8gZXJyb3I7CiAgICAgaXNhdHR5ID0gUHlPYmplY3RfSXNUcnVlKHJlcyk7CkBAIC04NzQsOSArODk0LDkgQEAKICAgICB9CiAjZW5kaWYKIAotICAgIHN0cmVhbSA9IFB5T2JqZWN0X0NhbGxNZXRob2QoaW8sICJUZXh0SU9XcmFwcGVyIiwgIk9zc3NPIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1ZiwgZW5jb2RpbmcsIGVycm9ycywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld2xpbmUsIGxpbmVfYnVmZmVyaW5nKTsKKyAgICBzdHJlYW0gPSBfUHlPYmplY3RfQ2FsbE1ldGhvZElkKGlvLCAmUHlJZF9UZXh0SU9XcmFwcGVyLCAiT3Nzc08iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVmLCBlbmNvZGluZywgZXJyb3JzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3bGluZSwgbGluZV9idWZmZXJpbmcpOwogICAgIFB5X0NMRUFSKGJ1Zik7CiAgICAgaWYgKHN0cmVhbSA9PSBOVUxMKQogICAgICAgICBnb3RvIGVycm9yOwpAQCAtODg2LDcgKzkwNiw3IEBACiAgICAgZWxzZQogICAgICAgICBtb2RlID0gInIiOwogICAgIHRleHQgPSBQeVVuaWNvZGVfRnJvbVN0cmluZyhtb2RlKTsKLSAgICBpZiAoIXRleHQgfHwgUHlPYmplY3RfU2V0QXR0clN0cmluZyhzdHJlYW0sICJtb2RlIiwgdGV4dCkgPCAwKQorICAgIGlmICghdGV4dCB8fCBfUHlPYmplY3RfU2V0QXR0cklkKHN0cmVhbSwgJlB5SWRfbW9kZSwgdGV4dCkgPCAwKQogICAgICAgICBnb3RvIGVycm9yOwogICAgIFB5X0NMRUFSKHRleHQpOwogICAgIHJldHVybiBzdHJlYW07CkBAIC0xMTI2LDEzICsxMTQ2LDE0IEBACiAgICAgUHlBcmVuYSAqYXJlbmE7CiAgICAgY2hhciAqcHMxID0gIiIsICpwczIgPSAiIiwgKmVuYyA9IE5VTEw7CiAgICAgaW50IGVycmNvZGUgPSAwOworICAgIF9QeV9JREVOVElGSUVSKGVuY29kaW5nKTsKIAogICAgIGlmIChmcCA9PSBzdGRpbikgewogICAgICAgICAvKiBGZXRjaCBlbmNvZGluZyBmcm9tIHN5cy5zdGRpbiAqLwogICAgICAgICB2ID0gUHlTeXNfR2V0T2JqZWN0KCJzdGRpbiIpOwogICAgICAgICBpZiAodiA9PSBOVUxMIHx8IHYgPT0gUHlfTm9uZSkKICAgICAgICAgICAgIHJldHVybiAtMTsKLSAgICAgICAgb2VuYyA9IFB5T2JqZWN0X0dldEF0dHJTdHJpbmcodiwgImVuY29kaW5nIik7CisgICAgICAgIG9lbmMgPSBfUHlPYmplY3RfR2V0QXR0cklkKHYsICZQeUlkX2VuY29kaW5nKTsKICAgICAgICAgaWYgKCFvZW5jKQogICAgICAgICAgICAgcmV0dXJuIC0xOwogICAgICAgICBlbmMgPSBfUHlVbmljb2RlX0FzU3RyaW5nKG9lbmMpOwpAQCAtMTMyOSwxOSArMTM1MCwxOSBAQAogewogICAgIGxvbmcgaG9sZDsKICAgICBQeU9iamVjdCAqdjsKLQotICAgIC8qIG9sZCBzdHlsZSBlcnJvcnMgKi8KLSAgICBpZiAoUHlUdXBsZV9DaGVjayhlcnIpKQotICAgICAgICByZXR1cm4gUHlBcmdfUGFyc2VUdXBsZShlcnIsICJPKHppaXopIiwgbWVzc2FnZSwgZmlsZW5hbWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVubywgb2Zmc2V0LCB0ZXh0KTsKKyAgICBfUHlfSURFTlRJRklFUihtc2cpOworICAgIF9QeV9JREVOVElGSUVSKGZpbGVuYW1lKTsKKyAgICBfUHlfSURFTlRJRklFUihsaW5lbm8pOworICAgIF9QeV9JREVOVElGSUVSKG9mZnNldCk7CisgICAgX1B5X0lERU5USUZJRVIodGV4dCk7CiAKICAgICAvKiBuZXcgc3R5bGUgZXJyb3JzLiAgYGVycicgaXMgYW4gaW5zdGFuY2UgKi8KIAotICAgIGlmICghICh2ID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyhlcnIsICJtc2ciKSkpCisgICAgaWYgKCEgKHYgPSBfUHlPYmplY3RfR2V0QXR0cklkKGVyciwgJlB5SWRfbXNnKSkpCiAgICAgICAgIGdvdG8gZmluYWxseTsKICAgICAqbWVzc2FnZSA9IHY7CiAKLSAgICBpZiAoISh2ID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyhlcnIsICJmaWxlbmFtZSIpKSkKKyAgICBpZiAoISh2ID0gX1B5T2JqZWN0X0dldEF0dHJJZChlcnIsICZQeUlkX2ZpbGVuYW1lKSkpCiAgICAgICAgIGdvdG8gZmluYWxseTsKICAgICBpZiAodiA9PSBQeV9Ob25lKQogICAgICAgICAqZmlsZW5hbWUgPSBOVUxMOwpAQCAtMTM0OSw3ICsxMzcwLDcgQEAKICAgICAgICAgZ290byBmaW5hbGx5OwogCiAgICAgUHlfREVDUkVGKHYpOwotICAgIGlmICghKHYgPSBQeU9iamVjdF9HZXRBdHRyU3RyaW5nKGVyciwgImxpbmVubyIpKSkKKyAgICBpZiAoISh2ID0gX1B5T2JqZWN0X0dldEF0dHJJZChlcnIsICZQeUlkX2xpbmVubykpKQogICAgICAgICBnb3RvIGZpbmFsbHk7CiAgICAgaG9sZCA9IFB5TG9uZ19Bc0xvbmcodik7CiAgICAgUHlfREVDUkVGKHYpOwpAQCAtMTM1OCw3ICsxMzc5LDcgQEAKICAgICAgICAgZ290byBmaW5hbGx5OwogICAgICpsaW5lbm8gPSAoaW50KWhvbGQ7CiAKLSAgICBpZiAoISh2ID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyhlcnIsICJvZmZzZXQiKSkpCisgICAgaWYgKCEodiA9IF9QeU9iamVjdF9HZXRBdHRySWQoZXJyLCAmUHlJZF9vZmZzZXQpKSkKICAgICAgICAgZ290byBmaW5hbGx5OwogICAgIGlmICh2ID09IFB5X05vbmUpIHsKICAgICAgICAgKm9mZnNldCA9IC0xOwpAQCAtMTM3Myw3ICsxMzk0LDcgQEAKICAgICAgICAgKm9mZnNldCA9IChpbnQpaG9sZDsKICAgICB9CiAKLSAgICBpZiAoISh2ID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyhlcnIsICJ0ZXh0IikpKQorICAgIGlmICghKHYgPSBfUHlPYmplY3RfR2V0QXR0cklkKGVyciwgJlB5SWRfdGV4dCkpKQogICAgICAgICBnb3RvIGZpbmFsbHk7CiAgICAgaWYgKHYgPT0gUHlfTm9uZSkKICAgICAgICAgKnRleHQgPSBOVUxMOwpAQCAtMTQ0Miw3ICsxNDYzLDggQEAKICAgICAgICAgZ290byBkb25lOwogICAgIGlmIChQeUV4Y2VwdGlvbkluc3RhbmNlX0NoZWNrKHZhbHVlKSkgewogICAgICAgICAvKiBUaGUgZXJyb3IgY29kZSBzaG91bGQgYmUgaW4gdGhlIGBjb2RlJyBhdHRyaWJ1dGUuICovCi0gICAgICAgIFB5T2JqZWN0ICpjb2RlID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyh2YWx1ZSwgImNvZGUiKTsKKyAgICAgICAgX1B5X0lERU5USUZJRVIoY29kZSk7CisgICAgICAgIFB5T2JqZWN0ICpjb2RlID0gX1B5T2JqZWN0X0dldEF0dHJJZCh2YWx1ZSwgJlB5SWRfY29kZSk7CiAgICAgICAgIGlmIChjb2RlKSB7CiAgICAgICAgICAgICBQeV9ERUNSRUYodmFsdWUpOwogICAgICAgICAgICAgdmFsdWUgPSBjb2RlOwpAQCAtMTU0OSw2ICsxNTcxLDcgQEAKIHsKICAgICBpbnQgZXJyID0gMDsKICAgICBQeU9iamVjdCAqdHlwZSwgKnRiOworICAgIF9QeV9JREVOVElGSUVSKHByaW50X2ZpbGVfYW5kX2xpbmUpOwogCiAgICAgaWYgKCFQeUV4Y2VwdGlvbkluc3RhbmNlX0NoZWNrKHZhbHVlKSkgewogICAgICAgICBQeUZpbGVfV3JpdGVTdHJpbmcoIlR5cGVFcnJvcjogcHJpbnRfZXhjZXB0aW9uKCk6IEV4Y2VwdGlvbiBleHBlY3RlZCBmb3IgdmFsdWUsICIsIGYpOwpAQCAtMTU2NCw3ICsxNTg3LDcgQEAKICAgICBpZiAodGIgJiYgdGIgIT0gUHlfTm9uZSkKICAgICAgICAgZXJyID0gUHlUcmFjZUJhY2tfUHJpbnQodGIsIGYpOwogICAgIGlmIChlcnIgPT0gMCAmJgotICAgICAgICBQeU9iamVjdF9IYXNBdHRyU3RyaW5nKHZhbHVlLCAicHJpbnRfZmlsZV9hbmRfbGluZSIpKQorICAgICAgICBfUHlPYmplY3RfSGFzQXR0cklkKHZhbHVlLCAmUHlJZF9wcmludF9maWxlX2FuZF9saW5lKSkKICAgICB7CiAgICAgICAgIFB5T2JqZWN0ICptZXNzYWdlOwogICAgICAgICBjb25zdCBjaGFyICpmaWxlbmFtZSwgKnRleHQ7CkBAIC0xNTk5LDYgKzE2MjIsNyBAQAogICAgIGVsc2UgewogICAgICAgICBQeU9iamVjdCogbW9kdWxlTmFtZTsKICAgICAgICAgY2hhciogY2xhc3NOYW1lOworICAgICAgICBfUHlfSURFTlRJRklFUihfX21vZHVsZV9fKTsKICAgICAgICAgYXNzZXJ0KFB5RXhjZXB0aW9uQ2xhc3NfQ2hlY2sodHlwZSkpOwogICAgICAgICBjbGFzc05hbWUgPSBQeUV4Y2VwdGlvbkNsYXNzX05hbWUodHlwZSk7CiAgICAgICAgIGlmIChjbGFzc05hbWUgIT0gTlVMTCkgewpAQCAtMTYwNywxMCArMTYzMSwxMCBAQAogICAgICAgICAgICAgICAgIGNsYXNzTmFtZSA9IGRvdCsxOwogICAgICAgICB9CiAKLSAgICAgICAgbW9kdWxlTmFtZSA9IFB5T2JqZWN0X0dldEF0dHJTdHJpbmcodHlwZSwgIl9fbW9kdWxlX18iKTsKKyAgICAgICAgbW9kdWxlTmFtZSA9IF9QeU9iamVjdF9HZXRBdHRySWQodHlwZSwgJlB5SWRfX19tb2R1bGVfXyk7CiAgICAgICAgIGlmIChtb2R1bGVOYW1lID09IE5VTEwgfHwgIVB5VW5pY29kZV9DaGVjayhtb2R1bGVOYW1lKSkKICAgICAgICAgewotICAgICAgICAgICAgUHlfREVDUkVGKG1vZHVsZU5hbWUpOworICAgICAgICAgICAgUHlfWERFQ1JFRihtb2R1bGVOYW1lKTsKICAgICAgICAgICAgIGVyciA9IFB5RmlsZV9Xcml0ZVN0cmluZygiPHVua25vd24+IiwgZik7CiAgICAgICAgIH0KICAgICAgICAgZWxzZSB7CkBAIC0xNjM3LDcgKzE2NjEsNyBAQAogICAgICAgICBpZiAocyA9PSBOVUxMKQogICAgICAgICAgICAgZXJyID0gLTE7CiAgICAgICAgIGVsc2UgaWYgKCFQeVVuaWNvZGVfQ2hlY2socykgfHwKLSAgICAgICAgICAgIFB5VW5pY29kZV9HZXRTaXplKHMpICE9IDApCisgICAgICAgICAgICBQeVVuaWNvZGVfR2V0TGVuZ3RoKHMpICE9IDApCiAgICAgICAgICAgICBlcnIgPSBQeUZpbGVfV3JpdGVTdHJpbmcoIjogIiwgZik7CiAgICAgICAgIGlmIChlcnIgPT0gMCkKICAgICAgICAgICBlcnIgPSBQeUZpbGVfV3JpdGVPYmplY3QocywgZiwgUHlfUFJJTlRfUkFXKTsKQEAgLTE2NzQsNyArMTY5OCwxMSBAQAogICAgICAgICBlbHNlIGlmIChQeUV4Y2VwdGlvbkluc3RhbmNlX0NoZWNrKHZhbHVlKSkgewogICAgICAgICAgICAgY2F1c2UgPSBQeUV4Y2VwdGlvbl9HZXRDYXVzZSh2YWx1ZSk7CiAgICAgICAgICAgICBjb250ZXh0ID0gUHlFeGNlcHRpb25fR2V0Q29udGV4dCh2YWx1ZSk7Ci0gICAgICAgICAgICBpZiAoY2F1c2UpIHsKKyAgICAgICAgICAgIGlmIChjYXVzZSAmJiBjYXVzZSA9PSBQeV9Ob25lKSB7CisgICAgICAgICAgICAgICAgLyogcHJpbnQgbmVpdGhlciBjYXVzZSBub3IgY29udGV4dCAqLworICAgICAgICAgICAgICAgIDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGVsc2UgaWYgKGNhdXNlKSB7CiAgICAgICAgICAgICAgICAgcmVzID0gUHlTZXRfQ29udGFpbnMoc2VlbiwgY2F1c2UpOwogICAgICAgICAgICAgICAgIGlmIChyZXMgPT0gLTEpCiAgICAgICAgICAgICAgICAgICAgIFB5RXJyX0NsZWFyKCk7CkBAIC0xNzc0LDEzICsxODAyLDE0IEBACiB7CiAgICAgUHlPYmplY3QgKmYsICpyOwogICAgIFB5T2JqZWN0ICp0eXBlLCAqdmFsdWUsICp0cmFjZWJhY2s7CisgICAgX1B5X0lERU5USUZJRVIoZmx1c2gpOwogCiAgICAgLyogU2F2ZSB0aGUgY3VycmVudCBleGNlcHRpb24gKi8KICAgICBQeUVycl9GZXRjaCgmdHlwZSwgJnZhbHVlLCAmdHJhY2ViYWNrKTsKIAogICAgIGYgPSBQeVN5c19HZXRPYmplY3QoInN0ZGVyciIpOwogICAgIGlmIChmICE9IE5VTEwpIHsKLSAgICAgICAgciA9IFB5T2JqZWN0X0NhbGxNZXRob2QoZiwgImZsdXNoIiwgIiIpOworICAgICAgICByID0gX1B5T2JqZWN0X0NhbGxNZXRob2RJZChmLCAmUHlJZF9mbHVzaCwgIiIpOwogICAgICAgICBpZiAocikKICAgICAgICAgICAgIFB5X0RFQ1JFRihyKTsKICAgICAgICAgZWxzZQpAQCAtMTc4OCw3ICsxODE3LDcgQEAKICAgICB9CiAgICAgZiA9IFB5U3lzX0dldE9iamVjdCgic3Rkb3V0Iik7CiAgICAgaWYgKGYgIT0gTlVMTCkgewotICAgICAgICByID0gUHlPYmplY3RfQ2FsbE1ldGhvZChmLCAiZmx1c2giLCAiIik7CisgICAgICAgIHIgPSBfUHlPYmplY3RfQ2FsbE1ldGhvZElkKGYsICZQeUlkX2ZsdXNoLCAiIik7CiAgICAgICAgIGlmIChyKQogICAgICAgICAgICAgUHlfREVDUkVGKHIpOwogICAgICAgICBlbHNlCkBAIC0xODI3LDYgKzE4NTYsOCBAQAogICAgICAgICAgICAgICAgICAgICJCYWQgbWFnaWMgbnVtYmVyIGluIC5weWMgZmlsZSIpOwogICAgICAgICByZXR1cm4gTlVMTDsKICAgICB9CisgICAgLyogU2tpcCBtdGltZSBhbmQgc2l6ZSAqLworICAgICh2b2lkKSBQeU1hcnNoYWxfUmVhZExvbmdGcm9tRmlsZShmcCk7CiAgICAgKHZvaWQpIFB5TWFyc2hhbF9SZWFkTG9uZ0Zyb21GaWxlKGZwKTsKICAgICB2ID0gUHlNYXJzaGFsX1JlYWRMYXN0T2JqZWN0RnJvbUZpbGUoZnApOwogICAgIGZjbG9zZShmcCk7CkBAIC0xOTE5LDEyICsxOTUwLDEzIEBACiAgICAgICAgIGZsYWdzLT5jZl9mbGFncyB8PSBpZmxhZ3MgJiBQeUNGX01BU0s7CiAgICAgICAgIG1vZCA9IFB5QVNUX0Zyb21Ob2RlKG4sIGZsYWdzLCBmaWxlbmFtZSwgYXJlbmEpOwogICAgICAgICBQeU5vZGVfRnJlZShuKTsKLSAgICAgICAgcmV0dXJuIG1vZDsKICAgICB9CiAgICAgZWxzZSB7CiAgICAgICAgIGVycl9pbnB1dCgmZXJyKTsKLSAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIG1vZCA9IE5VTEw7CiAgICAgfQorICAgIGVycl9mcmVlKCZlcnIpOworICAgIHJldHVybiBtb2Q7CiB9CiAKIG1vZF90eQpAQCAtMTk0OSwxNCArMTk4MSwxNSBAQAogICAgICAgICBmbGFncy0+Y2ZfZmxhZ3MgfD0gaWZsYWdzICYgUHlDRl9NQVNLOwogICAgICAgICBtb2QgPSBQeUFTVF9Gcm9tTm9kZShuLCBmbGFncywgZmlsZW5hbWUsIGFyZW5hKTsKICAgICAgICAgUHlOb2RlX0ZyZWUobik7Ci0gICAgICAgIHJldHVybiBtb2Q7CiAgICAgfQogICAgIGVsc2UgewogICAgICAgICBlcnJfaW5wdXQoJmVycik7CiAgICAgICAgIGlmIChlcnJjb2RlKQogICAgICAgICAgICAgKmVycmNvZGUgPSBlcnIuZXJyb3I7Ci0gICAgICAgIHJldHVybiBOVUxMOworICAgICAgICBtb2QgPSBOVUxMOwogICAgIH0KKyAgICBlcnJfZnJlZSgmZXJyKTsKKyAgICByZXR1cm4gbW9kOwogfQogCiAvKiBTaW1wbGlmaWVkIGludGVyZmFjZSB0byBwYXJzZWZpbGUgLS0gcmV0dXJuIG5vZGUgb3Igc2V0IGV4Y2VwdGlvbiAqLwpAQCAtMTk3MCw2ICsyMDAzLDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnQsIE5VTEwsIE5VTEwsICZlcnIsIGZsYWdzKTsKICAgICBpZiAobiA9PSBOVUxMKQogICAgICAgICBlcnJfaW5wdXQoJmVycik7CisgICAgZXJyX2ZyZWUoJmVycik7CiAKICAgICByZXR1cm4gbjsKIH0KQEAgLTE5ODQsNiArMjAxOCw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnQsICZlcnIsIGZsYWdzKTsKICAgICBpZiAobiA9PSBOVUxMKQogICAgICAgICBlcnJfaW5wdXQoJmVycik7CisgICAgZXJyX2ZyZWUoJmVycik7CiAgICAgcmV0dXJuIG47CiB9CiAKQEAgLTE5OTYsNiArMjAzMSw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJl9QeVBhcnNlcl9HcmFtbWFyLCBzdGFydCwgJmVyciwgZmxhZ3MpOwogICAgIGlmIChuID09IE5VTEwpCiAgICAgICAgIGVycl9pbnB1dCgmZXJyKTsKKyAgICBlcnJfZnJlZSgmZXJyKTsKICAgICByZXR1cm4gbjsKIH0KIApAQCAtMjAwOSwxMSArMjA0NSwyMyBAQAogICAgZXZlbiBwYXJzZXIgbW9kdWxlcy4gKi8KIAogdm9pZAorUHlQYXJzZXJfQ2xlYXJFcnJvcihwZXJyZGV0YWlsICplcnIpCit7CisgICAgZXJyX2ZyZWUoZXJyKTsKK30KKwordm9pZAogUHlQYXJzZXJfU2V0RXJyb3IocGVycmRldGFpbCAqZXJyKQogewogICAgIGVycl9pbnB1dChlcnIpOwogfQogCitzdGF0aWMgdm9pZAorZXJyX2ZyZWUocGVycmRldGFpbCAqZXJyKQoreworICAgIFB5X0NMRUFSKGVyci0+ZmlsZW5hbWUpOworfQorCiAvKiBTZXQgdGhlIGVycm9yIGFwcHJvcHJpYXRlIHRvIHRoZSBnaXZlbiBpbnB1dCBlcnJvciBjb2RlIChzZWUgZXJyY29kZS5oKSAqLwogCiBzdGF0aWMgdm9pZApAQCAtMjAyMSw3ICsyMDY5LDYgQEAKIHsKICAgICBQeU9iamVjdCAqdiwgKncsICplcnJ0eXBlLCAqZXJydGV4dDsKICAgICBQeU9iamVjdCAqbXNnX29iaiA9IE5VTEw7Ci0gICAgUHlPYmplY3QgKmZpbGVuYW1lOwogICAgIGNoYXIgKm1zZyA9IE5VTEw7CiAKICAgICBlcnJ0eXBlID0gUHlFeGNfU3ludGF4RXJyb3I7CkBAIC0yMDkzLDYgKzIxNDAsOSBAQAogICAgIGNhc2UgRV9JREVOVElGSUVSOgogICAgICAgICBtc2cgPSAiaW52YWxpZCBjaGFyYWN0ZXIgaW4gaWRlbnRpZmllciI7CiAgICAgICAgIGJyZWFrOworICAgIGNhc2UgRV9CQURTSU5HTEU6CisgICAgICAgIG1zZyA9ICJtdWx0aXBsZSBzdGF0ZW1lbnRzIGZvdW5kIHdoaWxlIGNvbXBpbGluZyBhIHNpbmdsZSBzdGF0ZW1lbnQiOworICAgICAgICBicmVhazsKICAgICBkZWZhdWx0OgogICAgICAgICBmcHJpbnRmKHN0ZGVyciwgImVycm9yPSVkXG4iLCBlcnItPmVycm9yKTsKICAgICAgICAgbXNnID0gInVua25vd24gcGFyc2luZyBlcnJvciI7CkBAIC0yMTA3LDE3ICsyMTU3LDggQEAKICAgICAgICAgZXJydGV4dCA9IFB5VW5pY29kZV9EZWNvZGVVVEY4KGVyci0+dGV4dCwgc3RybGVuKGVyci0+dGV4dCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVwbGFjZSIpOwogICAgIH0KLSAgICBpZiAoZXJyLT5maWxlbmFtZSAhPSBOVUxMKQotICAgICAgICBmaWxlbmFtZSA9IFB5VW5pY29kZV9EZWNvZGVGU0RlZmF1bHQoZXJyLT5maWxlbmFtZSk7Ci0gICAgZWxzZSB7Ci0gICAgICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKLSAgICAgICAgZmlsZW5hbWUgPSBQeV9Ob25lOwotICAgIH0KLSAgICBpZiAoZmlsZW5hbWUgIT0gTlVMTCkKLSAgICAgICAgdiA9IFB5X0J1aWxkVmFsdWUoIihOaWlOKSIsIGZpbGVuYW1lLAotICAgICAgICAgICAgICAgICAgICAgICAgICBlcnItPmxpbmVubywgZXJyLT5vZmZzZXQsIGVycnRleHQpOwotICAgIGVsc2UKLSAgICAgICAgdiA9IE5VTEw7CisgICAgdiA9IFB5X0J1aWxkVmFsdWUoIihPaWlOKSIsIGVyci0+ZmlsZW5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgZXJyLT5saW5lbm8sIGVyci0+b2Zmc2V0LCBlcnJ0ZXh0KTsKICAgICBpZiAodiAhPSBOVUxMKSB7CiAgICAgICAgIGlmIChtc2dfb2JqKQogICAgICAgICAgICAgdyA9IFB5X0J1aWxkVmFsdWUoIihPTykiLCBtc2dfb2JqLCB2KTsKQEAgLTIxNDEsMTEgKzIxODIsMjQgQEAKIHZvaWQKIFB5X0ZhdGFsRXJyb3IoY29uc3QgY2hhciAqbXNnKQogeworICAgIGNvbnN0IGludCBmZCA9IGZpbGVubyhzdGRlcnIpOworICAgIFB5VGhyZWFkU3RhdGUgKnRzdGF0ZTsKKwogICAgIGZwcmludGYoc3RkZXJyLCAiRmF0YWwgUHl0aG9uIGVycm9yOiAlc1xuIiwgbXNnKTsKICAgICBmZmx1c2goc3RkZXJyKTsgLyogaXQgaGVscHMgaW4gV2luZG93cyBkZWJ1ZyBidWlsZCAqLwogICAgIGlmIChQeUVycl9PY2N1cnJlZCgpKSB7CiAgICAgICAgIFB5RXJyX1ByaW50RXgoMCk7CiAgICAgfQorICAgIGVsc2UgeworICAgICAgICB0c3RhdGUgPSBfUHlfYXRvbWljX2xvYWRfcmVsYXhlZCgmX1B5VGhyZWFkU3RhdGVfQ3VycmVudCk7CisgICAgICAgIGlmICh0c3RhdGUgIT0gTlVMTCkgeworICAgICAgICAgICAgZnB1dGMoJ1xuJywgc3RkZXJyKTsKKyAgICAgICAgICAgIGZmbHVzaChzdGRlcnIpOworICAgICAgICAgICAgX1B5X0R1bXBUcmFjZWJhY2tUaHJlYWRzKGZkLCB0c3RhdGUtPmludGVycCwgdHN0YXRlKTsKKyAgICAgICAgfQorICAgICAgICBfUHlGYXVsdGhhbmRsZXJfRmluaSgpOworICAgIH0KKwogI2lmZGVmIE1TX1dJTkRPV1MKICAgICB7CiAgICAgICAgIHNpemVfdCBsZW4gPSBzdHJsZW4obXNnKTsKQEAgLTIyMDAsNiArMjI1NCw3IEBACiB3YWl0X2Zvcl90aHJlYWRfc2h1dGRvd24odm9pZCkKIHsKICNpZmRlZiBXSVRIX1RIUkVBRAorICAgIF9QeV9JREVOVElGSUVSKF9zaHV0ZG93bik7CiAgICAgUHlPYmplY3QgKnJlc3VsdDsKICAgICBQeVRocmVhZFN0YXRlICp0c3RhdGUgPSBQeVRocmVhZFN0YXRlX0dFVCgpOwogICAgIFB5T2JqZWN0ICp0aHJlYWRpbmcgPSBQeU1hcHBpbmdfR2V0SXRlbVN0cmluZyh0c3RhdGUtPmludGVycC0+bW9kdWxlcywKQEAgLTIyMDksNyArMjI2NCw3IEBACiAgICAgICAgIFB5RXJyX0NsZWFyKCk7CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0gICAgcmVzdWx0ID0gUHlPYmplY3RfQ2FsbE1ldGhvZCh0aHJlYWRpbmcsICJfc2h1dGRvd24iLCAiIik7CisgICAgcmVzdWx0ID0gX1B5T2JqZWN0X0NhbGxNZXRob2RJZCh0aHJlYWRpbmcsICZQeUlkX19zaHV0ZG93biwgIiIpOwogICAgIGlmIChyZXN1bHQgPT0gTlVMTCkgewogICAgICAgICBQeUVycl9Xcml0ZVVucmFpc2FibGUodGhyZWFkaW5nKTsKICAgICB9CmRpZmYgLS1naXQgYS9QeXRob24vcHl0aW1lLmMgYi9QeXRob24vcHl0aW1lLmMKaW5kZXggNmZiNzY5NS4uZTdkYWRjNyAxMDA2NDQKLS0tIGEvUHl0aG9uL3B5dGltZS5jCisrKyBiL1B5dGhvbi9weXRpbWUuYwpAQCAtMSw3ICsxLDkgQEAKICNpbmNsdWRlICJQeXRob24uaCIKKyNpZmRlZiBNU19XSU5ET1dTCisjaW5jbHVkZSA8d2luZG93cy5oPgorI2VuZGlmCiAKLSNpZmRlZiBfX0FQUExFX18KLSNpZiBkZWZpbmVkKEhBVkVfR0VUVElNRU9GREFZKSAmJiBkZWZpbmVkKEhBVkVfRlRJTUUpCisjaWYgZGVmaW5lZChfX0FQUExFX18pICYmIGRlZmluZWQoSEFWRV9HRVRUSU1FT0ZEQVkpICYmIGRlZmluZWQoSEFWRV9GVElNRSkKICAgLyoKICAgICogX1B5VGltZV9nZXR0aW1lb2ZkYXkgZmFsbHMgYmFjayB0byBmdGltZSB3aGVuIGdldHR0aW1lb2ZkYXkgZmFpbHMgYmVjYXVzZSB0aGUgbGF0dGVyCiAgICAqIG1pZ2h0IGZhaWwgb24gc29tZSBwbGF0Zm9ybXMuIFRoaXMgZmFsbGJhY2sgaXMgdW53YW50ZWQgb24gTWFjT1NYIGJlY2F1c2UKQEAgLTEwLDE4ICsxMiwzMCBAQAogICAgKi8KICMgdW5kZWYgSEFWRV9GVElNRQogI2VuZGlmCi0jZW5kaWYKIAotI2lmZGVmIEhBVkVfRlRJTUUKKyNpZiBkZWZpbmVkKEhBVkVfRlRJTUUpICYmICFkZWZpbmVkKE1TX1dJTkRPV1MpCiAjaW5jbHVkZSA8c3lzL3RpbWViLmg+Ci0jaWYgIWRlZmluZWQoTVNfV0lORE9XUykgJiYgIWRlZmluZWQoUFlPU19PUzIpCiBleHRlcm4gaW50IGZ0aW1lKHN0cnVjdCB0aW1lYiAqKTsKLSNlbmRpZiAvKiBNU19XSU5ET1dTICovCi0jZW5kaWYgLyogSEFWRV9GVElNRSAqLworI2VuZGlmCiAKIHZvaWQKIF9QeVRpbWVfZ2V0dGltZW9mZGF5KF9QeVRpbWVfdGltZXZhbCAqdHApCiB7CisjaWZkZWYgTVNfV0lORE9XUworICAgIEZJTEVUSU1FIHN5c3RlbV90aW1lOworICAgIFVMQVJHRV9JTlRFR0VSIGxhcmdlOworICAgIFVMT05HTE9ORyBtaWNyb3NlY29uZHM7CisKKyAgICBHZXRTeXN0ZW1UaW1lQXNGaWxlVGltZSgmc3lzdGVtX3RpbWUpOworICAgIGxhcmdlLnUuTG93UGFydCA9IHN5c3RlbV90aW1lLmR3TG93RGF0ZVRpbWU7CisgICAgbGFyZ2UudS5IaWdoUGFydCA9IHN5c3RlbV90aW1lLmR3SGlnaERhdGVUaW1lOworICAgIC8qIDExLDY0NCw0NzMsNjAwLDAwMCwwMDA6IG51bWJlciBvZiBtaWNyb3NlY29uZHMgYmV0d2VlbgorICAgICAgIHRoZSAxc3QgamFudWFyeSAxNjAxIGFuZCB0aGUgMXN0IGphbnVhcnkgMTk3MCAoMzY5IHllYXJzICsgODkgbGVhcAorICAgICAgIGRheXMpLiAqLworICAgIG1pY3Jvc2Vjb25kcyA9IGxhcmdlLlF1YWRQYXJ0IC8gMTAgLSAxMTY0NDQ3MzYwMDAwMDAwMDsKKyAgICB0cC0+dHZfc2VjID0gbWljcm9zZWNvbmRzIC8gMTAwMDAwMDsKKyAgICB0cC0+dHZfdXNlYyA9IG1pY3Jvc2Vjb25kcyAlIDEwMDAwMDA7CisjZWxzZQogICAgIC8qIFRoZXJlIGFyZSB0aHJlZSB3YXlzIHRvIGdldCB0aGUgdGltZToKICAgICAgICgxKSBnZXR0aW1lb2ZkYXkoKSAtLSByZXNvbHV0aW9uIGluIG1pY3Jvc2Vjb25kcwogICAgICAgKDIpIGZ0aW1lKCkgLS0gcmVzb2x1dGlvbiBpbiBtaWxsaXNlY29uZHMKQEAgLTMwLDYgKzQ0LDcgQEAKICAgICAgIFNpbmNlIG9uIHNvbWUgc3lzdGVtcyAoZS5nLiBTQ08gT0RUIDMuMCkgZ2V0dGltZW9mZGF5KCkgbWF5CiAgICAgICBmYWlsLCBzbyB3ZSBmYWxsIGJhY2sgb24gZnRpbWUoKSBvciB0aW1lKCkuCiAgICAgICBOb3RlOiBjbG9jayByZXNvbHV0aW9uIGRvZXMgbm90IGltcGx5IGNsb2NrIGFjY3VyYWN5ISAqLworCiAjaWZkZWYgSEFWRV9HRVRUSU1FT0ZEQVkKICNpZmRlZiBHRVRUSU1FT0ZEQVlfTk9fVFoKICAgICBpZiAoZ2V0dGltZW9mZGF5KHRwKSA9PSAwKQpAQCAtMzksNiArNTQsNyBAQAogICAgICAgICByZXR1cm47CiAjZW5kaWYgLyogIUdFVFRJTUVPRkRBWV9OT19UWiAqLwogI2VuZGlmIC8qICFIQVZFX0dFVFRJTUVPRkRBWSAqLworCiAjaWYgZGVmaW5lZChIQVZFX0ZUSU1FKQogICAgIHsKICAgICAgICAgc3RydWN0IHRpbWViIHQ7CkBAIC01MCw3ICs2NiwxMDggQEAKICAgICB0cC0+dHZfc2VjID0gdGltZShOVUxMKTsKICAgICB0cC0+dHZfdXNlYyA9IDA7CiAjZW5kaWYgLyogIUhBVkVfRlRJTUUgKi8KLSAgICByZXR1cm47CisKKyNlbmRpZiAvKiBNU19XSU5ET1dTICovCit9CisKK3N0YXRpYyB2b2lkCitlcnJvcl90aW1lX3Rfb3ZlcmZsb3codm9pZCkKK3sKKyAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfT3ZlcmZsb3dFcnJvciwKKyAgICAgICAgICAgICAgICAgICAgInRpbWVzdGFtcCBvdXQgb2YgcmFuZ2UgZm9yIHBsYXRmb3JtIHRpbWVfdCIpOworfQorCitzdGF0aWMgdGltZV90CitfUHlMb25nX0FzVGltZV90KFB5T2JqZWN0ICpvYmopCit7CisjaWYgZGVmaW5lZChIQVZFX0xPTkdfTE9ORykgJiYgU0laRU9GX1RJTUVfVCA9PSBTSVpFT0ZfTE9OR19MT05HCisgICAgUFlfTE9OR19MT05HIHZhbDsKKyAgICB2YWwgPSBQeUxvbmdfQXNMb25nTG9uZyhvYmopOworI2Vsc2UKKyAgICBsb25nIHZhbDsKKyAgICBhc3NlcnQoc2l6ZW9mKHRpbWVfdCkgPD0gc2l6ZW9mKGxvbmcpKTsKKyAgICB2YWwgPSBQeUxvbmdfQXNMb25nKG9iaik7CisjZW5kaWYKKyAgICBpZiAodmFsID09IC0xICYmIFB5RXJyX09jY3VycmVkKCkpIHsKKyAgICAgICAgaWYgKFB5RXJyX0V4Y2VwdGlvbk1hdGNoZXMoUHlFeGNfT3ZlcmZsb3dFcnJvcikpCisgICAgICAgICAgICBlcnJvcl90aW1lX3Rfb3ZlcmZsb3coKTsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKyAgICByZXR1cm4gKHRpbWVfdCl2YWw7Cit9CisKK3N0YXRpYyBpbnQKK19QeVRpbWVfT2JqZWN0VG9EZW5vbWluYXRvcihQeU9iamVjdCAqb2JqLCB0aW1lX3QgKnNlYywgbG9uZyAqbnVtZXJhdG9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvdWJsZSBkZW5vbWluYXRvcikKK3sKKyAgICBhc3NlcnQoZGVub21pbmF0b3IgPD0gTE9OR19NQVgpOworICAgIGlmIChQeUZsb2F0X0NoZWNrKG9iaikpIHsKKyAgICAgICAgZG91YmxlIGQsIGludHBhcnQsIGVycjsKKyAgICAgICAgLyogdm9sYXRpbGUgYXZvaWRzIHVuc2FmZSBvcHRpbWl6YXRpb24gb24gZmxvYXQgZW5hYmxlZCBieSBnY2MgLU8zICovCisgICAgICAgIHZvbGF0aWxlIGRvdWJsZSBmbG9hdHBhcnQ7CisKKyAgICAgICAgZCA9IFB5RmxvYXRfQXNEb3VibGUob2JqKTsKKyAgICAgICAgZmxvYXRwYXJ0ID0gbW9kZihkLCAmaW50cGFydCk7CisgICAgICAgIGlmIChmbG9hdHBhcnQgPCAwKSB7CisgICAgICAgICAgICBmbG9hdHBhcnQgPSAxLjAgKyBmbG9hdHBhcnQ7CisgICAgICAgICAgICBpbnRwYXJ0IC09IDEuMDsKKyAgICAgICAgfQorCisgICAgICAgICpzZWMgPSAodGltZV90KWludHBhcnQ7CisgICAgICAgIGVyciA9IGludHBhcnQgLSAoZG91YmxlKSpzZWM7CisgICAgICAgIGlmIChlcnIgPD0gLTEuMCB8fCBlcnIgPj0gMS4wKSB7CisgICAgICAgICAgICBlcnJvcl90aW1lX3Rfb3ZlcmZsb3coKTsKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgfQorCisgICAgICAgIGZsb2F0cGFydCAqPSBkZW5vbWluYXRvcjsKKyAgICAgICAgKm51bWVyYXRvciA9IChsb25nKWZsb2F0cGFydDsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorICAgIGVsc2UgeworICAgICAgICAqc2VjID0gX1B5TG9uZ19Bc1RpbWVfdChvYmopOworICAgICAgICBpZiAoKnNlYyA9PSAodGltZV90KS0xICYmIFB5RXJyX09jY3VycmVkKCkpCisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgICpudW1lcmF0b3IgPSAwOworICAgICAgICByZXR1cm4gMDsKKyAgICB9Cit9CisKK2ludAorX1B5VGltZV9PYmplY3RUb1RpbWVfdChQeU9iamVjdCAqb2JqLCB0aW1lX3QgKnNlYykKK3sKKyAgICBpZiAoUHlGbG9hdF9DaGVjayhvYmopKSB7CisgICAgICAgIGRvdWJsZSBkLCBpbnRwYXJ0LCBlcnI7CisKKyAgICAgICAgZCA9IFB5RmxvYXRfQXNEb3VibGUob2JqKTsKKyAgICAgICAgKHZvaWQpbW9kZihkLCAmaW50cGFydCk7CisKKyAgICAgICAgKnNlYyA9ICh0aW1lX3QpaW50cGFydDsKKyAgICAgICAgZXJyID0gaW50cGFydCAtIChkb3VibGUpKnNlYzsKKyAgICAgICAgaWYgKGVyciA8PSAtMS4wIHx8IGVyciA+PSAxLjApIHsKKyAgICAgICAgICAgIGVycm9yX3RpbWVfdF9vdmVyZmxvdygpOworICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICB9CisgICAgICAgIHJldHVybiAwOworICAgIH0KKyAgICBlbHNlIHsKKyAgICAgICAgKnNlYyA9IF9QeUxvbmdfQXNUaW1lX3Qob2JqKTsKKyAgICAgICAgaWYgKCpzZWMgPT0gKHRpbWVfdCktMSAmJiBQeUVycl9PY2N1cnJlZCgpKQorICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICByZXR1cm4gMDsKKyAgICB9Cit9CisKK2ludAorX1B5VGltZV9PYmplY3RUb1RpbWVzcGVjKFB5T2JqZWN0ICpvYmosIHRpbWVfdCAqc2VjLCBsb25nICpuc2VjKQoreworICAgIHJldHVybiBfUHlUaW1lX09iamVjdFRvRGVub21pbmF0b3Iob2JqLCBzZWMsIG5zZWMsIDFlOSk7Cit9CisKK2ludAorX1B5VGltZV9PYmplY3RUb1RpbWV2YWwoUHlPYmplY3QgKm9iaiwgdGltZV90ICpzZWMsIGxvbmcgKnVzZWMpCit7CisgICAgcmV0dXJuIF9QeVRpbWVfT2JqZWN0VG9EZW5vbWluYXRvcihvYmosIHNlYywgdXNlYywgMWU2KTsKIH0KIAogdm9pZApkaWZmIC0tZ2l0IGEvUHl0aG9uL3JhbmRvbS5jIGIvUHl0aG9uL3JhbmRvbS5jCmluZGV4IGEyYWUwMDIuLjcwMTlhMzUgMTAwNjQ0Ci0tLSBhL1B5dGhvbi9yYW5kb20uYworKysgYi9QeXRob24vcmFuZG9tLmMKQEAgLTI1NywxNyArMjU3LDYgQEAKICAgICBfUHlfSGFzaFNlY3JldF9Jbml0aWFsaXplZCA9IDE7CiAKICAgICAvKgotICAgICAgQnkgZGVmYXVsdCwgaGFzaCByYW5kb21pemF0aW9uIGlzIGRpc2FibGVkLCBhbmQgb25seQotICAgICAgZW5hYmxlZCBpZiBQWVRIT05IQVNIU0VFRCBpcyBzZXQgdG8gbm9uLWVtcHR5IG9yIGlmCi0gICAgICAiLVIiIGlzIHByb3ZpZGVkIGF0IHRoZSBjb21tYW5kIGxpbmU6Ci0gICAgKi8KLSAgICBpZiAoIVB5X0hhc2hSYW5kb21pemF0aW9uRmxhZykgewotICAgICAgICAvKiBEaXNhYmxlIHRoZSByYW5kb21pemVkIGhhc2g6ICovCi0gICAgICAgIG1lbXNldChzZWNyZXQsIDAsIHNlY3JldF9zaXplKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIC8qCiAgICAgICBIYXNoIHJhbmRvbWl6YXRpb24gaXMgZW5hYmxlZC4gIEdlbmVyYXRlIGEgcGVyLXByb2Nlc3Mgc2VjcmV0LAogICAgICAgdXNpbmcgUFlUSE9OSEFTSFNFRUQgaWYgcHJvdmlkZWQuCiAgICAgKi8KZGlmZiAtLWdpdCBhL1B5dGhvbi9zeW10YWJsZS5jIGIvUHl0aG9uL3N5bXRhYmxlLmMKaW5kZXggMWVjNTFmNy4uYjYyMjgzNSAxMDA2NDQKLS0tIGEvUHl0aG9uL3N5bXRhYmxlLmMKKysrIGIvUHl0aG9uL3N5bXRhYmxlLmMKQEAgLTE5LDEwICsxOSw2IEBACiAKICNkZWZpbmUgSU1QT1JUX1NUQVJfV0FSTklORyAiaW1wb3J0ICogb25seSBhbGxvd2VkIGF0IG1vZHVsZSBsZXZlbCIKIAotI2RlZmluZSBSRVRVUk5fVkFMX0lOX0dFTkVSQVRPUiBcCi0gICAgIidyZXR1cm4nIHdpdGggYXJndW1lbnQgaW5zaWRlIGdlbmVyYXRvciIKLQotCiBzdGF0aWMgUHlTVEVudHJ5T2JqZWN0ICoKIHN0ZV9uZXcoc3RydWN0IHN5bXRhYmxlICpzdCwgaWRlbnRpZmllciBuYW1lLCBfUHlfYmxvY2tfdHkgYmxvY2ssCiAgICAgICAgIHZvaWQgKmtleSwgaW50IGxpbmVubywgaW50IGNvbF9vZmZzZXQpCkBAIC0xODUsNiArMTgxLDcgQEAKIHN0YXRpYyBpbnQgc3ltdGFibGVfdmlzaXRfYXJnYW5ub3RhdGlvbnMoc3RydWN0IHN5bXRhYmxlICpzdCwgYXNkbF9zZXEgKmFyZ3MpOwogc3RhdGljIGludCBzeW10YWJsZV9pbXBsaWNpdF9hcmcoc3RydWN0IHN5bXRhYmxlICpzdCwgaW50IHBvcyk7CiBzdGF0aWMgaW50IHN5bXRhYmxlX3Zpc2l0X2Fubm90YXRpb25zKHN0cnVjdCBzeW10YWJsZSAqc3QsIHN0bXRfdHkgcyk7CitzdGF0aWMgaW50IHN5bXRhYmxlX3Zpc2l0X3dpdGhpdGVtKHN0cnVjdCBzeW10YWJsZSAqc3QsIHdpdGhpdGVtX3R5IGl0ZW0pOwogCiAKIHN0YXRpYyBpZGVudGlmaWVyIHRvcCA9IE5VTEwsIGxhbWJkYSA9IE5VTEwsIGdlbmV4cHIgPSBOVUxMLApAQCAtMjI0LDEwICsyMjEsMTcgQEAKIHN0cnVjdCBzeW10YWJsZSAqCiBQeVN5bXRhYmxlX0J1aWxkKG1vZF90eSBtb2QsIGNvbnN0IGNoYXIgKmZpbGVuYW1lLCBQeUZ1dHVyZUZlYXR1cmVzICpmdXR1cmUpCiB7Ci0gICAgc3RydWN0IHN5bXRhYmxlICpzdCA9IHN5bXRhYmxlX25ldygpOworICAgIHN0cnVjdCBzeW10YWJsZSAqc3Q7CiAgICAgYXNkbF9zZXEgKnNlcTsKICAgICBpbnQgaTsKIAorICAgIGlmIChfX2NsYXNzX18gPT0gTlVMTCkgeworICAgICAgICBfX2NsYXNzX18gPSBQeVVuaWNvZGVfSW50ZXJuRnJvbVN0cmluZygiQF9fY2xhc3NfXyIpOworICAgICAgICBpZiAoX19jbGFzc19fID09IE5VTEwpCisgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisKKyAgICBzdCA9IHN5bXRhYmxlX25ldygpOwogICAgIGlmIChzdCA9PSBOVUxMKQogICAgICAgICByZXR1cm4gc3Q7CiAgICAgc3QtPnN0X2ZpbGVuYW1lID0gZmlsZW5hbWU7CkBAIC03NDMsMTQgKzc0NywxMiBAQAogICAgIH0KICAgICBlbHNlIHsKICAgICAgICAgLyogU3BlY2lhbC1jYXNlIF9fY2xhc3NfXyAqLwotICAgICAgICBpZiAoIUdFVF9JREVOVElGSUVSKF9fY2xhc3NfXykpCi0gICAgICAgICAgICBnb3RvIGVycm9yOwogICAgICAgICBhc3NlcnQoUHlTZXRfQ29udGFpbnMobG9jYWwsIF9fY2xhc3NfXykgPT0gMSk7CiAgICAgICAgIGlmIChQeVNldF9BZGQobmV3Ym91bmQsIF9fY2xhc3NfXykgPCAwKQogICAgICAgICAgICAgZ290byBlcnJvcjsKICAgICB9CiAKLSAgICAvKiBSZWN1cnNpdmVseSBjYWxsIGFuYWx5emVfYmxvY2soKSBvbiBlYWNoIGNoaWxkIGJsb2NrLgorICAgIC8qIFJlY3Vyc2l2ZWx5IGNhbGwgYW5hbHl6ZV9jaGlsZF9ibG9jaygpIG9uIGVhY2ggY2hpbGQgYmxvY2suCiAKICAgICAgICBuZXdib3VuZCwgbmV3Z2xvYmFsIG5vdyBjb250YWluIHRoZSBuYW1lcyB2aXNpYmxlIGluCiAgICAgICAgbmVzdGVkIGJsb2Nrcy4gIFRoZSBmcmVlIHZhcmlhYmxlcyBpbiB0aGUgY2hpbGRyZW4gd2lsbApAQCAtNzgyLDcgKzc4NCw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMKSkKICAgICAgICAgZ290byBlcnJvcjsKICAgICBlbHNlIGlmIChzdGUtPnN0ZV90eXBlID09IENsYXNzQmxvY2sgJiYgIWFuYWx5emVfY2VsbHMoc2NvcGVzLCBuZXdmcmVlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiX19jbGFzc19fIikpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJAX19jbGFzc19fIikpCiAgICAgICAgIGdvdG8gZXJyb3I7CiAgICAgLyogUmVjb3JkcyB0aGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMgaW4gdGhlIHN5bWJvbCB0YWJsZSBlbnRyeSAqLwogICAgIGlmICghdXBkYXRlX3N5bWJvbHMoc3RlLT5zdGVfc3ltYm9scywgc2NvcGVzLCBib3VuZCwgbmV3ZnJlZSwKQEAgLTg5MywxOCArODk1LDE1IEBACiBzdGF0aWMgaW50CiBzeW10YWJsZV9leGl0X2Jsb2NrKHN0cnVjdCBzeW10YWJsZSAqc3QsIHZvaWQgKmFzdCkKIHsKLSAgICBQeV9zc2l6ZV90IGVuZDsKKyAgICBQeV9zc2l6ZV90IHNpemU7CiAKLSAgICBQeV9DTEVBUihzdC0+c3RfY3VyKTsKLSAgICBlbmQgPSBQeUxpc3RfR0VUX1NJWkUoc3QtPnN0X3N0YWNrKSAtIDE7Ci0gICAgaWYgKGVuZCA+PSAwKSB7Ci0gICAgICAgIHN0LT5zdF9jdXIgPSAoUHlTVEVudHJ5T2JqZWN0ICopUHlMaXN0X0dFVF9JVEVNKHN0LT5zdF9zdGFjaywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5kKTsKLSAgICAgICAgaWYgKHN0LT5zdF9jdXIgPT0gTlVMTCkKKyAgICBzdC0+c3RfY3VyID0gTlVMTDsKKyAgICBzaXplID0gUHlMaXN0X0dFVF9TSVpFKHN0LT5zdF9zdGFjayk7CisgICAgaWYgKHNpemUpIHsKKyAgICAgICAgaWYgKFB5TGlzdF9TZXRTbGljZShzdC0+c3Rfc3RhY2ssIHNpemUgLSAxLCBzaXplLCBOVUxMKSA8IDApCiAgICAgICAgICAgICByZXR1cm4gMDsKLSAgICAgICAgUHlfSU5DUkVGKHN0LT5zdF9jdXIpOwotICAgICAgICBpZiAoUHlTZXF1ZW5jZV9EZWxJdGVtKHN0LT5zdF9zdGFjaywgZW5kKSA8IDApCi0gICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgaWYgKC0tc2l6ZSkKKyAgICAgICAgICAgIHN0LT5zdF9jdXIgPSAoUHlTVEVudHJ5T2JqZWN0ICopUHlMaXN0X0dFVF9JVEVNKHN0LT5zdF9zdGFjaywgc2l6ZSAtIDEpOwogICAgIH0KICAgICByZXR1cm4gMTsKIH0KQEAgLTkxMywyMyArOTEyLDIzIEBACiBzeW10YWJsZV9lbnRlcl9ibG9jayhzdHJ1Y3Qgc3ltdGFibGUgKnN0LCBpZGVudGlmaWVyIG5hbWUsIF9QeV9ibG9ja190eSBibG9jaywKICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKmFzdCwgaW50IGxpbmVubywgaW50IGNvbF9vZmZzZXQpCiB7Ci0gICAgUHlTVEVudHJ5T2JqZWN0ICpwcmV2ID0gTlVMTDsKKyAgICBQeVNURW50cnlPYmplY3QgKnByZXYgPSBOVUxMLCAqc3RlOwogCi0gICAgaWYgKHN0LT5zdF9jdXIpIHsKLSAgICAgICAgcHJldiA9IHN0LT5zdF9jdXI7Ci0gICAgICAgIGlmIChQeUxpc3RfQXBwZW5kKHN0LT5zdF9zdGFjaywgKFB5T2JqZWN0ICopc3QtPnN0X2N1cikgPCAwKSB7Ci0gICAgICAgICAgICByZXR1cm4gMDsKLSAgICAgICAgfQotICAgICAgICBQeV9ERUNSRUYoc3QtPnN0X2N1cik7Ci0gICAgfQotICAgIHN0LT5zdF9jdXIgPSBzdGVfbmV3KHN0LCBuYW1lLCBibG9jaywgYXN0LCBsaW5lbm8sIGNvbF9vZmZzZXQpOwotICAgIGlmIChzdC0+c3RfY3VyID09IE5VTEwpCisgICAgc3RlID0gc3RlX25ldyhzdCwgbmFtZSwgYmxvY2ssIGFzdCwgbGluZW5vLCBjb2xfb2Zmc2V0KTsKKyAgICBpZiAoc3RlID09IE5VTEwpCiAgICAgICAgIHJldHVybiAwOworICAgIGlmIChQeUxpc3RfQXBwZW5kKHN0LT5zdF9zdGFjaywgKFB5T2JqZWN0ICopc3RlKSA8IDApIHsKKyAgICAgICAgUHlfREVDUkVGKHN0ZSk7CisgICAgICAgIHJldHVybiAwOworICAgIH0KKyAgICBwcmV2ID0gc3QtPnN0X2N1cjsKKyAgICAvKiBUaGUgZW50cnkgaXMgb3duZWQgYnkgdGhlIHN0YWNrLiBCb3Jyb3cgaXQgZm9yIHN0X2N1ci4gKi8KKyAgICBQeV9ERUNSRUYoc3RlKTsKKyAgICBzdC0+c3RfY3VyID0gc3RlOwogICAgIGlmIChibG9jayA9PSBNb2R1bGVCbG9jaykKICAgICAgICAgc3QtPnN0X2dsb2JhbCA9IHN0LT5zdF9jdXItPnN0ZV9zeW1ib2xzOwogICAgIGlmIChwcmV2KSB7Ci0gICAgICAgIGlmIChQeUxpc3RfQXBwZW5kKHByZXYtPnN0ZV9jaGlsZHJlbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgKFB5T2JqZWN0ICopc3QtPnN0X2N1cikgPCAwKSB7CisgICAgICAgIGlmIChQeUxpc3RfQXBwZW5kKHByZXYtPnN0ZV9jaGlsZHJlbiwgKFB5T2JqZWN0ICopc3RlKSA8IDApIHsKICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICB9CiAgICAgfQpAQCAtMTAyMywxMiArMTAyMiw2IEBACiAgICAgaWYgKCFzeW10YWJsZV92aXNpdF8gIyMgVFlQRSgoU1QpLCAoVikpKSBcCiAgICAgICAgIHJldHVybiAwOwogCi0jZGVmaW5lIFZJU0lUX0lOX0JMT0NLKFNULCBUWVBFLCBWLCBTKSBcCi0gICAgaWYgKCFzeW10YWJsZV92aXNpdF8gIyMgVFlQRSgoU1QpLCAoVikpKSB7IFwKLSAgICAgICAgc3ltdGFibGVfZXhpdF9ibG9jaygoU1QpLCAoUykpOyBcCi0gICAgICAgIHJldHVybiAwOyBcCi0gICAgfQotCiAjZGVmaW5lIFZJU0lUX1NFUShTVCwgVFlQRSwgU0VRKSB7IFwKICAgICBpbnQgaTsgXAogICAgIGFzZGxfc2VxICpzZXEgPSAoU0VRKTsgLyogYXZvaWQgdmFyaWFibGUgY2FwdHVyZSAqLyBcCkBAIC0xMDM5LDE4ICsxMDMyLDYgQEAKICAgICB9IFwKIH0KIAotI2RlZmluZSBWSVNJVF9TRVFfSU5fQkxPQ0soU1QsIFRZUEUsIFNFUSwgUykgeyBcCi0gICAgaW50IGk7IFwKLSAgICBhc2RsX3NlcSAqc2VxID0gKFNFUSk7IC8qIGF2b2lkIHZhcmlhYmxlIGNhcHR1cmUgKi8gXAotICAgIGZvciAoaSA9IDA7IGkgPCBhc2RsX3NlcV9MRU4oc2VxKTsgaSsrKSB7IFwKLSAgICAgICAgVFlQRSAjIyBfdHkgZWx0ID0gKFRZUEUgIyMgX3R5KWFzZGxfc2VxX0dFVChzZXEsIGkpOyBcCi0gICAgICAgIGlmICghc3ltdGFibGVfdmlzaXRfICMjIFRZUEUoKFNUKSwgZWx0KSkgeyBcCi0gICAgICAgICAgICBzeW10YWJsZV9leGl0X2Jsb2NrKChTVCksIChTKSk7IFwKLSAgICAgICAgICAgIHJldHVybiAwOyBcCi0gICAgICAgIH0gXAotICAgIH0gXAotfQotCiAjZGVmaW5lIFZJU0lUX1NFUV9UQUlMKFNULCBUWVBFLCBTRVEsIFNUQVJUKSB7IFwKICAgICBpbnQgaTsgXAogICAgIGFzZGxfc2VxICpzZXEgPSAoU0VRKTsgLyogYXZvaWQgdmFyaWFibGUgY2FwdHVyZSAqLyBcCkBAIC0xMDYxLDE4ICsxMDQyLDYgQEAKICAgICB9IFwKIH0KIAotI2RlZmluZSBWSVNJVF9TRVFfVEFJTF9JTl9CTE9DSyhTVCwgVFlQRSwgU0VRLCBTVEFSVCwgUykgeyBcCi0gICAgaW50IGk7IFwKLSAgICBhc2RsX3NlcSAqc2VxID0gKFNFUSk7IC8qIGF2b2lkIHZhcmlhYmxlIGNhcHR1cmUgKi8gXAotICAgIGZvciAoaSA9IChTVEFSVCk7IGkgPCBhc2RsX3NlcV9MRU4oc2VxKTsgaSsrKSB7IFwKLSAgICAgICAgVFlQRSAjIyBfdHkgZWx0ID0gKFRZUEUgIyMgX3R5KWFzZGxfc2VxX0dFVChzZXEsIGkpOyBcCi0gICAgICAgIGlmICghc3ltdGFibGVfdmlzaXRfICMjIFRZUEUoKFNUKSwgZWx0KSkgeyBcCi0gICAgICAgICAgICBzeW10YWJsZV9leGl0X2Jsb2NrKChTVCksIChTKSk7IFwKLSAgICAgICAgICAgIHJldHVybiAwOyBcCi0gICAgICAgIH0gXAotICAgIH0gXAotfQotCiAjZGVmaW5lIFZJU0lUX0tXT05MWURFRkFVTFRTKFNULCBLV19ERUZBVUxUUykgeyBcCiAgICAgaW50IGkgPSAwOyBcCiAgICAgYXNkbF9zZXEgKnNlcSA9IChLV19ERUZBVUxUUyk7IC8qIGF2b2lkIHZhcmlhYmxlIGNhcHR1cmUgKi8gXApAQCAtMTEyMiw4ICsxMDkxLDggQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGdW5jdGlvbkJsb2NrLCAodm9pZCAqKXMsIHMtPmxpbmVubywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzLT5jb2xfb2Zmc2V0KSkKICAgICAgICAgICAgIHJldHVybiAwOwotICAgICAgICBWSVNJVF9JTl9CTE9DSyhzdCwgYXJndW1lbnRzLCBzLT52LkZ1bmN0aW9uRGVmLmFyZ3MsIHMpOwotICAgICAgICBWSVNJVF9TRVFfSU5fQkxPQ0soc3QsIHN0bXQsIHMtPnYuRnVuY3Rpb25EZWYuYm9keSwgcyk7CisgICAgICAgIFZJU0lUKHN0LCBhcmd1bWVudHMsIHMtPnYuRnVuY3Rpb25EZWYuYXJncyk7CisgICAgICAgIFZJU0lUX1NFUShzdCwgc3RtdCwgcy0+di5GdW5jdGlvbkRlZi5ib2R5KTsKICAgICAgICAgaWYgKCFzeW10YWJsZV9leGl0X2Jsb2NrKHN0LCBzKSkKICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICBicmVhazsKQEAgLTExNDIsOCArMTExMSw3IEBACiAgICAgICAgIGlmICghc3ltdGFibGVfZW50ZXJfYmxvY2soc3QsIHMtPnYuQ2xhc3NEZWYubmFtZSwgQ2xhc3NCbG9jaywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodm9pZCAqKXMsIHMtPmxpbmVubywgcy0+Y29sX29mZnNldCkpCiAgICAgICAgICAgICByZXR1cm4gMDsKLSAgICAgICAgaWYgKCFHRVRfSURFTlRJRklFUihfX2NsYXNzX18pIHx8Ci0gICAgICAgICAgICAhc3ltdGFibGVfYWRkX2RlZihzdCwgX19jbGFzc19fLCBERUZfTE9DQUwpIHx8CisgICAgICAgIGlmICghc3ltdGFibGVfYWRkX2RlZihzdCwgX19jbGFzc19fLCBERUZfTE9DQUwpIHx8CiAgICAgICAgICAgICAhR0VUX0lERU5USUZJRVIoX19sb2NhbHNfXykgfHwKICAgICAgICAgICAgICFzeW10YWJsZV9hZGRfZGVmKHN0LCBfX2xvY2Fsc19fLCBERUZfUEFSQU0pKSB7CiAgICAgICAgICAgICBzeW10YWJsZV9leGl0X2Jsb2NrKHN0LCBzKTsKQEAgLTExNTEsNyArMTExOSw3IEBACiAgICAgICAgIH0KICAgICAgICAgdG1wID0gc3QtPnN0X3ByaXZhdGU7CiAgICAgICAgIHN0LT5zdF9wcml2YXRlID0gcy0+di5DbGFzc0RlZi5uYW1lOwotICAgICAgICBWSVNJVF9TRVFfSU5fQkxPQ0soc3QsIHN0bXQsIHMtPnYuQ2xhc3NEZWYuYm9keSwgcyk7CisgICAgICAgIFZJU0lUX1NFUShzdCwgc3RtdCwgcy0+di5DbGFzc0RlZi5ib2R5KTsKICAgICAgICAgc3QtPnN0X3ByaXZhdGUgPSB0bXA7CiAgICAgICAgIGlmICghc3ltdGFibGVfZXhpdF9ibG9jayhzdCwgcykpCiAgICAgICAgICAgICByZXR1cm4gMDsKQEAgLTExNjEsMTQgKzExMjksNiBAQAogICAgICAgICBpZiAocy0+di5SZXR1cm4udmFsdWUpIHsKICAgICAgICAgICAgIFZJU0lUKHN0LCBleHByLCBzLT52LlJldHVybi52YWx1ZSk7CiAgICAgICAgICAgICBzdC0+c3RfY3VyLT5zdGVfcmV0dXJuc192YWx1ZSA9IDE7Ci0gICAgICAgICAgICBpZiAoc3QtPnN0X2N1ci0+c3RlX2dlbmVyYXRvcikgewotICAgICAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19TeW50YXhFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgUkVUVVJOX1ZBTF9JTl9HRU5FUkFUT1IpOwotICAgICAgICAgICAgICAgIFB5RXJyX1N5bnRheExvY2F0aW9uRXgoc3QtPnN0X2ZpbGVuYW1lLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcy0+bGluZW5vLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcy0+Y29sX29mZnNldCk7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIDA7Ci0gICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBEZWxldGVfa2luZDoKQEAgLTEyMDUsMTkgKzExNjUsMTYgQEAKICAgICBjYXNlIFJhaXNlX2tpbmQ6CiAgICAgICAgIGlmIChzLT52LlJhaXNlLmV4YykgewogICAgICAgICAgICAgVklTSVQoc3QsIGV4cHIsIHMtPnYuUmFpc2UuZXhjKTsKLSAgICAgICAgaWYgKHMtPnYuUmFpc2UuY2F1c2UpIHsKLSAgICAgICAgVklTSVQoc3QsIGV4cHIsIHMtPnYuUmFpc2UuY2F1c2UpOwotICAgICAgICB9CisgICAgICAgICAgICBpZiAocy0+di5SYWlzZS5jYXVzZSkgeworICAgICAgICAgICAgICAgIFZJU0lUKHN0LCBleHByLCBzLT52LlJhaXNlLmNhdXNlKTsKKyAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgICAgICBicmVhazsKLSAgICBjYXNlIFRyeUV4Y2VwdF9raW5kOgotICAgICAgICBWSVNJVF9TRVEoc3QsIHN0bXQsIHMtPnYuVHJ5RXhjZXB0LmJvZHkpOwotICAgICAgICBWSVNJVF9TRVEoc3QsIHN0bXQsIHMtPnYuVHJ5RXhjZXB0Lm9yZWxzZSk7Ci0gICAgICAgIFZJU0lUX1NFUShzdCwgZXhjZXB0aGFuZGxlciwgcy0+di5UcnlFeGNlcHQuaGFuZGxlcnMpOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIFRyeUZpbmFsbHlfa2luZDoKLSAgICAgICAgVklTSVRfU0VRKHN0LCBzdG10LCBzLT52LlRyeUZpbmFsbHkuYm9keSk7Ci0gICAgICAgIFZJU0lUX1NFUShzdCwgc3RtdCwgcy0+di5UcnlGaW5hbGx5LmZpbmFsYm9keSk7CisgICAgY2FzZSBUcnlfa2luZDoKKyAgICAgICAgVklTSVRfU0VRKHN0LCBzdG10LCBzLT52LlRyeS5ib2R5KTsKKyAgICAgICAgVklTSVRfU0VRKHN0LCBzdG10LCBzLT52LlRyeS5vcmVsc2UpOworICAgICAgICBWSVNJVF9TRVEoc3QsIGV4Y2VwdGhhbmRsZXIsIHMtPnYuVHJ5LmhhbmRsZXJzKTsKKyAgICAgICAgVklTSVRfU0VRKHN0LCBzdG10LCBzLT52LlRyeS5maW5hbGJvZHkpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIEFzc2VydF9raW5kOgogICAgICAgICBWSVNJVChzdCwgZXhwciwgcy0+di5Bc3NlcnQudGVzdCk7CkBAIC0xMzA1LDEwICsxMjYyLDcgQEAKICAgICAgICAgLyogbm90aGluZyB0byBkbyBoZXJlICovCiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgV2l0aF9raW5kOgotICAgICAgICBWSVNJVChzdCwgZXhwciwgcy0+di5XaXRoLmNvbnRleHRfZXhwcik7Ci0gICAgICAgIGlmIChzLT52LldpdGgub3B0aW9uYWxfdmFycykgewotICAgICAgICAgICAgVklTSVQoc3QsIGV4cHIsIHMtPnYuV2l0aC5vcHRpb25hbF92YXJzKTsKLSAgICAgICAgfQorICAgICAgICBWSVNJVF9TRVEoc3QsIHdpdGhpdGVtLCBzLT52LldpdGguaXRlbXMpOwogICAgICAgICBWSVNJVF9TRVEoc3QsIHN0bXQsIHMtPnYuV2l0aC5ib2R5KTsKICAgICAgICAgYnJlYWs7CiAgICAgfQpAQCAtMTM0MSw4ICsxMjk1LDggQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGdW5jdGlvbkJsb2NrLCAodm9pZCAqKWUsIGUtPmxpbmVubywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlLT5jb2xfb2Zmc2V0KSkKICAgICAgICAgICAgIHJldHVybiAwOwotICAgICAgICBWSVNJVF9JTl9CTE9DSyhzdCwgYXJndW1lbnRzLCBlLT52LkxhbWJkYS5hcmdzLCAodm9pZCopZSk7Ci0gICAgICAgIFZJU0lUX0lOX0JMT0NLKHN0LCBleHByLCBlLT52LkxhbWJkYS5ib2R5LCAodm9pZCopZSk7CisgICAgICAgIFZJU0lUKHN0LCBhcmd1bWVudHMsIGUtPnYuTGFtYmRhLmFyZ3MpOworICAgICAgICBWSVNJVChzdCwgZXhwciwgZS0+di5MYW1iZGEuYm9keSk7CiAgICAgICAgIGlmICghc3ltdGFibGVfZXhpdF9ibG9jayhzdCwgKHZvaWQgKillKSkKICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICBicmVhazsKQEAgLTEzNzYsMTcgKzEzMzAsMTQgQEAKICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFlpZWxkX2tpbmQ6Ci0gICAgICAgIGlmIChlLT52LllpZWxkLnZhbHVlKQotICAgICAgICAgICAgVklTSVQoc3QsIGV4cHIsIGUtPnYuWWllbGQudmFsdWUpOworICAgIGNhc2UgWWllbGRGcm9tX2tpbmQ6IHsKKyAgICAgICAgZXhwcl90eSB2YWx1ZTsKKyAgICAgICAgdmFsdWUgPSAoZS0+a2luZCA9PSBZaWVsZEZyb21fa2luZCkgPyBlLT52LllpZWxkRnJvbS52YWx1ZSA6IGUtPnYuWWllbGQudmFsdWU7CisgICAgICAgIGlmICh2YWx1ZSkKKyAgICAgICAgICAgIFZJU0lUKHN0LCBleHByLCB2YWx1ZSk7CiAgICAgICAgIHN0LT5zdF9jdXItPnN0ZV9nZW5lcmF0b3IgPSAxOwotICAgICAgICBpZiAoc3QtPnN0X2N1ci0+c3RlX3JldHVybnNfdmFsdWUpIHsKLSAgICAgICAgICAgIFB5RXJyX1NldFN0cmluZyhQeUV4Y19TeW50YXhFcnJvciwKLSAgICAgICAgICAgICAgICBSRVRVUk5fVkFMX0lOX0dFTkVSQVRPUik7Ci0gICAgICAgICAgICBQeUVycl9TeW50YXhMb2NhdGlvbkV4KHN0LT5zdF9maWxlbmFtZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZS0+bGluZW5vLCBlLT5jb2xfb2Zmc2V0KTsKLSAgICAgICAgICAgIHJldHVybiAwOwotICAgICAgICB9CiAgICAgICAgIGJyZWFrOworICAgIH0KICAgICBjYXNlIENvbXBhcmVfa2luZDoKICAgICAgICAgVklTSVQoc3QsIGV4cHIsIGUtPnYuQ29tcGFyZS5sZWZ0KTsKICAgICAgICAgVklTSVRfU0VRKHN0LCBleHByLCBlLT52LkNvbXBhcmUuY29tcGFyYXRvcnMpOwpAQCAtMTQyNSw4ICsxMzc2LDcgQEAKICAgICAgICAgaWYgKGUtPnYuTmFtZS5jdHggPT0gTG9hZCAmJgogICAgICAgICAgICAgc3QtPnN0X2N1ci0+c3RlX3R5cGUgPT0gRnVuY3Rpb25CbG9jayAmJgogICAgICAgICAgICAgIVB5VW5pY29kZV9Db21wYXJlV2l0aEFTQ0lJU3RyaW5nKGUtPnYuTmFtZS5pZCwgInN1cGVyIikpIHsKLSAgICAgICAgICAgIGlmICghR0VUX0lERU5USUZJRVIoX19jbGFzc19fKSB8fAotICAgICAgICAgICAgICAgICFzeW10YWJsZV9hZGRfZGVmKHN0LCBfX2NsYXNzX18sIFVTRSkpCisgICAgICAgICAgICBpZiAoIXN5bXRhYmxlX2FkZF9kZWYoc3QsIF9fY2xhc3NfXywgVVNFKSkKICAgICAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgfQogICAgICAgICBicmVhazsKQEAgLTE1NDMsNiArMTQ5MywxNiBAQAogICAgIHJldHVybiAxOwogfQogCitzdGF0aWMgaW50CitzeW10YWJsZV92aXNpdF93aXRoaXRlbShzdHJ1Y3Qgc3ltdGFibGUgKnN0LCB3aXRoaXRlbV90eSBpdGVtKQoreworICAgIFZJU0lUKHN0LCBleHByLCBpdGVtLT5jb250ZXh0X2V4cHIpOworICAgIGlmIChpdGVtLT5vcHRpb25hbF92YXJzKSB7CisgICAgICAgIFZJU0lUKHN0LCBleHByLCBpdGVtLT5vcHRpb25hbF92YXJzKTsKKyAgICB9CisgICAgcmV0dXJuIDE7Cit9CisKIAogc3RhdGljIGludAogc3ltdGFibGVfdmlzaXRfYWxpYXMoc3RydWN0IHN5bXRhYmxlICpzdCwgYWxpYXNfdHkgYSkKQEAgLTE1NTMsMTAgKzE1MTMsMTAgQEAKICAgICAqLwogICAgIFB5T2JqZWN0ICpzdG9yZV9uYW1lOwogICAgIFB5T2JqZWN0ICpuYW1lID0gKGEtPmFzbmFtZSA9PSBOVUxMKSA/IGEtPm5hbWUgOiBhLT5hc25hbWU7Ci0gICAgY29uc3QgUHlfVU5JQ09ERSAqYmFzZSA9IFB5VW5pY29kZV9BU19VTklDT0RFKG5hbWUpOwotICAgIFB5X1VOSUNPREUgKmRvdCA9IFB5X1VOSUNPREVfc3RyY2hyKGJhc2UsICcuJyk7Ci0gICAgaWYgKGRvdCkgewotICAgICAgICBzdG9yZV9uYW1lID0gUHlVbmljb2RlX0Zyb21Vbmljb2RlKGJhc2UsIGRvdCAtIGJhc2UpOworICAgIFB5X3NzaXplX3QgZG90ID0gUHlVbmljb2RlX0ZpbmRDaGFyKG5hbWUsICcuJywgMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfR0VUX0xFTkdUSChuYW1lKSwgMSk7CisgICAgaWYgKGRvdCAhPSAtMSkgeworICAgICAgICBzdG9yZV9uYW1lID0gUHlVbmljb2RlX1N1YnN0cmluZyhuYW1lLCAwLCBkb3QpOwogICAgICAgICBpZiAoIXN0b3JlX25hbWUpCiAgICAgICAgICAgICByZXR1cm4gMDsKICAgICB9CkBAIC0xNjUzLDEzICsxNjEzLDEyIEBACiAgICAgICAgIHN5bXRhYmxlX2V4aXRfYmxvY2soc3QsICh2b2lkICopZSk7CiAgICAgICAgIHJldHVybiAwOwogICAgIH0KLSAgICBWSVNJVF9JTl9CTE9DSyhzdCwgZXhwciwgb3V0ZXJtb3N0LT50YXJnZXQsICh2b2lkKillKTsKLSAgICBWSVNJVF9TRVFfSU5fQkxPQ0soc3QsIGV4cHIsIG91dGVybW9zdC0+aWZzLCAodm9pZCopZSk7Ci0gICAgVklTSVRfU0VRX1RBSUxfSU5fQkxPQ0soc3QsIGNvbXByZWhlbnNpb24sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdG9ycywgMSwgKHZvaWQqKWUpOworICAgIFZJU0lUKHN0LCBleHByLCBvdXRlcm1vc3QtPnRhcmdldCk7CisgICAgVklTSVRfU0VRKHN0LCBleHByLCBvdXRlcm1vc3QtPmlmcyk7CisgICAgVklTSVRfU0VRX1RBSUwoc3QsIGNvbXByZWhlbnNpb24sIGdlbmVyYXRvcnMsIDEpOwogICAgIGlmICh2YWx1ZSkKLSAgICAgICAgVklTSVRfSU5fQkxPQ0soc3QsIGV4cHIsIHZhbHVlLCAodm9pZCopZSk7Ci0gICAgVklTSVRfSU5fQkxPQ0soc3QsIGV4cHIsIGVsdCwgKHZvaWQqKWUpOworICAgICAgICBWSVNJVChzdCwgZXhwciwgdmFsdWUpOworICAgIFZJU0lUKHN0LCBleHByLCBlbHQpOwogICAgIHJldHVybiBzeW10YWJsZV9leGl0X2Jsb2NrKHN0LCAodm9pZCAqKWUpOwogfQogCmRpZmYgLS1naXQgYS9QeXRob24vc3lzbW9kdWxlLmMgYi9QeXRob24vc3lzbW9kdWxlLmMKaW5kZXggYzRmMjdkMC4uYzQzNGI1YSAxMDA2NDQKLS0tIGEvUHl0aG9uL3N5c21vZHVsZS5jCisrKyBiL1B5dGhvbi9zeXNtb2R1bGUuYwpAQCAtMTcsNiArMTcsNyBAQAogI2luY2x1ZGUgIlB5dGhvbi5oIgogI2luY2x1ZGUgImNvZGUuaCIKICNpbmNsdWRlICJmcmFtZW9iamVjdC5oIgorI2luY2x1ZGUgInB5dGhyZWFkLmgiCiAKICNpbmNsdWRlICJvc2RlZnMuaCIKIApAQCAtNzgsOCArNzksMTAgQEAKICAgICBQeU9iamVjdCAqZW5jb2RlZCwgKmVzY2FwZWRfc3RyLCAqcmVwcl9zdHIsICpidWZmZXIsICpyZXN1bHQ7CiAgICAgY2hhciAqc3Rkb3V0X2VuY29kaW5nX3N0cjsKICAgICBpbnQgcmV0OworICAgIF9QeV9JREVOVElGSUVSKGVuY29kaW5nKTsKKyAgICBfUHlfSURFTlRJRklFUihidWZmZXIpOwogCi0gICAgc3Rkb3V0X2VuY29kaW5nID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyhvdXRmLCAiZW5jb2RpbmciKTsKKyAgICBzdGRvdXRfZW5jb2RpbmcgPSBfUHlPYmplY3RfR2V0QXR0cklkKG91dGYsICZQeUlkX2VuY29kaW5nKTsKICAgICBpZiAoc3Rkb3V0X2VuY29kaW5nID09IE5VTEwpCiAgICAgICAgIGdvdG8gZXJyb3I7CiAgICAgc3Rkb3V0X2VuY29kaW5nX3N0ciA9IF9QeVVuaWNvZGVfQXNTdHJpbmcoc3Rkb3V0X2VuY29kaW5nKTsKQEAgLTk2LDkgKzk5LDEwIEBACiAgICAgaWYgKGVuY29kZWQgPT0gTlVMTCkKICAgICAgICAgZ290byBlcnJvcjsKIAotICAgIGJ1ZmZlciA9IFB5T2JqZWN0X0dldEF0dHJTdHJpbmcob3V0ZiwgImJ1ZmZlciIpOworICAgIGJ1ZmZlciA9IF9QeU9iamVjdF9HZXRBdHRySWQob3V0ZiwgJlB5SWRfYnVmZmVyKTsKICAgICBpZiAoYnVmZmVyKSB7Ci0gICAgICAgIHJlc3VsdCA9IFB5T2JqZWN0X0NhbGxNZXRob2QoYnVmZmVyLCAid3JpdGUiLCAiKE8pIiwgZW5jb2RlZCk7CisgICAgICAgIF9QeV9JREVOVElGSUVSKHdyaXRlKTsKKyAgICAgICAgcmVzdWx0ID0gX1B5T2JqZWN0X0NhbGxNZXRob2RJZChidWZmZXIsICZQeUlkX3dyaXRlLCAiKE8pIiwgZW5jb2RlZCk7CiAgICAgICAgIFB5X0RFQ1JFRihidWZmZXIpOwogICAgICAgICBQeV9ERUNSRUYoZW5jb2RlZCk7CiAgICAgICAgIGlmIChyZXN1bHQgPT0gTlVMTCkKQEAgLTEzNSw2ICsxMzksNyBAQAogICAgIFB5T2JqZWN0ICptb2R1bGVzID0gaW50ZXJwLT5tb2R1bGVzOwogICAgIFB5T2JqZWN0ICpidWlsdGlucyA9IFB5RGljdF9HZXRJdGVtU3RyaW5nKG1vZHVsZXMsICJidWlsdGlucyIpOwogICAgIGludCBlcnI7CisgICAgX1B5X0lERU5USUZJRVIoXyk7CiAKICAgICBpZiAoYnVpbHRpbnMgPT0gTlVMTCkgewogICAgICAgICBQeUVycl9TZXRTdHJpbmcoUHlFeGNfUnVudGltZUVycm9yLCAibG9zdCBidWlsdGlucyBtb2R1bGUiKTsKQEAgLTE0OCw3ICsxNTMsNyBAQAogICAgICAgICBQeV9JTkNSRUYoUHlfTm9uZSk7CiAgICAgICAgIHJldHVybiBQeV9Ob25lOwogICAgIH0KLSAgICBpZiAoUHlPYmplY3RfU2V0QXR0clN0cmluZyhidWlsdGlucywgIl8iLCBQeV9Ob25lKSAhPSAwKQorICAgIGlmIChfUHlPYmplY3RfU2V0QXR0cklkKGJ1aWx0aW5zLCAmUHlJZF9fLCBQeV9Ob25lKSAhPSAwKQogICAgICAgICByZXR1cm4gTlVMTDsKICAgICBvdXRmID0gUHlTeXNfR2V0T2JqZWN0KCJzdGRvdXQiKTsKICAgICBpZiAob3V0ZiA9PSBOVUxMIHx8IG91dGYgPT0gUHlfTm9uZSkgewpAQCAtMTcwLDcgKzE3NSw3IEBACiAgICAgfQogICAgIGlmIChQeUZpbGVfV3JpdGVTdHJpbmcoIlxuIiwgb3V0ZikgIT0gMCkKICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgaWYgKFB5T2JqZWN0X1NldEF0dHJTdHJpbmcoYnVpbHRpbnMsICJfIiwgbykgIT0gMCkKKyAgICBpZiAoX1B5T2JqZWN0X1NldEF0dHJJZChidWlsdGlucywgJlB5SWRfXywgbykgIT0gMCkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgUHlfSU5DUkVGKFB5X05vbmUpOwogICAgIHJldHVybiBQeV9Ob25lOwpAQCAtNzcwLDkgKzc3NSw3IEBACiBhIGxhenkgcmVzb2x2aW5nIG9mIHN5bWJvbHMgd2hlbiBpbXBvcnRpbmcgYSBtb2R1bGUsIGlmIGNhbGxlZCBhc1xuXAogc3lzLnNldGRsb3BlbmZsYWdzKDApLiAgVG8gc2hhcmUgc3ltYm9scyBhY3Jvc3MgZXh0ZW5zaW9uIG1vZHVsZXMsIGNhbGwgYXNcblwKIHN5cy5zZXRkbG9wZW5mbGFncyhjdHlwZXMuUlRMRF9HTE9CQUwpLiAgU3ltYm9saWMgbmFtZXMgZm9yIHRoZSBmbGFnIG1vZHVsZXNcblwKLWNhbiBiZSBlaXRoZXIgZm91bmQgaW4gdGhlIGN0eXBlcyBtb2R1bGUsIG9yIGluIHRoZSBETEZDTiBtb2R1bGUuIElmIERMRkNOXG5cCi1pcyBub3QgYXZhaWxhYmxlLCBpdCBjYW4gYmUgZ2VuZXJhdGVkIGZyb20gL3Vzci9pbmNsdWRlL2RsZmNuLmggdXNpbmcgdGhlXG5cCi1oMnB5IHNjcmlwdC4iKTsKK2NhbiBiZSBmb3VuZCBpbiB0aGUgb3MgbW9kdWxlIChSVExEX3h4eCBjb25zdGFudHMsIGUuZy4gb3MuUlRMRF9MQVpZKS4iKTsKIAogc3RhdGljIFB5T2JqZWN0ICoKIHN5c19nZXRkbG9wZW5mbGFncyhQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCkBAIC04MTEsMTAgKzgxNCwxMSBAQAogc3lzX2dldHNpemVvZihQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2RzKQogewogICAgIFB5T2JqZWN0ICpyZXMgPSBOVUxMOwotICAgIHN0YXRpYyBQeU9iamVjdCAqc3RyX19zaXplb2ZfXyA9IE5VTEwsICpnY19oZWFkX3NpemUgPSBOVUxMOworICAgIHN0YXRpYyBQeU9iamVjdCAqZ2NfaGVhZF9zaXplID0gTlVMTDsKICAgICBzdGF0aWMgY2hhciAqa3dsaXN0W10gPSB7Im9iamVjdCIsICJkZWZhdWx0IiwgMH07CiAgICAgUHlPYmplY3QgKm8sICpkZmx0ID0gTlVMTDsKICAgICBQeU9iamVjdCAqbWV0aG9kOworICAgIF9QeV9JREVOVElGSUVSKF9fc2l6ZW9mX18pOwogCiAgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dkcywgIk98TzpnZXRzaXplb2YiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGt3bGlzdCwgJm8sICZkZmx0KSkKQEAgLTgzMSw4ICs4MzUsNyBAQAogICAgIGlmIChQeVR5cGVfUmVhZHkoUHlfVFlQRShvKSkgPCAwKQogICAgICAgICByZXR1cm4gTlVMTDsKIAotICAgIG1ldGhvZCA9IF9QeU9iamVjdF9Mb29rdXBTcGVjaWFsKG8sICJfX3NpemVvZl9fIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmc3RyX19zaXplb2ZfXyk7CisgICAgbWV0aG9kID0gX1B5T2JqZWN0X0xvb2t1cFNwZWNpYWwobywgJlB5SWRfX19zaXplb2ZfXyk7CiAgICAgaWYgKG1ldGhvZCA9PSBOVUxMKSB7CiAgICAgICAgIGlmICghUHlFcnJfT2NjdXJyZWQoKSkKICAgICAgICAgICAgIFB5RXJyX0Zvcm1hdChQeUV4Y19UeXBlRXJyb3IsCkBAIC0xMTc3LDcgKzExODAsNiBAQAogICAgIFB5T2JqZWN0ICpvcHRzOwogICAgIFB5T2JqZWN0ICpuYW1lID0gTlVMTCwgKnZhbHVlID0gTlVMTDsKICAgICBjb25zdCB3Y2hhcl90ICpuYW1lX2VuZDsKLSAgICBpbnQgcjsKIAogICAgIG9wdHMgPSBnZXRfeG9wdGlvbnMoKTsKICAgICBpZiAob3B0cyA9PSBOVUxMKQpAQCAtMTE5NSw3ICsxMTk3LDcgQEAKICAgICB9CiAgICAgaWYgKG5hbWUgPT0gTlVMTCB8fCB2YWx1ZSA9PSBOVUxMKQogICAgICAgICBnb3RvIGVycm9yOwotICAgIHIgPSBQeURpY3RfU2V0SXRlbShvcHRzLCBuYW1lLCB2YWx1ZSk7CisgICAgUHlEaWN0X1NldEl0ZW0ob3B0cywgbmFtZSwgdmFsdWUpOwogICAgIFB5X0RFQ1JFRihuYW1lKTsKICAgICBQeV9ERUNSRUYodmFsdWUpOwogICAgIHJldHVybjsKQEAgLTEyNTIsMjEgKzEyNTQsMjEgQEAKICJcblwKIFN0YXRpYyBvYmplY3RzOlxuXAogXG5cCi1mbG9hdF9pbmZvIC0tIGEgZGljdCB3aXRoIGluZm9ybWF0aW9uIGFib3V0IHRoZSBmbG9hdCBpbXBsZW1lbnRhdGlvbi5cblwKK2J1aWx0aW5fbW9kdWxlX25hbWVzIC0tIHR1cGxlIG9mIG1vZHVsZSBuYW1lcyBidWlsdCBpbnRvIHRoaXMgaW50ZXJwcmV0ZXJcblwKK2NvcHlyaWdodCAtLSBjb3B5cmlnaHQgbm90aWNlIHBlcnRhaW5pbmcgdG8gdGhpcyBpbnRlcnByZXRlclxuXAorZXhlY19wcmVmaXggLS0gcHJlZml4IHVzZWQgdG8gZmluZCB0aGUgbWFjaGluZS1zcGVjaWZpYyBQeXRob24gbGlicmFyeVxuXAorZXhlY3V0YWJsZSAtLSBhYnNvbHV0ZSBwYXRoIG9mIHRoZSBleGVjdXRhYmxlIGJpbmFyeSBvZiB0aGUgUHl0aG9uIGludGVycHJldGVyXG5cCitmbG9hdF9pbmZvIC0tIGEgc3RydWN0IHNlcXVlbmNlIHdpdGggaW5mb3JtYXRpb24gYWJvdXQgdGhlIGZsb2F0IGltcGxlbWVudGF0aW9uLlxuXAorZmxvYXRfcmVwcl9zdHlsZSAtLSBzdHJpbmcgaW5kaWNhdGluZyB0aGUgc3R5bGUgb2YgcmVwcigpIG91dHB1dCBmb3IgZmxvYXRzXG5cCitoZXh2ZXJzaW9uIC0tIHZlcnNpb24gaW5mb3JtYXRpb24gZW5jb2RlZCBhcyBhIHNpbmdsZSBpbnRlZ2VyXG5cCiBpbnRfaW5mbyAtLSBhIHN0cnVjdCBzZXF1ZW5jZSB3aXRoIGluZm9ybWF0aW9uIGFib3V0IHRoZSBpbnQgaW1wbGVtZW50YXRpb24uXG5cCiBtYXhzaXplIC0tIHRoZSBsYXJnZXN0IHN1cHBvcnRlZCBsZW5ndGggb2YgY29udGFpbmVycy5cblwKLW1heHVuaWNvZGUgLS0gdGhlIGxhcmdlc3Qgc3VwcG9ydGVkIGNoYXJhY3RlclxuXAotYnVpbHRpbl9tb2R1bGVfbmFtZXMgLS0gdHVwbGUgb2YgbW9kdWxlIG5hbWVzIGJ1aWx0IGludG8gdGhpcyBpbnRlcnByZXRlclxuXAotc3VidmVyc2lvbiAtLSBzdWJ2ZXJzaW9uIGluZm9ybWF0aW9uIG9mIHRoZSBidWlsZCBhcyB0dXBsZVxuXAorbWF4dW5pY29kZSAtLSB0aGUgdmFsdWUgb2YgdGhlIGxhcmdlc3QgVW5pY29kZSBjb2RlcG9pbnRcblwKK3BsYXRmb3JtIC0tIHBsYXRmb3JtIGlkZW50aWZpZXJcblwKK3ByZWZpeCAtLSBwcmVmaXggdXNlZCB0byBmaW5kIHRoZSBQeXRob24gbGlicmFyeVxuXAordGhyZWFkX2luZm8gLS0gYSBzdHJ1Y3Qgc2VxdWVuY2Ugd2l0aCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgdGhyZWFkIGltcGxlbWVudGF0aW9uLlxuXAogdmVyc2lvbiAtLSB0aGUgdmVyc2lvbiBvZiB0aGlzIGludGVycHJldGVyIGFzIGEgc3RyaW5nXG5cCiB2ZXJzaW9uX2luZm8gLS0gdmVyc2lvbiBpbmZvcm1hdGlvbiBhcyBhIG5hbWVkIHR1cGxlXG5cCi1oZXh2ZXJzaW9uIC0tIHZlcnNpb24gaW5mb3JtYXRpb24gZW5jb2RlZCBhcyBhIHNpbmdsZSBpbnRlZ2VyXG5cCi1jb3B5cmlnaHQgLS0gY29weXJpZ2h0IG5vdGljZSBwZXJ0YWluaW5nIHRvIHRoaXMgaW50ZXJwcmV0ZXJcblwKLXBsYXRmb3JtIC0tIHBsYXRmb3JtIGlkZW50aWZpZXJcblwKLWV4ZWN1dGFibGUgLS0gYWJzb2x1dGUgcGF0aCBvZiB0aGUgZXhlY3V0YWJsZSBiaW5hcnkgb2YgdGhlIFB5dGhvbiBpbnRlcnByZXRlclxuXAotcHJlZml4IC0tIHByZWZpeCB1c2VkIHRvIGZpbmQgdGhlIFB5dGhvbiBsaWJyYXJ5XG5cCi1leGVjX3ByZWZpeCAtLSBwcmVmaXggdXNlZCB0byBmaW5kIHRoZSBtYWNoaW5lLXNwZWNpZmljIFB5dGhvbiBsaWJyYXJ5XG5cCi1mbG9hdF9yZXByX3N0eWxlIC0tIHN0cmluZyBpbmRpY2F0aW5nIHRoZSBzdHlsZSBvZiByZXByKCkgb3V0cHV0IGZvciBmbG9hdHNcblwKICIKICkKICNpZmRlZiBNU19XSU5ET1dTCkBAIC0xMzA1LDQzICsxMzA3LDYgQEAKICkKIC8qIGVuZCBvZiBzeXNfZG9jICovIDsKIAotLyogU3VidmVyc2lvbiBicmFuY2ggYW5kIHJldmlzaW9uIG1hbmFnZW1lbnQgKi8KLXN0YXRpYyBpbnQgc3ZuX2luaXRpYWxpemVkOwotc3RhdGljIGNoYXIgcGF0Y2hsZXZlbF9yZXZpc2lvbls1MF07IC8qIEp1c3QgdGhlIG51bWJlciAqLwotc3RhdGljIGNoYXIgYnJhbmNoWzUwXTsKLXN0YXRpYyBjaGFyIHNob3J0YnJhbmNoWzUwXTsKLXN0YXRpYyBjb25zdCBjaGFyICpzdm5fcmV2aXNpb247Ci0KLXN0YXRpYyB2b2lkCi1zdm52ZXJzaW9uX2luaXQodm9pZCkKLXsKLSAgICBpZiAoc3ZuX2luaXRpYWxpemVkKQotICAgICAgICByZXR1cm47Ci0KLSAgICBzdm5faW5pdGlhbGl6ZWQgPSAxOwotICAgICpwYXRjaGxldmVsX3JldmlzaW9uID0gJ1wwJzsKLSAgICBzdHJjcHkoYnJhbmNoLCAiIik7Ci0gICAgc3RyY3B5KHNob3J0YnJhbmNoLCAidW5rbm93biIpOwotICAgIHN2bl9yZXZpc2lvbiA9ICIiOwotfQotCi0vKiBSZXR1cm4gc3ZudmVyc2lvbiBvdXRwdXQgaWYgYXZhaWxhYmxlLgotICAgRWxzZSByZXR1cm4gUmV2aXNpb24gb2YgcGF0Y2hsZXZlbC5oIGlmIG9uIGJyYW5jaC4KLSAgIEVsc2UgcmV0dXJuIGVtcHR5IHN0cmluZyAqLwotY29uc3QgY2hhcioKLVB5X1N1YnZlcnNpb25SZXZpc2lvbigpCi17Ci0gICAgc3ZudmVyc2lvbl9pbml0KCk7Ci0gICAgcmV0dXJuIHN2bl9yZXZpc2lvbjsKLX0KLQotY29uc3QgY2hhcioKLVB5X1N1YnZlcnNpb25TaG9ydEJyYW5jaCgpCi17Ci0gICAgc3ZudmVyc2lvbl9pbml0KCk7Ci0gICAgcmV0dXJuIHNob3J0YnJhbmNoOwotfQotCiAKIFB5RG9jX1NUUlZBUihmbGFnc19fZG9jX18sCiAic3lzLmZsYWdzXG5cCkBAIC0xMzUyLDcgKzEzMTcsNiBAQAogCiBzdGF0aWMgUHlTdHJ1Y3RTZXF1ZW5jZV9GaWVsZCBmbGFnc19maWVsZHNbXSA9IHsKICAgICB7ImRlYnVnIiwgICAgICAgICAgICAgICAgICAgIi1kIn0sCi0gICAgeyJkaXZpc2lvbl93YXJuaW5nIiwgICAgICAgICItUSJ9LAogICAgIHsiaW5zcGVjdCIsICAgICAgICAgICAgICAgICAiLWkifSwKICAgICB7ImludGVyYWN0aXZlIiwgICAgICAgICAgICAgIi1pIn0sCiAgICAgeyJvcHRpbWl6ZSIsICAgICAgICAgICAgICAgICItTyBvciAtT08ifSwKQEAgLTEzNzcsOSArMTM0MSw5IEBACiAgICAgZmxhZ3NfX2RvY19fLCAgICAgICAvKiBkb2MgKi8KICAgICBmbGFnc19maWVsZHMsICAgICAgIC8qIGZpZWxkcyAqLwogI2lmZGVmIFJJU0NPUwotICAgIDE0Ci0jZWxzZQogICAgIDEzCisjZWxzZQorICAgIDEyCiAjZW5kaWYKIH07CiAKQEAgLTEzOTcsNyArMTM2MSw2IEBACiAgICAgUHlTdHJ1Y3RTZXF1ZW5jZV9TRVRfSVRFTShzZXEsIHBvcysrLCBQeUxvbmdfRnJvbUxvbmcoZmxhZykpCiAKICAgICBTZXRGbGFnKFB5X0RlYnVnRmxhZyk7Ci0gICAgU2V0RmxhZyhQeV9EaXZpc2lvbldhcm5pbmdGbGFnKTsKICAgICBTZXRGbGFnKFB5X0luc3BlY3RGbGFnKTsKICAgICBTZXRGbGFnKFB5X0ludGVyYWN0aXZlRmxhZyk7CiAgICAgU2V0RmxhZyhQeV9PcHRpbWl6ZUZsYWcpOwpAQCAtMTU0NywxMCArMTUxMCw2IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgUHlVbmljb2RlX0Zyb21TdHJpbmcoUHlfR2V0VmVyc2lvbigpKSk7CiAgICAgU0VUX1NZU19GUk9NX1NUUklORygiaGV4dmVyc2lvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgUHlMb25nX0Zyb21Mb25nKFBZX1ZFUlNJT05fSEVYKSk7Ci0gICAgc3ZudmVyc2lvbl9pbml0KCk7Ci0gICAgU0VUX1NZU19GUk9NX1NUUklORygic3VidmVyc2lvbiIsCi0gICAgICAgICAgICAgICAgICAgICAgICBQeV9CdWlsZFZhbHVlKCIoc3NzKSIsICJDUHl0aG9uIiwgYnJhbmNoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdm5fcmV2aXNpb24pKTsKICAgICBTRVRfU1lTX0ZST01fU1RSSU5HKCJfbWVyY3VyaWFsIiwKICAgICAgICAgICAgICAgICAgICAgICAgIFB5X0J1aWxkVmFsdWUoIihzenopIiwgIkNQeXRob24iLCBfUHlfaGdpZGVudGlmaWVyKCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9QeV9oZ3ZlcnNpb24oKSkpOwpAQCAtMTU4MSw3ICsxNTQwLDcgQEAKICAgICBTRVRfU1lTX0ZST01fU1RSSU5HKCJoYXNoX2luZm8iLAogICAgICAgICAgICAgICAgICAgICAgICAgZ2V0X2hhc2hfaW5mbygpKTsKICAgICBTRVRfU1lTX0ZST01fU1RSSU5HKCJtYXh1bmljb2RlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgIFB5TG9uZ19Gcm9tTG9uZyhQeVVuaWNvZGVfR2V0TWF4KCkpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIFB5TG9uZ19Gcm9tTG9uZygweDEwRkZGRikpOwogICAgIFNFVF9TWVNfRlJPTV9TVFJJTkcoImJ1aWx0aW5fbW9kdWxlX25hbWVzIiwKICAgICAgICAgICAgICAgICAgICAgICAgIGxpc3RfYnVpbHRpbl9tb2R1bGVfbmFtZXMoKSk7CiAgICAgewpAQCAtMTY1OCw2ICsxNjE3LDEwIEBACiAgICAgICAgICAgICAgICAgICAgICAgICBQeVVuaWNvZGVfRnJvbVN0cmluZygibGVnYWN5IikpOwogI2VuZGlmCiAKKyNpZmRlZiBXSVRIX1RIUkVBRAorICAgIFNFVF9TWVNfRlJPTV9TVFJJTkcoInRocmVhZF9pbmZvIiwgUHlUaHJlYWRfR2V0SW5mbygpKTsKKyNlbmRpZgorCiAjdW5kZWYgU0VUX1NZU19GUk9NX1NUUklORwogICAgIGlmIChQeUVycl9PY2N1cnJlZCgpKQogICAgICAgICByZXR1cm4gTlVMTDsKQEAgLTE4MTIsNyArMTc3NSw3IEBACiAgICAgICAgIHRoZSBhcmd1bWVudCBtdXN0IGJlIHRoZSBmdWxsIHBhdGggYW55d2F5LiAqLwogICAgICAgICB3Y2hhcl90ICpwdGVtcDsKICAgICAgICAgaWYgKEdldEZ1bGxQYXRoTmFtZVcoYXJndjAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YoZnVsbHBhdGgpL3NpemVvZihmdWxscGF0aFswXSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICBQeV9BUlJBWV9MRU5HVEgoZnVsbHBhdGgpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVsbHBhdGgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcHRlbXApKSB7CiAgICAgICAgICAgICBhcmd2MCA9IGZ1bGxwYXRoOwpAQCAtMTg4MSwxMSArMTg0NCwxMiBAQAogewogICAgIFB5T2JqZWN0ICp3cml0ZXIgPSBOVUxMLCAqYXJncyA9IE5VTEwsICpyZXN1bHQgPSBOVUxMOwogICAgIGludCBlcnI7CisgICAgX1B5X0lERU5USUZJRVIod3JpdGUpOwogCiAgICAgaWYgKGZpbGUgPT0gTlVMTCkKICAgICAgICAgcmV0dXJuIC0xOwogCi0gICAgd3JpdGVyID0gUHlPYmplY3RfR2V0QXR0clN0cmluZyhmaWxlLCAid3JpdGUiKTsKKyAgICB3cml0ZXIgPSBfUHlPYmplY3RfR2V0QXR0cklkKGZpbGUsICZQeUlkX3dyaXRlKTsKICAgICBpZiAod3JpdGVyID09IE5VTEwpCiAgICAgICAgIGdvdG8gZXJyb3I7CiAKZGlmZiAtLWdpdCBhL1B5dGhvbi90aHJlYWQuYyBiL1B5dGhvbi90aHJlYWQuYwppbmRleCBkMjI0MDQ2Li5lNTVkMzQyIDEwMDY0NAotLS0gYS9QeXRob24vdGhyZWFkLmMKKysrIGIvUHl0aG9uL3RocmVhZC5jCkBAIC03LDcgKzcsNiBAQAogCiAjaW5jbHVkZSAiUHl0aG9uLmgiCiAKLQogI2lmbmRlZiBfUE9TSVhfVEhSRUFEUwogLyogVGhpcyBtZWFucyBwdGhyZWFkcyBhcmUgbm90IGltcGxlbWVudGVkIGluIGxpYmMgaGVhZGVycywgaGVuY2UgdGhlIG1hY3JvCiAgICBub3QgcHJlc2VudCBpbiB1bmlzdGQuaC4gQnV0IHRoZXkgc3RpbGwgY2FuIGJlIGltcGxlbWVudGVkIGFzIGFuIGV4dGVybmFsCkBAIC0yNywxOCArMjYsNiBAQAogCiAjaWZuZGVmIF9QT1NJWF9USFJFQURTCiAKLSNpZmRlZiBfX3NnaQotI2RlZmluZSBTR0lfVEhSRUFEUwotI2VuZGlmCi0KLSNpZmRlZiBIQVZFX1RIUkVBRF9ICi0jZGVmaW5lIFNPTEFSSVNfVEhSRUFEUwotI2VuZGlmCi0KLSNpZiBkZWZpbmVkKHN1bikgJiYgIWRlZmluZWQoU09MQVJJU19USFJFQURTKQotI2RlZmluZSBTVU5fTFdQCi0jZW5kaWYKLQogLyogQ2hlY2sgaWYgd2UncmUgcnVubmluZyBvbiBIUC1VWCBhbmQgX1NDX1RIUkVBRFMgaXMgZGVmaW5lZC4gSWYgc28sIHRoZW4KICAgIGVub3VnaCBvZiB0aGUgUG9zaXggdGhyZWFkcyBwYWNrYWdlIGlzIGltcGxlbWVudGVkIHRvIHN1cHBvcnQgcHl0aG9uCiAgICB0aHJlYWRzLgpAQCAtOTQsNDcgKzgxLDIxIEBACiAgICBvciB0aGUgc2l6ZSBzcGVjaWZpZWQgYnkgdGhlIFRIUkVBRF9TVEFDS19TSVpFIG1hY3JvLiAqLwogc3RhdGljIHNpemVfdCBfcHl0aHJlYWRfc3RhY2tzaXplID0gMDsKIAotI2lmZGVmIFNHSV9USFJFQURTCi0jZXJyb3IgU0dJIElyaXggdGhyZWFkcyBhcmUgbm93IHVuc3VwcG9ydGVkLCBhbmQgY29kZSB3aWxsIGJlIHJlbW92ZWQgaW4gMy4zLgotI2luY2x1ZGUgInRocmVhZF9zZ2kuaCIKLSNlbmRpZgotCi0jaWZkZWYgU09MQVJJU19USFJFQURTCi0jaW5jbHVkZSAidGhyZWFkX3NvbGFyaXMuaCIKLSNlbmRpZgotCi0jaWZkZWYgU1VOX0xXUAotI2Vycm9yIFN1bk9TIGxpZ2h0d2VpZ2h0IHByb2Nlc3NlcyBhcmUgbm93IHVuc3VwcG9ydGVkLCBhbmQgY29kZSB3aWxsIGJlIHJlbW92ZWQgaW4gMy4zLgotI2luY2x1ZGUgInRocmVhZF9sd3AuaCIKLSNlbmRpZgotCi0jaWZkZWYgSEFWRV9QVEgKLSNlcnJvciBHTlUgcHRoIHRocmVhZHMgYXJlIG5vdyB1bnN1cHBvcnRlZCwgYW5kIGNvZGUgd2lsbCBiZSByZW1vdmVkIGluIDMuMy4KLSNpbmNsdWRlICJ0aHJlYWRfcHRoLmgiCi0jdW5kZWYgX1BPU0lYX1RIUkVBRFMKLSNlbmRpZgotCiAjaWZkZWYgX1BPU0lYX1RIUkVBRFMKKyNkZWZpbmUgUFlUSFJFQURfTkFNRSAicHRocmVhZCIKICNpbmNsdWRlICJ0aHJlYWRfcHRocmVhZC5oIgogI2VuZGlmCiAKLSNpZmRlZiBDX1RIUkVBRFMKLSNlcnJvciBNYWNoIEMgVGhyZWFkcyBhcmUgbm93IHVuc3VwcG9ydGVkLCBhbmQgY29kZSB3aWxsIGJlIHJlbW92ZWQgaW4gMy4zLgotI2luY2x1ZGUgInRocmVhZF9jdGhyZWFkLmgiCi0jZW5kaWYKLQogI2lmZGVmIE5UX1RIUkVBRFMKKyNkZWZpbmUgUFlUSFJFQURfTkFNRSAibnQiCiAjaW5jbHVkZSAidGhyZWFkX250LmgiCiAjZW5kaWYKIAogI2lmZGVmIE9TMl9USFJFQURTCisjZGVmaW5lIFBZVEhSRUFEX05BTUUgIm9zMiIKICNpbmNsdWRlICJ0aHJlYWRfb3MyLmgiCiAjZW5kaWYKIAotI2lmZGVmIFBMQU45X1RIUkVBRFMKLSNpbmNsdWRlICJ0aHJlYWRfcGxhbjkuaCIKLSNlbmRpZgotCiAvKgogI2lmZGVmIEZPT0JBUl9USFJFQURTCiAjaW5jbHVkZSAidGhyZWFkX2Zvb2Jhci5oIgpAQCAtNDA5LDMgKzM3MCw4NCBAQAogfQogCiAjZW5kaWYgLyogUHlfSEFWRV9OQVRJVkVfVExTICovCisKK1B5RG9jX1NUUlZBUih0aHJlYWRpbmZvX19kb2NfXywKKyJzeXMudGhyZWFkX2luZm9cblwKK1xuXAorQSBzdHJ1Y3Qgc2VxdWVuY2UgaG9sZGluZyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgdGhyZWFkIGltcGxlbWVudGF0aW9uLiIpOworCitzdGF0aWMgUHlTdHJ1Y3RTZXF1ZW5jZV9GaWVsZCB0aHJlYWRpbmZvX2ZpZWxkc1tdID0geworICAgIHsibmFtZSIsICAgICJuYW1lIG9mIHRoZSB0aHJlYWQgaW1wbGVtZW50YXRpb24ifSwKKyAgICB7ImxvY2siLCAgICAibmFtZSBvZiB0aGUgbG9jayBpbXBsZW1lbnRhdGlvbiJ9LAorICAgIHsidmVyc2lvbiIsICJuYW1lIGFuZCB2ZXJzaW9uIG9mIHRoZSB0aHJlYWQgbGlicmFyeSJ9LAorICAgIHswfQorfTsKKworc3RhdGljIFB5U3RydWN0U2VxdWVuY2VfRGVzYyB0aHJlYWRpbmZvX2Rlc2MgPSB7CisgICAgInN5cy50aHJlYWRfaW5mbyIsICAgICAgICAgICAvKiBuYW1lICovCisgICAgdGhyZWFkaW5mb19fZG9jX18sICAgICAgICAgICAvKiBkb2MgKi8KKyAgICB0aHJlYWRpbmZvX2ZpZWxkcywgICAgICAgICAgIC8qIGZpZWxkcyAqLworICAgIDMKK307CisKK3N0YXRpYyBQeVR5cGVPYmplY3QgVGhyZWFkSW5mb1R5cGU7CisKK1B5T2JqZWN0KgorUHlUaHJlYWRfR2V0SW5mbyh2b2lkKQoreworICAgIFB5T2JqZWN0ICp0aHJlYWRpbmZvLCAqdmFsdWU7CisgICAgaW50IHBvcyA9IDA7CisjaWYgKGRlZmluZWQoX1BPU0lYX1RIUkVBRFMpICYmIGRlZmluZWQoSEFWRV9DT05GU1RSKSBcCisgICAgICYmIGRlZmluZWQoX0NTX0dOVV9MSUJQVEhSRUFEX1ZFUlNJT04pKQorICAgIGNoYXIgYnVmZmVyWzI1NV07CisgICAgaW50IGxlbjsKKyNlbmRpZgorCisgICAgaWYgKFRocmVhZEluZm9UeXBlLnRwX25hbWUgPT0gMCkKKyAgICAgICAgUHlTdHJ1Y3RTZXF1ZW5jZV9Jbml0VHlwZSgmVGhyZWFkSW5mb1R5cGUsICZ0aHJlYWRpbmZvX2Rlc2MpOworCisgICAgdGhyZWFkaW5mbyA9IFB5U3RydWN0U2VxdWVuY2VfTmV3KCZUaHJlYWRJbmZvVHlwZSk7CisgICAgaWYgKHRocmVhZGluZm8gPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICB2YWx1ZSA9IFB5VW5pY29kZV9Gcm9tU3RyaW5nKFBZVEhSRUFEX05BTUUpOworICAgIGlmICh2YWx1ZSA9PSBOVUxMKSB7CisgICAgICAgIFB5X0RFQ1JFRih0aHJlYWRpbmZvKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorICAgIFB5U3RydWN0U2VxdWVuY2VfU0VUX0lURU0odGhyZWFkaW5mbywgcG9zKyssIHZhbHVlKTsKKworI2lmZGVmIF9QT1NJWF9USFJFQURTCisjaWZkZWYgVVNFX1NFTUFQSE9SRVMKKyAgICB2YWx1ZSA9IFB5VW5pY29kZV9Gcm9tU3RyaW5nKCJzZW1hcGhvcmUiKTsKKyNlbHNlCisgICAgdmFsdWUgPSBQeVVuaWNvZGVfRnJvbVN0cmluZygibXV0ZXgrY29uZCIpOworI2VuZGlmCisgICAgaWYgKHZhbHVlID09IE5VTEwpIHsKKyAgICAgICAgUHlfREVDUkVGKHRocmVhZGluZm8pOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisjZWxzZQorICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKKyAgICB2YWx1ZSA9IFB5X05vbmU7CisjZW5kaWYKKyAgICBQeVN0cnVjdFNlcXVlbmNlX1NFVF9JVEVNKHRocmVhZGluZm8sIHBvcysrLCB2YWx1ZSk7CisKKyNpZiAoZGVmaW5lZChfUE9TSVhfVEhSRUFEUykgJiYgZGVmaW5lZChIQVZFX0NPTkZTVFIpIFwKKyAgICAgJiYgZGVmaW5lZChfQ1NfR05VX0xJQlBUSFJFQURfVkVSU0lPTikpCisgICAgdmFsdWUgPSBOVUxMOworICAgIGxlbiA9IGNvbmZzdHIoX0NTX0dOVV9MSUJQVEhSRUFEX1ZFUlNJT04sIGJ1ZmZlciwgc2l6ZW9mKGJ1ZmZlcikpOworICAgIGlmICgxIDwgbGVuICYmIGxlbiA8IHNpemVvZihidWZmZXIpKSB7CisgICAgICAgIHZhbHVlID0gUHlVbmljb2RlX0RlY29kZUZTRGVmYXVsdEFuZFNpemUoYnVmZmVyLCBsZW4tMSk7CisgICAgICAgIGlmICh2YWx1ZSA9PSBOVUxMKQorICAgICAgICAgICAgUHlFcnJfQ2xlYXIoKTsKKyAgICB9CisgICAgaWYgKHZhbHVlID09IE5VTEwpCisjZW5kaWYKKyAgICB7CisgICAgICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKKyAgICAgICAgdmFsdWUgPSBQeV9Ob25lOworICAgIH0KKyAgICBQeVN0cnVjdFNlcXVlbmNlX1NFVF9JVEVNKHRocmVhZGluZm8sIHBvcysrLCB2YWx1ZSk7CisgICAgcmV0dXJuIHRocmVhZGluZm87Cit9CmRpZmYgLS1naXQgYS9QeXRob24vdGhyZWFkX2N0aHJlYWQuaCBiL1B5dGhvbi90aHJlYWRfY3RocmVhZC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxYjNlMzkwLi4wMDAwMDAwCi0tLSBhL1B5dGhvbi90aHJlYWRfY3RocmVhZC5oCisrKyAvZGV2L251bGwKQEAgLTEsMTEyICswLDAgQEAKLQotI2lmZGVmIE1BQ0hfQ19USFJFQURTCi0jaW5jbHVkZSA8bWFjaC9jdGhyZWFkcy5oPgotI2VuZGlmCi0KLSNpZmRlZiBIVVJEX0NfVEhSRUFEUwotI2luY2x1ZGUgPGN0aHJlYWRzLmg+Ci0jZW5kaWYKLQotLyoKLSAqIEluaXRpYWxpemF0aW9uLgotICovCi1zdGF0aWMgdm9pZAotUHlUaHJlYWRfX2luaXRfdGhyZWFkKHZvaWQpCi17Ci0jaWZuZGVmIEhVUkRfQ19USFJFQURTCi0gICAgLyogUm9sYW5kIE1jR3JhdGggc2FpZCB0aGlzIHNob3VsZCBub3QgYmUgdXNlZCBzaW5jZSB0aGlzIGlzCi0gICAgZG9uZSB3aGlsZSBsaW5raW5nIHRvIHRocmVhZHMgKi8KLSAgICBjdGhyZWFkX2luaXQoKTsKLSNlbHNlCi0vKiBkbyBub3RoaW5nICovCi0gICAgOwotI2VuZGlmCi19Ci0KLS8qCi0gKiBUaHJlYWQgc3VwcG9ydC4KLSAqLwotbG9uZwotUHlUaHJlYWRfc3RhcnRfbmV3X3RocmVhZCh2b2lkICgqZnVuYykodm9pZCAqKSwgdm9pZCAqYXJnKQotewotICAgIGludCBzdWNjZXNzID0gMDsgICAgICAgICAgICAvKiBpbml0IG5vdCBuZWVkZWQgd2hlbiBTT0xBUklTX1RIUkVBRFMgYW5kICovCi0gICAgICAgICAgICAgICAgLyogQ19USFJFQURTIGltcGxlbWVudGVkIHByb3Blcmx5ICovCi0KLSAgICBkcHJpbnRmKCgiUHlUaHJlYWRfc3RhcnRfbmV3X3RocmVhZCBjYWxsZWRcbiIpKTsKLSAgICBpZiAoIWluaXRpYWxpemVkKQotICAgICAgICBQeVRocmVhZF9pbml0X3RocmVhZCgpOwotICAgIC8qIGxvb2tzIGxpa2Ugc29sYXJpcyBkZXRhY2hlcyB0aGUgdGhyZWFkIHRvIG5ldmVyIHJlam9pbgotICAgICAqIHNvIHdlbGwgZG8gaXQgaGVyZQotICAgICAqLwotICAgIGN0aHJlYWRfZGV0YWNoKGN0aHJlYWRfZm9yaygoY3RocmVhZF9mbl90KSBmdW5jLCBhcmcpKTsKLSAgICByZXR1cm4gc3VjY2VzcyA8IDAgPyAtMSA6IDA7Ci19Ci0KLWxvbmcKLVB5VGhyZWFkX2dldF90aHJlYWRfaWRlbnQodm9pZCkKLXsKLSAgICBpZiAoIWluaXRpYWxpemVkKQotICAgICAgICBQeVRocmVhZF9pbml0X3RocmVhZCgpOwotICAgIHJldHVybiAobG9uZykgY3RocmVhZF9zZWxmKCk7Ci19Ci0KLXZvaWQKLVB5VGhyZWFkX2V4aXRfdGhyZWFkKHZvaWQpCi17Ci0gICAgZHByaW50ZigoIlB5VGhyZWFkX2V4aXRfdGhyZWFkIGNhbGxlZFxuIikpOwotICAgIGlmICghaW5pdGlhbGl6ZWQpCi0gICAgICAgIGV4aXQoMCk7Ci0gICAgY3RocmVhZF9leGl0KDApOwotfQotCi0vKgotICogTG9jayBzdXBwb3J0LgotICovCi1QeVRocmVhZF90eXBlX2xvY2sKLVB5VGhyZWFkX2FsbG9jYXRlX2xvY2sodm9pZCkKLXsKLSAgICBtdXRleF90IGxvY2s7Ci0KLSAgICBkcHJpbnRmKCgiUHlUaHJlYWRfYWxsb2NhdGVfbG9jayBjYWxsZWRcbiIpKTsKLSAgICBpZiAoIWluaXRpYWxpemVkKQotICAgICAgICBQeVRocmVhZF9pbml0X3RocmVhZCgpOwotCi0gICAgbG9jayA9IG11dGV4X2FsbG9jKCk7Ci0gICAgaWYgKG11dGV4X2luaXQobG9jaykpIHsKLSAgICAgICAgcGVycm9yKCJtdXRleF9pbml0Iik7Ci0gICAgICAgIGZyZWUoKHZvaWQgKikgbG9jayk7Ci0gICAgICAgIGxvY2sgPSAwOwotICAgIH0KLSAgICBkcHJpbnRmKCgiUHlUaHJlYWRfYWxsb2NhdGVfbG9jaygpIC0+ICVwXG4iLCBsb2NrKSk7Ci0gICAgcmV0dXJuIChQeVRocmVhZF90eXBlX2xvY2spIGxvY2s7Ci19Ci0KLXZvaWQKLVB5VGhyZWFkX2ZyZWVfbG9jayhQeVRocmVhZF90eXBlX2xvY2sgbG9jaykKLXsKLSAgICBkcHJpbnRmKCgiUHlUaHJlYWRfZnJlZV9sb2NrKCVwKSBjYWxsZWRcbiIsIGxvY2spKTsKLSAgICBtdXRleF9mcmVlKGxvY2spOwotfQotCi1pbnQKLVB5VGhyZWFkX2FjcXVpcmVfbG9jayhQeVRocmVhZF90eXBlX2xvY2sgbG9jaywgaW50IHdhaXRmbGFnKQotewotICAgIGludCBzdWNjZXNzID0gRkFMU0U7Ci0KLSAgICBkcHJpbnRmKCgiUHlUaHJlYWRfYWNxdWlyZV9sb2NrKCVwLCAlZCkgY2FsbGVkXG4iLCBsb2NrLCB3YWl0ZmxhZykpOwotICAgIGlmICh3YWl0ZmxhZykgeyAgICAgICAgICAgICAvKiBibG9ja2luZyAqLwotICAgICAgICBtdXRleF9sb2NrKChtdXRleF90KWxvY2spOwotICAgICAgICBzdWNjZXNzID0gVFJVRTsKLSAgICB9IGVsc2UgeyAgICAgICAgICAgICAgICAgICAgLyogbm9uIGJsb2NraW5nICovCi0gICAgICAgIHN1Y2Nlc3MgPSBtdXRleF90cnlfbG9jaygobXV0ZXhfdClsb2NrKTsKLSAgICB9Ci0gICAgZHByaW50ZigoIlB5VGhyZWFkX2FjcXVpcmVfbG9jayglcCwgJWQpIC0+ICVkXG4iLCBsb2NrLCB3YWl0ZmxhZywgc3VjY2VzcykpOwotICAgIHJldHVybiBzdWNjZXNzOwotfQotCi12b2lkCi1QeVRocmVhZF9yZWxlYXNlX2xvY2soUHlUaHJlYWRfdHlwZV9sb2NrIGxvY2spCi17Ci0gICAgZHByaW50ZigoIlB5VGhyZWFkX3JlbGVhc2VfbG9jayglcCkgY2FsbGVkXG4iLCBsb2NrKSk7Ci0gICAgbXV0ZXhfdW5sb2NrKChtdXRleF90IClsb2NrKTsKLX0KZGlmZiAtLWdpdCBhL1B5dGhvbi90aHJlYWRfbHdwLmggYi9QeXRob24vdGhyZWFkX2x3cC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiYTdiMzdhLi4wMDAwMDAwCi0tLSBhL1B5dGhvbi90aHJlYWRfbHdwLmgKKysrIC9kZXYvbnVsbApAQCAtMSwxMTMgKzAsMCBAQAotCi0jaW5jbHVkZSA8c3RkbGliLmg+Ci0jaW5jbHVkZSA8bHdwL2x3cC5oPgotI2luY2x1ZGUgPGx3cC9zdGFja2RlcC5oPgotCi0jZGVmaW5lIFNUQUNLU0laRSAgICAgICAxMDAwICAgIC8qIHN0YWNrc2l6ZSBmb3IgYSB0aHJlYWQgKi8KLSNkZWZpbmUgTlNUQUNLUyAgICAgICAgIDIgICAgICAgLyogIyBzdGFja3MgdG8gYmUgcHV0IGluIGNhY2hlIGluaXRpYWxseSAqLwotCi1zdHJ1Y3QgbG9jayB7Ci0gICAgaW50IGxvY2tfbG9ja2VkOwotICAgIGN2X3QgbG9ja19jb25kdmFyOwotICAgIG1vbl90IGxvY2tfbW9uaXRvcjsKLX07Ci0KLQotLyoKLSAqIEluaXRpYWxpemF0aW9uLgotICovCi1zdGF0aWMgdm9pZCBQeVRocmVhZF9faW5pdF90aHJlYWQodm9pZCkKLXsKLSAgICBsd3Bfc2V0c3RrY2FjaGUoU1RBQ0tTSVpFLCBOU1RBQ0tTKTsKLX0KLQotLyoKLSAqIFRocmVhZCBzdXBwb3J0LgotICovCi0KLQotbG9uZyBQeVRocmVhZF9zdGFydF9uZXdfdGhyZWFkKHZvaWQgKCpmdW5jKSh2b2lkICopLCB2b2lkICphcmcpCi17Ci0gICAgdGhyZWFkX3QgdGlkOwotICAgIGludCBzdWNjZXNzOwotICAgIGRwcmludGYoKCJQeVRocmVhZF9zdGFydF9uZXdfdGhyZWFkIGNhbGxlZFxuIikpOwotICAgIGlmICghaW5pdGlhbGl6ZWQpCi0gICAgICAgIFB5VGhyZWFkX2luaXRfdGhyZWFkKCk7Ci0gICAgc3VjY2VzcyA9IGx3cF9jcmVhdGUoJnRpZCwgZnVuYywgTUlOUFJJTywgMCwgbHdwX25ld3N0aygpLCAxLCBhcmcpOwotICAgIHJldHVybiBzdWNjZXNzIDwgMCA/IC0xIDogMDsKLX0KLQotbG9uZyBQeVRocmVhZF9nZXRfdGhyZWFkX2lkZW50KHZvaWQpCi17Ci0gICAgdGhyZWFkX3QgdGlkOwotICAgIGlmICghaW5pdGlhbGl6ZWQpCi0gICAgICAgIFB5VGhyZWFkX2luaXRfdGhyZWFkKCk7Ci0gICAgaWYgKGx3cF9zZWxmKCZ0aWQpIDwgMCkKLSAgICAgICAgcmV0dXJuIC0xOwotICAgIHJldHVybiB0aWQudGhyZWFkX2lkOwotfQotCi12b2lkIFB5VGhyZWFkX2V4aXRfdGhyZWFkKHZvaWQpCi17Ci0gICAgZHByaW50ZigoIlB5VGhyZWFkX2V4aXRfdGhyZWFkIGNhbGxlZFxuIikpOwotICAgIGlmICghaW5pdGlhbGl6ZWQpCi0gICAgICAgIGV4aXQoMCk7Ci0gICAgbHdwX2Rlc3Ryb3koU0VMRik7Ci19Ci0KLS8qCi0gKiBMb2NrIHN1cHBvcnQuCi0gKi8KLVB5VGhyZWFkX3R5cGVfbG9jayBQeVRocmVhZF9hbGxvY2F0ZV9sb2NrKHZvaWQpCi17Ci0gICAgc3RydWN0IGxvY2sgKmxvY2s7Ci0gICAgZXh0ZXJuIGNoYXIgKm1hbGxvYyhzaXplX3QpOwotCi0gICAgZHByaW50ZigoIlB5VGhyZWFkX2FsbG9jYXRlX2xvY2sgY2FsbGVkXG4iKSk7Ci0gICAgaWYgKCFpbml0aWFsaXplZCkKLSAgICAgICAgUHlUaHJlYWRfaW5pdF90aHJlYWQoKTsKLQotICAgIGxvY2sgPSAoc3RydWN0IGxvY2sgKikgbWFsbG9jKHNpemVvZihzdHJ1Y3QgbG9jaykpOwotICAgIGxvY2stPmxvY2tfbG9ja2VkID0gMDsKLSAgICAodm9pZCkgbW9uX2NyZWF0ZSgmbG9jay0+bG9ja19tb25pdG9yKTsKLSAgICAodm9pZCkgY3ZfY3JlYXRlKCZsb2NrLT5sb2NrX2NvbmR2YXIsIGxvY2stPmxvY2tfbW9uaXRvcik7Ci0gICAgZHByaW50ZigoIlB5VGhyZWFkX2FsbG9jYXRlX2xvY2soKSAtPiAlcFxuIiwgbG9jaykpOwotICAgIHJldHVybiAoUHlUaHJlYWRfdHlwZV9sb2NrKSBsb2NrOwotfQotCi12b2lkIFB5VGhyZWFkX2ZyZWVfbG9jayhQeVRocmVhZF90eXBlX2xvY2sgbG9jaykKLXsKLSAgICBkcHJpbnRmKCgiUHlUaHJlYWRfZnJlZV9sb2NrKCVwKSBjYWxsZWRcbiIsIGxvY2spKTsKLSAgICBtb25fZGVzdHJveSgoKHN0cnVjdCBsb2NrICopIGxvY2spLT5sb2NrX21vbml0b3IpOwotICAgIGZyZWUoKGNoYXIgKikgbG9jayk7Ci19Ci0KLWludCBQeVRocmVhZF9hY3F1aXJlX2xvY2soUHlUaHJlYWRfdHlwZV9sb2NrIGxvY2ssIGludCB3YWl0ZmxhZykKLXsKLSAgICBpbnQgc3VjY2VzczsKLQotICAgIGRwcmludGYoKCJQeVRocmVhZF9hY3F1aXJlX2xvY2soJXAsICVkKSBjYWxsZWRcbiIsIGxvY2ssIHdhaXRmbGFnKSk7Ci0gICAgc3VjY2VzcyA9IDA7Ci0KLSAgICAodm9pZCkgbW9uX2VudGVyKCgoc3RydWN0IGxvY2sgKikgbG9jayktPmxvY2tfbW9uaXRvcik7Ci0gICAgaWYgKHdhaXRmbGFnKQotICAgICAgICB3aGlsZSAoKChzdHJ1Y3QgbG9jayAqKSBsb2NrKS0+bG9ja19sb2NrZWQpCi0gICAgICAgICAgICBjdl93YWl0KCgoc3RydWN0IGxvY2sgKikgbG9jayktPmxvY2tfY29uZHZhcik7Ci0gICAgaWYgKCEoKHN0cnVjdCBsb2NrICopIGxvY2spLT5sb2NrX2xvY2tlZCkgewotICAgICAgICBzdWNjZXNzID0gMTsKLSAgICAgICAgKChzdHJ1Y3QgbG9jayAqKSBsb2NrKS0+bG9ja19sb2NrZWQgPSAxOwotICAgIH0KLSAgICBjdl9icm9hZGNhc3QoKChzdHJ1Y3QgbG9jayAqKSBsb2NrKS0+bG9ja19jb25kdmFyKTsKLSAgICBtb25fZXhpdCgoKHN0cnVjdCBsb2NrICopIGxvY2spLT5sb2NrX21vbml0b3IpOwotICAgIGRwcmludGYoKCJQeVRocmVhZF9hY3F1aXJlX2xvY2soJXAsICVkKSAtPiAlZFxuIiwgbG9jaywgd2FpdGZsYWcsIHN1Y2Nlc3MpKTsKLSAgICByZXR1cm4gc3VjY2VzczsKLX0KLQotdm9pZCBQeVRocmVhZF9yZWxlYXNlX2xvY2soUHlUaHJlYWRfdHlwZV9sb2NrIGxvY2spCi17Ci0gICAgZHByaW50ZigoIlB5VGhyZWFkX3JlbGVhc2VfbG9jayglcCkgY2FsbGVkXG4iLCBsb2NrKSk7Ci0gICAgKHZvaWQpIG1vbl9lbnRlcigoKHN0cnVjdCBsb2NrICopIGxvY2spLT5sb2NrX21vbml0b3IpOwotICAgICgoc3RydWN0IGxvY2sgKikgbG9jayktPmxvY2tfbG9ja2VkID0gMDsKLSAgICBjdl9icm9hZGNhc3QoKChzdHJ1Y3QgbG9jayAqKSBsb2NrKS0+bG9ja19jb25kdmFyKTsKLSAgICBtb25fZXhpdCgoKHN0cnVjdCBsb2NrICopIGxvY2spLT5sb2NrX21vbml0b3IpOwotfQpkaWZmIC0tZ2l0IGEvUHl0aG9uL3RocmVhZF9wdGguaCBiL1B5dGhvbi90aHJlYWRfcHRoLmgKaW5kZXggODJhMDBlNy4uNTcwNDI2NiAxMDA2NDQKLS0tIGEvUHl0aG9uL3RocmVhZF9wdGguaAorKysgYi9QeXRob24vdGhyZWFkX3B0aC5oCkBAIC02OSw5ICs2OSw4IEBACiAgICAgdm9sYXRpbGUgcHRoX3QgdGhyZWFkaWQ7CiAgICAgaWYgKCFpbml0aWFsaXplZCkKICAgICAgICAgUHlUaHJlYWRfaW5pdF90aHJlYWQoKTsKLSAgICAvKiBKdW1wIHRocm91Z2ggc29tZSBob29wcyBmb3IgQWxwaGEgT1NGLzEgKi8KICAgICB0aHJlYWRpZCA9IHB0aF9zZWxmKCk7Ci0gICAgcmV0dXJuIChsb25nKSAqKGxvbmcgKikgJnRocmVhZGlkOworICAgIHJldHVybiAobG9uZykgdGhyZWFkaWQ7CiB9CiAKIHZvaWQgUHlUaHJlYWRfZXhpdF90aHJlYWQodm9pZCkKZGlmZiAtLWdpdCBhL1B5dGhvbi90aHJlYWRfcHRocmVhZC5oIGIvUHl0aG9uL3RocmVhZF9wdGhyZWFkLmgKaW5kZXggM2NkZTAzNS4uNGY5ZTJjMSAxMDA2NDQKLS0tIGEvUHl0aG9uL3RocmVhZF9wdGhyZWFkLmgKKysrIGIvUHl0aG9uL3RocmVhZF9wdGhyZWFkLmgKQEAgLTE0OCw3ICsxNDgsNyBAQAogICogSW5pdGlhbGl6YXRpb24uCiAgKi8KIAotI2lmZGVmIF9IQVZFX0JTREkKKyNpZiBkZWZpbmVkKF9IQVZFX0JTREkpCiBzdGF0aWMKIHZvaWQgX25vb3Aodm9pZCkKIHsKQEAgLTI0NCw4ICsyNDQsNyBAQAogICAgaG9zZWQiIGJlY2F1c2U6CiAgICAgIC0gSXQgZG9lcyBub3QgZ3VhcmFudGVlIHRoZSBwcm9taXNlIHRoYXQgYSBub24temVybyBpbnRlZ2VyIGlzIHJldHVybmVkLgogICAgICAtIFRoZSBjYXN0IHRvIGxvbmcgaXMgaW5oZXJlbnRseSB1bnNhZmUuCi0gICAgIC0gSXQgaXMgbm90IGNsZWFyIHRoYXQgdGhlICd2b2xhdGlsZScgKGZvciBBSVg/KSBhbmQgdWdseSBjYXN0aW5nIGluIHRoZQotICAgICAgIGxhdHRlciByZXR1cm4gc3RhdGVtZW50IChmb3IgQWxwaGEgT1NGLzEpIGFyZSBhbnkgbG9uZ2VyIG5lY2Vzc2FyeS4KKyAgICAgLSBJdCBpcyBub3QgY2xlYXIgdGhhdCB0aGUgJ3ZvbGF0aWxlJyAoZm9yIEFJWD8pIGFyZSBhbnkgbG9uZ2VyIG5lY2Vzc2FyeS4KICovCiBsb25nCiBQeVRocmVhZF9nZXRfdGhyZWFkX2lkZW50KHZvaWQpCkBAIC0yNTMsMTMgKzI1Miw4IEBACiAgICAgdm9sYXRpbGUgcHRocmVhZF90IHRocmVhZGlkOwogICAgIGlmICghaW5pdGlhbGl6ZWQpCiAgICAgICAgIFB5VGhyZWFkX2luaXRfdGhyZWFkKCk7Ci0gICAgLyogSnVtcCB0aHJvdWdoIHNvbWUgaG9vcHMgZm9yIEFscGhhIE9TRi8xICovCiAgICAgdGhyZWFkaWQgPSBwdGhyZWFkX3NlbGYoKTsKLSNpZiBTSVpFT0ZfUFRIUkVBRF9UIDw9IFNJWkVPRl9MT05HCiAgICAgcmV0dXJuIChsb25nKSB0aHJlYWRpZDsKLSNlbHNlCi0gICAgcmV0dXJuIChsb25nKSAqKGxvbmcgKikgJnRocmVhZGlkOwotI2VuZGlmCiB9CiAKIHZvaWQKZGlmZiAtLWdpdCBhL1B5dGhvbi90aHJlYWRfc2dpLmggYi9QeXRob24vdGhyZWFkX3NnaS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3NzFhYjJjLi4wMDAwMDAwCi0tLSBhL1B5dGhvbi90aHJlYWRfc2dpLmgKKysrIC9kZXYvbnVsbApAQCAtMSwyNTkgKzAsMCBAQAotCi0jaW5jbHVkZSA8c3RkbGliLmg+Ci0jaW5jbHVkZSA8c3RkaW8uaD4KLSNpbmNsdWRlIDxzaWduYWwuaD4KLSNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KLSNpbmNsdWRlIDxzeXMvd2FpdC5oPgotI2luY2x1ZGUgPHN5cy9wcmN0bC5oPgotI2luY2x1ZGUgPHVsb2Nrcy5oPgotI2luY2x1ZGUgPGVycm5vLmg+Ci0KLSNkZWZpbmUgSERSX1NJWkUgICAgICAgIDI2ODAgICAgLyogc2l6ZW9mKHVzaGRyX3QpICovCi0jZGVmaW5lIE1BWFBST0MgICAgICAgICAxMDAgICAgIC8qIG1heCAjIG9mIHRocmVhZHMgdGhhdCBjYW4gYmUgc3RhcnRlZCAqLwotCi1zdGF0aWMgdXNwdHJfdCAqc2hhcmVkX2FyZW5hOwotc3RhdGljIHVsb2NrX3QgY291bnRfbG9jazsgICAgICAvKiBwcm90ZWN0aW9uIGZvciBzb21lIHZhcmlhYmxlcyAqLwotc3RhdGljIHVsb2NrX3Qgd2FpdF9sb2NrOyAgICAgICAvKiBsb2NrIHVzZWQgdG8gd2FpdCBmb3Igb3RoZXIgdGhyZWFkcyAqLwotc3RhdGljIGludCB3YWl0aW5nX2Zvcl90aHJlYWRzOyAvKiBwcm90ZWN0ZWQgYnkgY291bnRfbG9jayAqLwotc3RhdGljIGludCBudGhyZWFkczsgICAgICAgICAgICAvKiBwcm90ZWN0ZWQgYnkgY291bnRfbG9jayAqLwotc3RhdGljIGludCBleGl0X3N0YXR1czsKLXN0YXRpYyBpbnQgZXhpdGluZzsgICAgICAgICAgICAgLyogd2UncmUgYWxyZWFkeSBleGl0aW5nIChmb3IgbWF5YmVfZXhpdCkgKi8KLXN0YXRpYyBwaWRfdCBteV9waWQ7ICAgICAgICAgICAgLyogUElEIG9mIG1haW4gdGhyZWFkICovCi1zdGF0aWMgc3RydWN0IHBpZGxpc3QgewotICAgIHBpZF90IHBhcmVudDsKLSAgICBwaWRfdCBjaGlsZDsKLX0gcGlkbGlzdFtNQVhQUk9DXTsgICAgIC8qIFBJRHMgb2Ygb3RoZXIgdGhyZWFkczsgcHJvdGVjdGVkIGJ5IGNvdW50X2xvY2sgKi8KLXN0YXRpYyBpbnQgbWF4cGlkaW5kZXg7ICAgICAgICAgLyogIyBvZiBQSURzIGluIHBpZGxpc3QgKi8KLS8qCi0gKiBJbml0aWFsaXphdGlvbi4KLSAqLwotc3RhdGljIHZvaWQgUHlUaHJlYWRfX2luaXRfdGhyZWFkKHZvaWQpCi17Ci0jaWZkZWYgVVNFX0RMCi0gICAgbG9uZyBhZGRyLCBzaXplOwotI2VuZGlmIC8qIFVTRV9ETCAqLwotCi0KLSNpZmRlZiBVU0VfREwKLSAgICBpZiAoKHNpemUgPSB1c2NvbmZpZyhDT05GX0lOSVRTSVpFLCA2NCoxMDI0KSkgPCAwKQotICAgICAgICBwZXJyb3IoInVzY29uZmlnIC0gQ09ORl9JTklUU0laRSAoY2hlY2spIik7Ci0gICAgaWYgKHVzY29uZmlnKENPTkZfSU5JVFNJWkUsIHNpemUpIDwgMCkKLSAgICAgICAgcGVycm9yKCJ1c2NvbmZpZyAtIENPTkZfSU5JVFNJWkUgKHJlc2V0KSIpOwotICAgIGFkZHIgPSAobG9uZykgZGxfZ2V0cmFuZ2Uoc2l6ZSArIEhEUl9TSVpFKTsKLSAgICBkcHJpbnRmKCgidHJ5aW5nIHRvIHVzZSBhZGRyICVwLSVwIGZvciBzaGFyZWQgYXJlbmFcbiIsIGFkZHIsIGFkZHIrc2l6ZSkpOwotICAgIGVycm5vID0gMDsKLSAgICBpZiAoKGFkZHIgPSB1c2NvbmZpZyhDT05GX0FUVEFDSEFERFIsIGFkZHIpKSA8IDAgJiYgZXJybm8gIT0gMCkKLSAgICAgICAgcGVycm9yKCJ1c2NvbmZpZyAtIENPTkZfQVRUQUNIQUREUiAoc2V0KSIpOwotI2VuZGlmIC8qIFVTRV9ETCAqLwotICAgIGlmICh1c2NvbmZpZyhDT05GX0lOSVRVU0VSUywgMTYpIDwgMCkKLSAgICAgICAgcGVycm9yKCJ1c2NvbmZpZyAtIENPTkZfSU5JVFVTRVJTIik7Ci0gICAgbXlfcGlkID0gZ2V0cGlkKCk7ICAgICAgICAgIC8qIHNvIHRoYXQgd2Uga25vdyB3aGljaCBpcyB0aGUgbWFpbiB0aHJlYWQgKi8KLSAgICBpZiAodXNjb25maWcoQ09ORl9BUkVOQVRZUEUsIFVTX1NIQVJFRE9OTFkpIDwgMCkKLSAgICAgICAgcGVycm9yKCJ1c2NvbmZpZyAtIENPTkZfQVJFTkFUWVBFIik7Ci0gICAgdXNjb25maWcoQ09ORl9MT0NLVFlQRSwgVVNfREVCVUcpOyAvKiBYWFggKi8KLSNpZmRlZiBQeV9ERUJVRwotICAgIGlmICh0aHJlYWRfZGVidWcgJiA0KQotICAgICAgICB1c2NvbmZpZyhDT05GX0xPQ0tUWVBFLCBVU19ERUJVR1BMVVMpOwotICAgIGVsc2UgaWYgKHRocmVhZF9kZWJ1ZyAmIDIpCi0gICAgICAgIHVzY29uZmlnKENPTkZfTE9DS1RZUEUsIFVTX0RFQlVHKTsKLSNlbmRpZiAvKiBQeV9ERUJVRyAqLwotICAgIGlmICgoc2hhcmVkX2FyZW5hID0gdXNpbml0KHRtcG5hbSgwKSkpID09IDApCi0gICAgICAgIHBlcnJvcigidXNpbml0Iik7Ci0jaWZkZWYgVVNFX0RMCi0gICAgaWYgKHVzY29uZmlnKENPTkZfQVRUQUNIQUREUiwgYWRkcikgPCAwKSAvKiByZXNldCBhZGRyZXNzICovCi0gICAgICAgIHBlcnJvcigidXNjb25maWcgLSBDT05GX0FUVEFDSEFERFIgKHJlc2V0KSIpOwotI2VuZGlmIC8qIFVTRV9ETCAqLwotICAgIGlmICgoY291bnRfbG9jayA9IHVzbmV3bG9jayhzaGFyZWRfYXJlbmEpKSA9PSBOVUxMKQotICAgICAgICBwZXJyb3IoInVzbmV3bG9jayAoY291bnRfbG9jaykiKTsKLSAgICAodm9pZCkgdXNpbml0bG9jayhjb3VudF9sb2NrKTsKLSAgICBpZiAoKHdhaXRfbG9jayA9IHVzbmV3bG9jayhzaGFyZWRfYXJlbmEpKSA9PSBOVUxMKQotICAgICAgICBwZXJyb3IoInVzbmV3bG9jayAod2FpdF9sb2NrKSIpOwotICAgIGRwcmludGYoKCJhcmVuYSBzdGFydDogJXAsIGFyZW5hIHNpemU6ICVsZFxuIiwgIHNoYXJlZF9hcmVuYSwgKGxvbmcpIHVzY29uZmlnKENPTkZfR0VUU0laRSwgc2hhcmVkX2FyZW5hKSkpOwotfQotCi0vKgotICogVGhyZWFkIHN1cHBvcnQuCi0gKi8KLQotc3RhdGljIHZvaWQgY2xlYW5fdGhyZWFkcyh2b2lkKQotewotICAgIGludCBpLCBqOwotICAgIHBpZF90IG15cGlkLCBwaWQ7Ci0KLSAgICAvKiBjbGVhbiB1cCBhbnkgZXhpdGVkIHRocmVhZHMgKi8KLSAgICBteXBpZCA9IGdldHBpZCgpOwotICAgIGkgPSAwOwotICAgIHdoaWxlIChpIDwgbWF4cGlkaW5kZXgpIHsKLSAgICAgICAgaWYgKHBpZGxpc3RbaV0ucGFyZW50ID09IG15cGlkICYmIChwaWQgPSBwaWRsaXN0W2ldLmNoaWxkKSA+IDApIHsKLSAgICAgICAgICAgIHBpZCA9IHdhaXRwaWQocGlkLCAwLCBXTk9IQU5HKTsKLSAgICAgICAgICAgIGlmIChwaWQgPiAwKSB7Ci0gICAgICAgICAgICAgICAgLyogYSB0aHJlYWQgaGFzIGV4aXRlZCAqLwotICAgICAgICAgICAgICAgIHBpZGxpc3RbaV0gPSBwaWRsaXN0Wy0tbWF4cGlkaW5kZXhdOwotICAgICAgICAgICAgICAgIC8qIHJlbW92ZSByZWZlcmVuY2VzIHRvIGNoaWxkcmVuIG9mIGRlYWQgcHJvYyAqLwotICAgICAgICAgICAgICAgIGZvciAoaiA9IDA7IGogPCBtYXhwaWRpbmRleDsgaisrKQotICAgICAgICAgICAgICAgICAgICBpZiAocGlkbGlzdFtqXS5wYXJlbnQgPT0gcGlkKQotICAgICAgICAgICAgICAgICAgICAgICAgcGlkbGlzdFtqXS5jaGlsZCA9IC0xOwotICAgICAgICAgICAgICAgIGNvbnRpbnVlOyAvKiBkb24ndCBpbmNyZW1lbnQgaSAqLwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgICAgIGkrKzsKLSAgICB9Ci0gICAgLyogY2xlYW4gdXAgdGhlIGxpc3QgKi8KLSAgICBpID0gMDsKLSAgICB3aGlsZSAoaSA8IG1heHBpZGluZGV4KSB7Ci0gICAgICAgIGlmIChwaWRsaXN0W2ldLmNoaWxkID09IC0xKSB7Ci0gICAgICAgICAgICBwaWRsaXN0W2ldID0gcGlkbGlzdFstLW1heHBpZGluZGV4XTsKLSAgICAgICAgICAgIGNvbnRpbnVlOyAvKiBkb24ndCBpbmNyZW1lbnQgaSAqLwotICAgICAgICB9Ci0gICAgICAgIGkrKzsKLSAgICB9Ci19Ci0KLWxvbmcgUHlUaHJlYWRfc3RhcnRfbmV3X3RocmVhZCh2b2lkICgqZnVuYykodm9pZCAqKSwgdm9pZCAqYXJnKQotewotI2lmZGVmIFVTRV9ETAotICAgIGxvbmcgYWRkciwgc2l6ZTsKLSAgICBzdGF0aWMgaW50IGxvY2FsX2luaXRpYWxpemVkID0gMDsKLSNlbmRpZiAvKiBVU0VfREwgKi8KLSAgICBpbnQgc3VjY2VzcyA9IDA7ICAgICAgICAgICAgLyogaW5pdCBub3QgbmVlZGVkIHdoZW4gU09MQVJJU19USFJFQURTIGFuZCAqLwotICAgICAgICAgICAgICAgIC8qIENfVEhSRUFEUyBpbXBsZW1lbnRlZCBwcm9wZXJseSAqLwotCi0gICAgZHByaW50ZigoIlB5VGhyZWFkX3N0YXJ0X25ld190aHJlYWQgY2FsbGVkXG4iKSk7Ci0gICAgaWYgKCFpbml0aWFsaXplZCkKLSAgICAgICAgUHlUaHJlYWRfaW5pdF90aHJlYWQoKTsKLSAgICBzd2l0Y2ggKHVzc2V0bG9jayhjb3VudF9sb2NrKSkgewotICAgIGNhc2UgMDogcmV0dXJuIDA7Ci0gICAgY2FzZSAtMTogcGVycm9yKCJ1c3NldGxvY2sgKGNvdW50X2xvY2spIik7Ci0gICAgfQotICAgIGlmIChtYXhwaWRpbmRleCA+PSBNQVhQUk9DKQotICAgICAgICBzdWNjZXNzID0gLTE7Ci0gICAgZWxzZSB7Ci0jaWZkZWYgVVNFX0RMCi0gICAgICAgIGlmICghbG9jYWxfaW5pdGlhbGl6ZWQpIHsKLSAgICAgICAgICAgIGlmICgoc2l6ZSA9IHVzY29uZmlnKENPTkZfSU5JVFNJWkUsIDY0KjEwMjQpKSA8IDApCi0gICAgICAgICAgICAgICAgcGVycm9yKCJ1c2NvbmZpZyAtIENPTkZfSU5JVFNJWkUgKGNoZWNrKSIpOwotICAgICAgICAgICAgaWYgKHVzY29uZmlnKENPTkZfSU5JVFNJWkUsIHNpemUpIDwgMCkKLSAgICAgICAgICAgICAgICBwZXJyb3IoInVzY29uZmlnIC0gQ09ORl9JTklUU0laRSAocmVzZXQpIik7Ci0gICAgICAgICAgICBhZGRyID0gKGxvbmcpIGRsX2dldHJhbmdlKHNpemUgKyBIRFJfU0laRSk7Ci0gICAgICAgICAgICBkcHJpbnRmKCgidHJ5aW5nIHRvIHVzZSBhZGRyICVwLSVwIGZvciBzcHJvY1xuIiwKLSAgICAgICAgICAgICAgICAgICAgIGFkZHIsIGFkZHIrc2l6ZSkpOwotICAgICAgICAgICAgZXJybm8gPSAwOwotICAgICAgICAgICAgaWYgKChhZGRyID0gdXNjb25maWcoQ09ORl9BVFRBQ0hBRERSLCBhZGRyKSkgPCAwICYmCi0gICAgICAgICAgICAgICAgZXJybm8gIT0gMCkKLSAgICAgICAgICAgICAgICBwZXJyb3IoInVzY29uZmlnIC0gQ09ORl9BVFRBQ0hBRERSIChzZXQpIik7Ci0gICAgICAgIH0KLSNlbmRpZiAvKiBVU0VfREwgKi8KLSAgICAgICAgY2xlYW5fdGhyZWFkcygpOwotICAgICAgICBpZiAoKHN1Y2Nlc3MgPSBzcHJvYyhmdW5jLCBQUl9TQUxMLCBhcmcpKSA8IDApCi0gICAgICAgICAgICBwZXJyb3IoInNwcm9jIik7Ci0jaWZkZWYgVVNFX0RMCi0gICAgICAgIGlmICghbG9jYWxfaW5pdGlhbGl6ZWQpIHsKLSAgICAgICAgICAgIGlmICh1c2NvbmZpZyhDT05GX0FUVEFDSEFERFIsIGFkZHIpIDwgMCkKLSAgICAgICAgICAgICAgICAvKiByZXNldCBhZGRyZXNzICovCi0gICAgICAgICAgICAgICAgcGVycm9yKCJ1c2NvbmZpZyAtIENPTkZfQVRUQUNIQUREUiAocmVzZXQpIik7Ci0gICAgICAgICAgICBsb2NhbF9pbml0aWFsaXplZCA9IDE7Ci0gICAgICAgIH0KLSNlbmRpZiAvKiBVU0VfREwgKi8KLSAgICAgICAgaWYgKHN1Y2Nlc3MgPj0gMCkgewotICAgICAgICAgICAgbnRocmVhZHMrKzsKLSAgICAgICAgICAgIHBpZGxpc3RbbWF4cGlkaW5kZXhdLnBhcmVudCA9IGdldHBpZCgpOwotICAgICAgICAgICAgcGlkbGlzdFttYXhwaWRpbmRleCsrXS5jaGlsZCA9IHN1Y2Nlc3M7Ci0gICAgICAgICAgICBkcHJpbnRmKCgicGlkbGlzdFslZF0gPSAlZFxuIiwKLSAgICAgICAgICAgICAgICAgICAgIG1heHBpZGluZGV4LTEsIHN1Y2Nlc3MpKTsKLSAgICAgICAgfQotICAgIH0KLSAgICBpZiAodXN1bnNldGxvY2soY291bnRfbG9jaykgPCAwKQotICAgICAgICBwZXJyb3IoInVzdW5zZXRsb2NrIChjb3VudF9sb2NrKSIpOwotICAgIHJldHVybiBzdWNjZXNzOwotfQotCi1sb25nIFB5VGhyZWFkX2dldF90aHJlYWRfaWRlbnQodm9pZCkKLXsKLSAgICByZXR1cm4gZ2V0cGlkKCk7Ci19Ci0KLXZvaWQgUHlUaHJlYWRfZXhpdF90aHJlYWQodm9pZCkKLXsKLSAgICBkcHJpbnRmKCgiUHlUaHJlYWRfZXhpdF90aHJlYWQgY2FsbGVkXG4iKSk7Ci0gICAgaWYgKCFpbml0aWFsaXplZCkKLSAgICAgICAgZXhpdCgwKTsKLSAgICBpZiAodXNzZXRsb2NrKGNvdW50X2xvY2spIDwgMCkKLSAgICAgICAgcGVycm9yKCJ1c3NldGxvY2sgKGNvdW50X2xvY2spIik7Ci0gICAgbnRocmVhZHMtLTsKLSAgICBpZiAoZ2V0cGlkKCkgPT0gbXlfcGlkKSB7Ci0gICAgICAgIC8qIG1haW4gdGhyZWFkOyB3YWl0IGZvciBvdGhlciB0aHJlYWRzIHRvIGV4aXQgKi8KLSAgICAgICAgZXhpdGluZyA9IDE7Ci0gICAgICAgIHdhaXRpbmdfZm9yX3RocmVhZHMgPSAxOwotICAgICAgICBpZiAodXNzZXRsb2NrKHdhaXRfbG9jaykgPCAwKQotICAgICAgICAgICAgcGVycm9yKCJ1c3NldGxvY2sgKHdhaXRfbG9jaykiKTsKLSAgICAgICAgZm9yICg7OykgewotICAgICAgICAgICAgaWYgKG50aHJlYWRzIDwgMCkgewotICAgICAgICAgICAgICAgIGRwcmludGYoKCJyZWFsbHkgZXhpdCAoJWQpXG4iLCBleGl0X3N0YXR1cykpOwotICAgICAgICAgICAgICAgIGV4aXQoZXhpdF9zdGF0dXMpOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgaWYgKHVzdW5zZXRsb2NrKGNvdW50X2xvY2spIDwgMCkKLSAgICAgICAgICAgICAgICBwZXJyb3IoInVzdW5zZXRsb2NrIChjb3VudF9sb2NrKSIpOwotICAgICAgICAgICAgZHByaW50ZigoIndhaXRpbmcgZm9yIG90aGVyIHRocmVhZHMgKCVkKVxuIiwgbnRocmVhZHMpKTsKLSAgICAgICAgICAgIGlmICh1c3NldGxvY2sod2FpdF9sb2NrKSA8IDApCi0gICAgICAgICAgICAgICAgcGVycm9yKCJ1c3NldGxvY2sgKHdhaXRfbG9jaykiKTsKLSAgICAgICAgICAgIGlmICh1c3NldGxvY2soY291bnRfbG9jaykgPCAwKQotICAgICAgICAgICAgICAgIHBlcnJvcigidXNzZXRsb2NrIChjb3VudF9sb2NrKSIpOwotICAgICAgICB9Ci0gICAgfQotICAgIC8qIG5vdCB0aGUgbWFpbiB0aHJlYWQgKi8KLSAgICBpZiAod2FpdGluZ19mb3JfdGhyZWFkcykgewotICAgICAgICBkcHJpbnRmKCgibWFpbiB0aHJlYWQgaXMgd2FpdGluZ1xuIikpOwotICAgICAgICBpZiAodXN1bnNldGxvY2sod2FpdF9sb2NrKSA8IDApCi0gICAgICAgICAgICBwZXJyb3IoInVzdW5zZXRsb2NrICh3YWl0X2xvY2spIik7Ci0gICAgfQotICAgIGlmICh1c3Vuc2V0bG9jayhjb3VudF9sb2NrKSA8IDApCi0gICAgICAgIHBlcnJvcigidXN1bnNldGxvY2sgKGNvdW50X2xvY2spIik7Ci0gICAgX2V4aXQoMCk7Ci19Ci0KLS8qCi0gKiBMb2NrIHN1cHBvcnQuCi0gKi8KLVB5VGhyZWFkX3R5cGVfbG9jayBQeVRocmVhZF9hbGxvY2F0ZV9sb2NrKHZvaWQpCi17Ci0gICAgdWxvY2tfdCBsb2NrOwotCi0gICAgZHByaW50ZigoIlB5VGhyZWFkX2FsbG9jYXRlX2xvY2sgY2FsbGVkXG4iKSk7Ci0gICAgaWYgKCFpbml0aWFsaXplZCkKLSAgICAgICAgUHlUaHJlYWRfaW5pdF90aHJlYWQoKTsKLQotICAgIGlmICgobG9jayA9IHVzbmV3bG9jayhzaGFyZWRfYXJlbmEpKSA9PSBOVUxMKQotICAgICAgICBwZXJyb3IoInVzbmV3bG9jayIpOwotICAgICh2b2lkKSB1c2luaXRsb2NrKGxvY2spOwotICAgIGRwcmludGYoKCJQeVRocmVhZF9hbGxvY2F0ZV9sb2NrKCkgLT4gJXBcbiIsIGxvY2spKTsKLSAgICByZXR1cm4gKFB5VGhyZWFkX3R5cGVfbG9jaykgbG9jazsKLX0KLQotdm9pZCBQeVRocmVhZF9mcmVlX2xvY2soUHlUaHJlYWRfdHlwZV9sb2NrIGxvY2spCi17Ci0gICAgZHByaW50ZigoIlB5VGhyZWFkX2ZyZWVfbG9jayglcCkgY2FsbGVkXG4iLCBsb2NrKSk7Ci0gICAgdXNmcmVlbG9jaygodWxvY2tfdCkgbG9jaywgc2hhcmVkX2FyZW5hKTsKLX0KLQotaW50IFB5VGhyZWFkX2FjcXVpcmVfbG9jayhQeVRocmVhZF90eXBlX2xvY2sgbG9jaywgaW50IHdhaXRmbGFnKQotewotICAgIGludCBzdWNjZXNzOwotCi0gICAgZHByaW50ZigoIlB5VGhyZWFkX2FjcXVpcmVfbG9jayglcCwgJWQpIGNhbGxlZFxuIiwgbG9jaywgd2FpdGZsYWcpKTsKLSAgICBlcnJubyA9IDA7ICAgICAgICAgICAgICAgICAgLyogY2xlYXIgaXQganVzdCBpbiBjYXNlICovCi0gICAgaWYgKHdhaXRmbGFnKQotICAgICAgICBzdWNjZXNzID0gdXNzZXRsb2NrKCh1bG9ja190KSBsb2NrKTsKLSAgICBlbHNlCi0gICAgICAgIHN1Y2Nlc3MgPSB1c2NzZXRsb2NrKCh1bG9ja190KSBsb2NrLCAxKTsgLyogVHJ5IGl0IG9uY2UgKi8KLSAgICBpZiAoc3VjY2VzcyA8IDApCi0gICAgICAgIHBlcnJvcih3YWl0ZmxhZyA/ICJ1c3NldGxvY2siIDogInVzY3NldGxvY2siKTsKLSAgICBkcHJpbnRmKCgiUHlUaHJlYWRfYWNxdWlyZV9sb2NrKCVwLCAlZCkgLT4gJWRcbiIsIGxvY2ssIHdhaXRmbGFnLCBzdWNjZXNzKSk7Ci0gICAgcmV0dXJuIHN1Y2Nlc3M7Ci19Ci0KLXZvaWQgUHlUaHJlYWRfcmVsZWFzZV9sb2NrKFB5VGhyZWFkX3R5cGVfbG9jayBsb2NrKQotewotICAgIGRwcmludGYoKCJQeVRocmVhZF9yZWxlYXNlX2xvY2soJXApIGNhbGxlZFxuIiwgbG9jaykpOwotICAgIGlmICh1c3Vuc2V0bG9jaygodWxvY2tfdCkgbG9jaykgPCAwKQotICAgICAgICBwZXJyb3IoInVzdW5zZXRsb2NrIik7Ci19CmRpZmYgLS1naXQgYS9QeXRob24vdGhyZWFkX3NvbGFyaXMuaCBiL1B5dGhvbi90aHJlYWRfc29sYXJpcy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxY2UxY2ZjLi4wMDAwMDAwCi0tLSBhL1B5dGhvbi90aHJlYWRfc29sYXJpcy5oCisrKyAvZGV2L251bGwKQEAgLTEsMTMwICswLDAgQEAKLQotI2luY2x1ZGUgPHN0ZGxpYi5oPgotI2luY2x1ZGUgPHN0ZGlvLmg+Ci0jaW5jbHVkZSA8ZXJybm8uaD4KLSNpbmNsdWRlIDwvdXNyL2luY2x1ZGUvdGhyZWFkLmg+Ci0jdW5kZWYgX1BPU0lYX1RIUkVBRFMKLQotCi0vKgotICogSW5pdGlhbGl6YXRpb24uCi0gKi8KLXN0YXRpYyB2b2lkIFB5VGhyZWFkX19pbml0X3RocmVhZCh2b2lkKQotewotfQotCi0vKgotICogVGhyZWFkIHN1cHBvcnQuCi0gKi8KLXN0cnVjdCBmdW5jX2FyZyB7Ci0gICAgdm9pZCAoKmZ1bmMpKHZvaWQgKik7Ci0gICAgdm9pZCAqYXJnOwotfTsKLQotc3RhdGljIHZvaWQgKgotbmV3X2Z1bmModm9pZCAqZnVuY2FyZykKLXsKLSAgICB2b2lkICgqZnVuYykodm9pZCAqKTsKLSAgICB2b2lkICphcmc7Ci0KLSAgICBmdW5jID0gKChzdHJ1Y3QgZnVuY19hcmcgKikgZnVuY2FyZyktPmZ1bmM7Ci0gICAgYXJnID0gKChzdHJ1Y3QgZnVuY19hcmcgKikgZnVuY2FyZyktPmFyZzsKLSAgICBmcmVlKGZ1bmNhcmcpOwotICAgICgqZnVuYykoYXJnKTsKLSAgICByZXR1cm4gMDsKLX0KLQotCi1sb25nCi1QeVRocmVhZF9zdGFydF9uZXdfdGhyZWFkKHZvaWQgKCpmdW5jKSh2b2lkICopLCB2b2lkICphcmcpCi17Ci0gICAgdGhyZWFkX3QgdGlkOwotICAgIHN0cnVjdCBmdW5jX2FyZyAqZnVuY2FyZzsKLQotICAgIGRwcmludGYoKCJQeVRocmVhZF9zdGFydF9uZXdfdGhyZWFkIGNhbGxlZFxuIikpOwotICAgIGlmICghaW5pdGlhbGl6ZWQpCi0gICAgICAgIFB5VGhyZWFkX2luaXRfdGhyZWFkKCk7Ci0gICAgZnVuY2FyZyA9IChzdHJ1Y3QgZnVuY19hcmcgKikgbWFsbG9jKHNpemVvZihzdHJ1Y3QgZnVuY19hcmcpKTsKLSAgICBmdW5jYXJnLT5mdW5jID0gZnVuYzsKLSAgICBmdW5jYXJnLT5hcmcgPSBhcmc7Ci0gICAgaWYgKHRocl9jcmVhdGUoMCwgMCwgbmV3X2Z1bmMsIGZ1bmNhcmcsCi0gICAgICAgICAgICAgICAgICAgVEhSX0RFVEFDSEVEIHwgVEhSX05FV19MV1AsICZ0aWQpKSB7Ci0gICAgICAgIHBlcnJvcigidGhyX2NyZWF0ZSIpOwotICAgICAgICBmcmVlKCh2b2lkICopIGZ1bmNhcmcpOwotICAgICAgICByZXR1cm4gLTE7Ci0gICAgfQotICAgIHJldHVybiB0aWQ7Ci19Ci0KLWxvbmcKLVB5VGhyZWFkX2dldF90aHJlYWRfaWRlbnQodm9pZCkKLXsKLSAgICBpZiAoIWluaXRpYWxpemVkKQotICAgICAgICBQeVRocmVhZF9pbml0X3RocmVhZCgpOwotICAgIHJldHVybiB0aHJfc2VsZigpOwotfQotCi12b2lkCi1QeVRocmVhZF9leGl0X3RocmVhZCh2b2lkKQotewotICAgIGRwcmludGYoKCJQeVRocmVhZF9leGl0X3RocmVhZCBjYWxsZWRcbiIpKTsKLSAgICBpZiAoIWluaXRpYWxpemVkKQotICAgICAgICBleGl0KDApOwotICAgIHRocl9leGl0KDApOwotfQotCi0vKgotICogTG9jayBzdXBwb3J0LgotICovCi1QeVRocmVhZF90eXBlX2xvY2sKLVB5VGhyZWFkX2FsbG9jYXRlX2xvY2sodm9pZCkKLXsKLSAgICBtdXRleF90ICpsb2NrOwotCi0gICAgZHByaW50ZigoIlB5VGhyZWFkX2FsbG9jYXRlX2xvY2sgY2FsbGVkXG4iKSk7Ci0gICAgaWYgKCFpbml0aWFsaXplZCkKLSAgICAgICAgUHlUaHJlYWRfaW5pdF90aHJlYWQoKTsKLQotICAgIGxvY2sgPSAobXV0ZXhfdCAqKSBtYWxsb2Moc2l6ZW9mKG11dGV4X3QpKTsKLSAgICBpZiAobXV0ZXhfaW5pdChsb2NrLCBVU1lOQ19USFJFQUQsIDApKSB7Ci0gICAgICAgIHBlcnJvcigibXV0ZXhfaW5pdCIpOwotICAgICAgICBmcmVlKCh2b2lkICopIGxvY2spOwotICAgICAgICBsb2NrID0gMDsKLSAgICB9Ci0gICAgZHByaW50ZigoIlB5VGhyZWFkX2FsbG9jYXRlX2xvY2soKSAtPiAlcFxuIiwgbG9jaykpOwotICAgIHJldHVybiAoUHlUaHJlYWRfdHlwZV9sb2NrKSBsb2NrOwotfQotCi12b2lkCi1QeVRocmVhZF9mcmVlX2xvY2soUHlUaHJlYWRfdHlwZV9sb2NrIGxvY2spCi17Ci0gICAgZHByaW50ZigoIlB5VGhyZWFkX2ZyZWVfbG9jayglcCkgY2FsbGVkXG4iLCBsb2NrKSk7Ci0gICAgbXV0ZXhfZGVzdHJveSgobXV0ZXhfdCAqKSBsb2NrKTsKLSAgICBmcmVlKCh2b2lkICopIGxvY2spOwotfQotCi1pbnQKLVB5VGhyZWFkX2FjcXVpcmVfbG9jayhQeVRocmVhZF90eXBlX2xvY2sgbG9jaywgaW50IHdhaXRmbGFnKQotewotICAgIGludCBzdWNjZXNzOwotCi0gICAgZHByaW50ZigoIlB5VGhyZWFkX2FjcXVpcmVfbG9jayglcCwgJWQpIGNhbGxlZFxuIiwgbG9jaywgd2FpdGZsYWcpKTsKLSAgICBpZiAod2FpdGZsYWcpCi0gICAgICAgIHN1Y2Nlc3MgPSBtdXRleF9sb2NrKChtdXRleF90ICopIGxvY2spOwotICAgIGVsc2UKLSAgICAgICAgc3VjY2VzcyA9IG11dGV4X3RyeWxvY2soKG11dGV4X3QgKikgbG9jayk7Ci0gICAgaWYgKHN1Y2Nlc3MgPCAwKQotICAgICAgICBwZXJyb3Iod2FpdGZsYWcgPyAibXV0ZXhfbG9jayIgOiAibXV0ZXhfdHJ5bG9jayIpOwotICAgIGVsc2UKLSAgICAgICAgc3VjY2VzcyA9ICFzdWNjZXNzOyAvKiBzb2xhcmlzIGRvZXMgaXQgdGhlIG90aGVyIHdheSByb3VuZCAqLwotICAgIGRwcmludGYoKCJQeVRocmVhZF9hY3F1aXJlX2xvY2soJXAsICVkKSAtPiAlZFxuIiwgbG9jaywgd2FpdGZsYWcsIHN1Y2Nlc3MpKTsKLSAgICByZXR1cm4gc3VjY2VzczsKLX0KLQotdm9pZAotUHlUaHJlYWRfcmVsZWFzZV9sb2NrKFB5VGhyZWFkX3R5cGVfbG9jayBsb2NrKQotewotICAgIGRwcmludGYoKCJQeVRocmVhZF9yZWxlYXNlX2xvY2soJXApIGNhbGxlZFxuIiwgbG9jaykpOwotICAgIGlmIChtdXRleF91bmxvY2soKG11dGV4X3QgKikgbG9jaykpCi0gICAgICAgIHBlcnJvcigibXV0ZXhfdW5sb2NrIik7Ci19CmRpZmYgLS1naXQgYS9QeXRob24vdGhyZWFkX3dpbmNlLmggYi9QeXRob24vdGhyZWFkX3dpbmNlLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDUxZGRjMDIuLjAwMDAwMDAKLS0tIGEvUHl0aG9uL3RocmVhZF93aW5jZS5oCisrKyAvZGV2L251bGwKQEAgLTEsMTM2ICswLDAgQEAKLQotLyogVGhpcyBjb2RlIGltcGxlbWVudGVkIGJ5IE1hcmsgSGFtbW9uZCAoTUhhbW1vbmRAc2tpcHBpbmV0LmNvbS5hdSkgKi8KLQotI2luY2x1ZGUgPHdpbmRvd3MuaD4KLSNpbmNsdWRlIDxsaW1pdHMuaD4KLSNpbmNsdWRlIDxweWRlYnVnLmg+Ci0KLWxvbmcgUHlUaHJlYWRfZ2V0X3RocmVhZF9pZGVudCh2b2lkKTsKLQotLyoKLSAqIENoYW5nZSBhbGwgaGVhZGVycyB0byBwdXJlIEFOU0kgYXMgbm8gb25lIHdpbGwgdXNlIEsmUiBzdHlsZSBvbiBhbgotICogTlQKLSAqLwotCi0vKgotICogSW5pdGlhbGl6YXRpb24gb2YgdGhlIEMgcGFja2FnZSwgc2hvdWxkIG5vdCBiZSBuZWVkZWQuCi0gKi8KLXN0YXRpYyB2b2lkIFB5VGhyZWFkX19pbml0X3RocmVhZCh2b2lkKQotewotfQotCi0vKgotICogVGhyZWFkIHN1cHBvcnQuCi0gKi8KLWxvbmcgUHlUaHJlYWRfc3RhcnRfbmV3X3RocmVhZCh2b2lkICgqZnVuYykodm9pZCAqKSwgdm9pZCAqYXJnKQotewotICAgIGxvbmcgcnY7Ci0gICAgaW50IHN1Y2Nlc3MgPSAtMTsKLQotICAgIGRwcmludGYoKCIlbGQ6IFB5VGhyZWFkX3N0YXJ0X25ld190aHJlYWQgY2FsbGVkXG4iLCBQeVRocmVhZF9nZXRfdGhyZWFkX2lkZW50KCkpKTsKLSAgICBpZiAoIWluaXRpYWxpemVkKQotICAgICAgICBQeVRocmVhZF9pbml0X3RocmVhZCgpOwotCi0gICAgcnYgPSBfYmVnaW50aHJlYWQoZnVuYywgMCwgYXJnKTsgLyogdXNlIGRlZmF1bHQgc3RhY2sgc2l6ZSAqLwotCi0gICAgaWYgKHJ2ICE9IC0xKSB7Ci0gICAgICAgIHN1Y2Nlc3MgPSAwOwotICAgICAgICBkcHJpbnRmKCgiJWxkOiBQeVRocmVhZF9zdGFydF9uZXdfdGhyZWFkIHN1Y2NlZWRlZDpcbiIsIFB5VGhyZWFkX2dldF90aHJlYWRfaWRlbnQoKSkpOwotICAgIH0KLQotICAgIHJldHVybiBzdWNjZXNzOwotfQotCi0vKgotICogUmV0dXJuIHRoZSB0aHJlYWQgSWQgaW5zdGVhZCBvZiBhbiBoYW5kbGUuIFRoZSBJZCBpcyBzYWlkIHRvIHVuaXF1ZWx5IGlkZW50aWZ5IHRoZQotICogdGhyZWFkIGluIHRoZSBzeXN0ZW0KLSAqLwotbG9uZyBQeVRocmVhZF9nZXRfdGhyZWFkX2lkZW50KHZvaWQpCi17Ci0gICAgaWYgKCFpbml0aWFsaXplZCkKLSAgICAgICAgUHlUaHJlYWRfaW5pdF90aHJlYWQoKTsKLQotICAgIHJldHVybiBHZXRDdXJyZW50VGhyZWFkSWQoKTsKLX0KLQotdm9pZCBQeVRocmVhZF9leGl0X3RocmVhZCh2b2lkKQotewotICAgIGRwcmludGYoKCIlbGQ6IFB5VGhyZWFkX2V4aXRfdGhyZWFkIGNhbGxlZFxuIiwgUHlUaHJlYWRfZ2V0X3RocmVhZF9pZGVudCgpKSk7Ci0gICAgaWYgKCFpbml0aWFsaXplZCkKLSAgICAgICAgZXhpdCgwKTsKLSAgICBfZW5kdGhyZWFkKCk7Ci19Ci0KLS8qCi0gKiBMb2NrIHN1cHBvcnQuIEl0IGhhcyB0byBiZSBpbXBsZW1lbnRlZCB1c2luZyBNdXRleGVzLCBhcwotICogQ0UgZG9lc250IHN1cHBvcnQgc2VtYXBob3Jlcy4gIFRoZXJlZm9yZSB3ZSB1c2Ugc29tZSBoYWNrcyB0bwotICogc2ltdWxhdGUgdGhlIG5vbiByZWVudHJhbnQgcmVxdWlyZW1lbnRzIG9mIFB5dGhvbiBsb2NrcwotICovCi1QeVRocmVhZF90eXBlX2xvY2sgUHlUaHJlYWRfYWxsb2NhdGVfbG9jayh2b2lkKQotewotICAgIEhBTkRMRSBhTG9jazsKLQotICAgIGRwcmludGYoKCJQeVRocmVhZF9hbGxvY2F0ZV9sb2NrIGNhbGxlZFxuIikpOwotICAgIGlmICghaW5pdGlhbGl6ZWQpCi0gICAgUHlUaHJlYWRfaW5pdF90aHJlYWQoKTsKLQotICAgIGFMb2NrID0gQ3JlYXRlRXZlbnQoTlVMTCwgICAgICAgICAgIC8qIFNlY3VyaXR5IGF0dHJpYnV0ZXMgICAgICAqLwotICAgICAgICAgICAgMCwgICAgICAgICAgICAgIC8qIE1hbnVhbC1SZXNldCAgICAgICAgICAgICAgICovCi0gICAgICAgICAgICAgICAgICAgICAgICAxLCAgICAgICAgICAgICAgLyogSXMgaW5pdGlhbGx5IHNpZ25hbGxlZCAgKi8KLSAgICAgICAgICAgIE5VTEwpOyAgICAgICAgICAvKiBOYW1lIG9mIGV2ZW50ICAgICAgICAgICAgKi8KLQotICAgIGRwcmludGYoKCIlbGQ6IFB5VGhyZWFkX2FsbG9jYXRlX2xvY2soKSAtPiAlcFxuIiwgUHlUaHJlYWRfZ2V0X3RocmVhZF9pZGVudCgpLCBhTG9jaykpOwotCi0gICAgcmV0dXJuIChQeVRocmVhZF90eXBlX2xvY2spIGFMb2NrOwotfQotCi12b2lkIFB5VGhyZWFkX2ZyZWVfbG9jayhQeVRocmVhZF90eXBlX2xvY2sgYUxvY2spCi17Ci0gICAgZHByaW50ZigoIiVsZDogUHlUaHJlYWRfZnJlZV9sb2NrKCVwKSBjYWxsZWRcbiIsIFB5VGhyZWFkX2dldF90aHJlYWRfaWRlbnQoKSxhTG9jaykpOwotCi0gICAgQ2xvc2VIYW5kbGUoYUxvY2spOwotfQotCi0vKgotICogUmV0dXJuIDEgb24gc3VjY2VzcyBpZiB0aGUgbG9jayB3YXMgYWNxdWlyZWQKLSAqCi0gKiBhbmQgMCBpZiB0aGUgbG9jayB3YXMgbm90IGFjcXVpcmVkLiBUaGlzIG1lYW5zIGEgMCBpcyByZXR1cm5lZAotICogaWYgdGhlIGxvY2sgaGFzIGFscmVhZHkgYmVlbiBhY3F1aXJlZCBieSB0aGlzIHRocmVhZCEKLSAqLwotaW50IFB5VGhyZWFkX2FjcXVpcmVfbG9jayhQeVRocmVhZF90eXBlX2xvY2sgYUxvY2ssIGludCB3YWl0ZmxhZykKLXsKLSAgICBpbnQgc3VjY2VzcyA9IDE7Ci0gICAgRFdPUkQgd2FpdFJlc3VsdDsKLQotICAgIGRwcmludGYoKCIlbGQ6IFB5VGhyZWFkX2FjcXVpcmVfbG9jayglcCwgJWQpIGNhbGxlZFxuIiwgUHlUaHJlYWRfZ2V0X3RocmVhZF9pZGVudCgpLGFMb2NrLCB3YWl0ZmxhZykpOwotCi0jaWZuZGVmIERFQlVHCi0gICAgd2FpdFJlc3VsdCA9IFdhaXRGb3JTaW5nbGVPYmplY3QoYUxvY2ssICh3YWl0ZmxhZyA/IElORklOSVRFIDogMCkpOwotI2Vsc2UKLSAgICAvKiBUbyBhaWQgaW4gZGVidWdnaW5nLCB3ZSByZWd1bGFybHkgd2FrZSB1cC4gIFRoaXMgYWxsb3dzIHVzIHRvCi0gICAgYnJlYWsgaW50byB0aGUgZGVidWdnZXIgKi8KLSAgICB3aGlsZSAoVFJVRSkgewotICAgICAgICB3YWl0UmVzdWx0ID0gV2FpdEZvclNpbmdsZU9iamVjdChhTG9jaywgd2FpdGZsYWcgPyAzMDAwIDogMCk7Ci0gICAgICAgIGlmICh3YWl0ZmxhZz09MCB8fCAod2FpdGZsYWcgJiYgd2FpdFJlc3VsdCA9PSBXQUlUX09CSkVDVF8wKSkKLSAgICAgICAgICAgIGJyZWFrOwotICAgIH0KLSNlbmRpZgotCi0gICAgaWYgKHdhaXRSZXN1bHQgIT0gV0FJVF9PQkpFQ1RfMCkgewotICAgICAgICAgICAgICAgIHN1Y2Nlc3MgPSAwOyAgICAvKiBXZSBmYWlsZWQgKi8KLSAgICB9Ci0KLSAgICBkcHJpbnRmKCgiJWxkOiBQeVRocmVhZF9hY3F1aXJlX2xvY2soJXAsICVkKSAtPiAlZFxuIiwgUHlUaHJlYWRfZ2V0X3RocmVhZF9pZGVudCgpLGFMb2NrLCB3YWl0ZmxhZywgc3VjY2VzcykpOwotCi0gICAgcmV0dXJuIHN1Y2Nlc3M7Ci19Ci0KLXZvaWQgUHlUaHJlYWRfcmVsZWFzZV9sb2NrKFB5VGhyZWFkX3R5cGVfbG9jayBhTG9jaykKLXsKLSAgICBkcHJpbnRmKCgiJWxkOiBQeVRocmVhZF9yZWxlYXNlX2xvY2soJXApIGNhbGxlZFxuIiwgUHlUaHJlYWRfZ2V0X3RocmVhZF9pZGVudCgpLGFMb2NrKSk7Ci0KLSAgICBpZiAoIVNldEV2ZW50KGFMb2NrKSkKLSAgICBkcHJpbnRmKCgiJWxkOiBDb3VsZCBub3QgUHlUaHJlYWRfcmVsZWFzZV9sb2NrKCVwKSBlcnJvcjogJWxcbiIsIFB5VGhyZWFkX2dldF90aHJlYWRfaWRlbnQoKSwgYUxvY2ssIEdldExhc3RFcnJvcigpKSk7Ci19Ci0KLQpkaWZmIC0tZ2l0IGEvUHl0aG9uL3RyYWNlYmFjay5jIGIvUHl0aG9uL3RyYWNlYmFjay5jCmluZGV4IDU5YmIzZjAuLmM4YjNlZTEgMTAwNjQ0Ci0tLSBhL1B5dGhvbi90cmFjZWJhY2suYworKysgYi9QeXRob24vdHJhY2ViYWNrLmMKQEAgLTEzLDggKzEzLDEzIEBACiAKICNkZWZpbmUgT0ZGKHgpIG9mZnNldG9mKFB5VHJhY2ViYWNrT2JqZWN0LCB4KQogCi0vKiBNZXRob2QgZnJvbSBQYXJzZXIvdG9rZW5pemVyLmMgKi8KLWV4dGVybiBjaGFyICogUHlUb2tlbml6ZXJfRmluZEVuY29kaW5nKGludCk7CisjZGVmaW5lIFBVVFMoZmQsIHN0cikgd3JpdGUoZmQsIHN0ciwgc3RybGVuKHN0cikpCisjZGVmaW5lIE1BWF9TVFJJTkdfTEVOR1RIIDEwMAorI2RlZmluZSBNQVhfRlJBTUVfREVQVEggMTAwCisjZGVmaW5lIE1BWF9OVEhSRUFEUyAxMDAKKworLyogRnVuY3Rpb24gZnJvbSBQYXJzZXIvdG9rZW5pemVyLmMgKi8KK2V4dGVybiBjaGFyICogUHlUb2tlbml6ZXJfRmluZEVuY29kaW5nRmlsZW5hbWUoaW50LCBQeU9iamVjdCAqKTsKIAogc3RhdGljIFB5T2JqZWN0ICoKIHRiX2RpcihQeVRyYWNlYmFja09iamVjdCAqc2VsZikKQEAgLTE0Nyw2ICsxNTIsNyBAQAogICAgIGNvbnN0IGNoYXIqIGZpbGVwYXRoOwogICAgIFB5X3NzaXplX3QgbGVuOwogICAgIFB5T2JqZWN0KiByZXN1bHQ7CisgICAgX1B5X0lERU5USUZJRVIob3Blbik7CiAKICAgICBmaWxlYnl0ZXMgPSBQeVVuaWNvZGVfRW5jb2RlRlNEZWZhdWx0KGZpbGVuYW1lKTsKICAgICBpZiAoZmlsZWJ5dGVzID09IE5VTEwpIHsKQEAgLTE5NCw3ICsyMDAsNyBAQAogICAgICAgICAgICAgbmFtZWJ1ZltsZW4rK10gPSBTRVA7CiAgICAgICAgIHN0cmNweShuYW1lYnVmK2xlbiwgdGFpbCk7CiAKLSAgICAgICAgYmluYXJ5ID0gUHlPYmplY3RfQ2FsbE1ldGhvZChpbywgIm9wZW4iLCAic3MiLCBuYW1lYnVmLCAicmIiKTsKKyAgICAgICAgYmluYXJ5ID0gX1B5T2JqZWN0X0NhbGxNZXRob2RJZChpbywgJlB5SWRfb3BlbiwgInNzIiwgbmFtZWJ1ZiwgInJiIik7CiAgICAgICAgIGlmIChiaW5hcnkgIT0gTlVMTCkgewogICAgICAgICAgICAgcmVzdWx0ID0gYmluYXJ5OwogICAgICAgICAgICAgZ290byBmaW5hbGx5OwpAQCAtMjI0LDggKzIzMCwxMSBAQAogICAgIFB5T2JqZWN0ICpsaW5lb2JqID0gTlVMTDsKICAgICBQeU9iamVjdCAqcmVzOwogICAgIGNoYXIgYnVmW01BWFBBVEhMRU4rMV07Ci0gICAgUHlfVU5JQ09ERSAqdSwgKnA7Ci0gICAgUHlfc3NpemVfdCBsZW47CisgICAgaW50IGtpbmQ7CisgICAgdm9pZCAqZGF0YTsKKyAgICBfUHlfSURFTlRJRklFUihjbG9zZSk7CisgICAgX1B5X0lERU5USUZJRVIob3Blbik7CisgICAgX1B5X0lERU5USUZJRVIoVGV4dElPV3JhcHBlcik7CiAKICAgICAvKiBvcGVuIHRoZSBmaWxlICovCiAgICAgaWYgKGZpbGVuYW1lID09IE5VTEwpCkBAIC0yMzQsNyArMjQzLDcgQEAKICAgICBpbyA9IFB5SW1wb3J0X0ltcG9ydE1vZHVsZU5vQmxvY2soImlvIik7CiAgICAgaWYgKGlvID09IE5VTEwpCiAgICAgICAgIHJldHVybiAtMTsKLSAgICBiaW5hcnkgPSBQeU9iamVjdF9DYWxsTWV0aG9kKGlvLCAib3BlbiIsICJPcyIsIGZpbGVuYW1lLCAicmIiKTsKKyAgICBiaW5hcnkgPSBfUHlPYmplY3RfQ2FsbE1ldGhvZElkKGlvLCAmUHlJZF9vcGVuLCAiT3MiLCBmaWxlbmFtZSwgInJiIik7CiAKICAgICBpZiAoYmluYXJ5ID09IE5VTEwpIHsKICAgICAgICAgYmluYXJ5ID0gX1B5X0ZpbmRTb3VyY2VGaWxlKGZpbGVuYW1lLCBidWYsIHNpemVvZihidWYpLCBpbyk7CkBAIC0yNDYsMTAgKzI1NSwxMCBAQAogCiAgICAgLyogdXNlIHRoZSByaWdodCBlbmNvZGluZyB0byBkZWNvZGUgdGhlIGZpbGUgYXMgdW5pY29kZSAqLwogICAgIGZkID0gUHlPYmplY3RfQXNGaWxlRGVzY3JpcHRvcihiaW5hcnkpOwotICAgIGZvdW5kX2VuY29kaW5nID0gUHlUb2tlbml6ZXJfRmluZEVuY29kaW5nKGZkKTsKKyAgICBmb3VuZF9lbmNvZGluZyA9IFB5VG9rZW5pemVyX0ZpbmRFbmNvZGluZ0ZpbGVuYW1lKGZkLCBmaWxlbmFtZSk7CiAgICAgZW5jb2RpbmcgPSAoZm91bmRfZW5jb2RpbmcgIT0gTlVMTCkgPyBmb3VuZF9lbmNvZGluZyA6ICJ1dGYtOCI7CiAgICAgbHNlZWsoZmQsIDAsIDApOyAvKiBSZXNldCBwb3NpdGlvbiAqLwotICAgIGZvYiA9IFB5T2JqZWN0X0NhbGxNZXRob2QoaW8sICJUZXh0SU9XcmFwcGVyIiwgIk9zIiwgYmluYXJ5LCBlbmNvZGluZyk7CisgICAgZm9iID0gX1B5T2JqZWN0X0NhbGxNZXRob2RJZChpbywgJlB5SWRfVGV4dElPV3JhcHBlciwgIk9zIiwgYmluYXJ5LCBlbmNvZGluZyk7CiAgICAgUHlfREVDUkVGKGlvKTsKICAgICBQeV9ERUNSRUYoYmluYXJ5KTsKICAgICBQeU1lbV9GUkVFKGZvdW5kX2VuY29kaW5nKTsKQEAgLTI2OCw3ICsyNzcsNyBAQAogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICB9Ci0gICAgcmVzID0gUHlPYmplY3RfQ2FsbE1ldGhvZChmb2IsICJjbG9zZSIsICIiKTsKKyAgICByZXMgPSBfUHlPYmplY3RfQ2FsbE1ldGhvZElkKGZvYiwgJlB5SWRfY2xvc2UsICIiKTsKICAgICBpZiAocmVzKQogICAgICAgICBQeV9ERUNSRUYocmVzKTsKICAgICBlbHNlCkBAIC0yODAsMTMgKzI4OSwxNiBAQAogICAgIH0KIAogICAgIC8qIHJlbW92ZSB0aGUgaW5kZW50YXRpb24gb2YgdGhlIGxpbmUgKi8KLSAgICB1ID0gUHlVbmljb2RlX0FTX1VOSUNPREUobGluZW9iaik7Ci0gICAgbGVuID0gUHlVbmljb2RlX0dFVF9TSVpFKGxpbmVvYmopOwotICAgIGZvciAocD11OyAqcCA9PSAnICcgfHwgKnAgPT0gJ1x0JyB8fCAqcCA9PSAnXDAxNCc7IHArKykKLSAgICAgICAgbGVuLS07Ci0gICAgaWYgKHUgIT0gcCkgeworICAgIGtpbmQgPSBQeVVuaWNvZGVfS0lORChsaW5lb2JqKTsKKyAgICBkYXRhID0gUHlVbmljb2RlX0RBVEEobGluZW9iaik7CisgICAgZm9yIChpPTA7IGkgPCBQeVVuaWNvZGVfR0VUX0xFTkdUSChsaW5lb2JqKTsgaSsrKSB7CisgICAgICAgIFB5X1VDUzQgY2ggPSBQeVVuaWNvZGVfUkVBRChraW5kLCBkYXRhLCBpKTsKKyAgICAgICAgaWYgKGNoICE9ICcgJyAmJiBjaCAhPSAnXHQnICYmIGNoICE9ICdcMDE0JykKKyAgICAgICAgICAgIGJyZWFrOworICAgIH0KKyAgICBpZiAoaSkgewogICAgICAgICBQeU9iamVjdCAqdHJ1bmNhdGVkOwotICAgICAgICB0cnVuY2F0ZWQgPSBQeVVuaWNvZGVfRnJvbVVuaWNvZGUocCwgbGVuKTsKKyAgICAgICAgdHJ1bmNhdGVkID0gUHlVbmljb2RlX1N1YnN0cmluZyhsaW5lb2JqLCBpLCBQeVVuaWNvZGVfR0VUX0xFTkdUSChsaW5lb2JqKSk7CiAgICAgICAgIGlmICh0cnVuY2F0ZWQpIHsKICAgICAgICAgICAgIFB5X0RFQ1JFRihsaW5lb2JqKTsKICAgICAgICAgICAgIGxpbmVvYmogPSB0cnVuY2F0ZWQ7CkBAIC00MDIsMyArNDE0LDI1MCBAQAogICAgICAgICBlcnIgPSB0Yl9wcmludGludGVybmFsKChQeVRyYWNlYmFja09iamVjdCAqKXYsIGYsIGxpbWl0KTsKICAgICByZXR1cm4gZXJyOwogfQorCisvKiBSZXZlcnNlIGEgc3RyaW5nLiBGb3IgZXhhbXBsZSwgImFiY2QiIGJlY29tZXMgImRjYmEiLgorCisgICBUaGlzIGZ1bmN0aW9uIGlzIHNpZ25hbCBzYWZlLiAqLworCitzdGF0aWMgdm9pZAorcmV2ZXJzZV9zdHJpbmcoY2hhciAqdGV4dCwgY29uc3Qgc2l6ZV90IGxlbikKK3sKKyAgICBjaGFyIHRtcDsKKyAgICBzaXplX3QgaSwgajsKKyAgICBpZiAobGVuID09IDApCisgICAgICAgIHJldHVybjsKKyAgICBmb3IgKGk9MCwgaj1sZW4tMTsgaSA8IGo7IGkrKywgai0tKSB7CisgICAgICAgIHRtcCA9IHRleHRbaV07CisgICAgICAgIHRleHRbaV0gPSB0ZXh0W2pdOworICAgICAgICB0ZXh0W2pdID0gdG1wOworICAgIH0KK30KKworLyogRm9ybWF0IGFuIGludGVnZXIgaW4gcmFuZ2UgWzA7IDk5OTk5OV0gdG8gZGVjaW1hbCwKKyAgIGFuZCB3cml0ZSBpdCBpbnRvIHRoZSBmaWxlIGZkLgorCisgICBUaGlzIGZ1bmN0aW9uIGlzIHNpZ25hbCBzYWZlLiAqLworCitzdGF0aWMgdm9pZAorZHVtcF9kZWNpbWFsKGludCBmZCwgaW50IHZhbHVlKQoreworICAgIGNoYXIgYnVmZmVyWzddOworICAgIGludCBsZW47CisgICAgaWYgKHZhbHVlIDwgMCB8fCA5OTk5OTkgPCB2YWx1ZSkKKyAgICAgICAgcmV0dXJuOworICAgIGxlbiA9IDA7CisgICAgZG8geworICAgICAgICBidWZmZXJbbGVuXSA9ICcwJyArICh2YWx1ZSAlIDEwKTsKKyAgICAgICAgdmFsdWUgLz0gMTA7CisgICAgICAgIGxlbisrOworICAgIH0gd2hpbGUgKHZhbHVlKTsKKyAgICByZXZlcnNlX3N0cmluZyhidWZmZXIsIGxlbik7CisgICAgd3JpdGUoZmQsIGJ1ZmZlciwgbGVuKTsKK30KKworLyogRm9ybWF0IGFuIGludGVnZXIgaW4gcmFuZ2UgWzA7IDB4ZmZmZmZmZmZdIHRvIGhleGRlY2ltYWwgb2YgJ3dpZHRoJyBkaWdpdHMsCisgICBhbmQgd3JpdGUgaXQgaW50byB0aGUgZmlsZSBmZC4KKworICAgVGhpcyBmdW5jdGlvbiBpcyBzaWduYWwgc2FmZS4gKi8KKworc3RhdGljIHZvaWQKK2R1bXBfaGV4YWRlY2ltYWwoaW50IHdpZHRoLCB1bnNpZ25lZCBsb25nIHZhbHVlLCBpbnQgZmQpCit7CisgICAgaW50IGxlbjsKKyAgICBjaGFyIGJ1ZmZlcltzaXplb2YodW5zaWduZWQgbG9uZykgKiAyICsgMV07CisgICAgbGVuID0gMDsKKyAgICBkbyB7CisgICAgICAgIGJ1ZmZlcltsZW5dID0gUHlfaGV4ZGlnaXRzW3ZhbHVlICYgMTVdOworICAgICAgICB2YWx1ZSA+Pj0gNDsKKyAgICAgICAgbGVuKys7CisgICAgfSB3aGlsZSAobGVuIDwgd2lkdGggfHwgdmFsdWUpOworICAgIHJldmVyc2Vfc3RyaW5nKGJ1ZmZlciwgbGVuKTsKKyAgICB3cml0ZShmZCwgYnVmZmVyLCBsZW4pOworfQorCisvKiBXcml0ZSBhbiB1bmljb2RlIG9iamVjdCBpbnRvIHRoZSBmaWxlIGZkIHVzaW5nIGFzY2lpK2JhY2tzbGFzaHJlcGxhY2UuCisKKyAgIFRoaXMgZnVuY3Rpb24gaXMgc2lnbmFsIHNhZmUuICovCisKK3N0YXRpYyB2b2lkCitkdW1wX2FzY2lpKGludCBmZCwgUHlPYmplY3QgKnRleHQpCit7CisgICAgUHlBU0NJSU9iamVjdCAqYXNjaWkgPSAoUHlBU0NJSU9iamVjdCAqKXRleHQ7CisgICAgUHlfc3NpemVfdCBpLCBzaXplOworICAgIGludCB0cnVuY2F0ZWQ7CisgICAgaW50IGtpbmQ7CisgICAgdm9pZCAqZGF0YSA9IE5VTEw7CisgICAgd2NoYXJfdCAqd3N0ciA9IE5VTEw7CisgICAgUHlfVUNTNCBjaDsKKworICAgIHNpemUgPSBhc2NpaS0+bGVuZ3RoOworICAgIGtpbmQgPSBhc2NpaS0+c3RhdGUua2luZDsKKyAgICBpZiAoYXNjaWktPnN0YXRlLmNvbXBhY3QpIHsKKyAgICAgICAgaWYgKGFzY2lpLT5zdGF0ZS5hc2NpaSkKKyAgICAgICAgICAgIGRhdGEgPSAoKFB5QVNDSUlPYmplY3QqKXRleHQpICsgMTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgZGF0YSA9ICgoUHlDb21wYWN0VW5pY29kZU9iamVjdCopdGV4dCkgKyAxOworICAgIH0KKyAgICBlbHNlIGlmIChraW5kICE9IFB5VW5pY29kZV9XQ0hBUl9LSU5EKSB7CisgICAgICAgIGRhdGEgPSAoKFB5VW5pY29kZU9iamVjdCAqKXRleHQpLT5kYXRhLmFueTsKKyAgICAgICAgaWYgKGRhdGEgPT0gTlVMTCkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgIHdzdHIgPSAoKFB5QVNDSUlPYmplY3QgKil0ZXh0KS0+d3N0cjsKKyAgICAgICAgaWYgKHdzdHIgPT0gTlVMTCkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgc2l6ZSA9ICgoUHlDb21wYWN0VW5pY29kZU9iamVjdCAqKXRleHQpLT53c3RyX2xlbmd0aDsKKyAgICB9CisKKyAgICBpZiAoTUFYX1NUUklOR19MRU5HVEggPCBzaXplKSB7CisgICAgICAgIHNpemUgPSBNQVhfU1RSSU5HX0xFTkdUSDsKKyAgICAgICAgdHJ1bmNhdGVkID0gMTsKKyAgICB9CisgICAgZWxzZQorICAgICAgICB0cnVuY2F0ZWQgPSAwOworCisgICAgZm9yIChpPTA7IGkgPCBzaXplOyBpKyspIHsKKyAgICAgICAgaWYgKGtpbmQgIT0gUHlVbmljb2RlX1dDSEFSX0tJTkQpCisgICAgICAgICAgICBjaCA9IFB5VW5pY29kZV9SRUFEKGtpbmQsIGRhdGEsIGkpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBjaCA9IHdzdHJbaV07CisgICAgICAgIGlmIChjaCA8IDEyOCkgeworICAgICAgICAgICAgY2hhciBjID0gKGNoYXIpY2g7CisgICAgICAgICAgICB3cml0ZShmZCwgJmMsIDEpOworICAgICAgICB9CisgICAgICAgIGVsc2UgaWYgKGNoIDwgMHhmZikgeworICAgICAgICAgICAgUFVUUyhmZCwgIlxceCIpOworICAgICAgICAgICAgZHVtcF9oZXhhZGVjaW1hbCgyLCBjaCwgZmQpOworICAgICAgICB9CisgICAgICAgIGVsc2UgaWYgKGNoIDwgMHhmZmZmKSB7CisgICAgICAgICAgICBQVVRTKGZkLCAiXFx1Iik7CisgICAgICAgICAgICBkdW1wX2hleGFkZWNpbWFsKDQsIGNoLCBmZCk7CisgICAgICAgIH0KKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBQVVRTKGZkLCAiXFxVIik7CisgICAgICAgICAgICBkdW1wX2hleGFkZWNpbWFsKDgsIGNoLCBmZCk7CisgICAgICAgIH0KKyAgICB9CisgICAgaWYgKHRydW5jYXRlZCkKKyAgICAgICAgUFVUUyhmZCwgIi4uLiIpOworfQorCisvKiBXcml0ZSBhIGZyYW1lIGludG8gdGhlIGZpbGUgZmQ6ICJGaWxlICJ4eHgiLCBsaW5lIHh4eCBpbiB4eHgiLgorCisgICBUaGlzIGZ1bmN0aW9uIGlzIHNpZ25hbCBzYWZlLiAqLworCitzdGF0aWMgdm9pZAorZHVtcF9mcmFtZShpbnQgZmQsIFB5RnJhbWVPYmplY3QgKmZyYW1lKQoreworICAgIFB5Q29kZU9iamVjdCAqY29kZTsKKyAgICBpbnQgbGluZW5vOworCisgICAgY29kZSA9IGZyYW1lLT5mX2NvZGU7CisgICAgUFVUUyhmZCwgIiAgRmlsZSAiKTsKKyAgICBpZiAoY29kZSAhPSBOVUxMICYmIGNvZGUtPmNvX2ZpbGVuYW1lICE9IE5VTEwKKyAgICAgICAgJiYgUHlVbmljb2RlX0NoZWNrKGNvZGUtPmNvX2ZpbGVuYW1lKSkKKyAgICB7CisgICAgICAgIHdyaXRlKGZkLCAiXCIiLCAxKTsKKyAgICAgICAgZHVtcF9hc2NpaShmZCwgY29kZS0+Y29fZmlsZW5hbWUpOworICAgICAgICB3cml0ZShmZCwgIlwiIiwgMSk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgUFVUUyhmZCwgIj8/PyIpOworICAgIH0KKworICAgIC8qIFB5RnJhbWVfR2V0TGluZU51bWJlcigpIHdhcyBpbnRyb2R1Y2VkIGluIFB5dGhvbiAyLjcuMCBhbmQgMy4yLjAgKi8KKyAgICBsaW5lbm8gPSBQeUNvZGVfQWRkcjJMaW5lKGNvZGUsIGZyYW1lLT5mX2xhc3RpKTsKKyAgICBQVVRTKGZkLCAiLCBsaW5lICIpOworICAgIGR1bXBfZGVjaW1hbChmZCwgbGluZW5vKTsKKyAgICBQVVRTKGZkLCAiIGluICIpOworCisgICAgaWYgKGNvZGUgIT0gTlVMTCAmJiBjb2RlLT5jb19uYW1lICE9IE5VTEwKKyAgICAgICAgJiYgUHlVbmljb2RlX0NoZWNrKGNvZGUtPmNvX25hbWUpKQorICAgICAgICBkdW1wX2FzY2lpKGZkLCBjb2RlLT5jb19uYW1lKTsKKyAgICBlbHNlCisgICAgICAgIFBVVFMoZmQsICI/Pz8iKTsKKworICAgIHdyaXRlKGZkLCAiXG4iLCAxKTsKK30KKworc3RhdGljIHZvaWQKK2R1bXBfdHJhY2ViYWNrKGludCBmZCwgUHlUaHJlYWRTdGF0ZSAqdHN0YXRlLCBpbnQgd3JpdGVfaGVhZGVyKQoreworICAgIFB5RnJhbWVPYmplY3QgKmZyYW1lOworICAgIHVuc2lnbmVkIGludCBkZXB0aDsKKworICAgIGlmICh3cml0ZV9oZWFkZXIpCisgICAgICAgIFBVVFMoZmQsICJUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgZmlyc3QpOlxuIik7CisKKyAgICBmcmFtZSA9IF9QeVRocmVhZFN0YXRlX0dldEZyYW1lKHRzdGF0ZSk7CisgICAgaWYgKGZyYW1lID09IE5VTEwpCisgICAgICAgIHJldHVybjsKKworICAgIGRlcHRoID0gMDsKKyAgICB3aGlsZSAoZnJhbWUgIT0gTlVMTCkgeworICAgICAgICBpZiAoTUFYX0ZSQU1FX0RFUFRIIDw9IGRlcHRoKSB7CisgICAgICAgICAgICBQVVRTKGZkLCAiICAuLi5cbiIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgaWYgKCFQeUZyYW1lX0NoZWNrKGZyYW1lKSkKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBkdW1wX2ZyYW1lKGZkLCBmcmFtZSk7CisgICAgICAgIGZyYW1lID0gZnJhbWUtPmZfYmFjazsKKyAgICAgICAgZGVwdGgrKzsKKyAgICB9Cit9CisKK3ZvaWQKK19QeV9EdW1wVHJhY2ViYWNrKGludCBmZCwgUHlUaHJlYWRTdGF0ZSAqdHN0YXRlKQoreworICAgIGR1bXBfdHJhY2ViYWNrKGZkLCB0c3RhdGUsIDEpOworfQorCisvKiBXcml0ZSB0aGUgdGhyZWFkIGlkZW50aWZpZXIgaW50byB0aGUgZmlsZSAnZmQnOiAiQ3VycmVudCB0aHJlYWQgMHhISEhIOlwiIGlmCisgICBpc19jdXJyZW50IGlzIHRydWUsICJUaHJlYWQgMHhISEhIOlxuIiBvdGhlcndpc2UuCisKKyAgIFRoaXMgZnVuY3Rpb24gaXMgc2lnbmFsIHNhZmUuICovCisKK3N0YXRpYyB2b2lkCit3cml0ZV90aHJlYWRfaWQoaW50IGZkLCBQeVRocmVhZFN0YXRlICp0c3RhdGUsIGludCBpc19jdXJyZW50KQoreworICAgIGlmIChpc19jdXJyZW50KQorICAgICAgICBQVVRTKGZkLCAiQ3VycmVudCB0aHJlYWQgMHgiKTsKKyAgICBlbHNlCisgICAgICAgIFBVVFMoZmQsICJUaHJlYWQgMHgiKTsKKyAgICBkdW1wX2hleGFkZWNpbWFsKHNpemVvZihsb25nKSoyLCAodW5zaWduZWQgbG9uZyl0c3RhdGUtPnRocmVhZF9pZCwgZmQpOworICAgIFBVVFMoZmQsICI6XG4iKTsKK30KKworY29uc3QgY2hhcioKK19QeV9EdW1wVHJhY2ViYWNrVGhyZWFkcyhpbnQgZmQsIFB5SW50ZXJwcmV0ZXJTdGF0ZSAqaW50ZXJwLAorICAgICAgICAgICAgICAgICAgICAgICAgIFB5VGhyZWFkU3RhdGUgKmN1cnJlbnRfdGhyZWFkKQoreworICAgIFB5VGhyZWFkU3RhdGUgKnRzdGF0ZTsKKyAgICB1bnNpZ25lZCBpbnQgbnRocmVhZHM7CisKKyAgICAvKiBHZXQgdGhlIGN1cnJlbnQgaW50ZXJwcmV0ZXIgZnJvbSB0aGUgY3VycmVudCB0aHJlYWQgKi8KKyAgICB0c3RhdGUgPSBQeUludGVycHJldGVyU3RhdGVfVGhyZWFkSGVhZChpbnRlcnApOworICAgIGlmICh0c3RhdGUgPT0gTlVMTCkKKyAgICAgICAgcmV0dXJuICJ1bmFibGUgdG8gZ2V0IHRoZSB0aHJlYWQgaGVhZCBzdGF0ZSI7CisKKyAgICAvKiBEdW1wIHRoZSB0cmFjZWJhY2sgb2YgZWFjaCB0aHJlYWQgKi8KKyAgICB0c3RhdGUgPSBQeUludGVycHJldGVyU3RhdGVfVGhyZWFkSGVhZChpbnRlcnApOworICAgIG50aHJlYWRzID0gMDsKKyAgICBkbworICAgIHsKKyAgICAgICAgaWYgKG50aHJlYWRzICE9IDApCisgICAgICAgICAgICB3cml0ZShmZCwgIlxuIiwgMSk7CisgICAgICAgIGlmIChudGhyZWFkcyA+PSBNQVhfTlRIUkVBRFMpIHsKKyAgICAgICAgICAgIFBVVFMoZmQsICIuLi5cbiIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgd3JpdGVfdGhyZWFkX2lkKGZkLCB0c3RhdGUsIHRzdGF0ZSA9PSBjdXJyZW50X3RocmVhZCk7CisgICAgICAgIGR1bXBfdHJhY2ViYWNrKGZkLCB0c3RhdGUsIDApOworICAgICAgICB0c3RhdGUgPSBQeVRocmVhZFN0YXRlX05leHQodHN0YXRlKTsKKyAgICAgICAgbnRocmVhZHMrKzsKKyAgICB9IHdoaWxlICh0c3RhdGUgIT0gTlVMTCk7CisKKyAgICByZXR1cm4gTlVMTDsKK30KKwpkaWZmIC0tZ2l0IGEvUkVBRE1FIGIvUkVBRE1FCmluZGV4IDJlZDFjMDUuLjE4MWQ3OGYgMTAwNjQ0Ci0tLSBhL1JFQURNRQorKysgYi9SRUFETUUKQEAgLTEsNSArMSw1IEBACi1UaGlzIGlzIFB5dGhvbiB2ZXJzaW9uIDMuMi4zIHJjMQotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KK1RoaXMgaXMgUHl0aG9uIHZlcnNpb24gMy4zLjAgYWxwaGEgMQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAKIENvcHlyaWdodCAoYykgMjAwMSwgMjAwMiwgMjAwMywgMjAwNCwgMjAwNSwgMjAwNiwgMjAwNywgMjAwOCwgMjAwOSwgMjAxMCwgMjAxMSwKIDIwMTIgUHl0aG9uIFNvZnR3YXJlIEZvdW5kYXRpb24uICBBbGwgcmlnaHRzIHJlc2VydmVkLgpAQCAtNTAsOSArNTAsOSBAQAogLS0tLS0tLS0tLQogCiBXZSB0cnkgdG8gaGF2ZSBhIGNvbXByZWhlbnNpdmUgb3ZlcnZpZXcgb2YgdGhlIGNoYW5nZXMgaW4gdGhlICJXaGF0J3MgTmV3IGluCi1QeXRob24gMy4yIiBkb2N1bWVudCwgZm91bmQgYXQKK1B5dGhvbiAzLjMiIGRvY3VtZW50LCBmb3VuZCBhdAogCi0gICAgaHR0cDovL2RvY3MucHl0aG9uLm9yZy8zLjIvd2hhdHNuZXcvMy4yLmh0bWwKKyAgICBodHRwOi8vZG9jcy5weXRob24ub3JnLzMuMy93aGF0c25ldy8zLjMuaHRtbAogCiBGb3IgYSBtb3JlIGRldGFpbGVkIGNoYW5nZSBsb2csIHJlYWQgTWlzYy9ORVdTICh0aG91Z2ggdGhpcyBmaWxlLCB0b28sIGlzCiBpbmNvbXBsZXRlLCBhbmQgYWxzbyBkb2Vzbid0IGxpc3QgYW55dGhpbmcgbWVyZ2VkIGluIGZyb20gdGhlIDIuNyByZWxlYXNlIHVuZGVyCkBAIC02NSw5ICs2NSw5IEBACiBEb2N1bWVudGF0aW9uCiAtLS0tLS0tLS0tLS0tCiAKLURvY3VtZW50YXRpb24gZm9yIFB5dGhvbiAzLjIgaXMgb25saW5lLCB1cGRhdGVkIGRhaWx5OgorRG9jdW1lbnRhdGlvbiBmb3IgUHl0aG9uIDMuMyBpcyBvbmxpbmUsIHVwZGF0ZWQgZGFpbHk6CiAKLSAgICBodHRwOi8vZG9jcy5weXRob24ub3JnLzMuMi8KKyAgICBodHRwOi8vZG9jcy5weXRob24ub3JnLzMuMy8KIAogSXQgY2FuIGFsc28gYmUgZG93bmxvYWRlZCBpbiBtYW55IGZvcm1hdHMgZm9yIGZhc3RlciBhY2Nlc3MuICBUaGUgZG9jdW1lbnRhdGlvbgogaXMgZG93bmxvYWRhYmxlIGluIEhUTUwsIFBERiwgYW5kIHJlU3RydWN0dXJlZFRleHQgZm9ybWF0czsgdGhlIGxhdHRlciB2ZXJzaW9uCkBAIC04NSwxOCArODUsMTYgQEAKIEEgc291cmNlLXRvLXNvdXJjZSB0cmFuc2xhdGlvbiB0b29sLCAiMnRvMyIsIGNhbiB0YWtlIGNhcmUgb2YgdGhlIG11bmRhbmUgdGFzawogb2YgY29udmVydGluZyBsYXJnZSBhbW91bnRzIG9mIHNvdXJjZSBjb2RlLiAgSXQgaXMgbm90IGEgY29tcGxldGUgc29sdXRpb24gYnV0CiBpcyBjb21wbGVtZW50ZWQgYnkgdGhlIGRlcHJlY2F0aW9uIHdhcm5pbmdzIGluIDIuNi4gIFNlZQotaHR0cDovL2RvY3MucHl0aG9uLm9yZy8zLjIvbGlicmFyeS8ydG8zLmh0bWwgZm9yIG1vcmUgaW5mb3JtYXRpb24uCitodHRwOi8vZG9jcy5weXRob24ub3JnLzMuMy9saWJyYXJ5LzJ0bzMuaHRtbCBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KIAogCiBUZXN0aW5nCiAtLS0tLS0tCiAKLVRvIHRlc3QgdGhlIGludGVycHJldGVyLCB0eXBlICJtYWtlIHRlc3QiIGluIHRoZSB0b3AtbGV2ZWwgZGlyZWN0b3J5LiAgVGhpcyBydW5zCi10aGUgdGVzdCBzZXQgdHdpY2UgKG9uY2Ugd2l0aCBubyBjb21waWxlZCBmaWxlcywgb25jZSB3aXRoIHRoZSBjb21waWxlZCBmaWxlcwotbGVmdCBieSB0aGUgcHJldmlvdXMgdGVzdCBydW4pLiAgVGhlIHRlc3Qgc2V0IHByb2R1Y2VzIHNvbWUgb3V0cHV0LiAgWW91IGNhbgotZ2VuZXJhbGx5IGlnbm9yZSB0aGUgbWVzc2FnZXMgYWJvdXQgc2tpcHBlZCB0ZXN0cyBkdWUgdG8gb3B0aW9uYWwgZmVhdHVyZXMgd2hpY2gKLWNhbid0IGJlIGltcG9ydGVkLiAgSWYgYSBtZXNzYWdlIGlzIHByaW50ZWQgYWJvdXQgYSBmYWlsZWQgdGVzdCBvciBhIHRyYWNlYmFjawotb3IgY29yZSBkdW1wIGlzIHByb2R1Y2VkLCBzb21ldGhpbmcgaXMgd3JvbmcuCitUbyB0ZXN0IHRoZSBpbnRlcnByZXRlciwgdHlwZSAibWFrZSB0ZXN0IiBpbiB0aGUgdG9wLWxldmVsIGRpcmVjdG9yeS4gIFRoZSB0ZXN0CitzZXQgcHJvZHVjZXMgc29tZSBvdXRwdXQuICBZb3UgY2FuIGdlbmVyYWxseSBpZ25vcmUgdGhlIG1lc3NhZ2VzIGFib3V0IHNraXBwZWQKK3Rlc3RzIGR1ZSB0byBvcHRpb25hbCBmZWF0dXJlcyB3aGljaCBjYW4ndCBiZSBpbXBvcnRlZC4gIElmIGEgbWVzc2FnZSBpcyBwcmludGVkCithYm91dCBhIGZhaWxlZCB0ZXN0IG9yIGEgdHJhY2ViYWNrIG9yIGNvcmUgZHVtcCBpcyBwcm9kdWNlZCwgc29tZXRoaW5nIGlzIHdyb25nLgogCiBCeSBkZWZhdWx0LCB0ZXN0cyBhcmUgcHJldmVudGVkIGZyb20gb3ZlcnVzaW5nIHJlc291cmNlcyBsaWtlIGRpc2sgc3BhY2UgYW5kCiBtZW1vcnkuICBUbyBlbmFibGUgdGhlc2UgdGVzdHMsIHJ1biAibWFrZSB0ZXN0YWxsIi4KQEAgLTEyNSw4ICsxMjMsOCBAQAogSW5zdGFsbCB0aGF0IHZlcnNpb24gdXNpbmcgIm1ha2UgaW5zdGFsbCIuICBJbnN0YWxsIGFsbCBvdGhlciB2ZXJzaW9ucyB1c2luZwogIm1ha2UgYWx0aW5zdGFsbCIuCiAKLUZvciBleGFtcGxlLCBpZiB5b3Ugd2FudCB0byBpbnN0YWxsIFB5dGhvbiAyLjUsIDIuNiBhbmQgMy4yIHdpdGggMi42IGJlaW5nIHRoZQotcHJpbWFyeSB2ZXJzaW9uLCB5b3Ugd291bGQgZXhlY3V0ZSAibWFrZSBpbnN0YWxsIiBpbiB5b3VyIDIuNiBidWlsZCBkaXJlY3RvcnkKK0ZvciBleGFtcGxlLCBpZiB5b3Ugd2FudCB0byBpbnN0YWxsIFB5dGhvbiAyLjYsIDIuNyBhbmQgMy4zIHdpdGggMi43IGJlaW5nIHRoZQorcHJpbWFyeSB2ZXJzaW9uLCB5b3Ugd291bGQgZXhlY3V0ZSAibWFrZSBpbnN0YWxsIiBpbiB5b3VyIDIuNyBidWlsZCBkaXJlY3RvcnkKIGFuZCAibWFrZSBhbHRpbnN0YWxsIiBpbiB0aGUgb3RoZXJzLgogCiAKQEAgLTE2MSw3ICsxNTksNyBAQAogUmVsZWFzZSBTY2hlZHVsZQogLS0tLS0tLS0tLS0tLS0tLQogCi1TZWUgUEVQIDM5MiBmb3IgcmVsZWFzZSBkZXRhaWxzOiBodHRwOi8vd3d3LnB5dGhvbi5vcmcvZGV2L3BlcHMvcGVwLTAzOTIvCitTZWUgUEVQIDM5OCBmb3IgcmVsZWFzZSBkZXRhaWxzOiBodHRwOi8vd3d3LnB5dGhvbi5vcmcvZGV2L3BlcHMvcGVwLTAzOTgvCiAKIAogQ29weXJpZ2h0IGFuZCBMaWNlbnNlIEluZm9ybWF0aW9uCmRpZmYgLS1naXQgYS9Ub29scy9idWlsZGJvdC9leHRlcm5hbC1jb21tb24uYmF0IGIvVG9vbHMvYnVpbGRib3QvZXh0ZXJuYWwtY29tbW9uLmJhdAppbmRleCAxZmYyODJlLi4yNDRkNWY1IDEwMDY0NAotLS0gYS9Ub29scy9idWlsZGJvdC9leHRlcm5hbC1jb21tb24uYmF0CisrKyBiL1Rvb2xzL2J1aWxkYm90L2V4dGVybmFsLWNvbW1vbi5iYXQKQEAgLTQxLDMgKzQxLDggQEAKICAgcmQgL3MvcSBzcWxpdGUtc291cmNlLTMuNi4yMQogICBzdm4gZXhwb3J0IGh0dHA6Ly9zdm4ucHl0aG9uLm9yZy9wcm9qZWN0cy9leHRlcm5hbC9zcWxpdGUtMy43LjQKICkKKworQHJlbSBsem1hCitpZiBub3QgZXhpc3QgeHotNS4wLjMgKAorICBzdm4gZXhwb3J0IGh0dHA6Ly9zdm4ucHl0aG9uLm9yZy9wcm9qZWN0cy9leHRlcm5hbC94ei01LjAuMworKQpkaWZmIC0tZ2l0IGEvVG9vbHMvZ2RiL2xpYnB5dGhvbi5weSBiL1Rvb2xzL2dkYi9saWJweXRob24ucHkKaW5kZXggOGJiYmIxMC4uMzAzNDdjYiAxMDA2NDQKLS0tIGEvVG9vbHMvZ2RiL2xpYnB5dGhvbi5weQorKysgYi9Ub29scy9nZGIvbGlicHl0aG9uLnB5CkBAIC00OSw2ICs0OSwxMSBAQAogX3R5cGVfY2hhcl9wdHIgPSBnZGIubG9va3VwX3R5cGUoJ2NoYXInKS5wb2ludGVyKCkgIyBjaGFyKgogX3R5cGVfdW5zaWduZWRfY2hhcl9wdHIgPSBnZGIubG9va3VwX3R5cGUoJ3Vuc2lnbmVkIGNoYXInKS5wb2ludGVyKCkgIyB1bnNpZ25lZCBjaGFyKgogX3R5cGVfdm9pZF9wdHIgPSBnZGIubG9va3VwX3R5cGUoJ3ZvaWQnKS5wb2ludGVyKCkgIyB2b2lkKgorX3R5cGVfdW5zaWduZWRfc2hvcnRfcHRyID0gZ2RiLmxvb2t1cF90eXBlKCd1bnNpZ25lZCBzaG9ydCcpLnBvaW50ZXIoKQorX3R5cGVfdW5zaWduZWRfaW50X3B0ciA9IGdkYi5sb29rdXBfdHlwZSgndW5zaWduZWQgaW50JykucG9pbnRlcigpCisKKyMgdmFsdWUgY29tcHV0ZWQgbGF0ZXIsIHNlZSBQeVVuaWNvZGVPYmplY3RQdHIucHJveHkoKQorX2lzX3BlcDM5MyA9IE5vbmUKIAogU0laRU9GX1ZPSURfUCA9IF90eXBlX3ZvaWRfcHRyLnNpemVvZgogCkBAIC0zMjIsNyArMzI3LDYgQEAKIAogICAgICAgICBuYW1lX21hcCA9IHsnYm9vbCc6IFB5Qm9vbE9iamVjdFB0ciwKICAgICAgICAgICAgICAgICAgICAgJ2NsYXNzb2JqJzogUHlDbGFzc09iamVjdFB0ciwKLSAgICAgICAgICAgICAgICAgICAgJ2luc3RhbmNlJzogUHlJbnN0YW5jZU9iamVjdFB0ciwKICAgICAgICAgICAgICAgICAgICAgJ05vbmVUeXBlJzogUHlOb25lU3RydWN0UHRyLAogICAgICAgICAgICAgICAgICAgICAnZnJhbWUnOiBQeUZyYW1lT2JqZWN0UHRyLAogICAgICAgICAgICAgICAgICAgICAnc2V0JyA6IFB5U2V0T2JqZWN0UHRyLApAQCAtMzk2LDcgKzQwMCw3IEBACiAKIAogZGVmIF93cml0ZV9pbnN0YW5jZV9yZXByKG91dCwgdmlzaXRlZCwgbmFtZSwgcHlvcF9hdHRyZGljdCwgYWRkcmVzcyk6Ci0gICAgJycnU2hhcmVkIGNvZGUgZm9yIHVzZSBieSBvbGQtc3R5bGUgYW5kIG5ldy1zdHlsZSBjbGFzc2VzOgorICAgICcnJ1NoYXJlZCBjb2RlIGZvciB1c2UgYnkgYWxsIGNsYXNzZXM6CiAgICAgd3JpdGUgYSByZXByZXNlbnRhdGlvbiB0byBmaWxlLWxpa2Ugb2JqZWN0ICJvdXQiJycnCiAgICAgb3V0LndyaXRlKCc8JykKICAgICBvdXQud3JpdGUobmFtZSkKQEAgLTQ3OSw3ICs0ODMsNyBAQAogCiAgICAgZGVmIHByb3h5dmFsKHNlbGYsIHZpc2l0ZWQpOgogICAgICAgICAnJycKLSAgICAgICAgU3VwcG9ydCBmb3IgbmV3LXN0eWxlIGNsYXNzZXMuCisgICAgICAgIFN1cHBvcnQgZm9yIGNsYXNzZXMuCiAKICAgICAgICAgQ3VycmVudGx5IHdlIGp1c3QgbG9jYXRlIHRoZSBkaWN0aW9uYXJ5IHVzaW5nIGEgdHJhbnNsaXRlcmF0aW9uIHRvCiAgICAgICAgIHB5dGhvbiBvZiBfUHlPYmplY3RfR2V0RGljdFB0ciwgaWdub3JpbmcgZGVzY3JpcHRvcnMKQEAgLTQ5Niw3ICs1MDAsNyBAQAogICAgICAgICAgICAgYXR0cl9kaWN0ID0ge30KICAgICAgICAgdHBfbmFtZSA9IHNlbGYuc2FmZV90cF9uYW1lKCkKIAotICAgICAgICAjIE5ldy1zdHlsZSBjbGFzczoKKyAgICAgICAgIyBDbGFzczoKICAgICAgICAgcmV0dXJuIEluc3RhbmNlUHJveHkodHBfbmFtZSwgYXR0cl9kaWN0LCBsb25nKHNlbGYuX2dkYnZhbCkpCiAKICAgICBkZWYgd3JpdGVfcmVwcihzZWxmLCBvdXQsIHZpc2l0ZWQpOgpAQCAtNjY4LDQ0ICs2NzIsNiBAQAogICAgICAgICAgICAgcHlvcF92YWx1ZS53cml0ZV9yZXByKG91dCwgdmlzaXRlZCkKICAgICAgICAgb3V0LndyaXRlKCd9JykKIAotY2xhc3MgUHlJbnN0YW5jZU9iamVjdFB0cihQeU9iamVjdFB0cik6Ci0gICAgX3R5cGVuYW1lID0gJ1B5SW5zdGFuY2VPYmplY3QnCi0KLSAgICBkZWYgcHJveHl2YWwoc2VsZiwgdmlzaXRlZCk6Ci0gICAgICAgICMgR3VhcmQgYWdhaW5zdCBpbmZpbml0ZSBsb29wczoKLSAgICAgICAgaWYgc2VsZi5hc19hZGRyZXNzKCkgaW4gdmlzaXRlZDoKLSAgICAgICAgICAgIHJldHVybiBQcm94eUFscmVhZHlWaXNpdGVkKCc8Li4uPicpCi0gICAgICAgIHZpc2l0ZWQuYWRkKHNlbGYuYXNfYWRkcmVzcygpKQotCi0gICAgICAgICMgR2V0IG5hbWUgb2YgY2xhc3M6Ci0gICAgICAgIGluX2NsYXNzID0gc2VsZi5weW9wX2ZpZWxkKCdpbl9jbGFzcycpCi0gICAgICAgIGNsX25hbWUgPSBpbl9jbGFzcy5weW9wX2ZpZWxkKCdjbF9uYW1lJykucHJveHl2YWwodmlzaXRlZCkKLQotICAgICAgICAjIEdldCBkaWN0aW9uYXJ5IG9mIGluc3RhbmNlIGF0dHJpYnV0ZXM6Ci0gICAgICAgIGluX2RpY3QgPSBzZWxmLnB5b3BfZmllbGQoJ2luX2RpY3QnKS5wcm94eXZhbCh2aXNpdGVkKQotCi0gICAgICAgICMgT2xkLXN0eWxlIGNsYXNzOgotICAgICAgICByZXR1cm4gSW5zdGFuY2VQcm94eShjbF9uYW1lLCBpbl9kaWN0LCBsb25nKHNlbGYuX2dkYnZhbCkpCi0KLSAgICBkZWYgd3JpdGVfcmVwcihzZWxmLCBvdXQsIHZpc2l0ZWQpOgotICAgICAgICAjIEd1YXJkIGFnYWluc3QgaW5maW5pdGUgbG9vcHM6Ci0gICAgICAgIGlmIHNlbGYuYXNfYWRkcmVzcygpIGluIHZpc2l0ZWQ6Ci0gICAgICAgICAgICBvdXQud3JpdGUoJzwuLi4+JykKLSAgICAgICAgICAgIHJldHVybgotICAgICAgICB2aXNpdGVkLmFkZChzZWxmLmFzX2FkZHJlc3MoKSkKLQotICAgICAgICAjIE9sZC1zdHlsZSBjbGFzczoKLQotICAgICAgICAjIEdldCBuYW1lIG9mIGNsYXNzOgotICAgICAgICBpbl9jbGFzcyA9IHNlbGYucHlvcF9maWVsZCgnaW5fY2xhc3MnKQotICAgICAgICBjbF9uYW1lID0gaW5fY2xhc3MucHlvcF9maWVsZCgnY2xfbmFtZScpLnByb3h5dmFsKHZpc2l0ZWQpCi0KLSAgICAgICAgIyBHZXQgZGljdGlvbmFyeSBvZiBpbnN0YW5jZSBhdHRyaWJ1dGVzOgotICAgICAgICBweW9wX2luX2RpY3QgPSBzZWxmLnB5b3BfZmllbGQoJ2luX2RpY3QnKQotCi0gICAgICAgIF93cml0ZV9pbnN0YW5jZV9yZXByKG91dCwgdmlzaXRlZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xfbmFtZSwgcHlvcF9pbl9kaWN0LCBzZWxmLmFzX2FkZHJlc3MoKSkKLQogY2xhc3MgUHlMaXN0T2JqZWN0UHRyKFB5T2JqZWN0UHRyKToKICAgICBfdHlwZW5hbWUgPSAnUHlMaXN0T2JqZWN0JwogCkBAIC0xMTIzLDE1ICsxMDg5LDQ2IEBACiAgICAgICAgIHJldHVybiBfdHlwZV9QeV9VTklDT0RFLnNpemVvZgogCiAgICAgZGVmIHByb3h5dmFsKHNlbGYsIHZpc2l0ZWQpOgotICAgICAgICAjIEZyb20gdW5pY29kZW9iamVjdC5oOgotICAgICAgICAjICAgICBQeV9zc2l6ZV90IGxlbmd0aDsgIC8qIExlbmd0aCBvZiByYXcgVW5pY29kZSBkYXRhIGluIGJ1ZmZlciAqLwotICAgICAgICAjICAgICBQeV9VTklDT0RFICpzdHI7ICAgIC8qIFJhdyBVbmljb2RlIGJ1ZmZlciAqLwotICAgICAgICBmaWVsZF9sZW5ndGggPSBsb25nKHNlbGYuZmllbGQoJ2xlbmd0aCcpKQotICAgICAgICBmaWVsZF9zdHIgPSBzZWxmLmZpZWxkKCdzdHInKQorICAgICAgICBnbG9iYWwgX2lzX3BlcDM5MworICAgICAgICBpZiBfaXNfcGVwMzkzIGlzIE5vbmU6CisgICAgICAgICAgICBmaWVsZHMgPSBnZGIubG9va3VwX3R5cGUoJ1B5VW5pY29kZU9iamVjdCcpLnRhcmdldCgpLmZpZWxkcygpCisgICAgICAgICAgICBfaXNfcGVwMzkzID0gJ2RhdGEnIGluIFtmLm5hbWUgZm9yIGYgaW4gZmllbGRzXQorICAgICAgICBpZiBfaXNfcGVwMzkzOgorICAgICAgICAgICAgIyBQeXRob24gMy4zIGFuZCBuZXdlcgorICAgICAgICAgICAgbWF5X2hhdmVfc3Vycm9nYXRlcyA9IEZhbHNlCisgICAgICAgICAgICBjb21wYWN0ID0gc2VsZi5maWVsZCgnX2Jhc2UnKQorICAgICAgICAgICAgYXNjaWkgPSBjb21wYWN0WydfYmFzZSddCisgICAgICAgICAgICBzdGF0ZSA9IGFzY2lpWydzdGF0ZSddCisgICAgICAgICAgICBpc19jb21wYWN0X2FzY2lpID0gKGludChzdGF0ZVsnYXNjaWknXSkgYW5kIGludChzdGF0ZVsnY29tcGFjdCddKSkKKyAgICAgICAgICAgIGlmIG5vdCBpbnQoc3RhdGVbJ3JlYWR5J10pOgorICAgICAgICAgICAgICAgICMgc3RyaW5nIGlzIG5vdCByZWFkeQorICAgICAgICAgICAgICAgIGZpZWxkX2xlbmd0aCA9IGxvbmcoY29tcGFjdFsnd3N0cl9sZW5ndGgnXSkKKyAgICAgICAgICAgICAgICBtYXlfaGF2ZV9zdXJyb2dhdGVzID0gVHJ1ZQorICAgICAgICAgICAgICAgIGZpZWxkX3N0ciA9IGFzY2lpWyd3c3RyJ10KKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgZmllbGRfbGVuZ3RoID0gbG9uZyhhc2NpaVsnbGVuZ3RoJ10pCisgICAgICAgICAgICAgICAgaWYgaXNfY29tcGFjdF9hc2NpaToKKyAgICAgICAgICAgICAgICAgICAgZmllbGRfc3RyID0gYXNjaWkuYWRkcmVzcyArIDEKKyAgICAgICAgICAgICAgICBlbGlmIGludChzdGF0ZVsnY29tcGFjdCddKToKKyAgICAgICAgICAgICAgICAgICAgZmllbGRfc3RyID0gY29tcGFjdC5hZGRyZXNzICsgMQorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIGZpZWxkX3N0ciA9IHNlbGYuZmllbGQoJ2RhdGEnKVsnYW55J10KKyAgICAgICAgICAgICAgICByZXByX2tpbmQgPSBpbnQoc3RhdGVbJ2tpbmQnXSkKKyAgICAgICAgICAgICAgICBpZiByZXByX2tpbmQgPT0gMToKKyAgICAgICAgICAgICAgICAgICAgZmllbGRfc3RyID0gZmllbGRfc3RyLmNhc3QoX3R5cGVfdW5zaWduZWRfY2hhcl9wdHIpCisgICAgICAgICAgICAgICAgZWxpZiByZXByX2tpbmQgPT0gMjoKKyAgICAgICAgICAgICAgICAgICAgZmllbGRfc3RyID0gZmllbGRfc3RyLmNhc3QoX3R5cGVfdW5zaWduZWRfc2hvcnRfcHRyKQorICAgICAgICAgICAgICAgIGVsaWYgcmVwcl9raW5kID09IDQ6CisgICAgICAgICAgICAgICAgICAgIGZpZWxkX3N0ciA9IGZpZWxkX3N0ci5jYXN0KF90eXBlX3Vuc2lnbmVkX2ludF9wdHIpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICAjIFB5dGhvbiAzLjIgYW5kIGVhcmxpZXIKKyAgICAgICAgICAgIGZpZWxkX2xlbmd0aCA9IGxvbmcoc2VsZi5maWVsZCgnbGVuZ3RoJykpCisgICAgICAgICAgICBmaWVsZF9zdHIgPSBzZWxmLmZpZWxkKCdzdHInKQorICAgICAgICAgICAgbWF5X2hhdmVfc3Vycm9nYXRlcyA9IHNlbGYuY2hhcl93aWR0aCgpID09IDIKIAogICAgICAgICAjIEdhdGhlciBhIGxpc3Qgb2YgaW50cyBmcm9tIHRoZSBQeV9VTklDT0RFIGFycmF5OyB0aGVzZSBhcmUgZWl0aGVyCi0gICAgICAgICMgVUNTLTIgb3IgVUNTLTQgY29kZSBwb2ludHM6Ci0gICAgICAgIGlmIHNlbGYuY2hhcl93aWR0aCgpID4gMjoKKyAgICAgICAgIyBVQ1MtMSwgVUNTLTIgb3IgVUNTLTQgY29kZSBwb2ludHM6CisgICAgICAgIGlmIG5vdCBtYXlfaGF2ZV9zdXJyb2dhdGVzOgogICAgICAgICAgICAgUHlfVU5JQ09ERXMgPSBbaW50KGZpZWxkX3N0cltpXSkgZm9yIGkgaW4gc2FmZV9yYW5nZShmaWVsZF9sZW5ndGgpXQogICAgICAgICBlbHNlOgogICAgICAgICAgICAgIyBBIG1vcmUgZWxhYm9yYXRlIHJvdXRpbmUgaWYgc2l6ZW9mKFB5X1VOSUNPREUpIGlzIDIgaW4gdGhlCmRpZmYgLS1naXQgYS9Ub29scy9pb2JlbmNoL2lvYmVuY2gucHkgYi9Ub29scy9pb2JlbmNoL2lvYmVuY2gucHkKaW5kZXggNWVjNmYxNy4uNDA4YmU3YiAxMDA2NDQKLS0tIGEvVG9vbHMvaW9iZW5jaC9pb2JlbmNoLnB5CisrKyBiL1Rvb2xzL2lvYmVuY2gvaW9iZW5jaC5weQpAQCAtMSwxMyArMSwxNCBAQAogIyAtKi0gY29kaW5nOiB1dGYtOCAtKi0KICMgVGhpcyBmaWxlIHNob3VsZCBiZSBrZXB0IGNvbXBhdGlibGUgd2l0aCBib3RoIFB5dGhvbiAyLjYgYW5kIFB5dGhvbiA+PSAzLjAuCiAKLWltcG9ydCB0aW1lCitpbXBvcnQgZnVuY3Rvb2xzCitpbXBvcnQgaGFzaGxpYgoraW1wb3J0IGl0ZXJ0b29scwogaW1wb3J0IG9zCitpbXBvcnQgcGxhdGZvcm0KIGltcG9ydCByZQogaW1wb3J0IHN5cwotaW1wb3J0IGhhc2hsaWIKLWltcG9ydCBmdW5jdG9vbHMKLWltcG9ydCBpdGVydG9vbHMKK2ltcG9ydCB0aW1lCiBmcm9tIG9wdHBhcnNlIGltcG9ydCBPcHRpb25QYXJzZXIKIAogb3V0ID0gc3lzLnN0ZG91dApAQCAtMzA3LDYgKzMwOCwxNiBAQAogICAgICAgICAibGFyZ2UiOiAyLAogICAgIH0KIAorICAgIHByaW50KCJQeXRob24gJXMiICUgc3lzLnZlcnNpb24pCisgICAgaWYgc3lzLnZlcnNpb25faW5mbyA8ICgzLCAzKToKKyAgICAgICAgaWYgc3lzLm1heHVuaWNvZGUgPiAweGZmZmY6CisgICAgICAgICAgICB0ZXh0ID0gIlVDUy00ICh3aWRlIGJ1aWxkKSIKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHRleHQgPSAiVVRGLTE2IChuYXJyb3cgYnVpbGQpIgorICAgIGVsc2U6CisgICAgICAgIHRleHQgPSAiUEVQIDM5MyIKKyAgICBwcmludCgiVW5pY29kZTogJXMiICUgdGV4dCkKKyAgICBwcmludChwbGF0Zm9ybS5wbGF0Zm9ybSgpKQogICAgIGJpbmFyeV9maWxlcyA9IGxpc3QoZ2V0X2JpbmFyeV9maWxlcygpKQogICAgIHRleHRfZmlsZXMgPSBsaXN0KGdldF90ZXh0X2ZpbGVzKCkpCiAgICAgaWYgImIiIGluIG9wdGlvbnM6CmRpZmYgLS1naXQgYS9Ub29scy9tc2kvbXNpLnB5IGIvVG9vbHMvbXNpL21zaS5weQppbmRleCA1MDg4MTZkLi5hMThkZWJjIDEwMDY0NAotLS0gYS9Ub29scy9tc2kvbXNpLnB5CisrKyBiL1Rvb2xzL21zaS9tc2kucHkKQEAgLTIsMTIgKzIsMTEgQEAKICMgKEMpIDIwMDMgTWFydGluIHYuIExvZXdpcwogIyBTZWUgIkZPTyIgaW4gY29tbWVudHMgcmVmZXJzIHRvIE1TRE4gc2VjdGlvbnMgd2l0aCB0aGUgdGl0bGUgRk9PLgogaW1wb3J0IG1zaWxpYiwgc2NoZW1hLCBzZXF1ZW5jZSwgb3MsIGdsb2IsIHRpbWUsIHJlLCBzaHV0aWwsIHppcGZpbGUKK2ltcG9ydCBzdWJwcm9jZXNzLCB0ZW1wZmlsZQogZnJvbSBtc2lsaWIgaW1wb3J0IEZlYXR1cmUsIENBQiwgRGlyZWN0b3J5LCBEaWFsb2csIEJpbmFyeSwgYWRkX2RhdGEKIGltcG9ydCB1aXNhbXBsZQogZnJvbSB3aW4zMmNvbS5jbGllbnQgaW1wb3J0IGNvbnN0YW50cwogZnJvbSBkaXN0dXRpbHMuc3Bhd24gaW1wb3J0IGZpbmRfZXhlY3V0YWJsZQotZnJvbSB1dWlkcyBpbXBvcnQgcHJvZHVjdF9jb2RlcwotaW1wb3J0IHRlbXBmaWxlCiAKICMgU2V0dGluZ3MgY2FuIGJlIG92ZXJyaWRkZW4gaW4gY29uZmlnLnB5IGJlbG93CiAjIDAgZm9yIG9mZmljaWFsIHB5dGhvbi5vcmcgcmVsZWFzZXMKQEAgLTc3LDE5ICs3NiwxNiBAQAogCiBpZiBzbmFwc2hvdDoKICAgICBjdXJyZW50X3ZlcnNpb24gPSAiJXMuJXMuJXMiICUgKG1ham9yLCBtaW5vciwgaW50KHRpbWUudGltZSgpLzM2MDAvMjQpKQotICAgIHByb2R1Y3RfY29kZSA9IG1zaWxpYi5nZW5fdXVpZCgpCi1lbHNlOgotICAgIHByb2R1Y3RfY29kZSA9IHByb2R1Y3RfY29kZXNbY3VycmVudF92ZXJzaW9uXQogCiBpZiBmdWxsX2N1cnJlbnRfdmVyc2lvbiBpcyBOb25lOgogICAgIGZ1bGxfY3VycmVudF92ZXJzaW9uID0gY3VycmVudF92ZXJzaW9uCiAKIGV4dGVuc2lvbnMgPSBbCi0gICAgJ2J6Mi5weWQnLAogICAgICdweWV4cGF0LnB5ZCcsCiAgICAgJ3NlbGVjdC5weWQnLAogICAgICd1bmljb2RlZGF0YS5weWQnLAogICAgICd3aW5zb3VuZC5weWQnLAorICAgICdfYnoyLnB5ZCcsCiAgICAgJ19lbGVtZW50dHJlZS5weWQnLAogICAgICdfc29ja2V0LnB5ZCcsCiAgICAgJ19zc2wucHlkJywKQEAgLTEwMCw3ICs5Niw4IEBACiAgICAgJ19jdHlwZXNfdGVzdC5weWQnLAogICAgICdfc3FsaXRlMy5weWQnLAogICAgICdfaGFzaGxpYi5weWQnLAotICAgICdfbXVsdGlwcm9jZXNzaW5nLnB5ZCcKKyAgICAnX211bHRpcHJvY2Vzc2luZy5weWQnLAorICAgICdfbHptYS5weWQnCiBdCiAKICMgV2VsbC1rbm93biBjb21wb25lbnQgVVVJRHMKQEAgLTExOSw2ICsxMTYsNyBAQAogICAgICIzMCI6Ins2OTUzYmMzYi02NzY4LTQyOTEtODQxMC03OTE0Y2U2ZTJjYTh9IiwKICAgICAiMzEiOiJ7NGFmY2JhMGItMTNlNC00N2MzLWJlYmUtNDc3NDI4YjQ2OTEzfSIsCiAgICAgIjMyIjoiezNmZjk1MzE1LTEwOTYtNGQzMS1iZDg2LTYwMWQ1NDM4YWQ1ZX0iLAorICAgICIzMyI6IntmNzU4MWNhNC1kMzY4LTRlZWEtOGY4Mi1kNDhjNjRjNGYwNDd9IiwKICAgICB9IFttYWpvcittaW5vcl0KIAogIyBDb21wdXRlIHRoZSBuYW1lIHRoYXQgU3BoaW54IGdpdmVzIHRvIHRoZSBkb2NmaWxlCkBAIC0xODUsMTIgKzE4MywxOSBAQAogbXNpbGliLnNldF9hcmNoX2Zyb21fZmlsZShkbGxfcGF0aCkKIGlmIG1zaWxpYi5wZV90eXBlKGRsbF9wYXRoKSAhPSBtc2lsaWIucGVfdHlwZSgibXNpc3VwcG9ydC5kbGwiKToKICAgICByYWlzZSBTeXN0ZW1FcnJvcigibXNpc3VwcG9ydC5kbGwgZm9yIGluY29ycmVjdCBhcmNoaXRlY3R1cmUiKQorCiBpZiBtc2lsaWIuV2luNjQ6CiAgICAgdXBncmFkZV9jb2RlID0gdXBncmFkZV9jb2RlXzY0Ci0gICAgIyBCdW1wIHRoZSBsYXN0IGRpZ2l0IG9mIHRoZSBjb2RlIGJ5IG9uZSwgc28gdGhhdCAzMi1iaXQgYW5kIDY0LWJpdAotICAgICMgcmVsZWFzZXMgZ2V0IHNlcGFyYXRlIHByb2R1Y3QgY29kZXMKLSAgICBkaWdpdCA9IGhleCgoaW50KHByb2R1Y3RfY29kZVstMl0sMTYpKzEpJTE2KVstMV0KLSAgICBwcm9kdWN0X2NvZGUgPSBwcm9kdWN0X2NvZGVbOi0yXSArIGRpZ2l0ICsgJ30nCisKK2lmIHNuYXBzaG90OgorICAgIHByb2R1Y3RfY29kZSA9IG1zaWxpYi5nZW5fdXVpZCgpCitlbHNlOgorICAgICMgb2ZmaWNpYWwgcmVsZWFzZTogZ2VuZXJhdGUgVVVJRCBmcm9tIHRoZSBkb3dubG9hZCBsaW5rIHRoYXQgdGhlIGZpbGUgd2lsbCBoYXZlCisgICAgaW1wb3J0IHV1aWQKKyAgICBwcm9kdWN0X2NvZGUgPSB1dWlkLnV1aWQzKHV1aWQuTkFNRVNQQUNFX1VSTCwKKyAgICAgICAgICAgICAgICAgICAgJ2h0dHA6Ly93d3cucHl0aG9uLm9yZy9mdHAvcHl0aG9uLyVzLiVzLiVzL3B5dGhvbi0lcyVzLm1zaScgJQorICAgICAgICAgICAgICAgICAgICAobWFqb3IsIG1pbm9yLCBtaWNybywgZnVsbF9jdXJyZW50X3ZlcnNpb24sIG1zaWxpYi5hcmNoX2V4dCkpCisgICAgcHJvZHVjdF9jb2RlID0gJ3slc30nICUgcHJvZHVjdF9jb2RlCiAKIGlmIHRlc3RwYWNrYWdlOgogICAgIGV4dCA9ICdweCcKQEAgLTkwNCwxNiArOTA5LDI3IEBACiAgICAgICAgICAgICBrd1snY29tcG9uZW50ZmxhZ3MnXSA9IDIgI21zaWRiQ29tcG9uZW50QXR0cmlidXRlc09wdGlvbmFsCiAgICAgICAgIERpcmVjdG9yeS5fX2luaXRfXyhzZWxmLCAqYXJncywgKiprdykKIAotICAgIGRlZiBjaGVja191bnBhY2thZ2VkKHNlbGYpOgotICAgICAgICBzZWxmLnVucGFja2FnZWRfZmlsZXMuZGlzY2FyZCgnX19weWNhY2hlX18nKQotICAgICAgICBzZWxmLnVucGFja2FnZWRfZmlsZXMuZGlzY2FyZCgnLnN2bicpCi0gICAgICAgIGlmIHNlbGYudW5wYWNrYWdlZF9maWxlczoKLSAgICAgICAgICAgIHByaW50ICJXYXJuaW5nOiBVbnBhY2thZ2VkIGZpbGVzIGluICVzIiAlIHNlbGYuYWJzb2x1dGUKLSAgICAgICAgICAgIHByaW50IHNlbGYudW5wYWNrYWdlZF9maWxlcworZGVmIGhnbWFuaWZlc3QoKToKKyAgICAjIEZldGNoIGZpbGUgbGlzdCBmcm9tIE1lcmN1cmlhbAorICAgIHByb2Nlc3MgPSBzdWJwcm9jZXNzLlBvcGVuKFsnaGcnLCAnbWFuaWZlc3QnXSwgc3Rkb3V0PXN1YnByb2Nlc3MuUElQRSkKKyAgICBzdGRvdXQsIHN0ZGVyciA9IHByb2Nlc3MuY29tbXVuaWNhdGUoKQorICAgICMgQ3JlYXRlIG5lc3RlZCBkaXJlY3RvcmllcyBmb3IgZmlsZSB0cmVlCisgICAgcmVzdWx0ID0ge30KKyAgICBmb3IgbGluZSBpbiBzdGRvdXQuc3BsaXRsaW5lcygpOgorICAgICAgICBjb21wb25lbnRzID0gbGluZS5zcGxpdCgnLycpCisgICAgICAgIGQgPSByZXN1bHQKKyAgICAgICAgd2hpbGUgbGVuKGNvbXBvbmVudHMpID4gMToKKyAgICAgICAgICAgIGQxID0gZC5zZXRkZWZhdWx0KGNvbXBvbmVudHNbMF0sIHt9KQorICAgICAgICAgICAgZCA9IGQxCisgICAgICAgICAgICBkZWwgY29tcG9uZW50c1swXQorICAgICAgICBkW2NvbXBvbmVudHNbMF1dID0gTm9uZQorICAgIHJldHVybiByZXN1bHQKKwogCiAjIFNlZSAiRmlsZSBUYWJsZSIsICJDb21wb25lbnQgVGFibGUiLCAiRGlyZWN0b3J5IFRhYmxlIiwKICMgIkZlYXR1cmVDb21wb25lbnRzIFRhYmxlIgogZGVmIGFkZF9maWxlcyhkYik6CisgICAgaGdmaWxlcyA9IGhnbWFuaWZlc3QoKQogICAgIGNhYiA9IENBQigicHl0aG9uIikKICAgICB0bXBmaWxlcyA9IFtdCiAgICAgIyBBZGQgYWxsIGV4ZWN1dGFibGVzLCBpY29ucywgdGV4dCBmaWxlcyBpbnRvIHRoZSBUQVJHRVRESVIgY29tcG9uZW50CkBAIC05NzUsMTA0ICs5OTEsNDAgQEAKIAogICAgICMgQWRkIGFsbCAucHkgZmlsZXMgaW4gTGliLCBleGNlcHQgdGtpbnRlciwgdGVzdAogICAgIGRpcnMgPSBbXQotICAgIHB5ZGlycyA9IFsocm9vdCwiTGliIildCisgICAgcHlkaXJzID0gWyhyb290LCAiTGliIiwgaGdmaWxlc1siTGliIl0sIGRlZmF1bHRfZmVhdHVyZSldCiAgICAgd2hpbGUgcHlkaXJzOgogICAgICAgICAjIENvbW1pdCBldmVyeSBub3cgYW5kIHRoZW4sIG9yIGVsc2UgaW5zdGFsbGVyIHdpbGwgY29tcGxhaW4KICAgICAgICAgZGIuQ29tbWl0KCkKLSAgICAgICAgcGFyZW50LCBkaXIgPSBweWRpcnMucG9wKCkKLSAgICAgICAgaWYgZGlyID09ICIuc3ZuIiBvciBkaXIgPT0gJ19fcHljYWNoZV9fJyBvciBkaXIuc3RhcnRzd2l0aCgicGxhdC0iKToKKyAgICAgICAgcGFyZW50LCBkaXIsIGZpbGVzLCBmZWF0dXJlID0gcHlkaXJzLnBvcCgpCisgICAgICAgIGlmIGRpci5zdGFydHN3aXRoKCJwbGF0LSIpOgogICAgICAgICAgICAgY29udGludWUKLSAgICAgICAgZWxpZiBkaXIgaW4gWyJ0a2ludGVyIiwgImlkbGVsaWIiLCAiSWNvbnMiXToKKyAgICAgICAgaWYgZGlyIGluIFsidGtpbnRlciIsICJpZGxlbGliIiwgInR1cnRsZWRlbW8iXToKICAgICAgICAgICAgIGlmIG5vdCBoYXZlX3RjbDoKICAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgZmVhdHVyZSA9IHRjbHRrCiAgICAgICAgICAgICB0Y2x0ay5zZXRfY3VycmVudCgpCi0gICAgICAgIGVsaWYgZGlyIGluIFsndGVzdCcsICd0ZXN0cycsICdkYXRhJywgJ291dHB1dCddOgotICAgICAgICAgICAgIyB0ZXN0OiBMaWIsIExpYi9lbWFpbCwgTGliL2N0eXBlcywgTGliL3NxbGl0ZTMKLSAgICAgICAgICAgICMgdGVzdHM6IExpYi9kaXN0dXRpbHMKLSAgICAgICAgICAgICMgZGF0YTogTGliL2VtYWlsL3Rlc3QKLSAgICAgICAgICAgICMgb3V0cHV0OiBMaWIvdGVzdAotICAgICAgICAgICAgdGVzdHN1aXRlLnNldF9jdXJyZW50KCkKKyAgICAgICAgZWxpZiBkaXIgaW4gKCd0ZXN0JywgJ3Rlc3RzJyk6CisgICAgICAgICAgICBmZWF0dXJlID0gdGVzdHN1aXRlCiAgICAgICAgIGVsaWYgbm90IGhhdmVfY3R5cGVzIGFuZCBkaXIgPT0gImN0eXBlcyI6CiAgICAgICAgICAgICBjb250aW51ZQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgZGVmYXVsdF9mZWF0dXJlLnNldF9jdXJyZW50KCkKKyAgICAgICAgZmVhdHVyZS5zZXRfY3VycmVudCgpCiAgICAgICAgIGxpYiA9IFB5RGlyZWN0b3J5KGRiLCBjYWIsIHBhcmVudCwgZGlyLCBkaXIsICIlc3wlcyIgJSAocGFyZW50Lm1ha2Vfc2hvcnQoZGlyKSwgZGlyKSkKLSAgICAgICAgIyBBZGQgYWRkaXRpb25hbCBmaWxlcwogICAgICAgICBkaXJzLmFwcGVuZChsaWIpCi0gICAgICAgIGxpYi5nbG9iKCIqLnR4dCIpCi0gICAgICAgIGlmIGRpcj09J3NpdGUtcGFja2FnZXMnOgotICAgICAgICAgICAgbGliLmFkZF9maWxlKCJSRUFETUUudHh0Iiwgc3JjPSJSRUFETUUiKQotICAgICAgICAgICAgY29udGludWUKLSAgICAgICAgZmlsZXMgPSBsaWIuZ2xvYigiKi5weSIpCi0gICAgICAgIGZpbGVzICs9IGxpYi5nbG9iKCIqLnB5dyIpCi0gICAgICAgIGlmIGZpbGVzOgotICAgICAgICAgICAgIyBBZGQgYW4gZW50cnkgdG8gdGhlIFJlbW92ZUZpbGUgdGFibGUgdG8gcmVtb3ZlIGJ5dGVjb2RlIGZpbGVzLgotICAgICAgICAgICAgbGliLnJlbW92ZV9weWMoKQotICAgICAgICAjIHBhY2thZ2UgUkVBRE1FcyBpZiBwcmVzZW50Ci0gICAgICAgIGxpYi5nbG9iKCJSRUFETUUiKQotICAgICAgICBpZiBkaXI9PSdMaWInOgotICAgICAgICAgICAgbGliLmFkZF9maWxlKCd3c2dpcmVmLmVnZy1pbmZvJykKLSAgICAgICAgaWYgZGlyPT0ndGVzdCcgYW5kIHBhcmVudC5waHlzaWNhbD09J0xpYic6Ci0gICAgICAgICAgICBsaWIuYWRkX2ZpbGUoIjE4NXRlc3QuZGIiKQotICAgICAgICAgICAgbGliLmFkZF9maWxlKCJhdWRpb3Rlc3QuYXUiKQotICAgICAgICAgICAgbGliLmFkZF9maWxlKCJzZ21sX2lucHV0Lmh0bWwiKQotICAgICAgICAgICAgbGliLmFkZF9maWxlKCJ0ZXN0dGFyLnRhciIpCi0gICAgICAgICAgICBsaWIuYWRkX2ZpbGUoInRlc3RfZGlmZmxpYl9leHBlY3QuaHRtbCIpCi0gICAgICAgICAgICBsaWIuYWRkX2ZpbGUoImNoZWNrX3NvdW5kY2FyZC52YnMiKQotICAgICAgICAgICAgbGliLmFkZF9maWxlKCJlbXB0eS52YnMiKQotICAgICAgICAgICAgbGliLmFkZF9maWxlKCJTaW5lLTEwMDBIei0zMDBtcy5haWYiKQotICAgICAgICAgICAgbGliLmFkZF9maWxlKCJtaW1lLnR5cGVzIikKLSAgICAgICAgICAgIGxpYi5nbG9iKCIqLnV1ZSIpCi0gICAgICAgICAgICBsaWIuZ2xvYigiKi5wZW0iKQotICAgICAgICAgICAgbGliLmdsb2IoIioucGNrIikKLSAgICAgICAgICAgIGxpYi5nbG9iKCJjZmdwYXJzZXIuKiIpCi0gICAgICAgICAgICBsaWIuYWRkX2ZpbGUoInppcF9jcDQzN19oZWFkZXIuemlwIikKLSAgICAgICAgICAgIGxpYi5hZGRfZmlsZSgiemlwZGlyLnppcCIpCi0gICAgICAgIGlmIGRpcj09J2NhcGF0aCc6Ci0gICAgICAgICAgICBsaWIuZ2xvYigiKi4wIikKLSAgICAgICAgaWYgZGlyPT0ndGVzdHMnIGFuZCBwYXJlbnQucGh5c2ljYWw9PSdkaXN0dXRpbHMnOgotICAgICAgICAgICAgbGliLmFkZF9maWxlKCJTZXR1cC5zYW1wbGUiKQotICAgICAgICBpZiBkaXI9PSdkZWNpbWFsdGVzdGRhdGEnOgotICAgICAgICAgICAgbGliLmdsb2IoIiouZGVjVGVzdCIpCi0gICAgICAgIGlmIGRpcj09J3htbHRlc3RkYXRhJzoKLSAgICAgICAgICAgIGxpYi5nbG9iKCIqLnhtbCIpCi0gICAgICAgICAgICBsaWIuYWRkX2ZpbGUoInRlc3QueG1sLm91dCIpCi0gICAgICAgIGlmIGRpcj09J291dHB1dCc6Ci0gICAgICAgICAgICBsaWIuZ2xvYigidGVzdF8qIikKLSAgICAgICAgaWYgZGlyPT0nc25kaGRyZGF0YSc6Ci0gICAgICAgICAgICBsaWIuZ2xvYigic25kaGRyLioiKQotICAgICAgICBpZiBkaXI9PSdpZGxlbGliJzoKLSAgICAgICAgICAgIGxpYi5nbG9iKCIqLmRlZiIpCi0gICAgICAgICAgICBsaWIuYWRkX2ZpbGUoImlkbGUuYmF0IikKLSAgICAgICAgICAgIGxpYi5hZGRfZmlsZSgiQ2hhbmdlTG9nIikKLSAgICAgICAgaWYgZGlyPT0iSWNvbnMiOgotICAgICAgICAgICAgbGliLmdsb2IoIiouZ2lmIikKLSAgICAgICAgICAgIGxpYi5hZGRfZmlsZSgiaWRsZS5pY25zIikKLSAgICAgICAgaWYgZGlyPT0iY29tbWFuZCIgYW5kIHBhcmVudC5waHlzaWNhbD09ImRpc3R1dGlscyI6Ci0gICAgICAgICAgICBsaWIuZ2xvYigid2luaW5zdCouZXhlIikKLSAgICAgICAgICAgIGxpYi5hZGRfZmlsZSgiY29tbWFuZF90ZW1wbGF0ZSIpCi0gICAgICAgIGlmIGRpcj09ImxpYjJ0bzMiOgotICAgICAgICAgICAgbGliLnJlbW92ZWZpbGUoInBpY2tsZSIsICIqLnBpY2tsZSIpCi0gICAgICAgIGlmIGRpcj09Im1hY2hvbGliIjoKLSAgICAgICAgICAgIGxpYi5hZGRfZmlsZSgiUkVBRE1FLmN0eXBlcyIpCi0gICAgICAgICAgICBsaWIuZ2xvYigiZmV0Y2hfbWFjaG9saWIqIikKLSAgICAgICAgaWYgZGlyPT0ndHVydGxlZGVtbyc6Ci0gICAgICAgICAgICBsaWIuYWRkX2ZpbGUoInR1cnRsZS5jZmciKQotICAgICAgICBpZiBkaXI9PSJweWRvY19kYXRhIjoKLSAgICAgICAgICAgIGxpYi5hZGRfZmlsZSgiX3B5ZG9jLmNzcyIpCi0gICAgICAgIGlmIGRpcj09ImRhdGEiIGFuZCBwYXJlbnQucGh5c2ljYWw9PSJ0ZXN0IiBhbmQgcGFyZW50LmJhc2VkaXIucGh5c2ljYWw9PSJlbWFpbCI6Ci0gICAgICAgICAgICAjIFRoaXMgc2hvdWxkIGNvbnRhaW4gYWxsIG5vbi0uc3ZuIGZpbGVzIGxpc3RlZCBpbiBzdWJ2ZXJzaW9uCi0gICAgICAgICAgICBmb3IgZiBpbiBvcy5saXN0ZGlyKGxpYi5hYnNvbHV0ZSk6Ci0gICAgICAgICAgICAgICAgaWYgZi5lbmRzd2l0aCgiLnR4dCIpIG9yIGY9PSIuc3ZuIjpjb250aW51ZQotICAgICAgICAgICAgICAgIGlmIGYuZW5kc3dpdGgoIi5hdSIpIG9yIGYuZW5kc3dpdGgoIi5naWYiKToKLSAgICAgICAgICAgICAgICAgICAgbGliLmFkZF9maWxlKGYpCisgICAgICAgIGhhc19weSA9IEZhbHNlCisgICAgICAgIGZvciBuYW1lLCBzdWJkaXIgaW4gZmlsZXMuaXRlbXMoKToKKyAgICAgICAgICAgIGlmIHN1YmRpciBpcyBOb25lOgorICAgICAgICAgICAgICAgIGFzc2VydCBvcy5wYXRoLmlzZmlsZShvcy5wYXRoLmpvaW4obGliLmFic29sdXRlLCBuYW1lKSkKKyAgICAgICAgICAgICAgICBpZiBuYW1lID09ICdSRUFETUUnOgorICAgICAgICAgICAgICAgICAgICBsaWIuYWRkX2ZpbGUoIlJFQURNRS50eHQiLCBzcmM9IlJFQURNRSIpCiAgICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgcHJpbnQoIldBUk5JTkc6IE5ldyBmaWxlICVzIGluIGVtYWlsL3Rlc3QvZGF0YSIgJSBmKQotICAgICAgICBmb3IgZiBpbiBvcy5saXN0ZGlyKGxpYi5hYnNvbHV0ZSk6Ci0gICAgICAgICAgICBpZiBvcy5wYXRoLmlzZGlyKG9zLnBhdGguam9pbihsaWIuYWJzb2x1dGUsIGYpKToKLSAgICAgICAgICAgICAgICBweWRpcnMuYXBwZW5kKChsaWIsIGYpKQotICAgIGZvciBkIGluIGRpcnM6Ci0gICAgICAgIGQuY2hlY2tfdW5wYWNrYWdlZCgpCisgICAgICAgICAgICAgICAgICAgIGxpYi5hZGRfZmlsZShuYW1lKQorICAgICAgICAgICAgICAgICAgICBoYXNfcHkgPSBoYXNfcHkgb3IgbmFtZS5lbmRzd2l0aCgiLnB5Iikgb3IgbmFtZS5lbmRzd2l0aCgiLnB5dyIpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIGFzc2VydCBvcy5wYXRoLmlzZGlyKG9zLnBhdGguam9pbihsaWIuYWJzb2x1dGUsIG5hbWUpKQorICAgICAgICAgICAgICAgIHB5ZGlycy5hcHBlbmQoKGxpYiwgbmFtZSwgc3ViZGlyLCBmZWF0dXJlKSkKKworICAgICAgICBpZiBoYXNfcHk6CisgICAgICAgICAgICBsaWIucmVtb3ZlX3B5YygpCiAgICAgIyBBZGQgRExMcwogICAgIGRlZmF1bHRfZmVhdHVyZS5zZXRfY3VycmVudCgpCiAgICAgbGliID0gRExMcwpAQCAtMTE1OSw2ICsxMTExLDggQEAKICAgICAgICAgICAgIGxpYi5hZGRfZmlsZSgiUkVBRE1FLnR4dCIsIHNyYz0iUkVBRE1FIikKICAgICAgICAgaWYgZiA9PSAnU2NyaXB0cyc6CiAgICAgICAgICAgICBsaWIuYWRkX2ZpbGUoIjJ0bzMucHkiLCBzcmM9IjJ0bzMiKQorICAgICAgICAgICAgbGliLmFkZF9maWxlKCJweWRvYzMucHkiLCBzcmM9InB5ZG9jMyIpCisgICAgICAgICAgICBsaWIuYWRkX2ZpbGUoInB5c2V0dXAzLnB5Iiwgc3JjPSJweXNldHVwMyIpCiAgICAgICAgICAgICBpZiBoYXZlX3RjbDoKICAgICAgICAgICAgICAgICBsaWIuc3RhcnRfY29tcG9uZW50KCJweWRvY2d1aS5weXciLCB0Y2x0aywga2V5ZmlsZT0icHlkb2NndWkucHl3IikKICAgICAgICAgICAgICAgICBsaWIuYWRkX2ZpbGUoInB5ZG9jZ3VpLnB5dyIpCmRpZmYgLS1naXQgYS9Ub29scy9tc2kvbXNpbGliLnB5IGIvVG9vbHMvbXNpL21zaWxpYi5weQppbmRleCA1Nzk1ZDBlLi40NzJkOWQ0IDEwMDY0NAotLS0gYS9Ub29scy9tc2kvbXNpbGliLnB5CisrKyBiL1Rvb2xzL21zaS9tc2lsaWIucHkKQEAgLTQwOCw3ICs0MDgsNyBAQAogICAgICAgICBzZWxmLnBoeXNpY2FsID0gcGh5c2ljYWwKICAgICAgICAgc2VsZi5sb2dpY2FsID0gbG9naWNhbAogICAgICAgICBzZWxmLmNvbXBvbmVudCA9IE5vbmUKLSAgICAgICAgc2VsZi5zaG9ydF9uYW1lcyA9IHNldHMuU2V0KCkKKyAgICAgICAgc2VsZi5zaG9ydF9uYW1lcyA9IHt9CiAgICAgICAgIHNlbGYuaWRzID0gc2V0cy5TZXQoKQogICAgICAgICBzZWxmLmtleWZpbGVzID0ge30KICAgICAgICAgc2VsZi5jb21wb25lbnRmbGFncyA9IGNvbXBvbmVudGZsYWdzCkBAIC00NTYsMjMgKzQ1NiwyNSBAQAogICAgICAgICAgICAgICAgICAgICAgICAgWyhmZWF0dXJlLmlkLCBjb21wb25lbnQpXSkKIAogICAgIGRlZiBtYWtlX3Nob3J0KHNlbGYsIGZpbGUpOgorICAgICAgICBsb25nID0gZmlsZQogICAgICAgICBmaWxlID0gcmUuc3ViKHInW1w/fD48Oi8qIissOz1cW1xdXScsICdfJywgZmlsZSkgIyByZXN0cmljdGlvbnMgb24gc2hvcnQgbmFtZXMKLSAgICAgICAgcGFydHMgPSBmaWxlLnNwbGl0KCIuIikKKyAgICAgICAgcGFydHMgPSBmaWxlLnNwbGl0KCIuIiwgMSkKICAgICAgICAgaWYgbGVuKHBhcnRzKT4xOgotICAgICAgICAgICAgc3VmZml4ID0gcGFydHNbLTFdLnVwcGVyKCkKKyAgICAgICAgICAgIHN1ZmZpeCA9IHBhcnRzWzFdLnVwcGVyKCkKICAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHN1ZmZpeCA9IE5vbmUKKyAgICAgICAgICAgIHN1ZmZpeCA9ICcnCiAgICAgICAgIHByZWZpeCA9IHBhcnRzWzBdLnVwcGVyKCkKLSAgICAgICAgaWYgbGVuKHByZWZpeCkgPD0gOCBhbmQgKG5vdCBzdWZmaXggb3IgbGVuKHN1ZmZpeCk8PTMpOgorICAgICAgICBpZiBsZW4ocHJlZml4KSA8PSA4IGFuZCAnLicgbm90IGluIHN1ZmZpeCBhbmQgbGVuKHN1ZmZpeCkgPD0gMzoKICAgICAgICAgICAgIGlmIHN1ZmZpeDoKICAgICAgICAgICAgICAgICBmaWxlID0gcHJlZml4KyIuIitzdWZmaXgKICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgZmlsZSA9IHByZWZpeAotICAgICAgICAgICAgYXNzZXJ0IGZpbGUgbm90IGluIHNlbGYuc2hvcnRfbmFtZXMKKyAgICAgICAgICAgIGFzc2VydCBmaWxlIG5vdCBpbiBzZWxmLnNob3J0X25hbWVzLCAoZmlsZSwgc2VsZi5zaG9ydF9uYW1lc1tmaWxlXSkKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIHByZWZpeCA9IHByZWZpeFs6Nl0KICAgICAgICAgICAgIGlmIHN1ZmZpeDoKLSAgICAgICAgICAgICAgICBzdWZmaXggPSBzdWZmaXhbOjNdCisgICAgICAgICAgICAgICAgIyBsYXN0IHRocmVlIGNoYXJhY3RlcnMgb2YgbGFzdCBzdWZmaXgKKyAgICAgICAgICAgICAgICBzdWZmaXggPSBzdWZmaXgucnNwbGl0KCcuJylbLTFdWzozXQogICAgICAgICAgICAgcG9zID0gMQogICAgICAgICAgICAgd2hpbGUgMToKICAgICAgICAgICAgICAgICBpZiBzdWZmaXg6CkBAIC00ODQsNyArNDg2LDcgQEAKICAgICAgICAgICAgICAgICBhc3NlcnQgcG9zIDwgMTAwMDAKICAgICAgICAgICAgICAgICBpZiBwb3MgaW4gKDEwLCAxMDAsIDEwMDApOgogICAgICAgICAgICAgICAgICAgICBwcmVmaXggPSBwcmVmaXhbOi0xXQotICAgICAgICBzZWxmLnNob3J0X25hbWVzLmFkZChmaWxlKQorICAgICAgICBzZWxmLnNob3J0X25hbWVzW2ZpbGVdID0gbG9uZwogICAgICAgICByZXR1cm4gZmlsZQogCiAgICAgZGVmIGFkZF9maWxlKHNlbGYsIGZpbGUsIHNyYz1Ob25lLCB2ZXJzaW9uPU5vbmUsIGxhbmd1YWdlPU5vbmUpOgpkaWZmIC0tZ2l0IGEvVG9vbHMvbXNpL3V1aWRzLnB5IGIvVG9vbHMvbXNpL3V1aWRzLnB5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlMDZjZGZiLi4wMDAwMDAwCi0tLSBhL1Rvb2xzL21zaS91dWlkcy5weQorKysgL2Rldi9udWxsCkBAIC0xLDk4ICswLDAgQEAKLSMgVGhpcyBzaG91bGQgYmUgZXh0ZW5kZWQgZm9yIGVhY2ggUHl0aG9uIHJlbGVhc2UuCi0jIFRoZSBwcm9kdWN0IGNvZGUgbXVzdCBjaGFuZ2Ugd2hlbmV2ZXIgdGhlIG5hbWUgb2YgdGhlIE1TSSBmaWxlCi0jIGNoYW5nZXMsIGFuZCB3aGVuIG5ldyBjb21wb25lbnQgY29kZXMgYXJlIGlzc3VlZCBmb3IgZXhpc3RpbmcKLSMgY29tcG9uZW50cy4gU2VlICJDaGFuZ2luZyB0aGUgUHJvZHVjdCBDb2RlIi4gQXMgd2UgY2hhbmdlIHRoZQotIyBjb21wb25lbnQgY29kZXMgd2l0aCBldmVyeSBidWlsZCwgd2UgbmVlZCBhIG5ldyBwcm9kdWN0IGNvZGUKLSMgZWFjaCB0aW1lLiBGb3IgaW50ZXJtZWRpYXRlIChzbmFwc2hvdCkgcmVsZWFzZXMsIHRoZXkgYXJlIGF1dG9tYXRpY2FsbHkKLSMgZ2VuZXJhdGVkLiBGb3Igb2ZmaWNpYWwgcmVsZWFzZXMsIHdlIHJlY29yZCB0aGUgcHJvZHVjdCBjb2RlcywKLSMgc28gcGVvcGxlIGNhbiByZWZlciB0byB0aGVtLgotcHJvZHVjdF9jb2RlcyA9IHsKLSAgICAnMi41LjEwMSc6ICd7YmMxNGNlM2UtNWU3Mi00YTY0LWFjMWYtYmY1OWE1NzE4OThjfScsICMgMi41YTEKLSAgICAnMi41LjEwMic6ICd7NWVlZDUxYzEtOGU5ZC00MDcxLTk0YzUtYjQwZGU1ZDQ5YmE1fScsICMgMi41YTIKLSAgICAnMi41LjEwMyc6ICd7NzNkY2Q5NjYtZmZlYy00MTVmLWJiMzktODM0MmMxZjQ3MDE3fScsICMgMi41YTMKLSAgICAnMi41LjExMSc6ICd7Yzc5N2VjZjgtYThlNi00ZmVjLWJiOTktNTI2YjY1ZjI4NjI2fScsICMgMi41YjEKLSAgICAnMi41LjExMic6ICd7MzJiZWI3NzQtZjYyNS00MzlkLWI1ODctNzE4NzQ4N2JhZjE1fScsICMgMi41YjIKLSAgICAnMi41LjExMyc6ICd7ODlmMjM5MTgtMTFjZi00ZjA4LWJlMTMtYjliMmU2NDYzZmQ5fScsICMgMi41YjMKLSAgICAnMi41LjEyMSc6ICd7OGU5MzIxYmMtNmIyNC00OGEzLThmZDQtYzk1ZjhlNTMxZTVmfScsICMgMi41YzEKLSAgICAnMi41LjEyMic6ICd7YTZjZDUwOGQtOTU5OS00NWRhLWE0NDEtY2JmZmE5ZjdlMDcwfScsICMgMi41YzIKLSAgICAnMi41LjE1MCc6ICd7MGEyYzU4NTQtNTU3ZS00OGM4LTgzNWEtM2I5ZjA3NGJkY2FhfScsICMgMi41LjAKLSAgICAnMi41LjExMjEnOid7MDM3OGI0M2UtNjE4NC00YzJmLWJlMWEtNGEzNjc3ODFjZDU0fScsICMgMi41LjFjMQotICAgICcyLjUuMTE1MCc6J3szMTgwMDAwNC02Mzg2LTQ5OTktYTUxOS01MThmMmQ3OGQ4ZjB9JywgIyAyLjUuMQotICAgICcyLjUuMjE1MCc6J3s2MzA0YTdkYS0xMTMyLTRlOTEtYTM0My1hMjk2MjY5ZWFiOGF9JywgIyAyLjUuMmMxCi0gICAgJzIuNS4yMTUwJzonezZiOTc2YWRmLThhZTgtNDM0ZS1iMjgyLWEwNmM3ZjYyNGQyZn0nLCAjIDIuNS4yCi0gICAgJzIuNi4xMDEnOiAnezBiYTgyZTFiLTUyZmQtNGUwMy04NjEwLWE2Yzc2MjM4ZThhOH0nLCAjIDIuNmExCi0gICAgJzIuNi4xMDInOiAnezNiMjdlMTZjLTU2ZGItNDU3MC1hMmQzLWU5YTI2MTgwYzYwYn0nLCAjIDIuNmEyCi0gICAgJzIuNi4xMDMnOiAne2NkMDZhOWM1LWJkZTUtNGJkNy05ODc0LTQ4OTMzOTk3MTIyYX0nLCAjIDIuNmEzCi0gICAgJzIuNi4xMDQnOiAne2RjNmVkNjM0LTQ3NGEtNGE1MC1hNTQ3LThkZTRiNzQ5MWU1M30nLCAjIDIuNmE0Ci0gICAgJzIuNi4xMTEnOiAnezNmODIwNzlhLTViZWUtNGM0YS04YTQxLTgyOTIzODllMjRhZX0nLCAjIDIuNmIxCi0gICAgJzIuNi4xMTInOiAnezhhMGU1OTcwLWYzZTYtNDczNy05YTJiLWJjNWZmMGYxNWZiNX0nLCAjIDIuNmIyCi0gICAgJzIuNi4xMTMnOiAne2RmNGY1YzIxLTZmY2MtNDU0MC05NWRlLTg1ZmViYTYzNGU3Nn0nLCAjIDIuNmIzCi0gICAgJzIuNi4xMjEnOiAne2JiZDM0NDY0LWRkZWItNDAyOC05OWU1LWYxNmM0YThmYmRiM30nLCAjIDIuNmMxCi0gICAgJzIuNi4xMjInOiAnezhmNjQ3ODdlLWEwMjMtNGM2MC1iZmVlLTI1ZDNhM2Y1OTJjNn0nLCAjIDIuNmMyCi0gICAgJzIuNi4xNTAnOiAnezExMGViNWM0LWU5OTUtNGNmYi1hYjgwLWE1ZjMxNWJlYTllOH0nLCAjIDIuNi4wCi0gICAgJzIuNi4xMTUwJzonezljYzg5MTcwLTAwMGItNDU3ZC05MWYxLTUzNjkxZjg1YjIyM30nLCAjIDIuNi4xCi0gICAgJzIuNi4yMTIxJzone2FkYWM0MTJiLWIyMDktNGMxNS1iNmFiLWRjYTFiNmU0NzE0NH0nLCAjIDIuNi4yYzEKLSAgICAnMi42LjIxNTAnOid7MjRhYWI0MjAtNGUzMC00NDk2LTk3MzktM2UyMTZmM2RlNmFlfScsICMgMi42LjIKLSAgICAnMi42LjMxMjEnOid7YTczZTAyNTQtZGNkYS00ZmU0LWJmMzctYzdlMWM0ZjRlYmI2fScsICMgMi42LjNjMQotICAgICcyLjYuMzE1MCc6J3szZDlhYzA5NS1lMTE1LTRlOTQtYmRlZi03ZjdlZGYxNzY5N2R9JywgIyAyLjYuMwotICAgICcyLjYuNDEyMSc6J3s3MjdkZTYwNS0wMzU5LTQ2MDYtYTk0Yi1jMjAzMzY1MjM3OWJ9JywgIyAyLjYuNGMxCi0gICAgJzIuNi40MTIyJzonezRmNzYwM2M2LTYzNTItNDI5OS1hMzk4LTE1MGEzMWIxOWFjY30nLCAjIDIuNi40YzIKLSAgICAnMi42LjQxNTAnOid7ZTczOTRhMGYtM2Y4MC00NWIxLTg3ZmMtYWJjZDUxODkzMjQ2fScsICMgMi42LjQKLSAgICAnMi42LjUxMjEnOid7ZTBlMjczZDctNzU5OC00NzAxLTgzMjUtYzkwYzA2OWZkNWZmfScsICMgMi42LjVjMQotICAgICcyLjYuNTEyMic6J3tmYTIyN2I3Ni0wNjcxLTRkYzYtYjgyNi1jMmZmMmE3MGRmZDV9JywgIyAyLjYuNWMyCi0gICAgJzIuNi41MTUwJzonezQ3MjNmMTk5LWZhNjQtNDIzMy04ZTZlLTlmY2NjOTVhMThlZX0nLCAjIDIuNi41Ci0gICAgJzIuNy4xMDEnOiAne2VjYTFiYmVmLTQzMmMtNDlhZS1hNjY3LWMyMTNjYzdiYmYyMn0nLCAjIDIuN2ExCi0gICAgJzIuNy4xMDInOiAnezIxY2UxNmVkLTczYzQtNDYwZC05YjExLTUyMmY0MTdiMjA5MH0nLCAjIDIuN2EyCi0gICAgJzIuNy4xMDMnOiAnezZlN2RiZDU1LWJhNGEtNDhhYy1hNjg4LTZjNzVkYjRkNzUwMH0nLCAjIDIuN2EzCi0gICAgJzIuNy4xMDQnOiAne2VlNzc0YmEzLTc0YTUtNDhkOS1iNDI1LWIzNWEyODcyNjBjOH0nLCAjIDIuN2E0Ci0gICAgJzIuNy4xMTEnOiAnezljZmQ5ZWM3LWE5YzctNDk4MC1hMWM2LTA1NGZjNjQ5M2ViM30nLCAjIDIuN2IxCi0gICAgJzIuNy4xMTInOiAnezlhNzJmYWY2LWMzMDQtNDE2NS04NTk1LTkyOTFmZjMwY2FjNn0nLCAjIDIuN2IyCi0gICAgJzIuNy4xMjEnOiAne2Y1MzBjOTRhLWRkNTMtNGRlOS05NDhlLWI2MzJiOWNiNDhkMn0nLCAjIDIuN2MxCi0gICAgJzIuNy4xMjInOiAne2Y4MDkwNWQyLWRkOGQtNGI4ZS04YTQwLWMyM2M5M2RjYTA3ZH0nLCAjIDIuN2MyCi0gICAgJzIuNy4xNTAnOiAnezIwYzMxNDM1LTJhMGEtNDU4MC1iZThiLWFjMDZmYzI0M2NhNH0nLCAjIDIuNy4wCi0gICAgJzMuMC4xMDEnOiAnezg1NTQyNjNhLTMyNDItNDg1Ny05MzU5LWFhODdiYzJjNThjMn0nLCAjIDMuMGExCi0gICAgJzMuMC4xMDInOiAnezY5MmQ2ZTJjLWYwYWMtNDBiOC1hMTMzLTcxOTFhZWViNjdmOX0nLCAjIDMuMGEyCi0gICAgJzMuMC4xMDMnOiAnezQ5Y2IyOTk1LTc1MWEtNDc1My1iZTdhLWQwYjFiYjU4NWUwNn0nLCAjIDMuMGEzCi0gICAgJzMuMC4xMDQnOiAnezg3Y2IwMTllLTE5ZmQtNDIzOC1iMWM3LTg1NzUxNDM3ZDY0Nn0nLCAjIDMuMGE0Ci0gICAgJzMuMC4xMDUnOiAne2NmMjY1OWFmLTE5ZWMtNDNkMi04YzM1LTBmNmEwOTQzOWQ0Mn0nLCAjIDMuMGE1Ci0gICAgJzMuMC4xMTEnOiAnezM2YzI2ZjU1LTgzN2QtNDVjZi04NDhjLTVmNWMwZmI0N2EyOH0nLCAjIDMuMGIxCi0gICAgJzMuMC4xMTInOiAnezA1NmEwZmJjLWM4ZmUtNGM2MS1hYWRlLWM0NDExYjcwYzk5OH0nLCAjIDMuMGIyCi0gICAgJzMuMC4xMTMnOiAnezJiMmU4OWE5LTgzYWYtNDNmOS1iN2Q1LTk2ZTgwYzVhM2YyNn0nLCAjIDMuMGIzCi0gICAgJzMuMC4xMTQnOiAne2U5NWMzMWFmLTY5YmUtNGRkNy05NmU2LWU1ZmM4NWU2NjBlNn0nLCAjIDMuMGI0Ci0gICAgJzMuMC4xMjEnOiAne2QwOTc5YzVlLWNkM2MtNDJlYy1iZTRjLWUyOTRkYTc5MzU3M30nLCAjIDMuMGMxCi0gICAgJzMuMC4xMjInOiAne2Y3MDdiOGU5LWEyNTctNDA0NS04MThlLTQ5MjNmYzIwZmJiNn0nLCAjIDMuMGMyCi0gICAgJzMuMC4xMjMnOiAnezVlNzIwOGYxLTg2NDMtNGVhMi1hYjVlLTQ2NDQ4ODcxMTJlM30nLCAjIDMuMGMzCi0gICAgJzMuMC4xNTAnOiAne2UwZTU2ZTIxLTU1ZGUtNGY3Ny1hMTA5LTFiYWE3MjM0ODc0M30nLCAjIDMuMC4wCi0gICAgJzMuMC4xMTIxJzone2QzNWIxZWE1LTNkNzAtNDg3Mi1iZjdlLWNkMDY2YTc3YTljOX0nLCAjIDMuMC4xYzEKLSAgICAnMy4wLjExNTAnOid7ZGUyZjJkOWMtNTNlMi00MGVlLTgyMDktNzRkYTYzY2IwNjBlfScsICMgMy4wLjEKLSAgICAnMy4wLjIxMjEnOid7Y2VmNzllN2YtOTgwOS00OWUyLWFmZDItZTI0MTQ4ZDdjODU1fScsICMgMy4wLjJjMQotICAgICczLjAuMjE1MCc6J3swY2YzYjk1YS04MzgyLTQ2MDctOTc3OS1jMzY0MDdmZjM2MmN9JywgIyAzLjAuMgotICAgICczLjEuMTAxJzogJ3tjNDIzZWFkYS1jNDk4LTRkNTEtOWViNC1iZmVhZTY0N2UwYTB9JywgIyAzLjFhMQotICAgICczLjEuMTAyJzogJ3tmNmUxOTliZi1kYzY0LTQyZjMtODdkNC0xNTI1OTkxYTAxM2V9JywgIyAzLjFhMgotICAgICczLjEuMTExJzogJ3tjM2M4Mjg5My02OWIyLTQ2NzYtODU1NC0xYjZlZTZjMTkxZTl9JywgIyAzLjFiMQotICAgICczLjEuMTIxJzogJ3tkYTJiNTE3MC0xMmYzLTRkOTktOGExZi01NDkyNmNjYTdhY2R9JywgIyAzLjFjMQotICAgICczLjEuMTIyJzogJ3tiY2ViNTEzMy1lMmVlLTQxMDktOTUxZi1hYzdlOTQxYTE2OTJ9JywgIyAzLjFjMgotICAgICczLjEuMTUwJzogJ3szYWQ2MWVlNS04MWQyLTRkN2UtYWRlZi1kYTFkZDM3Mjc3ZDF9JywgIyAzLjEuMAotICAgICczLjEuMTEyMSc6J3s1NzgyZjk1Ny02ZDQ5LTQxZDQtYmFkMC02Njg3MTVkZmQ2Mzh9JywgIyAzLjEuMWMxCi0gICAgJzMuMS4xMTUwJzonezdmZjkwNDYwLTg5YjctNDM1Yi1iNTgzLWIzN2IyODE1Y2NjN30nLCAjIDMuMS4xCi0gICAgJzMuMS4yMTIxJzone2VjNDU2MjRhLTM3OGMtNDNiZS05MWYzLTNmN2E1OWIwZDkwY30nLCAjIDMuMS4yYzEKLSAgICAnMy4xLjIxNTAnOid7ZDQwYWYwMTYtNTA2Yy00M2ZiLWE3MzgtYmQ1NGZhOGMxZTg1fScsICMgMy4xLjIKLSAgICAnMy4yLjEwMScgOid7YjQxMWYxNjgtN2EzNi00ZmZmLTkwMmMtYTU1NGQxYzc4YTRmfScsICMgMy4yYTEKLSAgICAnMy4yLjEwMicgOid7NzlmZjczYjctODM1OS00MTBmLWI5YzUtMTUyZDIwMjZmOGM4fScsICMgMy4yYTIKLSAgICAnMy4yLjEwMycgOid7ZTc2MzVjNjUtYzIyMS00YjliLWI3MGEtNTYxMWI4MzY5ZDc3fScsICMgMy4yYTMKLSAgICAnMy4yLjEwNCcgOid7NzQ4Y2QxMzktNzViOC00Y2E4LTk4YTctNTgyNjIyOTgxODFlfScsICMgMy4yYTQKLSAgICAnMy4yLjExMScgOid7MjBiZmMxNmYtYzdjZC00ZmMwLThmOTYtOTkxNDYxNGEzYzUwfScsICMgMy4yYjEKLSAgICAnMy4yLjExMicgOid7MGUzNTBjOTgtOGQ3My00OTkzLWI2ODYtY2ZlODcxNjAwNDZlfScsICMgMy4yYjIKLSAgICAnMy4yLjEyMScgOid7MjA5NDk2OGQtNzU4My00N2Y2LWE3ZmQtMjIzMDQ1MzJlMDlmfScsICMgMy4ycmMxCi0gICAgJzMuMi4xMjInIDonezRmM2VkZmE2LWNmNzAtNDY5YS04MjVmLWUxMjA2YWE3ZjQxMn0nLCAjIDMuMnJjMgotICAgICczLjIuMTIzJyA6J3s5MGM2NzNkNy04Y2ZkLTQ5NjktOTgxNi1mN2Q3MGJhZDg3ZjN9JywgIyAzLjJyYzMKLSAgICAnMy4yLjE1MCcgOid7YjIwNDJkNWUtOTg2ZC00NGVjLWFlZTMtYWZlNDEwOGNjYzkzfScsICMgMy4yLjAKLSAgICAnMy4yLjExMjEnOid7NGY5MGRlNGEtODNkZC00NDQzLWI2MjUtY2ExMzBmZjM2MWRkfScsICMgMy4yLjFyYzEKLSAgICAnMy4yLjExMjInOid7ZGM1ZWIwNGQtZmY4YS00YmVkLThmOTYtMjM5NDJmZDU5ZTVmfScsICMgMy4yLjFyYzIKLSAgICAnMy4yLjExNTAnOid7MzRiMjUzMGMtNjM0OS00MjkyLTlkYzMtNjBiZGE0YWVkOTNjfScsICMgMy4yLjEKLSAgICAnMy4yLjIxMjEnOid7REZCMjlBNTMtQUNDNC00NGU2LTg1QTYtRDBEQTI2RkU4RTRFfScsICMgMy4yLjJyYzEKLSAgICAnMy4yLjIxNTAnOid7NENERTMxNjgtRDA2MC00YjdjLUJDNzQtNEQ4RjlCQjAxQUZEfScsICMgMy4yLjIKLSAgICAnMy4yLjMxMjEnOid7QjhFOENGRjctRTRDNi00YTdjLTlGMDYtQkIzQThCNzVEREE4fScsICMgMy4yLjNyYzEKLSAgICAnMy4yLjMxNTAnOid7Nzg5Qzk2NDQtOUY4Mi00NGQzLUI0Q0EtQUMzMUY0NkY1ODgyfScsICMgMy4yLjMKLQotfQpkaWZmIC0tZ2l0IGEvVG9vbHMvcHliZW5jaC9weWJlbmNoLnB5IGIvVG9vbHMvcHliZW5jaC9weWJlbmNoLnB5CmluZGV4IDhlYWFkNjMuLmNjMWU1NWMgMTAwNzU1Ci0tLSBhL1Rvb2xzL3B5YmVuY2gvcHliZW5jaC5weQorKysgYi9Ub29scy9weWJlbmNoL3B5YmVuY2gucHkKQEAgLTEwNyw2ICsxMDcsNyBAQAogICAgICAgICBwcmludCgnR2V0dGluZyBtYWNoaW5lIGRldGFpbHMuLi4nKQogICAgIGJ1aWxkbm8sIGJ1aWxkZGF0ZSA9IHBsYXRmb3JtLnB5dGhvbl9idWlsZCgpCiAgICAgcHl0aG9uID0gcGxhdGZvcm0ucHl0aG9uX3ZlcnNpb24oKQorICAgICMgWFhYIHRoaXMgaXMgbm93IGFsd2F5cyBVQ1M0LCBtYXliZSByZXBsYWNlIGl0IHdpdGggJ1BFUDM5MycgaW4gMy4zKz8KICAgICBpZiBzeXMubWF4dW5pY29kZSA9PSA2NTUzNToKICAgICAgICAgIyBVQ1MyIGJ1aWxkIChzdGFuZGFyZCkKICAgICAgICAgdW5pdHlwZSA9ICdVQ1MyJwpkaWZmIC0tZ2l0IGEvVG9vbHMvc2NyaXB0cy9SRUFETUUgYi9Ub29scy9zY3JpcHRzL1JFQURNRQppbmRleCA4YzAyNTI5Li5lYjI4YTllIDEwMDY0NAotLS0gYS9Ub29scy9zY3JpcHRzL1JFQURNRQorKysgYi9Ub29scy9zY3JpcHRzL1JFQURNRQpAQCAtMTUsNyArMTUsNyBAQAogZGlmZi5weSAgICAgICAgICAgICAgICAgUHJpbnQgZmlsZSBkaWZmcyBpbiBjb250ZXh0LCB1bmlmaWVkLCBvciBuZGlmZiBmb3JtYXRzCiBkdXRyZWUucHkgICAgICAgICAgICAgICBGb3JtYXQgZHUoMSkgb3V0cHV0IGFzIGEgdHJlZSBzb3J0ZWQgYnkgc2l6ZQogZXB0YWdzLnB5ICAgICAgICAgICAgICAgQ3JlYXRlIEVtYWNzIFRBR1MgZmlsZSBmb3IgUHl0aG9uIG1vZHVsZXMKLWZpbmRfcmVjdXJzaW9ubGltaXQucHkgIEZpbmQgdGhlIG1heGltdW0gcmVjdXJzaW9uIGxpbWl0IG9uIHRoaXMgbWFjaGluZSAKK2ZpbmRfcmVjdXJzaW9ubGltaXQucHkgIEZpbmQgdGhlIG1heGltdW0gcmVjdXJzaW9uIGxpbWl0IG9uIHRoaXMgbWFjaGluZQogZmluZGRpdi5weSAgICAgICAgICAgICAgQSBncmVwLWxpa2UgdG9vbCB0aGF0IGxvb2tzIGZvciBkaXZpc2lvbiBvcGVyYXRvcnMKIGZpbmRsaW5rc3RvLnB5ICAgICAgICAgIFJlY3Vyc2l2ZWx5IGZpbmQgc3ltYm9saWMgbGlua3MgdG8gYSBnaXZlbiBwYXRoIHByZWZpeAogZmluZG5vY29kaW5nLnB5ICAgICAgICAgRmluZCBzb3VyY2UgZmlsZXMgd2hpY2ggbmVlZCBhbiBlbmNvZGluZyBkZWNsYXJhdGlvbgpAQCAtNTMsNiArNTMsNyBAQAogcmVpbmRlbnQucHkgICAgICAgICAgICAgQ2hhbmdlIC5weSBmaWxlcyB0byB1c2UgNC1zcGFjZSBpbmRlbnRzCiByZWluZGVudC1yc3QucHkgICAgICAgICBGaXgtdXAgcmVTdHJ1Y3R1cmVkVGV4dCBmaWxlIHdoaXRlc3BhY2UKIHJncmVwLnB5ICAgICAgICAgICAgICAgIFJldmVyc2UgZ3JlcCB0aHJvdWdoIGEgZmlsZSAodXNlZnVsIGZvciBiaWcgbG9nZmlsZXMpCitydW5fdGVzdHMucHkgICAgICAgICAgICBSdW4gdGhlIHRlc3Qgc3VpdGUgd2l0aCBtb3JlIHNlbnNpYmxlIGRlZmF1bHQgb3B0aW9ucwogc2VydmUucHkgICAgICAgICAgICAgICAgU21hbGwgd3NnaXJlZi1iYXNlZCB3ZWIgc2VydmVyLCB1c2VkIGluIG1ha2Ugc2VydmUgaW4gRG9jCiBzdWZmLnB5ICAgICAgICAgICAgICAgICBTb3J0IGEgbGlzdCBvZiBmaWxlcyBieSBzdWZmaXgKIHN2bmVvbC5weSAgICAgICAgICAgICAgIFNldCBzdm46ZW9sLXN0eWxlIG9uIGFsbCBmaWxlcyBpbiBkaXJlY3RvcnkKZGlmZiAtLWdpdCBhL1Rvb2xzL3NjcmlwdHMvZmluZG5vY29kaW5nLnB5IGIvVG9vbHMvc2NyaXB0cy9maW5kbm9jb2RpbmcucHkKaW5kZXggNzc2MDdjZS4uYzQyZmE3YyAxMDA3NTUKLS0tIGEvVG9vbHMvc2NyaXB0cy9maW5kbm9jb2RpbmcucHkKKysrIGIvVG9vbHMvc2NyaXB0cy9maW5kbm9jb2RpbmcucHkKQEAgLTIsNyArMiw3IEBACiAKICIiIkxpc3QgYWxsIHRob3NlIFB5dGhvbiBmaWxlcyB0aGF0IHJlcXVpcmUgYSBjb2RpbmcgZGlyZWN0aXZlCiAKLVVzYWdlOiBub2NvZGluZy5weSBkaXIxIFtkaXIyLi4uXQorVXNhZ2U6IGZpbmRub2NvZGluZy5weSBkaXIxIFtkaXIyLi4uXQogIiIiCiAKIF9fYXV0aG9yX18gPSAiT2xlZyBCcm95dG1hbm4sIEdlb3JnIEJyYW5kbCIKQEAgLTUwLDcgKzUwLDcgQEAKIAogZGVmIG5lZWRzX2RlY2xhcmF0aW9uKGZ1bGxwYXRoKToKICAgICB0cnk6Ci0gICAgICAgIGluZmlsZSA9IG9wZW4oZnVsbHBhdGgsICdyVScpCisgICAgICAgIGluZmlsZSA9IG9wZW4oZnVsbHBhdGgpCiAgICAgZXhjZXB0IElPRXJyb3I6ICMgT29wcywgdGhlIGZpbGUgd2FzIHJlbW92ZWQgLSBpZ25vcmUgaXQKICAgICAgICAgcmV0dXJuIE5vbmUKIApkaWZmIC0tZ2l0IGEvVG9vbHMvc2NyaXB0cy9wYXRjaGNoZWNrLnB5IGIvVG9vbHMvc2NyaXB0cy9wYXRjaGNoZWNrLnB5CmluZGV4IDBlMThkZDkuLjUwM2M2N2EgMTAwNzU1Ci0tLSBhL1Rvb2xzL3NjcmlwdHMvcGF0Y2hjaGVjay5weQorKysgYi9Ub29scy9zY3JpcHRzL3BhdGNoY2hlY2sucHkKQEAgLTQ5LDI5ICs0OSwxNSBAQAogQHN0YXR1cygiR2V0dGluZyB0aGUgbGlzdCBvZiBmaWxlcyB0aGF0IGhhdmUgYmVlbiBhZGRlZC9jaGFuZ2VkIiwKICAgICAgICAgaW5mbz1sYW1iZGEgeDogbl9maWxlc19zdHIobGVuKHgpKSkKIGRlZiBjaGFuZ2VkX2ZpbGVzKCk6Ci0gICAgIiIiR2V0IHRoZSBsaXN0IG9mIGNoYW5nZWQgb3IgYWRkZWQgZmlsZXMgZnJvbSB0aGUgVkNTLiIiIgotICAgIGlmIG9zLnBhdGguaXNkaXIob3MucGF0aC5qb2luKFNSQ0RJUiwgJy5oZycpKToKLSAgICAgICAgdmNzID0gJ2hnJwotICAgICAgICBjbWQgPSAnaGcgc3RhdHVzIC0tYWRkZWQgLS1tb2RpZmllZCAtLW5vLXN0YXR1cycKLSAgICAgICAgaWYgbXFfcGF0Y2hlc19hcHBsaWVkKCk6Ci0gICAgICAgICAgICBjbWQgKz0gJyAtLXJldiBxcGFyZW50JwotICAgIGVsaWYgb3MucGF0aC5pc2RpcignLnN2bicpOgotICAgICAgICB2Y3MgPSAnc3ZuJwotICAgICAgICBjbWQgPSAnc3ZuIHN0YXR1cyAtLXF1aWV0IC0tbm9uLWludGVyYWN0aXZlIC0taWdub3JlLWV4dGVybmFscycKLSAgICBlbHNlOgorICAgICIiIkdldCB0aGUgbGlzdCBvZiBjaGFuZ2VkIG9yIGFkZGVkIGZpbGVzIGZyb20gTWVyY3VyaWFsLiIiIgorICAgIGlmIG5vdCBvcy5wYXRoLmlzZGlyKG9zLnBhdGguam9pbihTUkNESVIsICcuaGcnKSk6CiAgICAgICAgIHN5cy5leGl0KCduZWVkIGEgY2hlY2tvdXQgdG8gZ2V0IG1vZGlmaWVkIGZpbGVzJykKIAotICAgIHN0ID0gc3VicHJvY2Vzcy5Qb3BlbihjbWQuc3BsaXQoKSwgc3Rkb3V0PXN1YnByb2Nlc3MuUElQRSkKLSAgICB0cnk6Ci0gICAgICAgIHN0LndhaXQoKQotICAgICAgICBpZiB2Y3MgPT0gJ2hnJzoKLSAgICAgICAgICAgIHJldHVybiBbeC5kZWNvZGUoKS5yc3RyaXAoKSBmb3IgeCBpbiBzdC5zdGRvdXRdCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBvdXRwdXQgPSAoeC5kZWNvZGUoKS5yc3RyaXAoKS5yc3BsaXQoTm9uZSwgMSlbLTFdCi0gICAgICAgICAgICAgICAgICAgICAgZm9yIHggaW4gc3Quc3Rkb3V0IGlmIHhbMF0gaW4gYidBTScpCi0gICAgICAgIHJldHVybiBzZXQocGF0aCBmb3IgcGF0aCBpbiBvdXRwdXQgaWYgb3MucGF0aC5pc2ZpbGUocGF0aCkpCi0gICAgZmluYWxseToKLSAgICAgICAgc3Quc3Rkb3V0LmNsb3NlKCkKKyAgICBjbWQgPSAnaGcgc3RhdHVzIC0tYWRkZWQgLS1tb2RpZmllZCAtLW5vLXN0YXR1cycKKyAgICBpZiBtcV9wYXRjaGVzX2FwcGxpZWQoKToKKyAgICAgICAgY21kICs9ICcgLS1yZXYgcXBhcmVudCcKKyAgICB3aXRoIHN1YnByb2Nlc3MuUG9wZW4oY21kLnNwbGl0KCksIHN0ZG91dD1zdWJwcm9jZXNzLlBJUEUpIGFzIHN0OgorICAgICAgICByZXR1cm4gW3guZGVjb2RlKCkucnN0cmlwKCkgZm9yIHggaW4gc3Quc3Rkb3V0XQogCiAKIGRlZiByZXBvcnRfbW9kaWZpZWRfZmlsZXMoZmlsZV9wYXRocyk6CkBAIC04OSwxMCArNzUsOCBAQAogZGVmIG5vcm1hbGl6ZV93aGl0ZXNwYWNlKGZpbGVfcGF0aHMpOgogICAgICIiIk1ha2Ugc3VyZSB0aGF0IHRoZSB3aGl0ZXNwYWNlIGZvciAucHkgZmlsZXMgaGF2ZSBiZWVuIG5vcm1hbGl6ZWQuIiIiCiAgICAgcmVpbmRlbnQubWFrZWJhY2t1cCA9IEZhbHNlICAjIE5vIG5lZWQgdG8gY3JlYXRlIGJhY2t1cHMuCi0gICAgZml4ZWQgPSBbXQotICAgIGZvciBwYXRoIGluICh4IGZvciB4IGluIGZpbGVfcGF0aHMgaWYgeC5lbmRzd2l0aCgnLnB5JykpOgotICAgICAgICBpZiByZWluZGVudC5jaGVjayhvcy5wYXRoLmpvaW4oU1JDRElSLCBwYXRoKSk6Ci0gICAgICAgICAgICBmaXhlZC5hcHBlbmQocGF0aCkKKyAgICBmaXhlZCA9IFtwYXRoIGZvciBwYXRoIGluIGZpbGVfcGF0aHMgaWYgcGF0aC5lbmRzd2l0aCgnLnB5JykgYW5kCisgICAgICAgICAgICAgcmVpbmRlbnQuY2hlY2sob3MucGF0aC5qb2luKFNSQ0RJUiwgcGF0aCkpXQogICAgIHJldHVybiBmaXhlZAogCiAKQEAgLTE0OCw2ICsxMzIsMjEgQEAKICAgICAiIiJDaGVjayBpZiBNaXNjL05FV1MgaGFzIGJlZW4gY2hhbmdlZC4iIiIKICAgICByZXR1cm4gJ01pc2MvTkVXUycgaW4gZmlsZV9wYXRocwogCitAc3RhdHVzKCJjb25maWd1cmUgcmVnZW5lcmF0ZWQiLCBtb2RhbD1UcnVlLCBpbmZvPXN0cikKK2RlZiByZWdlbmVyYXRlZF9jb25maWd1cmUoZmlsZV9wYXRocyk6CisgICAgIiIiQ2hlY2sgaWYgY29uZmlndXJlIGhhcyBiZWVuIHJlZ2VuZXJhdGVkLiIiIgorICAgIGlmICdjb25maWd1cmUuYWMnIGluIGZpbGVfcGF0aHM6CisgICAgICAgIHJldHVybiAieWVzIiBpZiAnY29uZmlndXJlJyBpbiBmaWxlX3BhdGhzIGVsc2UgIm5vIgorICAgIGVsc2U6CisgICAgICAgIHJldHVybiAibm90IG5lZWRlZCIKKworQHN0YXR1cygicHljb25maWcuaC5pbiByZWdlbmVyYXRlZCIsIG1vZGFsPVRydWUsIGluZm89c3RyKQorZGVmIHJlZ2VuZXJhdGVkX3B5Y29uZmlnX2hfaW4oZmlsZV9wYXRocyk6CisgICAgIiIiQ2hlY2sgaWYgcHljb25maWcuaC5pbiBoYXMgYmVlbiByZWdlbmVyYXRlZC4iIiIKKyAgICBpZiAnY29uZmlndXJlLmFjJyBpbiBmaWxlX3BhdGhzOgorICAgICAgICByZXR1cm4gInllcyIgaWYgJ3B5Y29uZmlnLmguaW4nIGluIGZpbGVfcGF0aHMgZWxzZSAibm8iCisgICAgZWxzZToKKyAgICAgICAgcmV0dXJuICJub3QgbmVlZGVkIgogCiBkZWYgbWFpbigpOgogICAgIGZpbGVfcGF0aHMgPSBjaGFuZ2VkX2ZpbGVzKCkKQEAgLTE2Nyw2ICsxNjYsMTAgQEAKICAgICBjcmVkaXRfZ2l2ZW4oc3BlY2lhbF9maWxlcykKICAgICAjIE1pc2MvTkVXUyBjaGFuZ2VkLgogICAgIHJlcG9ydGVkX25ld3Moc3BlY2lhbF9maWxlcykKKyAgICAjIFJlZ2VuZXJhdGVkIGNvbmZpZ3VyZSwgaWYgbmVjZXNzYXJ5LgorICAgIHJlZ2VuZXJhdGVkX2NvbmZpZ3VyZShmaWxlX3BhdGhzKQorICAgICMgUmVnZW5lcmF0ZWQgcHljb25maWcuaC5pbiwgaWYgbmVjZXNzYXJ5LgorICAgIHJlZ2VuZXJhdGVkX3B5Y29uZmlnX2hfaW4oZmlsZV9wYXRocykKIAogICAgICMgVGVzdCBzdWl0ZSBydW4gYW5kIHBhc3NlZC4KICAgICBpZiBweXRob25fZmlsZXMgb3IgY19maWxlczoKZGlmZiAtLWdpdCBhL1Rvb2xzL3NjcmlwdHMvcHlzZXR1cDMgYi9Ub29scy9zY3JpcHRzL3B5c2V0dXAzCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmU2YTkwOGQKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9zY3JpcHRzL3B5c2V0dXAzCkBAIC0wLDAgKzEsNCBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMworaW1wb3J0IHN5cworZnJvbSBwYWNrYWdpbmcucnVuIGltcG9ydCBtYWluCitzeXMuZXhpdChtYWluKCkpCmRpZmYgLS1naXQgYS9Ub29scy9zY3JpcHRzL3B5c291cmNlLnB5IGIvVG9vbHMvc2NyaXB0cy9weXNvdXJjZS5weQppbmRleCAwNDgxMzFlLi5jN2RiZTYwIDEwMDc1NQotLS0gYS9Ub29scy9zY3JpcHRzL3B5c291cmNlLnB5CisrKyBiL1Rvb2xzL3NjcmlwdHMvcHlzb3VyY2UucHkKQEAgLTQyLDcgKzQyLDcgQEAKICAgICAgICAgcmV0dXJuIE5vbmUKIAogICAgIHRyeToKLSAgICAgICAgcmV0dXJuIG9wZW4oZnVsbHBhdGgsICdyVScpCisgICAgICAgIHJldHVybiBvcGVuKGZ1bGxwYXRoKQogICAgIGV4Y2VwdCBJT0Vycm9yIGFzIGVycjogIyBBY2Nlc3MgZGVuaWVkLCBvciBhIHNwZWNpYWwgZmlsZSAtIGlnbm9yZSBpdAogICAgICAgICBwcmludF9kZWJ1ZygiJXM6IGFjY2VzcyBkZW5pZWQ6ICVzIiAlIChmdWxscGF0aCwgZXJyKSkKICAgICAgICAgcmV0dXJuIE5vbmUKZGlmZiAtLWdpdCBhL1Rvb2xzL3NjcmlwdHMvcmVpbmRlbnQucHkgYi9Ub29scy9zY3JpcHRzL3JlaW5kZW50LnB5CmluZGV4IGIxODk5M2IuLjRhOTE2ZWEgMTAwNzU1Ci0tLSBhL1Rvb2xzL3NjcmlwdHMvcmVpbmRlbnQucHkKKysrIGIvVG9vbHMvc2NyaXB0cy9yZWluZGVudC5weQpAQCAtOCw2ICs4LDggQEAKIC1yICgtLXJlY3Vyc2UpICBSZWN1cnNlLiAgIFNlYXJjaCBmb3IgYWxsIC5weSBmaWxlcyBpbiBzdWJkaXJlY3RvcmllcyB0b28uCiAtbiAoLS1ub2JhY2t1cCkgTm8gYmFja3VwLiBEb2VzIG5vdCBtYWtlIGEgIi5iYWsiIGZpbGUgYmVmb3JlIHJlaW5kZW50aW5nLgogLXYgKC0tdmVyYm9zZSkgIFZlcmJvc2UuICAgUHJpbnQgaW5mb3JtYXRpdmUgbXNnczsgZWxzZSBubyBvdXRwdXQuCisgICAoLS1uZXdsaW5lKSAgTmV3bGluZS4gICBTcGVjaWZ5IHRoZSBuZXdsaW5lIGNoYXJhY3RlciB0byB1c2UgKENSTEYsIExGKS4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgIERlZmF1bHQgaXMgdGhlIHNhbWUgYXMgdGhlIG9yaWdpbmFsIGZpbGUuCiAtaCAoLS1oZWxwKSAgICAgSGVscC4gICAgICBQcmludCB0aGlzIHVzYWdlIGluZm9ybWF0aW9uIGFuZCBleGl0LgogCiBDaGFuZ2UgUHl0aG9uICgucHkpIGZpbGVzIHRvIHVzZSA0LXNwYWNlIGluZGVudHMgYW5kIG5vIGhhcmQgdGFiIGNoYXJhY3RlcnMuCkBAIC01MCw2ICs1Miw4IEBACiByZWN1cnNlID0gRmFsc2UKIGRyeXJ1biA9IEZhbHNlCiBtYWtlYmFja3VwID0gVHJ1ZQorc3BlY19uZXdsaW5lID0gTm9uZQorIiIiQSBzcGVjaWZpZWQgbmV3bGluZSB0byBiZSB1c2VkIGluIHRoZSBvdXRwdXQgKHNldCBieSAtLW5ld2xpbmUgb3B0aW9uKSIiIgogCiAKIGRlZiB1c2FnZShtc2c9Tm9uZSk6CkBAIC02MiwxMyArNjYsMTIgQEAKICAgICBzeXMuc3RkZXJyLndyaXRlKCIgIi5qb2luKHN0cihhcmcpIGZvciBhcmcgaW4gYXJncykpCiAgICAgc3lzLnN0ZGVyci53cml0ZSgiXG4iKQogCi0KIGRlZiBtYWluKCk6CiAgICAgaW1wb3J0IGdldG9wdAotICAgIGdsb2JhbCB2ZXJib3NlLCByZWN1cnNlLCBkcnlydW4sIG1ha2ViYWNrdXAKKyAgICBnbG9iYWwgdmVyYm9zZSwgcmVjdXJzZSwgZHJ5cnVuLCBtYWtlYmFja3VwLCBzcGVjX25ld2xpbmUKICAgICB0cnk6CiAgICAgICAgIG9wdHMsIGFyZ3MgPSBnZXRvcHQuZ2V0b3B0KHN5cy5hcmd2WzE6XSwgImRybnZoIiwKLSAgICAgICAgICAgICAgICAgICAgICAgIFsiZHJ5cnVuIiwgInJlY3Vyc2UiLCAibm9iYWNrdXAiLCAidmVyYm9zZSIsICJoZWxwIl0pCisgICAgICAgICAgICBbImRyeXJ1biIsICJyZWN1cnNlIiwgIm5vYmFja3VwIiwgInZlcmJvc2UiLCAibmV3bGluZT0iLCAiaGVscCJdKQogICAgIGV4Y2VwdCBnZXRvcHQuZXJyb3IgYXMgbXNnOgogICAgICAgICB1c2FnZShtc2cpCiAgICAgICAgIHJldHVybgpAQCAtODEsNiArODQsMTEgQEAKICAgICAgICAgICAgIG1ha2ViYWNrdXAgPSBGYWxzZQogICAgICAgICBlbGlmIG8gaW4gKCctdicsICctLXZlcmJvc2UnKToKICAgICAgICAgICAgIHZlcmJvc2UgPSBUcnVlCisgICAgICAgIGVsaWYgbyBpbiAoJy0tbmV3bGluZScsKToKKyAgICAgICAgICAgIGlmIG5vdCBhLnVwcGVyKCkgaW4gKCdDUkxGJywgJ0xGJyk6CisgICAgICAgICAgICAgICAgdXNhZ2UoKQorICAgICAgICAgICAgICAgIHJldHVybgorICAgICAgICAgICAgc3BlY19uZXdsaW5lID0gZGljdChDUkxGPSdcclxuJywgTEY9J1xuJylbYS51cHBlcigpXQogICAgICAgICBlbGlmIG8gaW4gKCctaCcsICctLWhlbHAnKToKICAgICAgICAgICAgIHVzYWdlKCkKICAgICAgICAgICAgIHJldHVybgpAQCAtMTE4LDkgKzEyNiw5IEBACiAgICAgICAgIGVycnByaW50KCIlczogSS9PIEVycm9yOiAlcyIgJSAoZmlsZSwgc3RyKG1zZykpKQogICAgICAgICByZXR1cm4KIAotICAgIG5ld2xpbmUgPSByLm5ld2xpbmVzCisgICAgbmV3bGluZSA9IHNwZWNfbmV3bGluZSBpZiBzcGVjX25ld2xpbmUgZWxzZSByLm5ld2xpbmVzCiAgICAgaWYgaXNpbnN0YW5jZShuZXdsaW5lLCB0dXBsZSk6Ci0gICAgICAgIGVycnByaW50KCIlczogbWl4ZWQgbmV3bGluZXMgZGV0ZWN0ZWQ7IGNhbm5vdCBwcm9jZXNzIGZpbGUiICUgZmlsZSkKKyAgICAgICAgZXJycHJpbnQoIiVzOiBtaXhlZCBuZXdsaW5lcyBkZXRlY3RlZDsgY2Fubm90IGNvbnRpbnVlIHdpdGhvdXQgLS1uZXdsaW5lIiAlIGZpbGUpCiAgICAgICAgIHJldHVybgogCiAgICAgaWYgci5ydW4oKToKZGlmZiAtLWdpdCBhL1Rvb2xzL3NjcmlwdHMvcnVuX3Rlc3RzLnB5IGIvVG9vbHMvc2NyaXB0cy9ydW5fdGVzdHMucHkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZjc1MGUxOQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL3NjcmlwdHMvcnVuX3Rlc3RzLnB5CkBAIC0wLDAgKzEsNDcgQEAKKyIiIlJ1biBQeXRob24ncyB0ZXN0IHN1aXRlIGluIGEgZmFzdCwgcmlnb3JvdXMgd2F5LgorCitUaGUgZGVmYXVsdHMgYXJlIG1lYW50IHRvIGJlIHJlYXNvbmFibHkgdGhvcm91Z2gsIHdoaWxlIHNraXBwaW5nIGNlcnRhaW4KK3Rlc3RzIHRoYXQgY2FuIGJlIHRpbWUtY29uc3VtaW5nIG9yIHJlc291cmNlLWludGVuc2l2ZSAoZS5nLiBsYXJnZWZpbGUpLAorb3IgZGlzdHJhY3RpbmcgKGUuZy4gYXVkaW8gYW5kIGd1aSkuIFRoZXNlIGRlZmF1bHRzIGNhbiBiZSBvdmVycmlkZGVuIGJ5CitzaW1wbHkgcGFzc2luZyBhIC11IG9wdGlvbiB0byB0aGlzIHNjcmlwdC4KKworIiIiCisKK2ltcG9ydCBvcworaW1wb3J0IHN5cworaW1wb3J0IHRlc3Quc3VwcG9ydAorCisKK2RlZiBpc19tdWx0aXByb2Nlc3NfZmxhZyhhcmcpOgorICAgIHJldHVybiBhcmcuc3RhcnRzd2l0aCgnLWonKSBvciBhcmcuc3RhcnRzd2l0aCgnLS1tdWx0aXByb2Nlc3MnKQorCisKK2RlZiBpc19yZXNvdXJjZV91c2VfZmxhZyhhcmcpOgorICAgIHJldHVybiBhcmcuc3RhcnRzd2l0aCgnLXUnKSBvciBhcmcuc3RhcnRzd2l0aCgnLS11c2UnKQorCisKK2RlZiBtYWluKHJlZ3J0ZXN0X2FyZ3MpOgorICAgIGFyZ3MgPSBbc3lzLmV4ZWN1dGFibGUsCisgICAgICAgICAgICAnLVcnLCAnZGVmYXVsdCcsICAgICAgIyBXYXJuaW5ncyBzZXQgdG8gJ2RlZmF1bHQnCisgICAgICAgICAgICAnLWJiJywgICAgICAgICAgICAgICAgIyBXYXJuaW5ncyBhYm91dCBieXRlcy9ieXRlYXJyYXkKKyAgICAgICAgICAgICctRScsICAgICAgICAgICAgICAgICAjIElnbm9yZSBlbnZpcm9ubWVudCB2YXJpYWJsZXMKKyAgICAgICAgICAgIF0KKyAgICAjIEFsbG93IHVzZXItc3BlY2lmaWVkIGludGVycHJldGVyIG9wdGlvbnMgdG8gb3ZlcnJpZGUgb3VyIGRlZmF1bHRzLgorICAgIGFyZ3MuZXh0ZW5kKHRlc3Quc3VwcG9ydC5hcmdzX2Zyb21faW50ZXJwcmV0ZXJfZmxhZ3MoKSkKKyAgICBhcmdzLmV4dGVuZChbJy1tJywgJ3Rlc3QnLCAgICAjIFJ1biB0aGUgdGVzdCBzdWl0ZQorICAgICAgICAgICAgICAgICAnLXInLCAgICAgICAgICAgICMgUmFuZG9taXplIHRlc3Qgb3JkZXIKKyAgICAgICAgICAgICAgICAgJy13JywgICAgICAgICAgICAjIFJlLXJ1biBmYWlsZWQgdGVzdHMgaW4gdmVyYm9zZSBtb2RlCisgICAgICAgICAgICAgICAgIF0pCisgICAgaWYgc3lzLnBsYXRmb3JtID09ICd3aW4zMic6CisgICAgICAgIGFyZ3MuYXBwZW5kKCctbicpICAgICAgICAgIyBTaWxlbmNlIGFsZXJ0cyB1bmRlciBXaW5kb3dzCisgICAgaWYgbm90IGFueShpc19tdWx0aXByb2Nlc3NfZmxhZyhhcmcpIGZvciBhcmcgaW4gcmVncnRlc3RfYXJncyk6CisgICAgICAgIGFyZ3MuZXh0ZW5kKFsnLWonLCAnMCddKSAgIyBVc2UgYWxsIENQVSBjb3JlcworICAgIGlmIG5vdCBhbnkoaXNfcmVzb3VyY2VfdXNlX2ZsYWcoYXJnKSBmb3IgYXJnIGluIHJlZ3J0ZXN0X2FyZ3MpOgorICAgICAgICBhcmdzLmV4dGVuZChbJy11JywgJ2FsbCwtbGFyZ2VmaWxlLC1hdWRpbywtZ3VpJ10pCisgICAgYXJncy5leHRlbmQocmVncnRlc3RfYXJncykKKyAgICBwcmludCgnICcuam9pbihhcmdzKSkKKyAgICBvcy5leGVjdihzeXMuZXhlY3V0YWJsZSwgYXJncykKKworCitpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgorICAgIG1haW4oc3lzLmFyZ3ZbMTpdKQpkaWZmIC0tZ2l0IGEvVG9vbHMvdW5pY29kZS9jb21wYXJlY29kZWNzLnB5IGIvVG9vbHMvdW5pY29kZS9jb21wYXJlY29kZWNzLnB5CmluZGV4IDBmNWMxZTIuLjdkZTE0ZmQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL3VuaWNvZGUvY29tcGFyZWNvZGVjcy5weQorKysgYi9Ub29scy91bmljb2RlL2NvbXBhcmVjb2RlY3MucHkKQEAgLTE0LDcgKzE0LDcgQEAKICAgICBwcmludCgnQ29tcGFyaW5nIGVuY29kaW5nL2RlY29kaW5nIG9mICAgJXIgYW5kICAgJXInICUgKGVuY29kaW5nMSwgZW5jb2RpbmcyKSkKICAgICBtaXNtYXRjaCA9IDAKICAgICAjIENoZWNrIGVuY29kaW5nCi0gICAgZm9yIGkgaW4gcmFuZ2Uoc3lzLm1heHVuaWNvZGUpOgorICAgIGZvciBpIGluIHJhbmdlKHN5cy5tYXh1bmljb2RlKzEpOgogICAgICAgICB1ID0gY2hyKGkpCiAgICAgICAgIHRyeToKICAgICAgICAgICAgIGMxID0gdS5lbmNvZGUoZW5jb2RpbmcxKQpkaWZmIC0tZ2l0IGEvVG9vbHMvdW5pY29kZS9tYWtldW5pY29kZWRhdGEucHkgYi9Ub29scy91bmljb2RlL21ha2V1bmljb2RlZGF0YS5weQppbmRleCBkNTAzMTkwLi5kYjBmOGVjIDEwMDY0NAotLS0gYS9Ub29scy91bmljb2RlL21ha2V1bmljb2RlZGF0YS5weQorKysgYi9Ub29scy91bmljb2RlL21ha2V1bmljb2RlZGF0YS5weQpAQCAtMjEsMTcgKzIxLDI0IEBACiAjIDIwMDQtMDUtMjkgcGVya3kgYWRkIGVhc3QgYXNpYW4gd2lkdGggaW5mb3JtYXRpb24KICMgMjAwNi0wMy0xMCBtdmwgIHVwZGF0ZSB0byBVbmljb2RlIDQuMTsgYWRkIFVDRCAzLjIgZGVsdGEKICMgMjAwOC0wNi0xMSBnYiAgIGFkZCBQUklOVEFCTEVfTUFTSyBmb3IgQXRzdW8gSXNoaW1vdG8ncyBhc2NpaSgpIHBhdGNoCisjIDIwMTEtMTAtMjEgZXppbyBhZGQgc3VwcG9ydCBmb3IgbmFtZSBhbGlhc2VzIGFuZCBuYW1lZCBzZXF1ZW5jZXMKKyMgMjAxMi0wMSAgICBiZW5qYW1pbiBhZGQgZnVsbCBjYXNlIG1hcHBpbmdzCiAjCiAjIHdyaXR0ZW4gYnkgRnJlZHJpayBMdW5kaCAoZnJlZHJpa0BweXRob253YXJlLmNvbSkKICMKIAotaW1wb3J0IHN5cywgb3MsIHppcGZpbGUKK2ltcG9ydCBvcworaW1wb3J0IHN5cworaW1wb3J0IHppcGZpbGUKKworZnJvbSB0ZXh0d3JhcCBpbXBvcnQgZGVkZW50Citmcm9tIG9wZXJhdG9yIGltcG9ydCBpdGVtZ2V0dGVyCiAKIFNDUklQVCA9IHN5cy5hcmd2WzBdCiBWRVJTSU9OID0gIjMuMiIKIAogIyBUaGUgVW5pY29kZSBEYXRhYmFzZQotVU5JREFUQV9WRVJTSU9OID0gIjYuMC4wIgorVU5JREFUQV9WRVJTSU9OID0gIjYuMS4wIgogVU5JQ09ERV9EQVRBID0gIlVuaWNvZGVEYXRhJXMudHh0IgogQ09NUE9TSVRJT05fRVhDTFVTSU9OUyA9ICJDb21wb3NpdGlvbkV4Y2x1c2lvbnMlcy50eHQiCiBFQVNUQVNJQU5fV0lEVEggPSAiRWFzdEFzaWFuV2lkdGglcy50eHQiCkBAIC0zOSw2ICs0NiwxOSBAQAogREVSSVZFRF9DT1JFX1BST1BFUlRJRVMgPSAiRGVyaXZlZENvcmVQcm9wZXJ0aWVzJXMudHh0IgogREVSSVZFRE5PUk1BTElaQVRJT05fUFJPUFMgPSAiRGVyaXZlZE5vcm1hbGl6YXRpb25Qcm9wcyVzLnR4dCIKIExJTkVfQlJFQUsgPSAiTGluZUJyZWFrJXMudHh0IgorTkFNRV9BTElBU0VTID0gIk5hbWVBbGlhc2VzJXMudHh0IgorTkFNRURfU0VRVUVOQ0VTID0gIk5hbWVkU2VxdWVuY2VzJXMudHh0IgorU1BFQ0lBTF9DQVNJTkcgPSAiU3BlY2lhbENhc2luZyVzLnR4dCIKK0NBU0VfRk9MRElORyA9ICJDYXNlRm9sZGluZyVzLnR4dCIKKworIyBQcml2YXRlIFVzZSBBcmVhcyAtLSBpbiBwbGFuZXMgMSwgMTUsIDE2CitQVUFfMSA9IHJhbmdlKDB4RTAwMCwgMHhGOTAwKQorUFVBXzE1ID0gcmFuZ2UoMHhGMDAwMCwgMHhGRkZGRSkKK1BVQV8xNiA9IHJhbmdlKDB4MTAwMDAwLCAweDEwRkZGRSkKKworIyB3ZSB1c2UgdGhpcyByYW5nZXMgb2YgUFVBXzE1IHRvIHN0b3JlIG5hbWUgYWxpYXNlcyBhbmQgbmFtZWQgc2VxdWVuY2VzCitOQU1FX0FMSUFTRVNfU1RBUlQgPSAweEYwMDAwCitOQU1FRF9TRVFVRU5DRVNfU1RBUlQgPSAweEYwMjAwCiAKIG9sZF92ZXJzaW9ucyA9IFsiMy4yLjAiXQogCkBAIC02NywxMyArODcsMTUgQEAKIFhJRF9TVEFSVF9NQVNLID0gMHgxMDAKIFhJRF9DT05USU5VRV9NQVNLID0gMHgyMDAKIFBSSU5UQUJMRV9NQVNLID0gMHg0MDAKLU5PREVMVEFfTUFTSyA9IDB4ODAwCi1OVU1FUklDX01BU0sgPSAweDEwMDAKK05VTUVSSUNfTUFTSyA9IDB4ODAwCitDQVNFX0lHTk9SQUJMRV9NQVNLID0gMHgxMDAwCitDQVNFRF9NQVNLID0gMHgyMDAwCitFWFRFTkRFRF9DQVNFX01BU0sgPSAweDQwMDAKIAogIyB0aGVzZSByYW5nZXMgbmVlZCB0byBtYXRjaCB1bmljb2RlZGF0YS5jOmlzX3VuaWZpZWRfaWRlb2dyYXBoCiBjamtfcmFuZ2VzID0gWwogICAgICgnMzQwMCcsICc0REI1JyksCi0gICAgKCc0RTAwJywgJzlGQ0InKSwKKyAgICAoJzRFMDAnLCAnOUZDQycpLAogICAgICgnMjAwMDAnLCAnMkE2RDYnKSwKICAgICAoJzJBNzAwJywgJzJCNzM0JyksCiAgICAgKCcyQjc0MCcsICcyQjgxRCcpCkBAIC0zNjcsNiArMzg5LDcgQEAKICAgICBudW1lcmljID0ge30KICAgICBzcGFjZXMgPSBbXQogICAgIGxpbmVicmVha3MgPSBbXQorICAgIGV4dHJhX2Nhc2luZyA9IFtdCiAKICAgICBmb3IgY2hhciBpbiB1bmljb2RlLmNoYXJzOgogICAgICAgICByZWNvcmQgPSB1bmljb2RlLnRhYmxlW2NoYXJdCkBAIC0zNzksNyArNDAyLDcgQEAKICAgICAgICAgICAgIGRlbHRhID0gVHJ1ZQogICAgICAgICAgICAgaWYgY2F0ZWdvcnkgaW4gWyJMbSIsICJMdCIsICJMdSIsICJMbCIsICJMbyJdOgogICAgICAgICAgICAgICAgIGZsYWdzIHw9IEFMUEhBX01BU0sKLSAgICAgICAgICAgIGlmIGNhdGVnb3J5ID09ICJMbCI6CisgICAgICAgICAgICBpZiAiTG93ZXJjYXNlIiBpbiBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgIGZsYWdzIHw9IExPV0VSX01BU0sKICAgICAgICAgICAgIGlmICdMaW5lX0JyZWFrJyBpbiBwcm9wZXJ0aWVzIG9yIGJpZGlyZWN0aW9uYWwgPT0gIkIiOgogICAgICAgICAgICAgICAgIGZsYWdzIHw9IExJTkVCUkVBS19NQVNLCkBAIC0zODksNyArNDEyLDcgQEAKICAgICAgICAgICAgICAgICBzcGFjZXMuYXBwZW5kKGNoYXIpCiAgICAgICAgICAgICBpZiBjYXRlZ29yeSA9PSAiTHQiOgogICAgICAgICAgICAgICAgIGZsYWdzIHw9IFRJVExFX01BU0sKLSAgICAgICAgICAgIGlmIGNhdGVnb3J5ID09ICJMdSI6CisgICAgICAgICAgICBpZiAiVXBwZXJjYXNlIiBpbiBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgICAgIGZsYWdzIHw9IFVQUEVSX01BU0sKICAgICAgICAgICAgIGlmIGNoYXIgPT0gb3JkKCIgIikgb3IgY2F0ZWdvcnlbMF0gbm90IGluICgiQyIsICJaIik6CiAgICAgICAgICAgICAgICAgZmxhZ3MgfD0gUFJJTlRBQkxFX01BU0sKQEAgLTM5Nyw3ICs0MjAsMTIgQEAKICAgICAgICAgICAgICAgICBmbGFncyB8PSBYSURfU1RBUlRfTUFTSwogICAgICAgICAgICAgaWYgIlhJRF9Db250aW51ZSIgaW4gcHJvcGVydGllczoKICAgICAgICAgICAgICAgICBmbGFncyB8PSBYSURfQ09OVElOVUVfTUFTSwotICAgICAgICAgICAgIyB1c2UgZGVsdGEgcHJlZGljdG9yIGZvciB1cHBlci9sb3dlci90aXRsZSBpZiBpdCBmaXRzCisgICAgICAgICAgICBpZiAiQ2FzZWQiIGluIHByb3BlcnRpZXM6CisgICAgICAgICAgICAgICAgZmxhZ3MgfD0gQ0FTRURfTUFTSworICAgICAgICAgICAgaWYgIkNhc2VfSWdub3JhYmxlIiBpbiBwcm9wZXJ0aWVzOgorICAgICAgICAgICAgICAgIGZsYWdzIHw9IENBU0VfSUdOT1JBQkxFX01BU0sKKyAgICAgICAgICAgIHNjID0gdW5pY29kZS5zcGVjaWFsX2Nhc2luZy5nZXQoY2hhcikKKyAgICAgICAgICAgIGNmID0gdW5pY29kZS5jYXNlX2ZvbGRpbmcuZ2V0KGNoYXIsIFtjaGFyXSkKICAgICAgICAgICAgIGlmIHJlY29yZFsxMl06CiAgICAgICAgICAgICAgICAgdXBwZXIgPSBpbnQocmVjb3JkWzEyXSwgMTYpCiAgICAgICAgICAgICBlbHNlOgpAQCAtNDA5LDIzICs0MzcsMzkgQEAKICAgICAgICAgICAgIGlmIHJlY29yZFsxNF06CiAgICAgICAgICAgICAgICAgdGl0bGUgPSBpbnQocmVjb3JkWzE0XSwgMTYpCiAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICMgVUNELmh0bWwgc2F5cyB0aGF0IGEgbWlzc2luZyB0aXRsZSBjaGFyIG1lYW5zIHRoYXQKLSAgICAgICAgICAgICAgICAjIGl0IGRlZmF1bHRzIHRvIHRoZSB1cHBlcmNhc2UgY2hhcmFjdGVyLCBub3QgdG8gdGhlCi0gICAgICAgICAgICAgICAgIyBjaGFyYWN0ZXIgaXRzZWxmLiBBcHBhcmVudGx5LCBpbiB0aGUgY3VycmVudCBVQ0QgKDUueCkKLSAgICAgICAgICAgICAgICAjIHRoaXMgZmVhdHVyZSBpcyBuZXZlciB1c2VkCiAgICAgICAgICAgICAgICAgdGl0bGUgPSB1cHBlcgotICAgICAgICAgICAgdXBwZXJfZCA9IHVwcGVyIC0gY2hhcgotICAgICAgICAgICAgbG93ZXJfZCA9IGxvd2VyIC0gY2hhcgotICAgICAgICAgICAgdGl0bGVfZCA9IHRpdGxlIC0gY2hhcgotICAgICAgICAgICAgaWYgLTMyNzY4IDw9IHVwcGVyX2QgPD0gMzI3NjcgYW5kIFwKLSAgICAgICAgICAgICAgIC0zMjc2OCA8PSBsb3dlcl9kIDw9IDMyNzY3IGFuZCBcCi0gICAgICAgICAgICAgICAtMzI3NjggPD0gdGl0bGVfZCA8PSAzMjc2NzoKLSAgICAgICAgICAgICAgICAjIHVzZSBkZWx0YXMKLSAgICAgICAgICAgICAgICB1cHBlciA9IHVwcGVyX2QgJiAweGZmZmYKLSAgICAgICAgICAgICAgICBsb3dlciA9IGxvd2VyX2QgJiAweGZmZmYKLSAgICAgICAgICAgICAgICB0aXRsZSA9IHRpdGxlX2QgJiAweGZmZmYKKyAgICAgICAgICAgIGlmIHNjIGlzIE5vbmUgYW5kIGNmICE9IFtsb3dlcl06CisgICAgICAgICAgICAgICAgc2MgPSAoW2xvd2VyXSwgW3RpdGxlXSwgW3VwcGVyXSkKKyAgICAgICAgICAgIGlmIHNjIGlzIE5vbmU6CisgICAgICAgICAgICAgICAgaWYgdXBwZXIgPT0gbG93ZXIgPT0gdGl0bGU6CisgICAgICAgICAgICAgICAgICAgIHVwcGVyID0gbG93ZXIgPSB0aXRsZSA9IDAKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICB1cHBlciA9IHVwcGVyIC0gY2hhcgorICAgICAgICAgICAgICAgICAgICBsb3dlciA9IGxvd2VyIC0gY2hhcgorICAgICAgICAgICAgICAgICAgICB0aXRsZSA9IHRpdGxlIC0gY2hhcgorICAgICAgICAgICAgICAgICAgICBhc3NlcnQgKGFicyh1cHBlcikgPD0gMjE0NzQ4MzY0NyBhbmQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBhYnMobG93ZXIpIDw9IDIxNDc0ODM2NDcgYW5kCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWJzKHRpdGxlKSA8PSAyMTQ3NDgzNjQ3KQogICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBmbGFncyB8PSBOT0RFTFRBX01BU0sKKyAgICAgICAgICAgICAgICAjIFRoaXMgaGFwcGVucyBlaXRoZXIgd2hlbiBzb21lIGNoYXJhY3RlciBtYXBzIHRvIG1vcmUgdGhhbiBvbmUKKyAgICAgICAgICAgICAgICAjIGNoYXJhY3RlciBpbiB1cHBlcmNhc2UsIGxvd2VyY2FzZSwgb3IgdGl0bGVjYXNlIG9yIHRoZQorICAgICAgICAgICAgICAgICMgY2FzZWZvbGRlZCB2ZXJzaW9uIG9mIHRoZSBjaGFyYWN0ZXIgaXMgZGlmZmVyZW50IGZyb20gdGhlCisgICAgICAgICAgICAgICAgIyBsb3dlcmNhc2UuIFRoZSBleHRyYSBjaGFyYWN0ZXJzIGFyZSBzdG9yZWQgaW4gYSBkaWZmZXJlbnQKKyAgICAgICAgICAgICAgICAjIGFycmF5LgorICAgICAgICAgICAgICAgIGZsYWdzIHw9IEVYVEVOREVEX0NBU0VfTUFTSworICAgICAgICAgICAgICAgIGxvd2VyID0gbGVuKGV4dHJhX2Nhc2luZykgfCAobGVuKHNjWzBdKSA8PCAyNCkKKyAgICAgICAgICAgICAgICBleHRyYV9jYXNpbmcuZXh0ZW5kKHNjWzBdKQorICAgICAgICAgICAgICAgIGlmIGNmICE9IHNjWzBdOgorICAgICAgICAgICAgICAgICAgICBsb3dlciB8PSBsZW4oY2YpIDw8IDIwCisgICAgICAgICAgICAgICAgICAgIGV4dHJhX2Nhc2luZy5leHRlbmQoY2YpCisgICAgICAgICAgICAgICAgdXBwZXIgPSBsZW4oZXh0cmFfY2FzaW5nKSB8IChsZW4oc2NbMl0pIDw8IDI0KQorICAgICAgICAgICAgICAgIGV4dHJhX2Nhc2luZy5leHRlbmQoc2NbMl0pCisgICAgICAgICAgICAgICAgIyBUaXRsZSBpcyBwcm9iYWJseSBlcXVhbCB0byB1cHBlci4KKyAgICAgICAgICAgICAgICBpZiBzY1sxXSA9PSBzY1syXToKKyAgICAgICAgICAgICAgICAgICAgdGl0bGUgPSB1cHBlcgorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIHRpdGxlID0gbGVuKGV4dHJhX2Nhc2luZykgfCAobGVuKHNjWzFdKSA8PCAyNCkKKyAgICAgICAgICAgICAgICAgICAgZXh0cmFfY2FzaW5nLmV4dGVuZChzY1sxXSkKICAgICAgICAgICAgICMgZGVjaW1hbCBkaWdpdCwgaW50ZWdlciBkaWdpdAogICAgICAgICAgICAgZGVjaW1hbCA9IDAKICAgICAgICAgICAgIGlmIHJlY29yZFs2XToKQEAgLTQ1Miw2ICs0OTYsNyBAQAogICAgIHByaW50KHN1bShtYXAobGVuLCBudW1lcmljLnZhbHVlcygpKSksICJudW1lcmljIGNvZGUgcG9pbnRzIikKICAgICBwcmludChsZW4oc3BhY2VzKSwgIndoaXRlc3BhY2UgY29kZSBwb2ludHMiKQogICAgIHByaW50KGxlbihsaW5lYnJlYWtzKSwgImxpbmVicmVhayBjb2RlIHBvaW50cyIpCisgICAgcHJpbnQobGVuKGV4dHJhX2Nhc2luZyksICJleHRlbmRlZCBjYXNlIGFycmF5IikKIAogICAgIHByaW50KCItLS0gV3JpdGluZyIsIEZJTEUsICIuLi4iKQogCkBAIC00NjUsNiArNTEwLDE0IEBACiAgICAgcHJpbnQoIn07IiwgZmlsZT1mcCkKICAgICBwcmludChmaWxlPWZwKQogCisgICAgcHJpbnQoIi8qIGV4dGVuZGVkIGNhc2UgbWFwcGluZ3MgKi8iLCBmaWxlPWZwKQorICAgIHByaW50KGZpbGU9ZnApCisgICAgcHJpbnQoImNvbnN0IFB5X1VDUzQgX1B5VW5pY29kZV9FeHRlbmRlZENhc2VbXSA9IHsiLCBmaWxlPWZwKQorICAgIGZvciBjIGluIGV4dHJhX2Nhc2luZzoKKyAgICAgICAgcHJpbnQoIiAgICAlZCwiICUgYywgZmlsZT1mcCkKKyAgICBwcmludCgifTsiLCBmaWxlPWZwKQorICAgIHByaW50KGZpbGU9ZnApCisKICAgICAjIHNwbGl0IGRlY29tcG9zaXRpb24gaW5kZXggdGFibGUKICAgICBpbmRleDEsIGluZGV4Miwgc2hpZnQgPSBzcGxpdGJpbnMoaW5kZXgsIHRyYWNlKQogCkBAIC02OTIsNiArNzQ1LDM5IEBACiAgICAgcHJpbnQoIi8qIG5hbWUtPmNvZGUgZGljdGlvbmFyeSAqLyIsIGZpbGU9ZnApCiAgICAgY29kZWhhc2guZHVtcChmcCwgdHJhY2UpCiAKKyAgICBwcmludChmaWxlPWZwKQorICAgIHByaW50KCdzdGF0aWMgY29uc3QgdW5zaWduZWQgaW50IGFsaWFzZXNfc3RhcnQgPSAlI3g7JyAlCisgICAgICAgICAgTkFNRV9BTElBU0VTX1NUQVJULCBmaWxlPWZwKQorICAgIHByaW50KCdzdGF0aWMgY29uc3QgdW5zaWduZWQgaW50IGFsaWFzZXNfZW5kID0gJSN4OycgJQorICAgICAgICAgIChOQU1FX0FMSUFTRVNfU1RBUlQgKyBsZW4odW5pY29kZS5hbGlhc2VzKSksIGZpbGU9ZnApCisKKyAgICBwcmludCgnc3RhdGljIGNvbnN0IHVuc2lnbmVkIGludCBuYW1lX2FsaWFzZXNbXSA9IHsnLCBmaWxlPWZwKQorICAgIGZvciBuYW1lLCBjb2RlcG9pbnQgaW4gdW5pY29kZS5hbGlhc2VzOgorICAgICAgICBwcmludCgnICAgIDB4JTA0WCwnICUgY29kZXBvaW50LCBmaWxlPWZwKQorICAgIHByaW50KCd9OycsIGZpbGU9ZnApCisKKyAgICAjIEluIFVuaWNvZGUgNi4wLjAsIHRoZSBzZXF1ZW5jZXMgY29udGFpbiBhdCBtb3N0IDQgQk1QIGNoYXJzLAorICAgICMgc28gd2UgYXJlIHVzaW5nIFB5X1VDUzIgc2VxWzRdLiAgVGhpcyBuZWVkcyB0byBiZSB1cGRhdGVkIGlmIGxvbmdlcgorICAgICMgc2VxdWVuY2VzIG9yIHNlcXVlbmNlcyB3aXRoIG5vbi1CTVAgY2hhcnMgYXJlIGFkZGVkLgorICAgICMgdW5pY29kZWRhdGFfbG9va3VwIHNob3VsZCBiZSBhZGFwdGVkIHRvby4KKyAgICBwcmludChkZWRlbnQoIiIiCisgICAgICAgIHR5cGVkZWYgc3RydWN0IE5hbWVkU2VxdWVuY2UgeworICAgICAgICAgICAgaW50IHNlcWxlbjsKKyAgICAgICAgICAgIFB5X1VDUzIgc2VxWzRdOworICAgICAgICB9IG5hbWVkX3NlcXVlbmNlOworICAgICAgICAiIiIpLCBmaWxlPWZwKQorCisgICAgcHJpbnQoJ3N0YXRpYyBjb25zdCB1bnNpZ25lZCBpbnQgbmFtZWRfc2VxdWVuY2VzX3N0YXJ0ID0gJSN4OycgJQorICAgICAgICAgIE5BTUVEX1NFUVVFTkNFU19TVEFSVCwgZmlsZT1mcCkKKyAgICBwcmludCgnc3RhdGljIGNvbnN0IHVuc2lnbmVkIGludCBuYW1lZF9zZXF1ZW5jZXNfZW5kID0gJSN4OycgJQorICAgICAgICAgIChOQU1FRF9TRVFVRU5DRVNfU1RBUlQgKyBsZW4odW5pY29kZS5uYW1lZF9zZXF1ZW5jZXMpKSwgZmlsZT1mcCkKKworICAgIHByaW50KCdzdGF0aWMgY29uc3QgbmFtZWRfc2VxdWVuY2UgbmFtZWRfc2VxdWVuY2VzW10gPSB7JywgZmlsZT1mcCkKKyAgICBmb3IgbmFtZSwgc2VxdWVuY2UgaW4gdW5pY29kZS5uYW1lZF9zZXF1ZW5jZXM6CisgICAgICAgIHNlcV9zdHIgPSAnLCAnLmpvaW4oJzB4JTA0WCcgJSBjcCBmb3IgY3AgaW4gc2VxdWVuY2UpCisgICAgICAgIHByaW50KCcgICAgeyVkLCB7JXN9fSwnICUgKGxlbihzZXF1ZW5jZSksIHNlcV9zdHIpLCBmaWxlPWZwKQorICAgIHByaW50KCd9OycsIGZpbGU9ZnApCisKICAgICBmcC5jbG9zZSgpCiAKIApAQCAtNzI2LDcgKzgxMiwxMSBAQAogICAgICAgICAgICAgZm9yIGsgaW4gcmFuZ2UobGVuKG9sZC50YWJsZVtpXSkpOgogICAgICAgICAgICAgICAgIGlmIG9sZC50YWJsZVtpXVtrXSAhPSBuZXcudGFibGVbaV1ba106CiAgICAgICAgICAgICAgICAgICAgIHZhbHVlID0gb2xkLnRhYmxlW2ldW2tdCi0gICAgICAgICAgICAgICAgICAgIGlmIGsgPT0gMjoKKyAgICAgICAgICAgICAgICAgICAgaWYgayA9PSAxIGFuZCBpIGluIFBVQV8xNToKKyAgICAgICAgICAgICAgICAgICAgICAgICMgdGhlIG5hbWUgaXMgbm90IHNldCBpbiB0aGUgb2xkLnRhYmxlLCBidXQgaW4gdGhlCisgICAgICAgICAgICAgICAgICAgICAgICAjIG5ldy50YWJsZSB3ZSBhcmUgdXNpbmcgaXQgZm9yIGFsaWFzZXMgYW5kIG5hbWVkIHNlcQorICAgICAgICAgICAgICAgICAgICAgICAgYXNzZXJ0IHZhbHVlID09ICcnCisgICAgICAgICAgICAgICAgICAgIGVsaWYgayA9PSAyOgogICAgICAgICAgICAgICAgICAgICAgICAgI3ByaW50ICJDQVRFR09SWSIsaGV4KGkpLCBvbGQudGFibGVbaV1ba10sIG5ldy50YWJsZVtpXVtrXQogICAgICAgICAgICAgICAgICAgICAgICAgY2F0ZWdvcnlfY2hhbmdlc1tpXSA9IENBVEVHT1JZX05BTUVTLmluZGV4KHZhbHVlKQogICAgICAgICAgICAgICAgICAgICBlbGlmIGsgPT0gNDoKQEAgLTgxNiwxNSArOTA2LDE1IEBACiAgICAgICAgICAgICAgICAgIGV4cGFuZD0xLAogICAgICAgICAgICAgICAgICBjamtfY2hlY2s9VHJ1ZSk6CiAgICAgICAgIHNlbGYuY2hhbmdlZCA9IFtdCi0gICAgICAgIGZpbGUgPSBvcGVuX2RhdGEoVU5JQ09ERV9EQVRBLCB2ZXJzaW9uKQogICAgICAgICB0YWJsZSA9IFtOb25lXSAqIDB4MTEwMDAwCi0gICAgICAgIHdoaWxlIDE6Ci0gICAgICAgICAgICBzID0gZmlsZS5yZWFkbGluZSgpCi0gICAgICAgICAgICBpZiBub3QgczoKLSAgICAgICAgICAgICAgICBicmVhawotICAgICAgICAgICAgcyA9IHMuc3RyaXAoKS5zcGxpdCgiOyIpCi0gICAgICAgICAgICBjaGFyID0gaW50KHNbMF0sIDE2KQotICAgICAgICAgICAgdGFibGVbY2hhcl0gPSBzCisgICAgICAgIHdpdGggb3Blbl9kYXRhKFVOSUNPREVfREFUQSwgdmVyc2lvbikgYXMgZmlsZToKKyAgICAgICAgICAgIHdoaWxlIDE6CisgICAgICAgICAgICAgICAgcyA9IGZpbGUucmVhZGxpbmUoKQorICAgICAgICAgICAgICAgIGlmIG5vdCBzOgorICAgICAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAgICAgIHMgPSBzLnN0cmlwKCkuc3BsaXQoIjsiKQorICAgICAgICAgICAgICAgIGNoYXIgPSBpbnQoc1swXSwgMTYpCisgICAgICAgICAgICAgICAgdGFibGVbY2hhcl0gPSBzCiAKICAgICAgICAgY2prX3Jhbmdlc19mb3VuZCA9IFtdCiAKQEAgLTg1NSwzMiArOTQ1LDc5IEBACiAgICAgICAgIHNlbGYudGFibGUgPSB0YWJsZQogICAgICAgICBzZWxmLmNoYXJzID0gbGlzdChyYW5nZSgweDExMDAwMCkpICMgdW5pY29kZSAzLjIKIAotICAgICAgICBmaWxlID0gb3Blbl9kYXRhKENPTVBPU0lUSU9OX0VYQ0xVU0lPTlMsIHZlcnNpb24pCisgICAgICAgICMgY2hlY2sgZm9yIG5hbWUgYWxpYXNlcyBhbmQgbmFtZWQgc2VxdWVuY2VzLCBzZWUgIzEyNzUzCisgICAgICAgICMgYWxpYXNlcyBhbmQgbmFtZWQgc2VxdWVuY2VzIGFyZSBub3QgaW4gMy4yLjAKKyAgICAgICAgaWYgdmVyc2lvbiAhPSAnMy4yLjAnOgorICAgICAgICAgICAgc2VsZi5hbGlhc2VzID0gW10KKyAgICAgICAgICAgICMgc3RvcmUgYWxpYXNlcyBpbiB0aGUgUHJpdmF0ZSBVc2UgQXJlYSAxNSwgaW4gcmFuZ2UgVStGMDAwMC4uVStGMDBGRiwKKyAgICAgICAgICAgICMgaW4gb3JkZXIgdG8gdGFrZSBhZHZhbnRhZ2Ugb2YgdGhlIGNvbXByZXNzaW9uIGFuZCBsb29rdXAKKyAgICAgICAgICAgICMgYWxnb3JpdGhtcyB1c2VkIGZvciB0aGUgb3RoZXIgY2hhcmFjdGVycworICAgICAgICAgICAgcHVhX2luZGV4ID0gTkFNRV9BTElBU0VTX1NUQVJUCisgICAgICAgICAgICB3aXRoIG9wZW5fZGF0YShOQU1FX0FMSUFTRVMsIHZlcnNpb24pIGFzIGZpbGU6CisgICAgICAgICAgICAgICAgZm9yIHMgaW4gZmlsZToKKyAgICAgICAgICAgICAgICAgICAgcyA9IHMuc3RyaXAoKQorICAgICAgICAgICAgICAgICAgICBpZiBub3QgcyBvciBzLnN0YXJ0c3dpdGgoJyMnKToKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICAgICAgICAgIGNoYXIsIG5hbWUsIGFiYnJldiA9IHMuc3BsaXQoJzsnKQorICAgICAgICAgICAgICAgICAgICBjaGFyID0gaW50KGNoYXIsIDE2KQorICAgICAgICAgICAgICAgICAgICBzZWxmLmFsaWFzZXMuYXBwZW5kKChuYW1lLCBjaGFyKSkKKyAgICAgICAgICAgICAgICAgICAgIyBhbHNvIHN0b3JlIHRoZSBuYW1lIGluIHRoZSBQVUEgMQorICAgICAgICAgICAgICAgICAgICBzZWxmLnRhYmxlW3B1YV9pbmRleF1bMV0gPSBuYW1lCisgICAgICAgICAgICAgICAgICAgIHB1YV9pbmRleCArPSAxCisgICAgICAgICAgICBhc3NlcnQgcHVhX2luZGV4IC0gTkFNRV9BTElBU0VTX1NUQVJUID09IGxlbihzZWxmLmFsaWFzZXMpCisKKyAgICAgICAgICAgIHNlbGYubmFtZWRfc2VxdWVuY2VzID0gW10KKyAgICAgICAgICAgICMgc3RvcmUgbmFtZWQgc2VxZW5jZXMgaW4gdGhlIFBVQSAxLCBpbiByYW5nZSBVK0YwMTAwLi4sCisgICAgICAgICAgICAjIGluIG9yZGVyIHRvIHRha2UgYWR2YW50YWdlIG9mIHRoZSBjb21wcmVzc2lvbiBhbmQgbG9va3VwCisgICAgICAgICAgICAjIGFsZ29yaXRobXMgdXNlZCBmb3IgdGhlIG90aGVyIGNoYXJhY3RlcnMuCisKKyAgICAgICAgICAgIGFzc2VydCBwdWFfaW5kZXggPCBOQU1FRF9TRVFVRU5DRVNfU1RBUlQKKyAgICAgICAgICAgIHB1YV9pbmRleCA9IE5BTUVEX1NFUVVFTkNFU19TVEFSVAorICAgICAgICAgICAgd2l0aCBvcGVuX2RhdGEoTkFNRURfU0VRVUVOQ0VTLCB2ZXJzaW9uKSBhcyBmaWxlOgorICAgICAgICAgICAgICAgIGZvciBzIGluIGZpbGU6CisgICAgICAgICAgICAgICAgICAgIHMgPSBzLnN0cmlwKCkKKyAgICAgICAgICAgICAgICAgICAgaWYgbm90IHMgb3Igcy5zdGFydHN3aXRoKCcjJyk6CisgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgICAgICAgICBuYW1lLCBjaGFycyA9IHMuc3BsaXQoJzsnKQorICAgICAgICAgICAgICAgICAgICBjaGFycyA9IHR1cGxlKGludChjaGFyLCAxNikgZm9yIGNoYXIgaW4gY2hhcnMuc3BsaXQoKSkKKyAgICAgICAgICAgICAgICAgICAgIyBjaGVjayB0aGF0IHRoZSBzdHJ1Y3R1cmUgZGVmaW5lZCBpbiBtYWtldW5pY29kZW5hbWUgaXMgT0sKKyAgICAgICAgICAgICAgICAgICAgYXNzZXJ0IDIgPD0gbGVuKGNoYXJzKSA8PSA0LCAiY2hhbmdlIHRoZSBQeV9VQ1MyIGFycmF5IHNpemUiCisgICAgICAgICAgICAgICAgICAgIGFzc2VydCBhbGwoYyA8PSAweEZGRkYgZm9yIGMgaW4gY2hhcnMpLCAoInVzZSBQeV9VQ1M0IGluICIKKyAgICAgICAgICAgICAgICAgICAgICAgICJ0aGUgTmFtZWRTZXF1ZW5jZSBzdHJ1Y3QgYW5kIGluIHVuaWNvZGVkYXRhX2xvb2t1cCIpCisgICAgICAgICAgICAgICAgICAgIHNlbGYubmFtZWRfc2VxdWVuY2VzLmFwcGVuZCgobmFtZSwgY2hhcnMpKQorICAgICAgICAgICAgICAgICAgICAjIGFsc28gc3RvcmUgdGhlc2UgaW4gdGhlIFBVQSAxCisgICAgICAgICAgICAgICAgICAgIHNlbGYudGFibGVbcHVhX2luZGV4XVsxXSA9IG5hbWUKKyAgICAgICAgICAgICAgICAgICAgcHVhX2luZGV4ICs9IDEKKyAgICAgICAgICAgIGFzc2VydCBwdWFfaW5kZXggLSBOQU1FRF9TRVFVRU5DRVNfU1RBUlQgPT0gbGVuKHNlbGYubmFtZWRfc2VxdWVuY2VzKQorCiAgICAgICAgIHNlbGYuZXhjbHVzaW9ucyA9IHt9Ci0gICAgICAgIGZvciBzIGluIGZpbGU6Ci0gICAgICAgICAgICBzID0gcy5zdHJpcCgpCi0gICAgICAgICAgICBpZiBub3QgczoKLSAgICAgICAgICAgICAgICBjb250aW51ZQotICAgICAgICAgICAgaWYgc1swXSA9PSAnIyc6Ci0gICAgICAgICAgICAgICAgY29udGludWUKLSAgICAgICAgICAgIGNoYXIgPSBpbnQocy5zcGxpdCgpWzBdLDE2KQotICAgICAgICAgICAgc2VsZi5leGNsdXNpb25zW2NoYXJdID0gMQorICAgICAgICB3aXRoIG9wZW5fZGF0YShDT01QT1NJVElPTl9FWENMVVNJT05TLCB2ZXJzaW9uKSBhcyBmaWxlOgorICAgICAgICAgICAgZm9yIHMgaW4gZmlsZToKKyAgICAgICAgICAgICAgICBzID0gcy5zdHJpcCgpCisgICAgICAgICAgICAgICAgaWYgbm90IHM6CisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICAgICAgaWYgc1swXSA9PSAnIyc6CisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICAgICAgY2hhciA9IGludChzLnNwbGl0KClbMF0sMTYpCisgICAgICAgICAgICAgICAgc2VsZi5leGNsdXNpb25zW2NoYXJdID0gMQogCiAgICAgICAgIHdpZHRocyA9IFtOb25lXSAqIDB4MTEwMDAwCi0gICAgICAgIGZvciBzIGluIG9wZW5fZGF0YShFQVNUQVNJQU5fV0lEVEgsIHZlcnNpb24pOgotICAgICAgICAgICAgcyA9IHMuc3RyaXAoKQotICAgICAgICAgICAgaWYgbm90IHM6Ci0gICAgICAgICAgICAgICAgY29udGludWUKLSAgICAgICAgICAgIGlmIHNbMF0gPT0gJyMnOgotICAgICAgICAgICAgICAgIGNvbnRpbnVlCi0gICAgICAgICAgICBzID0gcy5zcGxpdCgpWzBdLnNwbGl0KCc7JykKLSAgICAgICAgICAgIGlmICcuLicgaW4gc1swXToKLSAgICAgICAgICAgICAgICBmaXJzdCwgbGFzdCA9IFtpbnQoYywgMTYpIGZvciBjIGluIHNbMF0uc3BsaXQoJy4uJyldCi0gICAgICAgICAgICAgICAgY2hhcnMgPSBsaXN0KHJhbmdlKGZpcnN0LCBsYXN0KzEpKQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBjaGFycyA9IFtpbnQoc1swXSwgMTYpXQotICAgICAgICAgICAgZm9yIGNoYXIgaW4gY2hhcnM6Ci0gICAgICAgICAgICAgICAgd2lkdGhzW2NoYXJdID0gc1sxXQorICAgICAgICB3aXRoIG9wZW5fZGF0YShFQVNUQVNJQU5fV0lEVEgsIHZlcnNpb24pIGFzIGZpbGU6CisgICAgICAgICAgICBmb3IgcyBpbiBmaWxlOgorICAgICAgICAgICAgICAgIHMgPSBzLnN0cmlwKCkKKyAgICAgICAgICAgICAgICBpZiBub3QgczoKKyAgICAgICAgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgICAgICAgICBpZiBzWzBdID09ICcjJzoKKyAgICAgICAgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgICAgICAgICBzID0gcy5zcGxpdCgpWzBdLnNwbGl0KCc7JykKKyAgICAgICAgICAgICAgICBpZiAnLi4nIGluIHNbMF06CisgICAgICAgICAgICAgICAgICAgIGZpcnN0LCBsYXN0ID0gW2ludChjLCAxNikgZm9yIGMgaW4gc1swXS5zcGxpdCgnLi4nKV0KKyAgICAgICAgICAgICAgICAgICAgY2hhcnMgPSBsaXN0KHJhbmdlKGZpcnN0LCBsYXN0KzEpKQorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIGNoYXJzID0gW2ludChzWzBdLCAxNildCisgICAgICAgICAgICAgICAgZm9yIGNoYXIgaW4gY2hhcnM6CisgICAgICAgICAgICAgICAgICAgIHdpZHRoc1tjaGFyXSA9IHNbMV0KKwogICAgICAgICBmb3IgaSBpbiByYW5nZSgwLCAweDExMDAwMCk6CiAgICAgICAgICAgICBpZiB0YWJsZVtpXSBpcyBub3QgTm9uZToKICAgICAgICAgICAgICAgICB0YWJsZVtpXS5hcHBlbmQod2lkdGhzW2ldKQpAQCAtODg4LDM2ICsxMDI1LDM5IEBACiAgICAgICAgIGZvciBpIGluIHJhbmdlKDAsIDB4MTEwMDAwKToKICAgICAgICAgICAgIGlmIHRhYmxlW2ldIGlzIG5vdCBOb25lOgogICAgICAgICAgICAgICAgIHRhYmxlW2ldLmFwcGVuZChzZXQoKSkKLSAgICAgICAgZm9yIHMgaW4gb3Blbl9kYXRhKERFUklWRURfQ09SRV9QUk9QRVJUSUVTLCB2ZXJzaW9uKToKLSAgICAgICAgICAgIHMgPSBzLnNwbGl0KCcjJywgMSlbMF0uc3RyaXAoKQotICAgICAgICAgICAgaWYgbm90IHM6Ci0gICAgICAgICAgICAgICAgY29udGludWUKIAotICAgICAgICAgICAgciwgcCA9IHMuc3BsaXQoIjsiKQotICAgICAgICAgICAgciA9IHIuc3RyaXAoKQotICAgICAgICAgICAgcCA9IHAuc3RyaXAoKQotICAgICAgICAgICAgaWYgIi4uIiBpbiByOgotICAgICAgICAgICAgICAgIGZpcnN0LCBsYXN0ID0gW2ludChjLCAxNikgZm9yIGMgaW4gci5zcGxpdCgnLi4nKV0KLSAgICAgICAgICAgICAgICBjaGFycyA9IGxpc3QocmFuZ2UoZmlyc3QsIGxhc3QrMSkpCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIGNoYXJzID0gW2ludChyLCAxNildCi0gICAgICAgICAgICBmb3IgY2hhciBpbiBjaGFyczoKLSAgICAgICAgICAgICAgICBpZiB0YWJsZVtjaGFyXToKLSAgICAgICAgICAgICAgICAgICAgIyBTb21lIHByb3BlcnRpZXMgKGUuZy4gRGVmYXVsdF9JZ25vcmFibGVfQ29kZV9Qb2ludCkKLSAgICAgICAgICAgICAgICAgICAgIyBhcHBseSB0byB1bmFzc2lnbmVkIGNvZGUgcG9pbnRzOyBpZ25vcmUgdGhlbQotICAgICAgICAgICAgICAgICAgICB0YWJsZVtjaGFyXVstMV0uYWRkKHApCisgICAgICAgIHdpdGggb3Blbl9kYXRhKERFUklWRURfQ09SRV9QUk9QRVJUSUVTLCB2ZXJzaW9uKSBhcyBmaWxlOgorICAgICAgICAgICAgZm9yIHMgaW4gZmlsZToKKyAgICAgICAgICAgICAgICBzID0gcy5zcGxpdCgnIycsIDEpWzBdLnN0cmlwKCkKKyAgICAgICAgICAgICAgICBpZiBub3QgczoKKyAgICAgICAgICAgICAgICAgICAgY29udGludWUKIAotICAgICAgICBmb3IgcyBpbiBvcGVuX2RhdGEoTElORV9CUkVBSywgdmVyc2lvbik6Ci0gICAgICAgICAgICBzID0gcy5wYXJ0aXRpb24oJyMnKVswXQotICAgICAgICAgICAgcyA9IFtpLnN0cmlwKCkgZm9yIGkgaW4gcy5zcGxpdCgnOycpXQotICAgICAgICAgICAgaWYgbGVuKHMpIDwgMiBvciBzWzFdIG5vdCBpbiBNQU5EQVRPUllfTElORV9CUkVBS1M6Ci0gICAgICAgICAgICAgICAgY29udGludWUKLSAgICAgICAgICAgIGlmICcuLicgbm90IGluIHNbMF06Ci0gICAgICAgICAgICAgICAgZmlyc3QgPSBsYXN0ID0gaW50KHNbMF0sIDE2KQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBmaXJzdCwgbGFzdCA9IFtpbnQoYywgMTYpIGZvciBjIGluIHNbMF0uc3BsaXQoJy4uJyldCi0gICAgICAgICAgICBmb3IgY2hhciBpbiByYW5nZShmaXJzdCwgbGFzdCsxKToKLSAgICAgICAgICAgICAgICB0YWJsZVtjaGFyXVstMV0uYWRkKCdMaW5lX0JyZWFrJykKKyAgICAgICAgICAgICAgICByLCBwID0gcy5zcGxpdCgiOyIpCisgICAgICAgICAgICAgICAgciA9IHIuc3RyaXAoKQorICAgICAgICAgICAgICAgIHAgPSBwLnN0cmlwKCkKKyAgICAgICAgICAgICAgICBpZiAiLi4iIGluIHI6CisgICAgICAgICAgICAgICAgICAgIGZpcnN0LCBsYXN0ID0gW2ludChjLCAxNikgZm9yIGMgaW4gci5zcGxpdCgnLi4nKV0KKyAgICAgICAgICAgICAgICAgICAgY2hhcnMgPSBsaXN0KHJhbmdlKGZpcnN0LCBsYXN0KzEpKQorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIGNoYXJzID0gW2ludChyLCAxNildCisgICAgICAgICAgICAgICAgZm9yIGNoYXIgaW4gY2hhcnM6CisgICAgICAgICAgICAgICAgICAgIGlmIHRhYmxlW2NoYXJdOgorICAgICAgICAgICAgICAgICAgICAgICAgIyBTb21lIHByb3BlcnRpZXMgKGUuZy4gRGVmYXVsdF9JZ25vcmFibGVfQ29kZV9Qb2ludCkKKyAgICAgICAgICAgICAgICAgICAgICAgICMgYXBwbHkgdG8gdW5hc3NpZ25lZCBjb2RlIHBvaW50czsgaWdub3JlIHRoZW0KKyAgICAgICAgICAgICAgICAgICAgICAgIHRhYmxlW2NoYXJdWy0xXS5hZGQocCkKKworICAgICAgICB3aXRoIG9wZW5fZGF0YShMSU5FX0JSRUFLLCB2ZXJzaW9uKSBhcyBmaWxlOgorICAgICAgICAgICAgZm9yIHMgaW4gZmlsZToKKyAgICAgICAgICAgICAgICBzID0gcy5wYXJ0aXRpb24oJyMnKVswXQorICAgICAgICAgICAgICAgIHMgPSBbaS5zdHJpcCgpIGZvciBpIGluIHMuc3BsaXQoJzsnKV0KKyAgICAgICAgICAgICAgICBpZiBsZW4ocykgPCAyIG9yIHNbMV0gbm90IGluIE1BTkRBVE9SWV9MSU5FX0JSRUFLUzoKKyAgICAgICAgICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgICAgICAgICBpZiAnLi4nIG5vdCBpbiBzWzBdOgorICAgICAgICAgICAgICAgICAgICBmaXJzdCA9IGxhc3QgPSBpbnQoc1swXSwgMTYpCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgZmlyc3QsIGxhc3QgPSBbaW50KGMsIDE2KSBmb3IgYyBpbiBzWzBdLnNwbGl0KCcuLicpXQorICAgICAgICAgICAgICAgIGZvciBjaGFyIGluIHJhbmdlKGZpcnN0LCBsYXN0KzEpOgorICAgICAgICAgICAgICAgICAgICB0YWJsZVtjaGFyXVstMV0uYWRkKCdMaW5lX0JyZWFrJykKIAogICAgICAgICAjIFdlIG9ubHkgd2FudCB0aGUgcXVpY2tjaGVjayBwcm9wZXJ0aWVzCiAgICAgICAgICMgRm9ybWF0OiBORj9fUUM7IFkoZXMpL04obykvTShheWJlKQpAQCAtOTI4LDMxICsxMDY4LDMzIEBACiAgICAgICAgICMgZm9yIG9sZGVyIHZlcnNpb25zLCBhbmQgbm8gZGVsdGEgcmVjb3JkcyB3aWxsIGJlIGNyZWF0ZWQuCiAgICAgICAgIHF1aWNrY2hlY2tzID0gWzBdICogMHgxMTAwMDAKICAgICAgICAgcWNfb3JkZXIgPSAnTkZEX1FDIE5GS0RfUUMgTkZDX1FDIE5GS0NfUUMnLnNwbGl0KCkKLSAgICAgICAgZm9yIHMgaW4gb3Blbl9kYXRhKERFUklWRUROT1JNQUxJWkFUSU9OX1BST1BTLCB2ZXJzaW9uKToKLSAgICAgICAgICAgIGlmICcjJyBpbiBzOgotICAgICAgICAgICAgICAgIHMgPSBzWzpzLmluZGV4KCcjJyldCi0gICAgICAgICAgICBzID0gW2kuc3RyaXAoKSBmb3IgaSBpbiBzLnNwbGl0KCc7JyldCi0gICAgICAgICAgICBpZiBsZW4ocykgPCAyIG9yIHNbMV0gbm90IGluIHFjX29yZGVyOgotICAgICAgICAgICAgICAgIGNvbnRpbnVlCi0gICAgICAgICAgICBxdWlja2NoZWNrID0gJ01OJy5pbmRleChzWzJdKSArIDEgIyBNYXliZSBvciBObwotICAgICAgICAgICAgcXVpY2tjaGVja19zaGlmdCA9IHFjX29yZGVyLmluZGV4KHNbMV0pKjIKLSAgICAgICAgICAgIHF1aWNrY2hlY2sgPDw9IHF1aWNrY2hlY2tfc2hpZnQKLSAgICAgICAgICAgIGlmICcuLicgbm90IGluIHNbMF06Ci0gICAgICAgICAgICAgICAgZmlyc3QgPSBsYXN0ID0gaW50KHNbMF0sIDE2KQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBmaXJzdCwgbGFzdCA9IFtpbnQoYywgMTYpIGZvciBjIGluIHNbMF0uc3BsaXQoJy4uJyldCi0gICAgICAgICAgICBmb3IgY2hhciBpbiByYW5nZShmaXJzdCwgbGFzdCsxKToKLSAgICAgICAgICAgICAgICBhc3NlcnQgbm90IChxdWlja2NoZWNrc1tjaGFyXT4+cXVpY2tjaGVja19zaGlmdCkmMwotICAgICAgICAgICAgICAgIHF1aWNrY2hlY2tzW2NoYXJdIHw9IHF1aWNrY2hlY2sKKyAgICAgICAgd2l0aCBvcGVuX2RhdGEoREVSSVZFRE5PUk1BTElaQVRJT05fUFJPUFMsIHZlcnNpb24pIGFzIGZpbGU6CisgICAgICAgICAgICBmb3IgcyBpbiBmaWxlOgorICAgICAgICAgICAgICAgIGlmICcjJyBpbiBzOgorICAgICAgICAgICAgICAgICAgICBzID0gc1s6cy5pbmRleCgnIycpXQorICAgICAgICAgICAgICAgIHMgPSBbaS5zdHJpcCgpIGZvciBpIGluIHMuc3BsaXQoJzsnKV0KKyAgICAgICAgICAgICAgICBpZiBsZW4ocykgPCAyIG9yIHNbMV0gbm90IGluIHFjX29yZGVyOgorICAgICAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgICAgIHF1aWNrY2hlY2sgPSAnTU4nLmluZGV4KHNbMl0pICsgMSAjIE1heWJlIG9yIE5vCisgICAgICAgICAgICAgICAgcXVpY2tjaGVja19zaGlmdCA9IHFjX29yZGVyLmluZGV4KHNbMV0pKjIKKyAgICAgICAgICAgICAgICBxdWlja2NoZWNrIDw8PSBxdWlja2NoZWNrX3NoaWZ0CisgICAgICAgICAgICAgICAgaWYgJy4uJyBub3QgaW4gc1swXToKKyAgICAgICAgICAgICAgICAgICAgZmlyc3QgPSBsYXN0ID0gaW50KHNbMF0sIDE2KQorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIGZpcnN0LCBsYXN0ID0gW2ludChjLCAxNikgZm9yIGMgaW4gc1swXS5zcGxpdCgnLi4nKV0KKyAgICAgICAgICAgICAgICBmb3IgY2hhciBpbiByYW5nZShmaXJzdCwgbGFzdCsxKToKKyAgICAgICAgICAgICAgICAgICAgYXNzZXJ0IG5vdCAocXVpY2tjaGVja3NbY2hhcl0+PnF1aWNrY2hlY2tfc2hpZnQpJjMKKyAgICAgICAgICAgICAgICAgICAgcXVpY2tjaGVja3NbY2hhcl0gfD0gcXVpY2tjaGVjawogICAgICAgICBmb3IgaSBpbiByYW5nZSgwLCAweDExMDAwMCk6CiAgICAgICAgICAgICBpZiB0YWJsZVtpXSBpcyBub3QgTm9uZToKICAgICAgICAgICAgICAgICB0YWJsZVtpXS5hcHBlbmQocXVpY2tjaGVja3NbaV0pCiAKLSAgICAgICAgemlwID0gemlwZmlsZS5aaXBGaWxlKG9wZW5fZGF0YShVTklIQU4sIHZlcnNpb24pKQotICAgICAgICBpZiB2ZXJzaW9uID09ICczLjIuMCc6Ci0gICAgICAgICAgICBkYXRhID0gemlwLm9wZW4oJ1VuaWhhbi0zLjIuMC50eHQnKS5yZWFkKCkKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIGRhdGEgPSB6aXAub3BlbignVW5paGFuX051bWVyaWNWYWx1ZXMudHh0JykucmVhZCgpCisgICAgICAgIHdpdGggb3Blbl9kYXRhKFVOSUhBTiwgdmVyc2lvbikgYXMgZmlsZToKKyAgICAgICAgICAgIHppcCA9IHppcGZpbGUuWmlwRmlsZShmaWxlKQorICAgICAgICAgICAgaWYgdmVyc2lvbiA9PSAnMy4yLjAnOgorICAgICAgICAgICAgICAgIGRhdGEgPSB6aXAub3BlbignVW5paGFuLTMuMi4wLnR4dCcpLnJlYWQoKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBkYXRhID0gemlwLm9wZW4oJ1VuaWhhbl9OdW1lcmljVmFsdWVzLnR4dCcpLnJlYWQoKQogICAgICAgICBmb3IgbGluZSBpbiBkYXRhLmRlY29kZSgidXRmLTgiKS5zcGxpdGxpbmVzKCk6CiAgICAgICAgICAgICBpZiBub3QgbGluZS5zdGFydHN3aXRoKCdVKycpOgogICAgICAgICAgICAgICAgIGNvbnRpbnVlCkBAIC05NjUsNiArMTEwNywzNCBAQAogICAgICAgICAgICAgIyBQYXRjaCB0aGUgbnVtZXJpYyBmaWVsZAogICAgICAgICAgICAgaWYgdGFibGVbaV0gaXMgbm90IE5vbmU6CiAgICAgICAgICAgICAgICAgdGFibGVbaV1bOF0gPSB2YWx1ZQorICAgICAgICBzYyA9IHNlbGYuc3BlY2lhbF9jYXNpbmcgPSB7fQorICAgICAgICB3aXRoIG9wZW5fZGF0YShTUEVDSUFMX0NBU0lORywgdmVyc2lvbikgYXMgZmlsZToKKyAgICAgICAgICAgIGZvciBzIGluIGZpbGU6CisgICAgICAgICAgICAgICAgcyA9IHNbOi0xXS5zcGxpdCgnIycsIDEpWzBdCisgICAgICAgICAgICAgICAgaWYgbm90IHM6CisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICAgICAgZGF0YSA9IHMuc3BsaXQoIjsgIikKKyAgICAgICAgICAgICAgICBpZiBkYXRhWzRdOgorICAgICAgICAgICAgICAgICAgICAjIFdlIGlnbm9yZSBhbGwgY29uZGl0aW9uYWxzIChzaW5jZSB0aGV5IGRlcGVuZCBvbgorICAgICAgICAgICAgICAgICAgICAjIGxhbmd1YWdlcykgZXhjZXB0IGZvciBvbmUsIHdoaWNoIGlzIGhhcmRjb2RlZC4gU2VlCisgICAgICAgICAgICAgICAgICAgICMgaGFuZGxlX2NhcGl0YWxfc2lnbWEgaW4gdW5pY29kZW9iamVjdC5jLgorICAgICAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgICAgIGMgPSBpbnQoZGF0YVswXSwgMTYpCisgICAgICAgICAgICAgICAgbG93ZXIgPSBbaW50KGNoYXIsIDE2KSBmb3IgY2hhciBpbiBkYXRhWzFdLnNwbGl0KCldCisgICAgICAgICAgICAgICAgdGl0bGUgPSBbaW50KGNoYXIsIDE2KSBmb3IgY2hhciBpbiBkYXRhWzJdLnNwbGl0KCldCisgICAgICAgICAgICAgICAgdXBwZXIgPSBbaW50KGNoYXIsIDE2KSBmb3IgY2hhciBpbiBkYXRhWzNdLnNwbGl0KCldCisgICAgICAgICAgICAgICAgc2NbY10gPSAobG93ZXIsIHRpdGxlLCB1cHBlcikKKyAgICAgICAgY2YgPSBzZWxmLmNhc2VfZm9sZGluZyA9IHt9CisgICAgICAgIGlmIHZlcnNpb24gIT0gJzMuMi4wJzoKKyAgICAgICAgICAgIHdpdGggb3Blbl9kYXRhKENBU0VfRk9MRElORywgdmVyc2lvbikgYXMgZmlsZToKKyAgICAgICAgICAgICAgICBmb3IgcyBpbiBmaWxlOgorICAgICAgICAgICAgICAgICAgICBzID0gc1s6LTFdLnNwbGl0KCcjJywgMSlbMF0KKyAgICAgICAgICAgICAgICAgICAgaWYgbm90IHM6CisgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZQorICAgICAgICAgICAgICAgICAgICBkYXRhID0gcy5zcGxpdCgiOyAiKQorICAgICAgICAgICAgICAgICAgICBpZiBkYXRhWzFdIGluICJDRiI6CisgICAgICAgICAgICAgICAgICAgICAgICBjID0gaW50KGRhdGFbMF0sIDE2KQorICAgICAgICAgICAgICAgICAgICAgICAgY2ZbY10gPSBbaW50KGNoYXIsIDE2KSBmb3IgY2hhciBpbiBkYXRhWzJdLnNwbGl0KCldCiAKICAgICBkZWYgdXNlbGF0aW4xKHNlbGYpOgogICAgICAgICAjIHJlc3RyaWN0IGNoYXJhY3RlciByYW5nZSB0byBJU08gTGF0aW4gMQpkaWZmIC0tZ2l0IGEvVG9vbHMvdW5pdHRlc3RndWkvdW5pdHRlc3RndWkucHkgYi9Ub29scy91bml0dGVzdGd1aS91bml0dGVzdGd1aS5weQppbmRleCBiNTI2NjQ2Li4wOWEyMGUyIDEwMDY0NAotLS0gYS9Ub29scy91bml0dGVzdGd1aS91bml0dGVzdGd1aS5weQorKysgYi9Ub29scy91bml0dGVzdGd1aS91bml0dGVzdGd1aS5weQpAQCAtMjgsNyArMjgsNiBAQAogIiIiCiAKIF9fYXV0aG9yX18gPSAiU3RldmUgUHVyY2VsbCAoc3RlcGhlbl9wdXJjZWxsQHlhaG9vLmNvbSkiCi1fX3ZlcnNpb25fXyA9ICIkUmV2aXNpb246IDEuNyAkIlsxMTotMl0KIAogaW1wb3J0IHN5cwogaW1wb3J0IHRyYWNlYmFjawpkaWZmIC0tZ2l0IGEvY29uZmlnLmd1ZXNzIGIvY29uZmlnLmd1ZXNzCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmQ2MjJhNDQKLS0tIC9kZXYvbnVsbAorKysgYi9jb25maWcuZ3Vlc3MKQEAgLTAsMCArMSwxNTMwIEBACisjISAvYmluL3NoCisjIEF0dGVtcHQgdG8gZ3Vlc3MgYSBjYW5vbmljYWwgc3lzdGVtIG5hbWUuCisjICAgQ29weXJpZ2h0IChDKSAxOTkyLCAxOTkzLCAxOTk0LCAxOTk1LCAxOTk2LCAxOTk3LCAxOTk4LCAxOTk5LAorIyAgIDIwMDAsIDIwMDEsIDIwMDIsIDIwMDMsIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDcsIDIwMDgsIDIwMDksIDIwMTAsCisjICAgMjAxMSwgMjAxMiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKwordGltZXN0YW1wPScyMDEyLTAyLTEwJworCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0CisjIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQKKyMgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorIyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisjIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisjCisjIEFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLCBpZiB5b3UKKyMgZGlzdHJpYnV0ZSB0aGlzIGZpbGUgYXMgcGFydCBvZiBhIHByb2dyYW0gdGhhdCBjb250YWlucyBhCisjIGNvbmZpZ3VyYXRpb24gc2NyaXB0IGdlbmVyYXRlZCBieSBBdXRvY29uZiwgeW91IG1heSBpbmNsdWRlIGl0IHVuZGVyCisjIHRoZSBzYW1lIGRpc3RyaWJ1dGlvbiB0ZXJtcyB0aGF0IHlvdSB1c2UgZm9yIHRoZSByZXN0IG9mIHRoYXQgcHJvZ3JhbS4KKworCisjIE9yaWdpbmFsbHkgd3JpdHRlbiBieSBQZXIgQm90aG5lci4gIFBsZWFzZSBzZW5kIHBhdGNoZXMgKGNvbnRleHQKKyMgZGlmZiBmb3JtYXQpIHRvIDxjb25maWctcGF0Y2hlc0BnbnUub3JnPiBhbmQgaW5jbHVkZSBhIENoYW5nZUxvZworIyBlbnRyeS4KKyMKKyMgVGhpcyBzY3JpcHQgYXR0ZW1wdHMgdG8gZ3Vlc3MgYSBjYW5vbmljYWwgc3lzdGVtIG5hbWUgc2ltaWxhciB0bworIyBjb25maWcuc3ViLiAgSWYgaXQgc3VjY2VlZHMsIGl0IHByaW50cyB0aGUgc3lzdGVtIG5hbWUgb24gc3Rkb3V0LCBhbmQKKyMgZXhpdHMgd2l0aCAwLiAgT3RoZXJ3aXNlLCBpdCBleGl0cyB3aXRoIDEuCisjCisjIFlvdSBjYW4gZ2V0IHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIHNjcmlwdCBmcm9tOgorIyBodHRwOi8vZ2l0LnNhdmFubmFoLmdudS5vcmcvZ2l0d2ViLz9wPWNvbmZpZy5naXQ7YT1ibG9iX3BsYWluO2Y9Y29uZmlnLmd1ZXNzO2hiPUhFQUQKKworbWU9YGVjaG8gIiQwIiB8IHNlZCAtZSAncywuKi8sLCdgCisKK3VzYWdlPSJcCitVc2FnZTogJDAgW09QVElPTl0KKworT3V0cHV0IHRoZSBjb25maWd1cmF0aW9uIG5hbWUgb2YgdGhlIHN5c3RlbSBcYCRtZScgaXMgcnVuIG9uLgorCitPcGVyYXRpb24gbW9kZXM6CisgIC1oLCAtLWhlbHAgICAgICAgICBwcmludCB0aGlzIGhlbHAsIHRoZW4gZXhpdAorICAtdCwgLS10aW1lLXN0YW1wICAgcHJpbnQgZGF0ZSBvZiBsYXN0IG1vZGlmaWNhdGlvbiwgdGhlbiBleGl0CisgIC12LCAtLXZlcnNpb24gICAgICBwcmludCB2ZXJzaW9uIG51bWJlciwgdGhlbiBleGl0CisKK1JlcG9ydCBidWdzIGFuZCBwYXRjaGVzIHRvIDxjb25maWctcGF0Y2hlc0BnbnUub3JnPi4iCisKK3ZlcnNpb249IlwKK0dOVSBjb25maWcuZ3Vlc3MgKCR0aW1lc3RhbXApCisKK09yaWdpbmFsbHkgd3JpdHRlbiBieSBQZXIgQm90aG5lci4KK0NvcHlyaWdodCAoQykgMTk5MiwgMTk5MywgMTk5NCwgMTk5NSwgMTk5NiwgMTk5NywgMTk5OCwgMTk5OSwgMjAwMCwKKzIwMDEsIDIwMDIsIDIwMDMsIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDcsIDIwMDgsIDIwMDksIDIwMTAsIDIwMTEsIDIwMTIKK0ZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorCitUaGlzIGlzIGZyZWUgc29mdHdhcmU7IHNlZSB0aGUgc291cmNlIGZvciBjb3B5aW5nIGNvbmRpdGlvbnMuICBUaGVyZSBpcyBOTword2FycmFudHk7IG5vdCBldmVuIGZvciBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIgorCitoZWxwPSIKK1RyeSBcYCRtZSAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLiIKKworIyBQYXJzZSBjb21tYW5kIGxpbmUKK3doaWxlIHRlc3QgJCMgLWd0IDAgOyBkbworICBjYXNlICQxIGluCisgICAgLS10aW1lLXN0YW1wIHwgLS10aW1lKiB8IC10ICkKKyAgICAgICBlY2hvICIkdGltZXN0YW1wIiA7IGV4aXQgOzsKKyAgICAtLXZlcnNpb24gfCAtdiApCisgICAgICAgZWNobyAiJHZlcnNpb24iIDsgZXhpdCA7OworICAgIC0taGVscCB8IC0taCogfCAtaCApCisgICAgICAgZWNobyAiJHVzYWdlIjsgZXhpdCA7OworICAgIC0tICkgICAgICMgU3RvcCBvcHRpb24gcHJvY2Vzc2luZworICAgICAgIHNoaWZ0OyBicmVhayA7OworICAgIC0gKQkjIFVzZSBzdGRpbiBhcyBpbnB1dC4KKyAgICAgICBicmVhayA7OworICAgIC0qICkKKyAgICAgICBlY2hvICIkbWU6IGludmFsaWQgb3B0aW9uICQxJGhlbHAiID4mMgorICAgICAgIGV4aXQgMSA7OworICAgICogKQorICAgICAgIGJyZWFrIDs7CisgIGVzYWMKK2RvbmUKKworaWYgdGVzdCAkIyAhPSAwOyB0aGVuCisgIGVjaG8gIiRtZTogdG9vIG1hbnkgYXJndW1lbnRzJGhlbHAiID4mMgorICBleGl0IDEKK2ZpCisKK3RyYXAgJ2V4aXQgMScgMSAyIDE1CisKKyMgQ0NfRk9SX0JVSUxEIC0tIGNvbXBpbGVyIHVzZWQgYnkgdGhpcyBzY3JpcHQuIE5vdGUgdGhhdCB0aGUgdXNlIG9mIGEKKyMgY29tcGlsZXIgdG8gYWlkIGluIHN5c3RlbSBkZXRlY3Rpb24gaXMgZGlzY291cmFnZWQgYXMgaXQgcmVxdWlyZXMKKyMgdGVtcG9yYXJ5IGZpbGVzIHRvIGJlIGNyZWF0ZWQgYW5kLCBhcyB5b3UgY2FuIHNlZSBiZWxvdywgaXQgaXMgYQorIyBoZWFkYWNoZSB0byBkZWFsIHdpdGggaW4gYSBwb3J0YWJsZSBmYXNoaW9uLgorCisjIEhpc3RvcmljYWxseSwgYENDX0ZPUl9CVUlMRCcgdXNlZCB0byBiZSBuYW1lZCBgSE9TVF9DQycuIFdlIHN0aWxsCisjIHVzZSBgSE9TVF9DQycgaWYgZGVmaW5lZCwgYnV0IGl0IGlzIGRlcHJlY2F0ZWQuCisKKyMgUG9ydGFibGUgdG1wIGRpcmVjdG9yeSBjcmVhdGlvbiBpbnNwaXJlZCBieSB0aGUgQXV0b2NvbmYgdGVhbS4KKworc2V0X2NjX2Zvcl9idWlsZD0nCit0cmFwICJleGl0Y29kZT1cJD87IChybSAtZiBcJHRtcGZpbGVzIDI+L2Rldi9udWxsOyBybWRpciBcJHRtcCAyPi9kZXYvbnVsbCkgJiYgZXhpdCBcJGV4aXRjb2RlIiAwIDsKK3RyYXAgInJtIC1mIFwkdG1wZmlsZXMgMj4vZGV2L251bGw7IHJtZGlyIFwkdG1wIDI+L2Rldi9udWxsOyBleGl0IDEiIDEgMiAxMyAxNSA7Cis6ICR7VE1QRElSPS90bXB9IDsKKyB7IHRtcD1gKHVtYXNrIDA3NyAmJiBta3RlbXAgLWQgIiRUTVBESVIvY2dYWFhYWFgiKSAyPi9kZXYvbnVsbGAgJiYgdGVzdCAtbiAiJHRtcCIgJiYgdGVzdCAtZCAiJHRtcCIgOyB9IHx8CisgeyB0ZXN0IC1uICIkUkFORE9NIiAmJiB0bXA9JFRNUERJUi9jZyQkLSRSQU5ET00gJiYgKHVtYXNrIDA3NyAmJiBta2RpciAkdG1wKSA7IH0gfHwKKyB7IHRtcD0kVE1QRElSL2NnLSQkICYmICh1bWFzayAwNzcgJiYgbWtkaXIgJHRtcCkgJiYgZWNobyAiV2FybmluZzogY3JlYXRpbmcgaW5zZWN1cmUgdGVtcCBkaXJlY3RvcnkiID4mMiA7IH0gfHwKKyB7IGVjaG8gIiRtZTogY2Fubm90IGNyZWF0ZSBhIHRlbXBvcmFyeSBkaXJlY3RvcnkgaW4gJFRNUERJUiIgPiYyIDsgZXhpdCAxIDsgfSA7CitkdW1teT0kdG1wL2R1bW15IDsKK3RtcGZpbGVzPSIkZHVtbXkuYyAkZHVtbXkubyAkZHVtbXkucmVsICRkdW1teSIgOworY2FzZSAkQ0NfRk9SX0JVSUxELCRIT1NUX0NDLCRDQyBpbgorICwsKSAgICBlY2hvICJpbnQgeDsiID4gJGR1bW15LmMgOworCWZvciBjIGluIGNjIGdjYyBjODkgYzk5IDsgZG8KKwkgIGlmICgkYyAtYyAtbyAkZHVtbXkubyAkZHVtbXkuYykgPi9kZXYvbnVsbCAyPiYxIDsgdGhlbgorCSAgICAgQ0NfRk9SX0JVSUxEPSIkYyI7IGJyZWFrIDsKKwkgIGZpIDsKKwlkb25lIDsKKwlpZiB0ZXN0IHgiJENDX0ZPUl9CVUlMRCIgPSB4IDsgdGhlbgorCSAgQ0NfRk9SX0JVSUxEPW5vX2NvbXBpbGVyX2ZvdW5kIDsKKwlmaQorCTs7CisgLCwqKSAgIENDX0ZPUl9CVUlMRD0kQ0MgOzsKKyAsKiwqKSAgQ0NfRk9SX0JVSUxEPSRIT1NUX0NDIDs7Citlc2FjIDsgc2V0X2NjX2Zvcl9idWlsZD0gOycKKworIyBUaGlzIGlzIG5lZWRlZCB0byBmaW5kIHVuYW1lIG9uIGEgUHlyYW1pZCBPU3ggd2hlbiBydW4gaW4gdGhlIEJTRCB1bml2ZXJzZS4KKyMgKGdoYXppQG5vYy5ydXRnZXJzLmVkdSAxOTk0LTA4LTI0KQoraWYgKHRlc3QgLWYgLy5hdHRiaW4vdW5hbWUpID4vZGV2L251bGwgMj4mMSA7IHRoZW4KKwlQQVRIPSRQQVRIOi8uYXR0YmluIDsgZXhwb3J0IFBBVEgKK2ZpCisKK1VOQU1FX01BQ0hJTkU9YCh1bmFtZSAtbSkgMj4vZGV2L251bGxgIHx8IFVOQU1FX01BQ0hJTkU9dW5rbm93bgorVU5BTUVfUkVMRUFTRT1gKHVuYW1lIC1yKSAyPi9kZXYvbnVsbGAgfHwgVU5BTUVfUkVMRUFTRT11bmtub3duCitVTkFNRV9TWVNURU09YCh1bmFtZSAtcykgMj4vZGV2L251bGxgICB8fCBVTkFNRV9TWVNURU09dW5rbm93bgorVU5BTUVfVkVSU0lPTj1gKHVuYW1lIC12KSAyPi9kZXYvbnVsbGAgfHwgVU5BTUVfVkVSU0lPTj11bmtub3duCisKKyMgTm90ZTogb3JkZXIgaXMgc2lnbmlmaWNhbnQgLSB0aGUgY2FzZSBicmFuY2hlcyBhcmUgbm90IGV4Y2x1c2l2ZS4KKworY2FzZSAiJHtVTkFNRV9NQUNISU5FfToke1VOQU1FX1NZU1RFTX06JHtVTkFNRV9SRUxFQVNFfToke1VOQU1FX1ZFUlNJT059IiBpbgorICAgICo6TmV0QlNEOio6KikKKwkjIE5ldEJTRCAobmJzZCkgdGFyZ2V0cyBzaG91bGQgKHdoZXJlIGFwcGxpY2FibGUpIG1hdGNoIG9uZSBvcgorCSMgbW9yZSBvZiB0aGUgdHVwbGVzOiAqLSotbmV0YnNkZWxmKiwgKi0qLW5ldGJzZGFvdXQqLAorCSMgKi0qLW5ldGJzZGVjb2ZmKiBhbmQgKi0qLW5ldGJzZCouICBGb3IgdGFyZ2V0cyB0aGF0IHJlY2VudGx5CisJIyBzd2l0Y2hlZCB0byBFTEYsICotKi1uZXRic2QqIHdvdWxkIHNlbGVjdCB0aGUgb2xkCisJIyBvYmplY3QgZmlsZSBmb3JtYXQuICBUaGlzIHByb3ZpZGVzIGJvdGggZm9yd2FyZAorCSMgY29tcGF0aWJpbGl0eSBhbmQgYSBjb25zaXN0ZW50IG1lY2hhbmlzbSBmb3Igc2VsZWN0aW5nIHRoZQorCSMgb2JqZWN0IGZpbGUgZm9ybWF0LgorCSMKKwkjIE5vdGU6IE5ldEJTRCBkb2Vzbid0IHBhcnRpY3VsYXJseSBjYXJlIGFib3V0IHRoZSB2ZW5kb3IKKwkjIHBvcnRpb24gb2YgdGhlIG5hbWUuICBXZSBhbHdheXMgc2V0IGl0IHRvICJ1bmtub3duIi4KKwlzeXNjdGw9InN5c2N0bCAtbiBody5tYWNoaW5lX2FyY2giCisJVU5BTUVfTUFDSElORV9BUkNIPWAoL3NiaW4vJHN5c2N0bCAyPi9kZXYvbnVsbCB8fCBcCisJICAgIC91c3Ivc2Jpbi8kc3lzY3RsIDI+L2Rldi9udWxsIHx8IGVjaG8gdW5rbm93bilgCisJY2FzZSAiJHtVTkFNRV9NQUNISU5FX0FSQ0h9IiBpbgorCSAgICBhcm1lYikgbWFjaGluZT1hcm1lYi11bmtub3duIDs7CisJICAgIGFybSopIG1hY2hpbmU9YXJtLXVua25vd24gOzsKKwkgICAgc2gzZWwpIG1hY2hpbmU9c2hsLXVua25vd24gOzsKKwkgICAgc2gzZWIpIG1hY2hpbmU9c2gtdW5rbm93biA7OworCSAgICBzaDVlbCkgbWFjaGluZT1zaDVsZS11bmtub3duIDs7CisJICAgICopIG1hY2hpbmU9JHtVTkFNRV9NQUNISU5FX0FSQ0h9LXVua25vd24gOzsKKwllc2FjCisJIyBUaGUgT3BlcmF0aW5nIFN5c3RlbSBpbmNsdWRpbmcgb2JqZWN0IGZvcm1hdCwgaWYgaXQgaGFzIHN3aXRjaGVkCisJIyB0byBFTEYgcmVjZW50bHksIG9yIHdpbGwgaW4gdGhlIGZ1dHVyZS4KKwljYXNlICIke1VOQU1FX01BQ0hJTkVfQVJDSH0iIGluCisJICAgIGFybSp8aTM4NnxtNjhrfG5zMzJrfHNoMyp8c3BhcmN8dmF4KQorCQlldmFsICRzZXRfY2NfZm9yX2J1aWxkCisJCWlmIGVjaG8gX19FTEZfXyB8ICRDQ19GT1JfQlVJTEQgLUUgLSAyPi9kZXYvbnVsbCBcCisJCQl8IGdyZXAgLXEgX19FTEZfXworCQl0aGVuCisJCSAgICAjIE9uY2UgYWxsIHV0aWxpdGllcyBjYW4gYmUgRUNPRkYgKG5ldGJzZGVjb2ZmKSBvciBhLm91dCAobmV0YnNkYW91dCkuCisJCSAgICAjIFJldHVybiBuZXRic2QgZm9yIGVpdGhlci4gIEZJWD8KKwkJICAgIG9zPW5ldGJzZAorCQllbHNlCisJCSAgICBvcz1uZXRic2RlbGYKKwkJZmkKKwkJOzsKKwkgICAgKikKKwkJb3M9bmV0YnNkCisJCTs7CisJZXNhYworCSMgVGhlIE9TIHJlbGVhc2UKKwkjIERlYmlhbiBHTlUvTmV0QlNEIG1hY2hpbmVzIGhhdmUgYSBkaWZmZXJlbnQgdXNlcmxhbmQsIGFuZAorCSMgdGh1cywgbmVlZCBhIGRpc3RpbmN0IHRyaXBsZXQuIEhvd2V2ZXIsIHRoZXkgZG8gbm90IG5lZWQKKwkjIGtlcm5lbCB2ZXJzaW9uIGluZm9ybWF0aW9uLCBzbyBpdCBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhCisJIyBzdWl0YWJsZSB0YWcsIGluIHRoZSBzdHlsZSBvZiBsaW51eC1nbnUuCisJY2FzZSAiJHtVTkFNRV9WRVJTSU9OfSIgaW4KKwkgICAgRGViaWFuKikKKwkJcmVsZWFzZT0nLWdudScKKwkJOzsKKwkgICAgKikKKwkJcmVsZWFzZT1gZWNobyAke1VOQU1FX1JFTEVBU0V9fHNlZCAtZSAncy9bLV9dLiovXC4vJ2AKKwkJOzsKKwllc2FjCisJIyBTaW5jZSBDUFVfVFlQRS1NQU5VRkFDVFVSRVItS0VSTkVMLU9QRVJBVElOR19TWVNURU06CisJIyBjb250YWlucyByZWR1bmRhbnQgaW5mb3JtYXRpb24sIHRoZSBzaG9ydGVyIGZvcm06CisJIyBDUFVfVFlQRS1NQU5VRkFDVFVSRVItT1BFUkFUSU5HX1NZU1RFTSBpcyB1c2VkLgorCWVjaG8gIiR7bWFjaGluZX0tJHtvc30ke3JlbGVhc2V9IgorCWV4aXQgOzsKKyAgICAqOk9wZW5CU0Q6KjoqKQorCVVOQU1FX01BQ0hJTkVfQVJDSD1gYXJjaCB8IHNlZCAncy9PcGVuQlNELi8vJ2AKKwllY2hvICR7VU5BTUVfTUFDSElORV9BUkNIfS11bmtub3duLW9wZW5ic2Qke1VOQU1FX1JFTEVBU0V9CisJZXhpdCA7OworICAgICo6ZWtrb0JTRDoqOiopCisJZWNobyAke1VOQU1FX01BQ0hJTkV9LXVua25vd24tZWtrb2JzZCR7VU5BTUVfUkVMRUFTRX0KKwlleGl0IDs7CisgICAgKjpTb2xpZEJTRDoqOiopCisJZWNobyAke1VOQU1FX01BQ0hJTkV9LXVua25vd24tc29saWRic2Qke1VOQU1FX1JFTEVBU0V9CisJZXhpdCA7OworICAgIG1hY3BwYzpNaXJCU0Q6KjoqKQorCWVjaG8gcG93ZXJwYy11bmtub3duLW1pcmJzZCR7VU5BTUVfUkVMRUFTRX0KKwlleGl0IDs7CisgICAgKjpNaXJCU0Q6KjoqKQorCWVjaG8gJHtVTkFNRV9NQUNISU5FfS11bmtub3duLW1pcmJzZCR7VU5BTUVfUkVMRUFTRX0KKwlleGl0IDs7CisgICAgYWxwaGE6T1NGMToqOiopCisJY2FzZSAkVU5BTUVfUkVMRUFTRSBpbgorCSo0LjApCisJCVVOQU1FX1JFTEVBU0U9YC91c3Ivc2Jpbi9zaXplciAtdiB8IGF3ayAne3ByaW50ICQzfSdgCisJCTs7CisJKjUuKikKKwkJVU5BTUVfUkVMRUFTRT1gL3Vzci9zYmluL3NpemVyIC12IHwgYXdrICd7cHJpbnQgJDR9J2AKKwkJOzsKKwllc2FjCisJIyBBY2NvcmRpbmcgdG8gQ29tcGFxLCAvdXNyL3NiaW4vcHNyaW5mbyBoYXMgYmVlbiBhdmFpbGFibGUgb24KKwkjIE9TRi8xIGFuZCBUcnU2NCBzeXN0ZW1zIHByb2R1Y2VkIHNpbmNlIDE5OTUuICBJIGhvcGUgdGhhdAorCSMgY292ZXJzIG1vc3Qgc3lzdGVtcyBydW5uaW5nIHRvZGF5LiAgVGhpcyBjb2RlIHBpcGVzIHRoZSBDUFUKKwkjIHR5cGVzIHRocm91Z2ggaGVhZCAtbiAxLCBzbyB3ZSBvbmx5IGRldGVjdCB0aGUgdHlwZSBvZiBDUFUgMC4KKwlBTFBIQV9DUFVfVFlQRT1gL3Vzci9zYmluL3BzcmluZm8gLXYgfCBzZWQgLW4gLWUgJ3MvXiAgVGhlIGFscGhhIFwoLipcKSBwcm9jZXNzb3IuKiQvXDEvcCcgfCBoZWFkIC1uIDFgCisJY2FzZSAiJEFMUEhBX0NQVV9UWVBFIiBpbgorCSAgICAiRVY0ICgyMTA2NCkiKQorCQlVTkFNRV9NQUNISU5FPSJhbHBoYSIgOzsKKwkgICAgIkVWNC41ICgyMTA2NCkiKQorCQlVTkFNRV9NQUNISU5FPSJhbHBoYSIgOzsKKwkgICAgIkxDQTQgKDIxMDY2LzIxMDY4KSIpCisJCVVOQU1FX01BQ0hJTkU9ImFscGhhIiA7OworCSAgICAiRVY1ICgyMTE2NCkiKQorCQlVTkFNRV9NQUNISU5FPSJhbHBoYWV2NSIgOzsKKwkgICAgIkVWNS42ICgyMTE2NEEpIikKKwkJVU5BTUVfTUFDSElORT0iYWxwaGFldjU2IiA7OworCSAgICAiRVY1LjYgKDIxMTY0UEMpIikKKwkJVU5BTUVfTUFDSElORT0iYWxwaGFwY2E1NiIgOzsKKwkgICAgIkVWNS43ICgyMTE2NFBDKSIpCisJCVVOQU1FX01BQ0hJTkU9ImFscGhhcGNhNTciIDs7CisJICAgICJFVjYgKDIxMjY0KSIpCisJCVVOQU1FX01BQ0hJTkU9ImFscGhhZXY2IiA7OworCSAgICAiRVY2LjcgKDIxMjY0QSkiKQorCQlVTkFNRV9NQUNISU5FPSJhbHBoYWV2NjciIDs7CisJICAgICJFVjYuOENCICgyMTI2NEMpIikKKwkJVU5BTUVfTUFDSElORT0iYWxwaGFldjY4IiA7OworCSAgICAiRVY2LjhBTCAoMjEyNjRCKSIpCisJCVVOQU1FX01BQ0hJTkU9ImFscGhhZXY2OCIgOzsKKwkgICAgIkVWNi44Q1ggKDIxMjY0RCkiKQorCQlVTkFNRV9NQUNISU5FPSJhbHBoYWV2NjgiIDs7CisJICAgICJFVjYuOUEgKDIxMjY0L0VWNjlBKSIpCisJCVVOQU1FX01BQ0hJTkU9ImFscGhhZXY2OSIgOzsKKwkgICAgIkVWNyAoMjEzNjQpIikKKwkJVU5BTUVfTUFDSElORT0iYWxwaGFldjciIDs7CisJICAgICJFVjcuOSAoMjEzNjRBKSIpCisJCVVOQU1FX01BQ0hJTkU9ImFscGhhZXY3OSIgOzsKKwllc2FjCisJIyBBIFBuLm4gdmVyc2lvbiBpcyBhIHBhdGNoZWQgdmVyc2lvbi4KKwkjIEEgVm4ubiB2ZXJzaW9uIGlzIGEgcmVsZWFzZWQgdmVyc2lvbi4KKwkjIEEgVG4ubiB2ZXJzaW9uIGlzIGEgcmVsZWFzZWQgZmllbGQgdGVzdCB2ZXJzaW9uLgorCSMgQSBYbi5uIHZlcnNpb24gaXMgYW4gdW5yZWxlYXNlZCBleHBlcmltZW50YWwgYmFzZWxldmVsLgorCSMgMS4yIHVzZXMgIjEuMiIgZm9yIHVuYW1lIC1yLgorCWVjaG8gJHtVTkFNRV9NQUNISU5FfS1kZWMtb3NmYGVjaG8gJHtVTkFNRV9SRUxFQVNFfSB8IHNlZCAtZSAncy9eW1BWVFhdLy8nIHwgdHIgJ0FCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaJyAnYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXonYAorCSMgUmVzZXQgRVhJVCB0cmFwIGJlZm9yZSBleGl0aW5nIHRvIGF2b2lkIHNwdXJpb3VzIG5vbi16ZXJvIGV4aXQgY29kZS4KKwlleGl0Y29kZT0kPworCXRyYXAgJycgMAorCWV4aXQgJGV4aXRjb2RlIDs7CisgICAgQWxwaGFcICo6V2luZG93c19OVCo6KikKKwkjIEhvdyBkbyB3ZSBrbm93IGl0J3MgSW50ZXJpeCByYXRoZXIgdGhhbiB0aGUgZ2VuZXJpYyBQT1NJWCBzdWJzeXN0ZW0/CisJIyBTaG91bGQgd2UgY2hhbmdlIFVOQU1FX01BQ0hJTkUgYmFzZWQgb24gdGhlIG91dHB1dCBvZiB1bmFtZSBpbnN0ZWFkCisJIyBvZiB0aGUgc3BlY2lmaWMgQWxwaGEgbW9kZWw/CisJZWNobyBhbHBoYS1wYy1pbnRlcml4CisJZXhpdCA7OworICAgIDIxMDY0OldpbmRvd3NfTlQ6NTA6MykKKwllY2hvIGFscGhhLWRlYy13aW5udDMuNQorCWV4aXQgOzsKKyAgICBBbWlnYSo6VU5JWF9TeXN0ZW1fVjo0LjA6KikKKwllY2hvIG02OGstdW5rbm93bi1zeXN2NAorCWV4aXQgOzsKKyAgICAqOltBYV1taWdhW09vXVtTc106KjoqKQorCWVjaG8gJHtVTkFNRV9NQUNISU5FfS11bmtub3duLWFtaWdhb3MKKwlleGl0IDs7CisgICAgKjpbTW1db3JwaFtPb11bU3NdOio6KikKKwllY2hvICR7VU5BTUVfTUFDSElORX0tdW5rbm93bi1tb3JwaG9zCisJZXhpdCA7OworICAgICo6T1MvMzkwOio6KikKKwllY2hvIGkzNzAtaWJtLW9wZW5lZGl0aW9uCisJZXhpdCA7OworICAgICo6ei9WTToqOiopCisJZWNobyBzMzkwLWlibS16dm1vZQorCWV4aXQgOzsKKyAgICAqOk9TNDAwOio6KikKKwllY2hvIHBvd2VycGMtaWJtLW9zNDAwCisJZXhpdCA7OworICAgIGFybTpSSVNDKjoxLlswMTJdKjoqfGFybTpyaXNjaXg6MS5bMDEyXSo6KikKKwllY2hvIGFybS1hY29ybi1yaXNjaXgke1VOQU1FX1JFTEVBU0V9CisJZXhpdCA7OworICAgIGFybTpyaXNjb3M6KjoqfGFybTpSSVNDT1M6KjoqKQorCWVjaG8gYXJtLXVua25vd24tcmlzY29zCisJZXhpdCA7OworICAgIFNSMj8wMTpISS1VWC9NUFA6KjoqIHwgU1I4MDAwOkhJLVVYL01QUDoqOiopCisJZWNobyBocHBhMS4xLWhpdGFjaGktaGl1eG1wcAorCWV4aXQgOzsKKyAgICBQeXJhbWlkKjpPU3gqOio6KiB8IE1JUyo6T1N4KjoqOiogfCBNSVMqOlNNUF9EQy1PU3gqOio6KikKKwkjIGFrZWVAd3BkaXMwMy53cGFmYi5hZi5taWwgKEVhcmxlIEYuIEFrZSkgY29udHJpYnV0ZWQgTUlTIGFuZCBOSUxFLgorCWlmIHRlc3QgImAoL2Jpbi91bml2ZXJzZSkgMj4vZGV2L251bGxgIiA9IGF0dCA7IHRoZW4KKwkJZWNobyBweXJhbWlkLXB5cmFtaWQtc3lzdjMKKwllbHNlCisJCWVjaG8gcHlyYW1pZC1weXJhbWlkLWJzZAorCWZpCisJZXhpdCA7OworICAgIE5JTEUqOio6KjpkY29zeCkKKwllY2hvIHB5cmFtaWQtcHlyYW1pZC1zdnI0CisJZXhpdCA7OworICAgIERSUz82MDAwOnVuaXg6NC4wOjYqKQorCWVjaG8gc3BhcmMtaWNsLW54NgorCWV4aXQgOzsKKyAgICBEUlM/NjAwMDpVTklYX1NWOjQuMio6NyogfCBEUlM/NjAwMDppc2lzOjQuMio6NyopCisJY2FzZSBgL3Vzci9iaW4vdW5hbWUgLXBgIGluCisJICAgIHNwYXJjKSBlY2hvIHNwYXJjLWljbC1ueDc7IGV4aXQgOzsKKwllc2FjIDs7CisgICAgczM5MHg6U3VuT1M6KjoqKQorCWVjaG8gJHtVTkFNRV9NQUNISU5FfS1pYm0tc29sYXJpczJgZWNobyAke1VOQU1FX1JFTEVBU0V9fHNlZCAtZSAncy9bXi5dKi8vJ2AKKwlleGl0IDs7CisgICAgc3VuNEg6U3VuT1M6NS4qOiopCisJZWNobyBzcGFyYy1oYWwtc29sYXJpczJgZWNobyAke1VOQU1FX1JFTEVBU0V9fHNlZCAtZSAncy9bXi5dKi8vJ2AKKwlleGl0IDs7CisgICAgc3VuNCo6U3VuT1M6NS4qOiogfCB0YWRwb2xlKjpTdW5PUzo1Lio6KikKKwllY2hvIHNwYXJjLXN1bi1zb2xhcmlzMmBlY2hvICR7VU5BTUVfUkVMRUFTRX18c2VkIC1lICdzL1teLl0qLy8nYAorCWV4aXQgOzsKKyAgICBpODZwYzpBdXJvcmFVWDo1Lio6KiB8IGk4NnhlbjpBdXJvcmFVWDo1Lio6KikKKwllY2hvIGkzODYtcGMtYXVyb3JhdXgke1VOQU1FX1JFTEVBU0V9CisJZXhpdCA7OworICAgIGk4NnBjOlN1bk9TOjUuKjoqIHwgaTg2eGVuOlN1bk9TOjUuKjoqKQorCWV2YWwgJHNldF9jY19mb3JfYnVpbGQKKwlTVU5fQVJDSD0iaTM4NiIKKwkjIElmIHRoZXJlIGlzIGEgY29tcGlsZXIsIHNlZSBpZiBpdCBpcyBjb25maWd1cmVkIGZvciA2NC1iaXQgb2JqZWN0cy4KKwkjIE5vdGUgdGhhdCB0aGUgU3VuIGNjIGRvZXMgbm90IHR1cm4gX19MUDY0X18gaW50byAxIGxpa2UgZ2NjIGRvZXMuCisJIyBUaGlzIHRlc3Qgd29ya3MgZm9yIGJvdGggY29tcGlsZXJzLgorCWlmIFsgIiRDQ19GT1JfQlVJTEQiICE9ICdub19jb21waWxlcl9mb3VuZCcgXTsgdGhlbgorCSAgICBpZiAoZWNobyAnI2lmZGVmIF9fYW1kNjQnOyBlY2hvIElTXzY0QklUX0FSQ0g7IGVjaG8gJyNlbmRpZicpIHwgXAorCQkoQ0NPUFRTPSAkQ0NfRk9SX0JVSUxEIC1FIC0gMj4vZGV2L251bGwpIHwgXAorCQlncmVwIElTXzY0QklUX0FSQ0ggPi9kZXYvbnVsbAorCSAgICB0aGVuCisJCVNVTl9BUkNIPSJ4ODZfNjQiCisJICAgIGZpCisJZmkKKwllY2hvICR7U1VOX0FSQ0h9LXBjLXNvbGFyaXMyYGVjaG8gJHtVTkFNRV9SRUxFQVNFfXxzZWQgLWUgJ3MvW14uXSovLydgCisJZXhpdCA7OworICAgIHN1bjQqOlN1bk9TOjYqOiopCisJIyBBY2NvcmRpbmcgdG8gY29uZmlnLnN1YiwgdGhpcyBpcyB0aGUgcHJvcGVyIHdheSB0byBjYW5vbmljYWxpemUKKwkjIFN1bk9TNi4gIEhhcmQgdG8gZ3Vlc3MgZXhhY3RseSB3aGF0IFN1bk9TNiB3aWxsIGJlIGxpa2UsIGJ1dAorCSMgaXQncyBsaWtlbHkgdG8gYmUgbW9yZSBsaWtlIFNvbGFyaXMgdGhhbiBTdW5PUzQuCisJZWNobyBzcGFyYy1zdW4tc29sYXJpczNgZWNobyAke1VOQU1FX1JFTEVBU0V9fHNlZCAtZSAncy9bXi5dKi8vJ2AKKwlleGl0IDs7CisgICAgc3VuNCo6U3VuT1M6KjoqKQorCWNhc2UgImAvdXNyL2Jpbi9hcmNoIC1rYCIgaW4KKwkgICAgU2VyaWVzKnxTNCopCisJCVVOQU1FX1JFTEVBU0U9YHVuYW1lIC12YAorCQk7OworCWVzYWMKKwkjIEphcGFuZXNlIExhbmd1YWdlIHZlcnNpb25zIGhhdmUgYSB2ZXJzaW9uIG51bWJlciBsaWtlIGA0LjEuMy1KTCcuCisJZWNobyBzcGFyYy1zdW4tc3Vub3NgZWNobyAke1VOQU1FX1JFTEVBU0V9fHNlZCAtZSAncy8tL18vJ2AKKwlleGl0IDs7CisgICAgc3VuMyo6U3VuT1M6KjoqKQorCWVjaG8gbTY4ay1zdW4tc3Vub3Mke1VOQU1FX1JFTEVBU0V9CisJZXhpdCA7OworICAgIHN1bio6Kjo0LjJCU0Q6KikKKwlVTkFNRV9SRUxFQVNFPWAoc2VkIDFxIC9ldGMvbW90ZCB8IGF3ayAne3ByaW50IHN1YnN0cigkNSwxLDMpfScpIDI+L2Rldi9udWxsYAorCXRlc3QgIngke1VOQU1FX1JFTEVBU0V9IiA9ICJ4IiAmJiBVTkFNRV9SRUxFQVNFPTMKKwljYXNlICJgL2Jpbi9hcmNoYCIgaW4KKwkgICAgc3VuMykKKwkJZWNobyBtNjhrLXN1bi1zdW5vcyR7VU5BTUVfUkVMRUFTRX0KKwkJOzsKKwkgICAgc3VuNCkKKwkJZWNobyBzcGFyYy1zdW4tc3Vub3Mke1VOQU1FX1JFTEVBU0V9CisJCTs7CisJZXNhYworCWV4aXQgOzsKKyAgICBhdXNocDpTdW5PUzoqOiopCisJZWNobyBzcGFyYy1hdXNwZXgtc3Vub3Mke1VOQU1FX1JFTEVBU0V9CisJZXhpdCA7OworICAgICMgVGhlIHNpdHVhdGlvbiBmb3IgTWlOVCBpcyBhIGxpdHRsZSBjb25mdXNpbmcuICBUaGUgbWFjaGluZSBuYW1lCisgICAgIyBjYW4gYmUgdmlydHVhbGx5IGV2ZXJ5dGhpbmcgKGV2ZXJ5dGhpbmcgd2hpY2ggaXMgbm90CisgICAgIyAiYXRhcmlzdCIgb3IgImF0YXJpc3RlIiBhdCBsZWFzdCBzaG91bGQgaGF2ZSBhIHByb2Nlc3NvcgorICAgICMgPiBtNjgwMDApLiAgVGhlIHN5c3RlbSBuYW1lIHJhbmdlcyBmcm9tICJNaU5UIiBvdmVyICJGcmVlTWlOVCIKKyAgICAjIHRvIHRoZSBsb3dlcmNhc2UgdmVyc2lvbiAibWludCIgKG9yICJmcmVlbWludCIpLiAgRmluYWxseQorICAgICMgdGhlIHN5c3RlbSBuYW1lICJUT1MiIGRlbm90ZXMgYSBzeXN0ZW0gd2hpY2ggaXMgYWN0dWFsbHkgbm90CisgICAgIyBNaU5ULiAgQnV0IE1pTlQgaXMgZG93bndhcmQgY29tcGF0aWJsZSB0byBUT1MsIHNvIHRoaXMgc2hvdWxkCisgICAgIyBiZSBubyBwcm9ibGVtLgorICAgIGF0YXJpc3RbZV06Kk1pTlQ6KjoqIHwgYXRhcmlzdFtlXToqbWludDoqOiogfCBhdGFyaXN0W2VdOipUT1M6KjoqKQorCWVjaG8gbTY4ay1hdGFyaS1taW50JHtVTkFNRV9SRUxFQVNFfQorCWV4aXQgOzsKKyAgICBhdGFyaSo6Kk1pTlQ6KjoqIHwgYXRhcmkqOiptaW50Oio6KiB8IGF0YXJpc3RbZV06KlRPUzoqOiopCisJZWNobyBtNjhrLWF0YXJpLW1pbnQke1VOQU1FX1JFTEVBU0V9CisJZXhpdCA7OworICAgICpmYWxjb24qOipNaU5UOio6KiB8ICpmYWxjb24qOiptaW50Oio6KiB8ICpmYWxjb24qOipUT1M6KjoqKQorCWVjaG8gbTY4ay1hdGFyaS1taW50JHtVTkFNRV9SRUxFQVNFfQorCWV4aXQgOzsKKyAgICBtaWxhbio6Kk1pTlQ6KjoqIHwgbWlsYW4qOiptaW50Oio6KiB8ICptaWxhbio6KlRPUzoqOiopCisJZWNobyBtNjhrLW1pbGFuLW1pbnQke1VOQU1FX1JFTEVBU0V9CisJZXhpdCA7OworICAgIGhhZGVzKjoqTWlOVDoqOiogfCBoYWRlcyo6Km1pbnQ6KjoqIHwgKmhhZGVzKjoqVE9TOio6KikKKwllY2hvIG02OGstaGFkZXMtbWludCR7VU5BTUVfUkVMRUFTRX0KKwlleGl0IDs7CisgICAgKjoqTWlOVDoqOiogfCAqOiptaW50Oio6KiB8ICo6KlRPUzoqOiopCisJZWNobyBtNjhrLXVua25vd24tbWludCR7VU5BTUVfUkVMRUFTRX0KKwlleGl0IDs7CisgICAgbTY4azptYWNodGVuOio6KikKKwllY2hvIG02OGstYXBwbGUtbWFjaHRlbiR7VU5BTUVfUkVMRUFTRX0KKwlleGl0IDs7CisgICAgcG93ZXJwYzptYWNodGVuOio6KikKKwllY2hvIHBvd2VycGMtYXBwbGUtbWFjaHRlbiR7VU5BTUVfUkVMRUFTRX0KKwlleGl0IDs7CisgICAgUklTQyo6TWFjaDoqOiopCisJZWNobyBtaXBzLWRlYy1tYWNoX2JzZDQuMworCWV4aXQgOzsKKyAgICBSSVNDKjpVTFRSSVg6KjoqKQorCWVjaG8gbWlwcy1kZWMtdWx0cml4JHtVTkFNRV9SRUxFQVNFfQorCWV4aXQgOzsKKyAgICBWQVgqOlVMVFJJWCo6KjoqKQorCWVjaG8gdmF4LWRlYy11bHRyaXgke1VOQU1FX1JFTEVBU0V9CisJZXhpdCA7OworICAgIDIwMjA6Q0xJWDoqOiogfCAyNDMwOkNMSVg6KjoqKQorCWVjaG8gY2xpcHBlci1pbnRlcmdyYXBoLWNsaXgke1VOQU1FX1JFTEVBU0V9CisJZXhpdCA7OworICAgIG1pcHM6KjoqOlVNSVBTIHwgbWlwczoqOio6UklTQ29zKQorCWV2YWwgJHNldF9jY19mb3JfYnVpbGQKKwlzZWQgJ3MvXgkvLycgPDwgRU9GID4kZHVtbXkuYworI2lmZGVmIF9fY3BsdXNwbHVzCisjaW5jbHVkZSA8c3RkaW8uaD4gIC8qIGZvciBwcmludGYoKSBwcm90b3R5cGUgKi8KKwlpbnQgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkgeworI2Vsc2UKKwlpbnQgbWFpbiAoYXJnYywgYXJndikgaW50IGFyZ2M7IGNoYXIgKmFyZ3ZbXTsgeworI2VuZGlmCisJI2lmIGRlZmluZWQgKGhvc3RfbWlwcykgJiYgZGVmaW5lZCAoTUlQU0VCKQorCSNpZiBkZWZpbmVkIChTWVNUWVBFX1NZU1YpCisJICBwcmludGYgKCJtaXBzLW1pcHMtcmlzY29zJXNzeXN2XG4iLCBhcmd2WzFdKTsgZXhpdCAoMCk7CisJI2VuZGlmCisJI2lmIGRlZmluZWQgKFNZU1RZUEVfU1ZSNCkKKwkgIHByaW50ZiAoIm1pcHMtbWlwcy1yaXNjb3Mlc3N2cjRcbiIsIGFyZ3ZbMV0pOyBleGl0ICgwKTsKKwkjZW5kaWYKKwkjaWYgZGVmaW5lZCAoU1lTVFlQRV9CU0Q0MykgfHwgZGVmaW5lZChTWVNUWVBFX0JTRCkKKwkgIHByaW50ZiAoIm1pcHMtbWlwcy1yaXNjb3Mlc2JzZFxuIiwgYXJndlsxXSk7IGV4aXQgKDApOworCSNlbmRpZgorCSNlbmRpZgorCSAgZXhpdCAoLTEpOworCX0KK0VPRgorCSRDQ19GT1JfQlVJTEQgLW8gJGR1bW15ICRkdW1teS5jICYmCisJICBkdW1teWFyZz1gZWNobyAiJHtVTkFNRV9SRUxFQVNFfSIgfCBzZWQgLW4gJ3MvXChbMC05XSpcKS4qL1wxL3AnYCAmJgorCSAgU1lTVEVNX05BTUU9YCRkdW1teSAkZHVtbXlhcmdgICYmCisJICAgIHsgZWNobyAiJFNZU1RFTV9OQU1FIjsgZXhpdDsgfQorCWVjaG8gbWlwcy1taXBzLXJpc2NvcyR7VU5BTUVfUkVMRUFTRX0KKwlleGl0IDs7CisgICAgTW90b3JvbGE6UG93ZXJNQVhfT1M6KjoqKQorCWVjaG8gcG93ZXJwYy1tb3Rvcm9sYS1wb3dlcm1heAorCWV4aXQgOzsKKyAgICBNb3Rvcm9sYToqOjQuMzpQTDgtKikKKwllY2hvIHBvd2VycGMtaGFycmlzLXBvd2VybWF4CisJZXhpdCA7OworICAgIE5pZ2h0X0hhd2s6KjoqOlBvd2VyTUFYX09TIHwgU3luZXJneTpQb3dlck1BWF9PUzoqOiopCisJZWNobyBwb3dlcnBjLWhhcnJpcy1wb3dlcm1heAorCWV4aXQgOzsKKyAgICBOaWdodF9IYXdrOlBvd2VyX1VOSVg6KjoqKQorCWVjaG8gcG93ZXJwYy1oYXJyaXMtcG93ZXJ1bml4CisJZXhpdCA7OworICAgIG04OGs6Q1gvVVg6Nyo6KikKKwllY2hvIG04OGstaGFycmlzLWN4dXg3CisJZXhpdCA7OworICAgIG04OGs6Kjo0KjpSNCopCisJZWNobyBtODhrLW1vdG9yb2xhLXN5c3Y0CisJZXhpdCA7OworICAgIG04OGs6KjozKjpSMyopCisJZWNobyBtODhrLW1vdG9yb2xhLXN5c3YzCisJZXhpdCA7OworICAgIEFWaWlPTjpkZ3V4Oio6KikKKwkjIERHL1VYIHJldHVybnMgQVZpaU9OIGZvciBhbGwgYXJjaGl0ZWN0dXJlcworCVVOQU1FX1BST0NFU1NPUj1gL3Vzci9iaW4vdW5hbWUgLXBgCisJaWYgWyAkVU5BTUVfUFJPQ0VTU09SID0gbWM4ODEwMCBdIHx8IFsgJFVOQU1FX1BST0NFU1NPUiA9IG1jODgxMTAgXQorCXRoZW4KKwkgICAgaWYgWyAke1RBUkdFVF9CSU5BUllfSU5URVJGQUNFfXggPSBtODhrZGd1eGVsZnggXSB8fCBcCisJICAgICAgIFsgJHtUQVJHRVRfQklOQVJZX0lOVEVSRkFDRX14ID0geCBdCisJICAgIHRoZW4KKwkJZWNobyBtODhrLWRnLWRndXgke1VOQU1FX1JFTEVBU0V9CisJICAgIGVsc2UKKwkJZWNobyBtODhrLWRnLWRndXhiY3Mke1VOQU1FX1JFTEVBU0V9CisJICAgIGZpCisJZWxzZQorCSAgICBlY2hvIGk1ODYtZGctZGd1eCR7VU5BTUVfUkVMRUFTRX0KKwlmaQorCWV4aXQgOzsKKyAgICBNODgqOkRvbHBoaW5PUzoqOiopCSMgRG9scGhpbk9TIChTVlIzKQorCWVjaG8gbTg4ay1kb2xwaGluLXN5c3YzCisJZXhpdCA7OworICAgIE04OCo6KjpSMyo6KikKKwkjIERlbHRhIDg4ayBzeXN0ZW0gcnVubmluZyBTVlIzCisJZWNobyBtODhrLW1vdG9yb2xhLXN5c3YzCisJZXhpdCA7OworICAgIFhEODgqOio6KjoqKSAjIFRla3Ryb25peCBYRDg4IHN5c3RlbSBydW5uaW5nIFVUZWtWIChTVlIzKQorCWVjaG8gbTg4ay10ZWt0cm9uaXgtc3lzdjMKKwlleGl0IDs7CisgICAgVGVrNDNbMC05XVswLTldOlVUZWs6KjoqKSAjIFRla3Ryb25peCA0MzAwIHN5c3RlbSBydW5uaW5nIFVUZWsgKEJTRCkKKwllY2hvIG02OGstdGVrdHJvbml4LWJzZAorCWV4aXQgOzsKKyAgICAqOklSSVgqOio6KikKKwllY2hvIG1pcHMtc2dpLWlyaXhgZWNobyAke1VOQU1FX1JFTEVBU0V9fHNlZCAtZSAncy8tL18vZydgCisJZXhpdCA7OworICAgID8/Pz8/Pz8/OkFJWD86WzEyXS4xOjIpICAgIyBBSVggMi4yLjEgb3IgQUlYIDIuMS4xIGlzIFJUL1BDIEFJWC4KKwllY2hvIHJvbXAtaWJtLWFpeCAgICAgIyB1bmFtZSAtbSBnaXZlcyBhbiA4IGhleC1jb2RlIENQVSBpZAorCWV4aXQgOzsgICAgICAgICAgICAgICAjIE5vdGUgdGhhdDogZWNobyAiJ2B1bmFtZSAtc2AnIiBnaXZlcyAnQUlYICcKKyAgICBpKjg2OkFJWDoqOiopCisJZWNobyBpMzg2LWlibS1haXgKKwlleGl0IDs7CisgICAgaWE2NDpBSVg6KjoqKQorCWlmIFsgLXggL3Vzci9iaW4vb3NsZXZlbCBdIDsgdGhlbgorCQlJQk1fUkVWPWAvdXNyL2Jpbi9vc2xldmVsYAorCWVsc2UKKwkJSUJNX1JFVj0ke1VOQU1FX1ZFUlNJT059LiR7VU5BTUVfUkVMRUFTRX0KKwlmaQorCWVjaG8gJHtVTkFNRV9NQUNISU5FfS1pYm0tYWl4JHtJQk1fUkVWfQorCWV4aXQgOzsKKyAgICAqOkFJWDoyOjMpCisJaWYgZ3JlcCBib3MzMjUgL3Vzci9pbmNsdWRlL3N0ZGlvLmggPi9kZXYvbnVsbCAyPiYxOyB0aGVuCisJCWV2YWwgJHNldF9jY19mb3JfYnVpbGQKKwkJc2VkICdzL14JCS8vJyA8PCBFT0YgPiRkdW1teS5jCisJCSNpbmNsdWRlIDxzeXMvc3lzdGVtY2ZnLmg+CisKKwkJbWFpbigpCisJCQl7CisJCQlpZiAoIV9fcG93ZXJfcGMoKSkKKwkJCQlleGl0KDEpOworCQkJcHV0cygicG93ZXJwYy1pYm0tYWl4My4yLjUiKTsKKwkJCWV4aXQoMCk7CisJCQl9CitFT0YKKwkJaWYgJENDX0ZPUl9CVUlMRCAtbyAkZHVtbXkgJGR1bW15LmMgJiYgU1lTVEVNX05BTUU9YCRkdW1teWAKKwkJdGhlbgorCQkJZWNobyAiJFNZU1RFTV9OQU1FIgorCQllbHNlCisJCQllY2hvIHJzNjAwMC1pYm0tYWl4My4yLjUKKwkJZmkKKwllbGlmIGdyZXAgYm9zMzI0IC91c3IvaW5jbHVkZS9zdGRpby5oID4vZGV2L251bGwgMj4mMTsgdGhlbgorCQllY2hvIHJzNjAwMC1pYm0tYWl4My4yLjQKKwllbHNlCisJCWVjaG8gcnM2MDAwLWlibS1haXgzLjIKKwlmaQorCWV4aXQgOzsKKyAgICAqOkFJWDoqOls0NTY3XSkKKwlJQk1fQ1BVX0lEPWAvdXNyL3NiaW4vbHNkZXYgLUMgLWMgcHJvY2Vzc29yIC1TIGF2YWlsYWJsZSB8IHNlZCAxcSB8IGF3ayAneyBwcmludCAkMSB9J2AKKwlpZiAvdXNyL3NiaW4vbHNhdHRyIC1FbCAke0lCTV9DUFVfSUR9IHwgZ3JlcCAnIFBPV0VSJyA+L2Rldi9udWxsIDI+JjE7IHRoZW4KKwkJSUJNX0FSQ0g9cnM2MDAwCisJZWxzZQorCQlJQk1fQVJDSD1wb3dlcnBjCisJZmkKKwlpZiBbIC14IC91c3IvYmluL29zbGV2ZWwgXSA7IHRoZW4KKwkJSUJNX1JFVj1gL3Vzci9iaW4vb3NsZXZlbGAKKwllbHNlCisJCUlCTV9SRVY9JHtVTkFNRV9WRVJTSU9OfS4ke1VOQU1FX1JFTEVBU0V9CisJZmkKKwllY2hvICR7SUJNX0FSQ0h9LWlibS1haXgke0lCTV9SRVZ9CisJZXhpdCA7OworICAgICo6QUlYOio6KikKKwllY2hvIHJzNjAwMC1pYm0tYWl4CisJZXhpdCA7OworICAgIGlibXJ0OjQuNEJTRDoqfHJvbXAtaWJtOkJTRDoqKQorCWVjaG8gcm9tcC1pYm0tYnNkNC40CisJZXhpdCA7OworICAgIGlibXJ0OipCU0Q6Knxyb21wLWlibTpCU0Q6KikgICAgICAgICAgICAjIGNvdmVycyBSVC9QQyBCU0QgYW5kCisJZWNobyByb21wLWlibS1ic2Qke1VOQU1FX1JFTEVBU0V9ICAgIyA0LjMgd2l0aCB1bmFtZSBhZGRlZCB0bworCWV4aXQgOzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgcmVwb3J0OiByb21wLWlibSBCU0QgNC4zCisgICAgKjpCT1NYOio6KikKKwllY2hvIHJzNjAwMC1idWxsLWJvc3gKKwlleGl0IDs7CisgICAgRFBYLzI/MDA6Qi5PLlMuOio6KikKKwllY2hvIG02OGstYnVsbC1zeXN2MworCWV4aXQgOzsKKyAgICA5MDAwL1szNF0/Pzo0LjNic2Q6MS4qOiopCisJZWNobyBtNjhrLWhwLWJzZAorCWV4aXQgOzsKKyAgICBocDMwMDo0LjRCU0Q6KjoqIHwgOTAwMC9bMzRdPz86NC4zYnNkOjIuKjoqKQorCWVjaG8gbTY4ay1ocC1ic2Q0LjQKKwlleGl0IDs7CisgICAgOTAwMC9bMzQ2NzhdPz86SFAtVVg6KjoqKQorCUhQVVhfUkVWPWBlY2hvICR7VU5BTUVfUkVMRUFTRX18c2VkIC1lICdzL1teLl0qLlswQl0qLy8nYAorCWNhc2UgIiR7VU5BTUVfTUFDSElORX0iIGluCisJICAgIDkwMDAvMzE/ICkgICAgICAgICAgICBIUF9BUkNIPW02ODAwMCA7OworCSAgICA5MDAwL1szNF0/PyApICAgICAgICAgSFBfQVJDSD1tNjhrIDs7CisJICAgIDkwMDAvWzY3OF1bMC05XVswLTldKQorCQlpZiBbIC14IC91c3IvYmluL2dldGNvbmYgXTsgdGhlbgorCQkgICAgc2NfY3B1X3ZlcnNpb249YC91c3IvYmluL2dldGNvbmYgU0NfQ1BVX1ZFUlNJT04gMj4vZGV2L251bGxgCisJCSAgICBzY19rZXJuZWxfYml0cz1gL3Vzci9iaW4vZ2V0Y29uZiBTQ19LRVJORUxfQklUUyAyPi9kZXYvbnVsbGAKKwkJICAgIGNhc2UgIiR7c2NfY3B1X3ZlcnNpb259IiBpbgorCQkgICAgICA1MjMpIEhQX0FSQ0g9ImhwcGExLjAiIDs7ICMgQ1BVX1BBX1JJU0MxXzAKKwkJICAgICAgNTI4KSBIUF9BUkNIPSJocHBhMS4xIiA7OyAjIENQVV9QQV9SSVNDMV8xCisJCSAgICAgIDUzMikgICAgICAgICAgICAgICAgICAgICAgIyBDUFVfUEFfUklTQzJfMAorCQkJY2FzZSAiJHtzY19rZXJuZWxfYml0c30iIGluCisJCQkgIDMyKSBIUF9BUkNIPSJocHBhMi4wbiIgOzsKKwkJCSAgNjQpIEhQX0FSQ0g9ImhwcGEyLjB3IiA7OworCQkJICAnJykgSFBfQVJDSD0iaHBwYTIuMCIgOzsgICAjIEhQLVVYIDEwLjIwCisJCQllc2FjIDs7CisJCSAgICBlc2FjCisJCWZpCisJCWlmIFsgIiR7SFBfQVJDSH0iID0gIiIgXTsgdGhlbgorCQkgICAgZXZhbCAkc2V0X2NjX2Zvcl9idWlsZAorCQkgICAgc2VkICdzL14JCS8vJyA8PCBFT0YgPiRkdW1teS5jCisKKwkJI2RlZmluZSBfSFBVWF9TT1VSQ0UKKwkJI2luY2x1ZGUgPHN0ZGxpYi5oPgorCQkjaW5jbHVkZSA8dW5pc3RkLmg+CisKKwkJaW50IG1haW4gKCkKKwkJeworCQkjaWYgZGVmaW5lZChfU0NfS0VSTkVMX0JJVFMpCisJCSAgICBsb25nIGJpdHMgPSBzeXNjb25mKF9TQ19LRVJORUxfQklUUyk7CisJCSNlbmRpZgorCQkgICAgbG9uZyBjcHUgID0gc3lzY29uZiAoX1NDX0NQVV9WRVJTSU9OKTsKKworCQkgICAgc3dpdGNoIChjcHUpCisJCQl7CisJCQljYXNlIENQVV9QQV9SSVNDMV8wOiBwdXRzICgiaHBwYTEuMCIpOyBicmVhazsKKwkJCWNhc2UgQ1BVX1BBX1JJU0MxXzE6IHB1dHMgKCJocHBhMS4xIik7IGJyZWFrOworCQkJY2FzZSBDUFVfUEFfUklTQzJfMDoKKwkJI2lmIGRlZmluZWQoX1NDX0tFUk5FTF9CSVRTKQorCQkJICAgIHN3aXRjaCAoYml0cykKKwkJCQl7CisJCQkJY2FzZSA2NDogcHV0cyAoImhwcGEyLjB3Iik7IGJyZWFrOworCQkJCWNhc2UgMzI6IHB1dHMgKCJocHBhMi4wbiIpOyBicmVhazsKKwkJCQlkZWZhdWx0OiBwdXRzICgiaHBwYTIuMCIpOyBicmVhazsKKwkJCQl9IGJyZWFrOworCQkjZWxzZSAgLyogIWRlZmluZWQoX1NDX0tFUk5FTF9CSVRTKSAqLworCQkJICAgIHB1dHMgKCJocHBhMi4wIik7IGJyZWFrOworCQkjZW5kaWYKKwkJCWRlZmF1bHQ6IHB1dHMgKCJocHBhMS4wIik7IGJyZWFrOworCQkJfQorCQkgICAgZXhpdCAoMCk7CisJCX0KK0VPRgorCQkgICAgKENDT1BUUz0gJENDX0ZPUl9CVUlMRCAtbyAkZHVtbXkgJGR1bW15LmMgMj4vZGV2L251bGwpICYmIEhQX0FSQ0g9YCRkdW1teWAKKwkJICAgIHRlc3QgLXogIiRIUF9BUkNIIiAmJiBIUF9BUkNIPWhwcGEKKwkJZmkgOzsKKwllc2FjCisJaWYgWyAke0hQX0FSQ0h9ID0gImhwcGEyLjB3IiBdCisJdGhlbgorCSAgICBldmFsICRzZXRfY2NfZm9yX2J1aWxkCisKKwkgICAgIyBocHBhMi4wdy1ocC1ocHV4KiBoYXMgYSA2NC1iaXQga2VybmVsIGFuZCBhIGNvbXBpbGVyIGdlbmVyYXRpbmcKKwkgICAgIyAzMi1iaXQgY29kZS4gIGhwcGE2NC1ocC1ocHV4KiBoYXMgdGhlIHNhbWUga2VybmVsIGFuZCBhIGNvbXBpbGVyCisJICAgICMgZ2VuZXJhdGluZyA2NC1iaXQgY29kZS4gIEdOVSBhbmQgSFAgdXNlIGRpZmZlcmVudCBub21lbmNsYXR1cmU6CisJICAgICMKKwkgICAgIyAkIENDX0ZPUl9CVUlMRD1jYyAuL2NvbmZpZy5ndWVzcworCSAgICAjID0+IGhwcGEyLjB3LWhwLWhwdXgxMS4yMworCSAgICAjICQgQ0NfRk9SX0JVSUxEPSJjYyArREEyLjB3IiAuL2NvbmZpZy5ndWVzcworCSAgICAjID0+IGhwcGE2NC1ocC1ocHV4MTEuMjMKKworCSAgICBpZiBlY2hvIF9fTFA2NF9fIHwgKENDT1BUUz0gJENDX0ZPUl9CVUlMRCAtRSAtIDI+L2Rldi9udWxsKSB8CisJCWdyZXAgLXEgX19MUDY0X18KKwkgICAgdGhlbgorCQlIUF9BUkNIPSJocHBhMi4wdyIKKwkgICAgZWxzZQorCQlIUF9BUkNIPSJocHBhNjQiCisJICAgIGZpCisJZmkKKwllY2hvICR7SFBfQVJDSH0taHAtaHB1eCR7SFBVWF9SRVZ9CisJZXhpdCA7OworICAgIGlhNjQ6SFAtVVg6KjoqKQorCUhQVVhfUkVWPWBlY2hvICR7VU5BTUVfUkVMRUFTRX18c2VkIC1lICdzL1teLl0qLlswQl0qLy8nYAorCWVjaG8gaWE2NC1ocC1ocHV4JHtIUFVYX1JFVn0KKwlleGl0IDs7CisgICAgMzA1MCo6SEktVVg6KjoqKQorCWV2YWwgJHNldF9jY19mb3JfYnVpbGQKKwlzZWQgJ3MvXgkvLycgPDwgRU9GID4kZHVtbXkuYworCSNpbmNsdWRlIDx1bmlzdGQuaD4KKwlpbnQKKwltYWluICgpCisJeworCSAgbG9uZyBjcHUgPSBzeXNjb25mIChfU0NfQ1BVX1ZFUlNJT04pOworCSAgLyogVGhlIG9yZGVyIG1hdHRlcnMsIGJlY2F1c2UgQ1BVX0lTX0hQX01DNjhLIGVycm9uZW91c2x5IHJldHVybnMKKwkgICAgIHRydWUgZm9yIENQVV9QQV9SSVNDMV8wLiAgQ1BVX0lTX1BBX1JJU0MgcmV0dXJucyBjb3JyZWN0CisJICAgICByZXN1bHRzLCBob3dldmVyLiAgKi8KKwkgIGlmIChDUFVfSVNfUEFfUklTQyAoY3B1KSkKKwkgICAgeworCSAgICAgIHN3aXRjaCAoY3B1KQorCQl7CisJCSAgY2FzZSBDUFVfUEFfUklTQzFfMDogcHV0cyAoImhwcGExLjAtaGl0YWNoaS1oaXV4d2UyIik7IGJyZWFrOworCQkgIGNhc2UgQ1BVX1BBX1JJU0MxXzE6IHB1dHMgKCJocHBhMS4xLWhpdGFjaGktaGl1eHdlMiIpOyBicmVhazsKKwkJICBjYXNlIENQVV9QQV9SSVNDMl8wOiBwdXRzICgiaHBwYTIuMC1oaXRhY2hpLWhpdXh3ZTIiKTsgYnJlYWs7CisJCSAgZGVmYXVsdDogcHV0cyAoImhwcGEtaGl0YWNoaS1oaXV4d2UyIik7IGJyZWFrOworCQl9CisJICAgIH0KKwkgIGVsc2UgaWYgKENQVV9JU19IUF9NQzY4SyAoY3B1KSkKKwkgICAgcHV0cyAoIm02OGstaGl0YWNoaS1oaXV4d2UyIik7CisJICBlbHNlIHB1dHMgKCJ1bmtub3duLWhpdGFjaGktaGl1eHdlMiIpOworCSAgZXhpdCAoMCk7CisJfQorRU9GCisJJENDX0ZPUl9CVUlMRCAtbyAkZHVtbXkgJGR1bW15LmMgJiYgU1lTVEVNX05BTUU9YCRkdW1teWAgJiYKKwkJeyBlY2hvICIkU1lTVEVNX05BTUUiOyBleGl0OyB9CisJZWNobyB1bmtub3duLWhpdGFjaGktaGl1eHdlMgorCWV4aXQgOzsKKyAgICA5MDAwLzc/Pzo0LjNic2Q6KjoqIHwgOTAwMC84P1s3OV06NC4zYnNkOio6KiApCisJZWNobyBocHBhMS4xLWhwLWJzZAorCWV4aXQgOzsKKyAgICA5MDAwLzg/Pzo0LjNic2Q6KjoqKQorCWVjaG8gaHBwYTEuMC1ocC1ic2QKKwlleGl0IDs7CisgICAgKjk/Pyo6TVBFL2lYOio6KiB8ICozMDAwKjpNUEUvaVg6KjoqKQorCWVjaG8gaHBwYTEuMC1ocC1tcGVpeAorCWV4aXQgOzsKKyAgICBocDc/PzpPU0YxOio6KiB8IGhwOD9bNzldOk9TRjE6KjoqICkKKwllY2hvIGhwcGExLjEtaHAtb3NmCisJZXhpdCA7OworICAgIGhwOD8/Ok9TRjE6KjoqKQorCWVjaG8gaHBwYTEuMC1ocC1vc2YKKwlleGl0IDs7CisgICAgaSo4NjpPU0YxOio6KikKKwlpZiBbIC14IC91c3Ivc2Jpbi9zeXN2ZXJzaW9uIF0gOyB0aGVuCisJICAgIGVjaG8gJHtVTkFNRV9NQUNISU5FfS11bmtub3duLW9zZjFtaworCWVsc2UKKwkgICAgZWNobyAke1VOQU1FX01BQ0hJTkV9LXVua25vd24tb3NmMQorCWZpCisJZXhpdCA7OworICAgIHBhcmlzYyo6TGl0ZXMqOio6KikKKwllY2hvIGhwcGExLjEtaHAtbGl0ZXMKKwlleGl0IDs7CisgICAgQzEqOkNvbnZleE9TOio6KiB8IGNvbnZleDpDb252ZXhPUzpDMSo6KikKKwllY2hvIGMxLWNvbnZleC1ic2QKKwlleGl0IDs7CisgICAgQzIqOkNvbnZleE9TOio6KiB8IGNvbnZleDpDb252ZXhPUzpDMio6KikKKwlpZiBnZXRzeXNpbmZvIC1mIHNjYWxhcl9hY2MKKwl0aGVuIGVjaG8gYzMyLWNvbnZleC1ic2QKKwllbHNlIGVjaG8gYzItY29udmV4LWJzZAorCWZpCisJZXhpdCA7OworICAgIEMzNCo6Q29udmV4T1M6KjoqIHwgY29udmV4OkNvbnZleE9TOkMzNCo6KikKKwllY2hvIGMzNC1jb252ZXgtYnNkCisJZXhpdCA7OworICAgIEMzOCo6Q29udmV4T1M6KjoqIHwgY29udmV4OkNvbnZleE9TOkMzOCo6KikKKwllY2hvIGMzOC1jb252ZXgtYnNkCisJZXhpdCA7OworICAgIEM0KjpDb252ZXhPUzoqOiogfCBjb252ZXg6Q29udmV4T1M6QzQqOiopCisJZWNobyBjNC1jb252ZXgtYnNkCisJZXhpdCA7OworICAgIENSQVkqWS1NUDoqOio6KikKKwllY2hvIHltcC1jcmF5LXVuaWNvcyR7VU5BTUVfUkVMRUFTRX0gfCBzZWQgLWUgJ3MvXC5bXi5dKiQvLlgvJworCWV4aXQgOzsKKyAgICBDUkFZKltBLVpdOTA6KjoqOiopCisJZWNobyAke1VOQU1FX01BQ0hJTkV9LWNyYXktdW5pY29zJHtVTkFNRV9SRUxFQVNFfSBcCisJfCBzZWQgLWUgJ3MvQ1JBWS4qXChbQS1aXTkwXCkvXDEvJyBcCisJICAgICAgLWUgeS9BQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWi9hYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ei8gXAorCSAgICAgIC1lICdzL1wuW14uXSokLy5YLycKKwlleGl0IDs7CisgICAgQ1JBWSpUUzoqOio6KikKKwllY2hvIHQ5MC1jcmF5LXVuaWNvcyR7VU5BTUVfUkVMRUFTRX0gfCBzZWQgLWUgJ3MvXC5bXi5dKiQvLlgvJworCWV4aXQgOzsKKyAgICBDUkFZKlQzRToqOio6KikKKwllY2hvIGFscGhhZXY1LWNyYXktdW5pY29zbWske1VOQU1FX1JFTEVBU0V9IHwgc2VkIC1lICdzL1wuW14uXSokLy5YLycKKwlleGl0IDs7CisgICAgQ1JBWSpTVjE6KjoqOiopCisJZWNobyBzdjEtY3JheS11bmljb3Mke1VOQU1FX1JFTEVBU0V9IHwgc2VkIC1lICdzL1wuW14uXSokLy5YLycKKwlleGl0IDs7CisgICAgKjpVTklDT1MvbXA6KjoqKQorCWVjaG8gY3JheW52LWNyYXktdW5pY29zbXAke1VOQU1FX1JFTEVBU0V9IHwgc2VkIC1lICdzL1wuW14uXSokLy5YLycKKwlleGl0IDs7CisgICAgRjMwWzAxXTpVTklYX1N5c3RlbV9WOio6KiB8IEY3MDA6VU5JWF9TeXN0ZW1fVjoqOiopCisJRlVKSVRTVV9QUk9DPWB1bmFtZSAtbSB8IHRyICdBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWicgJ2FiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6J2AKKwlGVUpJVFNVX1NZUz1gdW5hbWUgLXAgfCB0ciAnQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVonICdhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eicgfCBzZWQgLWUgJ3MvXC8vLydgCisJRlVKSVRTVV9SRUw9YGVjaG8gJHtVTkFNRV9SRUxFQVNFfSB8IHNlZCAtZSAncy8gL18vJ2AKKwllY2hvICIke0ZVSklUU1VfUFJPQ30tZnVqaXRzdS0ke0ZVSklUU1VfU1lTfSR7RlVKSVRTVV9SRUx9IgorCWV4aXQgOzsKKyAgICA1MDAwOlVOSVhfU3lzdGVtX1Y6NC4qOiopCisJRlVKSVRTVV9TWVM9YHVuYW1lIC1wIHwgdHIgJ0FCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaJyAnYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXonIHwgc2VkIC1lICdzL1wvLy8nYAorCUZVSklUU1VfUkVMPWBlY2hvICR7VU5BTUVfUkVMRUFTRX0gfCB0ciAnQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVonICdhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eicgfCBzZWQgLWUgJ3MvIC9fLydgCisJZWNobyAic3BhcmMtZnVqaXRzdS0ke0ZVSklUU1VfU1lTfSR7RlVKSVRTVV9SRUx9IgorCWV4aXQgOzsKKyAgICBpKjg2OkJTRC8zODY6KjoqIHwgaSo4NjpCU0QvT1M6KjoqIHwgKjpBc2NlbmRcIEVtYmVkZGVkL09TOio6KikKKwllY2hvICR7VU5BTUVfTUFDSElORX0tcGMtYnNkaSR7VU5BTUVfUkVMRUFTRX0KKwlleGl0IDs7CisgICAgc3BhcmMqOkJTRC9PUzoqOiopCisJZWNobyBzcGFyYy11bmtub3duLWJzZGkke1VOQU1FX1JFTEVBU0V9CisJZXhpdCA7OworICAgICo6QlNEL09TOio6KikKKwllY2hvICR7VU5BTUVfTUFDSElORX0tdW5rbm93bi1ic2RpJHtVTkFNRV9SRUxFQVNFfQorCWV4aXQgOzsKKyAgICAqOkZyZWVCU0Q6KjoqKQorCVVOQU1FX1BST0NFU1NPUj1gL3Vzci9iaW4vdW5hbWUgLXBgCisJY2FzZSAke1VOQU1FX1BST0NFU1NPUn0gaW4KKwkgICAgYW1kNjQpCisJCWVjaG8geDg2XzY0LXVua25vd24tZnJlZWJzZGBlY2hvICR7VU5BTUVfUkVMRUFTRX18c2VkIC1lICdzL1stKF0uKi8vJ2AgOzsKKwkgICAgKikKKwkJZWNobyAke1VOQU1FX1BST0NFU1NPUn0tdW5rbm93bi1mcmVlYnNkYGVjaG8gJHtVTkFNRV9SRUxFQVNFfXxzZWQgLWUgJ3MvWy0oXS4qLy8nYCA7OworCWVzYWMKKwlleGl0IDs7CisgICAgaSo6Q1lHV0lOKjoqKQorCWVjaG8gJHtVTkFNRV9NQUNISU5FfS1wYy1jeWd3aW4KKwlleGl0IDs7CisgICAgKjpNSU5HVyo6KikKKwllY2hvICR7VU5BTUVfTUFDSElORX0tcGMtbWluZ3czMgorCWV4aXQgOzsKKyAgICBpKjpNU1lTKjoqKQorCWVjaG8gJHtVTkFNRV9NQUNISU5FfS1wYy1tc3lzCisJZXhpdCA7OworICAgIGkqOndpbmRvd3MzMio6KikKKwkjIHVuYW1lIC1tIGluY2x1ZGVzICItcGMiIG9uIHRoaXMgc3lzdGVtLgorCWVjaG8gJHtVTkFNRV9NQUNISU5FfS1taW5ndzMyCisJZXhpdCA7OworICAgIGkqOlBXKjoqKQorCWVjaG8gJHtVTkFNRV9NQUNISU5FfS1wYy1wdzMyCisJZXhpdCA7OworICAgICo6SW50ZXJpeCo6KikKKwljYXNlICR7VU5BTUVfTUFDSElORX0gaW4KKwkgICAgeDg2KQorCQllY2hvIGk1ODYtcGMtaW50ZXJpeCR7VU5BTUVfUkVMRUFTRX0KKwkJZXhpdCA7OworCSAgICBhdXRoZW50aWNhbWQgfCBnZW51aW5laW50ZWwgfCBFTTY0VCkKKwkJZWNobyB4ODZfNjQtdW5rbm93bi1pbnRlcml4JHtVTkFNRV9SRUxFQVNFfQorCQlleGl0IDs7CisJICAgIElBNjQpCisJCWVjaG8gaWE2NC11bmtub3duLWludGVyaXgke1VOQU1FX1JFTEVBU0V9CisJCWV4aXQgOzsKKwllc2FjIDs7CisgICAgWzM0NV04NjpXaW5kb3dzXzk1OiogfCBbMzQ1XTg2OldpbmRvd3NfOTg6KiB8IFszNDVdODY6V2luZG93c19OVDoqKQorCWVjaG8gaSR7VU5BTUVfTUFDSElORX0tcGMtbWtzCisJZXhpdCA7OworICAgIDg2NjQ6V2luZG93c19OVDoqKQorCWVjaG8geDg2XzY0LXBjLW1rcworCWV4aXQgOzsKKyAgICBpKjpXaW5kb3dzX05UKjoqIHwgUGVudGl1bSo6V2luZG93c19OVCo6KikKKwkjIEhvdyBkbyB3ZSBrbm93IGl0J3MgSW50ZXJpeCByYXRoZXIgdGhhbiB0aGUgZ2VuZXJpYyBQT1NJWCBzdWJzeXN0ZW0/CisJIyBJdCBhbHNvIGNvbmZsaWN0cyB3aXRoIHByZS0yLjAgdmVyc2lvbnMgb2YgQVQmVCBVV0lOLiBTaG91bGQgd2UKKwkjIFVOQU1FX01BQ0hJTkUgYmFzZWQgb24gdGhlIG91dHB1dCBvZiB1bmFtZSBpbnN0ZWFkIG9mIGkzODY/CisJZWNobyBpNTg2LXBjLWludGVyaXgKKwlleGl0IDs7CisgICAgaSo6VVdJTio6KikKKwllY2hvICR7VU5BTUVfTUFDSElORX0tcGMtdXdpbgorCWV4aXQgOzsKKyAgICBhbWQ2NDpDWUdXSU4qOio6KiB8IHg4Nl82NDpDWUdXSU4qOio6KikKKwllY2hvIHg4Nl82NC11bmtub3duLWN5Z3dpbgorCWV4aXQgOzsKKyAgICBwKjpDWUdXSU4qOiopCisJZWNobyBwb3dlcnBjbGUtdW5rbm93bi1jeWd3aW4KKwlleGl0IDs7CisgICAgcHJlcCo6U3VuT1M6NS4qOiopCisJZWNobyBwb3dlcnBjbGUtdW5rbm93bi1zb2xhcmlzMmBlY2hvICR7VU5BTUVfUkVMRUFTRX18c2VkIC1lICdzL1teLl0qLy8nYAorCWV4aXQgOzsKKyAgICAqOkdOVToqOiopCisJIyB0aGUgR05VIHN5c3RlbQorCWVjaG8gYGVjaG8gJHtVTkFNRV9NQUNISU5FfXxzZWQgLWUgJ3MsWy0vXS4qJCwsJ2AtdW5rbm93bi1nbnVgZWNobyAke1VOQU1FX1JFTEVBU0V9fHNlZCAtZSAncywvLiokLCwnYAorCWV4aXQgOzsKKyAgICAqOkdOVS8qOio6KikKKwkjIG90aGVyIHN5c3RlbXMgd2l0aCBHTlUgbGliYyBhbmQgdXNlcmxhbmQKKwllY2hvICR7VU5BTUVfTUFDSElORX0tdW5rbm93bi1gZWNobyAke1VOQU1FX1NZU1RFTX0gfCBzZWQgJ3MsXlteL10qLywsJyB8IHRyICdbQS1aXScgJ1thLXpdJ2BgZWNobyAke1VOQU1FX1JFTEVBU0V9fHNlZCAtZSAncy9bLShdLiovLydgLWdudQorCWV4aXQgOzsKKyAgICBpKjg2Ok1pbml4Oio6KikKKwllY2hvICR7VU5BTUVfTUFDSElORX0tcGMtbWluaXgKKwlleGl0IDs7CisgICAgYWFyY2g2NDpMaW51eDoqOiopCisJZWNobyAke1VOQU1FX01BQ0hJTkV9LXVua25vd24tbGludXgtZ251CisJZXhpdCA7OworICAgIGFhcmNoNjRfYmU6TGludXg6KjoqKQorCVVOQU1FX01BQ0hJTkU9YWFyY2g2NF9iZQorCWVjaG8gJHtVTkFNRV9NQUNISU5FfS11bmtub3duLWxpbnV4LWdudQorCWV4aXQgOzsKKyAgICBhbHBoYTpMaW51eDoqOiopCisJY2FzZSBgc2VkIC1uICcvXmNwdSBtb2RlbC9zL14uKjogXCguKlwpL1wxL3AnIDwgL3Byb2MvY3B1aW5mb2AgaW4KKwkgIEVWNSkgICBVTkFNRV9NQUNISU5FPWFscGhhZXY1IDs7CisJICBFVjU2KSAgVU5BTUVfTUFDSElORT1hbHBoYWV2NTYgOzsKKwkgIFBDQTU2KSBVTkFNRV9NQUNISU5FPWFscGhhcGNhNTYgOzsKKwkgIFBDQTU3KSBVTkFNRV9NQUNISU5FPWFscGhhcGNhNTYgOzsKKwkgIEVWNikgICBVTkFNRV9NQUNISU5FPWFscGhhZXY2IDs7CisJICBFVjY3KSAgVU5BTUVfTUFDSElORT1hbHBoYWV2NjcgOzsKKwkgIEVWNjgqKSBVTkFNRV9NQUNISU5FPWFscGhhZXY2OCA7OworCWVzYWMKKwlvYmpkdW1wIC0tcHJpdmF0ZS1oZWFkZXJzIC9iaW4vc2ggfCBncmVwIC1xIGxkLnNvLjEKKwlpZiB0ZXN0ICIkPyIgPSAwIDsgdGhlbiBMSUJDPSJsaWJjMSIgOyBlbHNlIExJQkM9IiIgOyBmaQorCWVjaG8gJHtVTkFNRV9NQUNISU5FfS11bmtub3duLWxpbnV4LWdudSR7TElCQ30KKwlleGl0IDs7CisgICAgYXJtKjpMaW51eDoqOiopCisJZXZhbCAkc2V0X2NjX2Zvcl9idWlsZAorCWlmIGVjaG8gX19BUk1fRUFCSV9fIHwgJENDX0ZPUl9CVUlMRCAtRSAtIDI+L2Rldi9udWxsIFwKKwkgICAgfCBncmVwIC1xIF9fQVJNX0VBQklfXworCXRoZW4KKwkgICAgZWNobyAke1VOQU1FX01BQ0hJTkV9LXVua25vd24tbGludXgtZ251CisJZWxzZQorCSAgICBpZiBlY2hvIF9fQVJNX1BDU19WRlAgfCAkQ0NfRk9SX0JVSUxEIC1FIC0gMj4vZGV2L251bGwgXAorCQl8IGdyZXAgLXEgX19BUk1fUENTX1ZGUAorCSAgICB0aGVuCisJCWVjaG8gJHtVTkFNRV9NQUNISU5FfS11bmtub3duLWxpbnV4LWdudWVhYmkKKwkgICAgZWxzZQorCQllY2hvICR7VU5BTUVfTUFDSElORX0tdW5rbm93bi1saW51eC1nbnVlYWJpaGYKKwkgICAgZmkKKwlmaQorCWV4aXQgOzsKKyAgICBhdnIzMio6TGludXg6KjoqKQorCWVjaG8gJHtVTkFNRV9NQUNISU5FfS11bmtub3duLWxpbnV4LWdudQorCWV4aXQgOzsKKyAgICBjcmlzOkxpbnV4Oio6KikKKwllY2hvICR7VU5BTUVfTUFDSElORX0tYXhpcy1saW51eC1nbnUKKwlleGl0IDs7CisgICAgY3Jpc3YzMjpMaW51eDoqOiopCisJZWNobyAke1VOQU1FX01BQ0hJTkV9LWF4aXMtbGludXgtZ251CisJZXhpdCA7OworICAgIGZydjpMaW51eDoqOiopCisJZWNobyAke1VOQU1FX01BQ0hJTkV9LXVua25vd24tbGludXgtZ251CisJZXhpdCA7OworICAgIGhleGFnb246TGludXg6KjoqKQorCWVjaG8gJHtVTkFNRV9NQUNISU5FfS11bmtub3duLWxpbnV4LWdudQorCWV4aXQgOzsKKyAgICBpKjg2OkxpbnV4Oio6KikKKwlMSUJDPWdudQorCWV2YWwgJHNldF9jY19mb3JfYnVpbGQKKwlzZWQgJ3MvXgkvLycgPDwgRU9GID4kZHVtbXkuYworCSNpZmRlZiBfX2RpZXRsaWJjX18KKwlMSUJDPWRpZXRsaWJjCisJI2VuZGlmCitFT0YKKwlldmFsIGAkQ0NfRk9SX0JVSUxEIC1FICRkdW1teS5jIDI+L2Rldi9udWxsIHwgZ3JlcCAnXkxJQkMnYAorCWVjaG8gIiR7VU5BTUVfTUFDSElORX0tcGMtbGludXgtJHtMSUJDfSIKKwlleGl0IDs7CisgICAgaWE2NDpMaW51eDoqOiopCisJZWNobyAke1VOQU1FX01BQ0hJTkV9LXVua25vd24tbGludXgtZ251CisJZXhpdCA7OworICAgIG0zMnIqOkxpbnV4Oio6KikKKwllY2hvICR7VU5BTUVfTUFDSElORX0tdW5rbm93bi1saW51eC1nbnUKKwlleGl0IDs7CisgICAgbTY4KjpMaW51eDoqOiopCisJZWNobyAke1VOQU1FX01BQ0hJTkV9LXVua25vd24tbGludXgtZ251CisJZXhpdCA7OworICAgIG1pcHM6TGludXg6KjoqIHwgbWlwczY0OkxpbnV4Oio6KikKKwlldmFsICRzZXRfY2NfZm9yX2J1aWxkCisJc2VkICdzL14JLy8nIDw8IEVPRiA+JGR1bW15LmMKKwkjdW5kZWYgQ1BVCisJI3VuZGVmICR7VU5BTUVfTUFDSElORX0KKwkjdW5kZWYgJHtVTkFNRV9NQUNISU5FfWVsCisJI2lmIGRlZmluZWQoX19NSVBTRUxfXykgfHwgZGVmaW5lZChfX01JUFNFTCkgfHwgZGVmaW5lZChfTUlQU0VMKSB8fCBkZWZpbmVkKE1JUFNFTCkKKwlDUFU9JHtVTkFNRV9NQUNISU5FfWVsCisJI2Vsc2UKKwkjaWYgZGVmaW5lZChfX01JUFNFQl9fKSB8fCBkZWZpbmVkKF9fTUlQU0VCKSB8fCBkZWZpbmVkKF9NSVBTRUIpIHx8IGRlZmluZWQoTUlQU0VCKQorCUNQVT0ke1VOQU1FX01BQ0hJTkV9CisJI2Vsc2UKKwlDUFU9CisJI2VuZGlmCisJI2VuZGlmCitFT0YKKwlldmFsIGAkQ0NfRk9SX0JVSUxEIC1FICRkdW1teS5jIDI+L2Rldi9udWxsIHwgZ3JlcCAnXkNQVSdgCisJdGVzdCB4IiR7Q1BVfSIgIT0geCAmJiB7IGVjaG8gIiR7Q1BVfS11bmtub3duLWxpbnV4LWdudSI7IGV4aXQ7IH0KKwk7OworICAgIG9yMzI6TGludXg6KjoqKQorCWVjaG8gJHtVTkFNRV9NQUNISU5FfS11bmtub3duLWxpbnV4LWdudQorCWV4aXQgOzsKKyAgICBwYWRyZTpMaW51eDoqOiopCisJZWNobyBzcGFyYy11bmtub3duLWxpbnV4LWdudQorCWV4aXQgOzsKKyAgICBwYXJpc2M2NDpMaW51eDoqOiogfCBocHBhNjQ6TGludXg6KjoqKQorCWVjaG8gaHBwYTY0LXVua25vd24tbGludXgtZ251CisJZXhpdCA7OworICAgIHBhcmlzYzpMaW51eDoqOiogfCBocHBhOkxpbnV4Oio6KikKKwkjIExvb2sgZm9yIENQVSBsZXZlbAorCWNhc2UgYGdyZXAgJ15jcHVbXmEtel0qOicgL3Byb2MvY3B1aW5mbyAyPi9kZXYvbnVsbCB8IGN1dCAtZCcgJyAtZjJgIGluCisJICBQQTcqKSBlY2hvIGhwcGExLjEtdW5rbm93bi1saW51eC1nbnUgOzsKKwkgIFBBOCopIGVjaG8gaHBwYTIuMC11bmtub3duLWxpbnV4LWdudSA7OworCSAgKikgICAgZWNobyBocHBhLXVua25vd24tbGludXgtZ251IDs7CisJZXNhYworCWV4aXQgOzsKKyAgICBwcGM2NDpMaW51eDoqOiopCisJZWNobyBwb3dlcnBjNjQtdW5rbm93bi1saW51eC1nbnUKKwlleGl0IDs7CisgICAgcHBjOkxpbnV4Oio6KikKKwllY2hvIHBvd2VycGMtdW5rbm93bi1saW51eC1nbnUKKwlleGl0IDs7CisgICAgczM5MDpMaW51eDoqOiogfCBzMzkweDpMaW51eDoqOiopCisJZWNobyAke1VOQU1FX01BQ0hJTkV9LWlibS1saW51eAorCWV4aXQgOzsKKyAgICBzaDY0KjpMaW51eDoqOiopCisJZWNobyAke1VOQU1FX01BQ0hJTkV9LXVua25vd24tbGludXgtZ251CisJZXhpdCA7OworICAgIHNoKjpMaW51eDoqOiopCisJZWNobyAke1VOQU1FX01BQ0hJTkV9LXVua25vd24tbGludXgtZ251CisJZXhpdCA7OworICAgIHNwYXJjOkxpbnV4Oio6KiB8IHNwYXJjNjQ6TGludXg6KjoqKQorCWVjaG8gJHtVTkFNRV9NQUNISU5FfS11bmtub3duLWxpbnV4LWdudQorCWV4aXQgOzsKKyAgICB0aWxlKjpMaW51eDoqOiopCisJZWNobyAke1VOQU1FX01BQ0hJTkV9LXVua25vd24tbGludXgtZ251CisJZXhpdCA7OworICAgIHZheDpMaW51eDoqOiopCisJZWNobyAke1VOQU1FX01BQ0hJTkV9LWRlYy1saW51eC1nbnUKKwlleGl0IDs7CisgICAgeDg2XzY0OkxpbnV4Oio6KikKKwllY2hvICR7VU5BTUVfTUFDSElORX0tdW5rbm93bi1saW51eC1nbnUKKwlleGl0IDs7CisgICAgeHRlbnNhKjpMaW51eDoqOiopCisJZWNobyAke1VOQU1FX01BQ0hJTkV9LXVua25vd24tbGludXgtZ251CisJZXhpdCA7OworICAgIGkqODY6RFlOSVgvcHR4OjQqOiopCisJIyBwdHggNC4wIGRvZXMgdW5hbWUgLXMgY29ycmVjdGx5LCB3aXRoIERZTklYL3B0eCBpbiB0aGVyZS4KKwkjIGVhcmxpZXIgdmVyc2lvbnMgYXJlIG1lc3NlZCB1cCBhbmQgcHV0IHRoZSBub2RlbmFtZSBpbiBib3RoCisJIyBzeXNuYW1lIGFuZCBub2RlbmFtZS4KKwllY2hvIGkzODYtc2VxdWVudC1zeXN2NAorCWV4aXQgOzsKKyAgICBpKjg2OlVOSVhfU1Y6NC4yTVA6Mi4qKQorCSMgVW5peHdhcmUgaXMgYW4gb2Zmc2hvb3Qgb2YgU1ZSNCwgYnV0IGl0IGhhcyBpdHMgb3duIHZlcnNpb24KKwkjIG51bWJlciBzZXJpZXMgc3RhcnRpbmcgd2l0aCAyLi4uCisJIyBJIGFtIG5vdCBwb3NpdGl2ZSB0aGF0IG90aGVyIFNWUjQgc3lzdGVtcyB3b24ndCBtYXRjaCB0aGlzLAorCSMgSSBqdXN0IGhhdmUgdG8gaG9wZS4gIC0tIHJtcy4KKwkjIFVzZSBzeXN2NC4ydXcuLi4gc28gdGhhdCBzeXN2NCogbWF0Y2hlcyBpdC4KKwllY2hvICR7VU5BTUVfTUFDSElORX0tcGMtc3lzdjQuMnV3JHtVTkFNRV9WRVJTSU9OfQorCWV4aXQgOzsKKyAgICBpKjg2Ok9TLzI6KjoqKQorCSMgSWYgd2Ugd2VyZSBhYmxlIHRvIGZpbmQgYHVuYW1lJywgdGhlbiBFTVggVW5peCBjb21wYXRpYmlsaXR5CisJIyBpcyBwcm9iYWJseSBpbnN0YWxsZWQuCisJZWNobyAke1VOQU1FX01BQ0hJTkV9LXBjLW9zMi1lbXgKKwlleGl0IDs7CisgICAgaSo4NjpYVFMtMzAwOio6U1RPUCkKKwllY2hvICR7VU5BTUVfTUFDSElORX0tdW5rbm93bi1zdG9wCisJZXhpdCA7OworICAgIGkqODY6YXRoZW9zOio6KikKKwllY2hvICR7VU5BTUVfTUFDSElORX0tdW5rbm93bi1hdGhlb3MKKwlleGl0IDs7CisgICAgaSo4NjpzeWxsYWJsZToqOiopCisJZWNobyAke1VOQU1FX01BQ0hJTkV9LXBjLXN5bGxhYmxlCisJZXhpdCA7OworICAgIGkqODY6THlueE9TOjIuKjoqIHwgaSo4NjpMeW54T1M6My5bMDFdKjoqIHwgaSo4NjpMeW54T1M6NC5bMDJdKjoqKQorCWVjaG8gaTM4Ni11bmtub3duLWx5bnhvcyR7VU5BTUVfUkVMRUFTRX0KKwlleGl0IDs7CisgICAgaSo4NjoqRE9TOio6KikKKwllY2hvICR7VU5BTUVfTUFDSElORX0tcGMtbXNkb3NkamdwcAorCWV4aXQgOzsKKyAgICBpKjg2Oio6NC4qOiogfCBpKjg2OlNZU1RFTV9WOjQuKjoqKQorCVVOQU1FX1JFTD1gZWNobyAke1VOQU1FX1JFTEVBU0V9IHwgc2VkICdzL1wvTVAkLy8nYAorCWlmIGdyZXAgTm92ZWxsIC91c3IvaW5jbHVkZS9saW5rLmggPi9kZXYvbnVsbCAyPi9kZXYvbnVsbDsgdGhlbgorCQllY2hvICR7VU5BTUVfTUFDSElORX0tdW5pdmVsLXN5c3Yke1VOQU1FX1JFTH0KKwllbHNlCisJCWVjaG8gJHtVTkFNRV9NQUNISU5FfS1wYy1zeXN2JHtVTkFNRV9SRUx9CisJZmkKKwlleGl0IDs7CisgICAgaSo4NjoqOjU6WzY3OF0qKQorCSMgVW5peFdhcmUgNy54LCBPcGVuVU5JWCBhbmQgT3BlblNlcnZlciA2LgorCWNhc2UgYC9iaW4vdW5hbWUgLVggfCBncmVwICJeTWFjaGluZSJgIGluCisJICAgICo0ODYqKQkgICAgIFVOQU1FX01BQ0hJTkU9aTQ4NiA7OworCSAgICAqUGVudGl1bSkJICAgICBVTkFNRV9NQUNISU5FPWk1ODYgOzsKKwkgICAgKlBlbnQqfCpDZWxlcm9uKSBVTkFNRV9NQUNISU5FPWk2ODYgOzsKKwllc2FjCisJZWNobyAke1VOQU1FX01BQ0hJTkV9LXVua25vd24tc3lzdiR7VU5BTUVfUkVMRUFTRX0ke1VOQU1FX1NZU1RFTX0ke1VOQU1FX1ZFUlNJT059CisJZXhpdCA7OworICAgIGkqODY6KjozLjI6KikKKwlpZiB0ZXN0IC1mIC91c3Ivb3B0aW9ucy9jYi5uYW1lOyB0aGVuCisJCVVOQU1FX1JFTD1gc2VkIC1uICdzLy4qVmVyc2lvbiAvL3AnIDwvdXNyL29wdGlvbnMvY2IubmFtZWAKKwkJZWNobyAke1VOQU1FX01BQ0hJTkV9LXBjLWlzYyRVTkFNRV9SRUwKKwllbGlmIC9iaW4vdW5hbWUgLVggMj4vZGV2L251bGwgPi9kZXYvbnVsbCA7IHRoZW4KKwkJVU5BTUVfUkVMPWAoL2Jpbi91bmFtZSAtWHxncmVwIFJlbGVhc2V8c2VkIC1lICdzLy4qPSAvLycpYAorCQkoL2Jpbi91bmFtZSAtWHxncmVwIGk4MDQ4NiA+L2Rldi9udWxsKSAmJiBVTkFNRV9NQUNISU5FPWk0ODYKKwkJKC9iaW4vdW5hbWUgLVh8Z3JlcCAnXk1hY2hpbmUuKlBlbnRpdW0nID4vZGV2L251bGwpIFwKKwkJCSYmIFVOQU1FX01BQ0hJTkU9aTU4NgorCQkoL2Jpbi91bmFtZSAtWHxncmVwICdeTWFjaGluZS4qUGVudCAqSUknID4vZGV2L251bGwpIFwKKwkJCSYmIFVOQU1FX01BQ0hJTkU9aTY4NgorCQkoL2Jpbi91bmFtZSAtWHxncmVwICdeTWFjaGluZS4qUGVudGl1bSBQcm8nID4vZGV2L251bGwpIFwKKwkJCSYmIFVOQU1FX01BQ0hJTkU9aTY4NgorCQllY2hvICR7VU5BTUVfTUFDSElORX0tcGMtc2NvJFVOQU1FX1JFTAorCWVsc2UKKwkJZWNobyAke1VOQU1FX01BQ0hJTkV9LXBjLXN5c3YzMgorCWZpCisJZXhpdCA7OworICAgIHBjOio6KjoqKQorCSMgTGVmdCBoZXJlIGZvciBjb21wYXRpYmlsaXR5OgorCSMgdW5hbWUgLW0gcHJpbnRzIGZvciBESkdQUCBhbHdheXMgJ3BjJywgYnV0IGl0IHByaW50cyBub3RoaW5nIGFib3V0CisJIyB0aGUgcHJvY2Vzc29yLCBzbyB3ZSBwbGF5IHNhZmUgYnkgYXNzdW1pbmcgaTU4Ni4KKwkjIE5vdGU6IHdoYXRldmVyIHRoaXMgaXMsIGl0IE1VU1QgYmUgdGhlIHNhbWUgYXMgd2hhdCBjb25maWcuc3ViCisJIyBwcmludHMgZm9yIHRoZSAiZGpncHAiIGhvc3QsIG9yIGVsc2UgR0RCIGNvbmZpZ3VyeSB3aWxsIGRlY2lkZSB0aGF0CisJIyB0aGlzIGlzIGEgY3Jvc3MtYnVpbGQuCisJZWNobyBpNTg2LXBjLW1zZG9zZGpncHAKKwlleGl0IDs7CisgICAgSW50ZWw6TWFjaDozKjoqKQorCWVjaG8gaTM4Ni1wYy1tYWNoMworCWV4aXQgOzsKKyAgICBwYXJhZ29uOio6KjoqKQorCWVjaG8gaTg2MC1pbnRlbC1vc2YxCisJZXhpdCA7OworICAgIGk4NjA6Kjo0Lio6KikgIyBpODYwLVNWUjQKKwlpZiBncmVwIFN0YXJkZW50IC91c3IvaW5jbHVkZS9zeXMvdWFkbWluLmggPi9kZXYvbnVsbCAyPiYxIDsgdGhlbgorCSAgZWNobyBpODYwLXN0YXJkZW50LXN5c3Yke1VOQU1FX1JFTEVBU0V9ICMgU3RhcmRlbnQgVmlzdHJhIGk4NjAtU1ZSNAorCWVsc2UgIyBBZGQgb3RoZXIgaTg2MC1TVlI0IHZlbmRvcnMgYmVsb3cgYXMgdGhleSBhcmUgZGlzY292ZXJlZC4KKwkgIGVjaG8gaTg2MC11bmtub3duLXN5c3Yke1VOQU1FX1JFTEVBU0V9ICAjIFVua25vd24gaTg2MC1TVlI0CisJZmkKKwlleGl0IDs7CisgICAgbWluaSo6Q1RJWDpTWVMqNToqKQorCSMgIm1pbmlmcmFtZSIKKwllY2hvIG02ODAxMC1jb252ZXJnZW50LXN5c3YKKwlleGl0IDs7CisgICAgbWM2OGs6VU5JWDpTWVNURU01OjMuNTFtKQorCWVjaG8gbTY4ay1jb252ZXJnZW50LXN5c3YKKwlleGl0IDs7CisgICAgTTY4MD8wOkQtTklYOjUuMzoqKQorCWVjaG8gbTY4ay1kaWFiLWRuaXgKKwlleGl0IDs7CisgICAgTTY4KjoqOlIzVls1Njc4XSo6KikKKwl0ZXN0IC1yIC9zeXNWNjggJiYgeyBlY2hvICdtNjhrLW1vdG9yb2xhLXN5c3YnOyBleGl0OyB9IDs7CisgICAgM1szNDVdPz86Kjo0LjA6My4wIHwgM1szNF0/P0E6Kjo0LjA6My4wIHwgM1szNF0/PywqOio6NC4wOjMuMCB8IDNbMzRdPz8vKjoqOjQuMDozLjAgfCA0NDAwOio6NC4wOjMuMCB8IDQ4NTA6Kjo0LjA6My4wIHwgU0tBNDA6Kjo0LjA6My4wIHwgU0RTMjoqOjQuMDozLjAgfCBTSEcyOio6NC4wOjMuMCB8IFM3NTAxKjoqOjQuMDozLjApCisJT1NfUkVMPScnCisJdGVzdCAtciAvZXRjLy5yZWxpZCBcCisJJiYgT1NfUkVMPS5gc2VkIC1uICdzL1teIF0qIFteIF0qIFwoWzAtOV1bMC05XVwpLiovXDEvcCcgPCAvZXRjLy5yZWxpZGAKKwkvYmluL3VuYW1lIC1wIDI+L2Rldi9udWxsIHwgZ3JlcCA4NiA+L2Rldi9udWxsIFwKKwkgICYmIHsgZWNobyBpNDg2LW5jci1zeXN2NC4zJHtPU19SRUx9OyBleGl0OyB9CisJL2Jpbi91bmFtZSAtcCAyPi9kZXYvbnVsbCB8IC9iaW4vZ3JlcCBlbnRpdW0gPi9kZXYvbnVsbCBcCisJICAmJiB7IGVjaG8gaTU4Ni1uY3Itc3lzdjQuMyR7T1NfUkVMfTsgZXhpdDsgfSA7OworICAgIDNbMzRdPz86Kjo0LjA6KiB8IDNbMzRdPz8sKjoqOjQuMDoqKQorCS9iaW4vdW5hbWUgLXAgMj4vZGV2L251bGwgfCBncmVwIDg2ID4vZGV2L251bGwgXAorCSAgJiYgeyBlY2hvIGk0ODYtbmNyLXN5c3Y0OyBleGl0OyB9IDs7CisgICAgTkNSKjoqOjQuMjoqIHwgTVBSQVMqOio6NC4yOiopCisJT1NfUkVMPScuMycKKwl0ZXN0IC1yIC9ldGMvLnJlbGlkIFwKKwkgICAgJiYgT1NfUkVMPS5gc2VkIC1uICdzL1teIF0qIFteIF0qIFwoWzAtOV1bMC05XVwpLiovXDEvcCcgPCAvZXRjLy5yZWxpZGAKKwkvYmluL3VuYW1lIC1wIDI+L2Rldi9udWxsIHwgZ3JlcCA4NiA+L2Rldi9udWxsIFwKKwkgICAgJiYgeyBlY2hvIGk0ODYtbmNyLXN5c3Y0LjMke09TX1JFTH07IGV4aXQ7IH0KKwkvYmluL3VuYW1lIC1wIDI+L2Rldi9udWxsIHwgL2Jpbi9ncmVwIGVudGl1bSA+L2Rldi9udWxsIFwKKwkgICAgJiYgeyBlY2hvIGk1ODYtbmNyLXN5c3Y0LjMke09TX1JFTH07IGV4aXQ7IH0KKwkvYmluL3VuYW1lIC1wIDI+L2Rldi9udWxsIHwgL2Jpbi9ncmVwIHB0ZXJvbiA+L2Rldi9udWxsIFwKKwkgICAgJiYgeyBlY2hvIGk1ODYtbmNyLXN5c3Y0LjMke09TX1JFTH07IGV4aXQ7IH0gOzsKKyAgICBtNjgqOkx5bnhPUzoyLio6KiB8IG02OCo6THlueE9TOjMuMCo6KikKKwllY2hvIG02OGstdW5rbm93bi1seW54b3Mke1VOQU1FX1JFTEVBU0V9CisJZXhpdCA7OworICAgIG1jNjgwMzA6VU5JWF9TeXN0ZW1fVjo0Lio6KikKKwllY2hvIG02OGstYXRhcmktc3lzdjQKKwlleGl0IDs7CisgICAgVFNVTkFNSTpMeW54T1M6Mi4qOiopCisJZWNobyBzcGFyYy11bmtub3duLWx5bnhvcyR7VU5BTUVfUkVMRUFTRX0KKwlleGl0IDs7CisgICAgcnM2MDAwOkx5bnhPUzoyLio6KikKKwllY2hvIHJzNjAwMC11bmtub3duLWx5bnhvcyR7VU5BTUVfUkVMRUFTRX0KKwlleGl0IDs7CisgICAgUG93ZXJQQzpMeW54T1M6Mi4qOiogfCBQb3dlclBDOkx5bnhPUzozLlswMV0qOiogfCBQb3dlclBDOkx5bnhPUzo0LlswMl0qOiopCisJZWNobyBwb3dlcnBjLXVua25vd24tbHlueG9zJHtVTkFNRV9SRUxFQVNFfQorCWV4aXQgOzsKKyAgICBTTVtCRV1TOlVOSVhfU1Y6KjoqKQorCWVjaG8gbWlwcy1kZGUtc3lzdiR7VU5BTUVfUkVMRUFTRX0KKwlleGl0IDs7CisgICAgUk0qOlJlbGlhbnRVTklYLSo6KjoqKQorCWVjaG8gbWlwcy1zbmktc3lzdjQKKwlleGl0IDs7CisgICAgUk0qOlNJTklYLSo6KjoqKQorCWVjaG8gbWlwcy1zbmktc3lzdjQKKwlleGl0IDs7CisgICAgKjpTSU5JWC0qOio6KikKKwlpZiB1bmFtZSAtcCAyPi9kZXYvbnVsbCA+L2Rldi9udWxsIDsgdGhlbgorCQlVTkFNRV9NQUNISU5FPWAodW5hbWUgLXApIDI+L2Rldi9udWxsYAorCQllY2hvICR7VU5BTUVfTUFDSElORX0tc25pLXN5c3Y0CisJZWxzZQorCQllY2hvIG5zMzJrLXNuaS1zeXN2CisJZmkKKwlleGl0IDs7CisgICAgUEVOVElVTToqOjQuMCo6KikJIyBVbmlzeXMgYENsZWFyUGF0aCBITVAgSVggNDAwMCcgU1ZSNC9NUCBlZmZvcnQKKwkJCSMgc2F5cyA8UmljaGFyZC5NLkJhcnRlbEBjY01haWwuQ2Vuc3VzLkdPVj4KKwllY2hvIGk1ODYtdW5pc3lzLXN5c3Y0CisJZXhpdCA7OworICAgICo6VU5JWF9TeXN0ZW1fVjo0KjpGVFgqKQorCSMgRnJvbSBHZXJhbGQgSGV3ZXMgPGhld2VzQG9wZW5tYXJrZXQuY29tPi4KKwkjIEhvdyBhYm91dCBkaWZmZXJlbnRpYXRpbmcgYmV0d2VlbiBzdHJhdHVzIGFyY2hpdGVjdHVyZXM/IC1kam0KKwllY2hvIGhwcGExLjEtc3RyYXR1cy1zeXN2NAorCWV4aXQgOzsKKyAgICAqOio6KjpGVFgqKQorCSMgRnJvbSBzZWFuZkBzd2RjLnN0cmF0dXMuY29tLgorCWVjaG8gaTg2MC1zdHJhdHVzLXN5c3Y0CisJZXhpdCA7OworICAgIGkqODY6Vk9TOio6KikKKwkjIEZyb20gUGF1bC5HcmVlbkBzdHJhdHVzLmNvbS4KKwllY2hvICR7VU5BTUVfTUFDSElORX0tc3RyYXR1cy12b3MKKwlleGl0IDs7CisgICAgKjpWT1M6KjoqKQorCSMgRnJvbSBQYXVsLkdyZWVuQHN0cmF0dXMuY29tLgorCWVjaG8gaHBwYTEuMS1zdHJhdHVzLXZvcworCWV4aXQgOzsKKyAgICBtYzY4KjpBL1VYOio6KikKKwllY2hvIG02OGstYXBwbGUtYXV4JHtVTkFNRV9SRUxFQVNFfQorCWV4aXQgOzsKKyAgICBuZXdzKjpORVdTLU9TOjYqOiopCisJZWNobyBtaXBzLXNvbnktbmV3c29zNgorCWV4aXQgOzsKKyAgICBSWzM0XTAwMDoqU3lzdGVtX1YqOio6KiB8IFI0MDAwOlVOSVhfU1lTVjoqOiogfCBSKjAwMDpVTklYX1NWOio6KikKKwlpZiBbIC1kIC91c3IvbmVjIF07IHRoZW4KKwkJZWNobyBtaXBzLW5lYy1zeXN2JHtVTkFNRV9SRUxFQVNFfQorCWVsc2UKKwkJZWNobyBtaXBzLXVua25vd24tc3lzdiR7VU5BTUVfUkVMRUFTRX0KKwlmaQorCWV4aXQgOzsKKyAgICBCZUJveDpCZU9TOio6KikJIyBCZU9TIHJ1bm5pbmcgb24gaGFyZHdhcmUgbWFkZSBieSBCZSwgUFBDIG9ubHkuCisJZWNobyBwb3dlcnBjLWJlLWJlb3MKKwlleGl0IDs7CisgICAgQmVNYWM6QmVPUzoqOiopCSMgQmVPUyBydW5uaW5nIG9uIE1hYyBvciBNYWMgY2xvbmUsIFBQQyBvbmx5LgorCWVjaG8gcG93ZXJwYy1hcHBsZS1iZW9zCisJZXhpdCA7OworICAgIEJlUEM6QmVPUzoqOiopCSMgQmVPUyBydW5uaW5nIG9uIEludGVsIFBDIGNvbXBhdGlibGUuCisJZWNobyBpNTg2LXBjLWJlb3MKKwlleGl0IDs7CisgICAgQmVQQzpIYWlrdToqOiopCSMgSGFpa3UgcnVubmluZyBvbiBJbnRlbCBQQyBjb21wYXRpYmxlLgorCWVjaG8gaTU4Ni1wYy1oYWlrdQorCWV4aXQgOzsKKyAgICBTWC00OlNVUEVSLVVYOio6KikKKwllY2hvIHN4NC1uZWMtc3VwZXJ1eCR7VU5BTUVfUkVMRUFTRX0KKwlleGl0IDs7CisgICAgU1gtNTpTVVBFUi1VWDoqOiopCisJZWNobyBzeDUtbmVjLXN1cGVydXgke1VOQU1FX1JFTEVBU0V9CisJZXhpdCA7OworICAgIFNYLTY6U1VQRVItVVg6KjoqKQorCWVjaG8gc3g2LW5lYy1zdXBlcnV4JHtVTkFNRV9SRUxFQVNFfQorCWV4aXQgOzsKKyAgICBTWC03OlNVUEVSLVVYOio6KikKKwllY2hvIHN4Ny1uZWMtc3VwZXJ1eCR7VU5BTUVfUkVMRUFTRX0KKwlleGl0IDs7CisgICAgU1gtODpTVVBFUi1VWDoqOiopCisJZWNobyBzeDgtbmVjLXN1cGVydXgke1VOQU1FX1JFTEVBU0V9CisJZXhpdCA7OworICAgIFNYLThSOlNVUEVSLVVYOio6KikKKwllY2hvIHN4OHItbmVjLXN1cGVydXgke1VOQU1FX1JFTEVBU0V9CisJZXhpdCA7OworICAgIFBvd2VyKjpSaGFwc29keToqOiopCisJZWNobyBwb3dlcnBjLWFwcGxlLXJoYXBzb2R5JHtVTkFNRV9SRUxFQVNFfQorCWV4aXQgOzsKKyAgICAqOlJoYXBzb2R5Oio6KikKKwllY2hvICR7VU5BTUVfTUFDSElORX0tYXBwbGUtcmhhcHNvZHkke1VOQU1FX1JFTEVBU0V9CisJZXhpdCA7OworICAgICo6RGFyd2luOio6KikKKwlVTkFNRV9QUk9DRVNTT1I9YHVuYW1lIC1wYCB8fCBVTkFNRV9QUk9DRVNTT1I9dW5rbm93bgorCWNhc2UgJFVOQU1FX1BST0NFU1NPUiBpbgorCSAgICBpMzg2KQorCQlldmFsICRzZXRfY2NfZm9yX2J1aWxkCisJCWlmIFsgIiRDQ19GT1JfQlVJTEQiICE9ICdub19jb21waWxlcl9mb3VuZCcgXTsgdGhlbgorCQkgIGlmIChlY2hvICcjaWZkZWYgX19MUDY0X18nOyBlY2hvIElTXzY0QklUX0FSQ0g7IGVjaG8gJyNlbmRpZicpIHwgXAorCQkgICAgICAoQ0NPUFRTPSAkQ0NfRk9SX0JVSUxEIC1FIC0gMj4vZGV2L251bGwpIHwgXAorCQkgICAgICBncmVwIElTXzY0QklUX0FSQ0ggPi9kZXYvbnVsbAorCQkgIHRoZW4KKwkJICAgICAgVU5BTUVfUFJPQ0VTU09SPSJ4ODZfNjQiCisJCSAgZmkKKwkJZmkgOzsKKwkgICAgdW5rbm93bikgVU5BTUVfUFJPQ0VTU09SPXBvd2VycGMgOzsKKwllc2FjCisJZWNobyAke1VOQU1FX1BST0NFU1NPUn0tYXBwbGUtZGFyd2luJHtVTkFNRV9SRUxFQVNFfQorCWV4aXQgOzsKKyAgICAqOnByb2NudG8qOio6KiB8ICo6UU5YOlswMTIzNDU2Nzg5XSo6KikKKwlVTkFNRV9QUk9DRVNTT1I9YHVuYW1lIC1wYAorCWlmIHRlc3QgIiRVTkFNRV9QUk9DRVNTT1IiID0gIng4NiI7IHRoZW4KKwkJVU5BTUVfUFJPQ0VTU09SPWkzODYKKwkJVU5BTUVfTUFDSElORT1wYworCWZpCisJZWNobyAke1VOQU1FX1BST0NFU1NPUn0tJHtVTkFNRV9NQUNISU5FfS1udG8tcW54JHtVTkFNRV9SRUxFQVNFfQorCWV4aXQgOzsKKyAgICAqOlFOWDoqOjQqKQorCWVjaG8gaTM4Ni1wYy1xbngKKwlleGl0IDs7CisgICAgTkVPLT86Tk9OU1RPUF9LRVJORUw6KjoqKQorCWVjaG8gbmVvLXRhbmRlbS1uc2ske1VOQU1FX1JFTEVBU0V9CisJZXhpdCA7OworICAgIE5TRS0/Ok5PTlNUT1BfS0VSTkVMOio6KikKKwllY2hvIG5zZS10YW5kZW0tbnNrJHtVTkFNRV9SRUxFQVNFfQorCWV4aXQgOzsKKyAgICBOU1ItPzpOT05TVE9QX0tFUk5FTDoqOiopCisJZWNobyBuc3ItdGFuZGVtLW5zayR7VU5BTUVfUkVMRUFTRX0KKwlleGl0IDs7CisgICAgKjpOb25TdG9wLVVYOio6KikKKwllY2hvIG1pcHMtY29tcGFxLW5vbnN0b3B1eAorCWV4aXQgOzsKKyAgICBCUzIwMDA6UE9TSVgqOio6KikKKwllY2hvIGJzMjAwMC1zaWVtZW5zLXN5c3YKKwlleGl0IDs7CisgICAgRFMvKjpVTklYX1N5c3RlbV9WOio6KikKKwllY2hvICR7VU5BTUVfTUFDSElORX0tJHtVTkFNRV9TWVNURU19LSR7VU5BTUVfUkVMRUFTRX0KKwlleGl0IDs7CisgICAgKjpQbGFuOToqOiopCisJIyAidW5hbWUgLW0iIGlzIG5vdCBjb25zaXN0ZW50LCBzbyB1c2UgJGNwdXR5cGUgaW5zdGVhZC4gMzg2CisJIyBpcyBjb252ZXJ0ZWQgdG8gaTM4NiBmb3IgY29uc2lzdGVuY3kgd2l0aCBvdGhlciB4ODYKKwkjIG9wZXJhdGluZyBzeXN0ZW1zLgorCWlmIHRlc3QgIiRjcHV0eXBlIiA9ICIzODYiOyB0aGVuCisJICAgIFVOQU1FX01BQ0hJTkU9aTM4NgorCWVsc2UKKwkgICAgVU5BTUVfTUFDSElORT0iJGNwdXR5cGUiCisJZmkKKwllY2hvICR7VU5BTUVfTUFDSElORX0tdW5rbm93bi1wbGFuOQorCWV4aXQgOzsKKyAgICAqOlRPUFMtMTA6KjoqKQorCWVjaG8gcGRwMTAtdW5rbm93bi10b3BzMTAKKwlleGl0IDs7CisgICAgKjpURU5FWDoqOiopCisJZWNobyBwZHAxMC11bmtub3duLXRlbmV4CisJZXhpdCA7OworICAgIEtTMTA6VE9QUy0yMDoqOiogfCBLTDEwOlRPUFMtMjA6KjoqIHwgVFlQRTQ6VE9QUy0yMDoqOiopCisJZWNobyBwZHAxMC1kZWMtdG9wczIwCisJZXhpdCA7OworICAgIFhLTC0xOlRPUFMtMjA6KjoqIHwgVFlQRTU6VE9QUy0yMDoqOiopCisJZWNobyBwZHAxMC14a2wtdG9wczIwCisJZXhpdCA7OworICAgICo6VE9QUy0yMDoqOiopCisJZWNobyBwZHAxMC11bmtub3duLXRvcHMyMAorCWV4aXQgOzsKKyAgICAqOklUUzoqOiopCisJZWNobyBwZHAxMC11bmtub3duLWl0cworCWV4aXQgOzsKKyAgICBTRUk6KjoqOlNFSVVYKQorCWVjaG8gbWlwcy1zZWktc2VpdXgke1VOQU1FX1JFTEVBU0V9CisJZXhpdCA7OworICAgICo6RHJhZ29uRmx5Oio6KikKKwllY2hvICR7VU5BTUVfTUFDSElORX0tdW5rbm93bi1kcmFnb25mbHlgZWNobyAke1VOQU1FX1JFTEVBU0V9fHNlZCAtZSAncy9bLShdLiovLydgCisJZXhpdCA7OworICAgICo6KlZNUzoqOiopCisJVU5BTUVfTUFDSElORT1gKHVuYW1lIC1wKSAyPi9kZXYvbnVsbGAKKwljYXNlICIke1VOQU1FX01BQ0hJTkV9IiBpbgorCSAgICBBKikgZWNobyBhbHBoYS1kZWMtdm1zIDsgZXhpdCA7OworCSAgICBJKikgZWNobyBpYTY0LWRlYy12bXMgOyBleGl0IDs7CisJICAgIFYqKSBlY2hvIHZheC1kZWMtdm1zIDsgZXhpdCA7OworCWVzYWMgOzsKKyAgICAqOlhFTklYOio6U3lzVikKKwllY2hvIGkzODYtcGMteGVuaXgKKwlleGl0IDs7CisgICAgaSo4Njpza3lvczoqOiopCisJZWNobyAke1VOQU1FX01BQ0hJTkV9LXBjLXNreW9zYGVjaG8gJHtVTkFNRV9SRUxFQVNFfWAgfCBzZWQgLWUgJ3MvIC4qJC8vJworCWV4aXQgOzsKKyAgICBpKjg2OnJkb3M6KjoqKQorCWVjaG8gJHtVTkFNRV9NQUNISU5FfS1wYy1yZG9zCisJZXhpdCA7OworICAgIGkqODY6QVJPUzoqOiopCisJZWNobyAke1VOQU1FX01BQ0hJTkV9LXBjLWFyb3MKKwlleGl0IDs7CisgICAgeDg2XzY0OlZNa2VybmVsOio6KikKKwllY2hvICR7VU5BTUVfTUFDSElORX0tdW5rbm93bi1lc3gKKwlleGl0IDs7Citlc2FjCisKKyNlY2hvICcoTm8gdW5hbWUgY29tbWFuZCBvciB1bmFtZSBvdXRwdXQgbm90IHJlY29nbml6ZWQuKScgMT4mMgorI2VjaG8gIiR7VU5BTUVfTUFDSElORX06JHtVTkFNRV9TWVNURU19OiR7VU5BTUVfUkVMRUFTRX06JHtVTkFNRV9WRVJTSU9OfSIgMT4mMgorCitldmFsICRzZXRfY2NfZm9yX2J1aWxkCitjYXQgPiRkdW1teS5jIDw8RU9GCisjaWZkZWYgX1NFUVVFTlRfCisjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgorIyBpbmNsdWRlIDxzeXMvdXRzbmFtZS5oPgorI2VuZGlmCittYWluICgpCit7CisjaWYgZGVmaW5lZCAoc29ueSkKKyNpZiBkZWZpbmVkIChNSVBTRUIpCisgIC8qIEJGRCB3YW50cyAiYnNkIiBpbnN0ZWFkIG9mICJuZXdzb3MiLiAgUGVyaGFwcyBCRkQgc2hvdWxkIGJlIGNoYW5nZWQsCisgICAgIEkgZG9uJ3Qga25vdy4uLi4gICovCisgIHByaW50ZiAoIm1pcHMtc29ueS1ic2RcbiIpOyBleGl0ICgwKTsKKyNlbHNlCisjaW5jbHVkZSA8c3lzL3BhcmFtLmg+CisgIHByaW50ZiAoIm02OGstc29ueS1uZXdzb3Mlc1xuIiwKKyNpZmRlZiBORVdTT1M0CisJIjQiCisjZWxzZQorCSIiCisjZW5kaWYKKwkpOyBleGl0ICgwKTsKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkIChfX2FybSkgJiYgZGVmaW5lZCAoX19hY29ybikgJiYgZGVmaW5lZCAoX191bml4KQorICBwcmludGYgKCJhcm0tYWNvcm4tcmlzY2l4XG4iKTsgZXhpdCAoMCk7CisjZW5kaWYKKworI2lmIGRlZmluZWQgKGhwMzAwKSAmJiAhZGVmaW5lZCAoaHB1eCkKKyAgcHJpbnRmICgibTY4ay1ocC1ic2RcbiIpOyBleGl0ICgwKTsKKyNlbmRpZgorCisjaWYgZGVmaW5lZCAoTmVYVCkKKyNpZiAhZGVmaW5lZCAoX19BUkNISVRFQ1RVUkVfXykKKyNkZWZpbmUgX19BUkNISVRFQ1RVUkVfXyAibTY4ayIKKyNlbmRpZgorICBpbnQgdmVyc2lvbjsKKyAgdmVyc2lvbj1gKGhvc3RpbmZvIHwgc2VkIC1uICdzLy4qTmVYVCBNYWNoIFwoWzAtOV0qXCkuKi9cMS9wJykgMj4vZGV2L251bGxgOworICBpZiAodmVyc2lvbiA8IDQpCisgICAgcHJpbnRmICgiJXMtbmV4dC1uZXh0c3RlcCVkXG4iLCBfX0FSQ0hJVEVDVFVSRV9fLCB2ZXJzaW9uKTsKKyAgZWxzZQorICAgIHByaW50ZiAoIiVzLW5leHQtb3BlbnN0ZXAlZFxuIiwgX19BUkNISVRFQ1RVUkVfXywgdmVyc2lvbik7CisgIGV4aXQgKDApOworI2VuZGlmCisKKyNpZiBkZWZpbmVkIChNVUxUSU1BWCkgfHwgZGVmaW5lZCAobjE2KQorI2lmIGRlZmluZWQgKFVNQVhWKQorICBwcmludGYgKCJuczMyay1lbmNvcmUtc3lzdlxuIik7IGV4aXQgKDApOworI2Vsc2UKKyNpZiBkZWZpbmVkIChDTVUpCisgIHByaW50ZiAoIm5zMzJrLWVuY29yZS1tYWNoXG4iKTsgZXhpdCAoMCk7CisjZWxzZQorICBwcmludGYgKCJuczMyay1lbmNvcmUtYnNkXG4iKTsgZXhpdCAoMCk7CisjZW5kaWYKKyNlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkIChfXzM4NkJTRF9fKQorICBwcmludGYgKCJpMzg2LXBjLWJzZFxuIik7IGV4aXQgKDApOworI2VuZGlmCisKKyNpZiBkZWZpbmVkIChzZXF1ZW50KQorI2lmIGRlZmluZWQgKGkzODYpCisgIHByaW50ZiAoImkzODYtc2VxdWVudC1keW5peFxuIik7IGV4aXQgKDApOworI2VuZGlmCisjaWYgZGVmaW5lZCAobnMzMjAwMCkKKyAgcHJpbnRmICgibnMzMmstc2VxdWVudC1keW5peFxuIik7IGV4aXQgKDApOworI2VuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQgKF9TRVFVRU5UXykKKyAgICBzdHJ1Y3QgdXRzbmFtZSB1bjsKKworICAgIHVuYW1lKCZ1bik7CisKKyAgICBpZiAoc3RybmNtcCh1bi52ZXJzaW9uLCAiVjIiLCAyKSA9PSAwKSB7CisJcHJpbnRmICgiaTM4Ni1zZXF1ZW50LXB0eDJcbiIpOyBleGl0ICgwKTsKKyAgICB9CisgICAgaWYgKHN0cm5jbXAodW4udmVyc2lvbiwgIlYxIiwgMikgPT0gMCkgeyAvKiBYWFggaXMgVjEgY29ycmVjdD8gKi8KKwlwcmludGYgKCJpMzg2LXNlcXVlbnQtcHR4MVxuIik7IGV4aXQgKDApOworICAgIH0KKyAgICBwcmludGYgKCJpMzg2LXNlcXVlbnQtcHR4XG4iKTsgZXhpdCAoMCk7CisKKyNlbmRpZgorCisjaWYgZGVmaW5lZCAodmF4KQorIyBpZiAhZGVmaW5lZCAodWx0cml4KQorIyAgaW5jbHVkZSA8c3lzL3BhcmFtLmg+CisjICBpZiBkZWZpbmVkIChCU0QpCisjICAgaWYgQlNEID09IDQzCisgICAgICBwcmludGYgKCJ2YXgtZGVjLWJzZDQuM1xuIik7IGV4aXQgKDApOworIyAgIGVsc2UKKyMgICAgaWYgQlNEID09IDE5OTAwNgorICAgICAgcHJpbnRmICgidmF4LWRlYy1ic2Q0LjNyZW5vXG4iKTsgZXhpdCAoMCk7CisjICAgIGVsc2UKKyAgICAgIHByaW50ZiAoInZheC1kZWMtYnNkXG4iKTsgZXhpdCAoMCk7CisjICAgIGVuZGlmCisjICAgZW5kaWYKKyMgIGVsc2UKKyAgICBwcmludGYgKCJ2YXgtZGVjLWJzZFxuIik7IGV4aXQgKDApOworIyAgZW5kaWYKKyMgZWxzZQorICAgIHByaW50ZiAoInZheC1kZWMtdWx0cml4XG4iKTsgZXhpdCAoMCk7CisjIGVuZGlmCisjZW5kaWYKKworI2lmIGRlZmluZWQgKGFsbGlhbnQpICYmIGRlZmluZWQgKGk4NjApCisgIHByaW50ZiAoImk4NjAtYWxsaWFudC1ic2RcbiIpOyBleGl0ICgwKTsKKyNlbmRpZgorCisgIGV4aXQgKDEpOworfQorRU9GCisKKyRDQ19GT1JfQlVJTEQgLW8gJGR1bW15ICRkdW1teS5jIDI+L2Rldi9udWxsICYmIFNZU1RFTV9OQU1FPWAkZHVtbXlgICYmCisJeyBlY2hvICIkU1lTVEVNX05BTUUiOyBleGl0OyB9CisKKyMgQXBvbGxvcyBwdXQgdGhlIHN5c3RlbSB0eXBlIGluIHRoZSBlbnZpcm9ubWVudC4KKwordGVzdCAtZCAvdXNyL2Fwb2xsbyAmJiB7IGVjaG8gJHtJU1B9LWFwb2xsby0ke1NZU1RZUEV9OyBleGl0OyB9CisKKyMgQ29udmV4IHZlcnNpb25zIHRoYXQgcHJlZGF0ZSB1bmFtZSBjYW4gdXNlIGdldHN5c2luZm8oMSkKKworaWYgWyAteCAvdXNyL2NvbnZleC9nZXRzeXNpbmZvIF0KK3RoZW4KKyAgICBjYXNlIGBnZXRzeXNpbmZvIC1mIGNwdV90eXBlYCBpbgorICAgIGMxKikKKwllY2hvIGMxLWNvbnZleC1ic2QKKwlleGl0IDs7CisgICAgYzIqKQorCWlmIGdldHN5c2luZm8gLWYgc2NhbGFyX2FjYworCXRoZW4gZWNobyBjMzItY29udmV4LWJzZAorCWVsc2UgZWNobyBjMi1jb252ZXgtYnNkCisJZmkKKwlleGl0IDs7CisgICAgYzM0KikKKwllY2hvIGMzNC1jb252ZXgtYnNkCisJZXhpdCA7OworICAgIGMzOCopCisJZWNobyBjMzgtY29udmV4LWJzZAorCWV4aXQgOzsKKyAgICBjNCopCisJZWNobyBjNC1jb252ZXgtYnNkCisJZXhpdCA7OworICAgIGVzYWMKK2ZpCisKK2NhdCA+JjIgPDxFT0YKKyQwOiB1bmFibGUgdG8gZ3Vlc3Mgc3lzdGVtIHR5cGUKKworVGhpcyBzY3JpcHQsIGxhc3QgbW9kaWZpZWQgJHRpbWVzdGFtcCwgaGFzIGZhaWxlZCB0byByZWNvZ25pemUKK3RoZSBvcGVyYXRpbmcgc3lzdGVtIHlvdSBhcmUgdXNpbmcuIEl0IGlzIGFkdmlzZWQgdGhhdCB5b3UKK2Rvd25sb2FkIHRoZSBtb3N0IHVwIHRvIGRhdGUgdmVyc2lvbiBvZiB0aGUgY29uZmlnIHNjcmlwdHMgZnJvbQorCisgIGh0dHA6Ly9naXQuc2F2YW5uYWguZ251Lm9yZy9naXR3ZWIvP3A9Y29uZmlnLmdpdDthPWJsb2JfcGxhaW47Zj1jb25maWcuZ3Vlc3M7aGI9SEVBRAorYW5kCisgIGh0dHA6Ly9naXQuc2F2YW5uYWguZ251Lm9yZy9naXR3ZWIvP3A9Y29uZmlnLmdpdDthPWJsb2JfcGxhaW47Zj1jb25maWcuc3ViO2hiPUhFQUQKKworSWYgdGhlIHZlcnNpb24geW91IHJ1biAoJDApIGlzIGFscmVhZHkgdXAgdG8gZGF0ZSwgcGxlYXNlCitzZW5kIHRoZSBmb2xsb3dpbmcgZGF0YSBhbmQgYW55IGluZm9ybWF0aW9uIHlvdSB0aGluayBtaWdodCBiZQorcGVydGluZW50IHRvIDxjb25maWctcGF0Y2hlc0BnbnUub3JnPiBpbiBvcmRlciB0byBwcm92aWRlIHRoZSBuZWVkZWQKK2luZm9ybWF0aW9uIHRvIGhhbmRsZSB5b3VyIHN5c3RlbS4KKworY29uZmlnLmd1ZXNzIHRpbWVzdGFtcCA9ICR0aW1lc3RhbXAKKwordW5hbWUgLW0gPSBgKHVuYW1lIC1tKSAyPi9kZXYvbnVsbCB8fCBlY2hvIHVua25vd25gCit1bmFtZSAtciA9IGAodW5hbWUgLXIpIDI+L2Rldi9udWxsIHx8IGVjaG8gdW5rbm93bmAKK3VuYW1lIC1zID0gYCh1bmFtZSAtcykgMj4vZGV2L251bGwgfHwgZWNobyB1bmtub3duYAordW5hbWUgLXYgPSBgKHVuYW1lIC12KSAyPi9kZXYvbnVsbCB8fCBlY2hvIHVua25vd25gCisKKy91c3IvYmluL3VuYW1lIC1wID0gYCgvdXNyL2Jpbi91bmFtZSAtcCkgMj4vZGV2L251bGxgCisvYmluL3VuYW1lIC1YICAgICA9IGAoL2Jpbi91bmFtZSAtWCkgMj4vZGV2L251bGxgCisKK2hvc3RpbmZvICAgICAgICAgICAgICAgPSBgKGhvc3RpbmZvKSAyPi9kZXYvbnVsbGAKKy9iaW4vdW5pdmVyc2UgICAgICAgICAgPSBgKC9iaW4vdW5pdmVyc2UpIDI+L2Rldi9udWxsYAorL3Vzci9iaW4vYXJjaCAtayAgICAgICA9IGAoL3Vzci9iaW4vYXJjaCAtaykgMj4vZGV2L251bGxgCisvYmluL2FyY2ggICAgICAgICAgICAgID0gYCgvYmluL2FyY2gpIDI+L2Rldi9udWxsYAorL3Vzci9iaW4vb3NsZXZlbCAgICAgICA9IGAoL3Vzci9iaW4vb3NsZXZlbCkgMj4vZGV2L251bGxgCisvdXNyL2NvbnZleC9nZXRzeXNpbmZvID0gYCgvdXNyL2NvbnZleC9nZXRzeXNpbmZvKSAyPi9kZXYvbnVsbGAKKworVU5BTUVfTUFDSElORSA9ICR7VU5BTUVfTUFDSElORX0KK1VOQU1FX1JFTEVBU0UgPSAke1VOQU1FX1JFTEVBU0V9CitVTkFNRV9TWVNURU0gID0gJHtVTkFNRV9TWVNURU19CitVTkFNRV9WRVJTSU9OID0gJHtVTkFNRV9WRVJTSU9OfQorRU9GCisKK2V4aXQgMQorCisjIExvY2FsIHZhcmlhYmxlczoKKyMgZXZhbDogKGFkZC1ob29rICd3cml0ZS1maWxlLWhvb2tzICd0aW1lLXN0YW1wKQorIyB0aW1lLXN0YW1wLXN0YXJ0OiAidGltZXN0YW1wPSciCisjIHRpbWUtc3RhbXAtZm9ybWF0OiAiJTp5LSUwMm0tJTAyZCIKKyMgdGltZS1zdGFtcC1lbmQ6ICInIgorIyBFbmQ6CmRpZmYgLS1naXQgYS9jb25maWcuc3ViIGIvY29uZmlnLnN1YgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jODk0ZGE0Ci0tLSAvZGV2L251bGwKKysrIGIvY29uZmlnLnN1YgpAQCAtMCwwICsxLDE3NzMgQEAKKyMhIC9iaW4vc2gKKyMgQ29uZmlndXJhdGlvbiB2YWxpZGF0aW9uIHN1YnJvdXRpbmUgc2NyaXB0LgorIyAgIENvcHlyaWdodCAoQykgMTk5MiwgMTk5MywgMTk5NCwgMTk5NSwgMTk5NiwgMTk5NywgMTk5OCwgMTk5OSwKKyMgICAyMDAwLCAyMDAxLCAyMDAyLCAyMDAzLCAyMDA0LCAyMDA1LCAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5LCAyMDEwLAorIyAgIDIwMTEsIDIwMTIgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisKK3RpbWVzdGFtcD0nMjAxMi0wMi0xMCcKKworIyBUaGlzIGZpbGUgaXMgKGluIHByaW5jaXBsZSkgY29tbW9uIHRvIEFMTCBHTlUgc29mdHdhcmUuCisjIFRoZSBwcmVzZW5jZSBvZiBhIG1hY2hpbmUgaW4gdGhpcyBmaWxlIHN1Z2dlc3RzIHRoYXQgU09NRSBHTlUgc29mdHdhcmUKKyMgY2FuIGhhbmRsZSB0aGF0IG1hY2hpbmUuICBJdCBkb2VzIG5vdCBpbXBseSBBTEwgR05VIHNvZnR3YXJlIGNhbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKKyMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKyMKKyMgQXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsIGlmIHlvdQorIyBkaXN0cmlidXRlIHRoaXMgZmlsZSBhcyBwYXJ0IG9mIGEgcHJvZ3JhbSB0aGF0IGNvbnRhaW5zIGEKKyMgY29uZmlndXJhdGlvbiBzY3JpcHQgZ2VuZXJhdGVkIGJ5IEF1dG9jb25mLCB5b3UgbWF5IGluY2x1ZGUgaXQgdW5kZXIKKyMgdGhlIHNhbWUgZGlzdHJpYnV0aW9uIHRlcm1zIHRoYXQgeW91IHVzZSBmb3IgdGhlIHJlc3Qgb2YgdGhhdCBwcm9ncmFtLgorCisKKyMgUGxlYXNlIHNlbmQgcGF0Y2hlcyB0byA8Y29uZmlnLXBhdGNoZXNAZ251Lm9yZz4uICBTdWJtaXQgYSBjb250ZXh0CisjIGRpZmYgYW5kIGEgcHJvcGVybHkgZm9ybWF0dGVkIEdOVSBDaGFuZ2VMb2cgZW50cnkuCisjCisjIENvbmZpZ3VyYXRpb24gc3Vicm91dGluZSB0byB2YWxpZGF0ZSBhbmQgY2Fub25pY2FsaXplIGEgY29uZmlndXJhdGlvbiB0eXBlLgorIyBTdXBwbHkgdGhlIHNwZWNpZmllZCBjb25maWd1cmF0aW9uIHR5cGUgYXMgYW4gYXJndW1lbnQuCisjIElmIGl0IGlzIGludmFsaWQsIHdlIHByaW50IGFuIGVycm9yIG1lc3NhZ2Ugb24gc3RkZXJyIGFuZCBleGl0IHdpdGggY29kZSAxLgorIyBPdGhlcndpc2UsIHdlIHByaW50IHRoZSBjYW5vbmljYWwgY29uZmlnIHR5cGUgb24gc3Rkb3V0IGFuZCBzdWNjZWVkLgorCisjIFlvdSBjYW4gZ2V0IHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIHNjcmlwdCBmcm9tOgorIyBodHRwOi8vZ2l0LnNhdmFubmFoLmdudS5vcmcvZ2l0d2ViLz9wPWNvbmZpZy5naXQ7YT1ibG9iX3BsYWluO2Y9Y29uZmlnLnN1YjtoYj1IRUFECisKKyMgVGhpcyBmaWxlIGlzIHN1cHBvc2VkIHRvIGJlIHRoZSBzYW1lIGZvciBhbGwgR05VIHBhY2thZ2VzCisjIGFuZCByZWNvZ25pemUgYWxsIHRoZSBDUFUgdHlwZXMsIHN5c3RlbSB0eXBlcyBhbmQgYWxpYXNlcworIyB0aGF0IGFyZSBtZWFuaW5nZnVsIHdpdGggKmFueSogR05VIHNvZnR3YXJlLgorIyBFYWNoIHBhY2thZ2UgaXMgcmVzcG9uc2libGUgZm9yIHJlcG9ydGluZyB3aGljaCB2YWxpZCBjb25maWd1cmF0aW9ucworIyBpdCBkb2VzIG5vdCBzdXBwb3J0LiAgVGhlIHVzZXIgc2hvdWxkIGJlIGFibGUgdG8gZGlzdGluZ3Vpc2gKKyMgYSBmYWlsdXJlIHRvIHN1cHBvcnQgYSB2YWxpZCBjb25maWd1cmF0aW9uIGZyb20gYSBtZWFuaW5nbGVzcworIyBjb25maWd1cmF0aW9uLgorCisjIFRoZSBnb2FsIG9mIHRoaXMgZmlsZSBpcyB0byBtYXAgYWxsIHRoZSB2YXJpb3VzIHZhcmlhdGlvbnMgb2YgYSBnaXZlbgorIyBtYWNoaW5lIHNwZWNpZmljYXRpb24gaW50byBhIHNpbmdsZSBzcGVjaWZpY2F0aW9uIGluIHRoZSBmb3JtOgorIwlDUFVfVFlQRS1NQU5VRkFDVFVSRVItT1BFUkFUSU5HX1NZU1RFTQorIyBvciBpbiBzb21lIGNhc2VzLCB0aGUgbmV3ZXIgZm91ci1wYXJ0IGZvcm06CisjCUNQVV9UWVBFLU1BTlVGQUNUVVJFUi1LRVJORUwtT1BFUkFUSU5HX1NZU1RFTQorIyBJdCBpcyB3cm9uZyB0byBlY2hvIGFueSBvdGhlciB0eXBlIG9mIHNwZWNpZmljYXRpb24uCisKK21lPWBlY2hvICIkMCIgfCBzZWQgLWUgJ3MsLiovLCwnYAorCit1c2FnZT0iXAorVXNhZ2U6ICQwIFtPUFRJT05dIENQVS1NRlItT1BTWVMKKyAgICAgICAkMCBbT1BUSU9OXSBBTElBUworCitDYW5vbmljYWxpemUgYSBjb25maWd1cmF0aW9uIG5hbWUuCisKK09wZXJhdGlvbiBtb2RlczoKKyAgLWgsIC0taGVscCAgICAgICAgIHByaW50IHRoaXMgaGVscCwgdGhlbiBleGl0CisgIC10LCAtLXRpbWUtc3RhbXAgICBwcmludCBkYXRlIG9mIGxhc3QgbW9kaWZpY2F0aW9uLCB0aGVuIGV4aXQKKyAgLXYsIC0tdmVyc2lvbiAgICAgIHByaW50IHZlcnNpb24gbnVtYmVyLCB0aGVuIGV4aXQKKworUmVwb3J0IGJ1Z3MgYW5kIHBhdGNoZXMgdG8gPGNvbmZpZy1wYXRjaGVzQGdudS5vcmc+LiIKKwordmVyc2lvbj0iXAorR05VIGNvbmZpZy5zdWIgKCR0aW1lc3RhbXApCisKK0NvcHlyaWdodCAoQykgMTk5MiwgMTk5MywgMTk5NCwgMTk5NSwgMTk5NiwgMTk5NywgMTk5OCwgMTk5OSwgMjAwMCwKKzIwMDEsIDIwMDIsIDIwMDMsIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDcsIDIwMDgsIDIwMDksIDIwMTAsIDIwMTEsIDIwMTIKK0ZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorCitUaGlzIGlzIGZyZWUgc29mdHdhcmU7IHNlZSB0aGUgc291cmNlIGZvciBjb3B5aW5nIGNvbmRpdGlvbnMuICBUaGVyZSBpcyBOTword2FycmFudHk7IG5vdCBldmVuIGZvciBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIgorCitoZWxwPSIKK1RyeSBcYCRtZSAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLiIKKworIyBQYXJzZSBjb21tYW5kIGxpbmUKK3doaWxlIHRlc3QgJCMgLWd0IDAgOyBkbworICBjYXNlICQxIGluCisgICAgLS10aW1lLXN0YW1wIHwgLS10aW1lKiB8IC10ICkKKyAgICAgICBlY2hvICIkdGltZXN0YW1wIiA7IGV4aXQgOzsKKyAgICAtLXZlcnNpb24gfCAtdiApCisgICAgICAgZWNobyAiJHZlcnNpb24iIDsgZXhpdCA7OworICAgIC0taGVscCB8IC0taCogfCAtaCApCisgICAgICAgZWNobyAiJHVzYWdlIjsgZXhpdCA7OworICAgIC0tICkgICAgICMgU3RvcCBvcHRpb24gcHJvY2Vzc2luZworICAgICAgIHNoaWZ0OyBicmVhayA7OworICAgIC0gKQkjIFVzZSBzdGRpbiBhcyBpbnB1dC4KKyAgICAgICBicmVhayA7OworICAgIC0qICkKKyAgICAgICBlY2hvICIkbWU6IGludmFsaWQgb3B0aW9uICQxJGhlbHAiCisgICAgICAgZXhpdCAxIDs7CisKKyAgICAqbG9jYWwqKQorICAgICAgICMgRmlyc3QgcGFzcyB0aHJvdWdoIGFueSBsb2NhbCBtYWNoaW5lIHR5cGVzLgorICAgICAgIGVjaG8gJDEKKyAgICAgICBleGl0IDs7CisKKyAgICAqICkKKyAgICAgICBicmVhayA7OworICBlc2FjCitkb25lCisKK2Nhc2UgJCMgaW4KKyAwKSBlY2hvICIkbWU6IG1pc3NpbmcgYXJndW1lbnQkaGVscCIgPiYyCisgICAgZXhpdCAxOzsKKyAxKSA7OworICopIGVjaG8gIiRtZTogdG9vIG1hbnkgYXJndW1lbnRzJGhlbHAiID4mMgorICAgIGV4aXQgMTs7Citlc2FjCisKKyMgU2VwYXJhdGUgd2hhdCB0aGUgdXNlciBnYXZlIGludG8gQ1BVLUNPTVBBTlkgYW5kIE9TIG9yIEtFUk5FTC1PUyAoaWYgYW55KS4KKyMgSGVyZSB3ZSBtdXN0IHJlY29nbml6ZSBhbGwgdGhlIHZhbGlkIEtFUk5FTC1PUyBjb21iaW5hdGlvbnMuCittYXliZV9vcz1gZWNobyAkMSB8IHNlZCAncy9eXCguKlwpLVwoW14tXSotW14tXSpcKSQvXDIvJ2AKK2Nhc2UgJG1heWJlX29zIGluCisgIG50by1xbngqIHwgbGludXgtZ251KiB8IGxpbnV4LWFuZHJvaWQqIHwgbGludXgtZGlldGxpYmMgfCBsaW51eC1uZXdsaWIqIHwgXAorICBsaW51eC11Y2xpYmMqIHwgdWNsaW51eC11Y2xpYmMqIHwgdWNsaW51eC1nbnUqIHwga2ZyZWVic2QqLWdudSogfCBcCisgIGtuZXRic2QqLWdudSogfCBuZXRic2QqLWdudSogfCBcCisgIGtvcGVuc29sYXJpcyotZ251KiB8IFwKKyAgc3Rvcm0tY2hhb3MqIHwgb3MyLWVteCogfCBydG1rLW5vdmEqKQorICAgIG9zPS0kbWF5YmVfb3MKKyAgICBiYXNpY19tYWNoaW5lPWBlY2hvICQxIHwgc2VkICdzL15cKC4qXCktXChbXi1dKi1bXi1dKlwpJC9cMS8nYAorICAgIDs7CisgIGFuZHJvaWQtbGludXgpCisgICAgb3M9LWxpbnV4LWFuZHJvaWQKKyAgICBiYXNpY19tYWNoaW5lPWBlY2hvICQxIHwgc2VkICdzL15cKC4qXCktXChbXi1dKi1bXi1dKlwpJC9cMS8nYC11bmtub3duCisgICAgOzsKKyAgKikKKyAgICBiYXNpY19tYWNoaW5lPWBlY2hvICQxIHwgc2VkICdzLy1bXi1dKiQvLydgCisgICAgaWYgWyAkYmFzaWNfbWFjaGluZSAhPSAkMSBdCisgICAgdGhlbiBvcz1gZWNobyAkMSB8IHNlZCAncy8uKi0vLS8nYAorICAgIGVsc2Ugb3M9OyBmaQorICAgIDs7Citlc2FjCisKKyMjIyBMZXQncyByZWNvZ25pemUgY29tbW9uIG1hY2hpbmVzIGFzIG5vdCBiZWluZyBvcGVyYXRpbmcgc3lzdGVtcyBzbworIyMjIHRoYXQgdGhpbmdzIGxpa2UgY29uZmlnLnN1YiBkZWNzdGF0aW9uLTMxMDAgd29yay4gIFdlIGFsc28KKyMjIyByZWNvZ25pemUgc29tZSBtYW51ZmFjdHVyZXJzIGFzIG5vdCBiZWluZyBvcGVyYXRpbmcgc3lzdGVtcywgc28gd2UKKyMjIyBjYW4gcHJvdmlkZSBkZWZhdWx0IG9wZXJhdGluZyBzeXN0ZW1zIGJlbG93LgorY2FzZSAkb3MgaW4KKwktc3VuKm9zKikKKwkJIyBQcmV2ZW50IGZvbGxvd2luZyBjbGF1c2UgZnJvbSBoYW5kbGluZyB0aGlzIGludmFsaWQgaW5wdXQuCisJCTs7CisJLWRlYyogfCAtbWlwcyogfCAtc2VxdWVudCogfCAtZW5jb3JlKiB8IC1wYzUzMiogfCAtc2dpKiB8IC1zb255KiB8IFwKKwktYXR0KiB8IC03MzAwKiB8IC0zMzAwKiB8IC1kZWx0YSogfCAtbW90b3JvbGEqIHwgLXN1blsyMzRdKiB8IFwKKwktdW5pY29tKiB8IC1pYm0qIHwgLW5leHQgfCAtaHAgfCAtaXNpKiB8IC1hcG9sbG8gfCAtYWx0b3MqIHwgXAorCS1jb252ZXJnZW50KiB8IC1uY3IqIHwgLW5ld3MgfCAtMzIqIHwgLTM2MDAqIHwgLTMxMDAqIHwgLWhpdGFjaGkqIHxcCisJLWNbMTIzXSogfCAtY29udmV4KiB8IC1zdW4gfCAtY3JkcyB8IC1vbXJvbiogfCAtZGcgfCAtdWx0cmEgfCAtdHRpKiB8IFwKKwktaGFycmlzIHwgLWRvbHBoaW4gfCAtaGlnaGxldmVsIHwgLWdvdWxkIHwgLWNibSB8IC1ucyB8IC1tYXNzY29tcCB8IFwKKwktYXBwbGUgfCAtYXhpcyB8IC1rbnV0aCB8IC1jcmF5IHwgLW1pY3JvYmxhemUpCisJCW9zPQorCQliYXNpY19tYWNoaW5lPSQxCisJCTs7CisJLWJsdWVnZW5lKikKKwkJb3M9LWNuaworCQk7OworCS1zaW0gfCAtY2lzY28gfCAtb2tpIHwgLXdlYyB8IC13aW5ib25kKQorCQlvcz0KKwkJYmFzaWNfbWFjaGluZT0kMQorCQk7OworCS1zY291dCkKKwkJOzsKKwktd3JzKQorCQlvcz0tdnh3b3JrcworCQliYXNpY19tYWNoaW5lPSQxCisJCTs7CisJLWNob3J1c29zKikKKwkJb3M9LWNob3J1c29zCisJCWJhc2ljX21hY2hpbmU9JDEKKwkJOzsKKwktY2hvcnVzcmRiKQorCQlvcz0tY2hvcnVzcmRiCisJCWJhc2ljX21hY2hpbmU9JDEKKwkJOzsKKwktaGl1eCopCisJCW9zPS1oaXV4d2UyCisJCTs7CisJLXNjbzYpCisJCW9zPS1zY281djYKKwkJYmFzaWNfbWFjaGluZT1gZWNobyAkMSB8IHNlZCAtZSAncy84Ni0uKi84Ni1wYy8nYAorCQk7OworCS1zY281KQorCQlvcz0tc2NvMy4ydjUKKwkJYmFzaWNfbWFjaGluZT1gZWNobyAkMSB8IHNlZCAtZSAncy84Ni0uKi84Ni1wYy8nYAorCQk7OworCS1zY280KQorCQlvcz0tc2NvMy4ydjQKKwkJYmFzaWNfbWFjaGluZT1gZWNobyAkMSB8IHNlZCAtZSAncy84Ni0uKi84Ni1wYy8nYAorCQk7OworCS1zY28zLjIuWzQtOV0qKQorCQlvcz1gZWNobyAkb3MgfCBzZWQgLWUgJ3Mvc2NvMy4yLi9zY28zLjJ2LydgCisJCWJhc2ljX21hY2hpbmU9YGVjaG8gJDEgfCBzZWQgLWUgJ3MvODYtLiovODYtcGMvJ2AKKwkJOzsKKwktc2NvMy4ydls0LTldKikKKwkJIyBEb24ndCBmb3JnZXQgdmVyc2lvbiBpZiBpdCBpcyAzLjJ2NCBvciBuZXdlci4KKwkJYmFzaWNfbWFjaGluZT1gZWNobyAkMSB8IHNlZCAtZSAncy84Ni0uKi84Ni1wYy8nYAorCQk7OworCS1zY281djYqKQorCQkjIERvbid0IGZvcmdldCB2ZXJzaW9uIGlmIGl0IGlzIDMuMnY0IG9yIG5ld2VyLgorCQliYXNpY19tYWNoaW5lPWBlY2hvICQxIHwgc2VkIC1lICdzLzg2LS4qLzg2LXBjLydgCisJCTs7CisJLXNjbyopCisJCW9zPS1zY28zLjJ2MgorCQliYXNpY19tYWNoaW5lPWBlY2hvICQxIHwgc2VkIC1lICdzLzg2LS4qLzg2LXBjLydgCisJCTs7CisJLXVkayopCisJCWJhc2ljX21hY2hpbmU9YGVjaG8gJDEgfCBzZWQgLWUgJ3MvODYtLiovODYtcGMvJ2AKKwkJOzsKKwktaXNjKQorCQlvcz0taXNjMi4yCisJCWJhc2ljX21hY2hpbmU9YGVjaG8gJDEgfCBzZWQgLWUgJ3MvODYtLiovODYtcGMvJ2AKKwkJOzsKKwktY2xpeCopCisJCWJhc2ljX21hY2hpbmU9Y2xpcHBlci1pbnRlcmdyYXBoCisJCTs7CisJLWlzYyopCisJCWJhc2ljX21hY2hpbmU9YGVjaG8gJDEgfCBzZWQgLWUgJ3MvODYtLiovODYtcGMvJ2AKKwkJOzsKKwktbHlueCopCisJCW9zPS1seW54b3MKKwkJOzsKKwktcHR4KikKKwkJYmFzaWNfbWFjaGluZT1gZWNobyAkMSB8IHNlZCAtZSAncy84Ni0uKi84Ni1zZXF1ZW50LydgCisJCTs7CisJLXdpbmRvd3NudCopCisJCW9zPWBlY2hvICRvcyB8IHNlZCAtZSAncy93aW5kb3dzbnQvd2lubnQvJ2AKKwkJOzsKKwktcHNvcyopCisJCW9zPS1wc29zCisJCTs7CisJLW1pbnQgfCAtbWludFswLTldKikKKwkJYmFzaWNfbWFjaGluZT1tNjhrLWF0YXJpCisJCW9zPS1taW50CisJCTs7Citlc2FjCisKKyMgRGVjb2RlIGFsaWFzZXMgZm9yIGNlcnRhaW4gQ1BVLUNPTVBBTlkgY29tYmluYXRpb25zLgorY2FzZSAkYmFzaWNfbWFjaGluZSBpbgorCSMgUmVjb2duaXplIHRoZSBiYXNpYyBDUFUgdHlwZXMgd2l0aG91dCBjb21wYW55IG5hbWUuCisJIyBTb21lIGFyZSBvbWl0dGVkIGhlcmUgYmVjYXVzZSB0aGV5IGhhdmUgc3BlY2lhbCBtZWFuaW5ncyBiZWxvdy4KKwkxNzUwYSB8IDU4MCBcCisJfCBhMjlrIFwKKwl8IGFhcmNoNjQgfCBhYXJjaDY0X2JlIFwKKwl8IGFscGhhIHwgYWxwaGFldls0LThdIHwgYWxwaGFldjU2IHwgYWxwaGFldjZbNzhdIHwgYWxwaGFwY2E1WzY3XSBcCisJfCBhbHBoYTY0IHwgYWxwaGE2NGV2WzQtOF0gfCBhbHBoYTY0ZXY1NiB8IGFscGhhNjRldjZbNzhdIHwgYWxwaGE2NHBjYTVbNjddIFwKKwl8IGFtMzNfMi4wIFwKKwl8IGFyYyB8IGFybSB8IGFybVtibF1lIHwgYXJtZVtsYl0gfCBhcm12WzIzNDVdIHwgYXJtdlszNDVdW2xiXSB8IGF2ciB8IGF2cjMyIFwKKyAgICAgICAgfCBiZTMyIHwgYmU2NCBcCisJfCBiZmluIFwKKwl8IGM0eCB8IGNsaXBwZXIgXAorCXwgZDEwdiB8IGQzMHYgfCBkbHggfCBkc3AxNnh4IFwKKwl8IGVwaXBoYW55IFwKKwl8IGZpZG8gfCBmcjMwIHwgZnJ2IFwKKwl8IGg4MzAwIHwgaDg1MDAgfCBocHBhIHwgaHBwYTEuWzAxXSB8IGhwcGEyLjAgfCBocHBhMi4wW253XSB8IGhwcGE2NCBcCisJfCBoZXhhZ29uIFwKKwl8IGkzNzAgfCBpODYwIHwgaTk2MCB8IGlhNjQgXAorCXwgaXAyayB8IGlxMjAwMCBcCisJfCBsZTMyIHwgbGU2NCBcCisJfCBsbTMyIFwKKwl8IG0zMmMgfCBtMzJyIHwgbTMycmxlIHwgbTY4MDAwIHwgbTY4ayB8IG04OGsgXAorCXwgbWF4cSB8IG1iIHwgbWljcm9ibGF6ZSB8IG1jb3JlIHwgbWVwIHwgbWV0YWcgXAorCXwgbWlwcyB8IG1pcHNiZSB8IG1pcHNlYiB8IG1pcHNlbCB8IG1pcHNsZSBcCisJfCBtaXBzMTYgXAorCXwgbWlwczY0IHwgbWlwczY0ZWwgXAorCXwgbWlwczY0b2N0ZW9uIHwgbWlwczY0b2N0ZW9uZWwgXAorCXwgbWlwczY0b3Jpb24gfCBtaXBzNjRvcmlvbmVsIFwKKwl8IG1pcHM2NHI1OTAwIHwgbWlwczY0cjU5MDBlbCBcCisJfCBtaXBzNjR2ciB8IG1pcHM2NHZyZWwgXAorCXwgbWlwczY0dnI0MTAwIHwgbWlwczY0dnI0MTAwZWwgXAorCXwgbWlwczY0dnI0MzAwIHwgbWlwczY0dnI0MzAwZWwgXAorCXwgbWlwczY0dnI1MDAwIHwgbWlwczY0dnI1MDAwZWwgXAorCXwgbWlwczY0dnI1OTAwIHwgbWlwczY0dnI1OTAwZWwgXAorCXwgbWlwc2lzYTMyIHwgbWlwc2lzYTMyZWwgXAorCXwgbWlwc2lzYTMycjIgfCBtaXBzaXNhMzJyMmVsIFwKKwl8IG1pcHNpc2E2NCB8IG1pcHNpc2E2NGVsIFwKKwl8IG1pcHNpc2E2NHIyIHwgbWlwc2lzYTY0cjJlbCBcCisJfCBtaXBzaXNhNjRzYjEgfCBtaXBzaXNhNjRzYjFlbCBcCisJfCBtaXBzaXNhNjRzcjcxayB8IG1pcHNpc2E2NHNyNzFrZWwgXAorCXwgbWlwc3R4MzkgfCBtaXBzdHgzOWVsIFwKKwl8IG1uMTAyMDAgfCBtbjEwMzAwIFwKKwl8IG1veGllIFwKKwl8IG10IFwKKwl8IG1zcDQzMCBcCisJfCBuZHMzMiB8IG5kczMybGUgfCBuZHMzMmJlIFwKKwl8IG5pb3MgfCBuaW9zMiBcCisJfCBuczE2ayB8IG5zMzJrIFwKKwl8IG9wZW44IFwKKwl8IG9yMzIgXAorCXwgcGRwMTAgfCBwZHAxMSB8IHBqIHwgcGpsIFwKKwl8IHBvd2VycGMgfCBwb3dlcnBjNjQgfCBwb3dlcnBjNjRsZSB8IHBvd2VycGNsZSBcCisJfCBweXJhbWlkIFwKKwl8IHJsNzggfCByeCBcCisJfCBzY29yZSBcCisJfCBzaCB8IHNoWzEyMzRdIHwgc2hbMjRdYSB8IHNoWzI0XWFlYiB8IHNoWzIzXWUgfCBzaFszNF1lYiB8IHNoZWIgfCBzaGJlIHwgc2hsZSB8IHNoWzEyMzRdbGUgfCBzaDNlbGUgXAorCXwgc2g2NCB8IHNoNjRsZSBcCisJfCBzcGFyYyB8IHNwYXJjNjQgfCBzcGFyYzY0YiB8IHNwYXJjNjR2IHwgc3BhcmM4NnggfCBzcGFyY2xldCB8IHNwYXJjbGl0ZSBcCisJfCBzcGFyY3Y4IHwgc3BhcmN2OSB8IHNwYXJjdjliIHwgc3BhcmN2OXYgXAorCXwgc3B1IFwKKwl8IHRhaG9lIHwgdGljNHggfCB0aWM1NHggfCB0aWM1NXggfCB0aWM2eCB8IHRpYzgwIHwgdHJvbiBcCisJfCB1Ymljb20zMiBcCisJfCB2ODUwIHwgdjg1MGUgfCB2ODUwZTEgfCB2ODUwZTIgfCB2ODUwZXMgfCB2ODUwZTJ2MyBcCisJfCB3ZTMyayBcCisJfCB4ODYgfCB4YzE2eCB8IHhzdG9ybXkxNiB8IHh0ZW5zYSBcCisJfCB6OGsgfCB6ODApCisJCWJhc2ljX21hY2hpbmU9JGJhc2ljX21hY2hpbmUtdW5rbm93bgorCQk7OworCWM1NHgpCisJCWJhc2ljX21hY2hpbmU9dGljNTR4LXVua25vd24KKwkJOzsKKwljNTV4KQorCQliYXNpY19tYWNoaW5lPXRpYzU1eC11bmtub3duCisJCTs7CisJYzZ4KQorCQliYXNpY19tYWNoaW5lPXRpYzZ4LXVua25vd24KKwkJOzsKKwltNjgxMSB8IG02OGhjMTEgfCBtNjgxMiB8IG02OGhjMTIgfCBtNjhoY3MxMnggfCBwaWNvY2hpcCkKKwkJYmFzaWNfbWFjaGluZT0kYmFzaWNfbWFjaGluZS11bmtub3duCisJCW9zPS1ub25lCisJCTs7CisJbTg4MTEwIHwgbTY4MFsxMjM0Nl0wIHwgbTY4Mz8yIHwgbTY4MzYwIHwgbTUyMDAgfCB2NzAgfCB3NjUgfCB6OGspCisJCTs7CisJbXMxKQorCQliYXNpY19tYWNoaW5lPW10LXVua25vd24KKwkJOzsKKworCXN0cm9uZ2FybSB8IHRodW1iIHwgeHNjYWxlKQorCQliYXNpY19tYWNoaW5lPWFybS11bmtub3duCisJCTs7CisJeGdhdGUpCisJCWJhc2ljX21hY2hpbmU9JGJhc2ljX21hY2hpbmUtdW5rbm93bgorCQlvcz0tbm9uZQorCQk7OworCXhzY2FsZWViKQorCQliYXNpY19tYWNoaW5lPWFybWViLXVua25vd24KKwkJOzsKKworCXhzY2FsZWVsKQorCQliYXNpY19tYWNoaW5lPWFybWVsLXVua25vd24KKwkJOzsKKworCSMgV2UgdXNlIGBwYycgcmF0aGVyIHRoYW4gYHVua25vd24nCisJIyBiZWNhdXNlICgxKSB0aGF0J3Mgd2hhdCB0aGV5IG5vcm1hbGx5IGFyZSwgYW5kCisJIyAoMikgdGhlIHdvcmQgInVua25vd24iIHRlbmRzIHRvIGNvbmZ1c2UgYmVnaW5uaW5nIHVzZXJzLgorCWkqODYgfCB4ODZfNjQpCisJICBiYXNpY19tYWNoaW5lPSRiYXNpY19tYWNoaW5lLXBjCisJICA7OworCSMgT2JqZWN0IGlmIG1vcmUgdGhhbiBvbmUgY29tcGFueSBuYW1lIHdvcmQuCisJKi0qLSopCisJCWVjaG8gSW52YWxpZCBjb25maWd1cmF0aW9uIFxgJDFcJzogbWFjaGluZSBcYCRiYXNpY19tYWNoaW5lXCcgbm90IHJlY29nbml6ZWQgMT4mMgorCQlleGl0IDEKKwkJOzsKKwkjIFJlY29nbml6ZSB0aGUgYmFzaWMgQ1BVIHR5cGVzIHdpdGggY29tcGFueSBuYW1lLgorCTU4MC0qIFwKKwl8IGEyOWstKiBcCisJfCBhYXJjaDY0LSogfCBhYXJjaDY0X2JlLSogXAorCXwgYWxwaGEtKiB8IGFscGhhZXZbNC04XS0qIHwgYWxwaGFldjU2LSogfCBhbHBoYWV2Nls3OF0tKiBcCisJfCBhbHBoYTY0LSogfCBhbHBoYTY0ZXZbNC04XS0qIHwgYWxwaGE2NGV2NTYtKiB8IGFscGhhNjRldjZbNzhdLSogXAorCXwgYWxwaGFwY2E1WzY3XS0qIHwgYWxwaGE2NHBjYTVbNjddLSogfCBhcmMtKiBcCisJfCBhcm0tKiAgfCBhcm1iZS0qIHwgYXJtbGUtKiB8IGFybWViLSogfCBhcm12Ki0qIFwKKwl8IGF2ci0qIHwgYXZyMzItKiBcCisJfCBiZTMyLSogfCBiZTY0LSogXAorCXwgYmZpbi0qIHwgYnMyMDAwLSogXAorCXwgY1sxMjNdKiB8IGMzMC0qIHwgW2NqdF05MC0qIHwgYzR4LSogXAorCXwgY2xpcHBlci0qIHwgY3JheW52LSogfCBjeWRyYS0qIFwKKwl8IGQxMHYtKiB8IGQzMHYtKiB8IGRseC0qIFwKKwl8IGVseHNpLSogXAorCXwgZjMwWzAxXS0qIHwgZjcwMC0qIHwgZmlkby0qIHwgZnIzMC0qIHwgZnJ2LSogfCBmeDgwLSogXAorCXwgaDgzMDAtKiB8IGg4NTAwLSogXAorCXwgaHBwYS0qIHwgaHBwYTEuWzAxXS0qIHwgaHBwYTIuMC0qIHwgaHBwYTIuMFtud10tKiB8IGhwcGE2NC0qIFwKKwl8IGhleGFnb24tKiBcCisJfCBpKjg2LSogfCBpODYwLSogfCBpOTYwLSogfCBpYTY0LSogXAorCXwgaXAyay0qIHwgaXEyMDAwLSogXAorCXwgbGUzMi0qIHwgbGU2NC0qIFwKKwl8IGxtMzItKiBcCisJfCBtMzJjLSogfCBtMzJyLSogfCBtMzJybGUtKiBcCisJfCBtNjgwMDAtKiB8IG02ODBbMDEyMzQ2XTAtKiB8IG02ODM2MC0qIHwgbTY4Mz8yLSogfCBtNjhrLSogXAorCXwgbTg4MTEwLSogfCBtODhrLSogfCBtYXhxLSogfCBtY29yZS0qIHwgbWV0YWctKiB8IG1pY3JvYmxhemUtKiBcCisJfCBtaXBzLSogfCBtaXBzYmUtKiB8IG1pcHNlYi0qIHwgbWlwc2VsLSogfCBtaXBzbGUtKiBcCisJfCBtaXBzMTYtKiBcCisJfCBtaXBzNjQtKiB8IG1pcHM2NGVsLSogXAorCXwgbWlwczY0b2N0ZW9uLSogfCBtaXBzNjRvY3Rlb25lbC0qIFwKKwl8IG1pcHM2NG9yaW9uLSogfCBtaXBzNjRvcmlvbmVsLSogXAorCXwgbWlwczY0cjU5MDAtKiB8IG1pcHM2NHI1OTAwZWwtKiBcCisJfCBtaXBzNjR2ci0qIHwgbWlwczY0dnJlbC0qIFwKKwl8IG1pcHM2NHZyNDEwMC0qIHwgbWlwczY0dnI0MTAwZWwtKiBcCisJfCBtaXBzNjR2cjQzMDAtKiB8IG1pcHM2NHZyNDMwMGVsLSogXAorCXwgbWlwczY0dnI1MDAwLSogfCBtaXBzNjR2cjUwMDBlbC0qIFwKKwl8IG1pcHM2NHZyNTkwMC0qIHwgbWlwczY0dnI1OTAwZWwtKiBcCisJfCBtaXBzaXNhMzItKiB8IG1pcHNpc2EzMmVsLSogXAorCXwgbWlwc2lzYTMycjItKiB8IG1pcHNpc2EzMnIyZWwtKiBcCisJfCBtaXBzaXNhNjQtKiB8IG1pcHNpc2E2NGVsLSogXAorCXwgbWlwc2lzYTY0cjItKiB8IG1pcHNpc2E2NHIyZWwtKiBcCisJfCBtaXBzaXNhNjRzYjEtKiB8IG1pcHNpc2E2NHNiMWVsLSogXAorCXwgbWlwc2lzYTY0c3I3MWstKiB8IG1pcHNpc2E2NHNyNzFrZWwtKiBcCisJfCBtaXBzdHgzOS0qIHwgbWlwc3R4MzllbC0qIFwKKwl8IG1taXgtKiBcCisJfCBtdC0qIFwKKwl8IG1zcDQzMC0qIFwKKwl8IG5kczMyLSogfCBuZHMzMmxlLSogfCBuZHMzMmJlLSogXAorCXwgbmlvcy0qIHwgbmlvczItKiBcCisJfCBub25lLSogfCBucDEtKiB8IG5zMTZrLSogfCBuczMyay0qIFwKKwl8IG9wZW44LSogXAorCXwgb3Jpb24tKiBcCisJfCBwZHAxMC0qIHwgcGRwMTEtKiB8IHBqLSogfCBwamwtKiB8IHBuLSogfCBwb3dlci0qIFwKKwl8IHBvd2VycGMtKiB8IHBvd2VycGM2NC0qIHwgcG93ZXJwYzY0bGUtKiB8IHBvd2VycGNsZS0qIFwKKwl8IHB5cmFtaWQtKiBcCisJfCBybDc4LSogfCByb21wLSogfCByczYwMDAtKiB8IHJ4LSogXAorCXwgc2gtKiB8IHNoWzEyMzRdLSogfCBzaFsyNF1hLSogfCBzaFsyNF1hZWItKiB8IHNoWzIzXWUtKiB8IHNoWzM0XWViLSogfCBzaGViLSogfCBzaGJlLSogXAorCXwgc2hsZS0qIHwgc2hbMTIzNF1sZS0qIHwgc2gzZWxlLSogfCBzaDY0LSogfCBzaDY0bGUtKiBcCisJfCBzcGFyYy0qIHwgc3BhcmM2NC0qIHwgc3BhcmM2NGItKiB8IHNwYXJjNjR2LSogfCBzcGFyYzg2eC0qIHwgc3BhcmNsZXQtKiBcCisJfCBzcGFyY2xpdGUtKiBcCisJfCBzcGFyY3Y4LSogfCBzcGFyY3Y5LSogfCBzcGFyY3Y5Yi0qIHwgc3BhcmN2OXYtKiB8IHN2MS0qIHwgc3g/LSogXAorCXwgdGFob2UtKiBcCisJfCB0aWMzMC0qIHwgdGljNHgtKiB8IHRpYzU0eC0qIHwgdGljNTV4LSogfCB0aWM2eC0qIHwgdGljODAtKiBcCisJfCB0aWxlKi0qIFwKKwl8IHRyb24tKiBcCisJfCB1Ymljb20zMi0qIFwKKwl8IHY4NTAtKiB8IHY4NTBlLSogfCB2ODUwZTEtKiB8IHY4NTBlcy0qIHwgdjg1MGUyLSogfCB2ODUwZTJ2My0qIFwKKwl8IHZheC0qIFwKKwl8IHdlMzJrLSogXAorCXwgeDg2LSogfCB4ODZfNjQtKiB8IHhjMTZ4LSogfCB4cHMxMDAtKiBcCisJfCB4c3Rvcm15MTYtKiB8IHh0ZW5zYSotKiBcCisJfCB5bXAtKiBcCisJfCB6OGstKiB8IHo4MC0qKQorCQk7OworCSMgUmVjb2duaXplIHRoZSBiYXNpYyBDUFUgdHlwZXMgd2l0aG91dCBjb21wYW55IG5hbWUsIHdpdGggZ2xvYiBtYXRjaC4KKwl4dGVuc2EqKQorCQliYXNpY19tYWNoaW5lPSRiYXNpY19tYWNoaW5lLXVua25vd24KKwkJOzsKKwkjIFJlY29nbml6ZSB0aGUgdmFyaW91cyBtYWNoaW5lIG5hbWVzIGFuZCBhbGlhc2VzIHdoaWNoIHN0YW5kCisJIyBmb3IgYSBDUFUgdHlwZSBhbmQgYSBjb21wYW55IGFuZCBzb21ldGltZXMgZXZlbiBhbiBPUy4KKwkzODZic2QpCisJCWJhc2ljX21hY2hpbmU9aTM4Ni11bmtub3duCisJCW9zPS1ic2QKKwkJOzsKKwkzYjEgfCA3MzAwIHwgNzMwMC1hdHQgfCBhdHQtNzMwMCB8IHBjNzMwMCB8IHNhZmFyaSB8IHVuaXhwYykKKwkJYmFzaWNfbWFjaGluZT1tNjgwMDAtYXR0CisJCTs7CisJM2IqKQorCQliYXNpY19tYWNoaW5lPXdlMzJrLWF0dAorCQk7OworCWEyOWtoaWYpCisJCWJhc2ljX21hY2hpbmU9YTI5ay1hbWQKKwkJb3M9LXVkaQorCQk7OworCWFiYWN1cykKKwkJYmFzaWNfbWFjaGluZT1hYmFjdXMtdW5rbm93bgorCQk7OworCWFkb2JlNjhrKQorCQliYXNpY19tYWNoaW5lPW02ODAxMC1hZG9iZQorCQlvcz0tc2NvdXQKKwkJOzsKKwlhbGxpYW50IHwgZng4MCkKKwkJYmFzaWNfbWFjaGluZT1meDgwLWFsbGlhbnQKKwkJOzsKKwlhbHRvcyB8IGFsdG9zMzA2OCkKKwkJYmFzaWNfbWFjaGluZT1tNjhrLWFsdG9zCisJCTs7CisJYW0yOWspCisJCWJhc2ljX21hY2hpbmU9YTI5ay1ub25lCisJCW9zPS1ic2QKKwkJOzsKKwlhbWQ2NCkKKwkJYmFzaWNfbWFjaGluZT14ODZfNjQtcGMKKwkJOzsKKwlhbWQ2NC0qKQorCQliYXNpY19tYWNoaW5lPXg4Nl82NC1gZWNobyAkYmFzaWNfbWFjaGluZSB8IHNlZCAncy9eW14tXSotLy8nYAorCQk7OworCWFtZGFobCkKKwkJYmFzaWNfbWFjaGluZT01ODAtYW1kYWhsCisJCW9zPS1zeXN2CisJCTs7CisJYW1pZ2EgfCBhbWlnYS0qKQorCQliYXNpY19tYWNoaW5lPW02OGstdW5rbm93bgorCQk7OworCWFtaWdhb3MgfCBhbWlnYWRvcykKKwkJYmFzaWNfbWFjaGluZT1tNjhrLXVua25vd24KKwkJb3M9LWFtaWdhb3MKKwkJOzsKKwlhbWlnYXVuaXggfCBhbWl4KQorCQliYXNpY19tYWNoaW5lPW02OGstdW5rbm93bgorCQlvcz0tc3lzdjQKKwkJOzsKKwlhcG9sbG82OCkKKwkJYmFzaWNfbWFjaGluZT1tNjhrLWFwb2xsbworCQlvcz0tc3lzdgorCQk7OworCWFwb2xsbzY4YnNkKQorCQliYXNpY19tYWNoaW5lPW02OGstYXBvbGxvCisJCW9zPS1ic2QKKwkJOzsKKwlhcm9zKQorCQliYXNpY19tYWNoaW5lPWkzODYtcGMKKwkJb3M9LWFyb3MKKwkJOzsKKwlhdXgpCisJCWJhc2ljX21hY2hpbmU9bTY4ay1hcHBsZQorCQlvcz0tYXV4CisJCTs7CisJYmFsYW5jZSkKKwkJYmFzaWNfbWFjaGluZT1uczMyay1zZXF1ZW50CisJCW9zPS1keW5peAorCQk7OworCWJsYWNrZmluKQorCQliYXNpY19tYWNoaW5lPWJmaW4tdW5rbm93bgorCQlvcz0tbGludXgKKwkJOzsKKwlibGFja2Zpbi0qKQorCQliYXNpY19tYWNoaW5lPWJmaW4tYGVjaG8gJGJhc2ljX21hY2hpbmUgfCBzZWQgJ3MvXlteLV0qLS8vJ2AKKwkJb3M9LWxpbnV4CisJCTs7CisJYmx1ZWdlbmUqKQorCQliYXNpY19tYWNoaW5lPXBvd2VycGMtaWJtCisJCW9zPS1jbmsKKwkJOzsKKwljNTR4LSopCisJCWJhc2ljX21hY2hpbmU9dGljNTR4LWBlY2hvICRiYXNpY19tYWNoaW5lIHwgc2VkICdzL15bXi1dKi0vLydgCisJCTs7CisJYzU1eC0qKQorCQliYXNpY19tYWNoaW5lPXRpYzU1eC1gZWNobyAkYmFzaWNfbWFjaGluZSB8IHNlZCAncy9eW14tXSotLy8nYAorCQk7OworCWM2eC0qKQorCQliYXNpY19tYWNoaW5lPXRpYzZ4LWBlY2hvICRiYXNpY19tYWNoaW5lIHwgc2VkICdzL15bXi1dKi0vLydgCisJCTs7CisJYzkwKQorCQliYXNpY19tYWNoaW5lPWM5MC1jcmF5CisJCW9zPS11bmljb3MKKwkJOzsKKwljZWdjYykKKwkJYmFzaWNfbWFjaGluZT1hcm0tdW5rbm93bgorCQlvcz0tY2VnY2MKKwkJOzsKKwljb252ZXgtYzEpCisJCWJhc2ljX21hY2hpbmU9YzEtY29udmV4CisJCW9zPS1ic2QKKwkJOzsKKwljb252ZXgtYzIpCisJCWJhc2ljX21hY2hpbmU9YzItY29udmV4CisJCW9zPS1ic2QKKwkJOzsKKwljb252ZXgtYzMyKQorCQliYXNpY19tYWNoaW5lPWMzMi1jb252ZXgKKwkJb3M9LWJzZAorCQk7OworCWNvbnZleC1jMzQpCisJCWJhc2ljX21hY2hpbmU9YzM0LWNvbnZleAorCQlvcz0tYnNkCisJCTs7CisJY29udmV4LWMzOCkKKwkJYmFzaWNfbWFjaGluZT1jMzgtY29udmV4CisJCW9zPS1ic2QKKwkJOzsKKwljcmF5IHwgajkwKQorCQliYXNpY19tYWNoaW5lPWo5MC1jcmF5CisJCW9zPS11bmljb3MKKwkJOzsKKwljcmF5bnYpCisJCWJhc2ljX21hY2hpbmU9Y3JheW52LWNyYXkKKwkJb3M9LXVuaWNvc21wCisJCTs7CisJY3IxNiB8IGNyMTYtKikKKwkJYmFzaWNfbWFjaGluZT1jcjE2LXVua25vd24KKwkJb3M9LWVsZgorCQk7OworCWNyZHMgfCB1bm9zKQorCQliYXNpY19tYWNoaW5lPW02OGstY3JkcworCQk7OworCWNyaXN2MzIgfCBjcmlzdjMyLSogfCBldHJheGZzKikKKwkJYmFzaWNfbWFjaGluZT1jcmlzdjMyLWF4aXMKKwkJOzsKKwljcmlzIHwgY3Jpcy0qIHwgZXRyYXgqKQorCQliYXNpY19tYWNoaW5lPWNyaXMtYXhpcworCQk7OworCWNyeCkKKwkJYmFzaWNfbWFjaGluZT1jcngtdW5rbm93bgorCQlvcz0tZWxmCisJCTs7CisJZGEzMCB8IGRhMzAtKikKKwkJYmFzaWNfbWFjaGluZT1tNjhrLWRhMzAKKwkJOzsKKwlkZWNzdGF0aW9uIHwgZGVjc3RhdGlvbi0zMTAwIHwgcG1heCB8IHBtYXgtKiB8IHBtaW4gfCBkZWMzMTAwIHwgZGVjc3RhdG4pCisJCWJhc2ljX21hY2hpbmU9bWlwcy1kZWMKKwkJOzsKKwlkZWNzeXN0ZW0xMCogfCBkZWMxMCopCisJCWJhc2ljX21hY2hpbmU9cGRwMTAtZGVjCisJCW9zPS10b3BzMTAKKwkJOzsKKwlkZWNzeXN0ZW0yMCogfCBkZWMyMCopCisJCWJhc2ljX21hY2hpbmU9cGRwMTAtZGVjCisJCW9zPS10b3BzMjAKKwkJOzsKKwlkZWx0YSB8IDMzMDAgfCBtb3Rvcm9sYS0zMzAwIHwgbW90b3JvbGEtZGVsdGEgXAorCSAgICAgIHwgMzMwMC1tb3Rvcm9sYSB8IGRlbHRhLW1vdG9yb2xhKQorCQliYXNpY19tYWNoaW5lPW02OGstbW90b3JvbGEKKwkJOzsKKwlkZWx0YTg4KQorCQliYXNpY19tYWNoaW5lPW04OGstbW90b3JvbGEKKwkJb3M9LXN5c3YzCisJCTs7CisJZGljb3MpCisJCWJhc2ljX21hY2hpbmU9aTY4Ni1wYworCQlvcz0tZGljb3MKKwkJOzsKKwlkamdwcCkKKwkJYmFzaWNfbWFjaGluZT1pNTg2LXBjCisJCW9zPS1tc2Rvc2RqZ3BwCisJCTs7CisJZHB4MjAgfCBkcHgyMC0qKQorCQliYXNpY19tYWNoaW5lPXJzNjAwMC1idWxsCisJCW9zPS1ib3N4CisJCTs7CisJZHB4MiogfCBkcHgyKi1idWxsKQorCQliYXNpY19tYWNoaW5lPW02OGstYnVsbAorCQlvcz0tc3lzdjMKKwkJOzsKKwllYm1vbjI5aykKKwkJYmFzaWNfbWFjaGluZT1hMjlrLWFtZAorCQlvcz0tZWJtb24KKwkJOzsKKwllbHhzaSkKKwkJYmFzaWNfbWFjaGluZT1lbHhzaS1lbHhzaQorCQlvcz0tYnNkCisJCTs7CisJZW5jb3JlIHwgdW1heCB8IG1tYXgpCisJCWJhc2ljX21hY2hpbmU9bnMzMmstZW5jb3JlCisJCTs7CisJZXMxODAwIHwgT1NFNjhrIHwgb3NlNjhrIHwgb3NlIHwgT1NFKQorCQliYXNpY19tYWNoaW5lPW02OGstZXJpY3Nzb24KKwkJb3M9LW9zZQorCQk7OworCWZ4MjgwMCkKKwkJYmFzaWNfbWFjaGluZT1pODYwLWFsbGlhbnQKKwkJOzsKKwlnZW5peCkKKwkJYmFzaWNfbWFjaGluZT1uczMyay1ucworCQk7OworCWdtaWNybykKKwkJYmFzaWNfbWFjaGluZT10cm9uLWdtaWNybworCQlvcz0tc3lzdgorCQk7OworCWdvMzIpCisJCWJhc2ljX21hY2hpbmU9aTM4Ni1wYworCQlvcz0tZ28zMgorCQk7OworCWgzMDUwciogfCBoaXV4KikKKwkJYmFzaWNfbWFjaGluZT1ocHBhMS4xLWhpdGFjaGkKKwkJb3M9LWhpdXh3ZTIKKwkJOzsKKwloODMwMGhtcykKKwkJYmFzaWNfbWFjaGluZT1oODMwMC1oaXRhY2hpCisJCW9zPS1obXMKKwkJOzsKKwloODMwMHhyYXkpCisJCWJhc2ljX21hY2hpbmU9aDgzMDAtaGl0YWNoaQorCQlvcz0teHJheQorCQk7OworCWg4NTAwaG1zKQorCQliYXNpY19tYWNoaW5lPWg4NTAwLWhpdGFjaGkKKwkJb3M9LWhtcworCQk7OworCWhhcnJpcykKKwkJYmFzaWNfbWFjaGluZT1tODhrLWhhcnJpcworCQlvcz0tc3lzdjMKKwkJOzsKKwlocDMwMC0qKQorCQliYXNpY19tYWNoaW5lPW02OGstaHAKKwkJOzsKKwlocDMwMGJzZCkKKwkJYmFzaWNfbWFjaGluZT1tNjhrLWhwCisJCW9zPS1ic2QKKwkJOzsKKwlocDMwMGhwdXgpCisJCWJhc2ljX21hY2hpbmU9bTY4ay1ocAorCQlvcz0taHB1eAorCQk7OworCWhwM2s5WzAtOV1bMC05XSB8IGhwOVswLTldWzAtOV0pCisJCWJhc2ljX21hY2hpbmU9aHBwYTEuMC1ocAorCQk7OworCWhwOWsyWzAtOV1bMC05XSB8IGhwOWszMVswLTldKQorCQliYXNpY19tYWNoaW5lPW02ODAwMC1ocAorCQk7OworCWhwOWszWzItOV1bMC05XSkKKwkJYmFzaWNfbWFjaGluZT1tNjhrLWhwCisJCTs7CisJaHA5azZbMC05XVswLTldIHwgaHA2WzAtOV1bMC05XSkKKwkJYmFzaWNfbWFjaGluZT1ocHBhMS4wLWhwCisJCTs7CisJaHA5azdbMC03OV1bMC05XSB8IGhwN1swLTc5XVswLTldKQorCQliYXNpY19tYWNoaW5lPWhwcGExLjEtaHAKKwkJOzsKKwlocDlrNzhbMC05XSB8IGhwNzhbMC05XSkKKwkJIyBGSVhNRTogcmVhbGx5IGhwcGEyLjAtaHAKKwkJYmFzaWNfbWFjaGluZT1ocHBhMS4xLWhwCisJCTs7CisJaHA5azhbNjddMSB8IGhwOFs2N10xIHwgaHA5azgwWzI0XSB8IGhwODBbMjRdIHwgaHA5azhbNzhdOSB8IGhwOFs3OF05IHwgaHA5azg5MyB8IGhwODkzKQorCQkjIEZJWE1FOiByZWFsbHkgaHBwYTIuMC1ocAorCQliYXNpY19tYWNoaW5lPWhwcGExLjEtaHAKKwkJOzsKKwlocDlrOFswLTldWzEzNjc5XSB8IGhwOFswLTldWzEzNjc5XSkKKwkJYmFzaWNfbWFjaGluZT1ocHBhMS4xLWhwCisJCTs7CisJaHA5azhbMC05XVswLTldIHwgaHA4WzAtOV1bMC05XSkKKwkJYmFzaWNfbWFjaGluZT1ocHBhMS4wLWhwCisJCTs7CisJaHBwYS1uZXh0KQorCQlvcz0tbmV4dHN0ZXAzCisJCTs7CisJaHBwYW9zZikKKwkJYmFzaWNfbWFjaGluZT1ocHBhMS4xLWhwCisJCW9zPS1vc2YKKwkJOzsKKwlocHBybykKKwkJYmFzaWNfbWFjaGluZT1ocHBhMS4xLWhwCisJCW9zPS1wcm9lbGYKKwkJOzsKKwlpMzcwLWlibSogfCBpYm0qKQorCQliYXNpY19tYWNoaW5lPWkzNzAtaWJtCisJCTs7CisJaSo4NnYzMikKKwkJYmFzaWNfbWFjaGluZT1gZWNobyAkMSB8IHNlZCAtZSAncy84Ni4qLzg2LXBjLydgCisJCW9zPS1zeXN2MzIKKwkJOzsKKwlpKjg2djQqKQorCQliYXNpY19tYWNoaW5lPWBlY2hvICQxIHwgc2VkIC1lICdzLzg2LiovODYtcGMvJ2AKKwkJb3M9LXN5c3Y0CisJCTs7CisJaSo4NnYpCisJCWJhc2ljX21hY2hpbmU9YGVjaG8gJDEgfCBzZWQgLWUgJ3MvODYuKi84Ni1wYy8nYAorCQlvcz0tc3lzdgorCQk7OworCWkqODZzb2wyKQorCQliYXNpY19tYWNoaW5lPWBlY2hvICQxIHwgc2VkIC1lICdzLzg2LiovODYtcGMvJ2AKKwkJb3M9LXNvbGFyaXMyCisJCTs7CisJaTM4Nm1hY2gpCisJCWJhc2ljX21hY2hpbmU9aTM4Ni1tYWNoCisJCW9zPS1tYWNoCisJCTs7CisJaTM4Ni12c3RhIHwgdnN0YSkKKwkJYmFzaWNfbWFjaGluZT1pMzg2LXVua25vd24KKwkJb3M9LXZzdGEKKwkJOzsKKwlpcmlzIHwgaXJpczRkKQorCQliYXNpY19tYWNoaW5lPW1pcHMtc2dpCisJCWNhc2UgJG9zIGluCisJCSAgICAtaXJpeCopCisJCQk7OworCQkgICAgKikKKwkJCW9zPS1pcml4NAorCQkJOzsKKwkJZXNhYworCQk7OworCWlzaTY4IHwgaXNpKQorCQliYXNpY19tYWNoaW5lPW02OGstaXNpCisJCW9zPS1zeXN2CisJCTs7CisJbTY4a25vbW11KQorCQliYXNpY19tYWNoaW5lPW02OGstdW5rbm93bgorCQlvcz0tbGludXgKKwkJOzsKKwltNjhrbm9tbXUtKikKKwkJYmFzaWNfbWFjaGluZT1tNjhrLWBlY2hvICRiYXNpY19tYWNoaW5lIHwgc2VkICdzL15bXi1dKi0vLydgCisJCW9zPS1saW51eAorCQk7OworCW04OGstb21yb24qKQorCQliYXNpY19tYWNoaW5lPW04OGstb21yb24KKwkJOzsKKwltYWdudW0gfCBtMzIzMCkKKwkJYmFzaWNfbWFjaGluZT1taXBzLW1pcHMKKwkJb3M9LXN5c3YKKwkJOzsKKwltZXJsaW4pCisJCWJhc2ljX21hY2hpbmU9bnMzMmstdXRlaworCQlvcz0tc3lzdgorCQk7OworCW1pY3JvYmxhemUpCisJCWJhc2ljX21hY2hpbmU9bWljcm9ibGF6ZS14aWxpbngKKwkJOzsKKwltaW5ndzMyKQorCQliYXNpY19tYWNoaW5lPWkzODYtcGMKKwkJb3M9LW1pbmd3MzIKKwkJOzsKKwltaW5ndzMyY2UpCisJCWJhc2ljX21hY2hpbmU9YXJtLXVua25vd24KKwkJb3M9LW1pbmd3MzJjZQorCQk7OworCW1pbmlmcmFtZSkKKwkJYmFzaWNfbWFjaGluZT1tNjgwMDAtY29udmVyZ2VudAorCQk7OworCSptaW50IHwgLW1pbnRbMC05XSogfCAqTWlOVCB8ICpNaU5UWzAtOV0qKQorCQliYXNpY19tYWNoaW5lPW02OGstYXRhcmkKKwkJb3M9LW1pbnQKKwkJOzsKKwltaXBzMyotKikKKwkJYmFzaWNfbWFjaGluZT1gZWNobyAkYmFzaWNfbWFjaGluZSB8IHNlZCAtZSAncy9taXBzMy9taXBzNjQvJ2AKKwkJOzsKKwltaXBzMyopCisJCWJhc2ljX21hY2hpbmU9YGVjaG8gJGJhc2ljX21hY2hpbmUgfCBzZWQgLWUgJ3MvbWlwczMvbWlwczY0LydgLXVua25vd24KKwkJOzsKKwltb25pdG9yKQorCQliYXNpY19tYWNoaW5lPW02OGstcm9tNjhrCisJCW9zPS1jb2ZmCisJCTs7CisJbW9ycGhvcykKKwkJYmFzaWNfbWFjaGluZT1wb3dlcnBjLXVua25vd24KKwkJb3M9LW1vcnBob3MKKwkJOzsKKwltc2RvcykKKwkJYmFzaWNfbWFjaGluZT1pMzg2LXBjCisJCW9zPS1tc2RvcworCQk7OworCW1zMS0qKQorCQliYXNpY19tYWNoaW5lPWBlY2hvICRiYXNpY19tYWNoaW5lIHwgc2VkIC1lICdzL21zMS0vbXQtLydgCisJCTs7CisJbXN5cykKKwkJYmFzaWNfbWFjaGluZT1pMzg2LXBjCisJCW9zPS1tc3lzCisJCTs7CisJbXZzKQorCQliYXNpY19tYWNoaW5lPWkzNzAtaWJtCisJCW9zPS1tdnMKKwkJOzsKKwluYWNsKQorCQliYXNpY19tYWNoaW5lPWxlMzItdW5rbm93bgorCQlvcz0tbmFjbAorCQk7OworCW5jcjMwMDApCisJCWJhc2ljX21hY2hpbmU9aTQ4Ni1uY3IKKwkJb3M9LXN5c3Y0CisJCTs7CisJbmV0YnNkMzg2KQorCQliYXNpY19tYWNoaW5lPWkzODYtdW5rbm93bgorCQlvcz0tbmV0YnNkCisJCTs7CisJbmV0d2luZGVyKQorCQliYXNpY19tYWNoaW5lPWFybXY0bC1yZWJlbAorCQlvcz0tbGludXgKKwkJOzsKKwluZXdzIHwgbmV3czcwMCB8IG5ld3M4MDAgfCBuZXdzOTAwKQorCQliYXNpY19tYWNoaW5lPW02OGstc29ueQorCQlvcz0tbmV3c29zCisJCTs7CisJbmV3czEwMDApCisJCWJhc2ljX21hY2hpbmU9bTY4MDMwLXNvbnkKKwkJb3M9LW5ld3NvcworCQk7OworCW5ld3MtMzYwMCB8IHJpc2MtbmV3cykKKwkJYmFzaWNfbWFjaGluZT1taXBzLXNvbnkKKwkJb3M9LW5ld3NvcworCQk7OworCW5lY3Y3MCkKKwkJYmFzaWNfbWFjaGluZT12NzAtbmVjCisJCW9zPS1zeXN2CisJCTs7CisJbmV4dCB8IG0qLW5leHQgKQorCQliYXNpY19tYWNoaW5lPW02OGstbmV4dAorCQljYXNlICRvcyBpbgorCQkgICAgLW5leHRzdGVwKiApCisJCQk7OworCQkgICAgLW5zMiopCisJCSAgICAgIG9zPS1uZXh0c3RlcDIKKwkJCTs7CisJCSAgICAqKQorCQkgICAgICBvcz0tbmV4dHN0ZXAzCisJCQk7OworCQllc2FjCisJCTs7CisJbmgzMDAwKQorCQliYXNpY19tYWNoaW5lPW02OGstaGFycmlzCisJCW9zPS1jeHV4CisJCTs7CisJbmhbNDVdMDAwKQorCQliYXNpY19tYWNoaW5lPW04OGstaGFycmlzCisJCW9zPS1jeHV4CisJCTs7CisJbmluZHk5NjApCisJCWJhc2ljX21hY2hpbmU9aTk2MC1pbnRlbAorCQlvcz0tbmluZHkKKwkJOzsKKwltb245NjApCisJCWJhc2ljX21hY2hpbmU9aTk2MC1pbnRlbAorCQlvcz0tbW9uOTYwCisJCTs7CisJbm9uc3RvcHV4KQorCQliYXNpY19tYWNoaW5lPW1pcHMtY29tcGFxCisJCW9zPS1ub25zdG9wdXgKKwkJOzsKKwlucDEpCisJCWJhc2ljX21hY2hpbmU9bnAxLWdvdWxkCisJCTs7CisJbmVvLXRhbmRlbSkKKwkJYmFzaWNfbWFjaGluZT1uZW8tdGFuZGVtCisJCTs7CisJbnNlLXRhbmRlbSkKKwkJYmFzaWNfbWFjaGluZT1uc2UtdGFuZGVtCisJCTs7CisJbnNyLXRhbmRlbSkKKwkJYmFzaWNfbWFjaGluZT1uc3ItdGFuZGVtCisJCTs7CisJb3A1MG4tKiB8IG9wNjBjLSopCisJCWJhc2ljX21hY2hpbmU9aHBwYTEuMS1va2kKKwkJb3M9LXByb2VsZgorCQk7OworCW9wZW5yaXNjIHwgb3BlbnJpc2MtKikKKwkJYmFzaWNfbWFjaGluZT1vcjMyLXVua25vd24KKwkJOzsKKwlvczQwMCkKKwkJYmFzaWNfbWFjaGluZT1wb3dlcnBjLWlibQorCQlvcz0tb3M0MDAKKwkJOzsKKwlPU0U2ODAwMCB8IG9zZTY4MDAwKQorCQliYXNpY19tYWNoaW5lPW02ODAwMC1lcmljc3NvbgorCQlvcz0tb3NlCisJCTs7CisJb3M2OGspCisJCWJhc2ljX21hY2hpbmU9bTY4ay1ub25lCisJCW9zPS1vczY4aworCQk7OworCXBhLWhpdGFjaGkpCisJCWJhc2ljX21hY2hpbmU9aHBwYTEuMS1oaXRhY2hpCisJCW9zPS1oaXV4d2UyCisJCTs7CisJcGFyYWdvbikKKwkJYmFzaWNfbWFjaGluZT1pODYwLWludGVsCisJCW9zPS1vc2YKKwkJOzsKKwlwYXJpc2MpCisJCWJhc2ljX21hY2hpbmU9aHBwYS11bmtub3duCisJCW9zPS1saW51eAorCQk7OworCXBhcmlzYy0qKQorCQliYXNpY19tYWNoaW5lPWhwcGEtYGVjaG8gJGJhc2ljX21hY2hpbmUgfCBzZWQgJ3MvXlteLV0qLS8vJ2AKKwkJb3M9LWxpbnV4CisJCTs7CisJcGJkKQorCQliYXNpY19tYWNoaW5lPXNwYXJjLXR0aQorCQk7OworCXBiYikKKwkJYmFzaWNfbWFjaGluZT1tNjhrLXR0aQorCQk7OworCXBjNTMyIHwgcGM1MzItKikKKwkJYmFzaWNfbWFjaGluZT1uczMyay1wYzUzMgorCQk7OworCXBjOTgpCisJCWJhc2ljX21hY2hpbmU9aTM4Ni1wYworCQk7OworCXBjOTgtKikKKwkJYmFzaWNfbWFjaGluZT1pMzg2LWBlY2hvICRiYXNpY19tYWNoaW5lIHwgc2VkICdzL15bXi1dKi0vLydgCisJCTs7CisJcGVudGl1bSB8IHA1IHwgazUgfCBrNiB8IG5leGdlbiB8IHZpYWMzKQorCQliYXNpY19tYWNoaW5lPWk1ODYtcGMKKwkJOzsKKwlwZW50aXVtcHJvIHwgcDYgfCA2eDg2IHwgYXRobG9uIHwgYXRobG9uXyopCisJCWJhc2ljX21hY2hpbmU9aTY4Ni1wYworCQk7OworCXBlbnRpdW1paSB8IHBlbnRpdW0yIHwgcGVudGl1bWlpaSB8IHBlbnRpdW0zKQorCQliYXNpY19tYWNoaW5lPWk2ODYtcGMKKwkJOzsKKwlwZW50aXVtNCkKKwkJYmFzaWNfbWFjaGluZT1pNzg2LXBjCisJCTs7CisJcGVudGl1bS0qIHwgcDUtKiB8IGs1LSogfCBrNi0qIHwgbmV4Z2VuLSogfCB2aWFjMy0qKQorCQliYXNpY19tYWNoaW5lPWk1ODYtYGVjaG8gJGJhc2ljX21hY2hpbmUgfCBzZWQgJ3MvXlteLV0qLS8vJ2AKKwkJOzsKKwlwZW50aXVtcHJvLSogfCBwNi0qIHwgNng4Ni0qIHwgYXRobG9uLSopCisJCWJhc2ljX21hY2hpbmU9aTY4Ni1gZWNobyAkYmFzaWNfbWFjaGluZSB8IHNlZCAncy9eW14tXSotLy8nYAorCQk7OworCXBlbnRpdW1paS0qIHwgcGVudGl1bTItKiB8IHBlbnRpdW1paWktKiB8IHBlbnRpdW0zLSopCisJCWJhc2ljX21hY2hpbmU9aTY4Ni1gZWNobyAkYmFzaWNfbWFjaGluZSB8IHNlZCAncy9eW14tXSotLy8nYAorCQk7OworCXBlbnRpdW00LSopCisJCWJhc2ljX21hY2hpbmU9aTc4Ni1gZWNobyAkYmFzaWNfbWFjaGluZSB8IHNlZCAncy9eW14tXSotLy8nYAorCQk7OworCXBuKQorCQliYXNpY19tYWNoaW5lPXBuLWdvdWxkCisJCTs7CisJcG93ZXIpCWJhc2ljX21hY2hpbmU9cG93ZXItaWJtCisJCTs7CisJcHBjIHwgcHBjYmUpCWJhc2ljX21hY2hpbmU9cG93ZXJwYy11bmtub3duCisJCTs7CisJcHBjLSogfCBwcGNiZS0qKQorCQliYXNpY19tYWNoaW5lPXBvd2VycGMtYGVjaG8gJGJhc2ljX21hY2hpbmUgfCBzZWQgJ3MvXlteLV0qLS8vJ2AKKwkJOzsKKwlwcGNsZSB8IHBvd2VycGNsaXR0bGUgfCBwcGMtbGUgfCBwb3dlcnBjLWxpdHRsZSkKKwkJYmFzaWNfbWFjaGluZT1wb3dlcnBjbGUtdW5rbm93bgorCQk7OworCXBwY2xlLSogfCBwb3dlcnBjbGl0dGxlLSopCisJCWJhc2ljX21hY2hpbmU9cG93ZXJwY2xlLWBlY2hvICRiYXNpY19tYWNoaW5lIHwgc2VkICdzL15bXi1dKi0vLydgCisJCTs7CisJcHBjNjQpCWJhc2ljX21hY2hpbmU9cG93ZXJwYzY0LXVua25vd24KKwkJOzsKKwlwcGM2NC0qKSBiYXNpY19tYWNoaW5lPXBvd2VycGM2NC1gZWNobyAkYmFzaWNfbWFjaGluZSB8IHNlZCAncy9eW14tXSotLy8nYAorCQk7OworCXBwYzY0bGUgfCBwb3dlcnBjNjRsaXR0bGUgfCBwcGM2NC1sZSB8IHBvd2VycGM2NC1saXR0bGUpCisJCWJhc2ljX21hY2hpbmU9cG93ZXJwYzY0bGUtdW5rbm93bgorCQk7OworCXBwYzY0bGUtKiB8IHBvd2VycGM2NGxpdHRsZS0qKQorCQliYXNpY19tYWNoaW5lPXBvd2VycGM2NGxlLWBlY2hvICRiYXNpY19tYWNoaW5lIHwgc2VkICdzL15bXi1dKi0vLydgCisJCTs7CisJcHMyKQorCQliYXNpY19tYWNoaW5lPWkzODYtaWJtCisJCTs7CisJcHczMikKKwkJYmFzaWNfbWFjaGluZT1pNTg2LXVua25vd24KKwkJb3M9LXB3MzIKKwkJOzsKKwlyZG9zKQorCQliYXNpY19tYWNoaW5lPWkzODYtcGMKKwkJb3M9LXJkb3MKKwkJOzsKKwlyb202OGspCisJCWJhc2ljX21hY2hpbmU9bTY4ay1yb202OGsKKwkJb3M9LWNvZmYKKwkJOzsKKwlybVs0Nl0wMCkKKwkJYmFzaWNfbWFjaGluZT1taXBzLXNpZW1lbnMKKwkJOzsKKwlydHBjIHwgcnRwYy0qKQorCQliYXNpY19tYWNoaW5lPXJvbXAtaWJtCisJCTs7CisJczM5MCB8IHMzOTAtKikKKwkJYmFzaWNfbWFjaGluZT1zMzkwLWlibQorCQk7OworCXMzOTB4IHwgczM5MHgtKikKKwkJYmFzaWNfbWFjaGluZT1zMzkweC1pYm0KKwkJOzsKKwlzYTI5MjAwKQorCQliYXNpY19tYWNoaW5lPWEyOWstYW1kCisJCW9zPS11ZGkKKwkJOzsKKwlzYjEpCisJCWJhc2ljX21hY2hpbmU9bWlwc2lzYTY0c2IxLXVua25vd24KKwkJOzsKKwlzYjFlbCkKKwkJYmFzaWNfbWFjaGluZT1taXBzaXNhNjRzYjFlbC11bmtub3duCisJCTs7CisJc2RlKQorCQliYXNpY19tYWNoaW5lPW1pcHNpc2EzMi1zZGUKKwkJb3M9LWVsZgorCQk7OworCXNlaSkKKwkJYmFzaWNfbWFjaGluZT1taXBzLXNlaQorCQlvcz0tc2VpdXgKKwkJOzsKKwlzZXF1ZW50KQorCQliYXNpY19tYWNoaW5lPWkzODYtc2VxdWVudAorCQk7OworCXNoKQorCQliYXNpY19tYWNoaW5lPXNoLWhpdGFjaGkKKwkJb3M9LWhtcworCQk7OworCXNoNWVsKQorCQliYXNpY19tYWNoaW5lPXNoNWxlLXVua25vd24KKwkJOzsKKwlzaDY0KQorCQliYXNpY19tYWNoaW5lPXNoNjQtdW5rbm93bgorCQk7OworCXNwYXJjbGl0ZS13cnMgfCBzaW1zby13cnMpCisJCWJhc2ljX21hY2hpbmU9c3BhcmNsaXRlLXdycworCQlvcz0tdnh3b3JrcworCQk7OworCXNwczcpCisJCWJhc2ljX21hY2hpbmU9bTY4ay1idWxsCisJCW9zPS1zeXN2MgorCQk7OworCXNwdXIpCisJCWJhc2ljX21hY2hpbmU9c3B1ci11bmtub3duCisJCTs7CisJc3QyMDAwKQorCQliYXNpY19tYWNoaW5lPW02OGstdGFuZGVtCisJCTs7CisJc3RyYXR1cykKKwkJYmFzaWNfbWFjaGluZT1pODYwLXN0cmF0dXMKKwkJb3M9LXN5c3Y0CisJCTs7CisJc3Ryb25nYXJtLSogfCB0aHVtYi0qKQorCQliYXNpY19tYWNoaW5lPWFybS1gZWNobyAkYmFzaWNfbWFjaGluZSB8IHNlZCAncy9eW14tXSotLy8nYAorCQk7OworCXN1bjIpCisJCWJhc2ljX21hY2hpbmU9bTY4MDAwLXN1bgorCQk7OworCXN1bjJvczMpCisJCWJhc2ljX21hY2hpbmU9bTY4MDAwLXN1bgorCQlvcz0tc3Vub3MzCisJCTs7CisJc3VuMm9zNCkKKwkJYmFzaWNfbWFjaGluZT1tNjgwMDAtc3VuCisJCW9zPS1zdW5vczQKKwkJOzsKKwlzdW4zb3MzKQorCQliYXNpY19tYWNoaW5lPW02OGstc3VuCisJCW9zPS1zdW5vczMKKwkJOzsKKwlzdW4zb3M0KQorCQliYXNpY19tYWNoaW5lPW02OGstc3VuCisJCW9zPS1zdW5vczQKKwkJOzsKKwlzdW40b3MzKQorCQliYXNpY19tYWNoaW5lPXNwYXJjLXN1bgorCQlvcz0tc3Vub3MzCisJCTs7CisJc3VuNG9zNCkKKwkJYmFzaWNfbWFjaGluZT1zcGFyYy1zdW4KKwkJb3M9LXN1bm9zNAorCQk7OworCXN1bjRzb2wyKQorCQliYXNpY19tYWNoaW5lPXNwYXJjLXN1bgorCQlvcz0tc29sYXJpczIKKwkJOzsKKwlzdW4zIHwgc3VuMy0qKQorCQliYXNpY19tYWNoaW5lPW02OGstc3VuCisJCTs7CisJc3VuNCkKKwkJYmFzaWNfbWFjaGluZT1zcGFyYy1zdW4KKwkJOzsKKwlzdW4zODYgfCBzdW4zODZpIHwgcm9hZHJ1bm5lcikKKwkJYmFzaWNfbWFjaGluZT1pMzg2LXN1bgorCQk7OworCXN2MSkKKwkJYmFzaWNfbWFjaGluZT1zdjEtY3JheQorCQlvcz0tdW5pY29zCisJCTs7CisJc3ltbWV0cnkpCisJCWJhc2ljX21hY2hpbmU9aTM4Ni1zZXF1ZW50CisJCW9zPS1keW5peAorCQk7OworCXQzZSkKKwkJYmFzaWNfbWFjaGluZT1hbHBoYWV2NS1jcmF5CisJCW9zPS11bmljb3MKKwkJOzsKKwl0OTApCisJCWJhc2ljX21hY2hpbmU9dDkwLWNyYXkKKwkJb3M9LXVuaWNvcworCQk7OworCXRpbGUqKQorCQliYXNpY19tYWNoaW5lPSRiYXNpY19tYWNoaW5lLXVua25vd24KKwkJb3M9LWxpbnV4LWdudQorCQk7OworCXR4MzkpCisJCWJhc2ljX21hY2hpbmU9bWlwc3R4MzktdW5rbm93bgorCQk7OworCXR4MzllbCkKKwkJYmFzaWNfbWFjaGluZT1taXBzdHgzOWVsLXVua25vd24KKwkJOzsKKwl0b2FkMSkKKwkJYmFzaWNfbWFjaGluZT1wZHAxMC14a2wKKwkJb3M9LXRvcHMyMAorCQk7OworCXRvd2VyIHwgdG93ZXItMzIpCisJCWJhc2ljX21hY2hpbmU9bTY4ay1uY3IKKwkJOzsKKwl0cGYpCisJCWJhc2ljX21hY2hpbmU9czM5MHgtaWJtCisJCW9zPS10cGYKKwkJOzsKKwl1ZGkyOWspCisJCWJhc2ljX21hY2hpbmU9YTI5ay1hbWQKKwkJb3M9LXVkaQorCQk7OworCXVsdHJhMykKKwkJYmFzaWNfbWFjaGluZT1hMjlrLW55dQorCQlvcz0tc3ltMQorCQk7OworCXY4MTAgfCBuZWN2ODEwKQorCQliYXNpY19tYWNoaW5lPXY4MTAtbmVjCisJCW9zPS1ub25lCisJCTs7CisJdmF4dikKKwkJYmFzaWNfbWFjaGluZT12YXgtZGVjCisJCW9zPS1zeXN2CisJCTs7CisJdm1zKQorCQliYXNpY19tYWNoaW5lPXZheC1kZWMKKwkJb3M9LXZtcworCQk7OworCXZwcCp8dnh8dngtKikKKwkJYmFzaWNfbWFjaGluZT1mMzAxLWZ1aml0c3UKKwkJOzsKKwl2eHdvcmtzOTYwKQorCQliYXNpY19tYWNoaW5lPWk5NjAtd3JzCisJCW9zPS12eHdvcmtzCisJCTs7CisJdnh3b3JrczY4KQorCQliYXNpY19tYWNoaW5lPW02OGstd3JzCisJCW9zPS12eHdvcmtzCisJCTs7CisJdnh3b3JrczI5aykKKwkJYmFzaWNfbWFjaGluZT1hMjlrLXdycworCQlvcz0tdnh3b3JrcworCQk7OworCXc2NSopCisJCWJhc2ljX21hY2hpbmU9dzY1LXdkYworCQlvcz0tbm9uZQorCQk7OworCXc4OWstKikKKwkJYmFzaWNfbWFjaGluZT1ocHBhMS4xLXdpbmJvbmQKKwkJb3M9LXByb2VsZgorCQk7OworCXhib3gpCisJCWJhc2ljX21hY2hpbmU9aTY4Ni1wYworCQlvcz0tbWluZ3czMgorCQk7OworCXhwcyB8IHhwczEwMCkKKwkJYmFzaWNfbWFjaGluZT14cHMxMDAtaG9uZXl3ZWxsCisJCTs7CisJeHNjYWxlLSogfCB4c2NhbGVlW2JsXS0qKQorCQliYXNpY19tYWNoaW5lPWBlY2hvICRiYXNpY19tYWNoaW5lIHwgc2VkICdzL154c2NhbGUvYXJtLydgCisJCTs7CisJeW1wKQorCQliYXNpY19tYWNoaW5lPXltcC1jcmF5CisJCW9zPS11bmljb3MKKwkJOzsKKwl6OGstKi1jb2ZmKQorCQliYXNpY19tYWNoaW5lPXo4ay11bmtub3duCisJCW9zPS1zaW0KKwkJOzsKKwl6ODAtKi1jb2ZmKQorCQliYXNpY19tYWNoaW5lPXo4MC11bmtub3duCisJCW9zPS1zaW0KKwkJOzsKKwlub25lKQorCQliYXNpY19tYWNoaW5lPW5vbmUtbm9uZQorCQlvcz0tbm9uZQorCQk7OworCisjIEhlcmUgd2UgaGFuZGxlIHRoZSBkZWZhdWx0IG1hbnVmYWN0dXJlciBvZiBjZXJ0YWluIENQVSB0eXBlcy4gIEl0IGlzIGluCisjIHNvbWUgY2FzZXMgdGhlIG9ubHkgbWFudWZhY3R1cmVyLCBpbiBvdGhlcnMsIGl0IGlzIHRoZSBtb3N0IHBvcHVsYXIuCisJdzg5aykKKwkJYmFzaWNfbWFjaGluZT1ocHBhMS4xLXdpbmJvbmQKKwkJOzsKKwlvcDUwbikKKwkJYmFzaWNfbWFjaGluZT1ocHBhMS4xLW9raQorCQk7OworCW9wNjBjKQorCQliYXNpY19tYWNoaW5lPWhwcGExLjEtb2tpCisJCTs7CisJcm9tcCkKKwkJYmFzaWNfbWFjaGluZT1yb21wLWlibQorCQk7OworCW1taXgpCisJCWJhc2ljX21hY2hpbmU9bW1peC1rbnV0aAorCQk7OworCXJzNjAwMCkKKwkJYmFzaWNfbWFjaGluZT1yczYwMDAtaWJtCisJCTs7CisJdmF4KQorCQliYXNpY19tYWNoaW5lPXZheC1kZWMKKwkJOzsKKwlwZHAxMCkKKwkJIyB0aGVyZSBhcmUgbWFueSBjbG9uZXMsIHNvIERFQyBpcyBub3QgYSBzYWZlIGJldAorCQliYXNpY19tYWNoaW5lPXBkcDEwLXVua25vd24KKwkJOzsKKwlwZHAxMSkKKwkJYmFzaWNfbWFjaGluZT1wZHAxMS1kZWMKKwkJOzsKKwl3ZTMyaykKKwkJYmFzaWNfbWFjaGluZT13ZTMyay1hdHQKKwkJOzsKKwlzaFsxMjM0XSB8IHNoWzI0XWEgfCBzaFsyNF1hZWIgfCBzaFszNF1lYiB8IHNoWzEyMzRdbGUgfCBzaFsyM11lbGUpCisJCWJhc2ljX21hY2hpbmU9c2gtdW5rbm93bgorCQk7OworCXNwYXJjIHwgc3BhcmN2OCB8IHNwYXJjdjkgfCBzcGFyY3Y5YiB8IHNwYXJjdjl2KQorCQliYXNpY19tYWNoaW5lPXNwYXJjLXN1bgorCQk7OworCWN5ZHJhKQorCQliYXNpY19tYWNoaW5lPWN5ZHJhLWN5ZHJvbWUKKwkJOzsKKwlvcmlvbikKKwkJYmFzaWNfbWFjaGluZT1vcmlvbi1oaWdobGV2ZWwKKwkJOzsKKwlvcmlvbjEwNSkKKwkJYmFzaWNfbWFjaGluZT1jbGlwcGVyLWhpZ2hsZXZlbAorCQk7OworCW1hYyB8IG1wdyB8IG1hYy1tcHcpCisJCWJhc2ljX21hY2hpbmU9bTY4ay1hcHBsZQorCQk7OworCXBtYWMgfCBwbWFjLW1wdykKKwkJYmFzaWNfbWFjaGluZT1wb3dlcnBjLWFwcGxlCisJCTs7CisJKi11bmtub3duKQorCQkjIE1ha2Ugc3VyZSB0byBtYXRjaCBhbiBhbHJlYWR5LWNhbm9uaWNhbGl6ZWQgbWFjaGluZSBuYW1lLgorCQk7OworCSopCisJCWVjaG8gSW52YWxpZCBjb25maWd1cmF0aW9uIFxgJDFcJzogbWFjaGluZSBcYCRiYXNpY19tYWNoaW5lXCcgbm90IHJlY29nbml6ZWQgMT4mMgorCQlleGl0IDEKKwkJOzsKK2VzYWMKKworIyBIZXJlIHdlIGNhbm9uaWNhbGl6ZSBjZXJ0YWluIGFsaWFzZXMgZm9yIG1hbnVmYWN0dXJlcnMuCitjYXNlICRiYXNpY19tYWNoaW5lIGluCisJKi1kaWdpdGFsKikKKwkJYmFzaWNfbWFjaGluZT1gZWNobyAkYmFzaWNfbWFjaGluZSB8IHNlZCAncy9kaWdpdGFsLiovZGVjLydgCisJCTs7CisJKi1jb21tb2RvcmUqKQorCQliYXNpY19tYWNoaW5lPWBlY2hvICRiYXNpY19tYWNoaW5lIHwgc2VkICdzL2NvbW1vZG9yZS4qL2NibS8nYAorCQk7OworCSopCisJCTs7Citlc2FjCisKKyMgRGVjb2RlIG1hbnVmYWN0dXJlci1zcGVjaWZpYyBhbGlhc2VzIGZvciBjZXJ0YWluIG9wZXJhdGluZyBzeXN0ZW1zLgorCitpZiBbIHgiJG9zIiAhPSB4IiIgXQordGhlbgorY2FzZSAkb3MgaW4KKwkjIEZpcnN0IG1hdGNoIHNvbWUgc3lzdGVtIHR5cGUgYWxpYXNlcworCSMgdGhhdCBtaWdodCBnZXQgY29uZnVzZWQgd2l0aCB2YWxpZCBzeXN0ZW0gdHlwZXMuCisJIyAtc29sYXJpcyogaXMgYSBiYXNpYyBzeXN0ZW0gdHlwZSwgd2l0aCB0aGlzIG9uZSBleGNlcHRpb24uCisJLWF1cm9yYXV4KQorCQlvcz0tYXVyb3JhdXgKKwkJOzsKKwktc29sYXJpczEgfCAtc29sYXJpczEuKikKKwkJb3M9YGVjaG8gJG9zIHwgc2VkIC1lICdzfHNvbGFyaXMxfHN1bm9zNHwnYAorCQk7OworCS1zb2xhcmlzKQorCQlvcz0tc29sYXJpczIKKwkJOzsKKwktc3ZyNCopCisJCW9zPS1zeXN2NAorCQk7OworCS11bml4d2FyZSopCisJCW9zPS1zeXN2NC4ydXcKKwkJOzsKKwktZ251L2xpbnV4KikKKwkJb3M9YGVjaG8gJG9zIHwgc2VkIC1lICdzfGdudS9saW51eHxsaW51eC1nbnV8J2AKKwkJOzsKKwkjIEZpcnN0IGFjY2VwdCB0aGUgYmFzaWMgc3lzdGVtIHR5cGVzLgorCSMgVGhlIHBvcnRhYmxlIHN5c3RlbXMgY29tZXMgZmlyc3QuCisJIyBFYWNoIGFsdGVybmF0aXZlIE1VU1QgRU5EIElOIEEgKiwgdG8gbWF0Y2ggYSB2ZXJzaW9uIG51bWJlci4KKwkjIC1zeXN2KiBpcyBub3QgaGVyZSBiZWNhdXNlIGl0IGNvbWVzIGxhdGVyLCBhZnRlciBzeXN2cjQuCisJLWdudSogfCAtYnNkKiB8IC1tYWNoKiB8IC1taW5peCogfCAtZ2VuaXgqIHwgLXVsdHJpeCogfCAtaXJpeCogXAorCSAgICAgIHwgLSp2bXMqIHwgLXNjbyogfCAtZXNpeCogfCAtaXNjKiB8IC1haXgqIHwgLWNuayogfCAtc3Vub3MgfCAtc3Vub3NbMzRdKlwKKwkgICAgICB8IC1ocHV4KiB8IC11bm9zKiB8IC1vc2YqIHwgLWx1bmEqIHwgLWRndXgqIHwgLWF1cm9yYXV4KiB8IC1zb2xhcmlzKiBcCisJICAgICAgfCAtc3ltKiB8IC1rb3BlbnNvbGFyaXMqIFwKKwkgICAgICB8IC1hbWlnYW9zKiB8IC1hbWlnYWRvcyogfCAtbXNkb3MqIHwgLW5ld3NvcyogfCAtdW5pY29zKiB8IC1hb2YqIFwKKwkgICAgICB8IC1hb3MqIHwgLWFyb3MqIFwKKwkgICAgICB8IC1uaW5keSogfCAtdnhzaW0qIHwgLXZ4d29ya3MqIHwgLWVibW9uKiB8IC1obXMqIHwgLW12cyogXAorCSAgICAgIHwgLWNsaXgqIHwgLXJpc2NvcyogfCAtdW5pcGx1cyogfCAtaXJpcyogfCAtcnR1KiB8IC14ZW5peCogXAorCSAgICAgIHwgLWhpdXgqIHwgLTM4NmJzZCogfCAta25ldGJzZCogfCAtbWlyYnNkKiB8IC1uZXRic2QqIFwKKwkgICAgICB8IC1vcGVuYnNkKiB8IC1zb2xpZGJzZCogXAorCSAgICAgIHwgLWVra29ic2QqIHwgLWtmcmVlYnNkKiB8IC1mcmVlYnNkKiB8IC1yaXNjaXgqIHwgLWx5bnhvcyogXAorCSAgICAgIHwgLWJvc3gqIHwgLW5leHRzdGVwKiB8IC1jeHV4KiB8IC1hb3V0KiB8IC1lbGYqIHwgLW9hYmkqIFwKKwkgICAgICB8IC1wdHgqIHwgLWNvZmYqIHwgLWVjb2ZmKiB8IC13aW5udCogfCAtZG9tYWluKiB8IC12c3RhKiBcCisJICAgICAgfCAtdWRpKiB8IC1lYWJpKiB8IC1saXRlcyogfCAtaWVlZSogfCAtZ28zMiogfCAtYXV4KiBcCisJICAgICAgfCAtY2hvcnVzb3MqIHwgLWNob3J1c3JkYiogfCAtY2VnY2MqIFwKKwkgICAgICB8IC1jeWd3aW4qIHwgLW1zeXMqIHwgLXBlKiB8IC1wc29zKiB8IC1tb3NzKiB8IC1wcm9lbGYqIHwgLXJ0ZW1zKiBcCisJICAgICAgfCAtbWluZ3czMiogfCAtbGludXgtZ251KiB8IC1saW51eC1hbmRyb2lkKiBcCisJICAgICAgfCAtbGludXgtbmV3bGliKiB8IC1saW51eC11Y2xpYmMqIFwKKwkgICAgICB8IC11eHB2KiB8IC1iZW9zKiB8IC1tcGVpeCogfCAtdWRrKiBcCisJICAgICAgfCAtaW50ZXJpeCogfCAtdXdpbiogfCAtbWtzKiB8IC1yaGFwc29keSogfCAtZGFyd2luKiB8IC1vcGVuZWQqIFwKKwkgICAgICB8IC1vcGVuc3RlcCogfCAtb3NraXQqIHwgLWNvbml4KiB8IC1wdzMyKiB8IC1ub25zdG9wdXgqIFwKKwkgICAgICB8IC1zdG9ybS1jaGFvcyogfCAtdG9wczEwKiB8IC10ZW5leCogfCAtdG9wczIwKiB8IC1pdHMqIFwKKwkgICAgICB8IC1vczIqIHwgLXZvcyogfCAtcGFsbW9zKiB8IC11Y2xpbnV4KiB8IC1udWNsZXVzKiBcCisJICAgICAgfCAtbW9ycGhvcyogfCAtc3VwZXJ1eCogfCAtcnRtayogfCAtcnRtay1ub3ZhKiB8IC13aW5kaXNzKiBcCisJICAgICAgfCAtcG93ZXJtYXgqIHwgLWRuaXgqIHwgLW54NiB8IC1ueDcgfCAtc2VpKiB8IC1kcmFnb25mbHkqIFwKKwkgICAgICB8IC1za3lvcyogfCAtaGFpa3UqIHwgLXJkb3MqIHwgLXRvcHBlcnMqIHwgLWRyb3BzKiB8IC1lcyopCisJIyBSZW1lbWJlciwgZWFjaCBhbHRlcm5hdGl2ZSBNVVNUIEVORCBJTiAqLCB0byBtYXRjaCBhIHZlcnNpb24gbnVtYmVyLgorCQk7OworCS1xbngqKQorCQljYXNlICRiYXNpY19tYWNoaW5lIGluCisJCSAgICB4ODYtKiB8IGkqODYtKikKKwkJCTs7CisJCSAgICAqKQorCQkJb3M9LW50byRvcworCQkJOzsKKwkJZXNhYworCQk7OworCS1udG8tcW54KikKKwkJOzsKKwktbnRvKikKKwkJb3M9YGVjaG8gJG9zIHwgc2VkIC1lICdzfG50b3xudG8tcW54fCdgCisJCTs7CisJLXNpbSB8IC1lczE4MDAqIHwgLWhtcyogfCAteHJheSB8IC1vczY4ayogfCAtbm9uZSogfCAtdjg4ciogXAorCSAgICAgIHwgLXdpbmRvd3MqIHwgLW9zeCB8IC1hYnVnIHwgLW5ldHdhcmUqIHwgLW9zOSogfCAtYmVvcyogfCAtaGFpa3UqIFwKKwkgICAgICB8IC1tYWNvcyogfCAtbXB3KiB8IC1tYWdpYyogfCAtbW1peHdhcmUqIHwgLW1vbjk2MCogfCAtbG5ld3MqKQorCQk7OworCS1tYWMqKQorCQlvcz1gZWNobyAkb3MgfCBzZWQgLWUgJ3N8bWFjfG1hY29zfCdgCisJCTs7CisJLWxpbnV4LWRpZXRsaWJjKQorCQlvcz0tbGludXgtZGlldGxpYmMKKwkJOzsKKwktbGludXgqKQorCQlvcz1gZWNobyAkb3MgfCBzZWQgLWUgJ3N8bGludXh8bGludXgtZ251fCdgCisJCTs7CisJLXN1bm9zNSopCisJCW9zPWBlY2hvICRvcyB8IHNlZCAtZSAnc3xzdW5vczV8c29sYXJpczJ8J2AKKwkJOzsKKwktc3Vub3M2KikKKwkJb3M9YGVjaG8gJG9zIHwgc2VkIC1lICdzfHN1bm9zNnxzb2xhcmlzM3wnYAorCQk7OworCS1vcGVuZWQqKQorCQlvcz0tb3BlbmVkaXRpb24KKwkJOzsKKwktb3M0MDAqKQorCQlvcz0tb3M0MDAKKwkJOzsKKwktd2luY2UqKQorCQlvcz0td2luY2UKKwkJOzsKKwktb3Nmcm9zZSopCisJCW9zPS1vc2Zyb3NlCisJCTs7CisJLW9zZiopCisJCW9zPS1vc2YKKwkJOzsKKwktdXRlayopCisJCW9zPS1ic2QKKwkJOzsKKwktZHluaXgqKQorCQlvcz0tYnNkCisJCTs7CisJLWFjaXMqKQorCQlvcz0tYW9zCisJCTs7CisJLWF0aGVvcyopCisJCW9zPS1hdGhlb3MKKwkJOzsKKwktc3lsbGFibGUqKQorCQlvcz0tc3lsbGFibGUKKwkJOzsKKwktMzg2YnNkKQorCQlvcz0tYnNkCisJCTs7CisJLWN0aXgqIHwgLXV0cyopCisJCW9zPS1zeXN2CisJCTs7CisJLW5vdmEqKQorCQlvcz0tcnRtay1ub3ZhCisJCTs7CisJLW5zMiApCisJCW9zPS1uZXh0c3RlcDIKKwkJOzsKKwktbnNrKikKKwkJb3M9LW5zaworCQk7OworCSMgUHJlc2VydmUgdGhlIHZlcnNpb24gbnVtYmVyIG9mIHNpbml4NS4KKwktc2luaXg1LiopCisJCW9zPWBlY2hvICRvcyB8IHNlZCAtZSAnc3xzaW5peHxzeXN2fCdgCisJCTs7CisJLXNpbml4KikKKwkJb3M9LXN5c3Y0CisJCTs7CisJLXRwZiopCisJCW9zPS10cGYKKwkJOzsKKwktdHJpdG9uKikKKwkJb3M9LXN5c3YzCisJCTs7CisJLW9zcyopCisJCW9zPS1zeXN2MworCQk7OworCS1zdnI0KQorCQlvcz0tc3lzdjQKKwkJOzsKKwktc3ZyMykKKwkJb3M9LXN5c3YzCisJCTs7CisJLXN5c3ZyNCkKKwkJb3M9LXN5c3Y0CisJCTs7CisJIyBUaGlzIG11c3QgY29tZSBhZnRlciAtc3lzdnI0LgorCS1zeXN2KikKKwkJOzsKKwktb3NlKikKKwkJb3M9LW9zZQorCQk7OworCS1lczE4MDAqKQorCQlvcz0tb3NlCisJCTs7CisJLXhlbml4KQorCQlvcz0teGVuaXgKKwkJOzsKKwktKm1pbnQgfCAtbWludFswLTldKiB8IC0qTWlOVCB8IC1NaU5UWzAtOV0qKQorCQlvcz0tbWludAorCQk7OworCS1hcm9zKikKKwkJb3M9LWFyb3MKKwkJOzsKKwkta2FvcyopCisJCW9zPS1rYW9zCisJCTs7CisJLXp2bW9lKQorCQlvcz0tenZtb2UKKwkJOzsKKwktZGljb3MqKQorCQlvcz0tZGljb3MKKwkJOzsKKwktbmFjbCopCisJCTs7CisJLW5vbmUpCisJCTs7CisJKikKKwkJIyBHZXQgcmlkIG9mIHRoZSBgLScgYXQgdGhlIGJlZ2lubmluZyBvZiAkb3MuCisJCW9zPWBlY2hvICRvcyB8IHNlZCAncy9bXi1dKi0vLydgCisJCWVjaG8gSW52YWxpZCBjb25maWd1cmF0aW9uIFxgJDFcJzogc3lzdGVtIFxgJG9zXCcgbm90IHJlY29nbml6ZWQgMT4mMgorCQlleGl0IDEKKwkJOzsKK2VzYWMKK2Vsc2UKKworIyBIZXJlIHdlIGhhbmRsZSB0aGUgZGVmYXVsdCBvcGVyYXRpbmcgc3lzdGVtcyB0aGF0IGNvbWUgd2l0aCB2YXJpb3VzIG1hY2hpbmVzLgorIyBUaGUgdmFsdWUgc2hvdWxkIGJlIHdoYXQgdGhlIHZlbmRvciBjdXJyZW50bHkgc2hpcHMgb3V0IHRoZSBkb29yIHdpdGggdGhlaXIKKyMgbWFjaGluZSBvciBwdXQgYW5vdGhlciB3YXksIHRoZSBtb3N0IHBvcHVsYXIgb3MgcHJvdmlkZWQgd2l0aCB0aGUgbWFjaGluZS4KKworIyBOb3RlIHRoYXQgaWYgeW91J3JlIGdvaW5nIHRvIHRyeSB0byBtYXRjaCAiLU1BTlVGQUNUVVJFUiIgaGVyZSAoc2F5LAorIyAiLXN1biIpLCB0aGVuIHlvdSBoYXZlIHRvIHRlbGwgdGhlIGNhc2Ugc3RhdGVtZW50IHVwIHRvd2FyZHMgdGhlIHRvcAorIyB0aGF0IE1BTlVGQUNUVVJFUiBpc24ndCBhbiBvcGVyYXRpbmcgc3lzdGVtLiAgT3RoZXJ3aXNlLCBjb2RlIGFib3ZlCisjIHdpbGwgc2lnbmFsIGFuIGVycm9yIHNheWluZyB0aGF0IE1BTlVGQUNUVVJFUiBpc24ndCBhbiBvcGVyYXRpbmcKKyMgc3lzdGVtLCBhbmQgd2UnbGwgbmV2ZXIgZ2V0IHRvIHRoaXMgcG9pbnQuCisKK2Nhc2UgJGJhc2ljX21hY2hpbmUgaW4KKwlzY29yZS0qKQorCQlvcz0tZWxmCisJCTs7CisJc3B1LSopCisJCW9zPS1lbGYKKwkJOzsKKwkqLWFjb3JuKQorCQlvcz0tcmlzY2l4MS4yCisJCTs7CisJYXJtKi1yZWJlbCkKKwkJb3M9LWxpbnV4CisJCTs7CisJYXJtKi1zZW1pKQorCQlvcz0tYW91dAorCQk7OworCWM0eC0qIHwgdGljNHgtKikKKwkJb3M9LWNvZmYKKwkJOzsKKwl0aWM1NHgtKikKKwkJb3M9LWNvZmYKKwkJOzsKKwl0aWM1NXgtKikKKwkJb3M9LWNvZmYKKwkJOzsKKwl0aWM2eC0qKQorCQlvcz0tY29mZgorCQk7OworCSMgVGhpcyBtdXN0IGNvbWUgYmVmb3JlIHRoZSAqLWRlYyBlbnRyeS4KKwlwZHAxMC0qKQorCQlvcz0tdG9wczIwCisJCTs7CisJcGRwMTEtKikKKwkJb3M9LW5vbmUKKwkJOzsKKwkqLWRlYyB8IHZheC0qKQorCQlvcz0tdWx0cml4NC4yCisJCTs7CisJbTY4Ki1hcG9sbG8pCisJCW9zPS1kb21haW4KKwkJOzsKKwlpMzg2LXN1bikKKwkJb3M9LXN1bm9zNC4wLjIKKwkJOzsKKwltNjgwMDAtc3VuKQorCQlvcz0tc3Vub3MzCisJCTs7CisJbTY4Ki1jaXNjbykKKwkJb3M9LWFvdXQKKwkJOzsKKwltZXAtKikKKwkJb3M9LWVsZgorCQk7OworCW1pcHMqLWNpc2NvKQorCQlvcz0tZWxmCisJCTs7CisJbWlwcyotKikKKwkJb3M9LWVsZgorCQk7OworCW9yMzItKikKKwkJb3M9LWNvZmYKKwkJOzsKKwkqLXR0aSkJIyBtdXN0IGJlIGJlZm9yZSBzcGFyYyBlbnRyeSBvciB3ZSBnZXQgdGhlIHdyb25nIG9zLgorCQlvcz0tc3lzdjMKKwkJOzsKKwlzcGFyYy0qIHwgKi1zdW4pCisJCW9zPS1zdW5vczQuMS4xCisJCTs7CisJKi1iZSkKKwkJb3M9LWJlb3MKKwkJOzsKKwkqLWhhaWt1KQorCQlvcz0taGFpa3UKKwkJOzsKKwkqLWlibSkKKwkJb3M9LWFpeAorCQk7OworCSota251dGgpCisJCW9zPS1tbWl4d2FyZQorCQk7OworCSotd2VjKQorCQlvcz0tcHJvZWxmCisJCTs7CisJKi13aW5ib25kKQorCQlvcz0tcHJvZWxmCisJCTs7CisJKi1va2kpCisJCW9zPS1wcm9lbGYKKwkJOzsKKwkqLWhwKQorCQlvcz0taHB1eAorCQk7OworCSotaGl0YWNoaSkKKwkJb3M9LWhpdXgKKwkJOzsKKwlpODYwLSogfCAqLWF0dCB8ICotbmNyIHwgKi1hbHRvcyB8ICotbW90b3JvbGEgfCAqLWNvbnZlcmdlbnQpCisJCW9zPS1zeXN2CisJCTs7CisJKi1jYm0pCisJCW9zPS1hbWlnYW9zCisJCTs7CisJKi1kZykKKwkJb3M9LWRndXgKKwkJOzsKKwkqLWRvbHBoaW4pCisJCW9zPS1zeXN2MworCQk7OworCW02OGstY2N1cikKKwkJb3M9LXJ0dQorCQk7OworCW04OGstb21yb24qKQorCQlvcz0tbHVuYQorCQk7OworCSotbmV4dCApCisJCW9zPS1uZXh0c3RlcAorCQk7OworCSotc2VxdWVudCkKKwkJb3M9LXB0eAorCQk7OworCSotY3JkcykKKwkJb3M9LXVub3MKKwkJOzsKKwkqLW5zKQorCQlvcz0tZ2VuaXgKKwkJOzsKKwlpMzcwLSopCisJCW9zPS1tdnMKKwkJOzsKKwkqLW5leHQpCisJCW9zPS1uZXh0c3RlcDMKKwkJOzsKKwkqLWdvdWxkKQorCQlvcz0tc3lzdgorCQk7OworCSotaGlnaGxldmVsKQorCQlvcz0tYnNkCisJCTs7CisJKi1lbmNvcmUpCisJCW9zPS1ic2QKKwkJOzsKKwkqLXNnaSkKKwkJb3M9LWlyaXgKKwkJOzsKKwkqLXNpZW1lbnMpCisJCW9zPS1zeXN2NAorCQk7OworCSotbWFzc2NvbXApCisJCW9zPS1ydHUKKwkJOzsKKwlmMzBbMDFdLWZ1aml0c3UgfCBmNzAwLWZ1aml0c3UpCisJCW9zPS11eHB2CisJCTs7CisJKi1yb202OGspCisJCW9zPS1jb2ZmCisJCTs7CisJKi0qYnVnKQorCQlvcz0tY29mZgorCQk7OworCSotYXBwbGUpCisJCW9zPS1tYWNvcworCQk7OworCSotYXRhcmkqKQorCQlvcz0tbWludAorCQk7OworCSopCisJCW9zPS1ub25lCisJCTs7Citlc2FjCitmaQorCisjIEhlcmUgd2UgaGFuZGxlIHRoZSBjYXNlIHdoZXJlIHdlIGtub3cgdGhlIG9zLCBhbmQgdGhlIENQVSB0eXBlLCBidXQgbm90IHRoZQorIyBtYW51ZmFjdHVyZXIuICBXZSBwaWNrIHRoZSBsb2dpY2FsIG1hbnVmYWN0dXJlci4KK3ZlbmRvcj11bmtub3duCitjYXNlICRiYXNpY19tYWNoaW5lIGluCisJKi11bmtub3duKQorCQljYXNlICRvcyBpbgorCQkJLXJpc2NpeCopCisJCQkJdmVuZG9yPWFjb3JuCisJCQkJOzsKKwkJCS1zdW5vcyopCisJCQkJdmVuZG9yPXN1bgorCQkJCTs7CisJCQktY25rKnwtYWl4KikKKwkJCQl2ZW5kb3I9aWJtCisJCQkJOzsKKwkJCS1iZW9zKikKKwkJCQl2ZW5kb3I9YmUKKwkJCQk7OworCQkJLWhwdXgqKQorCQkJCXZlbmRvcj1ocAorCQkJCTs7CisJCQktbXBlaXgqKQorCQkJCXZlbmRvcj1ocAorCQkJCTs7CisJCQktaGl1eCopCisJCQkJdmVuZG9yPWhpdGFjaGkKKwkJCQk7OworCQkJLXVub3MqKQorCQkJCXZlbmRvcj1jcmRzCisJCQkJOzsKKwkJCS1kZ3V4KikKKwkJCQl2ZW5kb3I9ZGcKKwkJCQk7OworCQkJLWx1bmEqKQorCQkJCXZlbmRvcj1vbXJvbgorCQkJCTs7CisJCQktZ2VuaXgqKQorCQkJCXZlbmRvcj1ucworCQkJCTs7CisJCQktbXZzKiB8IC1vcGVuZWQqKQorCQkJCXZlbmRvcj1pYm0KKwkJCQk7OworCQkJLW9zNDAwKikKKwkJCQl2ZW5kb3I9aWJtCisJCQkJOzsKKwkJCS1wdHgqKQorCQkJCXZlbmRvcj1zZXF1ZW50CisJCQkJOzsKKwkJCS10cGYqKQorCQkJCXZlbmRvcj1pYm0KKwkJCQk7OworCQkJLXZ4c2ltKiB8IC12eHdvcmtzKiB8IC13aW5kaXNzKikKKwkJCQl2ZW5kb3I9d3JzCisJCQkJOzsKKwkJCS1hdXgqKQorCQkJCXZlbmRvcj1hcHBsZQorCQkJCTs7CisJCQktaG1zKikKKwkJCQl2ZW5kb3I9aGl0YWNoaQorCQkJCTs7CisJCQktbXB3KiB8IC1tYWNvcyopCisJCQkJdmVuZG9yPWFwcGxlCisJCQkJOzsKKwkJCS0qbWludCB8IC1taW50WzAtOV0qIHwgLSpNaU5UIHwgLU1pTlRbMC05XSopCisJCQkJdmVuZG9yPWF0YXJpCisJCQkJOzsKKwkJCS12b3MqKQorCQkJCXZlbmRvcj1zdHJhdHVzCisJCQkJOzsKKwkJZXNhYworCQliYXNpY19tYWNoaW5lPWBlY2hvICRiYXNpY19tYWNoaW5lIHwgc2VkICJzL3Vua25vd24vJHZlbmRvci8iYAorCQk7OworZXNhYworCitlY2hvICRiYXNpY19tYWNoaW5lJG9zCitleGl0CisKKyMgTG9jYWwgdmFyaWFibGVzOgorIyBldmFsOiAoYWRkLWhvb2sgJ3dyaXRlLWZpbGUtaG9va3MgJ3RpbWUtc3RhbXApCisjIHRpbWUtc3RhbXAtc3RhcnQ6ICJ0aW1lc3RhbXA9JyIKKyMgdGltZS1zdGFtcC1mb3JtYXQ6ICIlOnktJTAybS0lMDJkIgorIyB0aW1lLXN0YW1wLWVuZDogIiciCisjIEVuZDoKZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZSBiL2NvbmZpZ3VyZQppbmRleCA5ZTdjZmMwLi5iZTc2ODRhIDEwMDc1NQotLS0gYS9jb25maWd1cmUKKysrIGIvY29uZmlndXJlCkBAIC0xLDcgKzEsNiBAQAogIyEgL2Jpbi9zaAotIyBGcm9tIGNvbmZpZ3VyZS5hYyBSZXZpc2lvbi4KICMgR3Vlc3MgdmFsdWVzIGZvciBzeXN0ZW0tZGVwZW5kZW50IHZhcmlhYmxlcyBhbmQgY3JlYXRlIE1ha2VmaWxlcy4KLSMgR2VuZXJhdGVkIGJ5IEdOVSBBdXRvY29uZiAyLjY4IGZvciBweXRob24gMy4yLgorIyBHZW5lcmF0ZWQgYnkgR05VIEF1dG9jb25mIDIuNjggZm9yIHB5dGhvbiAzLjMuCiAjCiAjIFJlcG9ydCBidWdzIHRvIDxodHRwOi8vYnVncy5weXRob24ub3JnLz4uCiAjCkBAIC01NjEsOCArNTYwLDggQEAKICMgSWRlbnRpdHkgb2YgdGhpcyBwYWNrYWdlLgogUEFDS0FHRV9OQU1FPSdweXRob24nCiBQQUNLQUdFX1RBUk5BTUU9J3B5dGhvbicKLVBBQ0tBR0VfVkVSU0lPTj0nMy4yJwotUEFDS0FHRV9TVFJJTkc9J3B5dGhvbiAzLjInCitQQUNLQUdFX1ZFUlNJT049JzMuMycKK1BBQ0tBR0VfU1RSSU5HPSdweXRob24gMy4zJwogUEFDS0FHRV9CVUdSRVBPUlQ9J2h0dHA6Ly9idWdzLnB5dGhvbi5vcmcvJwogUEFDS0FHRV9VUkw9JycKIApAQCAtNjQxLDE2ICs2NDAsMTIgQEAKIE9QVAogQUJJRkxBR1MKIExOCitNS0RJUl9QCiBJTlNUQUxMX0RBVEEKIElOU1RBTExfU0NSSVBUCiBJTlNUQUxMX1BST0dSQU0KIEhBU19QWVRIT04KIERJU0FCTEVfQVNETEdFTgotSEFTX0hHCi1IR0JSQU5DSAotSEdUQUcKLUhHVkVSU0lPTgotU1ZOVkVSU0lPTgogQVJGTEFHUwogQVIKIFJBTkxJQgpAQCAtNzAxLDYgKzY5NiwxOCBAQAogQ09ORklHX0FSR1MKIFNPVkVSU0lPTgogVkVSU0lPTgoraG9zdF9vcworaG9zdF92ZW5kb3IKK2hvc3RfY3B1Citob3N0CitidWlsZF9vcworYnVpbGRfdmVuZG9yCitidWlsZF9jcHUKK2J1aWxkCitIQVNfSEcKK0hHQlJBTkNICitIR1RBRworSEdWRVJTSU9OCiB0YXJnZXRfYWxpYXMKIGhvc3RfYWxpYXMKIGJ1aWxkX2FsaWFzCkBAIC03NTgsNyArNzY1LDYgQEAKIGVuYWJsZV9sb2FkYWJsZV9zcWxpdGVfZXh0ZW5zaW9ucwogd2l0aF9kYm1saWJvcmRlcgogd2l0aF9zaWduYWxfbW9kdWxlCi13aXRoX2RlY190aHJlYWRzCiB3aXRoX3RocmVhZHMKIHdpdGhfdGhyZWFkCiBlbmFibGVfaXB2NgpAQCAtNzcwLDcgKzc3Niw2IEBACiB3aXRoX2xpYm0KIHdpdGhfbGliYwogZW5hYmxlX2JpZ19kaWdpdHMKLXdpdGhfd2lkZV91bmljb2RlCiB3aXRoX2NvbXB1dGVkX2dvdG9zCiAnCiAgICAgICBhY19wcmVjaW91c192YXJzPSdidWlsZF9hbGlhcwpAQCAtMTMyNCw3ICsxMzI5LDcgQEAKICAgIyBPbWl0IHNvbWUgaW50ZXJuYWwgb3Igb2Jzb2xldGUgb3B0aW9ucyB0byBtYWtlIHRoZSBsaXN0IGxlc3MgaW1wb3NpbmcuCiAgICMgVGhpcyBtZXNzYWdlIGlzIHRvbyBsb25nIHRvIGJlIGEgc3RyaW5nIGluIHRoZSBBL1VYIDMuMSBzaC4KICAgY2F0IDw8X0FDRU9GCi1cYGNvbmZpZ3VyZScgY29uZmlndXJlcyBweXRob24gMy4yIHRvIGFkYXB0IHRvIG1hbnkga2luZHMgb2Ygc3lzdGVtcy4KK1xgY29uZmlndXJlJyBjb25maWd1cmVzIHB5dGhvbiAzLjMgdG8gYWRhcHQgdG8gbWFueSBraW5kcyBvZiBzeXN0ZW1zLgogCiBVc2FnZTogJDAgW09QVElPTl0uLi4gW1ZBUj1WQUxVRV0uLi4KIApAQCAtMTM4MCwxMiArMTM4NSwxNiBAQAogX0FDRU9GCiAKICAgY2F0IDw8XF9BQ0VPRgorCitTeXN0ZW0gdHlwZXM6CisgIC0tYnVpbGQ9QlVJTEQgICAgIGNvbmZpZ3VyZSBmb3IgYnVpbGRpbmcgb24gQlVJTEQgW2d1ZXNzZWRdCisgIC0taG9zdD1IT1NUICAgICAgIGNyb3NzLWNvbXBpbGUgdG8gYnVpbGQgcHJvZ3JhbXMgdG8gcnVuIG9uIEhPU1QgW0JVSUxEXQogX0FDRU9GCiBmaQogCiBpZiB0ZXN0IC1uICIkYWNfaW5pdF9oZWxwIjsgdGhlbgogICBjYXNlICRhY19pbml0X2hlbHAgaW4KLSAgICAgc2hvcnQgfCByZWN1cnNpdmUgKSBlY2hvICJDb25maWd1cmF0aW9uIG9mIHB5dGhvbiAzLjI6Ijs7CisgICAgIHNob3J0IHwgcmVjdXJzaXZlICkgZWNobyAiQ29uZmlndXJhdGlvbiBvZiBweXRob24gMy4zOiI7OwogICAgZXNhYwogICBjYXQgPDxcX0FDRU9GCiAKQEAgLTE0MzAsNyArMTQzOSw2IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9uIHNlcGFyYXRlZCBzdHJpbmcgd2l0aCB0aGUgYmFja2VuZCBuYW1lcwogICAgICAgICAgICAgICAgICAgICAgICAgICBgbmRibScsIGBnZGJtJyBhbmQgYGJkYicuCiAgIC0td2l0aC1zaWduYWwtbW9kdWxlICAgIGRpc2FibGUvZW5hYmxlIHNpZ25hbCBtb2R1bGUKLSAgLS13aXRoLWRlYy10aHJlYWRzICAgICAgdXNlIERFQyBBbHBoYS9PU0YxIHRocmVhZC1zYWZlIGxpYnJhcmllcwogICAtLXdpdGgob3V0KS10aHJlYWRzWz1ESVJFQ1RPUlldCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGUvZW5hYmxlIHRocmVhZCBzdXBwb3J0CiAgIC0td2l0aChvdXQpLXRocmVhZFs9RElSRUNUT1JZXQpAQCAtMTQ0Miw3ICsxNDUwLDYgQEAKICAgLS13aXRoLWZwZWN0bCAgICAgICAgICAgZW5hYmxlIFNJR0ZQRSBjYXRjaGluZwogICAtLXdpdGgtbGlibT1TVFJJTkcgICAgICBtYXRoIGxpYnJhcnkKICAgLS13aXRoLWxpYmM9U1RSSU5HICAgICAgQyBsaWJyYXJ5Ci0gIC0td2l0aC13aWRlLXVuaWNvZGUgICAgIFVzZSA0LWJ5dGUgVW5pY29kZSBjaGFyYWN0ZXJzIChkZWZhdWx0IGlzIDIgYnl0ZXMpCiAgIC0td2l0aChvdXQpLWNvbXB1dGVkLWdvdG9zCiAgICAgICAgICAgICAgICAgICAgICAgICAgIFVzZSBjb21wdXRlZCBnb3RvcyBpbiBldmFsdWF0aW9uIGxvb3AgKGVuYWJsZWQgYnkKICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdCBvbiBzdXBwb3J0ZWQgY29tcGlsZXJzKQpAQCAtMTUyMyw3ICsxNTMwLDcgQEAKIHRlc3QgLW4gIiRhY19pbml0X2hlbHAiICYmIGV4aXQgJGFjX3N0YXR1cwogaWYgJGFjX2luaXRfdmVyc2lvbjsgdGhlbgogICBjYXQgPDxcX0FDRU9GCi1weXRob24gY29uZmlndXJlIDMuMgorcHl0aG9uIGNvbmZpZ3VyZSAzLjMKIGdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi42OAogCiBDb3B5cmlnaHQgKEMpIDIwMTAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCkBAIC0yMzU0LDcgKzIzNjEsNyBAQAogVGhpcyBmaWxlIGNvbnRhaW5zIGFueSBtZXNzYWdlcyBwcm9kdWNlZCBieSBjb21waWxlcnMgd2hpbGUKIHJ1bm5pbmcgY29uZmlndXJlLCB0byBhaWQgZGVidWdnaW5nIGlmIGNvbmZpZ3VyZSBtYWtlcyBhIG1pc3Rha2UuCiAKLUl0IHdhcyBjcmVhdGVkIGJ5IHB5dGhvbiAkYXNfbWUgMy4yLCB3aGljaCB3YXMKK0l0IHdhcyBjcmVhdGVkIGJ5IHB5dGhvbiAkYXNfbWUgMy4zLCB3aGljaCB3YXMKIGdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi42OC4gIEludm9jYXRpb24gY29tbWFuZCBsaW5lIHdhcwogCiAgICQgJDAgJEAKQEAgLTI3MDMsOSArMjcxMCwxNjkgQEAKIAogCiAKKworCisKKworaWYgdGVzdCAtZSAkc3JjZGlyLy5oZy9kaXJzdGF0ZQordGhlbgorIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICJoZyIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCitzZXQgZHVtbXkgaGc7IGFjX3dvcmQ9JDIKK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKKyRhc19lY2hvX24gImNoZWNraW5nIGZvciAkYWNfd29yZC4uLiAiID4mNjsgfQoraWYgJHthY19jdl9wcm9nX0hBU19IRys6fSBmYWxzZTsgdGhlbiA6CisgICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2CitlbHNlCisgIGlmIHRlc3QgLW4gIiRIQVNfSEciOyB0aGVuCisgIGFjX2N2X3Byb2dfSEFTX0hHPSIkSEFTX0hHIiAjIExldCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdC4KK2Vsc2UKK2FzX3NhdmVfSUZTPSRJRlM7IElGUz0kUEFUSF9TRVBBUkFUT1IKK2ZvciBhc19kaXIgaW4gJFBBVEgKK2RvCisgIElGUz0kYXNfc2F2ZV9JRlMKKyAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGlyPS4KKyAgICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVfZXh0ZW5zaW9uczsgZG8KKyAgaWYgeyB0ZXN0IC1mICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiAmJiAkYXNfdGVzdF94ICIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IjsgfTsgdGhlbgorICAgIGFjX2N2X3Byb2dfSEFTX0hHPSJmb3VuZCIKKyAgICAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUKKyAgICBicmVhayAyCisgIGZpCitkb25lCisgIGRvbmUKK0lGUz0kYXNfc2F2ZV9JRlMKKworICB0ZXN0IC16ICIkYWNfY3ZfcHJvZ19IQVNfSEciICYmIGFjX2N2X3Byb2dfSEFTX0hHPSJub3QtZm91bmQiCitmaQorZmkKK0hBU19IRz0kYWNfY3ZfcHJvZ19IQVNfSEcKK2lmIHRlc3QgLW4gIiRIQVNfSEciOyB0aGVuCisgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkSEFTX0hHIiA+JjUKKyRhc19lY2hvICIkSEFTX0hHIiA+JjY7IH0KK2Vsc2UKKyAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6IG5vIiA+JjUKKyRhc19lY2hvICJubyIgPiY2OyB9CitmaQorCisKK2Vsc2UKK0hBU19IRz1uby1yZXBvc2l0b3J5CitmaQoraWYgdGVzdCAkSEFTX0hHID0gZm91bmQKK3RoZW4KKyAgICBIR1ZFUlNJT049ImhnIGlkIC1pIFwkKHNyY2RpcikiCisgICAgSEdUQUc9ImhnIGlkIC10IFwkKHNyY2RpcikiCisgICAgSEdCUkFOQ0g9ImhnIGlkIC1iIFwkKHNyY2RpcikiCitlbHNlCisgICAgSEdWRVJTSU9OPSIiCisgICAgSEdUQUc9IiIKKyAgICBIR0JSQU5DSD0iIgorZmkKKworCiBhY19jb25maWdfaGVhZGVycz0iJGFjX2NvbmZpZ19oZWFkZXJzIHB5Y29uZmlnLmgiCiAKIAorYWNfYXV4X2Rpcj0KK2ZvciBhY19kaXIgaW4gIiRzcmNkaXIiICIkc3JjZGlyLy4uIiAiJHNyY2Rpci8uLi8uLiI7IGRvCisgIGlmIHRlc3QgLWYgIiRhY19kaXIvaW5zdGFsbC1zaCI7IHRoZW4KKyAgICBhY19hdXhfZGlyPSRhY19kaXIKKyAgICBhY19pbnN0YWxsX3NoPSIkYWNfYXV4X2Rpci9pbnN0YWxsLXNoIC1jIgorICAgIGJyZWFrCisgIGVsaWYgdGVzdCAtZiAiJGFjX2Rpci9pbnN0YWxsLnNoIjsgdGhlbgorICAgIGFjX2F1eF9kaXI9JGFjX2RpcgorICAgIGFjX2luc3RhbGxfc2g9IiRhY19hdXhfZGlyL2luc3RhbGwuc2ggLWMiCisgICAgYnJlYWsKKyAgZWxpZiB0ZXN0IC1mICIkYWNfZGlyL3NodG9vbCI7IHRoZW4KKyAgICBhY19hdXhfZGlyPSRhY19kaXIKKyAgICBhY19pbnN0YWxsX3NoPSIkYWNfYXV4X2Rpci9zaHRvb2wgaW5zdGFsbCAtYyIKKyAgICBicmVhaworICBmaQorZG9uZQoraWYgdGVzdCAteiAiJGFjX2F1eF9kaXIiOyB0aGVuCisgIGFzX2ZuX2Vycm9yICQ/ICJjYW5ub3QgZmluZCBpbnN0YWxsLXNoLCBpbnN0YWxsLnNoLCBvciBzaHRvb2wgaW4gXCIkc3JjZGlyXCIgXCIkc3JjZGlyLy4uXCIgXCIkc3JjZGlyLy4uLy4uXCIiICIkTElORU5PIiA1CitmaQorCisjIFRoZXNlIHRocmVlIHZhcmlhYmxlcyBhcmUgdW5kb2N1bWVudGVkIGFuZCB1bnN1cHBvcnRlZCwKKyMgYW5kIGFyZSBpbnRlbmRlZCB0byBiZSB3aXRoZHJhd24gaW4gYSBmdXR1cmUgQXV0b2NvbmYgcmVsZWFzZS4KKyMgVGhleSBjYW4gY2F1c2Ugc2VyaW91cyBwcm9ibGVtcyBpZiBhIGJ1aWxkZXIncyBzb3VyY2UgdHJlZSBpcyBpbiBhIGRpcmVjdG9yeQorIyB3aG9zZSBmdWxsIG5hbWUgY29udGFpbnMgdW51c3VhbCBjaGFyYWN0ZXJzLgorYWNfY29uZmlnX2d1ZXNzPSIkU0hFTEwgJGFjX2F1eF9kaXIvY29uZmlnLmd1ZXNzIiAgIyBQbGVhc2UgZG9uJ3QgdXNlIHRoaXMgdmFyLgorYWNfY29uZmlnX3N1Yj0iJFNIRUxMICRhY19hdXhfZGlyL2NvbmZpZy5zdWIiICAjIFBsZWFzZSBkb24ndCB1c2UgdGhpcyB2YXIuCithY19jb25maWd1cmU9IiRTSEVMTCAkYWNfYXV4X2Rpci9jb25maWd1cmUiICAjIFBsZWFzZSBkb24ndCB1c2UgdGhpcyB2YXIuCisKKworIyBNYWtlIHN1cmUgd2UgY2FuIHJ1biBjb25maWcuc3ViLgorJFNIRUxMICIkYWNfYXV4X2Rpci9jb25maWcuc3ViIiBzdW40ID4vZGV2L251bGwgMj4mMSB8fAorICBhc19mbl9lcnJvciAkPyAiY2Fubm90IHJ1biAkU0hFTEwgJGFjX2F1eF9kaXIvY29uZmlnLnN1YiIgIiRMSU5FTk8iIDUKKworeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBidWlsZCBzeXN0ZW0gdHlwZSIgPiY1CiskYXNfZWNob19uICJjaGVja2luZyBidWlsZCBzeXN0ZW0gdHlwZS4uLiAiID4mNjsgfQoraWYgJHthY19jdl9idWlsZCs6fSBmYWxzZTsgdGhlbiA6CisgICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2CitlbHNlCisgIGFjX2J1aWxkX2FsaWFzPSRidWlsZF9hbGlhcwordGVzdCAieCRhY19idWlsZF9hbGlhcyIgPSB4ICYmCisgIGFjX2J1aWxkX2FsaWFzPWAkU0hFTEwgIiRhY19hdXhfZGlyL2NvbmZpZy5ndWVzcyJgCit0ZXN0ICJ4JGFjX2J1aWxkX2FsaWFzIiA9IHggJiYKKyAgYXNfZm5fZXJyb3IgJD8gImNhbm5vdCBndWVzcyBidWlsZCB0eXBlOyB5b3UgbXVzdCBzcGVjaWZ5IG9uZSIgIiRMSU5FTk8iIDUKK2FjX2N2X2J1aWxkPWAkU0hFTEwgIiRhY19hdXhfZGlyL2NvbmZpZy5zdWIiICRhY19idWlsZF9hbGlhc2AgfHwKKyAgYXNfZm5fZXJyb3IgJD8gIiRTSEVMTCAkYWNfYXV4X2Rpci9jb25maWcuc3ViICRhY19idWlsZF9hbGlhcyBmYWlsZWQiICIkTElORU5PIiA1CisKK2ZpCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGFjX2N2X2J1aWxkIiA+JjUKKyRhc19lY2hvICIkYWNfY3ZfYnVpbGQiID4mNjsgfQorY2FzZSAkYWNfY3ZfYnVpbGQgaW4KKyotKi0qKSA7OworKikgYXNfZm5fZXJyb3IgJD8gImludmFsaWQgdmFsdWUgb2YgY2Fub25pY2FsIGJ1aWxkIiAiJExJTkVOTyIgNTs7Citlc2FjCitidWlsZD0kYWNfY3ZfYnVpbGQKK2FjX3NhdmVfSUZTPSRJRlM7IElGUz0nLScKK3NldCB4ICRhY19jdl9idWlsZAorc2hpZnQKK2J1aWxkX2NwdT0kMQorYnVpbGRfdmVuZG9yPSQyCitzaGlmdDsgc2hpZnQKKyMgUmVtZW1iZXIsIHRoZSBmaXJzdCBjaGFyYWN0ZXIgb2YgSUZTIGlzIHVzZWQgdG8gY3JlYXRlICQqLAorIyBleGNlcHQgd2l0aCBvbGQgc2hlbGxzOgorYnVpbGRfb3M9JCoKK0lGUz0kYWNfc2F2ZV9JRlMKK2Nhc2UgJGJ1aWxkX29zIGluICpcICopIGJ1aWxkX29zPWBlY2hvICIkYnVpbGRfb3MiIHwgc2VkICdzLyAvLS9nJ2A7OyBlc2FjCisKKworeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBob3N0IHN5c3RlbSB0eXBlIiA+JjUKKyRhc19lY2hvX24gImNoZWNraW5nIGhvc3Qgc3lzdGVtIHR5cGUuLi4gIiA+JjY7IH0KK2lmICR7YWNfY3ZfaG9zdCs6fSBmYWxzZTsgdGhlbiA6CisgICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2CitlbHNlCisgIGlmIHRlc3QgIngkaG9zdF9hbGlhcyIgPSB4OyB0aGVuCisgIGFjX2N2X2hvc3Q9JGFjX2N2X2J1aWxkCitlbHNlCisgIGFjX2N2X2hvc3Q9YCRTSEVMTCAiJGFjX2F1eF9kaXIvY29uZmlnLnN1YiIgJGhvc3RfYWxpYXNgIHx8CisgICAgYXNfZm5fZXJyb3IgJD8gIiRTSEVMTCAkYWNfYXV4X2Rpci9jb25maWcuc3ViICRob3N0X2FsaWFzIGZhaWxlZCIgIiRMSU5FTk8iIDUKK2ZpCisKK2ZpCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGFjX2N2X2hvc3QiID4mNQorJGFzX2VjaG8gIiRhY19jdl9ob3N0IiA+JjY7IH0KK2Nhc2UgJGFjX2N2X2hvc3QgaW4KKyotKi0qKSA7OworKikgYXNfZm5fZXJyb3IgJD8gImludmFsaWQgdmFsdWUgb2YgY2Fub25pY2FsIGhvc3QiICIkTElORU5PIiA1OzsKK2VzYWMKK2hvc3Q9JGFjX2N2X2hvc3QKK2FjX3NhdmVfSUZTPSRJRlM7IElGUz0nLScKK3NldCB4ICRhY19jdl9ob3N0CitzaGlmdAoraG9zdF9jcHU9JDEKK2hvc3RfdmVuZG9yPSQyCitzaGlmdDsgc2hpZnQKKyMgUmVtZW1iZXIsIHRoZSBmaXJzdCBjaGFyYWN0ZXIgb2YgSUZTIGlzIHVzZWQgdG8gY3JlYXRlICQqLAorIyBleGNlcHQgd2l0aCBvbGQgc2hlbGxzOgoraG9zdF9vcz0kKgorSUZTPSRhY19zYXZlX0lGUworY2FzZSAkaG9zdF9vcyBpbiAqXCAqKSBob3N0X29zPWBlY2hvICIkaG9zdF9vcyIgfCBzZWQgJ3MvIC8tL2cnYDs7IGVzYWMKKworCisKIAogaWYgdGVzdCAiJHByZWZpeCIgIT0gIi8iOyB0aGVuCiAgICAgcHJlZml4PWBlY2hvICIkcHJlZml4IiB8IHNlZCAtZSAncy9cLyQvL2cnYApAQCAtMjcyMSw3ICsyODg4LDcgQEAKIG12IGNvbmZkZWZzLmgubmV3IGNvbmZkZWZzLmgKIAogCi1WRVJTSU9OPTMuMgorVkVSU0lPTj0zLjMKIAogIyBWZXJzaW9uIG51bWJlciBvZiBQeXRob24ncyBvd24gc2hhcmVkIGxpYnJhcnkgZmlsZS4KIApAQCAtMjk4Myw2ICszMTUwLDI1IEBACiAkYXNfZWNob19uICJjaGVja2luZyBNQUNIREVQLi4uICIgPiY2OyB9CiBpZiB0ZXN0IC16ICIkTUFDSERFUCIKIHRoZW4KKyAgICAjIGF2b2lkIHVzaW5nIHVuYW1lIGZvciBjcm9zcyBidWlsZHMKKyAgICBpZiB0ZXN0ICIkY3Jvc3NfY29tcGlsaW5nIiA9IHllczsgdGhlbgorICAgICAgICMgYWNfc3lzX3N5c3RlbSBhbmQgYWNfc3lzX3JlbGVhc2UgYXJlIG9ubHkgdXNlZCBmb3Igc2V0dGluZworICAgICAgICMgYGRlZmluZV94b3Blbl9zb3VyY2UnIGluIHRoZSBjYXNlIHN0YXRlbWVudCBiZWxvdy4gRm9yIHRoZQorICAgICAgICMgY3VycmVudCBzdXBwb3J0ZWQgY3Jvc3MgYnVpbGRzLCB0aGlzIG1hY3JvIGlzIG5vdCBhZGp1c3RlZC4KKwljYXNlICIkaG9zdCIgaW4KKwkqLSotbGludXgqKQorCQlhY19zeXNfc3lzdGVtPUxpbnV4CisJCTs7CisJKi0qLWN5Z3dpbiopCisJCWFjX3N5c19zeXN0ZW09Q3lnd2luCisJCTs7CisJKikKKwkJIyBmb3Igbm93LCBsaW1pdCBjcm9zcyBidWlsZHMgdG8ga25vd24gY29uZmlndXJhdGlvbnMKKwkJTUFDSERFUD0idW5rbm93biIKKwkJYXNfZm5fZXJyb3IgJD8gImNyb3NzIGJ1aWxkIG5vdCBzdXBwb3J0ZWQgZm9yICRob3N0IiAiJExJTkVOTyIgNQorCWVzYWMKKwlhY19zeXNfcmVsZWFzZT0KKyAgICBlbHNlCiAJYWNfc3lzX3N5c3RlbT1gdW5hbWUgLXNgCiAJaWYgdGVzdCAiJGFjX3N5c19zeXN0ZW0iID0gIkFJWCIgXAogCS1vICIkYWNfc3lzX3N5c3RlbSIgPSAiVW5peFdhcmUiIC1vICIkYWNfc3lzX3N5c3RlbSIgPSAiT3BlblVOSVgiOyB0aGVuCkBAIC0yOTkwLDE5ICszMTc2LDIwIEBACiAJZWxzZQogCQlhY19zeXNfcmVsZWFzZT1gdW5hbWUgLXJgCiAJZmkKLQlhY19tZF9zeXN0ZW09YGVjaG8gJGFjX3N5c19zeXN0ZW0gfAotCQkJICAgdHIgLWQgJy8gJyB8IHRyICdbQS1aXScgJ1thLXpdJ2AKLQlhY19tZF9yZWxlYXNlPWBlY2hvICRhY19zeXNfcmVsZWFzZSB8Ci0JCQkgICB0ciAtZCAnLyAnIHwgc2VkICdzL15bQS1aXVwuLy8nIHwgc2VkICdzL1wuLiovLydgCi0JTUFDSERFUD0iJGFjX21kX3N5c3RlbSRhY19tZF9yZWxlYXNlIgorICAgIGZpCisgICAgYWNfbWRfc3lzdGVtPWBlY2hvICRhY19zeXNfc3lzdGVtIHwKKwkJCXRyIC1kICcvICcgfCB0ciAnW0EtWl0nICdbYS16XSdgCisgICAgYWNfbWRfcmVsZWFzZT1gZWNobyAkYWNfc3lzX3JlbGVhc2UgfAorCQkJdHIgLWQgJy8gJyB8IHNlZCAncy9eW0EtWl1cLi8vJyB8IHNlZCAncy9cLi4qLy8nYAorICAgIE1BQ0hERVA9IiRhY19tZF9zeXN0ZW0kYWNfbWRfcmVsZWFzZSIKIAotCWNhc2UgJE1BQ0hERVAgaW4KLQlsaW51eCopIE1BQ0hERVA9ImxpbnV4MiI7OworICAgIGNhc2UgJE1BQ0hERVAgaW4KKwlsaW51eCopIE1BQ0hERVA9ImxpbnV4Ijs7CiAJY3lnd2luKikgTUFDSERFUD0iY3lnd2luIjs7CiAJZGFyd2luKikgTUFDSERFUD0iZGFyd2luIjs7CiAgICAgICAgIGlyaXg2NDYpIE1BQ0hERVA9ImlyaXg2Ijs7CiAJJycpCU1BQ0hERVA9InVua25vd24iOzsKLQllc2FjCisgICAgZXNhYwogZmkKIAogIyBTb21lIHN5c3RlbXMgY2Fubm90IHN0YW5kIF9YT1BFTl9TT1VSQ0UgYmVpbmcgZGVmaW5lZCBhdCBhbGw7IHRoZXkKQEAgLTMwOTMsOCArMzI4MCw5IEBACiAKIGlmIHRlc3QgJGRlZmluZV94b3Blbl9zb3VyY2UgPSB5ZXMKIHRoZW4KKyAgIyBYL09wZW4gNywgaW5jb3Jwb3JhdGluZyBQT1NJWC4xLTIwMDgKIAotJGFzX2VjaG8gIiNkZWZpbmUgX1hPUEVOX1NPVVJDRSA2MDAiID4+Y29uZmRlZnMuaAorJGFzX2VjaG8gIiNkZWZpbmUgX1hPUEVOX1NPVVJDRSA3MDAiID4+Y29uZmRlZnMuaAogCiAKICAgIyBPbiBUcnU2NCBVbml4IDQuMEYsIGRlZmluaW5nIF9YT1BFTl9TT1VSQ0UgYWxzbyByZXF1aXJlcwpAQCAtMzEwNiw4ICszMjk0LDcgQEAKIAogCiAKLSRhc19lY2hvICIjZGVmaW5lIF9QT1NJWF9DX1NPVVJDRSAyMDAxMTJMIiA+PmNvbmZkZWZzLmgKLQorJGFzX2VjaG8gIiNkZWZpbmUgX1BPU0lYX0NfU09VUkNFIDIwMDgwOUwiID4+Y29uZmRlZnMuaAogCiBmaQogCkBAIC0zMTM4LDEyICszMzI1LDYgQEAKIENPTkZJR1VSRV9NQUNPU1hfREVQTE9ZTUVOVF9UQVJHRVQ9CiBFWFBPUlRfTUFDT1NYX0RFUExPWU1FTlRfVEFSR0VUPScjJwogCi17ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIG1hY2hpbmUgdHlwZSBhcyByZXBvcnRlZCBieSB1bmFtZSAtbSIgPiY1Ci0kYXNfZWNob19uICJjaGVja2luZyBtYWNoaW5lIHR5cGUgYXMgcmVwb3J0ZWQgYnkgdW5hbWUgLW0uLi4gIiA+JjY7IH0KLWFjX3N5c19tYWNoaW5lPWB1bmFtZSAtbWAKLXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkYWNfc3lzX21hY2hpbmUiID4mNQotJGFzX2VjaG8gIiRhY19zeXNfbWFjaGluZSIgPiY2OyB9Ci0KICMgY2hlY2tzIGZvciBhbHRlcm5hdGl2ZSBwcm9ncmFtcwogCiAjIGNvbXBpbGVyIGZsYWdzIGFyZSBnZW5lcmF0ZWQgaW4gdHdvIHNldHMsIEJBU0VDRkxBR1MgYW5kIE9QVC4gIE9QVCBpcyBqdXN0CkBAIC00OTg2LDExICs1MTY3LDYgQEAKIAkgIEJMRExJQlJBUlk9Jy1XbCwrYiwkKExJQkRJUikgLUwuIC1scHl0aG9uJChMRFZFUlNJT04pJwogCSAgUlVOU0hBUkVEPVNITElCX1BBVEg9YHB3ZGA6JHtTSExJQl9QQVRIfQogCSAgOzsKLSAgICBPU0YqKQotCSAgTERMSUJSQVJZPSdsaWJweXRob24kKExEVkVSU0lPTikuc28nCi0JICBCTERMSUJSQVJZPSctcnBhdGggJChMSUJESVIpIC1MLiAtbHB5dGhvbiQoTERWRVJTSU9OKScKLQkgIFJVTlNIQVJFRD1MRF9MSUJSQVJZX1BBVEg9YHB3ZGA6JHtMRF9MSUJSQVJZX1BBVEh9Ci0JICA7OwogICAgIERhcndpbiopCiAgICAgCUxETElCUkFSWT0nbGlicHl0aG9uJChMRFZFUlNJT04pLmR5bGliJwogCUJMRExJQlJBUlk9Jy1MLiAtbHB5dGhvbiQoTERWRVJTSU9OKScKQEAgLTUxNTksMTEwICs1MzM1LDYgQEAKIGZpCiAKIAotIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICJzdm52ZXJzaW9uIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KLXNldCBkdW1teSBzdm52ZXJzaW9uOyBhY193b3JkPSQyCi17ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1Ci0kYXNfZWNob19uICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4gIiA+JjY7IH0KLWlmICR7YWNfY3ZfcHJvZ19TVk5WRVJTSU9OKzp9IGZhbHNlOyB0aGVuIDoKLSAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKLWVsc2UKLSAgaWYgdGVzdCAtbiAiJFNWTlZFUlNJT04iOyB0aGVuCi0gIGFjX2N2X3Byb2dfU1ZOVkVSU0lPTj0iJFNWTlZFUlNJT04iICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRoZSB0ZXN0LgotZWxzZQotYXNfc2F2ZV9JRlM9JElGUzsgSUZTPSRQQVRIX1NFUEFSQVRPUgotZm9yIGFzX2RpciBpbiAkUEFUSAotZG8KLSAgSUZTPSRhc19zYXZlX0lGUwotICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9LgotICAgIGZvciBhY19leGVjX2V4dCBpbiAnJyAkYWNfZXhlY3V0YWJsZV9leHRlbnNpb25zOyBkbwotICBpZiB7IHRlc3QgLWYgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiICYmICRhc190ZXN0X3ggIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB9OyB0aGVuCi0gICAgYWNfY3ZfcHJvZ19TVk5WRVJTSU9OPSJmb3VuZCIKLSAgICAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBmb3VuZCAkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUKLSAgICBicmVhayAyCi0gIGZpCi1kb25lCi0gIGRvbmUKLUlGUz0kYXNfc2F2ZV9JRlMKLQotICB0ZXN0IC16ICIkYWNfY3ZfcHJvZ19TVk5WRVJTSU9OIiAmJiBhY19jdl9wcm9nX1NWTlZFUlNJT049Im5vdC1mb3VuZCIKLWZpCi1maQotU1ZOVkVSU0lPTj0kYWNfY3ZfcHJvZ19TVk5WRVJTSU9OCi1pZiB0ZXN0IC1uICIkU1ZOVkVSU0lPTiI7IHRoZW4KLSAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRTVk5WRVJTSU9OIiA+JjUKLSRhc19lY2hvICIkU1ZOVkVSU0lPTiIgPiY2OyB9Ci1lbHNlCi0gIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiBubyIgPiY1Ci0kYXNfZWNobyAibm8iID4mNjsgfQotZmkKLQotCi1pZiB0ZXN0ICRTVk5WRVJTSU9OID0gZm91bmQKLXRoZW4KLQlTVk5WRVJTSU9OPSJzdm52ZXJzaW9uIFwkKHNyY2RpcikiCi1lbHNlCi0JU1ZOVkVSU0lPTj0iZWNobyBVbnZlcnNpb25lZCBkaXJlY3RvcnkiCi1maQotCi0KLQotCi0KLWlmIHRlc3QgLWUgJHNyY2Rpci8uaGcvZGlyc3RhdGUKLXRoZW4KLSMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiaGciLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgotc2V0IGR1bW15IGhnOyBhY193b3JkPSQyCi17ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1Ci0kYXNfZWNob19uICJjaGVja2luZyBmb3IgJGFjX3dvcmQuLi4gIiA+JjY7IH0KLWlmICR7YWNfY3ZfcHJvZ19IQVNfSEcrOn0gZmFsc2U7IHRoZW4gOgotICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgotZWxzZQotICBpZiB0ZXN0IC1uICIkSEFTX0hHIjsgdGhlbgotICBhY19jdl9wcm9nX0hBU19IRz0iJEhBU19IRyIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3QuCi1lbHNlCi1hc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCi1mb3IgYXNfZGlyIGluICRQQVRICi1kbwotICBJRlM9JGFzX3NhdmVfSUZTCi0gIHRlc3QgLXogIiRhc19kaXIiICYmIGFzX2Rpcj0uCi0gICAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCi0gIGlmIHsgdGVzdCAtZiAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgJiYgJGFzX3Rlc3RfeCAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCI7IH07IHRoZW4KLSAgICBhY19jdl9wcm9nX0hBU19IRz0iZm91bmQiCi0gICAgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogZm91bmQgJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1Ci0gICAgYnJlYWsgMgotICBmaQotZG9uZQotICBkb25lCi1JRlM9JGFzX3NhdmVfSUZTCi0KLSAgdGVzdCAteiAiJGFjX2N2X3Byb2dfSEFTX0hHIiAmJiBhY19jdl9wcm9nX0hBU19IRz0ibm90LWZvdW5kIgotZmkKLWZpCi1IQVNfSEc9JGFjX2N2X3Byb2dfSEFTX0hHCi1pZiB0ZXN0IC1uICIkSEFTX0hHIjsgdGhlbgotICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJEhBU19IRyIgPiY1Ci0kYXNfZWNobyAiJEhBU19IRyIgPiY2OyB9Ci1lbHNlCi0gIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiBubyIgPiY1Ci0kYXNfZWNobyAibm8iID4mNjsgfQotZmkKLQotCi1lbHNlCi1IQVNfSEc9bm8tcmVwb3NpdG9yeQotZmkKLWlmIHRlc3QgJEhBU19IRyA9IGZvdW5kCi10aGVuCi0gICAgSEdWRVJTSU9OPSJoZyBpZCAtaSBcJChzcmNkaXIpIgotICAgIEhHVEFHPSJoZyBpZCAtdCBcJChzcmNkaXIpIgotICAgIEhHQlJBTkNIPSJoZyBpZCAtYiBcJChzcmNkaXIpIgotZWxzZQotICAgIEhHVkVSU0lPTj0iIgotICAgIEhHVEFHPSIiCi0gICAgSEdCUkFOQ0g9IiIKLWZpCi0KLQogRElTQUJMRV9BU0RMR0VOPSIiCiAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgInB5dGhvbiIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCiBzZXQgZHVtbXkgcHl0aG9uOyBhY193b3JkPSQyCkBAIC01MzE2LDM1ICs1Mzg4LDYgQEAKIAkJSU5TVEFMTD0iJHtzcmNkaXJ9L2luc3RhbGwtc2ggLWMiCiAJZmkKIGVzYWMKLWFjX2F1eF9kaXI9Ci1mb3IgYWNfZGlyIGluICIkc3JjZGlyIiAiJHNyY2Rpci8uLiIgIiRzcmNkaXIvLi4vLi4iOyBkbwotICBpZiB0ZXN0IC1mICIkYWNfZGlyL2luc3RhbGwtc2giOyB0aGVuCi0gICAgYWNfYXV4X2Rpcj0kYWNfZGlyCi0gICAgYWNfaW5zdGFsbF9zaD0iJGFjX2F1eF9kaXIvaW5zdGFsbC1zaCAtYyIKLSAgICBicmVhawotICBlbGlmIHRlc3QgLWYgIiRhY19kaXIvaW5zdGFsbC5zaCI7IHRoZW4KLSAgICBhY19hdXhfZGlyPSRhY19kaXIKLSAgICBhY19pbnN0YWxsX3NoPSIkYWNfYXV4X2Rpci9pbnN0YWxsLnNoIC1jIgotICAgIGJyZWFrCi0gIGVsaWYgdGVzdCAtZiAiJGFjX2Rpci9zaHRvb2wiOyB0aGVuCi0gICAgYWNfYXV4X2Rpcj0kYWNfZGlyCi0gICAgYWNfaW5zdGFsbF9zaD0iJGFjX2F1eF9kaXIvc2h0b29sIGluc3RhbGwgLWMiCi0gICAgYnJlYWsKLSAgZmkKLWRvbmUKLWlmIHRlc3QgLXogIiRhY19hdXhfZGlyIjsgdGhlbgotICBhc19mbl9lcnJvciAkPyAiY2Fubm90IGZpbmQgaW5zdGFsbC1zaCwgaW5zdGFsbC5zaCwgb3Igc2h0b29sIGluIFwiJHNyY2RpclwiIFwiJHNyY2Rpci8uLlwiIFwiJHNyY2Rpci8uLi8uLlwiIiAiJExJTkVOTyIgNQotZmkKLQotIyBUaGVzZSB0aHJlZSB2YXJpYWJsZXMgYXJlIHVuZG9jdW1lbnRlZCBhbmQgdW5zdXBwb3J0ZWQsCi0jIGFuZCBhcmUgaW50ZW5kZWQgdG8gYmUgd2l0aGRyYXduIGluIGEgZnV0dXJlIEF1dG9jb25mIHJlbGVhc2UuCi0jIFRoZXkgY2FuIGNhdXNlIHNlcmlvdXMgcHJvYmxlbXMgaWYgYSBidWlsZGVyJ3Mgc291cmNlIHRyZWUgaXMgaW4gYSBkaXJlY3RvcnkKLSMgd2hvc2UgZnVsbCBuYW1lIGNvbnRhaW5zIHVudXN1YWwgY2hhcmFjdGVycy4KLWFjX2NvbmZpZ19ndWVzcz0iJFNIRUxMICRhY19hdXhfZGlyL2NvbmZpZy5ndWVzcyIgICMgUGxlYXNlIGRvbid0IHVzZSB0aGlzIHZhci4KLWFjX2NvbmZpZ19zdWI9IiRTSEVMTCAkYWNfYXV4X2Rpci9jb25maWcuc3ViIiAgIyBQbGVhc2UgZG9uJ3QgdXNlIHRoaXMgdmFyLgotYWNfY29uZmlndXJlPSIkU0hFTEwgJGFjX2F1eF9kaXIvY29uZmlndXJlIiAgIyBQbGVhc2UgZG9uJ3QgdXNlIHRoaXMgdmFyLgotCi0KICMgRmluZCBhIGdvb2QgaW5zdGFsbCBwcm9ncmFtLiAgV2UgcHJlZmVyIGEgQyBwcm9ncmFtIChmYXN0ZXIpLAogIyBzbyBvbmUgc2NyaXB0IGlzIGFzIGdvb2QgYXMgYW5vdGhlci4gIEJ1dCBhdm9pZCB0aGUgYnJva2VuIG9yCiAjIGluY29tcGF0aWJsZSB2ZXJzaW9uczoKQEAgLTU0MzgsNiArNTQ4MSw0OCBAQAogCiB0ZXN0IC16ICIkSU5TVEFMTF9EQVRBIiAmJiBJTlNUQUxMX0RBVEE9JyR7SU5TVEFMTH0gLW0gNjQ0JwogCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wIiA+JjUKKyRhc19lY2hvX24gImNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uICIgPiY2OyB9CitpZiB0ZXN0IC16ICIkTUtESVJfUCI7IHRoZW4KKyAgaWYgJHthY19jdl9wYXRoX21rZGlyKzp9IGZhbHNlOyB0aGVuIDoKKyAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKK2Vsc2UKKyAgYXNfc2F2ZV9JRlM9JElGUzsgSUZTPSRQQVRIX1NFUEFSQVRPUgorZm9yIGFzX2RpciBpbiAkUEFUSCRQQVRIX1NFUEFSQVRPUi9vcHQvc2Z3L2JpbgorZG8KKyAgSUZTPSRhc19zYXZlX0lGUworICB0ZXN0IC16ICIkYXNfZGlyIiAmJiBhc19kaXI9LgorICAgIGZvciBhY19wcm9nIGluIG1rZGlyIGdta2RpcjsgZG8KKwkgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVuc2lvbnM7IGRvCisJICAgeyB0ZXN0IC1mICIkYXNfZGlyLyRhY19wcm9nJGFjX2V4ZWNfZXh0IiAmJiAkYXNfdGVzdF94ICIkYXNfZGlyLyRhY19wcm9nJGFjX2V4ZWNfZXh0IjsgfSB8fCBjb250aW51ZQorCSAgIGNhc2UgYCIkYXNfZGlyLyRhY19wcm9nJGFjX2V4ZWNfZXh0IiAtLXZlcnNpb24gMj4mMWAgaW4gIygKKwkgICAgICdta2RpciAoR05VIGNvcmV1dGlscykgJyogfCBcCisJICAgICAnbWtkaXIgKGNvcmV1dGlscykgJyogfCBcCisJICAgICAnbWtkaXIgKGZpbGV1dGlscykgJzQuMSopCisJICAgICAgIGFjX2N2X3BhdGhfbWtkaXI9JGFzX2Rpci8kYWNfcHJvZyRhY19leGVjX2V4dAorCSAgICAgICBicmVhayAzOzsKKwkgICBlc2FjCisJIGRvbmUKKyAgICAgICBkb25lCisgIGRvbmUKK0lGUz0kYXNfc2F2ZV9JRlMKKworZmkKKworICB0ZXN0IC1kIC4vLS12ZXJzaW9uICYmIHJtZGlyIC4vLS12ZXJzaW9uCisgIGlmIHRlc3QgIiR7YWNfY3ZfcGF0aF9ta2RpcitzZXR9IiA9IHNldDsgdGhlbgorICAgIE1LRElSX1A9IiRhY19jdl9wYXRoX21rZGlyIC1wIgorICBlbHNlCisgICAgIyBBcyBhIGxhc3QgcmVzb3J0LCB1c2UgdGhlIHNsb3cgc2hlbGwgc2NyaXB0LiAgRG9uJ3QgY2FjaGUgYQorICAgICMgdmFsdWUgZm9yIE1LRElSX1Agd2l0aGluIGEgc291cmNlIGRpcmVjdG9yeSwgYmVjYXVzZSB0aGF0IHdpbGwKKyAgICAjIGJyZWFrIG90aGVyIHBhY2thZ2VzIHVzaW5nIHRoZSBjYWNoZSBpZiB0aGF0IGRpcmVjdG9yeSBpcworICAgICMgcmVtb3ZlZCwgb3IgaWYgdGhlIHZhbHVlIGlzIGEgcmVsYXRpdmUgbmFtZS4KKyAgICBNS0RJUl9QPSIkYWNfaW5zdGFsbF9zaCAtZCIKKyAgZmkKK2ZpCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJE1LRElSX1AiID4mNQorJGFzX2VjaG8gIiRNS0RJUl9QIiA+JjY7IH0KKwogCiAjIE5vdCBldmVyeSBmaWxlc3lzdGVtIHN1cHBvcnRzIGhhcmQgbGlua3MKIApAQCAtNTYxNiwxMCArNTcwMSw1MyBAQAogICAgICAgQkFTRUNGTEFHUz0iJEJBU0VDRkxBR1MgLWZuby1zdHJpY3QtYWxpYXNpbmciCiAgICAgZmkKIAorICAgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgaWYgd2UgY2FuIHR1cm4gb2ZmICRDQyB1bnVzZWQgcmVzdWx0IHdhcm5pbmciID4mNQorJGFzX2VjaG9fbiAiY2hlY2tpbmcgaWYgd2UgY2FuIHR1cm4gb2ZmICRDQyB1bnVzZWQgcmVzdWx0IHdhcm5pbmcuLi4gIiA+JjY7IH0KKyAgICAgYWNfc2F2ZV9jYz0iJENDIgorICAgICBDQz0iJENDIC1XdW51c2VkLXJlc3VsdCAtV2Vycm9yIgorICAgICBzYXZlX0NGTEFHUz0iJENGTEFHUyIKKyAgICAgaWYgJHthY19jdl9kaXNhYmxlX3VudXNlZF9yZXN1bHRfd2FybmluZys6fSBmYWxzZTsgdGhlbiA6CisgICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2CitlbHNlCisgIGNhdCBjb25mZGVmcy5oIC0gPDxfQUNFT0YgPmNvbmZ0ZXN0LiRhY19leHQKKy8qIGVuZCBjb25mZGVmcy5oLiAgKi8KKworCitpbnQKK21haW4gKCkKK3sKKworICA7CisgIHJldHVybiAwOworfQorCitfQUNFT0YKK2lmIGFjX2ZuX2NfdHJ5X2NvbXBpbGUgIiRMSU5FTk8iOyB0aGVuIDoKKworICAgICAgICAgICBhY19jdl9kaXNhYmxlX3VudXNlZF9yZXN1bHRfd2FybmluZz15ZXMKKworZWxzZQorCisgICAgICAgICAgIGFjX2N2X2Rpc2FibGVfdW51c2VkX3Jlc3VsdF93YXJuaW5nPW5vCisKK2ZpCitybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqZXh0IGNvbmZ0ZXN0LiRhY19leHQKK2ZpCisKKyAgICAgQ0ZMQUdTPSIkc2F2ZV9DRkxBR1MiCisgICAgIENDPSIkYWNfc2F2ZV9jYyIKKyAgICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGFjX2N2X2Rpc2FibGVfdW51c2VkX3Jlc3VsdF93YXJuaW5nIiA+JjUKKyRhc19lY2hvICIkYWNfY3ZfZGlzYWJsZV91bnVzZWRfcmVzdWx0X3dhcm5pbmciID4mNjsgfQorCisgICAgaWYgdGVzdCAkYWNfY3ZfZGlzYWJsZV91bnVzZWRfcmVzdWx0X3dhcm5pbmcgPSB5ZXMKKyAgICB0aGVuCisgICAgICBCQVNFQ0ZMQUdTPSIkQkFTRUNGTEFHUyAtV25vLXVudXNlZC1yZXN1bHQiCisgICAgZmkKKwogICAgICMgaWYgdXNpbmcgZ2NjIG9uIGFscGhhLCB1c2UgLW1pZWVlIHRvIGdldCAobmVhcikgZnVsbCBJRUVFIDc1NAogICAgICMgc3VwcG9ydC4gIFdpdGhvdXQgdGhpcywgdHJlYXRtZW50IG9mIHN1Ym5vcm1hbHMgZG9lc24ndCBmb2xsb3cKICAgICAjIHRoZSBzdGFuZGFyZC4KLSAgICBjYXNlICRhY19zeXNfbWFjaGluZSBpbgorICAgIGNhc2UgJGhvc3QgaW4KICAgICAgICAgIGFscGhhKikKICAgICAgICAgICAgICAgICBCQVNFQ0ZMQUdTPSIkQkFTRUNGTEFHUyAtbWllZWUiCiAgICAgICAgICAgICAgICAgOzsKQEAgLTU3MzQsOSArNTg2Miw2IEBACiAJICAgIEVYUE9SVF9NQUNPU1hfREVQTE9ZTUVOVF9UQVJHRVQ9JycKIAogCSAgICA7OwotCU9TRiopCi0JICAgIEJBU0VDRkxBR1M9IiRCQVNFQ0ZMQUdTIC1taWVlZSIKLQkgICAgOzsKICAgICBlc2FjCiAgICAgOzsKIApAQCAtNTc0NSw5ICs1ODcwLDYgQEAKICAgICBPcGVuVU5JWCp8VW5peFdhcmUqKQogCUJBU0VDRkxBR1M9IiRCQVNFQ0ZMQUdTIC1LIHBlbnRpdW0saG9zdCxpbmxpbmUsbG9vcF91bnJvbGwsYWxsb2NhICIKIAk7OwotICAgIE9TRiopCi0JQkFTRUNGTEFHUz0iJEJBU0VDRkxBR1MgLWllZWUgLXN0ZCIKLSAgICAJOzsKICAgICBTQ09fU1YqKQogCUJBU0VDRkxBR1M9IiRCQVNFQ0ZMQUdTIC1iZWxmIC1LaTQ4NiAtRFNDTzUiCiAJOzsKQEAgLTYxNTksMTUgKzYyODEsMTYgQEAKIAogZm9yIGFjX2hlYWRlciBpbiBhc20vdHlwZXMuaCBjb25pby5oIGN1cnNlcy5oIGRpcmVjdC5oIGRsZmNuLmggZXJybm8uaCBcCiBmY250bC5oIGdycC5oIFwKLWllZWVmcC5oIGlvLmggbGFuZ2luZm8uaCBsaWJpbnRsLmggbmN1cnNlcy5oIHBvbGwuaCBwcm9jZXNzLmggcHRocmVhZC5oIFwKLXNoYWRvdy5oIHNpZ25hbC5oIHN0ZGludC5oIHN0cm9wdHMuaCB0ZXJtaW9zLmggdGhyZWFkLmggXAoraWVlZWZwLmggaW8uaCBsYW5naW5mby5oIGxpYmludGwuaCBuY3Vyc2VzLmggcHJvY2Vzcy5oIHB0aHJlYWQuaCBcCitzY2hlZC5oIHNoYWRvdy5oIHNpZ25hbC5oIHN0ZGludC5oIHN0cm9wdHMuaCB0ZXJtaW9zLmggXAogdW5pc3RkLmggdXRpbWUuaCBcCi1zeXMvYXVkaW9pby5oIHN5cy9ic2R0dHkuaCBzeXMvZXBvbGwuaCBzeXMvZXZlbnQuaCBzeXMvZmlsZS5oIHN5cy9sb2FkYXZnLmggXAotc3lzL2xvY2suaCBzeXMvbWtkZXYuaCBzeXMvbW9kZW0uaCBcCi1zeXMvcGFyYW0uaCBzeXMvcG9sbC5oIHN5cy9zZWxlY3QuaCBzeXMvc29ja2V0Lmggc3lzL3N0YXR2ZnMuaCBzeXMvc3RhdC5oIFwKLXN5cy9zeXNjYWxsLmggc3lzL3Rlcm1pby5oIHN5cy90aW1lLmggXAotc3lzL3RpbWVzLmggc3lzL3R5cGVzLmggc3lzL3VuLmggc3lzL3V0c25hbWUuaCBzeXMvd2FpdC5oIHB0eS5oIGxpYnV0aWwuaCBcCi1zeXMvcmVzb3VyY2UuaCBuZXRwYWNrZXQvcGFja2V0Lmggc3lzZXhpdHMuaCBibHVldG9vdGguaCBcCitwb2xsLmggc3lzL2RldnBvbGwuaCBzeXMvZXBvbGwuaCBzeXMvcG9sbC5oIFwKK3N5cy9hdWRpb2lvLmggc3lzL3hhdHRyLmggc3lzL2JzZHR0eS5oIHN5cy9ldmVudC5oIHN5cy9maWxlLmggc3lzL2lvY3RsLmggXAorc3lzL2tlcm5fY29udHJvbC5oIHN5cy9sb2FkYXZnLmggc3lzL2xvY2suaCBzeXMvbWtkZXYuaCBzeXMvbW9kZW0uaCBcCitzeXMvcGFyYW0uaCBzeXMvc2VsZWN0Lmggc3lzL3NlbmRmaWxlLmggc3lzL3NvY2tldC5oIHN5cy9zdGF0dmZzLmggXAorc3lzL3N0YXQuaCBzeXMvc3lzY2FsbC5oIHN5cy9zeXNfZG9tYWluLmggc3lzL3Rlcm1pby5oIHN5cy90aW1lLmggXAorc3lzL3RpbWVzLmggc3lzL3R5cGVzLmggc3lzL3Vpby5oIHN5cy91bi5oIHN5cy91dHNuYW1lLmggc3lzL3dhaXQuaCBwdHkuaCBcCitsaWJ1dGlsLmggc3lzL3Jlc291cmNlLmggbmV0cGFja2V0L3BhY2tldC5oIHN5c2V4aXRzLmggYmx1ZXRvb3RoLmggXAogYmx1ZXRvb3RoL2JsdWV0b290aC5oIGxpbnV4L3RpcGMuaCBzcGF3bi5oIHV0aWwuaAogZG8gOgogICBhc19hY19IZWFkZXI9YCRhc19lY2hvICJhY19jdl9oZWFkZXJfJGFjX2hlYWRlciIgfCAkYXNfdHJfc2hgCkBAIC02MzkwLDYgKzY1MTMsMzQgQEAKIGZpCiAKIAorIyBPbiBEYXJ3aW4gKE9TIFgpIG5ldC9pZi5oIHJlcXVpcmVzIHN5cy9zb2NrZXQuaCB0byBiZSBpbXBvcnRlZCBmaXJzdC4KK2ZvciBhY19oZWFkZXIgaW4gbmV0L2lmLmgKK2RvIDoKKyAgYWNfZm5fY19jaGVja19oZWFkZXJfY29tcGlsZSAiJExJTkVOTyIgIm5ldC9pZi5oIiAiYWNfY3ZfaGVhZGVyX25ldF9pZl9oIiAiI2luY2x1ZGUgPHN0ZGlvLmg+CisjaWZkZWYgU1REQ19IRUFERVJTCisjIGluY2x1ZGUgPHN0ZGxpYi5oPgorIyBpbmNsdWRlIDxzdGRkZWYuaD4KKyNlbHNlCisjIGlmZGVmIEhBVkVfU1RETElCX0gKKyMgIGluY2x1ZGUgPHN0ZGxpYi5oPgorIyBlbmRpZgorI2VuZGlmCisjaWZkZWYgSEFWRV9TWVNfU09DS0VUX0gKKyMgaW5jbHVkZSA8c3lzL3NvY2tldC5oPgorI2VuZGlmCisKKyIKK2lmIHRlc3QgIngkYWNfY3ZfaGVhZGVyX25ldF9pZl9oIiA9IHh5ZXM7IHRoZW4gOgorICBjYXQgPj5jb25mZGVmcy5oIDw8X0FDRU9GCisjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQorX0FDRU9GCisKK2ZpCisKK2RvbmUKKworCisKICMgT24gU29sYXJpcywgdGVybS5oIHJlcXVpcmVzIGN1cnNlcy5oCiBmb3IgYWNfaGVhZGVyIGluIHRlcm0uaAogZG8gOgpAQCAtNjQzMSw2ICs2NTgyLDI2IEBACiBkb25lCiAKIAorIyBPbiBMaW51eCwgY2FuLmggYW5kIGNhbi9yYXcuaCByZXF1aXJlIHN5cy9zb2NrZXQuaAorZm9yIGFjX2hlYWRlciBpbiBsaW51eC9jYW4uaCBsaW51eC9jYW4vcmF3LmgKK2RvIDoKKyAgYXNfYWNfSGVhZGVyPWAkYXNfZWNobyAiYWNfY3ZfaGVhZGVyXyRhY19oZWFkZXIiIHwgJGFzX3RyX3NoYAorYWNfZm5fY19jaGVja19oZWFkZXJfY29tcGlsZSAiJExJTkVOTyIgIiRhY19oZWFkZXIiICIkYXNfYWNfSGVhZGVyIiAiCisjaWZkZWYgSEFWRV9TWVNfU09DS0VUX0gKKyNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CisjZW5kaWYKKworIgoraWYgZXZhbCB0ZXN0IFwieFwkIiRhc19hY19IZWFkZXIiXCIgPSB4InllcyI7IHRoZW4gOgorICBjYXQgPj5jb25mZGVmcy5oIDw8X0FDRU9GCisjZGVmaW5lIGAkYXNfZWNobyAiSEFWRV8kYWNfaGVhZGVyIiB8ICRhc190cl9jcHBgIDEKK19BQ0VPRgorCitmaQorCitkb25lCisKKwogIyBjaGVja3MgZm9yIHR5cGVkZWZzCiB3YXNfaXRfZGVmaW5lZD1ubwogeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgY2xvY2tfdCBpbiB0aW1lLmgiID4mNQpAQCAtNjQ1NSw3ICs2NjI2LDYgQEAKIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkd2FzX2l0X2RlZmluZWQiID4mNQogJGFzX2VjaG8gIiR3YXNfaXRfZGVmaW5lZCIgPiY2OyB9CiAKLSMgQ2hlY2sgd2hldGhlciB1c2luZyBtYWtlZGV2IHJlcXVpcmVzIGRlZmluaW5nIF9PU0ZfU09VUkNFCiB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciBtYWtlZGV2IiA+JjUKICRhc19lY2hvX24gImNoZWNraW5nIGZvciBtYWtlZGV2Li4uICIgPiY2OyB9CiBjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0CkBAIC02NDg2LDM1ICs2NjU2LDYgQEAKIGZpCiBybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqZXh0IFwKICAgICBjb25mdGVzdCRhY19leGVleHQgY29uZnRlc3QuJGFjX2V4dAotaWYgdGVzdCAiJGFjX2N2X2hhc19tYWtlZGV2IiA9ICJubyI7IHRoZW4KLSAgICAjIHdlIGRpZG4ndCBsaW5rLCB0cnkgaWYgX09TRl9TT1VSQ0Ugd2lsbCBhbGxvdyB1cyB0byBsaW5rCi0gICAgY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dAotLyogZW5kIGNvbmZkZWZzLmguICAqLwotCi0jZGVmaW5lIF9PU0ZfU09VUkNFIDEKLSNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KLQotaW50Ci1tYWluICgpCi17Ci0gbWFrZWRldigwLCAwKQotICA7Ci0gIHJldHVybiAwOwotfQotX0FDRU9GCi1pZiBhY19mbl9jX3RyeV9saW5rICIkTElORU5PIjsgdGhlbiA6Ci0gIGFjX2N2X2hhc19tYWtlZGV2PXllcwotZWxzZQotICBhY19jdl9oYXNfbWFrZWRldj1ubwotZmkKLXJtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQgXAotICAgIGNvbmZ0ZXN0JGFjX2V4ZWV4dCBjb25mdGVzdC4kYWNfZXh0Ci0gICAgaWYgdGVzdCAiJGFjX2N2X2hhc19tYWtlZGV2IiA9ICJ5ZXMiOyB0aGVuCi0KLSRhc19lY2hvICIjZGVmaW5lIF9PU0ZfU09VUkNFIDEiID4+Y29uZmRlZnMuaAotCi0gICAgZmkKLWZpCiB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGFjX2N2X2hhc19tYWtlZGV2IiA+JjUKICRhc19lY2hvICIkYWNfY3ZfaGFzX21ha2VkZXYiID4mNjsgfQogaWYgdGVzdCAiJGFjX2N2X2hhc19tYWtlZGV2IiA9ICJ5ZXMiOyB0aGVuCkBAIC03NjAyLDcgKzc3NDMsNiBAQAogCQllbHNlCiAJCQlMRFNIQVJFRD0nbGQgLWInCiAJCWZpIDs7Ci0JT1NGKikgTERTSEFSRUQ9ImxkIC1zaGFyZWQgLWV4cGVjdF91bnJlc29sdmVkIFwiKlwiIjs7CiAJRGFyd2luLzEuMyopCiAJCUxEU0hBUkVEPSckKENDKSAtYnVuZGxlJwogCQlMRENYWFNIQVJFRD0nJChDWFgpIC1idW5kbGUnCkBAIC03ODQxLDYgKzc5ODEsNTEgQEAKIAogCiAjIGNoZWNrcyBmb3IgbGlicmFyaWVzCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciBzZW5kZmlsZSBpbiAtbHNlbmRmaWxlIiA+JjUKKyRhc19lY2hvX24gImNoZWNraW5nIGZvciBzZW5kZmlsZSBpbiAtbHNlbmRmaWxlLi4uICIgPiY2OyB9CitpZiAke2FjX2N2X2xpYl9zZW5kZmlsZV9zZW5kZmlsZSs6fSBmYWxzZTsgdGhlbiA6CisgICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2CitlbHNlCisgIGFjX2NoZWNrX2xpYl9zYXZlX0xJQlM9JExJQlMKK0xJQlM9Ii1sc2VuZGZpbGUgICRMSUJTIgorY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dAorLyogZW5kIGNvbmZkZWZzLmguICAqLworCisvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KKyAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQworICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KKyNpZmRlZiBfX2NwbHVzcGx1cworZXh0ZXJuICJDIgorI2VuZGlmCitjaGFyIHNlbmRmaWxlICgpOworaW50CittYWluICgpCit7CityZXR1cm4gc2VuZGZpbGUgKCk7CisgIDsKKyAgcmV0dXJuIDA7Cit9CitfQUNFT0YKK2lmIGFjX2ZuX2NfdHJ5X2xpbmsgIiRMSU5FTk8iOyB0aGVuIDoKKyAgYWNfY3ZfbGliX3NlbmRmaWxlX3NlbmRmaWxlPXllcworZWxzZQorICBhY19jdl9saWJfc2VuZGZpbGVfc2VuZGZpbGU9bm8KK2ZpCitybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqZXh0IFwKKyAgICBjb25mdGVzdCRhY19leGVleHQgY29uZnRlc3QuJGFjX2V4dAorTElCUz0kYWNfY2hlY2tfbGliX3NhdmVfTElCUworZmkKK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkYWNfY3ZfbGliX3NlbmRmaWxlX3NlbmRmaWxlIiA+JjUKKyRhc19lY2hvICIkYWNfY3ZfbGliX3NlbmRmaWxlX3NlbmRmaWxlIiA+JjY7IH0KK2lmIHRlc3QgIngkYWNfY3ZfbGliX3NlbmRmaWxlX3NlbmRmaWxlIiA9IHh5ZXM7IHRoZW4gOgorICBjYXQgPj5jb25mZGVmcy5oIDw8X0FDRU9GCisjZGVmaW5lIEhBVkVfTElCU0VOREZJTEUgMQorX0FDRU9GCisKKyAgTElCUz0iLWxzZW5kZmlsZSAkTElCUyIKKworZmkKKwogeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgZGxvcGVuIGluIC1sZGwiID4mNQogJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yIGRsb3BlbiBpbiAtbGRsLi4uICIgPiY2OyB9CiBpZiAke2FjX2N2X2xpYl9kbF9kbG9wZW4rOn0gZmFsc2U7IHRoZW4gOgpAQCAtODM3NiwyMyArODU2MSw2IEBACiAKIFVTRV9USFJFQURfTU9EVUxFPSIiCiAKLXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yIC0td2l0aC1kZWMtdGhyZWFkcyIgPiY1Ci0kYXNfZWNob19uICJjaGVja2luZyBmb3IgLS13aXRoLWRlYy10aHJlYWRzLi4uICIgPiY2OyB9Ci0KLQotIyBDaGVjayB3aGV0aGVyIC0td2l0aC1kZWMtdGhyZWFkcyB3YXMgZ2l2ZW4uCi1pZiB0ZXN0ICIke3dpdGhfZGVjX3RocmVhZHMrc2V0fSIgPSBzZXQ7IHRoZW4gOgotICB3aXRodmFsPSR3aXRoX2RlY190aHJlYWRzOwoteyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICR3aXRodmFsIiA+JjUKLSRhc19lY2hvICIkd2l0aHZhbCIgPiY2OyB9Ci1MRExBU1Q9LXRocmVhZHMKLWlmIHRlc3QgIiR7d2l0aF90aHJlYWQrc2V0fSIgIT0gc2V0OyB0aGVuCi0gICB3aXRoX3RocmVhZD0iJHdpdGh2YWwiOwotZmkKLWVsc2UKLSAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6IG5vIiA+JjUKLSRhc19lY2hvICJubyIgPiY2OyB9Ci1maQogCiAKICMgVGVtcGxhdGVzIGZvciB0aGluZ3MgQUNfREVGSU5FZCBtb3JlIHRoYW4gb25jZS4KQEAgLTg0MDAsNyArODU2OCw2IEBACiAKIAogCi0KIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yIC0td2l0aC10aHJlYWRzIiA+JjUKICRhc19lY2hvX24gImNoZWNraW5nIGZvciAtLXdpdGgtdGhyZWFkcy4uLiAiID4mNjsgfQogCkBAIC04NTAyLDMxICs4NjY5LDYgQEAKIAogICAgICRhc19lY2hvICIjZGVmaW5lIF9SRUVOVFJBTlQgMSIgPj5jb25mZGVmcy5oCiAKLSAgICBhY19mbl9jX2NoZWNrX2hlYWRlcl9tb25ncmVsICIkTElORU5PIiAiY3RocmVhZHMuaCIgImFjX2N2X2hlYWRlcl9jdGhyZWFkc19oIiAiJGFjX2luY2x1ZGVzX2RlZmF1bHQiCi1pZiB0ZXN0ICJ4JGFjX2N2X2hlYWRlcl9jdGhyZWFkc19oIiA9IHh5ZXM7IHRoZW4gOgotICAkYXNfZWNobyAiI2RlZmluZSBXSVRIX1RIUkVBRCAxIiA+PmNvbmZkZWZzLmgKLQotICAgICRhc19lY2hvICIjZGVmaW5lIENfVEhSRUFEUyAxIiA+PmNvbmZkZWZzLmgKLQotCi0kYXNfZWNobyAiI2RlZmluZSBIVVJEX0NfVEhSRUFEUyAxIiA+PmNvbmZkZWZzLmgKLQotICAgIExJQlM9IiRMSUJTIC1sdGhyZWFkcyIKLSAgICBUSFJFQURPQko9IlB5dGhvbi90aHJlYWQubyIKLWVsc2UKLQotICAgIGFjX2ZuX2NfY2hlY2tfaGVhZGVyX21vbmdyZWwgIiRMSU5FTk8iICJtYWNoL2N0aHJlYWRzLmgiICJhY19jdl9oZWFkZXJfbWFjaF9jdGhyZWFkc19oIiAiJGFjX2luY2x1ZGVzX2RlZmF1bHQiCi1pZiB0ZXN0ICJ4JGFjX2N2X2hlYWRlcl9tYWNoX2N0aHJlYWRzX2giID0geHllczsgdGhlbiA6Ci0gICRhc19lY2hvICIjZGVmaW5lIFdJVEhfVEhSRUFEIDEiID4+Y29uZmRlZnMuaAotCi0gICAgJGFzX2VjaG8gIiNkZWZpbmUgQ19USFJFQURTIDEiID4+Y29uZmRlZnMuaAotCi0KLSRhc19lY2hvICIjZGVmaW5lIE1BQ0hfQ19USFJFQURTIDEiID4+Y29uZmRlZnMuaAotCi0gICAgVEhSRUFET0JKPSJQeXRob24vdGhyZWFkLm8iCi1lbHNlCi0KICAgICAjIEp1c3QgbG9va2luZyBmb3IgcHRocmVhZF9jcmVhdGUgaW4gbGlicHRocmVhZCBpcyBub3QgZW5vdWdoOgogICAgICMgb24gSFAvVVgsIHB0aHJlYWQuaCByZW5hbWVzIHB0aHJlYWRfY3JlYXRlIHRvIGEgZGlmZmVyZW50IHN5bWJvbCBuYW1lLgogICAgICMgU28gd2UgcmVhbGx5IGhhdmUgdG8gaW5jbHVkZSBwdGhyZWFkLmgsIGFuZCB0aGVuIGxpbmsuCkBAIC04NzU4LDEyICs4OTAwLDYgQEAKIGZpCiBybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqZXh0IFwKICAgICBjb25mdGVzdCRhY19leGVleHQgY29uZnRlc3QuJGFjX2V4dAotZmkKLQotCi1maQotCi0KIAogICAgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yIHVzY29uZmlnIGluIC1sbXBjIiA+JjUKICRhc19lY2hvX24gImNoZWNraW5nIGZvciB1c2NvbmZpZyBpbiAtbG1wYy4uLiAiID4mNjsgfQpAQCAtODg1NiwxNSArODk5Miw2IEBACiBmaQogCiAgICAgZmkKLQotICAgIGlmIHRlc3QgIiRVU0VfVEhSRUFEX01PRFVMRSIgIT0gIiMiCi0gICAgdGhlbgotICAgICAgICAjIElmIHRoZSBhYm92ZSBjaGVja3MgZGlkbid0IGRpc2FibGUgdGhyZWFkcywgKGF0IGxlYXN0KSBPU0YxCi0gICAgICAgICMgbmVlZHMgdGhpcyAnLXRocmVhZHMnIGFyZ3VtZW50IGR1cmluZyBsaW5raW5nLgotICAgICAgICBjYXNlICRhY19zeXNfc3lzdGVtIGluCi0gICAgICAgIE9TRjEpIExETEFTVD0tdGhyZWFkczs7Ci0gICAgICAgIGVzYWMKLSAgICBmaQogZmkKIAogaWYgdGVzdCAiJHBvc2l4X3RocmVhZHMiID0gInllcyI7IHRoZW4KQEAgLTk0MTAsMTkgKzk1MzcsMjcgQEAKIAogIyBjaGVja3MgZm9yIGxpYnJhcnkgZnVuY3Rpb25zCiBmb3IgYWNfZnVuYyBpbiBhbGFybSBhY2NlcHQ0IHNldGl0aW1lciBnZXRpdGltZXIgYmluZF90ZXh0ZG9tYWluX2NvZGVzZXQgY2hvd24gXAotIGNsb2NrIGNvbmZzdHIgY3Rlcm1pZCBleGVjdiBmY2htb2QgZmNob3duIGZvcmsgZnBhdGhjb25mIGZ0aW1lIGZ0cnVuY2F0ZSBcCi0gZ2FpX3N0cmVycm9yIGdldGdyb3VwcyBnZXRsb2dpbiBnZXRsb2FkYXZnIGdldHBlZXJuYW1lIGdldHBnaWQgZ2V0cGlkIFwKKyBjbG9jayBjb25mc3RyIGN0ZXJtaWQgZXhlY3YgZmFjY2Vzc2F0IGZjaG1vZCBmY2htb2RhdCBmY2hvd24gZmNob3duYXQgXAorIGZleGVjdmUgZmRvcGVuZGlyIGZvcmsgZnBhdGhjb25mIGZzdGF0YXQgZnRpbWUgZnRydW5jYXRlIGZ1dGltZXNhdCBcCisgZnV0aW1lbnMgZnV0aW1lcyBnYWlfc3RyZXJyb3IgXAorIGdldGdyb3VwbGlzdCBnZXRncm91cHMgZ2V0bG9naW4gZ2V0bG9hZGF2ZyBnZXRwZWVybmFtZSBnZXRwZ2lkIGdldHBpZCBcCiAgZ2V0cHJpb3JpdHkgZ2V0cmVzdWlkIGdldHJlc2dpZCBnZXRwd2VudCBnZXRzcG5hbSBnZXRzcGVudCBnZXRzaWQgZ2V0d2QgXAotIGluaXRncm91cHMga2lsbCBraWxscGcgbGNobW9kIGxjaG93biBsc3RhdCBtYnJ0b3djIG1rZmlmbyBta25vZCBta3RpbWUgXAotIG1yZW1hcCBuaWNlIHBhdGhjb25mIHBhdXNlIHBsb2NrIHBvbGwgcHRocmVhZF9pbml0IFwKLSBwdXRlbnYgcmVhZGxpbmsgcmVhbHBhdGggXAotIHNlbGVjdCBzZW1fb3BlbiBzZW1fdGltZWR3YWl0IHNlbV9nZXR2YWx1ZSBzZW1fdW5saW5rIHNldGVnaWQgc2V0ZXVpZCBcCi0gc2V0Z2lkIFwKLSBzZXRsb2NhbGUgc2V0cmVnaWQgc2V0cmV1aWQgc2V0cmVzdWlkIHNldHJlc2dpZCBzZXRzaWQgc2V0cGdpZCBzZXRwZ3JwIHNldHVpZCBzZXR2YnVmIFwKLSBzaWdhY3Rpb24gc2lnaW50ZXJydXB0IHNpZ3JlbHNlIHNucHJpbnRmIHN0cmZ0aW1lIHN0cmxjcHkgXAorIGlmX25hbWVpbmRleCBcCisgaW5pdGdyb3VwcyBraWxsIGtpbGxwZyBsY2htb2QgbGNob3duIGxvY2tmIGxpbmthdCBsc3RhdCBsdXRpbWVzIG1tYXAgXAorIG1lbXJjaHIgbWJydG93YyBta2RpcmF0IG1rZmlmbyBcCisgbWtmaWZvYXQgbWtub2QgbWtub2RhdCBta3RpbWUgbXJlbWFwIG5pY2Ugb3BlbmF0IHBhdGhjb25mIHBhdXNlIHBpcGUyIHBsb2NrIHBvbGwgXAorIHBvc2l4X2ZhbGxvY2F0ZSBwb3NpeF9mYWR2aXNlIHByZWFkIFwKKyBwdGhyZWFkX2luaXQgcHRocmVhZF9raWxsIHB1dGVudiBwd3JpdGUgcmVhZGxpbmsgcmVhZGxpbmthdCByZWFkdiByZWFscGF0aCByZW5hbWVhdCBcCisgc2VsZWN0IHNlbV9vcGVuIHNlbV90aW1lZHdhaXQgc2VtX2dldHZhbHVlIHNlbV91bmxpbmsgc2VuZGZpbGUgc2V0ZWdpZCBzZXRldWlkIFwKKyBzZXRnaWQgc2V0aG9zdG5hbWUgXAorIHNldGxvY2FsZSBzZXRyZWdpZCBzZXRyZXVpZCBzZXRyZXN1aWQgc2V0cmVzZ2lkIHNldHNpZCBzZXRwZ2lkIHNldHBncnAgc2V0cHJpb3JpdHkgc2V0dWlkIHNldHZidWYgXAorIHNjaGVkX2dldF9wcmlvcml0eV9tYXggc2NoZWRfc2V0YWZmaW5pdHkgc2NoZWRfc2V0c2NoZWR1bGVyIHNjaGVkX3NldHBhcmFtIFwKKyBzY2hlZF9ycl9nZXRfaW50ZXJ2YWwgXAorIHNpZ2FjdGlvbiBzaWdhbHRzdGFjayBzaWdpbnRlcnJ1cHQgc2lncGVuZGluZyBzaWdyZWxzZSBcCisgc2lndGltZWR3YWl0IHNpZ3dhaXQgc2lnd2FpdGluZm8gc25wcmludGYgc3RyZnRpbWUgc3RybGNweSBzeW1saW5rYXQgc3luYyBcCiAgc3lzY29uZiB0Y2dldHBncnAgdGNzZXRwZ3JwIHRlbXBuYW0gdGltZWdtIHRpbWVzIHRtcGZpbGUgdG1wbmFtIHRtcG5hbV9yIFwKLSB0cnVuY2F0ZSB1bmFtZSB1bnNldGVudiB1dGltZXMgd2FpdHBpZCB3YWl0MyB3YWl0NCBcCi0gd2NzY29sbCB3Y3NmdGltZSB3Y3N4ZnJtIF9nZXRwdHkKKyB0cnVuY2F0ZSB1bmFtZSB1bmxpbmthdCB1bnNldGVudiB1dGltZW5zYXQgdXRpbWVzIHdhaXRpZCB3YWl0cGlkIHdhaXQzIHdhaXQ0IFwKKyB3Y3Njb2xsIHdjc2Z0aW1lIHdjc3hmcm0gd3JpdGV2IF9nZXRwdHkKIGRvIDoKICAgYXNfYWNfdmFyPWAkYXNfZWNobyAiYWNfY3ZfZnVuY18kYWNfZnVuYyIgfCAkYXNfdHJfc2hgCiBhY19mbl9jX2NoZWNrX2Z1bmMgIiRMSU5FTk8iICIkYWNfZnVuYyIgIiRhc19hY192YXIiCkBAIC05NjIyLDYgKzk3NTcsMzEgQEAKIAogZmkKIHJtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQgY29uZnRlc3QuJGFjX2V4dAoreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgZXBvbGxfY3JlYXRlMSIgPiY1CiskYXNfZWNob19uICJjaGVja2luZyBmb3IgZXBvbGxfY3JlYXRlMS4uLiAiID4mNjsgfQorY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dAorLyogZW5kIGNvbmZkZWZzLmguICAqLworI2luY2x1ZGUgPHN5cy9lcG9sbC5oPgoraW50CittYWluICgpCit7Cit2b2lkICp4PWVwb2xsX2NyZWF0ZTEKKyAgOworICByZXR1cm4gMDsKK30KK19BQ0VPRgoraWYgYWNfZm5fY190cnlfY29tcGlsZSAiJExJTkVOTyI7IHRoZW4gOgorCiskYXNfZWNobyAiI2RlZmluZSBIQVZFX0VQT0xMX0NSRUFURTEgMSIgPj5jb25mZGVmcy5oCisKKyAgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiB5ZXMiID4mNQorJGFzX2VjaG8gInllcyIgPiY2OyB9CitlbHNlCisgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiBubyIgPiY1CiskYXNfZWNobyAibm8iID4mNjsgfQorCitmaQorcm0gLWYgY29yZSBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4dCBjb25mdGVzdC4kYWNfZXh0CiB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciBrcXVldWUiID4mNQogJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yIGtxdWV1ZS4uLiAiID4mNjsgfQogY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dApAQCAtMTA1OTYsNiArMTA3NTYsMTI1IEBACiBkb25lCiAKIAorZm9yIGFjX2Z1bmMgaW4gY2xvY2tfZ2V0dGltZQorZG8gOgorICBhY19mbl9jX2NoZWNrX2Z1bmMgIiRMSU5FTk8iICJjbG9ja19nZXR0aW1lIiAiYWNfY3ZfZnVuY19jbG9ja19nZXR0aW1lIgoraWYgdGVzdCAieCRhY19jdl9mdW5jX2Nsb2NrX2dldHRpbWUiID0geHllczsgdGhlbiA6CisgIGNhdCA+PmNvbmZkZWZzLmggPDxfQUNFT0YKKyNkZWZpbmUgSEFWRV9DTE9DS19HRVRUSU1FIDEKK19BQ0VPRgorCitlbHNlCisKKyAgICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciBjbG9ja19nZXR0aW1lIGluIC1scnQiID4mNQorJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yIGNsb2NrX2dldHRpbWUgaW4gLWxydC4uLiAiID4mNjsgfQoraWYgJHthY19jdl9saWJfcnRfY2xvY2tfZ2V0dGltZSs6fSBmYWxzZTsgdGhlbiA6CisgICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2CitlbHNlCisgIGFjX2NoZWNrX2xpYl9zYXZlX0xJQlM9JExJQlMKK0xJQlM9Ii1scnQgICRMSUJTIgorY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dAorLyogZW5kIGNvbmZkZWZzLmguICAqLworCisvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KKyAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQworICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KKyNpZmRlZiBfX2NwbHVzcGx1cworZXh0ZXJuICJDIgorI2VuZGlmCitjaGFyIGNsb2NrX2dldHRpbWUgKCk7CitpbnQKK21haW4gKCkKK3sKK3JldHVybiBjbG9ja19nZXR0aW1lICgpOworICA7CisgIHJldHVybiAwOworfQorX0FDRU9GCitpZiBhY19mbl9jX3RyeV9saW5rICIkTElORU5PIjsgdGhlbiA6CisgIGFjX2N2X2xpYl9ydF9jbG9ja19nZXR0aW1lPXllcworZWxzZQorICBhY19jdl9saWJfcnRfY2xvY2tfZ2V0dGltZT1ubworZmkKK3JtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQgXAorICAgIGNvbmZ0ZXN0JGFjX2V4ZWV4dCBjb25mdGVzdC4kYWNfZXh0CitMSUJTPSRhY19jaGVja19saWJfc2F2ZV9MSUJTCitmaQoreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRhY19jdl9saWJfcnRfY2xvY2tfZ2V0dGltZSIgPiY1CiskYXNfZWNobyAiJGFjX2N2X2xpYl9ydF9jbG9ja19nZXR0aW1lIiA+JjY7IH0KK2lmIHRlc3QgIngkYWNfY3ZfbGliX3J0X2Nsb2NrX2dldHRpbWUiID0geHllczsgdGhlbiA6CisKKyAgICAgICAgJGFzX2VjaG8gIiNkZWZpbmUgSEFWRV9DTE9DS19HRVRUSU1FIDEiID4+Y29uZmRlZnMuaAorCisKKyRhc19lY2hvICIjZGVmaW5lIFRJTUVNT0RVTEVfTElCIHJ0IiA+PmNvbmZkZWZzLmgKKworCitmaQorCisKK2ZpCitkb25lCisKKworZm9yIGFjX2Z1bmMgaW4gY2xvY2tfZ2V0cmVzCitkbyA6CisgIGFjX2ZuX2NfY2hlY2tfZnVuYyAiJExJTkVOTyIgImNsb2NrX2dldHJlcyIgImFjX2N2X2Z1bmNfY2xvY2tfZ2V0cmVzIgoraWYgdGVzdCAieCRhY19jdl9mdW5jX2Nsb2NrX2dldHJlcyIgPSB4eWVzOyB0aGVuIDoKKyAgY2F0ID4+Y29uZmRlZnMuaCA8PF9BQ0VPRgorI2RlZmluZSBIQVZFX0NMT0NLX0dFVFJFUyAxCitfQUNFT0YKKworZWxzZQorCisgICAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgY2xvY2tfZ2V0cmVzIGluIC1scnQiID4mNQorJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yIGNsb2NrX2dldHJlcyBpbiAtbHJ0Li4uICIgPiY2OyB9CitpZiAke2FjX2N2X2xpYl9ydF9jbG9ja19nZXRyZXMrOn0gZmFsc2U7IHRoZW4gOgorICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgorZWxzZQorICBhY19jaGVja19saWJfc2F2ZV9MSUJTPSRMSUJTCitMSUJTPSItbHJ0ICAkTElCUyIKK2NhdCBjb25mZGVmcy5oIC0gPDxfQUNFT0YgPmNvbmZ0ZXN0LiRhY19leHQKKy8qIGVuZCBjb25mZGVmcy5oLiAgKi8KKworLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCisgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKKyAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCisjaWZkZWYgX19jcGx1c3BsdXMKK2V4dGVybiAiQyIKKyNlbmRpZgorY2hhciBjbG9ja19nZXRyZXMgKCk7CitpbnQKK21haW4gKCkKK3sKK3JldHVybiBjbG9ja19nZXRyZXMgKCk7CisgIDsKKyAgcmV0dXJuIDA7Cit9CitfQUNFT0YKK2lmIGFjX2ZuX2NfdHJ5X2xpbmsgIiRMSU5FTk8iOyB0aGVuIDoKKyAgYWNfY3ZfbGliX3J0X2Nsb2NrX2dldHJlcz15ZXMKK2Vsc2UKKyAgYWNfY3ZfbGliX3J0X2Nsb2NrX2dldHJlcz1ubworZmkKK3JtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQgXAorICAgIGNvbmZ0ZXN0JGFjX2V4ZWV4dCBjb25mdGVzdC4kYWNfZXh0CitMSUJTPSRhY19jaGVja19saWJfc2F2ZV9MSUJTCitmaQoreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRhY19jdl9saWJfcnRfY2xvY2tfZ2V0cmVzIiA+JjUKKyRhc19lY2hvICIkYWNfY3ZfbGliX3J0X2Nsb2NrX2dldHJlcyIgPiY2OyB9CitpZiB0ZXN0ICJ4JGFjX2N2X2xpYl9ydF9jbG9ja19nZXRyZXMiID0geHllczsgdGhlbiA6CisKKyAgICAgICAgJGFzX2VjaG8gIiNkZWZpbmUgSEFWRV9DTE9DS19HRVRSRVMgMSIgPj5jb25mZGVmcy5oCisKKworZmkKKworCitmaQorZG9uZQorCisKIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yIG1ham9yIiA+JjUKICRhc19lY2hvX24gImNoZWNraW5nIGZvciBtYWpvci4uLiAiID4mNjsgfQogY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dApAQCAtMTA2NzMsNyArMTA5NTIsMTIgQEAKICAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKIGVsc2UKICAgaWYgdGVzdCAiJGNyb3NzX2NvbXBpbGluZyIgPSB5ZXM7IHRoZW4gOgorCitpZiB0ZXN0ICIke2VuYWJsZV9pcHY2K3NldH0iID0gc2V0OyB0aGVuCisgIGFjX2N2X2J1Z2d5X2dldGFkZHJpbmZvPSJubyAtLSBjb25maWd1cmVkIHdpdGggLS0oZW58ZGlzKWFibGUtaXB2NiIKK2Vsc2UKICAgYWNfY3ZfYnVnZ3lfZ2V0YWRkcmluZm89eWVzCitmaQogZWxzZQogICBjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0CiAvKiBlbmQgY29uZmRlZnMuaC4gICovCkBAIC0xMjAwMCw3ICsxMjI4NCw3IEBACiBmaQogZG9uZQogCi1mb3IgYWNfZnVuYyBpbiBoeXBvdCBsZ2FtbWEgbG9nMXAgcm91bmQgdGdhbW1hCitmb3IgYWNfZnVuYyBpbiBoeXBvdCBsZ2FtbWEgbG9nMXAgbG9nMiByb3VuZCB0Z2FtbWEKIGRvIDoKICAgYXNfYWNfdmFyPWAkYXNfZWNobyAiYWNfY3ZfZnVuY18kYWNfZnVuYyIgfCAkYXNfdHJfc2hgCiBhY19mbl9jX2NoZWNrX2Z1bmMgIiRMSU5FTk8iICIkYWNfZnVuYyIgIiRhc19hY192YXIiCkBAIC0xMjQwNyw2NSArMTI2OTEsMTkgQEAKICRhc19lY2hvICIkYWNfY3Zfd2NoYXJfdF9zaWduZWQiID4mNjsgfQogZmkKIAoteyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyB3aGF0IHR5cGUgdG8gdXNlIGZvciBzdHIiID4mNQotJGFzX2VjaG9fbiAiY2hlY2tpbmcgd2hhdCB0eXBlIHRvIHVzZSBmb3Igc3RyLi4uICIgPiY2OyB9Ci0KLSMgQ2hlY2sgd2hldGhlciAtLXdpdGgtd2lkZS11bmljb2RlIHdhcyBnaXZlbi4KLWlmIHRlc3QgIiR7d2l0aF93aWRlX3VuaWNvZGUrc2V0fSIgPSBzZXQ7IHRoZW4gOgotICB3aXRodmFsPSR3aXRoX3dpZGVfdW5pY29kZTsKLWlmIHRlc3QgIiR3aXRodmFsIiAhPSBubwotdGhlbiB1bmljb2RlX3NpemU9IjQiCi1lbHNlIHVuaWNvZGVfc2l6ZT0iMiIKLWZpCi0KLWVsc2UKLQotY2FzZSAiJGhhdmVfdWNzNF90Y2wiIGluCi0gIHllcykgdW5pY29kZV9zaXplPSI0Ijs7Ci0gICopICAgdW5pY29kZV9zaXplPSIyIiA7OwotZXNhYwotCi1maQotCi0KLQotY2FzZSAiJHVuaWNvZGVfc2l6ZSIgaW4KLSAgNCkKLSAgICAgJGFzX2VjaG8gIiNkZWZpbmUgUHlfVU5JQ09ERV9TSVpFIDQiID4+Y29uZmRlZnMuaAotCi0gICAgIEFCSUZMQUdTPSIke0FCSUZMQUdTfXUiCi0gICAgIDs7Ci0gICopICRhc19lY2hvICIjZGVmaW5lIFB5X1VOSUNPREVfU0laRSAyIiA+PmNvbmZkZWZzLmgKLSA7OwotZXNhYwotCi0KLQogIyB3Y2hhcl90IGlzIG9ubHkgdXNhYmxlIGlmIGl0IG1hcHMgdG8gYW4gdW5zaWduZWQgdHlwZQotaWYgdGVzdCAiJHVuaWNvZGVfc2l6ZSIgPSAiJGFjX2N2X3NpemVvZl93Y2hhcl90IiBcCitpZiB0ZXN0ICIkYWNfY3Zfc2l6ZW9mX3djaGFyX3QiIC1nZSAyIFwKICAgICAgICAgICAtYSAiJGFjX2N2X3djaGFyX3Rfc2lnbmVkIiA9ICJubyIKIHRoZW4KLSAgUFlfVU5JQ09ERV9UWVBFPSJ3Y2hhcl90IgorICBIQVZFX1VTQUJMRV9XQ0hBUl9UPSJ5ZXMiCiAKICRhc19lY2hvICIjZGVmaW5lIEhBVkVfVVNBQkxFX1dDSEFSX1QgMSIgPj5jb25mZGVmcy5oCiAKLSAgJGFzX2VjaG8gIiNkZWZpbmUgUFlfVU5JQ09ERV9UWVBFIHdjaGFyX3QiID4+Y29uZmRlZnMuaAotCi1lbGlmIHRlc3QgIiRhY19jdl9zaXplb2Zfc2hvcnQiID0gIiR1bmljb2RlX3NpemUiCi10aGVuCi0gICAgIFBZX1VOSUNPREVfVFlQRT0idW5zaWduZWQgc2hvcnQiCi0gICAgICRhc19lY2hvICIjZGVmaW5lIFBZX1VOSUNPREVfVFlQRSB1bnNpZ25lZCBzaG9ydCIgPj5jb25mZGVmcy5oCi0KLWVsaWYgdGVzdCAiJGFjX2N2X3NpemVvZl9sb25nIiA9ICIkdW5pY29kZV9zaXplIgotdGhlbgotICAgICBQWV9VTklDT0RFX1RZUEU9InVuc2lnbmVkIGxvbmciCi0gICAgICRhc19lY2hvICIjZGVmaW5lIFBZX1VOSUNPREVfVFlQRSB1bnNpZ25lZCBsb25nIiA+PmNvbmZkZWZzLmgKLQogZWxzZQotICAgICBQWV9VTklDT0RFX1RZUEU9Im5vIHR5cGUgZm91bmQiCisgIEhBVkVfVVNBQkxFX1dDSEFSX1Q9Im5vIHVzYWJsZSB3Y2hhcl90IGZvdW5kIgogZmkKLXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkUFlfVU5JQ09ERV9UWVBFIiA+JjUKLSRhc19lY2hvICIkUFlfVU5JQ09ERV9UWVBFIiA+JjY7IH0KK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiAkSEFWRV9VU0FCTEVfV0NIQVJfVCIgPiY1CiskYXNfZWNobyAiJEhBVkVfVVNBQkxFX1dDSEFSX1QiID4mNjsgfQogCiAjIGNoZWNrIGZvciBlbmRpYW5uZXNzCiAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyB3aGV0aGVyIGJ5dGUgb3JkZXJpbmcgaXMgYmlnZW5kaWFuIiA+JjUKQEAgLTEzNjcwLDcgKzEzOTA4LDM2IEBACiAgICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2CiBlbHNlCiAgIGlmIHRlc3QgIiRjcm9zc19jb21waWxpbmciID0geWVzOyB0aGVuIDoKLSAgYWNfY3ZfaGF2ZV9sb25nX2xvbmdfZm9ybWF0PW5vCisgIGFjX2N2X2hhdmVfbG9uZ19sb25nX2Zvcm1hdD0iY3Jvc3MgLS0gYXNzdW1pbmcgbm8iCisgICBpZiB0ZXN0IHgkR0NDID0geHllczsgdGhlbgorICAgIHNhdmVfQ0ZMQUdTPSRDRkxBR1MKKyAgICBDRkxBR1M9IiRDRkxBR1MgLVdlcnJvciAtV2Zvcm1hdCIKKyAgICBjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0CisvKiBlbmQgY29uZmRlZnMuaC4gICovCisKKyAgICAgICAgI2luY2x1ZGUgPHN0ZGlvLmg+CisgICAgICAgICNpbmNsdWRlIDxzdGRkZWYuaD4KKworaW50CittYWluICgpCit7CisKKyAgICAgIGNoYXIgKmJ1ZmZlcjsKKyAgICAgIHNwcmludGYoYnVmZmVyLCAiJWxsZCIsIChsb25nIGxvbmcpMTIzKTsKKyAgICAgIHNwcmludGYoYnVmZmVyLCAiJWxsZCIsIChsb25nIGxvbmcpLTEyMyk7CisgICAgICBzcHJpbnRmKGJ1ZmZlciwgIiVsbHUiLCAodW5zaWduZWQgbG9uZyBsb25nKTEyMyk7CisKKyAgOworICByZXR1cm4gMDsKK30KK19BQ0VPRgoraWYgYWNfZm5fY190cnlfY29tcGlsZSAiJExJTkVOTyI7IHRoZW4gOgorICBhY19jdl9oYXZlX2xvbmdfbG9uZ19mb3JtYXQ9eWVzCisKK2ZpCitybSAtZiBjb3JlIGNvbmZ0ZXN0LmVyciBjb25mdGVzdC4kYWNfb2JqZXh0IGNvbmZ0ZXN0LiRhY19leHQKKyAgICBDRkxBR1M9JHNhdmVfQ0ZMQUdTCisgICBmaQogZWxzZQogICBjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0CiAvKiBlbmQgY29uZmRlZnMuaC4gICovCkBAIC0xMzg1OCw0OSArMTQxMjUsNiBAQAogCiBmaQogCi17ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIHdoZXRoZXIgJENDIHN1cHBvcnRzIGNvbXB1dGVkIGdvdG9zIiA+JjUKLSRhc19lY2hvX24gImNoZWNraW5nIHdoZXRoZXIgJENDIHN1cHBvcnRzIGNvbXB1dGVkIGdvdG9zLi4uICIgPiY2OyB9Ci1pZiAke2FjX2N2X2NvbXB1dGVkX2dvdG9zKzp9IGZhbHNlOyB0aGVuIDoKLSAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKLWVsc2UKLSAgaWYgdGVzdCAiJGNyb3NzX2NvbXBpbGluZyIgPSB5ZXM7IHRoZW4gOgotICBhY19jdl9jb21wdXRlZF9nb3Rvcz1ubwotZWxzZQotICBjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0Ci0vKiBlbmQgY29uZmRlZnMuaC4gICovCi0KLWludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKLXsKLSAgICBzdGF0aWMgdm9pZCAqdGFyZ2V0c1sxXSA9IHsgJiZMQUJFTDEgfTsKLSAgICBnb3RvIExBQkVMMjsKLUxBQkVMMToKLSAgICByZXR1cm4gMDsKLUxBQkVMMjoKLSAgICBnb3RvICp0YXJnZXRzWzBdOwotICAgIHJldHVybiAxOwotfQotCi1fQUNFT0YKLWlmIGFjX2ZuX2NfdHJ5X3J1biAiJExJTkVOTyI7IHRoZW4gOgotICBhY19jdl9jb21wdXRlZF9nb3Rvcz15ZXMKLWVsc2UKLSAgYWNfY3ZfY29tcHV0ZWRfZ290b3M9bm8KLWZpCi1ybSAtZiBjb3JlICouY29yZSBjb3JlLmNvbmZ0ZXN0LiogZ21vbi5vdXQgYmIub3V0IGNvbmZ0ZXN0JGFjX2V4ZWV4dCBcCi0gIGNvbmZ0ZXN0LiRhY19vYmpleHQgY29uZnRlc3QuYmVhbSBjb25mdGVzdC4kYWNfZXh0Ci1maQotCi1maQotCi17ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJGFjX2N2X2NvbXB1dGVkX2dvdG9zIiA+JjUKLSRhc19lY2hvICIkYWNfY3ZfY29tcHV0ZWRfZ290b3MiID4mNjsgfQotaWYgdGVzdCAiJGFjX2N2X2NvbXB1dGVkX2dvdG9zIiA9IHllcwotdGhlbgotCi0kYXNfZWNobyAiI2RlZmluZSBIQVZFX0NPTVBVVEVEX0dPVE9TIDEiID4+Y29uZmRlZnMuaAotCi1maQotCiAjIENoZWNrIGZvciAtLXdpdGgtY29tcHV0ZWQtZ290b3MKIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yIC0td2l0aC1jb21wdXRlZC1nb3RvcyIgPiY1CiAkYXNfZWNob19uICJjaGVja2luZyBmb3IgLS13aXRoLWNvbXB1dGVkLWdvdG9zLi4uICIgPiY2OyB9CkBAIC0xMzkzMSw2ICsxNDE1NSw1MiBAQAogZmkKIAogCit7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIHdoZXRoZXIgJENDIHN1cHBvcnRzIGNvbXB1dGVkIGdvdG9zIiA+JjUKKyRhc19lY2hvX24gImNoZWNraW5nIHdoZXRoZXIgJENDIHN1cHBvcnRzIGNvbXB1dGVkIGdvdG9zLi4uICIgPiY2OyB9CitpZiAke2FjX2N2X2NvbXB1dGVkX2dvdG9zKzp9IGZhbHNlOyB0aGVuIDoKKyAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKK2Vsc2UKKyAgaWYgdGVzdCAiJGNyb3NzX2NvbXBpbGluZyIgPSB5ZXM7IHRoZW4gOgorICBpZiB0ZXN0ICIke3dpdGhfY29tcHV0ZWRfZ290b3Mrc2V0fSIgPSBzZXQ7IHRoZW4KKyAgIGFjX2N2X2NvbXB1dGVkX2dvdG9zPSIkd2l0aF9jb21wdXRlZF9nb3RvcyAtLSBjb25maWd1cmVkIC0td2l0aChvdXQpLWNvbXB1dGVkLWdvdG9zIgorIGVsc2UKKyAgIGFjX2N2X2NvbXB1dGVkX2dvdG9zPW5vCisgZmkKK2Vsc2UKKyAgY2F0IGNvbmZkZWZzLmggLSA8PF9BQ0VPRiA+Y29uZnRlc3QuJGFjX2V4dAorLyogZW5kIGNvbmZkZWZzLmguICAqLworCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCit7CisgICAgc3RhdGljIHZvaWQgKnRhcmdldHNbMV0gPSB7ICYmTEFCRUwxIH07CisgICAgZ290byBMQUJFTDI7CitMQUJFTDE6CisgICAgcmV0dXJuIDA7CitMQUJFTDI6CisgICAgZ290byAqdGFyZ2V0c1swXTsKKyAgICByZXR1cm4gMTsKK30KKworX0FDRU9GCitpZiBhY19mbl9jX3RyeV9ydW4gIiRMSU5FTk8iOyB0aGVuIDoKKyAgYWNfY3ZfY29tcHV0ZWRfZ290b3M9eWVzCitlbHNlCisgIGFjX2N2X2NvbXB1dGVkX2dvdG9zPW5vCitmaQorcm0gLWYgY29yZSAqLmNvcmUgY29yZS5jb25mdGVzdC4qIGdtb24ub3V0IGJiLm91dCBjb25mdGVzdCRhY19leGVleHQgXAorICBjb25mdGVzdC4kYWNfb2JqZXh0IGNvbmZ0ZXN0LmJlYW0gY29uZnRlc3QuJGFjX2V4dAorZmkKKworZmkKKworeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRhY19jdl9jb21wdXRlZF9nb3RvcyIgPiY1CiskYXNfZWNobyAiJGFjX2N2X2NvbXB1dGVkX2dvdG9zIiA+JjY7IH0KK2Nhc2UgIiRhY19jdl9jb21wdXRlZF9nb3RvcyIgaW4geWVzKikKKworJGFzX2VjaG8gIiNkZWZpbmUgSEFWRV9DT01QVVRFRF9HT1RPUyAxIiA+PmNvbmZkZWZzLmgKKworZXNhYworCiBjYXNlICRhY19zeXNfc3lzdGVtIGluCiBBSVgqKQogCkBAIC0xMzkzOSwxOCArMTQyMDksNiBAQAogZXNhYwogCiAKLWNhc2UgJGFjX3N5c19zeXN0ZW0gaW4KLSAgT1NGKikgYXNfZm5fZXJyb3IgJD8gIk9TRiogc3lzdGVtcyBhcmUgZGVwcmVjYXRlZCB1bmxlc3Mgc29tZWJvZHkgdm9sdW50ZWVycy4gQ2hlY2sgaHR0cDovL2J1Z3MucHl0aG9uLm9yZy9pc3N1ZTg2MDYiICIkTElORU5PIiA1IDs7Ci1lc2FjCi0KLWFjX2ZuX2NfY2hlY2tfZnVuYyAiJExJTkVOTyIgInBpcGUyIiAiYWNfY3ZfZnVuY19waXBlMiIKLWlmIHRlc3QgIngkYWNfY3ZfZnVuY19waXBlMiIgPSB4eWVzOyB0aGVuIDoKLQotJGFzX2VjaG8gIiNkZWZpbmUgSEFWRV9QSVBFMiAxIiA+PmNvbmZkZWZzLmgKLQotZmkKLQotCiAKIAogZm9yIGggaW4gYChjZCAkc3JjZGlyO2VjaG8gUHl0aG9uL3RocmVhZF8qLmgpYApAQCAtMTQ0OTQsNyArMTQ3NTIsNyBAQAogIyByZXBvcnQgYWN0dWFsIGlucHV0IHZhbHVlcyBvZiBDT05GSUdfRklMRVMgZXRjLiBpbnN0ZWFkIG9mIHRoZWlyCiAjIHZhbHVlcyBhZnRlciBvcHRpb25zIGhhbmRsaW5nLgogYWNfbG9nPSIKLVRoaXMgZmlsZSB3YXMgZXh0ZW5kZWQgYnkgcHl0aG9uICRhc19tZSAzLjIsIHdoaWNoIHdhcworVGhpcyBmaWxlIHdhcyBleHRlbmRlZCBieSBweXRob24gJGFzX21lIDMuMywgd2hpY2ggd2FzCiBnZW5lcmF0ZWQgYnkgR05VIEF1dG9jb25mIDIuNjguICBJbnZvY2F0aW9uIGNvbW1hbmQgbGluZSB3YXMKIAogICBDT05GSUdfRklMRVMgICAgPSAkQ09ORklHX0ZJTEVTCkBAIC0xNDU1Niw3ICsxNDgxNCw3IEBACiBjYXQgPj4kQ09ORklHX1NUQVRVUyA8PF9BQ0VPRiB8fCBhY193cml0ZV9mYWlsPTEKIGFjX2NzX2NvbmZpZz0iYCRhc19lY2hvICIkYWNfY29uZmlndXJlX2FyZ3MiIHwgc2VkICdzL14gLy87IHMvW1xcIiJcYFwkXS9cXFxcJi9nJ2AiCiBhY19jc192ZXJzaW9uPSJcXAotcHl0aG9uIGNvbmZpZy5zdGF0dXMgMy4yCitweXRob24gY29uZmlnLnN0YXR1cyAzLjMKIGNvbmZpZ3VyZWQgYnkgJDAsIGdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi42OCwKICAgd2l0aCBvcHRpb25zIFxcIlwkYWNfY3NfY29uZmlnXFwiCiAKQEAgLTE0NTY3LDYgKzE0ODI1LDcgQEAKIGFjX3B3ZD0nJGFjX3B3ZCcKIHNyY2Rpcj0nJHNyY2RpcicKIElOU1RBTEw9JyRJTlNUQUxMJworTUtESVJfUD0nJE1LRElSX1AnCiB0ZXN0IC1uICJcJEFXSyIgfHwgQVdLPWF3awogX0FDRU9GCiAKQEAgLTE1MTM0LDYgKzE1MzkzLDExIEBACiAgIFtcXC8kXSogfCA/OltcXC9dKiApIGFjX0lOU1RBTEw9JElOU1RBTEwgOzsKICAgKikgYWNfSU5TVEFMTD0kYWNfdG9wX2J1aWxkX3ByZWZpeCRJTlNUQUxMIDs7CiAgIGVzYWMKKyAgYWNfTUtESVJfUD0kTUtESVJfUAorICBjYXNlICRNS0RJUl9QIGluCisgIFtcXC8kXSogfCA/OltcXC9dKiApIDs7CisgICovKikgYWNfTUtESVJfUD0kYWNfdG9wX2J1aWxkX3ByZWZpeCRNS0RJUl9QIDs7CisgIGVzYWMKIF9BQ0VPRgogCiBjYXQgPj4kQ09ORklHX1NUQVRVUyA8PFxfQUNFT0YgfHwgYWNfd3JpdGVfZmFpbD0xCkBAIC0xNTE4OCw2ICsxNTQ1Miw3IEBACiBzJkBhYnNfYnVpbGRkaXJAJiRhY19hYnNfYnVpbGRkaXImO3QgdAogcyZAYWJzX3RvcF9idWlsZGRpckAmJGFjX2Fic190b3BfYnVpbGRkaXImO3QgdAogcyZASU5TVEFMTEAmJGFjX0lOU1RBTEwmO3QgdAorcyZATUtESVJfUEAmJGFjX01LRElSX1AmO3QgdAogJGFjX2RhdGFyb290ZGlyX2hhY2sKICIKIGV2YWwgc2VkIFwiXCRhY19zZWRfZXh0cmFcIiAiJGFjX2ZpbGVfaW5wdXRzIiB8ICRBV0sgLWYgIiRhY190bXAvc3Vicy5hd2siIFwKZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYwppbmRleCAxMzhkNTYyLi4wYWU1MDAzIDEwMDY0NAotLS0gYS9jb25maWd1cmUuYWMKKysrIGIvY29uZmlndXJlLmFjCkBAIC0zLDIyICszLDM4IEBACiBkbmwgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIAogIyBTZXQgVkVSU0lPTiBzbyB3ZSBvbmx5IG5lZWQgdG8gZWRpdCBpbiBvbmUgcGxhY2UgKGkuZS4sIGhlcmUpCi1tNF9kZWZpbmUoUFlUSE9OX1ZFUlNJT04sIDMuMikKK200X2RlZmluZShQWVRIT05fVkVSU0lPTiwgMy4zKQogCi1kbmwgU29tZSBtNCBtYWdpYyB0byBlbnN1cmUgdGhhdCB0aGUgY29uZmlndXJlIHNjcmlwdCBpcyBnZW5lcmF0ZWQKLWRubCBieSB0aGUgY29ycmVjdCBhdXRvY29uZiB2ZXJzaW9uLgotbTRfZGVmaW5lKFt2ZXJzaW9uX3JlcXVpcmVkXSwKLVttNF9pZihtNF92ZXJzaW9uX2NvbXBhcmUobTRfZGVmbihbbTRfUEFDS0FHRV9WRVJTSU9OXSksIFskMV0pLCAwLAotICAgICAgIFtdLAotICAgICAgIFttNF9mYXRhbChbQXV0b2NvbmYgdmVyc2lvbiAkMSBpcyByZXF1aXJlZCBmb3IgUHl0aG9uXSwgNjMpXSkKLV0pCiBBQ19QUkVSRVEoMi42NSkKIAotQUNfUkVWSVNJT04oJFJldmlzaW9uJCkKIEFDX0lOSVQocHl0aG9uLCBQWVRIT05fVkVSU0lPTiwgaHR0cDovL2J1Z3MucHl0aG9uLm9yZy8pCisKK0FDX1NVQlNUKEhHVkVSU0lPTikKK0FDX1NVQlNUKEhHVEFHKQorQUNfU1VCU1QoSEdCUkFOQ0gpCisKK2lmIHRlc3QgLWUgJHNyY2Rpci8uaGcvZGlyc3RhdGUKK3RoZW4KK0FDX0NIRUNLX1BST0coSEFTX0hHLCBoZywgZm91bmQsIG5vdC1mb3VuZCkKK2Vsc2UKK0hBU19IRz1uby1yZXBvc2l0b3J5CitmaQoraWYgdGVzdCAkSEFTX0hHID0gZm91bmQKK3RoZW4KKyAgICBIR1ZFUlNJT049ImhnIGlkIC1pIFwkKHNyY2RpcikiCisgICAgSEdUQUc9ImhnIGlkIC10IFwkKHNyY2RpcikiCisgICAgSEdCUkFOQ0g9ImhnIGlkIC1iIFwkKHNyY2RpcikiCitlbHNlCisgICAgSEdWRVJTSU9OPSIiCisgICAgSEdUQUc9IiIKKyAgICBIR0JSQU5DSD0iIgorZmkKKwogQUNfQ09ORklHX1NSQ0RJUihbSW5jbHVkZS9vYmplY3QuaF0pCiBBQ19DT05GSUdfSEVBREVSKHB5Y29uZmlnLmgpCiAKK0FDX0NBTk9OSUNBTF9IT1NUCisKIGRubCBFbnN1cmUgdGhhdCBpZiBwcmVmaXggaXMgc3BlY2lmaWVkLCBpdCBkb2VzIG5vdCBlbmQgaW4gYSBzbGFzaC4gSWYKIGRubCBpdCBkb2VzLCB3ZSBnZXQgcGF0aCBuYW1lcyBjb250YWluaW5nICcvLycgd2hpY2ggaXMgYm90aCB1Z2x5IGFuZAogZG5sIGNhbiBjYXVzZSB0cm91YmxlLgpAQCAtMjc2LDYgKzI5MiwyNSBAQAogQUNfTVNHX0NIRUNLSU5HKE1BQ0hERVApCiBpZiB0ZXN0IC16ICIkTUFDSERFUCIKIHRoZW4KKyAgICAjIGF2b2lkIHVzaW5nIHVuYW1lIGZvciBjcm9zcyBidWlsZHMKKyAgICBpZiB0ZXN0ICIkY3Jvc3NfY29tcGlsaW5nIiA9IHllczsgdGhlbgorICAgICAgICMgYWNfc3lzX3N5c3RlbSBhbmQgYWNfc3lzX3JlbGVhc2UgYXJlIG9ubHkgdXNlZCBmb3Igc2V0dGluZworICAgICAgICMgYGRlZmluZV94b3Blbl9zb3VyY2UnIGluIHRoZSBjYXNlIHN0YXRlbWVudCBiZWxvdy4gRm9yIHRoZQorICAgICAgICMgY3VycmVudCBzdXBwb3J0ZWQgY3Jvc3MgYnVpbGRzLCB0aGlzIG1hY3JvIGlzIG5vdCBhZGp1c3RlZC4KKwljYXNlICIkaG9zdCIgaW4KKwkqLSotbGludXgqKQorCQlhY19zeXNfc3lzdGVtPUxpbnV4CisJCTs7CisJKi0qLWN5Z3dpbiopCisJCWFjX3N5c19zeXN0ZW09Q3lnd2luCisJCTs7CisJKikKKwkJIyBmb3Igbm93LCBsaW1pdCBjcm9zcyBidWlsZHMgdG8ga25vd24gY29uZmlndXJhdGlvbnMKKwkJTUFDSERFUD0idW5rbm93biIKKwkJQUNfTVNHX0VSUk9SKFtjcm9zcyBidWlsZCBub3Qgc3VwcG9ydGVkIGZvciAkaG9zdF0pCisJZXNhYworCWFjX3N5c19yZWxlYXNlPQorICAgIGVsc2UKIAlhY19zeXNfc3lzdGVtPWB1bmFtZSAtc2AKIAlpZiB0ZXN0ICIkYWNfc3lzX3N5c3RlbSIgPSAiQUlYIiBcCiAJLW8gIiRhY19zeXNfc3lzdGVtIiA9ICJVbml4V2FyZSIgLW8gIiRhY19zeXNfc3lzdGVtIiA9ICJPcGVuVU5JWCI7IHRoZW4KQEAgLTI4MywxOSArMzE4LDIwIEBACiAJZWxzZQogCQlhY19zeXNfcmVsZWFzZT1gdW5hbWUgLXJgCiAJZmkKLQlhY19tZF9zeXN0ZW09YGVjaG8gJGFjX3N5c19zeXN0ZW0gfAotCQkJICAgdHIgLWQgJ1svIF0nIHwgdHIgJ1tbQS1aXV0nICdbW2Etel1dJ2AKLQlhY19tZF9yZWxlYXNlPWBlY2hvICRhY19zeXNfcmVsZWFzZSB8Ci0JCQkgICB0ciAtZCAnWy8gXScgfCBzZWQgJ3MvXltbQS1aXV1cLi8vJyB8IHNlZCAncy9cLi4qLy8nYAotCU1BQ0hERVA9IiRhY19tZF9zeXN0ZW0kYWNfbWRfcmVsZWFzZSIKKyAgICBmaQorICAgIGFjX21kX3N5c3RlbT1gZWNobyAkYWNfc3lzX3N5c3RlbSB8CisJCQl0ciAtZCAnWy8gXScgfCB0ciAnW1tBLVpdXScgJ1tbYS16XV0nYAorICAgIGFjX21kX3JlbGVhc2U9YGVjaG8gJGFjX3N5c19yZWxlYXNlIHwKKwkJCXRyIC1kICdbLyBdJyB8IHNlZCAncy9eW1tBLVpdXVwuLy8nIHwgc2VkICdzL1wuLiovLydgCisgICAgTUFDSERFUD0iJGFjX21kX3N5c3RlbSRhY19tZF9yZWxlYXNlIgogCi0JY2FzZSAkTUFDSERFUCBpbgotCWxpbnV4KikgTUFDSERFUD0ibGludXgyIjs7CisgICAgY2FzZSAkTUFDSERFUCBpbgorCWxpbnV4KikgTUFDSERFUD0ibGludXgiOzsKIAljeWd3aW4qKSBNQUNIREVQPSJjeWd3aW4iOzsKIAlkYXJ3aW4qKSBNQUNIREVQPSJkYXJ3aW4iOzsKICAgICAgICAgaXJpeDY0NikgTUFDSERFUD0iaXJpeDYiOzsKIAknJykJTUFDSERFUD0idW5rbm93biI7OwotCWVzYWMKKyAgICBlc2FjCiBmaQogCQogIyBTb21lIHN5c3RlbXMgY2Fubm90IHN0YW5kIF9YT1BFTl9TT1VSQ0UgYmVpbmcgZGVmaW5lZCBhdCBhbGw7IHRoZXkKQEAgLTM4Myw3ICs0MTksOCBAQAogCiBpZiB0ZXN0ICRkZWZpbmVfeG9wZW5fc291cmNlID0geWVzCiB0aGVuCi0gIEFDX0RFRklORShfWE9QRU5fU09VUkNFLCA2MDAsIAorICAjIFgvT3BlbiA3LCBpbmNvcnBvcmF0aW5nIFBPU0lYLjEtMjAwOAorICBBQ19ERUZJTkUoX1hPUEVOX1NPVVJDRSwgNzAwLAogICAgICAgICAgICAgRGVmaW5lIHRvIHRoZSBsZXZlbCBvZiBYL09wZW4gdGhhdCB5b3VyIHN5c3RlbSBzdXBwb3J0cykKIAogICAjIE9uIFRydTY0IFVuaXggNC4wRiwgZGVmaW5pbmcgX1hPUEVOX1NPVVJDRSBhbHNvIHJlcXVpcmVzCkBAIC0zOTMsOCArNDMwLDcgQEAKICAgQUNfREVGSU5FKF9YT1BFTl9TT1VSQ0VfRVhURU5ERUQsIDEsCiAgICAJICAgIERlZmluZSB0byBhY3RpdmF0ZSBVbml4OTUtYW5kLWVhcmxpZXIgZmVhdHVyZXMpCiAKLSAgQUNfREVGSU5FKF9QT1NJWF9DX1NPVVJDRSwgMjAwMTEyTCwgRGVmaW5lIHRvIGFjdGl2YXRlIGZlYXR1cmVzIGZyb20gSUVFRSBTdGRzIDEwMDMuMS0yMDAxKQotICAKKyAgQUNfREVGSU5FKF9QT1NJWF9DX1NPVVJDRSwgMjAwODA5TCwgRGVmaW5lIHRvIGFjdGl2YXRlIGZlYXR1cmVzIGZyb20gSUVFRSBTdGRzIDEwMDMuMS0yMDA4KQogZmkKIAogIwpAQCAtNDIzLDEwICs0NTksNiBAQAogQ09ORklHVVJFX01BQ09TWF9ERVBMT1lNRU5UX1RBUkdFVD0KIEVYUE9SVF9NQUNPU1hfREVQTE9ZTUVOVF9UQVJHRVQ9JyMnCiAKLUFDX01TR19DSEVDS0lORyhtYWNoaW5lIHR5cGUgYXMgcmVwb3J0ZWQgYnkgdW5hbWUgLW0pCi1hY19zeXNfbWFjaGluZT1gdW5hbWUgLW1gCi1BQ19NU0dfUkVTVUxUKCRhY19zeXNfbWFjaGluZSkKLQogIyBjaGVja3MgZm9yIGFsdGVybmF0aXZlIHByb2dyYW1zCiAKICMgY29tcGlsZXIgZmxhZ3MgYXJlIGdlbmVyYXRlZCBpbiB0d28gc2V0cywgQkFTRUNGTEFHUyBhbmQgT1BULiAgT1BUIGlzIGp1c3QKQEAgLTc4MywxMSArODE1LDYgQEAKIAkgIEJMRExJQlJBUlk9Jy1XbCwrYiwkKExJQkRJUikgLUwuIC1scHl0aG9uJChMRFZFUlNJT04pJwogCSAgUlVOU0hBUkVEPVNITElCX1BBVEg9YHB3ZGA6JHtTSExJQl9QQVRIfQogCSAgOzsKLSAgICBPU0YqKQotCSAgTERMSUJSQVJZPSdsaWJweXRob24kKExEVkVSU0lPTikuc28nCi0JICBCTERMSUJSQVJZPSctcnBhdGggJChMSUJESVIpIC1MLiAtbHB5dGhvbiQoTERWRVJTSU9OKScKLQkgIFJVTlNIQVJFRD1MRF9MSUJSQVJZX1BBVEg9YHB3ZGA6JHtMRF9MSUJSQVJZX1BBVEh9Ci0JICA7OwogICAgIERhcndpbiopCiAgICAgCUxETElCUkFSWT0nbGlicHl0aG9uJChMRFZFUlNJT04pLmR5bGliJwogCUJMRExJQlJBUlk9Jy1MLiAtbHB5dGhvbiQoTERWRVJTSU9OKScKQEAgLTgyMSwzNiArODQ4LDYgQEAKICAgICAgICAgQVJGTEFHUz0icmMiCiBmaQogCi1BQ19TVUJTVChTVk5WRVJTSU9OKQotQUNfQ0hFQ0tfUFJPRyhTVk5WRVJTSU9OLCBzdm52ZXJzaW9uLCBmb3VuZCwgbm90LWZvdW5kKQotaWYgdGVzdCAkU1ZOVkVSU0lPTiA9IGZvdW5kCi10aGVuCi0JU1ZOVkVSU0lPTj0ic3ZudmVyc2lvbiBcJChzcmNkaXIpIgotZWxzZQotCVNWTlZFUlNJT049ImVjaG8gVW52ZXJzaW9uZWQgZGlyZWN0b3J5IgotZmkKLQotQUNfU1VCU1QoSEdWRVJTSU9OKQotQUNfU1VCU1QoSEdUQUcpCi1BQ19TVUJTVChIR0JSQU5DSCkKLQotaWYgdGVzdCAtZSAkc3JjZGlyLy5oZy9kaXJzdGF0ZQotdGhlbgotQUNfQ0hFQ0tfUFJPRyhIQVNfSEcsIGhnLCBmb3VuZCwgbm90LWZvdW5kKQotZWxzZQotSEFTX0hHPW5vLXJlcG9zaXRvcnkKLWZpCi1pZiB0ZXN0ICRIQVNfSEcgPSBmb3VuZAotdGhlbgotICAgIEhHVkVSU0lPTj0iaGcgaWQgLWkgXCQoc3JjZGlyKSIKLSAgICBIR1RBRz0iaGcgaWQgLXQgXCQoc3JjZGlyKSIKLSAgICBIR0JSQU5DSD0iaGcgaWQgLWIgXCQoc3JjZGlyKSIKLWVsc2UKLSAgICBIR1ZFUlNJT049IiIKLSAgICBIR1RBRz0iIgotICAgIEhHQlJBTkNIPSIiCi1maQotCiBBQ19TVUJTVChESVNBQkxFX0FTRExHRU4pCiBESVNBQkxFX0FTRExHRU49IiIKIEFDX0NIRUNLX1BST0coSEFTX1BZVEhPTiwgcHl0aG9uLCBmb3VuZCwgbm90LWZvdW5kKQpAQCAtODY5LDYgKzg2Niw3IEBACiAJZmkKIGVzYWMKIEFDX1BST0dfSU5TVEFMTAorQUNfUFJPR19NS0RJUl9QCiAKICMgTm90IGV2ZXJ5IGZpbGVzeXN0ZW0gc3VwcG9ydHMgaGFyZCBsaW5rcwogQUNfU1VCU1QoTE4pCkBAIC0xMDAzLDEwICsxMDAxLDMyIEBACiAgICAgICBCQVNFQ0ZMQUdTPSIkQkFTRUNGTEFHUyAtZm5vLXN0cmljdC1hbGlhc2luZyIKICAgICBmaQogCisgICAgQUNfTVNHX0NIRUNLSU5HKGlmIHdlIGNhbiB0dXJuIG9mZiAkQ0MgdW51c2VkIHJlc3VsdCB3YXJuaW5nKQorICAgICBhY19zYXZlX2NjPSIkQ0MiCisgICAgIENDPSIkQ0MgLVd1bnVzZWQtcmVzdWx0IC1XZXJyb3IiCisgICAgIHNhdmVfQ0ZMQUdTPSIkQ0ZMQUdTIgorICAgICBBQ19DQUNIRV9WQUwoYWNfY3ZfZGlzYWJsZV91bnVzZWRfcmVzdWx0X3dhcm5pbmcsCisgICAgICAgQUNfQ09NUElMRV9JRkVMU0UoCisgICAgICAgICBbCisJICAgQUNfTEFOR19QUk9HUkFNKFtbXV0sIFtbXV0pCisJIF0sWworICAgICAgICAgICBhY19jdl9kaXNhYmxlX3VudXNlZF9yZXN1bHRfd2FybmluZz15ZXMKKwkgXSxbCisgICAgICAgICAgIGFjX2N2X2Rpc2FibGVfdW51c2VkX3Jlc3VsdF93YXJuaW5nPW5vCisJIF0pKQorICAgICBDRkxBR1M9IiRzYXZlX0NGTEFHUyIKKyAgICAgQ0M9IiRhY19zYXZlX2NjIgorICAgIEFDX01TR19SRVNVTFQoJGFjX2N2X2Rpc2FibGVfdW51c2VkX3Jlc3VsdF93YXJuaW5nKQorCisgICAgaWYgdGVzdCAkYWNfY3ZfZGlzYWJsZV91bnVzZWRfcmVzdWx0X3dhcm5pbmcgPSB5ZXMKKyAgICB0aGVuCisgICAgICBCQVNFQ0ZMQUdTPSIkQkFTRUNGTEFHUyAtV25vLXVudXNlZC1yZXN1bHQiCisgICAgZmkKKwogICAgICMgaWYgdXNpbmcgZ2NjIG9uIGFscGhhLCB1c2UgLW1pZWVlIHRvIGdldCAobmVhcikgZnVsbCBJRUVFIDc1NAogICAgICMgc3VwcG9ydC4gIFdpdGhvdXQgdGhpcywgdHJlYXRtZW50IG9mIHN1Ym5vcm1hbHMgZG9lc24ndCBmb2xsb3cKICAgICAjIHRoZSBzdGFuZGFyZC4KLSAgICBjYXNlICRhY19zeXNfbWFjaGluZSBpbgorICAgIGNhc2UgJGhvc3QgaW4KICAgICAgICAgIGFscGhhKikKICAgICAgICAgICAgICAgICBCQVNFQ0ZMQUdTPSIkQkFTRUNGTEFHUyAtbWllZWUiCiAgICAgICAgICAgICAgICAgOzsKQEAgLTExMTksOSArMTEzOSw2IEBACiAJICAgIEVYUE9SVF9NQUNPU1hfREVQTE9ZTUVOVF9UQVJHRVQ9JycKIAogCSAgICA7OwotCU9TRiopCi0JICAgIEJBU0VDRkxBR1M9IiRCQVNFQ0ZMQUdTIC1taWVlZSIKLQkgICAgOzsKICAgICBlc2FjCiAgICAgOzsKIApAQCAtMTEzMCw5ICsxMTQ3LDYgQEAKICAgICBPcGVuVU5JWCp8VW5peFdhcmUqKQogCUJBU0VDRkxBR1M9IiRCQVNFQ0ZMQUdTIC1LIHBlbnRpdW0saG9zdCxpbmxpbmUsbG9vcF91bnJvbGwsYWxsb2NhICIKIAk7OwotICAgIE9TRiopCi0JQkFTRUNGTEFHUz0iJEJBU0VDRkxBR1MgLWllZWUgLXN0ZCIKLSAgICAJOzsKICAgICBTQ09fU1YqKQogCUJBU0VDRkxBR1M9IiRCQVNFQ0ZMQUdTIC1iZWxmIC1LaTQ4NiAtRFNDTzUiCiAJOzsKQEAgLTEzMzUsMTkgKzEzNDksMzcgQEAKIEFDX0hFQURFUl9TVERDCiBBQ19DSEVDS19IRUFERVJTKGFzbS90eXBlcy5oIGNvbmlvLmggY3Vyc2VzLmggZGlyZWN0LmggZGxmY24uaCBlcnJuby5oIFwKIGZjbnRsLmggZ3JwLmggXAotaWVlZWZwLmggaW8uaCBsYW5naW5mby5oIGxpYmludGwuaCBuY3Vyc2VzLmggcG9sbC5oIHByb2Nlc3MuaCBwdGhyZWFkLmggXAotc2hhZG93Lmggc2lnbmFsLmggc3RkaW50Lmggc3Ryb3B0cy5oIHRlcm1pb3MuaCB0aHJlYWQuaCBcCitpZWVlZnAuaCBpby5oIGxhbmdpbmZvLmggbGliaW50bC5oIG5jdXJzZXMuaCBwcm9jZXNzLmggcHRocmVhZC5oIFwKK3NjaGVkLmggc2hhZG93Lmggc2lnbmFsLmggc3RkaW50Lmggc3Ryb3B0cy5oIHRlcm1pb3MuaCBcCiB1bmlzdGQuaCB1dGltZS5oIFwKLXN5cy9hdWRpb2lvLmggc3lzL2JzZHR0eS5oIHN5cy9lcG9sbC5oIHN5cy9ldmVudC5oIHN5cy9maWxlLmggc3lzL2xvYWRhdmcuaCBcCi1zeXMvbG9jay5oIHN5cy9ta2Rldi5oIHN5cy9tb2RlbS5oIFwKLXN5cy9wYXJhbS5oIHN5cy9wb2xsLmggc3lzL3NlbGVjdC5oIHN5cy9zb2NrZXQuaCBzeXMvc3RhdHZmcy5oIHN5cy9zdGF0LmggXAotc3lzL3N5c2NhbGwuaCBzeXMvdGVybWlvLmggc3lzL3RpbWUuaCBcCi1zeXMvdGltZXMuaCBzeXMvdHlwZXMuaCBzeXMvdW4uaCBzeXMvdXRzbmFtZS5oIHN5cy93YWl0LmggcHR5LmggbGlidXRpbC5oIFwKLXN5cy9yZXNvdXJjZS5oIG5ldHBhY2tldC9wYWNrZXQuaCBzeXNleGl0cy5oIGJsdWV0b290aC5oIFwKK3BvbGwuaCBzeXMvZGV2cG9sbC5oIHN5cy9lcG9sbC5oIHN5cy9wb2xsLmggXAorc3lzL2F1ZGlvaW8uaCBzeXMveGF0dHIuaCBzeXMvYnNkdHR5Lmggc3lzL2V2ZW50Lmggc3lzL2ZpbGUuaCBzeXMvaW9jdGwuaCBcCitzeXMva2Vybl9jb250cm9sLmggc3lzL2xvYWRhdmcuaCBzeXMvbG9jay5oIHN5cy9ta2Rldi5oIHN5cy9tb2RlbS5oIFwKK3N5cy9wYXJhbS5oIHN5cy9zZWxlY3QuaCBzeXMvc2VuZGZpbGUuaCBzeXMvc29ja2V0Lmggc3lzL3N0YXR2ZnMuaCBcCitzeXMvc3RhdC5oIHN5cy9zeXNjYWxsLmggc3lzL3N5c19kb21haW4uaCBzeXMvdGVybWlvLmggc3lzL3RpbWUuaCBcCitzeXMvdGltZXMuaCBzeXMvdHlwZXMuaCBzeXMvdWlvLmggc3lzL3VuLmggc3lzL3V0c25hbWUuaCBzeXMvd2FpdC5oIHB0eS5oIFwKK2xpYnV0aWwuaCBzeXMvcmVzb3VyY2UuaCBuZXRwYWNrZXQvcGFja2V0Lmggc3lzZXhpdHMuaCBibHVldG9vdGguaCBcCiBibHVldG9vdGgvYmx1ZXRvb3RoLmggbGludXgvdGlwYy5oIHNwYXduLmggdXRpbC5oKQogQUNfSEVBREVSX0RJUkVOVAogQUNfSEVBREVSX01BSk9SCiAKKyMgT24gRGFyd2luIChPUyBYKSBuZXQvaWYuaCByZXF1aXJlcyBzeXMvc29ja2V0LmggdG8gYmUgaW1wb3J0ZWQgZmlyc3QuCitBQ19DSEVDS19IRUFERVJTKFtuZXQvaWYuaF0sIFtdLCBbXSwKK1sjaW5jbHVkZSA8c3RkaW8uaD4KKyNpZmRlZiBTVERDX0hFQURFUlMKKyMgaW5jbHVkZSA8c3RkbGliLmg+CisjIGluY2x1ZGUgPHN0ZGRlZi5oPgorI2Vsc2UKKyMgaWZkZWYgSEFWRV9TVERMSUJfSAorIyAgaW5jbHVkZSA8c3RkbGliLmg+CisjIGVuZGlmCisjZW5kaWYKKyNpZmRlZiBIQVZFX1NZU19TT0NLRVRfSAorIyBpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CisjZW5kaWYKK10pCisKKwogIyBPbiBTb2xhcmlzLCB0ZXJtLmggcmVxdWlyZXMgY3Vyc2VzLmgKIEFDX0NIRUNLX0hFQURFUlModGVybS5oLCwsWwogI2lmZGVmIEhBVkVfQ1VSU0VTX0gKQEAgLTEzNjUsNiArMTM5NywxMyBAQAogI2VuZGlmCiBdKQogCisjIE9uIExpbnV4LCBjYW4uaCBhbmQgY2FuL3Jhdy5oIHJlcXVpcmUgc3lzL3NvY2tldC5oCitBQ19DSEVDS19IRUFERVJTKGxpbnV4L2Nhbi5oIGxpbnV4L2Nhbi9yYXcuaCwsLFsKKyNpZmRlZiBIQVZFX1NZU19TT0NLRVRfSAorI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KKyNlbmRpZgorXSkKKwogIyBjaGVja3MgZm9yIHR5cGVkZWZzCiB3YXNfaXRfZGVmaW5lZD1ubwogQUNfTVNHX0NIRUNLSU5HKGZvciBjbG9ja190IGluIHRpbWUuaCkKQEAgLTEzNzMsNyArMTQxMiw2IEBACiBdKQogQUNfTVNHX1JFU1VMVCgkd2FzX2l0X2RlZmluZWQpCiAKLSMgQ2hlY2sgd2hldGhlciB1c2luZyBtYWtlZGV2IHJlcXVpcmVzIGRlZmluaW5nIF9PU0ZfU09VUkNFCiBBQ19NU0dfQ0hFQ0tJTkcoZm9yIG1ha2VkZXYpCiBBQ19MSU5LX0lGRUxTRShbQUNfTEFOR19QUk9HUkFNKFtbCiAjaWYgZGVmaW5lZChNQUpPUl9JTl9NS0RFVikKQEAgLTEzODYsMTkgKzE0MjQsNiBAQAogXV0sIFtbCiAgIG1ha2VkZXYoMCwgMCkgXV0pCiBdLFthY19jdl9oYXNfbWFrZWRldj15ZXNdLFthY19jdl9oYXNfbWFrZWRldj1ub10pCi1pZiB0ZXN0ICIkYWNfY3ZfaGFzX21ha2VkZXYiID0gIm5vIjsgdGhlbgotICAgICMgd2UgZGlkbid0IGxpbmssIHRyeSBpZiBfT1NGX1NPVVJDRSB3aWxsIGFsbG93IHVzIHRvIGxpbmsKLSAgICBBQ19MSU5LX0lGRUxTRShbQUNfTEFOR19QUk9HUkFNKFtbCi0jZGVmaW5lIF9PU0ZfU09VUkNFIDEKLSNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KLSAgICBdXSwKLSAgICBbWyBtYWtlZGV2KDAsIDApIF1dKV0sCi0gICAgW2FjX2N2X2hhc19tYWtlZGV2PXllc10sCi0gICAgW2FjX2N2X2hhc19tYWtlZGV2PW5vXSkKLSAgICBpZiB0ZXN0ICIkYWNfY3ZfaGFzX21ha2VkZXYiID0gInllcyI7IHRoZW4KLSAgICAgICAgQUNfREVGSU5FKF9PU0ZfU09VUkNFLCAxLCBbRGVmaW5lIF9PU0ZfU09VUkNFIHRvIGdldCB0aGUgbWFrZWRldiBtYWNyby5dKQotICAgIGZpCi1maQogQUNfTVNHX1JFU1VMVCgkYWNfY3ZfaGFzX21ha2VkZXYpCiBpZiB0ZXN0ICIkYWNfY3ZfaGFzX21ha2VkZXYiID0gInllcyI7IHRoZW4KICAgICBBQ19ERUZJTkUoSEFWRV9NQUtFREVWLCAxLCBbRGVmaW5lIHRoaXMgaWYgeW91IGhhdmUgdGhlIG1ha2VkZXYgbWFjcm8uXSkKQEAgLTE3MTgsNyArMTc0Myw2IEBACiAJCWVsc2UKIAkJCUxEU0hBUkVEPSdsZCAtYicKIAkJZmkgOzsKLQlPU0YqKSBMRFNIQVJFRD0ibGQgLXNoYXJlZCAtZXhwZWN0X3VucmVzb2x2ZWQgXCIqXCIiOzsKIAlEYXJ3aW4vMS4zKikKIAkJTERTSEFSRUQ9JyQoQ0MpIC1idW5kbGUnCiAJCUxEQ1hYU0hBUkVEPSckKENYWCkgLWJ1bmRsZScKQEAgLTE5NDgsNiArMTk3Miw3IEBACiAKIAogIyBjaGVja3MgZm9yIGxpYnJhcmllcworQUNfQ0hFQ0tfTElCKHNlbmRmaWxlLCBzZW5kZmlsZSkKIEFDX0NIRUNLX0xJQihkbCwgZGxvcGVuKQkjIER5bmFtaWMgbGlua2luZyBmb3IgU3VuT1MvU29sYXJpcyBhbmQgU1lTVgogQUNfQ0hFQ0tfTElCKGRsZCwgc2hsX2xvYWQpCSMgRHluYW1pYyBsaW5raW5nIGZvciBIUC1VWAogCkBAIC0yMDcyLDIxICsyMDk3LDEwIEBACiBBQ19TVUJTVChVU0VfVEhSRUFEX01PRFVMRSkKIFVTRV9USFJFQURfTU9EVUxFPSIiCiAKLUFDX01TR19DSEVDS0lORyhmb3IgLS13aXRoLWRlYy10aHJlYWRzKQogQUNfU1VCU1QoTERMQVNUKQotQUNfQVJHX1dJVEgoZGVjLXRocmVhZHMsCi0gICAgICAgICAgICBBU19IRUxQX1NUUklORyhbLS13aXRoLWRlYy10aHJlYWRzXSwgW3VzZSBERUMgQWxwaGEvT1NGMSB0aHJlYWQtc2FmZSBsaWJyYXJpZXNdKSwKLVsKLUFDX01TR19SRVNVTFQoJHdpdGh2YWwpCi1MRExBU1Q9LXRocmVhZHMKLWlmIHRlc3QgIiR7d2l0aF90aHJlYWQrc2V0fSIgIT0gc2V0OyB0aGVuCi0gICB3aXRoX3RocmVhZD0iJHdpdGh2YWwiOwotZmldLAotW0FDX01TR19SRVNVTFQobm8pXSkKIAogIyBUZW1wbGF0ZXMgZm9yIHRoaW5ncyBBQ19ERUZJTkVkIG1vcmUgdGhhbiBvbmNlLgogIyBGb3IgYSBzaW5nbGUgQUNfREVGSU5FLCBubyB0ZW1wbGF0ZSBpcyBuZWVkZWQuCi1BSF9URU1QTEFURShDX1RIUkVBRFMsW0RlZmluZSBpZiB5b3UgaGF2ZSB0aGUgTWFjaCBjdGhyZWFkcyBwYWNrYWdlXSkKIEFIX1RFTVBMQVRFKF9SRUVOVFJBTlQsCiAgIFtEZWZpbmUgdG8gZm9yY2UgdXNlIG9mIHRocmVhZC1zYWZlIGVycm5vLCBoX2Vycm5vLCBhbmQgb3RoZXIgZnVuY3Rpb25zXSkKIEFIX1RFTVBMQVRFKFdJVEhfVEhSRUFELApAQCAtMjE2OCwxNyArMjE4Miw2IEBACiAgICAgQUNfTVNHX1JFU1VMVCgkdW5pc3RkX2RlZmluZXNfcHRocmVhZHMpCiAKICAgICBBQ19ERUZJTkUoX1JFRU5UUkFOVCkKLSAgICBBQ19DSEVDS19IRUFERVIoY3RocmVhZHMuaCwgW0FDX0RFRklORShXSVRIX1RIUkVBRCkKLSAgICBBQ19ERUZJTkUoQ19USFJFQURTKQotICAgIEFDX0RFRklORShIVVJEX0NfVEhSRUFEUywgMSwKLSAgICBbRGVmaW5lIGlmIHlvdSBhcmUgdXNpbmcgTWFjaCBjdGhyZWFkcyBkaXJlY3RseSB1bmRlciAvaW5jbHVkZV0pCi0gICAgTElCUz0iJExJQlMgLWx0aHJlYWRzIgotICAgIFRIUkVBRE9CSj0iUHl0aG9uL3RocmVhZC5vIl0sWwotICAgIEFDX0NIRUNLX0hFQURFUihtYWNoL2N0aHJlYWRzLmgsIFtBQ19ERUZJTkUoV0lUSF9USFJFQUQpCi0gICAgQUNfREVGSU5FKENfVEhSRUFEUykKLSAgICBBQ19ERUZJTkUoTUFDSF9DX1RIUkVBRFMsIDEsCi0gICAgW0RlZmluZSBpZiB5b3UgYXJlIHVzaW5nIE1hY2ggY3RocmVhZHMgdW5kZXIgbWFjaCAvXSkKLSAgICBUSFJFQURPQko9IlB5dGhvbi90aHJlYWQubyJdLFsKICAgICAjIEp1c3QgbG9va2luZyBmb3IgcHRocmVhZF9jcmVhdGUgaW4gbGlicHRocmVhZCBpcyBub3QgZW5vdWdoOgogICAgICMgb24gSFAvVVgsIHB0aHJlYWQuaCByZW5hbWVzIHB0aHJlYWRfY3JlYXRlIHRvIGEgZGlmZmVyZW50IHN5bWJvbCBuYW1lLgogICAgICMgU28gd2UgcmVhbGx5IGhhdmUgdG8gaW5jbHVkZSBwdGhyZWFkLmgsIGFuZCB0aGVuIGxpbmsuCkBAIC0yMjE0LDcgKzIyMTcsNyBAQAogICAgIExJQlM9IiRMSUJTIC1sY21hIgogICAgIFRIUkVBRE9CSj0iUHl0aG9uL3RocmVhZC5vIl0sWwogICAgIFVTRV9USFJFQURfTU9EVUxFPSIjIl0pCi0gICAgXSldKV0pXSldKV0pXSkKKyAgICBdKV0pXSldKV0pCiAKICAgICBBQ19DSEVDS19MSUIobXBjLCB1c2NvbmZpZywgW0FDX0RFRklORShXSVRIX1RIUkVBRCkKICAgICBMSUJTPSIkTElCUyAtbG1wYyIKQEAgLTIyMjcsMTUgKzIyMzAsNiBAQAogICAgICAgVEhSRUFET0JKPSJQeXRob24vdGhyZWFkLm8iCiAgICAgICBVU0VfVEhSRUFEX01PRFVMRT0iIl0pCiAgICAgZmkKLQotICAgIGlmIHRlc3QgIiRVU0VfVEhSRUFEX01PRFVMRSIgIT0gIiMiCi0gICAgdGhlbgotICAgICAgICAjIElmIHRoZSBhYm92ZSBjaGVja3MgZGlkbid0IGRpc2FibGUgdGhyZWFkcywgKGF0IGxlYXN0KSBPU0YxCi0gICAgICAgICMgbmVlZHMgdGhpcyAnLXRocmVhZHMnIGFyZ3VtZW50IGR1cmluZyBsaW5raW5nLgotICAgICAgICBjYXNlICRhY19zeXNfc3lzdGVtIGluCi0gICAgICAgIE9TRjEpIExETEFTVD0tdGhyZWFkczs7Ci0gICAgICAgIGVzYWMKLSAgICBmaQogZmkKIAogaWYgdGVzdCAiJHBvc2l4X3RocmVhZHMiID0gInllcyI7IHRoZW4KQEAgLTI1ODcsMTkgKzI1ODEsMjcgQEAKIAogIyBjaGVja3MgZm9yIGxpYnJhcnkgZnVuY3Rpb25zCiBBQ19DSEVDS19GVU5DUyhhbGFybSBhY2NlcHQ0IHNldGl0aW1lciBnZXRpdGltZXIgYmluZF90ZXh0ZG9tYWluX2NvZGVzZXQgY2hvd24gXAotIGNsb2NrIGNvbmZzdHIgY3Rlcm1pZCBleGVjdiBmY2htb2QgZmNob3duIGZvcmsgZnBhdGhjb25mIGZ0aW1lIGZ0cnVuY2F0ZSBcCi0gZ2FpX3N0cmVycm9yIGdldGdyb3VwcyBnZXRsb2dpbiBnZXRsb2FkYXZnIGdldHBlZXJuYW1lIGdldHBnaWQgZ2V0cGlkIFwKKyBjbG9jayBjb25mc3RyIGN0ZXJtaWQgZXhlY3YgZmFjY2Vzc2F0IGZjaG1vZCBmY2htb2RhdCBmY2hvd24gZmNob3duYXQgXAorIGZleGVjdmUgZmRvcGVuZGlyIGZvcmsgZnBhdGhjb25mIGZzdGF0YXQgZnRpbWUgZnRydW5jYXRlIGZ1dGltZXNhdCBcCisgZnV0aW1lbnMgZnV0aW1lcyBnYWlfc3RyZXJyb3IgXAorIGdldGdyb3VwbGlzdCBnZXRncm91cHMgZ2V0bG9naW4gZ2V0bG9hZGF2ZyBnZXRwZWVybmFtZSBnZXRwZ2lkIGdldHBpZCBcCiAgZ2V0cHJpb3JpdHkgZ2V0cmVzdWlkIGdldHJlc2dpZCBnZXRwd2VudCBnZXRzcG5hbSBnZXRzcGVudCBnZXRzaWQgZ2V0d2QgXAotIGluaXRncm91cHMga2lsbCBraWxscGcgbGNobW9kIGxjaG93biBsc3RhdCBtYnJ0b3djIG1rZmlmbyBta25vZCBta3RpbWUgXAotIG1yZW1hcCBuaWNlIHBhdGhjb25mIHBhdXNlIHBsb2NrIHBvbGwgcHRocmVhZF9pbml0IFwKLSBwdXRlbnYgcmVhZGxpbmsgcmVhbHBhdGggXAotIHNlbGVjdCBzZW1fb3BlbiBzZW1fdGltZWR3YWl0IHNlbV9nZXR2YWx1ZSBzZW1fdW5saW5rIHNldGVnaWQgc2V0ZXVpZCBcCi0gc2V0Z2lkIFwKLSBzZXRsb2NhbGUgc2V0cmVnaWQgc2V0cmV1aWQgc2V0cmVzdWlkIHNldHJlc2dpZCBzZXRzaWQgc2V0cGdpZCBzZXRwZ3JwIHNldHVpZCBzZXR2YnVmIFwKLSBzaWdhY3Rpb24gc2lnaW50ZXJydXB0IHNpZ3JlbHNlIHNucHJpbnRmIHN0cmZ0aW1lIHN0cmxjcHkgXAorIGlmX25hbWVpbmRleCBcCisgaW5pdGdyb3VwcyBraWxsIGtpbGxwZyBsY2htb2QgbGNob3duIGxvY2tmIGxpbmthdCBsc3RhdCBsdXRpbWVzIG1tYXAgXAorIG1lbXJjaHIgbWJydG93YyBta2RpcmF0IG1rZmlmbyBcCisgbWtmaWZvYXQgbWtub2QgbWtub2RhdCBta3RpbWUgbXJlbWFwIG5pY2Ugb3BlbmF0IHBhdGhjb25mIHBhdXNlIHBpcGUyIHBsb2NrIHBvbGwgXAorIHBvc2l4X2ZhbGxvY2F0ZSBwb3NpeF9mYWR2aXNlIHByZWFkIFwKKyBwdGhyZWFkX2luaXQgcHRocmVhZF9raWxsIHB1dGVudiBwd3JpdGUgcmVhZGxpbmsgcmVhZGxpbmthdCByZWFkdiByZWFscGF0aCByZW5hbWVhdCBcCisgc2VsZWN0IHNlbV9vcGVuIHNlbV90aW1lZHdhaXQgc2VtX2dldHZhbHVlIHNlbV91bmxpbmsgc2VuZGZpbGUgc2V0ZWdpZCBzZXRldWlkIFwKKyBzZXRnaWQgc2V0aG9zdG5hbWUgXAorIHNldGxvY2FsZSBzZXRyZWdpZCBzZXRyZXVpZCBzZXRyZXN1aWQgc2V0cmVzZ2lkIHNldHNpZCBzZXRwZ2lkIHNldHBncnAgc2V0cHJpb3JpdHkgc2V0dWlkIHNldHZidWYgXAorIHNjaGVkX2dldF9wcmlvcml0eV9tYXggc2NoZWRfc2V0YWZmaW5pdHkgc2NoZWRfc2V0c2NoZWR1bGVyIHNjaGVkX3NldHBhcmFtIFwKKyBzY2hlZF9ycl9nZXRfaW50ZXJ2YWwgXAorIHNpZ2FjdGlvbiBzaWdhbHRzdGFjayBzaWdpbnRlcnJ1cHQgc2lncGVuZGluZyBzaWdyZWxzZSBcCisgc2lndGltZWR3YWl0IHNpZ3dhaXQgc2lnd2FpdGluZm8gc25wcmludGYgc3RyZnRpbWUgc3RybGNweSBzeW1saW5rYXQgc3luYyBcCiAgc3lzY29uZiB0Y2dldHBncnAgdGNzZXRwZ3JwIHRlbXBuYW0gdGltZWdtIHRpbWVzIHRtcGZpbGUgdG1wbmFtIHRtcG5hbV9yIFwKLSB0cnVuY2F0ZSB1bmFtZSB1bnNldGVudiB1dGltZXMgd2FpdHBpZCB3YWl0MyB3YWl0NCBcCi0gd2NzY29sbCB3Y3NmdGltZSB3Y3N4ZnJtIF9nZXRwdHkpCisgdHJ1bmNhdGUgdW5hbWUgdW5saW5rYXQgdW5zZXRlbnYgdXRpbWVuc2F0IHV0aW1lcyB3YWl0aWQgd2FpdHBpZCB3YWl0MyB3YWl0NCBcCisgd2NzY29sbCB3Y3NmdGltZSB3Y3N4ZnJtIHdyaXRldiBfZ2V0cHR5KQogCiBBQ19DSEVDS19ERUNMKGRpcmZkLAogICAgIEFDX0RFRklORShIQVZFX0RJUkZELCAxLApAQCAtMjY1MSw2ICsyNjUzLDEyIEBACiAgICBBQ19NU0dfUkVTVUxUKHllcyldLAogICBbQUNfTVNHX1JFU1VMVChubykKIF0pCitBQ19NU0dfQ0hFQ0tJTkcoZm9yIGVwb2xsX2NyZWF0ZTEpCitBQ19DT01QSUxFX0lGRUxTRShbQUNfTEFOR19QUk9HUkFNKFtbI2luY2x1ZGUgPHN5cy9lcG9sbC5oPl1dLCBbW3ZvaWQgKng9ZXBvbGxfY3JlYXRlMV1dKV0sCisgIFtBQ19ERUZJTkUoSEFWRV9FUE9MTF9DUkVBVEUxLCAxLCBEZWZpbmUgaWYgeW91IGhhdmUgdGhlICdlcG9sbF9jcmVhdGUxJyBmdW5jdGlvbi4pCisgICBBQ19NU0dfUkVTVUxUKHllcyldLAorICBbQUNfTVNHX1JFU1VMVChubykKK10pCiBBQ19NU0dfQ0hFQ0tJTkcoZm9yIGtxdWV1ZSkKIEFDX0NPTVBJTEVfSUZFTFNFKFtBQ19MQU5HX1BST0dSQU0oW1sKICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KQEAgLTI4ODEsNiArMjg4OSwyMCBAQAogICAgIF0pCiApCiAKK0FDX0NIRUNLX0ZVTkNTKGNsb2NrX2dldHRpbWUsIFtdLCBbCisgICAgQUNfQ0hFQ0tfTElCKHJ0LCBjbG9ja19nZXR0aW1lLCBbCisgICAgICAgIEFDX0RFRklORShIQVZFX0NMT0NLX0dFVFRJTUUsIDEpCisgICAgICAgIEFDX0RFRklORShUSU1FTU9EVUxFX0xJQiwgW3J0XSwKKyAgICAgICAgICAgICAgICAgIFtMaWJyYXJ5IG5lZWRlZCBieSB0aW1lbW9kdWxlLmM6IGxpYnJ0IG1heSBiZSBuZWVkZWQgZm9yIGNsb2NrX2dldHRpbWUoKV0pCisgICAgXSkKK10pCisKK0FDX0NIRUNLX0ZVTkNTKGNsb2NrX2dldHJlcywgW10sIFsKKyAgICBBQ19DSEVDS19MSUIocnQsIGNsb2NrX2dldHJlcywgWworICAgICAgICBBQ19ERUZJTkUoSEFWRV9DTE9DS19HRVRSRVMsIDEpCisgICAgXSkKK10pCisKIEFDX01TR19DSEVDS0lORyhmb3IgbWFqb3IsIG1pbm9yLCBhbmQgbWFrZWRldikKIEFDX0xJTktfSUZFTFNFKFtBQ19MQU5HX1BST0dSQU0oW1sKICNpZiBkZWZpbmVkKE1BSk9SX0lOX01LREVWKQpAQCAtMzAwNSw3ICszMDI3LDEyIEBACiBdXV0pXSwKIFthY19jdl9idWdneV9nZXRhZGRyaW5mbz1ub10sCiBbYWNfY3ZfYnVnZ3lfZ2V0YWRkcmluZm89eWVzXSwKLVthY19jdl9idWdneV9nZXRhZGRyaW5mbz15ZXNdKSkKK1sKK2lmIHRlc3QgIiR7ZW5hYmxlX2lwdjYrc2V0fSIgPSBzZXQ7IHRoZW4KKyAgYWNfY3ZfYnVnZ3lfZ2V0YWRkcmluZm89Im5vIC0tIGNvbmZpZ3VyZWQgd2l0aCAtLShlbnxkaXMpYWJsZS1pcHY2IgorZWxzZQorICBhY19jdl9idWdneV9nZXRhZGRyaW5mbz15ZXMKK2ZpXSkpCiBmaQogCiBBQ19NU0dfUkVTVUxUKCRhY19jdl9idWdneV9nZXRhZGRyaW5mbykKQEAgLTM0NTAsNyArMzQ3Nyw3IEBACiBMSUJTPSIkTElCUyAkTElCTSIKIAogQUNfQ0hFQ0tfRlVOQ1MoW2Fjb3NoIGFzaW5oIGF0YW5oIGNvcHlzaWduIGVyZiBlcmZjIGV4cG0xIGZpbml0ZSBnYW1tYV0pCi1BQ19DSEVDS19GVU5DUyhbaHlwb3QgbGdhbW1hIGxvZzFwIHJvdW5kIHRnYW1tYV0pCitBQ19DSEVDS19GVU5DUyhbaHlwb3QgbGdhbW1hIGxvZzFwIGxvZzIgcm91bmQgdGdhbW1hXSkKIEFDX0NIRUNLX0RFQ0xTKFtpc2luZiwgaXNuYW4sIGlzZmluaXRlXSwgW10sIFtdLCBbWyNpbmNsdWRlIDxtYXRoLmg+XV0pCiAKICMgT24gRnJlZUJTRCA2LjIsIGl0IGFwcGVhcnMgdGhhdCB0YW5oKC0wLikgcmV0dXJucyAwLiBpbnN0ZWFkIG9mCkBAIC0zNjQ4LDU3ICszNjc1LDE5IEBACiAgIEFDX01TR19SRVNVTFQoJGFjX2N2X3djaGFyX3Rfc2lnbmVkKQogZmkKIAotQUNfTVNHX0NIRUNLSU5HKHdoYXQgdHlwZSB0byB1c2UgZm9yIHN0cikKLUFDX0FSR19XSVRIKHdpZGUtdW5pY29kZSwgCi0gICAgICAgICAgICBBU19IRUxQX1NUUklORyhbLS13aXRoLXdpZGUtdW5pY29kZV0sIFtVc2UgNC1ieXRlIFVuaWNvZGUgY2hhcmFjdGVycyAoZGVmYXVsdCBpcyAyIGJ5dGVzKV0pLAotWwotaWYgdGVzdCAiJHdpdGh2YWwiICE9IG5vCi10aGVuIHVuaWNvZGVfc2l6ZT0iNCIKLWVsc2UgdW5pY29kZV9zaXplPSIyIgotZmkKLV0sCi1bCi1jYXNlICIkaGF2ZV91Y3M0X3RjbCIgaW4KLSAgeWVzKSB1bmljb2RlX3NpemU9IjQiOzsKLSAgKikgICB1bmljb2RlX3NpemU9IjIiIDs7Ci1lc2FjCi1dKQotCi1BSF9URU1QTEFURShQeV9VTklDT0RFX1NJWkUsCi0gIFtEZWZpbmUgYXMgdGhlIHNpemUgb2YgdGhlIHVuaWNvZGUgdHlwZS5dKQotY2FzZSAiJHVuaWNvZGVfc2l6ZSIgaW4KLSAgNCkKLSAgICAgQUNfREVGSU5FKFB5X1VOSUNPREVfU0laRSwgNCkKLSAgICAgQUJJRkxBR1M9IiR7QUJJRkxBR1N9dSIKLSAgICAgOzsKLSAgKikgQUNfREVGSU5FKFB5X1VOSUNPREVfU0laRSwgMikgOzsKLWVzYWMKLQotQUhfVEVNUExBVEUoUFlfVU5JQ09ERV9UWVBFLAotICBbRGVmaW5lIGFzIHRoZSBpbnRlZ3JhbCB0eXBlIHVzZWQgZm9yIFVuaWNvZGUgcmVwcmVzZW50YXRpb24uXSkKLQogIyB3Y2hhcl90IGlzIG9ubHkgdXNhYmxlIGlmIGl0IG1hcHMgdG8gYW4gdW5zaWduZWQgdHlwZQotaWYgdGVzdCAiJHVuaWNvZGVfc2l6ZSIgPSAiJGFjX2N2X3NpemVvZl93Y2hhcl90IiBcCitpZiB0ZXN0ICIkYWNfY3Zfc2l6ZW9mX3djaGFyX3QiIC1nZSAyIFwKICAgICAgICAgICAtYSAiJGFjX2N2X3djaGFyX3Rfc2lnbmVkIiA9ICJubyIKIHRoZW4KLSAgUFlfVU5JQ09ERV9UWVBFPSJ3Y2hhcl90IgorICBIQVZFX1VTQUJMRV9XQ0hBUl9UPSJ5ZXMiCiAgIEFDX0RFRklORShIQVZFX1VTQUJMRV9XQ0hBUl9ULCAxLAogICBbRGVmaW5lIGlmIHlvdSBoYXZlIGEgdXNlYWJsZSB3Y2hhcl90IHR5cGUgZGVmaW5lZCBpbiB3Y2hhci5oOyB1c2VhYmxlCiAgICBtZWFucyB3Y2hhcl90IG11c3QgYmUgYW4gdW5zaWduZWQgdHlwZSB3aXRoIGF0IGxlYXN0IDE2IGJpdHMuIChzZWUKICAgIEluY2x1ZGUvdW5pY29kZW9iamVjdC5oKS5dKQotICBBQ19ERUZJTkUoUFlfVU5JQ09ERV9UWVBFLHdjaGFyX3QpCi1lbGlmIHRlc3QgIiRhY19jdl9zaXplb2Zfc2hvcnQiID0gIiR1bmljb2RlX3NpemUiCi10aGVuCi0gICAgIFBZX1VOSUNPREVfVFlQRT0idW5zaWduZWQgc2hvcnQiCi0gICAgIEFDX0RFRklORShQWV9VTklDT0RFX1RZUEUsdW5zaWduZWQgc2hvcnQpCi1lbGlmIHRlc3QgIiRhY19jdl9zaXplb2ZfbG9uZyIgPSAiJHVuaWNvZGVfc2l6ZSIKLXRoZW4KLSAgICAgUFlfVU5JQ09ERV9UWVBFPSJ1bnNpZ25lZCBsb25nIgotICAgICBBQ19ERUZJTkUoUFlfVU5JQ09ERV9UWVBFLHVuc2lnbmVkIGxvbmcpCiBlbHNlCi0gICAgIFBZX1VOSUNPREVfVFlQRT0ibm8gdHlwZSBmb3VuZCIKKyAgSEFWRV9VU0FCTEVfV0NIQVJfVD0ibm8gdXNhYmxlIHdjaGFyX3QgZm91bmQiCiBmaQotQUNfTVNHX1JFU1VMVCgkUFlfVU5JQ09ERV9UWVBFKQorQUNfTVNHX1JFU1VMVCgkSEFWRV9VU0FCTEVfV0NIQVJfVCkKIAogIyBjaGVjayBmb3IgZW5kaWFubmVzcwogQUNfQ19CSUdFTkRJQU4KQEAgLTQxNjIsNyArNDE1MSwyMyBAQAogICBdXV0pXSwKICAgW2FjX2N2X2hhdmVfbG9uZ19sb25nX2Zvcm1hdD15ZXNdLAogICBbYWNfY3ZfaGF2ZV9sb25nX2xvbmdfZm9ybWF0PW5vXSwKLSAgW2FjX2N2X2hhdmVfbG9uZ19sb25nX2Zvcm1hdD1ub10pCisgIFthY19jdl9oYXZlX2xvbmdfbG9uZ19mb3JtYXQ9ImNyb3NzIC0tIGFzc3VtaW5nIG5vIgorICAgaWYgdGVzdCB4JEdDQyA9IHh5ZXM7IHRoZW4KKyAgICBzYXZlX0NGTEFHUz0kQ0ZMQUdTCisgICAgQ0ZMQUdTPSIkQ0ZMQUdTIC1XZXJyb3IgLVdmb3JtYXQiCisgICAgQUNfQ09NUElMRV9JRkVMU0UoW0FDX0xBTkdfUFJPR1JBTShbWworICAgICAgICAjaW5jbHVkZSA8c3RkaW8uaD4KKyAgICAgICAgI2luY2x1ZGUgPHN0ZGRlZi5oPgorICAgICAgXV0sIFtbCisgICAgICBjaGFyICpidWZmZXI7CisgICAgICBzcHJpbnRmKGJ1ZmZlciwgIiVsbGQiLCAobG9uZyBsb25nKTEyMyk7CisgICAgICBzcHJpbnRmKGJ1ZmZlciwgIiVsbGQiLCAobG9uZyBsb25nKS0xMjMpOworICAgICAgc3ByaW50ZihidWZmZXIsICIlbGx1IiwgKHVuc2lnbmVkIGxvbmcgbG9uZykxMjMpOworICAgICAgXV0pXSwKKyAgICAgIGFjX2N2X2hhdmVfbG9uZ19sb25nX2Zvcm1hdD15ZXMKKyAgICApCisgICAgQ0ZMQUdTPSRzYXZlX0NGTEFHUworICAgZmldKQogICApCiAgIEFDX01TR19SRVNVTFQoJGFjX2N2X2hhdmVfbG9uZ19sb25nX2Zvcm1hdCkKIGZpCkBAIC00MjU3LDMwICs0MjYyLDYgQEAKICAgIHdpZGUgY2hhcnMgdGhhdCB3b3VsZCBiZSBjb252ZXJ0ZWQuXSkKIGZpCiAKLUFDX01TR19DSEVDS0lORyh3aGV0aGVyICRDQyBzdXBwb3J0cyBjb21wdXRlZCBnb3RvcykKLUFDX0NBQ0hFX1ZBTChhY19jdl9jb21wdXRlZF9nb3RvcywKLUFDX1JVTl9JRkVMU0UoW0FDX0xBTkdfU09VUkNFKFtbWwotaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQotewotICAgIHN0YXRpYyB2b2lkICp0YXJnZXRzWzFdID0geyAmJkxBQkVMMSB9OwotICAgIGdvdG8gTEFCRUwyOwotTEFCRUwxOgotICAgIHJldHVybiAwOwotTEFCRUwyOgotICAgIGdvdG8gKnRhcmdldHNbMF07Ci0gICAgcmV0dXJuIDE7Ci19Ci1dXV0pXSwKLVthY19jdl9jb21wdXRlZF9nb3Rvcz15ZXNdLAotW2FjX2N2X2NvbXB1dGVkX2dvdG9zPW5vXSwKLVthY19jdl9jb21wdXRlZF9nb3Rvcz1ub10pKQotQUNfTVNHX1JFU1VMVCgkYWNfY3ZfY29tcHV0ZWRfZ290b3MpCi1pZiB0ZXN0ICIkYWNfY3ZfY29tcHV0ZWRfZ290b3MiID0geWVzCi10aGVuCi0gIEFDX0RFRklORShIQVZFX0NPTVBVVEVEX0dPVE9TLCAxLAotICBbRGVmaW5lIGlmIHRoZSBDIGNvbXBpbGVyIHN1cHBvcnRzIGNvbXB1dGVkIGdvdG9zLl0pCi1maQotCiAjIENoZWNrIGZvciAtLXdpdGgtY29tcHV0ZWQtZ290b3MKIEFDX01TR19DSEVDS0lORyhmb3IgLS13aXRoLWNvbXB1dGVkLWdvdG9zKQogQUNfQVJHX1dJVEgoY29tcHV0ZWQtZ290b3MsCkBAIC00MzAyLDE4ICs0MjgzLDM5IEBACiBdLAogW0FDX01TR19SRVNVTFQobm8gdmFsdWUgc3BlY2lmaWVkKV0pCiAKK0FDX01TR19DSEVDS0lORyh3aGV0aGVyICRDQyBzdXBwb3J0cyBjb21wdXRlZCBnb3RvcykKK0FDX0NBQ0hFX1ZBTChhY19jdl9jb21wdXRlZF9nb3RvcywKK0FDX1JVTl9JRkVMU0UoW0FDX0xBTkdfU09VUkNFKFtbWworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworICAgIHN0YXRpYyB2b2lkICp0YXJnZXRzWzFdID0geyAmJkxBQkVMMSB9OworICAgIGdvdG8gTEFCRUwyOworTEFCRUwxOgorICAgIHJldHVybiAwOworTEFCRUwyOgorICAgIGdvdG8gKnRhcmdldHNbMF07CisgICAgcmV0dXJuIDE7Cit9CitdXV0pXSwKK1thY19jdl9jb21wdXRlZF9nb3Rvcz15ZXNdLAorW2FjX2N2X2NvbXB1dGVkX2dvdG9zPW5vXSwKK1tpZiB0ZXN0ICIke3dpdGhfY29tcHV0ZWRfZ290b3Mrc2V0fSIgPSBzZXQ7IHRoZW4KKyAgIGFjX2N2X2NvbXB1dGVkX2dvdG9zPSIkd2l0aF9jb21wdXRlZF9nb3RvcyAtLSBjb25maWd1cmVkIC0td2l0aChvdXQpLWNvbXB1dGVkLWdvdG9zIgorIGVsc2UKKyAgIGFjX2N2X2NvbXB1dGVkX2dvdG9zPW5vCisgZmldKSkKK0FDX01TR19SRVNVTFQoJGFjX2N2X2NvbXB1dGVkX2dvdG9zKQorY2FzZSAiJGFjX2N2X2NvbXB1dGVkX2dvdG9zIiBpbiB5ZXMqKQorICBBQ19ERUZJTkUoSEFWRV9DT01QVVRFRF9HT1RPUywgMSwKKyAgW0RlZmluZSBpZiB0aGUgQyBjb21waWxlciBzdXBwb3J0cyBjb21wdXRlZCBnb3Rvcy5dKQorZXNhYworCiBjYXNlICRhY19zeXNfc3lzdGVtIGluCiBBSVgqKSAgIAogICBBQ19ERUZJTkUoSEFWRV9CUk9LRU5fUElQRV9CVUYsIDEsIFtEZWZpbmUgaWYgdGhlIHN5c3RlbSByZXBvcnRzIGFuIGludmFsaWQgUElQRV9CVUYgdmFsdWUuXSkgOzsKIGVzYWMKIAogCi1jYXNlICRhY19zeXNfc3lzdGVtIGluCi0gIE9TRiopIEFDX01TR19FUlJPUihPU0YqIHN5c3RlbXMgYXJlIGRlcHJlY2F0ZWQgdW5sZXNzIHNvbWVib2R5IHZvbHVudGVlcnMuIENoZWNrIGh0dHA6Ly9idWdzLnB5dGhvbi5vcmcvaXNzdWU4NjA2KSA7OwotZXNhYwotCi1BQ19DSEVDS19GVU5DKHBpcGUyLCBBQ19ERUZJTkUoSEFWRV9QSVBFMiwgMSwgW0RlZmluZSBpZiB0aGUgT1Mgc3VwcG9ydHMgcGlwZTIoKV0pLCApCi0KIEFDX1NVQlNUKFRIUkVBREhFQURFUlMpCiAKIGZvciBoIGluIGAoY2QgJHNyY2RpcjtlY2hvIFB5dGhvbi90aHJlYWRfKi5oKWAKZGlmZiAtLWdpdCBhL3B5Y29uZmlnLmguaW4gYi9weWNvbmZpZy5oLmluCmluZGV4IGNhOGNjYjYuLjBlYmNjMzAgMTAwNjQ0Ci0tLSBhL3B5Y29uZmlnLmguaW4KKysrIGIvcHljb25maWcuaC5pbgpAQCAtMTIsOSArMTIsNiBAQAogICAgc3VwcG9ydCBmb3IgQUlYIEMrKyBzaGFyZWQgZXh0ZW5zaW9uIG1vZHVsZXMuICovCiAjdW5kZWYgQUlYX0dFTlVJTkVfQ1BMVVNQTFVTCiAKLS8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgTWFjaCBjdGhyZWFkcyBwYWNrYWdlICovCi0jdW5kZWYgQ19USFJFQURTCi0KIC8qIERlZmluZSBpZiBDIGRvdWJsZXMgYXJlIDY0LWJpdCBJRUVFIDc1NCBiaW5hcnkgZm9ybWF0LCBzdG9yZWQgaW4gQVJNCiAgICBtaXhlZC1lbmRpYW4gb3JkZXIgKGJ5dGUgb3JkZXIgNDU2NzAxMjMpICovCiAjdW5kZWYgRE9VQkxFX0lTX0FSTV9NSVhFRF9FTkRJQU5fSUVFRTc1NApAQCAtMTE2LDYgKzExMywxMiBAQAogLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBjbG9jaycgZnVuY3Rpb24uICovCiAjdW5kZWYgSEFWRV9DTE9DSwogCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGNsb2NrX2dldHJlcycgZnVuY3Rpb24uICovCisjdW5kZWYgSEFWRV9DTE9DS19HRVRSRVMKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBjbG9ja19nZXR0aW1lJyBmdW5jdGlvbi4gKi8KKyN1bmRlZiBIQVZFX0NMT0NLX0dFVFRJTUUKKwogLyogRGVmaW5lIGlmIHRoZSBDIGNvbXBpbGVyIHN1cHBvcnRzIGNvbXB1dGVkIGdvdG9zLiAqLwogI3VuZGVmIEhBVkVfQ09NUFVURURfR09UT1MKIApAQCAtMTk2LDYgKzE5OSw5IEBACiAvKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlICdlcG9sbCcgZnVuY3Rpb25zLiAqLwogI3VuZGVmIEhBVkVfRVBPTEwKIAorLyogRGVmaW5lIGlmIHlvdSBoYXZlIHRoZSAnZXBvbGxfY3JlYXRlMScgZnVuY3Rpb24uICovCisjdW5kZWYgSEFWRV9FUE9MTF9DUkVBVEUxCisKIC8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgZXJmJyBmdW5jdGlvbi4gKi8KICN1bmRlZiBIQVZFX0VSRgogCkBAIC0yMTEsMjEgKzIxNywzNiBAQAogLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBleHBtMScgZnVuY3Rpb24uICovCiAjdW5kZWYgSEFWRV9FWFBNMQogCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGZhY2Nlc3NhdCcgZnVuY3Rpb24uICovCisjdW5kZWYgSEFWRV9GQUNDRVNTQVQKKwogLyogRGVmaW5lIGlmIHlvdSBoYXZlIHRoZSAnZmNoZGlyJyBmdW5jdGlvbi4gKi8KICN1bmRlZiBIQVZFX0ZDSERJUgogCiAvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGZjaG1vZCcgZnVuY3Rpb24uICovCiAjdW5kZWYgSEFWRV9GQ0hNT0QKIAorLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBmY2htb2RhdCcgZnVuY3Rpb24uICovCisjdW5kZWYgSEFWRV9GQ0hNT0RBVAorCiAvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGZjaG93bicgZnVuY3Rpb24uICovCiAjdW5kZWYgSEFWRV9GQ0hPV04KIAorLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBmY2hvd25hdCcgZnVuY3Rpb24uICovCisjdW5kZWYgSEFWRV9GQ0hPV05BVAorCiAvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPGZjbnRsLmg+IGhlYWRlciBmaWxlLiAqLwogI3VuZGVmIEhBVkVfRkNOVExfSAogCiAvKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlICdmZGF0YXN5bmMnIGZ1bmN0aW9uLiAqLwogI3VuZGVmIEhBVkVfRkRBVEFTWU5DCiAKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgZmRvcGVuZGlyJyBmdW5jdGlvbi4gKi8KKyN1bmRlZiBIQVZFX0ZET1BFTkRJUgorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGZleGVjdmUnIGZ1bmN0aW9uLiAqLworI3VuZGVmIEhBVkVfRkVYRUNWRQorCiAvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGZpbml0ZScgZnVuY3Rpb24uICovCiAjdW5kZWYgSEFWRV9GSU5JVEUKIApAQCAtMjQ3LDYgKzI2OCw5IEBACiAvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGZzZWVrbycgZnVuY3Rpb24uICovCiAjdW5kZWYgSEFWRV9GU0VFS08KIAorLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBmc3RhdGF0JyBmdW5jdGlvbi4gKi8KKyN1bmRlZiBIQVZFX0ZTVEFUQVQKKwogLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBmc3RhdHZmcycgZnVuY3Rpb24uICovCiAjdW5kZWYgSEFWRV9GU1RBVFZGUwogCkBAIC0yNjUsNiArMjg5LDE1IEBACiAvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGZ0cnVuY2F0ZScgZnVuY3Rpb24uICovCiAjdW5kZWYgSEFWRV9GVFJVTkNBVEUKIAorLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBmdXRpbWVucycgZnVuY3Rpb24uICovCisjdW5kZWYgSEFWRV9GVVRJTUVOUworCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGZ1dGltZXMnIGZ1bmN0aW9uLiAqLworI3VuZGVmIEhBVkVfRlVUSU1FUworCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGZ1dGltZXNhdCcgZnVuY3Rpb24uICovCisjdW5kZWYgSEFWRV9GVVRJTUVTQVQKKwogLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBnYWlfc3RyZXJyb3InIGZ1bmN0aW9uLiAqLwogI3VuZGVmIEhBVkVfR0FJX1NUUkVSUk9SCiAKQEAgLTI4NCw2ICszMTcsOSBAQAogLyogRGVmaW5lIHRoaXMgaWYgeW91IGhhdmUgZmxvY2tmaWxlKCksIGdldGNfdW5sb2NrZWQoKSwgYW5kIGZ1bmxvY2tmaWxlKCkgKi8KICN1bmRlZiBIQVZFX0dFVENfVU5MT0NLRUQKIAorLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBnZXRncm91cGxpc3QnIGZ1bmN0aW9uLiAqLworI3VuZGVmIEhBVkVfR0VUR1JPVVBMSVNUCisKIC8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgZ2V0Z3JvdXBzJyBmdW5jdGlvbi4gKi8KICN1bmRlZiBIQVZFX0dFVEdST1VQUwogCkBAIC0zNjgsNiArNDA0LDkgQEAKIC8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8aWVlZWZwLmg+IGhlYWRlciBmaWxlLiAqLwogI3VuZGVmIEhBVkVfSUVFRUZQX0gKIAorLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBpZl9uYW1laW5kZXgnIGZ1bmN0aW9uLiAqLworI3VuZGVmIEhBVkVfSUZfTkFNRUlOREVYCisKIC8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgJ2luZXRfYXRvbicgZnVuY3Rpb24uICovCiAjdW5kZWYgSEFWRV9JTkVUX0FUT04KIApAQCAtNDMxLDIxICs0NzAsMzkgQEAKIC8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgcmVzb2x2JyBsaWJyYXJ5ICgtbHJlc29sdikuICovCiAjdW5kZWYgSEFWRV9MSUJSRVNPTFYKIAorLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBzZW5kZmlsZScgbGlicmFyeSAoLWxzZW5kZmlsZSkuICovCisjdW5kZWYgSEFWRV9MSUJTRU5ERklMRQorCiAvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPGxpYnV0aWwuaD4gaGVhZGVyIGZpbGUuICovCiAjdW5kZWYgSEFWRV9MSUJVVElMX0gKIAogLyogRGVmaW5lIGlmIHlvdSBoYXZlIHRoZSAnbGluaycgZnVuY3Rpb24uICovCiAjdW5kZWYgSEFWRV9MSU5LCiAKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgbGlua2F0JyBmdW5jdGlvbi4gKi8KKyN1bmRlZiBIQVZFX0xJTktBVAorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPGxpbnV4L2Nhbi5oPiBoZWFkZXIgZmlsZS4gKi8KKyN1bmRlZiBIQVZFX0xJTlVYX0NBTl9ICisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8bGludXgvY2FuL3Jhdy5oPiBoZWFkZXIgZmlsZS4gKi8KKyN1bmRlZiBIQVZFX0xJTlVYX0NBTl9SQVdfSAorCiAvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPGxpbnV4L25ldGxpbmsuaD4gaGVhZGVyIGZpbGUuICovCiAjdW5kZWYgSEFWRV9MSU5VWF9ORVRMSU5LX0gKIAogLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxsaW51eC90aXBjLmg+IGhlYWRlciBmaWxlLiAqLwogI3VuZGVmIEhBVkVfTElOVVhfVElQQ19ICiAKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgbG9ja2YnIGZ1bmN0aW9uLiAqLworI3VuZGVmIEhBVkVfTE9DS0YKKwogLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBsb2cxcCcgZnVuY3Rpb24uICovCiAjdW5kZWYgSEFWRV9MT0cxUAogCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGxvZzInIGZ1bmN0aW9uLiAqLworI3VuZGVmIEhBVkVfTE9HMgorCiAvKiBEZWZpbmUgdGhpcyBpZiB5b3UgaGF2ZSB0aGUgdHlwZSBsb25nIGRvdWJsZS4gKi8KICN1bmRlZiBIQVZFX0xPTkdfRE9VQkxFCiAKQEAgLTQ1NSw2ICs1MTIsOSBAQAogLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBsc3RhdCcgZnVuY3Rpb24uICovCiAjdW5kZWYgSEFWRV9MU1RBVAogCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGx1dGltZXMnIGZ1bmN0aW9uLiAqLworI3VuZGVmIEhBVkVfTFVUSU1FUworCiAvKiBEZWZpbmUgdGhpcyBpZiB5b3UgaGF2ZSB0aGUgbWFrZWRldiBtYWNyby4gKi8KICN1bmRlZiBIQVZFX01BS0VERVYKIApAQCAtNDY3LDE1ICs1MjcsMzAgQEAKIC8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8bWVtb3J5Lmg+IGhlYWRlciBmaWxlLiAqLwogI3VuZGVmIEhBVkVfTUVNT1JZX0gKIAorLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBtZW1yY2hyJyBmdW5jdGlvbi4gKi8KKyN1bmRlZiBIQVZFX01FTVJDSFIKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBta2RpcmF0JyBmdW5jdGlvbi4gKi8KKyN1bmRlZiBIQVZFX01LRElSQVQKKwogLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBta2ZpZm8nIGZ1bmN0aW9uLiAqLwogI3VuZGVmIEhBVkVfTUtGSUZPCiAKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgbWtmaWZvYXQnIGZ1bmN0aW9uLiAqLworI3VuZGVmIEhBVkVfTUtGSUZPQVQKKwogLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBta25vZCcgZnVuY3Rpb24uICovCiAjdW5kZWYgSEFWRV9NS05PRAogCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYG1rbm9kYXQnIGZ1bmN0aW9uLiAqLworI3VuZGVmIEhBVkVfTUtOT0RBVAorCiAvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYG1rdGltZScgZnVuY3Rpb24uICovCiAjdW5kZWYgSEFWRV9NS1RJTUUKIAorLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBtbWFwJyBmdW5jdGlvbi4gKi8KKyN1bmRlZiBIQVZFX01NQVAKKwogLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBtcmVtYXAnIGZ1bmN0aW9uLiAqLwogI3VuZGVmIEhBVkVfTVJFTUFQCiAKQEAgLTQ4OCw5ICs1NjMsMTUgQEAKIC8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8bmV0cGFja2V0L3BhY2tldC5oPiBoZWFkZXIgZmlsZS4gKi8KICN1bmRlZiBIQVZFX05FVFBBQ0tFVF9QQUNLRVRfSAogCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPG5ldC9pZi5oPiBoZWFkZXIgZmlsZS4gKi8KKyN1bmRlZiBIQVZFX05FVF9JRl9ICisKIC8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgbmljZScgZnVuY3Rpb24uICovCiAjdW5kZWYgSEFWRV9OSUNFCiAKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgb3BlbmF0JyBmdW5jdGlvbi4gKi8KKyN1bmRlZiBIQVZFX09QRU5BVAorCiAvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYG9wZW5wdHknIGZ1bmN0aW9uLiAqLwogI3VuZGVmIEhBVkVfT1BFTlBUWQogCkBAIC01MDMsNyArNTg0LDcgQEAKIC8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgcGF1c2UnIGZ1bmN0aW9uLiAqLwogI3VuZGVmIEhBVkVfUEFVU0UKIAotLyogRGVmaW5lIGlmIHRoZSBPUyBzdXBwb3J0cyBwaXBlMigpICovCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHBpcGUyJyBmdW5jdGlvbi4gKi8KICN1bmRlZiBIQVZFX1BJUEUyCiAKIC8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgcGxvY2snIGZ1bmN0aW9uLiAqLwpAQCAtNTE1LDYgKzU5NiwxNSBAQAogLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxwb2xsLmg+IGhlYWRlciBmaWxlLiAqLwogI3VuZGVmIEhBVkVfUE9MTF9ICiAKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgcG9zaXhfZmFkdmlzZScgZnVuY3Rpb24uICovCisjdW5kZWYgSEFWRV9QT1NJWF9GQURWSVNFCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgcG9zaXhfZmFsbG9jYXRlJyBmdW5jdGlvbi4gKi8KKyN1bmRlZiBIQVZFX1BPU0lYX0ZBTExPQ0FURQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHByZWFkJyBmdW5jdGlvbi4gKi8KKyN1bmRlZiBIQVZFX1BSRUFECisKIC8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8cHJvY2Vzcy5oPiBoZWFkZXIgZmlsZS4gKi8KICN1bmRlZiBIQVZFX1BST0NFU1NfSAogCkBAIC01MzAsNiArNjIwLDkgQEAKIC8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgcHRocmVhZF9pbml0JyBmdW5jdGlvbi4gKi8KICN1bmRlZiBIQVZFX1BUSFJFQURfSU5JVAogCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHB0aHJlYWRfa2lsbCcgZnVuY3Rpb24uICovCisjdW5kZWYgSEFWRV9QVEhSRUFEX0tJTEwKKwogLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBwdGhyZWFkX3NpZ21hc2snIGZ1bmN0aW9uLiAqLwogI3VuZGVmIEhBVkVfUFRIUkVBRF9TSUdNQVNLCiAKQEAgLTUzOSwxMiArNjMyLDI0IEBACiAvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHB1dGVudicgZnVuY3Rpb24uICovCiAjdW5kZWYgSEFWRV9QVVRFTlYKIAorLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBwd3JpdGUnIGZ1bmN0aW9uLiAqLworI3VuZGVmIEhBVkVfUFdSSVRFCisKIC8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgcmVhZGxpbmsnIGZ1bmN0aW9uLiAqLwogI3VuZGVmIEhBVkVfUkVBRExJTksKIAorLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGByZWFkbGlua2F0JyBmdW5jdGlvbi4gKi8KKyN1bmRlZiBIQVZFX1JFQURMSU5LQVQKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGByZWFkdicgZnVuY3Rpb24uICovCisjdW5kZWYgSEFWRV9SRUFEVgorCiAvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHJlYWxwYXRoJyBmdW5jdGlvbi4gKi8KICN1bmRlZiBIQVZFX1JFQUxQQVRICiAKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgcmVuYW1lYXQnIGZ1bmN0aW9uLiAqLworI3VuZGVmIEhBVkVfUkVOQU1FQVQKKwogLyogRGVmaW5lIGlmIHlvdSBoYXZlIHJlYWRsaW5lIDIuMSAqLwogI3VuZGVmIEhBVkVfUkxfQ0FMTEJBQ0sKIApAQCAtNTY5LDYgKzY3NCwyNCBAQAogLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGByb3VuZCcgZnVuY3Rpb24uICovCiAjdW5kZWYgSEFWRV9ST1VORAogCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHNjaGVkX2dldF9wcmlvcml0eV9tYXgnIGZ1bmN0aW9uLiAqLworI3VuZGVmIEhBVkVfU0NIRURfR0VUX1BSSU9SSVRZX01BWAorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHNjaGVkLmg+IGhlYWRlciBmaWxlLiAqLworI3VuZGVmIEhBVkVfU0NIRURfSAorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHNjaGVkX3JyX2dldF9pbnRlcnZhbCcgZnVuY3Rpb24uICovCisjdW5kZWYgSEFWRV9TQ0hFRF9SUl9HRVRfSU5URVJWQUwKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBzY2hlZF9zZXRhZmZpbml0eScgZnVuY3Rpb24uICovCisjdW5kZWYgSEFWRV9TQ0hFRF9TRVRBRkZJTklUWQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHNjaGVkX3NldHBhcmFtJyBmdW5jdGlvbi4gKi8KKyN1bmRlZiBIQVZFX1NDSEVEX1NFVFBBUkFNCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgc2NoZWRfc2V0c2NoZWR1bGVyJyBmdW5jdGlvbi4gKi8KKyN1bmRlZiBIQVZFX1NDSEVEX1NFVFNDSEVEVUxFUgorCiAvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHNlbGVjdCcgZnVuY3Rpb24uICovCiAjdW5kZWYgSEFWRV9TRUxFQ1QKIApAQCAtNTg0LDYgKzcwNyw5IEBACiAvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHNlbV91bmxpbmsnIGZ1bmN0aW9uLiAqLwogI3VuZGVmIEhBVkVfU0VNX1VOTElOSwogCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHNlbmRmaWxlJyBmdW5jdGlvbi4gKi8KKyN1bmRlZiBIQVZFX1NFTkRGSUxFCisKIC8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgc2V0ZWdpZCcgZnVuY3Rpb24uICovCiAjdW5kZWYgSEFWRV9TRVRFR0lECiAKQEAgLTU5Niw2ICs3MjIsOSBAQAogLyogRGVmaW5lIGlmIHlvdSBoYXZlIHRoZSAnc2V0Z3JvdXBzJyBmdW5jdGlvbi4gKi8KICN1bmRlZiBIQVZFX1NFVEdST1VQUwogCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHNldGhvc3RuYW1lJyBmdW5jdGlvbi4gKi8KKyN1bmRlZiBIQVZFX1NFVEhPU1ROQU1FCisKIC8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgc2V0aXRpbWVyJyBmdW5jdGlvbi4gKi8KICN1bmRlZiBIQVZFX1NFVElUSU1FUgogCkBAIC02MDgsNiArNzM3LDkgQEAKIC8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgc2V0cGdycCcgZnVuY3Rpb24uICovCiAjdW5kZWYgSEFWRV9TRVRQR1JQCiAKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgc2V0cHJpb3JpdHknIGZ1bmN0aW9uLiAqLworI3VuZGVmIEhBVkVfU0VUUFJJT1JJVFkKKwogLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBzZXRyZWdpZCcgZnVuY3Rpb24uICovCiAjdW5kZWYgSEFWRV9TRVRSRUdJRAogCkBAIC02MzUsMTUgKzc2NywzMCBAQAogLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBzaWdhY3Rpb24nIGZ1bmN0aW9uLiAqLwogI3VuZGVmIEhBVkVfU0lHQUNUSU9OCiAKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgc2lnYWx0c3RhY2snIGZ1bmN0aW9uLiAqLworI3VuZGVmIEhBVkVfU0lHQUxUU1RBQ0sKKwogLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBzaWdpbnRlcnJ1cHQnIGZ1bmN0aW9uLiAqLwogI3VuZGVmIEhBVkVfU0lHSU5URVJSVVBUCiAKIC8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c2lnbmFsLmg+IGhlYWRlciBmaWxlLiAqLwogI3VuZGVmIEhBVkVfU0lHTkFMX0gKIAorLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBzaWdwZW5kaW5nJyBmdW5jdGlvbi4gKi8KKyN1bmRlZiBIQVZFX1NJR1BFTkRJTkcKKwogLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBzaWdyZWxzZScgZnVuY3Rpb24uICovCiAjdW5kZWYgSEFWRV9TSUdSRUxTRQogCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHNpZ3RpbWVkd2FpdCcgZnVuY3Rpb24uICovCisjdW5kZWYgSEFWRV9TSUdUSU1FRFdBSVQKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBzaWd3YWl0JyBmdW5jdGlvbi4gKi8KKyN1bmRlZiBIQVZFX1NJR1dBSVQKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBzaWd3YWl0aW5mbycgZnVuY3Rpb24uICovCisjdW5kZWYgSEFWRV9TSUdXQUlUSU5GTworCiAvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHNucHJpbnRmJyBmdW5jdGlvbi4gKi8KICN1bmRlZiBIQVZFX1NOUFJJTlRGCiAKQEAgLTcyNyw2ICs4NzQsMTIgQEAKIC8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgJ3N5bWxpbmsnIGZ1bmN0aW9uLiAqLwogI3VuZGVmIEhBVkVfU1lNTElOSwogCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHN5bWxpbmthdCcgZnVuY3Rpb24uICovCisjdW5kZWYgSEFWRV9TWU1MSU5LQVQKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBzeW5jJyBmdW5jdGlvbi4gKi8KKyN1bmRlZiBIQVZFX1NZTkMKKwogLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBzeXNjb25mJyBmdW5jdGlvbi4gKi8KICN1bmRlZiBIQVZFX1NZU0NPTkYKIApAQCAtNzM5LDYgKzg5Miw5IEBACiAvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN5cy9ic2R0dHkuaD4gaGVhZGVyIGZpbGUuICovCiAjdW5kZWYgSEFWRV9TWVNfQlNEVFRZX0gKIAorLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxzeXMvZGV2cG9sbC5oPiBoZWFkZXIgZmlsZS4gKi8KKyN1bmRlZiBIQVZFX1NZU19ERVZQT0xMX0gKKwogLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxzeXMvZGlyLmg+IGhlYWRlciBmaWxlLCBhbmQgaXQgZGVmaW5lcyBgRElSJy4KICAgICovCiAjdW5kZWYgSEFWRV9TWVNfRElSX0gKQEAgLTc1Miw2ICs5MDgsMTIgQEAKIC8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3lzL2ZpbGUuaD4gaGVhZGVyIGZpbGUuICovCiAjdW5kZWYgSEFWRV9TWVNfRklMRV9ICiAKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3lzL2lvY3RsLmg+IGhlYWRlciBmaWxlLiAqLworI3VuZGVmIEhBVkVfU1lTX0lPQ1RMX0gKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxzeXMva2Vybl9jb250cm9sLmg+IGhlYWRlciBmaWxlLiAqLworI3VuZGVmIEhBVkVfU1lTX0tFUk5fQ09OVFJPTF9ICisKIC8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3lzL2xvYWRhdmcuaD4gaGVhZGVyIGZpbGUuICovCiAjdW5kZWYgSEFWRV9TWVNfTE9BREFWR19ICiAKQEAgLTc4MCw2ICs5NDIsOSBAQAogLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxzeXMvc2VsZWN0Lmg+IGhlYWRlciBmaWxlLiAqLwogI3VuZGVmIEhBVkVfU1lTX1NFTEVDVF9ICiAKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3lzL3NlbmRmaWxlLmg+IGhlYWRlciBmaWxlLiAqLworI3VuZGVmIEhBVkVfU1lTX1NFTkRGSUxFX0gKKwogLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxzeXMvc29ja2V0Lmg+IGhlYWRlciBmaWxlLiAqLwogI3VuZGVmIEhBVkVfU1lTX1NPQ0tFVF9ICiAKQEAgLTc5Miw2ICs5NTcsOSBAQAogLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxzeXMvc3lzY2FsbC5oPiBoZWFkZXIgZmlsZS4gKi8KICN1bmRlZiBIQVZFX1NZU19TWVNDQUxMX0gKIAorLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxzeXMvc3lzX2RvbWFpbi5oPiBoZWFkZXIgZmlsZS4gKi8KKyN1bmRlZiBIQVZFX1NZU19TWVNfRE9NQUlOX0gKKwogLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxzeXMvdGVybWlvLmg+IGhlYWRlciBmaWxlLiAqLwogI3VuZGVmIEhBVkVfU1lTX1RFUk1JT19ICiAKQEAgLTgwNCw2ICs5NzIsOSBAQAogLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxzeXMvdHlwZXMuaD4gaGVhZGVyIGZpbGUuICovCiAjdW5kZWYgSEFWRV9TWVNfVFlQRVNfSAogCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN5cy91aW8uaD4gaGVhZGVyIGZpbGUuICovCisjdW5kZWYgSEFWRV9TWVNfVUlPX0gKKwogLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxzeXMvdW4uaD4gaGVhZGVyIGZpbGUuICovCiAjdW5kZWYgSEFWRV9TWVNfVU5fSAogCkBAIC04MTMsNiArOTg0LDkgQEAKIC8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3lzL3dhaXQuaD4gaGVhZGVyIGZpbGUuICovCiAjdW5kZWYgSEFWRV9TWVNfV0FJVF9ICiAKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3lzL3hhdHRyLmg+IGhlYWRlciBmaWxlLiAqLworI3VuZGVmIEhBVkVfU1lTX1hBVFRSX0gKKwogLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGB0Y2dldHBncnAnIGZ1bmN0aW9uLiAqLwogI3VuZGVmIEhBVkVfVENHRVRQR1JQCiAKQEAgLTgzMSw5ICsxMDA1LDYgQEAKIC8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgdGdhbW1hJyBmdW5jdGlvbi4gKi8KICN1bmRlZiBIQVZFX1RHQU1NQQogCi0vKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHRocmVhZC5oPiBoZWFkZXIgZmlsZS4gKi8KLSN1bmRlZiBIQVZFX1RIUkVBRF9ICi0KIC8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgdGltZWdtJyBmdW5jdGlvbi4gKi8KICN1bmRlZiBIQVZFX1RJTUVHTQogCkBAIC04NzIsNiArMTA0Myw5IEBACiAvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHVuaXN0ZC5oPiBoZWFkZXIgZmlsZS4gKi8KICN1bmRlZiBIQVZFX1VOSVNURF9ICiAKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgdW5saW5rYXQnIGZ1bmN0aW9uLiAqLworI3VuZGVmIEhBVkVfVU5MSU5LQVQKKwogLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGB1bnNldGVudicgZnVuY3Rpb24uICovCiAjdW5kZWYgSEFWRV9VTlNFVEVOVgogCkBAIC04ODMsNiArMTA1Nyw5IEBACiAvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHV0aWwuaD4gaGVhZGVyIGZpbGUuICovCiAjdW5kZWYgSEFWRV9VVElMX0gKIAorLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGB1dGltZW5zYXQnIGZ1bmN0aW9uLiAqLworI3VuZGVmIEhBVkVfVVRJTUVOU0FUCisKIC8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgdXRpbWVzJyBmdW5jdGlvbi4gKi8KICN1bmRlZiBIQVZFX1VUSU1FUwogCkBAIC04OTUsNiArMTA3Miw5IEBACiAvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHdhaXQ0JyBmdW5jdGlvbi4gKi8KICN1bmRlZiBIQVZFX1dBSVQ0CiAKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgd2FpdGlkJyBmdW5jdGlvbi4gKi8KKyN1bmRlZiBIQVZFX1dBSVRJRAorCiAvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHdhaXRwaWQnIGZ1bmN0aW9uLiAqLwogI3VuZGVmIEhBVkVfV0FJVFBJRAogCkBAIC05MTQsMjEgKzEwOTQsMTggQEAKICAgICovCiAjdW5kZWYgSEFWRV9XT1JLSU5HX1RaU0VUCiAKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgd3JpdGV2JyBmdW5jdGlvbi4gKi8KKyN1bmRlZiBIQVZFX1dSSVRFVgorCiAvKiBEZWZpbmUgaWYgdGhlIHpsaWIgbGlicmFyeSBoYXMgaW5mbGF0ZUNvcHkgKi8KICN1bmRlZiBIQVZFX1pMSUJfQ09QWQogCiAvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYF9nZXRwdHknIGZ1bmN0aW9uLiAqLwogI3VuZGVmIEhBVkVfX0dFVFBUWQogCi0vKiBEZWZpbmUgaWYgeW91IGFyZSB1c2luZyBNYWNoIGN0aHJlYWRzIGRpcmVjdGx5IHVuZGVyIC9pbmNsdWRlICovCi0jdW5kZWYgSFVSRF9DX1RIUkVBRFMKLQogLyogRGVmaW5lIGlmIGxvZzFwKC0wLikgaXMgMC4gcmF0aGVyIHRoYW4gLTAuICovCiAjdW5kZWYgTE9HMVBfRFJPUFNfWkVST19TSUdOCiAKLS8qIERlZmluZSBpZiB5b3UgYXJlIHVzaW5nIE1hY2ggY3RocmVhZHMgdW5kZXIgbWFjaCAvICovCi0jdW5kZWYgTUFDSF9DX1RIUkVBRFMKLQogLyogRGVmaW5lIHRvIDEgaWYgYG1ham9yJywgYG1pbm9yJywgYW5kIGBtYWtlZGV2JyBhcmUgZGVjbGFyZWQgaW4gPG1rZGV2Lmg+LgogICAgKi8KICN1bmRlZiBNQUpPUl9JTl9NS0RFVgpAQCAtOTczLDE4ICsxMTUwLDEyIEBACiAvKiBEZWZpbmUgdG8gcHJpbnRmIGZvcm1hdCBtb2RpZmllciBmb3IgUHlfc3NpemVfdCAqLwogI3VuZGVmIFBZX0ZPUk1BVF9TSVpFX1QKIAotLyogRGVmaW5lIGFzIHRoZSBpbnRlZ3JhbCB0eXBlIHVzZWQgZm9yIFVuaWNvZGUgcmVwcmVzZW50YXRpb24uICovCi0jdW5kZWYgUFlfVU5JQ09ERV9UWVBFCi0KIC8qIERlZmluZSBpZiB5b3Ugd2FudCB0byBidWlsZCBhbiBpbnRlcnByZXRlciB3aXRoIG1hbnkgcnVuLXRpbWUgY2hlY2tzLiAqLwogI3VuZGVmIFB5X0RFQlVHCiAKIC8qIERlZmluZWQgaWYgUHl0aG9uIGlzIGJ1aWx0IGFzIGEgc2hhcmVkIGxpYnJhcnkuICovCiAjdW5kZWYgUHlfRU5BQkxFX1NIQVJFRAogCi0vKiBEZWZpbmUgYXMgdGhlIHNpemUgb2YgdGhlIHVuaWNvZGUgdHlwZS4gKi8KLSN1bmRlZiBQeV9VTklDT0RFX1NJWkUKLQogLyogYXNzdW1lIEM4OSBzZW1hbnRpY3MgdGhhdCBSRVRTSUdUWVBFIGlzIGFsd2F5cyB2b2lkICovCiAjdW5kZWYgUkVUU0lHVFlQRQogCkBAIC0xMDU4LDYgKzEyMjksOSBAQAogLyogRGVmaW5lIGlmIHRhbmgoLTAuKSBpcyAtMC4sIG9yIGlmIHBsYXRmb3JtIGRvZXNuJ3QgaGF2ZSBzaWduZWQgemVyb3MgKi8KICN1bmRlZiBUQU5IX1BSRVNFUlZFU19aRVJPX1NJR04KIAorLyogTGlicmFyeSBuZWVkZWQgYnkgdGltZW1vZHVsZS5jOiBsaWJydCBtYXkgYmUgbmVlZGVkIGZvciBjbG9ja19nZXR0aW1lKCkgKi8KKyN1bmRlZiBUSU1FTU9EVUxFX0xJQgorCiAvKiBEZWZpbmUgdG8gMSBpZiB5b3UgY2FuIHNhZmVseSBpbmNsdWRlIGJvdGggPHN5cy90aW1lLmg+IGFuZCA8dGltZS5oPi4gKi8KICN1bmRlZiBUSU1FX1dJVEhfU1lTX1RJTUUKIApAQCAtMTE3MCwxNCArMTM0NCwxMSBAQAogLyogRGVmaW5lIG9uIE5ldEJTRCB0byBhY3RpdmF0ZSBhbGwgbGlicmFyeSBmZWF0dXJlcyAqLwogI3VuZGVmIF9ORVRCU0RfU09VUkNFCiAKLS8qIERlZmluZSBfT1NGX1NPVVJDRSB0byBnZXQgdGhlIG1ha2VkZXYgbWFjcm8uICovCi0jdW5kZWYgX09TRl9TT1VSQ0UKLQogLyogRGVmaW5lIHRvIDIgaWYgdGhlIHN5c3RlbSBkb2VzIG5vdCBwcm92aWRlIFBPU0lYLjEgZmVhdHVyZXMgZXhjZXB0IHdpdGgKICAgIHRoaXMgZGVmaW5lZC4gKi8KICN1bmRlZiBfUE9TSVhfMV9TT1VSQ0UKIAotLyogRGVmaW5lIHRvIGFjdGl2YXRlIGZlYXR1cmVzIGZyb20gSUVFRSBTdGRzIDEwMDMuMS0yMDAxICovCisvKiBEZWZpbmUgdG8gYWN0aXZhdGUgZmVhdHVyZXMgZnJvbSBJRUVFIFN0ZHMgMTAwMy4xLTIwMDggKi8KICN1bmRlZiBfUE9TSVhfQ19TT1VSQ0UKIAogLyogRGVmaW5lIHRvIDEgaWYgeW91IG5lZWQgdG8gaW4gb3JkZXIgZm9yIGBzdGF0JyBhbmQgb3RoZXIgdGhpbmdzIHRvIHdvcmsuICovCmRpZmYgLS1naXQgYS9zZXR1cC5weSBiL3NldHVwLnB5CmluZGV4IGQ2OTg3NWMuLjc2NTA5OTYgMTAwNjQ0Ci0tLSBhL3NldHVwLnB5CisrKyBiL3NldHVwLnB5CkBAIC0xLDggKzEsNiBAQAogIyBBdXRvZGV0ZWN0aW5nIHNldHVwLnB5IHNjcmlwdCBmb3IgYnVpbGRpbmcgdGhlIFB5dGhvbiBleHRlbnNpb25zCiAjCiAKLV9fdmVyc2lvbl9fID0gIiRSZXZpc2lvbiQiCi0KIGltcG9ydCBzeXMsIG9zLCBpbXAsIHJlLCBvcHRwYXJzZQogZnJvbSBnbG9iIGltcG9ydCBnbG9iCiBpbXBvcnQgc3lzY29uZmlnCkBAIC0zNjUsOSArMzYzLDggQEAKIAogICAgIGRlZiBnZXRfcGxhdGZvcm0oc2VsZik6CiAgICAgICAgICMgR2V0IHZhbHVlIG9mIHN5cy5wbGF0Zm9ybQotICAgICAgICBmb3IgcGxhdGZvcm0gaW4gWydjeWd3aW4nLCAnZGFyd2luJywgJ29zZjEnXToKLSAgICAgICAgICAgIGlmIHN5cy5wbGF0Zm9ybS5zdGFydHN3aXRoKHBsYXRmb3JtKToKLSAgICAgICAgICAgICAgICByZXR1cm4gcGxhdGZvcm0KKyAgICAgICAgaWYgc3lzLnBsYXRmb3JtLnN0YXJ0c3dpdGgoJ29zZjEnKToKKyAgICAgICAgICAgIHJldHVybiAnb3NmMScKICAgICAgICAgcmV0dXJuIHN5cy5wbGF0Zm9ybQogCiAgICAgZGVmIGFkZF9tdWx0aWFyY2hfcGF0aHMoc2VsZik6CkBAIC01MDcsMTEgKzUwNCwxNyBAQAogICAgICAgICBleHRzLmFwcGVuZCggRXh0ZW5zaW9uKCdtYXRoJywgIFsnbWF0aG1vZHVsZS5jJywgJ19tYXRoLmMnXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXBlbmRzPVsnX21hdGguaCddLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnJhcmllcz1tYXRoX2xpYnMpICkKKworICAgICAgICAjIHRpbWUgbGlicmFyaWVzOiBsaWJydCBtYXkgYmUgbmVlZGVkIGZvciBjbG9ja19nZXR0aW1lKCkKKyAgICAgICAgdGltZV9saWJzID0gW10KKyAgICAgICAgbGliID0gc3lzY29uZmlnLmdldF9jb25maWdfdmFyKCdUSU1FTU9EVUxFX0xJQicpCisgICAgICAgIGlmIGxpYjoKKyAgICAgICAgICAgIHRpbWVfbGlicy5hcHBlbmQobGliKQorCiAgICAgICAgICMgdGltZSBvcGVyYXRpb25zIGFuZCB2YXJpYWJsZXMKLSAgICAgICAgZXh0cy5hcHBlbmQoIEV4dGVuc2lvbigndGltZScsIFsndGltZW1vZHVsZS5jJywgJ190aW1lLmMnXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJyYXJpZXM9bWF0aF9saWJzKSApCi0gICAgICAgIGV4dHMuYXBwZW5kKCBFeHRlbnNpb24oJ19kYXRldGltZScsIFsnX2RhdGV0aW1lbW9kdWxlLmMnLCAnX3RpbWUuYyddLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnJhcmllcz1tYXRoX2xpYnMpICkKKyAgICAgICAgZXh0cy5hcHBlbmQoIEV4dGVuc2lvbigndGltZScsIFsndGltZW1vZHVsZS5jJ10sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlicmFyaWVzPXRpbWVfbGlicykgKQorICAgICAgICBleHRzLmFwcGVuZCggRXh0ZW5zaW9uKCdfZGF0ZXRpbWUnLCBbJ19kYXRldGltZW1vZHVsZS5jJ10pICkKICAgICAgICAgIyByYW5kb20gbnVtYmVyIGdlbmVyYXRvciBpbXBsZW1lbnRlZCBpbiBDCiAgICAgICAgIGV4dHMuYXBwZW5kKCBFeHRlbnNpb24oIl9yYW5kb20iLCBbIl9yYW5kb21tb2R1bGUuYyJdKSApCiAgICAgICAgICMgYmlzZWN0CkBAIC01MjcsNiArNTMwLDggQEAKICAgICAgICAgIyBQeXRob24gQyBBUEkgdGVzdCBtb2R1bGUKICAgICAgICAgZXh0cy5hcHBlbmQoIEV4dGVuc2lvbignX3Rlc3RjYXBpJywgWydfdGVzdGNhcGltb2R1bGUuYyddLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlcGVuZHM9Wyd0ZXN0Y2FwaV9sb25nLmgnXSkgKQorICAgICAgICAjIFB5dGhvbiBQRVAtMzExOCAoYnVmZmVyIHByb3RvY29sKSB0ZXN0IG1vZHVsZQorICAgICAgICBleHRzLmFwcGVuZCggRXh0ZW5zaW9uKCdfdGVzdGJ1ZmZlcicsIFsnX3Rlc3RidWZmZXIuYyddKSApCiAgICAgICAgICMgcHJvZmlsZXIgKF9sc3Byb2YgaXMgZm9yIGNQcm9maWxlLnB5KQogICAgICAgICBleHRzLmFwcGVuZCggRXh0ZW5zaW9uKCdfbHNwcm9mJywgWydfbHNwcm9mLmMnLCAncm90YXRpbmd0cmVlLmMnXSkgKQogICAgICAgICAjIHN0YXRpYyBVbmljb2RlIGNoYXJhY3RlciBkYXRhYmFzZQpAQCAtNjU5LDcgKzY2NCw3IEBACiAgICAgICAgICAgICBsaWJzID0gWydjcnlwdCddCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBsaWJzID0gW10KLSAgICAgICAgZXh0cy5hcHBlbmQoIEV4dGVuc2lvbignY3J5cHQnLCBbJ2NyeXB0bW9kdWxlLmMnXSwgbGlicmFyaWVzPWxpYnMpICkKKyAgICAgICAgZXh0cy5hcHBlbmQoIEV4dGVuc2lvbignX2NyeXB0JywgWydfY3J5cHRtb2R1bGUuYyddLCBsaWJyYXJpZXM9bGlicykgKQogCiAgICAgICAgICMgQ1NWIGZpbGVzCiAgICAgICAgIGV4dHMuYXBwZW5kKCBFeHRlbnNpb24oJ19jc3YnLCBbJ19jc3YuYyddKSApCkBAIC0xMDQ3LDEwICsxMDUyLDE1IEBACiAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgIHNxbGl0ZV9leHRyYV9saW5rX2FyZ3MgPSAoKQogCisgICAgICAgICAgICBpbmNsdWRlX2RpcnMgPSBbIk1vZHVsZXMvX3NxbGl0ZSJdCisgICAgICAgICAgICAjIE9ubHkgaW5jbHVkZSB0aGUgZGlyZWN0b3J5IHdoZXJlIHNxbGl0ZSB3YXMgZm91bmQgaWYgaXQgZG9lcworICAgICAgICAgICAgIyBub3QgYWxyZWFkeSBleGlzdCBpbiBzZXQgaW5jbHVkZSBkaXJlY3Rvcmllcywgb3RoZXJ3aXNlIHlvdQorICAgICAgICAgICAgIyBjYW4gZW5kIHVwIHdpdGggYSBiYWQgc2VhcmNoIHBhdGggb3JkZXIuCisgICAgICAgICAgICBpZiBzcWxpdGVfaW5jZGlyIG5vdCBpbiBzZWxmLmNvbXBpbGVyLmluY2x1ZGVfZGlyczoKKyAgICAgICAgICAgICAgICBpbmNsdWRlX2RpcnMuYXBwZW5kKHNxbGl0ZV9pbmNkaXIpCiAgICAgICAgICAgICBleHRzLmFwcGVuZChFeHRlbnNpb24oJ19zcWxpdGUzJywgc3FsaXRlX3NyY3MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmaW5lX21hY3Jvcz1zcWxpdGVfZGVmaW5lcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmNsdWRlX2RpcnM9WyJNb2R1bGVzL19zcWxpdGUiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3FsaXRlX2luY2Rpcl0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5jbHVkZV9kaXJzPWluY2x1ZGVfZGlycywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJyYXJ5X2RpcnM9c3FsaXRlX2xpYmRpciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBydW50aW1lX2xpYnJhcnlfZGlycz1zcWxpdGVfbGliZGlyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4dHJhX2xpbmtfYXJncz1zcWxpdGVfZXh0cmFfbGlua19hcmdzLApAQCAtMTE2MCwxNCArMTE3MCwyMSBAQAogCiAgICAgICAgICMgQ3Vyc2VzIHN1cHBvcnQsIHJlcXVpcmluZyB0aGUgU3lzdGVtIFYgdmVyc2lvbiBvZiBjdXJzZXMsIG9mdGVuCiAgICAgICAgICMgcHJvdmlkZWQgYnkgdGhlIG5jdXJzZXMgbGlicmFyeS4KKyAgICAgICAgY3Vyc2VzX2RlZmluZXMgPSBbXQorICAgICAgICBjdXJzZXNfaW5jbHVkZXMgPSBbXQogICAgICAgICBwYW5lbF9saWJyYXJ5ID0gJ3BhbmVsJworICAgICAgICBpZiBjdXJzZXNfbGlicmFyeSA9PSAnbmN1cnNlc3cnOgorICAgICAgICAgICAgY3Vyc2VzX2RlZmluZXMuYXBwZW5kKCgnSEFWRV9OQ1VSU0VTVycsICcxJykpCisgICAgICAgICAgICBjdXJzZXNfaW5jbHVkZXMuYXBwZW5kKCcvdXNyL2luY2x1ZGUvbmN1cnNlc3cnKQorICAgICAgICAgICAgIyBCdWcgMTQ2NDA1NjogSWYgX2N1cnNlcy5zbyBsaW5rcyB3aXRoIG5jdXJzZXN3LAorICAgICAgICAgICAgIyBfY3Vyc2VzX3BhbmVsLnNvIG11c3QgbGluayB3aXRoIHBhbmVsdy4KKyAgICAgICAgICAgIHBhbmVsX2xpYnJhcnkgPSAncGFuZWx3JworCiAgICAgICAgIGlmIGN1cnNlc19saWJyYXJ5LnN0YXJ0c3dpdGgoJ25jdXJzZXMnKToKLSAgICAgICAgICAgIGlmIGN1cnNlc19saWJyYXJ5ID09ICduY3Vyc2Vzdyc6Ci0gICAgICAgICAgICAgICAgIyBCdWcgMTQ2NDA1NjogSWYgX2N1cnNlcy5zbyBsaW5rcyB3aXRoIG5jdXJzZXN3LAotICAgICAgICAgICAgICAgICMgX2N1cnNlc19wYW5lbC5zbyBtdXN0IGxpbmsgd2l0aCBwYW5lbHcuCi0gICAgICAgICAgICAgICAgcGFuZWxfbGlicmFyeSA9ICdwYW5lbHcnCiAgICAgICAgICAgICBjdXJzZXNfbGlicyA9IFtjdXJzZXNfbGlicmFyeV0KICAgICAgICAgICAgIGV4dHMuYXBwZW5kKCBFeHRlbnNpb24oJ19jdXJzZXMnLCBbJ19jdXJzZXNtb2R1bGUuYyddLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmNsdWRlX2RpcnM9Y3Vyc2VzX2luY2x1ZGVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZpbmVfbWFjcm9zPWN1cnNlc19kZWZpbmVzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJyYXJpZXMgPSBjdXJzZXNfbGlicykgKQogICAgICAgICBlbGlmIGN1cnNlc19saWJyYXJ5ID09ICdjdXJzZXMnIGFuZCBwbGF0Zm9ybSAhPSAnZGFyd2luJzoKICAgICAgICAgICAgICAgICAjIE9TWCBoYXMgYW4gb2xkIEJlcmtlbGV5IGN1cnNlcywgbm90IGdvb2QgZW5vdWdoIGZvcgpAQCAtMTE4MCw2ICsxMTk3LDcgQEAKICAgICAgICAgICAgICAgICBjdXJzZXNfbGlicyA9IFsnY3Vyc2VzJ10KIAogICAgICAgICAgICAgZXh0cy5hcHBlbmQoIEV4dGVuc2lvbignX2N1cnNlcycsIFsnX2N1cnNlc21vZHVsZS5jJ10sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmluZV9tYWNyb3M9Y3Vyc2VzX2RlZmluZXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnJhcmllcyA9IGN1cnNlc19saWJzKSApCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBtaXNzaW5nLmFwcGVuZCgnX2N1cnNlcycpCkBAIC0xMTg4LDYgKzEyMDYsNyBAQAogICAgICAgICBpZiAobW9kdWxlX2VuYWJsZWQoZXh0cywgJ19jdXJzZXMnKSBhbmQKICAgICAgICAgICAgIHNlbGYuY29tcGlsZXIuZmluZF9saWJyYXJ5X2ZpbGUobGliX2RpcnMsIHBhbmVsX2xpYnJhcnkpKToKICAgICAgICAgICAgIGV4dHMuYXBwZW5kKCBFeHRlbnNpb24oJ19jdXJzZXNfcGFuZWwnLCBbJ19jdXJzZXNfcGFuZWwuYyddLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmNsdWRlX2RpcnM9Y3Vyc2VzX2luY2x1ZGVzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJyYXJpZXMgPSBbcGFuZWxfbGlicmFyeV0gKyBjdXJzZXNfbGlicykgKQogICAgICAgICBlbHNlOgogICAgICAgICAgICAgbWlzc2luZy5hcHBlbmQoJ19jdXJzZXNfcGFuZWwnKQpAQCAtMTI1NiwxMSArMTI3NSwxOCBAQAogICAgICAgICAgICAgICAgIGJ6Ml9leHRyYV9saW5rX2FyZ3MgPSAoJy1XbCwtc2VhcmNoX3BhdGhzX2ZpcnN0JywpCiAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgIGJ6Ml9leHRyYV9saW5rX2FyZ3MgPSAoKQotICAgICAgICAgICAgZXh0cy5hcHBlbmQoIEV4dGVuc2lvbignYnoyJywgWydiejJtb2R1bGUuYyddLAorICAgICAgICAgICAgZXh0cy5hcHBlbmQoIEV4dGVuc2lvbignX2J6MicsIFsnX2J6Mm1vZHVsZS5jJ10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnJhcmllcyA9IFsnYnoyJ10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4dHJhX2xpbmtfYXJncyA9IGJ6Ml9leHRyYV9saW5rX2FyZ3MpICkKICAgICAgICAgZWxzZToKLSAgICAgICAgICAgIG1pc3NpbmcuYXBwZW5kKCdiejInKQorICAgICAgICAgICAgbWlzc2luZy5hcHBlbmQoJ19iejInKQorCisgICAgICAgICMgTFpNQSBjb21wcmVzc2lvbiBzdXBwb3J0LgorICAgICAgICBpZiBzZWxmLmNvbXBpbGVyLmZpbmRfbGlicmFyeV9maWxlKGxpYl9kaXJzLCAnbHptYScpOgorICAgICAgICAgICAgZXh0cy5hcHBlbmQoIEV4dGVuc2lvbignX2x6bWEnLCBbJ19sem1hbW9kdWxlLmMnXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlicmFyaWVzID0gWydsem1hJ10pICkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIG1pc3NpbmcuYXBwZW5kKCdfbHptYScpCiAKICAgICAgICAgIyBJbnRlcmZhY2UgdG8gdGhlIEV4cGF0IFhNTCBwYXJzZXIKICAgICAgICAgIwpAQCAtMTM1MywxNCArMTM3OSwxMSBAQAogICAgICAgICBpZiBwbGF0Zm9ybSA9PSAnd2luMzInOgogICAgICAgICAgICAgbXVsdGlwcm9jZXNzaW5nX3NyY3MgPSBbICdfbXVsdGlwcm9jZXNzaW5nL211bHRpcHJvY2Vzc2luZy5jJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnX211bHRpcHJvY2Vzc2luZy9zZW1hcGhvcmUuYycsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ19tdWx0aXByb2Nlc3NpbmcvcGlwZV9jb25uZWN0aW9uLmMnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdfbXVsdGlwcm9jZXNzaW5nL3NvY2tldF9jb25uZWN0aW9uLmMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdfbXVsdGlwcm9jZXNzaW5nL3dpbjMyX2Z1bmN0aW9ucy5jJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdCiAKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIG11bHRpcHJvY2Vzc2luZ19zcmNzID0gWyAnX211bHRpcHJvY2Vzc2luZy9tdWx0aXByb2Nlc3NpbmcuYycsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ19tdWx0aXByb2Nlc3Npbmcvc29ja2V0X2Nvbm5lY3Rpb24uYycKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgaWYgKHN5c2NvbmZpZy5nZXRfY29uZmlnX3ZhcignSEFWRV9TRU1fT1BFTicpIGFuZCBub3QKICAgICAgICAgICAgICAgICBzeXNjb25maWcuZ2V0X2NvbmZpZ192YXIoJ1BPU0lYX1NFTUFQSE9SRVNfTk9UX0VOQUJMRUQnKSk6CkBAIC0xMzc1LDkgKzEzOTgsNyBAQAogICAgICAgICAjIEVuZCBtdWx0aXByb2Nlc3NpbmcKIAogICAgICAgICAjIFBsYXRmb3JtLXNwZWNpZmljIGxpYnJhcmllcwotICAgICAgICBpZiAocGxhdGZvcm0gaW4gKCdsaW51eDInLCAnZnJlZWJzZDQnLCAnZnJlZWJzZDUnLCAnZnJlZWJzZDYnLAotICAgICAgICAgICAgICAgICAgICAgICAgJ2ZyZWVic2Q3JywgJ2ZyZWVic2Q4JykKLSAgICAgICAgICAgIG9yIHBsYXRmb3JtLnN0YXJ0c3dpdGgoImdudWtmcmVlYnNkIikpOgorICAgICAgICBpZiBwbGF0Zm9ybS5zdGFydHN3aXRoKCgnbGludXgnLCAnZnJlZWJzZCcsICdnbnVrZnJlZWJzZCcpKToKICAgICAgICAgICAgIGV4dHMuYXBwZW5kKCBFeHRlbnNpb24oJ29zc2F1ZGlvZGV2JywgWydvc3NhdWRpb2Rldi5jJ10pICkKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIG1pc3NpbmcuYXBwZW5kKCdvc3NhdWRpb2RldicpCkBAIC0xNzgwLDYgKzE4MDEsMTMgQEAKICAgICAgICAgaW5zdGFsbC5pbml0aWFsaXplX29wdGlvbnMoc2VsZikKICAgICAgICAgc2VsZi53YXJuX2Rpcj0wCiAKKyAgICAjIEN1c3RvbWl6ZSBzdWJjb21tYW5kcyB0byBub3QgaW5zdGFsbCBhbiBlZ2ctaW5mbyBmaWxlIGZvciBQeXRob24KKyAgICBzdWJfY29tbWFuZHMgPSBbKCdpbnN0YWxsX2xpYicsIGluc3RhbGwuaGFzX2xpYiksCisgICAgICAgICAgICAgICAgICAgICgnaW5zdGFsbF9oZWFkZXJzJywgaW5zdGFsbC5oYXNfaGVhZGVycyksCisgICAgICAgICAgICAgICAgICAgICgnaW5zdGFsbF9zY3JpcHRzJywgaW5zdGFsbC5oYXNfc2NyaXB0cyksCisgICAgICAgICAgICAgICAgICAgICgnaW5zdGFsbF9kYXRhJywgaW5zdGFsbC5oYXNfZGF0YSldCisKKwogY2xhc3MgUHlCdWlsZEluc3RhbGxMaWIoaW5zdGFsbF9saWIpOgogICAgICMgRG8gZXhhY3RseSB3aGF0IGluc3RhbGxfbGliIGRvZXMgYnV0IG1ha2Ugc3VyZSBjb3JyZWN0IGFjY2VzcyBtb2RlcyBnZXQKICAgICAjIHNldCBvbiBpbnN0YWxsZWQgZGlyZWN0b3JpZXMgYW5kIGZpbGVzLiBBbGwgaW5zdGFsbGVkIGZpbGVzIHdpdGggZ2V0CkBAIC0xODkyLDcgKzE5MjAsNyBAQAogICAgICAgICAgICMgY2hlY2sgdGhlIFB5QnVpbGRTY3JpcHRzIGNvbW1hbmQgYWJvdmUsIGFuZCBjaGFuZ2UgdGhlIGxpbmtzCiAgICAgICAgICAgIyBjcmVhdGVkIGJ5IHRoZSBiaW5pbnN0YWxsIHRhcmdldCBpbiBNYWtlZmlsZS5wcmUuaW4KICAgICAgICAgICBzY3JpcHRzID0gWyJUb29scy9zY3JpcHRzL3B5ZG9jMyIsICJUb29scy9zY3JpcHRzL2lkbGUzIiwKLSAgICAgICAgICAgICAgICAgICAgICJUb29scy9zY3JpcHRzLzJ0bzMiXQorICAgICAgICAgICAgICAgICAgICAgIlRvb2xzL3NjcmlwdHMvMnRvMyIsICJUb29scy9zY3JpcHRzL3B5c2V0dXAzIl0KICAgICAgICAgKQogCiAjIC0taW5zdGFsbC1wbGF0bGliCg==